From b08f0dd94910fa61208557324a89772e21008626 Mon Sep 17 00:00:00 2001 From: Ryan Brandenburg Date: Mon, 16 Apr 2018 17:01:50 -0700 Subject: [PATCH 001/221] Update version number to 2.2.0 --- version.props | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/version.props b/version.props index 24f2b00a0a..44985cedb3 100644 --- a/version.props +++ b/version.props @@ -1,7 +1,7 @@ - 2.1.0 - preview3 + 2.2.0 + preview1 $(VersionPrefix) $(VersionPrefix)-$(VersionSuffix)-final t000 From 29a3a109c602d032b9da8ca0230f6b68a5befe6c Mon Sep 17 00:00:00 2001 From: "ASP.NET CI" Date: Mon, 23 Apr 2018 12:23:43 -0700 Subject: [PATCH 002/221] Update dependencies.props [auto-updated: dependencies] --- build/dependencies.props | 44 ++++++++++++++++++++-------------------- korebuild-lock.txt | 4 ++-- 2 files changed, 24 insertions(+), 24 deletions(-) diff --git a/build/dependencies.props b/build/dependencies.props index adf9e37814..0539652b00 100644 --- a/build/dependencies.props +++ b/build/dependencies.props @@ -4,29 +4,29 @@ 0.10.13 - 2.1.0-rc1-15774 - 2.1.0-rc1-30613 - 2.1.0-rc1-30613 - 2.1.0-rc1-30613 - 2.1.0-rc1-30613 - 2.1.0-rc1-30613 - 2.1.0-rc1-30613 - 2.1.0-rc1-30613 - 2.1.0-rc1-30613 - 2.1.0-rc1-30613 - 2.1.0-rc1-30613 - 2.1.0-rc1-30613 - 2.1.0-rc1-30613 - 2.1.0-rc1-30613 - 2.1.0-rc1-30613 - 2.1.0-rc1-30613 - 2.1.0-rc1-30613 - 2.1.0-rc1-30613 - 2.1.0-rc1-30613 - 2.1.0-rc1-30613 - 2.1.0-rc1-30613 + 2.2.0-preview1-17037 + 2.2.0-preview1-34029 + 2.2.0-preview1-34029 + 2.2.0-preview1-34029 + 2.2.0-preview1-34029 + 2.2.0-preview1-34029 + 2.2.0-preview1-34029 + 2.2.0-preview1-34029 + 2.2.0-preview1-34029 + 2.2.0-preview1-34029 + 2.2.0-preview1-34029 + 2.2.0-preview1-34029 + 2.2.0-preview1-34029 + 2.2.0-preview1-34029 + 2.2.0-preview1-34029 + 2.2.0-preview1-34029 + 2.2.0-preview1-34029 + 2.2.0-preview1-34029 + 2.2.0-preview1-34029 + 2.2.0-preview1-34029 + 2.2.0-preview1-34029 2.0.0 - 2.1.0-rc1-26419-02 + 2.1.0-preview3-26413-05 15.6.1 4.7.49 2.0.1 diff --git a/korebuild-lock.txt b/korebuild-lock.txt index b419d767b9..f27a67b442 100644 --- a/korebuild-lock.txt +++ b/korebuild-lock.txt @@ -1,2 +1,2 @@ -version:2.1.0-preview3-17018 -commithash:af264ca131f212b5ba8aafbc5110fc0fc510a2be +version:2.2.0-preview1-17037 +commithash:557055a86cbdc359c97d4fb1c2d23a3dc7ae731e From 04162f8b780f941d5f75d933ba30a8f06f873b12 Mon Sep 17 00:00:00 2001 From: "ASP.NET CI" Date: Sun, 29 Apr 2018 12:30:07 -0700 Subject: [PATCH 003/221] Update dependencies.props [auto-updated: dependencies] --- build/dependencies.props | 46 ++++++++++++++++++++-------------------- korebuild-lock.txt | 4 ++-- 2 files changed, 25 insertions(+), 25 deletions(-) diff --git a/build/dependencies.props b/build/dependencies.props index 0539652b00..59661dd2f6 100644 --- a/build/dependencies.props +++ b/build/dependencies.props @@ -4,32 +4,32 @@ 0.10.13 - 2.2.0-preview1-17037 - 2.2.0-preview1-34029 - 2.2.0-preview1-34029 - 2.2.0-preview1-34029 - 2.2.0-preview1-34029 - 2.2.0-preview1-34029 - 2.2.0-preview1-34029 - 2.2.0-preview1-34029 - 2.2.0-preview1-34029 - 2.2.0-preview1-34029 - 2.2.0-preview1-34029 - 2.2.0-preview1-34029 - 2.2.0-preview1-34029 - 2.2.0-preview1-34029 - 2.2.0-preview1-34029 - 2.2.0-preview1-34029 - 2.2.0-preview1-34029 - 2.2.0-preview1-34029 - 2.2.0-preview1-34029 - 2.2.0-preview1-34029 - 2.2.0-preview1-34029 + 2.2.0-preview1-17042 + 2.2.0-preview1-34066 + 2.2.0-preview1-34066 + 2.2.0-preview1-34066 + 2.2.0-preview1-34066 + 2.2.0-preview1-34066 + 2.2.0-preview1-34066 + 2.2.0-preview1-34066 + 2.2.0-preview1-34066 + 2.2.0-preview1-34066 + 2.2.0-preview1-34066 + 2.2.0-preview1-34066 + 2.2.0-preview1-34066 + 2.2.0-preview1-34066 + 2.2.0-preview1-34066 + 2.2.0-preview1-34066 + 2.2.0-preview1-34066 + 2.2.0-preview1-34066 + 2.2.0-preview1-34066 + 2.2.0-preview1-34066 + 2.2.0-preview1-34066 2.0.0 - 2.1.0-preview3-26413-05 + 2.2.0-preview1-26424-04 15.6.1 4.7.49 - 2.0.1 + 2.0.3 0.8.0 2.3.1 2.4.0-beta.1.build3945 diff --git a/korebuild-lock.txt b/korebuild-lock.txt index f27a67b442..335e579e06 100644 --- a/korebuild-lock.txt +++ b/korebuild-lock.txt @@ -1,2 +1,2 @@ -version:2.2.0-preview1-17037 -commithash:557055a86cbdc359c97d4fb1c2d23a3dc7ae731e +version:2.2.0-preview1-17042 +commithash:edf0705d014293c260de763543784330514db9a3 From e6e641fbb2dc6af682ca210dc379ae96c7cafd30 Mon Sep 17 00:00:00 2001 From: "ASP.NET CI" Date: Sun, 6 May 2018 12:29:19 -0700 Subject: [PATCH 004/221] Update dependencies.props [auto-updated: dependencies] --- build/dependencies.props | 42 ++++++++++++++++++++-------------------- korebuild-lock.txt | 4 ++-- 2 files changed, 23 insertions(+), 23 deletions(-) diff --git a/build/dependencies.props b/build/dependencies.props index 59661dd2f6..839c639362 100644 --- a/build/dependencies.props +++ b/build/dependencies.props @@ -4,27 +4,27 @@ 0.10.13 - 2.2.0-preview1-17042 - 2.2.0-preview1-34066 - 2.2.0-preview1-34066 - 2.2.0-preview1-34066 - 2.2.0-preview1-34066 - 2.2.0-preview1-34066 - 2.2.0-preview1-34066 - 2.2.0-preview1-34066 - 2.2.0-preview1-34066 - 2.2.0-preview1-34066 - 2.2.0-preview1-34066 - 2.2.0-preview1-34066 - 2.2.0-preview1-34066 - 2.2.0-preview1-34066 - 2.2.0-preview1-34066 - 2.2.0-preview1-34066 - 2.2.0-preview1-34066 - 2.2.0-preview1-34066 - 2.2.0-preview1-34066 - 2.2.0-preview1-34066 - 2.2.0-preview1-34066 + 2.2.0-preview1-17047 + 2.2.0-preview1-34135 + 2.2.0-preview1-34135 + 2.2.0-preview1-34135 + 2.2.0-preview1-34135 + 2.2.0-preview1-34135 + 2.2.0-preview1-34135 + 2.2.0-preview1-34135 + 2.2.0-preview1-34135 + 2.2.0-preview1-34135 + 2.2.0-preview1-34135 + 2.2.0-preview1-34135 + 2.2.0-preview1-34135 + 2.2.0-preview1-34135 + 2.2.0-preview1-34135 + 2.2.0-preview1-34135 + 2.2.0-preview1-34135 + 2.2.0-preview1-34135 + 2.2.0-preview1-34135 + 2.2.0-preview1-34135 + 2.2.0-preview1-34135 2.0.0 2.2.0-preview1-26424-04 15.6.1 diff --git a/korebuild-lock.txt b/korebuild-lock.txt index 335e579e06..a16d4b9ee4 100644 --- a/korebuild-lock.txt +++ b/korebuild-lock.txt @@ -1,2 +1,2 @@ -version:2.2.0-preview1-17042 -commithash:edf0705d014293c260de763543784330514db9a3 +version:2.2.0-preview1-17047 +commithash:e1957b52ddc8b62bd39c5c400322fccb5364624c From 62c0d6a16a1314ae37660866390d34428c57fc0e Mon Sep 17 00:00:00 2001 From: Ryan Brandenburg Date: Mon, 7 May 2018 15:15:17 -0700 Subject: [PATCH 005/221] Upgrade to netcoreapp22 --- Directory.Build.targets | 5 ++- build/dependencies.props | 45 ++++++++++--------- build/repo.props | 3 +- korebuild-lock.txt | 4 +- .../RoutingSample.Web.csproj | 4 +- test/Directory.Build.props | 6 +-- 6 files changed, 36 insertions(+), 31 deletions(-) diff --git a/Directory.Build.targets b/Directory.Build.targets index 53b3f6e1da..78626b773e 100644 --- a/Directory.Build.targets +++ b/Directory.Build.targets @@ -1,7 +1,10 @@ - + $(MicrosoftNETCoreApp20PackageVersion) $(MicrosoftNETCoreApp21PackageVersion) + $(MicrosoftNETCoreApp22PackageVersion) $(NETStandardLibrary20PackageVersion) + + 99.9 diff --git a/build/dependencies.props b/build/dependencies.props index 839c639362..338549b997 100644 --- a/build/dependencies.props +++ b/build/dependencies.props @@ -1,32 +1,33 @@ - + $(MSBuildAllProjects);$(MSBuildThisFileFullPath) 0.10.13 - 2.2.0-preview1-17047 - 2.2.0-preview1-34135 - 2.2.0-preview1-34135 - 2.2.0-preview1-34135 - 2.2.0-preview1-34135 - 2.2.0-preview1-34135 - 2.2.0-preview1-34135 - 2.2.0-preview1-34135 - 2.2.0-preview1-34135 - 2.2.0-preview1-34135 - 2.2.0-preview1-34135 - 2.2.0-preview1-34135 - 2.2.0-preview1-34135 - 2.2.0-preview1-34135 - 2.2.0-preview1-34135 - 2.2.0-preview1-34135 - 2.2.0-preview1-34135 - 2.2.0-preview1-34135 - 2.2.0-preview1-34135 - 2.2.0-preview1-34135 - 2.2.0-preview1-34135 + 2.2.0-preview1-17048 + 2.2.0-preview1-34140 + 2.2.0-preview1-34140 + 2.2.0-preview1-34140 + 2.2.0-preview1-34140 + 2.2.0-preview1-34140 + 2.2.0-preview1-34140 + 2.2.0-preview1-34140 + 2.2.0-preview1-34140 + 2.2.0-preview1-34140 + 2.2.0-preview1-34140 + 2.2.0-preview1-34140 + 2.2.0-preview1-34140 + 2.2.0-preview1-34140 + 2.2.0-preview1-34140 + 2.2.0-preview1-34140 + 2.2.0-preview1-34140 + 2.2.0-preview1-34140 + 2.2.0-preview1-34140 + 2.2.0-preview1-34140 + 2.2.0-preview1-34140 2.0.0 2.2.0-preview1-26424-04 + 2.2.0-preview1-26502-01 15.6.1 4.7.49 2.0.3 diff --git a/build/repo.props b/build/repo.props index 78b0ce5879..17a98ac7e7 100644 --- a/build/repo.props +++ b/build/repo.props @@ -1,4 +1,4 @@ - + @@ -10,5 +10,6 @@ + diff --git a/korebuild-lock.txt b/korebuild-lock.txt index a16d4b9ee4..2573a03995 100644 --- a/korebuild-lock.txt +++ b/korebuild-lock.txt @@ -1,2 +1,2 @@ -version:2.2.0-preview1-17047 -commithash:e1957b52ddc8b62bd39c5c400322fccb5364624c +version:2.2.0-preview1-17048 +commithash:de14a0ee5fb48508ee8a29c14280a2928f8dabf8 diff --git a/samples/RoutingSample.Web/RoutingSample.Web.csproj b/samples/RoutingSample.Web/RoutingSample.Web.csproj index 9c3e55c557..52b1699c7b 100644 --- a/samples/RoutingSample.Web/RoutingSample.Web.csproj +++ b/samples/RoutingSample.Web/RoutingSample.Web.csproj @@ -1,7 +1,7 @@ - + - netcoreapp2.1;netcoreapp2.0 + netcoreapp2.2 $(TargetFrameworks);net461 diff --git a/test/Directory.Build.props b/test/Directory.Build.props index 02caa062ac..3501751182 100644 --- a/test/Directory.Build.props +++ b/test/Directory.Build.props @@ -1,10 +1,10 @@ - + - netcoreapp2.1 + netcoreapp2.2 $(DeveloperBuildTestTfms) - $(StandardTestTfms);netcoreapp2.0 + $(StandardTestTfms) $(StandardTestTfms);net461 From 742865aa37960ba66787949648f9027e66778833 Mon Sep 17 00:00:00 2001 From: "ASP.NET CI" Date: Sun, 13 May 2018 14:21:49 -0700 Subject: [PATCH 006/221] Update dependencies.props [auto-updated: dependencies] --- build/dependencies.props | 48 ++++++++++++++++++++-------------------- korebuild-lock.txt | 4 ++-- 2 files changed, 26 insertions(+), 26 deletions(-) diff --git a/build/dependencies.props b/build/dependencies.props index 338549b997..228520f909 100644 --- a/build/dependencies.props +++ b/build/dependencies.props @@ -1,33 +1,33 @@ - + $(MSBuildAllProjects);$(MSBuildThisFileFullPath) 0.10.13 - 2.2.0-preview1-17048 - 2.2.0-preview1-34140 - 2.2.0-preview1-34140 - 2.2.0-preview1-34140 - 2.2.0-preview1-34140 - 2.2.0-preview1-34140 - 2.2.0-preview1-34140 - 2.2.0-preview1-34140 - 2.2.0-preview1-34140 - 2.2.0-preview1-34140 - 2.2.0-preview1-34140 - 2.2.0-preview1-34140 - 2.2.0-preview1-34140 - 2.2.0-preview1-34140 - 2.2.0-preview1-34140 - 2.2.0-preview1-34140 - 2.2.0-preview1-34140 - 2.2.0-preview1-34140 - 2.2.0-preview1-34140 - 2.2.0-preview1-34140 - 2.2.0-preview1-34140 + 2.2.0-preview1-17051 + 2.2.0-preview1-34184 + 2.2.0-preview1-34184 + 2.2.0-preview1-34184 + 2.2.0-preview1-34184 + 2.2.0-preview1-34184 + 2.2.0-preview1-34184 + 2.2.0-preview1-34184 + 2.2.0-preview1-34184 + 2.2.0-preview1-34184 + 2.2.0-preview1-34184 + 2.2.0-preview1-34184 + 2.2.0-preview1-34184 + 2.2.0-preview1-34184 + 2.2.0-preview1-34184 + 2.2.0-preview1-34184 + 2.2.0-preview1-34184 + 2.2.0-preview1-34184 + 2.2.0-preview1-34184 + 2.2.0-preview1-34184 + 2.2.0-preview1-34184 2.0.0 - 2.2.0-preview1-26424-04 - 2.2.0-preview1-26502-01 + 2.1.0-rc1 + 2.2.0-preview1-26509-06 15.6.1 4.7.49 2.0.3 diff --git a/korebuild-lock.txt b/korebuild-lock.txt index 2573a03995..89629b454c 100644 --- a/korebuild-lock.txt +++ b/korebuild-lock.txt @@ -1,2 +1,2 @@ -version:2.2.0-preview1-17048 -commithash:de14a0ee5fb48508ee8a29c14280a2928f8dabf8 +version:2.2.0-preview1-17051 +commithash:253c3a480063bc3abaa5cde42f6e27b58457ef9b From c81b6892dc5e8d56b37ad6c00e47eb01e339f568 Mon Sep 17 00:00:00 2001 From: "ASP.NET CI" Date: Sun, 20 May 2018 19:45:10 +0000 Subject: [PATCH 007/221] Update dependencies.props [auto-updated: dependencies] --- build/dependencies.props | 42 ++++++++++++++++++++-------------------- korebuild-lock.txt | 4 ++-- 2 files changed, 23 insertions(+), 23 deletions(-) diff --git a/build/dependencies.props b/build/dependencies.props index 228520f909..f7e9324ceb 100644 --- a/build/dependencies.props +++ b/build/dependencies.props @@ -4,27 +4,27 @@ 0.10.13 - 2.2.0-preview1-17051 - 2.2.0-preview1-34184 - 2.2.0-preview1-34184 - 2.2.0-preview1-34184 - 2.2.0-preview1-34184 - 2.2.0-preview1-34184 - 2.2.0-preview1-34184 - 2.2.0-preview1-34184 - 2.2.0-preview1-34184 - 2.2.0-preview1-34184 - 2.2.0-preview1-34184 - 2.2.0-preview1-34184 - 2.2.0-preview1-34184 - 2.2.0-preview1-34184 - 2.2.0-preview1-34184 - 2.2.0-preview1-34184 - 2.2.0-preview1-34184 - 2.2.0-preview1-34184 - 2.2.0-preview1-34184 - 2.2.0-preview1-34184 - 2.2.0-preview1-34184 + 2.2.0-preview1-17060 + 2.2.0-preview1-34255 + 2.2.0-preview1-34255 + 2.2.0-preview1-34255 + 2.2.0-preview1-34255 + 2.2.0-preview1-34255 + 2.2.0-preview1-34255 + 2.2.0-preview1-34255 + 2.2.0-preview1-34255 + 2.2.0-preview1-34255 + 2.2.0-preview1-34255 + 2.2.0-preview1-34255 + 2.2.0-preview1-34255 + 2.2.0-preview1-34255 + 2.2.0-preview1-34255 + 2.2.0-preview1-34255 + 2.2.0-preview1-34255 + 2.2.0-preview1-34255 + 2.2.0-preview1-34255 + 2.2.0-preview1-34255 + 2.2.0-preview1-34255 2.0.0 2.1.0-rc1 2.2.0-preview1-26509-06 diff --git a/korebuild-lock.txt b/korebuild-lock.txt index 89629b454c..cf2fff7def 100644 --- a/korebuild-lock.txt +++ b/korebuild-lock.txt @@ -1,2 +1,2 @@ -version:2.2.0-preview1-17051 -commithash:253c3a480063bc3abaa5cde42f6e27b58457ef9b +version:2.2.0-preview1-17060 +commithash:25b4b134d6f8f7b461928f0d495cfc695ccabb5b From 5682fd056f469a1e80132abbb6127c7cc22eb29a Mon Sep 17 00:00:00 2001 From: "Nate McMaster (automated)" Date: Fri, 25 May 2018 16:17:02 -0700 Subject: [PATCH 008/221] Update bootstrapper scripts (automated commit) [ci skip] --- run.ps1 | 25 +++++++++++++++++++------ run.sh | 33 +++++++++++++++++++++++++++++---- 2 files changed, 48 insertions(+), 10 deletions(-) diff --git a/run.ps1 b/run.ps1 index 27dcf848f8..3b27382468 100644 --- a/run.ps1 +++ b/run.ps1 @@ -26,12 +26,18 @@ The base url where build tools can be downloaded. Overrides the value from the c .PARAMETER Update Updates KoreBuild to the latest version even if a lock file is present. +.PARAMETER Reinstall +Re-installs KoreBuild + .PARAMETER ConfigFile The path to the configuration file that stores values. Defaults to korebuild.json. .PARAMETER ToolsSourceSuffix The Suffix to append to the end of the ToolsSource. Useful for query strings in blob stores. +.PARAMETER CI +Sets up CI specific settings and variables. + .PARAMETER Arguments Arguments to be passed to the command @@ -65,8 +71,10 @@ param( [string]$ToolsSource, [Alias('u')] [switch]$Update, - [string]$ConfigFile, + [switch]$Reinstall, [string]$ToolsSourceSuffix, + [string]$ConfigFile = $null, + [switch]$CI, [Parameter(ValueFromRemainingArguments = $true)] [string[]]$Arguments ) @@ -93,6 +101,10 @@ function Get-KoreBuild { $version = $version.TrimStart('version:').Trim() $korebuildPath = Join-Paths $DotNetHome ('buildtools', 'korebuild', $version) + if ($Reinstall -and (Test-Path $korebuildPath)) { + Remove-Item -Force -Recurse $korebuildPath + } + if (!(Test-Path $korebuildPath)) { Write-Host -ForegroundColor Magenta "Downloading KoreBuild $version" New-Item -ItemType Directory -Path $korebuildPath | Out-Null @@ -101,9 +113,9 @@ function Get-KoreBuild { try { $tmpfile = Join-Path ([IO.Path]::GetTempPath()) "KoreBuild-$([guid]::NewGuid()).zip" Get-RemoteFile $remotePath $tmpfile $ToolsSourceSuffix - if (Get-Command -Name 'Expand-Archive' -ErrorAction Ignore) { + if (Get-Command -Name 'Microsoft.PowerShell.Archive\Expand-Archive' -ErrorAction Ignore) { # Use built-in commands where possible as they are cross-plat compatible - Expand-Archive -Path $tmpfile -DestinationPath $korebuildPath + Microsoft.PowerShell.Archive\Expand-Archive -Path $tmpfile -DestinationPath $korebuildPath } else { # Fallback to old approach for old installations of PowerShell @@ -167,8 +179,9 @@ if (Test-Path $ConfigFile) { } } catch { - Write-Warning "$ConfigFile could not be read. Its settings will be ignored." - Write-Warning $Error[0] + Write-Host -ForegroundColor Red $Error[0] + Write-Error "$ConfigFile contains invalid JSON." + exit 1 } } @@ -188,7 +201,7 @@ $korebuildPath = Get-KoreBuild Import-Module -Force -Scope Local (Join-Path $korebuildPath 'KoreBuild.psd1') try { - Set-KoreBuildSettings -ToolsSource $ToolsSource -DotNetHome $DotNetHome -RepoPath $Path -ConfigFile $ConfigFile + Set-KoreBuildSettings -ToolsSource $ToolsSource -DotNetHome $DotNetHome -RepoPath $Path -ConfigFile $ConfigFile -CI:$CI Invoke-KoreBuildCommand $Command @Arguments } finally { diff --git a/run.sh b/run.sh index 834961fc3a..02aac15874 100755 --- a/run.sh +++ b/run.sh @@ -14,10 +14,12 @@ DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )" [ -z "${DOTNET_HOME:-}" ] && DOTNET_HOME="$HOME/.dotnet" verbose=false update=false +reinstall=false repo_path="$DIR" channel='' tools_source='' tools_source_suffix='' +ci=false # # Functions @@ -38,6 +40,8 @@ __usage() { echo " -s|--tools-source|-ToolsSource The base url where build tools can be downloaded. Overrides the value from the config file." echo " --tools-source-suffix|-ToolsSourceSuffix The suffix to append to tools-source. Useful for query strings." echo " -u|--update Update to the latest KoreBuild even if the lock file is present." + echo " --reinstall Reinstall KoreBuild." + echo " --ci Apply CI specific settings and environment variables." echo "" echo "Description:" echo " This function will create a file \$DIR/korebuild-lock.txt. This lock file can be committed to source, but does not have to be." @@ -62,6 +66,10 @@ get_korebuild() { version="$(echo "${version#version:}" | sed -e 's/^[[:space:]]*//' -e 's/[[:space:]]*$//')" local korebuild_path="$DOTNET_HOME/buildtools/korebuild/$version" + if [ "$reinstall" = true ] && [ -d "$korebuild_path" ]; then + rm -rf "$korebuild_path" + fi + { if [ ! -d "$korebuild_path" ]; then mkdir -p "$korebuild_path" @@ -175,6 +183,12 @@ while [[ $# -gt 0 ]]; do -u|--update|-Update) update=true ;; + --reinstall|-[Rr]einstall) + reinstall=true + ;; + --ci|-[Cc][Ii]) + ci=true + ;; --verbose|-Verbose) verbose=true ;; @@ -206,17 +220,28 @@ if [ -f "$config_file" ]; then config_channel="$(jq -r 'select(.channel!=null) | .channel' "$config_file")" config_tools_source="$(jq -r 'select(.toolsSource!=null) | .toolsSource' "$config_file")" else - __warn "$config_file is invalid JSON. Its settings will be ignored." + _error "$config_file contains invalid JSON." + exit 1 fi elif __machine_has python ; then if python -c "import json,codecs;obj=json.load(codecs.open('$config_file', 'r', 'utf-8-sig'))" >/dev/null ; then config_channel="$(python -c "import json,codecs;obj=json.load(codecs.open('$config_file', 'r', 'utf-8-sig'));print(obj['channel'] if 'channel' in obj else '')")" config_tools_source="$(python -c "import json,codecs;obj=json.load(codecs.open('$config_file', 'r', 'utf-8-sig'));print(obj['toolsSource'] if 'toolsSource' in obj else '')")" else - __warn "$config_file is invalid JSON. Its settings will be ignored." + _error "$config_file contains invalid JSON." + exit 1 + fi + elif __machine_has python3 ; then + if python3 -c "import json,codecs;obj=json.load(codecs.open('$config_file', 'r', 'utf-8-sig'))" >/dev/null ; then + config_channel="$(python3 -c "import json,codecs;obj=json.load(codecs.open('$config_file', 'r', 'utf-8-sig'));print(obj['channel'] if 'channel' in obj else '')")" + config_tools_source="$(python3 -c "import json,codecs;obj=json.load(codecs.open('$config_file', 'r', 'utf-8-sig'));print(obj['toolsSource'] if 'toolsSource' in obj else '')")" + else + _error "$config_file contains invalid JSON." + exit 1 fi else - __warn 'Missing required command: jq or pyton. Could not parse the JSON file. Its settings will be ignored.' + _error 'Missing required command: jq or python. Could not parse the JSON file.' + exit 1 fi [ ! -z "${config_channel:-}" ] && channel="$config_channel" @@ -227,5 +252,5 @@ fi [ -z "$tools_source" ] && tools_source='https://aspnetcore.blob.core.windows.net/buildtools' get_korebuild -set_korebuildsettings "$tools_source" "$DOTNET_HOME" "$repo_path" "$config_file" +set_korebuildsettings "$tools_source" "$DOTNET_HOME" "$repo_path" "$config_file" "$ci" invoke_korebuild_command "$command" "$@" From d957e34894d2c3de3ba907fe6a6545b24909f443 Mon Sep 17 00:00:00 2001 From: "ASP.NET CI" Date: Sun, 27 May 2018 19:27:55 +0000 Subject: [PATCH 009/221] Update dependencies.props [auto-updated: dependencies] --- build/dependencies.props | 44 ++++++++++++++++++++-------------------- korebuild-lock.txt | 4 ++-- 2 files changed, 24 insertions(+), 24 deletions(-) diff --git a/build/dependencies.props b/build/dependencies.props index f7e9324ceb..85f806f47e 100644 --- a/build/dependencies.props +++ b/build/dependencies.props @@ -4,30 +4,30 @@ 0.10.13 - 2.2.0-preview1-17060 - 2.2.0-preview1-34255 - 2.2.0-preview1-34255 - 2.2.0-preview1-34255 - 2.2.0-preview1-34255 - 2.2.0-preview1-34255 - 2.2.0-preview1-34255 - 2.2.0-preview1-34255 - 2.2.0-preview1-34255 - 2.2.0-preview1-34255 - 2.2.0-preview1-34255 - 2.2.0-preview1-34255 - 2.2.0-preview1-34255 - 2.2.0-preview1-34255 - 2.2.0-preview1-34255 - 2.2.0-preview1-34255 - 2.2.0-preview1-34255 - 2.2.0-preview1-34255 - 2.2.0-preview1-34255 - 2.2.0-preview1-34255 - 2.2.0-preview1-34255 + 2.2.0-preview1-17064 + 2.2.0-preview1-34326 + 2.2.0-preview1-34326 + 2.2.0-preview1-34326 + 2.2.0-preview1-34326 + 2.2.0-preview1-34326 + 2.2.0-preview1-34326 + 2.2.0-preview1-34326 + 2.2.0-preview1-34326 + 2.2.0-preview1-34326 + 2.2.0-preview1-34326 + 2.2.0-preview1-34326 + 2.2.0-preview1-34326 + 2.2.0-preview1-34326 + 2.2.0-preview1-34326 + 2.2.0-preview1-34326 + 2.2.0-preview1-34326 + 2.2.0-preview1-34326 + 2.2.0-preview1-34326 + 2.2.0-preview1-34326 + 2.2.0-preview1-34326 2.0.0 2.1.0-rc1 - 2.2.0-preview1-26509-06 + 2.2.0-preview1-26526-03 15.6.1 4.7.49 2.0.3 diff --git a/korebuild-lock.txt b/korebuild-lock.txt index cf2fff7def..3028b66761 100644 --- a/korebuild-lock.txt +++ b/korebuild-lock.txt @@ -1,2 +1,2 @@ -version:2.2.0-preview1-17060 -commithash:25b4b134d6f8f7b461928f0d495cfc695ccabb5b +version:2.2.0-preview1-17064 +commithash:5380a2461b135b261646f31d1c919ab0a7b577a8 From 60f63cf9fb7e64b20899d22cd7e86d73a29a5133 Mon Sep 17 00:00:00 2001 From: Kiran Challa Date: Wed, 30 May 2018 17:01:28 -0700 Subject: [PATCH 010/221] Added a sample app for benchmarks --- .gitignore | 1 + Routing.sln | 17 ++++++ benchmarkapps/Benchmarks/Benchmarks.csproj | 19 +++++++ benchmarkapps/Benchmarks/Program.cs | 30 +++++++++++ benchmarkapps/Benchmarks/Startup.cs | 36 +++++++++++++ benchmarkapps/Benchmarks/benchmarks.json | 19 +++++++ build/dependencies.props | 2 + .../BenchmarksTest.cs | 53 +++++++++++++++++++ ....AspNetCore.Routing.FunctionalTests.csproj | 6 ++- 9 files changed, 182 insertions(+), 1 deletion(-) create mode 100644 benchmarkapps/Benchmarks/Benchmarks.csproj create mode 100644 benchmarkapps/Benchmarks/Program.cs create mode 100644 benchmarkapps/Benchmarks/Startup.cs create mode 100644 benchmarkapps/Benchmarks/benchmarks.json create mode 100644 test/Microsoft.AspNetCore.Routing.FunctionalTests/BenchmarksTest.cs diff --git a/.gitignore b/.gitignore index 5f8dfa9f48..d3ebe6b4bc 100644 --- a/.gitignore +++ b/.gitignore @@ -8,6 +8,7 @@ packages/ artifacts/ PublishProfiles/ .vs/ +.vscode/ .build/ .testPublish/ bower_components/ diff --git a/Routing.sln b/Routing.sln index 13657187fa..e1478b7f15 100644 --- a/Routing.sln +++ b/Routing.sln @@ -45,6 +45,10 @@ Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Microsoft.AspNetCore.Routin EndProject Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "benchmarks", "benchmarks", "{D5F39F59-5725-4127-82E7-67028D006185}" EndProject +Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "benchmarkapps", "benchmarkapps", "{7F5914E2-C63F-4759-898E-462804357C90}" +EndProject +Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Benchmarks", "benchmarkapps\Benchmarks\Benchmarks.csproj", "{91F47A60-9A78-4968-B10D-157D9BFAC37F}" +EndProject Global GlobalSection(SolutionConfigurationPlatforms) = preSolution Debug|Any CPU = Debug|Any CPU @@ -145,6 +149,18 @@ Global {F3D86714-4E64-41A6-9B36-A47B3683CF5D}.Release|Mixed Platforms.Build.0 = Release|Any CPU {F3D86714-4E64-41A6-9B36-A47B3683CF5D}.Release|x86.ActiveCfg = Release|Any CPU {F3D86714-4E64-41A6-9B36-A47B3683CF5D}.Release|x86.Build.0 = Release|Any CPU + {91F47A60-9A78-4968-B10D-157D9BFAC37F}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {91F47A60-9A78-4968-B10D-157D9BFAC37F}.Debug|Any CPU.Build.0 = Debug|Any CPU + {91F47A60-9A78-4968-B10D-157D9BFAC37F}.Debug|Mixed Platforms.ActiveCfg = Debug|Any CPU + {91F47A60-9A78-4968-B10D-157D9BFAC37F}.Debug|Mixed Platforms.Build.0 = Debug|Any CPU + {91F47A60-9A78-4968-B10D-157D9BFAC37F}.Debug|x86.ActiveCfg = Debug|Any CPU + {91F47A60-9A78-4968-B10D-157D9BFAC37F}.Debug|x86.Build.0 = Debug|Any CPU + {91F47A60-9A78-4968-B10D-157D9BFAC37F}.Release|Any CPU.ActiveCfg = Release|Any CPU + {91F47A60-9A78-4968-B10D-157D9BFAC37F}.Release|Any CPU.Build.0 = Release|Any CPU + {91F47A60-9A78-4968-B10D-157D9BFAC37F}.Release|Mixed Platforms.ActiveCfg = Release|Any CPU + {91F47A60-9A78-4968-B10D-157D9BFAC37F}.Release|Mixed Platforms.Build.0 = Release|Any CPU + {91F47A60-9A78-4968-B10D-157D9BFAC37F}.Release|x86.ActiveCfg = Release|Any CPU + {91F47A60-9A78-4968-B10D-157D9BFAC37F}.Release|x86.Build.0 = Release|Any CPU EndGlobalSection GlobalSection(SolutionProperties) = preSolution HideSolutionNode = FALSE @@ -158,6 +174,7 @@ Global {741B0B05-CE96-473B-B962-6B0A347DF79A} = {95359B4B-4C85-4B44-A75B-0621905C4CF6} {5C73140B-41F3-466F-A07B-3614E4D80DF9} = {95359B4B-4C85-4B44-A75B-0621905C4CF6} {F3D86714-4E64-41A6-9B36-A47B3683CF5D} = {D5F39F59-5725-4127-82E7-67028D006185} + {91F47A60-9A78-4968-B10D-157D9BFAC37F} = {7F5914E2-C63F-4759-898E-462804357C90} EndGlobalSection GlobalSection(ExtensibilityGlobals) = postSolution SolutionGuid = {36C8D815-B7F1-479D-894B-E606FB8DECDA} diff --git a/benchmarkapps/Benchmarks/Benchmarks.csproj b/benchmarkapps/Benchmarks/Benchmarks.csproj new file mode 100644 index 0000000000..3a791502b2 --- /dev/null +++ b/benchmarkapps/Benchmarks/Benchmarks.csproj @@ -0,0 +1,19 @@ + + + + netcoreapp2.2 + $(BenchmarksTargetFramework) + + + + + + + + + + + + + + diff --git a/benchmarkapps/Benchmarks/Program.cs b/benchmarkapps/Benchmarks/Program.cs new file mode 100644 index 0000000000..5545205d13 --- /dev/null +++ b/benchmarkapps/Benchmarks/Program.cs @@ -0,0 +1,30 @@ +// Copyright (c) .NET Foundation. All rights reserved. +// Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information. + +using Microsoft.AspNetCore.Hosting; +using Microsoft.Extensions.Configuration; + +namespace Benchmarks +{ + public class Program + { + public static void Main(string[] args) + { + GetWebHostBuilder(args).Build().Run(); + } + + public static IWebHostBuilder GetWebHostBuilder(string[] args) + { + var config = new ConfigurationBuilder() + .Build(); + + // Consoler logger has a major impact on perf results, so do not use + // default builder. + + return new WebHostBuilder() + .UseConfiguration(config) + .UseKestrel() + .UseStartup(); + } + } +} diff --git a/benchmarkapps/Benchmarks/Startup.cs b/benchmarkapps/Benchmarks/Startup.cs new file mode 100644 index 0000000000..e8c51cbaeb --- /dev/null +++ b/benchmarkapps/Benchmarks/Startup.cs @@ -0,0 +1,36 @@ +// Copyright (c) .NET Foundation. All rights reserved. +// Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information. + +using Microsoft.AspNetCore.Builder; +using Microsoft.AspNetCore.Routing; +using Microsoft.Extensions.DependencyInjection; +using System.Text; + +namespace Benchmarks +{ + public class Startup + { + private static readonly byte[] _helloWorldPayload = Encoding.UTF8.GetBytes("Hello, World!"); + + public void ConfigureServices(IServiceCollection services) + { + services.AddRouting(); + } + + public void Configure(IApplicationBuilder app) + { + app.UseRouter(routes => + { + routes.MapRoute("/plaintext", (httpContext) => + { + var response = httpContext.Response; + var payloadLength = _helloWorldPayload.Length; + response.StatusCode = 200; + response.ContentType = "text/plain"; + response.ContentLength = payloadLength; + return response.Body.WriteAsync(_helloWorldPayload, 0, payloadLength); + }); + }); + } + } +} \ No newline at end of file diff --git a/benchmarkapps/Benchmarks/benchmarks.json b/benchmarkapps/Benchmarks/benchmarks.json new file mode 100644 index 0000000000..2ad0282994 --- /dev/null +++ b/benchmarkapps/Benchmarks/benchmarks.json @@ -0,0 +1,19 @@ +{ + "Default": { + "Client": "Wrk", + "PresetHeaders": "Plaintext", + "ClientProperties": { + "ScriptName": "pipeline", + "PipelineDepth": 16 + }, + "Source": { + "Repository": "https://github.com/aspnet/routing.git", + "BranchOrCommit": "dev", + "Project": "benchmarkapps/Benchmarks/Benchmarks.csproj" + }, + "Port": 8080 + }, + "Plaintext": { + "Path": "/plaintext" + } +} diff --git a/build/dependencies.props b/build/dependencies.props index 85f806f47e..2d9d8d4e41 100644 --- a/build/dependencies.props +++ b/build/dependencies.props @@ -5,6 +5,7 @@ 0.10.13 2.2.0-preview1-17064 + 2.2.0-preview1-34326 2.2.0-preview1-34326 2.2.0-preview1-34326 2.2.0-preview1-34326 @@ -14,6 +15,7 @@ 2.2.0-preview1-34326 2.2.0-preview1-34326 2.2.0-preview1-34326 + 2.2.0-preview1-34326 2.2.0-preview1-34326 2.2.0-preview1-34326 2.2.0-preview1-34326 diff --git a/test/Microsoft.AspNetCore.Routing.FunctionalTests/BenchmarksTest.cs b/test/Microsoft.AspNetCore.Routing.FunctionalTests/BenchmarksTest.cs new file mode 100644 index 0000000000..30b8411b9c --- /dev/null +++ b/test/Microsoft.AspNetCore.Routing.FunctionalTests/BenchmarksTest.cs @@ -0,0 +1,53 @@ +// Copyright (c) .NET Foundation. All rights reserved. +// Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information. + +#if NETCOREAPP2_2 +using System; +using System.Net; +using System.Net.Http; +using System.Threading.Tasks; +using Microsoft.AspNetCore.TestHost; +using Xunit; + +namespace Microsoft.AspNetCore.Routing.FunctionalTests +{ + public class BenchmarksTest : IDisposable + { + private readonly HttpClient _client; + private readonly TestServer _testServer; + + public BenchmarksTest() + { + var webHostBuilder = Benchmarks.Program.GetWebHostBuilder(args: null); + _testServer = new TestServer(webHostBuilder); + _client = _testServer.CreateClient(); + _client.BaseAddress = new Uri("http://localhost"); + } + + [Fact] + public async Task RouteHandlerWritesResponse() + { + // Arrange + var expectedContentType = "text/plain"; + var expectedContent = "Hello, World!"; + + // Act + var response = await _client.GetAsync("/plaintext"); + + // Assert + Assert.Equal(HttpStatusCode.OK, response.StatusCode); + Assert.NotNull(response.Content); + Assert.NotNull(response.Content.Headers.ContentType); + Assert.Equal(expectedContentType, response.Content.Headers.ContentType.MediaType); + var actualContent = await response.Content.ReadAsStringAsync(); + Assert.Equal(expectedContent, actualContent); + } + + public void Dispose() + { + _testServer.Dispose(); + _client.Dispose(); + } + } +} +#endif \ No newline at end of file diff --git a/test/Microsoft.AspNetCore.Routing.FunctionalTests/Microsoft.AspNetCore.Routing.FunctionalTests.csproj b/test/Microsoft.AspNetCore.Routing.FunctionalTests/Microsoft.AspNetCore.Routing.FunctionalTests.csproj index ee8a57c08f..9520c32ff5 100644 --- a/test/Microsoft.AspNetCore.Routing.FunctionalTests/Microsoft.AspNetCore.Routing.FunctionalTests.csproj +++ b/test/Microsoft.AspNetCore.Routing.FunctionalTests/Microsoft.AspNetCore.Routing.FunctionalTests.csproj @@ -1,4 +1,4 @@ - + $(StandardTestTfms) @@ -9,6 +9,10 @@ + + + + From 591ce7b1e8cd18edd4de8551a83a7c8496aa942a Mon Sep 17 00:00:00 2001 From: Kiran Challa Date: Thu, 31 May 2018 14:45:51 -0700 Subject: [PATCH 011/221] Fixed scenario name in benchmarks app --- benchmarkapps/Benchmarks/benchmarks.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/benchmarkapps/Benchmarks/benchmarks.json b/benchmarkapps/Benchmarks/benchmarks.json index 2ad0282994..edb513e2dd 100644 --- a/benchmarkapps/Benchmarks/benchmarks.json +++ b/benchmarkapps/Benchmarks/benchmarks.json @@ -13,7 +13,7 @@ }, "Port": 8080 }, - "Plaintext": { + "PlaintextRouting": { "Path": "/plaintext" } } From 72a7c31973586028606c8da764738d761efb123b Mon Sep 17 00:00:00 2001 From: Ryan Nowak Date: Thu, 31 May 2018 17:22:56 -0700 Subject: [PATCH 012/221] Upgrade benchmarks project Upgrades our benchmarks project to use the shared benchmarking infrastructure. --- .../Configs/CoreConfig.cs | 31 ------------------- ...soft.AspNetCore.Routing.Performance.csproj | 4 ++- .../Program.cs | 17 ---------- .../Properties/AssemblyInfo.cs | 1 + .../RoutingBenchmark.cs | 1 - build/dependencies.props | 1 + 6 files changed, 5 insertions(+), 50 deletions(-) delete mode 100644 benchmarks/Microsoft.AspNetCore.Routing.Performance/Configs/CoreConfig.cs delete mode 100644 benchmarks/Microsoft.AspNetCore.Routing.Performance/Program.cs create mode 100644 benchmarks/Microsoft.AspNetCore.Routing.Performance/Properties/AssemblyInfo.cs diff --git a/benchmarks/Microsoft.AspNetCore.Routing.Performance/Configs/CoreConfig.cs b/benchmarks/Microsoft.AspNetCore.Routing.Performance/Configs/CoreConfig.cs deleted file mode 100644 index bbeb805e6d..0000000000 --- a/benchmarks/Microsoft.AspNetCore.Routing.Performance/Configs/CoreConfig.cs +++ /dev/null @@ -1,31 +0,0 @@ -// Copyright (c) .NET Foundation. All rights reserved. -// Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information. - -using BenchmarkDotNet.Columns; -using BenchmarkDotNet.Configs; -using BenchmarkDotNet.Diagnosers; -using BenchmarkDotNet.Engines; -using BenchmarkDotNet.Jobs; -using BenchmarkDotNet.Validators; - -namespace Microsoft.AspNetCore.Routing.Performance -{ - public class CoreConfig : ManualConfig - { - public CoreConfig() - { - Add(JitOptimizationsValidator.FailOnError); - Add(MemoryDiagnoser.Default); - Add(StatisticColumn.OperationsPerSecond); - - Add(Job.Default - .With(BenchmarkDotNet.Environments.Runtime.Core) - .WithRemoveOutliers(false) - .With(new GcMode() { Server = true }) - .With(RunStrategy.Throughput) - .WithLaunchCount(3) - .WithWarmupCount(5) - .WithTargetCount(10)); - } - } -} \ No newline at end of file diff --git a/benchmarks/Microsoft.AspNetCore.Routing.Performance/Microsoft.AspNetCore.Routing.Performance.csproj b/benchmarks/Microsoft.AspNetCore.Routing.Performance/Microsoft.AspNetCore.Routing.Performance.csproj index 453925e513..5d3db00628 100644 --- a/benchmarks/Microsoft.AspNetCore.Routing.Performance/Microsoft.AspNetCore.Routing.Performance.csproj +++ b/benchmarks/Microsoft.AspNetCore.Routing.Performance/Microsoft.AspNetCore.Routing.Performance.csproj @@ -15,8 +15,10 @@ + - + + diff --git a/benchmarks/Microsoft.AspNetCore.Routing.Performance/Program.cs b/benchmarks/Microsoft.AspNetCore.Routing.Performance/Program.cs deleted file mode 100644 index b510a13a28..0000000000 --- a/benchmarks/Microsoft.AspNetCore.Routing.Performance/Program.cs +++ /dev/null @@ -1,17 +0,0 @@ -// Copyright (c) .NET Foundation. All rights reserved. -// Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information. - -using System; -using System.Reflection; -using BenchmarkDotNet.Running; - -namespace Microsoft.AspNetCore.Routing.Performance -{ - public class Program - { - public static void Main(string[] args) - { - BenchmarkSwitcher.FromAssembly(typeof(Program).GetTypeInfo().Assembly).Run(args); - } - } -} \ No newline at end of file diff --git a/benchmarks/Microsoft.AspNetCore.Routing.Performance/Properties/AssemblyInfo.cs b/benchmarks/Microsoft.AspNetCore.Routing.Performance/Properties/AssemblyInfo.cs new file mode 100644 index 0000000000..cfb0b19c2e --- /dev/null +++ b/benchmarks/Microsoft.AspNetCore.Routing.Performance/Properties/AssemblyInfo.cs @@ -0,0 +1 @@ +[assembly: BenchmarkDotNet.Attributes.AspNetCoreBenchmark] \ No newline at end of file diff --git a/benchmarks/Microsoft.AspNetCore.Routing.Performance/RoutingBenchmark.cs b/benchmarks/Microsoft.AspNetCore.Routing.Performance/RoutingBenchmark.cs index d499fd706a..4387522f1b 100644 --- a/benchmarks/Microsoft.AspNetCore.Routing.Performance/RoutingBenchmark.cs +++ b/benchmarks/Microsoft.AspNetCore.Routing.Performance/RoutingBenchmark.cs @@ -3,7 +3,6 @@ using System; using System.Linq; -using System.Text.Encodings.Web; using System.Threading.Tasks; using BenchmarkDotNet.Attributes; using Microsoft.AspNetCore.Http; diff --git a/build/dependencies.props b/build/dependencies.props index 2d9d8d4e41..bb2e38a84e 100644 --- a/build/dependencies.props +++ b/build/dependencies.props @@ -6,6 +6,7 @@ 0.10.13 2.2.0-preview1-17064 2.2.0-preview1-34326 + 2.2.0-preview1-34326 2.2.0-preview1-34326 2.2.0-preview1-34326 2.2.0-preview1-34326 From 695fb0030828cf590c98f1d5b65ef9f96b737f64 Mon Sep 17 00:00:00 2001 From: "kishan.anem" Date: Sun, 6 May 2018 22:27:15 +0530 Subject: [PATCH 013/221] IUrlHelper and support for RouteOptions.LowercaseUrls IUrlHelper and support for RouteOptions.LowercaseUrls #issue : https://github.com/aspnet/Mvc/issues/7720 --- src/Microsoft.AspNetCore.Routing/RouteCollection.cs | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/src/Microsoft.AspNetCore.Routing/RouteCollection.cs b/src/Microsoft.AspNetCore.Routing/RouteCollection.cs index a2dae64291..0d93c1f9ac 100644 --- a/src/Microsoft.AspNetCore.Routing/RouteCollection.cs +++ b/src/Microsoft.AspNetCore.Routing/RouteCollection.cs @@ -154,6 +154,11 @@ namespace Microsoft.AspNetCore.Routing if (_options.LowercaseUrls) { urlWithoutQueryString = urlWithoutQueryString.ToLowerInvariant(); + + if (!string.IsNullOrEmpty(queryString)) + { + queryString = queryString.ToLowerInvariant(); + } } if (_options.AppendTrailingSlash && !urlWithoutQueryString.EndsWith("/")) From f227cbeca35f36e54b1731a6690520896f55efa3 Mon Sep 17 00:00:00 2001 From: "kishan.anem" Date: Sat, 19 May 2018 09:20:55 +0530 Subject: [PATCH 014/221] Added sperate option "IUrlHelper and support for RouteOptions.LowercaseUrls " @rynowak #518 #Issue: https://github.com/aspnet/Mvc/issues/7720 --- src/Microsoft.AspNetCore.Routing/RouteCollection.cs | 10 +++++----- src/Microsoft.AspNetCore.Routing/RouteOptions.cs | 7 ++++++- 2 files changed, 11 insertions(+), 6 deletions(-) diff --git a/src/Microsoft.AspNetCore.Routing/RouteCollection.cs b/src/Microsoft.AspNetCore.Routing/RouteCollection.cs index 0d93c1f9ac..1d359cee57 100644 --- a/src/Microsoft.AspNetCore.Routing/RouteCollection.cs +++ b/src/Microsoft.AspNetCore.Routing/RouteCollection.cs @@ -139,7 +139,7 @@ namespace Microsoft.AspNetCore.Routing var url = pathData.VirtualPath; - if (!string.IsNullOrEmpty(url) && (_options.LowercaseUrls || _options.AppendTrailingSlash)) + if (!string.IsNullOrEmpty(url) && (_options.LowercaseUrls || _options.LowercaseQueryStrings || _options.AppendTrailingSlash)) { var indexOfSeparator = url.IndexOfAny(UrlQueryDelimiters); var urlWithoutQueryString = url; @@ -154,11 +154,11 @@ namespace Microsoft.AspNetCore.Routing if (_options.LowercaseUrls) { urlWithoutQueryString = urlWithoutQueryString.ToLowerInvariant(); + } - if (!string.IsNullOrEmpty(queryString)) - { - queryString = queryString.ToLowerInvariant(); - } + if (_options.LowercaseQueryStrings) + { + queryString = queryString.ToLowerInvariant(); } if (_options.AppendTrailingSlash && !urlWithoutQueryString.EndsWith("/")) diff --git a/src/Microsoft.AspNetCore.Routing/RouteOptions.cs b/src/Microsoft.AspNetCore.Routing/RouteOptions.cs index 1ae47ed13f..45f5589ed0 100644 --- a/src/Microsoft.AspNetCore.Routing/RouteOptions.cs +++ b/src/Microsoft.AspNetCore.Routing/RouteOptions.cs @@ -10,10 +10,15 @@ namespace Microsoft.AspNetCore.Routing public class RouteOptions { /// - /// Gets or sets a value indicating whether all generated URLs are lower-case. + /// Gets or sets a value indicating whether all generated URLs are lower-case. it doesn't include the query string. /// public bool LowercaseUrls { get; set; } + /// + /// Gets or sets a value indicating whether all generated QUERY STRINGS are lower-case. + /// + public bool LowercaseQueryStrings { get; set; } + /// /// Gets or sets a value indicating whether a trailing slash should be appended to the generated URLs. /// From cb77c17cf49e049624bd29d9d8906524c7570f41 Mon Sep 17 00:00:00 2001 From: "kishan.anem" Date: Thu, 31 May 2018 21:33:05 +0530 Subject: [PATCH 015/221] TestCase added and IUrlHelper and support for RouteOptions.LowercaseUrls checked appliesd to the query string. @rynowak #518 #Issue: aspnet/Mvc#7720 --- .../RouteCollection.cs | 4 +- .../RouteOptions.cs | 2 +- .../RouteCollectionTest.cs | 41 ++++++++++++++++++- 3 files changed, 43 insertions(+), 4 deletions(-) diff --git a/src/Microsoft.AspNetCore.Routing/RouteCollection.cs b/src/Microsoft.AspNetCore.Routing/RouteCollection.cs index 1d359cee57..b25748552c 100644 --- a/src/Microsoft.AspNetCore.Routing/RouteCollection.cs +++ b/src/Microsoft.AspNetCore.Routing/RouteCollection.cs @@ -139,7 +139,7 @@ namespace Microsoft.AspNetCore.Routing var url = pathData.VirtualPath; - if (!string.IsNullOrEmpty(url) && (_options.LowercaseUrls || _options.LowercaseQueryStrings || _options.AppendTrailingSlash)) + if (!string.IsNullOrEmpty(url) && (_options.LowercaseUrls || _options.AppendTrailingSlash)) { var indexOfSeparator = url.IndexOfAny(UrlQueryDelimiters); var urlWithoutQueryString = url; @@ -156,7 +156,7 @@ namespace Microsoft.AspNetCore.Routing urlWithoutQueryString = urlWithoutQueryString.ToLowerInvariant(); } - if (_options.LowercaseQueryStrings) + if (_options.LowercaseUrls && _options.LowercaseQueryStrings) { queryString = queryString.ToLowerInvariant(); } diff --git a/src/Microsoft.AspNetCore.Routing/RouteOptions.cs b/src/Microsoft.AspNetCore.Routing/RouteOptions.cs index 45f5589ed0..6cf08bd68a 100644 --- a/src/Microsoft.AspNetCore.Routing/RouteOptions.cs +++ b/src/Microsoft.AspNetCore.Routing/RouteOptions.cs @@ -15,7 +15,7 @@ namespace Microsoft.AspNetCore.Routing public bool LowercaseUrls { get; set; } /// - /// Gets or sets a value indicating whether all generated QUERY STRINGS are lower-case. + /// Gets or sets a value indicating whether all generated QUERY STRINGS are lower-case. property will when LowercaseUrls true. /// public bool LowercaseQueryStrings { get; set; } diff --git a/test/Microsoft.AspNetCore.Routing.Tests/RouteCollectionTest.cs b/test/Microsoft.AspNetCore.Routing.Tests/RouteCollectionTest.cs index c0d5a0187a..a92bccdfcc 100644 --- a/test/Microsoft.AspNetCore.Routing.Tests/RouteCollectionTest.cs +++ b/test/Microsoft.AspNetCore.Routing.Tests/RouteCollectionTest.cs @@ -89,6 +89,44 @@ namespace Microsoft.AspNetCore.Routing Assert.Empty(pathData.DataTokens); } + [Theory] + [InlineData(@"Home/Index/23?Param1=ABC&Param2=Xyz", "/Home/Index/23?Param1=ABC&Param2=Xyz", false, true, false)] + [InlineData(@"Home/Index/23?Param1=ABC&Param2=Xyz", "/Home/Index/23?Param1=ABC&Param2=Xyz", false, false, false)] + [InlineData(@"Home/Index/23?Param1=ABC&Param2=Xyz", "/home/index/23/?param1=abc¶m2=xyz", true, true, true)] + [InlineData(@"Home/Index/23#Param1=ABC&Param2=Xyz", "/Home/Index/23/#Param1=ABC&Param2=Xyz", false, true, true)] + [InlineData(@"Home/Index/23#Param1=ABC&Param2=Xyz", "/home/index/23#Param1=ABC&Param2=Xyz", true, false, false)] + [InlineData(@"Home/Index/23/?Param1=ABC&Param2=Xyz", "/home/index/23/?param1=abc¶m2=xyz", true, true, true)] + [InlineData(@"Home/Index/23/#Param1=ABC&Param2=Xyz", "/home/index/23/#Param1=ABC&Param2=Xyz", true, false, true)] + [InlineData(@"Home/Index/23/#Param1=ABC&Param2=Xyz", "/home/index/23/#param1=abc¶m2=xyz", true, true, true)] + public void GetVirtualPath_CanLowerCaseUrls_QueryStrings_BasedOnOptions( + string returnUrl, + string expectedUrl, + bool lowercaseUrls, + bool lowercaseQueryStrings, bool appendTrailingSlash) + { + // Arrange + var target = new Mock(MockBehavior.Strict); + target + .Setup(e => e.GetVirtualPath(It.IsAny())) + .Returns(new VirtualPathData(target.Object, returnUrl)); + + var routeCollection = new RouteCollection(); + routeCollection.Add(target.Object); + var virtualPathContext = CreateVirtualPathContext( + options: GetRouteOptions( + lowerCaseUrls: lowercaseUrls, + lowercaseQueryStrings: lowercaseQueryStrings, + appendTrailingSlash: appendTrailingSlash)); + + // Act + var pathData = routeCollection.GetVirtualPath(virtualPathContext); + + // Assert + Assert.Equal(expectedUrl, pathData.VirtualPath); + Assert.Same(target.Object, pathData.Router); + Assert.Empty(pathData.DataTokens); + } + [Theory] [MemberData(nameof(DataTokensTestData))] public void GetVirtualPath_ReturnsDataTokens(RouteValueDictionary dataTokens, string routerName) @@ -663,12 +701,13 @@ namespace Microsoft.AspNetCore.Routing private static Action GetRouteOptions( bool lowerCaseUrls = false, - bool appendTrailingSlash = false) + bool appendTrailingSlash = false, bool lowercaseQueryStrings = false) { return (options) => { options.LowercaseUrls = lowerCaseUrls; options.AppendTrailingSlash = appendTrailingSlash; + options.LowercaseQueryStrings = lowercaseQueryStrings; }; } } From acea87a61711ff4d9c637bbd7473234a1ade3e74 Mon Sep 17 00:00:00 2001 From: "kishan.anem" Date: Fri, 1 Jun 2018 07:06:17 +0530 Subject: [PATCH 016/221] IUrlHelper and support for RouteOptions.LowercaseUrls changes are made as suggestions. @rynowak #518 #Issue: aspnet/Mvc#7720 --- src/Microsoft.AspNetCore.Routing/RouteOptions.cs | 6 ++++-- .../RouteCollectionTest.cs | 3 ++- 2 files changed, 6 insertions(+), 3 deletions(-) diff --git a/src/Microsoft.AspNetCore.Routing/RouteOptions.cs b/src/Microsoft.AspNetCore.Routing/RouteOptions.cs index 6cf08bd68a..b5c5bd544f 100644 --- a/src/Microsoft.AspNetCore.Routing/RouteOptions.cs +++ b/src/Microsoft.AspNetCore.Routing/RouteOptions.cs @@ -10,12 +10,14 @@ namespace Microsoft.AspNetCore.Routing public class RouteOptions { /// - /// Gets or sets a value indicating whether all generated URLs are lower-case. it doesn't include the query string. + /// Gets or sets a value indicating whether all generated paths URLs are lower-case. + /// Use to configure the behavior for query strings. /// public bool LowercaseUrls { get; set; } /// - /// Gets or sets a value indicating whether all generated QUERY STRINGS are lower-case. property will when LowercaseUrls true. + /// Gets or sets a value indicating whether a generated query strings are lower-case. + /// This property will be unless is also true /// public bool LowercaseQueryStrings { get; set; } diff --git a/test/Microsoft.AspNetCore.Routing.Tests/RouteCollectionTest.cs b/test/Microsoft.AspNetCore.Routing.Tests/RouteCollectionTest.cs index a92bccdfcc..b7eab2f10b 100644 --- a/test/Microsoft.AspNetCore.Routing.Tests/RouteCollectionTest.cs +++ b/test/Microsoft.AspNetCore.Routing.Tests/RouteCollectionTest.cs @@ -701,7 +701,8 @@ namespace Microsoft.AspNetCore.Routing private static Action GetRouteOptions( bool lowerCaseUrls = false, - bool appendTrailingSlash = false, bool lowercaseQueryStrings = false) + bool appendTrailingSlash = false, + bool lowercaseQueryStrings = false) { return (options) => { From 0ea16ddd57e084159a1a2a42b9563aa8346e62ba Mon Sep 17 00:00:00 2001 From: Ryan Nowak Date: Thu, 31 May 2018 16:52:59 -0700 Subject: [PATCH 017/221] Code dump of dispatcher prototype code Here's a code dump of the parts of the Dispatcher prototype codebase that are needed to get us off the ground. This first cut attempts to use part of routing where possible, and not all of those changes will be long-lasting. I'll leave comments through thoughout the PR for education. --- Routing.sln | 15 + .../DispatcherSample.Web.csproj | 17 + samples/DispatcherSample.Web/Program.cs | 26 ++ samples/DispatcherSample.Web/Startup.cs | 46 +++ samples/RoutingSample.Web/Program.cs | 26 +- samples/RoutingSample.Web/Startup.cs | 43 +++ .../Endpoint.cs | 22 ++ .../IEndpointFeature.cs | 17 + .../MetadataCollection.cs | 101 +++++ .../DispatcherApplicationBuilderExtensions.cs | 20 + .../CompositeEndpointDataSource.cs | 70 ++++ .../DefaultEndpointDataSource.cs | 30 ++ .../ConfigureDispatcherOptions.cs | 38 ++ .../DispatcherServiceCollectionExtensions.cs | 55 +++ .../DispatcherMiddleware.cs | 114 ++++++ .../DispatcherOptions.cs | 12 + .../EndpointDataSource.cs | 15 + .../EndpointFeature.cs | 17 + .../EndpointMiddleware.cs | 77 ++++ .../Internal/DataSourceDependantCache.cs | 55 +++ .../Matchers/AmbiguousMatchException.cs | 25 ++ .../Matchers/IMatcherFactory.cs | 10 + .../Matchers/Matcher.cs | 25 ++ .../Matchers/MatcherEndpoint.cs | 42 +++ .../Matchers/TreeMatcher.cs | 348 ++++++++++++++++++ .../Matchers/TreeMatcherFactory.cs | 40 ++ .../Properties/AssemblyInfo.cs | 1 + .../Properties/Resources.Designer.cs | 14 + .../Resources.resx | 3 + .../Tree/InboundRouteEntry.cs | 2 + .../Tree/TreeRouteBuilder.cs | 164 +-------- .../Tree/TreeRouter.cs | 106 +----- .../Tree/Treenumerator.cs | 112 ++++++ .../Tree/UrlMatchingTree.cs | 167 +++++++++ 34 files changed, 1582 insertions(+), 293 deletions(-) create mode 100644 samples/DispatcherSample.Web/DispatcherSample.Web.csproj create mode 100644 samples/DispatcherSample.Web/Program.cs create mode 100644 samples/DispatcherSample.Web/Startup.cs create mode 100644 samples/RoutingSample.Web/Startup.cs create mode 100644 src/Microsoft.AspNetCore.Routing.Abstractions/Endpoint.cs create mode 100644 src/Microsoft.AspNetCore.Routing.Abstractions/IEndpointFeature.cs create mode 100644 src/Microsoft.AspNetCore.Routing.Abstractions/MetadataCollection.cs create mode 100644 src/Microsoft.AspNetCore.Routing/Builder/DispatcherApplicationBuilderExtensions.cs create mode 100644 src/Microsoft.AspNetCore.Routing/CompositeEndpointDataSource.cs create mode 100644 src/Microsoft.AspNetCore.Routing/DefaultEndpointDataSource.cs create mode 100644 src/Microsoft.AspNetCore.Routing/DependencyInjection/ConfigureDispatcherOptions.cs create mode 100644 src/Microsoft.AspNetCore.Routing/DependencyInjection/DispatcherServiceCollectionExtensions.cs create mode 100644 src/Microsoft.AspNetCore.Routing/DispatcherMiddleware.cs create mode 100644 src/Microsoft.AspNetCore.Routing/DispatcherOptions.cs create mode 100644 src/Microsoft.AspNetCore.Routing/EndpointDataSource.cs create mode 100644 src/Microsoft.AspNetCore.Routing/EndpointFeature.cs create mode 100644 src/Microsoft.AspNetCore.Routing/EndpointMiddleware.cs create mode 100644 src/Microsoft.AspNetCore.Routing/Internal/DataSourceDependantCache.cs create mode 100644 src/Microsoft.AspNetCore.Routing/Matchers/AmbiguousMatchException.cs create mode 100644 src/Microsoft.AspNetCore.Routing/Matchers/IMatcherFactory.cs create mode 100644 src/Microsoft.AspNetCore.Routing/Matchers/Matcher.cs create mode 100644 src/Microsoft.AspNetCore.Routing/Matchers/MatcherEndpoint.cs create mode 100644 src/Microsoft.AspNetCore.Routing/Matchers/TreeMatcher.cs create mode 100644 src/Microsoft.AspNetCore.Routing/Matchers/TreeMatcherFactory.cs create mode 100644 src/Microsoft.AspNetCore.Routing/Tree/Treenumerator.cs diff --git a/Routing.sln b/Routing.sln index e1478b7f15..851dea0a2e 100644 --- a/Routing.sln +++ b/Routing.sln @@ -43,6 +43,8 @@ Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "build", "build", "{6DC6B416 EndProject Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Microsoft.AspNetCore.Routing.Performance", "benchmarks\Microsoft.AspNetCore.Routing.Performance\Microsoft.AspNetCore.Routing.Performance.csproj", "{F3D86714-4E64-41A6-9B36-A47B3683CF5D}" EndProject +Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "DispatcherSample.Web", "samples\DispatcherSample.Web\DispatcherSample.Web.csproj", "{4EBE7A6F-3183-4A7D-B3D7-A6A9EC3867A5}" +EndProject Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "benchmarks", "benchmarks", "{D5F39F59-5725-4127-82E7-67028D006185}" EndProject Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "benchmarkapps", "benchmarkapps", "{7F5914E2-C63F-4759-898E-462804357C90}" @@ -161,6 +163,18 @@ Global {91F47A60-9A78-4968-B10D-157D9BFAC37F}.Release|Mixed Platforms.Build.0 = Release|Any CPU {91F47A60-9A78-4968-B10D-157D9BFAC37F}.Release|x86.ActiveCfg = Release|Any CPU {91F47A60-9A78-4968-B10D-157D9BFAC37F}.Release|x86.Build.0 = Release|Any CPU + {4EBE7A6F-3183-4A7D-B3D7-A6A9EC3867A5}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {4EBE7A6F-3183-4A7D-B3D7-A6A9EC3867A5}.Debug|Any CPU.Build.0 = Debug|Any CPU + {4EBE7A6F-3183-4A7D-B3D7-A6A9EC3867A5}.Debug|Mixed Platforms.ActiveCfg = Debug|Any CPU + {4EBE7A6F-3183-4A7D-B3D7-A6A9EC3867A5}.Debug|Mixed Platforms.Build.0 = Debug|Any CPU + {4EBE7A6F-3183-4A7D-B3D7-A6A9EC3867A5}.Debug|x86.ActiveCfg = Debug|Any CPU + {4EBE7A6F-3183-4A7D-B3D7-A6A9EC3867A5}.Debug|x86.Build.0 = Debug|Any CPU + {4EBE7A6F-3183-4A7D-B3D7-A6A9EC3867A5}.Release|Any CPU.ActiveCfg = Release|Any CPU + {4EBE7A6F-3183-4A7D-B3D7-A6A9EC3867A5}.Release|Any CPU.Build.0 = Release|Any CPU + {4EBE7A6F-3183-4A7D-B3D7-A6A9EC3867A5}.Release|Mixed Platforms.ActiveCfg = Release|Any CPU + {4EBE7A6F-3183-4A7D-B3D7-A6A9EC3867A5}.Release|Mixed Platforms.Build.0 = Release|Any CPU + {4EBE7A6F-3183-4A7D-B3D7-A6A9EC3867A5}.Release|x86.ActiveCfg = Release|Any CPU + {4EBE7A6F-3183-4A7D-B3D7-A6A9EC3867A5}.Release|x86.Build.0 = Release|Any CPU EndGlobalSection GlobalSection(SolutionProperties) = preSolution HideSolutionNode = FALSE @@ -175,6 +189,7 @@ Global {5C73140B-41F3-466F-A07B-3614E4D80DF9} = {95359B4B-4C85-4B44-A75B-0621905C4CF6} {F3D86714-4E64-41A6-9B36-A47B3683CF5D} = {D5F39F59-5725-4127-82E7-67028D006185} {91F47A60-9A78-4968-B10D-157D9BFAC37F} = {7F5914E2-C63F-4759-898E-462804357C90} + {4EBE7A6F-3183-4A7D-B3D7-A6A9EC3867A5} = {C3ADD55B-B9C7-4061-8AD4-6A70D1AE3B2E} EndGlobalSection GlobalSection(ExtensibilityGlobals) = postSolution SolutionGuid = {36C8D815-B7F1-479D-894B-E606FB8DECDA} diff --git a/samples/DispatcherSample.Web/DispatcherSample.Web.csproj b/samples/DispatcherSample.Web/DispatcherSample.Web.csproj new file mode 100644 index 0000000000..52b1699c7b --- /dev/null +++ b/samples/DispatcherSample.Web/DispatcherSample.Web.csproj @@ -0,0 +1,17 @@ + + + + netcoreapp2.2 + $(TargetFrameworks);net461 + + + + + + + + + + + + diff --git a/samples/DispatcherSample.Web/Program.cs b/samples/DispatcherSample.Web/Program.cs new file mode 100644 index 0000000000..45c4e82afa --- /dev/null +++ b/samples/DispatcherSample.Web/Program.cs @@ -0,0 +1,26 @@ +// Copyright (c) .NET Foundation. All rights reserved. +// Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information. + +using Microsoft.AspNetCore.Builder; +using Microsoft.AspNetCore.Hosting; + +namespace DispatcherSample.Web +{ + public class Program + { + public static void Main(string[] args) + { + var webHost = GetWebHostBuilder().Build(); + webHost.Run(); + } + + // For unit testing + public static IWebHostBuilder GetWebHostBuilder() + { + return new WebHostBuilder() + .UseKestrel() + .UseIISIntegration() + .UseStartup(); + } + } +} diff --git a/samples/DispatcherSample.Web/Startup.cs b/samples/DispatcherSample.Web/Startup.cs new file mode 100644 index 0000000000..41dfcf113e --- /dev/null +++ b/samples/DispatcherSample.Web/Startup.cs @@ -0,0 +1,46 @@ +// Copyright (c) .NET Foundation. All rights reserved. +// Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information. + +using System.Text; +using Microsoft.AspNetCore.Builder; +using Microsoft.AspNetCore.Routing; +using Microsoft.AspNetCore.Routing.Matchers; +using Microsoft.Extensions.DependencyInjection; + +namespace DispatcherSample.Web +{ + public class Startup + { + private static readonly byte[] _helloWorldPayload = Encoding.UTF8.GetBytes("Hello, World!"); + + public void ConfigureServices(IServiceCollection services) + { + services.AddRouting(); + services.AddDispatcher(options => + { + options.DataSources.Add(new DefaultEndpointDataSource(new[] + { + new MatcherEndpoint((next) => (httpContext) => + { + var response = httpContext.Response; + var payloadLength = _helloWorldPayload.Length; + response.StatusCode = 200; + response.ContentType = "text/plain"; + response.ContentLength = payloadLength; + return response.Body.WriteAsync(_helloWorldPayload, 0, payloadLength); + }, + "/plaintext", new { }, 0, EndpointMetadataCollection.Empty, "Plaintext"), + })); + }); + } + + public void Configure(IApplicationBuilder app) + { + app.UseDispatcher(); + + // Imagine some more stuff here... + + app.UseEndpoint(); + } + } +} diff --git a/samples/RoutingSample.Web/Program.cs b/samples/RoutingSample.Web/Program.cs index 27a1a8b55e..c8449236ba 100644 --- a/samples/RoutingSample.Web/Program.cs +++ b/samples/RoutingSample.Web/Program.cs @@ -1,21 +1,13 @@ // Copyright (c) .NET Foundation. All rights reserved. // Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information. -using System; -using System.Text.RegularExpressions; using Microsoft.AspNetCore.Builder; using Microsoft.AspNetCore.Hosting; -using Microsoft.AspNetCore.Http; -using Microsoft.AspNetCore.Routing; -using Microsoft.AspNetCore.Routing.Constraints; -using Microsoft.Extensions.DependencyInjection; namespace RoutingSample.Web { public class Program { - private static readonly TimeSpan RegexMatchTimeout = TimeSpan.FromSeconds(10); - public static void Main(string[] args) { var webHost = GetWebHostBuilder().Build(); @@ -28,23 +20,7 @@ namespace RoutingSample.Web return new WebHostBuilder() .UseKestrel() .UseIISIntegration() - .ConfigureServices(services => services.AddRouting()) - .Configure(app => app.UseRouter(routes => - { - routes.DefaultHandler = new RouteHandler((httpContext) => - { - var request = httpContext.Request; - return httpContext.Response.WriteAsync($"Verb = {request.Method.ToUpperInvariant()} - Path = {request.Path} - Route values - {string.Join(", ", httpContext.GetRouteData().Values)}"); - }); - - routes.MapGet("api/get/{id}", (request, response, routeData) => response.WriteAsync($"API Get {routeData.Values["id"]}")) - .MapMiddlewareRoute("api/middleware", (appBuilder) => appBuilder.Use((httpContext, next) => httpContext.Response.WriteAsync("Middleware!"))) - .MapRoute( - name: "AllVerbs", - template: "api/all/{name}/{lastName?}", - defaults: new { lastName = "Doe" }, - constraints: new { lastName = new RegexRouteConstraint(new Regex("[a-zA-Z]{3}", RegexOptions.CultureInvariant, RegexMatchTimeout)) }); - })); + .UseStartup(); } } } diff --git a/samples/RoutingSample.Web/Startup.cs b/samples/RoutingSample.Web/Startup.cs new file mode 100644 index 0000000000..3205b4f42d --- /dev/null +++ b/samples/RoutingSample.Web/Startup.cs @@ -0,0 +1,43 @@ +// Copyright (c) .NET Foundation. All rights reserved. +// Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information. + +using System; +using System.Text.RegularExpressions; +using Microsoft.AspNetCore.Builder; +using Microsoft.AspNetCore.Http; +using Microsoft.AspNetCore.Routing; +using Microsoft.AspNetCore.Routing.Constraints; +using Microsoft.Extensions.DependencyInjection; + +namespace RoutingSample.Web +{ + public class Startup + { + private static readonly TimeSpan RegexMatchTimeout = TimeSpan.FromSeconds(10); + + public void ConfigureServices(IServiceCollection services) + { + services.AddRouting(); + } + + public void Configure(IApplicationBuilder app) + { + app.UseRouter(routes => + { + routes.DefaultHandler = new RouteHandler((httpContext) => + { + var request = httpContext.Request; + return httpContext.Response.WriteAsync($"Verb = {request.Method.ToUpperInvariant()} - Path = {request.Path} - Route values - {string.Join(", ", httpContext.GetRouteData().Values)}"); + }); + + routes.MapGet("api/get/{id}", (request, response, routeData) => response.WriteAsync($"API Get {routeData.Values["id"]}")) + .MapMiddlewareRoute("api/middleware", (appBuilder) => appBuilder.Use((httpContext, next) => httpContext.Response.WriteAsync("Middleware!"))) + .MapRoute( + name: "AllVerbs", + template: "api/all/{name}/{lastName?}", + defaults: new { lastName = "Doe" }, + constraints: new { lastName = new RegexRouteConstraint(new Regex("[a-zA-Z]{3}", RegexOptions.CultureInvariant, RegexMatchTimeout)) }); + }); + } + } +} diff --git a/src/Microsoft.AspNetCore.Routing.Abstractions/Endpoint.cs b/src/Microsoft.AspNetCore.Routing.Abstractions/Endpoint.cs new file mode 100644 index 0000000000..21a2b06bad --- /dev/null +++ b/src/Microsoft.AspNetCore.Routing.Abstractions/Endpoint.cs @@ -0,0 +1,22 @@ +// Copyright (c) .NET Foundation. All rights reserved. +// Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information. + +using System.Diagnostics; + +namespace Microsoft.AspNetCore.Routing +{ + [DebuggerDisplay("{DisplayName,nq}")] + public abstract class Endpoint + { + protected Endpoint(EndpointMetadataCollection metadata, string displayName) + { + // Both allowed to be null + Metadata = metadata ?? EndpointMetadataCollection.Empty; + DisplayName = displayName; + } + + public string DisplayName { get; } + + public EndpointMetadataCollection Metadata { get; } + } +} diff --git a/src/Microsoft.AspNetCore.Routing.Abstractions/IEndpointFeature.cs b/src/Microsoft.AspNetCore.Routing.Abstractions/IEndpointFeature.cs new file mode 100644 index 0000000000..5ecf72cb56 --- /dev/null +++ b/src/Microsoft.AspNetCore.Routing.Abstractions/IEndpointFeature.cs @@ -0,0 +1,17 @@ +// Copyright (c) .NET Foundation. All rights reserved. +// Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information. + +using System; +using Microsoft.AspNetCore.Http; + +namespace Microsoft.AspNetCore.Routing +{ + public interface IEndpointFeature + { + Endpoint Endpoint { get; set; } + + Func Invoker { get; set; } + + RouteValueDictionary Values { get; set; } + } +} diff --git a/src/Microsoft.AspNetCore.Routing.Abstractions/MetadataCollection.cs b/src/Microsoft.AspNetCore.Routing.Abstractions/MetadataCollection.cs new file mode 100644 index 0000000000..a90f8590e8 --- /dev/null +++ b/src/Microsoft.AspNetCore.Routing.Abstractions/MetadataCollection.cs @@ -0,0 +1,101 @@ +// Copyright (c) .NET Foundation. All rights reserved. +// Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information. + +using System; +using System.Collections; +using System.Collections.Generic; +using System.Linq; + +namespace Microsoft.AspNetCore.Routing +{ + public class EndpointMetadataCollection : IReadOnlyList + { + public static readonly EndpointMetadataCollection Empty = new EndpointMetadataCollection(Array.Empty()); + + private readonly object[] _items; + + public EndpointMetadataCollection(IEnumerable items) + { + if (items == null) + { + throw new ArgumentNullException(nameof(items)); + } + + _items = items.ToArray(); + } + + public object this[int index] => _items[index]; + + public int Count => _items.Length; + + public T GetMetadata() where T : class + { + for (var i = _items.Length -1; i >= 0; i--) + { + var item = _items[i] as T; + if (item !=null) + { + return item; + } + } + + return default; + } + + public IEnumerable GetOrderedMetadata() where T : class + { + for (var i = 0; i < _items.Length; i++) + { + var item = _items[i] as T; + if (item != null) + { + yield return item; + } + } + } + + public Enumerator GetEnumerator() => new Enumerator(this); + + IEnumerator IEnumerable.GetEnumerator() => GetEnumerator(); + + IEnumerator IEnumerable.GetEnumerator() => GetEnumerator(); + + public struct Enumerator : IEnumerator + { + private object[] _items; + private int _index; + private object _current; + + internal Enumerator(EndpointMetadataCollection collection) + { + _items = collection._items; + _index = 0; + _current = null; + } + + public object Current => _current; + + public void Dispose() + { + } + + public bool MoveNext() + { + if (_index < _items.Length) + { + _current = _items[_index++]; + return true; + } + + _current = null; + return false; + } + + public void Reset() + { + _index = 0; + _current = null; + } + } + } +} diff --git a/src/Microsoft.AspNetCore.Routing/Builder/DispatcherApplicationBuilderExtensions.cs b/src/Microsoft.AspNetCore.Routing/Builder/DispatcherApplicationBuilderExtensions.cs new file mode 100644 index 0000000000..c3cc3df56c --- /dev/null +++ b/src/Microsoft.AspNetCore.Routing/Builder/DispatcherApplicationBuilderExtensions.cs @@ -0,0 +1,20 @@ +// Copyright (c) .NET Foundation. All rights reserved. +// Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information. + +using Microsoft.AspNetCore.Routing; + +namespace Microsoft.AspNetCore.Builder +{ + public static class DispatcherApplicationBuilderExtensions + { + public static IApplicationBuilder UseDispatcher(this IApplicationBuilder builder) + { + return builder.UseMiddleware(); + } + + public static IApplicationBuilder UseEndpoint(this IApplicationBuilder builder) + { + return builder.UseMiddleware(); + } + } +} diff --git a/src/Microsoft.AspNetCore.Routing/CompositeEndpointDataSource.cs b/src/Microsoft.AspNetCore.Routing/CompositeEndpointDataSource.cs new file mode 100644 index 0000000000..93fd595ede --- /dev/null +++ b/src/Microsoft.AspNetCore.Routing/CompositeEndpointDataSource.cs @@ -0,0 +1,70 @@ +// Copyright (c) .NET Foundation. All rights reserved. +// Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information. + +using System; +using System.Collections.Generic; +using System.Linq; +using Microsoft.Extensions.Primitives; + +namespace Microsoft.AspNetCore.Routing +{ + public class CompositeEndpointDataSource : EndpointDataSource + { + private readonly EndpointDataSource[] _dataSources; + private readonly object _lock; + + private IChangeToken _changeToken; + private IReadOnlyList _endpoints; + + internal CompositeEndpointDataSource(IEnumerable dataSources) + { + if (dataSources == null) + { + throw new ArgumentNullException(nameof(dataSources)); + } + + _dataSources = dataSources.ToArray(); + _lock = new object(); + } + + public override IChangeToken ChangeToken + { + get + { + EnsureInitialized(); + return _changeToken; + } + } + + public override IReadOnlyList Endpoints + { + get + { + EnsureInitialized(); + return _endpoints; + } + } + + // Defer initialization to avoid doing lots of reflection on startup. + private void EnsureInitialized() + { + if (_changeToken == null) + { + Initialize(); + } + } + + // Note: we can't use DataSourceDependantCache here because we also need to handle a list of change + // tokens, which is a complication most of our code doesn't have. + private void Initialize() + { + lock (_lock) + { + _changeToken = new CompositeChangeToken(_dataSources.Select(d => d.ChangeToken).ToArray()); + _endpoints = _dataSources.SelectMany(d => d.Endpoints).ToArray(); + + _changeToken.RegisterChangeCallback((state) => Initialize(), null); + } + } + } +} diff --git a/src/Microsoft.AspNetCore.Routing/DefaultEndpointDataSource.cs b/src/Microsoft.AspNetCore.Routing/DefaultEndpointDataSource.cs new file mode 100644 index 0000000000..6dfbdbb38c --- /dev/null +++ b/src/Microsoft.AspNetCore.Routing/DefaultEndpointDataSource.cs @@ -0,0 +1,30 @@ +// Copyright (c) .NET Foundation. All rights reserved. +// Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information. + +using System; +using System.Collections.Generic; +using Microsoft.Extensions.FileProviders; +using Microsoft.Extensions.Primitives; + +namespace Microsoft.AspNetCore.Routing +{ + public class DefaultEndpointDataSource : EndpointDataSource + { + private readonly List _endpoints; + + public DefaultEndpointDataSource(IEnumerable endpoints) + { + if (endpoints == null) + { + throw new ArgumentNullException(nameof(endpoints)); + } + + _endpoints = new List(); + _endpoints.AddRange(endpoints); + } + + public override IChangeToken ChangeToken { get; } = NullChangeToken.Singleton; + + public override IReadOnlyList Endpoints => _endpoints; + } +} diff --git a/src/Microsoft.AspNetCore.Routing/DependencyInjection/ConfigureDispatcherOptions.cs b/src/Microsoft.AspNetCore.Routing/DependencyInjection/ConfigureDispatcherOptions.cs new file mode 100644 index 0000000000..e916dd0e18 --- /dev/null +++ b/src/Microsoft.AspNetCore.Routing/DependencyInjection/ConfigureDispatcherOptions.cs @@ -0,0 +1,38 @@ +// Copyright (c) .NET Foundation. All rights reserved. +// Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information. + +using System; +using System.Collections.Generic; +using Microsoft.AspNetCore.Routing; +using Microsoft.Extensions.Options; + +namespace Microsoft.Extensions.DependencyInjection +{ + internal class ConfigureDispatcherOptions : IConfigureOptions + { + private readonly IEnumerable _dataSources; + + public ConfigureDispatcherOptions(IEnumerable dataSources) + { + if (dataSources == null) + { + throw new ArgumentNullException(nameof(dataSources)); + } + + _dataSources = dataSources; + } + + public void Configure(DispatcherOptions options) + { + if (options == null) + { + throw new ArgumentNullException(nameof(options)); + } + + foreach (var dataSource in _dataSources) + { + options.DataSources.Add(dataSource); + } + } + } +} \ No newline at end of file diff --git a/src/Microsoft.AspNetCore.Routing/DependencyInjection/DispatcherServiceCollectionExtensions.cs b/src/Microsoft.AspNetCore.Routing/DependencyInjection/DispatcherServiceCollectionExtensions.cs new file mode 100644 index 0000000000..d1f5d96f5f --- /dev/null +++ b/src/Microsoft.AspNetCore.Routing/DependencyInjection/DispatcherServiceCollectionExtensions.cs @@ -0,0 +1,55 @@ +// Copyright (c) .NET Foundation. All rights reserved. +// Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information. + +using System; +using Microsoft.AspNetCore.Routing; +using Microsoft.AspNetCore.Routing.Matchers; +using Microsoft.Extensions.DependencyInjection.Extensions; +using Microsoft.Extensions.Options; + +namespace Microsoft.Extensions.DependencyInjection +{ + public static class DispatcherServiceCollectionExtensions + { + public static IServiceCollection AddDispatcher(this IServiceCollection services) + { + if (services == null) + { + throw new ArgumentNullException(nameof(services)); + } + + // Collect all data sources from DI. + services.TryAddEnumerable(ServiceDescriptor.Transient, ConfigureDispatcherOptions>()); + + // Allow global access to the list of endpoints. + services.TryAddSingleton(s => + { + var options = s.GetRequiredService>(); + return new CompositeEndpointDataSource(options.Value.DataSources); + }); + + // + // Default matcher implementation + // + services.TryAddSingleton(); + + return services; + } + + public static IServiceCollection AddDispatcher(this IServiceCollection services, Action configuration) + { + if (services == null) + { + throw new ArgumentNullException(nameof(services)); + } + + services.AddDispatcher(); + if (configuration != null) + { + services.Configure(configuration); + } + + return services; + } + } +} diff --git a/src/Microsoft.AspNetCore.Routing/DispatcherMiddleware.cs b/src/Microsoft.AspNetCore.Routing/DispatcherMiddleware.cs new file mode 100644 index 0000000000..98bfce4601 --- /dev/null +++ b/src/Microsoft.AspNetCore.Routing/DispatcherMiddleware.cs @@ -0,0 +1,114 @@ +// Copyright (c) .NET Foundation. All rights reserved. +// Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information. + +using System; +using System.Threading; +using System.Threading.Tasks; +using Microsoft.AspNetCore.Http; +using Microsoft.AspNetCore.Routing.Matchers; +using Microsoft.Extensions.Logging; +using Microsoft.Extensions.Options; + +namespace Microsoft.AspNetCore.Routing +{ + internal sealed class DispatcherMiddleware + { + private readonly MatcherFactory _matcherFactory; + private readonly ILogger _logger; + private readonly IOptions _options; + private readonly RequestDelegate _next; + + private Task _initializationTask; + + public DispatcherMiddleware( + MatcherFactory matcherFactory, + IOptions options, + ILogger logger, + RequestDelegate next) + { + if (matcherFactory == null) + { + throw new ArgumentNullException(nameof(matcherFactory)); + } + + if (options == null) + { + throw new ArgumentNullException(nameof(options)); + } + + if (logger == null) + { + throw new ArgumentNullException(nameof(logger)); + } + + if (next == null) + { + throw new ArgumentNullException(nameof(next)); + } + + _matcherFactory = matcherFactory; + _options = options; + _logger = logger; + _next = next; + } + + public async Task Invoke(HttpContext httpContext) + { + var feature = new EndpointFeature(); + httpContext.Features.Set(feature); + + // There's an inherit race condition between waiting for init and accessing the matcher + // this is OK because once `_matcher` is initialized, it will not be set to null again. + var matcher = await InitializeAsync(); + + await matcher.MatchAsync(httpContext, feature); + if (feature.Endpoint != null) + { + Log.EndpointMatched(_logger, feature); + } + + await _next(httpContext); + } + + // Initialization is async to avoid blocking threads while reflection and things + // of that nature take place. + // + // We've seen cases where startup is very slow if we allow multiple threads to race + // while initializing the set of endpoints/routes. Doing CPU intensive work is a + // blocking operation if you have a low core count and enough work to do. + private Task InitializeAsync() + { + if (_initializationTask != null) + { + return _initializationTask; + } + + var initializationTask = new TaskCompletionSource(); + if (Interlocked.CompareExchange>( + ref _initializationTask, + initializationTask.Task, + null) == null) + { + // This thread won the race, do the initialization. + var dataSource = new CompositeEndpointDataSource(_options.Value.DataSources); + var matcher = _matcherFactory.CreateMatcher(dataSource); + initializationTask.SetResult(matcher); + } + + return _initializationTask; + } + + private static class Log + { + private static readonly Action _matchSuccess = LoggerMessage.Define( + LogLevel.Information, + new EventId(0, "MatchSuccess"), + "Request matched endpoint '{EndpointName}'."); + + public static void EndpointMatched(ILogger logger, EndpointFeature feature) + { + _matchSuccess(logger, feature.Endpoint.DisplayName, null); + } + } + } +} diff --git a/src/Microsoft.AspNetCore.Routing/DispatcherOptions.cs b/src/Microsoft.AspNetCore.Routing/DispatcherOptions.cs new file mode 100644 index 0000000000..1ec4c2f397 --- /dev/null +++ b/src/Microsoft.AspNetCore.Routing/DispatcherOptions.cs @@ -0,0 +1,12 @@ +// Copyright (c) .NET Foundation. All rights reserved. +// Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information. + +using System.Collections.Generic; + +namespace Microsoft.AspNetCore.Routing +{ + public class DispatcherOptions + { + public IList DataSources { get; } = new List(); + } +} diff --git a/src/Microsoft.AspNetCore.Routing/EndpointDataSource.cs b/src/Microsoft.AspNetCore.Routing/EndpointDataSource.cs new file mode 100644 index 0000000000..a102ff2e39 --- /dev/null +++ b/src/Microsoft.AspNetCore.Routing/EndpointDataSource.cs @@ -0,0 +1,15 @@ +// Copyright (c) .NET Foundation. All rights reserved. +// Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information. + +using System.Collections.Generic; +using Microsoft.Extensions.Primitives; + +namespace Microsoft.AspNetCore.Routing +{ + public abstract class EndpointDataSource + { + public abstract IChangeToken ChangeToken { get; } + + public abstract IReadOnlyList Endpoints { get; } + } +} diff --git a/src/Microsoft.AspNetCore.Routing/EndpointFeature.cs b/src/Microsoft.AspNetCore.Routing/EndpointFeature.cs new file mode 100644 index 0000000000..62d943ca84 --- /dev/null +++ b/src/Microsoft.AspNetCore.Routing/EndpointFeature.cs @@ -0,0 +1,17 @@ +// Copyright (c) .NET Foundation. All rights reserved. +// Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information. + +using System; +using Microsoft.AspNetCore.Http; + +namespace Microsoft.AspNetCore.Routing +{ + public sealed class EndpointFeature : IEndpointFeature + { + public Endpoint Endpoint { get; set; } + + public Func Invoker { get; set; } + + public RouteValueDictionary Values { get; set; } + } +} diff --git a/src/Microsoft.AspNetCore.Routing/EndpointMiddleware.cs b/src/Microsoft.AspNetCore.Routing/EndpointMiddleware.cs new file mode 100644 index 0000000000..51351c0b09 --- /dev/null +++ b/src/Microsoft.AspNetCore.Routing/EndpointMiddleware.cs @@ -0,0 +1,77 @@ +// Copyright (c) .NET Foundation. All rights reserved. +// Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information. + +using System; +using System.Threading.Tasks; +using Microsoft.AspNetCore.Http; +using Microsoft.Extensions.Logging; + +namespace Microsoft.AspNetCore.Routing +{ + internal sealed class EndpointMiddleware + { + private readonly ILogger _logger; + private readonly RequestDelegate _next; + + public EndpointMiddleware(ILogger logger, RequestDelegate next) + { + if (logger == null) + { + throw new ArgumentNullException(nameof(logger)); + } + + if (next == null) + { + throw new ArgumentNullException(nameof(next)); + } + + _logger = logger; + _next = next; + } + + public async Task Invoke(HttpContext httpContext) + { + var feature = httpContext.Features.Get(); + if (feature.Invoker != null) + { + Log.ExecutingEndpoint(_logger, feature.Endpoint); + + try + { + await feature.Invoker(_next)(httpContext); + } + finally + { + Log.ExecutedEndpoint(_logger, feature.Endpoint); + } + + return; + } + + await _next(httpContext); + } + + private static class Log + { + private static readonly Action _executingEndpoint = LoggerMessage.Define( + LogLevel.Information, + new EventId(0, "ExecutingEndpoint"), + "Executing endpoint '{EndpointName}'."); + + private static readonly Action _executedEndpoint = LoggerMessage.Define( + LogLevel.Information, + new EventId(1, "ExecutedEndpoint"), + "Executed endpoint '{EndpointName}'."); + + public static void ExecutingEndpoint(ILogger logger, Endpoint endpoint) + { + _executingEndpoint(logger, endpoint.DisplayName, null); + } + + public static void ExecutedEndpoint(ILogger logger, Endpoint endpoint) + { + _executingEndpoint(logger, endpoint.DisplayName, null); + } + } + } +} diff --git a/src/Microsoft.AspNetCore.Routing/Internal/DataSourceDependantCache.cs b/src/Microsoft.AspNetCore.Routing/Internal/DataSourceDependantCache.cs new file mode 100644 index 0000000000..4ea432ca8d --- /dev/null +++ b/src/Microsoft.AspNetCore.Routing/Internal/DataSourceDependantCache.cs @@ -0,0 +1,55 @@ +// Copyright (c) .NET Foundation. All rights reserved. +// Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information. + +using System; +using System.Collections.Generic; +using System.Threading; + +namespace Microsoft.AspNetCore.Routing.Internal +{ + internal class DataSourceDependantCache where T : class + { + private readonly EndpointDataSource _dataSource; + private readonly Func, T> _initializeCore; + private readonly Func _initializer; + private readonly Action _initializerWithState; + + private object _lock; + private bool _initialized; + private T _value; + + public DataSourceDependantCache(EndpointDataSource dataSource, Func, T> initialize) + { + if (dataSource == null) + { + throw new ArgumentNullException(nameof(dataSource)); + } + + _dataSource = dataSource; + _initializeCore = initialize; + + _initializer = Initialize; + _initializerWithState = (state) => Initialize(); + _lock = new object(); + } + + public T Value => _value; + + public T EnsureInitialized() + { + return LazyInitializer.EnsureInitialized(ref _value, ref _initialized, ref _lock, _initializer); + } + + private T Initialize() + { + lock (_lock) + { + var changeToken = _dataSource.ChangeToken; + _value = _initializeCore(_dataSource.Endpoints); + + changeToken.RegisterChangeCallback(_initializerWithState, null); + return _value; + } + } + } +} diff --git a/src/Microsoft.AspNetCore.Routing/Matchers/AmbiguousMatchException.cs b/src/Microsoft.AspNetCore.Routing/Matchers/AmbiguousMatchException.cs new file mode 100644 index 0000000000..e0d7a75397 --- /dev/null +++ b/src/Microsoft.AspNetCore.Routing/Matchers/AmbiguousMatchException.cs @@ -0,0 +1,25 @@ +// Copyright (c) .NET Foundation. All rights reserved. +// Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information. + +using System; +using System.Runtime.Serialization; + +namespace Microsoft.AspNetCore.Routing.Matchers +{ + /// + /// An exception which indicates multiple matches in endpoint selection. + /// + [Serializable] + internal class AmbiguousMatchException : Exception + { + public AmbiguousMatchException(string message) + : base(message) + { + } + + protected AmbiguousMatchException(SerializationInfo info, StreamingContext context) + : base(info, context) + { + } + } +} \ No newline at end of file diff --git a/src/Microsoft.AspNetCore.Routing/Matchers/IMatcherFactory.cs b/src/Microsoft.AspNetCore.Routing/Matchers/IMatcherFactory.cs new file mode 100644 index 0000000000..3975443b0e --- /dev/null +++ b/src/Microsoft.AspNetCore.Routing/Matchers/IMatcherFactory.cs @@ -0,0 +1,10 @@ +// Copyright (c) .NET Foundation. All rights reserved. +// Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information. + +namespace Microsoft.AspNetCore.Routing.Matchers +{ + internal abstract class MatcherFactory + { + public abstract Matcher CreateMatcher(EndpointDataSource dataSource); + } +} diff --git a/src/Microsoft.AspNetCore.Routing/Matchers/Matcher.cs b/src/Microsoft.AspNetCore.Routing/Matchers/Matcher.cs new file mode 100644 index 0000000000..9cb5921e6a --- /dev/null +++ b/src/Microsoft.AspNetCore.Routing/Matchers/Matcher.cs @@ -0,0 +1,25 @@ +// Copyright (c) .NET Foundation. All rights reserved. +// Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information. + +using System.Threading.Tasks; +using Microsoft.AspNetCore.Http; + +namespace Microsoft.AspNetCore.Routing.Matchers +{ + /// + /// An interface for components that can select an given the current request, as part + /// of the execution of . + /// + internal abstract class Matcher + { + /// + /// Attempts to asynchronously select an for the current request. + /// + /// The associated with the current request. + /// + /// The associated with the current request. The + /// will be mutated to contain the result of the operation. + /// A which represents the asynchronous completion of the operation. + public abstract Task MatchAsync(HttpContext httpContext, IEndpointFeature feature); + } +} diff --git a/src/Microsoft.AspNetCore.Routing/Matchers/MatcherEndpoint.cs b/src/Microsoft.AspNetCore.Routing/Matchers/MatcherEndpoint.cs new file mode 100644 index 0000000000..a4bc0fc9ea --- /dev/null +++ b/src/Microsoft.AspNetCore.Routing/Matchers/MatcherEndpoint.cs @@ -0,0 +1,42 @@ +// Copyright (c) .NET Foundation. All rights reserved. +// Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information. + +using System; +using System.Collections.Generic; +using Microsoft.AspNetCore.Http; + +namespace Microsoft.AspNetCore.Routing.Matchers +{ + internal sealed class MatcherEndpoint : Endpoint + { + public MatcherEndpoint( + Func invoker, + string template, + object values, + int order, + EndpointMetadataCollection metadata, + string displayName) + : base(metadata, displayName) + { + if (invoker == null) + { + throw new ArgumentNullException(nameof(invoker)); + } + + if (template == null) + { + throw new ArgumentNullException(nameof(template)); + } + + Invoker = invoker; + Template = template; + Values = new RouteValueDictionary(values); + } + + public int Order { get; } + public Func Invoker { get; } + public string Template { get; } + + public IReadOnlyDictionary Values { get; } + } +} diff --git a/src/Microsoft.AspNetCore.Routing/Matchers/TreeMatcher.cs b/src/Microsoft.AspNetCore.Routing/Matchers/TreeMatcher.cs new file mode 100644 index 0000000000..be952cddc4 --- /dev/null +++ b/src/Microsoft.AspNetCore.Routing/Matchers/TreeMatcher.cs @@ -0,0 +1,348 @@ +// Copyright (c) .NET Foundation. All rights reserved. +// Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information. + +using System; +using System.Collections.Generic; +using System.Linq; +using System.Threading.Tasks; +using Microsoft.AspNetCore.Http; +using Microsoft.AspNetCore.Routing.Internal; +using Microsoft.AspNetCore.Routing.Template; +using Microsoft.AspNetCore.Routing.Tree; +using Microsoft.Extensions.Internal; +using Microsoft.Extensions.Logging; + +namespace Microsoft.AspNetCore.Routing.Matchers +{ + internal class TreeMatcher : Matcher + { + private readonly IInlineConstraintResolver _constraintFactory; + private readonly ILogger _logger; + private readonly DataSourceDependantCache _cache; + + public TreeMatcher( + IInlineConstraintResolver constraintFactory, + ILogger logger, + EndpointDataSource dataSource) + { + if (constraintFactory == null) + { + throw new ArgumentNullException(nameof(constraintFactory)); + } + + if (logger == null) + { + throw new ArgumentNullException(nameof(logger)); + } + + if (dataSource == null) + { + throw new ArgumentNullException(nameof(dataSource)); + } + + _constraintFactory = constraintFactory; + _logger = logger; + _cache = new DataSourceDependantCache(dataSource, CreateTrees); + _cache.EnsureInitialized(); + } + + public override async Task MatchAsync(HttpContext httpContext, IEndpointFeature feature) + { + if (httpContext == null) + { + throw new ArgumentNullException(nameof(httpContext)); + } + + if (feature == null) + { + throw new ArgumentNullException(nameof(feature)); + } + + var values = new RouteValueDictionary(); + feature.Values = values; + + var cache = _cache.Value; + for (var i = 0; i < cache.Length; i++) + { + var tree = cache[i]; + var tokenizer = new PathTokenizer(httpContext.Request.Path); + + var treenumerator = new Treenumerator(tree.Root, tokenizer); + + while (treenumerator.MoveNext()) + { + var node = treenumerator.Current; + foreach (var item in node.Matches) + { + var entry = item.Entry; + var matcher = item.TemplateMatcher; + + values.Clear(); + if (!matcher.TryMatch(httpContext.Request.Path, values)) + { + continue; + } + + Log.MatchedTemplate(_logger, httpContext, entry.RouteTemplate); + + if (!MatchConstraints(httpContext, values, entry.Constraints)) + { + continue; + } + + await SelectEndpointAsync(httpContext, feature, (MatcherEndpoint[])entry.Tag); + + if (feature.Endpoint != null) + { + if (feature.Endpoint is MatcherEndpoint endpoint) + { + foreach (var kvp in endpoint.Values) + { + if (!feature.Values.ContainsKey(kvp.Key)) + { + feature.Values[kvp.Key] = kvp.Value; + } + } + } + + return; + } + } + } + } + } + + private bool MatchConstraints( + HttpContext httpContext, + RouteValueDictionary values, + IDictionary constraints) + { + if (constraints != null) + { + foreach (var kvp in constraints) + { + var constraint = kvp.Value; + if (!constraint.Match(httpContext, null, kvp.Key, values, RouteDirection.IncomingRequest)) + { + values.TryGetValue(kvp.Key, out var value); + + Log.ConstraintFailed(_logger, value, kvp.Key, kvp.Value); + return false; + } + } + } + + return true; + } + + private Task SelectEndpointAsync(HttpContext httpContext, IEndpointFeature feature, IReadOnlyList endpoints) + { + switch (endpoints.Count) + { + case 0: + { + Log.MatchFailed(_logger, httpContext); + return Task.CompletedTask; + } + + case 1: + { + var endpoint = endpoints[0]; + Log.MatchSuccess(_logger, httpContext, endpoint); + + feature.Endpoint = endpoint; + feature.Invoker = endpoint.Invoker; + + return Task.CompletedTask; + } + + default: + { + Log.MatchAmbiguous(_logger, httpContext, endpoints); + var message = Resources.FormatAmbiguousEndpoints( + Environment.NewLine, + string.Join(Environment.NewLine, endpoints.Select(a => a.DisplayName))); + throw new AmbiguousMatchException(message); + } + } + } + + private UrlMatchingTree[] CreateTrees(IReadOnlyList endpoints) + { + var groups = new Dictionary>(); + + for (var i = 0; i < endpoints.Count; i++) + { + var endpoint = endpoints[i] as MatcherEndpoint; + if (endpoint == null) + { + continue; + } + + var order = endpoint.Order; + if (!groups.TryGetValue(new Key(order, endpoint.Template), out var group)) + { + group = new List(); + groups.Add(new Key(order, endpoint.Template), group); + } + + group.Add(endpoint); + } + + var entries = new List(); + foreach (var group in groups) + { + var template = TemplateParser.Parse(group.Key.Template); + var entryExists = entries.Any(item => item.RouteTemplate.TemplateText == template.TemplateText); + if (!entryExists) + { + entries.Add(MapInbound(template, group.Value.ToArray(), group.Key.Order)); + } + } + + var trees = new List(); + for (var i = 0; i < entries.Count; i++) + { + var entry = entries[i]; + + while (trees.Count <= entry.Order) + { + trees.Add(new UrlMatchingTree(entry.Order)); + } + + var tree = trees[entry.Order]; + tree.AddEntry(entry); + } + + return trees.ToArray(); + } + + private InboundRouteEntry MapInbound(RouteTemplate template, Endpoint[] endpoints, int order) + { + if (template == null) + { + throw new ArgumentNullException(nameof(template)); + } + + var entry = new InboundRouteEntry() + { + Precedence = RoutePrecedence.ComputeInbound(template), + RouteTemplate = template, + Order = order, + Tag = endpoints, + }; + + var constraintBuilder = new RouteConstraintBuilder(_constraintFactory, template.TemplateText); + foreach (var parameter in template.Parameters) + { + if (parameter.InlineConstraints != null) + { + if (parameter.IsOptional) + { + constraintBuilder.SetOptional(parameter.Name); + } + + foreach (var constraint in parameter.InlineConstraints) + { + constraintBuilder.AddResolvedConstraint(parameter.Name, constraint.Constraint); + } + } + } + + entry.Constraints = constraintBuilder.Build(); + + entry.Defaults = new RouteValueDictionary(); + foreach (var parameter in entry.RouteTemplate.Parameters) + { + if (parameter.DefaultValue != null) + { + entry.Defaults.Add(parameter.Name, parameter.DefaultValue); + } + } + return entry; + } + + private struct Key : IEquatable + { + public readonly int Order; + public readonly string Template; + + public Key(int order, string routePattern) + { + Order = order; + Template = routePattern; + } + + public bool Equals(Key other) + { + return Order == other.Order && string.Equals(Template, other.Template, StringComparison.OrdinalIgnoreCase); + } + + public override bool Equals(object obj) + { + return obj is Key ? Equals((Key)obj) : false; + } + + public override int GetHashCode() + { + var hash = new HashCodeCombiner(); + hash.Add(Order); + hash.Add(Template, StringComparer.OrdinalIgnoreCase); + return hash; + } + } + + private static class Log + { + private static readonly Action _matchSuccess = LoggerMessage.Define( + LogLevel.Debug, + new EventId(0, "MatchSuccess"), + "Request matched endpoint '{EndpointName}' for request path '{Path}'."); + + private static readonly Action _matchFailed = LoggerMessage.Define( + LogLevel.Debug, + new EventId(1, "MatchFailed"), + "No endpoints matched request path '{Path}'."); + + private static readonly Action, Exception> _matchAmbiguous = LoggerMessage.Define>( + LogLevel.Error, + new EventId(2, "MatchAmbiguous"), + "Request matched multiple endpoints for request path '{Path}'. Matching endpoints: {AmbiguousEndpoints}"); + + private static readonly Action _constraintFailed = LoggerMessage.Define( + LogLevel.Debug, + new EventId(3, "ContraintFailed"), + "Route value '{RouteValue}' with key '{RouteKey}' did not match the constraint '{RouteConstraint}'."); + + private static readonly Action _matchedTemplate = LoggerMessage.Define( + LogLevel.Debug, + new EventId(4, "MatchedTemplate"), + "Request matched the route pattern '{RouteTemplate}' for request path '{Path}'."); + + public static void MatchSuccess(ILogger logger, HttpContext httpContext, Endpoint endpoint) + { + _matchSuccess(logger, endpoint.DisplayName, httpContext.Request.Path, null); + } + + public static void MatchFailed(ILogger logger, HttpContext httpContext) + { + _matchFailed(logger, httpContext.Request.Path, null); + } + + public static void MatchAmbiguous(ILogger logger, HttpContext httpContext, IEnumerable endpoints) + { + _matchAmbiguous(logger, httpContext.Request.Path, endpoints.Select(e => e.DisplayName), null); + } + + public static void ConstraintFailed(ILogger logger, object routeValue, string routeKey, IRouteConstraint routeConstraint) + { + _constraintFailed(logger, routeValue, routeKey, routeConstraint, null); + } + + public static void MatchedTemplate(ILogger logger, HttpContext httpContext, RouteTemplate template) + { + _matchedTemplate(logger, httpContext.Request.Path, template.TemplateText, null); + } + } + } +} diff --git a/src/Microsoft.AspNetCore.Routing/Matchers/TreeMatcherFactory.cs b/src/Microsoft.AspNetCore.Routing/Matchers/TreeMatcherFactory.cs new file mode 100644 index 0000000000..1e90b82a14 --- /dev/null +++ b/src/Microsoft.AspNetCore.Routing/Matchers/TreeMatcherFactory.cs @@ -0,0 +1,40 @@ +// Copyright (c) .NET Foundation. All rights reserved. +// Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information. + +using System; +using Microsoft.Extensions.Logging; + +namespace Microsoft.AspNetCore.Routing.Matchers +{ + internal class TreeMatcherFactory : MatcherFactory + { + private readonly IInlineConstraintResolver _constraintFactory; + private readonly ILogger _logger; + + public TreeMatcherFactory(IInlineConstraintResolver constraintFactory, ILogger logger) + { + if (constraintFactory == null) + { + throw new ArgumentNullException(nameof(constraintFactory)); + } + + if (logger == null) + { + throw new ArgumentNullException(nameof(logger)); + } + + _constraintFactory = constraintFactory; + _logger = logger; + } + + public override Matcher CreateMatcher(EndpointDataSource dataSource) + { + if (dataSource == null) + { + throw new ArgumentNullException(nameof(dataSource)); + } + + return new TreeMatcher(_constraintFactory, _logger, dataSource); + } + } +} diff --git a/src/Microsoft.AspNetCore.Routing/Properties/AssemblyInfo.cs b/src/Microsoft.AspNetCore.Routing/Properties/AssemblyInfo.cs index d8b03e1556..e78ab5ccec 100644 --- a/src/Microsoft.AspNetCore.Routing/Properties/AssemblyInfo.cs +++ b/src/Microsoft.AspNetCore.Routing/Properties/AssemblyInfo.cs @@ -4,3 +4,4 @@ using System.Runtime.CompilerServices; [assembly: InternalsVisibleTo("Microsoft.AspNetCore.Routing.Tests, PublicKey=0024000004800000940000000602000000240000525341310004000001000100f33a29044fa9d740c9b3213a93e57c84b472c84e0b8a0e1ae48e67a9f8f6de9d5f7f3d52ac23e48ac51801f1dc950abe901da34d2a9e3baadb141a17c77ef3c565dd5ee5054b91cf63bb3c6ab83f72ab3aafe93d0fc3c2348b764fafb0b1c0733de51459aeab46580384bf9d74c4e28164b7cde247f891ba07891c9d872ad2bb")] +[assembly: InternalsVisibleTo("DispatcherSample.Web, PublicKey=0024000004800000940000000602000000240000525341310004000001000100f33a29044fa9d740c9b3213a93e57c84b472c84e0b8a0e1ae48e67a9f8f6de9d5f7f3d52ac23e48ac51801f1dc950abe901da34d2a9e3baadb141a17c77ef3c565dd5ee5054b91cf63bb3c6ab83f72ab3aafe93d0fc3c2348b764fafb0b1c0733de51459aeab46580384bf9d74c4e28164b7cde247f891ba07891c9d872ad2bb")] diff --git a/src/Microsoft.AspNetCore.Routing/Properties/Resources.Designer.cs b/src/Microsoft.AspNetCore.Routing/Properties/Resources.Designer.cs index 6d2bb0a7c9..9384008378 100644 --- a/src/Microsoft.AspNetCore.Routing/Properties/Resources.Designer.cs +++ b/src/Microsoft.AspNetCore.Routing/Properties/Resources.Designer.cs @@ -402,6 +402,20 @@ namespace Microsoft.AspNetCore.Routing internal static string FormatTemplateRoute_Exception(object p0, object p1) => string.Format(CultureInfo.CurrentCulture, GetString("TemplateRoute_Exception"), p0, p1); + /// + /// The request matched multiple endpoints. Matches: {0}{0}{1} + /// + internal static string AmbiguousEndpoints + { + get => GetString("AmbiguousEndpoints"); + } + + /// + /// The request matched multiple endpoints. Matches: {0}{0}{1} + /// + internal static string FormatAmbiguousEndpoints(object p0, object p1) + => string.Format(CultureInfo.CurrentCulture, GetString("AmbiguousEndpoints"), p0, p1); + private static string GetString(string name, params string[] formatterNames) { var value = _resourceManager.GetString(name); diff --git a/src/Microsoft.AspNetCore.Routing/Resources.resx b/src/Microsoft.AspNetCore.Routing/Resources.resx index d883906f7c..354bdfda0e 100644 --- a/src/Microsoft.AspNetCore.Routing/Resources.resx +++ b/src/Microsoft.AspNetCore.Routing/Resources.resx @@ -201,4 +201,7 @@ An error occurred while creating the route with name '{0}' and template '{1}'. + + The request matched multiple endpoints. Matches: {0}{0}{1} + \ No newline at end of file diff --git a/src/Microsoft.AspNetCore.Routing/Tree/InboundRouteEntry.cs b/src/Microsoft.AspNetCore.Routing/Tree/InboundRouteEntry.cs index 7c4a5f0abc..1a1dd3daa7 100644 --- a/src/Microsoft.AspNetCore.Routing/Tree/InboundRouteEntry.cs +++ b/src/Microsoft.AspNetCore.Routing/Tree/InboundRouteEntry.cs @@ -52,5 +52,7 @@ namespace Microsoft.AspNetCore.Routing.Tree /// Gets or sets the . /// public RouteTemplate RouteTemplate { get; set; } + + public object Tag { get; set; } } } diff --git a/src/Microsoft.AspNetCore.Routing/Tree/TreeRouteBuilder.cs b/src/Microsoft.AspNetCore.Routing/Tree/TreeRouteBuilder.cs index a746e7d170..400424f4c1 100644 --- a/src/Microsoft.AspNetCore.Routing/Tree/TreeRouteBuilder.cs +++ b/src/Microsoft.AspNetCore.Routing/Tree/TreeRouteBuilder.cs @@ -266,7 +266,7 @@ namespace Microsoft.AspNetCore.Routing.Tree trees.Add(entry.Order, tree); } - AddEntryToTree(tree, entry); + tree.AddEntry(entry); } return new TreeRouter( @@ -288,167 +288,5 @@ namespace Microsoft.AspNetCore.Routing.Tree InboundEntries.Clear(); OutboundEntries.Clear(); } - - private void AddEntryToTree(UrlMatchingTree tree, InboundRouteEntry entry) - { - // The url matching tree represents all the routes asociated with a given - // order. Each node in the tree represents all the different categories - // a segment can have for which there is a defined inbound route entry. - // Each node contains a set of Matches that indicate all the routes for which - // a URL is a potential match. This list contains the routes with the same - // number of segments and the routes with the same number of segments plus an - // additional catch all parameter (as it can be empty). - // For example, for a set of routes like: - // 'Customer/Index/{id}' - // '{Controller}/{Action}/{*parameters}' - // - // The route tree will look like: - // Root -> - // Literals: Customer -> - // Literals: Index -> - // Parameters: {id} - // Matches: 'Customer/Index/{id}' - // Parameters: {Controller} -> - // Parameters: {Action} -> - // Matches: '{Controller}/{Action}/{*parameters}' - // CatchAlls: {*parameters} - // Matches: '{Controller}/{Action}/{*parameters}' - // - // When the tree router tries to match a route, it iterates the list of url matching trees - // in ascending order. For each tree it traverses each node starting from the root in the - // following order: Literals, constrained parameters, parameters, constrained catch all routes, catch alls. - // When it gets to a node of the same length as the route its trying to match, it simply looks at the list of - // candidates (which is in precence order) and tries to match the url against it. - // - - var current = tree.Root; - var matcher = new TemplateMatcher(entry.RouteTemplate, entry.Defaults); - - for (var i = 0; i < entry.RouteTemplate.Segments.Count; i++) - { - var segment = entry.RouteTemplate.Segments[i]; - if (!segment.IsSimple) - { - // Treat complex segments as a constrained parameter - if (current.ConstrainedParameters == null) - { - current.ConstrainedParameters = new UrlMatchingNode(length: i + 1); - } - - current = current.ConstrainedParameters; - continue; - } - - Debug.Assert(segment.Parts.Count == 1); - var part = segment.Parts[0]; - if (part.IsLiteral) - { - UrlMatchingNode next; - if (!current.Literals.TryGetValue(part.Text, out next)) - { - next = new UrlMatchingNode(length: i + 1); - current.Literals.Add(part.Text, next); - } - - current = next; - continue; - } - - // We accept templates that have intermediate optional values, but we ignore - // those values for route matching. For that reason, we need to add the entry - // to the list of matches, only if the remaining segments are optional. For example: - // /{controller}/{action=Index}/{id} will be equivalent to /{controller}/{action}/{id} - // for the purposes of route matching. - if (part.IsParameter && - RemainingSegmentsAreOptional(entry.RouteTemplate.Segments, i)) - { - current.Matches.Add(new InboundMatch() { Entry = entry, TemplateMatcher = matcher }); - } - - if (part.IsParameter && part.InlineConstraints.Any() && !part.IsCatchAll) - { - if (current.ConstrainedParameters == null) - { - current.ConstrainedParameters = new UrlMatchingNode(length: i + 1); - } - - current = current.ConstrainedParameters; - continue; - } - - if (part.IsParameter && !part.IsCatchAll) - { - if (current.Parameters == null) - { - current.Parameters = new UrlMatchingNode(length: i + 1); - } - - current = current.Parameters; - continue; - } - - if (part.IsParameter && part.InlineConstraints.Any() && part.IsCatchAll) - { - if (current.ConstrainedCatchAlls == null) - { - current.ConstrainedCatchAlls = new UrlMatchingNode(length: i + 1) { IsCatchAll = true }; - } - - current = current.ConstrainedCatchAlls; - continue; - } - - if (part.IsParameter && part.IsCatchAll) - { - if (current.CatchAlls == null) - { - current.CatchAlls = new UrlMatchingNode(length: i + 1) { IsCatchAll = true }; - } - - current = current.CatchAlls; - continue; - } - - Debug.Fail("We shouldn't get here."); - } - - current.Matches.Add(new InboundMatch() { Entry = entry, TemplateMatcher = matcher }); - current.Matches.Sort((x, y) => - { - var result = x.Entry.Precedence.CompareTo(y.Entry.Precedence); - return result == 0 ? x.Entry.RouteTemplate.TemplateText.CompareTo(y.Entry.RouteTemplate.TemplateText) : result; - }); - } - - private static bool RemainingSegmentsAreOptional(IList segments, int currentParameterIndex) - { - for (var i = currentParameterIndex; i < segments.Count; i++) - { - if (!segments[i].IsSimple) - { - // /{complex}-{segment} - return false; - } - - var part = segments[i].Parts[0]; - if (!part.IsParameter) - { - // /literal - return false; - } - - var isOptionlCatchAllOrHasDefaultValue = part.IsOptional || - part.IsCatchAll || - part.DefaultValue != null; - - if (!isOptionlCatchAllOrHasDefaultValue) - { - // /{parameter} - return false; - } - } - - return true; - } } } diff --git a/src/Microsoft.AspNetCore.Routing/Tree/TreeRouter.cs b/src/Microsoft.AspNetCore.Routing/Tree/TreeRouter.cs index 31a1091093..223b65e0e4 100644 --- a/src/Microsoft.AspNetCore.Routing/Tree/TreeRouter.cs +++ b/src/Microsoft.AspNetCore.Routing/Tree/TreeRouter.cs @@ -2,9 +2,7 @@ // Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information. using System; -using System.Collections; using System.Collections.Generic; -using System.Diagnostics; using System.Text.Encodings.Web; using System.Threading.Tasks; using Microsoft.AspNetCore.Routing.Internal; @@ -179,7 +177,7 @@ namespace Microsoft.AspNetCore.Routing.Tree var tokenizer = new PathTokenizer(context.HttpContext.Request.Path); var root = tree.Root; - var treeEnumerator = new TreeEnumerator(root, tokenizer); + var treeEnumerator = new Treenumerator(root, tokenizer); // Create a snapshot before processing the route. We'll restore this snapshot before running each // to restore the state. This is likely an "empty" snapshot, which doesn't allocate. @@ -233,108 +231,6 @@ namespace Microsoft.AspNetCore.Routing.Tree } } - private struct TreeEnumerator : IEnumerator - { - private readonly Stack _stack; - private readonly PathTokenizer _tokenizer; - - public TreeEnumerator(UrlMatchingNode root, PathTokenizer tokenizer) - { - _stack = new Stack(); - _tokenizer = tokenizer; - Current = null; - - _stack.Push(root); - } - - public UrlMatchingNode Current { get; private set; } - - object IEnumerator.Current => Current; - - public void Dispose() - { - } - - public bool MoveNext() - { - if (_stack == null) - { - return false; - } - - while (_stack.Count > 0) - { - var next = _stack.Pop(); - - // In case of wild card segment, the request path segment length can be greater - // Example: - // Template: a/{*path} - // Request Url: a/b/c/d - if (next.IsCatchAll && next.Matches.Count > 0) - { - Current = next; - return true; - } - // Next template has the same length as the url we are trying to match - // The only possible matching segments are either our current matches or - // any catch-all segment after this segment in which the catch all is empty. - else if (next.Depth == _tokenizer.Count) - { - if (next.Matches.Count > 0) - { - Current = next; - return true; - } - else - { - // We can stop looking as any other child node from this node will be - // either a literal, a constrained parameter or a parameter. - // (Catch alls and constrained catch alls will show up as candidate matches). - continue; - } - } - - if (next.CatchAlls != null) - { - _stack.Push(next.CatchAlls); - } - - if (next.ConstrainedCatchAlls != null) - { - _stack.Push(next.ConstrainedCatchAlls); - } - - if (next.Parameters != null) - { - _stack.Push(next.Parameters); - } - - if (next.ConstrainedParameters != null) - { - _stack.Push(next.ConstrainedParameters); - } - - if (next.Literals.Count > 0) - { - UrlMatchingNode node; - Debug.Assert(next.Depth < _tokenizer.Count); - if (next.Literals.TryGetValue(_tokenizer[next.Depth].Value, out node)) - { - _stack.Push(node); - } - } - } - - return false; - } - - public void Reset() - { - _stack.Clear(); - Current = null; - } - } - private VirtualPathData GetVirtualPathForNamedRoute(VirtualPathContext context) { OutboundMatch match; diff --git a/src/Microsoft.AspNetCore.Routing/Tree/Treenumerator.cs b/src/Microsoft.AspNetCore.Routing/Tree/Treenumerator.cs new file mode 100644 index 0000000000..5da4d3ce09 --- /dev/null +++ b/src/Microsoft.AspNetCore.Routing/Tree/Treenumerator.cs @@ -0,0 +1,112 @@ +// Copyright (c) .NET Foundation. All rights reserved. +// Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information. + +using System.Collections; +using System.Collections.Generic; +using System.Diagnostics; +using Microsoft.AspNetCore.Routing.Internal; + +namespace Microsoft.AspNetCore.Routing.Tree +{ + internal struct Treenumerator : IEnumerator + { + private readonly Stack _stack; + private readonly PathTokenizer _tokenizer; + + public Treenumerator(UrlMatchingNode root, PathTokenizer tokenizer) + { + _stack = new Stack(); + _tokenizer = tokenizer; + Current = null; + + _stack.Push(root); + } + + public UrlMatchingNode Current { get; private set; } + + object IEnumerator.Current => Current; + + public void Dispose() + { + } + + public bool MoveNext() + { + if (_stack == null) + { + return false; + } + + while (_stack.Count > 0) + { + var next = _stack.Pop(); + + // In case of wild card segment, the request path segment length can be greater + // Example: + // Template: a/{*path} + // Request Url: a/b/c/d + if (next.IsCatchAll && next.Matches.Count > 0) + { + Current = next; + return true; + } + // Next template has the same length as the url we are trying to match + // The only possible matching segments are either our current matches or + // any catch-all segment after this segment in which the catch all is empty. + else if (next.Depth == _tokenizer.Count) + { + if (next.Matches.Count > 0) + { + Current = next; + return true; + } + else + { + // We can stop looking as any other child node from this node will be + // either a literal, a constrained parameter or a parameter. + // (Catch alls and constrained catch alls will show up as candidate matches). + continue; + } + } + + if (next.CatchAlls != null) + { + _stack.Push(next.CatchAlls); + } + + if (next.ConstrainedCatchAlls != null) + { + _stack.Push(next.ConstrainedCatchAlls); + } + + if (next.Parameters != null) + { + _stack.Push(next.Parameters); + } + + if (next.ConstrainedParameters != null) + { + _stack.Push(next.ConstrainedParameters); + } + + if (next.Literals.Count > 0) + { + UrlMatchingNode node; + Debug.Assert(next.Depth < _tokenizer.Count); + if (next.Literals.TryGetValue(_tokenizer[next.Depth].Value, out node)) + { + _stack.Push(node); + } + } + } + + return false; + } + + public void Reset() + { + _stack.Clear(); + Current = null; + } + } +} diff --git a/src/Microsoft.AspNetCore.Routing/Tree/UrlMatchingTree.cs b/src/Microsoft.AspNetCore.Routing/Tree/UrlMatchingTree.cs index 90528d75b9..96e6940653 100644 --- a/src/Microsoft.AspNetCore.Routing/Tree/UrlMatchingTree.cs +++ b/src/Microsoft.AspNetCore.Routing/Tree/UrlMatchingTree.cs @@ -1,6 +1,11 @@ // Copyright (c) .NET Foundation. All rights reserved. // Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information. +using System.Collections.Generic; +using System.Diagnostics; +using System.Linq; +using Microsoft.AspNetCore.Routing.Template; + namespace Microsoft.AspNetCore.Routing.Tree { /// @@ -26,5 +31,167 @@ namespace Microsoft.AspNetCore.Routing.Tree /// Gets the root of the . /// public UrlMatchingNode Root { get; } = new UrlMatchingNode(length: 0); + + internal void AddEntry(InboundRouteEntry entry) + { + // The url matching tree represents all the routes asociated with a given + // order. Each node in the tree represents all the different categories + // a segment can have for which there is a defined inbound route entry. + // Each node contains a set of Matches that indicate all the routes for which + // a URL is a potential match. This list contains the routes with the same + // number of segments and the routes with the same number of segments plus an + // additional catch all parameter (as it can be empty). + // For example, for a set of routes like: + // 'Customer/Index/{id}' + // '{Controller}/{Action}/{*parameters}' + // + // The route tree will look like: + // Root -> + // Literals: Customer -> + // Literals: Index -> + // Parameters: {id} + // Matches: 'Customer/Index/{id}' + // Parameters: {Controller} -> + // Parameters: {Action} -> + // Matches: '{Controller}/{Action}/{*parameters}' + // CatchAlls: {*parameters} + // Matches: '{Controller}/{Action}/{*parameters}' + // + // When the tree router tries to match a route, it iterates the list of url matching trees + // in ascending order. For each tree it traverses each node starting from the root in the + // following order: Literals, constrained parameters, parameters, constrained catch all routes, catch alls. + // When it gets to a node of the same length as the route its trying to match, it simply looks at the list of + // candidates (which is in precence order) and tries to match the url against it. + // + + var current = Root; + var matcher = new TemplateMatcher(entry.RouteTemplate, entry.Defaults); + + for (var i = 0; i < entry.RouteTemplate.Segments.Count; i++) + { + var segment = entry.RouteTemplate.Segments[i]; + if (!segment.IsSimple) + { + // Treat complex segments as a constrained parameter + if (current.ConstrainedParameters == null) + { + current.ConstrainedParameters = new UrlMatchingNode(length: i + 1); + } + + current = current.ConstrainedParameters; + continue; + } + + Debug.Assert(segment.Parts.Count == 1); + var part = segment.Parts[0]; + if (part.IsLiteral) + { + UrlMatchingNode next; + if (!current.Literals.TryGetValue(part.Text, out next)) + { + next = new UrlMatchingNode(length: i + 1); + current.Literals.Add(part.Text, next); + } + + current = next; + continue; + } + + // We accept templates that have intermediate optional values, but we ignore + // those values for route matching. For that reason, we need to add the entry + // to the list of matches, only if the remaining segments are optional. For example: + // /{controller}/{action=Index}/{id} will be equivalent to /{controller}/{action}/{id} + // for the purposes of route matching. + if (part.IsParameter && + RemainingSegmentsAreOptional(entry.RouteTemplate.Segments, i)) + { + current.Matches.Add(new InboundMatch() { Entry = entry, TemplateMatcher = matcher }); + } + + if (part.IsParameter && part.InlineConstraints.Any() && !part.IsCatchAll) + { + if (current.ConstrainedParameters == null) + { + current.ConstrainedParameters = new UrlMatchingNode(length: i + 1); + } + + current = current.ConstrainedParameters; + continue; + } + + if (part.IsParameter && !part.IsCatchAll) + { + if (current.Parameters == null) + { + current.Parameters = new UrlMatchingNode(length: i + 1); + } + + current = current.Parameters; + continue; + } + + if (part.IsParameter && part.InlineConstraints.Any() && part.IsCatchAll) + { + if (current.ConstrainedCatchAlls == null) + { + current.ConstrainedCatchAlls = new UrlMatchingNode(length: i + 1) { IsCatchAll = true }; + } + + current = current.ConstrainedCatchAlls; + continue; + } + + if (part.IsParameter && part.IsCatchAll) + { + if (current.CatchAlls == null) + { + current.CatchAlls = new UrlMatchingNode(length: i + 1) { IsCatchAll = true }; + } + + current = current.CatchAlls; + continue; + } + + Debug.Fail("We shouldn't get here."); + } + + current.Matches.Add(new InboundMatch() { Entry = entry, TemplateMatcher = matcher }); + current.Matches.Sort((x, y) => + { + var result = x.Entry.Precedence.CompareTo(y.Entry.Precedence); + return result == 0 ? x.Entry.RouteTemplate.TemplateText.CompareTo(y.Entry.RouteTemplate.TemplateText) : result; + }); + } + + private static bool RemainingSegmentsAreOptional(IList segments, int currentParameterIndex) + { + for (var i = currentParameterIndex; i < segments.Count; i++) + { + if (!segments[i].IsSimple) + { + // /{complex}-{segment} + return false; + } + + var part = segments[i].Parts[0]; + if (!part.IsParameter) + { + // /literal + return false; + } + + var isOptionlCatchAllOrHasDefaultValue = part.IsOptional || + part.IsCatchAll || + part.DefaultValue != null; + + if (!isOptionlCatchAllOrHasDefaultValue) + { + // /{parameter} + return false; + } + } + + return true; + } } } From 81dde1a9f182960a3013bc9c14caa15e133619ff Mon Sep 17 00:00:00 2001 From: James Newton-King Date: Fri, 1 Jun 2018 16:03:49 +1200 Subject: [PATCH 018/221] PR feedback --- samples/DispatcherSample.Web/Startup.cs | 30 +++++++++++++------ .../MetadataCollection.cs | 5 ++-- .../DispatcherMiddleware.cs | 2 +- .../EndpointMiddleware.cs | 2 +- .../Internal/DataSourceDependantCache.cs | 3 ++ .../Matchers/MatcherEndpoint.cs | 3 +- .../{IMatcherFactory.cs => MatcherFactory.cs} | 0 .../Matchers/TreeMatcher.cs | 3 +- .../Properties/AssemblyInfo.cs | 1 - .../Tree/InboundRouteEntry.cs | 1 + 10 files changed, 34 insertions(+), 16 deletions(-) rename src/Microsoft.AspNetCore.Routing/Matchers/{IMatcherFactory.cs => MatcherFactory.cs} (100%) diff --git a/samples/DispatcherSample.Web/Startup.cs b/samples/DispatcherSample.Web/Startup.cs index 41dfcf113e..4b8a461ff1 100644 --- a/samples/DispatcherSample.Web/Startup.cs +++ b/samples/DispatcherSample.Web/Startup.cs @@ -1,6 +1,7 @@ // Copyright (c) .NET Foundation. All rights reserved. // Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information. +using System; using System.Text; using Microsoft.AspNetCore.Builder; using Microsoft.AspNetCore.Routing; @@ -11,6 +12,7 @@ namespace DispatcherSample.Web { public class Startup { + private static readonly byte[] _homePayload = Encoding.UTF8.GetBytes("Dispatcher sample endpoints:" + Environment.NewLine + "/plaintext"); private static readonly byte[] _helloWorldPayload = Encoding.UTF8.GetBytes("Hello, World!"); public void ConfigureServices(IServiceCollection services) @@ -21,15 +23,25 @@ namespace DispatcherSample.Web options.DataSources.Add(new DefaultEndpointDataSource(new[] { new MatcherEndpoint((next) => (httpContext) => - { - var response = httpContext.Response; - var payloadLength = _helloWorldPayload.Length; - response.StatusCode = 200; - response.ContentType = "text/plain"; - response.ContentLength = payloadLength; - return response.Body.WriteAsync(_helloWorldPayload, 0, payloadLength); - }, - "/plaintext", new { }, 0, EndpointMetadataCollection.Empty, "Plaintext"), + { + var response = httpContext.Response; + var payloadLength = _homePayload.Length; + response.StatusCode = 200; + response.ContentType = "text/plain"; + response.ContentLength = payloadLength; + return response.Body.WriteAsync(_homePayload, 0, payloadLength); + }, + "/", new { }, 0, EndpointMetadataCollection.Empty, "Home"), + new MatcherEndpoint((next) => (httpContext) => + { + var response = httpContext.Response; + var payloadLength = _helloWorldPayload.Length; + response.StatusCode = 200; + response.ContentType = "text/plain"; + response.ContentLength = payloadLength; + return response.Body.WriteAsync(_helloWorldPayload, 0, payloadLength); + }, + "/plaintext", new { }, 0, EndpointMetadataCollection.Empty, "Plaintext"), })); }); } diff --git a/src/Microsoft.AspNetCore.Routing.Abstractions/MetadataCollection.cs b/src/Microsoft.AspNetCore.Routing.Abstractions/MetadataCollection.cs index a90f8590e8..9829ab396c 100644 --- a/src/Microsoft.AspNetCore.Routing.Abstractions/MetadataCollection.cs +++ b/src/Microsoft.AspNetCore.Routing.Abstractions/MetadataCollection.cs @@ -30,10 +30,10 @@ namespace Microsoft.AspNetCore.Routing public T GetMetadata() where T : class { - for (var i = _items.Length -1; i >= 0; i--) + for (var i = _items.Length - 1; i >= 0; i--) { var item = _items[i] as T; - if (item !=null) + if (item != null) { return item; } @@ -62,6 +62,7 @@ namespace Microsoft.AspNetCore.Routing public struct Enumerator : IEnumerator { + // Intentionally not readonly to prevent defensive struct copies private object[] _items; private int _index; private object _current; diff --git a/src/Microsoft.AspNetCore.Routing/DispatcherMiddleware.cs b/src/Microsoft.AspNetCore.Routing/DispatcherMiddleware.cs index 98bfce4601..885d673028 100644 --- a/src/Microsoft.AspNetCore.Routing/DispatcherMiddleware.cs +++ b/src/Microsoft.AspNetCore.Routing/DispatcherMiddleware.cs @@ -57,7 +57,7 @@ namespace Microsoft.AspNetCore.Routing var feature = new EndpointFeature(); httpContext.Features.Set(feature); - // There's an inherit race condition between waiting for init and accessing the matcher + // There's an inherent race condition between waiting for init and accessing the matcher // this is OK because once `_matcher` is initialized, it will not be set to null again. var matcher = await InitializeAsync(); diff --git a/src/Microsoft.AspNetCore.Routing/EndpointMiddleware.cs b/src/Microsoft.AspNetCore.Routing/EndpointMiddleware.cs index 51351c0b09..5fbb596d79 100644 --- a/src/Microsoft.AspNetCore.Routing/EndpointMiddleware.cs +++ b/src/Microsoft.AspNetCore.Routing/EndpointMiddleware.cs @@ -70,7 +70,7 @@ namespace Microsoft.AspNetCore.Routing public static void ExecutedEndpoint(ILogger logger, Endpoint endpoint) { - _executingEndpoint(logger, endpoint.DisplayName, null); + _executedEndpoint(logger, endpoint.DisplayName, null); } } } diff --git a/src/Microsoft.AspNetCore.Routing/Internal/DataSourceDependantCache.cs b/src/Microsoft.AspNetCore.Routing/Internal/DataSourceDependantCache.cs index 4ea432ca8d..4be08e1402 100644 --- a/src/Microsoft.AspNetCore.Routing/Internal/DataSourceDependantCache.cs +++ b/src/Microsoft.AspNetCore.Routing/Internal/DataSourceDependantCache.cs @@ -33,6 +33,9 @@ namespace Microsoft.AspNetCore.Routing.Internal _lock = new object(); } + // Note that we don't lock here, and think about that in the context of a 'push'. So when data gets 'pushed' + // we start computing a new state, but we're still able to perform operations on the old state until we've + // processed the update. public T Value => _value; public T EnsureInitialized() diff --git a/src/Microsoft.AspNetCore.Routing/Matchers/MatcherEndpoint.cs b/src/Microsoft.AspNetCore.Routing/Matchers/MatcherEndpoint.cs index a4bc0fc9ea..6941597c7b 100644 --- a/src/Microsoft.AspNetCore.Routing/Matchers/MatcherEndpoint.cs +++ b/src/Microsoft.AspNetCore.Routing/Matchers/MatcherEndpoint.cs @@ -7,7 +7,7 @@ using Microsoft.AspNetCore.Http; namespace Microsoft.AspNetCore.Routing.Matchers { - internal sealed class MatcherEndpoint : Endpoint + public sealed class MatcherEndpoint : Endpoint { public MatcherEndpoint( Func invoker, @@ -31,6 +31,7 @@ namespace Microsoft.AspNetCore.Routing.Matchers Invoker = invoker; Template = template; Values = new RouteValueDictionary(values); + Order = order; } public int Order { get; } diff --git a/src/Microsoft.AspNetCore.Routing/Matchers/IMatcherFactory.cs b/src/Microsoft.AspNetCore.Routing/Matchers/MatcherFactory.cs similarity index 100% rename from src/Microsoft.AspNetCore.Routing/Matchers/IMatcherFactory.cs rename to src/Microsoft.AspNetCore.Routing/Matchers/MatcherFactory.cs diff --git a/src/Microsoft.AspNetCore.Routing/Matchers/TreeMatcher.cs b/src/Microsoft.AspNetCore.Routing/Matchers/TreeMatcher.cs index be952cddc4..04dfb28f5e 100644 --- a/src/Microsoft.AspNetCore.Routing/Matchers/TreeMatcher.cs +++ b/src/Microsoft.AspNetCore.Routing/Matchers/TreeMatcher.cs @@ -137,6 +137,7 @@ namespace Microsoft.AspNetCore.Routing.Matchers private Task SelectEndpointAsync(HttpContext httpContext, IEndpointFeature feature, IReadOnlyList endpoints) { + // REVIEW: Note that this code doesn't do anything significant now. This will eventually incorporate something like IActionConstraint switch (endpoints.Count) { case 0: @@ -262,7 +263,7 @@ namespace Microsoft.AspNetCore.Routing.Matchers return entry; } - private struct Key : IEquatable + private readonly struct Key : IEquatable { public readonly int Order; public readonly string Template; diff --git a/src/Microsoft.AspNetCore.Routing/Properties/AssemblyInfo.cs b/src/Microsoft.AspNetCore.Routing/Properties/AssemblyInfo.cs index e78ab5ccec..d8b03e1556 100644 --- a/src/Microsoft.AspNetCore.Routing/Properties/AssemblyInfo.cs +++ b/src/Microsoft.AspNetCore.Routing/Properties/AssemblyInfo.cs @@ -4,4 +4,3 @@ using System.Runtime.CompilerServices; [assembly: InternalsVisibleTo("Microsoft.AspNetCore.Routing.Tests, PublicKey=0024000004800000940000000602000000240000525341310004000001000100f33a29044fa9d740c9b3213a93e57c84b472c84e0b8a0e1ae48e67a9f8f6de9d5f7f3d52ac23e48ac51801f1dc950abe901da34d2a9e3baadb141a17c77ef3c565dd5ee5054b91cf63bb3c6ab83f72ab3aafe93d0fc3c2348b764fafb0b1c0733de51459aeab46580384bf9d74c4e28164b7cde247f891ba07891c9d872ad2bb")] -[assembly: InternalsVisibleTo("DispatcherSample.Web, PublicKey=0024000004800000940000000602000000240000525341310004000001000100f33a29044fa9d740c9b3213a93e57c84b472c84e0b8a0e1ae48e67a9f8f6de9d5f7f3d52ac23e48ac51801f1dc950abe901da34d2a9e3baadb141a17c77ef3c565dd5ee5054b91cf63bb3c6ab83f72ab3aafe93d0fc3c2348b764fafb0b1c0733de51459aeab46580384bf9d74c4e28164b7cde247f891ba07891c9d872ad2bb")] diff --git a/src/Microsoft.AspNetCore.Routing/Tree/InboundRouteEntry.cs b/src/Microsoft.AspNetCore.Routing/Tree/InboundRouteEntry.cs index 1a1dd3daa7..63ea99be2f 100644 --- a/src/Microsoft.AspNetCore.Routing/Tree/InboundRouteEntry.cs +++ b/src/Microsoft.AspNetCore.Routing/Tree/InboundRouteEntry.cs @@ -53,6 +53,7 @@ namespace Microsoft.AspNetCore.Routing.Tree /// public RouteTemplate RouteTemplate { get; set; } + // REVIEW: temporary change to enable reusing the tree router public object Tag { get; set; } } } From 8906d8e5f7f33714b85b477b65faa66dd92adfd6 Mon Sep 17 00:00:00 2001 From: Kiran Challa Date: Fri, 1 Jun 2018 11:18:47 -0700 Subject: [PATCH 019/221] Added functional tests for Dispatcher sample --- .../DispatcherSampleTest.cs | 70 +++++++++++++++++++ ....AspNetCore.Routing.FunctionalTests.csproj | 1 + 2 files changed, 71 insertions(+) create mode 100644 test/Microsoft.AspNetCore.Routing.FunctionalTests/DispatcherSampleTest.cs diff --git a/test/Microsoft.AspNetCore.Routing.FunctionalTests/DispatcherSampleTest.cs b/test/Microsoft.AspNetCore.Routing.FunctionalTests/DispatcherSampleTest.cs new file mode 100644 index 0000000000..ff26a0e250 --- /dev/null +++ b/test/Microsoft.AspNetCore.Routing.FunctionalTests/DispatcherSampleTest.cs @@ -0,0 +1,70 @@ +// Copyright (c) .NET Foundation. All rights reserved. +// Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information. + +using System; +using System.Net; +using System.Net.Http; +using System.Threading.Tasks; +using Microsoft.AspNetCore.TestHost; +using Xunit; + +namespace Microsoft.AspNetCore.Routing.FunctionalTests +{ + public class DispatcherSampleTest : IDisposable + { + private readonly HttpClient _client; + private readonly TestServer _testServer; + + public DispatcherSampleTest() + { + var webHostBuilder = DispatcherSample.Web.Program.GetWebHostBuilder(); + _testServer = new TestServer(webHostBuilder); + _client = _testServer.CreateClient(); + _client.BaseAddress = new Uri("http://localhost"); + } + + [Fact] + public async Task MatchesRootPath_AndReturnsPlaintext() + { + // Arrange + var expectedContentType = "text/plain"; + var expectedContent = "Dispatcher sample endpoints:" + Environment.NewLine + "/plaintext"; + + // Act + var response = await _client.GetAsync("/"); + + // Assert + Assert.Equal(HttpStatusCode.OK, response.StatusCode); + Assert.NotNull(response.Content); + Assert.NotNull(response.Content.Headers.ContentType); + Assert.Equal(expectedContentType, response.Content.Headers.ContentType.MediaType); + var actualContent = await response.Content.ReadAsStringAsync(); + Assert.Equal(expectedContent, actualContent); + } + + [Fact] + public async Task MatchesStaticRouteTemplate_AndReturnsPlaintext() + { + // Arrange + var expectedContentType = "text/plain"; + var expectedContent = "Hello, World!"; + + // Act + var response = await _client.GetAsync("/plaintext"); + + // Assert + Assert.Equal(HttpStatusCode.OK, response.StatusCode); + Assert.NotNull(response.Content); + Assert.NotNull(response.Content.Headers.ContentType); + Assert.Equal(expectedContentType, response.Content.Headers.ContentType.MediaType); + var actualContent = await response.Content.ReadAsStringAsync(); + Assert.Equal(expectedContent, actualContent); + } + + public void Dispose() + { + _testServer.Dispose(); + _client.Dispose(); + } + } +} diff --git a/test/Microsoft.AspNetCore.Routing.FunctionalTests/Microsoft.AspNetCore.Routing.FunctionalTests.csproj b/test/Microsoft.AspNetCore.Routing.FunctionalTests/Microsoft.AspNetCore.Routing.FunctionalTests.csproj index 9520c32ff5..cbbb6f11e1 100644 --- a/test/Microsoft.AspNetCore.Routing.FunctionalTests/Microsoft.AspNetCore.Routing.FunctionalTests.csproj +++ b/test/Microsoft.AspNetCore.Routing.FunctionalTests/Microsoft.AspNetCore.Routing.FunctionalTests.csproj @@ -7,6 +7,7 @@ + From dc4be30d88a2448ae5e363664f38c42682155ebc Mon Sep 17 00:00:00 2001 From: Ryan Nowak Date: Fri, 1 Jun 2018 20:39:34 -0700 Subject: [PATCH 020/221] Rename Treenumerator -> TreeEnumerator --- src/Microsoft.AspNetCore.Routing/Matchers/TreeMatcher.cs | 2 +- .../Tree/{Treenumerator.cs => TreeEnumerator.cs} | 4 ++-- src/Microsoft.AspNetCore.Routing/Tree/TreeRouter.cs | 2 +- 3 files changed, 4 insertions(+), 4 deletions(-) rename src/Microsoft.AspNetCore.Routing/Tree/{Treenumerator.cs => TreeEnumerator.cs} (95%) diff --git a/src/Microsoft.AspNetCore.Routing/Matchers/TreeMatcher.cs b/src/Microsoft.AspNetCore.Routing/Matchers/TreeMatcher.cs index 04dfb28f5e..85548be378 100644 --- a/src/Microsoft.AspNetCore.Routing/Matchers/TreeMatcher.cs +++ b/src/Microsoft.AspNetCore.Routing/Matchers/TreeMatcher.cs @@ -67,7 +67,7 @@ namespace Microsoft.AspNetCore.Routing.Matchers var tree = cache[i]; var tokenizer = new PathTokenizer(httpContext.Request.Path); - var treenumerator = new Treenumerator(tree.Root, tokenizer); + var treenumerator = new TreeEnumerator(tree.Root, tokenizer); while (treenumerator.MoveNext()) { diff --git a/src/Microsoft.AspNetCore.Routing/Tree/Treenumerator.cs b/src/Microsoft.AspNetCore.Routing/Tree/TreeEnumerator.cs similarity index 95% rename from src/Microsoft.AspNetCore.Routing/Tree/Treenumerator.cs rename to src/Microsoft.AspNetCore.Routing/Tree/TreeEnumerator.cs index 5da4d3ce09..db59b0a396 100644 --- a/src/Microsoft.AspNetCore.Routing/Tree/Treenumerator.cs +++ b/src/Microsoft.AspNetCore.Routing/Tree/TreeEnumerator.cs @@ -8,12 +8,12 @@ using Microsoft.AspNetCore.Routing.Internal; namespace Microsoft.AspNetCore.Routing.Tree { - internal struct Treenumerator : IEnumerator + internal struct TreeEnumerator : IEnumerator { private readonly Stack _stack; private readonly PathTokenizer _tokenizer; - public Treenumerator(UrlMatchingNode root, PathTokenizer tokenizer) + public TreeEnumerator(UrlMatchingNode root, PathTokenizer tokenizer) { _stack = new Stack(); _tokenizer = tokenizer; diff --git a/src/Microsoft.AspNetCore.Routing/Tree/TreeRouter.cs b/src/Microsoft.AspNetCore.Routing/Tree/TreeRouter.cs index 223b65e0e4..a4735712f5 100644 --- a/src/Microsoft.AspNetCore.Routing/Tree/TreeRouter.cs +++ b/src/Microsoft.AspNetCore.Routing/Tree/TreeRouter.cs @@ -177,7 +177,7 @@ namespace Microsoft.AspNetCore.Routing.Tree var tokenizer = new PathTokenizer(context.HttpContext.Request.Path); var root = tree.Root; - var treeEnumerator = new Treenumerator(root, tokenizer); + var treeEnumerator = new TreeEnumerator(root, tokenizer); // Create a snapshot before processing the route. We'll restore this snapshot before running each // to restore the state. This is likely an "empty" snapshot, which doesn't allocate. From 2fed6710a9b48093565328515fd83fd345366737 Mon Sep 17 00:00:00 2001 From: Kiran Challa Date: Fri, 1 Jun 2018 11:59:45 -0700 Subject: [PATCH 021/221] Added benchmark and test for dispatcher --- benchmarkapps/Benchmarks/Benchmarks.csproj | 6 +- benchmarkapps/Benchmarks/Program.cs | 31 ++++++++-- .../Benchmarks/StartupUsingDispatcher.cs | 50 ++++++++++++++++ .../{Startup.cs => StartupUsingRouting.cs} | 2 +- benchmarkapps/Benchmarks/benchmarks.json | 5 +- build/dependencies.props | 2 + .../Benchmarks/DispatcherTest.cs | 60 +++++++++++++++++++ .../RoutingTest.cs} | 13 +++- 8 files changed, 158 insertions(+), 11 deletions(-) create mode 100644 benchmarkapps/Benchmarks/StartupUsingDispatcher.cs rename benchmarkapps/Benchmarks/{Startup.cs => StartupUsingRouting.cs} (96%) create mode 100644 test/Microsoft.AspNetCore.Routing.FunctionalTests/Benchmarks/DispatcherTest.cs rename test/Microsoft.AspNetCore.Routing.FunctionalTests/{BenchmarksTest.cs => Benchmarks/RoutingTest.cs} (77%) diff --git a/benchmarkapps/Benchmarks/Benchmarks.csproj b/benchmarkapps/Benchmarks/Benchmarks.csproj index 3a791502b2..b85c439bc7 100644 --- a/benchmarkapps/Benchmarks/Benchmarks.csproj +++ b/benchmarkapps/Benchmarks/Benchmarks.csproj @@ -5,13 +5,15 @@ $(BenchmarksTargetFramework) - + + + - + diff --git a/benchmarkapps/Benchmarks/Program.cs b/benchmarkapps/Benchmarks/Program.cs index 5545205d13..a37a131d9c 100644 --- a/benchmarkapps/Benchmarks/Program.cs +++ b/benchmarkapps/Benchmarks/Program.cs @@ -1,6 +1,7 @@ // Copyright (c) .NET Foundation. All rights reserved. // Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information. +using System; using Microsoft.AspNetCore.Hosting; using Microsoft.Extensions.Configuration; @@ -16,15 +17,37 @@ namespace Benchmarks public static IWebHostBuilder GetWebHostBuilder(string[] args) { var config = new ConfigurationBuilder() + .AddCommandLine(args) + .AddEnvironmentVariables(prefix: "RoutingBenchmarks_") .Build(); // Consoler logger has a major impact on perf results, so do not use // default builder. - return new WebHostBuilder() - .UseConfiguration(config) - .UseKestrel() - .UseStartup(); + var webHostBuilder = new WebHostBuilder() + .UseConfiguration(config) + .UseKestrel(); + + var scenario = config["scenarios"]?.ToLower(); + if (scenario == "plaintextdispatcher") + { + webHostBuilder.UseStartup(); + // for testing + webHostBuilder.UseSetting("Startup", nameof(StartupUsingDispatcher)); + } + else if (scenario == "plaintextrouting") + { + webHostBuilder.UseStartup(); + // for testing + webHostBuilder.UseSetting("Startup", nameof(StartupUsingRouting)); + } + else + { + throw new InvalidOperationException( + $"Invalid scenario '{scenario}'. Allowed scenarios are PlaintextDispatcher and PlaintextRouting"); + } + + return webHostBuilder; } } } diff --git a/benchmarkapps/Benchmarks/StartupUsingDispatcher.cs b/benchmarkapps/Benchmarks/StartupUsingDispatcher.cs new file mode 100644 index 0000000000..bfd6069eca --- /dev/null +++ b/benchmarkapps/Benchmarks/StartupUsingDispatcher.cs @@ -0,0 +1,50 @@ +// Copyright (c) .NET Foundation. All rights reserved. +// Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information. + +using System.Text; +using Microsoft.AspNetCore.Builder; +using Microsoft.AspNetCore.Routing; +using Microsoft.AspNetCore.Routing.Matchers; +using Microsoft.Extensions.DependencyInjection; + +namespace Benchmarks +{ + public class StartupUsingDispatcher + { + private static readonly byte[] _helloWorldPayload = Encoding.UTF8.GetBytes("Hello, World!"); + + public void ConfigureServices(IServiceCollection services) + { + services.AddRouting(); + + services.AddDispatcher(options => + { + options.DataSources.Add(new DefaultEndpointDataSource(new[] + { + new MatcherEndpoint( + invoker: (next) => (httpContext) => + { + var response = httpContext.Response; + var payloadLength = _helloWorldPayload.Length; + response.StatusCode = 200; + response.ContentType = "text/plain"; + response.ContentLength = payloadLength; + return response.Body.WriteAsync(_helloWorldPayload, 0, payloadLength); + }, + template: "/plaintext", + values: new { }, + order: 0, + metadata: EndpointMetadataCollection.Empty, + displayName: "Plaintext"), + })); + }); + } + + public void Configure(IApplicationBuilder app) + { + app.UseDispatcher(); + + app.UseEndpoint(); + } + } +} \ No newline at end of file diff --git a/benchmarkapps/Benchmarks/Startup.cs b/benchmarkapps/Benchmarks/StartupUsingRouting.cs similarity index 96% rename from benchmarkapps/Benchmarks/Startup.cs rename to benchmarkapps/Benchmarks/StartupUsingRouting.cs index e8c51cbaeb..d9e2999af3 100644 --- a/benchmarkapps/Benchmarks/Startup.cs +++ b/benchmarkapps/Benchmarks/StartupUsingRouting.cs @@ -8,7 +8,7 @@ using System.Text; namespace Benchmarks { - public class Startup + public class StartupUsingRouting { private static readonly byte[] _helloWorldPayload = Encoding.UTF8.GetBytes("Hello, World!"); diff --git a/benchmarkapps/Benchmarks/benchmarks.json b/benchmarkapps/Benchmarks/benchmarks.json index edb513e2dd..59cfd09eb7 100644 --- a/benchmarkapps/Benchmarks/benchmarks.json +++ b/benchmarkapps/Benchmarks/benchmarks.json @@ -15,5 +15,8 @@ }, "PlaintextRouting": { "Path": "/plaintext" + }, + "PlaintextDispatcher": { + "Path": "/plaintext" } -} +} \ No newline at end of file diff --git a/build/dependencies.props b/build/dependencies.props index bb2e38a84e..c615caa103 100644 --- a/build/dependencies.props +++ b/build/dependencies.props @@ -17,6 +17,8 @@ 2.2.0-preview1-34326 2.2.0-preview1-34326 2.2.0-preview1-34326 + 2.2.0-preview1-34326 + 2.2.0-preview1-34326 2.2.0-preview1-34326 2.2.0-preview1-34326 2.2.0-preview1-34326 diff --git a/test/Microsoft.AspNetCore.Routing.FunctionalTests/Benchmarks/DispatcherTest.cs b/test/Microsoft.AspNetCore.Routing.FunctionalTests/Benchmarks/DispatcherTest.cs new file mode 100644 index 0000000000..3b963b56a5 --- /dev/null +++ b/test/Microsoft.AspNetCore.Routing.FunctionalTests/Benchmarks/DispatcherTest.cs @@ -0,0 +1,60 @@ +// Copyright (c) .NET Foundation. All rights reserved. +// Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information. + +#if NETCOREAPP2_2 +using System; +using System.Net; +using System.Net.Http; +using System.Threading.Tasks; +using Microsoft.AspNetCore.TestHost; +using Xunit; + +namespace Microsoft.AspNetCore.Routing.FunctionalTests +{ + public class DispatcherTest : IDisposable + { + private readonly HttpClient _client; + private readonly TestServer _testServer; + + public DispatcherTest() + { + // This switch and value are set by benchmark server when running the app for profiling. + var args = new[] { "--scenarios", "PlaintextDispatcher" }; + var webHostBuilder = Benchmarks.Program.GetWebHostBuilder(args); + + // Make sure we are using the right startup + var startupName = webHostBuilder.GetSetting("Startup"); + Assert.Equal(nameof(Benchmarks.StartupUsingDispatcher), startupName); + + _testServer = new TestServer(webHostBuilder); + _client = _testServer.CreateClient(); + _client.BaseAddress = new Uri("http://localhost"); + } + + [Fact] + public async Task RouteEndpoint_ReturnsPlaintextResponse() + { + // Arrange + var expectedContentType = "text/plain"; + var expectedContent = "Hello, World!"; + + // Act + var response = await _client.GetAsync("/plaintext"); + + // Assert + Assert.Equal(HttpStatusCode.OK, response.StatusCode); + Assert.NotNull(response.Content); + Assert.NotNull(response.Content.Headers.ContentType); + Assert.Equal(expectedContentType, response.Content.Headers.ContentType.MediaType); + var actualContent = await response.Content.ReadAsStringAsync(); + Assert.Equal(expectedContent, actualContent); + } + + public void Dispose() + { + _testServer.Dispose(); + _client.Dispose(); + } + } +} +#endif \ No newline at end of file diff --git a/test/Microsoft.AspNetCore.Routing.FunctionalTests/BenchmarksTest.cs b/test/Microsoft.AspNetCore.Routing.FunctionalTests/Benchmarks/RoutingTest.cs similarity index 77% rename from test/Microsoft.AspNetCore.Routing.FunctionalTests/BenchmarksTest.cs rename to test/Microsoft.AspNetCore.Routing.FunctionalTests/Benchmarks/RoutingTest.cs index 30b8411b9c..ae4ef90f06 100644 --- a/test/Microsoft.AspNetCore.Routing.FunctionalTests/BenchmarksTest.cs +++ b/test/Microsoft.AspNetCore.Routing.FunctionalTests/Benchmarks/RoutingTest.cs @@ -11,14 +11,21 @@ using Xunit; namespace Microsoft.AspNetCore.Routing.FunctionalTests { - public class BenchmarksTest : IDisposable + public class RoutingTest : IDisposable { private readonly HttpClient _client; private readonly TestServer _testServer; - public BenchmarksTest() + public RoutingTest() { - var webHostBuilder = Benchmarks.Program.GetWebHostBuilder(args: null); + // This switch and value are set by benchmark server when running the app for profiling. + var args = new[] { "--scenarios", "PlaintextRouting" }; + var webHostBuilder = Benchmarks.Program.GetWebHostBuilder(args); + + // Make sure we are using the right startup + var startupName = webHostBuilder.GetSetting("Startup"); + Assert.Equal(nameof(Benchmarks.StartupUsingRouting), startupName); + _testServer = new TestServer(webHostBuilder); _client = _testServer.CreateClient(); _client.BaseAddress = new Uri("http://localhost"); From df857a0369c719be9c7b7d1aaed759644bb4bd45 Mon Sep 17 00:00:00 2001 From: "ASP.NET CI" Date: Sun, 3 Jun 2018 19:27:14 +0000 Subject: [PATCH 022/221] Update dependencies.props [auto-updated: dependencies] --- build/dependencies.props | 56 ++++++++++++++++++++-------------------- korebuild-lock.txt | 4 +-- 2 files changed, 30 insertions(+), 30 deletions(-) diff --git a/build/dependencies.props b/build/dependencies.props index c615caa103..10f6d31bba 100644 --- a/build/dependencies.props +++ b/build/dependencies.props @@ -4,35 +4,35 @@ 0.10.13 - 2.2.0-preview1-17064 - 2.2.0-preview1-34326 - 2.2.0-preview1-34326 - 2.2.0-preview1-34326 - 2.2.0-preview1-34326 - 2.2.0-preview1-34326 - 2.2.0-preview1-34326 - 2.2.0-preview1-34326 - 2.2.0-preview1-34326 - 2.2.0-preview1-34326 - 2.2.0-preview1-34326 - 2.2.0-preview1-34326 - 2.2.0-preview1-34326 - 2.2.0-preview1-34326 - 2.2.0-preview1-34326 - 2.2.0-preview1-34326 - 2.2.0-preview1-34326 - 2.2.0-preview1-34326 - 2.2.0-preview1-34326 - 2.2.0-preview1-34326 - 2.2.0-preview1-34326 - 2.2.0-preview1-34326 - 2.2.0-preview1-34326 - 2.2.0-preview1-34326 - 2.2.0-preview1-34326 - 2.2.0-preview1-34326 + 2.2.0-preview1-17067 + 2.2.0-preview1-34373 + 2.2.0-preview1-34373 + 2.2.0-preview1-34373 + 2.2.0-preview1-34373 + 2.2.0-preview1-34373 + 2.2.0-preview1-34373 + 2.2.0-preview1-34373 + 2.2.0-preview1-34373 + 2.2.0-preview1-34373 + 2.2.0-preview1-34373 + 2.2.0-preview1-34373 + 2.2.0-preview1-34373 + 2.2.0-preview1-34373 + 2.2.0-preview1-34373 + 2.2.0-preview1-34373 + 2.2.0-preview1-34373 + 2.2.0-preview1-34373 + 2.2.0-preview1-34373 + 2.2.0-preview1-34373 + 2.2.0-preview1-34373 + 2.2.0-preview1-34373 + 2.2.0-preview1-34373 + 2.2.0-preview1-34373 + 2.2.0-preview1-34373 + 2.2.0-preview1-34373 2.0.0 - 2.1.0-rc1 - 2.2.0-preview1-26526-03 + 2.1.0 + 2.2.0-preview1-26531-03 15.6.1 4.7.49 2.0.3 diff --git a/korebuild-lock.txt b/korebuild-lock.txt index 3028b66761..06ba6285b7 100644 --- a/korebuild-lock.txt +++ b/korebuild-lock.txt @@ -1,2 +1,2 @@ -version:2.2.0-preview1-17064 -commithash:5380a2461b135b261646f31d1c919ab0a7b577a8 +version:2.2.0-preview1-17067 +commithash:2af0e2e3d02329b4f0290061ab9bd8c7ca1aa26f From 1fc5947ff77b6db7272ad800f3c03a2329ec0deb Mon Sep 17 00:00:00 2001 From: Nate McMaster Date: Tue, 5 Jun 2018 22:34:46 -0700 Subject: [PATCH 023/221] Add certificate names for code signing --- Directory.Build.props | 2 ++ korebuild-lock.txt | 4 ++-- 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/Directory.Build.props b/Directory.Build.props index fc39fae5b4..e722ccfbc0 100644 --- a/Directory.Build.props +++ b/Directory.Build.props @@ -14,6 +14,8 @@ $(MSBuildThisFileDirectory) $(MSBuildThisFileDirectory)build\Key.snk true + Microsoft + MicrosoftNuGet true true diff --git a/korebuild-lock.txt b/korebuild-lock.txt index 06ba6285b7..b679b80427 100644 --- a/korebuild-lock.txt +++ b/korebuild-lock.txt @@ -1,2 +1,2 @@ -version:2.2.0-preview1-17067 -commithash:2af0e2e3d02329b4f0290061ab9bd8c7ca1aa26f +version:2.2.0-preview1-17075 +commithash:d9f07c7f313a0af1d49f003f5424b4dbbdd3e09f From b27f032b43ee43d850b7c668c3a77da6dc3eb8c3 Mon Sep 17 00:00:00 2001 From: James Newton-King Date: Thu, 7 Jun 2018 09:15:50 +1200 Subject: [PATCH 024/221] Fix EndpointMetadataCollection filename (#528) --- .../{MetadataCollection.cs => EndpointMetadataCollection.cs} | 0 1 file changed, 0 insertions(+), 0 deletions(-) rename src/Microsoft.AspNetCore.Routing.Abstractions/{MetadataCollection.cs => EndpointMetadataCollection.cs} (100%) diff --git a/src/Microsoft.AspNetCore.Routing.Abstractions/MetadataCollection.cs b/src/Microsoft.AspNetCore.Routing.Abstractions/EndpointMetadataCollection.cs similarity index 100% rename from src/Microsoft.AspNetCore.Routing.Abstractions/MetadataCollection.cs rename to src/Microsoft.AspNetCore.Routing.Abstractions/EndpointMetadataCollection.cs From aef5dc4e933bed2922c51e634dcac1b499690a7e Mon Sep 17 00:00:00 2001 From: Ryan Nowak Date: Tue, 5 Jun 2018 21:45:20 -0700 Subject: [PATCH 025/221] Add Swaggatherer (Swagger + Gatherer) This is a new CLI tool that will generate a routing benchmark from an input directory or file. See following commits for examples --- Routing.sln | 44 ++- benchmarks/Swaggatherer/Program.cs | 14 + benchmarks/Swaggatherer/README.md | 23 ++ benchmarks/Swaggatherer/RouteEntry.cs | 15 ++ benchmarks/Swaggatherer/Swaggatherer.csproj | 17 ++ .../Swaggatherer/SwaggathererApplication.cs | 250 ++++++++++++++++++ benchmarks/Swaggatherer/Template.cs | 72 +++++ build/dependencies.props | 2 + 8 files changed, 423 insertions(+), 14 deletions(-) create mode 100644 benchmarks/Swaggatherer/Program.cs create mode 100644 benchmarks/Swaggatherer/README.md create mode 100644 benchmarks/Swaggatherer/RouteEntry.cs create mode 100644 benchmarks/Swaggatherer/Swaggatherer.csproj create mode 100644 benchmarks/Swaggatherer/SwaggathererApplication.cs create mode 100644 benchmarks/Swaggatherer/Template.cs diff --git a/Routing.sln b/Routing.sln index 851dea0a2e..408a81c353 100644 --- a/Routing.sln +++ b/Routing.sln @@ -1,4 +1,4 @@ -Microsoft Visual Studio Solution File, Format Version 12.00 +Microsoft Visual Studio Solution File, Format Version 12.00 # Visual Studio 15 VisualStudioVersion = 15.0.27106.3000 MinimumVisualStudioVersion = 15.0.26730.03 @@ -22,6 +22,7 @@ Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "RoutingSample.Web", "sample EndProject Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Solution Items", "Solution Items", "{C430C499-382D-47BD-B351-CF8F89C08CD2}" ProjectSection(SolutionItems) = preProject + build\dependencies.props = build\dependencies.props global.json = global.json NuGet.config = NuGet.config EndProjectSection @@ -51,6 +52,8 @@ Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "benchmarkapps", "benchmarka EndProject Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Benchmarks", "benchmarkapps\Benchmarks\Benchmarks.csproj", "{91F47A60-9A78-4968-B10D-157D9BFAC37F}" EndProject +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Swaggatherer", "benchmarks\Swaggatherer\Swaggatherer.csproj", "{990ECDEE-49DE-45E3-B0D9-DDEB9CFF6A9D}" +EndProject Global GlobalSection(SolutionConfigurationPlatforms) = preSolution Debug|Any CPU = Debug|Any CPU @@ -151,18 +154,6 @@ Global {F3D86714-4E64-41A6-9B36-A47B3683CF5D}.Release|Mixed Platforms.Build.0 = Release|Any CPU {F3D86714-4E64-41A6-9B36-A47B3683CF5D}.Release|x86.ActiveCfg = Release|Any CPU {F3D86714-4E64-41A6-9B36-A47B3683CF5D}.Release|x86.Build.0 = Release|Any CPU - {91F47A60-9A78-4968-B10D-157D9BFAC37F}.Debug|Any CPU.ActiveCfg = Debug|Any CPU - {91F47A60-9A78-4968-B10D-157D9BFAC37F}.Debug|Any CPU.Build.0 = Debug|Any CPU - {91F47A60-9A78-4968-B10D-157D9BFAC37F}.Debug|Mixed Platforms.ActiveCfg = Debug|Any CPU - {91F47A60-9A78-4968-B10D-157D9BFAC37F}.Debug|Mixed Platforms.Build.0 = Debug|Any CPU - {91F47A60-9A78-4968-B10D-157D9BFAC37F}.Debug|x86.ActiveCfg = Debug|Any CPU - {91F47A60-9A78-4968-B10D-157D9BFAC37F}.Debug|x86.Build.0 = Debug|Any CPU - {91F47A60-9A78-4968-B10D-157D9BFAC37F}.Release|Any CPU.ActiveCfg = Release|Any CPU - {91F47A60-9A78-4968-B10D-157D9BFAC37F}.Release|Any CPU.Build.0 = Release|Any CPU - {91F47A60-9A78-4968-B10D-157D9BFAC37F}.Release|Mixed Platforms.ActiveCfg = Release|Any CPU - {91F47A60-9A78-4968-B10D-157D9BFAC37F}.Release|Mixed Platforms.Build.0 = Release|Any CPU - {91F47A60-9A78-4968-B10D-157D9BFAC37F}.Release|x86.ActiveCfg = Release|Any CPU - {91F47A60-9A78-4968-B10D-157D9BFAC37F}.Release|x86.Build.0 = Release|Any CPU {4EBE7A6F-3183-4A7D-B3D7-A6A9EC3867A5}.Debug|Any CPU.ActiveCfg = Debug|Any CPU {4EBE7A6F-3183-4A7D-B3D7-A6A9EC3867A5}.Debug|Any CPU.Build.0 = Debug|Any CPU {4EBE7A6F-3183-4A7D-B3D7-A6A9EC3867A5}.Debug|Mixed Platforms.ActiveCfg = Debug|Any CPU @@ -175,6 +166,30 @@ Global {4EBE7A6F-3183-4A7D-B3D7-A6A9EC3867A5}.Release|Mixed Platforms.Build.0 = Release|Any CPU {4EBE7A6F-3183-4A7D-B3D7-A6A9EC3867A5}.Release|x86.ActiveCfg = Release|Any CPU {4EBE7A6F-3183-4A7D-B3D7-A6A9EC3867A5}.Release|x86.Build.0 = Release|Any CPU + {91F47A60-9A78-4968-B10D-157D9BFAC37F}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {91F47A60-9A78-4968-B10D-157D9BFAC37F}.Debug|Any CPU.Build.0 = Debug|Any CPU + {91F47A60-9A78-4968-B10D-157D9BFAC37F}.Debug|Mixed Platforms.ActiveCfg = Debug|Any CPU + {91F47A60-9A78-4968-B10D-157D9BFAC37F}.Debug|Mixed Platforms.Build.0 = Debug|Any CPU + {91F47A60-9A78-4968-B10D-157D9BFAC37F}.Debug|x86.ActiveCfg = Debug|Any CPU + {91F47A60-9A78-4968-B10D-157D9BFAC37F}.Debug|x86.Build.0 = Debug|Any CPU + {91F47A60-9A78-4968-B10D-157D9BFAC37F}.Release|Any CPU.ActiveCfg = Release|Any CPU + {91F47A60-9A78-4968-B10D-157D9BFAC37F}.Release|Any CPU.Build.0 = Release|Any CPU + {91F47A60-9A78-4968-B10D-157D9BFAC37F}.Release|Mixed Platforms.ActiveCfg = Release|Any CPU + {91F47A60-9A78-4968-B10D-157D9BFAC37F}.Release|Mixed Platforms.Build.0 = Release|Any CPU + {91F47A60-9A78-4968-B10D-157D9BFAC37F}.Release|x86.ActiveCfg = Release|Any CPU + {91F47A60-9A78-4968-B10D-157D9BFAC37F}.Release|x86.Build.0 = Release|Any CPU + {990ECDEE-49DE-45E3-B0D9-DDEB9CFF6A9D}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {990ECDEE-49DE-45E3-B0D9-DDEB9CFF6A9D}.Debug|Any CPU.Build.0 = Debug|Any CPU + {990ECDEE-49DE-45E3-B0D9-DDEB9CFF6A9D}.Debug|Mixed Platforms.ActiveCfg = Debug|Any CPU + {990ECDEE-49DE-45E3-B0D9-DDEB9CFF6A9D}.Debug|Mixed Platforms.Build.0 = Debug|Any CPU + {990ECDEE-49DE-45E3-B0D9-DDEB9CFF6A9D}.Debug|x86.ActiveCfg = Debug|Any CPU + {990ECDEE-49DE-45E3-B0D9-DDEB9CFF6A9D}.Debug|x86.Build.0 = Debug|Any CPU + {990ECDEE-49DE-45E3-B0D9-DDEB9CFF6A9D}.Release|Any CPU.ActiveCfg = Release|Any CPU + {990ECDEE-49DE-45E3-B0D9-DDEB9CFF6A9D}.Release|Any CPU.Build.0 = Release|Any CPU + {990ECDEE-49DE-45E3-B0D9-DDEB9CFF6A9D}.Release|Mixed Platforms.ActiveCfg = Release|Any CPU + {990ECDEE-49DE-45E3-B0D9-DDEB9CFF6A9D}.Release|Mixed Platforms.Build.0 = Release|Any CPU + {990ECDEE-49DE-45E3-B0D9-DDEB9CFF6A9D}.Release|x86.ActiveCfg = Release|Any CPU + {990ECDEE-49DE-45E3-B0D9-DDEB9CFF6A9D}.Release|x86.Build.0 = Release|Any CPU EndGlobalSection GlobalSection(SolutionProperties) = preSolution HideSolutionNode = FALSE @@ -188,8 +203,9 @@ Global {741B0B05-CE96-473B-B962-6B0A347DF79A} = {95359B4B-4C85-4B44-A75B-0621905C4CF6} {5C73140B-41F3-466F-A07B-3614E4D80DF9} = {95359B4B-4C85-4B44-A75B-0621905C4CF6} {F3D86714-4E64-41A6-9B36-A47B3683CF5D} = {D5F39F59-5725-4127-82E7-67028D006185} - {91F47A60-9A78-4968-B10D-157D9BFAC37F} = {7F5914E2-C63F-4759-898E-462804357C90} {4EBE7A6F-3183-4A7D-B3D7-A6A9EC3867A5} = {C3ADD55B-B9C7-4061-8AD4-6A70D1AE3B2E} + {91F47A60-9A78-4968-B10D-157D9BFAC37F} = {7F5914E2-C63F-4759-898E-462804357C90} + {990ECDEE-49DE-45E3-B0D9-DDEB9CFF6A9D} = {D5F39F59-5725-4127-82E7-67028D006185} EndGlobalSection GlobalSection(ExtensibilityGlobals) = postSolution SolutionGuid = {36C8D815-B7F1-479D-894B-E606FB8DECDA} diff --git a/benchmarks/Swaggatherer/Program.cs b/benchmarks/Swaggatherer/Program.cs new file mode 100644 index 0000000000..6aa30e254b --- /dev/null +++ b/benchmarks/Swaggatherer/Program.cs @@ -0,0 +1,14 @@ +// Copyright (c) .NET Foundation. All rights reserved. +// Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information. + +namespace Swaggatherer +{ + internal static class Program + { + public static void Main(string[] args) + { + var application = new SwaggathererApplication(); + application.Execute(args); + } + } +} diff --git a/benchmarks/Swaggatherer/README.md b/benchmarks/Swaggatherer/README.md new file mode 100644 index 0000000000..aed8bce696 --- /dev/null +++ b/benchmarks/Swaggatherer/README.md @@ -0,0 +1,23 @@ +# Swaggatherer (Swagger + Gatherer) + +This is a cli tool that can generate a routing benchmark using a Swagger 2.0 spec as an input. + +## Usage + +Generate a benchmark from a swagger file: +``` +dotnet run -- -i swagger.json -o MyGeneratedBenchark.generated.cs +``` + +Generate a benchmark from a directory of swagger files: +``` +dotnet run -- -d /some/directory -o MyGeneratedBenchark.generated.cs +``` + +The directory mode will recursively search for `.json` files. + +## Resources + +A big repository of swagger docs: https://github.com/APIs-guru/openapi-directory +Swagger editor + yaml <-> json conversion tool: https://editor2.swagger.io +Azure's official swagger docs: https://github.com/Azure/azure-rest-api-specs \ No newline at end of file diff --git a/benchmarks/Swaggatherer/RouteEntry.cs b/benchmarks/Swaggatherer/RouteEntry.cs new file mode 100644 index 0000000000..6aea6f322f --- /dev/null +++ b/benchmarks/Swaggatherer/RouteEntry.cs @@ -0,0 +1,15 @@ +// Copyright (c) .NET Foundation. All rights reserved. +// Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information. + +using Microsoft.AspNetCore.Routing.Template; + +namespace Swaggatherer +{ + internal class RouteEntry + { + public RouteTemplate Template { get; set; } + public string Method { get; set; } + public decimal Precedence { get; set; } + public string RequestUrl { get; set; } + } +} diff --git a/benchmarks/Swaggatherer/Swaggatherer.csproj b/benchmarks/Swaggatherer/Swaggatherer.csproj new file mode 100644 index 0000000000..6874d1d5da --- /dev/null +++ b/benchmarks/Swaggatherer/Swaggatherer.csproj @@ -0,0 +1,17 @@ + + + + Exe + netcoreapp2.0 + + + + + + + + + + + + diff --git a/benchmarks/Swaggatherer/SwaggathererApplication.cs b/benchmarks/Swaggatherer/SwaggathererApplication.cs new file mode 100644 index 0000000000..570ec6d344 --- /dev/null +++ b/benchmarks/Swaggatherer/SwaggathererApplication.cs @@ -0,0 +1,250 @@ +// Copyright (c) .NET Foundation. All rights reserved. +// Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information. + +using System; +using System.Collections.Generic; +using System.IO; +using System.Text; +using Microsoft.AspNetCore.Routing.Template; +using Microsoft.Extensions.CommandLineUtils; +using Newtonsoft.Json; +using Newtonsoft.Json.Linq; + +namespace Swaggatherer +{ + internal class SwaggathererApplication : CommandLineApplication + { + public SwaggathererApplication() + { + Invoke = InvokeCore; + + Input = Option("-i", "input swagger 2.0 JSON file", CommandOptionType.MultipleValue); + InputDirectory = Option("-d", "input directory", CommandOptionType.SingleValue); + Output = Option("-o", "output", CommandOptionType.SingleValue); + + HelpOption("-h|--help"); + } + + public CommandOption Input { get; } + + public CommandOption InputDirectory { get; } + + public CommandOption Output { get; } + + private int InvokeCore() + { + if (!Input.HasValue() && !InputDirectory.HasValue()) + { + ShowHelp(); + return 1; + } + + if (Input.HasValue() && InputDirectory.HasValue()) + { + ShowHelp(); + return 1; + } + + if (!Output.HasValue()) + { + Output.Values.Add("Out.generated.cs"); + } + + if (InputDirectory.HasValue()) + { + Input.Values.AddRange(Directory.EnumerateFiles(InputDirectory.Value(), "*.json", SearchOption.AllDirectories)); + } + + var entries = new List(); + for (var i = 0; i < Input.Values.Count; i++) + { + var input = ReadInput(Input.Values[i]); + ParseEntries(input, entries); + } + + // We don't yet want to support complex segments. + for (var i = entries.Count - 1; i >= 0; i--) + { + if (HasComplexSegment(entries[i])) + { + Out.WriteLine("Skipping route with complex segment: " + entries[i].Template.TemplateText); + entries.RemoveAt(i); + break; + } + } + + // The data that we're provided by might be unambiguous. + // Remove any routes that would be ambiguous in our system. + var routesByPrecedence = new Dictionary>(); + for (var i = entries.Count - 1; i >= 0; i--) + { + var entry = entries[i]; + var precedence = RoutePrecedence.ComputeInbound(entries[i].Template); + + if (!routesByPrecedence.TryGetValue(precedence, out var matches)) + { + matches = new List(); + routesByPrecedence.Add(precedence, matches); + } + + if (IsDuplicateTemplate(entry, matches)) + { + Out.WriteLine("Duplicate route template: " + entries[i].Template.TemplateText); + entries.RemoveAt(i); + continue; + } + + matches.Add(entry); + } + + // We're not too sophisticated with how we generate parameter values, just hoping for + // the best. For parameters we generate a segment that is the same length as the parameter name + // but with a minimum of 5 characters to avoid collisions. + for (var i = entries.Count - 1; i >= 0; i--) + { + entries[i].RequestUrl = GenerateRequestUrl(entries[i].Template); + if (entries[i].RequestUrl == null) + { + Out.WriteLine("Failed to create a request for: " + entries[i].Template.TemplateText); + entries.RemoveAt(i); + continue; + } + } + + Sort(entries); + + var text = Template.Execute(entries); + File.WriteAllText(Output.Value(), text); + return 0; + } + + private JObject ReadInput(string input) + { + using (var reader = File.OpenText(input)) + { + try + { + return JObject.Load(new JsonTextReader(reader)); + } + catch (JsonReaderException ex) + { + Out.WriteLine("Error reading: {0}"); + Out.WriteLine(ex); + return new JObject(); + } + } + } + + private static void ParseEntries(JObject input, List entries) + { + var basePath = ""; + if (input["basePath"] is JProperty basePathProperty) + { + basePath = basePathProperty.Value(); + } + + if (input["paths"] is JObject paths) + { + foreach (var path in paths.Properties()) + { + foreach (var method in ((JObject)path.Value).Properties()) + { + var template = basePath + path.Name; + var parsed = TemplateParser.Parse(template); + entries.Add(new RouteEntry() + { + Method = method.Name, + Template = parsed, + Precedence = RoutePrecedence.ComputeInbound(parsed), + }); + } + } + } + } + + private bool HasComplexSegment(RouteEntry entry) + { + for (var i = 0; i < entry.Template.Segments.Count; i++) + { + if (!entry.Template.Segments[i].IsSimple) + { + return true; + } + } + + return false; + } + + private static bool IsDuplicateTemplate(RouteEntry entry, List others) + { + for (var j = 0; j < others.Count; j++) + { + // This is another route with the same precedence. It is guaranteed to have the same number of segments + // of the same kinds and in the same order. We just need to check the literals. + var other = others[j]; + + var isSame = true; + for (var k = 0; k < entry.Template.Segments.Count; k++) + { + if (!string.Equals( + entry.Template.Segments[k].Parts[0].Text, + other.Template.Segments[k].Parts[0].Text, + StringComparison.OrdinalIgnoreCase)) + { + isSame = false; + break; + } + } + + if (isSame) + { + return true; + } + } + + return false; + } + + private static void Sort(List entries) + { + // We need to sort these in precedence order for the linear matchers. + entries.Sort((x, y) => + { + var comparison = RoutePrecedence.ComputeInbound(x.Template).CompareTo(RoutePrecedence.ComputeInbound(y.Template)); + if (comparison != 0) + { + return comparison; + } + + return x.Template.TemplateText.CompareTo(y.Template.TemplateText); + }); + } + + private static string GenerateRequestUrl(RouteTemplate template) + { + if (template.Segments.Count == 0) + { + return "/"; + } + + var url = new StringBuilder(); + for (var i = 0; i < template.Segments.Count; i++) + { + // We don't yet handle complex segments + var part = template.Segments[i].Parts[0]; + + url.Append("/"); + url.Append(part.IsLiteral ? part.Text : GenerateParameterValue(part)); + } + + return url.ToString(); + } + + private static string GenerateParameterValue(TemplatePart part) + { + var text = Guid.NewGuid().ToString(); + var length = Math.Min(text.Length, Math.Max(5, part.Name.Length)); + return text.Substring(0, length); + } + } +} diff --git a/benchmarks/Swaggatherer/Template.cs b/benchmarks/Swaggatherer/Template.cs new file mode 100644 index 0000000000..172ea55942 --- /dev/null +++ b/benchmarks/Swaggatherer/Template.cs @@ -0,0 +1,72 @@ +// Copyright (c) .NET Foundation. All rights reserved. +// Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information. + +using System; +using System.Collections.Generic; + +namespace Swaggatherer +{ + internal static class Template + { + public static string Execute(IReadOnlyList entries) + { + var setupEndpointsLines = new List(); + for (var i = 0; i < entries.Count; i++) + { + setupEndpointsLines.Add($" _endpoints[{i}] = CreateEndpoint(\"{entries[i].Template.TemplateText}\");"); + } + + var setupRequestsLines = new List(); + for (var i = 0; i < entries.Count; i++) + { + setupRequestsLines.Add($" _requests[{i}] = new DefaultHttpContext();"); + setupRequestsLines.Add($" _requests[{i}].RequestServices = CreateServices();"); + setupRequestsLines.Add($" _requests[{i}].Request.Method = \"{entries[i].Method.ToUpperInvariant()}\";"); + setupRequestsLines.Add($" _requests[{i}].Request.Path = \"{entries[i].RequestUrl}\";"); + } + + var setupMatcherLines = new List(); + for (var i = 0; i < entries.Count; i++) + { + setupMatcherLines.Add($" builder.AddEntry(\"{entries[i].Template.TemplateText}\", _endpoints[{i}]);"); + } + + return string.Format(@" +// Copyright (c) .NET Foundation. All rights reserved. +// Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information. + +using Microsoft.AspNetCore.Http; + +namespace Microsoft.AspNetCore.Routing.Matchers +{{ + // This code was generated by the Swaggatherer + public partial class GeneratedBenchmark : MatcherBenchmarkBase + {{ + private const int EndpointCount = {3}; + + private void SetupEndpoints() + {{ + _endpoints = new MatcherEndpoint[{3}]; +{0} + }} + + private void SetupRequests() + {{ + _requests = new HttpContext[{3}]; +{1} + }} + + private Matcher SetupMatcher(MatcherBuilder builder) + {{ +{2} + return builder.Build(); + }} + }} +}}", + string.Join(Environment.NewLine, setupEndpointsLines), + string.Join(Environment.NewLine, setupRequestsLines), + string.Join(Environment.NewLine, setupMatcherLines), + entries.Count); + } + } +} diff --git a/build/dependencies.props b/build/dependencies.props index 10f6d31bba..65ddba599e 100644 --- a/build/dependencies.props +++ b/build/dependencies.props @@ -16,6 +16,7 @@ 2.2.0-preview1-34373 2.2.0-preview1-34373 2.2.0-preview1-34373 + 2.2.0-preview1-34373 2.2.0-preview1-34373 2.2.0-preview1-34373 2.2.0-preview1-34373 @@ -36,6 +37,7 @@ 15.6.1 4.7.49 2.0.3 + 11.0.2 0.8.0 2.3.1 2.4.0-beta.1.build3945 From 49f839a2860039eca450c5b83313bece45e5fcfc Mon Sep 17 00:00:00 2001 From: Ryan Nowak Date: Tue, 5 Jun 2018 21:46:20 -0700 Subject: [PATCH 026/221] Add benchmarks for matcher implementations --- .../Matchers/AzureMatcherBenchmark.cs | 60 + .../AzureMatcherBenchmark.generated.cs | 21131 ++++++++++++++++ .../Matchers/DfaMatcher.cs | 353 + .../Matchers/GithubMatcherBenchmark.cs | 51 + .../GithubMatcherBenchmark.generated.cs | 959 + .../Matchers/InstructionMatcher.cs | 479 + .../Matchers/MatcherBenchmarkBase.cs | 73 + .../Matchers/MatcherBuilder.cs | 12 + .../Matchers/MinimalMatcher.cs | 62 + .../Matchers/RouteMatcher.cs | 70 + .../Matchers/SingleEntryMatcherBenchmark.cs | 82 + .../SmallEntryCountLiteralMatcherBenchark.cs | 93 + .../Matchers/TreeRouterMatcher.cs | 77 + ...soft.AspNetCore.Routing.Performance.csproj | 1 + .../Properties/AssemblyInfo.cs | 1 + 15 files changed, 23504 insertions(+) create mode 100644 benchmarks/Microsoft.AspNetCore.Routing.Performance/Matchers/AzureMatcherBenchmark.cs create mode 100644 benchmarks/Microsoft.AspNetCore.Routing.Performance/Matchers/AzureMatcherBenchmark.generated.cs create mode 100644 benchmarks/Microsoft.AspNetCore.Routing.Performance/Matchers/DfaMatcher.cs create mode 100644 benchmarks/Microsoft.AspNetCore.Routing.Performance/Matchers/GithubMatcherBenchmark.cs create mode 100644 benchmarks/Microsoft.AspNetCore.Routing.Performance/Matchers/GithubMatcherBenchmark.generated.cs create mode 100644 benchmarks/Microsoft.AspNetCore.Routing.Performance/Matchers/InstructionMatcher.cs create mode 100644 benchmarks/Microsoft.AspNetCore.Routing.Performance/Matchers/MatcherBenchmarkBase.cs create mode 100644 benchmarks/Microsoft.AspNetCore.Routing.Performance/Matchers/MatcherBuilder.cs create mode 100644 benchmarks/Microsoft.AspNetCore.Routing.Performance/Matchers/MinimalMatcher.cs create mode 100644 benchmarks/Microsoft.AspNetCore.Routing.Performance/Matchers/RouteMatcher.cs create mode 100644 benchmarks/Microsoft.AspNetCore.Routing.Performance/Matchers/SingleEntryMatcherBenchmark.cs create mode 100644 benchmarks/Microsoft.AspNetCore.Routing.Performance/Matchers/SmallEntryCountLiteralMatcherBenchark.cs create mode 100644 benchmarks/Microsoft.AspNetCore.Routing.Performance/Matchers/TreeRouterMatcher.cs diff --git a/benchmarks/Microsoft.AspNetCore.Routing.Performance/Matchers/AzureMatcherBenchmark.cs b/benchmarks/Microsoft.AspNetCore.Routing.Performance/Matchers/AzureMatcherBenchmark.cs new file mode 100644 index 0000000000..c1df46a2a5 --- /dev/null +++ b/benchmarks/Microsoft.AspNetCore.Routing.Performance/Matchers/AzureMatcherBenchmark.cs @@ -0,0 +1,60 @@ +// Copyright (c) .NET Foundation. All rights reserved. +// Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information. + +using System.Threading.Tasks; +using BenchmarkDotNet.Attributes; + +namespace Microsoft.AspNetCore.Routing.Matchers +{ + // Generated from https://github.com/Azure/azure-rest-api-specs + public partial class AzureMatcherBenchmark : MatcherBenchmarkBase + { + private const int SampleCount = 100; + + private Matcher _route; + private Matcher _tree; + + private int[] _samples; + + [GlobalSetup] + public void Setup() + { + SetupEndpoints(); + + SetupRequests(); + + // The perf is kinda slow for these benchmarks, so we do some sampling + // of the request data. + _samples = SampleRequests(EndpointCount, SampleCount); + + _route = SetupMatcher(RouteMatcher.CreateBuilder()); + _tree = SetupMatcher(TreeRouterMatcher.CreateBuilder()); + } + + [Benchmark(OperationsPerInvoke = SampleCount)] + public async Task LegacyRoute() + { + var feature = new EndpointFeature(); + for (var i = 0; i < SampleCount; i++) + { + var sample = _samples[i]; + var httpContext = _requests[sample]; + await _route.MatchAsync(httpContext, feature); + Validate(httpContext, _endpoints[sample], feature.Endpoint); + } + } + + [Benchmark(OperationsPerInvoke = SampleCount)] + public async Task LegacyTreeRouter() + { + var feature = new EndpointFeature(); + for (var i = 0; i < SampleCount; i++) + { + var sample = _samples[i]; + var httpContext = _requests[sample]; + await _tree.MatchAsync(httpContext, feature); + Validate(httpContext, _endpoints[sample], feature.Endpoint); + } + } + } +} \ No newline at end of file diff --git a/benchmarks/Microsoft.AspNetCore.Routing.Performance/Matchers/AzureMatcherBenchmark.generated.cs b/benchmarks/Microsoft.AspNetCore.Routing.Performance/Matchers/AzureMatcherBenchmark.generated.cs new file mode 100644 index 0000000000..f983a3a32a --- /dev/null +++ b/benchmarks/Microsoft.AspNetCore.Routing.Performance/Matchers/AzureMatcherBenchmark.generated.cs @@ -0,0 +1,21131 @@ + +// Copyright (c) .NET Foundation. All rights reserved. +// Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information. + +using Microsoft.AspNetCore.Http; + +namespace Microsoft.AspNetCore.Routing.Matchers +{ + // This code was generated by the Swaggatherer + public partial class AzureMatcherBenchmark : MatcherBenchmarkBase + { + private const int EndpointCount = 3517; + + private void SetupEndpoints() + { + _endpoints = new MatcherEndpoint[3517]; + _endpoints[0] = CreateEndpoint("/account"); + _endpoints[1] = CreateEndpoint("/analyze"); + _endpoints[2] = CreateEndpoint("/apis"); + _endpoints[3] = CreateEndpoint("/Applications"); + _endpoints[4] = CreateEndpoint("/ApplicationTypes"); + _endpoints[5] = CreateEndpoint("/apps/"); + _endpoints[6] = CreateEndpoint("/authorizationServers"); + _endpoints[7] = CreateEndpoint("/backends"); + _endpoints[8] = CreateEndpoint("/BuildJob"); + _endpoints[9] = CreateEndpoint("/certificates"); + _endpoints[10] = CreateEndpoint("/ComposeDeployments"); + _endpoints[11] = CreateEndpoint("/datasources"); + _endpoints[12] = CreateEndpoint("/deletedcertificates"); + _endpoints[13] = CreateEndpoint("/deletedkeys"); + _endpoints[14] = CreateEndpoint("/deletedsecrets"); + _endpoints[15] = CreateEndpoint("/deletedstorage"); + _endpoints[16] = CreateEndpoint("/describe"); + _endpoints[17] = CreateEndpoint("/detect"); + _endpoints[18] = CreateEndpoint("/domains"); + _endpoints[19] = CreateEndpoint("/entities"); + _endpoints[20] = CreateEndpoint("/facelists"); + _endpoints[21] = CreateEndpoint("/Faults/"); + _endpoints[22] = CreateEndpoint("/findsimilars"); + _endpoints[23] = CreateEndpoint("/generateThumbnail"); + _endpoints[24] = CreateEndpoint("/group"); + _endpoints[25] = CreateEndpoint("/groups"); + _endpoints[26] = CreateEndpoint("/identify"); + _endpoints[27] = CreateEndpoint("/identityProviders"); + _endpoints[28] = CreateEndpoint("/ImageStore"); + _endpoints[29] = CreateEndpoint("/indexers"); + _endpoints[30] = CreateEndpoint("/indexes"); + _endpoints[31] = CreateEndpoint("/Jobs"); + _endpoints[32] = CreateEndpoint("/jobschedules"); + _endpoints[33] = CreateEndpoint("/keys"); + _endpoints[34] = CreateEndpoint("/lifetimejobstats"); + _endpoints[35] = CreateEndpoint("/lifetimepoolstats"); + _endpoints[36] = CreateEndpoint("/loggers"); + _endpoints[37] = CreateEndpoint("/models"); + _endpoints[38] = CreateEndpoint("/news"); + _endpoints[39] = CreateEndpoint("/nodeagentskus"); + _endpoints[40] = CreateEndpoint("/nodecounts"); + _endpoints[41] = CreateEndpoint("/Nodes"); + _endpoints[42] = CreateEndpoint("/ocr"); + _endpoints[43] = CreateEndpoint("/offers"); + _endpoints[44] = CreateEndpoint("/openidConnectProviders"); + _endpoints[45] = CreateEndpoint("/persongroups"); + _endpoints[46] = CreateEndpoint("/pipelines"); + _endpoints[47] = CreateEndpoint("/policies"); + _endpoints[48] = CreateEndpoint("/policySnippets"); + _endpoints[49] = CreateEndpoint("/pools"); + _endpoints[50] = CreateEndpoint("/poolusagemetrics"); + _endpoints[51] = CreateEndpoint("/products"); + _endpoints[52] = CreateEndpoint("/projects"); + _endpoints[53] = CreateEndpoint("/properties"); + _endpoints[54] = CreateEndpoint("/recognizeText"); + _endpoints[55] = CreateEndpoint("/recurrences"); + _endpoints[56] = CreateEndpoint("/regions"); + _endpoints[57] = CreateEndpoint("/search"); + _endpoints[58] = CreateEndpoint("/secrets"); + _endpoints[59] = CreateEndpoint("/servicestats"); + _endpoints[60] = CreateEndpoint("/spellcheck"); + _endpoints[61] = CreateEndpoint("/storage"); + _endpoints[62] = CreateEndpoint("/subscriptions"); + _endpoints[63] = CreateEndpoint("/synonymmaps"); + _endpoints[64] = CreateEndpoint("/tag"); + _endpoints[65] = CreateEndpoint("/templates"); + _endpoints[66] = CreateEndpoint("/tenants"); + _endpoints[67] = CreateEndpoint("/users"); + _endpoints[68] = CreateEndpoint("/verify"); + _endpoints[69] = CreateEndpoint("/$/CancelRepairTask"); + _endpoints[70] = CreateEndpoint("/$/CreateRepairTask"); + _endpoints[71] = CreateEndpoint("/$/DeleteRepairTask"); + _endpoints[72] = CreateEndpoint("/$/ForceApproveRepairTask"); + _endpoints[73] = CreateEndpoint("/$/GetAadMetadata"); + _endpoints[74] = CreateEndpoint("/$/GetClusterConfiguration"); + _endpoints[75] = CreateEndpoint("/$/GetClusterConfigurationUpgradeStatus"); + _endpoints[76] = CreateEndpoint("/$/GetClusterHealth"); + _endpoints[77] = CreateEndpoint("/$/GetClusterHealthChunk"); + _endpoints[78] = CreateEndpoint("/$/GetClusterManifest"); + _endpoints[79] = CreateEndpoint("/$/GetLoadInformation"); + _endpoints[80] = CreateEndpoint("/$/GetProvisionedCodeVersions"); + _endpoints[81] = CreateEndpoint("/$/GetProvisionedConfigVersions"); + _endpoints[82] = CreateEndpoint("/$/GetRepairTaskList"); + _endpoints[83] = CreateEndpoint("/$/GetUpgradeOrchestrationServiceState"); + _endpoints[84] = CreateEndpoint("/$/GetUpgradeProgress"); + _endpoints[85] = CreateEndpoint("/$/InvokeInfrastructureCommand"); + _endpoints[86] = CreateEndpoint("/$/InvokeInfrastructureQuery"); + _endpoints[87] = CreateEndpoint("/$/MoveToNextUpgradeDomain"); + _endpoints[88] = CreateEndpoint("/$/Provision"); + _endpoints[89] = CreateEndpoint("/$/RecoverAllPartitions"); + _endpoints[90] = CreateEndpoint("/$/RecoverSystemPartitions"); + _endpoints[91] = CreateEndpoint("/$/ReportClusterHealth"); + _endpoints[92] = CreateEndpoint("/$/RollbackUpgrade"); + _endpoints[93] = CreateEndpoint("/$/SetUpgradeOrchestrationServiceState"); + _endpoints[94] = CreateEndpoint("/$/StartClusterConfigurationUpgrade"); + _endpoints[95] = CreateEndpoint("/$/Unprovision"); + _endpoints[96] = CreateEndpoint("/$/UpdateRepairExecutionState"); + _endpoints[97] = CreateEndpoint("/$/UpdateRepairTaskHealthPolicy"); + _endpoints[98] = CreateEndpoint("/$/UpdateUpgrade"); + _endpoints[99] = CreateEndpoint("/$/Upgrade"); + _endpoints[100] = CreateEndpoint("/api/events"); + _endpoints[101] = CreateEndpoint("/apps/assistants"); + _endpoints[102] = CreateEndpoint("/apps/cultures"); + _endpoints[103] = CreateEndpoint("/apps/customprebuiltdomains"); + _endpoints[104] = CreateEndpoint("/apps/domains"); + _endpoints[105] = CreateEndpoint("/apps/import"); + _endpoints[106] = CreateEndpoint("/apps/usagescenarios"); + _endpoints[107] = CreateEndpoint("/BackupRestore/BackupPolicies"); + _endpoints[108] = CreateEndpoint("/certificates/contacts"); + _endpoints[109] = CreateEndpoint("/certificates/issuers"); + _endpoints[110] = CreateEndpoint("/docs/$count"); + _endpoints[111] = CreateEndpoint("/docs/autocomplete"); + _endpoints[112] = CreateEndpoint("/images/details"); + _endpoints[113] = CreateEndpoint("/images/search"); + _endpoints[114] = CreateEndpoint("/images/trending"); + _endpoints[115] = CreateEndpoint("/images/visualsearch"); + _endpoints[116] = CreateEndpoint("/keys/restore"); + _endpoints[117] = CreateEndpoint("/news/search"); + _endpoints[118] = CreateEndpoint("/news/trendingtopics"); + _endpoints[119] = CreateEndpoint("/portalsettings/delegation"); + _endpoints[120] = CreateEndpoint("/portalsettings/signin"); + _endpoints[121] = CreateEndpoint("/portalsettings/signup"); + _endpoints[122] = CreateEndpoint("/reports/byApi"); + _endpoints[123] = CreateEndpoint("/reports/byGeo"); + _endpoints[124] = CreateEndpoint("/reports/byOperation"); + _endpoints[125] = CreateEndpoint("/reports/byProduct"); + _endpoints[126] = CreateEndpoint("/reports/byRequest"); + _endpoints[127] = CreateEndpoint("/reports/bySubscription"); + _endpoints[128] = CreateEndpoint("/reports/byTime"); + _endpoints[129] = CreateEndpoint("/reports/byUser"); + _endpoints[130] = CreateEndpoint("/secrets/restore"); + _endpoints[131] = CreateEndpoint("/storage/restore"); + _endpoints[132] = CreateEndpoint("/Tools/Chaos"); + _endpoints[133] = CreateEndpoint("/v2.0/entities"); + _endpoints[134] = CreateEndpoint("/v2.0/keyPhrases"); + _endpoints[135] = CreateEndpoint("/v2.0/languages"); + _endpoints[136] = CreateEndpoint("/v2.0/sentiment"); + _endpoints[137] = CreateEndpoint("/videos/details"); + _endpoints[138] = CreateEndpoint("/videos/search"); + _endpoints[139] = CreateEndpoint("/videos/trending"); + _endpoints[140] = CreateEndpoint("/Applications/$/Create"); + _endpoints[141] = CreateEndpoint("/ApplicationTypes/$/Provision"); + _endpoints[142] = CreateEndpoint("/BackupRestore/$/GetBackups"); + _endpoints[143] = CreateEndpoint("/catalog/usql/acl"); + _endpoints[144] = CreateEndpoint("/catalog/usql/databases"); + _endpoints[145] = CreateEndpoint("/ComposeDeployments/$/Create"); + _endpoints[146] = CreateEndpoint("/EventsStore/Applications/Events"); + _endpoints[147] = CreateEndpoint("/EventsStore/Cluster/Events"); + _endpoints[148] = CreateEndpoint("/EventsStore/Containers/Events"); + _endpoints[149] = CreateEndpoint("/EventsStore/Nodes/Events"); + _endpoints[150] = CreateEndpoint("/EventsStore/Partitions/Events"); + _endpoints[151] = CreateEndpoint("/EventsStore/Services/Events"); + _endpoints[152] = CreateEndpoint("/Faults/$/Cancel"); + _endpoints[153] = CreateEndpoint("/ImageStore/$/CommitUploadSession"); + _endpoints[154] = CreateEndpoint("/ImageStore/$/Copy"); + _endpoints[155] = CreateEndpoint("/ImageStore/$/DeleteUploadSession"); + _endpoints[156] = CreateEndpoint("/ImageStore/$/GetUploadSession"); + _endpoints[157] = CreateEndpoint("/Names/$/Create"); + _endpoints[158] = CreateEndpoint("/providers/Microsoft.AAD/operations"); + _endpoints[159] = CreateEndpoint("/providers/Microsoft.Addons/operations"); + _endpoints[160] = CreateEndpoint("/providers/Microsoft.ADHybridHealthService/addsservices"); + _endpoints[161] = CreateEndpoint("/providers/Microsoft.ADHybridHealthService/configuration"); + _endpoints[162] = CreateEndpoint("/providers/Microsoft.ADHybridHealthService/operations"); + _endpoints[163] = CreateEndpoint("/providers/Microsoft.ADHybridHealthService/services"); + _endpoints[164] = CreateEndpoint("/providers/Microsoft.Advisor/operations"); + _endpoints[165] = CreateEndpoint("/providers/Microsoft.AnalysisServices/operations"); + _endpoints[166] = CreateEndpoint("/providers/Microsoft.ApiManagement/operations"); + _endpoints[167] = CreateEndpoint("/providers/Microsoft.Authorization/policyDefinitions"); + _endpoints[168] = CreateEndpoint("/providers/Microsoft.Authorization/policySetDefinitions"); + _endpoints[169] = CreateEndpoint("/providers/Microsoft.Authorization/providerOperations"); + _endpoints[170] = CreateEndpoint("/providers/Microsoft.Automation/operations"); + _endpoints[171] = CreateEndpoint("/providers/Microsoft.AzureStack/operations"); + _endpoints[172] = CreateEndpoint("/providers/Microsoft.Backup.Admin/operations"); + _endpoints[173] = CreateEndpoint("/providers/Microsoft.Batch/operations"); + _endpoints[174] = CreateEndpoint("/providers/Microsoft.BatchAI/operations"); + _endpoints[175] = CreateEndpoint("/providers/Microsoft.Billing/enrollmentAccounts"); + _endpoints[176] = CreateEndpoint("/providers/Microsoft.Billing/operations"); + _endpoints[177] = CreateEndpoint("/providers/Microsoft.BotService/operations"); + _endpoints[178] = CreateEndpoint("/providers/Microsoft.Cache/operations"); + _endpoints[179] = CreateEndpoint("/providers/Microsoft.Capacity/operations"); + _endpoints[180] = CreateEndpoint("/providers/Microsoft.Capacity/reservationOrders"); + _endpoints[181] = CreateEndpoint("/providers/Microsoft.Cdn/checkNameAvailability"); + _endpoints[182] = CreateEndpoint("/providers/Microsoft.Cdn/edgenodes"); + _endpoints[183] = CreateEndpoint("/providers/Microsoft.Cdn/operations"); + _endpoints[184] = CreateEndpoint("/providers/Microsoft.CertificateRegistration/operations"); + _endpoints[185] = CreateEndpoint("/providers/Microsoft.CognitiveServices/operations"); + _endpoints[186] = CreateEndpoint("/providers/Microsoft.Commerce.Admin/operations"); + _endpoints[187] = CreateEndpoint("/providers/Microsoft.Compute.Admin/operations"); + _endpoints[188] = CreateEndpoint("/providers/Microsoft.Compute/operations"); + _endpoints[189] = CreateEndpoint("/providers/Microsoft.Consumption/operations"); + _endpoints[190] = CreateEndpoint("/providers/Microsoft.ContainerInstance/operations"); + _endpoints[191] = CreateEndpoint("/providers/Microsoft.ContainerRegistry/operations"); + _endpoints[192] = CreateEndpoint("/providers/Microsoft.ContainerService/operations"); + _endpoints[193] = CreateEndpoint("/providers/Microsoft.CustomerInsights/operations"); + _endpoints[194] = CreateEndpoint("/providers/Microsoft.DataBox/operations"); + _endpoints[195] = CreateEndpoint("/providers/Microsoft.Databricks/operations"); + _endpoints[196] = CreateEndpoint("/providers/Microsoft.DataCatalog/operations"); + _endpoints[197] = CreateEndpoint("/providers/Microsoft.DataFactory/operations"); + _endpoints[198] = CreateEndpoint("/providers/Microsoft.DataLakeAnalytics/operations"); + _endpoints[199] = CreateEndpoint("/providers/Microsoft.DataLakeStore/operations"); + _endpoints[200] = CreateEndpoint("/providers/Microsoft.DataMigration/operations"); + _endpoints[201] = CreateEndpoint("/providers/Microsoft.DBforMySQL/operations"); + _endpoints[202] = CreateEndpoint("/providers/Microsoft.DBforPostgreSQL/operations"); + _endpoints[203] = CreateEndpoint("/providers/Microsoft.Devices/operations"); + _endpoints[204] = CreateEndpoint("/providers/Microsoft.DevTestLab/operations"); + _endpoints[205] = CreateEndpoint("/providers/Microsoft.DocumentDB/operations"); + _endpoints[206] = CreateEndpoint("/providers/Microsoft.DomainRegistration/operations"); + _endpoints[207] = CreateEndpoint("/providers/Microsoft.EventGrid/operations"); + _endpoints[208] = CreateEndpoint("/providers/Microsoft.EventGrid/topicTypes"); + _endpoints[209] = CreateEndpoint("/providers/Microsoft.EventHub/operations"); + _endpoints[210] = CreateEndpoint("/providers/Microsoft.Fabric.Admin/operations"); + _endpoints[211] = CreateEndpoint("/providers/Microsoft.Gallery.Admin/operations"); + _endpoints[212] = CreateEndpoint("/providers/Microsoft.HanaOnAzure/operations"); + _endpoints[213] = CreateEndpoint("/providers/Microsoft.HDInsight/operations"); + _endpoints[214] = CreateEndpoint("/providers/Microsoft.ImportExport/locations"); + _endpoints[215] = CreateEndpoint("/providers/Microsoft.ImportExport/operations"); + _endpoints[216] = CreateEndpoint("/providers/Microsoft.InfrastructureInsights.Admin/operations"); + _endpoints[217] = CreateEndpoint("/providers/microsoft.insights/eventcategories"); + _endpoints[218] = CreateEndpoint("/providers/microsoft.insights/operations"); + _endpoints[219] = CreateEndpoint("/providers/Microsoft.Intune/locations"); + _endpoints[220] = CreateEndpoint("/providers/Microsoft.IoTCentral/operations"); + _endpoints[221] = CreateEndpoint("/providers/Microsoft.IoTSpaces/operations"); + _endpoints[222] = CreateEndpoint("/providers/Microsoft.KeyVault.Admin/operations"); + _endpoints[223] = CreateEndpoint("/providers/Microsoft.KeyVault/operations"); + _endpoints[224] = CreateEndpoint("/providers/Microsoft.Logic/operations"); + _endpoints[225] = CreateEndpoint("/providers/Microsoft.MachineLearning/operations"); + _endpoints[226] = CreateEndpoint("/providers/Microsoft.MachineLearningCompute/operations"); + _endpoints[227] = CreateEndpoint("/providers/Microsoft.MachineLearningExperimentation/operations"); + _endpoints[228] = CreateEndpoint("/providers/Microsoft.MachineLearningServices/operations"); + _endpoints[229] = CreateEndpoint("/providers/Microsoft.ManagedIdentity/operations"); + _endpoints[230] = CreateEndpoint("/providers/Microsoft.Management/checkNameAvailability"); + _endpoints[231] = CreateEndpoint("/providers/Microsoft.Management/getEntities"); + _endpoints[232] = CreateEndpoint("/providers/Microsoft.Management/managementGroups"); + _endpoints[233] = CreateEndpoint("/providers/Microsoft.Management/operations"); + _endpoints[234] = CreateEndpoint("/providers/Microsoft.Management/startTenantBackfill"); + _endpoints[235] = CreateEndpoint("/providers/Microsoft.Management/tenantBackfillStatus"); + _endpoints[236] = CreateEndpoint("/providers/Microsoft.ManagementPartner/operations"); + _endpoints[237] = CreateEndpoint("/providers/Microsoft.Maps/operations"); + _endpoints[238] = CreateEndpoint("/providers/Microsoft.MarketplaceOrdering/operations"); + _endpoints[239] = CreateEndpoint("/providers/Microsoft.Media/operations"); + _endpoints[240] = CreateEndpoint("/providers/Microsoft.Migrate/operations"); + _endpoints[241] = CreateEndpoint("/providers/Microsoft.Network/checkTrafficManagerNameAvailability"); + _endpoints[242] = CreateEndpoint("/providers/Microsoft.Network/operations"); + _endpoints[243] = CreateEndpoint("/providers/Microsoft.NotificationHubs/operations"); + _endpoints[244] = CreateEndpoint("/providers/Microsoft.OperationalInsights/operations"); + _endpoints[245] = CreateEndpoint("/providers/Microsoft.OperationsManagement/operations"); + _endpoints[246] = CreateEndpoint("/providers/Microsoft.PolicyInsights/operations"); + _endpoints[247] = CreateEndpoint("/providers/Microsoft.PowerBI/operations"); + _endpoints[248] = CreateEndpoint("/providers/Microsoft.PowerBIDedicated/operations"); + _endpoints[249] = CreateEndpoint("/providers/Microsoft.RecoveryServices/operations"); + _endpoints[250] = CreateEndpoint("/providers/Microsoft.Relay/operations"); + _endpoints[251] = CreateEndpoint("/providers/Microsoft.ResourceHealth/operations"); + _endpoints[252] = CreateEndpoint("/providers/Microsoft.Search/operations"); + _endpoints[253] = CreateEndpoint("/providers/Microsoft.Security/operations"); + _endpoints[254] = CreateEndpoint("/providers/Microsoft.ServiceBus/operations"); + _endpoints[255] = CreateEndpoint("/providers/Microsoft.ServiceFabric/operations"); + _endpoints[256] = CreateEndpoint("/providers/Microsoft.SignalRService/operations"); + _endpoints[257] = CreateEndpoint("/providers/Microsoft.Sql/operations"); + _endpoints[258] = CreateEndpoint("/providers/Microsoft.Storage.Admin/operations"); + _endpoints[259] = CreateEndpoint("/providers/Microsoft.Storage/operations"); + _endpoints[260] = CreateEndpoint("/providers/Microsoft.StorSimple/operations"); + _endpoints[261] = CreateEndpoint("/providers/Microsoft.StreamAnalytics/operations"); + _endpoints[262] = CreateEndpoint("/providers/Microsoft.Subscription/operations"); + _endpoints[263] = CreateEndpoint("/providers/Microsoft.Subscription/subscriptionDefinitions"); + _endpoints[264] = CreateEndpoint("/providers/Microsoft.Subscription/subscriptionOperations"); + _endpoints[265] = CreateEndpoint("/providers/Microsoft.Subscriptions.Admin/operations"); + _endpoints[266] = CreateEndpoint("/providers/Microsoft.Subscriptions/operations"); + _endpoints[267] = CreateEndpoint("/providers/Microsoft.TimeSeriesInsights/operations"); + _endpoints[268] = CreateEndpoint("/providers/Microsoft.Update.Admin/operations"); + _endpoints[269] = CreateEndpoint("/providers/microsoft.visualstudio/operations"); + _endpoints[270] = CreateEndpoint("/providers/Microsoft.Web/availableStacks"); + _endpoints[271] = CreateEndpoint("/providers/Microsoft.Web/operations"); + _endpoints[272] = CreateEndpoint("/providers/Microsoft.Web/sourcecontrols"); + _endpoints[273] = CreateEndpoint("/Tools/Chaos/Events"); + _endpoints[274] = CreateEndpoint("/Tools/Chaos/Schedule"); + _endpoints[275] = CreateEndpoint("/BackupRestore/BackupPolicies/$/Create"); + _endpoints[276] = CreateEndpoint("/contentmoderator/lists/v1.0/imagelists"); + _endpoints[277] = CreateEndpoint("/contentmoderator/lists/v1.0/termlists"); + _endpoints[278] = CreateEndpoint("/providers/Microsoft.ADHybridHealthService/addsservices/premiumCheck"); + _endpoints[279] = CreateEndpoint("/providers/Microsoft.ADHybridHealthService/services/premiumCheck"); + _endpoints[280] = CreateEndpoint("/providers/Microsoft.BotService/botServices/checkNameAvailability"); + _endpoints[281] = CreateEndpoint("/providers/Microsoft.Intune/locations/hostName"); + _endpoints[282] = CreateEndpoint("/providers/Microsoft.Network/trafficManagerGeographicHierarchies/default"); + _endpoints[283] = CreateEndpoint("/providers/Microsoft.Web/publishingUsers/web"); + _endpoints[284] = CreateEndpoint("/Tools/Chaos/$/Report"); + _endpoints[285] = CreateEndpoint("/Tools/Chaos/$/Start"); + _endpoints[286] = CreateEndpoint("/Tools/Chaos/$/Stop"); + _endpoints[287] = CreateEndpoint("/contentmoderator/moderate/v1.0/ProcessImage/Evaluate"); + _endpoints[288] = CreateEndpoint("/contentmoderator/moderate/v1.0/ProcessImage/FindFaces"); + _endpoints[289] = CreateEndpoint("/contentmoderator/moderate/v1.0/ProcessImage/Match"); + _endpoints[290] = CreateEndpoint("/contentmoderator/moderate/v1.0/ProcessImage/OCR"); + _endpoints[291] = CreateEndpoint("/contentmoderator/moderate/v1.0/ProcessText/DetectLanguage"); + _endpoints[292] = CreateEndpoint("/contentmoderator/moderate/v1.0/ProcessText/Screen/"); + _endpoints[293] = CreateEndpoint("/providers/microsoft.insights/eventtypes/management/values"); + _endpoints[294] = CreateEndpoint("/contentmoderator/lists/v1.0/imagelists/{listId}"); + _endpoints[295] = CreateEndpoint("/contentmoderator/lists/v1.0/termlists/{listId}"); + _endpoints[296] = CreateEndpoint("/contentmoderator/lists/v1.0/imagelists/{listId}/images"); + _endpoints[297] = CreateEndpoint("/contentmoderator/lists/v1.0/imagelists/{listId}/RefreshIndex"); + _endpoints[298] = CreateEndpoint("/contentmoderator/lists/v1.0/termlists/{listId}/RefreshIndex"); + _endpoints[299] = CreateEndpoint("/contentmoderator/lists/v1.0/termlists/{listId}/terms"); + _endpoints[300] = CreateEndpoint("/contentmoderator/review/v1.0/teams/{teamName}/jobs"); + _endpoints[301] = CreateEndpoint("/contentmoderator/review/v1.0/teams/{teamName}/reviews"); + _endpoints[302] = CreateEndpoint("/contentmoderator/lists/v1.0/imagelists/{listId}/images/{ImageId}"); + _endpoints[303] = CreateEndpoint("/contentmoderator/lists/v1.0/termlists/{listId}/terms/{term}"); + _endpoints[304] = CreateEndpoint("/contentmoderator/review/v1.0/teams/{teamName}/jobs/{JobId}"); + _endpoints[305] = CreateEndpoint("/contentmoderator/review/v1.0/teams/{teamName}/reviews/{reviewId}"); + _endpoints[306] = CreateEndpoint("/contentmoderator/review/v1.0/teams/{teamName}/reviews/{reviewId}/frames"); + _endpoints[307] = CreateEndpoint("/contentmoderator/review/v1.0/teams/{teamName}/reviews/{reviewId}/publish"); + _endpoints[308] = CreateEndpoint("/contentmoderator/review/v1.0/teams/{teamName}/reviews/{reviewId}/transcript"); + _endpoints[309] = CreateEndpoint("/contentmoderator/review/v1.0/teams/{teamName}/reviews/{reviewId}/transcriptmoderationresult"); + _endpoints[310] = CreateEndpoint("/catalog/usql/databases/{databaseName}"); + _endpoints[311] = CreateEndpoint("/providers/Microsoft.ADHybridHealthService/addsservices/{serviceName}"); + _endpoints[312] = CreateEndpoint("/providers/Microsoft.ADHybridHealthService/services/{serviceName}"); + _endpoints[313] = CreateEndpoint("/providers/Microsoft.Authorization/policyDefinitions/{policyDefinitionName}"); + _endpoints[314] = CreateEndpoint("/providers/Microsoft.Authorization/policySetDefinitions/{policySetDefinitionName}"); + _endpoints[315] = CreateEndpoint("/providers/Microsoft.Authorization/providerOperations/{resourceProviderNamespace}"); + _endpoints[316] = CreateEndpoint("/providers/Microsoft.Billing/enrollmentAccounts/{name}"); + _endpoints[317] = CreateEndpoint("/providers/Microsoft.Capacity/reservationOrders/{reservationOrderId}"); + _endpoints[318] = CreateEndpoint("/providers/Microsoft.DocumentDB/databaseAccountNames/{accountName}"); + _endpoints[319] = CreateEndpoint("/providers/Microsoft.EventGrid/topicTypes/{topicTypeName}"); + _endpoints[320] = CreateEndpoint("/providers/Microsoft.ImportExport/locations/{locationName}"); + _endpoints[321] = CreateEndpoint("/providers/Microsoft.Management/managementGroups/{groupId}"); + _endpoints[322] = CreateEndpoint("/providers/Microsoft.ManagementPartner/partners/{partnerId}"); + _endpoints[323] = CreateEndpoint("/providers/Microsoft.Subscription/subscriptionDefinitions/{subscriptionDefinitionName}"); + _endpoints[324] = CreateEndpoint("/providers/Microsoft.Subscription/subscriptionOperations/{operationId}"); + _endpoints[325] = CreateEndpoint("/providers/Microsoft.Web/sourcecontrols/{sourceControlType}"); + _endpoints[326] = CreateEndpoint("/catalog/usql/databases/{databaseName}/acl"); + _endpoints[327] = CreateEndpoint("/catalog/usql/databases/{databaseName}/assemblies"); + _endpoints[328] = CreateEndpoint("/catalog/usql/databases/{databaseName}/credentials"); + _endpoints[329] = CreateEndpoint("/catalog/usql/databases/{databaseName}/externaldatasources"); + _endpoints[330] = CreateEndpoint("/catalog/usql/databases/{databaseName}/schemas"); + _endpoints[331] = CreateEndpoint("/catalog/usql/databases/{databaseName}/secrets"); + _endpoints[332] = CreateEndpoint("/catalog/usql/databases/{databaseName}/statistics"); + _endpoints[333] = CreateEndpoint("/catalog/usql/databases/{databaseName}/tables"); + _endpoints[334] = CreateEndpoint("/catalog/usql/databases/{databaseName}/tablevaluedfunctions"); + _endpoints[335] = CreateEndpoint("/catalog/usql/databases/{databaseName}/views"); + _endpoints[336] = CreateEndpoint("/providers/Microsoft.ADHybridHealthService/addsservices/{serviceName}/addomainservicemembers"); + _endpoints[337] = CreateEndpoint("/providers/Microsoft.ADHybridHealthService/addsservices/{serviceName}/addsservicemembers"); + _endpoints[338] = CreateEndpoint("/providers/Microsoft.ADHybridHealthService/addsservices/{serviceName}/alerts"); + _endpoints[339] = CreateEndpoint("/providers/Microsoft.ADHybridHealthService/addsservices/{serviceName}/configuration"); + _endpoints[340] = CreateEndpoint("/providers/Microsoft.ADHybridHealthService/addsservices/{serviceName}/forestsummary"); + _endpoints[341] = CreateEndpoint("/providers/Microsoft.ADHybridHealthService/addsservices/{serviceName}/metricmetadata"); + _endpoints[342] = CreateEndpoint("/providers/Microsoft.ADHybridHealthService/addsservices/{serviceName}/replicationstatus"); + _endpoints[343] = CreateEndpoint("/providers/Microsoft.ADHybridHealthService/addsservices/{serviceName}/replicationsummary"); + _endpoints[344] = CreateEndpoint("/providers/Microsoft.ADHybridHealthService/services/{serviceName}/alerts"); + _endpoints[345] = CreateEndpoint("/providers/Microsoft.ADHybridHealthService/services/{serviceName}/exportstatus"); + _endpoints[346] = CreateEndpoint("/providers/Microsoft.ADHybridHealthService/services/{serviceName}/metricmetadata"); + _endpoints[347] = CreateEndpoint("/providers/Microsoft.ADHybridHealthService/services/{serviceName}/monitoringconfiguration"); + _endpoints[348] = CreateEndpoint("/providers/Microsoft.ADHybridHealthService/services/{serviceName}/monitoringconfigurations"); + _endpoints[349] = CreateEndpoint("/providers/Microsoft.ADHybridHealthService/services/{serviceName}/servicemembers"); + _endpoints[350] = CreateEndpoint("/providers/Microsoft.Capacity/reservationOrders/{reservationOrderId}/merge"); + _endpoints[351] = CreateEndpoint("/providers/Microsoft.Capacity/reservationOrders/{reservationOrderId}/reservations"); + _endpoints[352] = CreateEndpoint("/providers/Microsoft.Capacity/reservationOrders/{reservationOrderId}/split"); + _endpoints[353] = CreateEndpoint("/providers/Microsoft.EventGrid/topicTypes/{topicTypeName}/eventTypes"); + _endpoints[354] = CreateEndpoint("/providers/Microsoft.Intune/locations/{hostName}/androidPolicies"); + _endpoints[355] = CreateEndpoint("/providers/Microsoft.Intune/locations/{hostName}/apps"); + _endpoints[356] = CreateEndpoint("/providers/Microsoft.Intune/locations/{hostName}/flaggedUsers"); + _endpoints[357] = CreateEndpoint("/providers/Microsoft.Intune/locations/{hostName}/iosPolicies"); + _endpoints[358] = CreateEndpoint("/providers/Microsoft.Intune/locations/{hostName}/operationResults"); + _endpoints[359] = CreateEndpoint("/providers/Microsoft.ADHybridHealthService/services/{serviceName}/exporterrors/counts"); + _endpoints[360] = CreateEndpoint("/providers/Microsoft.ADHybridHealthService/services/{serviceName}/exporterrors/listV2"); + _endpoints[361] = CreateEndpoint("/providers/Microsoft.Intune/locations/{hostName}/statuses/default"); + _endpoints[362] = CreateEndpoint("/providers/Microsoft.ADHybridHealthService/services/{serviceName}/feedbacktype/alerts/feedback"); + _endpoints[363] = CreateEndpoint("/providers/Microsoft.Billing/billingAccounts/{billingAccountId}/providers/Microsoft.Consumption/balances"); + _endpoints[364] = CreateEndpoint("/providers/Microsoft.Billing/billingAccounts/{billingAccountId}/providers/Microsoft.Consumption/costTags"); + _endpoints[365] = CreateEndpoint("/providers/Microsoft.Billing/billingAccounts/{billingAccountId}/providers/Microsoft.Consumption/marketplaces"); + _endpoints[366] = CreateEndpoint("/providers/Microsoft.Billing/billingAccounts/{billingAccountId}/providers/Microsoft.Consumption/usageDetails"); + _endpoints[367] = CreateEndpoint("/providers/Microsoft.Billing/departments/{departmentId}/providers/Microsoft.Consumption/marketplaces"); + _endpoints[368] = CreateEndpoint("/providers/Microsoft.Billing/departments/{departmentId}/providers/Microsoft.Consumption/usageDetails"); + _endpoints[369] = CreateEndpoint("/providers/Microsoft.Billing/enrollmentAccounts/{enrollmentAccountId}/providers/Microsoft.Consumption/marketplaces"); + _endpoints[370] = CreateEndpoint("/providers/Microsoft.Billing/enrollmentAccounts/{enrollmentAccountId}/providers/Microsoft.Consumption/usageDetails"); + _endpoints[371] = CreateEndpoint("/providers/Microsoft.Billing/enrollmentAccounts/{enrollmentAccountName}/providers/Microsoft.Subscription/createSubscription"); + _endpoints[372] = CreateEndpoint("/providers/Microsoft.Capacity/reservationorders/{reservationOrderId}/providers/Microsoft.Consumption/reservationDetails"); + _endpoints[373] = CreateEndpoint("/providers/Microsoft.Capacity/reservationorders/{reservationOrderId}/providers/Microsoft.Consumption/reservationSummaries"); + _endpoints[374] = CreateEndpoint("/providers/Microsoft.CostManagement/billingAccounts/{billingAccountId}/providers/Microsoft.Consumption/tags"); + _endpoints[375] = CreateEndpoint("/providers/Microsoft.Management/managementgroups/{managementGroupId}/providers/Microsoft.Authorization/policyDefinitions"); + _endpoints[376] = CreateEndpoint("/providers/Microsoft.Management/managementgroups/{managementGroupId}/providers/Microsoft.Authorization/policySetDefinitions"); + _endpoints[377] = CreateEndpoint("/providers/Microsoft.ADHybridHealthService/services/{serviceName}/reports/badpassword/details/user"); + _endpoints[378] = CreateEndpoint("/providers/Microsoft.Management/managementgroups/{managementGroupId}/providers/Microsoft.Authorization/policyDefinitions/{policyDefinitionName}"); + _endpoints[379] = CreateEndpoint("/providers/Microsoft.Management/managementgroups/{managementGroupId}/providers/Microsoft.Authorization/policySetDefinitions/{policySetDefinitionName}"); + _endpoints[380] = CreateEndpoint("/providers/Microsoft.Billing/billingAccounts/{billingAccountId}/providers/Microsoft.Billing/billingPeriods/{billingPeriodName}/providers/Microsoft.Consumption/balances"); + _endpoints[381] = CreateEndpoint("/providers/Microsoft.Billing/billingAccounts/{billingAccountId}/providers/Microsoft.Billing/billingPeriods/{billingPeriodName}/providers/Microsoft.Consumption/marketplaces"); + _endpoints[382] = CreateEndpoint("/providers/Microsoft.Billing/billingAccounts/{billingAccountId}/providers/Microsoft.Billing/billingPeriods/{billingPeriodName}/providers/Microsoft.Consumption/usageDetails"); + _endpoints[383] = CreateEndpoint("/providers/Microsoft.Billing/departments/{departmentId}/providers/Microsoft.Billing/billingPeriods/{billingPeriodName}/providers/Microsoft.Consumption/marketplaces"); + _endpoints[384] = CreateEndpoint("/providers/Microsoft.Billing/departments/{departmentId}/providers/Microsoft.Billing/billingPeriods/{billingPeriodName}/providers/Microsoft.Consumption/usageDetails"); + _endpoints[385] = CreateEndpoint("/providers/Microsoft.Billing/enrollmentAccounts/{enrollmentAccountId}/providers/Microsoft.Billing/billingPeriods/{billingPeriodName}/providers/Microsoft.Consumption/marketplaces"); + _endpoints[386] = CreateEndpoint("/providers/Microsoft.Billing/enrollmentAccounts/{enrollmentAccountId}/providers/Microsoft.Billing/billingPeriods/{billingPeriodName}/providers/Microsoft.Consumption/usageDetails"); + _endpoints[387] = CreateEndpoint("/providers/Microsoft.ADHybridHealthService/services/{serviceName}/feedbacktype/alerts/{shortName}/alertfeedback"); + _endpoints[388] = CreateEndpoint("/catalog/usql/databases/{databaseName}/assemblies/{assemblyName}"); + _endpoints[389] = CreateEndpoint("/catalog/usql/databases/{databaseName}/credentials/{credentialName}"); + _endpoints[390] = CreateEndpoint("/catalog/usql/databases/{databaseName}/externaldatasources/{externalDataSourceName}"); + _endpoints[391] = CreateEndpoint("/catalog/usql/databases/{databaseName}/schemas/{schemaName}"); + _endpoints[392] = CreateEndpoint("/catalog/usql/databases/{databaseName}/secrets/{secretName}"); + _endpoints[393] = CreateEndpoint("/providers/Microsoft.ADHybridHealthService/addsservices/{serviceName}/dimensions/{dimension}"); + _endpoints[394] = CreateEndpoint("/providers/Microsoft.ADHybridHealthService/addsservices/{serviceName}/metricmetadata/{metricName}"); + _endpoints[395] = CreateEndpoint("/providers/Microsoft.ADHybridHealthService/services/{serviceName}/checkServiceFeatureAvailibility/{featureName}"); + _endpoints[396] = CreateEndpoint("/providers/Microsoft.ADHybridHealthService/services/{serviceName}/metricmetadata/{metricName}"); + _endpoints[397] = CreateEndpoint("/providers/Microsoft.ADHybridHealthService/services/{serviceName}/servicemembers/{serviceMemberId}"); + _endpoints[398] = CreateEndpoint("/providers/Microsoft.ADHybridHealthService/services/{serviceName}/TenantWhitelisting/{featureName}"); + _endpoints[399] = CreateEndpoint("/providers/Microsoft.Capacity/reservationOrders/{reservationOrderId}/reservations/{reservationId}"); + _endpoints[400] = CreateEndpoint("/providers/Microsoft.Intune/locations/{hostName}/androidPolicies/{policyName}"); + _endpoints[401] = CreateEndpoint("/providers/Microsoft.Intune/locations/{hostName}/flaggedUsers/{userName}"); + _endpoints[402] = CreateEndpoint("/providers/Microsoft.Intune/locations/{hostName}/iosPolicies/{policyName}"); + _endpoints[403] = CreateEndpoint("/providers/Microsoft.Management/managementGroups/{groupId}/subscriptions/{subscriptionId}"); + _endpoints[404] = CreateEndpoint("/catalog/usql/databases/{databaseName}/schemas/{schemaName}/packages"); + _endpoints[405] = CreateEndpoint("/catalog/usql/databases/{databaseName}/schemas/{schemaName}/procedures"); + _endpoints[406] = CreateEndpoint("/catalog/usql/databases/{databaseName}/schemas/{schemaName}/statistics"); + _endpoints[407] = CreateEndpoint("/catalog/usql/databases/{databaseName}/schemas/{schemaName}/tables"); + _endpoints[408] = CreateEndpoint("/catalog/usql/databases/{databaseName}/schemas/{schemaName}/tabletypes"); + _endpoints[409] = CreateEndpoint("/catalog/usql/databases/{databaseName}/schemas/{schemaName}/tablevaluedfunctions"); + _endpoints[410] = CreateEndpoint("/catalog/usql/databases/{databaseName}/schemas/{schemaName}/types"); + _endpoints[411] = CreateEndpoint("/catalog/usql/databases/{databaseName}/schemas/{schemaName}/views"); + _endpoints[412] = CreateEndpoint("/providers/Microsoft.ADHybridHealthService/addsservices/{serviceName}/servicemembers/{serviceMemberId}/alerts"); + _endpoints[413] = CreateEndpoint("/providers/Microsoft.ADHybridHealthService/service/{serviceName}/servicemembers/{serviceMemberId}/connectors"); + _endpoints[414] = CreateEndpoint("/providers/Microsoft.ADHybridHealthService/services/{serviceName}/servicemembers/{serviceMemberId}/alerts"); + _endpoints[415] = CreateEndpoint("/providers/Microsoft.ADHybridHealthService/services/{serviceName}/servicemembers/{serviceMemberId}/credentials"); + _endpoints[416] = CreateEndpoint("/providers/Microsoft.ADHybridHealthService/services/{serviceName}/servicemembers/{serviceMemberId}/data"); + _endpoints[417] = CreateEndpoint("/providers/Microsoft.ADHybridHealthService/services/{serviceName}/servicemembers/{serviceMemberId}/datafreshness"); + _endpoints[418] = CreateEndpoint("/providers/Microsoft.ADHybridHealthService/services/{serviceName}/servicemembers/{serviceMemberId}/exportstatus"); + _endpoints[419] = CreateEndpoint("/providers/Microsoft.ADHybridHealthService/services/{serviceName}/servicemembers/{serviceMemberId}/globalconfiguration"); + _endpoints[420] = CreateEndpoint("/providers/Microsoft.ADHybridHealthService/services/{serviceName}/servicemembers/{serviceMemberId}/serviceconfiguration"); + _endpoints[421] = CreateEndpoint("/providers/Microsoft.Capacity/reservationOrders/{reservationOrderId}/reservations/{reservationId}/revisions"); + _endpoints[422] = CreateEndpoint("/providers/Microsoft.Intune/locations/{hostName}/AndroidPolicies/{policyName}/apps"); + _endpoints[423] = CreateEndpoint("/providers/Microsoft.Intune/locations/{hostName}/androidPolicies/{policyName}/groups"); + _endpoints[424] = CreateEndpoint("/providers/Microsoft.Intune/locations/{hostName}/flaggedUsers/{userName}/flaggedEnrolledApps"); + _endpoints[425] = CreateEndpoint("/providers/Microsoft.Intune/locations/{hostName}/iosPolicies/{policyName}/apps"); + _endpoints[426] = CreateEndpoint("/providers/Microsoft.Intune/locations/{hostName}/iosPolicies/{policyName}/groups"); + _endpoints[427] = CreateEndpoint("/providers/Microsoft.Intune/locations/{hostName}/users/{userName}/devices"); + _endpoints[428] = CreateEndpoint("/providers/Microsoft.Capacity/reservationorders/{reservationOrderId}/reservations/{reservationId}/providers/Microsoft.Consumption/reservationDetails"); + _endpoints[429] = CreateEndpoint("/providers/Microsoft.Capacity/reservationorders/{reservationOrderId}/reservations/{reservationId}/providers/Microsoft.Consumption/reservationSummaries"); + _endpoints[430] = CreateEndpoint("/catalog/usql/databases/{databaseName}/schemas/{schemaName}/packages/{packageName}"); + _endpoints[431] = CreateEndpoint("/catalog/usql/databases/{databaseName}/schemas/{schemaName}/procedures/{procedureName}"); + _endpoints[432] = CreateEndpoint("/catalog/usql/databases/{databaseName}/schemas/{schemaName}/tables/{tableName}"); + _endpoints[433] = CreateEndpoint("/catalog/usql/databases/{databaseName}/schemas/{schemaName}/tabletypes/{tableTypeName}"); + _endpoints[434] = CreateEndpoint("/catalog/usql/databases/{databaseName}/schemas/{schemaName}/tablevaluedfunctions/{tableValuedFunctionName}"); + _endpoints[435] = CreateEndpoint("/catalog/usql/databases/{databaseName}/schemas/{schemaName}/views/{viewName}"); + _endpoints[436] = CreateEndpoint("/providers/Microsoft.ADHybridHealthService/addsservices/{serviceName}/metricmetadata/{metricName}/groups/{groupName}"); + _endpoints[437] = CreateEndpoint("/providers/Microsoft.ADHybridHealthService/services/{serviceName}/metricmetadata/{metricName}/groups/{groupName}"); + _endpoints[438] = CreateEndpoint("/providers/Microsoft.Intune/locations/{hostName}/androidPolicies/{policyName}/apps/{appName}"); + _endpoints[439] = CreateEndpoint("/providers/Microsoft.Intune/locations/{hostName}/androidPolicies/{policyName}/groups/{groupId}"); + _endpoints[440] = CreateEndpoint("/providers/Microsoft.Intune/locations/{hostName}/iosPolicies/{policyName}/apps/{appName}"); + _endpoints[441] = CreateEndpoint("/providers/Microsoft.Intune/locations/{hostName}/iosPolicies/{policyName}/groups/{groupId}"); + _endpoints[442] = CreateEndpoint("/providers/Microsoft.Intune/locations/{hostName}/users/{userName}/devices/{deviceName}"); + _endpoints[443] = CreateEndpoint("/catalog/usql/databases/{databaseName}/schemas/{schemaName}/tables/{tableName}/partitions"); + _endpoints[444] = CreateEndpoint("/catalog/usql/databases/{databaseName}/schemas/{schemaName}/tables/{tableName}/previewrows"); + _endpoints[445] = CreateEndpoint("/catalog/usql/databases/{databaseName}/schemas/{schemaName}/tables/{tableName}/statistics"); + _endpoints[446] = CreateEndpoint("/catalog/usql/databases/{databaseName}/schemas/{schemaName}/tables/{tableName}/tablefragments"); + _endpoints[447] = CreateEndpoint("/providers/Microsoft.ADHybridHealthService/addsservices/{serviceName}/metrics/{metricName}/groups/{groupName}/average"); + _endpoints[448] = CreateEndpoint("/providers/Microsoft.ADHybridHealthService/addsservices/{serviceName}/metrics/{metricName}/groups/{groupName}/sum"); + _endpoints[449] = CreateEndpoint("/providers/Microsoft.ADHybridHealthService/services/{serviceName}/metrics/{metricName}/groups/{groupName}/average"); + _endpoints[450] = CreateEndpoint("/providers/Microsoft.ADHybridHealthService/services/{serviceName}/metrics/{metricName}/groups/{groupName}/sum"); + _endpoints[451] = CreateEndpoint("/providers/Microsoft.Intune/locations/{hostName}/users/{userName}/devices/{deviceName}/wipe"); + _endpoints[452] = CreateEndpoint("/catalog/usql/databases/{databaseName}/schemas/{schemaName}/tables/{tableName}/partitions/{partitionName}"); + _endpoints[453] = CreateEndpoint("/catalog/usql/databases/{databaseName}/schemas/{schemaName}/tables/{tableName}/statistics/{statisticsName}"); + _endpoints[454] = CreateEndpoint("/providers/Microsoft.ADHybridHealthService/services/{serviceName}/servicemembers/{serviceMemberId}/metrics/{metricName}/groups/{groupName}"); + _endpoints[455] = CreateEndpoint("/catalog/usql/databases/{databaseName}/schemas/{schemaName}/tables/{tableName}/partitions/{partitionName}/previewrows"); + _endpoints[456] = CreateEndpoint("/apps/customprebuiltdomains/{culture}"); + _endpoints[457] = CreateEndpoint("/BackupRestore/BackupPolicies/{backupPolicyName}"); + _endpoints[458] = CreateEndpoint("/certificates/issuers/{issuer-name}"); + _endpoints[459] = CreateEndpoint("/webhdfs/v1/{path}"); + _endpoints[460] = CreateEndpoint("/webhdfs/va/{getContentSummaryFilePath}"); + _endpoints[461] = CreateEndpoint("/BackupRestore/BackupPolicies/{backupPolicyName}/$/Delete"); + _endpoints[462] = CreateEndpoint("/BackupRestore/BackupPolicies/{backupPolicyName}/$/GetBackupEnabledEntities"); + _endpoints[463] = CreateEndpoint("/BackupRestore/BackupPolicies/{backupPolicyName}/$/Update"); + _endpoints[464] = CreateEndpoint("/EventsStore/Applications/{applicationId}/$/Events"); + _endpoints[465] = CreateEndpoint("/EventsStore/CorrelatedEvents/{eventInstanceId}/$/Events"); + _endpoints[466] = CreateEndpoint("/EventsStore/Nodes/{nodeName}/$/Events"); + _endpoints[467] = CreateEndpoint("/EventsStore/Partitions/{partitionId}/$/Events"); + _endpoints[468] = CreateEndpoint("/EventsStore/Services/{serviceId}/$/Events"); + _endpoints[469] = CreateEndpoint("/Faults/Nodes/{nodeName}/$/GetTransitionProgress"); + _endpoints[470] = CreateEndpoint("/Faults/Nodes/{nodeName}/$/StartTransition/"); + _endpoints[471] = CreateEndpoint("/EventsStore/Partitions/{partitionId}/$/Replicas/Events"); + _endpoints[472] = CreateEndpoint("/Services/$/{serviceId}/$/GetPartitions/$/Recover"); + _endpoints[473] = CreateEndpoint("/EventsStore/Partitions/{partitionId}/$/Replicas/{replicaId}/$/Events"); + _endpoints[474] = CreateEndpoint("/Faults/Services/{serviceId}/$/GetPartitions/{partitionId}/$/GetDataLossProgress"); + _endpoints[475] = CreateEndpoint("/Faults/Services/{serviceId}/$/GetPartitions/{partitionId}/$/GetQuorumLossProgress"); + _endpoints[476] = CreateEndpoint("/Faults/Services/{serviceId}/$/GetPartitions/{partitionId}/$/GetRestartProgress"); + _endpoints[477] = CreateEndpoint("/Faults/Services/{serviceId}/$/GetPartitions/{partitionId}/$/StartDataLoss"); + _endpoints[478] = CreateEndpoint("/Faults/Services/{serviceId}/$/GetPartitions/{partitionId}/$/StartQuorumLoss"); + _endpoints[479] = CreateEndpoint("/Faults/Services/{serviceId}/$/GetPartitions/{partitionId}/$/StartRestart"); + _endpoints[480] = CreateEndpoint("/apis/{apiId}"); + _endpoints[481] = CreateEndpoint("/Applications/{applicationId}"); + _endpoints[482] = CreateEndpoint("/ApplicationTypes/{applicationTypeName}"); + _endpoints[483] = CreateEndpoint("/apps/{appId}"); + _endpoints[484] = CreateEndpoint("/authorizationServers/{authsid}"); + _endpoints[485] = CreateEndpoint("/backends/{backendid}"); + _endpoints[486] = CreateEndpoint("/certificates/{certificate-name}"); + _endpoints[487] = CreateEndpoint("/ComposeDeployments/{deploymentName}"); + _endpoints[488] = CreateEndpoint("/deletedcertificates/{certificate-name}"); + _endpoints[489] = CreateEndpoint("/deletedkeys/{key-name}"); + _endpoints[490] = CreateEndpoint("/deletedsecrets/{secret-name}"); + _endpoints[491] = CreateEndpoint("/deletedstorage/{storage-account-name}"); + _endpoints[492] = CreateEndpoint("/domains/{domainId}"); + _endpoints[493] = CreateEndpoint("/facelists/{faceListId}"); + _endpoints[494] = CreateEndpoint("/groups/{groupId}"); + _endpoints[495] = CreateEndpoint("/identityProviders/{identityProviderName}"); + _endpoints[496] = CreateEndpoint("/ImageStore/{contentPath}"); + _endpoints[497] = CreateEndpoint("/Jobs/{jobIdentity}"); + _endpoints[498] = CreateEndpoint("/jobschedules/{jobScheduleId}"); + _endpoints[499] = CreateEndpoint("/keys/{key-name}"); + _endpoints[500] = CreateEndpoint("/loggers/{loggerid}"); + _endpoints[501] = CreateEndpoint("/Names/{nameId}"); + _endpoints[502] = CreateEndpoint("/Nodes/{nodeName}"); + _endpoints[503] = CreateEndpoint("/openidConnectProviders/{opid}"); + _endpoints[504] = CreateEndpoint("/Partitions/{partitionId}"); + _endpoints[505] = CreateEndpoint("/persongroups/{personGroupId}"); + _endpoints[506] = CreateEndpoint("/pipelines/{pipelineIdentity}"); + _endpoints[507] = CreateEndpoint("/policies/{policyId}"); + _endpoints[508] = CreateEndpoint("/pools/{poolId}"); + _endpoints[509] = CreateEndpoint("/products/{productId}"); + _endpoints[510] = CreateEndpoint("/projects/{projectId}"); + _endpoints[511] = CreateEndpoint("/properties/{propId}"); + _endpoints[512] = CreateEndpoint("/quotas/{quotaCounterKey}"); + _endpoints[513] = CreateEndpoint("/recurrences/{recurrenceIdentity}"); + _endpoints[514] = CreateEndpoint("/secrets/{secret-name}"); + _endpoints[515] = CreateEndpoint("/storage/{storage-account-name}"); + _endpoints[516] = CreateEndpoint("/subscriptions/{subscriptionId}"); + _endpoints[517] = CreateEndpoint("/templates/{templateName}"); + _endpoints[518] = CreateEndpoint("/tenant/{accessName}"); + _endpoints[519] = CreateEndpoint("/textOperations/{operationId}"); + _endpoints[520] = CreateEndpoint("/users/{uid}"); + _endpoints[521] = CreateEndpoint("/WebHdfsExt/{path}"); + _endpoints[522] = CreateEndpoint("/apis/{apiId}/operations"); + _endpoints[523] = CreateEndpoint("/apis/{apiId}/policies"); + _endpoints[524] = CreateEndpoint("/apis/{apiId}/products"); + _endpoints[525] = CreateEndpoint("/apis/{apiId}/schemas"); + _endpoints[526] = CreateEndpoint("/apps/{appId}/endpoints"); + _endpoints[527] = CreateEndpoint("/apps/{appId}/metrics"); + _endpoints[528] = CreateEndpoint("/apps/{appId}/permissions"); + _endpoints[529] = CreateEndpoint("/apps/{appId}/publish"); + _endpoints[530] = CreateEndpoint("/apps/{appId}/publishsettings"); + _endpoints[531] = CreateEndpoint("/apps/{appId}/query"); + _endpoints[532] = CreateEndpoint("/apps/{appId}/querylogs"); + _endpoints[533] = CreateEndpoint("/apps/{appId}/settings"); + _endpoints[534] = CreateEndpoint("/apps/{appId}/versions"); + _endpoints[535] = CreateEndpoint("/certificates/{certificate-name}/create"); + _endpoints[536] = CreateEndpoint("/certificates/{certificate-name}/import"); + _endpoints[537] = CreateEndpoint("/certificates/{certificate-name}/pending"); + _endpoints[538] = CreateEndpoint("/certificates/{certificate-name}/policy"); + _endpoints[539] = CreateEndpoint("/certificates/{certificate-name}/versions"); + _endpoints[540] = CreateEndpoint("/delegatedProviders/{delegatedProviderId}/offers"); + _endpoints[541] = CreateEndpoint("/deletedcertificates/{certificate-name}/recover"); + _endpoints[542] = CreateEndpoint("/deletedkeys/{key-name}/recover"); + _endpoints[543] = CreateEndpoint("/deletedsecrets/{secret-name}/recover"); + _endpoints[544] = CreateEndpoint("/deletedstorage/{storage-account-name}/recover"); + _endpoints[545] = CreateEndpoint("/deletedstorage/{storage-account-name}/sas"); + _endpoints[546] = CreateEndpoint("/facelists/{faceListId}/persistedFaces"); + _endpoints[547] = CreateEndpoint("/groups/{groupId}/users"); + _endpoints[548] = CreateEndpoint("/jobs/{jobId}/addtaskcollection"); + _endpoints[549] = CreateEndpoint("/jobs/{jobId}/disable"); + _endpoints[550] = CreateEndpoint("/jobs/{jobId}/enable"); + _endpoints[551] = CreateEndpoint("/jobs/{jobId}/jobpreparationandreleasetaskstatus"); + _endpoints[552] = CreateEndpoint("/jobs/{jobId}/taskcounts"); + _endpoints[553] = CreateEndpoint("/jobs/{jobId}/tasks"); + _endpoints[554] = CreateEndpoint("/jobs/{jobId}/terminate"); + _endpoints[555] = CreateEndpoint("/Jobs/{jobIdentity}/CancelJob"); + _endpoints[556] = CreateEndpoint("/Jobs/{jobIdentity}/GetDebugDataPath"); + _endpoints[557] = CreateEndpoint("/Jobs/{jobIdentity}/GetStatistics"); + _endpoints[558] = CreateEndpoint("/jobs/{jobIdentity}/YieldJob"); + _endpoints[559] = CreateEndpoint("/jobschedules/{jobScheduleId}/disable"); + _endpoints[560] = CreateEndpoint("/jobschedules/{jobScheduleId}/enable"); + _endpoints[561] = CreateEndpoint("/jobschedules/{jobScheduleId}/jobs"); + _endpoints[562] = CreateEndpoint("/jobschedules/{jobScheduleId}/terminate"); + _endpoints[563] = CreateEndpoint("/keys/{key-name}/backup"); + _endpoints[564] = CreateEndpoint("/keys/{key-name}/create"); + _endpoints[565] = CreateEndpoint("/keys/{key-name}/versions"); + _endpoints[566] = CreateEndpoint("/models/{model}/analyze"); + _endpoints[567] = CreateEndpoint("/persongroups/{personGroupId}/persons"); + _endpoints[568] = CreateEndpoint("/persongroups/{personGroupId}/train"); + _endpoints[569] = CreateEndpoint("/persongroups/{personGroupId}/training"); + _endpoints[570] = CreateEndpoint("/pools/{poolId}/disableautoscale"); + _endpoints[571] = CreateEndpoint("/pools/{poolId}/enableautoscale"); + _endpoints[572] = CreateEndpoint("/pools/{poolId}/evaluateautoscale"); + _endpoints[573] = CreateEndpoint("/pools/{poolId}/nodes"); + _endpoints[574] = CreateEndpoint("/pools/{poolId}/removenodes"); + _endpoints[575] = CreateEndpoint("/pools/{poolId}/resize"); + _endpoints[576] = CreateEndpoint("/pools/{poolId}/stopresize"); + _endpoints[577] = CreateEndpoint("/pools/{poolId}/updateproperties"); + _endpoints[578] = CreateEndpoint("/pools/{poolId}/upgradeos"); + _endpoints[579] = CreateEndpoint("/products/{productId}/apis"); + _endpoints[580] = CreateEndpoint("/products/{productId}/groups"); + _endpoints[581] = CreateEndpoint("/products/{productId}/policies"); + _endpoints[582] = CreateEndpoint("/products/{productId}/subscriptions"); + _endpoints[583] = CreateEndpoint("/projects/{projectId}/images"); + _endpoints[584] = CreateEndpoint("/projects/{projectId}/iterations"); + _endpoints[585] = CreateEndpoint("/projects/{projectId}/predictions"); + _endpoints[586] = CreateEndpoint("/projects/{projectId}/tags"); + _endpoints[587] = CreateEndpoint("/projects/{projectId}/train"); + _endpoints[588] = CreateEndpoint("/providers/{resourceProviderNamespace}/operations"); + _endpoints[589] = CreateEndpoint("/secrets/{secret-name}/backup"); + _endpoints[590] = CreateEndpoint("/secrets/{secret-name}/versions"); + _endpoints[591] = CreateEndpoint("/storage/{storage-account-name}/backup"); + _endpoints[592] = CreateEndpoint("/storage/{storage-account-name}/regeneratekey"); + _endpoints[593] = CreateEndpoint("/storage/{storage-account-name}/sas"); + _endpoints[594] = CreateEndpoint("/subscriptions/{sid}/regeneratePrimaryKey"); + _endpoints[595] = CreateEndpoint("/subscriptions/{sid}/regenerateSecondaryKey"); + _endpoints[596] = CreateEndpoint("/subscriptions/{subscriptionId}/locations"); + _endpoints[597] = CreateEndpoint("/subscriptions/{subscriptionId}/providers"); + _endpoints[598] = CreateEndpoint("/subscriptions/{subscriptionId}/resourcegroups"); + _endpoints[599] = CreateEndpoint("/subscriptions/{subscriptionId}/resources"); + _endpoints[600] = CreateEndpoint("/subscriptions/{subscriptionId}/tagNames"); + _endpoints[601] = CreateEndpoint("/tenant/{accessName}/git"); + _endpoints[602] = CreateEndpoint("/tenant/{accessName}/regeneratePrimaryKey"); + _endpoints[603] = CreateEndpoint("/tenant/{accessName}/regenerateSecondaryKey"); + _endpoints[604] = CreateEndpoint("/tenant/{configurationName}/deploy"); + _endpoints[605] = CreateEndpoint("/tenant/{configurationName}/save"); + _endpoints[606] = CreateEndpoint("/tenant/{configurationName}/syncState"); + _endpoints[607] = CreateEndpoint("/tenant/{configurationName}/validate"); + _endpoints[608] = CreateEndpoint("/users/{uid}/generateSsoUrl"); + _endpoints[609] = CreateEndpoint("/users/{uid}/groups"); + _endpoints[610] = CreateEndpoint("/users/{uid}/identities"); + _endpoints[611] = CreateEndpoint("/users/{uid}/subscriptions"); + _endpoints[612] = CreateEndpoint("/users/{uid}/token"); + _endpoints[613] = CreateEndpoint("/workspaces/{workspaceId}/query"); + _endpoints[614] = CreateEndpoint("/Applications/{applicationId}/$/Delete"); + _endpoints[615] = CreateEndpoint("/Applications/{applicationId}/$/DisableBackup"); + _endpoints[616] = CreateEndpoint("/Applications/{applicationId}/$/EnableBackup"); + _endpoints[617] = CreateEndpoint("/Applications/{applicationId}/$/GetBackupConfigurationInfo"); + _endpoints[618] = CreateEndpoint("/Applications/{applicationId}/$/GetBackups"); + _endpoints[619] = CreateEndpoint("/Applications/{applicationId}/$/GetHealth"); + _endpoints[620] = CreateEndpoint("/Applications/{applicationId}/$/GetLoadInformation"); + _endpoints[621] = CreateEndpoint("/Applications/{applicationId}/$/GetServices"); + _endpoints[622] = CreateEndpoint("/Applications/{applicationId}/$/GetUpgradeProgress"); + _endpoints[623] = CreateEndpoint("/Applications/{applicationId}/$/MoveToNextUpgradeDomain"); + _endpoints[624] = CreateEndpoint("/Applications/{applicationId}/$/ReportHealth"); + _endpoints[625] = CreateEndpoint("/Applications/{applicationId}/$/ResumeBackup"); + _endpoints[626] = CreateEndpoint("/Applications/{applicationId}/$/RollbackUpgrade"); + _endpoints[627] = CreateEndpoint("/Applications/{applicationId}/$/SuspendBackup"); + _endpoints[628] = CreateEndpoint("/Applications/{applicationId}/$/UpdateUpgrade"); + _endpoints[629] = CreateEndpoint("/Applications/{applicationId}/$/Upgrade"); + _endpoints[630] = CreateEndpoint("/Applications/{applicationName}/$/MoveNextUpgradeDomain"); + _endpoints[631] = CreateEndpoint("/ApplicationTypes/{applicationTypeName}/$/GetApplicationManifest"); + _endpoints[632] = CreateEndpoint("/ApplicationTypes/{applicationTypeName}/$/GetServiceManifest"); + _endpoints[633] = CreateEndpoint("/ApplicationTypes/{applicationTypeName}/$/GetServiceTypes"); + _endpoints[634] = CreateEndpoint("/ApplicationTypes/{applicationTypeName}/$/Unprovision"); + _endpoints[635] = CreateEndpoint("/apps/{appId}/events/$metadata"); + _endpoints[636] = CreateEndpoint("/apps/{appId}/metrics/metadata"); + _endpoints[637] = CreateEndpoint("/apps/{appId}/query/schema"); + _endpoints[638] = CreateEndpoint("/apps/{appId}/versions/import"); + _endpoints[639] = CreateEndpoint("/certificates/{certificate-name}/pending/merge"); + _endpoints[640] = CreateEndpoint("/ComposeDeployments/{deploymentName}/$/Delete"); + _endpoints[641] = CreateEndpoint("/ComposeDeployments/{deploymentName}/$/GetUpgradeProgress"); + _endpoints[642] = CreateEndpoint("/ComposeDeployments/{deploymentName}/$/Upgrade"); + _endpoints[643] = CreateEndpoint("/ImageStore/{contentPath}/$/GetUploadSession"); + _endpoints[644] = CreateEndpoint("/ImageStore/{contentPath}/$/UploadChunk"); + _endpoints[645] = CreateEndpoint("/Names/{nameId}/$/GetProperties"); + _endpoints[646] = CreateEndpoint("/Names/{nameId}/$/GetProperty"); + _endpoints[647] = CreateEndpoint("/Names/{nameId}/$/GetSubNames"); + _endpoints[648] = CreateEndpoint("/Nodes/{nodeName}/$/Activate"); + _endpoints[649] = CreateEndpoint("/Nodes/{nodeName}/$/Deactivate"); + _endpoints[650] = CreateEndpoint("/Nodes/{nodeName}/$/DeployServicePackage"); + _endpoints[651] = CreateEndpoint("/Nodes/{nodeName}/$/GetApplications"); + _endpoints[652] = CreateEndpoint("/Nodes/{nodeName}/$/GetHealth"); + _endpoints[653] = CreateEndpoint("/Nodes/{nodeName}/$/GetLoadInformation"); + _endpoints[654] = CreateEndpoint("/Nodes/{nodeName}/$/RemoveNodeState"); + _endpoints[655] = CreateEndpoint("/Nodes/{nodeName}/$/ReportHealth"); + _endpoints[656] = CreateEndpoint("/Nodes/{nodeName}/$/Restart"); + _endpoints[657] = CreateEndpoint("/Nodes/{nodeName}/$/Start"); + _endpoints[658] = CreateEndpoint("/Nodes/{nodeName}/$/Stop"); + _endpoints[659] = CreateEndpoint("/Partitions/{partitionId}/$/Backup"); + _endpoints[660] = CreateEndpoint("/Partitions/{partitionId}/$/DisableBackup"); + _endpoints[661] = CreateEndpoint("/Partitions/{partitionId}/$/EnableBackup"); + _endpoints[662] = CreateEndpoint("/Partitions/{partitionId}/$/GetBackupConfigurationInfo"); + _endpoints[663] = CreateEndpoint("/Partitions/{partitionId}/$/GetBackupProgress"); + _endpoints[664] = CreateEndpoint("/Partitions/{partitionId}/$/GetBackups"); + _endpoints[665] = CreateEndpoint("/Partitions/{partitionId}/$/GetHealth"); + _endpoints[666] = CreateEndpoint("/Partitions/{partitionId}/$/GetLoadInformation"); + _endpoints[667] = CreateEndpoint("/Partitions/{partitionId}/$/GetReplicas"); + _endpoints[668] = CreateEndpoint("/Partitions/{partitionId}/$/GetRestoreProgress"); + _endpoints[669] = CreateEndpoint("/Partitions/{partitionId}/$/GetServiceName"); + _endpoints[670] = CreateEndpoint("/Partitions/{partitionId}/$/Recover"); + _endpoints[671] = CreateEndpoint("/Partitions/{partitionId}/$/ReportHealth"); + _endpoints[672] = CreateEndpoint("/Partitions/{partitionId}/$/ResetLoad"); + _endpoints[673] = CreateEndpoint("/Partitions/{partitionId}/$/Restore"); + _endpoints[674] = CreateEndpoint("/Partitions/{partitionId}/$/ResumeBackup"); + _endpoints[675] = CreateEndpoint("/Partitions/{partitionId}/$/SuspendBackup"); + _endpoints[676] = CreateEndpoint("/projects/{projectId}/images/files"); + _endpoints[677] = CreateEndpoint("/projects/{projectId}/images/id"); + _endpoints[678] = CreateEndpoint("/projects/{projectId}/images/predictions"); + _endpoints[679] = CreateEndpoint("/projects/{projectId}/images/regions"); + _endpoints[680] = CreateEndpoint("/projects/{projectId}/images/tagged"); + _endpoints[681] = CreateEndpoint("/projects/{projectId}/images/tags"); + _endpoints[682] = CreateEndpoint("/projects/{projectId}/images/untagged"); + _endpoints[683] = CreateEndpoint("/projects/{projectId}/images/urls"); + _endpoints[684] = CreateEndpoint("/projects/{projectId}/predictions/query"); + _endpoints[685] = CreateEndpoint("/projects/{projectId}/quicktest/image"); + _endpoints[686] = CreateEndpoint("/projects/{projectId}/quicktest/url"); + _endpoints[687] = CreateEndpoint("/Services/{serviceId}/$/Delete"); + _endpoints[688] = CreateEndpoint("/Services/{serviceId}/$/DisableBackup"); + _endpoints[689] = CreateEndpoint("/Services/{serviceId}/$/EnableBackup"); + _endpoints[690] = CreateEndpoint("/Services/{serviceId}/$/GetApplicationName"); + _endpoints[691] = CreateEndpoint("/Services/{serviceId}/$/GetBackupConfigurationInfo"); + _endpoints[692] = CreateEndpoint("/Services/{serviceId}/$/GetBackups"); + _endpoints[693] = CreateEndpoint("/Services/{serviceId}/$/GetDescription"); + _endpoints[694] = CreateEndpoint("/Services/{serviceId}/$/GetHealth"); + _endpoints[695] = CreateEndpoint("/Services/{serviceId}/$/GetPartitions"); + _endpoints[696] = CreateEndpoint("/Services/{serviceId}/$/ReportHealth"); + _endpoints[697] = CreateEndpoint("/Services/{serviceId}/$/ResolvePartition"); + _endpoints[698] = CreateEndpoint("/Services/{serviceId}/$/ResumeBackup"); + _endpoints[699] = CreateEndpoint("/Services/{serviceId}/$/SuspendBackup"); + _endpoints[700] = CreateEndpoint("/Services/{serviceId}/$/Update"); + _endpoints[701] = CreateEndpoint("/tenant/{accessName}/git/regeneratePrimaryKey"); + _endpoints[702] = CreateEndpoint("/tenant/{accessName}/git/regenerateSecondaryKey"); + _endpoints[703] = CreateEndpoint("/projects/{projectId}/images/tagged/count"); + _endpoints[704] = CreateEndpoint("/projects/{projectId}/images/untagged/count"); + _endpoints[705] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.AAD/domainServices"); + _endpoints[706] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.Advisor/configurations"); + _endpoints[707] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.Advisor/generateRecommendations"); + _endpoints[708] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.Advisor/recommendations"); + _endpoints[709] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.Advisor/suppressions"); + _endpoints[710] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.AnalysisServices/servers"); + _endpoints[711] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.AnalysisServices/skus"); + _endpoints[712] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.ApiManagement/checkNameAvailability"); + _endpoints[713] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.ApiManagement/service"); + _endpoints[714] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.Authorization/classicAdministrators"); + _endpoints[715] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.Authorization/locks"); + _endpoints[716] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.Authorization/policyAssignments"); + _endpoints[717] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.Authorization/policyDefinitions"); + _endpoints[718] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.Authorization/policySetDefinitions"); + _endpoints[719] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.Authorization/roleAssignments"); + _endpoints[720] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.Automation/automationAccounts"); + _endpoints[721] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.Batch/batchAccounts"); + _endpoints[722] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.BatchAI/clusters"); + _endpoints[723] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.BatchAI/fileServers"); + _endpoints[724] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.BatchAI/jobs"); + _endpoints[725] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.BatchAI/workspaces"); + _endpoints[726] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.Billing/billingPeriods"); + _endpoints[727] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.Billing/invoices"); + _endpoints[728] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.BotService/botServices"); + _endpoints[729] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.Cache/CheckNameAvailability"); + _endpoints[730] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.Cache/Redis"); + _endpoints[731] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.Capacity/appliedReservations"); + _endpoints[732] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.Capacity/catalogs"); + _endpoints[733] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.Cdn/checkNameAvailability"); + _endpoints[734] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.Cdn/checkResourceUsage"); + _endpoints[735] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.Cdn/profiles"); + _endpoints[736] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.Cdn/validateProbe"); + _endpoints[737] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.CertificateRegistration/certificateOrders"); + _endpoints[738] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.CertificateRegistration/validateCertificateRegistrationInformation"); + _endpoints[739] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.CognitiveServices/accounts"); + _endpoints[740] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.CognitiveServices/skus"); + _endpoints[741] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.Commerce.Admin/subscriberUsageAggregates"); + _endpoints[742] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.Commerce.Admin/updateEncryption"); + _endpoints[743] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.Commerce/RateCard"); + _endpoints[744] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.Commerce/UsageAggregates"); + _endpoints[745] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.Compute/disks"); + _endpoints[746] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.Compute/galleries"); + _endpoints[747] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.Compute/images"); + _endpoints[748] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.Compute/skus"); + _endpoints[749] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.Compute/snapshots"); + _endpoints[750] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.Compute/virtualMachines"); + _endpoints[751] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.Compute/virtualMachineScaleSets"); + _endpoints[752] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.Consumption/budgets"); + _endpoints[753] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.Consumption/forecasts"); + _endpoints[754] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.Consumption/marketplaces"); + _endpoints[755] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.Consumption/reservationRecommendations"); + _endpoints[756] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.Consumption/usageDetails"); + _endpoints[757] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.ContainerInstance/containerGroups"); + _endpoints[758] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.ContainerRegistry/checkNameAvailability"); + _endpoints[759] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.ContainerRegistry/registries"); + _endpoints[760] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.ContainerService/containerServices"); + _endpoints[761] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.ContainerService/managedClusters"); + _endpoints[762] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.CustomerInsights/hubs"); + _endpoints[763] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.DataBox/jobs"); + _endpoints[764] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.Databricks/workspaces"); + _endpoints[765] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.DataFactory/factories"); + _endpoints[766] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.DataLakeAnalytics/accounts"); + _endpoints[767] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.DataLakeStore/accounts"); + _endpoints[768] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.DataMigration/services"); + _endpoints[769] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.DataMigration/skus"); + _endpoints[770] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.DBforMySQL/checkNameAvailability"); + _endpoints[771] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.DBforMySQL/performanceTiers"); + _endpoints[772] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.DBforMySQL/servers"); + _endpoints[773] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.DBforPostgreSQL/checkNameAvailability"); + _endpoints[774] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.DBforPostgreSQL/performanceTiers"); + _endpoints[775] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.DBforPostgreSQL/servers"); + _endpoints[776] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.Devices/checkNameAvailability"); + _endpoints[777] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.Devices/checkProvisioningServiceNameAvailability"); + _endpoints[778] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.Devices/IotHubs"); + _endpoints[779] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.Devices/provisioningServices"); + _endpoints[780] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.Devices/usages"); + _endpoints[781] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.DevTestLab/labs"); + _endpoints[782] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.DevTestLab/schedules"); + _endpoints[783] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.DocumentDB/databaseAccounts"); + _endpoints[784] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.DomainRegistration/checkDomainAvailability"); + _endpoints[785] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.DomainRegistration/domains"); + _endpoints[786] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.DomainRegistration/generateSsoRequest"); + _endpoints[787] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.DomainRegistration/listDomainRecommendations"); + _endpoints[788] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.DomainRegistration/topLevelDomains"); + _endpoints[789] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.DomainRegistration/validateDomainRegistrationInformation"); + _endpoints[790] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.EventGrid/eventSubscriptions"); + _endpoints[791] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.EventGrid/topics"); + _endpoints[792] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.EventHub/CheckNameAvailability"); + _endpoints[793] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.EventHub/CheckNamespaceAvailability"); + _endpoints[794] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.EventHub/namespaces"); + _endpoints[795] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.Features/features"); + _endpoints[796] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/microsoft.gallery.admin/galleryItems"); + _endpoints[797] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.HanaOnAzure/hanaInstances"); + _endpoints[798] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.HDInsight/clusters"); + _endpoints[799] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.ImportExport/jobs"); + _endpoints[800] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/microsoft.insights/actionGroups"); + _endpoints[801] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/microsoft.insights/activityLogAlerts"); + _endpoints[802] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.Insights/components"); + _endpoints[803] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/microsoft.insights/listMigrationdate"); + _endpoints[804] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/microsoft.insights/logprofiles"); + _endpoints[805] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.Insights/metricAlerts"); + _endpoints[806] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/microsoft.insights/migrateToNewPricingModel"); + _endpoints[807] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/microsoft.insights/rollbackToLegacyPricingModel"); + _endpoints[808] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/microsoft.insights/scheduledQueryRules"); + _endpoints[809] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.Insights/webtests"); + _endpoints[810] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.IoTCentral/checkNameAvailability"); + _endpoints[811] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.IoTCentral/IoTApps"); + _endpoints[812] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.IoTSpaces/checkNameAvailability"); + _endpoints[813] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.IoTSpaces/Graph"); + _endpoints[814] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.KeyVault/checkNameAvailability"); + _endpoints[815] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.KeyVault/deletedVaults"); + _endpoints[816] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.KeyVault/vaults"); + _endpoints[817] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.Logic/integrationAccounts"); + _endpoints[818] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.Logic/workflows"); + _endpoints[819] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.MachineLearning/commitmentPlans"); + _endpoints[820] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.MachineLearning/skus"); + _endpoints[821] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.MachineLearning/webServices"); + _endpoints[822] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.MachineLearning/workspaces"); + _endpoints[823] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.MachineLearningCompute/operationalizationClusters"); + _endpoints[824] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.MachineLearningExperimentation/accounts"); + _endpoints[825] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.MachineLearningServices/workspaces"); + _endpoints[826] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.ManagedIdentity/userAssignedIdentities"); + _endpoints[827] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.Maps/accounts"); + _endpoints[828] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.Media/CheckNameAvailability"); + _endpoints[829] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.Media/mediaservices"); + _endpoints[830] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.Network.Admin/adminLoadBalancers"); + _endpoints[831] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.Network.Admin/adminOverview"); + _endpoints[832] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.Network.Admin/adminPublicIpAddresses"); + _endpoints[833] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.Network.Admin/adminVirtualNetworks"); + _endpoints[834] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.Network/applicationGatewayAvailableWafRuleSets"); + _endpoints[835] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.Network/applicationGateways"); + _endpoints[836] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.Network/applicationSecurityGroups"); + _endpoints[837] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.Network/bgpServiceCommunities"); + _endpoints[838] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.Network/ddosProtectionPlans"); + _endpoints[839] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.Network/dnszones"); + _endpoints[840] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.Network/expressRouteCircuits"); + _endpoints[841] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.Network/expressRouteCrossConnections"); + _endpoints[842] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.Network/expressRouteServiceProviders"); + _endpoints[843] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.Network/loadBalancers"); + _endpoints[844] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.Network/networkInterfaces"); + _endpoints[845] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.Network/networkSecurityGroups"); + _endpoints[846] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.Network/networkWatchers"); + _endpoints[847] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.Network/publicIPAddresses"); + _endpoints[848] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.Network/routeFilters"); + _endpoints[849] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.Network/routeTables"); + _endpoints[850] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.Network/trafficmanagerprofiles"); + _endpoints[851] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.Network/trafficManagerUserMetricsKeys"); + _endpoints[852] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.Network/virtualNetworks"); + _endpoints[853] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.NotificationHubs/checkNamespaceAvailability"); + _endpoints[854] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.NotificationHubs/namespaces"); + _endpoints[855] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.OperationalInsights/linkTargets"); + _endpoints[856] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.OperationalInsights/workspaces"); + _endpoints[857] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.OperationsManagement/ManagementAssociations"); + _endpoints[858] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.OperationsManagement/ManagementConfigurations"); + _endpoints[859] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.OperationsManagement/solutions"); + _endpoints[860] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.PowerBI/workspaceCollections"); + _endpoints[861] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.PowerBIDedicated/capacities"); + _endpoints[862] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.PowerBIDedicated/skus"); + _endpoints[863] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.RecoveryServices/vaults"); + _endpoints[864] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.Relay/checkNameAvailability"); + _endpoints[865] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.Relay/namespaces"); + _endpoints[866] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.ResourceHealth/availabilityStatuses"); + _endpoints[867] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.Resources/links"); + _endpoints[868] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.Scheduler/jobCollections"); + _endpoints[869] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.Search/checkNameAvailability"); + _endpoints[870] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.Security/alerts"); + _endpoints[871] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.Security/autoProvisioningSettings"); + _endpoints[872] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.Security/discoveredSecuritySolutions"); + _endpoints[873] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.Security/externalSecuritySolutions"); + _endpoints[874] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.Security/jitNetworkAccessPolicies"); + _endpoints[875] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.Security/locations"); + _endpoints[876] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.Security/pricings"); + _endpoints[877] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.Security/securityContacts"); + _endpoints[878] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.Security/tasks"); + _endpoints[879] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.Security/workspaceSettings"); + _endpoints[880] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.ServerManagement/gateways"); + _endpoints[881] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.ServerManagement/nodes"); + _endpoints[882] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.ServiceBus/CheckNameAvailability"); + _endpoints[883] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.ServiceBus/CheckNameSpaceAvailability"); + _endpoints[884] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.ServiceBus/namespaces"); + _endpoints[885] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.ServiceBus/premiumMessagingRegions"); + _endpoints[886] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.ServiceFabric/clusters"); + _endpoints[887] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.SignalRService/SignalR"); + _endpoints[888] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.Solutions/appliances"); + _endpoints[889] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.Solutions/applications"); + _endpoints[890] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.Sql/checkNameAvailability"); + _endpoints[891] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.Sql/managedInstances"); + _endpoints[892] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.Sql/servers"); + _endpoints[893] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.Storage/checkNameAvailability"); + _endpoints[894] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.Storage/skus"); + _endpoints[895] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.Storage/storageAccounts"); + _endpoints[896] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.Storage/usages"); + _endpoints[897] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.StorSimple/managers"); + _endpoints[898] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.StreamAnalytics/streamingjobs"); + _endpoints[899] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.Subscriptions.Admin/checkNameAvailability"); + _endpoints[900] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.Subscriptions.Admin/delegatedProviders"); + _endpoints[901] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.Subscriptions.Admin/locations"); + _endpoints[902] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.Subscriptions.Admin/moveSubscriptions"); + _endpoints[903] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.Subscriptions.Admin/offers"); + _endpoints[904] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.Subscriptions.Admin/plans"); + _endpoints[905] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.Subscriptions.Admin/restoreData"); + _endpoints[906] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.Subscriptions.Admin/subscriptions"); + _endpoints[907] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.Subscriptions.Admin/updateEncryption"); + _endpoints[908] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.Subscriptions.Admin/validateMoveSubscriptions"); + _endpoints[909] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.TimeSeriesInsights/environments"); + _endpoints[910] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/microsoft.visualstudio/checkNameAvailability"); + _endpoints[911] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.Web/availableStacks"); + _endpoints[912] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.Web/billingMeters"); + _endpoints[913] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.Web/certificates"); + _endpoints[914] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.Web/checknameavailability"); + _endpoints[915] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.Web/classicMobileServices"); + _endpoints[916] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.Web/connectionGateways"); + _endpoints[917] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.Web/customApis"); + _endpoints[918] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.Web/deletedSites"); + _endpoints[919] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.Web/deploymentLocations"); + _endpoints[920] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.Web/geoRegions"); + _endpoints[921] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.Web/hostingEnvironments"); + _endpoints[922] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.Web/ishostingenvironmentnameavailable"); + _endpoints[923] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.Web/listSitesAssignedToHostName"); + _endpoints[924] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.Web/managedHostingEnvironments"); + _endpoints[925] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.Web/premieraddonoffers"); + _endpoints[926] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.Web/publishingCredentials"); + _endpoints[927] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.Web/recommendations"); + _endpoints[928] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.Web/resourceHealthMetadata"); + _endpoints[929] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.Web/serverfarms"); + _endpoints[930] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.Web/sites"); + _endpoints[931] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.Web/skus"); + _endpoints[932] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.Web/verifyHostingEnvironmentVnet"); + _endpoints[933] = CreateEndpoint("/Applications/{applicationId}/$/GetServices/$/Create"); + _endpoints[934] = CreateEndpoint("/Applications/{applicationId}/$/GetServices/$/CreateFromTemplate"); + _endpoints[935] = CreateEndpoint("/Applications/{applicationName}/$/GetServiceGroups/$/CreateServiceGroupFromTemplate"); + _endpoints[936] = CreateEndpoint("/Applications/{applicationName}/$/GetServices/$/CreateServiceGroup"); + _endpoints[937] = CreateEndpoint("/Names/{nameId}/$/GetProperties/$/SubmitBatch"); + _endpoints[938] = CreateEndpoint("/Services/{serviceName}/$/GetPartitions/$/Recover"); + _endpoints[939] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.Billing/invoices/latest"); + _endpoints[940] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.Consumption/pricesheets/default"); + _endpoints[941] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.Network/applicationGatewayAvailableSslOptions/default"); + _endpoints[942] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.Web/recommendations/reset"); + _endpoints[943] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.Addons/supportProviders/canonical/listSupportPlanInfo"); + _endpoints[944] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/microsoft.insights/eventtypes/management/values"); + _endpoints[945] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.Network/applicationGatewayAvailableSslOptions/default/predefinedPolicies"); + _endpoints[946] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.Network/applicationGatewayAvailableSslOptions/default/predefinedPolicies/{predefinedPolicyName}"); + _endpoints[947] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.Advisor/generateRecommendations/{operationId}"); + _endpoints[948] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.Authorization/locks/{lockName}"); + _endpoints[949] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.Authorization/policydefinitions/{policyDefinitionName}"); + _endpoints[950] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.Authorization/policySetDefinitions/{policySetDefinitionName}"); + _endpoints[951] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.Billing/billingPeriods/{billingPeriodName}"); + _endpoints[952] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.Billing/invoices/{invoiceName}"); + _endpoints[953] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.Consumption/budgets/{budgetName}"); + _endpoints[954] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.DomainRegistration/topLevelDomains/{name}"); + _endpoints[955] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/microsoft.gallery.admin/galleryItems/{galleryItemName}"); + _endpoints[956] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/microsoft.insights/logprofiles/{logProfileName}"); + _endpoints[957] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.Media/mediaservices/{accountName}"); + _endpoints[958] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.Security/autoProvisioningSettings/{settingName}"); + _endpoints[959] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.Security/locations/{ascLocation}"); + _endpoints[960] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.Security/pricings/{pricingName}"); + _endpoints[961] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.Security/workspaceSettings/{workspaceSettingName}"); + _endpoints[962] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.Subscriptions.Admin/delegatedProviders/{delegatedProvider}"); + _endpoints[963] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.Subscriptions.Admin/locations/{location}"); + _endpoints[964] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.Subscriptions.Admin/subscriptions/{subscription}"); + _endpoints[965] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.Web/ishostingenvironmentnameavailable/{name}"); + _endpoints[966] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.Addons/supportProviders/{providerName}/supportPlanTypes"); + _endpoints[967] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.AnalysisServices/locations/{location}/checkNameAvailability"); + _endpoints[968] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.Batch/locations/{locationName}/checkNameAvailability"); + _endpoints[969] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.Batch/locations/{locationName}/quotas"); + _endpoints[970] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.BatchAI/locations/{location}/usages"); + _endpoints[971] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.CognitiveServices/locations/{location}/checkSkuAvailability"); + _endpoints[972] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.Compute.Admin/locations/{location}/quotas"); + _endpoints[973] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.Compute/locations/{location}/publishers"); + _endpoints[974] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.Compute/locations/{location}/runCommands"); + _endpoints[975] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.Compute/locations/{location}/usages"); + _endpoints[976] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.Compute/locations/{location}/vmSizes"); + _endpoints[977] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.ContainerInstance/locations/{location}/usages"); + _endpoints[978] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.ContainerService/locations/{location}/orchestrators"); + _endpoints[979] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.DataBox/locations/{location}/availableSkus"); + _endpoints[980] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.DataBox/locations/{location}/validateAddress"); + _endpoints[981] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.DataFactory/locations/{locationId}/configureFactoryRepo"); + _endpoints[982] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.DataLakeAnalytics/locations/{location}/capability"); + _endpoints[983] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.DataLakeAnalytics/locations/{location}/checkNameAvailability"); + _endpoints[984] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.DataLakeStore/locations/{location}/capability"); + _endpoints[985] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.DataLakeStore/locations/{location}/checkNameAvailability"); + _endpoints[986] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.DataMigration/locations/{location}/checkNameAvailability"); + _endpoints[987] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.DataMigration/locations/{location}/usages"); + _endpoints[988] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.DBforMySQL/locations/{locationName}/performanceTiers"); + _endpoints[989] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.DBforPostgreSQL/locations/{locationName}/performanceTiers"); + _endpoints[990] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.DomainRegistration/topLevelDomains/{name}/listAgreements"); + _endpoints[991] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.EventGrid/locations/{location}/eventSubscriptions"); + _endpoints[992] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.EventGrid/topicTypes/{topicTypeName}/eventSubscriptions"); + _endpoints[993] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.EventHub/sku/{sku}/regions"); + _endpoints[994] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.Features/providers/{resourceProviderNamespace}/features"); + _endpoints[995] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.HDInsight/locations/{location}/capabilities"); + _endpoints[996] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.KeyVault.Admin/locations/{location}/quotas"); + _endpoints[997] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.Media/locations/{locationName}/checkNameAvailability"); + _endpoints[998] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.Network.Admin/locations/{location}/quotas"); + _endpoints[999] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.Network/locations/{location}/CheckDnsNameAvailability"); + _endpoints[1000] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.Network/locations/{location}/usages"); + _endpoints[1001] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.Network/locations/{location}/virtualNetworkAvailableEndpointServices"); + _endpoints[1002] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.PolicyInsights/policyEvents/{policyEventsResource}/queryResults"); + _endpoints[1003] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.PolicyInsights/policyStates/{policyStatesResource}/queryResults"); + _endpoints[1004] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.PolicyInsights/policyStates/{policyStatesSummaryResource}/summarize"); + _endpoints[1005] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.PowerBI/locations/{location}/checkNameAvailability"); + _endpoints[1006] = CreateEndpoint("/Subscriptions/{subscriptionId}/providers/Microsoft.RecoveryServices/locations/{azureRegion}/backupPreValidateProtection"); + _endpoints[1007] = CreateEndpoint("/Subscriptions/{subscriptionId}/providers/Microsoft.RecoveryServices/locations/{azureRegion}/backupStatus"); + _endpoints[1008] = CreateEndpoint("/Subscriptions/{subscriptionId}/providers/Microsoft.RecoveryServices/locations/{azureRegion}/backupValidateFeatures"); + _endpoints[1009] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.Security/locations/{ascLocation}/alerts"); + _endpoints[1010] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.Security/locations/{ascLocation}/discoveredSecuritySolutions"); + _endpoints[1011] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.Security/locations/{ascLocation}/ExternalSecuritySolutions"); + _endpoints[1012] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.Security/locations/{ascLocation}/jitNetworkAccessPolicies"); + _endpoints[1013] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.Security/locations/{ascLocation}/tasks"); + _endpoints[1014] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.ServiceBus/sku/{sku}/regions"); + _endpoints[1015] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.ServiceFabric/locations/{location}/clusterVersions"); + _endpoints[1016] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.SignalRService/locations/{location}/checkNameAvailability"); + _endpoints[1017] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.Sql/locations/{locationName}/capabilities"); + _endpoints[1018] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.Sql/locations/{locationName}/longTermRetentionBackups"); + _endpoints[1019] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.Sql/locations/{locationName}/syncDatabaseIds"); + _endpoints[1020] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.Sql/locations/{locationName}/usages"); + _endpoints[1021] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.Storage.Admin/locations/{location}/quotas"); + _endpoints[1022] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.Storage/locations/{location}/usages"); + _endpoints[1023] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.StreamAnalytics/locations/{location}/quotas"); + _endpoints[1024] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.Subscriptions.Admin/delegatedProviders/{delegatedProviderSubscriptionId}/offers"); + _endpoints[1025] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.Subscriptions.Admin/locations/{location}/quotas"); + _endpoints[1026] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.Subscriptions.Admin/subscriptions/{targetSubscriptionId}/acquiredPlans"); + _endpoints[1027] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.Web/locations/{location}/connectionGatewayInstallations"); + _endpoints[1028] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.Web/locations/{location}/extractApiDefinitionFromWsdl"); + _endpoints[1029] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.Web/locations/{location}/listWsdlInterfaces"); + _endpoints[1030] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.Web/locations/{location}/managedApis"); + _endpoints[1031] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.Web/recommendations/{name}/disable"); + _endpoints[1032] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.Compute.Admin/locations/{location}/artifactTypes/platformImage"); + _endpoints[1033] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.Compute.Admin/locations/{location}/artifactTypes/VMExtension"); + _endpoints[1034] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.Billing/billingPeriods/{billingPeriodName}/providers/Microsoft.Consumption/marketplaces"); + _endpoints[1035] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.Billing/billingPeriods/{billingPeriodName}/providers/Microsoft.Consumption/usageDetails"); + _endpoints[1036] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.Compute/locations/{location}/logAnalytics/apiAccess/getRequestRateByInterval"); + _endpoints[1037] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.Compute/locations/{location}/logAnalytics/apiAccess/getThrottledRequests"); + _endpoints[1038] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.Billing/billingPeriods/{billingPeriodName}/providers/Microsoft.Consumption/pricesheets/default"); + _endpoints[1039] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.Compute.Admin/locations/{location}/artifactTypes/VMExtension/publishers/{publisher}/types/{type}/versions/{version}"); + _endpoints[1040] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.Compute.Admin/locations/{location}/artifactTypes/platformImage/publishers/{publisher}/offers/{offer}/skus/{sku}/versions/{version}"); + _endpoints[1041] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.Addons/supportProviders/{providerName}/supportPlanTypes/{planTypeName}"); + _endpoints[1042] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.AnalysisServices/locations/{location}/operationresults/{operationId}"); + _endpoints[1043] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.AnalysisServices/locations/{location}/operationstatuses/{operationId}"); + _endpoints[1044] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.Compute.Admin/locations/{location}/quotas/{quotaName}"); + _endpoints[1045] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.Compute/locations/{location}/runCommands/{commandId}"); + _endpoints[1046] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.DevTestLab/locations/{locationName}/operations/{name}"); + _endpoints[1047] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.Features/providers/{resourceProviderNamespace}/features/{featureName}"); + _endpoints[1048] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.KeyVault/locations/{location}/deletedVaults/{vaultName}"); + _endpoints[1049] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.Network.Admin/locations/{location}/quotas/{resourceName}"); + _endpoints[1050] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.Security/locations/{ascLocation}/alerts/{alertName}"); + _endpoints[1051] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.Security/locations/{ascLocation}/tasks/{taskName}"); + _endpoints[1052] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.ServiceFabric/locations/{location}/clusterVersions/{clusterVersion}"); + _endpoints[1053] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.Sql/locations/{locationName}/usages/{usageName}"); + _endpoints[1054] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.Storage.Admin/locations/{location}/quotas/{quotaName}"); + _endpoints[1055] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.Subscriptions.Admin/delegatedProviders/{delegatedProviderSubscriptionId}/offers/{offer}"); + _endpoints[1056] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.Subscriptions.Admin/locations/{location}/quotas/{quota}"); + _endpoints[1057] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.Subscriptions.Admin/subscriptions/{targetSubscriptionId}/acquiredPlans/{planAcquisitionId}"); + _endpoints[1058] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.Web/locations/{location}/connectionGatewayInstallations/{gatewayId}"); + _endpoints[1059] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.Web/locations/{location}/managedApis/{apiName}"); + _endpoints[1060] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.EventGrid/locations/{location}/topicTypes/{topicTypeName}/eventSubscriptions"); + _endpoints[1061] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.Features/providers/{resourceProviderNamespace}/features/{featureName}/register"); + _endpoints[1062] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.KeyVault/locations/{location}/deletedVaults/{vaultName}/purge"); + _endpoints[1063] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.ServiceFabric/locations/{location}/environments/{environment}/clusterVersions"); + _endpoints[1064] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.Sql/locations/{locationName}/longTermRetentionServers/{longTermRetentionServerName}/longTermRetentionBackups"); + _endpoints[1065] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.Sql/locations/{locationName}/managedDatabaseRestoreAzureAsyncOperation/{operationId}/completeRestore"); + _endpoints[1066] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.Compute/locations/{location}/publishers/{publisherName}/artifacttypes/vmextension/types"); + _endpoints[1067] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.Compute/locations/{location}/publishers/{publisherName}/artifacttypes/vmimage/offers"); + _endpoints[1068] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.Compute/locations/{location}/publishers/{publisherName}/artifacttypes/vmextension/types/{type}/versions"); + _endpoints[1069] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.Compute/locations/{location}/publishers/{publisherName}/artifacttypes/vmimage/offers/{offer}/skus"); + _endpoints[1070] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.Compute/locations/{location}/publishers/{publisherName}/artifacttypes/vmextension/types/{type}/versions/{version}"); + _endpoints[1071] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.Compute/locations/{location}/publishers/{publisherName}/artifacttypes/vmimage/offers/{offer}/skus/{skus}/versions"); + _endpoints[1072] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.Compute/locations/{location}/publishers/{publisherName}/artifacttypes/vmimage/offers/{offer}/skus/{skus}/versions/{version}"); + _endpoints[1073] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.ServiceFabric/locations/{location}/environments/{environment}/clusterVersions/{clusterVersion}"); + _endpoints[1074] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.Sql/locations/{locationName}/longTermRetentionServers/{longTermRetentionServerName}/longTermRetentionDatabases/{longTermRetentionDatabaseName}/longTermRetentionBackups"); + _endpoints[1075] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.Sql/locations/{locationName}/longTermRetentionServers/{longTermRetentionServerName}/longTermRetentionDatabases/{longTermRetentionDatabaseName}/longTermRetentionBackups/{backupName}"); + _endpoints[1076] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.MarketplaceOrdering/offerTypes/{offerType}/publishers/{publisherId}/offers/{offerId}/plans/{planId}/agreements/current"); + _endpoints[1077] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.Security/locations/{ascLocation}/alerts/{alertName}/{alertUpdateActionType}"); + _endpoints[1078] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.Security/locations/{ascLocation}/tasks/{taskName}/{taskUpdateActionType}"); + _endpoints[1079] = CreateEndpoint("/Applications/{applicationId}/$/GetServices/{serviceId}"); + _endpoints[1080] = CreateEndpoint("/ApplicationTypes/{applicationTypeName}/$/GetServiceTypes/{serviceTypeName}"); + _endpoints[1081] = CreateEndpoint("/Nodes/{nodeName}/$/GetApplications/{applicationId}"); + _endpoints[1082] = CreateEndpoint("/Partitions/{partitionId}/$/GetReplicas/{replicaId}"); + _endpoints[1083] = CreateEndpoint("/Services/{serviceName}/$/GetPartitions/{partitionId}"); + _endpoints[1084] = CreateEndpoint("/Applications/{applicationName}/$/GetServiceGroups/{serviceName}/$/Delete"); + _endpoints[1085] = CreateEndpoint("/Applications/{applicationName}/$/GetServices/{serviceName}/$/GetServiceGroupDescription"); + _endpoints[1086] = CreateEndpoint("/Applications/{applicationName}/$/GetServices/{serviceName}/$/GetServiceGroupMembers"); + _endpoints[1087] = CreateEndpoint("/Applications/{applicationName}/$/GetServices/{serviceName}/$/UpdateServiceGroup"); + _endpoints[1088] = CreateEndpoint("/Nodes/{nodeName}/$/GetApplications/{applicationId}/$/GetCodePackages"); + _endpoints[1089] = CreateEndpoint("/Nodes/{nodeName}/$/GetApplications/{applicationId}/$/GetHealth"); + _endpoints[1090] = CreateEndpoint("/Nodes/{nodeName}/$/GetApplications/{applicationId}/$/GetReplicas"); + _endpoints[1091] = CreateEndpoint("/Nodes/{nodeName}/$/GetApplications/{applicationId}/$/GetServicePackages"); + _endpoints[1092] = CreateEndpoint("/Nodes/{nodeName}/$/GetApplications/{applicationId}/$/GetServiceTypes"); + _endpoints[1093] = CreateEndpoint("/Nodes/{nodeName}/$/GetApplications/{applicationId}/$/ReportHealth"); + _endpoints[1094] = CreateEndpoint("/Nodes/{nodeName}/$/GetPartitions/{partitionId}/$/GetReplicas"); + _endpoints[1095] = CreateEndpoint("/Partitions/{partitionId}/$/GetReplicas/{replicaId}/$/GetHealth"); + _endpoints[1096] = CreateEndpoint("/Partitions/{partitionId}/$/GetReplicas/{replicaId}/$/GetLoadInformation"); + _endpoints[1097] = CreateEndpoint("/Partitions/{partitionId}/$/GetReplicas/{replicaId}/$/ReportHealth"); + _endpoints[1098] = CreateEndpoint("/Nodes/{nodeName}/$/GetApplications/{applicationId}/$/GetCodePackages/$/ContainerApi"); + _endpoints[1099] = CreateEndpoint("/Nodes/{nodeName}/$/GetApplications/{applicationId}/$/GetCodePackages/$/ContainerLogs"); + _endpoints[1100] = CreateEndpoint("/Nodes/{nodeName}/$/GetApplications/{applicationId}/$/GetCodePackages/$/Restart"); + _endpoints[1101] = CreateEndpoint("/Nodes/{nodeName}/$/GetApplications/{applicationId}/$/GetServicePackages/{servicePackageName}"); + _endpoints[1102] = CreateEndpoint("/Nodes/{nodeName}/$/GetApplications/{applicationId}/$/GetServiceTypes/{serviceTypeName}"); + _endpoints[1103] = CreateEndpoint("/Nodes/{nodeName}/$/GetApplications/{applicationId}/$/GetServicePackages/{servicePackageName}/$/GetHealth"); + _endpoints[1104] = CreateEndpoint("/Nodes/{nodeName}/$/GetApplications/{applicationId}/$/GetServicePackages/{servicePackageName}/$/ReportHealth"); + _endpoints[1105] = CreateEndpoint("/Nodes/{nodeName}/$/GetPartitions/{partitionId}/$/GetReplicas/{replicaId}/$/Delete"); + _endpoints[1106] = CreateEndpoint("/Nodes/{nodeName}/$/GetPartitions/{partitionId}/$/GetReplicas/{replicaId}/$/GetDetail"); + _endpoints[1107] = CreateEndpoint("/Nodes/{nodeName}/$/GetPartitions/{partitionId}/$/GetReplicas/{replicaId}/$/Restart"); + _endpoints[1108] = CreateEndpoint("/apis/{apiId}/operations/{operationId}"); + _endpoints[1109] = CreateEndpoint("/apis/{apiId}/policies/{policyId}"); + _endpoints[1110] = CreateEndpoint("/apis/{apiId}/schemas/{schemaId}"); + _endpoints[1111] = CreateEndpoint("/apps/{appId}/events/{eventType}"); + _endpoints[1112] = CreateEndpoint("/apps/{appId}/metrics/{metricId}"); + _endpoints[1113] = CreateEndpoint("/apps/{appId}/versions/{versionId}/"); + _endpoints[1114] = CreateEndpoint("/delegatedProviders/{delegatedProviderId}/offers/{offerName}"); + _endpoints[1115] = CreateEndpoint("/deletedstorage/{storage-account-name}/sas/{sas-definition-name}"); + _endpoints[1116] = CreateEndpoint("/facelists/{faceListId}/persistedFaces/{persistedFaceId}"); + _endpoints[1117] = CreateEndpoint("/groups/{groupId}/users/{uid}"); + _endpoints[1118] = CreateEndpoint("/jobs/{jobId}/tasks/{taskId}"); + _endpoints[1119] = CreateEndpoint("/persongroups/{personGroupId}/persons/{personId}"); + _endpoints[1120] = CreateEndpoint("/pools/{poolId}/nodes/{nodeId}"); + _endpoints[1121] = CreateEndpoint("/products/{productId}/apis/{apiId}"); + _endpoints[1122] = CreateEndpoint("/products/{productId}/groups/{groupId}"); + _endpoints[1123] = CreateEndpoint("/products/{productId}/policies/{policyId}"); + _endpoints[1124] = CreateEndpoint("/projects/{projectId}/iterations/{iterationId}"); + _endpoints[1125] = CreateEndpoint("/projects/{projectId}/tags/{tagId}"); + _endpoints[1126] = CreateEndpoint("/storage/{storage-account-name}/sas/{sas-definition-name}"); + _endpoints[1127] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/{resourceProviderNamespace}"); + _endpoints[1128] = CreateEndpoint("/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}"); + _endpoints[1129] = CreateEndpoint("/subscriptions/{subscriptionId}/tagNames/{tagName}"); + _endpoints[1130] = CreateEndpoint("/apis/{apiId}/operations/{operationId}/policies"); + _endpoints[1131] = CreateEndpoint("/apps/{appId}/versions/{versionId}/clone"); + _endpoints[1132] = CreateEndpoint("/apps/{appId}/versions/{versionId}/closedlists"); + _endpoints[1133] = CreateEndpoint("/apps/{appId}/versions/{versionId}/compositeentities"); + _endpoints[1134] = CreateEndpoint("/apps/{appId}/versions/{versionId}/customprebuiltdomains"); + _endpoints[1135] = CreateEndpoint("/apps/{appId}/versions/{versionId}/customprebuiltentities"); + _endpoints[1136] = CreateEndpoint("/apps/{appId}/versions/{versionId}/customprebuiltintents"); + _endpoints[1137] = CreateEndpoint("/apps/{appId}/versions/{versionId}/customprebuiltmodels"); + _endpoints[1138] = CreateEndpoint("/apps/{appId}/versions/{versionId}/entities"); + _endpoints[1139] = CreateEndpoint("/apps/{appId}/versions/{versionId}/example"); + _endpoints[1140] = CreateEndpoint("/apps/{appId}/versions/{versionId}/examples"); + _endpoints[1141] = CreateEndpoint("/apps/{appId}/versions/{versionId}/export"); + _endpoints[1142] = CreateEndpoint("/apps/{appId}/versions/{versionId}/features"); + _endpoints[1143] = CreateEndpoint("/apps/{appId}/versions/{versionId}/hierarchicalentities"); + _endpoints[1144] = CreateEndpoint("/apps/{appId}/versions/{versionId}/intents"); + _endpoints[1145] = CreateEndpoint("/apps/{appId}/versions/{versionId}/listprebuilts"); + _endpoints[1146] = CreateEndpoint("/apps/{appId}/versions/{versionId}/models"); + _endpoints[1147] = CreateEndpoint("/apps/{appId}/versions/{versionId}/patternanyentities"); + _endpoints[1148] = CreateEndpoint("/apps/{appId}/versions/{versionId}/patternrule"); + _endpoints[1149] = CreateEndpoint("/apps/{appId}/versions/{versionId}/patternrules"); + _endpoints[1150] = CreateEndpoint("/apps/{appId}/versions/{versionId}/patterns"); + _endpoints[1151] = CreateEndpoint("/apps/{appId}/versions/{versionId}/phraselists"); + _endpoints[1152] = CreateEndpoint("/apps/{appId}/versions/{versionId}/prebuilts"); + _endpoints[1153] = CreateEndpoint("/apps/{appId}/versions/{versionId}/regexentities"); + _endpoints[1154] = CreateEndpoint("/apps/{appId}/versions/{versionId}/suggest"); + _endpoints[1155] = CreateEndpoint("/apps/{appId}/versions/{versionId}/train"); + _endpoints[1156] = CreateEndpoint("/deletedstorage/{storage-account-name}/sas/{sas-definition-name}/recover"); + _endpoints[1157] = CreateEndpoint("/jobs/{jobId}/tasks/{taskId}/files"); + _endpoints[1158] = CreateEndpoint("/jobs/{jobId}/tasks/{taskId}/reactivate"); + _endpoints[1159] = CreateEndpoint("/jobs/{jobId}/tasks/{taskId}/subtasksinfo"); + _endpoints[1160] = CreateEndpoint("/jobs/{jobId}/tasks/{taskId}/terminate"); + _endpoints[1161] = CreateEndpoint("/persongroups/{personGroupId}/persons/{personId}/persistedFaces"); + _endpoints[1162] = CreateEndpoint("/pools/{poolId}/nodes/{nodeId}/disablescheduling"); + _endpoints[1163] = CreateEndpoint("/pools/{poolId}/nodes/{nodeId}/enablescheduling"); + _endpoints[1164] = CreateEndpoint("/pools/{poolId}/nodes/{nodeId}/files"); + _endpoints[1165] = CreateEndpoint("/pools/{poolId}/nodes/{nodeId}/rdp"); + _endpoints[1166] = CreateEndpoint("/pools/{poolId}/nodes/{nodeId}/reboot"); + _endpoints[1167] = CreateEndpoint("/pools/{poolId}/nodes/{nodeId}/reimage"); + _endpoints[1168] = CreateEndpoint("/pools/{poolId}/nodes/{nodeId}/remoteloginsettings"); + _endpoints[1169] = CreateEndpoint("/pools/{poolId}/nodes/{nodeId}/uploadbatchservicelogs"); + _endpoints[1170] = CreateEndpoint("/pools/{poolId}/nodes/{nodeId}/users"); + _endpoints[1171] = CreateEndpoint("/projects/{projectId}/iterations/{iterationId}/export"); + _endpoints[1172] = CreateEndpoint("/projects/{projectId}/iterations/{iterationId}/performance"); + _endpoints[1173] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/{resourceProviderNamespace}/register"); + _endpoints[1174] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/{resourceProviderNamespace}/unregister"); + _endpoints[1175] = CreateEndpoint("/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/exportTemplate"); + _endpoints[1176] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/moveResources"); + _endpoints[1177] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/resources"); + _endpoints[1178] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/validateMoveResources"); + _endpoints[1179] = CreateEndpoint("/projects/{projectId}/iterations/{iterationId}/performance/images"); + _endpoints[1180] = CreateEndpoint("/projects/{projectId}/iterations/{iterationId}/performance/images/count"); + _endpoints[1181] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroup/{resourceGroupName}/providers/microsoft.insights/workbooks"); + _endpoints[1182] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{groupName}/providers/Microsoft.DataMigration/services"); + _endpoints[1183] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroup}/providers/Microsoft.Advisor/configurations"); + _endpoints[1184] = CreateEndpoint("/subscriptions/{subscriptionId}/resourcegroups/{resourceGroup}/providers/Microsoft.AzureBridge.Admin/activations"); + _endpoints[1185] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroup}/providers/Microsoft.AzureStack/registrations"); + _endpoints[1186] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AAD/domainServices"); + _endpoints[1187] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AnalysisServices/servers"); + _endpoints[1188] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service"); + _endpoints[1189] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Authorization/locks"); + _endpoints[1190] = CreateEndpoint("/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.Authorization/permissions"); + _endpoints[1191] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Authorization/policyAssignments"); + _endpoints[1192] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Authorization/roleAssignments"); + _endpoints[1193] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Automation/automationAccounts"); + _endpoints[1194] = CreateEndpoint("/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.Backup.Admin/backupLocations"); + _endpoints[1195] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Batch/batchAccounts"); + _endpoints[1196] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.BatchAI/clusters"); + _endpoints[1197] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.BatchAI/fileServers"); + _endpoints[1198] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.BatchAI/jobs"); + _endpoints[1199] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.BatchAI/workspaces"); + _endpoints[1200] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.BotService/botServices"); + _endpoints[1201] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Cache/Redis"); + _endpoints[1202] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Cdn/profiles"); + _endpoints[1203] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.CertificateRegistration/certificateOrders"); + _endpoints[1204] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.CognitiveServices/accounts"); + _endpoints[1205] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/availabilitySets"); + _endpoints[1206] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/disks"); + _endpoints[1207] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/galleries"); + _endpoints[1208] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/images"); + _endpoints[1209] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/snapshots"); + _endpoints[1210] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/virtualMachines"); + _endpoints[1211] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/virtualMachineScaleSets"); + _endpoints[1212] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Consumption/budgets"); + _endpoints[1213] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerInstance/containerGroups"); + _endpoints[1214] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerRegistry/registries"); + _endpoints[1215] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/containerServices"); + _endpoints[1216] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters"); + _endpoints[1217] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.CustomerInsights/hubs"); + _endpoints[1218] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataBox/jobs"); + _endpoints[1219] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Databricks/workspaces"); + _endpoints[1220] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataCatalog/catalogs"); + _endpoints[1221] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataFactory/factories"); + _endpoints[1222] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataLakeAnalytics/accounts"); + _endpoints[1223] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataLakeStore/accounts"); + _endpoints[1224] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBforMySQL/servers"); + _endpoints[1225] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBforPostgreSQL/servers"); + _endpoints[1226] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Devices/IotHubs"); + _endpoints[1227] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Devices/provisioningServices"); + _endpoints[1228] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DevTestLab/labs"); + _endpoints[1229] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DevTestLab/schedules"); + _endpoints[1230] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts"); + _endpoints[1231] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DomainRegistration/domains"); + _endpoints[1232] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.EventGrid/eventSubscriptions"); + _endpoints[1233] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.EventGrid/topics"); + _endpoints[1234] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.EventHub/clusters"); + _endpoints[1235] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.EventHub/namespaces"); + _endpoints[1236] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Fabric.Admin/fabricLocations"); + _endpoints[1237] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.HanaOnAzure/hanaInstances"); + _endpoints[1238] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.HDInsight/clusters"); + _endpoints[1239] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ImportExport/jobs"); + _endpoints[1240] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.InfrastructureInsights.Admin/regionHealths"); + _endpoints[1241] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/microsoft.insights/actionGroups"); + _endpoints[1242] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/microsoft.insights/activityLogAlerts"); + _endpoints[1243] = CreateEndpoint("/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/microsoft.insights/alertrules"); + _endpoints[1244] = CreateEndpoint("/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/microsoft.insights/autoscalesettings"); + _endpoints[1245] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Insights/components"); + _endpoints[1246] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Insights/metricAlerts"); + _endpoints[1247] = CreateEndpoint("/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/microsoft.insights/scheduledQueryRules"); + _endpoints[1248] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Insights/webtests"); + _endpoints[1249] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.IoTCentral/IoTApps"); + _endpoints[1250] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.IoTSpaces/Graph"); + _endpoints[1251] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.KeyVault/vaults"); + _endpoints[1252] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Logic/integrationAccounts"); + _endpoints[1253] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Logic/workflows"); + _endpoints[1254] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.MachineLearning/commitmentPlans"); + _endpoints[1255] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.MachineLearning/webServices"); + _endpoints[1256] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.MachineLearning/workspaces"); + _endpoints[1257] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.MachineLearningCompute/operationalizationClusters"); + _endpoints[1258] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.MachineLearningExperimentation/accounts"); + _endpoints[1259] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.MachineLearningServices/workspaces"); + _endpoints[1260] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ManagedIdentity/userAssignedIdentities"); + _endpoints[1261] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Maps/accounts"); + _endpoints[1262] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Media/mediaservices"); + _endpoints[1263] = CreateEndpoint("/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.Migrate/projects"); + _endpoints[1264] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/applicationGateways"); + _endpoints[1265] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/applicationSecurityGroups"); + _endpoints[1266] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/connections"); + _endpoints[1267] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/ddosProtectionPlans"); + _endpoints[1268] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/dnsZones"); + _endpoints[1269] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/expressRouteCircuits"); + _endpoints[1270] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/expressRouteCrossConnections"); + _endpoints[1271] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/loadBalancers"); + _endpoints[1272] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/localNetworkGateways"); + _endpoints[1273] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkInterfaces"); + _endpoints[1274] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkSecurityGroups"); + _endpoints[1275] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkWatchers"); + _endpoints[1276] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/publicIPAddresses"); + _endpoints[1277] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/routeFilters"); + _endpoints[1278] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/routeTables"); + _endpoints[1279] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/trafficmanagerprofiles"); + _endpoints[1280] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworkGateways"); + _endpoints[1281] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworks"); + _endpoints[1282] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.NotificationHubs/namespaces"); + _endpoints[1283] = CreateEndpoint("/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.OperationalInsights/workspaces"); + _endpoints[1284] = CreateEndpoint("/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.OperationsManagement/solutions"); + _endpoints[1285] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.PowerBI/workspaceCollections"); + _endpoints[1286] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.PowerBIDedicated/capacities"); + _endpoints[1287] = CreateEndpoint("/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/operations"); + _endpoints[1288] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults"); + _endpoints[1289] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Relay/namespaces"); + _endpoints[1290] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ResourceHealth/availabilityStatuses"); + _endpoints[1291] = CreateEndpoint("/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.Resources/deployments/"); + _endpoints[1292] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Scheduler/jobCollections"); + _endpoints[1293] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Search/searchServices"); + _endpoints[1294] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Security/alerts"); + _endpoints[1295] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Security/jitNetworkAccessPolicies"); + _endpoints[1296] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Security/pricings"); + _endpoints[1297] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Security/securityContacts"); + _endpoints[1298] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Security/workspaceSettings"); + _endpoints[1299] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ServerManagement/gateways"); + _endpoints[1300] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ServerManagement/nodes"); + _endpoints[1301] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ServiceBus/namespaces"); + _endpoints[1302] = CreateEndpoint("/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.ServiceFabric/clusters"); + _endpoints[1303] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.SignalRService/SignalR"); + _endpoints[1304] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Solutions/applianceDefinitions"); + _endpoints[1305] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Solutions/appliances"); + _endpoints[1306] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Solutions/applicationDefinitions"); + _endpoints[1307] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Solutions/applications"); + _endpoints[1308] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/managedInstances"); + _endpoints[1309] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers"); + _endpoints[1310] = CreateEndpoint("/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.Storage.Admin/farms"); + _endpoints[1311] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Storage/storageAccounts"); + _endpoints[1312] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.StorSimple/managers"); + _endpoints[1313] = CreateEndpoint("/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.StreamAnalytics/streamingjobs"); + _endpoints[1314] = CreateEndpoint("/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.Subscriptions.Admin/directoryTenants"); + _endpoints[1315] = CreateEndpoint("/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.Subscriptions.Admin/offers"); + _endpoints[1316] = CreateEndpoint("/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.Subscriptions.Admin/plans"); + _endpoints[1317] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.TimeSeriesInsights/environments"); + _endpoints[1318] = CreateEndpoint("/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.Update.Admin/updateLocations/"); + _endpoints[1319] = CreateEndpoint("/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/microsoft.visualstudio/account"); + _endpoints[1320] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/certificates"); + _endpoints[1321] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/classicMobileServices"); + _endpoints[1322] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/connectionGateways"); + _endpoints[1323] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/connections"); + _endpoints[1324] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/csrs"); + _endpoints[1325] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/customApis"); + _endpoints[1326] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/deletedSites"); + _endpoints[1327] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/hostingEnvironments"); + _endpoints[1328] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/managedHostingEnvironments"); + _endpoints[1329] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/resourceHealthMetadata"); + _endpoints[1330] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/serverfarms"); + _endpoints[1331] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites"); + _endpoints[1332] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/validate"); + _endpoints[1333] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.BotService/BotServices/listServiceProviders"); + _endpoints[1334] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroup/{resourceGroupName}/providers/microsoft.insights/workbooks/{resourceName}"); + _endpoints[1335] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{groupName}/providers/Microsoft.DataMigration/services/{serviceName}"); + _endpoints[1336] = CreateEndpoint("/subscriptions/{subscriptionId}/resourcegroups/{resourceGroup}/providers/Microsoft.AzureBridge.Admin/activations/{activationName}"); + _endpoints[1337] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroup}/providers/Microsoft.AzureStack/registrations/{registrationName}"); + _endpoints[1338] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AAD/domainServices/{domainServiceName}"); + _endpoints[1339] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AnalysisServices/servers/{serverName}"); + _endpoints[1340] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}"); + _endpoints[1341] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Authorization/locks/{lockName}"); + _endpoints[1342] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Automation/automationAccounts/{automationAccountName}"); + _endpoints[1343] = CreateEndpoint("/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.Backup.Admin/backupLocations/{location}"); + _endpoints[1344] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Batch/batchAccounts/{accountName}"); + _endpoints[1345] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.BatchAI/clusters/{clusterName}"); + _endpoints[1346] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.BatchAI/fileServers/{fileServerName}"); + _endpoints[1347] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.BatchAI/jobs/{jobName}"); + _endpoints[1348] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.BatchAI/workspaces/{workspaceName}"); + _endpoints[1349] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.BotService/botServices/{resourceName}"); + _endpoints[1350] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Cache/Redis/{name}"); + _endpoints[1351] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Cdn/profiles/{profileName}"); + _endpoints[1352] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.CertificateRegistration/certificateOrders/{name}"); + _endpoints[1353] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.CognitiveServices/accounts/{accountName}"); + _endpoints[1354] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/availabilitySets/{availabilitySetName}"); + _endpoints[1355] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/disks/{diskName}"); + _endpoints[1356] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/galleries/{galleryName}"); + _endpoints[1357] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/images/{imageName}"); + _endpoints[1358] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/snapshots/{snapshotName}"); + _endpoints[1359] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/virtualMachines/{vmName}"); + _endpoints[1360] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/virtualMachineScaleSets/{vmScaleSetName}"); + _endpoints[1361] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Consumption/budgets/{budgetName}"); + _endpoints[1362] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerInstance/containerGroups/{containerGroupName}"); + _endpoints[1363] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerRegistry/registries/{registryName}"); + _endpoints[1364] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/containerServices/{containerServiceName}"); + _endpoints[1365] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}"); + _endpoints[1366] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.CustomerInsights/hubs/{hubName}"); + _endpoints[1367] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataBox/jobs/{jobName}"); + _endpoints[1368] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Databricks/workspaces/{workspaceName}"); + _endpoints[1369] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataCatalog/catalogs/{catalogName}"); + _endpoints[1370] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataFactory/factories/{factoryName}"); + _endpoints[1371] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataLakeAnalytics/accounts/{accountName}"); + _endpoints[1372] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataLakeStore/accounts/{accountName}"); + _endpoints[1373] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBforMySQL/servers/{serverName}"); + _endpoints[1374] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBforPostgreSQL/servers/{serverName}"); + _endpoints[1375] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Devices/IotHubs/{resourceName}"); + _endpoints[1376] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Devices/provisioningServices/{provisioningServiceName}"); + _endpoints[1377] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DevTestLab/labs/{name}"); + _endpoints[1378] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DevTestLab/schedules/{name}"); + _endpoints[1379] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}"); + _endpoints[1380] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DomainRegistration/domains/{domainName}"); + _endpoints[1381] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.EventGrid/topics/{topicName}"); + _endpoints[1382] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.EventHub/clusters/{clusterName}"); + _endpoints[1383] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.EventHub/namespaces/{namespaceName}"); + _endpoints[1384] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Fabric.Admin/fabricLocations/{fabricLocation}"); + _endpoints[1385] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.HanaOnAzure/hanaInstances/{hanaInstanceName}"); + _endpoints[1386] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.HDInsight/clusters/{clusterName}"); + _endpoints[1387] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ImportExport/jobs/{jobName}"); + _endpoints[1388] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.InfrastructureInsights.Admin/regionHealths/{location}"); + _endpoints[1389] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/microsoft.insights/actionGroups/{actionGroupName}"); + _endpoints[1390] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/microsoft.insights/activityLogAlerts/{activityLogAlertName}"); + _endpoints[1391] = CreateEndpoint("/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/microsoft.insights/alertrules/{ruleName}"); + _endpoints[1392] = CreateEndpoint("/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/microsoft.insights/autoscalesettings/{autoscaleSettingName}"); + _endpoints[1393] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Insights/components/{resourceName}"); + _endpoints[1394] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Insights/metricAlerts/{ruleName}"); + _endpoints[1395] = CreateEndpoint("/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/microsoft.insights/scheduledQueryRules/{ruleName}"); + _endpoints[1396] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Insights/webtests/{webTestName}"); + _endpoints[1397] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.IoTCentral/IoTApps/{resourceName}"); + _endpoints[1398] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.IoTSpaces/Graph/{resourceName}"); + _endpoints[1399] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.KeyVault/vaults/{vaultName}"); + _endpoints[1400] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Logic/integrationAccounts/{integrationAccountName}"); + _endpoints[1401] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Logic/workflows/{workflowName}"); + _endpoints[1402] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.MachineLearning/commitmentPlans/{commitmentPlanName}"); + _endpoints[1403] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.MachineLearning/webServices/{webServiceName}"); + _endpoints[1404] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.MachineLearning/workspaces/{workspaceName}"); + _endpoints[1405] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.MachineLearningCompute/operationalizationClusters/{clusterName}"); + _endpoints[1406] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.MachineLearningExperimentation/accounts/{accountName}"); + _endpoints[1407] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.MachineLearningServices/workspaces/{workspaceName}"); + _endpoints[1408] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ManagedIdentity/userAssignedIdentities/{resourceName}"); + _endpoints[1409] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Maps/accounts/{accountName}"); + _endpoints[1410] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Media/mediaservices/{mediaServiceName}"); + _endpoints[1411] = CreateEndpoint("/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.Migrate/projects/{projectName}"); + _endpoints[1412] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/applicationGateways/{applicationGatewayName}"); + _endpoints[1413] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/applicationSecurityGroups/{applicationSecurityGroupName}"); + _endpoints[1414] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/connections/{virtualNetworkGatewayConnectionName}"); + _endpoints[1415] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/ddosProtectionPlans/{ddosProtectionPlanName}"); + _endpoints[1416] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/dnsZones/{zoneName}"); + _endpoints[1417] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/expressRouteCircuits/{circuitName}"); + _endpoints[1418] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/expressRouteCrossConnections/{crossConnectionName}"); + _endpoints[1419] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/loadBalancers/{loadBalancerName}"); + _endpoints[1420] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/localNetworkGateways/{localNetworkGatewayName}"); + _endpoints[1421] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkInterfaces/{networkInterfaceName}"); + _endpoints[1422] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkSecurityGroups/{networkSecurityGroupName}"); + _endpoints[1423] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkWatchers/{networkWatcherName}"); + _endpoints[1424] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/publicIPAddresses/{publicIpAddressName}"); + _endpoints[1425] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/routeFilters/{routeFilterName}"); + _endpoints[1426] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/routeTables/{routeTableName}"); + _endpoints[1427] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/trafficmanagerprofiles/{profileName}"); + _endpoints[1428] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworkGateways/{virtualNetworkGatewayName}"); + _endpoints[1429] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworks/{virtualNetworkName}"); + _endpoints[1430] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.NotificationHubs/namespaces/{namespaceName}"); + _endpoints[1431] = CreateEndpoint("/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.OperationalInsights/workspaces/{workspaceName}"); + _endpoints[1432] = CreateEndpoint("/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.OperationsManagement/ManagementConfigurations/{managementConfigurationName}"); + _endpoints[1433] = CreateEndpoint("/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.OperationsManagement/solutions/{solutionName}"); + _endpoints[1434] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.PowerBI/workspaceCollections/{workspaceCollectionName}"); + _endpoints[1435] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.PowerBIDedicated/capacities/{dedicatedCapacityName}"); + _endpoints[1436] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}"); + _endpoints[1437] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Relay/namespaces/{namespaceName}"); + _endpoints[1438] = CreateEndpoint("/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.Resources/deployments/{deploymentName}"); + _endpoints[1439] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Scheduler/jobCollections/{jobCollectionName}"); + _endpoints[1440] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Search/searchServices/{searchServiceName}"); + _endpoints[1441] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Security/pricings/{pricingName}"); + _endpoints[1442] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Security/securityContacts/{securityContactName}"); + _endpoints[1443] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Security/workspaceSettings/{workspaceSettingName}"); + _endpoints[1444] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ServerManagement/gateways/{gatewayName}"); + _endpoints[1445] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ServerManagement/nodes/{nodeName}"); + _endpoints[1446] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ServiceBus/namespaces/{namespaceName}"); + _endpoints[1447] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ServiceFabric/clusters/{clusterName}"); + _endpoints[1448] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.SignalRService/SignalR/{resourceName}"); + _endpoints[1449] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Solutions/applianceDefinitions/{applianceDefinitionName}"); + _endpoints[1450] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Solutions/appliances/{applianceName}"); + _endpoints[1451] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Solutions/applicationDefinitions/{applicationDefinitionName}"); + _endpoints[1452] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Solutions/applications/{applicationName}"); + _endpoints[1453] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/managedInstances/{managedInstanceName}"); + _endpoints[1454] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}"); + _endpoints[1455] = CreateEndpoint("/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.Storage.Admin/farms/{farmId}"); + _endpoints[1456] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Storage/storageAccounts/{accountName}"); + _endpoints[1457] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.StorSimple/managers/{managerName}"); + _endpoints[1458] = CreateEndpoint("/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.StreamAnalytics/streamingjobs/{jobName}"); + _endpoints[1459] = CreateEndpoint("/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.Subscriptions.Admin/directoryTenants/{tenant}"); + _endpoints[1460] = CreateEndpoint("/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.Subscriptions.Admin/offers/{offer}"); + _endpoints[1461] = CreateEndpoint("/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.Subscriptions.Admin/plans/{plan}"); + _endpoints[1462] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.TimeSeriesInsights/environments/{environmentName}"); + _endpoints[1463] = CreateEndpoint("/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.Update.Admin/updateLocations/{updateLocation}"); + _endpoints[1464] = CreateEndpoint("/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/microsoft.visualstudio/account/{resourceName}"); + _endpoints[1465] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/certificates/{name}"); + _endpoints[1466] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/classicMobileServices/{name}"); + _endpoints[1467] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/connectionGateways/{connectionGatewayName}"); + _endpoints[1468] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/connections/{connectionName}"); + _endpoints[1469] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/csrs/{name}"); + _endpoints[1470] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/customApis/{apiName}"); + _endpoints[1471] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/hostingEnvironments/{name}"); + _endpoints[1472] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/managedHostingEnvironments/{name}"); + _endpoints[1473] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/serverfarms/{name}"); + _endpoints[1474] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}"); + _endpoints[1475] = CreateEndpoint("/providers/{managementGroupsNamespace}/managementGroups/{managementGroupName}/providers/Microsoft.PolicyInsights/policyEvents/{policyEventsResource}/queryResults"); + _endpoints[1476] = CreateEndpoint("/providers/{managementGroupsNamespace}/managementGroups/{managementGroupName}/providers/Microsoft.PolicyInsights/policyStates/{policyStatesResource}/queryResults"); + _endpoints[1477] = CreateEndpoint("/providers/{managementGroupsNamespace}/managementGroups/{managementGroupName}/providers/Microsoft.PolicyInsights/policyStates/{policyStatesSummaryResource}/summarize"); + _endpoints[1478] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroup/{resourceGroupName}/providers/Microsoft.MachineLearningServices/workspaces/{workspaceName}/computes"); + _endpoints[1479] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{groupName}/providers/Microsoft.DataMigration/services/{serviceName}/checkNameAvailability"); + _endpoints[1480] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{groupName}/providers/Microsoft.DataMigration/services/{serviceName}/checkStatus"); + _endpoints[1481] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{groupName}/providers/Microsoft.DataMigration/services/{serviceName}/projects"); + _endpoints[1482] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{groupName}/providers/Microsoft.DataMigration/services/{serviceName}/skus"); + _endpoints[1483] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{groupName}/providers/Microsoft.DataMigration/services/{serviceName}/start"); + _endpoints[1484] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{groupName}/providers/Microsoft.DataMigration/services/{serviceName}/stop"); + _endpoints[1485] = CreateEndpoint("/subscriptions/{subscriptionId}/resourcegroups/{resourceGroup}/providers/Microsoft.AzureBridge.Admin/activations/{activationName}/downloadedProducts"); + _endpoints[1486] = CreateEndpoint("/subscriptions/{subscriptionId}/resourcegroups/{resourceGroup}/providers/Microsoft.AzureBridge.Admin/activations/{activationName}/products"); + _endpoints[1487] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroup}/providers/Microsoft.AzureStack/registrations/{registrationName}/customerSubscriptions"); + _endpoints[1488] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroup}/providers/Microsoft.AzureStack/registrations/{registrationName}/getactivationkey"); + _endpoints[1489] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroup}/providers/Microsoft.AzureStack/registrations/{registrationName}/products"); + _endpoints[1490] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AnalysisServices/servers/{serverName}/dissociateGateway"); + _endpoints[1491] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AnalysisServices/servers/{serverName}/listGatewayStatus"); + _endpoints[1492] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AnalysisServices/servers/{serverName}/resume"); + _endpoints[1493] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AnalysisServices/servers/{serverName}/skus"); + _endpoints[1494] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AnalysisServices/servers/{serverName}/suspend"); + _endpoints[1495] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/apis"); + _endpoints[1496] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/apisByTags"); + _endpoints[1497] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/api-version-sets"); + _endpoints[1498] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/applynetworkconfigurationupdates"); + _endpoints[1499] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/authorizationServers"); + _endpoints[1500] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/backends"); + _endpoints[1501] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/backup"); + _endpoints[1502] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/certificates"); + _endpoints[1503] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/diagnostics"); + _endpoints[1504] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/getssotoken"); + _endpoints[1505] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/groups"); + _endpoints[1506] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/identityProviders"); + _endpoints[1507] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/issues"); + _endpoints[1508] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/loggers"); + _endpoints[1509] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/managedeployments"); + _endpoints[1510] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/networkstatus"); + _endpoints[1511] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/notifications"); + _endpoints[1512] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/openidConnectProviders"); + _endpoints[1513] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/policies"); + _endpoints[1514] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/policySnippets"); + _endpoints[1515] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/products"); + _endpoints[1516] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/properties"); + _endpoints[1517] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/regions"); + _endpoints[1518] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/restore"); + _endpoints[1519] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/subscriptions"); + _endpoints[1520] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/tagResources"); + _endpoints[1521] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/tags"); + _endpoints[1522] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/templates"); + _endpoints[1523] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/updatecertificate"); + _endpoints[1524] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/updatehostname"); + _endpoints[1525] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/uploadcertificate"); + _endpoints[1526] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/users"); + _endpoints[1527] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Automation/automationAccounts/{automationAccountName}/agentRegistrationInformation"); + _endpoints[1528] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Automation/automationAccounts/{automationAccountName}/certificates"); + _endpoints[1529] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Automation/automationAccounts/{automationAccountName}/compilationjobs"); + _endpoints[1530] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Automation/automationAccounts/{automationAccountName}/configurations"); + _endpoints[1531] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Automation/automationAccounts/{automationAccountName}/connections"); + _endpoints[1532] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Automation/automationAccounts/{automationAccountName}/connectionTypes"); + _endpoints[1533] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Automation/automationAccounts/{automationAccountName}/credentials"); + _endpoints[1534] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Automation/automationAccounts/{automationAccountName}/hybridRunbookWorkerGroups"); + _endpoints[1535] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Automation/automationAccounts/{automationAccountName}/jobs"); + _endpoints[1536] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Automation/automationAccounts/{automationAccountName}/jobSchedules"); + _endpoints[1537] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Automation/automationAccounts/{automationAccountName}/linkedWorkspace"); + _endpoints[1538] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Automation/automationAccounts/{automationAccountName}/listKeys"); + _endpoints[1539] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Automation/automationAccounts/{automationAccountName}/modules"); + _endpoints[1540] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Automation/automationAccounts/{automationAccountName}/nodeConfigurations"); + _endpoints[1541] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Automation/automationAccounts/{automationAccountName}/nodes"); + _endpoints[1542] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Automation/automationAccounts/{automationAccountName}/runbooks"); + _endpoints[1543] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Automation/automationAccounts/{automationAccountName}/schedules"); + _endpoints[1544] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Automation/automationAccounts/{automationAccountName}/softwareUpdateConfigurationMachineRuns"); + _endpoints[1545] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Automation/automationAccounts/{automationAccountName}/softwareUpdateConfigurationRuns"); + _endpoints[1546] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Automation/automationAccounts/{automationAccountName}/softwareUpdateConfigurations"); + _endpoints[1547] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Automation/automationAccounts/{automationAccountName}/sourceControls"); + _endpoints[1548] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Automation/automationAccounts/{automationAccountName}/statistics"); + _endpoints[1549] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Automation/automationAccounts/{automationAccountName}/usages"); + _endpoints[1550] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Automation/automationAccounts/{automationAccountName}/variables"); + _endpoints[1551] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Automation/automationAccounts/{automationAccountName}/watchers"); + _endpoints[1552] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Automation/automationAccounts/{automationAccountName}/webhooks"); + _endpoints[1553] = CreateEndpoint("/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.Backup.Admin/backupLocations/{location}/backups"); + _endpoints[1554] = CreateEndpoint("/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.Backup.Admin/backupLocations/{location}/createBackup"); + _endpoints[1555] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Batch/batchAccounts/{accountName}/applications"); + _endpoints[1556] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Batch/batchAccounts/{accountName}/certificates"); + _endpoints[1557] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Batch/batchAccounts/{accountName}/listKeys"); + _endpoints[1558] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Batch/batchAccounts/{accountName}/pools"); + _endpoints[1559] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Batch/batchAccounts/{accountName}/regenerateKeys"); + _endpoints[1560] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Batch/batchAccounts/{accountName}/syncAutoStorageKeys"); + _endpoints[1561] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.BatchAI/clusters/{clusterName}/listRemoteLoginInformation"); + _endpoints[1562] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.BatchAI/jobs/{jobName}/listOutputFiles"); + _endpoints[1563] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.BatchAI/jobs/{jobName}/listRemoteLoginInformation"); + _endpoints[1564] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.BatchAI/jobs/{jobName}/terminate"); + _endpoints[1565] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.BatchAI/workspaces/{workspaceName}/clusters"); + _endpoints[1566] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.BatchAI/workspaces/{workspaceName}/experiments"); + _endpoints[1567] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.BatchAI/workspaces/{workspaceName}/fileServers"); + _endpoints[1568] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.BotService/botServices/{resourceName}/channels"); + _endpoints[1569] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.BotService/botServices/{resourceName}/connections"); + _endpoints[1570] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Cache/Redis/{cacheName}/firewallRules"); + _endpoints[1571] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Cache/Redis/{cacheName}/patchSchedules"); + _endpoints[1572] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Cache/Redis/{name}/export"); + _endpoints[1573] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Cache/Redis/{name}/forceReboot"); + _endpoints[1574] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Cache/Redis/{name}/import"); + _endpoints[1575] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Cache/Redis/{name}/linkedServers"); + _endpoints[1576] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Cache/Redis/{name}/listKeys"); + _endpoints[1577] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Cache/Redis/{name}/listUpgradeNotifications"); + _endpoints[1578] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Cache/Redis/{name}/regenerateKey"); + _endpoints[1579] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Cdn/profiles/{profileName}/checkResourceUsage"); + _endpoints[1580] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Cdn/profiles/{profileName}/endpoints"); + _endpoints[1581] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Cdn/profiles/{profileName}/generateSsoUri"); + _endpoints[1582] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Cdn/profiles/{profileName}/getSupportedOptimizationTypes"); + _endpoints[1583] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.CertificateRegistration/certificateOrders/{certificateOrderName}/certificates"); + _endpoints[1584] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.CertificateRegistration/certificateOrders/{certificateOrderName}/resendRequestEmails"); + _endpoints[1585] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.CertificateRegistration/certificateOrders/{certificateOrderName}/retrieveSiteSeal"); + _endpoints[1586] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.CertificateRegistration/certificateOrders/{name}/reissue"); + _endpoints[1587] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.CertificateRegistration/certificateOrders/{name}/renew"); + _endpoints[1588] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.CertificateRegistration/certificateOrders/{name}/resendEmail"); + _endpoints[1589] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.CertificateRegistration/certificateOrders/{name}/retrieveCertificateActions"); + _endpoints[1590] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.CertificateRegistration/certificateOrders/{name}/retrieveEmailHistory"); + _endpoints[1591] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.CertificateRegistration/certificateOrders/{name}/verifyDomainOwnership"); + _endpoints[1592] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.CognitiveServices/accounts/{accountName}/listKeys"); + _endpoints[1593] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.CognitiveServices/accounts/{accountName}/regenerateKey"); + _endpoints[1594] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.CognitiveServices/accounts/{accountName}/skus"); + _endpoints[1595] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.CognitiveServices/accounts/{accountName}/usages"); + _endpoints[1596] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/availabilitySets/{availabilitySetName}/vmSizes"); + _endpoints[1597] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/disks/{diskName}/beginGetAccess"); + _endpoints[1598] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/disks/{diskName}/endGetAccess"); + _endpoints[1599] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/galleries/{galleryName}/images"); + _endpoints[1600] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/snapshots/{snapshotName}/beginGetAccess"); + _endpoints[1601] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/snapshots/{snapshotName}/endGetAccess"); + _endpoints[1602] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/virtualMachines/{vmName}/capture"); + _endpoints[1603] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/virtualMachines/{vmName}/convertToManagedDisks"); + _endpoints[1604] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/virtualMachines/{vmName}/deallocate"); + _endpoints[1605] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/virtualMachines/{vmName}/extensions"); + _endpoints[1606] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/virtualMachines/{vmName}/generalize"); + _endpoints[1607] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/virtualMachines/{vmName}/instanceView"); + _endpoints[1608] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/virtualMachines/{vmName}/performMaintenance"); + _endpoints[1609] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/virtualMachines/{vmName}/powerOff"); + _endpoints[1610] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/virtualMachines/{vmName}/redeploy"); + _endpoints[1611] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/virtualMachines/{vmName}/restart"); + _endpoints[1612] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/virtualMachines/{vmName}/runCommand"); + _endpoints[1613] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/virtualMachines/{vmName}/start"); + _endpoints[1614] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/virtualMachines/{vmName}/vmSizes"); + _endpoints[1615] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/microsoft.Compute/virtualMachineScaleSets/{virtualMachineScaleSetName}/networkInterfaces"); + _endpoints[1616] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/virtualMachineScaleSets/{virtualMachineScaleSetName}/publicipaddresses"); + _endpoints[1617] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/virtualMachineScaleSets/{virtualMachineScaleSetName}/virtualMachines"); + _endpoints[1618] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/virtualMachineScaleSets/{vmScaleSetName}/deallocate"); + _endpoints[1619] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/virtualMachineScaleSets/{vmScaleSetName}/delete"); + _endpoints[1620] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/virtualMachineScaleSets/{vmScaleSetName}/extensions"); + _endpoints[1621] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/virtualMachineScaleSets/{vmScaleSetName}/forceRecoveryServiceFabricPlatformUpdateDomainWalk"); + _endpoints[1622] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/virtualMachineScaleSets/{vmScaleSetName}/instanceView"); + _endpoints[1623] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/virtualMachineScaleSets/{vmScaleSetName}/manualupgrade"); + _endpoints[1624] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/virtualMachineScaleSets/{vmScaleSetName}/osRollingUpgrade"); + _endpoints[1625] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/virtualMachineScaleSets/{vmScaleSetName}/osUpgradeHistory"); + _endpoints[1626] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/virtualMachineScaleSets/{vmScaleSetName}/performMaintenance"); + _endpoints[1627] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/virtualMachineScaleSets/{vmScaleSetName}/poweroff"); + _endpoints[1628] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/virtualMachineScaleSets/{vmScaleSetName}/redeploy"); + _endpoints[1629] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/virtualMachineScaleSets/{vmScaleSetName}/reimage"); + _endpoints[1630] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/virtualMachineScaleSets/{vmScaleSetName}/reimageall"); + _endpoints[1631] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/virtualMachineScaleSets/{vmScaleSetName}/restart"); + _endpoints[1632] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/virtualMachineScaleSets/{vmScaleSetName}/skus"); + _endpoints[1633] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/virtualMachineScaleSets/{vmScaleSetName}/start"); + _endpoints[1634] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerRegistry/registries/{registryName}/builds"); + _endpoints[1635] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerRegistry/registries/{registryName}/buildTasks"); + _endpoints[1636] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerRegistry/registries/{registryName}/getBuildSourceUploadUrl"); + _endpoints[1637] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerRegistry/registries/{registryName}/getCredentials"); + _endpoints[1638] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerRegistry/registries/{registryName}/importImage"); + _endpoints[1639] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerRegistry/registries/{registryName}/listCredentials"); + _endpoints[1640] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerRegistry/registries/{registryName}/listUsages"); + _endpoints[1641] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerRegistry/registries/{registryName}/queueBuild"); + _endpoints[1642] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerRegistry/registries/{registryName}/regenerateCredential"); + _endpoints[1643] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerRegistry/registries/{registryName}/regenerateCredentials"); + _endpoints[1644] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerRegistry/registries/{registryName}/replications"); + _endpoints[1645] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerRegistry/registries/{registryName}/webhooks"); + _endpoints[1646] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.CustomerInsights/hubs/{hubName}/authorizationPolicies"); + _endpoints[1647] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.CustomerInsights/hubs/{hubName}/connectors"); + _endpoints[1648] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.CustomerInsights/hubs/{hubName}/interactions"); + _endpoints[1649] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.CustomerInsights/hubs/{hubName}/kpi"); + _endpoints[1650] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.CustomerInsights/hubs/{hubName}/links"); + _endpoints[1651] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.CustomerInsights/hubs/{hubName}/predictions"); + _endpoints[1652] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.CustomerInsights/hubs/{hubName}/profiles"); + _endpoints[1653] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.CustomerInsights/hubs/{hubName}/relationshipLinks"); + _endpoints[1654] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.CustomerInsights/hubs/{hubName}/relationships"); + _endpoints[1655] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.CustomerInsights/hubs/{hubName}/roleAssignments"); + _endpoints[1656] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.CustomerInsights/hubs/{hubName}/roles"); + _endpoints[1657] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.CustomerInsights/hubs/{hubName}/views"); + _endpoints[1658] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.CustomerInsights/hubs/{hubName}/widgetTypes"); + _endpoints[1659] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataBox/jobs/{jobName}/bookShipmentPickUp"); + _endpoints[1660] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataBox/jobs/{jobName}/cancel"); + _endpoints[1661] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataBox/jobs/{jobName}/copyLogsUri"); + _endpoints[1662] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataBox/jobs/{jobName}/downloadShippingLabel"); + _endpoints[1663] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataBox/jobs/{jobName}/listSecrets"); + _endpoints[1664] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataBox/jobs/{jobName}/reportIssue"); + _endpoints[1665] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataFactory/factories/{factoryName}/datasets"); + _endpoints[1666] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataFactory/factories/{factoryName}/integrationRuntimes"); + _endpoints[1667] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataFactory/factories/{factoryName}/linkedservices"); + _endpoints[1668] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataFactory/factories/{factoryName}/pipelineruns"); + _endpoints[1669] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataFactory/factories/{factoryName}/pipelines"); + _endpoints[1670] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataFactory/factories/{factoryName}/triggers"); + _endpoints[1671] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataLakeAnalytics/accounts/{accountName}/computePolicies"); + _endpoints[1672] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataLakeAnalytics/accounts/{accountName}/dataLakeStoreAccounts"); + _endpoints[1673] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataLakeAnalytics/accounts/{accountName}/firewallRules"); + _endpoints[1674] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataLakeAnalytics/accounts/{accountName}/storageAccounts"); + _endpoints[1675] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataLakeStore/accounts/{accountName}/enableKeyVault"); + _endpoints[1676] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataLakeStore/accounts/{accountName}/firewallRules"); + _endpoints[1677] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataLakeStore/accounts/{accountName}/trustedIdProviders"); + _endpoints[1678] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataLakeStore/accounts/{accountName}/virtualNetworkRules"); + _endpoints[1679] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBforMySQL/servers/{serverName}/configurations"); + _endpoints[1680] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBforMySQL/servers/{serverName}/databases"); + _endpoints[1681] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBforMySQL/servers/{serverName}/firewallRules"); + _endpoints[1682] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBforMySQL/servers/{serverName}/logFiles"); + _endpoints[1683] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBforMySQL/servers/{serverName}/virtualNetworkRules"); + _endpoints[1684] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBforPostgreSQL/servers/{serverName}/configurations"); + _endpoints[1685] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBforPostgreSQL/servers/{serverName}/databases"); + _endpoints[1686] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBforPostgreSQL/servers/{serverName}/firewallRules"); + _endpoints[1687] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBforPostgreSQL/servers/{serverName}/logFiles"); + _endpoints[1688] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBforPostgreSQL/servers/{serverName}/virtualNetworkRules"); + _endpoints[1689] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Devices/IotHubs/{iotHubName}/routingEndpointsHealth"); + _endpoints[1690] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Devices/IotHubs/{resourceName}/certificates"); + _endpoints[1691] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Devices/IotHubs/{resourceName}/exportDevices"); + _endpoints[1692] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Devices/IotHubs/{resourceName}/importDevices"); + _endpoints[1693] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Devices/IotHubs/{resourceName}/IotHubStats"); + _endpoints[1694] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Devices/IotHubs/{resourceName}/jobs"); + _endpoints[1695] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Devices/IotHubs/{resourceName}/listkeys"); + _endpoints[1696] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Devices/IotHubs/{resourceName}/quotaMetrics"); + _endpoints[1697] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Devices/IotHubs/{resourceName}/skus"); + _endpoints[1698] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Devices/provisioningServices/{provisioningServiceName}/certificates"); + _endpoints[1699] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Devices/provisioningServices/{provisioningServiceName}/listkeys"); + _endpoints[1700] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Devices/provisioningServices/{provisioningServiceName}/skus"); + _endpoints[1701] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DevTestLab/labs/{labName}/artifactsources"); + _endpoints[1702] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DevTestLab/labs/{labName}/costinsights"); + _endpoints[1703] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DevTestLab/labs/{labName}/costs"); + _endpoints[1704] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DevTestLab/labs/{labName}/customimages"); + _endpoints[1705] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DevTestLab/labs/{labName}/formulas"); + _endpoints[1706] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DevTestLab/labs/{labName}/galleryimages"); + _endpoints[1707] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DevTestLab/labs/{labName}/notificationchannels"); + _endpoints[1708] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DevTestLab/labs/{labName}/schedules"); + _endpoints[1709] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DevTestLab/labs/{labName}/servicerunners"); + _endpoints[1710] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DevTestLab/labs/{labName}/users"); + _endpoints[1711] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DevTestLab/labs/{labName}/virtualmachines"); + _endpoints[1712] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DevTestLab/labs/{labName}/virtualnetworks"); + _endpoints[1713] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DevTestLab/labs/{name}/claimAnyVm"); + _endpoints[1714] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DevTestLab/labs/{name}/createEnvironment"); + _endpoints[1715] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DevTestLab/labs/{name}/exportResourceUsage"); + _endpoints[1716] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DevTestLab/labs/{name}/generateUploadUri"); + _endpoints[1717] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DevTestLab/labs/{name}/listVhds"); + _endpoints[1718] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DevTestLab/schedules/{name}/execute"); + _endpoints[1719] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DevTestLab/schedules/{name}/retarget"); + _endpoints[1720] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/failoverPriorityChange"); + _endpoints[1721] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/listConnectionStrings"); + _endpoints[1722] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/listKeys"); + _endpoints[1723] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/metricDefinitions"); + _endpoints[1724] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/metrics"); + _endpoints[1725] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/offlineRegion"); + _endpoints[1726] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/onlineRegion"); + _endpoints[1727] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/readonlykeys"); + _endpoints[1728] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/regenerateKey"); + _endpoints[1729] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/usages"); + _endpoints[1730] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DomainRegistration/domains/{domainName}/domainOwnershipIdentifiers"); + _endpoints[1731] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DomainRegistration/domains/{domainName}/renew"); + _endpoints[1732] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.EventGrid/locations/{location}/eventSubscriptions"); + _endpoints[1733] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.EventGrid/topics/{topicName}/listKeys"); + _endpoints[1734] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.EventGrid/topics/{topicName}/regenerateKey"); + _endpoints[1735] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.EventGrid/topicTypes/{topicTypeName}/eventSubscriptions"); + _endpoints[1736] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.EventHub/namespaces/{namespaceName}/AuthorizationRules"); + _endpoints[1737] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.EventHub/namespaces/{namespaceName}/disasterRecoveryConfigs"); + _endpoints[1738] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.EventHub/namespaces/{namespaceName}/eventhubs"); + _endpoints[1739] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.EventHub/namespaces/{namespaceName}/messagingplan"); + _endpoints[1740] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Fabric.Admin/fabricLocations/{location}/edgeGatewayPools"); + _endpoints[1741] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Fabric.Admin/fabricLocations/{location}/edgeGateways"); + _endpoints[1742] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Fabric.Admin/fabricLocations/{location}/fileShares"); + _endpoints[1743] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Fabric.Admin/fabricLocations/{location}/infraRoleInstances"); + _endpoints[1744] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Fabric.Admin/fabricLocations/{location}/infraRoles"); + _endpoints[1745] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Fabric.Admin/fabricLocations/{location}/ipPools"); + _endpoints[1746] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Fabric.Admin/fabricLocations/{location}/logicalNetworks"); + _endpoints[1747] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Fabric.Admin/fabricLocations/{location}/macAddressPools"); + _endpoints[1748] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Fabric.Admin/fabricLocations/{location}/scaleUnitNodes"); + _endpoints[1749] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Fabric.Admin/fabricLocations/{location}/scaleUnits"); + _endpoints[1750] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Fabric.Admin/fabricLocations/{location}/slbMuxInstances"); + _endpoints[1751] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Fabric.Admin/fabricLocations/{location}/storageSubSystems"); + _endpoints[1752] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.HDInsight/clusters/{clusterName}/applications"); + _endpoints[1753] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.HDInsight/clusters/{clusterName}/executeScriptActions"); + _endpoints[1754] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.HDInsight/clusters/{clusterName}/scriptActions"); + _endpoints[1755] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.HDInsight/clusters/{clusterName}/scriptExecutionHistory"); + _endpoints[1756] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ImportExport/jobs/{jobName}/listBitLockerKeys"); + _endpoints[1757] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.InfrastructureInsights.Admin/regionHealths/{location}/alerts"); + _endpoints[1758] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.InfrastructureInsights.Admin/regionHealths/{location}/serviceHealths"); + _endpoints[1759] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/microsoft.insights/actionGroups/{actionGroupName}/subscribe"); + _endpoints[1760] = CreateEndpoint("/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/microsoft.insights/alertrules/{ruleName}/incidents"); + _endpoints[1761] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Insights/components/{componentName}/webtests"); + _endpoints[1762] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Insights/components/{resourceName}/Annotations"); + _endpoints[1763] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Insights/components/{resourceName}/ApiKeys"); + _endpoints[1764] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Insights/components/{resourceName}/currentbillingfeatures"); + _endpoints[1765] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Insights/components/{resourceName}/DefaultWorkItemConfig"); + _endpoints[1766] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Insights/components/{resourceName}/exportconfiguration"); + _endpoints[1767] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Insights/components/{resourceName}/favorites"); + _endpoints[1768] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Insights/components/{resourceName}/featurecapabilities"); + _endpoints[1769] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Insights/components/{resourceName}/getavailablebillingfeatures"); + _endpoints[1770] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Insights/components/{resourceName}/ProactiveDetectionConfigs"); + _endpoints[1771] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Insights/components/{resourceName}/purge"); + _endpoints[1772] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Insights/components/{resourceName}/quotastatus"); + _endpoints[1773] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Insights/components/{resourceName}/syntheticmonitorlocations"); + _endpoints[1774] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Insights/components/{resourceName}/WorkItemConfigs"); + _endpoints[1775] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Insights/metricAlerts/{ruleName}/status"); + _endpoints[1776] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.KeyVault/vaults/{vaultName}/secrets"); + _endpoints[1777] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Logic/integrationAccounts/{integrationAccountName}/agreements"); + _endpoints[1778] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Logic/integrationAccounts/{integrationAccountName}/assemblies"); + _endpoints[1779] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Logic/integrationAccounts/{integrationAccountName}/batchConfigurations"); + _endpoints[1780] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Logic/integrationAccounts/{integrationAccountName}/certificates"); + _endpoints[1781] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Logic/integrationAccounts/{integrationAccountName}/listCallbackUrl"); + _endpoints[1782] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Logic/integrationAccounts/{integrationAccountName}/listKeyVaultKeys"); + _endpoints[1783] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Logic/integrationAccounts/{integrationAccountName}/logTrackingEvents"); + _endpoints[1784] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Logic/integrationAccounts/{integrationAccountName}/maps"); + _endpoints[1785] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Logic/integrationAccounts/{integrationAccountName}/partners"); + _endpoints[1786] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Logic/integrationAccounts/{integrationAccountName}/regenerateAccessKey"); + _endpoints[1787] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Logic/integrationAccounts/{integrationAccountName}/schemas"); + _endpoints[1788] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Logic/integrationAccounts/{integrationAccountName}/sessions"); + _endpoints[1789] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Logic/workflows/{workflowName}/accessKeys"); + _endpoints[1790] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Logic/workflows/{workflowName}/disable"); + _endpoints[1791] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Logic/workflows/{workflowName}/enable"); + _endpoints[1792] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Logic/workflows/{workflowName}/generateUpgradedDefinition"); + _endpoints[1793] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Logic/workflows/{workflowName}/listCallbackUrl"); + _endpoints[1794] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Logic/workflows/{workflowName}/listSwagger"); + _endpoints[1795] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Logic/workflows/{workflowName}/move"); + _endpoints[1796] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Logic/workflows/{workflowName}/regenerateAccessKey"); + _endpoints[1797] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Logic/workflows/{workflowName}/run"); + _endpoints[1798] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Logic/workflows/{workflowName}/runs"); + _endpoints[1799] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Logic/workflows/{workflowName}/triggers/"); + _endpoints[1800] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Logic/workflows/{workflowName}/validate"); + _endpoints[1801] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Logic/workflows/{workflowName}/versions"); + _endpoints[1802] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.MachineLearning/commitmentPlans/{commitmentPlanName}/commitmentAssociations"); + _endpoints[1803] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.MachineLearning/commitmentPlans/{commitmentPlanName}/usageHistory"); + _endpoints[1804] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.MachineLearning/webServices/{webServiceName}/CreateRegionalBlob"); + _endpoints[1805] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.MachineLearning/webServices/{webServiceName}/listKeys"); + _endpoints[1806] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.MachineLearning/workspaces/{workspaceName}/listWorkspaceKeys"); + _endpoints[1807] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.MachineLearning/workspaces/{workspaceName}/resyncStorageKeys"); + _endpoints[1808] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.MachineLearningCompute/operationalizationClusters/{clusterName}/checkSystemServicesUpdatesAvailable"); + _endpoints[1809] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.MachineLearningCompute/operationalizationClusters/{clusterName}/checkUpdate"); + _endpoints[1810] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.MachineLearningCompute/operationalizationClusters/{clusterName}/listKeys"); + _endpoints[1811] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.MachineLearningCompute/operationalizationClusters/{clusterName}/updateSystem"); + _endpoints[1812] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.MachineLearningCompute/operationalizationClusters/{clusterName}/updateSystemServices"); + _endpoints[1813] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.MachineLearningExperimentation/accounts/{accountName}/workspaces"); + _endpoints[1814] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.MachineLearningServices/workspaces/{workspaceName}/listKeys"); + _endpoints[1815] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.MachineLearningServices/workspaces/{workspaceName}/resyncKeys"); + _endpoints[1816] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Maps/accounts/{accountName}/listKeys"); + _endpoints[1817] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Maps/accounts/{accountName}/regenerateKey"); + _endpoints[1818] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Media/mediaServices/{accountName}/assets"); + _endpoints[1819] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Media/mediaServices/{accountName}/contentKeyPolicies"); + _endpoints[1820] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Media/mediaservices/{accountName}/liveEvents"); + _endpoints[1821] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Media/mediaservices/{accountName}/streamingEndpoints"); + _endpoints[1822] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Media/mediaServices/{accountName}/streamingLocators"); + _endpoints[1823] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Media/mediaServices/{accountName}/streamingPolicies"); + _endpoints[1824] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Media/mediaServices/{accountName}/transforms"); + _endpoints[1825] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Media/mediaservices/{mediaServiceName}/listKeys"); + _endpoints[1826] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Media/mediaservices/{mediaServiceName}/regenerateKey"); + _endpoints[1827] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Media/mediaservices/{mediaServiceName}/syncStorageKeys"); + _endpoints[1828] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Migrate/projects/{projectName}/assessments"); + _endpoints[1829] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Migrate/projects/{projectName}/groups"); + _endpoints[1830] = CreateEndpoint("/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.Migrate/projects/{projectName}/keys"); + _endpoints[1831] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Migrate/projects/{projectName}/machines"); + _endpoints[1832] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/applicationGateways/{applicationGatewayName}/backendhealth"); + _endpoints[1833] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/applicationGateways/{applicationGatewayName}/start"); + _endpoints[1834] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/applicationGateways/{applicationGatewayName}/stop"); + _endpoints[1835] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/connections/{virtualNetworkGatewayConnectionName}/sharedkey"); + _endpoints[1836] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/connections/{virtualNetworkGatewayConnectionName}/vpndeviceconfigurationscript"); + _endpoints[1837] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/dnsZones/{zoneName}/all"); + _endpoints[1838] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/dnsZones/{zoneName}/recordsets"); + _endpoints[1839] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/expressRouteCircuits/{circuitName}/arpTable"); + _endpoints[1840] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/expressRouteCircuits/{circuitName}/authorizations"); + _endpoints[1841] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/expressRouteCircuits/{circuitName}/peerings"); + _endpoints[1842] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/expressRouteCircuits/{circuitName}/routesTable"); + _endpoints[1843] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/expressRouteCircuits/{circuitName}/stats"); + _endpoints[1844] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/expressRouteCrossConnections/{crossConnectionName}/peerings"); + _endpoints[1845] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/loadBalancers/{loadBalancerName}/backendAddressPools"); + _endpoints[1846] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/loadBalancers/{loadBalancerName}/frontendIPConfigurations"); + _endpoints[1847] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/loadBalancers/{loadBalancerName}/inboundNatRules"); + _endpoints[1848] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/loadBalancers/{loadBalancerName}/loadBalancingRules"); + _endpoints[1849] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/loadBalancers/{loadBalancerName}/networkInterfaces"); + _endpoints[1850] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/loadBalancers/{loadBalancerName}/probes"); + _endpoints[1851] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkInterfaces/{networkInterfaceName}/effectiveNetworkSecurityGroups"); + _endpoints[1852] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkInterfaces/{networkInterfaceName}/effectiveRouteTable"); + _endpoints[1853] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkInterfaces/{networkInterfaceName}/ipConfigurations"); + _endpoints[1854] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkInterfaces/{networkInterfaceName}/loadBalancers"); + _endpoints[1855] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkSecurityGroups/{networkSecurityGroupName}/defaultSecurityRules"); + _endpoints[1856] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkSecurityGroups/{networkSecurityGroupName}/securityRules"); + _endpoints[1857] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkWatchers/{networkWatcherName}/availableProvidersList"); + _endpoints[1858] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkWatchers/{networkWatcherName}/azureReachabilityReport"); + _endpoints[1859] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkWatchers/{networkWatcherName}/configureFlowLog"); + _endpoints[1860] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkWatchers/{networkWatcherName}/connectionMonitors"); + _endpoints[1861] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkWatchers/{networkWatcherName}/connectivityCheck"); + _endpoints[1862] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkWatchers/{networkWatcherName}/ipFlowVerify"); + _endpoints[1863] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkWatchers/{networkWatcherName}/nextHop"); + _endpoints[1864] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkWatchers/{networkWatcherName}/packetCaptures"); + _endpoints[1865] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkWatchers/{networkWatcherName}/queryFlowLogStatus"); + _endpoints[1866] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkWatchers/{networkWatcherName}/queryTroubleshootResult"); + _endpoints[1867] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkWatchers/{networkWatcherName}/securityGroupView"); + _endpoints[1868] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkWatchers/{networkWatcherName}/topology"); + _endpoints[1869] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkWatchers/{networkWatcherName}/troubleshoot"); + _endpoints[1870] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/routeFilters/{routeFilterName}/routeFilterRules"); + _endpoints[1871] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/routeTables/{routeTableName}/routes"); + _endpoints[1872] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworkGateways/{virtualNetworkGatewayName}/connections"); + _endpoints[1873] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworkGateways/{virtualNetworkGatewayName}/generatevpnclientpackage"); + _endpoints[1874] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworkGateways/{virtualNetworkGatewayName}/generatevpnprofile"); + _endpoints[1875] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworkGateways/{virtualNetworkGatewayName}/getAdvertisedRoutes"); + _endpoints[1876] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworkGateways/{virtualNetworkGatewayName}/getBgpPeerStatus"); + _endpoints[1877] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworkGateways/{virtualNetworkGatewayName}/getLearnedRoutes"); + _endpoints[1878] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworkGateways/{virtualNetworkGatewayName}/getvpnclientipsecparameters"); + _endpoints[1879] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworkGateways/{virtualNetworkGatewayName}/getvpnprofilepackageurl"); + _endpoints[1880] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworkGateways/{virtualNetworkGatewayName}/reset"); + _endpoints[1881] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworkGateways/{virtualNetworkGatewayName}/setvpnclientipsecparameters"); + _endpoints[1882] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworkGateways/{virtualNetworkGatewayName}/supportedvpndevices"); + _endpoints[1883] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworks/{virtualNetworkName}/CheckIPAddressAvailability"); + _endpoints[1884] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworks/{virtualNetworkName}/subnets"); + _endpoints[1885] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworks/{virtualNetworkName}/usages"); + _endpoints[1886] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworks/{virtualNetworkName}/virtualNetworkPeerings"); + _endpoints[1887] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.NotificationHubs/namespaces/{namespaceName}/AuthorizationRules"); + _endpoints[1888] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.NotificationHubs/namespaces/{namespaceName}/checkNotificationHubAvailability"); + _endpoints[1889] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.NotificationHubs/namespaces/{namespaceName}/notificationHubs"); + _endpoints[1890] = CreateEndpoint("/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.OperationalInsights/workspaces/{workspaceName}/dataSources"); + _endpoints[1891] = CreateEndpoint("/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.OperationalInsights/workspaces/{workspaceName}/intelligencePacks"); + _endpoints[1892] = CreateEndpoint("/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.OperationalInsights/workspaces/{workspaceName}/linkedServices"); + _endpoints[1893] = CreateEndpoint("/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.OperationalInsights/workspaces/{workspaceName}/managementGroups"); + _endpoints[1894] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.OperationalInsights/workspaces/{workspaceName}/purge"); + _endpoints[1895] = CreateEndpoint("/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.OperationalInsights/workspaces/{workspaceName}/savedSearches"); + _endpoints[1896] = CreateEndpoint("/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.OperationalInsights/workspaces/{workspaceName}/schema"); + _endpoints[1897] = CreateEndpoint("/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.OperationalInsights/workspaces/{workspaceName}/search"); + _endpoints[1898] = CreateEndpoint("/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.OperationalInsights/workspaces/{workspaceName}/sharedKeys"); + _endpoints[1899] = CreateEndpoint("/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.OperationalInsights/workspaces/{workspaceName}/storageInsightConfigs"); + _endpoints[1900] = CreateEndpoint("/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.OperationalInsights/workspaces/{workspaceName}/usages"); + _endpoints[1901] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.PolicyInsights/policyEvents/{policyEventsResource}/queryResults"); + _endpoints[1902] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.PolicyInsights/policyStates/{policyStatesResource}/queryResults"); + _endpoints[1903] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.PolicyInsights/policyStates/{policyStatesSummaryResource}/summarize"); + _endpoints[1904] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.PowerBI/workspaceCollections/{workspaceCollectionName}/listKeys"); + _endpoints[1905] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.PowerBI/workspaceCollections/{workspaceCollectionName}/regenerateKey"); + _endpoints[1906] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.PowerBI/workspaceCollections/{workspaceCollectionName}/workspaces"); + _endpoints[1907] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.PowerBIDedicated/capacities/{dedicatedCapacityName}/resume"); + _endpoints[1908] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.PowerBIDedicated/capacities/{dedicatedCapacityName}/skus"); + _endpoints[1909] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.PowerBIDedicated/capacities/{dedicatedCapacityName}/suspend"); + _endpoints[1910] = CreateEndpoint("/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationAlertSettings"); + _endpoints[1911] = CreateEndpoint("/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationEvents"); + _endpoints[1912] = CreateEndpoint("/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationFabrics"); + _endpoints[1913] = CreateEndpoint("/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationJobs"); + _endpoints[1914] = CreateEndpoint("/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationNetworkMappings"); + _endpoints[1915] = CreateEndpoint("/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationNetworks"); + _endpoints[1916] = CreateEndpoint("/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationPolicies"); + _endpoints[1917] = CreateEndpoint("/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationProtectedItems"); + _endpoints[1918] = CreateEndpoint("/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationProtectionContainerMappings"); + _endpoints[1919] = CreateEndpoint("/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationProtectionContainers"); + _endpoints[1920] = CreateEndpoint("/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationRecoveryPlans"); + _endpoints[1921] = CreateEndpoint("/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationRecoveryServicesProviders"); + _endpoints[1922] = CreateEndpoint("/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationStorageClassificationMappings"); + _endpoints[1923] = CreateEndpoint("/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationStorageClassifications"); + _endpoints[1924] = CreateEndpoint("/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationVaultHealth"); + _endpoints[1925] = CreateEndpoint("/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationvCenters"); + _endpoints[1926] = CreateEndpoint("/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupEngines"); + _endpoints[1927] = CreateEndpoint("/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupJobs"); + _endpoints[1928] = CreateEndpoint("/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupJobsExport"); + _endpoints[1929] = CreateEndpoint("/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupPolicies"); + _endpoints[1930] = CreateEndpoint("/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupProtectableItems"); + _endpoints[1931] = CreateEndpoint("/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupProtectedItems"); + _endpoints[1932] = CreateEndpoint("/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupProtectionContainers"); + _endpoints[1933] = CreateEndpoint("/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupSecurityPIN"); + _endpoints[1934] = CreateEndpoint("/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupUsageSummaries"); + _endpoints[1935] = CreateEndpoint("/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/replicationUsages"); + _endpoints[1936] = CreateEndpoint("/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/usages"); + _endpoints[1937] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Relay/namespaces/{namespaceName}/authorizationRules"); + _endpoints[1938] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Relay/namespaces/{namespaceName}/hybridConnections"); + _endpoints[1939] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Relay/namespaces/{namespaceName}/wcfRelays"); + _endpoints[1940] = CreateEndpoint("/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.Resources/deployments/{deploymentName}/cancel"); + _endpoints[1941] = CreateEndpoint("/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.Resources/deployments/{deploymentName}/exportTemplate"); + _endpoints[1942] = CreateEndpoint("/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.Resources/deployments/{deploymentName}/validate"); + _endpoints[1943] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Scheduler/jobCollections/{jobCollectionName}/disable"); + _endpoints[1944] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Scheduler/jobCollections/{jobCollectionName}/enable"); + _endpoints[1945] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Scheduler/jobCollections/{jobCollectionName}/jobs"); + _endpoints[1946] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Search/searchServices/{searchServiceName}/listAdminKeys"); + _endpoints[1947] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Search/searchServices/{searchServiceName}/listQueryKeys"); + _endpoints[1948] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Security/locations/{ascLocation}/alerts"); + _endpoints[1949] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Security/locations/{ascLocation}/jitNetworkAccessPolicies"); + _endpoints[1950] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Security/locations/{ascLocation}/tasks"); + _endpoints[1951] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ServerManagement/gateways/{gatewayName}/profile"); + _endpoints[1952] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ServerManagement/gateways/{gatewayName}/regenerateprofile"); + _endpoints[1953] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ServerManagement/gateways/{gatewayName}/upgradetolatest"); + _endpoints[1954] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ServiceBus/namespaces/{namespaceName}/AuthorizationRules"); + _endpoints[1955] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ServiceBus/namespaces/{namespaceName}/disasterRecoveryConfigs"); + _endpoints[1956] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ServiceBus/namespaces/{namespaceName}/eventhubs"); + _endpoints[1957] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ServiceBus/namespaces/{namespaceName}/messagingplan"); + _endpoints[1958] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ServiceBus/namespaces/{namespaceName}/migrationConfigurations"); + _endpoints[1959] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ServiceBus/namespaces/{namespaceName}/queues"); + _endpoints[1960] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ServiceBus/namespaces/{namespaceName}/topics"); + _endpoints[1961] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ServiceFabric/clusters/{clusterName}/applications"); + _endpoints[1962] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ServiceFabric/clusters/{clusterName}/applicationTypes"); + _endpoints[1963] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.SignalRService/SignalR/{resourceName}/listKeys"); + _endpoints[1964] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.SignalRService/SignalR/{resourceName}/regenerateKey"); + _endpoints[1965] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/locations/{locationName}/instanceFailoverGroups"); + _endpoints[1966] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/managedInstances/{managedInstanceName}/databases"); + _endpoints[1967] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/administrators"); + _endpoints[1968] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/advisors"); + _endpoints[1969] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/auditingPolicies"); + _endpoints[1970] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/backupLongTermRetentionVaults"); + _endpoints[1971] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/communicationLinks"); + _endpoints[1972] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/databases"); + _endpoints[1973] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/disasterRecoveryConfiguration"); + _endpoints[1974] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/dnsAliases"); + _endpoints[1975] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/elasticPools"); + _endpoints[1976] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/encryptionProtector"); + _endpoints[1977] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/failoverGroups"); + _endpoints[1978] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/firewallRules"); + _endpoints[1979] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/import"); + _endpoints[1980] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/jobAgents"); + _endpoints[1981] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/keys"); + _endpoints[1982] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/recommendedElasticPools"); + _endpoints[1983] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/recoverableDatabases"); + _endpoints[1984] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/restorableDroppedDatabases"); + _endpoints[1985] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/serviceObjectives"); + _endpoints[1986] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/syncAgents"); + _endpoints[1987] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/usages"); + _endpoints[1988] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/virtualNetworkRules"); + _endpoints[1989] = CreateEndpoint("/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.Storage.Admin/farms/{farmId}/acquisitions"); + _endpoints[1990] = CreateEndpoint("/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.Storage.Admin/farms/{farmId}/metricdefinitions"); + _endpoints[1991] = CreateEndpoint("/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.Storage.Admin/farms/{farmId}/metrics"); + _endpoints[1992] = CreateEndpoint("/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.Storage.Admin/farms/{farmId}/ondemandgc"); + _endpoints[1993] = CreateEndpoint("/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.Storage.Admin/farms/{farmId}/shares"); + _endpoints[1994] = CreateEndpoint("/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.Storage.Admin/farms/{farmId}/storageaccounts"); + _endpoints[1995] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Storage/storageAccounts/{accountName}/ListAccountSas"); + _endpoints[1996] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Storage/storageAccounts/{accountName}/listKeys"); + _endpoints[1997] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Storage/storageAccounts/{accountName}/ListServiceSas"); + _endpoints[1998] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Storage/storageAccounts/{accountName}/regenerateKey"); + _endpoints[1999] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.StorSimple/managers/{managerName}/accessControlRecords"); + _endpoints[2000] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.StorSimple/managers/{managerName}/alerts"); + _endpoints[2001] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.StorSimple/managers/{managerName}/bandwidthSettings"); + _endpoints[2002] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.StorSimple/managers/{managerName}/clearAlerts"); + _endpoints[2003] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.StorSimple/managers/{managerName}/cloudApplianceConfigurations"); + _endpoints[2004] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.StorSimple/managers/{managerName}/configureDevice"); + _endpoints[2005] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.StorSimple/managers/{managerName}/devices"); + _endpoints[2006] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.StorSimple/managers/{managerName}/features"); + _endpoints[2007] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.StorSimple/managers/{managerName}/jobs"); + _endpoints[2008] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.StorSimple/managers/{managerName}/listActivationKey"); + _endpoints[2009] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.StorSimple/managers/{managerName}/listPublicEncryptionKey"); + _endpoints[2010] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.StorSimple/managers/{managerName}/metrics"); + _endpoints[2011] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.StorSimple/managers/{managerName}/metricsDefinitions"); + _endpoints[2012] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.StorSimple/managers/{managerName}/provisionCloudAppliance"); + _endpoints[2013] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.StorSimple/managers/{managerName}/regenerateActivationKey"); + _endpoints[2014] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.StorSimple/managers/{managerName}/storageAccountCredentials"); + _endpoints[2015] = CreateEndpoint("/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.StreamAnalytics/streamingjobs/{jobName}/functions"); + _endpoints[2016] = CreateEndpoint("/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.StreamAnalytics/streamingjobs/{jobName}/inputs"); + _endpoints[2017] = CreateEndpoint("/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.StreamAnalytics/streamingjobs/{jobName}/outputs"); + _endpoints[2018] = CreateEndpoint("/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.StreamAnalytics/streamingjobs/{jobName}/start"); + _endpoints[2019] = CreateEndpoint("/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.StreamAnalytics/streamingjobs/{jobName}/stop"); + _endpoints[2020] = CreateEndpoint("/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.Subscriptions.Admin/offers/{offer}/link"); + _endpoints[2021] = CreateEndpoint("/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.Subscriptions.Admin/offers/{offer}/MetricDefinitions"); + _endpoints[2022] = CreateEndpoint("/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.Subscriptions.Admin/offers/{offer}/Metrics"); + _endpoints[2023] = CreateEndpoint("/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.Subscriptions.Admin/offers/{offer}/offerDelegations"); + _endpoints[2024] = CreateEndpoint("/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.Subscriptions.Admin/offers/{offer}/unlink"); + _endpoints[2025] = CreateEndpoint("/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.Subscriptions.Admin/plans/{plan}/MetricDefinitions"); + _endpoints[2026] = CreateEndpoint("/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.Subscriptions.Admin/plans/{plan}/Metrics"); + _endpoints[2027] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.TimeSeriesInsights/environments/{environmentName}/accessPolicies"); + _endpoints[2028] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.TimeSeriesInsights/environments/{environmentName}/eventSources"); + _endpoints[2029] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.TimeSeriesInsights/environments/{environmentName}/referenceDataSets"); + _endpoints[2030] = CreateEndpoint("/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.Update.Admin/updateLocations/{updateLocation}/updates"); + _endpoints[2031] = CreateEndpoint("/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/microsoft.visualstudio/account/{accountResourceName}/extension"); + _endpoints[2032] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/microsoft.visualstudio/account/{rootResourceName}/project"); + _endpoints[2033] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web.Admin/environments/{environmentName}/usage"); + _endpoints[2034] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/connections/{connectionName}/confirmConsentCode"); + _endpoints[2035] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/connections/{connectionName}/listConnectionKeys"); + _endpoints[2036] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/connections/{connectionName}/listConsentLinks"); + _endpoints[2037] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/customApis/{apiName}/move"); + _endpoints[2038] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/hostingEnvironments/{name}/changeVirtualNetwork"); + _endpoints[2039] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/hostingEnvironments/{name}/detectors"); + _endpoints[2040] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/hostingEnvironments/{name}/diagnostics"); + _endpoints[2041] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/hostingEnvironments/{name}/metricdefinitions"); + _endpoints[2042] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/hostingEnvironments/{name}/metrics"); + _endpoints[2043] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/hostingEnvironments/{name}/multiRolePools"); + _endpoints[2044] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/hostingEnvironments/{name}/operations"); + _endpoints[2045] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/hostingEnvironments/{name}/reboot"); + _endpoints[2046] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/hostingEnvironments/{name}/resume"); + _endpoints[2047] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/hostingEnvironments/{name}/serverfarms"); + _endpoints[2048] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/hostingEnvironments/{name}/sites"); + _endpoints[2049] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/hostingEnvironments/{name}/suspend"); + _endpoints[2050] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/hostingEnvironments/{name}/syncVirtualNetwork"); + _endpoints[2051] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/hostingEnvironments/{name}/usages"); + _endpoints[2052] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/hostingEnvironments/{name}/webhostingplans"); + _endpoints[2053] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/hostingEnvironments/{name}/workerPools"); + _endpoints[2054] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/managedHostingEnvironments/{name}/serverfarms"); + _endpoints[2055] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/managedHostingEnvironments/{name}/sites"); + _endpoints[2056] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/managedHostingEnvironments/{name}/webhostingplans"); + _endpoints[2057] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/serverfarms/{name}/capabilities"); + _endpoints[2058] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/serverfarms/{name}/hybridConnectionRelays"); + _endpoints[2059] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/serverfarms/{name}/metricdefinitions"); + _endpoints[2060] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/serverfarms/{name}/metrics"); + _endpoints[2061] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/serverfarms/{name}/restartSites"); + _endpoints[2062] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/serverfarms/{name}/sites"); + _endpoints[2063] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/serverfarms/{name}/skus"); + _endpoints[2064] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/serverfarms/{name}/usages"); + _endpoints[2065] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/serverfarms/{name}/virtualNetworkConnections"); + _endpoints[2066] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/analyzeCustomHostname"); + _endpoints[2067] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/applySlotConfig"); + _endpoints[2068] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/backup"); + _endpoints[2069] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/backups"); + _endpoints[2070] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/config"); + _endpoints[2071] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/containerlogs"); + _endpoints[2072] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/continuouswebjobs"); + _endpoints[2073] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/deployments"); + _endpoints[2074] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/domainOwnershipIdentifiers"); + _endpoints[2075] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/functions"); + _endpoints[2076] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/hostNameBindings"); + _endpoints[2077] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/hybridconnection"); + _endpoints[2078] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/hybridConnectionRelays"); + _endpoints[2079] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/instances"); + _endpoints[2080] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/iscloneable"); + _endpoints[2081] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/listsyncfunctiontriggerstatus"); + _endpoints[2082] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/metricdefinitions"); + _endpoints[2083] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/metrics"); + _endpoints[2084] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/migrate"); + _endpoints[2085] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/migratemysql"); + _endpoints[2086] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/newpassword"); + _endpoints[2087] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/perfcounters"); + _endpoints[2088] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/phplogging"); + _endpoints[2089] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/premieraddons"); + _endpoints[2090] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/processes"); + _endpoints[2091] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/publicCertificates"); + _endpoints[2092] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/publishxml"); + _endpoints[2093] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/recover"); + _endpoints[2094] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/resetSlotConfig"); + _endpoints[2095] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/resourceHealthMetadata"); + _endpoints[2096] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/restart"); + _endpoints[2097] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/restoreFromBackupBlob"); + _endpoints[2098] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/restoreFromDeletedApp"); + _endpoints[2099] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/restoreSnapshot"); + _endpoints[2100] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/siteextensions"); + _endpoints[2101] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots"); + _endpoints[2102] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slotsdiffs"); + _endpoints[2103] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slotsswap"); + _endpoints[2104] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/snapshots"); + _endpoints[2105] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/start"); + _endpoints[2106] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/stop"); + _endpoints[2107] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/sync"); + _endpoints[2108] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/syncfunctiontriggers"); + _endpoints[2109] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/triggeredwebjobs"); + _endpoints[2110] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/usages"); + _endpoints[2111] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/virtualNetworkConnections"); + _endpoints[2112] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/webjobs"); + _endpoints[2113] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{siteName}/detectors"); + _endpoints[2114] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{siteName}/diagnostics"); + _endpoints[2115] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{siteName}/recommendationHistory"); + _endpoints[2116] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{siteName}/recommendations"); + _endpoints[2117] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/portalsettings/delegation"); + _endpoints[2118] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/portalsettings/signin"); + _endpoints[2119] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/portalsettings/signup"); + _endpoints[2120] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/reports/byApi"); + _endpoints[2121] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/reports/byGeo"); + _endpoints[2122] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/reports/byOperation"); + _endpoints[2123] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/reports/byProduct"); + _endpoints[2124] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/reports/byRequest"); + _endpoints[2125] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/reports/bySubscription"); + _endpoints[2126] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/reports/byTime"); + _endpoints[2127] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/reports/byUser"); + _endpoints[2128] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/tenant/access"); + _endpoints[2129] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/tenant/policy"); + _endpoints[2130] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Automation/automationAccounts/{automationAccountName}/agentRegistrationInformation/regenerateKey"); + _endpoints[2131] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Automation/automationAccounts/{automationAccountName}/webhooks/generateUri"); + _endpoints[2132] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Cache/Redis/{name}/patchSchedules/default"); + _endpoints[2133] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/virtualMachineScaleSets/{vmScaleSetName}/rollingUpgrades/cancel"); + _endpoints[2134] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/virtualMachineScaleSets/{vmScaleSetName}/rollingUpgrades/latest"); + _endpoints[2135] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}/upgradeProfiles/default"); + _endpoints[2136] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.CustomerInsights/hubs/{hubName}/images/getDataImageUploadUrl"); + _endpoints[2137] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.CustomerInsights/hubs/{hubName}/images/getEntityTypeImageUploadUrl"); + _endpoints[2138] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/percentile/metrics"); + _endpoints[2139] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.EventHub/clusters/{clusterName}/quotaConfiguration/default"); + _endpoints[2140] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.EventHub/namespaces/{namespaceName}/disasterRecoveryConfigs/CheckNameAvailability"); + _endpoints[2141] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.HDInsight/clusters/{clusterName}/extensions/clustermonitoring"); + _endpoints[2142] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/microsoft.insights/components/{resourceName}/pricingPlans/current"); + _endpoints[2143] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/connections/{virtualNetworkGatewayConnectionName}/sharedkey/reset"); + _endpoints[2144] = CreateEndpoint("/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationJobs/export"); + _endpoints[2145] = CreateEndpoint("/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupconfig/vaultconfig"); + _endpoints[2146] = CreateEndpoint("/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupstorageconfig/vaultstorageconfig"); + _endpoints[2147] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/extendedInformation/vaultExtendedInfo"); + _endpoints[2148] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ServiceBus/namespaces/{namespaceName}/disasterRecoveryConfigs/CheckNameAvailability"); + _endpoints[2149] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/automaticTuning/current"); + _endpoints[2150] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.StorSimple/managers/{managerName}/encryptionSettings/default"); + _endpoints[2151] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.StorSimple/managers/{managerName}/extendedInformation/vaultExtendedInfo"); + _endpoints[2152] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/hostingEnvironments/{name}/capacities/compute"); + _endpoints[2153] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/hostingEnvironments/{name}/capacities/virtualip"); + _endpoints[2154] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/hostingEnvironments/{name}/multiRolePools/default"); + _endpoints[2155] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/managedHostingEnvironments/{name}/capacities/virtualip"); + _endpoints[2156] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/serverfarms/{name}/hybridConnectionPlanLimits/limit"); + _endpoints[2157] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/backups/discover"); + _endpoints[2158] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/config/appsettings"); + _endpoints[2159] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/config/authsettings"); + _endpoints[2160] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/config/backup"); + _endpoints[2161] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/config/connectionstrings"); + _endpoints[2162] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/config/logs"); + _endpoints[2163] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/config/metadata"); + _endpoints[2164] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/config/pushsettings"); + _endpoints[2165] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/config/slotConfigNames"); + _endpoints[2166] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/config/web"); + _endpoints[2167] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/extensions/MSDeploy"); + _endpoints[2168] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/migratemysql/status"); + _endpoints[2169] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/networkTrace/start"); + _endpoints[2170] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/networkTrace/stop"); + _endpoints[2171] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/privateAccess/virtualNetworks"); + _endpoints[2172] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/resourceHealthMetadata/default"); + _endpoints[2173] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/sourcecontrols/web"); + _endpoints[2174] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{siteName}/recommendations/disable"); + _endpoints[2175] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{siteName}/recommendations/reset"); + _endpoints[2176] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/tenant/access/git"); + _endpoints[2177] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/tenant/access/regeneratePrimaryKey"); + _endpoints[2178] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/tenant/access/regenerateSecondaryKey"); + _endpoints[2179] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/tenant/configuration/deploy"); + _endpoints[2180] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/tenant/configuration/save"); + _endpoints[2181] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/tenant/configuration/syncState"); + _endpoints[2182] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/tenant/configuration/validate"); + _endpoints[2183] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Devices/IotHubs/{iotHubName}/routing/routes/$testall"); + _endpoints[2184] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Devices/IotHubs/{iotHubName}/routing/routes/$testnew"); + _endpoints[2185] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.OperationalInsights/workspaces/{workspaceName}/features/serviceMap/generateMap"); + _endpoints[2186] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.OperationalInsights/workspaces/{workspaceName}/features/serviceMap/machineGroups"); + _endpoints[2187] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.OperationalInsights/workspaces/{workspaceName}/features/serviceMap/machines"); + _endpoints[2188] = CreateEndpoint("/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationVaultHealth/default/refresh"); + _endpoints[2189] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Storage/storageAccounts/{accountName}/blobServices/default/containers"); + _endpoints[2190] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/hostingEnvironments/{name}/multiRolePools/default/metricdefinitions"); + _endpoints[2191] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/hostingEnvironments/{name}/multiRolePools/default/metrics"); + _endpoints[2192] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/hostingEnvironments/{name}/multiRolePools/default/skus"); + _endpoints[2193] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/hostingEnvironments/{name}/multiRolePools/default/usages"); + _endpoints[2194] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/config/appsettings/list"); + _endpoints[2195] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/config/authsettings/list"); + _endpoints[2196] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/config/backup/list"); + _endpoints[2197] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/config/connectionstrings/list"); + _endpoints[2198] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/config/metadata/list"); + _endpoints[2199] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/config/publishingcredentials/list"); + _endpoints[2200] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/config/pushsettings/list"); + _endpoints[2201] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/config/web/snapshots"); + _endpoints[2202] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/containerlogs/zip/download"); + _endpoints[2203] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/extensions/MSDeploy/log"); + _endpoints[2204] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/functions/admin/token"); + _endpoints[2205] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/tenant/access/git/regeneratePrimaryKey"); + _endpoints[2206] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/tenant/access/git/regenerateSecondaryKey"); + _endpoints[2207] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.OperationalInsights/workspaces/{workspaceName}/features/serviceMap/summaries/machines"); + _endpoints[2208] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.OperationalInsights/workspaces/{workspaceName}/features/serviceMap/clientGroups/{clientGroupName}"); + _endpoints[2209] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.OperationalInsights/workspaces/{workspaceName}/features/serviceMap/machineGroups/{machineGroupName}"); + _endpoints[2210] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.OperationalInsights/workspaces/{workspaceName}/features/serviceMap/machines/{machineName}"); + _endpoints[2211] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Storage/storageAccounts/{accountName}/blobServices/default/containers/{containerName}"); + _endpoints[2212] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/config/web/snapshots/{snapshotId}"); + _endpoints[2213] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.OperationalInsights/workspaces/{workspaceName}/features/serviceMap/clientGroups/{clientGroupName}/members"); + _endpoints[2214] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.OperationalInsights/workspaces/{workspaceName}/features/serviceMap/clientGroups/{clientGroupName}/membersCount"); + _endpoints[2215] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.OperationalInsights/workspaces/{workspaceName}/features/serviceMap/machines/{machineName}/connections"); + _endpoints[2216] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.OperationalInsights/workspaces/{workspaceName}/features/serviceMap/machines/{machineName}/liveness"); + _endpoints[2217] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.OperationalInsights/workspaces/{workspaceName}/features/serviceMap/machines/{machineName}/machineGroups"); + _endpoints[2218] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.OperationalInsights/workspaces/{workspaceName}/features/serviceMap/machines/{machineName}/ports"); + _endpoints[2219] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.OperationalInsights/workspaces/{workspaceName}/features/serviceMap/machines/{machineName}/processes"); + _endpoints[2220] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Storage/storageAccounts/{accountName}/blobServices/default/containers/{containerName}/clearLegalHold"); + _endpoints[2221] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Storage/storageAccounts/{accountName}/blobServices/default/containers/{containerName}/setLegalHold"); + _endpoints[2222] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/hostingEnvironments/{name}/multiRolePools/default/instances/{instance}/metricdefinitions"); + _endpoints[2223] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/hostingEnvironments/{name}/multiRolePools/default/instances/{instance}/metrics"); + _endpoints[2224] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/config/web/snapshots/{snapshotId}/recover"); + _endpoints[2225] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Storage/storageAccounts/{accountName}/blobServices/default/containers/{containerName}/immutabilityPolicies/default/extend"); + _endpoints[2226] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Storage/storageAccounts/{accountName}/blobServices/default/containers/{containerName}/immutabilityPolicies/default/lock"); + _endpoints[2227] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.OperationalInsights/workspaces/{workspaceName}/features/serviceMap/machines/{machineName}/ports/{portName}"); + _endpoints[2228] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.OperationalInsights/workspaces/{workspaceName}/features/serviceMap/machines/{machineName}/processes/{processName}"); + _endpoints[2229] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Storage/storageAccounts/{accountName}/blobServices/default/containers/{containerName}/immutabilityPolicies/{immutabilityPolicyName}"); + _endpoints[2230] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.OperationalInsights/workspaces/{workspaceName}/features/serviceMap/machines/{machineName}/ports/{portName}/acceptingProcesses"); + _endpoints[2231] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.OperationalInsights/workspaces/{workspaceName}/features/serviceMap/machines/{machineName}/ports/{portName}/connections"); + _endpoints[2232] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.OperationalInsights/workspaces/{workspaceName}/features/serviceMap/machines/{machineName}/ports/{portName}/liveness"); + _endpoints[2233] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.OperationalInsights/workspaces/{workspaceName}/features/serviceMap/machines/{machineName}/processes/{processName}/acceptingPorts"); + _endpoints[2234] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.OperationalInsights/workspaces/{workspaceName}/features/serviceMap/machines/{machineName}/processes/{processName}/connections"); + _endpoints[2235] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.OperationalInsights/workspaces/{workspaceName}/features/serviceMap/machines/{machineName}/processes/{processName}/liveness"); + _endpoints[2236] = CreateEndpoint("/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupJobs/operationResults/{operationId}"); + _endpoints[2237] = CreateEndpoint("/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.Storage.Admin/farms/{farmId}/shares/operationresults/{operationId}"); + _endpoints[2238] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroup/{resourceGroupName}/providers/Microsoft.MachineLearningServices/workspaces/{workspaceName}/computes/{computeName}"); + _endpoints[2239] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{groupName}/providers/Microsoft.DataMigration/services/{serviceName}/projects/{projectName}"); + _endpoints[2240] = CreateEndpoint("/subscriptions/{subscriptionId}/resourcegroups/{resourceGroup}/providers/Microsoft.AzureBridge.Admin/activations/{activationName}/downloadedProducts/{productName}"); + _endpoints[2241] = CreateEndpoint("/subscriptions/{subscriptionId}/resourcegroups/{resourceGroup}/providers/Microsoft.AzureBridge.Admin/activations/{activationName}/products/{productName}"); + _endpoints[2242] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroup}/providers/Microsoft.AzureStack/registrations/{registrationName}/customerSubscriptions/{customerSubscriptionName}"); + _endpoints[2243] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroup}/providers/Microsoft.AzureStack/registrations/{registrationName}/products/{productName}"); + _endpoints[2244] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/apis/{apiId}"); + _endpoints[2245] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/api-version-sets/{versionSetId}"); + _endpoints[2246] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/authorizationServers/{authsid}"); + _endpoints[2247] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/backends/{backendid}"); + _endpoints[2248] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/certificates/{certificateId}"); + _endpoints[2249] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/diagnostics/{diagnosticId}"); + _endpoints[2250] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/groups/{groupId}"); + _endpoints[2251] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/identityProviders/{identityProviderName}"); + _endpoints[2252] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/loggers/{loggerid}"); + _endpoints[2253] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/notifications/{notificationName}"); + _endpoints[2254] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/openidConnectProviders/{opid}"); + _endpoints[2255] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/policies/{policyId}"); + _endpoints[2256] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/products/{productId}"); + _endpoints[2257] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/properties/{propId}"); + _endpoints[2258] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/quotas/{quotaCounterKey}"); + _endpoints[2259] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/reports/{aggregation}"); + _endpoints[2260] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/subscriptions/{sid}"); + _endpoints[2261] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/tags/{tagId}"); + _endpoints[2262] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/templates/{templateName}"); + _endpoints[2263] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/tenant/{accessName}"); + _endpoints[2264] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/users/{uid}"); + _endpoints[2265] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Automation/automationAccounts/{automationAccountName}/certificates/{certificateName}"); + _endpoints[2266] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Automation/automationAccounts/{automationAccountName}/compilationjobs/{compilationJobName}"); + _endpoints[2267] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Automation/automationAccounts/{automationAccountName}/configurations/{configurationName}"); + _endpoints[2268] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Automation/automationAccounts/{automationAccountName}/connections/{connectionName}"); + _endpoints[2269] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Automation/automationAccounts/{automationAccountName}/connectionTypes/{connectionTypeName}"); + _endpoints[2270] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Automation/automationAccounts/{automationAccountName}/credentials/{credentialName}"); + _endpoints[2271] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Automation/automationAccounts/{automationAccountName}/hybridRunbookWorkerGroups/{hybridRunbookWorkerGroupName}"); + _endpoints[2272] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Automation/automationAccounts/{automationAccountName}/jobs/{jobId}"); + _endpoints[2273] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Automation/automationAccounts/{automationAccountName}/jobSchedules/{jobScheduleId}"); + _endpoints[2274] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Automation/automationAccounts/{automationAccountName}/modules/{moduleName}"); + _endpoints[2275] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Automation/automationAccounts/{automationAccountName}/nodeConfigurations/{nodeConfigurationName}"); + _endpoints[2276] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Automation/automationAccounts/{automationAccountName}/nodecounts/{countType}"); + _endpoints[2277] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Automation/automationAccounts/{automationAccountName}/nodes/{nodeId}"); + _endpoints[2278] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Automation/automationAccounts/{automationAccountName}/runbooks/{runbookName}"); + _endpoints[2279] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Automation/automationAccounts/{automationAccountName}/schedules/{scheduleName}"); + _endpoints[2280] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Automation/automationAccounts/{automationAccountName}/softwareUpdateConfigurationMachineRuns/{softwareUpdateConfigurationMachineRunId}"); + _endpoints[2281] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Automation/automationAccounts/{automationAccountName}/softwareUpdateConfigurationRuns/{softwareUpdateConfigurationRunId}"); + _endpoints[2282] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Automation/automationAccounts/{automationAccountName}/softwareUpdateConfigurations/{softwareUpdateConfigurationName}"); + _endpoints[2283] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Automation/automationAccounts/{automationAccountName}/sourceControls/{sourceControlName}"); + _endpoints[2284] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Automation/automationAccounts/{automationAccountName}/variables/{variableName}"); + _endpoints[2285] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Automation/automationAccounts/{automationAccountName}/watchers/{watcherName}"); + _endpoints[2286] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Automation/automationAccounts/{automationAccountName}/webhooks/{webhookName}"); + _endpoints[2287] = CreateEndpoint("/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.Backup.Admin/backupLocations/{location}/backups/{backup}"); + _endpoints[2288] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Batch/batchAccounts/{accountName}/applications/{applicationId}"); + _endpoints[2289] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Batch/batchAccounts/{accountName}/certificates/{certificateName}"); + _endpoints[2290] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Batch/batchAccounts/{accountName}/pools/{poolName}"); + _endpoints[2291] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.BatchAI/workspaces/{workspaceName}/clusters/{clusterName}"); + _endpoints[2292] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.BatchAI/workspaces/{workspaceName}/experiments/{experimentName}"); + _endpoints[2293] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.BatchAI/workspaces/{workspaceName}/fileServers/{fileServerName}"); + _endpoints[2294] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.BotService/botServices/{resourceName}/channels/{channelName}"); + _endpoints[2295] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.BotService/botServices/{resourceName}/Connections/{connectionName}"); + _endpoints[2296] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Cache/Redis/{cacheName}/firewallRules/{ruleName}"); + _endpoints[2297] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Cache/Redis/{name}/linkedServers/{linkedServerName}"); + _endpoints[2298] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Cache/Redis/{name}/patchSchedules/{default}"); + _endpoints[2299] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Cdn/profiles/{profileName}/endpoints/{endpointName}"); + _endpoints[2300] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.CertificateRegistration/certificateOrders/{certificateOrderName}/certificates/{name}"); + _endpoints[2301] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/galleries/{galleryName}/images/{galleryImageName}"); + _endpoints[2302] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/virtualMachines/{vmName}/extensions/{vmExtensionName}"); + _endpoints[2303] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/virtualMachineScaleSets/{vmScaleSetName}/extensions/{vmssExtensionName}"); + _endpoints[2304] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/virtualMachineScaleSets/{vmScaleSetName}/virtualmachines/{instanceId}"); + _endpoints[2305] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerRegistry/registries/{registryName}/builds/{buildId}"); + _endpoints[2306] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerRegistry/registries/{registryName}/buildTasks/{buildTaskName}"); + _endpoints[2307] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerRegistry/registries/{registryName}/replications/{replicationName}"); + _endpoints[2308] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerRegistry/registries/{registryName}/webhooks/{webhookName}"); + _endpoints[2309] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}/accessProfiles/{roleName}"); + _endpoints[2310] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.CustomerInsights/hubs/{hubName}/authorizationPolicies/{authorizationPolicyName}"); + _endpoints[2311] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.CustomerInsights/hubs/{hubName}/connectors/{connectorName}"); + _endpoints[2312] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.CustomerInsights/hubs/{hubName}/interactions/{interactionName}"); + _endpoints[2313] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.CustomerInsights/hubs/{hubName}/kpi/{kpiName}"); + _endpoints[2314] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.CustomerInsights/hubs/{hubName}/links/{linkName}"); + _endpoints[2315] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.CustomerInsights/hubs/{hubName}/predictions/{predictionName}"); + _endpoints[2316] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.CustomerInsights/hubs/{hubName}/profiles/{profileName}"); + _endpoints[2317] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.CustomerInsights/hubs/{hubName}/relationshipLinks/{relationshipLinkName}"); + _endpoints[2318] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.CustomerInsights/hubs/{hubName}/relationships/{relationshipName}"); + _endpoints[2319] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.CustomerInsights/hubs/{hubName}/roleAssignments/{assignmentName}"); + _endpoints[2320] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.CustomerInsights/hubs/{hubName}/views/{viewName}"); + _endpoints[2321] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.CustomerInsights/hubs/{hubName}/widgetTypes/{widgetTypeName}"); + _endpoints[2322] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataFactory/factories/{factoryName}/cancelpipelinerun/{runId}"); + _endpoints[2323] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataFactory/factories/{factoryName}/datasets/{datasetName}"); + _endpoints[2324] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataFactory/factories/{factoryName}/integrationRuntimes/{integrationRuntimeName}"); + _endpoints[2325] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataFactory/factories/{factoryName}/linkedservices/{linkedServiceName}"); + _endpoints[2326] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataFactory/factories/{factoryName}/pipelineruns/{runId}"); + _endpoints[2327] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataFactory/factories/{factoryName}/pipelines/{pipelineName}"); + _endpoints[2328] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataFactory/factories/{factoryName}/triggers/{triggerName}"); + _endpoints[2329] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataLakeAnalytics/accounts/{accountName}/computePolicies/{computePolicyName}"); + _endpoints[2330] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataLakeAnalytics/accounts/{accountName}/dataLakeStoreAccounts/{dataLakeStoreAccountName}"); + _endpoints[2331] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataLakeAnalytics/accounts/{accountName}/firewallRules/{firewallRuleName}"); + _endpoints[2332] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataLakeAnalytics/accounts/{accountName}/storageAccounts/{storageAccountName}"); + _endpoints[2333] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataLakeStore/accounts/{accountName}/firewallRules/{firewallRuleName}"); + _endpoints[2334] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataLakeStore/accounts/{accountName}/trustedIdProviders/{trustedIdProviderName}"); + _endpoints[2335] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataLakeStore/accounts/{accountName}/virtualNetworkRules/{virtualNetworkRuleName}"); + _endpoints[2336] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBforMySQL/servers/{serverName}/configurations/{configurationName}"); + _endpoints[2337] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBforMySQL/servers/{serverName}/databases/{databaseName}"); + _endpoints[2338] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBforMySQL/servers/{serverName}/firewallRules/{firewallRuleName}"); + _endpoints[2339] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBforMySQL/servers/{serverName}/virtualNetworkRules/{virtualNetworkRuleName}"); + _endpoints[2340] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBforPostgreSQL/servers/{serverName}/configurations/{configurationName}"); + _endpoints[2341] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBforPostgreSQL/servers/{serverName}/databases/{databaseName}"); + _endpoints[2342] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBforPostgreSQL/servers/{serverName}/firewallRules/{firewallRuleName}"); + _endpoints[2343] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBforPostgreSQL/servers/{serverName}/securityAlertPolicies/{securityAlertPolicyName}"); + _endpoints[2344] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBforPostgreSQL/servers/{serverName}/virtualNetworkRules/{virtualNetworkRuleName}"); + _endpoints[2345] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Devices/IotHubs/{resourceName}/certificates/{certificateName}"); + _endpoints[2346] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Devices/IotHubs/{resourceName}/jobs/{jobId}"); + _endpoints[2347] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Devices/provisioningServices/{provisioningServiceName}/certificates/{certificateName}"); + _endpoints[2348] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Devices/provisioningServices/{provisioningServiceName}/operationresults/{operationId}"); + _endpoints[2349] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DevTestLab/labs/{labName}/artifactsources/{name}"); + _endpoints[2350] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DevTestLab/labs/{labName}/costinsights/{name}"); + _endpoints[2351] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DevTestLab/labs/{labName}/costs/{name}"); + _endpoints[2352] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DevTestLab/labs/{labName}/customimages/{name}"); + _endpoints[2353] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DevTestLab/labs/{labName}/formulas/{name}"); + _endpoints[2354] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DevTestLab/labs/{labName}/notificationchannels/{name}"); + _endpoints[2355] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DevTestLab/labs/{labName}/schedules/{name}"); + _endpoints[2356] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DevTestLab/labs/{labName}/servicerunners/{name}"); + _endpoints[2357] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DevTestLab/labs/{labName}/users/{name}"); + _endpoints[2358] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DevTestLab/labs/{labName}/virtualmachines/{name}"); + _endpoints[2359] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DevTestLab/labs/{labName}/virtualnetworks/{name}"); + _endpoints[2360] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DomainRegistration/domains/{domainName}/domainOwnershipIdentifiers/{name}"); + _endpoints[2361] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DomainRegistration/domains/{domainName}/operationresults/{operationId}"); + _endpoints[2362] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.EventHub/namespaces/{namespaceName}/AuthorizationRules/{authorizationRuleName}"); + _endpoints[2363] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.EventHub/namespaces/{namespaceName}/disasterRecoveryConfigs/{alias}"); + _endpoints[2364] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.EventHub/namespaces/{namespaceName}/eventhubs/{eventHubName}"); + _endpoints[2365] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Fabric.Admin/fabricLocations/{location}/edgeGatewayPools/{edgeGatewayPool}"); + _endpoints[2366] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Fabric.Admin/fabricLocations/{location}/edgeGateways/{edgeGateway}"); + _endpoints[2367] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Fabric.Admin/fabricLocations/{location}/fileShares/{fileShare}"); + _endpoints[2368] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Fabric.Admin/fabricLocations/{location}/infraRoleInstances/{infraRoleInstance}"); + _endpoints[2369] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Fabric.Admin/fabricLocations/{location}/infraRoles/{infraRole}"); + _endpoints[2370] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Fabric.Admin/fabricLocations/{location}/ipPools/{ipPool}"); + _endpoints[2371] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Fabric.Admin/fabricLocations/{location}/logicalNetworks/{logicalNetwork}"); + _endpoints[2372] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Fabric.Admin/fabricLocations/{location}/macAddressPools/{macAddressPool}"); + _endpoints[2373] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Fabric.Admin/fabricLocations/{location}/scaleUnitNodes/{scaleUnitNode}"); + _endpoints[2374] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Fabric.Admin/fabricLocations/{location}/scaleUnits/{scaleUnit}"); + _endpoints[2375] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Fabric.Admin/fabricLocations/{location}/slbMuxInstances/{slbMuxInstance}"); + _endpoints[2376] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Fabric.Admin/fabricLocations/{location}/storageSubSystems/{storageSubSystem}"); + _endpoints[2377] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.HDInsight/clusters/{clusterName}/applications/{applicationName}"); + _endpoints[2378] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.HDInsight/clusters/{clusterName}/configurations/{configurationName}"); + _endpoints[2379] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.HDInsight/clusters/{clusterName}/extensions/{extensionName}"); + _endpoints[2380] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.HDInsight/clusters/{clusterName}/scriptActions/{scriptName}"); + _endpoints[2381] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.HDInsight/clusters/{clusterName}/scriptExecutionHistory/{scriptExecutionId}"); + _endpoints[2382] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.InfrastructureInsights.Admin/regionHealths/{location}/alerts/{alertName}"); + _endpoints[2383] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.InfrastructureInsights.Admin/regionHealths/{location}/serviceHealths/{serviceHealth}"); + _endpoints[2384] = CreateEndpoint("/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/microsoft.insights/alertrules/{ruleName}/incidents/{incidentName}"); + _endpoints[2385] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Insights/components/{resourceName}/Annotations/{annotationId}"); + _endpoints[2386] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Insights/components/{resourceName}/APIKeys/{keyId}"); + _endpoints[2387] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Insights/components/{resourceName}/exportconfiguration/{exportId}"); + _endpoints[2388] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Insights/components/{resourceName}/favorites/{favoriteId}"); + _endpoints[2389] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Insights/components/{resourceName}/ProactiveDetectionConfigs/{ConfigurationId}"); + _endpoints[2390] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Insights/components/{resourceName}/WorkItemConfigs/{workItemConfigId}"); + _endpoints[2391] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Insights/metricAlerts/{ruleName}/status/{statusName}"); + _endpoints[2392] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.KeyVault/vaults/{vaultName}/accessPolicies/{operationKind}"); + _endpoints[2393] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.KeyVault/vaults/{vaultName}/secrets/{secretName}"); + _endpoints[2394] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Logic/integrationAccounts/{integrationAccountName}/agreements/{agreementName}"); + _endpoints[2395] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Logic/integrationAccounts/{integrationAccountName}/assemblies/{assemblyArtifactName}"); + _endpoints[2396] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Logic/integrationAccounts/{integrationAccountName}/batchConfigurations/{batchConfigurationName}"); + _endpoints[2397] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Logic/integrationAccounts/{integrationAccountName}/certificates/{certificateName}"); + _endpoints[2398] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Logic/integrationAccounts/{integrationAccountName}/maps/{mapName}"); + _endpoints[2399] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Logic/integrationAccounts/{integrationAccountName}/partners/{partnerName}"); + _endpoints[2400] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Logic/integrationAccounts/{integrationAccountName}/schemas/{schemaName}"); + _endpoints[2401] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Logic/integrationAccounts/{integrationAccountName}/sessions/{sessionName}"); + _endpoints[2402] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Logic/workflows/{workflowName}/accessKeys/{accessKeyName}"); + _endpoints[2403] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Logic/workflows/{workflowName}/runs/{runName}"); + _endpoints[2404] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Logic/workflows/{workflowName}/triggers/{triggerName}"); + _endpoints[2405] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Logic/workflows/{workflowName}/versions/{versionId}"); + _endpoints[2406] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.MachineLearning/commitmentPlans/{commitmentPlanName}/commitmentAssociations/{commitmentAssociationName}"); + _endpoints[2407] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.MachineLearningExperimentation/accounts/{accountName}/workspaces/{workspaceName}"); + _endpoints[2408] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Media/mediaServices/{accountName}/assets/{assetName}"); + _endpoints[2409] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Media/mediaServices/{accountName}/contentKeyPolicies/{contentKeyPolicyName}"); + _endpoints[2410] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Media/mediaservices/{accountName}/liveEvents/{liveEventName}"); + _endpoints[2411] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Media/mediaservices/{accountName}/streamingEndpoints/{streamingEndpointName}"); + _endpoints[2412] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Media/mediaServices/{accountName}/streamingLocators/{streamingLocatorName}"); + _endpoints[2413] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Media/mediaServices/{accountName}/streamingPolicies/{streamingPolicyName}"); + _endpoints[2414] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Media/mediaServices/{accountName}/transforms/{transformName}"); + _endpoints[2415] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Migrate/projects/{projectName}/groups/{groupName}"); + _endpoints[2416] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Migrate/projects/{projectName}/machines/{machineName}"); + _endpoints[2417] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/expressRouteCircuits/{circuitName}/authorizations/{authorizationName}"); + _endpoints[2418] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/expressRouteCircuits/{circuitName}/peerings/{peeringName}"); + _endpoints[2419] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/expressRouteCrossConnections/{crossConnectionName}/peerings/{peeringName}"); + _endpoints[2420] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/loadBalancers/{loadBalancerName}/backendAddressPools/{backendAddressPoolName}"); + _endpoints[2421] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/loadBalancers/{loadBalancerName}/frontendIPConfigurations/{frontendIPConfigurationName}"); + _endpoints[2422] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/loadBalancers/{loadBalancerName}/inboundNatRules/{inboundNatRuleName}"); + _endpoints[2423] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/loadBalancers/{loadBalancerName}/loadBalancingRules/{loadBalancingRuleName}"); + _endpoints[2424] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/loadBalancers/{loadBalancerName}/probes/{probeName}"); + _endpoints[2425] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkInterfaces/{networkInterfaceName}/ipConfigurations/{ipConfigurationName}"); + _endpoints[2426] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkSecurityGroups/{networkSecurityGroupName}/defaultSecurityRules/{defaultSecurityRuleName}"); + _endpoints[2427] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkSecurityGroups/{networkSecurityGroupName}/securityRules/{securityRuleName}"); + _endpoints[2428] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkWatchers/{networkWatcherName}/connectionMonitors/{connectionMonitorName}"); + _endpoints[2429] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkWatchers/{networkWatcherName}/packetCaptures/{packetCaptureName}"); + _endpoints[2430] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/routeFilters/{routeFilterName}/routeFilterRules/{ruleName}"); + _endpoints[2431] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/routeTables/{routeTableName}/routes/{routeName}"); + _endpoints[2432] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/trafficmanagerprofiles/{profileName}/heatMaps/{heatMapType}"); + _endpoints[2433] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworks/{virtualNetworkName}/subnets/{subnetName}"); + _endpoints[2434] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworks/{virtualNetworkName}/virtualNetworkPeerings/{virtualNetworkPeeringName}"); + _endpoints[2435] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.NotificationHubs/namespaces/{namespaceName}/AuthorizationRules/{authorizationRuleName}"); + _endpoints[2436] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.NotificationHubs/namespaces/{namespaceName}/notificationHubs/{notificationHubName}"); + _endpoints[2437] = CreateEndpoint("/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.OperationalInsights/workspaces/{workspaceName}/dataSources/{dataSourceName}"); + _endpoints[2438] = CreateEndpoint("/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.OperationalInsights/workspaces/{workspaceName}/linkedServices/{linkedServiceName}"); + _endpoints[2439] = CreateEndpoint("/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.OperationalInsights/workspaces/{workspaceName}/savedSearches/{savedSearchName}"); + _endpoints[2440] = CreateEndpoint("/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.OperationalInsights/workspaces/{workspaceName}/search/{id}"); + _endpoints[2441] = CreateEndpoint("/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.OperationalInsights/workspaces/{workspaceName}/storageInsightConfigs/{storageInsightName}"); + _endpoints[2442] = CreateEndpoint("/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationAlertSettings/{alertSettingName}"); + _endpoints[2443] = CreateEndpoint("/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationEvents/{eventName}"); + _endpoints[2444] = CreateEndpoint("/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationFabrics/{fabricName}"); + _endpoints[2445] = CreateEndpoint("/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationJobs/{jobName}"); + _endpoints[2446] = CreateEndpoint("/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationPolicies/{policyName}"); + _endpoints[2447] = CreateEndpoint("/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationRecoveryPlans/{recoveryPlanName}"); + _endpoints[2448] = CreateEndpoint("/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupEngines/{backupEngineName}"); + _endpoints[2449] = CreateEndpoint("/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupJobs/{jobName}"); + _endpoints[2450] = CreateEndpoint("/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupOperationResults/{operationId}"); + _endpoints[2451] = CreateEndpoint("/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupOperations/{operationId}"); + _endpoints[2452] = CreateEndpoint("/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupPolicies/{policyName}"); + _endpoints[2453] = CreateEndpoint("/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/certificates/{certificateName}"); + _endpoints[2454] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/registeredIdentities/{identityName}"); + _endpoints[2455] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Relay/namespaces/{namespaceName}/authorizationRules/{authorizationRuleName}"); + _endpoints[2456] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Relay/namespaces/{namespaceName}/hybridConnections/{hybridConnectionName}"); + _endpoints[2457] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Relay/namespaces/{namespaceName}/wcfRelays/{relayName}"); + _endpoints[2458] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Scheduler/jobCollections/{jobCollectionName}/jobs/{jobName}"); + _endpoints[2459] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Search/searchServices/{searchServiceName}/createQueryKey/{name}"); + _endpoints[2460] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Search/searchServices/{searchServiceName}/deleteQueryKey/{key}"); + _endpoints[2461] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Search/searchServices/{searchServiceName}/regenerateAdminKey/{keyKind}"); + _endpoints[2462] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Security/locations/{ascLocation}/alerts/{alertName}"); + _endpoints[2463] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Security/locations/{ascLocation}/discoveredSecuritySolutions/{discoveredSecuritySolutionName}"); + _endpoints[2464] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Security/locations/{ascLocation}/ExternalSecuritySolutions/{externalSecuritySolutionsName}"); + _endpoints[2465] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Security/locations/{ascLocation}/jitNetworkAccessPolicies/{jitNetworkAccessPolicyName}"); + _endpoints[2466] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Security/locations/{ascLocation}/tasks/{taskName}"); + _endpoints[2467] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ServerManagement/nodes/{nodeName}/sessions/{session}"); + _endpoints[2468] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ServiceBus/namespaces/{namespaceName}/AuthorizationRules/{authorizationRuleName}"); + _endpoints[2469] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ServiceBus/namespaces/{namespaceName}/disasterRecoveryConfigs/{alias}"); + _endpoints[2470] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ServiceBus/namespaces/{namespaceName}/migrationConfigurations/{configName}"); + _endpoints[2471] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ServiceBus/namespaces/{namespaceName}/queues/{queueName}"); + _endpoints[2472] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ServiceBus/namespaces/{namespaceName}/topics/{topicName}"); + _endpoints[2473] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ServiceFabric/clusters/{clusterName}/applications/{applicationName}"); + _endpoints[2474] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ServiceFabric/clusters/{clusterName}/applicationTypes/{applicationTypeName}"); + _endpoints[2475] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/locations/{locationName}/instanceFailoverGroups/{failoverGroupName}"); + _endpoints[2476] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/managedInstances/{managedInstanceName}/databases/{databaseName}"); + _endpoints[2477] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/administrators/{administratorName}"); + _endpoints[2478] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/advisors/{advisorName}"); + _endpoints[2479] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/auditingPolicies/{tableAuditingPolicyName}"); + _endpoints[2480] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/backupLongTermRetentionVaults/{backupLongTermRetentionVaultName}"); + _endpoints[2481] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/communicationLinks/{communicationLinkName}"); + _endpoints[2482] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/connectionPolicies/{connectionPolicyName}"); + _endpoints[2483] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/databases/{databaseName}"); + _endpoints[2484] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/disasterRecoveryConfiguration/{disasterRecoveryConfigurationName}"); + _endpoints[2485] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/dnsAliases/{dnsAliasName}"); + _endpoints[2486] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/elasticPools/{elasticPoolName}"); + _endpoints[2487] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/encryptionProtector/{encryptionProtectorName}"); + _endpoints[2488] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/failoverGroups/{failoverGroupName}"); + _endpoints[2489] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/firewallRules/{firewallRuleName}"); + _endpoints[2490] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/jobAgents/{jobAgentName}"); + _endpoints[2491] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/keys/{keyName}"); + _endpoints[2492] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/recommendedElasticPools/{recommendedElasticPoolName}"); + _endpoints[2493] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/recoverableDatabases/{databaseName}"); + _endpoints[2494] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/restorableDroppedDatabases/{restorableDroppededDatabaseId}"); + _endpoints[2495] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/serviceObjectives/{serviceObjectiveName}"); + _endpoints[2496] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/syncAgents/{syncAgentName}"); + _endpoints[2497] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/virtualNetworkRules/{virtualNetworkRuleName}"); + _endpoints[2498] = CreateEndpoint("/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.Storage.Admin/farms/{farmId}/blobservices/{serviceType}"); + _endpoints[2499] = CreateEndpoint("/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.Storage.Admin/farms/{farmId}/operationresults/{operationId}"); + _endpoints[2500] = CreateEndpoint("/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.Storage.Admin/farms/{farmId}/queueservices/{serviceType}"); + _endpoints[2501] = CreateEndpoint("/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.Storage.Admin/farms/{farmId}/shares/{shareName}"); + _endpoints[2502] = CreateEndpoint("/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.Storage.Admin/farms/{farmId}/storageaccounts/{accountId}"); + _endpoints[2503] = CreateEndpoint("/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.Storage.Admin/farms/{farmId}/tableservices/{serviceType}"); + _endpoints[2504] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Storage/storageAccounts/{accountName}/managementPolicies/{managementPolicyName}"); + _endpoints[2505] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.StorSimple/managers/{managerName}/accessControlRecords/{accessControlRecordName}"); + _endpoints[2506] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.StorSimple/managers/{managerName}/bandwidthSettings/{bandwidthSettingName}"); + _endpoints[2507] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.StorSimple/managers/{managerName}/devices/{deviceName}"); + _endpoints[2508] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.StorSimple/managers/{managerName}/storageAccountCredentials/{storageAccountCredentialName}"); + _endpoints[2509] = CreateEndpoint("/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.StreamAnalytics/streamingjobs/{jobName}/functions/{functionName}"); + _endpoints[2510] = CreateEndpoint("/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.StreamAnalytics/streamingjobs/{jobName}/inputs/{inputName}"); + _endpoints[2511] = CreateEndpoint("/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.StreamAnalytics/streamingjobs/{jobName}/outputs/{outputName}"); + _endpoints[2512] = CreateEndpoint("/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.StreamAnalytics/streamingjobs/{jobName}/transformations/{transformationName}"); + _endpoints[2513] = CreateEndpoint("/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.Subscriptions.Admin/offers/{offer}/offerDelegations/{offerDelegationName}"); + _endpoints[2514] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.TimeSeriesInsights/environments/{environmentName}/accessPolicies/{accessPolicyName}"); + _endpoints[2515] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.TimeSeriesInsights/environments/{environmentName}/eventSources/{eventSourceName}"); + _endpoints[2516] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.TimeSeriesInsights/environments/{environmentName}/referenceDataSets/{referenceDataSetName}"); + _endpoints[2517] = CreateEndpoint("/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.Update.Admin/updateLocations/{updateLocation}/updates/{updateName}"); + _endpoints[2518] = CreateEndpoint("/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/microsoft.visualstudio/account/{accountResourceName}/extension/{extensionResourceName}"); + _endpoints[2519] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/microsoft.visualstudio/account/{rootResourceName}/project/{resourceName}"); + _endpoints[2520] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/hostingEnvironments/{name}/detectors/{detectorName}"); + _endpoints[2521] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/hostingEnvironments/{name}/diagnostics/{diagnosticsName}"); + _endpoints[2522] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/hostingEnvironments/{name}/operations/{operationId}"); + _endpoints[2523] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/hostingEnvironments/{name}/workerPools/{workerPoolName}"); + _endpoints[2524] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/managedHostingEnvironments/{name}/operations/{operationId}"); + _endpoints[2525] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/serverfarms/{name}/operationresults/{operationId}"); + _endpoints[2526] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/serverfarms/{name}/virtualNetworkConnections/{vnetName}"); + _endpoints[2527] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/backups/{backupId}"); + _endpoints[2528] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/continuouswebjobs/{webJobName}"); + _endpoints[2529] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/deployments/{id}"); + _endpoints[2530] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/domainOwnershipIdentifiers/{domainOwnershipIdentifierName}"); + _endpoints[2531] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/functions/{functionName}"); + _endpoints[2532] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/hostNameBindings/{hostName}"); + _endpoints[2533] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/hybridconnection/{entityName}"); + _endpoints[2534] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/networkFeatures/{view}"); + _endpoints[2535] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/operationresults/{operationId}"); + _endpoints[2536] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/premieraddons/{premierAddOnName}"); + _endpoints[2537] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/processes/{processId}"); + _endpoints[2538] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/publicCertificates/{publicCertificateName}"); + _endpoints[2539] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/siteextensions/{siteExtensionId}"); + _endpoints[2540] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}"); + _endpoints[2541] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/triggeredwebjobs/{webJobName}"); + _endpoints[2542] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/virtualNetworkConnections/{vnetName}"); + _endpoints[2543] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/webjobs/{webJobName}"); + _endpoints[2544] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{siteName}/detectors/{detectorName}"); + _endpoints[2545] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{siteName}/diagnostics/{diagnosticCategory}"); + _endpoints[2546] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{siteName}/recommendations/{name}"); + _endpoints[2547] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroup/{resourceGroupName}/providers/Microsoft.MachineLearningServices/workspaces/{workspaceName}/computes/{computeName}/listKeys"); + _endpoints[2548] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{groupName}/providers/Microsoft.DataMigration/services/{serviceName}/projects/{projectName}/tasks"); + _endpoints[2549] = CreateEndpoint("/subscriptions/{subscriptionId}/resourcegroups/{resourceGroup}/providers/Microsoft.AzureBridge.Admin/activations/{activationName}/products/{productName}/download"); + _endpoints[2550] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroup}/providers/Microsoft.AzureStack/registrations/{registrationName}/products/{productName}/listDetails"); + _endpoints[2551] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/apis/{apiId}/diagnostics"); + _endpoints[2552] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/apis/{apiId}/issues"); + _endpoints[2553] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/apis/{apiId}/operations"); + _endpoints[2554] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/apis/{apiId}/operationsByTags"); + _endpoints[2555] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/apis/{apiId}/policies"); + _endpoints[2556] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/apis/{apiId}/policy"); + _endpoints[2557] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/apis/{apiId}/products"); + _endpoints[2558] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/apis/{apiId}/releases"); + _endpoints[2559] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/apis/{apiId}/revisions"); + _endpoints[2560] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/apis/{apiId}/schemas"); + _endpoints[2561] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/apis/{apiId}/tagDescriptions"); + _endpoints[2562] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/apis/{apiId}/tags"); + _endpoints[2563] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/backends/{backendid}/reconnect"); + _endpoints[2564] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/diagnostics/{diagnosticId}/loggers"); + _endpoints[2565] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/groups/{groupId}/users"); + _endpoints[2566] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/locations/{locationName}/networkstatus"); + _endpoints[2567] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/notifications/{notificationName}/recipientEmails"); + _endpoints[2568] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/notifications/{notificationName}/recipientUsers"); + _endpoints[2569] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/products/{productId}/apis"); + _endpoints[2570] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/products/{productId}/groups"); + _endpoints[2571] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/products/{productId}/policies"); + _endpoints[2572] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/products/{productId}/policy"); + _endpoints[2573] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/products/{productId}/subscriptions"); + _endpoints[2574] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/products/{productId}/tags"); + _endpoints[2575] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/subscriptions/{sid}/regeneratePrimaryKey"); + _endpoints[2576] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/subscriptions/{sid}/regenerateSecondaryKey"); + _endpoints[2577] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/tenant/{accessName}/git"); + _endpoints[2578] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/tenant/{accessName}/regeneratePrimaryKey"); + _endpoints[2579] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/tenant/{accessName}/regenerateSecondaryKey"); + _endpoints[2580] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/tenant/{configurationName}/deploy"); + _endpoints[2581] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/tenant/{configurationName}/save"); + _endpoints[2582] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/tenant/{configurationName}/syncState"); + _endpoints[2583] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/tenant/{configurationName}/validate"); + _endpoints[2584] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/users/{uid}/generateSsoUrl"); + _endpoints[2585] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/users/{uid}/groups"); + _endpoints[2586] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/users/{uid}/identities"); + _endpoints[2587] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/users/{uid}/subscriptions"); + _endpoints[2588] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/users/{uid}/token"); + _endpoints[2589] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Automation/automationAccounts/{automationAccountName}/compilationjobs/{jobId}/streams"); + _endpoints[2590] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Automation/automationAccounts/{automationAccountName}/configurations/{configurationName}/content"); + _endpoints[2591] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Automation/automationAccounts/{automationAccountName}/jobs/{jobId}/output"); + _endpoints[2592] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Automation/automationAccounts/{automationAccountName}/jobs/{jobId}/resume"); + _endpoints[2593] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Automation/automationAccounts/{automationAccountName}/jobs/{jobId}/runbookContent"); + _endpoints[2594] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Automation/automationAccounts/{automationAccountName}/jobs/{jobId}/stop"); + _endpoints[2595] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Automation/automationAccounts/{automationAccountName}/jobs/{jobId}/streams"); + _endpoints[2596] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Automation/automationAccounts/{automationAccountName}/jobs/{jobId}/suspend"); + _endpoints[2597] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Automation/automationAccounts/{automationAccountName}/modules/{moduleName}/activities"); + _endpoints[2598] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Automation/automationAccounts/{automationAccountName}/nodes/{nodeId}/reports"); + _endpoints[2599] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Automation/automationAccounts/{automationAccountName}/objectDataTypes/{typeName}/fields"); + _endpoints[2600] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Automation/automationAccounts/{automationAccountName}/runbooks/{runbookName}/content"); + _endpoints[2601] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Automation/automationAccounts/{automationAccountName}/runbooks/{runbookName}/draft"); + _endpoints[2602] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Automation/automationAccounts/{automationAccountName}/sourceControls/{sourceControlName}/sourceControlSyncJobs"); + _endpoints[2603] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Automation/automationAccounts/{automationAccountName}/watchers/{watcherName}/start"); + _endpoints[2604] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Automation/automationAccounts/{automationAccountName}/watchers/{watcherName}/stop"); + _endpoints[2605] = CreateEndpoint("/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.Backup.Admin/backupLocations/{location}/backups/{backup}/restore"); + _endpoints[2606] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Batch/batchAccounts/{accountName}/certificates/{certificateName}/cancelDelete"); + _endpoints[2607] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Batch/batchAccounts/{accountName}/pools/{poolName}/disableAutoScale"); + _endpoints[2608] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Batch/batchAccounts/{accountName}/pools/{poolName}/stopResize"); + _endpoints[2609] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.BatchAI/workspaces/{workspaceName}/clusters/{clusterName}/listRemoteLoginInformation"); + _endpoints[2610] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.BatchAI/workspaces/{workspaceName}/experiments/{experimentName}/jobs"); + _endpoints[2611] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.BotService/botServices/{resourceName}/channels/{channelName}/listChannelWithKeys"); + _endpoints[2612] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.BotService/botServices/{resourceName}/Connections/{connectionName}/listWithSecrets"); + _endpoints[2613] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Cdn/profiles/{profileName}/endpoints/{endpointName}/checkResourceUsage"); + _endpoints[2614] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Cdn/profiles/{profileName}/endpoints/{endpointName}/customDomains"); + _endpoints[2615] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Cdn/profiles/{profileName}/endpoints/{endpointName}/load"); + _endpoints[2616] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Cdn/profiles/{profileName}/endpoints/{endpointName}/origins"); + _endpoints[2617] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Cdn/profiles/{profileName}/endpoints/{endpointName}/purge"); + _endpoints[2618] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Cdn/profiles/{profileName}/endpoints/{endpointName}/start"); + _endpoints[2619] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Cdn/profiles/{profileName}/endpoints/{endpointName}/stop"); + _endpoints[2620] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Cdn/profiles/{profileName}/endpoints/{endpointName}/validateCustomDomain"); + _endpoints[2621] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/galleries/{galleryName}/images/{galleryImageName}/versions"); + _endpoints[2622] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/microsoft.Compute/virtualMachineScaleSets/{virtualMachineScaleSetName}/virtualMachines/{virtualmachineIndex}/networkInterfaces"); + _endpoints[2623] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/virtualMachineScaleSets/{vmScaleSetName}/virtualmachines/{instanceId}/deallocate"); + _endpoints[2624] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/virtualMachineScaleSets/{vmScaleSetName}/virtualmachines/{instanceId}/instanceView"); + _endpoints[2625] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/virtualMachineScaleSets/{vmScaleSetName}/virtualmachines/{instanceId}/performMaintenance"); + _endpoints[2626] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/virtualMachineScaleSets/{vmScaleSetName}/virtualmachines/{instanceId}/poweroff"); + _endpoints[2627] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/virtualMachineScaleSets/{vmScaleSetName}/virtualmachines/{instanceId}/redeploy"); + _endpoints[2628] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/virtualMachineScaleSets/{vmScaleSetName}/virtualmachines/{instanceId}/reimage"); + _endpoints[2629] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/virtualMachineScaleSets/{vmScaleSetName}/virtualmachines/{instanceId}/reimageall"); + _endpoints[2630] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/virtualMachineScaleSets/{vmScaleSetName}/virtualmachines/{instanceId}/restart"); + _endpoints[2631] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/virtualMachineScaleSets/{vmScaleSetName}/virtualmachines/{instanceId}/start"); + _endpoints[2632] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerInstance/containerGroups/{containerGroupName}/containers/{containerName}/exec"); + _endpoints[2633] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerInstance/containerGroups/{containerGroupName}/containers/{containerName}/logs"); + _endpoints[2634] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerRegistry/registries/{registryName}/builds/{buildId}/cancel"); + _endpoints[2635] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerRegistry/registries/{registryName}/builds/{buildId}/getLogLink"); + _endpoints[2636] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerRegistry/registries/{registryName}/buildTasks/{buildTaskName}/listSourceRepositoryProperties"); + _endpoints[2637] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerRegistry/registries/{registryName}/buildTasks/{buildTaskName}/steps"); + _endpoints[2638] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerRegistry/registries/{registryName}/webhooks/{webhookName}/getCallbackConfig"); + _endpoints[2639] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerRegistry/registries/{registryName}/webhooks/{webhookName}/listEvents"); + _endpoints[2640] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerRegistry/registries/{registryName}/webhooks/{webhookName}/ping"); + _endpoints[2641] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}/accessProfiles/{roleName}/listCredential"); + _endpoints[2642] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.CustomerInsights/hubs/{hubName}/authorizationPolicies/{authorizationPolicyName}/regeneratePrimaryKey"); + _endpoints[2643] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.CustomerInsights/hubs/{hubName}/authorizationPolicies/{authorizationPolicyName}/regenerateSecondaryKey"); + _endpoints[2644] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.CustomerInsights/hubs/{hubName}/connectors/{connectorName}/mappings"); + _endpoints[2645] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.CustomerInsights/hubs/{hubName}/interactions/{interactionName}/suggestRelationshipLinks"); + _endpoints[2646] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.CustomerInsights/hubs/{hubName}/kpi/{kpiName}/reprocess"); + _endpoints[2647] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.CustomerInsights/hubs/{hubName}/predictions/{predictionName}/getModelStatus"); + _endpoints[2648] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.CustomerInsights/hubs/{hubName}/predictions/{predictionName}/getTrainingResults"); + _endpoints[2649] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.CustomerInsights/hubs/{hubName}/predictions/{predictionName}/modelStatus"); + _endpoints[2650] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.CustomerInsights/hubs/{hubName}/profiles/{profileName}/getEnrichingKpis"); + _endpoints[2651] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataFactory/factories/{factoryName}/integrationRuntimes/{integrationRuntimeName}/getConnectionInfo"); + _endpoints[2652] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataFactory/factories/{factoryName}/integrationRuntimes/{integrationRuntimeName}/getStatus"); + _endpoints[2653] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataFactory/factories/{factoryName}/integrationRuntimes/{integrationRuntimeName}/listAuthKeys"); + _endpoints[2654] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataFactory/factories/{factoryName}/integrationRuntimes/{integrationRuntimeName}/monitoringData"); + _endpoints[2655] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataFactory/factories/{factoryName}/integrationRuntimes/{integrationRuntimeName}/regenerateAuthKey"); + _endpoints[2656] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataFactory/factories/{factoryName}/integrationRuntimes/{integrationRuntimeName}/removeNode"); + _endpoints[2657] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataFactory/factories/{factoryName}/integrationRuntimes/{integrationRuntimeName}/start"); + _endpoints[2658] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataFactory/factories/{factoryName}/integrationRuntimes/{integrationRuntimeName}/stop"); + _endpoints[2659] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataFactory/factories/{factoryName}/integrationRuntimes/{integrationRuntimeName}/syncCredentials"); + _endpoints[2660] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataFactory/factories/{factoryName}/integrationRuntimes/{integrationRuntimeName}/upgrade"); + _endpoints[2661] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataFactory/factories/{factoryName}/pipelineruns/{runId}/activityruns"); + _endpoints[2662] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataFactory/factories/{factoryName}/pipelines/{pipelineName}/createRun"); + _endpoints[2663] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataFactory/factories/{factoryName}/triggers/{triggerName}/start"); + _endpoints[2664] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataFactory/factories/{factoryName}/triggers/{triggerName}/stop"); + _endpoints[2665] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataFactory/factories/{factoryName}/triggers/{triggerName}/triggerruns"); + _endpoints[2666] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataLakeAnalytics/accounts/{accountName}/storageAccounts/{storageAccountName}/containers"); + _endpoints[2667] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Devices/IotHubs/{resourceName}/certificates/{certificateName}/generateVerificationCode"); + _endpoints[2668] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Devices/IotHubs/{resourceName}/certificates/{certificateName}/verify"); + _endpoints[2669] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Devices/IotHubs/{resourceName}/eventHubEndpoints/{eventHubEndpointName}/ConsumerGroups"); + _endpoints[2670] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Devices/IotHubs/{resourceName}/IotHubKeys/{keyName}/listkeys"); + _endpoints[2671] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Devices/provisioningServices/{provisioningServiceName}/certificates/{certificateName}/generateVerificationCode"); + _endpoints[2672] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Devices/provisioningServices/{provisioningServiceName}/certificates/{certificateName}/verify"); + _endpoints[2673] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Devices/provisioningServices/{provisioningServiceName}/keys/{keyName}/listkeys"); + _endpoints[2674] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DevTestLab/labs/{labName}/artifactsources/{artifactSourceName}/armtemplates"); + _endpoints[2675] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DevTestLab/labs/{labName}/artifactsources/{artifactSourceName}/artifacts"); + _endpoints[2676] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DevTestLab/labs/{labName}/costinsights/{name}/refreshData"); + _endpoints[2677] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DevTestLab/labs/{labName}/costs/{name}/refreshData"); + _endpoints[2678] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DevTestLab/labs/{labName}/notificationchannels/{name}/notify"); + _endpoints[2679] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DevTestLab/labs/{labName}/policysets/{name}/evaluatePolicies"); + _endpoints[2680] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DevTestLab/labs/{labName}/policysets/{policySetName}/policies"); + _endpoints[2681] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DevTestLab/labs/{labName}/schedules/{name}/execute"); + _endpoints[2682] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DevTestLab/labs/{labName}/schedules/{name}/listApplicable"); + _endpoints[2683] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DevTestLab/labs/{labName}/users/{userName}/disks"); + _endpoints[2684] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DevTestLab/labs/{labName}/users/{userName}/environments"); + _endpoints[2685] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DevTestLab/labs/{labName}/users/{userName}/secrets"); + _endpoints[2686] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DevTestLab/labs/{labName}/virtualmachines/{name}/addDataDisk"); + _endpoints[2687] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DevTestLab/labs/{labName}/virtualmachines/{name}/applyArtifacts"); + _endpoints[2688] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DevTestLab/labs/{labName}/virtualmachines/{name}/claim"); + _endpoints[2689] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DevTestLab/labs/{labName}/virtualmachines/{name}/detachDataDisk"); + _endpoints[2690] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DevTestLab/labs/{labName}/virtualmachines/{name}/listApplicableSchedules"); + _endpoints[2691] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DevTestLab/labs/{labName}/virtualmachines/{name}/start"); + _endpoints[2692] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DevTestLab/labs/{labName}/virtualmachines/{name}/stop"); + _endpoints[2693] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DevTestLab/labs/{labName}/virtualmachines/{virtualMachineName}/schedules"); + _endpoints[2694] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/databases/{databaseRid}/metricDefinitions"); + _endpoints[2695] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/databases/{databaseRid}/metrics"); + _endpoints[2696] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/databases/{databaseRid}/usages"); + _endpoints[2697] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/region/{region}/metrics"); + _endpoints[2698] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.EventGrid/locations/{location}/topicTypes/{topicTypeName}/eventSubscriptions"); + _endpoints[2699] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.EventHub/namespaces/{namespaceName}/AuthorizationRules/{authorizationRuleName}/listKeys"); + _endpoints[2700] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.EventHub/namespaces/{namespaceName}/AuthorizationRules/{authorizationRuleName}/regenerateKeys"); + _endpoints[2701] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.EventHub/namespaces/{namespaceName}/disasterRecoveryConfigs/{alias}/AuthorizationRules"); + _endpoints[2702] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.EventHub/namespaces/{namespaceName}/disasterRecoveryConfigs/{alias}/breakPairing"); + _endpoints[2703] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.EventHub/namespaces/{namespaceName}/disasterRecoveryConfigs/{alias}/failover"); + _endpoints[2704] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.EventHub/namespaces/{namespaceName}/eventhubs/{eventHubName}/authorizationRules"); + _endpoints[2705] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.EventHub/namespaces/{namespaceName}/eventhubs/{eventHubName}/consumergroups"); + _endpoints[2706] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Fabric.Admin/fabricLocations/{location}/infraRoleInstances/{infraRoleInstance}/PowerOff"); + _endpoints[2707] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Fabric.Admin/fabricLocations/{location}/infraRoleInstances/{infraRoleInstance}/PowerOn"); + _endpoints[2708] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Fabric.Admin/fabricLocations/{location}/infraRoleInstances/{infraRoleInstance}/Reboot"); + _endpoints[2709] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Fabric.Admin/fabricLocations/{location}/infraRoleInstances/{infraRoleInstance}/Shutdown"); + _endpoints[2710] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Fabric.Admin/fabricLocations/{location}/infraRoles/{infraRole}/Restart"); + _endpoints[2711] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Fabric.Admin/fabricLocations/{location}/logicalNetworks/{logicalNetwork}/logicalSubnets"); + _endpoints[2712] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Fabric.Admin/fabricLocations/{location}/scaleUnitNodes/{scaleUnitNode}/PowerOff"); + _endpoints[2713] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Fabric.Admin/fabricLocations/{location}/scaleUnitNodes/{scaleUnitNode}/PowerOn"); + _endpoints[2714] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Fabric.Admin/fabricLocations/{location}/scaleUnitNodes/{scaleUnitNode}/Repair"); + _endpoints[2715] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Fabric.Admin/fabricLocations/{location}/scaleUnitNodes/{scaleUnitNode}/Shutdown"); + _endpoints[2716] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Fabric.Admin/fabricLocations/{location}/scaleUnitNodes/{scaleUnitNode}/StartMaintenanceMode"); + _endpoints[2717] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Fabric.Admin/fabricLocations/{location}/scaleUnitNodes/{scaleUnitNode}/StopMaintenanceMode"); + _endpoints[2718] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Fabric.Admin/fabricLocations/{location}/scaleUnits/{scaleUnit}/ScaleOut"); + _endpoints[2719] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Fabric.Admin/fabricLocations/{location}/storageSubSystems/{storageSubSystem}/storagePools"); + _endpoints[2720] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.HDInsight/clusters/{clusterName}/roles/{roleName}/resize"); + _endpoints[2721] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.HDInsight/clusters/{clusterName}/scriptExecutionHistory/{scriptExecutionId}/promote"); + _endpoints[2722] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.InfrastructureInsights.Admin/regionHealths/{location}/serviceHealths/{serviceRegistrationId}/resourceHealths"); + _endpoints[2723] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Logic/integrationAccounts/{integrationAccountName}/agreements/{agreementName}/listContentCallbackUrl"); + _endpoints[2724] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Logic/integrationAccounts/{integrationAccountName}/assemblies/{assemblyArtifactName}/listContentCallbackUrl"); + _endpoints[2725] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Logic/integrationAccounts/{integrationAccountName}/maps/{mapName}/listContentCallbackUrl"); + _endpoints[2726] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Logic/integrationAccounts/{integrationAccountName}/partners/{partnerName}/listContentCallbackUrl"); + _endpoints[2727] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Logic/integrationAccounts/{integrationAccountName}/schemas/{schemaName}/listContentCallbackUrl"); + _endpoints[2728] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Logic/locations/{location}/workflows/{workflowName}/validate"); + _endpoints[2729] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Logic/workflows/{workflowName}/accessKeys/{accessKeyName}/list"); + _endpoints[2730] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Logic/workflows/{workflowName}/accessKeys/{accessKeyName}/regenerate"); + _endpoints[2731] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Logic/workflows/{workflowName}/runs/{runName}/actions"); + _endpoints[2732] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Logic/workflows/{workflowName}/runs/{runName}/cancel"); + _endpoints[2733] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Logic/workflows/{workflowName}/triggers/{triggerName}/histories"); + _endpoints[2734] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Logic/workflows/{workflowName}/triggers/{triggerName}/listCallbackUrl"); + _endpoints[2735] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Logic/workflows/{workflowName}/triggers/{triggerName}/reset"); + _endpoints[2736] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Logic/workflows/{workflowName}/triggers/{triggerName}/run"); + _endpoints[2737] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Logic/workflows/{workflowName}/triggers/{triggerName}/setState"); + _endpoints[2738] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.MachineLearning/commitmentPlans/{commitmentPlanName}/commitmentAssociations/{commitmentAssociationName}/move"); + _endpoints[2739] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Media/mediaServices/{accountName}/assets/{assetName}/getEncryptionKey"); + _endpoints[2740] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Media/mediaServices/{accountName}/assets/{assetName}/listContainerSas"); + _endpoints[2741] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Media/mediaServices/{accountName}/contentKeyPolicies/{contentKeyPolicyName}/getPolicyPropertiesWithSecrets"); + _endpoints[2742] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Media/mediaservices/{accountName}/liveEvents/{liveEventName}/liveOutputs"); + _endpoints[2743] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Media/mediaservices/{accountName}/liveEvents/{liveEventName}/reset"); + _endpoints[2744] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Media/mediaservices/{accountName}/liveEvents/{liveEventName}/start"); + _endpoints[2745] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Media/mediaservices/{accountName}/liveEvents/{liveEventName}/stop"); + _endpoints[2746] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Media/mediaservices/{accountName}/streamingEndpoints/{streamingEndpointName}/scale"); + _endpoints[2747] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Media/mediaservices/{accountName}/streamingEndpoints/{streamingEndpointName}/start"); + _endpoints[2748] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Media/mediaservices/{accountName}/streamingEndpoints/{streamingEndpointName}/stop"); + _endpoints[2749] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Media/mediaServices/{accountName}/streamingLocators/{streamingLocatorName}/listContentKeys"); + _endpoints[2750] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Media/mediaServices/{accountName}/streamingLocators/{streamingLocatorName}/listPaths"); + _endpoints[2751] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Media/mediaServices/{accountName}/transforms/{transformName}/jobs"); + _endpoints[2752] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Migrate/projects/{projectName}/groups/{groupName}/assessments"); + _endpoints[2753] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/expressRouteCircuits/{circuitName}/peerings/{peeringName}/stats"); + _endpoints[2754] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkWatchers/{networkWatcherName}/connectionMonitors/{connectionMonitorName}/query"); + _endpoints[2755] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkWatchers/{networkWatcherName}/connectionMonitors/{connectionMonitorName}/start"); + _endpoints[2756] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkWatchers/{networkWatcherName}/connectionMonitors/{connectionMonitorName}/stop"); + _endpoints[2757] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkWatchers/{networkWatcherName}/packetCaptures/{packetCaptureName}/queryStatus"); + _endpoints[2758] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkWatchers/{networkWatcherName}/packetCaptures/{packetCaptureName}/stop"); + _endpoints[2759] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.NotificationHubs/namespaces/{namespaceName}/AuthorizationRules/{authorizationRuleName}/listKeys"); + _endpoints[2760] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.NotificationHubs/namespaces/{namespaceName}/AuthorizationRules/{authorizationRuleName}/regenerateKeys"); + _endpoints[2761] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.NotificationHubs/namespaces/{namespaceName}/notificationHubs/{notificationHubName}/AuthorizationRules"); + _endpoints[2762] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.NotificationHubs/namespaces/{namespaceName}/notificationHubs/{notificationHubName}/pnsCredentials"); + _endpoints[2763] = CreateEndpoint("/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.OperationalInsights/workspaces/{workspaceName}/intelligencePacks/{intelligencePackName}/Disable"); + _endpoints[2764] = CreateEndpoint("/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.OperationalInsights/workspaces/{workspaceName}/intelligencePacks/{intelligencePackName}/Enable"); + _endpoints[2765] = CreateEndpoint("/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.OperationalInsights/workspaces/{workspaceName}/savedSearches/{savedSearchName}/results"); + _endpoints[2766] = CreateEndpoint("/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationFabrics/{fabricName}/checkConsistency"); + _endpoints[2767] = CreateEndpoint("/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationFabrics/{fabricName}/migratetoaad"); + _endpoints[2768] = CreateEndpoint("/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationFabrics/{fabricName}/reassociateGateway"); + _endpoints[2769] = CreateEndpoint("/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationFabrics/{fabricName}/remove"); + _endpoints[2770] = CreateEndpoint("/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationFabrics/{fabricName}/renewCertificate"); + _endpoints[2771] = CreateEndpoint("/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationFabrics/{fabricName}/replicationLogicalNetworks"); + _endpoints[2772] = CreateEndpoint("/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationFabrics/{fabricName}/replicationNetworks"); + _endpoints[2773] = CreateEndpoint("/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationFabrics/{fabricName}/replicationProtectionContainers"); + _endpoints[2774] = CreateEndpoint("/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationFabrics/{fabricName}/replicationRecoveryServicesProviders"); + _endpoints[2775] = CreateEndpoint("/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationFabrics/{fabricName}/replicationStorageClassifications"); + _endpoints[2776] = CreateEndpoint("/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationFabrics/{fabricName}/replicationvCenters"); + _endpoints[2777] = CreateEndpoint("/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationJobs/{jobName}/cancel"); + _endpoints[2778] = CreateEndpoint("/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationJobs/{jobName}/restart"); + _endpoints[2779] = CreateEndpoint("/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationJobs/{jobName}/resume"); + _endpoints[2780] = CreateEndpoint("/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationRecoveryPlans/{recoveryPlanName}/failoverCommit"); + _endpoints[2781] = CreateEndpoint("/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationRecoveryPlans/{recoveryPlanName}/plannedFailover"); + _endpoints[2782] = CreateEndpoint("/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationRecoveryPlans/{recoveryPlanName}/reProtect"); + _endpoints[2783] = CreateEndpoint("/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationRecoveryPlans/{recoveryPlanName}/testFailover"); + _endpoints[2784] = CreateEndpoint("/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationRecoveryPlans/{recoveryPlanName}/testFailoverCleanup"); + _endpoints[2785] = CreateEndpoint("/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationRecoveryPlans/{recoveryPlanName}/unplannedFailover"); + _endpoints[2786] = CreateEndpoint("/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupFabrics/{fabricName}/protectableContainers"); + _endpoints[2787] = CreateEndpoint("/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupFabrics/{fabricName}/refreshContainers"); + _endpoints[2788] = CreateEndpoint("/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupJobs/{jobName}/cancel"); + _endpoints[2789] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Relay/namespaces/{namespaceName}/authorizationRules/{authorizationRuleName}/listKeys"); + _endpoints[2790] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Relay/namespaces/{namespaceName}/authorizationRules/{authorizationRuleName}/regenerateKeys"); + _endpoints[2791] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Relay/namespaces/{namespaceName}/hybridConnections/{hybridConnectionName}/authorizationRules"); + _endpoints[2792] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Relay/namespaces/{namespaceName}/wcfRelays/{relayName}/authorizationRules"); + _endpoints[2793] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Scheduler/jobCollections/{jobCollectionName}/jobs/{jobName}/history"); + _endpoints[2794] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Scheduler/jobCollections/{jobCollectionName}/jobs/{jobName}/run"); + _endpoints[2795] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ServiceBus/namespaces/{namespaceName}/AuthorizationRules/{authorizationRuleName}/listKeys"); + _endpoints[2796] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ServiceBus/namespaces/{namespaceName}/AuthorizationRules/{authorizationRuleName}/regenerateKeys"); + _endpoints[2797] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ServiceBus/namespaces/{namespaceName}/disasterRecoveryConfigs/{alias}/AuthorizationRules"); + _endpoints[2798] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ServiceBus/namespaces/{namespaceName}/disasterRecoveryConfigs/{alias}/breakPairing"); + _endpoints[2799] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ServiceBus/namespaces/{namespaceName}/disasterRecoveryConfigs/{alias}/failover"); + _endpoints[2800] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ServiceBus/namespaces/{namespaceName}/eventhubs/{eventhubName}/authorizationRules"); + _endpoints[2801] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ServiceBus/namespaces/{namespaceName}/migrationConfigurations/{configName}/revert"); + _endpoints[2802] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ServiceBus/namespaces/{namespaceName}/migrationConfigurations/{configName}/upgrade"); + _endpoints[2803] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ServiceBus/namespaces/{namespaceName}/queues/{queueName}/authorizationRules"); + _endpoints[2804] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ServiceBus/namespaces/{namespaceName}/topics/{topicName}/authorizationRules"); + _endpoints[2805] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ServiceBus/namespaces/{namespaceName}/topics/{topicName}/subscriptions"); + _endpoints[2806] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ServiceFabric/clusters/{clusterName}/applications/{applicationName}/services"); + _endpoints[2807] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ServiceFabric/clusters/{clusterName}/applicationTypes/{applicationTypeName}/versions"); + _endpoints[2808] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/locations/{locationName}/instanceFailoverGroups/{failoverGroupName}/failover"); + _endpoints[2809] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/locations/{locationName}/instanceFailoverGroups/{failoverGroupName}/forceFailoverAllowDataLoss"); + _endpoints[2810] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/databases/{databaseName}/advisors"); + _endpoints[2811] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/databases/{databaseName}/auditingPolicies"); + _endpoints[2812] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/databases/{databaseName}/backupLongTermRetentionPolicies"); + _endpoints[2813] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/databases/{databaseName}/export"); + _endpoints[2814] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/databases/{databaseName}/extensions"); + _endpoints[2815] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/databases/{databaseName}/geoBackupPolicies"); + _endpoints[2816] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/databases/{databaseName}/metricDefinitions"); + _endpoints[2817] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/databases/{databaseName}/metrics"); + _endpoints[2818] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/databases/{databaseName}/move"); + _endpoints[2819] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/databases/{databaseName}/operations"); + _endpoints[2820] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/databases/{databaseName}/pause"); + _endpoints[2821] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/databases/{databaseName}/replicationLinks"); + _endpoints[2822] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/databases/{databaseName}/restorePoints"); + _endpoints[2823] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/databases/{databaseName}/resume"); + _endpoints[2824] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/databases/{databaseName}/serviceTierAdvisors"); + _endpoints[2825] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/databases/{databaseName}/syncGroups"); + _endpoints[2826] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/databases/{databaseName}/topQueries"); + _endpoints[2827] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/databases/{databaseName}/transparentDataEncryption"); + _endpoints[2828] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/databases/{databaseName}/upgradeDataWarehouse"); + _endpoints[2829] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/databases/{databaseName}/usages"); + _endpoints[2830] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/disasterRecoveryConfiguration/{disasterRecoveryConfigurationName}/failover"); + _endpoints[2831] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/disasterRecoveryConfiguration/{disasterRecoveryConfigurationName}/forceFailoverAllowDataLoss"); + _endpoints[2832] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/dnsAliases/{dnsAliasName}/acquire"); + _endpoints[2833] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/elasticPools/{elasticPoolName}/databases"); + _endpoints[2834] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/elasticPools/{elasticPoolName}/elasticPoolActivity"); + _endpoints[2835] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/elasticPools/{elasticPoolName}/elasticPoolDatabaseActivity"); + _endpoints[2836] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/elasticPools/{elasticPoolName}/metricDefinitions"); + _endpoints[2837] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/elasticPools/{elasticPoolName}/metrics"); + _endpoints[2838] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/elasticPools/{elasticPoolName}/operations"); + _endpoints[2839] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/failoverGroups/{failoverGroupName}/failover"); + _endpoints[2840] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/failoverGroups/{failoverGroupName}/forceFailoverAllowDataLoss"); + _endpoints[2841] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/jobAgents/{jobAgentName}/credentials"); + _endpoints[2842] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/jobAgents/{jobAgentName}/executions"); + _endpoints[2843] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/jobAgents/{jobAgentName}/jobs"); + _endpoints[2844] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/jobAgents/{jobAgentName}/targetGroups"); + _endpoints[2845] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/recommendedElasticPools/{recommendedElasticPoolName}/databases"); + _endpoints[2846] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/recommendedElasticPools/{recommendedElasticPoolName}/metrics"); + _endpoints[2847] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/syncAgents/{syncAgentName}/generateKey"); + _endpoints[2848] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/syncAgents/{syncAgentName}/linkedDatabases"); + _endpoints[2849] = CreateEndpoint("/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.Storage.Admin/farms/{farmId}/blobservices/{serviceType}/metricdefinitions"); + _endpoints[2850] = CreateEndpoint("/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.Storage.Admin/farms/{farmId}/blobservices/{serviceType}/metrics"); + _endpoints[2851] = CreateEndpoint("/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.Storage.Admin/farms/{farmId}/queueservices/{serviceType}/metricdefinitions"); + _endpoints[2852] = CreateEndpoint("/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.Storage.Admin/farms/{farmId}/queueservices/{serviceType}/metrics"); + _endpoints[2853] = CreateEndpoint("/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.Storage.Admin/farms/{farmId}/shares/{shareName}/containers"); + _endpoints[2854] = CreateEndpoint("/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.Storage.Admin/farms/{farmId}/shares/{shareName}/destinationshares"); + _endpoints[2855] = CreateEndpoint("/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.Storage.Admin/farms/{farmId}/shares/{shareName}/metricdefinitions"); + _endpoints[2856] = CreateEndpoint("/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.Storage.Admin/farms/{farmId}/shares/{shareName}/metrics"); + _endpoints[2857] = CreateEndpoint("/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.Storage.Admin/farms/{farmId}/shares/{shareName}/migrate"); + _endpoints[2858] = CreateEndpoint("/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.Storage.Admin/farms/{farmId}/tableservices/{serviceType}/metricdefinitions"); + _endpoints[2859] = CreateEndpoint("/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.Storage.Admin/farms/{farmId}/tableservices/{serviceType}/metrics"); + _endpoints[2860] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.StorSimple/managers/{managerName}/devices/{deviceName}/authorizeForServiceEncryptionKeyRollover"); + _endpoints[2861] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.StorSimple/managers/{managerName}/devices/{deviceName}/backupPolicies"); + _endpoints[2862] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.StorSimple/managers/{managerName}/devices/{deviceName}/backups"); + _endpoints[2863] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.StorSimple/managers/{managerName}/devices/{deviceName}/deactivate"); + _endpoints[2864] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.StorSimple/managers/{managerName}/devices/{deviceName}/hardwareComponentGroups"); + _endpoints[2865] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.StorSimple/managers/{managerName}/devices/{deviceName}/installUpdates"); + _endpoints[2866] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.StorSimple/managers/{managerName}/devices/{deviceName}/jobs"); + _endpoints[2867] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.StorSimple/managers/{managerName}/devices/{deviceName}/listFailoverSets"); + _endpoints[2868] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.StorSimple/managers/{managerName}/devices/{deviceName}/metrics"); + _endpoints[2869] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.StorSimple/managers/{managerName}/devices/{deviceName}/metricsDefinitions"); + _endpoints[2870] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.StorSimple/managers/{managerName}/devices/{deviceName}/publicEncryptionKey"); + _endpoints[2871] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.StorSimple/managers/{managerName}/devices/{deviceName}/scanForUpdates"); + _endpoints[2872] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.StorSimple/managers/{managerName}/devices/{deviceName}/sendTestAlertEmail"); + _endpoints[2873] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.StorSimple/managers/{managerName}/devices/{deviceName}/volumeContainers"); + _endpoints[2874] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.StorSimple/managers/{managerName}/devices/{deviceName}/volumes"); + _endpoints[2875] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.StorSimple/managers/{managerName}/devices/{sourceDeviceName}/failover"); + _endpoints[2876] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.StorSimple/managers/{managerName}/devices/{sourceDeviceName}/listFailoverTargets"); + _endpoints[2877] = CreateEndpoint("/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.StreamAnalytics/streamingjobs/{jobName}/functions/{functionName}/RetrieveDefaultDefinition"); + _endpoints[2878] = CreateEndpoint("/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.StreamAnalytics/streamingjobs/{jobName}/functions/{functionName}/test"); + _endpoints[2879] = CreateEndpoint("/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.StreamAnalytics/streamingjobs/{jobName}/inputs/{inputName}/test"); + _endpoints[2880] = CreateEndpoint("/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.StreamAnalytics/streamingjobs/{jobName}/outputs/{outputName}/test"); + _endpoints[2881] = CreateEndpoint("/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.Update.Admin/updateLocations/{updateLocation}/updates/{updateName}/Apply"); + _endpoints[2882] = CreateEndpoint("/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.Update.Admin/updateLocations/{updateLocation}/updates/{updateName}/updateRuns"); + _endpoints[2883] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/hostingEnvironments/{name}/workerPools/{workerPoolName}/metricdefinitions"); + _endpoints[2884] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/hostingEnvironments/{name}/workerPools/{workerPoolName}/metrics"); + _endpoints[2885] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/hostingEnvironments/{name}/workerPools/{workerPoolName}/skus"); + _endpoints[2886] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/hostingEnvironments/{name}/workerPools/{workerPoolName}/usages"); + _endpoints[2887] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/serverfarms/{name}/virtualNetworkConnections/{vnetName}/routes"); + _endpoints[2888] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/serverfarms/{name}/workers/{workerName}/reboot"); + _endpoints[2889] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/backups/{backupId}/list"); + _endpoints[2890] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/backups/{backupId}/restore"); + _endpoints[2891] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/continuouswebjobs/{webJobName}/start"); + _endpoints[2892] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/continuouswebjobs/{webJobName}/stop"); + _endpoints[2893] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/deployments/{id}/log"); + _endpoints[2894] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/functions/{functionName}/listsecrets"); + _endpoints[2895] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/instances/{instanceId}/deployments"); + _endpoints[2896] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/instances/{instanceId}/processes"); + _endpoints[2897] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/processes/{processId}/dump"); + _endpoints[2898] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/processes/{processId}/modules"); + _endpoints[2899] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/processes/{processId}/threads"); + _endpoints[2900] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/analyzeCustomHostname"); + _endpoints[2901] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/applySlotConfig"); + _endpoints[2902] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/backup"); + _endpoints[2903] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/backups"); + _endpoints[2904] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/config"); + _endpoints[2905] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/containerlogs"); + _endpoints[2906] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/continuouswebjobs"); + _endpoints[2907] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/deployments"); + _endpoints[2908] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/domainOwnershipIdentifiers"); + _endpoints[2909] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/functions"); + _endpoints[2910] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/hostNameBindings"); + _endpoints[2911] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/hybridconnection"); + _endpoints[2912] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/hybridConnectionRelays"); + _endpoints[2913] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/instances"); + _endpoints[2914] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/iscloneable"); + _endpoints[2915] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/listsyncfunctiontriggerstatus"); + _endpoints[2916] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/metricdefinitions"); + _endpoints[2917] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/metrics"); + _endpoints[2918] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/newpassword"); + _endpoints[2919] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/perfcounters"); + _endpoints[2920] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/phplogging"); + _endpoints[2921] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/premieraddons"); + _endpoints[2922] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/processes"); + _endpoints[2923] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/publicCertificates"); + _endpoints[2924] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/publishxml"); + _endpoints[2925] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/recover"); + _endpoints[2926] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/resetSlotConfig"); + _endpoints[2927] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/resourceHealthMetadata"); + _endpoints[2928] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/restart"); + _endpoints[2929] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/restoreFromBackupBlob"); + _endpoints[2930] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/restoreFromDeletedApp"); + _endpoints[2931] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/restoreSnapshot"); + _endpoints[2932] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/siteextensions"); + _endpoints[2933] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/slotsdiffs"); + _endpoints[2934] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/slotsswap"); + _endpoints[2935] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/snapshots"); + _endpoints[2936] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/start"); + _endpoints[2937] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/stop"); + _endpoints[2938] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/sync"); + _endpoints[2939] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/syncfunctiontriggers"); + _endpoints[2940] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/triggeredwebjobs"); + _endpoints[2941] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/usages"); + _endpoints[2942] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/virtualNetworkConnections"); + _endpoints[2943] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/webjobs"); + _endpoints[2944] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/triggeredwebjobs/{webJobName}/history"); + _endpoints[2945] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/triggeredwebjobs/{webJobName}/run"); + _endpoints[2946] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{siteName}/diagnostics/{diagnosticCategory}/analyses"); + _endpoints[2947] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{siteName}/diagnostics/{diagnosticCategory}/detectors"); + _endpoints[2948] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{siteName}/recommendations/{name}/disable"); + _endpoints[2949] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{siteName}/slots/{slot}/detectors"); + _endpoints[2950] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{siteName}/slots/{slot}/diagnostics"); + _endpoints[2951] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/tenant/{accessName}/git/regeneratePrimaryKey"); + _endpoints[2952] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/tenant/{accessName}/git/regenerateSecondaryKey"); + _endpoints[2953] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Automation/automationAccounts/{automationAccountName}/runbooks/{runbookName}/draft/content"); + _endpoints[2954] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Automation/automationAccounts/{automationAccountName}/runbooks/{runbookName}/draft/publish"); + _endpoints[2955] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Automation/automationAccounts/{automationAccountName}/runbooks/{runbookName}/draft/testJob"); + _endpoints[2956] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Automation/automationAccounts/{automationAccountName}/runbooks/{runbookName}/draft/undoEdit"); + _endpoints[2957] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/targetRegion/{targetRegion}/percentile/metrics"); + _endpoints[2958] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Logic/workflows/{workflowName}/triggers/{triggerName}/schemas/json"); + _endpoints[2959] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/databases/{databaseName}/automaticTuning/current"); + _endpoints[2960] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.StorSimple/managers/{managerName}/devices/{deviceName}/alertSettings/default"); + _endpoints[2961] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.StorSimple/managers/{managerName}/devices/{deviceName}/networkSettings/default"); + _endpoints[2962] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.StorSimple/managers/{managerName}/devices/{deviceName}/securitySettings/default"); + _endpoints[2963] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.StorSimple/managers/{managerName}/devices/{deviceName}/timeSettings/default"); + _endpoints[2964] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.StorSimple/managers/{managerName}/devices/{deviceName}/updateSummary/default"); + _endpoints[2965] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/instances/{instanceId}/extensions/MSDeploy"); + _endpoints[2966] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/backups/discover"); + _endpoints[2967] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/config/appsettings"); + _endpoints[2968] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/config/authsettings"); + _endpoints[2969] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/config/backup"); + _endpoints[2970] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/config/connectionstrings"); + _endpoints[2971] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/config/logs"); + _endpoints[2972] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/config/metadata"); + _endpoints[2973] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/config/pushsettings"); + _endpoints[2974] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/config/web"); + _endpoints[2975] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/extensions/MSDeploy"); + _endpoints[2976] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/migratemysql/status"); + _endpoints[2977] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/networkTrace/start"); + _endpoints[2978] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/networkTrace/stop"); + _endpoints[2979] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/privateAccess/virtualNetworks"); + _endpoints[2980] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/resourceHealthMetadata/default"); + _endpoints[2981] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/sourcecontrols/web"); + _endpoints[2982] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Automation/automationAccounts/{automationAccountName}/runbooks/{runbookName}/draft/testJob/resume"); + _endpoints[2983] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Automation/automationAccounts/{automationAccountName}/runbooks/{runbookName}/draft/testJob/stop"); + _endpoints[2984] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Automation/automationAccounts/{automationAccountName}/runbooks/{runbookName}/draft/testJob/streams"); + _endpoints[2985] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Automation/automationAccounts/{automationAccountName}/runbooks/{runbookName}/draft/testJob/suspend"); + _endpoints[2986] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ServerManagement/nodes/{nodeName}/sessions/{session}/features/powerShellConsole/pssessions"); + _endpoints[2987] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.StorSimple/managers/{managerName}/devices/{deviceName}/securitySettings/default/syncRemoteManagementCertificate"); + _endpoints[2988] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/instances/{instanceId}/extensions/MSDeploy/log"); + _endpoints[2989] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/config/appsettings/list"); + _endpoints[2990] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/config/authsettings/list"); + _endpoints[2991] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/config/backup/list"); + _endpoints[2992] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/config/connectionstrings/list"); + _endpoints[2993] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/config/metadata/list"); + _endpoints[2994] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/config/publishingcredentials/list"); + _endpoints[2995] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/config/pushsettings/list"); + _endpoints[2996] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/config/web/snapshots"); + _endpoints[2997] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/containerlogs/zip/download"); + _endpoints[2998] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/extensions/MSDeploy/log"); + _endpoints[2999] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/functions/admin/token"); + _endpoints[3000] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Automation/automationAccounts/{automationAccountName}/runbooks/{runbookName}/draft/testJob/streams/{jobStreamId}"); + _endpoints[3001] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ServerManagement/nodes/{nodeName}/sessions/{session}/features/powerShellConsole/pssessions/{pssession}"); + _endpoints[3002] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/config/web/snapshots/{snapshotId}"); + _endpoints[3003] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ServerManagement/nodes/{nodeName}/sessions/{session}/features/powerShellConsole/pssessions/{pssession}/cancel"); + _endpoints[3004] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ServerManagement/nodes/{nodeName}/sessions/{session}/features/powerShellConsole/pssessions/{pssession}/invokeCommand"); + _endpoints[3005] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ServerManagement/nodes/{nodeName}/sessions/{session}/features/powerShellConsole/pssessions/{pssession}/tab"); + _endpoints[3006] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/config/web/snapshots/{snapshotId}/recover"); + _endpoints[3007] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{groupName}/providers/Microsoft.DataMigration/services/{serviceName}/projects/{projectName}/tasks/{taskName}"); + _endpoints[3008] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/apis/{apiId}/diagnostics/{diagnosticId}"); + _endpoints[3009] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/apis/{apiId}/issues/{issueId}"); + _endpoints[3010] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/apis/{apiId}/operations/{operationId}"); + _endpoints[3011] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/apis/{apiId}/policies/{policyId}"); + _endpoints[3012] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/apis/{apiId}/releases/{releaseId}"); + _endpoints[3013] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/apis/{apiId}/schemas/{schemaId}"); + _endpoints[3014] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/apis/{apiId}/tagDescriptions/{tagId}"); + _endpoints[3015] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/apis/{apiId}/tags/{tagId}"); + _endpoints[3016] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/diagnostics/{diagnosticId}/loggers/{loggerid}"); + _endpoints[3017] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/groups/{groupId}/users/{uid}"); + _endpoints[3018] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/notifications/{notificationName}/recipientEmails/{email}"); + _endpoints[3019] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/notifications/{notificationName}/recipientUsers/{uid}"); + _endpoints[3020] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/products/{productId}/apis/{apiId}"); + _endpoints[3021] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/products/{productId}/groups/{groupId}"); + _endpoints[3022] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/products/{productId}/policies/{policyId}"); + _endpoints[3023] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/products/{productId}/tags/{tagId}"); + _endpoints[3024] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/quotas/{quotaCounterKey}/periods/{quotaPeriodKey}"); + _endpoints[3025] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Automation/automationAccounts/{automationAccountName}/compilationjobs/{jobId}/streams/{jobStreamId}"); + _endpoints[3026] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Automation/automationAccounts/{automationAccountName}/jobs/{jobId}/streams/{jobStreamId}"); + _endpoints[3027] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Automation/automationAccounts/{automationAccountName}/modules/{moduleName}/activities/{activityName}"); + _endpoints[3028] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Automation/automationAccounts/{automationAccountName}/nodes/{nodeId}/reports/{reportId}"); + _endpoints[3029] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Automation/automationAccounts/{automationAccountName}/sourceControls/{sourceControlName}/sourceControlSyncJobs/{sourceControlSyncJobId}"); + _endpoints[3030] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Batch/batchAccounts/{accountName}/applications/{applicationId}/versions/{version}"); + _endpoints[3031] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.BatchAI/workspaces/{workspaceName}/experiments/{experimentName}/jobs/{jobName}"); + _endpoints[3032] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Cdn/profiles/{profileName}/endpoints/{endpointName}/customDomains/{customDomainName}"); + _endpoints[3033] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Cdn/profiles/{profileName}/endpoints/{endpointName}/origins/{originName}"); + _endpoints[3034] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/galleries/{galleryName}/images/{galleryImageName}/versions/{galleryImageVersionName}"); + _endpoints[3035] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/microsoft.Compute/virtualMachineScaleSets/{virtualMachineScaleSetName}/virtualMachines/{virtualmachineIndex}/networkInterfaces/{networkInterfaceName}"); + _endpoints[3036] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerRegistry/registries/{registryName}/buildTasks/{buildTaskName}/steps/{stepName}"); + _endpoints[3037] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.CustomerInsights/hubs/{hubName}/connectors/{connectorName}/mappings/{mappingName}"); + _endpoints[3038] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataFactory/factories/{factoryName}/integrationRuntimes/{integrationRuntimeName}/nodes/{nodeName}"); + _endpoints[3039] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataLakeAnalytics/accounts/{accountName}/storageAccounts/{storageAccountName}/containers/{containerName}"); + _endpoints[3040] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Devices/IotHubs/{resourceName}/eventHubEndpoints/{eventHubEndpointName}/ConsumerGroups/{name}"); + _endpoints[3041] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DevTestLab/labs/{labName}/artifactsources/{artifactSourceName}/armtemplates/{name}"); + _endpoints[3042] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DevTestLab/labs/{labName}/artifactsources/{artifactSourceName}/artifacts/{name}"); + _endpoints[3043] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DevTestLab/labs/{labName}/policysets/{policySetName}/policies/{name}"); + _endpoints[3044] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DevTestLab/labs/{labName}/users/{userName}/disks/{name}"); + _endpoints[3045] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DevTestLab/labs/{labName}/users/{userName}/environments/{name}"); + _endpoints[3046] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DevTestLab/labs/{labName}/users/{userName}/secrets/{name}"); + _endpoints[3047] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DevTestLab/labs/{labName}/virtualmachines/{virtualMachineName}/schedules/{name}"); + _endpoints[3048] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.EventHub/namespaces/{namespaceName}/disasterRecoveryConfigs/{alias}/AuthorizationRules/{authorizationRuleName}"); + _endpoints[3049] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.EventHub/namespaces/{namespaceName}/eventhubs/{eventHubName}/authorizationRules/{authorizationRuleName}"); + _endpoints[3050] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.EventHub/namespaces/{namespaceName}/eventhubs/{eventHubName}/consumergroups/{consumerGroupName}"); + _endpoints[3051] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Fabric.Admin/fabricLocations/{location}/logicalNetworks/{logicalNetwork}/logicalSubnets/{logicalSubnet}"); + _endpoints[3052] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Fabric.Admin/fabricLocations/{location}/storageSubSystems/{storageSubSystem}/storagePools/{storagePool}"); + _endpoints[3053] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.InfrastructureInsights.Admin/regionHealths/{location}/serviceHealths/{serviceRegistrationId}/resourceHealths/{resourceRegistrationId}"); + _endpoints[3054] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Logic/workflows/{workflowName}/runs/{runName}/actions/{actionName}"); + _endpoints[3055] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Logic/workflows/{workflowName}/runs/{runName}/operations/{operationId}"); + _endpoints[3056] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Logic/workflows/{workflowName}/triggers/{triggerName}/histories/{historyName}"); + _endpoints[3057] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.MachineLearningExperimentation/accounts/{accountName}/workspaces/{workspaceName}/projects/{projectName}"); + _endpoints[3058] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Media/mediaservices/{accountName}/liveEvents/{liveEventName}/liveOutputs/{liveOutputName}"); + _endpoints[3059] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Media/mediaServices/{accountName}/transforms/{transformName}/jobs/{jobName}"); + _endpoints[3060] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Migrate/projects/{projectName}/groups/{groupName}/assessments/{assessmentName}"); + _endpoints[3061] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/expressRouteCircuits/{circuitName}/peerings/{peeringName}/arpTables/{devicePath}"); + _endpoints[3062] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/expressRouteCircuits/{circuitName}/peerings/{peeringName}/connections/{connectionName}"); + _endpoints[3063] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/expressRouteCircuits/{circuitName}/peerings/{peeringName}/routeTables/{devicePath}"); + _endpoints[3064] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/expressRouteCircuits/{circuitName}/peerings/{peeringName}/routeTablesSummary/{devicePath}"); + _endpoints[3065] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/expressRouteCrossConnections/{crossConnectionName}/peerings/{peeringName}/arpTables/{devicePath}"); + _endpoints[3066] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/expressRouteCrossConnections/{crossConnectionName}/peerings/{peeringName}/routeTables/{devicePath}"); + _endpoints[3067] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/expressRouteCrossConnections/{crossConnectionName}/peerings/{peeringName}/routeTablesSummary/{devicePath}"); + _endpoints[3068] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.NotificationHubs/namespaces/{namespaceName}/notificationHubs/{notificationHubName}/AuthorizationRules/{authorizationRuleName}"); + _endpoints[3069] = CreateEndpoint("/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationFabrics/{fabricName}/replicationLogicalNetworks/{logicalNetworkName}"); + _endpoints[3070] = CreateEndpoint("/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationFabrics/{fabricName}/replicationNetworks/{networkName}"); + _endpoints[3071] = CreateEndpoint("/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationFabrics/{fabricName}/replicationProtectionContainers/{protectionContainerName}"); + _endpoints[3072] = CreateEndpoint("/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationFabrics/{fabricName}/replicationRecoveryServicesProviders/{providerName}"); + _endpoints[3073] = CreateEndpoint("/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationFabrics/{fabricName}/replicationStorageClassifications/{storageClassificationName}"); + _endpoints[3074] = CreateEndpoint("/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationFabrics/{fabricName}/replicationvCenters/{vCenterName}"); + _endpoints[3075] = CreateEndpoint("/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupFabrics/{fabricName}/backupProtectionIntent/{intentObjectName}"); + _endpoints[3076] = CreateEndpoint("/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupFabrics/{fabricName}/operationResults/{operationId}"); + _endpoints[3077] = CreateEndpoint("/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupFabrics/{fabricName}/protectionContainers/{containerName}"); + _endpoints[3078] = CreateEndpoint("/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupJobs/{jobName}/operationResults/{operationId}"); + _endpoints[3079] = CreateEndpoint("/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupPolicies/{policyName}/operationResults/{operationId}"); + _endpoints[3080] = CreateEndpoint("/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupPolicies/{policyName}/operations/{operationId}"); + _endpoints[3081] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Relay/namespaces/{namespaceName}/hybridConnections/{hybridConnectionName}/authorizationRules/{authorizationRuleName}"); + _endpoints[3082] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Relay/namespaces/{namespaceName}/wcfRelays/{relayName}/authorizationRules/{authorizationRuleName}"); + _endpoints[3083] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ServiceBus/namespaces/{namespaceName}/disasterRecoveryConfigs/{alias}/AuthorizationRules/{authorizationRuleName}"); + _endpoints[3084] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ServiceBus/namespaces/{namespaceName}/eventhubs/{eventhubName}/authorizationRules/{authorizationRuleName}"); + _endpoints[3085] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ServiceBus/namespaces/{namespaceName}/queues/{queueName}/authorizationRules/{authorizationRuleName}"); + _endpoints[3086] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ServiceBus/namespaces/{namespaceName}/topics/{topicName}/authorizationRules/{authorizationRuleName}"); + _endpoints[3087] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ServiceBus/namespaces/{namespaceName}/topics/{topicName}/subscriptions/{subscriptionName}"); + _endpoints[3088] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ServiceFabric/clusters/{clusterName}/applications/{applicationName}/services/{serviceName}"); + _endpoints[3089] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ServiceFabric/clusters/{clusterName}/applicationTypes/{applicationTypeName}/versions/{version}"); + _endpoints[3090] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/databases/{databaseName}/advisors/{advisorName}"); + _endpoints[3091] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/databases/{databaseName}/auditingPolicies/{tableAuditingPolicyName}"); + _endpoints[3092] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/databases/{databaseName}/auditingSettings/{blobAuditingPolicyName}"); + _endpoints[3093] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/databases/{databaseName}/backupLongTermRetentionPolicies/{backupLongTermRetentionPolicyName}"); + _endpoints[3094] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/databases/{databaseName}/backupShortTermRetentionPolicies/{policyName}"); + _endpoints[3095] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/databases/{databaseName}/connectionPolicies/{connectionPolicyName}"); + _endpoints[3096] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/databases/{databaseName}/dataMaskingPolicies/{dataMaskingPolicyName}"); + _endpoints[3097] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/databases/{databaseName}/dataWarehouseUserActivities/{dataWarehouseUserActivityName}"); + _endpoints[3098] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/databases/{databaseName}/extensions/{extensionName}"); + _endpoints[3099] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/databases/{databaseName}/geoBackupPolicies/{geoBackupPolicyName}"); + _endpoints[3100] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/databases/{databaseName}/replicationLinks/{linkId}"); + _endpoints[3101] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/databases/{databaseName}/restorePoints/{restorePointName}"); + _endpoints[3102] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/databases/{databaseName}/securityAlertPolicies/{securityAlertPolicyName}"); + _endpoints[3103] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/databases/{databaseName}/serviceTierAdvisors/{serviceTierAdvisorName}"); + _endpoints[3104] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/databases/{databaseName}/syncGroups/{syncGroupName}"); + _endpoints[3105] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/databases/{databaseName}/transparentDataEncryption/{transparentDataEncryptionName}"); + _endpoints[3106] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/databases/{databaseName}/vulnerabilityAssessments/{vulnerabilityAssessmentName}"); + _endpoints[3107] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/elasticPools/{elasticPoolName}/databases/{databaseName}"); + _endpoints[3108] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/jobAgents/{jobAgentName}/credentials/{credentialName}"); + _endpoints[3109] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/jobAgents/{jobAgentName}/jobs/{jobName}"); + _endpoints[3110] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/jobAgents/{jobAgentName}/targetGroups/{targetGroupName}"); + _endpoints[3111] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/recommendedElasticPools/{recommendedElasticPoolName}/databases/{databaseName}"); + _endpoints[3112] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.StorSimple/managers/{managerName}/devices/{deviceName}/backupPolicies/{backupPolicyName}"); + _endpoints[3113] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.StorSimple/managers/{managerName}/devices/{deviceName}/backups/{backupName}"); + _endpoints[3114] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.StorSimple/managers/{managerName}/devices/{deviceName}/jobs/{jobName}"); + _endpoints[3115] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.StorSimple/managers/{managerName}/devices/{deviceName}/volumeContainers/{volumeContainerName}"); + _endpoints[3116] = CreateEndpoint("/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.Update.Admin/updateLocations/{updateLocation}/updates/{updateName}/updateRuns/{runName}"); + _endpoints[3117] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/serverfarms/{name}/hybridConnectionNamespaces/{namespaceName}/relays/{relayName}"); + _endpoints[3118] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/serverfarms/{name}/virtualNetworkConnections/{vnetName}/gateways/{gatewayName}"); + _endpoints[3119] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/serverfarms/{name}/virtualNetworkConnections/{vnetName}/routes/{routeName}"); + _endpoints[3120] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/hybridConnectionNamespaces/{namespaceName}/relays/{relayName}"); + _endpoints[3121] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/instances/{instanceId}/deployments/{id}"); + _endpoints[3122] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/instances/{instanceId}/processes/{processId}"); + _endpoints[3123] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/processes/{processId}/modules/{baseAddress}"); + _endpoints[3124] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/processes/{processId}/threads/{threadId}"); + _endpoints[3125] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/backups/{backupId}"); + _endpoints[3126] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/continuouswebjobs/{webJobName}"); + _endpoints[3127] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/deployments/{id}"); + _endpoints[3128] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/domainOwnershipIdentifiers/{domainOwnershipIdentifierName}"); + _endpoints[3129] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/functions/{functionName}"); + _endpoints[3130] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/hostNameBindings/{hostName}"); + _endpoints[3131] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/hybridconnection/{entityName}"); + _endpoints[3132] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/networkFeatures/{view}"); + _endpoints[3133] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/operationresults/{operationId}"); + _endpoints[3134] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/premieraddons/{premierAddOnName}"); + _endpoints[3135] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/processes/{processId}"); + _endpoints[3136] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/publicCertificates/{publicCertificateName}"); + _endpoints[3137] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/siteextensions/{siteExtensionId}"); + _endpoints[3138] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/triggeredwebjobs/{webJobName}"); + _endpoints[3139] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/virtualNetworkConnections/{vnetName}"); + _endpoints[3140] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/webjobs/{webJobName}"); + _endpoints[3141] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/triggeredwebjobs/{webJobName}/history/{id}"); + _endpoints[3142] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/virtualNetworkConnections/{vnetName}/gateways/{gatewayName}"); + _endpoints[3143] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{siteName}/diagnostics/{diagnosticCategory}/analyses/{analysisName}"); + _endpoints[3144] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{siteName}/diagnostics/{diagnosticCategory}/detectors/{detectorName}"); + _endpoints[3145] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{siteName}/slots/{slot}/detectors/{detectorName}"); + _endpoints[3146] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{siteName}/slots/{slot}/diagnostics/{diagnosticCategory}"); + _endpoints[3147] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{groupName}/providers/Microsoft.DataMigration/services/{serviceName}/projects/{projectName}/tasks/{taskName}/cancel"); + _endpoints[3148] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/apis/{apiId}/diagnostics/{diagnosticId}/loggers"); + _endpoints[3149] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/apis/{apiId}/issues/{issueId}/attachments"); + _endpoints[3150] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/apis/{apiId}/issues/{issueId}/comments"); + _endpoints[3151] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/apis/{apiId}/operations/{operationId}/policies"); + _endpoints[3152] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/apis/{apiId}/operations/{operationId}/policy"); + _endpoints[3153] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/apis/{apiId}/operations/{operationId}/tags"); + _endpoints[3154] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Automation/automationAccounts/{automationAccountName}/modules/{moduleName}/objectDataTypes/{typeName}/fields"); + _endpoints[3155] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Automation/automationAccounts/{automationAccountName}/modules/{moduleName}/types/{typeName}/fields"); + _endpoints[3156] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Automation/automationAccounts/{automationAccountName}/nodes/{nodeId}/reports/{reportId}/content"); + _endpoints[3157] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Automation/automationAccounts/{automationAccountName}/sourceControls/{sourceControlName}/sourceControlSyncJobs/{sourceControlSyncJobId}/streams"); + _endpoints[3158] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Batch/batchAccounts/{accountName}/applications/{applicationId}/versions/{version}/activate"); + _endpoints[3159] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.BatchAI/workspaces/{workspaceName}/experiments/{experimentName}/jobs/{jobName}/listOutputFiles"); + _endpoints[3160] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.BatchAI/workspaces/{workspaceName}/experiments/{experimentName}/jobs/{jobName}/listRemoteLoginInformation"); + _endpoints[3161] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.BatchAI/workspaces/{workspaceName}/experiments/{experimentName}/jobs/{jobName}/terminate"); + _endpoints[3162] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Cdn/profiles/{profileName}/endpoints/{endpointName}/customDomains/{customDomainName}/disableCustomHttps"); + _endpoints[3163] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Cdn/profiles/{profileName}/endpoints/{endpointName}/customDomains/{customDomainName}/enableCustomHttps"); + _endpoints[3164] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/microsoft.Compute/virtualMachineScaleSets/{virtualMachineScaleSetName}/virtualMachines/{virtualmachineIndex}/networkInterfaces/{networkInterfaceName}/ipConfigurations"); + _endpoints[3165] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerRegistry/registries/{registryName}/buildTasks/{buildTaskName}/steps/{stepName}/listBuildArguments"); + _endpoints[3166] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataFactory/factories/{factoryName}/integrationRuntimes/{integrationRuntimeName}/nodes/{nodeName}/ipAddress"); + _endpoints[3167] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataLakeAnalytics/accounts/{accountName}/storageAccounts/{storageAccountName}/containers/{containerName}/listSasTokens"); + _endpoints[3168] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DevTestLab/labs/{labName}/artifactsources/{artifactSourceName}/artifacts/{name}/generateArmTemplate"); + _endpoints[3169] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DevTestLab/labs/{labName}/users/{userName}/disks/{name}/attach"); + _endpoints[3170] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DevTestLab/labs/{labName}/users/{userName}/disks/{name}/detach"); + _endpoints[3171] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DevTestLab/labs/{labName}/virtualmachines/{virtualMachineName}/schedules/{name}/execute"); + _endpoints[3172] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/databases/{databaseRid}/collections/{collectionRid}/metricDefinitions"); + _endpoints[3173] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/databases/{databaseRid}/collections/{collectionRid}/metrics"); + _endpoints[3174] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/databases/{databaseRid}/collections/{collectionRid}/usages"); + _endpoints[3175] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.EventHub/namespaces/{namespaceName}/disasterRecoveryConfigs/{alias}/AuthorizationRules/{authorizationRuleName}/listKeys"); + _endpoints[3176] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.EventHub/namespaces/{namespaceName}/eventhubs/{eventHubName}/authorizationRules/{authorizationRuleName}/ListKeys"); + _endpoints[3177] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.EventHub/namespaces/{namespaceName}/eventhubs/{eventHubName}/authorizationRules/{authorizationRuleName}/regenerateKeys"); + _endpoints[3178] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Fabric.Admin/fabricLocations/{location}/storageSubSystems/{storageSubSystem}/storagePools/{storagePool}/volumes"); + _endpoints[3179] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Logic/workflows/{workflowName}/runs/{runName}/actions/{actionName}/listExpressionTraces"); + _endpoints[3180] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Logic/workflows/{workflowName}/runs/{runName}/actions/{actionName}/repetitions"); + _endpoints[3181] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Logic/workflows/{workflowName}/runs/{runName}/actions/{actionName}/scopeRepetitions"); + _endpoints[3182] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Logic/workflows/{workflowName}/triggers/{triggerName}/histories/{historyName}/resubmit"); + _endpoints[3183] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Logic/workflows/{workflowName}/versions/{versionId}/triggers/{triggerName}/listCallbackUrl"); + _endpoints[3184] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Media/mediaServices/{accountName}/transforms/{transformName}/jobs/{jobName}/cancelJob"); + _endpoints[3185] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Migrate/projects/{projectName}/groups/{groupName}/assessments/{assessmentName}/assessedMachines"); + _endpoints[3186] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Migrate/projects/{projectName}/groups/{groupName}/assessments/{assessmentName}/downloadUrl"); + _endpoints[3187] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.NotificationHubs/namespaces/{namespaceName}/notificationHubs/{notificationHubName}/AuthorizationRules/{authorizationRuleName}/listKeys"); + _endpoints[3188] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.NotificationHubs/namespaces/{namespaceName}/notificationHubs/{notificationHubName}/AuthorizationRules/{authorizationRuleName}/regenerateKeys"); + _endpoints[3189] = CreateEndpoint("/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationFabrics/{fabricName}/replicationNetworks/{networkName}/replicationNetworkMappings"); + _endpoints[3190] = CreateEndpoint("/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationFabrics/{fabricName}/replicationProtectionContainers/{protectionContainerName}/discoverProtectableItem"); + _endpoints[3191] = CreateEndpoint("/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationFabrics/{fabricName}/replicationProtectionContainers/{protectionContainerName}/remove"); + _endpoints[3192] = CreateEndpoint("/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationFabrics/{fabricName}/replicationProtectionContainers/{protectionContainerName}/replicationProtectableItems"); + _endpoints[3193] = CreateEndpoint("/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationFabrics/{fabricName}/replicationProtectionContainers/{protectionContainerName}/replicationProtectedItems"); + _endpoints[3194] = CreateEndpoint("/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationFabrics/{fabricName}/replicationProtectionContainers/{protectionContainerName}/replicationProtectionContainerMappings"); + _endpoints[3195] = CreateEndpoint("/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationFabrics/{fabricName}/replicationProtectionContainers/{protectionContainerName}/switchprotection"); + _endpoints[3196] = CreateEndpoint("/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationFabrics/{fabricName}/replicationRecoveryServicesProviders/{providerName}/refreshProvider"); + _endpoints[3197] = CreateEndpoint("/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationFabrics/{fabricName}/replicationRecoveryServicesProviders/{providerName}/remove"); + _endpoints[3198] = CreateEndpoint("/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationFabrics/{fabricName}/replicationStorageClassifications/{storageClassificationName}/replicationStorageClassificationMappings"); + _endpoints[3199] = CreateEndpoint("/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupFabrics/{fabricName}/protectionContainers/{containerName}/inquire"); + _endpoints[3200] = CreateEndpoint("/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupFabrics/{fabricName}/protectionContainers/{containerName}/items"); + _endpoints[3201] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Relay/namespaces/{namespaceName}/hybridConnections/{hybridConnectionName}/authorizationRules/{authorizationRuleName}/listKeys"); + _endpoints[3202] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Relay/namespaces/{namespaceName}/hybridConnections/{hybridConnectionName}/authorizationRules/{authorizationRuleName}/regenerateKeys"); + _endpoints[3203] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Relay/namespaces/{namespaceName}/wcfRelays/{relayName}/authorizationRules/{authorizationRuleName}/listKeys"); + _endpoints[3204] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Relay/namespaces/{namespaceName}/wcfRelays/{relayName}/authorizationRules/{authorizationRuleName}/regenerateKeys"); + _endpoints[3205] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ServiceBus/namespaces/{namespaceName}/disasterRecoveryConfigs/{alias}/AuthorizationRules/{authorizationRuleName}/listKeys"); + _endpoints[3206] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ServiceBus/namespaces/{namespaceName}/queues/{queueName}/authorizationRules/{authorizationRuleName}/ListKeys"); + _endpoints[3207] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ServiceBus/namespaces/{namespaceName}/queues/{queueName}/authorizationRules/{authorizationRuleName}/regenerateKeys"); + _endpoints[3208] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ServiceBus/namespaces/{namespaceName}/topics/{topicName}/authorizationRules/{authorizationRuleName}/ListKeys"); + _endpoints[3209] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ServiceBus/namespaces/{namespaceName}/topics/{topicName}/authorizationRules/{authorizationRuleName}/regenerateKeys"); + _endpoints[3210] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ServiceBus/namespaces/{namespaceName}/topics/{topicName}/subscriptions/{subscriptionName}/rules"); + _endpoints[3211] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/databases/{databaseName}/advisors/{advisorName}/recommendedActions"); + _endpoints[3212] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/databases/{databaseName}/dataMaskingPolicies/{dataMaskingPolicyName}/rules"); + _endpoints[3213] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/databases/{databaseName}/operations/{operationId}/cancel"); + _endpoints[3214] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/databases/{databaseName}/replicationLinks/{linkId}/failover"); + _endpoints[3215] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/databases/{databaseName}/replicationLinks/{linkId}/forceFailoverAllowDataLoss"); + _endpoints[3216] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/databases/{databaseName}/syncGroups/{syncGroupName}/cancelSync"); + _endpoints[3217] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/databases/{databaseName}/syncGroups/{syncGroupName}/hubSchemas"); + _endpoints[3218] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/databases/{databaseName}/syncGroups/{syncGroupName}/logs"); + _endpoints[3219] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/databases/{databaseName}/syncGroups/{syncGroupName}/refreshHubSchema"); + _endpoints[3220] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/databases/{databaseName}/syncGroups/{syncGroupName}/syncMembers"); + _endpoints[3221] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/databases/{databaseName}/syncGroups/{syncGroupName}/triggerSync"); + _endpoints[3222] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/databases/{databaseName}/topQueries/{queryId}/queryText"); + _endpoints[3223] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/databases/{databaseName}/topQueries/{queryId}/statistics"); + _endpoints[3224] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/databases/{databaseName}/transparentDataEncryption/{transparentDataEncryptionName}/operationResults"); + _endpoints[3225] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/databases/{databaseName}/vulnerabilityAssessments/{vulnerabilityAssessmentName}/scans"); + _endpoints[3226] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/elasticPools/{elasticPoolName}/operations/{operationId}/cancel"); + _endpoints[3227] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/jobAgents/{jobAgentName}/jobs/{jobName}/executions"); + _endpoints[3228] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/jobAgents/{jobAgentName}/jobs/{jobName}/start"); + _endpoints[3229] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/jobAgents/{jobAgentName}/jobs/{jobName}/steps"); + _endpoints[3230] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/jobAgents/{jobAgentName}/jobs/{jobName}/versions"); + _endpoints[3231] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.StorSimple/managers/{managerName}/devices/{deviceName}/backupPolicies/{backupPolicyName}/backup"); + _endpoints[3232] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.StorSimple/managers/{managerName}/devices/{deviceName}/backupPolicies/{backupPolicyName}/schedules"); + _endpoints[3233] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.StorSimple/managers/{managerName}/devices/{deviceName}/backups/{backupName}/restore"); + _endpoints[3234] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.StorSimple/managers/{managerName}/devices/{deviceName}/hardwareComponentGroups/{hardwareComponentGroupName}/changeControllerPowerState"); + _endpoints[3235] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.StorSimple/managers/{managerName}/devices/{deviceName}/jobs/{jobName}/cancel"); + _endpoints[3236] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.StorSimple/managers/{managerName}/devices/{deviceName}/volumeContainers/{volumeContainerName}/metrics"); + _endpoints[3237] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.StorSimple/managers/{managerName}/devices/{deviceName}/volumeContainers/{volumeContainerName}/metricsDefinitions"); + _endpoints[3238] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.StorSimple/managers/{managerName}/devices/{deviceName}/volumeContainers/{volumeContainerName}/volumes"); + _endpoints[3239] = CreateEndpoint("/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.Update.Admin/updateLocations/{updateLocation}/updates/{updateName}/updateRuns/{runName}/rerun"); + _endpoints[3240] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/microsoft.visualstudio/account/{rootResourceName}/project/{resourceName}/subContainers/{subContainerName}/status"); + _endpoints[3241] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/hostingEnvironments/{name}/workerPools/{workerPoolName}/instances/{instance}/metricdefinitions"); + _endpoints[3242] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/hostingEnvironments/{name}/workerPools/{workerPoolName}/instances/{instance}/metrics"); + _endpoints[3243] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/serverfarms/{name}/hybridConnectionNamespaces/{namespaceName}/relays/{relayName}/listKeys"); + _endpoints[3244] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/serverfarms/{name}/hybridConnectionNamespaces/{namespaceName}/relays/{relayName}/sites"); + _endpoints[3245] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/hybridConnectionNamespaces/{namespaceName}/relays/{relayName}/listKeys"); + _endpoints[3246] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/instances/{instanceId}/processes/{processId}/dump"); + _endpoints[3247] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/instances/{instanceId}/processes/{processId}/modules"); + _endpoints[3248] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/instances/{instanceId}/processes/{processId}/threads"); + _endpoints[3249] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/backups/{backupId}/list"); + _endpoints[3250] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/backups/{backupId}/restore"); + _endpoints[3251] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/continuouswebjobs/{webJobName}/start"); + _endpoints[3252] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/continuouswebjobs/{webJobName}/stop"); + _endpoints[3253] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/deployments/{id}/log"); + _endpoints[3254] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/functions/{functionName}/listsecrets"); + _endpoints[3255] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/instances/{instanceId}/deployments"); + _endpoints[3256] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/instances/{instanceId}/processes"); + _endpoints[3257] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/processes/{processId}/dump"); + _endpoints[3258] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/processes/{processId}/modules"); + _endpoints[3259] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/processes/{processId}/threads"); + _endpoints[3260] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/triggeredwebjobs/{webJobName}/history"); + _endpoints[3261] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/triggeredwebjobs/{webJobName}/run"); + _endpoints[3262] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{siteName}/diagnostics/{diagnosticCategory}/analyses/{analysisName}/execute"); + _endpoints[3263] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{siteName}/diagnostics/{diagnosticCategory}/detectors/{detectorName}/execute"); + _endpoints[3264] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{siteName}/slots/{slot}/diagnostics/{diagnosticCategory}/analyses"); + _endpoints[3265] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{siteName}/slots/{slot}/diagnostics/{diagnosticCategory}/detectors"); + _endpoints[3266] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/databases/{databaseRid}/collections/{collectionRid}/partitions/metrics"); + _endpoints[3267] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/databases/{databaseRid}/collections/{collectionRid}/partitions/usages"); + _endpoints[3268] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/sourceRegion/{sourceRegion}/targetRegion/{targetRegion}/percentile/metrics"); + _endpoints[3269] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/instances/{instanceId}/extensions/MSDeploy"); + _endpoints[3270] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/instances/{instanceId}/extensions/MSDeploy/log"); + _endpoints[3271] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/apis/{apiId}/diagnostics/{diagnosticId}/loggers/{loggerid}"); + _endpoints[3272] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/apis/{apiId}/issues/{issueId}/attachments/{attachmentId}"); + _endpoints[3273] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/apis/{apiId}/issues/{issueId}/comments/{commentId}"); + _endpoints[3274] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/apis/{apiId}/operations/{operationId}/policies/{policyId}"); + _endpoints[3275] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/apis/{apiId}/operations/{operationId}/tags/{tagId}"); + _endpoints[3276] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Automation/automationAccounts/{automationAccountName}/sourceControls/{sourceControlName}/sourceControlSyncJobs/{sourceControlSyncJobId}/streams/{streamId}"); + _endpoints[3277] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/microsoft.Compute/virtualMachineScaleSets/{virtualMachineScaleSetName}/virtualMachines/{virtualmachineIndex}/networkInterfaces/{networkInterfaceName}/ipConfigurations/{ipConfigurationName}"); + _endpoints[3278] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Fabric.Admin/fabricLocations/{location}/storageSubSystems/{storageSubSystem}/storagePools/{storagePool}/volumes/{volume}"); + _endpoints[3279] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Logic/workflows/{workflowName}/runs/{runName}/actions/{actionName}/repetitions/{repetitionName}"); + _endpoints[3280] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Logic/workflows/{workflowName}/runs/{runName}/actions/{actionName}/scopeRepetitions/{repetitionName}"); + _endpoints[3281] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Migrate/projects/{projectName}/groups/{groupName}/assessments/{assessmentName}/assessedMachines/{assessedMachineName}"); + _endpoints[3282] = CreateEndpoint("/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationFabrics/{fabricName}/replicationNetworks/{networkName}/replicationNetworkMappings/{networkMappingName}"); + _endpoints[3283] = CreateEndpoint("/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationFabrics/{fabricName}/replicationProtectionContainers/{protectionContainerName}/replicationProtectableItems/{protectableItemName}"); + _endpoints[3284] = CreateEndpoint("/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationFabrics/{fabricName}/replicationProtectionContainers/{protectionContainerName}/replicationProtectedItems/{replicatedProtectedItemName}"); + _endpoints[3285] = CreateEndpoint("/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationFabrics/{fabricName}/replicationProtectionContainers/{protectionContainerName}/replicationProtectionContainerMappings/{mappingName}"); + _endpoints[3286] = CreateEndpoint("/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationFabrics/{fabricName}/replicationStorageClassifications/{storageClassificationName}/replicationStorageClassificationMappings/{storageClassificationMappingName}"); + _endpoints[3287] = CreateEndpoint("/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupFabrics/{fabricName}/protectionContainers/{containerName}/operationResults/{operationId}"); + _endpoints[3288] = CreateEndpoint("/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupFabrics/{fabricName}/protectionContainers/{containerName}/protectedItems/{protectedItemName}"); + _endpoints[3289] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ServiceBus/namespaces/{namespaceName}/topics/{topicName}/subscriptions/{subscriptionName}/rules/{ruleName}"); + _endpoints[3290] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/databases/{databaseName}/advisors/{advisorName}/recommendedActions/{recommendedActionName}"); + _endpoints[3291] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/databases/{databaseName}/dataMaskingPolicies/{dataMaskingPolicyName}/rules/{dataMaskingRuleName}"); + _endpoints[3292] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/databases/{databaseName}/syncGroups/{syncGroupName}/syncMembers/{syncMemberName}"); + _endpoints[3293] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/databases/{databaseName}/vulnerabilityAssessments/{vulnerabilityAssessmentName}/scans/{scanId}"); + _endpoints[3294] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/jobAgents/{jobAgentName}/jobs/{jobName}/executions/{jobExecutionId}"); + _endpoints[3295] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/jobAgents/{jobAgentName}/jobs/{jobName}/steps/{stepName}"); + _endpoints[3296] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/jobAgents/{jobAgentName}/jobs/{jobName}/versions/{jobVersion}"); + _endpoints[3297] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.StorSimple/managers/{managerName}/devices/{deviceName}/backupPolicies/{backupPolicyName}/schedules/{backupScheduleName}"); + _endpoints[3298] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.StorSimple/managers/{managerName}/devices/{deviceName}/volumeContainers/{volumeContainerName}/volumes/{volumeName}"); + _endpoints[3299] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/instances/{instanceId}/processes/{processId}/modules/{baseAddress}"); + _endpoints[3300] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/instances/{instanceId}/processes/{processId}/threads/{threadId}"); + _endpoints[3301] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/hybridConnectionNamespaces/{namespaceName}/relays/{relayName}"); + _endpoints[3302] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/instances/{instanceId}/deployments/{id}"); + _endpoints[3303] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/instances/{instanceId}/processes/{processId}"); + _endpoints[3304] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/processes/{processId}/modules/{baseAddress}"); + _endpoints[3305] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/processes/{processId}/threads/{threadId}"); + _endpoints[3306] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/triggeredwebjobs/{webJobName}/history/{id}"); + _endpoints[3307] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/virtualNetworkConnections/{vnetName}/gateways/{gatewayName}"); + _endpoints[3308] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{siteName}/slots/{slot}/diagnostics/{diagnosticCategory}/analyses/{analysisName}"); + _endpoints[3309] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{siteName}/slots/{slot}/diagnostics/{diagnosticCategory}/detectors/{detectorName}"); + _endpoints[3310] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/virtualMachineScaleSets/{virtualMachineScaleSetName}/virtualMachines/{virtualmachineIndex}/networkInterfaces/{networkInterfaceName}/ipconfigurations/{ipConfigurationName}/publicipaddresses"); + _endpoints[3311] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/databases/{databaseRid}/collections/{collectionRid}/partitionKeyRangeId/{partitionKeyRangeId}/metrics"); + _endpoints[3312] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/region/{region}/databases/{databaseRid}/collections/{collectionRid}/metrics"); + _endpoints[3313] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Logic/workflows/{workflowName}/runs/{runName}/actions/{actionName}/repetitions/{repetitionName}/listExpressionTraces"); + _endpoints[3314] = CreateEndpoint("/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationFabrics/{fabricName}/replicationProtectionContainers/{protectionContainerName}/replicationProtectedItems/{replicatedProtectedItemName}/applyRecoveryPoint"); + _endpoints[3315] = CreateEndpoint("/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationFabrics/{fabricName}/replicationProtectionContainers/{protectionContainerName}/replicationProtectedItems/{replicatedProtectedItemName}/failoverCommit"); + _endpoints[3316] = CreateEndpoint("/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationFabrics/{fabricName}/replicationProtectionContainers/{protectionContainerName}/replicationProtectedItems/{replicatedProtectedItemName}/plannedFailover"); + _endpoints[3317] = CreateEndpoint("/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationFabrics/{fabricName}/replicationProtectionContainers/{protectionContainerName}/replicationProtectedItems/{replicatedProtectedItemName}/recoveryPoints"); + _endpoints[3318] = CreateEndpoint("/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationFabrics/{fabricName}/replicationProtectionContainers/{protectionContainerName}/replicationProtectedItems/{replicatedProtectedItemName}/remove"); + _endpoints[3319] = CreateEndpoint("/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationFabrics/{fabricName}/replicationProtectionContainers/{protectionContainerName}/replicationProtectedItems/{replicatedProtectedItemName}/repairReplication"); + _endpoints[3320] = CreateEndpoint("/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationFabrics/{fabricName}/replicationProtectionContainers/{protectionContainerName}/replicationProtectedItems/{replicatedProtectedItemName}/reProtect"); + _endpoints[3321] = CreateEndpoint("/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationFabrics/{fabricName}/replicationProtectionContainers/{protectionContainerName}/replicationProtectedItems/{replicatedProtectedItemName}/targetComputeSizes"); + _endpoints[3322] = CreateEndpoint("/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationFabrics/{fabricName}/replicationProtectionContainers/{protectionContainerName}/replicationProtectedItems/{replicatedProtectedItemName}/testFailover"); + _endpoints[3323] = CreateEndpoint("/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationFabrics/{fabricName}/replicationProtectionContainers/{protectionContainerName}/replicationProtectedItems/{replicatedProtectedItemName}/testFailoverCleanup"); + _endpoints[3324] = CreateEndpoint("/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationFabrics/{fabricName}/replicationProtectionContainers/{protectionContainerName}/replicationProtectedItems/{replicatedProtectedItemName}/unplannedFailover"); + _endpoints[3325] = CreateEndpoint("/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationFabrics/{fabricName}/replicationProtectionContainers/{protectionContainerName}/replicationProtectedItems/{replicationProtectedItemName}/updateMobilityService"); + _endpoints[3326] = CreateEndpoint("/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationFabrics/{fabricName}/replicationProtectionContainers/{protectionContainerName}/replicationProtectionContainerMappings/{mappingName}/remove"); + _endpoints[3327] = CreateEndpoint("/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupFabrics/{fabricName}/protectionContainers/{containerName}/protectedItems/{protectedItemName}/backup"); + _endpoints[3328] = CreateEndpoint("/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupFabrics/{fabricName}/protectionContainers/{containerName}/protectedItems/{protectedItemName}/recoveryPoints"); + _endpoints[3329] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/databases/{databaseName}/syncGroups/{syncGroupName}/syncMembers/{syncMemberName}/refreshSchema"); + _endpoints[3330] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/databases/{databaseName}/syncGroups/{syncGroupName}/syncMembers/{syncMemberName}/schemas"); + _endpoints[3331] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/databases/{databaseName}/vulnerabilityAssessments/{vulnerabilityAssessmentName}/scans/{scanId}/export"); + _endpoints[3332] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/databases/{databaseName}/vulnerabilityAssessments/{vulnerabilityAssessmentName}/scans/{scanId}/initiateScan"); + _endpoints[3333] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/jobAgents/{jobAgentName}/jobs/{jobName}/executions/{jobExecutionId}/cancel"); + _endpoints[3334] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/jobAgents/{jobAgentName}/jobs/{jobName}/executions/{jobExecutionId}/steps"); + _endpoints[3335] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/jobAgents/{jobAgentName}/jobs/{jobName}/executions/{jobExecutionId}/targets"); + _endpoints[3336] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/jobAgents/{jobAgentName}/jobs/{jobName}/versions/{jobVersion}/steps"); + _endpoints[3337] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.StorSimple/managers/{managerName}/devices/{deviceName}/backups/{backupName}/elements/{backupElementName}/clone"); + _endpoints[3338] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.StorSimple/managers/{managerName}/devices/{deviceName}/volumeContainers/{volumeContainerName}/volumes/{volumeName}/metrics"); + _endpoints[3339] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.StorSimple/managers/{managerName}/devices/{deviceName}/volumeContainers/{volumeContainerName}/volumes/{volumeName}/metricsDefinitions"); + _endpoints[3340] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/hybridConnectionNamespaces/{namespaceName}/relays/{relayName}/listKeys"); + _endpoints[3341] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/instances/{instanceId}/processes/{processId}/dump"); + _endpoints[3342] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/instances/{instanceId}/processes/{processId}/modules"); + _endpoints[3343] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/instances/{instanceId}/processes/{processId}/threads"); + _endpoints[3344] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{siteName}/slots/{slot}/diagnostics/{diagnosticCategory}/analyses/{analysisName}/execute"); + _endpoints[3345] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{siteName}/slots/{slot}/diagnostics/{diagnosticCategory}/detectors/{detectorName}/execute"); + _endpoints[3346] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/region/{region}/databases/{databaseRid}/collections/{collectionRid}/partitions/metrics"); + _endpoints[3347] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/virtualMachineScaleSets/{virtualMachineScaleSetName}/virtualMachines/{virtualmachineIndex}/networkInterfaces/{networkInterfaceName}/ipconfigurations/{ipConfigurationName}/publicipaddresses/{publicIpAddressName}"); + _endpoints[3348] = CreateEndpoint("/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationFabrics/{fabricName}/replicationProtectionContainers/{protectionContainerName}/replicationProtectedItems/{replicatedProtectedItemName}/recoveryPoints/{recoveryPointName}"); + _endpoints[3349] = CreateEndpoint("/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupFabrics/{fabricName}/protectionContainers/{containerName}/protectedItems/{protectedItemName}/operationResults/{operationId}"); + _endpoints[3350] = CreateEndpoint("/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupFabrics/{fabricName}/protectionContainers/{containerName}/protectedItems/{protectedItemName}/operationsStatus/{operationId}"); + _endpoints[3351] = CreateEndpoint("/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupFabrics/{fabricName}/protectionContainers/{containerName}/protectedItems/{protectedItemName}/recoveryPoints/{recoveryPointId}"); + _endpoints[3352] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/databases/{databaseName}/vulnerabilityAssessments/{vulnerabilityAssessmentName}/rules/{ruleId}/baselines/{baselineName}"); + _endpoints[3353] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/jobAgents/{jobAgentName}/jobs/{jobName}/executions/{jobExecutionId}/steps/{stepName}"); + _endpoints[3354] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/jobAgents/{jobAgentName}/jobs/{jobName}/versions/{jobVersion}/steps/{stepName}"); + _endpoints[3355] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/instances/{instanceId}/processes/{processId}/modules/{baseAddress}"); + _endpoints[3356] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/instances/{instanceId}/processes/{processId}/threads/{threadId}"); + _endpoints[3357] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/region/{region}/databases/{databaseRid}/collections/{collectionRid}/partitionKeyRangeId/{partitionKeyRangeId}/metrics"); + _endpoints[3358] = CreateEndpoint("/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupFabrics/{fabricName}/protectionContainers/{containerName}/protectedItems/{protectedItemName}/recoveryPoints/{recoveryPointId}/provisionInstantItemRecovery"); + _endpoints[3359] = CreateEndpoint("/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupFabrics/{fabricName}/protectionContainers/{containerName}/protectedItems/{protectedItemName}/recoveryPoints/{recoveryPointId}/restore"); + _endpoints[3360] = CreateEndpoint("/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupFabrics/{fabricName}/protectionContainers/{containerName}/protectedItems/{protectedItemName}/recoveryPoints/{recoveryPointId}/revokeInstantItemRecovery"); + _endpoints[3361] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/jobAgents/{jobAgentName}/jobs/{jobName}/executions/{jobExecutionId}/steps/{stepName}/targets"); + _endpoints[3362] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/jobAgents/{jobAgentName}/jobs/{jobName}/executions/{jobExecutionId}/steps/{stepName}/targets/{targetId}"); + _endpoints[3363] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/quotas/{quotaCounterKey}/{quotaPeriodKey}"); + _endpoints[3364] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Security/locations/{ascLocation}/alerts/{alertName}/{alertUpdateActionType}"); + _endpoints[3365] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Security/locations/{ascLocation}/jitNetworkAccessPolicies/{jitNetworkAccessPolicyName}/{jitNetworkAccessPolicyActionType}"); + _endpoints[3366] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Security/locations/{ascLocation}/tasks/{taskName}/{taskUpdateActionType}"); + _endpoints[3367] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/microsoft.insights/components/{resourceName}/{scopePath}"); + _endpoints[3368] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/dnsZones/{zoneName}/{recordType}"); + _endpoints[3369] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/microsoft.insights/components/{resourceName}/{scopePath}/item"); + _endpoints[3370] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/dnsZones/{zoneName}/{recordType}/{relativeRecordSetName}"); + _endpoints[3371] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/trafficmanagerprofiles/{profileName}/{endpointType}/{endpointName}"); + _endpoints[3372] = CreateEndpoint("/apis/{apiId}/operations/{operationId}/policies/{policyId}"); + _endpoints[3373] = CreateEndpoint("/apps/{appId}/versions/{versionId}/closedlists/{clEntityId}"); + _endpoints[3374] = CreateEndpoint("/apps/{appId}/versions/{versionId}/compositeentities/{cEntityId}"); + _endpoints[3375] = CreateEndpoint("/apps/{appId}/versions/{versionId}/customprebuiltdomains/{domainName}"); + _endpoints[3376] = CreateEndpoint("/apps/{appId}/versions/{versionId}/entities/{entityId}"); + _endpoints[3377] = CreateEndpoint("/apps/{appId}/versions/{versionId}/examples/{exampleId}"); + _endpoints[3378] = CreateEndpoint("/apps/{appId}/versions/{versionId}/hierarchicalentities/{hEntityId}"); + _endpoints[3379] = CreateEndpoint("/apps/{appId}/versions/{versionId}/intents/{intentId}"); + _endpoints[3380] = CreateEndpoint("/apps/{appId}/versions/{versionId}/patternanyentities/{entityId}"); + _endpoints[3381] = CreateEndpoint("/apps/{appId}/versions/{versionId}/patternrules/{patternId}"); + _endpoints[3382] = CreateEndpoint("/apps/{appId}/versions/{versionId}/patterns/{patternId}"); + _endpoints[3383] = CreateEndpoint("/apps/{appId}/versions/{versionId}/phraselists/{phraselistId}"); + _endpoints[3384] = CreateEndpoint("/apps/{appId}/versions/{versionId}/prebuilts/{prebuiltId}"); + _endpoints[3385] = CreateEndpoint("/apps/{appId}/versions/{versionId}/regexentities/{regexEntityId}"); + _endpoints[3386] = CreateEndpoint("/jobs/{jobId}/tasks/{taskId}/files/{filePath}"); + _endpoints[3387] = CreateEndpoint("/persongroups/{personGroupId}/persons/{personId}/persistedFaces/{persistedFaceId}"); + _endpoints[3388] = CreateEndpoint("/pools/{poolId}/nodes/{nodeId}/files/{filePath}"); + _endpoints[3389] = CreateEndpoint("/pools/{poolId}/nodes/{nodeId}/users/{userName}"); + _endpoints[3390] = CreateEndpoint("/subscriptions/{subscriptionId}/tagNames/{tagName}/tagValues/{tagValue}"); + _endpoints[3391] = CreateEndpoint("/apps/{appId}/versions/{versionId}/closedlists/{clEntityId}/sublists"); + _endpoints[3392] = CreateEndpoint("/apps/{appId}/versions/{versionId}/closedlists/{entityId}/roles"); + _endpoints[3393] = CreateEndpoint("/apps/{appId}/versions/{versionId}/compositeentities/{cEntityId}/children"); + _endpoints[3394] = CreateEndpoint("/apps/{appId}/versions/{versionId}/compositeentities/{cEntityId}/roles"); + _endpoints[3395] = CreateEndpoint("/apps/{appId}/versions/{versionId}/customprebuiltentities/{entityId}/roles"); + _endpoints[3396] = CreateEndpoint("/apps/{appId}/versions/{versionId}/entities/{entityId}/roles"); + _endpoints[3397] = CreateEndpoint("/apps/{appId}/versions/{versionId}/entities/{entityId}/suggest"); + _endpoints[3398] = CreateEndpoint("/apps/{appId}/versions/{versionId}/hierarchicalentities/{hEntityId}/children"); + _endpoints[3399] = CreateEndpoint("/apps/{appId}/versions/{versionId}/hierarchicalentities/{hEntityId}/roles"); + _endpoints[3400] = CreateEndpoint("/apps/{appId}/versions/{versionId}/intents/{intentId}/patternrules"); + _endpoints[3401] = CreateEndpoint("/apps/{appId}/versions/{versionId}/intents/{intentId}/suggest"); + _endpoints[3402] = CreateEndpoint("/apps/{appId}/versions/{versionId}/models/{modelId}/examples"); + _endpoints[3403] = CreateEndpoint("/apps/{appId}/versions/{versionId}/patternanyentities/{entityId}/explicitlist"); + _endpoints[3404] = CreateEndpoint("/apps/{appId}/versions/{versionId}/patternanyentities/{entityId}/roles"); + _endpoints[3405] = CreateEndpoint("/apps/{appId}/versions/{versionId}/prebuilts/{entityId}/roles"); + _endpoints[3406] = CreateEndpoint("/apps/{appId}/versions/{versionId}/regexentities/{entityId}/roles"); + _endpoints[3407] = CreateEndpoint("/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/deployments/{deploymentName}/operations"); + _endpoints[3408] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/{authorizationNamespace}/policyAssignments/{policyAssignmentName}/providers/Microsoft.PolicyInsights/policyEvents/{policyEventsResource}/queryResults"); + _endpoints[3409] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/{authorizationNamespace}/policyAssignments/{policyAssignmentName}/providers/Microsoft.PolicyInsights/policyStates/{policyStatesResource}/queryResults"); + _endpoints[3410] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/{authorizationNamespace}/policyAssignments/{policyAssignmentName}/providers/Microsoft.PolicyInsights/policyStates/{policyStatesSummaryResource}/summarize"); + _endpoints[3411] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/{authorizationNamespace}/policyDefinitions/{policyDefinitionName}/providers/Microsoft.PolicyInsights/policyEvents/{policyEventsResource}/queryResults"); + _endpoints[3412] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/{authorizationNamespace}/policyDefinitions/{policyDefinitionName}/providers/Microsoft.PolicyInsights/policyStates/{policyStatesResource}/queryResults"); + _endpoints[3413] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/{authorizationNamespace}/policyDefinitions/{policyDefinitionName}/providers/Microsoft.PolicyInsights/policyStates/{policyStatesSummaryResource}/summarize"); + _endpoints[3414] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/{authorizationNamespace}/policySetDefinitions/{policySetDefinitionName}/providers/Microsoft.PolicyInsights/policyEvents/{policyEventsResource}/queryResults"); + _endpoints[3415] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/{authorizationNamespace}/policySetDefinitions/{policySetDefinitionName}/providers/Microsoft.PolicyInsights/policyStates/{policyStatesResource}/queryResults"); + _endpoints[3416] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/{authorizationNamespace}/policySetDefinitions/{policySetDefinitionName}/providers/Microsoft.PolicyInsights/policyStates/{policyStatesSummaryResource}/summarize"); + _endpoints[3417] = CreateEndpoint("/apps/{appId}/versions/{versionId}/closedlists/{clEntityId}/sublists/{subListId}"); + _endpoints[3418] = CreateEndpoint("/apps/{appId}/versions/{versionId}/closedlists/{entityId}/roles/{roleId}"); + _endpoints[3419] = CreateEndpoint("/apps/{appId}/versions/{versionId}/compositeentities/{cEntityId}/children/{cChildId}"); + _endpoints[3420] = CreateEndpoint("/apps/{appId}/versions/{versionId}/compositeentities/{cEntityId}/roles/{roleId}"); + _endpoints[3421] = CreateEndpoint("/apps/{appId}/versions/{versionId}/customprebuiltentities/{entityId}/roles/{roleId}"); + _endpoints[3422] = CreateEndpoint("/apps/{appId}/versions/{versionId}/entities/{entityId}/roles/{roleId}"); + _endpoints[3423] = CreateEndpoint("/apps/{appId}/versions/{versionId}/hierarchicalentities/{hEntityId}/children/{hChildId}"); + _endpoints[3424] = CreateEndpoint("/apps/{appId}/versions/{versionId}/hierarchicalentities/{hEntityId}/roles/{roleId}"); + _endpoints[3425] = CreateEndpoint("/apps/{appId}/versions/{versionId}/patternanyentities/{entityId}/explicitlist/{itemId}"); + _endpoints[3426] = CreateEndpoint("/apps/{appId}/versions/{versionId}/patternanyentities/{entityId}/roles/{roleId}"); + _endpoints[3427] = CreateEndpoint("/apps/{appId}/versions/{versionId}/prebuilts/{entityId}/roles/{roleId}"); + _endpoints[3428] = CreateEndpoint("/apps/{appId}/versions/{versionId}/regexentities/{entityId}/roles/{roleId}"); + _endpoints[3429] = CreateEndpoint("/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/deployments/{deploymentName}/operations/{operationId}"); + _endpoints[3430] = CreateEndpoint("/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/{authorizationNamespace}/policyAssignments/{policyAssignmentName}/providers/Microsoft.PolicyInsights/policyEvents/{policyEventsResource}/queryResults"); + _endpoints[3431] = CreateEndpoint("/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/{authorizationNamespace}/policyAssignments/{policyAssignmentName}/providers/Microsoft.PolicyInsights/policyStates/{policyStatesResource}/queryResults"); + _endpoints[3432] = CreateEndpoint("/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/{authorizationNamespace}/policyAssignments/{policyAssignmentName}/providers/Microsoft.PolicyInsights/policyStates/{policyStatesSummaryResource}/summarize"); + _endpoints[3433] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{providerNamespace}/{resourceTypeName}/{resourceName}/providers/Microsoft.EventGrid/eventSubscriptions"); + _endpoints[3434] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{providerNamespace}/{resourceTypeName}/{resourceName}/providers/Microsoft.EventGrid/eventTypes"); + _endpoints[3435] = CreateEndpoint("/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/{providerName}/{resourceType}/{resourceName}/providers/Microsoft.OperationsManagement/ManagementAssociations/{managementAssociationName}"); + _endpoints[3436] = CreateEndpoint("/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{parentResourcePath}/{resourceType}/{resourceName}"); + _endpoints[3437] = CreateEndpoint("/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{parentResourcePath}/{resourceType}/{resourceName}/providers/Microsoft.Authorization/locks"); + _endpoints[3438] = CreateEndpoint("/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{parentResourcePath}/{resourceType}/{resourceName}/providers/Microsoft.Authorization/permissions"); + _endpoints[3439] = CreateEndpoint("/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{parentResourcePath}/{resourceType}/{resourceName}/providers/Microsoft.Authorization/policyAssignments"); + _endpoints[3440] = CreateEndpoint("/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{parentResourcePath}/{resourceType}/{resourceName}/providers/Microsoft.Authorization/roleAssignments"); + _endpoints[3441] = CreateEndpoint("/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{parentResourcePath}/{resourceType}/{resourceName}/providers/Microsoft.Authorization/locks/{lockName}"); + _endpoints[3442] = CreateEndpoint("/apps/{appId}/events/{eventType}/{eventId}"); + _endpoints[3443] = CreateEndpoint("/certificates/{certificate-name}/{certificate-version}"); + _endpoints[3444] = CreateEndpoint("/keys/{key-name}/{key-version}"); + _endpoints[3445] = CreateEndpoint("/quotas/{quotaCounterKey}/{quotaPeriodKey}"); + _endpoints[3446] = CreateEndpoint("/secrets/{secret-name}/{secret-version}"); + _endpoints[3447] = CreateEndpoint("/keys/{key-name}/{key-version}/decrypt"); + _endpoints[3448] = CreateEndpoint("/keys/{key-name}/{key-version}/encrypt"); + _endpoints[3449] = CreateEndpoint("/keys/{key-name}/{key-version}/sign"); + _endpoints[3450] = CreateEndpoint("/keys/{key-name}/{key-version}/unwrapkey"); + _endpoints[3451] = CreateEndpoint("/keys/{key-name}/{key-version}/verify"); + _endpoints[3452] = CreateEndpoint("/keys/{key-name}/{key-version}/wrapkey"); + _endpoints[3453] = CreateEndpoint("/{applicationDefinitionId}"); + _endpoints[3454] = CreateEndpoint("/{projectId}/image"); + _endpoints[3455] = CreateEndpoint("/{projectId}/url"); + _endpoints[3456] = CreateEndpoint("/{tenantID}/applications"); + _endpoints[3457] = CreateEndpoint("/{tenantID}/domains"); + _endpoints[3458] = CreateEndpoint("/{tenantID}/getObjectsByObjectIds"); + _endpoints[3459] = CreateEndpoint("/{tenantID}/groups"); + _endpoints[3460] = CreateEndpoint("/{tenantID}/isMemberOf"); + _endpoints[3461] = CreateEndpoint("/{tenantID}/me"); + _endpoints[3462] = CreateEndpoint("/{tenantID}/servicePrincipals"); + _endpoints[3463] = CreateEndpoint("/{tenantID}/users"); + _endpoints[3464] = CreateEndpoint("/{projectId}/image/nostore"); + _endpoints[3465] = CreateEndpoint("/{projectId}/url/nostore"); + _endpoints[3466] = CreateEndpoint("/{resourceUri}/providers/microsoft.insights/calculatebaseline"); + _endpoints[3467] = CreateEndpoint("/{resourceUri}/providers/microsoft.insights/diagnosticSettings"); + _endpoints[3468] = CreateEndpoint("/{resourceUri}/providers/microsoft.insights/diagnosticSettingsCategories"); + _endpoints[3469] = CreateEndpoint("/{resourceUri}/providers/microsoft.insights/metricDefinitions"); + _endpoints[3470] = CreateEndpoint("/{resourceUri}/providers/microsoft.insights/metrics"); + _endpoints[3471] = CreateEndpoint("/{resourceUri}/providers/Microsoft.ResourceHealth/availabilityStatuses"); + _endpoints[3472] = CreateEndpoint("/{scope}/providers/Microsoft.Authorization/policyAssignments"); + _endpoints[3473] = CreateEndpoint("/{scope}/providers/Microsoft.Authorization/roleAssignments"); + _endpoints[3474] = CreateEndpoint("/{scope}/providers/Microsoft.Authorization/roleDefinitions"); + _endpoints[3475] = CreateEndpoint("/{scope}/providers/Microsoft.Consumption/reservationDetails"); + _endpoints[3476] = CreateEndpoint("/{scope}/providers/Microsoft.Consumption/reservationSummaries"); + _endpoints[3477] = CreateEndpoint("/{scope}/providers/Microsoft.Consumption/usageDetails"); + _endpoints[3478] = CreateEndpoint("/{scope}/providers/Microsoft.Resources/links"); + _endpoints[3479] = CreateEndpoint("/{scope}/providers/Microsoft.Security/compliances"); + _endpoints[3480] = CreateEndpoint("/{resourceUri}/providers/microsoft.insights/diagnosticSettings/service"); + _endpoints[3481] = CreateEndpoint("/{resourceUri}/providers/Microsoft.ResourceHealth/availabilityStatuses/current"); + _endpoints[3482] = CreateEndpoint("/{scope}/providers/Microsoft.PolicyInsights/policyEvents/$metadata"); + _endpoints[3483] = CreateEndpoint("/{scope}/providers/Microsoft.PolicyInsights/policyStates/$metadata"); + _endpoints[3484] = CreateEndpoint("/{resourceUri}/providers/Microsoft.Advisor/recommendations/{recommendationId}"); + _endpoints[3485] = CreateEndpoint("/{resourceUri}/providers/microsoft.insights/baseline/{metricName}"); + _endpoints[3486] = CreateEndpoint("/{resourceUri}/providers/microsoft.insights/diagnosticSettings/{name}"); + _endpoints[3487] = CreateEndpoint("/{resourceUri}/providers/microsoft.insights/diagnosticSettingsCategories/{name}"); + _endpoints[3488] = CreateEndpoint("/{scope}/providers/Microsoft.Authorization/locks/{lockName}"); + _endpoints[3489] = CreateEndpoint("/{scope}/providers/Microsoft.Authorization/policyAssignments/{policyAssignmentName}"); + _endpoints[3490] = CreateEndpoint("/{scope}/providers/Microsoft.Authorization/roleAssignments/{roleAssignmentName}"); + _endpoints[3491] = CreateEndpoint("/{scope}/providers/Microsoft.Authorization/roleDefinitions/{roleDefinitionId}"); + _endpoints[3492] = CreateEndpoint("/{scope}/providers/Microsoft.EventGrid/eventSubscriptions/{eventSubscriptionName}"); + _endpoints[3493] = CreateEndpoint("/{scope}/providers/Microsoft.Security/compliances/{complianceName}"); + _endpoints[3494] = CreateEndpoint("/{resourceId}/providers/Microsoft.PolicyInsights/policyEvents/{policyEventsResource}/queryResults"); + _endpoints[3495] = CreateEndpoint("/{resourceId}/providers/Microsoft.PolicyInsights/policyStates/{policyStatesResource}/queryResults"); + _endpoints[3496] = CreateEndpoint("/{resourceId}/providers/Microsoft.PolicyInsights/policyStates/{policyStatesSummaryResource}/summarize"); + _endpoints[3497] = CreateEndpoint("/{scope}/providers/Microsoft.EventGrid/eventSubscriptions/{eventSubscriptionName}/getFullUrl"); + _endpoints[3498] = CreateEndpoint("/{resourceUri}/providers/Microsoft.Advisor/recommendations/{recommendationId}/suppressions/{name}"); + _endpoints[3499] = CreateEndpoint("/{tenantID}/applications/{applicationObjectId}"); + _endpoints[3500] = CreateEndpoint("/{tenantID}/domains/{domainName}"); + _endpoints[3501] = CreateEndpoint("/{tenantID}/groups/{objectId}"); + _endpoints[3502] = CreateEndpoint("/{tenantID}/servicePrincipals/{objectId}"); + _endpoints[3503] = CreateEndpoint("/{tenantID}/users/{upnOrObjectId}"); + _endpoints[3504] = CreateEndpoint("/{projectId}/images/{imageId}/regionproposals"); + _endpoints[3505] = CreateEndpoint("/{tenantID}/applications/{applicationObjectId}/keyCredentials"); + _endpoints[3506] = CreateEndpoint("/{tenantID}/applications/{applicationObjectId}/owners"); + _endpoints[3507] = CreateEndpoint("/{tenantID}/applications/{applicationObjectId}/passwordCredentials"); + _endpoints[3508] = CreateEndpoint("/{tenantID}/groups/{objectId}/getMemberGroups"); + _endpoints[3509] = CreateEndpoint("/{tenantID}/groups/{objectId}/members"); + _endpoints[3510] = CreateEndpoint("/{tenantID}/servicePrincipals/{objectId}/keyCredentials"); + _endpoints[3511] = CreateEndpoint("/{tenantID}/servicePrincipals/{objectId}/owners"); + _endpoints[3512] = CreateEndpoint("/{tenantID}/servicePrincipals/{objectId}/passwordCredentials"); + _endpoints[3513] = CreateEndpoint("/{tenantID}/users/{objectId}/getMemberGroups"); + _endpoints[3514] = CreateEndpoint("/{tenantID}/applications/{applicationObjectId}/$links/owners"); + _endpoints[3515] = CreateEndpoint("/{tenantID}/groups/{groupObjectId}/$links/members"); + _endpoints[3516] = CreateEndpoint("/{tenantID}/groups/{groupObjectId}/$links/members/{memberObjectId}"); + } + + private void SetupRequests() + { + _requests = new HttpContext[3517]; + _requests[0] = new DefaultHttpContext(); + _requests[0].RequestServices = CreateServices(); + _requests[0].Request.Method = "GET"; + _requests[0].Request.Path = "/account"; + _requests[1] = new DefaultHttpContext(); + _requests[1].RequestServices = CreateServices(); + _requests[1].Request.Method = "POST"; + _requests[1].Request.Path = "/analyze"; + _requests[2] = new DefaultHttpContext(); + _requests[2].RequestServices = CreateServices(); + _requests[2].Request.Method = "GET"; + _requests[2].Request.Path = "/apis"; + _requests[3] = new DefaultHttpContext(); + _requests[3].RequestServices = CreateServices(); + _requests[3].Request.Method = "GET"; + _requests[3].Request.Path = "/Applications"; + _requests[4] = new DefaultHttpContext(); + _requests[4].RequestServices = CreateServices(); + _requests[4].Request.Method = "GET"; + _requests[4].Request.Path = "/ApplicationTypes"; + _requests[5] = new DefaultHttpContext(); + _requests[5].RequestServices = CreateServices(); + _requests[5].Request.Method = "GET"; + _requests[5].Request.Path = "/apps"; + _requests[6] = new DefaultHttpContext(); + _requests[6].RequestServices = CreateServices(); + _requests[6].Request.Method = "GET"; + _requests[6].Request.Path = "/authorizationServers"; + _requests[7] = new DefaultHttpContext(); + _requests[7].RequestServices = CreateServices(); + _requests[7].Request.Method = "GET"; + _requests[7].Request.Path = "/backends"; + _requests[8] = new DefaultHttpContext(); + _requests[8].RequestServices = CreateServices(); + _requests[8].Request.Method = "POST"; + _requests[8].Request.Path = "/BuildJob"; + _requests[9] = new DefaultHttpContext(); + _requests[9].RequestServices = CreateServices(); + _requests[9].Request.Method = "GET"; + _requests[9].Request.Path = "/certificates"; + _requests[10] = new DefaultHttpContext(); + _requests[10].RequestServices = CreateServices(); + _requests[10].Request.Method = "GET"; + _requests[10].Request.Path = "/ComposeDeployments"; + _requests[11] = new DefaultHttpContext(); + _requests[11].RequestServices = CreateServices(); + _requests[11].Request.Method = "POST"; + _requests[11].Request.Path = "/datasources"; + _requests[12] = new DefaultHttpContext(); + _requests[12].RequestServices = CreateServices(); + _requests[12].Request.Method = "GET"; + _requests[12].Request.Path = "/deletedcertificates"; + _requests[13] = new DefaultHttpContext(); + _requests[13].RequestServices = CreateServices(); + _requests[13].Request.Method = "GET"; + _requests[13].Request.Path = "/deletedkeys"; + _requests[14] = new DefaultHttpContext(); + _requests[14].RequestServices = CreateServices(); + _requests[14].Request.Method = "GET"; + _requests[14].Request.Path = "/deletedsecrets"; + _requests[15] = new DefaultHttpContext(); + _requests[15].RequestServices = CreateServices(); + _requests[15].Request.Method = "GET"; + _requests[15].Request.Path = "/deletedstorage"; + _requests[16] = new DefaultHttpContext(); + _requests[16].RequestServices = CreateServices(); + _requests[16].Request.Method = "POST"; + _requests[16].Request.Path = "/describe"; + _requests[17] = new DefaultHttpContext(); + _requests[17].RequestServices = CreateServices(); + _requests[17].Request.Method = "POST"; + _requests[17].Request.Path = "/detect"; + _requests[18] = new DefaultHttpContext(); + _requests[18].RequestServices = CreateServices(); + _requests[18].Request.Method = "GET"; + _requests[18].Request.Path = "/domains"; + _requests[19] = new DefaultHttpContext(); + _requests[19].RequestServices = CreateServices(); + _requests[19].Request.Method = "GET"; + _requests[19].Request.Path = "/entities"; + _requests[20] = new DefaultHttpContext(); + _requests[20].RequestServices = CreateServices(); + _requests[20].Request.Method = "GET"; + _requests[20].Request.Path = "/facelists"; + _requests[21] = new DefaultHttpContext(); + _requests[21].RequestServices = CreateServices(); + _requests[21].Request.Method = "GET"; + _requests[21].Request.Path = "/Faults"; + _requests[22] = new DefaultHttpContext(); + _requests[22].RequestServices = CreateServices(); + _requests[22].Request.Method = "POST"; + _requests[22].Request.Path = "/findsimilars"; + _requests[23] = new DefaultHttpContext(); + _requests[23].RequestServices = CreateServices(); + _requests[23].Request.Method = "POST"; + _requests[23].Request.Path = "/generateThumbnail"; + _requests[24] = new DefaultHttpContext(); + _requests[24].RequestServices = CreateServices(); + _requests[24].Request.Method = "POST"; + _requests[24].Request.Path = "/group"; + _requests[25] = new DefaultHttpContext(); + _requests[25].RequestServices = CreateServices(); + _requests[25].Request.Method = "GET"; + _requests[25].Request.Path = "/groups"; + _requests[26] = new DefaultHttpContext(); + _requests[26].RequestServices = CreateServices(); + _requests[26].Request.Method = "POST"; + _requests[26].Request.Path = "/identify"; + _requests[27] = new DefaultHttpContext(); + _requests[27].RequestServices = CreateServices(); + _requests[27].Request.Method = "GET"; + _requests[27].Request.Path = "/identityProviders"; + _requests[28] = new DefaultHttpContext(); + _requests[28].RequestServices = CreateServices(); + _requests[28].Request.Method = "GET"; + _requests[28].Request.Path = "/ImageStore"; + _requests[29] = new DefaultHttpContext(); + _requests[29].RequestServices = CreateServices(); + _requests[29].Request.Method = "POST"; + _requests[29].Request.Path = "/indexers"; + _requests[30] = new DefaultHttpContext(); + _requests[30].RequestServices = CreateServices(); + _requests[30].Request.Method = "GET"; + _requests[30].Request.Path = "/indexes"; + _requests[31] = new DefaultHttpContext(); + _requests[31].RequestServices = CreateServices(); + _requests[31].Request.Method = "GET"; + _requests[31].Request.Path = "/Jobs"; + _requests[32] = new DefaultHttpContext(); + _requests[32].RequestServices = CreateServices(); + _requests[32].Request.Method = "GET"; + _requests[32].Request.Path = "/jobschedules"; + _requests[33] = new DefaultHttpContext(); + _requests[33].RequestServices = CreateServices(); + _requests[33].Request.Method = "GET"; + _requests[33].Request.Path = "/keys"; + _requests[34] = new DefaultHttpContext(); + _requests[34].RequestServices = CreateServices(); + _requests[34].Request.Method = "GET"; + _requests[34].Request.Path = "/lifetimejobstats"; + _requests[35] = new DefaultHttpContext(); + _requests[35].RequestServices = CreateServices(); + _requests[35].Request.Method = "GET"; + _requests[35].Request.Path = "/lifetimepoolstats"; + _requests[36] = new DefaultHttpContext(); + _requests[36].RequestServices = CreateServices(); + _requests[36].Request.Method = "GET"; + _requests[36].Request.Path = "/loggers"; + _requests[37] = new DefaultHttpContext(); + _requests[37].RequestServices = CreateServices(); + _requests[37].Request.Method = "GET"; + _requests[37].Request.Path = "/models"; + _requests[38] = new DefaultHttpContext(); + _requests[38].RequestServices = CreateServices(); + _requests[38].Request.Method = "GET"; + _requests[38].Request.Path = "/news"; + _requests[39] = new DefaultHttpContext(); + _requests[39].RequestServices = CreateServices(); + _requests[39].Request.Method = "GET"; + _requests[39].Request.Path = "/nodeagentskus"; + _requests[40] = new DefaultHttpContext(); + _requests[40].RequestServices = CreateServices(); + _requests[40].Request.Method = "GET"; + _requests[40].Request.Path = "/nodecounts"; + _requests[41] = new DefaultHttpContext(); + _requests[41].RequestServices = CreateServices(); + _requests[41].Request.Method = "GET"; + _requests[41].Request.Path = "/Nodes"; + _requests[42] = new DefaultHttpContext(); + _requests[42].RequestServices = CreateServices(); + _requests[42].Request.Method = "POST"; + _requests[42].Request.Path = "/ocr"; + _requests[43] = new DefaultHttpContext(); + _requests[43].RequestServices = CreateServices(); + _requests[43].Request.Method = "GET"; + _requests[43].Request.Path = "/offers"; + _requests[44] = new DefaultHttpContext(); + _requests[44].RequestServices = CreateServices(); + _requests[44].Request.Method = "GET"; + _requests[44].Request.Path = "/openidConnectProviders"; + _requests[45] = new DefaultHttpContext(); + _requests[45].RequestServices = CreateServices(); + _requests[45].Request.Method = "GET"; + _requests[45].Request.Path = "/persongroups"; + _requests[46] = new DefaultHttpContext(); + _requests[46].RequestServices = CreateServices(); + _requests[46].Request.Method = "GET"; + _requests[46].Request.Path = "/pipelines"; + _requests[47] = new DefaultHttpContext(); + _requests[47].RequestServices = CreateServices(); + _requests[47].Request.Method = "GET"; + _requests[47].Request.Path = "/policies"; + _requests[48] = new DefaultHttpContext(); + _requests[48].RequestServices = CreateServices(); + _requests[48].Request.Method = "GET"; + _requests[48].Request.Path = "/policySnippets"; + _requests[49] = new DefaultHttpContext(); + _requests[49].RequestServices = CreateServices(); + _requests[49].Request.Method = "GET"; + _requests[49].Request.Path = "/pools"; + _requests[50] = new DefaultHttpContext(); + _requests[50].RequestServices = CreateServices(); + _requests[50].Request.Method = "GET"; + _requests[50].Request.Path = "/poolusagemetrics"; + _requests[51] = new DefaultHttpContext(); + _requests[51].RequestServices = CreateServices(); + _requests[51].Request.Method = "GET"; + _requests[51].Request.Path = "/products"; + _requests[52] = new DefaultHttpContext(); + _requests[52].RequestServices = CreateServices(); + _requests[52].Request.Method = "POST"; + _requests[52].Request.Path = "/projects"; + _requests[53] = new DefaultHttpContext(); + _requests[53].RequestServices = CreateServices(); + _requests[53].Request.Method = "GET"; + _requests[53].Request.Path = "/properties"; + _requests[54] = new DefaultHttpContext(); + _requests[54].RequestServices = CreateServices(); + _requests[54].Request.Method = "POST"; + _requests[54].Request.Path = "/recognizeText"; + _requests[55] = new DefaultHttpContext(); + _requests[55].RequestServices = CreateServices(); + _requests[55].Request.Method = "GET"; + _requests[55].Request.Path = "/recurrences"; + _requests[56] = new DefaultHttpContext(); + _requests[56].RequestServices = CreateServices(); + _requests[56].Request.Method = "GET"; + _requests[56].Request.Path = "/regions"; + _requests[57] = new DefaultHttpContext(); + _requests[57].RequestServices = CreateServices(); + _requests[57].Request.Method = "GET"; + _requests[57].Request.Path = "/search"; + _requests[58] = new DefaultHttpContext(); + _requests[58].RequestServices = CreateServices(); + _requests[58].Request.Method = "GET"; + _requests[58].Request.Path = "/secrets"; + _requests[59] = new DefaultHttpContext(); + _requests[59].RequestServices = CreateServices(); + _requests[59].Request.Method = "GET"; + _requests[59].Request.Path = "/servicestats"; + _requests[60] = new DefaultHttpContext(); + _requests[60].RequestServices = CreateServices(); + _requests[60].Request.Method = "POST"; + _requests[60].Request.Path = "/spellcheck"; + _requests[61] = new DefaultHttpContext(); + _requests[61].RequestServices = CreateServices(); + _requests[61].Request.Method = "GET"; + _requests[61].Request.Path = "/storage"; + _requests[62] = new DefaultHttpContext(); + _requests[62].RequestServices = CreateServices(); + _requests[62].Request.Method = "GET"; + _requests[62].Request.Path = "/subscriptions"; + _requests[63] = new DefaultHttpContext(); + _requests[63].RequestServices = CreateServices(); + _requests[63].Request.Method = "POST"; + _requests[63].Request.Path = "/synonymmaps"; + _requests[64] = new DefaultHttpContext(); + _requests[64].RequestServices = CreateServices(); + _requests[64].Request.Method = "POST"; + _requests[64].Request.Path = "/tag"; + _requests[65] = new DefaultHttpContext(); + _requests[65].RequestServices = CreateServices(); + _requests[65].Request.Method = "GET"; + _requests[65].Request.Path = "/templates"; + _requests[66] = new DefaultHttpContext(); + _requests[66].RequestServices = CreateServices(); + _requests[66].Request.Method = "GET"; + _requests[66].Request.Path = "/tenants"; + _requests[67] = new DefaultHttpContext(); + _requests[67].RequestServices = CreateServices(); + _requests[67].Request.Method = "GET"; + _requests[67].Request.Path = "/users"; + _requests[68] = new DefaultHttpContext(); + _requests[68].RequestServices = CreateServices(); + _requests[68].Request.Method = "POST"; + _requests[68].Request.Path = "/verify"; + _requests[69] = new DefaultHttpContext(); + _requests[69].RequestServices = CreateServices(); + _requests[69].Request.Method = "POST"; + _requests[69].Request.Path = "/$/CancelRepairTask"; + _requests[70] = new DefaultHttpContext(); + _requests[70].RequestServices = CreateServices(); + _requests[70].Request.Method = "POST"; + _requests[70].Request.Path = "/$/CreateRepairTask"; + _requests[71] = new DefaultHttpContext(); + _requests[71].RequestServices = CreateServices(); + _requests[71].Request.Method = "POST"; + _requests[71].Request.Path = "/$/DeleteRepairTask"; + _requests[72] = new DefaultHttpContext(); + _requests[72].RequestServices = CreateServices(); + _requests[72].Request.Method = "POST"; + _requests[72].Request.Path = "/$/ForceApproveRepairTask"; + _requests[73] = new DefaultHttpContext(); + _requests[73].RequestServices = CreateServices(); + _requests[73].Request.Method = "GET"; + _requests[73].Request.Path = "/$/GetAadMetadata"; + _requests[74] = new DefaultHttpContext(); + _requests[74].RequestServices = CreateServices(); + _requests[74].Request.Method = "GET"; + _requests[74].Request.Path = "/$/GetClusterConfiguration"; + _requests[75] = new DefaultHttpContext(); + _requests[75].RequestServices = CreateServices(); + _requests[75].Request.Method = "GET"; + _requests[75].Request.Path = "/$/GetClusterConfigurationUpgradeStatus"; + _requests[76] = new DefaultHttpContext(); + _requests[76].RequestServices = CreateServices(); + _requests[76].Request.Method = "POST"; + _requests[76].Request.Path = "/$/GetClusterHealth"; + _requests[77] = new DefaultHttpContext(); + _requests[77].RequestServices = CreateServices(); + _requests[77].Request.Method = "POST"; + _requests[77].Request.Path = "/$/GetClusterHealthChunk"; + _requests[78] = new DefaultHttpContext(); + _requests[78].RequestServices = CreateServices(); + _requests[78].Request.Method = "GET"; + _requests[78].Request.Path = "/$/GetClusterManifest"; + _requests[79] = new DefaultHttpContext(); + _requests[79].RequestServices = CreateServices(); + _requests[79].Request.Method = "GET"; + _requests[79].Request.Path = "/$/GetLoadInformation"; + _requests[80] = new DefaultHttpContext(); + _requests[80].RequestServices = CreateServices(); + _requests[80].Request.Method = "GET"; + _requests[80].Request.Path = "/$/GetProvisionedCodeVersions"; + _requests[81] = new DefaultHttpContext(); + _requests[81].RequestServices = CreateServices(); + _requests[81].Request.Method = "GET"; + _requests[81].Request.Path = "/$/GetProvisionedConfigVersions"; + _requests[82] = new DefaultHttpContext(); + _requests[82].RequestServices = CreateServices(); + _requests[82].Request.Method = "GET"; + _requests[82].Request.Path = "/$/GetRepairTaskList"; + _requests[83] = new DefaultHttpContext(); + _requests[83].RequestServices = CreateServices(); + _requests[83].Request.Method = "GET"; + _requests[83].Request.Path = "/$/GetUpgradeOrchestrationServiceState"; + _requests[84] = new DefaultHttpContext(); + _requests[84].RequestServices = CreateServices(); + _requests[84].Request.Method = "GET"; + _requests[84].Request.Path = "/$/GetUpgradeProgress"; + _requests[85] = new DefaultHttpContext(); + _requests[85].RequestServices = CreateServices(); + _requests[85].Request.Method = "POST"; + _requests[85].Request.Path = "/$/InvokeInfrastructureCommand"; + _requests[86] = new DefaultHttpContext(); + _requests[86].RequestServices = CreateServices(); + _requests[86].Request.Method = "GET"; + _requests[86].Request.Path = "/$/InvokeInfrastructureQuery"; + _requests[87] = new DefaultHttpContext(); + _requests[87].RequestServices = CreateServices(); + _requests[87].Request.Method = "POST"; + _requests[87].Request.Path = "/$/MoveToNextUpgradeDomain"; + _requests[88] = new DefaultHttpContext(); + _requests[88].RequestServices = CreateServices(); + _requests[88].Request.Method = "POST"; + _requests[88].Request.Path = "/$/Provision"; + _requests[89] = new DefaultHttpContext(); + _requests[89].RequestServices = CreateServices(); + _requests[89].Request.Method = "POST"; + _requests[89].Request.Path = "/$/RecoverAllPartitions"; + _requests[90] = new DefaultHttpContext(); + _requests[90].RequestServices = CreateServices(); + _requests[90].Request.Method = "POST"; + _requests[90].Request.Path = "/$/RecoverSystemPartitions"; + _requests[91] = new DefaultHttpContext(); + _requests[91].RequestServices = CreateServices(); + _requests[91].Request.Method = "POST"; + _requests[91].Request.Path = "/$/ReportClusterHealth"; + _requests[92] = new DefaultHttpContext(); + _requests[92].RequestServices = CreateServices(); + _requests[92].Request.Method = "POST"; + _requests[92].Request.Path = "/$/RollbackUpgrade"; + _requests[93] = new DefaultHttpContext(); + _requests[93].RequestServices = CreateServices(); + _requests[93].Request.Method = "POST"; + _requests[93].Request.Path = "/$/SetUpgradeOrchestrationServiceState"; + _requests[94] = new DefaultHttpContext(); + _requests[94].RequestServices = CreateServices(); + _requests[94].Request.Method = "POST"; + _requests[94].Request.Path = "/$/StartClusterConfigurationUpgrade"; + _requests[95] = new DefaultHttpContext(); + _requests[95].RequestServices = CreateServices(); + _requests[95].Request.Method = "POST"; + _requests[95].Request.Path = "/$/Unprovision"; + _requests[96] = new DefaultHttpContext(); + _requests[96].RequestServices = CreateServices(); + _requests[96].Request.Method = "POST"; + _requests[96].Request.Path = "/$/UpdateRepairExecutionState"; + _requests[97] = new DefaultHttpContext(); + _requests[97].RequestServices = CreateServices(); + _requests[97].Request.Method = "POST"; + _requests[97].Request.Path = "/$/UpdateRepairTaskHealthPolicy"; + _requests[98] = new DefaultHttpContext(); + _requests[98].RequestServices = CreateServices(); + _requests[98].Request.Method = "POST"; + _requests[98].Request.Path = "/$/UpdateUpgrade"; + _requests[99] = new DefaultHttpContext(); + _requests[99].RequestServices = CreateServices(); + _requests[99].Request.Method = "POST"; + _requests[99].Request.Path = "/$/Upgrade"; + _requests[100] = new DefaultHttpContext(); + _requests[100].RequestServices = CreateServices(); + _requests[100].Request.Method = "POST"; + _requests[100].Request.Path = "/api/events"; + _requests[101] = new DefaultHttpContext(); + _requests[101].RequestServices = CreateServices(); + _requests[101].Request.Method = "GET"; + _requests[101].Request.Path = "/apps/assistants"; + _requests[102] = new DefaultHttpContext(); + _requests[102].RequestServices = CreateServices(); + _requests[102].Request.Method = "GET"; + _requests[102].Request.Path = "/apps/cultures"; + _requests[103] = new DefaultHttpContext(); + _requests[103].RequestServices = CreateServices(); + _requests[103].Request.Method = "POST"; + _requests[103].Request.Path = "/apps/customprebuiltdomains"; + _requests[104] = new DefaultHttpContext(); + _requests[104].RequestServices = CreateServices(); + _requests[104].Request.Method = "GET"; + _requests[104].Request.Path = "/apps/domains"; + _requests[105] = new DefaultHttpContext(); + _requests[105].RequestServices = CreateServices(); + _requests[105].Request.Method = "POST"; + _requests[105].Request.Path = "/apps/import"; + _requests[106] = new DefaultHttpContext(); + _requests[106].RequestServices = CreateServices(); + _requests[106].Request.Method = "GET"; + _requests[106].Request.Path = "/apps/usagescenarios"; + _requests[107] = new DefaultHttpContext(); + _requests[107].RequestServices = CreateServices(); + _requests[107].Request.Method = "GET"; + _requests[107].Request.Path = "/BackupRestore/BackupPolicies"; + _requests[108] = new DefaultHttpContext(); + _requests[108].RequestServices = CreateServices(); + _requests[108].Request.Method = "DELETE"; + _requests[108].Request.Path = "/certificates/contacts"; + _requests[109] = new DefaultHttpContext(); + _requests[109].RequestServices = CreateServices(); + _requests[109].Request.Method = "GET"; + _requests[109].Request.Path = "/certificates/issuers"; + _requests[110] = new DefaultHttpContext(); + _requests[110].RequestServices = CreateServices(); + _requests[110].Request.Method = "GET"; + _requests[110].Request.Path = "/docs/$count"; + _requests[111] = new DefaultHttpContext(); + _requests[111].RequestServices = CreateServices(); + _requests[111].Request.Method = "POST"; + _requests[111].Request.Path = "/docs/autocomplete"; + _requests[112] = new DefaultHttpContext(); + _requests[112].RequestServices = CreateServices(); + _requests[112].Request.Method = "GET"; + _requests[112].Request.Path = "/images/details"; + _requests[113] = new DefaultHttpContext(); + _requests[113].RequestServices = CreateServices(); + _requests[113].Request.Method = "GET"; + _requests[113].Request.Path = "/images/search"; + _requests[114] = new DefaultHttpContext(); + _requests[114].RequestServices = CreateServices(); + _requests[114].Request.Method = "GET"; + _requests[114].Request.Path = "/images/trending"; + _requests[115] = new DefaultHttpContext(); + _requests[115].RequestServices = CreateServices(); + _requests[115].Request.Method = "POST"; + _requests[115].Request.Path = "/images/visualsearch"; + _requests[116] = new DefaultHttpContext(); + _requests[116].RequestServices = CreateServices(); + _requests[116].Request.Method = "POST"; + _requests[116].Request.Path = "/keys/restore"; + _requests[117] = new DefaultHttpContext(); + _requests[117].RequestServices = CreateServices(); + _requests[117].Request.Method = "GET"; + _requests[117].Request.Path = "/news/search"; + _requests[118] = new DefaultHttpContext(); + _requests[118].RequestServices = CreateServices(); + _requests[118].Request.Method = "GET"; + _requests[118].Request.Path = "/news/trendingtopics"; + _requests[119] = new DefaultHttpContext(); + _requests[119].RequestServices = CreateServices(); + _requests[119].Request.Method = "PUT"; + _requests[119].Request.Path = "/portalsettings/delegation"; + _requests[120] = new DefaultHttpContext(); + _requests[120].RequestServices = CreateServices(); + _requests[120].Request.Method = "PUT"; + _requests[120].Request.Path = "/portalsettings/signin"; + _requests[121] = new DefaultHttpContext(); + _requests[121].RequestServices = CreateServices(); + _requests[121].Request.Method = "PUT"; + _requests[121].Request.Path = "/portalsettings/signup"; + _requests[122] = new DefaultHttpContext(); + _requests[122].RequestServices = CreateServices(); + _requests[122].Request.Method = "GET"; + _requests[122].Request.Path = "/reports/byApi"; + _requests[123] = new DefaultHttpContext(); + _requests[123].RequestServices = CreateServices(); + _requests[123].Request.Method = "GET"; + _requests[123].Request.Path = "/reports/byGeo"; + _requests[124] = new DefaultHttpContext(); + _requests[124].RequestServices = CreateServices(); + _requests[124].Request.Method = "GET"; + _requests[124].Request.Path = "/reports/byOperation"; + _requests[125] = new DefaultHttpContext(); + _requests[125].RequestServices = CreateServices(); + _requests[125].Request.Method = "GET"; + _requests[125].Request.Path = "/reports/byProduct"; + _requests[126] = new DefaultHttpContext(); + _requests[126].RequestServices = CreateServices(); + _requests[126].Request.Method = "GET"; + _requests[126].Request.Path = "/reports/byRequest"; + _requests[127] = new DefaultHttpContext(); + _requests[127].RequestServices = CreateServices(); + _requests[127].Request.Method = "GET"; + _requests[127].Request.Path = "/reports/bySubscription"; + _requests[128] = new DefaultHttpContext(); + _requests[128].RequestServices = CreateServices(); + _requests[128].Request.Method = "GET"; + _requests[128].Request.Path = "/reports/byTime"; + _requests[129] = new DefaultHttpContext(); + _requests[129].RequestServices = CreateServices(); + _requests[129].Request.Method = "GET"; + _requests[129].Request.Path = "/reports/byUser"; + _requests[130] = new DefaultHttpContext(); + _requests[130].RequestServices = CreateServices(); + _requests[130].Request.Method = "POST"; + _requests[130].Request.Path = "/secrets/restore"; + _requests[131] = new DefaultHttpContext(); + _requests[131].RequestServices = CreateServices(); + _requests[131].Request.Method = "POST"; + _requests[131].Request.Path = "/storage/restore"; + _requests[132] = new DefaultHttpContext(); + _requests[132].RequestServices = CreateServices(); + _requests[132].Request.Method = "GET"; + _requests[132].Request.Path = "/Tools/Chaos"; + _requests[133] = new DefaultHttpContext(); + _requests[133].RequestServices = CreateServices(); + _requests[133].Request.Method = "POST"; + _requests[133].Request.Path = "/v2.0/entities"; + _requests[134] = new DefaultHttpContext(); + _requests[134].RequestServices = CreateServices(); + _requests[134].Request.Method = "POST"; + _requests[134].Request.Path = "/v2.0/keyPhrases"; + _requests[135] = new DefaultHttpContext(); + _requests[135].RequestServices = CreateServices(); + _requests[135].Request.Method = "POST"; + _requests[135].Request.Path = "/v2.0/languages"; + _requests[136] = new DefaultHttpContext(); + _requests[136].RequestServices = CreateServices(); + _requests[136].Request.Method = "POST"; + _requests[136].Request.Path = "/v2.0/sentiment"; + _requests[137] = new DefaultHttpContext(); + _requests[137].RequestServices = CreateServices(); + _requests[137].Request.Method = "GET"; + _requests[137].Request.Path = "/videos/details"; + _requests[138] = new DefaultHttpContext(); + _requests[138].RequestServices = CreateServices(); + _requests[138].Request.Method = "GET"; + _requests[138].Request.Path = "/videos/search"; + _requests[139] = new DefaultHttpContext(); + _requests[139].RequestServices = CreateServices(); + _requests[139].Request.Method = "GET"; + _requests[139].Request.Path = "/videos/trending"; + _requests[140] = new DefaultHttpContext(); + _requests[140].RequestServices = CreateServices(); + _requests[140].Request.Method = "POST"; + _requests[140].Request.Path = "/Applications/$/Create"; + _requests[141] = new DefaultHttpContext(); + _requests[141].RequestServices = CreateServices(); + _requests[141].Request.Method = "POST"; + _requests[141].Request.Path = "/ApplicationTypes/$/Provision"; + _requests[142] = new DefaultHttpContext(); + _requests[142].RequestServices = CreateServices(); + _requests[142].Request.Method = "POST"; + _requests[142].Request.Path = "/BackupRestore/$/GetBackups"; + _requests[143] = new DefaultHttpContext(); + _requests[143].RequestServices = CreateServices(); + _requests[143].Request.Method = "GET"; + _requests[143].Request.Path = "/catalog/usql/acl"; + _requests[144] = new DefaultHttpContext(); + _requests[144].RequestServices = CreateServices(); + _requests[144].Request.Method = "GET"; + _requests[144].Request.Path = "/catalog/usql/databases"; + _requests[145] = new DefaultHttpContext(); + _requests[145].RequestServices = CreateServices(); + _requests[145].Request.Method = "PUT"; + _requests[145].Request.Path = "/ComposeDeployments/$/Create"; + _requests[146] = new DefaultHttpContext(); + _requests[146].RequestServices = CreateServices(); + _requests[146].Request.Method = "GET"; + _requests[146].Request.Path = "/EventsStore/Applications/Events"; + _requests[147] = new DefaultHttpContext(); + _requests[147].RequestServices = CreateServices(); + _requests[147].Request.Method = "GET"; + _requests[147].Request.Path = "/EventsStore/Cluster/Events"; + _requests[148] = new DefaultHttpContext(); + _requests[148].RequestServices = CreateServices(); + _requests[148].Request.Method = "GET"; + _requests[148].Request.Path = "/EventsStore/Containers/Events"; + _requests[149] = new DefaultHttpContext(); + _requests[149].RequestServices = CreateServices(); + _requests[149].Request.Method = "GET"; + _requests[149].Request.Path = "/EventsStore/Nodes/Events"; + _requests[150] = new DefaultHttpContext(); + _requests[150].RequestServices = CreateServices(); + _requests[150].Request.Method = "GET"; + _requests[150].Request.Path = "/EventsStore/Partitions/Events"; + _requests[151] = new DefaultHttpContext(); + _requests[151].RequestServices = CreateServices(); + _requests[151].Request.Method = "GET"; + _requests[151].Request.Path = "/EventsStore/Services/Events"; + _requests[152] = new DefaultHttpContext(); + _requests[152].RequestServices = CreateServices(); + _requests[152].Request.Method = "POST"; + _requests[152].Request.Path = "/Faults/$/Cancel"; + _requests[153] = new DefaultHttpContext(); + _requests[153].RequestServices = CreateServices(); + _requests[153].Request.Method = "POST"; + _requests[153].Request.Path = "/ImageStore/$/CommitUploadSession"; + _requests[154] = new DefaultHttpContext(); + _requests[154].RequestServices = CreateServices(); + _requests[154].Request.Method = "POST"; + _requests[154].Request.Path = "/ImageStore/$/Copy"; + _requests[155] = new DefaultHttpContext(); + _requests[155].RequestServices = CreateServices(); + _requests[155].Request.Method = "DELETE"; + _requests[155].Request.Path = "/ImageStore/$/DeleteUploadSession"; + _requests[156] = new DefaultHttpContext(); + _requests[156].RequestServices = CreateServices(); + _requests[156].Request.Method = "GET"; + _requests[156].Request.Path = "/ImageStore/$/GetUploadSession"; + _requests[157] = new DefaultHttpContext(); + _requests[157].RequestServices = CreateServices(); + _requests[157].Request.Method = "POST"; + _requests[157].Request.Path = "/Names/$/Create"; + _requests[158] = new DefaultHttpContext(); + _requests[158].RequestServices = CreateServices(); + _requests[158].Request.Method = "GET"; + _requests[158].Request.Path = "/providers/Microsoft.AAD/operations"; + _requests[159] = new DefaultHttpContext(); + _requests[159].RequestServices = CreateServices(); + _requests[159].Request.Method = "GET"; + _requests[159].Request.Path = "/providers/Microsoft.Addons/operations"; + _requests[160] = new DefaultHttpContext(); + _requests[160].RequestServices = CreateServices(); + _requests[160].Request.Method = "POST"; + _requests[160].Request.Path = "/providers/Microsoft.ADHybridHealthService/addsservices"; + _requests[161] = new DefaultHttpContext(); + _requests[161].RequestServices = CreateServices(); + _requests[161].Request.Method = "PATCH"; + _requests[161].Request.Path = "/providers/Microsoft.ADHybridHealthService/configuration"; + _requests[162] = new DefaultHttpContext(); + _requests[162].RequestServices = CreateServices(); + _requests[162].Request.Method = "GET"; + _requests[162].Request.Path = "/providers/Microsoft.ADHybridHealthService/operations"; + _requests[163] = new DefaultHttpContext(); + _requests[163].RequestServices = CreateServices(); + _requests[163].Request.Method = "POST"; + _requests[163].Request.Path = "/providers/Microsoft.ADHybridHealthService/services"; + _requests[164] = new DefaultHttpContext(); + _requests[164].RequestServices = CreateServices(); + _requests[164].Request.Method = "GET"; + _requests[164].Request.Path = "/providers/Microsoft.Advisor/operations"; + _requests[165] = new DefaultHttpContext(); + _requests[165].RequestServices = CreateServices(); + _requests[165].Request.Method = "GET"; + _requests[165].Request.Path = "/providers/Microsoft.AnalysisServices/operations"; + _requests[166] = new DefaultHttpContext(); + _requests[166].RequestServices = CreateServices(); + _requests[166].Request.Method = "GET"; + _requests[166].Request.Path = "/providers/Microsoft.ApiManagement/operations"; + _requests[167] = new DefaultHttpContext(); + _requests[167].RequestServices = CreateServices(); + _requests[167].Request.Method = "GET"; + _requests[167].Request.Path = "/providers/Microsoft.Authorization/policyDefinitions"; + _requests[168] = new DefaultHttpContext(); + _requests[168].RequestServices = CreateServices(); + _requests[168].Request.Method = "GET"; + _requests[168].Request.Path = "/providers/Microsoft.Authorization/policySetDefinitions"; + _requests[169] = new DefaultHttpContext(); + _requests[169].RequestServices = CreateServices(); + _requests[169].Request.Method = "GET"; + _requests[169].Request.Path = "/providers/Microsoft.Authorization/providerOperations"; + _requests[170] = new DefaultHttpContext(); + _requests[170].RequestServices = CreateServices(); + _requests[170].Request.Method = "GET"; + _requests[170].Request.Path = "/providers/Microsoft.Automation/operations"; + _requests[171] = new DefaultHttpContext(); + _requests[171].RequestServices = CreateServices(); + _requests[171].Request.Method = "GET"; + _requests[171].Request.Path = "/providers/Microsoft.AzureStack/operations"; + _requests[172] = new DefaultHttpContext(); + _requests[172].RequestServices = CreateServices(); + _requests[172].Request.Method = "GET"; + _requests[172].Request.Path = "/providers/Microsoft.Backup.Admin/operations"; + _requests[173] = new DefaultHttpContext(); + _requests[173].RequestServices = CreateServices(); + _requests[173].Request.Method = "GET"; + _requests[173].Request.Path = "/providers/Microsoft.Batch/operations"; + _requests[174] = new DefaultHttpContext(); + _requests[174].RequestServices = CreateServices(); + _requests[174].Request.Method = "GET"; + _requests[174].Request.Path = "/providers/Microsoft.BatchAI/operations"; + _requests[175] = new DefaultHttpContext(); + _requests[175].RequestServices = CreateServices(); + _requests[175].Request.Method = "GET"; + _requests[175].Request.Path = "/providers/Microsoft.Billing/enrollmentAccounts"; + _requests[176] = new DefaultHttpContext(); + _requests[176].RequestServices = CreateServices(); + _requests[176].Request.Method = "GET"; + _requests[176].Request.Path = "/providers/Microsoft.Billing/operations"; + _requests[177] = new DefaultHttpContext(); + _requests[177].RequestServices = CreateServices(); + _requests[177].Request.Method = "GET"; + _requests[177].Request.Path = "/providers/Microsoft.BotService/operations"; + _requests[178] = new DefaultHttpContext(); + _requests[178].RequestServices = CreateServices(); + _requests[178].Request.Method = "GET"; + _requests[178].Request.Path = "/providers/Microsoft.Cache/operations"; + _requests[179] = new DefaultHttpContext(); + _requests[179].RequestServices = CreateServices(); + _requests[179].Request.Method = "GET"; + _requests[179].Request.Path = "/providers/Microsoft.Capacity/operations"; + _requests[180] = new DefaultHttpContext(); + _requests[180].RequestServices = CreateServices(); + _requests[180].Request.Method = "GET"; + _requests[180].Request.Path = "/providers/Microsoft.Capacity/reservationOrders"; + _requests[181] = new DefaultHttpContext(); + _requests[181].RequestServices = CreateServices(); + _requests[181].Request.Method = "POST"; + _requests[181].Request.Path = "/providers/Microsoft.Cdn/checkNameAvailability"; + _requests[182] = new DefaultHttpContext(); + _requests[182].RequestServices = CreateServices(); + _requests[182].Request.Method = "GET"; + _requests[182].Request.Path = "/providers/Microsoft.Cdn/edgenodes"; + _requests[183] = new DefaultHttpContext(); + _requests[183].RequestServices = CreateServices(); + _requests[183].Request.Method = "GET"; + _requests[183].Request.Path = "/providers/Microsoft.Cdn/operations"; + _requests[184] = new DefaultHttpContext(); + _requests[184].RequestServices = CreateServices(); + _requests[184].Request.Method = "GET"; + _requests[184].Request.Path = "/providers/Microsoft.CertificateRegistration/operations"; + _requests[185] = new DefaultHttpContext(); + _requests[185].RequestServices = CreateServices(); + _requests[185].Request.Method = "GET"; + _requests[185].Request.Path = "/providers/Microsoft.CognitiveServices/operations"; + _requests[186] = new DefaultHttpContext(); + _requests[186].RequestServices = CreateServices(); + _requests[186].Request.Method = "GET"; + _requests[186].Request.Path = "/providers/Microsoft.Commerce.Admin/operations"; + _requests[187] = new DefaultHttpContext(); + _requests[187].RequestServices = CreateServices(); + _requests[187].Request.Method = "GET"; + _requests[187].Request.Path = "/providers/Microsoft.Compute.Admin/operations"; + _requests[188] = new DefaultHttpContext(); + _requests[188].RequestServices = CreateServices(); + _requests[188].Request.Method = "GET"; + _requests[188].Request.Path = "/providers/Microsoft.Compute/operations"; + _requests[189] = new DefaultHttpContext(); + _requests[189].RequestServices = CreateServices(); + _requests[189].Request.Method = "GET"; + _requests[189].Request.Path = "/providers/Microsoft.Consumption/operations"; + _requests[190] = new DefaultHttpContext(); + _requests[190].RequestServices = CreateServices(); + _requests[190].Request.Method = "GET"; + _requests[190].Request.Path = "/providers/Microsoft.ContainerInstance/operations"; + _requests[191] = new DefaultHttpContext(); + _requests[191].RequestServices = CreateServices(); + _requests[191].Request.Method = "GET"; + _requests[191].Request.Path = "/providers/Microsoft.ContainerRegistry/operations"; + _requests[192] = new DefaultHttpContext(); + _requests[192].RequestServices = CreateServices(); + _requests[192].Request.Method = "GET"; + _requests[192].Request.Path = "/providers/Microsoft.ContainerService/operations"; + _requests[193] = new DefaultHttpContext(); + _requests[193].RequestServices = CreateServices(); + _requests[193].Request.Method = "GET"; + _requests[193].Request.Path = "/providers/Microsoft.CustomerInsights/operations"; + _requests[194] = new DefaultHttpContext(); + _requests[194].RequestServices = CreateServices(); + _requests[194].Request.Method = "GET"; + _requests[194].Request.Path = "/providers/Microsoft.DataBox/operations"; + _requests[195] = new DefaultHttpContext(); + _requests[195].RequestServices = CreateServices(); + _requests[195].Request.Method = "GET"; + _requests[195].Request.Path = "/providers/Microsoft.Databricks/operations"; + _requests[196] = new DefaultHttpContext(); + _requests[196].RequestServices = CreateServices(); + _requests[196].Request.Method = "GET"; + _requests[196].Request.Path = "/providers/Microsoft.DataCatalog/operations"; + _requests[197] = new DefaultHttpContext(); + _requests[197].RequestServices = CreateServices(); + _requests[197].Request.Method = "GET"; + _requests[197].Request.Path = "/providers/Microsoft.DataFactory/operations"; + _requests[198] = new DefaultHttpContext(); + _requests[198].RequestServices = CreateServices(); + _requests[198].Request.Method = "GET"; + _requests[198].Request.Path = "/providers/Microsoft.DataLakeAnalytics/operations"; + _requests[199] = new DefaultHttpContext(); + _requests[199].RequestServices = CreateServices(); + _requests[199].Request.Method = "GET"; + _requests[199].Request.Path = "/providers/Microsoft.DataLakeStore/operations"; + _requests[200] = new DefaultHttpContext(); + _requests[200].RequestServices = CreateServices(); + _requests[200].Request.Method = "GET"; + _requests[200].Request.Path = "/providers/Microsoft.DataMigration/operations"; + _requests[201] = new DefaultHttpContext(); + _requests[201].RequestServices = CreateServices(); + _requests[201].Request.Method = "GET"; + _requests[201].Request.Path = "/providers/Microsoft.DBforMySQL/operations"; + _requests[202] = new DefaultHttpContext(); + _requests[202].RequestServices = CreateServices(); + _requests[202].Request.Method = "GET"; + _requests[202].Request.Path = "/providers/Microsoft.DBforPostgreSQL/operations"; + _requests[203] = new DefaultHttpContext(); + _requests[203].RequestServices = CreateServices(); + _requests[203].Request.Method = "GET"; + _requests[203].Request.Path = "/providers/Microsoft.Devices/operations"; + _requests[204] = new DefaultHttpContext(); + _requests[204].RequestServices = CreateServices(); + _requests[204].Request.Method = "GET"; + _requests[204].Request.Path = "/providers/Microsoft.DevTestLab/operations"; + _requests[205] = new DefaultHttpContext(); + _requests[205].RequestServices = CreateServices(); + _requests[205].Request.Method = "GET"; + _requests[205].Request.Path = "/providers/Microsoft.DocumentDB/operations"; + _requests[206] = new DefaultHttpContext(); + _requests[206].RequestServices = CreateServices(); + _requests[206].Request.Method = "GET"; + _requests[206].Request.Path = "/providers/Microsoft.DomainRegistration/operations"; + _requests[207] = new DefaultHttpContext(); + _requests[207].RequestServices = CreateServices(); + _requests[207].Request.Method = "GET"; + _requests[207].Request.Path = "/providers/Microsoft.EventGrid/operations"; + _requests[208] = new DefaultHttpContext(); + _requests[208].RequestServices = CreateServices(); + _requests[208].Request.Method = "GET"; + _requests[208].Request.Path = "/providers/Microsoft.EventGrid/topicTypes"; + _requests[209] = new DefaultHttpContext(); + _requests[209].RequestServices = CreateServices(); + _requests[209].Request.Method = "GET"; + _requests[209].Request.Path = "/providers/Microsoft.EventHub/operations"; + _requests[210] = new DefaultHttpContext(); + _requests[210].RequestServices = CreateServices(); + _requests[210].Request.Method = "GET"; + _requests[210].Request.Path = "/providers/Microsoft.Fabric.Admin/operations"; + _requests[211] = new DefaultHttpContext(); + _requests[211].RequestServices = CreateServices(); + _requests[211].Request.Method = "GET"; + _requests[211].Request.Path = "/providers/Microsoft.Gallery.Admin/operations"; + _requests[212] = new DefaultHttpContext(); + _requests[212].RequestServices = CreateServices(); + _requests[212].Request.Method = "GET"; + _requests[212].Request.Path = "/providers/Microsoft.HanaOnAzure/operations"; + _requests[213] = new DefaultHttpContext(); + _requests[213].RequestServices = CreateServices(); + _requests[213].Request.Method = "GET"; + _requests[213].Request.Path = "/providers/Microsoft.HDInsight/operations"; + _requests[214] = new DefaultHttpContext(); + _requests[214].RequestServices = CreateServices(); + _requests[214].Request.Method = "GET"; + _requests[214].Request.Path = "/providers/Microsoft.ImportExport/locations"; + _requests[215] = new DefaultHttpContext(); + _requests[215].RequestServices = CreateServices(); + _requests[215].Request.Method = "GET"; + _requests[215].Request.Path = "/providers/Microsoft.ImportExport/operations"; + _requests[216] = new DefaultHttpContext(); + _requests[216].RequestServices = CreateServices(); + _requests[216].Request.Method = "GET"; + _requests[216].Request.Path = "/providers/Microsoft.InfrastructureInsights.Admin/operations"; + _requests[217] = new DefaultHttpContext(); + _requests[217].RequestServices = CreateServices(); + _requests[217].Request.Method = "GET"; + _requests[217].Request.Path = "/providers/microsoft.insights/eventcategories"; + _requests[218] = new DefaultHttpContext(); + _requests[218].RequestServices = CreateServices(); + _requests[218].Request.Method = "GET"; + _requests[218].Request.Path = "/providers/microsoft.insights/operations"; + _requests[219] = new DefaultHttpContext(); + _requests[219].RequestServices = CreateServices(); + _requests[219].Request.Method = "GET"; + _requests[219].Request.Path = "/providers/Microsoft.Intune/locations"; + _requests[220] = new DefaultHttpContext(); + _requests[220].RequestServices = CreateServices(); + _requests[220].Request.Method = "GET"; + _requests[220].Request.Path = "/providers/Microsoft.IoTCentral/operations"; + _requests[221] = new DefaultHttpContext(); + _requests[221].RequestServices = CreateServices(); + _requests[221].Request.Method = "GET"; + _requests[221].Request.Path = "/providers/Microsoft.IoTSpaces/operations"; + _requests[222] = new DefaultHttpContext(); + _requests[222].RequestServices = CreateServices(); + _requests[222].Request.Method = "GET"; + _requests[222].Request.Path = "/providers/Microsoft.KeyVault.Admin/operations"; + _requests[223] = new DefaultHttpContext(); + _requests[223].RequestServices = CreateServices(); + _requests[223].Request.Method = "GET"; + _requests[223].Request.Path = "/providers/Microsoft.KeyVault/operations"; + _requests[224] = new DefaultHttpContext(); + _requests[224].RequestServices = CreateServices(); + _requests[224].Request.Method = "GET"; + _requests[224].Request.Path = "/providers/Microsoft.Logic/operations"; + _requests[225] = new DefaultHttpContext(); + _requests[225].RequestServices = CreateServices(); + _requests[225].Request.Method = "GET"; + _requests[225].Request.Path = "/providers/Microsoft.MachineLearning/operations"; + _requests[226] = new DefaultHttpContext(); + _requests[226].RequestServices = CreateServices(); + _requests[226].Request.Method = "GET"; + _requests[226].Request.Path = "/providers/Microsoft.MachineLearningCompute/operations"; + _requests[227] = new DefaultHttpContext(); + _requests[227].RequestServices = CreateServices(); + _requests[227].Request.Method = "GET"; + _requests[227].Request.Path = "/providers/Microsoft.MachineLearningExperimentation/operations"; + _requests[228] = new DefaultHttpContext(); + _requests[228].RequestServices = CreateServices(); + _requests[228].Request.Method = "GET"; + _requests[228].Request.Path = "/providers/Microsoft.MachineLearningServices/operations"; + _requests[229] = new DefaultHttpContext(); + _requests[229].RequestServices = CreateServices(); + _requests[229].Request.Method = "GET"; + _requests[229].Request.Path = "/providers/Microsoft.ManagedIdentity/operations"; + _requests[230] = new DefaultHttpContext(); + _requests[230].RequestServices = CreateServices(); + _requests[230].Request.Method = "POST"; + _requests[230].Request.Path = "/providers/Microsoft.Management/checkNameAvailability"; + _requests[231] = new DefaultHttpContext(); + _requests[231].RequestServices = CreateServices(); + _requests[231].Request.Method = "POST"; + _requests[231].Request.Path = "/providers/Microsoft.Management/getEntities"; + _requests[232] = new DefaultHttpContext(); + _requests[232].RequestServices = CreateServices(); + _requests[232].Request.Method = "GET"; + _requests[232].Request.Path = "/providers/Microsoft.Management/managementGroups"; + _requests[233] = new DefaultHttpContext(); + _requests[233].RequestServices = CreateServices(); + _requests[233].Request.Method = "GET"; + _requests[233].Request.Path = "/providers/Microsoft.Management/operations"; + _requests[234] = new DefaultHttpContext(); + _requests[234].RequestServices = CreateServices(); + _requests[234].Request.Method = "POST"; + _requests[234].Request.Path = "/providers/Microsoft.Management/startTenantBackfill"; + _requests[235] = new DefaultHttpContext(); + _requests[235].RequestServices = CreateServices(); + _requests[235].Request.Method = "POST"; + _requests[235].Request.Path = "/providers/Microsoft.Management/tenantBackfillStatus"; + _requests[236] = new DefaultHttpContext(); + _requests[236].RequestServices = CreateServices(); + _requests[236].Request.Method = "GET"; + _requests[236].Request.Path = "/providers/Microsoft.ManagementPartner/operations"; + _requests[237] = new DefaultHttpContext(); + _requests[237].RequestServices = CreateServices(); + _requests[237].Request.Method = "GET"; + _requests[237].Request.Path = "/providers/Microsoft.Maps/operations"; + _requests[238] = new DefaultHttpContext(); + _requests[238].RequestServices = CreateServices(); + _requests[238].Request.Method = "GET"; + _requests[238].Request.Path = "/providers/Microsoft.MarketplaceOrdering/operations"; + _requests[239] = new DefaultHttpContext(); + _requests[239].RequestServices = CreateServices(); + _requests[239].Request.Method = "GET"; + _requests[239].Request.Path = "/providers/Microsoft.Media/operations"; + _requests[240] = new DefaultHttpContext(); + _requests[240].RequestServices = CreateServices(); + _requests[240].Request.Method = "GET"; + _requests[240].Request.Path = "/providers/Microsoft.Migrate/operations"; + _requests[241] = new DefaultHttpContext(); + _requests[241].RequestServices = CreateServices(); + _requests[241].Request.Method = "POST"; + _requests[241].Request.Path = "/providers/Microsoft.Network/checkTrafficManagerNameAvailability"; + _requests[242] = new DefaultHttpContext(); + _requests[242].RequestServices = CreateServices(); + _requests[242].Request.Method = "GET"; + _requests[242].Request.Path = "/providers/Microsoft.Network/operations"; + _requests[243] = new DefaultHttpContext(); + _requests[243].RequestServices = CreateServices(); + _requests[243].Request.Method = "GET"; + _requests[243].Request.Path = "/providers/Microsoft.NotificationHubs/operations"; + _requests[244] = new DefaultHttpContext(); + _requests[244].RequestServices = CreateServices(); + _requests[244].Request.Method = "GET"; + _requests[244].Request.Path = "/providers/Microsoft.OperationalInsights/operations"; + _requests[245] = new DefaultHttpContext(); + _requests[245].RequestServices = CreateServices(); + _requests[245].Request.Method = "GET"; + _requests[245].Request.Path = "/providers/Microsoft.OperationsManagement/operations"; + _requests[246] = new DefaultHttpContext(); + _requests[246].RequestServices = CreateServices(); + _requests[246].Request.Method = "GET"; + _requests[246].Request.Path = "/providers/Microsoft.PolicyInsights/operations"; + _requests[247] = new DefaultHttpContext(); + _requests[247].RequestServices = CreateServices(); + _requests[247].Request.Method = "GET"; + _requests[247].Request.Path = "/providers/Microsoft.PowerBI/operations"; + _requests[248] = new DefaultHttpContext(); + _requests[248].RequestServices = CreateServices(); + _requests[248].Request.Method = "GET"; + _requests[248].Request.Path = "/providers/Microsoft.PowerBIDedicated/operations"; + _requests[249] = new DefaultHttpContext(); + _requests[249].RequestServices = CreateServices(); + _requests[249].Request.Method = "GET"; + _requests[249].Request.Path = "/providers/Microsoft.RecoveryServices/operations"; + _requests[250] = new DefaultHttpContext(); + _requests[250].RequestServices = CreateServices(); + _requests[250].Request.Method = "GET"; + _requests[250].Request.Path = "/providers/Microsoft.Relay/operations"; + _requests[251] = new DefaultHttpContext(); + _requests[251].RequestServices = CreateServices(); + _requests[251].Request.Method = "GET"; + _requests[251].Request.Path = "/providers/Microsoft.ResourceHealth/operations"; + _requests[252] = new DefaultHttpContext(); + _requests[252].RequestServices = CreateServices(); + _requests[252].Request.Method = "GET"; + _requests[252].Request.Path = "/providers/Microsoft.Search/operations"; + _requests[253] = new DefaultHttpContext(); + _requests[253].RequestServices = CreateServices(); + _requests[253].Request.Method = "GET"; + _requests[253].Request.Path = "/providers/Microsoft.Security/operations"; + _requests[254] = new DefaultHttpContext(); + _requests[254].RequestServices = CreateServices(); + _requests[254].Request.Method = "GET"; + _requests[254].Request.Path = "/providers/Microsoft.ServiceBus/operations"; + _requests[255] = new DefaultHttpContext(); + _requests[255].RequestServices = CreateServices(); + _requests[255].Request.Method = "GET"; + _requests[255].Request.Path = "/providers/Microsoft.ServiceFabric/operations"; + _requests[256] = new DefaultHttpContext(); + _requests[256].RequestServices = CreateServices(); + _requests[256].Request.Method = "GET"; + _requests[256].Request.Path = "/providers/Microsoft.SignalRService/operations"; + _requests[257] = new DefaultHttpContext(); + _requests[257].RequestServices = CreateServices(); + _requests[257].Request.Method = "GET"; + _requests[257].Request.Path = "/providers/Microsoft.Sql/operations"; + _requests[258] = new DefaultHttpContext(); + _requests[258].RequestServices = CreateServices(); + _requests[258].Request.Method = "GET"; + _requests[258].Request.Path = "/providers/Microsoft.Storage.Admin/operations"; + _requests[259] = new DefaultHttpContext(); + _requests[259].RequestServices = CreateServices(); + _requests[259].Request.Method = "GET"; + _requests[259].Request.Path = "/providers/Microsoft.Storage/operations"; + _requests[260] = new DefaultHttpContext(); + _requests[260].RequestServices = CreateServices(); + _requests[260].Request.Method = "GET"; + _requests[260].Request.Path = "/providers/Microsoft.StorSimple/operations"; + _requests[261] = new DefaultHttpContext(); + _requests[261].RequestServices = CreateServices(); + _requests[261].Request.Method = "GET"; + _requests[261].Request.Path = "/providers/Microsoft.StreamAnalytics/operations"; + _requests[262] = new DefaultHttpContext(); + _requests[262].RequestServices = CreateServices(); + _requests[262].Request.Method = "GET"; + _requests[262].Request.Path = "/providers/Microsoft.Subscription/operations"; + _requests[263] = new DefaultHttpContext(); + _requests[263].RequestServices = CreateServices(); + _requests[263].Request.Method = "GET"; + _requests[263].Request.Path = "/providers/Microsoft.Subscription/subscriptionDefinitions"; + _requests[264] = new DefaultHttpContext(); + _requests[264].RequestServices = CreateServices(); + _requests[264].Request.Method = "GET"; + _requests[264].Request.Path = "/providers/Microsoft.Subscription/subscriptionOperations"; + _requests[265] = new DefaultHttpContext(); + _requests[265].RequestServices = CreateServices(); + _requests[265].Request.Method = "GET"; + _requests[265].Request.Path = "/providers/Microsoft.Subscriptions.Admin/operations"; + _requests[266] = new DefaultHttpContext(); + _requests[266].RequestServices = CreateServices(); + _requests[266].Request.Method = "GET"; + _requests[266].Request.Path = "/providers/Microsoft.Subscriptions/operations"; + _requests[267] = new DefaultHttpContext(); + _requests[267].RequestServices = CreateServices(); + _requests[267].Request.Method = "GET"; + _requests[267].Request.Path = "/providers/Microsoft.TimeSeriesInsights/operations"; + _requests[268] = new DefaultHttpContext(); + _requests[268].RequestServices = CreateServices(); + _requests[268].Request.Method = "GET"; + _requests[268].Request.Path = "/providers/Microsoft.Update.Admin/operations"; + _requests[269] = new DefaultHttpContext(); + _requests[269].RequestServices = CreateServices(); + _requests[269].Request.Method = "GET"; + _requests[269].Request.Path = "/providers/microsoft.visualstudio/operations"; + _requests[270] = new DefaultHttpContext(); + _requests[270].RequestServices = CreateServices(); + _requests[270].Request.Method = "GET"; + _requests[270].Request.Path = "/providers/Microsoft.Web/availableStacks"; + _requests[271] = new DefaultHttpContext(); + _requests[271].RequestServices = CreateServices(); + _requests[271].Request.Method = "GET"; + _requests[271].Request.Path = "/providers/Microsoft.Web/operations"; + _requests[272] = new DefaultHttpContext(); + _requests[272].RequestServices = CreateServices(); + _requests[272].Request.Method = "GET"; + _requests[272].Request.Path = "/providers/Microsoft.Web/sourcecontrols"; + _requests[273] = new DefaultHttpContext(); + _requests[273].RequestServices = CreateServices(); + _requests[273].Request.Method = "GET"; + _requests[273].Request.Path = "/Tools/Chaos/Events"; + _requests[274] = new DefaultHttpContext(); + _requests[274].RequestServices = CreateServices(); + _requests[274].Request.Method = "POST"; + _requests[274].Request.Path = "/Tools/Chaos/Schedule"; + _requests[275] = new DefaultHttpContext(); + _requests[275].RequestServices = CreateServices(); + _requests[275].Request.Method = "POST"; + _requests[275].Request.Path = "/BackupRestore/BackupPolicies/$/Create"; + _requests[276] = new DefaultHttpContext(); + _requests[276].RequestServices = CreateServices(); + _requests[276].Request.Method = "GET"; + _requests[276].Request.Path = "/contentmoderator/lists/v1.0/imagelists"; + _requests[277] = new DefaultHttpContext(); + _requests[277].RequestServices = CreateServices(); + _requests[277].Request.Method = "GET"; + _requests[277].Request.Path = "/contentmoderator/lists/v1.0/termlists"; + _requests[278] = new DefaultHttpContext(); + _requests[278].RequestServices = CreateServices(); + _requests[278].Request.Method = "GET"; + _requests[278].Request.Path = "/providers/Microsoft.ADHybridHealthService/addsservices/premiumCheck"; + _requests[279] = new DefaultHttpContext(); + _requests[279].RequestServices = CreateServices(); + _requests[279].Request.Method = "GET"; + _requests[279].Request.Path = "/providers/Microsoft.ADHybridHealthService/services/premiumCheck"; + _requests[280] = new DefaultHttpContext(); + _requests[280].RequestServices = CreateServices(); + _requests[280].Request.Method = "GET"; + _requests[280].Request.Path = "/providers/Microsoft.BotService/botServices/checkNameAvailability"; + _requests[281] = new DefaultHttpContext(); + _requests[281].RequestServices = CreateServices(); + _requests[281].Request.Method = "GET"; + _requests[281].Request.Path = "/providers/Microsoft.Intune/locations/hostName"; + _requests[282] = new DefaultHttpContext(); + _requests[282].RequestServices = CreateServices(); + _requests[282].Request.Method = "GET"; + _requests[282].Request.Path = "/providers/Microsoft.Network/trafficManagerGeographicHierarchies/default"; + _requests[283] = new DefaultHttpContext(); + _requests[283].RequestServices = CreateServices(); + _requests[283].Request.Method = "PUT"; + _requests[283].Request.Path = "/providers/Microsoft.Web/publishingUsers/web"; + _requests[284] = new DefaultHttpContext(); + _requests[284].RequestServices = CreateServices(); + _requests[284].Request.Method = "GET"; + _requests[284].Request.Path = "/Tools/Chaos/$/Report"; + _requests[285] = new DefaultHttpContext(); + _requests[285].RequestServices = CreateServices(); + _requests[285].Request.Method = "POST"; + _requests[285].Request.Path = "/Tools/Chaos/$/Start"; + _requests[286] = new DefaultHttpContext(); + _requests[286].RequestServices = CreateServices(); + _requests[286].Request.Method = "POST"; + _requests[286].Request.Path = "/Tools/Chaos/$/Stop"; + _requests[287] = new DefaultHttpContext(); + _requests[287].RequestServices = CreateServices(); + _requests[287].Request.Method = "POST"; + _requests[287].Request.Path = "/contentmoderator/moderate/v1.0/ProcessImage/Evaluate"; + _requests[288] = new DefaultHttpContext(); + _requests[288].RequestServices = CreateServices(); + _requests[288].Request.Method = "POST"; + _requests[288].Request.Path = "/contentmoderator/moderate/v1.0/ProcessImage/FindFaces"; + _requests[289] = new DefaultHttpContext(); + _requests[289].RequestServices = CreateServices(); + _requests[289].Request.Method = "POST"; + _requests[289].Request.Path = "/contentmoderator/moderate/v1.0/ProcessImage/Match"; + _requests[290] = new DefaultHttpContext(); + _requests[290].RequestServices = CreateServices(); + _requests[290].Request.Method = "POST"; + _requests[290].Request.Path = "/contentmoderator/moderate/v1.0/ProcessImage/OCR"; + _requests[291] = new DefaultHttpContext(); + _requests[291].RequestServices = CreateServices(); + _requests[291].Request.Method = "POST"; + _requests[291].Request.Path = "/contentmoderator/moderate/v1.0/ProcessText/DetectLanguage"; + _requests[292] = new DefaultHttpContext(); + _requests[292].RequestServices = CreateServices(); + _requests[292].Request.Method = "POST"; + _requests[292].Request.Path = "/contentmoderator/moderate/v1.0/ProcessText/Screen"; + _requests[293] = new DefaultHttpContext(); + _requests[293].RequestServices = CreateServices(); + _requests[293].Request.Method = "GET"; + _requests[293].Request.Path = "/providers/microsoft.insights/eventtypes/management/values"; + _requests[294] = new DefaultHttpContext(); + _requests[294].RequestServices = CreateServices(); + _requests[294].Request.Method = "PUT"; + _requests[294].Request.Path = "/contentmoderator/lists/v1.0/imagelists/172635"; + _requests[295] = new DefaultHttpContext(); + _requests[295].RequestServices = CreateServices(); + _requests[295].Request.Method = "PUT"; + _requests[295].Request.Path = "/contentmoderator/lists/v1.0/termlists/9d9dfc"; + _requests[296] = new DefaultHttpContext(); + _requests[296].RequestServices = CreateServices(); + _requests[296].Request.Method = "GET"; + _requests[296].Request.Path = "/contentmoderator/lists/v1.0/imagelists/084f88/images"; + _requests[297] = new DefaultHttpContext(); + _requests[297].RequestServices = CreateServices(); + _requests[297].Request.Method = "POST"; + _requests[297].Request.Path = "/contentmoderator/lists/v1.0/imagelists/1c04c5/RefreshIndex"; + _requests[298] = new DefaultHttpContext(); + _requests[298].RequestServices = CreateServices(); + _requests[298].Request.Method = "POST"; + _requests[298].Request.Path = "/contentmoderator/lists/v1.0/termlists/43730d/RefreshIndex"; + _requests[299] = new DefaultHttpContext(); + _requests[299].RequestServices = CreateServices(); + _requests[299].Request.Method = "DELETE"; + _requests[299].Request.Path = "/contentmoderator/lists/v1.0/termlists/d6f5ef/terms"; + _requests[300] = new DefaultHttpContext(); + _requests[300].RequestServices = CreateServices(); + _requests[300].Request.Method = "POST"; + _requests[300].Request.Path = "/contentmoderator/review/v1.0/teams/8c966d1f/jobs"; + _requests[301] = new DefaultHttpContext(); + _requests[301].RequestServices = CreateServices(); + _requests[301].Request.Method = "POST"; + _requests[301].Request.Path = "/contentmoderator/review/v1.0/teams/4c94ce93/reviews"; + _requests[302] = new DefaultHttpContext(); + _requests[302].RequestServices = CreateServices(); + _requests[302].Request.Method = "DELETE"; + _requests[302].Request.Path = "/contentmoderator/lists/v1.0/imagelists/cd4dc8/images/9460228"; + _requests[303] = new DefaultHttpContext(); + _requests[303].RequestServices = CreateServices(); + _requests[303].Request.Method = "DELETE"; + _requests[303].Request.Path = "/contentmoderator/lists/v1.0/termlists/ba5988/terms/4d510"; + _requests[304] = new DefaultHttpContext(); + _requests[304].RequestServices = CreateServices(); + _requests[304].Request.Method = "GET"; + _requests[304].Request.Path = "/contentmoderator/review/v1.0/teams/c49a45c8/jobs/b54cf"; + _requests[305] = new DefaultHttpContext(); + _requests[305].RequestServices = CreateServices(); + _requests[305].Request.Method = "GET"; + _requests[305].Request.Path = "/contentmoderator/review/v1.0/teams/8e3916fa/reviews/1bc53a13"; + _requests[306] = new DefaultHttpContext(); + _requests[306].RequestServices = CreateServices(); + _requests[306].Request.Method = "GET"; + _requests[306].Request.Path = "/contentmoderator/review/v1.0/teams/7aacdabd/reviews/dd17a58f/frames"; + _requests[307] = new DefaultHttpContext(); + _requests[307].RequestServices = CreateServices(); + _requests[307].Request.Method = "POST"; + _requests[307].Request.Path = "/contentmoderator/review/v1.0/teams/27f1b614/reviews/b2bc7494/publish"; + _requests[308] = new DefaultHttpContext(); + _requests[308].RequestServices = CreateServices(); + _requests[308].Request.Method = "PUT"; + _requests[308].Request.Path = "/contentmoderator/review/v1.0/teams/2de63c82/reviews/090a8a7e/transcript"; + _requests[309] = new DefaultHttpContext(); + _requests[309].RequestServices = CreateServices(); + _requests[309].Request.Method = "PUT"; + _requests[309].Request.Path = "/contentmoderator/review/v1.0/teams/06a9ee5d/reviews/af5fa279/transcriptmoderationresult"; + _requests[310] = new DefaultHttpContext(); + _requests[310].RequestServices = CreateServices(); + _requests[310].Request.Method = "GET"; + _requests[310].Request.Path = "/catalog/usql/databases/067402ce-404"; + _requests[311] = new DefaultHttpContext(); + _requests[311].RequestServices = CreateServices(); + _requests[311].Request.Method = "PATCH"; + _requests[311].Request.Path = "/providers/Microsoft.ADHybridHealthService/addsservices/e4053092-b5"; + _requests[312] = new DefaultHttpContext(); + _requests[312].RequestServices = CreateServices(); + _requests[312].Request.Method = "PATCH"; + _requests[312].Request.Path = "/providers/Microsoft.ADHybridHealthService/services/537db418-5a"; + _requests[313] = new DefaultHttpContext(); + _requests[313].RequestServices = CreateServices(); + _requests[313].Request.Method = "GET"; + _requests[313].Request.Path = "/providers/Microsoft.Authorization/policyDefinitions/ae041de3-8d8a-40ea-a"; + _requests[314] = new DefaultHttpContext(); + _requests[314].RequestServices = CreateServices(); + _requests[314].Request.Method = "GET"; + _requests[314].Request.Path = "/providers/Microsoft.Authorization/policySetDefinitions/d9da8a62-8975-4aed-b898"; + _requests[315] = new DefaultHttpContext(); + _requests[315].RequestServices = CreateServices(); + _requests[315].Request.Method = "GET"; + _requests[315].Request.Path = "/providers/Microsoft.Authorization/providerOperations/7502f3dc-3911-4388-a106-7"; + _requests[316] = new DefaultHttpContext(); + _requests[316].RequestServices = CreateServices(); + _requests[316].Request.Method = "GET"; + _requests[316].Request.Path = "/providers/Microsoft.Billing/enrollmentAccounts/d60f6"; + _requests[317] = new DefaultHttpContext(); + _requests[317].RequestServices = CreateServices(); + _requests[317].Request.Method = "GET"; + _requests[317].Request.Path = "/providers/Microsoft.Capacity/reservationOrders/a46ebea3-838b-4454"; + _requests[318] = new DefaultHttpContext(); + _requests[318].RequestServices = CreateServices(); + _requests[318].Request.Method = "HEAD"; + _requests[318].Request.Path = "/providers/Microsoft.DocumentDB/databaseAccountNames/ef9dd149-d3"; + _requests[319] = new DefaultHttpContext(); + _requests[319].RequestServices = CreateServices(); + _requests[319].Request.Method = "GET"; + _requests[319].Request.Path = "/providers/Microsoft.EventGrid/topicTypes/7840b780-3d8d"; + _requests[320] = new DefaultHttpContext(); + _requests[320].RequestServices = CreateServices(); + _requests[320].Request.Method = "GET"; + _requests[320].Request.Path = "/providers/Microsoft.ImportExport/locations/9dbdc85e-b95"; + _requests[321] = new DefaultHttpContext(); + _requests[321].RequestServices = CreateServices(); + _requests[321].Request.Method = "DELETE"; + _requests[321].Request.Path = "/providers/Microsoft.Management/managementGroups/8e9fcd5"; + _requests[322] = new DefaultHttpContext(); + _requests[322].RequestServices = CreateServices(); + _requests[322].Request.Method = "DELETE"; + _requests[322].Request.Path = "/providers/Microsoft.ManagementPartner/partners/a599e232-"; + _requests[323] = new DefaultHttpContext(); + _requests[323].RequestServices = CreateServices(); + _requests[323].Request.Method = "GET"; + _requests[323].Request.Path = "/providers/Microsoft.Subscription/subscriptionDefinitions/ede25e54-8877-4900-83fd-5c"; + _requests[324] = new DefaultHttpContext(); + _requests[324].RequestServices = CreateServices(); + _requests[324].Request.Method = "GET"; + _requests[324].Request.Path = "/providers/Microsoft.Subscription/subscriptionOperations/78184818-21"; + _requests[325] = new DefaultHttpContext(); + _requests[325].RequestServices = CreateServices(); + _requests[325].Request.Method = "PUT"; + _requests[325].Request.Path = "/providers/Microsoft.Web/sourcecontrols/36de2cb7-1d03-441"; + _requests[326] = new DefaultHttpContext(); + _requests[326].RequestServices = CreateServices(); + _requests[326].Request.Method = "GET"; + _requests[326].Request.Path = "/catalog/usql/databases/fab751f5-5b3/acl"; + _requests[327] = new DefaultHttpContext(); + _requests[327].RequestServices = CreateServices(); + _requests[327].Request.Method = "GET"; + _requests[327].Request.Path = "/catalog/usql/databases/8e64a79c-8e7/assemblies"; + _requests[328] = new DefaultHttpContext(); + _requests[328].RequestServices = CreateServices(); + _requests[328].Request.Method = "GET"; + _requests[328].Request.Path = "/catalog/usql/databases/ed3857d2-c04/credentials"; + _requests[329] = new DefaultHttpContext(); + _requests[329].RequestServices = CreateServices(); + _requests[329].Request.Method = "GET"; + _requests[329].Request.Path = "/catalog/usql/databases/d5d129b9-5be/externaldatasources"; + _requests[330] = new DefaultHttpContext(); + _requests[330].RequestServices = CreateServices(); + _requests[330].Request.Method = "GET"; + _requests[330].Request.Path = "/catalog/usql/databases/7ea64a28-39e/schemas"; + _requests[331] = new DefaultHttpContext(); + _requests[331].RequestServices = CreateServices(); + _requests[331].Request.Method = "DELETE"; + _requests[331].Request.Path = "/catalog/usql/databases/57ad1786-0bc/secrets"; + _requests[332] = new DefaultHttpContext(); + _requests[332].RequestServices = CreateServices(); + _requests[332].Request.Method = "GET"; + _requests[332].Request.Path = "/catalog/usql/databases/5b336b33-37a/statistics"; + _requests[333] = new DefaultHttpContext(); + _requests[333].RequestServices = CreateServices(); + _requests[333].Request.Method = "GET"; + _requests[333].Request.Path = "/catalog/usql/databases/f4bf868b-455/tables"; + _requests[334] = new DefaultHttpContext(); + _requests[334].RequestServices = CreateServices(); + _requests[334].Request.Method = "GET"; + _requests[334].Request.Path = "/catalog/usql/databases/cfebe9a3-c8a/tablevaluedfunctions"; + _requests[335] = new DefaultHttpContext(); + _requests[335].RequestServices = CreateServices(); + _requests[335].Request.Method = "GET"; + _requests[335].Request.Path = "/catalog/usql/databases/636a3238-370/views"; + _requests[336] = new DefaultHttpContext(); + _requests[336].RequestServices = CreateServices(); + _requests[336].Request.Method = "GET"; + _requests[336].Request.Path = "/providers/Microsoft.ADHybridHealthService/addsservices/8663b0d5-15/addomainservicemembers"; + _requests[337] = new DefaultHttpContext(); + _requests[337].RequestServices = CreateServices(); + _requests[337].Request.Method = "GET"; + _requests[337].Request.Path = "/providers/Microsoft.ADHybridHealthService/addsservices/9af34e2b-6d/addsservicemembers"; + _requests[338] = new DefaultHttpContext(); + _requests[338].RequestServices = CreateServices(); + _requests[338].Request.Method = "GET"; + _requests[338].Request.Path = "/providers/Microsoft.ADHybridHealthService/addsservices/d1af149f-71/alerts"; + _requests[339] = new DefaultHttpContext(); + _requests[339].RequestServices = CreateServices(); + _requests[339].Request.Method = "GET"; + _requests[339].Request.Path = "/providers/Microsoft.ADHybridHealthService/addsservices/904ef7ca-90/configuration"; + _requests[340] = new DefaultHttpContext(); + _requests[340].RequestServices = CreateServices(); + _requests[340].Request.Method = "GET"; + _requests[340].Request.Path = "/providers/Microsoft.ADHybridHealthService/addsservices/0539b471-9d/forestsummary"; + _requests[341] = new DefaultHttpContext(); + _requests[341].RequestServices = CreateServices(); + _requests[341].Request.Method = "GET"; + _requests[341].Request.Path = "/providers/Microsoft.ADHybridHealthService/addsservices/94d78827-11/metricmetadata"; + _requests[342] = new DefaultHttpContext(); + _requests[342].RequestServices = CreateServices(); + _requests[342].Request.Method = "GET"; + _requests[342].Request.Path = "/providers/Microsoft.ADHybridHealthService/addsservices/b332b07d-2b/replicationstatus"; + _requests[343] = new DefaultHttpContext(); + _requests[343].RequestServices = CreateServices(); + _requests[343].Request.Method = "GET"; + _requests[343].Request.Path = "/providers/Microsoft.ADHybridHealthService/addsservices/4e828015-2e/replicationsummary"; + _requests[344] = new DefaultHttpContext(); + _requests[344].RequestServices = CreateServices(); + _requests[344].Request.Method = "GET"; + _requests[344].Request.Path = "/providers/Microsoft.ADHybridHealthService/services/c1e0b57c-ba/alerts"; + _requests[345] = new DefaultHttpContext(); + _requests[345].RequestServices = CreateServices(); + _requests[345].Request.Method = "GET"; + _requests[345].Request.Path = "/providers/Microsoft.ADHybridHealthService/services/107acd29-a5/exportstatus"; + _requests[346] = new DefaultHttpContext(); + _requests[346].RequestServices = CreateServices(); + _requests[346].Request.Method = "GET"; + _requests[346].Request.Path = "/providers/Microsoft.ADHybridHealthService/services/df8a5a4c-d5/metricmetadata"; + _requests[347] = new DefaultHttpContext(); + _requests[347].RequestServices = CreateServices(); + _requests[347].Request.Method = "PATCH"; + _requests[347].Request.Path = "/providers/Microsoft.ADHybridHealthService/services/164a138b-7f/monitoringconfiguration"; + _requests[348] = new DefaultHttpContext(); + _requests[348].RequestServices = CreateServices(); + _requests[348].Request.Method = "GET"; + _requests[348].Request.Path = "/providers/Microsoft.ADHybridHealthService/services/68d5b01a-5f/monitoringconfigurations"; + _requests[349] = new DefaultHttpContext(); + _requests[349].RequestServices = CreateServices(); + _requests[349].Request.Method = "POST"; + _requests[349].Request.Path = "/providers/Microsoft.ADHybridHealthService/services/db455f04-72/servicemembers"; + _requests[350] = new DefaultHttpContext(); + _requests[350].RequestServices = CreateServices(); + _requests[350].Request.Method = "POST"; + _requests[350].Request.Path = "/providers/Microsoft.Capacity/reservationOrders/fb225ad6-6d05-430a/merge"; + _requests[351] = new DefaultHttpContext(); + _requests[351].RequestServices = CreateServices(); + _requests[351].Request.Method = "GET"; + _requests[351].Request.Path = "/providers/Microsoft.Capacity/reservationOrders/2b9094e5-138d-4158/reservations"; + _requests[352] = new DefaultHttpContext(); + _requests[352].RequestServices = CreateServices(); + _requests[352].Request.Method = "POST"; + _requests[352].Request.Path = "/providers/Microsoft.Capacity/reservationOrders/c1c30656-bea9-42f2/split"; + _requests[353] = new DefaultHttpContext(); + _requests[353].RequestServices = CreateServices(); + _requests[353].Request.Method = "GET"; + _requests[353].Request.Path = "/providers/Microsoft.EventGrid/topicTypes/3769d8fb-cd23/eventTypes"; + _requests[354] = new DefaultHttpContext(); + _requests[354].RequestServices = CreateServices(); + _requests[354].Request.Method = "GET"; + _requests[354].Request.Path = "/providers/Microsoft.Intune/locations/33dee284/androidPolicies"; + _requests[355] = new DefaultHttpContext(); + _requests[355].RequestServices = CreateServices(); + _requests[355].Request.Method = "GET"; + _requests[355].Request.Path = "/providers/Microsoft.Intune/locations/94731d94/apps"; + _requests[356] = new DefaultHttpContext(); + _requests[356].RequestServices = CreateServices(); + _requests[356].Request.Method = "GET"; + _requests[356].Request.Path = "/providers/Microsoft.Intune/locations/2c99d7cb/flaggedUsers"; + _requests[357] = new DefaultHttpContext(); + _requests[357].RequestServices = CreateServices(); + _requests[357].Request.Method = "GET"; + _requests[357].Request.Path = "/providers/Microsoft.Intune/locations/437ca3b8/iosPolicies"; + _requests[358] = new DefaultHttpContext(); + _requests[358].RequestServices = CreateServices(); + _requests[358].Request.Method = "GET"; + _requests[358].Request.Path = "/providers/Microsoft.Intune/locations/ff66f6db/operationResults"; + _requests[359] = new DefaultHttpContext(); + _requests[359].RequestServices = CreateServices(); + _requests[359].Request.Method = "GET"; + _requests[359].Request.Path = "/providers/Microsoft.ADHybridHealthService/services/7db9fe83-10/exporterrors/counts"; + _requests[360] = new DefaultHttpContext(); + _requests[360].RequestServices = CreateServices(); + _requests[360].Request.Method = "GET"; + _requests[360].Request.Path = "/providers/Microsoft.ADHybridHealthService/services/73301abe-83/exporterrors/listV2"; + _requests[361] = new DefaultHttpContext(); + _requests[361].RequestServices = CreateServices(); + _requests[361].Request.Method = "GET"; + _requests[361].Request.Path = "/providers/Microsoft.Intune/locations/9c672c51/statuses/default"; + _requests[362] = new DefaultHttpContext(); + _requests[362].RequestServices = CreateServices(); + _requests[362].Request.Method = "POST"; + _requests[362].Request.Path = "/providers/Microsoft.ADHybridHealthService/services/9b40a590-ce/feedbacktype/alerts/feedback"; + _requests[363] = new DefaultHttpContext(); + _requests[363].RequestServices = CreateServices(); + _requests[363].Request.Method = "GET"; + _requests[363].Request.Path = "/providers/Microsoft.Billing/billingAccounts/47f15d08-814b-42/providers/Microsoft.Consumption/balances"; + _requests[364] = new DefaultHttpContext(); + _requests[364].RequestServices = CreateServices(); + _requests[364].Request.Method = "PUT"; + _requests[364].Request.Path = "/providers/Microsoft.Billing/billingAccounts/0c4ab794-5f1f-4e/providers/Microsoft.Consumption/costTags"; + _requests[365] = new DefaultHttpContext(); + _requests[365].RequestServices = CreateServices(); + _requests[365].Request.Method = "GET"; + _requests[365].Request.Path = "/providers/Microsoft.Billing/billingAccounts/b0160589-0035-48/providers/Microsoft.Consumption/marketplaces"; + _requests[366] = new DefaultHttpContext(); + _requests[366].RequestServices = CreateServices(); + _requests[366].Request.Method = "GET"; + _requests[366].Request.Path = "/providers/Microsoft.Billing/billingAccounts/9f163d97-8044-4d/providers/Microsoft.Consumption/usageDetails"; + _requests[367] = new DefaultHttpContext(); + _requests[367].RequestServices = CreateServices(); + _requests[367].Request.Method = "GET"; + _requests[367].Request.Path = "/providers/Microsoft.Billing/departments/e6d0c6b1-7f2/providers/Microsoft.Consumption/marketplaces"; + _requests[368] = new DefaultHttpContext(); + _requests[368].RequestServices = CreateServices(); + _requests[368].Request.Method = "GET"; + _requests[368].Request.Path = "/providers/Microsoft.Billing/departments/65e44e7b-827/providers/Microsoft.Consumption/usageDetails"; + _requests[369] = new DefaultHttpContext(); + _requests[369].RequestServices = CreateServices(); + _requests[369].Request.Method = "GET"; + _requests[369].Request.Path = "/providers/Microsoft.Billing/enrollmentAccounts/15e3d840-6d8e-40a7-/providers/Microsoft.Consumption/marketplaces"; + _requests[370] = new DefaultHttpContext(); + _requests[370].RequestServices = CreateServices(); + _requests[370].Request.Method = "GET"; + _requests[370].Request.Path = "/providers/Microsoft.Billing/enrollmentAccounts/2727fb41-6b23-487e-/providers/Microsoft.Consumption/usageDetails"; + _requests[371] = new DefaultHttpContext(); + _requests[371].RequestServices = CreateServices(); + _requests[371].Request.Method = "POST"; + _requests[371].Request.Path = "/providers/Microsoft.Billing/enrollmentAccounts/5ae2bbd7-b759-4ef3-a9/providers/Microsoft.Subscription/createSubscription"; + _requests[372] = new DefaultHttpContext(); + _requests[372].RequestServices = CreateServices(); + _requests[372].Request.Method = "GET"; + _requests[372].Request.Path = "/providers/Microsoft.Capacity/reservationorders/b05f9e65-fd32-4756/providers/Microsoft.Consumption/reservationDetails"; + _requests[373] = new DefaultHttpContext(); + _requests[373].RequestServices = CreateServices(); + _requests[373].Request.Method = "GET"; + _requests[373].Request.Path = "/providers/Microsoft.Capacity/reservationorders/6a82a288-133d-41a2/providers/Microsoft.Consumption/reservationSummaries"; + _requests[374] = new DefaultHttpContext(); + _requests[374].RequestServices = CreateServices(); + _requests[374].Request.Method = "GET"; + _requests[374].Request.Path = "/providers/Microsoft.CostManagement/billingAccounts/10e3ee6c-d564-42/providers/Microsoft.Consumption/tags"; + _requests[375] = new DefaultHttpContext(); + _requests[375].RequestServices = CreateServices(); + _requests[375].Request.Method = "GET"; + _requests[375].Request.Path = "/providers/Microsoft.Management/managementgroups/1d35558d-f208-4b6/providers/Microsoft.Authorization/policyDefinitions"; + _requests[376] = new DefaultHttpContext(); + _requests[376].RequestServices = CreateServices(); + _requests[376].Request.Method = "GET"; + _requests[376].Request.Path = "/providers/Microsoft.Management/managementgroups/04e647bb-bec1-4f5/providers/Microsoft.Authorization/policySetDefinitions"; + _requests[377] = new DefaultHttpContext(); + _requests[377].RequestServices = CreateServices(); + _requests[377].Request.Method = "GET"; + _requests[377].Request.Path = "/providers/Microsoft.ADHybridHealthService/services/babc1908-48/reports/badpassword/details/user"; + _requests[378] = new DefaultHttpContext(); + _requests[378].RequestServices = CreateServices(); + _requests[378].Request.Method = "GET"; + _requests[378].Request.Path = "/providers/Microsoft.Management/managementgroups/5ef7f363-d532-45d/providers/Microsoft.Authorization/policyDefinitions/afba486a-a94a-4c14-9"; + _requests[379] = new DefaultHttpContext(); + _requests[379].RequestServices = CreateServices(); + _requests[379].Request.Method = "GET"; + _requests[379].Request.Path = "/providers/Microsoft.Management/managementgroups/5805140c-1e0a-4e5/providers/Microsoft.Authorization/policySetDefinitions/026f2beb-05ce-4761-b0b3"; + _requests[380] = new DefaultHttpContext(); + _requests[380].RequestServices = CreateServices(); + _requests[380].Request.Method = "GET"; + _requests[380].Request.Path = "/providers/Microsoft.Billing/billingAccounts/0aa79401-7f95-40/providers/Microsoft.Billing/billingPeriods/acae24b4-fa87-4c4/providers/Microsoft.Consumption/balances"; + _requests[381] = new DefaultHttpContext(); + _requests[381].RequestServices = CreateServices(); + _requests[381].Request.Method = "GET"; + _requests[381].Request.Path = "/providers/Microsoft.Billing/billingAccounts/2ce6b1ce-6fa5-44/providers/Microsoft.Billing/billingPeriods/af14f6c4-cdae-40d/providers/Microsoft.Consumption/marketplaces"; + _requests[382] = new DefaultHttpContext(); + _requests[382].RequestServices = CreateServices(); + _requests[382].Request.Method = "GET"; + _requests[382].Request.Path = "/providers/Microsoft.Billing/billingAccounts/c692be09-0656-4b/providers/Microsoft.Billing/billingPeriods/4dc3834a-85d8-40f/providers/Microsoft.Consumption/usageDetails"; + _requests[383] = new DefaultHttpContext(); + _requests[383].RequestServices = CreateServices(); + _requests[383].Request.Method = "GET"; + _requests[383].Request.Path = "/providers/Microsoft.Billing/departments/f15b4906-822/providers/Microsoft.Billing/billingPeriods/acf42839-77aa-478/providers/Microsoft.Consumption/marketplaces"; + _requests[384] = new DefaultHttpContext(); + _requests[384].RequestServices = CreateServices(); + _requests[384].Request.Method = "GET"; + _requests[384].Request.Path = "/providers/Microsoft.Billing/departments/6e06e21c-ee8/providers/Microsoft.Billing/billingPeriods/22471482-c58a-418/providers/Microsoft.Consumption/usageDetails"; + _requests[385] = new DefaultHttpContext(); + _requests[385].RequestServices = CreateServices(); + _requests[385].Request.Method = "GET"; + _requests[385].Request.Path = "/providers/Microsoft.Billing/enrollmentAccounts/3707e463-6482-4c55-/providers/Microsoft.Billing/billingPeriods/33b22cc2-67a1-49b/providers/Microsoft.Consumption/marketplaces"; + _requests[386] = new DefaultHttpContext(); + _requests[386].RequestServices = CreateServices(); + _requests[386].Request.Method = "GET"; + _requests[386].Request.Path = "/providers/Microsoft.Billing/enrollmentAccounts/4daaebb7-b44e-40a6-/providers/Microsoft.Billing/billingPeriods/5e7b6785-0408-430/providers/Microsoft.Consumption/usageDetails"; + _requests[387] = new DefaultHttpContext(); + _requests[387].RequestServices = CreateServices(); + _requests[387].Request.Method = "GET"; + _requests[387].Request.Path = "/providers/Microsoft.ADHybridHealthService/services/bdd7be34-e9/feedbacktype/alerts/55282d96-/alertfeedback"; + _requests[388] = new DefaultHttpContext(); + _requests[388].RequestServices = CreateServices(); + _requests[388].Request.Method = "GET"; + _requests[388].Request.Path = "/catalog/usql/databases/1ee3f0db-8e2/assemblies/7298b770-468"; + _requests[389] = new DefaultHttpContext(); + _requests[389].RequestServices = CreateServices(); + _requests[389].Request.Method = "POST"; + _requests[389].Request.Path = "/catalog/usql/databases/9ef0996f-dba/credentials/47be49fe-49f7-"; + _requests[390] = new DefaultHttpContext(); + _requests[390].RequestServices = CreateServices(); + _requests[390].Request.Method = "GET"; + _requests[390].Request.Path = "/catalog/usql/databases/c0a08d2e-934/externaldatasources/0a42a41a-a8f6-4ad0-b12"; + _requests[391] = new DefaultHttpContext(); + _requests[391].RequestServices = CreateServices(); + _requests[391].Request.Method = "GET"; + _requests[391].Request.Path = "/catalog/usql/databases/191a0d1b-cd7/schemas/6b9bee9e-1"; + _requests[392] = new DefaultHttpContext(); + _requests[392].RequestServices = CreateServices(); + _requests[392].Request.Method = "DELETE"; + _requests[392].Request.Path = "/catalog/usql/databases/cdbc440a-ca2/secrets/374b0aa7-4"; + _requests[393] = new DefaultHttpContext(); + _requests[393].RequestServices = CreateServices(); + _requests[393].Request.Method = "GET"; + _requests[393].Request.Path = "/providers/Microsoft.ADHybridHealthService/addsservices/3fba0274-c2/dimensions/8728a096-"; + _requests[394] = new DefaultHttpContext(); + _requests[394].RequestServices = CreateServices(); + _requests[394].Request.Method = "GET"; + _requests[394].Request.Path = "/providers/Microsoft.ADHybridHealthService/addsservices/6eebc390-75/metricmetadata/daff08fd-9"; + _requests[395] = new DefaultHttpContext(); + _requests[395].RequestServices = CreateServices(); + _requests[395].Request.Method = "GET"; + _requests[395].Request.Path = "/providers/Microsoft.ADHybridHealthService/services/5fb7eaf9-de/checkServiceFeatureAvailibility/62fba665-a1"; + _requests[396] = new DefaultHttpContext(); + _requests[396].RequestServices = CreateServices(); + _requests[396].Request.Method = "GET"; + _requests[396].Request.Path = "/providers/Microsoft.ADHybridHealthService/services/d21c9e41-b4/metricmetadata/82c9cbb8-d"; + _requests[397] = new DefaultHttpContext(); + _requests[397].RequestServices = CreateServices(); + _requests[397].Request.Method = "DELETE"; + _requests[397].Request.Path = "/providers/Microsoft.ADHybridHealthService/services/db3b1d6c-64/servicemembers/15e5fd84-71cc-4"; + _requests[398] = new DefaultHttpContext(); + _requests[398].RequestServices = CreateServices(); + _requests[398].Request.Method = "GET"; + _requests[398].Request.Path = "/providers/Microsoft.ADHybridHealthService/services/08f64e6d-7d/TenantWhitelisting/a395130d-9f"; + _requests[399] = new DefaultHttpContext(); + _requests[399].RequestServices = CreateServices(); + _requests[399].Request.Method = "PATCH"; + _requests[399].Request.Path = "/providers/Microsoft.Capacity/reservationOrders/50bf12fa-1c96-4ecf/reservations/26e1794d-165d"; + _requests[400] = new DefaultHttpContext(); + _requests[400].RequestServices = CreateServices(); + _requests[400].Request.Method = "DELETE"; + _requests[400].Request.Path = "/providers/Microsoft.Intune/locations/ce422055/androidPolicies/5da74243-2"; + _requests[401] = new DefaultHttpContext(); + _requests[401].RequestServices = CreateServices(); + _requests[401].Request.Method = "GET"; + _requests[401].Request.Path = "/providers/Microsoft.Intune/locations/ddcf871a/flaggedUsers/92436145"; + _requests[402] = new DefaultHttpContext(); + _requests[402].RequestServices = CreateServices(); + _requests[402].Request.Method = "DELETE"; + _requests[402].Request.Path = "/providers/Microsoft.Intune/locations/6bf6d937/iosPolicies/1096e807-1"; + _requests[403] = new DefaultHttpContext(); + _requests[403].RequestServices = CreateServices(); + _requests[403].Request.Method = "DELETE"; + _requests[403].Request.Path = "/providers/Microsoft.Management/managementGroups/926702c/subscriptions/a09ac2dc-3e05-"; + _requests[404] = new DefaultHttpContext(); + _requests[404].RequestServices = CreateServices(); + _requests[404].Request.Method = "GET"; + _requests[404].Request.Path = "/catalog/usql/databases/c6a1cb7d-554/schemas/3abe551b-b/packages"; + _requests[405] = new DefaultHttpContext(); + _requests[405].RequestServices = CreateServices(); + _requests[405].Request.Method = "GET"; + _requests[405].Request.Path = "/catalog/usql/databases/370e8972-15a/schemas/6a5d0b9d-0/procedures"; + _requests[406] = new DefaultHttpContext(); + _requests[406].RequestServices = CreateServices(); + _requests[406].Request.Method = "GET"; + _requests[406].Request.Path = "/catalog/usql/databases/20d42a0e-173/schemas/fbe4d1c6-b/statistics"; + _requests[407] = new DefaultHttpContext(); + _requests[407].RequestServices = CreateServices(); + _requests[407].Request.Method = "GET"; + _requests[407].Request.Path = "/catalog/usql/databases/3475cf00-2a2/schemas/c64792e1-2/tables"; + _requests[408] = new DefaultHttpContext(); + _requests[408].RequestServices = CreateServices(); + _requests[408].Request.Method = "GET"; + _requests[408].Request.Path = "/catalog/usql/databases/51f2167b-534/schemas/c3a76415-b/tabletypes"; + _requests[409] = new DefaultHttpContext(); + _requests[409].RequestServices = CreateServices(); + _requests[409].Request.Method = "GET"; + _requests[409].Request.Path = "/catalog/usql/databases/6ed6d657-ec1/schemas/21c217fb-1/tablevaluedfunctions"; + _requests[410] = new DefaultHttpContext(); + _requests[410].RequestServices = CreateServices(); + _requests[410].Request.Method = "GET"; + _requests[410].Request.Path = "/catalog/usql/databases/9698214e-ff6/schemas/fce2d2e9-8/types"; + _requests[411] = new DefaultHttpContext(); + _requests[411].RequestServices = CreateServices(); + _requests[411].Request.Method = "GET"; + _requests[411].Request.Path = "/catalog/usql/databases/4e8d1cde-bff/schemas/43cb0cd9-1/views"; + _requests[412] = new DefaultHttpContext(); + _requests[412].RequestServices = CreateServices(); + _requests[412].Request.Method = "GET"; + _requests[412].Request.Path = "/providers/Microsoft.ADHybridHealthService/addsservices/b7cc2683-ef/servicemembers/0f27120a-2c20-4/alerts"; + _requests[413] = new DefaultHttpContext(); + _requests[413].RequestServices = CreateServices(); + _requests[413].Request.Method = "GET"; + _requests[413].Request.Path = "/providers/Microsoft.ADHybridHealthService/service/e7cdb36e-1f/servicemembers/87d4ce05-c877-4/connectors"; + _requests[414] = new DefaultHttpContext(); + _requests[414].RequestServices = CreateServices(); + _requests[414].Request.Method = "GET"; + _requests[414].Request.Path = "/providers/Microsoft.ADHybridHealthService/services/5807cd3a-e1/servicemembers/53a134c2-cb20-4/alerts"; + _requests[415] = new DefaultHttpContext(); + _requests[415].RequestServices = CreateServices(); + _requests[415].Request.Method = "GET"; + _requests[415].Request.Path = "/providers/Microsoft.ADHybridHealthService/services/eac9259c-0f/servicemembers/4232c432-432d-4/credentials"; + _requests[416] = new DefaultHttpContext(); + _requests[416].RequestServices = CreateServices(); + _requests[416].Request.Method = "DELETE"; + _requests[416].Request.Path = "/providers/Microsoft.ADHybridHealthService/services/aed8d8d2-3e/servicemembers/1ce1bab0-e159-4/data"; + _requests[417] = new DefaultHttpContext(); + _requests[417].RequestServices = CreateServices(); + _requests[417].Request.Method = "GET"; + _requests[417].Request.Path = "/providers/Microsoft.ADHybridHealthService/services/9a7a1e08-78/servicemembers/e4c4ee12-676e-4/datafreshness"; + _requests[418] = new DefaultHttpContext(); + _requests[418].RequestServices = CreateServices(); + _requests[418].Request.Method = "GET"; + _requests[418].Request.Path = "/providers/Microsoft.ADHybridHealthService/services/7f1a8eb7-2c/servicemembers/e58d1b8a-67db-4/exportstatus"; + _requests[419] = new DefaultHttpContext(); + _requests[419].RequestServices = CreateServices(); + _requests[419].Request.Method = "GET"; + _requests[419].Request.Path = "/providers/Microsoft.ADHybridHealthService/services/1492e382-54/servicemembers/f334402d-44ca-4/globalconfiguration"; + _requests[420] = new DefaultHttpContext(); + _requests[420].RequestServices = CreateServices(); + _requests[420].Request.Method = "GET"; + _requests[420].Request.Path = "/providers/Microsoft.ADHybridHealthService/services/514bd75d-36/servicemembers/dfe5afb7-1c69-4/serviceconfiguration"; + _requests[421] = new DefaultHttpContext(); + _requests[421].RequestServices = CreateServices(); + _requests[421].Request.Method = "GET"; + _requests[421].Request.Path = "/providers/Microsoft.Capacity/reservationOrders/42dd424b-7eba-421c/reservations/781460b2-a4e9/revisions"; + _requests[422] = new DefaultHttpContext(); + _requests[422].RequestServices = CreateServices(); + _requests[422].Request.Method = "GET"; + _requests[422].Request.Path = "/providers/Microsoft.Intune/locations/82f1ce00/AndroidPolicies/4ff634bc-4/apps"; + _requests[423] = new DefaultHttpContext(); + _requests[423].RequestServices = CreateServices(); + _requests[423].Request.Method = "GET"; + _requests[423].Request.Path = "/providers/Microsoft.Intune/locations/7053c9a6/androidPolicies/73201c8c-c/groups"; + _requests[424] = new DefaultHttpContext(); + _requests[424].RequestServices = CreateServices(); + _requests[424].Request.Method = "GET"; + _requests[424].Request.Path = "/providers/Microsoft.Intune/locations/0ec07284/flaggedUsers/0ea259be/flaggedEnrolledApps"; + _requests[425] = new DefaultHttpContext(); + _requests[425].RequestServices = CreateServices(); + _requests[425].Request.Method = "GET"; + _requests[425].Request.Path = "/providers/Microsoft.Intune/locations/8c1b1923/iosPolicies/eb06c25a-c/apps"; + _requests[426] = new DefaultHttpContext(); + _requests[426].RequestServices = CreateServices(); + _requests[426].Request.Method = "GET"; + _requests[426].Request.Path = "/providers/Microsoft.Intune/locations/6b9d978e/iosPolicies/102cb2e0-d/groups"; + _requests[427] = new DefaultHttpContext(); + _requests[427].RequestServices = CreateServices(); + _requests[427].Request.Method = "GET"; + _requests[427].Request.Path = "/providers/Microsoft.Intune/locations/01fd39da/users/797ffb0d/devices"; + _requests[428] = new DefaultHttpContext(); + _requests[428].RequestServices = CreateServices(); + _requests[428].Request.Method = "GET"; + _requests[428].Request.Path = "/providers/Microsoft.Capacity/reservationorders/d4012ed3-8bec-4b26/reservations/7eb98072-218a/providers/Microsoft.Consumption/reservationDetails"; + _requests[429] = new DefaultHttpContext(); + _requests[429].RequestServices = CreateServices(); + _requests[429].Request.Method = "GET"; + _requests[429].Request.Path = "/providers/Microsoft.Capacity/reservationorders/6e66219f-224e-4e8a/reservations/8d6f8096-785c/providers/Microsoft.Consumption/reservationSummaries"; + _requests[430] = new DefaultHttpContext(); + _requests[430].RequestServices = CreateServices(); + _requests[430].Request.Method = "GET"; + _requests[430].Request.Path = "/catalog/usql/databases/08fd535e-274/schemas/a8b4fd14-a/packages/f572fd5c-9a"; + _requests[431] = new DefaultHttpContext(); + _requests[431].RequestServices = CreateServices(); + _requests[431].Request.Method = "GET"; + _requests[431].Request.Path = "/catalog/usql/databases/f52f7a23-44a/schemas/3fe84abb-e/procedures/e20a0932-7780"; + _requests[432] = new DefaultHttpContext(); + _requests[432].RequestServices = CreateServices(); + _requests[432].Request.Method = "GET"; + _requests[432].Request.Path = "/catalog/usql/databases/a8871e72-05a/schemas/42dab0de-c/tables/19165984-"; + _requests[433] = new DefaultHttpContext(); + _requests[433].RequestServices = CreateServices(); + _requests[433].Request.Method = "GET"; + _requests[433].Request.Path = "/catalog/usql/databases/691e92f7-a74/schemas/f8b9434d-5/tabletypes/b0cb44a2-65ef"; + _requests[434] = new DefaultHttpContext(); + _requests[434].RequestServices = CreateServices(); + _requests[434].Request.Method = "GET"; + _requests[434].Request.Path = "/catalog/usql/databases/d646e95e-b13/schemas/b919ee62-a/tablevaluedfunctions/035d1efd-967b-4c70-8a03"; + _requests[435] = new DefaultHttpContext(); + _requests[435].RequestServices = CreateServices(); + _requests[435].Request.Method = "GET"; + _requests[435].Request.Path = "/catalog/usql/databases/6a325af8-5bc/schemas/7a1a756a-c/views/6a1d0fd7"; + _requests[436] = new DefaultHttpContext(); + _requests[436].RequestServices = CreateServices(); + _requests[436].Request.Method = "GET"; + _requests[436].Request.Path = "/providers/Microsoft.ADHybridHealthService/addsservices/f45e74a3-5d/metricmetadata/717e951a-d/groups/4bc43b1f-"; + _requests[437] = new DefaultHttpContext(); + _requests[437].RequestServices = CreateServices(); + _requests[437].Request.Method = "GET"; + _requests[437].Request.Path = "/providers/Microsoft.ADHybridHealthService/services/6bb2374e-92/metricmetadata/0fe3a01f-0/groups/c1b64632-"; + _requests[438] = new DefaultHttpContext(); + _requests[438].RequestServices = CreateServices(); + _requests[438].Request.Method = "DELETE"; + _requests[438].Request.Path = "/providers/Microsoft.Intune/locations/71625769/androidPolicies/e4ffba4c-4/apps/4293883"; + _requests[439] = new DefaultHttpContext(); + _requests[439].RequestServices = CreateServices(); + _requests[439].Request.Method = "DELETE"; + _requests[439].Request.Path = "/providers/Microsoft.Intune/locations/9273bbe3/androidPolicies/3f892ebc-6/groups/d052597"; + _requests[440] = new DefaultHttpContext(); + _requests[440].RequestServices = CreateServices(); + _requests[440].Request.Method = "DELETE"; + _requests[440].Request.Path = "/providers/Microsoft.Intune/locations/b708beeb/iosPolicies/7e608bc0-c/apps/3c90f48"; + _requests[441] = new DefaultHttpContext(); + _requests[441].RequestServices = CreateServices(); + _requests[441].Request.Method = "DELETE"; + _requests[441].Request.Path = "/providers/Microsoft.Intune/locations/c4f0a13e/iosPolicies/9b9ce7c5-e/groups/5b2aa0d"; + _requests[442] = new DefaultHttpContext(); + _requests[442].RequestServices = CreateServices(); + _requests[442].Request.Method = "GET"; + _requests[442].Request.Path = "/providers/Microsoft.Intune/locations/daf6c43f/users/bc881d61/devices/61cbaddf-8"; + _requests[443] = new DefaultHttpContext(); + _requests[443].RequestServices = CreateServices(); + _requests[443].Request.Method = "GET"; + _requests[443].Request.Path = "/catalog/usql/databases/b048fa5e-d96/schemas/fd93d313-c/tables/ff69afce-/partitions"; + _requests[444] = new DefaultHttpContext(); + _requests[444].RequestServices = CreateServices(); + _requests[444].Request.Method = "GET"; + _requests[444].Request.Path = "/catalog/usql/databases/1a9de872-8f0/schemas/180fa8eb-c/tables/3e390733-/previewrows"; + _requests[445] = new DefaultHttpContext(); + _requests[445].RequestServices = CreateServices(); + _requests[445].Request.Method = "GET"; + _requests[445].Request.Path = "/catalog/usql/databases/f2a8d23d-e4d/schemas/e558836d-c/tables/18f4336a-/statistics"; + _requests[446] = new DefaultHttpContext(); + _requests[446].RequestServices = CreateServices(); + _requests[446].Request.Method = "GET"; + _requests[446].Request.Path = "/catalog/usql/databases/9cbadefd-0bf/schemas/6b801a9a-4/tables/8f92cdd2-/tablefragments"; + _requests[447] = new DefaultHttpContext(); + _requests[447].RequestServices = CreateServices(); + _requests[447].Request.Method = "GET"; + _requests[447].Request.Path = "/providers/Microsoft.ADHybridHealthService/addsservices/80c12b07-89/metrics/4c15cadd-e/groups/068b811b-/average"; + _requests[448] = new DefaultHttpContext(); + _requests[448].RequestServices = CreateServices(); + _requests[448].Request.Method = "GET"; + _requests[448].Request.Path = "/providers/Microsoft.ADHybridHealthService/addsservices/dfe89e05-a5/metrics/1c13b631-d/groups/172a0eb3-/sum"; + _requests[449] = new DefaultHttpContext(); + _requests[449].RequestServices = CreateServices(); + _requests[449].Request.Method = "GET"; + _requests[449].Request.Path = "/providers/Microsoft.ADHybridHealthService/services/5784171a-e9/metrics/eccba1df-e/groups/b779e3bf-/average"; + _requests[450] = new DefaultHttpContext(); + _requests[450].RequestServices = CreateServices(); + _requests[450].Request.Method = "GET"; + _requests[450].Request.Path = "/providers/Microsoft.ADHybridHealthService/services/7c23333f-71/metrics/5ed2854e-a/groups/fa072227-/sum"; + _requests[451] = new DefaultHttpContext(); + _requests[451].RequestServices = CreateServices(); + _requests[451].Request.Method = "POST"; + _requests[451].Request.Path = "/providers/Microsoft.Intune/locations/5417e3f9/users/365be18f/devices/7a20f36c-c/wipe"; + _requests[452] = new DefaultHttpContext(); + _requests[452].RequestServices = CreateServices(); + _requests[452].Request.Method = "GET"; + _requests[452].Request.Path = "/catalog/usql/databases/1d170225-673/schemas/77b9c96f-7/tables/474bc498-/partitions/a69c2709-2b55"; + _requests[453] = new DefaultHttpContext(); + _requests[453].RequestServices = CreateServices(); + _requests[453].Request.Method = "GET"; + _requests[453].Request.Path = "/catalog/usql/databases/63692112-ac4/schemas/dac31bb4-a/tables/7c6fa990-/statistics/dd6790d4-9b0a-"; + _requests[454] = new DefaultHttpContext(); + _requests[454].RequestServices = CreateServices(); + _requests[454].Request.Method = "GET"; + _requests[454].Request.Path = "/providers/Microsoft.ADHybridHealthService/services/b01770b6-d4/servicemembers/be95dfa1-8707-4/metrics/65c8b990-4/groups/50836f65-"; + _requests[455] = new DefaultHttpContext(); + _requests[455].RequestServices = CreateServices(); + _requests[455].Request.Method = "GET"; + _requests[455].Request.Path = "/catalog/usql/databases/e518c33f-734/schemas/783e19fe-6/tables/e94b5332-/partitions/c24c5eca-be27/previewrows"; + _requests[456] = new DefaultHttpContext(); + _requests[456].RequestServices = CreateServices(); + _requests[456].Request.Method = "GET"; + _requests[456].Request.Path = "/apps/customprebuiltdomains/4e926de"; + _requests[457] = new DefaultHttpContext(); + _requests[457].RequestServices = CreateServices(); + _requests[457].Request.Method = "GET"; + _requests[457].Request.Path = "/BackupRestore/BackupPolicies/d60f5cf6-6fb3-45"; + _requests[458] = new DefaultHttpContext(); + _requests[458].RequestServices = CreateServices(); + _requests[458].Request.Method = "DELETE"; + _requests[458].Request.Path = "/certificates/issuers/bfc8c19c-1a"; + _requests[459] = new DefaultHttpContext(); + _requests[459].RequestServices = CreateServices(); + _requests[459].Request.Method = "GET"; + _requests[459].Request.Path = "/webhdfs/v1/11dc9"; + _requests[460] = new DefaultHttpContext(); + _requests[460].RequestServices = CreateServices(); + _requests[460].Request.Method = "GET"; + _requests[460].Request.Path = "/webhdfs/va/210ab758-6446-48be-8dc2-e"; + _requests[461] = new DefaultHttpContext(); + _requests[461].RequestServices = CreateServices(); + _requests[461].Request.Method = "POST"; + _requests[461].Request.Path = "/BackupRestore/BackupPolicies/47e8aff2-4a5b-4c/$/Delete"; + _requests[462] = new DefaultHttpContext(); + _requests[462].RequestServices = CreateServices(); + _requests[462].Request.Method = "GET"; + _requests[462].Request.Path = "/BackupRestore/BackupPolicies/61e589e5-a57a-45/$/GetBackupEnabledEntities"; + _requests[463] = new DefaultHttpContext(); + _requests[463].RequestServices = CreateServices(); + _requests[463].Request.Method = "POST"; + _requests[463].Request.Path = "/BackupRestore/BackupPolicies/d4ce00a5-59ad-4d/$/Update"; + _requests[464] = new DefaultHttpContext(); + _requests[464].RequestServices = CreateServices(); + _requests[464].Request.Method = "GET"; + _requests[464].Request.Path = "/EventsStore/Applications/a6df2a1a-e4a4/$/Events"; + _requests[465] = new DefaultHttpContext(); + _requests[465].RequestServices = CreateServices(); + _requests[465].Request.Method = "GET"; + _requests[465].Request.Path = "/EventsStore/CorrelatedEvents/0b6ea255-130d-4/$/Events"; + _requests[466] = new DefaultHttpContext(); + _requests[466].RequestServices = CreateServices(); + _requests[466].Request.Method = "GET"; + _requests[466].Request.Path = "/EventsStore/Nodes/cf6b34dd/$/Events"; + _requests[467] = new DefaultHttpContext(); + _requests[467].RequestServices = CreateServices(); + _requests[467].Request.Method = "GET"; + _requests[467].Request.Path = "/EventsStore/Partitions/15418af7-ad/$/Events"; + _requests[468] = new DefaultHttpContext(); + _requests[468].RequestServices = CreateServices(); + _requests[468].Request.Method = "GET"; + _requests[468].Request.Path = "/EventsStore/Services/6067c5ec-/$/Events"; + _requests[469] = new DefaultHttpContext(); + _requests[469].RequestServices = CreateServices(); + _requests[469].Request.Method = "GET"; + _requests[469].Request.Path = "/Faults/Nodes/7cc8bc57/$/GetTransitionProgress"; + _requests[470] = new DefaultHttpContext(); + _requests[470].RequestServices = CreateServices(); + _requests[470].Request.Method = "POST"; + _requests[470].Request.Path = "/Faults/Nodes/83694d49/$/StartTransition"; + _requests[471] = new DefaultHttpContext(); + _requests[471].RequestServices = CreateServices(); + _requests[471].Request.Method = "GET"; + _requests[471].Request.Path = "/EventsStore/Partitions/cee88c66-4f/$/Replicas/Events"; + _requests[472] = new DefaultHttpContext(); + _requests[472].RequestServices = CreateServices(); + _requests[472].Request.Method = "POST"; + _requests[472].Request.Path = "/Services/$/5b61fa9e-/$/GetPartitions/$/Recover"; + _requests[473] = new DefaultHttpContext(); + _requests[473].RequestServices = CreateServices(); + _requests[473].Request.Method = "GET"; + _requests[473].Request.Path = "/EventsStore/Partitions/0478c5c5-b2/$/Replicas/38eabc47-/$/Events"; + _requests[474] = new DefaultHttpContext(); + _requests[474].RequestServices = CreateServices(); + _requests[474].Request.Method = "GET"; + _requests[474].Request.Path = "/Faults/Services/27f25bb1-/$/GetPartitions/8a6e14c3-e7/$/GetDataLossProgress"; + _requests[475] = new DefaultHttpContext(); + _requests[475].RequestServices = CreateServices(); + _requests[475].Request.Method = "GET"; + _requests[475].Request.Path = "/Faults/Services/dbb93690-/$/GetPartitions/c443b4b4-9c/$/GetQuorumLossProgress"; + _requests[476] = new DefaultHttpContext(); + _requests[476].RequestServices = CreateServices(); + _requests[476].Request.Method = "GET"; + _requests[476].Request.Path = "/Faults/Services/ec27920c-/$/GetPartitions/17a1ca55-42/$/GetRestartProgress"; + _requests[477] = new DefaultHttpContext(); + _requests[477].RequestServices = CreateServices(); + _requests[477].Request.Method = "POST"; + _requests[477].Request.Path = "/Faults/Services/703a7a03-/$/GetPartitions/5f62dedc-39/$/StartDataLoss"; + _requests[478] = new DefaultHttpContext(); + _requests[478].RequestServices = CreateServices(); + _requests[478].Request.Method = "POST"; + _requests[478].Request.Path = "/Faults/Services/51c11c63-/$/GetPartitions/fd1151c6-3f/$/StartQuorumLoss"; + _requests[479] = new DefaultHttpContext(); + _requests[479].RequestServices = CreateServices(); + _requests[479].Request.Method = "POST"; + _requests[479].Request.Path = "/Faults/Services/60a355a3-/$/GetPartitions/210feded-86/$/StartRestart"; + _requests[480] = new DefaultHttpContext(); + _requests[480].RequestServices = CreateServices(); + _requests[480].Request.Method = "DELETE"; + _requests[480].Request.Path = "/apis/850ef"; + _requests[481] = new DefaultHttpContext(); + _requests[481].RequestServices = CreateServices(); + _requests[481].Request.Method = "GET"; + _requests[481].Request.Path = "/Applications/bdaa32f6-87c8"; + _requests[482] = new DefaultHttpContext(); + _requests[482].RequestServices = CreateServices(); + _requests[482].Request.Method = "GET"; + _requests[482].Request.Path = "/ApplicationTypes/8e29cc26-3a32-47b0-"; + _requests[483] = new DefaultHttpContext(); + _requests[483].RequestServices = CreateServices(); + _requests[483].Request.Method = "DELETE"; + _requests[483].Request.Path = "/apps/13ec1"; + _requests[484] = new DefaultHttpContext(); + _requests[484].RequestServices = CreateServices(); + _requests[484].Request.Method = "DELETE"; + _requests[484].Request.Path = "/authorizationServers/de8969e"; + _requests[485] = new DefaultHttpContext(); + _requests[485].RequestServices = CreateServices(); + _requests[485].Request.Method = "DELETE"; + _requests[485].Request.Path = "/backends/9920b6f6-"; + _requests[486] = new DefaultHttpContext(); + _requests[486].RequestServices = CreateServices(); + _requests[486].Request.Method = "DELETE"; + _requests[486].Request.Path = "/certificates/5df2842c-e779-4f"; + _requests[487] = new DefaultHttpContext(); + _requests[487].RequestServices = CreateServices(); + _requests[487].Request.Method = "GET"; + _requests[487].Request.Path = "/ComposeDeployments/e46fad02-4cdb-"; + _requests[488] = new DefaultHttpContext(); + _requests[488].RequestServices = CreateServices(); + _requests[488].Request.Method = "DELETE"; + _requests[488].Request.Path = "/deletedcertificates/af4fde9e-01e7-48"; + _requests[489] = new DefaultHttpContext(); + _requests[489].RequestServices = CreateServices(); + _requests[489].Request.Method = "DELETE"; + _requests[489].Request.Path = "/deletedkeys/e974a855"; + _requests[490] = new DefaultHttpContext(); + _requests[490].RequestServices = CreateServices(); + _requests[490].Request.Method = "DELETE"; + _requests[490].Request.Path = "/deletedsecrets/1f8fd6f2-71"; + _requests[491] = new DefaultHttpContext(); + _requests[491].RequestServices = CreateServices(); + _requests[491].Request.Method = "DELETE"; + _requests[491].Request.Path = "/deletedstorage/bf7929b5-3343-4904-9"; + _requests[492] = new DefaultHttpContext(); + _requests[492].RequestServices = CreateServices(); + _requests[492].Request.Method = "GET"; + _requests[492].Request.Path = "/domains/1ab570e2"; + _requests[493] = new DefaultHttpContext(); + _requests[493].RequestServices = CreateServices(); + _requests[493].Request.Method = "DELETE"; + _requests[493].Request.Path = "/facelists/99840564-f"; + _requests[494] = new DefaultHttpContext(); + _requests[494].RequestServices = CreateServices(); + _requests[494].Request.Method = "DELETE"; + _requests[494].Request.Path = "/groups/fff438c"; + _requests[495] = new DefaultHttpContext(); + _requests[495].RequestServices = CreateServices(); + _requests[495].Request.Method = "DELETE"; + _requests[495].Request.Path = "/identityProviders/cfdc1ad7-d7ab-494a-a"; + _requests[496] = new DefaultHttpContext(); + _requests[496].RequestServices = CreateServices(); + _requests[496].Request.Method = "DELETE"; + _requests[496].Request.Path = "/ImageStore/0ef2ec99-79"; + _requests[497] = new DefaultHttpContext(); + _requests[497].RequestServices = CreateServices(); + _requests[497].Request.Method = "GET"; + _requests[497].Request.Path = "/Jobs/47bcec7d-d7"; + _requests[498] = new DefaultHttpContext(); + _requests[498].RequestServices = CreateServices(); + _requests[498].Request.Method = "PUT"; + _requests[498].Request.Path = "/jobschedules/1573c9b0-081f"; + _requests[499] = new DefaultHttpContext(); + _requests[499].RequestServices = CreateServices(); + _requests[499].Request.Method = "DELETE"; + _requests[499].Request.Path = "/keys/b196e548"; + _requests[500] = new DefaultHttpContext(); + _requests[500].RequestServices = CreateServices(); + _requests[500].Request.Method = "DELETE"; + _requests[500].Request.Path = "/loggers/c7b5f1e5"; + _requests[501] = new DefaultHttpContext(); + _requests[501].RequestServices = CreateServices(); + _requests[501].Request.Method = "DELETE"; + _requests[501].Request.Path = "/Names/bc65e2"; + _requests[502] = new DefaultHttpContext(); + _requests[502].RequestServices = CreateServices(); + _requests[502].Request.Method = "GET"; + _requests[502].Request.Path = "/Nodes/6f7ab6d3"; + _requests[503] = new DefaultHttpContext(); + _requests[503].RequestServices = CreateServices(); + _requests[503].Request.Method = "DELETE"; + _requests[503].Request.Path = "/openidConnectProviders/e307f"; + _requests[504] = new DefaultHttpContext(); + _requests[504].RequestServices = CreateServices(); + _requests[504].Request.Method = "GET"; + _requests[504].Request.Path = "/Partitions/149d4ef0-e3"; + _requests[505] = new DefaultHttpContext(); + _requests[505].RequestServices = CreateServices(); + _requests[505].Request.Method = "PATCH"; + _requests[505].Request.Path = "/persongroups/59a1d231-c20d"; + _requests[506] = new DefaultHttpContext(); + _requests[506].RequestServices = CreateServices(); + _requests[506].Request.Method = "GET"; + _requests[506].Request.Path = "/pipelines/91bf4183-c1e9-48"; + _requests[507] = new DefaultHttpContext(); + _requests[507].RequestServices = CreateServices(); + _requests[507].Request.Method = "DELETE"; + _requests[507].Request.Path = "/policies/0d0158ae"; + _requests[508] = new DefaultHttpContext(); + _requests[508].RequestServices = CreateServices(); + _requests[508].Request.Method = "PATCH"; + _requests[508].Request.Path = "/pools/10d43b"; + _requests[509] = new DefaultHttpContext(); + _requests[509].RequestServices = CreateServices(); + _requests[509].Request.Method = "DELETE"; + _requests[509].Request.Path = "/products/a2bacb4b-"; + _requests[510] = new DefaultHttpContext(); + _requests[510].RequestServices = CreateServices(); + _requests[510].Request.Method = "PATCH"; + _requests[510].Request.Path = "/projects/3954a953-"; + _requests[511] = new DefaultHttpContext(); + _requests[511].RequestServices = CreateServices(); + _requests[511].Request.Method = "DELETE"; + _requests[511].Request.Path = "/properties/a3066c"; + _requests[512] = new DefaultHttpContext(); + _requests[512].RequestServices = CreateServices(); + _requests[512].Request.Method = "PATCH"; + _requests[512].Request.Path = "/quotas/0d3aa318-d1aa-4"; + _requests[513] = new DefaultHttpContext(); + _requests[513].RequestServices = CreateServices(); + _requests[513].Request.Method = "GET"; + _requests[513].Request.Path = "/recurrences/ae68c5a6-dd24-49ab"; + _requests[514] = new DefaultHttpContext(); + _requests[514].RequestServices = CreateServices(); + _requests[514].Request.Method = "DELETE"; + _requests[514].Request.Path = "/secrets/0cfa283a-b6"; + _requests[515] = new DefaultHttpContext(); + _requests[515].RequestServices = CreateServices(); + _requests[515].Request.Method = "PATCH"; + _requests[515].Request.Path = "/storage/77b376e7-bd83-4f3c-8"; + _requests[516] = new DefaultHttpContext(); + _requests[516].RequestServices = CreateServices(); + _requests[516].Request.Method = "GET"; + _requests[516].Request.Path = "/subscriptions/d0a85eaa-6bcb-"; + _requests[517] = new DefaultHttpContext(); + _requests[517].RequestServices = CreateServices(); + _requests[517].Request.Method = "DELETE"; + _requests[517].Request.Path = "/templates/3bab255d-8df"; + _requests[518] = new DefaultHttpContext(); + _requests[518].RequestServices = CreateServices(); + _requests[518].Request.Method = "PATCH"; + _requests[518].Request.Path = "/tenant/190693c5-9"; + _requests[519] = new DefaultHttpContext(); + _requests[519].RequestServices = CreateServices(); + _requests[519].Request.Method = "GET"; + _requests[519].Request.Path = "/textOperations/0a945aae-dd"; + _requests[520] = new DefaultHttpContext(); + _requests[520].RequestServices = CreateServices(); + _requests[520].Request.Method = "DELETE"; + _requests[520].Request.Path = "/users/06fff"; + _requests[521] = new DefaultHttpContext(); + _requests[521].RequestServices = CreateServices(); + _requests[521].Request.Method = "POST"; + _requests[521].Request.Path = "/WebHdfsExt/0a64a"; + _requests[522] = new DefaultHttpContext(); + _requests[522].RequestServices = CreateServices(); + _requests[522].Request.Method = "GET"; + _requests[522].Request.Path = "/apis/e77e3/operations"; + _requests[523] = new DefaultHttpContext(); + _requests[523].RequestServices = CreateServices(); + _requests[523].Request.Method = "GET"; + _requests[523].Request.Path = "/apis/8e91a/policies"; + _requests[524] = new DefaultHttpContext(); + _requests[524].RequestServices = CreateServices(); + _requests[524].Request.Method = "GET"; + _requests[524].Request.Path = "/apis/79edd/products"; + _requests[525] = new DefaultHttpContext(); + _requests[525].RequestServices = CreateServices(); + _requests[525].Request.Method = "GET"; + _requests[525].Request.Path = "/apis/c134a/schemas"; + _requests[526] = new DefaultHttpContext(); + _requests[526].RequestServices = CreateServices(); + _requests[526].Request.Method = "GET"; + _requests[526].Request.Path = "/apps/477aa/endpoints"; + _requests[527] = new DefaultHttpContext(); + _requests[527].RequestServices = CreateServices(); + _requests[527].Request.Method = "POST"; + _requests[527].Request.Path = "/apps/6fe2a/metrics"; + _requests[528] = new DefaultHttpContext(); + _requests[528].RequestServices = CreateServices(); + _requests[528].Request.Method = "PUT"; + _requests[528].Request.Path = "/apps/18b9d/permissions"; + _requests[529] = new DefaultHttpContext(); + _requests[529].RequestServices = CreateServices(); + _requests[529].Request.Method = "POST"; + _requests[529].Request.Path = "/apps/e0d3a/publish"; + _requests[530] = new DefaultHttpContext(); + _requests[530].RequestServices = CreateServices(); + _requests[530].Request.Method = "PUT"; + _requests[530].Request.Path = "/apps/02a22/publishsettings"; + _requests[531] = new DefaultHttpContext(); + _requests[531].RequestServices = CreateServices(); + _requests[531].Request.Method = "POST"; + _requests[531].Request.Path = "/apps/3842f/query"; + _requests[532] = new DefaultHttpContext(); + _requests[532].RequestServices = CreateServices(); + _requests[532].Request.Method = "GET"; + _requests[532].Request.Path = "/apps/7ff07/querylogs"; + _requests[533] = new DefaultHttpContext(); + _requests[533].RequestServices = CreateServices(); + _requests[533].Request.Method = "PUT"; + _requests[533].Request.Path = "/apps/1302d/settings"; + _requests[534] = new DefaultHttpContext(); + _requests[534].RequestServices = CreateServices(); + _requests[534].Request.Method = "GET"; + _requests[534].Request.Path = "/apps/93d8a/versions"; + _requests[535] = new DefaultHttpContext(); + _requests[535].RequestServices = CreateServices(); + _requests[535].Request.Method = "POST"; + _requests[535].Request.Path = "/certificates/cfd227e8-4693-43/create"; + _requests[536] = new DefaultHttpContext(); + _requests[536].RequestServices = CreateServices(); + _requests[536].Request.Method = "POST"; + _requests[536].Request.Path = "/certificates/b6f5c07c-2fab-49/import"; + _requests[537] = new DefaultHttpContext(); + _requests[537].RequestServices = CreateServices(); + _requests[537].Request.Method = "DELETE"; + _requests[537].Request.Path = "/certificates/689feeb3-be4b-4f/pending"; + _requests[538] = new DefaultHttpContext(); + _requests[538].RequestServices = CreateServices(); + _requests[538].Request.Method = "PATCH"; + _requests[538].Request.Path = "/certificates/fe7083ec-5b2d-42/policy"; + _requests[539] = new DefaultHttpContext(); + _requests[539].RequestServices = CreateServices(); + _requests[539].Request.Method = "GET"; + _requests[539].Request.Path = "/certificates/324c4615-6393-4d/versions"; + _requests[540] = new DefaultHttpContext(); + _requests[540].RequestServices = CreateServices(); + _requests[540].Request.Method = "GET"; + _requests[540].Request.Path = "/delegatedProviders/2b1d711c-1a3a-4332-/offers"; + _requests[541] = new DefaultHttpContext(); + _requests[541].RequestServices = CreateServices(); + _requests[541].Request.Method = "POST"; + _requests[541].Request.Path = "/deletedcertificates/74df663d-ba39-48/recover"; + _requests[542] = new DefaultHttpContext(); + _requests[542].RequestServices = CreateServices(); + _requests[542].Request.Method = "POST"; + _requests[542].Request.Path = "/deletedkeys/044e1242/recover"; + _requests[543] = new DefaultHttpContext(); + _requests[543].RequestServices = CreateServices(); + _requests[543].Request.Method = "POST"; + _requests[543].Request.Path = "/deletedsecrets/31e54952-d3/recover"; + _requests[544] = new DefaultHttpContext(); + _requests[544].RequestServices = CreateServices(); + _requests[544].Request.Method = "POST"; + _requests[544].Request.Path = "/deletedstorage/f683219d-2950-4aa7-b/recover"; + _requests[545] = new DefaultHttpContext(); + _requests[545].RequestServices = CreateServices(); + _requests[545].Request.Method = "GET"; + _requests[545].Request.Path = "/deletedstorage/37ae37c9-b948-4a15-b/sas"; + _requests[546] = new DefaultHttpContext(); + _requests[546].RequestServices = CreateServices(); + _requests[546].Request.Method = "POST"; + _requests[546].Request.Path = "/facelists/9bbcd4fd-b/persistedFaces"; + _requests[547] = new DefaultHttpContext(); + _requests[547].RequestServices = CreateServices(); + _requests[547].Request.Method = "GET"; + _requests[547].Request.Path = "/groups/50200c8/users"; + _requests[548] = new DefaultHttpContext(); + _requests[548].RequestServices = CreateServices(); + _requests[548].Request.Method = "POST"; + _requests[548].Request.Path = "/jobs/4c92b/addtaskcollection"; + _requests[549] = new DefaultHttpContext(); + _requests[549].RequestServices = CreateServices(); + _requests[549].Request.Method = "POST"; + _requests[549].Request.Path = "/jobs/1c210/disable"; + _requests[550] = new DefaultHttpContext(); + _requests[550].RequestServices = CreateServices(); + _requests[550].Request.Method = "POST"; + _requests[550].Request.Path = "/jobs/38186/enable"; + _requests[551] = new DefaultHttpContext(); + _requests[551].RequestServices = CreateServices(); + _requests[551].Request.Method = "GET"; + _requests[551].Request.Path = "/jobs/2fbf8/jobpreparationandreleasetaskstatus"; + _requests[552] = new DefaultHttpContext(); + _requests[552].RequestServices = CreateServices(); + _requests[552].Request.Method = "GET"; + _requests[552].Request.Path = "/jobs/3f983/taskcounts"; + _requests[553] = new DefaultHttpContext(); + _requests[553].RequestServices = CreateServices(); + _requests[553].Request.Method = "GET"; + _requests[553].Request.Path = "/jobs/f07be/tasks"; + _requests[554] = new DefaultHttpContext(); + _requests[554].RequestServices = CreateServices(); + _requests[554].Request.Method = "POST"; + _requests[554].Request.Path = "/jobs/9959b/terminate"; + _requests[555] = new DefaultHttpContext(); + _requests[555].RequestServices = CreateServices(); + _requests[555].Request.Method = "POST"; + _requests[555].Request.Path = "/Jobs/ffc62a95-e9/CancelJob"; + _requests[556] = new DefaultHttpContext(); + _requests[556].RequestServices = CreateServices(); + _requests[556].Request.Method = "GET"; + _requests[556].Request.Path = "/Jobs/e1ae6fc1-b0/GetDebugDataPath"; + _requests[557] = new DefaultHttpContext(); + _requests[557].RequestServices = CreateServices(); + _requests[557].Request.Method = "GET"; + _requests[557].Request.Path = "/Jobs/3e2f5475-0b/GetStatistics"; + _requests[558] = new DefaultHttpContext(); + _requests[558].RequestServices = CreateServices(); + _requests[558].Request.Method = "POST"; + _requests[558].Request.Path = "/jobs/35ea2353-12/YieldJob"; + _requests[559] = new DefaultHttpContext(); + _requests[559].RequestServices = CreateServices(); + _requests[559].Request.Method = "POST"; + _requests[559].Request.Path = "/jobschedules/f6ab65ca-d352/disable"; + _requests[560] = new DefaultHttpContext(); + _requests[560].RequestServices = CreateServices(); + _requests[560].Request.Method = "POST"; + _requests[560].Request.Path = "/jobschedules/e0aabb4b-4110/enable"; + _requests[561] = new DefaultHttpContext(); + _requests[561].RequestServices = CreateServices(); + _requests[561].Request.Method = "GET"; + _requests[561].Request.Path = "/jobschedules/523132fd-c8dc/jobs"; + _requests[562] = new DefaultHttpContext(); + _requests[562].RequestServices = CreateServices(); + _requests[562].Request.Method = "POST"; + _requests[562].Request.Path = "/jobschedules/54eb3346-30e4/terminate"; + _requests[563] = new DefaultHttpContext(); + _requests[563].RequestServices = CreateServices(); + _requests[563].Request.Method = "POST"; + _requests[563].Request.Path = "/keys/dada2587/backup"; + _requests[564] = new DefaultHttpContext(); + _requests[564].RequestServices = CreateServices(); + _requests[564].Request.Method = "POST"; + _requests[564].Request.Path = "/keys/636e475f/create"; + _requests[565] = new DefaultHttpContext(); + _requests[565].RequestServices = CreateServices(); + _requests[565].Request.Method = "GET"; + _requests[565].Request.Path = "/keys/f7bf3842/versions"; + _requests[566] = new DefaultHttpContext(); + _requests[566].RequestServices = CreateServices(); + _requests[566].Request.Method = "POST"; + _requests[566].Request.Path = "/models/2740d/analyze"; + _requests[567] = new DefaultHttpContext(); + _requests[567].RequestServices = CreateServices(); + _requests[567].Request.Method = "GET"; + _requests[567].Request.Path = "/persongroups/c1be82e8-689a/persons"; + _requests[568] = new DefaultHttpContext(); + _requests[568].RequestServices = CreateServices(); + _requests[568].Request.Method = "POST"; + _requests[568].Request.Path = "/persongroups/b65b76c8-3d96/train"; + _requests[569] = new DefaultHttpContext(); + _requests[569].RequestServices = CreateServices(); + _requests[569].Request.Method = "GET"; + _requests[569].Request.Path = "/persongroups/335c9ca3-4495/training"; + _requests[570] = new DefaultHttpContext(); + _requests[570].RequestServices = CreateServices(); + _requests[570].Request.Method = "POST"; + _requests[570].Request.Path = "/pools/97e163/disableautoscale"; + _requests[571] = new DefaultHttpContext(); + _requests[571].RequestServices = CreateServices(); + _requests[571].Request.Method = "POST"; + _requests[571].Request.Path = "/pools/c92a0f/enableautoscale"; + _requests[572] = new DefaultHttpContext(); + _requests[572].RequestServices = CreateServices(); + _requests[572].Request.Method = "POST"; + _requests[572].Request.Path = "/pools/0592fa/evaluateautoscale"; + _requests[573] = new DefaultHttpContext(); + _requests[573].RequestServices = CreateServices(); + _requests[573].Request.Method = "GET"; + _requests[573].Request.Path = "/pools/0cd1ed/nodes"; + _requests[574] = new DefaultHttpContext(); + _requests[574].RequestServices = CreateServices(); + _requests[574].Request.Method = "POST"; + _requests[574].Request.Path = "/pools/4ea275/removenodes"; + _requests[575] = new DefaultHttpContext(); + _requests[575].RequestServices = CreateServices(); + _requests[575].Request.Method = "POST"; + _requests[575].Request.Path = "/pools/5f1ec1/resize"; + _requests[576] = new DefaultHttpContext(); + _requests[576].RequestServices = CreateServices(); + _requests[576].Request.Method = "POST"; + _requests[576].Request.Path = "/pools/ca6ce7/stopresize"; + _requests[577] = new DefaultHttpContext(); + _requests[577].RequestServices = CreateServices(); + _requests[577].Request.Method = "POST"; + _requests[577].Request.Path = "/pools/9bc8cb/updateproperties"; + _requests[578] = new DefaultHttpContext(); + _requests[578].RequestServices = CreateServices(); + _requests[578].Request.Method = "POST"; + _requests[578].Request.Path = "/pools/720965/upgradeos"; + _requests[579] = new DefaultHttpContext(); + _requests[579].RequestServices = CreateServices(); + _requests[579].Request.Method = "GET"; + _requests[579].Request.Path = "/products/c0eb0cb5-/apis"; + _requests[580] = new DefaultHttpContext(); + _requests[580].RequestServices = CreateServices(); + _requests[580].Request.Method = "GET"; + _requests[580].Request.Path = "/products/6c984fe0-/groups"; + _requests[581] = new DefaultHttpContext(); + _requests[581].RequestServices = CreateServices(); + _requests[581].Request.Method = "GET"; + _requests[581].Request.Path = "/products/a3e7b5aa-/policies"; + _requests[582] = new DefaultHttpContext(); + _requests[582].RequestServices = CreateServices(); + _requests[582].Request.Method = "GET"; + _requests[582].Request.Path = "/products/0653c953-/subscriptions"; + _requests[583] = new DefaultHttpContext(); + _requests[583].RequestServices = CreateServices(); + _requests[583].Request.Method = "DELETE"; + _requests[583].Request.Path = "/projects/55d556bc-/images"; + _requests[584] = new DefaultHttpContext(); + _requests[584].RequestServices = CreateServices(); + _requests[584].Request.Method = "GET"; + _requests[584].Request.Path = "/projects/ae3c3264-/iterations"; + _requests[585] = new DefaultHttpContext(); + _requests[585].RequestServices = CreateServices(); + _requests[585].Request.Method = "DELETE"; + _requests[585].Request.Path = "/projects/add231e4-/predictions"; + _requests[586] = new DefaultHttpContext(); + _requests[586].RequestServices = CreateServices(); + _requests[586].Request.Method = "POST"; + _requests[586].Request.Path = "/projects/299047ef-/tags"; + _requests[587] = new DefaultHttpContext(); + _requests[587].RequestServices = CreateServices(); + _requests[587].Request.Method = "POST"; + _requests[587].Request.Path = "/projects/ba68c06c-/train"; + _requests[588] = new DefaultHttpContext(); + _requests[588].RequestServices = CreateServices(); + _requests[588].Request.Method = "GET"; + _requests[588].Request.Path = "/providers/8d17ddde-fb26-4379-83de-8/operations"; + _requests[589] = new DefaultHttpContext(); + _requests[589].RequestServices = CreateServices(); + _requests[589].Request.Method = "POST"; + _requests[589].Request.Path = "/secrets/83f8e567-84/backup"; + _requests[590] = new DefaultHttpContext(); + _requests[590].RequestServices = CreateServices(); + _requests[590].Request.Method = "GET"; + _requests[590].Request.Path = "/secrets/8ecd653a-5d/versions"; + _requests[591] = new DefaultHttpContext(); + _requests[591].RequestServices = CreateServices(); + _requests[591].Request.Method = "POST"; + _requests[591].Request.Path = "/storage/52a74144-18f2-4dfd-a/backup"; + _requests[592] = new DefaultHttpContext(); + _requests[592].RequestServices = CreateServices(); + _requests[592].Request.Method = "POST"; + _requests[592].Request.Path = "/storage/2e7f4357-4e1f-4244-8/regeneratekey"; + _requests[593] = new DefaultHttpContext(); + _requests[593].RequestServices = CreateServices(); + _requests[593].Request.Method = "GET"; + _requests[593].Request.Path = "/storage/095563f5-3af3-4e76-8/sas"; + _requests[594] = new DefaultHttpContext(); + _requests[594].RequestServices = CreateServices(); + _requests[594].Request.Method = "POST"; + _requests[594].Request.Path = "/subscriptions/dcd58/regeneratePrimaryKey"; + _requests[595] = new DefaultHttpContext(); + _requests[595].RequestServices = CreateServices(); + _requests[595].Request.Method = "POST"; + _requests[595].Request.Path = "/subscriptions/60293/regenerateSecondaryKey"; + _requests[596] = new DefaultHttpContext(); + _requests[596].RequestServices = CreateServices(); + _requests[596].Request.Method = "GET"; + _requests[596].Request.Path = "/subscriptions/eaeea686-96a7-/locations"; + _requests[597] = new DefaultHttpContext(); + _requests[597].RequestServices = CreateServices(); + _requests[597].Request.Method = "GET"; + _requests[597].Request.Path = "/subscriptions/3cdd4344-b16d-/providers"; + _requests[598] = new DefaultHttpContext(); + _requests[598].RequestServices = CreateServices(); + _requests[598].Request.Method = "GET"; + _requests[598].Request.Path = "/subscriptions/f42790b4-3cff-/resourcegroups"; + _requests[599] = new DefaultHttpContext(); + _requests[599].RequestServices = CreateServices(); + _requests[599].Request.Method = "GET"; + _requests[599].Request.Path = "/subscriptions/727042a1-5bdc-/resources"; + _requests[600] = new DefaultHttpContext(); + _requests[600].RequestServices = CreateServices(); + _requests[600].Request.Method = "GET"; + _requests[600].Request.Path = "/subscriptions/26f5cc57-72ff-/tagNames"; + _requests[601] = new DefaultHttpContext(); + _requests[601].RequestServices = CreateServices(); + _requests[601].Request.Method = "GET"; + _requests[601].Request.Path = "/tenant/a57756ff-8/git"; + _requests[602] = new DefaultHttpContext(); + _requests[602].RequestServices = CreateServices(); + _requests[602].Request.Method = "POST"; + _requests[602].Request.Path = "/tenant/71f7ce95-3/regeneratePrimaryKey"; + _requests[603] = new DefaultHttpContext(); + _requests[603].RequestServices = CreateServices(); + _requests[603].Request.Method = "POST"; + _requests[603].Request.Path = "/tenant/099efc7c-0/regenerateSecondaryKey"; + _requests[604] = new DefaultHttpContext(); + _requests[604].RequestServices = CreateServices(); + _requests[604].Request.Method = "POST"; + _requests[604].Request.Path = "/tenant/49ad643a-0c08-4b0/deploy"; + _requests[605] = new DefaultHttpContext(); + _requests[605].RequestServices = CreateServices(); + _requests[605].Request.Method = "POST"; + _requests[605].Request.Path = "/tenant/83a61898-982d-417/save"; + _requests[606] = new DefaultHttpContext(); + _requests[606].RequestServices = CreateServices(); + _requests[606].Request.Method = "GET"; + _requests[606].Request.Path = "/tenant/72ae3e46-5330-4ad/syncState"; + _requests[607] = new DefaultHttpContext(); + _requests[607].RequestServices = CreateServices(); + _requests[607].Request.Method = "POST"; + _requests[607].Request.Path = "/tenant/8d42bb52-6018-408/validate"; + _requests[608] = new DefaultHttpContext(); + _requests[608].RequestServices = CreateServices(); + _requests[608].Request.Method = "POST"; + _requests[608].Request.Path = "/users/6c075/generateSsoUrl"; + _requests[609] = new DefaultHttpContext(); + _requests[609].RequestServices = CreateServices(); + _requests[609].Request.Method = "GET"; + _requests[609].Request.Path = "/users/cb332/groups"; + _requests[610] = new DefaultHttpContext(); + _requests[610].RequestServices = CreateServices(); + _requests[610].Request.Method = "GET"; + _requests[610].Request.Path = "/users/9543b/identities"; + _requests[611] = new DefaultHttpContext(); + _requests[611].RequestServices = CreateServices(); + _requests[611].Request.Method = "GET"; + _requests[611].Request.Path = "/users/70253/subscriptions"; + _requests[612] = new DefaultHttpContext(); + _requests[612].RequestServices = CreateServices(); + _requests[612].Request.Method = "POST"; + _requests[612].Request.Path = "/users/dd340/token"; + _requests[613] = new DefaultHttpContext(); + _requests[613].RequestServices = CreateServices(); + _requests[613].Request.Method = "POST"; + _requests[613].Request.Path = "/workspaces/5927e433-6e/query"; + _requests[614] = new DefaultHttpContext(); + _requests[614].RequestServices = CreateServices(); + _requests[614].Request.Method = "POST"; + _requests[614].Request.Path = "/Applications/cab3de12-435e/$/Delete"; + _requests[615] = new DefaultHttpContext(); + _requests[615].RequestServices = CreateServices(); + _requests[615].Request.Method = "POST"; + _requests[615].Request.Path = "/Applications/b68ce4fa-0a8c/$/DisableBackup"; + _requests[616] = new DefaultHttpContext(); + _requests[616].RequestServices = CreateServices(); + _requests[616].Request.Method = "POST"; + _requests[616].Request.Path = "/Applications/4c0a67dc-21e3/$/EnableBackup"; + _requests[617] = new DefaultHttpContext(); + _requests[617].RequestServices = CreateServices(); + _requests[617].Request.Method = "GET"; + _requests[617].Request.Path = "/Applications/6424037e-9ec5/$/GetBackupConfigurationInfo"; + _requests[618] = new DefaultHttpContext(); + _requests[618].RequestServices = CreateServices(); + _requests[618].Request.Method = "GET"; + _requests[618].Request.Path = "/Applications/2ce014d9-1615/$/GetBackups"; + _requests[619] = new DefaultHttpContext(); + _requests[619].RequestServices = CreateServices(); + _requests[619].Request.Method = "POST"; + _requests[619].Request.Path = "/Applications/4d0a729a-845b/$/GetHealth"; + _requests[620] = new DefaultHttpContext(); + _requests[620].RequestServices = CreateServices(); + _requests[620].Request.Method = "GET"; + _requests[620].Request.Path = "/Applications/1dc83459-5385/$/GetLoadInformation"; + _requests[621] = new DefaultHttpContext(); + _requests[621].RequestServices = CreateServices(); + _requests[621].Request.Method = "GET"; + _requests[621].Request.Path = "/Applications/84b0d3d6-1655/$/GetServices"; + _requests[622] = new DefaultHttpContext(); + _requests[622].RequestServices = CreateServices(); + _requests[622].Request.Method = "GET"; + _requests[622].Request.Path = "/Applications/60ac881f-5b7a/$/GetUpgradeProgress"; + _requests[623] = new DefaultHttpContext(); + _requests[623].RequestServices = CreateServices(); + _requests[623].Request.Method = "POST"; + _requests[623].Request.Path = "/Applications/9e66c7cd-18e2/$/MoveToNextUpgradeDomain"; + _requests[624] = new DefaultHttpContext(); + _requests[624].RequestServices = CreateServices(); + _requests[624].Request.Method = "POST"; + _requests[624].Request.Path = "/Applications/53da93e0-97dd/$/ReportHealth"; + _requests[625] = new DefaultHttpContext(); + _requests[625].RequestServices = CreateServices(); + _requests[625].Request.Method = "POST"; + _requests[625].Request.Path = "/Applications/81a0d308-4385/$/ResumeBackup"; + _requests[626] = new DefaultHttpContext(); + _requests[626].RequestServices = CreateServices(); + _requests[626].Request.Method = "POST"; + _requests[626].Request.Path = "/Applications/bdc3b37b-7f23/$/RollbackUpgrade"; + _requests[627] = new DefaultHttpContext(); + _requests[627].RequestServices = CreateServices(); + _requests[627].Request.Method = "POST"; + _requests[627].Request.Path = "/Applications/0059e7f3-3e39/$/SuspendBackup"; + _requests[628] = new DefaultHttpContext(); + _requests[628].RequestServices = CreateServices(); + _requests[628].Request.Method = "POST"; + _requests[628].Request.Path = "/Applications/ff422fda-2887/$/UpdateUpgrade"; + _requests[629] = new DefaultHttpContext(); + _requests[629].RequestServices = CreateServices(); + _requests[629].Request.Method = "POST"; + _requests[629].Request.Path = "/Applications/fe9b6661-248f/$/Upgrade"; + _requests[630] = new DefaultHttpContext(); + _requests[630].RequestServices = CreateServices(); + _requests[630].Request.Method = "POST"; + _requests[630].Request.Path = "/Applications/c4f0a8c4-6ce2-4/$/MoveNextUpgradeDomain"; + _requests[631] = new DefaultHttpContext(); + _requests[631].RequestServices = CreateServices(); + _requests[631].Request.Method = "GET"; + _requests[631].Request.Path = "/ApplicationTypes/78c5e510-713e-4c1b-/$/GetApplicationManifest"; + _requests[632] = new DefaultHttpContext(); + _requests[632].RequestServices = CreateServices(); + _requests[632].Request.Method = "GET"; + _requests[632].Request.Path = "/ApplicationTypes/0406e307-cb2c-42f6-/$/GetServiceManifest"; + _requests[633] = new DefaultHttpContext(); + _requests[633].RequestServices = CreateServices(); + _requests[633].Request.Method = "GET"; + _requests[633].Request.Path = "/ApplicationTypes/1f5c746b-0a99-45d3-/$/GetServiceTypes"; + _requests[634] = new DefaultHttpContext(); + _requests[634].RequestServices = CreateServices(); + _requests[634].Request.Method = "POST"; + _requests[634].Request.Path = "/ApplicationTypes/654998e4-4d8d-4b32-/$/Unprovision"; + _requests[635] = new DefaultHttpContext(); + _requests[635].RequestServices = CreateServices(); + _requests[635].Request.Method = "GET"; + _requests[635].Request.Path = "/apps/10f8f/events/$metadata"; + _requests[636] = new DefaultHttpContext(); + _requests[636].RequestServices = CreateServices(); + _requests[636].Request.Method = "GET"; + _requests[636].Request.Path = "/apps/afae3/metrics/metadata"; + _requests[637] = new DefaultHttpContext(); + _requests[637].RequestServices = CreateServices(); + _requests[637].Request.Method = "GET"; + _requests[637].Request.Path = "/apps/f343b/query/schema"; + _requests[638] = new DefaultHttpContext(); + _requests[638].RequestServices = CreateServices(); + _requests[638].Request.Method = "POST"; + _requests[638].Request.Path = "/apps/b2845/versions/import"; + _requests[639] = new DefaultHttpContext(); + _requests[639].RequestServices = CreateServices(); + _requests[639].Request.Method = "POST"; + _requests[639].Request.Path = "/certificates/4808d2d8-7fca-4f/pending/merge"; + _requests[640] = new DefaultHttpContext(); + _requests[640].RequestServices = CreateServices(); + _requests[640].Request.Method = "POST"; + _requests[640].Request.Path = "/ComposeDeployments/4c3b8802-4593-/$/Delete"; + _requests[641] = new DefaultHttpContext(); + _requests[641].RequestServices = CreateServices(); + _requests[641].Request.Method = "GET"; + _requests[641].Request.Path = "/ComposeDeployments/03cd380c-caf5-/$/GetUpgradeProgress"; + _requests[642] = new DefaultHttpContext(); + _requests[642].RequestServices = CreateServices(); + _requests[642].Request.Method = "POST"; + _requests[642].Request.Path = "/ComposeDeployments/feb4a661-ab53-/$/Upgrade"; + _requests[643] = new DefaultHttpContext(); + _requests[643].RequestServices = CreateServices(); + _requests[643].Request.Method = "GET"; + _requests[643].Request.Path = "/ImageStore/dfde590e-cf/$/GetUploadSession"; + _requests[644] = new DefaultHttpContext(); + _requests[644].RequestServices = CreateServices(); + _requests[644].Request.Method = "PUT"; + _requests[644].Request.Path = "/ImageStore/c4727e43-12/$/UploadChunk"; + _requests[645] = new DefaultHttpContext(); + _requests[645].RequestServices = CreateServices(); + _requests[645].Request.Method = "GET"; + _requests[645].Request.Path = "/Names/f46427/$/GetProperties"; + _requests[646] = new DefaultHttpContext(); + _requests[646].RequestServices = CreateServices(); + _requests[646].Request.Method = "DELETE"; + _requests[646].Request.Path = "/Names/105f45/$/GetProperty"; + _requests[647] = new DefaultHttpContext(); + _requests[647].RequestServices = CreateServices(); + _requests[647].Request.Method = "GET"; + _requests[647].Request.Path = "/Names/917398/$/GetSubNames"; + _requests[648] = new DefaultHttpContext(); + _requests[648].RequestServices = CreateServices(); + _requests[648].Request.Method = "POST"; + _requests[648].Request.Path = "/Nodes/0571faf5/$/Activate"; + _requests[649] = new DefaultHttpContext(); + _requests[649].RequestServices = CreateServices(); + _requests[649].Request.Method = "POST"; + _requests[649].Request.Path = "/Nodes/603c39f2/$/Deactivate"; + _requests[650] = new DefaultHttpContext(); + _requests[650].RequestServices = CreateServices(); + _requests[650].Request.Method = "POST"; + _requests[650].Request.Path = "/Nodes/209a342a/$/DeployServicePackage"; + _requests[651] = new DefaultHttpContext(); + _requests[651].RequestServices = CreateServices(); + _requests[651].Request.Method = "GET"; + _requests[651].Request.Path = "/Nodes/fc8ce00f/$/GetApplications"; + _requests[652] = new DefaultHttpContext(); + _requests[652].RequestServices = CreateServices(); + _requests[652].Request.Method = "POST"; + _requests[652].Request.Path = "/Nodes/6257d021/$/GetHealth"; + _requests[653] = new DefaultHttpContext(); + _requests[653].RequestServices = CreateServices(); + _requests[653].Request.Method = "GET"; + _requests[653].Request.Path = "/Nodes/72aa7290/$/GetLoadInformation"; + _requests[654] = new DefaultHttpContext(); + _requests[654].RequestServices = CreateServices(); + _requests[654].Request.Method = "POST"; + _requests[654].Request.Path = "/Nodes/a5285681/$/RemoveNodeState"; + _requests[655] = new DefaultHttpContext(); + _requests[655].RequestServices = CreateServices(); + _requests[655].Request.Method = "POST"; + _requests[655].Request.Path = "/Nodes/b05e53e8/$/ReportHealth"; + _requests[656] = new DefaultHttpContext(); + _requests[656].RequestServices = CreateServices(); + _requests[656].Request.Method = "POST"; + _requests[656].Request.Path = "/Nodes/aa164292/$/Restart"; + _requests[657] = new DefaultHttpContext(); + _requests[657].RequestServices = CreateServices(); + _requests[657].Request.Method = "POST"; + _requests[657].Request.Path = "/Nodes/4e65cfe3/$/Start"; + _requests[658] = new DefaultHttpContext(); + _requests[658].RequestServices = CreateServices(); + _requests[658].Request.Method = "POST"; + _requests[658].Request.Path = "/Nodes/359e70a5/$/Stop"; + _requests[659] = new DefaultHttpContext(); + _requests[659].RequestServices = CreateServices(); + _requests[659].Request.Method = "POST"; + _requests[659].Request.Path = "/Partitions/02ec5952-1a/$/Backup"; + _requests[660] = new DefaultHttpContext(); + _requests[660].RequestServices = CreateServices(); + _requests[660].Request.Method = "POST"; + _requests[660].Request.Path = "/Partitions/0a24bef6-c8/$/DisableBackup"; + _requests[661] = new DefaultHttpContext(); + _requests[661].RequestServices = CreateServices(); + _requests[661].Request.Method = "POST"; + _requests[661].Request.Path = "/Partitions/1594f7f0-d1/$/EnableBackup"; + _requests[662] = new DefaultHttpContext(); + _requests[662].RequestServices = CreateServices(); + _requests[662].Request.Method = "GET"; + _requests[662].Request.Path = "/Partitions/107a2228-12/$/GetBackupConfigurationInfo"; + _requests[663] = new DefaultHttpContext(); + _requests[663].RequestServices = CreateServices(); + _requests[663].Request.Method = "GET"; + _requests[663].Request.Path = "/Partitions/ec7ecb0c-71/$/GetBackupProgress"; + _requests[664] = new DefaultHttpContext(); + _requests[664].RequestServices = CreateServices(); + _requests[664].Request.Method = "GET"; + _requests[664].Request.Path = "/Partitions/0198e4a6-e0/$/GetBackups"; + _requests[665] = new DefaultHttpContext(); + _requests[665].RequestServices = CreateServices(); + _requests[665].Request.Method = "POST"; + _requests[665].Request.Path = "/Partitions/daed4973-d5/$/GetHealth"; + _requests[666] = new DefaultHttpContext(); + _requests[666].RequestServices = CreateServices(); + _requests[666].Request.Method = "GET"; + _requests[666].Request.Path = "/Partitions/e33cfd42-3f/$/GetLoadInformation"; + _requests[667] = new DefaultHttpContext(); + _requests[667].RequestServices = CreateServices(); + _requests[667].Request.Method = "GET"; + _requests[667].Request.Path = "/Partitions/170d6b38-5f/$/GetReplicas"; + _requests[668] = new DefaultHttpContext(); + _requests[668].RequestServices = CreateServices(); + _requests[668].Request.Method = "GET"; + _requests[668].Request.Path = "/Partitions/9077dc0f-b8/$/GetRestoreProgress"; + _requests[669] = new DefaultHttpContext(); + _requests[669].RequestServices = CreateServices(); + _requests[669].Request.Method = "GET"; + _requests[669].Request.Path = "/Partitions/82cddeac-ac/$/GetServiceName"; + _requests[670] = new DefaultHttpContext(); + _requests[670].RequestServices = CreateServices(); + _requests[670].Request.Method = "POST"; + _requests[670].Request.Path = "/Partitions/e6352ccd-a3/$/Recover"; + _requests[671] = new DefaultHttpContext(); + _requests[671].RequestServices = CreateServices(); + _requests[671].Request.Method = "POST"; + _requests[671].Request.Path = "/Partitions/14d749db-12/$/ReportHealth"; + _requests[672] = new DefaultHttpContext(); + _requests[672].RequestServices = CreateServices(); + _requests[672].Request.Method = "POST"; + _requests[672].Request.Path = "/Partitions/5fe12a6f-79/$/ResetLoad"; + _requests[673] = new DefaultHttpContext(); + _requests[673].RequestServices = CreateServices(); + _requests[673].Request.Method = "POST"; + _requests[673].Request.Path = "/Partitions/7ded09a1-ca/$/Restore"; + _requests[674] = new DefaultHttpContext(); + _requests[674].RequestServices = CreateServices(); + _requests[674].Request.Method = "POST"; + _requests[674].Request.Path = "/Partitions/5c3b605e-4f/$/ResumeBackup"; + _requests[675] = new DefaultHttpContext(); + _requests[675].RequestServices = CreateServices(); + _requests[675].Request.Method = "POST"; + _requests[675].Request.Path = "/Partitions/3e5a9a73-90/$/SuspendBackup"; + _requests[676] = new DefaultHttpContext(); + _requests[676].RequestServices = CreateServices(); + _requests[676].Request.Method = "POST"; + _requests[676].Request.Path = "/projects/172d04bb-/images/files"; + _requests[677] = new DefaultHttpContext(); + _requests[677].RequestServices = CreateServices(); + _requests[677].Request.Method = "GET"; + _requests[677].Request.Path = "/projects/02949f98-/images/id"; + _requests[678] = new DefaultHttpContext(); + _requests[678].RequestServices = CreateServices(); + _requests[678].Request.Method = "POST"; + _requests[678].Request.Path = "/projects/8cb0ed0e-/images/predictions"; + _requests[679] = new DefaultHttpContext(); + _requests[679].RequestServices = CreateServices(); + _requests[679].Request.Method = "DELETE"; + _requests[679].Request.Path = "/projects/3d1bf5c7-/images/regions"; + _requests[680] = new DefaultHttpContext(); + _requests[680].RequestServices = CreateServices(); + _requests[680].Request.Method = "GET"; + _requests[680].Request.Path = "/projects/69813896-/images/tagged"; + _requests[681] = new DefaultHttpContext(); + _requests[681].RequestServices = CreateServices(); + _requests[681].Request.Method = "DELETE"; + _requests[681].Request.Path = "/projects/6d8f1595-/images/tags"; + _requests[682] = new DefaultHttpContext(); + _requests[682].RequestServices = CreateServices(); + _requests[682].Request.Method = "GET"; + _requests[682].Request.Path = "/projects/a8e6273f-/images/untagged"; + _requests[683] = new DefaultHttpContext(); + _requests[683].RequestServices = CreateServices(); + _requests[683].Request.Method = "POST"; + _requests[683].Request.Path = "/projects/1071b4d8-/images/urls"; + _requests[684] = new DefaultHttpContext(); + _requests[684].RequestServices = CreateServices(); + _requests[684].Request.Method = "POST"; + _requests[684].Request.Path = "/projects/bc22f722-/predictions/query"; + _requests[685] = new DefaultHttpContext(); + _requests[685].RequestServices = CreateServices(); + _requests[685].Request.Method = "POST"; + _requests[685].Request.Path = "/projects/61a51da1-/quicktest/image"; + _requests[686] = new DefaultHttpContext(); + _requests[686].RequestServices = CreateServices(); + _requests[686].Request.Method = "POST"; + _requests[686].Request.Path = "/projects/24a40dc2-/quicktest/url"; + _requests[687] = new DefaultHttpContext(); + _requests[687].RequestServices = CreateServices(); + _requests[687].Request.Method = "POST"; + _requests[687].Request.Path = "/Services/4e5bf29a-/$/Delete"; + _requests[688] = new DefaultHttpContext(); + _requests[688].RequestServices = CreateServices(); + _requests[688].Request.Method = "POST"; + _requests[688].Request.Path = "/Services/abd8c772-/$/DisableBackup"; + _requests[689] = new DefaultHttpContext(); + _requests[689].RequestServices = CreateServices(); + _requests[689].Request.Method = "POST"; + _requests[689].Request.Path = "/Services/46b4b417-/$/EnableBackup"; + _requests[690] = new DefaultHttpContext(); + _requests[690].RequestServices = CreateServices(); + _requests[690].Request.Method = "GET"; + _requests[690].Request.Path = "/Services/1d8f00f9-/$/GetApplicationName"; + _requests[691] = new DefaultHttpContext(); + _requests[691].RequestServices = CreateServices(); + _requests[691].Request.Method = "GET"; + _requests[691].Request.Path = "/Services/a739bae4-/$/GetBackupConfigurationInfo"; + _requests[692] = new DefaultHttpContext(); + _requests[692].RequestServices = CreateServices(); + _requests[692].Request.Method = "GET"; + _requests[692].Request.Path = "/Services/0bebcaa0-/$/GetBackups"; + _requests[693] = new DefaultHttpContext(); + _requests[693].RequestServices = CreateServices(); + _requests[693].Request.Method = "GET"; + _requests[693].Request.Path = "/Services/2df47850-/$/GetDescription"; + _requests[694] = new DefaultHttpContext(); + _requests[694].RequestServices = CreateServices(); + _requests[694].Request.Method = "POST"; + _requests[694].Request.Path = "/Services/b47abe8a-/$/GetHealth"; + _requests[695] = new DefaultHttpContext(); + _requests[695].RequestServices = CreateServices(); + _requests[695].Request.Method = "GET"; + _requests[695].Request.Path = "/Services/6b7a2c24-/$/GetPartitions"; + _requests[696] = new DefaultHttpContext(); + _requests[696].RequestServices = CreateServices(); + _requests[696].Request.Method = "POST"; + _requests[696].Request.Path = "/Services/be1ce61f-/$/ReportHealth"; + _requests[697] = new DefaultHttpContext(); + _requests[697].RequestServices = CreateServices(); + _requests[697].Request.Method = "GET"; + _requests[697].Request.Path = "/Services/baf50bf0-/$/ResolvePartition"; + _requests[698] = new DefaultHttpContext(); + _requests[698].RequestServices = CreateServices(); + _requests[698].Request.Method = "POST"; + _requests[698].Request.Path = "/Services/68e5e366-/$/ResumeBackup"; + _requests[699] = new DefaultHttpContext(); + _requests[699].RequestServices = CreateServices(); + _requests[699].Request.Method = "POST"; + _requests[699].Request.Path = "/Services/ee1db6d3-/$/SuspendBackup"; + _requests[700] = new DefaultHttpContext(); + _requests[700].RequestServices = CreateServices(); + _requests[700].Request.Method = "POST"; + _requests[700].Request.Path = "/Services/6804a873-/$/Update"; + _requests[701] = new DefaultHttpContext(); + _requests[701].RequestServices = CreateServices(); + _requests[701].Request.Method = "POST"; + _requests[701].Request.Path = "/tenant/d32883b0-0/git/regeneratePrimaryKey"; + _requests[702] = new DefaultHttpContext(); + _requests[702].RequestServices = CreateServices(); + _requests[702].Request.Method = "POST"; + _requests[702].Request.Path = "/tenant/1a3f8c7e-f/git/regenerateSecondaryKey"; + _requests[703] = new DefaultHttpContext(); + _requests[703].RequestServices = CreateServices(); + _requests[703].Request.Method = "GET"; + _requests[703].Request.Path = "/projects/7dd68689-/images/tagged/count"; + _requests[704] = new DefaultHttpContext(); + _requests[704].RequestServices = CreateServices(); + _requests[704].Request.Method = "GET"; + _requests[704].Request.Path = "/projects/1e087cb9-/images/untagged/count"; + _requests[705] = new DefaultHttpContext(); + _requests[705].RequestServices = CreateServices(); + _requests[705].Request.Method = "GET"; + _requests[705].Request.Path = "/subscriptions/8bc7e92e-b485-/providers/Microsoft.AAD/domainServices"; + _requests[706] = new DefaultHttpContext(); + _requests[706].RequestServices = CreateServices(); + _requests[706].Request.Method = "PUT"; + _requests[706].Request.Path = "/subscriptions/9176b6b9-99ea-/providers/Microsoft.Advisor/configurations"; + _requests[707] = new DefaultHttpContext(); + _requests[707].RequestServices = CreateServices(); + _requests[707].Request.Method = "POST"; + _requests[707].Request.Path = "/subscriptions/a4a3c485-277b-/providers/Microsoft.Advisor/generateRecommendations"; + _requests[708] = new DefaultHttpContext(); + _requests[708].RequestServices = CreateServices(); + _requests[708].Request.Method = "GET"; + _requests[708].Request.Path = "/subscriptions/615eb97d-ce44-/providers/Microsoft.Advisor/recommendations"; + _requests[709] = new DefaultHttpContext(); + _requests[709].RequestServices = CreateServices(); + _requests[709].Request.Method = "GET"; + _requests[709].Request.Path = "/subscriptions/dd3878fe-26a0-/providers/Microsoft.Advisor/suppressions"; + _requests[710] = new DefaultHttpContext(); + _requests[710].RequestServices = CreateServices(); + _requests[710].Request.Method = "GET"; + _requests[710].Request.Path = "/subscriptions/5aff4d6e-8cfc-/providers/Microsoft.AnalysisServices/servers"; + _requests[711] = new DefaultHttpContext(); + _requests[711].RequestServices = CreateServices(); + _requests[711].Request.Method = "GET"; + _requests[711].Request.Path = "/subscriptions/eb87958c-d33f-/providers/Microsoft.AnalysisServices/skus"; + _requests[712] = new DefaultHttpContext(); + _requests[712].RequestServices = CreateServices(); + _requests[712].Request.Method = "POST"; + _requests[712].Request.Path = "/subscriptions/80594cd3-b762-/providers/Microsoft.ApiManagement/checkNameAvailability"; + _requests[713] = new DefaultHttpContext(); + _requests[713].RequestServices = CreateServices(); + _requests[713].Request.Method = "GET"; + _requests[713].Request.Path = "/subscriptions/48db1c63-025a-/providers/Microsoft.ApiManagement/service"; + _requests[714] = new DefaultHttpContext(); + _requests[714].RequestServices = CreateServices(); + _requests[714].Request.Method = "GET"; + _requests[714].Request.Path = "/subscriptions/5927821b-97d2-/providers/Microsoft.Authorization/classicAdministrators"; + _requests[715] = new DefaultHttpContext(); + _requests[715].RequestServices = CreateServices(); + _requests[715].Request.Method = "GET"; + _requests[715].Request.Path = "/subscriptions/870aada7-28b8-/providers/Microsoft.Authorization/locks"; + _requests[716] = new DefaultHttpContext(); + _requests[716].RequestServices = CreateServices(); + _requests[716].Request.Method = "GET"; + _requests[716].Request.Path = "/subscriptions/1037c3fa-85c0-/providers/Microsoft.Authorization/policyAssignments"; + _requests[717] = new DefaultHttpContext(); + _requests[717].RequestServices = CreateServices(); + _requests[717].Request.Method = "GET"; + _requests[717].Request.Path = "/subscriptions/ca7136c9-8f80-/providers/Microsoft.Authorization/policyDefinitions"; + _requests[718] = new DefaultHttpContext(); + _requests[718].RequestServices = CreateServices(); + _requests[718].Request.Method = "GET"; + _requests[718].Request.Path = "/subscriptions/74d3ceb3-497a-/providers/Microsoft.Authorization/policySetDefinitions"; + _requests[719] = new DefaultHttpContext(); + _requests[719].RequestServices = CreateServices(); + _requests[719].Request.Method = "GET"; + _requests[719].Request.Path = "/subscriptions/9e4d06ae-d272-/providers/Microsoft.Authorization/roleAssignments"; + _requests[720] = new DefaultHttpContext(); + _requests[720].RequestServices = CreateServices(); + _requests[720].Request.Method = "GET"; + _requests[720].Request.Path = "/subscriptions/0f7b265a-3fe2-/providers/Microsoft.Automation/automationAccounts"; + _requests[721] = new DefaultHttpContext(); + _requests[721].RequestServices = CreateServices(); + _requests[721].Request.Method = "GET"; + _requests[721].Request.Path = "/subscriptions/58885f88-6155-/providers/Microsoft.Batch/batchAccounts"; + _requests[722] = new DefaultHttpContext(); + _requests[722].RequestServices = CreateServices(); + _requests[722].Request.Method = "GET"; + _requests[722].Request.Path = "/subscriptions/7b17e548-88d8-/providers/Microsoft.BatchAI/clusters"; + _requests[723] = new DefaultHttpContext(); + _requests[723].RequestServices = CreateServices(); + _requests[723].Request.Method = "GET"; + _requests[723].Request.Path = "/subscriptions/91f60922-63bc-/providers/Microsoft.BatchAI/fileServers"; + _requests[724] = new DefaultHttpContext(); + _requests[724].RequestServices = CreateServices(); + _requests[724].Request.Method = "GET"; + _requests[724].Request.Path = "/subscriptions/b4e63745-b794-/providers/Microsoft.BatchAI/jobs"; + _requests[725] = new DefaultHttpContext(); + _requests[725].RequestServices = CreateServices(); + _requests[725].Request.Method = "GET"; + _requests[725].Request.Path = "/subscriptions/e7dbcedb-14d8-/providers/Microsoft.BatchAI/workspaces"; + _requests[726] = new DefaultHttpContext(); + _requests[726].RequestServices = CreateServices(); + _requests[726].Request.Method = "GET"; + _requests[726].Request.Path = "/subscriptions/5fe214a6-6b9d-/providers/Microsoft.Billing/billingPeriods"; + _requests[727] = new DefaultHttpContext(); + _requests[727].RequestServices = CreateServices(); + _requests[727].Request.Method = "GET"; + _requests[727].Request.Path = "/subscriptions/57d75d22-1e76-/providers/Microsoft.Billing/invoices"; + _requests[728] = new DefaultHttpContext(); + _requests[728].RequestServices = CreateServices(); + _requests[728].Request.Method = "GET"; + _requests[728].Request.Path = "/subscriptions/967ed4b3-43b2-/providers/Microsoft.BotService/botServices"; + _requests[729] = new DefaultHttpContext(); + _requests[729].RequestServices = CreateServices(); + _requests[729].Request.Method = "POST"; + _requests[729].Request.Path = "/subscriptions/e0f734c8-c212-/providers/Microsoft.Cache/CheckNameAvailability"; + _requests[730] = new DefaultHttpContext(); + _requests[730].RequestServices = CreateServices(); + _requests[730].Request.Method = "GET"; + _requests[730].Request.Path = "/subscriptions/cc92ff4a-3e3b-/providers/Microsoft.Cache/Redis"; + _requests[731] = new DefaultHttpContext(); + _requests[731].RequestServices = CreateServices(); + _requests[731].Request.Method = "GET"; + _requests[731].Request.Path = "/subscriptions/7f4b0554-7098-/providers/Microsoft.Capacity/appliedReservations"; + _requests[732] = new DefaultHttpContext(); + _requests[732].RequestServices = CreateServices(); + _requests[732].Request.Method = "GET"; + _requests[732].Request.Path = "/subscriptions/9ce44aa4-10c8-/providers/Microsoft.Capacity/catalogs"; + _requests[733] = new DefaultHttpContext(); + _requests[733].RequestServices = CreateServices(); + _requests[733].Request.Method = "POST"; + _requests[733].Request.Path = "/subscriptions/46551088-ed53-/providers/Microsoft.Cdn/checkNameAvailability"; + _requests[734] = new DefaultHttpContext(); + _requests[734].RequestServices = CreateServices(); + _requests[734].Request.Method = "POST"; + _requests[734].Request.Path = "/subscriptions/c92dba15-9bb1-/providers/Microsoft.Cdn/checkResourceUsage"; + _requests[735] = new DefaultHttpContext(); + _requests[735].RequestServices = CreateServices(); + _requests[735].Request.Method = "GET"; + _requests[735].Request.Path = "/subscriptions/aba0d95a-ef24-/providers/Microsoft.Cdn/profiles"; + _requests[736] = new DefaultHttpContext(); + _requests[736].RequestServices = CreateServices(); + _requests[736].Request.Method = "POST"; + _requests[736].Request.Path = "/subscriptions/8d4a5122-f7a8-/providers/Microsoft.Cdn/validateProbe"; + _requests[737] = new DefaultHttpContext(); + _requests[737].RequestServices = CreateServices(); + _requests[737].Request.Method = "GET"; + _requests[737].Request.Path = "/subscriptions/befa1ad0-e655-/providers/Microsoft.CertificateRegistration/certificateOrders"; + _requests[738] = new DefaultHttpContext(); + _requests[738].RequestServices = CreateServices(); + _requests[738].Request.Method = "POST"; + _requests[738].Request.Path = "/subscriptions/92b78fd7-d025-/providers/Microsoft.CertificateRegistration/validateCertificateRegistrationInformation"; + _requests[739] = new DefaultHttpContext(); + _requests[739].RequestServices = CreateServices(); + _requests[739].Request.Method = "GET"; + _requests[739].Request.Path = "/subscriptions/fa88ca87-2467-/providers/Microsoft.CognitiveServices/accounts"; + _requests[740] = new DefaultHttpContext(); + _requests[740].RequestServices = CreateServices(); + _requests[740].Request.Method = "GET"; + _requests[740].Request.Path = "/subscriptions/8083ab2e-3d98-/providers/Microsoft.CognitiveServices/skus"; + _requests[741] = new DefaultHttpContext(); + _requests[741].RequestServices = CreateServices(); + _requests[741].Request.Method = "GET"; + _requests[741].Request.Path = "/subscriptions/a8631cf2-d2d6-/providers/Microsoft.Commerce.Admin/subscriberUsageAggregates"; + _requests[742] = new DefaultHttpContext(); + _requests[742].RequestServices = CreateServices(); + _requests[742].Request.Method = "POST"; + _requests[742].Request.Path = "/subscriptions/bd65da69-c9d7-/providers/Microsoft.Commerce.Admin/updateEncryption"; + _requests[743] = new DefaultHttpContext(); + _requests[743].RequestServices = CreateServices(); + _requests[743].Request.Method = "GET"; + _requests[743].Request.Path = "/subscriptions/0b46f867-051f-/providers/Microsoft.Commerce/RateCard"; + _requests[744] = new DefaultHttpContext(); + _requests[744].RequestServices = CreateServices(); + _requests[744].Request.Method = "GET"; + _requests[744].Request.Path = "/subscriptions/f61f218c-6ac7-/providers/Microsoft.Commerce/UsageAggregates"; + _requests[745] = new DefaultHttpContext(); + _requests[745].RequestServices = CreateServices(); + _requests[745].Request.Method = "GET"; + _requests[745].Request.Path = "/subscriptions/0fb30a77-c7cb-/providers/Microsoft.Compute/disks"; + _requests[746] = new DefaultHttpContext(); + _requests[746].RequestServices = CreateServices(); + _requests[746].Request.Method = "GET"; + _requests[746].Request.Path = "/subscriptions/0dafe3ca-2af1-/providers/Microsoft.Compute/galleries"; + _requests[747] = new DefaultHttpContext(); + _requests[747].RequestServices = CreateServices(); + _requests[747].Request.Method = "GET"; + _requests[747].Request.Path = "/subscriptions/33184cd8-7a20-/providers/Microsoft.Compute/images"; + _requests[748] = new DefaultHttpContext(); + _requests[748].RequestServices = CreateServices(); + _requests[748].Request.Method = "GET"; + _requests[748].Request.Path = "/subscriptions/3d73df7b-aacd-/providers/Microsoft.Compute/skus"; + _requests[749] = new DefaultHttpContext(); + _requests[749].RequestServices = CreateServices(); + _requests[749].Request.Method = "GET"; + _requests[749].Request.Path = "/subscriptions/b8042e59-ccdc-/providers/Microsoft.Compute/snapshots"; + _requests[750] = new DefaultHttpContext(); + _requests[750].RequestServices = CreateServices(); + _requests[750].Request.Method = "GET"; + _requests[750].Request.Path = "/subscriptions/7ab91fe1-0986-/providers/Microsoft.Compute/virtualMachines"; + _requests[751] = new DefaultHttpContext(); + _requests[751].RequestServices = CreateServices(); + _requests[751].Request.Method = "GET"; + _requests[751].Request.Path = "/subscriptions/17580482-5357-/providers/Microsoft.Compute/virtualMachineScaleSets"; + _requests[752] = new DefaultHttpContext(); + _requests[752].RequestServices = CreateServices(); + _requests[752].Request.Method = "GET"; + _requests[752].Request.Path = "/subscriptions/8234ece3-d0a1-/providers/Microsoft.Consumption/budgets"; + _requests[753] = new DefaultHttpContext(); + _requests[753].RequestServices = CreateServices(); + _requests[753].Request.Method = "GET"; + _requests[753].Request.Path = "/subscriptions/ee477fa5-da9c-/providers/Microsoft.Consumption/forecasts"; + _requests[754] = new DefaultHttpContext(); + _requests[754].RequestServices = CreateServices(); + _requests[754].Request.Method = "GET"; + _requests[754].Request.Path = "/subscriptions/64170771-eea8-/providers/Microsoft.Consumption/marketplaces"; + _requests[755] = new DefaultHttpContext(); + _requests[755].RequestServices = CreateServices(); + _requests[755].Request.Method = "GET"; + _requests[755].Request.Path = "/subscriptions/e27201e5-bef7-/providers/Microsoft.Consumption/reservationRecommendations"; + _requests[756] = new DefaultHttpContext(); + _requests[756].RequestServices = CreateServices(); + _requests[756].Request.Method = "GET"; + _requests[756].Request.Path = "/subscriptions/2bb93916-2c7e-/providers/Microsoft.Consumption/usageDetails"; + _requests[757] = new DefaultHttpContext(); + _requests[757].RequestServices = CreateServices(); + _requests[757].Request.Method = "GET"; + _requests[757].Request.Path = "/subscriptions/636e627a-35e1-/providers/Microsoft.ContainerInstance/containerGroups"; + _requests[758] = new DefaultHttpContext(); + _requests[758].RequestServices = CreateServices(); + _requests[758].Request.Method = "POST"; + _requests[758].Request.Path = "/subscriptions/2bc8b3f9-24be-/providers/Microsoft.ContainerRegistry/checkNameAvailability"; + _requests[759] = new DefaultHttpContext(); + _requests[759].RequestServices = CreateServices(); + _requests[759].Request.Method = "GET"; + _requests[759].Request.Path = "/subscriptions/9802eb2e-be78-/providers/Microsoft.ContainerRegistry/registries"; + _requests[760] = new DefaultHttpContext(); + _requests[760].RequestServices = CreateServices(); + _requests[760].Request.Method = "GET"; + _requests[760].Request.Path = "/subscriptions/d2d99182-aecd-/providers/Microsoft.ContainerService/containerServices"; + _requests[761] = new DefaultHttpContext(); + _requests[761].RequestServices = CreateServices(); + _requests[761].Request.Method = "GET"; + _requests[761].Request.Path = "/subscriptions/dbc1faae-ea4a-/providers/Microsoft.ContainerService/managedClusters"; + _requests[762] = new DefaultHttpContext(); + _requests[762].RequestServices = CreateServices(); + _requests[762].Request.Method = "GET"; + _requests[762].Request.Path = "/subscriptions/a5d200f0-da4c-/providers/Microsoft.CustomerInsights/hubs"; + _requests[763] = new DefaultHttpContext(); + _requests[763].RequestServices = CreateServices(); + _requests[763].Request.Method = "GET"; + _requests[763].Request.Path = "/subscriptions/bb1750ad-e574-/providers/Microsoft.DataBox/jobs"; + _requests[764] = new DefaultHttpContext(); + _requests[764].RequestServices = CreateServices(); + _requests[764].Request.Method = "GET"; + _requests[764].Request.Path = "/subscriptions/33973c0e-0153-/providers/Microsoft.Databricks/workspaces"; + _requests[765] = new DefaultHttpContext(); + _requests[765].RequestServices = CreateServices(); + _requests[765].Request.Method = "GET"; + _requests[765].Request.Path = "/subscriptions/8faad50a-804f-/providers/Microsoft.DataFactory/factories"; + _requests[766] = new DefaultHttpContext(); + _requests[766].RequestServices = CreateServices(); + _requests[766].Request.Method = "GET"; + _requests[766].Request.Path = "/subscriptions/88260abd-f7dc-/providers/Microsoft.DataLakeAnalytics/accounts"; + _requests[767] = new DefaultHttpContext(); + _requests[767].RequestServices = CreateServices(); + _requests[767].Request.Method = "GET"; + _requests[767].Request.Path = "/subscriptions/b45bd676-236c-/providers/Microsoft.DataLakeStore/accounts"; + _requests[768] = new DefaultHttpContext(); + _requests[768].RequestServices = CreateServices(); + _requests[768].Request.Method = "GET"; + _requests[768].Request.Path = "/subscriptions/98e87df1-8df8-/providers/Microsoft.DataMigration/services"; + _requests[769] = new DefaultHttpContext(); + _requests[769].RequestServices = CreateServices(); + _requests[769].Request.Method = "GET"; + _requests[769].Request.Path = "/subscriptions/e74b9bec-e154-/providers/Microsoft.DataMigration/skus"; + _requests[770] = new DefaultHttpContext(); + _requests[770].RequestServices = CreateServices(); + _requests[770].Request.Method = "POST"; + _requests[770].Request.Path = "/subscriptions/62537978-f167-/providers/Microsoft.DBforMySQL/checkNameAvailability"; + _requests[771] = new DefaultHttpContext(); + _requests[771].RequestServices = CreateServices(); + _requests[771].Request.Method = "GET"; + _requests[771].Request.Path = "/subscriptions/1555bf9f-7420-/providers/Microsoft.DBforMySQL/performanceTiers"; + _requests[772] = new DefaultHttpContext(); + _requests[772].RequestServices = CreateServices(); + _requests[772].Request.Method = "GET"; + _requests[772].Request.Path = "/subscriptions/bec87bd8-d6c1-/providers/Microsoft.DBforMySQL/servers"; + _requests[773] = new DefaultHttpContext(); + _requests[773].RequestServices = CreateServices(); + _requests[773].Request.Method = "POST"; + _requests[773].Request.Path = "/subscriptions/c085e785-1f4d-/providers/Microsoft.DBforPostgreSQL/checkNameAvailability"; + _requests[774] = new DefaultHttpContext(); + _requests[774].RequestServices = CreateServices(); + _requests[774].Request.Method = "GET"; + _requests[774].Request.Path = "/subscriptions/6cf10bb9-9f34-/providers/Microsoft.DBforPostgreSQL/performanceTiers"; + _requests[775] = new DefaultHttpContext(); + _requests[775].RequestServices = CreateServices(); + _requests[775].Request.Method = "GET"; + _requests[775].Request.Path = "/subscriptions/5b11a5aa-ea79-/providers/Microsoft.DBforPostgreSQL/servers"; + _requests[776] = new DefaultHttpContext(); + _requests[776].RequestServices = CreateServices(); + _requests[776].Request.Method = "POST"; + _requests[776].Request.Path = "/subscriptions/c2eb98f9-3313-/providers/Microsoft.Devices/checkNameAvailability"; + _requests[777] = new DefaultHttpContext(); + _requests[777].RequestServices = CreateServices(); + _requests[777].Request.Method = "POST"; + _requests[777].Request.Path = "/subscriptions/2970fc31-9808-/providers/Microsoft.Devices/checkProvisioningServiceNameAvailability"; + _requests[778] = new DefaultHttpContext(); + _requests[778].RequestServices = CreateServices(); + _requests[778].Request.Method = "GET"; + _requests[778].Request.Path = "/subscriptions/5103cd0a-5451-/providers/Microsoft.Devices/IotHubs"; + _requests[779] = new DefaultHttpContext(); + _requests[779].RequestServices = CreateServices(); + _requests[779].Request.Method = "GET"; + _requests[779].Request.Path = "/subscriptions/d2405a78-9e89-/providers/Microsoft.Devices/provisioningServices"; + _requests[780] = new DefaultHttpContext(); + _requests[780].RequestServices = CreateServices(); + _requests[780].Request.Method = "GET"; + _requests[780].Request.Path = "/subscriptions/7f873e87-edf4-/providers/Microsoft.Devices/usages"; + _requests[781] = new DefaultHttpContext(); + _requests[781].RequestServices = CreateServices(); + _requests[781].Request.Method = "GET"; + _requests[781].Request.Path = "/subscriptions/9ff3627c-0d6c-/providers/Microsoft.DevTestLab/labs"; + _requests[782] = new DefaultHttpContext(); + _requests[782].RequestServices = CreateServices(); + _requests[782].Request.Method = "GET"; + _requests[782].Request.Path = "/subscriptions/5bf9b2cd-dac5-/providers/Microsoft.DevTestLab/schedules"; + _requests[783] = new DefaultHttpContext(); + _requests[783].RequestServices = CreateServices(); + _requests[783].Request.Method = "GET"; + _requests[783].Request.Path = "/subscriptions/8f7b240f-c831-/providers/Microsoft.DocumentDB/databaseAccounts"; + _requests[784] = new DefaultHttpContext(); + _requests[784].RequestServices = CreateServices(); + _requests[784].Request.Method = "POST"; + _requests[784].Request.Path = "/subscriptions/e1e000b4-47e1-/providers/Microsoft.DomainRegistration/checkDomainAvailability"; + _requests[785] = new DefaultHttpContext(); + _requests[785].RequestServices = CreateServices(); + _requests[785].Request.Method = "GET"; + _requests[785].Request.Path = "/subscriptions/768eeefa-c766-/providers/Microsoft.DomainRegistration/domains"; + _requests[786] = new DefaultHttpContext(); + _requests[786].RequestServices = CreateServices(); + _requests[786].Request.Method = "POST"; + _requests[786].Request.Path = "/subscriptions/fb7b3427-245c-/providers/Microsoft.DomainRegistration/generateSsoRequest"; + _requests[787] = new DefaultHttpContext(); + _requests[787].RequestServices = CreateServices(); + _requests[787].Request.Method = "POST"; + _requests[787].Request.Path = "/subscriptions/4f68f98f-9901-/providers/Microsoft.DomainRegistration/listDomainRecommendations"; + _requests[788] = new DefaultHttpContext(); + _requests[788].RequestServices = CreateServices(); + _requests[788].Request.Method = "GET"; + _requests[788].Request.Path = "/subscriptions/97b5ed5d-c5d9-/providers/Microsoft.DomainRegistration/topLevelDomains"; + _requests[789] = new DefaultHttpContext(); + _requests[789].RequestServices = CreateServices(); + _requests[789].Request.Method = "POST"; + _requests[789].Request.Path = "/subscriptions/75b623c8-4d7c-/providers/Microsoft.DomainRegistration/validateDomainRegistrationInformation"; + _requests[790] = new DefaultHttpContext(); + _requests[790].RequestServices = CreateServices(); + _requests[790].Request.Method = "GET"; + _requests[790].Request.Path = "/subscriptions/3d196972-2ba4-/providers/Microsoft.EventGrid/eventSubscriptions"; + _requests[791] = new DefaultHttpContext(); + _requests[791].RequestServices = CreateServices(); + _requests[791].Request.Method = "GET"; + _requests[791].Request.Path = "/subscriptions/609bdda8-99c0-/providers/Microsoft.EventGrid/topics"; + _requests[792] = new DefaultHttpContext(); + _requests[792].RequestServices = CreateServices(); + _requests[792].Request.Method = "POST"; + _requests[792].Request.Path = "/subscriptions/891c510f-6b4e-/providers/Microsoft.EventHub/CheckNameAvailability"; + _requests[793] = new DefaultHttpContext(); + _requests[793].RequestServices = CreateServices(); + _requests[793].Request.Method = "POST"; + _requests[793].Request.Path = "/subscriptions/8d9c0fc5-e89a-/providers/Microsoft.EventHub/CheckNamespaceAvailability"; + _requests[794] = new DefaultHttpContext(); + _requests[794].RequestServices = CreateServices(); + _requests[794].Request.Method = "GET"; + _requests[794].Request.Path = "/subscriptions/9a6f311a-7497-/providers/Microsoft.EventHub/namespaces"; + _requests[795] = new DefaultHttpContext(); + _requests[795].RequestServices = CreateServices(); + _requests[795].Request.Method = "GET"; + _requests[795].Request.Path = "/subscriptions/4a06088c-f1b2-/providers/Microsoft.Features/features"; + _requests[796] = new DefaultHttpContext(); + _requests[796].RequestServices = CreateServices(); + _requests[796].Request.Method = "POST"; + _requests[796].Request.Path = "/subscriptions/bbbf891f-7dda-/providers/microsoft.gallery.admin/galleryItems"; + _requests[797] = new DefaultHttpContext(); + _requests[797].RequestServices = CreateServices(); + _requests[797].Request.Method = "GET"; + _requests[797].Request.Path = "/subscriptions/81a6db1a-3ff7-/providers/Microsoft.HanaOnAzure/hanaInstances"; + _requests[798] = new DefaultHttpContext(); + _requests[798].RequestServices = CreateServices(); + _requests[798].Request.Method = "GET"; + _requests[798].Request.Path = "/subscriptions/7c49b216-4cb5-/providers/Microsoft.HDInsight/clusters"; + _requests[799] = new DefaultHttpContext(); + _requests[799].RequestServices = CreateServices(); + _requests[799].Request.Method = "GET"; + _requests[799].Request.Path = "/subscriptions/14d3d32c-f1b2-/providers/Microsoft.ImportExport/jobs"; + _requests[800] = new DefaultHttpContext(); + _requests[800].RequestServices = CreateServices(); + _requests[800].Request.Method = "GET"; + _requests[800].Request.Path = "/subscriptions/2121bee5-0298-/providers/microsoft.insights/actionGroups"; + _requests[801] = new DefaultHttpContext(); + _requests[801].RequestServices = CreateServices(); + _requests[801].Request.Method = "GET"; + _requests[801].Request.Path = "/subscriptions/f8cb584a-cb9c-/providers/microsoft.insights/activityLogAlerts"; + _requests[802] = new DefaultHttpContext(); + _requests[802].RequestServices = CreateServices(); + _requests[802].Request.Method = "GET"; + _requests[802].Request.Path = "/subscriptions/a5673e08-5e86-/providers/Microsoft.Insights/components"; + _requests[803] = new DefaultHttpContext(); + _requests[803].RequestServices = CreateServices(); + _requests[803].Request.Method = "POST"; + _requests[803].Request.Path = "/subscriptions/60057e41-eb4d-/providers/microsoft.insights/listMigrationdate"; + _requests[804] = new DefaultHttpContext(); + _requests[804].RequestServices = CreateServices(); + _requests[804].Request.Method = "GET"; + _requests[804].Request.Path = "/subscriptions/8a1476f5-3202-/providers/microsoft.insights/logprofiles"; + _requests[805] = new DefaultHttpContext(); + _requests[805].RequestServices = CreateServices(); + _requests[805].Request.Method = "GET"; + _requests[805].Request.Path = "/subscriptions/5fb3e070-af05-/providers/Microsoft.Insights/metricAlerts"; + _requests[806] = new DefaultHttpContext(); + _requests[806].RequestServices = CreateServices(); + _requests[806].Request.Method = "POST"; + _requests[806].Request.Path = "/subscriptions/50147e4d-450a-/providers/microsoft.insights/migrateToNewPricingModel"; + _requests[807] = new DefaultHttpContext(); + _requests[807].RequestServices = CreateServices(); + _requests[807].Request.Method = "POST"; + _requests[807].Request.Path = "/subscriptions/612ca439-18f2-/providers/microsoft.insights/rollbackToLegacyPricingModel"; + _requests[808] = new DefaultHttpContext(); + _requests[808].RequestServices = CreateServices(); + _requests[808].Request.Method = "GET"; + _requests[808].Request.Path = "/subscriptions/755a29b3-df80-/providers/microsoft.insights/scheduledQueryRules"; + _requests[809] = new DefaultHttpContext(); + _requests[809].RequestServices = CreateServices(); + _requests[809].Request.Method = "GET"; + _requests[809].Request.Path = "/subscriptions/4536ae26-09ca-/providers/Microsoft.Insights/webtests"; + _requests[810] = new DefaultHttpContext(); + _requests[810].RequestServices = CreateServices(); + _requests[810].Request.Method = "POST"; + _requests[810].Request.Path = "/subscriptions/03156760-97cc-/providers/Microsoft.IoTCentral/checkNameAvailability"; + _requests[811] = new DefaultHttpContext(); + _requests[811].RequestServices = CreateServices(); + _requests[811].Request.Method = "GET"; + _requests[811].Request.Path = "/subscriptions/26b31fed-5ec6-/providers/Microsoft.IoTCentral/IoTApps"; + _requests[812] = new DefaultHttpContext(); + _requests[812].RequestServices = CreateServices(); + _requests[812].Request.Method = "POST"; + _requests[812].Request.Path = "/subscriptions/52a492ad-99a8-/providers/Microsoft.IoTSpaces/checkNameAvailability"; + _requests[813] = new DefaultHttpContext(); + _requests[813].RequestServices = CreateServices(); + _requests[813].Request.Method = "GET"; + _requests[813].Request.Path = "/subscriptions/35643cc4-ed5d-/providers/Microsoft.IoTSpaces/Graph"; + _requests[814] = new DefaultHttpContext(); + _requests[814].RequestServices = CreateServices(); + _requests[814].Request.Method = "POST"; + _requests[814].Request.Path = "/subscriptions/71c4ff01-52f3-/providers/Microsoft.KeyVault/checkNameAvailability"; + _requests[815] = new DefaultHttpContext(); + _requests[815].RequestServices = CreateServices(); + _requests[815].Request.Method = "GET"; + _requests[815].Request.Path = "/subscriptions/1daaf85e-2044-/providers/Microsoft.KeyVault/deletedVaults"; + _requests[816] = new DefaultHttpContext(); + _requests[816].RequestServices = CreateServices(); + _requests[816].Request.Method = "GET"; + _requests[816].Request.Path = "/subscriptions/decfd92e-2d7b-/providers/Microsoft.KeyVault/vaults"; + _requests[817] = new DefaultHttpContext(); + _requests[817].RequestServices = CreateServices(); + _requests[817].Request.Method = "GET"; + _requests[817].Request.Path = "/subscriptions/35893eed-68e6-/providers/Microsoft.Logic/integrationAccounts"; + _requests[818] = new DefaultHttpContext(); + _requests[818].RequestServices = CreateServices(); + _requests[818].Request.Method = "GET"; + _requests[818].Request.Path = "/subscriptions/4534f271-a003-/providers/Microsoft.Logic/workflows"; + _requests[819] = new DefaultHttpContext(); + _requests[819].RequestServices = CreateServices(); + _requests[819].Request.Method = "GET"; + _requests[819].Request.Path = "/subscriptions/647011ae-9bb6-/providers/Microsoft.MachineLearning/commitmentPlans"; + _requests[820] = new DefaultHttpContext(); + _requests[820].RequestServices = CreateServices(); + _requests[820].Request.Method = "GET"; + _requests[820].Request.Path = "/subscriptions/2f920cc8-2af0-/providers/Microsoft.MachineLearning/skus"; + _requests[821] = new DefaultHttpContext(); + _requests[821].RequestServices = CreateServices(); + _requests[821].Request.Method = "GET"; + _requests[821].Request.Path = "/subscriptions/c703941e-ea68-/providers/Microsoft.MachineLearning/webServices"; + _requests[822] = new DefaultHttpContext(); + _requests[822].RequestServices = CreateServices(); + _requests[822].Request.Method = "GET"; + _requests[822].Request.Path = "/subscriptions/e3eebd00-72ed-/providers/Microsoft.MachineLearning/workspaces"; + _requests[823] = new DefaultHttpContext(); + _requests[823].RequestServices = CreateServices(); + _requests[823].Request.Method = "GET"; + _requests[823].Request.Path = "/subscriptions/42831f3e-5ccb-/providers/Microsoft.MachineLearningCompute/operationalizationClusters"; + _requests[824] = new DefaultHttpContext(); + _requests[824].RequestServices = CreateServices(); + _requests[824].Request.Method = "GET"; + _requests[824].Request.Path = "/subscriptions/ad50d895-4bd0-/providers/Microsoft.MachineLearningExperimentation/accounts"; + _requests[825] = new DefaultHttpContext(); + _requests[825].RequestServices = CreateServices(); + _requests[825].Request.Method = "GET"; + _requests[825].Request.Path = "/subscriptions/146075aa-1dc7-/providers/Microsoft.MachineLearningServices/workspaces"; + _requests[826] = new DefaultHttpContext(); + _requests[826].RequestServices = CreateServices(); + _requests[826].Request.Method = "GET"; + _requests[826].Request.Path = "/subscriptions/fa76eeda-6fe6-/providers/Microsoft.ManagedIdentity/userAssignedIdentities"; + _requests[827] = new DefaultHttpContext(); + _requests[827].RequestServices = CreateServices(); + _requests[827].Request.Method = "GET"; + _requests[827].Request.Path = "/subscriptions/6b76123c-9e4f-/providers/Microsoft.Maps/accounts"; + _requests[828] = new DefaultHttpContext(); + _requests[828].RequestServices = CreateServices(); + _requests[828].Request.Method = "POST"; + _requests[828].Request.Path = "/subscriptions/71fc57d4-8681-/providers/Microsoft.Media/CheckNameAvailability"; + _requests[829] = new DefaultHttpContext(); + _requests[829].RequestServices = CreateServices(); + _requests[829].Request.Method = "GET"; + _requests[829].Request.Path = "/subscriptions/709db38f-6be1-/providers/Microsoft.Media/mediaservices"; + _requests[830] = new DefaultHttpContext(); + _requests[830].RequestServices = CreateServices(); + _requests[830].Request.Method = "GET"; + _requests[830].Request.Path = "/subscriptions/994367da-75c2-/providers/Microsoft.Network.Admin/adminLoadBalancers"; + _requests[831] = new DefaultHttpContext(); + _requests[831].RequestServices = CreateServices(); + _requests[831].Request.Method = "GET"; + _requests[831].Request.Path = "/subscriptions/3df31c19-b839-/providers/Microsoft.Network.Admin/adminOverview"; + _requests[832] = new DefaultHttpContext(); + _requests[832].RequestServices = CreateServices(); + _requests[832].Request.Method = "GET"; + _requests[832].Request.Path = "/subscriptions/91fa87cf-d2a6-/providers/Microsoft.Network.Admin/adminPublicIpAddresses"; + _requests[833] = new DefaultHttpContext(); + _requests[833].RequestServices = CreateServices(); + _requests[833].Request.Method = "GET"; + _requests[833].Request.Path = "/subscriptions/fd8405a4-3d67-/providers/Microsoft.Network.Admin/adminVirtualNetworks"; + _requests[834] = new DefaultHttpContext(); + _requests[834].RequestServices = CreateServices(); + _requests[834].Request.Method = "GET"; + _requests[834].Request.Path = "/subscriptions/0ceccf92-b1bd-/providers/Microsoft.Network/applicationGatewayAvailableWafRuleSets"; + _requests[835] = new DefaultHttpContext(); + _requests[835].RequestServices = CreateServices(); + _requests[835].Request.Method = "GET"; + _requests[835].Request.Path = "/subscriptions/036cecf4-5fb9-/providers/Microsoft.Network/applicationGateways"; + _requests[836] = new DefaultHttpContext(); + _requests[836].RequestServices = CreateServices(); + _requests[836].Request.Method = "GET"; + _requests[836].Request.Path = "/subscriptions/8a90e39d-f124-/providers/Microsoft.Network/applicationSecurityGroups"; + _requests[837] = new DefaultHttpContext(); + _requests[837].RequestServices = CreateServices(); + _requests[837].Request.Method = "GET"; + _requests[837].Request.Path = "/subscriptions/c0494119-7a89-/providers/Microsoft.Network/bgpServiceCommunities"; + _requests[838] = new DefaultHttpContext(); + _requests[838].RequestServices = CreateServices(); + _requests[838].Request.Method = "GET"; + _requests[838].Request.Path = "/subscriptions/cf6fa08e-11a6-/providers/Microsoft.Network/ddosProtectionPlans"; + _requests[839] = new DefaultHttpContext(); + _requests[839].RequestServices = CreateServices(); + _requests[839].Request.Method = "GET"; + _requests[839].Request.Path = "/subscriptions/cd7c28e4-6c4f-/providers/Microsoft.Network/dnszones"; + _requests[840] = new DefaultHttpContext(); + _requests[840].RequestServices = CreateServices(); + _requests[840].Request.Method = "GET"; + _requests[840].Request.Path = "/subscriptions/2cf9a6aa-4ee8-/providers/Microsoft.Network/expressRouteCircuits"; + _requests[841] = new DefaultHttpContext(); + _requests[841].RequestServices = CreateServices(); + _requests[841].Request.Method = "GET"; + _requests[841].Request.Path = "/subscriptions/eb89805f-e486-/providers/Microsoft.Network/expressRouteCrossConnections"; + _requests[842] = new DefaultHttpContext(); + _requests[842].RequestServices = CreateServices(); + _requests[842].Request.Method = "GET"; + _requests[842].Request.Path = "/subscriptions/27550b55-ab53-/providers/Microsoft.Network/expressRouteServiceProviders"; + _requests[843] = new DefaultHttpContext(); + _requests[843].RequestServices = CreateServices(); + _requests[843].Request.Method = "GET"; + _requests[843].Request.Path = "/subscriptions/462dcccb-0b92-/providers/Microsoft.Network/loadBalancers"; + _requests[844] = new DefaultHttpContext(); + _requests[844].RequestServices = CreateServices(); + _requests[844].Request.Method = "GET"; + _requests[844].Request.Path = "/subscriptions/04c5bb01-0837-/providers/Microsoft.Network/networkInterfaces"; + _requests[845] = new DefaultHttpContext(); + _requests[845].RequestServices = CreateServices(); + _requests[845].Request.Method = "GET"; + _requests[845].Request.Path = "/subscriptions/41bd7f4c-22f1-/providers/Microsoft.Network/networkSecurityGroups"; + _requests[846] = new DefaultHttpContext(); + _requests[846].RequestServices = CreateServices(); + _requests[846].Request.Method = "GET"; + _requests[846].Request.Path = "/subscriptions/3bdfd676-5727-/providers/Microsoft.Network/networkWatchers"; + _requests[847] = new DefaultHttpContext(); + _requests[847].RequestServices = CreateServices(); + _requests[847].Request.Method = "GET"; + _requests[847].Request.Path = "/subscriptions/d62cfe1a-36d0-/providers/Microsoft.Network/publicIPAddresses"; + _requests[848] = new DefaultHttpContext(); + _requests[848].RequestServices = CreateServices(); + _requests[848].Request.Method = "GET"; + _requests[848].Request.Path = "/subscriptions/b5453a2a-357f-/providers/Microsoft.Network/routeFilters"; + _requests[849] = new DefaultHttpContext(); + _requests[849].RequestServices = CreateServices(); + _requests[849].Request.Method = "GET"; + _requests[849].Request.Path = "/subscriptions/ca5f741f-811d-/providers/Microsoft.Network/routeTables"; + _requests[850] = new DefaultHttpContext(); + _requests[850].RequestServices = CreateServices(); + _requests[850].Request.Method = "GET"; + _requests[850].Request.Path = "/subscriptions/aff3ccb1-4849-/providers/Microsoft.Network/trafficmanagerprofiles"; + _requests[851] = new DefaultHttpContext(); + _requests[851].RequestServices = CreateServices(); + _requests[851].Request.Method = "DELETE"; + _requests[851].Request.Path = "/subscriptions/af65814f-bf1d-/providers/Microsoft.Network/trafficManagerUserMetricsKeys"; + _requests[852] = new DefaultHttpContext(); + _requests[852].RequestServices = CreateServices(); + _requests[852].Request.Method = "GET"; + _requests[852].Request.Path = "/subscriptions/309226fb-6558-/providers/Microsoft.Network/virtualNetworks"; + _requests[853] = new DefaultHttpContext(); + _requests[853].RequestServices = CreateServices(); + _requests[853].Request.Method = "POST"; + _requests[853].Request.Path = "/subscriptions/77b16c80-12c4-/providers/Microsoft.NotificationHubs/checkNamespaceAvailability"; + _requests[854] = new DefaultHttpContext(); + _requests[854].RequestServices = CreateServices(); + _requests[854].Request.Method = "GET"; + _requests[854].Request.Path = "/subscriptions/fbe29c02-1937-/providers/Microsoft.NotificationHubs/namespaces"; + _requests[855] = new DefaultHttpContext(); + _requests[855].RequestServices = CreateServices(); + _requests[855].Request.Method = "GET"; + _requests[855].Request.Path = "/subscriptions/d2ee7122-264d-/providers/Microsoft.OperationalInsights/linkTargets"; + _requests[856] = new DefaultHttpContext(); + _requests[856].RequestServices = CreateServices(); + _requests[856].Request.Method = "GET"; + _requests[856].Request.Path = "/subscriptions/c400ab10-ea6a-/providers/Microsoft.OperationalInsights/workspaces"; + _requests[857] = new DefaultHttpContext(); + _requests[857].RequestServices = CreateServices(); + _requests[857].Request.Method = "GET"; + _requests[857].Request.Path = "/subscriptions/21704bdf-e867-/providers/Microsoft.OperationsManagement/ManagementAssociations"; + _requests[858] = new DefaultHttpContext(); + _requests[858].RequestServices = CreateServices(); + _requests[858].Request.Method = "GET"; + _requests[858].Request.Path = "/subscriptions/64d5cb0f-8d97-/providers/Microsoft.OperationsManagement/ManagementConfigurations"; + _requests[859] = new DefaultHttpContext(); + _requests[859].RequestServices = CreateServices(); + _requests[859].Request.Method = "GET"; + _requests[859].Request.Path = "/subscriptions/2cce7754-92ca-/providers/Microsoft.OperationsManagement/solutions"; + _requests[860] = new DefaultHttpContext(); + _requests[860].RequestServices = CreateServices(); + _requests[860].Request.Method = "GET"; + _requests[860].Request.Path = "/subscriptions/b71e3e5a-91da-/providers/Microsoft.PowerBI/workspaceCollections"; + _requests[861] = new DefaultHttpContext(); + _requests[861].RequestServices = CreateServices(); + _requests[861].Request.Method = "GET"; + _requests[861].Request.Path = "/subscriptions/74c57f5e-f392-/providers/Microsoft.PowerBIDedicated/capacities"; + _requests[862] = new DefaultHttpContext(); + _requests[862].RequestServices = CreateServices(); + _requests[862].Request.Method = "GET"; + _requests[862].Request.Path = "/subscriptions/0ec4277e-253a-/providers/Microsoft.PowerBIDedicated/skus"; + _requests[863] = new DefaultHttpContext(); + _requests[863].RequestServices = CreateServices(); + _requests[863].Request.Method = "GET"; + _requests[863].Request.Path = "/subscriptions/c75358bc-c94a-/providers/Microsoft.RecoveryServices/vaults"; + _requests[864] = new DefaultHttpContext(); + _requests[864].RequestServices = CreateServices(); + _requests[864].Request.Method = "POST"; + _requests[864].Request.Path = "/subscriptions/890c77a5-2da7-/providers/Microsoft.Relay/checkNameAvailability"; + _requests[865] = new DefaultHttpContext(); + _requests[865].RequestServices = CreateServices(); + _requests[865].Request.Method = "GET"; + _requests[865].Request.Path = "/subscriptions/ed7d237e-fc87-/providers/Microsoft.Relay/namespaces"; + _requests[866] = new DefaultHttpContext(); + _requests[866].RequestServices = CreateServices(); + _requests[866].Request.Method = "GET"; + _requests[866].Request.Path = "/subscriptions/20e4d3f3-a822-/providers/Microsoft.ResourceHealth/availabilityStatuses"; + _requests[867] = new DefaultHttpContext(); + _requests[867].RequestServices = CreateServices(); + _requests[867].Request.Method = "GET"; + _requests[867].Request.Path = "/subscriptions/e981dac3-b80e-/providers/Microsoft.Resources/links"; + _requests[868] = new DefaultHttpContext(); + _requests[868].RequestServices = CreateServices(); + _requests[868].Request.Method = "GET"; + _requests[868].Request.Path = "/subscriptions/21a6453c-7fb2-/providers/Microsoft.Scheduler/jobCollections"; + _requests[869] = new DefaultHttpContext(); + _requests[869].RequestServices = CreateServices(); + _requests[869].Request.Method = "POST"; + _requests[869].Request.Path = "/subscriptions/ca932b6c-2be6-/providers/Microsoft.Search/checkNameAvailability"; + _requests[870] = new DefaultHttpContext(); + _requests[870].RequestServices = CreateServices(); + _requests[870].Request.Method = "GET"; + _requests[870].Request.Path = "/subscriptions/6affb4f0-24ab-/providers/Microsoft.Security/alerts"; + _requests[871] = new DefaultHttpContext(); + _requests[871].RequestServices = CreateServices(); + _requests[871].Request.Method = "GET"; + _requests[871].Request.Path = "/subscriptions/8ad9b2e7-ebc1-/providers/Microsoft.Security/autoProvisioningSettings"; + _requests[872] = new DefaultHttpContext(); + _requests[872].RequestServices = CreateServices(); + _requests[872].Request.Method = "GET"; + _requests[872].Request.Path = "/subscriptions/7de5740f-4632-/providers/Microsoft.Security/discoveredSecuritySolutions"; + _requests[873] = new DefaultHttpContext(); + _requests[873].RequestServices = CreateServices(); + _requests[873].Request.Method = "GET"; + _requests[873].Request.Path = "/subscriptions/3f660e7c-257b-/providers/Microsoft.Security/externalSecuritySolutions"; + _requests[874] = new DefaultHttpContext(); + _requests[874].RequestServices = CreateServices(); + _requests[874].Request.Method = "GET"; + _requests[874].Request.Path = "/subscriptions/921e4c75-e5f3-/providers/Microsoft.Security/jitNetworkAccessPolicies"; + _requests[875] = new DefaultHttpContext(); + _requests[875].RequestServices = CreateServices(); + _requests[875].Request.Method = "GET"; + _requests[875].Request.Path = "/subscriptions/c68754ac-d230-/providers/Microsoft.Security/locations"; + _requests[876] = new DefaultHttpContext(); + _requests[876].RequestServices = CreateServices(); + _requests[876].Request.Method = "GET"; + _requests[876].Request.Path = "/subscriptions/8c163a09-b7f0-/providers/Microsoft.Security/pricings"; + _requests[877] = new DefaultHttpContext(); + _requests[877].RequestServices = CreateServices(); + _requests[877].Request.Method = "GET"; + _requests[877].Request.Path = "/subscriptions/53b03151-8680-/providers/Microsoft.Security/securityContacts"; + _requests[878] = new DefaultHttpContext(); + _requests[878].RequestServices = CreateServices(); + _requests[878].Request.Method = "GET"; + _requests[878].Request.Path = "/subscriptions/c544c1fb-f9e3-/providers/Microsoft.Security/tasks"; + _requests[879] = new DefaultHttpContext(); + _requests[879].RequestServices = CreateServices(); + _requests[879].Request.Method = "GET"; + _requests[879].Request.Path = "/subscriptions/3f1a29ec-0fc9-/providers/Microsoft.Security/workspaceSettings"; + _requests[880] = new DefaultHttpContext(); + _requests[880].RequestServices = CreateServices(); + _requests[880].Request.Method = "GET"; + _requests[880].Request.Path = "/subscriptions/fa1fa440-43e8-/providers/Microsoft.ServerManagement/gateways"; + _requests[881] = new DefaultHttpContext(); + _requests[881].RequestServices = CreateServices(); + _requests[881].Request.Method = "GET"; + _requests[881].Request.Path = "/subscriptions/f92447dd-5229-/providers/Microsoft.ServerManagement/nodes"; + _requests[882] = new DefaultHttpContext(); + _requests[882].RequestServices = CreateServices(); + _requests[882].Request.Method = "POST"; + _requests[882].Request.Path = "/subscriptions/f0de8e27-9c51-/providers/Microsoft.ServiceBus/CheckNameAvailability"; + _requests[883] = new DefaultHttpContext(); + _requests[883].RequestServices = CreateServices(); + _requests[883].Request.Method = "POST"; + _requests[883].Request.Path = "/subscriptions/9eb0b7f1-8646-/providers/Microsoft.ServiceBus/CheckNameSpaceAvailability"; + _requests[884] = new DefaultHttpContext(); + _requests[884].RequestServices = CreateServices(); + _requests[884].Request.Method = "GET"; + _requests[884].Request.Path = "/subscriptions/5b43a5d4-176d-/providers/Microsoft.ServiceBus/namespaces"; + _requests[885] = new DefaultHttpContext(); + _requests[885].RequestServices = CreateServices(); + _requests[885].Request.Method = "GET"; + _requests[885].Request.Path = "/subscriptions/487cc931-c9d5-/providers/Microsoft.ServiceBus/premiumMessagingRegions"; + _requests[886] = new DefaultHttpContext(); + _requests[886].RequestServices = CreateServices(); + _requests[886].Request.Method = "GET"; + _requests[886].Request.Path = "/subscriptions/f585bed4-08ea-/providers/Microsoft.ServiceFabric/clusters"; + _requests[887] = new DefaultHttpContext(); + _requests[887].RequestServices = CreateServices(); + _requests[887].Request.Method = "GET"; + _requests[887].Request.Path = "/subscriptions/039acba1-a6ff-/providers/Microsoft.SignalRService/SignalR"; + _requests[888] = new DefaultHttpContext(); + _requests[888].RequestServices = CreateServices(); + _requests[888].Request.Method = "GET"; + _requests[888].Request.Path = "/subscriptions/18e86dd1-0fb9-/providers/Microsoft.Solutions/appliances"; + _requests[889] = new DefaultHttpContext(); + _requests[889].RequestServices = CreateServices(); + _requests[889].Request.Method = "GET"; + _requests[889].Request.Path = "/subscriptions/5c743960-8691-/providers/Microsoft.Solutions/applications"; + _requests[890] = new DefaultHttpContext(); + _requests[890].RequestServices = CreateServices(); + _requests[890].Request.Method = "POST"; + _requests[890].Request.Path = "/subscriptions/8d92b24d-0aee-/providers/Microsoft.Sql/checkNameAvailability"; + _requests[891] = new DefaultHttpContext(); + _requests[891].RequestServices = CreateServices(); + _requests[891].Request.Method = "GET"; + _requests[891].Request.Path = "/subscriptions/e469254a-b5b4-/providers/Microsoft.Sql/managedInstances"; + _requests[892] = new DefaultHttpContext(); + _requests[892].RequestServices = CreateServices(); + _requests[892].Request.Method = "GET"; + _requests[892].Request.Path = "/subscriptions/9c901ced-5a7c-/providers/Microsoft.Sql/servers"; + _requests[893] = new DefaultHttpContext(); + _requests[893].RequestServices = CreateServices(); + _requests[893].Request.Method = "POST"; + _requests[893].Request.Path = "/subscriptions/0b10ea1a-21c7-/providers/Microsoft.Storage/checkNameAvailability"; + _requests[894] = new DefaultHttpContext(); + _requests[894].RequestServices = CreateServices(); + _requests[894].Request.Method = "GET"; + _requests[894].Request.Path = "/subscriptions/737090ba-4bbc-/providers/Microsoft.Storage/skus"; + _requests[895] = new DefaultHttpContext(); + _requests[895].RequestServices = CreateServices(); + _requests[895].Request.Method = "GET"; + _requests[895].Request.Path = "/subscriptions/5851a59e-4918-/providers/Microsoft.Storage/storageAccounts"; + _requests[896] = new DefaultHttpContext(); + _requests[896].RequestServices = CreateServices(); + _requests[896].Request.Method = "GET"; + _requests[896].Request.Path = "/subscriptions/4564af67-e5e9-/providers/Microsoft.Storage/usages"; + _requests[897] = new DefaultHttpContext(); + _requests[897].RequestServices = CreateServices(); + _requests[897].Request.Method = "GET"; + _requests[897].Request.Path = "/subscriptions/2b0b44cf-5f5d-/providers/Microsoft.StorSimple/managers"; + _requests[898] = new DefaultHttpContext(); + _requests[898].RequestServices = CreateServices(); + _requests[898].Request.Method = "GET"; + _requests[898].Request.Path = "/subscriptions/ddbd8b79-a493-/providers/Microsoft.StreamAnalytics/streamingjobs"; + _requests[899] = new DefaultHttpContext(); + _requests[899].RequestServices = CreateServices(); + _requests[899].Request.Method = "POST"; + _requests[899].Request.Path = "/subscriptions/ccec1836-6e07-/providers/Microsoft.Subscriptions.Admin/checkNameAvailability"; + _requests[900] = new DefaultHttpContext(); + _requests[900].RequestServices = CreateServices(); + _requests[900].Request.Method = "GET"; + _requests[900].Request.Path = "/subscriptions/6ad386f2-b031-/providers/Microsoft.Subscriptions.Admin/delegatedProviders"; + _requests[901] = new DefaultHttpContext(); + _requests[901].RequestServices = CreateServices(); + _requests[901].Request.Method = "GET"; + _requests[901].Request.Path = "/subscriptions/e2e8e43a-3cfa-/providers/Microsoft.Subscriptions.Admin/locations"; + _requests[902] = new DefaultHttpContext(); + _requests[902].RequestServices = CreateServices(); + _requests[902].Request.Method = "POST"; + _requests[902].Request.Path = "/subscriptions/769567c0-a3e4-/providers/Microsoft.Subscriptions.Admin/moveSubscriptions"; + _requests[903] = new DefaultHttpContext(); + _requests[903].RequestServices = CreateServices(); + _requests[903].Request.Method = "GET"; + _requests[903].Request.Path = "/subscriptions/c4a21ada-c8d5-/providers/Microsoft.Subscriptions.Admin/offers"; + _requests[904] = new DefaultHttpContext(); + _requests[904].RequestServices = CreateServices(); + _requests[904].Request.Method = "GET"; + _requests[904].Request.Path = "/subscriptions/a3196582-aba2-/providers/Microsoft.Subscriptions.Admin/plans"; + _requests[905] = new DefaultHttpContext(); + _requests[905].RequestServices = CreateServices(); + _requests[905].Request.Method = "POST"; + _requests[905].Request.Path = "/subscriptions/4ce2c307-62da-/providers/Microsoft.Subscriptions.Admin/restoreData"; + _requests[906] = new DefaultHttpContext(); + _requests[906].RequestServices = CreateServices(); + _requests[906].Request.Method = "GET"; + _requests[906].Request.Path = "/subscriptions/d2f46427-fdb8-/providers/Microsoft.Subscriptions.Admin/subscriptions"; + _requests[907] = new DefaultHttpContext(); + _requests[907].RequestServices = CreateServices(); + _requests[907].Request.Method = "POST"; + _requests[907].Request.Path = "/subscriptions/9abfa71c-6689-/providers/Microsoft.Subscriptions.Admin/updateEncryption"; + _requests[908] = new DefaultHttpContext(); + _requests[908].RequestServices = CreateServices(); + _requests[908].Request.Method = "POST"; + _requests[908].Request.Path = "/subscriptions/92fb0ff8-ab5c-/providers/Microsoft.Subscriptions.Admin/validateMoveSubscriptions"; + _requests[909] = new DefaultHttpContext(); + _requests[909].RequestServices = CreateServices(); + _requests[909].Request.Method = "GET"; + _requests[909].Request.Path = "/subscriptions/8c5d7e15-a506-/providers/Microsoft.TimeSeriesInsights/environments"; + _requests[910] = new DefaultHttpContext(); + _requests[910].RequestServices = CreateServices(); + _requests[910].Request.Method = "POST"; + _requests[910].Request.Path = "/subscriptions/2a39253f-ed6f-/providers/microsoft.visualstudio/checkNameAvailability"; + _requests[911] = new DefaultHttpContext(); + _requests[911].RequestServices = CreateServices(); + _requests[911].Request.Method = "GET"; + _requests[911].Request.Path = "/subscriptions/8cf0174f-496f-/providers/Microsoft.Web/availableStacks"; + _requests[912] = new DefaultHttpContext(); + _requests[912].RequestServices = CreateServices(); + _requests[912].Request.Method = "GET"; + _requests[912].Request.Path = "/subscriptions/0a88782f-70e9-/providers/Microsoft.Web/billingMeters"; + _requests[913] = new DefaultHttpContext(); + _requests[913].RequestServices = CreateServices(); + _requests[913].Request.Method = "GET"; + _requests[913].Request.Path = "/subscriptions/9014f46d-f72f-/providers/Microsoft.Web/certificates"; + _requests[914] = new DefaultHttpContext(); + _requests[914].RequestServices = CreateServices(); + _requests[914].Request.Method = "POST"; + _requests[914].Request.Path = "/subscriptions/effb48cb-0453-/providers/Microsoft.Web/checknameavailability"; + _requests[915] = new DefaultHttpContext(); + _requests[915].RequestServices = CreateServices(); + _requests[915].Request.Method = "GET"; + _requests[915].Request.Path = "/subscriptions/fb838064-cfc4-/providers/Microsoft.Web/classicMobileServices"; + _requests[916] = new DefaultHttpContext(); + _requests[916].RequestServices = CreateServices(); + _requests[916].Request.Method = "GET"; + _requests[916].Request.Path = "/subscriptions/38450d8e-a7aa-/providers/Microsoft.Web/connectionGateways"; + _requests[917] = new DefaultHttpContext(); + _requests[917].RequestServices = CreateServices(); + _requests[917].Request.Method = "GET"; + _requests[917].Request.Path = "/subscriptions/42dcf53a-262e-/providers/Microsoft.Web/customApis"; + _requests[918] = new DefaultHttpContext(); + _requests[918].RequestServices = CreateServices(); + _requests[918].Request.Method = "GET"; + _requests[918].Request.Path = "/subscriptions/2417dde8-283c-/providers/Microsoft.Web/deletedSites"; + _requests[919] = new DefaultHttpContext(); + _requests[919].RequestServices = CreateServices(); + _requests[919].Request.Method = "GET"; + _requests[919].Request.Path = "/subscriptions/2ccbd0fa-a4f8-/providers/Microsoft.Web/deploymentLocations"; + _requests[920] = new DefaultHttpContext(); + _requests[920].RequestServices = CreateServices(); + _requests[920].Request.Method = "GET"; + _requests[920].Request.Path = "/subscriptions/9ed74014-c346-/providers/Microsoft.Web/geoRegions"; + _requests[921] = new DefaultHttpContext(); + _requests[921].RequestServices = CreateServices(); + _requests[921].Request.Method = "GET"; + _requests[921].Request.Path = "/subscriptions/a60f81bc-4fc2-/providers/Microsoft.Web/hostingEnvironments"; + _requests[922] = new DefaultHttpContext(); + _requests[922].RequestServices = CreateServices(); + _requests[922].Request.Method = "GET"; + _requests[922].Request.Path = "/subscriptions/9f2c3f0e-8693-/providers/Microsoft.Web/ishostingenvironmentnameavailable"; + _requests[923] = new DefaultHttpContext(); + _requests[923].RequestServices = CreateServices(); + _requests[923].Request.Method = "POST"; + _requests[923].Request.Path = "/subscriptions/6ec6c940-09a7-/providers/Microsoft.Web/listSitesAssignedToHostName"; + _requests[924] = new DefaultHttpContext(); + _requests[924].RequestServices = CreateServices(); + _requests[924].Request.Method = "GET"; + _requests[924].Request.Path = "/subscriptions/0290e878-b5b8-/providers/Microsoft.Web/managedHostingEnvironments"; + _requests[925] = new DefaultHttpContext(); + _requests[925].RequestServices = CreateServices(); + _requests[925].Request.Method = "GET"; + _requests[925].Request.Path = "/subscriptions/1e7ab3f2-ac8a-/providers/Microsoft.Web/premieraddonoffers"; + _requests[926] = new DefaultHttpContext(); + _requests[926].RequestServices = CreateServices(); + _requests[926].Request.Method = "PUT"; + _requests[926].Request.Path = "/subscriptions/6774519c-4e3d-/providers/Microsoft.Web/publishingCredentials"; + _requests[927] = new DefaultHttpContext(); + _requests[927].RequestServices = CreateServices(); + _requests[927].Request.Method = "GET"; + _requests[927].Request.Path = "/subscriptions/76fe7714-58c4-/providers/Microsoft.Web/recommendations"; + _requests[928] = new DefaultHttpContext(); + _requests[928].RequestServices = CreateServices(); + _requests[928].Request.Method = "GET"; + _requests[928].Request.Path = "/subscriptions/78309ffd-3eee-/providers/Microsoft.Web/resourceHealthMetadata"; + _requests[929] = new DefaultHttpContext(); + _requests[929].RequestServices = CreateServices(); + _requests[929].Request.Method = "GET"; + _requests[929].Request.Path = "/subscriptions/fdc7d996-7b8d-/providers/Microsoft.Web/serverfarms"; + _requests[930] = new DefaultHttpContext(); + _requests[930].RequestServices = CreateServices(); + _requests[930].Request.Method = "GET"; + _requests[930].Request.Path = "/subscriptions/72a5a2dd-d2cb-/providers/Microsoft.Web/sites"; + _requests[931] = new DefaultHttpContext(); + _requests[931].RequestServices = CreateServices(); + _requests[931].Request.Method = "GET"; + _requests[931].Request.Path = "/subscriptions/0efe3621-919d-/providers/Microsoft.Web/skus"; + _requests[932] = new DefaultHttpContext(); + _requests[932].RequestServices = CreateServices(); + _requests[932].Request.Method = "POST"; + _requests[932].Request.Path = "/subscriptions/69c7c5df-0646-/providers/Microsoft.Web/verifyHostingEnvironmentVnet"; + _requests[933] = new DefaultHttpContext(); + _requests[933].RequestServices = CreateServices(); + _requests[933].Request.Method = "POST"; + _requests[933].Request.Path = "/Applications/3b7866fa-0388/$/GetServices/$/Create"; + _requests[934] = new DefaultHttpContext(); + _requests[934].RequestServices = CreateServices(); + _requests[934].Request.Method = "POST"; + _requests[934].Request.Path = "/Applications/0e883a3a-bbad/$/GetServices/$/CreateFromTemplate"; + _requests[935] = new DefaultHttpContext(); + _requests[935].RequestServices = CreateServices(); + _requests[935].Request.Method = "POST"; + _requests[935].Request.Path = "/Applications/ea0c85ad-fbfe-4/$/GetServiceGroups/$/CreateServiceGroupFromTemplate"; + _requests[936] = new DefaultHttpContext(); + _requests[936].RequestServices = CreateServices(); + _requests[936].Request.Method = "POST"; + _requests[936].Request.Path = "/Applications/24334e80-9989-4/$/GetServices/$/CreateServiceGroup"; + _requests[937] = new DefaultHttpContext(); + _requests[937].RequestServices = CreateServices(); + _requests[937].Request.Method = "POST"; + _requests[937].Request.Path = "/Names/5253ff/$/GetProperties/$/SubmitBatch"; + _requests[938] = new DefaultHttpContext(); + _requests[938].RequestServices = CreateServices(); + _requests[938].Request.Method = "POST"; + _requests[938].Request.Path = "/Services/e19c7769-6f/$/GetPartitions/$/Recover"; + _requests[939] = new DefaultHttpContext(); + _requests[939].RequestServices = CreateServices(); + _requests[939].Request.Method = "GET"; + _requests[939].Request.Path = "/subscriptions/ac951d2d-124c-/providers/Microsoft.Billing/invoices/latest"; + _requests[940] = new DefaultHttpContext(); + _requests[940].RequestServices = CreateServices(); + _requests[940].Request.Method = "GET"; + _requests[940].Request.Path = "/subscriptions/9ec1697b-b0a1-/providers/Microsoft.Consumption/pricesheets/default"; + _requests[941] = new DefaultHttpContext(); + _requests[941].RequestServices = CreateServices(); + _requests[941].Request.Method = "GET"; + _requests[941].Request.Path = "/subscriptions/25d8ec71-7176-/providers/Microsoft.Network/applicationGatewayAvailableSslOptions/default"; + _requests[942] = new DefaultHttpContext(); + _requests[942].RequestServices = CreateServices(); + _requests[942].Request.Method = "POST"; + _requests[942].Request.Path = "/subscriptions/bfc66a7a-f1f2-/providers/Microsoft.Web/recommendations/reset"; + _requests[943] = new DefaultHttpContext(); + _requests[943].RequestServices = CreateServices(); + _requests[943].Request.Method = "POST"; + _requests[943].Request.Path = "/subscriptions/a67a0e8a-9b9d-/providers/Microsoft.Addons/supportProviders/canonical/listSupportPlanInfo"; + _requests[944] = new DefaultHttpContext(); + _requests[944].RequestServices = CreateServices(); + _requests[944].Request.Method = "GET"; + _requests[944].Request.Path = "/subscriptions/0d41808d-2cb9-/providers/microsoft.insights/eventtypes/management/values"; + _requests[945] = new DefaultHttpContext(); + _requests[945].RequestServices = CreateServices(); + _requests[945].Request.Method = "GET"; + _requests[945].Request.Path = "/subscriptions/19676ac9-f5d4-/providers/Microsoft.Network/applicationGatewayAvailableSslOptions/default/predefinedPolicies"; + _requests[946] = new DefaultHttpContext(); + _requests[946].RequestServices = CreateServices(); + _requests[946].Request.Method = "GET"; + _requests[946].Request.Path = "/subscriptions/45f1c4fa-5b7c-/providers/Microsoft.Network/applicationGatewayAvailableSslOptions/default/predefinedPolicies/f060079a-e82b-4dbd-a"; + _requests[947] = new DefaultHttpContext(); + _requests[947].RequestServices = CreateServices(); + _requests[947].Request.Method = "GET"; + _requests[947].Request.Path = "/subscriptions/70412fd1-adf7-/providers/Microsoft.Advisor/generateRecommendations/51f5a916-d0"; + _requests[948] = new DefaultHttpContext(); + _requests[948].RequestServices = CreateServices(); + _requests[948].Request.Method = "GET"; + _requests[948].Request.Path = "/subscriptions/cc008cb4-0da0-/providers/Microsoft.Authorization/locks/ee7ee867"; + _requests[949] = new DefaultHttpContext(); + _requests[949].RequestServices = CreateServices(); + _requests[949].Request.Method = "DELETE"; + _requests[949].Request.Path = "/subscriptions/485a00f8-58e8-/providers/Microsoft.Authorization/policydefinitions/a3596b6a-8e40-4a2b-a"; + _requests[950] = new DefaultHttpContext(); + _requests[950].RequestServices = CreateServices(); + _requests[950].Request.Method = "GET"; + _requests[950].Request.Path = "/subscriptions/fa9956d2-7479-/providers/Microsoft.Authorization/policySetDefinitions/c357e038-5cc2-4cc8-aac6"; + _requests[951] = new DefaultHttpContext(); + _requests[951].RequestServices = CreateServices(); + _requests[951].Request.Method = "GET"; + _requests[951].Request.Path = "/subscriptions/ab782db1-c8bb-/providers/Microsoft.Billing/billingPeriods/45174cec-3a23-4bf"; + _requests[952] = new DefaultHttpContext(); + _requests[952].RequestServices = CreateServices(); + _requests[952].Request.Method = "GET"; + _requests[952].Request.Path = "/subscriptions/c48f12ce-80f0-/providers/Microsoft.Billing/invoices/8048214d-e7"; + _requests[953] = new DefaultHttpContext(); + _requests[953].RequestServices = CreateServices(); + _requests[953].Request.Method = "DELETE"; + _requests[953].Request.Path = "/subscriptions/2e14982d-955d-/providers/Microsoft.Consumption/budgets/d5f23242-b"; + _requests[954] = new DefaultHttpContext(); + _requests[954].RequestServices = CreateServices(); + _requests[954].Request.Method = "GET"; + _requests[954].Request.Path = "/subscriptions/02b57a97-15ca-/providers/Microsoft.DomainRegistration/topLevelDomains/35135"; + _requests[955] = new DefaultHttpContext(); + _requests[955].RequestServices = CreateServices(); + _requests[955].Request.Method = "DELETE"; + _requests[955].Request.Path = "/subscriptions/8ac0d74f-5fce-/providers/microsoft.gallery.admin/galleryItems/d289f52c-7cba-4"; + _requests[956] = new DefaultHttpContext(); + _requests[956].RequestServices = CreateServices(); + _requests[956].Request.Method = "PATCH"; + _requests[956].Request.Path = "/subscriptions/91d2b7dc-843f-/providers/microsoft.insights/logprofiles/e832e917-466f-"; + _requests[957] = new DefaultHttpContext(); + _requests[957].RequestServices = CreateServices(); + _requests[957].Request.Method = "GET"; + _requests[957].Request.Path = "/subscriptions/da23414d-1c73-/providers/Microsoft.Media/mediaservices/eb00a947-ac"; + _requests[958] = new DefaultHttpContext(); + _requests[958].RequestServices = CreateServices(); + _requests[958].Request.Method = "PUT"; + _requests[958].Request.Path = "/subscriptions/445a0321-25f4-/providers/Microsoft.Security/autoProvisioningSettings/9847fb5d-82"; + _requests[959] = new DefaultHttpContext(); + _requests[959].RequestServices = CreateServices(); + _requests[959].Request.Method = "GET"; + _requests[959].Request.Path = "/subscriptions/56fd6eca-2ba0-/providers/Microsoft.Security/locations/409dc3f5-21"; + _requests[960] = new DefaultHttpContext(); + _requests[960].RequestServices = CreateServices(); + _requests[960].Request.Method = "PUT"; + _requests[960].Request.Path = "/subscriptions/cf3da7d1-7e7b-/providers/Microsoft.Security/pricings/10ed36d8-e2"; + _requests[961] = new DefaultHttpContext(); + _requests[961].RequestServices = CreateServices(); + _requests[961].Request.Method = "PATCH"; + _requests[961].Request.Path = "/subscriptions/1e5a1121-8757-/providers/Microsoft.Security/workspaceSettings/8a12ca1e-410c-41a4-9"; + _requests[962] = new DefaultHttpContext(); + _requests[962].RequestServices = CreateServices(); + _requests[962].Request.Method = "GET"; + _requests[962].Request.Path = "/subscriptions/7971808e-c096-/providers/Microsoft.Subscriptions.Admin/delegatedProviders/6e35b73e-be16-472"; + _requests[963] = new DefaultHttpContext(); + _requests[963].RequestServices = CreateServices(); + _requests[963].Request.Method = "DELETE"; + _requests[963].Request.Path = "/subscriptions/0eaad5af-688b-/providers/Microsoft.Subscriptions.Admin/locations/c286eec6"; + _requests[964] = new DefaultHttpContext(); + _requests[964].RequestServices = CreateServices(); + _requests[964].Request.Method = "DELETE"; + _requests[964].Request.Path = "/subscriptions/a41c02d3-50a8-/providers/Microsoft.Subscriptions.Admin/subscriptions/8c91893f-6cd"; + _requests[965] = new DefaultHttpContext(); + _requests[965].RequestServices = CreateServices(); + _requests[965].Request.Method = "GET"; + _requests[965].Request.Path = "/subscriptions/08750a41-93ba-/providers/Microsoft.Web/ishostingenvironmentnameavailable/693e6"; + _requests[966] = new DefaultHttpContext(); + _requests[966].RequestServices = CreateServices(); + _requests[966].Request.Method = "GET"; + _requests[966].Request.Path = "/subscriptions/950a44e7-158b-/providers/Microsoft.Addons/supportProviders/b4aa3b70-c4e/supportPlanTypes"; + _requests[967] = new DefaultHttpContext(); + _requests[967].RequestServices = CreateServices(); + _requests[967].Request.Method = "POST"; + _requests[967].Request.Path = "/subscriptions/4c7de496-e6e8-/providers/Microsoft.AnalysisServices/locations/3dbd5f65/checkNameAvailability"; + _requests[968] = new DefaultHttpContext(); + _requests[968].RequestServices = CreateServices(); + _requests[968].Request.Method = "POST"; + _requests[968].Request.Path = "/subscriptions/d43b7ef8-383c-/providers/Microsoft.Batch/locations/5acbb9d3-d26/checkNameAvailability"; + _requests[969] = new DefaultHttpContext(); + _requests[969].RequestServices = CreateServices(); + _requests[969].Request.Method = "GET"; + _requests[969].Request.Path = "/subscriptions/3138c33c-2bf4-/providers/Microsoft.Batch/locations/41d1ed2a-e92/quotas"; + _requests[970] = new DefaultHttpContext(); + _requests[970].RequestServices = CreateServices(); + _requests[970].Request.Method = "GET"; + _requests[970].Request.Path = "/subscriptions/393734e1-4372-/providers/Microsoft.BatchAI/locations/18c562e5/usages"; + _requests[971] = new DefaultHttpContext(); + _requests[971].RequestServices = CreateServices(); + _requests[971].Request.Method = "POST"; + _requests[971].Request.Path = "/subscriptions/37ab8912-78ba-/providers/Microsoft.CognitiveServices/locations/0516373c/checkSkuAvailability"; + _requests[972] = new DefaultHttpContext(); + _requests[972].RequestServices = CreateServices(); + _requests[972].Request.Method = "GET"; + _requests[972].Request.Path = "/subscriptions/b55fc591-3752-/providers/Microsoft.Compute.Admin/locations/4020fc48/quotas"; + _requests[973] = new DefaultHttpContext(); + _requests[973].RequestServices = CreateServices(); + _requests[973].Request.Method = "GET"; + _requests[973].Request.Path = "/subscriptions/c65ef556-1d76-/providers/Microsoft.Compute/locations/3450a11d/publishers"; + _requests[974] = new DefaultHttpContext(); + _requests[974].RequestServices = CreateServices(); + _requests[974].Request.Method = "GET"; + _requests[974].Request.Path = "/subscriptions/5e5ef054-dd0c-/providers/Microsoft.Compute/locations/869fd981/runCommands"; + _requests[975] = new DefaultHttpContext(); + _requests[975].RequestServices = CreateServices(); + _requests[975].Request.Method = "GET"; + _requests[975].Request.Path = "/subscriptions/a08f7db2-72a0-/providers/Microsoft.Compute/locations/cabb71c3/usages"; + _requests[976] = new DefaultHttpContext(); + _requests[976].RequestServices = CreateServices(); + _requests[976].Request.Method = "GET"; + _requests[976].Request.Path = "/subscriptions/d9a12bcd-0209-/providers/Microsoft.Compute/locations/8b3551ee/vmSizes"; + _requests[977] = new DefaultHttpContext(); + _requests[977].RequestServices = CreateServices(); + _requests[977].Request.Method = "GET"; + _requests[977].Request.Path = "/subscriptions/5393940e-ed89-/providers/Microsoft.ContainerInstance/locations/e0ac5ad1/usages"; + _requests[978] = new DefaultHttpContext(); + _requests[978].RequestServices = CreateServices(); + _requests[978].Request.Method = "GET"; + _requests[978].Request.Path = "/subscriptions/62d58fd9-d699-/providers/Microsoft.ContainerService/locations/796ab946/orchestrators"; + _requests[979] = new DefaultHttpContext(); + _requests[979].RequestServices = CreateServices(); + _requests[979].Request.Method = "POST"; + _requests[979].Request.Path = "/subscriptions/c618f18a-346f-/providers/Microsoft.DataBox/locations/f2a1041f/availableSkus"; + _requests[980] = new DefaultHttpContext(); + _requests[980].RequestServices = CreateServices(); + _requests[980].Request.Method = "POST"; + _requests[980].Request.Path = "/subscriptions/355f3a19-468f-/providers/Microsoft.DataBox/locations/16e75bbf/validateAddress"; + _requests[981] = new DefaultHttpContext(); + _requests[981].RequestServices = CreateServices(); + _requests[981].Request.Method = "POST"; + _requests[981].Request.Path = "/subscriptions/3ea82b72-9577-/providers/Microsoft.DataFactory/locations/61922f97-5/configureFactoryRepo"; + _requests[982] = new DefaultHttpContext(); + _requests[982].RequestServices = CreateServices(); + _requests[982].Request.Method = "GET"; + _requests[982].Request.Path = "/subscriptions/3a2cd8e8-4b7f-/providers/Microsoft.DataLakeAnalytics/locations/5fe2050f/capability"; + _requests[983] = new DefaultHttpContext(); + _requests[983].RequestServices = CreateServices(); + _requests[983].Request.Method = "POST"; + _requests[983].Request.Path = "/subscriptions/d62876fe-7d5f-/providers/Microsoft.DataLakeAnalytics/locations/9efbe55b/checkNameAvailability"; + _requests[984] = new DefaultHttpContext(); + _requests[984].RequestServices = CreateServices(); + _requests[984].Request.Method = "GET"; + _requests[984].Request.Path = "/subscriptions/86f0feaf-a53a-/providers/Microsoft.DataLakeStore/locations/27354a2f/capability"; + _requests[985] = new DefaultHttpContext(); + _requests[985].RequestServices = CreateServices(); + _requests[985].Request.Method = "POST"; + _requests[985].Request.Path = "/subscriptions/931a015b-6c61-/providers/Microsoft.DataLakeStore/locations/2deec4c4/checkNameAvailability"; + _requests[986] = new DefaultHttpContext(); + _requests[986].RequestServices = CreateServices(); + _requests[986].Request.Method = "POST"; + _requests[986].Request.Path = "/subscriptions/2791102c-7b17-/providers/Microsoft.DataMigration/locations/dd68352b/checkNameAvailability"; + _requests[987] = new DefaultHttpContext(); + _requests[987].RequestServices = CreateServices(); + _requests[987].Request.Method = "GET"; + _requests[987].Request.Path = "/subscriptions/eb439f55-1b3c-/providers/Microsoft.DataMigration/locations/9a10e96b/usages"; + _requests[988] = new DefaultHttpContext(); + _requests[988].RequestServices = CreateServices(); + _requests[988].Request.Method = "GET"; + _requests[988].Request.Path = "/subscriptions/4597e99d-b21a-/providers/Microsoft.DBforMySQL/locations/f5c78f5d-50b/performanceTiers"; + _requests[989] = new DefaultHttpContext(); + _requests[989].RequestServices = CreateServices(); + _requests[989].Request.Method = "GET"; + _requests[989].Request.Path = "/subscriptions/8845a777-318d-/providers/Microsoft.DBforPostgreSQL/locations/42b7b661-6e1/performanceTiers"; + _requests[990] = new DefaultHttpContext(); + _requests[990].RequestServices = CreateServices(); + _requests[990].Request.Method = "POST"; + _requests[990].Request.Path = "/subscriptions/d5afe895-6a7b-/providers/Microsoft.DomainRegistration/topLevelDomains/85ad8/listAgreements"; + _requests[991] = new DefaultHttpContext(); + _requests[991].RequestServices = CreateServices(); + _requests[991].Request.Method = "GET"; + _requests[991].Request.Path = "/subscriptions/daedc125-6dc2-/providers/Microsoft.EventGrid/locations/ac436753/eventSubscriptions"; + _requests[992] = new DefaultHttpContext(); + _requests[992].RequestServices = CreateServices(); + _requests[992].Request.Method = "GET"; + _requests[992].Request.Path = "/subscriptions/744f5ab1-f57b-/providers/Microsoft.EventGrid/topicTypes/a72a71ca-88e4/eventSubscriptions"; + _requests[993] = new DefaultHttpContext(); + _requests[993].RequestServices = CreateServices(); + _requests[993].Request.Method = "GET"; + _requests[993].Request.Path = "/subscriptions/a7dfc7f3-334a-/providers/Microsoft.EventHub/sku/58612/regions"; + _requests[994] = new DefaultHttpContext(); + _requests[994].RequestServices = CreateServices(); + _requests[994].Request.Method = "GET"; + _requests[994].Request.Path = "/subscriptions/25d7d9f7-b306-/providers/Microsoft.Features/providers/90f74f00-ee3e-4929-bf82-8/features"; + _requests[995] = new DefaultHttpContext(); + _requests[995].RequestServices = CreateServices(); + _requests[995].Request.Method = "GET"; + _requests[995].Request.Path = "/subscriptions/d198b236-1cf3-/providers/Microsoft.HDInsight/locations/5383c818/capabilities"; + _requests[996] = new DefaultHttpContext(); + _requests[996].RequestServices = CreateServices(); + _requests[996].Request.Method = "GET"; + _requests[996].Request.Path = "/subscriptions/800b7b4f-f2e4-/providers/Microsoft.KeyVault.Admin/locations/06de6308/quotas"; + _requests[997] = new DefaultHttpContext(); + _requests[997].RequestServices = CreateServices(); + _requests[997].Request.Method = "POST"; + _requests[997].Request.Path = "/subscriptions/98227f0f-4cfa-/providers/Microsoft.Media/locations/1bdd8047-50d/checkNameAvailability"; + _requests[998] = new DefaultHttpContext(); + _requests[998].RequestServices = CreateServices(); + _requests[998].Request.Method = "GET"; + _requests[998].Request.Path = "/subscriptions/b60f5664-2623-/providers/Microsoft.Network.Admin/locations/67a07ac8/quotas"; + _requests[999] = new DefaultHttpContext(); + _requests[999].RequestServices = CreateServices(); + _requests[999].Request.Method = "GET"; + _requests[999].Request.Path = "/subscriptions/91a13751-253d-/providers/Microsoft.Network/locations/2c83ac13/CheckDnsNameAvailability"; + _requests[1000] = new DefaultHttpContext(); + _requests[1000].RequestServices = CreateServices(); + _requests[1000].Request.Method = "GET"; + _requests[1000].Request.Path = "/subscriptions/0403c39a-9b12-/providers/Microsoft.Network/locations/6a12060d/usages"; + _requests[1001] = new DefaultHttpContext(); + _requests[1001].RequestServices = CreateServices(); + _requests[1001].Request.Method = "GET"; + _requests[1001].Request.Path = "/subscriptions/d500d8a6-79cb-/providers/Microsoft.Network/locations/908c9475/virtualNetworkAvailableEndpointServices"; + _requests[1002] = new DefaultHttpContext(); + _requests[1002].RequestServices = CreateServices(); + _requests[1002].Request.Method = "POST"; + _requests[1002].Request.Path = "/subscriptions/49aaf657-a9f4-/providers/Microsoft.PolicyInsights/policyEvents/89b1d585-e840-44f3-9/queryResults"; + _requests[1003] = new DefaultHttpContext(); + _requests[1003].RequestServices = CreateServices(); + _requests[1003].Request.Method = "POST"; + _requests[1003].Request.Path = "/subscriptions/972e93e9-e534-/providers/Microsoft.PolicyInsights/policyStates/5506645e-6300-469e-9/queryResults"; + _requests[1004] = new DefaultHttpContext(); + _requests[1004].RequestServices = CreateServices(); + _requests[1004].Request.Method = "POST"; + _requests[1004].Request.Path = "/subscriptions/1061ea3b-ee14-/providers/Microsoft.PolicyInsights/policyStates/88f4235e-acb4-4b65-b91e-add/summarize"; + _requests[1005] = new DefaultHttpContext(); + _requests[1005].RequestServices = CreateServices(); + _requests[1005].Request.Method = "POST"; + _requests[1005].Request.Path = "/subscriptions/2a210692-bf68-/providers/Microsoft.PowerBI/locations/3af68df0/checkNameAvailability"; + _requests[1006] = new DefaultHttpContext(); + _requests[1006].RequestServices = CreateServices(); + _requests[1006].Request.Method = "POST"; + _requests[1006].Request.Path = "/Subscriptions/88ac251c-9d6d-/providers/Microsoft.RecoveryServices/locations/92150cf0-cd/backupPreValidateProtection"; + _requests[1007] = new DefaultHttpContext(); + _requests[1007].RequestServices = CreateServices(); + _requests[1007].Request.Method = "POST"; + _requests[1007].Request.Path = "/Subscriptions/48c74ac3-0637-/providers/Microsoft.RecoveryServices/locations/03fc281a-f3/backupStatus"; + _requests[1008] = new DefaultHttpContext(); + _requests[1008].RequestServices = CreateServices(); + _requests[1008].Request.Method = "POST"; + _requests[1008].Request.Path = "/Subscriptions/78b27b55-d3e6-/providers/Microsoft.RecoveryServices/locations/2b35e179-c0/backupValidateFeatures"; + _requests[1009] = new DefaultHttpContext(); + _requests[1009].RequestServices = CreateServices(); + _requests[1009].Request.Method = "GET"; + _requests[1009].Request.Path = "/subscriptions/23002a8a-55e6-/providers/Microsoft.Security/locations/a2a03d91-a4/alerts"; + _requests[1010] = new DefaultHttpContext(); + _requests[1010].RequestServices = CreateServices(); + _requests[1010].Request.Method = "GET"; + _requests[1010].Request.Path = "/subscriptions/5c76c76a-db7d-/providers/Microsoft.Security/locations/dd93e508-46/discoveredSecuritySolutions"; + _requests[1011] = new DefaultHttpContext(); + _requests[1011].RequestServices = CreateServices(); + _requests[1011].Request.Method = "GET"; + _requests[1011].Request.Path = "/subscriptions/da4b7c0f-e08d-/providers/Microsoft.Security/locations/c02ae921-e3/ExternalSecuritySolutions"; + _requests[1012] = new DefaultHttpContext(); + _requests[1012].RequestServices = CreateServices(); + _requests[1012].Request.Method = "GET"; + _requests[1012].Request.Path = "/subscriptions/b3888a03-89c0-/providers/Microsoft.Security/locations/2158dd85-16/jitNetworkAccessPolicies"; + _requests[1013] = new DefaultHttpContext(); + _requests[1013].RequestServices = CreateServices(); + _requests[1013].Request.Method = "GET"; + _requests[1013].Request.Path = "/subscriptions/6c416a01-88a5-/providers/Microsoft.Security/locations/cde57dcb-3d/tasks"; + _requests[1014] = new DefaultHttpContext(); + _requests[1014].RequestServices = CreateServices(); + _requests[1014].Request.Method = "GET"; + _requests[1014].Request.Path = "/subscriptions/a6ad91cb-6683-/providers/Microsoft.ServiceBus/sku/540be/regions"; + _requests[1015] = new DefaultHttpContext(); + _requests[1015].RequestServices = CreateServices(); + _requests[1015].Request.Method = "GET"; + _requests[1015].Request.Path = "/subscriptions/21753633-2bf3-/providers/Microsoft.ServiceFabric/locations/a1af0597/clusterVersions"; + _requests[1016] = new DefaultHttpContext(); + _requests[1016].RequestServices = CreateServices(); + _requests[1016].Request.Method = "POST"; + _requests[1016].Request.Path = "/subscriptions/25cda38f-f8da-/providers/Microsoft.SignalRService/locations/0b8e60a7/checkNameAvailability"; + _requests[1017] = new DefaultHttpContext(); + _requests[1017].RequestServices = CreateServices(); + _requests[1017].Request.Method = "GET"; + _requests[1017].Request.Path = "/subscriptions/ce1b9666-ead7-/providers/Microsoft.Sql/locations/97e5932b-499/capabilities"; + _requests[1018] = new DefaultHttpContext(); + _requests[1018].RequestServices = CreateServices(); + _requests[1018].Request.Method = "GET"; + _requests[1018].Request.Path = "/subscriptions/6447e7c1-cf20-/providers/Microsoft.Sql/locations/2f23de22-cb8/longTermRetentionBackups"; + _requests[1019] = new DefaultHttpContext(); + _requests[1019].RequestServices = CreateServices(); + _requests[1019].Request.Method = "GET"; + _requests[1019].Request.Path = "/subscriptions/eb6b12b2-797f-/providers/Microsoft.Sql/locations/59eb1cc8-75c/syncDatabaseIds"; + _requests[1020] = new DefaultHttpContext(); + _requests[1020].RequestServices = CreateServices(); + _requests[1020].Request.Method = "GET"; + _requests[1020].Request.Path = "/subscriptions/e1f23ed4-32bf-/providers/Microsoft.Sql/locations/820312c4-869/usages"; + _requests[1021] = new DefaultHttpContext(); + _requests[1021].RequestServices = CreateServices(); + _requests[1021].Request.Method = "GET"; + _requests[1021].Request.Path = "/subscriptions/1ac6cc08-c1dd-/providers/Microsoft.Storage.Admin/locations/1ad7213c/quotas"; + _requests[1022] = new DefaultHttpContext(); + _requests[1022].RequestServices = CreateServices(); + _requests[1022].Request.Method = "GET"; + _requests[1022].Request.Path = "/subscriptions/995c57b3-d868-/providers/Microsoft.Storage/locations/02a9292a/usages"; + _requests[1023] = new DefaultHttpContext(); + _requests[1023].RequestServices = CreateServices(); + _requests[1023].Request.Method = "GET"; + _requests[1023].Request.Path = "/subscriptions/71445ad4-8cdb-/providers/Microsoft.StreamAnalytics/locations/ba16c227/quotas"; + _requests[1024] = new DefaultHttpContext(); + _requests[1024].RequestServices = CreateServices(); + _requests[1024].Request.Method = "GET"; + _requests[1024].Request.Path = "/subscriptions/87767591-152d-/providers/Microsoft.Subscriptions.Admin/delegatedProviders/9b8db00b-28ee-411c-83c9-0e9ccdc/offers"; + _requests[1025] = new DefaultHttpContext(); + _requests[1025].RequestServices = CreateServices(); + _requests[1025].Request.Method = "GET"; + _requests[1025].Request.Path = "/subscriptions/61e2883d-7d4e-/providers/Microsoft.Subscriptions.Admin/locations/b7a9635b/quotas"; + _requests[1026] = new DefaultHttpContext(); + _requests[1026].RequestServices = CreateServices(); + _requests[1026].Request.Method = "GET"; + _requests[1026].Request.Path = "/subscriptions/9cbc8dfc-3066-/providers/Microsoft.Subscriptions.Admin/subscriptions/625f4be2-e9d3-4ed7-8/acquiredPlans"; + _requests[1027] = new DefaultHttpContext(); + _requests[1027].RequestServices = CreateServices(); + _requests[1027].Request.Method = "GET"; + _requests[1027].Request.Path = "/subscriptions/c98733ca-7c6a-/providers/Microsoft.Web/locations/c3dbd830/connectionGatewayInstallations"; + _requests[1028] = new DefaultHttpContext(); + _requests[1028].RequestServices = CreateServices(); + _requests[1028].Request.Method = "POST"; + _requests[1028].Request.Path = "/subscriptions/1bd90659-8300-/providers/Microsoft.Web/locations/07d79cc3/extractApiDefinitionFromWsdl"; + _requests[1029] = new DefaultHttpContext(); + _requests[1029].RequestServices = CreateServices(); + _requests[1029].Request.Method = "POST"; + _requests[1029].Request.Path = "/subscriptions/ac52a266-acc3-/providers/Microsoft.Web/locations/7ec1af5c/listWsdlInterfaces"; + _requests[1030] = new DefaultHttpContext(); + _requests[1030].RequestServices = CreateServices(); + _requests[1030].Request.Method = "GET"; + _requests[1030].Request.Path = "/subscriptions/25c160b3-82ee-/providers/Microsoft.Web/locations/a9de8f44/managedApis"; + _requests[1031] = new DefaultHttpContext(); + _requests[1031].RequestServices = CreateServices(); + _requests[1031].Request.Method = "POST"; + _requests[1031].Request.Path = "/subscriptions/e7412d09-083f-/providers/Microsoft.Web/recommendations/1888b/disable"; + _requests[1032] = new DefaultHttpContext(); + _requests[1032].RequestServices = CreateServices(); + _requests[1032].Request.Method = "GET"; + _requests[1032].Request.Path = "/subscriptions/2807769a-ae39-/providers/Microsoft.Compute.Admin/locations/6364f2bb/artifactTypes/platformImage"; + _requests[1033] = new DefaultHttpContext(); + _requests[1033].RequestServices = CreateServices(); + _requests[1033].Request.Method = "GET"; + _requests[1033].Request.Path = "/subscriptions/a75e9a08-9ffe-/providers/Microsoft.Compute.Admin/locations/3e7e7077/artifactTypes/VMExtension"; + _requests[1034] = new DefaultHttpContext(); + _requests[1034].RequestServices = CreateServices(); + _requests[1034].Request.Method = "GET"; + _requests[1034].Request.Path = "/subscriptions/b3212722-ff6e-/providers/Microsoft.Billing/billingPeriods/40442af4-e46f-4d8/providers/Microsoft.Consumption/marketplaces"; + _requests[1035] = new DefaultHttpContext(); + _requests[1035].RequestServices = CreateServices(); + _requests[1035].Request.Method = "GET"; + _requests[1035].Request.Path = "/subscriptions/9230000a-0e91-/providers/Microsoft.Billing/billingPeriods/a9957a57-979f-4c2/providers/Microsoft.Consumption/usageDetails"; + _requests[1036] = new DefaultHttpContext(); + _requests[1036].RequestServices = CreateServices(); + _requests[1036].Request.Method = "POST"; + _requests[1036].Request.Path = "/subscriptions/24a46526-7870-/providers/Microsoft.Compute/locations/87cd55e7/logAnalytics/apiAccess/getRequestRateByInterval"; + _requests[1037] = new DefaultHttpContext(); + _requests[1037].RequestServices = CreateServices(); + _requests[1037].Request.Method = "POST"; + _requests[1037].Request.Path = "/subscriptions/a8ade649-6030-/providers/Microsoft.Compute/locations/b851f467/logAnalytics/apiAccess/getThrottledRequests"; + _requests[1038] = new DefaultHttpContext(); + _requests[1038].RequestServices = CreateServices(); + _requests[1038].Request.Method = "GET"; + _requests[1038].Request.Path = "/subscriptions/7de84de2-fa6b-/providers/Microsoft.Billing/billingPeriods/12edae5f-9032-4bf/providers/Microsoft.Consumption/pricesheets/default"; + _requests[1039] = new DefaultHttpContext(); + _requests[1039].RequestServices = CreateServices(); + _requests[1039].Request.Method = "DELETE"; + _requests[1039].Request.Path = "/subscriptions/a6e9af26-ff71-/providers/Microsoft.Compute.Admin/locations/bc0655d9/artifactTypes/VMExtension/publishers/54bd0d7a-/types/db65f/versions/fd8509d"; + _requests[1040] = new DefaultHttpContext(); + _requests[1040].RequestServices = CreateServices(); + _requests[1040].Request.Method = "DELETE"; + _requests[1040].Request.Path = "/subscriptions/27a14cb3-5c23-/providers/Microsoft.Compute.Admin/locations/70fb6d72/artifactTypes/platformImage/publishers/00a74968-/offers/dcef6/skus/3b76f/versions/69f4c61"; + _requests[1041] = new DefaultHttpContext(); + _requests[1041].RequestServices = CreateServices(); + _requests[1041].Request.Method = "DELETE"; + _requests[1041].Request.Path = "/subscriptions/6a0b0cb4-8a26-/providers/Microsoft.Addons/supportProviders/c6f0a589-4c2/supportPlanTypes/6977c131-ae1"; + _requests[1042] = new DefaultHttpContext(); + _requests[1042].RequestServices = CreateServices(); + _requests[1042].Request.Method = "GET"; + _requests[1042].Request.Path = "/subscriptions/78effe94-62fd-/providers/Microsoft.AnalysisServices/locations/63fbe07e/operationresults/7dfbc4a2-97"; + _requests[1043] = new DefaultHttpContext(); + _requests[1043].RequestServices = CreateServices(); + _requests[1043].Request.Method = "GET"; + _requests[1043].Request.Path = "/subscriptions/aafc1f57-2719-/providers/Microsoft.AnalysisServices/locations/a6cd7722/operationstatuses/2b630aa5-91"; + _requests[1044] = new DefaultHttpContext(); + _requests[1044].RequestServices = CreateServices(); + _requests[1044].Request.Method = "DELETE"; + _requests[1044].Request.Path = "/subscriptions/3ffb7b60-2d72-/providers/Microsoft.Compute.Admin/locations/23cf164d/quotas/cbd4fb6b-"; + _requests[1045] = new DefaultHttpContext(); + _requests[1045].RequestServices = CreateServices(); + _requests[1045].Request.Method = "GET"; + _requests[1045].Request.Path = "/subscriptions/9d367136-65dd-/providers/Microsoft.Compute/locations/2bb1c0d6/runCommands/317f87cc-"; + _requests[1046] = new DefaultHttpContext(); + _requests[1046].RequestServices = CreateServices(); + _requests[1046].Request.Method = "GET"; + _requests[1046].Request.Path = "/subscriptions/1ad07071-90c0-/providers/Microsoft.DevTestLab/locations/e075f8ba-198/operations/7a9c0"; + _requests[1047] = new DefaultHttpContext(); + _requests[1047].RequestServices = CreateServices(); + _requests[1047].Request.Method = "GET"; + _requests[1047].Request.Path = "/subscriptions/975148b8-1adf-/providers/Microsoft.Features/providers/f9a1e3b0-9d49-48ae-afc4-e/features/6a4c1461-ef"; + _requests[1048] = new DefaultHttpContext(); + _requests[1048].RequestServices = CreateServices(); + _requests[1048].Request.Method = "GET"; + _requests[1048].Request.Path = "/subscriptions/0ab90b29-6fa6-/providers/Microsoft.KeyVault/locations/f2b7f091/deletedVaults/4a64a310-"; + _requests[1049] = new DefaultHttpContext(); + _requests[1049].RequestServices = CreateServices(); + _requests[1049].Request.Method = "DELETE"; + _requests[1049].Request.Path = "/subscriptions/1b084c4d-56a3-/providers/Microsoft.Network.Admin/locations/f1f82417/quotas/72e5a7ac-1bf"; + _requests[1050] = new DefaultHttpContext(); + _requests[1050].RequestServices = CreateServices(); + _requests[1050].Request.Method = "GET"; + _requests[1050].Request.Path = "/subscriptions/c6e907f0-146e-/providers/Microsoft.Security/locations/b9ce869b-d5/alerts/a3311cbc-"; + _requests[1051] = new DefaultHttpContext(); + _requests[1051].RequestServices = CreateServices(); + _requests[1051].Request.Method = "GET"; + _requests[1051].Request.Path = "/subscriptions/cfef26e8-0123-/providers/Microsoft.Security/locations/0fd19151-36/tasks/6f73b565"; + _requests[1052] = new DefaultHttpContext(); + _requests[1052].RequestServices = CreateServices(); + _requests[1052].Request.Method = "GET"; + _requests[1052].Request.Path = "/subscriptions/4ffeb5eb-00b7-/providers/Microsoft.ServiceFabric/locations/51caf0d2/clusterVersions/5ca43149-5d74-"; + _requests[1053] = new DefaultHttpContext(); + _requests[1053].RequestServices = CreateServices(); + _requests[1053].Request.Method = "GET"; + _requests[1053].Request.Path = "/subscriptions/53b48aad-6db7-/providers/Microsoft.Sql/locations/e7bd0111-30c/usages/edda67ee-"; + _requests[1054] = new DefaultHttpContext(); + _requests[1054].RequestServices = CreateServices(); + _requests[1054].Request.Method = "GET"; + _requests[1054].Request.Path = "/subscriptions/b9150f20-bb7e-/providers/Microsoft.Storage.Admin/locations/849447a8/quotas/be4446e6-"; + _requests[1055] = new DefaultHttpContext(); + _requests[1055].RequestServices = CreateServices(); + _requests[1055].Request.Method = "GET"; + _requests[1055].Request.Path = "/subscriptions/fc863c9e-23b7-/providers/Microsoft.Subscriptions.Admin/delegatedProviders/d9fc8e5a-12c1-49e4-a06a-1c38bc7/offers/42f62"; + _requests[1056] = new DefaultHttpContext(); + _requests[1056].RequestServices = CreateServices(); + _requests[1056].Request.Method = "GET"; + _requests[1056].Request.Path = "/subscriptions/e555ebe3-4d72-/providers/Microsoft.Subscriptions.Admin/locations/0a892509/quotas/9e204"; + _requests[1057] = new DefaultHttpContext(); + _requests[1057].RequestServices = CreateServices(); + _requests[1057].Request.Method = "PUT"; + _requests[1057].Request.Path = "/subscriptions/56a8d90a-95a7-/providers/Microsoft.Subscriptions.Admin/subscriptions/4117ae22-0f46-4172-b/acquiredPlans/3ee433d9-1127-43f"; + _requests[1058] = new DefaultHttpContext(); + _requests[1058].RequestServices = CreateServices(); + _requests[1058].Request.Method = "GET"; + _requests[1058].Request.Path = "/subscriptions/e91bab00-dd84-/providers/Microsoft.Web/locations/6de5266f/connectionGatewayInstallations/79296ec1-"; + _requests[1059] = new DefaultHttpContext(); + _requests[1059].RequestServices = CreateServices(); + _requests[1059].Request.Method = "GET"; + _requests[1059].Request.Path = "/subscriptions/43883240-8952-/providers/Microsoft.Web/locations/7601db91/managedApis/4a37ba7"; + _requests[1060] = new DefaultHttpContext(); + _requests[1060].RequestServices = CreateServices(); + _requests[1060].Request.Method = "GET"; + _requests[1060].Request.Path = "/subscriptions/58efb8dd-38ba-/providers/Microsoft.EventGrid/locations/1a17b12d/topicTypes/1cac2cdb-c79c/eventSubscriptions"; + _requests[1061] = new DefaultHttpContext(); + _requests[1061].RequestServices = CreateServices(); + _requests[1061].Request.Method = "POST"; + _requests[1061].Request.Path = "/subscriptions/ade23068-fd5a-/providers/Microsoft.Features/providers/a93d8cca-7826-4249-a4e7-a/features/27db9d98-da/register"; + _requests[1062] = new DefaultHttpContext(); + _requests[1062].RequestServices = CreateServices(); + _requests[1062].Request.Method = "POST"; + _requests[1062].Request.Path = "/subscriptions/2fa7431b-bfcf-/providers/Microsoft.KeyVault/locations/4dcbfdf5/deletedVaults/2a1e4dc1-/purge"; + _requests[1063] = new DefaultHttpContext(); + _requests[1063].RequestServices = CreateServices(); + _requests[1063].Request.Method = "GET"; + _requests[1063].Request.Path = "/subscriptions/d42c7888-51b9-/providers/Microsoft.ServiceFabric/locations/f63e924c/environments/aaf1e828-36/clusterVersions"; + _requests[1064] = new DefaultHttpContext(); + _requests[1064].RequestServices = CreateServices(); + _requests[1064].Request.Method = "GET"; + _requests[1064].Request.Path = "/subscriptions/283b5e2f-1762-/providers/Microsoft.Sql/locations/1704115a-9f3/longTermRetentionServers/55a45d01-ce71-41ba-b245-fde/longTermRetentionBackups"; + _requests[1065] = new DefaultHttpContext(); + _requests[1065].RequestServices = CreateServices(); + _requests[1065].Request.Method = "POST"; + _requests[1065].Request.Path = "/subscriptions/3a994a68-edbd-/providers/Microsoft.Sql/locations/aa24e23b-b9a/managedDatabaseRestoreAzureAsyncOperation/66d1099c-95/completeRestore"; + _requests[1066] = new DefaultHttpContext(); + _requests[1066].RequestServices = CreateServices(); + _requests[1066].Request.Method = "GET"; + _requests[1066].Request.Path = "/subscriptions/2ee937e1-9407-/providers/Microsoft.Compute/locations/3f4e76d8/publishers/bcaa5dbd-6e37/artifacttypes/vmextension/types"; + _requests[1067] = new DefaultHttpContext(); + _requests[1067].RequestServices = CreateServices(); + _requests[1067].Request.Method = "GET"; + _requests[1067].Request.Path = "/subscriptions/d6c557a8-1a23-/providers/Microsoft.Compute/locations/5b6aebea/publishers/a3342438-a516/artifacttypes/vmimage/offers"; + _requests[1068] = new DefaultHttpContext(); + _requests[1068].RequestServices = CreateServices(); + _requests[1068].Request.Method = "GET"; + _requests[1068].Request.Path = "/subscriptions/2828de71-2f8a-/providers/Microsoft.Compute/locations/0e6b8685/publishers/b96d8694-85fd/artifacttypes/vmextension/types/16e17/versions"; + _requests[1069] = new DefaultHttpContext(); + _requests[1069].RequestServices = CreateServices(); + _requests[1069].Request.Method = "GET"; + _requests[1069].Request.Path = "/subscriptions/02dfde39-1fcb-/providers/Microsoft.Compute/locations/bafe0263/publishers/b9a797d7-e816/artifacttypes/vmimage/offers/9f68d/skus"; + _requests[1070] = new DefaultHttpContext(); + _requests[1070].RequestServices = CreateServices(); + _requests[1070].Request.Method = "GET"; + _requests[1070].Request.Path = "/subscriptions/9749bc18-8199-/providers/Microsoft.Compute/locations/fff656f0/publishers/2489c6de-35e3/artifacttypes/vmextension/types/91db8/versions/333462e"; + _requests[1071] = new DefaultHttpContext(); + _requests[1071].RequestServices = CreateServices(); + _requests[1071].Request.Method = "GET"; + _requests[1071].Request.Path = "/subscriptions/2fa4ea40-50fd-/providers/Microsoft.Compute/locations/06a03a4f/publishers/beeffe03-c3b7/artifacttypes/vmimage/offers/91835/skus/58133/versions"; + _requests[1072] = new DefaultHttpContext(); + _requests[1072].RequestServices = CreateServices(); + _requests[1072].Request.Method = "GET"; + _requests[1072].Request.Path = "/subscriptions/81d2fc9e-983b-/providers/Microsoft.Compute/locations/ddb6f9c1/publishers/52bb3c15-77ff/artifacttypes/vmimage/offers/390c1/skus/8cfa8/versions/469f15f"; + _requests[1073] = new DefaultHttpContext(); + _requests[1073].RequestServices = CreateServices(); + _requests[1073].Request.Method = "GET"; + _requests[1073].Request.Path = "/subscriptions/73c10ad4-e402-/providers/Microsoft.ServiceFabric/locations/668b84c8/environments/bd5ee44f-b3/clusterVersions/a90a1054-b9d3-"; + _requests[1074] = new DefaultHttpContext(); + _requests[1074].RequestServices = CreateServices(); + _requests[1074].Request.Method = "GET"; + _requests[1074].Request.Path = "/subscriptions/175008f6-af98-/providers/Microsoft.Sql/locations/d02683b1-03c/longTermRetentionServers/6bc680ad-db2d-430f-9553-256/longTermRetentionDatabases/9500527b-9938-4a1a-b9e2-3afdb/longTermRetentionBackups"; + _requests[1075] = new DefaultHttpContext(); + _requests[1075].RequestServices = CreateServices(); + _requests[1075].Request.Method = "DELETE"; + _requests[1075].Request.Path = "/subscriptions/aa9a5523-a048-/providers/Microsoft.Sql/locations/138c5775-d08/longTermRetentionServers/0a9576d2-2bad-49b3-81ed-76e/longTermRetentionDatabases/293eea6c-8289-43fa-aa28-3f3af/longTermRetentionBackups/4113be41-1"; + _requests[1076] = new DefaultHttpContext(); + _requests[1076].RequestServices = CreateServices(); + _requests[1076].Request.Method = "PUT"; + _requests[1076].Request.Path = "/subscriptions/d00b2a62-d7d6-/providers/Microsoft.MarketplaceOrdering/offerTypes/c355fada-/publishers/19725d9c-76/offers/326080b/plans/7c3031/agreements/current"; + _requests[1077] = new DefaultHttpContext(); + _requests[1077].RequestServices = CreateServices(); + _requests[1077].Request.Method = "POST"; + _requests[1077].Request.Path = "/subscriptions/50d17f8b-20fe-/providers/Microsoft.Security/locations/48cdaeb5-23/alerts/119b3564-/db4b0516-16c8-4e75-bb"; + _requests[1078] = new DefaultHttpContext(); + _requests[1078].RequestServices = CreateServices(); + _requests[1078].Request.Method = "POST"; + _requests[1078].Request.Path = "/subscriptions/fcdf126b-c1c9-/providers/Microsoft.Security/locations/56c7dc51-47/tasks/dffef75b/fbeb59dd-ae1a-41de-b"; + _requests[1079] = new DefaultHttpContext(); + _requests[1079].RequestServices = CreateServices(); + _requests[1079].Request.Method = "GET"; + _requests[1079].Request.Path = "/Applications/0235e670-82a7/$/GetServices/dcbcfd94-"; + _requests[1080] = new DefaultHttpContext(); + _requests[1080].RequestServices = CreateServices(); + _requests[1080].Request.Method = "GET"; + _requests[1080].Request.Path = "/ApplicationTypes/fb4d158f-301a-44d0-/$/GetServiceTypes/6ef9eec5-db09-4"; + _requests[1081] = new DefaultHttpContext(); + _requests[1081].RequestServices = CreateServices(); + _requests[1081].Request.Method = "GET"; + _requests[1081].Request.Path = "/Nodes/f8b5b7ea/$/GetApplications/2e978687-7952"; + _requests[1082] = new DefaultHttpContext(); + _requests[1082].RequestServices = CreateServices(); + _requests[1082].Request.Method = "GET"; + _requests[1082].Request.Path = "/Partitions/7d5cafc1-30/$/GetReplicas/ef1fa42b-"; + _requests[1083] = new DefaultHttpContext(); + _requests[1083].RequestServices = CreateServices(); + _requests[1083].Request.Method = "GET"; + _requests[1083].Request.Path = "/Services/13128331-ca/$/GetPartitions/12d83953-80"; + _requests[1084] = new DefaultHttpContext(); + _requests[1084].RequestServices = CreateServices(); + _requests[1084].Request.Method = "POST"; + _requests[1084].Request.Path = "/Applications/ad9de2f2-eaa1-4/$/GetServiceGroups/9cc66da6-3f/$/Delete"; + _requests[1085] = new DefaultHttpContext(); + _requests[1085].RequestServices = CreateServices(); + _requests[1085].Request.Method = "GET"; + _requests[1085].Request.Path = "/Applications/4e4e27be-d78c-4/$/GetServices/398cc8bb-1c/$/GetServiceGroupDescription"; + _requests[1086] = new DefaultHttpContext(); + _requests[1086].RequestServices = CreateServices(); + _requests[1086].Request.Method = "GET"; + _requests[1086].Request.Path = "/Applications/5d12202d-b8e4-4/$/GetServices/bdbfeec9-06/$/GetServiceGroupMembers"; + _requests[1087] = new DefaultHttpContext(); + _requests[1087].RequestServices = CreateServices(); + _requests[1087].Request.Method = "POST"; + _requests[1087].Request.Path = "/Applications/fee72229-a395-4/$/GetServices/bb89fe35-20/$/UpdateServiceGroup"; + _requests[1088] = new DefaultHttpContext(); + _requests[1088].RequestServices = CreateServices(); + _requests[1088].Request.Method = "GET"; + _requests[1088].Request.Path = "/Nodes/5c3bc85b/$/GetApplications/a584dc9e-67d7/$/GetCodePackages"; + _requests[1089] = new DefaultHttpContext(); + _requests[1089].RequestServices = CreateServices(); + _requests[1089].Request.Method = "POST"; + _requests[1089].Request.Path = "/Nodes/58d3efad/$/GetApplications/a799201d-6ab9/$/GetHealth"; + _requests[1090] = new DefaultHttpContext(); + _requests[1090].RequestServices = CreateServices(); + _requests[1090].Request.Method = "GET"; + _requests[1090].Request.Path = "/Nodes/d6e61260/$/GetApplications/04f81f70-0cdd/$/GetReplicas"; + _requests[1091] = new DefaultHttpContext(); + _requests[1091].RequestServices = CreateServices(); + _requests[1091].Request.Method = "GET"; + _requests[1091].Request.Path = "/Nodes/64bd7237/$/GetApplications/31f3a9c3-6b30/$/GetServicePackages"; + _requests[1092] = new DefaultHttpContext(); + _requests[1092].RequestServices = CreateServices(); + _requests[1092].Request.Method = "GET"; + _requests[1092].Request.Path = "/Nodes/19277341/$/GetApplications/c639b559-12f4/$/GetServiceTypes"; + _requests[1093] = new DefaultHttpContext(); + _requests[1093].RequestServices = CreateServices(); + _requests[1093].Request.Method = "POST"; + _requests[1093].Request.Path = "/Nodes/0daace32/$/GetApplications/938ec2f8-77bf/$/ReportHealth"; + _requests[1094] = new DefaultHttpContext(); + _requests[1094].RequestServices = CreateServices(); + _requests[1094].Request.Method = "GET"; + _requests[1094].Request.Path = "/Nodes/308fed20/$/GetPartitions/5f3f6f2c-5c/$/GetReplicas"; + _requests[1095] = new DefaultHttpContext(); + _requests[1095].RequestServices = CreateServices(); + _requests[1095].Request.Method = "POST"; + _requests[1095].Request.Path = "/Partitions/823e91ce-42/$/GetReplicas/ffa759b2-/$/GetHealth"; + _requests[1096] = new DefaultHttpContext(); + _requests[1096].RequestServices = CreateServices(); + _requests[1096].Request.Method = "GET"; + _requests[1096].Request.Path = "/Partitions/e0531ecb-44/$/GetReplicas/f31d8bf5-/$/GetLoadInformation"; + _requests[1097] = new DefaultHttpContext(); + _requests[1097].RequestServices = CreateServices(); + _requests[1097].Request.Method = "POST"; + _requests[1097].Request.Path = "/Partitions/b2799fbf-51/$/GetReplicas/e768f5ea-/$/ReportHealth"; + _requests[1098] = new DefaultHttpContext(); + _requests[1098].RequestServices = CreateServices(); + _requests[1098].Request.Method = "POST"; + _requests[1098].Request.Path = "/Nodes/c609ec46/$/GetApplications/ebf5d2c8-7034/$/GetCodePackages/$/ContainerApi"; + _requests[1099] = new DefaultHttpContext(); + _requests[1099].RequestServices = CreateServices(); + _requests[1099].Request.Method = "GET"; + _requests[1099].Request.Path = "/Nodes/536d6daf/$/GetApplications/e3d08ef1-34f0/$/GetCodePackages/$/ContainerLogs"; + _requests[1100] = new DefaultHttpContext(); + _requests[1100].RequestServices = CreateServices(); + _requests[1100].Request.Method = "POST"; + _requests[1100].Request.Path = "/Nodes/2ce55aa4/$/GetApplications/011bca95-9ac5/$/GetCodePackages/$/Restart"; + _requests[1101] = new DefaultHttpContext(); + _requests[1101].RequestServices = CreateServices(); + _requests[1101].Request.Method = "GET"; + _requests[1101].Request.Path = "/Nodes/b39a2fdf/$/GetApplications/0a54f4e2-d24c/$/GetServicePackages/0a7791c6-7c11-4efe"; + _requests[1102] = new DefaultHttpContext(); + _requests[1102].RequestServices = CreateServices(); + _requests[1102].Request.Method = "GET"; + _requests[1102].Request.Path = "/Nodes/2197edd5/$/GetApplications/474cafcb-a3e7/$/GetServiceTypes/89599760-ba1c-4"; + _requests[1103] = new DefaultHttpContext(); + _requests[1103].RequestServices = CreateServices(); + _requests[1103].Request.Method = "POST"; + _requests[1103].Request.Path = "/Nodes/d7876101/$/GetApplications/a62f25ca-78b6/$/GetServicePackages/b430e986-a341-43d4/$/GetHealth"; + _requests[1104] = new DefaultHttpContext(); + _requests[1104].RequestServices = CreateServices(); + _requests[1104].Request.Method = "POST"; + _requests[1104].Request.Path = "/Nodes/ca558975/$/GetApplications/f92ad576-38d6/$/GetServicePackages/b0018a68-71d7-4e4f/$/ReportHealth"; + _requests[1105] = new DefaultHttpContext(); + _requests[1105].RequestServices = CreateServices(); + _requests[1105].Request.Method = "POST"; + _requests[1105].Request.Path = "/Nodes/1d8e462f/$/GetPartitions/191def83-2e/$/GetReplicas/6d8f291c-/$/Delete"; + _requests[1106] = new DefaultHttpContext(); + _requests[1106].RequestServices = CreateServices(); + _requests[1106].Request.Method = "GET"; + _requests[1106].Request.Path = "/Nodes/67c1e2ba/$/GetPartitions/0efa81cb-8f/$/GetReplicas/da15adad-/$/GetDetail"; + _requests[1107] = new DefaultHttpContext(); + _requests[1107].RequestServices = CreateServices(); + _requests[1107].Request.Method = "POST"; + _requests[1107].Request.Path = "/Nodes/963a0f23/$/GetPartitions/8f54f9ed-b2/$/GetReplicas/902d19d0-/$/Restart"; + _requests[1108] = new DefaultHttpContext(); + _requests[1108].RequestServices = CreateServices(); + _requests[1108].Request.Method = "DELETE"; + _requests[1108].Request.Path = "/apis/25296/operations/4eafac6a-a5"; + _requests[1109] = new DefaultHttpContext(); + _requests[1109].RequestServices = CreateServices(); + _requests[1109].Request.Method = "DELETE"; + _requests[1109].Request.Path = "/apis/9f2ef/policies/4ab5e1dd"; + _requests[1110] = new DefaultHttpContext(); + _requests[1110].RequestServices = CreateServices(); + _requests[1110].Request.Method = "DELETE"; + _requests[1110].Request.Path = "/apis/389a6/schemas/84c0f52b"; + _requests[1111] = new DefaultHttpContext(); + _requests[1111].RequestServices = CreateServices(); + _requests[1111].Request.Method = "GET"; + _requests[1111].Request.Path = "/apps/fd7db/events/542abd5e-"; + _requests[1112] = new DefaultHttpContext(); + _requests[1112].RequestServices = CreateServices(); + _requests[1112].Request.Method = "GET"; + _requests[1112].Request.Path = "/apps/aaf28/metrics/879965ad"; + _requests[1113] = new DefaultHttpContext(); + _requests[1113].RequestServices = CreateServices(); + _requests[1113].Request.Method = "DELETE"; + _requests[1113].Request.Path = "/apps/083f0/versions/41ec72d7-"; + _requests[1114] = new DefaultHttpContext(); + _requests[1114].RequestServices = CreateServices(); + _requests[1114].Request.Method = "GET"; + _requests[1114].Request.Path = "/delegatedProviders/3498b80c-926b-420c-/offers/fbe84b08-"; + _requests[1115] = new DefaultHttpContext(); + _requests[1115].RequestServices = CreateServices(); + _requests[1115].Request.Method = "GET"; + _requests[1115].Request.Path = "/deletedstorage/bf1dd9c3-9147-4bb9-8/sas/2d4c0136-dc39-42e0-"; + _requests[1116] = new DefaultHttpContext(); + _requests[1116].RequestServices = CreateServices(); + _requests[1116].Request.Method = "DELETE"; + _requests[1116].Request.Path = "/facelists/52cb0d95-b/persistedFaces/5ae52f7c-2bbb-4"; + _requests[1117] = new DefaultHttpContext(); + _requests[1117].RequestServices = CreateServices(); + _requests[1117].Request.Method = "DELETE"; + _requests[1117].Request.Path = "/groups/02ef9f1/users/adf61"; + _requests[1118] = new DefaultHttpContext(); + _requests[1118].RequestServices = CreateServices(); + _requests[1118].Request.Method = "PUT"; + _requests[1118].Request.Path = "/jobs/c605d/tasks/e23d38"; + _requests[1119] = new DefaultHttpContext(); + _requests[1119].RequestServices = CreateServices(); + _requests[1119].Request.Method = "PATCH"; + _requests[1119].Request.Path = "/persongroups/dfbdd24a-e7fe/persons/80d81b53"; + _requests[1120] = new DefaultHttpContext(); + _requests[1120].RequestServices = CreateServices(); + _requests[1120].Request.Method = "GET"; + _requests[1120].Request.Path = "/pools/f671c2/nodes/2aa836"; + _requests[1121] = new DefaultHttpContext(); + _requests[1121].RequestServices = CreateServices(); + _requests[1121].Request.Method = "DELETE"; + _requests[1121].Request.Path = "/products/72d90812-/apis/2ccb2"; + _requests[1122] = new DefaultHttpContext(); + _requests[1122].RequestServices = CreateServices(); + _requests[1122].Request.Method = "DELETE"; + _requests[1122].Request.Path = "/products/2e50fa11-/groups/b522812"; + _requests[1123] = new DefaultHttpContext(); + _requests[1123].RequestServices = CreateServices(); + _requests[1123].Request.Method = "DELETE"; + _requests[1123].Request.Path = "/products/ba9fb698-/policies/e35ba32c"; + _requests[1124] = new DefaultHttpContext(); + _requests[1124].RequestServices = CreateServices(); + _requests[1124].Request.Method = "PATCH"; + _requests[1124].Request.Path = "/projects/8771bd4e-/iterations/1e99061f-71"; + _requests[1125] = new DefaultHttpContext(); + _requests[1125].RequestServices = CreateServices(); + _requests[1125].Request.Method = "PATCH"; + _requests[1125].Request.Path = "/projects/26aac258-/tags/f7948"; + _requests[1126] = new DefaultHttpContext(); + _requests[1126].RequestServices = CreateServices(); + _requests[1126].Request.Method = "PATCH"; + _requests[1126].Request.Path = "/storage/75d66fb9-593d-42a4-a/sas/5efae349-5545-4718-"; + _requests[1127] = new DefaultHttpContext(); + _requests[1127].RequestServices = CreateServices(); + _requests[1127].Request.Method = "GET"; + _requests[1127].Request.Path = "/subscriptions/d9091435-1ec2-/providers/5ab30aa3-329a-4749-9837-4"; + _requests[1128] = new DefaultHttpContext(); + _requests[1128].RequestServices = CreateServices(); + _requests[1128].Request.Method = "PATCH"; + _requests[1128].Request.Path = "/subscriptions/58ceec8e-0c00-/resourcegroups/c6fe0bde-a469-44f"; + _requests[1129] = new DefaultHttpContext(); + _requests[1129].RequestServices = CreateServices(); + _requests[1129].Request.Method = "DELETE"; + _requests[1129].Request.Path = "/subscriptions/449c988f-baa5-/tagNames/f5349b5"; + _requests[1130] = new DefaultHttpContext(); + _requests[1130].RequestServices = CreateServices(); + _requests[1130].Request.Method = "GET"; + _requests[1130].Request.Path = "/apis/9741d/operations/ea9e58d7-7d/policies"; + _requests[1131] = new DefaultHttpContext(); + _requests[1131].RequestServices = CreateServices(); + _requests[1131].Request.Method = "POST"; + _requests[1131].Request.Path = "/apps/5e436/versions/3866e46c-/clone"; + _requests[1132] = new DefaultHttpContext(); + _requests[1132].RequestServices = CreateServices(); + _requests[1132].Request.Method = "POST"; + _requests[1132].Request.Path = "/apps/df141/versions/8ffe54b3-/closedlists"; + _requests[1133] = new DefaultHttpContext(); + _requests[1133].RequestServices = CreateServices(); + _requests[1133].Request.Method = "GET"; + _requests[1133].Request.Path = "/apps/4d7ea/versions/b43a8b51-/compositeentities"; + _requests[1134] = new DefaultHttpContext(); + _requests[1134].RequestServices = CreateServices(); + _requests[1134].Request.Method = "POST"; + _requests[1134].Request.Path = "/apps/175a5/versions/178cb58f-/customprebuiltdomains"; + _requests[1135] = new DefaultHttpContext(); + _requests[1135].RequestServices = CreateServices(); + _requests[1135].Request.Method = "GET"; + _requests[1135].Request.Path = "/apps/d67f9/versions/8d9e28a0-/customprebuiltentities"; + _requests[1136] = new DefaultHttpContext(); + _requests[1136].RequestServices = CreateServices(); + _requests[1136].Request.Method = "GET"; + _requests[1136].Request.Path = "/apps/065f7/versions/00df14ed-/customprebuiltintents"; + _requests[1137] = new DefaultHttpContext(); + _requests[1137].RequestServices = CreateServices(); + _requests[1137].Request.Method = "GET"; + _requests[1137].Request.Path = "/apps/532a8/versions/9e21bc16-/customprebuiltmodels"; + _requests[1138] = new DefaultHttpContext(); + _requests[1138].RequestServices = CreateServices(); + _requests[1138].Request.Method = "GET"; + _requests[1138].Request.Path = "/apps/a9318/versions/1e5d16f4-/entities"; + _requests[1139] = new DefaultHttpContext(); + _requests[1139].RequestServices = CreateServices(); + _requests[1139].Request.Method = "POST"; + _requests[1139].Request.Path = "/apps/f9038/versions/40b68af8-/example"; + _requests[1140] = new DefaultHttpContext(); + _requests[1140].RequestServices = CreateServices(); + _requests[1140].Request.Method = "GET"; + _requests[1140].Request.Path = "/apps/9106b/versions/c698b05b-/examples"; + _requests[1141] = new DefaultHttpContext(); + _requests[1141].RequestServices = CreateServices(); + _requests[1141].Request.Method = "GET"; + _requests[1141].Request.Path = "/apps/47dcd/versions/494a815f-/export"; + _requests[1142] = new DefaultHttpContext(); + _requests[1142].RequestServices = CreateServices(); + _requests[1142].Request.Method = "GET"; + _requests[1142].Request.Path = "/apps/5d0ee/versions/2b9ef7b1-/features"; + _requests[1143] = new DefaultHttpContext(); + _requests[1143].RequestServices = CreateServices(); + _requests[1143].Request.Method = "GET"; + _requests[1143].Request.Path = "/apps/4008a/versions/a86947de-/hierarchicalentities"; + _requests[1144] = new DefaultHttpContext(); + _requests[1144].RequestServices = CreateServices(); + _requests[1144].Request.Method = "GET"; + _requests[1144].Request.Path = "/apps/b445b/versions/fd647c90-/intents"; + _requests[1145] = new DefaultHttpContext(); + _requests[1145].RequestServices = CreateServices(); + _requests[1145].Request.Method = "GET"; + _requests[1145].Request.Path = "/apps/50450/versions/96a45b30-/listprebuilts"; + _requests[1146] = new DefaultHttpContext(); + _requests[1146].RequestServices = CreateServices(); + _requests[1146].Request.Method = "GET"; + _requests[1146].Request.Path = "/apps/ce1a5/versions/c2113630-/models"; + _requests[1147] = new DefaultHttpContext(); + _requests[1147].RequestServices = CreateServices(); + _requests[1147].Request.Method = "POST"; + _requests[1147].Request.Path = "/apps/63d8e/versions/eb021164-/patternanyentities"; + _requests[1148] = new DefaultHttpContext(); + _requests[1148].RequestServices = CreateServices(); + _requests[1148].Request.Method = "POST"; + _requests[1148].Request.Path = "/apps/57297/versions/57c1bcda-/patternrule"; + _requests[1149] = new DefaultHttpContext(); + _requests[1149].RequestServices = CreateServices(); + _requests[1149].Request.Method = "DELETE"; + _requests[1149].Request.Path = "/apps/521f1/versions/05d51a1e-/patternrules"; + _requests[1150] = new DefaultHttpContext(); + _requests[1150].RequestServices = CreateServices(); + _requests[1150].Request.Method = "GET"; + _requests[1150].Request.Path = "/apps/516fb/versions/0c88edff-/patterns"; + _requests[1151] = new DefaultHttpContext(); + _requests[1151].RequestServices = CreateServices(); + _requests[1151].Request.Method = "GET"; + _requests[1151].Request.Path = "/apps/857d9/versions/a306dd5a-/phraselists"; + _requests[1152] = new DefaultHttpContext(); + _requests[1152].RequestServices = CreateServices(); + _requests[1152].Request.Method = "GET"; + _requests[1152].Request.Path = "/apps/6fdba/versions/2f9d6a9c-/prebuilts"; + _requests[1153] = new DefaultHttpContext(); + _requests[1153].RequestServices = CreateServices(); + _requests[1153].Request.Method = "POST"; + _requests[1153].Request.Path = "/apps/7ffd6/versions/5bf210d7-/regexentities"; + _requests[1154] = new DefaultHttpContext(); + _requests[1154].RequestServices = CreateServices(); + _requests[1154].Request.Method = "DELETE"; + _requests[1154].Request.Path = "/apps/8c9ff/versions/831a3205-/suggest"; + _requests[1155] = new DefaultHttpContext(); + _requests[1155].RequestServices = CreateServices(); + _requests[1155].Request.Method = "GET"; + _requests[1155].Request.Path = "/apps/693c8/versions/c241067e-/train"; + _requests[1156] = new DefaultHttpContext(); + _requests[1156].RequestServices = CreateServices(); + _requests[1156].Request.Method = "POST"; + _requests[1156].Request.Path = "/deletedstorage/cb1a70db-89b2-455b-9/sas/70b3797b-4f30-4d31-/recover"; + _requests[1157] = new DefaultHttpContext(); + _requests[1157].RequestServices = CreateServices(); + _requests[1157].Request.Method = "GET"; + _requests[1157].Request.Path = "/jobs/0e108/tasks/88d58e/files"; + _requests[1158] = new DefaultHttpContext(); + _requests[1158].RequestServices = CreateServices(); + _requests[1158].Request.Method = "POST"; + _requests[1158].Request.Path = "/jobs/18466/tasks/63c04d/reactivate"; + _requests[1159] = new DefaultHttpContext(); + _requests[1159].RequestServices = CreateServices(); + _requests[1159].Request.Method = "GET"; + _requests[1159].Request.Path = "/jobs/9b951/tasks/2265ff/subtasksinfo"; + _requests[1160] = new DefaultHttpContext(); + _requests[1160].RequestServices = CreateServices(); + _requests[1160].Request.Method = "POST"; + _requests[1160].Request.Path = "/jobs/d5c44/tasks/9a9754/terminate"; + _requests[1161] = new DefaultHttpContext(); + _requests[1161].RequestServices = CreateServices(); + _requests[1161].Request.Method = "POST"; + _requests[1161].Request.Path = "/persongroups/dcf47d82-5815/persons/d5081906/persistedFaces"; + _requests[1162] = new DefaultHttpContext(); + _requests[1162].RequestServices = CreateServices(); + _requests[1162].Request.Method = "POST"; + _requests[1162].Request.Path = "/pools/2bc514/nodes/cbf9e7/disablescheduling"; + _requests[1163] = new DefaultHttpContext(); + _requests[1163].RequestServices = CreateServices(); + _requests[1163].Request.Method = "POST"; + _requests[1163].Request.Path = "/pools/2254d4/nodes/f1200b/enablescheduling"; + _requests[1164] = new DefaultHttpContext(); + _requests[1164].RequestServices = CreateServices(); + _requests[1164].Request.Method = "GET"; + _requests[1164].Request.Path = "/pools/a10321/nodes/a4bb4c/files"; + _requests[1165] = new DefaultHttpContext(); + _requests[1165].RequestServices = CreateServices(); + _requests[1165].Request.Method = "GET"; + _requests[1165].Request.Path = "/pools/ce11db/nodes/c2fe80/rdp"; + _requests[1166] = new DefaultHttpContext(); + _requests[1166].RequestServices = CreateServices(); + _requests[1166].Request.Method = "POST"; + _requests[1166].Request.Path = "/pools/6bae41/nodes/03edcf/reboot"; + _requests[1167] = new DefaultHttpContext(); + _requests[1167].RequestServices = CreateServices(); + _requests[1167].Request.Method = "POST"; + _requests[1167].Request.Path = "/pools/f544e3/nodes/1d8cbe/reimage"; + _requests[1168] = new DefaultHttpContext(); + _requests[1168].RequestServices = CreateServices(); + _requests[1168].Request.Method = "GET"; + _requests[1168].Request.Path = "/pools/3d2f64/nodes/649e75/remoteloginsettings"; + _requests[1169] = new DefaultHttpContext(); + _requests[1169].RequestServices = CreateServices(); + _requests[1169].Request.Method = "POST"; + _requests[1169].Request.Path = "/pools/38833a/nodes/75f2dd/uploadbatchservicelogs"; + _requests[1170] = new DefaultHttpContext(); + _requests[1170].RequestServices = CreateServices(); + _requests[1170].Request.Method = "POST"; + _requests[1170].Request.Path = "/pools/538578/nodes/8d1705/users"; + _requests[1171] = new DefaultHttpContext(); + _requests[1171].RequestServices = CreateServices(); + _requests[1171].Request.Method = "POST"; + _requests[1171].Request.Path = "/projects/1c956b4c-/iterations/45669eb1-65/export"; + _requests[1172] = new DefaultHttpContext(); + _requests[1172].RequestServices = CreateServices(); + _requests[1172].Request.Method = "GET"; + _requests[1172].Request.Path = "/projects/ccf181f1-/iterations/689d726b-51/performance"; + _requests[1173] = new DefaultHttpContext(); + _requests[1173].RequestServices = CreateServices(); + _requests[1173].Request.Method = "POST"; + _requests[1173].Request.Path = "/subscriptions/6d4709ff-9f06-/providers/ad930340-206f-4759-bf97-d/register"; + _requests[1174] = new DefaultHttpContext(); + _requests[1174].RequestServices = CreateServices(); + _requests[1174].Request.Method = "POST"; + _requests[1174].Request.Path = "/subscriptions/e571b869-cb98-/providers/121c5fd7-0bb0-4788-8438-9/unregister"; + _requests[1175] = new DefaultHttpContext(); + _requests[1175].RequestServices = CreateServices(); + _requests[1175].Request.Method = "POST"; + _requests[1175].Request.Path = "/subscriptions/e00d42cf-92cb-/resourcegroups/c1e7b1ba-4946-470/exportTemplate"; + _requests[1176] = new DefaultHttpContext(); + _requests[1176].RequestServices = CreateServices(); + _requests[1176].Request.Method = "POST"; + _requests[1176].Request.Path = "/subscriptions/8659c95b-be45-/resourceGroups/981f02b6-b2b2-4f1/moveResources"; + _requests[1177] = new DefaultHttpContext(); + _requests[1177].RequestServices = CreateServices(); + _requests[1177].Request.Method = "GET"; + _requests[1177].Request.Path = "/subscriptions/2f86c3ff-2755-/resourceGroups/52615dd5-49eb-40a/resources"; + _requests[1178] = new DefaultHttpContext(); + _requests[1178].RequestServices = CreateServices(); + _requests[1178].Request.Method = "POST"; + _requests[1178].Request.Path = "/subscriptions/a37b5feb-2336-/resourceGroups/36f1804b-cdd4-4aa/validateMoveResources"; + _requests[1179] = new DefaultHttpContext(); + _requests[1179].RequestServices = CreateServices(); + _requests[1179].Request.Method = "GET"; + _requests[1179].Request.Path = "/projects/62679b4f-/iterations/046acfe4-ba/performance/images"; + _requests[1180] = new DefaultHttpContext(); + _requests[1180].RequestServices = CreateServices(); + _requests[1180].Request.Method = "GET"; + _requests[1180].Request.Path = "/projects/d08c6e49-/iterations/43dca4e5-80/performance/images/count"; + _requests[1181] = new DefaultHttpContext(); + _requests[1181].RequestServices = CreateServices(); + _requests[1181].Request.Method = "GET"; + _requests[1181].Request.Path = "/subscriptions/1a87abcf-14d2-/resourceGroup/1e7e1fca-eec0-4da/providers/microsoft.insights/workbooks"; + _requests[1182] = new DefaultHttpContext(); + _requests[1182].RequestServices = CreateServices(); + _requests[1182].Request.Method = "GET"; + _requests[1182].Request.Path = "/subscriptions/16d36dbd-fef5-/resourceGroups/1cb47c8b-/providers/Microsoft.DataMigration/services"; + _requests[1183] = new DefaultHttpContext(); + _requests[1183].RequestServices = CreateServices(); + _requests[1183].Request.Method = "PUT"; + _requests[1183].Request.Path = "/subscriptions/68332ca9-7e3e-/resourceGroups/52734d14-25c0/providers/Microsoft.Advisor/configurations"; + _requests[1184] = new DefaultHttpContext(); + _requests[1184].RequestServices = CreateServices(); + _requests[1184].Request.Method = "GET"; + _requests[1184].Request.Path = "/subscriptions/d3d41ab1-5cae-/resourcegroups/aa4fb920-3866/providers/Microsoft.AzureBridge.Admin/activations"; + _requests[1185] = new DefaultHttpContext(); + _requests[1185].RequestServices = CreateServices(); + _requests[1185].Request.Method = "GET"; + _requests[1185].Request.Path = "/subscriptions/42d8fc74-6ee6-/resourceGroups/91e8811c-06fc/providers/Microsoft.AzureStack/registrations"; + _requests[1186] = new DefaultHttpContext(); + _requests[1186].RequestServices = CreateServices(); + _requests[1186].Request.Method = "GET"; + _requests[1186].Request.Path = "/subscriptions/1787cecf-c83e-/resourceGroups/577435bb-d6f9-48d/providers/Microsoft.AAD/domainServices"; + _requests[1187] = new DefaultHttpContext(); + _requests[1187].RequestServices = CreateServices(); + _requests[1187].Request.Method = "GET"; + _requests[1187].Request.Path = "/subscriptions/953056a4-8c58-/resourceGroups/cd24b46f-ca8e-4f0/providers/Microsoft.AnalysisServices/servers"; + _requests[1188] = new DefaultHttpContext(); + _requests[1188].RequestServices = CreateServices(); + _requests[1188].Request.Method = "GET"; + _requests[1188].Request.Path = "/subscriptions/25275695-5a8f-/resourceGroups/12278910-c572-497/providers/Microsoft.ApiManagement/service"; + _requests[1189] = new DefaultHttpContext(); + _requests[1189].RequestServices = CreateServices(); + _requests[1189].Request.Method = "GET"; + _requests[1189].Request.Path = "/subscriptions/18187bd6-4efc-/resourceGroups/2acad2e1-36b1-40a/providers/Microsoft.Authorization/locks"; + _requests[1190] = new DefaultHttpContext(); + _requests[1190].RequestServices = CreateServices(); + _requests[1190].Request.Method = "GET"; + _requests[1190].Request.Path = "/subscriptions/af628ae2-3fa6-/resourcegroups/a23d3377-a9f1-4b8/providers/Microsoft.Authorization/permissions"; + _requests[1191] = new DefaultHttpContext(); + _requests[1191].RequestServices = CreateServices(); + _requests[1191].Request.Method = "GET"; + _requests[1191].Request.Path = "/subscriptions/6b1db4a0-5904-/resourceGroups/5bc3723f-ceca-435/providers/Microsoft.Authorization/policyAssignments"; + _requests[1192] = new DefaultHttpContext(); + _requests[1192].RequestServices = CreateServices(); + _requests[1192].Request.Method = "GET"; + _requests[1192].Request.Path = "/subscriptions/6e0f2c31-6297-/resourceGroups/67a4d528-f06b-448/providers/Microsoft.Authorization/roleAssignments"; + _requests[1193] = new DefaultHttpContext(); + _requests[1193].RequestServices = CreateServices(); + _requests[1193].Request.Method = "GET"; + _requests[1193].Request.Path = "/subscriptions/531323ae-8757-/resourceGroups/a8740389-46f8-466/providers/Microsoft.Automation/automationAccounts"; + _requests[1194] = new DefaultHttpContext(); + _requests[1194].RequestServices = CreateServices(); + _requests[1194].Request.Method = "GET"; + _requests[1194].Request.Path = "/subscriptions/bf493720-10a6-/resourcegroups/1b954090-38fe-48d/providers/Microsoft.Backup.Admin/backupLocations"; + _requests[1195] = new DefaultHttpContext(); + _requests[1195].RequestServices = CreateServices(); + _requests[1195].Request.Method = "GET"; + _requests[1195].Request.Path = "/subscriptions/5ab346f0-a0b5-/resourceGroups/bca5bf7e-0ab6-4fe/providers/Microsoft.Batch/batchAccounts"; + _requests[1196] = new DefaultHttpContext(); + _requests[1196].RequestServices = CreateServices(); + _requests[1196].Request.Method = "GET"; + _requests[1196].Request.Path = "/subscriptions/3b809873-9882-/resourceGroups/29cc70fa-c27a-425/providers/Microsoft.BatchAI/clusters"; + _requests[1197] = new DefaultHttpContext(); + _requests[1197].RequestServices = CreateServices(); + _requests[1197].Request.Method = "GET"; + _requests[1197].Request.Path = "/subscriptions/26856e5b-dd0d-/resourceGroups/34646087-81ab-409/providers/Microsoft.BatchAI/fileServers"; + _requests[1198] = new DefaultHttpContext(); + _requests[1198].RequestServices = CreateServices(); + _requests[1198].Request.Method = "GET"; + _requests[1198].Request.Path = "/subscriptions/3433626e-9aba-/resourceGroups/2c01809f-e22e-494/providers/Microsoft.BatchAI/jobs"; + _requests[1199] = new DefaultHttpContext(); + _requests[1199].RequestServices = CreateServices(); + _requests[1199].Request.Method = "GET"; + _requests[1199].Request.Path = "/subscriptions/00d05550-8b8a-/resourceGroups/43a4debc-a57a-4dd/providers/Microsoft.BatchAI/workspaces"; + _requests[1200] = new DefaultHttpContext(); + _requests[1200].RequestServices = CreateServices(); + _requests[1200].Request.Method = "GET"; + _requests[1200].Request.Path = "/subscriptions/b7889ffe-8687-/resourceGroups/c93ec405-c008-497/providers/Microsoft.BotService/botServices"; + _requests[1201] = new DefaultHttpContext(); + _requests[1201].RequestServices = CreateServices(); + _requests[1201].Request.Method = "GET"; + _requests[1201].Request.Path = "/subscriptions/3a902c5a-2c6a-/resourceGroups/f260f9a7-b269-459/providers/Microsoft.Cache/Redis"; + _requests[1202] = new DefaultHttpContext(); + _requests[1202].RequestServices = CreateServices(); + _requests[1202].Request.Method = "GET"; + _requests[1202].Request.Path = "/subscriptions/b0269cb3-5022-/resourceGroups/acf79ffa-ef39-453/providers/Microsoft.Cdn/profiles"; + _requests[1203] = new DefaultHttpContext(); + _requests[1203].RequestServices = CreateServices(); + _requests[1203].Request.Method = "GET"; + _requests[1203].Request.Path = "/subscriptions/ece5c766-5528-/resourceGroups/21db8770-29a4-433/providers/Microsoft.CertificateRegistration/certificateOrders"; + _requests[1204] = new DefaultHttpContext(); + _requests[1204].RequestServices = CreateServices(); + _requests[1204].Request.Method = "GET"; + _requests[1204].Request.Path = "/subscriptions/f5319a41-4b71-/resourceGroups/4e59842e-5154-498/providers/Microsoft.CognitiveServices/accounts"; + _requests[1205] = new DefaultHttpContext(); + _requests[1205].RequestServices = CreateServices(); + _requests[1205].Request.Method = "GET"; + _requests[1205].Request.Path = "/subscriptions/150febfe-f149-/resourceGroups/34503c4e-5fde-469/providers/Microsoft.Compute/availabilitySets"; + _requests[1206] = new DefaultHttpContext(); + _requests[1206].RequestServices = CreateServices(); + _requests[1206].Request.Method = "GET"; + _requests[1206].Request.Path = "/subscriptions/6a8a4b2b-9385-/resourceGroups/b4b2fa73-fb6b-420/providers/Microsoft.Compute/disks"; + _requests[1207] = new DefaultHttpContext(); + _requests[1207].RequestServices = CreateServices(); + _requests[1207].Request.Method = "GET"; + _requests[1207].Request.Path = "/subscriptions/a9c785b3-10ed-/resourceGroups/bb9d826a-412e-4ca/providers/Microsoft.Compute/galleries"; + _requests[1208] = new DefaultHttpContext(); + _requests[1208].RequestServices = CreateServices(); + _requests[1208].Request.Method = "GET"; + _requests[1208].Request.Path = "/subscriptions/4a248e72-eecf-/resourceGroups/e83064d0-2c6c-487/providers/Microsoft.Compute/images"; + _requests[1209] = new DefaultHttpContext(); + _requests[1209].RequestServices = CreateServices(); + _requests[1209].Request.Method = "GET"; + _requests[1209].Request.Path = "/subscriptions/acd865a6-a06d-/resourceGroups/81000088-936b-4aa/providers/Microsoft.Compute/snapshots"; + _requests[1210] = new DefaultHttpContext(); + _requests[1210].RequestServices = CreateServices(); + _requests[1210].Request.Method = "GET"; + _requests[1210].Request.Path = "/subscriptions/042cd01b-4ee2-/resourceGroups/3df06421-b98d-4f9/providers/Microsoft.Compute/virtualMachines"; + _requests[1211] = new DefaultHttpContext(); + _requests[1211].RequestServices = CreateServices(); + _requests[1211].Request.Method = "GET"; + _requests[1211].Request.Path = "/subscriptions/b824d05f-25aa-/resourceGroups/5c97081c-b8ae-436/providers/Microsoft.Compute/virtualMachineScaleSets"; + _requests[1212] = new DefaultHttpContext(); + _requests[1212].RequestServices = CreateServices(); + _requests[1212].Request.Method = "GET"; + _requests[1212].Request.Path = "/subscriptions/f6196b02-e304-/resourceGroups/32b706ed-7449-413/providers/Microsoft.Consumption/budgets"; + _requests[1213] = new DefaultHttpContext(); + _requests[1213].RequestServices = CreateServices(); + _requests[1213].Request.Method = "GET"; + _requests[1213].Request.Path = "/subscriptions/79905abb-5336-/resourceGroups/9a874946-08e3-4c6/providers/Microsoft.ContainerInstance/containerGroups"; + _requests[1214] = new DefaultHttpContext(); + _requests[1214].RequestServices = CreateServices(); + _requests[1214].Request.Method = "GET"; + _requests[1214].Request.Path = "/subscriptions/389ad012-cc1a-/resourceGroups/3af762f9-f47e-43b/providers/Microsoft.ContainerRegistry/registries"; + _requests[1215] = new DefaultHttpContext(); + _requests[1215].RequestServices = CreateServices(); + _requests[1215].Request.Method = "GET"; + _requests[1215].Request.Path = "/subscriptions/cbdeedef-b8a4-/resourceGroups/cd81fe05-617a-415/providers/Microsoft.ContainerService/containerServices"; + _requests[1216] = new DefaultHttpContext(); + _requests[1216].RequestServices = CreateServices(); + _requests[1216].Request.Method = "GET"; + _requests[1216].Request.Path = "/subscriptions/3f5263a9-5dfe-/resourceGroups/05d484f5-cc28-4af/providers/Microsoft.ContainerService/managedClusters"; + _requests[1217] = new DefaultHttpContext(); + _requests[1217].RequestServices = CreateServices(); + _requests[1217].Request.Method = "GET"; + _requests[1217].Request.Path = "/subscriptions/f6342c6e-bfdd-/resourceGroups/ff2efcc2-61e2-42f/providers/Microsoft.CustomerInsights/hubs"; + _requests[1218] = new DefaultHttpContext(); + _requests[1218].RequestServices = CreateServices(); + _requests[1218].Request.Method = "GET"; + _requests[1218].Request.Path = "/subscriptions/46ef41ac-4401-/resourceGroups/faac4547-54ec-4ce/providers/Microsoft.DataBox/jobs"; + _requests[1219] = new DefaultHttpContext(); + _requests[1219].RequestServices = CreateServices(); + _requests[1219].Request.Method = "GET"; + _requests[1219].Request.Path = "/subscriptions/1a6c99b5-b0d7-/resourceGroups/73b547fe-318c-462/providers/Microsoft.Databricks/workspaces"; + _requests[1220] = new DefaultHttpContext(); + _requests[1220].RequestServices = CreateServices(); + _requests[1220].Request.Method = "GET"; + _requests[1220].Request.Path = "/subscriptions/14643394-f9a3-/resourceGroups/b220db38-9f95-450/providers/Microsoft.DataCatalog/catalogs"; + _requests[1221] = new DefaultHttpContext(); + _requests[1221].RequestServices = CreateServices(); + _requests[1221].Request.Method = "GET"; + _requests[1221].Request.Path = "/subscriptions/22a34586-afc3-/resourceGroups/9935f3eb-bb68-41d/providers/Microsoft.DataFactory/factories"; + _requests[1222] = new DefaultHttpContext(); + _requests[1222].RequestServices = CreateServices(); + _requests[1222].Request.Method = "GET"; + _requests[1222].Request.Path = "/subscriptions/86da8c24-af75-/resourceGroups/584a6a98-a37b-49f/providers/Microsoft.DataLakeAnalytics/accounts"; + _requests[1223] = new DefaultHttpContext(); + _requests[1223].RequestServices = CreateServices(); + _requests[1223].Request.Method = "GET"; + _requests[1223].Request.Path = "/subscriptions/52a46a7c-79c2-/resourceGroups/2eae0716-d403-4e5/providers/Microsoft.DataLakeStore/accounts"; + _requests[1224] = new DefaultHttpContext(); + _requests[1224].RequestServices = CreateServices(); + _requests[1224].Request.Method = "GET"; + _requests[1224].Request.Path = "/subscriptions/18325335-e5f3-/resourceGroups/b102d1c0-141d-4ba/providers/Microsoft.DBforMySQL/servers"; + _requests[1225] = new DefaultHttpContext(); + _requests[1225].RequestServices = CreateServices(); + _requests[1225].Request.Method = "GET"; + _requests[1225].Request.Path = "/subscriptions/2f1a561f-72d4-/resourceGroups/b405e3f1-8b9a-4f9/providers/Microsoft.DBforPostgreSQL/servers"; + _requests[1226] = new DefaultHttpContext(); + _requests[1226].RequestServices = CreateServices(); + _requests[1226].Request.Method = "GET"; + _requests[1226].Request.Path = "/subscriptions/ff672dfd-afb0-/resourceGroups/41849e9c-002f-421/providers/Microsoft.Devices/IotHubs"; + _requests[1227] = new DefaultHttpContext(); + _requests[1227].RequestServices = CreateServices(); + _requests[1227].Request.Method = "GET"; + _requests[1227].Request.Path = "/subscriptions/c5b5dbec-69bf-/resourceGroups/35f27c20-7337-434/providers/Microsoft.Devices/provisioningServices"; + _requests[1228] = new DefaultHttpContext(); + _requests[1228].RequestServices = CreateServices(); + _requests[1228].Request.Method = "GET"; + _requests[1228].Request.Path = "/subscriptions/b566fb6c-a2a7-/resourceGroups/c2a27d96-b00b-435/providers/Microsoft.DevTestLab/labs"; + _requests[1229] = new DefaultHttpContext(); + _requests[1229].RequestServices = CreateServices(); + _requests[1229].Request.Method = "GET"; + _requests[1229].Request.Path = "/subscriptions/ac2a5b27-7986-/resourceGroups/80f80cc2-b012-44d/providers/Microsoft.DevTestLab/schedules"; + _requests[1230] = new DefaultHttpContext(); + _requests[1230].RequestServices = CreateServices(); + _requests[1230].Request.Method = "GET"; + _requests[1230].Request.Path = "/subscriptions/a6f9149a-c5d9-/resourceGroups/b183fb6f-4265-4e4/providers/Microsoft.DocumentDB/databaseAccounts"; + _requests[1231] = new DefaultHttpContext(); + _requests[1231].RequestServices = CreateServices(); + _requests[1231].Request.Method = "GET"; + _requests[1231].Request.Path = "/subscriptions/d0973a18-8d34-/resourceGroups/30904cef-f333-405/providers/Microsoft.DomainRegistration/domains"; + _requests[1232] = new DefaultHttpContext(); + _requests[1232].RequestServices = CreateServices(); + _requests[1232].Request.Method = "GET"; + _requests[1232].Request.Path = "/subscriptions/c0ebe51c-0677-/resourceGroups/6e283f4c-6a39-498/providers/Microsoft.EventGrid/eventSubscriptions"; + _requests[1233] = new DefaultHttpContext(); + _requests[1233].RequestServices = CreateServices(); + _requests[1233].Request.Method = "GET"; + _requests[1233].Request.Path = "/subscriptions/a8506573-d37d-/resourceGroups/b34c71f5-fbda-4a1/providers/Microsoft.EventGrid/topics"; + _requests[1234] = new DefaultHttpContext(); + _requests[1234].RequestServices = CreateServices(); + _requests[1234].Request.Method = "GET"; + _requests[1234].Request.Path = "/subscriptions/3148c771-0ced-/resourceGroups/ce0a911c-2c34-45a/providers/Microsoft.EventHub/clusters"; + _requests[1235] = new DefaultHttpContext(); + _requests[1235].RequestServices = CreateServices(); + _requests[1235].Request.Method = "GET"; + _requests[1235].Request.Path = "/subscriptions/dd07c381-221f-/resourceGroups/4d470412-5400-433/providers/Microsoft.EventHub/namespaces"; + _requests[1236] = new DefaultHttpContext(); + _requests[1236].RequestServices = CreateServices(); + _requests[1236].Request.Method = "PUT"; + _requests[1236].Request.Path = "/subscriptions/f0618325-695f-/resourceGroups/97807d4a-91da-4fe/providers/Microsoft.Fabric.Admin/fabricLocations"; + _requests[1237] = new DefaultHttpContext(); + _requests[1237].RequestServices = CreateServices(); + _requests[1237].Request.Method = "GET"; + _requests[1237].Request.Path = "/subscriptions/e61816de-246a-/resourceGroups/065d002c-741b-42b/providers/Microsoft.HanaOnAzure/hanaInstances"; + _requests[1238] = new DefaultHttpContext(); + _requests[1238].RequestServices = CreateServices(); + _requests[1238].Request.Method = "GET"; + _requests[1238].Request.Path = "/subscriptions/1751d637-5178-/resourceGroups/f3462b87-ce46-413/providers/Microsoft.HDInsight/clusters"; + _requests[1239] = new DefaultHttpContext(); + _requests[1239].RequestServices = CreateServices(); + _requests[1239].Request.Method = "GET"; + _requests[1239].Request.Path = "/subscriptions/ecfb48f0-5896-/resourceGroups/9523f627-5667-43b/providers/Microsoft.ImportExport/jobs"; + _requests[1240] = new DefaultHttpContext(); + _requests[1240].RequestServices = CreateServices(); + _requests[1240].Request.Method = "GET"; + _requests[1240].Request.Path = "/subscriptions/0b32f3b8-68aa-/resourceGroups/a36d9239-56d8-4a0/providers/Microsoft.InfrastructureInsights.Admin/regionHealths"; + _requests[1241] = new DefaultHttpContext(); + _requests[1241].RequestServices = CreateServices(); + _requests[1241].Request.Method = "GET"; + _requests[1241].Request.Path = "/subscriptions/a9268007-a5e4-/resourceGroups/5051e2f7-26c9-460/providers/microsoft.insights/actionGroups"; + _requests[1242] = new DefaultHttpContext(); + _requests[1242].RequestServices = CreateServices(); + _requests[1242].Request.Method = "GET"; + _requests[1242].Request.Path = "/subscriptions/cfbbaff7-60a3-/resourceGroups/235b1959-37a1-4a8/providers/microsoft.insights/activityLogAlerts"; + _requests[1243] = new DefaultHttpContext(); + _requests[1243].RequestServices = CreateServices(); + _requests[1243].Request.Method = "GET"; + _requests[1243].Request.Path = "/subscriptions/9edc865f-694f-/resourcegroups/ff51624e-2a2b-45c/providers/microsoft.insights/alertrules"; + _requests[1244] = new DefaultHttpContext(); + _requests[1244].RequestServices = CreateServices(); + _requests[1244].Request.Method = "GET"; + _requests[1244].Request.Path = "/subscriptions/2c0da8e2-9127-/resourcegroups/1ba65ef9-852c-4f0/providers/microsoft.insights/autoscalesettings"; + _requests[1245] = new DefaultHttpContext(); + _requests[1245].RequestServices = CreateServices(); + _requests[1245].Request.Method = "GET"; + _requests[1245].Request.Path = "/subscriptions/9e187b9f-1995-/resourceGroups/59bf01cc-22b1-424/providers/Microsoft.Insights/components"; + _requests[1246] = new DefaultHttpContext(); + _requests[1246].RequestServices = CreateServices(); + _requests[1246].Request.Method = "GET"; + _requests[1246].Request.Path = "/subscriptions/2d037583-e87f-/resourceGroups/0a2f36c1-0680-4f8/providers/Microsoft.Insights/metricAlerts"; + _requests[1247] = new DefaultHttpContext(); + _requests[1247].RequestServices = CreateServices(); + _requests[1247].Request.Method = "GET"; + _requests[1247].Request.Path = "/subscriptions/db5a2e59-524f-/resourcegroups/b4df6724-b958-417/providers/microsoft.insights/scheduledQueryRules"; + _requests[1248] = new DefaultHttpContext(); + _requests[1248].RequestServices = CreateServices(); + _requests[1248].Request.Method = "GET"; + _requests[1248].Request.Path = "/subscriptions/89ad49ed-e83e-/resourceGroups/25a9d85c-d8b0-417/providers/Microsoft.Insights/webtests"; + _requests[1249] = new DefaultHttpContext(); + _requests[1249].RequestServices = CreateServices(); + _requests[1249].Request.Method = "GET"; + _requests[1249].Request.Path = "/subscriptions/6502c925-4334-/resourceGroups/b9e5f912-5f91-418/providers/Microsoft.IoTCentral/IoTApps"; + _requests[1250] = new DefaultHttpContext(); + _requests[1250].RequestServices = CreateServices(); + _requests[1250].Request.Method = "GET"; + _requests[1250].Request.Path = "/subscriptions/1c0cb55f-a6ae-/resourceGroups/304b9162-8f2b-408/providers/Microsoft.IoTSpaces/Graph"; + _requests[1251] = new DefaultHttpContext(); + _requests[1251].RequestServices = CreateServices(); + _requests[1251].Request.Method = "GET"; + _requests[1251].Request.Path = "/subscriptions/e46ac7e7-795b-/resourceGroups/45d2fb29-3291-498/providers/Microsoft.KeyVault/vaults"; + _requests[1252] = new DefaultHttpContext(); + _requests[1252].RequestServices = CreateServices(); + _requests[1252].Request.Method = "GET"; + _requests[1252].Request.Path = "/subscriptions/167ca4c9-3672-/resourceGroups/1441208e-c8b9-4ff/providers/Microsoft.Logic/integrationAccounts"; + _requests[1253] = new DefaultHttpContext(); + _requests[1253].RequestServices = CreateServices(); + _requests[1253].Request.Method = "GET"; + _requests[1253].Request.Path = "/subscriptions/e4178fb4-e27c-/resourceGroups/89656195-ef36-4f5/providers/Microsoft.Logic/workflows"; + _requests[1254] = new DefaultHttpContext(); + _requests[1254].RequestServices = CreateServices(); + _requests[1254].Request.Method = "GET"; + _requests[1254].Request.Path = "/subscriptions/574591eb-2596-/resourceGroups/29936e07-0722-441/providers/Microsoft.MachineLearning/commitmentPlans"; + _requests[1255] = new DefaultHttpContext(); + _requests[1255].RequestServices = CreateServices(); + _requests[1255].Request.Method = "GET"; + _requests[1255].Request.Path = "/subscriptions/a2ded099-7019-/resourceGroups/385f4561-7c09-476/providers/Microsoft.MachineLearning/webServices"; + _requests[1256] = new DefaultHttpContext(); + _requests[1256].RequestServices = CreateServices(); + _requests[1256].Request.Method = "GET"; + _requests[1256].Request.Path = "/subscriptions/7d449075-0295-/resourceGroups/d0620f6a-25e6-4d3/providers/Microsoft.MachineLearning/workspaces"; + _requests[1257] = new DefaultHttpContext(); + _requests[1257].RequestServices = CreateServices(); + _requests[1257].Request.Method = "GET"; + _requests[1257].Request.Path = "/subscriptions/76e0f487-693c-/resourceGroups/18b6b5e0-5b5f-446/providers/Microsoft.MachineLearningCompute/operationalizationClusters"; + _requests[1258] = new DefaultHttpContext(); + _requests[1258].RequestServices = CreateServices(); + _requests[1258].Request.Method = "GET"; + _requests[1258].Request.Path = "/subscriptions/37dee06d-c936-/resourceGroups/e2ff6a5a-c3d2-4a8/providers/Microsoft.MachineLearningExperimentation/accounts"; + _requests[1259] = new DefaultHttpContext(); + _requests[1259].RequestServices = CreateServices(); + _requests[1259].Request.Method = "GET"; + _requests[1259].Request.Path = "/subscriptions/637e3eca-27e3-/resourceGroups/c9c20681-a00b-4f3/providers/Microsoft.MachineLearningServices/workspaces"; + _requests[1260] = new DefaultHttpContext(); + _requests[1260].RequestServices = CreateServices(); + _requests[1260].Request.Method = "GET"; + _requests[1260].Request.Path = "/subscriptions/39e98be4-1048-/resourceGroups/3e9694f2-9201-4a5/providers/Microsoft.ManagedIdentity/userAssignedIdentities"; + _requests[1261] = new DefaultHttpContext(); + _requests[1261].RequestServices = CreateServices(); + _requests[1261].Request.Method = "GET"; + _requests[1261].Request.Path = "/subscriptions/78e39128-ec4c-/resourceGroups/1b1899e6-ef07-428/providers/Microsoft.Maps/accounts"; + _requests[1262] = new DefaultHttpContext(); + _requests[1262].RequestServices = CreateServices(); + _requests[1262].Request.Method = "GET"; + _requests[1262].Request.Path = "/subscriptions/2d3afae5-7f23-/resourceGroups/6f322b80-a914-4a9/providers/Microsoft.Media/mediaservices"; + _requests[1263] = new DefaultHttpContext(); + _requests[1263].RequestServices = CreateServices(); + _requests[1263].Request.Method = "GET"; + _requests[1263].Request.Path = "/subscriptions/3d2963ff-8480-/resourcegroups/cf6ae158-e5af-4a5/providers/Microsoft.Migrate/projects"; + _requests[1264] = new DefaultHttpContext(); + _requests[1264].RequestServices = CreateServices(); + _requests[1264].Request.Method = "GET"; + _requests[1264].Request.Path = "/subscriptions/e4c08a77-0247-/resourceGroups/37743bb1-3f9f-49b/providers/Microsoft.Network/applicationGateways"; + _requests[1265] = new DefaultHttpContext(); + _requests[1265].RequestServices = CreateServices(); + _requests[1265].Request.Method = "GET"; + _requests[1265].Request.Path = "/subscriptions/bf33695a-38d4-/resourceGroups/35fbaf39-68a4-4c0/providers/Microsoft.Network/applicationSecurityGroups"; + _requests[1266] = new DefaultHttpContext(); + _requests[1266].RequestServices = CreateServices(); + _requests[1266].Request.Method = "GET"; + _requests[1266].Request.Path = "/subscriptions/5501a4cd-ba43-/resourceGroups/c2c3ae77-7b2b-4a8/providers/Microsoft.Network/connections"; + _requests[1267] = new DefaultHttpContext(); + _requests[1267].RequestServices = CreateServices(); + _requests[1267].Request.Method = "GET"; + _requests[1267].Request.Path = "/subscriptions/f3c38994-3875-/resourceGroups/7850c9c0-cb7b-4bf/providers/Microsoft.Network/ddosProtectionPlans"; + _requests[1268] = new DefaultHttpContext(); + _requests[1268].RequestServices = CreateServices(); + _requests[1268].Request.Method = "GET"; + _requests[1268].Request.Path = "/subscriptions/9418d858-647f-/resourceGroups/18b82e96-92b2-4ea/providers/Microsoft.Network/dnsZones"; + _requests[1269] = new DefaultHttpContext(); + _requests[1269].RequestServices = CreateServices(); + _requests[1269].Request.Method = "GET"; + _requests[1269].Request.Path = "/subscriptions/23b006b0-81bb-/resourceGroups/6ecd10ac-9875-413/providers/Microsoft.Network/expressRouteCircuits"; + _requests[1270] = new DefaultHttpContext(); + _requests[1270].RequestServices = CreateServices(); + _requests[1270].Request.Method = "GET"; + _requests[1270].Request.Path = "/subscriptions/76e4bcf5-5e74-/resourceGroups/8fa2a50c-d609-4f7/providers/Microsoft.Network/expressRouteCrossConnections"; + _requests[1271] = new DefaultHttpContext(); + _requests[1271].RequestServices = CreateServices(); + _requests[1271].Request.Method = "GET"; + _requests[1271].Request.Path = "/subscriptions/e2da5504-2c5b-/resourceGroups/bedca001-d183-4a9/providers/Microsoft.Network/loadBalancers"; + _requests[1272] = new DefaultHttpContext(); + _requests[1272].RequestServices = CreateServices(); + _requests[1272].Request.Method = "GET"; + _requests[1272].Request.Path = "/subscriptions/0e946a5a-bddc-/resourceGroups/d4a03e81-929c-49f/providers/Microsoft.Network/localNetworkGateways"; + _requests[1273] = new DefaultHttpContext(); + _requests[1273].RequestServices = CreateServices(); + _requests[1273].Request.Method = "GET"; + _requests[1273].Request.Path = "/subscriptions/0a938dd9-a4b5-/resourceGroups/da2af416-93f1-478/providers/Microsoft.Network/networkInterfaces"; + _requests[1274] = new DefaultHttpContext(); + _requests[1274].RequestServices = CreateServices(); + _requests[1274].Request.Method = "GET"; + _requests[1274].Request.Path = "/subscriptions/006749ed-a012-/resourceGroups/3673aedf-2b78-49a/providers/Microsoft.Network/networkSecurityGroups"; + _requests[1275] = new DefaultHttpContext(); + _requests[1275].RequestServices = CreateServices(); + _requests[1275].Request.Method = "GET"; + _requests[1275].Request.Path = "/subscriptions/8896ef10-e4cc-/resourceGroups/58b5c66b-dc05-49a/providers/Microsoft.Network/networkWatchers"; + _requests[1276] = new DefaultHttpContext(); + _requests[1276].RequestServices = CreateServices(); + _requests[1276].Request.Method = "GET"; + _requests[1276].Request.Path = "/subscriptions/d1f03bc5-d92d-/resourceGroups/e82c5fa2-578b-48c/providers/Microsoft.Network/publicIPAddresses"; + _requests[1277] = new DefaultHttpContext(); + _requests[1277].RequestServices = CreateServices(); + _requests[1277].Request.Method = "GET"; + _requests[1277].Request.Path = "/subscriptions/c6479086-8d2b-/resourceGroups/0c200e0f-7dcb-42e/providers/Microsoft.Network/routeFilters"; + _requests[1278] = new DefaultHttpContext(); + _requests[1278].RequestServices = CreateServices(); + _requests[1278].Request.Method = "GET"; + _requests[1278].Request.Path = "/subscriptions/98cff5d0-b407-/resourceGroups/66422938-b32b-4c2/providers/Microsoft.Network/routeTables"; + _requests[1279] = new DefaultHttpContext(); + _requests[1279].RequestServices = CreateServices(); + _requests[1279].Request.Method = "GET"; + _requests[1279].Request.Path = "/subscriptions/e2f9015f-2c64-/resourceGroups/33d1d8ea-a273-46f/providers/Microsoft.Network/trafficmanagerprofiles"; + _requests[1280] = new DefaultHttpContext(); + _requests[1280].RequestServices = CreateServices(); + _requests[1280].Request.Method = "GET"; + _requests[1280].Request.Path = "/subscriptions/8afc8d57-fc63-/resourceGroups/ec0ffa3f-c8bb-48a/providers/Microsoft.Network/virtualNetworkGateways"; + _requests[1281] = new DefaultHttpContext(); + _requests[1281].RequestServices = CreateServices(); + _requests[1281].Request.Method = "GET"; + _requests[1281].Request.Path = "/subscriptions/2b4bf9b6-2a64-/resourceGroups/5f0246e3-efef-487/providers/Microsoft.Network/virtualNetworks"; + _requests[1282] = new DefaultHttpContext(); + _requests[1282].RequestServices = CreateServices(); + _requests[1282].Request.Method = "GET"; + _requests[1282].Request.Path = "/subscriptions/8525363a-914b-/resourceGroups/c8792e1d-c845-416/providers/Microsoft.NotificationHubs/namespaces"; + _requests[1283] = new DefaultHttpContext(); + _requests[1283].RequestServices = CreateServices(); + _requests[1283].Request.Method = "GET"; + _requests[1283].Request.Path = "/subscriptions/4616fc74-97c1-/resourcegroups/96ccfe5e-ec73-46f/providers/Microsoft.OperationalInsights/workspaces"; + _requests[1284] = new DefaultHttpContext(); + _requests[1284].RequestServices = CreateServices(); + _requests[1284].Request.Method = "GET"; + _requests[1284].Request.Path = "/subscriptions/58dcfb4f-f140-/resourcegroups/09ac8467-352a-4fb/providers/Microsoft.OperationsManagement/solutions"; + _requests[1285] = new DefaultHttpContext(); + _requests[1285].RequestServices = CreateServices(); + _requests[1285].Request.Method = "GET"; + _requests[1285].Request.Path = "/subscriptions/7249362d-6103-/resourceGroups/0399ea3f-f37f-497/providers/Microsoft.PowerBI/workspaceCollections"; + _requests[1286] = new DefaultHttpContext(); + _requests[1286].RequestServices = CreateServices(); + _requests[1286].Request.Method = "GET"; + _requests[1286].Request.Path = "/subscriptions/b6bd2100-af0a-/resourceGroups/eb2e32fc-e0e3-48f/providers/Microsoft.PowerBIDedicated/capacities"; + _requests[1287] = new DefaultHttpContext(); + _requests[1287].RequestServices = CreateServices(); + _requests[1287].Request.Method = "GET"; + _requests[1287].Request.Path = "/Subscriptions/f065de3b-03dd-/resourceGroups/a14115d9-ea8b-48d/providers/Microsoft.RecoveryServices/operations"; + _requests[1288] = new DefaultHttpContext(); + _requests[1288].RequestServices = CreateServices(); + _requests[1288].Request.Method = "GET"; + _requests[1288].Request.Path = "/subscriptions/b42eb485-ffd9-/resourceGroups/1446cb59-c069-4c9/providers/Microsoft.RecoveryServices/vaults"; + _requests[1289] = new DefaultHttpContext(); + _requests[1289].RequestServices = CreateServices(); + _requests[1289].Request.Method = "GET"; + _requests[1289].Request.Path = "/subscriptions/f4fc6481-71a3-/resourceGroups/6980e77f-9869-46e/providers/Microsoft.Relay/namespaces"; + _requests[1290] = new DefaultHttpContext(); + _requests[1290].RequestServices = CreateServices(); + _requests[1290].Request.Method = "GET"; + _requests[1290].Request.Path = "/subscriptions/9c794e72-b87c-/resourceGroups/bd3327ac-a2ff-4d4/providers/Microsoft.ResourceHealth/availabilityStatuses"; + _requests[1291] = new DefaultHttpContext(); + _requests[1291].RequestServices = CreateServices(); + _requests[1291].Request.Method = "GET"; + _requests[1291].Request.Path = "/subscriptions/4c8562af-ed4b-/resourcegroups/e52e19d2-aed6-4a7/providers/Microsoft.Resources/deployments"; + _requests[1292] = new DefaultHttpContext(); + _requests[1292].RequestServices = CreateServices(); + _requests[1292].Request.Method = "GET"; + _requests[1292].Request.Path = "/subscriptions/602e2b10-332f-/resourceGroups/fe868954-c4a6-4a3/providers/Microsoft.Scheduler/jobCollections"; + _requests[1293] = new DefaultHttpContext(); + _requests[1293].RequestServices = CreateServices(); + _requests[1293].Request.Method = "GET"; + _requests[1293].Request.Path = "/subscriptions/48613778-0015-/resourceGroups/b1370d9b-bd40-48c/providers/Microsoft.Search/searchServices"; + _requests[1294] = new DefaultHttpContext(); + _requests[1294].RequestServices = CreateServices(); + _requests[1294].Request.Method = "GET"; + _requests[1294].Request.Path = "/subscriptions/ac195450-c529-/resourceGroups/4f9db8ed-98fd-475/providers/Microsoft.Security/alerts"; + _requests[1295] = new DefaultHttpContext(); + _requests[1295].RequestServices = CreateServices(); + _requests[1295].Request.Method = "GET"; + _requests[1295].Request.Path = "/subscriptions/c54b1ec6-3054-/resourceGroups/381abc28-e2e4-417/providers/Microsoft.Security/jitNetworkAccessPolicies"; + _requests[1296] = new DefaultHttpContext(); + _requests[1296].RequestServices = CreateServices(); + _requests[1296].Request.Method = "GET"; + _requests[1296].Request.Path = "/subscriptions/4dbf7447-55aa-/resourceGroups/be8d3997-5dfc-438/providers/Microsoft.Security/pricings"; + _requests[1297] = new DefaultHttpContext(); + _requests[1297].RequestServices = CreateServices(); + _requests[1297].Request.Method = "GET"; + _requests[1297].Request.Path = "/subscriptions/81669e61-441f-/resourceGroups/7f0da9e6-3942-47b/providers/Microsoft.Security/securityContacts"; + _requests[1298] = new DefaultHttpContext(); + _requests[1298].RequestServices = CreateServices(); + _requests[1298].Request.Method = "GET"; + _requests[1298].Request.Path = "/subscriptions/3f62fd31-3004-/resourceGroups/66497d83-93af-4b8/providers/Microsoft.Security/workspaceSettings"; + _requests[1299] = new DefaultHttpContext(); + _requests[1299].RequestServices = CreateServices(); + _requests[1299].Request.Method = "GET"; + _requests[1299].Request.Path = "/subscriptions/dc9aa27e-04bd-/resourceGroups/c0f408c4-976c-4b8/providers/Microsoft.ServerManagement/gateways"; + _requests[1300] = new DefaultHttpContext(); + _requests[1300].RequestServices = CreateServices(); + _requests[1300].Request.Method = "GET"; + _requests[1300].Request.Path = "/subscriptions/108655ea-f84f-/resourceGroups/a998b2fc-e7d9-4f5/providers/Microsoft.ServerManagement/nodes"; + _requests[1301] = new DefaultHttpContext(); + _requests[1301].RequestServices = CreateServices(); + _requests[1301].Request.Method = "GET"; + _requests[1301].Request.Path = "/subscriptions/0bd197e4-0f70-/resourceGroups/b3a683df-34cf-427/providers/Microsoft.ServiceBus/namespaces"; + _requests[1302] = new DefaultHttpContext(); + _requests[1302].RequestServices = CreateServices(); + _requests[1302].Request.Method = "GET"; + _requests[1302].Request.Path = "/subscriptions/e0a8ee49-f819-/resourcegroups/30a5a6ce-e45e-4c0/providers/Microsoft.ServiceFabric/clusters"; + _requests[1303] = new DefaultHttpContext(); + _requests[1303].RequestServices = CreateServices(); + _requests[1303].Request.Method = "GET"; + _requests[1303].Request.Path = "/subscriptions/3859e0d2-dc4c-/resourceGroups/0888d931-8fba-437/providers/Microsoft.SignalRService/SignalR"; + _requests[1304] = new DefaultHttpContext(); + _requests[1304].RequestServices = CreateServices(); + _requests[1304].Request.Method = "GET"; + _requests[1304].Request.Path = "/subscriptions/1d95cbb9-e24a-/resourceGroups/ed25ee12-c091-47d/providers/Microsoft.Solutions/applianceDefinitions"; + _requests[1305] = new DefaultHttpContext(); + _requests[1305].RequestServices = CreateServices(); + _requests[1305].Request.Method = "GET"; + _requests[1305].Request.Path = "/subscriptions/4ef441c7-ccde-/resourceGroups/8bdc45b2-2b53-411/providers/Microsoft.Solutions/appliances"; + _requests[1306] = new DefaultHttpContext(); + _requests[1306].RequestServices = CreateServices(); + _requests[1306].Request.Method = "GET"; + _requests[1306].Request.Path = "/subscriptions/960e5c7c-3d45-/resourceGroups/6196ced3-c339-42c/providers/Microsoft.Solutions/applicationDefinitions"; + _requests[1307] = new DefaultHttpContext(); + _requests[1307].RequestServices = CreateServices(); + _requests[1307].Request.Method = "GET"; + _requests[1307].Request.Path = "/subscriptions/ee1d9e98-f02b-/resourceGroups/208941c0-377a-4e2/providers/Microsoft.Solutions/applications"; + _requests[1308] = new DefaultHttpContext(); + _requests[1308].RequestServices = CreateServices(); + _requests[1308].Request.Method = "GET"; + _requests[1308].Request.Path = "/subscriptions/fd850ce4-6f1a-/resourceGroups/54492495-f64b-47a/providers/Microsoft.Sql/managedInstances"; + _requests[1309] = new DefaultHttpContext(); + _requests[1309].RequestServices = CreateServices(); + _requests[1309].Request.Method = "GET"; + _requests[1309].Request.Path = "/subscriptions/7858eadb-4005-/resourceGroups/31d0c12f-fcfb-49a/providers/Microsoft.Sql/servers"; + _requests[1310] = new DefaultHttpContext(); + _requests[1310].RequestServices = CreateServices(); + _requests[1310].Request.Method = "GET"; + _requests[1310].Request.Path = "/subscriptions/79ef7c72-1050-/resourcegroups/3810870f-6103-455/providers/Microsoft.Storage.Admin/farms"; + _requests[1311] = new DefaultHttpContext(); + _requests[1311].RequestServices = CreateServices(); + _requests[1311].Request.Method = "GET"; + _requests[1311].Request.Path = "/subscriptions/27220928-227f-/resourceGroups/865dda6d-2523-477/providers/Microsoft.Storage/storageAccounts"; + _requests[1312] = new DefaultHttpContext(); + _requests[1312].RequestServices = CreateServices(); + _requests[1312].Request.Method = "GET"; + _requests[1312].Request.Path = "/subscriptions/59e1b819-7861-/resourceGroups/fc358a33-5955-466/providers/Microsoft.StorSimple/managers"; + _requests[1313] = new DefaultHttpContext(); + _requests[1313].RequestServices = CreateServices(); + _requests[1313].Request.Method = "GET"; + _requests[1313].Request.Path = "/subscriptions/4873365c-5102-/resourcegroups/a2b2baff-7111-407/providers/Microsoft.StreamAnalytics/streamingjobs"; + _requests[1314] = new DefaultHttpContext(); + _requests[1314].RequestServices = CreateServices(); + _requests[1314].Request.Method = "GET"; + _requests[1314].Request.Path = "/subscriptions/ee53c771-c767-/resourcegroups/61d9e16f-cf1e-400/providers/Microsoft.Subscriptions.Admin/directoryTenants"; + _requests[1315] = new DefaultHttpContext(); + _requests[1315].RequestServices = CreateServices(); + _requests[1315].Request.Method = "GET"; + _requests[1315].Request.Path = "/subscriptions/a7d7512d-1d1a-/resourcegroups/cf9c2748-284c-4d8/providers/Microsoft.Subscriptions.Admin/offers"; + _requests[1316] = new DefaultHttpContext(); + _requests[1316].RequestServices = CreateServices(); + _requests[1316].Request.Method = "GET"; + _requests[1316].Request.Path = "/subscriptions/4d21c24b-e0ad-/resourcegroups/030982b7-4052-4dd/providers/Microsoft.Subscriptions.Admin/plans"; + _requests[1317] = new DefaultHttpContext(); + _requests[1317].RequestServices = CreateServices(); + _requests[1317].Request.Method = "GET"; + _requests[1317].Request.Path = "/subscriptions/7482b29e-eece-/resourceGroups/c0ac6df9-9352-42b/providers/Microsoft.TimeSeriesInsights/environments"; + _requests[1318] = new DefaultHttpContext(); + _requests[1318].RequestServices = CreateServices(); + _requests[1318].Request.Method = "GET"; + _requests[1318].Request.Path = "/subscriptions/afd6d3cd-6443-/resourcegroups/26f0dfa0-6518-47c/providers/Microsoft.Update.Admin/updateLocations"; + _requests[1319] = new DefaultHttpContext(); + _requests[1319].RequestServices = CreateServices(); + _requests[1319].Request.Method = "GET"; + _requests[1319].Request.Path = "/subscriptions/43b6e6e2-e5f1-/resourcegroups/243aa268-da70-4d8/providers/microsoft.visualstudio/account"; + _requests[1320] = new DefaultHttpContext(); + _requests[1320].RequestServices = CreateServices(); + _requests[1320].Request.Method = "GET"; + _requests[1320].Request.Path = "/subscriptions/46edd6ff-44df-/resourceGroups/2657f165-ead9-4d0/providers/Microsoft.Web/certificates"; + _requests[1321] = new DefaultHttpContext(); + _requests[1321].RequestServices = CreateServices(); + _requests[1321].Request.Method = "GET"; + _requests[1321].Request.Path = "/subscriptions/e5ff3182-5ac0-/resourceGroups/f67b7f2f-4c31-4f1/providers/Microsoft.Web/classicMobileServices"; + _requests[1322] = new DefaultHttpContext(); + _requests[1322].RequestServices = CreateServices(); + _requests[1322].Request.Method = "GET"; + _requests[1322].Request.Path = "/subscriptions/56de45a9-cc5f-/resourceGroups/fbcf6988-f3e6-493/providers/Microsoft.Web/connectionGateways"; + _requests[1323] = new DefaultHttpContext(); + _requests[1323].RequestServices = CreateServices(); + _requests[1323].Request.Method = "GET"; + _requests[1323].Request.Path = "/subscriptions/6ff9483d-7538-/resourceGroups/d2533740-a424-493/providers/Microsoft.Web/connections"; + _requests[1324] = new DefaultHttpContext(); + _requests[1324].RequestServices = CreateServices(); + _requests[1324].Request.Method = "GET"; + _requests[1324].Request.Path = "/subscriptions/f2faab0c-4485-/resourceGroups/ff77b4ad-016a-4c2/providers/Microsoft.Web/csrs"; + _requests[1325] = new DefaultHttpContext(); + _requests[1325].RequestServices = CreateServices(); + _requests[1325].Request.Method = "GET"; + _requests[1325].Request.Path = "/subscriptions/a51b750c-99a9-/resourceGroups/792b88b7-0312-4d4/providers/Microsoft.Web/customApis"; + _requests[1326] = new DefaultHttpContext(); + _requests[1326].RequestServices = CreateServices(); + _requests[1326].Request.Method = "GET"; + _requests[1326].Request.Path = "/subscriptions/6246aa04-9b46-/resourceGroups/e82ad96d-9fe4-496/providers/Microsoft.Web/deletedSites"; + _requests[1327] = new DefaultHttpContext(); + _requests[1327].RequestServices = CreateServices(); + _requests[1327].Request.Method = "GET"; + _requests[1327].Request.Path = "/subscriptions/3e2db9cb-fbf0-/resourceGroups/b46dc0cb-4152-4b6/providers/Microsoft.Web/hostingEnvironments"; + _requests[1328] = new DefaultHttpContext(); + _requests[1328].RequestServices = CreateServices(); + _requests[1328].Request.Method = "GET"; + _requests[1328].Request.Path = "/subscriptions/7e41cf48-4ff1-/resourceGroups/6aa56f8f-5485-499/providers/Microsoft.Web/managedHostingEnvironments"; + _requests[1329] = new DefaultHttpContext(); + _requests[1329].RequestServices = CreateServices(); + _requests[1329].Request.Method = "GET"; + _requests[1329].Request.Path = "/subscriptions/50a9f1dd-889b-/resourceGroups/6a5cdaa5-fe4f-426/providers/Microsoft.Web/resourceHealthMetadata"; + _requests[1330] = new DefaultHttpContext(); + _requests[1330].RequestServices = CreateServices(); + _requests[1330].Request.Method = "GET"; + _requests[1330].Request.Path = "/subscriptions/da38d786-ab2e-/resourceGroups/4236e614-9801-43a/providers/Microsoft.Web/serverfarms"; + _requests[1331] = new DefaultHttpContext(); + _requests[1331].RequestServices = CreateServices(); + _requests[1331].Request.Method = "GET"; + _requests[1331].Request.Path = "/subscriptions/faca8af9-eadb-/resourceGroups/90480097-2a5f-4f8/providers/Microsoft.Web/sites"; + _requests[1332] = new DefaultHttpContext(); + _requests[1332].RequestServices = CreateServices(); + _requests[1332].Request.Method = "POST"; + _requests[1332].Request.Path = "/subscriptions/7a3defbe-7b0b-/resourceGroups/d674498d-fdac-42b/providers/Microsoft.Web/validate"; + _requests[1333] = new DefaultHttpContext(); + _requests[1333].RequestServices = CreateServices(); + _requests[1333].Request.Method = "POST"; + _requests[1333].Request.Path = "/subscriptions/75a9ec55-74ea-/resourceGroups/2ed0db4d-bde1-4ff/providers/Microsoft.BotService/BotServices/listServiceProviders"; + _requests[1334] = new DefaultHttpContext(); + _requests[1334].RequestServices = CreateServices(); + _requests[1334].Request.Method = "PATCH"; + _requests[1334].Request.Path = "/subscriptions/3ab88d53-e4ee-/resourceGroup/f7fad144-70cf-48b/providers/microsoft.insights/workbooks/f2930a94-e97"; + _requests[1335] = new DefaultHttpContext(); + _requests[1335].RequestServices = CreateServices(); + _requests[1335].Request.Method = "PATCH"; + _requests[1335].Request.Path = "/subscriptions/0861f6cc-1abb-/resourceGroups/b00107ee-/providers/Microsoft.DataMigration/services/29a10dd4-08"; + _requests[1336] = new DefaultHttpContext(); + _requests[1336].RequestServices = CreateServices(); + _requests[1336].Request.Method = "DELETE"; + _requests[1336].Request.Path = "/subscriptions/3a925bc0-2398-/resourcegroups/a25c1afd-9404/providers/Microsoft.AzureBridge.Admin/activations/d40f2bf2-b2d2-"; + _requests[1337] = new DefaultHttpContext(); + _requests[1337].RequestServices = CreateServices(); + _requests[1337].Request.Method = "PUT"; + _requests[1337].Request.Path = "/subscriptions/40daddee-0136-/resourceGroups/351d330c-3de5/providers/Microsoft.AzureStack/registrations/6523d045-1be3-42"; + _requests[1338] = new DefaultHttpContext(); + _requests[1338].RequestServices = CreateServices(); + _requests[1338].Request.Method = "PATCH"; + _requests[1338].Request.Path = "/subscriptions/a131f6c6-4b5b-/resourceGroups/44ebe978-086b-437/providers/Microsoft.AAD/domainServices/fa2df088-21a4-4c1"; + _requests[1339] = new DefaultHttpContext(); + _requests[1339].RequestServices = CreateServices(); + _requests[1339].Request.Method = "PATCH"; + _requests[1339].Request.Path = "/subscriptions/56536728-d0d4-/resourceGroups/64683739-bdf4-42e/providers/Microsoft.AnalysisServices/servers/13f685a8-5"; + _requests[1340] = new DefaultHttpContext(); + _requests[1340].RequestServices = CreateServices(); + _requests[1340].Request.Method = "DELETE"; + _requests[1340].Request.Path = "/subscriptions/5a1e5fc3-b11b-/resourceGroups/e2b88c21-89cd-441/providers/Microsoft.ApiManagement/service/26456f4d-ae"; + _requests[1341] = new DefaultHttpContext(); + _requests[1341].RequestServices = CreateServices(); + _requests[1341].Request.Method = "GET"; + _requests[1341].Request.Path = "/subscriptions/ba6ef263-fced-/resourceGroups/a64d4c31-e30d-49f/providers/Microsoft.Authorization/locks/242169ed"; + _requests[1342] = new DefaultHttpContext(); + _requests[1342].RequestServices = CreateServices(); + _requests[1342].Request.Method = "GET"; + _requests[1342].Request.Path = "/subscriptions/9f65b1ae-fc83-/resourceGroups/1f94a89c-6ec0-452/providers/Microsoft.Automation/automationAccounts/69c9a5d1-b70c-45b2-8f"; + _requests[1343] = new DefaultHttpContext(); + _requests[1343].RequestServices = CreateServices(); + _requests[1343].Request.Method = "PUT"; + _requests[1343].Request.Path = "/subscriptions/1e3a817d-a644-/resourcegroups/640d85fd-0c6f-489/providers/Microsoft.Backup.Admin/backupLocations/181ae94f"; + _requests[1344] = new DefaultHttpContext(); + _requests[1344].RequestServices = CreateServices(); + _requests[1344].Request.Method = "GET"; + _requests[1344].Request.Path = "/subscriptions/f167f783-c056-/resourceGroups/1b970a6e-dea8-460/providers/Microsoft.Batch/batchAccounts/6089a6d1-db"; + _requests[1345] = new DefaultHttpContext(); + _requests[1345].RequestServices = CreateServices(); + _requests[1345].Request.Method = "GET"; + _requests[1345].Request.Path = "/subscriptions/b7e16b54-b8e7-/resourceGroups/c32ba33e-5e3a-4e5/providers/Microsoft.BatchAI/clusters/f9e3024d-a5"; + _requests[1346] = new DefaultHttpContext(); + _requests[1346].RequestServices = CreateServices(); + _requests[1346].Request.Method = "GET"; + _requests[1346].Request.Path = "/subscriptions/12fb909b-5013-/resourceGroups/4ab56901-e16a-440/providers/Microsoft.BatchAI/fileServers/69bf1072-85d2-"; + _requests[1347] = new DefaultHttpContext(); + _requests[1347].RequestServices = CreateServices(); + _requests[1347].Request.Method = "GET"; + _requests[1347].Request.Path = "/subscriptions/0fa8901f-f6a0-/resourceGroups/0d1e537a-fdd6-4cd/providers/Microsoft.BatchAI/jobs/a8f4439"; + _requests[1348] = new DefaultHttpContext(); + _requests[1348].RequestServices = CreateServices(); + _requests[1348].Request.Method = "GET"; + _requests[1348].Request.Path = "/subscriptions/791e84eb-2630-/resourceGroups/68b99ebb-393f-4ba/providers/Microsoft.BatchAI/workspaces/97cf620a-d521"; + _requests[1349] = new DefaultHttpContext(); + _requests[1349].RequestServices = CreateServices(); + _requests[1349].Request.Method = "GET"; + _requests[1349].Request.Path = "/subscriptions/4deb81b7-9410-/resourceGroups/b72f1c59-990a-491/providers/Microsoft.BotService/botServices/c494bc01-a5b"; + _requests[1350] = new DefaultHttpContext(); + _requests[1350].RequestServices = CreateServices(); + _requests[1350].Request.Method = "GET"; + _requests[1350].Request.Path = "/subscriptions/838c8f90-33a4-/resourceGroups/59cb6668-45e9-4d0/providers/Microsoft.Cache/Redis/b0e49"; + _requests[1351] = new DefaultHttpContext(); + _requests[1351].RequestServices = CreateServices(); + _requests[1351].Request.Method = "DELETE"; + _requests[1351].Request.Path = "/subscriptions/41d8d0f5-1650-/resourceGroups/86dc3c2f-cd8b-435/providers/Microsoft.Cdn/profiles/07f850d8-cc"; + _requests[1352] = new DefaultHttpContext(); + _requests[1352].RequestServices = CreateServices(); + _requests[1352].Request.Method = "PATCH"; + _requests[1352].Request.Path = "/subscriptions/c2745dd2-b610-/resourceGroups/77ef005e-2239-427/providers/Microsoft.CertificateRegistration/certificateOrders/28218"; + _requests[1353] = new DefaultHttpContext(); + _requests[1353].RequestServices = CreateServices(); + _requests[1353].Request.Method = "GET"; + _requests[1353].Request.Path = "/subscriptions/c73a1046-57f0-/resourceGroups/b29283ec-b3b1-40d/providers/Microsoft.CognitiveServices/accounts/d7bd875d-bd"; + _requests[1354] = new DefaultHttpContext(); + _requests[1354].RequestServices = CreateServices(); + _requests[1354].Request.Method = "GET"; + _requests[1354].Request.Path = "/subscriptions/3fe24fb6-d76b-/resourceGroups/9e62d78d-072c-4bc/providers/Microsoft.Compute/availabilitySets/da1cdd62-4886-4105-"; + _requests[1355] = new DefaultHttpContext(); + _requests[1355].RequestServices = CreateServices(); + _requests[1355].Request.Method = "DELETE"; + _requests[1355].Request.Path = "/subscriptions/2e34ef2b-895b-/resourceGroups/4bb48601-ae53-41f/providers/Microsoft.Compute/disks/fcbac7a5"; + _requests[1356] = new DefaultHttpContext(); + _requests[1356].RequestServices = CreateServices(); + _requests[1356].Request.Method = "DELETE"; + _requests[1356].Request.Path = "/subscriptions/6627569d-0561-/resourceGroups/dd427210-771b-442/providers/Microsoft.Compute/galleries/4a058edf-da"; + _requests[1357] = new DefaultHttpContext(); + _requests[1357].RequestServices = CreateServices(); + _requests[1357].Request.Method = "GET"; + _requests[1357].Request.Path = "/subscriptions/6c7b8a40-bedb-/resourceGroups/f4e58237-fb98-49b/providers/Microsoft.Compute/images/c6d952b7-"; + _requests[1358] = new DefaultHttpContext(); + _requests[1358].RequestServices = CreateServices(); + _requests[1358].Request.Method = "DELETE"; + _requests[1358].Request.Path = "/subscriptions/05726b70-04a7-/resourceGroups/74b22219-bf43-460/providers/Microsoft.Compute/snapshots/7347a895-dec"; + _requests[1359] = new DefaultHttpContext(); + _requests[1359].RequestServices = CreateServices(); + _requests[1359].Request.Method = "GET"; + _requests[1359].Request.Path = "/subscriptions/cfb1dc9a-95d4-/resourceGroups/cfb8539d-9936-46e/providers/Microsoft.Compute/virtualMachines/a64b75"; + _requests[1360] = new DefaultHttpContext(); + _requests[1360].RequestServices = CreateServices(); + _requests[1360].Request.Method = "GET"; + _requests[1360].Request.Path = "/subscriptions/a4a8e0c0-0c54-/resourceGroups/a5bd0c15-789f-425/providers/Microsoft.Compute/virtualMachineScaleSets/535361ce-c7e7-"; + _requests[1361] = new DefaultHttpContext(); + _requests[1361].RequestServices = CreateServices(); + _requests[1361].Request.Method = "DELETE"; + _requests[1361].Request.Path = "/subscriptions/dae05721-f7fe-/resourceGroups/72b2d39c-3566-46d/providers/Microsoft.Consumption/budgets/008ee7d3-b"; + _requests[1362] = new DefaultHttpContext(); + _requests[1362].RequestServices = CreateServices(); + _requests[1362].Request.Method = "DELETE"; + _requests[1362].Request.Path = "/subscriptions/9ac014ac-a4f0-/resourceGroups/ba40bf1d-1e29-4bd/providers/Microsoft.ContainerInstance/containerGroups/ba3852af-7378-4e51"; + _requests[1363] = new DefaultHttpContext(); + _requests[1363].RequestServices = CreateServices(); + _requests[1363].Request.Method = "PATCH"; + _requests[1363].Request.Path = "/subscriptions/8c1c3efa-1b59-/resourceGroups/c5534a39-5385-4fa/providers/Microsoft.ContainerRegistry/registries/84aee8bf-068"; + _requests[1364] = new DefaultHttpContext(); + _requests[1364].RequestServices = CreateServices(); + _requests[1364].Request.Method = "DELETE"; + _requests[1364].Request.Path = "/subscriptions/602f6013-00f5-/resourceGroups/3fdfa9ec-6c07-437/providers/Microsoft.ContainerService/containerServices/67f000bd-4ff2-43de-b"; + _requests[1365] = new DefaultHttpContext(); + _requests[1365].RequestServices = CreateServices(); + _requests[1365].Request.Method = "DELETE"; + _requests[1365].Request.Path = "/subscriptions/069984d5-5501-/resourceGroups/77756d6f-1cb2-40b/providers/Microsoft.ContainerService/managedClusters/9e0aba87-8d7"; + _requests[1366] = new DefaultHttpContext(); + _requests[1366].RequestServices = CreateServices(); + _requests[1366].Request.Method = "GET"; + _requests[1366].Request.Path = "/subscriptions/7d029d0f-df7c-/resourceGroups/f109bd73-02fb-447/providers/Microsoft.CustomerInsights/hubs/64129f9"; + _requests[1367] = new DefaultHttpContext(); + _requests[1367].RequestServices = CreateServices(); + _requests[1367].Request.Method = "PATCH"; + _requests[1367].Request.Path = "/subscriptions/4e0f3c17-0dac-/resourceGroups/5571fd88-f472-408/providers/Microsoft.DataBox/jobs/e56db5e"; + _requests[1368] = new DefaultHttpContext(); + _requests[1368].RequestServices = CreateServices(); + _requests[1368].Request.Method = "PATCH"; + _requests[1368].Request.Path = "/subscriptions/bf5c2ad2-cc53-/resourceGroups/aa79b34f-f052-4b4/providers/Microsoft.Databricks/workspaces/4252970d-6c10"; + _requests[1369] = new DefaultHttpContext(); + _requests[1369].RequestServices = CreateServices(); + _requests[1369].Request.Method = "PATCH"; + _requests[1369].Request.Path = "/subscriptions/a469ed0d-e29b-/resourceGroups/bde50cd6-cd8e-4bb/providers/Microsoft.DataCatalog/catalogs/0f90c507-ab"; + _requests[1370] = new DefaultHttpContext(); + _requests[1370].RequestServices = CreateServices(); + _requests[1370].Request.Method = "DELETE"; + _requests[1370].Request.Path = "/subscriptions/0f3d6564-31ed-/resourceGroups/ef96a7cc-156b-48d/providers/Microsoft.DataFactory/factories/7bd09b59-10"; + _requests[1371] = new DefaultHttpContext(); + _requests[1371].RequestServices = CreateServices(); + _requests[1371].Request.Method = "DELETE"; + _requests[1371].Request.Path = "/subscriptions/1569254f-8d15-/resourceGroups/2c8582c6-f38a-4ae/providers/Microsoft.DataLakeAnalytics/accounts/ac82eb8f-0b"; + _requests[1372] = new DefaultHttpContext(); + _requests[1372].RequestServices = CreateServices(); + _requests[1372].Request.Method = "DELETE"; + _requests[1372].Request.Path = "/subscriptions/05fcc97d-74bc-/resourceGroups/5f1b1432-1167-476/providers/Microsoft.DataLakeStore/accounts/9c5aaf9b-92"; + _requests[1373] = new DefaultHttpContext(); + _requests[1373].RequestServices = CreateServices(); + _requests[1373].Request.Method = "GET"; + _requests[1373].Request.Path = "/subscriptions/17bc7038-1f05-/resourceGroups/8436181b-b2f1-4e5/providers/Microsoft.DBforMySQL/servers/0fb95329-1"; + _requests[1374] = new DefaultHttpContext(); + _requests[1374].RequestServices = CreateServices(); + _requests[1374].Request.Method = "GET"; + _requests[1374].Request.Path = "/subscriptions/f792b6a9-527e-/resourceGroups/6404ecf9-ae30-4e3/providers/Microsoft.DBforPostgreSQL/servers/fe47e6e0-f"; + _requests[1375] = new DefaultHttpContext(); + _requests[1375].RequestServices = CreateServices(); + _requests[1375].Request.Method = "DELETE"; + _requests[1375].Request.Path = "/subscriptions/fe6eacfd-7501-/resourceGroups/e202ff4f-fa93-40a/providers/Microsoft.Devices/IotHubs/7bab075a-745"; + _requests[1376] = new DefaultHttpContext(); + _requests[1376].RequestServices = CreateServices(); + _requests[1376].Request.Method = "DELETE"; + _requests[1376].Request.Path = "/subscriptions/bb546ef6-7ef8-/resourceGroups/dc7b4148-c1e5-46e/providers/Microsoft.Devices/provisioningServices/41f30963-0cf3-4628-aa6d"; + _requests[1377] = new DefaultHttpContext(); + _requests[1377].RequestServices = CreateServices(); + _requests[1377].Request.Method = "PATCH"; + _requests[1377].Request.Path = "/subscriptions/842332ef-615b-/resourceGroups/e86181a7-6c65-41e/providers/Microsoft.DevTestLab/labs/d3d1a"; + _requests[1378] = new DefaultHttpContext(); + _requests[1378].RequestServices = CreateServices(); + _requests[1378].Request.Method = "PATCH"; + _requests[1378].Request.Path = "/subscriptions/b37795ad-2c7f-/resourceGroups/7ab24a17-0bd3-49e/providers/Microsoft.DevTestLab/schedules/32930"; + _requests[1379] = new DefaultHttpContext(); + _requests[1379].RequestServices = CreateServices(); + _requests[1379].Request.Method = "DELETE"; + _requests[1379].Request.Path = "/subscriptions/4683dc1a-2da1-/resourceGroups/8eda5cb7-f1fc-4c9/providers/Microsoft.DocumentDB/databaseAccounts/6a7e66c3-dc"; + _requests[1380] = new DefaultHttpContext(); + _requests[1380].RequestServices = CreateServices(); + _requests[1380].Request.Method = "PATCH"; + _requests[1380].Request.Path = "/subscriptions/df74f0cd-3087-/resourceGroups/addca7c3-74c9-4e6/providers/Microsoft.DomainRegistration/domains/9d1e34e9-8"; + _requests[1381] = new DefaultHttpContext(); + _requests[1381].RequestServices = CreateServices(); + _requests[1381].Request.Method = "PATCH"; + _requests[1381].Request.Path = "/subscriptions/33b5fb54-da3a-/resourceGroups/770f7d30-ad14-41b/providers/Microsoft.EventGrid/topics/332017d7-"; + _requests[1382] = new DefaultHttpContext(); + _requests[1382].RequestServices = CreateServices(); + _requests[1382].Request.Method = "PATCH"; + _requests[1382].Request.Path = "/subscriptions/48c6b3c0-a190-/resourceGroups/a2bcc8b8-284f-488/providers/Microsoft.EventHub/clusters/5170a8cf-df"; + _requests[1383] = new DefaultHttpContext(); + _requests[1383].RequestServices = CreateServices(); + _requests[1383].Request.Method = "PATCH"; + _requests[1383].Request.Path = "/subscriptions/d2634370-0d5d-/resourceGroups/5043ef26-152d-416/providers/Microsoft.EventHub/namespaces/f1cd8d8e-6948"; + _requests[1384] = new DefaultHttpContext(); + _requests[1384].RequestServices = CreateServices(); + _requests[1384].Request.Method = "GET"; + _requests[1384].Request.Path = "/subscriptions/cb6176ef-701e-/resourceGroups/36852b24-2b2d-443/providers/Microsoft.Fabric.Admin/fabricLocations/d677484c-f156-"; + _requests[1385] = new DefaultHttpContext(); + _requests[1385].RequestServices = CreateServices(); + _requests[1385].Request.Method = "GET"; + _requests[1385].Request.Path = "/subscriptions/e409f89f-27c9-/resourceGroups/51479c73-ac07-4b2/providers/Microsoft.HanaOnAzure/hanaInstances/7b288305-2c47-45"; + _requests[1386] = new DefaultHttpContext(); + _requests[1386].RequestServices = CreateServices(); + _requests[1386].Request.Method = "GET"; + _requests[1386].Request.Path = "/subscriptions/736d278f-e862-/resourceGroups/a6207992-4806-488/providers/Microsoft.HDInsight/clusters/2ee853e6-80"; + _requests[1387] = new DefaultHttpContext(); + _requests[1387].RequestServices = CreateServices(); + _requests[1387].Request.Method = "DELETE"; + _requests[1387].Request.Path = "/subscriptions/17afb31b-2e24-/resourceGroups/f9f23159-583b-429/providers/Microsoft.ImportExport/jobs/ed3c86e"; + _requests[1388] = new DefaultHttpContext(); + _requests[1388].RequestServices = CreateServices(); + _requests[1388].Request.Method = "GET"; + _requests[1388].Request.Path = "/subscriptions/df7067e9-5aa3-/resourceGroups/9bd68aa8-87ca-4c7/providers/Microsoft.InfrastructureInsights.Admin/regionHealths/53270cd6"; + _requests[1389] = new DefaultHttpContext(); + _requests[1389].RequestServices = CreateServices(); + _requests[1389].Request.Method = "PATCH"; + _requests[1389].Request.Path = "/subscriptions/d3aadab1-b567-/resourceGroups/42e42b9e-f958-42d/providers/microsoft.insights/actionGroups/60ef8964-7770-4"; + _requests[1390] = new DefaultHttpContext(); + _requests[1390].RequestServices = CreateServices(); + _requests[1390].Request.Method = "PATCH"; + _requests[1390].Request.Path = "/subscriptions/518a2c91-6752-/resourceGroups/55c601ff-5a11-4f6/providers/microsoft.insights/activityLogAlerts/a1cc29fe-cfb9-4392-b"; + _requests[1391] = new DefaultHttpContext(); + _requests[1391].RequestServices = CreateServices(); + _requests[1391].Request.Method = "PATCH"; + _requests[1391].Request.Path = "/subscriptions/c00aeb8e-ae35-/resourcegroups/b69f52a8-5bd0-4a4/providers/microsoft.insights/alertrules/906488c8"; + _requests[1392] = new DefaultHttpContext(); + _requests[1392].RequestServices = CreateServices(); + _requests[1392].Request.Method = "PATCH"; + _requests[1392].Request.Path = "/subscriptions/17374bbd-85da-/resourcegroups/78116756-4ffc-44f/providers/microsoft.insights/autoscalesettings/b32074dc-349b-4eba-9"; + _requests[1393] = new DefaultHttpContext(); + _requests[1393].RequestServices = CreateServices(); + _requests[1393].Request.Method = "PATCH"; + _requests[1393].Request.Path = "/subscriptions/ccb9751b-c5d4-/resourceGroups/c5b843cc-8b94-4ca/providers/Microsoft.Insights/components/218f15d5-38e"; + _requests[1394] = new DefaultHttpContext(); + _requests[1394].RequestServices = CreateServices(); + _requests[1394].Request.Method = "DELETE"; + _requests[1394].Request.Path = "/subscriptions/dbf2b620-35ee-/resourceGroups/a6c73e59-03ce-4b4/providers/Microsoft.Insights/metricAlerts/b751fff3"; + _requests[1395] = new DefaultHttpContext(); + _requests[1395].RequestServices = CreateServices(); + _requests[1395].Request.Method = "DELETE"; + _requests[1395].Request.Path = "/subscriptions/0325606c-529d-/resourcegroups/02553922-507f-42d/providers/microsoft.insights/scheduledQueryRules/a66663a2"; + _requests[1396] = new DefaultHttpContext(); + _requests[1396].RequestServices = CreateServices(); + _requests[1396].Request.Method = "DELETE"; + _requests[1396].Request.Path = "/subscriptions/56ac598e-e97b-/resourceGroups/4f8cf665-48b1-4e7/providers/Microsoft.Insights/webtests/084c0356-df"; + _requests[1397] = new DefaultHttpContext(); + _requests[1397].RequestServices = CreateServices(); + _requests[1397].Request.Method = "DELETE"; + _requests[1397].Request.Path = "/subscriptions/fc05a876-517b-/resourceGroups/9a118c2b-9fc5-4c1/providers/Microsoft.IoTCentral/IoTApps/679bf88e-d3b"; + _requests[1398] = new DefaultHttpContext(); + _requests[1398].RequestServices = CreateServices(); + _requests[1398].Request.Method = "DELETE"; + _requests[1398].Request.Path = "/subscriptions/e0169818-fff6-/resourceGroups/9d6d3de8-31e4-44d/providers/Microsoft.IoTSpaces/Graph/8f268af2-420"; + _requests[1399] = new DefaultHttpContext(); + _requests[1399].RequestServices = CreateServices(); + _requests[1399].Request.Method = "GET"; + _requests[1399].Request.Path = "/subscriptions/27ac4227-fc3f-/resourceGroups/cb5fb44e-bca7-452/providers/Microsoft.KeyVault/vaults/19e679c0-"; + _requests[1400] = new DefaultHttpContext(); + _requests[1400].RequestServices = CreateServices(); + _requests[1400].Request.Method = "DELETE"; + _requests[1400].Request.Path = "/subscriptions/65f77acb-7945-/resourceGroups/d46fd3cd-5354-4fd/providers/Microsoft.Logic/integrationAccounts/5498e9a2-507e-407c-bbb"; + _requests[1401] = new DefaultHttpContext(); + _requests[1401].RequestServices = CreateServices(); + _requests[1401].Request.Method = "DELETE"; + _requests[1401].Request.Path = "/subscriptions/4e126f94-fdea-/resourceGroups/5ecb051c-b44d-485/providers/Microsoft.Logic/workflows/7abfda60-a97"; + _requests[1402] = new DefaultHttpContext(); + _requests[1402].RequestServices = CreateServices(); + _requests[1402].Request.Method = "PARAMETERS"; + _requests[1402].Request.Path = "/subscriptions/de1f1a54-1ef5-/resourceGroups/cc1e5d0d-b5e7-40b/providers/Microsoft.MachineLearning/commitmentPlans/872bda94-b817-4a69"; + _requests[1403] = new DefaultHttpContext(); + _requests[1403].RequestServices = CreateServices(); + _requests[1403].Request.Method = "DELETE"; + _requests[1403].Request.Path = "/subscriptions/ed631721-6c3a-/resourceGroups/b72625d6-c5ae-439/providers/Microsoft.MachineLearning/webServices/6e98ee4e-dfe0-"; + _requests[1404] = new DefaultHttpContext(); + _requests[1404].RequestServices = CreateServices(); + _requests[1404].Request.Method = "PATCH"; + _requests[1404].Request.Path = "/subscriptions/e1c2c4e9-8caf-/resourceGroups/dad9e064-6354-432/providers/Microsoft.MachineLearning/workspaces/1f33b208-29c0"; + _requests[1405] = new DefaultHttpContext(); + _requests[1405].RequestServices = CreateServices(); + _requests[1405].Request.Method = "DELETE"; + _requests[1405].Request.Path = "/subscriptions/f640eb28-b3a0-/resourceGroups/a5a7934f-b5a9-4e7/providers/Microsoft.MachineLearningCompute/operationalizationClusters/4b43b5f3-41"; + _requests[1406] = new DefaultHttpContext(); + _requests[1406].RequestServices = CreateServices(); + _requests[1406].Request.Method = "PATCH"; + _requests[1406].Request.Path = "/subscriptions/709323a7-26c1-/resourceGroups/51340a02-0471-46c/providers/Microsoft.MachineLearningExperimentation/accounts/83e01e96-eb"; + _requests[1407] = new DefaultHttpContext(); + _requests[1407].RequestServices = CreateServices(); + _requests[1407].Request.Method = "PATCH"; + _requests[1407].Request.Path = "/subscriptions/352262d7-875a-/resourceGroups/7ce7c05e-f5f3-407/providers/Microsoft.MachineLearningServices/workspaces/e6dad685-c929"; + _requests[1408] = new DefaultHttpContext(); + _requests[1408].RequestServices = CreateServices(); + _requests[1408].Request.Method = "DELETE"; + _requests[1408].Request.Path = "/subscriptions/da3268b9-c9a1-/resourceGroups/02f51e07-bf57-408/providers/Microsoft.ManagedIdentity/userAssignedIdentities/c674899b-822"; + _requests[1409] = new DefaultHttpContext(); + _requests[1409].RequestServices = CreateServices(); + _requests[1409].Request.Method = "GET"; + _requests[1409].Request.Path = "/subscriptions/c2ea7e68-cff1-/resourceGroups/be2af193-a1e4-452/providers/Microsoft.Maps/accounts/c55a3c77-dc"; + _requests[1410] = new DefaultHttpContext(); + _requests[1410].RequestServices = CreateServices(); + _requests[1410].Request.Method = "PATCH"; + _requests[1410].Request.Path = "/subscriptions/a0b93e34-2734-/resourceGroups/7187ba76-49c6-489/providers/Microsoft.Media/mediaservices/ff52fdc0-d8f2-47"; + _requests[1411] = new DefaultHttpContext(); + _requests[1411].RequestServices = CreateServices(); + _requests[1411].Request.Method = "DELETE"; + _requests[1411].Request.Path = "/subscriptions/8ebdb3a7-bdb2-/resourcegroups/0e93b769-4cd6-4e0/providers/Microsoft.Migrate/projects/ae630259-06"; + _requests[1412] = new DefaultHttpContext(); + _requests[1412].RequestServices = CreateServices(); + _requests[1412].Request.Method = "PATCH"; + _requests[1412].Request.Path = "/subscriptions/ecb10c61-b542-/resourceGroups/28ad036e-067e-4d6/providers/Microsoft.Network/applicationGateways/18893bfc-8472-4255-b96"; + _requests[1413] = new DefaultHttpContext(); + _requests[1413].RequestServices = CreateServices(); + _requests[1413].Request.Method = "PUT"; + _requests[1413].Request.Path = "/subscriptions/6fe6049b-b7c3-/resourceGroups/483ef43c-198e-40f/providers/Microsoft.Network/applicationSecurityGroups/d78f3620-bb14-4deb-b940-3245"; + _requests[1414] = new DefaultHttpContext(); + _requests[1414].RequestServices = CreateServices(); + _requests[1414].Request.Method = "PATCH"; + _requests[1414].Request.Path = "/subscriptions/6cb76ce4-0750-/resourceGroups/1752900e-6cdb-41d/providers/Microsoft.Network/connections/6c1c6272-a47c-449f-9f84-a577e9616f3"; + _requests[1415] = new DefaultHttpContext(); + _requests[1415].RequestServices = CreateServices(); + _requests[1415].Request.Method = "PUT"; + _requests[1415].Request.Path = "/subscriptions/20d2e215-776d-/resourceGroups/4b83ebe8-4e21-45b/providers/Microsoft.Network/ddosProtectionPlans/efc89548-e8a9-486a-91b"; + _requests[1416] = new DefaultHttpContext(); + _requests[1416].RequestServices = CreateServices(); + _requests[1416].Request.Method = "PATCH"; + _requests[1416].Request.Path = "/subscriptions/2ec8accf-349d-/resourceGroups/447d73c5-b495-4aa/providers/Microsoft.Network/dnsZones/08e072cb"; + _requests[1417] = new DefaultHttpContext(); + _requests[1417].RequestServices = CreateServices(); + _requests[1417].Request.Method = "PATCH"; + _requests[1417].Request.Path = "/subscriptions/4d074c60-f304-/resourceGroups/329c2294-1087-49a/providers/Microsoft.Network/expressRouteCircuits/f0736974-f3"; + _requests[1418] = new DefaultHttpContext(); + _requests[1418].RequestServices = CreateServices(); + _requests[1418].Request.Method = "PATCH"; + _requests[1418].Request.Path = "/subscriptions/8e0de7cb-91d1-/resourceGroups/8ee3541c-4658-415/providers/Microsoft.Network/expressRouteCrossConnections/0172603f-20d9-4aa4-"; + _requests[1419] = new DefaultHttpContext(); + _requests[1419].RequestServices = CreateServices(); + _requests[1419].Request.Method = "PATCH"; + _requests[1419].Request.Path = "/subscriptions/5ac639d8-930a-/resourceGroups/c5a2b796-db09-4de/providers/Microsoft.Network/loadBalancers/bee1828b-d43d-4a"; + _requests[1420] = new DefaultHttpContext(); + _requests[1420].RequestServices = CreateServices(); + _requests[1420].Request.Method = "PATCH"; + _requests[1420].Request.Path = "/subscriptions/a36e6661-75d8-/resourceGroups/04857458-e2ce-4e3/providers/Microsoft.Network/localNetworkGateways/c0788647-ce3c-4f53-b776"; + _requests[1421] = new DefaultHttpContext(); + _requests[1421].RequestServices = CreateServices(); + _requests[1421].Request.Method = "PATCH"; + _requests[1421].Request.Path = "/subscriptions/81153c52-7d97-/resourceGroups/aeb9b704-e472-43a/providers/Microsoft.Network/networkInterfaces/7d0815cf-adc5-414c-8"; + _requests[1422] = new DefaultHttpContext(); + _requests[1422].RequestServices = CreateServices(); + _requests[1422].Request.Method = "PATCH"; + _requests[1422].Request.Path = "/subscriptions/b02ffbeb-7771-/resourceGroups/28ea21ea-984d-4b3/providers/Microsoft.Network/networkSecurityGroups/ca3ece8f-9e29-4090-812e-"; + _requests[1423] = new DefaultHttpContext(); + _requests[1423].RequestServices = CreateServices(); + _requests[1423].Request.Method = "PATCH"; + _requests[1423].Request.Path = "/subscriptions/f5a9ffa6-9b5e-/resourceGroups/629c7ec5-417b-480/providers/Microsoft.Network/networkWatchers/54b3f696-1d73-4fbf"; + _requests[1424] = new DefaultHttpContext(); + _requests[1424].RequestServices = CreateServices(); + _requests[1424].Request.Method = "PATCH"; + _requests[1424].Request.Path = "/subscriptions/05d33c8e-4f4c-/resourceGroups/ce3710ae-43f3-47f/providers/Microsoft.Network/publicIPAddresses/72095a21-9bc0-40d0-"; + _requests[1425] = new DefaultHttpContext(); + _requests[1425].RequestServices = CreateServices(); + _requests[1425].Request.Method = "PATCH"; + _requests[1425].Request.Path = "/subscriptions/0a21f404-bf66-/resourceGroups/59ab462b-fdb1-408/providers/Microsoft.Network/routeFilters/d9acbb5c-2873-4"; + _requests[1426] = new DefaultHttpContext(); + _requests[1426].RequestServices = CreateServices(); + _requests[1426].Request.Method = "PATCH"; + _requests[1426].Request.Path = "/subscriptions/9430afe8-c60f-/resourceGroups/35322b19-34c2-4db/providers/Microsoft.Network/routeTables/72ad6684-165c-"; + _requests[1427] = new DefaultHttpContext(); + _requests[1427].RequestServices = CreateServices(); + _requests[1427].Request.Method = "PATCH"; + _requests[1427].Request.Path = "/subscriptions/a758d8d4-d26b-/resourceGroups/6a65646d-9f95-4ed/providers/Microsoft.Network/trafficmanagerprofiles/9e50c36d-9f"; + _requests[1428] = new DefaultHttpContext(); + _requests[1428].RequestServices = CreateServices(); + _requests[1428].Request.Method = "PATCH"; + _requests[1428].Request.Path = "/subscriptions/70c09d34-8bcc-/resourceGroups/e6f31a13-ec29-470/providers/Microsoft.Network/virtualNetworkGateways/4825c117-a558-43e8-8477-3"; + _requests[1429] = new DefaultHttpContext(); + _requests[1429].RequestServices = CreateServices(); + _requests[1429].Request.Method = "PATCH"; + _requests[1429].Request.Path = "/subscriptions/c850e109-8bd2-/resourceGroups/20acccd9-d7d6-448/providers/Microsoft.Network/virtualNetworks/ad4ba2f3-f9a7-4996"; + _requests[1430] = new DefaultHttpContext(); + _requests[1430].RequestServices = CreateServices(); + _requests[1430].Request.Method = "GET"; + _requests[1430].Request.Path = "/subscriptions/4d4d7367-72d7-/resourceGroups/6c89eb20-8782-438/providers/Microsoft.NotificationHubs/namespaces/10b89170-f934"; + _requests[1431] = new DefaultHttpContext(); + _requests[1431].RequestServices = CreateServices(); + _requests[1431].Request.Method = "PATCH"; + _requests[1431].Request.Path = "/subscriptions/f6dfba18-cb52-/resourcegroups/7012f0d2-fcb7-4ee/providers/Microsoft.OperationalInsights/workspaces/5550994e-0ade"; + _requests[1432] = new DefaultHttpContext(); + _requests[1432].RequestServices = CreateServices(); + _requests[1432].Request.Method = "GET"; + _requests[1432].Request.Path = "/subscriptions/c961be4f-4ca4-/resourcegroups/99b102c9-e3cf-442/providers/Microsoft.OperationsManagement/ManagementConfigurations/fefa6692-0c7e-45d9-b65e-0fc"; + _requests[1433] = new DefaultHttpContext(); + _requests[1433].RequestServices = CreateServices(); + _requests[1433].Request.Method = "GET"; + _requests[1433].Request.Path = "/subscriptions/0055c872-6f53-/resourcegroups/35d7ade1-602e-4d9/providers/Microsoft.OperationsManagement/solutions/23878b5d-e36"; + _requests[1434] = new DefaultHttpContext(); + _requests[1434].RequestServices = CreateServices(); + _requests[1434].Request.Method = "DELETE"; + _requests[1434].Request.Path = "/subscriptions/90091fab-0e1e-/resourceGroups/cd595e9b-f49b-442/providers/Microsoft.PowerBI/workspaceCollections/b8d00aa6-229e-42f9-88ed"; + _requests[1435] = new DefaultHttpContext(); + _requests[1435].RequestServices = CreateServices(); + _requests[1435].Request.Method = "PATCH"; + _requests[1435].Request.Path = "/subscriptions/58e81ca8-568f-/resourceGroups/4411c821-a9a2-45e/providers/Microsoft.PowerBIDedicated/capacities/89f2c91d-3a61-4738-ba"; + _requests[1436] = new DefaultHttpContext(); + _requests[1436].RequestServices = CreateServices(); + _requests[1436].Request.Method = "PATCH"; + _requests[1436].Request.Path = "/subscriptions/9403d47d-cb65-/resourceGroups/4c31245b-59ac-4ff/providers/Microsoft.RecoveryServices/vaults/011631c4-"; + _requests[1437] = new DefaultHttpContext(); + _requests[1437].RequestServices = CreateServices(); + _requests[1437].Request.Method = "PATCH"; + _requests[1437].Request.Path = "/subscriptions/2c165938-4a83-/resourceGroups/713bab5d-4de2-461/providers/Microsoft.Relay/namespaces/6668e4c0-abc8"; + _requests[1438] = new DefaultHttpContext(); + _requests[1438].RequestServices = CreateServices(); + _requests[1438].Request.Method = "GET"; + _requests[1438].Request.Path = "/subscriptions/135433d3-120a-/resourcegroups/df3ea1e8-c66e-45f/providers/Microsoft.Resources/deployments/a0b4e3ab-be3a-"; + _requests[1439] = new DefaultHttpContext(); + _requests[1439].RequestServices = CreateServices(); + _requests[1439].Request.Method = "DELETE"; + _requests[1439].Request.Path = "/subscriptions/18efd3d8-2341-/resourceGroups/f9445bde-e0ba-4ef/providers/Microsoft.Scheduler/jobCollections/44779061-c49b-4a0"; + _requests[1440] = new DefaultHttpContext(); + _requests[1440].RequestServices = CreateServices(); + _requests[1440].Request.Method = "DELETE"; + _requests[1440].Request.Path = "/subscriptions/dda2d11e-1352-/resourceGroups/b8147fc8-f8de-462/providers/Microsoft.Search/searchServices/1a9d81e3-2209-4ac"; + _requests[1441] = new DefaultHttpContext(); + _requests[1441].RequestServices = CreateServices(); + _requests[1441].Request.Method = "PUT"; + _requests[1441].Request.Path = "/subscriptions/868c2158-ed58-/resourceGroups/cc4feda1-fde5-480/providers/Microsoft.Security/pricings/4cf81c08-e6"; + _requests[1442] = new DefaultHttpContext(); + _requests[1442].RequestServices = CreateServices(); + _requests[1442].Request.Method = "PATCH"; + _requests[1442].Request.Path = "/subscriptions/a0148516-2e4e-/resourceGroups/14473da4-9aaf-411/providers/Microsoft.Security/securityContacts/ae44ccb9-14b3-4638-"; + _requests[1443] = new DefaultHttpContext(); + _requests[1443].RequestServices = CreateServices(); + _requests[1443].Request.Method = "PATCH"; + _requests[1443].Request.Path = "/subscriptions/def5357f-3b0d-/resourceGroups/f1c99d2d-85ec-433/providers/Microsoft.Security/workspaceSettings/5c0b5f68-7bab-47f0-a"; + _requests[1444] = new DefaultHttpContext(); + _requests[1444].RequestServices = CreateServices(); + _requests[1444].Request.Method = "GET"; + _requests[1444].Request.Path = "/subscriptions/36a66f55-126f-/resourceGroups/da0b9a70-a778-448/providers/Microsoft.ServerManagement/gateways/2dae84d3-03"; + _requests[1445] = new DefaultHttpContext(); + _requests[1445].RequestServices = CreateServices(); + _requests[1445].Request.Method = "GET"; + _requests[1445].Request.Path = "/subscriptions/6162edc3-ae5c-/resourceGroups/cdec2caa-74a0-483/providers/Microsoft.ServerManagement/nodes/4ad1ada5"; + _requests[1446] = new DefaultHttpContext(); + _requests[1446].RequestServices = CreateServices(); + _requests[1446].Request.Method = "PATCH"; + _requests[1446].Request.Path = "/subscriptions/bd052e83-2283-/resourceGroups/06d9dcc2-2850-4c3/providers/Microsoft.ServiceBus/namespaces/2f858585-c04a"; + _requests[1447] = new DefaultHttpContext(); + _requests[1447].RequestServices = CreateServices(); + _requests[1447].Request.Method = "DELETE"; + _requests[1447].Request.Path = "/subscriptions/52a466bc-6913-/resourceGroups/e0ec40e3-3945-413/providers/Microsoft.ServiceFabric/clusters/302b7ff2-85"; + _requests[1448] = new DefaultHttpContext(); + _requests[1448].RequestServices = CreateServices(); + _requests[1448].Request.Method = "PATCH"; + _requests[1448].Request.Path = "/subscriptions/c34094df-2fca-/resourceGroups/0a84b271-0764-4a3/providers/Microsoft.SignalRService/SignalR/8ba173a3-f23"; + _requests[1449] = new DefaultHttpContext(); + _requests[1449].RequestServices = CreateServices(); + _requests[1449].Request.Method = "PUT"; + _requests[1449].Request.Path = "/subscriptions/052daf06-8ba2-/resourceGroups/866427d6-a4f4-4b8/providers/Microsoft.Solutions/applianceDefinitions/e2d96271-34a1-4169-bb1c"; + _requests[1450] = new DefaultHttpContext(); + _requests[1450].RequestServices = CreateServices(); + _requests[1450].Request.Method = "PATCH"; + _requests[1450].Request.Path = "/subscriptions/cda1c24f-1044-/resourceGroups/71faa6c3-2e0e-49b/providers/Microsoft.Solutions/appliances/4907f95d-7319"; + _requests[1451] = new DefaultHttpContext(); + _requests[1451].RequestServices = CreateServices(); + _requests[1451].Request.Method = "PUT"; + _requests[1451].Request.Path = "/subscriptions/0e8d2e06-4456-/resourceGroups/bbc89f53-49ac-43f/providers/Microsoft.Solutions/applicationDefinitions/18a84463-410a-40db-aff3-8"; + _requests[1452] = new DefaultHttpContext(); + _requests[1452].RequestServices = CreateServices(); + _requests[1452].Request.Method = "PATCH"; + _requests[1452].Request.Path = "/subscriptions/83c7d0d0-204e-/resourceGroups/74d41bc9-3687-4e4/providers/Microsoft.Solutions/applications/d7a78b27-5f42-4"; + _requests[1453] = new DefaultHttpContext(); + _requests[1453].RequestServices = CreateServices(); + _requests[1453].Request.Method = "PATCH"; + _requests[1453].Request.Path = "/subscriptions/c0da4c72-fe64-/resourceGroups/b52b9a52-e613-4df/providers/Microsoft.Sql/managedInstances/5ae319a6-694d-4983-"; + _requests[1454] = new DefaultHttpContext(); + _requests[1454].RequestServices = CreateServices(); + _requests[1454].Request.Method = "GET"; + _requests[1454].Request.Path = "/subscriptions/581c6f45-acf2-/resourceGroups/6666356b-77ec-475/providers/Microsoft.Sql/servers/fbd8b12c-b"; + _requests[1455] = new DefaultHttpContext(); + _requests[1455].RequestServices = CreateServices(); + _requests[1455].Request.Method = "PATCH"; + _requests[1455].Request.Path = "/subscriptions/551214a6-3c23-/resourcegroups/ada3ceb8-f6e6-468/providers/Microsoft.Storage.Admin/farms/5058e0"; + _requests[1456] = new DefaultHttpContext(); + _requests[1456].RequestServices = CreateServices(); + _requests[1456].Request.Method = "PATCH"; + _requests[1456].Request.Path = "/subscriptions/de651d75-57ac-/resourceGroups/a06dd946-566b-4d6/providers/Microsoft.Storage/storageAccounts/592e04ab-68"; + _requests[1457] = new DefaultHttpContext(); + _requests[1457].RequestServices = CreateServices(); + _requests[1457].Request.Method = "PATCH"; + _requests[1457].Request.Path = "/subscriptions/bfa7b1f0-0e3c-/resourceGroups/efa197aa-24ed-432/providers/Microsoft.StorSimple/managers/8d7f23b5-c7"; + _requests[1458] = new DefaultHttpContext(); + _requests[1458].RequestServices = CreateServices(); + _requests[1458].Request.Method = "GET"; + _requests[1458].Request.Path = "/subscriptions/4c7f4f11-09ee-/resourcegroups/5e891334-1b4e-4e9/providers/Microsoft.StreamAnalytics/streamingjobs/0e0233c"; + _requests[1459] = new DefaultHttpContext(); + _requests[1459].RequestServices = CreateServices(); + _requests[1459].Request.Method = "PUT"; + _requests[1459].Request.Path = "/subscriptions/b5ac0202-9ea5-/resourcegroups/59b6aa0b-9b74-4d7/providers/Microsoft.Subscriptions.Admin/directoryTenants/081598"; + _requests[1460] = new DefaultHttpContext(); + _requests[1460].RequestServices = CreateServices(); + _requests[1460].Request.Method = "DELETE"; + _requests[1460].Request.Path = "/subscriptions/b448090b-a406-/resourcegroups/50f4cfae-cdd4-4a1/providers/Microsoft.Subscriptions.Admin/offers/7dcd8"; + _requests[1461] = new DefaultHttpContext(); + _requests[1461].RequestServices = CreateServices(); + _requests[1461].Request.Method = "DELETE"; + _requests[1461].Request.Path = "/subscriptions/86009bc8-bb38-/resourcegroups/126a432d-068f-453/providers/Microsoft.Subscriptions.Admin/plans/4964e"; + _requests[1462] = new DefaultHttpContext(); + _requests[1462].RequestServices = CreateServices(); + _requests[1462].Request.Method = "DELETE"; + _requests[1462].Request.Path = "/subscriptions/e2ef62f1-e665-/resourceGroups/06d8596b-734f-436/providers/Microsoft.TimeSeriesInsights/environments/722ec89b-95ed-4"; + _requests[1463] = new DefaultHttpContext(); + _requests[1463].RequestServices = CreateServices(); + _requests[1463].Request.Method = "GET"; + _requests[1463].Request.Path = "/subscriptions/bbfef2ac-c84b-/resourcegroups/72f612b2-81d0-48f/providers/Microsoft.Update.Admin/updateLocations/f08ac070-be41-"; + _requests[1464] = new DefaultHttpContext(); + _requests[1464].RequestServices = CreateServices(); + _requests[1464].Request.Method = "GET"; + _requests[1464].Request.Path = "/subscriptions/431f12c4-108e-/resourcegroups/80fb72e9-7dde-4ec/providers/microsoft.visualstudio/account/f1183f84-8fa"; + _requests[1465] = new DefaultHttpContext(); + _requests[1465].RequestServices = CreateServices(); + _requests[1465].Request.Method = "PATCH"; + _requests[1465].Request.Path = "/subscriptions/b66213c9-1d95-/resourceGroups/83ea1d76-5fc5-4e4/providers/Microsoft.Web/certificates/bd7b2"; + _requests[1466] = new DefaultHttpContext(); + _requests[1466].RequestServices = CreateServices(); + _requests[1466].Request.Method = "DELETE"; + _requests[1466].Request.Path = "/subscriptions/e9452b9e-8416-/resourceGroups/12bf5fbb-882e-427/providers/Microsoft.Web/classicMobileServices/c72b2"; + _requests[1467] = new DefaultHttpContext(); + _requests[1467].RequestServices = CreateServices(); + _requests[1467].Request.Method = "DELETE"; + _requests[1467].Request.Path = "/subscriptions/2860dbf5-5d5f-/resourceGroups/e55fa755-e4dd-434/providers/Microsoft.Web/connectionGateways/37348ca8-40b6-4f6c-88"; + _requests[1468] = new DefaultHttpContext(); + _requests[1468].RequestServices = CreateServices(); + _requests[1468].Request.Method = "DELETE"; + _requests[1468].Request.Path = "/subscriptions/ce899493-24af-/resourceGroups/62950159-e7e1-4a8/providers/Microsoft.Web/connections/34338653-6da5-"; + _requests[1469] = new DefaultHttpContext(); + _requests[1469].RequestServices = CreateServices(); + _requests[1469].Request.Method = "PATCH"; + _requests[1469].Request.Path = "/subscriptions/69ff748a-af59-/resourceGroups/5dd8c110-adb6-466/providers/Microsoft.Web/csrs/ee049"; + _requests[1470] = new DefaultHttpContext(); + _requests[1470].RequestServices = CreateServices(); + _requests[1470].Request.Method = "DELETE"; + _requests[1470].Request.Path = "/subscriptions/af986fb8-8b7d-/resourceGroups/772e22ec-7450-455/providers/Microsoft.Web/customApis/971a432"; + _requests[1471] = new DefaultHttpContext(); + _requests[1471].RequestServices = CreateServices(); + _requests[1471].Request.Method = "PATCH"; + _requests[1471].Request.Path = "/subscriptions/56082173-8c17-/resourceGroups/9f7814c5-2089-4f2/providers/Microsoft.Web/hostingEnvironments/b6802"; + _requests[1472] = new DefaultHttpContext(); + _requests[1472].RequestServices = CreateServices(); + _requests[1472].Request.Method = "DELETE"; + _requests[1472].Request.Path = "/subscriptions/9f567f2a-4ca7-/resourceGroups/c4602504-968a-4a1/providers/Microsoft.Web/managedHostingEnvironments/03023"; + _requests[1473] = new DefaultHttpContext(); + _requests[1473].RequestServices = CreateServices(); + _requests[1473].Request.Method = "PATCH"; + _requests[1473].Request.Path = "/subscriptions/e9218db3-d998-/resourceGroups/cfd042d0-17d7-4f0/providers/Microsoft.Web/serverfarms/e17c2"; + _requests[1474] = new DefaultHttpContext(); + _requests[1474].RequestServices = CreateServices(); + _requests[1474].Request.Method = "PATCH"; + _requests[1474].Request.Path = "/subscriptions/a04b32ac-02d8-/resourceGroups/ebf8f564-ea09-44c/providers/Microsoft.Web/sites/308cf"; + _requests[1475] = new DefaultHttpContext(); + _requests[1475].RequestServices = CreateServices(); + _requests[1475].Request.Method = "POST"; + _requests[1475].Request.Path = "/providers/86a83e32-b655-4b0a-a103-f/managementGroups/f849432b-573a-40f7-/providers/Microsoft.PolicyInsights/policyEvents/2e855bfb-0546-4b82-a/queryResults"; + _requests[1476] = new DefaultHttpContext(); + _requests[1476].RequestServices = CreateServices(); + _requests[1476].Request.Method = "POST"; + _requests[1476].Request.Path = "/providers/f9b2fe03-1179-4b47-b909-7/managementGroups/452e51d9-f88d-45e5-/providers/Microsoft.PolicyInsights/policyStates/39b5ae2a-011d-414e-a/queryResults"; + _requests[1477] = new DefaultHttpContext(); + _requests[1477].RequestServices = CreateServices(); + _requests[1477].Request.Method = "POST"; + _requests[1477].Request.Path = "/providers/cf437586-0435-4c43-9503-4/managementGroups/4b63af36-d573-4246-/providers/Microsoft.PolicyInsights/policyStates/a955c58c-2c58-4f9c-9719-4ee/summarize"; + _requests[1478] = new DefaultHttpContext(); + _requests[1478].RequestServices = CreateServices(); + _requests[1478].Request.Method = "GET"; + _requests[1478].Request.Path = "/subscriptions/16b7959f-355a-/resourceGroup/903d7fc0-9bac-47c/providers/Microsoft.MachineLearningServices/workspaces/c3ed20cb-996f/computes"; + _requests[1479] = new DefaultHttpContext(); + _requests[1479].RequestServices = CreateServices(); + _requests[1479].Request.Method = "POST"; + _requests[1479].Request.Path = "/subscriptions/6a1226d5-2593-/resourceGroups/f63a742e-/providers/Microsoft.DataMigration/services/be64f5cc-25/checkNameAvailability"; + _requests[1480] = new DefaultHttpContext(); + _requests[1480].RequestServices = CreateServices(); + _requests[1480].Request.Method = "POST"; + _requests[1480].Request.Path = "/subscriptions/cfe1b1f6-25a7-/resourceGroups/3274a3d9-/providers/Microsoft.DataMigration/services/b6025546-31/checkStatus"; + _requests[1481] = new DefaultHttpContext(); + _requests[1481].RequestServices = CreateServices(); + _requests[1481].Request.Method = "GET"; + _requests[1481].Request.Path = "/subscriptions/eaf4f4b8-6098-/resourceGroups/8cce9494-/providers/Microsoft.DataMigration/services/342bc8d3-0e/projects"; + _requests[1482] = new DefaultHttpContext(); + _requests[1482].RequestServices = CreateServices(); + _requests[1482].Request.Method = "GET"; + _requests[1482].Request.Path = "/subscriptions/52256091-28e8-/resourceGroups/8cdd2ac7-/providers/Microsoft.DataMigration/services/6c110ccf-07/skus"; + _requests[1483] = new DefaultHttpContext(); + _requests[1483].RequestServices = CreateServices(); + _requests[1483].Request.Method = "POST"; + _requests[1483].Request.Path = "/subscriptions/731c5b29-0284-/resourceGroups/91210aee-/providers/Microsoft.DataMigration/services/9a38319d-52/start"; + _requests[1484] = new DefaultHttpContext(); + _requests[1484].RequestServices = CreateServices(); + _requests[1484].Request.Method = "POST"; + _requests[1484].Request.Path = "/subscriptions/01afcbba-c2f6-/resourceGroups/d6d3e6d9-/providers/Microsoft.DataMigration/services/b98552e1-c6/stop"; + _requests[1485] = new DefaultHttpContext(); + _requests[1485].RequestServices = CreateServices(); + _requests[1485].Request.Method = "GET"; + _requests[1485].Request.Path = "/subscriptions/01f28308-6792-/resourcegroups/79802600-f07e/providers/Microsoft.AzureBridge.Admin/activations/6405af37-ecd2-/downloadedProducts"; + _requests[1486] = new DefaultHttpContext(); + _requests[1486].RequestServices = CreateServices(); + _requests[1486].Request.Method = "GET"; + _requests[1486].Request.Path = "/subscriptions/98bd0513-28da-/resourcegroups/c64b89ce-e6f8/providers/Microsoft.AzureBridge.Admin/activations/b0a032b0-2e5d-/products"; + _requests[1487] = new DefaultHttpContext(); + _requests[1487].RequestServices = CreateServices(); + _requests[1487].Request.Method = "GET"; + _requests[1487].Request.Path = "/subscriptions/fa887f82-195a-/resourceGroups/07567f96-fa51/providers/Microsoft.AzureStack/registrations/107a99da-3b9a-49/customerSubscriptions"; + _requests[1488] = new DefaultHttpContext(); + _requests[1488].RequestServices = CreateServices(); + _requests[1488].Request.Method = "POST"; + _requests[1488].Request.Path = "/subscriptions/92ac0c94-cad0-/resourceGroups/ceae7ad6-d7b0/providers/Microsoft.AzureStack/registrations/94240925-fb83-41/getactivationkey"; + _requests[1489] = new DefaultHttpContext(); + _requests[1489].RequestServices = CreateServices(); + _requests[1489].Request.Method = "GET"; + _requests[1489].Request.Path = "/subscriptions/a5b2e4a5-93e7-/resourceGroups/f99e05b2-7e20/providers/Microsoft.AzureStack/registrations/f0d17d8f-eff9-4a/products"; + _requests[1490] = new DefaultHttpContext(); + _requests[1490].RequestServices = CreateServices(); + _requests[1490].Request.Method = "POST"; + _requests[1490].Request.Path = "/subscriptions/7d9c6360-dbaa-/resourceGroups/0a4e5575-83e4-4c9/providers/Microsoft.AnalysisServices/servers/2db0328d-3/dissociateGateway"; + _requests[1491] = new DefaultHttpContext(); + _requests[1491].RequestServices = CreateServices(); + _requests[1491].Request.Method = "POST"; + _requests[1491].Request.Path = "/subscriptions/8709a0fb-51ee-/resourceGroups/1c871bba-5c8b-4ea/providers/Microsoft.AnalysisServices/servers/2ad56d7e-0/listGatewayStatus"; + _requests[1492] = new DefaultHttpContext(); + _requests[1492].RequestServices = CreateServices(); + _requests[1492].Request.Method = "POST"; + _requests[1492].Request.Path = "/subscriptions/852b3e79-ea87-/resourceGroups/433301eb-b2f3-49e/providers/Microsoft.AnalysisServices/servers/0f0a1c47-b/resume"; + _requests[1493] = new DefaultHttpContext(); + _requests[1493].RequestServices = CreateServices(); + _requests[1493].Request.Method = "GET"; + _requests[1493].Request.Path = "/subscriptions/6e113f71-7f6b-/resourceGroups/b7879425-4525-467/providers/Microsoft.AnalysisServices/servers/08ae77e1-9/skus"; + _requests[1494] = new DefaultHttpContext(); + _requests[1494].RequestServices = CreateServices(); + _requests[1494].Request.Method = "POST"; + _requests[1494].Request.Path = "/subscriptions/23ba3ead-c689-/resourceGroups/fd183e5f-7c9c-46b/providers/Microsoft.AnalysisServices/servers/49fd7388-1/suspend"; + _requests[1495] = new DefaultHttpContext(); + _requests[1495].RequestServices = CreateServices(); + _requests[1495].Request.Method = "GET"; + _requests[1495].Request.Path = "/subscriptions/dff82d78-cd7e-/resourceGroups/cc712e1f-d6a7-4c6/providers/Microsoft.ApiManagement/service/df91b154-5d/apis"; + _requests[1496] = new DefaultHttpContext(); + _requests[1496].RequestServices = CreateServices(); + _requests[1496].Request.Method = "GET"; + _requests[1496].Request.Path = "/subscriptions/05f14cd1-dc1c-/resourceGroups/edf65c55-78d5-46f/providers/Microsoft.ApiManagement/service/97054896-18/apisByTags"; + _requests[1497] = new DefaultHttpContext(); + _requests[1497].RequestServices = CreateServices(); + _requests[1497].Request.Method = "GET"; + _requests[1497].Request.Path = "/subscriptions/e294d5d5-e277-/resourceGroups/45df0d1e-cb31-425/providers/Microsoft.ApiManagement/service/1b9b88b7-8a/api-version-sets"; + _requests[1498] = new DefaultHttpContext(); + _requests[1498].RequestServices = CreateServices(); + _requests[1498].Request.Method = "POST"; + _requests[1498].Request.Path = "/subscriptions/fca9b1cf-d9fe-/resourceGroups/7daf8f90-0592-4af/providers/Microsoft.ApiManagement/service/6b2f38d9-e7/applynetworkconfigurationupdates"; + _requests[1499] = new DefaultHttpContext(); + _requests[1499].RequestServices = CreateServices(); + _requests[1499].Request.Method = "GET"; + _requests[1499].Request.Path = "/subscriptions/587ed8d9-a577-/resourceGroups/2699e306-f481-42b/providers/Microsoft.ApiManagement/service/e39d3fa0-3e/authorizationServers"; + _requests[1500] = new DefaultHttpContext(); + _requests[1500].RequestServices = CreateServices(); + _requests[1500].Request.Method = "GET"; + _requests[1500].Request.Path = "/subscriptions/fc3bf1f5-3263-/resourceGroups/f0b8e486-b671-463/providers/Microsoft.ApiManagement/service/6ae48338-eb/backends"; + _requests[1501] = new DefaultHttpContext(); + _requests[1501].RequestServices = CreateServices(); + _requests[1501].Request.Method = "POST"; + _requests[1501].Request.Path = "/subscriptions/e5d3b135-e16f-/resourceGroups/44d1cd17-b85e-47c/providers/Microsoft.ApiManagement/service/dfdb071b-4d/backup"; + _requests[1502] = new DefaultHttpContext(); + _requests[1502].RequestServices = CreateServices(); + _requests[1502].Request.Method = "GET"; + _requests[1502].Request.Path = "/subscriptions/ff017815-83f3-/resourceGroups/f4d78c71-beac-4b2/providers/Microsoft.ApiManagement/service/c7415e48-bc/certificates"; + _requests[1503] = new DefaultHttpContext(); + _requests[1503].RequestServices = CreateServices(); + _requests[1503].Request.Method = "GET"; + _requests[1503].Request.Path = "/subscriptions/b57d14fa-c179-/resourceGroups/e2b58c01-f3fe-4a6/providers/Microsoft.ApiManagement/service/e0f3fc53-26/diagnostics"; + _requests[1504] = new DefaultHttpContext(); + _requests[1504].RequestServices = CreateServices(); + _requests[1504].Request.Method = "POST"; + _requests[1504].Request.Path = "/subscriptions/58f2ff60-848d-/resourceGroups/52afa199-d279-417/providers/Microsoft.ApiManagement/service/eaeca541-ff/getssotoken"; + _requests[1505] = new DefaultHttpContext(); + _requests[1505].RequestServices = CreateServices(); + _requests[1505].Request.Method = "GET"; + _requests[1505].Request.Path = "/subscriptions/00ca7a85-3608-/resourceGroups/1f1f1f07-ebd0-4be/providers/Microsoft.ApiManagement/service/8e4edb82-9d/groups"; + _requests[1506] = new DefaultHttpContext(); + _requests[1506].RequestServices = CreateServices(); + _requests[1506].Request.Method = "GET"; + _requests[1506].Request.Path = "/subscriptions/6663a44b-f5d2-/resourceGroups/ddd697a6-a5b0-46c/providers/Microsoft.ApiManagement/service/cb87682e-af/identityProviders"; + _requests[1507] = new DefaultHttpContext(); + _requests[1507].RequestServices = CreateServices(); + _requests[1507].Request.Method = "GET"; + _requests[1507].Request.Path = "/subscriptions/1f3480bd-4304-/resourceGroups/4e7b7354-dcb9-48c/providers/Microsoft.ApiManagement/service/90140c83-8f/issues"; + _requests[1508] = new DefaultHttpContext(); + _requests[1508].RequestServices = CreateServices(); + _requests[1508].Request.Method = "GET"; + _requests[1508].Request.Path = "/subscriptions/21568c40-f014-/resourceGroups/c279ec12-8594-47a/providers/Microsoft.ApiManagement/service/2c66291b-fb/loggers"; + _requests[1509] = new DefaultHttpContext(); + _requests[1509].RequestServices = CreateServices(); + _requests[1509].Request.Method = "POST"; + _requests[1509].Request.Path = "/subscriptions/2b0ee9af-4441-/resourceGroups/3181a170-c467-443/providers/Microsoft.ApiManagement/service/f7178c06-4a/managedeployments"; + _requests[1510] = new DefaultHttpContext(); + _requests[1510].RequestServices = CreateServices(); + _requests[1510].Request.Method = "GET"; + _requests[1510].Request.Path = "/subscriptions/8e850fe8-3157-/resourceGroups/5a66fad7-9a5d-4b5/providers/Microsoft.ApiManagement/service/6061ef65-8b/networkstatus"; + _requests[1511] = new DefaultHttpContext(); + _requests[1511].RequestServices = CreateServices(); + _requests[1511].Request.Method = "GET"; + _requests[1511].Request.Path = "/subscriptions/3097ab30-81a5-/resourceGroups/db24069e-1e78-4df/providers/Microsoft.ApiManagement/service/b972c9ab-41/notifications"; + _requests[1512] = new DefaultHttpContext(); + _requests[1512].RequestServices = CreateServices(); + _requests[1512].Request.Method = "GET"; + _requests[1512].Request.Path = "/subscriptions/92884ce7-3c0d-/resourceGroups/a81582fa-839e-4a7/providers/Microsoft.ApiManagement/service/70fa7510-d1/openidConnectProviders"; + _requests[1513] = new DefaultHttpContext(); + _requests[1513].RequestServices = CreateServices(); + _requests[1513].Request.Method = "GET"; + _requests[1513].Request.Path = "/subscriptions/9569bb0e-b511-/resourceGroups/84cb9395-ff24-4f0/providers/Microsoft.ApiManagement/service/2ee90aaf-56/policies"; + _requests[1514] = new DefaultHttpContext(); + _requests[1514].RequestServices = CreateServices(); + _requests[1514].Request.Method = "GET"; + _requests[1514].Request.Path = "/subscriptions/e7493acd-78df-/resourceGroups/f35d7b86-48d5-452/providers/Microsoft.ApiManagement/service/cb3704b1-05/policySnippets"; + _requests[1515] = new DefaultHttpContext(); + _requests[1515].RequestServices = CreateServices(); + _requests[1515].Request.Method = "GET"; + _requests[1515].Request.Path = "/subscriptions/27773d5f-4d89-/resourceGroups/51bebab1-63c2-426/providers/Microsoft.ApiManagement/service/d3b441f9-c9/products"; + _requests[1516] = new DefaultHttpContext(); + _requests[1516].RequestServices = CreateServices(); + _requests[1516].Request.Method = "GET"; + _requests[1516].Request.Path = "/subscriptions/0dd2ab29-db25-/resourceGroups/3b4f2938-4fd4-492/providers/Microsoft.ApiManagement/service/0810be3a-74/properties"; + _requests[1517] = new DefaultHttpContext(); + _requests[1517].RequestServices = CreateServices(); + _requests[1517].Request.Method = "GET"; + _requests[1517].Request.Path = "/subscriptions/fb996776-3231-/resourceGroups/ffd4c747-2406-403/providers/Microsoft.ApiManagement/service/6877b0cf-d9/regions"; + _requests[1518] = new DefaultHttpContext(); + _requests[1518].RequestServices = CreateServices(); + _requests[1518].Request.Method = "POST"; + _requests[1518].Request.Path = "/subscriptions/b598175a-c6f9-/resourceGroups/5d207520-de32-46b/providers/Microsoft.ApiManagement/service/327bcbd9-e7/restore"; + _requests[1519] = new DefaultHttpContext(); + _requests[1519].RequestServices = CreateServices(); + _requests[1519].Request.Method = "GET"; + _requests[1519].Request.Path = "/subscriptions/c8146f52-8514-/resourceGroups/0d05679f-890f-4be/providers/Microsoft.ApiManagement/service/a8b260be-c0/subscriptions"; + _requests[1520] = new DefaultHttpContext(); + _requests[1520].RequestServices = CreateServices(); + _requests[1520].Request.Method = "GET"; + _requests[1520].Request.Path = "/subscriptions/62ad29f0-a02e-/resourceGroups/b92c7e5b-9b99-4c2/providers/Microsoft.ApiManagement/service/b5619c48-f6/tagResources"; + _requests[1521] = new DefaultHttpContext(); + _requests[1521].RequestServices = CreateServices(); + _requests[1521].Request.Method = "GET"; + _requests[1521].Request.Path = "/subscriptions/985f7a95-7d1a-/resourceGroups/a37ea568-a4d3-434/providers/Microsoft.ApiManagement/service/4eaaa35b-41/tags"; + _requests[1522] = new DefaultHttpContext(); + _requests[1522].RequestServices = CreateServices(); + _requests[1522].Request.Method = "GET"; + _requests[1522].Request.Path = "/subscriptions/72eca5a6-d1aa-/resourceGroups/a8b2e6a4-9404-4ed/providers/Microsoft.ApiManagement/service/6dbd914a-a9/templates"; + _requests[1523] = new DefaultHttpContext(); + _requests[1523].RequestServices = CreateServices(); + _requests[1523].Request.Method = "POST"; + _requests[1523].Request.Path = "/subscriptions/b626e6e2-84b2-/resourceGroups/49d22e42-d917-4d4/providers/Microsoft.ApiManagement/service/4a75835f-75/updatecertificate"; + _requests[1524] = new DefaultHttpContext(); + _requests[1524].RequestServices = CreateServices(); + _requests[1524].Request.Method = "POST"; + _requests[1524].Request.Path = "/subscriptions/715abb84-0340-/resourceGroups/4ca262b1-99bc-4f3/providers/Microsoft.ApiManagement/service/c6954a5d-5e/updatehostname"; + _requests[1525] = new DefaultHttpContext(); + _requests[1525].RequestServices = CreateServices(); + _requests[1525].Request.Method = "POST"; + _requests[1525].Request.Path = "/subscriptions/fb6e353b-f49f-/resourceGroups/ad82ee6f-699a-4c4/providers/Microsoft.ApiManagement/service/89fa14ef-1a/uploadcertificate"; + _requests[1526] = new DefaultHttpContext(); + _requests[1526].RequestServices = CreateServices(); + _requests[1526].Request.Method = "GET"; + _requests[1526].Request.Path = "/subscriptions/b67b5738-6ca5-/resourceGroups/57f3e639-b41b-4d5/providers/Microsoft.ApiManagement/service/c333433d-2b/users"; + _requests[1527] = new DefaultHttpContext(); + _requests[1527].RequestServices = CreateServices(); + _requests[1527].Request.Method = "GET"; + _requests[1527].Request.Path = "/subscriptions/9b3489a8-de02-/resourceGroups/966706ab-c6a2-4f8/providers/Microsoft.Automation/automationAccounts/e6ed495e-a248-48b0-b9/agentRegistrationInformation"; + _requests[1528] = new DefaultHttpContext(); + _requests[1528].RequestServices = CreateServices(); + _requests[1528].Request.Method = "GET"; + _requests[1528].Request.Path = "/subscriptions/e78da591-0ed3-/resourceGroups/851207dd-edde-435/providers/Microsoft.Automation/automationAccounts/2ebfe6ec-2f8a-4fd0-b1/certificates"; + _requests[1529] = new DefaultHttpContext(); + _requests[1529].RequestServices = CreateServices(); + _requests[1529].Request.Method = "GET"; + _requests[1529].Request.Path = "/subscriptions/2708f247-5a1e-/resourceGroups/8ba35d49-699f-4ba/providers/Microsoft.Automation/automationAccounts/bb400cf3-a97a-4f0c-a8/compilationjobs"; + _requests[1530] = new DefaultHttpContext(); + _requests[1530].RequestServices = CreateServices(); + _requests[1530].Request.Method = "GET"; + _requests[1530].Request.Path = "/subscriptions/63d29509-41ec-/resourceGroups/778f741e-b6c4-435/providers/Microsoft.Automation/automationAccounts/7709223d-cf7a-4654-88/configurations"; + _requests[1531] = new DefaultHttpContext(); + _requests[1531].RequestServices = CreateServices(); + _requests[1531].Request.Method = "GET"; + _requests[1531].Request.Path = "/subscriptions/c18a30a1-2aab-/resourceGroups/0a212edc-45f6-480/providers/Microsoft.Automation/automationAccounts/71da0b6b-f80a-441d-8b/connections"; + _requests[1532] = new DefaultHttpContext(); + _requests[1532].RequestServices = CreateServices(); + _requests[1532].Request.Method = "GET"; + _requests[1532].Request.Path = "/subscriptions/0001f9a9-e624-/resourceGroups/666011c8-75b4-4b0/providers/Microsoft.Automation/automationAccounts/c7f3929e-9aee-428a-b1/connectionTypes"; + _requests[1533] = new DefaultHttpContext(); + _requests[1533].RequestServices = CreateServices(); + _requests[1533].Request.Method = "GET"; + _requests[1533].Request.Path = "/subscriptions/82a5a2e8-9e8b-/resourceGroups/cd6a9ee5-7538-4e9/providers/Microsoft.Automation/automationAccounts/9cddceb4-afee-406b-af/credentials"; + _requests[1534] = new DefaultHttpContext(); + _requests[1534].RequestServices = CreateServices(); + _requests[1534].Request.Method = "GET"; + _requests[1534].Request.Path = "/subscriptions/ddc603d6-1fe5-/resourceGroups/079672da-202b-43b/providers/Microsoft.Automation/automationAccounts/ad8b0416-2012-40be-87/hybridRunbookWorkerGroups"; + _requests[1535] = new DefaultHttpContext(); + _requests[1535].RequestServices = CreateServices(); + _requests[1535].Request.Method = "GET"; + _requests[1535].Request.Path = "/subscriptions/336f5be0-5547-/resourceGroups/62eb807c-8b14-4a8/providers/Microsoft.Automation/automationAccounts/a0c916a0-bbf0-453e-b9/jobs"; + _requests[1536] = new DefaultHttpContext(); + _requests[1536].RequestServices = CreateServices(); + _requests[1536].Request.Method = "GET"; + _requests[1536].Request.Path = "/subscriptions/87a01b1b-2a04-/resourceGroups/639511ad-c548-416/providers/Microsoft.Automation/automationAccounts/4e2acc58-8b12-4b21-93/jobSchedules"; + _requests[1537] = new DefaultHttpContext(); + _requests[1537].RequestServices = CreateServices(); + _requests[1537].Request.Method = "GET"; + _requests[1537].Request.Path = "/subscriptions/557fe1f7-ae92-/resourceGroups/b3c655a8-488c-409/providers/Microsoft.Automation/automationAccounts/b5102668-208e-4ace-83/linkedWorkspace"; + _requests[1538] = new DefaultHttpContext(); + _requests[1538].RequestServices = CreateServices(); + _requests[1538].Request.Method = "POST"; + _requests[1538].Request.Path = "/subscriptions/5c0adc65-48d1-/resourceGroups/77bc693b-53bc-40a/providers/Microsoft.Automation/automationAccounts/dbb84a01-f419-4161-af/listKeys"; + _requests[1539] = new DefaultHttpContext(); + _requests[1539].RequestServices = CreateServices(); + _requests[1539].Request.Method = "GET"; + _requests[1539].Request.Path = "/subscriptions/09d465c9-4cf7-/resourceGroups/e3beee26-b45f-46f/providers/Microsoft.Automation/automationAccounts/0e14e01a-1fa4-426a-84/modules"; + _requests[1540] = new DefaultHttpContext(); + _requests[1540].RequestServices = CreateServices(); + _requests[1540].Request.Method = "GET"; + _requests[1540].Request.Path = "/subscriptions/7e100e13-4343-/resourceGroups/0ab37a54-d9b4-457/providers/Microsoft.Automation/automationAccounts/ba2f55b5-a4a0-4eba-aa/nodeConfigurations"; + _requests[1541] = new DefaultHttpContext(); + _requests[1541].RequestServices = CreateServices(); + _requests[1541].Request.Method = "GET"; + _requests[1541].Request.Path = "/subscriptions/2c2464a3-d4b6-/resourceGroups/f6a3de77-9f32-422/providers/Microsoft.Automation/automationAccounts/d62e6dd4-a155-43d6-b0/nodes"; + _requests[1542] = new DefaultHttpContext(); + _requests[1542].RequestServices = CreateServices(); + _requests[1542].Request.Method = "GET"; + _requests[1542].Request.Path = "/subscriptions/803d970a-07e8-/resourceGroups/630f24b8-3c1f-4e8/providers/Microsoft.Automation/automationAccounts/94576571-49d8-4051-84/runbooks"; + _requests[1543] = new DefaultHttpContext(); + _requests[1543].RequestServices = CreateServices(); + _requests[1543].Request.Method = "GET"; + _requests[1543].Request.Path = "/subscriptions/2f7e87d2-a953-/resourceGroups/30b21721-6df2-4ba/providers/Microsoft.Automation/automationAccounts/c803c518-59c1-4dd4-98/schedules"; + _requests[1544] = new DefaultHttpContext(); + _requests[1544].RequestServices = CreateServices(); + _requests[1544].Request.Method = "GET"; + _requests[1544].Request.Path = "/subscriptions/5e35855c-bac9-/resourceGroups/544bc510-cd9b-4f2/providers/Microsoft.Automation/automationAccounts/379d69d8-941e-4599-aa/softwareUpdateConfigurationMachineRuns"; + _requests[1545] = new DefaultHttpContext(); + _requests[1545].RequestServices = CreateServices(); + _requests[1545].Request.Method = "GET"; + _requests[1545].Request.Path = "/subscriptions/e73df8d6-6687-/resourceGroups/34bb43c6-9305-4a4/providers/Microsoft.Automation/automationAccounts/ee5633db-3a6a-4b21-aa/softwareUpdateConfigurationRuns"; + _requests[1546] = new DefaultHttpContext(); + _requests[1546].RequestServices = CreateServices(); + _requests[1546].Request.Method = "GET"; + _requests[1546].Request.Path = "/subscriptions/5f9b36bb-1985-/resourceGroups/f0a3c68f-5964-45b/providers/Microsoft.Automation/automationAccounts/750a9ca5-810b-4051-b7/softwareUpdateConfigurations"; + _requests[1547] = new DefaultHttpContext(); + _requests[1547].RequestServices = CreateServices(); + _requests[1547].Request.Method = "GET"; + _requests[1547].Request.Path = "/subscriptions/afe52ddc-7e5b-/resourceGroups/db5ab9cf-9cf7-41a/providers/Microsoft.Automation/automationAccounts/54d4f59a-5fc0-438c-aa/sourceControls"; + _requests[1548] = new DefaultHttpContext(); + _requests[1548].RequestServices = CreateServices(); + _requests[1548].Request.Method = "GET"; + _requests[1548].Request.Path = "/subscriptions/480ec8aa-18c1-/resourceGroups/a4609bc5-4161-4e6/providers/Microsoft.Automation/automationAccounts/bf4bc188-73aa-4c84-a6/statistics"; + _requests[1549] = new DefaultHttpContext(); + _requests[1549].RequestServices = CreateServices(); + _requests[1549].Request.Method = "GET"; + _requests[1549].Request.Path = "/subscriptions/f519d8d8-dd19-/resourceGroups/7e5e2bc5-8091-4a4/providers/Microsoft.Automation/automationAccounts/40729a51-9ce7-4e83-af/usages"; + _requests[1550] = new DefaultHttpContext(); + _requests[1550].RequestServices = CreateServices(); + _requests[1550].Request.Method = "GET"; + _requests[1550].Request.Path = "/subscriptions/120350ba-40c1-/resourceGroups/6bbf9092-e24d-4eb/providers/Microsoft.Automation/automationAccounts/f66ef767-bf20-4647-98/variables"; + _requests[1551] = new DefaultHttpContext(); + _requests[1551].RequestServices = CreateServices(); + _requests[1551].Request.Method = "GET"; + _requests[1551].Request.Path = "/subscriptions/1639969f-574a-/resourceGroups/a97f9fca-3eeb-469/providers/Microsoft.Automation/automationAccounts/b545267b-3163-48ff-99/watchers"; + _requests[1552] = new DefaultHttpContext(); + _requests[1552].RequestServices = CreateServices(); + _requests[1552].Request.Method = "GET"; + _requests[1552].Request.Path = "/subscriptions/effe2e5a-b8c3-/resourceGroups/b1aabfbd-3344-403/providers/Microsoft.Automation/automationAccounts/1ef1b173-1c12-4b91-b5/webhooks"; + _requests[1553] = new DefaultHttpContext(); + _requests[1553].RequestServices = CreateServices(); + _requests[1553].Request.Method = "GET"; + _requests[1553].Request.Path = "/subscriptions/e5d72d3f-7b89-/resourcegroups/0ff94d18-8603-477/providers/Microsoft.Backup.Admin/backupLocations/e73ef0a9/backups"; + _requests[1554] = new DefaultHttpContext(); + _requests[1554].RequestServices = CreateServices(); + _requests[1554].Request.Method = "POST"; + _requests[1554].Request.Path = "/subscriptions/98154fa1-06e6-/resourcegroups/723200d6-aa84-455/providers/Microsoft.Backup.Admin/backupLocations/2077eb9c/createBackup"; + _requests[1555] = new DefaultHttpContext(); + _requests[1555].RequestServices = CreateServices(); + _requests[1555].Request.Method = "GET"; + _requests[1555].Request.Path = "/subscriptions/89e01353-e76b-/resourceGroups/a78f1d51-9361-4b6/providers/Microsoft.Batch/batchAccounts/1eed5d73-3e/applications"; + _requests[1556] = new DefaultHttpContext(); + _requests[1556].RequestServices = CreateServices(); + _requests[1556].Request.Method = "GET"; + _requests[1556].Request.Path = "/subscriptions/0a1a5ce7-2925-/resourceGroups/ea1a58d0-3df8-434/providers/Microsoft.Batch/batchAccounts/ca0379c4-5f/certificates"; + _requests[1557] = new DefaultHttpContext(); + _requests[1557].RequestServices = CreateServices(); + _requests[1557].Request.Method = "POST"; + _requests[1557].Request.Path = "/subscriptions/d737a19d-2a39-/resourceGroups/1e1d08f2-7370-404/providers/Microsoft.Batch/batchAccounts/35a5dbe3-35/listKeys"; + _requests[1558] = new DefaultHttpContext(); + _requests[1558].RequestServices = CreateServices(); + _requests[1558].Request.Method = "GET"; + _requests[1558].Request.Path = "/subscriptions/f2575b65-4f2e-/resourceGroups/717ec546-bb10-440/providers/Microsoft.Batch/batchAccounts/5759338c-cb/pools"; + _requests[1559] = new DefaultHttpContext(); + _requests[1559].RequestServices = CreateServices(); + _requests[1559].Request.Method = "POST"; + _requests[1559].Request.Path = "/subscriptions/9d755c84-bc87-/resourceGroups/d9fca1c1-2a43-42e/providers/Microsoft.Batch/batchAccounts/a09e49ff-9a/regenerateKeys"; + _requests[1560] = new DefaultHttpContext(); + _requests[1560].RequestServices = CreateServices(); + _requests[1560].Request.Method = "POST"; + _requests[1560].Request.Path = "/subscriptions/959ee08b-f03c-/resourceGroups/bb8276f7-d82d-439/providers/Microsoft.Batch/batchAccounts/87df4fb0-da/syncAutoStorageKeys"; + _requests[1561] = new DefaultHttpContext(); + _requests[1561].RequestServices = CreateServices(); + _requests[1561].Request.Method = "POST"; + _requests[1561].Request.Path = "/subscriptions/8b545d23-34eb-/resourceGroups/50a1ff89-088c-45c/providers/Microsoft.BatchAI/clusters/d609c51d-52/listRemoteLoginInformation"; + _requests[1562] = new DefaultHttpContext(); + _requests[1562].RequestServices = CreateServices(); + _requests[1562].Request.Method = "POST"; + _requests[1562].Request.Path = "/subscriptions/424143b1-7362-/resourceGroups/fd6f86ba-b43a-4ef/providers/Microsoft.BatchAI/jobs/73c0da4/listOutputFiles"; + _requests[1563] = new DefaultHttpContext(); + _requests[1563].RequestServices = CreateServices(); + _requests[1563].Request.Method = "POST"; + _requests[1563].Request.Path = "/subscriptions/a0a60fa5-a5ab-/resourceGroups/63e82ee5-2831-418/providers/Microsoft.BatchAI/jobs/bfb828e/listRemoteLoginInformation"; + _requests[1564] = new DefaultHttpContext(); + _requests[1564].RequestServices = CreateServices(); + _requests[1564].Request.Method = "POST"; + _requests[1564].Request.Path = "/subscriptions/16aec6a0-74fc-/resourceGroups/fa535c19-aad4-48c/providers/Microsoft.BatchAI/jobs/01aed27/terminate"; + _requests[1565] = new DefaultHttpContext(); + _requests[1565].RequestServices = CreateServices(); + _requests[1565].Request.Method = "GET"; + _requests[1565].Request.Path = "/subscriptions/f649d314-af33-/resourceGroups/8d0b5d27-1506-406/providers/Microsoft.BatchAI/workspaces/f1dae7bc-3c5d/clusters"; + _requests[1566] = new DefaultHttpContext(); + _requests[1566].RequestServices = CreateServices(); + _requests[1566].Request.Method = "GET"; + _requests[1566].Request.Path = "/subscriptions/fd296a01-5960-/resourceGroups/f62fd50f-cf10-451/providers/Microsoft.BatchAI/workspaces/717350e8-d428/experiments"; + _requests[1567] = new DefaultHttpContext(); + _requests[1567].RequestServices = CreateServices(); + _requests[1567].Request.Method = "GET"; + _requests[1567].Request.Path = "/subscriptions/c1b331ca-7835-/resourceGroups/413f50cc-cab0-4d8/providers/Microsoft.BatchAI/workspaces/79b32c57-3ffb/fileServers"; + _requests[1568] = new DefaultHttpContext(); + _requests[1568].RequestServices = CreateServices(); + _requests[1568].Request.Method = "GET"; + _requests[1568].Request.Path = "/subscriptions/e76ebfc3-faef-/resourceGroups/47b46ad1-7c80-471/providers/Microsoft.BotService/botServices/7599fdf0-095/channels"; + _requests[1569] = new DefaultHttpContext(); + _requests[1569].RequestServices = CreateServices(); + _requests[1569].Request.Method = "GET"; + _requests[1569].Request.Path = "/subscriptions/60bab74a-333b-/resourceGroups/1b76b5b7-5377-425/providers/Microsoft.BotService/botServices/965c8565-201/connections"; + _requests[1570] = new DefaultHttpContext(); + _requests[1570].RequestServices = CreateServices(); + _requests[1570].Request.Method = "GET"; + _requests[1570].Request.Path = "/subscriptions/b81b685a-7cbc-/resourceGroups/6aa33aa2-9096-40a/providers/Microsoft.Cache/Redis/6a6be7fc-/firewallRules"; + _requests[1571] = new DefaultHttpContext(); + _requests[1571].RequestServices = CreateServices(); + _requests[1571].Request.Method = "GET"; + _requests[1571].Request.Path = "/subscriptions/af4a7fe5-d865-/resourceGroups/042b45fb-4843-475/providers/Microsoft.Cache/Redis/0baac0fc-/patchSchedules"; + _requests[1572] = new DefaultHttpContext(); + _requests[1572].RequestServices = CreateServices(); + _requests[1572].Request.Method = "POST"; + _requests[1572].Request.Path = "/subscriptions/2ffa1d4f-bc2b-/resourceGroups/4ed49301-ef4c-404/providers/Microsoft.Cache/Redis/23017/export"; + _requests[1573] = new DefaultHttpContext(); + _requests[1573].RequestServices = CreateServices(); + _requests[1573].Request.Method = "POST"; + _requests[1573].Request.Path = "/subscriptions/f02f23b2-cd11-/resourceGroups/c27b7784-b39b-411/providers/Microsoft.Cache/Redis/747ea/forceReboot"; + _requests[1574] = new DefaultHttpContext(); + _requests[1574].RequestServices = CreateServices(); + _requests[1574].Request.Method = "POST"; + _requests[1574].Request.Path = "/subscriptions/2d2a0b08-cc7d-/resourceGroups/34e60c3d-6d3a-414/providers/Microsoft.Cache/Redis/a96fe/import"; + _requests[1575] = new DefaultHttpContext(); + _requests[1575].RequestServices = CreateServices(); + _requests[1575].Request.Method = "GET"; + _requests[1575].Request.Path = "/subscriptions/e471388e-869b-/resourceGroups/a6056ecb-2805-462/providers/Microsoft.Cache/Redis/8c2ac/linkedServers"; + _requests[1576] = new DefaultHttpContext(); + _requests[1576].RequestServices = CreateServices(); + _requests[1576].Request.Method = "POST"; + _requests[1576].Request.Path = "/subscriptions/341d618f-aa04-/resourceGroups/313b0c8e-6f9d-46b/providers/Microsoft.Cache/Redis/7e5b1/listKeys"; + _requests[1577] = new DefaultHttpContext(); + _requests[1577].RequestServices = CreateServices(); + _requests[1577].Request.Method = "GET"; + _requests[1577].Request.Path = "/subscriptions/19a5a993-c26c-/resourceGroups/1883c1e0-f7d5-4a7/providers/Microsoft.Cache/Redis/7fbf5/listUpgradeNotifications"; + _requests[1578] = new DefaultHttpContext(); + _requests[1578].RequestServices = CreateServices(); + _requests[1578].Request.Method = "POST"; + _requests[1578].Request.Path = "/subscriptions/105f064a-078e-/resourceGroups/259679d8-0f07-4b6/providers/Microsoft.Cache/Redis/36cdd/regenerateKey"; + _requests[1579] = new DefaultHttpContext(); + _requests[1579].RequestServices = CreateServices(); + _requests[1579].Request.Method = "POST"; + _requests[1579].Request.Path = "/subscriptions/f5184e4c-80ba-/resourceGroups/124c9ea6-561b-458/providers/Microsoft.Cdn/profiles/4a8c57ce-55/checkResourceUsage"; + _requests[1580] = new DefaultHttpContext(); + _requests[1580].RequestServices = CreateServices(); + _requests[1580].Request.Method = "GET"; + _requests[1580].Request.Path = "/subscriptions/5cad99f8-f66d-/resourceGroups/d704e7ee-d001-4aa/providers/Microsoft.Cdn/profiles/7044cab4-89/endpoints"; + _requests[1581] = new DefaultHttpContext(); + _requests[1581].RequestServices = CreateServices(); + _requests[1581].Request.Method = "POST"; + _requests[1581].Request.Path = "/subscriptions/946b59b4-2a5f-/resourceGroups/e0c70970-a48a-489/providers/Microsoft.Cdn/profiles/29a52e43-c4/generateSsoUri"; + _requests[1582] = new DefaultHttpContext(); + _requests[1582].RequestServices = CreateServices(); + _requests[1582].Request.Method = "POST"; + _requests[1582].Request.Path = "/subscriptions/2de3d09c-5b24-/resourceGroups/ea42eb14-c62d-43c/providers/Microsoft.Cdn/profiles/c6737a67-c8/getSupportedOptimizationTypes"; + _requests[1583] = new DefaultHttpContext(); + _requests[1583].RequestServices = CreateServices(); + _requests[1583].Request.Method = "GET"; + _requests[1583].Request.Path = "/subscriptions/37ce4dc4-0fe9-/resourceGroups/fe59f042-6db1-420/providers/Microsoft.CertificateRegistration/certificateOrders/b1ee7716-3e77-41a3-b/certificates"; + _requests[1584] = new DefaultHttpContext(); + _requests[1584].RequestServices = CreateServices(); + _requests[1584].Request.Method = "POST"; + _requests[1584].Request.Path = "/subscriptions/50131bb5-d3a9-/resourceGroups/d9e2a095-3809-465/providers/Microsoft.CertificateRegistration/certificateOrders/f8f98e5c-33fa-4e5d-b/resendRequestEmails"; + _requests[1585] = new DefaultHttpContext(); + _requests[1585].RequestServices = CreateServices(); + _requests[1585].Request.Method = "POST"; + _requests[1585].Request.Path = "/subscriptions/c0d64a25-7599-/resourceGroups/ce338188-619f-4f4/providers/Microsoft.CertificateRegistration/certificateOrders/8d72e86a-c522-47d6-9/retrieveSiteSeal"; + _requests[1586] = new DefaultHttpContext(); + _requests[1586].RequestServices = CreateServices(); + _requests[1586].Request.Method = "POST"; + _requests[1586].Request.Path = "/subscriptions/cf9377d5-f69e-/resourceGroups/1121933d-aac1-467/providers/Microsoft.CertificateRegistration/certificateOrders/4357b/reissue"; + _requests[1587] = new DefaultHttpContext(); + _requests[1587].RequestServices = CreateServices(); + _requests[1587].Request.Method = "POST"; + _requests[1587].Request.Path = "/subscriptions/b8f150e6-dfc1-/resourceGroups/81843a39-c533-42f/providers/Microsoft.CertificateRegistration/certificateOrders/e2b1a/renew"; + _requests[1588] = new DefaultHttpContext(); + _requests[1588].RequestServices = CreateServices(); + _requests[1588].Request.Method = "POST"; + _requests[1588].Request.Path = "/subscriptions/9f13eb29-fd9d-/resourceGroups/e047cc8e-e568-49f/providers/Microsoft.CertificateRegistration/certificateOrders/94ad8/resendEmail"; + _requests[1589] = new DefaultHttpContext(); + _requests[1589].RequestServices = CreateServices(); + _requests[1589].Request.Method = "POST"; + _requests[1589].Request.Path = "/subscriptions/7194312a-9bf7-/resourceGroups/dae7c45c-c7aa-43d/providers/Microsoft.CertificateRegistration/certificateOrders/3bba3/retrieveCertificateActions"; + _requests[1590] = new DefaultHttpContext(); + _requests[1590].RequestServices = CreateServices(); + _requests[1590].Request.Method = "POST"; + _requests[1590].Request.Path = "/subscriptions/a7d963f4-b8f5-/resourceGroups/759230d5-43b3-414/providers/Microsoft.CertificateRegistration/certificateOrders/df888/retrieveEmailHistory"; + _requests[1591] = new DefaultHttpContext(); + _requests[1591].RequestServices = CreateServices(); + _requests[1591].Request.Method = "POST"; + _requests[1591].Request.Path = "/subscriptions/a420b4b5-05a6-/resourceGroups/c40eb74b-8a58-439/providers/Microsoft.CertificateRegistration/certificateOrders/9eb87/verifyDomainOwnership"; + _requests[1592] = new DefaultHttpContext(); + _requests[1592].RequestServices = CreateServices(); + _requests[1592].Request.Method = "POST"; + _requests[1592].Request.Path = "/subscriptions/77cc7f6d-5196-/resourceGroups/b2c15ee1-6691-41a/providers/Microsoft.CognitiveServices/accounts/b9506207-60/listKeys"; + _requests[1593] = new DefaultHttpContext(); + _requests[1593].RequestServices = CreateServices(); + _requests[1593].Request.Method = "POST"; + _requests[1593].Request.Path = "/subscriptions/5294b75d-893d-/resourceGroups/d328ed43-7191-4b2/providers/Microsoft.CognitiveServices/accounts/f27daa85-21/regenerateKey"; + _requests[1594] = new DefaultHttpContext(); + _requests[1594].RequestServices = CreateServices(); + _requests[1594].Request.Method = "GET"; + _requests[1594].Request.Path = "/subscriptions/abece642-1ced-/resourceGroups/5a50d1bc-bb98-481/providers/Microsoft.CognitiveServices/accounts/230178d5-6e/skus"; + _requests[1595] = new DefaultHttpContext(); + _requests[1595].RequestServices = CreateServices(); + _requests[1595].Request.Method = "GET"; + _requests[1595].Request.Path = "/subscriptions/5610b5aa-0b3f-/resourceGroups/a3291c8d-31b7-4c6/providers/Microsoft.CognitiveServices/accounts/7584cc72-2d/usages"; + _requests[1596] = new DefaultHttpContext(); + _requests[1596].RequestServices = CreateServices(); + _requests[1596].Request.Method = "GET"; + _requests[1596].Request.Path = "/subscriptions/79bb2731-a1ec-/resourceGroups/7ccebd13-87af-4c5/providers/Microsoft.Compute/availabilitySets/776d05d2-0cd1-4c00-/vmSizes"; + _requests[1597] = new DefaultHttpContext(); + _requests[1597].RequestServices = CreateServices(); + _requests[1597].Request.Method = "POST"; + _requests[1597].Request.Path = "/subscriptions/2e194bca-b6c8-/resourceGroups/bb50eb20-5424-40e/providers/Microsoft.Compute/disks/b9b3a0c7/beginGetAccess"; + _requests[1598] = new DefaultHttpContext(); + _requests[1598].RequestServices = CreateServices(); + _requests[1598].Request.Method = "POST"; + _requests[1598].Request.Path = "/subscriptions/25c7473d-ec94-/resourceGroups/598a3445-a894-4e1/providers/Microsoft.Compute/disks/47414db3/endGetAccess"; + _requests[1599] = new DefaultHttpContext(); + _requests[1599].RequestServices = CreateServices(); + _requests[1599].Request.Method = "GET"; + _requests[1599].Request.Path = "/subscriptions/33950299-16c1-/resourceGroups/0d8d8ff4-2584-440/providers/Microsoft.Compute/galleries/18de2366-d3/images"; + _requests[1600] = new DefaultHttpContext(); + _requests[1600].RequestServices = CreateServices(); + _requests[1600].Request.Method = "POST"; + _requests[1600].Request.Path = "/subscriptions/b307e549-f9eb-/resourceGroups/ea0c9a75-d938-499/providers/Microsoft.Compute/snapshots/cbf872f3-ace/beginGetAccess"; + _requests[1601] = new DefaultHttpContext(); + _requests[1601].RequestServices = CreateServices(); + _requests[1601].Request.Method = "POST"; + _requests[1601].Request.Path = "/subscriptions/55c13099-132a-/resourceGroups/32838655-5ce3-4d6/providers/Microsoft.Compute/snapshots/a40afda7-97e/endGetAccess"; + _requests[1602] = new DefaultHttpContext(); + _requests[1602].RequestServices = CreateServices(); + _requests[1602].Request.Method = "POST"; + _requests[1602].Request.Path = "/subscriptions/ff3cb6e8-cb82-/resourceGroups/b17b3cbc-8dc0-47b/providers/Microsoft.Compute/virtualMachines/e15c83/capture"; + _requests[1603] = new DefaultHttpContext(); + _requests[1603].RequestServices = CreateServices(); + _requests[1603].Request.Method = "POST"; + _requests[1603].Request.Path = "/subscriptions/37680225-fd4f-/resourceGroups/714bea6a-f69e-49e/providers/Microsoft.Compute/virtualMachines/61321e/convertToManagedDisks"; + _requests[1604] = new DefaultHttpContext(); + _requests[1604].RequestServices = CreateServices(); + _requests[1604].Request.Method = "POST"; + _requests[1604].Request.Path = "/subscriptions/1def0ef3-7468-/resourceGroups/80c6688f-86aa-4a0/providers/Microsoft.Compute/virtualMachines/dcf463/deallocate"; + _requests[1605] = new DefaultHttpContext(); + _requests[1605].RequestServices = CreateServices(); + _requests[1605].Request.Method = "GET"; + _requests[1605].Request.Path = "/subscriptions/c6788d90-927f-/resourceGroups/93a960f6-5eed-44c/providers/Microsoft.Compute/virtualMachines/2696c1/extensions"; + _requests[1606] = new DefaultHttpContext(); + _requests[1606].RequestServices = CreateServices(); + _requests[1606].Request.Method = "POST"; + _requests[1606].Request.Path = "/subscriptions/8267f971-41fb-/resourceGroups/70a60581-7443-4a2/providers/Microsoft.Compute/virtualMachines/db4f2f/generalize"; + _requests[1607] = new DefaultHttpContext(); + _requests[1607].RequestServices = CreateServices(); + _requests[1607].Request.Method = "GET"; + _requests[1607].Request.Path = "/subscriptions/c01b1523-9637-/resourceGroups/19fb5d0a-b823-437/providers/Microsoft.Compute/virtualMachines/7f1e96/instanceView"; + _requests[1608] = new DefaultHttpContext(); + _requests[1608].RequestServices = CreateServices(); + _requests[1608].Request.Method = "POST"; + _requests[1608].Request.Path = "/subscriptions/976a5a21-ce56-/resourceGroups/5923d67f-83fa-4a0/providers/Microsoft.Compute/virtualMachines/ea82e5/performMaintenance"; + _requests[1609] = new DefaultHttpContext(); + _requests[1609].RequestServices = CreateServices(); + _requests[1609].Request.Method = "POST"; + _requests[1609].Request.Path = "/subscriptions/77f5a19d-d77c-/resourceGroups/869e1aa1-2d46-457/providers/Microsoft.Compute/virtualMachines/527509/powerOff"; + _requests[1610] = new DefaultHttpContext(); + _requests[1610].RequestServices = CreateServices(); + _requests[1610].Request.Method = "POST"; + _requests[1610].Request.Path = "/subscriptions/2e8bcff2-48e5-/resourceGroups/ba410b1d-3e5d-4ee/providers/Microsoft.Compute/virtualMachines/9f3dbd/redeploy"; + _requests[1611] = new DefaultHttpContext(); + _requests[1611].RequestServices = CreateServices(); + _requests[1611].Request.Method = "POST"; + _requests[1611].Request.Path = "/subscriptions/143cce93-34cb-/resourceGroups/8dd82508-2986-4f3/providers/Microsoft.Compute/virtualMachines/8930cd/restart"; + _requests[1612] = new DefaultHttpContext(); + _requests[1612].RequestServices = CreateServices(); + _requests[1612].Request.Method = "POST"; + _requests[1612].Request.Path = "/subscriptions/8f449f37-48b1-/resourceGroups/fe35ac35-84ef-4a7/providers/Microsoft.Compute/virtualMachines/0037b3/runCommand"; + _requests[1613] = new DefaultHttpContext(); + _requests[1613].RequestServices = CreateServices(); + _requests[1613].Request.Method = "POST"; + _requests[1613].Request.Path = "/subscriptions/85afddef-43ab-/resourceGroups/c61a8099-7e1d-4d2/providers/Microsoft.Compute/virtualMachines/31807f/start"; + _requests[1614] = new DefaultHttpContext(); + _requests[1614].RequestServices = CreateServices(); + _requests[1614].Request.Method = "GET"; + _requests[1614].Request.Path = "/subscriptions/b7defe70-9a90-/resourceGroups/823d8043-04fb-4a6/providers/Microsoft.Compute/virtualMachines/7f6d7e/vmSizes"; + _requests[1615] = new DefaultHttpContext(); + _requests[1615].RequestServices = CreateServices(); + _requests[1615].Request.Method = "GET"; + _requests[1615].Request.Path = "/subscriptions/15ed2e5b-076b-/resourceGroups/eaa75ca8-4e08-402/providers/microsoft.Compute/virtualMachineScaleSets/40d01389-f77d-4f0b-8763-80/networkInterfaces"; + _requests[1616] = new DefaultHttpContext(); + _requests[1616].RequestServices = CreateServices(); + _requests[1616].Request.Method = "GET"; + _requests[1616].Request.Path = "/subscriptions/c3ca6b1c-2ea4-/resourceGroups/1b73d156-a704-459/providers/Microsoft.Compute/virtualMachineScaleSets/31f2a2a7-1d9c-4e7c-b15f-67/publicipaddresses"; + _requests[1617] = new DefaultHttpContext(); + _requests[1617].RequestServices = CreateServices(); + _requests[1617].Request.Method = "GET"; + _requests[1617].Request.Path = "/subscriptions/d3459809-8838-/resourceGroups/50e4974d-bf94-45a/providers/Microsoft.Compute/virtualMachineScaleSets/cf9b615c-3623-41a4-a342-33/virtualMachines"; + _requests[1618] = new DefaultHttpContext(); + _requests[1618].RequestServices = CreateServices(); + _requests[1618].Request.Method = "POST"; + _requests[1618].Request.Path = "/subscriptions/0ff90d24-ebf6-/resourceGroups/bf648259-8e90-468/providers/Microsoft.Compute/virtualMachineScaleSets/a9fd3888-9d7a-/deallocate"; + _requests[1619] = new DefaultHttpContext(); + _requests[1619].RequestServices = CreateServices(); + _requests[1619].Request.Method = "POST"; + _requests[1619].Request.Path = "/subscriptions/bf77306a-cdec-/resourceGroups/c8379a3f-d1e2-4ec/providers/Microsoft.Compute/virtualMachineScaleSets/49d24726-3d45-/delete"; + _requests[1620] = new DefaultHttpContext(); + _requests[1620].RequestServices = CreateServices(); + _requests[1620].Request.Method = "GET"; + _requests[1620].Request.Path = "/subscriptions/6945e1de-9e31-/resourceGroups/3dae8213-398c-4ac/providers/Microsoft.Compute/virtualMachineScaleSets/1ba3d29e-137b-/extensions"; + _requests[1621] = new DefaultHttpContext(); + _requests[1621].RequestServices = CreateServices(); + _requests[1621].Request.Method = "POST"; + _requests[1621].Request.Path = "/subscriptions/3450bdd3-386a-/resourceGroups/b47b69da-4481-42a/providers/Microsoft.Compute/virtualMachineScaleSets/7d7b3c3c-f6b8-/forceRecoveryServiceFabricPlatformUpdateDomainWalk"; + _requests[1622] = new DefaultHttpContext(); + _requests[1622].RequestServices = CreateServices(); + _requests[1622].Request.Method = "GET"; + _requests[1622].Request.Path = "/subscriptions/bd119471-9bee-/resourceGroups/cd39dfe6-08fb-4d4/providers/Microsoft.Compute/virtualMachineScaleSets/70f4cee4-53cf-/instanceView"; + _requests[1623] = new DefaultHttpContext(); + _requests[1623].RequestServices = CreateServices(); + _requests[1623].Request.Method = "POST"; + _requests[1623].Request.Path = "/subscriptions/938762bd-f7a5-/resourceGroups/a97b03f0-3d6a-45e/providers/Microsoft.Compute/virtualMachineScaleSets/1598090c-d875-/manualupgrade"; + _requests[1624] = new DefaultHttpContext(); + _requests[1624].RequestServices = CreateServices(); + _requests[1624].Request.Method = "POST"; + _requests[1624].Request.Path = "/subscriptions/60ce7899-ad6f-/resourceGroups/fa09b50d-f14c-4b8/providers/Microsoft.Compute/virtualMachineScaleSets/839b42f1-ad1d-/osRollingUpgrade"; + _requests[1625] = new DefaultHttpContext(); + _requests[1625].RequestServices = CreateServices(); + _requests[1625].Request.Method = "GET"; + _requests[1625].Request.Path = "/subscriptions/da30c62b-71d8-/resourceGroups/7a5d63b5-b958-47f/providers/Microsoft.Compute/virtualMachineScaleSets/e1be6862-d1dc-/osUpgradeHistory"; + _requests[1626] = new DefaultHttpContext(); + _requests[1626].RequestServices = CreateServices(); + _requests[1626].Request.Method = "POST"; + _requests[1626].Request.Path = "/subscriptions/4591f199-911b-/resourceGroups/c2e8ba1d-eef1-49b/providers/Microsoft.Compute/virtualMachineScaleSets/4e95e65d-b2e6-/performMaintenance"; + _requests[1627] = new DefaultHttpContext(); + _requests[1627].RequestServices = CreateServices(); + _requests[1627].Request.Method = "POST"; + _requests[1627].Request.Path = "/subscriptions/3033963d-6f49-/resourceGroups/01f6a945-20b1-4df/providers/Microsoft.Compute/virtualMachineScaleSets/55d7909a-a2a5-/poweroff"; + _requests[1628] = new DefaultHttpContext(); + _requests[1628].RequestServices = CreateServices(); + _requests[1628].Request.Method = "POST"; + _requests[1628].Request.Path = "/subscriptions/3d115f0c-2184-/resourceGroups/f950c8d6-15a8-427/providers/Microsoft.Compute/virtualMachineScaleSets/086abfb8-9d01-/redeploy"; + _requests[1629] = new DefaultHttpContext(); + _requests[1629].RequestServices = CreateServices(); + _requests[1629].Request.Method = "POST"; + _requests[1629].Request.Path = "/subscriptions/e5b04d6c-4123-/resourceGroups/3f87ea40-d609-4f6/providers/Microsoft.Compute/virtualMachineScaleSets/7a1f0d6b-86f9-/reimage"; + _requests[1630] = new DefaultHttpContext(); + _requests[1630].RequestServices = CreateServices(); + _requests[1630].Request.Method = "POST"; + _requests[1630].Request.Path = "/subscriptions/dcfe1263-b831-/resourceGroups/ced5e649-6e78-4ba/providers/Microsoft.Compute/virtualMachineScaleSets/bd46a0da-7d0d-/reimageall"; + _requests[1631] = new DefaultHttpContext(); + _requests[1631].RequestServices = CreateServices(); + _requests[1631].Request.Method = "POST"; + _requests[1631].Request.Path = "/subscriptions/f6fbc85c-5722-/resourceGroups/96a2ae94-65b3-484/providers/Microsoft.Compute/virtualMachineScaleSets/12fc12ad-c10b-/restart"; + _requests[1632] = new DefaultHttpContext(); + _requests[1632].RequestServices = CreateServices(); + _requests[1632].Request.Method = "GET"; + _requests[1632].Request.Path = "/subscriptions/0a673f59-ab9c-/resourceGroups/2cedd528-31b4-4ae/providers/Microsoft.Compute/virtualMachineScaleSets/20ed4bef-9d4b-/skus"; + _requests[1633] = new DefaultHttpContext(); + _requests[1633].RequestServices = CreateServices(); + _requests[1633].Request.Method = "POST"; + _requests[1633].Request.Path = "/subscriptions/9e32f12f-e89a-/resourceGroups/df583066-f021-460/providers/Microsoft.Compute/virtualMachineScaleSets/f5238599-ee77-/start"; + _requests[1634] = new DefaultHttpContext(); + _requests[1634].RequestServices = CreateServices(); + _requests[1634].Request.Method = "GET"; + _requests[1634].Request.Path = "/subscriptions/f9ed3930-2340-/resourceGroups/44baec17-e438-46b/providers/Microsoft.ContainerRegistry/registries/3b8e9165-99b/builds"; + _requests[1635] = new DefaultHttpContext(); + _requests[1635].RequestServices = CreateServices(); + _requests[1635].Request.Method = "GET"; + _requests[1635].Request.Path = "/subscriptions/5e39d9a7-678e-/resourceGroups/f07eb1ee-151c-4be/providers/Microsoft.ContainerRegistry/registries/fe3a0292-f89/buildTasks"; + _requests[1636] = new DefaultHttpContext(); + _requests[1636].RequestServices = CreateServices(); + _requests[1636].Request.Method = "POST"; + _requests[1636].Request.Path = "/subscriptions/461f51e9-ec22-/resourceGroups/712442d4-806c-4ce/providers/Microsoft.ContainerRegistry/registries/b459d982-824/getBuildSourceUploadUrl"; + _requests[1637] = new DefaultHttpContext(); + _requests[1637].RequestServices = CreateServices(); + _requests[1637].Request.Method = "POST"; + _requests[1637].Request.Path = "/subscriptions/552d3125-9239-/resourceGroups/2b3e0b3f-6e5c-449/providers/Microsoft.ContainerRegistry/registries/de969142-ee5/getCredentials"; + _requests[1638] = new DefaultHttpContext(); + _requests[1638].RequestServices = CreateServices(); + _requests[1638].Request.Method = "POST"; + _requests[1638].Request.Path = "/subscriptions/96533f92-a7b6-/resourceGroups/219c3221-9f10-442/providers/Microsoft.ContainerRegistry/registries/2875494f-9be/importImage"; + _requests[1639] = new DefaultHttpContext(); + _requests[1639].RequestServices = CreateServices(); + _requests[1639].Request.Method = "POST"; + _requests[1639].Request.Path = "/subscriptions/de2611c2-e264-/resourceGroups/9b04de0f-b651-4cb/providers/Microsoft.ContainerRegistry/registries/48d06f7b-882/listCredentials"; + _requests[1640] = new DefaultHttpContext(); + _requests[1640].RequestServices = CreateServices(); + _requests[1640].Request.Method = "GET"; + _requests[1640].Request.Path = "/subscriptions/5d8f9be6-7f6f-/resourceGroups/0d84b8b0-c471-407/providers/Microsoft.ContainerRegistry/registries/047f4c13-d84/listUsages"; + _requests[1641] = new DefaultHttpContext(); + _requests[1641].RequestServices = CreateServices(); + _requests[1641].Request.Method = "POST"; + _requests[1641].Request.Path = "/subscriptions/ea9144bc-d40d-/resourceGroups/b443e48d-e14d-4e6/providers/Microsoft.ContainerRegistry/registries/cb8f1c5b-3fe/queueBuild"; + _requests[1642] = new DefaultHttpContext(); + _requests[1642].RequestServices = CreateServices(); + _requests[1642].Request.Method = "POST"; + _requests[1642].Request.Path = "/subscriptions/5bae28e3-12b0-/resourceGroups/fceb97fd-40ef-41e/providers/Microsoft.ContainerRegistry/registries/621873d1-257/regenerateCredential"; + _requests[1643] = new DefaultHttpContext(); + _requests[1643].RequestServices = CreateServices(); + _requests[1643].Request.Method = "POST"; + _requests[1643].Request.Path = "/subscriptions/3225da48-c2ac-/resourceGroups/68dc2902-0f73-4c6/providers/Microsoft.ContainerRegistry/registries/9ba2061b-f63/regenerateCredentials"; + _requests[1644] = new DefaultHttpContext(); + _requests[1644].RequestServices = CreateServices(); + _requests[1644].Request.Method = "GET"; + _requests[1644].Request.Path = "/subscriptions/198f6134-0dc0-/resourceGroups/e10bf1f5-4629-485/providers/Microsoft.ContainerRegistry/registries/36f19306-4dc/replications"; + _requests[1645] = new DefaultHttpContext(); + _requests[1645].RequestServices = CreateServices(); + _requests[1645].Request.Method = "GET"; + _requests[1645].Request.Path = "/subscriptions/c786be8b-4fd4-/resourceGroups/9625388d-ac04-424/providers/Microsoft.ContainerRegistry/registries/9fcecec4-072/webhooks"; + _requests[1646] = new DefaultHttpContext(); + _requests[1646].RequestServices = CreateServices(); + _requests[1646].Request.Method = "GET"; + _requests[1646].Request.Path = "/subscriptions/758bf5cf-c780-/resourceGroups/da0ea8b8-8ff8-43b/providers/Microsoft.CustomerInsights/hubs/85eaf98/authorizationPolicies"; + _requests[1647] = new DefaultHttpContext(); + _requests[1647].RequestServices = CreateServices(); + _requests[1647].Request.Method = "GET"; + _requests[1647].Request.Path = "/subscriptions/4250a4ad-a89f-/resourceGroups/ce1d4498-ff39-424/providers/Microsoft.CustomerInsights/hubs/45ab975/connectors"; + _requests[1648] = new DefaultHttpContext(); + _requests[1648].RequestServices = CreateServices(); + _requests[1648].Request.Method = "GET"; + _requests[1648].Request.Path = "/subscriptions/afdefaca-8aaf-/resourceGroups/d16c2d4c-26d4-425/providers/Microsoft.CustomerInsights/hubs/2cab18f/interactions"; + _requests[1649] = new DefaultHttpContext(); + _requests[1649].RequestServices = CreateServices(); + _requests[1649].Request.Method = "GET"; + _requests[1649].Request.Path = "/subscriptions/b67b3ac6-3a88-/resourceGroups/e34502b1-bf64-462/providers/Microsoft.CustomerInsights/hubs/4500a0b/kpi"; + _requests[1650] = new DefaultHttpContext(); + _requests[1650].RequestServices = CreateServices(); + _requests[1650].Request.Method = "GET"; + _requests[1650].Request.Path = "/subscriptions/f738af59-121d-/resourceGroups/51909e2c-0191-48d/providers/Microsoft.CustomerInsights/hubs/52d7fc3/links"; + _requests[1651] = new DefaultHttpContext(); + _requests[1651].RequestServices = CreateServices(); + _requests[1651].Request.Method = "GET"; + _requests[1651].Request.Path = "/subscriptions/606f2d67-d76d-/resourceGroups/3296b0d3-afd6-413/providers/Microsoft.CustomerInsights/hubs/98e0faa/predictions"; + _requests[1652] = new DefaultHttpContext(); + _requests[1652].RequestServices = CreateServices(); + _requests[1652].Request.Method = "GET"; + _requests[1652].Request.Path = "/subscriptions/7c5a9a8a-1e01-/resourceGroups/7800e8fc-2f0f-406/providers/Microsoft.CustomerInsights/hubs/61daf76/profiles"; + _requests[1653] = new DefaultHttpContext(); + _requests[1653].RequestServices = CreateServices(); + _requests[1653].Request.Method = "GET"; + _requests[1653].Request.Path = "/subscriptions/11104193-f94e-/resourceGroups/0355e34e-152f-4e0/providers/Microsoft.CustomerInsights/hubs/2408c60/relationshipLinks"; + _requests[1654] = new DefaultHttpContext(); + _requests[1654].RequestServices = CreateServices(); + _requests[1654].Request.Method = "GET"; + _requests[1654].Request.Path = "/subscriptions/3fbb84b6-de68-/resourceGroups/bd43ebc5-8834-413/providers/Microsoft.CustomerInsights/hubs/16cd7dc/relationships"; + _requests[1655] = new DefaultHttpContext(); + _requests[1655].RequestServices = CreateServices(); + _requests[1655].Request.Method = "GET"; + _requests[1655].Request.Path = "/subscriptions/c4358cc0-d8f5-/resourceGroups/74c95ab0-d6e3-407/providers/Microsoft.CustomerInsights/hubs/a46aab5/roleAssignments"; + _requests[1656] = new DefaultHttpContext(); + _requests[1656].RequestServices = CreateServices(); + _requests[1656].Request.Method = "GET"; + _requests[1656].Request.Path = "/subscriptions/4e8b085d-f9aa-/resourceGroups/6a23670d-00eb-48c/providers/Microsoft.CustomerInsights/hubs/b5d6902/roles"; + _requests[1657] = new DefaultHttpContext(); + _requests[1657].RequestServices = CreateServices(); + _requests[1657].Request.Method = "GET"; + _requests[1657].Request.Path = "/subscriptions/79a88d69-8709-/resourceGroups/7aa84a18-179d-4a3/providers/Microsoft.CustomerInsights/hubs/e58329d/views"; + _requests[1658] = new DefaultHttpContext(); + _requests[1658].RequestServices = CreateServices(); + _requests[1658].Request.Method = "GET"; + _requests[1658].Request.Path = "/subscriptions/b4ecf599-85fc-/resourceGroups/efac23ec-0c94-4f9/providers/Microsoft.CustomerInsights/hubs/30883e6/widgetTypes"; + _requests[1659] = new DefaultHttpContext(); + _requests[1659].RequestServices = CreateServices(); + _requests[1659].Request.Method = "POST"; + _requests[1659].Request.Path = "/subscriptions/3fa5672b-1ad5-/resourceGroups/404e707e-bcc8-430/providers/Microsoft.DataBox/jobs/b6a586c/bookShipmentPickUp"; + _requests[1660] = new DefaultHttpContext(); + _requests[1660].RequestServices = CreateServices(); + _requests[1660].Request.Method = "POST"; + _requests[1660].Request.Path = "/subscriptions/952fde98-e26c-/resourceGroups/88ac30dc-7d34-4ee/providers/Microsoft.DataBox/jobs/3ce2ae6/cancel"; + _requests[1661] = new DefaultHttpContext(); + _requests[1661].RequestServices = CreateServices(); + _requests[1661].Request.Method = "POST"; + _requests[1661].Request.Path = "/subscriptions/b100b68c-0236-/resourceGroups/4b5ae0db-5ab6-493/providers/Microsoft.DataBox/jobs/b30b9e9/copyLogsUri"; + _requests[1662] = new DefaultHttpContext(); + _requests[1662].RequestServices = CreateServices(); + _requests[1662].Request.Method = "POST"; + _requests[1662].Request.Path = "/subscriptions/69f20c8f-2759-/resourceGroups/0030a34b-e89b-47d/providers/Microsoft.DataBox/jobs/777c200/downloadShippingLabel"; + _requests[1663] = new DefaultHttpContext(); + _requests[1663].RequestServices = CreateServices(); + _requests[1663].Request.Method = "POST"; + _requests[1663].Request.Path = "/subscriptions/59ed9ebc-a70e-/resourceGroups/0a7bc8cc-1314-460/providers/Microsoft.DataBox/jobs/ae9b1c5/listSecrets"; + _requests[1664] = new DefaultHttpContext(); + _requests[1664].RequestServices = CreateServices(); + _requests[1664].Request.Method = "POST"; + _requests[1664].Request.Path = "/subscriptions/bd0d8987-a3d6-/resourceGroups/c604d3e0-1b4f-414/providers/Microsoft.DataBox/jobs/901990b/reportIssue"; + _requests[1665] = new DefaultHttpContext(); + _requests[1665].RequestServices = CreateServices(); + _requests[1665].Request.Method = "GET"; + _requests[1665].Request.Path = "/subscriptions/3e2a1900-2621-/resourceGroups/cb0d0f31-d6a5-47f/providers/Microsoft.DataFactory/factories/cf0ed08f-10/datasets"; + _requests[1666] = new DefaultHttpContext(); + _requests[1666].RequestServices = CreateServices(); + _requests[1666].Request.Method = "GET"; + _requests[1666].Request.Path = "/subscriptions/cd5768ef-61e5-/resourceGroups/4f8269a5-78a3-4d1/providers/Microsoft.DataFactory/factories/9a7ae3dd-1a/integrationRuntimes"; + _requests[1667] = new DefaultHttpContext(); + _requests[1667].RequestServices = CreateServices(); + _requests[1667].Request.Method = "GET"; + _requests[1667].Request.Path = "/subscriptions/ad64aac8-513b-/resourceGroups/fe419a93-22e3-477/providers/Microsoft.DataFactory/factories/c892b9ad-b1/linkedservices"; + _requests[1668] = new DefaultHttpContext(); + _requests[1668].RequestServices = CreateServices(); + _requests[1668].Request.Method = "POST"; + _requests[1668].Request.Path = "/subscriptions/54148621-8a58-/resourceGroups/37f7adba-60cd-4e7/providers/Microsoft.DataFactory/factories/3657b9cf-c6/pipelineruns"; + _requests[1669] = new DefaultHttpContext(); + _requests[1669].RequestServices = CreateServices(); + _requests[1669].Request.Method = "GET"; + _requests[1669].Request.Path = "/subscriptions/958f094b-6c0f-/resourceGroups/42953364-c79e-4ee/providers/Microsoft.DataFactory/factories/31120246-82/pipelines"; + _requests[1670] = new DefaultHttpContext(); + _requests[1670].RequestServices = CreateServices(); + _requests[1670].Request.Method = "GET"; + _requests[1670].Request.Path = "/subscriptions/3541afd9-034e-/resourceGroups/5d62db6e-e097-420/providers/Microsoft.DataFactory/factories/e71ff6f4-8b/triggers"; + _requests[1671] = new DefaultHttpContext(); + _requests[1671].RequestServices = CreateServices(); + _requests[1671].Request.Method = "GET"; + _requests[1671].Request.Path = "/subscriptions/349b3bd1-7d29-/resourceGroups/fceca62e-e039-45f/providers/Microsoft.DataLakeAnalytics/accounts/56e265f3-76/computePolicies"; + _requests[1672] = new DefaultHttpContext(); + _requests[1672].RequestServices = CreateServices(); + _requests[1672].Request.Method = "GET"; + _requests[1672].Request.Path = "/subscriptions/d1f0af2b-e995-/resourceGroups/06a3bb37-51b1-4c0/providers/Microsoft.DataLakeAnalytics/accounts/2e749a1c-12/dataLakeStoreAccounts"; + _requests[1673] = new DefaultHttpContext(); + _requests[1673].RequestServices = CreateServices(); + _requests[1673].Request.Method = "GET"; + _requests[1673].Request.Path = "/subscriptions/c1855f9e-85be-/resourceGroups/42a0528c-9a5b-4d9/providers/Microsoft.DataLakeAnalytics/accounts/84f2479a-af/firewallRules"; + _requests[1674] = new DefaultHttpContext(); + _requests[1674].RequestServices = CreateServices(); + _requests[1674].Request.Method = "GET"; + _requests[1674].Request.Path = "/subscriptions/c9ece2ed-a985-/resourceGroups/e13b8efc-4668-438/providers/Microsoft.DataLakeAnalytics/accounts/37a3bdd1-5f/storageAccounts"; + _requests[1675] = new DefaultHttpContext(); + _requests[1675].RequestServices = CreateServices(); + _requests[1675].Request.Method = "POST"; + _requests[1675].Request.Path = "/subscriptions/ced3d6ce-a324-/resourceGroups/d9521b78-0886-4f0/providers/Microsoft.DataLakeStore/accounts/0f64d201-eb/enableKeyVault"; + _requests[1676] = new DefaultHttpContext(); + _requests[1676].RequestServices = CreateServices(); + _requests[1676].Request.Method = "GET"; + _requests[1676].Request.Path = "/subscriptions/4829cc66-a4e6-/resourceGroups/df4d6835-94c0-45a/providers/Microsoft.DataLakeStore/accounts/e14f7b6b-a6/firewallRules"; + _requests[1677] = new DefaultHttpContext(); + _requests[1677].RequestServices = CreateServices(); + _requests[1677].Request.Method = "GET"; + _requests[1677].Request.Path = "/subscriptions/bc6a5b4c-a2b1-/resourceGroups/40525f89-612a-417/providers/Microsoft.DataLakeStore/accounts/86202e17-d1/trustedIdProviders"; + _requests[1678] = new DefaultHttpContext(); + _requests[1678].RequestServices = CreateServices(); + _requests[1678].Request.Method = "GET"; + _requests[1678].Request.Path = "/subscriptions/1fe13a68-51ea-/resourceGroups/267ed658-f5a9-453/providers/Microsoft.DataLakeStore/accounts/fcec99a8-5b/virtualNetworkRules"; + _requests[1679] = new DefaultHttpContext(); + _requests[1679].RequestServices = CreateServices(); + _requests[1679].Request.Method = "GET"; + _requests[1679].Request.Path = "/subscriptions/fac7bc06-b2a2-/resourceGroups/be4a7840-ec7c-400/providers/Microsoft.DBforMySQL/servers/bbac970f-0/configurations"; + _requests[1680] = new DefaultHttpContext(); + _requests[1680].RequestServices = CreateServices(); + _requests[1680].Request.Method = "GET"; + _requests[1680].Request.Path = "/subscriptions/790d2a5a-4278-/resourceGroups/c792a9f5-c9ee-4fa/providers/Microsoft.DBforMySQL/servers/ea6f1284-5/databases"; + _requests[1681] = new DefaultHttpContext(); + _requests[1681].RequestServices = CreateServices(); + _requests[1681].Request.Method = "GET"; + _requests[1681].Request.Path = "/subscriptions/b5d54e36-3c0a-/resourceGroups/b2ebc5f2-9c07-462/providers/Microsoft.DBforMySQL/servers/6898516e-b/firewallRules"; + _requests[1682] = new DefaultHttpContext(); + _requests[1682].RequestServices = CreateServices(); + _requests[1682].Request.Method = "GET"; + _requests[1682].Request.Path = "/subscriptions/8ae4b182-d8a2-/resourceGroups/9a27f303-b888-4ed/providers/Microsoft.DBforMySQL/servers/5f3499fb-0/logFiles"; + _requests[1683] = new DefaultHttpContext(); + _requests[1683].RequestServices = CreateServices(); + _requests[1683].Request.Method = "GET"; + _requests[1683].Request.Path = "/subscriptions/b8de2536-21e2-/resourceGroups/fa2bdb93-154c-4b1/providers/Microsoft.DBforMySQL/servers/bb7d2126-8/virtualNetworkRules"; + _requests[1684] = new DefaultHttpContext(); + _requests[1684].RequestServices = CreateServices(); + _requests[1684].Request.Method = "GET"; + _requests[1684].Request.Path = "/subscriptions/98532b03-37f8-/resourceGroups/316fa149-a4c1-4de/providers/Microsoft.DBforPostgreSQL/servers/4dfe3610-e/configurations"; + _requests[1685] = new DefaultHttpContext(); + _requests[1685].RequestServices = CreateServices(); + _requests[1685].Request.Method = "GET"; + _requests[1685].Request.Path = "/subscriptions/5a5b0fbd-e9a2-/resourceGroups/0a801b41-8959-4fd/providers/Microsoft.DBforPostgreSQL/servers/582274cc-9/databases"; + _requests[1686] = new DefaultHttpContext(); + _requests[1686].RequestServices = CreateServices(); + _requests[1686].Request.Method = "GET"; + _requests[1686].Request.Path = "/subscriptions/9e01b565-aadd-/resourceGroups/7b156dcd-3990-40d/providers/Microsoft.DBforPostgreSQL/servers/fd97d1cc-4/firewallRules"; + _requests[1687] = new DefaultHttpContext(); + _requests[1687].RequestServices = CreateServices(); + _requests[1687].Request.Method = "GET"; + _requests[1687].Request.Path = "/subscriptions/1b3e5a58-89bd-/resourceGroups/ee2ada13-4767-461/providers/Microsoft.DBforPostgreSQL/servers/bdc4caef-3/logFiles"; + _requests[1688] = new DefaultHttpContext(); + _requests[1688].RequestServices = CreateServices(); + _requests[1688].Request.Method = "GET"; + _requests[1688].Request.Path = "/subscriptions/73f08883-0dc4-/resourceGroups/23510aea-79dc-471/providers/Microsoft.DBforPostgreSQL/servers/0d29eb91-3/virtualNetworkRules"; + _requests[1689] = new DefaultHttpContext(); + _requests[1689].RequestServices = CreateServices(); + _requests[1689].Request.Method = "GET"; + _requests[1689].Request.Path = "/subscriptions/cfea6607-fcc8-/resourceGroups/361fe189-3a43-4d7/providers/Microsoft.Devices/IotHubs/187999ae-c/routingEndpointsHealth"; + _requests[1690] = new DefaultHttpContext(); + _requests[1690].RequestServices = CreateServices(); + _requests[1690].Request.Method = "GET"; + _requests[1690].Request.Path = "/subscriptions/1f8071d6-ac33-/resourceGroups/67fd36d4-3971-437/providers/Microsoft.Devices/IotHubs/0be14169-db1/certificates"; + _requests[1691] = new DefaultHttpContext(); + _requests[1691].RequestServices = CreateServices(); + _requests[1691].Request.Method = "POST"; + _requests[1691].Request.Path = "/subscriptions/3c41d973-c018-/resourceGroups/45552e8f-a643-4b3/providers/Microsoft.Devices/IotHubs/c6824078-a49/exportDevices"; + _requests[1692] = new DefaultHttpContext(); + _requests[1692].RequestServices = CreateServices(); + _requests[1692].Request.Method = "POST"; + _requests[1692].Request.Path = "/subscriptions/bc924be0-457e-/resourceGroups/6e5fd657-c38d-44e/providers/Microsoft.Devices/IotHubs/34cd9dd8-33d/importDevices"; + _requests[1693] = new DefaultHttpContext(); + _requests[1693].RequestServices = CreateServices(); + _requests[1693].Request.Method = "GET"; + _requests[1693].Request.Path = "/subscriptions/4a3c9d4e-981e-/resourceGroups/fcf7bb39-627c-4a3/providers/Microsoft.Devices/IotHubs/fee45629-d16/IotHubStats"; + _requests[1694] = new DefaultHttpContext(); + _requests[1694].RequestServices = CreateServices(); + _requests[1694].Request.Method = "GET"; + _requests[1694].Request.Path = "/subscriptions/9ef63680-c4d3-/resourceGroups/e20a4649-8d4e-419/providers/Microsoft.Devices/IotHubs/3e221463-936/jobs"; + _requests[1695] = new DefaultHttpContext(); + _requests[1695].RequestServices = CreateServices(); + _requests[1695].Request.Method = "POST"; + _requests[1695].Request.Path = "/subscriptions/de7821b7-ff8e-/resourceGroups/d7a83753-c310-491/providers/Microsoft.Devices/IotHubs/045a6ba7-9b6/listkeys"; + _requests[1696] = new DefaultHttpContext(); + _requests[1696].RequestServices = CreateServices(); + _requests[1696].Request.Method = "GET"; + _requests[1696].Request.Path = "/subscriptions/144de93f-7317-/resourceGroups/8645e07d-945f-469/providers/Microsoft.Devices/IotHubs/0c4c026e-388/quotaMetrics"; + _requests[1697] = new DefaultHttpContext(); + _requests[1697].RequestServices = CreateServices(); + _requests[1697].Request.Method = "GET"; + _requests[1697].Request.Path = "/subscriptions/b46c0624-378a-/resourceGroups/37e57355-3cbb-40b/providers/Microsoft.Devices/IotHubs/c35d9447-e08/skus"; + _requests[1698] = new DefaultHttpContext(); + _requests[1698].RequestServices = CreateServices(); + _requests[1698].Request.Method = "GET"; + _requests[1698].Request.Path = "/subscriptions/a0aafb21-0f21-/resourceGroups/d176964e-8f87-412/providers/Microsoft.Devices/provisioningServices/3a1afd2d-dffc-449a-a141/certificates"; + _requests[1699] = new DefaultHttpContext(); + _requests[1699].RequestServices = CreateServices(); + _requests[1699].Request.Method = "POST"; + _requests[1699].Request.Path = "/subscriptions/7a86191f-7cfc-/resourceGroups/57a967f1-76c2-479/providers/Microsoft.Devices/provisioningServices/a1c24f45-9c8e-4e7f-ab1f/listkeys"; + _requests[1700] = new DefaultHttpContext(); + _requests[1700].RequestServices = CreateServices(); + _requests[1700].Request.Method = "GET"; + _requests[1700].Request.Path = "/subscriptions/7347c3f8-556c-/resourceGroups/b7ce6d97-2d73-493/providers/Microsoft.Devices/provisioningServices/f9e93bab-cabe-411d-8f7a/skus"; + _requests[1701] = new DefaultHttpContext(); + _requests[1701].RequestServices = CreateServices(); + _requests[1701].Request.Method = "GET"; + _requests[1701].Request.Path = "/subscriptions/e7ae99ad-6997-/resourceGroups/5faac96b-bbbd-4bf/providers/Microsoft.DevTestLab/labs/4baca89/artifactsources"; + _requests[1702] = new DefaultHttpContext(); + _requests[1702].RequestServices = CreateServices(); + _requests[1702].Request.Method = "GET"; + _requests[1702].Request.Path = "/subscriptions/84c6253e-bcd0-/resourceGroups/15c825c4-c8e1-4b8/providers/Microsoft.DevTestLab/labs/d9be4c6/costinsights"; + _requests[1703] = new DefaultHttpContext(); + _requests[1703].RequestServices = CreateServices(); + _requests[1703].Request.Method = "GET"; + _requests[1703].Request.Path = "/subscriptions/c77d5f66-d159-/resourceGroups/0a59f41d-5822-4b5/providers/Microsoft.DevTestLab/labs/de6b693/costs"; + _requests[1704] = new DefaultHttpContext(); + _requests[1704].RequestServices = CreateServices(); + _requests[1704].Request.Method = "GET"; + _requests[1704].Request.Path = "/subscriptions/fdcf2619-8ce1-/resourceGroups/3c8559ac-515e-48f/providers/Microsoft.DevTestLab/labs/bb62f1b/customimages"; + _requests[1705] = new DefaultHttpContext(); + _requests[1705].RequestServices = CreateServices(); + _requests[1705].Request.Method = "GET"; + _requests[1705].Request.Path = "/subscriptions/fa06c47a-cc01-/resourceGroups/1ec40c05-2bbe-482/providers/Microsoft.DevTestLab/labs/cc68f43/formulas"; + _requests[1706] = new DefaultHttpContext(); + _requests[1706].RequestServices = CreateServices(); + _requests[1706].Request.Method = "GET"; + _requests[1706].Request.Path = "/subscriptions/49997d56-b3f2-/resourceGroups/d6a7790e-3872-4e0/providers/Microsoft.DevTestLab/labs/9504481/galleryimages"; + _requests[1707] = new DefaultHttpContext(); + _requests[1707].RequestServices = CreateServices(); + _requests[1707].Request.Method = "GET"; + _requests[1707].Request.Path = "/subscriptions/b7103056-b5c5-/resourceGroups/a220c9ff-8a28-470/providers/Microsoft.DevTestLab/labs/489691c/notificationchannels"; + _requests[1708] = new DefaultHttpContext(); + _requests[1708].RequestServices = CreateServices(); + _requests[1708].Request.Method = "GET"; + _requests[1708].Request.Path = "/subscriptions/40312af4-64b4-/resourceGroups/bc8f85fe-9bd8-47f/providers/Microsoft.DevTestLab/labs/45f333a/schedules"; + _requests[1709] = new DefaultHttpContext(); + _requests[1709].RequestServices = CreateServices(); + _requests[1709].Request.Method = "GET"; + _requests[1709].Request.Path = "/subscriptions/fab8f2d3-58e0-/resourceGroups/98dd929a-2dd9-420/providers/Microsoft.DevTestLab/labs/c9e64a4/servicerunners"; + _requests[1710] = new DefaultHttpContext(); + _requests[1710].RequestServices = CreateServices(); + _requests[1710].Request.Method = "GET"; + _requests[1710].Request.Path = "/subscriptions/939b86d9-0509-/resourceGroups/a53b01d6-487e-4cd/providers/Microsoft.DevTestLab/labs/64556d4/users"; + _requests[1711] = new DefaultHttpContext(); + _requests[1711].RequestServices = CreateServices(); + _requests[1711].Request.Method = "GET"; + _requests[1711].Request.Path = "/subscriptions/8474b3eb-a5c5-/resourceGroups/94c243b8-9752-47a/providers/Microsoft.DevTestLab/labs/63e7623/virtualmachines"; + _requests[1712] = new DefaultHttpContext(); + _requests[1712].RequestServices = CreateServices(); + _requests[1712].Request.Method = "GET"; + _requests[1712].Request.Path = "/subscriptions/e578cd96-ba6a-/resourceGroups/da93ffce-4caa-40f/providers/Microsoft.DevTestLab/labs/cf1ae19/virtualnetworks"; + _requests[1713] = new DefaultHttpContext(); + _requests[1713].RequestServices = CreateServices(); + _requests[1713].Request.Method = "POST"; + _requests[1713].Request.Path = "/subscriptions/20fcf4c1-fbb8-/resourceGroups/76acf505-4f19-4d3/providers/Microsoft.DevTestLab/labs/1def8/claimAnyVm"; + _requests[1714] = new DefaultHttpContext(); + _requests[1714].RequestServices = CreateServices(); + _requests[1714].Request.Method = "POST"; + _requests[1714].Request.Path = "/subscriptions/1757a2fb-96e2-/resourceGroups/70317207-8151-4b5/providers/Microsoft.DevTestLab/labs/7fa0d/createEnvironment"; + _requests[1715] = new DefaultHttpContext(); + _requests[1715].RequestServices = CreateServices(); + _requests[1715].Request.Method = "POST"; + _requests[1715].Request.Path = "/subscriptions/6017ea56-0d1f-/resourceGroups/10ba5529-6e50-4c0/providers/Microsoft.DevTestLab/labs/84b9f/exportResourceUsage"; + _requests[1716] = new DefaultHttpContext(); + _requests[1716].RequestServices = CreateServices(); + _requests[1716].Request.Method = "POST"; + _requests[1716].Request.Path = "/subscriptions/d06b360c-4057-/resourceGroups/05e9a676-6575-40c/providers/Microsoft.DevTestLab/labs/91604/generateUploadUri"; + _requests[1717] = new DefaultHttpContext(); + _requests[1717].RequestServices = CreateServices(); + _requests[1717].Request.Method = "POST"; + _requests[1717].Request.Path = "/subscriptions/6cce448f-c272-/resourceGroups/d24dc18d-8d59-4f9/providers/Microsoft.DevTestLab/labs/eb396/listVhds"; + _requests[1718] = new DefaultHttpContext(); + _requests[1718].RequestServices = CreateServices(); + _requests[1718].Request.Method = "POST"; + _requests[1718].Request.Path = "/subscriptions/e484b10f-b4ee-/resourceGroups/c52fa079-6fa6-480/providers/Microsoft.DevTestLab/schedules/e8cbd/execute"; + _requests[1719] = new DefaultHttpContext(); + _requests[1719].RequestServices = CreateServices(); + _requests[1719].Request.Method = "POST"; + _requests[1719].Request.Path = "/subscriptions/357df322-33f4-/resourceGroups/087a4b1f-e0e8-42f/providers/Microsoft.DevTestLab/schedules/3aa59/retarget"; + _requests[1720] = new DefaultHttpContext(); + _requests[1720].RequestServices = CreateServices(); + _requests[1720].Request.Method = "POST"; + _requests[1720].Request.Path = "/subscriptions/9f921df1-2e62-/resourceGroups/b5bbe978-3acb-451/providers/Microsoft.DocumentDB/databaseAccounts/dc3446db-3e/failoverPriorityChange"; + _requests[1721] = new DefaultHttpContext(); + _requests[1721].RequestServices = CreateServices(); + _requests[1721].Request.Method = "POST"; + _requests[1721].Request.Path = "/subscriptions/bee6b242-2c82-/resourceGroups/0ff78aa9-a850-4a9/providers/Microsoft.DocumentDB/databaseAccounts/e8f0257a-40/listConnectionStrings"; + _requests[1722] = new DefaultHttpContext(); + _requests[1722].RequestServices = CreateServices(); + _requests[1722].Request.Method = "POST"; + _requests[1722].Request.Path = "/subscriptions/953eb631-3acc-/resourceGroups/fb05824f-43c6-492/providers/Microsoft.DocumentDB/databaseAccounts/40de3c20-57/listKeys"; + _requests[1723] = new DefaultHttpContext(); + _requests[1723].RequestServices = CreateServices(); + _requests[1723].Request.Method = "GET"; + _requests[1723].Request.Path = "/subscriptions/b6edbb18-6249-/resourceGroups/76094aad-3cb7-404/providers/Microsoft.DocumentDB/databaseAccounts/bcb17202-5d/metricDefinitions"; + _requests[1724] = new DefaultHttpContext(); + _requests[1724].RequestServices = CreateServices(); + _requests[1724].Request.Method = "GET"; + _requests[1724].Request.Path = "/subscriptions/c32e3995-4390-/resourceGroups/28fba584-68f8-437/providers/Microsoft.DocumentDB/databaseAccounts/11c19060-cf/metrics"; + _requests[1725] = new DefaultHttpContext(); + _requests[1725].RequestServices = CreateServices(); + _requests[1725].Request.Method = "POST"; + _requests[1725].Request.Path = "/subscriptions/5a4741b4-3792-/resourceGroups/d1760d1b-ce1b-40f/providers/Microsoft.DocumentDB/databaseAccounts/5d788561-9e/offlineRegion"; + _requests[1726] = new DefaultHttpContext(); + _requests[1726].RequestServices = CreateServices(); + _requests[1726].Request.Method = "POST"; + _requests[1726].Request.Path = "/subscriptions/17a5bd17-9be1-/resourceGroups/dd55d344-da99-472/providers/Microsoft.DocumentDB/databaseAccounts/d008d391-d1/onlineRegion"; + _requests[1727] = new DefaultHttpContext(); + _requests[1727].RequestServices = CreateServices(); + _requests[1727].Request.Method = "GET"; + _requests[1727].Request.Path = "/subscriptions/1decb3f7-6e4c-/resourceGroups/96c866f2-4a9f-4ea/providers/Microsoft.DocumentDB/databaseAccounts/3bbfa870-fd/readonlykeys"; + _requests[1728] = new DefaultHttpContext(); + _requests[1728].RequestServices = CreateServices(); + _requests[1728].Request.Method = "POST"; + _requests[1728].Request.Path = "/subscriptions/a273b191-ef86-/resourceGroups/8b28f256-3539-4c0/providers/Microsoft.DocumentDB/databaseAccounts/49548db8-0a/regenerateKey"; + _requests[1729] = new DefaultHttpContext(); + _requests[1729].RequestServices = CreateServices(); + _requests[1729].Request.Method = "GET"; + _requests[1729].Request.Path = "/subscriptions/eac3d184-532f-/resourceGroups/a16c9330-351d-40d/providers/Microsoft.DocumentDB/databaseAccounts/ec426f5d-10/usages"; + _requests[1730] = new DefaultHttpContext(); + _requests[1730].RequestServices = CreateServices(); + _requests[1730].Request.Method = "GET"; + _requests[1730].Request.Path = "/subscriptions/6417ad94-81ea-/resourceGroups/b5792483-8dd1-495/providers/Microsoft.DomainRegistration/domains/efd05557-e/domainOwnershipIdentifiers"; + _requests[1731] = new DefaultHttpContext(); + _requests[1731].RequestServices = CreateServices(); + _requests[1731].Request.Method = "POST"; + _requests[1731].Request.Path = "/subscriptions/ef478f19-f511-/resourceGroups/50c235ed-a2a0-42b/providers/Microsoft.DomainRegistration/domains/e88ac183-a/renew"; + _requests[1732] = new DefaultHttpContext(); + _requests[1732].RequestServices = CreateServices(); + _requests[1732].Request.Method = "GET"; + _requests[1732].Request.Path = "/subscriptions/f2f424d9-0d92-/resourceGroups/e9dc471e-e2c9-48f/providers/Microsoft.EventGrid/locations/3be5d73e/eventSubscriptions"; + _requests[1733] = new DefaultHttpContext(); + _requests[1733].RequestServices = CreateServices(); + _requests[1733].Request.Method = "POST"; + _requests[1733].Request.Path = "/subscriptions/0915a492-f3cb-/resourceGroups/50b8f6ab-0a0c-448/providers/Microsoft.EventGrid/topics/e58113f2-/listKeys"; + _requests[1734] = new DefaultHttpContext(); + _requests[1734].RequestServices = CreateServices(); + _requests[1734].Request.Method = "POST"; + _requests[1734].Request.Path = "/subscriptions/ba9109da-f57a-/resourceGroups/8c011e6b-89c9-4bd/providers/Microsoft.EventGrid/topics/1ecab9aa-/regenerateKey"; + _requests[1735] = new DefaultHttpContext(); + _requests[1735].RequestServices = CreateServices(); + _requests[1735].Request.Method = "GET"; + _requests[1735].Request.Path = "/subscriptions/415457f4-b218-/resourceGroups/3c618fc5-6828-42d/providers/Microsoft.EventGrid/topicTypes/b15e8105-9a0e/eventSubscriptions"; + _requests[1736] = new DefaultHttpContext(); + _requests[1736].RequestServices = CreateServices(); + _requests[1736].Request.Method = "GET"; + _requests[1736].Request.Path = "/subscriptions/6fd8ae55-1e44-/resourceGroups/0d96abbb-bcf8-443/providers/Microsoft.EventHub/namespaces/3f765945-6f99/AuthorizationRules"; + _requests[1737] = new DefaultHttpContext(); + _requests[1737].RequestServices = CreateServices(); + _requests[1737].Request.Method = "GET"; + _requests[1737].Request.Path = "/subscriptions/a21c6bce-ac29-/resourceGroups/89980a64-3257-4b2/providers/Microsoft.EventHub/namespaces/ef22bdd0-054c/disasterRecoveryConfigs"; + _requests[1738] = new DefaultHttpContext(); + _requests[1738].RequestServices = CreateServices(); + _requests[1738].Request.Method = "GET"; + _requests[1738].Request.Path = "/subscriptions/6e551fa4-5e77-/resourceGroups/7ea8fd3e-e317-4ac/providers/Microsoft.EventHub/namespaces/dda4d796-31e1/eventhubs"; + _requests[1739] = new DefaultHttpContext(); + _requests[1739].RequestServices = CreateServices(); + _requests[1739].Request.Method = "GET"; + _requests[1739].Request.Path = "/subscriptions/c3174576-ac92-/resourceGroups/029e09b5-f481-400/providers/Microsoft.EventHub/namespaces/2c215e4d-dc0c/messagingplan"; + _requests[1740] = new DefaultHttpContext(); + _requests[1740].RequestServices = CreateServices(); + _requests[1740].Request.Method = "GET"; + _requests[1740].Request.Path = "/subscriptions/e67944a4-9e35-/resourceGroups/bc6c369a-5d3c-457/providers/Microsoft.Fabric.Admin/fabricLocations/18a6a445/edgeGatewayPools"; + _requests[1741] = new DefaultHttpContext(); + _requests[1741].RequestServices = CreateServices(); + _requests[1741].Request.Method = "GET"; + _requests[1741].Request.Path = "/subscriptions/ba591929-e1be-/resourceGroups/db28218f-cc7e-420/providers/Microsoft.Fabric.Admin/fabricLocations/2b01ba1a/edgeGateways"; + _requests[1742] = new DefaultHttpContext(); + _requests[1742].RequestServices = CreateServices(); + _requests[1742].Request.Method = "GET"; + _requests[1742].Request.Path = "/subscriptions/9350dcfc-16e1-/resourceGroups/356ca89b-dcb2-433/providers/Microsoft.Fabric.Admin/fabricLocations/cf370e34/fileShares"; + _requests[1743] = new DefaultHttpContext(); + _requests[1743].RequestServices = CreateServices(); + _requests[1743].Request.Method = "GET"; + _requests[1743].Request.Path = "/subscriptions/7f8eb6c2-4616-/resourceGroups/86f254f6-acbb-4c5/providers/Microsoft.Fabric.Admin/fabricLocations/a6d51b7a/infraRoleInstances"; + _requests[1744] = new DefaultHttpContext(); + _requests[1744].RequestServices = CreateServices(); + _requests[1744].Request.Method = "GET"; + _requests[1744].Request.Path = "/subscriptions/2c1e1fc0-1140-/resourceGroups/70c2c02e-7da6-415/providers/Microsoft.Fabric.Admin/fabricLocations/3689672e/infraRoles"; + _requests[1745] = new DefaultHttpContext(); + _requests[1745].RequestServices = CreateServices(); + _requests[1745].Request.Method = "GET"; + _requests[1745].Request.Path = "/subscriptions/ebf4e31a-6eea-/resourceGroups/95788bbd-3607-46d/providers/Microsoft.Fabric.Admin/fabricLocations/103c2c28/ipPools"; + _requests[1746] = new DefaultHttpContext(); + _requests[1746].RequestServices = CreateServices(); + _requests[1746].Request.Method = "GET"; + _requests[1746].Request.Path = "/subscriptions/86e8ca1a-beda-/resourceGroups/9a897eb8-f28c-42c/providers/Microsoft.Fabric.Admin/fabricLocations/856001ed/logicalNetworks"; + _requests[1747] = new DefaultHttpContext(); + _requests[1747].RequestServices = CreateServices(); + _requests[1747].Request.Method = "GET"; + _requests[1747].Request.Path = "/subscriptions/fd0efc3a-473f-/resourceGroups/38a140df-1946-47b/providers/Microsoft.Fabric.Admin/fabricLocations/8ac18027/macAddressPools"; + _requests[1748] = new DefaultHttpContext(); + _requests[1748].RequestServices = CreateServices(); + _requests[1748].Request.Method = "GET"; + _requests[1748].Request.Path = "/subscriptions/2690537c-c6a0-/resourceGroups/2b61a2bc-689f-4ae/providers/Microsoft.Fabric.Admin/fabricLocations/2a85c410/scaleUnitNodes"; + _requests[1749] = new DefaultHttpContext(); + _requests[1749].RequestServices = CreateServices(); + _requests[1749].Request.Method = "GET"; + _requests[1749].Request.Path = "/subscriptions/8636b2ce-666b-/resourceGroups/72637b25-3a6b-47f/providers/Microsoft.Fabric.Admin/fabricLocations/19a492de/scaleUnits"; + _requests[1750] = new DefaultHttpContext(); + _requests[1750].RequestServices = CreateServices(); + _requests[1750].Request.Method = "GET"; + _requests[1750].Request.Path = "/subscriptions/e8311e90-b684-/resourceGroups/86041b1b-c1a0-454/providers/Microsoft.Fabric.Admin/fabricLocations/a95ff28e/slbMuxInstances"; + _requests[1751] = new DefaultHttpContext(); + _requests[1751].RequestServices = CreateServices(); + _requests[1751].Request.Method = "GET"; + _requests[1751].Request.Path = "/subscriptions/da869b96-6f80-/resourceGroups/63ae2128-02b3-478/providers/Microsoft.Fabric.Admin/fabricLocations/3e5ada7c/storageSubSystems"; + _requests[1752] = new DefaultHttpContext(); + _requests[1752].RequestServices = CreateServices(); + _requests[1752].Request.Method = "GET"; + _requests[1752].Request.Path = "/subscriptions/49233787-de1a-/resourceGroups/62c2f02c-8823-45e/providers/Microsoft.HDInsight/clusters/a885df1f-a6/applications"; + _requests[1753] = new DefaultHttpContext(); + _requests[1753].RequestServices = CreateServices(); + _requests[1753].Request.Method = "POST"; + _requests[1753].Request.Path = "/subscriptions/c02ec982-af3d-/resourceGroups/849ae9aa-9c21-41e/providers/Microsoft.HDInsight/clusters/55e35ee5-0a/executeScriptActions"; + _requests[1754] = new DefaultHttpContext(); + _requests[1754].RequestServices = CreateServices(); + _requests[1754].Request.Method = "GET"; + _requests[1754].Request.Path = "/subscriptions/a0b02b55-df8e-/resourceGroups/857c2a00-7a45-42f/providers/Microsoft.HDInsight/clusters/bc3db9ee-97/scriptActions"; + _requests[1755] = new DefaultHttpContext(); + _requests[1755].RequestServices = CreateServices(); + _requests[1755].Request.Method = "GET"; + _requests[1755].Request.Path = "/subscriptions/92a04739-752a-/resourceGroups/ae699050-005f-4a9/providers/Microsoft.HDInsight/clusters/6f0ead36-90/scriptExecutionHistory"; + _requests[1756] = new DefaultHttpContext(); + _requests[1756].RequestServices = CreateServices(); + _requests[1756].Request.Method = "POST"; + _requests[1756].Request.Path = "/subscriptions/7eab68c4-44c0-/resourceGroups/e51a929a-35ef-4ca/providers/Microsoft.ImportExport/jobs/dfbf049/listBitLockerKeys"; + _requests[1757] = new DefaultHttpContext(); + _requests[1757].RequestServices = CreateServices(); + _requests[1757].Request.Method = "GET"; + _requests[1757].Request.Path = "/subscriptions/0b5f2b35-d285-/resourceGroups/2bcae9cf-701e-482/providers/Microsoft.InfrastructureInsights.Admin/regionHealths/ca39c653/alerts"; + _requests[1758] = new DefaultHttpContext(); + _requests[1758].RequestServices = CreateServices(); + _requests[1758].Request.Method = "GET"; + _requests[1758].Request.Path = "/subscriptions/4ccc8808-f09c-/resourceGroups/f36b6be0-20e9-4dd/providers/Microsoft.InfrastructureInsights.Admin/regionHealths/eb0de761/serviceHealths"; + _requests[1759] = new DefaultHttpContext(); + _requests[1759].RequestServices = CreateServices(); + _requests[1759].Request.Method = "POST"; + _requests[1759].Request.Path = "/subscriptions/e3a55f57-b9b7-/resourceGroups/b6e87603-f353-46d/providers/microsoft.insights/actionGroups/ed0d45b9-4c6e-4/subscribe"; + _requests[1760] = new DefaultHttpContext(); + _requests[1760].RequestServices = CreateServices(); + _requests[1760].Request.Method = "GET"; + _requests[1760].Request.Path = "/subscriptions/a3898b75-779c-/resourcegroups/8cbc5b0a-6c41-447/providers/microsoft.insights/alertrules/b83e09df/incidents"; + _requests[1761] = new DefaultHttpContext(); + _requests[1761].RequestServices = CreateServices(); + _requests[1761].Request.Method = "GET"; + _requests[1761].Request.Path = "/subscriptions/cad3ab37-1091-/resourceGroups/51a3ac1d-b473-48d/providers/Microsoft.Insights/components/22cdfc00-c88a/webtests"; + _requests[1762] = new DefaultHttpContext(); + _requests[1762].RequestServices = CreateServices(); + _requests[1762].Request.Method = "PUT"; + _requests[1762].Request.Path = "/subscriptions/27d94d5d-11d6-/resourceGroups/ac1250ed-8f7c-4e1/providers/Microsoft.Insights/components/cbad7efb-a83/Annotations"; + _requests[1763] = new DefaultHttpContext(); + _requests[1763].RequestServices = CreateServices(); + _requests[1763].Request.Method = "POST"; + _requests[1763].Request.Path = "/subscriptions/5d095849-2bb8-/resourceGroups/94044847-aa09-465/providers/Microsoft.Insights/components/a5e78080-1ea/ApiKeys"; + _requests[1764] = new DefaultHttpContext(); + _requests[1764].RequestServices = CreateServices(); + _requests[1764].Request.Method = "PUT"; + _requests[1764].Request.Path = "/subscriptions/c0346606-964c-/resourceGroups/7023cd5a-f2b8-4da/providers/Microsoft.Insights/components/0554e19e-516/currentbillingfeatures"; + _requests[1765] = new DefaultHttpContext(); + _requests[1765].RequestServices = CreateServices(); + _requests[1765].Request.Method = "GET"; + _requests[1765].Request.Path = "/subscriptions/6ffbfc7d-a276-/resourceGroups/ffe6c51d-4d0b-4af/providers/Microsoft.Insights/components/b956ba27-0bc/DefaultWorkItemConfig"; + _requests[1766] = new DefaultHttpContext(); + _requests[1766].RequestServices = CreateServices(); + _requests[1766].Request.Method = "POST"; + _requests[1766].Request.Path = "/subscriptions/1ff2993a-d07c-/resourceGroups/90cb61bd-ba2a-43a/providers/Microsoft.Insights/components/a9dddb90-cff/exportconfiguration"; + _requests[1767] = new DefaultHttpContext(); + _requests[1767].RequestServices = CreateServices(); + _requests[1767].Request.Method = "GET"; + _requests[1767].Request.Path = "/subscriptions/93ba6073-d80e-/resourceGroups/10541adb-2bfe-42f/providers/Microsoft.Insights/components/f6ff551b-9a5/favorites"; + _requests[1768] = new DefaultHttpContext(); + _requests[1768].RequestServices = CreateServices(); + _requests[1768].Request.Method = "GET"; + _requests[1768].Request.Path = "/subscriptions/97cefd59-e6fa-/resourceGroups/6f77d013-4e56-479/providers/Microsoft.Insights/components/7d485de2-f50/featurecapabilities"; + _requests[1769] = new DefaultHttpContext(); + _requests[1769].RequestServices = CreateServices(); + _requests[1769].Request.Method = "GET"; + _requests[1769].Request.Path = "/subscriptions/87e7d752-29d8-/resourceGroups/69bbac32-f6e7-4e2/providers/Microsoft.Insights/components/0abd0df3-749/getavailablebillingfeatures"; + _requests[1770] = new DefaultHttpContext(); + _requests[1770].RequestServices = CreateServices(); + _requests[1770].Request.Method = "GET"; + _requests[1770].Request.Path = "/subscriptions/d7f985da-3fa7-/resourceGroups/b8addd6b-bc58-4a6/providers/Microsoft.Insights/components/b8b9057e-af7/ProactiveDetectionConfigs"; + _requests[1771] = new DefaultHttpContext(); + _requests[1771].RequestServices = CreateServices(); + _requests[1771].Request.Method = "POST"; + _requests[1771].Request.Path = "/subscriptions/fe917f52-0478-/resourceGroups/c52d1e61-b760-4b1/providers/Microsoft.Insights/components/0ec466a8-b5f/purge"; + _requests[1772] = new DefaultHttpContext(); + _requests[1772].RequestServices = CreateServices(); + _requests[1772].Request.Method = "GET"; + _requests[1772].Request.Path = "/subscriptions/aeacf970-de01-/resourceGroups/11988699-d622-476/providers/Microsoft.Insights/components/8f085c78-69c/quotastatus"; + _requests[1773] = new DefaultHttpContext(); + _requests[1773].RequestServices = CreateServices(); + _requests[1773].Request.Method = "GET"; + _requests[1773].Request.Path = "/subscriptions/e62ccef1-f408-/resourceGroups/cecd6d63-a068-423/providers/Microsoft.Insights/components/0b6d4691-2f0/syntheticmonitorlocations"; + _requests[1774] = new DefaultHttpContext(); + _requests[1774].RequestServices = CreateServices(); + _requests[1774].Request.Method = "POST"; + _requests[1774].Request.Path = "/subscriptions/5adca834-624f-/resourceGroups/95980869-d30d-4ce/providers/Microsoft.Insights/components/308c2be2-633/WorkItemConfigs"; + _requests[1775] = new DefaultHttpContext(); + _requests[1775].RequestServices = CreateServices(); + _requests[1775].Request.Method = "GET"; + _requests[1775].Request.Path = "/subscriptions/dc63cc0f-4e0a-/resourceGroups/f8b2156a-c5eb-4b2/providers/Microsoft.Insights/metricAlerts/e748dc95/status"; + _requests[1776] = new DefaultHttpContext(); + _requests[1776].RequestServices = CreateServices(); + _requests[1776].Request.Method = "GET"; + _requests[1776].Request.Path = "/subscriptions/ac7b5d7b-7f66-/resourceGroups/4c1eceff-f8fb-4cc/providers/Microsoft.KeyVault/vaults/207472ed-/secrets"; + _requests[1777] = new DefaultHttpContext(); + _requests[1777].RequestServices = CreateServices(); + _requests[1777].Request.Method = "GET"; + _requests[1777].Request.Path = "/subscriptions/d253144e-410d-/resourceGroups/d75d50aa-0c7a-466/providers/Microsoft.Logic/integrationAccounts/3b989c4b-de79-4a76-893/agreements"; + _requests[1778] = new DefaultHttpContext(); + _requests[1778].RequestServices = CreateServices(); + _requests[1778].Request.Method = "GET"; + _requests[1778].Request.Path = "/subscriptions/0c8d5dd8-aa63-/resourceGroups/d0050f6c-4205-4a7/providers/Microsoft.Logic/integrationAccounts/1b060cf6-caa2-4bce-be2/assemblies"; + _requests[1779] = new DefaultHttpContext(); + _requests[1779].RequestServices = CreateServices(); + _requests[1779].Request.Method = "GET"; + _requests[1779].Request.Path = "/subscriptions/bab4e512-c621-/resourceGroups/43b1e8ba-1f34-49b/providers/Microsoft.Logic/integrationAccounts/a44cc45e-5323-44ad-919/batchConfigurations"; + _requests[1780] = new DefaultHttpContext(); + _requests[1780].RequestServices = CreateServices(); + _requests[1780].Request.Method = "GET"; + _requests[1780].Request.Path = "/subscriptions/3d388532-52e1-/resourceGroups/f5ed92a2-f9aa-4bc/providers/Microsoft.Logic/integrationAccounts/08bc4bea-53d4-437d-8fa/certificates"; + _requests[1781] = new DefaultHttpContext(); + _requests[1781].RequestServices = CreateServices(); + _requests[1781].Request.Method = "POST"; + _requests[1781].Request.Path = "/subscriptions/b111eee8-6031-/resourceGroups/e4492d2c-5cfc-45f/providers/Microsoft.Logic/integrationAccounts/6c7a9319-2dd9-4f61-b78/listCallbackUrl"; + _requests[1782] = new DefaultHttpContext(); + _requests[1782].RequestServices = CreateServices(); + _requests[1782].Request.Method = "POST"; + _requests[1782].Request.Path = "/subscriptions/d44de62c-b100-/resourceGroups/dd40bedf-d80b-4eb/providers/Microsoft.Logic/integrationAccounts/0805040c-c748-4ea3-b21/listKeyVaultKeys"; + _requests[1783] = new DefaultHttpContext(); + _requests[1783].RequestServices = CreateServices(); + _requests[1783].Request.Method = "POST"; + _requests[1783].Request.Path = "/subscriptions/d3e4ed67-0869-/resourceGroups/1db3a43c-3fef-49a/providers/Microsoft.Logic/integrationAccounts/d76cf060-29a6-420a-ad5/logTrackingEvents"; + _requests[1784] = new DefaultHttpContext(); + _requests[1784].RequestServices = CreateServices(); + _requests[1784].Request.Method = "GET"; + _requests[1784].Request.Path = "/subscriptions/86067336-24b9-/resourceGroups/658354b1-a21a-4b9/providers/Microsoft.Logic/integrationAccounts/1bf8e8fe-c116-4efb-810/maps"; + _requests[1785] = new DefaultHttpContext(); + _requests[1785].RequestServices = CreateServices(); + _requests[1785].Request.Method = "GET"; + _requests[1785].Request.Path = "/subscriptions/ed242917-8178-/resourceGroups/264a1a5d-400c-461/providers/Microsoft.Logic/integrationAccounts/fb4c8eaf-1cf7-47c3-a99/partners"; + _requests[1786] = new DefaultHttpContext(); + _requests[1786].RequestServices = CreateServices(); + _requests[1786].Request.Method = "POST"; + _requests[1786].Request.Path = "/subscriptions/26c56061-7c90-/resourceGroups/48d9e275-f195-4b3/providers/Microsoft.Logic/integrationAccounts/a59047b2-ad45-42a5-b29/regenerateAccessKey"; + _requests[1787] = new DefaultHttpContext(); + _requests[1787].RequestServices = CreateServices(); + _requests[1787].Request.Method = "GET"; + _requests[1787].Request.Path = "/subscriptions/e3c01ea9-a31f-/resourceGroups/12e27842-c698-474/providers/Microsoft.Logic/integrationAccounts/3b9095ae-d9be-4ba6-9ad/schemas"; + _requests[1788] = new DefaultHttpContext(); + _requests[1788].RequestServices = CreateServices(); + _requests[1788].Request.Method = "GET"; + _requests[1788].Request.Path = "/subscriptions/14b2c5a4-9fc4-/resourceGroups/0508ed33-9a10-470/providers/Microsoft.Logic/integrationAccounts/2e0f6608-4527-4555-952/sessions"; + _requests[1789] = new DefaultHttpContext(); + _requests[1789].RequestServices = CreateServices(); + _requests[1789].Request.Method = "GET"; + _requests[1789].Request.Path = "/subscriptions/f38420fb-b029-/resourceGroups/e703b000-4a2b-4e2/providers/Microsoft.Logic/workflows/c2b93f2e-7b6/accessKeys"; + _requests[1790] = new DefaultHttpContext(); + _requests[1790].RequestServices = CreateServices(); + _requests[1790].Request.Method = "POST"; + _requests[1790].Request.Path = "/subscriptions/4f82dae4-f76d-/resourceGroups/9a5decae-a75d-4bc/providers/Microsoft.Logic/workflows/5fa4b019-062/disable"; + _requests[1791] = new DefaultHttpContext(); + _requests[1791].RequestServices = CreateServices(); + _requests[1791].Request.Method = "POST"; + _requests[1791].Request.Path = "/subscriptions/f05c0de7-1c88-/resourceGroups/23a41567-8f3c-40f/providers/Microsoft.Logic/workflows/0066533f-d55/enable"; + _requests[1792] = new DefaultHttpContext(); + _requests[1792].RequestServices = CreateServices(); + _requests[1792].Request.Method = "POST"; + _requests[1792].Request.Path = "/subscriptions/ae7d5dc7-51b1-/resourceGroups/5b949d33-7b19-46b/providers/Microsoft.Logic/workflows/50866315-f0e/generateUpgradedDefinition"; + _requests[1793] = new DefaultHttpContext(); + _requests[1793].RequestServices = CreateServices(); + _requests[1793].Request.Method = "POST"; + _requests[1793].Request.Path = "/subscriptions/4aec748b-9380-/resourceGroups/9d3ee8b9-0c97-447/providers/Microsoft.Logic/workflows/e5c9d3a6-db0/listCallbackUrl"; + _requests[1794] = new DefaultHttpContext(); + _requests[1794].RequestServices = CreateServices(); + _requests[1794].Request.Method = "POST"; + _requests[1794].Request.Path = "/subscriptions/c836231c-4d91-/resourceGroups/74a317da-4cad-4d1/providers/Microsoft.Logic/workflows/3fadeee1-0d5/listSwagger"; + _requests[1795] = new DefaultHttpContext(); + _requests[1795].RequestServices = CreateServices(); + _requests[1795].Request.Method = "POST"; + _requests[1795].Request.Path = "/subscriptions/290bc17a-5801-/resourceGroups/c8b2f17e-2062-42e/providers/Microsoft.Logic/workflows/04215abf-0cd/move"; + _requests[1796] = new DefaultHttpContext(); + _requests[1796].RequestServices = CreateServices(); + _requests[1796].Request.Method = "POST"; + _requests[1796].Request.Path = "/subscriptions/cb7011a1-1bbc-/resourceGroups/1030af06-ec56-4cc/providers/Microsoft.Logic/workflows/acf5674d-bf6/regenerateAccessKey"; + _requests[1797] = new DefaultHttpContext(); + _requests[1797].RequestServices = CreateServices(); + _requests[1797].Request.Method = "POST"; + _requests[1797].Request.Path = "/subscriptions/ba0e76e0-47aa-/resourceGroups/a009387f-463e-4bc/providers/Microsoft.Logic/workflows/c5671ec7-f3b/run"; + _requests[1798] = new DefaultHttpContext(); + _requests[1798].RequestServices = CreateServices(); + _requests[1798].Request.Method = "GET"; + _requests[1798].Request.Path = "/subscriptions/00d66c67-b578-/resourceGroups/8ab0e924-1e23-43f/providers/Microsoft.Logic/workflows/737f7d31-901/runs"; + _requests[1799] = new DefaultHttpContext(); + _requests[1799].RequestServices = CreateServices(); + _requests[1799].Request.Method = "GET"; + _requests[1799].Request.Path = "/subscriptions/53adae6d-cabb-/resourceGroups/bab07d33-bf74-4e6/providers/Microsoft.Logic/workflows/86f06e82-daa/triggers"; + _requests[1800] = new DefaultHttpContext(); + _requests[1800].RequestServices = CreateServices(); + _requests[1800].Request.Method = "POST"; + _requests[1800].Request.Path = "/subscriptions/aad46dcd-b1a9-/resourceGroups/822ec19b-59ad-45e/providers/Microsoft.Logic/workflows/13725662-4f4/validate"; + _requests[1801] = new DefaultHttpContext(); + _requests[1801].RequestServices = CreateServices(); + _requests[1801].Request.Method = "GET"; + _requests[1801].Request.Path = "/subscriptions/323b9280-e587-/resourceGroups/ee22570c-503f-4cd/providers/Microsoft.Logic/workflows/9593bc51-f21/versions"; + _requests[1802] = new DefaultHttpContext(); + _requests[1802].RequestServices = CreateServices(); + _requests[1802].Request.Method = "GET"; + _requests[1802].Request.Path = "/subscriptions/35ce6fb1-3cf1-/resourceGroups/e5a46043-bd0a-4b4/providers/Microsoft.MachineLearning/commitmentPlans/76af8f64-5240-427a/commitmentAssociations"; + _requests[1803] = new DefaultHttpContext(); + _requests[1803].RequestServices = CreateServices(); + _requests[1803].Request.Method = "GET"; + _requests[1803].Request.Path = "/subscriptions/6cf73511-88b4-/resourceGroups/116362dc-5a81-4e6/providers/Microsoft.MachineLearning/commitmentPlans/16161b38-4ec6-40de/usageHistory"; + _requests[1804] = new DefaultHttpContext(); + _requests[1804].RequestServices = CreateServices(); + _requests[1804].Request.Method = "POST"; + _requests[1804].Request.Path = "/subscriptions/270aa7ec-43b0-/resourceGroups/3a0e68e3-bef6-4bf/providers/Microsoft.MachineLearning/webServices/d675ad20-9e3c-/CreateRegionalBlob"; + _requests[1805] = new DefaultHttpContext(); + _requests[1805].RequestServices = CreateServices(); + _requests[1805].Request.Method = "GET"; + _requests[1805].Request.Path = "/subscriptions/56766f2d-2834-/resourceGroups/77f35025-086e-447/providers/Microsoft.MachineLearning/webServices/023a65b3-4323-/listKeys"; + _requests[1806] = new DefaultHttpContext(); + _requests[1806].RequestServices = CreateServices(); + _requests[1806].Request.Method = "POST"; + _requests[1806].Request.Path = "/subscriptions/258e5294-0fcb-/resourceGroups/3a1fd3d8-9a10-433/providers/Microsoft.MachineLearning/workspaces/6aa43e82-099b/listWorkspaceKeys"; + _requests[1807] = new DefaultHttpContext(); + _requests[1807].RequestServices = CreateServices(); + _requests[1807].Request.Method = "POST"; + _requests[1807].Request.Path = "/subscriptions/19371cf3-610f-/resourceGroups/ac332ca8-b851-473/providers/Microsoft.MachineLearning/workspaces/19585809-7d0e/resyncStorageKeys"; + _requests[1808] = new DefaultHttpContext(); + _requests[1808].RequestServices = CreateServices(); + _requests[1808].Request.Method = "POST"; + _requests[1808].Request.Path = "/subscriptions/1803f290-2af6-/resourceGroups/8c853844-b93a-465/providers/Microsoft.MachineLearningCompute/operationalizationClusters/7ad7fee6-71/checkSystemServicesUpdatesAvailable"; + _requests[1809] = new DefaultHttpContext(); + _requests[1809].RequestServices = CreateServices(); + _requests[1809].Request.Method = "POST"; + _requests[1809].Request.Path = "/subscriptions/aac5fe80-f6ed-/resourceGroups/144d19fc-eda7-45c/providers/Microsoft.MachineLearningCompute/operationalizationClusters/1999d150-0d/checkUpdate"; + _requests[1810] = new DefaultHttpContext(); + _requests[1810].RequestServices = CreateServices(); + _requests[1810].Request.Method = "POST"; + _requests[1810].Request.Path = "/subscriptions/dbddfddc-3d40-/resourceGroups/f0f8c0cd-be84-440/providers/Microsoft.MachineLearningCompute/operationalizationClusters/2aa84392-15/listKeys"; + _requests[1811] = new DefaultHttpContext(); + _requests[1811].RequestServices = CreateServices(); + _requests[1811].Request.Method = "POST"; + _requests[1811].Request.Path = "/subscriptions/73ceab92-5d20-/resourceGroups/7113c96a-cb8f-41e/providers/Microsoft.MachineLearningCompute/operationalizationClusters/1082c6cc-35/updateSystem"; + _requests[1812] = new DefaultHttpContext(); + _requests[1812].RequestServices = CreateServices(); + _requests[1812].Request.Method = "POST"; + _requests[1812].Request.Path = "/subscriptions/4e4977fd-cc30-/resourceGroups/a0beae29-4546-468/providers/Microsoft.MachineLearningCompute/operationalizationClusters/38282d1a-73/updateSystemServices"; + _requests[1813] = new DefaultHttpContext(); + _requests[1813].RequestServices = CreateServices(); + _requests[1813].Request.Method = "GET"; + _requests[1813].Request.Path = "/subscriptions/fb5e7f08-a4d7-/resourceGroups/a277e0a8-5258-4bd/providers/Microsoft.MachineLearningExperimentation/accounts/4fa46e8b-58/workspaces"; + _requests[1814] = new DefaultHttpContext(); + _requests[1814].RequestServices = CreateServices(); + _requests[1814].Request.Method = "POST"; + _requests[1814].Request.Path = "/subscriptions/a1fa1451-751b-/resourceGroups/603d8e14-08d0-4b6/providers/Microsoft.MachineLearningServices/workspaces/dddc8abd-440d/listKeys"; + _requests[1815] = new DefaultHttpContext(); + _requests[1815].RequestServices = CreateServices(); + _requests[1815].Request.Method = "POST"; + _requests[1815].Request.Path = "/subscriptions/1e8e013b-bb5b-/resourceGroups/df549bad-055c-476/providers/Microsoft.MachineLearningServices/workspaces/e804bf6a-5c87/resyncKeys"; + _requests[1816] = new DefaultHttpContext(); + _requests[1816].RequestServices = CreateServices(); + _requests[1816].Request.Method = "POST"; + _requests[1816].Request.Path = "/subscriptions/bf57d796-be6a-/resourceGroups/da6b4f37-f2ee-4d1/providers/Microsoft.Maps/accounts/3e38a14e-05/listKeys"; + _requests[1817] = new DefaultHttpContext(); + _requests[1817].RequestServices = CreateServices(); + _requests[1817].Request.Method = "POST"; + _requests[1817].Request.Path = "/subscriptions/6834048e-35b1-/resourceGroups/c367c412-76a2-483/providers/Microsoft.Maps/accounts/9fba2045-ce/regenerateKey"; + _requests[1818] = new DefaultHttpContext(); + _requests[1818].RequestServices = CreateServices(); + _requests[1818].Request.Method = "GET"; + _requests[1818].Request.Path = "/subscriptions/362b0cbd-89af-/resourceGroups/f87569eb-b628-487/providers/Microsoft.Media/mediaServices/3cfb96b5-6b/assets"; + _requests[1819] = new DefaultHttpContext(); + _requests[1819].RequestServices = CreateServices(); + _requests[1819].Request.Method = "GET"; + _requests[1819].Request.Path = "/subscriptions/7f236a15-eeb9-/resourceGroups/8aa012fb-94c3-408/providers/Microsoft.Media/mediaServices/dd00094d-cb/contentKeyPolicies"; + _requests[1820] = new DefaultHttpContext(); + _requests[1820].RequestServices = CreateServices(); + _requests[1820].Request.Method = "GET"; + _requests[1820].Request.Path = "/subscriptions/c86e1fc6-2554-/resourceGroups/18f82331-9974-406/providers/Microsoft.Media/mediaservices/709224ed-3b/liveEvents"; + _requests[1821] = new DefaultHttpContext(); + _requests[1821].RequestServices = CreateServices(); + _requests[1821].Request.Method = "GET"; + _requests[1821].Request.Path = "/subscriptions/4d851ea9-d8d2-/resourceGroups/a12cd631-1596-4a0/providers/Microsoft.Media/mediaservices/7914848d-b3/streamingEndpoints"; + _requests[1822] = new DefaultHttpContext(); + _requests[1822].RequestServices = CreateServices(); + _requests[1822].Request.Method = "GET"; + _requests[1822].Request.Path = "/subscriptions/9bef8c2c-1f2d-/resourceGroups/f95ddf40-37e1-415/providers/Microsoft.Media/mediaServices/7dc02450-fe/streamingLocators"; + _requests[1823] = new DefaultHttpContext(); + _requests[1823].RequestServices = CreateServices(); + _requests[1823].Request.Method = "GET"; + _requests[1823].Request.Path = "/subscriptions/e1dd5470-ef47-/resourceGroups/12c49441-ae45-471/providers/Microsoft.Media/mediaServices/7d9ea5ef-a1/streamingPolicies"; + _requests[1824] = new DefaultHttpContext(); + _requests[1824].RequestServices = CreateServices(); + _requests[1824].Request.Method = "GET"; + _requests[1824].Request.Path = "/subscriptions/f961b92e-9e47-/resourceGroups/210dda96-e94d-4d8/providers/Microsoft.Media/mediaServices/574fb9c4-f9/transforms"; + _requests[1825] = new DefaultHttpContext(); + _requests[1825].RequestServices = CreateServices(); + _requests[1825].Request.Method = "POST"; + _requests[1825].Request.Path = "/subscriptions/0a494043-5025-/resourceGroups/5bafee91-9f74-470/providers/Microsoft.Media/mediaservices/ba7fbe5b-c97b-40/listKeys"; + _requests[1826] = new DefaultHttpContext(); + _requests[1826].RequestServices = CreateServices(); + _requests[1826].Request.Method = "POST"; + _requests[1826].Request.Path = "/subscriptions/8e099958-aa47-/resourceGroups/b3ebe2ff-5af1-492/providers/Microsoft.Media/mediaservices/0a09e766-7129-4b/regenerateKey"; + _requests[1827] = new DefaultHttpContext(); + _requests[1827].RequestServices = CreateServices(); + _requests[1827].Request.Method = "POST"; + _requests[1827].Request.Path = "/subscriptions/23b3c209-0de6-/resourceGroups/f3538f5c-75f6-45d/providers/Microsoft.Media/mediaservices/3ab7788a-4088-4f/syncStorageKeys"; + _requests[1828] = new DefaultHttpContext(); + _requests[1828].RequestServices = CreateServices(); + _requests[1828].Request.Method = "GET"; + _requests[1828].Request.Path = "/subscriptions/15ead37f-7f00-/resourceGroups/f609d9d3-0d6f-41f/providers/Microsoft.Migrate/projects/6665cd61-46/assessments"; + _requests[1829] = new DefaultHttpContext(); + _requests[1829].RequestServices = CreateServices(); + _requests[1829].Request.Method = "GET"; + _requests[1829].Request.Path = "/subscriptions/dcc47c0a-f86a-/resourceGroups/f60dc653-805e-4cc/providers/Microsoft.Migrate/projects/2d7798dc-62/groups"; + _requests[1830] = new DefaultHttpContext(); + _requests[1830].RequestServices = CreateServices(); + _requests[1830].Request.Method = "POST"; + _requests[1830].Request.Path = "/subscriptions/588fc1f1-7906-/resourcegroups/18f0cdc2-afba-4dc/providers/Microsoft.Migrate/projects/ead36493-95/keys"; + _requests[1831] = new DefaultHttpContext(); + _requests[1831].RequestServices = CreateServices(); + _requests[1831].Request.Method = "GET"; + _requests[1831].Request.Path = "/subscriptions/5a583629-e9b7-/resourceGroups/cf2d6803-6b07-4d7/providers/Microsoft.Migrate/projects/65f06c24-87/machines"; + _requests[1832] = new DefaultHttpContext(); + _requests[1832].RequestServices = CreateServices(); + _requests[1832].Request.Method = "POST"; + _requests[1832].Request.Path = "/subscriptions/54acae32-0dcb-/resourceGroups/4bba7b95-aa2d-46e/providers/Microsoft.Network/applicationGateways/2660b75b-a863-4e77-b81/backendhealth"; + _requests[1833] = new DefaultHttpContext(); + _requests[1833].RequestServices = CreateServices(); + _requests[1833].Request.Method = "POST"; + _requests[1833].Request.Path = "/subscriptions/9de6f16f-67ab-/resourceGroups/ce32acaf-0827-430/providers/Microsoft.Network/applicationGateways/6ea71da4-f799-4667-bd5/start"; + _requests[1834] = new DefaultHttpContext(); + _requests[1834].RequestServices = CreateServices(); + _requests[1834].Request.Method = "POST"; + _requests[1834].Request.Path = "/subscriptions/fd8bb0dc-460c-/resourceGroups/061dcad4-f859-4e3/providers/Microsoft.Network/applicationGateways/d3bf9493-0f91-4aa4-836/stop"; + _requests[1835] = new DefaultHttpContext(); + _requests[1835].RequestServices = CreateServices(); + _requests[1835].Request.Method = "GET"; + _requests[1835].Request.Path = "/subscriptions/45ac01f2-eb2e-/resourceGroups/2862b226-36df-4e5/providers/Microsoft.Network/connections/619b3ee2-a03d-4d53-8169-604fbcd0555/sharedkey"; + _requests[1836] = new DefaultHttpContext(); + _requests[1836].RequestServices = CreateServices(); + _requests[1836].Request.Method = "POST"; + _requests[1836].Request.Path = "/subscriptions/e356f991-96ce-/resourceGroups/ea4a3c7a-3a32-403/providers/Microsoft.Network/connections/9a44444e-ac2b-4c1d-8c4c-c14f5645fcd/vpndeviceconfigurationscript"; + _requests[1837] = new DefaultHttpContext(); + _requests[1837].RequestServices = CreateServices(); + _requests[1837].Request.Method = "GET"; + _requests[1837].Request.Path = "/subscriptions/855128ce-62a5-/resourceGroups/2be6ae97-066c-423/providers/Microsoft.Network/dnsZones/d4be5b68/all"; + _requests[1838] = new DefaultHttpContext(); + _requests[1838].RequestServices = CreateServices(); + _requests[1838].Request.Method = "GET"; + _requests[1838].Request.Path = "/subscriptions/bda801e9-b07d-/resourceGroups/a71bf706-0976-4d4/providers/Microsoft.Network/dnsZones/f00ce391/recordsets"; + _requests[1839] = new DefaultHttpContext(); + _requests[1839].RequestServices = CreateServices(); + _requests[1839].Request.Method = "GET"; + _requests[1839].Request.Path = "/subscriptions/b8402d51-ce9d-/resourceGroups/52f8bf48-adfa-4dd/providers/Microsoft.Network/expressRouteCircuits/38c4a427-42/arpTable"; + _requests[1840] = new DefaultHttpContext(); + _requests[1840].RequestServices = CreateServices(); + _requests[1840].Request.Method = "GET"; + _requests[1840].Request.Path = "/subscriptions/30e94b59-d2ed-/resourceGroups/210df218-698c-400/providers/Microsoft.Network/expressRouteCircuits/424c2f45-1a/authorizations"; + _requests[1841] = new DefaultHttpContext(); + _requests[1841].RequestServices = CreateServices(); + _requests[1841].Request.Method = "GET"; + _requests[1841].Request.Path = "/subscriptions/e114b043-27f9-/resourceGroups/bf4e6f8e-ed2e-49e/providers/Microsoft.Network/expressRouteCircuits/e2bd5f6b-ca/peerings"; + _requests[1842] = new DefaultHttpContext(); + _requests[1842].RequestServices = CreateServices(); + _requests[1842].Request.Method = "GET"; + _requests[1842].Request.Path = "/subscriptions/9ecd55c3-0e47-/resourceGroups/97cc5a71-b390-434/providers/Microsoft.Network/expressRouteCircuits/ccfda239-22/routesTable"; + _requests[1843] = new DefaultHttpContext(); + _requests[1843].RequestServices = CreateServices(); + _requests[1843].Request.Method = "GET"; + _requests[1843].Request.Path = "/subscriptions/d18cea97-297f-/resourceGroups/1a1c2581-432f-43d/providers/Microsoft.Network/expressRouteCircuits/376722a2-40/stats"; + _requests[1844] = new DefaultHttpContext(); + _requests[1844].RequestServices = CreateServices(); + _requests[1844].Request.Method = "GET"; + _requests[1844].Request.Path = "/subscriptions/cfe5d927-403a-/resourceGroups/308de58b-29a5-42d/providers/Microsoft.Network/expressRouteCrossConnections/7051be3d-e3c3-491e-/peerings"; + _requests[1845] = new DefaultHttpContext(); + _requests[1845].RequestServices = CreateServices(); + _requests[1845].Request.Method = "GET"; + _requests[1845].Request.Path = "/subscriptions/ebdab568-fd4d-/resourceGroups/9d3e50d5-339f-471/providers/Microsoft.Network/loadBalancers/9c93e8fd-5e58-4b/backendAddressPools"; + _requests[1846] = new DefaultHttpContext(); + _requests[1846].RequestServices = CreateServices(); + _requests[1846].Request.Method = "GET"; + _requests[1846].Request.Path = "/subscriptions/93028f79-6229-/resourceGroups/44df3ee5-a678-428/providers/Microsoft.Network/loadBalancers/d98b35e6-d195-42/frontendIPConfigurations"; + _requests[1847] = new DefaultHttpContext(); + _requests[1847].RequestServices = CreateServices(); + _requests[1847].Request.Method = "GET"; + _requests[1847].Request.Path = "/subscriptions/76493f8e-f29a-/resourceGroups/bad10ddb-3d63-4c3/providers/Microsoft.Network/loadBalancers/2b9e131c-bf7d-4e/inboundNatRules"; + _requests[1848] = new DefaultHttpContext(); + _requests[1848].RequestServices = CreateServices(); + _requests[1848].Request.Method = "GET"; + _requests[1848].Request.Path = "/subscriptions/6547d965-9655-/resourceGroups/66b3afa4-a53c-48e/providers/Microsoft.Network/loadBalancers/6a0ba0ad-33ef-41/loadBalancingRules"; + _requests[1849] = new DefaultHttpContext(); + _requests[1849].RequestServices = CreateServices(); + _requests[1849].Request.Method = "GET"; + _requests[1849].Request.Path = "/subscriptions/f5d18b87-c471-/resourceGroups/ccaca29f-20c3-46e/providers/Microsoft.Network/loadBalancers/05bde30b-6b13-48/networkInterfaces"; + _requests[1850] = new DefaultHttpContext(); + _requests[1850].RequestServices = CreateServices(); + _requests[1850].Request.Method = "GET"; + _requests[1850].Request.Path = "/subscriptions/91282629-702b-/resourceGroups/dab1fdd8-f17b-476/providers/Microsoft.Network/loadBalancers/55bd0f7f-0254-45/probes"; + _requests[1851] = new DefaultHttpContext(); + _requests[1851].RequestServices = CreateServices(); + _requests[1851].Request.Method = "POST"; + _requests[1851].Request.Path = "/subscriptions/af7a5441-3ff3-/resourceGroups/812fe483-374f-4a9/providers/Microsoft.Network/networkInterfaces/d1398cbf-53ca-4d86-a/effectiveNetworkSecurityGroups"; + _requests[1852] = new DefaultHttpContext(); + _requests[1852].RequestServices = CreateServices(); + _requests[1852].Request.Method = "POST"; + _requests[1852].Request.Path = "/subscriptions/722fdde9-9d83-/resourceGroups/be354a40-6ab0-4f7/providers/Microsoft.Network/networkInterfaces/bab2ac36-e380-4174-a/effectiveRouteTable"; + _requests[1853] = new DefaultHttpContext(); + _requests[1853].RequestServices = CreateServices(); + _requests[1853].Request.Method = "GET"; + _requests[1853].Request.Path = "/subscriptions/85805d31-a4cf-/resourceGroups/54c076c3-94e9-411/providers/Microsoft.Network/networkInterfaces/513ff4fd-ca40-473d-a/ipConfigurations"; + _requests[1854] = new DefaultHttpContext(); + _requests[1854].RequestServices = CreateServices(); + _requests[1854].Request.Method = "GET"; + _requests[1854].Request.Path = "/subscriptions/2794ebc0-008d-/resourceGroups/514b0914-81f9-480/providers/Microsoft.Network/networkInterfaces/0e1b0084-8acb-453c-8/loadBalancers"; + _requests[1855] = new DefaultHttpContext(); + _requests[1855].RequestServices = CreateServices(); + _requests[1855].Request.Method = "GET"; + _requests[1855].Request.Path = "/subscriptions/700f0f4d-705b-/resourceGroups/9e66d0c4-6de0-497/providers/Microsoft.Network/networkSecurityGroups/d06f6add-652b-44e0-aa0b-/defaultSecurityRules"; + _requests[1856] = new DefaultHttpContext(); + _requests[1856].RequestServices = CreateServices(); + _requests[1856].Request.Method = "GET"; + _requests[1856].Request.Path = "/subscriptions/5437fd80-82fb-/resourceGroups/f2709126-97ec-469/providers/Microsoft.Network/networkSecurityGroups/005d76d8-eb1c-4a42-897c-/securityRules"; + _requests[1857] = new DefaultHttpContext(); + _requests[1857].RequestServices = CreateServices(); + _requests[1857].Request.Method = "POST"; + _requests[1857].Request.Path = "/subscriptions/1494a721-1686-/resourceGroups/f33be386-969e-465/providers/Microsoft.Network/networkWatchers/97a10314-a67c-4dad/availableProvidersList"; + _requests[1858] = new DefaultHttpContext(); + _requests[1858].RequestServices = CreateServices(); + _requests[1858].Request.Method = "POST"; + _requests[1858].Request.Path = "/subscriptions/f450f55a-d1b7-/resourceGroups/9d2e6ebd-c52c-4be/providers/Microsoft.Network/networkWatchers/39cd8742-e77c-4c15/azureReachabilityReport"; + _requests[1859] = new DefaultHttpContext(); + _requests[1859].RequestServices = CreateServices(); + _requests[1859].Request.Method = "POST"; + _requests[1859].Request.Path = "/subscriptions/a31e1670-d126-/resourceGroups/8d14ddcf-186b-4f1/providers/Microsoft.Network/networkWatchers/26e782d1-ae1f-4528/configureFlowLog"; + _requests[1860] = new DefaultHttpContext(); + _requests[1860].RequestServices = CreateServices(); + _requests[1860].Request.Method = "GET"; + _requests[1860].Request.Path = "/subscriptions/cf829075-e370-/resourceGroups/185f29a0-cf5c-44b/providers/Microsoft.Network/networkWatchers/8d2524d6-37c5-40b7/connectionMonitors"; + _requests[1861] = new DefaultHttpContext(); + _requests[1861].RequestServices = CreateServices(); + _requests[1861].Request.Method = "POST"; + _requests[1861].Request.Path = "/subscriptions/ea711249-b5cd-/resourceGroups/37158d70-244e-4c2/providers/Microsoft.Network/networkWatchers/18dbcb25-cad7-4669/connectivityCheck"; + _requests[1862] = new DefaultHttpContext(); + _requests[1862].RequestServices = CreateServices(); + _requests[1862].Request.Method = "POST"; + _requests[1862].Request.Path = "/subscriptions/1d688e7e-2a06-/resourceGroups/b9be48d6-286f-439/providers/Microsoft.Network/networkWatchers/98e94cde-fefd-4c36/ipFlowVerify"; + _requests[1863] = new DefaultHttpContext(); + _requests[1863].RequestServices = CreateServices(); + _requests[1863].Request.Method = "POST"; + _requests[1863].Request.Path = "/subscriptions/d4733a65-05f1-/resourceGroups/7650378a-d4aa-4e8/providers/Microsoft.Network/networkWatchers/6e24a727-3cd3-43f3/nextHop"; + _requests[1864] = new DefaultHttpContext(); + _requests[1864].RequestServices = CreateServices(); + _requests[1864].Request.Method = "GET"; + _requests[1864].Request.Path = "/subscriptions/d2c5a858-6379-/resourceGroups/ea69426c-8c21-4ce/providers/Microsoft.Network/networkWatchers/db6ffb9c-0cd3-443b/packetCaptures"; + _requests[1865] = new DefaultHttpContext(); + _requests[1865].RequestServices = CreateServices(); + _requests[1865].Request.Method = "POST"; + _requests[1865].Request.Path = "/subscriptions/02865741-7974-/resourceGroups/88573ec4-15de-49d/providers/Microsoft.Network/networkWatchers/9e82ce9a-51ce-40ee/queryFlowLogStatus"; + _requests[1866] = new DefaultHttpContext(); + _requests[1866].RequestServices = CreateServices(); + _requests[1866].Request.Method = "POST"; + _requests[1866].Request.Path = "/subscriptions/abba9219-0efe-/resourceGroups/28196c39-4528-451/providers/Microsoft.Network/networkWatchers/cefd60e9-9b9d-4d42/queryTroubleshootResult"; + _requests[1867] = new DefaultHttpContext(); + _requests[1867].RequestServices = CreateServices(); + _requests[1867].Request.Method = "POST"; + _requests[1867].Request.Path = "/subscriptions/f1cc97a0-aa62-/resourceGroups/08a7b72f-6b4c-457/providers/Microsoft.Network/networkWatchers/40f33513-f9ef-463e/securityGroupView"; + _requests[1868] = new DefaultHttpContext(); + _requests[1868].RequestServices = CreateServices(); + _requests[1868].Request.Method = "POST"; + _requests[1868].Request.Path = "/subscriptions/b726d259-2f74-/resourceGroups/2f5a7ef3-c6e2-4a5/providers/Microsoft.Network/networkWatchers/201e752f-888b-44c1/topology"; + _requests[1869] = new DefaultHttpContext(); + _requests[1869].RequestServices = CreateServices(); + _requests[1869].Request.Method = "POST"; + _requests[1869].Request.Path = "/subscriptions/2b4fd191-a43f-/resourceGroups/129c89bd-10c2-401/providers/Microsoft.Network/networkWatchers/c78b7300-d47e-4b4f/troubleshoot"; + _requests[1870] = new DefaultHttpContext(); + _requests[1870].RequestServices = CreateServices(); + _requests[1870].Request.Method = "GET"; + _requests[1870].Request.Path = "/subscriptions/771a340e-981b-/resourceGroups/bf14d1e9-118a-486/providers/Microsoft.Network/routeFilters/58ed57c9-d55f-4/routeFilterRules"; + _requests[1871] = new DefaultHttpContext(); + _requests[1871].RequestServices = CreateServices(); + _requests[1871].Request.Method = "GET"; + _requests[1871].Request.Path = "/subscriptions/d794fcd9-5e6f-/resourceGroups/882c3419-e3bf-4d1/providers/Microsoft.Network/routeTables/961040b0-3dce-/routes"; + _requests[1872] = new DefaultHttpContext(); + _requests[1872].RequestServices = CreateServices(); + _requests[1872].Request.Method = "GET"; + _requests[1872].Request.Path = "/subscriptions/9d82ce4d-2755-/resourceGroups/fc1b712a-8154-4a1/providers/Microsoft.Network/virtualNetworkGateways/087d44b6-fe62-4377-acd9-b/connections"; + _requests[1873] = new DefaultHttpContext(); + _requests[1873].RequestServices = CreateServices(); + _requests[1873].Request.Method = "POST"; + _requests[1873].Request.Path = "/subscriptions/8506902f-7f71-/resourceGroups/edf4ed63-8b49-4ed/providers/Microsoft.Network/virtualNetworkGateways/2ea7490b-0163-4500-8e08-1/generatevpnclientpackage"; + _requests[1874] = new DefaultHttpContext(); + _requests[1874].RequestServices = CreateServices(); + _requests[1874].Request.Method = "POST"; + _requests[1874].Request.Path = "/subscriptions/361a43c2-d346-/resourceGroups/ca856f14-7fc3-400/providers/Microsoft.Network/virtualNetworkGateways/301f9fa4-5189-40f0-bc83-d/generatevpnprofile"; + _requests[1875] = new DefaultHttpContext(); + _requests[1875].RequestServices = CreateServices(); + _requests[1875].Request.Method = "POST"; + _requests[1875].Request.Path = "/subscriptions/6ea23920-2ca2-/resourceGroups/149947c6-e4f9-4a2/providers/Microsoft.Network/virtualNetworkGateways/24069211-6b90-454a-9c71-2/getAdvertisedRoutes"; + _requests[1876] = new DefaultHttpContext(); + _requests[1876].RequestServices = CreateServices(); + _requests[1876].Request.Method = "POST"; + _requests[1876].Request.Path = "/subscriptions/a5da221c-9d75-/resourceGroups/b0f2d726-e21f-42e/providers/Microsoft.Network/virtualNetworkGateways/dc2b4c93-fb51-4adb-87c9-b/getBgpPeerStatus"; + _requests[1877] = new DefaultHttpContext(); + _requests[1877].RequestServices = CreateServices(); + _requests[1877].Request.Method = "POST"; + _requests[1877].Request.Path = "/subscriptions/e168f5af-9a43-/resourceGroups/edb8448a-3031-416/providers/Microsoft.Network/virtualNetworkGateways/147c5a99-6606-4119-b22b-a/getLearnedRoutes"; + _requests[1878] = new DefaultHttpContext(); + _requests[1878].RequestServices = CreateServices(); + _requests[1878].Request.Method = "POST"; + _requests[1878].Request.Path = "/subscriptions/8d649fff-7975-/resourceGroups/72ff9c77-3547-489/providers/Microsoft.Network/virtualNetworkGateways/00d42826-35fe-4107-9e7e-f/getvpnclientipsecparameters"; + _requests[1879] = new DefaultHttpContext(); + _requests[1879].RequestServices = CreateServices(); + _requests[1879].Request.Method = "POST"; + _requests[1879].Request.Path = "/subscriptions/6996f97b-04c9-/resourceGroups/3102501e-0dd3-4f8/providers/Microsoft.Network/virtualNetworkGateways/1ea340ae-9241-46d4-93dd-0/getvpnprofilepackageurl"; + _requests[1880] = new DefaultHttpContext(); + _requests[1880].RequestServices = CreateServices(); + _requests[1880].Request.Method = "POST"; + _requests[1880].Request.Path = "/subscriptions/09601fa0-7f9d-/resourceGroups/00edc92f-0f4d-4ef/providers/Microsoft.Network/virtualNetworkGateways/25c47985-f4d4-4797-b6e2-1/reset"; + _requests[1881] = new DefaultHttpContext(); + _requests[1881].RequestServices = CreateServices(); + _requests[1881].Request.Method = "POST"; + _requests[1881].Request.Path = "/subscriptions/6ea32930-c3ad-/resourceGroups/72772467-40bb-455/providers/Microsoft.Network/virtualNetworkGateways/068003cf-00c1-4a1a-a422-e/setvpnclientipsecparameters"; + _requests[1882] = new DefaultHttpContext(); + _requests[1882].RequestServices = CreateServices(); + _requests[1882].Request.Method = "POST"; + _requests[1882].Request.Path = "/subscriptions/404f6374-1679-/resourceGroups/ae58f31a-ba5b-458/providers/Microsoft.Network/virtualNetworkGateways/da71541e-bfae-4e2f-8f88-3/supportedvpndevices"; + _requests[1883] = new DefaultHttpContext(); + _requests[1883].RequestServices = CreateServices(); + _requests[1883].Request.Method = "GET"; + _requests[1883].Request.Path = "/subscriptions/1361d3f8-dd2c-/resourceGroups/141d5727-436f-4a4/providers/Microsoft.Network/virtualNetworks/138bf236-ab50-4ac0/CheckIPAddressAvailability"; + _requests[1884] = new DefaultHttpContext(); + _requests[1884].RequestServices = CreateServices(); + _requests[1884].Request.Method = "GET"; + _requests[1884].Request.Path = "/subscriptions/4cc7087a-9733-/resourceGroups/1138ca4b-9318-4ce/providers/Microsoft.Network/virtualNetworks/2351947b-7fde-4aa8/subnets"; + _requests[1885] = new DefaultHttpContext(); + _requests[1885].RequestServices = CreateServices(); + _requests[1885].Request.Method = "GET"; + _requests[1885].Request.Path = "/subscriptions/c7eb5b0e-8eb2-/resourceGroups/61cf90db-fdca-422/providers/Microsoft.Network/virtualNetworks/0c678bbe-a30b-4826/usages"; + _requests[1886] = new DefaultHttpContext(); + _requests[1886].RequestServices = CreateServices(); + _requests[1886].Request.Method = "GET"; + _requests[1886].Request.Path = "/subscriptions/cd01bcf9-af46-/resourceGroups/c53912ae-6f63-4d6/providers/Microsoft.Network/virtualNetworks/768985ad-612a-464a/virtualNetworkPeerings"; + _requests[1887] = new DefaultHttpContext(); + _requests[1887].RequestServices = CreateServices(); + _requests[1887].Request.Method = "GET"; + _requests[1887].Request.Path = "/subscriptions/cb3efaf4-7870-/resourceGroups/8b465326-4591-464/providers/Microsoft.NotificationHubs/namespaces/51a1829f-44c7/AuthorizationRules"; + _requests[1888] = new DefaultHttpContext(); + _requests[1888].RequestServices = CreateServices(); + _requests[1888].Request.Method = "POST"; + _requests[1888].Request.Path = "/subscriptions/e414a610-58fa-/resourceGroups/cc52d4f4-3e94-424/providers/Microsoft.NotificationHubs/namespaces/67189805-ff3a/checkNotificationHubAvailability"; + _requests[1889] = new DefaultHttpContext(); + _requests[1889].RequestServices = CreateServices(); + _requests[1889].Request.Method = "GET"; + _requests[1889].Request.Path = "/subscriptions/36119f1a-ba8f-/resourceGroups/325032dd-261b-481/providers/Microsoft.NotificationHubs/namespaces/fc27ea40-cb18/notificationHubs"; + _requests[1890] = new DefaultHttpContext(); + _requests[1890].RequestServices = CreateServices(); + _requests[1890].Request.Method = "GET"; + _requests[1890].Request.Path = "/subscriptions/649426d2-aa99-/resourcegroups/fdb59bbf-62ea-41f/providers/Microsoft.OperationalInsights/workspaces/bfa1f715-549c/dataSources"; + _requests[1891] = new DefaultHttpContext(); + _requests[1891].RequestServices = CreateServices(); + _requests[1891].Request.Method = "GET"; + _requests[1891].Request.Path = "/subscriptions/e37205b7-1fab-/resourcegroups/cbbb9e77-35e4-4f2/providers/Microsoft.OperationalInsights/workspaces/82c6c987-eb72/intelligencePacks"; + _requests[1892] = new DefaultHttpContext(); + _requests[1892].RequestServices = CreateServices(); + _requests[1892].Request.Method = "GET"; + _requests[1892].Request.Path = "/subscriptions/a96c2519-c65d-/resourcegroups/d80cb8dd-14a8-4f0/providers/Microsoft.OperationalInsights/workspaces/95995303-bf2e/linkedServices"; + _requests[1893] = new DefaultHttpContext(); + _requests[1893].RequestServices = CreateServices(); + _requests[1893].Request.Method = "GET"; + _requests[1893].Request.Path = "/subscriptions/08b4e49e-a6fe-/resourcegroups/53610fae-259e-460/providers/Microsoft.OperationalInsights/workspaces/69624efd-8cfc/managementGroups"; + _requests[1894] = new DefaultHttpContext(); + _requests[1894].RequestServices = CreateServices(); + _requests[1894].Request.Method = "POST"; + _requests[1894].Request.Path = "/subscriptions/837931f5-9878-/resourceGroups/2c0387c7-84ee-4c7/providers/Microsoft.OperationalInsights/workspaces/207b0293-1a56/purge"; + _requests[1895] = new DefaultHttpContext(); + _requests[1895].RequestServices = CreateServices(); + _requests[1895].Request.Method = "GET"; + _requests[1895].Request.Path = "/subscriptions/fd257c15-51d9-/resourcegroups/bfa9306f-dab3-4bd/providers/Microsoft.OperationalInsights/workspaces/2f3a97b6-9241/savedSearches"; + _requests[1896] = new DefaultHttpContext(); + _requests[1896].RequestServices = CreateServices(); + _requests[1896].Request.Method = "POST"; + _requests[1896].Request.Path = "/subscriptions/69d7404a-d6c0-/resourcegroups/776cdddb-1262-439/providers/Microsoft.OperationalInsights/workspaces/799773be-553d/schema"; + _requests[1897] = new DefaultHttpContext(); + _requests[1897].RequestServices = CreateServices(); + _requests[1897].Request.Method = "POST"; + _requests[1897].Request.Path = "/subscriptions/c71c183a-028b-/resourcegroups/a5c30854-8965-4f7/providers/Microsoft.OperationalInsights/workspaces/d938bb7b-a0cb/search"; + _requests[1898] = new DefaultHttpContext(); + _requests[1898].RequestServices = CreateServices(); + _requests[1898].Request.Method = "POST"; + _requests[1898].Request.Path = "/subscriptions/9c2958d3-eff1-/resourcegroups/0ef969cc-bd1e-474/providers/Microsoft.OperationalInsights/workspaces/b6f81d29-27e6/sharedKeys"; + _requests[1899] = new DefaultHttpContext(); + _requests[1899].RequestServices = CreateServices(); + _requests[1899].Request.Method = "GET"; + _requests[1899].Request.Path = "/subscriptions/6835ce91-b8c5-/resourcegroups/35831768-f167-4a5/providers/Microsoft.OperationalInsights/workspaces/e895bf74-3f9a/storageInsightConfigs"; + _requests[1900] = new DefaultHttpContext(); + _requests[1900].RequestServices = CreateServices(); + _requests[1900].Request.Method = "GET"; + _requests[1900].Request.Path = "/subscriptions/8ba83dde-a2e3-/resourcegroups/727f640c-dce6-448/providers/Microsoft.OperationalInsights/workspaces/c3939575-5e52/usages"; + _requests[1901] = new DefaultHttpContext(); + _requests[1901].RequestServices = CreateServices(); + _requests[1901].Request.Method = "POST"; + _requests[1901].Request.Path = "/subscriptions/fc1f10a0-17ba-/resourceGroups/a6c39364-6d5b-4ec/providers/Microsoft.PolicyInsights/policyEvents/4f2b72f1-ce53-4365-a/queryResults"; + _requests[1902] = new DefaultHttpContext(); + _requests[1902].RequestServices = CreateServices(); + _requests[1902].Request.Method = "POST"; + _requests[1902].Request.Path = "/subscriptions/3d1904b3-a4d6-/resourceGroups/b79e97c5-afc7-47c/providers/Microsoft.PolicyInsights/policyStates/e87ee7db-d520-4557-8/queryResults"; + _requests[1903] = new DefaultHttpContext(); + _requests[1903].RequestServices = CreateServices(); + _requests[1903].Request.Method = "POST"; + _requests[1903].Request.Path = "/subscriptions/deaa2672-32d5-/resourceGroups/275482c3-0598-412/providers/Microsoft.PolicyInsights/policyStates/683f6db7-cbb1-468a-8979-2bd/summarize"; + _requests[1904] = new DefaultHttpContext(); + _requests[1904].RequestServices = CreateServices(); + _requests[1904].Request.Method = "POST"; + _requests[1904].Request.Path = "/subscriptions/d3ac08cb-477b-/resourceGroups/7e559183-36d8-439/providers/Microsoft.PowerBI/workspaceCollections/257f1d85-5d91-47d0-93df/listKeys"; + _requests[1905] = new DefaultHttpContext(); + _requests[1905].RequestServices = CreateServices(); + _requests[1905].Request.Method = "POST"; + _requests[1905].Request.Path = "/subscriptions/94a17623-382b-/resourceGroups/04eb290e-6ef8-406/providers/Microsoft.PowerBI/workspaceCollections/a343a7c4-c263-450d-b22e/regenerateKey"; + _requests[1906] = new DefaultHttpContext(); + _requests[1906].RequestServices = CreateServices(); + _requests[1906].Request.Method = "GET"; + _requests[1906].Request.Path = "/subscriptions/048fd0ce-25fe-/resourceGroups/d72d674f-f9f3-4de/providers/Microsoft.PowerBI/workspaceCollections/b91fb0a0-681f-4ca7-865a/workspaces"; + _requests[1907] = new DefaultHttpContext(); + _requests[1907].RequestServices = CreateServices(); + _requests[1907].Request.Method = "POST"; + _requests[1907].Request.Path = "/subscriptions/acf1580b-26a6-/resourceGroups/e3309b5a-f8f0-46f/providers/Microsoft.PowerBIDedicated/capacities/6253bf38-5cd0-4ef2-9d/resume"; + _requests[1908] = new DefaultHttpContext(); + _requests[1908].RequestServices = CreateServices(); + _requests[1908].Request.Method = "GET"; + _requests[1908].Request.Path = "/subscriptions/fcf9802f-8688-/resourceGroups/de2c6d34-7844-462/providers/Microsoft.PowerBIDedicated/capacities/409d8cfa-2cf7-4da5-a2/skus"; + _requests[1909] = new DefaultHttpContext(); + _requests[1909].RequestServices = CreateServices(); + _requests[1909].Request.Method = "POST"; + _requests[1909].Request.Path = "/subscriptions/7c3df1da-2016-/resourceGroups/d8555441-8d98-4bc/providers/Microsoft.PowerBIDedicated/capacities/59a6ded7-537c-41fd-82/suspend"; + _requests[1910] = new DefaultHttpContext(); + _requests[1910].RequestServices = CreateServices(); + _requests[1910].Request.Method = "GET"; + _requests[1910].Request.Path = "/Subscriptions/18f781ca-c525-/resourceGroups/550d3796-bce1-41e/providers/Microsoft.RecoveryServices/vaults/66dcf507-3c5/replicationAlertSettings"; + _requests[1911] = new DefaultHttpContext(); + _requests[1911].RequestServices = CreateServices(); + _requests[1911].Request.Method = "GET"; + _requests[1911].Request.Path = "/Subscriptions/32f2e7ef-5fef-/resourceGroups/32e8e2fa-4f85-41d/providers/Microsoft.RecoveryServices/vaults/645a9958-abe/replicationEvents"; + _requests[1912] = new DefaultHttpContext(); + _requests[1912].RequestServices = CreateServices(); + _requests[1912].Request.Method = "GET"; + _requests[1912].Request.Path = "/Subscriptions/40d97085-567c-/resourceGroups/d279f0c0-1d45-421/providers/Microsoft.RecoveryServices/vaults/9b931578-859/replicationFabrics"; + _requests[1913] = new DefaultHttpContext(); + _requests[1913].RequestServices = CreateServices(); + _requests[1913].Request.Method = "GET"; + _requests[1913].Request.Path = "/Subscriptions/3a5ab734-f17e-/resourceGroups/d5c34d97-cbc2-4e4/providers/Microsoft.RecoveryServices/vaults/da7a79ce-cd1/replicationJobs"; + _requests[1914] = new DefaultHttpContext(); + _requests[1914].RequestServices = CreateServices(); + _requests[1914].Request.Method = "GET"; + _requests[1914].Request.Path = "/Subscriptions/f5558a6b-09d2-/resourceGroups/52353849-c241-40d/providers/Microsoft.RecoveryServices/vaults/a280c920-187/replicationNetworkMappings"; + _requests[1915] = new DefaultHttpContext(); + _requests[1915].RequestServices = CreateServices(); + _requests[1915].Request.Method = "GET"; + _requests[1915].Request.Path = "/Subscriptions/9fc245df-5e82-/resourceGroups/24b2b7a9-272f-415/providers/Microsoft.RecoveryServices/vaults/54c8f184-09f/replicationNetworks"; + _requests[1916] = new DefaultHttpContext(); + _requests[1916].RequestServices = CreateServices(); + _requests[1916].Request.Method = "GET"; + _requests[1916].Request.Path = "/Subscriptions/97e8d2b2-5f0f-/resourceGroups/cb77f9ce-aadb-4b7/providers/Microsoft.RecoveryServices/vaults/a9676e52-ce2/replicationPolicies"; + _requests[1917] = new DefaultHttpContext(); + _requests[1917].RequestServices = CreateServices(); + _requests[1917].Request.Method = "GET"; + _requests[1917].Request.Path = "/Subscriptions/97fcb6c2-92f1-/resourceGroups/edec178c-173c-49f/providers/Microsoft.RecoveryServices/vaults/47bbf289-256/replicationProtectedItems"; + _requests[1918] = new DefaultHttpContext(); + _requests[1918].RequestServices = CreateServices(); + _requests[1918].Request.Method = "GET"; + _requests[1918].Request.Path = "/Subscriptions/f59181d5-a09d-/resourceGroups/d1bc3ed9-379a-495/providers/Microsoft.RecoveryServices/vaults/35ff5535-6ee/replicationProtectionContainerMappings"; + _requests[1919] = new DefaultHttpContext(); + _requests[1919].RequestServices = CreateServices(); + _requests[1919].Request.Method = "GET"; + _requests[1919].Request.Path = "/Subscriptions/8189ef87-f7c6-/resourceGroups/2b7161f3-43df-42f/providers/Microsoft.RecoveryServices/vaults/cec2f3aa-c3f/replicationProtectionContainers"; + _requests[1920] = new DefaultHttpContext(); + _requests[1920].RequestServices = CreateServices(); + _requests[1920].Request.Method = "GET"; + _requests[1920].Request.Path = "/Subscriptions/462072e7-4e6a-/resourceGroups/afb883e7-4ba2-4c9/providers/Microsoft.RecoveryServices/vaults/24ba0504-e61/replicationRecoveryPlans"; + _requests[1921] = new DefaultHttpContext(); + _requests[1921].RequestServices = CreateServices(); + _requests[1921].Request.Method = "GET"; + _requests[1921].Request.Path = "/Subscriptions/569f4fe3-75a6-/resourceGroups/1a6cc3af-eeee-4c5/providers/Microsoft.RecoveryServices/vaults/62dd9705-c0e/replicationRecoveryServicesProviders"; + _requests[1922] = new DefaultHttpContext(); + _requests[1922].RequestServices = CreateServices(); + _requests[1922].Request.Method = "GET"; + _requests[1922].Request.Path = "/Subscriptions/66599e71-0119-/resourceGroups/462c31f8-f459-455/providers/Microsoft.RecoveryServices/vaults/eed8f761-5e2/replicationStorageClassificationMappings"; + _requests[1923] = new DefaultHttpContext(); + _requests[1923].RequestServices = CreateServices(); + _requests[1923].Request.Method = "GET"; + _requests[1923].Request.Path = "/Subscriptions/7d357ce4-4a18-/resourceGroups/db1d19f4-1753-42f/providers/Microsoft.RecoveryServices/vaults/35296352-813/replicationStorageClassifications"; + _requests[1924] = new DefaultHttpContext(); + _requests[1924].RequestServices = CreateServices(); + _requests[1924].Request.Method = "GET"; + _requests[1924].Request.Path = "/Subscriptions/55a99d9d-8d0c-/resourceGroups/850ed33b-06de-4cf/providers/Microsoft.RecoveryServices/vaults/ce7a22a3-42e/replicationVaultHealth"; + _requests[1925] = new DefaultHttpContext(); + _requests[1925].RequestServices = CreateServices(); + _requests[1925].Request.Method = "GET"; + _requests[1925].Request.Path = "/Subscriptions/d22d24c1-4ca4-/resourceGroups/fe35bece-ca41-43d/providers/Microsoft.RecoveryServices/vaults/fc1128c8-4b9/replicationvCenters"; + _requests[1926] = new DefaultHttpContext(); + _requests[1926].RequestServices = CreateServices(); + _requests[1926].Request.Method = "GET"; + _requests[1926].Request.Path = "/Subscriptions/b81b33c2-8cd2-/resourceGroups/04236ecb-d3fc-4ed/providers/Microsoft.RecoveryServices/vaults/2a61c0a7-/backupEngines"; + _requests[1927] = new DefaultHttpContext(); + _requests[1927].RequestServices = CreateServices(); + _requests[1927].Request.Method = "GET"; + _requests[1927].Request.Path = "/Subscriptions/74a00c97-6837-/resourceGroups/0e8895b8-25f3-488/providers/Microsoft.RecoveryServices/vaults/564e37b3-/backupJobs"; + _requests[1928] = new DefaultHttpContext(); + _requests[1928].RequestServices = CreateServices(); + _requests[1928].Request.Method = "POST"; + _requests[1928].Request.Path = "/Subscriptions/a584f54d-c8bb-/resourceGroups/cedfe797-30f0-4e3/providers/Microsoft.RecoveryServices/vaults/804b03d1-/backupJobsExport"; + _requests[1929] = new DefaultHttpContext(); + _requests[1929].RequestServices = CreateServices(); + _requests[1929].Request.Method = "GET"; + _requests[1929].Request.Path = "/Subscriptions/4709bdf4-21de-/resourceGroups/1241514b-77c5-4f1/providers/Microsoft.RecoveryServices/vaults/809a5984-/backupPolicies"; + _requests[1930] = new DefaultHttpContext(); + _requests[1930].RequestServices = CreateServices(); + _requests[1930].Request.Method = "GET"; + _requests[1930].Request.Path = "/Subscriptions/1a9f7b66-7546-/resourceGroups/4b5e7f64-044c-489/providers/Microsoft.RecoveryServices/vaults/3ce3a6db-/backupProtectableItems"; + _requests[1931] = new DefaultHttpContext(); + _requests[1931].RequestServices = CreateServices(); + _requests[1931].Request.Method = "GET"; + _requests[1931].Request.Path = "/Subscriptions/3f71e2fe-d3a8-/resourceGroups/6dbc1994-fbb2-430/providers/Microsoft.RecoveryServices/vaults/97752310-/backupProtectedItems"; + _requests[1932] = new DefaultHttpContext(); + _requests[1932].RequestServices = CreateServices(); + _requests[1932].Request.Method = "GET"; + _requests[1932].Request.Path = "/Subscriptions/9ed6819f-3b26-/resourceGroups/0d211ae2-ae92-4ec/providers/Microsoft.RecoveryServices/vaults/cc6a772d-/backupProtectionContainers"; + _requests[1933] = new DefaultHttpContext(); + _requests[1933].RequestServices = CreateServices(); + _requests[1933].Request.Method = "POST"; + _requests[1933].Request.Path = "/Subscriptions/1003540a-24a8-/resourceGroups/8607379d-6fe1-432/providers/Microsoft.RecoveryServices/vaults/134b0430-/backupSecurityPIN"; + _requests[1934] = new DefaultHttpContext(); + _requests[1934].RequestServices = CreateServices(); + _requests[1934].Request.Method = "GET"; + _requests[1934].Request.Path = "/Subscriptions/0d6585b6-c417-/resourceGroups/b57939f9-d710-4c3/providers/Microsoft.RecoveryServices/vaults/929d1b23-/backupUsageSummaries"; + _requests[1935] = new DefaultHttpContext(); + _requests[1935].RequestServices = CreateServices(); + _requests[1935].Request.Method = "GET"; + _requests[1935].Request.Path = "/Subscriptions/8629411e-ae76-/resourceGroups/f6ccffe3-57d6-425/providers/Microsoft.RecoveryServices/vaults/8ecd2dc6-/replicationUsages"; + _requests[1936] = new DefaultHttpContext(); + _requests[1936].RequestServices = CreateServices(); + _requests[1936].Request.Method = "GET"; + _requests[1936].Request.Path = "/Subscriptions/7af96ee3-d4c6-/resourceGroups/405b95b1-ecc5-496/providers/Microsoft.RecoveryServices/vaults/01f6fd7d-/usages"; + _requests[1937] = new DefaultHttpContext(); + _requests[1937].RequestServices = CreateServices(); + _requests[1937].Request.Method = "GET"; + _requests[1937].Request.Path = "/subscriptions/980cffda-5ae6-/resourceGroups/581721cf-0307-483/providers/Microsoft.Relay/namespaces/d4dba7e6-6580/authorizationRules"; + _requests[1938] = new DefaultHttpContext(); + _requests[1938].RequestServices = CreateServices(); + _requests[1938].Request.Method = "GET"; + _requests[1938].Request.Path = "/subscriptions/17459d36-76a2-/resourceGroups/ba66c2c7-9145-4d8/providers/Microsoft.Relay/namespaces/2fa38cef-6ab9/hybridConnections"; + _requests[1939] = new DefaultHttpContext(); + _requests[1939].RequestServices = CreateServices(); + _requests[1939].Request.Method = "GET"; + _requests[1939].Request.Path = "/subscriptions/93f56450-399c-/resourceGroups/1228cc43-93e0-446/providers/Microsoft.Relay/namespaces/8427cf03-9408/wcfRelays"; + _requests[1940] = new DefaultHttpContext(); + _requests[1940].RequestServices = CreateServices(); + _requests[1940].Request.Method = "POST"; + _requests[1940].Request.Path = "/subscriptions/7b43867f-85b7-/resourcegroups/1757ccba-950a-440/providers/Microsoft.Resources/deployments/c621e7ed-075d-/cancel"; + _requests[1941] = new DefaultHttpContext(); + _requests[1941].RequestServices = CreateServices(); + _requests[1941].Request.Method = "POST"; + _requests[1941].Request.Path = "/subscriptions/cea4ec20-0002-/resourcegroups/150dbe23-00c6-472/providers/Microsoft.Resources/deployments/73d10056-48b0-/exportTemplate"; + _requests[1942] = new DefaultHttpContext(); + _requests[1942].RequestServices = CreateServices(); + _requests[1942].Request.Method = "POST"; + _requests[1942].Request.Path = "/subscriptions/a1eb8b18-5db1-/resourcegroups/c241ad35-6810-4e7/providers/Microsoft.Resources/deployments/e1bc3783-432a-/validate"; + _requests[1943] = new DefaultHttpContext(); + _requests[1943].RequestServices = CreateServices(); + _requests[1943].Request.Method = "POST"; + _requests[1943].Request.Path = "/subscriptions/42a1f09b-1a89-/resourceGroups/8b05b02a-bab8-47a/providers/Microsoft.Scheduler/jobCollections/5d35fb6b-bf7a-4d3/disable"; + _requests[1944] = new DefaultHttpContext(); + _requests[1944].RequestServices = CreateServices(); + _requests[1944].Request.Method = "POST"; + _requests[1944].Request.Path = "/subscriptions/dd82e39b-8e5c-/resourceGroups/47b5e910-2d95-425/providers/Microsoft.Scheduler/jobCollections/5f3e2777-1911-41f/enable"; + _requests[1945] = new DefaultHttpContext(); + _requests[1945].RequestServices = CreateServices(); + _requests[1945].Request.Method = "GET"; + _requests[1945].Request.Path = "/subscriptions/e9421aea-0f6b-/resourceGroups/aab540dc-ac4d-474/providers/Microsoft.Scheduler/jobCollections/27ae310f-be29-494/jobs"; + _requests[1946] = new DefaultHttpContext(); + _requests[1946].RequestServices = CreateServices(); + _requests[1946].Request.Method = "POST"; + _requests[1946].Request.Path = "/subscriptions/feea945e-aacb-/resourceGroups/4abf1285-d4ec-4ff/providers/Microsoft.Search/searchServices/3c6ae2a2-f21e-4e8/listAdminKeys"; + _requests[1947] = new DefaultHttpContext(); + _requests[1947].RequestServices = CreateServices(); + _requests[1947].Request.Method = "GET"; + _requests[1947].Request.Path = "/subscriptions/0f31105d-c3dd-/resourceGroups/089df606-423f-482/providers/Microsoft.Search/searchServices/2ab31df5-0113-435/listQueryKeys"; + _requests[1948] = new DefaultHttpContext(); + _requests[1948].RequestServices = CreateServices(); + _requests[1948].Request.Method = "GET"; + _requests[1948].Request.Path = "/subscriptions/f4698aff-39ea-/resourceGroups/df2fec72-c585-466/providers/Microsoft.Security/locations/a7a59ef7-cd/alerts"; + _requests[1949] = new DefaultHttpContext(); + _requests[1949].RequestServices = CreateServices(); + _requests[1949].Request.Method = "GET"; + _requests[1949].Request.Path = "/subscriptions/fde28efb-31b0-/resourceGroups/6a05c277-6533-4be/providers/Microsoft.Security/locations/c0066ad3-4a/jitNetworkAccessPolicies"; + _requests[1950] = new DefaultHttpContext(); + _requests[1950].RequestServices = CreateServices(); + _requests[1950].Request.Method = "GET"; + _requests[1950].Request.Path = "/subscriptions/ed999245-1e4a-/resourceGroups/eaed7cb9-d28f-4c5/providers/Microsoft.Security/locations/0f41168f-a0/tasks"; + _requests[1951] = new DefaultHttpContext(); + _requests[1951].RequestServices = CreateServices(); + _requests[1951].Request.Method = "POST"; + _requests[1951].Request.Path = "/subscriptions/32af5639-7d28-/resourceGroups/664bd947-717f-456/providers/Microsoft.ServerManagement/gateways/0ae9b270-1e/profile"; + _requests[1952] = new DefaultHttpContext(); + _requests[1952].RequestServices = CreateServices(); + _requests[1952].Request.Method = "POST"; + _requests[1952].Request.Path = "/subscriptions/10c61351-aa61-/resourceGroups/3de6c8b4-7e42-46f/providers/Microsoft.ServerManagement/gateways/06a02e07-96/regenerateprofile"; + _requests[1953] = new DefaultHttpContext(); + _requests[1953].RequestServices = CreateServices(); + _requests[1953].Request.Method = "POST"; + _requests[1953].Request.Path = "/subscriptions/c0089034-45ed-/resourceGroups/bfa7de97-4cf9-402/providers/Microsoft.ServerManagement/gateways/4fb0df26-8e/upgradetolatest"; + _requests[1954] = new DefaultHttpContext(); + _requests[1954].RequestServices = CreateServices(); + _requests[1954].Request.Method = "GET"; + _requests[1954].Request.Path = "/subscriptions/b803bcce-f030-/resourceGroups/515b379d-c465-49c/providers/Microsoft.ServiceBus/namespaces/4485a612-c9b8/AuthorizationRules"; + _requests[1955] = new DefaultHttpContext(); + _requests[1955].RequestServices = CreateServices(); + _requests[1955].Request.Method = "GET"; + _requests[1955].Request.Path = "/subscriptions/72415ae0-3a00-/resourceGroups/d62699b8-c981-45d/providers/Microsoft.ServiceBus/namespaces/40cddda1-8945/disasterRecoveryConfigs"; + _requests[1956] = new DefaultHttpContext(); + _requests[1956].RequestServices = CreateServices(); + _requests[1956].Request.Method = "GET"; + _requests[1956].Request.Path = "/subscriptions/46d9261c-f273-/resourceGroups/86b86c14-3550-4b4/providers/Microsoft.ServiceBus/namespaces/b6c84343-51ff/eventhubs"; + _requests[1957] = new DefaultHttpContext(); + _requests[1957].RequestServices = CreateServices(); + _requests[1957].Request.Method = "GET"; + _requests[1957].Request.Path = "/subscriptions/32aeb101-6b4e-/resourceGroups/5316d617-1733-4f6/providers/Microsoft.ServiceBus/namespaces/e33f8a14-6045/messagingplan"; + _requests[1958] = new DefaultHttpContext(); + _requests[1958].RequestServices = CreateServices(); + _requests[1958].Request.Method = "GET"; + _requests[1958].Request.Path = "/subscriptions/c2855c22-b09a-/resourceGroups/d8689a09-1531-4b6/providers/Microsoft.ServiceBus/namespaces/caa402b6-c770/migrationConfigurations"; + _requests[1959] = new DefaultHttpContext(); + _requests[1959].RequestServices = CreateServices(); + _requests[1959].Request.Method = "GET"; + _requests[1959].Request.Path = "/subscriptions/76af5ed4-5ae3-/resourceGroups/d559d666-8c9d-47c/providers/Microsoft.ServiceBus/namespaces/c8345f41-e303/queues"; + _requests[1960] = new DefaultHttpContext(); + _requests[1960].RequestServices = CreateServices(); + _requests[1960].Request.Method = "GET"; + _requests[1960].Request.Path = "/subscriptions/b34d9952-c569-/resourceGroups/eceefcbb-59b9-421/providers/Microsoft.ServiceBus/namespaces/3d96810a-2598/topics"; + _requests[1961] = new DefaultHttpContext(); + _requests[1961].RequestServices = CreateServices(); + _requests[1961].Request.Method = "GET"; + _requests[1961].Request.Path = "/subscriptions/ddcbfae9-d247-/resourceGroups/12032e8e-b317-483/providers/Microsoft.ServiceFabric/clusters/d9fda65c-a9/applications"; + _requests[1962] = new DefaultHttpContext(); + _requests[1962].RequestServices = CreateServices(); + _requests[1962].Request.Method = "GET"; + _requests[1962].Request.Path = "/subscriptions/0b7aa011-c857-/resourceGroups/e8f40e00-f343-435/providers/Microsoft.ServiceFabric/clusters/54df23ae-3d/applicationTypes"; + _requests[1963] = new DefaultHttpContext(); + _requests[1963].RequestServices = CreateServices(); + _requests[1963].Request.Method = "POST"; + _requests[1963].Request.Path = "/subscriptions/54bfa796-40cb-/resourceGroups/c80ccb88-f9c5-4d3/providers/Microsoft.SignalRService/SignalR/8f97b7a2-c92/listKeys"; + _requests[1964] = new DefaultHttpContext(); + _requests[1964].RequestServices = CreateServices(); + _requests[1964].Request.Method = "POST"; + _requests[1964].Request.Path = "/subscriptions/26f33900-25a0-/resourceGroups/7d3d98b5-8b9a-42c/providers/Microsoft.SignalRService/SignalR/f7fe6f19-c34/regenerateKey"; + _requests[1965] = new DefaultHttpContext(); + _requests[1965].RequestServices = CreateServices(); + _requests[1965].Request.Method = "GET"; + _requests[1965].Request.Path = "/subscriptions/e40340ea-4702-/resourceGroups/1ff112c5-269a-4aa/providers/Microsoft.Sql/locations/3b4f5c0d-535/instanceFailoverGroups"; + _requests[1966] = new DefaultHttpContext(); + _requests[1966].RequestServices = CreateServices(); + _requests[1966].Request.Method = "GET"; + _requests[1966].Request.Path = "/subscriptions/53a6dccc-1bf0-/resourceGroups/f1ef1172-db63-497/providers/Microsoft.Sql/managedInstances/4a129714-e4fe-4f94-/databases"; + _requests[1967] = new DefaultHttpContext(); + _requests[1967].RequestServices = CreateServices(); + _requests[1967].Request.Method = "GET"; + _requests[1967].Request.Path = "/subscriptions/e13c3263-0c8e-/resourceGroups/23d3c938-2b51-440/providers/Microsoft.Sql/servers/078630e5-6/administrators"; + _requests[1968] = new DefaultHttpContext(); + _requests[1968].RequestServices = CreateServices(); + _requests[1968].Request.Method = "GET"; + _requests[1968].Request.Path = "/subscriptions/2ccfd1b4-9ef0-/resourceGroups/f20bd80f-32b3-4b4/providers/Microsoft.Sql/servers/eec787f7-8/advisors"; + _requests[1969] = new DefaultHttpContext(); + _requests[1969].RequestServices = CreateServices(); + _requests[1969].Request.Method = "GET"; + _requests[1969].Request.Path = "/subscriptions/8afee96b-4b08-/resourceGroups/2231e3ae-9d73-478/providers/Microsoft.Sql/servers/9962cb8e-b/auditingPolicies"; + _requests[1970] = new DefaultHttpContext(); + _requests[1970].RequestServices = CreateServices(); + _requests[1970].Request.Method = "GET"; + _requests[1970].Request.Path = "/subscriptions/af6d777b-e1fa-/resourceGroups/6e2e5814-c385-495/providers/Microsoft.Sql/servers/ecd3b0b4-1/backupLongTermRetentionVaults"; + _requests[1971] = new DefaultHttpContext(); + _requests[1971].RequestServices = CreateServices(); + _requests[1971].Request.Method = "GET"; + _requests[1971].Request.Path = "/subscriptions/4cee87f2-aab0-/resourceGroups/3253ae97-671a-47d/providers/Microsoft.Sql/servers/75d22926-2/communicationLinks"; + _requests[1972] = new DefaultHttpContext(); + _requests[1972].RequestServices = CreateServices(); + _requests[1972].Request.Method = "GET"; + _requests[1972].Request.Path = "/subscriptions/3c2d67b3-c753-/resourceGroups/b2dc3039-3b22-4a1/providers/Microsoft.Sql/servers/81c3a2d4-7/databases"; + _requests[1973] = new DefaultHttpContext(); + _requests[1973].RequestServices = CreateServices(); + _requests[1973].Request.Method = "GET"; + _requests[1973].Request.Path = "/subscriptions/9be558a9-aa89-/resourceGroups/fbe5e564-a373-482/providers/Microsoft.Sql/servers/6aa894ea-d/disasterRecoveryConfiguration"; + _requests[1974] = new DefaultHttpContext(); + _requests[1974].RequestServices = CreateServices(); + _requests[1974].Request.Method = "GET"; + _requests[1974].Request.Path = "/subscriptions/2603e94d-0b4a-/resourceGroups/d44b5e1f-2dfb-487/providers/Microsoft.Sql/servers/c629e7c0-6/dnsAliases"; + _requests[1975] = new DefaultHttpContext(); + _requests[1975].RequestServices = CreateServices(); + _requests[1975].Request.Method = "GET"; + _requests[1975].Request.Path = "/subscriptions/40baf910-023d-/resourceGroups/c54f6b1e-f02d-41a/providers/Microsoft.Sql/servers/342529b0-a/elasticPools"; + _requests[1976] = new DefaultHttpContext(); + _requests[1976].RequestServices = CreateServices(); + _requests[1976].Request.Method = "GET"; + _requests[1976].Request.Path = "/subscriptions/33fd4b9a-798c-/resourceGroups/58afd50d-630c-473/providers/Microsoft.Sql/servers/c28f894a-2/encryptionProtector"; + _requests[1977] = new DefaultHttpContext(); + _requests[1977].RequestServices = CreateServices(); + _requests[1977].Request.Method = "GET"; + _requests[1977].Request.Path = "/subscriptions/4e5694e1-e3d0-/resourceGroups/445cd04d-f39a-40f/providers/Microsoft.Sql/servers/c6b0f0a1-c/failoverGroups"; + _requests[1978] = new DefaultHttpContext(); + _requests[1978].RequestServices = CreateServices(); + _requests[1978].Request.Method = "GET"; + _requests[1978].Request.Path = "/subscriptions/c422216d-8bcd-/resourceGroups/56949c0c-b289-471/providers/Microsoft.Sql/servers/d353f503-e/firewallRules"; + _requests[1979] = new DefaultHttpContext(); + _requests[1979].RequestServices = CreateServices(); + _requests[1979].Request.Method = "POST"; + _requests[1979].Request.Path = "/subscriptions/587e58db-e15c-/resourceGroups/a56739e3-0489-411/providers/Microsoft.Sql/servers/f101e9c4-b/import"; + _requests[1980] = new DefaultHttpContext(); + _requests[1980].RequestServices = CreateServices(); + _requests[1980].Request.Method = "GET"; + _requests[1980].Request.Path = "/subscriptions/6dd839c4-c933-/resourceGroups/75423539-5570-4f0/providers/Microsoft.Sql/servers/f07191ef-1/jobAgents"; + _requests[1981] = new DefaultHttpContext(); + _requests[1981].RequestServices = CreateServices(); + _requests[1981].Request.Method = "GET"; + _requests[1981].Request.Path = "/subscriptions/bbd769a3-9d3b-/resourceGroups/09b909af-4c7a-47d/providers/Microsoft.Sql/servers/49abdf4d-a/keys"; + _requests[1982] = new DefaultHttpContext(); + _requests[1982].RequestServices = CreateServices(); + _requests[1982].Request.Method = "GET"; + _requests[1982].Request.Path = "/subscriptions/d1c4f6b9-45df-/resourceGroups/be2c5a05-4bfc-428/providers/Microsoft.Sql/servers/4eae23cb-5/recommendedElasticPools"; + _requests[1983] = new DefaultHttpContext(); + _requests[1983].RequestServices = CreateServices(); + _requests[1983].Request.Method = "GET"; + _requests[1983].Request.Path = "/subscriptions/c68e2307-336c-/resourceGroups/9bb70a49-380f-432/providers/Microsoft.Sql/servers/ad9e3951-4/recoverableDatabases"; + _requests[1984] = new DefaultHttpContext(); + _requests[1984].RequestServices = CreateServices(); + _requests[1984].Request.Method = "GET"; + _requests[1984].Request.Path = "/subscriptions/8b61f891-e7d6-/resourceGroups/5ac76720-8f20-419/providers/Microsoft.Sql/servers/9b4ab6d6-8/restorableDroppedDatabases"; + _requests[1985] = new DefaultHttpContext(); + _requests[1985].RequestServices = CreateServices(); + _requests[1985].Request.Method = "GET"; + _requests[1985].Request.Path = "/subscriptions/a636a4dd-c1ff-/resourceGroups/754d6429-8912-453/providers/Microsoft.Sql/servers/409f8710-1/serviceObjectives"; + _requests[1986] = new DefaultHttpContext(); + _requests[1986].RequestServices = CreateServices(); + _requests[1986].Request.Method = "GET"; + _requests[1986].Request.Path = "/subscriptions/bee17475-4490-/resourceGroups/df853377-bef2-479/providers/Microsoft.Sql/servers/c8628b39-b/syncAgents"; + _requests[1987] = new DefaultHttpContext(); + _requests[1987].RequestServices = CreateServices(); + _requests[1987].Request.Method = "GET"; + _requests[1987].Request.Path = "/subscriptions/2fdb39f7-a1a9-/resourceGroups/51aba79e-3c6f-44f/providers/Microsoft.Sql/servers/0adbc94f-a/usages"; + _requests[1988] = new DefaultHttpContext(); + _requests[1988].RequestServices = CreateServices(); + _requests[1988].Request.Method = "GET"; + _requests[1988].Request.Path = "/subscriptions/0beb17f7-e3bf-/resourceGroups/3bf672b3-4860-41d/providers/Microsoft.Sql/servers/d383e4b4-5/virtualNetworkRules"; + _requests[1989] = new DefaultHttpContext(); + _requests[1989].RequestServices = CreateServices(); + _requests[1989].Request.Method = "GET"; + _requests[1989].Request.Path = "/subscriptions/b766be27-70d2-/resourcegroups/8a31f1e4-4af9-422/providers/Microsoft.Storage.Admin/farms/f3b104/acquisitions"; + _requests[1990] = new DefaultHttpContext(); + _requests[1990].RequestServices = CreateServices(); + _requests[1990].Request.Method = "GET"; + _requests[1990].Request.Path = "/subscriptions/f5b3916f-cf4a-/resourcegroups/1ee7bd3a-503d-406/providers/Microsoft.Storage.Admin/farms/aefb07/metricdefinitions"; + _requests[1991] = new DefaultHttpContext(); + _requests[1991].RequestServices = CreateServices(); + _requests[1991].Request.Method = "GET"; + _requests[1991].Request.Path = "/subscriptions/0b70448b-8b60-/resourcegroups/93adb5c9-e05d-46e/providers/Microsoft.Storage.Admin/farms/765e5d/metrics"; + _requests[1992] = new DefaultHttpContext(); + _requests[1992].RequestServices = CreateServices(); + _requests[1992].Request.Method = "POST"; + _requests[1992].Request.Path = "/subscriptions/ad2b4e3d-5ed4-/resourcegroups/62d7e442-9af0-40b/providers/Microsoft.Storage.Admin/farms/01d1d2/ondemandgc"; + _requests[1993] = new DefaultHttpContext(); + _requests[1993].RequestServices = CreateServices(); + _requests[1993].Request.Method = "GET"; + _requests[1993].Request.Path = "/subscriptions/470e0d21-7ed6-/resourcegroups/b53126e8-cee0-485/providers/Microsoft.Storage.Admin/farms/1b0884/shares"; + _requests[1994] = new DefaultHttpContext(); + _requests[1994].RequestServices = CreateServices(); + _requests[1994].Request.Method = "GET"; + _requests[1994].Request.Path = "/subscriptions/8f339795-22da-/resourcegroups/d288ac4c-7fd0-4e3/providers/Microsoft.Storage.Admin/farms/f8f593/storageaccounts"; + _requests[1995] = new DefaultHttpContext(); + _requests[1995].RequestServices = CreateServices(); + _requests[1995].Request.Method = "POST"; + _requests[1995].Request.Path = "/subscriptions/8d3ca180-e5ae-/resourceGroups/d8bf8929-ad8a-440/providers/Microsoft.Storage/storageAccounts/d4d7c018-f2/ListAccountSas"; + _requests[1996] = new DefaultHttpContext(); + _requests[1996].RequestServices = CreateServices(); + _requests[1996].Request.Method = "POST"; + _requests[1996].Request.Path = "/subscriptions/f1b042e0-9f16-/resourceGroups/5ba7a2d0-4a1f-426/providers/Microsoft.Storage/storageAccounts/43c187a6-67/listKeys"; + _requests[1997] = new DefaultHttpContext(); + _requests[1997].RequestServices = CreateServices(); + _requests[1997].Request.Method = "POST"; + _requests[1997].Request.Path = "/subscriptions/6c1c146d-252a-/resourceGroups/8efeba6e-5631-46a/providers/Microsoft.Storage/storageAccounts/fd78e376-34/ListServiceSas"; + _requests[1998] = new DefaultHttpContext(); + _requests[1998].RequestServices = CreateServices(); + _requests[1998].Request.Method = "POST"; + _requests[1998].Request.Path = "/subscriptions/08feb004-84f0-/resourceGroups/6afc733b-2783-4dd/providers/Microsoft.Storage/storageAccounts/f5ab2d04-93/regenerateKey"; + _requests[1999] = new DefaultHttpContext(); + _requests[1999].RequestServices = CreateServices(); + _requests[1999].Request.Method = "GET"; + _requests[1999].Request.Path = "/subscriptions/b16d2683-7e59-/resourceGroups/f5b53673-1d87-4bf/providers/Microsoft.StorSimple/managers/656eafb0-16/accessControlRecords"; + _requests[2000] = new DefaultHttpContext(); + _requests[2000].RequestServices = CreateServices(); + _requests[2000].Request.Method = "GET"; + _requests[2000].Request.Path = "/subscriptions/ba80f4bb-4b6a-/resourceGroups/c40132ff-0615-408/providers/Microsoft.StorSimple/managers/740259a1-b4/alerts"; + _requests[2001] = new DefaultHttpContext(); + _requests[2001].RequestServices = CreateServices(); + _requests[2001].Request.Method = "GET"; + _requests[2001].Request.Path = "/subscriptions/8d98090e-fd41-/resourceGroups/90847f99-818d-4aa/providers/Microsoft.StorSimple/managers/077f3c3c-2a/bandwidthSettings"; + _requests[2002] = new DefaultHttpContext(); + _requests[2002].RequestServices = CreateServices(); + _requests[2002].Request.Method = "POST"; + _requests[2002].Request.Path = "/subscriptions/b4379429-eec7-/resourceGroups/b0edb442-80aa-413/providers/Microsoft.StorSimple/managers/94eace56-a2/clearAlerts"; + _requests[2003] = new DefaultHttpContext(); + _requests[2003].RequestServices = CreateServices(); + _requests[2003].Request.Method = "GET"; + _requests[2003].Request.Path = "/subscriptions/40add273-9ef9-/resourceGroups/ceb40004-77fb-41f/providers/Microsoft.StorSimple/managers/32127f21-05/cloudApplianceConfigurations"; + _requests[2004] = new DefaultHttpContext(); + _requests[2004].RequestServices = CreateServices(); + _requests[2004].Request.Method = "POST"; + _requests[2004].Request.Path = "/subscriptions/6ec06c3c-922b-/resourceGroups/243ba88d-681a-41f/providers/Microsoft.StorSimple/managers/fdd72f65-c0/configureDevice"; + _requests[2005] = new DefaultHttpContext(); + _requests[2005].RequestServices = CreateServices(); + _requests[2005].Request.Method = "GET"; + _requests[2005].Request.Path = "/subscriptions/c8eb00bf-ca13-/resourceGroups/720528c8-5d07-4d0/providers/Microsoft.StorSimple/managers/569a28ce-22/devices"; + _requests[2006] = new DefaultHttpContext(); + _requests[2006].RequestServices = CreateServices(); + _requests[2006].Request.Method = "GET"; + _requests[2006].Request.Path = "/subscriptions/895dcb6e-fa15-/resourceGroups/e4902b88-76da-41a/providers/Microsoft.StorSimple/managers/94ee110b-1b/features"; + _requests[2007] = new DefaultHttpContext(); + _requests[2007].RequestServices = CreateServices(); + _requests[2007].Request.Method = "GET"; + _requests[2007].Request.Path = "/subscriptions/836a8494-5b8f-/resourceGroups/4f00473f-9fa0-477/providers/Microsoft.StorSimple/managers/58439a25-70/jobs"; + _requests[2008] = new DefaultHttpContext(); + _requests[2008].RequestServices = CreateServices(); + _requests[2008].Request.Method = "POST"; + _requests[2008].Request.Path = "/subscriptions/b2bcf92b-38e2-/resourceGroups/72ab8b4d-b580-46e/providers/Microsoft.StorSimple/managers/ea25d0cd-11/listActivationKey"; + _requests[2009] = new DefaultHttpContext(); + _requests[2009].RequestServices = CreateServices(); + _requests[2009].Request.Method = "POST"; + _requests[2009].Request.Path = "/subscriptions/f1004056-44e4-/resourceGroups/245d69ab-7978-40f/providers/Microsoft.StorSimple/managers/82eacea0-4b/listPublicEncryptionKey"; + _requests[2010] = new DefaultHttpContext(); + _requests[2010].RequestServices = CreateServices(); + _requests[2010].Request.Method = "GET"; + _requests[2010].Request.Path = "/subscriptions/1adb0d7a-395a-/resourceGroups/85746ee1-1cab-489/providers/Microsoft.StorSimple/managers/669c3d05-dd/metrics"; + _requests[2011] = new DefaultHttpContext(); + _requests[2011].RequestServices = CreateServices(); + _requests[2011].Request.Method = "GET"; + _requests[2011].Request.Path = "/subscriptions/7ea3951a-3f1f-/resourceGroups/e166a9b4-2917-4ae/providers/Microsoft.StorSimple/managers/4a6e9953-87/metricsDefinitions"; + _requests[2012] = new DefaultHttpContext(); + _requests[2012].RequestServices = CreateServices(); + _requests[2012].Request.Method = "POST"; + _requests[2012].Request.Path = "/subscriptions/ad74c23b-7df3-/resourceGroups/1d4779f7-92a8-495/providers/Microsoft.StorSimple/managers/3d3a80d8-a2/provisionCloudAppliance"; + _requests[2013] = new DefaultHttpContext(); + _requests[2013].RequestServices = CreateServices(); + _requests[2013].Request.Method = "POST"; + _requests[2013].Request.Path = "/subscriptions/a0103439-4e9f-/resourceGroups/fd3a5152-322e-425/providers/Microsoft.StorSimple/managers/39500ed0-17/regenerateActivationKey"; + _requests[2014] = new DefaultHttpContext(); + _requests[2014].RequestServices = CreateServices(); + _requests[2014].Request.Method = "GET"; + _requests[2014].Request.Path = "/subscriptions/d28e87ae-44fc-/resourceGroups/ec93f77e-034d-401/providers/Microsoft.StorSimple/managers/4382aa6b-e9/storageAccountCredentials"; + _requests[2015] = new DefaultHttpContext(); + _requests[2015].RequestServices = CreateServices(); + _requests[2015].Request.Method = "GET"; + _requests[2015].Request.Path = "/subscriptions/63991be9-787e-/resourcegroups/f1fb3dca-531d-44d/providers/Microsoft.StreamAnalytics/streamingjobs/eeb2894/functions"; + _requests[2016] = new DefaultHttpContext(); + _requests[2016].RequestServices = CreateServices(); + _requests[2016].Request.Method = "GET"; + _requests[2016].Request.Path = "/subscriptions/c1d9733e-8a4a-/resourcegroups/2216c802-b5fe-40a/providers/Microsoft.StreamAnalytics/streamingjobs/ec9ed23/inputs"; + _requests[2017] = new DefaultHttpContext(); + _requests[2017].RequestServices = CreateServices(); + _requests[2017].Request.Method = "GET"; + _requests[2017].Request.Path = "/subscriptions/1f210bee-b6ee-/resourcegroups/c14aee0d-d71b-408/providers/Microsoft.StreamAnalytics/streamingjobs/2b03e15/outputs"; + _requests[2018] = new DefaultHttpContext(); + _requests[2018].RequestServices = CreateServices(); + _requests[2018].Request.Method = "POST"; + _requests[2018].Request.Path = "/subscriptions/2522a66d-27a1-/resourcegroups/32c0b93c-e67e-410/providers/Microsoft.StreamAnalytics/streamingjobs/bf226f6/start"; + _requests[2019] = new DefaultHttpContext(); + _requests[2019].RequestServices = CreateServices(); + _requests[2019].Request.Method = "POST"; + _requests[2019].Request.Path = "/subscriptions/36ccb8ca-669e-/resourcegroups/1aed7662-2b44-447/providers/Microsoft.StreamAnalytics/streamingjobs/9bc1636/stop"; + _requests[2020] = new DefaultHttpContext(); + _requests[2020].RequestServices = CreateServices(); + _requests[2020].Request.Method = "POST"; + _requests[2020].Request.Path = "/subscriptions/775846fd-96fd-/resourcegroups/54df82e6-2402-4c5/providers/Microsoft.Subscriptions.Admin/offers/b886b/link"; + _requests[2021] = new DefaultHttpContext(); + _requests[2021].RequestServices = CreateServices(); + _requests[2021].Request.Method = "GET"; + _requests[2021].Request.Path = "/subscriptions/9adc47ce-b5c8-/resourcegroups/589a4762-a8fe-411/providers/Microsoft.Subscriptions.Admin/offers/0604e/MetricDefinitions"; + _requests[2022] = new DefaultHttpContext(); + _requests[2022].RequestServices = CreateServices(); + _requests[2022].Request.Method = "GET"; + _requests[2022].Request.Path = "/subscriptions/94110ae8-43e0-/resourcegroups/0f9e41ed-18c6-4ee/providers/Microsoft.Subscriptions.Admin/offers/983f9/Metrics"; + _requests[2023] = new DefaultHttpContext(); + _requests[2023].RequestServices = CreateServices(); + _requests[2023].Request.Method = "GET"; + _requests[2023].Request.Path = "/subscriptions/575dd54c-d73e-/resourcegroups/f3825239-d8c4-47b/providers/Microsoft.Subscriptions.Admin/offers/f3fa2/offerDelegations"; + _requests[2024] = new DefaultHttpContext(); + _requests[2024].RequestServices = CreateServices(); + _requests[2024].Request.Method = "POST"; + _requests[2024].Request.Path = "/subscriptions/5c81ed9d-a44f-/resourcegroups/6e5b82f2-7c96-479/providers/Microsoft.Subscriptions.Admin/offers/f8fd4/unlink"; + _requests[2025] = new DefaultHttpContext(); + _requests[2025].RequestServices = CreateServices(); + _requests[2025].Request.Method = "GET"; + _requests[2025].Request.Path = "/subscriptions/27b4db01-8668-/resourcegroups/155fbac3-c6bc-4f5/providers/Microsoft.Subscriptions.Admin/plans/aeae7/MetricDefinitions"; + _requests[2026] = new DefaultHttpContext(); + _requests[2026].RequestServices = CreateServices(); + _requests[2026].Request.Method = "GET"; + _requests[2026].Request.Path = "/subscriptions/b84340cf-b926-/resourcegroups/0149d4be-1121-42a/providers/Microsoft.Subscriptions.Admin/plans/07d74/Metrics"; + _requests[2027] = new DefaultHttpContext(); + _requests[2027].RequestServices = CreateServices(); + _requests[2027].Request.Method = "GET"; + _requests[2027].Request.Path = "/subscriptions/11fa186b-a608-/resourceGroups/ca6977e3-ef97-400/providers/Microsoft.TimeSeriesInsights/environments/5cf0103e-97ff-4/accessPolicies"; + _requests[2028] = new DefaultHttpContext(); + _requests[2028].RequestServices = CreateServices(); + _requests[2028].Request.Method = "GET"; + _requests[2028].Request.Path = "/subscriptions/ef596a21-932c-/resourceGroups/6e4fa800-0071-4a6/providers/Microsoft.TimeSeriesInsights/environments/1cf7d694-fe9a-4/eventSources"; + _requests[2029] = new DefaultHttpContext(); + _requests[2029].RequestServices = CreateServices(); + _requests[2029].Request.Method = "GET"; + _requests[2029].Request.Path = "/subscriptions/f387ba78-f8ce-/resourceGroups/e345308d-e31f-4bd/providers/Microsoft.TimeSeriesInsights/environments/ba2c96ad-dc2f-4/referenceDataSets"; + _requests[2030] = new DefaultHttpContext(); + _requests[2030].RequestServices = CreateServices(); + _requests[2030].Request.Method = "GET"; + _requests[2030].Request.Path = "/subscriptions/a2451755-f24c-/resourcegroups/508a5123-3751-466/providers/Microsoft.Update.Admin/updateLocations/7cce9290-869e-/updates"; + _requests[2031] = new DefaultHttpContext(); + _requests[2031].RequestServices = CreateServices(); + _requests[2031].Request.Method = "GET"; + _requests[2031].Request.Path = "/subscriptions/08b80da0-7e68-/resourcegroups/84b14d4f-df93-40c/providers/microsoft.visualstudio/account/82dc50ee-8d8a-4ffd-/extension"; + _requests[2032] = new DefaultHttpContext(); + _requests[2032].RequestServices = CreateServices(); + _requests[2032].Request.Method = "GET"; + _requests[2032].Request.Path = "/subscriptions/4ae43c00-bfaa-/resourceGroups/45bf1a58-1f10-447/providers/microsoft.visualstudio/account/63786a5f-2387-47/project"; + _requests[2033] = new DefaultHttpContext(); + _requests[2033].RequestServices = CreateServices(); + _requests[2033].Request.Method = "GET"; + _requests[2033].Request.Path = "/subscriptions/eea59ed1-4231-/resourceGroups/22613641-a3ac-4b0/providers/Microsoft.Web.Admin/environments/4f436035-0d92-4/usage"; + _requests[2034] = new DefaultHttpContext(); + _requests[2034].RequestServices = CreateServices(); + _requests[2034].Request.Method = "POST"; + _requests[2034].Request.Path = "/subscriptions/7b65d2a5-9e24-/resourceGroups/5cc31034-f5d7-419/providers/Microsoft.Web/connections/0103dd8d-a0c7-/confirmConsentCode"; + _requests[2035] = new DefaultHttpContext(); + _requests[2035].RequestServices = CreateServices(); + _requests[2035].Request.Method = "POST"; + _requests[2035].Request.Path = "/subscriptions/9093eb03-c6c3-/resourceGroups/b2102cbf-e20d-4fe/providers/Microsoft.Web/connections/86eadd30-8193-/listConnectionKeys"; + _requests[2036] = new DefaultHttpContext(); + _requests[2036].RequestServices = CreateServices(); + _requests[2036].Request.Method = "POST"; + _requests[2036].Request.Path = "/subscriptions/22191b2d-6c42-/resourceGroups/b2162f61-a4da-421/providers/Microsoft.Web/connections/4b25dae4-1c48-/listConsentLinks"; + _requests[2037] = new DefaultHttpContext(); + _requests[2037].RequestServices = CreateServices(); + _requests[2037].Request.Method = "POST"; + _requests[2037].Request.Path = "/subscriptions/3b67d76a-b975-/resourceGroups/caa431be-6c7a-4de/providers/Microsoft.Web/customApis/8577579/move"; + _requests[2038] = new DefaultHttpContext(); + _requests[2038].RequestServices = CreateServices(); + _requests[2038].Request.Method = "POST"; + _requests[2038].Request.Path = "/subscriptions/7656e1be-7c5f-/resourceGroups/09e92c1b-1738-407/providers/Microsoft.Web/hostingEnvironments/ebb4d/changeVirtualNetwork"; + _requests[2039] = new DefaultHttpContext(); + _requests[2039].RequestServices = CreateServices(); + _requests[2039].Request.Method = "GET"; + _requests[2039].Request.Path = "/subscriptions/e37aa550-3557-/resourceGroups/bbc61fda-1556-4d6/providers/Microsoft.Web/hostingEnvironments/8813f/detectors"; + _requests[2040] = new DefaultHttpContext(); + _requests[2040].RequestServices = CreateServices(); + _requests[2040].Request.Method = "GET"; + _requests[2040].Request.Path = "/subscriptions/b16c4ccb-2c7b-/resourceGroups/433a4d31-7a37-409/providers/Microsoft.Web/hostingEnvironments/f5847/diagnostics"; + _requests[2041] = new DefaultHttpContext(); + _requests[2041].RequestServices = CreateServices(); + _requests[2041].Request.Method = "GET"; + _requests[2041].Request.Path = "/subscriptions/e9f98a9a-0910-/resourceGroups/785d541c-4271-44d/providers/Microsoft.Web/hostingEnvironments/4ec58/metricdefinitions"; + _requests[2042] = new DefaultHttpContext(); + _requests[2042].RequestServices = CreateServices(); + _requests[2042].Request.Method = "GET"; + _requests[2042].Request.Path = "/subscriptions/df3cc147-7db9-/resourceGroups/3b785d84-58fc-4ff/providers/Microsoft.Web/hostingEnvironments/bbede/metrics"; + _requests[2043] = new DefaultHttpContext(); + _requests[2043].RequestServices = CreateServices(); + _requests[2043].Request.Method = "GET"; + _requests[2043].Request.Path = "/subscriptions/17ae7fae-821d-/resourceGroups/78880559-6e90-4e7/providers/Microsoft.Web/hostingEnvironments/7fe16/multiRolePools"; + _requests[2044] = new DefaultHttpContext(); + _requests[2044].RequestServices = CreateServices(); + _requests[2044].Request.Method = "GET"; + _requests[2044].Request.Path = "/subscriptions/51f3be98-02f1-/resourceGroups/3c96f599-3c16-4c6/providers/Microsoft.Web/hostingEnvironments/c1c31/operations"; + _requests[2045] = new DefaultHttpContext(); + _requests[2045].RequestServices = CreateServices(); + _requests[2045].Request.Method = "POST"; + _requests[2045].Request.Path = "/subscriptions/bb9f0089-a6a3-/resourceGroups/ea8da1b0-f449-40d/providers/Microsoft.Web/hostingEnvironments/f994a/reboot"; + _requests[2046] = new DefaultHttpContext(); + _requests[2046].RequestServices = CreateServices(); + _requests[2046].Request.Method = "POST"; + _requests[2046].Request.Path = "/subscriptions/9a128200-1188-/resourceGroups/d44dbd88-39f3-4d6/providers/Microsoft.Web/hostingEnvironments/1c26a/resume"; + _requests[2047] = new DefaultHttpContext(); + _requests[2047].RequestServices = CreateServices(); + _requests[2047].Request.Method = "GET"; + _requests[2047].Request.Path = "/subscriptions/e1fa0dac-dbc0-/resourceGroups/4b753aec-afe2-484/providers/Microsoft.Web/hostingEnvironments/9e515/serverfarms"; + _requests[2048] = new DefaultHttpContext(); + _requests[2048].RequestServices = CreateServices(); + _requests[2048].Request.Method = "GET"; + _requests[2048].Request.Path = "/subscriptions/3d66a8b3-419f-/resourceGroups/8e35a537-500b-4a4/providers/Microsoft.Web/hostingEnvironments/d216d/sites"; + _requests[2049] = new DefaultHttpContext(); + _requests[2049].RequestServices = CreateServices(); + _requests[2049].Request.Method = "POST"; + _requests[2049].Request.Path = "/subscriptions/98c5d406-a9f1-/resourceGroups/c7f68736-1e48-4b0/providers/Microsoft.Web/hostingEnvironments/694d1/suspend"; + _requests[2050] = new DefaultHttpContext(); + _requests[2050].RequestServices = CreateServices(); + _requests[2050].Request.Method = "POST"; + _requests[2050].Request.Path = "/subscriptions/5a9fac64-4551-/resourceGroups/45311efc-cee8-498/providers/Microsoft.Web/hostingEnvironments/953f9/syncVirtualNetwork"; + _requests[2051] = new DefaultHttpContext(); + _requests[2051].RequestServices = CreateServices(); + _requests[2051].Request.Method = "GET"; + _requests[2051].Request.Path = "/subscriptions/588abac9-0a4e-/resourceGroups/8a748bea-e929-408/providers/Microsoft.Web/hostingEnvironments/8ddf6/usages"; + _requests[2052] = new DefaultHttpContext(); + _requests[2052].RequestServices = CreateServices(); + _requests[2052].Request.Method = "GET"; + _requests[2052].Request.Path = "/subscriptions/1c2bd481-f719-/resourceGroups/86d97dff-c73a-40b/providers/Microsoft.Web/hostingEnvironments/767f3/webhostingplans"; + _requests[2053] = new DefaultHttpContext(); + _requests[2053].RequestServices = CreateServices(); + _requests[2053].Request.Method = "GET"; + _requests[2053].Request.Path = "/subscriptions/d947bd92-ec04-/resourceGroups/6c35f742-5e1c-488/providers/Microsoft.Web/hostingEnvironments/cb5bd/workerPools"; + _requests[2054] = new DefaultHttpContext(); + _requests[2054].RequestServices = CreateServices(); + _requests[2054].Request.Method = "GET"; + _requests[2054].Request.Path = "/subscriptions/a9033262-a12f-/resourceGroups/f017d6b7-4b94-42a/providers/Microsoft.Web/managedHostingEnvironments/94903/serverfarms"; + _requests[2055] = new DefaultHttpContext(); + _requests[2055].RequestServices = CreateServices(); + _requests[2055].Request.Method = "GET"; + _requests[2055].Request.Path = "/subscriptions/d988eeb9-f6ef-/resourceGroups/574ad9bc-9298-486/providers/Microsoft.Web/managedHostingEnvironments/be55d/sites"; + _requests[2056] = new DefaultHttpContext(); + _requests[2056].RequestServices = CreateServices(); + _requests[2056].Request.Method = "GET"; + _requests[2056].Request.Path = "/subscriptions/1b5fb30e-3adc-/resourceGroups/9c8f75aa-1410-499/providers/Microsoft.Web/managedHostingEnvironments/6fb25/webhostingplans"; + _requests[2057] = new DefaultHttpContext(); + _requests[2057].RequestServices = CreateServices(); + _requests[2057].Request.Method = "GET"; + _requests[2057].Request.Path = "/subscriptions/8534725e-442e-/resourceGroups/bb85a645-3748-45b/providers/Microsoft.Web/serverfarms/a8d96/capabilities"; + _requests[2058] = new DefaultHttpContext(); + _requests[2058].RequestServices = CreateServices(); + _requests[2058].Request.Method = "GET"; + _requests[2058].Request.Path = "/subscriptions/ffd769ac-c53f-/resourceGroups/c5c32563-3fea-465/providers/Microsoft.Web/serverfarms/5d6d7/hybridConnectionRelays"; + _requests[2059] = new DefaultHttpContext(); + _requests[2059].RequestServices = CreateServices(); + _requests[2059].Request.Method = "GET"; + _requests[2059].Request.Path = "/subscriptions/ecf46896-495c-/resourceGroups/640bcfeb-76c5-4dd/providers/Microsoft.Web/serverfarms/44fea/metricdefinitions"; + _requests[2060] = new DefaultHttpContext(); + _requests[2060].RequestServices = CreateServices(); + _requests[2060].Request.Method = "GET"; + _requests[2060].Request.Path = "/subscriptions/504999c9-c6a0-/resourceGroups/bf66e2e9-9ceb-478/providers/Microsoft.Web/serverfarms/ab77f/metrics"; + _requests[2061] = new DefaultHttpContext(); + _requests[2061].RequestServices = CreateServices(); + _requests[2061].Request.Method = "POST"; + _requests[2061].Request.Path = "/subscriptions/f7afefbe-482f-/resourceGroups/177d72cf-a9a7-4ca/providers/Microsoft.Web/serverfarms/c0c27/restartSites"; + _requests[2062] = new DefaultHttpContext(); + _requests[2062].RequestServices = CreateServices(); + _requests[2062].Request.Method = "GET"; + _requests[2062].Request.Path = "/subscriptions/ac4f1fb2-8415-/resourceGroups/ea479f77-ff72-4f1/providers/Microsoft.Web/serverfarms/a4edb/sites"; + _requests[2063] = new DefaultHttpContext(); + _requests[2063].RequestServices = CreateServices(); + _requests[2063].Request.Method = "GET"; + _requests[2063].Request.Path = "/subscriptions/e0248f1b-0d25-/resourceGroups/4df76daf-436a-457/providers/Microsoft.Web/serverfarms/b4e81/skus"; + _requests[2064] = new DefaultHttpContext(); + _requests[2064].RequestServices = CreateServices(); + _requests[2064].Request.Method = "GET"; + _requests[2064].Request.Path = "/subscriptions/e0e9d255-9f1b-/resourceGroups/1c2bc62d-97ce-426/providers/Microsoft.Web/serverfarms/72ad0/usages"; + _requests[2065] = new DefaultHttpContext(); + _requests[2065].RequestServices = CreateServices(); + _requests[2065].Request.Method = "GET"; + _requests[2065].Request.Path = "/subscriptions/171e6521-fbcd-/resourceGroups/e8a14600-5948-413/providers/Microsoft.Web/serverfarms/d869c/virtualNetworkConnections"; + _requests[2066] = new DefaultHttpContext(); + _requests[2066].RequestServices = CreateServices(); + _requests[2066].Request.Method = "GET"; + _requests[2066].Request.Path = "/subscriptions/0c49de46-a668-/resourceGroups/72013f5b-f163-411/providers/Microsoft.Web/sites/5fea3/analyzeCustomHostname"; + _requests[2067] = new DefaultHttpContext(); + _requests[2067].RequestServices = CreateServices(); + _requests[2067].Request.Method = "POST"; + _requests[2067].Request.Path = "/subscriptions/111df73f-5a0c-/resourceGroups/37d87706-dc3d-4bb/providers/Microsoft.Web/sites/57ad1/applySlotConfig"; + _requests[2068] = new DefaultHttpContext(); + _requests[2068].RequestServices = CreateServices(); + _requests[2068].Request.Method = "POST"; + _requests[2068].Request.Path = "/subscriptions/9d9305e5-ed11-/resourceGroups/8ae19f9f-6dc8-473/providers/Microsoft.Web/sites/22957/backup"; + _requests[2069] = new DefaultHttpContext(); + _requests[2069].RequestServices = CreateServices(); + _requests[2069].Request.Method = "GET"; + _requests[2069].Request.Path = "/subscriptions/7eb598e0-29d3-/resourceGroups/d6318514-3450-473/providers/Microsoft.Web/sites/9efc1/backups"; + _requests[2070] = new DefaultHttpContext(); + _requests[2070].RequestServices = CreateServices(); + _requests[2070].Request.Method = "GET"; + _requests[2070].Request.Path = "/subscriptions/4a0bdf13-275e-/resourceGroups/ae443de3-3241-460/providers/Microsoft.Web/sites/668bb/config"; + _requests[2071] = new DefaultHttpContext(); + _requests[2071].RequestServices = CreateServices(); + _requests[2071].Request.Method = "POST"; + _requests[2071].Request.Path = "/subscriptions/99511279-de8e-/resourceGroups/7220fd73-81b1-4f1/providers/Microsoft.Web/sites/8a420/containerlogs"; + _requests[2072] = new DefaultHttpContext(); + _requests[2072].RequestServices = CreateServices(); + _requests[2072].Request.Method = "GET"; + _requests[2072].Request.Path = "/subscriptions/cf939c7b-39fb-/resourceGroups/7502f222-661f-4d2/providers/Microsoft.Web/sites/eb888/continuouswebjobs"; + _requests[2073] = new DefaultHttpContext(); + _requests[2073].RequestServices = CreateServices(); + _requests[2073].Request.Method = "GET"; + _requests[2073].Request.Path = "/subscriptions/a3ec9161-3920-/resourceGroups/b2130544-e71d-427/providers/Microsoft.Web/sites/020e7/deployments"; + _requests[2074] = new DefaultHttpContext(); + _requests[2074].RequestServices = CreateServices(); + _requests[2074].Request.Method = "GET"; + _requests[2074].Request.Path = "/subscriptions/44c9156b-bbdd-/resourceGroups/a187ddca-922d-48b/providers/Microsoft.Web/sites/07ab5/domainOwnershipIdentifiers"; + _requests[2075] = new DefaultHttpContext(); + _requests[2075].RequestServices = CreateServices(); + _requests[2075].Request.Method = "GET"; + _requests[2075].Request.Path = "/subscriptions/8207a56a-c3ef-/resourceGroups/4a3aa734-d8c9-467/providers/Microsoft.Web/sites/bb406/functions"; + _requests[2076] = new DefaultHttpContext(); + _requests[2076].RequestServices = CreateServices(); + _requests[2076].Request.Method = "GET"; + _requests[2076].Request.Path = "/subscriptions/bc77ee45-85c0-/resourceGroups/75a9b570-cf85-47d/providers/Microsoft.Web/sites/120c6/hostNameBindings"; + _requests[2077] = new DefaultHttpContext(); + _requests[2077].RequestServices = CreateServices(); + _requests[2077].Request.Method = "GET"; + _requests[2077].Request.Path = "/subscriptions/23f82d5c-d9e9-/resourceGroups/9472e3de-3746-4f5/providers/Microsoft.Web/sites/24909/hybridconnection"; + _requests[2078] = new DefaultHttpContext(); + _requests[2078].RequestServices = CreateServices(); + _requests[2078].Request.Method = "GET"; + _requests[2078].Request.Path = "/subscriptions/207e611d-7d5d-/resourceGroups/19a50cf8-c06b-4d3/providers/Microsoft.Web/sites/38bce/hybridConnectionRelays"; + _requests[2079] = new DefaultHttpContext(); + _requests[2079].RequestServices = CreateServices(); + _requests[2079].Request.Method = "GET"; + _requests[2079].Request.Path = "/subscriptions/a6348637-a6da-/resourceGroups/86f5e1fd-61da-404/providers/Microsoft.Web/sites/99c93/instances"; + _requests[2080] = new DefaultHttpContext(); + _requests[2080].RequestServices = CreateServices(); + _requests[2080].Request.Method = "POST"; + _requests[2080].Request.Path = "/subscriptions/89d4f9a2-f51f-/resourceGroups/a6293ea1-e375-490/providers/Microsoft.Web/sites/925c4/iscloneable"; + _requests[2081] = new DefaultHttpContext(); + _requests[2081].RequestServices = CreateServices(); + _requests[2081].Request.Method = "POST"; + _requests[2081].Request.Path = "/subscriptions/6725bb42-d67a-/resourceGroups/45d93753-c629-4f0/providers/Microsoft.Web/sites/631a0/listsyncfunctiontriggerstatus"; + _requests[2082] = new DefaultHttpContext(); + _requests[2082].RequestServices = CreateServices(); + _requests[2082].Request.Method = "GET"; + _requests[2082].Request.Path = "/subscriptions/d013d1d4-ec8a-/resourceGroups/b7faa72e-a3f5-49f/providers/Microsoft.Web/sites/c3165/metricdefinitions"; + _requests[2083] = new DefaultHttpContext(); + _requests[2083].RequestServices = CreateServices(); + _requests[2083].Request.Method = "GET"; + _requests[2083].Request.Path = "/subscriptions/67335c53-08ba-/resourceGroups/5791acf8-1aff-4cb/providers/Microsoft.Web/sites/6f16a/metrics"; + _requests[2084] = new DefaultHttpContext(); + _requests[2084].RequestServices = CreateServices(); + _requests[2084].Request.Method = "PUT"; + _requests[2084].Request.Path = "/subscriptions/85deab0f-f1cc-/resourceGroups/608c43e3-3076-44a/providers/Microsoft.Web/sites/96695/migrate"; + _requests[2085] = new DefaultHttpContext(); + _requests[2085].RequestServices = CreateServices(); + _requests[2085].Request.Method = "POST"; + _requests[2085].Request.Path = "/subscriptions/d9a673d5-836d-/resourceGroups/35162448-bb73-4c9/providers/Microsoft.Web/sites/f0cdc/migratemysql"; + _requests[2086] = new DefaultHttpContext(); + _requests[2086].RequestServices = CreateServices(); + _requests[2086].Request.Method = "POST"; + _requests[2086].Request.Path = "/subscriptions/86e45c9d-bf7b-/resourceGroups/cf0d1971-6cf3-447/providers/Microsoft.Web/sites/85f40/newpassword"; + _requests[2087] = new DefaultHttpContext(); + _requests[2087].RequestServices = CreateServices(); + _requests[2087].Request.Method = "GET"; + _requests[2087].Request.Path = "/subscriptions/2180f9af-3c5f-/resourceGroups/aa077761-ddc6-46f/providers/Microsoft.Web/sites/275f5/perfcounters"; + _requests[2088] = new DefaultHttpContext(); + _requests[2088].RequestServices = CreateServices(); + _requests[2088].Request.Method = "GET"; + _requests[2088].Request.Path = "/subscriptions/e6253672-59ed-/resourceGroups/fb934ad2-bb52-455/providers/Microsoft.Web/sites/2520a/phplogging"; + _requests[2089] = new DefaultHttpContext(); + _requests[2089].RequestServices = CreateServices(); + _requests[2089].Request.Method = "GET"; + _requests[2089].Request.Path = "/subscriptions/f3439876-afc8-/resourceGroups/c038fa3a-e59a-46c/providers/Microsoft.Web/sites/f1429/premieraddons"; + _requests[2090] = new DefaultHttpContext(); + _requests[2090].RequestServices = CreateServices(); + _requests[2090].Request.Method = "GET"; + _requests[2090].Request.Path = "/subscriptions/3768005e-28b6-/resourceGroups/470af607-6404-466/providers/Microsoft.Web/sites/55b57/processes"; + _requests[2091] = new DefaultHttpContext(); + _requests[2091].RequestServices = CreateServices(); + _requests[2091].Request.Method = "GET"; + _requests[2091].Request.Path = "/subscriptions/aa65d89b-b8b6-/resourceGroups/52241e6b-0402-49d/providers/Microsoft.Web/sites/889f4/publicCertificates"; + _requests[2092] = new DefaultHttpContext(); + _requests[2092].RequestServices = CreateServices(); + _requests[2092].Request.Method = "POST"; + _requests[2092].Request.Path = "/subscriptions/c535d011-d0b2-/resourceGroups/f027386e-8360-457/providers/Microsoft.Web/sites/f923c/publishxml"; + _requests[2093] = new DefaultHttpContext(); + _requests[2093].RequestServices = CreateServices(); + _requests[2093].Request.Method = "POST"; + _requests[2093].Request.Path = "/subscriptions/489e2b63-c6cd-/resourceGroups/85b1242e-a8f0-4ec/providers/Microsoft.Web/sites/c5ff9/recover"; + _requests[2094] = new DefaultHttpContext(); + _requests[2094].RequestServices = CreateServices(); + _requests[2094].Request.Method = "POST"; + _requests[2094].Request.Path = "/subscriptions/df8c14ab-3c2b-/resourceGroups/27e45d97-3d99-402/providers/Microsoft.Web/sites/78b29/resetSlotConfig"; + _requests[2095] = new DefaultHttpContext(); + _requests[2095].RequestServices = CreateServices(); + _requests[2095].Request.Method = "GET"; + _requests[2095].Request.Path = "/subscriptions/2eebf365-c46b-/resourceGroups/e75e454f-04af-4ca/providers/Microsoft.Web/sites/9e540/resourceHealthMetadata"; + _requests[2096] = new DefaultHttpContext(); + _requests[2096].RequestServices = CreateServices(); + _requests[2096].Request.Method = "POST"; + _requests[2096].Request.Path = "/subscriptions/55a9a895-c07b-/resourceGroups/df376796-7ce3-4be/providers/Microsoft.Web/sites/eb417/restart"; + _requests[2097] = new DefaultHttpContext(); + _requests[2097].RequestServices = CreateServices(); + _requests[2097].Request.Method = "POST"; + _requests[2097].Request.Path = "/subscriptions/373f156e-0708-/resourceGroups/2675e96c-ae35-40d/providers/Microsoft.Web/sites/ad3a9/restoreFromBackupBlob"; + _requests[2098] = new DefaultHttpContext(); + _requests[2098].RequestServices = CreateServices(); + _requests[2098].Request.Method = "POST"; + _requests[2098].Request.Path = "/subscriptions/d692c906-5cc1-/resourceGroups/0bc05c24-9834-49b/providers/Microsoft.Web/sites/876d1/restoreFromDeletedApp"; + _requests[2099] = new DefaultHttpContext(); + _requests[2099].RequestServices = CreateServices(); + _requests[2099].Request.Method = "POST"; + _requests[2099].Request.Path = "/subscriptions/14451d8e-f55a-/resourceGroups/e59c69c3-e232-4d8/providers/Microsoft.Web/sites/31975/restoreSnapshot"; + _requests[2100] = new DefaultHttpContext(); + _requests[2100].RequestServices = CreateServices(); + _requests[2100].Request.Method = "GET"; + _requests[2100].Request.Path = "/subscriptions/d324a5ab-3ac3-/resourceGroups/b7f98a8c-cc0e-4f3/providers/Microsoft.Web/sites/f62e2/siteextensions"; + _requests[2101] = new DefaultHttpContext(); + _requests[2101].RequestServices = CreateServices(); + _requests[2101].Request.Method = "GET"; + _requests[2101].Request.Path = "/subscriptions/50efa429-2643-/resourceGroups/c2a81810-8542-4b4/providers/Microsoft.Web/sites/106d3/slots"; + _requests[2102] = new DefaultHttpContext(); + _requests[2102].RequestServices = CreateServices(); + _requests[2102].Request.Method = "POST"; + _requests[2102].Request.Path = "/subscriptions/332c2d99-f26b-/resourceGroups/bd712819-a76e-43b/providers/Microsoft.Web/sites/ebdbb/slotsdiffs"; + _requests[2103] = new DefaultHttpContext(); + _requests[2103].RequestServices = CreateServices(); + _requests[2103].Request.Method = "POST"; + _requests[2103].Request.Path = "/subscriptions/62f71fd6-dbd1-/resourceGroups/c6a46c3b-4679-40e/providers/Microsoft.Web/sites/f60fb/slotsswap"; + _requests[2104] = new DefaultHttpContext(); + _requests[2104].RequestServices = CreateServices(); + _requests[2104].Request.Method = "GET"; + _requests[2104].Request.Path = "/subscriptions/2f364b64-bae3-/resourceGroups/cb1a75de-a512-458/providers/Microsoft.Web/sites/4b456/snapshots"; + _requests[2105] = new DefaultHttpContext(); + _requests[2105].RequestServices = CreateServices(); + _requests[2105].Request.Method = "POST"; + _requests[2105].Request.Path = "/subscriptions/95a34872-54d3-/resourceGroups/cb5cd6c1-684e-472/providers/Microsoft.Web/sites/6419f/start"; + _requests[2106] = new DefaultHttpContext(); + _requests[2106].RequestServices = CreateServices(); + _requests[2106].Request.Method = "POST"; + _requests[2106].Request.Path = "/subscriptions/10ea1c2e-a092-/resourceGroups/6b1eee2f-9529-4e6/providers/Microsoft.Web/sites/ec93c/stop"; + _requests[2107] = new DefaultHttpContext(); + _requests[2107].RequestServices = CreateServices(); + _requests[2107].Request.Method = "POST"; + _requests[2107].Request.Path = "/subscriptions/7d52ef61-769b-/resourceGroups/daa9d773-e679-48b/providers/Microsoft.Web/sites/f486e/sync"; + _requests[2108] = new DefaultHttpContext(); + _requests[2108].RequestServices = CreateServices(); + _requests[2108].Request.Method = "POST"; + _requests[2108].Request.Path = "/subscriptions/9c64fb34-df53-/resourceGroups/3768f8e0-2dd5-41a/providers/Microsoft.Web/sites/26ec6/syncfunctiontriggers"; + _requests[2109] = new DefaultHttpContext(); + _requests[2109].RequestServices = CreateServices(); + _requests[2109].Request.Method = "GET"; + _requests[2109].Request.Path = "/subscriptions/fb82d9c1-8006-/resourceGroups/d14f6dba-4d45-406/providers/Microsoft.Web/sites/ea3e5/triggeredwebjobs"; + _requests[2110] = new DefaultHttpContext(); + _requests[2110].RequestServices = CreateServices(); + _requests[2110].Request.Method = "GET"; + _requests[2110].Request.Path = "/subscriptions/4def67fb-696e-/resourceGroups/dd3763d2-d53f-480/providers/Microsoft.Web/sites/7395b/usages"; + _requests[2111] = new DefaultHttpContext(); + _requests[2111].RequestServices = CreateServices(); + _requests[2111].Request.Method = "GET"; + _requests[2111].Request.Path = "/subscriptions/e3dd01e5-af0d-/resourceGroups/72ba3312-57c4-49b/providers/Microsoft.Web/sites/6b035/virtualNetworkConnections"; + _requests[2112] = new DefaultHttpContext(); + _requests[2112].RequestServices = CreateServices(); + _requests[2112].Request.Method = "GET"; + _requests[2112].Request.Path = "/subscriptions/95b8bcb7-a489-/resourceGroups/0d33710a-e825-4b6/providers/Microsoft.Web/sites/85f5f/webjobs"; + _requests[2113] = new DefaultHttpContext(); + _requests[2113].RequestServices = CreateServices(); + _requests[2113].Request.Method = "GET"; + _requests[2113].Request.Path = "/subscriptions/a3ab67c2-0f0f-/resourceGroups/6577481a-054d-45f/providers/Microsoft.Web/sites/7377e575/detectors"; + _requests[2114] = new DefaultHttpContext(); + _requests[2114].RequestServices = CreateServices(); + _requests[2114].Request.Method = "GET"; + _requests[2114].Request.Path = "/subscriptions/abb65895-5323-/resourceGroups/15dd0f63-5df2-47c/providers/Microsoft.Web/sites/dd8bb1d5/diagnostics"; + _requests[2115] = new DefaultHttpContext(); + _requests[2115].RequestServices = CreateServices(); + _requests[2115].Request.Method = "GET"; + _requests[2115].Request.Path = "/subscriptions/6c34c17c-d2fb-/resourceGroups/473265e5-8b64-40b/providers/Microsoft.Web/sites/0f6b6ab0/recommendationHistory"; + _requests[2116] = new DefaultHttpContext(); + _requests[2116].RequestServices = CreateServices(); + _requests[2116].Request.Method = "GET"; + _requests[2116].Request.Path = "/subscriptions/dc3d7d78-8681-/resourceGroups/60ab8351-d02f-4ba/providers/Microsoft.Web/sites/954e87d4/recommendations"; + _requests[2117] = new DefaultHttpContext(); + _requests[2117].RequestServices = CreateServices(); + _requests[2117].Request.Method = "PUT"; + _requests[2117].Request.Path = "/subscriptions/f4109c83-f7b5-/resourceGroups/55648edc-254a-435/providers/Microsoft.ApiManagement/service/035638a4-08/portalsettings/delegation"; + _requests[2118] = new DefaultHttpContext(); + _requests[2118].RequestServices = CreateServices(); + _requests[2118].Request.Method = "PUT"; + _requests[2118].Request.Path = "/subscriptions/ac24688d-20da-/resourceGroups/1c63031c-7481-480/providers/Microsoft.ApiManagement/service/6a6bb572-3f/portalsettings/signin"; + _requests[2119] = new DefaultHttpContext(); + _requests[2119].RequestServices = CreateServices(); + _requests[2119].Request.Method = "PUT"; + _requests[2119].Request.Path = "/subscriptions/1f968418-401d-/resourceGroups/95d4807e-0970-4ca/providers/Microsoft.ApiManagement/service/b8fd85aa-23/portalsettings/signup"; + _requests[2120] = new DefaultHttpContext(); + _requests[2120].RequestServices = CreateServices(); + _requests[2120].Request.Method = "GET"; + _requests[2120].Request.Path = "/subscriptions/3ef69060-1414-/resourceGroups/2b391c27-ccd4-41c/providers/Microsoft.ApiManagement/service/5b6e721a-ba/reports/byApi"; + _requests[2121] = new DefaultHttpContext(); + _requests[2121].RequestServices = CreateServices(); + _requests[2121].Request.Method = "GET"; + _requests[2121].Request.Path = "/subscriptions/28c81bf7-a999-/resourceGroups/0991d758-8941-422/providers/Microsoft.ApiManagement/service/792f96ce-50/reports/byGeo"; + _requests[2122] = new DefaultHttpContext(); + _requests[2122].RequestServices = CreateServices(); + _requests[2122].Request.Method = "GET"; + _requests[2122].Request.Path = "/subscriptions/aab5d90a-3d2a-/resourceGroups/2216f545-15c8-40d/providers/Microsoft.ApiManagement/service/819e35c1-13/reports/byOperation"; + _requests[2123] = new DefaultHttpContext(); + _requests[2123].RequestServices = CreateServices(); + _requests[2123].Request.Method = "GET"; + _requests[2123].Request.Path = "/subscriptions/5f49c6f8-0560-/resourceGroups/7238683b-3dcb-46f/providers/Microsoft.ApiManagement/service/687e4cf8-ee/reports/byProduct"; + _requests[2124] = new DefaultHttpContext(); + _requests[2124].RequestServices = CreateServices(); + _requests[2124].Request.Method = "GET"; + _requests[2124].Request.Path = "/subscriptions/8e7853d3-7f56-/resourceGroups/ee40f5e5-c672-437/providers/Microsoft.ApiManagement/service/f2107e17-d1/reports/byRequest"; + _requests[2125] = new DefaultHttpContext(); + _requests[2125].RequestServices = CreateServices(); + _requests[2125].Request.Method = "GET"; + _requests[2125].Request.Path = "/subscriptions/4839125f-751a-/resourceGroups/d4ff5a2d-671a-4e8/providers/Microsoft.ApiManagement/service/42b2cf05-ce/reports/bySubscription"; + _requests[2126] = new DefaultHttpContext(); + _requests[2126].RequestServices = CreateServices(); + _requests[2126].Request.Method = "GET"; + _requests[2126].Request.Path = "/subscriptions/3084203f-3db3-/resourceGroups/367000b7-7948-4f2/providers/Microsoft.ApiManagement/service/3882ac37-38/reports/byTime"; + _requests[2127] = new DefaultHttpContext(); + _requests[2127].RequestServices = CreateServices(); + _requests[2127].Request.Method = "GET"; + _requests[2127].Request.Path = "/subscriptions/76bd79d3-8221-/resourceGroups/f54726c9-6541-456/providers/Microsoft.ApiManagement/service/9727a8e3-4f/reports/byUser"; + _requests[2128] = new DefaultHttpContext(); + _requests[2128].RequestServices = CreateServices(); + _requests[2128].Request.Method = "PATCH"; + _requests[2128].Request.Path = "/subscriptions/6abaddd4-a373-/resourceGroups/b2d1b5d5-bd37-4e2/providers/Microsoft.ApiManagement/service/0236f296-f7/tenant/access"; + _requests[2129] = new DefaultHttpContext(); + _requests[2129].RequestServices = CreateServices(); + _requests[2129].Request.Method = "DELETE"; + _requests[2129].Request.Path = "/subscriptions/2569936d-e5c5-/resourceGroups/05b17ff6-76f0-461/providers/Microsoft.ApiManagement/service/0bab606e-2d/tenant/policy"; + _requests[2130] = new DefaultHttpContext(); + _requests[2130].RequestServices = CreateServices(); + _requests[2130].Request.Method = "POST"; + _requests[2130].Request.Path = "/subscriptions/506e86b4-d3c6-/resourceGroups/4893545e-6d53-47b/providers/Microsoft.Automation/automationAccounts/58e393ee-c3ab-4001-95/agentRegistrationInformation/regenerateKey"; + _requests[2131] = new DefaultHttpContext(); + _requests[2131].RequestServices = CreateServices(); + _requests[2131].Request.Method = "POST"; + _requests[2131].Request.Path = "/subscriptions/1b8e65e6-5506-/resourceGroups/e7b3340d-4cd6-40e/providers/Microsoft.Automation/automationAccounts/362f933b-cf8d-4483-bb/webhooks/generateUri"; + _requests[2132] = new DefaultHttpContext(); + _requests[2132].RequestServices = CreateServices(); + _requests[2132].Request.Method = "GET"; + _requests[2132].Request.Path = "/subscriptions/ce86d20b-933a-/resourceGroups/3b2cfd91-83cc-477/providers/Microsoft.Cache/Redis/52a2b/patchSchedules/default"; + _requests[2133] = new DefaultHttpContext(); + _requests[2133].RequestServices = CreateServices(); + _requests[2133].Request.Method = "POST"; + _requests[2133].Request.Path = "/subscriptions/13c28530-ef73-/resourceGroups/b4a02115-43ad-4ac/providers/Microsoft.Compute/virtualMachineScaleSets/18947782-df97-/rollingUpgrades/cancel"; + _requests[2134] = new DefaultHttpContext(); + _requests[2134].RequestServices = CreateServices(); + _requests[2134].Request.Method = "GET"; + _requests[2134].Request.Path = "/subscriptions/3ff10ee5-e6fc-/resourceGroups/d95d8025-ee8d-4da/providers/Microsoft.Compute/virtualMachineScaleSets/95d69f98-b848-/rollingUpgrades/latest"; + _requests[2135] = new DefaultHttpContext(); + _requests[2135].RequestServices = CreateServices(); + _requests[2135].Request.Method = "GET"; + _requests[2135].Request.Path = "/subscriptions/a8c66ff9-fd87-/resourceGroups/a4e89dd8-214d-45c/providers/Microsoft.ContainerService/managedClusters/f846c03e-c98/upgradeProfiles/default"; + _requests[2136] = new DefaultHttpContext(); + _requests[2136].RequestServices = CreateServices(); + _requests[2136].Request.Method = "POST"; + _requests[2136].Request.Path = "/subscriptions/f7b9c5bb-237a-/resourceGroups/335238a2-536e-454/providers/Microsoft.CustomerInsights/hubs/9a5e6fa/images/getDataImageUploadUrl"; + _requests[2137] = new DefaultHttpContext(); + _requests[2137].RequestServices = CreateServices(); + _requests[2137].Request.Method = "POST"; + _requests[2137].Request.Path = "/subscriptions/9a155f88-b364-/resourceGroups/75143391-a127-4d6/providers/Microsoft.CustomerInsights/hubs/a4648db/images/getEntityTypeImageUploadUrl"; + _requests[2138] = new DefaultHttpContext(); + _requests[2138].RequestServices = CreateServices(); + _requests[2138].Request.Method = "GET"; + _requests[2138].Request.Path = "/subscriptions/436bef24-ea66-/resourceGroups/a8df8f08-0c6c-4ac/providers/Microsoft.DocumentDB/databaseAccounts/c94c9e7a-bb/percentile/metrics"; + _requests[2139] = new DefaultHttpContext(); + _requests[2139].RequestServices = CreateServices(); + _requests[2139].Request.Method = "GET"; + _requests[2139].Request.Path = "/subscriptions/2a8089ca-06a4-/resourceGroups/7e5973aa-0f85-4a5/providers/Microsoft.EventHub/clusters/b7fedc2a-bb/quotaConfiguration/default"; + _requests[2140] = new DefaultHttpContext(); + _requests[2140].RequestServices = CreateServices(); + _requests[2140].Request.Method = "POST"; + _requests[2140].Request.Path = "/subscriptions/0f481eef-16cb-/resourceGroups/a1dd13b1-dd0d-436/providers/Microsoft.EventHub/namespaces/21e1b18d-5ac4/disasterRecoveryConfigs/CheckNameAvailability"; + _requests[2141] = new DefaultHttpContext(); + _requests[2141].RequestServices = CreateServices(); + _requests[2141].Request.Method = "DELETE"; + _requests[2141].Request.Path = "/subscriptions/c3c24c72-9feb-/resourceGroups/badf33fc-cdcf-481/providers/Microsoft.HDInsight/clusters/11bd3ae4-f5/extensions/clustermonitoring"; + _requests[2142] = new DefaultHttpContext(); + _requests[2142].RequestServices = CreateServices(); + _requests[2142].Request.Method = "PATCH"; + _requests[2142].Request.Path = "/subscriptions/387a9fdf-22d1-/resourceGroups/a8eb2ab7-0a30-499/providers/microsoft.insights/components/3ceafe0d-558/pricingPlans/current"; + _requests[2143] = new DefaultHttpContext(); + _requests[2143].RequestServices = CreateServices(); + _requests[2143].Request.Method = "POST"; + _requests[2143].Request.Path = "/subscriptions/d558b3aa-9a57-/resourceGroups/e2540f7c-eb42-4d6/providers/Microsoft.Network/connections/fa05c5f2-6fce-47e5-bc7d-652447b1ebc/sharedkey/reset"; + _requests[2144] = new DefaultHttpContext(); + _requests[2144].RequestServices = CreateServices(); + _requests[2144].Request.Method = "POST"; + _requests[2144].Request.Path = "/Subscriptions/558e4a62-214c-/resourceGroups/11e32291-cae6-45d/providers/Microsoft.RecoveryServices/vaults/88121126-a11/replicationJobs/export"; + _requests[2145] = new DefaultHttpContext(); + _requests[2145].RequestServices = CreateServices(); + _requests[2145].Request.Method = "PATCH"; + _requests[2145].Request.Path = "/Subscriptions/ba0f56e9-7882-/resourceGroups/fe5889f5-b083-448/providers/Microsoft.RecoveryServices/vaults/8b7e8f70-/backupconfig/vaultconfig"; + _requests[2146] = new DefaultHttpContext(); + _requests[2146].RequestServices = CreateServices(); + _requests[2146].Request.Method = "PATCH"; + _requests[2146].Request.Path = "/Subscriptions/68e85649-4b10-/resourceGroups/f4ce0552-54fc-40e/providers/Microsoft.RecoveryServices/vaults/33490016-/backupstorageconfig/vaultstorageconfig"; + _requests[2147] = new DefaultHttpContext(); + _requests[2147].RequestServices = CreateServices(); + _requests[2147].Request.Method = "PATCH"; + _requests[2147].Request.Path = "/subscriptions/72ba0277-1be8-/resourceGroups/df89eb81-2964-463/providers/Microsoft.RecoveryServices/vaults/195ca639-/extendedInformation/vaultExtendedInfo"; + _requests[2148] = new DefaultHttpContext(); + _requests[2148].RequestServices = CreateServices(); + _requests[2148].Request.Method = "POST"; + _requests[2148].Request.Path = "/subscriptions/648ca8ec-4b62-/resourceGroups/051a0645-285e-4f7/providers/Microsoft.ServiceBus/namespaces/3f0eba6c-f527/disasterRecoveryConfigs/CheckNameAvailability"; + _requests[2149] = new DefaultHttpContext(); + _requests[2149].RequestServices = CreateServices(); + _requests[2149].Request.Method = "PATCH"; + _requests[2149].Request.Path = "/subscriptions/9a4976f1-131c-/resourceGroups/91160154-58bf-45d/providers/Microsoft.Sql/servers/489096f6-d/automaticTuning/current"; + _requests[2150] = new DefaultHttpContext(); + _requests[2150].RequestServices = CreateServices(); + _requests[2150].Request.Method = "GET"; + _requests[2150].Request.Path = "/subscriptions/db7fa657-1f38-/resourceGroups/a9241ca2-c91f-46b/providers/Microsoft.StorSimple/managers/d2eb8531-db/encryptionSettings/default"; + _requests[2151] = new DefaultHttpContext(); + _requests[2151].RequestServices = CreateServices(); + _requests[2151].Request.Method = "PATCH"; + _requests[2151].Request.Path = "/subscriptions/12480295-e686-/resourceGroups/089ba1a5-c9b2-469/providers/Microsoft.StorSimple/managers/ad7167d2-88/extendedInformation/vaultExtendedInfo"; + _requests[2152] = new DefaultHttpContext(); + _requests[2152].RequestServices = CreateServices(); + _requests[2152].Request.Method = "GET"; + _requests[2152].Request.Path = "/subscriptions/7dcfd231-a157-/resourceGroups/d281a555-64d0-48b/providers/Microsoft.Web/hostingEnvironments/7acb2/capacities/compute"; + _requests[2153] = new DefaultHttpContext(); + _requests[2153].RequestServices = CreateServices(); + _requests[2153].Request.Method = "GET"; + _requests[2153].Request.Path = "/subscriptions/2388b588-fbe7-/resourceGroups/ebcaf64e-77f1-4a2/providers/Microsoft.Web/hostingEnvironments/ac3dd/capacities/virtualip"; + _requests[2154] = new DefaultHttpContext(); + _requests[2154].RequestServices = CreateServices(); + _requests[2154].Request.Method = "PATCH"; + _requests[2154].Request.Path = "/subscriptions/73efed12-3998-/resourceGroups/4b303e35-788f-470/providers/Microsoft.Web/hostingEnvironments/98efb/multiRolePools/default"; + _requests[2155] = new DefaultHttpContext(); + _requests[2155].RequestServices = CreateServices(); + _requests[2155].Request.Method = "GET"; + _requests[2155].Request.Path = "/subscriptions/ed790f3b-db36-/resourceGroups/de0653e1-e7a0-4d9/providers/Microsoft.Web/managedHostingEnvironments/684fa/capacities/virtualip"; + _requests[2156] = new DefaultHttpContext(); + _requests[2156].RequestServices = CreateServices(); + _requests[2156].Request.Method = "GET"; + _requests[2156].Request.Path = "/subscriptions/6e541207-1bef-/resourceGroups/07fd559c-4c33-452/providers/Microsoft.Web/serverfarms/5a87a/hybridConnectionPlanLimits/limit"; + _requests[2157] = new DefaultHttpContext(); + _requests[2157].RequestServices = CreateServices(); + _requests[2157].Request.Method = "PUT"; + _requests[2157].Request.Path = "/subscriptions/3fe834fc-b8dc-/resourceGroups/610e7863-9420-451/providers/Microsoft.Web/sites/47187/backups/discover"; + _requests[2158] = new DefaultHttpContext(); + _requests[2158].RequestServices = CreateServices(); + _requests[2158].Request.Method = "PUT"; + _requests[2158].Request.Path = "/subscriptions/0b26f61f-8613-/resourceGroups/24854d9e-3ecc-4b7/providers/Microsoft.Web/sites/147b7/config/appsettings"; + _requests[2159] = new DefaultHttpContext(); + _requests[2159].RequestServices = CreateServices(); + _requests[2159].Request.Method = "PUT"; + _requests[2159].Request.Path = "/subscriptions/0202a7a2-4a5a-/resourceGroups/adfb399c-ab54-4ef/providers/Microsoft.Web/sites/2ba0e/config/authsettings"; + _requests[2160] = new DefaultHttpContext(); + _requests[2160].RequestServices = CreateServices(); + _requests[2160].Request.Method = "DELETE"; + _requests[2160].Request.Path = "/subscriptions/8b4468b1-b008-/resourceGroups/8857ac5a-3eb4-496/providers/Microsoft.Web/sites/636b0/config/backup"; + _requests[2161] = new DefaultHttpContext(); + _requests[2161].RequestServices = CreateServices(); + _requests[2161].Request.Method = "PUT"; + _requests[2161].Request.Path = "/subscriptions/61c0b0fc-33f2-/resourceGroups/7d750f0f-2555-494/providers/Microsoft.Web/sites/effc6/config/connectionstrings"; + _requests[2162] = new DefaultHttpContext(); + _requests[2162].RequestServices = CreateServices(); + _requests[2162].Request.Method = "PUT"; + _requests[2162].Request.Path = "/subscriptions/546ac75f-a1e6-/resourceGroups/c3bdac44-e2f9-4b5/providers/Microsoft.Web/sites/edf85/config/logs"; + _requests[2163] = new DefaultHttpContext(); + _requests[2163].RequestServices = CreateServices(); + _requests[2163].Request.Method = "PUT"; + _requests[2163].Request.Path = "/subscriptions/d9fd5d4f-1057-/resourceGroups/132f32b7-fb3c-428/providers/Microsoft.Web/sites/7a2fb/config/metadata"; + _requests[2164] = new DefaultHttpContext(); + _requests[2164].RequestServices = CreateServices(); + _requests[2164].Request.Method = "PUT"; + _requests[2164].Request.Path = "/subscriptions/2f2e123f-287d-/resourceGroups/d30ff09b-f740-460/providers/Microsoft.Web/sites/df2f0/config/pushsettings"; + _requests[2165] = new DefaultHttpContext(); + _requests[2165].RequestServices = CreateServices(); + _requests[2165].Request.Method = "PUT"; + _requests[2165].Request.Path = "/subscriptions/e19ec785-0452-/resourceGroups/a055ba94-77bf-4a4/providers/Microsoft.Web/sites/60a7a/config/slotConfigNames"; + _requests[2166] = new DefaultHttpContext(); + _requests[2166].RequestServices = CreateServices(); + _requests[2166].Request.Method = "PATCH"; + _requests[2166].Request.Path = "/subscriptions/a07b176e-42a6-/resourceGroups/005fb80e-4998-45e/providers/Microsoft.Web/sites/4ff93/config/web"; + _requests[2167] = new DefaultHttpContext(); + _requests[2167].RequestServices = CreateServices(); + _requests[2167].Request.Method = "PUT"; + _requests[2167].Request.Path = "/subscriptions/e07ccb82-40ac-/resourceGroups/829c910b-1a93-4b0/providers/Microsoft.Web/sites/6f8dd/extensions/MSDeploy"; + _requests[2168] = new DefaultHttpContext(); + _requests[2168].RequestServices = CreateServices(); + _requests[2168].Request.Method = "GET"; + _requests[2168].Request.Path = "/subscriptions/220bbe91-a678-/resourceGroups/2c299444-d419-49c/providers/Microsoft.Web/sites/618eb/migratemysql/status"; + _requests[2169] = new DefaultHttpContext(); + _requests[2169].RequestServices = CreateServices(); + _requests[2169].Request.Method = "POST"; + _requests[2169].Request.Path = "/subscriptions/e759b6ca-a265-/resourceGroups/fb6b071a-e5aa-4b3/providers/Microsoft.Web/sites/a50ab/networkTrace/start"; + _requests[2170] = new DefaultHttpContext(); + _requests[2170].RequestServices = CreateServices(); + _requests[2170].Request.Method = "POST"; + _requests[2170].Request.Path = "/subscriptions/d331b77e-53df-/resourceGroups/70500736-2e41-458/providers/Microsoft.Web/sites/85c70/networkTrace/stop"; + _requests[2171] = new DefaultHttpContext(); + _requests[2171].RequestServices = CreateServices(); + _requests[2171].Request.Method = "PUT"; + _requests[2171].Request.Path = "/subscriptions/9c3488aa-92b7-/resourceGroups/4c561fd5-f212-434/providers/Microsoft.Web/sites/1a17d/privateAccess/virtualNetworks"; + _requests[2172] = new DefaultHttpContext(); + _requests[2172].RequestServices = CreateServices(); + _requests[2172].Request.Method = "GET"; + _requests[2172].Request.Path = "/subscriptions/47daba3c-499a-/resourceGroups/c791ea15-8ce2-46e/providers/Microsoft.Web/sites/2ee44/resourceHealthMetadata/default"; + _requests[2173] = new DefaultHttpContext(); + _requests[2173].RequestServices = CreateServices(); + _requests[2173].Request.Method = "PATCH"; + _requests[2173].Request.Path = "/subscriptions/b4d547fd-95e4-/resourceGroups/ba212cdd-7cef-4ed/providers/Microsoft.Web/sites/d61d8/sourcecontrols/web"; + _requests[2174] = new DefaultHttpContext(); + _requests[2174].RequestServices = CreateServices(); + _requests[2174].Request.Method = "POST"; + _requests[2174].Request.Path = "/subscriptions/fb7f48f7-77e8-/resourceGroups/3e1ff61a-9cc3-42b/providers/Microsoft.Web/sites/d9d155ef/recommendations/disable"; + _requests[2175] = new DefaultHttpContext(); + _requests[2175].RequestServices = CreateServices(); + _requests[2175].Request.Method = "POST"; + _requests[2175].Request.Path = "/subscriptions/c5ae4649-f49e-/resourceGroups/50b766fa-19b1-4f8/providers/Microsoft.Web/sites/c709a80f/recommendations/reset"; + _requests[2176] = new DefaultHttpContext(); + _requests[2176].RequestServices = CreateServices(); + _requests[2176].Request.Method = "GET"; + _requests[2176].Request.Path = "/subscriptions/2a57afba-4eeb-/resourceGroups/52d682ac-4e3d-475/providers/Microsoft.ApiManagement/service/3f51e40a-3d/tenant/access/git"; + _requests[2177] = new DefaultHttpContext(); + _requests[2177].RequestServices = CreateServices(); + _requests[2177].Request.Method = "POST"; + _requests[2177].Request.Path = "/subscriptions/7d8e99ed-1476-/resourceGroups/321dded1-d0eb-42b/providers/Microsoft.ApiManagement/service/755a83aa-d4/tenant/access/regeneratePrimaryKey"; + _requests[2178] = new DefaultHttpContext(); + _requests[2178].RequestServices = CreateServices(); + _requests[2178].Request.Method = "POST"; + _requests[2178].Request.Path = "/subscriptions/5767696f-fabc-/resourceGroups/98f811b1-c34b-491/providers/Microsoft.ApiManagement/service/aa7577cb-25/tenant/access/regenerateSecondaryKey"; + _requests[2179] = new DefaultHttpContext(); + _requests[2179].RequestServices = CreateServices(); + _requests[2179].Request.Method = "POST"; + _requests[2179].Request.Path = "/subscriptions/23ed24ec-fea4-/resourceGroups/7eebbdcb-9778-401/providers/Microsoft.ApiManagement/service/e262fce6-1c/tenant/configuration/deploy"; + _requests[2180] = new DefaultHttpContext(); + _requests[2180].RequestServices = CreateServices(); + _requests[2180].Request.Method = "POST"; + _requests[2180].Request.Path = "/subscriptions/6cd235a8-38b5-/resourceGroups/1f8c7a63-ef10-462/providers/Microsoft.ApiManagement/service/e2b9cb61-19/tenant/configuration/save"; + _requests[2181] = new DefaultHttpContext(); + _requests[2181].RequestServices = CreateServices(); + _requests[2181].Request.Method = "GET"; + _requests[2181].Request.Path = "/subscriptions/642b7686-ee9e-/resourceGroups/6167cc59-dafa-4d4/providers/Microsoft.ApiManagement/service/630f815f-55/tenant/configuration/syncState"; + _requests[2182] = new DefaultHttpContext(); + _requests[2182].RequestServices = CreateServices(); + _requests[2182].Request.Method = "POST"; + _requests[2182].Request.Path = "/subscriptions/2f4ac671-c221-/resourceGroups/0b0a7d2f-bfe2-4bc/providers/Microsoft.ApiManagement/service/026eb4ab-b0/tenant/configuration/validate"; + _requests[2183] = new DefaultHttpContext(); + _requests[2183].RequestServices = CreateServices(); + _requests[2183].Request.Method = "POST"; + _requests[2183].Request.Path = "/subscriptions/19c026d8-3fb8-/resourceGroups/f6bd7802-752c-48d/providers/Microsoft.Devices/IotHubs/7d86ad24-f/routing/routes/$testall"; + _requests[2184] = new DefaultHttpContext(); + _requests[2184].RequestServices = CreateServices(); + _requests[2184].Request.Method = "POST"; + _requests[2184].Request.Path = "/subscriptions/27554727-5556-/resourceGroups/736f82f3-2d4a-4f2/providers/Microsoft.Devices/IotHubs/ad4ce50c-4/routing/routes/$testnew"; + _requests[2185] = new DefaultHttpContext(); + _requests[2185].RequestServices = CreateServices(); + _requests[2185].Request.Method = "POST"; + _requests[2185].Request.Path = "/subscriptions/f8a5e7a2-564f-/resourceGroups/30ff7da3-3f8d-438/providers/Microsoft.OperationalInsights/workspaces/32b759d1-fcb7/features/serviceMap/generateMap"; + _requests[2186] = new DefaultHttpContext(); + _requests[2186].RequestServices = CreateServices(); + _requests[2186].Request.Method = "POST"; + _requests[2186].Request.Path = "/subscriptions/03bf007a-c24c-/resourceGroups/b096e575-3469-447/providers/Microsoft.OperationalInsights/workspaces/6e4eaeda-7f2f/features/serviceMap/machineGroups"; + _requests[2187] = new DefaultHttpContext(); + _requests[2187].RequestServices = CreateServices(); + _requests[2187].Request.Method = "GET"; + _requests[2187].Request.Path = "/subscriptions/78da60d6-ba4f-/resourceGroups/826adf51-da59-4a1/providers/Microsoft.OperationalInsights/workspaces/d72f8133-e240/features/serviceMap/machines"; + _requests[2188] = new DefaultHttpContext(); + _requests[2188].RequestServices = CreateServices(); + _requests[2188].Request.Method = "POST"; + _requests[2188].Request.Path = "/Subscriptions/a20db1d2-ac2d-/resourceGroups/814cff4a-a7b7-41e/providers/Microsoft.RecoveryServices/vaults/714c63ea-7f7/replicationVaultHealth/default/refresh"; + _requests[2189] = new DefaultHttpContext(); + _requests[2189].RequestServices = CreateServices(); + _requests[2189].Request.Method = "GET"; + _requests[2189].Request.Path = "/subscriptions/ff8850c8-ffd9-/resourceGroups/60cbd492-74a5-4e1/providers/Microsoft.Storage/storageAccounts/dc83cd81-d0/blobServices/default/containers"; + _requests[2190] = new DefaultHttpContext(); + _requests[2190].RequestServices = CreateServices(); + _requests[2190].Request.Method = "GET"; + _requests[2190].Request.Path = "/subscriptions/27ab6350-b86e-/resourceGroups/1a30327d-44cf-48a/providers/Microsoft.Web/hostingEnvironments/434b5/multiRolePools/default/metricdefinitions"; + _requests[2191] = new DefaultHttpContext(); + _requests[2191].RequestServices = CreateServices(); + _requests[2191].Request.Method = "GET"; + _requests[2191].Request.Path = "/subscriptions/01cd854a-a174-/resourceGroups/e4ed130f-9d5c-448/providers/Microsoft.Web/hostingEnvironments/fd820/multiRolePools/default/metrics"; + _requests[2192] = new DefaultHttpContext(); + _requests[2192].RequestServices = CreateServices(); + _requests[2192].Request.Method = "GET"; + _requests[2192].Request.Path = "/subscriptions/db032805-3477-/resourceGroups/bd8b925b-ec47-487/providers/Microsoft.Web/hostingEnvironments/c1d04/multiRolePools/default/skus"; + _requests[2193] = new DefaultHttpContext(); + _requests[2193].RequestServices = CreateServices(); + _requests[2193].Request.Method = "GET"; + _requests[2193].Request.Path = "/subscriptions/c9ca54ad-5c43-/resourceGroups/7707413f-4a00-497/providers/Microsoft.Web/hostingEnvironments/bd34a/multiRolePools/default/usages"; + _requests[2194] = new DefaultHttpContext(); + _requests[2194].RequestServices = CreateServices(); + _requests[2194].Request.Method = "POST"; + _requests[2194].Request.Path = "/subscriptions/ffbbafb9-82bb-/resourceGroups/9156c30f-0dcc-437/providers/Microsoft.Web/sites/2d86f/config/appsettings/list"; + _requests[2195] = new DefaultHttpContext(); + _requests[2195].RequestServices = CreateServices(); + _requests[2195].Request.Method = "POST"; + _requests[2195].Request.Path = "/subscriptions/c5e65aa7-7941-/resourceGroups/767b7913-9e15-45e/providers/Microsoft.Web/sites/8cd95/config/authsettings/list"; + _requests[2196] = new DefaultHttpContext(); + _requests[2196].RequestServices = CreateServices(); + _requests[2196].Request.Method = "POST"; + _requests[2196].Request.Path = "/subscriptions/c3aff4c8-89c6-/resourceGroups/c5d82629-0b85-49e/providers/Microsoft.Web/sites/d5bd4/config/backup/list"; + _requests[2197] = new DefaultHttpContext(); + _requests[2197].RequestServices = CreateServices(); + _requests[2197].Request.Method = "POST"; + _requests[2197].Request.Path = "/subscriptions/ff91f1e4-4025-/resourceGroups/a335ae85-d835-4f6/providers/Microsoft.Web/sites/fd43e/config/connectionstrings/list"; + _requests[2198] = new DefaultHttpContext(); + _requests[2198].RequestServices = CreateServices(); + _requests[2198].Request.Method = "POST"; + _requests[2198].Request.Path = "/subscriptions/34f7932a-858b-/resourceGroups/27fefd82-e2ab-412/providers/Microsoft.Web/sites/f19b8/config/metadata/list"; + _requests[2199] = new DefaultHttpContext(); + _requests[2199].RequestServices = CreateServices(); + _requests[2199].Request.Method = "POST"; + _requests[2199].Request.Path = "/subscriptions/2fdeeb76-2ba1-/resourceGroups/e47ed9c1-df96-4b1/providers/Microsoft.Web/sites/44bcd/config/publishingcredentials/list"; + _requests[2200] = new DefaultHttpContext(); + _requests[2200].RequestServices = CreateServices(); + _requests[2200].Request.Method = "POST"; + _requests[2200].Request.Path = "/subscriptions/6f706c5c-b29e-/resourceGroups/a6e67c64-02d7-4f2/providers/Microsoft.Web/sites/f96cb/config/pushsettings/list"; + _requests[2201] = new DefaultHttpContext(); + _requests[2201].RequestServices = CreateServices(); + _requests[2201].Request.Method = "GET"; + _requests[2201].Request.Path = "/subscriptions/7a75a34f-e2fd-/resourceGroups/8c5bc65c-f24d-4e6/providers/Microsoft.Web/sites/51513/config/web/snapshots"; + _requests[2202] = new DefaultHttpContext(); + _requests[2202].RequestServices = CreateServices(); + _requests[2202].Request.Method = "POST"; + _requests[2202].Request.Path = "/subscriptions/42259e17-aa1c-/resourceGroups/74c445dc-f9e2-4ee/providers/Microsoft.Web/sites/04d64/containerlogs/zip/download"; + _requests[2203] = new DefaultHttpContext(); + _requests[2203].RequestServices = CreateServices(); + _requests[2203].Request.Method = "GET"; + _requests[2203].Request.Path = "/subscriptions/b710cd00-4782-/resourceGroups/1ae8d582-ebf7-4c4/providers/Microsoft.Web/sites/21051/extensions/MSDeploy/log"; + _requests[2204] = new DefaultHttpContext(); + _requests[2204].RequestServices = CreateServices(); + _requests[2204].Request.Method = "GET"; + _requests[2204].Request.Path = "/subscriptions/77f89e63-ac35-/resourceGroups/c8079511-9629-441/providers/Microsoft.Web/sites/2c534/functions/admin/token"; + _requests[2205] = new DefaultHttpContext(); + _requests[2205].RequestServices = CreateServices(); + _requests[2205].Request.Method = "POST"; + _requests[2205].Request.Path = "/subscriptions/49200238-ef1e-/resourceGroups/6bc16636-362c-458/providers/Microsoft.ApiManagement/service/00ce2bb8-6b/tenant/access/git/regeneratePrimaryKey"; + _requests[2206] = new DefaultHttpContext(); + _requests[2206].RequestServices = CreateServices(); + _requests[2206].Request.Method = "POST"; + _requests[2206].Request.Path = "/subscriptions/73af1d28-c405-/resourceGroups/8c980a4b-6a60-4cd/providers/Microsoft.ApiManagement/service/8eec06b0-86/tenant/access/git/regenerateSecondaryKey"; + _requests[2207] = new DefaultHttpContext(); + _requests[2207].RequestServices = CreateServices(); + _requests[2207].Request.Method = "GET"; + _requests[2207].Request.Path = "/subscriptions/35686525-4022-/resourceGroups/8044ba6f-eaf4-44c/providers/Microsoft.OperationalInsights/workspaces/d763e6ba-96cb/features/serviceMap/summaries/machines"; + _requests[2208] = new DefaultHttpContext(); + _requests[2208].RequestServices = CreateServices(); + _requests[2208].Request.Method = "GET"; + _requests[2208].Request.Path = "/subscriptions/fa1b5253-4dd5-/resourceGroups/b867371f-890b-430/providers/Microsoft.OperationalInsights/workspaces/8d8fb075-9262/features/serviceMap/clientGroups/26137626-3811-4"; + _requests[2209] = new DefaultHttpContext(); + _requests[2209].RequestServices = CreateServices(); + _requests[2209].Request.Method = "DELETE"; + _requests[2209].Request.Path = "/subscriptions/b63f24dd-9f3a-/resourceGroups/6129f0a0-695e-4bf/providers/Microsoft.OperationalInsights/workspaces/32c631e4-3635/features/serviceMap/machineGroups/fe1ec22c-3afd-42"; + _requests[2210] = new DefaultHttpContext(); + _requests[2210].RequestServices = CreateServices(); + _requests[2210].Request.Method = "GET"; + _requests[2210].Request.Path = "/subscriptions/ac55db6c-2390-/resourceGroups/a3c16b9c-4d3a-404/providers/Microsoft.OperationalInsights/workspaces/72e939af-80a5/features/serviceMap/machines/5c7909aa-93"; + _requests[2211] = new DefaultHttpContext(); + _requests[2211].RequestServices = CreateServices(); + _requests[2211].Request.Method = "DELETE"; + _requests[2211].Request.Path = "/subscriptions/9911e313-bc9c-/resourceGroups/a48b83d5-d45a-46f/providers/Microsoft.Storage/storageAccounts/4a6248f1-c4/blobServices/default/containers/17327fc3-0954"; + _requests[2212] = new DefaultHttpContext(); + _requests[2212].RequestServices = CreateServices(); + _requests[2212].Request.Method = "GET"; + _requests[2212].Request.Path = "/subscriptions/9ec7ab0b-8bf3-/resourceGroups/e1fc0845-8c5b-401/providers/Microsoft.Web/sites/030d2/config/web/snapshots/06ba1f9d-d"; + _requests[2213] = new DefaultHttpContext(); + _requests[2213].RequestServices = CreateServices(); + _requests[2213].Request.Method = "GET"; + _requests[2213].Request.Path = "/subscriptions/ae1964b4-1e1d-/resourceGroups/819c3cbb-ca40-4cb/providers/Microsoft.OperationalInsights/workspaces/b9b9b859-1d08/features/serviceMap/clientGroups/f24c8a85-cf3b-4/members"; + _requests[2214] = new DefaultHttpContext(); + _requests[2214].RequestServices = CreateServices(); + _requests[2214].Request.Method = "GET"; + _requests[2214].Request.Path = "/subscriptions/b6f9eb3e-82c7-/resourceGroups/5e461004-a6d3-449/providers/Microsoft.OperationalInsights/workspaces/0ea349ab-e8bf/features/serviceMap/clientGroups/11cecb6f-fab5-4/membersCount"; + _requests[2215] = new DefaultHttpContext(); + _requests[2215].RequestServices = CreateServices(); + _requests[2215].Request.Method = "GET"; + _requests[2215].Request.Path = "/subscriptions/57b27411-3eaa-/resourceGroups/2684932d-01f9-41f/providers/Microsoft.OperationalInsights/workspaces/9b237290-7475/features/serviceMap/machines/270342b5-41/connections"; + _requests[2216] = new DefaultHttpContext(); + _requests[2216].RequestServices = CreateServices(); + _requests[2216].Request.Method = "GET"; + _requests[2216].Request.Path = "/subscriptions/2fac163a-29fe-/resourceGroups/7a056ea0-e5d0-49b/providers/Microsoft.OperationalInsights/workspaces/cafa1ba6-32cd/features/serviceMap/machines/8b45d0bc-a7/liveness"; + _requests[2217] = new DefaultHttpContext(); + _requests[2217].RequestServices = CreateServices(); + _requests[2217].Request.Method = "GET"; + _requests[2217].Request.Path = "/subscriptions/21e015fa-3735-/resourceGroups/a31a5d51-c05d-455/providers/Microsoft.OperationalInsights/workspaces/ef123449-3089/features/serviceMap/machines/8c32160d-df/machineGroups"; + _requests[2218] = new DefaultHttpContext(); + _requests[2218].RequestServices = CreateServices(); + _requests[2218].Request.Method = "GET"; + _requests[2218].Request.Path = "/subscriptions/68424949-5bc2-/resourceGroups/9b623008-e2a5-45c/providers/Microsoft.OperationalInsights/workspaces/fb9ed023-b74e/features/serviceMap/machines/cdfa4b14-12/ports"; + _requests[2219] = new DefaultHttpContext(); + _requests[2219].RequestServices = CreateServices(); + _requests[2219].Request.Method = "GET"; + _requests[2219].Request.Path = "/subscriptions/fa52e9c8-693d-/resourceGroups/92a6fb54-7057-48d/providers/Microsoft.OperationalInsights/workspaces/cf5bdf86-bb70/features/serviceMap/machines/6d8ef085-11/processes"; + _requests[2220] = new DefaultHttpContext(); + _requests[2220].RequestServices = CreateServices(); + _requests[2220].Request.Method = "POST"; + _requests[2220].Request.Path = "/subscriptions/3fe3151c-45ee-/resourceGroups/bf775833-8e5e-4b0/providers/Microsoft.Storage/storageAccounts/8e4d91e9-ec/blobServices/default/containers/cf4e7522-8526/clearLegalHold"; + _requests[2221] = new DefaultHttpContext(); + _requests[2221].RequestServices = CreateServices(); + _requests[2221].Request.Method = "POST"; + _requests[2221].Request.Path = "/subscriptions/436c9c74-b899-/resourceGroups/8386c07f-468e-475/providers/Microsoft.Storage/storageAccounts/57be9860-92/blobServices/default/containers/83a52191-f014/setLegalHold"; + _requests[2222] = new DefaultHttpContext(); + _requests[2222].RequestServices = CreateServices(); + _requests[2222].Request.Method = "GET"; + _requests[2222].Request.Path = "/subscriptions/21543f70-3622-/resourceGroups/ab653975-dc32-4e3/providers/Microsoft.Web/hostingEnvironments/6d8c9/multiRolePools/default/instances/5bd2ca85/metricdefinitions"; + _requests[2223] = new DefaultHttpContext(); + _requests[2223].RequestServices = CreateServices(); + _requests[2223].Request.Method = "GET"; + _requests[2223].Request.Path = "/subscriptions/ef528602-f940-/resourceGroups/258157e9-4d15-45d/providers/Microsoft.Web/hostingEnvironments/07467/multiRolePools/default/instances/8dbf6b80/metrics"; + _requests[2224] = new DefaultHttpContext(); + _requests[2224].RequestServices = CreateServices(); + _requests[2224].Request.Method = "POST"; + _requests[2224].Request.Path = "/subscriptions/7d9a013c-7bfe-/resourceGroups/be682afe-6a11-4d5/providers/Microsoft.Web/sites/a582d/config/web/snapshots/c8e52b88-5/recover"; + _requests[2225] = new DefaultHttpContext(); + _requests[2225].RequestServices = CreateServices(); + _requests[2225].Request.Method = "POST"; + _requests[2225].Request.Path = "/subscriptions/8c08fe55-a040-/resourceGroups/84d5251a-a5c1-4f9/providers/Microsoft.Storage/storageAccounts/fe7fc620-8c/blobServices/default/containers/dfe7004f-53dd/immutabilityPolicies/default/extend"; + _requests[2226] = new DefaultHttpContext(); + _requests[2226].RequestServices = CreateServices(); + _requests[2226].Request.Method = "POST"; + _requests[2226].Request.Path = "/subscriptions/a3711790-fc7c-/resourceGroups/f065a00e-911b-4c6/providers/Microsoft.Storage/storageAccounts/2c1b1509-eb/blobServices/default/containers/e4df955f-b8a3/immutabilityPolicies/default/lock"; + _requests[2227] = new DefaultHttpContext(); + _requests[2227].RequestServices = CreateServices(); + _requests[2227].Request.Method = "GET"; + _requests[2227].Request.Path = "/subscriptions/d6b58149-4c87-/resourceGroups/a8b0affe-e2f2-431/providers/Microsoft.OperationalInsights/workspaces/87897b9e-fef8/features/serviceMap/machines/412d598e-15/ports/1bb68c2e"; + _requests[2228] = new DefaultHttpContext(); + _requests[2228].RequestServices = CreateServices(); + _requests[2228].Request.Method = "GET"; + _requests[2228].Request.Path = "/subscriptions/907f2389-2bdc-/resourceGroups/04e6ba29-3904-422/providers/Microsoft.OperationalInsights/workspaces/37bc6438-0a05/features/serviceMap/machines/8b6d3339-36/processes/070e546e-31"; + _requests[2229] = new DefaultHttpContext(); + _requests[2229].RequestServices = CreateServices(); + _requests[2229].Request.Method = "DELETE"; + _requests[2229].Request.Path = "/subscriptions/36791325-f989-/resourceGroups/d436cb1a-1c00-410/providers/Microsoft.Storage/storageAccounts/daf488ec-00/blobServices/default/containers/40419c6f-5a44/immutabilityPolicies/ef1658af-2949-4e81-ba0"; + _requests[2230] = new DefaultHttpContext(); + _requests[2230].RequestServices = CreateServices(); + _requests[2230].Request.Method = "GET"; + _requests[2230].Request.Path = "/subscriptions/0ba318dd-4bde-/resourceGroups/78de34a1-baa1-4c4/providers/Microsoft.OperationalInsights/workspaces/37b46289-7edc/features/serviceMap/machines/92ea8946-d6/ports/0f0ab4e3/acceptingProcesses"; + _requests[2231] = new DefaultHttpContext(); + _requests[2231].RequestServices = CreateServices(); + _requests[2231].Request.Method = "GET"; + _requests[2231].Request.Path = "/subscriptions/567a4aeb-ffd9-/resourceGroups/afad1f24-186b-406/providers/Microsoft.OperationalInsights/workspaces/6d5296a0-10f7/features/serviceMap/machines/00b394e2-ea/ports/6e5e57e5/connections"; + _requests[2232] = new DefaultHttpContext(); + _requests[2232].RequestServices = CreateServices(); + _requests[2232].Request.Method = "GET"; + _requests[2232].Request.Path = "/subscriptions/e3192af0-745b-/resourceGroups/4955f9af-15e8-450/providers/Microsoft.OperationalInsights/workspaces/aa31aabb-90ba/features/serviceMap/machines/8bedec71-ba/ports/c66d3ee4/liveness"; + _requests[2233] = new DefaultHttpContext(); + _requests[2233].RequestServices = CreateServices(); + _requests[2233].Request.Method = "GET"; + _requests[2233].Request.Path = "/subscriptions/6113adf3-33da-/resourceGroups/270502cb-48b4-42a/providers/Microsoft.OperationalInsights/workspaces/35e0d3b1-28cf/features/serviceMap/machines/706b5719-dd/processes/912dcc87-99/acceptingPorts"; + _requests[2234] = new DefaultHttpContext(); + _requests[2234].RequestServices = CreateServices(); + _requests[2234].Request.Method = "GET"; + _requests[2234].Request.Path = "/subscriptions/d5675f55-f411-/resourceGroups/7059ab2b-ad5b-463/providers/Microsoft.OperationalInsights/workspaces/ef58ec3c-7a71/features/serviceMap/machines/f13c6401-91/processes/eee145d1-90/connections"; + _requests[2235] = new DefaultHttpContext(); + _requests[2235].RequestServices = CreateServices(); + _requests[2235].Request.Method = "GET"; + _requests[2235].Request.Path = "/subscriptions/3e6c8eec-5bcf-/resourceGroups/36cfb436-144e-4c0/providers/Microsoft.OperationalInsights/workspaces/ccbc89ba-dce5/features/serviceMap/machines/a39119d6-cf/processes/78456fa6-e0/liveness"; + _requests[2236] = new DefaultHttpContext(); + _requests[2236].RequestServices = CreateServices(); + _requests[2236].Request.Method = "GET"; + _requests[2236].Request.Path = "/Subscriptions/36498ec7-ac22-/resourceGroups/b95a146b-0cc0-471/providers/Microsoft.RecoveryServices/vaults/1a411d57-/backupJobs/operationResults/ebaa103c-00"; + _requests[2237] = new DefaultHttpContext(); + _requests[2237].RequestServices = CreateServices(); + _requests[2237].Request.Method = "GET"; + _requests[2237].Request.Path = "/subscriptions/4ac072be-0b06-/resourcegroups/e988ebf6-e8af-4dd/providers/Microsoft.Storage.Admin/farms/fd776c/shares/operationresults/817b3e32-f3"; + _requests[2238] = new DefaultHttpContext(); + _requests[2238].RequestServices = CreateServices(); + _requests[2238].Request.Method = "DELETE"; + _requests[2238].Request.Path = "/subscriptions/7f6e1bd9-c6c9-/resourceGroup/e81e3a8d-9276-4cb/providers/Microsoft.MachineLearningServices/workspaces/2a4e3708-9b35/computes/8ce42711-7f"; + _requests[2239] = new DefaultHttpContext(); + _requests[2239].RequestServices = CreateServices(); + _requests[2239].Request.Method = "PATCH"; + _requests[2239].Request.Path = "/subscriptions/2638106b-1d78-/resourceGroups/a4af4bc5-/providers/Microsoft.DataMigration/services/d8afbb01-ba/projects/0ea37efa-7a"; + _requests[2240] = new DefaultHttpContext(); + _requests[2240].RequestServices = CreateServices(); + _requests[2240].Request.Method = "DELETE"; + _requests[2240].Request.Path = "/subscriptions/d07784f4-88bf-/resourcegroups/188ffa96-f680/providers/Microsoft.AzureBridge.Admin/activations/db3c17b8-e4eb-/downloadedProducts/b3762caa-1f"; + _requests[2241] = new DefaultHttpContext(); + _requests[2241].RequestServices = CreateServices(); + _requests[2241].Request.Method = "GET"; + _requests[2241].Request.Path = "/subscriptions/4d224bd5-6422-/resourcegroups/7c1b626e-fecb/providers/Microsoft.AzureBridge.Admin/activations/f5e83074-2922-/products/0d0b7262-d9"; + _requests[2242] = new DefaultHttpContext(); + _requests[2242].RequestServices = CreateServices(); + _requests[2242].Request.Method = "PUT"; + _requests[2242].Request.Path = "/subscriptions/c4b549a8-8dac-/resourceGroups/ce2bcd97-85fa/providers/Microsoft.AzureStack/registrations/031331a5-f8e0-41/customerSubscriptions/c352bae5-c38d-4a84-b0c8-"; + _requests[2243] = new DefaultHttpContext(); + _requests[2243].RequestServices = CreateServices(); + _requests[2243].Request.Method = "GET"; + _requests[2243].Request.Path = "/subscriptions/cd9ce674-cc77-/resourceGroups/6e202d81-277c/providers/Microsoft.AzureStack/registrations/35501ecb-a832-49/products/1a7881c1-7f"; + _requests[2244] = new DefaultHttpContext(); + _requests[2244].RequestServices = CreateServices(); + _requests[2244].Request.Method = "DELETE"; + _requests[2244].Request.Path = "/subscriptions/514495cb-e7f2-/resourceGroups/b701f6a7-42a3-436/providers/Microsoft.ApiManagement/service/d2ffd5c2-96/apis/12a78"; + _requests[2245] = new DefaultHttpContext(); + _requests[2245].RequestServices = CreateServices(); + _requests[2245].Request.Method = "DELETE"; + _requests[2245].Request.Path = "/subscriptions/6fad412a-e76d-/resourceGroups/08765695-6d12-4a0/providers/Microsoft.ApiManagement/service/37fe1d87-41/api-version-sets/c87b0f23-ff1"; + _requests[2246] = new DefaultHttpContext(); + _requests[2246].RequestServices = CreateServices(); + _requests[2246].Request.Method = "DELETE"; + _requests[2246].Request.Path = "/subscriptions/9e1078d6-e27d-/resourceGroups/139aa9a6-c60b-46b/providers/Microsoft.ApiManagement/service/666e026f-20/authorizationServers/cdfd2a3"; + _requests[2247] = new DefaultHttpContext(); + _requests[2247].RequestServices = CreateServices(); + _requests[2247].Request.Method = "DELETE"; + _requests[2247].Request.Path = "/subscriptions/ce369e17-1c10-/resourceGroups/4e39002f-0517-4f7/providers/Microsoft.ApiManagement/service/45605001-a0/backends/c920ddc3-"; + _requests[2248] = new DefaultHttpContext(); + _requests[2248].RequestServices = CreateServices(); + _requests[2248].Request.Method = "DELETE"; + _requests[2248].Request.Path = "/subscriptions/1dcce671-28d0-/resourceGroups/1df09992-51db-4ca/providers/Microsoft.ApiManagement/service/d1ef35c5-50/certificates/ba198320-b385"; + _requests[2249] = new DefaultHttpContext(); + _requests[2249].RequestServices = CreateServices(); + _requests[2249].Request.Method = "DELETE"; + _requests[2249].Request.Path = "/subscriptions/223b077c-b098-/resourceGroups/4f41bc84-f038-488/providers/Microsoft.ApiManagement/service/ed11e076-c6/diagnostics/e25a5432-503"; + _requests[2250] = new DefaultHttpContext(); + _requests[2250].RequestServices = CreateServices(); + _requests[2250].Request.Method = "DELETE"; + _requests[2250].Request.Path = "/subscriptions/49580d92-20dd-/resourceGroups/10aa6fe4-0d55-460/providers/Microsoft.ApiManagement/service/b0cfdecd-d9/groups/de853ff"; + _requests[2251] = new DefaultHttpContext(); + _requests[2251].RequestServices = CreateServices(); + _requests[2251].Request.Method = "DELETE"; + _requests[2251].Request.Path = "/subscriptions/0bf442eb-4c03-/resourceGroups/8cfd8b95-846c-4cb/providers/Microsoft.ApiManagement/service/abd8d6a1-c6/identityProviders/9e0792a4-ed18-4175-8"; + _requests[2252] = new DefaultHttpContext(); + _requests[2252].RequestServices = CreateServices(); + _requests[2252].Request.Method = "DELETE"; + _requests[2252].Request.Path = "/subscriptions/32162419-0078-/resourceGroups/1a1c6180-56ee-425/providers/Microsoft.ApiManagement/service/9ce5d1ad-9f/loggers/a0c1f4b6"; + _requests[2253] = new DefaultHttpContext(); + _requests[2253].RequestServices = CreateServices(); + _requests[2253].Request.Method = "PUT"; + _requests[2253].Request.Path = "/subscriptions/2254ae15-134f-/resourceGroups/4291b3ae-6ec4-44c/providers/Microsoft.ApiManagement/service/cdd2d301-e4/notifications/6d715272-80c3-44"; + _requests[2254] = new DefaultHttpContext(); + _requests[2254].RequestServices = CreateServices(); + _requests[2254].Request.Method = "DELETE"; + _requests[2254].Request.Path = "/subscriptions/d21d537b-3cb0-/resourceGroups/4ca2bf27-fe0f-4f4/providers/Microsoft.ApiManagement/service/02350bba-c2/openidConnectProviders/cdaf5"; + _requests[2255] = new DefaultHttpContext(); + _requests[2255].RequestServices = CreateServices(); + _requests[2255].Request.Method = "DELETE"; + _requests[2255].Request.Path = "/subscriptions/f8945052-fb77-/resourceGroups/676ef230-7585-480/providers/Microsoft.ApiManagement/service/9bbb6298-6b/policies/3a2914c2"; + _requests[2256] = new DefaultHttpContext(); + _requests[2256].RequestServices = CreateServices(); + _requests[2256].Request.Method = "DELETE"; + _requests[2256].Request.Path = "/subscriptions/4243af05-ca85-/resourceGroups/43346355-703a-4ff/providers/Microsoft.ApiManagement/service/e14f7bef-2c/products/e8594cab-"; + _requests[2257] = new DefaultHttpContext(); + _requests[2257].RequestServices = CreateServices(); + _requests[2257].Request.Method = "DELETE"; + _requests[2257].Request.Path = "/subscriptions/93eeb554-0773-/resourceGroups/28e10f14-6706-433/providers/Microsoft.ApiManagement/service/0ad89691-1d/properties/602089"; + _requests[2258] = new DefaultHttpContext(); + _requests[2258].RequestServices = CreateServices(); + _requests[2258].Request.Method = "PATCH"; + _requests[2258].Request.Path = "/subscriptions/73e44278-e4d2-/resourceGroups/00708e62-0298-4a7/providers/Microsoft.ApiManagement/service/3b413d0f-38/quotas/888ce569-941f-4"; + _requests[2259] = new DefaultHttpContext(); + _requests[2259].RequestServices = CreateServices(); + _requests[2259].Request.Method = "GET"; + _requests[2259].Request.Path = "/subscriptions/649f660f-b7f7-/resourceGroups/0b3e0993-9309-4f5/providers/Microsoft.ApiManagement/service/fe241494-b8/reports/c292fb2c-8b"; + _requests[2260] = new DefaultHttpContext(); + _requests[2260].RequestServices = CreateServices(); + _requests[2260].Request.Method = "DELETE"; + _requests[2260].Request.Path = "/subscriptions/f6f666c2-7c5d-/resourceGroups/12616e41-de6c-456/providers/Microsoft.ApiManagement/service/b8de0096-8c/subscriptions/92abd"; + _requests[2261] = new DefaultHttpContext(); + _requests[2261].RequestServices = CreateServices(); + _requests[2261].Request.Method = "DELETE"; + _requests[2261].Request.Path = "/subscriptions/f3a94596-5b6e-/resourceGroups/05a599fa-d8a2-42b/providers/Microsoft.ApiManagement/service/c1c523e2-d8/tags/72071"; + _requests[2262] = new DefaultHttpContext(); + _requests[2262].RequestServices = CreateServices(); + _requests[2262].Request.Method = "DELETE"; + _requests[2262].Request.Path = "/subscriptions/f642c54b-f61a-/resourceGroups/082bae98-54ad-4bd/providers/Microsoft.ApiManagement/service/19be2e50-9f/templates/0a19f249-a9c"; + _requests[2263] = new DefaultHttpContext(); + _requests[2263].RequestServices = CreateServices(); + _requests[2263].Request.Method = "PATCH"; + _requests[2263].Request.Path = "/subscriptions/e581e6b0-10a4-/resourceGroups/fcaa7125-95bf-481/providers/Microsoft.ApiManagement/service/49ec983a-55/tenant/8f402d99-0"; + _requests[2264] = new DefaultHttpContext(); + _requests[2264].RequestServices = CreateServices(); + _requests[2264].Request.Method = "DELETE"; + _requests[2264].Request.Path = "/subscriptions/c3c4849e-fa20-/resourceGroups/39d370b7-2368-431/providers/Microsoft.ApiManagement/service/72342ae5-84/users/702a6"; + _requests[2265] = new DefaultHttpContext(); + _requests[2265].RequestServices = CreateServices(); + _requests[2265].Request.Method = "PATCH"; + _requests[2265].Request.Path = "/subscriptions/345662f7-ef80-/resourceGroups/807c07f7-2d73-40b/providers/Microsoft.Automation/automationAccounts/7a4b7141-d700-4017-82/certificates/f6c51a0b-62c4-4"; + _requests[2266] = new DefaultHttpContext(); + _requests[2266].RequestServices = CreateServices(); + _requests[2266].Request.Method = "GET"; + _requests[2266].Request.Path = "/subscriptions/cff4aca5-7adf-/resourceGroups/7b44ecf1-24e9-48f/providers/Microsoft.Automation/automationAccounts/e6fc0e25-3ec8-4d46-a0/compilationjobs/707bb467-4b28-4e2e"; + _requests[2267] = new DefaultHttpContext(); + _requests[2267].RequestServices = CreateServices(); + _requests[2267].Request.Method = "PATCH"; + _requests[2267].Request.Path = "/subscriptions/2ff752b3-2f7b-/resourceGroups/9123f209-fe86-423/providers/Microsoft.Automation/automationAccounts/1bbd7c82-a57d-4ed3-be/configurations/79c69d9c-377c-4e3"; + _requests[2268] = new DefaultHttpContext(); + _requests[2268].RequestServices = CreateServices(); + _requests[2268].Request.Method = "PATCH"; + _requests[2268].Request.Path = "/subscriptions/f09ae139-31c2-/resourceGroups/fff4f9ee-ad9f-40b/providers/Microsoft.Automation/automationAccounts/5b9d036a-13b8-4ca1-a3/connections/7747da7d-daf8-"; + _requests[2269] = new DefaultHttpContext(); + _requests[2269].RequestServices = CreateServices(); + _requests[2269].Request.Method = "PUT"; + _requests[2269].Request.Path = "/subscriptions/f67681d3-0186-/resourceGroups/32f8ad0c-ac95-4e9/providers/Microsoft.Automation/automationAccounts/06780393-1c48-4215-ac/connectionTypes/2487e7f5-7896-42d2"; + _requests[2270] = new DefaultHttpContext(); + _requests[2270].RequestServices = CreateServices(); + _requests[2270].Request.Method = "PATCH"; + _requests[2270].Request.Path = "/subscriptions/f29a821f-0510-/resourceGroups/15ac1d3e-a969-4b9/providers/Microsoft.Automation/automationAccounts/bd4a9f4d-ee29-4fe7-80/credentials/aa92ceaa-b2a0-"; + _requests[2271] = new DefaultHttpContext(); + _requests[2271].RequestServices = CreateServices(); + _requests[2271].Request.Method = "PATCH"; + _requests[2271].Request.Path = "/subscriptions/25df9efd-513f-/resourceGroups/19e57fc0-1a57-4d7/providers/Microsoft.Automation/automationAccounts/ce9e5731-3ea9-4a6c-95/hybridRunbookWorkerGroups/7a97ff7b-d07a-4763-814f-f53c"; + _requests[2272] = new DefaultHttpContext(); + _requests[2272].RequestServices = CreateServices(); + _requests[2272].Request.Method = "PUT"; + _requests[2272].Request.Path = "/subscriptions/c0556e94-eb70-/resourceGroups/98571a72-9cde-444/providers/Microsoft.Automation/automationAccounts/0d07870b-f41d-4fad-8c/jobs/b28f4"; + _requests[2273] = new DefaultHttpContext(); + _requests[2273].RequestServices = CreateServices(); + _requests[2273].Request.Method = "PUT"; + _requests[2273].Request.Path = "/subscriptions/8a32c406-1c63-/resourceGroups/7e480bf6-98f8-4f7/providers/Microsoft.Automation/automationAccounts/79fa9ab0-5fc2-4caf-85/jobSchedules/10b99f2d-5ad4"; + _requests[2274] = new DefaultHttpContext(); + _requests[2274].RequestServices = CreateServices(); + _requests[2274].Request.Method = "PATCH"; + _requests[2274].Request.Path = "/subscriptions/d2eb0c61-b720-/resourceGroups/d893cdbc-233b-423/providers/Microsoft.Automation/automationAccounts/636a2e03-4145-4b64-94/modules/9ab14285-a"; + _requests[2275] = new DefaultHttpContext(); + _requests[2275].RequestServices = CreateServices(); + _requests[2275].Request.Method = "PUT"; + _requests[2275].Request.Path = "/subscriptions/4e365c7d-7cab-/resourceGroups/526a40af-31bc-41f/providers/Microsoft.Automation/automationAccounts/fedd2abf-dac5-4d1e-9f/nodeConfigurations/d94e31ac-e289-4fd3-82"; + _requests[2276] = new DefaultHttpContext(); + _requests[2276].RequestServices = CreateServices(); + _requests[2276].Request.Method = "GET"; + _requests[2276].Request.Path = "/subscriptions/5bd22594-5658-/resourceGroups/41e04111-9bff-4b5/providers/Microsoft.Automation/automationAccounts/164621d4-0237-48ea-a7/nodecounts/4d9361e9-"; + _requests[2277] = new DefaultHttpContext(); + _requests[2277].RequestServices = CreateServices(); + _requests[2277].Request.Method = "PATCH"; + _requests[2277].Request.Path = "/subscriptions/83c8582a-8f39-/resourceGroups/3b54c6e6-3591-4e5/providers/Microsoft.Automation/automationAccounts/55bfba79-a221-4902-b9/nodes/a3ef0d"; + _requests[2278] = new DefaultHttpContext(); + _requests[2278].RequestServices = CreateServices(); + _requests[2278].Request.Method = "DELETE"; + _requests[2278].Request.Path = "/subscriptions/e9e95b14-07f5-/resourceGroups/504e71bd-cb63-4b3/providers/Microsoft.Automation/automationAccounts/654fd95a-4c55-4f46-a5/runbooks/585789ec-be"; + _requests[2279] = new DefaultHttpContext(); + _requests[2279].RequestServices = CreateServices(); + _requests[2279].Request.Method = "DELETE"; + _requests[2279].Request.Path = "/subscriptions/3bedf388-6e33-/resourceGroups/8c407693-9ceb-4f7/providers/Microsoft.Automation/automationAccounts/0edebe2e-60d5-432a-9a/schedules/c9212659-1bf"; + _requests[2280] = new DefaultHttpContext(); + _requests[2280].RequestServices = CreateServices(); + _requests[2280].Request.Method = "GET"; + _requests[2280].Request.Path = "/subscriptions/3da069c4-2189-/resourceGroups/cd545fee-50b4-49d/providers/Microsoft.Automation/automationAccounts/f233a9ee-42c0-457c-81/softwareUpdateConfigurationMachineRuns/a3345645-5be2-4dac-b44e-8fcb9be2fa50"; + _requests[2281] = new DefaultHttpContext(); + _requests[2281].RequestServices = CreateServices(); + _requests[2281].Request.Method = "GET"; + _requests[2281].Request.Path = "/subscriptions/a6957a4b-7eb7-/resourceGroups/ef6d8ac5-2470-4e5/providers/Microsoft.Automation/automationAccounts/4827e900-c705-4959-a8/softwareUpdateConfigurationRuns/6af47c09-5b2b-4b00-a216-0a361ea3"; + _requests[2282] = new DefaultHttpContext(); + _requests[2282].RequestServices = CreateServices(); + _requests[2282].Request.Method = "DELETE"; + _requests[2282].Request.Path = "/subscriptions/de332ca0-305a-/resourceGroups/5c3d4434-9953-453/providers/Microsoft.Automation/automationAccounts/6aef4397-990f-4252-98/softwareUpdateConfigurations/48fdb3b2-767a-4eba-b77a-da7e41c"; + _requests[2283] = new DefaultHttpContext(); + _requests[2283].RequestServices = CreateServices(); + _requests[2283].Request.Method = "GET"; + _requests[2283].Request.Path = "/subscriptions/f6cbc1c5-0b1b-/resourceGroups/f37d34cc-d103-47d/providers/Microsoft.Automation/automationAccounts/613ca7d2-b9ec-42d3-88/sourceControls/61f6f3cb-5ce4-4a7"; + _requests[2284] = new DefaultHttpContext(); + _requests[2284].RequestServices = CreateServices(); + _requests[2284].Request.Method = "GET"; + _requests[2284].Request.Path = "/subscriptions/d0e6126a-d064-/resourceGroups/d6fd1afa-def0-4a2/providers/Microsoft.Automation/automationAccounts/ca33dd2d-ce3b-4ef8-88/variables/5f0ad2c2-823"; + _requests[2285] = new DefaultHttpContext(); + _requests[2285].RequestServices = CreateServices(); + _requests[2285].Request.Method = "DELETE"; + _requests[2285].Request.Path = "/subscriptions/c4f52e74-5560-/resourceGroups/8396cd66-0bdb-42b/providers/Microsoft.Automation/automationAccounts/4c262bc4-8b0d-4f2f-81/watchers/81b184a7-e6"; + _requests[2286] = new DefaultHttpContext(); + _requests[2286].RequestServices = CreateServices(); + _requests[2286].Request.Method = "PATCH"; + _requests[2286].Request.Path = "/subscriptions/7785cc61-164e-/resourceGroups/78452aa8-1501-4de/providers/Microsoft.Automation/automationAccounts/c5fcffd4-73a3-48b4-85/webhooks/0295f8f1-1c"; + _requests[2287] = new DefaultHttpContext(); + _requests[2287].RequestServices = CreateServices(); + _requests[2287].Request.Method = "GET"; + _requests[2287].Request.Path = "/subscriptions/93678f01-9a57-/resourcegroups/4435aef2-352e-463/providers/Microsoft.Backup.Admin/backupLocations/7d28aabf/backups/9d5f73"; + _requests[2288] = new DefaultHttpContext(); + _requests[2288].RequestServices = CreateServices(); + _requests[2288].Request.Method = "PATCH"; + _requests[2288].Request.Path = "/subscriptions/07e7dfbc-4c90-/resourceGroups/81289643-5a85-439/providers/Microsoft.Batch/batchAccounts/73c84e09-61/applications/eba69074-2614"; + _requests[2289] = new DefaultHttpContext(); + _requests[2289].RequestServices = CreateServices(); + _requests[2289].Request.Method = "GET"; + _requests[2289].Request.Path = "/subscriptions/863bb491-fa7e-/resourceGroups/cfa4b713-8f81-402/providers/Microsoft.Batch/batchAccounts/305f990c-70/certificates/97e9752d-bd00-4"; + _requests[2290] = new DefaultHttpContext(); + _requests[2290].RequestServices = CreateServices(); + _requests[2290].Request.Method = "GET"; + _requests[2290].Request.Path = "/subscriptions/9d9115f7-a979-/resourceGroups/858145b4-c6aa-4e6/providers/Microsoft.Batch/batchAccounts/c59db6a3-ab/pools/dd8029f4"; + _requests[2291] = new DefaultHttpContext(); + _requests[2291].RequestServices = CreateServices(); + _requests[2291].Request.Method = "GET"; + _requests[2291].Request.Path = "/subscriptions/b9980ab7-9510-/resourceGroups/02f55dc3-9f70-48c/providers/Microsoft.BatchAI/workspaces/186c0eeb-3d4d/clusters/4970898e-9f"; + _requests[2292] = new DefaultHttpContext(); + _requests[2292].RequestServices = CreateServices(); + _requests[2292].Request.Method = "GET"; + _requests[2292].Request.Path = "/subscriptions/c00f48c0-cd3f-/resourceGroups/517a8254-bb11-4b0/providers/Microsoft.BatchAI/workspaces/75f8e0f5-b3eb/experiments/b592d298-62cf-"; + _requests[2293] = new DefaultHttpContext(); + _requests[2293].RequestServices = CreateServices(); + _requests[2293].Request.Method = "GET"; + _requests[2293].Request.Path = "/subscriptions/a15bb8da-85a5-/resourceGroups/4b8759c5-176a-4d3/providers/Microsoft.BatchAI/workspaces/68504f56-5242/fileServers/f04e77d7-c8d4-"; + _requests[2294] = new DefaultHttpContext(); + _requests[2294].RequestServices = CreateServices(); + _requests[2294].Request.Method = "GET"; + _requests[2294].Request.Path = "/subscriptions/178d04fc-191b-/resourceGroups/2a1c92b7-3f83-445/providers/Microsoft.BotService/botServices/00ba84e4-508/channels/2c44f2fd-25"; + _requests[2295] = new DefaultHttpContext(); + _requests[2295].RequestServices = CreateServices(); + _requests[2295].Request.Method = "DELETE"; + _requests[2295].Request.Path = "/subscriptions/1013e59f-6472-/resourceGroups/490d07d2-cfb5-404/providers/Microsoft.BotService/botServices/66dd6d10-e34/Connections/49a0eff4-ef7f-"; + _requests[2296] = new DefaultHttpContext(); + _requests[2296].RequestServices = CreateServices(); + _requests[2296].Request.Method = "DELETE"; + _requests[2296].Request.Path = "/subscriptions/20ea7d4b-c7f3-/resourceGroups/403eeb62-8254-4fd/providers/Microsoft.Cache/Redis/00a1a2cb-/firewallRules/27e8cbee"; + _requests[2297] = new DefaultHttpContext(); + _requests[2297].RequestServices = CreateServices(); + _requests[2297].Request.Method = "GET"; + _requests[2297].Request.Path = "/subscriptions/a578bb0f-06cd-/resourceGroups/38436a0a-66f8-41e/providers/Microsoft.Cache/Redis/3ebf6/linkedServers/a9418f0b-5f2a-47"; + _requests[2298] = new DefaultHttpContext(); + _requests[2298].RequestServices = CreateServices(); + _requests[2298].Request.Method = "GET"; + _requests[2298].Request.Path = "/subscriptions/1376c163-e819-/resourceGroups/5a9b8cfd-fe79-46e/providers/Microsoft.Cache/Redis/1dc79/patchSchedules/11116d3"; + _requests[2299] = new DefaultHttpContext(); + _requests[2299].RequestServices = CreateServices(); + _requests[2299].Request.Method = "DELETE"; + _requests[2299].Request.Path = "/subscriptions/0d0f8878-aee8-/resourceGroups/7e55fc21-aa37-4b1/providers/Microsoft.Cdn/profiles/ed25291d-7d/endpoints/a770dd9f-ea3"; + _requests[2300] = new DefaultHttpContext(); + _requests[2300].RequestServices = CreateServices(); + _requests[2300].Request.Method = "PATCH"; + _requests[2300].Request.Path = "/subscriptions/49933aeb-3d3b-/resourceGroups/066e9977-e30b-47f/providers/Microsoft.CertificateRegistration/certificateOrders/688d88cc-bed1-4fb9-b/certificates/85f50"; + _requests[2301] = new DefaultHttpContext(); + _requests[2301].RequestServices = CreateServices(); + _requests[2301].Request.Method = "DELETE"; + _requests[2301].Request.Path = "/subscriptions/d6c6451e-c11f-/resourceGroups/7dd4cbe1-5716-4c6/providers/Microsoft.Compute/galleries/97384e84-88/images/640ae678-cb76-49"; + _requests[2302] = new DefaultHttpContext(); + _requests[2302].RequestServices = CreateServices(); + _requests[2302].Request.Method = "GET"; + _requests[2302].Request.Path = "/subscriptions/30a9a0ac-18f2-/resourceGroups/8da28de7-a4db-4d2/providers/Microsoft.Compute/virtualMachines/bef596/extensions/98bddfe5-14e3-4"; + _requests[2303] = new DefaultHttpContext(); + _requests[2303].RequestServices = CreateServices(); + _requests[2303].Request.Method = "GET"; + _requests[2303].Request.Path = "/subscriptions/3ecf5c55-a325-/resourceGroups/b558bfe1-53f2-4e1/providers/Microsoft.Compute/virtualMachineScaleSets/0e70994c-0bbb-/extensions/19e21dcd-e528-4cd"; + _requests[2304] = new DefaultHttpContext(); + _requests[2304].RequestServices = CreateServices(); + _requests[2304].Request.Method = "GET"; + _requests[2304].Request.Path = "/subscriptions/50a26639-1e9d-/resourceGroups/6e6334a2-ef50-4af/providers/Microsoft.Compute/virtualMachineScaleSets/0a5277ca-f34d-/virtualmachines/849aa54b-0"; + _requests[2305] = new DefaultHttpContext(); + _requests[2305].RequestServices = CreateServices(); + _requests[2305].Request.Method = "PATCH"; + _requests[2305].Request.Path = "/subscriptions/42fe8995-00a7-/resourceGroups/9924e82e-fda1-4d5/providers/Microsoft.ContainerRegistry/registries/9f1b5a81-f11/builds/523871b"; + _requests[2306] = new DefaultHttpContext(); + _requests[2306].RequestServices = CreateServices(); + _requests[2306].Request.Method = "PATCH"; + _requests[2306].Request.Path = "/subscriptions/bdd2f145-1558-/resourceGroups/bc3f2bf3-7370-440/providers/Microsoft.ContainerRegistry/registries/6493e194-6e0/buildTasks/d4225527-6669"; + _requests[2307] = new DefaultHttpContext(); + _requests[2307].RequestServices = CreateServices(); + _requests[2307].Request.Method = "PATCH"; + _requests[2307].Request.Path = "/subscriptions/8d6d13d9-6f51-/resourceGroups/23116c3a-67da-4f3/providers/Microsoft.ContainerRegistry/registries/18f7d059-849/replications/b38373b0-8b9b-4"; + _requests[2308] = new DefaultHttpContext(); + _requests[2308].RequestServices = CreateServices(); + _requests[2308].Request.Method = "PATCH"; + _requests[2308].Request.Path = "/subscriptions/e72e7f57-3206-/resourceGroups/da71c96e-922a-400/providers/Microsoft.ContainerRegistry/registries/034f7ff4-33c/webhooks/4b2a8fa5-b8"; + _requests[2309] = new DefaultHttpContext(); + _requests[2309].RequestServices = CreateServices(); + _requests[2309].Request.Method = "GET"; + _requests[2309].Request.Path = "/subscriptions/365b7957-3345-/resourceGroups/e8eaee3f-c670-4cc/providers/Microsoft.ContainerService/managedClusters/77792236-ac3/accessProfiles/b3558c36"; + _requests[2310] = new DefaultHttpContext(); + _requests[2310].RequestServices = CreateServices(); + _requests[2310].Request.Method = "GET"; + _requests[2310].Request.Path = "/subscriptions/70eca8ae-e7c4-/resourceGroups/602fa126-7c50-434/providers/Microsoft.CustomerInsights/hubs/d7ecde0/authorizationPolicies/f9d37fdd-22fc-4c63-be41"; + _requests[2311] = new DefaultHttpContext(); + _requests[2311].RequestServices = CreateServices(); + _requests[2311].Request.Method = "DELETE"; + _requests[2311].Request.Path = "/subscriptions/2570359f-5ef6-/resourceGroups/2a76ce51-8704-467/providers/Microsoft.CustomerInsights/hubs/2f43778/connectors/be9e574b-07aa"; + _requests[2312] = new DefaultHttpContext(); + _requests[2312].RequestServices = CreateServices(); + _requests[2312].Request.Method = "GET"; + _requests[2312].Request.Path = "/subscriptions/9c28af5f-6dd6-/resourceGroups/c2470aa4-8529-4e6/providers/Microsoft.CustomerInsights/hubs/1d10030/interactions/b342eb1a-972f-4"; + _requests[2313] = new DefaultHttpContext(); + _requests[2313].RequestServices = CreateServices(); + _requests[2313].Request.Method = "DELETE"; + _requests[2313].Request.Path = "/subscriptions/2f4b3f1b-a1d2-/resourceGroups/2a6858aa-5cd3-4da/providers/Microsoft.CustomerInsights/hubs/d7cefc2/kpi/21b29ce"; + _requests[2314] = new DefaultHttpContext(); + _requests[2314].RequestServices = CreateServices(); + _requests[2314].Request.Method = "DELETE"; + _requests[2314].Request.Path = "/subscriptions/2bd3fed1-32c9-/resourceGroups/970e0d2e-8a19-411/providers/Microsoft.CustomerInsights/hubs/ace26bc/links/cb9ca73d"; + _requests[2315] = new DefaultHttpContext(); + _requests[2315].RequestServices = CreateServices(); + _requests[2315].Request.Method = "DELETE"; + _requests[2315].Request.Path = "/subscriptions/18dc3306-a4de-/resourceGroups/b2d0d479-d8a3-475/providers/Microsoft.CustomerInsights/hubs/6b0ae1e/predictions/39ce3e83-78e3-"; + _requests[2316] = new DefaultHttpContext(); + _requests[2316].RequestServices = CreateServices(); + _requests[2316].Request.Method = "DELETE"; + _requests[2316].Request.Path = "/subscriptions/a11e7235-cb1c-/resourceGroups/ee943441-a113-412/providers/Microsoft.CustomerInsights/hubs/04c8dd5/profiles/6f22422d-bd"; + _requests[2317] = new DefaultHttpContext(); + _requests[2317].RequestServices = CreateServices(); + _requests[2317].Request.Method = "DELETE"; + _requests[2317].Request.Path = "/subscriptions/f319b39f-e1b3-/resourceGroups/d1f21f42-f3fe-477/providers/Microsoft.CustomerInsights/hubs/05b5d59/relationshipLinks/e6bb6198-2f7f-41dc-a"; + _requests[2318] = new DefaultHttpContext(); + _requests[2318].RequestServices = CreateServices(); + _requests[2318].Request.Method = "DELETE"; + _requests[2318].Request.Path = "/subscriptions/08311e05-e775-/resourceGroups/27d8312c-9a70-40f/providers/Microsoft.CustomerInsights/hubs/53ee8d3/relationships/0a0930e6-2e33-42"; + _requests[2319] = new DefaultHttpContext(); + _requests[2319].RequestServices = CreateServices(); + _requests[2319].Request.Method = "DELETE"; + _requests[2319].Request.Path = "/subscriptions/f5f8efdb-0776-/resourceGroups/543bea93-e616-47a/providers/Microsoft.CustomerInsights/hubs/0a72de8/roleAssignments/7e932fd0-53c4-"; + _requests[2320] = new DefaultHttpContext(); + _requests[2320].RequestServices = CreateServices(); + _requests[2320].Request.Method = "DELETE"; + _requests[2320].Request.Path = "/subscriptions/dd397b7e-782c-/resourceGroups/d3790c19-dd48-416/providers/Microsoft.CustomerInsights/hubs/4ec8a50/views/e0c9248b"; + _requests[2321] = new DefaultHttpContext(); + _requests[2321].RequestServices = CreateServices(); + _requests[2321].Request.Method = "GET"; + _requests[2321].Request.Path = "/subscriptions/4f16afe6-5d68-/resourceGroups/bdb2fddf-02b4-405/providers/Microsoft.CustomerInsights/hubs/25b8e85/widgetTypes/365ed6d0-f37b-"; + _requests[2322] = new DefaultHttpContext(); + _requests[2322].RequestServices = CreateServices(); + _requests[2322].Request.Method = "POST"; + _requests[2322].Request.Path = "/subscriptions/f3cd2c72-c728-/resourceGroups/3dff966a-542b-4e6/providers/Microsoft.DataFactory/factories/0f04d98e-6b/cancelpipelinerun/1a5b0"; + _requests[2323] = new DefaultHttpContext(); + _requests[2323].RequestServices = CreateServices(); + _requests[2323].Request.Method = "DELETE"; + _requests[2323].Request.Path = "/subscriptions/302e1c78-a8a8-/resourceGroups/7dfb9683-d4f1-440/providers/Microsoft.DataFactory/factories/36202344-8d/datasets/27e02c1b-21"; + _requests[2324] = new DefaultHttpContext(); + _requests[2324].RequestServices = CreateServices(); + _requests[2324].Request.Method = "DELETE"; + _requests[2324].Request.Path = "/subscriptions/f9d56e42-f3f2-/resourceGroups/9339213e-f71b-47f/providers/Microsoft.DataFactory/factories/a4e6c20a-06/integrationRuntimes/69fe69d4-155a-4e5c-b64"; + _requests[2325] = new DefaultHttpContext(); + _requests[2325].RequestServices = CreateServices(); + _requests[2325].Request.Method = "DELETE"; + _requests[2325].Request.Path = "/subscriptions/dfb49601-dfc1-/resourceGroups/b1d48eab-06ab-4bd/providers/Microsoft.DataFactory/factories/2202b95a-d1/linkedservices/98593dcb-15ac-408"; + _requests[2326] = new DefaultHttpContext(); + _requests[2326].RequestServices = CreateServices(); + _requests[2326].Request.Method = "GET"; + _requests[2326].Request.Path = "/subscriptions/556947ae-55f4-/resourceGroups/d408edbd-d9d2-4b9/providers/Microsoft.DataFactory/factories/429f3b54-ae/pipelineruns/44f49"; + _requests[2327] = new DefaultHttpContext(); + _requests[2327].RequestServices = CreateServices(); + _requests[2327].Request.Method = "DELETE"; + _requests[2327].Request.Path = "/subscriptions/2adf2f76-b589-/resourceGroups/def7ee37-a332-4d0/providers/Microsoft.DataFactory/factories/5353c460-e0/pipelines/60cb0e35-260"; + _requests[2328] = new DefaultHttpContext(); + _requests[2328].RequestServices = CreateServices(); + _requests[2328].Request.Method = "DELETE"; + _requests[2328].Request.Path = "/subscriptions/55f1fda5-b64c-/resourceGroups/67c3b277-c005-41a/providers/Microsoft.DataFactory/factories/d589370a-a8/triggers/912beaf8-03"; + _requests[2329] = new DefaultHttpContext(); + _requests[2329].RequestServices = CreateServices(); + _requests[2329].Request.Method = "DELETE"; + _requests[2329].Request.Path = "/subscriptions/27695180-b048-/resourceGroups/3971d700-e894-4f3/providers/Microsoft.DataLakeAnalytics/accounts/faf17395-da/computePolicies/c0626ee8-e4ec-4b0"; + _requests[2330] = new DefaultHttpContext(); + _requests[2330].RequestServices = CreateServices(); + _requests[2330].Request.Method = "DELETE"; + _requests[2330].Request.Path = "/subscriptions/600f08d7-11c2-/resourceGroups/732c1179-3579-45c/providers/Microsoft.DataLakeAnalytics/accounts/d3b54530-a8/dataLakeStoreAccounts/c25d4222-4152-434d-9092-"; + _requests[2331] = new DefaultHttpContext(); + _requests[2331].RequestServices = CreateServices(); + _requests[2331].Request.Method = "DELETE"; + _requests[2331].Request.Path = "/subscriptions/41104be3-95f7-/resourceGroups/dbc10998-9dba-420/providers/Microsoft.DataLakeAnalytics/accounts/c9de945f-4f/firewallRules/5b1e0191-2a2e-4a"; + _requests[2332] = new DefaultHttpContext(); + _requests[2332].RequestServices = CreateServices(); + _requests[2332].Request.Method = "DELETE"; + _requests[2332].Request.Path = "/subscriptions/9fc567a0-5c4e-/resourceGroups/efd54ee7-106d-482/providers/Microsoft.DataLakeAnalytics/accounts/6c6f90eb-d6/storageAccounts/fb8a0330-5600-46d6"; + _requests[2333] = new DefaultHttpContext(); + _requests[2333].RequestServices = CreateServices(); + _requests[2333].Request.Method = "DELETE"; + _requests[2333].Request.Path = "/subscriptions/80681fd1-d67c-/resourceGroups/ed71e12b-719c-4ff/providers/Microsoft.DataLakeStore/accounts/90e96c92-79/firewallRules/3625dd35-7243-4c"; + _requests[2334] = new DefaultHttpContext(); + _requests[2334].RequestServices = CreateServices(); + _requests[2334].Request.Method = "DELETE"; + _requests[2334].Request.Path = "/subscriptions/0ccee45d-7824-/resourceGroups/ff8a3bd1-5b39-454/providers/Microsoft.DataLakeStore/accounts/dcb16f43-ad/trustedIdProviders/e5694c37-469f-45b1-9d"; + _requests[2335] = new DefaultHttpContext(); + _requests[2335].RequestServices = CreateServices(); + _requests[2335].Request.Method = "DELETE"; + _requests[2335].Request.Path = "/subscriptions/41e05e5e-321d-/resourceGroups/c664f0a5-38de-4d6/providers/Microsoft.DataLakeStore/accounts/d31b04b7-27/virtualNetworkRules/eb044754-89ea-433c-920"; + _requests[2336] = new DefaultHttpContext(); + _requests[2336].RequestServices = CreateServices(); + _requests[2336].Request.Method = "GET"; + _requests[2336].Request.Path = "/subscriptions/996b338e-f27e-/resourceGroups/0293ba9e-570d-418/providers/Microsoft.DBforMySQL/servers/c4249b9f-4/configurations/bc748339-c316-468"; + _requests[2337] = new DefaultHttpContext(); + _requests[2337].RequestServices = CreateServices(); + _requests[2337].Request.Method = "GET"; + _requests[2337].Request.Path = "/subscriptions/a308a405-0ccc-/resourceGroups/faedfa64-2470-47a/providers/Microsoft.DBforMySQL/servers/bf3fe3fc-9/databases/5c4c7e32-271"; + _requests[2338] = new DefaultHttpContext(); + _requests[2338].RequestServices = CreateServices(); + _requests[2338].Request.Method = "GET"; + _requests[2338].Request.Path = "/subscriptions/3502194f-97fb-/resourceGroups/8949c640-f2b1-448/providers/Microsoft.DBforMySQL/servers/010b1fb8-5/firewallRules/523cc9c4-26fa-41"; + _requests[2339] = new DefaultHttpContext(); + _requests[2339].RequestServices = CreateServices(); + _requests[2339].Request.Method = "DELETE"; + _requests[2339].Request.Path = "/subscriptions/debef3a6-ff3a-/resourceGroups/a7ebc8bc-f1d2-4bd/providers/Microsoft.DBforMySQL/servers/6b5a465b-5/virtualNetworkRules/d47e6186-a52d-43e9-b74"; + _requests[2340] = new DefaultHttpContext(); + _requests[2340].RequestServices = CreateServices(); + _requests[2340].Request.Method = "GET"; + _requests[2340].Request.Path = "/subscriptions/eaf1324d-ab0a-/resourceGroups/179d7395-925b-4fe/providers/Microsoft.DBforPostgreSQL/servers/50246d31-3/configurations/88f80bf0-9d7a-4d0"; + _requests[2341] = new DefaultHttpContext(); + _requests[2341].RequestServices = CreateServices(); + _requests[2341].Request.Method = "GET"; + _requests[2341].Request.Path = "/subscriptions/d598c0ac-8cc8-/resourceGroups/c4c69cc2-b184-427/providers/Microsoft.DBforPostgreSQL/servers/02c91d6f-7/databases/ed881f37-74e"; + _requests[2342] = new DefaultHttpContext(); + _requests[2342].RequestServices = CreateServices(); + _requests[2342].Request.Method = "GET"; + _requests[2342].Request.Path = "/subscriptions/6d11c7a3-4673-/resourceGroups/a0223f60-8140-4da/providers/Microsoft.DBforPostgreSQL/servers/37412ca3-3/firewallRules/3816a724-8c13-4c"; + _requests[2343] = new DefaultHttpContext(); + _requests[2343].RequestServices = CreateServices(); + _requests[2343].Request.Method = "PUT"; + _requests[2343].Request.Path = "/subscriptions/b74d502f-a97d-/resourceGroups/b28ce222-7807-434/providers/Microsoft.DBforPostgreSQL/servers/a5670d28-4/securityAlertPolicies/d1b00995-2a63-40e2-a6d9"; + _requests[2344] = new DefaultHttpContext(); + _requests[2344].RequestServices = CreateServices(); + _requests[2344].Request.Method = "DELETE"; + _requests[2344].Request.Path = "/subscriptions/494f1ea3-c24e-/resourceGroups/73f25cd2-83b7-40a/providers/Microsoft.DBforPostgreSQL/servers/9c849adc-1/virtualNetworkRules/dda99a7d-e671-412b-aa8"; + _requests[2345] = new DefaultHttpContext(); + _requests[2345].RequestServices = CreateServices(); + _requests[2345].Request.Method = "DELETE"; + _requests[2345].Request.Path = "/subscriptions/b1c02d08-9def-/resourceGroups/83841cff-dee4-4ba/providers/Microsoft.Devices/IotHubs/26bdbc65-5b0/certificates/b3d498b9-6742-4"; + _requests[2346] = new DefaultHttpContext(); + _requests[2346].RequestServices = CreateServices(); + _requests[2346].Request.Method = "GET"; + _requests[2346].Request.Path = "/subscriptions/7457c15c-2b14-/resourceGroups/a6ede4f1-2b41-484/providers/Microsoft.Devices/IotHubs/530e5b9f-dae/jobs/f4cc0"; + _requests[2347] = new DefaultHttpContext(); + _requests[2347].RequestServices = CreateServices(); + _requests[2347].Request.Method = "DELETE"; + _requests[2347].Request.Path = "/subscriptions/76ae6866-7e72-/resourceGroups/f54a3785-5474-4a5/providers/Microsoft.Devices/provisioningServices/eab959b1-6efa-4019-9027/certificates/c0b7f489-eb6a-4"; + _requests[2348] = new DefaultHttpContext(); + _requests[2348].RequestServices = CreateServices(); + _requests[2348].Request.Method = "GET"; + _requests[2348].Request.Path = "/subscriptions/696a5d06-2409-/resourceGroups/485d993a-342f-44d/providers/Microsoft.Devices/provisioningServices/c5ff500a-ca0a-414c-810f/operationresults/1371ef18-d4"; + _requests[2349] = new DefaultHttpContext(); + _requests[2349].RequestServices = CreateServices(); + _requests[2349].Request.Method = "PATCH"; + _requests[2349].Request.Path = "/subscriptions/807fbcff-56fc-/resourceGroups/0871f49c-ad4b-466/providers/Microsoft.DevTestLab/labs/3d666e9/artifactsources/645fc"; + _requests[2350] = new DefaultHttpContext(); + _requests[2350].RequestServices = CreateServices(); + _requests[2350].Request.Method = "GET"; + _requests[2350].Request.Path = "/subscriptions/058c3244-38fd-/resourceGroups/7e01ad4c-c5af-48a/providers/Microsoft.DevTestLab/labs/4512648/costinsights/8eb34"; + _requests[2351] = new DefaultHttpContext(); + _requests[2351].RequestServices = CreateServices(); + _requests[2351].Request.Method = "PUT"; + _requests[2351].Request.Path = "/subscriptions/894dfac4-b69a-/resourceGroups/3caf0167-860c-486/providers/Microsoft.DevTestLab/labs/608bf5a/costs/d9a3c"; + _requests[2352] = new DefaultHttpContext(); + _requests[2352].RequestServices = CreateServices(); + _requests[2352].Request.Method = "DELETE"; + _requests[2352].Request.Path = "/subscriptions/02d2fa15-93db-/resourceGroups/bda5e6b2-133d-4f3/providers/Microsoft.DevTestLab/labs/4d1deca/customimages/753ec"; + _requests[2353] = new DefaultHttpContext(); + _requests[2353].RequestServices = CreateServices(); + _requests[2353].Request.Method = "DELETE"; + _requests[2353].Request.Path = "/subscriptions/a750b43d-643a-/resourceGroups/df6e59dc-8181-4e5/providers/Microsoft.DevTestLab/labs/2fffe53/formulas/1bf37"; + _requests[2354] = new DefaultHttpContext(); + _requests[2354].RequestServices = CreateServices(); + _requests[2354].Request.Method = "PATCH"; + _requests[2354].Request.Path = "/subscriptions/95c0fee0-92a3-/resourceGroups/8d6cfe97-75ca-4fb/providers/Microsoft.DevTestLab/labs/7258fd4/notificationchannels/fe0e0"; + _requests[2355] = new DefaultHttpContext(); + _requests[2355].RequestServices = CreateServices(); + _requests[2355].Request.Method = "PATCH"; + _requests[2355].Request.Path = "/subscriptions/723f41aa-984f-/resourceGroups/cb7afe59-bfa1-4bf/providers/Microsoft.DevTestLab/labs/87353c1/schedules/378d0"; + _requests[2356] = new DefaultHttpContext(); + _requests[2356].RequestServices = CreateServices(); + _requests[2356].Request.Method = "DELETE"; + _requests[2356].Request.Path = "/subscriptions/6b9ee367-e8b0-/resourceGroups/507f5688-393c-444/providers/Microsoft.DevTestLab/labs/d6fbada/servicerunners/6bf38"; + _requests[2357] = new DefaultHttpContext(); + _requests[2357].RequestServices = CreateServices(); + _requests[2357].Request.Method = "PATCH"; + _requests[2357].Request.Path = "/subscriptions/bb2f17af-8a24-/resourceGroups/27ff64e9-e53d-4d2/providers/Microsoft.DevTestLab/labs/dce0707/users/a9c74"; + _requests[2358] = new DefaultHttpContext(); + _requests[2358].RequestServices = CreateServices(); + _requests[2358].Request.Method = "PATCH"; + _requests[2358].Request.Path = "/subscriptions/93f9a48e-8ca1-/resourceGroups/c4347e9d-1108-4f9/providers/Microsoft.DevTestLab/labs/49fe762/virtualmachines/f664d"; + _requests[2359] = new DefaultHttpContext(); + _requests[2359].RequestServices = CreateServices(); + _requests[2359].Request.Method = "PATCH"; + _requests[2359].Request.Path = "/subscriptions/ccb72d11-ff53-/resourceGroups/e26fa2a9-8d17-4f5/providers/Microsoft.DevTestLab/labs/ef3c525/virtualnetworks/006a6"; + _requests[2360] = new DefaultHttpContext(); + _requests[2360].RequestServices = CreateServices(); + _requests[2360].Request.Method = "PATCH"; + _requests[2360].Request.Path = "/subscriptions/f3f9d5b7-5087-/resourceGroups/b61ee469-e0bd-4ae/providers/Microsoft.DomainRegistration/domains/c7751802-4/domainOwnershipIdentifiers/16098"; + _requests[2361] = new DefaultHttpContext(); + _requests[2361].RequestServices = CreateServices(); + _requests[2361].Request.Method = "GET"; + _requests[2361].Request.Path = "/subscriptions/3df2abb8-6fa8-/resourceGroups/3d9ad9c3-c6d4-44e/providers/Microsoft.DomainRegistration/domains/2050c7a8-e/operationresults/ae1ae908-8a"; + _requests[2362] = new DefaultHttpContext(); + _requests[2362].RequestServices = CreateServices(); + _requests[2362].Request.Method = "GET"; + _requests[2362].Request.Path = "/subscriptions/b6f4bb71-e069-/resourceGroups/a21a8972-bb22-45a/providers/Microsoft.EventHub/namespaces/9645d36a-02a6/AuthorizationRules/f2744b53-ae2c-4ab5-97"; + _requests[2363] = new DefaultHttpContext(); + _requests[2363].RequestServices = CreateServices(); + _requests[2363].Request.Method = "GET"; + _requests[2363].Request.Path = "/subscriptions/c0e0db28-8a61-/resourceGroups/f9b31486-b4a3-460/providers/Microsoft.EventHub/namespaces/70c7fc29-8a67/disasterRecoveryConfigs/b8eeb"; + _requests[2364] = new DefaultHttpContext(); + _requests[2364].RequestServices = CreateServices(); + _requests[2364].Request.Method = "GET"; + _requests[2364].Request.Path = "/subscriptions/62f02175-9947-/resourceGroups/e2e74e53-8a97-4c3/providers/Microsoft.EventHub/namespaces/0860ad1f-3220/eventhubs/5626a8df-8da"; + _requests[2365] = new DefaultHttpContext(); + _requests[2365].RequestServices = CreateServices(); + _requests[2365].Request.Method = "GET"; + _requests[2365].Request.Path = "/subscriptions/f6c0bd9f-0a6f-/resourceGroups/c8e6e615-a0b4-448/providers/Microsoft.Fabric.Admin/fabricLocations/1437c8bf/edgeGatewayPools/1006fe59-3dc1-4"; + _requests[2366] = new DefaultHttpContext(); + _requests[2366].RequestServices = CreateServices(); + _requests[2366].Request.Method = "GET"; + _requests[2366].Request.Path = "/subscriptions/2bb3f6fd-3bdd-/resourceGroups/389f62cf-5ca2-482/providers/Microsoft.Fabric.Admin/fabricLocations/64544a65/edgeGateways/bf9db153-de"; + _requests[2367] = new DefaultHttpContext(); + _requests[2367].RequestServices = CreateServices(); + _requests[2367].Request.Method = "GET"; + _requests[2367].Request.Path = "/subscriptions/a67703fb-5626-/resourceGroups/ec66b5c3-854d-469/providers/Microsoft.Fabric.Admin/fabricLocations/d58c000e/fileShares/3975ab81-"; + _requests[2368] = new DefaultHttpContext(); + _requests[2368].RequestServices = CreateServices(); + _requests[2368].Request.Method = "GET"; + _requests[2368].Request.Path = "/subscriptions/8c71f229-a5ce-/resourceGroups/21449182-ab2e-443/providers/Microsoft.Fabric.Admin/fabricLocations/8ab2eda3/infraRoleInstances/3f0e87d8-0418-468"; + _requests[2369] = new DefaultHttpContext(); + _requests[2369].RequestServices = CreateServices(); + _requests[2369].Request.Method = "GET"; + _requests[2369].Request.Path = "/subscriptions/0930992a-d0fd-/resourceGroups/bbc2f2d8-950f-495/providers/Microsoft.Fabric.Admin/fabricLocations/7ce28575/infraRoles/f018f649-"; + _requests[2370] = new DefaultHttpContext(); + _requests[2370].RequestServices = CreateServices(); + _requests[2370].Request.Method = "PUT"; + _requests[2370].Request.Path = "/subscriptions/251fefad-0350-/resourceGroups/c2f9c306-fff9-4b6/providers/Microsoft.Fabric.Admin/fabricLocations/86602410/ipPools/ce530c"; + _requests[2371] = new DefaultHttpContext(); + _requests[2371].RequestServices = CreateServices(); + _requests[2371].Request.Method = "GET"; + _requests[2371].Request.Path = "/subscriptions/caa0a1a0-437d-/resourceGroups/35f84b8f-e879-476/providers/Microsoft.Fabric.Admin/fabricLocations/abbcdc2f/logicalNetworks/1a531428-dd27-"; + _requests[2372] = new DefaultHttpContext(); + _requests[2372].RequestServices = CreateServices(); + _requests[2372].Request.Method = "GET"; + _requests[2372].Request.Path = "/subscriptions/9b92f784-4676-/resourceGroups/5e96e4e9-6ba3-416/providers/Microsoft.Fabric.Admin/fabricLocations/2b0841f6/macAddressPools/2adc2f42-d9dd-"; + _requests[2373] = new DefaultHttpContext(); + _requests[2373].RequestServices = CreateServices(); + _requests[2373].Request.Method = "GET"; + _requests[2373].Request.Path = "/subscriptions/58d15911-701c-/resourceGroups/88ea7c7d-cb30-4e7/providers/Microsoft.Fabric.Admin/fabricLocations/2054e7c5/scaleUnitNodes/7c78a792-e014"; + _requests[2374] = new DefaultHttpContext(); + _requests[2374].RequestServices = CreateServices(); + _requests[2374].Request.Method = "GET"; + _requests[2374].Request.Path = "/subscriptions/e4b39e80-6852-/resourceGroups/b13387e1-0676-440/providers/Microsoft.Fabric.Admin/fabricLocations/8f0724ed/scaleUnits/6eea35eb-"; + _requests[2375] = new DefaultHttpContext(); + _requests[2375].RequestServices = CreateServices(); + _requests[2375].Request.Method = "GET"; + _requests[2375].Request.Path = "/subscriptions/f386e5de-66ae-/resourceGroups/17750981-5ba2-429/providers/Microsoft.Fabric.Admin/fabricLocations/38dae645/slbMuxInstances/cc375262-0ea7-"; + _requests[2376] = new DefaultHttpContext(); + _requests[2376].RequestServices = CreateServices(); + _requests[2376].Request.Method = "GET"; + _requests[2376].Request.Path = "/subscriptions/dd4a181d-15dd-/resourceGroups/7960e2f4-aacc-431/providers/Microsoft.Fabric.Admin/fabricLocations/a71109c6/storageSubSystems/47c86e85-a089-45"; + _requests[2377] = new DefaultHttpContext(); + _requests[2377].RequestServices = CreateServices(); + _requests[2377].Request.Method = "DELETE"; + _requests[2377].Request.Path = "/subscriptions/120acf8b-81f7-/resourceGroups/0a288bfb-ef88-451/providers/Microsoft.HDInsight/clusters/9f7c3914-6e/applications/b7663aa4-9c64-4"; + _requests[2378] = new DefaultHttpContext(); + _requests[2378].RequestServices = CreateServices(); + _requests[2378].Request.Method = "GET"; + _requests[2378].Request.Path = "/subscriptions/639fbb23-b3ec-/resourceGroups/f54178c0-3472-499/providers/Microsoft.HDInsight/clusters/88a67d80-83/configurations/483a0e56-548d-4dd"; + _requests[2379] = new DefaultHttpContext(); + _requests[2379].RequestServices = CreateServices(); + _requests[2379].Request.Method = "DELETE"; + _requests[2379].Request.Path = "/subscriptions/0d8960be-a94c-/resourceGroups/8bd9db9c-cfbe-490/providers/Microsoft.HDInsight/clusters/bf01fea5-8b/extensions/4eaadbf4-3f53"; + _requests[2380] = new DefaultHttpContext(); + _requests[2380].RequestServices = CreateServices(); + _requests[2380].Request.Method = "DELETE"; + _requests[2380].Request.Path = "/subscriptions/4b922402-3f63-/resourceGroups/55224718-0ea8-47e/providers/Microsoft.HDInsight/clusters/84810593-2e/scriptActions/25198bec-5"; + _requests[2381] = new DefaultHttpContext(); + _requests[2381].RequestServices = CreateServices(); + _requests[2381].Request.Method = "GET"; + _requests[2381].Request.Path = "/subscriptions/ef80fa7b-efb5-/resourceGroups/35b3a32f-bdd3-4f8/providers/Microsoft.HDInsight/clusters/f1592e4d-dc/scriptExecutionHistory/c787afc3-b2d7-47d"; + _requests[2382] = new DefaultHttpContext(); + _requests[2382].RequestServices = CreateServices(); + _requests[2382].Request.Method = "PUT"; + _requests[2382].Request.Path = "/subscriptions/6c7253ed-a253-/resourceGroups/8a801c33-e80c-4a5/providers/Microsoft.InfrastructureInsights.Admin/regionHealths/06baf012/alerts/6d9c1f11-"; + _requests[2383] = new DefaultHttpContext(); + _requests[2383].RequestServices = CreateServices(); + _requests[2383].Request.Method = "GET"; + _requests[2383].Request.Path = "/subscriptions/1d367374-c854-/resourceGroups/ff2d8ad1-e4ec-465/providers/Microsoft.InfrastructureInsights.Admin/regionHealths/be118d73/serviceHealths/397c7c7e-8e23"; + _requests[2384] = new DefaultHttpContext(); + _requests[2384].RequestServices = CreateServices(); + _requests[2384].Request.Method = "GET"; + _requests[2384].Request.Path = "/subscriptions/55da9520-6e8d-/resourcegroups/ddc2bca6-b314-446/providers/microsoft.insights/alertrules/73b4d527/incidents/5c2a00c1-62d"; + _requests[2385] = new DefaultHttpContext(); + _requests[2385].RequestServices = CreateServices(); + _requests[2385].Request.Method = "GET"; + _requests[2385].Request.Path = "/subscriptions/1636bbfc-710c-/resourceGroups/4db2f040-081e-4d3/providers/Microsoft.Insights/components/50adede6-622/Annotations/8574cae1-1bb"; + _requests[2386] = new DefaultHttpContext(); + _requests[2386].RequestServices = CreateServices(); + _requests[2386].Request.Method = "GET"; + _requests[2386].Request.Path = "/subscriptions/7a90fe57-6701-/resourceGroups/900866df-27eb-4d2/providers/Microsoft.Insights/components/828b7837-020/APIKeys/d9201"; + _requests[2387] = new DefaultHttpContext(); + _requests[2387].RequestServices = CreateServices(); + _requests[2387].Request.Method = "PUT"; + _requests[2387].Request.Path = "/subscriptions/2732dbbf-ead3-/resourceGroups/ef5bbe1c-9987-4fc/providers/Microsoft.Insights/components/8d3541a7-ab8/exportconfiguration/b6240d45"; + _requests[2388] = new DefaultHttpContext(); + _requests[2388].RequestServices = CreateServices(); + _requests[2388].Request.Method = "DELETE"; + _requests[2388].Request.Path = "/subscriptions/c228f55c-4fbe-/resourceGroups/84e9a126-f85d-4f7/providers/Microsoft.Insights/components/603241d2-b1f/favorites/9cad034f-b"; + _requests[2389] = new DefaultHttpContext(); + _requests[2389].RequestServices = CreateServices(); + _requests[2389].Request.Method = "PUT"; + _requests[2389].Request.Path = "/subscriptions/5ec56181-6472-/resourceGroups/f710bfd2-f403-47e/providers/Microsoft.Insights/components/8a265f1d-8f5/ProactiveDetectionConfigs/8ec2d32d-160a-4"; + _requests[2390] = new DefaultHttpContext(); + _requests[2390].RequestServices = CreateServices(); + _requests[2390].Request.Method = "DELETE"; + _requests[2390].Request.Path = "/subscriptions/1d32a7ca-b2cd-/resourceGroups/853abcfd-de8e-4ff/providers/Microsoft.Insights/components/cf33bc0a-0d7/WorkItemConfigs/1ff990f7-0325-44"; + _requests[2391] = new DefaultHttpContext(); + _requests[2391].RequestServices = CreateServices(); + _requests[2391].Request.Method = "GET"; + _requests[2391].Request.Path = "/subscriptions/75e97d55-f531-/resourceGroups/4a5218e9-788c-467/providers/Microsoft.Insights/metricAlerts/e9ab9b38/status/df1940d4-4"; + _requests[2392] = new DefaultHttpContext(); + _requests[2392].RequestServices = CreateServices(); + _requests[2392].Request.Method = "PUT"; + _requests[2392].Request.Path = "/subscriptions/8acf5ef1-31e2-/resourceGroups/d8dfe619-7c92-4bd/providers/Microsoft.KeyVault/vaults/6f1ce4a0-/accessPolicies/514791c0-374c"; + _requests[2393] = new DefaultHttpContext(); + _requests[2393].RequestServices = CreateServices(); + _requests[2393].Request.Method = "GET"; + _requests[2393].Request.Path = "/subscriptions/d5965057-ec25-/resourceGroups/a41b5f98-b1ad-48d/providers/Microsoft.KeyVault/vaults/8f5bb811-/secrets/287c19c8-2"; + _requests[2394] = new DefaultHttpContext(); + _requests[2394].RequestServices = CreateServices(); + _requests[2394].Request.Method = "DELETE"; + _requests[2394].Request.Path = "/subscriptions/38941204-0408-/resourceGroups/a0350016-a579-455/providers/Microsoft.Logic/integrationAccounts/64e1d6e5-8031-430a-ac1/agreements/c4845088-60eb"; + _requests[2395] = new DefaultHttpContext(); + _requests[2395].RequestServices = CreateServices(); + _requests[2395].Request.Method = "DELETE"; + _requests[2395].Request.Path = "/subscriptions/1d9be18b-7b53-/resourceGroups/e78f2732-63fa-459/providers/Microsoft.Logic/integrationAccounts/eb39e4da-9176-4d77-89c/assemblies/61a06cbc-28cb-4a92-b"; + _requests[2396] = new DefaultHttpContext(); + _requests[2396].RequestServices = CreateServices(); + _requests[2396].Request.Method = "DELETE"; + _requests[2396].Request.Path = "/subscriptions/d80757d6-7ba8-/resourceGroups/18f70cff-3e9c-42f/providers/Microsoft.Logic/integrationAccounts/535a0795-ef33-493f-bff/batchConfigurations/5f0f722b-0aac-40e4-99a"; + _requests[2397] = new DefaultHttpContext(); + _requests[2397].RequestServices = CreateServices(); + _requests[2397].Request.Method = "DELETE"; + _requests[2397].Request.Path = "/subscriptions/51111330-eaa7-/resourceGroups/ed33b2f1-c1ca-4ec/providers/Microsoft.Logic/integrationAccounts/6bfdefc0-efc7-4f11-a6b/certificates/1c83f70b-f5c9-4"; + _requests[2398] = new DefaultHttpContext(); + _requests[2398].RequestServices = CreateServices(); + _requests[2398].Request.Method = "DELETE"; + _requests[2398].Request.Path = "/subscriptions/b3a30350-8473-/resourceGroups/e1afd431-905d-47d/providers/Microsoft.Logic/integrationAccounts/8b10236b-9af7-4790-af5/maps/43bee1f"; + _requests[2399] = new DefaultHttpContext(); + _requests[2399].RequestServices = CreateServices(); + _requests[2399].Request.Method = "DELETE"; + _requests[2399].Request.Path = "/subscriptions/1b5e085c-0b07-/resourceGroups/ed7b5a7c-1855-476/providers/Microsoft.Logic/integrationAccounts/266a93ef-a061-4c98-a53/partners/64c08541-94"; + _requests[2400] = new DefaultHttpContext(); + _requests[2400].RequestServices = CreateServices(); + _requests[2400].Request.Method = "DELETE"; + _requests[2400].Request.Path = "/subscriptions/8d606594-0a4d-/resourceGroups/b0738ce5-5f80-4a1/providers/Microsoft.Logic/integrationAccounts/19d08eb1-1dbc-4f78-829/schemas/a36bbe25-d"; + _requests[2401] = new DefaultHttpContext(); + _requests[2401].RequestServices = CreateServices(); + _requests[2401].Request.Method = "DELETE"; + _requests[2401].Request.Path = "/subscriptions/3c570952-c35f-/resourceGroups/9db66adf-44c4-4a2/providers/Microsoft.Logic/integrationAccounts/84842a10-a559-44e5-9af/sessions/9917abc1-24"; + _requests[2402] = new DefaultHttpContext(); + _requests[2402].RequestServices = CreateServices(); + _requests[2402].Request.Method = "DELETE"; + _requests[2402].Request.Path = "/subscriptions/487d3785-f42d-/resourceGroups/72841226-d225-4b4/providers/Microsoft.Logic/workflows/84009e97-90d/accessKeys/9625e88a-5e1a"; + _requests[2403] = new DefaultHttpContext(); + _requests[2403].RequestServices = CreateServices(); + _requests[2403].Request.Method = "GET"; + _requests[2403].Request.Path = "/subscriptions/e80930a0-d1c8-/resourceGroups/65dba194-6858-4e2/providers/Microsoft.Logic/workflows/b0704056-ca6/runs/5fef1f6"; + _requests[2404] = new DefaultHttpContext(); + _requests[2404].RequestServices = CreateServices(); + _requests[2404].Request.Method = "GET"; + _requests[2404].Request.Path = "/subscriptions/f63694ef-c74a-/resourceGroups/79d62b98-7797-476/providers/Microsoft.Logic/workflows/d91c98e2-fea/triggers/76e3c8d8-dc"; + _requests[2405] = new DefaultHttpContext(); + _requests[2405].RequestServices = CreateServices(); + _requests[2405].Request.Method = "GET"; + _requests[2405].Request.Path = "/subscriptions/015779f6-a103-/resourceGroups/f3e29dfe-71d9-44e/providers/Microsoft.Logic/workflows/21512f37-036/versions/94972ae5-"; + _requests[2406] = new DefaultHttpContext(); + _requests[2406].RequestServices = CreateServices(); + _requests[2406].Request.Method = "GET"; + _requests[2406].Request.Path = "/subscriptions/f329c920-1786-/resourceGroups/03d74d5c-7eaf-4ac/providers/Microsoft.MachineLearning/commitmentPlans/6bc278d2-d397-41c2/commitmentAssociations/4f1cf150-ab6e-4a82-9a19-8"; + _requests[2407] = new DefaultHttpContext(); + _requests[2407].RequestServices = CreateServices(); + _requests[2407].Request.Method = "PATCH"; + _requests[2407].Request.Path = "/subscriptions/9c7692ff-2a96-/resourceGroups/6386846a-a34c-473/providers/Microsoft.MachineLearningExperimentation/accounts/3791db73-f8/workspaces/e7c0fd88-68e1"; + _requests[2408] = new DefaultHttpContext(); + _requests[2408].RequestServices = CreateServices(); + _requests[2408].Request.Method = "PATCH"; + _requests[2408].Request.Path = "/subscriptions/57b16930-aeca-/resourceGroups/103c373d-be61-4e6/providers/Microsoft.Media/mediaServices/3b2f3dfe-7e/assets/df07d31e-"; + _requests[2409] = new DefaultHttpContext(); + _requests[2409].RequestServices = CreateServices(); + _requests[2409].Request.Method = "PATCH"; + _requests[2409].Request.Path = "/subscriptions/b4d18cef-dac9-/resourceGroups/88b91f25-0c58-45e/providers/Microsoft.Media/mediaServices/c3a84410-da/contentKeyPolicies/e816bd56-fe64-4624-8"; + _requests[2410] = new DefaultHttpContext(); + _requests[2410].RequestServices = CreateServices(); + _requests[2410].Request.Method = "DELETE"; + _requests[2410].Request.Path = "/subscriptions/f1796375-219f-/resourceGroups/d7c2d566-3786-46a/providers/Microsoft.Media/mediaservices/438e1e61-d8/liveEvents/18847797-060d"; + _requests[2411] = new DefaultHttpContext(); + _requests[2411].RequestServices = CreateServices(); + _requests[2411].Request.Method = "DELETE"; + _requests[2411].Request.Path = "/subscriptions/dd0c934a-5f49-/resourceGroups/5287c131-f6e7-4c3/providers/Microsoft.Media/mediaservices/c8a8602a-fd/streamingEndpoints/e51945a4-e6c6-481f-aa"; + _requests[2412] = new DefaultHttpContext(); + _requests[2412].RequestServices = CreateServices(); + _requests[2412].Request.Method = "DELETE"; + _requests[2412].Request.Path = "/subscriptions/a5c6b258-2c2e-/resourceGroups/1b41fa59-c1e7-409/providers/Microsoft.Media/mediaServices/5397d0c5-40/streamingLocators/bc25354a-c891-437d-b"; + _requests[2413] = new DefaultHttpContext(); + _requests[2413].RequestServices = CreateServices(); + _requests[2413].Request.Method = "DELETE"; + _requests[2413].Request.Path = "/subscriptions/e4d8f6a4-140f-/resourceGroups/2292d3f7-e7a7-44a/providers/Microsoft.Media/mediaServices/3c1b90df-f4/streamingPolicies/6dbeb69b-275d-4421-"; + _requests[2414] = new DefaultHttpContext(); + _requests[2414].RequestServices = CreateServices(); + _requests[2414].Request.Method = "PATCH"; + _requests[2414].Request.Path = "/subscriptions/c5dbf00a-dd6d-/resourceGroups/bfda12bc-7969-426/providers/Microsoft.Media/mediaServices/dc650ac2-2a/transforms/8044e67c-6ae9"; + _requests[2415] = new DefaultHttpContext(); + _requests[2415].RequestServices = CreateServices(); + _requests[2415].Request.Method = "DELETE"; + _requests[2415].Request.Path = "/subscriptions/ef47a39b-1c4b-/resourceGroups/64c370c0-0a2c-400/providers/Microsoft.Migrate/projects/1bfb03ba-b1/groups/62c43570-"; + _requests[2416] = new DefaultHttpContext(); + _requests[2416].RequestServices = CreateServices(); + _requests[2416].Request.Method = "GET"; + _requests[2416].Request.Path = "/subscriptions/774a04cf-e6e6-/resourceGroups/c75a7454-093c-4e7/providers/Microsoft.Migrate/projects/52c59666-36/machines/16a7d78b-1a"; + _requests[2417] = new DefaultHttpContext(); + _requests[2417].RequestServices = CreateServices(); + _requests[2417].Request.Method = "PUT"; + _requests[2417].Request.Path = "/subscriptions/2e20acfc-5cd5-/resourceGroups/25f75c93-706b-445/providers/Microsoft.Network/expressRouteCircuits/26f5eef2-75/authorizations/8e78000e-c3d0-4c7"; + _requests[2418] = new DefaultHttpContext(); + _requests[2418].RequestServices = CreateServices(); + _requests[2418].Request.Method = "PUT"; + _requests[2418].Request.Path = "/subscriptions/3b16f5ef-dd47-/resourceGroups/2f777f94-1728-46e/providers/Microsoft.Network/expressRouteCircuits/cdefeb93-5a/peerings/bc9ad17e-8f"; + _requests[2419] = new DefaultHttpContext(); + _requests[2419].RequestServices = CreateServices(); + _requests[2419].Request.Method = "PUT"; + _requests[2419].Request.Path = "/subscriptions/8f061b10-df89-/resourceGroups/bb17f0d4-e629-453/providers/Microsoft.Network/expressRouteCrossConnections/c5e3d82c-4263-4920-/peerings/0c5d1c91-e0"; + _requests[2420] = new DefaultHttpContext(); + _requests[2420].RequestServices = CreateServices(); + _requests[2420].Request.Method = "GET"; + _requests[2420].Request.Path = "/subscriptions/4619e9ac-1bc6-/resourceGroups/16431962-2b93-438/providers/Microsoft.Network/loadBalancers/9d14c951-836b-4b/backendAddressPools/3876deb6-5bd9-4121-812"; + _requests[2421] = new DefaultHttpContext(); + _requests[2421].RequestServices = CreateServices(); + _requests[2421].Request.Method = "GET"; + _requests[2421].Request.Path = "/subscriptions/6991fc6c-cb9c-/resourceGroups/b00fbbb6-b80a-4fb/providers/Microsoft.Network/loadBalancers/d803cbd0-6674-43/frontendIPConfigurations/5d18df29-43f4-451e-9001-b27"; + _requests[2422] = new DefaultHttpContext(); + _requests[2422].RequestServices = CreateServices(); + _requests[2422].Request.Method = "PUT"; + _requests[2422].Request.Path = "/subscriptions/e90c890b-2985-/resourceGroups/938ea0dc-651d-4d3/providers/Microsoft.Network/loadBalancers/534f812d-74d8-4e/inboundNatRules/61756ab6-0cfc-425e"; + _requests[2423] = new DefaultHttpContext(); + _requests[2423].RequestServices = CreateServices(); + _requests[2423].Request.Method = "GET"; + _requests[2423].Request.Path = "/subscriptions/f1fd6063-302d-/resourceGroups/515b82eb-ce9f-4f9/providers/Microsoft.Network/loadBalancers/6a281b7b-065b-44/loadBalancingRules/2067d23b-7674-484e-8e"; + _requests[2424] = new DefaultHttpContext(); + _requests[2424].RequestServices = CreateServices(); + _requests[2424].Request.Method = "GET"; + _requests[2424].Request.Path = "/subscriptions/665cfb71-4c28-/resourceGroups/c3256318-d1f0-478/providers/Microsoft.Network/loadBalancers/ee122adf-a4cb-4b/probes/e746b0b2-"; + _requests[2425] = new DefaultHttpContext(); + _requests[2425].RequestServices = CreateServices(); + _requests[2425].Request.Method = "GET"; + _requests[2425].Request.Path = "/subscriptions/1dbfd908-4171-/resourceGroups/a13d3ee9-8877-415/providers/Microsoft.Network/networkInterfaces/3ef4b4f1-6a66-4759-8/ipConfigurations/7f8bb67c-cce3-40a8-"; + _requests[2426] = new DefaultHttpContext(); + _requests[2426].RequestServices = CreateServices(); + _requests[2426].Request.Method = "GET"; + _requests[2426].Request.Path = "/subscriptions/350e2eea-764d-/resourceGroups/eeca171b-8418-4af/providers/Microsoft.Network/networkSecurityGroups/e0febdc5-4a14-46f0-a820-/defaultSecurityRules/d87a2180-8f77-4a1f-af38"; + _requests[2427] = new DefaultHttpContext(); + _requests[2427].RequestServices = CreateServices(); + _requests[2427].Request.Method = "PUT"; + _requests[2427].Request.Path = "/subscriptions/44e9fe8c-d566-/resourceGroups/141e96af-e088-472/providers/Microsoft.Network/networkSecurityGroups/f009ea65-af5b-4cea-be8b-/securityRules/dd29fe1b-2f46-44"; + _requests[2428] = new DefaultHttpContext(); + _requests[2428].RequestServices = CreateServices(); + _requests[2428].Request.Method = "DELETE"; + _requests[2428].Request.Path = "/subscriptions/56359f0b-a113-/resourceGroups/c49bd5ea-a45c-493/providers/Microsoft.Network/networkWatchers/efe43df9-7b65-4368/connectionMonitors/17c8edbf-3e8d-4182-a1"; + _requests[2429] = new DefaultHttpContext(); + _requests[2429].RequestServices = CreateServices(); + _requests[2429].Request.Method = "DELETE"; + _requests[2429].Request.Path = "/subscriptions/aad5e6ed-3cd4-/resourceGroups/faf9af3a-9042-408/providers/Microsoft.Network/networkWatchers/31df7f48-634b-4dd6/packetCaptures/361253df-4626-439"; + _requests[2430] = new DefaultHttpContext(); + _requests[2430].RequestServices = CreateServices(); + _requests[2430].Request.Method = "PATCH"; + _requests[2430].Request.Path = "/subscriptions/8a7042ab-720d-/resourceGroups/399b98d3-566f-404/providers/Microsoft.Network/routeFilters/607b4ae2-bfb0-4/routeFilterRules/747a8763"; + _requests[2431] = new DefaultHttpContext(); + _requests[2431].RequestServices = CreateServices(); + _requests[2431].Request.Method = "PUT"; + _requests[2431].Request.Path = "/subscriptions/a91b6a6c-f03d-/resourceGroups/7aac77d3-567b-4dc/providers/Microsoft.Network/routeTables/fa49c3d5-80df-/routes/06720a12-"; + _requests[2432] = new DefaultHttpContext(); + _requests[2432].RequestServices = CreateServices(); + _requests[2432].Request.Method = "GET"; + _requests[2432].Request.Path = "/subscriptions/91745a72-6bec-/resourceGroups/88257be2-e83e-4cc/providers/Microsoft.Network/trafficmanagerprofiles/11767a43-20/heatMaps/ff24d473-c6"; + _requests[2433] = new DefaultHttpContext(); + _requests[2433].RequestServices = CreateServices(); + _requests[2433].Request.Method = "PUT"; + _requests[2433].Request.Path = "/subscriptions/a2286fd5-887c-/resourceGroups/1f1e85d5-12f8-491/providers/Microsoft.Network/virtualNetworks/0fd5dd69-8db2-4eae/subnets/37da8a14-5"; + _requests[2434] = new DefaultHttpContext(); + _requests[2434].RequestServices = CreateServices(); + _requests[2434].Request.Method = "PUT"; + _requests[2434].Request.Path = "/subscriptions/7e185384-b72b-/resourceGroups/eade2ab7-cbc8-484/providers/Microsoft.Network/virtualNetworks/8de643e8-cefb-472e/virtualNetworkPeerings/5d679b6e-1657-45c9-b85e-5"; + _requests[2435] = new DefaultHttpContext(); + _requests[2435].RequestServices = CreateServices(); + _requests[2435].Request.Method = "GET"; + _requests[2435].Request.Path = "/subscriptions/53efdcad-8ba1-/resourceGroups/eac48ca3-e0da-477/providers/Microsoft.NotificationHubs/namespaces/5e8b48cb-d56a/AuthorizationRules/77aa2d94-c8cc-40c2-a1"; + _requests[2436] = new DefaultHttpContext(); + _requests[2436].RequestServices = CreateServices(); + _requests[2436].Request.Method = "GET"; + _requests[2436].Request.Path = "/subscriptions/9386548b-20aa-/resourceGroups/d9d60111-9bb6-4be/providers/Microsoft.NotificationHubs/namespaces/cb5a7684-ff3d/notificationHubs/127e7c94-4bad-4108-"; + _requests[2437] = new DefaultHttpContext(); + _requests[2437].RequestServices = CreateServices(); + _requests[2437].Request.Method = "GET"; + _requests[2437].Request.Path = "/subscriptions/0a09ce83-9a54-/resourcegroups/9ae2124f-e7ca-463/providers/Microsoft.OperationalInsights/workspaces/c971341d-902f/dataSources/983f939c-b3c2-"; + _requests[2438] = new DefaultHttpContext(); + _requests[2438].RequestServices = CreateServices(); + _requests[2438].Request.Method = "GET"; + _requests[2438].Request.Path = "/subscriptions/739e20b4-3a13-/resourcegroups/7accf356-1e46-45d/providers/Microsoft.OperationalInsights/workspaces/4ea2ad6a-fe66/linkedServices/690d2573-cbe1-493"; + _requests[2439] = new DefaultHttpContext(); + _requests[2439].RequestServices = CreateServices(); + _requests[2439].Request.Method = "GET"; + _requests[2439].Request.Path = "/subscriptions/96a452a9-d2c7-/resourcegroups/99c75739-0764-403/providers/Microsoft.OperationalInsights/workspaces/4c5cb484-059c/savedSearches/eb6679eb-2be0-4"; + _requests[2440] = new DefaultHttpContext(); + _requests[2440].RequestServices = CreateServices(); + _requests[2440].Request.Method = "POST"; + _requests[2440].Request.Path = "/subscriptions/2ad94015-a0be-/resourcegroups/e976b412-9342-4a2/providers/Microsoft.OperationalInsights/workspaces/debecc9f-005d/search/a299b"; + _requests[2441] = new DefaultHttpContext(); + _requests[2441].RequestServices = CreateServices(); + _requests[2441].Request.Method = "DELETE"; + _requests[2441].Request.Path = "/subscriptions/1da643d4-e99d-/resourcegroups/5d1c09bc-65b5-49e/providers/Microsoft.OperationalInsights/workspaces/c46f4506-917e/storageInsightConfigs/a87f823d-0f65-4e43"; + _requests[2442] = new DefaultHttpContext(); + _requests[2442].RequestServices = CreateServices(); + _requests[2442].Request.Method = "PUT"; + _requests[2442].Request.Path = "/Subscriptions/6f7e1fbb-6919-/resourceGroups/4e6e061a-03eb-4a2/providers/Microsoft.RecoveryServices/vaults/a584c66d-cfc/replicationAlertSettings/e25663c0-a78d-4d"; + _requests[2443] = new DefaultHttpContext(); + _requests[2443].RequestServices = CreateServices(); + _requests[2443].Request.Method = "GET"; + _requests[2443].Request.Path = "/Subscriptions/66de8c14-4e19-/resourceGroups/ceb8b99c-24a3-41a/providers/Microsoft.RecoveryServices/vaults/be019a9d-949/replicationEvents/49be487a-"; + _requests[2444] = new DefaultHttpContext(); + _requests[2444].RequestServices = CreateServices(); + _requests[2444].Request.Method = "DELETE"; + _requests[2444].Request.Path = "/Subscriptions/19971825-e100-/resourceGroups/af8b0d75-ac27-436/providers/Microsoft.RecoveryServices/vaults/42b6418a-7d1/replicationFabrics/cd00e3bf-3"; + _requests[2445] = new DefaultHttpContext(); + _requests[2445].RequestServices = CreateServices(); + _requests[2445].Request.Method = "GET"; + _requests[2445].Request.Path = "/Subscriptions/1b2ce57e-9c46-/resourceGroups/fed4fed8-9f6f-4f5/providers/Microsoft.RecoveryServices/vaults/dd7a4489-fce/replicationJobs/cc47357"; + _requests[2446] = new DefaultHttpContext(); + _requests[2446].RequestServices = CreateServices(); + _requests[2446].Request.Method = "PATCH"; + _requests[2446].Request.Path = "/Subscriptions/76b98120-f344-/resourceGroups/a147e19b-aa56-469/providers/Microsoft.RecoveryServices/vaults/349d54fb-43e/replicationPolicies/0288510b-7"; + _requests[2447] = new DefaultHttpContext(); + _requests[2447].RequestServices = CreateServices(); + _requests[2447].Request.Method = "PATCH"; + _requests[2447].Request.Path = "/Subscriptions/91f0fee1-9343-/resourceGroups/94948d61-68df-45c/providers/Microsoft.RecoveryServices/vaults/d6edceb9-edb/replicationRecoveryPlans/f00792c7-711e-40"; + _requests[2448] = new DefaultHttpContext(); + _requests[2448].RequestServices = CreateServices(); + _requests[2448].Request.Method = "GET"; + _requests[2448].Request.Path = "/Subscriptions/8da1450d-ee50-/resourceGroups/8d2eec9c-591f-42f/providers/Microsoft.RecoveryServices/vaults/bf2adf8a-/backupEngines/a0a7e821-286d-4c"; + _requests[2449] = new DefaultHttpContext(); + _requests[2449].RequestServices = CreateServices(); + _requests[2449].Request.Method = "GET"; + _requests[2449].Request.Path = "/Subscriptions/0e35bbb4-f13f-/resourceGroups/51ccdd95-3863-4d3/providers/Microsoft.RecoveryServices/vaults/50f6040f-/backupJobs/d45e0b8"; + _requests[2450] = new DefaultHttpContext(); + _requests[2450].RequestServices = CreateServices(); + _requests[2450].Request.Method = "GET"; + _requests[2450].Request.Path = "/Subscriptions/aa1c2e64-e4ef-/resourceGroups/0a363f73-eb3e-4a7/providers/Microsoft.RecoveryServices/vaults/6ffd6d8e-/backupOperationResults/4649c314-d7"; + _requests[2451] = new DefaultHttpContext(); + _requests[2451].RequestServices = CreateServices(); + _requests[2451].Request.Method = "GET"; + _requests[2451].Request.Path = "/Subscriptions/1e9e37b0-10c0-/resourceGroups/be43e211-b602-4ff/providers/Microsoft.RecoveryServices/vaults/e1d12fca-/backupOperations/6de4d5c4-74"; + _requests[2452] = new DefaultHttpContext(); + _requests[2452].RequestServices = CreateServices(); + _requests[2452].Request.Method = "DELETE"; + _requests[2452].Request.Path = "/Subscriptions/6a886af5-c60b-/resourceGroups/d074c0e3-096a-402/providers/Microsoft.RecoveryServices/vaults/9f981c9b-/backupPolicies/4b05acf8-2"; + _requests[2453] = new DefaultHttpContext(); + _requests[2453].RequestServices = CreateServices(); + _requests[2453].Request.Method = "PUT"; + _requests[2453].Request.Path = "/Subscriptions/02c223ac-901d-/resourceGroups/aacf7736-97e8-488/providers/Microsoft.RecoveryServices/vaults/b8b61806-/certificates/a950825d-f967-4"; + _requests[2454] = new DefaultHttpContext(); + _requests[2454].RequestServices = CreateServices(); + _requests[2454].Request.Method = "DELETE"; + _requests[2454].Request.Path = "/subscriptions/2c42a1a2-3502-/resourceGroups/16da4343-6b62-486/providers/Microsoft.RecoveryServices/vaults/3a2ff201-/registeredIdentities/15439a05-184"; + _requests[2455] = new DefaultHttpContext(); + _requests[2455].RequestServices = CreateServices(); + _requests[2455].Request.Method = "GET"; + _requests[2455].Request.Path = "/subscriptions/1a9873ea-7ae6-/resourceGroups/e61c8253-a076-4f0/providers/Microsoft.Relay/namespaces/49536cc6-b5e7/authorizationRules/6f41ef79-0985-42de-b6"; + _requests[2456] = new DefaultHttpContext(); + _requests[2456].RequestServices = CreateServices(); + _requests[2456].Request.Method = "GET"; + _requests[2456].Request.Path = "/subscriptions/62f3d436-b6c0-/resourceGroups/2af25ecc-c8f6-4b5/providers/Microsoft.Relay/namespaces/ef80ccb9-9ea8/hybridConnections/4a447fec-401e-4165-9"; + _requests[2457] = new DefaultHttpContext(); + _requests[2457].RequestServices = CreateServices(); + _requests[2457].Request.Method = "GET"; + _requests[2457].Request.Path = "/subscriptions/11beaeb4-f899-/resourceGroups/b4543eda-808d-4a5/providers/Microsoft.Relay/namespaces/d2953da7-feb1/wcfRelays/db671ccd-"; + _requests[2458] = new DefaultHttpContext(); + _requests[2458].RequestServices = CreateServices(); + _requests[2458].Request.Method = "DELETE"; + _requests[2458].Request.Path = "/subscriptions/74d576c8-cba6-/resourceGroups/9b28bde1-9896-49d/providers/Microsoft.Scheduler/jobCollections/2c8a53e1-aa42-49a/jobs/80cef5f"; + _requests[2459] = new DefaultHttpContext(); + _requests[2459].RequestServices = CreateServices(); + _requests[2459].Request.Method = "POST"; + _requests[2459].Request.Path = "/subscriptions/1d994ecf-6d3b-/resourceGroups/485fd85e-d4fd-47c/providers/Microsoft.Search/searchServices/9434380b-d27f-45e/createQueryKey/a22ec"; + _requests[2460] = new DefaultHttpContext(); + _requests[2460].RequestServices = CreateServices(); + _requests[2460].Request.Method = "DELETE"; + _requests[2460].Request.Path = "/subscriptions/2f136d1a-cf2b-/resourceGroups/02fb06bb-57a2-406/providers/Microsoft.Search/searchServices/bcc2c7d8-2440-4c4/deleteQueryKey/991cc"; + _requests[2461] = new DefaultHttpContext(); + _requests[2461].RequestServices = CreateServices(); + _requests[2461].Request.Method = "POST"; + _requests[2461].Request.Path = "/subscriptions/c318f934-6474-/resourceGroups/901b5d5a-509b-4ed/providers/Microsoft.Search/searchServices/96de22f1-aee2-46b/regenerateAdminKey/6a0c9e6"; + _requests[2462] = new DefaultHttpContext(); + _requests[2462].RequestServices = CreateServices(); + _requests[2462].Request.Method = "GET"; + _requests[2462].Request.Path = "/subscriptions/21107930-bc05-/resourceGroups/47d77ee2-49ee-447/providers/Microsoft.Security/locations/25c8cebb-32/alerts/b51b2e02-"; + _requests[2463] = new DefaultHttpContext(); + _requests[2463].RequestServices = CreateServices(); + _requests[2463].Request.Method = "GET"; + _requests[2463].Request.Path = "/subscriptions/458030dc-5188-/resourceGroups/d154bdd7-1cb0-4e4/providers/Microsoft.Security/locations/0b21856c-43/discoveredSecuritySolutions/5721aa2f-fdcb-4d43-bb92-1bcd04"; + _requests[2464] = new DefaultHttpContext(); + _requests[2464].RequestServices = CreateServices(); + _requests[2464].Request.Method = "GET"; + _requests[2464].Request.Path = "/subscriptions/b38fa1d2-3e86-/resourceGroups/609da5ca-1236-482/providers/Microsoft.Security/locations/9bcb9568-98/ExternalSecuritySolutions/fd1490a9-dcf4-4ea9-80a5-a894e"; + _requests[2465] = new DefaultHttpContext(); + _requests[2465].RequestServices = CreateServices(); + _requests[2465].Request.Method = "DELETE"; + _requests[2465].Request.Path = "/subscriptions/a25f28b9-58dd-/resourceGroups/54a0a4c1-2b2f-4fb/providers/Microsoft.Security/locations/62edd22c-f1/jitNetworkAccessPolicies/8b5fb967-5eea-44f0-99a5-01"; + _requests[2466] = new DefaultHttpContext(); + _requests[2466].RequestServices = CreateServices(); + _requests[2466].Request.Method = "GET"; + _requests[2466].Request.Path = "/subscriptions/112eac8e-f9cd-/resourceGroups/b9c6dc8f-6a97-4a1/providers/Microsoft.Security/locations/a5334756-56/tasks/f9cb84d4"; + _requests[2467] = new DefaultHttpContext(); + _requests[2467].RequestServices = CreateServices(); + _requests[2467].Request.Method = "GET"; + _requests[2467].Request.Path = "/subscriptions/da565a91-28b5-/resourceGroups/7afa0fce-b12f-43c/providers/Microsoft.ServerManagement/nodes/440df9d5/sessions/76ef994"; + _requests[2468] = new DefaultHttpContext(); + _requests[2468].RequestServices = CreateServices(); + _requests[2468].Request.Method = "GET"; + _requests[2468].Request.Path = "/subscriptions/494f5124-390a-/resourceGroups/145193d5-3e2b-4df/providers/Microsoft.ServiceBus/namespaces/b56b7854-2dba/AuthorizationRules/5c963160-0e64-41f0-85"; + _requests[2469] = new DefaultHttpContext(); + _requests[2469].RequestServices = CreateServices(); + _requests[2469].Request.Method = "GET"; + _requests[2469].Request.Path = "/subscriptions/3d5c5bbc-6b27-/resourceGroups/505f5933-2ba9-495/providers/Microsoft.ServiceBus/namespaces/fcc45739-04a4/disasterRecoveryConfigs/3db47"; + _requests[2470] = new DefaultHttpContext(); + _requests[2470].RequestServices = CreateServices(); + _requests[2470].Request.Method = "GET"; + _requests[2470].Request.Path = "/subscriptions/7886e188-1b35-/resourceGroups/e79ae5bd-4bf6-4b1/providers/Microsoft.ServiceBus/namespaces/8129eee8-352e/migrationConfigurations/6947c2bb-d"; + _requests[2471] = new DefaultHttpContext(); + _requests[2471].RequestServices = CreateServices(); + _requests[2471].Request.Method = "GET"; + _requests[2471].Request.Path = "/subscriptions/494fdadd-7629-/resourceGroups/303438c6-b962-4da/providers/Microsoft.ServiceBus/namespaces/2c16b361-9380/queues/d97253ae-"; + _requests[2472] = new DefaultHttpContext(); + _requests[2472].RequestServices = CreateServices(); + _requests[2472].Request.Method = "GET"; + _requests[2472].Request.Path = "/subscriptions/d17c9535-4054-/resourceGroups/55356bc6-4a02-48e/providers/Microsoft.ServiceBus/namespaces/358b4c6d-d649/topics/6a111448-"; + _requests[2473] = new DefaultHttpContext(); + _requests[2473].RequestServices = CreateServices(); + _requests[2473].Request.Method = "DELETE"; + _requests[2473].Request.Path = "/subscriptions/10241fd8-70b8-/resourceGroups/fd00cf15-5b3c-4a3/providers/Microsoft.ServiceFabric/clusters/fd39aa2e-a5/applications/9057dfad-760e-4"; + _requests[2474] = new DefaultHttpContext(); + _requests[2474].RequestServices = CreateServices(); + _requests[2474].Request.Method = "DELETE"; + _requests[2474].Request.Path = "/subscriptions/55a9deae-b574-/resourceGroups/8b622c8e-550e-419/providers/Microsoft.ServiceFabric/clusters/e4cdd9e1-4a/applicationTypes/8a3fb6d4-1f99-417d-"; + _requests[2475] = new DefaultHttpContext(); + _requests[2475].RequestServices = CreateServices(); + _requests[2475].Request.Method = "DELETE"; + _requests[2475].Request.Path = "/subscriptions/ebf9c648-3833-/resourceGroups/40e57739-346d-4fc/providers/Microsoft.Sql/locations/31353027-797/instanceFailoverGroups/1058234b-8c25-4fd"; + _requests[2476] = new DefaultHttpContext(); + _requests[2476].RequestServices = CreateServices(); + _requests[2476].Request.Method = "PATCH"; + _requests[2476].Request.Path = "/subscriptions/a2203bd5-d397-/resourceGroups/b64ca1ca-7d93-4d7/providers/Microsoft.Sql/managedInstances/ae438582-af79-4419-/databases/a4146500-87e"; + _requests[2477] = new DefaultHttpContext(); + _requests[2477].RequestServices = CreateServices(); + _requests[2477].Request.Method = "GET"; + _requests[2477].Request.Path = "/subscriptions/bfa19bc9-f33a-/resourceGroups/d266e2d0-f211-42f/providers/Microsoft.Sql/servers/474cdf5a-7/administrators/bc19f0f1-c050-47f"; + _requests[2478] = new DefaultHttpContext(); + _requests[2478].RequestServices = CreateServices(); + _requests[2478].Request.Method = "PUT"; + _requests[2478].Request.Path = "/subscriptions/c35ba94c-d360-/resourceGroups/5b172ddb-3ead-4ea/providers/Microsoft.Sql/servers/ab045caa-9/advisors/77337dac-b8"; + _requests[2479] = new DefaultHttpContext(); + _requests[2479].RequestServices = CreateServices(); + _requests[2479].Request.Method = "PUT"; + _requests[2479].Request.Path = "/subscriptions/419d4757-8395-/resourceGroups/0f70abfa-4139-476/providers/Microsoft.Sql/servers/843e97a2-5/auditingPolicies/932db353-c5bb-40ff-944e"; + _requests[2480] = new DefaultHttpContext(); + _requests[2480].RequestServices = CreateServices(); + _requests[2480].Request.Method = "PUT"; + _requests[2480].Request.Path = "/subscriptions/ae7a7964-8bac-/resourceGroups/924cca12-7b8a-44b/providers/Microsoft.Sql/servers/3282d71b-4/backupLongTermRetentionVaults/c6a51320-39e4-42cc-adb9-086a5010"; + _requests[2481] = new DefaultHttpContext(); + _requests[2481].RequestServices = CreateServices(); + _requests[2481].Request.Method = "PUT"; + _requests[2481].Request.Path = "/subscriptions/c68f8930-347d-/resourceGroups/450a47dd-7edd-4c3/providers/Microsoft.Sql/servers/d37c8d3f-3/communicationLinks/c9bd68ef-d979-44a4-ab"; + _requests[2482] = new DefaultHttpContext(); + _requests[2482].RequestServices = CreateServices(); + _requests[2482].Request.Method = "GET"; + _requests[2482].Request.Path = "/subscriptions/a8eb3e4d-3e36-/resourceGroups/8c5f20bf-d604-455/providers/Microsoft.Sql/servers/a7c5834e-5/connectionPolicies/6f725331-02ac-4daf-9"; + _requests[2483] = new DefaultHttpContext(); + _requests[2483].RequestServices = CreateServices(); + _requests[2483].Request.Method = "GET"; + _requests[2483].Request.Path = "/subscriptions/34502b1b-6954-/resourceGroups/3b5469ce-8635-4c6/providers/Microsoft.Sql/servers/e5ecbf33-4/databases/f7962f2d-f6b"; + _requests[2484] = new DefaultHttpContext(); + _requests[2484].RequestServices = CreateServices(); + _requests[2484].Request.Method = "GET"; + _requests[2484].Request.Path = "/subscriptions/0d4225ee-0c6a-/resourceGroups/08230208-da60-4dc/providers/Microsoft.Sql/servers/260ad1ec-3/disasterRecoveryConfiguration/ee8fb315-12bf-4081-bd85-09de906c4"; + _requests[2485] = new DefaultHttpContext(); + _requests[2485].RequestServices = CreateServices(); + _requests[2485].Request.Method = "DELETE"; + _requests[2485].Request.Path = "/subscriptions/231aaefe-8621-/resourceGroups/11e7212b-319d-4d3/providers/Microsoft.Sql/servers/6e8fb536-a/dnsAliases/ebae7139-51d"; + _requests[2486] = new DefaultHttpContext(); + _requests[2486].RequestServices = CreateServices(); + _requests[2486].Request.Method = "GET"; + _requests[2486].Request.Path = "/subscriptions/53a9f040-e97b-/resourceGroups/73fcd376-ee68-41a/providers/Microsoft.Sql/servers/a5d62b23-6/elasticPools/e567d2d4-4d2a-4"; + _requests[2487] = new DefaultHttpContext(); + _requests[2487].RequestServices = CreateServices(); + _requests[2487].Request.Method = "PUT"; + _requests[2487].Request.Path = "/subscriptions/d68102aa-d093-/resourceGroups/7ddb3911-0afb-49f/providers/Microsoft.Sql/servers/da2ccc94-e/encryptionProtector/9002e16a-d1f7-452f-b975"; + _requests[2488] = new DefaultHttpContext(); + _requests[2488].RequestServices = CreateServices(); + _requests[2488].Request.Method = "PATCH"; + _requests[2488].Request.Path = "/subscriptions/0a0ec3d6-e5ee-/resourceGroups/48ab2a8f-eb81-43c/providers/Microsoft.Sql/servers/d69fd1c6-5/failoverGroups/e1f3d178-f21d-457"; + _requests[2489] = new DefaultHttpContext(); + _requests[2489].RequestServices = CreateServices(); + _requests[2489].Request.Method = "GET"; + _requests[2489].Request.Path = "/subscriptions/69355a0e-9fc7-/resourceGroups/217dbfff-b72c-4c9/providers/Microsoft.Sql/servers/88943f15-9/firewallRules/1050f684-d2c3-43"; + _requests[2490] = new DefaultHttpContext(); + _requests[2490].RequestServices = CreateServices(); + _requests[2490].Request.Method = "PATCH"; + _requests[2490].Request.Path = "/subscriptions/28da6039-eb04-/resourceGroups/e56e5fca-758b-476/providers/Microsoft.Sql/servers/42e3272c-e/jobAgents/5e8709f9-5b7"; + _requests[2491] = new DefaultHttpContext(); + _requests[2491].RequestServices = CreateServices(); + _requests[2491].Request.Method = "DELETE"; + _requests[2491].Request.Path = "/subscriptions/f0fcb595-69ed-/resourceGroups/7117cf96-4746-468/providers/Microsoft.Sql/servers/4ef70aaf-e/keys/574f79a"; + _requests[2492] = new DefaultHttpContext(); + _requests[2492].RequestServices = CreateServices(); + _requests[2492].Request.Method = "GET"; + _requests[2492].Request.Path = "/subscriptions/73ecf4a0-b2f8-/resourceGroups/e00ef593-cf02-4f6/providers/Microsoft.Sql/servers/ecb13536-d/recommendedElasticPools/27149a7d-7cad-45b3-b522-21"; + _requests[2493] = new DefaultHttpContext(); + _requests[2493].RequestServices = CreateServices(); + _requests[2493].Request.Method = "GET"; + _requests[2493].Request.Path = "/subscriptions/cea63442-58dc-/resourceGroups/edaa1acf-fbda-47b/providers/Microsoft.Sql/servers/509dff17-6/recoverableDatabases/ab783884-d34"; + _requests[2494] = new DefaultHttpContext(); + _requests[2494].RequestServices = CreateServices(); + _requests[2494].Request.Method = "GET"; + _requests[2494].Request.Path = "/subscriptions/5c5a1fa1-14c4-/resourceGroups/c14c96e5-47f9-4a4/providers/Microsoft.Sql/servers/8c5c74ee-1/restorableDroppedDatabases/74757228-f55a-4554-bf4f-b6fa7"; + _requests[2495] = new DefaultHttpContext(); + _requests[2495].RequestServices = CreateServices(); + _requests[2495].Request.Method = "GET"; + _requests[2495].Request.Path = "/subscriptions/85e2ae70-99fa-/resourceGroups/5c37c370-8a3e-483/providers/Microsoft.Sql/servers/1e3f9607-3/serviceObjectives/4066fd6c-f102-42eb-9"; + _requests[2496] = new DefaultHttpContext(); + _requests[2496].RequestServices = CreateServices(); + _requests[2496].Request.Method = "DELETE"; + _requests[2496].Request.Path = "/subscriptions/50565897-f6cf-/resourceGroups/a2ee552b-fff7-4b1/providers/Microsoft.Sql/servers/692e008b-a/syncAgents/aa54c505-2314"; + _requests[2497] = new DefaultHttpContext(); + _requests[2497].RequestServices = CreateServices(); + _requests[2497].Request.Method = "DELETE"; + _requests[2497].Request.Path = "/subscriptions/0d3e8e5e-3d6b-/resourceGroups/2219353b-e19a-4a6/providers/Microsoft.Sql/servers/7803e7b1-1/virtualNetworkRules/7609d436-e52a-479b-a02"; + _requests[2498] = new DefaultHttpContext(); + _requests[2498].RequestServices = CreateServices(); + _requests[2498].Request.Method = "GET"; + _requests[2498].Request.Path = "/subscriptions/0b19bc5e-85c2-/resourcegroups/f8b18caf-1dfb-438/providers/Microsoft.Storage.Admin/farms/a47b49/blobservices/1a68c069-44"; + _requests[2499] = new DefaultHttpContext(); + _requests[2499].RequestServices = CreateServices(); + _requests[2499].Request.Method = "GET"; + _requests[2499].Request.Path = "/subscriptions/e58bf1a9-697e-/resourcegroups/bf5dcb1e-bdc1-45c/providers/Microsoft.Storage.Admin/farms/492153/operationresults/deddada9-bf"; + _requests[2500] = new DefaultHttpContext(); + _requests[2500].RequestServices = CreateServices(); + _requests[2500].Request.Method = "GET"; + _requests[2500].Request.Path = "/subscriptions/79a3dc4b-4e42-/resourcegroups/7e40ab6d-a10f-430/providers/Microsoft.Storage.Admin/farms/a76fcc/queueservices/e000da36-68"; + _requests[2501] = new DefaultHttpContext(); + _requests[2501].RequestServices = CreateServices(); + _requests[2501].Request.Method = "GET"; + _requests[2501].Request.Path = "/subscriptions/1a3d784f-73a8-/resourcegroups/52dce6ef-86e2-4ad/providers/Microsoft.Storage.Admin/farms/815d62/shares/7100d9b9-"; + _requests[2502] = new DefaultHttpContext(); + _requests[2502].RequestServices = CreateServices(); + _requests[2502].Request.Method = "POST"; + _requests[2502].Request.Path = "/subscriptions/dbb0fa00-946e-/resourcegroups/e3cfbb8d-82f0-4b8/providers/Microsoft.Storage.Admin/farms/e1b025/storageaccounts/6554235e-"; + _requests[2503] = new DefaultHttpContext(); + _requests[2503].RequestServices = CreateServices(); + _requests[2503].Request.Method = "GET"; + _requests[2503].Request.Path = "/subscriptions/eceb8126-6dca-/resourcegroups/2ab2ad4d-9a30-43e/providers/Microsoft.Storage.Admin/farms/a846de/tableservices/705f63ec-f7"; + _requests[2504] = new DefaultHttpContext(); + _requests[2504].RequestServices = CreateServices(); + _requests[2504].Request.Method = "DELETE"; + _requests[2504].Request.Path = "/subscriptions/d88ff7fe-1974-/resourceGroups/f5a827d1-b8da-4fc/providers/Microsoft.Storage/storageAccounts/cf43ba24-9a/managementPolicies/670a0e05-8f94-44ff-b"; + _requests[2505] = new DefaultHttpContext(); + _requests[2505].RequestServices = CreateServices(); + _requests[2505].Request.Method = "DELETE"; + _requests[2505].Request.Path = "/subscriptions/dc323bb1-3c18-/resourceGroups/580d494b-972c-4f3/providers/Microsoft.StorSimple/managers/e92eab8a-fb/accessControlRecords/116567bc-21eb-4761-80a0"; + _requests[2506] = new DefaultHttpContext(); + _requests[2506].RequestServices = CreateServices(); + _requests[2506].Request.Method = "DELETE"; + _requests[2506].Request.Path = "/subscriptions/4ad64c59-bdbd-/resourceGroups/8d73e21d-fba0-413/providers/Microsoft.StorSimple/managers/6cf4771d-1c/bandwidthSettings/4470b25a-5fea-488e-b"; + _requests[2507] = new DefaultHttpContext(); + _requests[2507].RequestServices = CreateServices(); + _requests[2507].Request.Method = "PATCH"; + _requests[2507].Request.Path = "/subscriptions/3eef8ced-385b-/resourceGroups/36142ad6-84ab-46e/providers/Microsoft.StorSimple/managers/65fcad84-c5/devices/fa68c747-4"; + _requests[2508] = new DefaultHttpContext(); + _requests[2508].RequestServices = CreateServices(); + _requests[2508].Request.Method = "DELETE"; + _requests[2508].Request.Path = "/subscriptions/20fd940a-e0dc-/resourceGroups/9ae80493-013f-436/providers/Microsoft.StorSimple/managers/dcd6e626-5e/storageAccountCredentials/aca388d6-0978-4c12-b560-f98a"; + _requests[2509] = new DefaultHttpContext(); + _requests[2509].RequestServices = CreateServices(); + _requests[2509].Request.Method = "GET"; + _requests[2509].Request.Path = "/subscriptions/f818319e-35f6-/resourcegroups/baced707-dd6a-415/providers/Microsoft.StreamAnalytics/streamingjobs/1bb12a9/functions/1d500add-fb9"; + _requests[2510] = new DefaultHttpContext(); + _requests[2510].RequestServices = CreateServices(); + _requests[2510].Request.Method = "GET"; + _requests[2510].Request.Path = "/subscriptions/e17dad04-4266-/resourcegroups/694261ed-8d1c-4ef/providers/Microsoft.StreamAnalytics/streamingjobs/408746e/inputs/a5c91704-"; + _requests[2511] = new DefaultHttpContext(); + _requests[2511].RequestServices = CreateServices(); + _requests[2511].Request.Method = "GET"; + _requests[2511].Request.Path = "/subscriptions/8acd7dcd-073b-/resourcegroups/f83f47a1-b571-412/providers/Microsoft.StreamAnalytics/streamingjobs/db44e92/outputs/56a31135-6"; + _requests[2512] = new DefaultHttpContext(); + _requests[2512].RequestServices = CreateServices(); + _requests[2512].Request.Method = "GET"; + _requests[2512].Request.Path = "/subscriptions/f40714e1-d510-/resourcegroups/3fdb52fd-2572-403/providers/Microsoft.StreamAnalytics/streamingjobs/fc6acdf/transformations/099a87a2-aa88-4e3a"; + _requests[2513] = new DefaultHttpContext(); + _requests[2513].RequestServices = CreateServices(); + _requests[2513].Request.Method = "DELETE"; + _requests[2513].Request.Path = "/subscriptions/d6c3a871-4c7d-/resourcegroups/24b43492-f219-4a7/providers/Microsoft.Subscriptions.Admin/offers/33d55/offerDelegations/e0f86e8b-c7a5-4b4f-"; + _requests[2514] = new DefaultHttpContext(); + _requests[2514].RequestServices = CreateServices(); + _requests[2514].Request.Method = "DELETE"; + _requests[2514].Request.Path = "/subscriptions/c95bd039-9bf4-/resourceGroups/70a3eca2-dd8d-472/providers/Microsoft.TimeSeriesInsights/environments/dc6733c6-4a69-4/accessPolicies/7c800e80-5804-46"; + _requests[2515] = new DefaultHttpContext(); + _requests[2515].RequestServices = CreateServices(); + _requests[2515].Request.Method = "DELETE"; + _requests[2515].Request.Path = "/subscriptions/53df27d8-0da3-/resourceGroups/9b0380d5-2c58-450/providers/Microsoft.TimeSeriesInsights/environments/f2b08d66-55f2-4/eventSources/89f15693-68cb-4"; + _requests[2516] = new DefaultHttpContext(); + _requests[2516].RequestServices = CreateServices(); + _requests[2516].Request.Method = "DELETE"; + _requests[2516].Request.Path = "/subscriptions/b5d5b3fe-f245-/resourceGroups/80a26728-2fb7-458/providers/Microsoft.TimeSeriesInsights/environments/9fa5d52a-f2f2-4/referenceDataSets/90d9143f-492c-49c4-8"; + _requests[2517] = new DefaultHttpContext(); + _requests[2517].RequestServices = CreateServices(); + _requests[2517].Request.Method = "GET"; + _requests[2517].Request.Path = "/subscriptions/d1442fad-3247-/resourcegroups/fc5206ba-18b3-4ec/providers/Microsoft.Update.Admin/updateLocations/d287d5a6-bcbe-/updates/c81197b1-a"; + _requests[2518] = new DefaultHttpContext(); + _requests[2518].RequestServices = CreateServices(); + _requests[2518].Request.Method = "PATCH"; + _requests[2518].Request.Path = "/subscriptions/b70bb196-5d2f-/resourcegroups/201cfc1e-ec18-47e/providers/microsoft.visualstudio/account/9eb7abc0-3816-436e-/extension/8eb2be1a-b5d5-4532-8c"; + _requests[2519] = new DefaultHttpContext(); + _requests[2519].RequestServices = CreateServices(); + _requests[2519].Request.Method = "PATCH"; + _requests[2519].Request.Path = "/subscriptions/3178ace2-6fe2-/resourceGroups/45e8328e-a40f-4ac/providers/microsoft.visualstudio/account/499df704-cd3f-43/project/3d28102d-537"; + _requests[2520] = new DefaultHttpContext(); + _requests[2520].RequestServices = CreateServices(); + _requests[2520].Request.Method = "GET"; + _requests[2520].Request.Path = "/subscriptions/84e419f1-f2f5-/resourceGroups/5cb73c3f-fafa-4f6/providers/Microsoft.Web/hostingEnvironments/d7ebd/detectors/9faa8c9d-99a"; + _requests[2521] = new DefaultHttpContext(); + _requests[2521].RequestServices = CreateServices(); + _requests[2521].Request.Method = "GET"; + _requests[2521].Request.Path = "/subscriptions/b9de9432-8e0e-/resourceGroups/859f4d2b-b3f5-41a/providers/Microsoft.Web/hostingEnvironments/d17a9/diagnostics/58f2d5f4-8a53-4"; + _requests[2522] = new DefaultHttpContext(); + _requests[2522].RequestServices = CreateServices(); + _requests[2522].Request.Method = "GET"; + _requests[2522].Request.Path = "/subscriptions/5da19b96-21c6-/resourceGroups/90072128-3255-416/providers/Microsoft.Web/hostingEnvironments/b75c6/operations/02480e83-64"; + _requests[2523] = new DefaultHttpContext(); + _requests[2523].RequestServices = CreateServices(); + _requests[2523].Request.Method = "PATCH"; + _requests[2523].Request.Path = "/subscriptions/669cd973-4868-/resourceGroups/9b8dc972-fff6-46f/providers/Microsoft.Web/hostingEnvironments/d6596/workerPools/3edad689-5bca-"; + _requests[2524] = new DefaultHttpContext(); + _requests[2524].RequestServices = CreateServices(); + _requests[2524].Request.Method = "GET"; + _requests[2524].Request.Path = "/subscriptions/c2b32deb-f3ad-/resourceGroups/9644b7b4-c190-4fb/providers/Microsoft.Web/managedHostingEnvironments/60dad/operations/3303f771-f3"; + _requests[2525] = new DefaultHttpContext(); + _requests[2525].RequestServices = CreateServices(); + _requests[2525].Request.Method = "GET"; + _requests[2525].Request.Path = "/subscriptions/d2b7fead-f512-/resourceGroups/71543445-ac22-40e/providers/Microsoft.Web/serverfarms/bf630/operationresults/a5ac36e0-5c"; + _requests[2526] = new DefaultHttpContext(); + _requests[2526].RequestServices = CreateServices(); + _requests[2526].Request.Method = "GET"; + _requests[2526].Request.Path = "/subscriptions/e9a74bdb-eb53-/resourceGroups/b7e948c6-0784-4fa/providers/Microsoft.Web/serverfarms/02caa/virtualNetworkConnections/bb7f96b1"; + _requests[2527] = new DefaultHttpContext(); + _requests[2527].RequestServices = CreateServices(); + _requests[2527].Request.Method = "DELETE"; + _requests[2527].Request.Path = "/subscriptions/4a4325f9-28ff-/resourceGroups/22134dd0-e4d4-460/providers/Microsoft.Web/sites/60002/backups/65417496"; + _requests[2528] = new DefaultHttpContext(); + _requests[2528].RequestServices = CreateServices(); + _requests[2528].Request.Method = "DELETE"; + _requests[2528].Request.Path = "/subscriptions/c6b53608-9aff-/resourceGroups/95a0e22c-9a1e-4a4/providers/Microsoft.Web/sites/461ca/continuouswebjobs/fcf42710-3"; + _requests[2529] = new DefaultHttpContext(); + _requests[2529].RequestServices = CreateServices(); + _requests[2529].Request.Method = "DELETE"; + _requests[2529].Request.Path = "/subscriptions/1a5a64dd-89c2-/resourceGroups/e7df0a66-da00-4d1/providers/Microsoft.Web/sites/f2eef/deployments/69fe3"; + _requests[2530] = new DefaultHttpContext(); + _requests[2530].RequestServices = CreateServices(); + _requests[2530].Request.Method = "PATCH"; + _requests[2530].Request.Path = "/subscriptions/15aaddc2-06f2-/resourceGroups/dd1e3123-77de-486/providers/Microsoft.Web/sites/f70eb/domainOwnershipIdentifiers/742459a5-89d5-4085-a5c3-20512"; + _requests[2531] = new DefaultHttpContext(); + _requests[2531].RequestServices = CreateServices(); + _requests[2531].Request.Method = "DELETE"; + _requests[2531].Request.Path = "/subscriptions/2258004c-1930-/resourceGroups/631837b9-93ed-4f1/providers/Microsoft.Web/sites/b5e39/functions/aeb5b917-a44"; + _requests[2532] = new DefaultHttpContext(); + _requests[2532].RequestServices = CreateServices(); + _requests[2532].Request.Method = "DELETE"; + _requests[2532].Request.Path = "/subscriptions/e45c5921-070a-/resourceGroups/c3746dc9-bcd7-4bf/providers/Microsoft.Web/sites/393ad/hostNameBindings/624485ca"; + _requests[2533] = new DefaultHttpContext(); + _requests[2533].RequestServices = CreateServices(); + _requests[2533].Request.Method = "PATCH"; + _requests[2533].Request.Path = "/subscriptions/d50073c9-9d9b-/resourceGroups/c8504e0a-5168-434/providers/Microsoft.Web/sites/ab624/hybridconnection/9c311902-c"; + _requests[2534] = new DefaultHttpContext(); + _requests[2534].RequestServices = CreateServices(); + _requests[2534].Request.Method = "GET"; + _requests[2534].Request.Path = "/subscriptions/02d1abed-ed13-/resourceGroups/30a84f5d-6d24-4b6/providers/Microsoft.Web/sites/8c94b/networkFeatures/01d1c"; + _requests[2535] = new DefaultHttpContext(); + _requests[2535].RequestServices = CreateServices(); + _requests[2535].Request.Method = "GET"; + _requests[2535].Request.Path = "/subscriptions/49c17d0a-4e23-/resourceGroups/a151467c-a9ac-430/providers/Microsoft.Web/sites/4669f/operationresults/60762f9f-2e"; + _requests[2536] = new DefaultHttpContext(); + _requests[2536].RequestServices = CreateServices(); + _requests[2536].Request.Method = "DELETE"; + _requests[2536].Request.Path = "/subscriptions/4685f686-836b-/resourceGroups/bee8442c-94c6-4f0/providers/Microsoft.Web/sites/6ca95/premieraddons/66ae8d03-b24e-44"; + _requests[2537] = new DefaultHttpContext(); + _requests[2537].RequestServices = CreateServices(); + _requests[2537].Request.Method = "DELETE"; + _requests[2537].Request.Path = "/subscriptions/856e1b43-66b4-/resourceGroups/01e3b988-7727-4f8/providers/Microsoft.Web/sites/08f4b/processes/27fe5890-"; + _requests[2538] = new DefaultHttpContext(); + _requests[2538].RequestServices = CreateServices(); + _requests[2538].Request.Method = "DELETE"; + _requests[2538].Request.Path = "/subscriptions/75fc939b-34f9-/resourceGroups/88ee691a-11cd-45e/providers/Microsoft.Web/sites/8eb80/publicCertificates/3a37fe63-199e-4d60-a7"; + _requests[2539] = new DefaultHttpContext(); + _requests[2539].RequestServices = CreateServices(); + _requests[2539].Request.Method = "DELETE"; + _requests[2539].Request.Path = "/subscriptions/24277be5-5e2c-/resourceGroups/ef179744-d855-4e8/providers/Microsoft.Web/sites/70af9/siteextensions/96f45cd3-1c03-4"; + _requests[2540] = new DefaultHttpContext(); + _requests[2540].RequestServices = CreateServices(); + _requests[2540].Request.Method = "PATCH"; + _requests[2540].Request.Path = "/subscriptions/70f1f590-7073-/resourceGroups/6baaaf8a-3367-464/providers/Microsoft.Web/sites/2ad55/slots/34b37"; + _requests[2541] = new DefaultHttpContext(); + _requests[2541].RequestServices = CreateServices(); + _requests[2541].Request.Method = "DELETE"; + _requests[2541].Request.Path = "/subscriptions/3cfd8d25-1cee-/resourceGroups/250b9e13-3a1d-4c7/providers/Microsoft.Web/sites/e882b/triggeredwebjobs/57d8185e-9"; + _requests[2542] = new DefaultHttpContext(); + _requests[2542].RequestServices = CreateServices(); + _requests[2542].Request.Method = "PATCH"; + _requests[2542].Request.Path = "/subscriptions/b6b3f1bc-202c-/resourceGroups/a9de7beb-a2cc-4fe/providers/Microsoft.Web/sites/6ce4f/virtualNetworkConnections/f354a0bc"; + _requests[2543] = new DefaultHttpContext(); + _requests[2543].RequestServices = CreateServices(); + _requests[2543].Request.Method = "GET"; + _requests[2543].Request.Path = "/subscriptions/1ad8cbf4-8145-/resourceGroups/0ceaf946-0ef0-4c8/providers/Microsoft.Web/sites/7ae5c/webjobs/7d7faab5-a"; + _requests[2544] = new DefaultHttpContext(); + _requests[2544].RequestServices = CreateServices(); + _requests[2544].Request.Method = "GET"; + _requests[2544].Request.Path = "/subscriptions/4e013fc0-3ad9-/resourceGroups/db23b0f4-6f74-424/providers/Microsoft.Web/sites/739fb4df/detectors/6467de1e-ab4"; + _requests[2545] = new DefaultHttpContext(); + _requests[2545].RequestServices = CreateServices(); + _requests[2545].Request.Method = "GET"; + _requests[2545].Request.Path = "/subscriptions/202c7903-3fec-/resourceGroups/849808b0-5176-469/providers/Microsoft.Web/sites/7eec8bb3/diagnostics/a5bb4c11-a054-481d"; + _requests[2546] = new DefaultHttpContext(); + _requests[2546].RequestServices = CreateServices(); + _requests[2546].Request.Method = "GET"; + _requests[2546].Request.Path = "/subscriptions/ea29692c-192b-/resourceGroups/02b6cf92-28a1-4c5/providers/Microsoft.Web/sites/f56a2066/recommendations/3e443"; + _requests[2547] = new DefaultHttpContext(); + _requests[2547].RequestServices = CreateServices(); + _requests[2547].Request.Method = "POST"; + _requests[2547].Request.Path = "/subscriptions/02fbfba3-2b70-/resourceGroup/04720358-2e6e-405/providers/Microsoft.MachineLearningServices/workspaces/046fccc4-5151/computes/c4fdcfb7-56/listKeys"; + _requests[2548] = new DefaultHttpContext(); + _requests[2548].RequestServices = CreateServices(); + _requests[2548].Request.Method = "GET"; + _requests[2548].Request.Path = "/subscriptions/50f6cf35-8fa3-/resourceGroups/24751947-/providers/Microsoft.DataMigration/services/b94b2431-28/projects/8ed78364-52/tasks"; + _requests[2549] = new DefaultHttpContext(); + _requests[2549].RequestServices = CreateServices(); + _requests[2549].Request.Method = "POST"; + _requests[2549].Request.Path = "/subscriptions/e91bedaa-f3e7-/resourcegroups/5a3adc05-d987/providers/Microsoft.AzureBridge.Admin/activations/19836397-384d-/products/3d3ed4fc-d3/download"; + _requests[2550] = new DefaultHttpContext(); + _requests[2550].RequestServices = CreateServices(); + _requests[2550].Request.Method = "POST"; + _requests[2550].Request.Path = "/subscriptions/e867e977-965d-/resourceGroups/8eaeff6a-bb90/providers/Microsoft.AzureStack/registrations/44868916-b2ac-42/products/24219a29-35/listDetails"; + _requests[2551] = new DefaultHttpContext(); + _requests[2551].RequestServices = CreateServices(); + _requests[2551].Request.Method = "GET"; + _requests[2551].Request.Path = "/subscriptions/472cfd27-2da6-/resourceGroups/a614e081-8746-41a/providers/Microsoft.ApiManagement/service/416be490-60/apis/77fca/diagnostics"; + _requests[2552] = new DefaultHttpContext(); + _requests[2552].RequestServices = CreateServices(); + _requests[2552].Request.Method = "GET"; + _requests[2552].Request.Path = "/subscriptions/6cbfd7cb-d2bd-/resourceGroups/eace3039-f55a-438/providers/Microsoft.ApiManagement/service/8d91517b-00/apis/28355/issues"; + _requests[2553] = new DefaultHttpContext(); + _requests[2553].RequestServices = CreateServices(); + _requests[2553].Request.Method = "GET"; + _requests[2553].Request.Path = "/subscriptions/e2e6b621-4246-/resourceGroups/8ac7ab0d-4264-470/providers/Microsoft.ApiManagement/service/14320a99-ce/apis/82eb7/operations"; + _requests[2554] = new DefaultHttpContext(); + _requests[2554].RequestServices = CreateServices(); + _requests[2554].Request.Method = "GET"; + _requests[2554].Request.Path = "/subscriptions/800c35c1-9169-/resourceGroups/5b12d1b4-a060-400/providers/Microsoft.ApiManagement/service/cedcd067-1b/apis/3a210/operationsByTags"; + _requests[2555] = new DefaultHttpContext(); + _requests[2555].RequestServices = CreateServices(); + _requests[2555].Request.Method = "GET"; + _requests[2555].Request.Path = "/subscriptions/8d0e4228-7303-/resourceGroups/6bd951c6-7914-455/providers/Microsoft.ApiManagement/service/5809d752-da/apis/0f9b4/policies"; + _requests[2556] = new DefaultHttpContext(); + _requests[2556].RequestServices = CreateServices(); + _requests[2556].Request.Method = "DELETE"; + _requests[2556].Request.Path = "/subscriptions/582cbb9b-7568-/resourceGroups/18cd5edd-d148-4ea/providers/Microsoft.ApiManagement/service/c9029afc-c8/apis/3c003/policy"; + _requests[2557] = new DefaultHttpContext(); + _requests[2557].RequestServices = CreateServices(); + _requests[2557].Request.Method = "GET"; + _requests[2557].Request.Path = "/subscriptions/c69764a3-996f-/resourceGroups/3b06c65f-d274-43d/providers/Microsoft.ApiManagement/service/fd248064-ff/apis/11690/products"; + _requests[2558] = new DefaultHttpContext(); + _requests[2558].RequestServices = CreateServices(); + _requests[2558].Request.Method = "GET"; + _requests[2558].Request.Path = "/subscriptions/96cbe5f0-0d27-/resourceGroups/f6f60a41-7a6e-474/providers/Microsoft.ApiManagement/service/5acaddf3-d5/apis/e63b2/releases"; + _requests[2559] = new DefaultHttpContext(); + _requests[2559].RequestServices = CreateServices(); + _requests[2559].Request.Method = "GET"; + _requests[2559].Request.Path = "/subscriptions/4349f1d1-0c69-/resourceGroups/b7a68ec9-1db9-489/providers/Microsoft.ApiManagement/service/c4bbdaca-24/apis/4de88/revisions"; + _requests[2560] = new DefaultHttpContext(); + _requests[2560].RequestServices = CreateServices(); + _requests[2560].Request.Method = "GET"; + _requests[2560].Request.Path = "/subscriptions/1fef62fd-7d79-/resourceGroups/3a3fe9e1-c620-44e/providers/Microsoft.ApiManagement/service/9c152290-3d/apis/6ad34/schemas"; + _requests[2561] = new DefaultHttpContext(); + _requests[2561].RequestServices = CreateServices(); + _requests[2561].Request.Method = "GET"; + _requests[2561].Request.Path = "/subscriptions/653f2643-0145-/resourceGroups/0415fc4f-335d-48c/providers/Microsoft.ApiManagement/service/ab56c5e0-8e/apis/42f53/tagDescriptions"; + _requests[2562] = new DefaultHttpContext(); + _requests[2562].RequestServices = CreateServices(); + _requests[2562].Request.Method = "GET"; + _requests[2562].Request.Path = "/subscriptions/020cd39a-bf0b-/resourceGroups/8db7caf9-b80b-4a0/providers/Microsoft.ApiManagement/service/4445d7e4-be/apis/18b08/tags"; + _requests[2563] = new DefaultHttpContext(); + _requests[2563].RequestServices = CreateServices(); + _requests[2563].Request.Method = "POST"; + _requests[2563].Request.Path = "/subscriptions/ccdbf8e6-fb82-/resourceGroups/6da6ce66-7d6a-430/providers/Microsoft.ApiManagement/service/bc9b33d3-3d/backends/844f2e80-/reconnect"; + _requests[2564] = new DefaultHttpContext(); + _requests[2564].RequestServices = CreateServices(); + _requests[2564].Request.Method = "GET"; + _requests[2564].Request.Path = "/subscriptions/caec0cfa-a9d0-/resourceGroups/554575aa-25b9-456/providers/Microsoft.ApiManagement/service/fe7dd1e0-7a/diagnostics/de288dff-78f/loggers"; + _requests[2565] = new DefaultHttpContext(); + _requests[2565].RequestServices = CreateServices(); + _requests[2565].Request.Method = "GET"; + _requests[2565].Request.Path = "/subscriptions/cb6d205f-84e8-/resourceGroups/2ebdc0f1-2544-40d/providers/Microsoft.ApiManagement/service/121d1a6f-94/groups/0287db3/users"; + _requests[2566] = new DefaultHttpContext(); + _requests[2566].RequestServices = CreateServices(); + _requests[2566].Request.Method = "GET"; + _requests[2566].Request.Path = "/subscriptions/05d9fe37-3a58-/resourceGroups/5bc7c5fc-fe34-455/providers/Microsoft.ApiManagement/service/7a6bf63f-65/locations/15052bc9-289/networkstatus"; + _requests[2567] = new DefaultHttpContext(); + _requests[2567].RequestServices = CreateServices(); + _requests[2567].Request.Method = "GET"; + _requests[2567].Request.Path = "/subscriptions/6ff9de64-a2eb-/resourceGroups/7b9e51fa-9ab9-406/providers/Microsoft.ApiManagement/service/d647b7f4-11/notifications/f989bbf2-61b9-44/recipientEmails"; + _requests[2568] = new DefaultHttpContext(); + _requests[2568].RequestServices = CreateServices(); + _requests[2568].Request.Method = "GET"; + _requests[2568].Request.Path = "/subscriptions/fb8af335-5543-/resourceGroups/04a366d7-2e01-48d/providers/Microsoft.ApiManagement/service/e2b3a31a-a1/notifications/f126410a-1f87-4d/recipientUsers"; + _requests[2569] = new DefaultHttpContext(); + _requests[2569].RequestServices = CreateServices(); + _requests[2569].Request.Method = "GET"; + _requests[2569].Request.Path = "/subscriptions/32be4987-49f9-/resourceGroups/3a2d1f48-73d1-4d0/providers/Microsoft.ApiManagement/service/bc867a92-43/products/34be31c1-/apis"; + _requests[2570] = new DefaultHttpContext(); + _requests[2570].RequestServices = CreateServices(); + _requests[2570].Request.Method = "GET"; + _requests[2570].Request.Path = "/subscriptions/50dc9c3f-ff92-/resourceGroups/51927182-f257-422/providers/Microsoft.ApiManagement/service/71896d85-5d/products/7137b4b8-/groups"; + _requests[2571] = new DefaultHttpContext(); + _requests[2571].RequestServices = CreateServices(); + _requests[2571].Request.Method = "GET"; + _requests[2571].Request.Path = "/subscriptions/27a8f069-f10c-/resourceGroups/9253de8c-300a-42d/providers/Microsoft.ApiManagement/service/b083279f-50/products/672890a6-/policies"; + _requests[2572] = new DefaultHttpContext(); + _requests[2572].RequestServices = CreateServices(); + _requests[2572].Request.Method = "DELETE"; + _requests[2572].Request.Path = "/subscriptions/cb80df61-b3d8-/resourceGroups/2417e55e-f434-42e/providers/Microsoft.ApiManagement/service/980d7f8a-30/products/b03c4ca7-/policy"; + _requests[2573] = new DefaultHttpContext(); + _requests[2573].RequestServices = CreateServices(); + _requests[2573].Request.Method = "GET"; + _requests[2573].Request.Path = "/subscriptions/2e8ab9e6-06f1-/resourceGroups/e5be5024-88cf-42f/providers/Microsoft.ApiManagement/service/ab5c588e-80/products/53ca5a3f-/subscriptions"; + _requests[2574] = new DefaultHttpContext(); + _requests[2574].RequestServices = CreateServices(); + _requests[2574].Request.Method = "GET"; + _requests[2574].Request.Path = "/subscriptions/95a21975-41af-/resourceGroups/8f0dd7d0-b575-499/providers/Microsoft.ApiManagement/service/2ff5aa66-c1/products/226a5d25-/tags"; + _requests[2575] = new DefaultHttpContext(); + _requests[2575].RequestServices = CreateServices(); + _requests[2575].Request.Method = "POST"; + _requests[2575].Request.Path = "/subscriptions/7eb07e7d-f35f-/resourceGroups/a27f5565-409b-41d/providers/Microsoft.ApiManagement/service/b8457014-be/subscriptions/1c39d/regeneratePrimaryKey"; + _requests[2576] = new DefaultHttpContext(); + _requests[2576].RequestServices = CreateServices(); + _requests[2576].Request.Method = "POST"; + _requests[2576].Request.Path = "/subscriptions/417eaa6f-b0a5-/resourceGroups/fab150eb-9509-40f/providers/Microsoft.ApiManagement/service/7d8919bc-33/subscriptions/53e13/regenerateSecondaryKey"; + _requests[2577] = new DefaultHttpContext(); + _requests[2577].RequestServices = CreateServices(); + _requests[2577].Request.Method = "GET"; + _requests[2577].Request.Path = "/subscriptions/5f9a5aa1-02bc-/resourceGroups/37be930c-7ffa-401/providers/Microsoft.ApiManagement/service/abdb0573-6a/tenant/c403e86c-5/git"; + _requests[2578] = new DefaultHttpContext(); + _requests[2578].RequestServices = CreateServices(); + _requests[2578].Request.Method = "POST"; + _requests[2578].Request.Path = "/subscriptions/515a9c85-0d38-/resourceGroups/93849134-d722-457/providers/Microsoft.ApiManagement/service/698c2e3f-d6/tenant/6093faf1-9/regeneratePrimaryKey"; + _requests[2579] = new DefaultHttpContext(); + _requests[2579].RequestServices = CreateServices(); + _requests[2579].Request.Method = "POST"; + _requests[2579].Request.Path = "/subscriptions/20102025-23f3-/resourceGroups/e4e7ee63-5b21-477/providers/Microsoft.ApiManagement/service/b1b456f5-45/tenant/1aabcf2b-8/regenerateSecondaryKey"; + _requests[2580] = new DefaultHttpContext(); + _requests[2580].RequestServices = CreateServices(); + _requests[2580].Request.Method = "POST"; + _requests[2580].Request.Path = "/subscriptions/a1628112-2bf7-/resourceGroups/35fe6351-d897-4c1/providers/Microsoft.ApiManagement/service/4900830d-9d/tenant/ce20fd5a-536f-417/deploy"; + _requests[2581] = new DefaultHttpContext(); + _requests[2581].RequestServices = CreateServices(); + _requests[2581].Request.Method = "POST"; + _requests[2581].Request.Path = "/subscriptions/7b771888-a01f-/resourceGroups/93b87f2d-1394-441/providers/Microsoft.ApiManagement/service/892794de-51/tenant/f763558f-1ac1-477/save"; + _requests[2582] = new DefaultHttpContext(); + _requests[2582].RequestServices = CreateServices(); + _requests[2582].Request.Method = "GET"; + _requests[2582].Request.Path = "/subscriptions/8a9cc09a-4cae-/resourceGroups/a2e17c1d-e3b2-472/providers/Microsoft.ApiManagement/service/85072040-66/tenant/9ad45d67-b4cb-4fd/syncState"; + _requests[2583] = new DefaultHttpContext(); + _requests[2583].RequestServices = CreateServices(); + _requests[2583].Request.Method = "POST"; + _requests[2583].Request.Path = "/subscriptions/ca6dbc29-8519-/resourceGroups/8cf6b774-3bb2-4c3/providers/Microsoft.ApiManagement/service/af24d6a0-69/tenant/0c390843-4785-41a/validate"; + _requests[2584] = new DefaultHttpContext(); + _requests[2584].RequestServices = CreateServices(); + _requests[2584].Request.Method = "POST"; + _requests[2584].Request.Path = "/subscriptions/fec8a480-9f49-/resourceGroups/1e7f811e-c3fd-4e6/providers/Microsoft.ApiManagement/service/58649660-d6/users/3ae04/generateSsoUrl"; + _requests[2585] = new DefaultHttpContext(); + _requests[2585].RequestServices = CreateServices(); + _requests[2585].Request.Method = "GET"; + _requests[2585].Request.Path = "/subscriptions/3af66f63-bf6f-/resourceGroups/2e7120cf-b24b-4ef/providers/Microsoft.ApiManagement/service/48c39255-7f/users/29b10/groups"; + _requests[2586] = new DefaultHttpContext(); + _requests[2586].RequestServices = CreateServices(); + _requests[2586].Request.Method = "GET"; + _requests[2586].Request.Path = "/subscriptions/3f871e8f-6e52-/resourceGroups/50408d8a-cfdb-46a/providers/Microsoft.ApiManagement/service/d05d2036-9c/users/7af60/identities"; + _requests[2587] = new DefaultHttpContext(); + _requests[2587].RequestServices = CreateServices(); + _requests[2587].Request.Method = "GET"; + _requests[2587].Request.Path = "/subscriptions/57f76836-5c03-/resourceGroups/6e59b11e-423f-491/providers/Microsoft.ApiManagement/service/b070a1b3-eb/users/83bf2/subscriptions"; + _requests[2588] = new DefaultHttpContext(); + _requests[2588].RequestServices = CreateServices(); + _requests[2588].Request.Method = "POST"; + _requests[2588].Request.Path = "/subscriptions/9d2b6cd3-f6fd-/resourceGroups/23e8d375-b077-46f/providers/Microsoft.ApiManagement/service/164cdba9-c9/users/3f797/token"; + _requests[2589] = new DefaultHttpContext(); + _requests[2589].RequestServices = CreateServices(); + _requests[2589].Request.Method = "GET"; + _requests[2589].Request.Path = "/subscriptions/b11fd4a1-11d7-/resourceGroups/9f809b78-a35c-41c/providers/Microsoft.Automation/automationAccounts/dc29566b-9e64-4a9b-b8/compilationjobs/84874/streams"; + _requests[2590] = new DefaultHttpContext(); + _requests[2590].RequestServices = CreateServices(); + _requests[2590].Request.Method = "GET"; + _requests[2590].Request.Path = "/subscriptions/df099880-cfd7-/resourceGroups/0e052eb8-c028-478/providers/Microsoft.Automation/automationAccounts/b76ab86c-4f77-4c8d-a5/configurations/83516823-d2af-41d/content"; + _requests[2591] = new DefaultHttpContext(); + _requests[2591].RequestServices = CreateServices(); + _requests[2591].Request.Method = "GET"; + _requests[2591].Request.Path = "/subscriptions/d00d869d-095b-/resourceGroups/43f2280a-3670-49c/providers/Microsoft.Automation/automationAccounts/6b0d366d-d8ac-4036-85/jobs/9c5d3/output"; + _requests[2592] = new DefaultHttpContext(); + _requests[2592].RequestServices = CreateServices(); + _requests[2592].Request.Method = "POST"; + _requests[2592].Request.Path = "/subscriptions/dce424d7-dcf8-/resourceGroups/c0dbebd5-3e67-495/providers/Microsoft.Automation/automationAccounts/18662910-1163-425c-b2/jobs/fdb08/resume"; + _requests[2593] = new DefaultHttpContext(); + _requests[2593].RequestServices = CreateServices(); + _requests[2593].Request.Method = "GET"; + _requests[2593].Request.Path = "/subscriptions/2276ccec-d5d0-/resourceGroups/db771516-6cfb-49c/providers/Microsoft.Automation/automationAccounts/c84f077a-8134-4495-8f/jobs/50712/runbookContent"; + _requests[2594] = new DefaultHttpContext(); + _requests[2594].RequestServices = CreateServices(); + _requests[2594].Request.Method = "POST"; + _requests[2594].Request.Path = "/subscriptions/61fbcd93-4839-/resourceGroups/26715397-68d1-41c/providers/Microsoft.Automation/automationAccounts/ac5ad4f2-6295-4a7e-a7/jobs/da4c6/stop"; + _requests[2595] = new DefaultHttpContext(); + _requests[2595].RequestServices = CreateServices(); + _requests[2595].Request.Method = "GET"; + _requests[2595].Request.Path = "/subscriptions/9b6c9b6e-1531-/resourceGroups/b5f8ffec-fb63-47f/providers/Microsoft.Automation/automationAccounts/bf7e560e-7cd2-4fcf-bb/jobs/037dd/streams"; + _requests[2596] = new DefaultHttpContext(); + _requests[2596].RequestServices = CreateServices(); + _requests[2596].Request.Method = "POST"; + _requests[2596].Request.Path = "/subscriptions/89ec4caa-1b0a-/resourceGroups/a7bf623f-faa6-41c/providers/Microsoft.Automation/automationAccounts/cb020820-c15e-4fb1-83/jobs/549e4/suspend"; + _requests[2597] = new DefaultHttpContext(); + _requests[2597].RequestServices = CreateServices(); + _requests[2597].Request.Method = "GET"; + _requests[2597].Request.Path = "/subscriptions/6909db94-f64e-/resourceGroups/522ad111-af5d-412/providers/Microsoft.Automation/automationAccounts/a7658a75-0ab5-49ea-9c/modules/9b7eba80-d/activities"; + _requests[2598] = new DefaultHttpContext(); + _requests[2598].RequestServices = CreateServices(); + _requests[2598].Request.Method = "GET"; + _requests[2598].Request.Path = "/subscriptions/316c1d8a-3c92-/resourceGroups/aeb4801f-7c29-47a/providers/Microsoft.Automation/automationAccounts/35faa5d4-8b84-4508-93/nodes/53b7e1/reports"; + _requests[2599] = new DefaultHttpContext(); + _requests[2599].RequestServices = CreateServices(); + _requests[2599].Request.Method = "GET"; + _requests[2599].Request.Path = "/subscriptions/5d83a3c6-852c-/resourceGroups/1cc86819-78f3-4d6/providers/Microsoft.Automation/automationAccounts/fe3f6326-c743-4cbe-b3/objectDataTypes/4359a5d2/fields"; + _requests[2600] = new DefaultHttpContext(); + _requests[2600].RequestServices = CreateServices(); + _requests[2600].Request.Method = "GET"; + _requests[2600].Request.Path = "/subscriptions/66cb68f0-c098-/resourceGroups/421fa6dd-9c62-49e/providers/Microsoft.Automation/automationAccounts/751d2b64-dadf-4233-a6/runbooks/cde3a39e-11/content"; + _requests[2601] = new DefaultHttpContext(); + _requests[2601].RequestServices = CreateServices(); + _requests[2601].Request.Method = "GET"; + _requests[2601].Request.Path = "/subscriptions/a3559404-da89-/resourceGroups/67d87c53-6ff5-4a5/providers/Microsoft.Automation/automationAccounts/15a3ba19-4653-425e-ba/runbooks/bb9c9972-b0/draft"; + _requests[2602] = new DefaultHttpContext(); + _requests[2602].RequestServices = CreateServices(); + _requests[2602].Request.Method = "GET"; + _requests[2602].Request.Path = "/subscriptions/743dbf6f-b3c3-/resourceGroups/43fcc4ce-cadf-47a/providers/Microsoft.Automation/automationAccounts/7609894e-cb13-4f00-8d/sourceControls/2ca4dcd7-a370-44d/sourceControlSyncJobs"; + _requests[2603] = new DefaultHttpContext(); + _requests[2603].RequestServices = CreateServices(); + _requests[2603].Request.Method = "POST"; + _requests[2603].Request.Path = "/subscriptions/97e6ce9f-8299-/resourceGroups/0e17cfa2-ad2a-4c1/providers/Microsoft.Automation/automationAccounts/cc1b438f-040f-4b43-9e/watchers/b6657b95-be/start"; + _requests[2604] = new DefaultHttpContext(); + _requests[2604].RequestServices = CreateServices(); + _requests[2604].Request.Method = "POST"; + _requests[2604].Request.Path = "/subscriptions/2d253235-ce08-/resourceGroups/6e4e6712-4815-495/providers/Microsoft.Automation/automationAccounts/0446c1a5-46b3-4d34-b7/watchers/ecb3fb45-05/stop"; + _requests[2605] = new DefaultHttpContext(); + _requests[2605].RequestServices = CreateServices(); + _requests[2605].Request.Method = "POST"; + _requests[2605].Request.Path = "/subscriptions/38136fcd-55b5-/resourcegroups/6b690f86-94e8-45c/providers/Microsoft.Backup.Admin/backupLocations/9415205d/backups/548f6a/restore"; + _requests[2606] = new DefaultHttpContext(); + _requests[2606].RequestServices = CreateServices(); + _requests[2606].Request.Method = "POST"; + _requests[2606].Request.Path = "/subscriptions/45ca795e-61da-/resourceGroups/6e6e12ab-4810-420/providers/Microsoft.Batch/batchAccounts/60f5a1ad-34/certificates/d18c727c-f736-4/cancelDelete"; + _requests[2607] = new DefaultHttpContext(); + _requests[2607].RequestServices = CreateServices(); + _requests[2607].Request.Method = "POST"; + _requests[2607].Request.Path = "/subscriptions/5345908e-6eb3-/resourceGroups/bf5b1c0f-6c9d-4e6/providers/Microsoft.Batch/batchAccounts/2269541b-47/pools/56d2b1f6/disableAutoScale"; + _requests[2608] = new DefaultHttpContext(); + _requests[2608].RequestServices = CreateServices(); + _requests[2608].Request.Method = "POST"; + _requests[2608].Request.Path = "/subscriptions/43d34b4b-975d-/resourceGroups/d7926aa1-0eb7-4e2/providers/Microsoft.Batch/batchAccounts/351becc5-b2/pools/d3a8b07d/stopResize"; + _requests[2609] = new DefaultHttpContext(); + _requests[2609].RequestServices = CreateServices(); + _requests[2609].Request.Method = "POST"; + _requests[2609].Request.Path = "/subscriptions/6cedf9bf-37ed-/resourceGroups/12c0e70f-7ef5-45d/providers/Microsoft.BatchAI/workspaces/a163e65f-0591/clusters/90790fea-ed/listRemoteLoginInformation"; + _requests[2610] = new DefaultHttpContext(); + _requests[2610].RequestServices = CreateServices(); + _requests[2610].Request.Method = "GET"; + _requests[2610].Request.Path = "/subscriptions/c113fad5-f36e-/resourceGroups/5aaa8790-ae11-4dc/providers/Microsoft.BatchAI/workspaces/ad2ba958-940d/experiments/6352ca09-1eb6-/jobs"; + _requests[2611] = new DefaultHttpContext(); + _requests[2611].RequestServices = CreateServices(); + _requests[2611].Request.Method = "POST"; + _requests[2611].Request.Path = "/subscriptions/d9896346-097e-/resourceGroups/87448240-a2e2-49c/providers/Microsoft.BotService/botServices/1599fee4-108/channels/f28e344e-33/listChannelWithKeys"; + _requests[2612] = new DefaultHttpContext(); + _requests[2612].RequestServices = CreateServices(); + _requests[2612].Request.Method = "POST"; + _requests[2612].Request.Path = "/subscriptions/7753cdb6-e894-/resourceGroups/be481f0f-979b-481/providers/Microsoft.BotService/botServices/58e10fae-6f5/Connections/7ffabc3d-ca30-/listWithSecrets"; + _requests[2613] = new DefaultHttpContext(); + _requests[2613].RequestServices = CreateServices(); + _requests[2613].Request.Method = "POST"; + _requests[2613].Request.Path = "/subscriptions/bcd69ad5-5057-/resourceGroups/0dded720-b714-464/providers/Microsoft.Cdn/profiles/335da9d7-c4/endpoints/f18a2bcd-6b6/checkResourceUsage"; + _requests[2614] = new DefaultHttpContext(); + _requests[2614].RequestServices = CreateServices(); + _requests[2614].Request.Method = "GET"; + _requests[2614].Request.Path = "/subscriptions/7cda9a78-2d5b-/resourceGroups/e098628f-849b-45e/providers/Microsoft.Cdn/profiles/72256ad6-cd/endpoints/24bd626c-5ee/customDomains"; + _requests[2615] = new DefaultHttpContext(); + _requests[2615].RequestServices = CreateServices(); + _requests[2615].Request.Method = "POST"; + _requests[2615].Request.Path = "/subscriptions/69336c70-ef91-/resourceGroups/2e221732-b4a1-441/providers/Microsoft.Cdn/profiles/2a1243ed-61/endpoints/15b2add3-958/load"; + _requests[2616] = new DefaultHttpContext(); + _requests[2616].RequestServices = CreateServices(); + _requests[2616].Request.Method = "GET"; + _requests[2616].Request.Path = "/subscriptions/16cb16d0-5755-/resourceGroups/99965994-d2fa-43f/providers/Microsoft.Cdn/profiles/5a067c9d-04/endpoints/62af92a0-db4/origins"; + _requests[2617] = new DefaultHttpContext(); + _requests[2617].RequestServices = CreateServices(); + _requests[2617].Request.Method = "POST"; + _requests[2617].Request.Path = "/subscriptions/112a3dd3-acab-/resourceGroups/3d95ed31-900f-42f/providers/Microsoft.Cdn/profiles/127d2c9e-6e/endpoints/d3c49d07-767/purge"; + _requests[2618] = new DefaultHttpContext(); + _requests[2618].RequestServices = CreateServices(); + _requests[2618].Request.Method = "POST"; + _requests[2618].Request.Path = "/subscriptions/e64ff3fd-30fa-/resourceGroups/f2d74b2a-4f83-440/providers/Microsoft.Cdn/profiles/8410fd99-b8/endpoints/9e6b9bd2-728/start"; + _requests[2619] = new DefaultHttpContext(); + _requests[2619].RequestServices = CreateServices(); + _requests[2619].Request.Method = "POST"; + _requests[2619].Request.Path = "/subscriptions/ca81c3b3-41e0-/resourceGroups/e45476c8-e779-4fe/providers/Microsoft.Cdn/profiles/1c501e83-07/endpoints/fab4b5e9-d88/stop"; + _requests[2620] = new DefaultHttpContext(); + _requests[2620].RequestServices = CreateServices(); + _requests[2620].Request.Method = "POST"; + _requests[2620].Request.Path = "/subscriptions/cb0e80ac-73ca-/resourceGroups/1833bb62-7de7-4f8/providers/Microsoft.Cdn/profiles/99f8a28a-2b/endpoints/f7b9da2d-8bb/validateCustomDomain"; + _requests[2621] = new DefaultHttpContext(); + _requests[2621].RequestServices = CreateServices(); + _requests[2621].Request.Method = "GET"; + _requests[2621].Request.Path = "/subscriptions/b3a1283e-146b-/resourceGroups/c5045141-24e6-41f/providers/Microsoft.Compute/galleries/be122350-c6/images/0046a732-c41d-4b/versions"; + _requests[2622] = new DefaultHttpContext(); + _requests[2622].RequestServices = CreateServices(); + _requests[2622].Request.Method = "GET"; + _requests[2622].Request.Path = "/subscriptions/25ba8516-4c69-/resourceGroups/9c5975d4-5804-47c/providers/microsoft.Compute/virtualMachineScaleSets/8ea7349a-e367-4416-8328-5f/virtualMachines/8968d5d3-aaad-45d2-/networkInterfaces"; + _requests[2623] = new DefaultHttpContext(); + _requests[2623].RequestServices = CreateServices(); + _requests[2623].Request.Method = "POST"; + _requests[2623].Request.Path = "/subscriptions/083f8679-bb6d-/resourceGroups/fcc5adda-b04c-4ec/providers/Microsoft.Compute/virtualMachineScaleSets/1f2fd4d9-62ad-/virtualmachines/10dfc6c2-1/deallocate"; + _requests[2624] = new DefaultHttpContext(); + _requests[2624].RequestServices = CreateServices(); + _requests[2624].Request.Method = "GET"; + _requests[2624].Request.Path = "/subscriptions/8d5b5f70-b8f7-/resourceGroups/cfc159c3-988a-4df/providers/Microsoft.Compute/virtualMachineScaleSets/bc5e2576-8458-/virtualmachines/a6e04d41-a/instanceView"; + _requests[2625] = new DefaultHttpContext(); + _requests[2625].RequestServices = CreateServices(); + _requests[2625].Request.Method = "POST"; + _requests[2625].Request.Path = "/subscriptions/bd909810-a0bb-/resourceGroups/99d17f40-6bbb-468/providers/Microsoft.Compute/virtualMachineScaleSets/9d8f2c25-cbb9-/virtualmachines/adf333fd-a/performMaintenance"; + _requests[2626] = new DefaultHttpContext(); + _requests[2626].RequestServices = CreateServices(); + _requests[2626].Request.Method = "POST"; + _requests[2626].Request.Path = "/subscriptions/b9b6c823-6ca8-/resourceGroups/42696f38-59b9-40d/providers/Microsoft.Compute/virtualMachineScaleSets/51b6f5d9-cbb2-/virtualmachines/c9973b92-4/poweroff"; + _requests[2627] = new DefaultHttpContext(); + _requests[2627].RequestServices = CreateServices(); + _requests[2627].Request.Method = "POST"; + _requests[2627].Request.Path = "/subscriptions/0047543e-5c43-/resourceGroups/02d901b7-00fd-4e5/providers/Microsoft.Compute/virtualMachineScaleSets/dc025b41-aab7-/virtualmachines/726143e6-4/redeploy"; + _requests[2628] = new DefaultHttpContext(); + _requests[2628].RequestServices = CreateServices(); + _requests[2628].Request.Method = "POST"; + _requests[2628].Request.Path = "/subscriptions/b7fa40b0-aebf-/resourceGroups/64a8f9e5-b339-46a/providers/Microsoft.Compute/virtualMachineScaleSets/6c98c66c-0cb0-/virtualmachines/806b40c4-b/reimage"; + _requests[2629] = new DefaultHttpContext(); + _requests[2629].RequestServices = CreateServices(); + _requests[2629].Request.Method = "POST"; + _requests[2629].Request.Path = "/subscriptions/358c396c-6f36-/resourceGroups/f4e5b4eb-7333-45e/providers/Microsoft.Compute/virtualMachineScaleSets/a1613271-59ca-/virtualmachines/2bb4062c-1/reimageall"; + _requests[2630] = new DefaultHttpContext(); + _requests[2630].RequestServices = CreateServices(); + _requests[2630].Request.Method = "POST"; + _requests[2630].Request.Path = "/subscriptions/e6ffb763-f504-/resourceGroups/35cff6e4-da24-460/providers/Microsoft.Compute/virtualMachineScaleSets/f5d79cea-0bb7-/virtualmachines/15c55510-2/restart"; + _requests[2631] = new DefaultHttpContext(); + _requests[2631].RequestServices = CreateServices(); + _requests[2631].Request.Method = "POST"; + _requests[2631].Request.Path = "/subscriptions/3e3684e4-3035-/resourceGroups/1d7014aa-89e1-470/providers/Microsoft.Compute/virtualMachineScaleSets/6f079ccb-27aa-/virtualmachines/429fe1a1-c/start"; + _requests[2632] = new DefaultHttpContext(); + _requests[2632].RequestServices = CreateServices(); + _requests[2632].Request.Method = "POST"; + _requests[2632].Request.Path = "/subscriptions/89736891-e66e-/resourceGroups/4ae11546-da05-46f/providers/Microsoft.ContainerInstance/containerGroups/f350645a-d329-461f/containers/e7904c60-b1ff/exec"; + _requests[2633] = new DefaultHttpContext(); + _requests[2633].RequestServices = CreateServices(); + _requests[2633].Request.Method = "GET"; + _requests[2633].Request.Path = "/subscriptions/2213b1bc-3772-/resourceGroups/9576f662-7627-490/providers/Microsoft.ContainerInstance/containerGroups/faf0f9e8-8bf5-4881/containers/c2e99d8c-c582/logs"; + _requests[2634] = new DefaultHttpContext(); + _requests[2634].RequestServices = CreateServices(); + _requests[2634].Request.Method = "POST"; + _requests[2634].Request.Path = "/subscriptions/39906f3c-1f6d-/resourceGroups/ff869968-bd5f-4c7/providers/Microsoft.ContainerRegistry/registries/ba76971d-7c5/builds/dc6853c/cancel"; + _requests[2635] = new DefaultHttpContext(); + _requests[2635].RequestServices = CreateServices(); + _requests[2635].Request.Method = "POST"; + _requests[2635].Request.Path = "/subscriptions/506c3ee2-89f8-/resourceGroups/22043120-6e2c-403/providers/Microsoft.ContainerRegistry/registries/1172de5b-c1c/builds/fdb9b5c/getLogLink"; + _requests[2636] = new DefaultHttpContext(); + _requests[2636].RequestServices = CreateServices(); + _requests[2636].Request.Method = "POST"; + _requests[2636].Request.Path = "/subscriptions/30b965cc-6632-/resourceGroups/52e4a5d8-086a-4cc/providers/Microsoft.ContainerRegistry/registries/ef950dd2-009/buildTasks/b14493bf-39a8/listSourceRepositoryProperties"; + _requests[2637] = new DefaultHttpContext(); + _requests[2637].RequestServices = CreateServices(); + _requests[2637].Request.Method = "GET"; + _requests[2637].Request.Path = "/subscriptions/1a1dc2d3-d13c-/resourceGroups/b2bbc449-e8ee-428/providers/Microsoft.ContainerRegistry/registries/2e980daa-421/buildTasks/69fed525-04c8/steps"; + _requests[2638] = new DefaultHttpContext(); + _requests[2638].RequestServices = CreateServices(); + _requests[2638].Request.Method = "POST"; + _requests[2638].Request.Path = "/subscriptions/73a6c112-01f1-/resourceGroups/8117fa06-bc1e-4a7/providers/Microsoft.ContainerRegistry/registries/fc54cabe-34d/webhooks/4d5158e6-18/getCallbackConfig"; + _requests[2639] = new DefaultHttpContext(); + _requests[2639].RequestServices = CreateServices(); + _requests[2639].Request.Method = "POST"; + _requests[2639].Request.Path = "/subscriptions/30c9f14f-431f-/resourceGroups/c2a380b2-f524-485/providers/Microsoft.ContainerRegistry/registries/d12f5bc4-42b/webhooks/a4107b28-5a/listEvents"; + _requests[2640] = new DefaultHttpContext(); + _requests[2640].RequestServices = CreateServices(); + _requests[2640].Request.Method = "POST"; + _requests[2640].Request.Path = "/subscriptions/fcda7da1-385c-/resourceGroups/1472ff8f-996d-42e/providers/Microsoft.ContainerRegistry/registries/3c68f9e8-f67/webhooks/0c154e4f-2b/ping"; + _requests[2641] = new DefaultHttpContext(); + _requests[2641].RequestServices = CreateServices(); + _requests[2641].Request.Method = "POST"; + _requests[2641].Request.Path = "/subscriptions/2d0f8be6-19a6-/resourceGroups/a18cb895-80af-4cd/providers/Microsoft.ContainerService/managedClusters/911b11d6-4aa/accessProfiles/deb2f9f4/listCredential"; + _requests[2642] = new DefaultHttpContext(); + _requests[2642].RequestServices = CreateServices(); + _requests[2642].Request.Method = "POST"; + _requests[2642].Request.Path = "/subscriptions/ba9a9604-513d-/resourceGroups/90aa6540-e1a4-449/providers/Microsoft.CustomerInsights/hubs/224a79d/authorizationPolicies/8f10fae5-eaa1-4df4-81f6/regeneratePrimaryKey"; + _requests[2643] = new DefaultHttpContext(); + _requests[2643].RequestServices = CreateServices(); + _requests[2643].Request.Method = "POST"; + _requests[2643].Request.Path = "/subscriptions/52787f1d-830b-/resourceGroups/a0de82d1-cd20-4ca/providers/Microsoft.CustomerInsights/hubs/b1605ba/authorizationPolicies/f8099d1b-2b75-4478-9f9e/regenerateSecondaryKey"; + _requests[2644] = new DefaultHttpContext(); + _requests[2644].RequestServices = CreateServices(); + _requests[2644].Request.Method = "GET"; + _requests[2644].Request.Path = "/subscriptions/d801c700-5d52-/resourceGroups/dd177550-560e-49e/providers/Microsoft.CustomerInsights/hubs/53a4a36/connectors/31ba2eac-4897/mappings"; + _requests[2645] = new DefaultHttpContext(); + _requests[2645].RequestServices = CreateServices(); + _requests[2645].Request.Method = "POST"; + _requests[2645].Request.Path = "/subscriptions/128a177d-a482-/resourceGroups/0fc8529f-4f11-453/providers/Microsoft.CustomerInsights/hubs/ace0bab/interactions/6b85d72f-cf61-4/suggestRelationshipLinks"; + _requests[2646] = new DefaultHttpContext(); + _requests[2646].RequestServices = CreateServices(); + _requests[2646].Request.Method = "POST"; + _requests[2646].Request.Path = "/subscriptions/68cd1afe-3350-/resourceGroups/68d23ff6-8ae5-463/providers/Microsoft.CustomerInsights/hubs/dcaac4c/kpi/9794822/reprocess"; + _requests[2647] = new DefaultHttpContext(); + _requests[2647].RequestServices = CreateServices(); + _requests[2647].Request.Method = "POST"; + _requests[2647].Request.Path = "/subscriptions/add249a6-eac7-/resourceGroups/43a41cef-12ea-40c/providers/Microsoft.CustomerInsights/hubs/9eb5c17/predictions/e9324b33-0d70-/getModelStatus"; + _requests[2648] = new DefaultHttpContext(); + _requests[2648].RequestServices = CreateServices(); + _requests[2648].Request.Method = "POST"; + _requests[2648].Request.Path = "/subscriptions/7c71e9f7-5ba1-/resourceGroups/3b498cdd-02df-447/providers/Microsoft.CustomerInsights/hubs/0853642/predictions/7a80723e-3cd9-/getTrainingResults"; + _requests[2649] = new DefaultHttpContext(); + _requests[2649].RequestServices = CreateServices(); + _requests[2649].Request.Method = "POST"; + _requests[2649].Request.Path = "/subscriptions/c1d02591-0303-/resourceGroups/295fec68-e578-49a/providers/Microsoft.CustomerInsights/hubs/78ae257/predictions/3f6d8e00-03d9-/modelStatus"; + _requests[2650] = new DefaultHttpContext(); + _requests[2650].RequestServices = CreateServices(); + _requests[2650].Request.Method = "POST"; + _requests[2650].Request.Path = "/subscriptions/cc6d9900-02ca-/resourceGroups/fb046a2a-45f4-4a2/providers/Microsoft.CustomerInsights/hubs/2f31513/profiles/83b81ab7-f1/getEnrichingKpis"; + _requests[2651] = new DefaultHttpContext(); + _requests[2651].RequestServices = CreateServices(); + _requests[2651].Request.Method = "POST"; + _requests[2651].Request.Path = "/subscriptions/cb54ab64-3b21-/resourceGroups/e49b74c8-b771-4a0/providers/Microsoft.DataFactory/factories/9a8d8b60-ff/integrationRuntimes/c206c0ea-398e-4877-8a0/getConnectionInfo"; + _requests[2652] = new DefaultHttpContext(); + _requests[2652].RequestServices = CreateServices(); + _requests[2652].Request.Method = "POST"; + _requests[2652].Request.Path = "/subscriptions/b8064811-2559-/resourceGroups/40fd0b40-335e-4db/providers/Microsoft.DataFactory/factories/f9cf57d5-3b/integrationRuntimes/2ec5925f-eac7-4080-b4d/getStatus"; + _requests[2653] = new DefaultHttpContext(); + _requests[2653].RequestServices = CreateServices(); + _requests[2653].Request.Method = "POST"; + _requests[2653].Request.Path = "/subscriptions/bb4a2c57-8723-/resourceGroups/9323deb7-a920-475/providers/Microsoft.DataFactory/factories/7719b720-a8/integrationRuntimes/8162d3ef-c789-4912-8b3/listAuthKeys"; + _requests[2654] = new DefaultHttpContext(); + _requests[2654].RequestServices = CreateServices(); + _requests[2654].Request.Method = "POST"; + _requests[2654].Request.Path = "/subscriptions/6f6a0933-0927-/resourceGroups/5fd5ab00-29f6-4c9/providers/Microsoft.DataFactory/factories/b5fece04-0d/integrationRuntimes/f484dfef-96a3-48e1-8f8/monitoringData"; + _requests[2655] = new DefaultHttpContext(); + _requests[2655].RequestServices = CreateServices(); + _requests[2655].Request.Method = "POST"; + _requests[2655].Request.Path = "/subscriptions/431a07eb-9e7d-/resourceGroups/5c6d7b00-2258-439/providers/Microsoft.DataFactory/factories/991d192c-19/integrationRuntimes/d250a799-6c52-40cc-84f/regenerateAuthKey"; + _requests[2656] = new DefaultHttpContext(); + _requests[2656].RequestServices = CreateServices(); + _requests[2656].Request.Method = "POST"; + _requests[2656].Request.Path = "/subscriptions/c8d43e9f-abcd-/resourceGroups/710b7e73-5f14-4de/providers/Microsoft.DataFactory/factories/c17da2ce-07/integrationRuntimes/5734b580-6452-4052-84c/removeNode"; + _requests[2657] = new DefaultHttpContext(); + _requests[2657].RequestServices = CreateServices(); + _requests[2657].Request.Method = "POST"; + _requests[2657].Request.Path = "/subscriptions/5e20ecee-0de0-/resourceGroups/53b7ebb6-3f69-4a8/providers/Microsoft.DataFactory/factories/0202f465-06/integrationRuntimes/0e2208c1-6f39-4d57-b58/start"; + _requests[2658] = new DefaultHttpContext(); + _requests[2658].RequestServices = CreateServices(); + _requests[2658].Request.Method = "POST"; + _requests[2658].Request.Path = "/subscriptions/5a0b5bb1-8bf6-/resourceGroups/422b2e62-359c-431/providers/Microsoft.DataFactory/factories/f9055b5f-94/integrationRuntimes/230c087d-9aba-4245-9f2/stop"; + _requests[2659] = new DefaultHttpContext(); + _requests[2659].RequestServices = CreateServices(); + _requests[2659].Request.Method = "POST"; + _requests[2659].Request.Path = "/subscriptions/48abf61c-3830-/resourceGroups/4cc4fa66-efd0-4d1/providers/Microsoft.DataFactory/factories/a509419e-a0/integrationRuntimes/6f38903a-c405-42c2-84f/syncCredentials"; + _requests[2660] = new DefaultHttpContext(); + _requests[2660].RequestServices = CreateServices(); + _requests[2660].Request.Method = "POST"; + _requests[2660].Request.Path = "/subscriptions/b040f6e8-597a-/resourceGroups/3257098b-c1d2-421/providers/Microsoft.DataFactory/factories/3bc560ad-08/integrationRuntimes/69e6040e-ac49-4ddb-ada/upgrade"; + _requests[2661] = new DefaultHttpContext(); + _requests[2661].RequestServices = CreateServices(); + _requests[2661].Request.Method = "GET"; + _requests[2661].Request.Path = "/subscriptions/93c0dd54-d255-/resourceGroups/2fd2bbfd-a4eb-416/providers/Microsoft.DataFactory/factories/7ef4c4a0-4f/pipelineruns/6dcd9/activityruns"; + _requests[2662] = new DefaultHttpContext(); + _requests[2662].RequestServices = CreateServices(); + _requests[2662].Request.Method = "POST"; + _requests[2662].Request.Path = "/subscriptions/c073a2f9-58b4-/resourceGroups/3c5658c8-4dd5-4f9/providers/Microsoft.DataFactory/factories/526e8962-96/pipelines/f124fbad-3bb/createRun"; + _requests[2663] = new DefaultHttpContext(); + _requests[2663].RequestServices = CreateServices(); + _requests[2663].Request.Method = "POST"; + _requests[2663].Request.Path = "/subscriptions/bfc61440-42aa-/resourceGroups/785eda26-161d-467/providers/Microsoft.DataFactory/factories/cd40b2f0-64/triggers/a787e349-61/start"; + _requests[2664] = new DefaultHttpContext(); + _requests[2664].RequestServices = CreateServices(); + _requests[2664].Request.Method = "POST"; + _requests[2664].Request.Path = "/subscriptions/85138195-078e-/resourceGroups/4c55549e-5c4b-4d9/providers/Microsoft.DataFactory/factories/4c742bbb-76/triggers/ac3fd5c7-0a/stop"; + _requests[2665] = new DefaultHttpContext(); + _requests[2665].RequestServices = CreateServices(); + _requests[2665].Request.Method = "GET"; + _requests[2665].Request.Path = "/subscriptions/aa71b827-4db5-/resourceGroups/a01e3c38-06ae-48c/providers/Microsoft.DataFactory/factories/6d502619-6c/triggers/6a3ca3bf-63/triggerruns"; + _requests[2666] = new DefaultHttpContext(); + _requests[2666].RequestServices = CreateServices(); + _requests[2666].Request.Method = "GET"; + _requests[2666].Request.Path = "/subscriptions/136c107b-f61b-/resourceGroups/5f641336-bb16-44a/providers/Microsoft.DataLakeAnalytics/accounts/9f9f6df7-f9/storageAccounts/49af8ee1-27d3-4602/containers"; + _requests[2667] = new DefaultHttpContext(); + _requests[2667].RequestServices = CreateServices(); + _requests[2667].Request.Method = "POST"; + _requests[2667].Request.Path = "/subscriptions/75fb4b9b-4241-/resourceGroups/9ef774c3-87b0-440/providers/Microsoft.Devices/IotHubs/d09c7bab-717/certificates/627af162-39f8-4/generateVerificationCode"; + _requests[2668] = new DefaultHttpContext(); + _requests[2668].RequestServices = CreateServices(); + _requests[2668].Request.Method = "POST"; + _requests[2668].Request.Path = "/subscriptions/66ae4e45-570f-/resourceGroups/05943f22-14cb-4a5/providers/Microsoft.Devices/IotHubs/ebb84b1d-90d/certificates/106d1733-9ab4-4/verify"; + _requests[2669] = new DefaultHttpContext(); + _requests[2669].RequestServices = CreateServices(); + _requests[2669].Request.Method = "GET"; + _requests[2669].Request.Path = "/subscriptions/a4ecf38d-20a6-/resourceGroups/85385937-9f1b-4e7/providers/Microsoft.Devices/IotHubs/dd71afd6-198/eventHubEndpoints/f6242815-1d0e-4a4e-9/ConsumerGroups"; + _requests[2670] = new DefaultHttpContext(); + _requests[2670].RequestServices = CreateServices(); + _requests[2670].Request.Method = "POST"; + _requests[2670].Request.Path = "/subscriptions/2b2b1eb5-bef9-/resourceGroups/093bb0cf-1985-472/providers/Microsoft.Devices/IotHubs/e96f3a5a-bf2/IotHubKeys/86be57f/listkeys"; + _requests[2671] = new DefaultHttpContext(); + _requests[2671].RequestServices = CreateServices(); + _requests[2671].Request.Method = "POST"; + _requests[2671].Request.Path = "/subscriptions/609bceb5-bda3-/resourceGroups/3c33907b-e15d-40b/providers/Microsoft.Devices/provisioningServices/e9b4ac51-3e93-4817-9b93/certificates/4e53a62e-efac-4/generateVerificationCode"; + _requests[2672] = new DefaultHttpContext(); + _requests[2672].RequestServices = CreateServices(); + _requests[2672].Request.Method = "POST"; + _requests[2672].Request.Path = "/subscriptions/c892f67a-7a05-/resourceGroups/6e29f375-1822-490/providers/Microsoft.Devices/provisioningServices/abf87799-db7d-4315-abee/certificates/1f68f0f3-54c5-4/verify"; + _requests[2673] = new DefaultHttpContext(); + _requests[2673].RequestServices = CreateServices(); + _requests[2673].Request.Method = "POST"; + _requests[2673].Request.Path = "/subscriptions/181cc535-1c26-/resourceGroups/38bfa40c-efc9-4f7/providers/Microsoft.Devices/provisioningServices/a26365ea-67d7-4f33-86ed/keys/8af0479/listkeys"; + _requests[2674] = new DefaultHttpContext(); + _requests[2674].RequestServices = CreateServices(); + _requests[2674].Request.Method = "GET"; + _requests[2674].Request.Path = "/subscriptions/43bbb7f2-6593-/resourceGroups/f005e638-e0fa-4ca/providers/Microsoft.DevTestLab/labs/e33cacf/artifactsources/671b74b4-8d9d-427d/armtemplates"; + _requests[2675] = new DefaultHttpContext(); + _requests[2675].RequestServices = CreateServices(); + _requests[2675].Request.Method = "GET"; + _requests[2675].Request.Path = "/subscriptions/27014891-471c-/resourceGroups/0f0d3750-27e8-43d/providers/Microsoft.DevTestLab/labs/c5c784d/artifactsources/abc0f694-3f9d-4acf/artifacts"; + _requests[2676] = new DefaultHttpContext(); + _requests[2676].RequestServices = CreateServices(); + _requests[2676].Request.Method = "POST"; + _requests[2676].Request.Path = "/subscriptions/2485e745-0441-/resourceGroups/58faec3c-35a1-432/providers/Microsoft.DevTestLab/labs/4ad932a/costinsights/f2107/refreshData"; + _requests[2677] = new DefaultHttpContext(); + _requests[2677].RequestServices = CreateServices(); + _requests[2677].Request.Method = "POST"; + _requests[2677].Request.Path = "/subscriptions/c6862253-8fa5-/resourceGroups/dd4e5302-2479-413/providers/Microsoft.DevTestLab/labs/fb3ebd1/costs/9cf21/refreshData"; + _requests[2678] = new DefaultHttpContext(); + _requests[2678].RequestServices = CreateServices(); + _requests[2678].Request.Method = "POST"; + _requests[2678].Request.Path = "/subscriptions/d8888773-f395-/resourceGroups/1d7f598d-1291-4aa/providers/Microsoft.DevTestLab/labs/746fc84/notificationchannels/6b3a4/notify"; + _requests[2679] = new DefaultHttpContext(); + _requests[2679].RequestServices = CreateServices(); + _requests[2679].Request.Method = "POST"; + _requests[2679].Request.Path = "/subscriptions/a554b4db-a997-/resourceGroups/44f31f37-f531-412/providers/Microsoft.DevTestLab/labs/fa8c3b2/policysets/ea358/evaluatePolicies"; + _requests[2680] = new DefaultHttpContext(); + _requests[2680].RequestServices = CreateServices(); + _requests[2680].Request.Method = "GET"; + _requests[2680].Request.Path = "/subscriptions/1d40125f-58ee-/resourceGroups/16f081b9-4eb5-4ea/providers/Microsoft.DevTestLab/labs/5407ada/policysets/b32df4f8-4930/policies"; + _requests[2681] = new DefaultHttpContext(); + _requests[2681].RequestServices = CreateServices(); + _requests[2681].Request.Method = "POST"; + _requests[2681].Request.Path = "/subscriptions/613adc65-219e-/resourceGroups/664371df-b403-453/providers/Microsoft.DevTestLab/labs/65b1796/schedules/fe34f/execute"; + _requests[2682] = new DefaultHttpContext(); + _requests[2682].RequestServices = CreateServices(); + _requests[2682].Request.Method = "POST"; + _requests[2682].Request.Path = "/subscriptions/a0c76901-4264-/resourceGroups/2e84720c-c274-4cd/providers/Microsoft.DevTestLab/labs/4577b19/schedules/6fd49/listApplicable"; + _requests[2683] = new DefaultHttpContext(); + _requests[2683].RequestServices = CreateServices(); + _requests[2683].Request.Method = "GET"; + _requests[2683].Request.Path = "/subscriptions/a6f1ff6d-a331-/resourceGroups/44efe6e0-3317-407/providers/Microsoft.DevTestLab/labs/f70eada/users/2b5959b9/disks"; + _requests[2684] = new DefaultHttpContext(); + _requests[2684].RequestServices = CreateServices(); + _requests[2684].Request.Method = "GET"; + _requests[2684].Request.Path = "/subscriptions/42ff051f-c81b-/resourceGroups/1a888ecd-888f-484/providers/Microsoft.DevTestLab/labs/47e3897/users/7cfbb7cc/environments"; + _requests[2685] = new DefaultHttpContext(); + _requests[2685].RequestServices = CreateServices(); + _requests[2685].Request.Method = "GET"; + _requests[2685].Request.Path = "/subscriptions/d329f966-906b-/resourceGroups/e5284fdd-2c10-4e0/providers/Microsoft.DevTestLab/labs/b810eef/users/808cebc1/secrets"; + _requests[2686] = new DefaultHttpContext(); + _requests[2686].RequestServices = CreateServices(); + _requests[2686].Request.Method = "POST"; + _requests[2686].Request.Path = "/subscriptions/951d4819-1442-/resourceGroups/0318096e-5425-464/providers/Microsoft.DevTestLab/labs/33e42fb/virtualmachines/c363a/addDataDisk"; + _requests[2687] = new DefaultHttpContext(); + _requests[2687].RequestServices = CreateServices(); + _requests[2687].Request.Method = "POST"; + _requests[2687].Request.Path = "/subscriptions/7f46ca96-54dc-/resourceGroups/cb90212e-f496-464/providers/Microsoft.DevTestLab/labs/ad90471/virtualmachines/69a27/applyArtifacts"; + _requests[2688] = new DefaultHttpContext(); + _requests[2688].RequestServices = CreateServices(); + _requests[2688].Request.Method = "POST"; + _requests[2688].Request.Path = "/subscriptions/00f5c52c-65fd-/resourceGroups/3dcd4e15-6bd9-455/providers/Microsoft.DevTestLab/labs/7f9f680/virtualmachines/e3596/claim"; + _requests[2689] = new DefaultHttpContext(); + _requests[2689].RequestServices = CreateServices(); + _requests[2689].Request.Method = "POST"; + _requests[2689].Request.Path = "/subscriptions/cb5303c6-1ae2-/resourceGroups/9d728c24-cb3f-46b/providers/Microsoft.DevTestLab/labs/fe40994/virtualmachines/e4fdb/detachDataDisk"; + _requests[2690] = new DefaultHttpContext(); + _requests[2690].RequestServices = CreateServices(); + _requests[2690].Request.Method = "POST"; + _requests[2690].Request.Path = "/subscriptions/3f25f3c2-158c-/resourceGroups/2f908289-1fe6-4dc/providers/Microsoft.DevTestLab/labs/c19f965/virtualmachines/a2dd2/listApplicableSchedules"; + _requests[2691] = new DefaultHttpContext(); + _requests[2691].RequestServices = CreateServices(); + _requests[2691].Request.Method = "POST"; + _requests[2691].Request.Path = "/subscriptions/392fa8bc-c101-/resourceGroups/02c21c98-0492-47e/providers/Microsoft.DevTestLab/labs/0a6783b/virtualmachines/23639/start"; + _requests[2692] = new DefaultHttpContext(); + _requests[2692].RequestServices = CreateServices(); + _requests[2692].Request.Method = "POST"; + _requests[2692].Request.Path = "/subscriptions/019c1fcb-5699-/resourceGroups/0620a703-5141-4a3/providers/Microsoft.DevTestLab/labs/c4ec65e/virtualmachines/e3512/stop"; + _requests[2693] = new DefaultHttpContext(); + _requests[2693].RequestServices = CreateServices(); + _requests[2693].Request.Method = "GET"; + _requests[2693].Request.Path = "/subscriptions/a1e45fcd-8b3f-/resourceGroups/4830d5db-bbe3-43e/providers/Microsoft.DevTestLab/labs/92a9dc8/virtualmachines/0ae5ff59-e5a6-4c10/schedules"; + _requests[2694] = new DefaultHttpContext(); + _requests[2694].RequestServices = CreateServices(); + _requests[2694].Request.Method = "GET"; + _requests[2694].Request.Path = "/subscriptions/74e7471c-02a5-/resourceGroups/37b97447-d54b-4de/providers/Microsoft.DocumentDB/databaseAccounts/84e753e7-e8/databases/bc58ad6c-a8/metricDefinitions"; + _requests[2695] = new DefaultHttpContext(); + _requests[2695].RequestServices = CreateServices(); + _requests[2695].Request.Method = "GET"; + _requests[2695].Request.Path = "/subscriptions/4331c961-b821-/resourceGroups/b09dcea5-539a-417/providers/Microsoft.DocumentDB/databaseAccounts/991e9d66-1e/databases/288b872a-63/metrics"; + _requests[2696] = new DefaultHttpContext(); + _requests[2696].RequestServices = CreateServices(); + _requests[2696].Request.Method = "GET"; + _requests[2696].Request.Path = "/subscriptions/398054a8-c6bf-/resourceGroups/08b44855-652b-47b/providers/Microsoft.DocumentDB/databaseAccounts/a6280cdc-ee/databases/1c059321-ba/usages"; + _requests[2697] = new DefaultHttpContext(); + _requests[2697].RequestServices = CreateServices(); + _requests[2697].Request.Method = "GET"; + _requests[2697].Request.Path = "/subscriptions/79206e29-02bb-/resourceGroups/7ccf5e82-d848-4b2/providers/Microsoft.DocumentDB/databaseAccounts/0e4fcdaf-81/region/6c8164/metrics"; + _requests[2698] = new DefaultHttpContext(); + _requests[2698].RequestServices = CreateServices(); + _requests[2698].Request.Method = "GET"; + _requests[2698].Request.Path = "/subscriptions/796981e9-06d0-/resourceGroups/553385ee-9099-42c/providers/Microsoft.EventGrid/locations/6070550b/topicTypes/887928a5-8960/eventSubscriptions"; + _requests[2699] = new DefaultHttpContext(); + _requests[2699].RequestServices = CreateServices(); + _requests[2699].Request.Method = "POST"; + _requests[2699].Request.Path = "/subscriptions/901a9adc-8eaa-/resourceGroups/b906b869-351b-43c/providers/Microsoft.EventHub/namespaces/740bc23c-b2e3/AuthorizationRules/1933f519-7076-4753-ae/listKeys"; + _requests[2700] = new DefaultHttpContext(); + _requests[2700].RequestServices = CreateServices(); + _requests[2700].Request.Method = "POST"; + _requests[2700].Request.Path = "/subscriptions/65da6763-9ce0-/resourceGroups/f5238436-e13c-475/providers/Microsoft.EventHub/namespaces/249b2719-e1a5/AuthorizationRules/4ca17c8c-6b03-47b6-bf/regenerateKeys"; + _requests[2701] = new DefaultHttpContext(); + _requests[2701].RequestServices = CreateServices(); + _requests[2701].Request.Method = "GET"; + _requests[2701].Request.Path = "/subscriptions/cc5f7140-9d2f-/resourceGroups/dc140554-5eb6-47a/providers/Microsoft.EventHub/namespaces/09a1c36a-1005/disasterRecoveryConfigs/c843e/AuthorizationRules"; + _requests[2702] = new DefaultHttpContext(); + _requests[2702].RequestServices = CreateServices(); + _requests[2702].Request.Method = "POST"; + _requests[2702].Request.Path = "/subscriptions/ee3288dd-8ed5-/resourceGroups/37484c0e-3ca1-42f/providers/Microsoft.EventHub/namespaces/bcfe59ff-1980/disasterRecoveryConfigs/d7377/breakPairing"; + _requests[2703] = new DefaultHttpContext(); + _requests[2703].RequestServices = CreateServices(); + _requests[2703].Request.Method = "POST"; + _requests[2703].Request.Path = "/subscriptions/a238678e-ea0b-/resourceGroups/087e531a-9f1d-4e7/providers/Microsoft.EventHub/namespaces/634b7ed6-2d35/disasterRecoveryConfigs/c2f04/failover"; + _requests[2704] = new DefaultHttpContext(); + _requests[2704].RequestServices = CreateServices(); + _requests[2704].Request.Method = "GET"; + _requests[2704].Request.Path = "/subscriptions/1ee477ab-ed4a-/resourceGroups/411ffa40-6264-4c0/providers/Microsoft.EventHub/namespaces/cc62e480-0803/eventhubs/f69552e9-c05/authorizationRules"; + _requests[2705] = new DefaultHttpContext(); + _requests[2705].RequestServices = CreateServices(); + _requests[2705].Request.Method = "GET"; + _requests[2705].Request.Path = "/subscriptions/b8b40046-6204-/resourceGroups/f6a7ca83-4f4a-449/providers/Microsoft.EventHub/namespaces/53f6892c-68ae/eventhubs/4f1ca596-bba/consumergroups"; + _requests[2706] = new DefaultHttpContext(); + _requests[2706].RequestServices = CreateServices(); + _requests[2706].Request.Method = "POST"; + _requests[2706].Request.Path = "/subscriptions/577760fa-9942-/resourceGroups/af070a4c-ae82-41b/providers/Microsoft.Fabric.Admin/fabricLocations/dbb12fa4/infraRoleInstances/952fce9a-bb76-484/PowerOff"; + _requests[2707] = new DefaultHttpContext(); + _requests[2707].RequestServices = CreateServices(); + _requests[2707].Request.Method = "POST"; + _requests[2707].Request.Path = "/subscriptions/83c2dc42-6694-/resourceGroups/062b19cb-c2ed-49b/providers/Microsoft.Fabric.Admin/fabricLocations/70e8fda4/infraRoleInstances/6c78d079-f70d-47a/PowerOn"; + _requests[2708] = new DefaultHttpContext(); + _requests[2708].RequestServices = CreateServices(); + _requests[2708].Request.Method = "POST"; + _requests[2708].Request.Path = "/subscriptions/90de848a-21c4-/resourceGroups/8f0cd137-2733-43e/providers/Microsoft.Fabric.Admin/fabricLocations/45b0aa49/infraRoleInstances/556b27dc-54b9-48c/Reboot"; + _requests[2709] = new DefaultHttpContext(); + _requests[2709].RequestServices = CreateServices(); + _requests[2709].Request.Method = "POST"; + _requests[2709].Request.Path = "/subscriptions/04da4b94-8879-/resourceGroups/d1c2de26-8db6-483/providers/Microsoft.Fabric.Admin/fabricLocations/62da5dca/infraRoleInstances/6cd47edf-9bf3-47d/Shutdown"; + _requests[2710] = new DefaultHttpContext(); + _requests[2710].RequestServices = CreateServices(); + _requests[2710].Request.Method = "POST"; + _requests[2710].Request.Path = "/subscriptions/c59376d4-53ca-/resourceGroups/aeaa1ad4-bfd3-447/providers/Microsoft.Fabric.Admin/fabricLocations/ced507a5/infraRoles/71309c61-/Restart"; + _requests[2711] = new DefaultHttpContext(); + _requests[2711].RequestServices = CreateServices(); + _requests[2711].Request.Method = "GET"; + _requests[2711].Request.Path = "/subscriptions/e8a0aa14-7c5c-/resourceGroups/dd7ca232-3e31-4df/providers/Microsoft.Fabric.Admin/fabricLocations/d40ac352/logicalNetworks/69a849e8-3afd-/logicalSubnets"; + _requests[2712] = new DefaultHttpContext(); + _requests[2712].RequestServices = CreateServices(); + _requests[2712].Request.Method = "POST"; + _requests[2712].Request.Path = "/subscriptions/77e71cab-4593-/resourceGroups/b8b2e6fa-8ac7-45d/providers/Microsoft.Fabric.Admin/fabricLocations/627d74b1/scaleUnitNodes/7c0aea70-3ed4/PowerOff"; + _requests[2713] = new DefaultHttpContext(); + _requests[2713].RequestServices = CreateServices(); + _requests[2713].Request.Method = "POST"; + _requests[2713].Request.Path = "/subscriptions/0c294c0f-be7c-/resourceGroups/468bd2bf-ea90-438/providers/Microsoft.Fabric.Admin/fabricLocations/8ee5ea25/scaleUnitNodes/20ed3e8f-c8ce/PowerOn"; + _requests[2714] = new DefaultHttpContext(); + _requests[2714].RequestServices = CreateServices(); + _requests[2714].Request.Method = "POST"; + _requests[2714].Request.Path = "/subscriptions/c19bbf18-2a56-/resourceGroups/f0d4981d-8a08-443/providers/Microsoft.Fabric.Admin/fabricLocations/a913348d/scaleUnitNodes/8d485342-3e01/Repair"; + _requests[2715] = new DefaultHttpContext(); + _requests[2715].RequestServices = CreateServices(); + _requests[2715].Request.Method = "POST"; + _requests[2715].Request.Path = "/subscriptions/6112b696-13eb-/resourceGroups/d9ba8157-1fe7-4e6/providers/Microsoft.Fabric.Admin/fabricLocations/9e63eaa4/scaleUnitNodes/4f24bcbb-520a/Shutdown"; + _requests[2716] = new DefaultHttpContext(); + _requests[2716].RequestServices = CreateServices(); + _requests[2716].Request.Method = "POST"; + _requests[2716].Request.Path = "/subscriptions/d504bd57-b203-/resourceGroups/d58f5799-4ded-4d0/providers/Microsoft.Fabric.Admin/fabricLocations/435ceca0/scaleUnitNodes/4bfe6137-a088/StartMaintenanceMode"; + _requests[2717] = new DefaultHttpContext(); + _requests[2717].RequestServices = CreateServices(); + _requests[2717].Request.Method = "POST"; + _requests[2717].Request.Path = "/subscriptions/30485d61-de85-/resourceGroups/721d07cb-feeb-41c/providers/Microsoft.Fabric.Admin/fabricLocations/f1ef9669/scaleUnitNodes/99deae6f-f083/StopMaintenanceMode"; + _requests[2718] = new DefaultHttpContext(); + _requests[2718].RequestServices = CreateServices(); + _requests[2718].Request.Method = "POST"; + _requests[2718].Request.Path = "/subscriptions/e39f1b00-06ed-/resourceGroups/7ade10fd-e59a-456/providers/Microsoft.Fabric.Admin/fabricLocations/d40ec008/scaleUnits/9d8a56a9-/ScaleOut"; + _requests[2719] = new DefaultHttpContext(); + _requests[2719].RequestServices = CreateServices(); + _requests[2719].Request.Method = "GET"; + _requests[2719].Request.Path = "/subscriptions/19c8d319-5474-/resourceGroups/24a8d33c-a784-43b/providers/Microsoft.Fabric.Admin/fabricLocations/5a9a2d25/storageSubSystems/21181ae6-bad2-44/storagePools"; + _requests[2720] = new DefaultHttpContext(); + _requests[2720].RequestServices = CreateServices(); + _requests[2720].Request.Method = "POST"; + _requests[2720].Request.Path = "/subscriptions/3eedc10f-74ac-/resourceGroups/f89b0ba0-4ab1-47b/providers/Microsoft.HDInsight/clusters/70d0732c-ce/roles/640a0443/resize"; + _requests[2721] = new DefaultHttpContext(); + _requests[2721].RequestServices = CreateServices(); + _requests[2721].Request.Method = "POST"; + _requests[2721].Request.Path = "/subscriptions/31ffebaf-7cce-/resourceGroups/af2508c6-32ee-419/providers/Microsoft.HDInsight/clusters/32533558-9b/scriptExecutionHistory/c84e974c-46cd-46b/promote"; + _requests[2722] = new DefaultHttpContext(); + _requests[2722].RequestServices = CreateServices(); + _requests[2722].Request.Method = "GET"; + _requests[2722].Request.Path = "/subscriptions/2c41f153-fc33-/resourceGroups/c2d04d81-7924-4e2/providers/Microsoft.InfrastructureInsights.Admin/regionHealths/92ad702e/serviceHealths/468db43c-90c9-457b-80/resourceHealths"; + _requests[2723] = new DefaultHttpContext(); + _requests[2723].RequestServices = CreateServices(); + _requests[2723].Request.Method = "POST"; + _requests[2723].Request.Path = "/subscriptions/4ffacbf4-5216-/resourceGroups/747d5a62-0b7d-4e1/providers/Microsoft.Logic/integrationAccounts/91017f92-485c-4dba-9ba/agreements/3ca42828-a443/listContentCallbackUrl"; + _requests[2724] = new DefaultHttpContext(); + _requests[2724].RequestServices = CreateServices(); + _requests[2724].Request.Method = "POST"; + _requests[2724].Request.Path = "/subscriptions/6a5a962c-df04-/resourceGroups/594d252b-3de7-43e/providers/Microsoft.Logic/integrationAccounts/96188607-9be0-4403-bdb/assemblies/7cd8735b-a93d-433d-8/listContentCallbackUrl"; + _requests[2725] = new DefaultHttpContext(); + _requests[2725].RequestServices = CreateServices(); + _requests[2725].Request.Method = "POST"; + _requests[2725].Request.Path = "/subscriptions/8cff1128-79d6-/resourceGroups/4c7e5916-952f-49b/providers/Microsoft.Logic/integrationAccounts/594ea183-cdaf-42a0-943/maps/2d3636e/listContentCallbackUrl"; + _requests[2726] = new DefaultHttpContext(); + _requests[2726].RequestServices = CreateServices(); + _requests[2726].Request.Method = "POST"; + _requests[2726].Request.Path = "/subscriptions/2d414ee1-eb86-/resourceGroups/155c0d9f-a1ff-4fd/providers/Microsoft.Logic/integrationAccounts/3d6abf81-d42d-45c8-987/partners/a6fa73ff-1b/listContentCallbackUrl"; + _requests[2727] = new DefaultHttpContext(); + _requests[2727].RequestServices = CreateServices(); + _requests[2727].Request.Method = "POST"; + _requests[2727].Request.Path = "/subscriptions/82b08c2c-0923-/resourceGroups/33f9a2d0-b6a8-479/providers/Microsoft.Logic/integrationAccounts/ec84d6b9-0be3-432c-a48/schemas/81633cd1-9/listContentCallbackUrl"; + _requests[2728] = new DefaultHttpContext(); + _requests[2728].RequestServices = CreateServices(); + _requests[2728].Request.Method = "POST"; + _requests[2728].Request.Path = "/subscriptions/891356b1-8236-/resourceGroups/28c59c1e-ec34-4ad/providers/Microsoft.Logic/locations/89f11b60/workflows/7be12abe-d19/validate"; + _requests[2729] = new DefaultHttpContext(); + _requests[2729].RequestServices = CreateServices(); + _requests[2729].Request.Method = "POST"; + _requests[2729].Request.Path = "/subscriptions/74a7b243-a04a-/resourceGroups/35d848cd-8ace-4bf/providers/Microsoft.Logic/workflows/bf036f4b-50b/accessKeys/ed8f9c8c-b141/list"; + _requests[2730] = new DefaultHttpContext(); + _requests[2730].RequestServices = CreateServices(); + _requests[2730].Request.Method = "POST"; + _requests[2730].Request.Path = "/subscriptions/63cdd394-a407-/resourceGroups/1bfbe78c-8861-4e7/providers/Microsoft.Logic/workflows/429e3bc2-607/accessKeys/04928fc2-d735/regenerate"; + _requests[2731] = new DefaultHttpContext(); + _requests[2731].RequestServices = CreateServices(); + _requests[2731].Request.Method = "GET"; + _requests[2731].Request.Path = "/subscriptions/4b63627d-f924-/resourceGroups/d58b1a1a-d77c-4db/providers/Microsoft.Logic/workflows/773e7d67-e88/runs/518d0f6/actions"; + _requests[2732] = new DefaultHttpContext(); + _requests[2732].RequestServices = CreateServices(); + _requests[2732].Request.Method = "POST"; + _requests[2732].Request.Path = "/subscriptions/84d94f47-24e4-/resourceGroups/ab483cbc-ee9a-460/providers/Microsoft.Logic/workflows/89c851ec-aa7/runs/c684eec/cancel"; + _requests[2733] = new DefaultHttpContext(); + _requests[2733].RequestServices = CreateServices(); + _requests[2733].Request.Method = "GET"; + _requests[2733].Request.Path = "/subscriptions/dfe5fc7e-d15e-/resourceGroups/24159632-869d-4a1/providers/Microsoft.Logic/workflows/9bc06408-fb7/triggers/6d98fba0-18/histories"; + _requests[2734] = new DefaultHttpContext(); + _requests[2734].RequestServices = CreateServices(); + _requests[2734].Request.Method = "POST"; + _requests[2734].Request.Path = "/subscriptions/408b8850-9683-/resourceGroups/8596afbe-10ca-441/providers/Microsoft.Logic/workflows/53d5cd16-430/triggers/2b9af42e-6e/listCallbackUrl"; + _requests[2735] = new DefaultHttpContext(); + _requests[2735].RequestServices = CreateServices(); + _requests[2735].Request.Method = "POST"; + _requests[2735].Request.Path = "/subscriptions/a4c147e1-fd7a-/resourceGroups/b26b7273-ca32-47b/providers/Microsoft.Logic/workflows/3b287224-36c/triggers/f8e54047-7b/reset"; + _requests[2736] = new DefaultHttpContext(); + _requests[2736].RequestServices = CreateServices(); + _requests[2736].Request.Method = "POST"; + _requests[2736].Request.Path = "/subscriptions/7ebc8d97-da9c-/resourceGroups/e10b53eb-62af-4db/providers/Microsoft.Logic/workflows/f802d940-ef2/triggers/97a7bfb0-e1/run"; + _requests[2737] = new DefaultHttpContext(); + _requests[2737].RequestServices = CreateServices(); + _requests[2737].Request.Method = "POST"; + _requests[2737].Request.Path = "/subscriptions/11d26ca8-7ca1-/resourceGroups/3a3b29d0-002f-42d/providers/Microsoft.Logic/workflows/2946b606-bf8/triggers/a03d41cf-12/setState"; + _requests[2738] = new DefaultHttpContext(); + _requests[2738].RequestServices = CreateServices(); + _requests[2738].Request.Method = "POST"; + _requests[2738].Request.Path = "/subscriptions/7e0bc692-f556-/resourceGroups/ab4ebca7-3ce9-44b/providers/Microsoft.MachineLearning/commitmentPlans/a0365b88-0a54-4720/commitmentAssociations/80f689d4-a503-4af4-915a-6/move"; + _requests[2739] = new DefaultHttpContext(); + _requests[2739].RequestServices = CreateServices(); + _requests[2739].Request.Method = "POST"; + _requests[2739].Request.Path = "/subscriptions/14311e4f-482f-/resourceGroups/16610ae9-5710-41d/providers/Microsoft.Media/mediaServices/6629a449-3b/assets/8106bc6c-/getEncryptionKey"; + _requests[2740] = new DefaultHttpContext(); + _requests[2740].RequestServices = CreateServices(); + _requests[2740].Request.Method = "POST"; + _requests[2740].Request.Path = "/subscriptions/82ff8553-1b5f-/resourceGroups/e7f2c2a8-a555-4fd/providers/Microsoft.Media/mediaServices/570853c6-66/assets/e549645c-/listContainerSas"; + _requests[2741] = new DefaultHttpContext(); + _requests[2741].RequestServices = CreateServices(); + _requests[2741].Request.Method = "POST"; + _requests[2741].Request.Path = "/subscriptions/ac723cc6-906c-/resourceGroups/dbd02bd5-9128-40b/providers/Microsoft.Media/mediaServices/9700b273-e9/contentKeyPolicies/2ffa05dc-5648-4aeb-a/getPolicyPropertiesWithSecrets"; + _requests[2742] = new DefaultHttpContext(); + _requests[2742].RequestServices = CreateServices(); + _requests[2742].Request.Method = "GET"; + _requests[2742].Request.Path = "/subscriptions/59d601dd-be32-/resourceGroups/7d8f419c-4b26-41c/providers/Microsoft.Media/mediaservices/17d51641-2e/liveEvents/f6dc9dcf-0566/liveOutputs"; + _requests[2743] = new DefaultHttpContext(); + _requests[2743].RequestServices = CreateServices(); + _requests[2743].Request.Method = "POST"; + _requests[2743].Request.Path = "/subscriptions/2f4282fd-704b-/resourceGroups/f63700c2-95ce-4fb/providers/Microsoft.Media/mediaservices/eab6601a-ee/liveEvents/a6c9a21a-40c9/reset"; + _requests[2744] = new DefaultHttpContext(); + _requests[2744].RequestServices = CreateServices(); + _requests[2744].Request.Method = "POST"; + _requests[2744].Request.Path = "/subscriptions/5ea62f18-5abf-/resourceGroups/33f147be-0116-433/providers/Microsoft.Media/mediaservices/5710789a-fe/liveEvents/64dd9553-e6df/start"; + _requests[2745] = new DefaultHttpContext(); + _requests[2745].RequestServices = CreateServices(); + _requests[2745].Request.Method = "POST"; + _requests[2745].Request.Path = "/subscriptions/2307f0b9-c4a3-/resourceGroups/f73a1fd9-073a-4ca/providers/Microsoft.Media/mediaservices/18cc2892-23/liveEvents/4cdd3def-a1c3/stop"; + _requests[2746] = new DefaultHttpContext(); + _requests[2746].RequestServices = CreateServices(); + _requests[2746].Request.Method = "POST"; + _requests[2746].Request.Path = "/subscriptions/f9eda551-4444-/resourceGroups/e02d4f50-6942-43f/providers/Microsoft.Media/mediaservices/c833a6b6-f4/streamingEndpoints/f438489f-f3c4-4299-bd/scale"; + _requests[2747] = new DefaultHttpContext(); + _requests[2747].RequestServices = CreateServices(); + _requests[2747].Request.Method = "POST"; + _requests[2747].Request.Path = "/subscriptions/5831926e-d129-/resourceGroups/9628798b-0478-44f/providers/Microsoft.Media/mediaservices/14abda4a-5b/streamingEndpoints/3989098e-8453-4d94-8e/start"; + _requests[2748] = new DefaultHttpContext(); + _requests[2748].RequestServices = CreateServices(); + _requests[2748].Request.Method = "POST"; + _requests[2748].Request.Path = "/subscriptions/2de35a02-c7c2-/resourceGroups/395a84e0-f578-421/providers/Microsoft.Media/mediaservices/01568e34-bf/streamingEndpoints/7d16d900-fc24-4e11-86/stop"; + _requests[2749] = new DefaultHttpContext(); + _requests[2749].RequestServices = CreateServices(); + _requests[2749].Request.Method = "POST"; + _requests[2749].Request.Path = "/subscriptions/399c8d4e-47ba-/resourceGroups/db9517db-b613-445/providers/Microsoft.Media/mediaServices/7fb95641-a3/streamingLocators/4d4f050d-5d83-4ee3-a/listContentKeys"; + _requests[2750] = new DefaultHttpContext(); + _requests[2750].RequestServices = CreateServices(); + _requests[2750].Request.Method = "POST"; + _requests[2750].Request.Path = "/subscriptions/f0261196-6c8b-/resourceGroups/335233c2-b9be-458/providers/Microsoft.Media/mediaServices/eef8e66f-b3/streamingLocators/9efb7d99-8506-4e25-a/listPaths"; + _requests[2751] = new DefaultHttpContext(); + _requests[2751].RequestServices = CreateServices(); + _requests[2751].Request.Method = "GET"; + _requests[2751].Request.Path = "/subscriptions/612b1af0-8891-/resourceGroups/89602fcc-bb20-47b/providers/Microsoft.Media/mediaServices/1be53670-02/transforms/18712144-d56f/jobs"; + _requests[2752] = new DefaultHttpContext(); + _requests[2752].RequestServices = CreateServices(); + _requests[2752].Request.Method = "GET"; + _requests[2752].Request.Path = "/subscriptions/420852f6-2c40-/resourceGroups/fe956d80-17c3-44f/providers/Microsoft.Migrate/projects/7fbd1b4b-31/groups/5fa700c7-/assessments"; + _requests[2753] = new DefaultHttpContext(); + _requests[2753].RequestServices = CreateServices(); + _requests[2753].Request.Method = "GET"; + _requests[2753].Request.Path = "/subscriptions/74f7ff79-7a5f-/resourceGroups/ebcb5f0a-461a-4a5/providers/Microsoft.Network/expressRouteCircuits/8f8d8396-de/peerings/683f8027-64/stats"; + _requests[2754] = new DefaultHttpContext(); + _requests[2754].RequestServices = CreateServices(); + _requests[2754].Request.Method = "POST"; + _requests[2754].Request.Path = "/subscriptions/27db1e46-8114-/resourceGroups/950f5dbe-e8c3-45a/providers/Microsoft.Network/networkWatchers/ec42533b-30fb-48e8/connectionMonitors/23e88e5a-7d4f-4442-ac/query"; + _requests[2755] = new DefaultHttpContext(); + _requests[2755].RequestServices = CreateServices(); + _requests[2755].Request.Method = "POST"; + _requests[2755].Request.Path = "/subscriptions/8de63a0d-8331-/resourceGroups/fd3be36c-ec0c-4ae/providers/Microsoft.Network/networkWatchers/14a526ea-a6e6-4898/connectionMonitors/3ab26a2e-3a3e-409b-a0/start"; + _requests[2756] = new DefaultHttpContext(); + _requests[2756].RequestServices = CreateServices(); + _requests[2756].Request.Method = "POST"; + _requests[2756].Request.Path = "/subscriptions/ea9e0994-c405-/resourceGroups/f4ee506b-2a70-4ab/providers/Microsoft.Network/networkWatchers/1251cf49-aaba-419d/connectionMonitors/9638aaf5-41ab-4b58-a2/stop"; + _requests[2757] = new DefaultHttpContext(); + _requests[2757].RequestServices = CreateServices(); + _requests[2757].Request.Method = "POST"; + _requests[2757].Request.Path = "/subscriptions/afa46c19-bba3-/resourceGroups/b15cfee9-0fc3-48a/providers/Microsoft.Network/networkWatchers/828f6e86-a29e-4a16/packetCaptures/85782d20-7476-44e/queryStatus"; + _requests[2758] = new DefaultHttpContext(); + _requests[2758].RequestServices = CreateServices(); + _requests[2758].Request.Method = "POST"; + _requests[2758].Request.Path = "/subscriptions/880f3b49-7044-/resourceGroups/f2c47489-aa06-4fd/providers/Microsoft.Network/networkWatchers/fc4038ee-debe-45bd/packetCaptures/d75c72b1-6971-402/stop"; + _requests[2759] = new DefaultHttpContext(); + _requests[2759].RequestServices = CreateServices(); + _requests[2759].Request.Method = "POST"; + _requests[2759].Request.Path = "/subscriptions/922ec167-d025-/resourceGroups/d8a856fd-7bcd-4eb/providers/Microsoft.NotificationHubs/namespaces/4c290530-08f0/AuthorizationRules/4ee0c914-16e8-44a0-ba/listKeys"; + _requests[2760] = new DefaultHttpContext(); + _requests[2760].RequestServices = CreateServices(); + _requests[2760].Request.Method = "POST"; + _requests[2760].Request.Path = "/subscriptions/ef6033c9-8475-/resourceGroups/25b49fcb-5aac-4b6/providers/Microsoft.NotificationHubs/namespaces/e8e38268-9713/AuthorizationRules/6ba4944a-df7a-4f8f-bb/regenerateKeys"; + _requests[2761] = new DefaultHttpContext(); + _requests[2761].RequestServices = CreateServices(); + _requests[2761].Request.Method = "GET"; + _requests[2761].Request.Path = "/subscriptions/29be5f0f-4a3e-/resourceGroups/cd851676-7a69-48d/providers/Microsoft.NotificationHubs/namespaces/f26c0bad-b677/notificationHubs/d60ce2de-e0aa-4cad-/AuthorizationRules"; + _requests[2762] = new DefaultHttpContext(); + _requests[2762].RequestServices = CreateServices(); + _requests[2762].Request.Method = "POST"; + _requests[2762].Request.Path = "/subscriptions/e24e8e14-47b1-/resourceGroups/ea10f96c-c74d-4ac/providers/Microsoft.NotificationHubs/namespaces/3e0f20c6-2d9d/notificationHubs/e11f2afb-06e1-430b-/pnsCredentials"; + _requests[2763] = new DefaultHttpContext(); + _requests[2763].RequestServices = CreateServices(); + _requests[2763].Request.Method = "POST"; + _requests[2763].Request.Path = "/subscriptions/37a5d3d3-b8b0-/resourcegroups/8d3e03e2-350d-4ef/providers/Microsoft.OperationalInsights/workspaces/d519f127-4963/intelligencePacks/81889a61-10ea-42a9-9/Disable"; + _requests[2764] = new DefaultHttpContext(); + _requests[2764].RequestServices = CreateServices(); + _requests[2764].Request.Method = "POST"; + _requests[2764].Request.Path = "/subscriptions/b231067c-7152-/resourcegroups/85cc2ec2-6559-4c5/providers/Microsoft.OperationalInsights/workspaces/f9831685-a432/intelligencePacks/21c3a560-7ee7-43a7-a/Enable"; + _requests[2765] = new DefaultHttpContext(); + _requests[2765].RequestServices = CreateServices(); + _requests[2765].Request.Method = "GET"; + _requests[2765].Request.Path = "/subscriptions/489d362b-4fa0-/resourcegroups/69669b52-2da8-48d/providers/Microsoft.OperationalInsights/workspaces/1d312b82-5d23/savedSearches/26a074a1-7f41-4/results"; + _requests[2766] = new DefaultHttpContext(); + _requests[2766].RequestServices = CreateServices(); + _requests[2766].Request.Method = "POST"; + _requests[2766].Request.Path = "/Subscriptions/fd7a0fa2-1234-/resourceGroups/5a74b826-2e22-438/providers/Microsoft.RecoveryServices/vaults/be60493a-6c5/replicationFabrics/74432df4-f/checkConsistency"; + _requests[2767] = new DefaultHttpContext(); + _requests[2767].RequestServices = CreateServices(); + _requests[2767].Request.Method = "POST"; + _requests[2767].Request.Path = "/Subscriptions/bdc767ac-0732-/resourceGroups/4b806354-0a71-403/providers/Microsoft.RecoveryServices/vaults/7f52f1fc-dbe/replicationFabrics/d890e5b0-9/migratetoaad"; + _requests[2768] = new DefaultHttpContext(); + _requests[2768].RequestServices = CreateServices(); + _requests[2768].Request.Method = "POST"; + _requests[2768].Request.Path = "/Subscriptions/33f54bc6-f13e-/resourceGroups/9de0641c-0a7f-4ef/providers/Microsoft.RecoveryServices/vaults/51f9e2d3-952/replicationFabrics/7e3f1070-d/reassociateGateway"; + _requests[2769] = new DefaultHttpContext(); + _requests[2769].RequestServices = CreateServices(); + _requests[2769].Request.Method = "POST"; + _requests[2769].Request.Path = "/Subscriptions/a2620054-0603-/resourceGroups/dd22a8b6-6577-49d/providers/Microsoft.RecoveryServices/vaults/c3100e56-522/replicationFabrics/96e21391-a/remove"; + _requests[2770] = new DefaultHttpContext(); + _requests[2770].RequestServices = CreateServices(); + _requests[2770].Request.Method = "POST"; + _requests[2770].Request.Path = "/Subscriptions/4555eee5-cd31-/resourceGroups/4c9c4edd-fcdf-433/providers/Microsoft.RecoveryServices/vaults/1a3f75c1-9d5/replicationFabrics/24aa6f28-d/renewCertificate"; + _requests[2771] = new DefaultHttpContext(); + _requests[2771].RequestServices = CreateServices(); + _requests[2771].Request.Method = "GET"; + _requests[2771].Request.Path = "/Subscriptions/2a94abec-aeb7-/resourceGroups/9a2be0da-63f4-479/providers/Microsoft.RecoveryServices/vaults/5d87958e-8f1/replicationFabrics/9f44c4bb-c/replicationLogicalNetworks"; + _requests[2772] = new DefaultHttpContext(); + _requests[2772].RequestServices = CreateServices(); + _requests[2772].Request.Method = "GET"; + _requests[2772].Request.Path = "/Subscriptions/65f857f7-35cc-/resourceGroups/b3d9b943-804c-49f/providers/Microsoft.RecoveryServices/vaults/c62349e6-06d/replicationFabrics/0b5a828a-6/replicationNetworks"; + _requests[2773] = new DefaultHttpContext(); + _requests[2773].RequestServices = CreateServices(); + _requests[2773].Request.Method = "GET"; + _requests[2773].Request.Path = "/Subscriptions/ec3f1bde-52cc-/resourceGroups/de68851a-072f-438/providers/Microsoft.RecoveryServices/vaults/0107babc-796/replicationFabrics/9d211766-5/replicationProtectionContainers"; + _requests[2774] = new DefaultHttpContext(); + _requests[2774].RequestServices = CreateServices(); + _requests[2774].Request.Method = "GET"; + _requests[2774].Request.Path = "/Subscriptions/5c24e1c6-8206-/resourceGroups/82ccc42f-3c19-467/providers/Microsoft.RecoveryServices/vaults/f53d126e-12f/replicationFabrics/e79cec3a-4/replicationRecoveryServicesProviders"; + _requests[2775] = new DefaultHttpContext(); + _requests[2775].RequestServices = CreateServices(); + _requests[2775].Request.Method = "GET"; + _requests[2775].Request.Path = "/Subscriptions/4d19cdef-4c15-/resourceGroups/12fb3d76-837f-4c6/providers/Microsoft.RecoveryServices/vaults/22e42100-53f/replicationFabrics/109c3d0b-9/replicationStorageClassifications"; + _requests[2776] = new DefaultHttpContext(); + _requests[2776].RequestServices = CreateServices(); + _requests[2776].Request.Method = "GET"; + _requests[2776].Request.Path = "/Subscriptions/b94698f9-1ea3-/resourceGroups/79d972db-5100-47f/providers/Microsoft.RecoveryServices/vaults/e243b246-114/replicationFabrics/4ba2a05c-1/replicationvCenters"; + _requests[2777] = new DefaultHttpContext(); + _requests[2777].RequestServices = CreateServices(); + _requests[2777].Request.Method = "POST"; + _requests[2777].Request.Path = "/Subscriptions/298537bd-6648-/resourceGroups/013c8823-5b97-448/providers/Microsoft.RecoveryServices/vaults/3170ee15-11a/replicationJobs/0ea9d94/cancel"; + _requests[2778] = new DefaultHttpContext(); + _requests[2778].RequestServices = CreateServices(); + _requests[2778].Request.Method = "POST"; + _requests[2778].Request.Path = "/Subscriptions/affbff95-4565-/resourceGroups/41290400-3bba-47a/providers/Microsoft.RecoveryServices/vaults/25950666-5ed/replicationJobs/ebedf33/restart"; + _requests[2779] = new DefaultHttpContext(); + _requests[2779].RequestServices = CreateServices(); + _requests[2779].Request.Method = "POST"; + _requests[2779].Request.Path = "/Subscriptions/e369229a-9f7d-/resourceGroups/fe6c8690-da97-449/providers/Microsoft.RecoveryServices/vaults/0930a5b0-8bb/replicationJobs/d3b9e74/resume"; + _requests[2780] = new DefaultHttpContext(); + _requests[2780].RequestServices = CreateServices(); + _requests[2780].Request.Method = "POST"; + _requests[2780].Request.Path = "/Subscriptions/9d4d6f10-3ac8-/resourceGroups/2479d05a-6a68-4da/providers/Microsoft.RecoveryServices/vaults/66644d3c-2c9/replicationRecoveryPlans/1e1b65a9-3862-4e/failoverCommit"; + _requests[2781] = new DefaultHttpContext(); + _requests[2781].RequestServices = CreateServices(); + _requests[2781].Request.Method = "POST"; + _requests[2781].Request.Path = "/Subscriptions/f6947ff8-7311-/resourceGroups/a6b2a269-f573-4b8/providers/Microsoft.RecoveryServices/vaults/2c7a8a37-afb/replicationRecoveryPlans/0e0d9dfa-9c7e-4a/plannedFailover"; + _requests[2782] = new DefaultHttpContext(); + _requests[2782].RequestServices = CreateServices(); + _requests[2782].Request.Method = "POST"; + _requests[2782].Request.Path = "/Subscriptions/003b0b80-da95-/resourceGroups/85195fbd-8662-421/providers/Microsoft.RecoveryServices/vaults/f4c31885-2a7/replicationRecoveryPlans/33033237-3078-47/reProtect"; + _requests[2783] = new DefaultHttpContext(); + _requests[2783].RequestServices = CreateServices(); + _requests[2783].Request.Method = "POST"; + _requests[2783].Request.Path = "/Subscriptions/309a44fc-7ab5-/resourceGroups/f361e2c2-676e-4e4/providers/Microsoft.RecoveryServices/vaults/ce122c52-3fc/replicationRecoveryPlans/19b75928-f2f2-43/testFailover"; + _requests[2784] = new DefaultHttpContext(); + _requests[2784].RequestServices = CreateServices(); + _requests[2784].Request.Method = "POST"; + _requests[2784].Request.Path = "/Subscriptions/3476ca88-b6c5-/resourceGroups/2749038a-f178-4dd/providers/Microsoft.RecoveryServices/vaults/72c585a8-199/replicationRecoveryPlans/0f0e6647-99f0-48/testFailoverCleanup"; + _requests[2785] = new DefaultHttpContext(); + _requests[2785].RequestServices = CreateServices(); + _requests[2785].Request.Method = "POST"; + _requests[2785].Request.Path = "/Subscriptions/578cab33-6ae6-/resourceGroups/e7dece75-ff55-434/providers/Microsoft.RecoveryServices/vaults/db975aa8-46b/replicationRecoveryPlans/1b66d1c1-e6c0-45/unplannedFailover"; + _requests[2786] = new DefaultHttpContext(); + _requests[2786].RequestServices = CreateServices(); + _requests[2786].Request.Method = "GET"; + _requests[2786].Request.Path = "/Subscriptions/0c5e5bc0-6958-/resourceGroups/03a401af-5b7c-45b/providers/Microsoft.RecoveryServices/vaults/8958b062-/backupFabrics/79ba52e9-2/protectableContainers"; + _requests[2787] = new DefaultHttpContext(); + _requests[2787].RequestServices = CreateServices(); + _requests[2787].Request.Method = "POST"; + _requests[2787].Request.Path = "/Subscriptions/6f7d6f72-7981-/resourceGroups/c1e0f96c-1131-449/providers/Microsoft.RecoveryServices/vaults/83ca663b-/backupFabrics/f3c91fee-4/refreshContainers"; + _requests[2788] = new DefaultHttpContext(); + _requests[2788].RequestServices = CreateServices(); + _requests[2788].Request.Method = "POST"; + _requests[2788].Request.Path = "/Subscriptions/72e9543e-92fa-/resourceGroups/c3d25315-f195-414/providers/Microsoft.RecoveryServices/vaults/d0505965-/backupJobs/e6a87c8/cancel"; + _requests[2789] = new DefaultHttpContext(); + _requests[2789].RequestServices = CreateServices(); + _requests[2789].Request.Method = "POST"; + _requests[2789].Request.Path = "/subscriptions/830b7f08-978b-/resourceGroups/7e6afa87-fde9-46f/providers/Microsoft.Relay/namespaces/eb7c25a3-ff7d/authorizationRules/25cc75e4-3a7c-452f-b6/listKeys"; + _requests[2790] = new DefaultHttpContext(); + _requests[2790].RequestServices = CreateServices(); + _requests[2790].Request.Method = "POST"; + _requests[2790].Request.Path = "/subscriptions/e94f293f-b976-/resourceGroups/e165685a-a825-420/providers/Microsoft.Relay/namespaces/029e9e36-50a3/authorizationRules/97d55480-77a6-4cf6-99/regenerateKeys"; + _requests[2791] = new DefaultHttpContext(); + _requests[2791].RequestServices = CreateServices(); + _requests[2791].Request.Method = "GET"; + _requests[2791].Request.Path = "/subscriptions/c12218ac-bb8e-/resourceGroups/de4ecda0-537c-4b6/providers/Microsoft.Relay/namespaces/1a2a446e-92f3/hybridConnections/38093b06-6cf6-43fc-a/authorizationRules"; + _requests[2792] = new DefaultHttpContext(); + _requests[2792].RequestServices = CreateServices(); + _requests[2792].Request.Method = "GET"; + _requests[2792].Request.Path = "/subscriptions/67f802f3-a5b7-/resourceGroups/e87adde2-4aa7-4b7/providers/Microsoft.Relay/namespaces/e54dbbba-0dd1/wcfRelays/bf7a843e-/authorizationRules"; + _requests[2793] = new DefaultHttpContext(); + _requests[2793].RequestServices = CreateServices(); + _requests[2793].Request.Method = "GET"; + _requests[2793].Request.Path = "/subscriptions/63f5760f-c1eb-/resourceGroups/2a186190-e9b3-47d/providers/Microsoft.Scheduler/jobCollections/ec322229-910b-468/jobs/3094906/history"; + _requests[2794] = new DefaultHttpContext(); + _requests[2794].RequestServices = CreateServices(); + _requests[2794].Request.Method = "POST"; + _requests[2794].Request.Path = "/subscriptions/58dcafbe-a479-/resourceGroups/f29f4c3e-8949-470/providers/Microsoft.Scheduler/jobCollections/c8124d4b-726b-478/jobs/fa50505/run"; + _requests[2795] = new DefaultHttpContext(); + _requests[2795].RequestServices = CreateServices(); + _requests[2795].Request.Method = "POST"; + _requests[2795].Request.Path = "/subscriptions/2f901bd1-df0e-/resourceGroups/3ef64836-f64a-4ce/providers/Microsoft.ServiceBus/namespaces/72e663f0-666e/AuthorizationRules/09eeb30a-d18c-41e7-9c/listKeys"; + _requests[2796] = new DefaultHttpContext(); + _requests[2796].RequestServices = CreateServices(); + _requests[2796].Request.Method = "POST"; + _requests[2796].Request.Path = "/subscriptions/c8cf1afe-bbb0-/resourceGroups/e49a5357-8dcd-4a5/providers/Microsoft.ServiceBus/namespaces/eb1d159a-1738/AuthorizationRules/c04dbc28-abda-45ab-95/regenerateKeys"; + _requests[2797] = new DefaultHttpContext(); + _requests[2797].RequestServices = CreateServices(); + _requests[2797].Request.Method = "GET"; + _requests[2797].Request.Path = "/subscriptions/b01559fc-96cd-/resourceGroups/39b55c74-fbc7-4ee/providers/Microsoft.ServiceBus/namespaces/aa959640-328a/disasterRecoveryConfigs/3652a/AuthorizationRules"; + _requests[2798] = new DefaultHttpContext(); + _requests[2798].RequestServices = CreateServices(); + _requests[2798].Request.Method = "POST"; + _requests[2798].Request.Path = "/subscriptions/b0d355fc-b80a-/resourceGroups/6577eeb7-b836-4fa/providers/Microsoft.ServiceBus/namespaces/023d9dd4-cd5c/disasterRecoveryConfigs/53d25/breakPairing"; + _requests[2799] = new DefaultHttpContext(); + _requests[2799].RequestServices = CreateServices(); + _requests[2799].Request.Method = "POST"; + _requests[2799].Request.Path = "/subscriptions/a11f86a9-b965-/resourceGroups/d0f5d463-fe9f-44b/providers/Microsoft.ServiceBus/namespaces/6cc555bd-84d3/disasterRecoveryConfigs/cd386/failover"; + _requests[2800] = new DefaultHttpContext(); + _requests[2800].RequestServices = CreateServices(); + _requests[2800].Request.Method = "GET"; + _requests[2800].Request.Path = "/subscriptions/480cc29f-1559-/resourceGroups/c2c9b06a-a25c-4cc/providers/Microsoft.ServiceBus/namespaces/e1473b18-8369/eventhubs/cc1643d3-780/authorizationRules"; + _requests[2801] = new DefaultHttpContext(); + _requests[2801].RequestServices = CreateServices(); + _requests[2801].Request.Method = "POST"; + _requests[2801].Request.Path = "/subscriptions/ad31756f-9b3b-/resourceGroups/d7df18b2-25f5-45b/providers/Microsoft.ServiceBus/namespaces/56a7ada0-b3a3/migrationConfigurations/060f51c3-d/revert"; + _requests[2802] = new DefaultHttpContext(); + _requests[2802].RequestServices = CreateServices(); + _requests[2802].Request.Method = "POST"; + _requests[2802].Request.Path = "/subscriptions/4ebb451a-cbfb-/resourceGroups/9b9959ba-dc81-47f/providers/Microsoft.ServiceBus/namespaces/c6f39d0d-78da/migrationConfigurations/7e6daaf5-e/upgrade"; + _requests[2803] = new DefaultHttpContext(); + _requests[2803].RequestServices = CreateServices(); + _requests[2803].Request.Method = "GET"; + _requests[2803].Request.Path = "/subscriptions/19df00e5-c936-/resourceGroups/412c9b32-6f59-482/providers/Microsoft.ServiceBus/namespaces/0e241ffd-6481/queues/359ffb64-/authorizationRules"; + _requests[2804] = new DefaultHttpContext(); + _requests[2804].RequestServices = CreateServices(); + _requests[2804].Request.Method = "GET"; + _requests[2804].Request.Path = "/subscriptions/ca426be8-898e-/resourceGroups/7e4cf31c-5e31-490/providers/Microsoft.ServiceBus/namespaces/cb44820f-04a6/topics/93fbf5a9-/authorizationRules"; + _requests[2805] = new DefaultHttpContext(); + _requests[2805].RequestServices = CreateServices(); + _requests[2805].Request.Method = "GET"; + _requests[2805].Request.Path = "/subscriptions/ee03e8a5-6ab7-/resourceGroups/5e2969be-8c51-438/providers/Microsoft.ServiceBus/namespaces/58ab88d2-2c69/topics/0ca89b08-/subscriptions"; + _requests[2806] = new DefaultHttpContext(); + _requests[2806].RequestServices = CreateServices(); + _requests[2806].Request.Method = "GET"; + _requests[2806].Request.Path = "/subscriptions/003863bd-4775-/resourceGroups/7ddc017b-fee7-490/providers/Microsoft.ServiceFabric/clusters/a99fdad5-44/applications/4f059889-e68d-4/services"; + _requests[2807] = new DefaultHttpContext(); + _requests[2807].RequestServices = CreateServices(); + _requests[2807].Request.Method = "GET"; + _requests[2807].Request.Path = "/subscriptions/796a4e88-d218-/resourceGroups/63351c04-363d-451/providers/Microsoft.ServiceFabric/clusters/bd48212c-38/applicationTypes/4857d800-cb15-4687-/versions"; + _requests[2808] = new DefaultHttpContext(); + _requests[2808].RequestServices = CreateServices(); + _requests[2808].Request.Method = "POST"; + _requests[2808].Request.Path = "/subscriptions/de9271b1-37b9-/resourceGroups/f0d9dd42-7cee-477/providers/Microsoft.Sql/locations/43ddd522-cb2/instanceFailoverGroups/566f85ab-0eb6-455/failover"; + _requests[2809] = new DefaultHttpContext(); + _requests[2809].RequestServices = CreateServices(); + _requests[2809].Request.Method = "POST"; + _requests[2809].Request.Path = "/subscriptions/631582ff-2293-/resourceGroups/5337ebe7-25f3-45e/providers/Microsoft.Sql/locations/383bdb8a-0df/instanceFailoverGroups/38f1dc08-a9be-4b2/forceFailoverAllowDataLoss"; + _requests[2810] = new DefaultHttpContext(); + _requests[2810].RequestServices = CreateServices(); + _requests[2810].Request.Method = "GET"; + _requests[2810].Request.Path = "/subscriptions/93a4234f-3c7d-/resourceGroups/4b7fcdc9-ad40-4c6/providers/Microsoft.Sql/servers/5aadecb5-e/databases/826d2661-ccd/advisors"; + _requests[2811] = new DefaultHttpContext(); + _requests[2811].RequestServices = CreateServices(); + _requests[2811].Request.Method = "GET"; + _requests[2811].Request.Path = "/subscriptions/403b28ce-fe02-/resourceGroups/1d02c79b-10c8-405/providers/Microsoft.Sql/servers/7788e252-8/databases/535e1f95-647/auditingPolicies"; + _requests[2812] = new DefaultHttpContext(); + _requests[2812].RequestServices = CreateServices(); + _requests[2812].Request.Method = "GET"; + _requests[2812].Request.Path = "/subscriptions/5a1a9697-cb43-/resourceGroups/8b59c47d-9cad-4ce/providers/Microsoft.Sql/servers/e1d8eaf9-2/databases/12132c90-3eb/backupLongTermRetentionPolicies"; + _requests[2813] = new DefaultHttpContext(); + _requests[2813].RequestServices = CreateServices(); + _requests[2813].Request.Method = "POST"; + _requests[2813].Request.Path = "/subscriptions/4d398902-bf48-/resourceGroups/3937bba5-ddd1-4f3/providers/Microsoft.Sql/servers/a49525ef-9/databases/499fa9ae-5e6/export"; + _requests[2814] = new DefaultHttpContext(); + _requests[2814].RequestServices = CreateServices(); + _requests[2814].Request.Method = "GET"; + _requests[2814].Request.Path = "/subscriptions/d3c2ec0d-b019-/resourceGroups/4d70695a-b413-431/providers/Microsoft.Sql/servers/458f5dfc-9/databases/fb2fe210-fb0/extensions"; + _requests[2815] = new DefaultHttpContext(); + _requests[2815].RequestServices = CreateServices(); + _requests[2815].Request.Method = "GET"; + _requests[2815].Request.Path = "/subscriptions/94b5ed0c-4ff0-/resourceGroups/6fcba039-c161-4be/providers/Microsoft.Sql/servers/687c836e-4/databases/93f59c6f-508/geoBackupPolicies"; + _requests[2816] = new DefaultHttpContext(); + _requests[2816].RequestServices = CreateServices(); + _requests[2816].Request.Method = "GET"; + _requests[2816].Request.Path = "/subscriptions/d05ca290-cf2f-/resourceGroups/86bf7a0c-e86a-4e8/providers/Microsoft.Sql/servers/63ae3c81-3/databases/05fda1c2-180/metricDefinitions"; + _requests[2817] = new DefaultHttpContext(); + _requests[2817].RequestServices = CreateServices(); + _requests[2817].Request.Method = "GET"; + _requests[2817].Request.Path = "/subscriptions/5f9ba35b-5f88-/resourceGroups/bef2f8a2-a9a4-432/providers/Microsoft.Sql/servers/35a763dc-9/databases/2e3227f7-dab/metrics"; + _requests[2818] = new DefaultHttpContext(); + _requests[2818].RequestServices = CreateServices(); + _requests[2818].Request.Method = "POST"; + _requests[2818].Request.Path = "/subscriptions/5b1e7695-1362-/resourceGroups/939d3fce-760c-478/providers/Microsoft.Sql/servers/c37bf3fc-0/databases/ca9a4c62-47e/move"; + _requests[2819] = new DefaultHttpContext(); + _requests[2819].RequestServices = CreateServices(); + _requests[2819].Request.Method = "GET"; + _requests[2819].Request.Path = "/subscriptions/978646ab-b3b6-/resourceGroups/8696c230-aa08-43c/providers/Microsoft.Sql/servers/e7c817f0-f/databases/a2dde691-ffa/operations"; + _requests[2820] = new DefaultHttpContext(); + _requests[2820].RequestServices = CreateServices(); + _requests[2820].Request.Method = "POST"; + _requests[2820].Request.Path = "/subscriptions/a492ccf4-0ed8-/resourceGroups/ba9b12a9-8d77-4f6/providers/Microsoft.Sql/servers/9967dec3-0/databases/50edbc01-abc/pause"; + _requests[2821] = new DefaultHttpContext(); + _requests[2821].RequestServices = CreateServices(); + _requests[2821].Request.Method = "GET"; + _requests[2821].Request.Path = "/subscriptions/75ec910f-53e0-/resourceGroups/7fb3cdd2-8441-4c7/providers/Microsoft.Sql/servers/ffc409da-b/databases/49f5fad9-ad4/replicationLinks"; + _requests[2822] = new DefaultHttpContext(); + _requests[2822].RequestServices = CreateServices(); + _requests[2822].Request.Method = "GET"; + _requests[2822].Request.Path = "/subscriptions/dcaf6a7c-efd0-/resourceGroups/b2bf41eb-46c2-46f/providers/Microsoft.Sql/servers/131b425b-f/databases/fb224a91-dbb/restorePoints"; + _requests[2823] = new DefaultHttpContext(); + _requests[2823].RequestServices = CreateServices(); + _requests[2823].Request.Method = "POST"; + _requests[2823].Request.Path = "/subscriptions/64f648dc-7173-/resourceGroups/8ca3de04-06fc-403/providers/Microsoft.Sql/servers/e5958dd8-f/databases/49ce97d8-cac/resume"; + _requests[2824] = new DefaultHttpContext(); + _requests[2824].RequestServices = CreateServices(); + _requests[2824].Request.Method = "GET"; + _requests[2824].Request.Path = "/subscriptions/7ea5d858-a267-/resourceGroups/6fa32c46-3e17-455/providers/Microsoft.Sql/servers/f1db7f16-4/databases/daa70e13-30e/serviceTierAdvisors"; + _requests[2825] = new DefaultHttpContext(); + _requests[2825].RequestServices = CreateServices(); + _requests[2825].Request.Method = "GET"; + _requests[2825].Request.Path = "/subscriptions/5597b4d5-6597-/resourceGroups/b0810f28-ab34-404/providers/Microsoft.Sql/servers/c0ba261b-5/databases/7fc00aaf-d12/syncGroups"; + _requests[2826] = new DefaultHttpContext(); + _requests[2826].RequestServices = CreateServices(); + _requests[2826].Request.Method = "GET"; + _requests[2826].Request.Path = "/subscriptions/a3fdadb5-6f5c-/resourceGroups/636b6c53-aa06-4c9/providers/Microsoft.Sql/servers/075c2728-f/databases/349703e2-7b0/topQueries"; + _requests[2827] = new DefaultHttpContext(); + _requests[2827].RequestServices = CreateServices(); + _requests[2827].Request.Method = "GET"; + _requests[2827].Request.Path = "/subscriptions/03e3659d-fa09-/resourceGroups/c9c4e5a1-5813-439/providers/Microsoft.Sql/servers/02fb34ac-d/databases/189ece16-dd3/transparentDataEncryption"; + _requests[2828] = new DefaultHttpContext(); + _requests[2828].RequestServices = CreateServices(); + _requests[2828].Request.Method = "POST"; + _requests[2828].Request.Path = "/subscriptions/b847552c-9d14-/resourceGroups/d8e2093d-0d6a-444/providers/Microsoft.Sql/servers/131b90c0-0/databases/7a837b98-fd3/upgradeDataWarehouse"; + _requests[2829] = new DefaultHttpContext(); + _requests[2829].RequestServices = CreateServices(); + _requests[2829].Request.Method = "GET"; + _requests[2829].Request.Path = "/subscriptions/cf593e30-c978-/resourceGroups/f49c0571-5f60-4dc/providers/Microsoft.Sql/servers/1f920c41-b/databases/5a46e0b0-31c/usages"; + _requests[2830] = new DefaultHttpContext(); + _requests[2830].RequestServices = CreateServices(); + _requests[2830].Request.Method = "POST"; + _requests[2830].Request.Path = "/subscriptions/62ac6c6c-29bf-/resourceGroups/802e3dc4-7d78-408/providers/Microsoft.Sql/servers/21752cb9-b/disasterRecoveryConfiguration/f10eb220-b7dc-4585-a8a1-e4311df2a/failover"; + _requests[2831] = new DefaultHttpContext(); + _requests[2831].RequestServices = CreateServices(); + _requests[2831].Request.Method = "POST"; + _requests[2831].Request.Path = "/subscriptions/751af0e2-1fa7-/resourceGroups/a194f7d9-c98b-431/providers/Microsoft.Sql/servers/ec985a1a-4/disasterRecoveryConfiguration/16efad4b-9baa-473d-882b-f7059f49c/forceFailoverAllowDataLoss"; + _requests[2832] = new DefaultHttpContext(); + _requests[2832].RequestServices = CreateServices(); + _requests[2832].Request.Method = "POST"; + _requests[2832].Request.Path = "/subscriptions/5c2c96cf-722b-/resourceGroups/d16de2d0-ea23-449/providers/Microsoft.Sql/servers/3f3a432a-2/dnsAliases/3677c4c7-a4b/acquire"; + _requests[2833] = new DefaultHttpContext(); + _requests[2833].RequestServices = CreateServices(); + _requests[2833].Request.Method = "GET"; + _requests[2833].Request.Path = "/subscriptions/ca408602-3ad9-/resourceGroups/ebe2725d-932e-4ad/providers/Microsoft.Sql/servers/80f1a5ab-f/elasticPools/e3742f15-9b20-4/databases"; + _requests[2834] = new DefaultHttpContext(); + _requests[2834].RequestServices = CreateServices(); + _requests[2834].Request.Method = "GET"; + _requests[2834].Request.Path = "/subscriptions/bddc6b1c-df14-/resourceGroups/a2382fc9-ff0b-4b3/providers/Microsoft.Sql/servers/b0beddf9-7/elasticPools/15f8894d-1381-4/elasticPoolActivity"; + _requests[2835] = new DefaultHttpContext(); + _requests[2835].RequestServices = CreateServices(); + _requests[2835].Request.Method = "GET"; + _requests[2835].Request.Path = "/subscriptions/14b1fdd2-e68a-/resourceGroups/c74483db-08e7-4ea/providers/Microsoft.Sql/servers/afa0fd5e-a/elasticPools/80f80fe7-b3d2-4/elasticPoolDatabaseActivity"; + _requests[2836] = new DefaultHttpContext(); + _requests[2836].RequestServices = CreateServices(); + _requests[2836].Request.Method = "GET"; + _requests[2836].Request.Path = "/subscriptions/a8cd36c6-3218-/resourceGroups/477c2f07-996e-454/providers/Microsoft.Sql/servers/7503a7ee-e/elasticPools/65bfed72-06ff-4/metricDefinitions"; + _requests[2837] = new DefaultHttpContext(); + _requests[2837].RequestServices = CreateServices(); + _requests[2837].Request.Method = "GET"; + _requests[2837].Request.Path = "/subscriptions/1cacc69a-114b-/resourceGroups/a8691f8e-bb78-427/providers/Microsoft.Sql/servers/ef6aade4-c/elasticPools/97b725f7-543a-4/metrics"; + _requests[2838] = new DefaultHttpContext(); + _requests[2838].RequestServices = CreateServices(); + _requests[2838].Request.Method = "GET"; + _requests[2838].Request.Path = "/subscriptions/3a74118e-236c-/resourceGroups/53e14ec2-0d32-4e7/providers/Microsoft.Sql/servers/4e2af26a-2/elasticPools/851dcf18-7beb-4/operations"; + _requests[2839] = new DefaultHttpContext(); + _requests[2839].RequestServices = CreateServices(); + _requests[2839].Request.Method = "POST"; + _requests[2839].Request.Path = "/subscriptions/616f2ee4-f961-/resourceGroups/9009cbd8-6449-4fd/providers/Microsoft.Sql/servers/3ac2caee-f/failoverGroups/c3a0f5bd-8ebd-4df/failover"; + _requests[2840] = new DefaultHttpContext(); + _requests[2840].RequestServices = CreateServices(); + _requests[2840].Request.Method = "POST"; + _requests[2840].Request.Path = "/subscriptions/ab702966-0a8b-/resourceGroups/13a92a60-67fa-423/providers/Microsoft.Sql/servers/49da31c9-8/failoverGroups/e1858542-0e8e-4b2/forceFailoverAllowDataLoss"; + _requests[2841] = new DefaultHttpContext(); + _requests[2841].RequestServices = CreateServices(); + _requests[2841].Request.Method = "GET"; + _requests[2841].Request.Path = "/subscriptions/f4dc674e-19b6-/resourceGroups/72557c4e-b70c-4ec/providers/Microsoft.Sql/servers/270381a0-1/jobAgents/63ef2192-b91/credentials"; + _requests[2842] = new DefaultHttpContext(); + _requests[2842].RequestServices = CreateServices(); + _requests[2842].Request.Method = "GET"; + _requests[2842].Request.Path = "/subscriptions/bb986460-983c-/resourceGroups/d60f4eda-4f8a-438/providers/Microsoft.Sql/servers/31852393-b/jobAgents/ce098994-22e/executions"; + _requests[2843] = new DefaultHttpContext(); + _requests[2843].RequestServices = CreateServices(); + _requests[2843].Request.Method = "GET"; + _requests[2843].Request.Path = "/subscriptions/8fbd3c3f-a901-/resourceGroups/8f80bfcc-50e0-496/providers/Microsoft.Sql/servers/8ae5ab06-5/jobAgents/95ac962e-204/jobs"; + _requests[2844] = new DefaultHttpContext(); + _requests[2844].RequestServices = CreateServices(); + _requests[2844].Request.Method = "GET"; + _requests[2844].Request.Path = "/subscriptions/01688718-dcc7-/resourceGroups/bdf433c6-c5ad-4b5/providers/Microsoft.Sql/servers/e33b96e8-9/jobAgents/586a0cf9-9e1/targetGroups"; + _requests[2845] = new DefaultHttpContext(); + _requests[2845].RequestServices = CreateServices(); + _requests[2845].Request.Method = "GET"; + _requests[2845].Request.Path = "/subscriptions/e7d8541e-4d82-/resourceGroups/1cabe4cc-66f5-437/providers/Microsoft.Sql/servers/5cd43403-2/recommendedElasticPools/6d4066fe-8bd4-4a25-882c-97/databases"; + _requests[2846] = new DefaultHttpContext(); + _requests[2846].RequestServices = CreateServices(); + _requests[2846].Request.Method = "GET"; + _requests[2846].Request.Path = "/subscriptions/233a7186-9f8e-/resourceGroups/0023f940-c623-49f/providers/Microsoft.Sql/servers/5585ff3a-3/recommendedElasticPools/d6ff5617-2cb4-49e7-8290-ca/metrics"; + _requests[2847] = new DefaultHttpContext(); + _requests[2847].RequestServices = CreateServices(); + _requests[2847].Request.Method = "POST"; + _requests[2847].Request.Path = "/subscriptions/3262b27d-70de-/resourceGroups/4a9f9f12-2002-4c8/providers/Microsoft.Sql/servers/c9615c3b-2/syncAgents/45c73964-db42/generateKey"; + _requests[2848] = new DefaultHttpContext(); + _requests[2848].RequestServices = CreateServices(); + _requests[2848].Request.Method = "GET"; + _requests[2848].Request.Path = "/subscriptions/d3bab9c2-2875-/resourceGroups/879dc311-0e0e-47e/providers/Microsoft.Sql/servers/fc98b67f-a/syncAgents/947e46e3-7ad2/linkedDatabases"; + _requests[2849] = new DefaultHttpContext(); + _requests[2849].RequestServices = CreateServices(); + _requests[2849].Request.Method = "GET"; + _requests[2849].Request.Path = "/subscriptions/1daa71cb-5cc5-/resourcegroups/b74f19b3-149d-45e/providers/Microsoft.Storage.Admin/farms/6bb430/blobservices/5e062a18-07/metricdefinitions"; + _requests[2850] = new DefaultHttpContext(); + _requests[2850].RequestServices = CreateServices(); + _requests[2850].Request.Method = "GET"; + _requests[2850].Request.Path = "/subscriptions/50295e14-5250-/resourcegroups/04cdf30b-a154-4d7/providers/Microsoft.Storage.Admin/farms/77aaa6/blobservices/df8f616c-ce/metrics"; + _requests[2851] = new DefaultHttpContext(); + _requests[2851].RequestServices = CreateServices(); + _requests[2851].Request.Method = "GET"; + _requests[2851].Request.Path = "/subscriptions/48038655-2df4-/resourcegroups/17b5fe33-ccd0-4ec/providers/Microsoft.Storage.Admin/farms/0985b8/queueservices/4e58076c-93/metricdefinitions"; + _requests[2852] = new DefaultHttpContext(); + _requests[2852].RequestServices = CreateServices(); + _requests[2852].Request.Method = "GET"; + _requests[2852].Request.Path = "/subscriptions/f8a70024-8cd5-/resourcegroups/27c28825-af54-4e9/providers/Microsoft.Storage.Admin/farms/43e9e1/queueservices/c8b2d9bd-00/metrics"; + _requests[2853] = new DefaultHttpContext(); + _requests[2853].RequestServices = CreateServices(); + _requests[2853].Request.Method = "GET"; + _requests[2853].Request.Path = "/subscriptions/281db66e-e6b7-/resourcegroups/ba6d35eb-d6e7-477/providers/Microsoft.Storage.Admin/farms/171906/shares/6d9595cc-/containers"; + _requests[2854] = new DefaultHttpContext(); + _requests[2854].RequestServices = CreateServices(); + _requests[2854].Request.Method = "GET"; + _requests[2854].Request.Path = "/subscriptions/b03e7162-c7a4-/resourcegroups/826b4758-0354-4df/providers/Microsoft.Storage.Admin/farms/ef2b92/shares/1db84109-/destinationshares"; + _requests[2855] = new DefaultHttpContext(); + _requests[2855].RequestServices = CreateServices(); + _requests[2855].Request.Method = "GET"; + _requests[2855].Request.Path = "/subscriptions/ab1c3314-9463-/resourcegroups/58520155-9327-4fe/providers/Microsoft.Storage.Admin/farms/431c10/shares/ecd27f05-/metricdefinitions"; + _requests[2856] = new DefaultHttpContext(); + _requests[2856].RequestServices = CreateServices(); + _requests[2856].Request.Method = "GET"; + _requests[2856].Request.Path = "/subscriptions/2f51d525-52b2-/resourcegroups/59ca9b80-d2f1-447/providers/Microsoft.Storage.Admin/farms/55cb80/shares/2dde7026-/metrics"; + _requests[2857] = new DefaultHttpContext(); + _requests[2857].RequestServices = CreateServices(); + _requests[2857].Request.Method = "POST"; + _requests[2857].Request.Path = "/subscriptions/d022e588-4964-/resourcegroups/c4a6e085-6a6a-4c8/providers/Microsoft.Storage.Admin/farms/45ac96/shares/2cd6939b-/migrate"; + _requests[2858] = new DefaultHttpContext(); + _requests[2858].RequestServices = CreateServices(); + _requests[2858].Request.Method = "GET"; + _requests[2858].Request.Path = "/subscriptions/0ea9c3e4-3a42-/resourcegroups/926db905-a0fc-484/providers/Microsoft.Storage.Admin/farms/90a14b/tableservices/5f8c780e-cb/metricdefinitions"; + _requests[2859] = new DefaultHttpContext(); + _requests[2859].RequestServices = CreateServices(); + _requests[2859].Request.Method = "GET"; + _requests[2859].Request.Path = "/subscriptions/b3fe55da-ea7e-/resourcegroups/279e9118-7129-453/providers/Microsoft.Storage.Admin/farms/d4c16e/tableservices/72ea3d4f-37/metrics"; + _requests[2860] = new DefaultHttpContext(); + _requests[2860].RequestServices = CreateServices(); + _requests[2860].Request.Method = "POST"; + _requests[2860].Request.Path = "/subscriptions/035f3de1-a83a-/resourceGroups/1dd0e306-9794-437/providers/Microsoft.StorSimple/managers/8df3fe74-8a/devices/ea79f1ba-f/authorizeForServiceEncryptionKeyRollover"; + _requests[2861] = new DefaultHttpContext(); + _requests[2861].RequestServices = CreateServices(); + _requests[2861].Request.Method = "GET"; + _requests[2861].Request.Path = "/subscriptions/22e6a05c-9e76-/resourceGroups/eaa36012-3737-40c/providers/Microsoft.StorSimple/managers/f964f0be-6f/devices/2d366138-9/backupPolicies"; + _requests[2862] = new DefaultHttpContext(); + _requests[2862].RequestServices = CreateServices(); + _requests[2862].Request.Method = "GET"; + _requests[2862].Request.Path = "/subscriptions/96ecc72e-9f3d-/resourceGroups/df6a6c88-3419-471/providers/Microsoft.StorSimple/managers/62063046-f5/devices/b4b9e331-5/backups"; + _requests[2863] = new DefaultHttpContext(); + _requests[2863].RequestServices = CreateServices(); + _requests[2863].Request.Method = "POST"; + _requests[2863].Request.Path = "/subscriptions/9be2e41b-89a5-/resourceGroups/bf6295d9-6c33-438/providers/Microsoft.StorSimple/managers/50145ef8-dd/devices/aa1a389c-3/deactivate"; + _requests[2864] = new DefaultHttpContext(); + _requests[2864].RequestServices = CreateServices(); + _requests[2864].Request.Method = "GET"; + _requests[2864].Request.Path = "/subscriptions/e3935674-fe1c-/resourceGroups/a46f4354-6150-4d3/providers/Microsoft.StorSimple/managers/20e976cb-5c/devices/2ece05cd-1/hardwareComponentGroups"; + _requests[2865] = new DefaultHttpContext(); + _requests[2865].RequestServices = CreateServices(); + _requests[2865].Request.Method = "POST"; + _requests[2865].Request.Path = "/subscriptions/13f49d11-7a6b-/resourceGroups/4b870d97-6e1a-406/providers/Microsoft.StorSimple/managers/83e0aa67-e8/devices/e3d36d4a-e/installUpdates"; + _requests[2866] = new DefaultHttpContext(); + _requests[2866].RequestServices = CreateServices(); + _requests[2866].Request.Method = "GET"; + _requests[2866].Request.Path = "/subscriptions/4c986cca-37d0-/resourceGroups/56d3e43a-a852-4d7/providers/Microsoft.StorSimple/managers/184bcded-d1/devices/78ea6bee-3/jobs"; + _requests[2867] = new DefaultHttpContext(); + _requests[2867].RequestServices = CreateServices(); + _requests[2867].Request.Method = "POST"; + _requests[2867].Request.Path = "/subscriptions/303af855-9ad8-/resourceGroups/c316a57a-3bb8-4ea/providers/Microsoft.StorSimple/managers/ac58741b-80/devices/5a76010d-a/listFailoverSets"; + _requests[2868] = new DefaultHttpContext(); + _requests[2868].RequestServices = CreateServices(); + _requests[2868].Request.Method = "GET"; + _requests[2868].Request.Path = "/subscriptions/e52dfe05-73da-/resourceGroups/642a2d3c-ef86-40d/providers/Microsoft.StorSimple/managers/27efb4e4-cd/devices/f8a5eb35-0/metrics"; + _requests[2869] = new DefaultHttpContext(); + _requests[2869].RequestServices = CreateServices(); + _requests[2869].Request.Method = "GET"; + _requests[2869].Request.Path = "/subscriptions/e5b6fb0f-7695-/resourceGroups/be8a84b0-1ce7-4ee/providers/Microsoft.StorSimple/managers/9ca455d2-ee/devices/13235126-a/metricsDefinitions"; + _requests[2870] = new DefaultHttpContext(); + _requests[2870].RequestServices = CreateServices(); + _requests[2870].Request.Method = "POST"; + _requests[2870].Request.Path = "/subscriptions/ab5de3cd-d959-/resourceGroups/11e96c0e-e7a6-455/providers/Microsoft.StorSimple/managers/99d60176-83/devices/a2285e7d-1/publicEncryptionKey"; + _requests[2871] = new DefaultHttpContext(); + _requests[2871].RequestServices = CreateServices(); + _requests[2871].Request.Method = "POST"; + _requests[2871].Request.Path = "/subscriptions/10069333-83bd-/resourceGroups/9fa0fb51-35f7-42a/providers/Microsoft.StorSimple/managers/fda8ce25-6b/devices/3a7e4a80-3/scanForUpdates"; + _requests[2872] = new DefaultHttpContext(); + _requests[2872].RequestServices = CreateServices(); + _requests[2872].Request.Method = "POST"; + _requests[2872].Request.Path = "/subscriptions/5294d077-15e1-/resourceGroups/82f3599d-3f9d-41b/providers/Microsoft.StorSimple/managers/6bb7c91f-06/devices/63a7fe70-1/sendTestAlertEmail"; + _requests[2873] = new DefaultHttpContext(); + _requests[2873].RequestServices = CreateServices(); + _requests[2873].Request.Method = "GET"; + _requests[2873].Request.Path = "/subscriptions/4fbf8c57-9a7c-/resourceGroups/c82475cf-2e87-42f/providers/Microsoft.StorSimple/managers/c1812d4e-b4/devices/9f8484a1-e/volumeContainers"; + _requests[2874] = new DefaultHttpContext(); + _requests[2874].RequestServices = CreateServices(); + _requests[2874].Request.Method = "GET"; + _requests[2874].Request.Path = "/subscriptions/bd96ebfb-dd36-/resourceGroups/00383f9a-201c-4a2/providers/Microsoft.StorSimple/managers/bb72261d-ca/devices/47ff3046-8/volumes"; + _requests[2875] = new DefaultHttpContext(); + _requests[2875].RequestServices = CreateServices(); + _requests[2875].Request.Method = "POST"; + _requests[2875].Request.Path = "/subscriptions/7a64102e-612f-/resourceGroups/52c2c18f-802b-4a7/providers/Microsoft.StorSimple/managers/1f62ad77-71/devices/eef19fc7-b31d-48/failover"; + _requests[2876] = new DefaultHttpContext(); + _requests[2876].RequestServices = CreateServices(); + _requests[2876].Request.Method = "POST"; + _requests[2876].Request.Path = "/subscriptions/ce140f3f-c460-/resourceGroups/eb5c5244-dda8-41f/providers/Microsoft.StorSimple/managers/e90b5422-7e/devices/a429364f-5e1b-4f/listFailoverTargets"; + _requests[2877] = new DefaultHttpContext(); + _requests[2877].RequestServices = CreateServices(); + _requests[2877].Request.Method = "POST"; + _requests[2877].Request.Path = "/subscriptions/79ed76bc-962a-/resourcegroups/a7db1a5c-0e46-481/providers/Microsoft.StreamAnalytics/streamingjobs/db78bd7/functions/045c64eb-222/RetrieveDefaultDefinition"; + _requests[2878] = new DefaultHttpContext(); + _requests[2878].RequestServices = CreateServices(); + _requests[2878].Request.Method = "POST"; + _requests[2878].Request.Path = "/subscriptions/e6034e4e-c305-/resourcegroups/d87f9dbc-e9cb-463/providers/Microsoft.StreamAnalytics/streamingjobs/0cdb8cb/functions/7d5257b7-226/test"; + _requests[2879] = new DefaultHttpContext(); + _requests[2879].RequestServices = CreateServices(); + _requests[2879].Request.Method = "POST"; + _requests[2879].Request.Path = "/subscriptions/2bbf4b3c-d3cb-/resourcegroups/35c618a4-a6bc-4ed/providers/Microsoft.StreamAnalytics/streamingjobs/4155bf4/inputs/4d0bf789-/test"; + _requests[2880] = new DefaultHttpContext(); + _requests[2880].RequestServices = CreateServices(); + _requests[2880].Request.Method = "POST"; + _requests[2880].Request.Path = "/subscriptions/9ada051a-60f2-/resourcegroups/b4f90a75-4082-4c8/providers/Microsoft.StreamAnalytics/streamingjobs/242c4e2/outputs/19cf70ee-a/test"; + _requests[2881] = new DefaultHttpContext(); + _requests[2881].RequestServices = CreateServices(); + _requests[2881].Request.Method = "POST"; + _requests[2881].Request.Path = "/subscriptions/42e4fc70-f92e-/resourcegroups/d6fed138-f9df-4ea/providers/Microsoft.Update.Admin/updateLocations/efce7cc5-7aa4-/updates/aed3df52-a/Apply"; + _requests[2882] = new DefaultHttpContext(); + _requests[2882].RequestServices = CreateServices(); + _requests[2882].Request.Method = "GET"; + _requests[2882].Request.Path = "/subscriptions/f6863c52-6641-/resourcegroups/efd46449-9dd6-49b/providers/Microsoft.Update.Admin/updateLocations/674d88e5-099d-/updates/3ef2722c-5/updateRuns"; + _requests[2883] = new DefaultHttpContext(); + _requests[2883].RequestServices = CreateServices(); + _requests[2883].Request.Method = "GET"; + _requests[2883].Request.Path = "/subscriptions/203dd3f9-46f6-/resourceGroups/c30275ba-47f2-496/providers/Microsoft.Web/hostingEnvironments/aab9d/workerPools/c42377c7-a039-/metricdefinitions"; + _requests[2884] = new DefaultHttpContext(); + _requests[2884].RequestServices = CreateServices(); + _requests[2884].Request.Method = "GET"; + _requests[2884].Request.Path = "/subscriptions/0e7b668b-32e9-/resourceGroups/37393f55-bb2b-44b/providers/Microsoft.Web/hostingEnvironments/aeb27/workerPools/0e11281c-379d-/metrics"; + _requests[2885] = new DefaultHttpContext(); + _requests[2885].RequestServices = CreateServices(); + _requests[2885].Request.Method = "GET"; + _requests[2885].Request.Path = "/subscriptions/7db24aef-f952-/resourceGroups/c554faf1-5105-43a/providers/Microsoft.Web/hostingEnvironments/1e884/workerPools/49cf7717-6a95-/skus"; + _requests[2886] = new DefaultHttpContext(); + _requests[2886].RequestServices = CreateServices(); + _requests[2886].Request.Method = "GET"; + _requests[2886].Request.Path = "/subscriptions/21295e59-e2b2-/resourceGroups/6a67edb7-96fa-47d/providers/Microsoft.Web/hostingEnvironments/c54f3/workerPools/5c9e0d24-d782-/usages"; + _requests[2887] = new DefaultHttpContext(); + _requests[2887].RequestServices = CreateServices(); + _requests[2887].Request.Method = "GET"; + _requests[2887].Request.Path = "/subscriptions/f6cde3af-000b-/resourceGroups/e1b09659-ff0a-4b7/providers/Microsoft.Web/serverfarms/9b87c/virtualNetworkConnections/d93f98ea/routes"; + _requests[2888] = new DefaultHttpContext(); + _requests[2888].RequestServices = CreateServices(); + _requests[2888].Request.Method = "POST"; + _requests[2888].Request.Path = "/subscriptions/65473a76-3969-/resourceGroups/2b2fc8e1-67e1-45c/providers/Microsoft.Web/serverfarms/71b31/workers/da77e25d-c/reboot"; + _requests[2889] = new DefaultHttpContext(); + _requests[2889].RequestServices = CreateServices(); + _requests[2889].Request.Method = "POST"; + _requests[2889].Request.Path = "/subscriptions/8af605c1-27a0-/resourceGroups/3e85e283-91da-403/providers/Microsoft.Web/sites/bfcb1/backups/6ebb5f05/list"; + _requests[2890] = new DefaultHttpContext(); + _requests[2890].RequestServices = CreateServices(); + _requests[2890].Request.Method = "POST"; + _requests[2890].Request.Path = "/subscriptions/9b40556f-9035-/resourceGroups/1cc0717a-bc42-466/providers/Microsoft.Web/sites/81794/backups/a55c8738/restore"; + _requests[2891] = new DefaultHttpContext(); + _requests[2891].RequestServices = CreateServices(); + _requests[2891].Request.Method = "POST"; + _requests[2891].Request.Path = "/subscriptions/84b1b9ff-0467-/resourceGroups/3665313a-2dc8-416/providers/Microsoft.Web/sites/a4a1b/continuouswebjobs/96dcd63b-5/start"; + _requests[2892] = new DefaultHttpContext(); + _requests[2892].RequestServices = CreateServices(); + _requests[2892].Request.Method = "POST"; + _requests[2892].Request.Path = "/subscriptions/d1fd12cd-7691-/resourceGroups/318e4658-5d4c-426/providers/Microsoft.Web/sites/0feb5/continuouswebjobs/68a00084-d/stop"; + _requests[2893] = new DefaultHttpContext(); + _requests[2893].RequestServices = CreateServices(); + _requests[2893].Request.Method = "GET"; + _requests[2893].Request.Path = "/subscriptions/34d04af3-0d02-/resourceGroups/fa58c7ae-cec9-45f/providers/Microsoft.Web/sites/f4a54/deployments/9ba35/log"; + _requests[2894] = new DefaultHttpContext(); + _requests[2894].RequestServices = CreateServices(); + _requests[2894].Request.Method = "POST"; + _requests[2894].Request.Path = "/subscriptions/d2090f84-d7b5-/resourceGroups/6b164d62-0959-444/providers/Microsoft.Web/sites/07f4f/functions/c5a392f2-56a/listsecrets"; + _requests[2895] = new DefaultHttpContext(); + _requests[2895].RequestServices = CreateServices(); + _requests[2895].Request.Method = "GET"; + _requests[2895].Request.Path = "/subscriptions/55fea9cb-9950-/resourceGroups/0eafbebe-4847-44c/providers/Microsoft.Web/sites/e7254/instances/8c9dd6c4-0/deployments"; + _requests[2896] = new DefaultHttpContext(); + _requests[2896].RequestServices = CreateServices(); + _requests[2896].Request.Method = "GET"; + _requests[2896].Request.Path = "/subscriptions/75b7f3cd-26d8-/resourceGroups/83631384-5103-448/providers/Microsoft.Web/sites/b33bc/instances/397bb0a9-c/processes"; + _requests[2897] = new DefaultHttpContext(); + _requests[2897].RequestServices = CreateServices(); + _requests[2897].Request.Method = "GET"; + _requests[2897].Request.Path = "/subscriptions/90162705-6949-/resourceGroups/1ecc7103-1ff6-421/providers/Microsoft.Web/sites/6d183/processes/aee070da-/dump"; + _requests[2898] = new DefaultHttpContext(); + _requests[2898].RequestServices = CreateServices(); + _requests[2898].Request.Method = "GET"; + _requests[2898].Request.Path = "/subscriptions/a6623512-d57c-/resourceGroups/ca1511e6-b95e-47b/providers/Microsoft.Web/sites/f1e10/processes/55c61dcb-/modules"; + _requests[2899] = new DefaultHttpContext(); + _requests[2899].RequestServices = CreateServices(); + _requests[2899].Request.Method = "GET"; + _requests[2899].Request.Path = "/subscriptions/b0188764-eadd-/resourceGroups/c1d6aa77-2a02-4e4/providers/Microsoft.Web/sites/d8583/processes/208588c6-/threads"; + _requests[2900] = new DefaultHttpContext(); + _requests[2900].RequestServices = CreateServices(); + _requests[2900].Request.Method = "GET"; + _requests[2900].Request.Path = "/subscriptions/88f04956-654c-/resourceGroups/dc8461b4-1739-4f9/providers/Microsoft.Web/sites/43ef6/slots/ddd96/analyzeCustomHostname"; + _requests[2901] = new DefaultHttpContext(); + _requests[2901].RequestServices = CreateServices(); + _requests[2901].Request.Method = "POST"; + _requests[2901].Request.Path = "/subscriptions/82757803-df0a-/resourceGroups/b33d3074-70ca-4d7/providers/Microsoft.Web/sites/9a077/slots/f88cb/applySlotConfig"; + _requests[2902] = new DefaultHttpContext(); + _requests[2902].RequestServices = CreateServices(); + _requests[2902].Request.Method = "POST"; + _requests[2902].Request.Path = "/subscriptions/b7e25a90-aa87-/resourceGroups/2c9f226f-aae2-434/providers/Microsoft.Web/sites/d9643/slots/73bf9/backup"; + _requests[2903] = new DefaultHttpContext(); + _requests[2903].RequestServices = CreateServices(); + _requests[2903].Request.Method = "GET"; + _requests[2903].Request.Path = "/subscriptions/d2adb2e0-9eed-/resourceGroups/1bf68b27-a556-402/providers/Microsoft.Web/sites/af8eb/slots/0b399/backups"; + _requests[2904] = new DefaultHttpContext(); + _requests[2904].RequestServices = CreateServices(); + _requests[2904].Request.Method = "GET"; + _requests[2904].Request.Path = "/subscriptions/19090c0a-a7b1-/resourceGroups/c8626a59-dd6d-4ab/providers/Microsoft.Web/sites/6ebf2/slots/35f24/config"; + _requests[2905] = new DefaultHttpContext(); + _requests[2905].RequestServices = CreateServices(); + _requests[2905].Request.Method = "POST"; + _requests[2905].Request.Path = "/subscriptions/54840c18-182f-/resourceGroups/cfd1b544-894d-4fa/providers/Microsoft.Web/sites/90d8d/slots/eb607/containerlogs"; + _requests[2906] = new DefaultHttpContext(); + _requests[2906].RequestServices = CreateServices(); + _requests[2906].Request.Method = "GET"; + _requests[2906].Request.Path = "/subscriptions/0b47b6ab-f11c-/resourceGroups/23719840-0797-460/providers/Microsoft.Web/sites/0febd/slots/bc5a8/continuouswebjobs"; + _requests[2907] = new DefaultHttpContext(); + _requests[2907].RequestServices = CreateServices(); + _requests[2907].Request.Method = "GET"; + _requests[2907].Request.Path = "/subscriptions/1969d3e1-644e-/resourceGroups/1c712067-e3ec-464/providers/Microsoft.Web/sites/33286/slots/64780/deployments"; + _requests[2908] = new DefaultHttpContext(); + _requests[2908].RequestServices = CreateServices(); + _requests[2908].Request.Method = "GET"; + _requests[2908].Request.Path = "/subscriptions/058c3aa1-c524-/resourceGroups/a0086e84-263a-4b1/providers/Microsoft.Web/sites/ab3a1/slots/48613/domainOwnershipIdentifiers"; + _requests[2909] = new DefaultHttpContext(); + _requests[2909].RequestServices = CreateServices(); + _requests[2909].Request.Method = "GET"; + _requests[2909].Request.Path = "/subscriptions/a67f89c7-1ea8-/resourceGroups/bab56720-a60f-470/providers/Microsoft.Web/sites/88380/slots/48e71/functions"; + _requests[2910] = new DefaultHttpContext(); + _requests[2910].RequestServices = CreateServices(); + _requests[2910].Request.Method = "GET"; + _requests[2910].Request.Path = "/subscriptions/021f7ffc-372b-/resourceGroups/3b76b4d0-e726-4bb/providers/Microsoft.Web/sites/11622/slots/a36ac/hostNameBindings"; + _requests[2911] = new DefaultHttpContext(); + _requests[2911].RequestServices = CreateServices(); + _requests[2911].Request.Method = "GET"; + _requests[2911].Request.Path = "/subscriptions/c53c0317-8fdc-/resourceGroups/800ea246-a4fe-411/providers/Microsoft.Web/sites/7b226/slots/c2ff2/hybridconnection"; + _requests[2912] = new DefaultHttpContext(); + _requests[2912].RequestServices = CreateServices(); + _requests[2912].Request.Method = "GET"; + _requests[2912].Request.Path = "/subscriptions/35880b7a-2570-/resourceGroups/744b543a-38e3-464/providers/Microsoft.Web/sites/8e992/slots/57962/hybridConnectionRelays"; + _requests[2913] = new DefaultHttpContext(); + _requests[2913].RequestServices = CreateServices(); + _requests[2913].Request.Method = "GET"; + _requests[2913].Request.Path = "/subscriptions/227eace7-7be5-/resourceGroups/45b61ed6-67ca-44a/providers/Microsoft.Web/sites/85b66/slots/cbc7f/instances"; + _requests[2914] = new DefaultHttpContext(); + _requests[2914].RequestServices = CreateServices(); + _requests[2914].Request.Method = "POST"; + _requests[2914].Request.Path = "/subscriptions/6cee3282-6683-/resourceGroups/0dd536a4-2455-414/providers/Microsoft.Web/sites/bcc65/slots/525a0/iscloneable"; + _requests[2915] = new DefaultHttpContext(); + _requests[2915].RequestServices = CreateServices(); + _requests[2915].Request.Method = "POST"; + _requests[2915].Request.Path = "/subscriptions/df53b19a-5c08-/resourceGroups/451b14e6-091f-4c7/providers/Microsoft.Web/sites/3d39b/slots/2c83f/listsyncfunctiontriggerstatus"; + _requests[2916] = new DefaultHttpContext(); + _requests[2916].RequestServices = CreateServices(); + _requests[2916].Request.Method = "GET"; + _requests[2916].Request.Path = "/subscriptions/1b045d54-5d4b-/resourceGroups/1c4d4fbb-78ae-42a/providers/Microsoft.Web/sites/127cd/slots/4458a/metricdefinitions"; + _requests[2917] = new DefaultHttpContext(); + _requests[2917].RequestServices = CreateServices(); + _requests[2917].Request.Method = "GET"; + _requests[2917].Request.Path = "/subscriptions/63a38feb-8042-/resourceGroups/668a5bc4-333a-497/providers/Microsoft.Web/sites/febcd/slots/4b568/metrics"; + _requests[2918] = new DefaultHttpContext(); + _requests[2918].RequestServices = CreateServices(); + _requests[2918].Request.Method = "POST"; + _requests[2918].Request.Path = "/subscriptions/4c97f308-aadd-/resourceGroups/5a03e727-5ac8-4f1/providers/Microsoft.Web/sites/90113/slots/e3141/newpassword"; + _requests[2919] = new DefaultHttpContext(); + _requests[2919].RequestServices = CreateServices(); + _requests[2919].Request.Method = "GET"; + _requests[2919].Request.Path = "/subscriptions/9a06b351-2db0-/resourceGroups/65efc537-b721-41d/providers/Microsoft.Web/sites/9ab18/slots/3f270/perfcounters"; + _requests[2920] = new DefaultHttpContext(); + _requests[2920].RequestServices = CreateServices(); + _requests[2920].Request.Method = "GET"; + _requests[2920].Request.Path = "/subscriptions/edc11cc4-60ad-/resourceGroups/2aa89909-ffa6-421/providers/Microsoft.Web/sites/5f979/slots/9e919/phplogging"; + _requests[2921] = new DefaultHttpContext(); + _requests[2921].RequestServices = CreateServices(); + _requests[2921].Request.Method = "GET"; + _requests[2921].Request.Path = "/subscriptions/f9a773f2-9329-/resourceGroups/ffb33bd4-b9aa-498/providers/Microsoft.Web/sites/2dbed/slots/7cf12/premieraddons"; + _requests[2922] = new DefaultHttpContext(); + _requests[2922].RequestServices = CreateServices(); + _requests[2922].Request.Method = "GET"; + _requests[2922].Request.Path = "/subscriptions/4d4252a7-8d19-/resourceGroups/6f06cbe7-b51a-453/providers/Microsoft.Web/sites/24207/slots/3c9d7/processes"; + _requests[2923] = new DefaultHttpContext(); + _requests[2923].RequestServices = CreateServices(); + _requests[2923].Request.Method = "GET"; + _requests[2923].Request.Path = "/subscriptions/865af1fb-4b18-/resourceGroups/fd5834fa-2f67-41d/providers/Microsoft.Web/sites/3f84b/slots/b281f/publicCertificates"; + _requests[2924] = new DefaultHttpContext(); + _requests[2924].RequestServices = CreateServices(); + _requests[2924].Request.Method = "POST"; + _requests[2924].Request.Path = "/subscriptions/dbd142a6-6c40-/resourceGroups/127e4e15-e6dd-48f/providers/Microsoft.Web/sites/14d7d/slots/fb533/publishxml"; + _requests[2925] = new DefaultHttpContext(); + _requests[2925].RequestServices = CreateServices(); + _requests[2925].Request.Method = "POST"; + _requests[2925].Request.Path = "/subscriptions/d198be7e-5abf-/resourceGroups/b90733ff-5d11-438/providers/Microsoft.Web/sites/c4468/slots/375e8/recover"; + _requests[2926] = new DefaultHttpContext(); + _requests[2926].RequestServices = CreateServices(); + _requests[2926].Request.Method = "POST"; + _requests[2926].Request.Path = "/subscriptions/71e68862-9b81-/resourceGroups/88a854ad-f99a-4d4/providers/Microsoft.Web/sites/31193/slots/a2a04/resetSlotConfig"; + _requests[2927] = new DefaultHttpContext(); + _requests[2927].RequestServices = CreateServices(); + _requests[2927].Request.Method = "GET"; + _requests[2927].Request.Path = "/subscriptions/39e701a3-4fda-/resourceGroups/ba695903-d9df-445/providers/Microsoft.Web/sites/5db7b/slots/7e22f/resourceHealthMetadata"; + _requests[2928] = new DefaultHttpContext(); + _requests[2928].RequestServices = CreateServices(); + _requests[2928].Request.Method = "POST"; + _requests[2928].Request.Path = "/subscriptions/450500fc-8e89-/resourceGroups/d48930a2-33b6-419/providers/Microsoft.Web/sites/1a816/slots/352a5/restart"; + _requests[2929] = new DefaultHttpContext(); + _requests[2929].RequestServices = CreateServices(); + _requests[2929].Request.Method = "POST"; + _requests[2929].Request.Path = "/subscriptions/780c5936-f5f0-/resourceGroups/8569bdcc-b980-4a5/providers/Microsoft.Web/sites/a0c0a/slots/bd85d/restoreFromBackupBlob"; + _requests[2930] = new DefaultHttpContext(); + _requests[2930].RequestServices = CreateServices(); + _requests[2930].Request.Method = "POST"; + _requests[2930].Request.Path = "/subscriptions/1588c4c6-cb64-/resourceGroups/ce2253ef-2046-4df/providers/Microsoft.Web/sites/a6682/slots/0e532/restoreFromDeletedApp"; + _requests[2931] = new DefaultHttpContext(); + _requests[2931].RequestServices = CreateServices(); + _requests[2931].Request.Method = "POST"; + _requests[2931].Request.Path = "/subscriptions/276b8f0c-7a0c-/resourceGroups/eb7dd802-cd6a-4cf/providers/Microsoft.Web/sites/662d3/slots/4597c/restoreSnapshot"; + _requests[2932] = new DefaultHttpContext(); + _requests[2932].RequestServices = CreateServices(); + _requests[2932].Request.Method = "GET"; + _requests[2932].Request.Path = "/subscriptions/526d6b87-3594-/resourceGroups/543764ca-e05e-4a0/providers/Microsoft.Web/sites/25433/slots/a649b/siteextensions"; + _requests[2933] = new DefaultHttpContext(); + _requests[2933].RequestServices = CreateServices(); + _requests[2933].Request.Method = "POST"; + _requests[2933].Request.Path = "/subscriptions/cf961d50-0142-/resourceGroups/31e45165-4bf4-444/providers/Microsoft.Web/sites/7200a/slots/6e497/slotsdiffs"; + _requests[2934] = new DefaultHttpContext(); + _requests[2934].RequestServices = CreateServices(); + _requests[2934].Request.Method = "POST"; + _requests[2934].Request.Path = "/subscriptions/c181eb41-58a4-/resourceGroups/61e770c2-68e2-401/providers/Microsoft.Web/sites/56f96/slots/41c00/slotsswap"; + _requests[2935] = new DefaultHttpContext(); + _requests[2935].RequestServices = CreateServices(); + _requests[2935].Request.Method = "GET"; + _requests[2935].Request.Path = "/subscriptions/c7419565-e7cc-/resourceGroups/01f0b3b5-2d4b-42a/providers/Microsoft.Web/sites/9ffe0/slots/277ca/snapshots"; + _requests[2936] = new DefaultHttpContext(); + _requests[2936].RequestServices = CreateServices(); + _requests[2936].Request.Method = "POST"; + _requests[2936].Request.Path = "/subscriptions/cb3771bd-a417-/resourceGroups/295864f1-b87f-4cc/providers/Microsoft.Web/sites/b632b/slots/5ec14/start"; + _requests[2937] = new DefaultHttpContext(); + _requests[2937].RequestServices = CreateServices(); + _requests[2937].Request.Method = "POST"; + _requests[2937].Request.Path = "/subscriptions/99aa2ead-a446-/resourceGroups/642fe8ee-168b-43c/providers/Microsoft.Web/sites/f248d/slots/30d66/stop"; + _requests[2938] = new DefaultHttpContext(); + _requests[2938].RequestServices = CreateServices(); + _requests[2938].Request.Method = "POST"; + _requests[2938].Request.Path = "/subscriptions/3aff382f-67cb-/resourceGroups/2899d9b0-62d5-452/providers/Microsoft.Web/sites/94d88/slots/46612/sync"; + _requests[2939] = new DefaultHttpContext(); + _requests[2939].RequestServices = CreateServices(); + _requests[2939].Request.Method = "POST"; + _requests[2939].Request.Path = "/subscriptions/8fd066db-6f53-/resourceGroups/05b8f82c-7ba3-4c0/providers/Microsoft.Web/sites/3317d/slots/cbfe2/syncfunctiontriggers"; + _requests[2940] = new DefaultHttpContext(); + _requests[2940].RequestServices = CreateServices(); + _requests[2940].Request.Method = "GET"; + _requests[2940].Request.Path = "/subscriptions/b4b74a1b-9867-/resourceGroups/20d57cd8-93a7-48f/providers/Microsoft.Web/sites/c2b8c/slots/575bd/triggeredwebjobs"; + _requests[2941] = new DefaultHttpContext(); + _requests[2941].RequestServices = CreateServices(); + _requests[2941].Request.Method = "GET"; + _requests[2941].Request.Path = "/subscriptions/d6a9e0a2-8c73-/resourceGroups/824bf856-c788-433/providers/Microsoft.Web/sites/b0b84/slots/11e69/usages"; + _requests[2942] = new DefaultHttpContext(); + _requests[2942].RequestServices = CreateServices(); + _requests[2942].Request.Method = "GET"; + _requests[2942].Request.Path = "/subscriptions/fe21d00b-5cdf-/resourceGroups/05f38fac-08af-465/providers/Microsoft.Web/sites/eb52e/slots/59432/virtualNetworkConnections"; + _requests[2943] = new DefaultHttpContext(); + _requests[2943].RequestServices = CreateServices(); + _requests[2943].Request.Method = "GET"; + _requests[2943].Request.Path = "/subscriptions/56773e42-3828-/resourceGroups/c8487312-28fc-458/providers/Microsoft.Web/sites/d546f/slots/9fa9c/webjobs"; + _requests[2944] = new DefaultHttpContext(); + _requests[2944].RequestServices = CreateServices(); + _requests[2944].Request.Method = "GET"; + _requests[2944].Request.Path = "/subscriptions/e1645937-3d5c-/resourceGroups/88aea403-1881-44e/providers/Microsoft.Web/sites/ba516/triggeredwebjobs/5f29834d-b/history"; + _requests[2945] = new DefaultHttpContext(); + _requests[2945].RequestServices = CreateServices(); + _requests[2945].Request.Method = "POST"; + _requests[2945].Request.Path = "/subscriptions/51a6cd61-24ce-/resourceGroups/454f7fc6-3086-4f0/providers/Microsoft.Web/sites/e290f/triggeredwebjobs/7a1e3c56-6/run"; + _requests[2946] = new DefaultHttpContext(); + _requests[2946].RequestServices = CreateServices(); + _requests[2946].Request.Method = "GET"; + _requests[2946].Request.Path = "/subscriptions/e275f4ec-6b75-/resourceGroups/1f27413b-9ac4-483/providers/Microsoft.Web/sites/22969643/diagnostics/d72678d5-af1a-44d0/analyses"; + _requests[2947] = new DefaultHttpContext(); + _requests[2947].RequestServices = CreateServices(); + _requests[2947].Request.Method = "GET"; + _requests[2947].Request.Path = "/subscriptions/9be516e3-a8f3-/resourceGroups/b790b834-9b7f-46b/providers/Microsoft.Web/sites/8be27e75/diagnostics/743815a6-8f32-45ca/detectors"; + _requests[2948] = new DefaultHttpContext(); + _requests[2948].RequestServices = CreateServices(); + _requests[2948].Request.Method = "POST"; + _requests[2948].Request.Path = "/subscriptions/a9d1d875-c50e-/resourceGroups/0b467861-0570-46c/providers/Microsoft.Web/sites/d0a26d8f/recommendations/a15ac/disable"; + _requests[2949] = new DefaultHttpContext(); + _requests[2949].RequestServices = CreateServices(); + _requests[2949].Request.Method = "GET"; + _requests[2949].Request.Path = "/subscriptions/36bd64a5-6c93-/resourceGroups/8088a29f-04f4-4c7/providers/Microsoft.Web/sites/d49f3730/slots/7ac65/detectors"; + _requests[2950] = new DefaultHttpContext(); + _requests[2950].RequestServices = CreateServices(); + _requests[2950].Request.Method = "GET"; + _requests[2950].Request.Path = "/subscriptions/ec11dc82-2e49-/resourceGroups/47cf9e14-15b7-43c/providers/Microsoft.Web/sites/550274fc/slots/ead28/diagnostics"; + _requests[2951] = new DefaultHttpContext(); + _requests[2951].RequestServices = CreateServices(); + _requests[2951].Request.Method = "POST"; + _requests[2951].Request.Path = "/subscriptions/be19ca51-7147-/resourceGroups/1924d1e7-f330-439/providers/Microsoft.ApiManagement/service/2d923c05-fa/tenant/ed4817fa-8/git/regeneratePrimaryKey"; + _requests[2952] = new DefaultHttpContext(); + _requests[2952].RequestServices = CreateServices(); + _requests[2952].Request.Method = "POST"; + _requests[2952].Request.Path = "/subscriptions/b5f0101d-e65c-/resourceGroups/e897e457-112c-426/providers/Microsoft.ApiManagement/service/2a4d9f85-2e/tenant/45ebaff6-0/git/regenerateSecondaryKey"; + _requests[2953] = new DefaultHttpContext(); + _requests[2953].RequestServices = CreateServices(); + _requests[2953].Request.Method = "PUT"; + _requests[2953].Request.Path = "/subscriptions/94065339-06e9-/resourceGroups/01df056c-2266-46e/providers/Microsoft.Automation/automationAccounts/5bb9b64c-4de8-4b8d-ae/runbooks/9ef9601d-fd/draft/content"; + _requests[2954] = new DefaultHttpContext(); + _requests[2954].RequestServices = CreateServices(); + _requests[2954].Request.Method = "POST"; + _requests[2954].Request.Path = "/subscriptions/5afab22e-779b-/resourceGroups/b02647d0-aa86-42d/providers/Microsoft.Automation/automationAccounts/d48435e8-ff02-4b4c-95/runbooks/ab873d65-91/draft/publish"; + _requests[2955] = new DefaultHttpContext(); + _requests[2955].RequestServices = CreateServices(); + _requests[2955].Request.Method = "GET"; + _requests[2955].Request.Path = "/subscriptions/b656c592-4273-/resourceGroups/5decbde2-aeec-428/providers/Microsoft.Automation/automationAccounts/8aec46d4-4e17-4746-a4/runbooks/b4c1252c-35/draft/testJob"; + _requests[2956] = new DefaultHttpContext(); + _requests[2956].RequestServices = CreateServices(); + _requests[2956].Request.Method = "POST"; + _requests[2956].Request.Path = "/subscriptions/302c6447-480d-/resourceGroups/52c06393-9994-46b/providers/Microsoft.Automation/automationAccounts/2d7b388a-fd1f-48d7-a5/runbooks/fbc5e985-2a/draft/undoEdit"; + _requests[2957] = new DefaultHttpContext(); + _requests[2957].RequestServices = CreateServices(); + _requests[2957].Request.Method = "GET"; + _requests[2957].Request.Path = "/subscriptions/132c59ef-ea9a-/resourceGroups/77bcb214-8647-4ec/providers/Microsoft.DocumentDB/databaseAccounts/6c1ce2a5-c1/targetRegion/efc9e383-a62/percentile/metrics"; + _requests[2958] = new DefaultHttpContext(); + _requests[2958].RequestServices = CreateServices(); + _requests[2958].Request.Method = "GET"; + _requests[2958].Request.Path = "/subscriptions/7be471e7-ee20-/resourceGroups/c9ca523e-5064-4ce/providers/Microsoft.Logic/workflows/b6340db1-cda/triggers/b56f9d64-7b/schemas/json"; + _requests[2959] = new DefaultHttpContext(); + _requests[2959].RequestServices = CreateServices(); + _requests[2959].Request.Method = "PATCH"; + _requests[2959].Request.Path = "/subscriptions/f35b0085-25b2-/resourceGroups/d491e609-f67c-47e/providers/Microsoft.Sql/servers/85cf7288-8/databases/f0b30448-21c/automaticTuning/current"; + _requests[2960] = new DefaultHttpContext(); + _requests[2960].RequestServices = CreateServices(); + _requests[2960].Request.Method = "PUT"; + _requests[2960].Request.Path = "/subscriptions/d365ae33-b6f5-/resourceGroups/974550f6-6662-402/providers/Microsoft.StorSimple/managers/768b1836-72/devices/0c411672-5/alertSettings/default"; + _requests[2961] = new DefaultHttpContext(); + _requests[2961].RequestServices = CreateServices(); + _requests[2961].Request.Method = "PATCH"; + _requests[2961].Request.Path = "/subscriptions/7b4d4c42-71b7-/resourceGroups/16d7325b-3681-45e/providers/Microsoft.StorSimple/managers/0de2c196-61/devices/be3c324f-2/networkSettings/default"; + _requests[2962] = new DefaultHttpContext(); + _requests[2962].RequestServices = CreateServices(); + _requests[2962].Request.Method = "PATCH"; + _requests[2962].Request.Path = "/subscriptions/56f86b63-84de-/resourceGroups/3d60ea90-b4f0-44e/providers/Microsoft.StorSimple/managers/ac6e2f0e-00/devices/9e12715c-9/securitySettings/default"; + _requests[2963] = new DefaultHttpContext(); + _requests[2963].RequestServices = CreateServices(); + _requests[2963].Request.Method = "PUT"; + _requests[2963].Request.Path = "/subscriptions/9628ce78-1a11-/resourceGroups/4982a0ea-45f6-4bd/providers/Microsoft.StorSimple/managers/d1c1a1be-b4/devices/437f610c-1/timeSettings/default"; + _requests[2964] = new DefaultHttpContext(); + _requests[2964].RequestServices = CreateServices(); + _requests[2964].Request.Method = "GET"; + _requests[2964].Request.Path = "/subscriptions/0c33b923-501b-/resourceGroups/033b2fec-e604-40e/providers/Microsoft.StorSimple/managers/09d0eae0-3a/devices/fbf84d75-6/updateSummary/default"; + _requests[2965] = new DefaultHttpContext(); + _requests[2965].RequestServices = CreateServices(); + _requests[2965].Request.Method = "PUT"; + _requests[2965].Request.Path = "/subscriptions/63a347ac-6f6d-/resourceGroups/3df3d4b5-ceb2-42a/providers/Microsoft.Web/sites/4c844/instances/feae796f-d/extensions/MSDeploy"; + _requests[2966] = new DefaultHttpContext(); + _requests[2966].RequestServices = CreateServices(); + _requests[2966].Request.Method = "PUT"; + _requests[2966].Request.Path = "/subscriptions/6aaf9ab9-68e8-/resourceGroups/34c4a12c-f8d2-4b2/providers/Microsoft.Web/sites/0c5e0/slots/98f0e/backups/discover"; + _requests[2967] = new DefaultHttpContext(); + _requests[2967].RequestServices = CreateServices(); + _requests[2967].Request.Method = "PUT"; + _requests[2967].Request.Path = "/subscriptions/1070d7e2-67f9-/resourceGroups/ad457739-d05d-419/providers/Microsoft.Web/sites/9d754/slots/0dabd/config/appsettings"; + _requests[2968] = new DefaultHttpContext(); + _requests[2968].RequestServices = CreateServices(); + _requests[2968].Request.Method = "PUT"; + _requests[2968].Request.Path = "/subscriptions/2b43b361-6304-/resourceGroups/3d595aad-3e3b-41e/providers/Microsoft.Web/sites/8a2c5/slots/6d92f/config/authsettings"; + _requests[2969] = new DefaultHttpContext(); + _requests[2969].RequestServices = CreateServices(); + _requests[2969].Request.Method = "DELETE"; + _requests[2969].Request.Path = "/subscriptions/fcd42e71-4cba-/resourceGroups/4e432e7a-0c39-47b/providers/Microsoft.Web/sites/fbb9f/slots/7b5a9/config/backup"; + _requests[2970] = new DefaultHttpContext(); + _requests[2970].RequestServices = CreateServices(); + _requests[2970].Request.Method = "PUT"; + _requests[2970].Request.Path = "/subscriptions/9d851075-8ed2-/resourceGroups/8929fda1-4e55-46c/providers/Microsoft.Web/sites/d4538/slots/07e24/config/connectionstrings"; + _requests[2971] = new DefaultHttpContext(); + _requests[2971].RequestServices = CreateServices(); + _requests[2971].Request.Method = "PUT"; + _requests[2971].Request.Path = "/subscriptions/6f41259f-51e1-/resourceGroups/4d569e52-701b-4d6/providers/Microsoft.Web/sites/33745/slots/b645d/config/logs"; + _requests[2972] = new DefaultHttpContext(); + _requests[2972].RequestServices = CreateServices(); + _requests[2972].Request.Method = "PUT"; + _requests[2972].Request.Path = "/subscriptions/e39cdaad-da66-/resourceGroups/677cd4eb-c444-457/providers/Microsoft.Web/sites/19e84/slots/f5681/config/metadata"; + _requests[2973] = new DefaultHttpContext(); + _requests[2973].RequestServices = CreateServices(); + _requests[2973].Request.Method = "PUT"; + _requests[2973].Request.Path = "/subscriptions/26dd709d-19a9-/resourceGroups/a693fc29-fd07-4d2/providers/Microsoft.Web/sites/8a481/slots/47964/config/pushsettings"; + _requests[2974] = new DefaultHttpContext(); + _requests[2974].RequestServices = CreateServices(); + _requests[2974].Request.Method = "PATCH"; + _requests[2974].Request.Path = "/subscriptions/5f16432f-b620-/resourceGroups/0a92f299-4761-48c/providers/Microsoft.Web/sites/54aa2/slots/79523/config/web"; + _requests[2975] = new DefaultHttpContext(); + _requests[2975].RequestServices = CreateServices(); + _requests[2975].Request.Method = "PUT"; + _requests[2975].Request.Path = "/subscriptions/71dc29b8-b650-/resourceGroups/190c7021-e1df-436/providers/Microsoft.Web/sites/261de/slots/a05d4/extensions/MSDeploy"; + _requests[2976] = new DefaultHttpContext(); + _requests[2976].RequestServices = CreateServices(); + _requests[2976].Request.Method = "GET"; + _requests[2976].Request.Path = "/subscriptions/ed70b1e8-506a-/resourceGroups/c4f41854-0902-403/providers/Microsoft.Web/sites/86544/slots/25ade/migratemysql/status"; + _requests[2977] = new DefaultHttpContext(); + _requests[2977].RequestServices = CreateServices(); + _requests[2977].Request.Method = "POST"; + _requests[2977].Request.Path = "/subscriptions/e2d8e62b-4a65-/resourceGroups/080dc83c-8e26-4d8/providers/Microsoft.Web/sites/c9b4e/slots/a222c/networkTrace/start"; + _requests[2978] = new DefaultHttpContext(); + _requests[2978].RequestServices = CreateServices(); + _requests[2978].Request.Method = "POST"; + _requests[2978].Request.Path = "/subscriptions/baf2bcc9-e939-/resourceGroups/c800da59-235f-473/providers/Microsoft.Web/sites/26ae8/slots/08932/networkTrace/stop"; + _requests[2979] = new DefaultHttpContext(); + _requests[2979].RequestServices = CreateServices(); + _requests[2979].Request.Method = "PUT"; + _requests[2979].Request.Path = "/subscriptions/9c8d0e79-269f-/resourceGroups/e5d8c9dc-532f-4cc/providers/Microsoft.Web/sites/e0700/slots/39b3d/privateAccess/virtualNetworks"; + _requests[2980] = new DefaultHttpContext(); + _requests[2980].RequestServices = CreateServices(); + _requests[2980].Request.Method = "GET"; + _requests[2980].Request.Path = "/subscriptions/b6ad1c62-f874-/resourceGroups/bfc158c6-6ea2-400/providers/Microsoft.Web/sites/54560/slots/61a72/resourceHealthMetadata/default"; + _requests[2981] = new DefaultHttpContext(); + _requests[2981].RequestServices = CreateServices(); + _requests[2981].Request.Method = "PATCH"; + _requests[2981].Request.Path = "/subscriptions/d15f6cd7-7a04-/resourceGroups/369f8672-386a-4cd/providers/Microsoft.Web/sites/473df/slots/31339/sourcecontrols/web"; + _requests[2982] = new DefaultHttpContext(); + _requests[2982].RequestServices = CreateServices(); + _requests[2982].Request.Method = "POST"; + _requests[2982].Request.Path = "/subscriptions/94e89d7a-7923-/resourceGroups/2a9d2ea8-41a6-482/providers/Microsoft.Automation/automationAccounts/c7e6ad97-a042-4340-8e/runbooks/7a31a3bc-06/draft/testJob/resume"; + _requests[2983] = new DefaultHttpContext(); + _requests[2983].RequestServices = CreateServices(); + _requests[2983].Request.Method = "POST"; + _requests[2983].Request.Path = "/subscriptions/c800a00c-3d35-/resourceGroups/47a2b407-c08a-495/providers/Microsoft.Automation/automationAccounts/e411ce46-c6db-4690-8f/runbooks/904175c2-dd/draft/testJob/stop"; + _requests[2984] = new DefaultHttpContext(); + _requests[2984].RequestServices = CreateServices(); + _requests[2984].Request.Method = "GET"; + _requests[2984].Request.Path = "/subscriptions/40d6c94d-40e2-/resourceGroups/a8decb45-b9ef-4d2/providers/Microsoft.Automation/automationAccounts/0dec404d-effa-4c77-b2/runbooks/c4ea323b-18/draft/testJob/streams"; + _requests[2985] = new DefaultHttpContext(); + _requests[2985].RequestServices = CreateServices(); + _requests[2985].Request.Method = "POST"; + _requests[2985].Request.Path = "/subscriptions/2c9df469-76d5-/resourceGroups/c00792ee-9090-408/providers/Microsoft.Automation/automationAccounts/be8ef34e-6b58-46bf-a1/runbooks/8a574214-ce/draft/testJob/suspend"; + _requests[2986] = new DefaultHttpContext(); + _requests[2986].RequestServices = CreateServices(); + _requests[2986].Request.Method = "GET"; + _requests[2986].Request.Path = "/subscriptions/a629b00d-f515-/resourceGroups/0f76ef70-e84b-470/providers/Microsoft.ServerManagement/nodes/313656fa/sessions/93e97be/features/powerShellConsole/pssessions"; + _requests[2987] = new DefaultHttpContext(); + _requests[2987].RequestServices = CreateServices(); + _requests[2987].Request.Method = "POST"; + _requests[2987].Request.Path = "/subscriptions/048fe860-9d69-/resourceGroups/d2f9cb33-47d7-444/providers/Microsoft.StorSimple/managers/acfae581-59/devices/1fe54673-4/securitySettings/default/syncRemoteManagementCertificate"; + _requests[2988] = new DefaultHttpContext(); + _requests[2988].RequestServices = CreateServices(); + _requests[2988].Request.Method = "GET"; + _requests[2988].Request.Path = "/subscriptions/2bdbf209-ef5d-/resourceGroups/330841b7-487e-46d/providers/Microsoft.Web/sites/c552d/instances/6e0a1150-9/extensions/MSDeploy/log"; + _requests[2989] = new DefaultHttpContext(); + _requests[2989].RequestServices = CreateServices(); + _requests[2989].Request.Method = "POST"; + _requests[2989].Request.Path = "/subscriptions/cd927a73-1084-/resourceGroups/d2cad287-b5c2-477/providers/Microsoft.Web/sites/a31a4/slots/bbcee/config/appsettings/list"; + _requests[2990] = new DefaultHttpContext(); + _requests[2990].RequestServices = CreateServices(); + _requests[2990].Request.Method = "POST"; + _requests[2990].Request.Path = "/subscriptions/5440693a-ff2f-/resourceGroups/735e5c17-5ce9-470/providers/Microsoft.Web/sites/f32bb/slots/52655/config/authsettings/list"; + _requests[2991] = new DefaultHttpContext(); + _requests[2991].RequestServices = CreateServices(); + _requests[2991].Request.Method = "POST"; + _requests[2991].Request.Path = "/subscriptions/a7e26e91-eeed-/resourceGroups/43a3ccf4-96ce-489/providers/Microsoft.Web/sites/d0870/slots/b6018/config/backup/list"; + _requests[2992] = new DefaultHttpContext(); + _requests[2992].RequestServices = CreateServices(); + _requests[2992].Request.Method = "POST"; + _requests[2992].Request.Path = "/subscriptions/b70915d0-6a9e-/resourceGroups/3cec45dd-0110-4d8/providers/Microsoft.Web/sites/8ea3b/slots/8fa2f/config/connectionstrings/list"; + _requests[2993] = new DefaultHttpContext(); + _requests[2993].RequestServices = CreateServices(); + _requests[2993].Request.Method = "POST"; + _requests[2993].Request.Path = "/subscriptions/7f690c48-6dc8-/resourceGroups/ff8aca89-2c84-445/providers/Microsoft.Web/sites/23358/slots/37816/config/metadata/list"; + _requests[2994] = new DefaultHttpContext(); + _requests[2994].RequestServices = CreateServices(); + _requests[2994].Request.Method = "POST"; + _requests[2994].Request.Path = "/subscriptions/ba3acace-b1f0-/resourceGroups/836a514a-14c6-44c/providers/Microsoft.Web/sites/45017/slots/0238f/config/publishingcredentials/list"; + _requests[2995] = new DefaultHttpContext(); + _requests[2995].RequestServices = CreateServices(); + _requests[2995].Request.Method = "POST"; + _requests[2995].Request.Path = "/subscriptions/7b17190d-2772-/resourceGroups/9afd4923-3beb-464/providers/Microsoft.Web/sites/f1a51/slots/685ec/config/pushsettings/list"; + _requests[2996] = new DefaultHttpContext(); + _requests[2996].RequestServices = CreateServices(); + _requests[2996].Request.Method = "GET"; + _requests[2996].Request.Path = "/subscriptions/e548e1cb-4eb5-/resourceGroups/560776a0-a90d-488/providers/Microsoft.Web/sites/9b604/slots/abde2/config/web/snapshots"; + _requests[2997] = new DefaultHttpContext(); + _requests[2997].RequestServices = CreateServices(); + _requests[2997].Request.Method = "POST"; + _requests[2997].Request.Path = "/subscriptions/d924f306-d64d-/resourceGroups/2dcb57ca-8da4-443/providers/Microsoft.Web/sites/a0906/slots/24a7e/containerlogs/zip/download"; + _requests[2998] = new DefaultHttpContext(); + _requests[2998].RequestServices = CreateServices(); + _requests[2998].Request.Method = "GET"; + _requests[2998].Request.Path = "/subscriptions/bc432d5f-3dfa-/resourceGroups/8e32e28c-185f-477/providers/Microsoft.Web/sites/3cd2b/slots/ee98e/extensions/MSDeploy/log"; + _requests[2999] = new DefaultHttpContext(); + _requests[2999].RequestServices = CreateServices(); + _requests[2999].Request.Method = "GET"; + _requests[2999].Request.Path = "/subscriptions/bb2a537e-84e7-/resourceGroups/3cade790-cd2e-4a9/providers/Microsoft.Web/sites/8919d/slots/d4dd6/functions/admin/token"; + _requests[3000] = new DefaultHttpContext(); + _requests[3000].RequestServices = CreateServices(); + _requests[3000].Request.Method = "GET"; + _requests[3000].Request.Path = "/subscriptions/bdbe08dc-634a-/resourceGroups/9d299d87-5e0e-4c2/providers/Microsoft.Automation/automationAccounts/74df257c-b486-49a3-a1/runbooks/f60caf93-e3/draft/testJob/streams/886235f9-3f"; + _requests[3001] = new DefaultHttpContext(); + _requests[3001].RequestServices = CreateServices(); + _requests[3001].Request.Method = "PATCH"; + _requests[3001].Request.Path = "/subscriptions/17106536-f838-/resourceGroups/ca53a477-3f8f-4a9/providers/Microsoft.ServerManagement/nodes/c6b44529/sessions/e89ffb0/features/powerShellConsole/pssessions/4305809e-"; + _requests[3002] = new DefaultHttpContext(); + _requests[3002].RequestServices = CreateServices(); + _requests[3002].Request.Method = "GET"; + _requests[3002].Request.Path = "/subscriptions/f7a85246-f53b-/resourceGroups/f07e40f1-8154-45b/providers/Microsoft.Web/sites/2f76b/slots/07ec0/config/web/snapshots/7000ee81-c"; + _requests[3003] = new DefaultHttpContext(); + _requests[3003].RequestServices = CreateServices(); + _requests[3003].Request.Method = "POST"; + _requests[3003].Request.Path = "/subscriptions/0eca0a28-2ff8-/resourceGroups/457dfe37-cc31-4ec/providers/Microsoft.ServerManagement/nodes/f38ac0db/sessions/1212c06/features/powerShellConsole/pssessions/e8347d29-/cancel"; + _requests[3004] = new DefaultHttpContext(); + _requests[3004].RequestServices = CreateServices(); + _requests[3004].Request.Method = "POST"; + _requests[3004].Request.Path = "/subscriptions/a3d7c573-99f9-/resourceGroups/0897bba2-5e84-4d2/providers/Microsoft.ServerManagement/nodes/bfe0e506/sessions/f7f6043/features/powerShellConsole/pssessions/dbab6bd7-/invokeCommand"; + _requests[3005] = new DefaultHttpContext(); + _requests[3005].RequestServices = CreateServices(); + _requests[3005].Request.Method = "POST"; + _requests[3005].Request.Path = "/subscriptions/81122d65-6a25-/resourceGroups/73234128-56fe-4a5/providers/Microsoft.ServerManagement/nodes/28a7ce35/sessions/7ecf7ab/features/powerShellConsole/pssessions/b5ad9d4c-/tab"; + _requests[3006] = new DefaultHttpContext(); + _requests[3006].RequestServices = CreateServices(); + _requests[3006].Request.Method = "POST"; + _requests[3006].Request.Path = "/subscriptions/152860e7-c844-/resourceGroups/b9d1d2a0-e3e7-41b/providers/Microsoft.Web/sites/4e8c5/slots/c4d36/config/web/snapshots/18f48d0c-a/recover"; + _requests[3007] = new DefaultHttpContext(); + _requests[3007].RequestServices = CreateServices(); + _requests[3007].Request.Method = "PATCH"; + _requests[3007].Request.Path = "/subscriptions/80fad015-63e8-/resourceGroups/7fa4cfbe-/providers/Microsoft.DataMigration/services/0b0d6307-3b/projects/ac677ddf-86/tasks/09449a75"; + _requests[3008] = new DefaultHttpContext(); + _requests[3008].RequestServices = CreateServices(); + _requests[3008].Request.Method = "DELETE"; + _requests[3008].Request.Path = "/subscriptions/5a7881d7-ef5b-/resourceGroups/7c45c324-2de4-4c0/providers/Microsoft.ApiManagement/service/1ae34605-02/apis/0e675/diagnostics/47a9cc0a-1e9"; + _requests[3009] = new DefaultHttpContext(); + _requests[3009].RequestServices = CreateServices(); + _requests[3009].Request.Method = "DELETE"; + _requests[3009].Request.Path = "/subscriptions/05628035-9d02-/resourceGroups/c68b4a0e-eee6-4e5/providers/Microsoft.ApiManagement/service/c9315ffa-27/apis/a6c12/issues/d56de24"; + _requests[3010] = new DefaultHttpContext(); + _requests[3010].RequestServices = CreateServices(); + _requests[3010].Request.Method = "DELETE"; + _requests[3010].Request.Path = "/subscriptions/d28a6b8d-4952-/resourceGroups/eba4e352-be93-430/providers/Microsoft.ApiManagement/service/d6019c62-38/apis/7549e/operations/67a373e0-0d"; + _requests[3011] = new DefaultHttpContext(); + _requests[3011].RequestServices = CreateServices(); + _requests[3011].Request.Method = "DELETE"; + _requests[3011].Request.Path = "/subscriptions/e6e65b3f-1b81-/resourceGroups/3fc2d511-7847-4cb/providers/Microsoft.ApiManagement/service/8779b527-ce/apis/cf358/policies/40f730e9"; + _requests[3012] = new DefaultHttpContext(); + _requests[3012].RequestServices = CreateServices(); + _requests[3012].Request.Method = "DELETE"; + _requests[3012].Request.Path = "/subscriptions/033a276e-ccf5-/resourceGroups/93219f9f-3f6d-446/providers/Microsoft.ApiManagement/service/ca019299-80/apis/65164/releases/d411b6dc-"; + _requests[3013] = new DefaultHttpContext(); + _requests[3013].RequestServices = CreateServices(); + _requests[3013].Request.Method = "DELETE"; + _requests[3013].Request.Path = "/subscriptions/58471891-77c6-/resourceGroups/906eed81-f6d3-46d/providers/Microsoft.ApiManagement/service/9d316d38-ec/apis/a1d4d/schemas/e9102421"; + _requests[3014] = new DefaultHttpContext(); + _requests[3014].RequestServices = CreateServices(); + _requests[3014].Request.Method = "DELETE"; + _requests[3014].Request.Path = "/subscriptions/842ae3c4-e419-/resourceGroups/a5448c78-b1cc-4e1/providers/Microsoft.ApiManagement/service/2b27bc00-9b/apis/0a0ae/tagDescriptions/e3132"; + _requests[3015] = new DefaultHttpContext(); + _requests[3015].RequestServices = CreateServices(); + _requests[3015].Request.Method = "DELETE"; + _requests[3015].Request.Path = "/subscriptions/e85e7075-6930-/resourceGroups/ae0c3deb-c09a-47c/providers/Microsoft.ApiManagement/service/b418e37c-ed/apis/57026/tags/ee7f4"; + _requests[3016] = new DefaultHttpContext(); + _requests[3016].RequestServices = CreateServices(); + _requests[3016].Request.Method = "DELETE"; + _requests[3016].Request.Path = "/subscriptions/9cad8092-c19d-/resourceGroups/f7ab6d0a-8d13-4b7/providers/Microsoft.ApiManagement/service/4aefcfd0-95/diagnostics/6ba216b9-c90/loggers/9061de3d"; + _requests[3017] = new DefaultHttpContext(); + _requests[3017].RequestServices = CreateServices(); + _requests[3017].Request.Method = "DELETE"; + _requests[3017].Request.Path = "/subscriptions/aa341cbb-64c8-/resourceGroups/1cb92e30-3bfd-415/providers/Microsoft.ApiManagement/service/b11b3b9f-2a/groups/a94a2af/users/d2d6a"; + _requests[3018] = new DefaultHttpContext(); + _requests[3018].RequestServices = CreateServices(); + _requests[3018].Request.Method = "DELETE"; + _requests[3018].Request.Path = "/subscriptions/1510738e-1d2c-/resourceGroups/ecd78f1f-5a9e-402/providers/Microsoft.ApiManagement/service/36911d06-72/notifications/536d60de-4502-4d/recipientEmails/c5477"; + _requests[3019] = new DefaultHttpContext(); + _requests[3019].RequestServices = CreateServices(); + _requests[3019].Request.Method = "DELETE"; + _requests[3019].Request.Path = "/subscriptions/6c79a8c9-11a3-/resourceGroups/dbead4d8-f2b9-468/providers/Microsoft.ApiManagement/service/8b6b2329-02/notifications/308681b9-d50c-44/recipientUsers/2c915"; + _requests[3020] = new DefaultHttpContext(); + _requests[3020].RequestServices = CreateServices(); + _requests[3020].Request.Method = "DELETE"; + _requests[3020].Request.Path = "/subscriptions/ebec682f-6a85-/resourceGroups/1bcbec20-41ab-4b8/providers/Microsoft.ApiManagement/service/2c327778-c5/products/48652b52-/apis/2415a"; + _requests[3021] = new DefaultHttpContext(); + _requests[3021].RequestServices = CreateServices(); + _requests[3021].Request.Method = "DELETE"; + _requests[3021].Request.Path = "/subscriptions/70c7d372-2990-/resourceGroups/619e3164-b254-4d2/providers/Microsoft.ApiManagement/service/4d0ca280-69/products/3125f8b8-/groups/2c961eb"; + _requests[3022] = new DefaultHttpContext(); + _requests[3022].RequestServices = CreateServices(); + _requests[3022].Request.Method = "DELETE"; + _requests[3022].Request.Path = "/subscriptions/5527a0b7-df11-/resourceGroups/ca059ada-4d41-4d3/providers/Microsoft.ApiManagement/service/3a1174cf-eb/products/eec09e8a-/policies/7420c584"; + _requests[3023] = new DefaultHttpContext(); + _requests[3023].RequestServices = CreateServices(); + _requests[3023].Request.Method = "DELETE"; + _requests[3023].Request.Path = "/subscriptions/7f5569da-13a1-/resourceGroups/6c2e1f46-17a9-4c6/providers/Microsoft.ApiManagement/service/3453b7d9-6d/products/941667c0-/tags/31a4b"; + _requests[3024] = new DefaultHttpContext(); + _requests[3024].RequestServices = CreateServices(); + _requests[3024].Request.Method = "PATCH"; + _requests[3024].Request.Path = "/subscriptions/d7c11794-ccde-/resourceGroups/ca107fde-7254-49e/providers/Microsoft.ApiManagement/service/841dad2a-1b/quotas/229fd337-46f3-4/periods/f5c9b41a-6d4f-"; + _requests[3025] = new DefaultHttpContext(); + _requests[3025].RequestServices = CreateServices(); + _requests[3025].Request.Method = "GET"; + _requests[3025].Request.Path = "/subscriptions/79a6e91f-7319-/resourceGroups/4cd2bb52-4838-437/providers/Microsoft.Automation/automationAccounts/78a192ed-b864-41f4-ad/compilationjobs/94a25/streams/5249a002-47"; + _requests[3026] = new DefaultHttpContext(); + _requests[3026].RequestServices = CreateServices(); + _requests[3026].Request.Method = "GET"; + _requests[3026].Request.Path = "/subscriptions/3b1ebe63-4ae3-/resourceGroups/4eccc3cb-ac0b-486/providers/Microsoft.Automation/automationAccounts/0892befa-e697-4e8c-ab/jobs/9cc91/streams/d320a682-f0"; + _requests[3027] = new DefaultHttpContext(); + _requests[3027].RequestServices = CreateServices(); + _requests[3027].Request.Method = "GET"; + _requests[3027].Request.Path = "/subscriptions/f37a4350-4d55-/resourceGroups/ea7f0cb5-b404-4e2/providers/Microsoft.Automation/automationAccounts/70098a37-980a-4949-a2/modules/0c2a59b7-4/activities/0eafb220-da1"; + _requests[3028] = new DefaultHttpContext(); + _requests[3028].RequestServices = CreateServices(); + _requests[3028].Request.Method = "GET"; + _requests[3028].Request.Path = "/subscriptions/677208a9-7196-/resourceGroups/b383008f-f4f4-494/providers/Microsoft.Automation/automationAccounts/c2ea301d-def4-4b1d-97/nodes/86a110/reports/5136c2f8"; + _requests[3029] = new DefaultHttpContext(); + _requests[3029].RequestServices = CreateServices(); + _requests[3029].Request.Method = "GET"; + _requests[3029].Request.Path = "/subscriptions/c200845d-78dd-/resourceGroups/10e01da1-b4b9-4b8/providers/Microsoft.Automation/automationAccounts/7104c133-30c2-437d-b7/sourceControls/1f3bef65-71e1-411/sourceControlSyncJobs/f78dd9e4-3c89-4b74-803"; + _requests[3030] = new DefaultHttpContext(); + _requests[3030].RequestServices = CreateServices(); + _requests[3030].Request.Method = "GET"; + _requests[3030].Request.Path = "/subscriptions/dc1de632-78b5-/resourceGroups/909696c1-c935-4c6/providers/Microsoft.Batch/batchAccounts/13e19c5c-a0/applications/f4acc9aa-e309/versions/eb89e1f"; + _requests[3031] = new DefaultHttpContext(); + _requests[3031].RequestServices = CreateServices(); + _requests[3031].Request.Method = "GET"; + _requests[3031].Request.Path = "/subscriptions/081f5739-02a7-/resourceGroups/c60f5003-3113-4e4/providers/Microsoft.BatchAI/workspaces/2f66e61b-9305/experiments/3c8078a6-dc3b-/jobs/2138e2f"; + _requests[3032] = new DefaultHttpContext(); + _requests[3032].RequestServices = CreateServices(); + _requests[3032].Request.Method = "DELETE"; + _requests[3032].Request.Path = "/subscriptions/83aa885b-660d-/resourceGroups/957ece21-926a-454/providers/Microsoft.Cdn/profiles/06a45908-ee/endpoints/83e2e101-f80/customDomains/9f3c3dde-82be-44"; + _requests[3033] = new DefaultHttpContext(); + _requests[3033].RequestServices = CreateServices(); + _requests[3033].Request.Method = "PATCH"; + _requests[3033].Request.Path = "/subscriptions/f1860a01-341d-/resourceGroups/3cd42b73-0e0c-460/providers/Microsoft.Cdn/profiles/0c35c594-34/endpoints/8c9ffbda-48e/origins/0d1ed660-3"; + _requests[3034] = new DefaultHttpContext(); + _requests[3034].RequestServices = CreateServices(); + _requests[3034].Request.Method = "DELETE"; + _requests[3034].Request.Path = "/subscriptions/a7f82e38-6285-/resourceGroups/bf6873df-5fff-40f/providers/Microsoft.Compute/galleries/5b361303-9c/images/e5e17571-0fdf-4b/versions/2858ec2f-418c-48f3-a1e3"; + _requests[3035] = new DefaultHttpContext(); + _requests[3035].RequestServices = CreateServices(); + _requests[3035].Request.Method = "GET"; + _requests[3035].Request.Path = "/subscriptions/56e039b1-9507-/resourceGroups/f68e5341-8901-4e6/providers/microsoft.Compute/virtualMachineScaleSets/5b3f2061-0d2c-4af4-b370-ac/virtualMachines/e7ccce82-a150-483f-/networkInterfaces/379df0c4-1fdd-459e-b"; + _requests[3036] = new DefaultHttpContext(); + _requests[3036].RequestServices = CreateServices(); + _requests[3036].Request.Method = "PATCH"; + _requests[3036].Request.Path = "/subscriptions/ab5f23ee-0fc3-/resourceGroups/f2163727-b22d-46e/providers/Microsoft.ContainerRegistry/registries/0b02b1fb-f17/buildTasks/99bcfeef-0601/steps/01c9c586"; + _requests[3037] = new DefaultHttpContext(); + _requests[3037].RequestServices = CreateServices(); + _requests[3037].Request.Method = "DELETE"; + _requests[3037].Request.Path = "/subscriptions/fa3ef0b6-ae85-/resourceGroups/b915a307-2d21-46e/providers/Microsoft.CustomerInsights/hubs/59f263a/connectors/7a38d92f-3048/mappings/c4cfa9a5-46"; + _requests[3038] = new DefaultHttpContext(); + _requests[3038].RequestServices = CreateServices(); + _requests[3038].Request.Method = "PATCH"; + _requests[3038].Request.Path = "/subscriptions/cf7ef6ab-2321-/resourceGroups/e77ef2f7-f14d-4f2/providers/Microsoft.DataFactory/factories/461fb560-01/integrationRuntimes/0ef3230b-b11b-4263-8de/nodes/ef12db8f"; + _requests[3039] = new DefaultHttpContext(); + _requests[3039].RequestServices = CreateServices(); + _requests[3039].Request.Method = "GET"; + _requests[3039].Request.Path = "/subscriptions/be36dea2-c648-/resourceGroups/e6a50469-dae6-440/providers/Microsoft.DataLakeAnalytics/accounts/20dc790a-98/storageAccounts/00783306-b7c3-45ba/containers/9526c97f-9c62"; + _requests[3040] = new DefaultHttpContext(); + _requests[3040].RequestServices = CreateServices(); + _requests[3040].Request.Method = "DELETE"; + _requests[3040].Request.Path = "/subscriptions/250c1886-e4ed-/resourceGroups/118896cb-6029-475/providers/Microsoft.Devices/IotHubs/933e5a34-022/eventHubEndpoints/5710edb4-7b74-414b-8/ConsumerGroups/cbeb6"; + _requests[3041] = new DefaultHttpContext(); + _requests[3041].RequestServices = CreateServices(); + _requests[3041].Request.Method = "GET"; + _requests[3041].Request.Path = "/subscriptions/b11583b5-7e07-/resourceGroups/23b53f39-e57b-4d5/providers/Microsoft.DevTestLab/labs/92b2f1b/artifactsources/536f6676-81b4-47d5/armtemplates/ac76d"; + _requests[3042] = new DefaultHttpContext(); + _requests[3042].RequestServices = CreateServices(); + _requests[3042].Request.Method = "GET"; + _requests[3042].Request.Path = "/subscriptions/389754a9-124f-/resourceGroups/bed957f2-6561-4a4/providers/Microsoft.DevTestLab/labs/8b1bef4/artifactsources/162048bc-86c8-4f70/artifacts/02141"; + _requests[3043] = new DefaultHttpContext(); + _requests[3043].RequestServices = CreateServices(); + _requests[3043].Request.Method = "PATCH"; + _requests[3043].Request.Path = "/subscriptions/f2043874-87da-/resourceGroups/24726e92-faa0-4a6/providers/Microsoft.DevTestLab/labs/c0db5c3/policysets/1a1d1c97-d1d6/policies/097d3"; + _requests[3044] = new DefaultHttpContext(); + _requests[3044].RequestServices = CreateServices(); + _requests[3044].Request.Method = "DELETE"; + _requests[3044].Request.Path = "/subscriptions/ac593fa0-9588-/resourceGroups/170de0d9-d3fa-41f/providers/Microsoft.DevTestLab/labs/048dce7/users/309270f2/disks/6cf68"; + _requests[3045] = new DefaultHttpContext(); + _requests[3045].RequestServices = CreateServices(); + _requests[3045].Request.Method = "DELETE"; + _requests[3045].Request.Path = "/subscriptions/bf95f472-1d9f-/resourceGroups/96b277cf-6a9a-4cf/providers/Microsoft.DevTestLab/labs/2f9b9cd/users/c3a3c555/environments/e079c"; + _requests[3046] = new DefaultHttpContext(); + _requests[3046].RequestServices = CreateServices(); + _requests[3046].Request.Method = "DELETE"; + _requests[3046].Request.Path = "/subscriptions/7a59b7ab-bc3b-/resourceGroups/6400374d-d687-425/providers/Microsoft.DevTestLab/labs/55b7231/users/70d0db08/secrets/14391"; + _requests[3047] = new DefaultHttpContext(); + _requests[3047].RequestServices = CreateServices(); + _requests[3047].Request.Method = "PATCH"; + _requests[3047].Request.Path = "/subscriptions/28f0a978-b18f-/resourceGroups/50ea527c-7d21-429/providers/Microsoft.DevTestLab/labs/c8b9980/virtualmachines/44be3fe4-deb6-4ddf/schedules/4b99d"; + _requests[3048] = new DefaultHttpContext(); + _requests[3048].RequestServices = CreateServices(); + _requests[3048].Request.Method = "GET"; + _requests[3048].Request.Path = "/subscriptions/99fca47e-9bee-/resourceGroups/922e7d9e-ffd6-48a/providers/Microsoft.EventHub/namespaces/ff09d4d8-d20b/disasterRecoveryConfigs/ce3b0/AuthorizationRules/28250148-488d-432a-90"; + _requests[3049] = new DefaultHttpContext(); + _requests[3049].RequestServices = CreateServices(); + _requests[3049].Request.Method = "DELETE"; + _requests[3049].Request.Path = "/subscriptions/7466ad2c-5427-/resourceGroups/f909a281-0118-4c5/providers/Microsoft.EventHub/namespaces/15732393-b801/eventhubs/5f0e6525-70b/authorizationRules/e10b043a-4c8d-4cb9-89"; + _requests[3050] = new DefaultHttpContext(); + _requests[3050].RequestServices = CreateServices(); + _requests[3050].Request.Method = "GET"; + _requests[3050].Request.Path = "/subscriptions/728aa120-2928-/resourceGroups/18a0a904-85cf-4e4/providers/Microsoft.EventHub/namespaces/7c33b3fd-a1b5/eventhubs/f03de963-e80/consumergroups/4c7d6df3-76bb-4a5"; + _requests[3051] = new DefaultHttpContext(); + _requests[3051].RequestServices = CreateServices(); + _requests[3051].Request.Method = "GET"; + _requests[3051].Request.Path = "/subscriptions/98e662dd-7d2f-/resourceGroups/bfc63957-752b-486/providers/Microsoft.Fabric.Admin/fabricLocations/c1da3115/logicalNetworks/d55693de-bc99-/logicalSubnets/ee8a58a1-8e58"; + _requests[3052] = new DefaultHttpContext(); + _requests[3052].RequestServices = CreateServices(); + _requests[3052].Request.Method = "GET"; + _requests[3052].Request.Path = "/subscriptions/d9396dc9-d3ff-/resourceGroups/9d26af45-64a6-4c0/providers/Microsoft.Fabric.Admin/fabricLocations/63752883/storageSubSystems/514e0bd9-4087-42/storagePools/0f0abc53-fa"; + _requests[3053] = new DefaultHttpContext(); + _requests[3053].RequestServices = CreateServices(); + _requests[3053].Request.Method = "GET"; + _requests[3053].Request.Path = "/subscriptions/d38d1742-c5dd-/resourceGroups/c942d42e-761b-44c/providers/Microsoft.InfrastructureInsights.Admin/regionHealths/d0b2ec09/serviceHealths/c5d6e154-2555-4d80-a1/resourceHealths/6032c69d-c262-444d-b69"; + _requests[3054] = new DefaultHttpContext(); + _requests[3054].RequestServices = CreateServices(); + _requests[3054].Request.Method = "GET"; + _requests[3054].Request.Path = "/subscriptions/d7c169b0-220d-/resourceGroups/3aa1fe66-5299-47b/providers/Microsoft.Logic/workflows/45c1e234-f4c/runs/5f0f15f/actions/95e6ab47-e"; + _requests[3055] = new DefaultHttpContext(); + _requests[3055].RequestServices = CreateServices(); + _requests[3055].Request.Method = "GET"; + _requests[3055].Request.Path = "/subscriptions/9d9ce14f-e03b-/resourceGroups/9be1c153-764a-42f/providers/Microsoft.Logic/workflows/85b06849-d83/runs/7022880/operations/01db8652-3c"; + _requests[3056] = new DefaultHttpContext(); + _requests[3056].RequestServices = CreateServices(); + _requests[3056].Request.Method = "GET"; + _requests[3056].Request.Path = "/subscriptions/b2000e21-aecd-/resourceGroups/e02e6f5e-5ec2-406/providers/Microsoft.Logic/workflows/7a151111-612/triggers/40939c33-2f/histories/36d58d3f-a2"; + _requests[3057] = new DefaultHttpContext(); + _requests[3057].RequestServices = CreateServices(); + _requests[3057].Request.Method = "PATCH"; + _requests[3057].Request.Path = "/subscriptions/3e2eb183-bbfb-/resourceGroups/93063827-9fec-47f/providers/Microsoft.MachineLearningExperimentation/accounts/fe69ddd8-36/workspaces/670a349e-dbd1/projects/02fd65fd-11"; + _requests[3058] = new DefaultHttpContext(); + _requests[3058].RequestServices = CreateServices(); + _requests[3058].Request.Method = "DELETE"; + _requests[3058].Request.Path = "/subscriptions/a8d97f29-7fe9-/resourceGroups/feacff41-68c2-454/providers/Microsoft.Media/mediaservices/95991c71-04/liveEvents/352b3007-e9d1/liveOutputs/0fc939d2-a52a-"; + _requests[3059] = new DefaultHttpContext(); + _requests[3059].RequestServices = CreateServices(); + _requests[3059].Request.Method = "DELETE"; + _requests[3059].Request.Path = "/subscriptions/473892a2-768f-/resourceGroups/6b281ade-029c-428/providers/Microsoft.Media/mediaServices/60d0bc04-2d/transforms/a9500539-c9cd/jobs/1cddd2f"; + _requests[3060] = new DefaultHttpContext(); + _requests[3060].RequestServices = CreateServices(); + _requests[3060].Request.Method = "DELETE"; + _requests[3060].Request.Path = "/subscriptions/9dadcf11-b18a-/resourceGroups/86da777c-a099-461/providers/Microsoft.Migrate/projects/66235d39-98/groups/640fa603-/assessments/4eabf6bb-7865-"; + _requests[3061] = new DefaultHttpContext(); + _requests[3061].RequestServices = CreateServices(); + _requests[3061].Request.Method = "POST"; + _requests[3061].Request.Path = "/subscriptions/a2798c9a-4db9-/resourceGroups/ddd0d53a-3f02-4e6/providers/Microsoft.Network/expressRouteCircuits/a73ec04b-48/peerings/1df1cf0a-de/arpTables/1b27a665-8"; + _requests[3062] = new DefaultHttpContext(); + _requests[3062].RequestServices = CreateServices(); + _requests[3062].Request.Method = "PUT"; + _requests[3062].Request.Path = "/subscriptions/c327fb37-5088-/resourceGroups/1c425013-2700-422/providers/Microsoft.Network/expressRouteCircuits/6c5b593d-44/peerings/732e5484-d6/connections/ff037404-3128-"; + _requests[3063] = new DefaultHttpContext(); + _requests[3063].RequestServices = CreateServices(); + _requests[3063].Request.Method = "POST"; + _requests[3063].Request.Path = "/subscriptions/4d404997-1985-/resourceGroups/c94cd2bb-e123-4f6/providers/Microsoft.Network/expressRouteCircuits/7173e9e5-43/peerings/b7d073e7-09/routeTables/21c5b0f7-f"; + _requests[3064] = new DefaultHttpContext(); + _requests[3064].RequestServices = CreateServices(); + _requests[3064].Request.Method = "POST"; + _requests[3064].Request.Path = "/subscriptions/ce92d675-96dd-/resourceGroups/73fca6ec-8428-4e7/providers/Microsoft.Network/expressRouteCircuits/313b112d-a5/peerings/8c126420-dd/routeTablesSummary/d8bda50b-8"; + _requests[3065] = new DefaultHttpContext(); + _requests[3065].RequestServices = CreateServices(); + _requests[3065].Request.Method = "POST"; + _requests[3065].Request.Path = "/subscriptions/a5f3b098-bf76-/resourceGroups/4cf47e48-20b2-4d8/providers/Microsoft.Network/expressRouteCrossConnections/7a862778-b593-43ff-/peerings/14636cb7-92/arpTables/2a581fd6-1"; + _requests[3066] = new DefaultHttpContext(); + _requests[3066].RequestServices = CreateServices(); + _requests[3066].Request.Method = "POST"; + _requests[3066].Request.Path = "/subscriptions/e79045b7-f8f4-/resourceGroups/6c072bf5-9b6d-42d/providers/Microsoft.Network/expressRouteCrossConnections/7b0bca1c-01c9-4ad9-/peerings/15d1aefa-5f/routeTables/edbb6351-3"; + _requests[3067] = new DefaultHttpContext(); + _requests[3067].RequestServices = CreateServices(); + _requests[3067].Request.Method = "POST"; + _requests[3067].Request.Path = "/subscriptions/4c151b17-32d1-/resourceGroups/66f565a3-846d-474/providers/Microsoft.Network/expressRouteCrossConnections/139d7e3e-af68-4b31-/peerings/51857c65-03/routeTablesSummary/7920b8dd-2"; + _requests[3068] = new DefaultHttpContext(); + _requests[3068].RequestServices = CreateServices(); + _requests[3068].Request.Method = "GET"; + _requests[3068].Request.Path = "/subscriptions/c6502712-805a-/resourceGroups/96750e90-1fd7-499/providers/Microsoft.NotificationHubs/namespaces/ec970cbb-aed8/notificationHubs/b7435461-e84a-41dc-/AuthorizationRules/ab3a2969-8357-4e2a-b2"; + _requests[3069] = new DefaultHttpContext(); + _requests[3069].RequestServices = CreateServices(); + _requests[3069].Request.Method = "GET"; + _requests[3069].Request.Path = "/Subscriptions/f286c26e-6dbb-/resourceGroups/52d3b044-5c25-470/providers/Microsoft.RecoveryServices/vaults/47a7b10c-05e/replicationFabrics/ed8a961b-7/replicationLogicalNetworks/5a57a09b-4281-4c35"; + _requests[3070] = new DefaultHttpContext(); + _requests[3070].RequestServices = CreateServices(); + _requests[3070].Request.Method = "GET"; + _requests[3070].Request.Path = "/Subscriptions/1a952906-2347-/resourceGroups/825922e3-4ec1-45b/providers/Microsoft.RecoveryServices/vaults/774ac781-7fc/replicationFabrics/d365d3a9-3/replicationNetworks/eda5bb72-d8"; + _requests[3071] = new DefaultHttpContext(); + _requests[3071].RequestServices = CreateServices(); + _requests[3071].Request.Method = "PUT"; + _requests[3071].Request.Path = "/Subscriptions/81410221-5227-/resourceGroups/45b79b0a-4aee-4bc/providers/Microsoft.RecoveryServices/vaults/29315998-252/replicationFabrics/4397a3dc-8/replicationProtectionContainers/9433c8e1-3522-40ca-b126"; + _requests[3072] = new DefaultHttpContext(); + _requests[3072].RequestServices = CreateServices(); + _requests[3072].Request.Method = "DELETE"; + _requests[3072].Request.Path = "/Subscriptions/abd2bbf8-92c9-/resourceGroups/b79d1c6f-eb36-4b3/providers/Microsoft.RecoveryServices/vaults/50de7d8c-bc2/replicationFabrics/b0d8f517-b/replicationRecoveryServicesProviders/44e11da5-108"; + _requests[3073] = new DefaultHttpContext(); + _requests[3073].RequestServices = CreateServices(); + _requests[3073].Request.Method = "GET"; + _requests[3073].Request.Path = "/Subscriptions/3b5d310d-4a8b-/resourceGroups/1fb438d5-77f4-44a/providers/Microsoft.RecoveryServices/vaults/09cc97f2-f04/replicationFabrics/383de25a-c/replicationStorageClassifications/5eddfba8-eced-4888-97ab-6"; + _requests[3074] = new DefaultHttpContext(); + _requests[3074].RequestServices = CreateServices(); + _requests[3074].Request.Method = "PATCH"; + _requests[3074].Request.Path = "/Subscriptions/8db13153-23a6-/resourceGroups/5a3a3319-c97f-41f/providers/Microsoft.RecoveryServices/vaults/f8b1d121-938/replicationFabrics/78fbc14a-c/replicationvCenters/ce0a550a-8c"; + _requests[3075] = new DefaultHttpContext(); + _requests[3075].RequestServices = CreateServices(); + _requests[3075].Request.Method = "PUT"; + _requests[3075].Request.Path = "/Subscriptions/ed5be468-fb25-/resourceGroups/b22557c0-58b4-4c7/providers/Microsoft.RecoveryServices/vaults/4a6bc0b8-/backupFabrics/ef20928a-d/backupProtectionIntent/5171cd2e-403b-42"; + _requests[3076] = new DefaultHttpContext(); + _requests[3076].RequestServices = CreateServices(); + _requests[3076].Request.Method = "GET"; + _requests[3076].Request.Path = "/Subscriptions/3028a99a-70ba-/resourceGroups/b5ffe13e-1b91-4e8/providers/Microsoft.RecoveryServices/vaults/92c3c21a-/backupFabrics/7aa38d0b-7/operationResults/dce1a78a-39"; + _requests[3077] = new DefaultHttpContext(); + _requests[3077].RequestServices = CreateServices(); + _requests[3077].Request.Method = "DELETE"; + _requests[3077].Request.Path = "/Subscriptions/951fc907-4824-/resourceGroups/ff73011b-4ab9-474/providers/Microsoft.RecoveryServices/vaults/c1c877ac-/backupFabrics/f308c224-a/protectionContainers/eb42755f-0bf1"; + _requests[3078] = new DefaultHttpContext(); + _requests[3078].RequestServices = CreateServices(); + _requests[3078].Request.Method = "GET"; + _requests[3078].Request.Path = "/Subscriptions/cfe72f80-c416-/resourceGroups/011f50eb-a64f-41c/providers/Microsoft.RecoveryServices/vaults/3495678f-/backupJobs/4ecd355/operationResults/efbe33d5-48"; + _requests[3079] = new DefaultHttpContext(); + _requests[3079].RequestServices = CreateServices(); + _requests[3079].Request.Method = "GET"; + _requests[3079].Request.Path = "/Subscriptions/41db3f3d-1afd-/resourceGroups/2cd17238-6cdf-403/providers/Microsoft.RecoveryServices/vaults/586d3330-/backupPolicies/1d753651-5/operationResults/12023253-f1"; + _requests[3080] = new DefaultHttpContext(); + _requests[3080].RequestServices = CreateServices(); + _requests[3080].Request.Method = "GET"; + _requests[3080].Request.Path = "/Subscriptions/2d0e51ca-ade4-/resourceGroups/8f277965-3534-41f/providers/Microsoft.RecoveryServices/vaults/76caa76e-/backupPolicies/1f1f58e4-5/operations/745ffb35-13"; + _requests[3081] = new DefaultHttpContext(); + _requests[3081].RequestServices = CreateServices(); + _requests[3081].Request.Method = "GET"; + _requests[3081].Request.Path = "/subscriptions/d26bfb6d-2434-/resourceGroups/b24e13f4-031a-479/providers/Microsoft.Relay/namespaces/4d859141-5b1b/hybridConnections/e69e246d-a383-4a95-b/authorizationRules/4a806c82-2f7d-486a-ab"; + _requests[3082] = new DefaultHttpContext(); + _requests[3082].RequestServices = CreateServices(); + _requests[3082].Request.Method = "GET"; + _requests[3082].Request.Path = "/subscriptions/6c7a80d5-68a0-/resourceGroups/a4b4ec8f-f0ae-4b6/providers/Microsoft.Relay/namespaces/6097ae8c-e0e9/wcfRelays/a2cd7ad4-/authorizationRules/f3ab7606-f23e-4135-a6"; + _requests[3083] = new DefaultHttpContext(); + _requests[3083].RequestServices = CreateServices(); + _requests[3083].Request.Method = "GET"; + _requests[3083].Request.Path = "/subscriptions/71bf8ab2-2205-/resourceGroups/f1b450c0-699e-480/providers/Microsoft.ServiceBus/namespaces/d862cee4-097c/disasterRecoveryConfigs/0938e/AuthorizationRules/64b14c7d-b2d2-4d32-97"; + _requests[3084] = new DefaultHttpContext(); + _requests[3084].RequestServices = CreateServices(); + _requests[3084].Request.Method = "GET"; + _requests[3084].Request.Path = "/subscriptions/7608ebb5-3db4-/resourceGroups/7662e07c-9171-4fa/providers/Microsoft.ServiceBus/namespaces/0f13fb6c-f881/eventhubs/311550ec-ea6/authorizationRules/76dae799-8bcc-41ee-b4"; + _requests[3085] = new DefaultHttpContext(); + _requests[3085].RequestServices = CreateServices(); + _requests[3085].Request.Method = "GET"; + _requests[3085].Request.Path = "/subscriptions/3d2bcde4-31ad-/resourceGroups/5226a3a7-67ab-4c0/providers/Microsoft.ServiceBus/namespaces/e9d150f3-d1ce/queues/3793898d-/authorizationRules/0e7ffb8e-a230-4727-8c"; + _requests[3086] = new DefaultHttpContext(); + _requests[3086].RequestServices = CreateServices(); + _requests[3086].Request.Method = "DELETE"; + _requests[3086].Request.Path = "/subscriptions/255a00c4-3b16-/resourceGroups/b158be90-c45b-416/providers/Microsoft.ServiceBus/namespaces/dfb4be56-21fd/topics/f6999671-/authorizationRules/b85ff215-0abf-42b3-bd"; + _requests[3087] = new DefaultHttpContext(); + _requests[3087].RequestServices = CreateServices(); + _requests[3087].Request.Method = "GET"; + _requests[3087].Request.Path = "/subscriptions/da8e28b2-6a54-/resourceGroups/f0f9151a-409f-4be/providers/Microsoft.ServiceBus/namespaces/2d0501ce-e8ff/topics/0c5c4b2a-/subscriptions/09556b3c-2371-4f"; + _requests[3088] = new DefaultHttpContext(); + _requests[3088].RequestServices = CreateServices(); + _requests[3088].Request.Method = "DELETE"; + _requests[3088].Request.Path = "/subscriptions/d8f72a79-6437-/resourceGroups/456b0de2-6442-419/providers/Microsoft.ServiceFabric/clusters/4209bdd3-ec/applications/2b2681f7-e71c-4/services/456d590b-76"; + _requests[3089] = new DefaultHttpContext(); + _requests[3089].RequestServices = CreateServices(); + _requests[3089].Request.Method = "DELETE"; + _requests[3089].Request.Path = "/subscriptions/2834f500-cca8-/resourceGroups/06818806-f832-4ee/providers/Microsoft.ServiceFabric/clusters/bdc5bd82-f3/applicationTypes/c563ffc8-cd2a-4cbf-/versions/6942a6c"; + _requests[3090] = new DefaultHttpContext(); + _requests[3090].RequestServices = CreateServices(); + _requests[3090].Request.Method = "PUT"; + _requests[3090].Request.Path = "/subscriptions/5f1cf18a-9f41-/resourceGroups/939749aa-6a11-4a1/providers/Microsoft.Sql/servers/ef7a21c9-7/databases/4605839c-df0/advisors/adee97cc-b9"; + _requests[3091] = new DefaultHttpContext(); + _requests[3091].RequestServices = CreateServices(); + _requests[3091].Request.Method = "PUT"; + _requests[3091].Request.Path = "/subscriptions/bc0df08f-7bb5-/resourceGroups/f4c30d0d-b433-49f/providers/Microsoft.Sql/servers/8c051e14-9/databases/aae15fdb-9d5/auditingPolicies/bacbf767-03cc-4cce-b524"; + _requests[3092] = new DefaultHttpContext(); + _requests[3092].RequestServices = CreateServices(); + _requests[3092].Request.Method = "PUT"; + _requests[3092].Request.Path = "/subscriptions/5acd414f-5bd6-/resourceGroups/f13e1f8c-682a-4f5/providers/Microsoft.Sql/servers/b94b36d1-d/databases/9a8e82b6-2ad/auditingSettings/c279611f-37c9-4de0-8f5"; + _requests[3093] = new DefaultHttpContext(); + _requests[3093].RequestServices = CreateServices(); + _requests[3093].Request.Method = "PUT"; + _requests[3093].Request.Path = "/subscriptions/cdbf61b8-defc-/resourceGroups/d0dbd2a3-46e3-43b/providers/Microsoft.Sql/servers/df64333b-f/databases/d875057e-c92/backupLongTermRetentionPolicies/fe18e93e-ad59-40a3-ba69-e5bd4583d"; + _requests[3094] = new DefaultHttpContext(); + _requests[3094].RequestServices = CreateServices(); + _requests[3094].Request.Method = "PATCH"; + _requests[3094].Request.Path = "/subscriptions/7f6ffe43-7239-/resourceGroups/a148ba10-4d20-42c/providers/Microsoft.Sql/servers/71899b7c-7/databases/56bb4951-d70/backupShortTermRetentionPolicies/952fa9d7-0"; + _requests[3095] = new DefaultHttpContext(); + _requests[3095].RequestServices = CreateServices(); + _requests[3095].Request.Method = "PUT"; + _requests[3095].Request.Path = "/subscriptions/0ad4fd3a-1568-/resourceGroups/7c09f213-7d0a-4c3/providers/Microsoft.Sql/servers/a108983c-d/databases/d9758df8-eec/connectionPolicies/2438e265-3459-493c-b"; + _requests[3096] = new DefaultHttpContext(); + _requests[3096].RequestServices = CreateServices(); + _requests[3096].Request.Method = "GET"; + _requests[3096].Request.Path = "/subscriptions/aeeebf56-8162-/resourceGroups/2a681613-9b6c-4f4/providers/Microsoft.Sql/servers/5dfa7eeb-d/databases/7f98df54-707/dataMaskingPolicies/01e5cacd-9d72-4055-89"; + _requests[3097] = new DefaultHttpContext(); + _requests[3097].RequestServices = CreateServices(); + _requests[3097].Request.Method = "GET"; + _requests[3097].Request.Path = "/subscriptions/6b8adff9-80f9-/resourceGroups/aae3c159-fe1b-4db/providers/Microsoft.Sql/servers/114108ad-0/databases/e6590dc2-8ae/dataWarehouseUserActivities/65804174-1d17-4501-bc4c-a3539"; + _requests[3098] = new DefaultHttpContext(); + _requests[3098].RequestServices = CreateServices(); + _requests[3098].Request.Method = "PUT"; + _requests[3098].Request.Path = "/subscriptions/c4a4d781-1829-/resourceGroups/86ffb389-1ba1-493/providers/Microsoft.Sql/servers/993a3389-e/databases/4ebc2e2f-e1e/extensions/a0c7b430-6c37"; + _requests[3099] = new DefaultHttpContext(); + _requests[3099].RequestServices = CreateServices(); + _requests[3099].Request.Method = "GET"; + _requests[3099].Request.Path = "/subscriptions/ef88b83e-6fa9-/resourceGroups/b582fc24-ea88-460/providers/Microsoft.Sql/servers/6d237372-c/databases/d4e97db6-f4a/geoBackupPolicies/bba607cb-70fd-408a-"; + _requests[3100] = new DefaultHttpContext(); + _requests[3100].RequestServices = CreateServices(); + _requests[3100].Request.Method = "GET"; + _requests[3100].Request.Path = "/subscriptions/469c6229-1e64-/resourceGroups/2f98a35d-d4b0-4b6/providers/Microsoft.Sql/servers/583797dc-8/databases/093f5475-02d/replicationLinks/fd1e4f"; + _requests[3101] = new DefaultHttpContext(); + _requests[3101].RequestServices = CreateServices(); + _requests[3101].Request.Method = "DELETE"; + _requests[3101].Request.Path = "/subscriptions/cb003028-1904-/resourceGroups/d940b84b-c387-4b7/providers/Microsoft.Sql/servers/5bad277b-8/databases/77697309-0f2/restorePoints/fd100c19-d9f2-49"; + _requests[3102] = new DefaultHttpContext(); + _requests[3102].RequestServices = CreateServices(); + _requests[3102].Request.Method = "PUT"; + _requests[3102].Request.Path = "/subscriptions/11f481fc-1b7d-/resourceGroups/8ad5cfbf-101e-47a/providers/Microsoft.Sql/servers/dd8cf9dd-7/databases/73c2a023-1a2/securityAlertPolicies/3da3fdae-01be-4152-b682"; + _requests[3103] = new DefaultHttpContext(); + _requests[3103].RequestServices = CreateServices(); + _requests[3103].Request.Method = "GET"; + _requests[3103].Request.Path = "/subscriptions/dc803419-c56f-/resourceGroups/816ec242-ed2f-489/providers/Microsoft.Sql/servers/5ab6352d-2/databases/648886fa-255/serviceTierAdvisors/3f377bac-4303-4389-a6c"; + _requests[3104] = new DefaultHttpContext(); + _requests[3104].RequestServices = CreateServices(); + _requests[3104].Request.Method = "PATCH"; + _requests[3104].Request.Path = "/subscriptions/d81c38a7-4713-/resourceGroups/6b4e3458-f944-4f1/providers/Microsoft.Sql/servers/c792f710-8/databases/a6b6f30d-a90/syncGroups/53353b3b-12e4"; + _requests[3105] = new DefaultHttpContext(); + _requests[3105].RequestServices = CreateServices(); + _requests[3105].Request.Method = "GET"; + _requests[3105].Request.Path = "/subscriptions/4edbd719-6fc1-/resourceGroups/7cf3acb0-e264-429/providers/Microsoft.Sql/servers/68edce3e-5/databases/a5b6c64f-305/transparentDataEncryption/13c70152-7c95-481c-9f91-7949e"; + _requests[3106] = new DefaultHttpContext(); + _requests[3106].RequestServices = CreateServices(); + _requests[3106].Request.Method = "DELETE"; + _requests[3106].Request.Path = "/subscriptions/f4ade4b5-7a16-/resourceGroups/81a5d11f-b57b-46d/providers/Microsoft.Sql/servers/04d48bdc-d/databases/76a494e1-cdf/vulnerabilityAssessments/026ac4cc-b46d-4cda-8301-87c"; + _requests[3107] = new DefaultHttpContext(); + _requests[3107].RequestServices = CreateServices(); + _requests[3107].Request.Method = "GET"; + _requests[3107].Request.Path = "/subscriptions/a5e5cbb1-5e48-/resourceGroups/a2b770cf-89af-42b/providers/Microsoft.Sql/servers/af2923e8-a/elasticPools/12d73ff7-621c-4/databases/717341b8-18a"; + _requests[3108] = new DefaultHttpContext(); + _requests[3108].RequestServices = CreateServices(); + _requests[3108].Request.Method = "DELETE"; + _requests[3108].Request.Path = "/subscriptions/ccce0607-8024-/resourceGroups/467ea7c1-f0db-4ad/providers/Microsoft.Sql/servers/85144eb0-2/jobAgents/29c7bc2d-a3a/credentials/e82da0ee-d3d6-"; + _requests[3109] = new DefaultHttpContext(); + _requests[3109].RequestServices = CreateServices(); + _requests[3109].Request.Method = "DELETE"; + _requests[3109].Request.Path = "/subscriptions/f276db31-6a0f-/resourceGroups/04cb3140-e58b-438/providers/Microsoft.Sql/servers/22623f05-a/jobAgents/464e18c1-6eb/jobs/aa50990"; + _requests[3110] = new DefaultHttpContext(); + _requests[3110].RequestServices = CreateServices(); + _requests[3110].Request.Method = "DELETE"; + _requests[3110].Request.Path = "/subscriptions/fb93039b-ab64-/resourceGroups/d50e2335-f9f1-4f6/providers/Microsoft.Sql/servers/21dbf2c7-e/jobAgents/884f639e-6eb/targetGroups/1084ea5d-8ce7-4"; + _requests[3111] = new DefaultHttpContext(); + _requests[3111].RequestServices = CreateServices(); + _requests[3111].Request.Method = "GET"; + _requests[3111].Request.Path = "/subscriptions/85a0eda7-091d-/resourceGroups/86b9fd14-5bb1-48b/providers/Microsoft.Sql/servers/d9c1ce4e-4/recommendedElasticPools/da1feaf4-3ae9-4cf9-b35f-32/databases/09e954a0-d5f"; + _requests[3112] = new DefaultHttpContext(); + _requests[3112].RequestServices = CreateServices(); + _requests[3112].Request.Method = "DELETE"; + _requests[3112].Request.Path = "/subscriptions/7033c945-8bfc-/resourceGroups/315cc56f-409a-490/providers/Microsoft.StorSimple/managers/b767cbe8-0e/devices/b7838434-8/backupPolicies/f496a036-b9c7-4b"; + _requests[3113] = new DefaultHttpContext(); + _requests[3113].RequestServices = CreateServices(); + _requests[3113].Request.Method = "DELETE"; + _requests[3113].Request.Path = "/subscriptions/6483328f-f30e-/resourceGroups/fc47e485-d26f-423/providers/Microsoft.StorSimple/managers/42cb17a9-a9/devices/9dba68d4-a/backups/071d6e12-b"; + _requests[3114] = new DefaultHttpContext(); + _requests[3114].RequestServices = CreateServices(); + _requests[3114].Request.Method = "GET"; + _requests[3114].Request.Path = "/subscriptions/c9a6dd60-c394-/resourceGroups/4b555f27-b46d-467/providers/Microsoft.StorSimple/managers/17c17aef-c6/devices/e1feb116-2/jobs/7a63442"; + _requests[3115] = new DefaultHttpContext(); + _requests[3115].RequestServices = CreateServices(); + _requests[3115].Request.Method = "DELETE"; + _requests[3115].Request.Path = "/subscriptions/34f4cad5-dfdd-/resourceGroups/e3b188a6-b45d-4e5/providers/Microsoft.StorSimple/managers/b9231a88-26/devices/c2dd8062-2/volumeContainers/3de471f3-586d-4f4d-"; + _requests[3116] = new DefaultHttpContext(); + _requests[3116].RequestServices = CreateServices(); + _requests[3116].Request.Method = "GET"; + _requests[3116].Request.Path = "/subscriptions/f3aef894-2b1f-/resourcegroups/3b04f91e-187b-41f/providers/Microsoft.Update.Admin/updateLocations/171421eb-aaef-/updates/0df70637-5/updateRuns/bea2fa7"; + _requests[3117] = new DefaultHttpContext(); + _requests[3117].RequestServices = CreateServices(); + _requests[3117].Request.Method = "DELETE"; + _requests[3117].Request.Path = "/subscriptions/9784f090-c524-/resourceGroups/adbb8e24-75c9-4ad/providers/Microsoft.Web/serverfarms/61ec1/hybridConnectionNamespaces/e7b96ac5-4692/relays/168c9edf-"; + _requests[3118] = new DefaultHttpContext(); + _requests[3118].RequestServices = CreateServices(); + _requests[3118].Request.Method = "PUT"; + _requests[3118].Request.Path = "/subscriptions/b80a38a0-1a2a-/resourceGroups/848f7dff-2bfb-4e7/providers/Microsoft.Web/serverfarms/3db65/virtualNetworkConnections/bfb3d55c/gateways/7465ea94-79"; + _requests[3119] = new DefaultHttpContext(); + _requests[3119].RequestServices = CreateServices(); + _requests[3119].Request.Method = "PATCH"; + _requests[3119].Request.Path = "/subscriptions/bc4a158d-d04a-/resourceGroups/a3998953-cc8f-48b/providers/Microsoft.Web/serverfarms/4758f/virtualNetworkConnections/00ebd6d1/routes/73586d66-"; + _requests[3120] = new DefaultHttpContext(); + _requests[3120].RequestServices = CreateServices(); + _requests[3120].Request.Method = "PATCH"; + _requests[3120].Request.Path = "/subscriptions/e2342c3a-d76a-/resourceGroups/1e691792-a6c9-4e8/providers/Microsoft.Web/sites/cd195/hybridConnectionNamespaces/a9f06f44-840f/relays/869a1068-"; + _requests[3121] = new DefaultHttpContext(); + _requests[3121].RequestServices = CreateServices(); + _requests[3121].Request.Method = "DELETE"; + _requests[3121].Request.Path = "/subscriptions/a2dd9267-fa2b-/resourceGroups/0f290132-49d2-411/providers/Microsoft.Web/sites/9a7d0/instances/5f725c70-7/deployments/9f936"; + _requests[3122] = new DefaultHttpContext(); + _requests[3122].RequestServices = CreateServices(); + _requests[3122].Request.Method = "DELETE"; + _requests[3122].Request.Path = "/subscriptions/e8da6bb2-bda2-/resourceGroups/6f124deb-7e8f-4b7/providers/Microsoft.Web/sites/805e2/instances/5af24eeb-2/processes/91af76b3-"; + _requests[3123] = new DefaultHttpContext(); + _requests[3123].RequestServices = CreateServices(); + _requests[3123].Request.Method = "GET"; + _requests[3123].Request.Path = "/subscriptions/15bcc39a-61a8-/resourceGroups/abcdd0a4-d7dd-47b/providers/Microsoft.Web/sites/86e66/processes/66e28303-/modules/7e56c83d-92"; + _requests[3124] = new DefaultHttpContext(); + _requests[3124].RequestServices = CreateServices(); + _requests[3124].Request.Method = "GET"; + _requests[3124].Request.Path = "/subscriptions/bba8e723-ed19-/resourceGroups/b63bc281-dd8a-408/providers/Microsoft.Web/sites/99fda/processes/59117efc-/threads/20089e1a"; + _requests[3125] = new DefaultHttpContext(); + _requests[3125].RequestServices = CreateServices(); + _requests[3125].Request.Method = "DELETE"; + _requests[3125].Request.Path = "/subscriptions/c30b5f17-8349-/resourceGroups/fbd85af2-8126-444/providers/Microsoft.Web/sites/00e8c/slots/2da79/backups/d1d09669"; + _requests[3126] = new DefaultHttpContext(); + _requests[3126].RequestServices = CreateServices(); + _requests[3126].Request.Method = "DELETE"; + _requests[3126].Request.Path = "/subscriptions/f871c3fd-3530-/resourceGroups/f809a001-f8d4-427/providers/Microsoft.Web/sites/0d70b/slots/7972c/continuouswebjobs/d7447762-9"; + _requests[3127] = new DefaultHttpContext(); + _requests[3127].RequestServices = CreateServices(); + _requests[3127].Request.Method = "DELETE"; + _requests[3127].Request.Path = "/subscriptions/87d19243-18fa-/resourceGroups/20c2333f-8257-4d9/providers/Microsoft.Web/sites/6fad4/slots/9d56e/deployments/21449"; + _requests[3128] = new DefaultHttpContext(); + _requests[3128].RequestServices = CreateServices(); + _requests[3128].Request.Method = "PATCH"; + _requests[3128].Request.Path = "/subscriptions/89218eb3-49e8-/resourceGroups/cbe2768f-d75a-43b/providers/Microsoft.Web/sites/f9052/slots/aea86/domainOwnershipIdentifiers/a8b9d896-6738-44d4-abc3-a89e1"; + _requests[3129] = new DefaultHttpContext(); + _requests[3129].RequestServices = CreateServices(); + _requests[3129].Request.Method = "DELETE"; + _requests[3129].Request.Path = "/subscriptions/01ceac2e-7ebc-/resourceGroups/e54393dc-6693-4f9/providers/Microsoft.Web/sites/c2ceb/slots/7849d/functions/b0a024cb-0ed"; + _requests[3130] = new DefaultHttpContext(); + _requests[3130].RequestServices = CreateServices(); + _requests[3130].Request.Method = "DELETE"; + _requests[3130].Request.Path = "/subscriptions/f7455ff9-1447-/resourceGroups/41f2f4ad-ccd9-417/providers/Microsoft.Web/sites/9d91c/slots/ca011/hostNameBindings/88ab5253"; + _requests[3131] = new DefaultHttpContext(); + _requests[3131].RequestServices = CreateServices(); + _requests[3131].Request.Method = "PATCH"; + _requests[3131].Request.Path = "/subscriptions/4e0b3385-96ca-/resourceGroups/d5e45750-cc10-456/providers/Microsoft.Web/sites/777de/slots/c03b9/hybridconnection/d90fec27-8"; + _requests[3132] = new DefaultHttpContext(); + _requests[3132].RequestServices = CreateServices(); + _requests[3132].Request.Method = "GET"; + _requests[3132].Request.Path = "/subscriptions/418e14f3-c313-/resourceGroups/40e2a937-f77e-4b1/providers/Microsoft.Web/sites/a6c76/slots/3a4a6/networkFeatures/9ca79"; + _requests[3133] = new DefaultHttpContext(); + _requests[3133].RequestServices = CreateServices(); + _requests[3133].Request.Method = "GET"; + _requests[3133].Request.Path = "/subscriptions/08c428c3-35c1-/resourceGroups/7b1a5a65-37a9-41e/providers/Microsoft.Web/sites/8d1e7/slots/4c2af/operationresults/1b5ee8f5-18"; + _requests[3134] = new DefaultHttpContext(); + _requests[3134].RequestServices = CreateServices(); + _requests[3134].Request.Method = "DELETE"; + _requests[3134].Request.Path = "/subscriptions/a3a4755c-9484-/resourceGroups/2db6e9a1-7072-426/providers/Microsoft.Web/sites/e3357/slots/04b1d/premieraddons/3051d09d-17a1-41"; + _requests[3135] = new DefaultHttpContext(); + _requests[3135].RequestServices = CreateServices(); + _requests[3135].Request.Method = "DELETE"; + _requests[3135].Request.Path = "/subscriptions/ca7b16a4-a469-/resourceGroups/bb9ca8e8-358a-472/providers/Microsoft.Web/sites/ce806/slots/5c563/processes/cd0eb04e-"; + _requests[3136] = new DefaultHttpContext(); + _requests[3136].RequestServices = CreateServices(); + _requests[3136].Request.Method = "DELETE"; + _requests[3136].Request.Path = "/subscriptions/08453196-7941-/resourceGroups/92409a69-f783-40f/providers/Microsoft.Web/sites/f899a/slots/eaa1c/publicCertificates/469eb6d2-4f35-4d1e-bc"; + _requests[3137] = new DefaultHttpContext(); + _requests[3137].RequestServices = CreateServices(); + _requests[3137].Request.Method = "DELETE"; + _requests[3137].Request.Path = "/subscriptions/9250f60a-9208-/resourceGroups/15d2439b-9b37-411/providers/Microsoft.Web/sites/fd159/slots/d6d1f/siteextensions/f2a9e367-48d7-4"; + _requests[3138] = new DefaultHttpContext(); + _requests[3138].RequestServices = CreateServices(); + _requests[3138].Request.Method = "DELETE"; + _requests[3138].Request.Path = "/subscriptions/ea82d60f-ee75-/resourceGroups/6137e016-1df1-498/providers/Microsoft.Web/sites/c3c50/slots/5aa8c/triggeredwebjobs/e334d80f-9"; + _requests[3139] = new DefaultHttpContext(); + _requests[3139].RequestServices = CreateServices(); + _requests[3139].Request.Method = "PATCH"; + _requests[3139].Request.Path = "/subscriptions/7b750c1f-7e11-/resourceGroups/daca79cf-f1ab-48f/providers/Microsoft.Web/sites/d40dd/slots/6fad0/virtualNetworkConnections/d151a0e1"; + _requests[3140] = new DefaultHttpContext(); + _requests[3140].RequestServices = CreateServices(); + _requests[3140].Request.Method = "GET"; + _requests[3140].Request.Path = "/subscriptions/1d0a4752-ef7d-/resourceGroups/e812ddc9-6041-49b/providers/Microsoft.Web/sites/fc7d5/slots/7d968/webjobs/ee0262cb-5"; + _requests[3141] = new DefaultHttpContext(); + _requests[3141].RequestServices = CreateServices(); + _requests[3141].Request.Method = "GET"; + _requests[3141].Request.Path = "/subscriptions/8855e7fd-9d92-/resourceGroups/422c8bc4-2ba6-485/providers/Microsoft.Web/sites/2bc07/triggeredwebjobs/cca55f6f-3/history/68322"; + _requests[3142] = new DefaultHttpContext(); + _requests[3142].RequestServices = CreateServices(); + _requests[3142].Request.Method = "PATCH"; + _requests[3142].Request.Path = "/subscriptions/ccfd940d-50ac-/resourceGroups/bf7ee06f-6806-4fd/providers/Microsoft.Web/sites/5228d/virtualNetworkConnections/fe727704/gateways/d02b62f3-a1"; + _requests[3143] = new DefaultHttpContext(); + _requests[3143].RequestServices = CreateServices(); + _requests[3143].Request.Method = "GET"; + _requests[3143].Request.Path = "/subscriptions/aa922183-0398-/resourceGroups/902ba857-386c-4c1/providers/Microsoft.Web/sites/dd4dddc5/diagnostics/f0a09141-6281-422c/analyses/a55b4396-d86"; + _requests[3144] = new DefaultHttpContext(); + _requests[3144].RequestServices = CreateServices(); + _requests[3144].Request.Method = "GET"; + _requests[3144].Request.Path = "/subscriptions/c2f38c45-6673-/resourceGroups/fc84f282-d699-477/providers/Microsoft.Web/sites/84bb995f/diagnostics/0c87a0fa-a864-45b8/detectors/5026ca36-084"; + _requests[3145] = new DefaultHttpContext(); + _requests[3145].RequestServices = CreateServices(); + _requests[3145].Request.Method = "GET"; + _requests[3145].Request.Path = "/subscriptions/0641c8d3-9d84-/resourceGroups/7da5fc24-9c99-4fe/providers/Microsoft.Web/sites/b33967fe/slots/15c4c/detectors/e91e4e3b-c91"; + _requests[3146] = new DefaultHttpContext(); + _requests[3146].RequestServices = CreateServices(); + _requests[3146].Request.Method = "GET"; + _requests[3146].Request.Path = "/subscriptions/d6a5a4df-accf-/resourceGroups/0b49d97c-5c97-433/providers/Microsoft.Web/sites/0c55c383/slots/c9493/diagnostics/7279476b-7ff3-4e3f"; + _requests[3147] = new DefaultHttpContext(); + _requests[3147].RequestServices = CreateServices(); + _requests[3147].Request.Method = "POST"; + _requests[3147].Request.Path = "/subscriptions/92a7f2d8-bdf1-/resourceGroups/176874bb-/providers/Microsoft.DataMigration/services/9762b4b5-fc/projects/d62e2770-9c/tasks/2e6847f3/cancel"; + _requests[3148] = new DefaultHttpContext(); + _requests[3148].RequestServices = CreateServices(); + _requests[3148].Request.Method = "GET"; + _requests[3148].Request.Path = "/subscriptions/8229d1cf-64f8-/resourceGroups/e3de7ec6-8656-491/providers/Microsoft.ApiManagement/service/2a2bb982-a2/apis/d5f82/diagnostics/de26ae49-6c9/loggers"; + _requests[3149] = new DefaultHttpContext(); + _requests[3149].RequestServices = CreateServices(); + _requests[3149].Request.Method = "GET"; + _requests[3149].Request.Path = "/subscriptions/3941748a-6738-/resourceGroups/503479fd-cfc3-44a/providers/Microsoft.ApiManagement/service/11b0f249-0a/apis/5f393/issues/f61d8a6/attachments"; + _requests[3150] = new DefaultHttpContext(); + _requests[3150].RequestServices = CreateServices(); + _requests[3150].Request.Method = "GET"; + _requests[3150].Request.Path = "/subscriptions/41c43424-e464-/resourceGroups/66b206fc-84d5-4e2/providers/Microsoft.ApiManagement/service/5a4804ff-a4/apis/37d11/issues/ef06f4f/comments"; + _requests[3151] = new DefaultHttpContext(); + _requests[3151].RequestServices = CreateServices(); + _requests[3151].Request.Method = "GET"; + _requests[3151].Request.Path = "/subscriptions/28328fd0-99f7-/resourceGroups/c1c9dae0-a28f-459/providers/Microsoft.ApiManagement/service/0bcfa557-ba/apis/846da/operations/550e1359-d6/policies"; + _requests[3152] = new DefaultHttpContext(); + _requests[3152].RequestServices = CreateServices(); + _requests[3152].Request.Method = "DELETE"; + _requests[3152].Request.Path = "/subscriptions/cae3f346-848e-/resourceGroups/bfce666f-0e38-403/providers/Microsoft.ApiManagement/service/f2335a2f-94/apis/afe3c/operations/68eff19c-15/policy"; + _requests[3153] = new DefaultHttpContext(); + _requests[3153].RequestServices = CreateServices(); + _requests[3153].Request.Method = "GET"; + _requests[3153].Request.Path = "/subscriptions/07e72f2c-5723-/resourceGroups/30ae0e09-d19b-437/providers/Microsoft.ApiManagement/service/ea4a5a75-3c/apis/531ca/operations/0073a9a1-8f/tags"; + _requests[3154] = new DefaultHttpContext(); + _requests[3154].RequestServices = CreateServices(); + _requests[3154].Request.Method = "GET"; + _requests[3154].Request.Path = "/subscriptions/335fda13-a9d6-/resourceGroups/7b28bda1-eeb2-4e4/providers/Microsoft.Automation/automationAccounts/e6e0e88e-ef52-4c10-91/modules/89babab9-9/objectDataTypes/42a50802/fields"; + _requests[3155] = new DefaultHttpContext(); + _requests[3155].RequestServices = CreateServices(); + _requests[3155].Request.Method = "GET"; + _requests[3155].Request.Path = "/subscriptions/3fc331b3-a27d-/resourceGroups/595db88b-8075-496/providers/Microsoft.Automation/automationAccounts/8241a8db-b1f8-43c0-99/modules/860fa7a6-0/types/efe53e55/fields"; + _requests[3156] = new DefaultHttpContext(); + _requests[3156].RequestServices = CreateServices(); + _requests[3156].Request.Method = "GET"; + _requests[3156].Request.Path = "/subscriptions/967825ff-5842-/resourceGroups/0cb8754b-eecd-4b1/providers/Microsoft.Automation/automationAccounts/99ebb61e-6996-44d7-ab/nodes/35fe9e/reports/5936e4e1/content"; + _requests[3157] = new DefaultHttpContext(); + _requests[3157].RequestServices = CreateServices(); + _requests[3157].Request.Method = "GET"; + _requests[3157].Request.Path = "/subscriptions/f849a305-283a-/resourceGroups/7c265dc2-6516-485/providers/Microsoft.Automation/automationAccounts/a3b96bac-e49e-4056-81/sourceControls/0f28dd0c-cd3f-454/sourceControlSyncJobs/a809aa2f-25e2-4763-862/streams"; + _requests[3158] = new DefaultHttpContext(); + _requests[3158].RequestServices = CreateServices(); + _requests[3158].Request.Method = "POST"; + _requests[3158].Request.Path = "/subscriptions/22ece011-497c-/resourceGroups/087653a5-2736-44a/providers/Microsoft.Batch/batchAccounts/5c384523-8b/applications/0440cb54-854b/versions/794c36f/activate"; + _requests[3159] = new DefaultHttpContext(); + _requests[3159].RequestServices = CreateServices(); + _requests[3159].Request.Method = "POST"; + _requests[3159].Request.Path = "/subscriptions/d47dd402-d779-/resourceGroups/5e548636-3c9e-49e/providers/Microsoft.BatchAI/workspaces/fd52e9fe-9c47/experiments/f2df516b-a21e-/jobs/efc87bb/listOutputFiles"; + _requests[3160] = new DefaultHttpContext(); + _requests[3160].RequestServices = CreateServices(); + _requests[3160].Request.Method = "POST"; + _requests[3160].Request.Path = "/subscriptions/355ac358-d398-/resourceGroups/3ea9e2ee-c96d-405/providers/Microsoft.BatchAI/workspaces/b016c468-808f/experiments/aac86576-0871-/jobs/9475ec8/listRemoteLoginInformation"; + _requests[3161] = new DefaultHttpContext(); + _requests[3161].RequestServices = CreateServices(); + _requests[3161].Request.Method = "POST"; + _requests[3161].Request.Path = "/subscriptions/fa4c3134-525a-/resourceGroups/ca8a9656-5e45-42d/providers/Microsoft.BatchAI/workspaces/0e495358-1c93/experiments/c7740d10-636e-/jobs/025e1f2/terminate"; + _requests[3162] = new DefaultHttpContext(); + _requests[3162].RequestServices = CreateServices(); + _requests[3162].Request.Method = "POST"; + _requests[3162].Request.Path = "/subscriptions/c577352b-7b5c-/resourceGroups/af567410-da0c-4b8/providers/Microsoft.Cdn/profiles/7ec62a0d-60/endpoints/9f6c96f7-115/customDomains/a49498c3-4bbc-4b/disableCustomHttps"; + _requests[3163] = new DefaultHttpContext(); + _requests[3163].RequestServices = CreateServices(); + _requests[3163].Request.Method = "POST"; + _requests[3163].Request.Path = "/subscriptions/906a8099-e534-/resourceGroups/b85523b4-9951-405/providers/Microsoft.Cdn/profiles/01ad1b82-07/endpoints/bdee03d8-fb8/customDomains/84a2e439-856c-43/enableCustomHttps"; + _requests[3164] = new DefaultHttpContext(); + _requests[3164].RequestServices = CreateServices(); + _requests[3164].Request.Method = "GET"; + _requests[3164].Request.Path = "/subscriptions/f9319e26-1ada-/resourceGroups/10c1062d-d820-436/providers/microsoft.Compute/virtualMachineScaleSets/03c37563-f38e-42b7-9541-e7/virtualMachines/532748e4-c288-4eda-/networkInterfaces/6f36f9d2-77d9-448d-b/ipConfigurations"; + _requests[3165] = new DefaultHttpContext(); + _requests[3165].RequestServices = CreateServices(); + _requests[3165].Request.Method = "POST"; + _requests[3165].Request.Path = "/subscriptions/d4bde3d5-2e93-/resourceGroups/d84bd5b5-3eb8-4c5/providers/Microsoft.ContainerRegistry/registries/e6fd6f02-8bc/buildTasks/7c5cde69-b8e7/steps/c90c855f/listBuildArguments"; + _requests[3166] = new DefaultHttpContext(); + _requests[3166].RequestServices = CreateServices(); + _requests[3166].Request.Method = "POST"; + _requests[3166].Request.Path = "/subscriptions/13f2753a-e61d-/resourceGroups/63c2d34b-4339-461/providers/Microsoft.DataFactory/factories/95cb25a5-cd/integrationRuntimes/37651e55-46b9-49b4-b6d/nodes/b365671f/ipAddress"; + _requests[3167] = new DefaultHttpContext(); + _requests[3167].RequestServices = CreateServices(); + _requests[3167].Request.Method = "POST"; + _requests[3167].Request.Path = "/subscriptions/1cd7bcf1-ac84-/resourceGroups/6fe51b19-672d-480/providers/Microsoft.DataLakeAnalytics/accounts/0fe35a14-05/storageAccounts/45f76c91-e775-477e/containers/ec0698f9-6d8c/listSasTokens"; + _requests[3168] = new DefaultHttpContext(); + _requests[3168].RequestServices = CreateServices(); + _requests[3168].Request.Method = "POST"; + _requests[3168].Request.Path = "/subscriptions/35785bd6-3f87-/resourceGroups/80c8c5a0-fcde-4cf/providers/Microsoft.DevTestLab/labs/204ff40/artifactsources/095d83f9-4e05-48c4/artifacts/c50b7/generateArmTemplate"; + _requests[3169] = new DefaultHttpContext(); + _requests[3169].RequestServices = CreateServices(); + _requests[3169].Request.Method = "POST"; + _requests[3169].Request.Path = "/subscriptions/ff09ebe6-1f11-/resourceGroups/ca498471-e3f6-43a/providers/Microsoft.DevTestLab/labs/e2488e3/users/57cc6d01/disks/cc74f/attach"; + _requests[3170] = new DefaultHttpContext(); + _requests[3170].RequestServices = CreateServices(); + _requests[3170].Request.Method = "POST"; + _requests[3170].Request.Path = "/subscriptions/e7eb968c-e20b-/resourceGroups/f74c2f30-f9f6-4c4/providers/Microsoft.DevTestLab/labs/4c5b782/users/d36c4404/disks/293c4/detach"; + _requests[3171] = new DefaultHttpContext(); + _requests[3171].RequestServices = CreateServices(); + _requests[3171].Request.Method = "POST"; + _requests[3171].Request.Path = "/subscriptions/da67ed92-c8dd-/resourceGroups/d20843aa-2a46-4b0/providers/Microsoft.DevTestLab/labs/c9f0184/virtualmachines/e74ab966-6467-4b19/schedules/de470/execute"; + _requests[3172] = new DefaultHttpContext(); + _requests[3172].RequestServices = CreateServices(); + _requests[3172].Request.Method = "GET"; + _requests[3172].Request.Path = "/subscriptions/a7ea2862-93f1-/resourceGroups/bee49f2b-2723-45e/providers/Microsoft.DocumentDB/databaseAccounts/31cbd97d-73/databases/be69ac7c-20/collections/6c00d25c-dfd0/metricDefinitions"; + _requests[3173] = new DefaultHttpContext(); + _requests[3173].RequestServices = CreateServices(); + _requests[3173].Request.Method = "GET"; + _requests[3173].Request.Path = "/subscriptions/3b4db71f-21b3-/resourceGroups/58d5977a-819a-471/providers/Microsoft.DocumentDB/databaseAccounts/3e7f569e-cf/databases/13fd4d75-7f/collections/860a95ed-6b23/metrics"; + _requests[3174] = new DefaultHttpContext(); + _requests[3174].RequestServices = CreateServices(); + _requests[3174].Request.Method = "GET"; + _requests[3174].Request.Path = "/subscriptions/bd9cf725-8ad3-/resourceGroups/28413a14-e5eb-496/providers/Microsoft.DocumentDB/databaseAccounts/5b9b1f71-86/databases/aaa4736e-23/collections/2c82d939-2803/usages"; + _requests[3175] = new DefaultHttpContext(); + _requests[3175].RequestServices = CreateServices(); + _requests[3175].Request.Method = "POST"; + _requests[3175].Request.Path = "/subscriptions/3644f811-7563-/resourceGroups/2e2d4558-ba7b-43a/providers/Microsoft.EventHub/namespaces/59737c7a-a218/disasterRecoveryConfigs/106b1/AuthorizationRules/d557b786-9313-4332-a8/listKeys"; + _requests[3176] = new DefaultHttpContext(); + _requests[3176].RequestServices = CreateServices(); + _requests[3176].Request.Method = "POST"; + _requests[3176].Request.Path = "/subscriptions/1353cee4-06e3-/resourceGroups/eb07c9ad-eb56-43b/providers/Microsoft.EventHub/namespaces/c3359845-84cd/eventhubs/4b32eb7d-67c/authorizationRules/06ac873c-2a8e-4320-ac/ListKeys"; + _requests[3177] = new DefaultHttpContext(); + _requests[3177].RequestServices = CreateServices(); + _requests[3177].Request.Method = "POST"; + _requests[3177].Request.Path = "/subscriptions/c10a246a-7bde-/resourceGroups/05675ac4-ebaf-492/providers/Microsoft.EventHub/namespaces/1289e445-f4d2/eventhubs/e6a565b4-698/authorizationRules/44f6d5c4-df93-425c-96/regenerateKeys"; + _requests[3178] = new DefaultHttpContext(); + _requests[3178].RequestServices = CreateServices(); + _requests[3178].Request.Method = "GET"; + _requests[3178].Request.Path = "/subscriptions/c3e638bf-2791-/resourceGroups/857cc8eb-c9b6-467/providers/Microsoft.Fabric.Admin/fabricLocations/c5d88f62/storageSubSystems/3ccb4bf4-b4a8-4d/storagePools/9444164b-7f/volumes"; + _requests[3179] = new DefaultHttpContext(); + _requests[3179].RequestServices = CreateServices(); + _requests[3179].Request.Method = "POST"; + _requests[3179].Request.Path = "/subscriptions/78815346-4099-/resourceGroups/d42863aa-de9c-49c/providers/Microsoft.Logic/workflows/a0fb2ea2-802/runs/b848195/actions/14a6c4fb-5/listExpressionTraces"; + _requests[3180] = new DefaultHttpContext(); + _requests[3180].RequestServices = CreateServices(); + _requests[3180].Request.Method = "GET"; + _requests[3180].Request.Path = "/subscriptions/e09bd6c7-8628-/resourceGroups/e818357d-d0b1-4d8/providers/Microsoft.Logic/workflows/c2333816-a0e/runs/7e22adf/actions/7582f492-e/repetitions"; + _requests[3181] = new DefaultHttpContext(); + _requests[3181].RequestServices = CreateServices(); + _requests[3181].Request.Method = "GET"; + _requests[3181].Request.Path = "/subscriptions/d10b0c6b-684b-/resourceGroups/62d85864-48e2-4dd/providers/Microsoft.Logic/workflows/793fca3f-b26/runs/f130fb0/actions/8b5ac3f4-0/scopeRepetitions"; + _requests[3182] = new DefaultHttpContext(); + _requests[3182].RequestServices = CreateServices(); + _requests[3182].Request.Method = "POST"; + _requests[3182].Request.Path = "/subscriptions/58dc5812-db37-/resourceGroups/40a647f4-d333-40b/providers/Microsoft.Logic/workflows/bffc222b-af9/triggers/d1e98d76-00/histories/b78a4b1a-5d/resubmit"; + _requests[3183] = new DefaultHttpContext(); + _requests[3183].RequestServices = CreateServices(); + _requests[3183].Request.Method = "POST"; + _requests[3183].Request.Path = "/subscriptions/88f45a90-4a8c-/resourceGroups/56323c6d-b2e3-49a/providers/Microsoft.Logic/workflows/1854ae76-cd4/versions/3a4171f3-/triggers/958534f7-fe/listCallbackUrl"; + _requests[3184] = new DefaultHttpContext(); + _requests[3184].RequestServices = CreateServices(); + _requests[3184].Request.Method = "POST"; + _requests[3184].Request.Path = "/subscriptions/6d93b3ad-1203-/resourceGroups/4e1467c5-54fd-485/providers/Microsoft.Media/mediaServices/ce5b02bf-4d/transforms/0c577d7c-9383/jobs/3d805cf/cancelJob"; + _requests[3185] = new DefaultHttpContext(); + _requests[3185].RequestServices = CreateServices(); + _requests[3185].Request.Method = "GET"; + _requests[3185].Request.Path = "/subscriptions/bd3cc624-b33a-/resourceGroups/93688598-aefc-44f/providers/Microsoft.Migrate/projects/fe145cd0-5d/groups/eedd371b-/assessments/d12e63e3-b755-/assessedMachines"; + _requests[3186] = new DefaultHttpContext(); + _requests[3186].RequestServices = CreateServices(); + _requests[3186].Request.Method = "POST"; + _requests[3186].Request.Path = "/subscriptions/9e35dcb8-2fcc-/resourceGroups/3a41c989-f5c1-40a/providers/Microsoft.Migrate/projects/3ad8a9e1-fc/groups/99c2b29a-/assessments/5bb4f3e8-da0e-/downloadUrl"; + _requests[3187] = new DefaultHttpContext(); + _requests[3187].RequestServices = CreateServices(); + _requests[3187].Request.Method = "POST"; + _requests[3187].Request.Path = "/subscriptions/7bc7a5b3-d06c-/resourceGroups/b03decfb-a00a-41f/providers/Microsoft.NotificationHubs/namespaces/08b8eab7-5602/notificationHubs/19f03389-85d0-445a-/AuthorizationRules/253f8189-2a96-466b-94/listKeys"; + _requests[3188] = new DefaultHttpContext(); + _requests[3188].RequestServices = CreateServices(); + _requests[3188].Request.Method = "POST"; + _requests[3188].Request.Path = "/subscriptions/e822b437-f1b7-/resourceGroups/575de95c-9400-407/providers/Microsoft.NotificationHubs/namespaces/c583a79a-f54d/notificationHubs/dc10c64f-21a3-40ed-/AuthorizationRules/74f534dd-2c06-4773-9a/regenerateKeys"; + _requests[3189] = new DefaultHttpContext(); + _requests[3189].RequestServices = CreateServices(); + _requests[3189].Request.Method = "GET"; + _requests[3189].Request.Path = "/Subscriptions/a2d8973c-7c1b-/resourceGroups/9a71f0e6-7b98-45c/providers/Microsoft.RecoveryServices/vaults/5de8808d-466/replicationFabrics/f154a9a5-9/replicationNetworks/68dfc8d4-05/replicationNetworkMappings"; + _requests[3190] = new DefaultHttpContext(); + _requests[3190].RequestServices = CreateServices(); + _requests[3190].Request.Method = "POST"; + _requests[3190].Request.Path = "/Subscriptions/badab4f8-1e31-/resourceGroups/7c841495-f190-404/providers/Microsoft.RecoveryServices/vaults/3c8367a8-615/replicationFabrics/f80a9871-1/replicationProtectionContainers/8c193946-40aa-472a-9d6b/discoverProtectableItem"; + _requests[3191] = new DefaultHttpContext(); + _requests[3191].RequestServices = CreateServices(); + _requests[3191].Request.Method = "POST"; + _requests[3191].Request.Path = "/Subscriptions/eaac5dc9-589a-/resourceGroups/6e064e1f-a0bf-47d/providers/Microsoft.RecoveryServices/vaults/93a7b9b1-d01/replicationFabrics/34865ca4-b/replicationProtectionContainers/29c03985-e941-4687-8916/remove"; + _requests[3192] = new DefaultHttpContext(); + _requests[3192].RequestServices = CreateServices(); + _requests[3192].Request.Method = "GET"; + _requests[3192].Request.Path = "/Subscriptions/157d11a1-7156-/resourceGroups/498e85a4-5707-4cb/providers/Microsoft.RecoveryServices/vaults/35dd3b4a-449/replicationFabrics/e6922171-5/replicationProtectionContainers/99a5def6-e2b7-49f7-8c97/replicationProtectableItems"; + _requests[3193] = new DefaultHttpContext(); + _requests[3193].RequestServices = CreateServices(); + _requests[3193].Request.Method = "GET"; + _requests[3193].Request.Path = "/Subscriptions/90d59166-8e40-/resourceGroups/ee386572-f930-413/providers/Microsoft.RecoveryServices/vaults/8fcee624-c36/replicationFabrics/8001f347-4/replicationProtectionContainers/55114eec-9133-448b-8efc/replicationProtectedItems"; + _requests[3194] = new DefaultHttpContext(); + _requests[3194].RequestServices = CreateServices(); + _requests[3194].Request.Method = "GET"; + _requests[3194].Request.Path = "/Subscriptions/6415bca8-1a38-/resourceGroups/a90ad8b8-7b4c-4ef/providers/Microsoft.RecoveryServices/vaults/454de207-052/replicationFabrics/c2af73b9-3/replicationProtectionContainers/51779d63-fa54-4106-9ae4/replicationProtectionContainerMappings"; + _requests[3195] = new DefaultHttpContext(); + _requests[3195].RequestServices = CreateServices(); + _requests[3195].Request.Method = "POST"; + _requests[3195].Request.Path = "/Subscriptions/ccf11884-05ed-/resourceGroups/bf808105-f575-460/providers/Microsoft.RecoveryServices/vaults/e09a3fe9-34a/replicationFabrics/108af255-0/replicationProtectionContainers/891feb1f-8837-4329-a734/switchprotection"; + _requests[3196] = new DefaultHttpContext(); + _requests[3196].RequestServices = CreateServices(); + _requests[3196].Request.Method = "POST"; + _requests[3196].Request.Path = "/Subscriptions/f9939ff3-ed08-/resourceGroups/7448cdef-7b35-4c4/providers/Microsoft.RecoveryServices/vaults/99e4aa34-83b/replicationFabrics/78635b81-b/replicationRecoveryServicesProviders/24e13330-827/refreshProvider"; + _requests[3197] = new DefaultHttpContext(); + _requests[3197].RequestServices = CreateServices(); + _requests[3197].Request.Method = "POST"; + _requests[3197].Request.Path = "/Subscriptions/6c0fec7f-f6f1-/resourceGroups/29d30888-8395-4dd/providers/Microsoft.RecoveryServices/vaults/049d1bd6-d59/replicationFabrics/2995f9d1-9/replicationRecoveryServicesProviders/8adb2fd8-241/remove"; + _requests[3198] = new DefaultHttpContext(); + _requests[3198].RequestServices = CreateServices(); + _requests[3198].Request.Method = "GET"; + _requests[3198].Request.Path = "/Subscriptions/3d26f02d-c38b-/resourceGroups/0b4f68c8-0077-42d/providers/Microsoft.RecoveryServices/vaults/55770fbd-2a1/replicationFabrics/f34f96b3-3/replicationStorageClassifications/249467f8-f8bc-4ead-9467-7/replicationStorageClassificationMappings"; + _requests[3199] = new DefaultHttpContext(); + _requests[3199].RequestServices = CreateServices(); + _requests[3199].Request.Method = "POST"; + _requests[3199].Request.Path = "/Subscriptions/1a24ac3a-2b55-/resourceGroups/601e3954-e091-4c8/providers/Microsoft.RecoveryServices/vaults/cbc5743a-/backupFabrics/7b10a4d7-d/protectionContainers/086308cd-a420/inquire"; + _requests[3200] = new DefaultHttpContext(); + _requests[3200].RequestServices = CreateServices(); + _requests[3200].Request.Method = "GET"; + _requests[3200].Request.Path = "/Subscriptions/65d217c9-e453-/resourceGroups/5413b300-8b09-466/providers/Microsoft.RecoveryServices/vaults/352f6ad7-/backupFabrics/250794b3-f/protectionContainers/68c8a111-a2bc/items"; + _requests[3201] = new DefaultHttpContext(); + _requests[3201].RequestServices = CreateServices(); + _requests[3201].Request.Method = "POST"; + _requests[3201].Request.Path = "/subscriptions/5f88459e-a804-/resourceGroups/1adb9fde-521a-452/providers/Microsoft.Relay/namespaces/9dc2dfb2-868d/hybridConnections/1036ccb8-02a1-42de-b/authorizationRules/53774ff3-ded3-4a20-81/listKeys"; + _requests[3202] = new DefaultHttpContext(); + _requests[3202].RequestServices = CreateServices(); + _requests[3202].Request.Method = "POST"; + _requests[3202].Request.Path = "/subscriptions/f9b66600-39de-/resourceGroups/9c5cdbd3-2ed4-4e4/providers/Microsoft.Relay/namespaces/f6bb9c7c-bf24/hybridConnections/092e7bf5-e036-4597-b/authorizationRules/83dfcca3-c5a0-4358-9b/regenerateKeys"; + _requests[3203] = new DefaultHttpContext(); + _requests[3203].RequestServices = CreateServices(); + _requests[3203].Request.Method = "POST"; + _requests[3203].Request.Path = "/subscriptions/c033e767-281f-/resourceGroups/70a5970e-525e-4c5/providers/Microsoft.Relay/namespaces/a94cc460-327e/wcfRelays/bdb972e9-/authorizationRules/1875328a-c769-4ad7-bd/listKeys"; + _requests[3204] = new DefaultHttpContext(); + _requests[3204].RequestServices = CreateServices(); + _requests[3204].Request.Method = "POST"; + _requests[3204].Request.Path = "/subscriptions/db41cc12-e9b2-/resourceGroups/42e19dd0-2b62-4b4/providers/Microsoft.Relay/namespaces/a2d4214d-07c1/wcfRelays/3a7b5a3f-/authorizationRules/b249f954-3c0e-4573-95/regenerateKeys"; + _requests[3205] = new DefaultHttpContext(); + _requests[3205].RequestServices = CreateServices(); + _requests[3205].Request.Method = "POST"; + _requests[3205].Request.Path = "/subscriptions/aaf4c64d-418c-/resourceGroups/f0d86f94-9a0e-4ca/providers/Microsoft.ServiceBus/namespaces/497e9628-76ef/disasterRecoveryConfigs/21785/AuthorizationRules/36529d6b-1300-4f03-aa/listKeys"; + _requests[3206] = new DefaultHttpContext(); + _requests[3206].RequestServices = CreateServices(); + _requests[3206].Request.Method = "POST"; + _requests[3206].Request.Path = "/subscriptions/3861bf46-5fd6-/resourceGroups/f3e73b1b-56c3-4df/providers/Microsoft.ServiceBus/namespaces/299d8e59-a2f4/queues/01d31797-/authorizationRules/be0431c8-8a4a-4786-86/ListKeys"; + _requests[3207] = new DefaultHttpContext(); + _requests[3207].RequestServices = CreateServices(); + _requests[3207].Request.Method = "POST"; + _requests[3207].Request.Path = "/subscriptions/21ec1a45-f0ec-/resourceGroups/8e09ed3e-98ee-4f2/providers/Microsoft.ServiceBus/namespaces/fe24d747-46a3/queues/837c22ed-/authorizationRules/d8805cad-f677-4851-a3/regenerateKeys"; + _requests[3208] = new DefaultHttpContext(); + _requests[3208].RequestServices = CreateServices(); + _requests[3208].Request.Method = "POST"; + _requests[3208].Request.Path = "/subscriptions/82f37d2b-0e0a-/resourceGroups/736ca858-3de4-443/providers/Microsoft.ServiceBus/namespaces/c92cdbcf-c826/topics/9e31c104-/authorizationRules/69cd4208-addd-4b23-b4/ListKeys"; + _requests[3209] = new DefaultHttpContext(); + _requests[3209].RequestServices = CreateServices(); + _requests[3209].Request.Method = "POST"; + _requests[3209].Request.Path = "/subscriptions/61736b67-5815-/resourceGroups/5933dca1-66c8-411/providers/Microsoft.ServiceBus/namespaces/3c242dde-d7af/topics/18e0f2e7-/authorizationRules/55098e8b-63a3-42e2-b5/regenerateKeys"; + _requests[3210] = new DefaultHttpContext(); + _requests[3210].RequestServices = CreateServices(); + _requests[3210].Request.Method = "GET"; + _requests[3210].Request.Path = "/subscriptions/8710ef24-ab2e-/resourceGroups/df6c49de-00c3-49d/providers/Microsoft.ServiceBus/namespaces/aab10e91-6815/topics/6ae006ac-/subscriptions/73ee1334-be2d-4c/rules"; + _requests[3211] = new DefaultHttpContext(); + _requests[3211].RequestServices = CreateServices(); + _requests[3211].Request.Method = "GET"; + _requests[3211].Request.Path = "/subscriptions/4b34abfe-7ae3-/resourceGroups/e04e30cf-5bcf-486/providers/Microsoft.Sql/servers/fe1da22b-3/databases/6ee7af6a-a02/advisors/4c9e30e9-ad/recommendedActions"; + _requests[3212] = new DefaultHttpContext(); + _requests[3212].RequestServices = CreateServices(); + _requests[3212].Request.Method = "GET"; + _requests[3212].Request.Path = "/subscriptions/e2c1a546-ce39-/resourceGroups/7e15b121-8a9b-484/providers/Microsoft.Sql/servers/ac57ee35-9/databases/5cdd4705-207/dataMaskingPolicies/bbcc0195-def3-4fbf-80/rules"; + _requests[3213] = new DefaultHttpContext(); + _requests[3213].RequestServices = CreateServices(); + _requests[3213].Request.Method = "POST"; + _requests[3213].Request.Path = "/subscriptions/3167a609-45bb-/resourceGroups/bb6f31ec-3afd-4e3/providers/Microsoft.Sql/servers/9ad65f69-8/databases/a3ca0d86-f94/operations/df73d77d-dc/cancel"; + _requests[3214] = new DefaultHttpContext(); + _requests[3214].RequestServices = CreateServices(); + _requests[3214].Request.Method = "POST"; + _requests[3214].Request.Path = "/subscriptions/7fb87148-ba02-/resourceGroups/66daf275-9602-420/providers/Microsoft.Sql/servers/7838a0f2-2/databases/4d105ff2-57b/replicationLinks/f71329/failover"; + _requests[3215] = new DefaultHttpContext(); + _requests[3215].RequestServices = CreateServices(); + _requests[3215].Request.Method = "POST"; + _requests[3215].Request.Path = "/subscriptions/a1565e34-4a6b-/resourceGroups/82245fd4-5dff-431/providers/Microsoft.Sql/servers/13649433-c/databases/eb82f8b0-787/replicationLinks/d17c83/forceFailoverAllowDataLoss"; + _requests[3216] = new DefaultHttpContext(); + _requests[3216].RequestServices = CreateServices(); + _requests[3216].Request.Method = "POST"; + _requests[3216].Request.Path = "/subscriptions/f606a548-1881-/resourceGroups/88f7f4e5-87ea-4fc/providers/Microsoft.Sql/servers/9a469627-8/databases/e68dabfe-463/syncGroups/ab2ab270-30d4/cancelSync"; + _requests[3217] = new DefaultHttpContext(); + _requests[3217].RequestServices = CreateServices(); + _requests[3217].Request.Method = "GET"; + _requests[3217].Request.Path = "/subscriptions/eb41620c-de55-/resourceGroups/66d7bb00-eefe-424/providers/Microsoft.Sql/servers/f65c2876-1/databases/ea0424ab-7dc/syncGroups/42a68f1d-d759/hubSchemas"; + _requests[3218] = new DefaultHttpContext(); + _requests[3218].RequestServices = CreateServices(); + _requests[3218].Request.Method = "GET"; + _requests[3218].Request.Path = "/subscriptions/cd615992-bfee-/resourceGroups/aabc2e10-6897-402/providers/Microsoft.Sql/servers/89e44895-2/databases/bdb9bbeb-036/syncGroups/b0f30d77-06a6/logs"; + _requests[3219] = new DefaultHttpContext(); + _requests[3219].RequestServices = CreateServices(); + _requests[3219].Request.Method = "POST"; + _requests[3219].Request.Path = "/subscriptions/5d0756bd-def9-/resourceGroups/62e3803b-9e5f-4be/providers/Microsoft.Sql/servers/a2981797-6/databases/5bae3efb-0d1/syncGroups/f35c9226-bd15/refreshHubSchema"; + _requests[3220] = new DefaultHttpContext(); + _requests[3220].RequestServices = CreateServices(); + _requests[3220].Request.Method = "GET"; + _requests[3220].Request.Path = "/subscriptions/7da97309-5bd8-/resourceGroups/96ce84e6-18f3-4da/providers/Microsoft.Sql/servers/6eae5644-f/databases/d2d814b7-154/syncGroups/4ef269d3-3a8a/syncMembers"; + _requests[3221] = new DefaultHttpContext(); + _requests[3221].RequestServices = CreateServices(); + _requests[3221].Request.Method = "POST"; + _requests[3221].Request.Path = "/subscriptions/7b1b3bf8-cbab-/resourceGroups/c6d408c1-dd5e-476/providers/Microsoft.Sql/servers/ee469617-5/databases/64de68f7-f07/syncGroups/183402c9-2ae6/triggerSync"; + _requests[3222] = new DefaultHttpContext(); + _requests[3222].RequestServices = CreateServices(); + _requests[3222].Request.Method = "GET"; + _requests[3222].Request.Path = "/subscriptions/ae5a2084-1967-/resourceGroups/e0abb65e-7f5c-4de/providers/Microsoft.Sql/servers/bdc00381-8/databases/5a30d8b7-9b3/topQueries/3a07e51/queryText"; + _requests[3223] = new DefaultHttpContext(); + _requests[3223].RequestServices = CreateServices(); + _requests[3223].Request.Method = "GET"; + _requests[3223].Request.Path = "/subscriptions/734bf2a1-15d7-/resourceGroups/7baa772a-d9d9-4ae/providers/Microsoft.Sql/servers/a8bd4519-5/databases/317d469a-8f5/topQueries/a5065ab/statistics"; + _requests[3224] = new DefaultHttpContext(); + _requests[3224].RequestServices = CreateServices(); + _requests[3224].Request.Method = "GET"; + _requests[3224].Request.Path = "/subscriptions/9c76e756-cdd6-/resourceGroups/1a1bebea-c2f7-409/providers/Microsoft.Sql/servers/a935a60f-3/databases/3010f1b2-716/transparentDataEncryption/769b6d15-acce-4be8-b39c-d1d40/operationResults"; + _requests[3225] = new DefaultHttpContext(); + _requests[3225].RequestServices = CreateServices(); + _requests[3225].Request.Method = "GET"; + _requests[3225].Request.Path = "/subscriptions/e6dc81c4-f374-/resourceGroups/c7e807b3-e183-43e/providers/Microsoft.Sql/servers/0bfa579a-6/databases/d24b7597-c0c/vulnerabilityAssessments/dfe547ce-b85a-4049-af82-234/scans"; + _requests[3226] = new DefaultHttpContext(); + _requests[3226].RequestServices = CreateServices(); + _requests[3226].Request.Method = "POST"; + _requests[3226].Request.Path = "/subscriptions/aadaf7f3-63bd-/resourceGroups/ddb12f08-4fe2-476/providers/Microsoft.Sql/servers/a9799200-9/elasticPools/78c71edd-b96c-4/operations/936b7b34-8f/cancel"; + _requests[3227] = new DefaultHttpContext(); + _requests[3227].RequestServices = CreateServices(); + _requests[3227].Request.Method = "GET"; + _requests[3227].Request.Path = "/subscriptions/52bdb3b4-3129-/resourceGroups/25b48256-4328-427/providers/Microsoft.Sql/servers/921708df-f/jobAgents/56df2c9d-d55/jobs/96404c0/executions"; + _requests[3228] = new DefaultHttpContext(); + _requests[3228].RequestServices = CreateServices(); + _requests[3228].Request.Method = "POST"; + _requests[3228].Request.Path = "/subscriptions/4e3d6451-7b94-/resourceGroups/b9a25250-5f31-432/providers/Microsoft.Sql/servers/1c91678f-0/jobAgents/5410c3fb-19a/jobs/414b1d8/start"; + _requests[3229] = new DefaultHttpContext(); + _requests[3229].RequestServices = CreateServices(); + _requests[3229].Request.Method = "GET"; + _requests[3229].Request.Path = "/subscriptions/65350674-c6a1-/resourceGroups/731ebc1a-1a43-4f9/providers/Microsoft.Sql/servers/214bf5ef-d/jobAgents/81ef5363-48f/jobs/5622c20/steps"; + _requests[3230] = new DefaultHttpContext(); + _requests[3230].RequestServices = CreateServices(); + _requests[3230].Request.Method = "GET"; + _requests[3230].Request.Path = "/subscriptions/68335768-c537-/resourceGroups/40c1d0c0-50a4-485/providers/Microsoft.Sql/servers/7425f1e0-d/jobAgents/e6eb55e6-0bf/jobs/32cb39a/versions"; + _requests[3231] = new DefaultHttpContext(); + _requests[3231].RequestServices = CreateServices(); + _requests[3231].Request.Method = "POST"; + _requests[3231].Request.Path = "/subscriptions/2d19d47f-88c2-/resourceGroups/224a8610-4a38-48c/providers/Microsoft.StorSimple/managers/682a8d5b-b2/devices/5c4b293a-6/backupPolicies/4f29a07a-e95b-43/backup"; + _requests[3232] = new DefaultHttpContext(); + _requests[3232].RequestServices = CreateServices(); + _requests[3232].Request.Method = "GET"; + _requests[3232].Request.Path = "/subscriptions/09540528-fc97-/resourceGroups/fec980c5-be89-421/providers/Microsoft.StorSimple/managers/552cd02a-c5/devices/e2717bdd-d/backupPolicies/fb32d6c2-3631-42/schedules"; + _requests[3233] = new DefaultHttpContext(); + _requests[3233].RequestServices = CreateServices(); + _requests[3233].Request.Method = "POST"; + _requests[3233].Request.Path = "/subscriptions/7aba571d-2132-/resourceGroups/8869e197-b8e0-412/providers/Microsoft.StorSimple/managers/721fa476-8f/devices/5b9d90f3-c/backups/76f131af-f/restore"; + _requests[3234] = new DefaultHttpContext(); + _requests[3234].RequestServices = CreateServices(); + _requests[3234].Request.Method = "POST"; + _requests[3234].Request.Path = "/subscriptions/f3a25184-d377-/resourceGroups/27a29243-4dff-481/providers/Microsoft.StorSimple/managers/3d792ffb-11/devices/bf25aa12-3/hardwareComponentGroups/2cff9445-8b93-4d22-9fdc-37/changeControllerPowerState"; + _requests[3235] = new DefaultHttpContext(); + _requests[3235].RequestServices = CreateServices(); + _requests[3235].Request.Method = "POST"; + _requests[3235].Request.Path = "/subscriptions/48b99687-3ca5-/resourceGroups/3212b21b-3715-45d/providers/Microsoft.StorSimple/managers/abf5aeec-3c/devices/be2dbb2a-f/jobs/16952db/cancel"; + _requests[3236] = new DefaultHttpContext(); + _requests[3236].RequestServices = CreateServices(); + _requests[3236].Request.Method = "GET"; + _requests[3236].Request.Path = "/subscriptions/78724a36-7415-/resourceGroups/471b5f9c-7fe0-4aa/providers/Microsoft.StorSimple/managers/28b8450f-c5/devices/abcef751-f/volumeContainers/57eb6a88-1d1d-4707-/metrics"; + _requests[3237] = new DefaultHttpContext(); + _requests[3237].RequestServices = CreateServices(); + _requests[3237].Request.Method = "GET"; + _requests[3237].Request.Path = "/subscriptions/e5960681-f855-/resourceGroups/85c8a4ff-8748-439/providers/Microsoft.StorSimple/managers/8eb1d73d-14/devices/7482ed86-9/volumeContainers/45486520-2ffa-4fcd-/metricsDefinitions"; + _requests[3238] = new DefaultHttpContext(); + _requests[3238].RequestServices = CreateServices(); + _requests[3238].Request.Method = "GET"; + _requests[3238].Request.Path = "/subscriptions/1895ea2b-3433-/resourceGroups/b1373a4f-fa36-4d3/providers/Microsoft.StorSimple/managers/73a8c75b-09/devices/444c34e9-b/volumeContainers/07475839-08b4-4830-/volumes"; + _requests[3239] = new DefaultHttpContext(); + _requests[3239].RequestServices = CreateServices(); + _requests[3239].Request.Method = "POST"; + _requests[3239].Request.Path = "/subscriptions/13904e73-be02-/resourcegroups/790f8797-8533-427/providers/Microsoft.Update.Admin/updateLocations/53942faa-0300-/updates/42312ea6-b/updateRuns/9019e5e/rerun"; + _requests[3240] = new DefaultHttpContext(); + _requests[3240].RequestServices = CreateServices(); + _requests[3240].Request.Method = "GET"; + _requests[3240].Request.Path = "/subscriptions/895d605c-e42b-/resourceGroups/a692cbfb-22de-49a/providers/microsoft.visualstudio/account/94d3f46d-d36e-4c/project/db8dc482-e8a/subContainers/c82ef049-2740-4d/status"; + _requests[3241] = new DefaultHttpContext(); + _requests[3241].RequestServices = CreateServices(); + _requests[3241].Request.Method = "GET"; + _requests[3241].Request.Path = "/subscriptions/9337ec0c-b023-/resourceGroups/5c80c3eb-833d-4d1/providers/Microsoft.Web/hostingEnvironments/05f69/workerPools/fe73fa06-71b8-/instances/5f599767/metricdefinitions"; + _requests[3242] = new DefaultHttpContext(); + _requests[3242].RequestServices = CreateServices(); + _requests[3242].Request.Method = "GET"; + _requests[3242].Request.Path = "/subscriptions/35268876-7679-/resourceGroups/ddbd2aa1-ce3e-49b/providers/Microsoft.Web/hostingEnvironments/a8164/workerPools/37c5e33e-f984-/instances/f60df3b3/metrics"; + _requests[3243] = new DefaultHttpContext(); + _requests[3243].RequestServices = CreateServices(); + _requests[3243].Request.Method = "POST"; + _requests[3243].Request.Path = "/subscriptions/f743a7e3-d26e-/resourceGroups/17a5888f-2014-430/providers/Microsoft.Web/serverfarms/708d3/hybridConnectionNamespaces/44a50c34-24fa/relays/a266bbd5-/listKeys"; + _requests[3244] = new DefaultHttpContext(); + _requests[3244].RequestServices = CreateServices(); + _requests[3244].Request.Method = "GET"; + _requests[3244].Request.Path = "/subscriptions/0cda6793-6c67-/resourceGroups/c4293037-4903-49b/providers/Microsoft.Web/serverfarms/389a7/hybridConnectionNamespaces/822184ef-c59c/relays/f922d311-/sites"; + _requests[3245] = new DefaultHttpContext(); + _requests[3245].RequestServices = CreateServices(); + _requests[3245].Request.Method = "POST"; + _requests[3245].Request.Path = "/subscriptions/2d5c0bba-1705-/resourceGroups/4a491a94-85af-4c1/providers/Microsoft.Web/sites/bb1b7/hybridConnectionNamespaces/0800f08c-e283/relays/0558f7fe-/listKeys"; + _requests[3246] = new DefaultHttpContext(); + _requests[3246].RequestServices = CreateServices(); + _requests[3246].Request.Method = "GET"; + _requests[3246].Request.Path = "/subscriptions/19b04acd-7cd7-/resourceGroups/9c3ced54-d794-41d/providers/Microsoft.Web/sites/95ff3/instances/4ea15e60-1/processes/4a772059-/dump"; + _requests[3247] = new DefaultHttpContext(); + _requests[3247].RequestServices = CreateServices(); + _requests[3247].Request.Method = "GET"; + _requests[3247].Request.Path = "/subscriptions/482fc90a-6a6a-/resourceGroups/289b7d9a-e975-48f/providers/Microsoft.Web/sites/77f8f/instances/9b7bb695-4/processes/52a67fae-/modules"; + _requests[3248] = new DefaultHttpContext(); + _requests[3248].RequestServices = CreateServices(); + _requests[3248].Request.Method = "GET"; + _requests[3248].Request.Path = "/subscriptions/72b1a945-e099-/resourceGroups/7520f37e-d7a0-45b/providers/Microsoft.Web/sites/e7122/instances/9cc076c5-4/processes/1516d44c-/threads"; + _requests[3249] = new DefaultHttpContext(); + _requests[3249].RequestServices = CreateServices(); + _requests[3249].Request.Method = "POST"; + _requests[3249].Request.Path = "/subscriptions/ccefe605-93da-/resourceGroups/ad6b82ab-06f1-495/providers/Microsoft.Web/sites/f68b3/slots/5d821/backups/3f281a97/list"; + _requests[3250] = new DefaultHttpContext(); + _requests[3250].RequestServices = CreateServices(); + _requests[3250].Request.Method = "POST"; + _requests[3250].Request.Path = "/subscriptions/b5d0cd11-81d7-/resourceGroups/ae300437-049e-44a/providers/Microsoft.Web/sites/408b5/slots/3aa1a/backups/aa3d191b/restore"; + _requests[3251] = new DefaultHttpContext(); + _requests[3251].RequestServices = CreateServices(); + _requests[3251].Request.Method = "POST"; + _requests[3251].Request.Path = "/subscriptions/0fe93553-1991-/resourceGroups/7077246f-41bc-42a/providers/Microsoft.Web/sites/c70df/slots/d2110/continuouswebjobs/9703aeaf-4/start"; + _requests[3252] = new DefaultHttpContext(); + _requests[3252].RequestServices = CreateServices(); + _requests[3252].Request.Method = "POST"; + _requests[3252].Request.Path = "/subscriptions/a9f64799-a019-/resourceGroups/5a64c8fb-fcf3-4ad/providers/Microsoft.Web/sites/91371/slots/b09f7/continuouswebjobs/5db4bb25-a/stop"; + _requests[3253] = new DefaultHttpContext(); + _requests[3253].RequestServices = CreateServices(); + _requests[3253].Request.Method = "GET"; + _requests[3253].Request.Path = "/subscriptions/5e8b2785-e846-/resourceGroups/27cad519-4842-4ee/providers/Microsoft.Web/sites/db27c/slots/80a4f/deployments/dd73b/log"; + _requests[3254] = new DefaultHttpContext(); + _requests[3254].RequestServices = CreateServices(); + _requests[3254].Request.Method = "POST"; + _requests[3254].Request.Path = "/subscriptions/9f180fb7-a46d-/resourceGroups/5d22366c-c201-4a0/providers/Microsoft.Web/sites/e99e8/slots/e1f7d/functions/f478bde6-890/listsecrets"; + _requests[3255] = new DefaultHttpContext(); + _requests[3255].RequestServices = CreateServices(); + _requests[3255].Request.Method = "GET"; + _requests[3255].Request.Path = "/subscriptions/5e912b4c-6db1-/resourceGroups/1637e4dc-134f-4bb/providers/Microsoft.Web/sites/9f0cd/slots/35abb/instances/b146ecf6-0/deployments"; + _requests[3256] = new DefaultHttpContext(); + _requests[3256].RequestServices = CreateServices(); + _requests[3256].Request.Method = "GET"; + _requests[3256].Request.Path = "/subscriptions/32777f6f-416c-/resourceGroups/7fc6a1c5-7cb0-4fd/providers/Microsoft.Web/sites/5c9fb/slots/59ce7/instances/2edcef8a-5/processes"; + _requests[3257] = new DefaultHttpContext(); + _requests[3257].RequestServices = CreateServices(); + _requests[3257].Request.Method = "GET"; + _requests[3257].Request.Path = "/subscriptions/9f27d826-fc69-/resourceGroups/1b2d3921-fc62-44a/providers/Microsoft.Web/sites/7c6a0/slots/f438f/processes/4bdb517d-/dump"; + _requests[3258] = new DefaultHttpContext(); + _requests[3258].RequestServices = CreateServices(); + _requests[3258].Request.Method = "GET"; + _requests[3258].Request.Path = "/subscriptions/40b5ec97-c05e-/resourceGroups/533efe38-ba69-43c/providers/Microsoft.Web/sites/bcc4a/slots/eab85/processes/9f8389a8-/modules"; + _requests[3259] = new DefaultHttpContext(); + _requests[3259].RequestServices = CreateServices(); + _requests[3259].Request.Method = "GET"; + _requests[3259].Request.Path = "/subscriptions/654c9b26-5f51-/resourceGroups/332662fa-3ed6-42a/providers/Microsoft.Web/sites/e99ea/slots/ff21b/processes/018049a8-/threads"; + _requests[3260] = new DefaultHttpContext(); + _requests[3260].RequestServices = CreateServices(); + _requests[3260].Request.Method = "GET"; + _requests[3260].Request.Path = "/subscriptions/5be6bd47-2be7-/resourceGroups/0483e947-0efb-4c3/providers/Microsoft.Web/sites/305a4/slots/42768/triggeredwebjobs/f99256db-b/history"; + _requests[3261] = new DefaultHttpContext(); + _requests[3261].RequestServices = CreateServices(); + _requests[3261].Request.Method = "POST"; + _requests[3261].Request.Path = "/subscriptions/59a57df1-8098-/resourceGroups/432050a9-3059-42e/providers/Microsoft.Web/sites/e3d86/slots/523a3/triggeredwebjobs/fea833ba-9/run"; + _requests[3262] = new DefaultHttpContext(); + _requests[3262].RequestServices = CreateServices(); + _requests[3262].Request.Method = "POST"; + _requests[3262].Request.Path = "/subscriptions/c42c19b9-38a7-/resourceGroups/c5a5913e-1b07-4e5/providers/Microsoft.Web/sites/2ecbc170/diagnostics/aac3040a-64d9-4eb3/analyses/98d56af7-e5c/execute"; + _requests[3263] = new DefaultHttpContext(); + _requests[3263].RequestServices = CreateServices(); + _requests[3263].Request.Method = "POST"; + _requests[3263].Request.Path = "/subscriptions/99b9da81-5a3d-/resourceGroups/8d73bdb3-d58e-4fc/providers/Microsoft.Web/sites/1ce620e7/diagnostics/421e668f-b62c-485f/detectors/45b9ddd0-f86/execute"; + _requests[3264] = new DefaultHttpContext(); + _requests[3264].RequestServices = CreateServices(); + _requests[3264].Request.Method = "GET"; + _requests[3264].Request.Path = "/subscriptions/cd3b05ee-6321-/resourceGroups/0c308bb8-a782-44e/providers/Microsoft.Web/sites/56d75ab7/slots/3f037/diagnostics/8d4d4bcd-e50b-4205/analyses"; + _requests[3265] = new DefaultHttpContext(); + _requests[3265].RequestServices = CreateServices(); + _requests[3265].Request.Method = "GET"; + _requests[3265].Request.Path = "/subscriptions/4ae6a113-4987-/resourceGroups/24cd8d74-9256-4ac/providers/Microsoft.Web/sites/8c882451/slots/e33f5/diagnostics/6268321b-f1a2-4855/detectors"; + _requests[3266] = new DefaultHttpContext(); + _requests[3266].RequestServices = CreateServices(); + _requests[3266].Request.Method = "GET"; + _requests[3266].Request.Path = "/subscriptions/3c1d3a2e-9b3e-/resourceGroups/ee7cceff-904f-4c6/providers/Microsoft.DocumentDB/databaseAccounts/928dd46f-3a/databases/1fd826e9-a9/collections/c9cdf95e-f9f3/partitions/metrics"; + _requests[3267] = new DefaultHttpContext(); + _requests[3267].RequestServices = CreateServices(); + _requests[3267].Request.Method = "GET"; + _requests[3267].Request.Path = "/subscriptions/b32d4eeb-a632-/resourceGroups/1a6ef57c-8fc8-415/providers/Microsoft.DocumentDB/databaseAccounts/57322eea-f8/databases/7fb0d785-33/collections/8dc0ac50-0a1d/partitions/usages"; + _requests[3268] = new DefaultHttpContext(); + _requests[3268].RequestServices = CreateServices(); + _requests[3268].Request.Method = "GET"; + _requests[3268].Request.Path = "/subscriptions/45de3e6c-0929-/resourceGroups/42fb9696-b71b-41a/providers/Microsoft.DocumentDB/databaseAccounts/f9dcc9cc-86/sourceRegion/01d1728e-b9d/targetRegion/384f2a11-2cf/percentile/metrics"; + _requests[3269] = new DefaultHttpContext(); + _requests[3269].RequestServices = CreateServices(); + _requests[3269].Request.Method = "PUT"; + _requests[3269].Request.Path = "/subscriptions/c79f0ca7-6132-/resourceGroups/e13fff10-6613-4c6/providers/Microsoft.Web/sites/af42a/slots/75fa4/instances/69dcf1d9-2/extensions/MSDeploy"; + _requests[3270] = new DefaultHttpContext(); + _requests[3270].RequestServices = CreateServices(); + _requests[3270].Request.Method = "GET"; + _requests[3270].Request.Path = "/subscriptions/345bc160-cc55-/resourceGroups/11cf83ba-69dc-454/providers/Microsoft.Web/sites/512b8/slots/e4f48/instances/a57fcf68-c/extensions/MSDeploy/log"; + _requests[3271] = new DefaultHttpContext(); + _requests[3271].RequestServices = CreateServices(); + _requests[3271].Request.Method = "DELETE"; + _requests[3271].Request.Path = "/subscriptions/82e24228-41be-/resourceGroups/840d9fba-74d8-496/providers/Microsoft.ApiManagement/service/0770ad61-78/apis/93887/diagnostics/65e652e0-3c7/loggers/9ac763ba"; + _requests[3272] = new DefaultHttpContext(); + _requests[3272].RequestServices = CreateServices(); + _requests[3272].Request.Method = "DELETE"; + _requests[3272].Request.Path = "/subscriptions/ab94d6ce-edb3-/resourceGroups/a2b0e770-b7e6-419/providers/Microsoft.ApiManagement/service/e3e7e0c2-8d/apis/0d4a8/issues/4d42fc5/attachments/f078b643-962"; + _requests[3273] = new DefaultHttpContext(); + _requests[3273].RequestServices = CreateServices(); + _requests[3273].Request.Method = "DELETE"; + _requests[3273].Request.Path = "/subscriptions/f54662cc-2644-/resourceGroups/cf4cc797-768b-442/providers/Microsoft.ApiManagement/service/b697a61d-0a/apis/9b937/issues/82aa7f2/comments/8bb9cd94-"; + _requests[3274] = new DefaultHttpContext(); + _requests[3274].RequestServices = CreateServices(); + _requests[3274].Request.Method = "DELETE"; + _requests[3274].Request.Path = "/subscriptions/7b21f798-401c-/resourceGroups/e0f22333-4b38-46c/providers/Microsoft.ApiManagement/service/3b33879e-1d/apis/f3539/operations/2e0496aa-a6/policies/6d55532f"; + _requests[3275] = new DefaultHttpContext(); + _requests[3275].RequestServices = CreateServices(); + _requests[3275].Request.Method = "DELETE"; + _requests[3275].Request.Path = "/subscriptions/d73d8056-13e5-/resourceGroups/85dade2d-952c-447/providers/Microsoft.ApiManagement/service/244b0a0a-d1/apis/998a2/operations/de042803-5b/tags/12629"; + _requests[3276] = new DefaultHttpContext(); + _requests[3276].RequestServices = CreateServices(); + _requests[3276].Request.Method = "GET"; + _requests[3276].Request.Path = "/subscriptions/34b937a8-2a52-/resourceGroups/4c1660a0-30c0-456/providers/Microsoft.Automation/automationAccounts/2291cbf4-690e-4792-81/sourceControls/a25483d1-a4a5-437/sourceControlSyncJobs/296e1a65-516e-44bf-a68/streams/1c6d7507"; + _requests[3277] = new DefaultHttpContext(); + _requests[3277].RequestServices = CreateServices(); + _requests[3277].Request.Method = "GET"; + _requests[3277].Request.Path = "/subscriptions/dfbae508-68ba-/resourceGroups/8611fddb-96c7-42d/providers/microsoft.Compute/virtualMachineScaleSets/2da159b2-48b2-4f8c-938a-4f/virtualMachines/4e85bc78-2d40-4a78-/networkInterfaces/cb0b2634-2231-4c7f-8/ipConfigurations/e537b81b-a9e2-404e-"; + _requests[3278] = new DefaultHttpContext(); + _requests[3278].RequestServices = CreateServices(); + _requests[3278].Request.Method = "GET"; + _requests[3278].Request.Path = "/subscriptions/08daef3a-7321-/resourceGroups/b6355243-074c-400/providers/Microsoft.Fabric.Admin/fabricLocations/44c7af1b/storageSubSystems/e8e89cff-6290-40/storagePools/3cd583f3-25/volumes/a25a0c"; + _requests[3279] = new DefaultHttpContext(); + _requests[3279].RequestServices = CreateServices(); + _requests[3279].Request.Method = "GET"; + _requests[3279].Request.Path = "/subscriptions/240ba9e5-afdb-/resourceGroups/4b3af8a0-6e3f-449/providers/Microsoft.Logic/workflows/0953c643-1fe/runs/08b45f7/actions/40c2edab-e/repetitions/bb1261d8-194d-"; + _requests[3280] = new DefaultHttpContext(); + _requests[3280].RequestServices = CreateServices(); + _requests[3280].Request.Method = "GET"; + _requests[3280].Request.Path = "/subscriptions/5d5ea090-1f99-/resourceGroups/e45256c6-9c37-42a/providers/Microsoft.Logic/workflows/b17fb4a4-27b/runs/5178f2d/actions/0e142afd-5/scopeRepetitions/44915f53-7c0f-"; + _requests[3281] = new DefaultHttpContext(); + _requests[3281].RequestServices = CreateServices(); + _requests[3281].Request.Method = "GET"; + _requests[3281].Request.Path = "/subscriptions/37adecac-b931-/resourceGroups/ed135a8b-7bad-4ff/providers/Microsoft.Migrate/projects/863c2681-97/groups/e6ba707c-/assessments/324b73c8-e942-/assessedMachines/82fb11b6-45ae-417c-"; + _requests[3282] = new DefaultHttpContext(); + _requests[3282].RequestServices = CreateServices(); + _requests[3282].Request.Method = "PATCH"; + _requests[3282].Request.Path = "/Subscriptions/e3677787-5ee9-/resourceGroups/8e62012c-7823-482/providers/Microsoft.RecoveryServices/vaults/2b12516d-d67/replicationFabrics/9596f4d9-7/replicationNetworks/3f5e53f0-c3/replicationNetworkMappings/261f4e38-cb80-4e4c"; + _requests[3283] = new DefaultHttpContext(); + _requests[3283].RequestServices = CreateServices(); + _requests[3283].Request.Method = "GET"; + _requests[3283].Request.Path = "/Subscriptions/429f2bc3-edd3-/resourceGroups/9ea8c7eb-d9e7-49b/providers/Microsoft.RecoveryServices/vaults/9ee8ad32-336/replicationFabrics/2da6b264-f/replicationProtectionContainers/bf6594b5-0145-430f-9e1a/replicationProtectableItems/cacdef6d-0279-4434-"; + _requests[3284] = new DefaultHttpContext(); + _requests[3284].RequestServices = CreateServices(); + _requests[3284].Request.Method = "PATCH"; + _requests[3284].Request.Path = "/Subscriptions/006a9691-7400-/resourceGroups/5da91516-5c7b-48f/providers/Microsoft.RecoveryServices/vaults/7c1f6ce0-df9/replicationFabrics/a9a80053-5/replicationProtectionContainers/5bcd8252-d4b0-4d7d-a9a0/replicationProtectedItems/e53738ff-ca70-4489-b4e8-803"; + _requests[3285] = new DefaultHttpContext(); + _requests[3285].RequestServices = CreateServices(); + _requests[3285].Request.Method = "PATCH"; + _requests[3285].Request.Path = "/Subscriptions/e196729e-a67b-/resourceGroups/772987c3-9cef-478/providers/Microsoft.RecoveryServices/vaults/2a7dca5f-a34/replicationFabrics/5ba7242d-1/replicationProtectionContainers/4229ae6f-71f3-45e6-977c/replicationProtectionContainerMappings/20851fbe-3a"; + _requests[3286] = new DefaultHttpContext(); + _requests[3286].RequestServices = CreateServices(); + _requests[3286].Request.Method = "DELETE"; + _requests[3286].Request.Path = "/Subscriptions/409eeb58-a61e-/resourceGroups/ebff00a4-5fcd-4bd/providers/Microsoft.RecoveryServices/vaults/1a5ced79-df2/replicationFabrics/6d582550-0/replicationStorageClassifications/5d9fbafd-1971-458c-839c-7/replicationStorageClassificationMappings/78d9c540-fcb7-4ad2-8ece-0382b1ad"; + _requests[3287] = new DefaultHttpContext(); + _requests[3287].RequestServices = CreateServices(); + _requests[3287].Request.Method = "GET"; + _requests[3287].Request.Path = "/Subscriptions/57736cd2-37e8-/resourceGroups/ddfdde18-c291-49b/providers/Microsoft.RecoveryServices/vaults/af63fb48-/backupFabrics/567a7463-d/protectionContainers/9c2eabea-2ea5/operationResults/7ddcbefc-c9"; + _requests[3288] = new DefaultHttpContext(); + _requests[3288].RequestServices = CreateServices(); + _requests[3288].Request.Method = "DELETE"; + _requests[3288].Request.Path = "/Subscriptions/950dd074-5023-/resourceGroups/cb00f173-a8ef-44e/providers/Microsoft.RecoveryServices/vaults/cba8805e-/backupFabrics/984a85d4-2/protectionContainers/94327993-4652/protectedItems/16d4b02b-c12f-492"; + _requests[3289] = new DefaultHttpContext(); + _requests[3289].RequestServices = CreateServices(); + _requests[3289].Request.Method = "GET"; + _requests[3289].Request.Path = "/subscriptions/b10b1c55-a7e3-/resourceGroups/dd1e8046-1727-47e/providers/Microsoft.ServiceBus/namespaces/574186c3-2f95/topics/c67ebfff-/subscriptions/a759a0b7-5746-4e/rules/2fdf0611"; + _requests[3290] = new DefaultHttpContext(); + _requests[3290].RequestServices = CreateServices(); + _requests[3290].Request.Method = "PATCH"; + _requests[3290].Request.Path = "/subscriptions/ecad8de6-2841-/resourceGroups/d76cc264-1be9-4d7/providers/Microsoft.Sql/servers/c86b8e91-6/databases/9651f331-230/advisors/6c956b5e-e3/recommendedActions/061914a6-9323-4c8f-94"; + _requests[3291] = new DefaultHttpContext(); + _requests[3291].RequestServices = CreateServices(); + _requests[3291].Request.Method = "PUT"; + _requests[3291].Request.Path = "/subscriptions/524e79ff-ab5e-/resourceGroups/95f6f9e0-2039-46e/providers/Microsoft.Sql/servers/89d04b35-9/databases/677dd0b1-ba8/dataMaskingPolicies/32885f92-530b-4eca-91/rules/4e9ccb5f-2753-4f6c-"; + _requests[3292] = new DefaultHttpContext(); + _requests[3292].RequestServices = CreateServices(); + _requests[3292].Request.Method = "PATCH"; + _requests[3292].Request.Path = "/subscriptions/d74c5cb2-2efe-/resourceGroups/bbebb15c-a959-432/providers/Microsoft.Sql/servers/8dbfb356-5/databases/262cf280-28d/syncGroups/7d240c7c-75cd/syncMembers/9f8fe93c-0083-"; + _requests[3293] = new DefaultHttpContext(); + _requests[3293].RequestServices = CreateServices(); + _requests[3293].Request.Method = "GET"; + _requests[3293].Request.Path = "/subscriptions/58cbac75-2c8e-/resourceGroups/99444cd3-d9cb-47f/providers/Microsoft.Sql/servers/742e1c76-5/databases/36e8b892-5d6/vulnerabilityAssessments/33323411-4a91-4f24-b158-400/scans/9df655"; + _requests[3294] = new DefaultHttpContext(); + _requests[3294].RequestServices = CreateServices(); + _requests[3294].Request.Method = "PUT"; + _requests[3294].Request.Path = "/subscriptions/0e0c37f7-51a4-/resourceGroups/113705e0-2ced-4ac/providers/Microsoft.Sql/servers/6c6e15d5-1/jobAgents/7a54a56f-27c/jobs/178f1bb/executions/d5744014-498c-"; + _requests[3295] = new DefaultHttpContext(); + _requests[3295].RequestServices = CreateServices(); + _requests[3295].Request.Method = "DELETE"; + _requests[3295].Request.Path = "/subscriptions/24b61a6e-a0e0-/resourceGroups/fd0506a9-23ac-4a6/providers/Microsoft.Sql/servers/dc2cc613-8/jobAgents/2a3d1308-819/jobs/f9e89a6/steps/5c52ab40"; + _requests[3296] = new DefaultHttpContext(); + _requests[3296].RequestServices = CreateServices(); + _requests[3296].Request.Method = "GET"; + _requests[3296].Request.Path = "/subscriptions/77bea82e-9a09-/resourceGroups/213f008f-3d19-4cb/providers/Microsoft.Sql/servers/60299e17-d/jobAgents/47724f77-68f/jobs/e11f415/versions/3a251be1-a"; + _requests[3297] = new DefaultHttpContext(); + _requests[3297].RequestServices = CreateServices(); + _requests[3297].Request.Method = "DELETE"; + _requests[3297].Request.Path = "/subscriptions/2614854f-b6e9-/resourceGroups/dc2a38c4-80fc-4bb/providers/Microsoft.StorSimple/managers/62ac2c3e-49/devices/977bb1d9-7/backupPolicies/75dfa573-936c-4f/schedules/8c293e10-9a93-4280"; + _requests[3298] = new DefaultHttpContext(); + _requests[3298].RequestServices = CreateServices(); + _requests[3298].Request.Method = "DELETE"; + _requests[3298].Request.Path = "/subscriptions/c7238f0e-8ba1-/resourceGroups/7d290464-d42b-46a/providers/Microsoft.StorSimple/managers/eee104ad-d5/devices/2b99fb47-5/volumeContainers/3cdbfef9-062a-4e5b-/volumes/c35d93de-e"; + _requests[3299] = new DefaultHttpContext(); + _requests[3299].RequestServices = CreateServices(); + _requests[3299].Request.Method = "GET"; + _requests[3299].Request.Path = "/subscriptions/d923d8ed-ad12-/resourceGroups/716f6f40-dd50-415/providers/Microsoft.Web/sites/29336/instances/8eb0af75-c/processes/19ef260d-/modules/af3f8078-69"; + _requests[3300] = new DefaultHttpContext(); + _requests[3300].RequestServices = CreateServices(); + _requests[3300].Request.Method = "GET"; + _requests[3300].Request.Path = "/subscriptions/bf32ee96-fa54-/resourceGroups/c65e0dca-9be6-4ef/providers/Microsoft.Web/sites/9de5f/instances/1a87e388-9/processes/13823742-/threads/7496bdac"; + _requests[3301] = new DefaultHttpContext(); + _requests[3301].RequestServices = CreateServices(); + _requests[3301].Request.Method = "PATCH"; + _requests[3301].Request.Path = "/subscriptions/6a0bdc1e-cbbf-/resourceGroups/1bb32325-0371-488/providers/Microsoft.Web/sites/08dc9/slots/3cd22/hybridConnectionNamespaces/6446c1a4-a34e/relays/653e2f6c-"; + _requests[3302] = new DefaultHttpContext(); + _requests[3302].RequestServices = CreateServices(); + _requests[3302].Request.Method = "DELETE"; + _requests[3302].Request.Path = "/subscriptions/24837b3c-b76d-/resourceGroups/463a1799-8760-40a/providers/Microsoft.Web/sites/d5398/slots/064aa/instances/8d0e4a04-b/deployments/92ac7"; + _requests[3303] = new DefaultHttpContext(); + _requests[3303].RequestServices = CreateServices(); + _requests[3303].Request.Method = "DELETE"; + _requests[3303].Request.Path = "/subscriptions/3cb0a997-c2b5-/resourceGroups/9dfc9631-5112-481/providers/Microsoft.Web/sites/13765/slots/41c42/instances/f23bcc37-3/processes/18257212-"; + _requests[3304] = new DefaultHttpContext(); + _requests[3304].RequestServices = CreateServices(); + _requests[3304].Request.Method = "GET"; + _requests[3304].Request.Path = "/subscriptions/c01aa2f5-822e-/resourceGroups/9afdaf3e-b3f0-41f/providers/Microsoft.Web/sites/ab233/slots/a6d98/processes/110f5a92-/modules/40247590-24"; + _requests[3305] = new DefaultHttpContext(); + _requests[3305].RequestServices = CreateServices(); + _requests[3305].Request.Method = "GET"; + _requests[3305].Request.Path = "/subscriptions/7737067d-b186-/resourceGroups/77c17f0d-220d-49e/providers/Microsoft.Web/sites/51dec/slots/7f74b/processes/63541419-/threads/6d98d173"; + _requests[3306] = new DefaultHttpContext(); + _requests[3306].RequestServices = CreateServices(); + _requests[3306].Request.Method = "GET"; + _requests[3306].Request.Path = "/subscriptions/3d671d37-3ea6-/resourceGroups/1aa3ec40-1f39-465/providers/Microsoft.Web/sites/27c4f/slots/2c5c6/triggeredwebjobs/1fce5928-f/history/78e04"; + _requests[3307] = new DefaultHttpContext(); + _requests[3307].RequestServices = CreateServices(); + _requests[3307].Request.Method = "PATCH"; + _requests[3307].Request.Path = "/subscriptions/fba113c8-5c02-/resourceGroups/4ce9bc60-1024-465/providers/Microsoft.Web/sites/491a2/slots/25c7b/virtualNetworkConnections/5ae26e60/gateways/134d3ae4-9d"; + _requests[3308] = new DefaultHttpContext(); + _requests[3308].RequestServices = CreateServices(); + _requests[3308].Request.Method = "GET"; + _requests[3308].Request.Path = "/subscriptions/6d2864d2-693d-/resourceGroups/863f98c2-e254-464/providers/Microsoft.Web/sites/e2934230/slots/6e7fa/diagnostics/dfa8ec17-a357-4974/analyses/43442a7a-46a"; + _requests[3309] = new DefaultHttpContext(); + _requests[3309].RequestServices = CreateServices(); + _requests[3309].Request.Method = "GET"; + _requests[3309].Request.Path = "/subscriptions/a3b7271d-49f6-/resourceGroups/2d9108d4-47b7-4ec/providers/Microsoft.Web/sites/75414acb/slots/c44e2/diagnostics/5211737b-2e81-4026/detectors/cb2a1b88-7a0"; + _requests[3310] = new DefaultHttpContext(); + _requests[3310].RequestServices = CreateServices(); + _requests[3310].Request.Method = "GET"; + _requests[3310].Request.Path = "/subscriptions/b5ae4868-9589-/resourceGroups/d2e7f64f-cd54-485/providers/Microsoft.Compute/virtualMachineScaleSets/675714cb-af6a-4728-ab7c-7a/virtualMachines/65a3cee6-d72d-4934-/networkInterfaces/39edf72a-b992-408b-9/ipconfigurations/ff2bdb08-f2dd-46f0-/publicipaddresses"; + _requests[3311] = new DefaultHttpContext(); + _requests[3311].RequestServices = CreateServices(); + _requests[3311].Request.Method = "GET"; + _requests[3311].Request.Path = "/subscriptions/740df3eb-bff3-/resourceGroups/6ff989a0-cabd-4e2/providers/Microsoft.DocumentDB/databaseAccounts/61e9d98d-86/databases/f47b6047-72/collections/a7f7701f-45d7/partitionKeyRangeId/48bb26af-fc6e-41ca-/metrics"; + _requests[3312] = new DefaultHttpContext(); + _requests[3312].RequestServices = CreateServices(); + _requests[3312].Request.Method = "GET"; + _requests[3312].Request.Path = "/subscriptions/e601dba0-8d78-/resourceGroups/58a4b8a5-11d4-4e8/providers/Microsoft.DocumentDB/databaseAccounts/e9b6c14a-06/region/7503dc/databases/d8a99531-e3/collections/4e8a809f-e913/metrics"; + _requests[3313] = new DefaultHttpContext(); + _requests[3313].RequestServices = CreateServices(); + _requests[3313].Request.Method = "POST"; + _requests[3313].Request.Path = "/subscriptions/67fbaeb4-3ae2-/resourceGroups/3dd62024-0fb9-496/providers/Microsoft.Logic/workflows/cae6df12-a33/runs/e602b73/actions/7a5f2679-1/repetitions/5b390a45-65cd-/listExpressionTraces"; + _requests[3314] = new DefaultHttpContext(); + _requests[3314].RequestServices = CreateServices(); + _requests[3314].Request.Method = "POST"; + _requests[3314].Request.Path = "/Subscriptions/f4437b9f-1af8-/resourceGroups/1e1dab76-5b98-427/providers/Microsoft.RecoveryServices/vaults/0c3a07bf-6c8/replicationFabrics/1084bb37-0/replicationProtectionContainers/0b91d102-a436-4082-8c6a/replicationProtectedItems/984ce354-abdb-4a59-a591-289/applyRecoveryPoint"; + _requests[3315] = new DefaultHttpContext(); + _requests[3315].RequestServices = CreateServices(); + _requests[3315].Request.Method = "POST"; + _requests[3315].Request.Path = "/Subscriptions/44c9d123-c1ed-/resourceGroups/299514f7-d3e3-405/providers/Microsoft.RecoveryServices/vaults/cf0ad826-b81/replicationFabrics/1607bc50-7/replicationProtectionContainers/00162745-7009-406a-b466/replicationProtectedItems/334845a4-bb8c-4dc5-a622-5e7/failoverCommit"; + _requests[3316] = new DefaultHttpContext(); + _requests[3316].RequestServices = CreateServices(); + _requests[3316].Request.Method = "POST"; + _requests[3316].Request.Path = "/Subscriptions/a2aa4e86-f045-/resourceGroups/3b06dcd1-9373-41b/providers/Microsoft.RecoveryServices/vaults/26b230aa-46f/replicationFabrics/19238e14-3/replicationProtectionContainers/b2b819f4-6feb-42f0-9241/replicationProtectedItems/b75aa069-c74d-47fd-b73e-329/plannedFailover"; + _requests[3317] = new DefaultHttpContext(); + _requests[3317].RequestServices = CreateServices(); + _requests[3317].Request.Method = "GET"; + _requests[3317].Request.Path = "/Subscriptions/f4b3a1bf-ec92-/resourceGroups/80039306-3124-41a/providers/Microsoft.RecoveryServices/vaults/17cd76b5-699/replicationFabrics/be6d9dce-a/replicationProtectionContainers/8e1b1d63-9780-47e0-a7d8/replicationProtectedItems/b19b73a1-5b2f-4421-a3fc-a72/recoveryPoints"; + _requests[3318] = new DefaultHttpContext(); + _requests[3318].RequestServices = CreateServices(); + _requests[3318].Request.Method = "POST"; + _requests[3318].Request.Path = "/Subscriptions/7d25e136-4700-/resourceGroups/f83f7ea4-ed46-481/providers/Microsoft.RecoveryServices/vaults/9a998233-368/replicationFabrics/1bb787a9-f/replicationProtectionContainers/e7d50d6f-2b7d-4c67-80a0/replicationProtectedItems/0273cca0-240c-4337-a2c9-473/remove"; + _requests[3319] = new DefaultHttpContext(); + _requests[3319].RequestServices = CreateServices(); + _requests[3319].Request.Method = "POST"; + _requests[3319].Request.Path = "/Subscriptions/1168c4f8-2883-/resourceGroups/68395a89-d223-4ef/providers/Microsoft.RecoveryServices/vaults/734dc0f1-a84/replicationFabrics/5b2ec911-2/replicationProtectionContainers/5d31d8bb-0400-431c-a520/replicationProtectedItems/d163ff99-2740-4630-8951-a63/repairReplication"; + _requests[3320] = new DefaultHttpContext(); + _requests[3320].RequestServices = CreateServices(); + _requests[3320].Request.Method = "POST"; + _requests[3320].Request.Path = "/Subscriptions/b74acef7-e719-/resourceGroups/3c17b9bc-163b-463/providers/Microsoft.RecoveryServices/vaults/fa1edc2a-cba/replicationFabrics/9b451627-0/replicationProtectionContainers/2bfb69fe-6c95-4b4a-8561/replicationProtectedItems/e32b62fe-b864-4ee7-a2a7-92d/reProtect"; + _requests[3321] = new DefaultHttpContext(); + _requests[3321].RequestServices = CreateServices(); + _requests[3321].Request.Method = "GET"; + _requests[3321].Request.Path = "/Subscriptions/09ff3c84-79f8-/resourceGroups/7909bed4-9eb0-47e/providers/Microsoft.RecoveryServices/vaults/2f6297b3-a09/replicationFabrics/b7cf502c-6/replicationProtectionContainers/0ecbc388-1555-4af7-b531/replicationProtectedItems/51eb215e-6ee3-4bc8-8d1b-f2e/targetComputeSizes"; + _requests[3322] = new DefaultHttpContext(); + _requests[3322].RequestServices = CreateServices(); + _requests[3322].Request.Method = "POST"; + _requests[3322].Request.Path = "/Subscriptions/54ccab10-4207-/resourceGroups/794fed85-9c9c-4ab/providers/Microsoft.RecoveryServices/vaults/4c3b8d81-797/replicationFabrics/7d0e01ca-5/replicationProtectionContainers/427babe8-ecf5-4932-a715/replicationProtectedItems/10ecaa92-9a4b-44f7-bfc0-7d8/testFailover"; + _requests[3323] = new DefaultHttpContext(); + _requests[3323].RequestServices = CreateServices(); + _requests[3323].Request.Method = "POST"; + _requests[3323].Request.Path = "/Subscriptions/8aefd5bc-4738-/resourceGroups/496ecc53-288b-443/providers/Microsoft.RecoveryServices/vaults/54b23c0c-ada/replicationFabrics/d4056a87-7/replicationProtectionContainers/236acd74-c035-45ec-a7ae/replicationProtectedItems/70b7265a-868c-4934-b731-48e/testFailoverCleanup"; + _requests[3324] = new DefaultHttpContext(); + _requests[3324].RequestServices = CreateServices(); + _requests[3324].Request.Method = "POST"; + _requests[3324].Request.Path = "/Subscriptions/20b73baf-4352-/resourceGroups/e917b66d-9447-466/providers/Microsoft.RecoveryServices/vaults/fbea88a2-209/replicationFabrics/bbcef4de-3/replicationProtectionContainers/4648c443-f9a1-4298-bb87/replicationProtectedItems/5f1bf33e-5cd0-474e-b052-30b/unplannedFailover"; + _requests[3325] = new DefaultHttpContext(); + _requests[3325].RequestServices = CreateServices(); + _requests[3325].Request.Method = "POST"; + _requests[3325].Request.Path = "/Subscriptions/50c7d952-98e5-/resourceGroups/fb912506-c3c2-4f8/providers/Microsoft.RecoveryServices/vaults/406260ff-300/replicationFabrics/10b2f0d3-4/replicationProtectionContainers/05e846e5-4d75-4e25-9858/replicationProtectedItems/7c454545-641f-4ee4-9912-8ab2/updateMobilityService"; + _requests[3326] = new DefaultHttpContext(); + _requests[3326].RequestServices = CreateServices(); + _requests[3326].Request.Method = "POST"; + _requests[3326].Request.Path = "/Subscriptions/ec26c501-8bfe-/resourceGroups/1ca64684-afdb-48c/providers/Microsoft.RecoveryServices/vaults/ae6c0dc7-b76/replicationFabrics/c1ad6574-8/replicationProtectionContainers/347629b8-236d-4ed5-bf9c/replicationProtectionContainerMappings/80b828e9-7f/remove"; + _requests[3327] = new DefaultHttpContext(); + _requests[3327].RequestServices = CreateServices(); + _requests[3327].Request.Method = "POST"; + _requests[3327].Request.Path = "/Subscriptions/79239821-f471-/resourceGroups/e9c8528b-5c27-464/providers/Microsoft.RecoveryServices/vaults/d9cd73f7-/backupFabrics/03f6ddda-f/protectionContainers/c7b20206-e270/protectedItems/1705ba7e-616d-405/backup"; + _requests[3328] = new DefaultHttpContext(); + _requests[3328].RequestServices = CreateServices(); + _requests[3328].Request.Method = "GET"; + _requests[3328].Request.Path = "/Subscriptions/d350ebea-c14a-/resourceGroups/1df9eb7d-6464-412/providers/Microsoft.RecoveryServices/vaults/cfecd5dc-/backupFabrics/962899ef-b/protectionContainers/2b12bd65-9a35/protectedItems/0a59032f-e8bc-4ab/recoveryPoints"; + _requests[3329] = new DefaultHttpContext(); + _requests[3329].RequestServices = CreateServices(); + _requests[3329].Request.Method = "POST"; + _requests[3329].Request.Path = "/subscriptions/0387c309-e324-/resourceGroups/a4bed76f-5747-401/providers/Microsoft.Sql/servers/20d462e1-8/databases/c4f356c9-a3e/syncGroups/4492f9e6-7643/syncMembers/ea288412-a084-/refreshSchema"; + _requests[3330] = new DefaultHttpContext(); + _requests[3330].RequestServices = CreateServices(); + _requests[3330].Request.Method = "GET"; + _requests[3330].Request.Path = "/subscriptions/c36ea357-127a-/resourceGroups/e1f0954e-4741-440/providers/Microsoft.Sql/servers/f523a608-b/databases/b6208672-2fa/syncGroups/d7940877-3904/syncMembers/5227df95-4324-/schemas"; + _requests[3331] = new DefaultHttpContext(); + _requests[3331].RequestServices = CreateServices(); + _requests[3331].Request.Method = "POST"; + _requests[3331].Request.Path = "/subscriptions/65612d78-cc72-/resourceGroups/8c84464d-27b6-4d0/providers/Microsoft.Sql/servers/ac4014ed-c/databases/9e8bb8f9-0ba/vulnerabilityAssessments/fb25dea2-6be1-4dfe-9073-b13/scans/572fff/export"; + _requests[3332] = new DefaultHttpContext(); + _requests[3332].RequestServices = CreateServices(); + _requests[3332].Request.Method = "POST"; + _requests[3332].Request.Path = "/subscriptions/21f6d6f7-bed4-/resourceGroups/6098d1e9-b78e-4f4/providers/Microsoft.Sql/servers/9b38b4ca-8/databases/ae365826-0f0/vulnerabilityAssessments/5802d0f7-71b4-470d-833c-3f1/scans/a242b1/initiateScan"; + _requests[3333] = new DefaultHttpContext(); + _requests[3333].RequestServices = CreateServices(); + _requests[3333].Request.Method = "POST"; + _requests[3333].Request.Path = "/subscriptions/fa554164-0886-/resourceGroups/180dff8e-df29-438/providers/Microsoft.Sql/servers/9f07fad8-7/jobAgents/34f36d07-229/jobs/76d3100/executions/3873a46e-ebe6-/cancel"; + _requests[3334] = new DefaultHttpContext(); + _requests[3334].RequestServices = CreateServices(); + _requests[3334].Request.Method = "GET"; + _requests[3334].Request.Path = "/subscriptions/30da1538-e8e8-/resourceGroups/849d07e7-caee-4d9/providers/Microsoft.Sql/servers/51b5ef34-2/jobAgents/ee619707-d4c/jobs/4206801/executions/d7e71646-c316-/steps"; + _requests[3335] = new DefaultHttpContext(); + _requests[3335].RequestServices = CreateServices(); + _requests[3335].Request.Method = "GET"; + _requests[3335].Request.Path = "/subscriptions/2093149a-5611-/resourceGroups/d66ec9b6-9833-4d0/providers/Microsoft.Sql/servers/d8bbfe52-1/jobAgents/8c0f7df8-856/jobs/1f56a59/executions/5a7fe312-ea49-/targets"; + _requests[3336] = new DefaultHttpContext(); + _requests[3336].RequestServices = CreateServices(); + _requests[3336].Request.Method = "GET"; + _requests[3336].Request.Path = "/subscriptions/8b7658f5-d6d6-/resourceGroups/cea9eb0f-33c7-493/providers/Microsoft.Sql/servers/dd078d3b-e/jobAgents/780dadec-a03/jobs/d288b9c/versions/e12bf2aa-f/steps"; + _requests[3337] = new DefaultHttpContext(); + _requests[3337].RequestServices = CreateServices(); + _requests[3337].Request.Method = "POST"; + _requests[3337].Request.Path = "/subscriptions/a0aff11b-71c3-/resourceGroups/a1434846-a9c9-4e0/providers/Microsoft.StorSimple/managers/7ba09545-c2/devices/7763b448-4/backups/aa949ecd-b/elements/2ffc06e1-e6e6-451/clone"; + _requests[3338] = new DefaultHttpContext(); + _requests[3338].RequestServices = CreateServices(); + _requests[3338].Request.Method = "GET"; + _requests[3338].Request.Path = "/subscriptions/2e1285b8-6205-/resourceGroups/b3c4d752-07bc-4a8/providers/Microsoft.StorSimple/managers/2d720a29-9b/devices/021aff1b-7/volumeContainers/36a6bc90-f8d6-4867-/volumes/378005bb-6/metrics"; + _requests[3339] = new DefaultHttpContext(); + _requests[3339].RequestServices = CreateServices(); + _requests[3339].Request.Method = "GET"; + _requests[3339].Request.Path = "/subscriptions/c07d2fe6-335b-/resourceGroups/cd8b4db5-8467-4e0/providers/Microsoft.StorSimple/managers/994a320c-f4/devices/75fe40c5-2/volumeContainers/76d2dec6-8d60-4a9d-/volumes/f0ada419-b/metricsDefinitions"; + _requests[3340] = new DefaultHttpContext(); + _requests[3340].RequestServices = CreateServices(); + _requests[3340].Request.Method = "POST"; + _requests[3340].Request.Path = "/subscriptions/e87fe54a-992b-/resourceGroups/d57e8546-5ce5-4e9/providers/Microsoft.Web/sites/5e5ea/slots/27fb2/hybridConnectionNamespaces/26a9420d-fe5f/relays/3394922e-/listKeys"; + _requests[3341] = new DefaultHttpContext(); + _requests[3341].RequestServices = CreateServices(); + _requests[3341].Request.Method = "GET"; + _requests[3341].Request.Path = "/subscriptions/6a2ad59a-f0f8-/resourceGroups/c0026c88-fc99-493/providers/Microsoft.Web/sites/df82b/slots/ff543/instances/592e551b-d/processes/563e8541-/dump"; + _requests[3342] = new DefaultHttpContext(); + _requests[3342].RequestServices = CreateServices(); + _requests[3342].Request.Method = "GET"; + _requests[3342].Request.Path = "/subscriptions/a475d82b-90a5-/resourceGroups/b8294c64-4196-45c/providers/Microsoft.Web/sites/4b11d/slots/c3a1a/instances/206acb99-b/processes/63578249-/modules"; + _requests[3343] = new DefaultHttpContext(); + _requests[3343].RequestServices = CreateServices(); + _requests[3343].Request.Method = "GET"; + _requests[3343].Request.Path = "/subscriptions/77b9da39-0072-/resourceGroups/0c185702-9070-407/providers/Microsoft.Web/sites/07eb1/slots/73ea7/instances/e9e3d49d-4/processes/43c50822-/threads"; + _requests[3344] = new DefaultHttpContext(); + _requests[3344].RequestServices = CreateServices(); + _requests[3344].Request.Method = "POST"; + _requests[3344].Request.Path = "/subscriptions/09610d32-5b63-/resourceGroups/51cc44cb-17b5-457/providers/Microsoft.Web/sites/03a8d13f/slots/ca034/diagnostics/0f1ed38d-88e8-49e1/analyses/49846bc0-c64/execute"; + _requests[3345] = new DefaultHttpContext(); + _requests[3345].RequestServices = CreateServices(); + _requests[3345].Request.Method = "POST"; + _requests[3345].Request.Path = "/subscriptions/a11b6724-2b53-/resourceGroups/3dac4894-4065-431/providers/Microsoft.Web/sites/73cf6653/slots/e3363/diagnostics/a146f66c-827e-456d/detectors/29a09b68-e7d/execute"; + _requests[3346] = new DefaultHttpContext(); + _requests[3346].RequestServices = CreateServices(); + _requests[3346].Request.Method = "GET"; + _requests[3346].Request.Path = "/subscriptions/83f9e57f-728f-/resourceGroups/a45a242d-3f27-4d4/providers/Microsoft.DocumentDB/databaseAccounts/58e67e8d-42/region/fe5a5e/databases/019cad52-20/collections/2d5dbc83-d869/partitions/metrics"; + _requests[3347] = new DefaultHttpContext(); + _requests[3347].RequestServices = CreateServices(); + _requests[3347].Request.Method = "GET"; + _requests[3347].Request.Path = "/subscriptions/89703c2b-9084-/resourceGroups/b1f2484b-54c6-421/providers/Microsoft.Compute/virtualMachineScaleSets/e0fb629d-95cf-4d92-b042-20/virtualMachines/3530ca09-8360-4aa9-/networkInterfaces/86879691-b70e-40ca-9/ipconfigurations/19b46d02-e404-4595-/publicipaddresses/39eab1ae-93ad-487a-"; + _requests[3348] = new DefaultHttpContext(); + _requests[3348].RequestServices = CreateServices(); + _requests[3348].Request.Method = "GET"; + _requests[3348].Request.Path = "/Subscriptions/10f4019e-0f99-/resourceGroups/2070ada2-9121-44b/providers/Microsoft.RecoveryServices/vaults/952efc2c-108/replicationFabrics/96f5fe05-8/replicationProtectionContainers/b3162673-24ea-430a-a5d0/replicationProtectedItems/50283ac7-a1ff-42c1-9891-6c4/recoveryPoints/5a815704-55d9-4d0"; + _requests[3349] = new DefaultHttpContext(); + _requests[3349].RequestServices = CreateServices(); + _requests[3349].Request.Method = "GET"; + _requests[3349].Request.Path = "/Subscriptions/fcffe3b8-8c6c-/resourceGroups/e04910c3-eb7c-424/providers/Microsoft.RecoveryServices/vaults/3c1810ef-/backupFabrics/5484b342-5/protectionContainers/58015482-26d3/protectedItems/68434c34-c3ef-49d/operationResults/bd77a203-72"; + _requests[3350] = new DefaultHttpContext(); + _requests[3350].RequestServices = CreateServices(); + _requests[3350].Request.Method = "GET"; + _requests[3350].Request.Path = "/Subscriptions/eae38ea8-8149-/resourceGroups/dab26b6a-a69c-40e/providers/Microsoft.RecoveryServices/vaults/12b839d5-/backupFabrics/95724839-3/protectionContainers/3862234f-bcd7/protectedItems/aea1f9fe-d581-49b/operationsStatus/44bddabb-37"; + _requests[3351] = new DefaultHttpContext(); + _requests[3351].RequestServices = CreateServices(); + _requests[3351].Request.Method = "GET"; + _requests[3351].Request.Path = "/Subscriptions/afb90108-93a7-/resourceGroups/d0e2f3eb-3e08-40e/providers/Microsoft.RecoveryServices/vaults/334660c9-/backupFabrics/c7e5e626-b/protectionContainers/afbaedd2-4e2d/protectedItems/4c9a32c8-82be-47d/recoveryPoints/bee86c8e-5414-4"; + _requests[3352] = new DefaultHttpContext(); + _requests[3352].RequestServices = CreateServices(); + _requests[3352].Request.Method = "DELETE"; + _requests[3352].Request.Path = "/subscriptions/3b8e08d3-954a-/resourceGroups/43eebb41-640b-4d6/providers/Microsoft.Sql/servers/e31bf5ca-b/databases/03048e25-1fe/vulnerabilityAssessments/96b20ebb-ba01-4d4b-b757-629/rules/8c0b98/baselines/d11c3d34-314"; + _requests[3353] = new DefaultHttpContext(); + _requests[3353].RequestServices = CreateServices(); + _requests[3353].Request.Method = "GET"; + _requests[3353].Request.Path = "/subscriptions/f953eb45-80e7-/resourceGroups/7c4094d6-1187-435/providers/Microsoft.Sql/servers/49fc4cca-3/jobAgents/1826dc1d-4c1/jobs/cef14da/executions/ae3312ca-8ea6-/steps/678234bc"; + _requests[3354] = new DefaultHttpContext(); + _requests[3354].RequestServices = CreateServices(); + _requests[3354].Request.Method = "GET"; + _requests[3354].Request.Path = "/subscriptions/68002e64-1172-/resourceGroups/62cd2cc6-9a8c-4ff/providers/Microsoft.Sql/servers/8c51f255-4/jobAgents/63845d8e-860/jobs/28b6c49/versions/8587c87b-0/steps/3ed07b68"; + _requests[3355] = new DefaultHttpContext(); + _requests[3355].RequestServices = CreateServices(); + _requests[3355].Request.Method = "GET"; + _requests[3355].Request.Path = "/subscriptions/ed36a7d8-0f47-/resourceGroups/391c0264-f377-46c/providers/Microsoft.Web/sites/e709b/slots/9ad03/instances/4968e96d-0/processes/e8e63d1e-/modules/d9297efe-29"; + _requests[3356] = new DefaultHttpContext(); + _requests[3356].RequestServices = CreateServices(); + _requests[3356].Request.Method = "GET"; + _requests[3356].Request.Path = "/subscriptions/a8f1a267-91c0-/resourceGroups/0e729b57-d441-488/providers/Microsoft.Web/sites/d22a7/slots/c9eb0/instances/03e9e78e-1/processes/26fd1003-/threads/06eb96c1"; + _requests[3357] = new DefaultHttpContext(); + _requests[3357].RequestServices = CreateServices(); + _requests[3357].Request.Method = "GET"; + _requests[3357].Request.Path = "/subscriptions/1ba28092-3346-/resourceGroups/ab434a79-f606-41d/providers/Microsoft.DocumentDB/databaseAccounts/e0ff4f87-2c/region/7c2510/databases/99c5c92c-5c/collections/ffa1a61c-ec55/partitionKeyRangeId/b2e7a5bd-6eaf-4665-/metrics"; + _requests[3358] = new DefaultHttpContext(); + _requests[3358].RequestServices = CreateServices(); + _requests[3358].Request.Method = "POST"; + _requests[3358].Request.Path = "/Subscriptions/3b385596-3ea8-/resourceGroups/5128b3d6-09e4-410/providers/Microsoft.RecoveryServices/vaults/eb3d6fea-/backupFabrics/26ebf1fb-1/protectionContainers/2c18d577-d37a/protectedItems/9c8d0a66-0559-4fc/recoveryPoints/bd5c2b39-963f-4/provisionInstantItemRecovery"; + _requests[3359] = new DefaultHttpContext(); + _requests[3359].RequestServices = CreateServices(); + _requests[3359].Request.Method = "POST"; + _requests[3359].Request.Path = "/Subscriptions/7500a143-b4d5-/resourceGroups/3a57b155-778e-40c/providers/Microsoft.RecoveryServices/vaults/bd604402-/backupFabrics/4b3ca6bb-0/protectionContainers/04a70e63-4548/protectedItems/c1201388-5aec-41a/recoveryPoints/25f12862-8223-4/restore"; + _requests[3360] = new DefaultHttpContext(); + _requests[3360].RequestServices = CreateServices(); + _requests[3360].Request.Method = "POST"; + _requests[3360].Request.Path = "/Subscriptions/f76a4f9c-3311-/resourceGroups/7dbfdff1-32ab-47c/providers/Microsoft.RecoveryServices/vaults/ba1ad6ed-/backupFabrics/d3b6b7a8-9/protectionContainers/53deb142-e03b/protectedItems/a2f65632-05d7-4c2/recoveryPoints/ea8a4fd8-eb78-4/revokeInstantItemRecovery"; + _requests[3361] = new DefaultHttpContext(); + _requests[3361].RequestServices = CreateServices(); + _requests[3361].Request.Method = "GET"; + _requests[3361].Request.Path = "/subscriptions/b7a101b4-106c-/resourceGroups/305cb8e8-f19a-4a0/providers/Microsoft.Sql/servers/1563e30e-4/jobAgents/86e0bd85-d75/jobs/0870c68/executions/ab7fedf4-6fe7-/steps/f3da8d7f/targets"; + _requests[3362] = new DefaultHttpContext(); + _requests[3362].RequestServices = CreateServices(); + _requests[3362].Request.Method = "GET"; + _requests[3362].Request.Path = "/subscriptions/24e8e8b4-9456-/resourceGroups/7c9dcae8-e666-400/providers/Microsoft.Sql/servers/4962edb4-f/jobAgents/350c51cb-22f/jobs/edbe163/executions/2af7c3fb-261e-/steps/cb0e0a68/targets/5711eb1d"; + _requests[3363] = new DefaultHttpContext(); + _requests[3363].RequestServices = CreateServices(); + _requests[3363].Request.Method = "PATCH"; + _requests[3363].Request.Path = "/subscriptions/21d9d400-5eb7-/resourceGroups/265adefe-3b4f-4e4/providers/Microsoft.ApiManagement/service/ff3f1a0b-ca/quotas/103a08aa-e369-4/b0efe65e-e15c-"; + _requests[3364] = new DefaultHttpContext(); + _requests[3364].RequestServices = CreateServices(); + _requests[3364].Request.Method = "POST"; + _requests[3364].Request.Path = "/subscriptions/a8cbd9fe-5d02-/resourceGroups/060083ed-d2ad-4bd/providers/Microsoft.Security/locations/f37d0189-ea/alerts/2804ac06-/766fbc46-5183-4b55-af"; + _requests[3365] = new DefaultHttpContext(); + _requests[3365].RequestServices = CreateServices(); + _requests[3365].Request.Method = "POST"; + _requests[3365].Request.Path = "/subscriptions/59833094-3fcc-/resourceGroups/15e3dfa5-a237-4e7/providers/Microsoft.Security/locations/e9ff2f85-f6/jitNetworkAccessPolicies/9a22419c-4314-477f-a92a-44/b619a0fe-0779-467c-aef0-7050c1aa"; + _requests[3366] = new DefaultHttpContext(); + _requests[3366].RequestServices = CreateServices(); + _requests[3366].Request.Method = "POST"; + _requests[3366].Request.Path = "/subscriptions/094908a0-ade8-/resourceGroups/34785a2d-ee85-420/providers/Microsoft.Security/locations/bd1e43e8-49/tasks/46d74b02/a5ab2ab3-0073-44da-9"; + _requests[3367] = new DefaultHttpContext(); + _requests[3367].RequestServices = CreateServices(); + _requests[3367].Request.Method = "GET"; + _requests[3367].Request.Path = "/subscriptions/ca78ff97-e2ad-/resourceGroups/3a697383-3f18-477/providers/microsoft.insights/components/56a0e360-4f2/63057615-"; + _requests[3368] = new DefaultHttpContext(); + _requests[3368].RequestServices = CreateServices(); + _requests[3368].Request.Method = "GET"; + _requests[3368].Request.Path = "/subscriptions/bee2385f-de5f-/resourceGroups/efe1e7b7-62ac-49c/providers/Microsoft.Network/dnsZones/10be54ef/9b025ac9-c"; + _requests[3369] = new DefaultHttpContext(); + _requests[3369].RequestServices = CreateServices(); + _requests[3369].Request.Method = "DELETE"; + _requests[3369].Request.Path = "/subscriptions/5ee97344-ef05-/resourceGroups/3a7c6b3d-1152-46e/providers/microsoft.insights/components/54b1c6c3-8b8/2af0bfea-/item"; + _requests[3370] = new DefaultHttpContext(); + _requests[3370].RequestServices = CreateServices(); + _requests[3370].Request.Method = "GET"; + _requests[3370].Request.Path = "/subscriptions/d641db12-2b56-/resourceGroups/bdbdfb60-1f98-465/providers/Microsoft.Network/dnsZones/5c5aa3f7/911b01b8-c/ac1f3b63-1c78-4e27-ac"; + _requests[3371] = new DefaultHttpContext(); + _requests[3371].RequestServices = CreateServices(); + _requests[3371].Request.Method = "DELETE"; + _requests[3371].Request.Path = "/subscriptions/5f8fdc6d-8304-/resourceGroups/89e271a9-1b99-47e/providers/Microsoft.Network/trafficmanagerprofiles/ac358470-b3/5d0ebcc3-e30/03ab7a58-e6b"; + _requests[3372] = new DefaultHttpContext(); + _requests[3372].RequestServices = CreateServices(); + _requests[3372].Request.Method = "DELETE"; + _requests[3372].Request.Path = "/apis/4d35b/operations/c2dee1f0-b9/policies/7f9604af"; + _requests[3373] = new DefaultHttpContext(); + _requests[3373].RequestServices = CreateServices(); + _requests[3373].Request.Method = "DELETE"; + _requests[3373].Request.Path = "/apps/d3693/versions/9f43faaf-/closedlists/085e2998-4"; + _requests[3374] = new DefaultHttpContext(); + _requests[3374].RequestServices = CreateServices(); + _requests[3374].Request.Method = "DELETE"; + _requests[3374].Request.Path = "/apps/bf328/versions/c0af449e-/compositeentities/ffadd711-"; + _requests[3375] = new DefaultHttpContext(); + _requests[3375].RequestServices = CreateServices(); + _requests[3375].Request.Method = "DELETE"; + _requests[3375].Request.Path = "/apps/857d2/versions/830f7471-/customprebuiltdomains/784b84a5-8"; + _requests[3376] = new DefaultHttpContext(); + _requests[3376].RequestServices = CreateServices(); + _requests[3376].Request.Method = "DELETE"; + _requests[3376].Request.Path = "/apps/c434a/versions/0d9ae1b4-/entities/e66be5c6"; + _requests[3377] = new DefaultHttpContext(); + _requests[3377].RequestServices = CreateServices(); + _requests[3377].Request.Method = "DELETE"; + _requests[3377].Request.Path = "/apps/c26b1/versions/873285d9-/examples/712813c7-"; + _requests[3378] = new DefaultHttpContext(); + _requests[3378].RequestServices = CreateServices(); + _requests[3378].Request.Method = "DELETE"; + _requests[3378].Request.Path = "/apps/586f7/versions/fd327d6f-/hierarchicalentities/fb81f323-"; + _requests[3379] = new DefaultHttpContext(); + _requests[3379].RequestServices = CreateServices(); + _requests[3379].Request.Method = "DELETE"; + _requests[3379].Request.Path = "/apps/24ac3/versions/10da2bdf-/intents/205bd0c5"; + _requests[3380] = new DefaultHttpContext(); + _requests[3380].RequestServices = CreateServices(); + _requests[3380].Request.Method = "DELETE"; + _requests[3380].Request.Path = "/apps/f2190/versions/19e08aae-/patternanyentities/5a7129ad"; + _requests[3381] = new DefaultHttpContext(); + _requests[3381].RequestServices = CreateServices(); + _requests[3381].Request.Method = "DELETE"; + _requests[3381].Request.Path = "/apps/56715/versions/fbef6bd3-/patternrules/87b483fa-"; + _requests[3382] = new DefaultHttpContext(); + _requests[3382].RequestServices = CreateServices(); + _requests[3382].Request.Method = "DELETE"; + _requests[3382].Request.Path = "/apps/c7377/versions/50afb2c7-/patterns/6ed05835-"; + _requests[3383] = new DefaultHttpContext(); + _requests[3383].RequestServices = CreateServices(); + _requests[3383].Request.Method = "DELETE"; + _requests[3383].Request.Path = "/apps/6ab5e/versions/1584397b-/phraselists/60558de4-7e6"; + _requests[3384] = new DefaultHttpContext(); + _requests[3384].RequestServices = CreateServices(); + _requests[3384].Request.Method = "DELETE"; + _requests[3384].Request.Path = "/apps/a8312/versions/f58f6a3b-/prebuilts/332a1cea-a"; + _requests[3385] = new DefaultHttpContext(); + _requests[3385].RequestServices = CreateServices(); + _requests[3385].Request.Method = "DELETE"; + _requests[3385].Request.Path = "/apps/3f2ea/versions/000b5eaf-/regexentities/9ca96f68-7b8c"; + _requests[3386] = new DefaultHttpContext(); + _requests[3386].RequestServices = CreateServices(); + _requests[3386].Request.Method = "HEAD"; + _requests[3386].Request.Path = "/jobs/0a7f6/tasks/c65388/files/6400f9b6"; + _requests[3387] = new DefaultHttpContext(); + _requests[3387].RequestServices = CreateServices(); + _requests[3387].Request.Method = "PATCH"; + _requests[3387].Request.Path = "/persongroups/1e3f30e2-f640/persons/acf60416/persistedFaces/e92698f9-c416-4"; + _requests[3388] = new DefaultHttpContext(); + _requests[3388].RequestServices = CreateServices(); + _requests[3388].Request.Method = "HEAD"; + _requests[3388].Request.Path = "/pools/fa7888/nodes/4b0b7a/files/99c0c906"; + _requests[3389] = new DefaultHttpContext(); + _requests[3389].RequestServices = CreateServices(); + _requests[3389].Request.Method = "PUT"; + _requests[3389].Request.Path = "/pools/3135bd/nodes/190a35/users/ed7133df"; + _requests[3390] = new DefaultHttpContext(); + _requests[3390].RequestServices = CreateServices(); + _requests[3390].Request.Method = "PUT"; + _requests[3390].Request.Path = "/subscriptions/afc275a5-57d7-/tagNames/622610b/tagValues/fc1537ce"; + _requests[3391] = new DefaultHttpContext(); + _requests[3391].RequestServices = CreateServices(); + _requests[3391].Request.Method = "POST"; + _requests[3391].Request.Path = "/apps/630c1/versions/4e7ca368-/closedlists/ac210979-d/sublists"; + _requests[3392] = new DefaultHttpContext(); + _requests[3392].RequestServices = CreateServices(); + _requests[3392].Request.Method = "POST"; + _requests[3392].Request.Path = "/apps/bd201/versions/510fd6e0-/closedlists/1a21d27c/roles"; + _requests[3393] = new DefaultHttpContext(); + _requests[3393].RequestServices = CreateServices(); + _requests[3393].Request.Method = "POST"; + _requests[3393].Request.Path = "/apps/88023/versions/5e2dd292-/compositeentities/b382467a-/children"; + _requests[3394] = new DefaultHttpContext(); + _requests[3394].RequestServices = CreateServices(); + _requests[3394].Request.Method = "POST"; + _requests[3394].Request.Path = "/apps/4c936/versions/4fd50486-/compositeentities/7eeeba5a-/roles"; + _requests[3395] = new DefaultHttpContext(); + _requests[3395].RequestServices = CreateServices(); + _requests[3395].Request.Method = "POST"; + _requests[3395].Request.Path = "/apps/2f260/versions/e09f3a8d-/customprebuiltentities/dc3c3082/roles"; + _requests[3396] = new DefaultHttpContext(); + _requests[3396].RequestServices = CreateServices(); + _requests[3396].Request.Method = "POST"; + _requests[3396].Request.Path = "/apps/98ea3/versions/31ace458-/entities/601633fa/roles"; + _requests[3397] = new DefaultHttpContext(); + _requests[3397].RequestServices = CreateServices(); + _requests[3397].Request.Method = "GET"; + _requests[3397].Request.Path = "/apps/d2ac5/versions/10a67109-/entities/f5a8855b/suggest"; + _requests[3398] = new DefaultHttpContext(); + _requests[3398].RequestServices = CreateServices(); + _requests[3398].Request.Method = "POST"; + _requests[3398].Request.Path = "/apps/b403c/versions/b917b4a6-/hierarchicalentities/68c6995c-/children"; + _requests[3399] = new DefaultHttpContext(); + _requests[3399].RequestServices = CreateServices(); + _requests[3399].Request.Method = "POST"; + _requests[3399].Request.Path = "/apps/6a24a/versions/6aced2a5-/hierarchicalentities/124adbbc-/roles"; + _requests[3400] = new DefaultHttpContext(); + _requests[3400].RequestServices = CreateServices(); + _requests[3400].Request.Method = "GET"; + _requests[3400].Request.Path = "/apps/bb884/versions/fbc7cda3-/intents/f1bcb1c9/patternrules"; + _requests[3401] = new DefaultHttpContext(); + _requests[3401].RequestServices = CreateServices(); + _requests[3401].Request.Method = "GET"; + _requests[3401].Request.Path = "/apps/94c77/versions/1b67dd10-/intents/7014e75c/suggest"; + _requests[3402] = new DefaultHttpContext(); + _requests[3402].RequestServices = CreateServices(); + _requests[3402].Request.Method = "GET"; + _requests[3402].Request.Path = "/apps/bdd4f/versions/d02eb849-/models/fe51bca/examples"; + _requests[3403] = new DefaultHttpContext(); + _requests[3403].RequestServices = CreateServices(); + _requests[3403].Request.Method = "POST"; + _requests[3403].Request.Path = "/apps/3767e/versions/0e05d672-/patternanyentities/80579903/explicitlist"; + _requests[3404] = new DefaultHttpContext(); + _requests[3404].RequestServices = CreateServices(); + _requests[3404].Request.Method = "POST"; + _requests[3404].Request.Path = "/apps/5ee91/versions/05df7bf8-/patternanyentities/942827fc/roles"; + _requests[3405] = new DefaultHttpContext(); + _requests[3405].RequestServices = CreateServices(); + _requests[3405].Request.Method = "POST"; + _requests[3405].Request.Path = "/apps/47ebe/versions/8673e4cf-/prebuilts/2cd4f13a/roles"; + _requests[3406] = new DefaultHttpContext(); + _requests[3406].RequestServices = CreateServices(); + _requests[3406].Request.Method = "POST"; + _requests[3406].Request.Path = "/apps/37c70/versions/ca5a8efe-/regexentities/27bdeb1e/roles"; + _requests[3407] = new DefaultHttpContext(); + _requests[3407].RequestServices = CreateServices(); + _requests[3407].Request.Method = "GET"; + _requests[3407].Request.Path = "/subscriptions/7259ebd1-3746-/resourcegroups/13430ca8-57d0-47c/deployments/421256df-1aa9-/operations"; + _requests[3408] = new DefaultHttpContext(); + _requests[3408].RequestServices = CreateServices(); + _requests[3408].Request.Method = "POST"; + _requests[3408].Request.Path = "/subscriptions/b844d95b-74dc-/providers/838157da-7333-44d3-9db/policyAssignments/ed0897a2-c020-4599-b/providers/Microsoft.PolicyInsights/policyEvents/e3051d3b-f236-418d-8/queryResults"; + _requests[3409] = new DefaultHttpContext(); + _requests[3409].RequestServices = CreateServices(); + _requests[3409].Request.Method = "POST"; + _requests[3409].Request.Path = "/subscriptions/fd0f3cc0-3c9d-/providers/5a91b97f-9efa-44d6-ac0/policyAssignments/10a3c3f3-7288-4ca0-9/providers/Microsoft.PolicyInsights/policyStates/387fdd4b-7110-4c97-a/queryResults"; + _requests[3410] = new DefaultHttpContext(); + _requests[3410].RequestServices = CreateServices(); + _requests[3410].Request.Method = "POST"; + _requests[3410].Request.Path = "/subscriptions/4e5552dd-0aee-/providers/d33cc9b3-a7c6-4258-841/policyAssignments/df317e64-239f-4636-8/providers/Microsoft.PolicyInsights/policyStates/9e6b9cea-f2db-45a7-af8d-091/summarize"; + _requests[3411] = new DefaultHttpContext(); + _requests[3411].RequestServices = CreateServices(); + _requests[3411].Request.Method = "POST"; + _requests[3411].Request.Path = "/subscriptions/84d938b6-cdc1-/providers/f9b44198-c535-411e-837/policyDefinitions/50665ad7-6440-4a26-a/providers/Microsoft.PolicyInsights/policyEvents/5533de8c-3e1c-418b-9/queryResults"; + _requests[3412] = new DefaultHttpContext(); + _requests[3412].RequestServices = CreateServices(); + _requests[3412].Request.Method = "POST"; + _requests[3412].Request.Path = "/subscriptions/fb4f0fc9-9697-/providers/dfd28320-ec7f-4c22-b8e/policyDefinitions/fcd39a7d-ed60-49e3-9/providers/Microsoft.PolicyInsights/policyStates/874f4ca5-0750-4bb0-b/queryResults"; + _requests[3413] = new DefaultHttpContext(); + _requests[3413].RequestServices = CreateServices(); + _requests[3413].Request.Method = "POST"; + _requests[3413].Request.Path = "/subscriptions/b8683f31-c620-/providers/306188e6-90c8-4ed5-839/policyDefinitions/f63d9b51-6d54-4b56-a/providers/Microsoft.PolicyInsights/policyStates/8c378b02-3cc3-4407-a7a2-db8/summarize"; + _requests[3414] = new DefaultHttpContext(); + _requests[3414].RequestServices = CreateServices(); + _requests[3414].Request.Method = "POST"; + _requests[3414].Request.Path = "/subscriptions/50456f52-d3ea-/providers/c2aba201-c693-43ca-ab6/policySetDefinitions/bcd2155f-83fc-48dc-a887/providers/Microsoft.PolicyInsights/policyEvents/43ff0f56-8fbf-4e00-9/queryResults"; + _requests[3415] = new DefaultHttpContext(); + _requests[3415].RequestServices = CreateServices(); + _requests[3415].Request.Method = "POST"; + _requests[3415].Request.Path = "/subscriptions/c734ded9-1a7d-/providers/6aa5f295-90ba-4f92-91a/policySetDefinitions/9a176a2a-c1cc-4804-bd85/providers/Microsoft.PolicyInsights/policyStates/6cd756ea-133f-4b04-b/queryResults"; + _requests[3416] = new DefaultHttpContext(); + _requests[3416].RequestServices = CreateServices(); + _requests[3416].Request.Method = "POST"; + _requests[3416].Request.Path = "/subscriptions/5619c476-3b50-/providers/c5ecfecf-6578-475c-90a/policySetDefinitions/e3ed3a4f-ddc4-4d0f-a698/providers/Microsoft.PolicyInsights/policyStates/8ee9fdd3-e8fa-4dd6-bf73-d9a/summarize"; + _requests[3417] = new DefaultHttpContext(); + _requests[3417].RequestServices = CreateServices(); + _requests[3417].Request.Method = "PUT"; + _requests[3417].Request.Path = "/apps/a3137/versions/29168240-/closedlists/0dd9e001-5/sublists/0b899be2-"; + _requests[3418] = new DefaultHttpContext(); + _requests[3418].RequestServices = CreateServices(); + _requests[3418].Request.Method = "DELETE"; + _requests[3418].Request.Path = "/apps/dd170/versions/7411785b-/closedlists/9ba38295/roles/322c67"; + _requests[3419] = new DefaultHttpContext(); + _requests[3419].RequestServices = CreateServices(); + _requests[3419].Request.Method = "DELETE"; + _requests[3419].Request.Path = "/apps/9cd96/versions/061bead6-/compositeentities/d5380e23-/children/f31677e1"; + _requests[3420] = new DefaultHttpContext(); + _requests[3420].RequestServices = CreateServices(); + _requests[3420].Request.Method = "DELETE"; + _requests[3420].Request.Path = "/apps/48a34/versions/83530774-/compositeentities/ea07ba9e-/roles/6d51cc"; + _requests[3421] = new DefaultHttpContext(); + _requests[3421].RequestServices = CreateServices(); + _requests[3421].Request.Method = "DELETE"; + _requests[3421].Request.Path = "/apps/36ec9/versions/aca7eaa9-/customprebuiltentities/6bcb32ac/roles/5de2d8"; + _requests[3422] = new DefaultHttpContext(); + _requests[3422].RequestServices = CreateServices(); + _requests[3422].Request.Method = "DELETE"; + _requests[3422].Request.Path = "/apps/d542f/versions/54d6dbc8-/entities/8c449a88/roles/af217f"; + _requests[3423] = new DefaultHttpContext(); + _requests[3423].RequestServices = CreateServices(); + _requests[3423].Request.Method = "DELETE"; + _requests[3423].Request.Path = "/apps/96253/versions/1f5399bb-/hierarchicalentities/ffa7382d-/children/6b7cff75"; + _requests[3424] = new DefaultHttpContext(); + _requests[3424].RequestServices = CreateServices(); + _requests[3424].Request.Method = "DELETE"; + _requests[3424].Request.Path = "/apps/bdb67/versions/c805b596-/hierarchicalentities/c450ed73-/roles/3c4623"; + _requests[3425] = new DefaultHttpContext(); + _requests[3425].RequestServices = CreateServices(); + _requests[3425].Request.Method = "DELETE"; + _requests[3425].Request.Path = "/apps/437a5/versions/ad44341d-/patternanyentities/258f3feb/explicitlist/d9f51b"; + _requests[3426] = new DefaultHttpContext(); + _requests[3426].RequestServices = CreateServices(); + _requests[3426].Request.Method = "DELETE"; + _requests[3426].Request.Path = "/apps/7e293/versions/a8d28ab6-/patternanyentities/838a8099/roles/95a55f"; + _requests[3427] = new DefaultHttpContext(); + _requests[3427].RequestServices = CreateServices(); + _requests[3427].Request.Method = "DELETE"; + _requests[3427].Request.Path = "/apps/1293c/versions/ae22fdf0-/prebuilts/d76f5f3c/roles/aaf517"; + _requests[3428] = new DefaultHttpContext(); + _requests[3428].RequestServices = CreateServices(); + _requests[3428].Request.Method = "DELETE"; + _requests[3428].Request.Path = "/apps/dec36/versions/86d51d48-/regexentities/3cfe5d39/roles/673cab"; + _requests[3429] = new DefaultHttpContext(); + _requests[3429].RequestServices = CreateServices(); + _requests[3429].Request.Method = "GET"; + _requests[3429].Request.Path = "/subscriptions/99f01c50-9f79-/resourcegroups/cfa62b44-b873-486/deployments/97eea82a-6f14-/operations/88059381-6f"; + _requests[3430] = new DefaultHttpContext(); + _requests[3430].RequestServices = CreateServices(); + _requests[3430].Request.Method = "POST"; + _requests[3430].Request.Path = "/subscriptions/d401124e-1459-/resourcegroups/dd8532cc-656f-498/providers/92aca556-491d-4617-8ff/policyAssignments/e5433f1a-768e-4f5d-9/providers/Microsoft.PolicyInsights/policyEvents/877d98bf-fba0-4219-8/queryResults"; + _requests[3431] = new DefaultHttpContext(); + _requests[3431].RequestServices = CreateServices(); + _requests[3431].Request.Method = "POST"; + _requests[3431].Request.Path = "/subscriptions/c8d4a51d-146b-/resourcegroups/1942d1cd-d6a4-459/providers/2ff564fc-6286-43ee-b0f/policyAssignments/a46ec1d3-aa93-47fb-8/providers/Microsoft.PolicyInsights/policyStates/2e9a906b-8ed1-4fa3-8/queryResults"; + _requests[3432] = new DefaultHttpContext(); + _requests[3432].RequestServices = CreateServices(); + _requests[3432].Request.Method = "POST"; + _requests[3432].Request.Path = "/subscriptions/3288be26-0da7-/resourcegroups/cae3a1bd-e62c-44c/providers/207fb85c-c7e8-4a97-81f/policyAssignments/7db5c558-8019-45f5-b/providers/Microsoft.PolicyInsights/policyStates/e4366bd8-67f1-4a90-ba86-7f5/summarize"; + _requests[3433] = new DefaultHttpContext(); + _requests[3433].RequestServices = CreateServices(); + _requests[3433].Request.Method = "GET"; + _requests[3433].Request.Path = "/subscriptions/06f8b472-cd93-/resourceGroups/f5ba84cc-f082-4b5/providers/85f3cc9e-b438-413/e329c23f-dee6-46/19a392d8-791/providers/Microsoft.EventGrid/eventSubscriptions"; + _requests[3434] = new DefaultHttpContext(); + _requests[3434].RequestServices = CreateServices(); + _requests[3434].Request.Method = "GET"; + _requests[3434].Request.Path = "/subscriptions/6ca5c211-2bdb-/resourceGroups/5134ad71-cbc6-42a/providers/f3858386-206a-467/1a601212-7a09-4f/e73cf087-9f5/providers/Microsoft.EventGrid/eventTypes"; + _requests[3435] = new DefaultHttpContext(); + _requests[3435].RequestServices = CreateServices(); + _requests[3435].Request.Method = "GET"; + _requests[3435].Request.Path = "/subscriptions/e4bb9c6d-e841-/resourcegroups/c7f96a4e-fd9d-405/providers/9881e69a-7fb/c2fabab6-eaa/7ccca89a-229/providers/Microsoft.OperationsManagement/ManagementAssociations/a3ed9791-20fc-43d9-af72-5"; + _requests[3436] = new DefaultHttpContext(); + _requests[3436].RequestServices = CreateServices(); + _requests[3436].Request.Method = "GET"; + _requests[3436].Request.Path = "/subscriptions/f8602411-ac77-/resourcegroups/c67a9d21-45f0-4b5/providers/5af6e4af-edcc-4975-a76c-a/56811225-1eb3-4160/66256656-354/7cba89bd-55a"; + _requests[3437] = new DefaultHttpContext(); + _requests[3437].RequestServices = CreateServices(); + _requests[3437].Request.Method = "GET"; + _requests[3437].Request.Path = "/subscriptions/e6d9450d-c442-/resourcegroups/d3173b51-5656-47b/providers/062c2b09-be89-4c9b-89a2-2/23226c2d-951c-4418/76bcacfe-b45/5a0d957d-09e/providers/Microsoft.Authorization/locks"; + _requests[3438] = new DefaultHttpContext(); + _requests[3438].RequestServices = CreateServices(); + _requests[3438].Request.Method = "GET"; + _requests[3438].Request.Path = "/subscriptions/3b187206-14e9-/resourcegroups/bdc1f1ee-4afe-441/providers/34f524ed-b3a0-4698-9dae-7/ba817d17-2d44-4316/6856c958-dd8/d752ba19-753/providers/Microsoft.Authorization/permissions"; + _requests[3439] = new DefaultHttpContext(); + _requests[3439].RequestServices = CreateServices(); + _requests[3439].Request.Method = "GET"; + _requests[3439].Request.Path = "/subscriptions/66fe2d16-5e80-/resourcegroups/c6a2cb1e-45fb-43d/providers/394befcd-a239-45d5-9d2f-0/1b50afc8-4e65-4e3e/9c5fcc06-feb/0b55eebb-763/providers/Microsoft.Authorization/policyAssignments"; + _requests[3440] = new DefaultHttpContext(); + _requests[3440].RequestServices = CreateServices(); + _requests[3440].Request.Method = "GET"; + _requests[3440].Request.Path = "/subscriptions/6e9f14ab-1faa-/resourcegroups/4b6d7b6e-81f5-45f/providers/5462f2bf-b249-48d5-9e7c-5/a04aaf71-6e68-4d55/020ef8ba-d4b/313c1370-7b9/providers/Microsoft.Authorization/roleAssignments"; + _requests[3441] = new DefaultHttpContext(); + _requests[3441].RequestServices = CreateServices(); + _requests[3441].Request.Method = "GET"; + _requests[3441].Request.Path = "/subscriptions/0e0b8f14-fad4-/resourcegroups/a67f550d-fdc8-42b/providers/e68ff4d2-10c1-4c9c-82d8-f/b1689285-0750-4eb8/2ed223b8-c67/dd2c9821-2f7/providers/Microsoft.Authorization/locks/84a9ae91"; + _requests[3442] = new DefaultHttpContext(); + _requests[3442].RequestServices = CreateServices(); + _requests[3442].Request.Method = "GET"; + _requests[3442].Request.Path = "/apps/5f68b/events/89f50ec1-/66ce49b"; + _requests[3443] = new DefaultHttpContext(); + _requests[3443].RequestServices = CreateServices(); + _requests[3443].Request.Method = "GET"; + _requests[3443].Request.Path = "/certificates/72742049-2d02-48/241ae955-db05-48a4-"; + _requests[3444] = new DefaultHttpContext(); + _requests[3444].RequestServices = CreateServices(); + _requests[3444].Request.Method = "GET"; + _requests[3444].Request.Path = "/keys/051ccaba/fdbe8776-25"; + _requests[3445] = new DefaultHttpContext(); + _requests[3445].RequestServices = CreateServices(); + _requests[3445].Request.Method = "PATCH"; + _requests[3445].Request.Path = "/quotas/8186e47c-d50c-4/130f53a6-44aa-"; + _requests[3446] = new DefaultHttpContext(); + _requests[3446].RequestServices = CreateServices(); + _requests[3446].Request.Method = "GET"; + _requests[3446].Request.Path = "/secrets/64244ad1-c2/2874dd6e-e80c-"; + _requests[3447] = new DefaultHttpContext(); + _requests[3447].RequestServices = CreateServices(); + _requests[3447].Request.Method = "POST"; + _requests[3447].Request.Path = "/keys/2ece3b8a/70e39e1f-71/decrypt"; + _requests[3448] = new DefaultHttpContext(); + _requests[3448].RequestServices = CreateServices(); + _requests[3448].Request.Method = "POST"; + _requests[3448].Request.Path = "/keys/182433da/20e2a813-0f/encrypt"; + _requests[3449] = new DefaultHttpContext(); + _requests[3449].RequestServices = CreateServices(); + _requests[3449].Request.Method = "POST"; + _requests[3449].Request.Path = "/keys/4612b2c8/2f1e7d40-a6/sign"; + _requests[3450] = new DefaultHttpContext(); + _requests[3450].RequestServices = CreateServices(); + _requests[3450].Request.Method = "POST"; + _requests[3450].Request.Path = "/keys/69b994c8/f38e4356-24/unwrapkey"; + _requests[3451] = new DefaultHttpContext(); + _requests[3451].RequestServices = CreateServices(); + _requests[3451].Request.Method = "POST"; + _requests[3451].Request.Path = "/keys/ca8e9477/40651d14-e8/verify"; + _requests[3452] = new DefaultHttpContext(); + _requests[3452].RequestServices = CreateServices(); + _requests[3452].Request.Method = "POST"; + _requests[3452].Request.Path = "/keys/f069329f/be730578-63/wrapkey"; + _requests[3453] = new DefaultHttpContext(); + _requests[3453].RequestServices = CreateServices(); + _requests[3453].Request.Method = "PUT"; + _requests[3453].Request.Path = "/45e31c03-5fc1-4665-8c53"; + _requests[3454] = new DefaultHttpContext(); + _requests[3454].RequestServices = CreateServices(); + _requests[3454].Request.Method = "POST"; + _requests[3454].Request.Path = "/d42d5b71-/image"; + _requests[3455] = new DefaultHttpContext(); + _requests[3455].RequestServices = CreateServices(); + _requests[3455].Request.Method = "POST"; + _requests[3455].Request.Path = "/897d5bb5-/url"; + _requests[3456] = new DefaultHttpContext(); + _requests[3456].RequestServices = CreateServices(); + _requests[3456].Request.Method = "GET"; + _requests[3456].Request.Path = "/8a356c94/applications"; + _requests[3457] = new DefaultHttpContext(); + _requests[3457].RequestServices = CreateServices(); + _requests[3457].Request.Method = "GET"; + _requests[3457].Request.Path = "/88e8cdbe/domains"; + _requests[3458] = new DefaultHttpContext(); + _requests[3458].RequestServices = CreateServices(); + _requests[3458].Request.Method = "POST"; + _requests[3458].Request.Path = "/dce82364/getObjectsByObjectIds"; + _requests[3459] = new DefaultHttpContext(); + _requests[3459].RequestServices = CreateServices(); + _requests[3459].Request.Method = "GET"; + _requests[3459].Request.Path = "/817188d6/groups"; + _requests[3460] = new DefaultHttpContext(); + _requests[3460].RequestServices = CreateServices(); + _requests[3460].Request.Method = "POST"; + _requests[3460].Request.Path = "/6d3a1ebf/isMemberOf"; + _requests[3461] = new DefaultHttpContext(); + _requests[3461].RequestServices = CreateServices(); + _requests[3461].Request.Method = "GET"; + _requests[3461].Request.Path = "/1b4de1d8/me"; + _requests[3462] = new DefaultHttpContext(); + _requests[3462].RequestServices = CreateServices(); + _requests[3462].Request.Method = "GET"; + _requests[3462].Request.Path = "/822bf4c0/servicePrincipals"; + _requests[3463] = new DefaultHttpContext(); + _requests[3463].RequestServices = CreateServices(); + _requests[3463].Request.Method = "GET"; + _requests[3463].Request.Path = "/5a924531/users"; + _requests[3464] = new DefaultHttpContext(); + _requests[3464].RequestServices = CreateServices(); + _requests[3464].Request.Method = "POST"; + _requests[3464].Request.Path = "/3f3b987e-/image/nostore"; + _requests[3465] = new DefaultHttpContext(); + _requests[3465].RequestServices = CreateServices(); + _requests[3465].Request.Method = "POST"; + _requests[3465].Request.Path = "/ada93636-/url/nostore"; + _requests[3466] = new DefaultHttpContext(); + _requests[3466].RequestServices = CreateServices(); + _requests[3466].Request.Method = "POST"; + _requests[3466].Request.Path = "/ebb382d8-c3/providers/microsoft.insights/calculatebaseline"; + _requests[3467] = new DefaultHttpContext(); + _requests[3467].RequestServices = CreateServices(); + _requests[3467].Request.Method = "GET"; + _requests[3467].Request.Path = "/3c6dbcb6-77/providers/microsoft.insights/diagnosticSettings"; + _requests[3468] = new DefaultHttpContext(); + _requests[3468].RequestServices = CreateServices(); + _requests[3468].Request.Method = "GET"; + _requests[3468].Request.Path = "/ab7e5025-57/providers/microsoft.insights/diagnosticSettingsCategories"; + _requests[3469] = new DefaultHttpContext(); + _requests[3469].RequestServices = CreateServices(); + _requests[3469].Request.Method = "GET"; + _requests[3469].Request.Path = "/23f87d0e-41/providers/microsoft.insights/metricDefinitions"; + _requests[3470] = new DefaultHttpContext(); + _requests[3470].RequestServices = CreateServices(); + _requests[3470].Request.Method = "GET"; + _requests[3470].Request.Path = "/0c9f420b-47/providers/microsoft.insights/metrics"; + _requests[3471] = new DefaultHttpContext(); + _requests[3471].RequestServices = CreateServices(); + _requests[3471].Request.Method = "GET"; + _requests[3471].Request.Path = "/59f13b9c-65/providers/Microsoft.ResourceHealth/availabilityStatuses"; + _requests[3472] = new DefaultHttpContext(); + _requests[3472].RequestServices = CreateServices(); + _requests[3472].Request.Method = "GET"; + _requests[3472].Request.Path = "/b2724/providers/Microsoft.Authorization/policyAssignments"; + _requests[3473] = new DefaultHttpContext(); + _requests[3473].RequestServices = CreateServices(); + _requests[3473].Request.Method = "GET"; + _requests[3473].Request.Path = "/53f0b/providers/Microsoft.Authorization/roleAssignments"; + _requests[3474] = new DefaultHttpContext(); + _requests[3474].RequestServices = CreateServices(); + _requests[3474].Request.Method = "GET"; + _requests[3474].Request.Path = "/9f6ba/providers/Microsoft.Authorization/roleDefinitions"; + _requests[3475] = new DefaultHttpContext(); + _requests[3475].RequestServices = CreateServices(); + _requests[3475].Request.Method = "GET"; + _requests[3475].Request.Path = "/f36c3/providers/Microsoft.Consumption/reservationDetails"; + _requests[3476] = new DefaultHttpContext(); + _requests[3476].RequestServices = CreateServices(); + _requests[3476].Request.Method = "GET"; + _requests[3476].Request.Path = "/74f1f/providers/Microsoft.Consumption/reservationSummaries"; + _requests[3477] = new DefaultHttpContext(); + _requests[3477].RequestServices = CreateServices(); + _requests[3477].Request.Method = "GET"; + _requests[3477].Request.Path = "/31cd7/providers/Microsoft.Consumption/usageDetails"; + _requests[3478] = new DefaultHttpContext(); + _requests[3478].RequestServices = CreateServices(); + _requests[3478].Request.Method = "GET"; + _requests[3478].Request.Path = "/216f3/providers/Microsoft.Resources/links"; + _requests[3479] = new DefaultHttpContext(); + _requests[3479].RequestServices = CreateServices(); + _requests[3479].Request.Method = "GET"; + _requests[3479].Request.Path = "/cf5d9/providers/Microsoft.Security/compliances"; + _requests[3480] = new DefaultHttpContext(); + _requests[3480].RequestServices = CreateServices(); + _requests[3480].Request.Method = "PATCH"; + _requests[3480].Request.Path = "/704d76c5-53/providers/microsoft.insights/diagnosticSettings/service"; + _requests[3481] = new DefaultHttpContext(); + _requests[3481].RequestServices = CreateServices(); + _requests[3481].Request.Method = "GET"; + _requests[3481].Request.Path = "/9fdaded0-9f/providers/Microsoft.ResourceHealth/availabilityStatuses/current"; + _requests[3482] = new DefaultHttpContext(); + _requests[3482].RequestServices = CreateServices(); + _requests[3482].Request.Method = "GET"; + _requests[3482].Request.Path = "/48737/providers/Microsoft.PolicyInsights/policyEvents/$metadata"; + _requests[3483] = new DefaultHttpContext(); + _requests[3483].RequestServices = CreateServices(); + _requests[3483].Request.Method = "GET"; + _requests[3483].Request.Path = "/24282/providers/Microsoft.PolicyInsights/policyStates/$metadata"; + _requests[3484] = new DefaultHttpContext(); + _requests[3484].RequestServices = CreateServices(); + _requests[3484].Request.Method = "GET"; + _requests[3484].Request.Path = "/adb75c31-35/providers/Microsoft.Advisor/recommendations/34d554ee-a445-4b"; + _requests[3485] = new DefaultHttpContext(); + _requests[3485].RequestServices = CreateServices(); + _requests[3485].Request.Method = "GET"; + _requests[3485].Request.Path = "/cca35c40-23/providers/microsoft.insights/baseline/8f4f4722-e"; + _requests[3486] = new DefaultHttpContext(); + _requests[3486].RequestServices = CreateServices(); + _requests[3486].Request.Method = "DELETE"; + _requests[3486].Request.Path = "/e6938032-7a/providers/microsoft.insights/diagnosticSettings/f54e3"; + _requests[3487] = new DefaultHttpContext(); + _requests[3487].RequestServices = CreateServices(); + _requests[3487].Request.Method = "GET"; + _requests[3487].Request.Path = "/c42f8c3c-98/providers/microsoft.insights/diagnosticSettingsCategories/f4711"; + _requests[3488] = new DefaultHttpContext(); + _requests[3488].RequestServices = CreateServices(); + _requests[3488].Request.Method = "GET"; + _requests[3488].Request.Path = "/1fa2a/providers/Microsoft.Authorization/locks/12802ef8"; + _requests[3489] = new DefaultHttpContext(); + _requests[3489].RequestServices = CreateServices(); + _requests[3489].Request.Method = "GET"; + _requests[3489].Request.Path = "/cdfe6/providers/Microsoft.Authorization/policyAssignments/f6729358-5ff4-4857-8"; + _requests[3490] = new DefaultHttpContext(); + _requests[3490].RequestServices = CreateServices(); + _requests[3490].Request.Method = "GET"; + _requests[3490].Request.Path = "/4f5b8/providers/Microsoft.Authorization/roleAssignments/a435df57-0449-424e"; + _requests[3491] = new DefaultHttpContext(); + _requests[3491].RequestServices = CreateServices(); + _requests[3491].Request.Method = "PUT"; + _requests[3491].Request.Path = "/2c2f1/providers/Microsoft.Authorization/roleDefinitions/9d9cd928-84db-43"; + _requests[3492] = new DefaultHttpContext(); + _requests[3492].RequestServices = CreateServices(); + _requests[3492].Request.Method = "PATCH"; + _requests[3492].Request.Path = "/6acab/providers/Microsoft.EventGrid/eventSubscriptions/e852a59a-80b3-4b68-8b"; + _requests[3493] = new DefaultHttpContext(); + _requests[3493].RequestServices = CreateServices(); + _requests[3493].Request.Method = "GET"; + _requests[3493].Request.Path = "/ab5d9/providers/Microsoft.Security/compliances/f573d92b-8ad7-"; + _requests[3494] = new DefaultHttpContext(); + _requests[3494].RequestServices = CreateServices(); + _requests[3494].Request.Method = "POST"; + _requests[3494].Request.Path = "/32bda496-b/providers/Microsoft.PolicyInsights/policyEvents/ef17c09a-fffa-44d9-8/queryResults"; + _requests[3495] = new DefaultHttpContext(); + _requests[3495].RequestServices = CreateServices(); + _requests[3495].Request.Method = "POST"; + _requests[3495].Request.Path = "/28dc0c02-d/providers/Microsoft.PolicyInsights/policyStates/d812321f-7636-4847-8/queryResults"; + _requests[3496] = new DefaultHttpContext(); + _requests[3496].RequestServices = CreateServices(); + _requests[3496].Request.Method = "POST"; + _requests[3496].Request.Path = "/2a9d83b2-c/providers/Microsoft.PolicyInsights/policyStates/09cac66b-b27f-41e4-b959-55b/summarize"; + _requests[3497] = new DefaultHttpContext(); + _requests[3497].RequestServices = CreateServices(); + _requests[3497].Request.Method = "POST"; + _requests[3497].Request.Path = "/3e0dd/providers/Microsoft.EventGrid/eventSubscriptions/12732c1a-4e88-4778-a8/getFullUrl"; + _requests[3498] = new DefaultHttpContext(); + _requests[3498].RequestServices = CreateServices(); + _requests[3498].Request.Method = "DELETE"; + _requests[3498].Request.Path = "/9c373a03-99/providers/Microsoft.Advisor/recommendations/943eb968-fb25-41/suppressions/e1c3c"; + _requests[3499] = new DefaultHttpContext(); + _requests[3499].RequestServices = CreateServices(); + _requests[3499].Request.Method = "PATCH"; + _requests[3499].Request.Path = "/e89fd75e/applications/a3ab94b7-c2c4-45c7-"; + _requests[3500] = new DefaultHttpContext(); + _requests[3500].RequestServices = CreateServices(); + _requests[3500].Request.Method = "GET"; + _requests[3500].Request.Path = "/c124b8d8/domains/5b8eb28f-8"; + _requests[3501] = new DefaultHttpContext(); + _requests[3501].RequestServices = CreateServices(); + _requests[3501].Request.Method = "DELETE"; + _requests[3501].Request.Path = "/647f6b48/groups/2740afb7"; + _requests[3502] = new DefaultHttpContext(); + _requests[3502].RequestServices = CreateServices(); + _requests[3502].Request.Method = "GET"; + _requests[3502].Request.Path = "/73f263a0/servicePrincipals/2ec4199c"; + _requests[3503] = new DefaultHttpContext(); + _requests[3503].RequestServices = CreateServices(); + _requests[3503].Request.Method = "DELETE"; + _requests[3503].Request.Path = "/b71204f8/users/c9b64f97-dfc3"; + _requests[3504] = new DefaultHttpContext(); + _requests[3504].RequestServices = CreateServices(); + _requests[3504].Request.Method = "POST"; + _requests[3504].Request.Path = "/2909b454-/images/ad0e646/regionproposals"; + _requests[3505] = new DefaultHttpContext(); + _requests[3505].RequestServices = CreateServices(); + _requests[3505].Request.Method = "PATCH"; + _requests[3505].Request.Path = "/7a98e4ea/applications/1b406dfb-df0e-41aa-/keyCredentials"; + _requests[3506] = new DefaultHttpContext(); + _requests[3506].RequestServices = CreateServices(); + _requests[3506].Request.Method = "GET"; + _requests[3506].Request.Path = "/0f49b4bb/applications/f80fc76b-76b1-4f14-/owners"; + _requests[3507] = new DefaultHttpContext(); + _requests[3507].RequestServices = CreateServices(); + _requests[3507].Request.Method = "PATCH"; + _requests[3507].Request.Path = "/cb2ede39/applications/967b4702-9475-49af-/passwordCredentials"; + _requests[3508] = new DefaultHttpContext(); + _requests[3508].RequestServices = CreateServices(); + _requests[3508].Request.Method = "POST"; + _requests[3508].Request.Path = "/2a351f2b/groups/07886aaa/getMemberGroups"; + _requests[3509] = new DefaultHttpContext(); + _requests[3509].RequestServices = CreateServices(); + _requests[3509].Request.Method = "GET"; + _requests[3509].Request.Path = "/4fe717b1/groups/3c6c5bc7/members"; + _requests[3510] = new DefaultHttpContext(); + _requests[3510].RequestServices = CreateServices(); + _requests[3510].Request.Method = "PATCH"; + _requests[3510].Request.Path = "/cbcc6477/servicePrincipals/eb16edb7/keyCredentials"; + _requests[3511] = new DefaultHttpContext(); + _requests[3511].RequestServices = CreateServices(); + _requests[3511].Request.Method = "GET"; + _requests[3511].Request.Path = "/5713409d/servicePrincipals/d3544887/owners"; + _requests[3512] = new DefaultHttpContext(); + _requests[3512].RequestServices = CreateServices(); + _requests[3512].Request.Method = "PATCH"; + _requests[3512].Request.Path = "/cef92b8b/servicePrincipals/243f61fa/passwordCredentials"; + _requests[3513] = new DefaultHttpContext(); + _requests[3513].RequestServices = CreateServices(); + _requests[3513].Request.Method = "POST"; + _requests[3513].Request.Path = "/55be107a/users/ef077f0c/getMemberGroups"; + _requests[3514] = new DefaultHttpContext(); + _requests[3514].RequestServices = CreateServices(); + _requests[3514].Request.Method = "POST"; + _requests[3514].Request.Path = "/f6ee17b3/applications/78d16559-a4b9-4b07-/$links/owners"; + _requests[3515] = new DefaultHttpContext(); + _requests[3515].RequestServices = CreateServices(); + _requests[3515].Request.Method = "POST"; + _requests[3515].Request.Path = "/394c49c2/groups/36a7a085-a426/$links/members"; + _requests[3516] = new DefaultHttpContext(); + _requests[3516].RequestServices = CreateServices(); + _requests[3516].Request.Method = "DELETE"; + _requests[3516].Request.Path = "/50150593/groups/3b69edb3-5a85/$links/members/e508b10d-3e11-"; + } + + private Matcher SetupMatcher(MatcherBuilder builder) + { + builder.AddEntry("/account", _endpoints[0]); + builder.AddEntry("/analyze", _endpoints[1]); + builder.AddEntry("/apis", _endpoints[2]); + builder.AddEntry("/Applications", _endpoints[3]); + builder.AddEntry("/ApplicationTypes", _endpoints[4]); + builder.AddEntry("/apps/", _endpoints[5]); + builder.AddEntry("/authorizationServers", _endpoints[6]); + builder.AddEntry("/backends", _endpoints[7]); + builder.AddEntry("/BuildJob", _endpoints[8]); + builder.AddEntry("/certificates", _endpoints[9]); + builder.AddEntry("/ComposeDeployments", _endpoints[10]); + builder.AddEntry("/datasources", _endpoints[11]); + builder.AddEntry("/deletedcertificates", _endpoints[12]); + builder.AddEntry("/deletedkeys", _endpoints[13]); + builder.AddEntry("/deletedsecrets", _endpoints[14]); + builder.AddEntry("/deletedstorage", _endpoints[15]); + builder.AddEntry("/describe", _endpoints[16]); + builder.AddEntry("/detect", _endpoints[17]); + builder.AddEntry("/domains", _endpoints[18]); + builder.AddEntry("/entities", _endpoints[19]); + builder.AddEntry("/facelists", _endpoints[20]); + builder.AddEntry("/Faults/", _endpoints[21]); + builder.AddEntry("/findsimilars", _endpoints[22]); + builder.AddEntry("/generateThumbnail", _endpoints[23]); + builder.AddEntry("/group", _endpoints[24]); + builder.AddEntry("/groups", _endpoints[25]); + builder.AddEntry("/identify", _endpoints[26]); + builder.AddEntry("/identityProviders", _endpoints[27]); + builder.AddEntry("/ImageStore", _endpoints[28]); + builder.AddEntry("/indexers", _endpoints[29]); + builder.AddEntry("/indexes", _endpoints[30]); + builder.AddEntry("/Jobs", _endpoints[31]); + builder.AddEntry("/jobschedules", _endpoints[32]); + builder.AddEntry("/keys", _endpoints[33]); + builder.AddEntry("/lifetimejobstats", _endpoints[34]); + builder.AddEntry("/lifetimepoolstats", _endpoints[35]); + builder.AddEntry("/loggers", _endpoints[36]); + builder.AddEntry("/models", _endpoints[37]); + builder.AddEntry("/news", _endpoints[38]); + builder.AddEntry("/nodeagentskus", _endpoints[39]); + builder.AddEntry("/nodecounts", _endpoints[40]); + builder.AddEntry("/Nodes", _endpoints[41]); + builder.AddEntry("/ocr", _endpoints[42]); + builder.AddEntry("/offers", _endpoints[43]); + builder.AddEntry("/openidConnectProviders", _endpoints[44]); + builder.AddEntry("/persongroups", _endpoints[45]); + builder.AddEntry("/pipelines", _endpoints[46]); + builder.AddEntry("/policies", _endpoints[47]); + builder.AddEntry("/policySnippets", _endpoints[48]); + builder.AddEntry("/pools", _endpoints[49]); + builder.AddEntry("/poolusagemetrics", _endpoints[50]); + builder.AddEntry("/products", _endpoints[51]); + builder.AddEntry("/projects", _endpoints[52]); + builder.AddEntry("/properties", _endpoints[53]); + builder.AddEntry("/recognizeText", _endpoints[54]); + builder.AddEntry("/recurrences", _endpoints[55]); + builder.AddEntry("/regions", _endpoints[56]); + builder.AddEntry("/search", _endpoints[57]); + builder.AddEntry("/secrets", _endpoints[58]); + builder.AddEntry("/servicestats", _endpoints[59]); + builder.AddEntry("/spellcheck", _endpoints[60]); + builder.AddEntry("/storage", _endpoints[61]); + builder.AddEntry("/subscriptions", _endpoints[62]); + builder.AddEntry("/synonymmaps", _endpoints[63]); + builder.AddEntry("/tag", _endpoints[64]); + builder.AddEntry("/templates", _endpoints[65]); + builder.AddEntry("/tenants", _endpoints[66]); + builder.AddEntry("/users", _endpoints[67]); + builder.AddEntry("/verify", _endpoints[68]); + builder.AddEntry("/$/CancelRepairTask", _endpoints[69]); + builder.AddEntry("/$/CreateRepairTask", _endpoints[70]); + builder.AddEntry("/$/DeleteRepairTask", _endpoints[71]); + builder.AddEntry("/$/ForceApproveRepairTask", _endpoints[72]); + builder.AddEntry("/$/GetAadMetadata", _endpoints[73]); + builder.AddEntry("/$/GetClusterConfiguration", _endpoints[74]); + builder.AddEntry("/$/GetClusterConfigurationUpgradeStatus", _endpoints[75]); + builder.AddEntry("/$/GetClusterHealth", _endpoints[76]); + builder.AddEntry("/$/GetClusterHealthChunk", _endpoints[77]); + builder.AddEntry("/$/GetClusterManifest", _endpoints[78]); + builder.AddEntry("/$/GetLoadInformation", _endpoints[79]); + builder.AddEntry("/$/GetProvisionedCodeVersions", _endpoints[80]); + builder.AddEntry("/$/GetProvisionedConfigVersions", _endpoints[81]); + builder.AddEntry("/$/GetRepairTaskList", _endpoints[82]); + builder.AddEntry("/$/GetUpgradeOrchestrationServiceState", _endpoints[83]); + builder.AddEntry("/$/GetUpgradeProgress", _endpoints[84]); + builder.AddEntry("/$/InvokeInfrastructureCommand", _endpoints[85]); + builder.AddEntry("/$/InvokeInfrastructureQuery", _endpoints[86]); + builder.AddEntry("/$/MoveToNextUpgradeDomain", _endpoints[87]); + builder.AddEntry("/$/Provision", _endpoints[88]); + builder.AddEntry("/$/RecoverAllPartitions", _endpoints[89]); + builder.AddEntry("/$/RecoverSystemPartitions", _endpoints[90]); + builder.AddEntry("/$/ReportClusterHealth", _endpoints[91]); + builder.AddEntry("/$/RollbackUpgrade", _endpoints[92]); + builder.AddEntry("/$/SetUpgradeOrchestrationServiceState", _endpoints[93]); + builder.AddEntry("/$/StartClusterConfigurationUpgrade", _endpoints[94]); + builder.AddEntry("/$/Unprovision", _endpoints[95]); + builder.AddEntry("/$/UpdateRepairExecutionState", _endpoints[96]); + builder.AddEntry("/$/UpdateRepairTaskHealthPolicy", _endpoints[97]); + builder.AddEntry("/$/UpdateUpgrade", _endpoints[98]); + builder.AddEntry("/$/Upgrade", _endpoints[99]); + builder.AddEntry("/api/events", _endpoints[100]); + builder.AddEntry("/apps/assistants", _endpoints[101]); + builder.AddEntry("/apps/cultures", _endpoints[102]); + builder.AddEntry("/apps/customprebuiltdomains", _endpoints[103]); + builder.AddEntry("/apps/domains", _endpoints[104]); + builder.AddEntry("/apps/import", _endpoints[105]); + builder.AddEntry("/apps/usagescenarios", _endpoints[106]); + builder.AddEntry("/BackupRestore/BackupPolicies", _endpoints[107]); + builder.AddEntry("/certificates/contacts", _endpoints[108]); + builder.AddEntry("/certificates/issuers", _endpoints[109]); + builder.AddEntry("/docs/$count", _endpoints[110]); + builder.AddEntry("/docs/autocomplete", _endpoints[111]); + builder.AddEntry("/images/details", _endpoints[112]); + builder.AddEntry("/images/search", _endpoints[113]); + builder.AddEntry("/images/trending", _endpoints[114]); + builder.AddEntry("/images/visualsearch", _endpoints[115]); + builder.AddEntry("/keys/restore", _endpoints[116]); + builder.AddEntry("/news/search", _endpoints[117]); + builder.AddEntry("/news/trendingtopics", _endpoints[118]); + builder.AddEntry("/portalsettings/delegation", _endpoints[119]); + builder.AddEntry("/portalsettings/signin", _endpoints[120]); + builder.AddEntry("/portalsettings/signup", _endpoints[121]); + builder.AddEntry("/reports/byApi", _endpoints[122]); + builder.AddEntry("/reports/byGeo", _endpoints[123]); + builder.AddEntry("/reports/byOperation", _endpoints[124]); + builder.AddEntry("/reports/byProduct", _endpoints[125]); + builder.AddEntry("/reports/byRequest", _endpoints[126]); + builder.AddEntry("/reports/bySubscription", _endpoints[127]); + builder.AddEntry("/reports/byTime", _endpoints[128]); + builder.AddEntry("/reports/byUser", _endpoints[129]); + builder.AddEntry("/secrets/restore", _endpoints[130]); + builder.AddEntry("/storage/restore", _endpoints[131]); + builder.AddEntry("/Tools/Chaos", _endpoints[132]); + builder.AddEntry("/v2.0/entities", _endpoints[133]); + builder.AddEntry("/v2.0/keyPhrases", _endpoints[134]); + builder.AddEntry("/v2.0/languages", _endpoints[135]); + builder.AddEntry("/v2.0/sentiment", _endpoints[136]); + builder.AddEntry("/videos/details", _endpoints[137]); + builder.AddEntry("/videos/search", _endpoints[138]); + builder.AddEntry("/videos/trending", _endpoints[139]); + builder.AddEntry("/Applications/$/Create", _endpoints[140]); + builder.AddEntry("/ApplicationTypes/$/Provision", _endpoints[141]); + builder.AddEntry("/BackupRestore/$/GetBackups", _endpoints[142]); + builder.AddEntry("/catalog/usql/acl", _endpoints[143]); + builder.AddEntry("/catalog/usql/databases", _endpoints[144]); + builder.AddEntry("/ComposeDeployments/$/Create", _endpoints[145]); + builder.AddEntry("/EventsStore/Applications/Events", _endpoints[146]); + builder.AddEntry("/EventsStore/Cluster/Events", _endpoints[147]); + builder.AddEntry("/EventsStore/Containers/Events", _endpoints[148]); + builder.AddEntry("/EventsStore/Nodes/Events", _endpoints[149]); + builder.AddEntry("/EventsStore/Partitions/Events", _endpoints[150]); + builder.AddEntry("/EventsStore/Services/Events", _endpoints[151]); + builder.AddEntry("/Faults/$/Cancel", _endpoints[152]); + builder.AddEntry("/ImageStore/$/CommitUploadSession", _endpoints[153]); + builder.AddEntry("/ImageStore/$/Copy", _endpoints[154]); + builder.AddEntry("/ImageStore/$/DeleteUploadSession", _endpoints[155]); + builder.AddEntry("/ImageStore/$/GetUploadSession", _endpoints[156]); + builder.AddEntry("/Names/$/Create", _endpoints[157]); + builder.AddEntry("/providers/Microsoft.AAD/operations", _endpoints[158]); + builder.AddEntry("/providers/Microsoft.Addons/operations", _endpoints[159]); + builder.AddEntry("/providers/Microsoft.ADHybridHealthService/addsservices", _endpoints[160]); + builder.AddEntry("/providers/Microsoft.ADHybridHealthService/configuration", _endpoints[161]); + builder.AddEntry("/providers/Microsoft.ADHybridHealthService/operations", _endpoints[162]); + builder.AddEntry("/providers/Microsoft.ADHybridHealthService/services", _endpoints[163]); + builder.AddEntry("/providers/Microsoft.Advisor/operations", _endpoints[164]); + builder.AddEntry("/providers/Microsoft.AnalysisServices/operations", _endpoints[165]); + builder.AddEntry("/providers/Microsoft.ApiManagement/operations", _endpoints[166]); + builder.AddEntry("/providers/Microsoft.Authorization/policyDefinitions", _endpoints[167]); + builder.AddEntry("/providers/Microsoft.Authorization/policySetDefinitions", _endpoints[168]); + builder.AddEntry("/providers/Microsoft.Authorization/providerOperations", _endpoints[169]); + builder.AddEntry("/providers/Microsoft.Automation/operations", _endpoints[170]); + builder.AddEntry("/providers/Microsoft.AzureStack/operations", _endpoints[171]); + builder.AddEntry("/providers/Microsoft.Backup.Admin/operations", _endpoints[172]); + builder.AddEntry("/providers/Microsoft.Batch/operations", _endpoints[173]); + builder.AddEntry("/providers/Microsoft.BatchAI/operations", _endpoints[174]); + builder.AddEntry("/providers/Microsoft.Billing/enrollmentAccounts", _endpoints[175]); + builder.AddEntry("/providers/Microsoft.Billing/operations", _endpoints[176]); + builder.AddEntry("/providers/Microsoft.BotService/operations", _endpoints[177]); + builder.AddEntry("/providers/Microsoft.Cache/operations", _endpoints[178]); + builder.AddEntry("/providers/Microsoft.Capacity/operations", _endpoints[179]); + builder.AddEntry("/providers/Microsoft.Capacity/reservationOrders", _endpoints[180]); + builder.AddEntry("/providers/Microsoft.Cdn/checkNameAvailability", _endpoints[181]); + builder.AddEntry("/providers/Microsoft.Cdn/edgenodes", _endpoints[182]); + builder.AddEntry("/providers/Microsoft.Cdn/operations", _endpoints[183]); + builder.AddEntry("/providers/Microsoft.CertificateRegistration/operations", _endpoints[184]); + builder.AddEntry("/providers/Microsoft.CognitiveServices/operations", _endpoints[185]); + builder.AddEntry("/providers/Microsoft.Commerce.Admin/operations", _endpoints[186]); + builder.AddEntry("/providers/Microsoft.Compute.Admin/operations", _endpoints[187]); + builder.AddEntry("/providers/Microsoft.Compute/operations", _endpoints[188]); + builder.AddEntry("/providers/Microsoft.Consumption/operations", _endpoints[189]); + builder.AddEntry("/providers/Microsoft.ContainerInstance/operations", _endpoints[190]); + builder.AddEntry("/providers/Microsoft.ContainerRegistry/operations", _endpoints[191]); + builder.AddEntry("/providers/Microsoft.ContainerService/operations", _endpoints[192]); + builder.AddEntry("/providers/Microsoft.CustomerInsights/operations", _endpoints[193]); + builder.AddEntry("/providers/Microsoft.DataBox/operations", _endpoints[194]); + builder.AddEntry("/providers/Microsoft.Databricks/operations", _endpoints[195]); + builder.AddEntry("/providers/Microsoft.DataCatalog/operations", _endpoints[196]); + builder.AddEntry("/providers/Microsoft.DataFactory/operations", _endpoints[197]); + builder.AddEntry("/providers/Microsoft.DataLakeAnalytics/operations", _endpoints[198]); + builder.AddEntry("/providers/Microsoft.DataLakeStore/operations", _endpoints[199]); + builder.AddEntry("/providers/Microsoft.DataMigration/operations", _endpoints[200]); + builder.AddEntry("/providers/Microsoft.DBforMySQL/operations", _endpoints[201]); + builder.AddEntry("/providers/Microsoft.DBforPostgreSQL/operations", _endpoints[202]); + builder.AddEntry("/providers/Microsoft.Devices/operations", _endpoints[203]); + builder.AddEntry("/providers/Microsoft.DevTestLab/operations", _endpoints[204]); + builder.AddEntry("/providers/Microsoft.DocumentDB/operations", _endpoints[205]); + builder.AddEntry("/providers/Microsoft.DomainRegistration/operations", _endpoints[206]); + builder.AddEntry("/providers/Microsoft.EventGrid/operations", _endpoints[207]); + builder.AddEntry("/providers/Microsoft.EventGrid/topicTypes", _endpoints[208]); + builder.AddEntry("/providers/Microsoft.EventHub/operations", _endpoints[209]); + builder.AddEntry("/providers/Microsoft.Fabric.Admin/operations", _endpoints[210]); + builder.AddEntry("/providers/Microsoft.Gallery.Admin/operations", _endpoints[211]); + builder.AddEntry("/providers/Microsoft.HanaOnAzure/operations", _endpoints[212]); + builder.AddEntry("/providers/Microsoft.HDInsight/operations", _endpoints[213]); + builder.AddEntry("/providers/Microsoft.ImportExport/locations", _endpoints[214]); + builder.AddEntry("/providers/Microsoft.ImportExport/operations", _endpoints[215]); + builder.AddEntry("/providers/Microsoft.InfrastructureInsights.Admin/operations", _endpoints[216]); + builder.AddEntry("/providers/microsoft.insights/eventcategories", _endpoints[217]); + builder.AddEntry("/providers/microsoft.insights/operations", _endpoints[218]); + builder.AddEntry("/providers/Microsoft.Intune/locations", _endpoints[219]); + builder.AddEntry("/providers/Microsoft.IoTCentral/operations", _endpoints[220]); + builder.AddEntry("/providers/Microsoft.IoTSpaces/operations", _endpoints[221]); + builder.AddEntry("/providers/Microsoft.KeyVault.Admin/operations", _endpoints[222]); + builder.AddEntry("/providers/Microsoft.KeyVault/operations", _endpoints[223]); + builder.AddEntry("/providers/Microsoft.Logic/operations", _endpoints[224]); + builder.AddEntry("/providers/Microsoft.MachineLearning/operations", _endpoints[225]); + builder.AddEntry("/providers/Microsoft.MachineLearningCompute/operations", _endpoints[226]); + builder.AddEntry("/providers/Microsoft.MachineLearningExperimentation/operations", _endpoints[227]); + builder.AddEntry("/providers/Microsoft.MachineLearningServices/operations", _endpoints[228]); + builder.AddEntry("/providers/Microsoft.ManagedIdentity/operations", _endpoints[229]); + builder.AddEntry("/providers/Microsoft.Management/checkNameAvailability", _endpoints[230]); + builder.AddEntry("/providers/Microsoft.Management/getEntities", _endpoints[231]); + builder.AddEntry("/providers/Microsoft.Management/managementGroups", _endpoints[232]); + builder.AddEntry("/providers/Microsoft.Management/operations", _endpoints[233]); + builder.AddEntry("/providers/Microsoft.Management/startTenantBackfill", _endpoints[234]); + builder.AddEntry("/providers/Microsoft.Management/tenantBackfillStatus", _endpoints[235]); + builder.AddEntry("/providers/Microsoft.ManagementPartner/operations", _endpoints[236]); + builder.AddEntry("/providers/Microsoft.Maps/operations", _endpoints[237]); + builder.AddEntry("/providers/Microsoft.MarketplaceOrdering/operations", _endpoints[238]); + builder.AddEntry("/providers/Microsoft.Media/operations", _endpoints[239]); + builder.AddEntry("/providers/Microsoft.Migrate/operations", _endpoints[240]); + builder.AddEntry("/providers/Microsoft.Network/checkTrafficManagerNameAvailability", _endpoints[241]); + builder.AddEntry("/providers/Microsoft.Network/operations", _endpoints[242]); + builder.AddEntry("/providers/Microsoft.NotificationHubs/operations", _endpoints[243]); + builder.AddEntry("/providers/Microsoft.OperationalInsights/operations", _endpoints[244]); + builder.AddEntry("/providers/Microsoft.OperationsManagement/operations", _endpoints[245]); + builder.AddEntry("/providers/Microsoft.PolicyInsights/operations", _endpoints[246]); + builder.AddEntry("/providers/Microsoft.PowerBI/operations", _endpoints[247]); + builder.AddEntry("/providers/Microsoft.PowerBIDedicated/operations", _endpoints[248]); + builder.AddEntry("/providers/Microsoft.RecoveryServices/operations", _endpoints[249]); + builder.AddEntry("/providers/Microsoft.Relay/operations", _endpoints[250]); + builder.AddEntry("/providers/Microsoft.ResourceHealth/operations", _endpoints[251]); + builder.AddEntry("/providers/Microsoft.Search/operations", _endpoints[252]); + builder.AddEntry("/providers/Microsoft.Security/operations", _endpoints[253]); + builder.AddEntry("/providers/Microsoft.ServiceBus/operations", _endpoints[254]); + builder.AddEntry("/providers/Microsoft.ServiceFabric/operations", _endpoints[255]); + builder.AddEntry("/providers/Microsoft.SignalRService/operations", _endpoints[256]); + builder.AddEntry("/providers/Microsoft.Sql/operations", _endpoints[257]); + builder.AddEntry("/providers/Microsoft.Storage.Admin/operations", _endpoints[258]); + builder.AddEntry("/providers/Microsoft.Storage/operations", _endpoints[259]); + builder.AddEntry("/providers/Microsoft.StorSimple/operations", _endpoints[260]); + builder.AddEntry("/providers/Microsoft.StreamAnalytics/operations", _endpoints[261]); + builder.AddEntry("/providers/Microsoft.Subscription/operations", _endpoints[262]); + builder.AddEntry("/providers/Microsoft.Subscription/subscriptionDefinitions", _endpoints[263]); + builder.AddEntry("/providers/Microsoft.Subscription/subscriptionOperations", _endpoints[264]); + builder.AddEntry("/providers/Microsoft.Subscriptions.Admin/operations", _endpoints[265]); + builder.AddEntry("/providers/Microsoft.Subscriptions/operations", _endpoints[266]); + builder.AddEntry("/providers/Microsoft.TimeSeriesInsights/operations", _endpoints[267]); + builder.AddEntry("/providers/Microsoft.Update.Admin/operations", _endpoints[268]); + builder.AddEntry("/providers/microsoft.visualstudio/operations", _endpoints[269]); + builder.AddEntry("/providers/Microsoft.Web/availableStacks", _endpoints[270]); + builder.AddEntry("/providers/Microsoft.Web/operations", _endpoints[271]); + builder.AddEntry("/providers/Microsoft.Web/sourcecontrols", _endpoints[272]); + builder.AddEntry("/Tools/Chaos/Events", _endpoints[273]); + builder.AddEntry("/Tools/Chaos/Schedule", _endpoints[274]); + builder.AddEntry("/BackupRestore/BackupPolicies/$/Create", _endpoints[275]); + builder.AddEntry("/contentmoderator/lists/v1.0/imagelists", _endpoints[276]); + builder.AddEntry("/contentmoderator/lists/v1.0/termlists", _endpoints[277]); + builder.AddEntry("/providers/Microsoft.ADHybridHealthService/addsservices/premiumCheck", _endpoints[278]); + builder.AddEntry("/providers/Microsoft.ADHybridHealthService/services/premiumCheck", _endpoints[279]); + builder.AddEntry("/providers/Microsoft.BotService/botServices/checkNameAvailability", _endpoints[280]); + builder.AddEntry("/providers/Microsoft.Intune/locations/hostName", _endpoints[281]); + builder.AddEntry("/providers/Microsoft.Network/trafficManagerGeographicHierarchies/default", _endpoints[282]); + builder.AddEntry("/providers/Microsoft.Web/publishingUsers/web", _endpoints[283]); + builder.AddEntry("/Tools/Chaos/$/Report", _endpoints[284]); + builder.AddEntry("/Tools/Chaos/$/Start", _endpoints[285]); + builder.AddEntry("/Tools/Chaos/$/Stop", _endpoints[286]); + builder.AddEntry("/contentmoderator/moderate/v1.0/ProcessImage/Evaluate", _endpoints[287]); + builder.AddEntry("/contentmoderator/moderate/v1.0/ProcessImage/FindFaces", _endpoints[288]); + builder.AddEntry("/contentmoderator/moderate/v1.0/ProcessImage/Match", _endpoints[289]); + builder.AddEntry("/contentmoderator/moderate/v1.0/ProcessImage/OCR", _endpoints[290]); + builder.AddEntry("/contentmoderator/moderate/v1.0/ProcessText/DetectLanguage", _endpoints[291]); + builder.AddEntry("/contentmoderator/moderate/v1.0/ProcessText/Screen/", _endpoints[292]); + builder.AddEntry("/providers/microsoft.insights/eventtypes/management/values", _endpoints[293]); + builder.AddEntry("/contentmoderator/lists/v1.0/imagelists/{listId}", _endpoints[294]); + builder.AddEntry("/contentmoderator/lists/v1.0/termlists/{listId}", _endpoints[295]); + builder.AddEntry("/contentmoderator/lists/v1.0/imagelists/{listId}/images", _endpoints[296]); + builder.AddEntry("/contentmoderator/lists/v1.0/imagelists/{listId}/RefreshIndex", _endpoints[297]); + builder.AddEntry("/contentmoderator/lists/v1.0/termlists/{listId}/RefreshIndex", _endpoints[298]); + builder.AddEntry("/contentmoderator/lists/v1.0/termlists/{listId}/terms", _endpoints[299]); + builder.AddEntry("/contentmoderator/review/v1.0/teams/{teamName}/jobs", _endpoints[300]); + builder.AddEntry("/contentmoderator/review/v1.0/teams/{teamName}/reviews", _endpoints[301]); + builder.AddEntry("/contentmoderator/lists/v1.0/imagelists/{listId}/images/{ImageId}", _endpoints[302]); + builder.AddEntry("/contentmoderator/lists/v1.0/termlists/{listId}/terms/{term}", _endpoints[303]); + builder.AddEntry("/contentmoderator/review/v1.0/teams/{teamName}/jobs/{JobId}", _endpoints[304]); + builder.AddEntry("/contentmoderator/review/v1.0/teams/{teamName}/reviews/{reviewId}", _endpoints[305]); + builder.AddEntry("/contentmoderator/review/v1.0/teams/{teamName}/reviews/{reviewId}/frames", _endpoints[306]); + builder.AddEntry("/contentmoderator/review/v1.0/teams/{teamName}/reviews/{reviewId}/publish", _endpoints[307]); + builder.AddEntry("/contentmoderator/review/v1.0/teams/{teamName}/reviews/{reviewId}/transcript", _endpoints[308]); + builder.AddEntry("/contentmoderator/review/v1.0/teams/{teamName}/reviews/{reviewId}/transcriptmoderationresult", _endpoints[309]); + builder.AddEntry("/catalog/usql/databases/{databaseName}", _endpoints[310]); + builder.AddEntry("/providers/Microsoft.ADHybridHealthService/addsservices/{serviceName}", _endpoints[311]); + builder.AddEntry("/providers/Microsoft.ADHybridHealthService/services/{serviceName}", _endpoints[312]); + builder.AddEntry("/providers/Microsoft.Authorization/policyDefinitions/{policyDefinitionName}", _endpoints[313]); + builder.AddEntry("/providers/Microsoft.Authorization/policySetDefinitions/{policySetDefinitionName}", _endpoints[314]); + builder.AddEntry("/providers/Microsoft.Authorization/providerOperations/{resourceProviderNamespace}", _endpoints[315]); + builder.AddEntry("/providers/Microsoft.Billing/enrollmentAccounts/{name}", _endpoints[316]); + builder.AddEntry("/providers/Microsoft.Capacity/reservationOrders/{reservationOrderId}", _endpoints[317]); + builder.AddEntry("/providers/Microsoft.DocumentDB/databaseAccountNames/{accountName}", _endpoints[318]); + builder.AddEntry("/providers/Microsoft.EventGrid/topicTypes/{topicTypeName}", _endpoints[319]); + builder.AddEntry("/providers/Microsoft.ImportExport/locations/{locationName}", _endpoints[320]); + builder.AddEntry("/providers/Microsoft.Management/managementGroups/{groupId}", _endpoints[321]); + builder.AddEntry("/providers/Microsoft.ManagementPartner/partners/{partnerId}", _endpoints[322]); + builder.AddEntry("/providers/Microsoft.Subscription/subscriptionDefinitions/{subscriptionDefinitionName}", _endpoints[323]); + builder.AddEntry("/providers/Microsoft.Subscription/subscriptionOperations/{operationId}", _endpoints[324]); + builder.AddEntry("/providers/Microsoft.Web/sourcecontrols/{sourceControlType}", _endpoints[325]); + builder.AddEntry("/catalog/usql/databases/{databaseName}/acl", _endpoints[326]); + builder.AddEntry("/catalog/usql/databases/{databaseName}/assemblies", _endpoints[327]); + builder.AddEntry("/catalog/usql/databases/{databaseName}/credentials", _endpoints[328]); + builder.AddEntry("/catalog/usql/databases/{databaseName}/externaldatasources", _endpoints[329]); + builder.AddEntry("/catalog/usql/databases/{databaseName}/schemas", _endpoints[330]); + builder.AddEntry("/catalog/usql/databases/{databaseName}/secrets", _endpoints[331]); + builder.AddEntry("/catalog/usql/databases/{databaseName}/statistics", _endpoints[332]); + builder.AddEntry("/catalog/usql/databases/{databaseName}/tables", _endpoints[333]); + builder.AddEntry("/catalog/usql/databases/{databaseName}/tablevaluedfunctions", _endpoints[334]); + builder.AddEntry("/catalog/usql/databases/{databaseName}/views", _endpoints[335]); + builder.AddEntry("/providers/Microsoft.ADHybridHealthService/addsservices/{serviceName}/addomainservicemembers", _endpoints[336]); + builder.AddEntry("/providers/Microsoft.ADHybridHealthService/addsservices/{serviceName}/addsservicemembers", _endpoints[337]); + builder.AddEntry("/providers/Microsoft.ADHybridHealthService/addsservices/{serviceName}/alerts", _endpoints[338]); + builder.AddEntry("/providers/Microsoft.ADHybridHealthService/addsservices/{serviceName}/configuration", _endpoints[339]); + builder.AddEntry("/providers/Microsoft.ADHybridHealthService/addsservices/{serviceName}/forestsummary", _endpoints[340]); + builder.AddEntry("/providers/Microsoft.ADHybridHealthService/addsservices/{serviceName}/metricmetadata", _endpoints[341]); + builder.AddEntry("/providers/Microsoft.ADHybridHealthService/addsservices/{serviceName}/replicationstatus", _endpoints[342]); + builder.AddEntry("/providers/Microsoft.ADHybridHealthService/addsservices/{serviceName}/replicationsummary", _endpoints[343]); + builder.AddEntry("/providers/Microsoft.ADHybridHealthService/services/{serviceName}/alerts", _endpoints[344]); + builder.AddEntry("/providers/Microsoft.ADHybridHealthService/services/{serviceName}/exportstatus", _endpoints[345]); + builder.AddEntry("/providers/Microsoft.ADHybridHealthService/services/{serviceName}/metricmetadata", _endpoints[346]); + builder.AddEntry("/providers/Microsoft.ADHybridHealthService/services/{serviceName}/monitoringconfiguration", _endpoints[347]); + builder.AddEntry("/providers/Microsoft.ADHybridHealthService/services/{serviceName}/monitoringconfigurations", _endpoints[348]); + builder.AddEntry("/providers/Microsoft.ADHybridHealthService/services/{serviceName}/servicemembers", _endpoints[349]); + builder.AddEntry("/providers/Microsoft.Capacity/reservationOrders/{reservationOrderId}/merge", _endpoints[350]); + builder.AddEntry("/providers/Microsoft.Capacity/reservationOrders/{reservationOrderId}/reservations", _endpoints[351]); + builder.AddEntry("/providers/Microsoft.Capacity/reservationOrders/{reservationOrderId}/split", _endpoints[352]); + builder.AddEntry("/providers/Microsoft.EventGrid/topicTypes/{topicTypeName}/eventTypes", _endpoints[353]); + builder.AddEntry("/providers/Microsoft.Intune/locations/{hostName}/androidPolicies", _endpoints[354]); + builder.AddEntry("/providers/Microsoft.Intune/locations/{hostName}/apps", _endpoints[355]); + builder.AddEntry("/providers/Microsoft.Intune/locations/{hostName}/flaggedUsers", _endpoints[356]); + builder.AddEntry("/providers/Microsoft.Intune/locations/{hostName}/iosPolicies", _endpoints[357]); + builder.AddEntry("/providers/Microsoft.Intune/locations/{hostName}/operationResults", _endpoints[358]); + builder.AddEntry("/providers/Microsoft.ADHybridHealthService/services/{serviceName}/exporterrors/counts", _endpoints[359]); + builder.AddEntry("/providers/Microsoft.ADHybridHealthService/services/{serviceName}/exporterrors/listV2", _endpoints[360]); + builder.AddEntry("/providers/Microsoft.Intune/locations/{hostName}/statuses/default", _endpoints[361]); + builder.AddEntry("/providers/Microsoft.ADHybridHealthService/services/{serviceName}/feedbacktype/alerts/feedback", _endpoints[362]); + builder.AddEntry("/providers/Microsoft.Billing/billingAccounts/{billingAccountId}/providers/Microsoft.Consumption/balances", _endpoints[363]); + builder.AddEntry("/providers/Microsoft.Billing/billingAccounts/{billingAccountId}/providers/Microsoft.Consumption/costTags", _endpoints[364]); + builder.AddEntry("/providers/Microsoft.Billing/billingAccounts/{billingAccountId}/providers/Microsoft.Consumption/marketplaces", _endpoints[365]); + builder.AddEntry("/providers/Microsoft.Billing/billingAccounts/{billingAccountId}/providers/Microsoft.Consumption/usageDetails", _endpoints[366]); + builder.AddEntry("/providers/Microsoft.Billing/departments/{departmentId}/providers/Microsoft.Consumption/marketplaces", _endpoints[367]); + builder.AddEntry("/providers/Microsoft.Billing/departments/{departmentId}/providers/Microsoft.Consumption/usageDetails", _endpoints[368]); + builder.AddEntry("/providers/Microsoft.Billing/enrollmentAccounts/{enrollmentAccountId}/providers/Microsoft.Consumption/marketplaces", _endpoints[369]); + builder.AddEntry("/providers/Microsoft.Billing/enrollmentAccounts/{enrollmentAccountId}/providers/Microsoft.Consumption/usageDetails", _endpoints[370]); + builder.AddEntry("/providers/Microsoft.Billing/enrollmentAccounts/{enrollmentAccountName}/providers/Microsoft.Subscription/createSubscription", _endpoints[371]); + builder.AddEntry("/providers/Microsoft.Capacity/reservationorders/{reservationOrderId}/providers/Microsoft.Consumption/reservationDetails", _endpoints[372]); + builder.AddEntry("/providers/Microsoft.Capacity/reservationorders/{reservationOrderId}/providers/Microsoft.Consumption/reservationSummaries", _endpoints[373]); + builder.AddEntry("/providers/Microsoft.CostManagement/billingAccounts/{billingAccountId}/providers/Microsoft.Consumption/tags", _endpoints[374]); + builder.AddEntry("/providers/Microsoft.Management/managementgroups/{managementGroupId}/providers/Microsoft.Authorization/policyDefinitions", _endpoints[375]); + builder.AddEntry("/providers/Microsoft.Management/managementgroups/{managementGroupId}/providers/Microsoft.Authorization/policySetDefinitions", _endpoints[376]); + builder.AddEntry("/providers/Microsoft.ADHybridHealthService/services/{serviceName}/reports/badpassword/details/user", _endpoints[377]); + builder.AddEntry("/providers/Microsoft.Management/managementgroups/{managementGroupId}/providers/Microsoft.Authorization/policyDefinitions/{policyDefinitionName}", _endpoints[378]); + builder.AddEntry("/providers/Microsoft.Management/managementgroups/{managementGroupId}/providers/Microsoft.Authorization/policySetDefinitions/{policySetDefinitionName}", _endpoints[379]); + builder.AddEntry("/providers/Microsoft.Billing/billingAccounts/{billingAccountId}/providers/Microsoft.Billing/billingPeriods/{billingPeriodName}/providers/Microsoft.Consumption/balances", _endpoints[380]); + builder.AddEntry("/providers/Microsoft.Billing/billingAccounts/{billingAccountId}/providers/Microsoft.Billing/billingPeriods/{billingPeriodName}/providers/Microsoft.Consumption/marketplaces", _endpoints[381]); + builder.AddEntry("/providers/Microsoft.Billing/billingAccounts/{billingAccountId}/providers/Microsoft.Billing/billingPeriods/{billingPeriodName}/providers/Microsoft.Consumption/usageDetails", _endpoints[382]); + builder.AddEntry("/providers/Microsoft.Billing/departments/{departmentId}/providers/Microsoft.Billing/billingPeriods/{billingPeriodName}/providers/Microsoft.Consumption/marketplaces", _endpoints[383]); + builder.AddEntry("/providers/Microsoft.Billing/departments/{departmentId}/providers/Microsoft.Billing/billingPeriods/{billingPeriodName}/providers/Microsoft.Consumption/usageDetails", _endpoints[384]); + builder.AddEntry("/providers/Microsoft.Billing/enrollmentAccounts/{enrollmentAccountId}/providers/Microsoft.Billing/billingPeriods/{billingPeriodName}/providers/Microsoft.Consumption/marketplaces", _endpoints[385]); + builder.AddEntry("/providers/Microsoft.Billing/enrollmentAccounts/{enrollmentAccountId}/providers/Microsoft.Billing/billingPeriods/{billingPeriodName}/providers/Microsoft.Consumption/usageDetails", _endpoints[386]); + builder.AddEntry("/providers/Microsoft.ADHybridHealthService/services/{serviceName}/feedbacktype/alerts/{shortName}/alertfeedback", _endpoints[387]); + builder.AddEntry("/catalog/usql/databases/{databaseName}/assemblies/{assemblyName}", _endpoints[388]); + builder.AddEntry("/catalog/usql/databases/{databaseName}/credentials/{credentialName}", _endpoints[389]); + builder.AddEntry("/catalog/usql/databases/{databaseName}/externaldatasources/{externalDataSourceName}", _endpoints[390]); + builder.AddEntry("/catalog/usql/databases/{databaseName}/schemas/{schemaName}", _endpoints[391]); + builder.AddEntry("/catalog/usql/databases/{databaseName}/secrets/{secretName}", _endpoints[392]); + builder.AddEntry("/providers/Microsoft.ADHybridHealthService/addsservices/{serviceName}/dimensions/{dimension}", _endpoints[393]); + builder.AddEntry("/providers/Microsoft.ADHybridHealthService/addsservices/{serviceName}/metricmetadata/{metricName}", _endpoints[394]); + builder.AddEntry("/providers/Microsoft.ADHybridHealthService/services/{serviceName}/checkServiceFeatureAvailibility/{featureName}", _endpoints[395]); + builder.AddEntry("/providers/Microsoft.ADHybridHealthService/services/{serviceName}/metricmetadata/{metricName}", _endpoints[396]); + builder.AddEntry("/providers/Microsoft.ADHybridHealthService/services/{serviceName}/servicemembers/{serviceMemberId}", _endpoints[397]); + builder.AddEntry("/providers/Microsoft.ADHybridHealthService/services/{serviceName}/TenantWhitelisting/{featureName}", _endpoints[398]); + builder.AddEntry("/providers/Microsoft.Capacity/reservationOrders/{reservationOrderId}/reservations/{reservationId}", _endpoints[399]); + builder.AddEntry("/providers/Microsoft.Intune/locations/{hostName}/androidPolicies/{policyName}", _endpoints[400]); + builder.AddEntry("/providers/Microsoft.Intune/locations/{hostName}/flaggedUsers/{userName}", _endpoints[401]); + builder.AddEntry("/providers/Microsoft.Intune/locations/{hostName}/iosPolicies/{policyName}", _endpoints[402]); + builder.AddEntry("/providers/Microsoft.Management/managementGroups/{groupId}/subscriptions/{subscriptionId}", _endpoints[403]); + builder.AddEntry("/catalog/usql/databases/{databaseName}/schemas/{schemaName}/packages", _endpoints[404]); + builder.AddEntry("/catalog/usql/databases/{databaseName}/schemas/{schemaName}/procedures", _endpoints[405]); + builder.AddEntry("/catalog/usql/databases/{databaseName}/schemas/{schemaName}/statistics", _endpoints[406]); + builder.AddEntry("/catalog/usql/databases/{databaseName}/schemas/{schemaName}/tables", _endpoints[407]); + builder.AddEntry("/catalog/usql/databases/{databaseName}/schemas/{schemaName}/tabletypes", _endpoints[408]); + builder.AddEntry("/catalog/usql/databases/{databaseName}/schemas/{schemaName}/tablevaluedfunctions", _endpoints[409]); + builder.AddEntry("/catalog/usql/databases/{databaseName}/schemas/{schemaName}/types", _endpoints[410]); + builder.AddEntry("/catalog/usql/databases/{databaseName}/schemas/{schemaName}/views", _endpoints[411]); + builder.AddEntry("/providers/Microsoft.ADHybridHealthService/addsservices/{serviceName}/servicemembers/{serviceMemberId}/alerts", _endpoints[412]); + builder.AddEntry("/providers/Microsoft.ADHybridHealthService/service/{serviceName}/servicemembers/{serviceMemberId}/connectors", _endpoints[413]); + builder.AddEntry("/providers/Microsoft.ADHybridHealthService/services/{serviceName}/servicemembers/{serviceMemberId}/alerts", _endpoints[414]); + builder.AddEntry("/providers/Microsoft.ADHybridHealthService/services/{serviceName}/servicemembers/{serviceMemberId}/credentials", _endpoints[415]); + builder.AddEntry("/providers/Microsoft.ADHybridHealthService/services/{serviceName}/servicemembers/{serviceMemberId}/data", _endpoints[416]); + builder.AddEntry("/providers/Microsoft.ADHybridHealthService/services/{serviceName}/servicemembers/{serviceMemberId}/datafreshness", _endpoints[417]); + builder.AddEntry("/providers/Microsoft.ADHybridHealthService/services/{serviceName}/servicemembers/{serviceMemberId}/exportstatus", _endpoints[418]); + builder.AddEntry("/providers/Microsoft.ADHybridHealthService/services/{serviceName}/servicemembers/{serviceMemberId}/globalconfiguration", _endpoints[419]); + builder.AddEntry("/providers/Microsoft.ADHybridHealthService/services/{serviceName}/servicemembers/{serviceMemberId}/serviceconfiguration", _endpoints[420]); + builder.AddEntry("/providers/Microsoft.Capacity/reservationOrders/{reservationOrderId}/reservations/{reservationId}/revisions", _endpoints[421]); + builder.AddEntry("/providers/Microsoft.Intune/locations/{hostName}/AndroidPolicies/{policyName}/apps", _endpoints[422]); + builder.AddEntry("/providers/Microsoft.Intune/locations/{hostName}/androidPolicies/{policyName}/groups", _endpoints[423]); + builder.AddEntry("/providers/Microsoft.Intune/locations/{hostName}/flaggedUsers/{userName}/flaggedEnrolledApps", _endpoints[424]); + builder.AddEntry("/providers/Microsoft.Intune/locations/{hostName}/iosPolicies/{policyName}/apps", _endpoints[425]); + builder.AddEntry("/providers/Microsoft.Intune/locations/{hostName}/iosPolicies/{policyName}/groups", _endpoints[426]); + builder.AddEntry("/providers/Microsoft.Intune/locations/{hostName}/users/{userName}/devices", _endpoints[427]); + builder.AddEntry("/providers/Microsoft.Capacity/reservationorders/{reservationOrderId}/reservations/{reservationId}/providers/Microsoft.Consumption/reservationDetails", _endpoints[428]); + builder.AddEntry("/providers/Microsoft.Capacity/reservationorders/{reservationOrderId}/reservations/{reservationId}/providers/Microsoft.Consumption/reservationSummaries", _endpoints[429]); + builder.AddEntry("/catalog/usql/databases/{databaseName}/schemas/{schemaName}/packages/{packageName}", _endpoints[430]); + builder.AddEntry("/catalog/usql/databases/{databaseName}/schemas/{schemaName}/procedures/{procedureName}", _endpoints[431]); + builder.AddEntry("/catalog/usql/databases/{databaseName}/schemas/{schemaName}/tables/{tableName}", _endpoints[432]); + builder.AddEntry("/catalog/usql/databases/{databaseName}/schemas/{schemaName}/tabletypes/{tableTypeName}", _endpoints[433]); + builder.AddEntry("/catalog/usql/databases/{databaseName}/schemas/{schemaName}/tablevaluedfunctions/{tableValuedFunctionName}", _endpoints[434]); + builder.AddEntry("/catalog/usql/databases/{databaseName}/schemas/{schemaName}/views/{viewName}", _endpoints[435]); + builder.AddEntry("/providers/Microsoft.ADHybridHealthService/addsservices/{serviceName}/metricmetadata/{metricName}/groups/{groupName}", _endpoints[436]); + builder.AddEntry("/providers/Microsoft.ADHybridHealthService/services/{serviceName}/metricmetadata/{metricName}/groups/{groupName}", _endpoints[437]); + builder.AddEntry("/providers/Microsoft.Intune/locations/{hostName}/androidPolicies/{policyName}/apps/{appName}", _endpoints[438]); + builder.AddEntry("/providers/Microsoft.Intune/locations/{hostName}/androidPolicies/{policyName}/groups/{groupId}", _endpoints[439]); + builder.AddEntry("/providers/Microsoft.Intune/locations/{hostName}/iosPolicies/{policyName}/apps/{appName}", _endpoints[440]); + builder.AddEntry("/providers/Microsoft.Intune/locations/{hostName}/iosPolicies/{policyName}/groups/{groupId}", _endpoints[441]); + builder.AddEntry("/providers/Microsoft.Intune/locations/{hostName}/users/{userName}/devices/{deviceName}", _endpoints[442]); + builder.AddEntry("/catalog/usql/databases/{databaseName}/schemas/{schemaName}/tables/{tableName}/partitions", _endpoints[443]); + builder.AddEntry("/catalog/usql/databases/{databaseName}/schemas/{schemaName}/tables/{tableName}/previewrows", _endpoints[444]); + builder.AddEntry("/catalog/usql/databases/{databaseName}/schemas/{schemaName}/tables/{tableName}/statistics", _endpoints[445]); + builder.AddEntry("/catalog/usql/databases/{databaseName}/schemas/{schemaName}/tables/{tableName}/tablefragments", _endpoints[446]); + builder.AddEntry("/providers/Microsoft.ADHybridHealthService/addsservices/{serviceName}/metrics/{metricName}/groups/{groupName}/average", _endpoints[447]); + builder.AddEntry("/providers/Microsoft.ADHybridHealthService/addsservices/{serviceName}/metrics/{metricName}/groups/{groupName}/sum", _endpoints[448]); + builder.AddEntry("/providers/Microsoft.ADHybridHealthService/services/{serviceName}/metrics/{metricName}/groups/{groupName}/average", _endpoints[449]); + builder.AddEntry("/providers/Microsoft.ADHybridHealthService/services/{serviceName}/metrics/{metricName}/groups/{groupName}/sum", _endpoints[450]); + builder.AddEntry("/providers/Microsoft.Intune/locations/{hostName}/users/{userName}/devices/{deviceName}/wipe", _endpoints[451]); + builder.AddEntry("/catalog/usql/databases/{databaseName}/schemas/{schemaName}/tables/{tableName}/partitions/{partitionName}", _endpoints[452]); + builder.AddEntry("/catalog/usql/databases/{databaseName}/schemas/{schemaName}/tables/{tableName}/statistics/{statisticsName}", _endpoints[453]); + builder.AddEntry("/providers/Microsoft.ADHybridHealthService/services/{serviceName}/servicemembers/{serviceMemberId}/metrics/{metricName}/groups/{groupName}", _endpoints[454]); + builder.AddEntry("/catalog/usql/databases/{databaseName}/schemas/{schemaName}/tables/{tableName}/partitions/{partitionName}/previewrows", _endpoints[455]); + builder.AddEntry("/apps/customprebuiltdomains/{culture}", _endpoints[456]); + builder.AddEntry("/BackupRestore/BackupPolicies/{backupPolicyName}", _endpoints[457]); + builder.AddEntry("/certificates/issuers/{issuer-name}", _endpoints[458]); + builder.AddEntry("/webhdfs/v1/{path}", _endpoints[459]); + builder.AddEntry("/webhdfs/va/{getContentSummaryFilePath}", _endpoints[460]); + builder.AddEntry("/BackupRestore/BackupPolicies/{backupPolicyName}/$/Delete", _endpoints[461]); + builder.AddEntry("/BackupRestore/BackupPolicies/{backupPolicyName}/$/GetBackupEnabledEntities", _endpoints[462]); + builder.AddEntry("/BackupRestore/BackupPolicies/{backupPolicyName}/$/Update", _endpoints[463]); + builder.AddEntry("/EventsStore/Applications/{applicationId}/$/Events", _endpoints[464]); + builder.AddEntry("/EventsStore/CorrelatedEvents/{eventInstanceId}/$/Events", _endpoints[465]); + builder.AddEntry("/EventsStore/Nodes/{nodeName}/$/Events", _endpoints[466]); + builder.AddEntry("/EventsStore/Partitions/{partitionId}/$/Events", _endpoints[467]); + builder.AddEntry("/EventsStore/Services/{serviceId}/$/Events", _endpoints[468]); + builder.AddEntry("/Faults/Nodes/{nodeName}/$/GetTransitionProgress", _endpoints[469]); + builder.AddEntry("/Faults/Nodes/{nodeName}/$/StartTransition/", _endpoints[470]); + builder.AddEntry("/EventsStore/Partitions/{partitionId}/$/Replicas/Events", _endpoints[471]); + builder.AddEntry("/Services/$/{serviceId}/$/GetPartitions/$/Recover", _endpoints[472]); + builder.AddEntry("/EventsStore/Partitions/{partitionId}/$/Replicas/{replicaId}/$/Events", _endpoints[473]); + builder.AddEntry("/Faults/Services/{serviceId}/$/GetPartitions/{partitionId}/$/GetDataLossProgress", _endpoints[474]); + builder.AddEntry("/Faults/Services/{serviceId}/$/GetPartitions/{partitionId}/$/GetQuorumLossProgress", _endpoints[475]); + builder.AddEntry("/Faults/Services/{serviceId}/$/GetPartitions/{partitionId}/$/GetRestartProgress", _endpoints[476]); + builder.AddEntry("/Faults/Services/{serviceId}/$/GetPartitions/{partitionId}/$/StartDataLoss", _endpoints[477]); + builder.AddEntry("/Faults/Services/{serviceId}/$/GetPartitions/{partitionId}/$/StartQuorumLoss", _endpoints[478]); + builder.AddEntry("/Faults/Services/{serviceId}/$/GetPartitions/{partitionId}/$/StartRestart", _endpoints[479]); + builder.AddEntry("/apis/{apiId}", _endpoints[480]); + builder.AddEntry("/Applications/{applicationId}", _endpoints[481]); + builder.AddEntry("/ApplicationTypes/{applicationTypeName}", _endpoints[482]); + builder.AddEntry("/apps/{appId}", _endpoints[483]); + builder.AddEntry("/authorizationServers/{authsid}", _endpoints[484]); + builder.AddEntry("/backends/{backendid}", _endpoints[485]); + builder.AddEntry("/certificates/{certificate-name}", _endpoints[486]); + builder.AddEntry("/ComposeDeployments/{deploymentName}", _endpoints[487]); + builder.AddEntry("/deletedcertificates/{certificate-name}", _endpoints[488]); + builder.AddEntry("/deletedkeys/{key-name}", _endpoints[489]); + builder.AddEntry("/deletedsecrets/{secret-name}", _endpoints[490]); + builder.AddEntry("/deletedstorage/{storage-account-name}", _endpoints[491]); + builder.AddEntry("/domains/{domainId}", _endpoints[492]); + builder.AddEntry("/facelists/{faceListId}", _endpoints[493]); + builder.AddEntry("/groups/{groupId}", _endpoints[494]); + builder.AddEntry("/identityProviders/{identityProviderName}", _endpoints[495]); + builder.AddEntry("/ImageStore/{contentPath}", _endpoints[496]); + builder.AddEntry("/Jobs/{jobIdentity}", _endpoints[497]); + builder.AddEntry("/jobschedules/{jobScheduleId}", _endpoints[498]); + builder.AddEntry("/keys/{key-name}", _endpoints[499]); + builder.AddEntry("/loggers/{loggerid}", _endpoints[500]); + builder.AddEntry("/Names/{nameId}", _endpoints[501]); + builder.AddEntry("/Nodes/{nodeName}", _endpoints[502]); + builder.AddEntry("/openidConnectProviders/{opid}", _endpoints[503]); + builder.AddEntry("/Partitions/{partitionId}", _endpoints[504]); + builder.AddEntry("/persongroups/{personGroupId}", _endpoints[505]); + builder.AddEntry("/pipelines/{pipelineIdentity}", _endpoints[506]); + builder.AddEntry("/policies/{policyId}", _endpoints[507]); + builder.AddEntry("/pools/{poolId}", _endpoints[508]); + builder.AddEntry("/products/{productId}", _endpoints[509]); + builder.AddEntry("/projects/{projectId}", _endpoints[510]); + builder.AddEntry("/properties/{propId}", _endpoints[511]); + builder.AddEntry("/quotas/{quotaCounterKey}", _endpoints[512]); + builder.AddEntry("/recurrences/{recurrenceIdentity}", _endpoints[513]); + builder.AddEntry("/secrets/{secret-name}", _endpoints[514]); + builder.AddEntry("/storage/{storage-account-name}", _endpoints[515]); + builder.AddEntry("/subscriptions/{subscriptionId}", _endpoints[516]); + builder.AddEntry("/templates/{templateName}", _endpoints[517]); + builder.AddEntry("/tenant/{accessName}", _endpoints[518]); + builder.AddEntry("/textOperations/{operationId}", _endpoints[519]); + builder.AddEntry("/users/{uid}", _endpoints[520]); + builder.AddEntry("/WebHdfsExt/{path}", _endpoints[521]); + builder.AddEntry("/apis/{apiId}/operations", _endpoints[522]); + builder.AddEntry("/apis/{apiId}/policies", _endpoints[523]); + builder.AddEntry("/apis/{apiId}/products", _endpoints[524]); + builder.AddEntry("/apis/{apiId}/schemas", _endpoints[525]); + builder.AddEntry("/apps/{appId}/endpoints", _endpoints[526]); + builder.AddEntry("/apps/{appId}/metrics", _endpoints[527]); + builder.AddEntry("/apps/{appId}/permissions", _endpoints[528]); + builder.AddEntry("/apps/{appId}/publish", _endpoints[529]); + builder.AddEntry("/apps/{appId}/publishsettings", _endpoints[530]); + builder.AddEntry("/apps/{appId}/query", _endpoints[531]); + builder.AddEntry("/apps/{appId}/querylogs", _endpoints[532]); + builder.AddEntry("/apps/{appId}/settings", _endpoints[533]); + builder.AddEntry("/apps/{appId}/versions", _endpoints[534]); + builder.AddEntry("/certificates/{certificate-name}/create", _endpoints[535]); + builder.AddEntry("/certificates/{certificate-name}/import", _endpoints[536]); + builder.AddEntry("/certificates/{certificate-name}/pending", _endpoints[537]); + builder.AddEntry("/certificates/{certificate-name}/policy", _endpoints[538]); + builder.AddEntry("/certificates/{certificate-name}/versions", _endpoints[539]); + builder.AddEntry("/delegatedProviders/{delegatedProviderId}/offers", _endpoints[540]); + builder.AddEntry("/deletedcertificates/{certificate-name}/recover", _endpoints[541]); + builder.AddEntry("/deletedkeys/{key-name}/recover", _endpoints[542]); + builder.AddEntry("/deletedsecrets/{secret-name}/recover", _endpoints[543]); + builder.AddEntry("/deletedstorage/{storage-account-name}/recover", _endpoints[544]); + builder.AddEntry("/deletedstorage/{storage-account-name}/sas", _endpoints[545]); + builder.AddEntry("/facelists/{faceListId}/persistedFaces", _endpoints[546]); + builder.AddEntry("/groups/{groupId}/users", _endpoints[547]); + builder.AddEntry("/jobs/{jobId}/addtaskcollection", _endpoints[548]); + builder.AddEntry("/jobs/{jobId}/disable", _endpoints[549]); + builder.AddEntry("/jobs/{jobId}/enable", _endpoints[550]); + builder.AddEntry("/jobs/{jobId}/jobpreparationandreleasetaskstatus", _endpoints[551]); + builder.AddEntry("/jobs/{jobId}/taskcounts", _endpoints[552]); + builder.AddEntry("/jobs/{jobId}/tasks", _endpoints[553]); + builder.AddEntry("/jobs/{jobId}/terminate", _endpoints[554]); + builder.AddEntry("/Jobs/{jobIdentity}/CancelJob", _endpoints[555]); + builder.AddEntry("/Jobs/{jobIdentity}/GetDebugDataPath", _endpoints[556]); + builder.AddEntry("/Jobs/{jobIdentity}/GetStatistics", _endpoints[557]); + builder.AddEntry("/jobs/{jobIdentity}/YieldJob", _endpoints[558]); + builder.AddEntry("/jobschedules/{jobScheduleId}/disable", _endpoints[559]); + builder.AddEntry("/jobschedules/{jobScheduleId}/enable", _endpoints[560]); + builder.AddEntry("/jobschedules/{jobScheduleId}/jobs", _endpoints[561]); + builder.AddEntry("/jobschedules/{jobScheduleId}/terminate", _endpoints[562]); + builder.AddEntry("/keys/{key-name}/backup", _endpoints[563]); + builder.AddEntry("/keys/{key-name}/create", _endpoints[564]); + builder.AddEntry("/keys/{key-name}/versions", _endpoints[565]); + builder.AddEntry("/models/{model}/analyze", _endpoints[566]); + builder.AddEntry("/persongroups/{personGroupId}/persons", _endpoints[567]); + builder.AddEntry("/persongroups/{personGroupId}/train", _endpoints[568]); + builder.AddEntry("/persongroups/{personGroupId}/training", _endpoints[569]); + builder.AddEntry("/pools/{poolId}/disableautoscale", _endpoints[570]); + builder.AddEntry("/pools/{poolId}/enableautoscale", _endpoints[571]); + builder.AddEntry("/pools/{poolId}/evaluateautoscale", _endpoints[572]); + builder.AddEntry("/pools/{poolId}/nodes", _endpoints[573]); + builder.AddEntry("/pools/{poolId}/removenodes", _endpoints[574]); + builder.AddEntry("/pools/{poolId}/resize", _endpoints[575]); + builder.AddEntry("/pools/{poolId}/stopresize", _endpoints[576]); + builder.AddEntry("/pools/{poolId}/updateproperties", _endpoints[577]); + builder.AddEntry("/pools/{poolId}/upgradeos", _endpoints[578]); + builder.AddEntry("/products/{productId}/apis", _endpoints[579]); + builder.AddEntry("/products/{productId}/groups", _endpoints[580]); + builder.AddEntry("/products/{productId}/policies", _endpoints[581]); + builder.AddEntry("/products/{productId}/subscriptions", _endpoints[582]); + builder.AddEntry("/projects/{projectId}/images", _endpoints[583]); + builder.AddEntry("/projects/{projectId}/iterations", _endpoints[584]); + builder.AddEntry("/projects/{projectId}/predictions", _endpoints[585]); + builder.AddEntry("/projects/{projectId}/tags", _endpoints[586]); + builder.AddEntry("/projects/{projectId}/train", _endpoints[587]); + builder.AddEntry("/providers/{resourceProviderNamespace}/operations", _endpoints[588]); + builder.AddEntry("/secrets/{secret-name}/backup", _endpoints[589]); + builder.AddEntry("/secrets/{secret-name}/versions", _endpoints[590]); + builder.AddEntry("/storage/{storage-account-name}/backup", _endpoints[591]); + builder.AddEntry("/storage/{storage-account-name}/regeneratekey", _endpoints[592]); + builder.AddEntry("/storage/{storage-account-name}/sas", _endpoints[593]); + builder.AddEntry("/subscriptions/{sid}/regeneratePrimaryKey", _endpoints[594]); + builder.AddEntry("/subscriptions/{sid}/regenerateSecondaryKey", _endpoints[595]); + builder.AddEntry("/subscriptions/{subscriptionId}/locations", _endpoints[596]); + builder.AddEntry("/subscriptions/{subscriptionId}/providers", _endpoints[597]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourcegroups", _endpoints[598]); + builder.AddEntry("/subscriptions/{subscriptionId}/resources", _endpoints[599]); + builder.AddEntry("/subscriptions/{subscriptionId}/tagNames", _endpoints[600]); + builder.AddEntry("/tenant/{accessName}/git", _endpoints[601]); + builder.AddEntry("/tenant/{accessName}/regeneratePrimaryKey", _endpoints[602]); + builder.AddEntry("/tenant/{accessName}/regenerateSecondaryKey", _endpoints[603]); + builder.AddEntry("/tenant/{configurationName}/deploy", _endpoints[604]); + builder.AddEntry("/tenant/{configurationName}/save", _endpoints[605]); + builder.AddEntry("/tenant/{configurationName}/syncState", _endpoints[606]); + builder.AddEntry("/tenant/{configurationName}/validate", _endpoints[607]); + builder.AddEntry("/users/{uid}/generateSsoUrl", _endpoints[608]); + builder.AddEntry("/users/{uid}/groups", _endpoints[609]); + builder.AddEntry("/users/{uid}/identities", _endpoints[610]); + builder.AddEntry("/users/{uid}/subscriptions", _endpoints[611]); + builder.AddEntry("/users/{uid}/token", _endpoints[612]); + builder.AddEntry("/workspaces/{workspaceId}/query", _endpoints[613]); + builder.AddEntry("/Applications/{applicationId}/$/Delete", _endpoints[614]); + builder.AddEntry("/Applications/{applicationId}/$/DisableBackup", _endpoints[615]); + builder.AddEntry("/Applications/{applicationId}/$/EnableBackup", _endpoints[616]); + builder.AddEntry("/Applications/{applicationId}/$/GetBackupConfigurationInfo", _endpoints[617]); + builder.AddEntry("/Applications/{applicationId}/$/GetBackups", _endpoints[618]); + builder.AddEntry("/Applications/{applicationId}/$/GetHealth", _endpoints[619]); + builder.AddEntry("/Applications/{applicationId}/$/GetLoadInformation", _endpoints[620]); + builder.AddEntry("/Applications/{applicationId}/$/GetServices", _endpoints[621]); + builder.AddEntry("/Applications/{applicationId}/$/GetUpgradeProgress", _endpoints[622]); + builder.AddEntry("/Applications/{applicationId}/$/MoveToNextUpgradeDomain", _endpoints[623]); + builder.AddEntry("/Applications/{applicationId}/$/ReportHealth", _endpoints[624]); + builder.AddEntry("/Applications/{applicationId}/$/ResumeBackup", _endpoints[625]); + builder.AddEntry("/Applications/{applicationId}/$/RollbackUpgrade", _endpoints[626]); + builder.AddEntry("/Applications/{applicationId}/$/SuspendBackup", _endpoints[627]); + builder.AddEntry("/Applications/{applicationId}/$/UpdateUpgrade", _endpoints[628]); + builder.AddEntry("/Applications/{applicationId}/$/Upgrade", _endpoints[629]); + builder.AddEntry("/Applications/{applicationName}/$/MoveNextUpgradeDomain", _endpoints[630]); + builder.AddEntry("/ApplicationTypes/{applicationTypeName}/$/GetApplicationManifest", _endpoints[631]); + builder.AddEntry("/ApplicationTypes/{applicationTypeName}/$/GetServiceManifest", _endpoints[632]); + builder.AddEntry("/ApplicationTypes/{applicationTypeName}/$/GetServiceTypes", _endpoints[633]); + builder.AddEntry("/ApplicationTypes/{applicationTypeName}/$/Unprovision", _endpoints[634]); + builder.AddEntry("/apps/{appId}/events/$metadata", _endpoints[635]); + builder.AddEntry("/apps/{appId}/metrics/metadata", _endpoints[636]); + builder.AddEntry("/apps/{appId}/query/schema", _endpoints[637]); + builder.AddEntry("/apps/{appId}/versions/import", _endpoints[638]); + builder.AddEntry("/certificates/{certificate-name}/pending/merge", _endpoints[639]); + builder.AddEntry("/ComposeDeployments/{deploymentName}/$/Delete", _endpoints[640]); + builder.AddEntry("/ComposeDeployments/{deploymentName}/$/GetUpgradeProgress", _endpoints[641]); + builder.AddEntry("/ComposeDeployments/{deploymentName}/$/Upgrade", _endpoints[642]); + builder.AddEntry("/ImageStore/{contentPath}/$/GetUploadSession", _endpoints[643]); + builder.AddEntry("/ImageStore/{contentPath}/$/UploadChunk", _endpoints[644]); + builder.AddEntry("/Names/{nameId}/$/GetProperties", _endpoints[645]); + builder.AddEntry("/Names/{nameId}/$/GetProperty", _endpoints[646]); + builder.AddEntry("/Names/{nameId}/$/GetSubNames", _endpoints[647]); + builder.AddEntry("/Nodes/{nodeName}/$/Activate", _endpoints[648]); + builder.AddEntry("/Nodes/{nodeName}/$/Deactivate", _endpoints[649]); + builder.AddEntry("/Nodes/{nodeName}/$/DeployServicePackage", _endpoints[650]); + builder.AddEntry("/Nodes/{nodeName}/$/GetApplications", _endpoints[651]); + builder.AddEntry("/Nodes/{nodeName}/$/GetHealth", _endpoints[652]); + builder.AddEntry("/Nodes/{nodeName}/$/GetLoadInformation", _endpoints[653]); + builder.AddEntry("/Nodes/{nodeName}/$/RemoveNodeState", _endpoints[654]); + builder.AddEntry("/Nodes/{nodeName}/$/ReportHealth", _endpoints[655]); + builder.AddEntry("/Nodes/{nodeName}/$/Restart", _endpoints[656]); + builder.AddEntry("/Nodes/{nodeName}/$/Start", _endpoints[657]); + builder.AddEntry("/Nodes/{nodeName}/$/Stop", _endpoints[658]); + builder.AddEntry("/Partitions/{partitionId}/$/Backup", _endpoints[659]); + builder.AddEntry("/Partitions/{partitionId}/$/DisableBackup", _endpoints[660]); + builder.AddEntry("/Partitions/{partitionId}/$/EnableBackup", _endpoints[661]); + builder.AddEntry("/Partitions/{partitionId}/$/GetBackupConfigurationInfo", _endpoints[662]); + builder.AddEntry("/Partitions/{partitionId}/$/GetBackupProgress", _endpoints[663]); + builder.AddEntry("/Partitions/{partitionId}/$/GetBackups", _endpoints[664]); + builder.AddEntry("/Partitions/{partitionId}/$/GetHealth", _endpoints[665]); + builder.AddEntry("/Partitions/{partitionId}/$/GetLoadInformation", _endpoints[666]); + builder.AddEntry("/Partitions/{partitionId}/$/GetReplicas", _endpoints[667]); + builder.AddEntry("/Partitions/{partitionId}/$/GetRestoreProgress", _endpoints[668]); + builder.AddEntry("/Partitions/{partitionId}/$/GetServiceName", _endpoints[669]); + builder.AddEntry("/Partitions/{partitionId}/$/Recover", _endpoints[670]); + builder.AddEntry("/Partitions/{partitionId}/$/ReportHealth", _endpoints[671]); + builder.AddEntry("/Partitions/{partitionId}/$/ResetLoad", _endpoints[672]); + builder.AddEntry("/Partitions/{partitionId}/$/Restore", _endpoints[673]); + builder.AddEntry("/Partitions/{partitionId}/$/ResumeBackup", _endpoints[674]); + builder.AddEntry("/Partitions/{partitionId}/$/SuspendBackup", _endpoints[675]); + builder.AddEntry("/projects/{projectId}/images/files", _endpoints[676]); + builder.AddEntry("/projects/{projectId}/images/id", _endpoints[677]); + builder.AddEntry("/projects/{projectId}/images/predictions", _endpoints[678]); + builder.AddEntry("/projects/{projectId}/images/regions", _endpoints[679]); + builder.AddEntry("/projects/{projectId}/images/tagged", _endpoints[680]); + builder.AddEntry("/projects/{projectId}/images/tags", _endpoints[681]); + builder.AddEntry("/projects/{projectId}/images/untagged", _endpoints[682]); + builder.AddEntry("/projects/{projectId}/images/urls", _endpoints[683]); + builder.AddEntry("/projects/{projectId}/predictions/query", _endpoints[684]); + builder.AddEntry("/projects/{projectId}/quicktest/image", _endpoints[685]); + builder.AddEntry("/projects/{projectId}/quicktest/url", _endpoints[686]); + builder.AddEntry("/Services/{serviceId}/$/Delete", _endpoints[687]); + builder.AddEntry("/Services/{serviceId}/$/DisableBackup", _endpoints[688]); + builder.AddEntry("/Services/{serviceId}/$/EnableBackup", _endpoints[689]); + builder.AddEntry("/Services/{serviceId}/$/GetApplicationName", _endpoints[690]); + builder.AddEntry("/Services/{serviceId}/$/GetBackupConfigurationInfo", _endpoints[691]); + builder.AddEntry("/Services/{serviceId}/$/GetBackups", _endpoints[692]); + builder.AddEntry("/Services/{serviceId}/$/GetDescription", _endpoints[693]); + builder.AddEntry("/Services/{serviceId}/$/GetHealth", _endpoints[694]); + builder.AddEntry("/Services/{serviceId}/$/GetPartitions", _endpoints[695]); + builder.AddEntry("/Services/{serviceId}/$/ReportHealth", _endpoints[696]); + builder.AddEntry("/Services/{serviceId}/$/ResolvePartition", _endpoints[697]); + builder.AddEntry("/Services/{serviceId}/$/ResumeBackup", _endpoints[698]); + builder.AddEntry("/Services/{serviceId}/$/SuspendBackup", _endpoints[699]); + builder.AddEntry("/Services/{serviceId}/$/Update", _endpoints[700]); + builder.AddEntry("/tenant/{accessName}/git/regeneratePrimaryKey", _endpoints[701]); + builder.AddEntry("/tenant/{accessName}/git/regenerateSecondaryKey", _endpoints[702]); + builder.AddEntry("/projects/{projectId}/images/tagged/count", _endpoints[703]); + builder.AddEntry("/projects/{projectId}/images/untagged/count", _endpoints[704]); + builder.AddEntry("/subscriptions/{subscriptionId}/providers/Microsoft.AAD/domainServices", _endpoints[705]); + builder.AddEntry("/subscriptions/{subscriptionId}/providers/Microsoft.Advisor/configurations", _endpoints[706]); + builder.AddEntry("/subscriptions/{subscriptionId}/providers/Microsoft.Advisor/generateRecommendations", _endpoints[707]); + builder.AddEntry("/subscriptions/{subscriptionId}/providers/Microsoft.Advisor/recommendations", _endpoints[708]); + builder.AddEntry("/subscriptions/{subscriptionId}/providers/Microsoft.Advisor/suppressions", _endpoints[709]); + builder.AddEntry("/subscriptions/{subscriptionId}/providers/Microsoft.AnalysisServices/servers", _endpoints[710]); + builder.AddEntry("/subscriptions/{subscriptionId}/providers/Microsoft.AnalysisServices/skus", _endpoints[711]); + builder.AddEntry("/subscriptions/{subscriptionId}/providers/Microsoft.ApiManagement/checkNameAvailability", _endpoints[712]); + builder.AddEntry("/subscriptions/{subscriptionId}/providers/Microsoft.ApiManagement/service", _endpoints[713]); + builder.AddEntry("/subscriptions/{subscriptionId}/providers/Microsoft.Authorization/classicAdministrators", _endpoints[714]); + builder.AddEntry("/subscriptions/{subscriptionId}/providers/Microsoft.Authorization/locks", _endpoints[715]); + builder.AddEntry("/subscriptions/{subscriptionId}/providers/Microsoft.Authorization/policyAssignments", _endpoints[716]); + builder.AddEntry("/subscriptions/{subscriptionId}/providers/Microsoft.Authorization/policyDefinitions", _endpoints[717]); + builder.AddEntry("/subscriptions/{subscriptionId}/providers/Microsoft.Authorization/policySetDefinitions", _endpoints[718]); + builder.AddEntry("/subscriptions/{subscriptionId}/providers/Microsoft.Authorization/roleAssignments", _endpoints[719]); + builder.AddEntry("/subscriptions/{subscriptionId}/providers/Microsoft.Automation/automationAccounts", _endpoints[720]); + builder.AddEntry("/subscriptions/{subscriptionId}/providers/Microsoft.Batch/batchAccounts", _endpoints[721]); + builder.AddEntry("/subscriptions/{subscriptionId}/providers/Microsoft.BatchAI/clusters", _endpoints[722]); + builder.AddEntry("/subscriptions/{subscriptionId}/providers/Microsoft.BatchAI/fileServers", _endpoints[723]); + builder.AddEntry("/subscriptions/{subscriptionId}/providers/Microsoft.BatchAI/jobs", _endpoints[724]); + builder.AddEntry("/subscriptions/{subscriptionId}/providers/Microsoft.BatchAI/workspaces", _endpoints[725]); + builder.AddEntry("/subscriptions/{subscriptionId}/providers/Microsoft.Billing/billingPeriods", _endpoints[726]); + builder.AddEntry("/subscriptions/{subscriptionId}/providers/Microsoft.Billing/invoices", _endpoints[727]); + builder.AddEntry("/subscriptions/{subscriptionId}/providers/Microsoft.BotService/botServices", _endpoints[728]); + builder.AddEntry("/subscriptions/{subscriptionId}/providers/Microsoft.Cache/CheckNameAvailability", _endpoints[729]); + builder.AddEntry("/subscriptions/{subscriptionId}/providers/Microsoft.Cache/Redis", _endpoints[730]); + builder.AddEntry("/subscriptions/{subscriptionId}/providers/Microsoft.Capacity/appliedReservations", _endpoints[731]); + builder.AddEntry("/subscriptions/{subscriptionId}/providers/Microsoft.Capacity/catalogs", _endpoints[732]); + builder.AddEntry("/subscriptions/{subscriptionId}/providers/Microsoft.Cdn/checkNameAvailability", _endpoints[733]); + builder.AddEntry("/subscriptions/{subscriptionId}/providers/Microsoft.Cdn/checkResourceUsage", _endpoints[734]); + builder.AddEntry("/subscriptions/{subscriptionId}/providers/Microsoft.Cdn/profiles", _endpoints[735]); + builder.AddEntry("/subscriptions/{subscriptionId}/providers/Microsoft.Cdn/validateProbe", _endpoints[736]); + builder.AddEntry("/subscriptions/{subscriptionId}/providers/Microsoft.CertificateRegistration/certificateOrders", _endpoints[737]); + builder.AddEntry("/subscriptions/{subscriptionId}/providers/Microsoft.CertificateRegistration/validateCertificateRegistrationInformation", _endpoints[738]); + builder.AddEntry("/subscriptions/{subscriptionId}/providers/Microsoft.CognitiveServices/accounts", _endpoints[739]); + builder.AddEntry("/subscriptions/{subscriptionId}/providers/Microsoft.CognitiveServices/skus", _endpoints[740]); + builder.AddEntry("/subscriptions/{subscriptionId}/providers/Microsoft.Commerce.Admin/subscriberUsageAggregates", _endpoints[741]); + builder.AddEntry("/subscriptions/{subscriptionId}/providers/Microsoft.Commerce.Admin/updateEncryption", _endpoints[742]); + builder.AddEntry("/subscriptions/{subscriptionId}/providers/Microsoft.Commerce/RateCard", _endpoints[743]); + builder.AddEntry("/subscriptions/{subscriptionId}/providers/Microsoft.Commerce/UsageAggregates", _endpoints[744]); + builder.AddEntry("/subscriptions/{subscriptionId}/providers/Microsoft.Compute/disks", _endpoints[745]); + builder.AddEntry("/subscriptions/{subscriptionId}/providers/Microsoft.Compute/galleries", _endpoints[746]); + builder.AddEntry("/subscriptions/{subscriptionId}/providers/Microsoft.Compute/images", _endpoints[747]); + builder.AddEntry("/subscriptions/{subscriptionId}/providers/Microsoft.Compute/skus", _endpoints[748]); + builder.AddEntry("/subscriptions/{subscriptionId}/providers/Microsoft.Compute/snapshots", _endpoints[749]); + builder.AddEntry("/subscriptions/{subscriptionId}/providers/Microsoft.Compute/virtualMachines", _endpoints[750]); + builder.AddEntry("/subscriptions/{subscriptionId}/providers/Microsoft.Compute/virtualMachineScaleSets", _endpoints[751]); + builder.AddEntry("/subscriptions/{subscriptionId}/providers/Microsoft.Consumption/budgets", _endpoints[752]); + builder.AddEntry("/subscriptions/{subscriptionId}/providers/Microsoft.Consumption/forecasts", _endpoints[753]); + builder.AddEntry("/subscriptions/{subscriptionId}/providers/Microsoft.Consumption/marketplaces", _endpoints[754]); + builder.AddEntry("/subscriptions/{subscriptionId}/providers/Microsoft.Consumption/reservationRecommendations", _endpoints[755]); + builder.AddEntry("/subscriptions/{subscriptionId}/providers/Microsoft.Consumption/usageDetails", _endpoints[756]); + builder.AddEntry("/subscriptions/{subscriptionId}/providers/Microsoft.ContainerInstance/containerGroups", _endpoints[757]); + builder.AddEntry("/subscriptions/{subscriptionId}/providers/Microsoft.ContainerRegistry/checkNameAvailability", _endpoints[758]); + builder.AddEntry("/subscriptions/{subscriptionId}/providers/Microsoft.ContainerRegistry/registries", _endpoints[759]); + builder.AddEntry("/subscriptions/{subscriptionId}/providers/Microsoft.ContainerService/containerServices", _endpoints[760]); + builder.AddEntry("/subscriptions/{subscriptionId}/providers/Microsoft.ContainerService/managedClusters", _endpoints[761]); + builder.AddEntry("/subscriptions/{subscriptionId}/providers/Microsoft.CustomerInsights/hubs", _endpoints[762]); + builder.AddEntry("/subscriptions/{subscriptionId}/providers/Microsoft.DataBox/jobs", _endpoints[763]); + builder.AddEntry("/subscriptions/{subscriptionId}/providers/Microsoft.Databricks/workspaces", _endpoints[764]); + builder.AddEntry("/subscriptions/{subscriptionId}/providers/Microsoft.DataFactory/factories", _endpoints[765]); + builder.AddEntry("/subscriptions/{subscriptionId}/providers/Microsoft.DataLakeAnalytics/accounts", _endpoints[766]); + builder.AddEntry("/subscriptions/{subscriptionId}/providers/Microsoft.DataLakeStore/accounts", _endpoints[767]); + builder.AddEntry("/subscriptions/{subscriptionId}/providers/Microsoft.DataMigration/services", _endpoints[768]); + builder.AddEntry("/subscriptions/{subscriptionId}/providers/Microsoft.DataMigration/skus", _endpoints[769]); + builder.AddEntry("/subscriptions/{subscriptionId}/providers/Microsoft.DBforMySQL/checkNameAvailability", _endpoints[770]); + builder.AddEntry("/subscriptions/{subscriptionId}/providers/Microsoft.DBforMySQL/performanceTiers", _endpoints[771]); + builder.AddEntry("/subscriptions/{subscriptionId}/providers/Microsoft.DBforMySQL/servers", _endpoints[772]); + builder.AddEntry("/subscriptions/{subscriptionId}/providers/Microsoft.DBforPostgreSQL/checkNameAvailability", _endpoints[773]); + builder.AddEntry("/subscriptions/{subscriptionId}/providers/Microsoft.DBforPostgreSQL/performanceTiers", _endpoints[774]); + builder.AddEntry("/subscriptions/{subscriptionId}/providers/Microsoft.DBforPostgreSQL/servers", _endpoints[775]); + builder.AddEntry("/subscriptions/{subscriptionId}/providers/Microsoft.Devices/checkNameAvailability", _endpoints[776]); + builder.AddEntry("/subscriptions/{subscriptionId}/providers/Microsoft.Devices/checkProvisioningServiceNameAvailability", _endpoints[777]); + builder.AddEntry("/subscriptions/{subscriptionId}/providers/Microsoft.Devices/IotHubs", _endpoints[778]); + builder.AddEntry("/subscriptions/{subscriptionId}/providers/Microsoft.Devices/provisioningServices", _endpoints[779]); + builder.AddEntry("/subscriptions/{subscriptionId}/providers/Microsoft.Devices/usages", _endpoints[780]); + builder.AddEntry("/subscriptions/{subscriptionId}/providers/Microsoft.DevTestLab/labs", _endpoints[781]); + builder.AddEntry("/subscriptions/{subscriptionId}/providers/Microsoft.DevTestLab/schedules", _endpoints[782]); + builder.AddEntry("/subscriptions/{subscriptionId}/providers/Microsoft.DocumentDB/databaseAccounts", _endpoints[783]); + builder.AddEntry("/subscriptions/{subscriptionId}/providers/Microsoft.DomainRegistration/checkDomainAvailability", _endpoints[784]); + builder.AddEntry("/subscriptions/{subscriptionId}/providers/Microsoft.DomainRegistration/domains", _endpoints[785]); + builder.AddEntry("/subscriptions/{subscriptionId}/providers/Microsoft.DomainRegistration/generateSsoRequest", _endpoints[786]); + builder.AddEntry("/subscriptions/{subscriptionId}/providers/Microsoft.DomainRegistration/listDomainRecommendations", _endpoints[787]); + builder.AddEntry("/subscriptions/{subscriptionId}/providers/Microsoft.DomainRegistration/topLevelDomains", _endpoints[788]); + builder.AddEntry("/subscriptions/{subscriptionId}/providers/Microsoft.DomainRegistration/validateDomainRegistrationInformation", _endpoints[789]); + builder.AddEntry("/subscriptions/{subscriptionId}/providers/Microsoft.EventGrid/eventSubscriptions", _endpoints[790]); + builder.AddEntry("/subscriptions/{subscriptionId}/providers/Microsoft.EventGrid/topics", _endpoints[791]); + builder.AddEntry("/subscriptions/{subscriptionId}/providers/Microsoft.EventHub/CheckNameAvailability", _endpoints[792]); + builder.AddEntry("/subscriptions/{subscriptionId}/providers/Microsoft.EventHub/CheckNamespaceAvailability", _endpoints[793]); + builder.AddEntry("/subscriptions/{subscriptionId}/providers/Microsoft.EventHub/namespaces", _endpoints[794]); + builder.AddEntry("/subscriptions/{subscriptionId}/providers/Microsoft.Features/features", _endpoints[795]); + builder.AddEntry("/subscriptions/{subscriptionId}/providers/microsoft.gallery.admin/galleryItems", _endpoints[796]); + builder.AddEntry("/subscriptions/{subscriptionId}/providers/Microsoft.HanaOnAzure/hanaInstances", _endpoints[797]); + builder.AddEntry("/subscriptions/{subscriptionId}/providers/Microsoft.HDInsight/clusters", _endpoints[798]); + builder.AddEntry("/subscriptions/{subscriptionId}/providers/Microsoft.ImportExport/jobs", _endpoints[799]); + builder.AddEntry("/subscriptions/{subscriptionId}/providers/microsoft.insights/actionGroups", _endpoints[800]); + builder.AddEntry("/subscriptions/{subscriptionId}/providers/microsoft.insights/activityLogAlerts", _endpoints[801]); + builder.AddEntry("/subscriptions/{subscriptionId}/providers/Microsoft.Insights/components", _endpoints[802]); + builder.AddEntry("/subscriptions/{subscriptionId}/providers/microsoft.insights/listMigrationdate", _endpoints[803]); + builder.AddEntry("/subscriptions/{subscriptionId}/providers/microsoft.insights/logprofiles", _endpoints[804]); + builder.AddEntry("/subscriptions/{subscriptionId}/providers/Microsoft.Insights/metricAlerts", _endpoints[805]); + builder.AddEntry("/subscriptions/{subscriptionId}/providers/microsoft.insights/migrateToNewPricingModel", _endpoints[806]); + builder.AddEntry("/subscriptions/{subscriptionId}/providers/microsoft.insights/rollbackToLegacyPricingModel", _endpoints[807]); + builder.AddEntry("/subscriptions/{subscriptionId}/providers/microsoft.insights/scheduledQueryRules", _endpoints[808]); + builder.AddEntry("/subscriptions/{subscriptionId}/providers/Microsoft.Insights/webtests", _endpoints[809]); + builder.AddEntry("/subscriptions/{subscriptionId}/providers/Microsoft.IoTCentral/checkNameAvailability", _endpoints[810]); + builder.AddEntry("/subscriptions/{subscriptionId}/providers/Microsoft.IoTCentral/IoTApps", _endpoints[811]); + builder.AddEntry("/subscriptions/{subscriptionId}/providers/Microsoft.IoTSpaces/checkNameAvailability", _endpoints[812]); + builder.AddEntry("/subscriptions/{subscriptionId}/providers/Microsoft.IoTSpaces/Graph", _endpoints[813]); + builder.AddEntry("/subscriptions/{subscriptionId}/providers/Microsoft.KeyVault/checkNameAvailability", _endpoints[814]); + builder.AddEntry("/subscriptions/{subscriptionId}/providers/Microsoft.KeyVault/deletedVaults", _endpoints[815]); + builder.AddEntry("/subscriptions/{subscriptionId}/providers/Microsoft.KeyVault/vaults", _endpoints[816]); + builder.AddEntry("/subscriptions/{subscriptionId}/providers/Microsoft.Logic/integrationAccounts", _endpoints[817]); + builder.AddEntry("/subscriptions/{subscriptionId}/providers/Microsoft.Logic/workflows", _endpoints[818]); + builder.AddEntry("/subscriptions/{subscriptionId}/providers/Microsoft.MachineLearning/commitmentPlans", _endpoints[819]); + builder.AddEntry("/subscriptions/{subscriptionId}/providers/Microsoft.MachineLearning/skus", _endpoints[820]); + builder.AddEntry("/subscriptions/{subscriptionId}/providers/Microsoft.MachineLearning/webServices", _endpoints[821]); + builder.AddEntry("/subscriptions/{subscriptionId}/providers/Microsoft.MachineLearning/workspaces", _endpoints[822]); + builder.AddEntry("/subscriptions/{subscriptionId}/providers/Microsoft.MachineLearningCompute/operationalizationClusters", _endpoints[823]); + builder.AddEntry("/subscriptions/{subscriptionId}/providers/Microsoft.MachineLearningExperimentation/accounts", _endpoints[824]); + builder.AddEntry("/subscriptions/{subscriptionId}/providers/Microsoft.MachineLearningServices/workspaces", _endpoints[825]); + builder.AddEntry("/subscriptions/{subscriptionId}/providers/Microsoft.ManagedIdentity/userAssignedIdentities", _endpoints[826]); + builder.AddEntry("/subscriptions/{subscriptionId}/providers/Microsoft.Maps/accounts", _endpoints[827]); + builder.AddEntry("/subscriptions/{subscriptionId}/providers/Microsoft.Media/CheckNameAvailability", _endpoints[828]); + builder.AddEntry("/subscriptions/{subscriptionId}/providers/Microsoft.Media/mediaservices", _endpoints[829]); + builder.AddEntry("/subscriptions/{subscriptionId}/providers/Microsoft.Network.Admin/adminLoadBalancers", _endpoints[830]); + builder.AddEntry("/subscriptions/{subscriptionId}/providers/Microsoft.Network.Admin/adminOverview", _endpoints[831]); + builder.AddEntry("/subscriptions/{subscriptionId}/providers/Microsoft.Network.Admin/adminPublicIpAddresses", _endpoints[832]); + builder.AddEntry("/subscriptions/{subscriptionId}/providers/Microsoft.Network.Admin/adminVirtualNetworks", _endpoints[833]); + builder.AddEntry("/subscriptions/{subscriptionId}/providers/Microsoft.Network/applicationGatewayAvailableWafRuleSets", _endpoints[834]); + builder.AddEntry("/subscriptions/{subscriptionId}/providers/Microsoft.Network/applicationGateways", _endpoints[835]); + builder.AddEntry("/subscriptions/{subscriptionId}/providers/Microsoft.Network/applicationSecurityGroups", _endpoints[836]); + builder.AddEntry("/subscriptions/{subscriptionId}/providers/Microsoft.Network/bgpServiceCommunities", _endpoints[837]); + builder.AddEntry("/subscriptions/{subscriptionId}/providers/Microsoft.Network/ddosProtectionPlans", _endpoints[838]); + builder.AddEntry("/subscriptions/{subscriptionId}/providers/Microsoft.Network/dnszones", _endpoints[839]); + builder.AddEntry("/subscriptions/{subscriptionId}/providers/Microsoft.Network/expressRouteCircuits", _endpoints[840]); + builder.AddEntry("/subscriptions/{subscriptionId}/providers/Microsoft.Network/expressRouteCrossConnections", _endpoints[841]); + builder.AddEntry("/subscriptions/{subscriptionId}/providers/Microsoft.Network/expressRouteServiceProviders", _endpoints[842]); + builder.AddEntry("/subscriptions/{subscriptionId}/providers/Microsoft.Network/loadBalancers", _endpoints[843]); + builder.AddEntry("/subscriptions/{subscriptionId}/providers/Microsoft.Network/networkInterfaces", _endpoints[844]); + builder.AddEntry("/subscriptions/{subscriptionId}/providers/Microsoft.Network/networkSecurityGroups", _endpoints[845]); + builder.AddEntry("/subscriptions/{subscriptionId}/providers/Microsoft.Network/networkWatchers", _endpoints[846]); + builder.AddEntry("/subscriptions/{subscriptionId}/providers/Microsoft.Network/publicIPAddresses", _endpoints[847]); + builder.AddEntry("/subscriptions/{subscriptionId}/providers/Microsoft.Network/routeFilters", _endpoints[848]); + builder.AddEntry("/subscriptions/{subscriptionId}/providers/Microsoft.Network/routeTables", _endpoints[849]); + builder.AddEntry("/subscriptions/{subscriptionId}/providers/Microsoft.Network/trafficmanagerprofiles", _endpoints[850]); + builder.AddEntry("/subscriptions/{subscriptionId}/providers/Microsoft.Network/trafficManagerUserMetricsKeys", _endpoints[851]); + builder.AddEntry("/subscriptions/{subscriptionId}/providers/Microsoft.Network/virtualNetworks", _endpoints[852]); + builder.AddEntry("/subscriptions/{subscriptionId}/providers/Microsoft.NotificationHubs/checkNamespaceAvailability", _endpoints[853]); + builder.AddEntry("/subscriptions/{subscriptionId}/providers/Microsoft.NotificationHubs/namespaces", _endpoints[854]); + builder.AddEntry("/subscriptions/{subscriptionId}/providers/Microsoft.OperationalInsights/linkTargets", _endpoints[855]); + builder.AddEntry("/subscriptions/{subscriptionId}/providers/Microsoft.OperationalInsights/workspaces", _endpoints[856]); + builder.AddEntry("/subscriptions/{subscriptionId}/providers/Microsoft.OperationsManagement/ManagementAssociations", _endpoints[857]); + builder.AddEntry("/subscriptions/{subscriptionId}/providers/Microsoft.OperationsManagement/ManagementConfigurations", _endpoints[858]); + builder.AddEntry("/subscriptions/{subscriptionId}/providers/Microsoft.OperationsManagement/solutions", _endpoints[859]); + builder.AddEntry("/subscriptions/{subscriptionId}/providers/Microsoft.PowerBI/workspaceCollections", _endpoints[860]); + builder.AddEntry("/subscriptions/{subscriptionId}/providers/Microsoft.PowerBIDedicated/capacities", _endpoints[861]); + builder.AddEntry("/subscriptions/{subscriptionId}/providers/Microsoft.PowerBIDedicated/skus", _endpoints[862]); + builder.AddEntry("/subscriptions/{subscriptionId}/providers/Microsoft.RecoveryServices/vaults", _endpoints[863]); + builder.AddEntry("/subscriptions/{subscriptionId}/providers/Microsoft.Relay/checkNameAvailability", _endpoints[864]); + builder.AddEntry("/subscriptions/{subscriptionId}/providers/Microsoft.Relay/namespaces", _endpoints[865]); + builder.AddEntry("/subscriptions/{subscriptionId}/providers/Microsoft.ResourceHealth/availabilityStatuses", _endpoints[866]); + builder.AddEntry("/subscriptions/{subscriptionId}/providers/Microsoft.Resources/links", _endpoints[867]); + builder.AddEntry("/subscriptions/{subscriptionId}/providers/Microsoft.Scheduler/jobCollections", _endpoints[868]); + builder.AddEntry("/subscriptions/{subscriptionId}/providers/Microsoft.Search/checkNameAvailability", _endpoints[869]); + builder.AddEntry("/subscriptions/{subscriptionId}/providers/Microsoft.Security/alerts", _endpoints[870]); + builder.AddEntry("/subscriptions/{subscriptionId}/providers/Microsoft.Security/autoProvisioningSettings", _endpoints[871]); + builder.AddEntry("/subscriptions/{subscriptionId}/providers/Microsoft.Security/discoveredSecuritySolutions", _endpoints[872]); + builder.AddEntry("/subscriptions/{subscriptionId}/providers/Microsoft.Security/externalSecuritySolutions", _endpoints[873]); + builder.AddEntry("/subscriptions/{subscriptionId}/providers/Microsoft.Security/jitNetworkAccessPolicies", _endpoints[874]); + builder.AddEntry("/subscriptions/{subscriptionId}/providers/Microsoft.Security/locations", _endpoints[875]); + builder.AddEntry("/subscriptions/{subscriptionId}/providers/Microsoft.Security/pricings", _endpoints[876]); + builder.AddEntry("/subscriptions/{subscriptionId}/providers/Microsoft.Security/securityContacts", _endpoints[877]); + builder.AddEntry("/subscriptions/{subscriptionId}/providers/Microsoft.Security/tasks", _endpoints[878]); + builder.AddEntry("/subscriptions/{subscriptionId}/providers/Microsoft.Security/workspaceSettings", _endpoints[879]); + builder.AddEntry("/subscriptions/{subscriptionId}/providers/Microsoft.ServerManagement/gateways", _endpoints[880]); + builder.AddEntry("/subscriptions/{subscriptionId}/providers/Microsoft.ServerManagement/nodes", _endpoints[881]); + builder.AddEntry("/subscriptions/{subscriptionId}/providers/Microsoft.ServiceBus/CheckNameAvailability", _endpoints[882]); + builder.AddEntry("/subscriptions/{subscriptionId}/providers/Microsoft.ServiceBus/CheckNameSpaceAvailability", _endpoints[883]); + builder.AddEntry("/subscriptions/{subscriptionId}/providers/Microsoft.ServiceBus/namespaces", _endpoints[884]); + builder.AddEntry("/subscriptions/{subscriptionId}/providers/Microsoft.ServiceBus/premiumMessagingRegions", _endpoints[885]); + builder.AddEntry("/subscriptions/{subscriptionId}/providers/Microsoft.ServiceFabric/clusters", _endpoints[886]); + builder.AddEntry("/subscriptions/{subscriptionId}/providers/Microsoft.SignalRService/SignalR", _endpoints[887]); + builder.AddEntry("/subscriptions/{subscriptionId}/providers/Microsoft.Solutions/appliances", _endpoints[888]); + builder.AddEntry("/subscriptions/{subscriptionId}/providers/Microsoft.Solutions/applications", _endpoints[889]); + builder.AddEntry("/subscriptions/{subscriptionId}/providers/Microsoft.Sql/checkNameAvailability", _endpoints[890]); + builder.AddEntry("/subscriptions/{subscriptionId}/providers/Microsoft.Sql/managedInstances", _endpoints[891]); + builder.AddEntry("/subscriptions/{subscriptionId}/providers/Microsoft.Sql/servers", _endpoints[892]); + builder.AddEntry("/subscriptions/{subscriptionId}/providers/Microsoft.Storage/checkNameAvailability", _endpoints[893]); + builder.AddEntry("/subscriptions/{subscriptionId}/providers/Microsoft.Storage/skus", _endpoints[894]); + builder.AddEntry("/subscriptions/{subscriptionId}/providers/Microsoft.Storage/storageAccounts", _endpoints[895]); + builder.AddEntry("/subscriptions/{subscriptionId}/providers/Microsoft.Storage/usages", _endpoints[896]); + builder.AddEntry("/subscriptions/{subscriptionId}/providers/Microsoft.StorSimple/managers", _endpoints[897]); + builder.AddEntry("/subscriptions/{subscriptionId}/providers/Microsoft.StreamAnalytics/streamingjobs", _endpoints[898]); + builder.AddEntry("/subscriptions/{subscriptionId}/providers/Microsoft.Subscriptions.Admin/checkNameAvailability", _endpoints[899]); + builder.AddEntry("/subscriptions/{subscriptionId}/providers/Microsoft.Subscriptions.Admin/delegatedProviders", _endpoints[900]); + builder.AddEntry("/subscriptions/{subscriptionId}/providers/Microsoft.Subscriptions.Admin/locations", _endpoints[901]); + builder.AddEntry("/subscriptions/{subscriptionId}/providers/Microsoft.Subscriptions.Admin/moveSubscriptions", _endpoints[902]); + builder.AddEntry("/subscriptions/{subscriptionId}/providers/Microsoft.Subscriptions.Admin/offers", _endpoints[903]); + builder.AddEntry("/subscriptions/{subscriptionId}/providers/Microsoft.Subscriptions.Admin/plans", _endpoints[904]); + builder.AddEntry("/subscriptions/{subscriptionId}/providers/Microsoft.Subscriptions.Admin/restoreData", _endpoints[905]); + builder.AddEntry("/subscriptions/{subscriptionId}/providers/Microsoft.Subscriptions.Admin/subscriptions", _endpoints[906]); + builder.AddEntry("/subscriptions/{subscriptionId}/providers/Microsoft.Subscriptions.Admin/updateEncryption", _endpoints[907]); + builder.AddEntry("/subscriptions/{subscriptionId}/providers/Microsoft.Subscriptions.Admin/validateMoveSubscriptions", _endpoints[908]); + builder.AddEntry("/subscriptions/{subscriptionId}/providers/Microsoft.TimeSeriesInsights/environments", _endpoints[909]); + builder.AddEntry("/subscriptions/{subscriptionId}/providers/microsoft.visualstudio/checkNameAvailability", _endpoints[910]); + builder.AddEntry("/subscriptions/{subscriptionId}/providers/Microsoft.Web/availableStacks", _endpoints[911]); + builder.AddEntry("/subscriptions/{subscriptionId}/providers/Microsoft.Web/billingMeters", _endpoints[912]); + builder.AddEntry("/subscriptions/{subscriptionId}/providers/Microsoft.Web/certificates", _endpoints[913]); + builder.AddEntry("/subscriptions/{subscriptionId}/providers/Microsoft.Web/checknameavailability", _endpoints[914]); + builder.AddEntry("/subscriptions/{subscriptionId}/providers/Microsoft.Web/classicMobileServices", _endpoints[915]); + builder.AddEntry("/subscriptions/{subscriptionId}/providers/Microsoft.Web/connectionGateways", _endpoints[916]); + builder.AddEntry("/subscriptions/{subscriptionId}/providers/Microsoft.Web/customApis", _endpoints[917]); + builder.AddEntry("/subscriptions/{subscriptionId}/providers/Microsoft.Web/deletedSites", _endpoints[918]); + builder.AddEntry("/subscriptions/{subscriptionId}/providers/Microsoft.Web/deploymentLocations", _endpoints[919]); + builder.AddEntry("/subscriptions/{subscriptionId}/providers/Microsoft.Web/geoRegions", _endpoints[920]); + builder.AddEntry("/subscriptions/{subscriptionId}/providers/Microsoft.Web/hostingEnvironments", _endpoints[921]); + builder.AddEntry("/subscriptions/{subscriptionId}/providers/Microsoft.Web/ishostingenvironmentnameavailable", _endpoints[922]); + builder.AddEntry("/subscriptions/{subscriptionId}/providers/Microsoft.Web/listSitesAssignedToHostName", _endpoints[923]); + builder.AddEntry("/subscriptions/{subscriptionId}/providers/Microsoft.Web/managedHostingEnvironments", _endpoints[924]); + builder.AddEntry("/subscriptions/{subscriptionId}/providers/Microsoft.Web/premieraddonoffers", _endpoints[925]); + builder.AddEntry("/subscriptions/{subscriptionId}/providers/Microsoft.Web/publishingCredentials", _endpoints[926]); + builder.AddEntry("/subscriptions/{subscriptionId}/providers/Microsoft.Web/recommendations", _endpoints[927]); + builder.AddEntry("/subscriptions/{subscriptionId}/providers/Microsoft.Web/resourceHealthMetadata", _endpoints[928]); + builder.AddEntry("/subscriptions/{subscriptionId}/providers/Microsoft.Web/serverfarms", _endpoints[929]); + builder.AddEntry("/subscriptions/{subscriptionId}/providers/Microsoft.Web/sites", _endpoints[930]); + builder.AddEntry("/subscriptions/{subscriptionId}/providers/Microsoft.Web/skus", _endpoints[931]); + builder.AddEntry("/subscriptions/{subscriptionId}/providers/Microsoft.Web/verifyHostingEnvironmentVnet", _endpoints[932]); + builder.AddEntry("/Applications/{applicationId}/$/GetServices/$/Create", _endpoints[933]); + builder.AddEntry("/Applications/{applicationId}/$/GetServices/$/CreateFromTemplate", _endpoints[934]); + builder.AddEntry("/Applications/{applicationName}/$/GetServiceGroups/$/CreateServiceGroupFromTemplate", _endpoints[935]); + builder.AddEntry("/Applications/{applicationName}/$/GetServices/$/CreateServiceGroup", _endpoints[936]); + builder.AddEntry("/Names/{nameId}/$/GetProperties/$/SubmitBatch", _endpoints[937]); + builder.AddEntry("/Services/{serviceName}/$/GetPartitions/$/Recover", _endpoints[938]); + builder.AddEntry("/subscriptions/{subscriptionId}/providers/Microsoft.Billing/invoices/latest", _endpoints[939]); + builder.AddEntry("/subscriptions/{subscriptionId}/providers/Microsoft.Consumption/pricesheets/default", _endpoints[940]); + builder.AddEntry("/subscriptions/{subscriptionId}/providers/Microsoft.Network/applicationGatewayAvailableSslOptions/default", _endpoints[941]); + builder.AddEntry("/subscriptions/{subscriptionId}/providers/Microsoft.Web/recommendations/reset", _endpoints[942]); + builder.AddEntry("/subscriptions/{subscriptionId}/providers/Microsoft.Addons/supportProviders/canonical/listSupportPlanInfo", _endpoints[943]); + builder.AddEntry("/subscriptions/{subscriptionId}/providers/microsoft.insights/eventtypes/management/values", _endpoints[944]); + builder.AddEntry("/subscriptions/{subscriptionId}/providers/Microsoft.Network/applicationGatewayAvailableSslOptions/default/predefinedPolicies", _endpoints[945]); + builder.AddEntry("/subscriptions/{subscriptionId}/providers/Microsoft.Network/applicationGatewayAvailableSslOptions/default/predefinedPolicies/{predefinedPolicyName}", _endpoints[946]); + builder.AddEntry("/subscriptions/{subscriptionId}/providers/Microsoft.Advisor/generateRecommendations/{operationId}", _endpoints[947]); + builder.AddEntry("/subscriptions/{subscriptionId}/providers/Microsoft.Authorization/locks/{lockName}", _endpoints[948]); + builder.AddEntry("/subscriptions/{subscriptionId}/providers/Microsoft.Authorization/policydefinitions/{policyDefinitionName}", _endpoints[949]); + builder.AddEntry("/subscriptions/{subscriptionId}/providers/Microsoft.Authorization/policySetDefinitions/{policySetDefinitionName}", _endpoints[950]); + builder.AddEntry("/subscriptions/{subscriptionId}/providers/Microsoft.Billing/billingPeriods/{billingPeriodName}", _endpoints[951]); + builder.AddEntry("/subscriptions/{subscriptionId}/providers/Microsoft.Billing/invoices/{invoiceName}", _endpoints[952]); + builder.AddEntry("/subscriptions/{subscriptionId}/providers/Microsoft.Consumption/budgets/{budgetName}", _endpoints[953]); + builder.AddEntry("/subscriptions/{subscriptionId}/providers/Microsoft.DomainRegistration/topLevelDomains/{name}", _endpoints[954]); + builder.AddEntry("/subscriptions/{subscriptionId}/providers/microsoft.gallery.admin/galleryItems/{galleryItemName}", _endpoints[955]); + builder.AddEntry("/subscriptions/{subscriptionId}/providers/microsoft.insights/logprofiles/{logProfileName}", _endpoints[956]); + builder.AddEntry("/subscriptions/{subscriptionId}/providers/Microsoft.Media/mediaservices/{accountName}", _endpoints[957]); + builder.AddEntry("/subscriptions/{subscriptionId}/providers/Microsoft.Security/autoProvisioningSettings/{settingName}", _endpoints[958]); + builder.AddEntry("/subscriptions/{subscriptionId}/providers/Microsoft.Security/locations/{ascLocation}", _endpoints[959]); + builder.AddEntry("/subscriptions/{subscriptionId}/providers/Microsoft.Security/pricings/{pricingName}", _endpoints[960]); + builder.AddEntry("/subscriptions/{subscriptionId}/providers/Microsoft.Security/workspaceSettings/{workspaceSettingName}", _endpoints[961]); + builder.AddEntry("/subscriptions/{subscriptionId}/providers/Microsoft.Subscriptions.Admin/delegatedProviders/{delegatedProvider}", _endpoints[962]); + builder.AddEntry("/subscriptions/{subscriptionId}/providers/Microsoft.Subscriptions.Admin/locations/{location}", _endpoints[963]); + builder.AddEntry("/subscriptions/{subscriptionId}/providers/Microsoft.Subscriptions.Admin/subscriptions/{subscription}", _endpoints[964]); + builder.AddEntry("/subscriptions/{subscriptionId}/providers/Microsoft.Web/ishostingenvironmentnameavailable/{name}", _endpoints[965]); + builder.AddEntry("/subscriptions/{subscriptionId}/providers/Microsoft.Addons/supportProviders/{providerName}/supportPlanTypes", _endpoints[966]); + builder.AddEntry("/subscriptions/{subscriptionId}/providers/Microsoft.AnalysisServices/locations/{location}/checkNameAvailability", _endpoints[967]); + builder.AddEntry("/subscriptions/{subscriptionId}/providers/Microsoft.Batch/locations/{locationName}/checkNameAvailability", _endpoints[968]); + builder.AddEntry("/subscriptions/{subscriptionId}/providers/Microsoft.Batch/locations/{locationName}/quotas", _endpoints[969]); + builder.AddEntry("/subscriptions/{subscriptionId}/providers/Microsoft.BatchAI/locations/{location}/usages", _endpoints[970]); + builder.AddEntry("/subscriptions/{subscriptionId}/providers/Microsoft.CognitiveServices/locations/{location}/checkSkuAvailability", _endpoints[971]); + builder.AddEntry("/subscriptions/{subscriptionId}/providers/Microsoft.Compute.Admin/locations/{location}/quotas", _endpoints[972]); + builder.AddEntry("/subscriptions/{subscriptionId}/providers/Microsoft.Compute/locations/{location}/publishers", _endpoints[973]); + builder.AddEntry("/subscriptions/{subscriptionId}/providers/Microsoft.Compute/locations/{location}/runCommands", _endpoints[974]); + builder.AddEntry("/subscriptions/{subscriptionId}/providers/Microsoft.Compute/locations/{location}/usages", _endpoints[975]); + builder.AddEntry("/subscriptions/{subscriptionId}/providers/Microsoft.Compute/locations/{location}/vmSizes", _endpoints[976]); + builder.AddEntry("/subscriptions/{subscriptionId}/providers/Microsoft.ContainerInstance/locations/{location}/usages", _endpoints[977]); + builder.AddEntry("/subscriptions/{subscriptionId}/providers/Microsoft.ContainerService/locations/{location}/orchestrators", _endpoints[978]); + builder.AddEntry("/subscriptions/{subscriptionId}/providers/Microsoft.DataBox/locations/{location}/availableSkus", _endpoints[979]); + builder.AddEntry("/subscriptions/{subscriptionId}/providers/Microsoft.DataBox/locations/{location}/validateAddress", _endpoints[980]); + builder.AddEntry("/subscriptions/{subscriptionId}/providers/Microsoft.DataFactory/locations/{locationId}/configureFactoryRepo", _endpoints[981]); + builder.AddEntry("/subscriptions/{subscriptionId}/providers/Microsoft.DataLakeAnalytics/locations/{location}/capability", _endpoints[982]); + builder.AddEntry("/subscriptions/{subscriptionId}/providers/Microsoft.DataLakeAnalytics/locations/{location}/checkNameAvailability", _endpoints[983]); + builder.AddEntry("/subscriptions/{subscriptionId}/providers/Microsoft.DataLakeStore/locations/{location}/capability", _endpoints[984]); + builder.AddEntry("/subscriptions/{subscriptionId}/providers/Microsoft.DataLakeStore/locations/{location}/checkNameAvailability", _endpoints[985]); + builder.AddEntry("/subscriptions/{subscriptionId}/providers/Microsoft.DataMigration/locations/{location}/checkNameAvailability", _endpoints[986]); + builder.AddEntry("/subscriptions/{subscriptionId}/providers/Microsoft.DataMigration/locations/{location}/usages", _endpoints[987]); + builder.AddEntry("/subscriptions/{subscriptionId}/providers/Microsoft.DBforMySQL/locations/{locationName}/performanceTiers", _endpoints[988]); + builder.AddEntry("/subscriptions/{subscriptionId}/providers/Microsoft.DBforPostgreSQL/locations/{locationName}/performanceTiers", _endpoints[989]); + builder.AddEntry("/subscriptions/{subscriptionId}/providers/Microsoft.DomainRegistration/topLevelDomains/{name}/listAgreements", _endpoints[990]); + builder.AddEntry("/subscriptions/{subscriptionId}/providers/Microsoft.EventGrid/locations/{location}/eventSubscriptions", _endpoints[991]); + builder.AddEntry("/subscriptions/{subscriptionId}/providers/Microsoft.EventGrid/topicTypes/{topicTypeName}/eventSubscriptions", _endpoints[992]); + builder.AddEntry("/subscriptions/{subscriptionId}/providers/Microsoft.EventHub/sku/{sku}/regions", _endpoints[993]); + builder.AddEntry("/subscriptions/{subscriptionId}/providers/Microsoft.Features/providers/{resourceProviderNamespace}/features", _endpoints[994]); + builder.AddEntry("/subscriptions/{subscriptionId}/providers/Microsoft.HDInsight/locations/{location}/capabilities", _endpoints[995]); + builder.AddEntry("/subscriptions/{subscriptionId}/providers/Microsoft.KeyVault.Admin/locations/{location}/quotas", _endpoints[996]); + builder.AddEntry("/subscriptions/{subscriptionId}/providers/Microsoft.Media/locations/{locationName}/checkNameAvailability", _endpoints[997]); + builder.AddEntry("/subscriptions/{subscriptionId}/providers/Microsoft.Network.Admin/locations/{location}/quotas", _endpoints[998]); + builder.AddEntry("/subscriptions/{subscriptionId}/providers/Microsoft.Network/locations/{location}/CheckDnsNameAvailability", _endpoints[999]); + builder.AddEntry("/subscriptions/{subscriptionId}/providers/Microsoft.Network/locations/{location}/usages", _endpoints[1000]); + builder.AddEntry("/subscriptions/{subscriptionId}/providers/Microsoft.Network/locations/{location}/virtualNetworkAvailableEndpointServices", _endpoints[1001]); + builder.AddEntry("/subscriptions/{subscriptionId}/providers/Microsoft.PolicyInsights/policyEvents/{policyEventsResource}/queryResults", _endpoints[1002]); + builder.AddEntry("/subscriptions/{subscriptionId}/providers/Microsoft.PolicyInsights/policyStates/{policyStatesResource}/queryResults", _endpoints[1003]); + builder.AddEntry("/subscriptions/{subscriptionId}/providers/Microsoft.PolicyInsights/policyStates/{policyStatesSummaryResource}/summarize", _endpoints[1004]); + builder.AddEntry("/subscriptions/{subscriptionId}/providers/Microsoft.PowerBI/locations/{location}/checkNameAvailability", _endpoints[1005]); + builder.AddEntry("/Subscriptions/{subscriptionId}/providers/Microsoft.RecoveryServices/locations/{azureRegion}/backupPreValidateProtection", _endpoints[1006]); + builder.AddEntry("/Subscriptions/{subscriptionId}/providers/Microsoft.RecoveryServices/locations/{azureRegion}/backupStatus", _endpoints[1007]); + builder.AddEntry("/Subscriptions/{subscriptionId}/providers/Microsoft.RecoveryServices/locations/{azureRegion}/backupValidateFeatures", _endpoints[1008]); + builder.AddEntry("/subscriptions/{subscriptionId}/providers/Microsoft.Security/locations/{ascLocation}/alerts", _endpoints[1009]); + builder.AddEntry("/subscriptions/{subscriptionId}/providers/Microsoft.Security/locations/{ascLocation}/discoveredSecuritySolutions", _endpoints[1010]); + builder.AddEntry("/subscriptions/{subscriptionId}/providers/Microsoft.Security/locations/{ascLocation}/ExternalSecuritySolutions", _endpoints[1011]); + builder.AddEntry("/subscriptions/{subscriptionId}/providers/Microsoft.Security/locations/{ascLocation}/jitNetworkAccessPolicies", _endpoints[1012]); + builder.AddEntry("/subscriptions/{subscriptionId}/providers/Microsoft.Security/locations/{ascLocation}/tasks", _endpoints[1013]); + builder.AddEntry("/subscriptions/{subscriptionId}/providers/Microsoft.ServiceBus/sku/{sku}/regions", _endpoints[1014]); + builder.AddEntry("/subscriptions/{subscriptionId}/providers/Microsoft.ServiceFabric/locations/{location}/clusterVersions", _endpoints[1015]); + builder.AddEntry("/subscriptions/{subscriptionId}/providers/Microsoft.SignalRService/locations/{location}/checkNameAvailability", _endpoints[1016]); + builder.AddEntry("/subscriptions/{subscriptionId}/providers/Microsoft.Sql/locations/{locationName}/capabilities", _endpoints[1017]); + builder.AddEntry("/subscriptions/{subscriptionId}/providers/Microsoft.Sql/locations/{locationName}/longTermRetentionBackups", _endpoints[1018]); + builder.AddEntry("/subscriptions/{subscriptionId}/providers/Microsoft.Sql/locations/{locationName}/syncDatabaseIds", _endpoints[1019]); + builder.AddEntry("/subscriptions/{subscriptionId}/providers/Microsoft.Sql/locations/{locationName}/usages", _endpoints[1020]); + builder.AddEntry("/subscriptions/{subscriptionId}/providers/Microsoft.Storage.Admin/locations/{location}/quotas", _endpoints[1021]); + builder.AddEntry("/subscriptions/{subscriptionId}/providers/Microsoft.Storage/locations/{location}/usages", _endpoints[1022]); + builder.AddEntry("/subscriptions/{subscriptionId}/providers/Microsoft.StreamAnalytics/locations/{location}/quotas", _endpoints[1023]); + builder.AddEntry("/subscriptions/{subscriptionId}/providers/Microsoft.Subscriptions.Admin/delegatedProviders/{delegatedProviderSubscriptionId}/offers", _endpoints[1024]); + builder.AddEntry("/subscriptions/{subscriptionId}/providers/Microsoft.Subscriptions.Admin/locations/{location}/quotas", _endpoints[1025]); + builder.AddEntry("/subscriptions/{subscriptionId}/providers/Microsoft.Subscriptions.Admin/subscriptions/{targetSubscriptionId}/acquiredPlans", _endpoints[1026]); + builder.AddEntry("/subscriptions/{subscriptionId}/providers/Microsoft.Web/locations/{location}/connectionGatewayInstallations", _endpoints[1027]); + builder.AddEntry("/subscriptions/{subscriptionId}/providers/Microsoft.Web/locations/{location}/extractApiDefinitionFromWsdl", _endpoints[1028]); + builder.AddEntry("/subscriptions/{subscriptionId}/providers/Microsoft.Web/locations/{location}/listWsdlInterfaces", _endpoints[1029]); + builder.AddEntry("/subscriptions/{subscriptionId}/providers/Microsoft.Web/locations/{location}/managedApis", _endpoints[1030]); + builder.AddEntry("/subscriptions/{subscriptionId}/providers/Microsoft.Web/recommendations/{name}/disable", _endpoints[1031]); + builder.AddEntry("/subscriptions/{subscriptionId}/providers/Microsoft.Compute.Admin/locations/{location}/artifactTypes/platformImage", _endpoints[1032]); + builder.AddEntry("/subscriptions/{subscriptionId}/providers/Microsoft.Compute.Admin/locations/{location}/artifactTypes/VMExtension", _endpoints[1033]); + builder.AddEntry("/subscriptions/{subscriptionId}/providers/Microsoft.Billing/billingPeriods/{billingPeriodName}/providers/Microsoft.Consumption/marketplaces", _endpoints[1034]); + builder.AddEntry("/subscriptions/{subscriptionId}/providers/Microsoft.Billing/billingPeriods/{billingPeriodName}/providers/Microsoft.Consumption/usageDetails", _endpoints[1035]); + builder.AddEntry("/subscriptions/{subscriptionId}/providers/Microsoft.Compute/locations/{location}/logAnalytics/apiAccess/getRequestRateByInterval", _endpoints[1036]); + builder.AddEntry("/subscriptions/{subscriptionId}/providers/Microsoft.Compute/locations/{location}/logAnalytics/apiAccess/getThrottledRequests", _endpoints[1037]); + builder.AddEntry("/subscriptions/{subscriptionId}/providers/Microsoft.Billing/billingPeriods/{billingPeriodName}/providers/Microsoft.Consumption/pricesheets/default", _endpoints[1038]); + builder.AddEntry("/subscriptions/{subscriptionId}/providers/Microsoft.Compute.Admin/locations/{location}/artifactTypes/VMExtension/publishers/{publisher}/types/{type}/versions/{version}", _endpoints[1039]); + builder.AddEntry("/subscriptions/{subscriptionId}/providers/Microsoft.Compute.Admin/locations/{location}/artifactTypes/platformImage/publishers/{publisher}/offers/{offer}/skus/{sku}/versions/{version}", _endpoints[1040]); + builder.AddEntry("/subscriptions/{subscriptionId}/providers/Microsoft.Addons/supportProviders/{providerName}/supportPlanTypes/{planTypeName}", _endpoints[1041]); + builder.AddEntry("/subscriptions/{subscriptionId}/providers/Microsoft.AnalysisServices/locations/{location}/operationresults/{operationId}", _endpoints[1042]); + builder.AddEntry("/subscriptions/{subscriptionId}/providers/Microsoft.AnalysisServices/locations/{location}/operationstatuses/{operationId}", _endpoints[1043]); + builder.AddEntry("/subscriptions/{subscriptionId}/providers/Microsoft.Compute.Admin/locations/{location}/quotas/{quotaName}", _endpoints[1044]); + builder.AddEntry("/subscriptions/{subscriptionId}/providers/Microsoft.Compute/locations/{location}/runCommands/{commandId}", _endpoints[1045]); + builder.AddEntry("/subscriptions/{subscriptionId}/providers/Microsoft.DevTestLab/locations/{locationName}/operations/{name}", _endpoints[1046]); + builder.AddEntry("/subscriptions/{subscriptionId}/providers/Microsoft.Features/providers/{resourceProviderNamespace}/features/{featureName}", _endpoints[1047]); + builder.AddEntry("/subscriptions/{subscriptionId}/providers/Microsoft.KeyVault/locations/{location}/deletedVaults/{vaultName}", _endpoints[1048]); + builder.AddEntry("/subscriptions/{subscriptionId}/providers/Microsoft.Network.Admin/locations/{location}/quotas/{resourceName}", _endpoints[1049]); + builder.AddEntry("/subscriptions/{subscriptionId}/providers/Microsoft.Security/locations/{ascLocation}/alerts/{alertName}", _endpoints[1050]); + builder.AddEntry("/subscriptions/{subscriptionId}/providers/Microsoft.Security/locations/{ascLocation}/tasks/{taskName}", _endpoints[1051]); + builder.AddEntry("/subscriptions/{subscriptionId}/providers/Microsoft.ServiceFabric/locations/{location}/clusterVersions/{clusterVersion}", _endpoints[1052]); + builder.AddEntry("/subscriptions/{subscriptionId}/providers/Microsoft.Sql/locations/{locationName}/usages/{usageName}", _endpoints[1053]); + builder.AddEntry("/subscriptions/{subscriptionId}/providers/Microsoft.Storage.Admin/locations/{location}/quotas/{quotaName}", _endpoints[1054]); + builder.AddEntry("/subscriptions/{subscriptionId}/providers/Microsoft.Subscriptions.Admin/delegatedProviders/{delegatedProviderSubscriptionId}/offers/{offer}", _endpoints[1055]); + builder.AddEntry("/subscriptions/{subscriptionId}/providers/Microsoft.Subscriptions.Admin/locations/{location}/quotas/{quota}", _endpoints[1056]); + builder.AddEntry("/subscriptions/{subscriptionId}/providers/Microsoft.Subscriptions.Admin/subscriptions/{targetSubscriptionId}/acquiredPlans/{planAcquisitionId}", _endpoints[1057]); + builder.AddEntry("/subscriptions/{subscriptionId}/providers/Microsoft.Web/locations/{location}/connectionGatewayInstallations/{gatewayId}", _endpoints[1058]); + builder.AddEntry("/subscriptions/{subscriptionId}/providers/Microsoft.Web/locations/{location}/managedApis/{apiName}", _endpoints[1059]); + builder.AddEntry("/subscriptions/{subscriptionId}/providers/Microsoft.EventGrid/locations/{location}/topicTypes/{topicTypeName}/eventSubscriptions", _endpoints[1060]); + builder.AddEntry("/subscriptions/{subscriptionId}/providers/Microsoft.Features/providers/{resourceProviderNamespace}/features/{featureName}/register", _endpoints[1061]); + builder.AddEntry("/subscriptions/{subscriptionId}/providers/Microsoft.KeyVault/locations/{location}/deletedVaults/{vaultName}/purge", _endpoints[1062]); + builder.AddEntry("/subscriptions/{subscriptionId}/providers/Microsoft.ServiceFabric/locations/{location}/environments/{environment}/clusterVersions", _endpoints[1063]); + builder.AddEntry("/subscriptions/{subscriptionId}/providers/Microsoft.Sql/locations/{locationName}/longTermRetentionServers/{longTermRetentionServerName}/longTermRetentionBackups", _endpoints[1064]); + builder.AddEntry("/subscriptions/{subscriptionId}/providers/Microsoft.Sql/locations/{locationName}/managedDatabaseRestoreAzureAsyncOperation/{operationId}/completeRestore", _endpoints[1065]); + builder.AddEntry("/subscriptions/{subscriptionId}/providers/Microsoft.Compute/locations/{location}/publishers/{publisherName}/artifacttypes/vmextension/types", _endpoints[1066]); + builder.AddEntry("/subscriptions/{subscriptionId}/providers/Microsoft.Compute/locations/{location}/publishers/{publisherName}/artifacttypes/vmimage/offers", _endpoints[1067]); + builder.AddEntry("/subscriptions/{subscriptionId}/providers/Microsoft.Compute/locations/{location}/publishers/{publisherName}/artifacttypes/vmextension/types/{type}/versions", _endpoints[1068]); + builder.AddEntry("/subscriptions/{subscriptionId}/providers/Microsoft.Compute/locations/{location}/publishers/{publisherName}/artifacttypes/vmimage/offers/{offer}/skus", _endpoints[1069]); + builder.AddEntry("/subscriptions/{subscriptionId}/providers/Microsoft.Compute/locations/{location}/publishers/{publisherName}/artifacttypes/vmextension/types/{type}/versions/{version}", _endpoints[1070]); + builder.AddEntry("/subscriptions/{subscriptionId}/providers/Microsoft.Compute/locations/{location}/publishers/{publisherName}/artifacttypes/vmimage/offers/{offer}/skus/{skus}/versions", _endpoints[1071]); + builder.AddEntry("/subscriptions/{subscriptionId}/providers/Microsoft.Compute/locations/{location}/publishers/{publisherName}/artifacttypes/vmimage/offers/{offer}/skus/{skus}/versions/{version}", _endpoints[1072]); + builder.AddEntry("/subscriptions/{subscriptionId}/providers/Microsoft.ServiceFabric/locations/{location}/environments/{environment}/clusterVersions/{clusterVersion}", _endpoints[1073]); + builder.AddEntry("/subscriptions/{subscriptionId}/providers/Microsoft.Sql/locations/{locationName}/longTermRetentionServers/{longTermRetentionServerName}/longTermRetentionDatabases/{longTermRetentionDatabaseName}/longTermRetentionBackups", _endpoints[1074]); + builder.AddEntry("/subscriptions/{subscriptionId}/providers/Microsoft.Sql/locations/{locationName}/longTermRetentionServers/{longTermRetentionServerName}/longTermRetentionDatabases/{longTermRetentionDatabaseName}/longTermRetentionBackups/{backupName}", _endpoints[1075]); + builder.AddEntry("/subscriptions/{subscriptionId}/providers/Microsoft.MarketplaceOrdering/offerTypes/{offerType}/publishers/{publisherId}/offers/{offerId}/plans/{planId}/agreements/current", _endpoints[1076]); + builder.AddEntry("/subscriptions/{subscriptionId}/providers/Microsoft.Security/locations/{ascLocation}/alerts/{alertName}/{alertUpdateActionType}", _endpoints[1077]); + builder.AddEntry("/subscriptions/{subscriptionId}/providers/Microsoft.Security/locations/{ascLocation}/tasks/{taskName}/{taskUpdateActionType}", _endpoints[1078]); + builder.AddEntry("/Applications/{applicationId}/$/GetServices/{serviceId}", _endpoints[1079]); + builder.AddEntry("/ApplicationTypes/{applicationTypeName}/$/GetServiceTypes/{serviceTypeName}", _endpoints[1080]); + builder.AddEntry("/Nodes/{nodeName}/$/GetApplications/{applicationId}", _endpoints[1081]); + builder.AddEntry("/Partitions/{partitionId}/$/GetReplicas/{replicaId}", _endpoints[1082]); + builder.AddEntry("/Services/{serviceName}/$/GetPartitions/{partitionId}", _endpoints[1083]); + builder.AddEntry("/Applications/{applicationName}/$/GetServiceGroups/{serviceName}/$/Delete", _endpoints[1084]); + builder.AddEntry("/Applications/{applicationName}/$/GetServices/{serviceName}/$/GetServiceGroupDescription", _endpoints[1085]); + builder.AddEntry("/Applications/{applicationName}/$/GetServices/{serviceName}/$/GetServiceGroupMembers", _endpoints[1086]); + builder.AddEntry("/Applications/{applicationName}/$/GetServices/{serviceName}/$/UpdateServiceGroup", _endpoints[1087]); + builder.AddEntry("/Nodes/{nodeName}/$/GetApplications/{applicationId}/$/GetCodePackages", _endpoints[1088]); + builder.AddEntry("/Nodes/{nodeName}/$/GetApplications/{applicationId}/$/GetHealth", _endpoints[1089]); + builder.AddEntry("/Nodes/{nodeName}/$/GetApplications/{applicationId}/$/GetReplicas", _endpoints[1090]); + builder.AddEntry("/Nodes/{nodeName}/$/GetApplications/{applicationId}/$/GetServicePackages", _endpoints[1091]); + builder.AddEntry("/Nodes/{nodeName}/$/GetApplications/{applicationId}/$/GetServiceTypes", _endpoints[1092]); + builder.AddEntry("/Nodes/{nodeName}/$/GetApplications/{applicationId}/$/ReportHealth", _endpoints[1093]); + builder.AddEntry("/Nodes/{nodeName}/$/GetPartitions/{partitionId}/$/GetReplicas", _endpoints[1094]); + builder.AddEntry("/Partitions/{partitionId}/$/GetReplicas/{replicaId}/$/GetHealth", _endpoints[1095]); + builder.AddEntry("/Partitions/{partitionId}/$/GetReplicas/{replicaId}/$/GetLoadInformation", _endpoints[1096]); + builder.AddEntry("/Partitions/{partitionId}/$/GetReplicas/{replicaId}/$/ReportHealth", _endpoints[1097]); + builder.AddEntry("/Nodes/{nodeName}/$/GetApplications/{applicationId}/$/GetCodePackages/$/ContainerApi", _endpoints[1098]); + builder.AddEntry("/Nodes/{nodeName}/$/GetApplications/{applicationId}/$/GetCodePackages/$/ContainerLogs", _endpoints[1099]); + builder.AddEntry("/Nodes/{nodeName}/$/GetApplications/{applicationId}/$/GetCodePackages/$/Restart", _endpoints[1100]); + builder.AddEntry("/Nodes/{nodeName}/$/GetApplications/{applicationId}/$/GetServicePackages/{servicePackageName}", _endpoints[1101]); + builder.AddEntry("/Nodes/{nodeName}/$/GetApplications/{applicationId}/$/GetServiceTypes/{serviceTypeName}", _endpoints[1102]); + builder.AddEntry("/Nodes/{nodeName}/$/GetApplications/{applicationId}/$/GetServicePackages/{servicePackageName}/$/GetHealth", _endpoints[1103]); + builder.AddEntry("/Nodes/{nodeName}/$/GetApplications/{applicationId}/$/GetServicePackages/{servicePackageName}/$/ReportHealth", _endpoints[1104]); + builder.AddEntry("/Nodes/{nodeName}/$/GetPartitions/{partitionId}/$/GetReplicas/{replicaId}/$/Delete", _endpoints[1105]); + builder.AddEntry("/Nodes/{nodeName}/$/GetPartitions/{partitionId}/$/GetReplicas/{replicaId}/$/GetDetail", _endpoints[1106]); + builder.AddEntry("/Nodes/{nodeName}/$/GetPartitions/{partitionId}/$/GetReplicas/{replicaId}/$/Restart", _endpoints[1107]); + builder.AddEntry("/apis/{apiId}/operations/{operationId}", _endpoints[1108]); + builder.AddEntry("/apis/{apiId}/policies/{policyId}", _endpoints[1109]); + builder.AddEntry("/apis/{apiId}/schemas/{schemaId}", _endpoints[1110]); + builder.AddEntry("/apps/{appId}/events/{eventType}", _endpoints[1111]); + builder.AddEntry("/apps/{appId}/metrics/{metricId}", _endpoints[1112]); + builder.AddEntry("/apps/{appId}/versions/{versionId}/", _endpoints[1113]); + builder.AddEntry("/delegatedProviders/{delegatedProviderId}/offers/{offerName}", _endpoints[1114]); + builder.AddEntry("/deletedstorage/{storage-account-name}/sas/{sas-definition-name}", _endpoints[1115]); + builder.AddEntry("/facelists/{faceListId}/persistedFaces/{persistedFaceId}", _endpoints[1116]); + builder.AddEntry("/groups/{groupId}/users/{uid}", _endpoints[1117]); + builder.AddEntry("/jobs/{jobId}/tasks/{taskId}", _endpoints[1118]); + builder.AddEntry("/persongroups/{personGroupId}/persons/{personId}", _endpoints[1119]); + builder.AddEntry("/pools/{poolId}/nodes/{nodeId}", _endpoints[1120]); + builder.AddEntry("/products/{productId}/apis/{apiId}", _endpoints[1121]); + builder.AddEntry("/products/{productId}/groups/{groupId}", _endpoints[1122]); + builder.AddEntry("/products/{productId}/policies/{policyId}", _endpoints[1123]); + builder.AddEntry("/projects/{projectId}/iterations/{iterationId}", _endpoints[1124]); + builder.AddEntry("/projects/{projectId}/tags/{tagId}", _endpoints[1125]); + builder.AddEntry("/storage/{storage-account-name}/sas/{sas-definition-name}", _endpoints[1126]); + builder.AddEntry("/subscriptions/{subscriptionId}/providers/{resourceProviderNamespace}", _endpoints[1127]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}", _endpoints[1128]); + builder.AddEntry("/subscriptions/{subscriptionId}/tagNames/{tagName}", _endpoints[1129]); + builder.AddEntry("/apis/{apiId}/operations/{operationId}/policies", _endpoints[1130]); + builder.AddEntry("/apps/{appId}/versions/{versionId}/clone", _endpoints[1131]); + builder.AddEntry("/apps/{appId}/versions/{versionId}/closedlists", _endpoints[1132]); + builder.AddEntry("/apps/{appId}/versions/{versionId}/compositeentities", _endpoints[1133]); + builder.AddEntry("/apps/{appId}/versions/{versionId}/customprebuiltdomains", _endpoints[1134]); + builder.AddEntry("/apps/{appId}/versions/{versionId}/customprebuiltentities", _endpoints[1135]); + builder.AddEntry("/apps/{appId}/versions/{versionId}/customprebuiltintents", _endpoints[1136]); + builder.AddEntry("/apps/{appId}/versions/{versionId}/customprebuiltmodels", _endpoints[1137]); + builder.AddEntry("/apps/{appId}/versions/{versionId}/entities", _endpoints[1138]); + builder.AddEntry("/apps/{appId}/versions/{versionId}/example", _endpoints[1139]); + builder.AddEntry("/apps/{appId}/versions/{versionId}/examples", _endpoints[1140]); + builder.AddEntry("/apps/{appId}/versions/{versionId}/export", _endpoints[1141]); + builder.AddEntry("/apps/{appId}/versions/{versionId}/features", _endpoints[1142]); + builder.AddEntry("/apps/{appId}/versions/{versionId}/hierarchicalentities", _endpoints[1143]); + builder.AddEntry("/apps/{appId}/versions/{versionId}/intents", _endpoints[1144]); + builder.AddEntry("/apps/{appId}/versions/{versionId}/listprebuilts", _endpoints[1145]); + builder.AddEntry("/apps/{appId}/versions/{versionId}/models", _endpoints[1146]); + builder.AddEntry("/apps/{appId}/versions/{versionId}/patternanyentities", _endpoints[1147]); + builder.AddEntry("/apps/{appId}/versions/{versionId}/patternrule", _endpoints[1148]); + builder.AddEntry("/apps/{appId}/versions/{versionId}/patternrules", _endpoints[1149]); + builder.AddEntry("/apps/{appId}/versions/{versionId}/patterns", _endpoints[1150]); + builder.AddEntry("/apps/{appId}/versions/{versionId}/phraselists", _endpoints[1151]); + builder.AddEntry("/apps/{appId}/versions/{versionId}/prebuilts", _endpoints[1152]); + builder.AddEntry("/apps/{appId}/versions/{versionId}/regexentities", _endpoints[1153]); + builder.AddEntry("/apps/{appId}/versions/{versionId}/suggest", _endpoints[1154]); + builder.AddEntry("/apps/{appId}/versions/{versionId}/train", _endpoints[1155]); + builder.AddEntry("/deletedstorage/{storage-account-name}/sas/{sas-definition-name}/recover", _endpoints[1156]); + builder.AddEntry("/jobs/{jobId}/tasks/{taskId}/files", _endpoints[1157]); + builder.AddEntry("/jobs/{jobId}/tasks/{taskId}/reactivate", _endpoints[1158]); + builder.AddEntry("/jobs/{jobId}/tasks/{taskId}/subtasksinfo", _endpoints[1159]); + builder.AddEntry("/jobs/{jobId}/tasks/{taskId}/terminate", _endpoints[1160]); + builder.AddEntry("/persongroups/{personGroupId}/persons/{personId}/persistedFaces", _endpoints[1161]); + builder.AddEntry("/pools/{poolId}/nodes/{nodeId}/disablescheduling", _endpoints[1162]); + builder.AddEntry("/pools/{poolId}/nodes/{nodeId}/enablescheduling", _endpoints[1163]); + builder.AddEntry("/pools/{poolId}/nodes/{nodeId}/files", _endpoints[1164]); + builder.AddEntry("/pools/{poolId}/nodes/{nodeId}/rdp", _endpoints[1165]); + builder.AddEntry("/pools/{poolId}/nodes/{nodeId}/reboot", _endpoints[1166]); + builder.AddEntry("/pools/{poolId}/nodes/{nodeId}/reimage", _endpoints[1167]); + builder.AddEntry("/pools/{poolId}/nodes/{nodeId}/remoteloginsettings", _endpoints[1168]); + builder.AddEntry("/pools/{poolId}/nodes/{nodeId}/uploadbatchservicelogs", _endpoints[1169]); + builder.AddEntry("/pools/{poolId}/nodes/{nodeId}/users", _endpoints[1170]); + builder.AddEntry("/projects/{projectId}/iterations/{iterationId}/export", _endpoints[1171]); + builder.AddEntry("/projects/{projectId}/iterations/{iterationId}/performance", _endpoints[1172]); + builder.AddEntry("/subscriptions/{subscriptionId}/providers/{resourceProviderNamespace}/register", _endpoints[1173]); + builder.AddEntry("/subscriptions/{subscriptionId}/providers/{resourceProviderNamespace}/unregister", _endpoints[1174]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/exportTemplate", _endpoints[1175]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/moveResources", _endpoints[1176]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/resources", _endpoints[1177]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/validateMoveResources", _endpoints[1178]); + builder.AddEntry("/projects/{projectId}/iterations/{iterationId}/performance/images", _endpoints[1179]); + builder.AddEntry("/projects/{projectId}/iterations/{iterationId}/performance/images/count", _endpoints[1180]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroup/{resourceGroupName}/providers/microsoft.insights/workbooks", _endpoints[1181]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{groupName}/providers/Microsoft.DataMigration/services", _endpoints[1182]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroup}/providers/Microsoft.Advisor/configurations", _endpoints[1183]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourcegroups/{resourceGroup}/providers/Microsoft.AzureBridge.Admin/activations", _endpoints[1184]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroup}/providers/Microsoft.AzureStack/registrations", _endpoints[1185]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AAD/domainServices", _endpoints[1186]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AnalysisServices/servers", _endpoints[1187]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service", _endpoints[1188]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Authorization/locks", _endpoints[1189]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.Authorization/permissions", _endpoints[1190]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Authorization/policyAssignments", _endpoints[1191]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Authorization/roleAssignments", _endpoints[1192]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Automation/automationAccounts", _endpoints[1193]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.Backup.Admin/backupLocations", _endpoints[1194]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Batch/batchAccounts", _endpoints[1195]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.BatchAI/clusters", _endpoints[1196]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.BatchAI/fileServers", _endpoints[1197]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.BatchAI/jobs", _endpoints[1198]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.BatchAI/workspaces", _endpoints[1199]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.BotService/botServices", _endpoints[1200]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Cache/Redis", _endpoints[1201]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Cdn/profiles", _endpoints[1202]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.CertificateRegistration/certificateOrders", _endpoints[1203]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.CognitiveServices/accounts", _endpoints[1204]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/availabilitySets", _endpoints[1205]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/disks", _endpoints[1206]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/galleries", _endpoints[1207]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/images", _endpoints[1208]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/snapshots", _endpoints[1209]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/virtualMachines", _endpoints[1210]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/virtualMachineScaleSets", _endpoints[1211]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Consumption/budgets", _endpoints[1212]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerInstance/containerGroups", _endpoints[1213]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerRegistry/registries", _endpoints[1214]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/containerServices", _endpoints[1215]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters", _endpoints[1216]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.CustomerInsights/hubs", _endpoints[1217]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataBox/jobs", _endpoints[1218]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Databricks/workspaces", _endpoints[1219]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataCatalog/catalogs", _endpoints[1220]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataFactory/factories", _endpoints[1221]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataLakeAnalytics/accounts", _endpoints[1222]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataLakeStore/accounts", _endpoints[1223]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBforMySQL/servers", _endpoints[1224]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBforPostgreSQL/servers", _endpoints[1225]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Devices/IotHubs", _endpoints[1226]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Devices/provisioningServices", _endpoints[1227]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DevTestLab/labs", _endpoints[1228]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DevTestLab/schedules", _endpoints[1229]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts", _endpoints[1230]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DomainRegistration/domains", _endpoints[1231]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.EventGrid/eventSubscriptions", _endpoints[1232]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.EventGrid/topics", _endpoints[1233]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.EventHub/clusters", _endpoints[1234]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.EventHub/namespaces", _endpoints[1235]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Fabric.Admin/fabricLocations", _endpoints[1236]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.HanaOnAzure/hanaInstances", _endpoints[1237]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.HDInsight/clusters", _endpoints[1238]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ImportExport/jobs", _endpoints[1239]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.InfrastructureInsights.Admin/regionHealths", _endpoints[1240]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/microsoft.insights/actionGroups", _endpoints[1241]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/microsoft.insights/activityLogAlerts", _endpoints[1242]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/microsoft.insights/alertrules", _endpoints[1243]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/microsoft.insights/autoscalesettings", _endpoints[1244]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Insights/components", _endpoints[1245]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Insights/metricAlerts", _endpoints[1246]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/microsoft.insights/scheduledQueryRules", _endpoints[1247]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Insights/webtests", _endpoints[1248]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.IoTCentral/IoTApps", _endpoints[1249]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.IoTSpaces/Graph", _endpoints[1250]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.KeyVault/vaults", _endpoints[1251]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Logic/integrationAccounts", _endpoints[1252]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Logic/workflows", _endpoints[1253]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.MachineLearning/commitmentPlans", _endpoints[1254]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.MachineLearning/webServices", _endpoints[1255]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.MachineLearning/workspaces", _endpoints[1256]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.MachineLearningCompute/operationalizationClusters", _endpoints[1257]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.MachineLearningExperimentation/accounts", _endpoints[1258]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.MachineLearningServices/workspaces", _endpoints[1259]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ManagedIdentity/userAssignedIdentities", _endpoints[1260]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Maps/accounts", _endpoints[1261]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Media/mediaservices", _endpoints[1262]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.Migrate/projects", _endpoints[1263]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/applicationGateways", _endpoints[1264]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/applicationSecurityGroups", _endpoints[1265]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/connections", _endpoints[1266]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/ddosProtectionPlans", _endpoints[1267]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/dnsZones", _endpoints[1268]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/expressRouteCircuits", _endpoints[1269]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/expressRouteCrossConnections", _endpoints[1270]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/loadBalancers", _endpoints[1271]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/localNetworkGateways", _endpoints[1272]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkInterfaces", _endpoints[1273]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkSecurityGroups", _endpoints[1274]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkWatchers", _endpoints[1275]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/publicIPAddresses", _endpoints[1276]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/routeFilters", _endpoints[1277]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/routeTables", _endpoints[1278]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/trafficmanagerprofiles", _endpoints[1279]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworkGateways", _endpoints[1280]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworks", _endpoints[1281]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.NotificationHubs/namespaces", _endpoints[1282]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.OperationalInsights/workspaces", _endpoints[1283]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.OperationsManagement/solutions", _endpoints[1284]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.PowerBI/workspaceCollections", _endpoints[1285]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.PowerBIDedicated/capacities", _endpoints[1286]); + builder.AddEntry("/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/operations", _endpoints[1287]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults", _endpoints[1288]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Relay/namespaces", _endpoints[1289]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ResourceHealth/availabilityStatuses", _endpoints[1290]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.Resources/deployments/", _endpoints[1291]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Scheduler/jobCollections", _endpoints[1292]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Search/searchServices", _endpoints[1293]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Security/alerts", _endpoints[1294]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Security/jitNetworkAccessPolicies", _endpoints[1295]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Security/pricings", _endpoints[1296]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Security/securityContacts", _endpoints[1297]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Security/workspaceSettings", _endpoints[1298]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ServerManagement/gateways", _endpoints[1299]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ServerManagement/nodes", _endpoints[1300]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ServiceBus/namespaces", _endpoints[1301]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.ServiceFabric/clusters", _endpoints[1302]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.SignalRService/SignalR", _endpoints[1303]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Solutions/applianceDefinitions", _endpoints[1304]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Solutions/appliances", _endpoints[1305]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Solutions/applicationDefinitions", _endpoints[1306]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Solutions/applications", _endpoints[1307]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/managedInstances", _endpoints[1308]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers", _endpoints[1309]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.Storage.Admin/farms", _endpoints[1310]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Storage/storageAccounts", _endpoints[1311]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.StorSimple/managers", _endpoints[1312]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.StreamAnalytics/streamingjobs", _endpoints[1313]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.Subscriptions.Admin/directoryTenants", _endpoints[1314]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.Subscriptions.Admin/offers", _endpoints[1315]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.Subscriptions.Admin/plans", _endpoints[1316]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.TimeSeriesInsights/environments", _endpoints[1317]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.Update.Admin/updateLocations/", _endpoints[1318]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/microsoft.visualstudio/account", _endpoints[1319]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/certificates", _endpoints[1320]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/classicMobileServices", _endpoints[1321]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/connectionGateways", _endpoints[1322]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/connections", _endpoints[1323]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/csrs", _endpoints[1324]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/customApis", _endpoints[1325]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/deletedSites", _endpoints[1326]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/hostingEnvironments", _endpoints[1327]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/managedHostingEnvironments", _endpoints[1328]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/resourceHealthMetadata", _endpoints[1329]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/serverfarms", _endpoints[1330]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites", _endpoints[1331]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/validate", _endpoints[1332]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.BotService/BotServices/listServiceProviders", _endpoints[1333]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroup/{resourceGroupName}/providers/microsoft.insights/workbooks/{resourceName}", _endpoints[1334]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{groupName}/providers/Microsoft.DataMigration/services/{serviceName}", _endpoints[1335]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourcegroups/{resourceGroup}/providers/Microsoft.AzureBridge.Admin/activations/{activationName}", _endpoints[1336]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroup}/providers/Microsoft.AzureStack/registrations/{registrationName}", _endpoints[1337]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AAD/domainServices/{domainServiceName}", _endpoints[1338]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AnalysisServices/servers/{serverName}", _endpoints[1339]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}", _endpoints[1340]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Authorization/locks/{lockName}", _endpoints[1341]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Automation/automationAccounts/{automationAccountName}", _endpoints[1342]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.Backup.Admin/backupLocations/{location}", _endpoints[1343]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Batch/batchAccounts/{accountName}", _endpoints[1344]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.BatchAI/clusters/{clusterName}", _endpoints[1345]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.BatchAI/fileServers/{fileServerName}", _endpoints[1346]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.BatchAI/jobs/{jobName}", _endpoints[1347]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.BatchAI/workspaces/{workspaceName}", _endpoints[1348]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.BotService/botServices/{resourceName}", _endpoints[1349]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Cache/Redis/{name}", _endpoints[1350]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Cdn/profiles/{profileName}", _endpoints[1351]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.CertificateRegistration/certificateOrders/{name}", _endpoints[1352]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.CognitiveServices/accounts/{accountName}", _endpoints[1353]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/availabilitySets/{availabilitySetName}", _endpoints[1354]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/disks/{diskName}", _endpoints[1355]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/galleries/{galleryName}", _endpoints[1356]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/images/{imageName}", _endpoints[1357]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/snapshots/{snapshotName}", _endpoints[1358]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/virtualMachines/{vmName}", _endpoints[1359]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/virtualMachineScaleSets/{vmScaleSetName}", _endpoints[1360]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Consumption/budgets/{budgetName}", _endpoints[1361]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerInstance/containerGroups/{containerGroupName}", _endpoints[1362]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerRegistry/registries/{registryName}", _endpoints[1363]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/containerServices/{containerServiceName}", _endpoints[1364]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}", _endpoints[1365]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.CustomerInsights/hubs/{hubName}", _endpoints[1366]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataBox/jobs/{jobName}", _endpoints[1367]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Databricks/workspaces/{workspaceName}", _endpoints[1368]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataCatalog/catalogs/{catalogName}", _endpoints[1369]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataFactory/factories/{factoryName}", _endpoints[1370]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataLakeAnalytics/accounts/{accountName}", _endpoints[1371]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataLakeStore/accounts/{accountName}", _endpoints[1372]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBforMySQL/servers/{serverName}", _endpoints[1373]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBforPostgreSQL/servers/{serverName}", _endpoints[1374]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Devices/IotHubs/{resourceName}", _endpoints[1375]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Devices/provisioningServices/{provisioningServiceName}", _endpoints[1376]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DevTestLab/labs/{name}", _endpoints[1377]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DevTestLab/schedules/{name}", _endpoints[1378]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}", _endpoints[1379]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DomainRegistration/domains/{domainName}", _endpoints[1380]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.EventGrid/topics/{topicName}", _endpoints[1381]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.EventHub/clusters/{clusterName}", _endpoints[1382]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.EventHub/namespaces/{namespaceName}", _endpoints[1383]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Fabric.Admin/fabricLocations/{fabricLocation}", _endpoints[1384]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.HanaOnAzure/hanaInstances/{hanaInstanceName}", _endpoints[1385]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.HDInsight/clusters/{clusterName}", _endpoints[1386]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ImportExport/jobs/{jobName}", _endpoints[1387]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.InfrastructureInsights.Admin/regionHealths/{location}", _endpoints[1388]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/microsoft.insights/actionGroups/{actionGroupName}", _endpoints[1389]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/microsoft.insights/activityLogAlerts/{activityLogAlertName}", _endpoints[1390]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/microsoft.insights/alertrules/{ruleName}", _endpoints[1391]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/microsoft.insights/autoscalesettings/{autoscaleSettingName}", _endpoints[1392]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Insights/components/{resourceName}", _endpoints[1393]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Insights/metricAlerts/{ruleName}", _endpoints[1394]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/microsoft.insights/scheduledQueryRules/{ruleName}", _endpoints[1395]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Insights/webtests/{webTestName}", _endpoints[1396]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.IoTCentral/IoTApps/{resourceName}", _endpoints[1397]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.IoTSpaces/Graph/{resourceName}", _endpoints[1398]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.KeyVault/vaults/{vaultName}", _endpoints[1399]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Logic/integrationAccounts/{integrationAccountName}", _endpoints[1400]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Logic/workflows/{workflowName}", _endpoints[1401]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.MachineLearning/commitmentPlans/{commitmentPlanName}", _endpoints[1402]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.MachineLearning/webServices/{webServiceName}", _endpoints[1403]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.MachineLearning/workspaces/{workspaceName}", _endpoints[1404]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.MachineLearningCompute/operationalizationClusters/{clusterName}", _endpoints[1405]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.MachineLearningExperimentation/accounts/{accountName}", _endpoints[1406]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.MachineLearningServices/workspaces/{workspaceName}", _endpoints[1407]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ManagedIdentity/userAssignedIdentities/{resourceName}", _endpoints[1408]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Maps/accounts/{accountName}", _endpoints[1409]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Media/mediaservices/{mediaServiceName}", _endpoints[1410]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.Migrate/projects/{projectName}", _endpoints[1411]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/applicationGateways/{applicationGatewayName}", _endpoints[1412]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/applicationSecurityGroups/{applicationSecurityGroupName}", _endpoints[1413]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/connections/{virtualNetworkGatewayConnectionName}", _endpoints[1414]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/ddosProtectionPlans/{ddosProtectionPlanName}", _endpoints[1415]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/dnsZones/{zoneName}", _endpoints[1416]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/expressRouteCircuits/{circuitName}", _endpoints[1417]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/expressRouteCrossConnections/{crossConnectionName}", _endpoints[1418]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/loadBalancers/{loadBalancerName}", _endpoints[1419]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/localNetworkGateways/{localNetworkGatewayName}", _endpoints[1420]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkInterfaces/{networkInterfaceName}", _endpoints[1421]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkSecurityGroups/{networkSecurityGroupName}", _endpoints[1422]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkWatchers/{networkWatcherName}", _endpoints[1423]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/publicIPAddresses/{publicIpAddressName}", _endpoints[1424]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/routeFilters/{routeFilterName}", _endpoints[1425]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/routeTables/{routeTableName}", _endpoints[1426]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/trafficmanagerprofiles/{profileName}", _endpoints[1427]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworkGateways/{virtualNetworkGatewayName}", _endpoints[1428]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworks/{virtualNetworkName}", _endpoints[1429]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.NotificationHubs/namespaces/{namespaceName}", _endpoints[1430]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.OperationalInsights/workspaces/{workspaceName}", _endpoints[1431]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.OperationsManagement/ManagementConfigurations/{managementConfigurationName}", _endpoints[1432]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.OperationsManagement/solutions/{solutionName}", _endpoints[1433]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.PowerBI/workspaceCollections/{workspaceCollectionName}", _endpoints[1434]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.PowerBIDedicated/capacities/{dedicatedCapacityName}", _endpoints[1435]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}", _endpoints[1436]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Relay/namespaces/{namespaceName}", _endpoints[1437]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.Resources/deployments/{deploymentName}", _endpoints[1438]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Scheduler/jobCollections/{jobCollectionName}", _endpoints[1439]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Search/searchServices/{searchServiceName}", _endpoints[1440]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Security/pricings/{pricingName}", _endpoints[1441]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Security/securityContacts/{securityContactName}", _endpoints[1442]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Security/workspaceSettings/{workspaceSettingName}", _endpoints[1443]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ServerManagement/gateways/{gatewayName}", _endpoints[1444]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ServerManagement/nodes/{nodeName}", _endpoints[1445]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ServiceBus/namespaces/{namespaceName}", _endpoints[1446]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ServiceFabric/clusters/{clusterName}", _endpoints[1447]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.SignalRService/SignalR/{resourceName}", _endpoints[1448]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Solutions/applianceDefinitions/{applianceDefinitionName}", _endpoints[1449]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Solutions/appliances/{applianceName}", _endpoints[1450]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Solutions/applicationDefinitions/{applicationDefinitionName}", _endpoints[1451]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Solutions/applications/{applicationName}", _endpoints[1452]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/managedInstances/{managedInstanceName}", _endpoints[1453]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}", _endpoints[1454]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.Storage.Admin/farms/{farmId}", _endpoints[1455]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Storage/storageAccounts/{accountName}", _endpoints[1456]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.StorSimple/managers/{managerName}", _endpoints[1457]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.StreamAnalytics/streamingjobs/{jobName}", _endpoints[1458]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.Subscriptions.Admin/directoryTenants/{tenant}", _endpoints[1459]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.Subscriptions.Admin/offers/{offer}", _endpoints[1460]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.Subscriptions.Admin/plans/{plan}", _endpoints[1461]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.TimeSeriesInsights/environments/{environmentName}", _endpoints[1462]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.Update.Admin/updateLocations/{updateLocation}", _endpoints[1463]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/microsoft.visualstudio/account/{resourceName}", _endpoints[1464]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/certificates/{name}", _endpoints[1465]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/classicMobileServices/{name}", _endpoints[1466]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/connectionGateways/{connectionGatewayName}", _endpoints[1467]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/connections/{connectionName}", _endpoints[1468]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/csrs/{name}", _endpoints[1469]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/customApis/{apiName}", _endpoints[1470]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/hostingEnvironments/{name}", _endpoints[1471]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/managedHostingEnvironments/{name}", _endpoints[1472]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/serverfarms/{name}", _endpoints[1473]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}", _endpoints[1474]); + builder.AddEntry("/providers/{managementGroupsNamespace}/managementGroups/{managementGroupName}/providers/Microsoft.PolicyInsights/policyEvents/{policyEventsResource}/queryResults", _endpoints[1475]); + builder.AddEntry("/providers/{managementGroupsNamespace}/managementGroups/{managementGroupName}/providers/Microsoft.PolicyInsights/policyStates/{policyStatesResource}/queryResults", _endpoints[1476]); + builder.AddEntry("/providers/{managementGroupsNamespace}/managementGroups/{managementGroupName}/providers/Microsoft.PolicyInsights/policyStates/{policyStatesSummaryResource}/summarize", _endpoints[1477]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroup/{resourceGroupName}/providers/Microsoft.MachineLearningServices/workspaces/{workspaceName}/computes", _endpoints[1478]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{groupName}/providers/Microsoft.DataMigration/services/{serviceName}/checkNameAvailability", _endpoints[1479]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{groupName}/providers/Microsoft.DataMigration/services/{serviceName}/checkStatus", _endpoints[1480]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{groupName}/providers/Microsoft.DataMigration/services/{serviceName}/projects", _endpoints[1481]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{groupName}/providers/Microsoft.DataMigration/services/{serviceName}/skus", _endpoints[1482]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{groupName}/providers/Microsoft.DataMigration/services/{serviceName}/start", _endpoints[1483]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{groupName}/providers/Microsoft.DataMigration/services/{serviceName}/stop", _endpoints[1484]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourcegroups/{resourceGroup}/providers/Microsoft.AzureBridge.Admin/activations/{activationName}/downloadedProducts", _endpoints[1485]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourcegroups/{resourceGroup}/providers/Microsoft.AzureBridge.Admin/activations/{activationName}/products", _endpoints[1486]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroup}/providers/Microsoft.AzureStack/registrations/{registrationName}/customerSubscriptions", _endpoints[1487]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroup}/providers/Microsoft.AzureStack/registrations/{registrationName}/getactivationkey", _endpoints[1488]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroup}/providers/Microsoft.AzureStack/registrations/{registrationName}/products", _endpoints[1489]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AnalysisServices/servers/{serverName}/dissociateGateway", _endpoints[1490]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AnalysisServices/servers/{serverName}/listGatewayStatus", _endpoints[1491]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AnalysisServices/servers/{serverName}/resume", _endpoints[1492]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AnalysisServices/servers/{serverName}/skus", _endpoints[1493]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AnalysisServices/servers/{serverName}/suspend", _endpoints[1494]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/apis", _endpoints[1495]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/apisByTags", _endpoints[1496]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/api-version-sets", _endpoints[1497]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/applynetworkconfigurationupdates", _endpoints[1498]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/authorizationServers", _endpoints[1499]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/backends", _endpoints[1500]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/backup", _endpoints[1501]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/certificates", _endpoints[1502]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/diagnostics", _endpoints[1503]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/getssotoken", _endpoints[1504]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/groups", _endpoints[1505]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/identityProviders", _endpoints[1506]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/issues", _endpoints[1507]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/loggers", _endpoints[1508]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/managedeployments", _endpoints[1509]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/networkstatus", _endpoints[1510]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/notifications", _endpoints[1511]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/openidConnectProviders", _endpoints[1512]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/policies", _endpoints[1513]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/policySnippets", _endpoints[1514]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/products", _endpoints[1515]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/properties", _endpoints[1516]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/regions", _endpoints[1517]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/restore", _endpoints[1518]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/subscriptions", _endpoints[1519]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/tagResources", _endpoints[1520]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/tags", _endpoints[1521]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/templates", _endpoints[1522]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/updatecertificate", _endpoints[1523]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/updatehostname", _endpoints[1524]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/uploadcertificate", _endpoints[1525]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/users", _endpoints[1526]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Automation/automationAccounts/{automationAccountName}/agentRegistrationInformation", _endpoints[1527]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Automation/automationAccounts/{automationAccountName}/certificates", _endpoints[1528]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Automation/automationAccounts/{automationAccountName}/compilationjobs", _endpoints[1529]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Automation/automationAccounts/{automationAccountName}/configurations", _endpoints[1530]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Automation/automationAccounts/{automationAccountName}/connections", _endpoints[1531]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Automation/automationAccounts/{automationAccountName}/connectionTypes", _endpoints[1532]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Automation/automationAccounts/{automationAccountName}/credentials", _endpoints[1533]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Automation/automationAccounts/{automationAccountName}/hybridRunbookWorkerGroups", _endpoints[1534]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Automation/automationAccounts/{automationAccountName}/jobs", _endpoints[1535]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Automation/automationAccounts/{automationAccountName}/jobSchedules", _endpoints[1536]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Automation/automationAccounts/{automationAccountName}/linkedWorkspace", _endpoints[1537]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Automation/automationAccounts/{automationAccountName}/listKeys", _endpoints[1538]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Automation/automationAccounts/{automationAccountName}/modules", _endpoints[1539]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Automation/automationAccounts/{automationAccountName}/nodeConfigurations", _endpoints[1540]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Automation/automationAccounts/{automationAccountName}/nodes", _endpoints[1541]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Automation/automationAccounts/{automationAccountName}/runbooks", _endpoints[1542]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Automation/automationAccounts/{automationAccountName}/schedules", _endpoints[1543]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Automation/automationAccounts/{automationAccountName}/softwareUpdateConfigurationMachineRuns", _endpoints[1544]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Automation/automationAccounts/{automationAccountName}/softwareUpdateConfigurationRuns", _endpoints[1545]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Automation/automationAccounts/{automationAccountName}/softwareUpdateConfigurations", _endpoints[1546]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Automation/automationAccounts/{automationAccountName}/sourceControls", _endpoints[1547]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Automation/automationAccounts/{automationAccountName}/statistics", _endpoints[1548]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Automation/automationAccounts/{automationAccountName}/usages", _endpoints[1549]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Automation/automationAccounts/{automationAccountName}/variables", _endpoints[1550]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Automation/automationAccounts/{automationAccountName}/watchers", _endpoints[1551]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Automation/automationAccounts/{automationAccountName}/webhooks", _endpoints[1552]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.Backup.Admin/backupLocations/{location}/backups", _endpoints[1553]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.Backup.Admin/backupLocations/{location}/createBackup", _endpoints[1554]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Batch/batchAccounts/{accountName}/applications", _endpoints[1555]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Batch/batchAccounts/{accountName}/certificates", _endpoints[1556]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Batch/batchAccounts/{accountName}/listKeys", _endpoints[1557]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Batch/batchAccounts/{accountName}/pools", _endpoints[1558]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Batch/batchAccounts/{accountName}/regenerateKeys", _endpoints[1559]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Batch/batchAccounts/{accountName}/syncAutoStorageKeys", _endpoints[1560]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.BatchAI/clusters/{clusterName}/listRemoteLoginInformation", _endpoints[1561]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.BatchAI/jobs/{jobName}/listOutputFiles", _endpoints[1562]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.BatchAI/jobs/{jobName}/listRemoteLoginInformation", _endpoints[1563]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.BatchAI/jobs/{jobName}/terminate", _endpoints[1564]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.BatchAI/workspaces/{workspaceName}/clusters", _endpoints[1565]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.BatchAI/workspaces/{workspaceName}/experiments", _endpoints[1566]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.BatchAI/workspaces/{workspaceName}/fileServers", _endpoints[1567]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.BotService/botServices/{resourceName}/channels", _endpoints[1568]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.BotService/botServices/{resourceName}/connections", _endpoints[1569]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Cache/Redis/{cacheName}/firewallRules", _endpoints[1570]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Cache/Redis/{cacheName}/patchSchedules", _endpoints[1571]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Cache/Redis/{name}/export", _endpoints[1572]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Cache/Redis/{name}/forceReboot", _endpoints[1573]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Cache/Redis/{name}/import", _endpoints[1574]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Cache/Redis/{name}/linkedServers", _endpoints[1575]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Cache/Redis/{name}/listKeys", _endpoints[1576]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Cache/Redis/{name}/listUpgradeNotifications", _endpoints[1577]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Cache/Redis/{name}/regenerateKey", _endpoints[1578]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Cdn/profiles/{profileName}/checkResourceUsage", _endpoints[1579]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Cdn/profiles/{profileName}/endpoints", _endpoints[1580]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Cdn/profiles/{profileName}/generateSsoUri", _endpoints[1581]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Cdn/profiles/{profileName}/getSupportedOptimizationTypes", _endpoints[1582]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.CertificateRegistration/certificateOrders/{certificateOrderName}/certificates", _endpoints[1583]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.CertificateRegistration/certificateOrders/{certificateOrderName}/resendRequestEmails", _endpoints[1584]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.CertificateRegistration/certificateOrders/{certificateOrderName}/retrieveSiteSeal", _endpoints[1585]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.CertificateRegistration/certificateOrders/{name}/reissue", _endpoints[1586]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.CertificateRegistration/certificateOrders/{name}/renew", _endpoints[1587]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.CertificateRegistration/certificateOrders/{name}/resendEmail", _endpoints[1588]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.CertificateRegistration/certificateOrders/{name}/retrieveCertificateActions", _endpoints[1589]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.CertificateRegistration/certificateOrders/{name}/retrieveEmailHistory", _endpoints[1590]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.CertificateRegistration/certificateOrders/{name}/verifyDomainOwnership", _endpoints[1591]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.CognitiveServices/accounts/{accountName}/listKeys", _endpoints[1592]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.CognitiveServices/accounts/{accountName}/regenerateKey", _endpoints[1593]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.CognitiveServices/accounts/{accountName}/skus", _endpoints[1594]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.CognitiveServices/accounts/{accountName}/usages", _endpoints[1595]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/availabilitySets/{availabilitySetName}/vmSizes", _endpoints[1596]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/disks/{diskName}/beginGetAccess", _endpoints[1597]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/disks/{diskName}/endGetAccess", _endpoints[1598]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/galleries/{galleryName}/images", _endpoints[1599]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/snapshots/{snapshotName}/beginGetAccess", _endpoints[1600]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/snapshots/{snapshotName}/endGetAccess", _endpoints[1601]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/virtualMachines/{vmName}/capture", _endpoints[1602]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/virtualMachines/{vmName}/convertToManagedDisks", _endpoints[1603]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/virtualMachines/{vmName}/deallocate", _endpoints[1604]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/virtualMachines/{vmName}/extensions", _endpoints[1605]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/virtualMachines/{vmName}/generalize", _endpoints[1606]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/virtualMachines/{vmName}/instanceView", _endpoints[1607]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/virtualMachines/{vmName}/performMaintenance", _endpoints[1608]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/virtualMachines/{vmName}/powerOff", _endpoints[1609]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/virtualMachines/{vmName}/redeploy", _endpoints[1610]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/virtualMachines/{vmName}/restart", _endpoints[1611]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/virtualMachines/{vmName}/runCommand", _endpoints[1612]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/virtualMachines/{vmName}/start", _endpoints[1613]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/virtualMachines/{vmName}/vmSizes", _endpoints[1614]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/microsoft.Compute/virtualMachineScaleSets/{virtualMachineScaleSetName}/networkInterfaces", _endpoints[1615]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/virtualMachineScaleSets/{virtualMachineScaleSetName}/publicipaddresses", _endpoints[1616]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/virtualMachineScaleSets/{virtualMachineScaleSetName}/virtualMachines", _endpoints[1617]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/virtualMachineScaleSets/{vmScaleSetName}/deallocate", _endpoints[1618]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/virtualMachineScaleSets/{vmScaleSetName}/delete", _endpoints[1619]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/virtualMachineScaleSets/{vmScaleSetName}/extensions", _endpoints[1620]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/virtualMachineScaleSets/{vmScaleSetName}/forceRecoveryServiceFabricPlatformUpdateDomainWalk", _endpoints[1621]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/virtualMachineScaleSets/{vmScaleSetName}/instanceView", _endpoints[1622]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/virtualMachineScaleSets/{vmScaleSetName}/manualupgrade", _endpoints[1623]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/virtualMachineScaleSets/{vmScaleSetName}/osRollingUpgrade", _endpoints[1624]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/virtualMachineScaleSets/{vmScaleSetName}/osUpgradeHistory", _endpoints[1625]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/virtualMachineScaleSets/{vmScaleSetName}/performMaintenance", _endpoints[1626]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/virtualMachineScaleSets/{vmScaleSetName}/poweroff", _endpoints[1627]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/virtualMachineScaleSets/{vmScaleSetName}/redeploy", _endpoints[1628]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/virtualMachineScaleSets/{vmScaleSetName}/reimage", _endpoints[1629]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/virtualMachineScaleSets/{vmScaleSetName}/reimageall", _endpoints[1630]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/virtualMachineScaleSets/{vmScaleSetName}/restart", _endpoints[1631]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/virtualMachineScaleSets/{vmScaleSetName}/skus", _endpoints[1632]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/virtualMachineScaleSets/{vmScaleSetName}/start", _endpoints[1633]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerRegistry/registries/{registryName}/builds", _endpoints[1634]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerRegistry/registries/{registryName}/buildTasks", _endpoints[1635]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerRegistry/registries/{registryName}/getBuildSourceUploadUrl", _endpoints[1636]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerRegistry/registries/{registryName}/getCredentials", _endpoints[1637]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerRegistry/registries/{registryName}/importImage", _endpoints[1638]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerRegistry/registries/{registryName}/listCredentials", _endpoints[1639]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerRegistry/registries/{registryName}/listUsages", _endpoints[1640]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerRegistry/registries/{registryName}/queueBuild", _endpoints[1641]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerRegistry/registries/{registryName}/regenerateCredential", _endpoints[1642]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerRegistry/registries/{registryName}/regenerateCredentials", _endpoints[1643]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerRegistry/registries/{registryName}/replications", _endpoints[1644]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerRegistry/registries/{registryName}/webhooks", _endpoints[1645]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.CustomerInsights/hubs/{hubName}/authorizationPolicies", _endpoints[1646]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.CustomerInsights/hubs/{hubName}/connectors", _endpoints[1647]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.CustomerInsights/hubs/{hubName}/interactions", _endpoints[1648]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.CustomerInsights/hubs/{hubName}/kpi", _endpoints[1649]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.CustomerInsights/hubs/{hubName}/links", _endpoints[1650]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.CustomerInsights/hubs/{hubName}/predictions", _endpoints[1651]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.CustomerInsights/hubs/{hubName}/profiles", _endpoints[1652]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.CustomerInsights/hubs/{hubName}/relationshipLinks", _endpoints[1653]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.CustomerInsights/hubs/{hubName}/relationships", _endpoints[1654]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.CustomerInsights/hubs/{hubName}/roleAssignments", _endpoints[1655]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.CustomerInsights/hubs/{hubName}/roles", _endpoints[1656]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.CustomerInsights/hubs/{hubName}/views", _endpoints[1657]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.CustomerInsights/hubs/{hubName}/widgetTypes", _endpoints[1658]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataBox/jobs/{jobName}/bookShipmentPickUp", _endpoints[1659]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataBox/jobs/{jobName}/cancel", _endpoints[1660]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataBox/jobs/{jobName}/copyLogsUri", _endpoints[1661]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataBox/jobs/{jobName}/downloadShippingLabel", _endpoints[1662]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataBox/jobs/{jobName}/listSecrets", _endpoints[1663]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataBox/jobs/{jobName}/reportIssue", _endpoints[1664]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataFactory/factories/{factoryName}/datasets", _endpoints[1665]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataFactory/factories/{factoryName}/integrationRuntimes", _endpoints[1666]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataFactory/factories/{factoryName}/linkedservices", _endpoints[1667]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataFactory/factories/{factoryName}/pipelineruns", _endpoints[1668]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataFactory/factories/{factoryName}/pipelines", _endpoints[1669]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataFactory/factories/{factoryName}/triggers", _endpoints[1670]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataLakeAnalytics/accounts/{accountName}/computePolicies", _endpoints[1671]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataLakeAnalytics/accounts/{accountName}/dataLakeStoreAccounts", _endpoints[1672]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataLakeAnalytics/accounts/{accountName}/firewallRules", _endpoints[1673]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataLakeAnalytics/accounts/{accountName}/storageAccounts", _endpoints[1674]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataLakeStore/accounts/{accountName}/enableKeyVault", _endpoints[1675]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataLakeStore/accounts/{accountName}/firewallRules", _endpoints[1676]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataLakeStore/accounts/{accountName}/trustedIdProviders", _endpoints[1677]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataLakeStore/accounts/{accountName}/virtualNetworkRules", _endpoints[1678]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBforMySQL/servers/{serverName}/configurations", _endpoints[1679]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBforMySQL/servers/{serverName}/databases", _endpoints[1680]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBforMySQL/servers/{serverName}/firewallRules", _endpoints[1681]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBforMySQL/servers/{serverName}/logFiles", _endpoints[1682]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBforMySQL/servers/{serverName}/virtualNetworkRules", _endpoints[1683]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBforPostgreSQL/servers/{serverName}/configurations", _endpoints[1684]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBforPostgreSQL/servers/{serverName}/databases", _endpoints[1685]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBforPostgreSQL/servers/{serverName}/firewallRules", _endpoints[1686]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBforPostgreSQL/servers/{serverName}/logFiles", _endpoints[1687]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBforPostgreSQL/servers/{serverName}/virtualNetworkRules", _endpoints[1688]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Devices/IotHubs/{iotHubName}/routingEndpointsHealth", _endpoints[1689]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Devices/IotHubs/{resourceName}/certificates", _endpoints[1690]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Devices/IotHubs/{resourceName}/exportDevices", _endpoints[1691]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Devices/IotHubs/{resourceName}/importDevices", _endpoints[1692]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Devices/IotHubs/{resourceName}/IotHubStats", _endpoints[1693]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Devices/IotHubs/{resourceName}/jobs", _endpoints[1694]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Devices/IotHubs/{resourceName}/listkeys", _endpoints[1695]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Devices/IotHubs/{resourceName}/quotaMetrics", _endpoints[1696]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Devices/IotHubs/{resourceName}/skus", _endpoints[1697]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Devices/provisioningServices/{provisioningServiceName}/certificates", _endpoints[1698]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Devices/provisioningServices/{provisioningServiceName}/listkeys", _endpoints[1699]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Devices/provisioningServices/{provisioningServiceName}/skus", _endpoints[1700]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DevTestLab/labs/{labName}/artifactsources", _endpoints[1701]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DevTestLab/labs/{labName}/costinsights", _endpoints[1702]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DevTestLab/labs/{labName}/costs", _endpoints[1703]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DevTestLab/labs/{labName}/customimages", _endpoints[1704]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DevTestLab/labs/{labName}/formulas", _endpoints[1705]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DevTestLab/labs/{labName}/galleryimages", _endpoints[1706]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DevTestLab/labs/{labName}/notificationchannels", _endpoints[1707]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DevTestLab/labs/{labName}/schedules", _endpoints[1708]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DevTestLab/labs/{labName}/servicerunners", _endpoints[1709]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DevTestLab/labs/{labName}/users", _endpoints[1710]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DevTestLab/labs/{labName}/virtualmachines", _endpoints[1711]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DevTestLab/labs/{labName}/virtualnetworks", _endpoints[1712]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DevTestLab/labs/{name}/claimAnyVm", _endpoints[1713]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DevTestLab/labs/{name}/createEnvironment", _endpoints[1714]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DevTestLab/labs/{name}/exportResourceUsage", _endpoints[1715]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DevTestLab/labs/{name}/generateUploadUri", _endpoints[1716]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DevTestLab/labs/{name}/listVhds", _endpoints[1717]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DevTestLab/schedules/{name}/execute", _endpoints[1718]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DevTestLab/schedules/{name}/retarget", _endpoints[1719]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/failoverPriorityChange", _endpoints[1720]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/listConnectionStrings", _endpoints[1721]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/listKeys", _endpoints[1722]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/metricDefinitions", _endpoints[1723]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/metrics", _endpoints[1724]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/offlineRegion", _endpoints[1725]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/onlineRegion", _endpoints[1726]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/readonlykeys", _endpoints[1727]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/regenerateKey", _endpoints[1728]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/usages", _endpoints[1729]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DomainRegistration/domains/{domainName}/domainOwnershipIdentifiers", _endpoints[1730]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DomainRegistration/domains/{domainName}/renew", _endpoints[1731]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.EventGrid/locations/{location}/eventSubscriptions", _endpoints[1732]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.EventGrid/topics/{topicName}/listKeys", _endpoints[1733]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.EventGrid/topics/{topicName}/regenerateKey", _endpoints[1734]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.EventGrid/topicTypes/{topicTypeName}/eventSubscriptions", _endpoints[1735]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.EventHub/namespaces/{namespaceName}/AuthorizationRules", _endpoints[1736]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.EventHub/namespaces/{namespaceName}/disasterRecoveryConfigs", _endpoints[1737]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.EventHub/namespaces/{namespaceName}/eventhubs", _endpoints[1738]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.EventHub/namespaces/{namespaceName}/messagingplan", _endpoints[1739]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Fabric.Admin/fabricLocations/{location}/edgeGatewayPools", _endpoints[1740]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Fabric.Admin/fabricLocations/{location}/edgeGateways", _endpoints[1741]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Fabric.Admin/fabricLocations/{location}/fileShares", _endpoints[1742]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Fabric.Admin/fabricLocations/{location}/infraRoleInstances", _endpoints[1743]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Fabric.Admin/fabricLocations/{location}/infraRoles", _endpoints[1744]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Fabric.Admin/fabricLocations/{location}/ipPools", _endpoints[1745]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Fabric.Admin/fabricLocations/{location}/logicalNetworks", _endpoints[1746]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Fabric.Admin/fabricLocations/{location}/macAddressPools", _endpoints[1747]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Fabric.Admin/fabricLocations/{location}/scaleUnitNodes", _endpoints[1748]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Fabric.Admin/fabricLocations/{location}/scaleUnits", _endpoints[1749]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Fabric.Admin/fabricLocations/{location}/slbMuxInstances", _endpoints[1750]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Fabric.Admin/fabricLocations/{location}/storageSubSystems", _endpoints[1751]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.HDInsight/clusters/{clusterName}/applications", _endpoints[1752]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.HDInsight/clusters/{clusterName}/executeScriptActions", _endpoints[1753]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.HDInsight/clusters/{clusterName}/scriptActions", _endpoints[1754]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.HDInsight/clusters/{clusterName}/scriptExecutionHistory", _endpoints[1755]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ImportExport/jobs/{jobName}/listBitLockerKeys", _endpoints[1756]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.InfrastructureInsights.Admin/regionHealths/{location}/alerts", _endpoints[1757]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.InfrastructureInsights.Admin/regionHealths/{location}/serviceHealths", _endpoints[1758]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/microsoft.insights/actionGroups/{actionGroupName}/subscribe", _endpoints[1759]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/microsoft.insights/alertrules/{ruleName}/incidents", _endpoints[1760]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Insights/components/{componentName}/webtests", _endpoints[1761]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Insights/components/{resourceName}/Annotations", _endpoints[1762]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Insights/components/{resourceName}/ApiKeys", _endpoints[1763]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Insights/components/{resourceName}/currentbillingfeatures", _endpoints[1764]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Insights/components/{resourceName}/DefaultWorkItemConfig", _endpoints[1765]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Insights/components/{resourceName}/exportconfiguration", _endpoints[1766]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Insights/components/{resourceName}/favorites", _endpoints[1767]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Insights/components/{resourceName}/featurecapabilities", _endpoints[1768]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Insights/components/{resourceName}/getavailablebillingfeatures", _endpoints[1769]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Insights/components/{resourceName}/ProactiveDetectionConfigs", _endpoints[1770]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Insights/components/{resourceName}/purge", _endpoints[1771]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Insights/components/{resourceName}/quotastatus", _endpoints[1772]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Insights/components/{resourceName}/syntheticmonitorlocations", _endpoints[1773]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Insights/components/{resourceName}/WorkItemConfigs", _endpoints[1774]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Insights/metricAlerts/{ruleName}/status", _endpoints[1775]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.KeyVault/vaults/{vaultName}/secrets", _endpoints[1776]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Logic/integrationAccounts/{integrationAccountName}/agreements", _endpoints[1777]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Logic/integrationAccounts/{integrationAccountName}/assemblies", _endpoints[1778]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Logic/integrationAccounts/{integrationAccountName}/batchConfigurations", _endpoints[1779]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Logic/integrationAccounts/{integrationAccountName}/certificates", _endpoints[1780]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Logic/integrationAccounts/{integrationAccountName}/listCallbackUrl", _endpoints[1781]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Logic/integrationAccounts/{integrationAccountName}/listKeyVaultKeys", _endpoints[1782]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Logic/integrationAccounts/{integrationAccountName}/logTrackingEvents", _endpoints[1783]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Logic/integrationAccounts/{integrationAccountName}/maps", _endpoints[1784]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Logic/integrationAccounts/{integrationAccountName}/partners", _endpoints[1785]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Logic/integrationAccounts/{integrationAccountName}/regenerateAccessKey", _endpoints[1786]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Logic/integrationAccounts/{integrationAccountName}/schemas", _endpoints[1787]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Logic/integrationAccounts/{integrationAccountName}/sessions", _endpoints[1788]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Logic/workflows/{workflowName}/accessKeys", _endpoints[1789]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Logic/workflows/{workflowName}/disable", _endpoints[1790]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Logic/workflows/{workflowName}/enable", _endpoints[1791]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Logic/workflows/{workflowName}/generateUpgradedDefinition", _endpoints[1792]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Logic/workflows/{workflowName}/listCallbackUrl", _endpoints[1793]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Logic/workflows/{workflowName}/listSwagger", _endpoints[1794]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Logic/workflows/{workflowName}/move", _endpoints[1795]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Logic/workflows/{workflowName}/regenerateAccessKey", _endpoints[1796]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Logic/workflows/{workflowName}/run", _endpoints[1797]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Logic/workflows/{workflowName}/runs", _endpoints[1798]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Logic/workflows/{workflowName}/triggers/", _endpoints[1799]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Logic/workflows/{workflowName}/validate", _endpoints[1800]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Logic/workflows/{workflowName}/versions", _endpoints[1801]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.MachineLearning/commitmentPlans/{commitmentPlanName}/commitmentAssociations", _endpoints[1802]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.MachineLearning/commitmentPlans/{commitmentPlanName}/usageHistory", _endpoints[1803]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.MachineLearning/webServices/{webServiceName}/CreateRegionalBlob", _endpoints[1804]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.MachineLearning/webServices/{webServiceName}/listKeys", _endpoints[1805]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.MachineLearning/workspaces/{workspaceName}/listWorkspaceKeys", _endpoints[1806]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.MachineLearning/workspaces/{workspaceName}/resyncStorageKeys", _endpoints[1807]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.MachineLearningCompute/operationalizationClusters/{clusterName}/checkSystemServicesUpdatesAvailable", _endpoints[1808]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.MachineLearningCompute/operationalizationClusters/{clusterName}/checkUpdate", _endpoints[1809]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.MachineLearningCompute/operationalizationClusters/{clusterName}/listKeys", _endpoints[1810]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.MachineLearningCompute/operationalizationClusters/{clusterName}/updateSystem", _endpoints[1811]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.MachineLearningCompute/operationalizationClusters/{clusterName}/updateSystemServices", _endpoints[1812]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.MachineLearningExperimentation/accounts/{accountName}/workspaces", _endpoints[1813]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.MachineLearningServices/workspaces/{workspaceName}/listKeys", _endpoints[1814]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.MachineLearningServices/workspaces/{workspaceName}/resyncKeys", _endpoints[1815]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Maps/accounts/{accountName}/listKeys", _endpoints[1816]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Maps/accounts/{accountName}/regenerateKey", _endpoints[1817]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Media/mediaServices/{accountName}/assets", _endpoints[1818]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Media/mediaServices/{accountName}/contentKeyPolicies", _endpoints[1819]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Media/mediaservices/{accountName}/liveEvents", _endpoints[1820]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Media/mediaservices/{accountName}/streamingEndpoints", _endpoints[1821]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Media/mediaServices/{accountName}/streamingLocators", _endpoints[1822]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Media/mediaServices/{accountName}/streamingPolicies", _endpoints[1823]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Media/mediaServices/{accountName}/transforms", _endpoints[1824]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Media/mediaservices/{mediaServiceName}/listKeys", _endpoints[1825]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Media/mediaservices/{mediaServiceName}/regenerateKey", _endpoints[1826]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Media/mediaservices/{mediaServiceName}/syncStorageKeys", _endpoints[1827]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Migrate/projects/{projectName}/assessments", _endpoints[1828]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Migrate/projects/{projectName}/groups", _endpoints[1829]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.Migrate/projects/{projectName}/keys", _endpoints[1830]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Migrate/projects/{projectName}/machines", _endpoints[1831]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/applicationGateways/{applicationGatewayName}/backendhealth", _endpoints[1832]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/applicationGateways/{applicationGatewayName}/start", _endpoints[1833]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/applicationGateways/{applicationGatewayName}/stop", _endpoints[1834]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/connections/{virtualNetworkGatewayConnectionName}/sharedkey", _endpoints[1835]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/connections/{virtualNetworkGatewayConnectionName}/vpndeviceconfigurationscript", _endpoints[1836]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/dnsZones/{zoneName}/all", _endpoints[1837]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/dnsZones/{zoneName}/recordsets", _endpoints[1838]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/expressRouteCircuits/{circuitName}/arpTable", _endpoints[1839]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/expressRouteCircuits/{circuitName}/authorizations", _endpoints[1840]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/expressRouteCircuits/{circuitName}/peerings", _endpoints[1841]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/expressRouteCircuits/{circuitName}/routesTable", _endpoints[1842]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/expressRouteCircuits/{circuitName}/stats", _endpoints[1843]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/expressRouteCrossConnections/{crossConnectionName}/peerings", _endpoints[1844]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/loadBalancers/{loadBalancerName}/backendAddressPools", _endpoints[1845]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/loadBalancers/{loadBalancerName}/frontendIPConfigurations", _endpoints[1846]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/loadBalancers/{loadBalancerName}/inboundNatRules", _endpoints[1847]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/loadBalancers/{loadBalancerName}/loadBalancingRules", _endpoints[1848]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/loadBalancers/{loadBalancerName}/networkInterfaces", _endpoints[1849]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/loadBalancers/{loadBalancerName}/probes", _endpoints[1850]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkInterfaces/{networkInterfaceName}/effectiveNetworkSecurityGroups", _endpoints[1851]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkInterfaces/{networkInterfaceName}/effectiveRouteTable", _endpoints[1852]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkInterfaces/{networkInterfaceName}/ipConfigurations", _endpoints[1853]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkInterfaces/{networkInterfaceName}/loadBalancers", _endpoints[1854]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkSecurityGroups/{networkSecurityGroupName}/defaultSecurityRules", _endpoints[1855]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkSecurityGroups/{networkSecurityGroupName}/securityRules", _endpoints[1856]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkWatchers/{networkWatcherName}/availableProvidersList", _endpoints[1857]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkWatchers/{networkWatcherName}/azureReachabilityReport", _endpoints[1858]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkWatchers/{networkWatcherName}/configureFlowLog", _endpoints[1859]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkWatchers/{networkWatcherName}/connectionMonitors", _endpoints[1860]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkWatchers/{networkWatcherName}/connectivityCheck", _endpoints[1861]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkWatchers/{networkWatcherName}/ipFlowVerify", _endpoints[1862]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkWatchers/{networkWatcherName}/nextHop", _endpoints[1863]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkWatchers/{networkWatcherName}/packetCaptures", _endpoints[1864]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkWatchers/{networkWatcherName}/queryFlowLogStatus", _endpoints[1865]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkWatchers/{networkWatcherName}/queryTroubleshootResult", _endpoints[1866]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkWatchers/{networkWatcherName}/securityGroupView", _endpoints[1867]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkWatchers/{networkWatcherName}/topology", _endpoints[1868]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkWatchers/{networkWatcherName}/troubleshoot", _endpoints[1869]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/routeFilters/{routeFilterName}/routeFilterRules", _endpoints[1870]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/routeTables/{routeTableName}/routes", _endpoints[1871]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworkGateways/{virtualNetworkGatewayName}/connections", _endpoints[1872]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworkGateways/{virtualNetworkGatewayName}/generatevpnclientpackage", _endpoints[1873]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworkGateways/{virtualNetworkGatewayName}/generatevpnprofile", _endpoints[1874]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworkGateways/{virtualNetworkGatewayName}/getAdvertisedRoutes", _endpoints[1875]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworkGateways/{virtualNetworkGatewayName}/getBgpPeerStatus", _endpoints[1876]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworkGateways/{virtualNetworkGatewayName}/getLearnedRoutes", _endpoints[1877]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworkGateways/{virtualNetworkGatewayName}/getvpnclientipsecparameters", _endpoints[1878]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworkGateways/{virtualNetworkGatewayName}/getvpnprofilepackageurl", _endpoints[1879]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworkGateways/{virtualNetworkGatewayName}/reset", _endpoints[1880]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworkGateways/{virtualNetworkGatewayName}/setvpnclientipsecparameters", _endpoints[1881]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworkGateways/{virtualNetworkGatewayName}/supportedvpndevices", _endpoints[1882]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworks/{virtualNetworkName}/CheckIPAddressAvailability", _endpoints[1883]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworks/{virtualNetworkName}/subnets", _endpoints[1884]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworks/{virtualNetworkName}/usages", _endpoints[1885]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworks/{virtualNetworkName}/virtualNetworkPeerings", _endpoints[1886]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.NotificationHubs/namespaces/{namespaceName}/AuthorizationRules", _endpoints[1887]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.NotificationHubs/namespaces/{namespaceName}/checkNotificationHubAvailability", _endpoints[1888]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.NotificationHubs/namespaces/{namespaceName}/notificationHubs", _endpoints[1889]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.OperationalInsights/workspaces/{workspaceName}/dataSources", _endpoints[1890]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.OperationalInsights/workspaces/{workspaceName}/intelligencePacks", _endpoints[1891]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.OperationalInsights/workspaces/{workspaceName}/linkedServices", _endpoints[1892]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.OperationalInsights/workspaces/{workspaceName}/managementGroups", _endpoints[1893]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.OperationalInsights/workspaces/{workspaceName}/purge", _endpoints[1894]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.OperationalInsights/workspaces/{workspaceName}/savedSearches", _endpoints[1895]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.OperationalInsights/workspaces/{workspaceName}/schema", _endpoints[1896]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.OperationalInsights/workspaces/{workspaceName}/search", _endpoints[1897]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.OperationalInsights/workspaces/{workspaceName}/sharedKeys", _endpoints[1898]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.OperationalInsights/workspaces/{workspaceName}/storageInsightConfigs", _endpoints[1899]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.OperationalInsights/workspaces/{workspaceName}/usages", _endpoints[1900]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.PolicyInsights/policyEvents/{policyEventsResource}/queryResults", _endpoints[1901]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.PolicyInsights/policyStates/{policyStatesResource}/queryResults", _endpoints[1902]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.PolicyInsights/policyStates/{policyStatesSummaryResource}/summarize", _endpoints[1903]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.PowerBI/workspaceCollections/{workspaceCollectionName}/listKeys", _endpoints[1904]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.PowerBI/workspaceCollections/{workspaceCollectionName}/regenerateKey", _endpoints[1905]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.PowerBI/workspaceCollections/{workspaceCollectionName}/workspaces", _endpoints[1906]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.PowerBIDedicated/capacities/{dedicatedCapacityName}/resume", _endpoints[1907]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.PowerBIDedicated/capacities/{dedicatedCapacityName}/skus", _endpoints[1908]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.PowerBIDedicated/capacities/{dedicatedCapacityName}/suspend", _endpoints[1909]); + builder.AddEntry("/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationAlertSettings", _endpoints[1910]); + builder.AddEntry("/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationEvents", _endpoints[1911]); + builder.AddEntry("/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationFabrics", _endpoints[1912]); + builder.AddEntry("/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationJobs", _endpoints[1913]); + builder.AddEntry("/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationNetworkMappings", _endpoints[1914]); + builder.AddEntry("/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationNetworks", _endpoints[1915]); + builder.AddEntry("/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationPolicies", _endpoints[1916]); + builder.AddEntry("/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationProtectedItems", _endpoints[1917]); + builder.AddEntry("/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationProtectionContainerMappings", _endpoints[1918]); + builder.AddEntry("/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationProtectionContainers", _endpoints[1919]); + builder.AddEntry("/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationRecoveryPlans", _endpoints[1920]); + builder.AddEntry("/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationRecoveryServicesProviders", _endpoints[1921]); + builder.AddEntry("/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationStorageClassificationMappings", _endpoints[1922]); + builder.AddEntry("/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationStorageClassifications", _endpoints[1923]); + builder.AddEntry("/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationVaultHealth", _endpoints[1924]); + builder.AddEntry("/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationvCenters", _endpoints[1925]); + builder.AddEntry("/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupEngines", _endpoints[1926]); + builder.AddEntry("/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupJobs", _endpoints[1927]); + builder.AddEntry("/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupJobsExport", _endpoints[1928]); + builder.AddEntry("/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupPolicies", _endpoints[1929]); + builder.AddEntry("/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupProtectableItems", _endpoints[1930]); + builder.AddEntry("/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupProtectedItems", _endpoints[1931]); + builder.AddEntry("/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupProtectionContainers", _endpoints[1932]); + builder.AddEntry("/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupSecurityPIN", _endpoints[1933]); + builder.AddEntry("/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupUsageSummaries", _endpoints[1934]); + builder.AddEntry("/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/replicationUsages", _endpoints[1935]); + builder.AddEntry("/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/usages", _endpoints[1936]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Relay/namespaces/{namespaceName}/authorizationRules", _endpoints[1937]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Relay/namespaces/{namespaceName}/hybridConnections", _endpoints[1938]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Relay/namespaces/{namespaceName}/wcfRelays", _endpoints[1939]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.Resources/deployments/{deploymentName}/cancel", _endpoints[1940]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.Resources/deployments/{deploymentName}/exportTemplate", _endpoints[1941]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.Resources/deployments/{deploymentName}/validate", _endpoints[1942]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Scheduler/jobCollections/{jobCollectionName}/disable", _endpoints[1943]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Scheduler/jobCollections/{jobCollectionName}/enable", _endpoints[1944]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Scheduler/jobCollections/{jobCollectionName}/jobs", _endpoints[1945]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Search/searchServices/{searchServiceName}/listAdminKeys", _endpoints[1946]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Search/searchServices/{searchServiceName}/listQueryKeys", _endpoints[1947]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Security/locations/{ascLocation}/alerts", _endpoints[1948]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Security/locations/{ascLocation}/jitNetworkAccessPolicies", _endpoints[1949]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Security/locations/{ascLocation}/tasks", _endpoints[1950]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ServerManagement/gateways/{gatewayName}/profile", _endpoints[1951]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ServerManagement/gateways/{gatewayName}/regenerateprofile", _endpoints[1952]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ServerManagement/gateways/{gatewayName}/upgradetolatest", _endpoints[1953]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ServiceBus/namespaces/{namespaceName}/AuthorizationRules", _endpoints[1954]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ServiceBus/namespaces/{namespaceName}/disasterRecoveryConfigs", _endpoints[1955]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ServiceBus/namespaces/{namespaceName}/eventhubs", _endpoints[1956]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ServiceBus/namespaces/{namespaceName}/messagingplan", _endpoints[1957]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ServiceBus/namespaces/{namespaceName}/migrationConfigurations", _endpoints[1958]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ServiceBus/namespaces/{namespaceName}/queues", _endpoints[1959]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ServiceBus/namespaces/{namespaceName}/topics", _endpoints[1960]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ServiceFabric/clusters/{clusterName}/applications", _endpoints[1961]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ServiceFabric/clusters/{clusterName}/applicationTypes", _endpoints[1962]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.SignalRService/SignalR/{resourceName}/listKeys", _endpoints[1963]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.SignalRService/SignalR/{resourceName}/regenerateKey", _endpoints[1964]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/locations/{locationName}/instanceFailoverGroups", _endpoints[1965]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/managedInstances/{managedInstanceName}/databases", _endpoints[1966]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/administrators", _endpoints[1967]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/advisors", _endpoints[1968]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/auditingPolicies", _endpoints[1969]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/backupLongTermRetentionVaults", _endpoints[1970]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/communicationLinks", _endpoints[1971]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/databases", _endpoints[1972]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/disasterRecoveryConfiguration", _endpoints[1973]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/dnsAliases", _endpoints[1974]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/elasticPools", _endpoints[1975]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/encryptionProtector", _endpoints[1976]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/failoverGroups", _endpoints[1977]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/firewallRules", _endpoints[1978]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/import", _endpoints[1979]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/jobAgents", _endpoints[1980]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/keys", _endpoints[1981]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/recommendedElasticPools", _endpoints[1982]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/recoverableDatabases", _endpoints[1983]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/restorableDroppedDatabases", _endpoints[1984]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/serviceObjectives", _endpoints[1985]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/syncAgents", _endpoints[1986]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/usages", _endpoints[1987]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/virtualNetworkRules", _endpoints[1988]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.Storage.Admin/farms/{farmId}/acquisitions", _endpoints[1989]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.Storage.Admin/farms/{farmId}/metricdefinitions", _endpoints[1990]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.Storage.Admin/farms/{farmId}/metrics", _endpoints[1991]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.Storage.Admin/farms/{farmId}/ondemandgc", _endpoints[1992]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.Storage.Admin/farms/{farmId}/shares", _endpoints[1993]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.Storage.Admin/farms/{farmId}/storageaccounts", _endpoints[1994]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Storage/storageAccounts/{accountName}/ListAccountSas", _endpoints[1995]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Storage/storageAccounts/{accountName}/listKeys", _endpoints[1996]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Storage/storageAccounts/{accountName}/ListServiceSas", _endpoints[1997]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Storage/storageAccounts/{accountName}/regenerateKey", _endpoints[1998]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.StorSimple/managers/{managerName}/accessControlRecords", _endpoints[1999]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.StorSimple/managers/{managerName}/alerts", _endpoints[2000]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.StorSimple/managers/{managerName}/bandwidthSettings", _endpoints[2001]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.StorSimple/managers/{managerName}/clearAlerts", _endpoints[2002]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.StorSimple/managers/{managerName}/cloudApplianceConfigurations", _endpoints[2003]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.StorSimple/managers/{managerName}/configureDevice", _endpoints[2004]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.StorSimple/managers/{managerName}/devices", _endpoints[2005]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.StorSimple/managers/{managerName}/features", _endpoints[2006]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.StorSimple/managers/{managerName}/jobs", _endpoints[2007]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.StorSimple/managers/{managerName}/listActivationKey", _endpoints[2008]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.StorSimple/managers/{managerName}/listPublicEncryptionKey", _endpoints[2009]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.StorSimple/managers/{managerName}/metrics", _endpoints[2010]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.StorSimple/managers/{managerName}/metricsDefinitions", _endpoints[2011]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.StorSimple/managers/{managerName}/provisionCloudAppliance", _endpoints[2012]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.StorSimple/managers/{managerName}/regenerateActivationKey", _endpoints[2013]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.StorSimple/managers/{managerName}/storageAccountCredentials", _endpoints[2014]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.StreamAnalytics/streamingjobs/{jobName}/functions", _endpoints[2015]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.StreamAnalytics/streamingjobs/{jobName}/inputs", _endpoints[2016]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.StreamAnalytics/streamingjobs/{jobName}/outputs", _endpoints[2017]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.StreamAnalytics/streamingjobs/{jobName}/start", _endpoints[2018]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.StreamAnalytics/streamingjobs/{jobName}/stop", _endpoints[2019]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.Subscriptions.Admin/offers/{offer}/link", _endpoints[2020]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.Subscriptions.Admin/offers/{offer}/MetricDefinitions", _endpoints[2021]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.Subscriptions.Admin/offers/{offer}/Metrics", _endpoints[2022]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.Subscriptions.Admin/offers/{offer}/offerDelegations", _endpoints[2023]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.Subscriptions.Admin/offers/{offer}/unlink", _endpoints[2024]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.Subscriptions.Admin/plans/{plan}/MetricDefinitions", _endpoints[2025]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.Subscriptions.Admin/plans/{plan}/Metrics", _endpoints[2026]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.TimeSeriesInsights/environments/{environmentName}/accessPolicies", _endpoints[2027]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.TimeSeriesInsights/environments/{environmentName}/eventSources", _endpoints[2028]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.TimeSeriesInsights/environments/{environmentName}/referenceDataSets", _endpoints[2029]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.Update.Admin/updateLocations/{updateLocation}/updates", _endpoints[2030]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/microsoft.visualstudio/account/{accountResourceName}/extension", _endpoints[2031]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/microsoft.visualstudio/account/{rootResourceName}/project", _endpoints[2032]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web.Admin/environments/{environmentName}/usage", _endpoints[2033]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/connections/{connectionName}/confirmConsentCode", _endpoints[2034]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/connections/{connectionName}/listConnectionKeys", _endpoints[2035]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/connections/{connectionName}/listConsentLinks", _endpoints[2036]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/customApis/{apiName}/move", _endpoints[2037]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/hostingEnvironments/{name}/changeVirtualNetwork", _endpoints[2038]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/hostingEnvironments/{name}/detectors", _endpoints[2039]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/hostingEnvironments/{name}/diagnostics", _endpoints[2040]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/hostingEnvironments/{name}/metricdefinitions", _endpoints[2041]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/hostingEnvironments/{name}/metrics", _endpoints[2042]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/hostingEnvironments/{name}/multiRolePools", _endpoints[2043]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/hostingEnvironments/{name}/operations", _endpoints[2044]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/hostingEnvironments/{name}/reboot", _endpoints[2045]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/hostingEnvironments/{name}/resume", _endpoints[2046]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/hostingEnvironments/{name}/serverfarms", _endpoints[2047]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/hostingEnvironments/{name}/sites", _endpoints[2048]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/hostingEnvironments/{name}/suspend", _endpoints[2049]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/hostingEnvironments/{name}/syncVirtualNetwork", _endpoints[2050]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/hostingEnvironments/{name}/usages", _endpoints[2051]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/hostingEnvironments/{name}/webhostingplans", _endpoints[2052]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/hostingEnvironments/{name}/workerPools", _endpoints[2053]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/managedHostingEnvironments/{name}/serverfarms", _endpoints[2054]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/managedHostingEnvironments/{name}/sites", _endpoints[2055]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/managedHostingEnvironments/{name}/webhostingplans", _endpoints[2056]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/serverfarms/{name}/capabilities", _endpoints[2057]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/serverfarms/{name}/hybridConnectionRelays", _endpoints[2058]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/serverfarms/{name}/metricdefinitions", _endpoints[2059]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/serverfarms/{name}/metrics", _endpoints[2060]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/serverfarms/{name}/restartSites", _endpoints[2061]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/serverfarms/{name}/sites", _endpoints[2062]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/serverfarms/{name}/skus", _endpoints[2063]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/serverfarms/{name}/usages", _endpoints[2064]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/serverfarms/{name}/virtualNetworkConnections", _endpoints[2065]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/analyzeCustomHostname", _endpoints[2066]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/applySlotConfig", _endpoints[2067]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/backup", _endpoints[2068]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/backups", _endpoints[2069]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/config", _endpoints[2070]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/containerlogs", _endpoints[2071]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/continuouswebjobs", _endpoints[2072]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/deployments", _endpoints[2073]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/domainOwnershipIdentifiers", _endpoints[2074]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/functions", _endpoints[2075]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/hostNameBindings", _endpoints[2076]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/hybridconnection", _endpoints[2077]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/hybridConnectionRelays", _endpoints[2078]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/instances", _endpoints[2079]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/iscloneable", _endpoints[2080]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/listsyncfunctiontriggerstatus", _endpoints[2081]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/metricdefinitions", _endpoints[2082]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/metrics", _endpoints[2083]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/migrate", _endpoints[2084]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/migratemysql", _endpoints[2085]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/newpassword", _endpoints[2086]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/perfcounters", _endpoints[2087]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/phplogging", _endpoints[2088]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/premieraddons", _endpoints[2089]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/processes", _endpoints[2090]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/publicCertificates", _endpoints[2091]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/publishxml", _endpoints[2092]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/recover", _endpoints[2093]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/resetSlotConfig", _endpoints[2094]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/resourceHealthMetadata", _endpoints[2095]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/restart", _endpoints[2096]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/restoreFromBackupBlob", _endpoints[2097]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/restoreFromDeletedApp", _endpoints[2098]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/restoreSnapshot", _endpoints[2099]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/siteextensions", _endpoints[2100]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots", _endpoints[2101]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slotsdiffs", _endpoints[2102]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slotsswap", _endpoints[2103]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/snapshots", _endpoints[2104]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/start", _endpoints[2105]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/stop", _endpoints[2106]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/sync", _endpoints[2107]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/syncfunctiontriggers", _endpoints[2108]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/triggeredwebjobs", _endpoints[2109]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/usages", _endpoints[2110]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/virtualNetworkConnections", _endpoints[2111]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/webjobs", _endpoints[2112]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{siteName}/detectors", _endpoints[2113]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{siteName}/diagnostics", _endpoints[2114]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{siteName}/recommendationHistory", _endpoints[2115]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{siteName}/recommendations", _endpoints[2116]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/portalsettings/delegation", _endpoints[2117]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/portalsettings/signin", _endpoints[2118]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/portalsettings/signup", _endpoints[2119]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/reports/byApi", _endpoints[2120]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/reports/byGeo", _endpoints[2121]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/reports/byOperation", _endpoints[2122]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/reports/byProduct", _endpoints[2123]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/reports/byRequest", _endpoints[2124]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/reports/bySubscription", _endpoints[2125]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/reports/byTime", _endpoints[2126]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/reports/byUser", _endpoints[2127]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/tenant/access", _endpoints[2128]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/tenant/policy", _endpoints[2129]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Automation/automationAccounts/{automationAccountName}/agentRegistrationInformation/regenerateKey", _endpoints[2130]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Automation/automationAccounts/{automationAccountName}/webhooks/generateUri", _endpoints[2131]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Cache/Redis/{name}/patchSchedules/default", _endpoints[2132]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/virtualMachineScaleSets/{vmScaleSetName}/rollingUpgrades/cancel", _endpoints[2133]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/virtualMachineScaleSets/{vmScaleSetName}/rollingUpgrades/latest", _endpoints[2134]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}/upgradeProfiles/default", _endpoints[2135]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.CustomerInsights/hubs/{hubName}/images/getDataImageUploadUrl", _endpoints[2136]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.CustomerInsights/hubs/{hubName}/images/getEntityTypeImageUploadUrl", _endpoints[2137]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/percentile/metrics", _endpoints[2138]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.EventHub/clusters/{clusterName}/quotaConfiguration/default", _endpoints[2139]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.EventHub/namespaces/{namespaceName}/disasterRecoveryConfigs/CheckNameAvailability", _endpoints[2140]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.HDInsight/clusters/{clusterName}/extensions/clustermonitoring", _endpoints[2141]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/microsoft.insights/components/{resourceName}/pricingPlans/current", _endpoints[2142]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/connections/{virtualNetworkGatewayConnectionName}/sharedkey/reset", _endpoints[2143]); + builder.AddEntry("/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationJobs/export", _endpoints[2144]); + builder.AddEntry("/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupconfig/vaultconfig", _endpoints[2145]); + builder.AddEntry("/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupstorageconfig/vaultstorageconfig", _endpoints[2146]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/extendedInformation/vaultExtendedInfo", _endpoints[2147]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ServiceBus/namespaces/{namespaceName}/disasterRecoveryConfigs/CheckNameAvailability", _endpoints[2148]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/automaticTuning/current", _endpoints[2149]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.StorSimple/managers/{managerName}/encryptionSettings/default", _endpoints[2150]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.StorSimple/managers/{managerName}/extendedInformation/vaultExtendedInfo", _endpoints[2151]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/hostingEnvironments/{name}/capacities/compute", _endpoints[2152]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/hostingEnvironments/{name}/capacities/virtualip", _endpoints[2153]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/hostingEnvironments/{name}/multiRolePools/default", _endpoints[2154]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/managedHostingEnvironments/{name}/capacities/virtualip", _endpoints[2155]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/serverfarms/{name}/hybridConnectionPlanLimits/limit", _endpoints[2156]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/backups/discover", _endpoints[2157]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/config/appsettings", _endpoints[2158]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/config/authsettings", _endpoints[2159]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/config/backup", _endpoints[2160]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/config/connectionstrings", _endpoints[2161]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/config/logs", _endpoints[2162]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/config/metadata", _endpoints[2163]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/config/pushsettings", _endpoints[2164]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/config/slotConfigNames", _endpoints[2165]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/config/web", _endpoints[2166]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/extensions/MSDeploy", _endpoints[2167]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/migratemysql/status", _endpoints[2168]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/networkTrace/start", _endpoints[2169]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/networkTrace/stop", _endpoints[2170]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/privateAccess/virtualNetworks", _endpoints[2171]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/resourceHealthMetadata/default", _endpoints[2172]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/sourcecontrols/web", _endpoints[2173]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{siteName}/recommendations/disable", _endpoints[2174]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{siteName}/recommendations/reset", _endpoints[2175]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/tenant/access/git", _endpoints[2176]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/tenant/access/regeneratePrimaryKey", _endpoints[2177]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/tenant/access/regenerateSecondaryKey", _endpoints[2178]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/tenant/configuration/deploy", _endpoints[2179]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/tenant/configuration/save", _endpoints[2180]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/tenant/configuration/syncState", _endpoints[2181]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/tenant/configuration/validate", _endpoints[2182]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Devices/IotHubs/{iotHubName}/routing/routes/$testall", _endpoints[2183]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Devices/IotHubs/{iotHubName}/routing/routes/$testnew", _endpoints[2184]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.OperationalInsights/workspaces/{workspaceName}/features/serviceMap/generateMap", _endpoints[2185]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.OperationalInsights/workspaces/{workspaceName}/features/serviceMap/machineGroups", _endpoints[2186]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.OperationalInsights/workspaces/{workspaceName}/features/serviceMap/machines", _endpoints[2187]); + builder.AddEntry("/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationVaultHealth/default/refresh", _endpoints[2188]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Storage/storageAccounts/{accountName}/blobServices/default/containers", _endpoints[2189]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/hostingEnvironments/{name}/multiRolePools/default/metricdefinitions", _endpoints[2190]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/hostingEnvironments/{name}/multiRolePools/default/metrics", _endpoints[2191]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/hostingEnvironments/{name}/multiRolePools/default/skus", _endpoints[2192]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/hostingEnvironments/{name}/multiRolePools/default/usages", _endpoints[2193]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/config/appsettings/list", _endpoints[2194]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/config/authsettings/list", _endpoints[2195]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/config/backup/list", _endpoints[2196]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/config/connectionstrings/list", _endpoints[2197]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/config/metadata/list", _endpoints[2198]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/config/publishingcredentials/list", _endpoints[2199]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/config/pushsettings/list", _endpoints[2200]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/config/web/snapshots", _endpoints[2201]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/containerlogs/zip/download", _endpoints[2202]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/extensions/MSDeploy/log", _endpoints[2203]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/functions/admin/token", _endpoints[2204]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/tenant/access/git/regeneratePrimaryKey", _endpoints[2205]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/tenant/access/git/regenerateSecondaryKey", _endpoints[2206]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.OperationalInsights/workspaces/{workspaceName}/features/serviceMap/summaries/machines", _endpoints[2207]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.OperationalInsights/workspaces/{workspaceName}/features/serviceMap/clientGroups/{clientGroupName}", _endpoints[2208]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.OperationalInsights/workspaces/{workspaceName}/features/serviceMap/machineGroups/{machineGroupName}", _endpoints[2209]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.OperationalInsights/workspaces/{workspaceName}/features/serviceMap/machines/{machineName}", _endpoints[2210]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Storage/storageAccounts/{accountName}/blobServices/default/containers/{containerName}", _endpoints[2211]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/config/web/snapshots/{snapshotId}", _endpoints[2212]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.OperationalInsights/workspaces/{workspaceName}/features/serviceMap/clientGroups/{clientGroupName}/members", _endpoints[2213]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.OperationalInsights/workspaces/{workspaceName}/features/serviceMap/clientGroups/{clientGroupName}/membersCount", _endpoints[2214]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.OperationalInsights/workspaces/{workspaceName}/features/serviceMap/machines/{machineName}/connections", _endpoints[2215]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.OperationalInsights/workspaces/{workspaceName}/features/serviceMap/machines/{machineName}/liveness", _endpoints[2216]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.OperationalInsights/workspaces/{workspaceName}/features/serviceMap/machines/{machineName}/machineGroups", _endpoints[2217]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.OperationalInsights/workspaces/{workspaceName}/features/serviceMap/machines/{machineName}/ports", _endpoints[2218]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.OperationalInsights/workspaces/{workspaceName}/features/serviceMap/machines/{machineName}/processes", _endpoints[2219]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Storage/storageAccounts/{accountName}/blobServices/default/containers/{containerName}/clearLegalHold", _endpoints[2220]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Storage/storageAccounts/{accountName}/blobServices/default/containers/{containerName}/setLegalHold", _endpoints[2221]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/hostingEnvironments/{name}/multiRolePools/default/instances/{instance}/metricdefinitions", _endpoints[2222]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/hostingEnvironments/{name}/multiRolePools/default/instances/{instance}/metrics", _endpoints[2223]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/config/web/snapshots/{snapshotId}/recover", _endpoints[2224]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Storage/storageAccounts/{accountName}/blobServices/default/containers/{containerName}/immutabilityPolicies/default/extend", _endpoints[2225]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Storage/storageAccounts/{accountName}/blobServices/default/containers/{containerName}/immutabilityPolicies/default/lock", _endpoints[2226]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.OperationalInsights/workspaces/{workspaceName}/features/serviceMap/machines/{machineName}/ports/{portName}", _endpoints[2227]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.OperationalInsights/workspaces/{workspaceName}/features/serviceMap/machines/{machineName}/processes/{processName}", _endpoints[2228]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Storage/storageAccounts/{accountName}/blobServices/default/containers/{containerName}/immutabilityPolicies/{immutabilityPolicyName}", _endpoints[2229]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.OperationalInsights/workspaces/{workspaceName}/features/serviceMap/machines/{machineName}/ports/{portName}/acceptingProcesses", _endpoints[2230]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.OperationalInsights/workspaces/{workspaceName}/features/serviceMap/machines/{machineName}/ports/{portName}/connections", _endpoints[2231]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.OperationalInsights/workspaces/{workspaceName}/features/serviceMap/machines/{machineName}/ports/{portName}/liveness", _endpoints[2232]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.OperationalInsights/workspaces/{workspaceName}/features/serviceMap/machines/{machineName}/processes/{processName}/acceptingPorts", _endpoints[2233]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.OperationalInsights/workspaces/{workspaceName}/features/serviceMap/machines/{machineName}/processes/{processName}/connections", _endpoints[2234]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.OperationalInsights/workspaces/{workspaceName}/features/serviceMap/machines/{machineName}/processes/{processName}/liveness", _endpoints[2235]); + builder.AddEntry("/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupJobs/operationResults/{operationId}", _endpoints[2236]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.Storage.Admin/farms/{farmId}/shares/operationresults/{operationId}", _endpoints[2237]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroup/{resourceGroupName}/providers/Microsoft.MachineLearningServices/workspaces/{workspaceName}/computes/{computeName}", _endpoints[2238]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{groupName}/providers/Microsoft.DataMigration/services/{serviceName}/projects/{projectName}", _endpoints[2239]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourcegroups/{resourceGroup}/providers/Microsoft.AzureBridge.Admin/activations/{activationName}/downloadedProducts/{productName}", _endpoints[2240]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourcegroups/{resourceGroup}/providers/Microsoft.AzureBridge.Admin/activations/{activationName}/products/{productName}", _endpoints[2241]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroup}/providers/Microsoft.AzureStack/registrations/{registrationName}/customerSubscriptions/{customerSubscriptionName}", _endpoints[2242]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroup}/providers/Microsoft.AzureStack/registrations/{registrationName}/products/{productName}", _endpoints[2243]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/apis/{apiId}", _endpoints[2244]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/api-version-sets/{versionSetId}", _endpoints[2245]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/authorizationServers/{authsid}", _endpoints[2246]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/backends/{backendid}", _endpoints[2247]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/certificates/{certificateId}", _endpoints[2248]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/diagnostics/{diagnosticId}", _endpoints[2249]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/groups/{groupId}", _endpoints[2250]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/identityProviders/{identityProviderName}", _endpoints[2251]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/loggers/{loggerid}", _endpoints[2252]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/notifications/{notificationName}", _endpoints[2253]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/openidConnectProviders/{opid}", _endpoints[2254]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/policies/{policyId}", _endpoints[2255]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/products/{productId}", _endpoints[2256]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/properties/{propId}", _endpoints[2257]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/quotas/{quotaCounterKey}", _endpoints[2258]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/reports/{aggregation}", _endpoints[2259]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/subscriptions/{sid}", _endpoints[2260]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/tags/{tagId}", _endpoints[2261]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/templates/{templateName}", _endpoints[2262]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/tenant/{accessName}", _endpoints[2263]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/users/{uid}", _endpoints[2264]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Automation/automationAccounts/{automationAccountName}/certificates/{certificateName}", _endpoints[2265]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Automation/automationAccounts/{automationAccountName}/compilationjobs/{compilationJobName}", _endpoints[2266]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Automation/automationAccounts/{automationAccountName}/configurations/{configurationName}", _endpoints[2267]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Automation/automationAccounts/{automationAccountName}/connections/{connectionName}", _endpoints[2268]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Automation/automationAccounts/{automationAccountName}/connectionTypes/{connectionTypeName}", _endpoints[2269]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Automation/automationAccounts/{automationAccountName}/credentials/{credentialName}", _endpoints[2270]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Automation/automationAccounts/{automationAccountName}/hybridRunbookWorkerGroups/{hybridRunbookWorkerGroupName}", _endpoints[2271]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Automation/automationAccounts/{automationAccountName}/jobs/{jobId}", _endpoints[2272]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Automation/automationAccounts/{automationAccountName}/jobSchedules/{jobScheduleId}", _endpoints[2273]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Automation/automationAccounts/{automationAccountName}/modules/{moduleName}", _endpoints[2274]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Automation/automationAccounts/{automationAccountName}/nodeConfigurations/{nodeConfigurationName}", _endpoints[2275]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Automation/automationAccounts/{automationAccountName}/nodecounts/{countType}", _endpoints[2276]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Automation/automationAccounts/{automationAccountName}/nodes/{nodeId}", _endpoints[2277]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Automation/automationAccounts/{automationAccountName}/runbooks/{runbookName}", _endpoints[2278]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Automation/automationAccounts/{automationAccountName}/schedules/{scheduleName}", _endpoints[2279]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Automation/automationAccounts/{automationAccountName}/softwareUpdateConfigurationMachineRuns/{softwareUpdateConfigurationMachineRunId}", _endpoints[2280]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Automation/automationAccounts/{automationAccountName}/softwareUpdateConfigurationRuns/{softwareUpdateConfigurationRunId}", _endpoints[2281]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Automation/automationAccounts/{automationAccountName}/softwareUpdateConfigurations/{softwareUpdateConfigurationName}", _endpoints[2282]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Automation/automationAccounts/{automationAccountName}/sourceControls/{sourceControlName}", _endpoints[2283]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Automation/automationAccounts/{automationAccountName}/variables/{variableName}", _endpoints[2284]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Automation/automationAccounts/{automationAccountName}/watchers/{watcherName}", _endpoints[2285]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Automation/automationAccounts/{automationAccountName}/webhooks/{webhookName}", _endpoints[2286]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.Backup.Admin/backupLocations/{location}/backups/{backup}", _endpoints[2287]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Batch/batchAccounts/{accountName}/applications/{applicationId}", _endpoints[2288]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Batch/batchAccounts/{accountName}/certificates/{certificateName}", _endpoints[2289]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Batch/batchAccounts/{accountName}/pools/{poolName}", _endpoints[2290]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.BatchAI/workspaces/{workspaceName}/clusters/{clusterName}", _endpoints[2291]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.BatchAI/workspaces/{workspaceName}/experiments/{experimentName}", _endpoints[2292]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.BatchAI/workspaces/{workspaceName}/fileServers/{fileServerName}", _endpoints[2293]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.BotService/botServices/{resourceName}/channels/{channelName}", _endpoints[2294]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.BotService/botServices/{resourceName}/Connections/{connectionName}", _endpoints[2295]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Cache/Redis/{cacheName}/firewallRules/{ruleName}", _endpoints[2296]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Cache/Redis/{name}/linkedServers/{linkedServerName}", _endpoints[2297]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Cache/Redis/{name}/patchSchedules/{default}", _endpoints[2298]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Cdn/profiles/{profileName}/endpoints/{endpointName}", _endpoints[2299]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.CertificateRegistration/certificateOrders/{certificateOrderName}/certificates/{name}", _endpoints[2300]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/galleries/{galleryName}/images/{galleryImageName}", _endpoints[2301]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/virtualMachines/{vmName}/extensions/{vmExtensionName}", _endpoints[2302]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/virtualMachineScaleSets/{vmScaleSetName}/extensions/{vmssExtensionName}", _endpoints[2303]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/virtualMachineScaleSets/{vmScaleSetName}/virtualmachines/{instanceId}", _endpoints[2304]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerRegistry/registries/{registryName}/builds/{buildId}", _endpoints[2305]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerRegistry/registries/{registryName}/buildTasks/{buildTaskName}", _endpoints[2306]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerRegistry/registries/{registryName}/replications/{replicationName}", _endpoints[2307]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerRegistry/registries/{registryName}/webhooks/{webhookName}", _endpoints[2308]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}/accessProfiles/{roleName}", _endpoints[2309]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.CustomerInsights/hubs/{hubName}/authorizationPolicies/{authorizationPolicyName}", _endpoints[2310]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.CustomerInsights/hubs/{hubName}/connectors/{connectorName}", _endpoints[2311]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.CustomerInsights/hubs/{hubName}/interactions/{interactionName}", _endpoints[2312]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.CustomerInsights/hubs/{hubName}/kpi/{kpiName}", _endpoints[2313]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.CustomerInsights/hubs/{hubName}/links/{linkName}", _endpoints[2314]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.CustomerInsights/hubs/{hubName}/predictions/{predictionName}", _endpoints[2315]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.CustomerInsights/hubs/{hubName}/profiles/{profileName}", _endpoints[2316]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.CustomerInsights/hubs/{hubName}/relationshipLinks/{relationshipLinkName}", _endpoints[2317]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.CustomerInsights/hubs/{hubName}/relationships/{relationshipName}", _endpoints[2318]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.CustomerInsights/hubs/{hubName}/roleAssignments/{assignmentName}", _endpoints[2319]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.CustomerInsights/hubs/{hubName}/views/{viewName}", _endpoints[2320]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.CustomerInsights/hubs/{hubName}/widgetTypes/{widgetTypeName}", _endpoints[2321]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataFactory/factories/{factoryName}/cancelpipelinerun/{runId}", _endpoints[2322]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataFactory/factories/{factoryName}/datasets/{datasetName}", _endpoints[2323]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataFactory/factories/{factoryName}/integrationRuntimes/{integrationRuntimeName}", _endpoints[2324]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataFactory/factories/{factoryName}/linkedservices/{linkedServiceName}", _endpoints[2325]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataFactory/factories/{factoryName}/pipelineruns/{runId}", _endpoints[2326]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataFactory/factories/{factoryName}/pipelines/{pipelineName}", _endpoints[2327]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataFactory/factories/{factoryName}/triggers/{triggerName}", _endpoints[2328]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataLakeAnalytics/accounts/{accountName}/computePolicies/{computePolicyName}", _endpoints[2329]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataLakeAnalytics/accounts/{accountName}/dataLakeStoreAccounts/{dataLakeStoreAccountName}", _endpoints[2330]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataLakeAnalytics/accounts/{accountName}/firewallRules/{firewallRuleName}", _endpoints[2331]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataLakeAnalytics/accounts/{accountName}/storageAccounts/{storageAccountName}", _endpoints[2332]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataLakeStore/accounts/{accountName}/firewallRules/{firewallRuleName}", _endpoints[2333]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataLakeStore/accounts/{accountName}/trustedIdProviders/{trustedIdProviderName}", _endpoints[2334]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataLakeStore/accounts/{accountName}/virtualNetworkRules/{virtualNetworkRuleName}", _endpoints[2335]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBforMySQL/servers/{serverName}/configurations/{configurationName}", _endpoints[2336]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBforMySQL/servers/{serverName}/databases/{databaseName}", _endpoints[2337]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBforMySQL/servers/{serverName}/firewallRules/{firewallRuleName}", _endpoints[2338]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBforMySQL/servers/{serverName}/virtualNetworkRules/{virtualNetworkRuleName}", _endpoints[2339]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBforPostgreSQL/servers/{serverName}/configurations/{configurationName}", _endpoints[2340]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBforPostgreSQL/servers/{serverName}/databases/{databaseName}", _endpoints[2341]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBforPostgreSQL/servers/{serverName}/firewallRules/{firewallRuleName}", _endpoints[2342]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBforPostgreSQL/servers/{serverName}/securityAlertPolicies/{securityAlertPolicyName}", _endpoints[2343]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBforPostgreSQL/servers/{serverName}/virtualNetworkRules/{virtualNetworkRuleName}", _endpoints[2344]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Devices/IotHubs/{resourceName}/certificates/{certificateName}", _endpoints[2345]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Devices/IotHubs/{resourceName}/jobs/{jobId}", _endpoints[2346]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Devices/provisioningServices/{provisioningServiceName}/certificates/{certificateName}", _endpoints[2347]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Devices/provisioningServices/{provisioningServiceName}/operationresults/{operationId}", _endpoints[2348]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DevTestLab/labs/{labName}/artifactsources/{name}", _endpoints[2349]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DevTestLab/labs/{labName}/costinsights/{name}", _endpoints[2350]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DevTestLab/labs/{labName}/costs/{name}", _endpoints[2351]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DevTestLab/labs/{labName}/customimages/{name}", _endpoints[2352]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DevTestLab/labs/{labName}/formulas/{name}", _endpoints[2353]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DevTestLab/labs/{labName}/notificationchannels/{name}", _endpoints[2354]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DevTestLab/labs/{labName}/schedules/{name}", _endpoints[2355]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DevTestLab/labs/{labName}/servicerunners/{name}", _endpoints[2356]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DevTestLab/labs/{labName}/users/{name}", _endpoints[2357]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DevTestLab/labs/{labName}/virtualmachines/{name}", _endpoints[2358]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DevTestLab/labs/{labName}/virtualnetworks/{name}", _endpoints[2359]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DomainRegistration/domains/{domainName}/domainOwnershipIdentifiers/{name}", _endpoints[2360]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DomainRegistration/domains/{domainName}/operationresults/{operationId}", _endpoints[2361]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.EventHub/namespaces/{namespaceName}/AuthorizationRules/{authorizationRuleName}", _endpoints[2362]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.EventHub/namespaces/{namespaceName}/disasterRecoveryConfigs/{alias}", _endpoints[2363]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.EventHub/namespaces/{namespaceName}/eventhubs/{eventHubName}", _endpoints[2364]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Fabric.Admin/fabricLocations/{location}/edgeGatewayPools/{edgeGatewayPool}", _endpoints[2365]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Fabric.Admin/fabricLocations/{location}/edgeGateways/{edgeGateway}", _endpoints[2366]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Fabric.Admin/fabricLocations/{location}/fileShares/{fileShare}", _endpoints[2367]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Fabric.Admin/fabricLocations/{location}/infraRoleInstances/{infraRoleInstance}", _endpoints[2368]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Fabric.Admin/fabricLocations/{location}/infraRoles/{infraRole}", _endpoints[2369]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Fabric.Admin/fabricLocations/{location}/ipPools/{ipPool}", _endpoints[2370]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Fabric.Admin/fabricLocations/{location}/logicalNetworks/{logicalNetwork}", _endpoints[2371]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Fabric.Admin/fabricLocations/{location}/macAddressPools/{macAddressPool}", _endpoints[2372]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Fabric.Admin/fabricLocations/{location}/scaleUnitNodes/{scaleUnitNode}", _endpoints[2373]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Fabric.Admin/fabricLocations/{location}/scaleUnits/{scaleUnit}", _endpoints[2374]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Fabric.Admin/fabricLocations/{location}/slbMuxInstances/{slbMuxInstance}", _endpoints[2375]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Fabric.Admin/fabricLocations/{location}/storageSubSystems/{storageSubSystem}", _endpoints[2376]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.HDInsight/clusters/{clusterName}/applications/{applicationName}", _endpoints[2377]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.HDInsight/clusters/{clusterName}/configurations/{configurationName}", _endpoints[2378]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.HDInsight/clusters/{clusterName}/extensions/{extensionName}", _endpoints[2379]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.HDInsight/clusters/{clusterName}/scriptActions/{scriptName}", _endpoints[2380]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.HDInsight/clusters/{clusterName}/scriptExecutionHistory/{scriptExecutionId}", _endpoints[2381]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.InfrastructureInsights.Admin/regionHealths/{location}/alerts/{alertName}", _endpoints[2382]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.InfrastructureInsights.Admin/regionHealths/{location}/serviceHealths/{serviceHealth}", _endpoints[2383]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/microsoft.insights/alertrules/{ruleName}/incidents/{incidentName}", _endpoints[2384]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Insights/components/{resourceName}/Annotations/{annotationId}", _endpoints[2385]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Insights/components/{resourceName}/APIKeys/{keyId}", _endpoints[2386]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Insights/components/{resourceName}/exportconfiguration/{exportId}", _endpoints[2387]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Insights/components/{resourceName}/favorites/{favoriteId}", _endpoints[2388]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Insights/components/{resourceName}/ProactiveDetectionConfigs/{ConfigurationId}", _endpoints[2389]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Insights/components/{resourceName}/WorkItemConfigs/{workItemConfigId}", _endpoints[2390]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Insights/metricAlerts/{ruleName}/status/{statusName}", _endpoints[2391]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.KeyVault/vaults/{vaultName}/accessPolicies/{operationKind}", _endpoints[2392]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.KeyVault/vaults/{vaultName}/secrets/{secretName}", _endpoints[2393]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Logic/integrationAccounts/{integrationAccountName}/agreements/{agreementName}", _endpoints[2394]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Logic/integrationAccounts/{integrationAccountName}/assemblies/{assemblyArtifactName}", _endpoints[2395]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Logic/integrationAccounts/{integrationAccountName}/batchConfigurations/{batchConfigurationName}", _endpoints[2396]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Logic/integrationAccounts/{integrationAccountName}/certificates/{certificateName}", _endpoints[2397]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Logic/integrationAccounts/{integrationAccountName}/maps/{mapName}", _endpoints[2398]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Logic/integrationAccounts/{integrationAccountName}/partners/{partnerName}", _endpoints[2399]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Logic/integrationAccounts/{integrationAccountName}/schemas/{schemaName}", _endpoints[2400]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Logic/integrationAccounts/{integrationAccountName}/sessions/{sessionName}", _endpoints[2401]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Logic/workflows/{workflowName}/accessKeys/{accessKeyName}", _endpoints[2402]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Logic/workflows/{workflowName}/runs/{runName}", _endpoints[2403]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Logic/workflows/{workflowName}/triggers/{triggerName}", _endpoints[2404]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Logic/workflows/{workflowName}/versions/{versionId}", _endpoints[2405]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.MachineLearning/commitmentPlans/{commitmentPlanName}/commitmentAssociations/{commitmentAssociationName}", _endpoints[2406]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.MachineLearningExperimentation/accounts/{accountName}/workspaces/{workspaceName}", _endpoints[2407]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Media/mediaServices/{accountName}/assets/{assetName}", _endpoints[2408]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Media/mediaServices/{accountName}/contentKeyPolicies/{contentKeyPolicyName}", _endpoints[2409]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Media/mediaservices/{accountName}/liveEvents/{liveEventName}", _endpoints[2410]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Media/mediaservices/{accountName}/streamingEndpoints/{streamingEndpointName}", _endpoints[2411]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Media/mediaServices/{accountName}/streamingLocators/{streamingLocatorName}", _endpoints[2412]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Media/mediaServices/{accountName}/streamingPolicies/{streamingPolicyName}", _endpoints[2413]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Media/mediaServices/{accountName}/transforms/{transformName}", _endpoints[2414]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Migrate/projects/{projectName}/groups/{groupName}", _endpoints[2415]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Migrate/projects/{projectName}/machines/{machineName}", _endpoints[2416]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/expressRouteCircuits/{circuitName}/authorizations/{authorizationName}", _endpoints[2417]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/expressRouteCircuits/{circuitName}/peerings/{peeringName}", _endpoints[2418]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/expressRouteCrossConnections/{crossConnectionName}/peerings/{peeringName}", _endpoints[2419]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/loadBalancers/{loadBalancerName}/backendAddressPools/{backendAddressPoolName}", _endpoints[2420]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/loadBalancers/{loadBalancerName}/frontendIPConfigurations/{frontendIPConfigurationName}", _endpoints[2421]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/loadBalancers/{loadBalancerName}/inboundNatRules/{inboundNatRuleName}", _endpoints[2422]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/loadBalancers/{loadBalancerName}/loadBalancingRules/{loadBalancingRuleName}", _endpoints[2423]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/loadBalancers/{loadBalancerName}/probes/{probeName}", _endpoints[2424]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkInterfaces/{networkInterfaceName}/ipConfigurations/{ipConfigurationName}", _endpoints[2425]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkSecurityGroups/{networkSecurityGroupName}/defaultSecurityRules/{defaultSecurityRuleName}", _endpoints[2426]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkSecurityGroups/{networkSecurityGroupName}/securityRules/{securityRuleName}", _endpoints[2427]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkWatchers/{networkWatcherName}/connectionMonitors/{connectionMonitorName}", _endpoints[2428]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkWatchers/{networkWatcherName}/packetCaptures/{packetCaptureName}", _endpoints[2429]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/routeFilters/{routeFilterName}/routeFilterRules/{ruleName}", _endpoints[2430]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/routeTables/{routeTableName}/routes/{routeName}", _endpoints[2431]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/trafficmanagerprofiles/{profileName}/heatMaps/{heatMapType}", _endpoints[2432]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworks/{virtualNetworkName}/subnets/{subnetName}", _endpoints[2433]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworks/{virtualNetworkName}/virtualNetworkPeerings/{virtualNetworkPeeringName}", _endpoints[2434]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.NotificationHubs/namespaces/{namespaceName}/AuthorizationRules/{authorizationRuleName}", _endpoints[2435]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.NotificationHubs/namespaces/{namespaceName}/notificationHubs/{notificationHubName}", _endpoints[2436]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.OperationalInsights/workspaces/{workspaceName}/dataSources/{dataSourceName}", _endpoints[2437]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.OperationalInsights/workspaces/{workspaceName}/linkedServices/{linkedServiceName}", _endpoints[2438]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.OperationalInsights/workspaces/{workspaceName}/savedSearches/{savedSearchName}", _endpoints[2439]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.OperationalInsights/workspaces/{workspaceName}/search/{id}", _endpoints[2440]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.OperationalInsights/workspaces/{workspaceName}/storageInsightConfigs/{storageInsightName}", _endpoints[2441]); + builder.AddEntry("/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationAlertSettings/{alertSettingName}", _endpoints[2442]); + builder.AddEntry("/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationEvents/{eventName}", _endpoints[2443]); + builder.AddEntry("/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationFabrics/{fabricName}", _endpoints[2444]); + builder.AddEntry("/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationJobs/{jobName}", _endpoints[2445]); + builder.AddEntry("/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationPolicies/{policyName}", _endpoints[2446]); + builder.AddEntry("/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationRecoveryPlans/{recoveryPlanName}", _endpoints[2447]); + builder.AddEntry("/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupEngines/{backupEngineName}", _endpoints[2448]); + builder.AddEntry("/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupJobs/{jobName}", _endpoints[2449]); + builder.AddEntry("/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupOperationResults/{operationId}", _endpoints[2450]); + builder.AddEntry("/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupOperations/{operationId}", _endpoints[2451]); + builder.AddEntry("/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupPolicies/{policyName}", _endpoints[2452]); + builder.AddEntry("/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/certificates/{certificateName}", _endpoints[2453]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/registeredIdentities/{identityName}", _endpoints[2454]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Relay/namespaces/{namespaceName}/authorizationRules/{authorizationRuleName}", _endpoints[2455]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Relay/namespaces/{namespaceName}/hybridConnections/{hybridConnectionName}", _endpoints[2456]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Relay/namespaces/{namespaceName}/wcfRelays/{relayName}", _endpoints[2457]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Scheduler/jobCollections/{jobCollectionName}/jobs/{jobName}", _endpoints[2458]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Search/searchServices/{searchServiceName}/createQueryKey/{name}", _endpoints[2459]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Search/searchServices/{searchServiceName}/deleteQueryKey/{key}", _endpoints[2460]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Search/searchServices/{searchServiceName}/regenerateAdminKey/{keyKind}", _endpoints[2461]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Security/locations/{ascLocation}/alerts/{alertName}", _endpoints[2462]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Security/locations/{ascLocation}/discoveredSecuritySolutions/{discoveredSecuritySolutionName}", _endpoints[2463]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Security/locations/{ascLocation}/ExternalSecuritySolutions/{externalSecuritySolutionsName}", _endpoints[2464]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Security/locations/{ascLocation}/jitNetworkAccessPolicies/{jitNetworkAccessPolicyName}", _endpoints[2465]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Security/locations/{ascLocation}/tasks/{taskName}", _endpoints[2466]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ServerManagement/nodes/{nodeName}/sessions/{session}", _endpoints[2467]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ServiceBus/namespaces/{namespaceName}/AuthorizationRules/{authorizationRuleName}", _endpoints[2468]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ServiceBus/namespaces/{namespaceName}/disasterRecoveryConfigs/{alias}", _endpoints[2469]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ServiceBus/namespaces/{namespaceName}/migrationConfigurations/{configName}", _endpoints[2470]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ServiceBus/namespaces/{namespaceName}/queues/{queueName}", _endpoints[2471]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ServiceBus/namespaces/{namespaceName}/topics/{topicName}", _endpoints[2472]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ServiceFabric/clusters/{clusterName}/applications/{applicationName}", _endpoints[2473]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ServiceFabric/clusters/{clusterName}/applicationTypes/{applicationTypeName}", _endpoints[2474]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/locations/{locationName}/instanceFailoverGroups/{failoverGroupName}", _endpoints[2475]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/managedInstances/{managedInstanceName}/databases/{databaseName}", _endpoints[2476]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/administrators/{administratorName}", _endpoints[2477]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/advisors/{advisorName}", _endpoints[2478]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/auditingPolicies/{tableAuditingPolicyName}", _endpoints[2479]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/backupLongTermRetentionVaults/{backupLongTermRetentionVaultName}", _endpoints[2480]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/communicationLinks/{communicationLinkName}", _endpoints[2481]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/connectionPolicies/{connectionPolicyName}", _endpoints[2482]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/databases/{databaseName}", _endpoints[2483]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/disasterRecoveryConfiguration/{disasterRecoveryConfigurationName}", _endpoints[2484]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/dnsAliases/{dnsAliasName}", _endpoints[2485]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/elasticPools/{elasticPoolName}", _endpoints[2486]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/encryptionProtector/{encryptionProtectorName}", _endpoints[2487]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/failoverGroups/{failoverGroupName}", _endpoints[2488]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/firewallRules/{firewallRuleName}", _endpoints[2489]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/jobAgents/{jobAgentName}", _endpoints[2490]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/keys/{keyName}", _endpoints[2491]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/recommendedElasticPools/{recommendedElasticPoolName}", _endpoints[2492]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/recoverableDatabases/{databaseName}", _endpoints[2493]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/restorableDroppedDatabases/{restorableDroppededDatabaseId}", _endpoints[2494]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/serviceObjectives/{serviceObjectiveName}", _endpoints[2495]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/syncAgents/{syncAgentName}", _endpoints[2496]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/virtualNetworkRules/{virtualNetworkRuleName}", _endpoints[2497]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.Storage.Admin/farms/{farmId}/blobservices/{serviceType}", _endpoints[2498]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.Storage.Admin/farms/{farmId}/operationresults/{operationId}", _endpoints[2499]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.Storage.Admin/farms/{farmId}/queueservices/{serviceType}", _endpoints[2500]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.Storage.Admin/farms/{farmId}/shares/{shareName}", _endpoints[2501]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.Storage.Admin/farms/{farmId}/storageaccounts/{accountId}", _endpoints[2502]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.Storage.Admin/farms/{farmId}/tableservices/{serviceType}", _endpoints[2503]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Storage/storageAccounts/{accountName}/managementPolicies/{managementPolicyName}", _endpoints[2504]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.StorSimple/managers/{managerName}/accessControlRecords/{accessControlRecordName}", _endpoints[2505]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.StorSimple/managers/{managerName}/bandwidthSettings/{bandwidthSettingName}", _endpoints[2506]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.StorSimple/managers/{managerName}/devices/{deviceName}", _endpoints[2507]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.StorSimple/managers/{managerName}/storageAccountCredentials/{storageAccountCredentialName}", _endpoints[2508]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.StreamAnalytics/streamingjobs/{jobName}/functions/{functionName}", _endpoints[2509]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.StreamAnalytics/streamingjobs/{jobName}/inputs/{inputName}", _endpoints[2510]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.StreamAnalytics/streamingjobs/{jobName}/outputs/{outputName}", _endpoints[2511]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.StreamAnalytics/streamingjobs/{jobName}/transformations/{transformationName}", _endpoints[2512]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.Subscriptions.Admin/offers/{offer}/offerDelegations/{offerDelegationName}", _endpoints[2513]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.TimeSeriesInsights/environments/{environmentName}/accessPolicies/{accessPolicyName}", _endpoints[2514]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.TimeSeriesInsights/environments/{environmentName}/eventSources/{eventSourceName}", _endpoints[2515]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.TimeSeriesInsights/environments/{environmentName}/referenceDataSets/{referenceDataSetName}", _endpoints[2516]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.Update.Admin/updateLocations/{updateLocation}/updates/{updateName}", _endpoints[2517]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/microsoft.visualstudio/account/{accountResourceName}/extension/{extensionResourceName}", _endpoints[2518]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/microsoft.visualstudio/account/{rootResourceName}/project/{resourceName}", _endpoints[2519]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/hostingEnvironments/{name}/detectors/{detectorName}", _endpoints[2520]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/hostingEnvironments/{name}/diagnostics/{diagnosticsName}", _endpoints[2521]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/hostingEnvironments/{name}/operations/{operationId}", _endpoints[2522]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/hostingEnvironments/{name}/workerPools/{workerPoolName}", _endpoints[2523]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/managedHostingEnvironments/{name}/operations/{operationId}", _endpoints[2524]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/serverfarms/{name}/operationresults/{operationId}", _endpoints[2525]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/serverfarms/{name}/virtualNetworkConnections/{vnetName}", _endpoints[2526]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/backups/{backupId}", _endpoints[2527]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/continuouswebjobs/{webJobName}", _endpoints[2528]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/deployments/{id}", _endpoints[2529]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/domainOwnershipIdentifiers/{domainOwnershipIdentifierName}", _endpoints[2530]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/functions/{functionName}", _endpoints[2531]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/hostNameBindings/{hostName}", _endpoints[2532]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/hybridconnection/{entityName}", _endpoints[2533]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/networkFeatures/{view}", _endpoints[2534]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/operationresults/{operationId}", _endpoints[2535]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/premieraddons/{premierAddOnName}", _endpoints[2536]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/processes/{processId}", _endpoints[2537]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/publicCertificates/{publicCertificateName}", _endpoints[2538]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/siteextensions/{siteExtensionId}", _endpoints[2539]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}", _endpoints[2540]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/triggeredwebjobs/{webJobName}", _endpoints[2541]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/virtualNetworkConnections/{vnetName}", _endpoints[2542]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/webjobs/{webJobName}", _endpoints[2543]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{siteName}/detectors/{detectorName}", _endpoints[2544]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{siteName}/diagnostics/{diagnosticCategory}", _endpoints[2545]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{siteName}/recommendations/{name}", _endpoints[2546]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroup/{resourceGroupName}/providers/Microsoft.MachineLearningServices/workspaces/{workspaceName}/computes/{computeName}/listKeys", _endpoints[2547]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{groupName}/providers/Microsoft.DataMigration/services/{serviceName}/projects/{projectName}/tasks", _endpoints[2548]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourcegroups/{resourceGroup}/providers/Microsoft.AzureBridge.Admin/activations/{activationName}/products/{productName}/download", _endpoints[2549]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroup}/providers/Microsoft.AzureStack/registrations/{registrationName}/products/{productName}/listDetails", _endpoints[2550]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/apis/{apiId}/diagnostics", _endpoints[2551]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/apis/{apiId}/issues", _endpoints[2552]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/apis/{apiId}/operations", _endpoints[2553]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/apis/{apiId}/operationsByTags", _endpoints[2554]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/apis/{apiId}/policies", _endpoints[2555]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/apis/{apiId}/policy", _endpoints[2556]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/apis/{apiId}/products", _endpoints[2557]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/apis/{apiId}/releases", _endpoints[2558]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/apis/{apiId}/revisions", _endpoints[2559]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/apis/{apiId}/schemas", _endpoints[2560]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/apis/{apiId}/tagDescriptions", _endpoints[2561]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/apis/{apiId}/tags", _endpoints[2562]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/backends/{backendid}/reconnect", _endpoints[2563]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/diagnostics/{diagnosticId}/loggers", _endpoints[2564]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/groups/{groupId}/users", _endpoints[2565]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/locations/{locationName}/networkstatus", _endpoints[2566]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/notifications/{notificationName}/recipientEmails", _endpoints[2567]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/notifications/{notificationName}/recipientUsers", _endpoints[2568]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/products/{productId}/apis", _endpoints[2569]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/products/{productId}/groups", _endpoints[2570]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/products/{productId}/policies", _endpoints[2571]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/products/{productId}/policy", _endpoints[2572]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/products/{productId}/subscriptions", _endpoints[2573]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/products/{productId}/tags", _endpoints[2574]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/subscriptions/{sid}/regeneratePrimaryKey", _endpoints[2575]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/subscriptions/{sid}/regenerateSecondaryKey", _endpoints[2576]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/tenant/{accessName}/git", _endpoints[2577]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/tenant/{accessName}/regeneratePrimaryKey", _endpoints[2578]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/tenant/{accessName}/regenerateSecondaryKey", _endpoints[2579]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/tenant/{configurationName}/deploy", _endpoints[2580]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/tenant/{configurationName}/save", _endpoints[2581]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/tenant/{configurationName}/syncState", _endpoints[2582]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/tenant/{configurationName}/validate", _endpoints[2583]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/users/{uid}/generateSsoUrl", _endpoints[2584]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/users/{uid}/groups", _endpoints[2585]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/users/{uid}/identities", _endpoints[2586]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/users/{uid}/subscriptions", _endpoints[2587]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/users/{uid}/token", _endpoints[2588]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Automation/automationAccounts/{automationAccountName}/compilationjobs/{jobId}/streams", _endpoints[2589]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Automation/automationAccounts/{automationAccountName}/configurations/{configurationName}/content", _endpoints[2590]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Automation/automationAccounts/{automationAccountName}/jobs/{jobId}/output", _endpoints[2591]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Automation/automationAccounts/{automationAccountName}/jobs/{jobId}/resume", _endpoints[2592]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Automation/automationAccounts/{automationAccountName}/jobs/{jobId}/runbookContent", _endpoints[2593]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Automation/automationAccounts/{automationAccountName}/jobs/{jobId}/stop", _endpoints[2594]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Automation/automationAccounts/{automationAccountName}/jobs/{jobId}/streams", _endpoints[2595]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Automation/automationAccounts/{automationAccountName}/jobs/{jobId}/suspend", _endpoints[2596]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Automation/automationAccounts/{automationAccountName}/modules/{moduleName}/activities", _endpoints[2597]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Automation/automationAccounts/{automationAccountName}/nodes/{nodeId}/reports", _endpoints[2598]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Automation/automationAccounts/{automationAccountName}/objectDataTypes/{typeName}/fields", _endpoints[2599]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Automation/automationAccounts/{automationAccountName}/runbooks/{runbookName}/content", _endpoints[2600]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Automation/automationAccounts/{automationAccountName}/runbooks/{runbookName}/draft", _endpoints[2601]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Automation/automationAccounts/{automationAccountName}/sourceControls/{sourceControlName}/sourceControlSyncJobs", _endpoints[2602]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Automation/automationAccounts/{automationAccountName}/watchers/{watcherName}/start", _endpoints[2603]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Automation/automationAccounts/{automationAccountName}/watchers/{watcherName}/stop", _endpoints[2604]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.Backup.Admin/backupLocations/{location}/backups/{backup}/restore", _endpoints[2605]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Batch/batchAccounts/{accountName}/certificates/{certificateName}/cancelDelete", _endpoints[2606]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Batch/batchAccounts/{accountName}/pools/{poolName}/disableAutoScale", _endpoints[2607]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Batch/batchAccounts/{accountName}/pools/{poolName}/stopResize", _endpoints[2608]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.BatchAI/workspaces/{workspaceName}/clusters/{clusterName}/listRemoteLoginInformation", _endpoints[2609]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.BatchAI/workspaces/{workspaceName}/experiments/{experimentName}/jobs", _endpoints[2610]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.BotService/botServices/{resourceName}/channels/{channelName}/listChannelWithKeys", _endpoints[2611]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.BotService/botServices/{resourceName}/Connections/{connectionName}/listWithSecrets", _endpoints[2612]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Cdn/profiles/{profileName}/endpoints/{endpointName}/checkResourceUsage", _endpoints[2613]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Cdn/profiles/{profileName}/endpoints/{endpointName}/customDomains", _endpoints[2614]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Cdn/profiles/{profileName}/endpoints/{endpointName}/load", _endpoints[2615]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Cdn/profiles/{profileName}/endpoints/{endpointName}/origins", _endpoints[2616]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Cdn/profiles/{profileName}/endpoints/{endpointName}/purge", _endpoints[2617]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Cdn/profiles/{profileName}/endpoints/{endpointName}/start", _endpoints[2618]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Cdn/profiles/{profileName}/endpoints/{endpointName}/stop", _endpoints[2619]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Cdn/profiles/{profileName}/endpoints/{endpointName}/validateCustomDomain", _endpoints[2620]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/galleries/{galleryName}/images/{galleryImageName}/versions", _endpoints[2621]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/microsoft.Compute/virtualMachineScaleSets/{virtualMachineScaleSetName}/virtualMachines/{virtualmachineIndex}/networkInterfaces", _endpoints[2622]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/virtualMachineScaleSets/{vmScaleSetName}/virtualmachines/{instanceId}/deallocate", _endpoints[2623]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/virtualMachineScaleSets/{vmScaleSetName}/virtualmachines/{instanceId}/instanceView", _endpoints[2624]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/virtualMachineScaleSets/{vmScaleSetName}/virtualmachines/{instanceId}/performMaintenance", _endpoints[2625]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/virtualMachineScaleSets/{vmScaleSetName}/virtualmachines/{instanceId}/poweroff", _endpoints[2626]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/virtualMachineScaleSets/{vmScaleSetName}/virtualmachines/{instanceId}/redeploy", _endpoints[2627]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/virtualMachineScaleSets/{vmScaleSetName}/virtualmachines/{instanceId}/reimage", _endpoints[2628]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/virtualMachineScaleSets/{vmScaleSetName}/virtualmachines/{instanceId}/reimageall", _endpoints[2629]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/virtualMachineScaleSets/{vmScaleSetName}/virtualmachines/{instanceId}/restart", _endpoints[2630]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/virtualMachineScaleSets/{vmScaleSetName}/virtualmachines/{instanceId}/start", _endpoints[2631]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerInstance/containerGroups/{containerGroupName}/containers/{containerName}/exec", _endpoints[2632]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerInstance/containerGroups/{containerGroupName}/containers/{containerName}/logs", _endpoints[2633]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerRegistry/registries/{registryName}/builds/{buildId}/cancel", _endpoints[2634]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerRegistry/registries/{registryName}/builds/{buildId}/getLogLink", _endpoints[2635]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerRegistry/registries/{registryName}/buildTasks/{buildTaskName}/listSourceRepositoryProperties", _endpoints[2636]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerRegistry/registries/{registryName}/buildTasks/{buildTaskName}/steps", _endpoints[2637]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerRegistry/registries/{registryName}/webhooks/{webhookName}/getCallbackConfig", _endpoints[2638]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerRegistry/registries/{registryName}/webhooks/{webhookName}/listEvents", _endpoints[2639]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerRegistry/registries/{registryName}/webhooks/{webhookName}/ping", _endpoints[2640]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}/accessProfiles/{roleName}/listCredential", _endpoints[2641]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.CustomerInsights/hubs/{hubName}/authorizationPolicies/{authorizationPolicyName}/regeneratePrimaryKey", _endpoints[2642]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.CustomerInsights/hubs/{hubName}/authorizationPolicies/{authorizationPolicyName}/regenerateSecondaryKey", _endpoints[2643]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.CustomerInsights/hubs/{hubName}/connectors/{connectorName}/mappings", _endpoints[2644]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.CustomerInsights/hubs/{hubName}/interactions/{interactionName}/suggestRelationshipLinks", _endpoints[2645]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.CustomerInsights/hubs/{hubName}/kpi/{kpiName}/reprocess", _endpoints[2646]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.CustomerInsights/hubs/{hubName}/predictions/{predictionName}/getModelStatus", _endpoints[2647]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.CustomerInsights/hubs/{hubName}/predictions/{predictionName}/getTrainingResults", _endpoints[2648]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.CustomerInsights/hubs/{hubName}/predictions/{predictionName}/modelStatus", _endpoints[2649]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.CustomerInsights/hubs/{hubName}/profiles/{profileName}/getEnrichingKpis", _endpoints[2650]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataFactory/factories/{factoryName}/integrationRuntimes/{integrationRuntimeName}/getConnectionInfo", _endpoints[2651]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataFactory/factories/{factoryName}/integrationRuntimes/{integrationRuntimeName}/getStatus", _endpoints[2652]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataFactory/factories/{factoryName}/integrationRuntimes/{integrationRuntimeName}/listAuthKeys", _endpoints[2653]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataFactory/factories/{factoryName}/integrationRuntimes/{integrationRuntimeName}/monitoringData", _endpoints[2654]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataFactory/factories/{factoryName}/integrationRuntimes/{integrationRuntimeName}/regenerateAuthKey", _endpoints[2655]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataFactory/factories/{factoryName}/integrationRuntimes/{integrationRuntimeName}/removeNode", _endpoints[2656]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataFactory/factories/{factoryName}/integrationRuntimes/{integrationRuntimeName}/start", _endpoints[2657]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataFactory/factories/{factoryName}/integrationRuntimes/{integrationRuntimeName}/stop", _endpoints[2658]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataFactory/factories/{factoryName}/integrationRuntimes/{integrationRuntimeName}/syncCredentials", _endpoints[2659]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataFactory/factories/{factoryName}/integrationRuntimes/{integrationRuntimeName}/upgrade", _endpoints[2660]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataFactory/factories/{factoryName}/pipelineruns/{runId}/activityruns", _endpoints[2661]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataFactory/factories/{factoryName}/pipelines/{pipelineName}/createRun", _endpoints[2662]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataFactory/factories/{factoryName}/triggers/{triggerName}/start", _endpoints[2663]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataFactory/factories/{factoryName}/triggers/{triggerName}/stop", _endpoints[2664]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataFactory/factories/{factoryName}/triggers/{triggerName}/triggerruns", _endpoints[2665]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataLakeAnalytics/accounts/{accountName}/storageAccounts/{storageAccountName}/containers", _endpoints[2666]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Devices/IotHubs/{resourceName}/certificates/{certificateName}/generateVerificationCode", _endpoints[2667]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Devices/IotHubs/{resourceName}/certificates/{certificateName}/verify", _endpoints[2668]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Devices/IotHubs/{resourceName}/eventHubEndpoints/{eventHubEndpointName}/ConsumerGroups", _endpoints[2669]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Devices/IotHubs/{resourceName}/IotHubKeys/{keyName}/listkeys", _endpoints[2670]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Devices/provisioningServices/{provisioningServiceName}/certificates/{certificateName}/generateVerificationCode", _endpoints[2671]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Devices/provisioningServices/{provisioningServiceName}/certificates/{certificateName}/verify", _endpoints[2672]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Devices/provisioningServices/{provisioningServiceName}/keys/{keyName}/listkeys", _endpoints[2673]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DevTestLab/labs/{labName}/artifactsources/{artifactSourceName}/armtemplates", _endpoints[2674]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DevTestLab/labs/{labName}/artifactsources/{artifactSourceName}/artifacts", _endpoints[2675]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DevTestLab/labs/{labName}/costinsights/{name}/refreshData", _endpoints[2676]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DevTestLab/labs/{labName}/costs/{name}/refreshData", _endpoints[2677]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DevTestLab/labs/{labName}/notificationchannels/{name}/notify", _endpoints[2678]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DevTestLab/labs/{labName}/policysets/{name}/evaluatePolicies", _endpoints[2679]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DevTestLab/labs/{labName}/policysets/{policySetName}/policies", _endpoints[2680]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DevTestLab/labs/{labName}/schedules/{name}/execute", _endpoints[2681]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DevTestLab/labs/{labName}/schedules/{name}/listApplicable", _endpoints[2682]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DevTestLab/labs/{labName}/users/{userName}/disks", _endpoints[2683]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DevTestLab/labs/{labName}/users/{userName}/environments", _endpoints[2684]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DevTestLab/labs/{labName}/users/{userName}/secrets", _endpoints[2685]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DevTestLab/labs/{labName}/virtualmachines/{name}/addDataDisk", _endpoints[2686]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DevTestLab/labs/{labName}/virtualmachines/{name}/applyArtifacts", _endpoints[2687]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DevTestLab/labs/{labName}/virtualmachines/{name}/claim", _endpoints[2688]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DevTestLab/labs/{labName}/virtualmachines/{name}/detachDataDisk", _endpoints[2689]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DevTestLab/labs/{labName}/virtualmachines/{name}/listApplicableSchedules", _endpoints[2690]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DevTestLab/labs/{labName}/virtualmachines/{name}/start", _endpoints[2691]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DevTestLab/labs/{labName}/virtualmachines/{name}/stop", _endpoints[2692]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DevTestLab/labs/{labName}/virtualmachines/{virtualMachineName}/schedules", _endpoints[2693]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/databases/{databaseRid}/metricDefinitions", _endpoints[2694]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/databases/{databaseRid}/metrics", _endpoints[2695]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/databases/{databaseRid}/usages", _endpoints[2696]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/region/{region}/metrics", _endpoints[2697]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.EventGrid/locations/{location}/topicTypes/{topicTypeName}/eventSubscriptions", _endpoints[2698]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.EventHub/namespaces/{namespaceName}/AuthorizationRules/{authorizationRuleName}/listKeys", _endpoints[2699]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.EventHub/namespaces/{namespaceName}/AuthorizationRules/{authorizationRuleName}/regenerateKeys", _endpoints[2700]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.EventHub/namespaces/{namespaceName}/disasterRecoveryConfigs/{alias}/AuthorizationRules", _endpoints[2701]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.EventHub/namespaces/{namespaceName}/disasterRecoveryConfigs/{alias}/breakPairing", _endpoints[2702]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.EventHub/namespaces/{namespaceName}/disasterRecoveryConfigs/{alias}/failover", _endpoints[2703]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.EventHub/namespaces/{namespaceName}/eventhubs/{eventHubName}/authorizationRules", _endpoints[2704]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.EventHub/namespaces/{namespaceName}/eventhubs/{eventHubName}/consumergroups", _endpoints[2705]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Fabric.Admin/fabricLocations/{location}/infraRoleInstances/{infraRoleInstance}/PowerOff", _endpoints[2706]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Fabric.Admin/fabricLocations/{location}/infraRoleInstances/{infraRoleInstance}/PowerOn", _endpoints[2707]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Fabric.Admin/fabricLocations/{location}/infraRoleInstances/{infraRoleInstance}/Reboot", _endpoints[2708]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Fabric.Admin/fabricLocations/{location}/infraRoleInstances/{infraRoleInstance}/Shutdown", _endpoints[2709]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Fabric.Admin/fabricLocations/{location}/infraRoles/{infraRole}/Restart", _endpoints[2710]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Fabric.Admin/fabricLocations/{location}/logicalNetworks/{logicalNetwork}/logicalSubnets", _endpoints[2711]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Fabric.Admin/fabricLocations/{location}/scaleUnitNodes/{scaleUnitNode}/PowerOff", _endpoints[2712]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Fabric.Admin/fabricLocations/{location}/scaleUnitNodes/{scaleUnitNode}/PowerOn", _endpoints[2713]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Fabric.Admin/fabricLocations/{location}/scaleUnitNodes/{scaleUnitNode}/Repair", _endpoints[2714]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Fabric.Admin/fabricLocations/{location}/scaleUnitNodes/{scaleUnitNode}/Shutdown", _endpoints[2715]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Fabric.Admin/fabricLocations/{location}/scaleUnitNodes/{scaleUnitNode}/StartMaintenanceMode", _endpoints[2716]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Fabric.Admin/fabricLocations/{location}/scaleUnitNodes/{scaleUnitNode}/StopMaintenanceMode", _endpoints[2717]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Fabric.Admin/fabricLocations/{location}/scaleUnits/{scaleUnit}/ScaleOut", _endpoints[2718]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Fabric.Admin/fabricLocations/{location}/storageSubSystems/{storageSubSystem}/storagePools", _endpoints[2719]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.HDInsight/clusters/{clusterName}/roles/{roleName}/resize", _endpoints[2720]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.HDInsight/clusters/{clusterName}/scriptExecutionHistory/{scriptExecutionId}/promote", _endpoints[2721]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.InfrastructureInsights.Admin/regionHealths/{location}/serviceHealths/{serviceRegistrationId}/resourceHealths", _endpoints[2722]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Logic/integrationAccounts/{integrationAccountName}/agreements/{agreementName}/listContentCallbackUrl", _endpoints[2723]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Logic/integrationAccounts/{integrationAccountName}/assemblies/{assemblyArtifactName}/listContentCallbackUrl", _endpoints[2724]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Logic/integrationAccounts/{integrationAccountName}/maps/{mapName}/listContentCallbackUrl", _endpoints[2725]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Logic/integrationAccounts/{integrationAccountName}/partners/{partnerName}/listContentCallbackUrl", _endpoints[2726]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Logic/integrationAccounts/{integrationAccountName}/schemas/{schemaName}/listContentCallbackUrl", _endpoints[2727]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Logic/locations/{location}/workflows/{workflowName}/validate", _endpoints[2728]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Logic/workflows/{workflowName}/accessKeys/{accessKeyName}/list", _endpoints[2729]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Logic/workflows/{workflowName}/accessKeys/{accessKeyName}/regenerate", _endpoints[2730]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Logic/workflows/{workflowName}/runs/{runName}/actions", _endpoints[2731]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Logic/workflows/{workflowName}/runs/{runName}/cancel", _endpoints[2732]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Logic/workflows/{workflowName}/triggers/{triggerName}/histories", _endpoints[2733]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Logic/workflows/{workflowName}/triggers/{triggerName}/listCallbackUrl", _endpoints[2734]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Logic/workflows/{workflowName}/triggers/{triggerName}/reset", _endpoints[2735]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Logic/workflows/{workflowName}/triggers/{triggerName}/run", _endpoints[2736]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Logic/workflows/{workflowName}/triggers/{triggerName}/setState", _endpoints[2737]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.MachineLearning/commitmentPlans/{commitmentPlanName}/commitmentAssociations/{commitmentAssociationName}/move", _endpoints[2738]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Media/mediaServices/{accountName}/assets/{assetName}/getEncryptionKey", _endpoints[2739]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Media/mediaServices/{accountName}/assets/{assetName}/listContainerSas", _endpoints[2740]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Media/mediaServices/{accountName}/contentKeyPolicies/{contentKeyPolicyName}/getPolicyPropertiesWithSecrets", _endpoints[2741]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Media/mediaservices/{accountName}/liveEvents/{liveEventName}/liveOutputs", _endpoints[2742]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Media/mediaservices/{accountName}/liveEvents/{liveEventName}/reset", _endpoints[2743]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Media/mediaservices/{accountName}/liveEvents/{liveEventName}/start", _endpoints[2744]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Media/mediaservices/{accountName}/liveEvents/{liveEventName}/stop", _endpoints[2745]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Media/mediaservices/{accountName}/streamingEndpoints/{streamingEndpointName}/scale", _endpoints[2746]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Media/mediaservices/{accountName}/streamingEndpoints/{streamingEndpointName}/start", _endpoints[2747]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Media/mediaservices/{accountName}/streamingEndpoints/{streamingEndpointName}/stop", _endpoints[2748]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Media/mediaServices/{accountName}/streamingLocators/{streamingLocatorName}/listContentKeys", _endpoints[2749]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Media/mediaServices/{accountName}/streamingLocators/{streamingLocatorName}/listPaths", _endpoints[2750]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Media/mediaServices/{accountName}/transforms/{transformName}/jobs", _endpoints[2751]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Migrate/projects/{projectName}/groups/{groupName}/assessments", _endpoints[2752]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/expressRouteCircuits/{circuitName}/peerings/{peeringName}/stats", _endpoints[2753]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkWatchers/{networkWatcherName}/connectionMonitors/{connectionMonitorName}/query", _endpoints[2754]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkWatchers/{networkWatcherName}/connectionMonitors/{connectionMonitorName}/start", _endpoints[2755]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkWatchers/{networkWatcherName}/connectionMonitors/{connectionMonitorName}/stop", _endpoints[2756]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkWatchers/{networkWatcherName}/packetCaptures/{packetCaptureName}/queryStatus", _endpoints[2757]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkWatchers/{networkWatcherName}/packetCaptures/{packetCaptureName}/stop", _endpoints[2758]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.NotificationHubs/namespaces/{namespaceName}/AuthorizationRules/{authorizationRuleName}/listKeys", _endpoints[2759]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.NotificationHubs/namespaces/{namespaceName}/AuthorizationRules/{authorizationRuleName}/regenerateKeys", _endpoints[2760]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.NotificationHubs/namespaces/{namespaceName}/notificationHubs/{notificationHubName}/AuthorizationRules", _endpoints[2761]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.NotificationHubs/namespaces/{namespaceName}/notificationHubs/{notificationHubName}/pnsCredentials", _endpoints[2762]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.OperationalInsights/workspaces/{workspaceName}/intelligencePacks/{intelligencePackName}/Disable", _endpoints[2763]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.OperationalInsights/workspaces/{workspaceName}/intelligencePacks/{intelligencePackName}/Enable", _endpoints[2764]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.OperationalInsights/workspaces/{workspaceName}/savedSearches/{savedSearchName}/results", _endpoints[2765]); + builder.AddEntry("/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationFabrics/{fabricName}/checkConsistency", _endpoints[2766]); + builder.AddEntry("/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationFabrics/{fabricName}/migratetoaad", _endpoints[2767]); + builder.AddEntry("/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationFabrics/{fabricName}/reassociateGateway", _endpoints[2768]); + builder.AddEntry("/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationFabrics/{fabricName}/remove", _endpoints[2769]); + builder.AddEntry("/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationFabrics/{fabricName}/renewCertificate", _endpoints[2770]); + builder.AddEntry("/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationFabrics/{fabricName}/replicationLogicalNetworks", _endpoints[2771]); + builder.AddEntry("/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationFabrics/{fabricName}/replicationNetworks", _endpoints[2772]); + builder.AddEntry("/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationFabrics/{fabricName}/replicationProtectionContainers", _endpoints[2773]); + builder.AddEntry("/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationFabrics/{fabricName}/replicationRecoveryServicesProviders", _endpoints[2774]); + builder.AddEntry("/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationFabrics/{fabricName}/replicationStorageClassifications", _endpoints[2775]); + builder.AddEntry("/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationFabrics/{fabricName}/replicationvCenters", _endpoints[2776]); + builder.AddEntry("/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationJobs/{jobName}/cancel", _endpoints[2777]); + builder.AddEntry("/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationJobs/{jobName}/restart", _endpoints[2778]); + builder.AddEntry("/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationJobs/{jobName}/resume", _endpoints[2779]); + builder.AddEntry("/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationRecoveryPlans/{recoveryPlanName}/failoverCommit", _endpoints[2780]); + builder.AddEntry("/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationRecoveryPlans/{recoveryPlanName}/plannedFailover", _endpoints[2781]); + builder.AddEntry("/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationRecoveryPlans/{recoveryPlanName}/reProtect", _endpoints[2782]); + builder.AddEntry("/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationRecoveryPlans/{recoveryPlanName}/testFailover", _endpoints[2783]); + builder.AddEntry("/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationRecoveryPlans/{recoveryPlanName}/testFailoverCleanup", _endpoints[2784]); + builder.AddEntry("/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationRecoveryPlans/{recoveryPlanName}/unplannedFailover", _endpoints[2785]); + builder.AddEntry("/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupFabrics/{fabricName}/protectableContainers", _endpoints[2786]); + builder.AddEntry("/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupFabrics/{fabricName}/refreshContainers", _endpoints[2787]); + builder.AddEntry("/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupJobs/{jobName}/cancel", _endpoints[2788]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Relay/namespaces/{namespaceName}/authorizationRules/{authorizationRuleName}/listKeys", _endpoints[2789]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Relay/namespaces/{namespaceName}/authorizationRules/{authorizationRuleName}/regenerateKeys", _endpoints[2790]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Relay/namespaces/{namespaceName}/hybridConnections/{hybridConnectionName}/authorizationRules", _endpoints[2791]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Relay/namespaces/{namespaceName}/wcfRelays/{relayName}/authorizationRules", _endpoints[2792]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Scheduler/jobCollections/{jobCollectionName}/jobs/{jobName}/history", _endpoints[2793]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Scheduler/jobCollections/{jobCollectionName}/jobs/{jobName}/run", _endpoints[2794]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ServiceBus/namespaces/{namespaceName}/AuthorizationRules/{authorizationRuleName}/listKeys", _endpoints[2795]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ServiceBus/namespaces/{namespaceName}/AuthorizationRules/{authorizationRuleName}/regenerateKeys", _endpoints[2796]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ServiceBus/namespaces/{namespaceName}/disasterRecoveryConfigs/{alias}/AuthorizationRules", _endpoints[2797]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ServiceBus/namespaces/{namespaceName}/disasterRecoveryConfigs/{alias}/breakPairing", _endpoints[2798]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ServiceBus/namespaces/{namespaceName}/disasterRecoveryConfigs/{alias}/failover", _endpoints[2799]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ServiceBus/namespaces/{namespaceName}/eventhubs/{eventhubName}/authorizationRules", _endpoints[2800]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ServiceBus/namespaces/{namespaceName}/migrationConfigurations/{configName}/revert", _endpoints[2801]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ServiceBus/namespaces/{namespaceName}/migrationConfigurations/{configName}/upgrade", _endpoints[2802]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ServiceBus/namespaces/{namespaceName}/queues/{queueName}/authorizationRules", _endpoints[2803]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ServiceBus/namespaces/{namespaceName}/topics/{topicName}/authorizationRules", _endpoints[2804]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ServiceBus/namespaces/{namespaceName}/topics/{topicName}/subscriptions", _endpoints[2805]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ServiceFabric/clusters/{clusterName}/applications/{applicationName}/services", _endpoints[2806]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ServiceFabric/clusters/{clusterName}/applicationTypes/{applicationTypeName}/versions", _endpoints[2807]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/locations/{locationName}/instanceFailoverGroups/{failoverGroupName}/failover", _endpoints[2808]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/locations/{locationName}/instanceFailoverGroups/{failoverGroupName}/forceFailoverAllowDataLoss", _endpoints[2809]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/databases/{databaseName}/advisors", _endpoints[2810]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/databases/{databaseName}/auditingPolicies", _endpoints[2811]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/databases/{databaseName}/backupLongTermRetentionPolicies", _endpoints[2812]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/databases/{databaseName}/export", _endpoints[2813]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/databases/{databaseName}/extensions", _endpoints[2814]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/databases/{databaseName}/geoBackupPolicies", _endpoints[2815]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/databases/{databaseName}/metricDefinitions", _endpoints[2816]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/databases/{databaseName}/metrics", _endpoints[2817]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/databases/{databaseName}/move", _endpoints[2818]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/databases/{databaseName}/operations", _endpoints[2819]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/databases/{databaseName}/pause", _endpoints[2820]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/databases/{databaseName}/replicationLinks", _endpoints[2821]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/databases/{databaseName}/restorePoints", _endpoints[2822]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/databases/{databaseName}/resume", _endpoints[2823]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/databases/{databaseName}/serviceTierAdvisors", _endpoints[2824]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/databases/{databaseName}/syncGroups", _endpoints[2825]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/databases/{databaseName}/topQueries", _endpoints[2826]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/databases/{databaseName}/transparentDataEncryption", _endpoints[2827]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/databases/{databaseName}/upgradeDataWarehouse", _endpoints[2828]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/databases/{databaseName}/usages", _endpoints[2829]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/disasterRecoveryConfiguration/{disasterRecoveryConfigurationName}/failover", _endpoints[2830]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/disasterRecoveryConfiguration/{disasterRecoveryConfigurationName}/forceFailoverAllowDataLoss", _endpoints[2831]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/dnsAliases/{dnsAliasName}/acquire", _endpoints[2832]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/elasticPools/{elasticPoolName}/databases", _endpoints[2833]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/elasticPools/{elasticPoolName}/elasticPoolActivity", _endpoints[2834]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/elasticPools/{elasticPoolName}/elasticPoolDatabaseActivity", _endpoints[2835]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/elasticPools/{elasticPoolName}/metricDefinitions", _endpoints[2836]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/elasticPools/{elasticPoolName}/metrics", _endpoints[2837]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/elasticPools/{elasticPoolName}/operations", _endpoints[2838]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/failoverGroups/{failoverGroupName}/failover", _endpoints[2839]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/failoverGroups/{failoverGroupName}/forceFailoverAllowDataLoss", _endpoints[2840]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/jobAgents/{jobAgentName}/credentials", _endpoints[2841]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/jobAgents/{jobAgentName}/executions", _endpoints[2842]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/jobAgents/{jobAgentName}/jobs", _endpoints[2843]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/jobAgents/{jobAgentName}/targetGroups", _endpoints[2844]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/recommendedElasticPools/{recommendedElasticPoolName}/databases", _endpoints[2845]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/recommendedElasticPools/{recommendedElasticPoolName}/metrics", _endpoints[2846]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/syncAgents/{syncAgentName}/generateKey", _endpoints[2847]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/syncAgents/{syncAgentName}/linkedDatabases", _endpoints[2848]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.Storage.Admin/farms/{farmId}/blobservices/{serviceType}/metricdefinitions", _endpoints[2849]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.Storage.Admin/farms/{farmId}/blobservices/{serviceType}/metrics", _endpoints[2850]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.Storage.Admin/farms/{farmId}/queueservices/{serviceType}/metricdefinitions", _endpoints[2851]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.Storage.Admin/farms/{farmId}/queueservices/{serviceType}/metrics", _endpoints[2852]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.Storage.Admin/farms/{farmId}/shares/{shareName}/containers", _endpoints[2853]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.Storage.Admin/farms/{farmId}/shares/{shareName}/destinationshares", _endpoints[2854]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.Storage.Admin/farms/{farmId}/shares/{shareName}/metricdefinitions", _endpoints[2855]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.Storage.Admin/farms/{farmId}/shares/{shareName}/metrics", _endpoints[2856]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.Storage.Admin/farms/{farmId}/shares/{shareName}/migrate", _endpoints[2857]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.Storage.Admin/farms/{farmId}/tableservices/{serviceType}/metricdefinitions", _endpoints[2858]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.Storage.Admin/farms/{farmId}/tableservices/{serviceType}/metrics", _endpoints[2859]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.StorSimple/managers/{managerName}/devices/{deviceName}/authorizeForServiceEncryptionKeyRollover", _endpoints[2860]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.StorSimple/managers/{managerName}/devices/{deviceName}/backupPolicies", _endpoints[2861]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.StorSimple/managers/{managerName}/devices/{deviceName}/backups", _endpoints[2862]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.StorSimple/managers/{managerName}/devices/{deviceName}/deactivate", _endpoints[2863]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.StorSimple/managers/{managerName}/devices/{deviceName}/hardwareComponentGroups", _endpoints[2864]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.StorSimple/managers/{managerName}/devices/{deviceName}/installUpdates", _endpoints[2865]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.StorSimple/managers/{managerName}/devices/{deviceName}/jobs", _endpoints[2866]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.StorSimple/managers/{managerName}/devices/{deviceName}/listFailoverSets", _endpoints[2867]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.StorSimple/managers/{managerName}/devices/{deviceName}/metrics", _endpoints[2868]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.StorSimple/managers/{managerName}/devices/{deviceName}/metricsDefinitions", _endpoints[2869]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.StorSimple/managers/{managerName}/devices/{deviceName}/publicEncryptionKey", _endpoints[2870]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.StorSimple/managers/{managerName}/devices/{deviceName}/scanForUpdates", _endpoints[2871]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.StorSimple/managers/{managerName}/devices/{deviceName}/sendTestAlertEmail", _endpoints[2872]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.StorSimple/managers/{managerName}/devices/{deviceName}/volumeContainers", _endpoints[2873]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.StorSimple/managers/{managerName}/devices/{deviceName}/volumes", _endpoints[2874]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.StorSimple/managers/{managerName}/devices/{sourceDeviceName}/failover", _endpoints[2875]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.StorSimple/managers/{managerName}/devices/{sourceDeviceName}/listFailoverTargets", _endpoints[2876]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.StreamAnalytics/streamingjobs/{jobName}/functions/{functionName}/RetrieveDefaultDefinition", _endpoints[2877]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.StreamAnalytics/streamingjobs/{jobName}/functions/{functionName}/test", _endpoints[2878]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.StreamAnalytics/streamingjobs/{jobName}/inputs/{inputName}/test", _endpoints[2879]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.StreamAnalytics/streamingjobs/{jobName}/outputs/{outputName}/test", _endpoints[2880]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.Update.Admin/updateLocations/{updateLocation}/updates/{updateName}/Apply", _endpoints[2881]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.Update.Admin/updateLocations/{updateLocation}/updates/{updateName}/updateRuns", _endpoints[2882]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/hostingEnvironments/{name}/workerPools/{workerPoolName}/metricdefinitions", _endpoints[2883]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/hostingEnvironments/{name}/workerPools/{workerPoolName}/metrics", _endpoints[2884]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/hostingEnvironments/{name}/workerPools/{workerPoolName}/skus", _endpoints[2885]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/hostingEnvironments/{name}/workerPools/{workerPoolName}/usages", _endpoints[2886]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/serverfarms/{name}/virtualNetworkConnections/{vnetName}/routes", _endpoints[2887]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/serverfarms/{name}/workers/{workerName}/reboot", _endpoints[2888]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/backups/{backupId}/list", _endpoints[2889]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/backups/{backupId}/restore", _endpoints[2890]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/continuouswebjobs/{webJobName}/start", _endpoints[2891]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/continuouswebjobs/{webJobName}/stop", _endpoints[2892]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/deployments/{id}/log", _endpoints[2893]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/functions/{functionName}/listsecrets", _endpoints[2894]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/instances/{instanceId}/deployments", _endpoints[2895]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/instances/{instanceId}/processes", _endpoints[2896]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/processes/{processId}/dump", _endpoints[2897]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/processes/{processId}/modules", _endpoints[2898]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/processes/{processId}/threads", _endpoints[2899]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/analyzeCustomHostname", _endpoints[2900]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/applySlotConfig", _endpoints[2901]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/backup", _endpoints[2902]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/backups", _endpoints[2903]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/config", _endpoints[2904]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/containerlogs", _endpoints[2905]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/continuouswebjobs", _endpoints[2906]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/deployments", _endpoints[2907]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/domainOwnershipIdentifiers", _endpoints[2908]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/functions", _endpoints[2909]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/hostNameBindings", _endpoints[2910]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/hybridconnection", _endpoints[2911]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/hybridConnectionRelays", _endpoints[2912]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/instances", _endpoints[2913]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/iscloneable", _endpoints[2914]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/listsyncfunctiontriggerstatus", _endpoints[2915]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/metricdefinitions", _endpoints[2916]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/metrics", _endpoints[2917]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/newpassword", _endpoints[2918]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/perfcounters", _endpoints[2919]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/phplogging", _endpoints[2920]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/premieraddons", _endpoints[2921]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/processes", _endpoints[2922]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/publicCertificates", _endpoints[2923]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/publishxml", _endpoints[2924]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/recover", _endpoints[2925]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/resetSlotConfig", _endpoints[2926]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/resourceHealthMetadata", _endpoints[2927]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/restart", _endpoints[2928]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/restoreFromBackupBlob", _endpoints[2929]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/restoreFromDeletedApp", _endpoints[2930]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/restoreSnapshot", _endpoints[2931]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/siteextensions", _endpoints[2932]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/slotsdiffs", _endpoints[2933]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/slotsswap", _endpoints[2934]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/snapshots", _endpoints[2935]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/start", _endpoints[2936]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/stop", _endpoints[2937]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/sync", _endpoints[2938]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/syncfunctiontriggers", _endpoints[2939]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/triggeredwebjobs", _endpoints[2940]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/usages", _endpoints[2941]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/virtualNetworkConnections", _endpoints[2942]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/webjobs", _endpoints[2943]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/triggeredwebjobs/{webJobName}/history", _endpoints[2944]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/triggeredwebjobs/{webJobName}/run", _endpoints[2945]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{siteName}/diagnostics/{diagnosticCategory}/analyses", _endpoints[2946]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{siteName}/diagnostics/{diagnosticCategory}/detectors", _endpoints[2947]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{siteName}/recommendations/{name}/disable", _endpoints[2948]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{siteName}/slots/{slot}/detectors", _endpoints[2949]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{siteName}/slots/{slot}/diagnostics", _endpoints[2950]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/tenant/{accessName}/git/regeneratePrimaryKey", _endpoints[2951]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/tenant/{accessName}/git/regenerateSecondaryKey", _endpoints[2952]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Automation/automationAccounts/{automationAccountName}/runbooks/{runbookName}/draft/content", _endpoints[2953]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Automation/automationAccounts/{automationAccountName}/runbooks/{runbookName}/draft/publish", _endpoints[2954]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Automation/automationAccounts/{automationAccountName}/runbooks/{runbookName}/draft/testJob", _endpoints[2955]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Automation/automationAccounts/{automationAccountName}/runbooks/{runbookName}/draft/undoEdit", _endpoints[2956]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/targetRegion/{targetRegion}/percentile/metrics", _endpoints[2957]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Logic/workflows/{workflowName}/triggers/{triggerName}/schemas/json", _endpoints[2958]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/databases/{databaseName}/automaticTuning/current", _endpoints[2959]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.StorSimple/managers/{managerName}/devices/{deviceName}/alertSettings/default", _endpoints[2960]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.StorSimple/managers/{managerName}/devices/{deviceName}/networkSettings/default", _endpoints[2961]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.StorSimple/managers/{managerName}/devices/{deviceName}/securitySettings/default", _endpoints[2962]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.StorSimple/managers/{managerName}/devices/{deviceName}/timeSettings/default", _endpoints[2963]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.StorSimple/managers/{managerName}/devices/{deviceName}/updateSummary/default", _endpoints[2964]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/instances/{instanceId}/extensions/MSDeploy", _endpoints[2965]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/backups/discover", _endpoints[2966]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/config/appsettings", _endpoints[2967]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/config/authsettings", _endpoints[2968]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/config/backup", _endpoints[2969]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/config/connectionstrings", _endpoints[2970]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/config/logs", _endpoints[2971]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/config/metadata", _endpoints[2972]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/config/pushsettings", _endpoints[2973]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/config/web", _endpoints[2974]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/extensions/MSDeploy", _endpoints[2975]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/migratemysql/status", _endpoints[2976]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/networkTrace/start", _endpoints[2977]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/networkTrace/stop", _endpoints[2978]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/privateAccess/virtualNetworks", _endpoints[2979]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/resourceHealthMetadata/default", _endpoints[2980]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/sourcecontrols/web", _endpoints[2981]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Automation/automationAccounts/{automationAccountName}/runbooks/{runbookName}/draft/testJob/resume", _endpoints[2982]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Automation/automationAccounts/{automationAccountName}/runbooks/{runbookName}/draft/testJob/stop", _endpoints[2983]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Automation/automationAccounts/{automationAccountName}/runbooks/{runbookName}/draft/testJob/streams", _endpoints[2984]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Automation/automationAccounts/{automationAccountName}/runbooks/{runbookName}/draft/testJob/suspend", _endpoints[2985]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ServerManagement/nodes/{nodeName}/sessions/{session}/features/powerShellConsole/pssessions", _endpoints[2986]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.StorSimple/managers/{managerName}/devices/{deviceName}/securitySettings/default/syncRemoteManagementCertificate", _endpoints[2987]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/instances/{instanceId}/extensions/MSDeploy/log", _endpoints[2988]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/config/appsettings/list", _endpoints[2989]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/config/authsettings/list", _endpoints[2990]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/config/backup/list", _endpoints[2991]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/config/connectionstrings/list", _endpoints[2992]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/config/metadata/list", _endpoints[2993]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/config/publishingcredentials/list", _endpoints[2994]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/config/pushsettings/list", _endpoints[2995]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/config/web/snapshots", _endpoints[2996]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/containerlogs/zip/download", _endpoints[2997]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/extensions/MSDeploy/log", _endpoints[2998]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/functions/admin/token", _endpoints[2999]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Automation/automationAccounts/{automationAccountName}/runbooks/{runbookName}/draft/testJob/streams/{jobStreamId}", _endpoints[3000]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ServerManagement/nodes/{nodeName}/sessions/{session}/features/powerShellConsole/pssessions/{pssession}", _endpoints[3001]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/config/web/snapshots/{snapshotId}", _endpoints[3002]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ServerManagement/nodes/{nodeName}/sessions/{session}/features/powerShellConsole/pssessions/{pssession}/cancel", _endpoints[3003]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ServerManagement/nodes/{nodeName}/sessions/{session}/features/powerShellConsole/pssessions/{pssession}/invokeCommand", _endpoints[3004]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ServerManagement/nodes/{nodeName}/sessions/{session}/features/powerShellConsole/pssessions/{pssession}/tab", _endpoints[3005]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/config/web/snapshots/{snapshotId}/recover", _endpoints[3006]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{groupName}/providers/Microsoft.DataMigration/services/{serviceName}/projects/{projectName}/tasks/{taskName}", _endpoints[3007]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/apis/{apiId}/diagnostics/{diagnosticId}", _endpoints[3008]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/apis/{apiId}/issues/{issueId}", _endpoints[3009]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/apis/{apiId}/operations/{operationId}", _endpoints[3010]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/apis/{apiId}/policies/{policyId}", _endpoints[3011]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/apis/{apiId}/releases/{releaseId}", _endpoints[3012]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/apis/{apiId}/schemas/{schemaId}", _endpoints[3013]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/apis/{apiId}/tagDescriptions/{tagId}", _endpoints[3014]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/apis/{apiId}/tags/{tagId}", _endpoints[3015]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/diagnostics/{diagnosticId}/loggers/{loggerid}", _endpoints[3016]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/groups/{groupId}/users/{uid}", _endpoints[3017]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/notifications/{notificationName}/recipientEmails/{email}", _endpoints[3018]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/notifications/{notificationName}/recipientUsers/{uid}", _endpoints[3019]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/products/{productId}/apis/{apiId}", _endpoints[3020]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/products/{productId}/groups/{groupId}", _endpoints[3021]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/products/{productId}/policies/{policyId}", _endpoints[3022]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/products/{productId}/tags/{tagId}", _endpoints[3023]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/quotas/{quotaCounterKey}/periods/{quotaPeriodKey}", _endpoints[3024]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Automation/automationAccounts/{automationAccountName}/compilationjobs/{jobId}/streams/{jobStreamId}", _endpoints[3025]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Automation/automationAccounts/{automationAccountName}/jobs/{jobId}/streams/{jobStreamId}", _endpoints[3026]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Automation/automationAccounts/{automationAccountName}/modules/{moduleName}/activities/{activityName}", _endpoints[3027]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Automation/automationAccounts/{automationAccountName}/nodes/{nodeId}/reports/{reportId}", _endpoints[3028]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Automation/automationAccounts/{automationAccountName}/sourceControls/{sourceControlName}/sourceControlSyncJobs/{sourceControlSyncJobId}", _endpoints[3029]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Batch/batchAccounts/{accountName}/applications/{applicationId}/versions/{version}", _endpoints[3030]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.BatchAI/workspaces/{workspaceName}/experiments/{experimentName}/jobs/{jobName}", _endpoints[3031]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Cdn/profiles/{profileName}/endpoints/{endpointName}/customDomains/{customDomainName}", _endpoints[3032]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Cdn/profiles/{profileName}/endpoints/{endpointName}/origins/{originName}", _endpoints[3033]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/galleries/{galleryName}/images/{galleryImageName}/versions/{galleryImageVersionName}", _endpoints[3034]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/microsoft.Compute/virtualMachineScaleSets/{virtualMachineScaleSetName}/virtualMachines/{virtualmachineIndex}/networkInterfaces/{networkInterfaceName}", _endpoints[3035]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerRegistry/registries/{registryName}/buildTasks/{buildTaskName}/steps/{stepName}", _endpoints[3036]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.CustomerInsights/hubs/{hubName}/connectors/{connectorName}/mappings/{mappingName}", _endpoints[3037]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataFactory/factories/{factoryName}/integrationRuntimes/{integrationRuntimeName}/nodes/{nodeName}", _endpoints[3038]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataLakeAnalytics/accounts/{accountName}/storageAccounts/{storageAccountName}/containers/{containerName}", _endpoints[3039]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Devices/IotHubs/{resourceName}/eventHubEndpoints/{eventHubEndpointName}/ConsumerGroups/{name}", _endpoints[3040]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DevTestLab/labs/{labName}/artifactsources/{artifactSourceName}/armtemplates/{name}", _endpoints[3041]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DevTestLab/labs/{labName}/artifactsources/{artifactSourceName}/artifacts/{name}", _endpoints[3042]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DevTestLab/labs/{labName}/policysets/{policySetName}/policies/{name}", _endpoints[3043]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DevTestLab/labs/{labName}/users/{userName}/disks/{name}", _endpoints[3044]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DevTestLab/labs/{labName}/users/{userName}/environments/{name}", _endpoints[3045]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DevTestLab/labs/{labName}/users/{userName}/secrets/{name}", _endpoints[3046]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DevTestLab/labs/{labName}/virtualmachines/{virtualMachineName}/schedules/{name}", _endpoints[3047]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.EventHub/namespaces/{namespaceName}/disasterRecoveryConfigs/{alias}/AuthorizationRules/{authorizationRuleName}", _endpoints[3048]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.EventHub/namespaces/{namespaceName}/eventhubs/{eventHubName}/authorizationRules/{authorizationRuleName}", _endpoints[3049]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.EventHub/namespaces/{namespaceName}/eventhubs/{eventHubName}/consumergroups/{consumerGroupName}", _endpoints[3050]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Fabric.Admin/fabricLocations/{location}/logicalNetworks/{logicalNetwork}/logicalSubnets/{logicalSubnet}", _endpoints[3051]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Fabric.Admin/fabricLocations/{location}/storageSubSystems/{storageSubSystem}/storagePools/{storagePool}", _endpoints[3052]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.InfrastructureInsights.Admin/regionHealths/{location}/serviceHealths/{serviceRegistrationId}/resourceHealths/{resourceRegistrationId}", _endpoints[3053]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Logic/workflows/{workflowName}/runs/{runName}/actions/{actionName}", _endpoints[3054]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Logic/workflows/{workflowName}/runs/{runName}/operations/{operationId}", _endpoints[3055]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Logic/workflows/{workflowName}/triggers/{triggerName}/histories/{historyName}", _endpoints[3056]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.MachineLearningExperimentation/accounts/{accountName}/workspaces/{workspaceName}/projects/{projectName}", _endpoints[3057]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Media/mediaservices/{accountName}/liveEvents/{liveEventName}/liveOutputs/{liveOutputName}", _endpoints[3058]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Media/mediaServices/{accountName}/transforms/{transformName}/jobs/{jobName}", _endpoints[3059]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Migrate/projects/{projectName}/groups/{groupName}/assessments/{assessmentName}", _endpoints[3060]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/expressRouteCircuits/{circuitName}/peerings/{peeringName}/arpTables/{devicePath}", _endpoints[3061]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/expressRouteCircuits/{circuitName}/peerings/{peeringName}/connections/{connectionName}", _endpoints[3062]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/expressRouteCircuits/{circuitName}/peerings/{peeringName}/routeTables/{devicePath}", _endpoints[3063]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/expressRouteCircuits/{circuitName}/peerings/{peeringName}/routeTablesSummary/{devicePath}", _endpoints[3064]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/expressRouteCrossConnections/{crossConnectionName}/peerings/{peeringName}/arpTables/{devicePath}", _endpoints[3065]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/expressRouteCrossConnections/{crossConnectionName}/peerings/{peeringName}/routeTables/{devicePath}", _endpoints[3066]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/expressRouteCrossConnections/{crossConnectionName}/peerings/{peeringName}/routeTablesSummary/{devicePath}", _endpoints[3067]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.NotificationHubs/namespaces/{namespaceName}/notificationHubs/{notificationHubName}/AuthorizationRules/{authorizationRuleName}", _endpoints[3068]); + builder.AddEntry("/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationFabrics/{fabricName}/replicationLogicalNetworks/{logicalNetworkName}", _endpoints[3069]); + builder.AddEntry("/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationFabrics/{fabricName}/replicationNetworks/{networkName}", _endpoints[3070]); + builder.AddEntry("/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationFabrics/{fabricName}/replicationProtectionContainers/{protectionContainerName}", _endpoints[3071]); + builder.AddEntry("/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationFabrics/{fabricName}/replicationRecoveryServicesProviders/{providerName}", _endpoints[3072]); + builder.AddEntry("/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationFabrics/{fabricName}/replicationStorageClassifications/{storageClassificationName}", _endpoints[3073]); + builder.AddEntry("/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationFabrics/{fabricName}/replicationvCenters/{vCenterName}", _endpoints[3074]); + builder.AddEntry("/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupFabrics/{fabricName}/backupProtectionIntent/{intentObjectName}", _endpoints[3075]); + builder.AddEntry("/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupFabrics/{fabricName}/operationResults/{operationId}", _endpoints[3076]); + builder.AddEntry("/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupFabrics/{fabricName}/protectionContainers/{containerName}", _endpoints[3077]); + builder.AddEntry("/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupJobs/{jobName}/operationResults/{operationId}", _endpoints[3078]); + builder.AddEntry("/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupPolicies/{policyName}/operationResults/{operationId}", _endpoints[3079]); + builder.AddEntry("/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupPolicies/{policyName}/operations/{operationId}", _endpoints[3080]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Relay/namespaces/{namespaceName}/hybridConnections/{hybridConnectionName}/authorizationRules/{authorizationRuleName}", _endpoints[3081]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Relay/namespaces/{namespaceName}/wcfRelays/{relayName}/authorizationRules/{authorizationRuleName}", _endpoints[3082]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ServiceBus/namespaces/{namespaceName}/disasterRecoveryConfigs/{alias}/AuthorizationRules/{authorizationRuleName}", _endpoints[3083]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ServiceBus/namespaces/{namespaceName}/eventhubs/{eventhubName}/authorizationRules/{authorizationRuleName}", _endpoints[3084]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ServiceBus/namespaces/{namespaceName}/queues/{queueName}/authorizationRules/{authorizationRuleName}", _endpoints[3085]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ServiceBus/namespaces/{namespaceName}/topics/{topicName}/authorizationRules/{authorizationRuleName}", _endpoints[3086]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ServiceBus/namespaces/{namespaceName}/topics/{topicName}/subscriptions/{subscriptionName}", _endpoints[3087]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ServiceFabric/clusters/{clusterName}/applications/{applicationName}/services/{serviceName}", _endpoints[3088]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ServiceFabric/clusters/{clusterName}/applicationTypes/{applicationTypeName}/versions/{version}", _endpoints[3089]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/databases/{databaseName}/advisors/{advisorName}", _endpoints[3090]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/databases/{databaseName}/auditingPolicies/{tableAuditingPolicyName}", _endpoints[3091]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/databases/{databaseName}/auditingSettings/{blobAuditingPolicyName}", _endpoints[3092]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/databases/{databaseName}/backupLongTermRetentionPolicies/{backupLongTermRetentionPolicyName}", _endpoints[3093]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/databases/{databaseName}/backupShortTermRetentionPolicies/{policyName}", _endpoints[3094]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/databases/{databaseName}/connectionPolicies/{connectionPolicyName}", _endpoints[3095]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/databases/{databaseName}/dataMaskingPolicies/{dataMaskingPolicyName}", _endpoints[3096]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/databases/{databaseName}/dataWarehouseUserActivities/{dataWarehouseUserActivityName}", _endpoints[3097]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/databases/{databaseName}/extensions/{extensionName}", _endpoints[3098]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/databases/{databaseName}/geoBackupPolicies/{geoBackupPolicyName}", _endpoints[3099]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/databases/{databaseName}/replicationLinks/{linkId}", _endpoints[3100]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/databases/{databaseName}/restorePoints/{restorePointName}", _endpoints[3101]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/databases/{databaseName}/securityAlertPolicies/{securityAlertPolicyName}", _endpoints[3102]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/databases/{databaseName}/serviceTierAdvisors/{serviceTierAdvisorName}", _endpoints[3103]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/databases/{databaseName}/syncGroups/{syncGroupName}", _endpoints[3104]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/databases/{databaseName}/transparentDataEncryption/{transparentDataEncryptionName}", _endpoints[3105]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/databases/{databaseName}/vulnerabilityAssessments/{vulnerabilityAssessmentName}", _endpoints[3106]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/elasticPools/{elasticPoolName}/databases/{databaseName}", _endpoints[3107]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/jobAgents/{jobAgentName}/credentials/{credentialName}", _endpoints[3108]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/jobAgents/{jobAgentName}/jobs/{jobName}", _endpoints[3109]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/jobAgents/{jobAgentName}/targetGroups/{targetGroupName}", _endpoints[3110]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/recommendedElasticPools/{recommendedElasticPoolName}/databases/{databaseName}", _endpoints[3111]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.StorSimple/managers/{managerName}/devices/{deviceName}/backupPolicies/{backupPolicyName}", _endpoints[3112]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.StorSimple/managers/{managerName}/devices/{deviceName}/backups/{backupName}", _endpoints[3113]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.StorSimple/managers/{managerName}/devices/{deviceName}/jobs/{jobName}", _endpoints[3114]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.StorSimple/managers/{managerName}/devices/{deviceName}/volumeContainers/{volumeContainerName}", _endpoints[3115]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.Update.Admin/updateLocations/{updateLocation}/updates/{updateName}/updateRuns/{runName}", _endpoints[3116]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/serverfarms/{name}/hybridConnectionNamespaces/{namespaceName}/relays/{relayName}", _endpoints[3117]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/serverfarms/{name}/virtualNetworkConnections/{vnetName}/gateways/{gatewayName}", _endpoints[3118]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/serverfarms/{name}/virtualNetworkConnections/{vnetName}/routes/{routeName}", _endpoints[3119]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/hybridConnectionNamespaces/{namespaceName}/relays/{relayName}", _endpoints[3120]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/instances/{instanceId}/deployments/{id}", _endpoints[3121]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/instances/{instanceId}/processes/{processId}", _endpoints[3122]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/processes/{processId}/modules/{baseAddress}", _endpoints[3123]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/processes/{processId}/threads/{threadId}", _endpoints[3124]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/backups/{backupId}", _endpoints[3125]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/continuouswebjobs/{webJobName}", _endpoints[3126]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/deployments/{id}", _endpoints[3127]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/domainOwnershipIdentifiers/{domainOwnershipIdentifierName}", _endpoints[3128]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/functions/{functionName}", _endpoints[3129]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/hostNameBindings/{hostName}", _endpoints[3130]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/hybridconnection/{entityName}", _endpoints[3131]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/networkFeatures/{view}", _endpoints[3132]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/operationresults/{operationId}", _endpoints[3133]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/premieraddons/{premierAddOnName}", _endpoints[3134]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/processes/{processId}", _endpoints[3135]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/publicCertificates/{publicCertificateName}", _endpoints[3136]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/siteextensions/{siteExtensionId}", _endpoints[3137]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/triggeredwebjobs/{webJobName}", _endpoints[3138]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/virtualNetworkConnections/{vnetName}", _endpoints[3139]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/webjobs/{webJobName}", _endpoints[3140]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/triggeredwebjobs/{webJobName}/history/{id}", _endpoints[3141]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/virtualNetworkConnections/{vnetName}/gateways/{gatewayName}", _endpoints[3142]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{siteName}/diagnostics/{diagnosticCategory}/analyses/{analysisName}", _endpoints[3143]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{siteName}/diagnostics/{diagnosticCategory}/detectors/{detectorName}", _endpoints[3144]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{siteName}/slots/{slot}/detectors/{detectorName}", _endpoints[3145]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{siteName}/slots/{slot}/diagnostics/{diagnosticCategory}", _endpoints[3146]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{groupName}/providers/Microsoft.DataMigration/services/{serviceName}/projects/{projectName}/tasks/{taskName}/cancel", _endpoints[3147]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/apis/{apiId}/diagnostics/{diagnosticId}/loggers", _endpoints[3148]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/apis/{apiId}/issues/{issueId}/attachments", _endpoints[3149]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/apis/{apiId}/issues/{issueId}/comments", _endpoints[3150]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/apis/{apiId}/operations/{operationId}/policies", _endpoints[3151]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/apis/{apiId}/operations/{operationId}/policy", _endpoints[3152]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/apis/{apiId}/operations/{operationId}/tags", _endpoints[3153]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Automation/automationAccounts/{automationAccountName}/modules/{moduleName}/objectDataTypes/{typeName}/fields", _endpoints[3154]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Automation/automationAccounts/{automationAccountName}/modules/{moduleName}/types/{typeName}/fields", _endpoints[3155]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Automation/automationAccounts/{automationAccountName}/nodes/{nodeId}/reports/{reportId}/content", _endpoints[3156]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Automation/automationAccounts/{automationAccountName}/sourceControls/{sourceControlName}/sourceControlSyncJobs/{sourceControlSyncJobId}/streams", _endpoints[3157]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Batch/batchAccounts/{accountName}/applications/{applicationId}/versions/{version}/activate", _endpoints[3158]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.BatchAI/workspaces/{workspaceName}/experiments/{experimentName}/jobs/{jobName}/listOutputFiles", _endpoints[3159]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.BatchAI/workspaces/{workspaceName}/experiments/{experimentName}/jobs/{jobName}/listRemoteLoginInformation", _endpoints[3160]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.BatchAI/workspaces/{workspaceName}/experiments/{experimentName}/jobs/{jobName}/terminate", _endpoints[3161]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Cdn/profiles/{profileName}/endpoints/{endpointName}/customDomains/{customDomainName}/disableCustomHttps", _endpoints[3162]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Cdn/profiles/{profileName}/endpoints/{endpointName}/customDomains/{customDomainName}/enableCustomHttps", _endpoints[3163]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/microsoft.Compute/virtualMachineScaleSets/{virtualMachineScaleSetName}/virtualMachines/{virtualmachineIndex}/networkInterfaces/{networkInterfaceName}/ipConfigurations", _endpoints[3164]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerRegistry/registries/{registryName}/buildTasks/{buildTaskName}/steps/{stepName}/listBuildArguments", _endpoints[3165]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataFactory/factories/{factoryName}/integrationRuntimes/{integrationRuntimeName}/nodes/{nodeName}/ipAddress", _endpoints[3166]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataLakeAnalytics/accounts/{accountName}/storageAccounts/{storageAccountName}/containers/{containerName}/listSasTokens", _endpoints[3167]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DevTestLab/labs/{labName}/artifactsources/{artifactSourceName}/artifacts/{name}/generateArmTemplate", _endpoints[3168]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DevTestLab/labs/{labName}/users/{userName}/disks/{name}/attach", _endpoints[3169]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DevTestLab/labs/{labName}/users/{userName}/disks/{name}/detach", _endpoints[3170]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DevTestLab/labs/{labName}/virtualmachines/{virtualMachineName}/schedules/{name}/execute", _endpoints[3171]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/databases/{databaseRid}/collections/{collectionRid}/metricDefinitions", _endpoints[3172]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/databases/{databaseRid}/collections/{collectionRid}/metrics", _endpoints[3173]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/databases/{databaseRid}/collections/{collectionRid}/usages", _endpoints[3174]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.EventHub/namespaces/{namespaceName}/disasterRecoveryConfigs/{alias}/AuthorizationRules/{authorizationRuleName}/listKeys", _endpoints[3175]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.EventHub/namespaces/{namespaceName}/eventhubs/{eventHubName}/authorizationRules/{authorizationRuleName}/ListKeys", _endpoints[3176]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.EventHub/namespaces/{namespaceName}/eventhubs/{eventHubName}/authorizationRules/{authorizationRuleName}/regenerateKeys", _endpoints[3177]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Fabric.Admin/fabricLocations/{location}/storageSubSystems/{storageSubSystem}/storagePools/{storagePool}/volumes", _endpoints[3178]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Logic/workflows/{workflowName}/runs/{runName}/actions/{actionName}/listExpressionTraces", _endpoints[3179]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Logic/workflows/{workflowName}/runs/{runName}/actions/{actionName}/repetitions", _endpoints[3180]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Logic/workflows/{workflowName}/runs/{runName}/actions/{actionName}/scopeRepetitions", _endpoints[3181]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Logic/workflows/{workflowName}/triggers/{triggerName}/histories/{historyName}/resubmit", _endpoints[3182]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Logic/workflows/{workflowName}/versions/{versionId}/triggers/{triggerName}/listCallbackUrl", _endpoints[3183]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Media/mediaServices/{accountName}/transforms/{transformName}/jobs/{jobName}/cancelJob", _endpoints[3184]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Migrate/projects/{projectName}/groups/{groupName}/assessments/{assessmentName}/assessedMachines", _endpoints[3185]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Migrate/projects/{projectName}/groups/{groupName}/assessments/{assessmentName}/downloadUrl", _endpoints[3186]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.NotificationHubs/namespaces/{namespaceName}/notificationHubs/{notificationHubName}/AuthorizationRules/{authorizationRuleName}/listKeys", _endpoints[3187]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.NotificationHubs/namespaces/{namespaceName}/notificationHubs/{notificationHubName}/AuthorizationRules/{authorizationRuleName}/regenerateKeys", _endpoints[3188]); + builder.AddEntry("/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationFabrics/{fabricName}/replicationNetworks/{networkName}/replicationNetworkMappings", _endpoints[3189]); + builder.AddEntry("/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationFabrics/{fabricName}/replicationProtectionContainers/{protectionContainerName}/discoverProtectableItem", _endpoints[3190]); + builder.AddEntry("/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationFabrics/{fabricName}/replicationProtectionContainers/{protectionContainerName}/remove", _endpoints[3191]); + builder.AddEntry("/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationFabrics/{fabricName}/replicationProtectionContainers/{protectionContainerName}/replicationProtectableItems", _endpoints[3192]); + builder.AddEntry("/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationFabrics/{fabricName}/replicationProtectionContainers/{protectionContainerName}/replicationProtectedItems", _endpoints[3193]); + builder.AddEntry("/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationFabrics/{fabricName}/replicationProtectionContainers/{protectionContainerName}/replicationProtectionContainerMappings", _endpoints[3194]); + builder.AddEntry("/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationFabrics/{fabricName}/replicationProtectionContainers/{protectionContainerName}/switchprotection", _endpoints[3195]); + builder.AddEntry("/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationFabrics/{fabricName}/replicationRecoveryServicesProviders/{providerName}/refreshProvider", _endpoints[3196]); + builder.AddEntry("/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationFabrics/{fabricName}/replicationRecoveryServicesProviders/{providerName}/remove", _endpoints[3197]); + builder.AddEntry("/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationFabrics/{fabricName}/replicationStorageClassifications/{storageClassificationName}/replicationStorageClassificationMappings", _endpoints[3198]); + builder.AddEntry("/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupFabrics/{fabricName}/protectionContainers/{containerName}/inquire", _endpoints[3199]); + builder.AddEntry("/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupFabrics/{fabricName}/protectionContainers/{containerName}/items", _endpoints[3200]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Relay/namespaces/{namespaceName}/hybridConnections/{hybridConnectionName}/authorizationRules/{authorizationRuleName}/listKeys", _endpoints[3201]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Relay/namespaces/{namespaceName}/hybridConnections/{hybridConnectionName}/authorizationRules/{authorizationRuleName}/regenerateKeys", _endpoints[3202]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Relay/namespaces/{namespaceName}/wcfRelays/{relayName}/authorizationRules/{authorizationRuleName}/listKeys", _endpoints[3203]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Relay/namespaces/{namespaceName}/wcfRelays/{relayName}/authorizationRules/{authorizationRuleName}/regenerateKeys", _endpoints[3204]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ServiceBus/namespaces/{namespaceName}/disasterRecoveryConfigs/{alias}/AuthorizationRules/{authorizationRuleName}/listKeys", _endpoints[3205]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ServiceBus/namespaces/{namespaceName}/queues/{queueName}/authorizationRules/{authorizationRuleName}/ListKeys", _endpoints[3206]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ServiceBus/namespaces/{namespaceName}/queues/{queueName}/authorizationRules/{authorizationRuleName}/regenerateKeys", _endpoints[3207]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ServiceBus/namespaces/{namespaceName}/topics/{topicName}/authorizationRules/{authorizationRuleName}/ListKeys", _endpoints[3208]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ServiceBus/namespaces/{namespaceName}/topics/{topicName}/authorizationRules/{authorizationRuleName}/regenerateKeys", _endpoints[3209]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ServiceBus/namespaces/{namespaceName}/topics/{topicName}/subscriptions/{subscriptionName}/rules", _endpoints[3210]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/databases/{databaseName}/advisors/{advisorName}/recommendedActions", _endpoints[3211]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/databases/{databaseName}/dataMaskingPolicies/{dataMaskingPolicyName}/rules", _endpoints[3212]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/databases/{databaseName}/operations/{operationId}/cancel", _endpoints[3213]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/databases/{databaseName}/replicationLinks/{linkId}/failover", _endpoints[3214]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/databases/{databaseName}/replicationLinks/{linkId}/forceFailoverAllowDataLoss", _endpoints[3215]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/databases/{databaseName}/syncGroups/{syncGroupName}/cancelSync", _endpoints[3216]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/databases/{databaseName}/syncGroups/{syncGroupName}/hubSchemas", _endpoints[3217]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/databases/{databaseName}/syncGroups/{syncGroupName}/logs", _endpoints[3218]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/databases/{databaseName}/syncGroups/{syncGroupName}/refreshHubSchema", _endpoints[3219]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/databases/{databaseName}/syncGroups/{syncGroupName}/syncMembers", _endpoints[3220]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/databases/{databaseName}/syncGroups/{syncGroupName}/triggerSync", _endpoints[3221]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/databases/{databaseName}/topQueries/{queryId}/queryText", _endpoints[3222]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/databases/{databaseName}/topQueries/{queryId}/statistics", _endpoints[3223]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/databases/{databaseName}/transparentDataEncryption/{transparentDataEncryptionName}/operationResults", _endpoints[3224]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/databases/{databaseName}/vulnerabilityAssessments/{vulnerabilityAssessmentName}/scans", _endpoints[3225]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/elasticPools/{elasticPoolName}/operations/{operationId}/cancel", _endpoints[3226]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/jobAgents/{jobAgentName}/jobs/{jobName}/executions", _endpoints[3227]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/jobAgents/{jobAgentName}/jobs/{jobName}/start", _endpoints[3228]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/jobAgents/{jobAgentName}/jobs/{jobName}/steps", _endpoints[3229]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/jobAgents/{jobAgentName}/jobs/{jobName}/versions", _endpoints[3230]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.StorSimple/managers/{managerName}/devices/{deviceName}/backupPolicies/{backupPolicyName}/backup", _endpoints[3231]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.StorSimple/managers/{managerName}/devices/{deviceName}/backupPolicies/{backupPolicyName}/schedules", _endpoints[3232]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.StorSimple/managers/{managerName}/devices/{deviceName}/backups/{backupName}/restore", _endpoints[3233]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.StorSimple/managers/{managerName}/devices/{deviceName}/hardwareComponentGroups/{hardwareComponentGroupName}/changeControllerPowerState", _endpoints[3234]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.StorSimple/managers/{managerName}/devices/{deviceName}/jobs/{jobName}/cancel", _endpoints[3235]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.StorSimple/managers/{managerName}/devices/{deviceName}/volumeContainers/{volumeContainerName}/metrics", _endpoints[3236]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.StorSimple/managers/{managerName}/devices/{deviceName}/volumeContainers/{volumeContainerName}/metricsDefinitions", _endpoints[3237]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.StorSimple/managers/{managerName}/devices/{deviceName}/volumeContainers/{volumeContainerName}/volumes", _endpoints[3238]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.Update.Admin/updateLocations/{updateLocation}/updates/{updateName}/updateRuns/{runName}/rerun", _endpoints[3239]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/microsoft.visualstudio/account/{rootResourceName}/project/{resourceName}/subContainers/{subContainerName}/status", _endpoints[3240]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/hostingEnvironments/{name}/workerPools/{workerPoolName}/instances/{instance}/metricdefinitions", _endpoints[3241]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/hostingEnvironments/{name}/workerPools/{workerPoolName}/instances/{instance}/metrics", _endpoints[3242]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/serverfarms/{name}/hybridConnectionNamespaces/{namespaceName}/relays/{relayName}/listKeys", _endpoints[3243]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/serverfarms/{name}/hybridConnectionNamespaces/{namespaceName}/relays/{relayName}/sites", _endpoints[3244]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/hybridConnectionNamespaces/{namespaceName}/relays/{relayName}/listKeys", _endpoints[3245]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/instances/{instanceId}/processes/{processId}/dump", _endpoints[3246]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/instances/{instanceId}/processes/{processId}/modules", _endpoints[3247]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/instances/{instanceId}/processes/{processId}/threads", _endpoints[3248]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/backups/{backupId}/list", _endpoints[3249]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/backups/{backupId}/restore", _endpoints[3250]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/continuouswebjobs/{webJobName}/start", _endpoints[3251]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/continuouswebjobs/{webJobName}/stop", _endpoints[3252]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/deployments/{id}/log", _endpoints[3253]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/functions/{functionName}/listsecrets", _endpoints[3254]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/instances/{instanceId}/deployments", _endpoints[3255]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/instances/{instanceId}/processes", _endpoints[3256]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/processes/{processId}/dump", _endpoints[3257]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/processes/{processId}/modules", _endpoints[3258]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/processes/{processId}/threads", _endpoints[3259]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/triggeredwebjobs/{webJobName}/history", _endpoints[3260]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/triggeredwebjobs/{webJobName}/run", _endpoints[3261]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{siteName}/diagnostics/{diagnosticCategory}/analyses/{analysisName}/execute", _endpoints[3262]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{siteName}/diagnostics/{diagnosticCategory}/detectors/{detectorName}/execute", _endpoints[3263]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{siteName}/slots/{slot}/diagnostics/{diagnosticCategory}/analyses", _endpoints[3264]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{siteName}/slots/{slot}/diagnostics/{diagnosticCategory}/detectors", _endpoints[3265]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/databases/{databaseRid}/collections/{collectionRid}/partitions/metrics", _endpoints[3266]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/databases/{databaseRid}/collections/{collectionRid}/partitions/usages", _endpoints[3267]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/sourceRegion/{sourceRegion}/targetRegion/{targetRegion}/percentile/metrics", _endpoints[3268]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/instances/{instanceId}/extensions/MSDeploy", _endpoints[3269]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/instances/{instanceId}/extensions/MSDeploy/log", _endpoints[3270]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/apis/{apiId}/diagnostics/{diagnosticId}/loggers/{loggerid}", _endpoints[3271]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/apis/{apiId}/issues/{issueId}/attachments/{attachmentId}", _endpoints[3272]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/apis/{apiId}/issues/{issueId}/comments/{commentId}", _endpoints[3273]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/apis/{apiId}/operations/{operationId}/policies/{policyId}", _endpoints[3274]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/apis/{apiId}/operations/{operationId}/tags/{tagId}", _endpoints[3275]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Automation/automationAccounts/{automationAccountName}/sourceControls/{sourceControlName}/sourceControlSyncJobs/{sourceControlSyncJobId}/streams/{streamId}", _endpoints[3276]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/microsoft.Compute/virtualMachineScaleSets/{virtualMachineScaleSetName}/virtualMachines/{virtualmachineIndex}/networkInterfaces/{networkInterfaceName}/ipConfigurations/{ipConfigurationName}", _endpoints[3277]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Fabric.Admin/fabricLocations/{location}/storageSubSystems/{storageSubSystem}/storagePools/{storagePool}/volumes/{volume}", _endpoints[3278]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Logic/workflows/{workflowName}/runs/{runName}/actions/{actionName}/repetitions/{repetitionName}", _endpoints[3279]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Logic/workflows/{workflowName}/runs/{runName}/actions/{actionName}/scopeRepetitions/{repetitionName}", _endpoints[3280]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Migrate/projects/{projectName}/groups/{groupName}/assessments/{assessmentName}/assessedMachines/{assessedMachineName}", _endpoints[3281]); + builder.AddEntry("/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationFabrics/{fabricName}/replicationNetworks/{networkName}/replicationNetworkMappings/{networkMappingName}", _endpoints[3282]); + builder.AddEntry("/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationFabrics/{fabricName}/replicationProtectionContainers/{protectionContainerName}/replicationProtectableItems/{protectableItemName}", _endpoints[3283]); + builder.AddEntry("/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationFabrics/{fabricName}/replicationProtectionContainers/{protectionContainerName}/replicationProtectedItems/{replicatedProtectedItemName}", _endpoints[3284]); + builder.AddEntry("/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationFabrics/{fabricName}/replicationProtectionContainers/{protectionContainerName}/replicationProtectionContainerMappings/{mappingName}", _endpoints[3285]); + builder.AddEntry("/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationFabrics/{fabricName}/replicationStorageClassifications/{storageClassificationName}/replicationStorageClassificationMappings/{storageClassificationMappingName}", _endpoints[3286]); + builder.AddEntry("/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupFabrics/{fabricName}/protectionContainers/{containerName}/operationResults/{operationId}", _endpoints[3287]); + builder.AddEntry("/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupFabrics/{fabricName}/protectionContainers/{containerName}/protectedItems/{protectedItemName}", _endpoints[3288]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ServiceBus/namespaces/{namespaceName}/topics/{topicName}/subscriptions/{subscriptionName}/rules/{ruleName}", _endpoints[3289]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/databases/{databaseName}/advisors/{advisorName}/recommendedActions/{recommendedActionName}", _endpoints[3290]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/databases/{databaseName}/dataMaskingPolicies/{dataMaskingPolicyName}/rules/{dataMaskingRuleName}", _endpoints[3291]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/databases/{databaseName}/syncGroups/{syncGroupName}/syncMembers/{syncMemberName}", _endpoints[3292]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/databases/{databaseName}/vulnerabilityAssessments/{vulnerabilityAssessmentName}/scans/{scanId}", _endpoints[3293]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/jobAgents/{jobAgentName}/jobs/{jobName}/executions/{jobExecutionId}", _endpoints[3294]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/jobAgents/{jobAgentName}/jobs/{jobName}/steps/{stepName}", _endpoints[3295]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/jobAgents/{jobAgentName}/jobs/{jobName}/versions/{jobVersion}", _endpoints[3296]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.StorSimple/managers/{managerName}/devices/{deviceName}/backupPolicies/{backupPolicyName}/schedules/{backupScheduleName}", _endpoints[3297]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.StorSimple/managers/{managerName}/devices/{deviceName}/volumeContainers/{volumeContainerName}/volumes/{volumeName}", _endpoints[3298]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/instances/{instanceId}/processes/{processId}/modules/{baseAddress}", _endpoints[3299]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/instances/{instanceId}/processes/{processId}/threads/{threadId}", _endpoints[3300]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/hybridConnectionNamespaces/{namespaceName}/relays/{relayName}", _endpoints[3301]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/instances/{instanceId}/deployments/{id}", _endpoints[3302]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/instances/{instanceId}/processes/{processId}", _endpoints[3303]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/processes/{processId}/modules/{baseAddress}", _endpoints[3304]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/processes/{processId}/threads/{threadId}", _endpoints[3305]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/triggeredwebjobs/{webJobName}/history/{id}", _endpoints[3306]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/virtualNetworkConnections/{vnetName}/gateways/{gatewayName}", _endpoints[3307]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{siteName}/slots/{slot}/diagnostics/{diagnosticCategory}/analyses/{analysisName}", _endpoints[3308]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{siteName}/slots/{slot}/diagnostics/{diagnosticCategory}/detectors/{detectorName}", _endpoints[3309]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/virtualMachineScaleSets/{virtualMachineScaleSetName}/virtualMachines/{virtualmachineIndex}/networkInterfaces/{networkInterfaceName}/ipconfigurations/{ipConfigurationName}/publicipaddresses", _endpoints[3310]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/databases/{databaseRid}/collections/{collectionRid}/partitionKeyRangeId/{partitionKeyRangeId}/metrics", _endpoints[3311]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/region/{region}/databases/{databaseRid}/collections/{collectionRid}/metrics", _endpoints[3312]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Logic/workflows/{workflowName}/runs/{runName}/actions/{actionName}/repetitions/{repetitionName}/listExpressionTraces", _endpoints[3313]); + builder.AddEntry("/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationFabrics/{fabricName}/replicationProtectionContainers/{protectionContainerName}/replicationProtectedItems/{replicatedProtectedItemName}/applyRecoveryPoint", _endpoints[3314]); + builder.AddEntry("/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationFabrics/{fabricName}/replicationProtectionContainers/{protectionContainerName}/replicationProtectedItems/{replicatedProtectedItemName}/failoverCommit", _endpoints[3315]); + builder.AddEntry("/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationFabrics/{fabricName}/replicationProtectionContainers/{protectionContainerName}/replicationProtectedItems/{replicatedProtectedItemName}/plannedFailover", _endpoints[3316]); + builder.AddEntry("/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationFabrics/{fabricName}/replicationProtectionContainers/{protectionContainerName}/replicationProtectedItems/{replicatedProtectedItemName}/recoveryPoints", _endpoints[3317]); + builder.AddEntry("/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationFabrics/{fabricName}/replicationProtectionContainers/{protectionContainerName}/replicationProtectedItems/{replicatedProtectedItemName}/remove", _endpoints[3318]); + builder.AddEntry("/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationFabrics/{fabricName}/replicationProtectionContainers/{protectionContainerName}/replicationProtectedItems/{replicatedProtectedItemName}/repairReplication", _endpoints[3319]); + builder.AddEntry("/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationFabrics/{fabricName}/replicationProtectionContainers/{protectionContainerName}/replicationProtectedItems/{replicatedProtectedItemName}/reProtect", _endpoints[3320]); + builder.AddEntry("/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationFabrics/{fabricName}/replicationProtectionContainers/{protectionContainerName}/replicationProtectedItems/{replicatedProtectedItemName}/targetComputeSizes", _endpoints[3321]); + builder.AddEntry("/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationFabrics/{fabricName}/replicationProtectionContainers/{protectionContainerName}/replicationProtectedItems/{replicatedProtectedItemName}/testFailover", _endpoints[3322]); + builder.AddEntry("/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationFabrics/{fabricName}/replicationProtectionContainers/{protectionContainerName}/replicationProtectedItems/{replicatedProtectedItemName}/testFailoverCleanup", _endpoints[3323]); + builder.AddEntry("/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationFabrics/{fabricName}/replicationProtectionContainers/{protectionContainerName}/replicationProtectedItems/{replicatedProtectedItemName}/unplannedFailover", _endpoints[3324]); + builder.AddEntry("/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationFabrics/{fabricName}/replicationProtectionContainers/{protectionContainerName}/replicationProtectedItems/{replicationProtectedItemName}/updateMobilityService", _endpoints[3325]); + builder.AddEntry("/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationFabrics/{fabricName}/replicationProtectionContainers/{protectionContainerName}/replicationProtectionContainerMappings/{mappingName}/remove", _endpoints[3326]); + builder.AddEntry("/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupFabrics/{fabricName}/protectionContainers/{containerName}/protectedItems/{protectedItemName}/backup", _endpoints[3327]); + builder.AddEntry("/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupFabrics/{fabricName}/protectionContainers/{containerName}/protectedItems/{protectedItemName}/recoveryPoints", _endpoints[3328]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/databases/{databaseName}/syncGroups/{syncGroupName}/syncMembers/{syncMemberName}/refreshSchema", _endpoints[3329]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/databases/{databaseName}/syncGroups/{syncGroupName}/syncMembers/{syncMemberName}/schemas", _endpoints[3330]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/databases/{databaseName}/vulnerabilityAssessments/{vulnerabilityAssessmentName}/scans/{scanId}/export", _endpoints[3331]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/databases/{databaseName}/vulnerabilityAssessments/{vulnerabilityAssessmentName}/scans/{scanId}/initiateScan", _endpoints[3332]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/jobAgents/{jobAgentName}/jobs/{jobName}/executions/{jobExecutionId}/cancel", _endpoints[3333]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/jobAgents/{jobAgentName}/jobs/{jobName}/executions/{jobExecutionId}/steps", _endpoints[3334]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/jobAgents/{jobAgentName}/jobs/{jobName}/executions/{jobExecutionId}/targets", _endpoints[3335]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/jobAgents/{jobAgentName}/jobs/{jobName}/versions/{jobVersion}/steps", _endpoints[3336]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.StorSimple/managers/{managerName}/devices/{deviceName}/backups/{backupName}/elements/{backupElementName}/clone", _endpoints[3337]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.StorSimple/managers/{managerName}/devices/{deviceName}/volumeContainers/{volumeContainerName}/volumes/{volumeName}/metrics", _endpoints[3338]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.StorSimple/managers/{managerName}/devices/{deviceName}/volumeContainers/{volumeContainerName}/volumes/{volumeName}/metricsDefinitions", _endpoints[3339]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/hybridConnectionNamespaces/{namespaceName}/relays/{relayName}/listKeys", _endpoints[3340]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/instances/{instanceId}/processes/{processId}/dump", _endpoints[3341]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/instances/{instanceId}/processes/{processId}/modules", _endpoints[3342]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/instances/{instanceId}/processes/{processId}/threads", _endpoints[3343]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{siteName}/slots/{slot}/diagnostics/{diagnosticCategory}/analyses/{analysisName}/execute", _endpoints[3344]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{siteName}/slots/{slot}/diagnostics/{diagnosticCategory}/detectors/{detectorName}/execute", _endpoints[3345]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/region/{region}/databases/{databaseRid}/collections/{collectionRid}/partitions/metrics", _endpoints[3346]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/virtualMachineScaleSets/{virtualMachineScaleSetName}/virtualMachines/{virtualmachineIndex}/networkInterfaces/{networkInterfaceName}/ipconfigurations/{ipConfigurationName}/publicipaddresses/{publicIpAddressName}", _endpoints[3347]); + builder.AddEntry("/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationFabrics/{fabricName}/replicationProtectionContainers/{protectionContainerName}/replicationProtectedItems/{replicatedProtectedItemName}/recoveryPoints/{recoveryPointName}", _endpoints[3348]); + builder.AddEntry("/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupFabrics/{fabricName}/protectionContainers/{containerName}/protectedItems/{protectedItemName}/operationResults/{operationId}", _endpoints[3349]); + builder.AddEntry("/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupFabrics/{fabricName}/protectionContainers/{containerName}/protectedItems/{protectedItemName}/operationsStatus/{operationId}", _endpoints[3350]); + builder.AddEntry("/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupFabrics/{fabricName}/protectionContainers/{containerName}/protectedItems/{protectedItemName}/recoveryPoints/{recoveryPointId}", _endpoints[3351]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/databases/{databaseName}/vulnerabilityAssessments/{vulnerabilityAssessmentName}/rules/{ruleId}/baselines/{baselineName}", _endpoints[3352]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/jobAgents/{jobAgentName}/jobs/{jobName}/executions/{jobExecutionId}/steps/{stepName}", _endpoints[3353]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/jobAgents/{jobAgentName}/jobs/{jobName}/versions/{jobVersion}/steps/{stepName}", _endpoints[3354]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/instances/{instanceId}/processes/{processId}/modules/{baseAddress}", _endpoints[3355]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/instances/{instanceId}/processes/{processId}/threads/{threadId}", _endpoints[3356]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/region/{region}/databases/{databaseRid}/collections/{collectionRid}/partitionKeyRangeId/{partitionKeyRangeId}/metrics", _endpoints[3357]); + builder.AddEntry("/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupFabrics/{fabricName}/protectionContainers/{containerName}/protectedItems/{protectedItemName}/recoveryPoints/{recoveryPointId}/provisionInstantItemRecovery", _endpoints[3358]); + builder.AddEntry("/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupFabrics/{fabricName}/protectionContainers/{containerName}/protectedItems/{protectedItemName}/recoveryPoints/{recoveryPointId}/restore", _endpoints[3359]); + builder.AddEntry("/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupFabrics/{fabricName}/protectionContainers/{containerName}/protectedItems/{protectedItemName}/recoveryPoints/{recoveryPointId}/revokeInstantItemRecovery", _endpoints[3360]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/jobAgents/{jobAgentName}/jobs/{jobName}/executions/{jobExecutionId}/steps/{stepName}/targets", _endpoints[3361]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/jobAgents/{jobAgentName}/jobs/{jobName}/executions/{jobExecutionId}/steps/{stepName}/targets/{targetId}", _endpoints[3362]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/quotas/{quotaCounterKey}/{quotaPeriodKey}", _endpoints[3363]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Security/locations/{ascLocation}/alerts/{alertName}/{alertUpdateActionType}", _endpoints[3364]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Security/locations/{ascLocation}/jitNetworkAccessPolicies/{jitNetworkAccessPolicyName}/{jitNetworkAccessPolicyActionType}", _endpoints[3365]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Security/locations/{ascLocation}/tasks/{taskName}/{taskUpdateActionType}", _endpoints[3366]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/microsoft.insights/components/{resourceName}/{scopePath}", _endpoints[3367]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/dnsZones/{zoneName}/{recordType}", _endpoints[3368]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/microsoft.insights/components/{resourceName}/{scopePath}/item", _endpoints[3369]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/dnsZones/{zoneName}/{recordType}/{relativeRecordSetName}", _endpoints[3370]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/trafficmanagerprofiles/{profileName}/{endpointType}/{endpointName}", _endpoints[3371]); + builder.AddEntry("/apis/{apiId}/operations/{operationId}/policies/{policyId}", _endpoints[3372]); + builder.AddEntry("/apps/{appId}/versions/{versionId}/closedlists/{clEntityId}", _endpoints[3373]); + builder.AddEntry("/apps/{appId}/versions/{versionId}/compositeentities/{cEntityId}", _endpoints[3374]); + builder.AddEntry("/apps/{appId}/versions/{versionId}/customprebuiltdomains/{domainName}", _endpoints[3375]); + builder.AddEntry("/apps/{appId}/versions/{versionId}/entities/{entityId}", _endpoints[3376]); + builder.AddEntry("/apps/{appId}/versions/{versionId}/examples/{exampleId}", _endpoints[3377]); + builder.AddEntry("/apps/{appId}/versions/{versionId}/hierarchicalentities/{hEntityId}", _endpoints[3378]); + builder.AddEntry("/apps/{appId}/versions/{versionId}/intents/{intentId}", _endpoints[3379]); + builder.AddEntry("/apps/{appId}/versions/{versionId}/patternanyentities/{entityId}", _endpoints[3380]); + builder.AddEntry("/apps/{appId}/versions/{versionId}/patternrules/{patternId}", _endpoints[3381]); + builder.AddEntry("/apps/{appId}/versions/{versionId}/patterns/{patternId}", _endpoints[3382]); + builder.AddEntry("/apps/{appId}/versions/{versionId}/phraselists/{phraselistId}", _endpoints[3383]); + builder.AddEntry("/apps/{appId}/versions/{versionId}/prebuilts/{prebuiltId}", _endpoints[3384]); + builder.AddEntry("/apps/{appId}/versions/{versionId}/regexentities/{regexEntityId}", _endpoints[3385]); + builder.AddEntry("/jobs/{jobId}/tasks/{taskId}/files/{filePath}", _endpoints[3386]); + builder.AddEntry("/persongroups/{personGroupId}/persons/{personId}/persistedFaces/{persistedFaceId}", _endpoints[3387]); + builder.AddEntry("/pools/{poolId}/nodes/{nodeId}/files/{filePath}", _endpoints[3388]); + builder.AddEntry("/pools/{poolId}/nodes/{nodeId}/users/{userName}", _endpoints[3389]); + builder.AddEntry("/subscriptions/{subscriptionId}/tagNames/{tagName}/tagValues/{tagValue}", _endpoints[3390]); + builder.AddEntry("/apps/{appId}/versions/{versionId}/closedlists/{clEntityId}/sublists", _endpoints[3391]); + builder.AddEntry("/apps/{appId}/versions/{versionId}/closedlists/{entityId}/roles", _endpoints[3392]); + builder.AddEntry("/apps/{appId}/versions/{versionId}/compositeentities/{cEntityId}/children", _endpoints[3393]); + builder.AddEntry("/apps/{appId}/versions/{versionId}/compositeentities/{cEntityId}/roles", _endpoints[3394]); + builder.AddEntry("/apps/{appId}/versions/{versionId}/customprebuiltentities/{entityId}/roles", _endpoints[3395]); + builder.AddEntry("/apps/{appId}/versions/{versionId}/entities/{entityId}/roles", _endpoints[3396]); + builder.AddEntry("/apps/{appId}/versions/{versionId}/entities/{entityId}/suggest", _endpoints[3397]); + builder.AddEntry("/apps/{appId}/versions/{versionId}/hierarchicalentities/{hEntityId}/children", _endpoints[3398]); + builder.AddEntry("/apps/{appId}/versions/{versionId}/hierarchicalentities/{hEntityId}/roles", _endpoints[3399]); + builder.AddEntry("/apps/{appId}/versions/{versionId}/intents/{intentId}/patternrules", _endpoints[3400]); + builder.AddEntry("/apps/{appId}/versions/{versionId}/intents/{intentId}/suggest", _endpoints[3401]); + builder.AddEntry("/apps/{appId}/versions/{versionId}/models/{modelId}/examples", _endpoints[3402]); + builder.AddEntry("/apps/{appId}/versions/{versionId}/patternanyentities/{entityId}/explicitlist", _endpoints[3403]); + builder.AddEntry("/apps/{appId}/versions/{versionId}/patternanyentities/{entityId}/roles", _endpoints[3404]); + builder.AddEntry("/apps/{appId}/versions/{versionId}/prebuilts/{entityId}/roles", _endpoints[3405]); + builder.AddEntry("/apps/{appId}/versions/{versionId}/regexentities/{entityId}/roles", _endpoints[3406]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/deployments/{deploymentName}/operations", _endpoints[3407]); + builder.AddEntry("/subscriptions/{subscriptionId}/providers/{authorizationNamespace}/policyAssignments/{policyAssignmentName}/providers/Microsoft.PolicyInsights/policyEvents/{policyEventsResource}/queryResults", _endpoints[3408]); + builder.AddEntry("/subscriptions/{subscriptionId}/providers/{authorizationNamespace}/policyAssignments/{policyAssignmentName}/providers/Microsoft.PolicyInsights/policyStates/{policyStatesResource}/queryResults", _endpoints[3409]); + builder.AddEntry("/subscriptions/{subscriptionId}/providers/{authorizationNamespace}/policyAssignments/{policyAssignmentName}/providers/Microsoft.PolicyInsights/policyStates/{policyStatesSummaryResource}/summarize", _endpoints[3410]); + builder.AddEntry("/subscriptions/{subscriptionId}/providers/{authorizationNamespace}/policyDefinitions/{policyDefinitionName}/providers/Microsoft.PolicyInsights/policyEvents/{policyEventsResource}/queryResults", _endpoints[3411]); + builder.AddEntry("/subscriptions/{subscriptionId}/providers/{authorizationNamespace}/policyDefinitions/{policyDefinitionName}/providers/Microsoft.PolicyInsights/policyStates/{policyStatesResource}/queryResults", _endpoints[3412]); + builder.AddEntry("/subscriptions/{subscriptionId}/providers/{authorizationNamespace}/policyDefinitions/{policyDefinitionName}/providers/Microsoft.PolicyInsights/policyStates/{policyStatesSummaryResource}/summarize", _endpoints[3413]); + builder.AddEntry("/subscriptions/{subscriptionId}/providers/{authorizationNamespace}/policySetDefinitions/{policySetDefinitionName}/providers/Microsoft.PolicyInsights/policyEvents/{policyEventsResource}/queryResults", _endpoints[3414]); + builder.AddEntry("/subscriptions/{subscriptionId}/providers/{authorizationNamespace}/policySetDefinitions/{policySetDefinitionName}/providers/Microsoft.PolicyInsights/policyStates/{policyStatesResource}/queryResults", _endpoints[3415]); + builder.AddEntry("/subscriptions/{subscriptionId}/providers/{authorizationNamespace}/policySetDefinitions/{policySetDefinitionName}/providers/Microsoft.PolicyInsights/policyStates/{policyStatesSummaryResource}/summarize", _endpoints[3416]); + builder.AddEntry("/apps/{appId}/versions/{versionId}/closedlists/{clEntityId}/sublists/{subListId}", _endpoints[3417]); + builder.AddEntry("/apps/{appId}/versions/{versionId}/closedlists/{entityId}/roles/{roleId}", _endpoints[3418]); + builder.AddEntry("/apps/{appId}/versions/{versionId}/compositeentities/{cEntityId}/children/{cChildId}", _endpoints[3419]); + builder.AddEntry("/apps/{appId}/versions/{versionId}/compositeentities/{cEntityId}/roles/{roleId}", _endpoints[3420]); + builder.AddEntry("/apps/{appId}/versions/{versionId}/customprebuiltentities/{entityId}/roles/{roleId}", _endpoints[3421]); + builder.AddEntry("/apps/{appId}/versions/{versionId}/entities/{entityId}/roles/{roleId}", _endpoints[3422]); + builder.AddEntry("/apps/{appId}/versions/{versionId}/hierarchicalentities/{hEntityId}/children/{hChildId}", _endpoints[3423]); + builder.AddEntry("/apps/{appId}/versions/{versionId}/hierarchicalentities/{hEntityId}/roles/{roleId}", _endpoints[3424]); + builder.AddEntry("/apps/{appId}/versions/{versionId}/patternanyentities/{entityId}/explicitlist/{itemId}", _endpoints[3425]); + builder.AddEntry("/apps/{appId}/versions/{versionId}/patternanyentities/{entityId}/roles/{roleId}", _endpoints[3426]); + builder.AddEntry("/apps/{appId}/versions/{versionId}/prebuilts/{entityId}/roles/{roleId}", _endpoints[3427]); + builder.AddEntry("/apps/{appId}/versions/{versionId}/regexentities/{entityId}/roles/{roleId}", _endpoints[3428]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/deployments/{deploymentName}/operations/{operationId}", _endpoints[3429]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/{authorizationNamespace}/policyAssignments/{policyAssignmentName}/providers/Microsoft.PolicyInsights/policyEvents/{policyEventsResource}/queryResults", _endpoints[3430]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/{authorizationNamespace}/policyAssignments/{policyAssignmentName}/providers/Microsoft.PolicyInsights/policyStates/{policyStatesResource}/queryResults", _endpoints[3431]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/{authorizationNamespace}/policyAssignments/{policyAssignmentName}/providers/Microsoft.PolicyInsights/policyStates/{policyStatesSummaryResource}/summarize", _endpoints[3432]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{providerNamespace}/{resourceTypeName}/{resourceName}/providers/Microsoft.EventGrid/eventSubscriptions", _endpoints[3433]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{providerNamespace}/{resourceTypeName}/{resourceName}/providers/Microsoft.EventGrid/eventTypes", _endpoints[3434]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/{providerName}/{resourceType}/{resourceName}/providers/Microsoft.OperationsManagement/ManagementAssociations/{managementAssociationName}", _endpoints[3435]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{parentResourcePath}/{resourceType}/{resourceName}", _endpoints[3436]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{parentResourcePath}/{resourceType}/{resourceName}/providers/Microsoft.Authorization/locks", _endpoints[3437]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{parentResourcePath}/{resourceType}/{resourceName}/providers/Microsoft.Authorization/permissions", _endpoints[3438]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{parentResourcePath}/{resourceType}/{resourceName}/providers/Microsoft.Authorization/policyAssignments", _endpoints[3439]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{parentResourcePath}/{resourceType}/{resourceName}/providers/Microsoft.Authorization/roleAssignments", _endpoints[3440]); + builder.AddEntry("/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{parentResourcePath}/{resourceType}/{resourceName}/providers/Microsoft.Authorization/locks/{lockName}", _endpoints[3441]); + builder.AddEntry("/apps/{appId}/events/{eventType}/{eventId}", _endpoints[3442]); + builder.AddEntry("/certificates/{certificate-name}/{certificate-version}", _endpoints[3443]); + builder.AddEntry("/keys/{key-name}/{key-version}", _endpoints[3444]); + builder.AddEntry("/quotas/{quotaCounterKey}/{quotaPeriodKey}", _endpoints[3445]); + builder.AddEntry("/secrets/{secret-name}/{secret-version}", _endpoints[3446]); + builder.AddEntry("/keys/{key-name}/{key-version}/decrypt", _endpoints[3447]); + builder.AddEntry("/keys/{key-name}/{key-version}/encrypt", _endpoints[3448]); + builder.AddEntry("/keys/{key-name}/{key-version}/sign", _endpoints[3449]); + builder.AddEntry("/keys/{key-name}/{key-version}/unwrapkey", _endpoints[3450]); + builder.AddEntry("/keys/{key-name}/{key-version}/verify", _endpoints[3451]); + builder.AddEntry("/keys/{key-name}/{key-version}/wrapkey", _endpoints[3452]); + builder.AddEntry("/{applicationDefinitionId}", _endpoints[3453]); + builder.AddEntry("/{projectId}/image", _endpoints[3454]); + builder.AddEntry("/{projectId}/url", _endpoints[3455]); + builder.AddEntry("/{tenantID}/applications", _endpoints[3456]); + builder.AddEntry("/{tenantID}/domains", _endpoints[3457]); + builder.AddEntry("/{tenantID}/getObjectsByObjectIds", _endpoints[3458]); + builder.AddEntry("/{tenantID}/groups", _endpoints[3459]); + builder.AddEntry("/{tenantID}/isMemberOf", _endpoints[3460]); + builder.AddEntry("/{tenantID}/me", _endpoints[3461]); + builder.AddEntry("/{tenantID}/servicePrincipals", _endpoints[3462]); + builder.AddEntry("/{tenantID}/users", _endpoints[3463]); + builder.AddEntry("/{projectId}/image/nostore", _endpoints[3464]); + builder.AddEntry("/{projectId}/url/nostore", _endpoints[3465]); + builder.AddEntry("/{resourceUri}/providers/microsoft.insights/calculatebaseline", _endpoints[3466]); + builder.AddEntry("/{resourceUri}/providers/microsoft.insights/diagnosticSettings", _endpoints[3467]); + builder.AddEntry("/{resourceUri}/providers/microsoft.insights/diagnosticSettingsCategories", _endpoints[3468]); + builder.AddEntry("/{resourceUri}/providers/microsoft.insights/metricDefinitions", _endpoints[3469]); + builder.AddEntry("/{resourceUri}/providers/microsoft.insights/metrics", _endpoints[3470]); + builder.AddEntry("/{resourceUri}/providers/Microsoft.ResourceHealth/availabilityStatuses", _endpoints[3471]); + builder.AddEntry("/{scope}/providers/Microsoft.Authorization/policyAssignments", _endpoints[3472]); + builder.AddEntry("/{scope}/providers/Microsoft.Authorization/roleAssignments", _endpoints[3473]); + builder.AddEntry("/{scope}/providers/Microsoft.Authorization/roleDefinitions", _endpoints[3474]); + builder.AddEntry("/{scope}/providers/Microsoft.Consumption/reservationDetails", _endpoints[3475]); + builder.AddEntry("/{scope}/providers/Microsoft.Consumption/reservationSummaries", _endpoints[3476]); + builder.AddEntry("/{scope}/providers/Microsoft.Consumption/usageDetails", _endpoints[3477]); + builder.AddEntry("/{scope}/providers/Microsoft.Resources/links", _endpoints[3478]); + builder.AddEntry("/{scope}/providers/Microsoft.Security/compliances", _endpoints[3479]); + builder.AddEntry("/{resourceUri}/providers/microsoft.insights/diagnosticSettings/service", _endpoints[3480]); + builder.AddEntry("/{resourceUri}/providers/Microsoft.ResourceHealth/availabilityStatuses/current", _endpoints[3481]); + builder.AddEntry("/{scope}/providers/Microsoft.PolicyInsights/policyEvents/$metadata", _endpoints[3482]); + builder.AddEntry("/{scope}/providers/Microsoft.PolicyInsights/policyStates/$metadata", _endpoints[3483]); + builder.AddEntry("/{resourceUri}/providers/Microsoft.Advisor/recommendations/{recommendationId}", _endpoints[3484]); + builder.AddEntry("/{resourceUri}/providers/microsoft.insights/baseline/{metricName}", _endpoints[3485]); + builder.AddEntry("/{resourceUri}/providers/microsoft.insights/diagnosticSettings/{name}", _endpoints[3486]); + builder.AddEntry("/{resourceUri}/providers/microsoft.insights/diagnosticSettingsCategories/{name}", _endpoints[3487]); + builder.AddEntry("/{scope}/providers/Microsoft.Authorization/locks/{lockName}", _endpoints[3488]); + builder.AddEntry("/{scope}/providers/Microsoft.Authorization/policyAssignments/{policyAssignmentName}", _endpoints[3489]); + builder.AddEntry("/{scope}/providers/Microsoft.Authorization/roleAssignments/{roleAssignmentName}", _endpoints[3490]); + builder.AddEntry("/{scope}/providers/Microsoft.Authorization/roleDefinitions/{roleDefinitionId}", _endpoints[3491]); + builder.AddEntry("/{scope}/providers/Microsoft.EventGrid/eventSubscriptions/{eventSubscriptionName}", _endpoints[3492]); + builder.AddEntry("/{scope}/providers/Microsoft.Security/compliances/{complianceName}", _endpoints[3493]); + builder.AddEntry("/{resourceId}/providers/Microsoft.PolicyInsights/policyEvents/{policyEventsResource}/queryResults", _endpoints[3494]); + builder.AddEntry("/{resourceId}/providers/Microsoft.PolicyInsights/policyStates/{policyStatesResource}/queryResults", _endpoints[3495]); + builder.AddEntry("/{resourceId}/providers/Microsoft.PolicyInsights/policyStates/{policyStatesSummaryResource}/summarize", _endpoints[3496]); + builder.AddEntry("/{scope}/providers/Microsoft.EventGrid/eventSubscriptions/{eventSubscriptionName}/getFullUrl", _endpoints[3497]); + builder.AddEntry("/{resourceUri}/providers/Microsoft.Advisor/recommendations/{recommendationId}/suppressions/{name}", _endpoints[3498]); + builder.AddEntry("/{tenantID}/applications/{applicationObjectId}", _endpoints[3499]); + builder.AddEntry("/{tenantID}/domains/{domainName}", _endpoints[3500]); + builder.AddEntry("/{tenantID}/groups/{objectId}", _endpoints[3501]); + builder.AddEntry("/{tenantID}/servicePrincipals/{objectId}", _endpoints[3502]); + builder.AddEntry("/{tenantID}/users/{upnOrObjectId}", _endpoints[3503]); + builder.AddEntry("/{projectId}/images/{imageId}/regionproposals", _endpoints[3504]); + builder.AddEntry("/{tenantID}/applications/{applicationObjectId}/keyCredentials", _endpoints[3505]); + builder.AddEntry("/{tenantID}/applications/{applicationObjectId}/owners", _endpoints[3506]); + builder.AddEntry("/{tenantID}/applications/{applicationObjectId}/passwordCredentials", _endpoints[3507]); + builder.AddEntry("/{tenantID}/groups/{objectId}/getMemberGroups", _endpoints[3508]); + builder.AddEntry("/{tenantID}/groups/{objectId}/members", _endpoints[3509]); + builder.AddEntry("/{tenantID}/servicePrincipals/{objectId}/keyCredentials", _endpoints[3510]); + builder.AddEntry("/{tenantID}/servicePrincipals/{objectId}/owners", _endpoints[3511]); + builder.AddEntry("/{tenantID}/servicePrincipals/{objectId}/passwordCredentials", _endpoints[3512]); + builder.AddEntry("/{tenantID}/users/{objectId}/getMemberGroups", _endpoints[3513]); + builder.AddEntry("/{tenantID}/applications/{applicationObjectId}/$links/owners", _endpoints[3514]); + builder.AddEntry("/{tenantID}/groups/{groupObjectId}/$links/members", _endpoints[3515]); + builder.AddEntry("/{tenantID}/groups/{groupObjectId}/$links/members/{memberObjectId}", _endpoints[3516]); + return builder.Build(); + } + } +} \ No newline at end of file diff --git a/benchmarks/Microsoft.AspNetCore.Routing.Performance/Matchers/DfaMatcher.cs b/benchmarks/Microsoft.AspNetCore.Routing.Performance/Matchers/DfaMatcher.cs new file mode 100644 index 0000000000..5283880b33 --- /dev/null +++ b/benchmarks/Microsoft.AspNetCore.Routing.Performance/Matchers/DfaMatcher.cs @@ -0,0 +1,353 @@ +// Copyright (c) .NET Foundation. All rights reserved. +// Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information. + +using System; +using System.Collections.Generic; +using System.Linq; +using System.Threading.Tasks; +using Microsoft.AspNetCore.Http; +using Microsoft.AspNetCore.Routing.Template; + +namespace Microsoft.AspNetCore.Routing.Matchers +{ + internal class DfaMatcher : Matcher + { + public static MatcherBuilder CreateBuilder() => new Builder(); + + private readonly State[] _states; + + private DfaMatcher(State[] states) + { + _states = states; + } + + public override Task MatchAsync(HttpContext httpContext, IEndpointFeature feature) + { + if (httpContext == null) + { + throw new ArgumentNullException(nameof(httpContext)); + } + + if (feature == null) + { + throw new ArgumentNullException(nameof(feature)); + } + + var states = _states; + var current = 0; + + var path = httpContext.Request.Path.Value; + + var start = 1; // PathString always has a leading slash + var length = 0; + var end = 0; + while ((end = path.IndexOf('/', start + 1)) >= 0) + { + current = states[current].Transitions.GetDestination(path, start, end - start); + start = end; + } + + // residue + length = path.Length - start; + if (length > 0) + { + current = states[current].Transitions.GetDestination(path, start, length); + } + + var matches = states[current].Matches; + feature.Endpoint = matches.Length == 0 ? null : matches[0]; + return Task.CompletedTask; + } + + private struct State + { + public bool IsAccepting; + public Endpoint[] Matches; + public JumpTable Transitions; + } + + private abstract class JumpTable + { + public abstract int GetDestination(string text, int start, int length); + } + + private class JumpTableBuilder + { + private readonly List<(string text, int destination)> _entries = new List<(string text, int destination)>(); + + public int Depth { get; set; } + + public int Exit { get; set; } + + public void AddEntry(string text, int destination) + { + _entries.Add((text, destination)); + } + + public JumpTable Build() + { + return new SimpleJumpTable(Depth, Exit, _entries.ToArray()); + } + } + + private class SimpleJumpTable : JumpTable + { + private readonly (string text, int destination)[] _entries; + private readonly int _depth; + private readonly int _exit; + + public SimpleJumpTable(int depth, int exit, (string text, int destination)[] entries) + { + _depth = depth; + _exit = exit; + _entries = entries; + } + + public override int GetDestination(string text, int start, int length) + { + for (var i = 0; i < _entries.Length; i++) + { + if (length == _entries[i].text.Length && + string.Compare( + text, + start, + _entries[i].text, + 0, + length, + StringComparison.OrdinalIgnoreCase) == 0) + { + return _entries[i].destination; + } + } + + return _exit; + } + } + + private class Entry + { + public int Order; + public decimal Precedence; + public RouteTemplate Pattern; + public Endpoint Endpoint; + } + + private class Node + { + public int Depth { get; set; } + + public List Matches { get; } = new List(); + + public Dictionary Literals { get; } = new Dictionary(); + } + + private class Builder : MatcherBuilder + { + private List _entries = new List(); + + public override void AddEntry(string pattern, MatcherEndpoint endpoint) + { + var parsed = TemplateParser.Parse(pattern); + _entries.Add(new Entry() + { + Order = 0, + Pattern = parsed, + Precedence = RoutePrecedence.ComputeInbound(parsed), + Endpoint = endpoint, + }); + } + + public override Matcher Build() + { + Sort(_entries); + + var root = new Node() { Depth = -1 }; + + // Since we overlay parameters onto the literal entries, we do two passes, first we create + // all of the literal nodes, then we 'spread' parameters + for (var i = 0; i < _entries.Count; i++) + { + var entry = _entries[i]; + + var parent = root; + + for (var depth = 0; depth < entry.Pattern.Segments.Count; depth++) + { + var segment = entry.Pattern.Segments[depth]; + + if (segment.IsSimple && segment.Parts[0].IsLiteral) + { + if (!parent.Literals.TryGetValue(segment.Parts[0].Text, out var next)) + { + next = new Node() { Depth = depth, }; + parent.Literals.Add(segment.Parts[0].Text, next); + } + + parent = next; + } + else if (segment.IsSimple && segment.Parts[0].IsParameter) + { + if (!parent.Literals.TryGetValue("*", out var next)) + { + next = new Node() { Depth = depth, }; + parent.Literals.Add("*", next); + } + + parent = next; + } + } + + parent.Matches.Add(entry); + } + + for (var i = 0; i < _entries.Count; i++) + { + var entry = _entries[i]; + + var parents = new List() { root, }; + + for (var depth = 0; depth < entry.Pattern.Segments.Count; depth++) + { + var segment = entry.Pattern.Segments[depth]; + + if (segment.IsSimple && segment.Parts[0].IsLiteral) + { + var next = new List(); + for (var j = 0; j < parents.Count; j++) + { + if (!parents[j].Literals.TryGetValue(segment.Parts[0].Text, out var child)) + { + child = new Node() { Depth = depth, }; + if (parents[j].Literals.TryGetValue("*", out var parameter)) + { + child.Matches.AddRange(parameter.Matches); + foreach (var kvp in parameter.Literals) + { + child.Literals.Add(kvp.Key, DeepCopy(kvp.Value)); + } + } + + parents[j].Literals.Add(segment.Parts[0].Text, child); + } + + next.Add(child); + } + + parents = next; + } + else if (segment.IsSimple && segment.Parts[0].IsParameter) + { + var next = new List(); + for (var j = 0; j < parents.Count; j++) + { + next.AddRange(parents[j].Literals.Values); + } + + parents = next; + } + } + + for (var j = 0; j < parents.Count; j++) + { + if (!parents[j].Matches.Contains(entry)) + { + parents[j].Matches.Add(entry); + } + } + } + + var states = new List(); + var tables = new List(); + AddNode(root, states, tables); + + var exit = states.Count; + states.Add(new State() { IsAccepting = false, Matches = Array.Empty(), }); + tables.Add(new JumpTableBuilder() { Exit = exit, }); + + for (var i = 0; i < tables.Count; i++) + { + if (tables[i].Exit == -1) + { + tables[i].Exit = exit; + } + } + + for (var i = 0; i < states.Count; i++) + { + states[i] = new State() + { + IsAccepting = states[i].IsAccepting, + Matches = states[i].Matches, + Transitions = tables[i].Build(), + }; + } + + return new DfaMatcher(states.ToArray()); + } + + private static int AddNode(Node node, List states, List tables) + { + Sort(node.Matches); + + var index = states.Count; + states.Add(new State() { Matches = node.Matches.Select(e => e.Endpoint).ToArray(), IsAccepting = node.Matches.Count > 0 }); + + var table = new JumpTableBuilder() { Depth = node.Depth, }; + tables.Add(table); + + foreach (var kvp in node.Literals) + { + if (kvp.Key == "*") + { + continue; + } + + var transition = AddNode(kvp.Value, states, tables); + table.AddEntry(kvp.Key, transition); + } + + var exitIndex = -1; + if (node.Literals.TryGetValue("*", out var exit)) + { + exitIndex = AddNode(exit, states, tables); + } + + table.Exit = exitIndex; + return index; + } + + private static void Sort(List entries) + { + entries.Sort((x, y) => + { + var comparison = x.Order.CompareTo(y.Order); + if (comparison != 0) + { + return comparison; + } + + comparison = y.Precedence.CompareTo(x.Precedence); + if (comparison != 0) + { + return comparison; + } + + return x.Pattern.TemplateText.CompareTo(y.Pattern.TemplateText); + }); + } + + private static Node DeepCopy(Node node) + { + var copy = new Node() { Depth = node.Depth, }; + copy.Matches.AddRange(node.Matches); + + foreach (var kvp in node.Literals) + { + copy.Literals.Add(kvp.Key, DeepCopy(kvp.Value)); + } + + return node; + } + } + } +} diff --git a/benchmarks/Microsoft.AspNetCore.Routing.Performance/Matchers/GithubMatcherBenchmark.cs b/benchmarks/Microsoft.AspNetCore.Routing.Performance/Matchers/GithubMatcherBenchmark.cs new file mode 100644 index 0000000000..35d8058fdc --- /dev/null +++ b/benchmarks/Microsoft.AspNetCore.Routing.Performance/Matchers/GithubMatcherBenchmark.cs @@ -0,0 +1,51 @@ +// Copyright (c) .NET Foundation. All rights reserved. +// Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information. + +using System.Threading.Tasks; +using BenchmarkDotNet.Attributes; + +namespace Microsoft.AspNetCore.Routing.Matchers +{ + // Generated from https://github.com/APIs-guru/openapi-directory + // Use https://editor2.swagger.io/ to convert from yaml to json- + public partial class GithubMatcherBenchmark : MatcherBenchmarkBase + { + private Matcher _route; + private Matcher _tree; + + [GlobalSetup] + public void Setup() + { + SetupEndpoints(); + + SetupRequests(); + + _route = SetupMatcher(RouteMatcher.CreateBuilder()); + _tree = SetupMatcher(TreeRouterMatcher.CreateBuilder()); + } + + [Benchmark(OperationsPerInvoke = EndpointCount)] + public async Task LegacyRoute() + { + var feature = new EndpointFeature(); + for (var i = 0; i < EndpointCount; i++) + { + var httpContext = _requests[i]; + await _route.MatchAsync(httpContext, feature); + Validate(httpContext, _endpoints[i], feature.Endpoint); + } + } + + [Benchmark(OperationsPerInvoke = EndpointCount)] + public async Task LegacyTreeRouter() + { + var feature = new EndpointFeature(); + for (var i = 0; i < EndpointCount; i++) + { + var httpContext = _requests[i]; + await _tree.MatchAsync(httpContext, feature); + Validate(httpContext, _endpoints[i], feature.Endpoint); + } + } + } +} \ No newline at end of file diff --git a/benchmarks/Microsoft.AspNetCore.Routing.Performance/Matchers/GithubMatcherBenchmark.generated.cs b/benchmarks/Microsoft.AspNetCore.Routing.Performance/Matchers/GithubMatcherBenchmark.generated.cs new file mode 100644 index 0000000000..bf0ef0f4dc --- /dev/null +++ b/benchmarks/Microsoft.AspNetCore.Routing.Performance/Matchers/GithubMatcherBenchmark.generated.cs @@ -0,0 +1,959 @@ + +// Copyright (c) .NET Foundation. All rights reserved. +// Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information. + +using Microsoft.AspNetCore.Http; + +namespace Microsoft.AspNetCore.Routing.Matchers +{ + // This code was generated by the Swaggatherer + public partial class GithubMatcherBenchmark : MatcherBenchmarkBase + { + private const int EndpointCount = 155; + + private void SetupEndpoints() + { + _endpoints = new MatcherEndpoint[155]; + _endpoints[0] = CreateEndpoint("/emojis"); + _endpoints[1] = CreateEndpoint("/events"); + _endpoints[2] = CreateEndpoint("/feeds"); + _endpoints[3] = CreateEndpoint("/gists"); + _endpoints[4] = CreateEndpoint("/issues"); + _endpoints[5] = CreateEndpoint("/markdown"); + _endpoints[6] = CreateEndpoint("/meta"); + _endpoints[7] = CreateEndpoint("/notifications"); + _endpoints[8] = CreateEndpoint("/rate_limit"); + _endpoints[9] = CreateEndpoint("/repositories"); + _endpoints[10] = CreateEndpoint("/user"); + _endpoints[11] = CreateEndpoint("/users"); + _endpoints[12] = CreateEndpoint("/gists/public"); + _endpoints[13] = CreateEndpoint("/gists/starred"); + _endpoints[14] = CreateEndpoint("/gitignore/templates"); + _endpoints[15] = CreateEndpoint("/markdown/raw"); + _endpoints[16] = CreateEndpoint("/search/code"); + _endpoints[17] = CreateEndpoint("/search/issues"); + _endpoints[18] = CreateEndpoint("/search/repositories"); + _endpoints[19] = CreateEndpoint("/search/users"); + _endpoints[20] = CreateEndpoint("/user/emails"); + _endpoints[21] = CreateEndpoint("/user/followers"); + _endpoints[22] = CreateEndpoint("/user/following"); + _endpoints[23] = CreateEndpoint("/user/issues"); + _endpoints[24] = CreateEndpoint("/user/keys"); + _endpoints[25] = CreateEndpoint("/user/orgs"); + _endpoints[26] = CreateEndpoint("/user/repos"); + _endpoints[27] = CreateEndpoint("/user/starred"); + _endpoints[28] = CreateEndpoint("/user/subscriptions"); + _endpoints[29] = CreateEndpoint("/user/teams"); + _endpoints[30] = CreateEndpoint("/legacy/repos/search/{keyword}"); + _endpoints[31] = CreateEndpoint("/legacy/user/email/{email}"); + _endpoints[32] = CreateEndpoint("/legacy/user/search/{keyword}"); + _endpoints[33] = CreateEndpoint("/legacy/issues/search/{owner}/{repository}/{state}/{keyword}"); + _endpoints[34] = CreateEndpoint("/gitignore/templates/{language}"); + _endpoints[35] = CreateEndpoint("/notifications/threads/{id}"); + _endpoints[36] = CreateEndpoint("/user/following/{username}"); + _endpoints[37] = CreateEndpoint("/user/keys/{keyId}"); + _endpoints[38] = CreateEndpoint("/notifications/threads/{id}/subscription"); + _endpoints[39] = CreateEndpoint("/user/starred/{owner}/{repo}"); + _endpoints[40] = CreateEndpoint("/user/subscriptions/{owner}/{repo}"); + _endpoints[41] = CreateEndpoint("/gists/{id}"); + _endpoints[42] = CreateEndpoint("/orgs/{org}"); + _endpoints[43] = CreateEndpoint("/teams/{teamId}"); + _endpoints[44] = CreateEndpoint("/users/{username}"); + _endpoints[45] = CreateEndpoint("/gists/{id}/comments"); + _endpoints[46] = CreateEndpoint("/gists/{id}/forks"); + _endpoints[47] = CreateEndpoint("/gists/{id}/star"); + _endpoints[48] = CreateEndpoint("/orgs/{org}/events"); + _endpoints[49] = CreateEndpoint("/orgs/{org}/issues"); + _endpoints[50] = CreateEndpoint("/orgs/{org}/members"); + _endpoints[51] = CreateEndpoint("/orgs/{org}/public_members"); + _endpoints[52] = CreateEndpoint("/orgs/{org}/repos"); + _endpoints[53] = CreateEndpoint("/orgs/{org}/teams"); + _endpoints[54] = CreateEndpoint("/teams/{teamId}/members"); + _endpoints[55] = CreateEndpoint("/teams/{teamId}/repos"); + _endpoints[56] = CreateEndpoint("/users/{username}/events"); + _endpoints[57] = CreateEndpoint("/users/{username}/followers"); + _endpoints[58] = CreateEndpoint("/users/{username}/gists"); + _endpoints[59] = CreateEndpoint("/users/{username}/keys"); + _endpoints[60] = CreateEndpoint("/users/{username}/orgs"); + _endpoints[61] = CreateEndpoint("/users/{username}/received_events"); + _endpoints[62] = CreateEndpoint("/users/{username}/repos"); + _endpoints[63] = CreateEndpoint("/users/{username}/starred"); + _endpoints[64] = CreateEndpoint("/users/{username}/subscriptions"); + _endpoints[65] = CreateEndpoint("/users/{username}/received_events/public"); + _endpoints[66] = CreateEndpoint("/users/{username}/events/orgs/{org}"); + _endpoints[67] = CreateEndpoint("/gists/{id}/comments/{commentId}"); + _endpoints[68] = CreateEndpoint("/orgs/{org}/members/{username}"); + _endpoints[69] = CreateEndpoint("/orgs/{org}/public_members/{username}"); + _endpoints[70] = CreateEndpoint("/teams/{teamId}/members/{username}"); + _endpoints[71] = CreateEndpoint("/teams/{teamId}/memberships/{username}"); + _endpoints[72] = CreateEndpoint("/users/{username}/following/{targetUser}"); + _endpoints[73] = CreateEndpoint("/teams/{teamId}/repos/{owner}/{repo}"); + _endpoints[74] = CreateEndpoint("/repos/{owner}/{repo}"); + _endpoints[75] = CreateEndpoint("/networks/{owner}/{repo}/events"); + _endpoints[76] = CreateEndpoint("/repos/{owner}/{repo}/assignees"); + _endpoints[77] = CreateEndpoint("/repos/{owner}/{repo}/branches"); + _endpoints[78] = CreateEndpoint("/repos/{owner}/{repo}/collaborators"); + _endpoints[79] = CreateEndpoint("/repos/{owner}/{repo}/comments"); + _endpoints[80] = CreateEndpoint("/repos/{owner}/{repo}/commits"); + _endpoints[81] = CreateEndpoint("/repos/{owner}/{repo}/contributors"); + _endpoints[82] = CreateEndpoint("/repos/{owner}/{repo}/deployments"); + _endpoints[83] = CreateEndpoint("/repos/{owner}/{repo}/downloads"); + _endpoints[84] = CreateEndpoint("/repos/{owner}/{repo}/events"); + _endpoints[85] = CreateEndpoint("/repos/{owner}/{repo}/forks"); + _endpoints[86] = CreateEndpoint("/repos/{owner}/{repo}/hooks"); + _endpoints[87] = CreateEndpoint("/repos/{owner}/{repo}/issues"); + _endpoints[88] = CreateEndpoint("/repos/{owner}/{repo}/keys"); + _endpoints[89] = CreateEndpoint("/repos/{owner}/{repo}/labels"); + _endpoints[90] = CreateEndpoint("/repos/{owner}/{repo}/languages"); + _endpoints[91] = CreateEndpoint("/repos/{owner}/{repo}/merges"); + _endpoints[92] = CreateEndpoint("/repos/{owner}/{repo}/milestones"); + _endpoints[93] = CreateEndpoint("/repos/{owner}/{repo}/notifications"); + _endpoints[94] = CreateEndpoint("/repos/{owner}/{repo}/pulls"); + _endpoints[95] = CreateEndpoint("/repos/{owner}/{repo}/readme"); + _endpoints[96] = CreateEndpoint("/repos/{owner}/{repo}/releases"); + _endpoints[97] = CreateEndpoint("/repos/{owner}/{repo}/stargazers"); + _endpoints[98] = CreateEndpoint("/repos/{owner}/{repo}/subscribers"); + _endpoints[99] = CreateEndpoint("/repos/{owner}/{repo}/subscription"); + _endpoints[100] = CreateEndpoint("/repos/{owner}/{repo}/tags"); + _endpoints[101] = CreateEndpoint("/repos/{owner}/{repo}/teams"); + _endpoints[102] = CreateEndpoint("/repos/{owner}/{repo}/watchers"); + _endpoints[103] = CreateEndpoint("/repos/{owner}/{repo}/git/blobs"); + _endpoints[104] = CreateEndpoint("/repos/{owner}/{repo}/git/commits"); + _endpoints[105] = CreateEndpoint("/repos/{owner}/{repo}/git/refs"); + _endpoints[106] = CreateEndpoint("/repos/{owner}/{repo}/git/tags"); + _endpoints[107] = CreateEndpoint("/repos/{owner}/{repo}/git/trees"); + _endpoints[108] = CreateEndpoint("/repos/{owner}/{repo}/issues/comments"); + _endpoints[109] = CreateEndpoint("/repos/{owner}/{repo}/issues/events"); + _endpoints[110] = CreateEndpoint("/repos/{owner}/{repo}/pulls/comments"); + _endpoints[111] = CreateEndpoint("/repos/{owner}/{repo}/stats/code_frequency"); + _endpoints[112] = CreateEndpoint("/repos/{owner}/{repo}/stats/commit_activity"); + _endpoints[113] = CreateEndpoint("/repos/{owner}/{repo}/stats/contributors"); + _endpoints[114] = CreateEndpoint("/repos/{owner}/{repo}/stats/participation"); + _endpoints[115] = CreateEndpoint("/repos/{owner}/{repo}/stats/punch_card"); + _endpoints[116] = CreateEndpoint("/repos/{owner}/{repo}/git/blobs/{shaCode}"); + _endpoints[117] = CreateEndpoint("/repos/{owner}/{repo}/git/commits/{shaCode}"); + _endpoints[118] = CreateEndpoint("/repos/{owner}/{repo}/git/refs/{ref}"); + _endpoints[119] = CreateEndpoint("/repos/{owner}/{repo}/git/tags/{shaCode}"); + _endpoints[120] = CreateEndpoint("/repos/{owner}/{repo}/git/trees/{shaCode}"); + _endpoints[121] = CreateEndpoint("/repos/{owner}/{repo}/issues/comments/{commentId}"); + _endpoints[122] = CreateEndpoint("/repos/{owner}/{repo}/issues/events/{eventId}"); + _endpoints[123] = CreateEndpoint("/repos/{owner}/{repo}/pulls/comments/{commentId}"); + _endpoints[124] = CreateEndpoint("/repos/{owner}/{repo}/releases/assets/{id}"); + _endpoints[125] = CreateEndpoint("/repos/{owner}/{repo}/assignees/{assignee}"); + _endpoints[126] = CreateEndpoint("/repos/{owner}/{repo}/branches/{branch}"); + _endpoints[127] = CreateEndpoint("/repos/{owner}/{repo}/collaborators/{user}"); + _endpoints[128] = CreateEndpoint("/repos/{owner}/{repo}/comments/{commentId}"); + _endpoints[129] = CreateEndpoint("/repos/{owner}/{repo}/commits/{shaCode}"); + _endpoints[130] = CreateEndpoint("/repos/{owner}/{repo}/contents/{path}"); + _endpoints[131] = CreateEndpoint("/repos/{owner}/{repo}/downloads/{downloadId}"); + _endpoints[132] = CreateEndpoint("/repos/{owner}/{repo}/hooks/{hookId}"); + _endpoints[133] = CreateEndpoint("/repos/{owner}/{repo}/issues/{number}"); + _endpoints[134] = CreateEndpoint("/repos/{owner}/{repo}/keys/{keyId}"); + _endpoints[135] = CreateEndpoint("/repos/{owner}/{repo}/labels/{name}"); + _endpoints[136] = CreateEndpoint("/repos/{owner}/{repo}/milestones/{number}"); + _endpoints[137] = CreateEndpoint("/repos/{owner}/{repo}/pulls/{number}"); + _endpoints[138] = CreateEndpoint("/repos/{owner}/{repo}/releases/{id}"); + _endpoints[139] = CreateEndpoint("/repos/{owner}/{repo}/statuses/{ref}"); + _endpoints[140] = CreateEndpoint("/repos/{owner}/{repo}/commits/{ref}/status"); + _endpoints[141] = CreateEndpoint("/repos/{owner}/{repo}/commits/{shaCode}/comments"); + _endpoints[142] = CreateEndpoint("/repos/{owner}/{repo}/deployments/{id}/statuses"); + _endpoints[143] = CreateEndpoint("/repos/{owner}/{repo}/hooks/{hookId}/tests"); + _endpoints[144] = CreateEndpoint("/repos/{owner}/{repo}/issues/{number}/comments"); + _endpoints[145] = CreateEndpoint("/repos/{owner}/{repo}/issues/{number}/events"); + _endpoints[146] = CreateEndpoint("/repos/{owner}/{repo}/issues/{number}/labels"); + _endpoints[147] = CreateEndpoint("/repos/{owner}/{repo}/milestones/{number}/labels"); + _endpoints[148] = CreateEndpoint("/repos/{owner}/{repo}/pulls/{number}/comments"); + _endpoints[149] = CreateEndpoint("/repos/{owner}/{repo}/pulls/{number}/commits"); + _endpoints[150] = CreateEndpoint("/repos/{owner}/{repo}/pulls/{number}/files"); + _endpoints[151] = CreateEndpoint("/repos/{owner}/{repo}/pulls/{number}/merge"); + _endpoints[152] = CreateEndpoint("/repos/{owner}/{repo}/releases/{id}/assets"); + _endpoints[153] = CreateEndpoint("/repos/{owner}/{repo}/issues/{number}/labels/{name}"); + _endpoints[154] = CreateEndpoint("/repos/{owner}/{repo}/{archive_format}/{path}"); + } + + private void SetupRequests() + { + _requests = new HttpContext[155]; + _requests[0] = new DefaultHttpContext(); + _requests[0].RequestServices = CreateServices(); + _requests[0].Request.Method = "GET"; + _requests[0].Request.Path = "/emojis"; + _requests[1] = new DefaultHttpContext(); + _requests[1].RequestServices = CreateServices(); + _requests[1].Request.Method = "GET"; + _requests[1].Request.Path = "/events"; + _requests[2] = new DefaultHttpContext(); + _requests[2].RequestServices = CreateServices(); + _requests[2].Request.Method = "GET"; + _requests[2].Request.Path = "/feeds"; + _requests[3] = new DefaultHttpContext(); + _requests[3].RequestServices = CreateServices(); + _requests[3].Request.Method = "POST"; + _requests[3].Request.Path = "/gists"; + _requests[4] = new DefaultHttpContext(); + _requests[4].RequestServices = CreateServices(); + _requests[4].Request.Method = "GET"; + _requests[4].Request.Path = "/issues"; + _requests[5] = new DefaultHttpContext(); + _requests[5].RequestServices = CreateServices(); + _requests[5].Request.Method = "POST"; + _requests[5].Request.Path = "/markdown"; + _requests[6] = new DefaultHttpContext(); + _requests[6].RequestServices = CreateServices(); + _requests[6].Request.Method = "GET"; + _requests[6].Request.Path = "/meta"; + _requests[7] = new DefaultHttpContext(); + _requests[7].RequestServices = CreateServices(); + _requests[7].Request.Method = "PUT"; + _requests[7].Request.Path = "/notifications"; + _requests[8] = new DefaultHttpContext(); + _requests[8].RequestServices = CreateServices(); + _requests[8].Request.Method = "GET"; + _requests[8].Request.Path = "/rate_limit"; + _requests[9] = new DefaultHttpContext(); + _requests[9].RequestServices = CreateServices(); + _requests[9].Request.Method = "GET"; + _requests[9].Request.Path = "/repositories"; + _requests[10] = new DefaultHttpContext(); + _requests[10].RequestServices = CreateServices(); + _requests[10].Request.Method = "PATCH"; + _requests[10].Request.Path = "/user"; + _requests[11] = new DefaultHttpContext(); + _requests[11].RequestServices = CreateServices(); + _requests[11].Request.Method = "GET"; + _requests[11].Request.Path = "/users"; + _requests[12] = new DefaultHttpContext(); + _requests[12].RequestServices = CreateServices(); + _requests[12].Request.Method = "GET"; + _requests[12].Request.Path = "/gists/public"; + _requests[13] = new DefaultHttpContext(); + _requests[13].RequestServices = CreateServices(); + _requests[13].Request.Method = "GET"; + _requests[13].Request.Path = "/gists/starred"; + _requests[14] = new DefaultHttpContext(); + _requests[14].RequestServices = CreateServices(); + _requests[14].Request.Method = "GET"; + _requests[14].Request.Path = "/gitignore/templates"; + _requests[15] = new DefaultHttpContext(); + _requests[15].RequestServices = CreateServices(); + _requests[15].Request.Method = "POST"; + _requests[15].Request.Path = "/markdown/raw"; + _requests[16] = new DefaultHttpContext(); + _requests[16].RequestServices = CreateServices(); + _requests[16].Request.Method = "GET"; + _requests[16].Request.Path = "/search/code"; + _requests[17] = new DefaultHttpContext(); + _requests[17].RequestServices = CreateServices(); + _requests[17].Request.Method = "GET"; + _requests[17].Request.Path = "/search/issues"; + _requests[18] = new DefaultHttpContext(); + _requests[18].RequestServices = CreateServices(); + _requests[18].Request.Method = "GET"; + _requests[18].Request.Path = "/search/repositories"; + _requests[19] = new DefaultHttpContext(); + _requests[19].RequestServices = CreateServices(); + _requests[19].Request.Method = "GET"; + _requests[19].Request.Path = "/search/users"; + _requests[20] = new DefaultHttpContext(); + _requests[20].RequestServices = CreateServices(); + _requests[20].Request.Method = "POST"; + _requests[20].Request.Path = "/user/emails"; + _requests[21] = new DefaultHttpContext(); + _requests[21].RequestServices = CreateServices(); + _requests[21].Request.Method = "GET"; + _requests[21].Request.Path = "/user/followers"; + _requests[22] = new DefaultHttpContext(); + _requests[22].RequestServices = CreateServices(); + _requests[22].Request.Method = "GET"; + _requests[22].Request.Path = "/user/following"; + _requests[23] = new DefaultHttpContext(); + _requests[23].RequestServices = CreateServices(); + _requests[23].Request.Method = "GET"; + _requests[23].Request.Path = "/user/issues"; + _requests[24] = new DefaultHttpContext(); + _requests[24].RequestServices = CreateServices(); + _requests[24].Request.Method = "POST"; + _requests[24].Request.Path = "/user/keys"; + _requests[25] = new DefaultHttpContext(); + _requests[25].RequestServices = CreateServices(); + _requests[25].Request.Method = "GET"; + _requests[25].Request.Path = "/user/orgs"; + _requests[26] = new DefaultHttpContext(); + _requests[26].RequestServices = CreateServices(); + _requests[26].Request.Method = "POST"; + _requests[26].Request.Path = "/user/repos"; + _requests[27] = new DefaultHttpContext(); + _requests[27].RequestServices = CreateServices(); + _requests[27].Request.Method = "GET"; + _requests[27].Request.Path = "/user/starred"; + _requests[28] = new DefaultHttpContext(); + _requests[28].RequestServices = CreateServices(); + _requests[28].Request.Method = "GET"; + _requests[28].Request.Path = "/user/subscriptions"; + _requests[29] = new DefaultHttpContext(); + _requests[29].RequestServices = CreateServices(); + _requests[29].Request.Method = "GET"; + _requests[29].Request.Path = "/user/teams"; + _requests[30] = new DefaultHttpContext(); + _requests[30].RequestServices = CreateServices(); + _requests[30].Request.Method = "GET"; + _requests[30].Request.Path = "/legacy/repos/search/98f2805"; + _requests[31] = new DefaultHttpContext(); + _requests[31].RequestServices = CreateServices(); + _requests[31].Request.Method = "GET"; + _requests[31].Request.Path = "/legacy/user/email/d65b3"; + _requests[32] = new DefaultHttpContext(); + _requests[32].RequestServices = CreateServices(); + _requests[32].Request.Method = "GET"; + _requests[32].Request.Path = "/legacy/user/search/edc2298"; + _requests[33] = new DefaultHttpContext(); + _requests[33].RequestServices = CreateServices(); + _requests[33].Request.Method = "GET"; + _requests[33].Request.Path = "/legacy/issues/search/7f959/b12ea0da-b/49a3b/b371d06"; + _requests[34] = new DefaultHttpContext(); + _requests[34].RequestServices = CreateServices(); + _requests[34].Request.Method = "GET"; + _requests[34].Request.Path = "/gitignore/templates/0cb5dc32"; + _requests[35] = new DefaultHttpContext(); + _requests[35].RequestServices = CreateServices(); + _requests[35].Request.Method = "PATCH"; + _requests[35].Request.Path = "/notifications/threads/4bd8e"; + _requests[36] = new DefaultHttpContext(); + _requests[36].RequestServices = CreateServices(); + _requests[36].Request.Method = "PUT"; + _requests[36].Request.Path = "/user/following/e2c3a018"; + _requests[37] = new DefaultHttpContext(); + _requests[37].RequestServices = CreateServices(); + _requests[37].Request.Method = "GET"; + _requests[37].Request.Path = "/user/keys/7d82b"; + _requests[38] = new DefaultHttpContext(); + _requests[38].RequestServices = CreateServices(); + _requests[38].Request.Method = "PUT"; + _requests[38].Request.Path = "/notifications/threads/dd67d/subscription"; + _requests[39] = new DefaultHttpContext(); + _requests[39].RequestServices = CreateServices(); + _requests[39].Request.Method = "PUT"; + _requests[39].Request.Path = "/user/starred/0b99c/8783e"; + _requests[40] = new DefaultHttpContext(); + _requests[40].RequestServices = CreateServices(); + _requests[40].Request.Method = "PUT"; + _requests[40].Request.Path = "/user/subscriptions/384c7/2c13f"; + _requests[41] = new DefaultHttpContext(); + _requests[41].RequestServices = CreateServices(); + _requests[41].Request.Method = "PATCH"; + _requests[41].Request.Path = "/gists/e6d49"; + _requests[42] = new DefaultHttpContext(); + _requests[42].RequestServices = CreateServices(); + _requests[42].Request.Method = "PATCH"; + _requests[42].Request.Path = "/orgs/8ae9c"; + _requests[43] = new DefaultHttpContext(); + _requests[43].RequestServices = CreateServices(); + _requests[43].Request.Method = "PATCH"; + _requests[43].Request.Path = "/teams/4a7cc7"; + _requests[44] = new DefaultHttpContext(); + _requests[44].RequestServices = CreateServices(); + _requests[44].Request.Method = "GET"; + _requests[44].Request.Path = "/users/0a04d291"; + _requests[45] = new DefaultHttpContext(); + _requests[45].RequestServices = CreateServices(); + _requests[45].Request.Method = "POST"; + _requests[45].Request.Path = "/gists/08da6/comments"; + _requests[46] = new DefaultHttpContext(); + _requests[46].RequestServices = CreateServices(); + _requests[46].Request.Method = "POST"; + _requests[46].Request.Path = "/gists/fca54/forks"; + _requests[47] = new DefaultHttpContext(); + _requests[47].RequestServices = CreateServices(); + _requests[47].Request.Method = "PUT"; + _requests[47].Request.Path = "/gists/31f75/star"; + _requests[48] = new DefaultHttpContext(); + _requests[48].RequestServices = CreateServices(); + _requests[48].Request.Method = "GET"; + _requests[48].Request.Path = "/orgs/2b352/events"; + _requests[49] = new DefaultHttpContext(); + _requests[49].RequestServices = CreateServices(); + _requests[49].Request.Method = "GET"; + _requests[49].Request.Path = "/orgs/e08a9/issues"; + _requests[50] = new DefaultHttpContext(); + _requests[50].RequestServices = CreateServices(); + _requests[50].Request.Method = "GET"; + _requests[50].Request.Path = "/orgs/fddd5/members"; + _requests[51] = new DefaultHttpContext(); + _requests[51].RequestServices = CreateServices(); + _requests[51].Request.Method = "GET"; + _requests[51].Request.Path = "/orgs/a0018/public_members"; + _requests[52] = new DefaultHttpContext(); + _requests[52].RequestServices = CreateServices(); + _requests[52].Request.Method = "POST"; + _requests[52].Request.Path = "/orgs/459e6/repos"; + _requests[53] = new DefaultHttpContext(); + _requests[53].RequestServices = CreateServices(); + _requests[53].Request.Method = "POST"; + _requests[53].Request.Path = "/orgs/c50a3/teams"; + _requests[54] = new DefaultHttpContext(); + _requests[54].RequestServices = CreateServices(); + _requests[54].Request.Method = "GET"; + _requests[54].Request.Path = "/teams/6d7c70/members"; + _requests[55] = new DefaultHttpContext(); + _requests[55].RequestServices = CreateServices(); + _requests[55].Request.Method = "GET"; + _requests[55].Request.Path = "/teams/2c72a5/repos"; + _requests[56] = new DefaultHttpContext(); + _requests[56].RequestServices = CreateServices(); + _requests[56].Request.Method = "GET"; + _requests[56].Request.Path = "/users/0d7c82bc/events"; + _requests[57] = new DefaultHttpContext(); + _requests[57].RequestServices = CreateServices(); + _requests[57].Request.Method = "GET"; + _requests[57].Request.Path = "/users/dad59333/followers"; + _requests[58] = new DefaultHttpContext(); + _requests[58].RequestServices = CreateServices(); + _requests[58].Request.Method = "GET"; + _requests[58].Request.Path = "/users/d3cfc2f7/gists"; + _requests[59] = new DefaultHttpContext(); + _requests[59].RequestServices = CreateServices(); + _requests[59].Request.Method = "GET"; + _requests[59].Request.Path = "/users/74de59eb/keys"; + _requests[60] = new DefaultHttpContext(); + _requests[60].RequestServices = CreateServices(); + _requests[60].Request.Method = "GET"; + _requests[60].Request.Path = "/users/c8078ace/orgs"; + _requests[61] = new DefaultHttpContext(); + _requests[61].RequestServices = CreateServices(); + _requests[61].Request.Method = "GET"; + _requests[61].Request.Path = "/users/7bb096ec/received_events"; + _requests[62] = new DefaultHttpContext(); + _requests[62].RequestServices = CreateServices(); + _requests[62].Request.Method = "GET"; + _requests[62].Request.Path = "/users/8208dce8/repos"; + _requests[63] = new DefaultHttpContext(); + _requests[63].RequestServices = CreateServices(); + _requests[63].Request.Method = "GET"; + _requests[63].Request.Path = "/users/8da3e05c/starred"; + _requests[64] = new DefaultHttpContext(); + _requests[64].RequestServices = CreateServices(); + _requests[64].Request.Method = "GET"; + _requests[64].Request.Path = "/users/ddcd1749/subscriptions"; + _requests[65] = new DefaultHttpContext(); + _requests[65].RequestServices = CreateServices(); + _requests[65].Request.Method = "GET"; + _requests[65].Request.Path = "/users/528d35ef/received_events/public"; + _requests[66] = new DefaultHttpContext(); + _requests[66].RequestServices = CreateServices(); + _requests[66].Request.Method = "GET"; + _requests[66].Request.Path = "/users/9a36a9de/events/orgs/3864a"; + _requests[67] = new DefaultHttpContext(); + _requests[67].RequestServices = CreateServices(); + _requests[67].Request.Method = "PATCH"; + _requests[67].Request.Path = "/gists/29a38/comments/f955540b-"; + _requests[68] = new DefaultHttpContext(); + _requests[68].RequestServices = CreateServices(); + _requests[68].Request.Method = "GET"; + _requests[68].Request.Path = "/orgs/7b33c/members/fa7c6147"; + _requests[69] = new DefaultHttpContext(); + _requests[69].RequestServices = CreateServices(); + _requests[69].Request.Method = "PUT"; + _requests[69].Request.Path = "/orgs/97a4b/public_members/35fecf7f"; + _requests[70] = new DefaultHttpContext(); + _requests[70].RequestServices = CreateServices(); + _requests[70].Request.Method = "PUT"; + _requests[70].Request.Path = "/teams/969145/members/194d27ad"; + _requests[71] = new DefaultHttpContext(); + _requests[71].RequestServices = CreateServices(); + _requests[71].Request.Method = "PUT"; + _requests[71].Request.Path = "/teams/90a622/memberships/88477f8b"; + _requests[72] = new DefaultHttpContext(); + _requests[72].RequestServices = CreateServices(); + _requests[72].Request.Method = "GET"; + _requests[72].Request.Path = "/users/efc0aad4/following/bc58bd8c-7"; + _requests[73] = new DefaultHttpContext(); + _requests[73].RequestServices = CreateServices(); + _requests[73].Request.Method = "GET"; + _requests[73].Request.Path = "/teams/98d389/repos/74b04/05c77"; + _requests[74] = new DefaultHttpContext(); + _requests[74].RequestServices = CreateServices(); + _requests[74].Request.Method = "PATCH"; + _requests[74].Request.Path = "/repos/fbc82/446db"; + _requests[75] = new DefaultHttpContext(); + _requests[75].RequestServices = CreateServices(); + _requests[75].Request.Method = "GET"; + _requests[75].Request.Path = "/networks/d914d/57c64/events"; + _requests[76] = new DefaultHttpContext(); + _requests[76].RequestServices = CreateServices(); + _requests[76].Request.Method = "GET"; + _requests[76].Request.Path = "/repos/67afd/b1bc5/assignees"; + _requests[77] = new DefaultHttpContext(); + _requests[77].RequestServices = CreateServices(); + _requests[77].Request.Method = "GET"; + _requests[77].Request.Path = "/repos/b2f87/ced1b/branches"; + _requests[78] = new DefaultHttpContext(); + _requests[78].RequestServices = CreateServices(); + _requests[78].Request.Method = "GET"; + _requests[78].Request.Path = "/repos/4c0cd/a3d94/collaborators"; + _requests[79] = new DefaultHttpContext(); + _requests[79].RequestServices = CreateServices(); + _requests[79].Request.Method = "GET"; + _requests[79].Request.Path = "/repos/1eab2/4cbac/comments"; + _requests[80] = new DefaultHttpContext(); + _requests[80].RequestServices = CreateServices(); + _requests[80].Request.Method = "GET"; + _requests[80].Request.Path = "/repos/5981b/de5a8/commits"; + _requests[81] = new DefaultHttpContext(); + _requests[81].RequestServices = CreateServices(); + _requests[81].Request.Method = "GET"; + _requests[81].Request.Path = "/repos/7ad40/db6ee/contributors"; + _requests[82] = new DefaultHttpContext(); + _requests[82].RequestServices = CreateServices(); + _requests[82].Request.Method = "POST"; + _requests[82].Request.Path = "/repos/8972a/86bb7/deployments"; + _requests[83] = new DefaultHttpContext(); + _requests[83].RequestServices = CreateServices(); + _requests[83].Request.Method = "GET"; + _requests[83].Request.Path = "/repos/c619b/d8f5a/downloads"; + _requests[84] = new DefaultHttpContext(); + _requests[84].RequestServices = CreateServices(); + _requests[84].Request.Method = "GET"; + _requests[84].Request.Path = "/repos/91509/bb53c/events"; + _requests[85] = new DefaultHttpContext(); + _requests[85].RequestServices = CreateServices(); + _requests[85].Request.Method = "POST"; + _requests[85].Request.Path = "/repos/9da59/f78cd/forks"; + _requests[86] = new DefaultHttpContext(); + _requests[86].RequestServices = CreateServices(); + _requests[86].Request.Method = "POST"; + _requests[86].Request.Path = "/repos/1484a/4e077/hooks"; + _requests[87] = new DefaultHttpContext(); + _requests[87].RequestServices = CreateServices(); + _requests[87].Request.Method = "POST"; + _requests[87].Request.Path = "/repos/c5793/4f77e/issues"; + _requests[88] = new DefaultHttpContext(); + _requests[88].RequestServices = CreateServices(); + _requests[88].Request.Method = "POST"; + _requests[88].Request.Path = "/repos/d4e39/2dd22/keys"; + _requests[89] = new DefaultHttpContext(); + _requests[89].RequestServices = CreateServices(); + _requests[89].Request.Method = "POST"; + _requests[89].Request.Path = "/repos/bd4f0/9cc66/labels"; + _requests[90] = new DefaultHttpContext(); + _requests[90].RequestServices = CreateServices(); + _requests[90].Request.Method = "GET"; + _requests[90].Request.Path = "/repos/6b934/aa4bd/languages"; + _requests[91] = new DefaultHttpContext(); + _requests[91].RequestServices = CreateServices(); + _requests[91].Request.Method = "POST"; + _requests[91].Request.Path = "/repos/8830a/88a98/merges"; + _requests[92] = new DefaultHttpContext(); + _requests[92].RequestServices = CreateServices(); + _requests[92].Request.Method = "POST"; + _requests[92].Request.Path = "/repos/9ce99/29222/milestones"; + _requests[93] = new DefaultHttpContext(); + _requests[93].RequestServices = CreateServices(); + _requests[93].Request.Method = "PUT"; + _requests[93].Request.Path = "/repos/a106c/ac6a4/notifications"; + _requests[94] = new DefaultHttpContext(); + _requests[94].RequestServices = CreateServices(); + _requests[94].Request.Method = "POST"; + _requests[94].Request.Path = "/repos/0e52f/ca9e5/pulls"; + _requests[95] = new DefaultHttpContext(); + _requests[95].RequestServices = CreateServices(); + _requests[95].Request.Method = "GET"; + _requests[95].Request.Path = "/repos/37e7a/7aa03/readme"; + _requests[96] = new DefaultHttpContext(); + _requests[96].RequestServices = CreateServices(); + _requests[96].Request.Method = "POST"; + _requests[96].Request.Path = "/repos/cf543/a26e5/releases"; + _requests[97] = new DefaultHttpContext(); + _requests[97].RequestServices = CreateServices(); + _requests[97].Request.Method = "GET"; + _requests[97].Request.Path = "/repos/26330/2998f/stargazers"; + _requests[98] = new DefaultHttpContext(); + _requests[98].RequestServices = CreateServices(); + _requests[98].Request.Method = "GET"; + _requests[98].Request.Path = "/repos/4192a/8d012/subscribers"; + _requests[99] = new DefaultHttpContext(); + _requests[99].RequestServices = CreateServices(); + _requests[99].Request.Method = "PUT"; + _requests[99].Request.Path = "/repos/7bf2f/ec3e8/subscription"; + _requests[100] = new DefaultHttpContext(); + _requests[100].RequestServices = CreateServices(); + _requests[100].Request.Method = "GET"; + _requests[100].Request.Path = "/repos/9285d/2386a/tags"; + _requests[101] = new DefaultHttpContext(); + _requests[101].RequestServices = CreateServices(); + _requests[101].Request.Method = "GET"; + _requests[101].Request.Path = "/repos/ba9c2/c995c/teams"; + _requests[102] = new DefaultHttpContext(); + _requests[102].RequestServices = CreateServices(); + _requests[102].Request.Method = "GET"; + _requests[102].Request.Path = "/repos/15c8d/35395/watchers"; + _requests[103] = new DefaultHttpContext(); + _requests[103].RequestServices = CreateServices(); + _requests[103].Request.Method = "POST"; + _requests[103].Request.Path = "/repos/3e849/531ef/git/blobs"; + _requests[104] = new DefaultHttpContext(); + _requests[104].RequestServices = CreateServices(); + _requests[104].Request.Method = "POST"; + _requests[104].Request.Path = "/repos/3bcbc/5d8bc/git/commits"; + _requests[105] = new DefaultHttpContext(); + _requests[105].RequestServices = CreateServices(); + _requests[105].Request.Method = "POST"; + _requests[105].Request.Path = "/repos/65917/4297b/git/refs"; + _requests[106] = new DefaultHttpContext(); + _requests[106].RequestServices = CreateServices(); + _requests[106].Request.Method = "POST"; + _requests[106].Request.Path = "/repos/5aadb/450d4/git/tags"; + _requests[107] = new DefaultHttpContext(); + _requests[107].RequestServices = CreateServices(); + _requests[107].Request.Method = "POST"; + _requests[107].Request.Path = "/repos/4c306/f056f/git/trees"; + _requests[108] = new DefaultHttpContext(); + _requests[108].RequestServices = CreateServices(); + _requests[108].Request.Method = "GET"; + _requests[108].Request.Path = "/repos/9da82/d041c/issues/comments"; + _requests[109] = new DefaultHttpContext(); + _requests[109].RequestServices = CreateServices(); + _requests[109].Request.Method = "GET"; + _requests[109].Request.Path = "/repos/06bb5/1352f/issues/events"; + _requests[110] = new DefaultHttpContext(); + _requests[110].RequestServices = CreateServices(); + _requests[110].Request.Method = "GET"; + _requests[110].Request.Path = "/repos/f87fb/e0543/pulls/comments"; + _requests[111] = new DefaultHttpContext(); + _requests[111].RequestServices = CreateServices(); + _requests[111].Request.Method = "GET"; + _requests[111].Request.Path = "/repos/b6d34/d0b39/stats/code_frequency"; + _requests[112] = new DefaultHttpContext(); + _requests[112].RequestServices = CreateServices(); + _requests[112].Request.Method = "GET"; + _requests[112].Request.Path = "/repos/e8d05/4707e/stats/commit_activity"; + _requests[113] = new DefaultHttpContext(); + _requests[113].RequestServices = CreateServices(); + _requests[113].Request.Method = "GET"; + _requests[113].Request.Path = "/repos/48d7e/0ecd3/stats/contributors"; + _requests[114] = new DefaultHttpContext(); + _requests[114].RequestServices = CreateServices(); + _requests[114].Request.Method = "GET"; + _requests[114].Request.Path = "/repos/8964b/6e8f5/stats/participation"; + _requests[115] = new DefaultHttpContext(); + _requests[115].RequestServices = CreateServices(); + _requests[115].Request.Method = "GET"; + _requests[115].Request.Path = "/repos/37374/f039d/stats/punch_card"; + _requests[116] = new DefaultHttpContext(); + _requests[116].RequestServices = CreateServices(); + _requests[116].Request.Method = "GET"; + _requests[116].Request.Path = "/repos/14566/a474b/git/blobs/04b85a8"; + _requests[117] = new DefaultHttpContext(); + _requests[117].RequestServices = CreateServices(); + _requests[117].Request.Method = "GET"; + _requests[117].Request.Path = "/repos/31a30/3ea34/git/commits/27948b9"; + _requests[118] = new DefaultHttpContext(); + _requests[118].RequestServices = CreateServices(); + _requests[118].Request.Method = "PATCH"; + _requests[118].Request.Path = "/repos/2c8ad/e2765/git/refs/67cc5"; + _requests[119] = new DefaultHttpContext(); + _requests[119].RequestServices = CreateServices(); + _requests[119].Request.Method = "GET"; + _requests[119].Request.Path = "/repos/739be/3acb7/git/tags/6c6430c"; + _requests[120] = new DefaultHttpContext(); + _requests[120].RequestServices = CreateServices(); + _requests[120].Request.Method = "GET"; + _requests[120].Request.Path = "/repos/5a112/21ae4/git/trees/fe88304"; + _requests[121] = new DefaultHttpContext(); + _requests[121].RequestServices = CreateServices(); + _requests[121].Request.Method = "PATCH"; + _requests[121].Request.Path = "/repos/76ed1/51c63/issues/comments/c9208b29-"; + _requests[122] = new DefaultHttpContext(); + _requests[122].RequestServices = CreateServices(); + _requests[122].Request.Method = "GET"; + _requests[122].Request.Path = "/repos/8230d/17f20/issues/events/5e4ea0f"; + _requests[123] = new DefaultHttpContext(); + _requests[123].RequestServices = CreateServices(); + _requests[123].Request.Method = "PATCH"; + _requests[123].Request.Path = "/repos/fa5f3/b4ecf/pulls/comments/1e93db69-"; + _requests[124] = new DefaultHttpContext(); + _requests[124].RequestServices = CreateServices(); + _requests[124].Request.Method = "PATCH"; + _requests[124].Request.Path = "/repos/f3b86/5793e/releases/assets/b21e5"; + _requests[125] = new DefaultHttpContext(); + _requests[125].RequestServices = CreateServices(); + _requests[125].Request.Method = "GET"; + _requests[125].Request.Path = "/repos/0df2f/f1d8e/assignees/87a41d15"; + _requests[126] = new DefaultHttpContext(); + _requests[126].RequestServices = CreateServices(); + _requests[126].Request.Method = "GET"; + _requests[126].Request.Path = "/repos/f0062/df752/branches/d18f91"; + _requests[127] = new DefaultHttpContext(); + _requests[127].RequestServices = CreateServices(); + _requests[127].Request.Method = "PUT"; + _requests[127].Request.Path = "/repos/022eb/1696a/collaborators/59494"; + _requests[128] = new DefaultHttpContext(); + _requests[128].RequestServices = CreateServices(); + _requests[128].Request.Method = "PATCH"; + _requests[128].Request.Path = "/repos/0f74c/4f864/comments/5a8b1f18-"; + _requests[129] = new DefaultHttpContext(); + _requests[129].RequestServices = CreateServices(); + _requests[129].Request.Method = "GET"; + _requests[129].Request.Path = "/repos/08262/d4859/commits/0459132"; + _requests[130] = new DefaultHttpContext(); + _requests[130].RequestServices = CreateServices(); + _requests[130].Request.Method = "PUT"; + _requests[130].Request.Path = "/repos/9e587/5da72/contents/3b37c"; + _requests[131] = new DefaultHttpContext(); + _requests[131].RequestServices = CreateServices(); + _requests[131].Request.Method = "GET"; + _requests[131].Request.Path = "/repos/aeabf/fb931/downloads/928b7eef-a"; + _requests[132] = new DefaultHttpContext(); + _requests[132].RequestServices = CreateServices(); + _requests[132].Request.Method = "PATCH"; + _requests[132].Request.Path = "/repos/cb76c/71512/hooks/e0a971"; + _requests[133] = new DefaultHttpContext(); + _requests[133].RequestServices = CreateServices(); + _requests[133].Request.Method = "PATCH"; + _requests[133].Request.Path = "/repos/a44e1/81a70/issues/fedabf"; + _requests[134] = new DefaultHttpContext(); + _requests[134].RequestServices = CreateServices(); + _requests[134].Request.Method = "GET"; + _requests[134].Request.Path = "/repos/d776f/19a02/keys/9e5b3"; + _requests[135] = new DefaultHttpContext(); + _requests[135].RequestServices = CreateServices(); + _requests[135].Request.Method = "PATCH"; + _requests[135].Request.Path = "/repos/b8532/04123/labels/d3c1d"; + _requests[136] = new DefaultHttpContext(); + _requests[136].RequestServices = CreateServices(); + _requests[136].Request.Method = "PATCH"; + _requests[136].Request.Path = "/repos/1d10a/9efd4/milestones/f673c2"; + _requests[137] = new DefaultHttpContext(); + _requests[137].RequestServices = CreateServices(); + _requests[137].Request.Method = "PATCH"; + _requests[137].Request.Path = "/repos/3aa16/84330/pulls/6dcd1f"; + _requests[138] = new DefaultHttpContext(); + _requests[138].RequestServices = CreateServices(); + _requests[138].Request.Method = "PATCH"; + _requests[138].Request.Path = "/repos/eb98f/fd492/releases/a070f"; + _requests[139] = new DefaultHttpContext(); + _requests[139].RequestServices = CreateServices(); + _requests[139].Request.Method = "POST"; + _requests[139].Request.Path = "/repos/f1040/ca625/statuses/a1554"; + _requests[140] = new DefaultHttpContext(); + _requests[140].RequestServices = CreateServices(); + _requests[140].Request.Method = "GET"; + _requests[140].Request.Path = "/repos/5e573/09410/commits/740ca/status"; + _requests[141] = new DefaultHttpContext(); + _requests[141].RequestServices = CreateServices(); + _requests[141].Request.Method = "POST"; + _requests[141].Request.Path = "/repos/25dd0/256a3/commits/088d12d/comments"; + _requests[142] = new DefaultHttpContext(); + _requests[142].RequestServices = CreateServices(); + _requests[142].Request.Method = "POST"; + _requests[142].Request.Path = "/repos/50b76/80795/deployments/faedd/statuses"; + _requests[143] = new DefaultHttpContext(); + _requests[143].RequestServices = CreateServices(); + _requests[143].Request.Method = "POST"; + _requests[143].Request.Path = "/repos/0c54e/6485c/hooks/82463a/tests"; + _requests[144] = new DefaultHttpContext(); + _requests[144].RequestServices = CreateServices(); + _requests[144].Request.Method = "POST"; + _requests[144].Request.Path = "/repos/07cf6/23b13/issues/f0dd8f/comments"; + _requests[145] = new DefaultHttpContext(); + _requests[145].RequestServices = CreateServices(); + _requests[145].Request.Method = "GET"; + _requests[145].Request.Path = "/repos/23f9b/f2fd8/issues/3fe64f/events"; + _requests[146] = new DefaultHttpContext(); + _requests[146].RequestServices = CreateServices(); + _requests[146].Request.Method = "PUT"; + _requests[146].Request.Path = "/repos/5b3d7/ca96e/issues/936334/labels"; + _requests[147] = new DefaultHttpContext(); + _requests[147].RequestServices = CreateServices(); + _requests[147].Request.Method = "GET"; + _requests[147].Request.Path = "/repos/cd644/3304a/milestones/166fae/labels"; + _requests[148] = new DefaultHttpContext(); + _requests[148].RequestServices = CreateServices(); + _requests[148].Request.Method = "POST"; + _requests[148].Request.Path = "/repos/33da8/9f808/pulls/f1e922/comments"; + _requests[149] = new DefaultHttpContext(); + _requests[149].RequestServices = CreateServices(); + _requests[149].Request.Method = "GET"; + _requests[149].Request.Path = "/repos/be208/fc905/pulls/7e240f/commits"; + _requests[150] = new DefaultHttpContext(); + _requests[150].RequestServices = CreateServices(); + _requests[150].Request.Method = "GET"; + _requests[150].Request.Path = "/repos/3c706/a56bc/pulls/651d9a/files"; + _requests[151] = new DefaultHttpContext(); + _requests[151].RequestServices = CreateServices(); + _requests[151].Request.Method = "PUT"; + _requests[151].Request.Path = "/repos/ea5a0/36e73/pulls/760f68/merge"; + _requests[152] = new DefaultHttpContext(); + _requests[152].RequestServices = CreateServices(); + _requests[152].Request.Method = "GET"; + _requests[152].Request.Path = "/repos/9362e/2a504/releases/4105d/assets"; + _requests[153] = new DefaultHttpContext(); + _requests[153].RequestServices = CreateServices(); + _requests[153].Request.Method = "DELETE"; + _requests[153].Request.Path = "/repos/39dc3/47180/issues/5b5277/labels/fc82a"; + _requests[154] = new DefaultHttpContext(); + _requests[154].RequestServices = CreateServices(); + _requests[154].Request.Method = "GET"; + _requests[154].Request.Path = "/repos/91437/d62a4/5582f507-3991-/3e89b"; + } + + private Matcher SetupMatcher(MatcherBuilder builder) + { + builder.AddEntry("/emojis", _endpoints[0]); + builder.AddEntry("/events", _endpoints[1]); + builder.AddEntry("/feeds", _endpoints[2]); + builder.AddEntry("/gists", _endpoints[3]); + builder.AddEntry("/issues", _endpoints[4]); + builder.AddEntry("/markdown", _endpoints[5]); + builder.AddEntry("/meta", _endpoints[6]); + builder.AddEntry("/notifications", _endpoints[7]); + builder.AddEntry("/rate_limit", _endpoints[8]); + builder.AddEntry("/repositories", _endpoints[9]); + builder.AddEntry("/user", _endpoints[10]); + builder.AddEntry("/users", _endpoints[11]); + builder.AddEntry("/gists/public", _endpoints[12]); + builder.AddEntry("/gists/starred", _endpoints[13]); + builder.AddEntry("/gitignore/templates", _endpoints[14]); + builder.AddEntry("/markdown/raw", _endpoints[15]); + builder.AddEntry("/search/code", _endpoints[16]); + builder.AddEntry("/search/issues", _endpoints[17]); + builder.AddEntry("/search/repositories", _endpoints[18]); + builder.AddEntry("/search/users", _endpoints[19]); + builder.AddEntry("/user/emails", _endpoints[20]); + builder.AddEntry("/user/followers", _endpoints[21]); + builder.AddEntry("/user/following", _endpoints[22]); + builder.AddEntry("/user/issues", _endpoints[23]); + builder.AddEntry("/user/keys", _endpoints[24]); + builder.AddEntry("/user/orgs", _endpoints[25]); + builder.AddEntry("/user/repos", _endpoints[26]); + builder.AddEntry("/user/starred", _endpoints[27]); + builder.AddEntry("/user/subscriptions", _endpoints[28]); + builder.AddEntry("/user/teams", _endpoints[29]); + builder.AddEntry("/legacy/repos/search/{keyword}", _endpoints[30]); + builder.AddEntry("/legacy/user/email/{email}", _endpoints[31]); + builder.AddEntry("/legacy/user/search/{keyword}", _endpoints[32]); + builder.AddEntry("/legacy/issues/search/{owner}/{repository}/{state}/{keyword}", _endpoints[33]); + builder.AddEntry("/gitignore/templates/{language}", _endpoints[34]); + builder.AddEntry("/notifications/threads/{id}", _endpoints[35]); + builder.AddEntry("/user/following/{username}", _endpoints[36]); + builder.AddEntry("/user/keys/{keyId}", _endpoints[37]); + builder.AddEntry("/notifications/threads/{id}/subscription", _endpoints[38]); + builder.AddEntry("/user/starred/{owner}/{repo}", _endpoints[39]); + builder.AddEntry("/user/subscriptions/{owner}/{repo}", _endpoints[40]); + builder.AddEntry("/gists/{id}", _endpoints[41]); + builder.AddEntry("/orgs/{org}", _endpoints[42]); + builder.AddEntry("/teams/{teamId}", _endpoints[43]); + builder.AddEntry("/users/{username}", _endpoints[44]); + builder.AddEntry("/gists/{id}/comments", _endpoints[45]); + builder.AddEntry("/gists/{id}/forks", _endpoints[46]); + builder.AddEntry("/gists/{id}/star", _endpoints[47]); + builder.AddEntry("/orgs/{org}/events", _endpoints[48]); + builder.AddEntry("/orgs/{org}/issues", _endpoints[49]); + builder.AddEntry("/orgs/{org}/members", _endpoints[50]); + builder.AddEntry("/orgs/{org}/public_members", _endpoints[51]); + builder.AddEntry("/orgs/{org}/repos", _endpoints[52]); + builder.AddEntry("/orgs/{org}/teams", _endpoints[53]); + builder.AddEntry("/teams/{teamId}/members", _endpoints[54]); + builder.AddEntry("/teams/{teamId}/repos", _endpoints[55]); + builder.AddEntry("/users/{username}/events", _endpoints[56]); + builder.AddEntry("/users/{username}/followers", _endpoints[57]); + builder.AddEntry("/users/{username}/gists", _endpoints[58]); + builder.AddEntry("/users/{username}/keys", _endpoints[59]); + builder.AddEntry("/users/{username}/orgs", _endpoints[60]); + builder.AddEntry("/users/{username}/received_events", _endpoints[61]); + builder.AddEntry("/users/{username}/repos", _endpoints[62]); + builder.AddEntry("/users/{username}/starred", _endpoints[63]); + builder.AddEntry("/users/{username}/subscriptions", _endpoints[64]); + builder.AddEntry("/users/{username}/received_events/public", _endpoints[65]); + builder.AddEntry("/users/{username}/events/orgs/{org}", _endpoints[66]); + builder.AddEntry("/gists/{id}/comments/{commentId}", _endpoints[67]); + builder.AddEntry("/orgs/{org}/members/{username}", _endpoints[68]); + builder.AddEntry("/orgs/{org}/public_members/{username}", _endpoints[69]); + builder.AddEntry("/teams/{teamId}/members/{username}", _endpoints[70]); + builder.AddEntry("/teams/{teamId}/memberships/{username}", _endpoints[71]); + builder.AddEntry("/users/{username}/following/{targetUser}", _endpoints[72]); + builder.AddEntry("/teams/{teamId}/repos/{owner}/{repo}", _endpoints[73]); + builder.AddEntry("/repos/{owner}/{repo}", _endpoints[74]); + builder.AddEntry("/networks/{owner}/{repo}/events", _endpoints[75]); + builder.AddEntry("/repos/{owner}/{repo}/assignees", _endpoints[76]); + builder.AddEntry("/repos/{owner}/{repo}/branches", _endpoints[77]); + builder.AddEntry("/repos/{owner}/{repo}/collaborators", _endpoints[78]); + builder.AddEntry("/repos/{owner}/{repo}/comments", _endpoints[79]); + builder.AddEntry("/repos/{owner}/{repo}/commits", _endpoints[80]); + builder.AddEntry("/repos/{owner}/{repo}/contributors", _endpoints[81]); + builder.AddEntry("/repos/{owner}/{repo}/deployments", _endpoints[82]); + builder.AddEntry("/repos/{owner}/{repo}/downloads", _endpoints[83]); + builder.AddEntry("/repos/{owner}/{repo}/events", _endpoints[84]); + builder.AddEntry("/repos/{owner}/{repo}/forks", _endpoints[85]); + builder.AddEntry("/repos/{owner}/{repo}/hooks", _endpoints[86]); + builder.AddEntry("/repos/{owner}/{repo}/issues", _endpoints[87]); + builder.AddEntry("/repos/{owner}/{repo}/keys", _endpoints[88]); + builder.AddEntry("/repos/{owner}/{repo}/labels", _endpoints[89]); + builder.AddEntry("/repos/{owner}/{repo}/languages", _endpoints[90]); + builder.AddEntry("/repos/{owner}/{repo}/merges", _endpoints[91]); + builder.AddEntry("/repos/{owner}/{repo}/milestones", _endpoints[92]); + builder.AddEntry("/repos/{owner}/{repo}/notifications", _endpoints[93]); + builder.AddEntry("/repos/{owner}/{repo}/pulls", _endpoints[94]); + builder.AddEntry("/repos/{owner}/{repo}/readme", _endpoints[95]); + builder.AddEntry("/repos/{owner}/{repo}/releases", _endpoints[96]); + builder.AddEntry("/repos/{owner}/{repo}/stargazers", _endpoints[97]); + builder.AddEntry("/repos/{owner}/{repo}/subscribers", _endpoints[98]); + builder.AddEntry("/repos/{owner}/{repo}/subscription", _endpoints[99]); + builder.AddEntry("/repos/{owner}/{repo}/tags", _endpoints[100]); + builder.AddEntry("/repos/{owner}/{repo}/teams", _endpoints[101]); + builder.AddEntry("/repos/{owner}/{repo}/watchers", _endpoints[102]); + builder.AddEntry("/repos/{owner}/{repo}/git/blobs", _endpoints[103]); + builder.AddEntry("/repos/{owner}/{repo}/git/commits", _endpoints[104]); + builder.AddEntry("/repos/{owner}/{repo}/git/refs", _endpoints[105]); + builder.AddEntry("/repos/{owner}/{repo}/git/tags", _endpoints[106]); + builder.AddEntry("/repos/{owner}/{repo}/git/trees", _endpoints[107]); + builder.AddEntry("/repos/{owner}/{repo}/issues/comments", _endpoints[108]); + builder.AddEntry("/repos/{owner}/{repo}/issues/events", _endpoints[109]); + builder.AddEntry("/repos/{owner}/{repo}/pulls/comments", _endpoints[110]); + builder.AddEntry("/repos/{owner}/{repo}/stats/code_frequency", _endpoints[111]); + builder.AddEntry("/repos/{owner}/{repo}/stats/commit_activity", _endpoints[112]); + builder.AddEntry("/repos/{owner}/{repo}/stats/contributors", _endpoints[113]); + builder.AddEntry("/repos/{owner}/{repo}/stats/participation", _endpoints[114]); + builder.AddEntry("/repos/{owner}/{repo}/stats/punch_card", _endpoints[115]); + builder.AddEntry("/repos/{owner}/{repo}/git/blobs/{shaCode}", _endpoints[116]); + builder.AddEntry("/repos/{owner}/{repo}/git/commits/{shaCode}", _endpoints[117]); + builder.AddEntry("/repos/{owner}/{repo}/git/refs/{ref}", _endpoints[118]); + builder.AddEntry("/repos/{owner}/{repo}/git/tags/{shaCode}", _endpoints[119]); + builder.AddEntry("/repos/{owner}/{repo}/git/trees/{shaCode}", _endpoints[120]); + builder.AddEntry("/repos/{owner}/{repo}/issues/comments/{commentId}", _endpoints[121]); + builder.AddEntry("/repos/{owner}/{repo}/issues/events/{eventId}", _endpoints[122]); + builder.AddEntry("/repos/{owner}/{repo}/pulls/comments/{commentId}", _endpoints[123]); + builder.AddEntry("/repos/{owner}/{repo}/releases/assets/{id}", _endpoints[124]); + builder.AddEntry("/repos/{owner}/{repo}/assignees/{assignee}", _endpoints[125]); + builder.AddEntry("/repos/{owner}/{repo}/branches/{branch}", _endpoints[126]); + builder.AddEntry("/repos/{owner}/{repo}/collaborators/{user}", _endpoints[127]); + builder.AddEntry("/repos/{owner}/{repo}/comments/{commentId}", _endpoints[128]); + builder.AddEntry("/repos/{owner}/{repo}/commits/{shaCode}", _endpoints[129]); + builder.AddEntry("/repos/{owner}/{repo}/contents/{path}", _endpoints[130]); + builder.AddEntry("/repos/{owner}/{repo}/downloads/{downloadId}", _endpoints[131]); + builder.AddEntry("/repos/{owner}/{repo}/hooks/{hookId}", _endpoints[132]); + builder.AddEntry("/repos/{owner}/{repo}/issues/{number}", _endpoints[133]); + builder.AddEntry("/repos/{owner}/{repo}/keys/{keyId}", _endpoints[134]); + builder.AddEntry("/repos/{owner}/{repo}/labels/{name}", _endpoints[135]); + builder.AddEntry("/repos/{owner}/{repo}/milestones/{number}", _endpoints[136]); + builder.AddEntry("/repos/{owner}/{repo}/pulls/{number}", _endpoints[137]); + builder.AddEntry("/repos/{owner}/{repo}/releases/{id}", _endpoints[138]); + builder.AddEntry("/repos/{owner}/{repo}/statuses/{ref}", _endpoints[139]); + builder.AddEntry("/repos/{owner}/{repo}/commits/{ref}/status", _endpoints[140]); + builder.AddEntry("/repos/{owner}/{repo}/commits/{shaCode}/comments", _endpoints[141]); + builder.AddEntry("/repos/{owner}/{repo}/deployments/{id}/statuses", _endpoints[142]); + builder.AddEntry("/repos/{owner}/{repo}/hooks/{hookId}/tests", _endpoints[143]); + builder.AddEntry("/repos/{owner}/{repo}/issues/{number}/comments", _endpoints[144]); + builder.AddEntry("/repos/{owner}/{repo}/issues/{number}/events", _endpoints[145]); + builder.AddEntry("/repos/{owner}/{repo}/issues/{number}/labels", _endpoints[146]); + builder.AddEntry("/repos/{owner}/{repo}/milestones/{number}/labels", _endpoints[147]); + builder.AddEntry("/repos/{owner}/{repo}/pulls/{number}/comments", _endpoints[148]); + builder.AddEntry("/repos/{owner}/{repo}/pulls/{number}/commits", _endpoints[149]); + builder.AddEntry("/repos/{owner}/{repo}/pulls/{number}/files", _endpoints[150]); + builder.AddEntry("/repos/{owner}/{repo}/pulls/{number}/merge", _endpoints[151]); + builder.AddEntry("/repos/{owner}/{repo}/releases/{id}/assets", _endpoints[152]); + builder.AddEntry("/repos/{owner}/{repo}/issues/{number}/labels/{name}", _endpoints[153]); + builder.AddEntry("/repos/{owner}/{repo}/{archive_format}/{path}", _endpoints[154]); + return builder.Build(); + } + } +} \ No newline at end of file diff --git a/benchmarks/Microsoft.AspNetCore.Routing.Performance/Matchers/InstructionMatcher.cs b/benchmarks/Microsoft.AspNetCore.Routing.Performance/Matchers/InstructionMatcher.cs new file mode 100644 index 0000000000..7e71b6c134 --- /dev/null +++ b/benchmarks/Microsoft.AspNetCore.Routing.Performance/Matchers/InstructionMatcher.cs @@ -0,0 +1,479 @@ +// Copyright (c) .NET Foundation. All rights reserved. +// Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information. + +using System; +using System.Collections.Generic; +using System.Diagnostics; +using System.Runtime.InteropServices; +using System.Threading.Tasks; +using Microsoft.AspNetCore.Http; +using Microsoft.AspNetCore.Routing.Template; + +namespace Microsoft.AspNetCore.Routing.Matchers +{ + internal class InstructionMatcher : Matcher + { + public static MatcherBuilder CreateBuilder() => new Builder(); + + private State _state; + + private InstructionMatcher(Instruction[] instructions, Endpoint[] endpoints, JumpTable[] tables) + { + _state = new State() + { + Instructions = instructions, + Endpoints = endpoints, + Tables = tables, + }; + } + + public unsafe override Task MatchAsync(HttpContext httpContext, IEndpointFeature feature) + { + if (httpContext == null) + { + throw new ArgumentNullException(nameof(httpContext)); + } + + if (feature == null) + { + throw new ArgumentNullException(nameof(feature)); + } + + var state = _state; + + var path = httpContext.Request.Path.Value; + var buffer = stackalloc int[32]; + + var segment = 0; + var index = -1; + while ((index = path.IndexOf('/', index + 1)) >= 0) + { + buffer[segment++] = index + 1; + } + + buffer[segment] = path.Length; + + var i = 0; + Endpoint result = null; + while (i < state.Instructions.Length) + { + var instruction = state.Instructions[i]; + switch (instruction.Code) + { + case InstructionCode.Accept: + { + result = state.Endpoints[instruction.Payload]; + i++; + break; + } + case InstructionCode.Branch: + { + var table = state.Tables[instruction.Payload]; + i = table.GetDestination(buffer, path); + break; + } + case InstructionCode.Jump: + { + i = instruction.Payload; + break; + } + } + } + + feature.Endpoint = result; + return Task.CompletedTask; + } + + private class State + { + public Endpoint[] Endpoints; + public Instruction[] Instructions; + public JumpTable[] Tables; + } + + [DebuggerDisplay("{ToDebugString(),nq}")] + [StructLayout(LayoutKind.Explicit)] + private struct Instruction + { + [FieldOffset(3)] + public InstructionCode Code; + + [FieldOffset(4)] + public int Payload; + + private string ToDebugString() + { + return $"{Code}: {Payload}"; + } + } + + private enum InstructionCode : byte + { + Accept, + Branch, + Jump, + Pop, // Only used during the instruction builder phase + } + + private abstract class JumpTable + { + public unsafe abstract int GetDestination(int* segments, string text); + } + + private class JumpTableBuilder + { + private readonly List<(string text, int destination)> _entries = new List<(string text, int destination)>(); + + public int Depth { get; set; } + + public int Exit { get; set; } + + public void AddEntry(string text, int destination) + { + _entries.Add((text, destination)); + } + + public JumpTable Build() + { + return new SimpleJumpTable(Depth, Exit, _entries.ToArray()); + } + } + + private class SimpleJumpTable : JumpTable + { + private readonly (string text, int destination)[] _entries; + private readonly int _depth; + private readonly int _exit; + + public SimpleJumpTable(int depth, int exit, (string text, int destination)[] entries) + { + _depth = depth; + _exit = exit; + _entries = entries; + } + + public unsafe override int GetDestination(int* segments, string text) + { + var start = segments[_depth]; + var length = segments[_depth + 1] - start; + + for (var i = 0; i < _entries.Length; i++) + { + if (length == _entries[i].text.Length && + string.Compare( + text, + start, + _entries[i].text, + 0, + length, + StringComparison.OrdinalIgnoreCase) == 0) + { + return _entries[i].destination; + } + } + + return _exit; + } + } + + private class Entry + { + public int Order; + public decimal Precedence; + public RouteTemplate Pattern; + public Endpoint Endpoint; + } + + private class InstructionBuilder + { + private readonly List _instructions = new List(); + private readonly List _endpoints = new List(); + private readonly List _tables = new List(); + + private readonly List _blocks = new List(); + + public int Next => _instructions.Count; + + public void BeginBlock() + { + _blocks.Add(Next); + } + + public void EndBlock() + { + var start = _blocks[_blocks.Count - 1]; + var end = Next; + for (var i = start; i < end; i++) + { + if (_instructions[i].Code == InstructionCode.Pop) + { + _instructions[i] = new Instruction() { Code = InstructionCode.Jump, Payload = end }; + } + } + + _blocks.RemoveAt(_blocks.Count - 1); + } + + public int AddInstruction(Instruction instruction) + { + _instructions.Add(instruction); + return _instructions.Count - 1; + } + + public int AddEndpoint(Endpoint endpoint) + { + _endpoints.Add(endpoint); + return _endpoints.Count - 1; + } + + public int AddJumpTable(JumpTableBuilder table) + { + _tables.Add(table); + return _tables.Count - 1; + } + + public void Deconstruct(out Instruction[] instructions, out Endpoint[] endpoints, out JumpTable[] tables) + { + instructions = _instructions.ToArray(); + endpoints = _endpoints.ToArray(); + + tables = new JumpTable[_tables.Count]; + for (var i = 0; i < _tables.Count; i++) + { + tables[i] = _tables[i].Build(); + } + } + } + + private abstract class Node + { + public int Depth { get; protected set; } + public List Children { get; } = new List(); + + public abstract void Lower(InstructionBuilder builder); + + public TNode GetNode() where TNode : Node + { + for (var i = 0; i < Children.Count; i++) + { + if (Children[i] is TNode match) + { + return match; + } + } + + return null; + } + + public TNode AddNode(TNode node) where TNode : Node + { + // We already ordered the routes into precedence order + Children.Add(node); + return node; + } + } + + private class SequenceNode : Node + { + public SequenceNode(int depth) + { + Depth = depth; + } + + public override void Lower(InstructionBuilder builder) + { + for (var i = 0; i < Children.Count; i++) + { + Children[i].Lower(builder); + } + } + } + + private class OrderNode : SequenceNode + { + public OrderNode(int order) + : base(0) + { + Order = order; + } + + public int Order { get; } + } + + private class BranchNode : Node + { + public BranchNode(int depth) + { + Depth = depth; + } + + public List Literals { get; } = new List(); + + public override void Lower(InstructionBuilder builder) + { + var table = new JumpTableBuilder() { Depth = Depth, }; + var index = builder.AddJumpTable(table); + builder.AddInstruction(new Instruction() { Code = InstructionCode.Branch, Payload = index }); + + builder.BeginBlock(); + + for (var i = 0; i < Children.Count; i++) + { + table.AddEntry(Literals[i], builder.Next); + Children[i].Lower(builder); + builder.AddInstruction(new Instruction() { Code = InstructionCode.Pop, }); + } + + builder.EndBlock(); + table.Exit = builder.Next; + } + } + + private class ParameterNode : Node + { + public ParameterNode(int depth) + { + Depth = depth; + } + + public override void Lower(InstructionBuilder builder) + { + for (var i = 0; i < Children.Count; i++) + { + Children[i].Lower(builder); + } + } + } + + private class AcceptNode : Node + { + public AcceptNode(Endpoint endpoint) + { + Endpoint = endpoint; + } + + public Endpoint Endpoint { get; } + + public override void Lower(InstructionBuilder builder) + { + builder.AddInstruction(new Instruction() + { + Code = InstructionCode.Accept, + Payload = builder.AddEndpoint(Endpoint), + }); + } + } + + private class Builder : MatcherBuilder + { + private List _entries = new List(); + + public override void AddEntry(string pattern, MatcherEndpoint endpoint) + { + var parsed = TemplateParser.Parse(pattern); + _entries.Add(new Entry() + { + Order = 0, + Pattern = parsed, + Precedence = RoutePrecedence.ComputeInbound(parsed), + Endpoint = endpoint, + }); + } + + public override Matcher Build() + { + _entries.Sort((x, y) => + { + var comparison = x.Order.CompareTo(y.Order); + if (comparison != 0) + { + return comparison; + } + + comparison = y.Precedence.CompareTo(x.Precedence); + if (comparison != 0) + { + return comparison; + } + + return x.Pattern.TemplateText.CompareTo(y.Pattern.TemplateText); + }); + + var roots = new List(); + + for (var i = 0; i < _entries.Count; i++) + { + var entry = _entries[i]; + + var parent = (SequenceNode)GetOrCreateRootNode(roots, entry.Order); + + for (var depth = 0; depth < entry.Pattern.Segments.Count; depth++) + { + var segment = entry.Pattern.Segments[depth]; + if (segment.IsSimple && segment.Parts[0].IsLiteral) + { + var branch = parent.GetNode() ?? parent.AddNode(new BranchNode(depth)); + + var index = branch.Literals.IndexOf(segment.Parts[0].Text); + if (index == -1) + { + branch.Literals.Add(segment.Parts[0].Text); + branch.AddNode(new SequenceNode(depth + 1)); + index = branch.Children.Count - 1; + } + + parent = (SequenceNode)branch.Children[index]; + } + else if (segment.IsSimple && segment.Parts[0].IsParameter) + { + var parameter = parent.GetNode() ?? parent.AddNode(new ParameterNode(depth)); + if (parameter.Children.Count == 0) + { + parameter.AddNode(new SequenceNode(depth + 1)); + } + + parent = (SequenceNode)parameter.Children[0]; + } + else + { + throw new InvalidOperationException("Not implemented!"); + } + } + + parent.AddNode(new AcceptNode(entry.Endpoint)); + } + + var builder = new InstructionBuilder(); + for (var i = 0; i < roots.Count; i++) + { + roots[i].Lower(builder); + } + + var (instructions, endpoints, tables) = builder; + return new InstructionMatcher(instructions, endpoints, tables); + } + + private OrderNode GetOrCreateRootNode(List roots, int order) + { + OrderNode root = null; + for (var j = 0; j < roots.Count; j++) + { + if (roots[j].Order == order) + { + root = roots[j]; + break; + } + } + + if (root == null) + { + // Nodes are guaranteed to be in order because the entries are in order. + root = new OrderNode(order); + roots.Add(root); + } + + return root; + } + } + } +} diff --git a/benchmarks/Microsoft.AspNetCore.Routing.Performance/Matchers/MatcherBenchmarkBase.cs b/benchmarks/Microsoft.AspNetCore.Routing.Performance/Matchers/MatcherBenchmarkBase.cs new file mode 100644 index 0000000000..29e94564a7 --- /dev/null +++ b/benchmarks/Microsoft.AspNetCore.Routing.Performance/Matchers/MatcherBenchmarkBase.cs @@ -0,0 +1,73 @@ +// Copyright (c) .NET Foundation. All rights reserved. +// Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information. + +using System; +using System.Runtime.CompilerServices; +using System.Text; +using System.Threading.Tasks; +using Microsoft.AspNetCore.Http; +using Microsoft.Extensions.DependencyInjection; + +namespace Microsoft.AspNetCore.Routing.Matchers +{ + public abstract class MatcherBenchmarkBase + { + internal MatcherEndpoint[] _endpoints; + internal HttpContext[] _requests; + + // The older routing implementations retrieve services when they first execute. + internal static IServiceProvider CreateServices() + { + var services = new ServiceCollection(); + services.AddLogging(); + return services.BuildServiceProvider(); + } + + internal static MatcherEndpoint CreateEndpoint(string template) + { + return new MatcherEndpoint( + (next) => (context) => Task.CompletedTask, + template, + new { }, + 0, + EndpointMetadataCollection.Empty, + template); + } + + internal static int[] SampleRequests(int endpointCount, int count) + { + // This isn't very high tech, but it's at least regular distribution. + // We sort the route templates by precedence, so this should result in + // an even distribution of the 'complexity' of the routes that are exercised. + var frequency = endpointCount / count; + if (frequency < 2) + { + throw new InvalidOperationException( + "The sample count is too high. This won't produce an accurate sampling" + + "of the request data."); + } + + var samples = new int[count]; + for (var i = 0; i < samples.Length; i++) + { + samples[i] = i * frequency; + } + + return samples; + } + + [MethodImpl(MethodImplOptions.NoInlining)] + internal void Validate(HttpContext httpContext, Endpoint expected, Endpoint actual) + { + if (!object.ReferenceEquals(expected, actual)) + { + var message = new StringBuilder(); + message.AppendLine($"Validation failed for request {Array.IndexOf(_requests, httpContext)}"); + message.AppendLine($"{httpContext.Request.Method} {httpContext.Request.Path}"); + message.AppendLine($"expected: '{((MatcherEndpoint)expected)?.DisplayName ?? "null"}'"); + message.AppendLine($"actual: '{((MatcherEndpoint)actual)?.DisplayName ?? "null"}'"); + throw new InvalidOperationException(message.ToString()); + } + } + } +} diff --git a/benchmarks/Microsoft.AspNetCore.Routing.Performance/Matchers/MatcherBuilder.cs b/benchmarks/Microsoft.AspNetCore.Routing.Performance/Matchers/MatcherBuilder.cs new file mode 100644 index 0000000000..98739b904f --- /dev/null +++ b/benchmarks/Microsoft.AspNetCore.Routing.Performance/Matchers/MatcherBuilder.cs @@ -0,0 +1,12 @@ +// Copyright (c) .NET Foundation. All rights reserved. +// Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information. + +namespace Microsoft.AspNetCore.Routing.Matchers +{ + internal abstract class MatcherBuilder + { + public abstract void AddEntry(string template, MatcherEndpoint endpoint); + + public abstract Matcher Build(); + } +} diff --git a/benchmarks/Microsoft.AspNetCore.Routing.Performance/Matchers/MinimalMatcher.cs b/benchmarks/Microsoft.AspNetCore.Routing.Performance/Matchers/MinimalMatcher.cs new file mode 100644 index 0000000000..848d5d48f5 --- /dev/null +++ b/benchmarks/Microsoft.AspNetCore.Routing.Performance/Matchers/MinimalMatcher.cs @@ -0,0 +1,62 @@ +// Copyright (c) .NET Foundation. All rights reserved. +// Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information. + +using System; +using System.Collections.Generic; +using System.Threading.Tasks; +using Microsoft.AspNetCore.Http; + +namespace Microsoft.AspNetCore.Routing.Matchers +{ + internal class MinimalMatcher : Matcher + { + public static MatcherBuilder CreateBuilder() => new Builder(); + + private readonly (string pattern, Endpoint endpoint)[] _entries; + + private MinimalMatcher((string pattern, Endpoint endpoint)[] entries) + { + _entries = entries; + } + + public override Task MatchAsync(HttpContext httpContext, IEndpointFeature feature) + { + if (httpContext == null) + { + throw new ArgumentNullException(nameof(httpContext)); + } + + if (feature == null) + { + throw new ArgumentNullException(nameof(feature)); + } + + var path = httpContext.Request.Path.Value; + for (var i = 0; i < _entries.Length; i++) + { + if (string.Equals(_entries[i].pattern, path, StringComparison.OrdinalIgnoreCase)) + { + feature.Endpoint = _entries[i].endpoint; + return Task.CompletedTask; + } + } + + return Task.CompletedTask; + } + + private class Builder : MatcherBuilder + { + private List<(string pattern, Endpoint endpoint)> _entries = new List<(string pattern, Endpoint endpoint)>(); + + public override void AddEntry(string pattern, MatcherEndpoint endpoint) + { + _entries.Add((pattern, endpoint)); + } + + public override Matcher Build() + { + return new MinimalMatcher(_entries.ToArray()); + } + } + } +} diff --git a/benchmarks/Microsoft.AspNetCore.Routing.Performance/Matchers/RouteMatcher.cs b/benchmarks/Microsoft.AspNetCore.Routing.Performance/Matchers/RouteMatcher.cs new file mode 100644 index 0000000000..205989e685 --- /dev/null +++ b/benchmarks/Microsoft.AspNetCore.Routing.Performance/Matchers/RouteMatcher.cs @@ -0,0 +1,70 @@ +// Copyright (c) .NET Foundation. All rights reserved. +// Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information. + +using System; +using System.Threading.Tasks; +using Microsoft.AspNetCore.Http; +using Microsoft.Extensions.Options; + +namespace Microsoft.AspNetCore.Routing.Matchers +{ + internal class RouteMatcher : Matcher + { + public static MatcherBuilder CreateBuilder() => new Builder(); + + private IRouter _inner; + + private RouteMatcher(IRouter inner) + { + _inner = inner; + } + + public async override Task MatchAsync(HttpContext httpContext, IEndpointFeature feature) + { + if (httpContext == null) + { + throw new ArgumentNullException(nameof(httpContext)); + } + + if (feature == null) + { + throw new ArgumentNullException(nameof(feature)); + } + + var context = new RouteContext(httpContext); + await _inner.RouteAsync(context); + + if (context.Handler != null) + { + httpContext.Features.Set(feature); + await context.Handler(httpContext); + } + } + + private class Builder : MatcherBuilder + { + private readonly RouteCollection _routes = new RouteCollection(); + private readonly IInlineConstraintResolver _constraintResolver; + + public Builder() + { + _constraintResolver = new DefaultInlineConstraintResolver(Options.Create(new RouteOptions())); + } + + public override void AddEntry(string pattern, MatcherEndpoint endpoint) + { + var handler = new RouteHandler(c => + { + c.Features.Get().Endpoint = endpoint; + return Task.CompletedTask; + }); + _routes.Add(new Route(handler, pattern, _constraintResolver)); + } + + public override Matcher Build() + { + return new RouteMatcher(_routes); + } + } + } +} diff --git a/benchmarks/Microsoft.AspNetCore.Routing.Performance/Matchers/SingleEntryMatcherBenchmark.cs b/benchmarks/Microsoft.AspNetCore.Routing.Performance/Matchers/SingleEntryMatcherBenchmark.cs new file mode 100644 index 0000000000..1c1fa03092 --- /dev/null +++ b/benchmarks/Microsoft.AspNetCore.Routing.Performance/Matchers/SingleEntryMatcherBenchmark.cs @@ -0,0 +1,82 @@ +// Copyright (c) .NET Foundation. All rights reserved. +// Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information. + +using System.Threading.Tasks; +using BenchmarkDotNet.Attributes; +using Microsoft.AspNetCore.Http; + +namespace Microsoft.AspNetCore.Routing.Matchers +{ + public class SingleEntryMatcherBenchmark : MatcherBenchmarkBase + { + private Matcher _minimal; + private Matcher _dfa; + private Matcher _instruction; + private Matcher _route; + private Matcher _tree; + + [GlobalSetup] + public void Setup() + { + _minimal = SetupMatcher(MinimalMatcher.CreateBuilder()); + _dfa = SetupMatcher(DfaMatcher.CreateBuilder()); + _instruction = SetupMatcher(InstructionMatcher.CreateBuilder()); + _route = SetupMatcher(RouteMatcher.CreateBuilder()); + _tree = SetupMatcher(TreeRouterMatcher.CreateBuilder()); + + _endpoints = new MatcherEndpoint[0]; + _endpoints[0] = CreateEndpoint("/plaintext"); + + _requests = new HttpContext[0]; + _requests[0] = new DefaultHttpContext(); + _requests[0].RequestServices = CreateServices(); + _requests[0].Request.Path = "/plaintext"; + } + + private Matcher SetupMatcher(MatcherBuilder builder) + { + builder.AddEntry("/plaintext", _endpoints[0]); + return builder.Build(); + } + + [Benchmark(Baseline = true)] + public async Task Minimal() + { + var feature = new EndpointFeature(); + await _minimal.MatchAsync(_requests[0], feature); + Validate(_requests[0], _endpoints[0], feature.Endpoint); + } + + [Benchmark] + public async Task Dfa() + { + var feature = new EndpointFeature(); + await _dfa.MatchAsync(_requests[0], feature); + Validate(_requests[0], _endpoints[0], feature.Endpoint); + } + + [Benchmark] + public async Task Instruction() + { + var feature = new EndpointFeature(); + await _instruction.MatchAsync(_requests[0], feature); + Validate(_requests[0], _endpoints[0], feature.Endpoint); + } + + [Benchmark] + public async Task LegacyRoute() + { + var feature = new EndpointFeature(); + await _route.MatchAsync(_requests[0], feature); + Validate(_requests[0], _endpoints[0], feature.Endpoint); + } + + [Benchmark] + public async Task LegacyTreeRouter() + { + var feature = new EndpointFeature(); + await _tree.MatchAsync(_requests[0], feature); + Validate(_requests[0], _endpoints[0], feature.Endpoint); + } + } +} diff --git a/benchmarks/Microsoft.AspNetCore.Routing.Performance/Matchers/SmallEntryCountLiteralMatcherBenchark.cs b/benchmarks/Microsoft.AspNetCore.Routing.Performance/Matchers/SmallEntryCountLiteralMatcherBenchark.cs new file mode 100644 index 0000000000..92ad9625a3 --- /dev/null +++ b/benchmarks/Microsoft.AspNetCore.Routing.Performance/Matchers/SmallEntryCountLiteralMatcherBenchark.cs @@ -0,0 +1,93 @@ +// Copyright (c) .NET Foundation. All rights reserved. +// Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information. + +using System.Threading.Tasks; +using BenchmarkDotNet.Attributes; +using Microsoft.AspNetCore.Http; + +namespace Microsoft.AspNetCore.Routing.Matchers +{ + public class SmallEntryCountLiteralMatcherBenchark : MatcherBenchmarkBase + { + private Matcher _minimal; + private Matcher _dfa; + private Matcher _instruction; + private Matcher _route; + private Matcher _tree; + + [GlobalSetup] + public void Setup() + { + _minimal = SetupMatcher(MinimalMatcher.CreateBuilder()); + _dfa = SetupMatcher(DfaMatcher.CreateBuilder()); + _instruction = SetupMatcher(InstructionMatcher.CreateBuilder()); + _route = SetupMatcher(RouteMatcher.CreateBuilder()); + _tree = SetupMatcher(TreeRouterMatcher.CreateBuilder()); + + _endpoints = new MatcherEndpoint[1]; + _endpoints[0] = CreateEndpoint("/plaintext"); + + _requests = new HttpContext[1]; + _requests[0] = new DefaultHttpContext(); + _requests[0].RequestServices = CreateServices(); + _requests[0].Request.Path = "/plaintext"; + } + + // For this case we're specifically targeting the last entry to hit 'worst case' + // performance for the matchers that scale linearly. + private Matcher SetupMatcher(MatcherBuilder builder) + { + builder.AddEntry("/another-really-cool-entry", null); + builder.AddEntry("/Some-Entry", null); + builder.AddEntry("/a/path/with/more/segments", null); + builder.AddEntry("/random/name", null); + builder.AddEntry("/random/name2", null); + builder.AddEntry("/random/name3", null); + builder.AddEntry("/random/name4", null); + builder.AddEntry("/plaintext1", null); + builder.AddEntry("/plaintext2", null); + builder.AddEntry("/plaintext", _endpoints[0]); + return builder.Build(); + } + + [Benchmark(Baseline = true)] + public async Task Minimal() + { + var feature = new EndpointFeature(); + await _minimal.MatchAsync(_requests[0], feature); + Validate(_requests[0], _endpoints[0], feature.Endpoint); + } + + [Benchmark] + public async Task Dfa() + { + var feature = new EndpointFeature(); + await _dfa.MatchAsync(_requests[0], feature); + Validate(_requests[0], _endpoints[0], feature.Endpoint); + } + + [Benchmark] + public async Task Instruction() + { + var feature = new EndpointFeature(); + await _instruction.MatchAsync(_requests[0], feature); + Validate(_requests[0], _endpoints[0], feature.Endpoint); + } + + [Benchmark] + public async Task LegacyRoute() + { + var feature = new EndpointFeature(); + await _route.MatchAsync(_requests[0], feature); + Validate(_requests[0], _endpoints[0], feature.Endpoint); + } + + [Benchmark] + public async Task LegacyTreeRouter() + { + var feature = new EndpointFeature(); + await _tree.MatchAsync(_requests[0], feature); + Validate(_requests[0], _endpoints[0], feature.Endpoint); + } + } +} diff --git a/benchmarks/Microsoft.AspNetCore.Routing.Performance/Matchers/TreeRouterMatcher.cs b/benchmarks/Microsoft.AspNetCore.Routing.Performance/Matchers/TreeRouterMatcher.cs new file mode 100644 index 0000000000..bdce2710ba --- /dev/null +++ b/benchmarks/Microsoft.AspNetCore.Routing.Performance/Matchers/TreeRouterMatcher.cs @@ -0,0 +1,77 @@ +// Copyright (c) .NET Foundation. All rights reserved. +// Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information. + +using System; +using System.Threading.Tasks; +using Microsoft.AspNetCore.Http; +using Microsoft.AspNetCore.Routing.Internal; +using Microsoft.AspNetCore.Routing.Template; +using Microsoft.AspNetCore.Routing.Tree; +using Microsoft.Extensions.Logging.Abstractions; +using Microsoft.Extensions.ObjectPool; +using Microsoft.Extensions.Options; + +namespace Microsoft.AspNetCore.Routing.Matchers +{ + internal class TreeRouterMatcher : Matcher + { + public static MatcherBuilder CreateBuilder() => new Builder(); + + private TreeRouter _inner; + + private TreeRouterMatcher(TreeRouter inner) + { + _inner = inner; + } + + public async override Task MatchAsync(HttpContext httpContext, IEndpointFeature feature) + { + if (httpContext == null) + { + throw new ArgumentNullException(nameof(httpContext)); + } + + if (feature == null) + { + throw new ArgumentNullException(nameof(feature)); + } + + var context = new RouteContext(httpContext); + await _inner.RouteAsync(context); + + if (context.Handler != null) + { + httpContext.Features.Set(feature); + await context.Handler(httpContext); + } + } + + private class Builder : MatcherBuilder + { + private readonly TreeRouteBuilder _inner; + + public Builder() + { + _inner = new TreeRouteBuilder( + NullLoggerFactory.Instance, + new DefaultObjectPool(new UriBuilderContextPooledObjectPolicy()), + new DefaultInlineConstraintResolver(Options.Create(new RouteOptions()))); + } + + public override void AddEntry(string template, MatcherEndpoint endpoint) + { + var handler = new RouteHandler(c => + { + c.Features.Get().Endpoint = endpoint; + return Task.CompletedTask; + }); + _inner.MapInbound(handler, TemplateParser.Parse(template), "default", 0); + } + + public override Matcher Build() + { + return new TreeRouterMatcher(_inner.Build()); + } + } + } +} diff --git a/benchmarks/Microsoft.AspNetCore.Routing.Performance/Microsoft.AspNetCore.Routing.Performance.csproj b/benchmarks/Microsoft.AspNetCore.Routing.Performance/Microsoft.AspNetCore.Routing.Performance.csproj index 5d3db00628..572ef0802a 100644 --- a/benchmarks/Microsoft.AspNetCore.Routing.Performance/Microsoft.AspNetCore.Routing.Performance.csproj +++ b/benchmarks/Microsoft.AspNetCore.Routing.Performance/Microsoft.AspNetCore.Routing.Performance.csproj @@ -7,6 +7,7 @@ true true false + Microsoft.AspNetCore.Routing diff --git a/src/Microsoft.AspNetCore.Routing/Properties/AssemblyInfo.cs b/src/Microsoft.AspNetCore.Routing/Properties/AssemblyInfo.cs index d8b03e1556..b654ae0cdf 100644 --- a/src/Microsoft.AspNetCore.Routing/Properties/AssemblyInfo.cs +++ b/src/Microsoft.AspNetCore.Routing/Properties/AssemblyInfo.cs @@ -3,4 +3,5 @@ using System.Runtime.CompilerServices; +[assembly: InternalsVisibleTo("Microsoft.AspNetCore.Routing.Performance, PublicKey=0024000004800000940000000602000000240000525341310004000001000100f33a29044fa9d740c9b3213a93e57c84b472c84e0b8a0e1ae48e67a9f8f6de9d5f7f3d52ac23e48ac51801f1dc950abe901da34d2a9e3baadb141a17c77ef3c565dd5ee5054b91cf63bb3c6ab83f72ab3aafe93d0fc3c2348b764fafb0b1c0733de51459aeab46580384bf9d74c4e28164b7cde247f891ba07891c9d872ad2bb")] [assembly: InternalsVisibleTo("Microsoft.AspNetCore.Routing.Tests, PublicKey=0024000004800000940000000602000000240000525341310004000001000100f33a29044fa9d740c9b3213a93e57c84b472c84e0b8a0e1ae48e67a9f8f6de9d5f7f3d52ac23e48ac51801f1dc950abe901da34d2a9e3baadb141a17c77ef3c565dd5ee5054b91cf63bb3c6ab83f72ab3aafe93d0fc3c2348b764fafb0b1c0733de51459aeab46580384bf9d74c4e28164b7cde247f891ba07891c9d872ad2bb")] From 72941a8f35db3dc8684a8499ec1d1719f3ae5d43 Mon Sep 17 00:00:00 2001 From: Ryan Nowak Date: Tue, 5 Jun 2018 21:52:27 -0700 Subject: [PATCH 027/221] Remove old cruft Our new benchmarks are already much better than this one. --- .../Matchers/SingleEntryMatcherBenchmark.cs | 16 +-- .../SmallEntryCountLiteralMatcherBenchark.cs | 12 +- .../RoutingBenchmark.cs | 113 ------------------ .../readme.md | 9 +- 4 files changed, 21 insertions(+), 129 deletions(-) delete mode 100644 benchmarks/Microsoft.AspNetCore.Routing.Performance/RoutingBenchmark.cs diff --git a/benchmarks/Microsoft.AspNetCore.Routing.Performance/Matchers/SingleEntryMatcherBenchmark.cs b/benchmarks/Microsoft.AspNetCore.Routing.Performance/Matchers/SingleEntryMatcherBenchmark.cs index 1c1fa03092..9c0b393cd8 100644 --- a/benchmarks/Microsoft.AspNetCore.Routing.Performance/Matchers/SingleEntryMatcherBenchmark.cs +++ b/benchmarks/Microsoft.AspNetCore.Routing.Performance/Matchers/SingleEntryMatcherBenchmark.cs @@ -18,19 +18,19 @@ namespace Microsoft.AspNetCore.Routing.Matchers [GlobalSetup] public void Setup() { + _endpoints = new MatcherEndpoint[1]; + _endpoints[0] = CreateEndpoint("/plaintext"); + + _requests = new HttpContext[1]; + _requests[0] = new DefaultHttpContext(); + _requests[0].RequestServices = CreateServices(); + _requests[0].Request.Path = "/plaintext"; + _minimal = SetupMatcher(MinimalMatcher.CreateBuilder()); _dfa = SetupMatcher(DfaMatcher.CreateBuilder()); _instruction = SetupMatcher(InstructionMatcher.CreateBuilder()); _route = SetupMatcher(RouteMatcher.CreateBuilder()); _tree = SetupMatcher(TreeRouterMatcher.CreateBuilder()); - - _endpoints = new MatcherEndpoint[0]; - _endpoints[0] = CreateEndpoint("/plaintext"); - - _requests = new HttpContext[0]; - _requests[0] = new DefaultHttpContext(); - _requests[0].RequestServices = CreateServices(); - _requests[0].Request.Path = "/plaintext"; } private Matcher SetupMatcher(MatcherBuilder builder) diff --git a/benchmarks/Microsoft.AspNetCore.Routing.Performance/Matchers/SmallEntryCountLiteralMatcherBenchark.cs b/benchmarks/Microsoft.AspNetCore.Routing.Performance/Matchers/SmallEntryCountLiteralMatcherBenchark.cs index 92ad9625a3..9e19aafae6 100644 --- a/benchmarks/Microsoft.AspNetCore.Routing.Performance/Matchers/SmallEntryCountLiteralMatcherBenchark.cs +++ b/benchmarks/Microsoft.AspNetCore.Routing.Performance/Matchers/SmallEntryCountLiteralMatcherBenchark.cs @@ -18,12 +18,6 @@ namespace Microsoft.AspNetCore.Routing.Matchers [GlobalSetup] public void Setup() { - _minimal = SetupMatcher(MinimalMatcher.CreateBuilder()); - _dfa = SetupMatcher(DfaMatcher.CreateBuilder()); - _instruction = SetupMatcher(InstructionMatcher.CreateBuilder()); - _route = SetupMatcher(RouteMatcher.CreateBuilder()); - _tree = SetupMatcher(TreeRouterMatcher.CreateBuilder()); - _endpoints = new MatcherEndpoint[1]; _endpoints[0] = CreateEndpoint("/plaintext"); @@ -31,6 +25,12 @@ namespace Microsoft.AspNetCore.Routing.Matchers _requests[0] = new DefaultHttpContext(); _requests[0].RequestServices = CreateServices(); _requests[0].Request.Path = "/plaintext"; + + _minimal = SetupMatcher(MinimalMatcher.CreateBuilder()); + _dfa = SetupMatcher(DfaMatcher.CreateBuilder()); + _instruction = SetupMatcher(InstructionMatcher.CreateBuilder()); + _route = SetupMatcher(RouteMatcher.CreateBuilder()); + _tree = SetupMatcher(TreeRouterMatcher.CreateBuilder()); } // For this case we're specifically targeting the last entry to hit 'worst case' diff --git a/benchmarks/Microsoft.AspNetCore.Routing.Performance/RoutingBenchmark.cs b/benchmarks/Microsoft.AspNetCore.Routing.Performance/RoutingBenchmark.cs deleted file mode 100644 index 4387522f1b..0000000000 --- a/benchmarks/Microsoft.AspNetCore.Routing.Performance/RoutingBenchmark.cs +++ /dev/null @@ -1,113 +0,0 @@ -// Copyright (c) .NET Foundation. All rights reserved. -// Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information. - -using System; -using System.Linq; -using System.Threading.Tasks; -using BenchmarkDotNet.Attributes; -using Microsoft.AspNetCore.Http; -using Microsoft.AspNetCore.Routing.Internal; -using Microsoft.AspNetCore.Routing.Template; -using Microsoft.AspNetCore.Routing.Tree; -using Microsoft.Extensions.Logging.Abstractions; -using Microsoft.Extensions.ObjectPool; -using Microsoft.Extensions.Options; - -namespace Microsoft.AspNetCore.Routing.Performance -{ - public class RoutingBenchmark - { - private const int NumberOfRequestTypes = 3; - private const int Iterations = 100; - - private readonly IRouter _treeRouter; - private readonly RequestEntry[] _requests; - - public RoutingBenchmark() - { - var handler = new RouteHandler((next) => Task.FromResult(null)); - - var treeBuilder = new TreeRouteBuilder( - NullLoggerFactory.Instance, - new DefaultObjectPool(new UriBuilderContextPooledObjectPolicy()), - new DefaultInlineConstraintResolver(new OptionsManager(new OptionsFactory(Enumerable.Empty>(), Enumerable.Empty>())))); - - treeBuilder.MapInbound(handler, TemplateParser.Parse("api/Widgets"), "default", 0); - treeBuilder.MapInbound(handler, TemplateParser.Parse("api/Widgets/{id}"), "default", 0); - treeBuilder.MapInbound(handler, TemplateParser.Parse("api/Widgets/search/{term}"), "default", 0); - treeBuilder.MapInbound(handler, TemplateParser.Parse("admin/users/{id}"), "default", 0); - treeBuilder.MapInbound(handler, TemplateParser.Parse("admin/users/{id}/manage"), "default", 0); - - _treeRouter = treeBuilder.Build(); - - _requests = new RequestEntry[NumberOfRequestTypes]; - - _requests[0].HttpContext = new DefaultHttpContext(); - _requests[0].HttpContext.Request.Path = "/api/Widgets/5"; - _requests[0].IsMatch = true; - _requests[0].Values = new RouteValueDictionary(new { id = 5 }); - - _requests[1].HttpContext = new DefaultHttpContext(); - _requests[1].HttpContext.Request.Path = "/admin/users/17/mAnage"; - _requests[1].IsMatch = true; - _requests[1].Values = new RouteValueDictionary(new { id = 17 }); - - _requests[2].HttpContext = new DefaultHttpContext(); - _requests[2].HttpContext.Request.Path = "/api/Widgets/search/dldldldldld/ddld"; - _requests[2].IsMatch = false; - _requests[2].Values = new RouteValueDictionary(); - } - - [Benchmark(Description = "Attribute Routing", OperationsPerInvoke = Iterations * NumberOfRequestTypes)] - public async Task AttributeRouting() - { - for (var i = 0; i < Iterations; i++) - { - for (var j = 0; j < _requests.Length; j++) - { - var context = new RouteContext(_requests[j].HttpContext); - - await _treeRouter.RouteAsync(context); - - Verify(context, j); - } - } - } - - private void Verify(RouteContext context, int i) - { - if (_requests[i].IsMatch) - { - if (context.Handler == null) - { - throw new InvalidOperationException($"Failed {i}"); - } - - var values = _requests[i].Values; - if (values.Count != context.RouteData.Values.Count) - { - throw new InvalidOperationException($"Failed {i}"); - } - } - else - { - if (context.Handler != null) - { - throw new InvalidOperationException($"Failed {i}"); - } - - if (context.RouteData.Values.Count != 0) - { - throw new InvalidOperationException($"Failed {i}"); - } - } - } - - private struct RequestEntry - { - public HttpContext HttpContext; - public bool IsMatch; - public RouteValueDictionary Values; - } - } -} \ No newline at end of file diff --git a/benchmarks/Microsoft.AspNetCore.Routing.Performance/readme.md b/benchmarks/Microsoft.AspNetCore.Routing.Performance/readme.md index 38ce0ff71a..cbe60261b3 100644 --- a/benchmarks/Microsoft.AspNetCore.Routing.Performance/readme.md +++ b/benchmarks/Microsoft.AspNetCore.Routing.Performance/readme.md @@ -2,10 +2,15 @@ Compile the solution in Release mode (so binaries are available in release) To run a specific benchmark add it as parameter. ``` -dotnet run -c Release +dotnet run -c Release --framework +``` + +To run all benchmarks use '*' as the name. +``` +dotnet run -c Release --framework * ``` If you run without any parameters, you'll be offered the list of all benchmarks and get to choose. ``` -dotnet run -c Release +dotnet run -c Release --framework ``` \ No newline at end of file From edf26be1bffa632ee52ffd5fa36031fe476e49d3 Mon Sep 17 00:00:00 2001 From: Ryan Nowak Date: Wed, 6 Jun 2018 21:46:21 -0700 Subject: [PATCH 028/221] move feature around --- .../Matchers/AzureMatcherBenchmark.cs | 7 +++++-- .../Matchers/GithubMatcherBenchmark.cs | 8 ++++++-- .../Matchers/SingleEntryMatcherBenchmark.cs | 14 +++++++++----- .../SmallEntryCountLiteralMatcherBenchark.cs | 14 +++++++++----- 4 files changed, 29 insertions(+), 14 deletions(-) diff --git a/benchmarks/Microsoft.AspNetCore.Routing.Performance/Matchers/AzureMatcherBenchmark.cs b/benchmarks/Microsoft.AspNetCore.Routing.Performance/Matchers/AzureMatcherBenchmark.cs index c1df46a2a5..6d862d4b1e 100644 --- a/benchmarks/Microsoft.AspNetCore.Routing.Performance/Matchers/AzureMatcherBenchmark.cs +++ b/benchmarks/Microsoft.AspNetCore.Routing.Performance/Matchers/AzureMatcherBenchmark.cs @@ -15,6 +15,7 @@ namespace Microsoft.AspNetCore.Routing.Matchers private Matcher _tree; private int[] _samples; + private EndpointFeature _feature; [GlobalSetup] public void Setup() @@ -29,12 +30,14 @@ namespace Microsoft.AspNetCore.Routing.Matchers _route = SetupMatcher(RouteMatcher.CreateBuilder()); _tree = SetupMatcher(TreeRouterMatcher.CreateBuilder()); + + _feature = new EndpointFeature(); } [Benchmark(OperationsPerInvoke = SampleCount)] public async Task LegacyRoute() { - var feature = new EndpointFeature(); + var feature = _feature; for (var i = 0; i < SampleCount; i++) { var sample = _samples[i]; @@ -47,7 +50,7 @@ namespace Microsoft.AspNetCore.Routing.Matchers [Benchmark(OperationsPerInvoke = SampleCount)] public async Task LegacyTreeRouter() { - var feature = new EndpointFeature(); + var feature = _feature; for (var i = 0; i < SampleCount; i++) { var sample = _samples[i]; diff --git a/benchmarks/Microsoft.AspNetCore.Routing.Performance/Matchers/GithubMatcherBenchmark.cs b/benchmarks/Microsoft.AspNetCore.Routing.Performance/Matchers/GithubMatcherBenchmark.cs index 35d8058fdc..3ebc210c8d 100644 --- a/benchmarks/Microsoft.AspNetCore.Routing.Performance/Matchers/GithubMatcherBenchmark.cs +++ b/benchmarks/Microsoft.AspNetCore.Routing.Performance/Matchers/GithubMatcherBenchmark.cs @@ -13,6 +13,8 @@ namespace Microsoft.AspNetCore.Routing.Matchers private Matcher _route; private Matcher _tree; + private EndpointFeature _feature; + [GlobalSetup] public void Setup() { @@ -22,12 +24,14 @@ namespace Microsoft.AspNetCore.Routing.Matchers _route = SetupMatcher(RouteMatcher.CreateBuilder()); _tree = SetupMatcher(TreeRouterMatcher.CreateBuilder()); + + _feature = new EndpointFeature(); } [Benchmark(OperationsPerInvoke = EndpointCount)] public async Task LegacyRoute() { - var feature = new EndpointFeature(); + var feature = _feature; for (var i = 0; i < EndpointCount; i++) { var httpContext = _requests[i]; @@ -39,7 +43,7 @@ namespace Microsoft.AspNetCore.Routing.Matchers [Benchmark(OperationsPerInvoke = EndpointCount)] public async Task LegacyTreeRouter() { - var feature = new EndpointFeature(); + var feature = _feature; for (var i = 0; i < EndpointCount; i++) { var httpContext = _requests[i]; diff --git a/benchmarks/Microsoft.AspNetCore.Routing.Performance/Matchers/SingleEntryMatcherBenchmark.cs b/benchmarks/Microsoft.AspNetCore.Routing.Performance/Matchers/SingleEntryMatcherBenchmark.cs index 9c0b393cd8..f7b93f77c1 100644 --- a/benchmarks/Microsoft.AspNetCore.Routing.Performance/Matchers/SingleEntryMatcherBenchmark.cs +++ b/benchmarks/Microsoft.AspNetCore.Routing.Performance/Matchers/SingleEntryMatcherBenchmark.cs @@ -15,6 +15,8 @@ namespace Microsoft.AspNetCore.Routing.Matchers private Matcher _route; private Matcher _tree; + private EndpointFeature _feature; + [GlobalSetup] public void Setup() { @@ -31,6 +33,8 @@ namespace Microsoft.AspNetCore.Routing.Matchers _instruction = SetupMatcher(InstructionMatcher.CreateBuilder()); _route = SetupMatcher(RouteMatcher.CreateBuilder()); _tree = SetupMatcher(TreeRouterMatcher.CreateBuilder()); + + _feature = new EndpointFeature(); } private Matcher SetupMatcher(MatcherBuilder builder) @@ -42,7 +46,7 @@ namespace Microsoft.AspNetCore.Routing.Matchers [Benchmark(Baseline = true)] public async Task Minimal() { - var feature = new EndpointFeature(); + var feature = _feature; await _minimal.MatchAsync(_requests[0], feature); Validate(_requests[0], _endpoints[0], feature.Endpoint); } @@ -50,7 +54,7 @@ namespace Microsoft.AspNetCore.Routing.Matchers [Benchmark] public async Task Dfa() { - var feature = new EndpointFeature(); + var feature = _feature; await _dfa.MatchAsync(_requests[0], feature); Validate(_requests[0], _endpoints[0], feature.Endpoint); } @@ -58,7 +62,7 @@ namespace Microsoft.AspNetCore.Routing.Matchers [Benchmark] public async Task Instruction() { - var feature = new EndpointFeature(); + var feature = _feature; await _instruction.MatchAsync(_requests[0], feature); Validate(_requests[0], _endpoints[0], feature.Endpoint); } @@ -66,7 +70,7 @@ namespace Microsoft.AspNetCore.Routing.Matchers [Benchmark] public async Task LegacyRoute() { - var feature = new EndpointFeature(); + var feature = _feature; await _route.MatchAsync(_requests[0], feature); Validate(_requests[0], _endpoints[0], feature.Endpoint); } @@ -74,7 +78,7 @@ namespace Microsoft.AspNetCore.Routing.Matchers [Benchmark] public async Task LegacyTreeRouter() { - var feature = new EndpointFeature(); + var feature = _feature; await _tree.MatchAsync(_requests[0], feature); Validate(_requests[0], _endpoints[0], feature.Endpoint); } diff --git a/benchmarks/Microsoft.AspNetCore.Routing.Performance/Matchers/SmallEntryCountLiteralMatcherBenchark.cs b/benchmarks/Microsoft.AspNetCore.Routing.Performance/Matchers/SmallEntryCountLiteralMatcherBenchark.cs index 9e19aafae6..64797f9d0b 100644 --- a/benchmarks/Microsoft.AspNetCore.Routing.Performance/Matchers/SmallEntryCountLiteralMatcherBenchark.cs +++ b/benchmarks/Microsoft.AspNetCore.Routing.Performance/Matchers/SmallEntryCountLiteralMatcherBenchark.cs @@ -15,6 +15,8 @@ namespace Microsoft.AspNetCore.Routing.Matchers private Matcher _route; private Matcher _tree; + private EndpointFeature _feature; + [GlobalSetup] public void Setup() { @@ -31,6 +33,8 @@ namespace Microsoft.AspNetCore.Routing.Matchers _instruction = SetupMatcher(InstructionMatcher.CreateBuilder()); _route = SetupMatcher(RouteMatcher.CreateBuilder()); _tree = SetupMatcher(TreeRouterMatcher.CreateBuilder()); + + _feature = new EndpointFeature(); } // For this case we're specifically targeting the last entry to hit 'worst case' @@ -53,7 +57,7 @@ namespace Microsoft.AspNetCore.Routing.Matchers [Benchmark(Baseline = true)] public async Task Minimal() { - var feature = new EndpointFeature(); + var feature = _feature; await _minimal.MatchAsync(_requests[0], feature); Validate(_requests[0], _endpoints[0], feature.Endpoint); } @@ -61,7 +65,7 @@ namespace Microsoft.AspNetCore.Routing.Matchers [Benchmark] public async Task Dfa() { - var feature = new EndpointFeature(); + var feature = _feature; await _dfa.MatchAsync(_requests[0], feature); Validate(_requests[0], _endpoints[0], feature.Endpoint); } @@ -69,7 +73,7 @@ namespace Microsoft.AspNetCore.Routing.Matchers [Benchmark] public async Task Instruction() { - var feature = new EndpointFeature(); + var feature = _feature; await _instruction.MatchAsync(_requests[0], feature); Validate(_requests[0], _endpoints[0], feature.Endpoint); } @@ -77,7 +81,7 @@ namespace Microsoft.AspNetCore.Routing.Matchers [Benchmark] public async Task LegacyRoute() { - var feature = new EndpointFeature(); + var feature = _feature; await _route.MatchAsync(_requests[0], feature); Validate(_requests[0], _endpoints[0], feature.Endpoint); } @@ -85,7 +89,7 @@ namespace Microsoft.AspNetCore.Routing.Matchers [Benchmark] public async Task LegacyTreeRouter() { - var feature = new EndpointFeature(); + var feature = _feature; await _tree.MatchAsync(_requests[0], feature); Validate(_requests[0], _endpoints[0], feature.Endpoint); } From 21f8ce5e95d851a1205a6a284b360536743e3023 Mon Sep 17 00:00:00 2001 From: James Newton-King Date: Thu, 7 Jun 2018 21:47:06 +1200 Subject: [PATCH 029/221] Initial DispatcherMiddleware tests (#529) --- .../DispatcherMiddleware.cs | 22 ++++-- .../DispatcherMiddlewareTest.cs | 72 +++++++++++++++++++ .../Microsoft.AspNetCore.Routing.Tests.csproj | 3 +- .../RouterMiddlewareTest.cs | 4 +- .../TestObjects/TestEndpoint.cs | 12 ++++ .../TestObjects/TestMatcher.cs | 31 ++++++++ .../TestObjects/TestMatcherFactory.cs | 22 ++++++ .../TestObjects/TestServiceProvider.cs | 15 ++++ 8 files changed, 174 insertions(+), 7 deletions(-) create mode 100644 test/Microsoft.AspNetCore.Routing.Tests/DispatcherMiddlewareTest.cs create mode 100644 test/Microsoft.AspNetCore.Routing.Tests/TestObjects/TestEndpoint.cs create mode 100644 test/Microsoft.AspNetCore.Routing.Tests/TestObjects/TestMatcher.cs create mode 100644 test/Microsoft.AspNetCore.Routing.Tests/TestObjects/TestMatcherFactory.cs create mode 100644 test/Microsoft.AspNetCore.Routing.Tests/TestObjects/TestServiceProvider.cs diff --git a/src/Microsoft.AspNetCore.Routing/DispatcherMiddleware.cs b/src/Microsoft.AspNetCore.Routing/DispatcherMiddleware.cs index 885d673028..68328c49ec 100644 --- a/src/Microsoft.AspNetCore.Routing/DispatcherMiddleware.cs +++ b/src/Microsoft.AspNetCore.Routing/DispatcherMiddleware.cs @@ -64,7 +64,11 @@ namespace Microsoft.AspNetCore.Routing await matcher.MatchAsync(httpContext, feature); if (feature.Endpoint != null) { - Log.EndpointMatched(_logger, feature); + Log.MatchSuccess(_logger, feature); + } + else + { + Log.MatchFailure(_logger); } await _next(httpContext); @@ -101,14 +105,24 @@ namespace Microsoft.AspNetCore.Routing private static class Log { private static readonly Action _matchSuccess = LoggerMessage.Define( - LogLevel.Information, - new EventId(0, "MatchSuccess"), + LogLevel.Debug, + new EventId(1, "MatchSuccess"), "Request matched endpoint '{EndpointName}'."); - public static void EndpointMatched(ILogger logger, EndpointFeature feature) + private static readonly Action _matchFailure = LoggerMessage.Define( + LogLevel.Debug, + new EventId(2, "MatchFailure"), + "Request did not match any endpoints."); + + public static void MatchSuccess(ILogger logger, EndpointFeature feature) { _matchSuccess(logger, feature.Endpoint.DisplayName, null); } + + public static void MatchFailure(ILogger logger) + { + _matchFailure(logger, null); + } } } } diff --git a/test/Microsoft.AspNetCore.Routing.Tests/DispatcherMiddlewareTest.cs b/test/Microsoft.AspNetCore.Routing.Tests/DispatcherMiddlewareTest.cs new file mode 100644 index 0000000000..7d93f42951 --- /dev/null +++ b/test/Microsoft.AspNetCore.Routing.Tests/DispatcherMiddlewareTest.cs @@ -0,0 +1,72 @@ +// Copyright (c) .NET Foundation. All rights reserved. +// Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information. + +using System; +using System.Threading.Tasks; +using Microsoft.AspNetCore.Http; +using Microsoft.AspNetCore.Routing.Matchers; +using Microsoft.AspNetCore.Routing.TestObjects; +using Microsoft.Extensions.DependencyInjection; +using Microsoft.Extensions.Logging; +using Microsoft.Extensions.Logging.Abstractions; +using Microsoft.Extensions.Logging.Testing; +using Microsoft.Extensions.Options; +using Xunit; + +namespace Microsoft.AspNetCore.Routing +{ + public class DispatcherMiddlewareTest + { + [Fact] + public async Task Invoke_OnCall_SetsEndpointFeature() + { + // Arrange + var httpContext = new DefaultHttpContext(); + httpContext.RequestServices = new TestServiceProvider(); + + RequestDelegate next = (c) => Task.FromResult(null); + + var logger = new Logger(NullLoggerFactory.Instance); + var options = Options.Create(new DispatcherOptions()); + var matcherFactory = new TestMatcherFactory(false); + var middleware = new DispatcherMiddleware(matcherFactory, options, logger, next); + + // Act + await middleware.Invoke(httpContext); + + // Assert + var endpointFeature = httpContext.Features.Get(); + Assert.NotNull(endpointFeature); + } + + [Fact] + public async Task Invoke_OnCall_WritesToConfiguredLogger() + { + // Arrange + var expectedMessage = "Request matched endpoint 'Test endpoint'."; + + var sink = new TestSink( + TestSink.EnableWithTypeName, + TestSink.EnableWithTypeName); + var loggerFactory = new TestLoggerFactory(sink, enabled: true); + + var httpContext = new DefaultHttpContext(); + httpContext.RequestServices = new TestServiceProvider(); + + RequestDelegate next = (c) => Task.FromResult(null); + + var logger = new Logger(loggerFactory); + var options = Options.Create(new DispatcherOptions()); + var matcherFactory = new TestMatcherFactory(true); + var middleware = new DispatcherMiddleware(matcherFactory, options, logger, next); + + // Act + await middleware.Invoke(httpContext); + + // Assert + Assert.Empty(sink.Scopes); + var write = Assert.Single(sink.Writes); + Assert.Equal(expectedMessage, write.State?.ToString()); + } + } +} diff --git a/test/Microsoft.AspNetCore.Routing.Tests/Microsoft.AspNetCore.Routing.Tests.csproj b/test/Microsoft.AspNetCore.Routing.Tests/Microsoft.AspNetCore.Routing.Tests.csproj index ee389c233d..afc33172aa 100644 --- a/test/Microsoft.AspNetCore.Routing.Tests/Microsoft.AspNetCore.Routing.Tests.csproj +++ b/test/Microsoft.AspNetCore.Routing.Tests/Microsoft.AspNetCore.Routing.Tests.csproj @@ -1,7 +1,8 @@ - + $(StandardTestTfms) + Microsoft.AspNetCore.Routing diff --git a/test/Microsoft.AspNetCore.Routing.Tests/RouterMiddlewareTest.cs b/test/Microsoft.AspNetCore.Routing.Tests/RouterMiddlewareTest.cs index 464a389b44..8159c294e3 100644 --- a/test/Microsoft.AspNetCore.Routing.Tests/RouterMiddlewareTest.cs +++ b/test/Microsoft.AspNetCore.Routing.Tests/RouterMiddlewareTest.cs @@ -13,7 +13,7 @@ namespace Microsoft.AspNetCore.Routing public class RouterMiddlewareTest { [Fact] - public async void Invoke_LogsCorrectValues_WhenNotHandled() + public async Task Invoke_LogsCorrectValues_WhenNotHandled() { // Arrange var expectedMessage = "Request did not match any routes."; @@ -45,7 +45,7 @@ namespace Microsoft.AspNetCore.Routing } [Fact] - public async void Invoke_DoesNotLog_WhenHandled() + public async Task Invoke_DoesNotLog_WhenHandled() { // Arrange var isHandled = true; diff --git a/test/Microsoft.AspNetCore.Routing.Tests/TestObjects/TestEndpoint.cs b/test/Microsoft.AspNetCore.Routing.Tests/TestObjects/TestEndpoint.cs new file mode 100644 index 0000000000..6cce52a5de --- /dev/null +++ b/test/Microsoft.AspNetCore.Routing.Tests/TestObjects/TestEndpoint.cs @@ -0,0 +1,12 @@ +// Copyright (c) .NET Foundation. All rights reserved. +// Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information. + +namespace Microsoft.AspNetCore.Routing.TestObjects +{ + internal class TestEndpoint : Endpoint + { + public TestEndpoint(EndpointMetadataCollection metadata, string displayName) : base(metadata, displayName) + { + } + } +} \ No newline at end of file diff --git a/test/Microsoft.AspNetCore.Routing.Tests/TestObjects/TestMatcher.cs b/test/Microsoft.AspNetCore.Routing.Tests/TestObjects/TestMatcher.cs new file mode 100644 index 0000000000..3522a5ea53 --- /dev/null +++ b/test/Microsoft.AspNetCore.Routing.Tests/TestObjects/TestMatcher.cs @@ -0,0 +1,31 @@ +// Copyright (c) .NET Foundation. All rights reserved. +// Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information. + +using System.Collections.Generic; +using System.Text; +using System.Threading.Tasks; +using Microsoft.AspNetCore.Http; +using Microsoft.AspNetCore.Routing.Matchers; + +namespace Microsoft.AspNetCore.Routing.TestObjects +{ + internal class TestMatcher : Matcher + { + private readonly bool _isHandled; + + public TestMatcher(bool isHandled) + { + _isHandled = isHandled; + } + + public override Task MatchAsync(HttpContext httpContext, IEndpointFeature feature) + { + if (_isHandled) + { + feature.Endpoint = new TestEndpoint(EndpointMetadataCollection.Empty, "Test endpoint"); + } + + return Task.CompletedTask; + } + } +} diff --git a/test/Microsoft.AspNetCore.Routing.Tests/TestObjects/TestMatcherFactory.cs b/test/Microsoft.AspNetCore.Routing.Tests/TestObjects/TestMatcherFactory.cs new file mode 100644 index 0000000000..18d1f5d27a --- /dev/null +++ b/test/Microsoft.AspNetCore.Routing.Tests/TestObjects/TestMatcherFactory.cs @@ -0,0 +1,22 @@ +// Copyright (c) .NET Foundation. All rights reserved. +// Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information. + +using Microsoft.AspNetCore.Routing.Matchers; + +namespace Microsoft.AspNetCore.Routing.TestObjects +{ + internal class TestMatcherFactory : MatcherFactory + { + private readonly bool _isHandled; + + public TestMatcherFactory(bool isHandled) + { + _isHandled = isHandled; + } + + public override Matcher CreateMatcher(EndpointDataSource dataSource) + { + return new TestMatcher(_isHandled); + } + } +} \ No newline at end of file diff --git a/test/Microsoft.AspNetCore.Routing.Tests/TestObjects/TestServiceProvider.cs b/test/Microsoft.AspNetCore.Routing.Tests/TestObjects/TestServiceProvider.cs new file mode 100644 index 0000000000..a9470edb24 --- /dev/null +++ b/test/Microsoft.AspNetCore.Routing.Tests/TestObjects/TestServiceProvider.cs @@ -0,0 +1,15 @@ +// Copyright (c) .NET Foundation. All rights reserved. +// Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information. + +using System; + +namespace Microsoft.AspNetCore.Routing.TestObjects +{ + internal class TestServiceProvider : IServiceProvider + { + public object GetService(Type serviceType) + { + throw new NotImplementedException(); + } + } +} \ No newline at end of file From 33aa56abe5a742e10394504bd09d320b6728912a Mon Sep 17 00:00:00 2001 From: "ASP.NET CI" Date: Thu, 7 Jun 2018 19:46:28 +0000 Subject: [PATCH 030/221] Update dependencies.props [auto-updated: dependencies] --- build/dependencies.props | 56 ++++++++++++++++++++-------------------- korebuild-lock.txt | 4 +-- 2 files changed, 30 insertions(+), 30 deletions(-) diff --git a/build/dependencies.props b/build/dependencies.props index 65ddba599e..3073631044 100644 --- a/build/dependencies.props +++ b/build/dependencies.props @@ -4,36 +4,36 @@ 0.10.13 - 2.2.0-preview1-17067 - 2.2.0-preview1-34373 - 2.2.0-preview1-34373 - 2.2.0-preview1-34373 - 2.2.0-preview1-34373 - 2.2.0-preview1-34373 - 2.2.0-preview1-34373 - 2.2.0-preview1-34373 - 2.2.0-preview1-34373 - 2.2.0-preview1-34373 - 2.2.0-preview1-34373 - 2.2.0-preview1-34373 - 2.2.0-preview1-34373 - 2.2.0-preview1-34373 - 2.2.0-preview1-34373 - 2.2.0-preview1-34373 - 2.2.0-preview1-34373 - 2.2.0-preview1-34373 - 2.2.0-preview1-34373 - 2.2.0-preview1-34373 - 2.2.0-preview1-34373 - 2.2.0-preview1-34373 - 2.2.0-preview1-34373 - 2.2.0-preview1-34373 - 2.2.0-preview1-34373 - 2.2.0-preview1-34373 - 2.2.0-preview1-34373 + 2.2.0-preview1-17081 + 2.2.0-preview1-34411 + 2.2.0-preview1-34411 + 2.2.0-preview1-34411 + 2.2.0-preview1-34411 + 2.2.0-preview1-34411 + 2.2.0-preview1-34411 + 2.2.0-preview1-34411 + 2.2.0-preview1-34411 + 2.2.0-preview1-34411 + 2.2.0-preview1-34411 + 2.2.0-preview1-34411 + 2.2.0-preview1-34411 + 2.2.0-preview1-34411 + 2.2.0-preview1-34411 + 2.2.0-preview1-34411 + 2.2.0-preview1-34411 + 2.2.0-preview1-34411 + 2.2.0-preview1-34411 + 2.2.0-preview1-34411 + 2.2.0-preview1-34411 + 2.2.0-preview1-34411 + 2.2.0-preview1-34411 + 2.2.0-preview1-34411 + 2.2.0-preview1-34411 + 2.2.0-preview1-34411 + 2.2.0-preview1-34411 2.0.0 2.1.0 - 2.2.0-preview1-26531-03 + 2.2.0-preview1-26606-01 15.6.1 4.7.49 2.0.3 diff --git a/korebuild-lock.txt b/korebuild-lock.txt index b679b80427..deb7e546f0 100644 --- a/korebuild-lock.txt +++ b/korebuild-lock.txt @@ -1,2 +1,2 @@ -version:2.2.0-preview1-17075 -commithash:d9f07c7f313a0af1d49f003f5424b4dbbdd3e09f +version:2.2.0-preview1-17081 +commithash:73f09c256e2a54270951562ecc0ef4a953926c36 From 48dd7a968842e6457ea3a337b5312dd017af2b1c Mon Sep 17 00:00:00 2001 From: James Newton-King Date: Fri, 8 Jun 2018 08:57:24 +1200 Subject: [PATCH 031/221] Fix log order (#540) --- .../Matchers/TreeMatcher.cs | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/src/Microsoft.AspNetCore.Routing/Matchers/TreeMatcher.cs b/src/Microsoft.AspNetCore.Routing/Matchers/TreeMatcher.cs index 85548be378..a0970120eb 100644 --- a/src/Microsoft.AspNetCore.Routing/Matchers/TreeMatcher.cs +++ b/src/Microsoft.AspNetCore.Routing/Matchers/TreeMatcher.cs @@ -297,27 +297,27 @@ namespace Microsoft.AspNetCore.Routing.Matchers { private static readonly Action _matchSuccess = LoggerMessage.Define( LogLevel.Debug, - new EventId(0, "MatchSuccess"), + new EventId(1, "MatchSuccess"), "Request matched endpoint '{EndpointName}' for request path '{Path}'."); private static readonly Action _matchFailed = LoggerMessage.Define( LogLevel.Debug, - new EventId(1, "MatchFailed"), + new EventId(2, "MatchFailed"), "No endpoints matched request path '{Path}'."); private static readonly Action, Exception> _matchAmbiguous = LoggerMessage.Define>( LogLevel.Error, - new EventId(2, "MatchAmbiguous"), + new EventId(3, "MatchAmbiguous"), "Request matched multiple endpoints for request path '{Path}'. Matching endpoints: {AmbiguousEndpoints}"); private static readonly Action _constraintFailed = LoggerMessage.Define( LogLevel.Debug, - new EventId(3, "ContraintFailed"), + new EventId(4, "ContraintFailed"), "Route value '{RouteValue}' with key '{RouteKey}' did not match the constraint '{RouteConstraint}'."); private static readonly Action _matchedTemplate = LoggerMessage.Define( LogLevel.Debug, - new EventId(4, "MatchedTemplate"), + new EventId(5, "MatchedTemplate"), "Request matched the route pattern '{RouteTemplate}' for request path '{Path}'."); public static void MatchSuccess(ILogger logger, HttpContext httpContext, Endpoint endpoint) @@ -342,7 +342,7 @@ namespace Microsoft.AspNetCore.Routing.Matchers public static void MatchedTemplate(ILogger logger, HttpContext httpContext, RouteTemplate template) { - _matchedTemplate(logger, httpContext.Request.Path, template.TemplateText, null); + _matchedTemplate(logger, template.TemplateText, httpContext.Request.Path, null); } } } From cc9a50e6d4d1781ee3e2104a96d4ffc3b683dba7 Mon Sep 17 00:00:00 2001 From: Ryan Brandenburg Date: Thu, 7 Jun 2018 15:47:47 -0700 Subject: [PATCH 032/221] Adding VSTS file --- .vsts-pipelines/builds/ci-internal.yml | 13 +++++++++++++ .vsts-pipelines/builds/ci-public.yml | 15 +++++++++++++++ 2 files changed, 28 insertions(+) create mode 100644 .vsts-pipelines/builds/ci-internal.yml create mode 100644 .vsts-pipelines/builds/ci-public.yml diff --git a/.vsts-pipelines/builds/ci-internal.yml b/.vsts-pipelines/builds/ci-internal.yml new file mode 100644 index 0000000000..d7ceb76378 --- /dev/null +++ b/.vsts-pipelines/builds/ci-internal.yml @@ -0,0 +1,13 @@ +trigger: +- dev +- release/* + +resources: + repositories: + - repository: buildtools + type: git + name: aspnet-BuildTools + ref: refs/heads/dev + +phases: +- template: .vsts-pipelines/templates/project-ci.yml@buildtools diff --git a/.vsts-pipelines/builds/ci-public.yml b/.vsts-pipelines/builds/ci-public.yml new file mode 100644 index 0000000000..b7f25723f8 --- /dev/null +++ b/.vsts-pipelines/builds/ci-public.yml @@ -0,0 +1,15 @@ +trigger: +- dev +- release/* + +# See https://github.com/aspnet/BuildTools +resources: + repositories: + - repository: buildtools + type: github + endpoint: DotNet-Bot GitHub Connection + name: aspnet/BuildTools + ref: refs/heads/dev + +phases: +- template: .vsts-pipelines/templates/project-ci.yml@buildtools From 1b470f3d3bb67ae97be33ab81804d772f80ac3f7 Mon Sep 17 00:00:00 2001 From: James Newton-King Date: Fri, 8 Jun 2018 16:19:56 +1200 Subject: [PATCH 033/221] Fix Endpoint order in TreeMatcher (#542) --- .../Matchers/TreeMatcher.cs | 2 +- .../Matchers/TreeMatcherTests.cs | 57 +++++++++++++++++++ 2 files changed, 58 insertions(+), 1 deletion(-) create mode 100644 test/Microsoft.AspNetCore.Routing.Tests/Matchers/TreeMatcherTests.cs diff --git a/src/Microsoft.AspNetCore.Routing/Matchers/TreeMatcher.cs b/src/Microsoft.AspNetCore.Routing/Matchers/TreeMatcher.cs index a0970120eb..26923cd1c9 100644 --- a/src/Microsoft.AspNetCore.Routing/Matchers/TreeMatcher.cs +++ b/src/Microsoft.AspNetCore.Routing/Matchers/TreeMatcher.cs @@ -194,7 +194,7 @@ namespace Microsoft.AspNetCore.Routing.Matchers foreach (var group in groups) { var template = TemplateParser.Parse(group.Key.Template); - var entryExists = entries.Any(item => item.RouteTemplate.TemplateText == template.TemplateText); + var entryExists = entries.Any(item => item.RouteTemplate.TemplateText == template.TemplateText && item.Order == group.Key.Order); if (!entryExists) { entries.Add(MapInbound(template, group.Value.ToArray(), group.Key.Order)); diff --git a/test/Microsoft.AspNetCore.Routing.Tests/Matchers/TreeMatcherTests.cs b/test/Microsoft.AspNetCore.Routing.Tests/Matchers/TreeMatcherTests.cs new file mode 100644 index 0000000000..68072aaaea --- /dev/null +++ b/test/Microsoft.AspNetCore.Routing.Tests/Matchers/TreeMatcherTests.cs @@ -0,0 +1,57 @@ +// Copyright (c) .NET Foundation. All rights reserved. +// Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information. + +using Microsoft.AspNetCore.Http; +using Microsoft.Extensions.Logging.Abstractions; +using Microsoft.Extensions.Options; +using System; +using System.Collections.Generic; +using System.Text; +using System.Threading.Tasks; +using Xunit; + +namespace Microsoft.AspNetCore.Routing.Matchers +{ + public class TreeMatcherTests + { + private MatcherEndpoint CreateEndpoint(string template, int order, object values = null) + { + return new MatcherEndpoint((next) => null, template, values, order, EndpointMetadataCollection.Empty, template); + } + + private TreeMatcher CreateTreeMatcher(EndpointDataSource endpointDataSource) + { + var defaultInlineConstraintResolver = new DefaultInlineConstraintResolver(Options.Create(new RouteOptions())); + return new TreeMatcher(defaultInlineConstraintResolver, NullLogger.Instance, endpointDataSource); + } + + [Fact] + public async Task MatchAsync_DuplicateTemplatesAndDifferentOrder_LowerOrderEndpointMatched() + { + // Arrange + var defaultInlineConstraintResolver = new DefaultInlineConstraintResolver(Options.Create(new RouteOptions())); + + var higherOrderEndpoint = CreateEndpoint("/Teams", 1); + var lowerOrderEndpoint = CreateEndpoint("/Teams", 0); + + var endpointDataSource = new DefaultEndpointDataSource(new List + { + higherOrderEndpoint, + lowerOrderEndpoint + }); + + var treeMatcher = CreateTreeMatcher(endpointDataSource); + + var httpContext = new DefaultHttpContext(); + httpContext.Request.Path = "/Teams"; + + var endpointFeature = new EndpointFeature(); + + // Act + await treeMatcher.MatchAsync(httpContext, endpointFeature); + + // Assert + Assert.Equal(lowerOrderEndpoint, endpointFeature.Endpoint); + } + } +} From 08f12f2bfd36f8f6c215c47b5faab7378179b2ec Mon Sep 17 00:00:00 2001 From: Ryan Nowak Date: Thu, 7 Jun 2018 21:59:45 -0700 Subject: [PATCH 034/221] Add sample matcher tests --- .../Matchers/TreeRouterMatcher.cs | 1 - .../Matchers/MatcherEndpoint.cs | 6 ++ .../Matchers/DispatcherAssert.cs | 54 ++++++++++++ .../Matchers/MatcherConformanceTest.cs | 84 +++++++++++++++++++ .../Matchers/TreeRouterMatcher.cs | 44 ++++++++++ .../TreeRouterMatcherConformanceTest.cs | 38 +++++++++ 6 files changed, 226 insertions(+), 1 deletion(-) create mode 100644 test/Microsoft.AspNetCore.Routing.Tests/Matchers/DispatcherAssert.cs create mode 100644 test/Microsoft.AspNetCore.Routing.Tests/Matchers/MatcherConformanceTest.cs create mode 100644 test/Microsoft.AspNetCore.Routing.Tests/Matchers/TreeRouterMatcher.cs create mode 100644 test/Microsoft.AspNetCore.Routing.Tests/Matchers/TreeRouterMatcherConformanceTest.cs diff --git a/benchmarks/Microsoft.AspNetCore.Routing.Performance/Matchers/TreeRouterMatcher.cs b/benchmarks/Microsoft.AspNetCore.Routing.Performance/Matchers/TreeRouterMatcher.cs index bdce2710ba..4346eb740f 100644 --- a/benchmarks/Microsoft.AspNetCore.Routing.Performance/Matchers/TreeRouterMatcher.cs +++ b/benchmarks/Microsoft.AspNetCore.Routing.Performance/Matchers/TreeRouterMatcher.cs @@ -41,7 +41,6 @@ namespace Microsoft.AspNetCore.Routing.Matchers if (context.Handler != null) { - httpContext.Features.Set(feature); await context.Handler(httpContext); } } diff --git a/src/Microsoft.AspNetCore.Routing/Matchers/MatcherEndpoint.cs b/src/Microsoft.AspNetCore.Routing/Matchers/MatcherEndpoint.cs index 6941597c7b..d371afc143 100644 --- a/src/Microsoft.AspNetCore.Routing/Matchers/MatcherEndpoint.cs +++ b/src/Microsoft.AspNetCore.Routing/Matchers/MatcherEndpoint.cs @@ -3,12 +3,18 @@ using System; using System.Collections.Generic; +using System.Threading.Tasks; using Microsoft.AspNetCore.Http; namespace Microsoft.AspNetCore.Routing.Matchers { public sealed class MatcherEndpoint : Endpoint { + internal static readonly Func EmptyInvoker = (next) => + { + return (context) => Task.CompletedTask; + }; + public MatcherEndpoint( Func invoker, string template, diff --git a/test/Microsoft.AspNetCore.Routing.Tests/Matchers/DispatcherAssert.cs b/test/Microsoft.AspNetCore.Routing.Tests/Matchers/DispatcherAssert.cs new file mode 100644 index 0000000000..b6c7bdd0fc --- /dev/null +++ b/test/Microsoft.AspNetCore.Routing.Tests/Matchers/DispatcherAssert.cs @@ -0,0 +1,54 @@ +// Copyright (c) .NET Foundation. All rights reserved. +// Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information. + +using System.Linq; +using Xunit.Sdk; + +namespace Microsoft.AspNetCore.Routing.Matchers +{ + internal static class DispatcherAssert + { + public static void AssertMatch(IEndpointFeature feature, Endpoint expected) + { + AssertMatch(feature, expected, new RouteValueDictionary()); + } + + public static void AssertMatch(IEndpointFeature feature, Endpoint expected, RouteValueDictionary values) + { + if (feature.Endpoint == null) + { + throw new XunitException($"Was expected to match '{expected.DisplayName}' but did not match."); + } + + if (!object.ReferenceEquals(expected, feature.Endpoint)) + { + throw new XunitException( + $"Was expected to match '{expected.DisplayName}' but matched " + + $"'{feature.Endpoint.DisplayName}' with values: {FormatRouteValues(feature.Values)}."); + } + + if (values.Count != feature.Values.Count || + !values.OrderBy(kvp => kvp.Key).SequenceEqual(feature.Values.OrderBy(kvp => kvp.Key))) + { + throw new XunitException( + $"Was expected to match '{expected.DisplayName}' with values {FormatRouteValues(values)} but matched " + + $"values: {FormatRouteValues(feature.Values)}."); + } + } + + public static void AssertNotMatch(IEndpointFeature feature) + { + if (feature.Endpoint != null) + { + throw new XunitException( + $"Was expected not to match '{feature.Endpoint.DisplayName}' " + + $"but matched with values: {FormatRouteValues(feature.Values)}."); + } + } + + private static string FormatRouteValues(RouteValueDictionary values) + { + return "{" + string.Join(", ", values.Select(kvp => $"{kvp.Key} = '{kvp.Value}'")) + "}"; + } + } +} diff --git a/test/Microsoft.AspNetCore.Routing.Tests/Matchers/MatcherConformanceTest.cs b/test/Microsoft.AspNetCore.Routing.Tests/Matchers/MatcherConformanceTest.cs new file mode 100644 index 0000000000..a0b2fca129 --- /dev/null +++ b/test/Microsoft.AspNetCore.Routing.Tests/Matchers/MatcherConformanceTest.cs @@ -0,0 +1,84 @@ +// Copyright (c) .NET Foundation. All rights reserved. +// Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information. + +using System; +using System.Threading.Tasks; +using Microsoft.AspNetCore.Http; +using Microsoft.Extensions.DependencyInjection; +using Xunit; + +namespace Microsoft.AspNetCore.Routing.Matchers +{ + public abstract class MatcherConformanceTest + { + internal abstract Matcher CreateMatcher(MatcherEndpoint endpoint); + + [Fact] + public virtual async Task Match_SingleLiteralSegment_Success() + { + // Arrange + var (matcher, endpoint) = CreateMatcher("/simple"); + var (httpContext, feature) = CreateContext("/simple"); + + // Act + await matcher.MatchAsync(httpContext, feature); + + // Assert + DispatcherAssert.AssertMatch(feature, endpoint); + } + + [Theory] + [InlineData("simple")] + [InlineData("/simple")] + [InlineData("~/simple")] + public virtual async Task Match_Sanitizies_TemplatePrefix(string template) + { + // Arrange + var (matcher, endpoint) = CreateMatcher(template); + var (httpContext, feature) = CreateContext("/simple"); + + // Act + await matcher.MatchAsync(httpContext, feature); + + // Assert + DispatcherAssert.AssertMatch(feature, endpoint); + } + + internal static (HttpContext httpContext, IEndpointFeature feature) CreateContext(string path) + { + var httpContext = new DefaultHttpContext(); + httpContext.Request.Method = "TEST"; + httpContext.Request.Path = path; + httpContext.RequestServices = CreateServices(); + + var feature = new EndpointFeature(); + httpContext.Features.Set(feature); + + return (httpContext, feature); + } + + // The older routing implementations retrieve services when they first execute. + internal static IServiceProvider CreateServices() + { + var services = new ServiceCollection(); + services.AddLogging(); + return services.BuildServiceProvider(); + } + + internal static MatcherEndpoint CreateEndpoint(string template) + { + return new MatcherEndpoint( + MatcherEndpoint.EmptyInvoker, + template, + null, + 0, + EndpointMetadataCollection.Empty, "endpoint: " + template); + } + + internal (Matcher matcher, MatcherEndpoint endpoint) CreateMatcher(string template) + { + var endpoint = CreateEndpoint(template); + return (CreateMatcher(endpoint), endpoint); + } + } +} diff --git a/test/Microsoft.AspNetCore.Routing.Tests/Matchers/TreeRouterMatcher.cs b/test/Microsoft.AspNetCore.Routing.Tests/Matchers/TreeRouterMatcher.cs new file mode 100644 index 0000000000..1cb70e611a --- /dev/null +++ b/test/Microsoft.AspNetCore.Routing.Tests/Matchers/TreeRouterMatcher.cs @@ -0,0 +1,44 @@ +// Copyright (c) .NET Foundation. All rights reserved. +// Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information. + +using System; +using System.Threading.Tasks; +using Microsoft.AspNetCore.Http; +using Microsoft.AspNetCore.Routing.Tree; + +namespace Microsoft.AspNetCore.Routing.Matchers +{ + // This is an adapter to use TreeRouter in the conformance tests + internal class TreeRouterMatcher : Matcher + { + private readonly TreeRouter _inner; + + internal TreeRouterMatcher(TreeRouter inner) + { + _inner = inner; + } + + public async override Task MatchAsync(HttpContext httpContext, IEndpointFeature feature) + { + if (httpContext == null) + { + throw new ArgumentNullException(nameof(httpContext)); + } + + if (feature == null) + { + throw new ArgumentNullException(nameof(feature)); + } + + var context = new RouteContext(httpContext); + await _inner.RouteAsync(context); + + if (context.Handler != null) + { + httpContext.Features.Get().Values = context.RouteData.Values; + await context.Handler(httpContext); + } + } + } +} + diff --git a/test/Microsoft.AspNetCore.Routing.Tests/Matchers/TreeRouterMatcherConformanceTest.cs b/test/Microsoft.AspNetCore.Routing.Tests/Matchers/TreeRouterMatcherConformanceTest.cs new file mode 100644 index 0000000000..45f04ad4ba --- /dev/null +++ b/test/Microsoft.AspNetCore.Routing.Tests/Matchers/TreeRouterMatcherConformanceTest.cs @@ -0,0 +1,38 @@ +// Copyright (c) .NET Foundation. All rights reserved. +// Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information. + +using System.Threading.Tasks; +using Microsoft.AspNetCore.Routing.Internal; +using Microsoft.AspNetCore.Routing.Template; +using Microsoft.AspNetCore.Routing.Tree; +using Microsoft.Extensions.Logging.Abstractions; +using Microsoft.Extensions.ObjectPool; +using Microsoft.Extensions.Options; +using Xunit; + +namespace Microsoft.AspNetCore.Routing.Matchers +{ + public class TreeRouterMatcherConformanceTest : MatcherConformanceTest + { + internal override Matcher CreateMatcher(MatcherEndpoint endpoint) + { + var builder = new TreeRouteBuilder( + NullLoggerFactory.Instance, + new DefaultObjectPool(new UriBuilderContextPooledObjectPolicy()), + new DefaultInlineConstraintResolver(Options.Create(new RouteOptions()))); + + var handler = new RouteHandler(c => + { + var feature = c.Features.Get(); + feature.Endpoint = endpoint; + feature.Invoker = MatcherEndpoint.EmptyInvoker; + + return Task.CompletedTask; + }); + + builder.MapInbound(handler, TemplateParser.Parse(endpoint.Template), "default", 0); + + return new TreeRouterMatcher(builder.Build()); + } + } +} From 84bc8351c93d169b9ef41349db3cfa112b77fd91 Mon Sep 17 00:00:00 2001 From: James Newton-King Date: Tue, 12 Jun 2018 09:43:17 +1200 Subject: [PATCH 035/221] Initial endpoint constraints functionality (#548) --- .../DispatcherServiceCollectionExtensions.cs | 11 + .../DispatcherMiddleware.cs | 13 +- .../EndpointConstraintCache.cs | 193 ++++++++ .../EndpointConstraints/EndpointSelector.cs | 225 +++++++++ .../HttpMethodEndpointConstraint.cs | 70 +++ .../IEndpointConstraint.cs | 165 +++++++ .../Matchers/TreeMatcher.cs | 8 +- .../Matchers/TreeMatcherFactory.cs | 15 +- .../DispatcherMiddlewareTest.cs | 30 +- .../EndpointSelectorTests.cs | 438 ++++++++++++++++++ .../HttpMethodEndpointConstraintTest.cs | 87 ++++ .../Matchers/TreeMatcherTests.cs | 11 +- 12 files changed, 1242 insertions(+), 24 deletions(-) create mode 100644 src/Microsoft.AspNetCore.Routing/EndpointConstraints/EndpointConstraintCache.cs create mode 100644 src/Microsoft.AspNetCore.Routing/EndpointConstraints/EndpointSelector.cs create mode 100644 src/Microsoft.AspNetCore.Routing/EndpointConstraints/HttpMethodEndpointConstraint.cs create mode 100644 src/Microsoft.AspNetCore.Routing/EndpointConstraints/IEndpointConstraint.cs create mode 100644 test/Microsoft.AspNetCore.Routing.Tests/EndpointConstraints/EndpointSelectorTests.cs create mode 100644 test/Microsoft.AspNetCore.Routing.Tests/Internal/HttpMethodEndpointConstraintTest.cs diff --git a/src/Microsoft.AspNetCore.Routing/DependencyInjection/DispatcherServiceCollectionExtensions.cs b/src/Microsoft.AspNetCore.Routing/DependencyInjection/DispatcherServiceCollectionExtensions.cs index d1f5d96f5f..2bb82e0933 100644 --- a/src/Microsoft.AspNetCore.Routing/DependencyInjection/DispatcherServiceCollectionExtensions.cs +++ b/src/Microsoft.AspNetCore.Routing/DependencyInjection/DispatcherServiceCollectionExtensions.cs @@ -3,6 +3,7 @@ using System; using Microsoft.AspNetCore.Routing; +using Microsoft.AspNetCore.Routing.EndpointConstraints; using Microsoft.AspNetCore.Routing.Matchers; using Microsoft.Extensions.DependencyInjection.Extensions; using Microsoft.Extensions.Options; @@ -33,6 +34,16 @@ namespace Microsoft.Extensions.DependencyInjection // services.TryAddSingleton(); + // + // Endpoint Selection + // + services.TryAddSingleton(); + services.TryAddSingleton(); + + // Will be cached by the EndpointSelector + services.TryAddEnumerable( + ServiceDescriptor.Transient()); + return services; } diff --git a/src/Microsoft.AspNetCore.Routing/DispatcherMiddleware.cs b/src/Microsoft.AspNetCore.Routing/DispatcherMiddleware.cs index 68328c49ec..cccebfe7b1 100644 --- a/src/Microsoft.AspNetCore.Routing/DispatcherMiddleware.cs +++ b/src/Microsoft.AspNetCore.Routing/DispatcherMiddleware.cs @@ -15,14 +15,14 @@ namespace Microsoft.AspNetCore.Routing { private readonly MatcherFactory _matcherFactory; private readonly ILogger _logger; - private readonly IOptions _options; + private readonly CompositeEndpointDataSource _endpointDataSource; private readonly RequestDelegate _next; private Task _initializationTask; public DispatcherMiddleware( MatcherFactory matcherFactory, - IOptions options, + CompositeEndpointDataSource endpointDataSource, ILogger logger, RequestDelegate next) { @@ -31,9 +31,9 @@ namespace Microsoft.AspNetCore.Routing throw new ArgumentNullException(nameof(matcherFactory)); } - if (options == null) + if (endpointDataSource == null) { - throw new ArgumentNullException(nameof(options)); + throw new ArgumentNullException(nameof(endpointDataSource)); } if (logger == null) @@ -47,7 +47,7 @@ namespace Microsoft.AspNetCore.Routing } _matcherFactory = matcherFactory; - _options = options; + _endpointDataSource = endpointDataSource; _logger = logger; _next = next; } @@ -94,8 +94,7 @@ namespace Microsoft.AspNetCore.Routing null) == null) { // This thread won the race, do the initialization. - var dataSource = new CompositeEndpointDataSource(_options.Value.DataSources); - var matcher = _matcherFactory.CreateMatcher(dataSource); + var matcher = _matcherFactory.CreateMatcher(_endpointDataSource); initializationTask.SetResult(matcher); } diff --git a/src/Microsoft.AspNetCore.Routing/EndpointConstraints/EndpointConstraintCache.cs b/src/Microsoft.AspNetCore.Routing/EndpointConstraints/EndpointConstraintCache.cs new file mode 100644 index 0000000000..0728dcc9b6 --- /dev/null +++ b/src/Microsoft.AspNetCore.Routing/EndpointConstraints/EndpointConstraintCache.cs @@ -0,0 +1,193 @@ +// Copyright (c) .NET Foundation. All rights reserved. +// Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information. + +using Microsoft.AspNetCore.Http; +using System.Collections.Concurrent; +using System.Collections.Generic; +using System.Diagnostics; +using System.Linq; + +namespace Microsoft.AspNetCore.Routing.EndpointConstraints +{ + internal class EndpointConstraintCache + { + private readonly CompositeEndpointDataSource _dataSource; + private readonly IEndpointConstraintProvider[] _endpointConstraintProviders; + + private volatile InnerCache _currentCache; + + public EndpointConstraintCache( + CompositeEndpointDataSource dataSource, + IEnumerable endpointConstraintProviders) + { + _dataSource = dataSource; + _endpointConstraintProviders = endpointConstraintProviders.OrderBy(item => item.Order).ToArray(); + } + + private InnerCache CurrentCache + { + get + { + var current = _currentCache; + var endpointDescriptors = _dataSource.Endpoints; + + if (current == null) + { + current = new InnerCache(); + _currentCache = current; + } + + return current; + } + } + + public IReadOnlyList GetEndpointConstraints(HttpContext httpContext, Endpoint endpoint) + { + var cache = CurrentCache; + + if (cache.Entries.TryGetValue(endpoint, out var entry)) + { + return GetEndpointConstraintsFromEntry(entry, httpContext, endpoint); + } + + if (endpoint.Metadata == null || endpoint.Metadata.Count == 0) + { + return null; + } + + var items = endpoint.Metadata + .OfType() + .Select(m => new EndpointConstraintItem(m)) + .ToList(); + + ExecuteProviders(httpContext, endpoint, items); + + var endpointConstraints = ExtractEndpointConstraints(items); + + var allEndpointConstraintsCached = true; + for (var i = 0; i < items.Count; i++) + { + var item = items[i]; + if (!item.IsReusable) + { + item.Constraint = null; + allEndpointConstraintsCached = false; + } + } + + if (allEndpointConstraintsCached) + { + entry = new CacheEntry(endpointConstraints); + } + else + { + entry = new CacheEntry(items); + } + + cache.Entries.TryAdd(endpoint, entry); + return endpointConstraints; + } + + private IReadOnlyList GetEndpointConstraintsFromEntry(CacheEntry entry, HttpContext httpContext, Endpoint endpoint) + { + Debug.Assert(entry.EndpointConstraints != null || entry.Items != null); + + if (entry.EndpointConstraints != null) + { + return entry.EndpointConstraints; + } + + var items = new List(entry.Items.Count); + for (var i = 0; i < entry.Items.Count; i++) + { + var item = entry.Items[i]; + if (item.IsReusable) + { + items.Add(item); + } + else + { + items.Add(new EndpointConstraintItem(item.Metadata)); + } + } + + ExecuteProviders(httpContext, endpoint, items); + + return ExtractEndpointConstraints(items); + } + + private void ExecuteProviders(HttpContext httpContext, Endpoint endpoint, List items) + { + var context = new EndpointConstraintProviderContext(httpContext, endpoint, items); + + for (var i = 0; i < _endpointConstraintProviders.Length; i++) + { + _endpointConstraintProviders[i].OnProvidersExecuting(context); + } + + for (var i = _endpointConstraintProviders.Length - 1; i >= 0; i--) + { + _endpointConstraintProviders[i].OnProvidersExecuted(context); + } + } + + private IReadOnlyList ExtractEndpointConstraints(List items) + { + var count = 0; + for (var i = 0; i < items.Count; i++) + { + if (items[i].Constraint != null) + { + count++; + } + } + + if (count == 0) + { + return null; + } + + var endpointConstraints = new IEndpointConstraint[count]; + var endpointConstraintIndex = 0; + for (int i = 0; i < items.Count; i++) + { + var endpointConstraint = items[i].Constraint; + if (endpointConstraint != null) + { + endpointConstraints[endpointConstraintIndex++] = endpointConstraint; + } + } + + return endpointConstraints; + } + + private class InnerCache + { + public InnerCache() + { + } + + public ConcurrentDictionary Entries { get; } = + new ConcurrentDictionary(); + } + + private struct CacheEntry + { + public CacheEntry(IReadOnlyList endpointConstraints) + { + EndpointConstraints = endpointConstraints; + Items = null; + } + + public CacheEntry(List items) + { + Items = items; + EndpointConstraints = null; + } + + public IReadOnlyList EndpointConstraints { get; } + + public List Items { get; } + } + } +} \ No newline at end of file diff --git a/src/Microsoft.AspNetCore.Routing/EndpointConstraints/EndpointSelector.cs b/src/Microsoft.AspNetCore.Routing/EndpointConstraints/EndpointSelector.cs new file mode 100644 index 0000000000..4ade56e671 --- /dev/null +++ b/src/Microsoft.AspNetCore.Routing/EndpointConstraints/EndpointSelector.cs @@ -0,0 +1,225 @@ +// Copyright (c) .NET Foundation. All rights reserved. +// Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information. + +using Microsoft.AspNetCore.Http; +using Microsoft.AspNetCore.Routing.Matchers; +using Microsoft.Extensions.Internal; +using Microsoft.Extensions.Logging; +using Microsoft.Extensions.Options; +using System; +using System.Collections.Generic; +using System.Diagnostics; +using System.Linq; +using System.Threading; + +namespace Microsoft.AspNetCore.Routing.EndpointConstraints +{ + internal class EndpointSelector + { + private static readonly IReadOnlyList EmptyEndpoints = Array.Empty(); + + private readonly CompositeEndpointDataSource _dataSource; + private readonly EndpointConstraintCache _endpointConstraintCache; + private readonly ILogger _logger; + + public EndpointSelector( + CompositeEndpointDataSource dataSource, + EndpointConstraintCache endpointConstraintCache, + ILoggerFactory loggerFactory) + { + _dataSource = dataSource; + _logger = loggerFactory.CreateLogger(); + _endpointConstraintCache = endpointConstraintCache; + } + + public Endpoint SelectBestCandidate(HttpContext context, IReadOnlyList candidates) + { + if (context == null) + { + throw new ArgumentNullException(nameof(context)); + } + + if (candidates == null) + { + throw new ArgumentNullException(nameof(candidates)); + } + + var finalMatches = EvaluateEndpointConstraints(context, candidates); + + if (finalMatches == null || finalMatches.Count == 0) + { + return null; + } + else if (finalMatches.Count == 1) + { + var selectedEndpoint = finalMatches[0]; + + return selectedEndpoint; + } + else + { + var endpointNames = string.Join( + Environment.NewLine, + finalMatches.Select(a => a.DisplayName)); + + Log.MatchAmbiguous(_logger, context, finalMatches); + + var message = Resources.FormatAmbiguousEndpoints( + Environment.NewLine, + string.Join(Environment.NewLine, endpointNames)); + + throw new AmbiguousMatchException(message); + } + } + + private IReadOnlyList EvaluateEndpointConstraints( + HttpContext context, + IReadOnlyList endpoints) + { + var candidates = new List(); + + // Perf: Avoid allocations + for (var i = 0; i < endpoints.Count; i++) + { + var endpoint = endpoints[i]; + var constraints = _endpointConstraintCache.GetEndpointConstraints(context, endpoint); + candidates.Add(new EndpointSelectorCandidate(endpoint, constraints)); + } + + var matches = EvaluateEndpointConstraintsCore(context, candidates, startingOrder: null); + + List results = null; + if (matches != null) + { + results = new List(matches.Count); + // Perf: Avoid allocations + for (var i = 0; i < matches.Count; i++) + { + var candidate = matches[i]; + results.Add(candidate.Endpoint); + } + } + + return results; + } + + private IReadOnlyList EvaluateEndpointConstraintsCore( + HttpContext context, + IReadOnlyList candidates, + int? startingOrder) + { + // Find the next group of constraints to process. This will be the lowest value of + // order that is higher than startingOrder. + int? order = null; + + // Perf: Avoid allocations + for (var i = 0; i < candidates.Count; i++) + { + var candidate = candidates[i]; + if (candidate.Constraints != null) + { + for (var j = 0; j < candidate.Constraints.Count; j++) + { + var constraint = candidate.Constraints[j]; + if ((startingOrder == null || constraint.Order > startingOrder) && + (order == null || constraint.Order < order)) + { + order = constraint.Order; + } + } + } + } + + // If we don't find a next then there's nothing left to do. + if (order == null) + { + return candidates; + } + + // Since we have a constraint to process, bisect the set of endpoints into those with and without a + // constraint for the current order. + var endpointsWithConstraint = new List(); + var endpointsWithoutConstraint = new List(); + + var constraintContext = new EndpointConstraintContext(); + constraintContext.Candidates = candidates; + constraintContext.HttpContext = context; + + // Perf: Avoid allocations + for (var i = 0; i < candidates.Count; i++) + { + var candidate = candidates[i]; + var isMatch = true; + var foundMatchingConstraint = false; + + if (candidate.Constraints != null) + { + constraintContext.CurrentCandidate = candidate; + for (var j = 0; j < candidate.Constraints.Count; j++) + { + var constraint = candidate.Constraints[j]; + if (constraint.Order == order) + { + foundMatchingConstraint = true; + + if (!constraint.Accept(constraintContext)) + { + isMatch = false; + //_logger.ConstraintMismatch( + // candidate.Endpoint.DisplayName, + // candidate.Endpoint.Id, + // constraint); + break; + } + } + } + } + + if (isMatch && foundMatchingConstraint) + { + endpointsWithConstraint.Add(candidate); + } + else if (isMatch) + { + endpointsWithoutConstraint.Add(candidate); + } + } + + // If we have matches with constraints, those are better so try to keep processing those + if (endpointsWithConstraint.Count > 0) + { + var matches = EvaluateEndpointConstraintsCore(context, endpointsWithConstraint, order); + if (matches?.Count > 0) + { + return matches; + } + } + + // If the set of matches with constraints can't work, then process the set without constraints. + if (endpointsWithoutConstraint.Count == 0) + { + return null; + } + else + { + return EvaluateEndpointConstraintsCore(context, endpointsWithoutConstraint, order); + } + } + + private static class Log + { + private static readonly Action, Exception> _matchAmbiguous = LoggerMessage.Define>( + LogLevel.Error, + new EventId(1, "MatchAmbiguous"), + "Request matched multiple endpoints for request path '{Path}'. Matching endpoints: {AmbiguousEndpoints}"); + + public static void MatchAmbiguous(ILogger logger, HttpContext httpContext, IEnumerable endpoints) + { + if (logger.IsEnabled(LogLevel.Error)) + { + _matchAmbiguous(logger, httpContext.Request.Path, endpoints.Select(e => e.DisplayName), null); + } + } + } + } +} \ No newline at end of file diff --git a/src/Microsoft.AspNetCore.Routing/EndpointConstraints/HttpMethodEndpointConstraint.cs b/src/Microsoft.AspNetCore.Routing/EndpointConstraints/HttpMethodEndpointConstraint.cs new file mode 100644 index 0000000000..9c890732bc --- /dev/null +++ b/src/Microsoft.AspNetCore.Routing/EndpointConstraints/HttpMethodEndpointConstraint.cs @@ -0,0 +1,70 @@ +// Copyright (c) .NET Foundation. All rights reserved. +// Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information. + +using System; +using System.Collections.Generic; +using System.Collections.ObjectModel; + +namespace Microsoft.AspNetCore.Routing.EndpointConstraints +{ + public class HttpMethodEndpointConstraint : IEndpointConstraint + { + public static readonly int HttpMethodConstraintOrder = 100; + + private readonly IReadOnlyList _httpMethods; + + // Empty collection means any method will be accepted. + public HttpMethodEndpointConstraint(IEnumerable httpMethods) + { + if (httpMethods == null) + { + throw new ArgumentNullException(nameof(httpMethods)); + } + + var methods = new List(); + + foreach (var method in httpMethods) + { + if (string.IsNullOrEmpty(method)) + { + throw new ArgumentException("httpMethod cannot be null or empty"); + } + + methods.Add(method); + } + + _httpMethods = new ReadOnlyCollection(methods); + } + + public IEnumerable HttpMethods => _httpMethods; + + public int Order => HttpMethodConstraintOrder; + + public virtual bool Accept(EndpointConstraintContext context) + { + if (context == null) + { + throw new ArgumentNullException(nameof(context)); + } + + if (_httpMethods.Count == 0) + { + return true; + } + + var request = context.HttpContext.Request; + var method = request.Method; + + for (var i = 0; i < _httpMethods.Count; i++) + { + var supportedMethod = _httpMethods[i]; + if (string.Equals(supportedMethod, method, StringComparison.OrdinalIgnoreCase)) + { + return true; + } + } + + return false; + } + } +} \ No newline at end of file diff --git a/src/Microsoft.AspNetCore.Routing/EndpointConstraints/IEndpointConstraint.cs b/src/Microsoft.AspNetCore.Routing/EndpointConstraints/IEndpointConstraint.cs new file mode 100644 index 0000000000..ace843104d --- /dev/null +++ b/src/Microsoft.AspNetCore.Routing/EndpointConstraints/IEndpointConstraint.cs @@ -0,0 +1,165 @@ +// Copyright (c) .NET Foundation. All rights reserved. +// Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information. + +using Microsoft.AspNetCore.Http; +using System; +using System.Collections.Generic; +using System.Text; + +namespace Microsoft.AspNetCore.Routing.EndpointConstraints +{ + public class EndpointConstraintContext + { + public IReadOnlyList Candidates { get; set; } + + public EndpointSelectorCandidate CurrentCandidate { get; set; } + + public HttpContext HttpContext { get; set; } + } + + public interface IEndpointConstraint : IEndpointConstraintMetadata + { + int Order { get; } + + bool Accept(EndpointConstraintContext context); + } + + public interface IEndpointConstraintMetadata + { + } + + public struct EndpointSelectorCandidate + { + public EndpointSelectorCandidate(Endpoint endpoint, IReadOnlyList constraints) + { + if (endpoint == null) + { + throw new ArgumentNullException(nameof(endpoint)); + } + + Endpoint = endpoint; + Constraints = constraints; + } + + public Endpoint Endpoint { get; } + + public IReadOnlyList Constraints { get; } + } + + public class EndpointConstraintItem + { + public EndpointConstraintItem(IEndpointConstraintMetadata metadata) + { + if (metadata == null) + { + throw new ArgumentNullException(nameof(metadata)); + } + + Metadata = metadata; + } + + public IEndpointConstraint Constraint { get; set; } + + public IEndpointConstraintMetadata Metadata { get; } + + public bool IsReusable { get; set; } + } + + public interface IEndpointConstraintProvider + { + int Order { get; } + + void OnProvidersExecuting(EndpointConstraintProviderContext context); + + void OnProvidersExecuted(EndpointConstraintProviderContext context); + } + + public class EndpointConstraintProviderContext + { + public EndpointConstraintProviderContext( + HttpContext context, + Endpoint endpoint, + IList items) + { + if (context == null) + { + throw new ArgumentNullException(nameof(context)); + } + + if (endpoint == null) + { + throw new ArgumentNullException(nameof(endpoint)); + } + + if (items == null) + { + throw new ArgumentNullException(nameof(items)); + } + + HttpContext = context; + Endpoint = endpoint; + Results = items; + } + + public HttpContext HttpContext { get; } + + public Endpoint Endpoint { get; } + + public IList Results { get; } + } + + public class DefaultEndpointConstraintProvider : IEndpointConstraintProvider + { + /// + public int Order => -1000; + + /// + public void OnProvidersExecuting(EndpointConstraintProviderContext context) + { + if (context == null) + { + throw new ArgumentNullException(nameof(context)); + } + + for (var i = 0; i < context.Results.Count; i++) + { + ProvideConstraint(context.Results[i], context.HttpContext.RequestServices); + } + } + + /// + public void OnProvidersExecuted(EndpointConstraintProviderContext context) + { + } + + private void ProvideConstraint(EndpointConstraintItem item, IServiceProvider services) + { + // Don't overwrite anything that was done by a previous provider. + if (item.Constraint != null) + { + return; + } + + if (item.Metadata is IEndpointConstraint constraint) + { + item.Constraint = constraint; + item.IsReusable = true; + return; + } + + if (item.Metadata is IEndpointConstraintFactory factory) + { + item.Constraint = factory.CreateInstance(services); + item.IsReusable = factory.IsReusable; + return; + } + } + } + + public interface IEndpointConstraintFactory : IEndpointConstraintMetadata + { + bool IsReusable { get; } + + IEndpointConstraint CreateInstance(IServiceProvider services); + } +} \ No newline at end of file diff --git a/src/Microsoft.AspNetCore.Routing/Matchers/TreeMatcher.cs b/src/Microsoft.AspNetCore.Routing/Matchers/TreeMatcher.cs index 26923cd1c9..1e93f17d02 100644 --- a/src/Microsoft.AspNetCore.Routing/Matchers/TreeMatcher.cs +++ b/src/Microsoft.AspNetCore.Routing/Matchers/TreeMatcher.cs @@ -6,6 +6,7 @@ using System.Collections.Generic; using System.Linq; using System.Threading.Tasks; using Microsoft.AspNetCore.Http; +using Microsoft.AspNetCore.Routing.EndpointConstraints; using Microsoft.AspNetCore.Routing.Internal; using Microsoft.AspNetCore.Routing.Template; using Microsoft.AspNetCore.Routing.Tree; @@ -18,12 +19,14 @@ namespace Microsoft.AspNetCore.Routing.Matchers { private readonly IInlineConstraintResolver _constraintFactory; private readonly ILogger _logger; + private readonly EndpointSelector _endpointSelector; private readonly DataSourceDependantCache _cache; public TreeMatcher( IInlineConstraintResolver constraintFactory, ILogger logger, - EndpointDataSource dataSource) + EndpointDataSource dataSource, + EndpointSelector endpointSelector) { if (constraintFactory == null) { @@ -42,6 +45,7 @@ namespace Microsoft.AspNetCore.Routing.Matchers _constraintFactory = constraintFactory; _logger = logger; + _endpointSelector = endpointSelector; _cache = new DataSourceDependantCache(dataSource, CreateTrees); _cache.EnsureInitialized(); } @@ -137,6 +141,8 @@ namespace Microsoft.AspNetCore.Routing.Matchers private Task SelectEndpointAsync(HttpContext httpContext, IEndpointFeature feature, IReadOnlyList endpoints) { + var bestEndpoint = _endpointSelector.SelectBestCandidate(httpContext, endpoints); + // REVIEW: Note that this code doesn't do anything significant now. This will eventually incorporate something like IActionConstraint switch (endpoints.Count) { diff --git a/src/Microsoft.AspNetCore.Routing/Matchers/TreeMatcherFactory.cs b/src/Microsoft.AspNetCore.Routing/Matchers/TreeMatcherFactory.cs index 1e90b82a14..2d4ef3d864 100644 --- a/src/Microsoft.AspNetCore.Routing/Matchers/TreeMatcherFactory.cs +++ b/src/Microsoft.AspNetCore.Routing/Matchers/TreeMatcherFactory.cs @@ -2,6 +2,7 @@ // Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information. using System; +using Microsoft.AspNetCore.Routing.EndpointConstraints; using Microsoft.Extensions.Logging; namespace Microsoft.AspNetCore.Routing.Matchers @@ -10,8 +11,12 @@ namespace Microsoft.AspNetCore.Routing.Matchers { private readonly IInlineConstraintResolver _constraintFactory; private readonly ILogger _logger; + private readonly EndpointSelector _endpointSelector; - public TreeMatcherFactory(IInlineConstraintResolver constraintFactory, ILogger logger) + public TreeMatcherFactory( + IInlineConstraintResolver constraintFactory, + ILogger logger, + EndpointSelector endpointSelector) { if (constraintFactory == null) { @@ -23,8 +28,14 @@ namespace Microsoft.AspNetCore.Routing.Matchers throw new ArgumentNullException(nameof(logger)); } + if (endpointSelector == null) + { + throw new ArgumentNullException(nameof(endpointSelector)); + } + _constraintFactory = constraintFactory; _logger = logger; + _endpointSelector = endpointSelector; } public override Matcher CreateMatcher(EndpointDataSource dataSource) @@ -34,7 +45,7 @@ namespace Microsoft.AspNetCore.Routing.Matchers throw new ArgumentNullException(nameof(dataSource)); } - return new TreeMatcher(_constraintFactory, _logger, dataSource); + return new TreeMatcher(_constraintFactory, _logger, dataSource, _endpointSelector); } } } diff --git a/test/Microsoft.AspNetCore.Routing.Tests/DispatcherMiddlewareTest.cs b/test/Microsoft.AspNetCore.Routing.Tests/DispatcherMiddlewareTest.cs index 7d93f42951..ad0855f4c8 100644 --- a/test/Microsoft.AspNetCore.Routing.Tests/DispatcherMiddlewareTest.cs +++ b/test/Microsoft.AspNetCore.Routing.Tests/DispatcherMiddlewareTest.cs @@ -24,12 +24,7 @@ namespace Microsoft.AspNetCore.Routing var httpContext = new DefaultHttpContext(); httpContext.RequestServices = new TestServiceProvider(); - RequestDelegate next = (c) => Task.FromResult(null); - - var logger = new Logger(NullLoggerFactory.Instance); - var options = Options.Create(new DispatcherOptions()); - var matcherFactory = new TestMatcherFactory(false); - var middleware = new DispatcherMiddleware(matcherFactory, options, logger, next); + var middleware = CreateMiddleware(); // Act await middleware.Invoke(httpContext); @@ -53,12 +48,8 @@ namespace Microsoft.AspNetCore.Routing var httpContext = new DefaultHttpContext(); httpContext.RequestServices = new TestServiceProvider(); - RequestDelegate next = (c) => Task.FromResult(null); - var logger = new Logger(loggerFactory); - var options = Options.Create(new DispatcherOptions()); - var matcherFactory = new TestMatcherFactory(true); - var middleware = new DispatcherMiddleware(matcherFactory, options, logger, next); + var middleware = CreateMiddleware(logger); // Act await middleware.Invoke(httpContext); @@ -68,5 +59,22 @@ namespace Microsoft.AspNetCore.Routing var write = Assert.Single(sink.Writes); Assert.Equal(expectedMessage, write.State?.ToString()); } + + private DispatcherMiddleware CreateMiddleware(Logger logger = null) + { + RequestDelegate next = (c) => Task.FromResult(null); + + logger = logger ?? new Logger(NullLoggerFactory.Instance); + + var options = Options.Create(new DispatcherOptions()); + var matcherFactory = new TestMatcherFactory(true); + var middleware = new DispatcherMiddleware( + matcherFactory, + new CompositeEndpointDataSource(Array.Empty()), + logger, + next); + + return middleware; + } } } diff --git a/test/Microsoft.AspNetCore.Routing.Tests/EndpointConstraints/EndpointSelectorTests.cs b/test/Microsoft.AspNetCore.Routing.Tests/EndpointConstraints/EndpointSelectorTests.cs new file mode 100644 index 0000000000..5fea074c4c --- /dev/null +++ b/test/Microsoft.AspNetCore.Routing.Tests/EndpointConstraints/EndpointSelectorTests.cs @@ -0,0 +1,438 @@ +// Copyright (c) .NET Foundation. All rights reserved. +// Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information. + +using Microsoft.AspNetCore.Http; +using Microsoft.AspNetCore.Routing.Matchers; +using Microsoft.AspNetCore.Routing.TestObjects; +using Microsoft.Extensions.DependencyInjection; +using Microsoft.Extensions.Logging; +using Microsoft.Extensions.Logging.Abstractions; +using Microsoft.Extensions.Logging.Testing; +using Moq; +using System; +using System.Collections.Generic; +using System.Linq; +using Xunit; + +namespace Microsoft.AspNetCore.Routing.EndpointConstraints +{ + public class EndpointSelectorTests + { + [Fact] + public void SelectBestCandidate_MultipleEndpoints_BestMatchSelected() + { + // Arrange + var defaultEndpoint = new TestEndpoint( + EndpointMetadataCollection.Empty, + "No constraint endpoint"); + + var postEndpoint = new TestEndpoint( + new EndpointMetadataCollection(new object[] { new HttpMethodEndpointConstraint(new[] { "POST" }) }), + "POST constraint endpoint"); + + var endpoints = new Endpoint[] + { + defaultEndpoint, + postEndpoint + }; + + var endpointSelector = CreateSelector(endpoints); + + var httpContext = new DefaultHttpContext(); + httpContext.Request.Method = "POST"; + + // Act + var bestCandidateEndpoint = endpointSelector.SelectBestCandidate(httpContext, endpoints); + + // Assert + Assert.NotNull(postEndpoint); + } + + [Fact] + public void SelectBestCandidate_MultipleEndpoints_AmbiguousMatchExceptionThrown() + { + // Arrange + var expectedMessage = + "The request matched multiple endpoints. Matches: " + Environment.NewLine + + Environment.NewLine + + "Ambiguous1" + Environment.NewLine + + "Ambiguous2"; + + var defaultEndpoint1 = new TestEndpoint( + EndpointMetadataCollection.Empty, + "Ambiguous1"); + + var defaultEndpoint2 = new TestEndpoint( + EndpointMetadataCollection.Empty, + "Ambiguous2"); + + var endpoints = new Endpoint[] + { + defaultEndpoint1, + defaultEndpoint2 + }; + + var endpointSelector = CreateSelector(endpoints); + + var httpContext = new DefaultHttpContext(); + httpContext.Request.Method = "POST"; + + // Act + var ex = Assert.ThrowsAny(() => + { + endpointSelector.SelectBestCandidate(httpContext, endpoints); + }); + + // Assert + Assert.Equal(expectedMessage, ex.Message); + } + + [Fact] + public void SelectBestCandidate_AmbiguousEndpoints_LogIsCorrect() + { + // Arrange + var sink = new TestSink(); + var loggerFactory = new TestLoggerFactory(sink, enabled: true); + + var actions = new Endpoint[] + { + new TestEndpoint(EndpointMetadataCollection.Empty, "A1"), + new TestEndpoint(EndpointMetadataCollection.Empty, "A2"), + }; + var selector = CreateSelector(actions, loggerFactory); + + var httpContext = CreateHttpContext("POST"); + var actionNames = string.Join(", ", actions.Select(action => action.DisplayName)); + var expectedMessage = $"Request matched multiple endpoints for request path '/test'. Matching endpoints: {actionNames}"; + + // Act + Assert.Throws(() => { selector.SelectBestCandidate(httpContext, actions); }); + + // Assert + Assert.Empty(sink.Scopes); + var write = Assert.Single(sink.Writes); + Assert.Equal(expectedMessage, write.State?.ToString()); + } + + [Fact] + public void SelectBestCandidate_PrefersEndpointWithConstraints() + { + // Arrange + var actionWithConstraints = new TestEndpoint( + new EndpointMetadataCollection(new[] { new HttpMethodEndpointConstraint(new string[] { "POST" }) }), + "Has constraint"); + + var actionWithoutConstraints = new TestEndpoint(EndpointMetadataCollection.Empty, "No constraint"); + + var actions = new Endpoint[] { actionWithConstraints, actionWithoutConstraints }; + + var selector = CreateSelector(actions); + var context = CreateHttpContext("POST"); + + // Act + var action = selector.SelectBestCandidate(context, actions); + + // Assert + Assert.Same(action, actionWithConstraints); + } + + [Fact] + public void SelectBestCandidate_ConstraintsRejectAll() + { + // Arrange + var action1 = new TestEndpoint(new EndpointMetadataCollection(new[] { new BooleanConstraint() { Pass = false, } }), "action1"); + + var action2 = new TestEndpoint(new EndpointMetadataCollection(new[] { new BooleanConstraint() { Pass = false, } }), "action2"); + + var actions = new Endpoint[] { action1, action2 }; + + var selector = CreateSelector(actions); + var context = CreateHttpContext("POST"); + + // Act + var action = selector.SelectBestCandidate(context, actions); + + // Assert + Assert.Null(action); + } + + [Fact] + public void SelectBestCandidate_ConstraintsRejectAll_DifferentStages() + { + // Arrange + var action1 = new TestEndpoint(new EndpointMetadataCollection(new[] + { + new BooleanConstraint() { Pass = false, Order = 0 }, + new BooleanConstraint() { Pass = true, Order = 1 }, + }), "action1"); + + var action2 = new TestEndpoint(new EndpointMetadataCollection(new[] + { + new BooleanConstraint() { Pass = true, Order = 0 }, + new BooleanConstraint() { Pass = false, Order = 1 }, + }), "action2"); + + var actions = new Endpoint[] { action1, action2 }; + + var selector = CreateSelector(actions); + var context = CreateHttpContext("POST"); + + // Act + var action = selector.SelectBestCandidate(context, actions); + + // Assert + Assert.Null(action); + } + + [Fact] + public void SelectBestCandidate_EndpointConstraintFactory() + { + // Arrange + var actionWithConstraints = new TestEndpoint(new EndpointMetadataCollection(new[] + { + new ConstraintFactory() + { + Constraint = new BooleanConstraint() { Pass = true }, + }, + }), "actionWithConstraints"); + + var actionWithoutConstraints = new TestEndpoint(EndpointMetadataCollection.Empty, "actionWithoutConstraints"); + + var actions = new Endpoint[] { actionWithConstraints, actionWithoutConstraints }; + + var selector = CreateSelector(actions); + var context = CreateHttpContext("POST"); + + // Act + var action = selector.SelectBestCandidate(context, actions); + + // Assert + Assert.Same(action, actionWithConstraints); + } + + [Fact] + public void SelectBestCandidate_EndpointConstraintFactory_ReturnsNull() + { + // Arrange + var nullConstraint = new TestEndpoint(new EndpointMetadataCollection(new[] + { + new ConstraintFactory(), + }), "nullConstraint"); + + var actions = new Endpoint[] { nullConstraint }; + + var selector = CreateSelector(actions); + var context = CreateHttpContext("POST"); + + // Act + var action = selector.SelectBestCandidate(context, actions); + + // Assert + Assert.Same(action, nullConstraint); + } + + // There's a custom constraint provider registered that only understands BooleanConstraintMarker + [Fact] + public void SelectBestCandidate_CustomProvider() + { + // Arrange + var actionWithConstraints = new TestEndpoint(new EndpointMetadataCollection(new[] + { + new BooleanConstraintMarker() { Pass = true }, + }), "actionWithConstraints"); + + var actionWithoutConstraints = new TestEndpoint(EndpointMetadataCollection.Empty, "actionWithoutConstraints"); + + var actions = new Endpoint[] { actionWithConstraints, actionWithoutConstraints, }; + + var selector = CreateSelector(actions); + var context = CreateHttpContext("POST"); + + // Act + var action = selector.SelectBestCandidate(context, actions); + + // Assert + Assert.Same(action, actionWithConstraints); + } + + // Due to ordering of stages, the first action will be better. + [Fact] + public void SelectBestCandidate_ConstraintsInOrder() + { + // Arrange + var best = new TestEndpoint(new EndpointMetadataCollection(new[] + { + new BooleanConstraint() { Pass = true, Order = 0, }, + }), "best"); + + var worst = new TestEndpoint(new EndpointMetadataCollection(new[] + { + new BooleanConstraint() { Pass = true, Order = 1, }, + }), "worst"); + + var actions = new Endpoint[] { best, worst }; + + var selector = CreateSelector(actions); + var context = CreateHttpContext("POST"); + + // Act + var action = selector.SelectBestCandidate(context, actions); + + // Assert + Assert.Same(action, best); + } + + // Due to ordering of stages, the first action will be better. + [Fact] + public void SelectBestCandidate_ConstraintsInOrder_MultipleStages() + { + // Arrange + var best = new TestEndpoint(new EndpointMetadataCollection(new[] + { + new BooleanConstraint() { Pass = true, Order = 0, }, + new BooleanConstraint() { Pass = true, Order = 1, }, + new BooleanConstraint() { Pass = true, Order = 2, }, + }), "best"); + + var worst = new TestEndpoint(new EndpointMetadataCollection(new[] + { + new BooleanConstraint() { Pass = true, Order = 0, }, + new BooleanConstraint() { Pass = true, Order = 1, }, + new BooleanConstraint() { Pass = true, Order = 3, }, + }), "worst"); + + var actions = new Endpoint[] { best, worst }; + + var selector = CreateSelector(actions); + var context = CreateHttpContext("POST"); + + // Act + var action = selector.SelectBestCandidate(context, actions); + + // Assert + Assert.Same(action, best); + } + + [Fact] + public void SelectBestCandidate_Fallback_ToEndpointWithoutConstraints() + { + // Arrange + var nomatch1 = new TestEndpoint(new EndpointMetadataCollection(new[] + { + new BooleanConstraint() { Pass = true, Order = 0, }, + new BooleanConstraint() { Pass = true, Order = 1, }, + new BooleanConstraint() { Pass = false, Order = 2, }, + }), "nomatch1"); + + var nomatch2 = new TestEndpoint(new EndpointMetadataCollection(new[] + { + new BooleanConstraint() { Pass = true, Order = 0, }, + new BooleanConstraint() { Pass = true, Order = 1, }, + new BooleanConstraint() { Pass = false, Order = 3, }, + }), "nomatch2"); + + var best = new TestEndpoint(EndpointMetadataCollection.Empty, "best"); + + var actions = new Endpoint[] { best, nomatch1, nomatch2 }; + + var selector = CreateSelector(actions); + var context = CreateHttpContext("POST"); + + // Act + var action = selector.SelectBestCandidate(context, actions); + + // Assert + Assert.Same(action, best); + } + + private static EndpointSelector CreateSelector(IReadOnlyList actions, ILoggerFactory loggerFactory = null) + { + loggerFactory = loggerFactory ?? NullLoggerFactory.Instance; + + var endpointDataSource = new CompositeEndpointDataSource(new[] { new DefaultEndpointDataSource(actions) }); + + var actionConstraintProviders = new IEndpointConstraintProvider[] { + new DefaultEndpointConstraintProvider(), + new BooleanConstraintProvider(), + }; + + return new EndpointSelector( + endpointDataSource, + GetEndpointConstraintCache(actionConstraintProviders), + loggerFactory); + } + + private static HttpContext CreateHttpContext(string httpMethod) + { + var serviceProvider = new ServiceCollection().BuildServiceProvider(); + + var httpContext = new Mock(MockBehavior.Strict); + + var request = new Mock(MockBehavior.Strict); + request.SetupGet(r => r.Method).Returns(httpMethod); + request.SetupGet(r => r.Path).Returns(new PathString("/test")); + request.SetupGet(r => r.Headers).Returns(new HeaderDictionary()); + httpContext.SetupGet(c => c.Request).Returns(request.Object); + httpContext.SetupGet(c => c.RequestServices).Returns(serviceProvider); + + return httpContext.Object; + } + + private static EndpointConstraintCache GetEndpointConstraintCache(IEndpointConstraintProvider[] actionConstraintProviders = null) + { + return new EndpointConstraintCache( + new CompositeEndpointDataSource(Array.Empty()), + actionConstraintProviders.AsEnumerable() ?? new List()); + } + + private class BooleanConstraint : IEndpointConstraint + { + public bool Pass { get; set; } + + public int Order { get; set; } + + public bool Accept(EndpointConstraintContext context) + { + return Pass; + } + } + + private class ConstraintFactory : IEndpointConstraintFactory + { + public IEndpointConstraint Constraint { get; set; } + + public bool IsReusable => true; + + public IEndpointConstraint CreateInstance(IServiceProvider services) + { + return Constraint; + } + } + + private class BooleanConstraintMarker : IEndpointConstraintMetadata + { + public bool Pass { get; set; } + } + + private class BooleanConstraintProvider : IEndpointConstraintProvider + { + public int Order { get; set; } + + public void OnProvidersExecuting(EndpointConstraintProviderContext context) + { + foreach (var item in context.Results) + { + if (item.Metadata is BooleanConstraintMarker marker) + { + Assert.Null(item.Constraint); + item.Constraint = new BooleanConstraint() { Pass = marker.Pass }; + } + } + } + + public void OnProvidersExecuted(EndpointConstraintProviderContext context) + { + } + } + } +} diff --git a/test/Microsoft.AspNetCore.Routing.Tests/Internal/HttpMethodEndpointConstraintTest.cs b/test/Microsoft.AspNetCore.Routing.Tests/Internal/HttpMethodEndpointConstraintTest.cs new file mode 100644 index 0000000000..81e35c4535 --- /dev/null +++ b/test/Microsoft.AspNetCore.Routing.Tests/Internal/HttpMethodEndpointConstraintTest.cs @@ -0,0 +1,87 @@ +// Copyright (c) .NET Foundation. All rights reserved. +// Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information. + +using Microsoft.AspNetCore.Http; +using Microsoft.AspNetCore.Routing.EndpointConstraints; +using Microsoft.AspNetCore.Routing.TestObjects; +using Microsoft.Extensions.Primitives; +using System; +using System.Collections.Generic; +using System.Text; +using Xunit; + +namespace Microsoft.AspNetCore.Routing.Internal +{ + public class HttpMethodEndpointConstraintTest + { + public static TheoryData AcceptCaseInsensitiveData = + new TheoryData, string> + { + { new string[] { "get", "Get", "GET", "GEt"}, "gEt" }, + { new string[] { "POST", "PoSt", "GEt"}, "GET" }, + { new string[] { "get" }, "get" }, + { new string[] { "post" }, "POST" }, + { new string[] { "gEt" }, "get" }, + { new string[] { "get", "PoST" }, "pOSt" } + }; + + [Theory] + [MemberData(nameof(AcceptCaseInsensitiveData))] + public void HttpMethodEndpointConstraint_IgnoresPreflightRequests(IEnumerable httpMethods, string accessControlMethod) + { + // Arrange + var constraint = new HttpMethodEndpointConstraint(httpMethods); + var context = CreateEndpointConstraintContext(constraint); + context.HttpContext = CreateHttpContext("oPtIoNs", accessControlMethod); + + // Act + var result = constraint.Accept(context); + + // Assert + Assert.False(result, "Request should have been rejected."); + } + + [Theory] + [MemberData(nameof(AcceptCaseInsensitiveData))] + public void HttpMethodEndpointConstraint_Accept_CaseInsensitive(IEnumerable httpMethods, string expectedMethod) + { + // Arrange + var constraint = new HttpMethodEndpointConstraint(httpMethods); + var context = CreateEndpointConstraintContext(constraint); + context.HttpContext = CreateHttpContext(expectedMethod); + + // Act + var result = constraint.Accept(context); + + // Assert + Assert.True(result, "Request should have been accepted."); + } + + private static EndpointConstraintContext CreateEndpointConstraintContext(HttpMethodEndpointConstraint constraint) + { + var context = new EndpointConstraintContext(); + + var endpointSelectorCandidate = new EndpointSelectorCandidate(new TestEndpoint(EndpointMetadataCollection.Empty, string.Empty), new List { constraint }); + + context.Candidates = new List { endpointSelectorCandidate }; + context.CurrentCandidate = context.Candidates[0]; + + return context; + } + + private static HttpContext CreateHttpContext(string requestedMethod, string accessControlMethod = null) + { + var httpContext = new DefaultHttpContext(); + + httpContext.Request.Method = requestedMethod; + + if (accessControlMethod != null) + { + httpContext.Request.Headers.Add("Origin", StringValues.Empty); + httpContext.Request.Headers.Add("Access-Control-Request-Method", accessControlMethod); + } + + return httpContext; + } + } +} diff --git a/test/Microsoft.AspNetCore.Routing.Tests/Matchers/TreeMatcherTests.cs b/test/Microsoft.AspNetCore.Routing.Tests/Matchers/TreeMatcherTests.cs index 68072aaaea..8bebe119c8 100644 --- a/test/Microsoft.AspNetCore.Routing.Tests/Matchers/TreeMatcherTests.cs +++ b/test/Microsoft.AspNetCore.Routing.Tests/Matchers/TreeMatcherTests.cs @@ -2,6 +2,7 @@ // Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information. using Microsoft.AspNetCore.Http; +using Microsoft.AspNetCore.Routing.EndpointConstraints; using Microsoft.Extensions.Logging.Abstractions; using Microsoft.Extensions.Options; using System; @@ -21,16 +22,20 @@ namespace Microsoft.AspNetCore.Routing.Matchers private TreeMatcher CreateTreeMatcher(EndpointDataSource endpointDataSource) { + var compositeDataSource = new CompositeEndpointDataSource(new[] { endpointDataSource }); var defaultInlineConstraintResolver = new DefaultInlineConstraintResolver(Options.Create(new RouteOptions())); - return new TreeMatcher(defaultInlineConstraintResolver, NullLogger.Instance, endpointDataSource); + var endpointSelector = new EndpointSelector( + compositeDataSource, + new EndpointConstraintCache(compositeDataSource, new IEndpointConstraintProvider[] { new DefaultEndpointConstraintProvider() }), + NullLoggerFactory.Instance); + + return new TreeMatcher(defaultInlineConstraintResolver, NullLogger.Instance, endpointDataSource, endpointSelector); } [Fact] public async Task MatchAsync_DuplicateTemplatesAndDifferentOrder_LowerOrderEndpointMatched() { // Arrange - var defaultInlineConstraintResolver = new DefaultInlineConstraintResolver(Options.Create(new RouteOptions())); - var higherOrderEndpoint = CreateEndpoint("/Teams", 1); var lowerOrderEndpoint = CreateEndpoint("/Teams", 0); From 28d1bc4fa209d7c751f3d7ae18c36b445649e249 Mon Sep 17 00:00:00 2001 From: James Newton-King Date: Tue, 12 Jun 2018 15:47:34 +1200 Subject: [PATCH 036/221] Fix TreeMatcher's use of EndpointSelector (#551) --- .../Matchers/TreeMatcher.cs | 50 ++++++++----------- .../Matchers/TreeMatcherTests.cs | 35 ++++++++++++- 2 files changed, 55 insertions(+), 30 deletions(-) diff --git a/src/Microsoft.AspNetCore.Routing/Matchers/TreeMatcher.cs b/src/Microsoft.AspNetCore.Routing/Matchers/TreeMatcher.cs index 1e93f17d02..36ae3b85e2 100644 --- a/src/Microsoft.AspNetCore.Routing/Matchers/TreeMatcher.cs +++ b/src/Microsoft.AspNetCore.Routing/Matchers/TreeMatcher.cs @@ -141,37 +141,31 @@ namespace Microsoft.AspNetCore.Routing.Matchers private Task SelectEndpointAsync(HttpContext httpContext, IEndpointFeature feature, IReadOnlyList endpoints) { - var bestEndpoint = _endpointSelector.SelectBestCandidate(httpContext, endpoints); + MatcherEndpoint endpoint; - // REVIEW: Note that this code doesn't do anything significant now. This will eventually incorporate something like IActionConstraint - switch (endpoints.Count) + try { - case 0: - { - Log.MatchFailed(_logger, httpContext); - return Task.CompletedTask; - } - - case 1: - { - var endpoint = endpoints[0]; - Log.MatchSuccess(_logger, httpContext, endpoint); - - feature.Endpoint = endpoint; - feature.Invoker = endpoint.Invoker; - - return Task.CompletedTask; - } - - default: - { - Log.MatchAmbiguous(_logger, httpContext, endpoints); - var message = Resources.FormatAmbiguousEndpoints( - Environment.NewLine, - string.Join(Environment.NewLine, endpoints.Select(a => a.DisplayName))); - throw new AmbiguousMatchException(message); - } + endpoint = (MatcherEndpoint)_endpointSelector.SelectBestCandidate(httpContext, endpoints); } + catch (Exception ex) + { + // Handle AmbiguousMatchException from EndpointSelector + return Task.FromException(ex); + } + + if (endpoint == null) + { + Log.MatchFailed(_logger, httpContext); + } + else + { + Log.MatchSuccess(_logger, httpContext, endpoint); + + feature.Endpoint = endpoint; + feature.Invoker = endpoint.Invoker; + } + + return Task.CompletedTask; } private UrlMatchingTree[] CreateTrees(IReadOnlyList endpoints) diff --git a/test/Microsoft.AspNetCore.Routing.Tests/Matchers/TreeMatcherTests.cs b/test/Microsoft.AspNetCore.Routing.Tests/Matchers/TreeMatcherTests.cs index 8bebe119c8..fa1c78aed4 100644 --- a/test/Microsoft.AspNetCore.Routing.Tests/Matchers/TreeMatcherTests.cs +++ b/test/Microsoft.AspNetCore.Routing.Tests/Matchers/TreeMatcherTests.cs @@ -15,9 +15,9 @@ namespace Microsoft.AspNetCore.Routing.Matchers { public class TreeMatcherTests { - private MatcherEndpoint CreateEndpoint(string template, int order, object values = null) + private MatcherEndpoint CreateEndpoint(string template, int order, object values = null, EndpointMetadataCollection metadata = null) { - return new MatcherEndpoint((next) => null, template, values, order, EndpointMetadataCollection.Empty, template); + return new MatcherEndpoint((next) => null, template, values, order, metadata ?? EndpointMetadataCollection.Empty, template); } private TreeMatcher CreateTreeMatcher(EndpointDataSource endpointDataSource) @@ -58,5 +58,36 @@ namespace Microsoft.AspNetCore.Routing.Matchers // Assert Assert.Equal(lowerOrderEndpoint, endpointFeature.Endpoint); } + + [Fact] + public async Task MatchAsync_MultipleMatches_EndpointSelectorCalled() + { + // Arrange + var endpointWithoutConstraint = CreateEndpoint("/Teams", 0); + var endpointWithConstraint = CreateEndpoint( + "/Teams", + 0, + metadata: new EndpointMetadataCollection(new object[] { new HttpMethodEndpointConstraint(new[] { "POST" }) })); + + var endpointDataSource = new DefaultEndpointDataSource(new List + { + endpointWithoutConstraint, + endpointWithConstraint + }); + + var treeMatcher = CreateTreeMatcher(endpointDataSource); + + var httpContext = new DefaultHttpContext(); + httpContext.Request.Method = "POST"; + httpContext.Request.Path = "/Teams"; + + var endpointFeature = new EndpointFeature(); + + // Act + await treeMatcher.MatchAsync(httpContext, endpointFeature); + + // Assert + Assert.Equal(endpointWithConstraint, endpointFeature.Endpoint); + } } } From 6a6bd3f0daa36151e25144cca2465eec3cc12580 Mon Sep 17 00:00:00 2001 From: James Newton-King Date: Wed, 13 Jun 2018 08:48:27 +1200 Subject: [PATCH 037/221] Refactor TreeMatcher to not use async (#552) --- .../Matchers/TreeMatcher.cs | 26 +++++++------------ 1 file changed, 9 insertions(+), 17 deletions(-) diff --git a/src/Microsoft.AspNetCore.Routing/Matchers/TreeMatcher.cs b/src/Microsoft.AspNetCore.Routing/Matchers/TreeMatcher.cs index 36ae3b85e2..24149d0fa0 100644 --- a/src/Microsoft.AspNetCore.Routing/Matchers/TreeMatcher.cs +++ b/src/Microsoft.AspNetCore.Routing/Matchers/TreeMatcher.cs @@ -50,7 +50,7 @@ namespace Microsoft.AspNetCore.Routing.Matchers _cache.EnsureInitialized(); } - public override async Task MatchAsync(HttpContext httpContext, IEndpointFeature feature) + public override Task MatchAsync(HttpContext httpContext, IEndpointFeature feature) { if (httpContext == null) { @@ -94,7 +94,7 @@ namespace Microsoft.AspNetCore.Routing.Matchers continue; } - await SelectEndpointAsync(httpContext, feature, (MatcherEndpoint[])entry.Tag); + SelectEndpoint(httpContext, feature, (MatcherEndpoint[])entry.Tag); if (feature.Endpoint != null) { @@ -109,11 +109,15 @@ namespace Microsoft.AspNetCore.Routing.Matchers } } - return; + // Found a matching endpoint + return Task.CompletedTask; } } } } + + // No match found + return Task.CompletedTask; } private bool MatchConstraints( @@ -139,19 +143,9 @@ namespace Microsoft.AspNetCore.Routing.Matchers return true; } - private Task SelectEndpointAsync(HttpContext httpContext, IEndpointFeature feature, IReadOnlyList endpoints) + private void SelectEndpoint(HttpContext httpContext, IEndpointFeature feature, IReadOnlyList endpoints) { - MatcherEndpoint endpoint; - - try - { - endpoint = (MatcherEndpoint)_endpointSelector.SelectBestCandidate(httpContext, endpoints); - } - catch (Exception ex) - { - // Handle AmbiguousMatchException from EndpointSelector - return Task.FromException(ex); - } + var endpoint = (MatcherEndpoint)_endpointSelector.SelectBestCandidate(httpContext, endpoints); if (endpoint == null) { @@ -164,8 +158,6 @@ namespace Microsoft.AspNetCore.Routing.Matchers feature.Endpoint = endpoint; feature.Invoker = endpoint.Invoker; } - - return Task.CompletedTask; } private UrlMatchingTree[] CreateTrees(IReadOnlyList endpoints) From 9efa7665c98436153763fc1d9d8d32d60ac7224e Mon Sep 17 00:00:00 2001 From: James Newton-King Date: Wed, 13 Jun 2018 16:40:06 +1200 Subject: [PATCH 038/221] Fix endpoint constraint cache (#555) --- .../EndpointConstraintCache.cs | 61 ++++++++++++------- .../EndpointSelectorTests.cs | 49 ++++++++++++++- 2 files changed, 85 insertions(+), 25 deletions(-) diff --git a/src/Microsoft.AspNetCore.Routing/EndpointConstraints/EndpointConstraintCache.cs b/src/Microsoft.AspNetCore.Routing/EndpointConstraints/EndpointConstraintCache.cs index 0728dcc9b6..1a5c4a350c 100644 --- a/src/Microsoft.AspNetCore.Routing/EndpointConstraints/EndpointConstraintCache.cs +++ b/src/Microsoft.AspNetCore.Routing/EndpointConstraints/EndpointConstraintCache.cs @@ -2,6 +2,7 @@ // Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information. using Microsoft.AspNetCore.Http; +using System; using System.Collections.Concurrent; using System.Collections.Generic; using System.Diagnostics; @@ -50,38 +51,48 @@ namespace Microsoft.AspNetCore.Routing.EndpointConstraints return GetEndpointConstraintsFromEntry(entry, httpContext, endpoint); } - if (endpoint.Metadata == null || endpoint.Metadata.Count == 0) + List items = null; + + if (endpoint.Metadata != null && endpoint.Metadata.Count > 0) { - return null; + items = endpoint.Metadata + .OfType() + .Select(m => new EndpointConstraintItem(m)) + .ToList(); } - var items = endpoint.Metadata - .OfType() - .Select(m => new EndpointConstraintItem(m)) - .ToList(); + IReadOnlyList endpointConstraints = null; - ExecuteProviders(httpContext, endpoint, items); - - var endpointConstraints = ExtractEndpointConstraints(items); - - var allEndpointConstraintsCached = true; - for (var i = 0; i < items.Count; i++) + if (items != null && items.Count > 0) { - var item = items[i]; - if (!item.IsReusable) + ExecuteProviders(httpContext, endpoint, items); + + endpointConstraints = ExtractEndpointConstraints(items); + + var allEndpointConstraintsCached = true; + for (var i = 0; i < items.Count; i++) { - item.Constraint = null; - allEndpointConstraintsCached = false; + var item = items[i]; + if (!item.IsReusable) + { + item.Constraint = null; + allEndpointConstraintsCached = false; + } } - } - if (allEndpointConstraintsCached) - { - entry = new CacheEntry(endpointConstraints); + if (allEndpointConstraintsCached) + { + entry = new CacheEntry(endpointConstraints); + } + else + { + entry = new CacheEntry(items); + } } else { - entry = new CacheEntry(items); + // No constraints + entry = new CacheEntry(); } cache.Entries.TryAdd(endpoint, entry); @@ -90,13 +101,17 @@ namespace Microsoft.AspNetCore.Routing.EndpointConstraints private IReadOnlyList GetEndpointConstraintsFromEntry(CacheEntry entry, HttpContext httpContext, Endpoint endpoint) { - Debug.Assert(entry.EndpointConstraints != null || entry.Items != null); - if (entry.EndpointConstraints != null) { return entry.EndpointConstraints; } + if (entry.Items == null) + { + // Endpoint has no constraints + return null; + } + var items = new List(entry.Items.Count); for (var i = 0; i < entry.Items.Count; i++) { diff --git a/test/Microsoft.AspNetCore.Routing.Tests/EndpointConstraints/EndpointSelectorTests.cs b/test/Microsoft.AspNetCore.Routing.Tests/EndpointConstraints/EndpointSelectorTests.cs index 5fea074c4c..cc2d881df1 100644 --- a/test/Microsoft.AspNetCore.Routing.Tests/EndpointConstraints/EndpointSelectorTests.cs +++ b/test/Microsoft.AspNetCore.Routing.Tests/EndpointConstraints/EndpointSelectorTests.cs @@ -210,6 +210,49 @@ namespace Microsoft.AspNetCore.Routing.EndpointConstraints Assert.Same(action, actionWithConstraints); } + [Fact] + public void SelectBestCandidate_MultipleCallsNoConstraint_ReturnsEndpoint() + { + // Arrange + var noConstraint = new TestEndpoint(EndpointMetadataCollection.Empty, "noConstraint"); + + var actions = new Endpoint[] { noConstraint }; + + var selector = CreateSelector(actions); + var context = CreateHttpContext("POST"); + + // Act + var action1 = selector.SelectBestCandidate(context, actions); + var action2 = selector.SelectBestCandidate(context, actions); + + // Assert + Assert.Same(action1, noConstraint); + Assert.Same(action2, noConstraint); + } + + [Fact] + public void SelectBestCandidate_MultipleCallsNonConstraintMetadata_ReturnsEndpoint() + { + // Arrange + var noConstraint = new TestEndpoint(new EndpointMetadataCollection(new[] + { + new object(), + }), "noConstraint"); + + var actions = new Endpoint[] { noConstraint }; + + var selector = CreateSelector(actions); + var context = CreateHttpContext("POST"); + + // Act + var action1 = selector.SelectBestCandidate(context, actions); + var action2 = selector.SelectBestCandidate(context, actions); + + // Assert + Assert.Same(action1, noConstraint); + Assert.Same(action2, noConstraint); + } + [Fact] public void SelectBestCandidate_EndpointConstraintFactory_ReturnsNull() { @@ -225,10 +268,12 @@ namespace Microsoft.AspNetCore.Routing.EndpointConstraints var context = CreateHttpContext("POST"); // Act - var action = selector.SelectBestCandidate(context, actions); + var action1 = selector.SelectBestCandidate(context, actions); + var action2 = selector.SelectBestCandidate(context, actions); // Assert - Assert.Same(action, nullConstraint); + Assert.Same(action1, nullConstraint); + Assert.Same(action2, nullConstraint); } // There's a custom constraint provider registered that only understands BooleanConstraintMarker From 7423bb8702d7c7d0d9d433cca6d8f0980072693c Mon Sep 17 00:00:00 2001 From: Ryan Brandenburg Date: Thu, 14 Jun 2018 10:30:10 -0700 Subject: [PATCH 039/221] Set 2.1 baselines --- .../baseline.netcore.json | 68 +++--- .../baseline.netcore.json | 202 ++++++++++-------- 2 files changed, 145 insertions(+), 125 deletions(-) diff --git a/src/Microsoft.AspNetCore.Routing.Abstractions/baseline.netcore.json b/src/Microsoft.AspNetCore.Routing.Abstractions/baseline.netcore.json index 146393eba9..8f8a0cc67d 100644 --- a/src/Microsoft.AspNetCore.Routing.Abstractions/baseline.netcore.json +++ b/src/Microsoft.AspNetCore.Routing.Abstractions/baseline.netcore.json @@ -1,5 +1,5 @@ { - "AssemblyIdentity": "Microsoft.AspNetCore.Routing.Abstractions, Version=2.0.2.0, Culture=neutral, PublicKeyToken=adb9793829ddae60", + "AssemblyIdentity": "Microsoft.AspNetCore.Routing.Abstractions, Version=2.1.1.0, Culture=neutral, PublicKeyToken=adb9793829ddae60", "Types": [ { "Name": "Microsoft.AspNetCore.Routing.IRouteConstraint", @@ -305,6 +305,28 @@ "System.Collections.Generic.IReadOnlyDictionary" ], "Members": [ + { + "Kind": "Method", + "Name": "get_Count", + "Parameters": [], + "ReturnType": "System.Int32", + "Sealed": true, + "Virtual": true, + "ImplementedInterface": "System.Collections.Generic.ICollection>", + "Visibility": "Public", + "GenericParameter": [] + }, + { + "Kind": "Method", + "Name": "Clear", + "Parameters": [], + "ReturnType": "System.Void", + "Sealed": true, + "Virtual": true, + "ImplementedInterface": "System.Collections.Generic.ICollection>", + "Visibility": "Public", + "GenericParameter": [] + }, { "Kind": "Method", "Name": "get_Item", @@ -349,17 +371,6 @@ "Visibility": "Public", "GenericParameter": [] }, - { - "Kind": "Method", - "Name": "get_Count", - "Parameters": [], - "ReturnType": "System.Int32", - "Sealed": true, - "Virtual": true, - "ImplementedInterface": "System.Collections.Generic.ICollection>", - "Visibility": "Public", - "GenericParameter": [] - }, { "Kind": "Method", "Name": "get_Keys", @@ -402,17 +413,6 @@ "Visibility": "Public", "GenericParameter": [] }, - { - "Kind": "Method", - "Name": "Clear", - "Parameters": [], - "ReturnType": "System.Void", - "Sealed": true, - "Virtual": true, - "ImplementedInterface": "System.Collections.Generic.ICollection>", - "Visibility": "Public", - "GenericParameter": [] - }, { "Kind": "Method", "Name": "ContainsKey", @@ -786,17 +786,6 @@ "System.Collections.Generic.IEnumerator>" ], "Members": [ - { - "Kind": "Method", - "Name": "get_Current", - "Parameters": [], - "ReturnType": "System.Collections.Generic.KeyValuePair", - "Sealed": true, - "Virtual": true, - "ImplementedInterface": "System.Collections.Generic.IEnumerator>", - "Visibility": "Public", - "GenericParameter": [] - }, { "Kind": "Method", "Name": "Dispose", @@ -830,6 +819,17 @@ "Visibility": "Public", "GenericParameter": [] }, + { + "Kind": "Method", + "Name": "get_Current", + "Parameters": [], + "ReturnType": "System.Collections.Generic.KeyValuePair", + "Sealed": true, + "Virtual": true, + "ImplementedInterface": "System.Collections.Generic.IEnumerator>", + "Visibility": "Public", + "GenericParameter": [] + }, { "Kind": "Constructor", "Name": ".ctor", diff --git a/src/Microsoft.AspNetCore.Routing/baseline.netcore.json b/src/Microsoft.AspNetCore.Routing/baseline.netcore.json index 9a486ec55b..866f3e89cb 100644 --- a/src/Microsoft.AspNetCore.Routing/baseline.netcore.json +++ b/src/Microsoft.AspNetCore.Routing/baseline.netcore.json @@ -1,5 +1,5 @@ { - "AssemblyIdentity": "Microsoft.AspNetCore.Routing, Version=2.0.2.0, Culture=neutral, PublicKeyToken=adb9793829ddae60", + "AssemblyIdentity": "Microsoft.AspNetCore.Routing, Version=2.1.1.0, Culture=neutral, PublicKeyToken=adb9793829ddae60", "Types": [ { "Name": "Microsoft.AspNetCore.Builder.MapRouteRouteBuilderExtensions", @@ -967,6 +967,66 @@ "Microsoft.AspNetCore.Routing.INamedRouter" ], "Members": [ + { + "Kind": "Method", + "Name": "OnRouteMatched", + "Parameters": [ + { + "Name": "context", + "Type": "Microsoft.AspNetCore.Routing.RouteContext" + } + ], + "ReturnType": "System.Threading.Tasks.Task", + "Virtual": true, + "Abstract": true, + "Visibility": "Protected", + "GenericParameter": [] + }, + { + "Kind": "Method", + "Name": "OnVirtualPathGenerated", + "Parameters": [ + { + "Name": "context", + "Type": "Microsoft.AspNetCore.Routing.VirtualPathContext" + } + ], + "ReturnType": "Microsoft.AspNetCore.Routing.VirtualPathData", + "Virtual": true, + "Abstract": true, + "Visibility": "Protected", + "GenericParameter": [] + }, + { + "Kind": "Method", + "Name": "RouteAsync", + "Parameters": [ + { + "Name": "context", + "Type": "Microsoft.AspNetCore.Routing.RouteContext" + } + ], + "ReturnType": "System.Threading.Tasks.Task", + "Virtual": true, + "ImplementedInterface": "Microsoft.AspNetCore.Routing.IRouter", + "Visibility": "Public", + "GenericParameter": [] + }, + { + "Kind": "Method", + "Name": "GetVirtualPath", + "Parameters": [ + { + "Name": "context", + "Type": "Microsoft.AspNetCore.Routing.VirtualPathContext" + } + ], + "ReturnType": "Microsoft.AspNetCore.Routing.VirtualPathData", + "Virtual": true, + "ImplementedInterface": "Microsoft.AspNetCore.Routing.IRouter", + "Visibility": "Public", + "GenericParameter": [] + }, { "Kind": "Method", "Name": "get_Constraints", @@ -1106,66 +1166,6 @@ "Visibility": "Protected", "GenericParameter": [] }, - { - "Kind": "Method", - "Name": "OnRouteMatched", - "Parameters": [ - { - "Name": "context", - "Type": "Microsoft.AspNetCore.Routing.RouteContext" - } - ], - "ReturnType": "System.Threading.Tasks.Task", - "Virtual": true, - "Abstract": true, - "Visibility": "Protected", - "GenericParameter": [] - }, - { - "Kind": "Method", - "Name": "OnVirtualPathGenerated", - "Parameters": [ - { - "Name": "context", - "Type": "Microsoft.AspNetCore.Routing.VirtualPathContext" - } - ], - "ReturnType": "Microsoft.AspNetCore.Routing.VirtualPathData", - "Virtual": true, - "Abstract": true, - "Visibility": "Protected", - "GenericParameter": [] - }, - { - "Kind": "Method", - "Name": "RouteAsync", - "Parameters": [ - { - "Name": "context", - "Type": "Microsoft.AspNetCore.Routing.RouteContext" - } - ], - "ReturnType": "System.Threading.Tasks.Task", - "Virtual": true, - "ImplementedInterface": "Microsoft.AspNetCore.Routing.IRouter", - "Visibility": "Public", - "GenericParameter": [] - }, - { - "Kind": "Method", - "Name": "GetVirtualPath", - "Parameters": [ - { - "Name": "context", - "Type": "Microsoft.AspNetCore.Routing.VirtualPathContext" - } - ], - "ReturnType": "Microsoft.AspNetCore.Routing.VirtualPathData", - "Virtual": true, - "ImplementedInterface": "Microsoft.AspNetCore.Routing.IRouter", - "Visibility": "Public", - "GenericParameter": [] - }, { "Kind": "Method", "Name": "GetConstraints", @@ -1369,6 +1369,36 @@ "Microsoft.AspNetCore.Routing.IRouteCollection" ], "Members": [ + { + "Kind": "Method", + "Name": "RouteAsync", + "Parameters": [ + { + "Name": "context", + "Type": "Microsoft.AspNetCore.Routing.RouteContext" + } + ], + "ReturnType": "System.Threading.Tasks.Task", + "Virtual": true, + "ImplementedInterface": "Microsoft.AspNetCore.Routing.IRouter", + "Visibility": "Public", + "GenericParameter": [] + }, + { + "Kind": "Method", + "Name": "GetVirtualPath", + "Parameters": [ + { + "Name": "context", + "Type": "Microsoft.AspNetCore.Routing.VirtualPathContext" + } + ], + "ReturnType": "Microsoft.AspNetCore.Routing.VirtualPathData", + "Virtual": true, + "ImplementedInterface": "Microsoft.AspNetCore.Routing.IRouter", + "Visibility": "Public", + "GenericParameter": [] + }, { "Kind": "Method", "Name": "get_Item", @@ -1406,36 +1436,6 @@ "Visibility": "Public", "GenericParameter": [] }, - { - "Kind": "Method", - "Name": "RouteAsync", - "Parameters": [ - { - "Name": "context", - "Type": "Microsoft.AspNetCore.Routing.RouteContext" - } - ], - "ReturnType": "System.Threading.Tasks.Task", - "Virtual": true, - "ImplementedInterface": "Microsoft.AspNetCore.Routing.IRouter", - "Visibility": "Public", - "GenericParameter": [] - }, - { - "Kind": "Method", - "Name": "GetVirtualPath", - "Parameters": [ - { - "Name": "context", - "Type": "Microsoft.AspNetCore.Routing.VirtualPathContext" - } - ], - "ReturnType": "Microsoft.AspNetCore.Routing.VirtualPathData", - "Virtual": true, - "ImplementedInterface": "Microsoft.AspNetCore.Routing.IRouter", - "Visibility": "Public", - "GenericParameter": [] - }, { "Kind": "Constructor", "Name": ".ctor", @@ -2455,6 +2455,26 @@ ], "Visibility": "Public", "GenericParameter": [] + }, + { + "Kind": "Constructor", + "Name": ".ctor", + "Parameters": [ + { + "Name": "loggerFactory", + "Type": "Microsoft.Extensions.Logging.ILoggerFactory" + }, + { + "Name": "objectPool", + "Type": "Microsoft.Extensions.ObjectPool.ObjectPool" + }, + { + "Name": "constraintResolver", + "Type": "Microsoft.AspNetCore.Routing.IInlineConstraintResolver" + } + ], + "Visibility": "Public", + "GenericParameter": [] } ], "GenericParameters": [] From d3ddc1709a8c6d0d9df58fd695cdaa3db890d125 Mon Sep 17 00:00:00 2001 From: Kiran Challa Date: Fri, 8 Jun 2018 14:28:45 -0700 Subject: [PATCH 040/221] Added initial support for link generation when using Dispatcher --- .../Benchmarks/StartupUsingDispatcher.cs | 3 +- .../Matchers/MatcherBenchmarkBase.cs | 3 +- samples/DispatcherSample.Web/Startup.cs | 4 +- .../Address.cs | 19 + .../Endpoint.cs | 10 +- .../IEndpointFinder.cs | 12 + .../ILinkGenerator.cs | 12 + .../LinkGeneratorContext.cs | 14 + .../DefaultEndpointFinder.cs | 53 ++ .../DefaultLinkGenerator.cs | 98 +++ .../DispatcherServiceCollectionExtensions.cs | 3 + .../Matchers/MatcherEndpoint.cs | 38 +- .../DefaultEndpointFinderTest.cs | 161 ++++ .../DefaultLinkGeneratorTest.cs | 799 ++++++++++++++++++ .../EndpointSelectorTests.cs | 96 ++- .../HttpMethodEndpointConstraintTest.cs | 4 +- .../Matchers/MatcherConformanceTest.cs | 4 +- .../Matchers/TreeMatcherTests.cs | 4 +- .../TestObjects/TestEndpoint.cs | 3 +- .../TestObjects/TestMatcher.cs | 2 +- 20 files changed, 1300 insertions(+), 42 deletions(-) create mode 100644 src/Microsoft.AspNetCore.Routing.Abstractions/Address.cs create mode 100644 src/Microsoft.AspNetCore.Routing.Abstractions/IEndpointFinder.cs create mode 100644 src/Microsoft.AspNetCore.Routing.Abstractions/ILinkGenerator.cs create mode 100644 src/Microsoft.AspNetCore.Routing.Abstractions/LinkGeneratorContext.cs create mode 100644 src/Microsoft.AspNetCore.Routing/DefaultEndpointFinder.cs create mode 100644 src/Microsoft.AspNetCore.Routing/DefaultLinkGenerator.cs create mode 100644 test/Microsoft.AspNetCore.Routing.Tests/DefaultEndpointFinderTest.cs create mode 100644 test/Microsoft.AspNetCore.Routing.Tests/DefaultLinkGeneratorTest.cs diff --git a/benchmarkapps/Benchmarks/StartupUsingDispatcher.cs b/benchmarkapps/Benchmarks/StartupUsingDispatcher.cs index bfd6069eca..f26c36c132 100644 --- a/benchmarkapps/Benchmarks/StartupUsingDispatcher.cs +++ b/benchmarkapps/Benchmarks/StartupUsingDispatcher.cs @@ -35,7 +35,8 @@ namespace Benchmarks values: new { }, order: 0, metadata: EndpointMetadataCollection.Empty, - displayName: "Plaintext"), + displayName: "Plaintext", + address: null), })); }); } diff --git a/benchmarks/Microsoft.AspNetCore.Routing.Performance/Matchers/MatcherBenchmarkBase.cs b/benchmarks/Microsoft.AspNetCore.Routing.Performance/Matchers/MatcherBenchmarkBase.cs index 29e94564a7..a9853d13c3 100644 --- a/benchmarks/Microsoft.AspNetCore.Routing.Performance/Matchers/MatcherBenchmarkBase.cs +++ b/benchmarks/Microsoft.AspNetCore.Routing.Performance/Matchers/MatcherBenchmarkBase.cs @@ -31,7 +31,8 @@ namespace Microsoft.AspNetCore.Routing.Matchers new { }, 0, EndpointMetadataCollection.Empty, - template); + template, + address: null); } internal static int[] SampleRequests(int endpointCount, int count) diff --git a/samples/DispatcherSample.Web/Startup.cs b/samples/DispatcherSample.Web/Startup.cs index 4b8a461ff1..5b8103640c 100644 --- a/samples/DispatcherSample.Web/Startup.cs +++ b/samples/DispatcherSample.Web/Startup.cs @@ -31,7 +31,7 @@ namespace DispatcherSample.Web response.ContentLength = payloadLength; return response.Body.WriteAsync(_homePayload, 0, payloadLength); }, - "/", new { }, 0, EndpointMetadataCollection.Empty, "Home"), + "/", new { }, 0, EndpointMetadataCollection.Empty, "Home", address: null), new MatcherEndpoint((next) => (httpContext) => { var response = httpContext.Response; @@ -41,7 +41,7 @@ namespace DispatcherSample.Web response.ContentLength = payloadLength; return response.Body.WriteAsync(_helloWorldPayload, 0, payloadLength); }, - "/plaintext", new { }, 0, EndpointMetadataCollection.Empty, "Plaintext"), + "/plaintext", new { }, 0, EndpointMetadataCollection.Empty, "Plaintext", address: null), })); }); } diff --git a/src/Microsoft.AspNetCore.Routing.Abstractions/Address.cs b/src/Microsoft.AspNetCore.Routing.Abstractions/Address.cs new file mode 100644 index 0000000000..6004d8b9f8 --- /dev/null +++ b/src/Microsoft.AspNetCore.Routing.Abstractions/Address.cs @@ -0,0 +1,19 @@ +// Copyright (c) .NET Foundation. All rights reserved. +// Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information. + +namespace Microsoft.AspNetCore.Routing +{ + public class Address + { + public Address() + { + } + + public Address(string name) + { + Name = name; + } + + public string Name { get; set; } + } +} diff --git a/src/Microsoft.AspNetCore.Routing.Abstractions/Endpoint.cs b/src/Microsoft.AspNetCore.Routing.Abstractions/Endpoint.cs index 21a2b06bad..da138e4014 100644 --- a/src/Microsoft.AspNetCore.Routing.Abstractions/Endpoint.cs +++ b/src/Microsoft.AspNetCore.Routing.Abstractions/Endpoint.cs @@ -8,15 +8,21 @@ namespace Microsoft.AspNetCore.Routing [DebuggerDisplay("{DisplayName,nq}")] public abstract class Endpoint { - protected Endpoint(EndpointMetadataCollection metadata, string displayName) + protected Endpoint( + EndpointMetadataCollection metadata, + string displayName, + Address address) { - // Both allowed to be null + // All are allowed to be null Metadata = metadata ?? EndpointMetadataCollection.Empty; DisplayName = displayName; + Address = address; } public string DisplayName { get; } public EndpointMetadataCollection Metadata { get; } + + public Address Address { get; } } } diff --git a/src/Microsoft.AspNetCore.Routing.Abstractions/IEndpointFinder.cs b/src/Microsoft.AspNetCore.Routing.Abstractions/IEndpointFinder.cs new file mode 100644 index 0000000000..e799cacbd9 --- /dev/null +++ b/src/Microsoft.AspNetCore.Routing.Abstractions/IEndpointFinder.cs @@ -0,0 +1,12 @@ +// Copyright (c) .NET Foundation. All rights reserved. +// Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information. + +using System.Collections.Generic; + +namespace Microsoft.AspNetCore.Routing +{ + public interface IEndpointFinder + { + IEnumerable FindEndpoints(Address address); + } +} diff --git a/src/Microsoft.AspNetCore.Routing.Abstractions/ILinkGenerator.cs b/src/Microsoft.AspNetCore.Routing.Abstractions/ILinkGenerator.cs new file mode 100644 index 0000000000..8734108fb4 --- /dev/null +++ b/src/Microsoft.AspNetCore.Routing.Abstractions/ILinkGenerator.cs @@ -0,0 +1,12 @@ +// Copyright (c) .NET Foundation. All rights reserved. +// Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information. + +namespace Microsoft.AspNetCore.Routing +{ + public interface ILinkGenerator + { + bool TryGetLink(LinkGeneratorContext context, out string link); + + string GetLink(LinkGeneratorContext context); + } +} diff --git a/src/Microsoft.AspNetCore.Routing.Abstractions/LinkGeneratorContext.cs b/src/Microsoft.AspNetCore.Routing.Abstractions/LinkGeneratorContext.cs new file mode 100644 index 0000000000..90f6eab6b8 --- /dev/null +++ b/src/Microsoft.AspNetCore.Routing.Abstractions/LinkGeneratorContext.cs @@ -0,0 +1,14 @@ +// Copyright (c) .NET Foundation. All rights reserved. +// Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information. + +namespace Microsoft.AspNetCore.Routing +{ + public class LinkGeneratorContext + { + public Address Address { get; set; } + + public RouteValueDictionary AmbientValues { get; set; } + + public RouteValueDictionary SuppliedValues { get; set; } + } +} diff --git a/src/Microsoft.AspNetCore.Routing/DefaultEndpointFinder.cs b/src/Microsoft.AspNetCore.Routing/DefaultEndpointFinder.cs new file mode 100644 index 0000000000..cf06f56195 --- /dev/null +++ b/src/Microsoft.AspNetCore.Routing/DefaultEndpointFinder.cs @@ -0,0 +1,53 @@ +// Copyright (c) .NET Foundation. All rights reserved. +// Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information. + +using System; +using System.Collections.Generic; +using System.Linq; +using Microsoft.Extensions.Logging; + +namespace Microsoft.AspNetCore.Routing +{ + internal class DefaultEndpointFinder : IEndpointFinder + { + private readonly CompositeEndpointDataSource _endpointDatasource; + private readonly ILogger _logger; + + public DefaultEndpointFinder( + CompositeEndpointDataSource endpointDataSource, + ILogger logger) + { + _endpointDatasource = endpointDataSource; + _logger = logger; + } + + public IEnumerable FindEndpoints(Address lookupAddress) + { + var allEndpoints = _endpointDatasource.Endpoints; + + if (lookupAddress == null || string.IsNullOrEmpty(lookupAddress.Name)) + { + return allEndpoints; + } + + var endpointsWithAddress = allEndpoints.Where(ep => ep.Address != null); + if (!endpointsWithAddress.Any()) + { + return allEndpoints; + } + + foreach (var endpoint in endpointsWithAddress) + { + if (string.Equals(lookupAddress.Name, endpoint.Address.Name, StringComparison.OrdinalIgnoreCase)) + { + return new[] { endpoint }; + } + } + + _logger.LogDebug( + $"Could not find an endpoint having an address with name '{lookupAddress.Name}'."); + + return Enumerable.Empty(); + } + } +} diff --git a/src/Microsoft.AspNetCore.Routing/DefaultLinkGenerator.cs b/src/Microsoft.AspNetCore.Routing/DefaultLinkGenerator.cs new file mode 100644 index 0000000000..efa773e6f5 --- /dev/null +++ b/src/Microsoft.AspNetCore.Routing/DefaultLinkGenerator.cs @@ -0,0 +1,98 @@ +// Copyright (c) .NET Foundation. All rights reserved. +// Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information. + +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text.Encodings.Web; +using Microsoft.AspNetCore.Routing.Internal; +using Microsoft.AspNetCore.Routing.Matchers; +using Microsoft.AspNetCore.Routing.Template; +using Microsoft.Extensions.Logging; +using Microsoft.Extensions.ObjectPool; + +namespace Microsoft.AspNetCore.Routing +{ + public class DefaultLinkGenerator : ILinkGenerator + { + private readonly IEndpointFinder _endpointFinder; + private readonly ObjectPool _uriBuildingContextPool; + private readonly ILogger _logger; + + public DefaultLinkGenerator( + IEndpointFinder endpointFinder, + ObjectPool uriBuildingContextPool, + ILogger logger) + { + _endpointFinder = endpointFinder; + _uriBuildingContextPool = uriBuildingContextPool; + _logger = logger; + } + + public string GetLink(LinkGeneratorContext context) + { + if (TryGetLink(context, out var link)) + { + return link; + } + + throw new InvalidOperationException("Could not find a matching endpoint to generate a link."); + } + + public bool TryGetLink(LinkGeneratorContext context, out string link) + { + var address = context.Address; + var endpoints = _endpointFinder.FindEndpoints(address); + link = null; + + if (endpoints == null) + { + return false; + } + + var matcherEndpoints = endpoints.OfType(); + if (!matcherEndpoints.Any()) + { + //todo:log here + return false; + } + + foreach (var endpoint in matcherEndpoints) + { + link = GetLink(endpoint.ParsedTemlate, endpoint.Values, context); + if (link != null) + { + return true; + } + } + + return false; + } + + private string GetLink( + RouteTemplate template, + IReadOnlyDictionary defaultValues, + LinkGeneratorContext context) + { + var defaults = new RouteValueDictionary(defaultValues); + var templateBinder = new TemplateBinder( + UrlEncoder.Default, + _uriBuildingContextPool, + template, + defaults); + + var values = templateBinder.GetValues( + new RouteValueDictionary(context.AmbientValues), + new RouteValueDictionary(context.SuppliedValues)); + if (values == null) + { + // We're missing one of the required values for this route. + return null; + } + + //TODO: route constraint matching here + + return templateBinder.BindValues(values.AcceptedValues); + } + } +} diff --git a/src/Microsoft.AspNetCore.Routing/DependencyInjection/DispatcherServiceCollectionExtensions.cs b/src/Microsoft.AspNetCore.Routing/DependencyInjection/DispatcherServiceCollectionExtensions.cs index 2bb82e0933..64f8d4ad81 100644 --- a/src/Microsoft.AspNetCore.Routing/DependencyInjection/DispatcherServiceCollectionExtensions.cs +++ b/src/Microsoft.AspNetCore.Routing/DependencyInjection/DispatcherServiceCollectionExtensions.cs @@ -34,6 +34,9 @@ namespace Microsoft.Extensions.DependencyInjection // services.TryAddSingleton(); + // Link generation related services + services.TryAddSingleton(); + services.TryAddSingleton(); // // Endpoint Selection // diff --git a/src/Microsoft.AspNetCore.Routing/Matchers/MatcherEndpoint.cs b/src/Microsoft.AspNetCore.Routing/Matchers/MatcherEndpoint.cs index d371afc143..c416bd148e 100644 --- a/src/Microsoft.AspNetCore.Routing/Matchers/MatcherEndpoint.cs +++ b/src/Microsoft.AspNetCore.Routing/Matchers/MatcherEndpoint.cs @@ -5,6 +5,7 @@ using System; using System.Collections.Generic; using System.Threading.Tasks; using Microsoft.AspNetCore.Http; +using Microsoft.AspNetCore.Routing.Template; namespace Microsoft.AspNetCore.Routing.Matchers { @@ -21,8 +22,9 @@ namespace Microsoft.AspNetCore.Routing.Matchers object values, int order, EndpointMetadataCollection metadata, - string displayName) - : base(metadata, displayName) + string displayName, + Address address) + : base(metadata, displayName, address) { if (invoker == null) { @@ -36,14 +38,42 @@ namespace Microsoft.AspNetCore.Routing.Matchers Invoker = invoker; Template = template; - Values = new RouteValueDictionary(values); + ParsedTemlate = TemplateParser.Parse(template); + var mergedDefaults = GetDefaults(ParsedTemlate, new RouteValueDictionary(values)); + Values = mergedDefaults; Order = order; } public int Order { get; } public Func Invoker { get; } public string Template { get; } - public IReadOnlyDictionary Values { get; } + + // Todo: needs review + public RouteTemplate ParsedTemlate { get; } + + private RouteValueDictionary GetDefaults(RouteTemplate parsedTemplate, RouteValueDictionary defaults) + { + var result = defaults == null ? new RouteValueDictionary() : new RouteValueDictionary(defaults); + + foreach (var parameter in parsedTemplate.Parameters) + { + if (parameter.DefaultValue != null) + { + if (result.ContainsKey(parameter.Name)) + { + throw new InvalidOperationException( + Resources.FormatTemplateRoute_CannotHaveDefaultValueSpecifiedInlineAndExplicitly( + parameter.Name)); + } + else + { + result.Add(parameter.Name, parameter.DefaultValue); + } + } + } + + return result; + } } } diff --git a/test/Microsoft.AspNetCore.Routing.Tests/DefaultEndpointFinderTest.cs b/test/Microsoft.AspNetCore.Routing.Tests/DefaultEndpointFinderTest.cs new file mode 100644 index 0000000000..a9421aad05 --- /dev/null +++ b/test/Microsoft.AspNetCore.Routing.Tests/DefaultEndpointFinderTest.cs @@ -0,0 +1,161 @@ +// Copyright (c) .NET Foundation. All rights reserved. +// Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information. + +using Microsoft.AspNetCore.Routing.TestObjects; +using Microsoft.Extensions.Logging.Abstractions; +using Xunit; + +namespace Microsoft.AspNetCore.Routing +{ + public class DefaultEndpointFinderTest + { + [Fact] + public void FindEndpoints_IgnoresCase_ForRouteNameLookup() + { + // Arrange + var endpoint1 = CreateEndpoint(new Address("home")); + var endpoint2 = CreateEndpoint(new Address("admin")); + var endpointFinder = CreateDefaultEndpointFinder(endpoint1, endpoint2); + + // Act + var result = endpointFinder.FindEndpoints(new Address("Admin")); + + // Assert + var endpoint = Assert.Single(result); + Assert.Same(endpoint2, endpoint); + } + + [Fact] + public void FindEndpoints_MultipleEndpointsWithSameName_ReturnsFirstEndpoint_WithMatchingName() + { + // Arrange + var name = "common-tag-for-all-my-section's-routes"; + var endpoint1 = CreateEndpoint(new Address(name)); + var endpoint2 = CreateEndpoint(new Address("admin")); + var endpoint3 = CreateEndpoint(new Address(name)); + var endpoint4 = CreateEndpoint(new Address("products")); + var endpointFinder = CreateDefaultEndpointFinder(endpoint1, endpoint2, endpoint3, endpoint4); + + // Act + var result = endpointFinder.FindEndpoints(new Address(name)); + + // Assert + var endpoint = Assert.Single(result); + Assert.Same(endpoint, endpoint1); + } + + [Fact] + public void FindEndpoints_ReturnsAllEndpoints_WhenNoEndpointsHaveAddress() + { + // Arrange + var endpoint1 = CreateEndpoint(address: null); + var endpoint2 = CreateEndpoint(address: null); + var endpointFinder = CreateDefaultEndpointFinder(endpoint1, endpoint2); + + // Act + var result = endpointFinder.FindEndpoints(new Address("Admin")); + + // Assert + Assert.Collection( + result, + (ep) => Assert.Same(endpoint1, ep), + (ep) => Assert.Same(endpoint2, ep)); + } + + [Fact] + public void FindEndpoints_ReturnsAllEndpoints_WhenLookupAddress_IsNull() + { + // Arrange + var endpoint1 = CreateEndpoint(new Address("home")); + var endpoint2 = CreateEndpoint(new Address("admin")); + var endpointFinder = CreateDefaultEndpointFinder(endpoint1, endpoint2); + + // Act + var result = endpointFinder.FindEndpoints(lookupAddress: null); + + // Assert + Assert.Collection( + result, + (ep) => Assert.Same(endpoint1, ep), + (ep) => Assert.Same(endpoint2, ep)); + } + + [Fact] + public void FindEndpoints_ReturnsAllEndpoints_WhenNoEndpointsHaveAddress_AndLookupAddress_IsNull() + { + // Arrange + var endpoint1 = CreateEndpoint(address: null); + var endpoint2 = CreateEndpoint(address: null); + var endpointFinder = CreateDefaultEndpointFinder(endpoint1, endpoint2); + + // Act + var result = endpointFinder.FindEndpoints(lookupAddress: null); + + // Assert + Assert.Collection( + result, + (ep) => Assert.Same(endpoint1, ep), + (ep) => Assert.Same(endpoint2, ep)); + } + + [Fact] + public void FindEndpoints_ReturnsAllEndpoints_WhenNoInformationGiven_OnLookupAddress() + { + // Arrange + var endpoint1 = CreateEndpoint(new Address("home")); + var endpoint2 = CreateEndpoint(new Address("admin")); + var endpointFinder = CreateDefaultEndpointFinder(endpoint1, endpoint2); + + // Act + var result = endpointFinder.FindEndpoints(new Address(name: null)); + + // Assert + Assert.Collection( + result, + (ep) => Assert.Same(endpoint1, ep), + (ep) => Assert.Same(endpoint2, ep)); + } + + [Fact] + public void FindEndpoints_ReturnsEmpty_WhenNoEndpointFound_WithLookupAddress_Name() + { + // Arrange + var endpoint1 = CreateEndpoint(new Address("home")); + var endpoint2 = CreateEndpoint(new Address("admin")); + var endpointFinder = CreateDefaultEndpointFinder(endpoint1, endpoint2); + + // Act + var result = endpointFinder.FindEndpoints(new Address("DoesNotExist")); + + // Assert + Assert.Empty(result); + } + + private Endpoint CreateEndpoint(Address address) + { + return new TestEndpoint( + EndpointMetadataCollection.Empty, + displayName: null, + address: address); + } + + private DefaultEndpointFinder CreateDefaultEndpointFinder(params Endpoint[] endpoints) + { + return new DefaultEndpointFinder( + new CompositeEndpointDataSource(new[] { new DefaultEndpointDataSource(endpoints) }), + NullLogger.Instance); + } + + private class HomeController + { + public void Index() { } + public void Contact() { } + } + + private class AdminController + { + public void Index() { } + public void Contact() { } + } + } +} diff --git a/test/Microsoft.AspNetCore.Routing.Tests/DefaultLinkGeneratorTest.cs b/test/Microsoft.AspNetCore.Routing.Tests/DefaultLinkGeneratorTest.cs new file mode 100644 index 0000000000..892c69519b --- /dev/null +++ b/test/Microsoft.AspNetCore.Routing.Tests/DefaultLinkGeneratorTest.cs @@ -0,0 +1,799 @@ +// Copyright (c) .NET Foundation. All rights reserved. +// Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information. + +using System; +using System.Collections.Generic; +using System.Threading.Tasks; +using Microsoft.AspNetCore.Routing.Internal; +using Microsoft.AspNetCore.Routing.Matchers; +using Microsoft.Extensions.Logging; +using Microsoft.Extensions.Logging.Abstractions; +using Microsoft.Extensions.ObjectPool; +using Moq; +using Xunit; + +namespace Microsoft.AspNetCore.Routing +{ + public class DefaultLinkGeneratorTest + { + [Fact] + public void GetLink_Success() + { + // Arrange + var endpoint = CreateEndpoint("{controller}"); + var linkGenerator = CreateLinkGenerator(CreateEndpointFinder(endpoint)); + var context = CreateLinkGeneratorContext(new { controller = "Home" }); + + // Act + var link = linkGenerator.GetLink(context); + + // Assert + Assert.Equal("/Home", link); + } + + [Fact] + public void GetLink_Fail_ThrowsException() + { + // Arrange + var expectedMessage = "Could not find a matching endpoint to generate a link."; + var endpoint = CreateEndpoint("{controller}/{action}"); + var linkGenerator = CreateLinkGenerator(CreateEndpointFinder(endpoint)); + var context = CreateLinkGeneratorContext(new { controller = "Home" }); + + // Act & Assert + var exception = Assert.Throws(() => linkGenerator.GetLink(context)); + Assert.Equal(expectedMessage, exception.Message); + } + + [Fact] + public void TryGetLink_Fail() + { + // Arrange + var endpoint = CreateEndpoint("{controller}/{action}"); + var linkGenerator = CreateLinkGenerator(CreateEndpointFinder(endpoint)); + var context = CreateLinkGeneratorContext(new { controller = "Home" }); + + // Act + var canGenerateLink = linkGenerator.TryGetLink(context, out var link); + + // Assert + Assert.False(canGenerateLink); + Assert.Null(link); + } + + [Fact] + public void GetLink_MultipleEndpoints_Success() + { + // Arrange + var endpoint1 = CreateEndpoint("{controller}/{action}/{id?}"); + var endpoint2 = CreateEndpoint("{controller}/{action}"); + var endpoint3 = CreateEndpoint("{controller}"); + var linkGenerator = CreateLinkGenerator(CreateEndpointFinder(endpoint1, endpoint2, endpoint3)); + var context = CreateLinkGeneratorContext(new { controller = "Home", action = "Index", id = "10" }); + + // Act + var link = linkGenerator.GetLink(context); + + // Assert + Assert.Equal("/Home/Index/10", link); + } + + [Fact] + public void GetLink_MultipleEndpoints_Success2() + { + // Arrange + var endpoint1 = CreateEndpoint("{controller}/{action}/{id}"); + var endpoint2 = CreateEndpoint("{controller}/{action}"); + var endpoint3 = CreateEndpoint("{controller}"); + var linkGenerator = CreateLinkGenerator(CreateEndpointFinder(endpoint1, endpoint2, endpoint3)); + var context = CreateLinkGeneratorContext(new { controller = "Home", action = "Index" }); + + // Act + var link = linkGenerator.GetLink(context); + + // Assert + Assert.Equal("/Home/Index", link); + } + + [Fact] + public void GetLink_EncodesValues() + { + // Arrange + var endpoint = CreateEndpoint("{controller}/{action}"); + var linkGenerator = CreateLinkGenerator(CreateEndpointFinder(endpoint)); + var context = CreateLinkGeneratorContext( + suppliedValues: new { name = "name with %special #characters" }, + ambientValues: new { controller = "Home", action = "Index" }); + + // Act + var link = linkGenerator.GetLink(context); + + // Assert + Assert.Equal("/Home/Index?name=name%20with%20%25special%20%23characters", link); + } + + [Fact] + public void GetLink_ForListOfStrings() + { + // Arrange + var endpoint = CreateEndpoint("{controller}/{action}"); + var linkGenerator = CreateLinkGenerator(CreateEndpointFinder(endpoint)); + var context = CreateLinkGeneratorContext( + new { color = new List { "red", "green", "blue" } }, + new { controller = "Home", action = "Index" }); + + // Act + var link = linkGenerator.GetLink(context); + + // Assert + Assert.Equal("/Home/Index?color=red&color=green&color=blue", link); + } + + [Fact] + public void GetLink_ForListOfInts() + { + // Arrange + var endpoint = CreateEndpoint("{controller}/{action}"); + var linkGenerator = CreateLinkGenerator(CreateEndpointFinder(endpoint)); + var context = CreateLinkGeneratorContext( + new { items = new List { 10, 20, 30 } }, + new { controller = "Home", action = "Index" }); + + // Act + var link = linkGenerator.GetLink(context); + + // Assert + Assert.Equal("/Home/Index?items=10&items=20&items=30", link); + } + + [Fact] + public void GetLink_ForList_Empty() + { + // Arrange + var endpoint = CreateEndpoint("{controller}/{action}"); + var linkGenerator = CreateLinkGenerator(CreateEndpointFinder(endpoint)); + var context = CreateLinkGeneratorContext( + new { color = new List { } }, + new { controller = "Home", action = "Index" }); + + // Act + var link = linkGenerator.GetLink(context); + + // Assert + Assert.Equal("/Home/Index", link); + } + + [Fact] + public void GetLink_ForList_StringWorkaround() + { + // Arrange + var endpoint = CreateEndpoint("{controller}/{action}"); + var linkGenerator = CreateLinkGenerator(CreateEndpointFinder(endpoint)); + var context = CreateLinkGeneratorContext( + new { page = 1, color = new List { "red", "green", "blue" }, message = "textfortest" }, + new { controller = "Home", action = "Index" }); + + // Act + var link = linkGenerator.GetLink(context); + + // Assert + Assert.Equal("/Home/Index?page=1&color=red&color=green&color=blue&message=textfortest", link); + } + + [Fact] + public void GetLink_Success_AmbientValues() + { + // Arrange + var endpoint = CreateEndpoint("{controller}/{action}"); + var linkGenerator = CreateLinkGenerator(CreateEndpointFinder(endpoint)); + var context = CreateLinkGeneratorContext( + suppliedValues: new { action = "Index" }, + ambientValues: new { controller = "Home" }); + + // Act + var link = linkGenerator.GetLink(context); + + // Assert + Assert.Equal("/Home/Index", link); + } + + //[Fact] + //public void RouteGenerationRejectsConstraints() + //{ + // // Arrange + // var context = CreateLinkGeneratorContext(new { p1 = "abcd" }); + + // var endpoint = CreateEndpoint( + // "{p1}/{p2}", + // new { p2 = "catchall" }, + // true, + // new RouteValueDictionary(new { p2 = "\\d{4}" })); + + // // Act + // var virtualPath = route.GetLink(context); + + // // Assert + // Assert.Null(virtualPath); + //} + + //[Fact] + //public void RouteGenerationAcceptsConstraints() + //{ + // // Arrange + // var context = CreateLinkGeneratorContext(new { p1 = "hello", p2 = "1234" }); + + // var endpoint = CreateEndpoint( + // "{p1}/{p2}", + // new { p2 = "catchall" }, + // true, + // new RouteValueDictionary(new { p2 = "\\d{4}" })); + + // // Act + // var link = linkGenerator.GetLink(context); + + // // Assert + // Assert.NotNull(pathData); + // Assert.Equal("/hello/1234", link); + // + // + //} + + //[Fact] + //public void RouteWithCatchAllRejectsConstraints() + //{ + // // Arrange + // var context = CreateLinkGeneratorContext(new { p1 = "abcd" }); + + // var endpoint = CreateEndpoint( + // "{p1}/{*p2}", + // new { p2 = "catchall" }, + // true, + // new RouteValueDictionary(new { p2 = "\\d{4}" })); + + // // Act + // var virtualPath = route.GetLink(context); + + // // Assert + // Assert.Null(virtualPath); + //} + + //[Fact] + //public void RouteWithCatchAllAcceptsConstraints() + //{ + // // Arrange + // var context = CreateLinkGeneratorContext(new { p1 = "hello", p2 = "1234" }); + + // var endpoint = CreateEndpoint( + // "{p1}/{*p2}", + // new { p2 = "catchall" }, + // true, + // new RouteValueDictionary(new { p2 = "\\d{4}" })); + + // // Act + // var link = linkGenerator.GetLink(context); + + // // Assert + // Assert.NotNull(pathData); + // Assert.Equal("/hello/1234", link); + // + // + //} + + //[Fact] + //public void GetLinkWithNonParameterConstraintReturnsUrlWithoutQueryString() + //{ + // // Arrange + // var context = CreateLinkGeneratorContext(new { p1 = "hello", p2 = "1234" }); + + // var target = new Mock(); + // target + // .Setup( + // e => e.Match( + // It.IsAny(), + // It.IsAny(), + // It.IsAny(), + // It.IsAny(), + // It.IsAny())) + // .Returns(true) + // .Verifiable(); + + // var endpoint = CreateEndpoint( + // "{p1}/{p2}", + // new { p2 = "catchall" }, + // true, + // new RouteValueDictionary(new { p2 = target.Object })); + + // // Act + // var link = linkGenerator.GetLink(context); + + // // Assert + // Assert.NotNull(pathData); + // Assert.Equal("/hello/1234", link); + // + // + + // target.VerifyAll(); + //} + + //// Any ambient values from the current request should be visible to constraint, even + //// if they have nothing to do with the route generating a link + //[Fact] + //public void GetLink_ConstraintsSeeAmbientValues() + //{ + // // Arrange + // var constraint = new CapturingConstraint(); + // var endpoint = CreateEndpoint( + // template: "slug/{controller}/{action}", + // defaultValues: null, + // handleRequest: true, + // constraints: new { c = constraint }); + + // var context = CreateLinkGeneratorContext( + // values: new { action = "Store" }, + // ambientValues: new { Controller = "Home", action = "Blog", extra = "42" }); + + // var expectedValues = new RouteValueDictionary( + // new { controller = "Home", action = "Store", extra = "42" }); + + // // Act + // var link = linkGenerator.GetLink(context); + + // // Assert + // Assert.Equal("/slug/Home/Store", link); + // + // + + // Assert.Equal(expectedValues, constraint.Values); + //} + + //// Non-parameter default values from the routing generating a link are not in the 'values' + //// collection when constraints are processed. + //[Fact] + //public void GetLink_ConstraintsDontSeeDefaults_WhenTheyArentParameters() + //{ + // // Arrange + // var constraint = new CapturingConstraint(); + // var endpoint = CreateEndpoint( + // template: "slug/{controller}/{action}", + // defaultValues: new { otherthing = "17" }, + // handleRequest: true, + // constraints: new { c = constraint }); + + // var context = CreateLinkGeneratorContext( + // values: new { action = "Store" }, + // ambientValues: new { Controller = "Home", action = "Blog" }); + + // var expectedValues = new RouteValueDictionary( + // new { controller = "Home", action = "Store" }); + + // // Act + // var link = linkGenerator.GetLink(context); + + // // Assert + // Assert.Equal("/slug/Home/Store", link); + // + // + + // Assert.Equal(expectedValues, constraint.Values); + //} + + //// Default values are visible to the constraint when they are used to fill a parameter. + //[Fact] + //public void GetLink_ConstraintsSeesDefault_WhenThereItsAParamter() + //{ + // // Arrange + // var constraint = new CapturingConstraint(); + // var endpoint = CreateEndpoint( + // template: "slug/{controller}/{action}", + // defaultValues: new { action = "Index" }, + // handleRequest: true, + // constraints: new { c = constraint }); + + // var context = CreateLinkGeneratorContext( + // values: new { controller = "Shopping" }, + // ambientValues: new { Controller = "Home", action = "Blog" }); + + // var expectedValues = new RouteValueDictionary( + // new { controller = "Shopping", action = "Index" }); + + // // Act + // var link = linkGenerator.GetLink(context); + + // // Assert + // Assert.Equal("/slug/Shopping", link); + // + // + + // Assert.Equal(expectedValues, constraint.Values); + //} + + //// Default values from the routing generating a link are in the 'values' collection when + //// constraints are processed - IFF they are specified as values or ambient values. + //[Fact] + //public void GetLink_ConstraintsSeeDefaults_IfTheyAreSpecifiedOrAmbient() + //{ + // // Arrange + // var constraint = new CapturingConstraint(); + // var endpoint = CreateEndpoint( + // template: "slug/{controller}/{action}", + // defaultValues: new { otherthing = "17", thirdthing = "13" }, + // handleRequest: true, + // constraints: new { c = constraint }); + + // var context = CreateLinkGeneratorContext( + // values: new { action = "Store", thirdthing = "13" }, + // ambientValues: new { Controller = "Home", action = "Blog", otherthing = "17" }); + + // var expectedValues = new RouteValueDictionary( + // new { controller = "Home", action = "Store", otherthing = "17", thirdthing = "13" }); + + // // Act + // var link = linkGenerator.GetLink(context); + + // // Assert + // Assert.Equal("/slug/Home/Store", link); + // + // + + // Assert.Equal(expectedValues.OrderBy(kvp => kvp.Key), constraint.Values.OrderBy(kvp => kvp.Key)); + //} + + //[Fact] + //public void GetLink_InlineConstraints_Success() + //{ + // // Arrange + // var endpoint = CreateEndpoint("{controller}/{action}/{id:int}"); + // var context = CreateLinkGeneratorContext( + // values: new { action = "Index", controller = "Home", id = 4 }); + + // // Act + // var link = linkGenerator.GetLink(context); + + // // Assert + // Assert.Equal("/Home/Index/4", link); + // + // + //} + + //[Fact] + //public void GetLink_InlineConstraints_NonMatchingvalue() + //{ + // // Arrange + // var endpoint = CreateEndpoint("{controller}/{action}/{id:int}"); + // var context = CreateLinkGeneratorContext( + // values: new { action = "Index", controller = "Home", id = "asf" }); + + // // Act + // var path = route.GetLink(context); + + // // Assert + // Assert.Null(path); + //} + + //[Fact] + //public void GetLink_InlineConstraints_OptionalParameter_ValuePresent() + //{ + // // Arrange + // var endpoint = CreateEndpoint("{controller}/{action}/{id:int?}"); + // var context = CreateLinkGeneratorContext( + // values: new { action = "Index", controller = "Home", id = 98 }); + + // // Act + // var link = linkGenerator.GetLink(context); + + // // Assert + // Assert.Equal("/Home/Index/98", link); + // + // + //} + + //[Fact] + //public void GetLink_InlineConstraints_OptionalParameter_ValueNotPresent() + //{ + // // Arrange + // var endpoint = CreateEndpoint("{controller}/{action}/{id:int?}"); + // var context = CreateLinkGeneratorContext( + // values: new { action = "Index", controller = "Home" }); + + // // Act + // var link = linkGenerator.GetLink(context); + + // // Assert + // Assert.Equal("/Home/Index", link); + // + // + //} + + //[Fact] + //public void GetLink_InlineConstraints_OptionalParameter_ValuePresent_ConstraintFails() + //{ + // // Arrange + // var endpoint = CreateEndpoint("{controller}/{action}/{id:int?}"); + // var context = CreateLinkGeneratorContext( + // values: new { action = "Index", controller = "Home", id = "sdfd" }); + + // // Act + // var path = route.GetLink(context); + + // // Assert + // Assert.Null(path); + //} + + //[Fact] + //public void GetLink_InlineConstraints_CompositeInlineConstraint() + //{ + // // Arrange + // var endpoint = CreateEndpoint("{controller}/{action}/{id:int:range(1,20)}"); + // var context = CreateLinkGeneratorContext( + // values: new { action = "Index", controller = "Home", id = 14 }); + + // // Act + // var link = linkGenerator.GetLink(context); + + // // Assert + // Assert.Equal("/Home/Index/14", link); + // + // + //} + + //[Fact] + //public void GetLink_InlineConstraints_CompositeConstraint_FromConstructor() + //{ + // // Arrange + // var constraint = new MaxLengthRouteConstraint(20); + // var endpoint = CreateEndpoint( + // template: "{controller}/{action}/{name:alpha}", + // defaultValues: null, + // handleRequest: true, + // constraints: new { name = constraint }); + + // var context = CreateLinkGeneratorContext( + // values: new { action = "Index", controller = "Home", name = "products" }); + + // // Act + // var link = linkGenerator.GetLink(context); + + // // Assert + // Assert.Equal("/Home/Index/products", link); + // + // + //} + + [Fact] + public void GetLink_OptionalParameter_ParameterPresentInValues() + { + // Arrange + var endpoint = CreateEndpoint("{controller}/{action}/{name?}"); + var linkGenerator = CreateLinkGenerator(CreateEndpointFinder(endpoint)); + var context = CreateLinkGeneratorContext( + suppliedValues: new { action = "Index", controller = "Home", name = "products" }); + + // Act + var link = linkGenerator.GetLink(context); + + // Assert + Assert.Equal("/Home/Index/products", link); + } + + [Fact] + public void GetLink_OptionalParameter_ParameterNotPresentInValues() + { + // Arrange + var endpoint = CreateEndpoint("{controller}/{action}/{name?}"); + var linkGenerator = CreateLinkGenerator(CreateEndpointFinder(endpoint)); + var context = CreateLinkGeneratorContext( + suppliedValues: new { action = "Index", controller = "Home" }); + + // Act + var link = linkGenerator.GetLink(context); + + // Assert + Assert.Equal("/Home/Index", link); + } + + [Fact] + public void GetLink_OptionalParameter_ParameterPresentInValuesAndDefaults() + { + // Arrange + var endpoint = CreateEndpoint( + template: "{controller}/{action}/{name?}", + defaultValues: new { name = "default-products" }); + var linkGenerator = CreateLinkGenerator(CreateEndpointFinder(endpoint)); + var context = CreateLinkGeneratorContext( + suppliedValues: new { action = "Index", controller = "Home", name = "products" }); + + // Act + var link = linkGenerator.GetLink(context); + + // Assert + Assert.Equal("/Home/Index/products", link); + } + + [Fact] + public void GetLink_OptionalParameter_ParameterNotPresentInValues_PresentInDefaults() + { + // Arrange + var endpoint = CreateEndpoint( + template: "{controller}/{action}/{name?}", + defaultValues: new { name = "products" }); + var linkGenerator = CreateLinkGenerator(CreateEndpointFinder(endpoint)); + var context = CreateLinkGeneratorContext( + suppliedValues: new { action = "Index", controller = "Home" }); + + // Act + var link = linkGenerator.GetLink(context); + + // Assert + Assert.Equal("/Home/Index", link); + } + + [Fact] + public void GetLink_ParameterNotPresentInTemplate_PresentInValues() + { + // Arrange + var endpoint = CreateEndpoint("{controller}/{action}/{name}"); + var linkGenerator = CreateLinkGenerator(CreateEndpointFinder(endpoint)); + var context = CreateLinkGeneratorContext( + suppliedValues: new { action = "Index", controller = "Home", name = "products", format = "json" }); + + // Act + var link = linkGenerator.GetLink(context); + + // Assert + Assert.Equal("/Home/Index/products?format=json", link); + } + + //[Fact] + //public void GetLink_OptionalParameter_FollowedByDotAfterSlash_ParameterPresent() + //{ + // // Arrange + // var endpoint = CreateEndpoint( + // template: "{controller}/{action}/.{name?}", + // defaultValues: null, + // handleRequest: true, + // constraints: null); + + // var context = CreateLinkGeneratorContext( + // values: new { action = "Index", controller = "Home", name = "products" }); + + // // Act + // var link = linkGenerator.GetLink(context); + + // // Assert + // Assert.Equal("/Home/Index/.products", link); + // + // + //} + + //[Fact] + //public void GetLink_OptionalParameter_FollowedByDotAfterSlash_ParameterNotPresent() + //{ + // // Arrange + // var endpoint = CreateEndpoint( + // template: "{controller}/{action}/.{name?}", + // defaultValues: null, + // handleRequest: true, + // constraints: null); + + // var context = CreateLinkGeneratorContext( + // values: new { action = "Index", controller = "Home" }); + + // // Act + // var link = linkGenerator.GetLink(context); + + // // Assert + // Assert.Equal("/Home/Index/", link); + // + // + //} + + [Fact] + public void GetLink_OptionalParameter_InSimpleSegment() + { + // Arrange + var endpoint = CreateEndpoint("{controller}/{action}/{name?}"); + var linkGenerator = CreateLinkGenerator(CreateEndpointFinder(endpoint)); + var context = CreateLinkGeneratorContext( + suppliedValues: new { action = "Index", controller = "Home" }); + + // Act + var link = linkGenerator.GetLink(context); + + // Assert + Assert.Equal("/Home/Index", link); + } + + //[Fact] + //public void GetLink_TwoOptionalParameters_OneValueFromAmbientValues() + //{ + // // Arrange + // var endpoint = CreateEndpoint("a/{b=15}/{c?}/{d?}"); + // var linkGenerator = CreateLinkGenerator(CreateEndpointFinder(endpoint)); + // var context = CreateLinkGeneratorContext( + // suppliedValues: new { }, + // ambientValues: new { c = "17" }); + + // // Act + // var link = linkGenerator.GetLink(context); + + // // Assert + // Assert.Equal("/a/15/17", link); + //} + + //[Fact] + //public void GetLink_OptionalParameterAfterDefault_OneValueFromAmbientValues() + //{ + // // Arrange + // var endpoint = CreateEndpoint("a/{b=15}/{c?}"); + // var linkGenerator = CreateLinkGenerator(CreateEndpointFinder(endpoint)); + // var context = CreateLinkGeneratorContext( + // suppliedValues: new { }, + // ambientValues: new { c = "17" }); + + // // Act + // var link = linkGenerator.GetLink(context); + + // // Assert + // Assert.Equal("/a/15/17", link); + //} + + //[Fact] + //public void GetLink_TwoOptionalParametersAfterDefault_LastValueFromAmbientValues() + //{ + // // Arrange + // var endpoint = CreateEndpoint( + // template: "a/{b=15}/{c?}/{d?}", + // defaultValues: null, + // handleRequest: true, + // constraints: null); + + // var context = CreateLinkGeneratorContext( + // values: new { }, + // ambientValues: new { d = "17" }); + + // // Act + // var link = linkGenerator.GetLink(context); + + // // Assert + // Assert.NotNull(pathData); + // Assert.Equal("/a", link); + // + // + //} + + private LinkGeneratorContext CreateLinkGeneratorContext(object suppliedValues, object ambientValues = null) + { + var context = new LinkGeneratorContext(); + context.SuppliedValues = new RouteValueDictionary(suppliedValues); + context.AmbientValues = new RouteValueDictionary(ambientValues); + return context; + } + + private MatcherEndpoint CreateEndpoint(string template, object defaultValues = null) + { + return new MatcherEndpoint( + next => (httpContext) => Task.CompletedTask, + template, + defaultValues, + 0, + EndpointMetadataCollection.Empty, + null, + new Address("foo")); + } + + private ILinkGenerator CreateLinkGenerator(IEndpointFinder endpointFinder) + { + return new DefaultLinkGenerator( + endpointFinder, + new DefaultObjectPool(new UriBuilderContextPooledObjectPolicy()), + Mock.Of>()); + } + + private DefaultEndpointFinder CreateEndpointFinder(params Endpoint[] endpoints) + { + return new DefaultEndpointFinder( + new CompositeEndpointDataSource(new[] { new DefaultEndpointDataSource(endpoints) }), + NullLogger.Instance); + } + } +} diff --git a/test/Microsoft.AspNetCore.Routing.Tests/EndpointConstraints/EndpointSelectorTests.cs b/test/Microsoft.AspNetCore.Routing.Tests/EndpointConstraints/EndpointSelectorTests.cs index cc2d881df1..6438020dc8 100644 --- a/test/Microsoft.AspNetCore.Routing.Tests/EndpointConstraints/EndpointSelectorTests.cs +++ b/test/Microsoft.AspNetCore.Routing.Tests/EndpointConstraints/EndpointSelectorTests.cs @@ -24,11 +24,13 @@ namespace Microsoft.AspNetCore.Routing.EndpointConstraints // Arrange var defaultEndpoint = new TestEndpoint( EndpointMetadataCollection.Empty, - "No constraint endpoint"); + "No constraint endpoint", + address: null); var postEndpoint = new TestEndpoint( new EndpointMetadataCollection(new object[] { new HttpMethodEndpointConstraint(new[] { "POST" }) }), - "POST constraint endpoint"); + "POST constraint endpoint", + address: null); var endpoints = new Endpoint[] { @@ -60,11 +62,13 @@ namespace Microsoft.AspNetCore.Routing.EndpointConstraints var defaultEndpoint1 = new TestEndpoint( EndpointMetadataCollection.Empty, - "Ambiguous1"); + "Ambiguous1", + address: null); var defaultEndpoint2 = new TestEndpoint( EndpointMetadataCollection.Empty, - "Ambiguous2"); + "Ambiguous2", + address: null); var endpoints = new Endpoint[] { @@ -96,8 +100,8 @@ namespace Microsoft.AspNetCore.Routing.EndpointConstraints var actions = new Endpoint[] { - new TestEndpoint(EndpointMetadataCollection.Empty, "A1"), - new TestEndpoint(EndpointMetadataCollection.Empty, "A2"), + new TestEndpoint(EndpointMetadataCollection.Empty, "A1", address: null), + new TestEndpoint(EndpointMetadataCollection.Empty, "A2", address: null), }; var selector = CreateSelector(actions, loggerFactory); @@ -120,9 +124,13 @@ namespace Microsoft.AspNetCore.Routing.EndpointConstraints // Arrange var actionWithConstraints = new TestEndpoint( new EndpointMetadataCollection(new[] { new HttpMethodEndpointConstraint(new string[] { "POST" }) }), - "Has constraint"); + "Has constraint", + address: null); - var actionWithoutConstraints = new TestEndpoint(EndpointMetadataCollection.Empty, "No constraint"); + var actionWithoutConstraints = new TestEndpoint( + EndpointMetadataCollection.Empty, + "No constraint", + address: null); var actions = new Endpoint[] { actionWithConstraints, actionWithoutConstraints }; @@ -140,9 +148,15 @@ namespace Microsoft.AspNetCore.Routing.EndpointConstraints public void SelectBestCandidate_ConstraintsRejectAll() { // Arrange - var action1 = new TestEndpoint(new EndpointMetadataCollection(new[] { new BooleanConstraint() { Pass = false, } }), "action1"); + var action1 = new TestEndpoint( + new EndpointMetadataCollection(new[] { new BooleanConstraint() { Pass = false, } }), + "action1", + address: null); - var action2 = new TestEndpoint(new EndpointMetadataCollection(new[] { new BooleanConstraint() { Pass = false, } }), "action2"); + var action2 = new TestEndpoint( + new EndpointMetadataCollection(new[] { new BooleanConstraint() { Pass = false, } }), + "action2", + address: null); var actions = new Endpoint[] { action1, action2 }; @@ -164,13 +178,17 @@ namespace Microsoft.AspNetCore.Routing.EndpointConstraints { new BooleanConstraint() { Pass = false, Order = 0 }, new BooleanConstraint() { Pass = true, Order = 1 }, - }), "action1"); + }), + "action1", + address: null); var action2 = new TestEndpoint(new EndpointMetadataCollection(new[] { new BooleanConstraint() { Pass = true, Order = 0 }, new BooleanConstraint() { Pass = false, Order = 1 }, - }), "action2"); + }), + "action2", + address: null); var actions = new Endpoint[] { action1, action2 }; @@ -194,9 +212,14 @@ namespace Microsoft.AspNetCore.Routing.EndpointConstraints { Constraint = new BooleanConstraint() { Pass = true }, }, - }), "actionWithConstraints"); + }), + "actionWithConstraints", + address: null); - var actionWithoutConstraints = new TestEndpoint(EndpointMetadataCollection.Empty, "actionWithoutConstraints"); + var actionWithoutConstraints = new TestEndpoint( + EndpointMetadataCollection.Empty, + "actionWithoutConstraints", + address: null); var actions = new Endpoint[] { actionWithConstraints, actionWithoutConstraints }; @@ -214,7 +237,7 @@ namespace Microsoft.AspNetCore.Routing.EndpointConstraints public void SelectBestCandidate_MultipleCallsNoConstraint_ReturnsEndpoint() { // Arrange - var noConstraint = new TestEndpoint(EndpointMetadataCollection.Empty, "noConstraint"); + var noConstraint = new TestEndpoint(EndpointMetadataCollection.Empty, "noConstraint", address: null); var actions = new Endpoint[] { noConstraint }; @@ -237,7 +260,9 @@ namespace Microsoft.AspNetCore.Routing.EndpointConstraints var noConstraint = new TestEndpoint(new EndpointMetadataCollection(new[] { new object(), - }), "noConstraint"); + }), + "noConstraint", + address: null); var actions = new Endpoint[] { noConstraint }; @@ -260,7 +285,9 @@ namespace Microsoft.AspNetCore.Routing.EndpointConstraints var nullConstraint = new TestEndpoint(new EndpointMetadataCollection(new[] { new ConstraintFactory(), - }), "nullConstraint"); + }), + "nullConstraint", + address: null); var actions = new Endpoint[] { nullConstraint }; @@ -284,9 +311,14 @@ namespace Microsoft.AspNetCore.Routing.EndpointConstraints var actionWithConstraints = new TestEndpoint(new EndpointMetadataCollection(new[] { new BooleanConstraintMarker() { Pass = true }, - }), "actionWithConstraints"); + }), + "actionWithConstraints", + address: null); - var actionWithoutConstraints = new TestEndpoint(EndpointMetadataCollection.Empty, "actionWithoutConstraints"); + var actionWithoutConstraints = new TestEndpoint( + EndpointMetadataCollection.Empty, + "actionWithoutConstraints", + address: null); var actions = new Endpoint[] { actionWithConstraints, actionWithoutConstraints, }; @@ -308,12 +340,16 @@ namespace Microsoft.AspNetCore.Routing.EndpointConstraints var best = new TestEndpoint(new EndpointMetadataCollection(new[] { new BooleanConstraint() { Pass = true, Order = 0, }, - }), "best"); + }), + "best", + address: null); var worst = new TestEndpoint(new EndpointMetadataCollection(new[] { new BooleanConstraint() { Pass = true, Order = 1, }, - }), "worst"); + }), + "worst", + address: null); var actions = new Endpoint[] { best, worst }; @@ -337,14 +373,18 @@ namespace Microsoft.AspNetCore.Routing.EndpointConstraints new BooleanConstraint() { Pass = true, Order = 0, }, new BooleanConstraint() { Pass = true, Order = 1, }, new BooleanConstraint() { Pass = true, Order = 2, }, - }), "best"); + }), + "best", + address: null); var worst = new TestEndpoint(new EndpointMetadataCollection(new[] { new BooleanConstraint() { Pass = true, Order = 0, }, new BooleanConstraint() { Pass = true, Order = 1, }, new BooleanConstraint() { Pass = true, Order = 3, }, - }), "worst"); + }), + "worst", + address: null); var actions = new Endpoint[] { best, worst }; @@ -367,16 +407,20 @@ namespace Microsoft.AspNetCore.Routing.EndpointConstraints new BooleanConstraint() { Pass = true, Order = 0, }, new BooleanConstraint() { Pass = true, Order = 1, }, new BooleanConstraint() { Pass = false, Order = 2, }, - }), "nomatch1"); + }), + "nomatch1", + address: null); var nomatch2 = new TestEndpoint(new EndpointMetadataCollection(new[] { new BooleanConstraint() { Pass = true, Order = 0, }, new BooleanConstraint() { Pass = true, Order = 1, }, new BooleanConstraint() { Pass = false, Order = 3, }, - }), "nomatch2"); + }), + "nomatch2", + address: null); - var best = new TestEndpoint(EndpointMetadataCollection.Empty, "best"); + var best = new TestEndpoint(EndpointMetadataCollection.Empty, "best", address: null); var actions = new Endpoint[] { best, nomatch1, nomatch2 }; diff --git a/test/Microsoft.AspNetCore.Routing.Tests/Internal/HttpMethodEndpointConstraintTest.cs b/test/Microsoft.AspNetCore.Routing.Tests/Internal/HttpMethodEndpointConstraintTest.cs index 81e35c4535..1d79fc1b9b 100644 --- a/test/Microsoft.AspNetCore.Routing.Tests/Internal/HttpMethodEndpointConstraintTest.cs +++ b/test/Microsoft.AspNetCore.Routing.Tests/Internal/HttpMethodEndpointConstraintTest.cs @@ -61,7 +61,9 @@ namespace Microsoft.AspNetCore.Routing.Internal { var context = new EndpointConstraintContext(); - var endpointSelectorCandidate = new EndpointSelectorCandidate(new TestEndpoint(EndpointMetadataCollection.Empty, string.Empty), new List { constraint }); + var endpointSelectorCandidate = new EndpointSelectorCandidate( + new TestEndpoint(EndpointMetadataCollection.Empty, string.Empty, address: null), + new List { constraint }); context.Candidates = new List { endpointSelectorCandidate }; context.CurrentCandidate = context.Candidates[0]; diff --git a/test/Microsoft.AspNetCore.Routing.Tests/Matchers/MatcherConformanceTest.cs b/test/Microsoft.AspNetCore.Routing.Tests/Matchers/MatcherConformanceTest.cs index a0b2fca129..350fa57f70 100644 --- a/test/Microsoft.AspNetCore.Routing.Tests/Matchers/MatcherConformanceTest.cs +++ b/test/Microsoft.AspNetCore.Routing.Tests/Matchers/MatcherConformanceTest.cs @@ -72,7 +72,9 @@ namespace Microsoft.AspNetCore.Routing.Matchers template, null, 0, - EndpointMetadataCollection.Empty, "endpoint: " + template); + EndpointMetadataCollection.Empty, + "endpoint: " + template, + address: null); } internal (Matcher matcher, MatcherEndpoint endpoint) CreateMatcher(string template) diff --git a/test/Microsoft.AspNetCore.Routing.Tests/Matchers/TreeMatcherTests.cs b/test/Microsoft.AspNetCore.Routing.Tests/Matchers/TreeMatcherTests.cs index fa1c78aed4..a08e68ede7 100644 --- a/test/Microsoft.AspNetCore.Routing.Tests/Matchers/TreeMatcherTests.cs +++ b/test/Microsoft.AspNetCore.Routing.Tests/Matchers/TreeMatcherTests.cs @@ -17,7 +17,7 @@ namespace Microsoft.AspNetCore.Routing.Matchers { private MatcherEndpoint CreateEndpoint(string template, int order, object values = null, EndpointMetadataCollection metadata = null) { - return new MatcherEndpoint((next) => null, template, values, order, metadata ?? EndpointMetadataCollection.Empty, template); + return new MatcherEndpoint((next) => null, template, values, order, metadata ?? EndpointMetadataCollection.Empty, template, address: null); } private TreeMatcher CreateTreeMatcher(EndpointDataSource endpointDataSource) @@ -88,6 +88,6 @@ namespace Microsoft.AspNetCore.Routing.Matchers // Assert Assert.Equal(endpointWithConstraint, endpointFeature.Endpoint); - } } } +} diff --git a/test/Microsoft.AspNetCore.Routing.Tests/TestObjects/TestEndpoint.cs b/test/Microsoft.AspNetCore.Routing.Tests/TestObjects/TestEndpoint.cs index 6cce52a5de..92a1ac8d1b 100644 --- a/test/Microsoft.AspNetCore.Routing.Tests/TestObjects/TestEndpoint.cs +++ b/test/Microsoft.AspNetCore.Routing.Tests/TestObjects/TestEndpoint.cs @@ -5,7 +5,8 @@ namespace Microsoft.AspNetCore.Routing.TestObjects { internal class TestEndpoint : Endpoint { - public TestEndpoint(EndpointMetadataCollection metadata, string displayName) : base(metadata, displayName) + public TestEndpoint(EndpointMetadataCollection metadata, string displayName, Address address) + : base(metadata, displayName, address) { } } diff --git a/test/Microsoft.AspNetCore.Routing.Tests/TestObjects/TestMatcher.cs b/test/Microsoft.AspNetCore.Routing.Tests/TestObjects/TestMatcher.cs index 3522a5ea53..5ee7031fb5 100644 --- a/test/Microsoft.AspNetCore.Routing.Tests/TestObjects/TestMatcher.cs +++ b/test/Microsoft.AspNetCore.Routing.Tests/TestObjects/TestMatcher.cs @@ -22,7 +22,7 @@ namespace Microsoft.AspNetCore.Routing.TestObjects { if (_isHandled) { - feature.Endpoint = new TestEndpoint(EndpointMetadataCollection.Empty, "Test endpoint"); + feature.Endpoint = new TestEndpoint(EndpointMetadataCollection.Empty, "Test endpoint", address: null); } return Task.CompletedTask; From 00e99dbbb28bd7d20faa6187c34ba605bce24438 Mon Sep 17 00:00:00 2001 From: Ryan Nowak Date: Sat, 9 Jun 2018 13:38:53 -0700 Subject: [PATCH 041/221] Flesh out experimental matchers This change improves this area a bit by consolidating the matcher implementations between the benchmarks project and the conformance tests. Additionally I split the minimal matcher into a really trivial implementation for the simple tests and a more complex one for the larger tests. This allows us to keep the plaintext/techempower scenario in sight while also having a good baseline for the more sophisticated tests. Also starting to add tests that verify that matchers behave as expected. The matchers now successfully execute all of these benchmarks, which means that they support literals and parameters. Missing features: - complex segments - catchall - default values - optional parameters - constraints - complex segments with file extensions This is a good place to iterate a bit more of perf and try to make a decision about what we want to implement. --- .../Matchers/AzureMatcherBenchmark.cs | 62 +- .../AzureMatcherBenchmark.generated.cs | 7034 ++++++++--------- .../Matchers/DfaMatcher.cs | 353 - .../Matchers/GithubMatcherBenchmark.cs | 54 +- .../GithubMatcherBenchmark.generated.cs | 310 +- .../Matchers/InstructionMatcher.cs | 479 -- .../Matchers/MinimalMatcher.cs | 62 - .../Matchers/RouteMatcher.cs | 70 - .../Matchers/SingleEntryMatcherBenchmark.cs | 26 +- .../SmallEntryCountLiteralMatcherBenchark.cs | 83 +- .../Matchers/TreeRouterMatcher.cs | 76 - .../Matchers/TrivialMatcher.cs | 44 + .../Matchers/TrivialMatcherBuilder.cs | 23 + ...soft.AspNetCore.Routing.Performance.csproj | 40 + benchmarks/Swaggatherer/Template.cs | 2 +- .../Matchers/BarebonesMatcher.cs | 122 + .../Matchers/BarebonesMatcherBuilder.cs | 35 + .../BarebonesMatcherConformanceTest.cs | 42 + .../Matchers/DfaMatcher.cs | 178 + .../Matchers/DfaMatcherBuilder.cs | 257 + .../Matchers/DfaMatcherConformanceTest.cs | 35 + .../Matchers/DispatcherAssert.cs | 19 + .../Matchers/InstructionMatcher.cs | 239 + .../Matchers/InstructionMatcherBuilder.cs | 356 + .../InstructionMatcherConformanceTest.cs | 19 + .../Matchers/MatcherBuilder.cs | 2 +- .../Matchers/MatcherConformanceTest.cs | 246 +- .../Matchers/RouteMatcher.cs | 43 + .../Matchers/RouteMatcherBuilder.cs | 34 + .../Matchers/RouteMatcherConformanceTest.cs | 15 + .../Matchers/TreeRouterMatcher.cs | 2 +- .../Matchers/TreeRouterMatcherBuilder.cs | 45 + .../TreeRouterMatcherConformanceTest.cs | 29 +- .../Microsoft.AspNetCore.Routing.Tests.csproj | 4 + 34 files changed, 5656 insertions(+), 4784 deletions(-) delete mode 100644 benchmarks/Microsoft.AspNetCore.Routing.Performance/Matchers/DfaMatcher.cs delete mode 100644 benchmarks/Microsoft.AspNetCore.Routing.Performance/Matchers/InstructionMatcher.cs delete mode 100644 benchmarks/Microsoft.AspNetCore.Routing.Performance/Matchers/MinimalMatcher.cs delete mode 100644 benchmarks/Microsoft.AspNetCore.Routing.Performance/Matchers/RouteMatcher.cs delete mode 100644 benchmarks/Microsoft.AspNetCore.Routing.Performance/Matchers/TreeRouterMatcher.cs create mode 100644 benchmarks/Microsoft.AspNetCore.Routing.Performance/Matchers/TrivialMatcher.cs create mode 100644 benchmarks/Microsoft.AspNetCore.Routing.Performance/Matchers/TrivialMatcherBuilder.cs create mode 100644 test/Microsoft.AspNetCore.Routing.Tests/Matchers/BarebonesMatcher.cs create mode 100644 test/Microsoft.AspNetCore.Routing.Tests/Matchers/BarebonesMatcherBuilder.cs create mode 100644 test/Microsoft.AspNetCore.Routing.Tests/Matchers/BarebonesMatcherConformanceTest.cs create mode 100644 test/Microsoft.AspNetCore.Routing.Tests/Matchers/DfaMatcher.cs create mode 100644 test/Microsoft.AspNetCore.Routing.Tests/Matchers/DfaMatcherBuilder.cs create mode 100644 test/Microsoft.AspNetCore.Routing.Tests/Matchers/DfaMatcherConformanceTest.cs create mode 100644 test/Microsoft.AspNetCore.Routing.Tests/Matchers/InstructionMatcher.cs create mode 100644 test/Microsoft.AspNetCore.Routing.Tests/Matchers/InstructionMatcherBuilder.cs create mode 100644 test/Microsoft.AspNetCore.Routing.Tests/Matchers/InstructionMatcherConformanceTest.cs rename {benchmarks/Microsoft.AspNetCore.Routing.Performance => test/Microsoft.AspNetCore.Routing.Tests}/Matchers/MatcherBuilder.cs (79%) create mode 100644 test/Microsoft.AspNetCore.Routing.Tests/Matchers/RouteMatcher.cs create mode 100644 test/Microsoft.AspNetCore.Routing.Tests/Matchers/RouteMatcherBuilder.cs create mode 100644 test/Microsoft.AspNetCore.Routing.Tests/Matchers/RouteMatcherConformanceTest.cs create mode 100644 test/Microsoft.AspNetCore.Routing.Tests/Matchers/TreeRouterMatcherBuilder.cs diff --git a/benchmarks/Microsoft.AspNetCore.Routing.Performance/Matchers/AzureMatcherBenchmark.cs b/benchmarks/Microsoft.AspNetCore.Routing.Performance/Matchers/AzureMatcherBenchmark.cs index 6d862d4b1e..2289e8352b 100644 --- a/benchmarks/Microsoft.AspNetCore.Routing.Performance/Matchers/AzureMatcherBenchmark.cs +++ b/benchmarks/Microsoft.AspNetCore.Routing.Performance/Matchers/AzureMatcherBenchmark.cs @@ -1,6 +1,7 @@ // Copyright (c) .NET Foundation. All rights reserved. // Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information. +using System; using System.Threading.Tasks; using BenchmarkDotNet.Attributes; @@ -11,6 +12,9 @@ namespace Microsoft.AspNetCore.Routing.Matchers { private const int SampleCount = 100; + private BarebonesMatcher _baseline; + private Matcher _dfa; + private Matcher _instruction; private Matcher _route; private Matcher _tree; @@ -28,12 +32,58 @@ namespace Microsoft.AspNetCore.Routing.Matchers // of the request data. _samples = SampleRequests(EndpointCount, SampleCount); - _route = SetupMatcher(RouteMatcher.CreateBuilder()); - _tree = SetupMatcher(TreeRouterMatcher.CreateBuilder()); + _baseline = (BarebonesMatcher)SetupMatcher(new BarebonesMatcherBuilder()); + _dfa = SetupMatcher(new DfaMatcherBuilder()); + _instruction = SetupMatcher(new InstructionMatcherBuilder()); + _route = SetupMatcher(new RouteMatcherBuilder()); + _tree = SetupMatcher(new TreeRouterMatcherBuilder()); _feature = new EndpointFeature(); } + [Benchmark(Baseline = true, OperationsPerInvoke = SampleCount)] + public async Task Baseline() + { + var feature = _feature; + for (var i = 0; i < SampleCount; i++) + { + var sample = _samples[i]; + var httpContext = _requests[sample]; + await _baseline._matchers[sample].MatchAsync(httpContext, feature); + Validate(httpContext, _endpoints[sample], feature.Endpoint); + } + } + + [Benchmark(OperationsPerInvoke = SampleCount)] + public async Task Dfa() + { + var feature = _feature; + for (var i = 0; i < SampleCount; i++) + { + var sample = _samples[i]; + if (sample == 805) + { + GC.KeepAlive(5); + } + var httpContext = _requests[sample]; + await _dfa.MatchAsync(httpContext, feature); + Validate(httpContext, _endpoints[sample], feature.Endpoint); + } + } + + [Benchmark(OperationsPerInvoke = SampleCount)] + public async Task Instruction() + { + var feature = _feature; + for (var i = 0; i < SampleCount; i++) + { + var sample = _samples[i]; + var httpContext = _requests[sample]; + await _instruction.MatchAsync(httpContext, feature); + Validate(httpContext, _endpoints[sample], feature.Endpoint); + } + } + [Benchmark(OperationsPerInvoke = SampleCount)] public async Task LegacyRoute() { @@ -42,6 +92,10 @@ namespace Microsoft.AspNetCore.Routing.Matchers { var sample = _samples[i]; var httpContext = _requests[sample]; + + // This is required to make the legacy router implementation work with dispatcher. + httpContext.Features.Set(feature); + await _route.MatchAsync(httpContext, feature); Validate(httpContext, _endpoints[sample], feature.Endpoint); } @@ -55,6 +109,10 @@ namespace Microsoft.AspNetCore.Routing.Matchers { var sample = _samples[i]; var httpContext = _requests[sample]; + + // This is required to make the legacy router implementation work with dispatcher. + httpContext.Features.Set(feature); + await _tree.MatchAsync(httpContext, feature); Validate(httpContext, _endpoints[sample], feature.Endpoint); } diff --git a/benchmarks/Microsoft.AspNetCore.Routing.Performance/Matchers/AzureMatcherBenchmark.generated.cs b/benchmarks/Microsoft.AspNetCore.Routing.Performance/Matchers/AzureMatcherBenchmark.generated.cs index f983a3a32a..95c5dcd954 100644 --- a/benchmarks/Microsoft.AspNetCore.Routing.Performance/Matchers/AzureMatcherBenchmark.generated.cs +++ b/benchmarks/Microsoft.AspNetCore.Routing.Performance/Matchers/AzureMatcherBenchmark.generated.cs @@ -17608,3523 +17608,3523 @@ namespace Microsoft.AspNetCore.Routing.Matchers private Matcher SetupMatcher(MatcherBuilder builder) { - builder.AddEntry("/account", _endpoints[0]); - builder.AddEntry("/analyze", _endpoints[1]); - builder.AddEntry("/apis", _endpoints[2]); - builder.AddEntry("/Applications", _endpoints[3]); - builder.AddEntry("/ApplicationTypes", _endpoints[4]); - builder.AddEntry("/apps/", _endpoints[5]); - builder.AddEntry("/authorizationServers", _endpoints[6]); - builder.AddEntry("/backends", _endpoints[7]); - builder.AddEntry("/BuildJob", _endpoints[8]); - builder.AddEntry("/certificates", _endpoints[9]); - builder.AddEntry("/ComposeDeployments", _endpoints[10]); - builder.AddEntry("/datasources", _endpoints[11]); - builder.AddEntry("/deletedcertificates", _endpoints[12]); - builder.AddEntry("/deletedkeys", _endpoints[13]); - builder.AddEntry("/deletedsecrets", _endpoints[14]); - builder.AddEntry("/deletedstorage", _endpoints[15]); - builder.AddEntry("/describe", _endpoints[16]); - builder.AddEntry("/detect", _endpoints[17]); - builder.AddEntry("/domains", _endpoints[18]); - builder.AddEntry("/entities", _endpoints[19]); - builder.AddEntry("/facelists", _endpoints[20]); - builder.AddEntry("/Faults/", _endpoints[21]); - builder.AddEntry("/findsimilars", _endpoints[22]); - builder.AddEntry("/generateThumbnail", _endpoints[23]); - builder.AddEntry("/group", _endpoints[24]); - builder.AddEntry("/groups", _endpoints[25]); - builder.AddEntry("/identify", _endpoints[26]); - builder.AddEntry("/identityProviders", _endpoints[27]); - builder.AddEntry("/ImageStore", _endpoints[28]); - builder.AddEntry("/indexers", _endpoints[29]); - builder.AddEntry("/indexes", _endpoints[30]); - builder.AddEntry("/Jobs", _endpoints[31]); - builder.AddEntry("/jobschedules", _endpoints[32]); - builder.AddEntry("/keys", _endpoints[33]); - builder.AddEntry("/lifetimejobstats", _endpoints[34]); - builder.AddEntry("/lifetimepoolstats", _endpoints[35]); - builder.AddEntry("/loggers", _endpoints[36]); - builder.AddEntry("/models", _endpoints[37]); - builder.AddEntry("/news", _endpoints[38]); - builder.AddEntry("/nodeagentskus", _endpoints[39]); - builder.AddEntry("/nodecounts", _endpoints[40]); - builder.AddEntry("/Nodes", _endpoints[41]); - builder.AddEntry("/ocr", _endpoints[42]); - builder.AddEntry("/offers", _endpoints[43]); - builder.AddEntry("/openidConnectProviders", _endpoints[44]); - builder.AddEntry("/persongroups", _endpoints[45]); - builder.AddEntry("/pipelines", _endpoints[46]); - builder.AddEntry("/policies", _endpoints[47]); - builder.AddEntry("/policySnippets", _endpoints[48]); - builder.AddEntry("/pools", _endpoints[49]); - builder.AddEntry("/poolusagemetrics", _endpoints[50]); - builder.AddEntry("/products", _endpoints[51]); - builder.AddEntry("/projects", _endpoints[52]); - builder.AddEntry("/properties", _endpoints[53]); - builder.AddEntry("/recognizeText", _endpoints[54]); - builder.AddEntry("/recurrences", _endpoints[55]); - builder.AddEntry("/regions", _endpoints[56]); - builder.AddEntry("/search", _endpoints[57]); - builder.AddEntry("/secrets", _endpoints[58]); - builder.AddEntry("/servicestats", _endpoints[59]); - builder.AddEntry("/spellcheck", _endpoints[60]); - builder.AddEntry("/storage", _endpoints[61]); - builder.AddEntry("/subscriptions", _endpoints[62]); - builder.AddEntry("/synonymmaps", _endpoints[63]); - builder.AddEntry("/tag", _endpoints[64]); - builder.AddEntry("/templates", _endpoints[65]); - builder.AddEntry("/tenants", _endpoints[66]); - builder.AddEntry("/users", _endpoints[67]); - builder.AddEntry("/verify", _endpoints[68]); - builder.AddEntry("/$/CancelRepairTask", _endpoints[69]); - builder.AddEntry("/$/CreateRepairTask", _endpoints[70]); - builder.AddEntry("/$/DeleteRepairTask", _endpoints[71]); - builder.AddEntry("/$/ForceApproveRepairTask", _endpoints[72]); - builder.AddEntry("/$/GetAadMetadata", _endpoints[73]); - builder.AddEntry("/$/GetClusterConfiguration", _endpoints[74]); - builder.AddEntry("/$/GetClusterConfigurationUpgradeStatus", _endpoints[75]); - builder.AddEntry("/$/GetClusterHealth", _endpoints[76]); - builder.AddEntry("/$/GetClusterHealthChunk", _endpoints[77]); - builder.AddEntry("/$/GetClusterManifest", _endpoints[78]); - builder.AddEntry("/$/GetLoadInformation", _endpoints[79]); - builder.AddEntry("/$/GetProvisionedCodeVersions", _endpoints[80]); - builder.AddEntry("/$/GetProvisionedConfigVersions", _endpoints[81]); - builder.AddEntry("/$/GetRepairTaskList", _endpoints[82]); - builder.AddEntry("/$/GetUpgradeOrchestrationServiceState", _endpoints[83]); - builder.AddEntry("/$/GetUpgradeProgress", _endpoints[84]); - builder.AddEntry("/$/InvokeInfrastructureCommand", _endpoints[85]); - builder.AddEntry("/$/InvokeInfrastructureQuery", _endpoints[86]); - builder.AddEntry("/$/MoveToNextUpgradeDomain", _endpoints[87]); - builder.AddEntry("/$/Provision", _endpoints[88]); - builder.AddEntry("/$/RecoverAllPartitions", _endpoints[89]); - builder.AddEntry("/$/RecoverSystemPartitions", _endpoints[90]); - builder.AddEntry("/$/ReportClusterHealth", _endpoints[91]); - builder.AddEntry("/$/RollbackUpgrade", _endpoints[92]); - builder.AddEntry("/$/SetUpgradeOrchestrationServiceState", _endpoints[93]); - builder.AddEntry("/$/StartClusterConfigurationUpgrade", _endpoints[94]); - builder.AddEntry("/$/Unprovision", _endpoints[95]); - builder.AddEntry("/$/UpdateRepairExecutionState", _endpoints[96]); - builder.AddEntry("/$/UpdateRepairTaskHealthPolicy", _endpoints[97]); - builder.AddEntry("/$/UpdateUpgrade", _endpoints[98]); - builder.AddEntry("/$/Upgrade", _endpoints[99]); - builder.AddEntry("/api/events", _endpoints[100]); - builder.AddEntry("/apps/assistants", _endpoints[101]); - builder.AddEntry("/apps/cultures", _endpoints[102]); - builder.AddEntry("/apps/customprebuiltdomains", _endpoints[103]); - builder.AddEntry("/apps/domains", _endpoints[104]); - builder.AddEntry("/apps/import", _endpoints[105]); - builder.AddEntry("/apps/usagescenarios", _endpoints[106]); - builder.AddEntry("/BackupRestore/BackupPolicies", _endpoints[107]); - builder.AddEntry("/certificates/contacts", _endpoints[108]); - builder.AddEntry("/certificates/issuers", _endpoints[109]); - builder.AddEntry("/docs/$count", _endpoints[110]); - builder.AddEntry("/docs/autocomplete", _endpoints[111]); - builder.AddEntry("/images/details", _endpoints[112]); - builder.AddEntry("/images/search", _endpoints[113]); - builder.AddEntry("/images/trending", _endpoints[114]); - builder.AddEntry("/images/visualsearch", _endpoints[115]); - builder.AddEntry("/keys/restore", _endpoints[116]); - builder.AddEntry("/news/search", _endpoints[117]); - builder.AddEntry("/news/trendingtopics", _endpoints[118]); - builder.AddEntry("/portalsettings/delegation", _endpoints[119]); - builder.AddEntry("/portalsettings/signin", _endpoints[120]); - builder.AddEntry("/portalsettings/signup", _endpoints[121]); - builder.AddEntry("/reports/byApi", _endpoints[122]); - builder.AddEntry("/reports/byGeo", _endpoints[123]); - builder.AddEntry("/reports/byOperation", _endpoints[124]); - builder.AddEntry("/reports/byProduct", _endpoints[125]); - builder.AddEntry("/reports/byRequest", _endpoints[126]); - builder.AddEntry("/reports/bySubscription", _endpoints[127]); - builder.AddEntry("/reports/byTime", _endpoints[128]); - builder.AddEntry("/reports/byUser", _endpoints[129]); - builder.AddEntry("/secrets/restore", _endpoints[130]); - builder.AddEntry("/storage/restore", _endpoints[131]); - builder.AddEntry("/Tools/Chaos", _endpoints[132]); - builder.AddEntry("/v2.0/entities", _endpoints[133]); - builder.AddEntry("/v2.0/keyPhrases", _endpoints[134]); - builder.AddEntry("/v2.0/languages", _endpoints[135]); - builder.AddEntry("/v2.0/sentiment", _endpoints[136]); - builder.AddEntry("/videos/details", _endpoints[137]); - builder.AddEntry("/videos/search", _endpoints[138]); - builder.AddEntry("/videos/trending", _endpoints[139]); - builder.AddEntry("/Applications/$/Create", _endpoints[140]); - builder.AddEntry("/ApplicationTypes/$/Provision", _endpoints[141]); - builder.AddEntry("/BackupRestore/$/GetBackups", _endpoints[142]); - builder.AddEntry("/catalog/usql/acl", _endpoints[143]); - builder.AddEntry("/catalog/usql/databases", _endpoints[144]); - builder.AddEntry("/ComposeDeployments/$/Create", _endpoints[145]); - builder.AddEntry("/EventsStore/Applications/Events", _endpoints[146]); - builder.AddEntry("/EventsStore/Cluster/Events", _endpoints[147]); - builder.AddEntry("/EventsStore/Containers/Events", _endpoints[148]); - builder.AddEntry("/EventsStore/Nodes/Events", _endpoints[149]); - builder.AddEntry("/EventsStore/Partitions/Events", _endpoints[150]); - builder.AddEntry("/EventsStore/Services/Events", _endpoints[151]); - builder.AddEntry("/Faults/$/Cancel", _endpoints[152]); - builder.AddEntry("/ImageStore/$/CommitUploadSession", _endpoints[153]); - builder.AddEntry("/ImageStore/$/Copy", _endpoints[154]); - builder.AddEntry("/ImageStore/$/DeleteUploadSession", _endpoints[155]); - builder.AddEntry("/ImageStore/$/GetUploadSession", _endpoints[156]); - builder.AddEntry("/Names/$/Create", _endpoints[157]); - builder.AddEntry("/providers/Microsoft.AAD/operations", _endpoints[158]); - builder.AddEntry("/providers/Microsoft.Addons/operations", _endpoints[159]); - builder.AddEntry("/providers/Microsoft.ADHybridHealthService/addsservices", _endpoints[160]); - builder.AddEntry("/providers/Microsoft.ADHybridHealthService/configuration", _endpoints[161]); - builder.AddEntry("/providers/Microsoft.ADHybridHealthService/operations", _endpoints[162]); - builder.AddEntry("/providers/Microsoft.ADHybridHealthService/services", _endpoints[163]); - builder.AddEntry("/providers/Microsoft.Advisor/operations", _endpoints[164]); - builder.AddEntry("/providers/Microsoft.AnalysisServices/operations", _endpoints[165]); - builder.AddEntry("/providers/Microsoft.ApiManagement/operations", _endpoints[166]); - builder.AddEntry("/providers/Microsoft.Authorization/policyDefinitions", _endpoints[167]); - builder.AddEntry("/providers/Microsoft.Authorization/policySetDefinitions", _endpoints[168]); - builder.AddEntry("/providers/Microsoft.Authorization/providerOperations", _endpoints[169]); - builder.AddEntry("/providers/Microsoft.Automation/operations", _endpoints[170]); - builder.AddEntry("/providers/Microsoft.AzureStack/operations", _endpoints[171]); - builder.AddEntry("/providers/Microsoft.Backup.Admin/operations", _endpoints[172]); - builder.AddEntry("/providers/Microsoft.Batch/operations", _endpoints[173]); - builder.AddEntry("/providers/Microsoft.BatchAI/operations", _endpoints[174]); - builder.AddEntry("/providers/Microsoft.Billing/enrollmentAccounts", _endpoints[175]); - builder.AddEntry("/providers/Microsoft.Billing/operations", _endpoints[176]); - builder.AddEntry("/providers/Microsoft.BotService/operations", _endpoints[177]); - builder.AddEntry("/providers/Microsoft.Cache/operations", _endpoints[178]); - builder.AddEntry("/providers/Microsoft.Capacity/operations", _endpoints[179]); - builder.AddEntry("/providers/Microsoft.Capacity/reservationOrders", _endpoints[180]); - builder.AddEntry("/providers/Microsoft.Cdn/checkNameAvailability", _endpoints[181]); - builder.AddEntry("/providers/Microsoft.Cdn/edgenodes", _endpoints[182]); - builder.AddEntry("/providers/Microsoft.Cdn/operations", _endpoints[183]); - builder.AddEntry("/providers/Microsoft.CertificateRegistration/operations", _endpoints[184]); - builder.AddEntry("/providers/Microsoft.CognitiveServices/operations", _endpoints[185]); - builder.AddEntry("/providers/Microsoft.Commerce.Admin/operations", _endpoints[186]); - builder.AddEntry("/providers/Microsoft.Compute.Admin/operations", _endpoints[187]); - builder.AddEntry("/providers/Microsoft.Compute/operations", _endpoints[188]); - builder.AddEntry("/providers/Microsoft.Consumption/operations", _endpoints[189]); - builder.AddEntry("/providers/Microsoft.ContainerInstance/operations", _endpoints[190]); - builder.AddEntry("/providers/Microsoft.ContainerRegistry/operations", _endpoints[191]); - builder.AddEntry("/providers/Microsoft.ContainerService/operations", _endpoints[192]); - builder.AddEntry("/providers/Microsoft.CustomerInsights/operations", _endpoints[193]); - builder.AddEntry("/providers/Microsoft.DataBox/operations", _endpoints[194]); - builder.AddEntry("/providers/Microsoft.Databricks/operations", _endpoints[195]); - builder.AddEntry("/providers/Microsoft.DataCatalog/operations", _endpoints[196]); - builder.AddEntry("/providers/Microsoft.DataFactory/operations", _endpoints[197]); - builder.AddEntry("/providers/Microsoft.DataLakeAnalytics/operations", _endpoints[198]); - builder.AddEntry("/providers/Microsoft.DataLakeStore/operations", _endpoints[199]); - builder.AddEntry("/providers/Microsoft.DataMigration/operations", _endpoints[200]); - builder.AddEntry("/providers/Microsoft.DBforMySQL/operations", _endpoints[201]); - builder.AddEntry("/providers/Microsoft.DBforPostgreSQL/operations", _endpoints[202]); - builder.AddEntry("/providers/Microsoft.Devices/operations", _endpoints[203]); - builder.AddEntry("/providers/Microsoft.DevTestLab/operations", _endpoints[204]); - builder.AddEntry("/providers/Microsoft.DocumentDB/operations", _endpoints[205]); - builder.AddEntry("/providers/Microsoft.DomainRegistration/operations", _endpoints[206]); - builder.AddEntry("/providers/Microsoft.EventGrid/operations", _endpoints[207]); - builder.AddEntry("/providers/Microsoft.EventGrid/topicTypes", _endpoints[208]); - builder.AddEntry("/providers/Microsoft.EventHub/operations", _endpoints[209]); - builder.AddEntry("/providers/Microsoft.Fabric.Admin/operations", _endpoints[210]); - builder.AddEntry("/providers/Microsoft.Gallery.Admin/operations", _endpoints[211]); - builder.AddEntry("/providers/Microsoft.HanaOnAzure/operations", _endpoints[212]); - builder.AddEntry("/providers/Microsoft.HDInsight/operations", _endpoints[213]); - builder.AddEntry("/providers/Microsoft.ImportExport/locations", _endpoints[214]); - builder.AddEntry("/providers/Microsoft.ImportExport/operations", _endpoints[215]); - builder.AddEntry("/providers/Microsoft.InfrastructureInsights.Admin/operations", _endpoints[216]); - builder.AddEntry("/providers/microsoft.insights/eventcategories", _endpoints[217]); - builder.AddEntry("/providers/microsoft.insights/operations", _endpoints[218]); - builder.AddEntry("/providers/Microsoft.Intune/locations", _endpoints[219]); - builder.AddEntry("/providers/Microsoft.IoTCentral/operations", _endpoints[220]); - builder.AddEntry("/providers/Microsoft.IoTSpaces/operations", _endpoints[221]); - builder.AddEntry("/providers/Microsoft.KeyVault.Admin/operations", _endpoints[222]); - builder.AddEntry("/providers/Microsoft.KeyVault/operations", _endpoints[223]); - builder.AddEntry("/providers/Microsoft.Logic/operations", _endpoints[224]); - builder.AddEntry("/providers/Microsoft.MachineLearning/operations", _endpoints[225]); - builder.AddEntry("/providers/Microsoft.MachineLearningCompute/operations", _endpoints[226]); - builder.AddEntry("/providers/Microsoft.MachineLearningExperimentation/operations", _endpoints[227]); - builder.AddEntry("/providers/Microsoft.MachineLearningServices/operations", _endpoints[228]); - builder.AddEntry("/providers/Microsoft.ManagedIdentity/operations", _endpoints[229]); - builder.AddEntry("/providers/Microsoft.Management/checkNameAvailability", _endpoints[230]); - builder.AddEntry("/providers/Microsoft.Management/getEntities", _endpoints[231]); - builder.AddEntry("/providers/Microsoft.Management/managementGroups", _endpoints[232]); - builder.AddEntry("/providers/Microsoft.Management/operations", _endpoints[233]); - builder.AddEntry("/providers/Microsoft.Management/startTenantBackfill", _endpoints[234]); - builder.AddEntry("/providers/Microsoft.Management/tenantBackfillStatus", _endpoints[235]); - builder.AddEntry("/providers/Microsoft.ManagementPartner/operations", _endpoints[236]); - builder.AddEntry("/providers/Microsoft.Maps/operations", _endpoints[237]); - builder.AddEntry("/providers/Microsoft.MarketplaceOrdering/operations", _endpoints[238]); - builder.AddEntry("/providers/Microsoft.Media/operations", _endpoints[239]); - builder.AddEntry("/providers/Microsoft.Migrate/operations", _endpoints[240]); - builder.AddEntry("/providers/Microsoft.Network/checkTrafficManagerNameAvailability", _endpoints[241]); - builder.AddEntry("/providers/Microsoft.Network/operations", _endpoints[242]); - builder.AddEntry("/providers/Microsoft.NotificationHubs/operations", _endpoints[243]); - builder.AddEntry("/providers/Microsoft.OperationalInsights/operations", _endpoints[244]); - builder.AddEntry("/providers/Microsoft.OperationsManagement/operations", _endpoints[245]); - builder.AddEntry("/providers/Microsoft.PolicyInsights/operations", _endpoints[246]); - builder.AddEntry("/providers/Microsoft.PowerBI/operations", _endpoints[247]); - builder.AddEntry("/providers/Microsoft.PowerBIDedicated/operations", _endpoints[248]); - builder.AddEntry("/providers/Microsoft.RecoveryServices/operations", _endpoints[249]); - builder.AddEntry("/providers/Microsoft.Relay/operations", _endpoints[250]); - builder.AddEntry("/providers/Microsoft.ResourceHealth/operations", _endpoints[251]); - builder.AddEntry("/providers/Microsoft.Search/operations", _endpoints[252]); - builder.AddEntry("/providers/Microsoft.Security/operations", _endpoints[253]); - builder.AddEntry("/providers/Microsoft.ServiceBus/operations", _endpoints[254]); - builder.AddEntry("/providers/Microsoft.ServiceFabric/operations", _endpoints[255]); - builder.AddEntry("/providers/Microsoft.SignalRService/operations", _endpoints[256]); - builder.AddEntry("/providers/Microsoft.Sql/operations", _endpoints[257]); - builder.AddEntry("/providers/Microsoft.Storage.Admin/operations", _endpoints[258]); - builder.AddEntry("/providers/Microsoft.Storage/operations", _endpoints[259]); - builder.AddEntry("/providers/Microsoft.StorSimple/operations", _endpoints[260]); - builder.AddEntry("/providers/Microsoft.StreamAnalytics/operations", _endpoints[261]); - builder.AddEntry("/providers/Microsoft.Subscription/operations", _endpoints[262]); - builder.AddEntry("/providers/Microsoft.Subscription/subscriptionDefinitions", _endpoints[263]); - builder.AddEntry("/providers/Microsoft.Subscription/subscriptionOperations", _endpoints[264]); - builder.AddEntry("/providers/Microsoft.Subscriptions.Admin/operations", _endpoints[265]); - builder.AddEntry("/providers/Microsoft.Subscriptions/operations", _endpoints[266]); - builder.AddEntry("/providers/Microsoft.TimeSeriesInsights/operations", _endpoints[267]); - builder.AddEntry("/providers/Microsoft.Update.Admin/operations", _endpoints[268]); - builder.AddEntry("/providers/microsoft.visualstudio/operations", _endpoints[269]); - builder.AddEntry("/providers/Microsoft.Web/availableStacks", _endpoints[270]); - builder.AddEntry("/providers/Microsoft.Web/operations", _endpoints[271]); - builder.AddEntry("/providers/Microsoft.Web/sourcecontrols", _endpoints[272]); - builder.AddEntry("/Tools/Chaos/Events", _endpoints[273]); - builder.AddEntry("/Tools/Chaos/Schedule", _endpoints[274]); - builder.AddEntry("/BackupRestore/BackupPolicies/$/Create", _endpoints[275]); - builder.AddEntry("/contentmoderator/lists/v1.0/imagelists", _endpoints[276]); - builder.AddEntry("/contentmoderator/lists/v1.0/termlists", _endpoints[277]); - builder.AddEntry("/providers/Microsoft.ADHybridHealthService/addsservices/premiumCheck", _endpoints[278]); - builder.AddEntry("/providers/Microsoft.ADHybridHealthService/services/premiumCheck", _endpoints[279]); - builder.AddEntry("/providers/Microsoft.BotService/botServices/checkNameAvailability", _endpoints[280]); - builder.AddEntry("/providers/Microsoft.Intune/locations/hostName", _endpoints[281]); - builder.AddEntry("/providers/Microsoft.Network/trafficManagerGeographicHierarchies/default", _endpoints[282]); - builder.AddEntry("/providers/Microsoft.Web/publishingUsers/web", _endpoints[283]); - builder.AddEntry("/Tools/Chaos/$/Report", _endpoints[284]); - builder.AddEntry("/Tools/Chaos/$/Start", _endpoints[285]); - builder.AddEntry("/Tools/Chaos/$/Stop", _endpoints[286]); - builder.AddEntry("/contentmoderator/moderate/v1.0/ProcessImage/Evaluate", _endpoints[287]); - builder.AddEntry("/contentmoderator/moderate/v1.0/ProcessImage/FindFaces", _endpoints[288]); - builder.AddEntry("/contentmoderator/moderate/v1.0/ProcessImage/Match", _endpoints[289]); - builder.AddEntry("/contentmoderator/moderate/v1.0/ProcessImage/OCR", _endpoints[290]); - builder.AddEntry("/contentmoderator/moderate/v1.0/ProcessText/DetectLanguage", _endpoints[291]); - builder.AddEntry("/contentmoderator/moderate/v1.0/ProcessText/Screen/", _endpoints[292]); - builder.AddEntry("/providers/microsoft.insights/eventtypes/management/values", _endpoints[293]); - builder.AddEntry("/contentmoderator/lists/v1.0/imagelists/{listId}", _endpoints[294]); - builder.AddEntry("/contentmoderator/lists/v1.0/termlists/{listId}", _endpoints[295]); - builder.AddEntry("/contentmoderator/lists/v1.0/imagelists/{listId}/images", _endpoints[296]); - builder.AddEntry("/contentmoderator/lists/v1.0/imagelists/{listId}/RefreshIndex", _endpoints[297]); - builder.AddEntry("/contentmoderator/lists/v1.0/termlists/{listId}/RefreshIndex", _endpoints[298]); - builder.AddEntry("/contentmoderator/lists/v1.0/termlists/{listId}/terms", _endpoints[299]); - builder.AddEntry("/contentmoderator/review/v1.0/teams/{teamName}/jobs", _endpoints[300]); - builder.AddEntry("/contentmoderator/review/v1.0/teams/{teamName}/reviews", _endpoints[301]); - builder.AddEntry("/contentmoderator/lists/v1.0/imagelists/{listId}/images/{ImageId}", _endpoints[302]); - builder.AddEntry("/contentmoderator/lists/v1.0/termlists/{listId}/terms/{term}", _endpoints[303]); - builder.AddEntry("/contentmoderator/review/v1.0/teams/{teamName}/jobs/{JobId}", _endpoints[304]); - builder.AddEntry("/contentmoderator/review/v1.0/teams/{teamName}/reviews/{reviewId}", _endpoints[305]); - builder.AddEntry("/contentmoderator/review/v1.0/teams/{teamName}/reviews/{reviewId}/frames", _endpoints[306]); - builder.AddEntry("/contentmoderator/review/v1.0/teams/{teamName}/reviews/{reviewId}/publish", _endpoints[307]); - builder.AddEntry("/contentmoderator/review/v1.0/teams/{teamName}/reviews/{reviewId}/transcript", _endpoints[308]); - builder.AddEntry("/contentmoderator/review/v1.0/teams/{teamName}/reviews/{reviewId}/transcriptmoderationresult", _endpoints[309]); - builder.AddEntry("/catalog/usql/databases/{databaseName}", _endpoints[310]); - builder.AddEntry("/providers/Microsoft.ADHybridHealthService/addsservices/{serviceName}", _endpoints[311]); - builder.AddEntry("/providers/Microsoft.ADHybridHealthService/services/{serviceName}", _endpoints[312]); - builder.AddEntry("/providers/Microsoft.Authorization/policyDefinitions/{policyDefinitionName}", _endpoints[313]); - builder.AddEntry("/providers/Microsoft.Authorization/policySetDefinitions/{policySetDefinitionName}", _endpoints[314]); - builder.AddEntry("/providers/Microsoft.Authorization/providerOperations/{resourceProviderNamespace}", _endpoints[315]); - builder.AddEntry("/providers/Microsoft.Billing/enrollmentAccounts/{name}", _endpoints[316]); - builder.AddEntry("/providers/Microsoft.Capacity/reservationOrders/{reservationOrderId}", _endpoints[317]); - builder.AddEntry("/providers/Microsoft.DocumentDB/databaseAccountNames/{accountName}", _endpoints[318]); - builder.AddEntry("/providers/Microsoft.EventGrid/topicTypes/{topicTypeName}", _endpoints[319]); - builder.AddEntry("/providers/Microsoft.ImportExport/locations/{locationName}", _endpoints[320]); - builder.AddEntry("/providers/Microsoft.Management/managementGroups/{groupId}", _endpoints[321]); - builder.AddEntry("/providers/Microsoft.ManagementPartner/partners/{partnerId}", _endpoints[322]); - builder.AddEntry("/providers/Microsoft.Subscription/subscriptionDefinitions/{subscriptionDefinitionName}", _endpoints[323]); - builder.AddEntry("/providers/Microsoft.Subscription/subscriptionOperations/{operationId}", _endpoints[324]); - builder.AddEntry("/providers/Microsoft.Web/sourcecontrols/{sourceControlType}", _endpoints[325]); - builder.AddEntry("/catalog/usql/databases/{databaseName}/acl", _endpoints[326]); - builder.AddEntry("/catalog/usql/databases/{databaseName}/assemblies", _endpoints[327]); - builder.AddEntry("/catalog/usql/databases/{databaseName}/credentials", _endpoints[328]); - builder.AddEntry("/catalog/usql/databases/{databaseName}/externaldatasources", _endpoints[329]); - builder.AddEntry("/catalog/usql/databases/{databaseName}/schemas", _endpoints[330]); - builder.AddEntry("/catalog/usql/databases/{databaseName}/secrets", _endpoints[331]); - builder.AddEntry("/catalog/usql/databases/{databaseName}/statistics", _endpoints[332]); - builder.AddEntry("/catalog/usql/databases/{databaseName}/tables", _endpoints[333]); - builder.AddEntry("/catalog/usql/databases/{databaseName}/tablevaluedfunctions", _endpoints[334]); - builder.AddEntry("/catalog/usql/databases/{databaseName}/views", _endpoints[335]); - builder.AddEntry("/providers/Microsoft.ADHybridHealthService/addsservices/{serviceName}/addomainservicemembers", _endpoints[336]); - builder.AddEntry("/providers/Microsoft.ADHybridHealthService/addsservices/{serviceName}/addsservicemembers", _endpoints[337]); - builder.AddEntry("/providers/Microsoft.ADHybridHealthService/addsservices/{serviceName}/alerts", _endpoints[338]); - builder.AddEntry("/providers/Microsoft.ADHybridHealthService/addsservices/{serviceName}/configuration", _endpoints[339]); - builder.AddEntry("/providers/Microsoft.ADHybridHealthService/addsservices/{serviceName}/forestsummary", _endpoints[340]); - builder.AddEntry("/providers/Microsoft.ADHybridHealthService/addsservices/{serviceName}/metricmetadata", _endpoints[341]); - builder.AddEntry("/providers/Microsoft.ADHybridHealthService/addsservices/{serviceName}/replicationstatus", _endpoints[342]); - builder.AddEntry("/providers/Microsoft.ADHybridHealthService/addsservices/{serviceName}/replicationsummary", _endpoints[343]); - builder.AddEntry("/providers/Microsoft.ADHybridHealthService/services/{serviceName}/alerts", _endpoints[344]); - builder.AddEntry("/providers/Microsoft.ADHybridHealthService/services/{serviceName}/exportstatus", _endpoints[345]); - builder.AddEntry("/providers/Microsoft.ADHybridHealthService/services/{serviceName}/metricmetadata", _endpoints[346]); - builder.AddEntry("/providers/Microsoft.ADHybridHealthService/services/{serviceName}/monitoringconfiguration", _endpoints[347]); - builder.AddEntry("/providers/Microsoft.ADHybridHealthService/services/{serviceName}/monitoringconfigurations", _endpoints[348]); - builder.AddEntry("/providers/Microsoft.ADHybridHealthService/services/{serviceName}/servicemembers", _endpoints[349]); - builder.AddEntry("/providers/Microsoft.Capacity/reservationOrders/{reservationOrderId}/merge", _endpoints[350]); - builder.AddEntry("/providers/Microsoft.Capacity/reservationOrders/{reservationOrderId}/reservations", _endpoints[351]); - builder.AddEntry("/providers/Microsoft.Capacity/reservationOrders/{reservationOrderId}/split", _endpoints[352]); - builder.AddEntry("/providers/Microsoft.EventGrid/topicTypes/{topicTypeName}/eventTypes", _endpoints[353]); - builder.AddEntry("/providers/Microsoft.Intune/locations/{hostName}/androidPolicies", _endpoints[354]); - builder.AddEntry("/providers/Microsoft.Intune/locations/{hostName}/apps", _endpoints[355]); - builder.AddEntry("/providers/Microsoft.Intune/locations/{hostName}/flaggedUsers", _endpoints[356]); - builder.AddEntry("/providers/Microsoft.Intune/locations/{hostName}/iosPolicies", _endpoints[357]); - builder.AddEntry("/providers/Microsoft.Intune/locations/{hostName}/operationResults", _endpoints[358]); - builder.AddEntry("/providers/Microsoft.ADHybridHealthService/services/{serviceName}/exporterrors/counts", _endpoints[359]); - builder.AddEntry("/providers/Microsoft.ADHybridHealthService/services/{serviceName}/exporterrors/listV2", _endpoints[360]); - builder.AddEntry("/providers/Microsoft.Intune/locations/{hostName}/statuses/default", _endpoints[361]); - builder.AddEntry("/providers/Microsoft.ADHybridHealthService/services/{serviceName}/feedbacktype/alerts/feedback", _endpoints[362]); - builder.AddEntry("/providers/Microsoft.Billing/billingAccounts/{billingAccountId}/providers/Microsoft.Consumption/balances", _endpoints[363]); - builder.AddEntry("/providers/Microsoft.Billing/billingAccounts/{billingAccountId}/providers/Microsoft.Consumption/costTags", _endpoints[364]); - builder.AddEntry("/providers/Microsoft.Billing/billingAccounts/{billingAccountId}/providers/Microsoft.Consumption/marketplaces", _endpoints[365]); - builder.AddEntry("/providers/Microsoft.Billing/billingAccounts/{billingAccountId}/providers/Microsoft.Consumption/usageDetails", _endpoints[366]); - builder.AddEntry("/providers/Microsoft.Billing/departments/{departmentId}/providers/Microsoft.Consumption/marketplaces", _endpoints[367]); - builder.AddEntry("/providers/Microsoft.Billing/departments/{departmentId}/providers/Microsoft.Consumption/usageDetails", _endpoints[368]); - builder.AddEntry("/providers/Microsoft.Billing/enrollmentAccounts/{enrollmentAccountId}/providers/Microsoft.Consumption/marketplaces", _endpoints[369]); - builder.AddEntry("/providers/Microsoft.Billing/enrollmentAccounts/{enrollmentAccountId}/providers/Microsoft.Consumption/usageDetails", _endpoints[370]); - builder.AddEntry("/providers/Microsoft.Billing/enrollmentAccounts/{enrollmentAccountName}/providers/Microsoft.Subscription/createSubscription", _endpoints[371]); - builder.AddEntry("/providers/Microsoft.Capacity/reservationorders/{reservationOrderId}/providers/Microsoft.Consumption/reservationDetails", _endpoints[372]); - builder.AddEntry("/providers/Microsoft.Capacity/reservationorders/{reservationOrderId}/providers/Microsoft.Consumption/reservationSummaries", _endpoints[373]); - builder.AddEntry("/providers/Microsoft.CostManagement/billingAccounts/{billingAccountId}/providers/Microsoft.Consumption/tags", _endpoints[374]); - builder.AddEntry("/providers/Microsoft.Management/managementgroups/{managementGroupId}/providers/Microsoft.Authorization/policyDefinitions", _endpoints[375]); - builder.AddEntry("/providers/Microsoft.Management/managementgroups/{managementGroupId}/providers/Microsoft.Authorization/policySetDefinitions", _endpoints[376]); - builder.AddEntry("/providers/Microsoft.ADHybridHealthService/services/{serviceName}/reports/badpassword/details/user", _endpoints[377]); - builder.AddEntry("/providers/Microsoft.Management/managementgroups/{managementGroupId}/providers/Microsoft.Authorization/policyDefinitions/{policyDefinitionName}", _endpoints[378]); - builder.AddEntry("/providers/Microsoft.Management/managementgroups/{managementGroupId}/providers/Microsoft.Authorization/policySetDefinitions/{policySetDefinitionName}", _endpoints[379]); - builder.AddEntry("/providers/Microsoft.Billing/billingAccounts/{billingAccountId}/providers/Microsoft.Billing/billingPeriods/{billingPeriodName}/providers/Microsoft.Consumption/balances", _endpoints[380]); - builder.AddEntry("/providers/Microsoft.Billing/billingAccounts/{billingAccountId}/providers/Microsoft.Billing/billingPeriods/{billingPeriodName}/providers/Microsoft.Consumption/marketplaces", _endpoints[381]); - builder.AddEntry("/providers/Microsoft.Billing/billingAccounts/{billingAccountId}/providers/Microsoft.Billing/billingPeriods/{billingPeriodName}/providers/Microsoft.Consumption/usageDetails", _endpoints[382]); - builder.AddEntry("/providers/Microsoft.Billing/departments/{departmentId}/providers/Microsoft.Billing/billingPeriods/{billingPeriodName}/providers/Microsoft.Consumption/marketplaces", _endpoints[383]); - builder.AddEntry("/providers/Microsoft.Billing/departments/{departmentId}/providers/Microsoft.Billing/billingPeriods/{billingPeriodName}/providers/Microsoft.Consumption/usageDetails", _endpoints[384]); - builder.AddEntry("/providers/Microsoft.Billing/enrollmentAccounts/{enrollmentAccountId}/providers/Microsoft.Billing/billingPeriods/{billingPeriodName}/providers/Microsoft.Consumption/marketplaces", _endpoints[385]); - builder.AddEntry("/providers/Microsoft.Billing/enrollmentAccounts/{enrollmentAccountId}/providers/Microsoft.Billing/billingPeriods/{billingPeriodName}/providers/Microsoft.Consumption/usageDetails", _endpoints[386]); - builder.AddEntry("/providers/Microsoft.ADHybridHealthService/services/{serviceName}/feedbacktype/alerts/{shortName}/alertfeedback", _endpoints[387]); - builder.AddEntry("/catalog/usql/databases/{databaseName}/assemblies/{assemblyName}", _endpoints[388]); - builder.AddEntry("/catalog/usql/databases/{databaseName}/credentials/{credentialName}", _endpoints[389]); - builder.AddEntry("/catalog/usql/databases/{databaseName}/externaldatasources/{externalDataSourceName}", _endpoints[390]); - builder.AddEntry("/catalog/usql/databases/{databaseName}/schemas/{schemaName}", _endpoints[391]); - builder.AddEntry("/catalog/usql/databases/{databaseName}/secrets/{secretName}", _endpoints[392]); - builder.AddEntry("/providers/Microsoft.ADHybridHealthService/addsservices/{serviceName}/dimensions/{dimension}", _endpoints[393]); - builder.AddEntry("/providers/Microsoft.ADHybridHealthService/addsservices/{serviceName}/metricmetadata/{metricName}", _endpoints[394]); - builder.AddEntry("/providers/Microsoft.ADHybridHealthService/services/{serviceName}/checkServiceFeatureAvailibility/{featureName}", _endpoints[395]); - builder.AddEntry("/providers/Microsoft.ADHybridHealthService/services/{serviceName}/metricmetadata/{metricName}", _endpoints[396]); - builder.AddEntry("/providers/Microsoft.ADHybridHealthService/services/{serviceName}/servicemembers/{serviceMemberId}", _endpoints[397]); - builder.AddEntry("/providers/Microsoft.ADHybridHealthService/services/{serviceName}/TenantWhitelisting/{featureName}", _endpoints[398]); - builder.AddEntry("/providers/Microsoft.Capacity/reservationOrders/{reservationOrderId}/reservations/{reservationId}", _endpoints[399]); - builder.AddEntry("/providers/Microsoft.Intune/locations/{hostName}/androidPolicies/{policyName}", _endpoints[400]); - builder.AddEntry("/providers/Microsoft.Intune/locations/{hostName}/flaggedUsers/{userName}", _endpoints[401]); - builder.AddEntry("/providers/Microsoft.Intune/locations/{hostName}/iosPolicies/{policyName}", _endpoints[402]); - builder.AddEntry("/providers/Microsoft.Management/managementGroups/{groupId}/subscriptions/{subscriptionId}", _endpoints[403]); - builder.AddEntry("/catalog/usql/databases/{databaseName}/schemas/{schemaName}/packages", _endpoints[404]); - builder.AddEntry("/catalog/usql/databases/{databaseName}/schemas/{schemaName}/procedures", _endpoints[405]); - builder.AddEntry("/catalog/usql/databases/{databaseName}/schemas/{schemaName}/statistics", _endpoints[406]); - builder.AddEntry("/catalog/usql/databases/{databaseName}/schemas/{schemaName}/tables", _endpoints[407]); - builder.AddEntry("/catalog/usql/databases/{databaseName}/schemas/{schemaName}/tabletypes", _endpoints[408]); - builder.AddEntry("/catalog/usql/databases/{databaseName}/schemas/{schemaName}/tablevaluedfunctions", _endpoints[409]); - builder.AddEntry("/catalog/usql/databases/{databaseName}/schemas/{schemaName}/types", _endpoints[410]); - builder.AddEntry("/catalog/usql/databases/{databaseName}/schemas/{schemaName}/views", _endpoints[411]); - builder.AddEntry("/providers/Microsoft.ADHybridHealthService/addsservices/{serviceName}/servicemembers/{serviceMemberId}/alerts", _endpoints[412]); - builder.AddEntry("/providers/Microsoft.ADHybridHealthService/service/{serviceName}/servicemembers/{serviceMemberId}/connectors", _endpoints[413]); - builder.AddEntry("/providers/Microsoft.ADHybridHealthService/services/{serviceName}/servicemembers/{serviceMemberId}/alerts", _endpoints[414]); - builder.AddEntry("/providers/Microsoft.ADHybridHealthService/services/{serviceName}/servicemembers/{serviceMemberId}/credentials", _endpoints[415]); - builder.AddEntry("/providers/Microsoft.ADHybridHealthService/services/{serviceName}/servicemembers/{serviceMemberId}/data", _endpoints[416]); - builder.AddEntry("/providers/Microsoft.ADHybridHealthService/services/{serviceName}/servicemembers/{serviceMemberId}/datafreshness", _endpoints[417]); - builder.AddEntry("/providers/Microsoft.ADHybridHealthService/services/{serviceName}/servicemembers/{serviceMemberId}/exportstatus", _endpoints[418]); - builder.AddEntry("/providers/Microsoft.ADHybridHealthService/services/{serviceName}/servicemembers/{serviceMemberId}/globalconfiguration", _endpoints[419]); - builder.AddEntry("/providers/Microsoft.ADHybridHealthService/services/{serviceName}/servicemembers/{serviceMemberId}/serviceconfiguration", _endpoints[420]); - builder.AddEntry("/providers/Microsoft.Capacity/reservationOrders/{reservationOrderId}/reservations/{reservationId}/revisions", _endpoints[421]); - builder.AddEntry("/providers/Microsoft.Intune/locations/{hostName}/AndroidPolicies/{policyName}/apps", _endpoints[422]); - builder.AddEntry("/providers/Microsoft.Intune/locations/{hostName}/androidPolicies/{policyName}/groups", _endpoints[423]); - builder.AddEntry("/providers/Microsoft.Intune/locations/{hostName}/flaggedUsers/{userName}/flaggedEnrolledApps", _endpoints[424]); - builder.AddEntry("/providers/Microsoft.Intune/locations/{hostName}/iosPolicies/{policyName}/apps", _endpoints[425]); - builder.AddEntry("/providers/Microsoft.Intune/locations/{hostName}/iosPolicies/{policyName}/groups", _endpoints[426]); - builder.AddEntry("/providers/Microsoft.Intune/locations/{hostName}/users/{userName}/devices", _endpoints[427]); - builder.AddEntry("/providers/Microsoft.Capacity/reservationorders/{reservationOrderId}/reservations/{reservationId}/providers/Microsoft.Consumption/reservationDetails", _endpoints[428]); - builder.AddEntry("/providers/Microsoft.Capacity/reservationorders/{reservationOrderId}/reservations/{reservationId}/providers/Microsoft.Consumption/reservationSummaries", _endpoints[429]); - builder.AddEntry("/catalog/usql/databases/{databaseName}/schemas/{schemaName}/packages/{packageName}", _endpoints[430]); - builder.AddEntry("/catalog/usql/databases/{databaseName}/schemas/{schemaName}/procedures/{procedureName}", _endpoints[431]); - builder.AddEntry("/catalog/usql/databases/{databaseName}/schemas/{schemaName}/tables/{tableName}", _endpoints[432]); - builder.AddEntry("/catalog/usql/databases/{databaseName}/schemas/{schemaName}/tabletypes/{tableTypeName}", _endpoints[433]); - builder.AddEntry("/catalog/usql/databases/{databaseName}/schemas/{schemaName}/tablevaluedfunctions/{tableValuedFunctionName}", _endpoints[434]); - builder.AddEntry("/catalog/usql/databases/{databaseName}/schemas/{schemaName}/views/{viewName}", _endpoints[435]); - builder.AddEntry("/providers/Microsoft.ADHybridHealthService/addsservices/{serviceName}/metricmetadata/{metricName}/groups/{groupName}", _endpoints[436]); - builder.AddEntry("/providers/Microsoft.ADHybridHealthService/services/{serviceName}/metricmetadata/{metricName}/groups/{groupName}", _endpoints[437]); - builder.AddEntry("/providers/Microsoft.Intune/locations/{hostName}/androidPolicies/{policyName}/apps/{appName}", _endpoints[438]); - builder.AddEntry("/providers/Microsoft.Intune/locations/{hostName}/androidPolicies/{policyName}/groups/{groupId}", _endpoints[439]); - builder.AddEntry("/providers/Microsoft.Intune/locations/{hostName}/iosPolicies/{policyName}/apps/{appName}", _endpoints[440]); - builder.AddEntry("/providers/Microsoft.Intune/locations/{hostName}/iosPolicies/{policyName}/groups/{groupId}", _endpoints[441]); - builder.AddEntry("/providers/Microsoft.Intune/locations/{hostName}/users/{userName}/devices/{deviceName}", _endpoints[442]); - builder.AddEntry("/catalog/usql/databases/{databaseName}/schemas/{schemaName}/tables/{tableName}/partitions", _endpoints[443]); - builder.AddEntry("/catalog/usql/databases/{databaseName}/schemas/{schemaName}/tables/{tableName}/previewrows", _endpoints[444]); - builder.AddEntry("/catalog/usql/databases/{databaseName}/schemas/{schemaName}/tables/{tableName}/statistics", _endpoints[445]); - builder.AddEntry("/catalog/usql/databases/{databaseName}/schemas/{schemaName}/tables/{tableName}/tablefragments", _endpoints[446]); - builder.AddEntry("/providers/Microsoft.ADHybridHealthService/addsservices/{serviceName}/metrics/{metricName}/groups/{groupName}/average", _endpoints[447]); - builder.AddEntry("/providers/Microsoft.ADHybridHealthService/addsservices/{serviceName}/metrics/{metricName}/groups/{groupName}/sum", _endpoints[448]); - builder.AddEntry("/providers/Microsoft.ADHybridHealthService/services/{serviceName}/metrics/{metricName}/groups/{groupName}/average", _endpoints[449]); - builder.AddEntry("/providers/Microsoft.ADHybridHealthService/services/{serviceName}/metrics/{metricName}/groups/{groupName}/sum", _endpoints[450]); - builder.AddEntry("/providers/Microsoft.Intune/locations/{hostName}/users/{userName}/devices/{deviceName}/wipe", _endpoints[451]); - builder.AddEntry("/catalog/usql/databases/{databaseName}/schemas/{schemaName}/tables/{tableName}/partitions/{partitionName}", _endpoints[452]); - builder.AddEntry("/catalog/usql/databases/{databaseName}/schemas/{schemaName}/tables/{tableName}/statistics/{statisticsName}", _endpoints[453]); - builder.AddEntry("/providers/Microsoft.ADHybridHealthService/services/{serviceName}/servicemembers/{serviceMemberId}/metrics/{metricName}/groups/{groupName}", _endpoints[454]); - builder.AddEntry("/catalog/usql/databases/{databaseName}/schemas/{schemaName}/tables/{tableName}/partitions/{partitionName}/previewrows", _endpoints[455]); - builder.AddEntry("/apps/customprebuiltdomains/{culture}", _endpoints[456]); - builder.AddEntry("/BackupRestore/BackupPolicies/{backupPolicyName}", _endpoints[457]); - builder.AddEntry("/certificates/issuers/{issuer-name}", _endpoints[458]); - builder.AddEntry("/webhdfs/v1/{path}", _endpoints[459]); - builder.AddEntry("/webhdfs/va/{getContentSummaryFilePath}", _endpoints[460]); - builder.AddEntry("/BackupRestore/BackupPolicies/{backupPolicyName}/$/Delete", _endpoints[461]); - builder.AddEntry("/BackupRestore/BackupPolicies/{backupPolicyName}/$/GetBackupEnabledEntities", _endpoints[462]); - builder.AddEntry("/BackupRestore/BackupPolicies/{backupPolicyName}/$/Update", _endpoints[463]); - builder.AddEntry("/EventsStore/Applications/{applicationId}/$/Events", _endpoints[464]); - builder.AddEntry("/EventsStore/CorrelatedEvents/{eventInstanceId}/$/Events", _endpoints[465]); - builder.AddEntry("/EventsStore/Nodes/{nodeName}/$/Events", _endpoints[466]); - builder.AddEntry("/EventsStore/Partitions/{partitionId}/$/Events", _endpoints[467]); - builder.AddEntry("/EventsStore/Services/{serviceId}/$/Events", _endpoints[468]); - builder.AddEntry("/Faults/Nodes/{nodeName}/$/GetTransitionProgress", _endpoints[469]); - builder.AddEntry("/Faults/Nodes/{nodeName}/$/StartTransition/", _endpoints[470]); - builder.AddEntry("/EventsStore/Partitions/{partitionId}/$/Replicas/Events", _endpoints[471]); - builder.AddEntry("/Services/$/{serviceId}/$/GetPartitions/$/Recover", _endpoints[472]); - builder.AddEntry("/EventsStore/Partitions/{partitionId}/$/Replicas/{replicaId}/$/Events", _endpoints[473]); - builder.AddEntry("/Faults/Services/{serviceId}/$/GetPartitions/{partitionId}/$/GetDataLossProgress", _endpoints[474]); - builder.AddEntry("/Faults/Services/{serviceId}/$/GetPartitions/{partitionId}/$/GetQuorumLossProgress", _endpoints[475]); - builder.AddEntry("/Faults/Services/{serviceId}/$/GetPartitions/{partitionId}/$/GetRestartProgress", _endpoints[476]); - builder.AddEntry("/Faults/Services/{serviceId}/$/GetPartitions/{partitionId}/$/StartDataLoss", _endpoints[477]); - builder.AddEntry("/Faults/Services/{serviceId}/$/GetPartitions/{partitionId}/$/StartQuorumLoss", _endpoints[478]); - builder.AddEntry("/Faults/Services/{serviceId}/$/GetPartitions/{partitionId}/$/StartRestart", _endpoints[479]); - builder.AddEntry("/apis/{apiId}", _endpoints[480]); - builder.AddEntry("/Applications/{applicationId}", _endpoints[481]); - builder.AddEntry("/ApplicationTypes/{applicationTypeName}", _endpoints[482]); - builder.AddEntry("/apps/{appId}", _endpoints[483]); - builder.AddEntry("/authorizationServers/{authsid}", _endpoints[484]); - builder.AddEntry("/backends/{backendid}", _endpoints[485]); - builder.AddEntry("/certificates/{certificate-name}", _endpoints[486]); - builder.AddEntry("/ComposeDeployments/{deploymentName}", _endpoints[487]); - builder.AddEntry("/deletedcertificates/{certificate-name}", _endpoints[488]); - builder.AddEntry("/deletedkeys/{key-name}", _endpoints[489]); - builder.AddEntry("/deletedsecrets/{secret-name}", _endpoints[490]); - builder.AddEntry("/deletedstorage/{storage-account-name}", _endpoints[491]); - builder.AddEntry("/domains/{domainId}", _endpoints[492]); - builder.AddEntry("/facelists/{faceListId}", _endpoints[493]); - builder.AddEntry("/groups/{groupId}", _endpoints[494]); - builder.AddEntry("/identityProviders/{identityProviderName}", _endpoints[495]); - builder.AddEntry("/ImageStore/{contentPath}", _endpoints[496]); - builder.AddEntry("/Jobs/{jobIdentity}", _endpoints[497]); - builder.AddEntry("/jobschedules/{jobScheduleId}", _endpoints[498]); - builder.AddEntry("/keys/{key-name}", _endpoints[499]); - builder.AddEntry("/loggers/{loggerid}", _endpoints[500]); - builder.AddEntry("/Names/{nameId}", _endpoints[501]); - builder.AddEntry("/Nodes/{nodeName}", _endpoints[502]); - builder.AddEntry("/openidConnectProviders/{opid}", _endpoints[503]); - builder.AddEntry("/Partitions/{partitionId}", _endpoints[504]); - builder.AddEntry("/persongroups/{personGroupId}", _endpoints[505]); - builder.AddEntry("/pipelines/{pipelineIdentity}", _endpoints[506]); - builder.AddEntry("/policies/{policyId}", _endpoints[507]); - builder.AddEntry("/pools/{poolId}", _endpoints[508]); - builder.AddEntry("/products/{productId}", _endpoints[509]); - builder.AddEntry("/projects/{projectId}", _endpoints[510]); - builder.AddEntry("/properties/{propId}", _endpoints[511]); - builder.AddEntry("/quotas/{quotaCounterKey}", _endpoints[512]); - builder.AddEntry("/recurrences/{recurrenceIdentity}", _endpoints[513]); - builder.AddEntry("/secrets/{secret-name}", _endpoints[514]); - builder.AddEntry("/storage/{storage-account-name}", _endpoints[515]); - builder.AddEntry("/subscriptions/{subscriptionId}", _endpoints[516]); - builder.AddEntry("/templates/{templateName}", _endpoints[517]); - builder.AddEntry("/tenant/{accessName}", _endpoints[518]); - builder.AddEntry("/textOperations/{operationId}", _endpoints[519]); - builder.AddEntry("/users/{uid}", _endpoints[520]); - builder.AddEntry("/WebHdfsExt/{path}", _endpoints[521]); - builder.AddEntry("/apis/{apiId}/operations", _endpoints[522]); - builder.AddEntry("/apis/{apiId}/policies", _endpoints[523]); - builder.AddEntry("/apis/{apiId}/products", _endpoints[524]); - builder.AddEntry("/apis/{apiId}/schemas", _endpoints[525]); - builder.AddEntry("/apps/{appId}/endpoints", _endpoints[526]); - builder.AddEntry("/apps/{appId}/metrics", _endpoints[527]); - builder.AddEntry("/apps/{appId}/permissions", _endpoints[528]); - builder.AddEntry("/apps/{appId}/publish", _endpoints[529]); - builder.AddEntry("/apps/{appId}/publishsettings", _endpoints[530]); - builder.AddEntry("/apps/{appId}/query", _endpoints[531]); - builder.AddEntry("/apps/{appId}/querylogs", _endpoints[532]); - builder.AddEntry("/apps/{appId}/settings", _endpoints[533]); - builder.AddEntry("/apps/{appId}/versions", _endpoints[534]); - builder.AddEntry("/certificates/{certificate-name}/create", _endpoints[535]); - builder.AddEntry("/certificates/{certificate-name}/import", _endpoints[536]); - builder.AddEntry("/certificates/{certificate-name}/pending", _endpoints[537]); - builder.AddEntry("/certificates/{certificate-name}/policy", _endpoints[538]); - builder.AddEntry("/certificates/{certificate-name}/versions", _endpoints[539]); - builder.AddEntry("/delegatedProviders/{delegatedProviderId}/offers", _endpoints[540]); - builder.AddEntry("/deletedcertificates/{certificate-name}/recover", _endpoints[541]); - builder.AddEntry("/deletedkeys/{key-name}/recover", _endpoints[542]); - builder.AddEntry("/deletedsecrets/{secret-name}/recover", _endpoints[543]); - builder.AddEntry("/deletedstorage/{storage-account-name}/recover", _endpoints[544]); - builder.AddEntry("/deletedstorage/{storage-account-name}/sas", _endpoints[545]); - builder.AddEntry("/facelists/{faceListId}/persistedFaces", _endpoints[546]); - builder.AddEntry("/groups/{groupId}/users", _endpoints[547]); - builder.AddEntry("/jobs/{jobId}/addtaskcollection", _endpoints[548]); - builder.AddEntry("/jobs/{jobId}/disable", _endpoints[549]); - builder.AddEntry("/jobs/{jobId}/enable", _endpoints[550]); - builder.AddEntry("/jobs/{jobId}/jobpreparationandreleasetaskstatus", _endpoints[551]); - builder.AddEntry("/jobs/{jobId}/taskcounts", _endpoints[552]); - builder.AddEntry("/jobs/{jobId}/tasks", _endpoints[553]); - builder.AddEntry("/jobs/{jobId}/terminate", _endpoints[554]); - builder.AddEntry("/Jobs/{jobIdentity}/CancelJob", _endpoints[555]); - builder.AddEntry("/Jobs/{jobIdentity}/GetDebugDataPath", _endpoints[556]); - builder.AddEntry("/Jobs/{jobIdentity}/GetStatistics", _endpoints[557]); - builder.AddEntry("/jobs/{jobIdentity}/YieldJob", _endpoints[558]); - builder.AddEntry("/jobschedules/{jobScheduleId}/disable", _endpoints[559]); - builder.AddEntry("/jobschedules/{jobScheduleId}/enable", _endpoints[560]); - builder.AddEntry("/jobschedules/{jobScheduleId}/jobs", _endpoints[561]); - builder.AddEntry("/jobschedules/{jobScheduleId}/terminate", _endpoints[562]); - builder.AddEntry("/keys/{key-name}/backup", _endpoints[563]); - builder.AddEntry("/keys/{key-name}/create", _endpoints[564]); - builder.AddEntry("/keys/{key-name}/versions", _endpoints[565]); - builder.AddEntry("/models/{model}/analyze", _endpoints[566]); - builder.AddEntry("/persongroups/{personGroupId}/persons", _endpoints[567]); - builder.AddEntry("/persongroups/{personGroupId}/train", _endpoints[568]); - builder.AddEntry("/persongroups/{personGroupId}/training", _endpoints[569]); - builder.AddEntry("/pools/{poolId}/disableautoscale", _endpoints[570]); - builder.AddEntry("/pools/{poolId}/enableautoscale", _endpoints[571]); - builder.AddEntry("/pools/{poolId}/evaluateautoscale", _endpoints[572]); - builder.AddEntry("/pools/{poolId}/nodes", _endpoints[573]); - builder.AddEntry("/pools/{poolId}/removenodes", _endpoints[574]); - builder.AddEntry("/pools/{poolId}/resize", _endpoints[575]); - builder.AddEntry("/pools/{poolId}/stopresize", _endpoints[576]); - builder.AddEntry("/pools/{poolId}/updateproperties", _endpoints[577]); - builder.AddEntry("/pools/{poolId}/upgradeos", _endpoints[578]); - builder.AddEntry("/products/{productId}/apis", _endpoints[579]); - builder.AddEntry("/products/{productId}/groups", _endpoints[580]); - builder.AddEntry("/products/{productId}/policies", _endpoints[581]); - builder.AddEntry("/products/{productId}/subscriptions", _endpoints[582]); - builder.AddEntry("/projects/{projectId}/images", _endpoints[583]); - builder.AddEntry("/projects/{projectId}/iterations", _endpoints[584]); - builder.AddEntry("/projects/{projectId}/predictions", _endpoints[585]); - builder.AddEntry("/projects/{projectId}/tags", _endpoints[586]); - builder.AddEntry("/projects/{projectId}/train", _endpoints[587]); - builder.AddEntry("/providers/{resourceProviderNamespace}/operations", _endpoints[588]); - builder.AddEntry("/secrets/{secret-name}/backup", _endpoints[589]); - builder.AddEntry("/secrets/{secret-name}/versions", _endpoints[590]); - builder.AddEntry("/storage/{storage-account-name}/backup", _endpoints[591]); - builder.AddEntry("/storage/{storage-account-name}/regeneratekey", _endpoints[592]); - builder.AddEntry("/storage/{storage-account-name}/sas", _endpoints[593]); - builder.AddEntry("/subscriptions/{sid}/regeneratePrimaryKey", _endpoints[594]); - builder.AddEntry("/subscriptions/{sid}/regenerateSecondaryKey", _endpoints[595]); - builder.AddEntry("/subscriptions/{subscriptionId}/locations", _endpoints[596]); - builder.AddEntry("/subscriptions/{subscriptionId}/providers", _endpoints[597]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourcegroups", _endpoints[598]); - builder.AddEntry("/subscriptions/{subscriptionId}/resources", _endpoints[599]); - builder.AddEntry("/subscriptions/{subscriptionId}/tagNames", _endpoints[600]); - builder.AddEntry("/tenant/{accessName}/git", _endpoints[601]); - builder.AddEntry("/tenant/{accessName}/regeneratePrimaryKey", _endpoints[602]); - builder.AddEntry("/tenant/{accessName}/regenerateSecondaryKey", _endpoints[603]); - builder.AddEntry("/tenant/{configurationName}/deploy", _endpoints[604]); - builder.AddEntry("/tenant/{configurationName}/save", _endpoints[605]); - builder.AddEntry("/tenant/{configurationName}/syncState", _endpoints[606]); - builder.AddEntry("/tenant/{configurationName}/validate", _endpoints[607]); - builder.AddEntry("/users/{uid}/generateSsoUrl", _endpoints[608]); - builder.AddEntry("/users/{uid}/groups", _endpoints[609]); - builder.AddEntry("/users/{uid}/identities", _endpoints[610]); - builder.AddEntry("/users/{uid}/subscriptions", _endpoints[611]); - builder.AddEntry("/users/{uid}/token", _endpoints[612]); - builder.AddEntry("/workspaces/{workspaceId}/query", _endpoints[613]); - builder.AddEntry("/Applications/{applicationId}/$/Delete", _endpoints[614]); - builder.AddEntry("/Applications/{applicationId}/$/DisableBackup", _endpoints[615]); - builder.AddEntry("/Applications/{applicationId}/$/EnableBackup", _endpoints[616]); - builder.AddEntry("/Applications/{applicationId}/$/GetBackupConfigurationInfo", _endpoints[617]); - builder.AddEntry("/Applications/{applicationId}/$/GetBackups", _endpoints[618]); - builder.AddEntry("/Applications/{applicationId}/$/GetHealth", _endpoints[619]); - builder.AddEntry("/Applications/{applicationId}/$/GetLoadInformation", _endpoints[620]); - builder.AddEntry("/Applications/{applicationId}/$/GetServices", _endpoints[621]); - builder.AddEntry("/Applications/{applicationId}/$/GetUpgradeProgress", _endpoints[622]); - builder.AddEntry("/Applications/{applicationId}/$/MoveToNextUpgradeDomain", _endpoints[623]); - builder.AddEntry("/Applications/{applicationId}/$/ReportHealth", _endpoints[624]); - builder.AddEntry("/Applications/{applicationId}/$/ResumeBackup", _endpoints[625]); - builder.AddEntry("/Applications/{applicationId}/$/RollbackUpgrade", _endpoints[626]); - builder.AddEntry("/Applications/{applicationId}/$/SuspendBackup", _endpoints[627]); - builder.AddEntry("/Applications/{applicationId}/$/UpdateUpgrade", _endpoints[628]); - builder.AddEntry("/Applications/{applicationId}/$/Upgrade", _endpoints[629]); - builder.AddEntry("/Applications/{applicationName}/$/MoveNextUpgradeDomain", _endpoints[630]); - builder.AddEntry("/ApplicationTypes/{applicationTypeName}/$/GetApplicationManifest", _endpoints[631]); - builder.AddEntry("/ApplicationTypes/{applicationTypeName}/$/GetServiceManifest", _endpoints[632]); - builder.AddEntry("/ApplicationTypes/{applicationTypeName}/$/GetServiceTypes", _endpoints[633]); - builder.AddEntry("/ApplicationTypes/{applicationTypeName}/$/Unprovision", _endpoints[634]); - builder.AddEntry("/apps/{appId}/events/$metadata", _endpoints[635]); - builder.AddEntry("/apps/{appId}/metrics/metadata", _endpoints[636]); - builder.AddEntry("/apps/{appId}/query/schema", _endpoints[637]); - builder.AddEntry("/apps/{appId}/versions/import", _endpoints[638]); - builder.AddEntry("/certificates/{certificate-name}/pending/merge", _endpoints[639]); - builder.AddEntry("/ComposeDeployments/{deploymentName}/$/Delete", _endpoints[640]); - builder.AddEntry("/ComposeDeployments/{deploymentName}/$/GetUpgradeProgress", _endpoints[641]); - builder.AddEntry("/ComposeDeployments/{deploymentName}/$/Upgrade", _endpoints[642]); - builder.AddEntry("/ImageStore/{contentPath}/$/GetUploadSession", _endpoints[643]); - builder.AddEntry("/ImageStore/{contentPath}/$/UploadChunk", _endpoints[644]); - builder.AddEntry("/Names/{nameId}/$/GetProperties", _endpoints[645]); - builder.AddEntry("/Names/{nameId}/$/GetProperty", _endpoints[646]); - builder.AddEntry("/Names/{nameId}/$/GetSubNames", _endpoints[647]); - builder.AddEntry("/Nodes/{nodeName}/$/Activate", _endpoints[648]); - builder.AddEntry("/Nodes/{nodeName}/$/Deactivate", _endpoints[649]); - builder.AddEntry("/Nodes/{nodeName}/$/DeployServicePackage", _endpoints[650]); - builder.AddEntry("/Nodes/{nodeName}/$/GetApplications", _endpoints[651]); - builder.AddEntry("/Nodes/{nodeName}/$/GetHealth", _endpoints[652]); - builder.AddEntry("/Nodes/{nodeName}/$/GetLoadInformation", _endpoints[653]); - builder.AddEntry("/Nodes/{nodeName}/$/RemoveNodeState", _endpoints[654]); - builder.AddEntry("/Nodes/{nodeName}/$/ReportHealth", _endpoints[655]); - builder.AddEntry("/Nodes/{nodeName}/$/Restart", _endpoints[656]); - builder.AddEntry("/Nodes/{nodeName}/$/Start", _endpoints[657]); - builder.AddEntry("/Nodes/{nodeName}/$/Stop", _endpoints[658]); - builder.AddEntry("/Partitions/{partitionId}/$/Backup", _endpoints[659]); - builder.AddEntry("/Partitions/{partitionId}/$/DisableBackup", _endpoints[660]); - builder.AddEntry("/Partitions/{partitionId}/$/EnableBackup", _endpoints[661]); - builder.AddEntry("/Partitions/{partitionId}/$/GetBackupConfigurationInfo", _endpoints[662]); - builder.AddEntry("/Partitions/{partitionId}/$/GetBackupProgress", _endpoints[663]); - builder.AddEntry("/Partitions/{partitionId}/$/GetBackups", _endpoints[664]); - builder.AddEntry("/Partitions/{partitionId}/$/GetHealth", _endpoints[665]); - builder.AddEntry("/Partitions/{partitionId}/$/GetLoadInformation", _endpoints[666]); - builder.AddEntry("/Partitions/{partitionId}/$/GetReplicas", _endpoints[667]); - builder.AddEntry("/Partitions/{partitionId}/$/GetRestoreProgress", _endpoints[668]); - builder.AddEntry("/Partitions/{partitionId}/$/GetServiceName", _endpoints[669]); - builder.AddEntry("/Partitions/{partitionId}/$/Recover", _endpoints[670]); - builder.AddEntry("/Partitions/{partitionId}/$/ReportHealth", _endpoints[671]); - builder.AddEntry("/Partitions/{partitionId}/$/ResetLoad", _endpoints[672]); - builder.AddEntry("/Partitions/{partitionId}/$/Restore", _endpoints[673]); - builder.AddEntry("/Partitions/{partitionId}/$/ResumeBackup", _endpoints[674]); - builder.AddEntry("/Partitions/{partitionId}/$/SuspendBackup", _endpoints[675]); - builder.AddEntry("/projects/{projectId}/images/files", _endpoints[676]); - builder.AddEntry("/projects/{projectId}/images/id", _endpoints[677]); - builder.AddEntry("/projects/{projectId}/images/predictions", _endpoints[678]); - builder.AddEntry("/projects/{projectId}/images/regions", _endpoints[679]); - builder.AddEntry("/projects/{projectId}/images/tagged", _endpoints[680]); - builder.AddEntry("/projects/{projectId}/images/tags", _endpoints[681]); - builder.AddEntry("/projects/{projectId}/images/untagged", _endpoints[682]); - builder.AddEntry("/projects/{projectId}/images/urls", _endpoints[683]); - builder.AddEntry("/projects/{projectId}/predictions/query", _endpoints[684]); - builder.AddEntry("/projects/{projectId}/quicktest/image", _endpoints[685]); - builder.AddEntry("/projects/{projectId}/quicktest/url", _endpoints[686]); - builder.AddEntry("/Services/{serviceId}/$/Delete", _endpoints[687]); - builder.AddEntry("/Services/{serviceId}/$/DisableBackup", _endpoints[688]); - builder.AddEntry("/Services/{serviceId}/$/EnableBackup", _endpoints[689]); - builder.AddEntry("/Services/{serviceId}/$/GetApplicationName", _endpoints[690]); - builder.AddEntry("/Services/{serviceId}/$/GetBackupConfigurationInfo", _endpoints[691]); - builder.AddEntry("/Services/{serviceId}/$/GetBackups", _endpoints[692]); - builder.AddEntry("/Services/{serviceId}/$/GetDescription", _endpoints[693]); - builder.AddEntry("/Services/{serviceId}/$/GetHealth", _endpoints[694]); - builder.AddEntry("/Services/{serviceId}/$/GetPartitions", _endpoints[695]); - builder.AddEntry("/Services/{serviceId}/$/ReportHealth", _endpoints[696]); - builder.AddEntry("/Services/{serviceId}/$/ResolvePartition", _endpoints[697]); - builder.AddEntry("/Services/{serviceId}/$/ResumeBackup", _endpoints[698]); - builder.AddEntry("/Services/{serviceId}/$/SuspendBackup", _endpoints[699]); - builder.AddEntry("/Services/{serviceId}/$/Update", _endpoints[700]); - builder.AddEntry("/tenant/{accessName}/git/regeneratePrimaryKey", _endpoints[701]); - builder.AddEntry("/tenant/{accessName}/git/regenerateSecondaryKey", _endpoints[702]); - builder.AddEntry("/projects/{projectId}/images/tagged/count", _endpoints[703]); - builder.AddEntry("/projects/{projectId}/images/untagged/count", _endpoints[704]); - builder.AddEntry("/subscriptions/{subscriptionId}/providers/Microsoft.AAD/domainServices", _endpoints[705]); - builder.AddEntry("/subscriptions/{subscriptionId}/providers/Microsoft.Advisor/configurations", _endpoints[706]); - builder.AddEntry("/subscriptions/{subscriptionId}/providers/Microsoft.Advisor/generateRecommendations", _endpoints[707]); - builder.AddEntry("/subscriptions/{subscriptionId}/providers/Microsoft.Advisor/recommendations", _endpoints[708]); - builder.AddEntry("/subscriptions/{subscriptionId}/providers/Microsoft.Advisor/suppressions", _endpoints[709]); - builder.AddEntry("/subscriptions/{subscriptionId}/providers/Microsoft.AnalysisServices/servers", _endpoints[710]); - builder.AddEntry("/subscriptions/{subscriptionId}/providers/Microsoft.AnalysisServices/skus", _endpoints[711]); - builder.AddEntry("/subscriptions/{subscriptionId}/providers/Microsoft.ApiManagement/checkNameAvailability", _endpoints[712]); - builder.AddEntry("/subscriptions/{subscriptionId}/providers/Microsoft.ApiManagement/service", _endpoints[713]); - builder.AddEntry("/subscriptions/{subscriptionId}/providers/Microsoft.Authorization/classicAdministrators", _endpoints[714]); - builder.AddEntry("/subscriptions/{subscriptionId}/providers/Microsoft.Authorization/locks", _endpoints[715]); - builder.AddEntry("/subscriptions/{subscriptionId}/providers/Microsoft.Authorization/policyAssignments", _endpoints[716]); - builder.AddEntry("/subscriptions/{subscriptionId}/providers/Microsoft.Authorization/policyDefinitions", _endpoints[717]); - builder.AddEntry("/subscriptions/{subscriptionId}/providers/Microsoft.Authorization/policySetDefinitions", _endpoints[718]); - builder.AddEntry("/subscriptions/{subscriptionId}/providers/Microsoft.Authorization/roleAssignments", _endpoints[719]); - builder.AddEntry("/subscriptions/{subscriptionId}/providers/Microsoft.Automation/automationAccounts", _endpoints[720]); - builder.AddEntry("/subscriptions/{subscriptionId}/providers/Microsoft.Batch/batchAccounts", _endpoints[721]); - builder.AddEntry("/subscriptions/{subscriptionId}/providers/Microsoft.BatchAI/clusters", _endpoints[722]); - builder.AddEntry("/subscriptions/{subscriptionId}/providers/Microsoft.BatchAI/fileServers", _endpoints[723]); - builder.AddEntry("/subscriptions/{subscriptionId}/providers/Microsoft.BatchAI/jobs", _endpoints[724]); - builder.AddEntry("/subscriptions/{subscriptionId}/providers/Microsoft.BatchAI/workspaces", _endpoints[725]); - builder.AddEntry("/subscriptions/{subscriptionId}/providers/Microsoft.Billing/billingPeriods", _endpoints[726]); - builder.AddEntry("/subscriptions/{subscriptionId}/providers/Microsoft.Billing/invoices", _endpoints[727]); - builder.AddEntry("/subscriptions/{subscriptionId}/providers/Microsoft.BotService/botServices", _endpoints[728]); - builder.AddEntry("/subscriptions/{subscriptionId}/providers/Microsoft.Cache/CheckNameAvailability", _endpoints[729]); - builder.AddEntry("/subscriptions/{subscriptionId}/providers/Microsoft.Cache/Redis", _endpoints[730]); - builder.AddEntry("/subscriptions/{subscriptionId}/providers/Microsoft.Capacity/appliedReservations", _endpoints[731]); - builder.AddEntry("/subscriptions/{subscriptionId}/providers/Microsoft.Capacity/catalogs", _endpoints[732]); - builder.AddEntry("/subscriptions/{subscriptionId}/providers/Microsoft.Cdn/checkNameAvailability", _endpoints[733]); - builder.AddEntry("/subscriptions/{subscriptionId}/providers/Microsoft.Cdn/checkResourceUsage", _endpoints[734]); - builder.AddEntry("/subscriptions/{subscriptionId}/providers/Microsoft.Cdn/profiles", _endpoints[735]); - builder.AddEntry("/subscriptions/{subscriptionId}/providers/Microsoft.Cdn/validateProbe", _endpoints[736]); - builder.AddEntry("/subscriptions/{subscriptionId}/providers/Microsoft.CertificateRegistration/certificateOrders", _endpoints[737]); - builder.AddEntry("/subscriptions/{subscriptionId}/providers/Microsoft.CertificateRegistration/validateCertificateRegistrationInformation", _endpoints[738]); - builder.AddEntry("/subscriptions/{subscriptionId}/providers/Microsoft.CognitiveServices/accounts", _endpoints[739]); - builder.AddEntry("/subscriptions/{subscriptionId}/providers/Microsoft.CognitiveServices/skus", _endpoints[740]); - builder.AddEntry("/subscriptions/{subscriptionId}/providers/Microsoft.Commerce.Admin/subscriberUsageAggregates", _endpoints[741]); - builder.AddEntry("/subscriptions/{subscriptionId}/providers/Microsoft.Commerce.Admin/updateEncryption", _endpoints[742]); - builder.AddEntry("/subscriptions/{subscriptionId}/providers/Microsoft.Commerce/RateCard", _endpoints[743]); - builder.AddEntry("/subscriptions/{subscriptionId}/providers/Microsoft.Commerce/UsageAggregates", _endpoints[744]); - builder.AddEntry("/subscriptions/{subscriptionId}/providers/Microsoft.Compute/disks", _endpoints[745]); - builder.AddEntry("/subscriptions/{subscriptionId}/providers/Microsoft.Compute/galleries", _endpoints[746]); - builder.AddEntry("/subscriptions/{subscriptionId}/providers/Microsoft.Compute/images", _endpoints[747]); - builder.AddEntry("/subscriptions/{subscriptionId}/providers/Microsoft.Compute/skus", _endpoints[748]); - builder.AddEntry("/subscriptions/{subscriptionId}/providers/Microsoft.Compute/snapshots", _endpoints[749]); - builder.AddEntry("/subscriptions/{subscriptionId}/providers/Microsoft.Compute/virtualMachines", _endpoints[750]); - builder.AddEntry("/subscriptions/{subscriptionId}/providers/Microsoft.Compute/virtualMachineScaleSets", _endpoints[751]); - builder.AddEntry("/subscriptions/{subscriptionId}/providers/Microsoft.Consumption/budgets", _endpoints[752]); - builder.AddEntry("/subscriptions/{subscriptionId}/providers/Microsoft.Consumption/forecasts", _endpoints[753]); - builder.AddEntry("/subscriptions/{subscriptionId}/providers/Microsoft.Consumption/marketplaces", _endpoints[754]); - builder.AddEntry("/subscriptions/{subscriptionId}/providers/Microsoft.Consumption/reservationRecommendations", _endpoints[755]); - builder.AddEntry("/subscriptions/{subscriptionId}/providers/Microsoft.Consumption/usageDetails", _endpoints[756]); - builder.AddEntry("/subscriptions/{subscriptionId}/providers/Microsoft.ContainerInstance/containerGroups", _endpoints[757]); - builder.AddEntry("/subscriptions/{subscriptionId}/providers/Microsoft.ContainerRegistry/checkNameAvailability", _endpoints[758]); - builder.AddEntry("/subscriptions/{subscriptionId}/providers/Microsoft.ContainerRegistry/registries", _endpoints[759]); - builder.AddEntry("/subscriptions/{subscriptionId}/providers/Microsoft.ContainerService/containerServices", _endpoints[760]); - builder.AddEntry("/subscriptions/{subscriptionId}/providers/Microsoft.ContainerService/managedClusters", _endpoints[761]); - builder.AddEntry("/subscriptions/{subscriptionId}/providers/Microsoft.CustomerInsights/hubs", _endpoints[762]); - builder.AddEntry("/subscriptions/{subscriptionId}/providers/Microsoft.DataBox/jobs", _endpoints[763]); - builder.AddEntry("/subscriptions/{subscriptionId}/providers/Microsoft.Databricks/workspaces", _endpoints[764]); - builder.AddEntry("/subscriptions/{subscriptionId}/providers/Microsoft.DataFactory/factories", _endpoints[765]); - builder.AddEntry("/subscriptions/{subscriptionId}/providers/Microsoft.DataLakeAnalytics/accounts", _endpoints[766]); - builder.AddEntry("/subscriptions/{subscriptionId}/providers/Microsoft.DataLakeStore/accounts", _endpoints[767]); - builder.AddEntry("/subscriptions/{subscriptionId}/providers/Microsoft.DataMigration/services", _endpoints[768]); - builder.AddEntry("/subscriptions/{subscriptionId}/providers/Microsoft.DataMigration/skus", _endpoints[769]); - builder.AddEntry("/subscriptions/{subscriptionId}/providers/Microsoft.DBforMySQL/checkNameAvailability", _endpoints[770]); - builder.AddEntry("/subscriptions/{subscriptionId}/providers/Microsoft.DBforMySQL/performanceTiers", _endpoints[771]); - builder.AddEntry("/subscriptions/{subscriptionId}/providers/Microsoft.DBforMySQL/servers", _endpoints[772]); - builder.AddEntry("/subscriptions/{subscriptionId}/providers/Microsoft.DBforPostgreSQL/checkNameAvailability", _endpoints[773]); - builder.AddEntry("/subscriptions/{subscriptionId}/providers/Microsoft.DBforPostgreSQL/performanceTiers", _endpoints[774]); - builder.AddEntry("/subscriptions/{subscriptionId}/providers/Microsoft.DBforPostgreSQL/servers", _endpoints[775]); - builder.AddEntry("/subscriptions/{subscriptionId}/providers/Microsoft.Devices/checkNameAvailability", _endpoints[776]); - builder.AddEntry("/subscriptions/{subscriptionId}/providers/Microsoft.Devices/checkProvisioningServiceNameAvailability", _endpoints[777]); - builder.AddEntry("/subscriptions/{subscriptionId}/providers/Microsoft.Devices/IotHubs", _endpoints[778]); - builder.AddEntry("/subscriptions/{subscriptionId}/providers/Microsoft.Devices/provisioningServices", _endpoints[779]); - builder.AddEntry("/subscriptions/{subscriptionId}/providers/Microsoft.Devices/usages", _endpoints[780]); - builder.AddEntry("/subscriptions/{subscriptionId}/providers/Microsoft.DevTestLab/labs", _endpoints[781]); - builder.AddEntry("/subscriptions/{subscriptionId}/providers/Microsoft.DevTestLab/schedules", _endpoints[782]); - builder.AddEntry("/subscriptions/{subscriptionId}/providers/Microsoft.DocumentDB/databaseAccounts", _endpoints[783]); - builder.AddEntry("/subscriptions/{subscriptionId}/providers/Microsoft.DomainRegistration/checkDomainAvailability", _endpoints[784]); - builder.AddEntry("/subscriptions/{subscriptionId}/providers/Microsoft.DomainRegistration/domains", _endpoints[785]); - builder.AddEntry("/subscriptions/{subscriptionId}/providers/Microsoft.DomainRegistration/generateSsoRequest", _endpoints[786]); - builder.AddEntry("/subscriptions/{subscriptionId}/providers/Microsoft.DomainRegistration/listDomainRecommendations", _endpoints[787]); - builder.AddEntry("/subscriptions/{subscriptionId}/providers/Microsoft.DomainRegistration/topLevelDomains", _endpoints[788]); - builder.AddEntry("/subscriptions/{subscriptionId}/providers/Microsoft.DomainRegistration/validateDomainRegistrationInformation", _endpoints[789]); - builder.AddEntry("/subscriptions/{subscriptionId}/providers/Microsoft.EventGrid/eventSubscriptions", _endpoints[790]); - builder.AddEntry("/subscriptions/{subscriptionId}/providers/Microsoft.EventGrid/topics", _endpoints[791]); - builder.AddEntry("/subscriptions/{subscriptionId}/providers/Microsoft.EventHub/CheckNameAvailability", _endpoints[792]); - builder.AddEntry("/subscriptions/{subscriptionId}/providers/Microsoft.EventHub/CheckNamespaceAvailability", _endpoints[793]); - builder.AddEntry("/subscriptions/{subscriptionId}/providers/Microsoft.EventHub/namespaces", _endpoints[794]); - builder.AddEntry("/subscriptions/{subscriptionId}/providers/Microsoft.Features/features", _endpoints[795]); - builder.AddEntry("/subscriptions/{subscriptionId}/providers/microsoft.gallery.admin/galleryItems", _endpoints[796]); - builder.AddEntry("/subscriptions/{subscriptionId}/providers/Microsoft.HanaOnAzure/hanaInstances", _endpoints[797]); - builder.AddEntry("/subscriptions/{subscriptionId}/providers/Microsoft.HDInsight/clusters", _endpoints[798]); - builder.AddEntry("/subscriptions/{subscriptionId}/providers/Microsoft.ImportExport/jobs", _endpoints[799]); - builder.AddEntry("/subscriptions/{subscriptionId}/providers/microsoft.insights/actionGroups", _endpoints[800]); - builder.AddEntry("/subscriptions/{subscriptionId}/providers/microsoft.insights/activityLogAlerts", _endpoints[801]); - builder.AddEntry("/subscriptions/{subscriptionId}/providers/Microsoft.Insights/components", _endpoints[802]); - builder.AddEntry("/subscriptions/{subscriptionId}/providers/microsoft.insights/listMigrationdate", _endpoints[803]); - builder.AddEntry("/subscriptions/{subscriptionId}/providers/microsoft.insights/logprofiles", _endpoints[804]); - builder.AddEntry("/subscriptions/{subscriptionId}/providers/Microsoft.Insights/metricAlerts", _endpoints[805]); - builder.AddEntry("/subscriptions/{subscriptionId}/providers/microsoft.insights/migrateToNewPricingModel", _endpoints[806]); - builder.AddEntry("/subscriptions/{subscriptionId}/providers/microsoft.insights/rollbackToLegacyPricingModel", _endpoints[807]); - builder.AddEntry("/subscriptions/{subscriptionId}/providers/microsoft.insights/scheduledQueryRules", _endpoints[808]); - builder.AddEntry("/subscriptions/{subscriptionId}/providers/Microsoft.Insights/webtests", _endpoints[809]); - builder.AddEntry("/subscriptions/{subscriptionId}/providers/Microsoft.IoTCentral/checkNameAvailability", _endpoints[810]); - builder.AddEntry("/subscriptions/{subscriptionId}/providers/Microsoft.IoTCentral/IoTApps", _endpoints[811]); - builder.AddEntry("/subscriptions/{subscriptionId}/providers/Microsoft.IoTSpaces/checkNameAvailability", _endpoints[812]); - builder.AddEntry("/subscriptions/{subscriptionId}/providers/Microsoft.IoTSpaces/Graph", _endpoints[813]); - builder.AddEntry("/subscriptions/{subscriptionId}/providers/Microsoft.KeyVault/checkNameAvailability", _endpoints[814]); - builder.AddEntry("/subscriptions/{subscriptionId}/providers/Microsoft.KeyVault/deletedVaults", _endpoints[815]); - builder.AddEntry("/subscriptions/{subscriptionId}/providers/Microsoft.KeyVault/vaults", _endpoints[816]); - builder.AddEntry("/subscriptions/{subscriptionId}/providers/Microsoft.Logic/integrationAccounts", _endpoints[817]); - builder.AddEntry("/subscriptions/{subscriptionId}/providers/Microsoft.Logic/workflows", _endpoints[818]); - builder.AddEntry("/subscriptions/{subscriptionId}/providers/Microsoft.MachineLearning/commitmentPlans", _endpoints[819]); - builder.AddEntry("/subscriptions/{subscriptionId}/providers/Microsoft.MachineLearning/skus", _endpoints[820]); - builder.AddEntry("/subscriptions/{subscriptionId}/providers/Microsoft.MachineLearning/webServices", _endpoints[821]); - builder.AddEntry("/subscriptions/{subscriptionId}/providers/Microsoft.MachineLearning/workspaces", _endpoints[822]); - builder.AddEntry("/subscriptions/{subscriptionId}/providers/Microsoft.MachineLearningCompute/operationalizationClusters", _endpoints[823]); - builder.AddEntry("/subscriptions/{subscriptionId}/providers/Microsoft.MachineLearningExperimentation/accounts", _endpoints[824]); - builder.AddEntry("/subscriptions/{subscriptionId}/providers/Microsoft.MachineLearningServices/workspaces", _endpoints[825]); - builder.AddEntry("/subscriptions/{subscriptionId}/providers/Microsoft.ManagedIdentity/userAssignedIdentities", _endpoints[826]); - builder.AddEntry("/subscriptions/{subscriptionId}/providers/Microsoft.Maps/accounts", _endpoints[827]); - builder.AddEntry("/subscriptions/{subscriptionId}/providers/Microsoft.Media/CheckNameAvailability", _endpoints[828]); - builder.AddEntry("/subscriptions/{subscriptionId}/providers/Microsoft.Media/mediaservices", _endpoints[829]); - builder.AddEntry("/subscriptions/{subscriptionId}/providers/Microsoft.Network.Admin/adminLoadBalancers", _endpoints[830]); - builder.AddEntry("/subscriptions/{subscriptionId}/providers/Microsoft.Network.Admin/adminOverview", _endpoints[831]); - builder.AddEntry("/subscriptions/{subscriptionId}/providers/Microsoft.Network.Admin/adminPublicIpAddresses", _endpoints[832]); - builder.AddEntry("/subscriptions/{subscriptionId}/providers/Microsoft.Network.Admin/adminVirtualNetworks", _endpoints[833]); - builder.AddEntry("/subscriptions/{subscriptionId}/providers/Microsoft.Network/applicationGatewayAvailableWafRuleSets", _endpoints[834]); - builder.AddEntry("/subscriptions/{subscriptionId}/providers/Microsoft.Network/applicationGateways", _endpoints[835]); - builder.AddEntry("/subscriptions/{subscriptionId}/providers/Microsoft.Network/applicationSecurityGroups", _endpoints[836]); - builder.AddEntry("/subscriptions/{subscriptionId}/providers/Microsoft.Network/bgpServiceCommunities", _endpoints[837]); - builder.AddEntry("/subscriptions/{subscriptionId}/providers/Microsoft.Network/ddosProtectionPlans", _endpoints[838]); - builder.AddEntry("/subscriptions/{subscriptionId}/providers/Microsoft.Network/dnszones", _endpoints[839]); - builder.AddEntry("/subscriptions/{subscriptionId}/providers/Microsoft.Network/expressRouteCircuits", _endpoints[840]); - builder.AddEntry("/subscriptions/{subscriptionId}/providers/Microsoft.Network/expressRouteCrossConnections", _endpoints[841]); - builder.AddEntry("/subscriptions/{subscriptionId}/providers/Microsoft.Network/expressRouteServiceProviders", _endpoints[842]); - builder.AddEntry("/subscriptions/{subscriptionId}/providers/Microsoft.Network/loadBalancers", _endpoints[843]); - builder.AddEntry("/subscriptions/{subscriptionId}/providers/Microsoft.Network/networkInterfaces", _endpoints[844]); - builder.AddEntry("/subscriptions/{subscriptionId}/providers/Microsoft.Network/networkSecurityGroups", _endpoints[845]); - builder.AddEntry("/subscriptions/{subscriptionId}/providers/Microsoft.Network/networkWatchers", _endpoints[846]); - builder.AddEntry("/subscriptions/{subscriptionId}/providers/Microsoft.Network/publicIPAddresses", _endpoints[847]); - builder.AddEntry("/subscriptions/{subscriptionId}/providers/Microsoft.Network/routeFilters", _endpoints[848]); - builder.AddEntry("/subscriptions/{subscriptionId}/providers/Microsoft.Network/routeTables", _endpoints[849]); - builder.AddEntry("/subscriptions/{subscriptionId}/providers/Microsoft.Network/trafficmanagerprofiles", _endpoints[850]); - builder.AddEntry("/subscriptions/{subscriptionId}/providers/Microsoft.Network/trafficManagerUserMetricsKeys", _endpoints[851]); - builder.AddEntry("/subscriptions/{subscriptionId}/providers/Microsoft.Network/virtualNetworks", _endpoints[852]); - builder.AddEntry("/subscriptions/{subscriptionId}/providers/Microsoft.NotificationHubs/checkNamespaceAvailability", _endpoints[853]); - builder.AddEntry("/subscriptions/{subscriptionId}/providers/Microsoft.NotificationHubs/namespaces", _endpoints[854]); - builder.AddEntry("/subscriptions/{subscriptionId}/providers/Microsoft.OperationalInsights/linkTargets", _endpoints[855]); - builder.AddEntry("/subscriptions/{subscriptionId}/providers/Microsoft.OperationalInsights/workspaces", _endpoints[856]); - builder.AddEntry("/subscriptions/{subscriptionId}/providers/Microsoft.OperationsManagement/ManagementAssociations", _endpoints[857]); - builder.AddEntry("/subscriptions/{subscriptionId}/providers/Microsoft.OperationsManagement/ManagementConfigurations", _endpoints[858]); - builder.AddEntry("/subscriptions/{subscriptionId}/providers/Microsoft.OperationsManagement/solutions", _endpoints[859]); - builder.AddEntry("/subscriptions/{subscriptionId}/providers/Microsoft.PowerBI/workspaceCollections", _endpoints[860]); - builder.AddEntry("/subscriptions/{subscriptionId}/providers/Microsoft.PowerBIDedicated/capacities", _endpoints[861]); - builder.AddEntry("/subscriptions/{subscriptionId}/providers/Microsoft.PowerBIDedicated/skus", _endpoints[862]); - builder.AddEntry("/subscriptions/{subscriptionId}/providers/Microsoft.RecoveryServices/vaults", _endpoints[863]); - builder.AddEntry("/subscriptions/{subscriptionId}/providers/Microsoft.Relay/checkNameAvailability", _endpoints[864]); - builder.AddEntry("/subscriptions/{subscriptionId}/providers/Microsoft.Relay/namespaces", _endpoints[865]); - builder.AddEntry("/subscriptions/{subscriptionId}/providers/Microsoft.ResourceHealth/availabilityStatuses", _endpoints[866]); - builder.AddEntry("/subscriptions/{subscriptionId}/providers/Microsoft.Resources/links", _endpoints[867]); - builder.AddEntry("/subscriptions/{subscriptionId}/providers/Microsoft.Scheduler/jobCollections", _endpoints[868]); - builder.AddEntry("/subscriptions/{subscriptionId}/providers/Microsoft.Search/checkNameAvailability", _endpoints[869]); - builder.AddEntry("/subscriptions/{subscriptionId}/providers/Microsoft.Security/alerts", _endpoints[870]); - builder.AddEntry("/subscriptions/{subscriptionId}/providers/Microsoft.Security/autoProvisioningSettings", _endpoints[871]); - builder.AddEntry("/subscriptions/{subscriptionId}/providers/Microsoft.Security/discoveredSecuritySolutions", _endpoints[872]); - builder.AddEntry("/subscriptions/{subscriptionId}/providers/Microsoft.Security/externalSecuritySolutions", _endpoints[873]); - builder.AddEntry("/subscriptions/{subscriptionId}/providers/Microsoft.Security/jitNetworkAccessPolicies", _endpoints[874]); - builder.AddEntry("/subscriptions/{subscriptionId}/providers/Microsoft.Security/locations", _endpoints[875]); - builder.AddEntry("/subscriptions/{subscriptionId}/providers/Microsoft.Security/pricings", _endpoints[876]); - builder.AddEntry("/subscriptions/{subscriptionId}/providers/Microsoft.Security/securityContacts", _endpoints[877]); - builder.AddEntry("/subscriptions/{subscriptionId}/providers/Microsoft.Security/tasks", _endpoints[878]); - builder.AddEntry("/subscriptions/{subscriptionId}/providers/Microsoft.Security/workspaceSettings", _endpoints[879]); - builder.AddEntry("/subscriptions/{subscriptionId}/providers/Microsoft.ServerManagement/gateways", _endpoints[880]); - builder.AddEntry("/subscriptions/{subscriptionId}/providers/Microsoft.ServerManagement/nodes", _endpoints[881]); - builder.AddEntry("/subscriptions/{subscriptionId}/providers/Microsoft.ServiceBus/CheckNameAvailability", _endpoints[882]); - builder.AddEntry("/subscriptions/{subscriptionId}/providers/Microsoft.ServiceBus/CheckNameSpaceAvailability", _endpoints[883]); - builder.AddEntry("/subscriptions/{subscriptionId}/providers/Microsoft.ServiceBus/namespaces", _endpoints[884]); - builder.AddEntry("/subscriptions/{subscriptionId}/providers/Microsoft.ServiceBus/premiumMessagingRegions", _endpoints[885]); - builder.AddEntry("/subscriptions/{subscriptionId}/providers/Microsoft.ServiceFabric/clusters", _endpoints[886]); - builder.AddEntry("/subscriptions/{subscriptionId}/providers/Microsoft.SignalRService/SignalR", _endpoints[887]); - builder.AddEntry("/subscriptions/{subscriptionId}/providers/Microsoft.Solutions/appliances", _endpoints[888]); - builder.AddEntry("/subscriptions/{subscriptionId}/providers/Microsoft.Solutions/applications", _endpoints[889]); - builder.AddEntry("/subscriptions/{subscriptionId}/providers/Microsoft.Sql/checkNameAvailability", _endpoints[890]); - builder.AddEntry("/subscriptions/{subscriptionId}/providers/Microsoft.Sql/managedInstances", _endpoints[891]); - builder.AddEntry("/subscriptions/{subscriptionId}/providers/Microsoft.Sql/servers", _endpoints[892]); - builder.AddEntry("/subscriptions/{subscriptionId}/providers/Microsoft.Storage/checkNameAvailability", _endpoints[893]); - builder.AddEntry("/subscriptions/{subscriptionId}/providers/Microsoft.Storage/skus", _endpoints[894]); - builder.AddEntry("/subscriptions/{subscriptionId}/providers/Microsoft.Storage/storageAccounts", _endpoints[895]); - builder.AddEntry("/subscriptions/{subscriptionId}/providers/Microsoft.Storage/usages", _endpoints[896]); - builder.AddEntry("/subscriptions/{subscriptionId}/providers/Microsoft.StorSimple/managers", _endpoints[897]); - builder.AddEntry("/subscriptions/{subscriptionId}/providers/Microsoft.StreamAnalytics/streamingjobs", _endpoints[898]); - builder.AddEntry("/subscriptions/{subscriptionId}/providers/Microsoft.Subscriptions.Admin/checkNameAvailability", _endpoints[899]); - builder.AddEntry("/subscriptions/{subscriptionId}/providers/Microsoft.Subscriptions.Admin/delegatedProviders", _endpoints[900]); - builder.AddEntry("/subscriptions/{subscriptionId}/providers/Microsoft.Subscriptions.Admin/locations", _endpoints[901]); - builder.AddEntry("/subscriptions/{subscriptionId}/providers/Microsoft.Subscriptions.Admin/moveSubscriptions", _endpoints[902]); - builder.AddEntry("/subscriptions/{subscriptionId}/providers/Microsoft.Subscriptions.Admin/offers", _endpoints[903]); - builder.AddEntry("/subscriptions/{subscriptionId}/providers/Microsoft.Subscriptions.Admin/plans", _endpoints[904]); - builder.AddEntry("/subscriptions/{subscriptionId}/providers/Microsoft.Subscriptions.Admin/restoreData", _endpoints[905]); - builder.AddEntry("/subscriptions/{subscriptionId}/providers/Microsoft.Subscriptions.Admin/subscriptions", _endpoints[906]); - builder.AddEntry("/subscriptions/{subscriptionId}/providers/Microsoft.Subscriptions.Admin/updateEncryption", _endpoints[907]); - builder.AddEntry("/subscriptions/{subscriptionId}/providers/Microsoft.Subscriptions.Admin/validateMoveSubscriptions", _endpoints[908]); - builder.AddEntry("/subscriptions/{subscriptionId}/providers/Microsoft.TimeSeriesInsights/environments", _endpoints[909]); - builder.AddEntry("/subscriptions/{subscriptionId}/providers/microsoft.visualstudio/checkNameAvailability", _endpoints[910]); - builder.AddEntry("/subscriptions/{subscriptionId}/providers/Microsoft.Web/availableStacks", _endpoints[911]); - builder.AddEntry("/subscriptions/{subscriptionId}/providers/Microsoft.Web/billingMeters", _endpoints[912]); - builder.AddEntry("/subscriptions/{subscriptionId}/providers/Microsoft.Web/certificates", _endpoints[913]); - builder.AddEntry("/subscriptions/{subscriptionId}/providers/Microsoft.Web/checknameavailability", _endpoints[914]); - builder.AddEntry("/subscriptions/{subscriptionId}/providers/Microsoft.Web/classicMobileServices", _endpoints[915]); - builder.AddEntry("/subscriptions/{subscriptionId}/providers/Microsoft.Web/connectionGateways", _endpoints[916]); - builder.AddEntry("/subscriptions/{subscriptionId}/providers/Microsoft.Web/customApis", _endpoints[917]); - builder.AddEntry("/subscriptions/{subscriptionId}/providers/Microsoft.Web/deletedSites", _endpoints[918]); - builder.AddEntry("/subscriptions/{subscriptionId}/providers/Microsoft.Web/deploymentLocations", _endpoints[919]); - builder.AddEntry("/subscriptions/{subscriptionId}/providers/Microsoft.Web/geoRegions", _endpoints[920]); - builder.AddEntry("/subscriptions/{subscriptionId}/providers/Microsoft.Web/hostingEnvironments", _endpoints[921]); - builder.AddEntry("/subscriptions/{subscriptionId}/providers/Microsoft.Web/ishostingenvironmentnameavailable", _endpoints[922]); - builder.AddEntry("/subscriptions/{subscriptionId}/providers/Microsoft.Web/listSitesAssignedToHostName", _endpoints[923]); - builder.AddEntry("/subscriptions/{subscriptionId}/providers/Microsoft.Web/managedHostingEnvironments", _endpoints[924]); - builder.AddEntry("/subscriptions/{subscriptionId}/providers/Microsoft.Web/premieraddonoffers", _endpoints[925]); - builder.AddEntry("/subscriptions/{subscriptionId}/providers/Microsoft.Web/publishingCredentials", _endpoints[926]); - builder.AddEntry("/subscriptions/{subscriptionId}/providers/Microsoft.Web/recommendations", _endpoints[927]); - builder.AddEntry("/subscriptions/{subscriptionId}/providers/Microsoft.Web/resourceHealthMetadata", _endpoints[928]); - builder.AddEntry("/subscriptions/{subscriptionId}/providers/Microsoft.Web/serverfarms", _endpoints[929]); - builder.AddEntry("/subscriptions/{subscriptionId}/providers/Microsoft.Web/sites", _endpoints[930]); - builder.AddEntry("/subscriptions/{subscriptionId}/providers/Microsoft.Web/skus", _endpoints[931]); - builder.AddEntry("/subscriptions/{subscriptionId}/providers/Microsoft.Web/verifyHostingEnvironmentVnet", _endpoints[932]); - builder.AddEntry("/Applications/{applicationId}/$/GetServices/$/Create", _endpoints[933]); - builder.AddEntry("/Applications/{applicationId}/$/GetServices/$/CreateFromTemplate", _endpoints[934]); - builder.AddEntry("/Applications/{applicationName}/$/GetServiceGroups/$/CreateServiceGroupFromTemplate", _endpoints[935]); - builder.AddEntry("/Applications/{applicationName}/$/GetServices/$/CreateServiceGroup", _endpoints[936]); - builder.AddEntry("/Names/{nameId}/$/GetProperties/$/SubmitBatch", _endpoints[937]); - builder.AddEntry("/Services/{serviceName}/$/GetPartitions/$/Recover", _endpoints[938]); - builder.AddEntry("/subscriptions/{subscriptionId}/providers/Microsoft.Billing/invoices/latest", _endpoints[939]); - builder.AddEntry("/subscriptions/{subscriptionId}/providers/Microsoft.Consumption/pricesheets/default", _endpoints[940]); - builder.AddEntry("/subscriptions/{subscriptionId}/providers/Microsoft.Network/applicationGatewayAvailableSslOptions/default", _endpoints[941]); - builder.AddEntry("/subscriptions/{subscriptionId}/providers/Microsoft.Web/recommendations/reset", _endpoints[942]); - builder.AddEntry("/subscriptions/{subscriptionId}/providers/Microsoft.Addons/supportProviders/canonical/listSupportPlanInfo", _endpoints[943]); - builder.AddEntry("/subscriptions/{subscriptionId}/providers/microsoft.insights/eventtypes/management/values", _endpoints[944]); - builder.AddEntry("/subscriptions/{subscriptionId}/providers/Microsoft.Network/applicationGatewayAvailableSslOptions/default/predefinedPolicies", _endpoints[945]); - builder.AddEntry("/subscriptions/{subscriptionId}/providers/Microsoft.Network/applicationGatewayAvailableSslOptions/default/predefinedPolicies/{predefinedPolicyName}", _endpoints[946]); - builder.AddEntry("/subscriptions/{subscriptionId}/providers/Microsoft.Advisor/generateRecommendations/{operationId}", _endpoints[947]); - builder.AddEntry("/subscriptions/{subscriptionId}/providers/Microsoft.Authorization/locks/{lockName}", _endpoints[948]); - builder.AddEntry("/subscriptions/{subscriptionId}/providers/Microsoft.Authorization/policydefinitions/{policyDefinitionName}", _endpoints[949]); - builder.AddEntry("/subscriptions/{subscriptionId}/providers/Microsoft.Authorization/policySetDefinitions/{policySetDefinitionName}", _endpoints[950]); - builder.AddEntry("/subscriptions/{subscriptionId}/providers/Microsoft.Billing/billingPeriods/{billingPeriodName}", _endpoints[951]); - builder.AddEntry("/subscriptions/{subscriptionId}/providers/Microsoft.Billing/invoices/{invoiceName}", _endpoints[952]); - builder.AddEntry("/subscriptions/{subscriptionId}/providers/Microsoft.Consumption/budgets/{budgetName}", _endpoints[953]); - builder.AddEntry("/subscriptions/{subscriptionId}/providers/Microsoft.DomainRegistration/topLevelDomains/{name}", _endpoints[954]); - builder.AddEntry("/subscriptions/{subscriptionId}/providers/microsoft.gallery.admin/galleryItems/{galleryItemName}", _endpoints[955]); - builder.AddEntry("/subscriptions/{subscriptionId}/providers/microsoft.insights/logprofiles/{logProfileName}", _endpoints[956]); - builder.AddEntry("/subscriptions/{subscriptionId}/providers/Microsoft.Media/mediaservices/{accountName}", _endpoints[957]); - builder.AddEntry("/subscriptions/{subscriptionId}/providers/Microsoft.Security/autoProvisioningSettings/{settingName}", _endpoints[958]); - builder.AddEntry("/subscriptions/{subscriptionId}/providers/Microsoft.Security/locations/{ascLocation}", _endpoints[959]); - builder.AddEntry("/subscriptions/{subscriptionId}/providers/Microsoft.Security/pricings/{pricingName}", _endpoints[960]); - builder.AddEntry("/subscriptions/{subscriptionId}/providers/Microsoft.Security/workspaceSettings/{workspaceSettingName}", _endpoints[961]); - builder.AddEntry("/subscriptions/{subscriptionId}/providers/Microsoft.Subscriptions.Admin/delegatedProviders/{delegatedProvider}", _endpoints[962]); - builder.AddEntry("/subscriptions/{subscriptionId}/providers/Microsoft.Subscriptions.Admin/locations/{location}", _endpoints[963]); - builder.AddEntry("/subscriptions/{subscriptionId}/providers/Microsoft.Subscriptions.Admin/subscriptions/{subscription}", _endpoints[964]); - builder.AddEntry("/subscriptions/{subscriptionId}/providers/Microsoft.Web/ishostingenvironmentnameavailable/{name}", _endpoints[965]); - builder.AddEntry("/subscriptions/{subscriptionId}/providers/Microsoft.Addons/supportProviders/{providerName}/supportPlanTypes", _endpoints[966]); - builder.AddEntry("/subscriptions/{subscriptionId}/providers/Microsoft.AnalysisServices/locations/{location}/checkNameAvailability", _endpoints[967]); - builder.AddEntry("/subscriptions/{subscriptionId}/providers/Microsoft.Batch/locations/{locationName}/checkNameAvailability", _endpoints[968]); - builder.AddEntry("/subscriptions/{subscriptionId}/providers/Microsoft.Batch/locations/{locationName}/quotas", _endpoints[969]); - builder.AddEntry("/subscriptions/{subscriptionId}/providers/Microsoft.BatchAI/locations/{location}/usages", _endpoints[970]); - builder.AddEntry("/subscriptions/{subscriptionId}/providers/Microsoft.CognitiveServices/locations/{location}/checkSkuAvailability", _endpoints[971]); - builder.AddEntry("/subscriptions/{subscriptionId}/providers/Microsoft.Compute.Admin/locations/{location}/quotas", _endpoints[972]); - builder.AddEntry("/subscriptions/{subscriptionId}/providers/Microsoft.Compute/locations/{location}/publishers", _endpoints[973]); - builder.AddEntry("/subscriptions/{subscriptionId}/providers/Microsoft.Compute/locations/{location}/runCommands", _endpoints[974]); - builder.AddEntry("/subscriptions/{subscriptionId}/providers/Microsoft.Compute/locations/{location}/usages", _endpoints[975]); - builder.AddEntry("/subscriptions/{subscriptionId}/providers/Microsoft.Compute/locations/{location}/vmSizes", _endpoints[976]); - builder.AddEntry("/subscriptions/{subscriptionId}/providers/Microsoft.ContainerInstance/locations/{location}/usages", _endpoints[977]); - builder.AddEntry("/subscriptions/{subscriptionId}/providers/Microsoft.ContainerService/locations/{location}/orchestrators", _endpoints[978]); - builder.AddEntry("/subscriptions/{subscriptionId}/providers/Microsoft.DataBox/locations/{location}/availableSkus", _endpoints[979]); - builder.AddEntry("/subscriptions/{subscriptionId}/providers/Microsoft.DataBox/locations/{location}/validateAddress", _endpoints[980]); - builder.AddEntry("/subscriptions/{subscriptionId}/providers/Microsoft.DataFactory/locations/{locationId}/configureFactoryRepo", _endpoints[981]); - builder.AddEntry("/subscriptions/{subscriptionId}/providers/Microsoft.DataLakeAnalytics/locations/{location}/capability", _endpoints[982]); - builder.AddEntry("/subscriptions/{subscriptionId}/providers/Microsoft.DataLakeAnalytics/locations/{location}/checkNameAvailability", _endpoints[983]); - builder.AddEntry("/subscriptions/{subscriptionId}/providers/Microsoft.DataLakeStore/locations/{location}/capability", _endpoints[984]); - builder.AddEntry("/subscriptions/{subscriptionId}/providers/Microsoft.DataLakeStore/locations/{location}/checkNameAvailability", _endpoints[985]); - builder.AddEntry("/subscriptions/{subscriptionId}/providers/Microsoft.DataMigration/locations/{location}/checkNameAvailability", _endpoints[986]); - builder.AddEntry("/subscriptions/{subscriptionId}/providers/Microsoft.DataMigration/locations/{location}/usages", _endpoints[987]); - builder.AddEntry("/subscriptions/{subscriptionId}/providers/Microsoft.DBforMySQL/locations/{locationName}/performanceTiers", _endpoints[988]); - builder.AddEntry("/subscriptions/{subscriptionId}/providers/Microsoft.DBforPostgreSQL/locations/{locationName}/performanceTiers", _endpoints[989]); - builder.AddEntry("/subscriptions/{subscriptionId}/providers/Microsoft.DomainRegistration/topLevelDomains/{name}/listAgreements", _endpoints[990]); - builder.AddEntry("/subscriptions/{subscriptionId}/providers/Microsoft.EventGrid/locations/{location}/eventSubscriptions", _endpoints[991]); - builder.AddEntry("/subscriptions/{subscriptionId}/providers/Microsoft.EventGrid/topicTypes/{topicTypeName}/eventSubscriptions", _endpoints[992]); - builder.AddEntry("/subscriptions/{subscriptionId}/providers/Microsoft.EventHub/sku/{sku}/regions", _endpoints[993]); - builder.AddEntry("/subscriptions/{subscriptionId}/providers/Microsoft.Features/providers/{resourceProviderNamespace}/features", _endpoints[994]); - builder.AddEntry("/subscriptions/{subscriptionId}/providers/Microsoft.HDInsight/locations/{location}/capabilities", _endpoints[995]); - builder.AddEntry("/subscriptions/{subscriptionId}/providers/Microsoft.KeyVault.Admin/locations/{location}/quotas", _endpoints[996]); - builder.AddEntry("/subscriptions/{subscriptionId}/providers/Microsoft.Media/locations/{locationName}/checkNameAvailability", _endpoints[997]); - builder.AddEntry("/subscriptions/{subscriptionId}/providers/Microsoft.Network.Admin/locations/{location}/quotas", _endpoints[998]); - builder.AddEntry("/subscriptions/{subscriptionId}/providers/Microsoft.Network/locations/{location}/CheckDnsNameAvailability", _endpoints[999]); - builder.AddEntry("/subscriptions/{subscriptionId}/providers/Microsoft.Network/locations/{location}/usages", _endpoints[1000]); - builder.AddEntry("/subscriptions/{subscriptionId}/providers/Microsoft.Network/locations/{location}/virtualNetworkAvailableEndpointServices", _endpoints[1001]); - builder.AddEntry("/subscriptions/{subscriptionId}/providers/Microsoft.PolicyInsights/policyEvents/{policyEventsResource}/queryResults", _endpoints[1002]); - builder.AddEntry("/subscriptions/{subscriptionId}/providers/Microsoft.PolicyInsights/policyStates/{policyStatesResource}/queryResults", _endpoints[1003]); - builder.AddEntry("/subscriptions/{subscriptionId}/providers/Microsoft.PolicyInsights/policyStates/{policyStatesSummaryResource}/summarize", _endpoints[1004]); - builder.AddEntry("/subscriptions/{subscriptionId}/providers/Microsoft.PowerBI/locations/{location}/checkNameAvailability", _endpoints[1005]); - builder.AddEntry("/Subscriptions/{subscriptionId}/providers/Microsoft.RecoveryServices/locations/{azureRegion}/backupPreValidateProtection", _endpoints[1006]); - builder.AddEntry("/Subscriptions/{subscriptionId}/providers/Microsoft.RecoveryServices/locations/{azureRegion}/backupStatus", _endpoints[1007]); - builder.AddEntry("/Subscriptions/{subscriptionId}/providers/Microsoft.RecoveryServices/locations/{azureRegion}/backupValidateFeatures", _endpoints[1008]); - builder.AddEntry("/subscriptions/{subscriptionId}/providers/Microsoft.Security/locations/{ascLocation}/alerts", _endpoints[1009]); - builder.AddEntry("/subscriptions/{subscriptionId}/providers/Microsoft.Security/locations/{ascLocation}/discoveredSecuritySolutions", _endpoints[1010]); - builder.AddEntry("/subscriptions/{subscriptionId}/providers/Microsoft.Security/locations/{ascLocation}/ExternalSecuritySolutions", _endpoints[1011]); - builder.AddEntry("/subscriptions/{subscriptionId}/providers/Microsoft.Security/locations/{ascLocation}/jitNetworkAccessPolicies", _endpoints[1012]); - builder.AddEntry("/subscriptions/{subscriptionId}/providers/Microsoft.Security/locations/{ascLocation}/tasks", _endpoints[1013]); - builder.AddEntry("/subscriptions/{subscriptionId}/providers/Microsoft.ServiceBus/sku/{sku}/regions", _endpoints[1014]); - builder.AddEntry("/subscriptions/{subscriptionId}/providers/Microsoft.ServiceFabric/locations/{location}/clusterVersions", _endpoints[1015]); - builder.AddEntry("/subscriptions/{subscriptionId}/providers/Microsoft.SignalRService/locations/{location}/checkNameAvailability", _endpoints[1016]); - builder.AddEntry("/subscriptions/{subscriptionId}/providers/Microsoft.Sql/locations/{locationName}/capabilities", _endpoints[1017]); - builder.AddEntry("/subscriptions/{subscriptionId}/providers/Microsoft.Sql/locations/{locationName}/longTermRetentionBackups", _endpoints[1018]); - builder.AddEntry("/subscriptions/{subscriptionId}/providers/Microsoft.Sql/locations/{locationName}/syncDatabaseIds", _endpoints[1019]); - builder.AddEntry("/subscriptions/{subscriptionId}/providers/Microsoft.Sql/locations/{locationName}/usages", _endpoints[1020]); - builder.AddEntry("/subscriptions/{subscriptionId}/providers/Microsoft.Storage.Admin/locations/{location}/quotas", _endpoints[1021]); - builder.AddEntry("/subscriptions/{subscriptionId}/providers/Microsoft.Storage/locations/{location}/usages", _endpoints[1022]); - builder.AddEntry("/subscriptions/{subscriptionId}/providers/Microsoft.StreamAnalytics/locations/{location}/quotas", _endpoints[1023]); - builder.AddEntry("/subscriptions/{subscriptionId}/providers/Microsoft.Subscriptions.Admin/delegatedProviders/{delegatedProviderSubscriptionId}/offers", _endpoints[1024]); - builder.AddEntry("/subscriptions/{subscriptionId}/providers/Microsoft.Subscriptions.Admin/locations/{location}/quotas", _endpoints[1025]); - builder.AddEntry("/subscriptions/{subscriptionId}/providers/Microsoft.Subscriptions.Admin/subscriptions/{targetSubscriptionId}/acquiredPlans", _endpoints[1026]); - builder.AddEntry("/subscriptions/{subscriptionId}/providers/Microsoft.Web/locations/{location}/connectionGatewayInstallations", _endpoints[1027]); - builder.AddEntry("/subscriptions/{subscriptionId}/providers/Microsoft.Web/locations/{location}/extractApiDefinitionFromWsdl", _endpoints[1028]); - builder.AddEntry("/subscriptions/{subscriptionId}/providers/Microsoft.Web/locations/{location}/listWsdlInterfaces", _endpoints[1029]); - builder.AddEntry("/subscriptions/{subscriptionId}/providers/Microsoft.Web/locations/{location}/managedApis", _endpoints[1030]); - builder.AddEntry("/subscriptions/{subscriptionId}/providers/Microsoft.Web/recommendations/{name}/disable", _endpoints[1031]); - builder.AddEntry("/subscriptions/{subscriptionId}/providers/Microsoft.Compute.Admin/locations/{location}/artifactTypes/platformImage", _endpoints[1032]); - builder.AddEntry("/subscriptions/{subscriptionId}/providers/Microsoft.Compute.Admin/locations/{location}/artifactTypes/VMExtension", _endpoints[1033]); - builder.AddEntry("/subscriptions/{subscriptionId}/providers/Microsoft.Billing/billingPeriods/{billingPeriodName}/providers/Microsoft.Consumption/marketplaces", _endpoints[1034]); - builder.AddEntry("/subscriptions/{subscriptionId}/providers/Microsoft.Billing/billingPeriods/{billingPeriodName}/providers/Microsoft.Consumption/usageDetails", _endpoints[1035]); - builder.AddEntry("/subscriptions/{subscriptionId}/providers/Microsoft.Compute/locations/{location}/logAnalytics/apiAccess/getRequestRateByInterval", _endpoints[1036]); - builder.AddEntry("/subscriptions/{subscriptionId}/providers/Microsoft.Compute/locations/{location}/logAnalytics/apiAccess/getThrottledRequests", _endpoints[1037]); - builder.AddEntry("/subscriptions/{subscriptionId}/providers/Microsoft.Billing/billingPeriods/{billingPeriodName}/providers/Microsoft.Consumption/pricesheets/default", _endpoints[1038]); - builder.AddEntry("/subscriptions/{subscriptionId}/providers/Microsoft.Compute.Admin/locations/{location}/artifactTypes/VMExtension/publishers/{publisher}/types/{type}/versions/{version}", _endpoints[1039]); - builder.AddEntry("/subscriptions/{subscriptionId}/providers/Microsoft.Compute.Admin/locations/{location}/artifactTypes/platformImage/publishers/{publisher}/offers/{offer}/skus/{sku}/versions/{version}", _endpoints[1040]); - builder.AddEntry("/subscriptions/{subscriptionId}/providers/Microsoft.Addons/supportProviders/{providerName}/supportPlanTypes/{planTypeName}", _endpoints[1041]); - builder.AddEntry("/subscriptions/{subscriptionId}/providers/Microsoft.AnalysisServices/locations/{location}/operationresults/{operationId}", _endpoints[1042]); - builder.AddEntry("/subscriptions/{subscriptionId}/providers/Microsoft.AnalysisServices/locations/{location}/operationstatuses/{operationId}", _endpoints[1043]); - builder.AddEntry("/subscriptions/{subscriptionId}/providers/Microsoft.Compute.Admin/locations/{location}/quotas/{quotaName}", _endpoints[1044]); - builder.AddEntry("/subscriptions/{subscriptionId}/providers/Microsoft.Compute/locations/{location}/runCommands/{commandId}", _endpoints[1045]); - builder.AddEntry("/subscriptions/{subscriptionId}/providers/Microsoft.DevTestLab/locations/{locationName}/operations/{name}", _endpoints[1046]); - builder.AddEntry("/subscriptions/{subscriptionId}/providers/Microsoft.Features/providers/{resourceProviderNamespace}/features/{featureName}", _endpoints[1047]); - builder.AddEntry("/subscriptions/{subscriptionId}/providers/Microsoft.KeyVault/locations/{location}/deletedVaults/{vaultName}", _endpoints[1048]); - builder.AddEntry("/subscriptions/{subscriptionId}/providers/Microsoft.Network.Admin/locations/{location}/quotas/{resourceName}", _endpoints[1049]); - builder.AddEntry("/subscriptions/{subscriptionId}/providers/Microsoft.Security/locations/{ascLocation}/alerts/{alertName}", _endpoints[1050]); - builder.AddEntry("/subscriptions/{subscriptionId}/providers/Microsoft.Security/locations/{ascLocation}/tasks/{taskName}", _endpoints[1051]); - builder.AddEntry("/subscriptions/{subscriptionId}/providers/Microsoft.ServiceFabric/locations/{location}/clusterVersions/{clusterVersion}", _endpoints[1052]); - builder.AddEntry("/subscriptions/{subscriptionId}/providers/Microsoft.Sql/locations/{locationName}/usages/{usageName}", _endpoints[1053]); - builder.AddEntry("/subscriptions/{subscriptionId}/providers/Microsoft.Storage.Admin/locations/{location}/quotas/{quotaName}", _endpoints[1054]); - builder.AddEntry("/subscriptions/{subscriptionId}/providers/Microsoft.Subscriptions.Admin/delegatedProviders/{delegatedProviderSubscriptionId}/offers/{offer}", _endpoints[1055]); - builder.AddEntry("/subscriptions/{subscriptionId}/providers/Microsoft.Subscriptions.Admin/locations/{location}/quotas/{quota}", _endpoints[1056]); - builder.AddEntry("/subscriptions/{subscriptionId}/providers/Microsoft.Subscriptions.Admin/subscriptions/{targetSubscriptionId}/acquiredPlans/{planAcquisitionId}", _endpoints[1057]); - builder.AddEntry("/subscriptions/{subscriptionId}/providers/Microsoft.Web/locations/{location}/connectionGatewayInstallations/{gatewayId}", _endpoints[1058]); - builder.AddEntry("/subscriptions/{subscriptionId}/providers/Microsoft.Web/locations/{location}/managedApis/{apiName}", _endpoints[1059]); - builder.AddEntry("/subscriptions/{subscriptionId}/providers/Microsoft.EventGrid/locations/{location}/topicTypes/{topicTypeName}/eventSubscriptions", _endpoints[1060]); - builder.AddEntry("/subscriptions/{subscriptionId}/providers/Microsoft.Features/providers/{resourceProviderNamespace}/features/{featureName}/register", _endpoints[1061]); - builder.AddEntry("/subscriptions/{subscriptionId}/providers/Microsoft.KeyVault/locations/{location}/deletedVaults/{vaultName}/purge", _endpoints[1062]); - builder.AddEntry("/subscriptions/{subscriptionId}/providers/Microsoft.ServiceFabric/locations/{location}/environments/{environment}/clusterVersions", _endpoints[1063]); - builder.AddEntry("/subscriptions/{subscriptionId}/providers/Microsoft.Sql/locations/{locationName}/longTermRetentionServers/{longTermRetentionServerName}/longTermRetentionBackups", _endpoints[1064]); - builder.AddEntry("/subscriptions/{subscriptionId}/providers/Microsoft.Sql/locations/{locationName}/managedDatabaseRestoreAzureAsyncOperation/{operationId}/completeRestore", _endpoints[1065]); - builder.AddEntry("/subscriptions/{subscriptionId}/providers/Microsoft.Compute/locations/{location}/publishers/{publisherName}/artifacttypes/vmextension/types", _endpoints[1066]); - builder.AddEntry("/subscriptions/{subscriptionId}/providers/Microsoft.Compute/locations/{location}/publishers/{publisherName}/artifacttypes/vmimage/offers", _endpoints[1067]); - builder.AddEntry("/subscriptions/{subscriptionId}/providers/Microsoft.Compute/locations/{location}/publishers/{publisherName}/artifacttypes/vmextension/types/{type}/versions", _endpoints[1068]); - builder.AddEntry("/subscriptions/{subscriptionId}/providers/Microsoft.Compute/locations/{location}/publishers/{publisherName}/artifacttypes/vmimage/offers/{offer}/skus", _endpoints[1069]); - builder.AddEntry("/subscriptions/{subscriptionId}/providers/Microsoft.Compute/locations/{location}/publishers/{publisherName}/artifacttypes/vmextension/types/{type}/versions/{version}", _endpoints[1070]); - builder.AddEntry("/subscriptions/{subscriptionId}/providers/Microsoft.Compute/locations/{location}/publishers/{publisherName}/artifacttypes/vmimage/offers/{offer}/skus/{skus}/versions", _endpoints[1071]); - builder.AddEntry("/subscriptions/{subscriptionId}/providers/Microsoft.Compute/locations/{location}/publishers/{publisherName}/artifacttypes/vmimage/offers/{offer}/skus/{skus}/versions/{version}", _endpoints[1072]); - builder.AddEntry("/subscriptions/{subscriptionId}/providers/Microsoft.ServiceFabric/locations/{location}/environments/{environment}/clusterVersions/{clusterVersion}", _endpoints[1073]); - builder.AddEntry("/subscriptions/{subscriptionId}/providers/Microsoft.Sql/locations/{locationName}/longTermRetentionServers/{longTermRetentionServerName}/longTermRetentionDatabases/{longTermRetentionDatabaseName}/longTermRetentionBackups", _endpoints[1074]); - builder.AddEntry("/subscriptions/{subscriptionId}/providers/Microsoft.Sql/locations/{locationName}/longTermRetentionServers/{longTermRetentionServerName}/longTermRetentionDatabases/{longTermRetentionDatabaseName}/longTermRetentionBackups/{backupName}", _endpoints[1075]); - builder.AddEntry("/subscriptions/{subscriptionId}/providers/Microsoft.MarketplaceOrdering/offerTypes/{offerType}/publishers/{publisherId}/offers/{offerId}/plans/{planId}/agreements/current", _endpoints[1076]); - builder.AddEntry("/subscriptions/{subscriptionId}/providers/Microsoft.Security/locations/{ascLocation}/alerts/{alertName}/{alertUpdateActionType}", _endpoints[1077]); - builder.AddEntry("/subscriptions/{subscriptionId}/providers/Microsoft.Security/locations/{ascLocation}/tasks/{taskName}/{taskUpdateActionType}", _endpoints[1078]); - builder.AddEntry("/Applications/{applicationId}/$/GetServices/{serviceId}", _endpoints[1079]); - builder.AddEntry("/ApplicationTypes/{applicationTypeName}/$/GetServiceTypes/{serviceTypeName}", _endpoints[1080]); - builder.AddEntry("/Nodes/{nodeName}/$/GetApplications/{applicationId}", _endpoints[1081]); - builder.AddEntry("/Partitions/{partitionId}/$/GetReplicas/{replicaId}", _endpoints[1082]); - builder.AddEntry("/Services/{serviceName}/$/GetPartitions/{partitionId}", _endpoints[1083]); - builder.AddEntry("/Applications/{applicationName}/$/GetServiceGroups/{serviceName}/$/Delete", _endpoints[1084]); - builder.AddEntry("/Applications/{applicationName}/$/GetServices/{serviceName}/$/GetServiceGroupDescription", _endpoints[1085]); - builder.AddEntry("/Applications/{applicationName}/$/GetServices/{serviceName}/$/GetServiceGroupMembers", _endpoints[1086]); - builder.AddEntry("/Applications/{applicationName}/$/GetServices/{serviceName}/$/UpdateServiceGroup", _endpoints[1087]); - builder.AddEntry("/Nodes/{nodeName}/$/GetApplications/{applicationId}/$/GetCodePackages", _endpoints[1088]); - builder.AddEntry("/Nodes/{nodeName}/$/GetApplications/{applicationId}/$/GetHealth", _endpoints[1089]); - builder.AddEntry("/Nodes/{nodeName}/$/GetApplications/{applicationId}/$/GetReplicas", _endpoints[1090]); - builder.AddEntry("/Nodes/{nodeName}/$/GetApplications/{applicationId}/$/GetServicePackages", _endpoints[1091]); - builder.AddEntry("/Nodes/{nodeName}/$/GetApplications/{applicationId}/$/GetServiceTypes", _endpoints[1092]); - builder.AddEntry("/Nodes/{nodeName}/$/GetApplications/{applicationId}/$/ReportHealth", _endpoints[1093]); - builder.AddEntry("/Nodes/{nodeName}/$/GetPartitions/{partitionId}/$/GetReplicas", _endpoints[1094]); - builder.AddEntry("/Partitions/{partitionId}/$/GetReplicas/{replicaId}/$/GetHealth", _endpoints[1095]); - builder.AddEntry("/Partitions/{partitionId}/$/GetReplicas/{replicaId}/$/GetLoadInformation", _endpoints[1096]); - builder.AddEntry("/Partitions/{partitionId}/$/GetReplicas/{replicaId}/$/ReportHealth", _endpoints[1097]); - builder.AddEntry("/Nodes/{nodeName}/$/GetApplications/{applicationId}/$/GetCodePackages/$/ContainerApi", _endpoints[1098]); - builder.AddEntry("/Nodes/{nodeName}/$/GetApplications/{applicationId}/$/GetCodePackages/$/ContainerLogs", _endpoints[1099]); - builder.AddEntry("/Nodes/{nodeName}/$/GetApplications/{applicationId}/$/GetCodePackages/$/Restart", _endpoints[1100]); - builder.AddEntry("/Nodes/{nodeName}/$/GetApplications/{applicationId}/$/GetServicePackages/{servicePackageName}", _endpoints[1101]); - builder.AddEntry("/Nodes/{nodeName}/$/GetApplications/{applicationId}/$/GetServiceTypes/{serviceTypeName}", _endpoints[1102]); - builder.AddEntry("/Nodes/{nodeName}/$/GetApplications/{applicationId}/$/GetServicePackages/{servicePackageName}/$/GetHealth", _endpoints[1103]); - builder.AddEntry("/Nodes/{nodeName}/$/GetApplications/{applicationId}/$/GetServicePackages/{servicePackageName}/$/ReportHealth", _endpoints[1104]); - builder.AddEntry("/Nodes/{nodeName}/$/GetPartitions/{partitionId}/$/GetReplicas/{replicaId}/$/Delete", _endpoints[1105]); - builder.AddEntry("/Nodes/{nodeName}/$/GetPartitions/{partitionId}/$/GetReplicas/{replicaId}/$/GetDetail", _endpoints[1106]); - builder.AddEntry("/Nodes/{nodeName}/$/GetPartitions/{partitionId}/$/GetReplicas/{replicaId}/$/Restart", _endpoints[1107]); - builder.AddEntry("/apis/{apiId}/operations/{operationId}", _endpoints[1108]); - builder.AddEntry("/apis/{apiId}/policies/{policyId}", _endpoints[1109]); - builder.AddEntry("/apis/{apiId}/schemas/{schemaId}", _endpoints[1110]); - builder.AddEntry("/apps/{appId}/events/{eventType}", _endpoints[1111]); - builder.AddEntry("/apps/{appId}/metrics/{metricId}", _endpoints[1112]); - builder.AddEntry("/apps/{appId}/versions/{versionId}/", _endpoints[1113]); - builder.AddEntry("/delegatedProviders/{delegatedProviderId}/offers/{offerName}", _endpoints[1114]); - builder.AddEntry("/deletedstorage/{storage-account-name}/sas/{sas-definition-name}", _endpoints[1115]); - builder.AddEntry("/facelists/{faceListId}/persistedFaces/{persistedFaceId}", _endpoints[1116]); - builder.AddEntry("/groups/{groupId}/users/{uid}", _endpoints[1117]); - builder.AddEntry("/jobs/{jobId}/tasks/{taskId}", _endpoints[1118]); - builder.AddEntry("/persongroups/{personGroupId}/persons/{personId}", _endpoints[1119]); - builder.AddEntry("/pools/{poolId}/nodes/{nodeId}", _endpoints[1120]); - builder.AddEntry("/products/{productId}/apis/{apiId}", _endpoints[1121]); - builder.AddEntry("/products/{productId}/groups/{groupId}", _endpoints[1122]); - builder.AddEntry("/products/{productId}/policies/{policyId}", _endpoints[1123]); - builder.AddEntry("/projects/{projectId}/iterations/{iterationId}", _endpoints[1124]); - builder.AddEntry("/projects/{projectId}/tags/{tagId}", _endpoints[1125]); - builder.AddEntry("/storage/{storage-account-name}/sas/{sas-definition-name}", _endpoints[1126]); - builder.AddEntry("/subscriptions/{subscriptionId}/providers/{resourceProviderNamespace}", _endpoints[1127]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}", _endpoints[1128]); - builder.AddEntry("/subscriptions/{subscriptionId}/tagNames/{tagName}", _endpoints[1129]); - builder.AddEntry("/apis/{apiId}/operations/{operationId}/policies", _endpoints[1130]); - builder.AddEntry("/apps/{appId}/versions/{versionId}/clone", _endpoints[1131]); - builder.AddEntry("/apps/{appId}/versions/{versionId}/closedlists", _endpoints[1132]); - builder.AddEntry("/apps/{appId}/versions/{versionId}/compositeentities", _endpoints[1133]); - builder.AddEntry("/apps/{appId}/versions/{versionId}/customprebuiltdomains", _endpoints[1134]); - builder.AddEntry("/apps/{appId}/versions/{versionId}/customprebuiltentities", _endpoints[1135]); - builder.AddEntry("/apps/{appId}/versions/{versionId}/customprebuiltintents", _endpoints[1136]); - builder.AddEntry("/apps/{appId}/versions/{versionId}/customprebuiltmodels", _endpoints[1137]); - builder.AddEntry("/apps/{appId}/versions/{versionId}/entities", _endpoints[1138]); - builder.AddEntry("/apps/{appId}/versions/{versionId}/example", _endpoints[1139]); - builder.AddEntry("/apps/{appId}/versions/{versionId}/examples", _endpoints[1140]); - builder.AddEntry("/apps/{appId}/versions/{versionId}/export", _endpoints[1141]); - builder.AddEntry("/apps/{appId}/versions/{versionId}/features", _endpoints[1142]); - builder.AddEntry("/apps/{appId}/versions/{versionId}/hierarchicalentities", _endpoints[1143]); - builder.AddEntry("/apps/{appId}/versions/{versionId}/intents", _endpoints[1144]); - builder.AddEntry("/apps/{appId}/versions/{versionId}/listprebuilts", _endpoints[1145]); - builder.AddEntry("/apps/{appId}/versions/{versionId}/models", _endpoints[1146]); - builder.AddEntry("/apps/{appId}/versions/{versionId}/patternanyentities", _endpoints[1147]); - builder.AddEntry("/apps/{appId}/versions/{versionId}/patternrule", _endpoints[1148]); - builder.AddEntry("/apps/{appId}/versions/{versionId}/patternrules", _endpoints[1149]); - builder.AddEntry("/apps/{appId}/versions/{versionId}/patterns", _endpoints[1150]); - builder.AddEntry("/apps/{appId}/versions/{versionId}/phraselists", _endpoints[1151]); - builder.AddEntry("/apps/{appId}/versions/{versionId}/prebuilts", _endpoints[1152]); - builder.AddEntry("/apps/{appId}/versions/{versionId}/regexentities", _endpoints[1153]); - builder.AddEntry("/apps/{appId}/versions/{versionId}/suggest", _endpoints[1154]); - builder.AddEntry("/apps/{appId}/versions/{versionId}/train", _endpoints[1155]); - builder.AddEntry("/deletedstorage/{storage-account-name}/sas/{sas-definition-name}/recover", _endpoints[1156]); - builder.AddEntry("/jobs/{jobId}/tasks/{taskId}/files", _endpoints[1157]); - builder.AddEntry("/jobs/{jobId}/tasks/{taskId}/reactivate", _endpoints[1158]); - builder.AddEntry("/jobs/{jobId}/tasks/{taskId}/subtasksinfo", _endpoints[1159]); - builder.AddEntry("/jobs/{jobId}/tasks/{taskId}/terminate", _endpoints[1160]); - builder.AddEntry("/persongroups/{personGroupId}/persons/{personId}/persistedFaces", _endpoints[1161]); - builder.AddEntry("/pools/{poolId}/nodes/{nodeId}/disablescheduling", _endpoints[1162]); - builder.AddEntry("/pools/{poolId}/nodes/{nodeId}/enablescheduling", _endpoints[1163]); - builder.AddEntry("/pools/{poolId}/nodes/{nodeId}/files", _endpoints[1164]); - builder.AddEntry("/pools/{poolId}/nodes/{nodeId}/rdp", _endpoints[1165]); - builder.AddEntry("/pools/{poolId}/nodes/{nodeId}/reboot", _endpoints[1166]); - builder.AddEntry("/pools/{poolId}/nodes/{nodeId}/reimage", _endpoints[1167]); - builder.AddEntry("/pools/{poolId}/nodes/{nodeId}/remoteloginsettings", _endpoints[1168]); - builder.AddEntry("/pools/{poolId}/nodes/{nodeId}/uploadbatchservicelogs", _endpoints[1169]); - builder.AddEntry("/pools/{poolId}/nodes/{nodeId}/users", _endpoints[1170]); - builder.AddEntry("/projects/{projectId}/iterations/{iterationId}/export", _endpoints[1171]); - builder.AddEntry("/projects/{projectId}/iterations/{iterationId}/performance", _endpoints[1172]); - builder.AddEntry("/subscriptions/{subscriptionId}/providers/{resourceProviderNamespace}/register", _endpoints[1173]); - builder.AddEntry("/subscriptions/{subscriptionId}/providers/{resourceProviderNamespace}/unregister", _endpoints[1174]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/exportTemplate", _endpoints[1175]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/moveResources", _endpoints[1176]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/resources", _endpoints[1177]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/validateMoveResources", _endpoints[1178]); - builder.AddEntry("/projects/{projectId}/iterations/{iterationId}/performance/images", _endpoints[1179]); - builder.AddEntry("/projects/{projectId}/iterations/{iterationId}/performance/images/count", _endpoints[1180]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroup/{resourceGroupName}/providers/microsoft.insights/workbooks", _endpoints[1181]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{groupName}/providers/Microsoft.DataMigration/services", _endpoints[1182]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroup}/providers/Microsoft.Advisor/configurations", _endpoints[1183]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourcegroups/{resourceGroup}/providers/Microsoft.AzureBridge.Admin/activations", _endpoints[1184]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroup}/providers/Microsoft.AzureStack/registrations", _endpoints[1185]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AAD/domainServices", _endpoints[1186]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AnalysisServices/servers", _endpoints[1187]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service", _endpoints[1188]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Authorization/locks", _endpoints[1189]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.Authorization/permissions", _endpoints[1190]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Authorization/policyAssignments", _endpoints[1191]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Authorization/roleAssignments", _endpoints[1192]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Automation/automationAccounts", _endpoints[1193]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.Backup.Admin/backupLocations", _endpoints[1194]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Batch/batchAccounts", _endpoints[1195]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.BatchAI/clusters", _endpoints[1196]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.BatchAI/fileServers", _endpoints[1197]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.BatchAI/jobs", _endpoints[1198]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.BatchAI/workspaces", _endpoints[1199]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.BotService/botServices", _endpoints[1200]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Cache/Redis", _endpoints[1201]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Cdn/profiles", _endpoints[1202]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.CertificateRegistration/certificateOrders", _endpoints[1203]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.CognitiveServices/accounts", _endpoints[1204]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/availabilitySets", _endpoints[1205]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/disks", _endpoints[1206]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/galleries", _endpoints[1207]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/images", _endpoints[1208]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/snapshots", _endpoints[1209]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/virtualMachines", _endpoints[1210]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/virtualMachineScaleSets", _endpoints[1211]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Consumption/budgets", _endpoints[1212]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerInstance/containerGroups", _endpoints[1213]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerRegistry/registries", _endpoints[1214]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/containerServices", _endpoints[1215]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters", _endpoints[1216]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.CustomerInsights/hubs", _endpoints[1217]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataBox/jobs", _endpoints[1218]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Databricks/workspaces", _endpoints[1219]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataCatalog/catalogs", _endpoints[1220]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataFactory/factories", _endpoints[1221]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataLakeAnalytics/accounts", _endpoints[1222]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataLakeStore/accounts", _endpoints[1223]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBforMySQL/servers", _endpoints[1224]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBforPostgreSQL/servers", _endpoints[1225]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Devices/IotHubs", _endpoints[1226]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Devices/provisioningServices", _endpoints[1227]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DevTestLab/labs", _endpoints[1228]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DevTestLab/schedules", _endpoints[1229]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts", _endpoints[1230]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DomainRegistration/domains", _endpoints[1231]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.EventGrid/eventSubscriptions", _endpoints[1232]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.EventGrid/topics", _endpoints[1233]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.EventHub/clusters", _endpoints[1234]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.EventHub/namespaces", _endpoints[1235]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Fabric.Admin/fabricLocations", _endpoints[1236]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.HanaOnAzure/hanaInstances", _endpoints[1237]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.HDInsight/clusters", _endpoints[1238]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ImportExport/jobs", _endpoints[1239]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.InfrastructureInsights.Admin/regionHealths", _endpoints[1240]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/microsoft.insights/actionGroups", _endpoints[1241]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/microsoft.insights/activityLogAlerts", _endpoints[1242]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/microsoft.insights/alertrules", _endpoints[1243]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/microsoft.insights/autoscalesettings", _endpoints[1244]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Insights/components", _endpoints[1245]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Insights/metricAlerts", _endpoints[1246]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/microsoft.insights/scheduledQueryRules", _endpoints[1247]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Insights/webtests", _endpoints[1248]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.IoTCentral/IoTApps", _endpoints[1249]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.IoTSpaces/Graph", _endpoints[1250]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.KeyVault/vaults", _endpoints[1251]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Logic/integrationAccounts", _endpoints[1252]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Logic/workflows", _endpoints[1253]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.MachineLearning/commitmentPlans", _endpoints[1254]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.MachineLearning/webServices", _endpoints[1255]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.MachineLearning/workspaces", _endpoints[1256]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.MachineLearningCompute/operationalizationClusters", _endpoints[1257]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.MachineLearningExperimentation/accounts", _endpoints[1258]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.MachineLearningServices/workspaces", _endpoints[1259]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ManagedIdentity/userAssignedIdentities", _endpoints[1260]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Maps/accounts", _endpoints[1261]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Media/mediaservices", _endpoints[1262]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.Migrate/projects", _endpoints[1263]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/applicationGateways", _endpoints[1264]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/applicationSecurityGroups", _endpoints[1265]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/connections", _endpoints[1266]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/ddosProtectionPlans", _endpoints[1267]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/dnsZones", _endpoints[1268]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/expressRouteCircuits", _endpoints[1269]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/expressRouteCrossConnections", _endpoints[1270]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/loadBalancers", _endpoints[1271]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/localNetworkGateways", _endpoints[1272]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkInterfaces", _endpoints[1273]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkSecurityGroups", _endpoints[1274]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkWatchers", _endpoints[1275]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/publicIPAddresses", _endpoints[1276]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/routeFilters", _endpoints[1277]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/routeTables", _endpoints[1278]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/trafficmanagerprofiles", _endpoints[1279]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworkGateways", _endpoints[1280]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworks", _endpoints[1281]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.NotificationHubs/namespaces", _endpoints[1282]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.OperationalInsights/workspaces", _endpoints[1283]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.OperationsManagement/solutions", _endpoints[1284]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.PowerBI/workspaceCollections", _endpoints[1285]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.PowerBIDedicated/capacities", _endpoints[1286]); - builder.AddEntry("/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/operations", _endpoints[1287]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults", _endpoints[1288]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Relay/namespaces", _endpoints[1289]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ResourceHealth/availabilityStatuses", _endpoints[1290]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.Resources/deployments/", _endpoints[1291]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Scheduler/jobCollections", _endpoints[1292]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Search/searchServices", _endpoints[1293]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Security/alerts", _endpoints[1294]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Security/jitNetworkAccessPolicies", _endpoints[1295]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Security/pricings", _endpoints[1296]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Security/securityContacts", _endpoints[1297]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Security/workspaceSettings", _endpoints[1298]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ServerManagement/gateways", _endpoints[1299]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ServerManagement/nodes", _endpoints[1300]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ServiceBus/namespaces", _endpoints[1301]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.ServiceFabric/clusters", _endpoints[1302]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.SignalRService/SignalR", _endpoints[1303]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Solutions/applianceDefinitions", _endpoints[1304]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Solutions/appliances", _endpoints[1305]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Solutions/applicationDefinitions", _endpoints[1306]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Solutions/applications", _endpoints[1307]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/managedInstances", _endpoints[1308]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers", _endpoints[1309]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.Storage.Admin/farms", _endpoints[1310]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Storage/storageAccounts", _endpoints[1311]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.StorSimple/managers", _endpoints[1312]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.StreamAnalytics/streamingjobs", _endpoints[1313]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.Subscriptions.Admin/directoryTenants", _endpoints[1314]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.Subscriptions.Admin/offers", _endpoints[1315]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.Subscriptions.Admin/plans", _endpoints[1316]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.TimeSeriesInsights/environments", _endpoints[1317]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.Update.Admin/updateLocations/", _endpoints[1318]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/microsoft.visualstudio/account", _endpoints[1319]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/certificates", _endpoints[1320]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/classicMobileServices", _endpoints[1321]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/connectionGateways", _endpoints[1322]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/connections", _endpoints[1323]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/csrs", _endpoints[1324]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/customApis", _endpoints[1325]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/deletedSites", _endpoints[1326]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/hostingEnvironments", _endpoints[1327]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/managedHostingEnvironments", _endpoints[1328]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/resourceHealthMetadata", _endpoints[1329]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/serverfarms", _endpoints[1330]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites", _endpoints[1331]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/validate", _endpoints[1332]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.BotService/BotServices/listServiceProviders", _endpoints[1333]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroup/{resourceGroupName}/providers/microsoft.insights/workbooks/{resourceName}", _endpoints[1334]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{groupName}/providers/Microsoft.DataMigration/services/{serviceName}", _endpoints[1335]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourcegroups/{resourceGroup}/providers/Microsoft.AzureBridge.Admin/activations/{activationName}", _endpoints[1336]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroup}/providers/Microsoft.AzureStack/registrations/{registrationName}", _endpoints[1337]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AAD/domainServices/{domainServiceName}", _endpoints[1338]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AnalysisServices/servers/{serverName}", _endpoints[1339]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}", _endpoints[1340]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Authorization/locks/{lockName}", _endpoints[1341]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Automation/automationAccounts/{automationAccountName}", _endpoints[1342]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.Backup.Admin/backupLocations/{location}", _endpoints[1343]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Batch/batchAccounts/{accountName}", _endpoints[1344]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.BatchAI/clusters/{clusterName}", _endpoints[1345]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.BatchAI/fileServers/{fileServerName}", _endpoints[1346]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.BatchAI/jobs/{jobName}", _endpoints[1347]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.BatchAI/workspaces/{workspaceName}", _endpoints[1348]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.BotService/botServices/{resourceName}", _endpoints[1349]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Cache/Redis/{name}", _endpoints[1350]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Cdn/profiles/{profileName}", _endpoints[1351]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.CertificateRegistration/certificateOrders/{name}", _endpoints[1352]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.CognitiveServices/accounts/{accountName}", _endpoints[1353]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/availabilitySets/{availabilitySetName}", _endpoints[1354]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/disks/{diskName}", _endpoints[1355]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/galleries/{galleryName}", _endpoints[1356]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/images/{imageName}", _endpoints[1357]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/snapshots/{snapshotName}", _endpoints[1358]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/virtualMachines/{vmName}", _endpoints[1359]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/virtualMachineScaleSets/{vmScaleSetName}", _endpoints[1360]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Consumption/budgets/{budgetName}", _endpoints[1361]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerInstance/containerGroups/{containerGroupName}", _endpoints[1362]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerRegistry/registries/{registryName}", _endpoints[1363]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/containerServices/{containerServiceName}", _endpoints[1364]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}", _endpoints[1365]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.CustomerInsights/hubs/{hubName}", _endpoints[1366]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataBox/jobs/{jobName}", _endpoints[1367]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Databricks/workspaces/{workspaceName}", _endpoints[1368]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataCatalog/catalogs/{catalogName}", _endpoints[1369]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataFactory/factories/{factoryName}", _endpoints[1370]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataLakeAnalytics/accounts/{accountName}", _endpoints[1371]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataLakeStore/accounts/{accountName}", _endpoints[1372]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBforMySQL/servers/{serverName}", _endpoints[1373]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBforPostgreSQL/servers/{serverName}", _endpoints[1374]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Devices/IotHubs/{resourceName}", _endpoints[1375]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Devices/provisioningServices/{provisioningServiceName}", _endpoints[1376]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DevTestLab/labs/{name}", _endpoints[1377]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DevTestLab/schedules/{name}", _endpoints[1378]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}", _endpoints[1379]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DomainRegistration/domains/{domainName}", _endpoints[1380]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.EventGrid/topics/{topicName}", _endpoints[1381]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.EventHub/clusters/{clusterName}", _endpoints[1382]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.EventHub/namespaces/{namespaceName}", _endpoints[1383]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Fabric.Admin/fabricLocations/{fabricLocation}", _endpoints[1384]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.HanaOnAzure/hanaInstances/{hanaInstanceName}", _endpoints[1385]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.HDInsight/clusters/{clusterName}", _endpoints[1386]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ImportExport/jobs/{jobName}", _endpoints[1387]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.InfrastructureInsights.Admin/regionHealths/{location}", _endpoints[1388]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/microsoft.insights/actionGroups/{actionGroupName}", _endpoints[1389]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/microsoft.insights/activityLogAlerts/{activityLogAlertName}", _endpoints[1390]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/microsoft.insights/alertrules/{ruleName}", _endpoints[1391]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/microsoft.insights/autoscalesettings/{autoscaleSettingName}", _endpoints[1392]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Insights/components/{resourceName}", _endpoints[1393]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Insights/metricAlerts/{ruleName}", _endpoints[1394]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/microsoft.insights/scheduledQueryRules/{ruleName}", _endpoints[1395]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Insights/webtests/{webTestName}", _endpoints[1396]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.IoTCentral/IoTApps/{resourceName}", _endpoints[1397]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.IoTSpaces/Graph/{resourceName}", _endpoints[1398]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.KeyVault/vaults/{vaultName}", _endpoints[1399]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Logic/integrationAccounts/{integrationAccountName}", _endpoints[1400]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Logic/workflows/{workflowName}", _endpoints[1401]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.MachineLearning/commitmentPlans/{commitmentPlanName}", _endpoints[1402]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.MachineLearning/webServices/{webServiceName}", _endpoints[1403]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.MachineLearning/workspaces/{workspaceName}", _endpoints[1404]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.MachineLearningCompute/operationalizationClusters/{clusterName}", _endpoints[1405]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.MachineLearningExperimentation/accounts/{accountName}", _endpoints[1406]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.MachineLearningServices/workspaces/{workspaceName}", _endpoints[1407]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ManagedIdentity/userAssignedIdentities/{resourceName}", _endpoints[1408]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Maps/accounts/{accountName}", _endpoints[1409]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Media/mediaservices/{mediaServiceName}", _endpoints[1410]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.Migrate/projects/{projectName}", _endpoints[1411]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/applicationGateways/{applicationGatewayName}", _endpoints[1412]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/applicationSecurityGroups/{applicationSecurityGroupName}", _endpoints[1413]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/connections/{virtualNetworkGatewayConnectionName}", _endpoints[1414]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/ddosProtectionPlans/{ddosProtectionPlanName}", _endpoints[1415]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/dnsZones/{zoneName}", _endpoints[1416]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/expressRouteCircuits/{circuitName}", _endpoints[1417]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/expressRouteCrossConnections/{crossConnectionName}", _endpoints[1418]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/loadBalancers/{loadBalancerName}", _endpoints[1419]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/localNetworkGateways/{localNetworkGatewayName}", _endpoints[1420]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkInterfaces/{networkInterfaceName}", _endpoints[1421]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkSecurityGroups/{networkSecurityGroupName}", _endpoints[1422]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkWatchers/{networkWatcherName}", _endpoints[1423]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/publicIPAddresses/{publicIpAddressName}", _endpoints[1424]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/routeFilters/{routeFilterName}", _endpoints[1425]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/routeTables/{routeTableName}", _endpoints[1426]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/trafficmanagerprofiles/{profileName}", _endpoints[1427]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworkGateways/{virtualNetworkGatewayName}", _endpoints[1428]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworks/{virtualNetworkName}", _endpoints[1429]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.NotificationHubs/namespaces/{namespaceName}", _endpoints[1430]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.OperationalInsights/workspaces/{workspaceName}", _endpoints[1431]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.OperationsManagement/ManagementConfigurations/{managementConfigurationName}", _endpoints[1432]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.OperationsManagement/solutions/{solutionName}", _endpoints[1433]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.PowerBI/workspaceCollections/{workspaceCollectionName}", _endpoints[1434]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.PowerBIDedicated/capacities/{dedicatedCapacityName}", _endpoints[1435]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}", _endpoints[1436]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Relay/namespaces/{namespaceName}", _endpoints[1437]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.Resources/deployments/{deploymentName}", _endpoints[1438]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Scheduler/jobCollections/{jobCollectionName}", _endpoints[1439]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Search/searchServices/{searchServiceName}", _endpoints[1440]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Security/pricings/{pricingName}", _endpoints[1441]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Security/securityContacts/{securityContactName}", _endpoints[1442]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Security/workspaceSettings/{workspaceSettingName}", _endpoints[1443]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ServerManagement/gateways/{gatewayName}", _endpoints[1444]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ServerManagement/nodes/{nodeName}", _endpoints[1445]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ServiceBus/namespaces/{namespaceName}", _endpoints[1446]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ServiceFabric/clusters/{clusterName}", _endpoints[1447]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.SignalRService/SignalR/{resourceName}", _endpoints[1448]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Solutions/applianceDefinitions/{applianceDefinitionName}", _endpoints[1449]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Solutions/appliances/{applianceName}", _endpoints[1450]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Solutions/applicationDefinitions/{applicationDefinitionName}", _endpoints[1451]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Solutions/applications/{applicationName}", _endpoints[1452]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/managedInstances/{managedInstanceName}", _endpoints[1453]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}", _endpoints[1454]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.Storage.Admin/farms/{farmId}", _endpoints[1455]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Storage/storageAccounts/{accountName}", _endpoints[1456]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.StorSimple/managers/{managerName}", _endpoints[1457]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.StreamAnalytics/streamingjobs/{jobName}", _endpoints[1458]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.Subscriptions.Admin/directoryTenants/{tenant}", _endpoints[1459]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.Subscriptions.Admin/offers/{offer}", _endpoints[1460]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.Subscriptions.Admin/plans/{plan}", _endpoints[1461]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.TimeSeriesInsights/environments/{environmentName}", _endpoints[1462]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.Update.Admin/updateLocations/{updateLocation}", _endpoints[1463]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/microsoft.visualstudio/account/{resourceName}", _endpoints[1464]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/certificates/{name}", _endpoints[1465]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/classicMobileServices/{name}", _endpoints[1466]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/connectionGateways/{connectionGatewayName}", _endpoints[1467]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/connections/{connectionName}", _endpoints[1468]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/csrs/{name}", _endpoints[1469]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/customApis/{apiName}", _endpoints[1470]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/hostingEnvironments/{name}", _endpoints[1471]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/managedHostingEnvironments/{name}", _endpoints[1472]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/serverfarms/{name}", _endpoints[1473]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}", _endpoints[1474]); - builder.AddEntry("/providers/{managementGroupsNamespace}/managementGroups/{managementGroupName}/providers/Microsoft.PolicyInsights/policyEvents/{policyEventsResource}/queryResults", _endpoints[1475]); - builder.AddEntry("/providers/{managementGroupsNamespace}/managementGroups/{managementGroupName}/providers/Microsoft.PolicyInsights/policyStates/{policyStatesResource}/queryResults", _endpoints[1476]); - builder.AddEntry("/providers/{managementGroupsNamespace}/managementGroups/{managementGroupName}/providers/Microsoft.PolicyInsights/policyStates/{policyStatesSummaryResource}/summarize", _endpoints[1477]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroup/{resourceGroupName}/providers/Microsoft.MachineLearningServices/workspaces/{workspaceName}/computes", _endpoints[1478]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{groupName}/providers/Microsoft.DataMigration/services/{serviceName}/checkNameAvailability", _endpoints[1479]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{groupName}/providers/Microsoft.DataMigration/services/{serviceName}/checkStatus", _endpoints[1480]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{groupName}/providers/Microsoft.DataMigration/services/{serviceName}/projects", _endpoints[1481]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{groupName}/providers/Microsoft.DataMigration/services/{serviceName}/skus", _endpoints[1482]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{groupName}/providers/Microsoft.DataMigration/services/{serviceName}/start", _endpoints[1483]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{groupName}/providers/Microsoft.DataMigration/services/{serviceName}/stop", _endpoints[1484]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourcegroups/{resourceGroup}/providers/Microsoft.AzureBridge.Admin/activations/{activationName}/downloadedProducts", _endpoints[1485]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourcegroups/{resourceGroup}/providers/Microsoft.AzureBridge.Admin/activations/{activationName}/products", _endpoints[1486]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroup}/providers/Microsoft.AzureStack/registrations/{registrationName}/customerSubscriptions", _endpoints[1487]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroup}/providers/Microsoft.AzureStack/registrations/{registrationName}/getactivationkey", _endpoints[1488]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroup}/providers/Microsoft.AzureStack/registrations/{registrationName}/products", _endpoints[1489]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AnalysisServices/servers/{serverName}/dissociateGateway", _endpoints[1490]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AnalysisServices/servers/{serverName}/listGatewayStatus", _endpoints[1491]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AnalysisServices/servers/{serverName}/resume", _endpoints[1492]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AnalysisServices/servers/{serverName}/skus", _endpoints[1493]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AnalysisServices/servers/{serverName}/suspend", _endpoints[1494]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/apis", _endpoints[1495]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/apisByTags", _endpoints[1496]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/api-version-sets", _endpoints[1497]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/applynetworkconfigurationupdates", _endpoints[1498]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/authorizationServers", _endpoints[1499]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/backends", _endpoints[1500]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/backup", _endpoints[1501]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/certificates", _endpoints[1502]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/diagnostics", _endpoints[1503]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/getssotoken", _endpoints[1504]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/groups", _endpoints[1505]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/identityProviders", _endpoints[1506]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/issues", _endpoints[1507]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/loggers", _endpoints[1508]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/managedeployments", _endpoints[1509]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/networkstatus", _endpoints[1510]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/notifications", _endpoints[1511]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/openidConnectProviders", _endpoints[1512]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/policies", _endpoints[1513]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/policySnippets", _endpoints[1514]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/products", _endpoints[1515]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/properties", _endpoints[1516]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/regions", _endpoints[1517]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/restore", _endpoints[1518]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/subscriptions", _endpoints[1519]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/tagResources", _endpoints[1520]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/tags", _endpoints[1521]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/templates", _endpoints[1522]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/updatecertificate", _endpoints[1523]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/updatehostname", _endpoints[1524]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/uploadcertificate", _endpoints[1525]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/users", _endpoints[1526]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Automation/automationAccounts/{automationAccountName}/agentRegistrationInformation", _endpoints[1527]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Automation/automationAccounts/{automationAccountName}/certificates", _endpoints[1528]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Automation/automationAccounts/{automationAccountName}/compilationjobs", _endpoints[1529]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Automation/automationAccounts/{automationAccountName}/configurations", _endpoints[1530]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Automation/automationAccounts/{automationAccountName}/connections", _endpoints[1531]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Automation/automationAccounts/{automationAccountName}/connectionTypes", _endpoints[1532]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Automation/automationAccounts/{automationAccountName}/credentials", _endpoints[1533]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Automation/automationAccounts/{automationAccountName}/hybridRunbookWorkerGroups", _endpoints[1534]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Automation/automationAccounts/{automationAccountName}/jobs", _endpoints[1535]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Automation/automationAccounts/{automationAccountName}/jobSchedules", _endpoints[1536]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Automation/automationAccounts/{automationAccountName}/linkedWorkspace", _endpoints[1537]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Automation/automationAccounts/{automationAccountName}/listKeys", _endpoints[1538]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Automation/automationAccounts/{automationAccountName}/modules", _endpoints[1539]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Automation/automationAccounts/{automationAccountName}/nodeConfigurations", _endpoints[1540]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Automation/automationAccounts/{automationAccountName}/nodes", _endpoints[1541]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Automation/automationAccounts/{automationAccountName}/runbooks", _endpoints[1542]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Automation/automationAccounts/{automationAccountName}/schedules", _endpoints[1543]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Automation/automationAccounts/{automationAccountName}/softwareUpdateConfigurationMachineRuns", _endpoints[1544]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Automation/automationAccounts/{automationAccountName}/softwareUpdateConfigurationRuns", _endpoints[1545]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Automation/automationAccounts/{automationAccountName}/softwareUpdateConfigurations", _endpoints[1546]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Automation/automationAccounts/{automationAccountName}/sourceControls", _endpoints[1547]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Automation/automationAccounts/{automationAccountName}/statistics", _endpoints[1548]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Automation/automationAccounts/{automationAccountName}/usages", _endpoints[1549]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Automation/automationAccounts/{automationAccountName}/variables", _endpoints[1550]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Automation/automationAccounts/{automationAccountName}/watchers", _endpoints[1551]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Automation/automationAccounts/{automationAccountName}/webhooks", _endpoints[1552]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.Backup.Admin/backupLocations/{location}/backups", _endpoints[1553]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.Backup.Admin/backupLocations/{location}/createBackup", _endpoints[1554]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Batch/batchAccounts/{accountName}/applications", _endpoints[1555]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Batch/batchAccounts/{accountName}/certificates", _endpoints[1556]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Batch/batchAccounts/{accountName}/listKeys", _endpoints[1557]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Batch/batchAccounts/{accountName}/pools", _endpoints[1558]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Batch/batchAccounts/{accountName}/regenerateKeys", _endpoints[1559]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Batch/batchAccounts/{accountName}/syncAutoStorageKeys", _endpoints[1560]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.BatchAI/clusters/{clusterName}/listRemoteLoginInformation", _endpoints[1561]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.BatchAI/jobs/{jobName}/listOutputFiles", _endpoints[1562]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.BatchAI/jobs/{jobName}/listRemoteLoginInformation", _endpoints[1563]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.BatchAI/jobs/{jobName}/terminate", _endpoints[1564]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.BatchAI/workspaces/{workspaceName}/clusters", _endpoints[1565]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.BatchAI/workspaces/{workspaceName}/experiments", _endpoints[1566]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.BatchAI/workspaces/{workspaceName}/fileServers", _endpoints[1567]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.BotService/botServices/{resourceName}/channels", _endpoints[1568]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.BotService/botServices/{resourceName}/connections", _endpoints[1569]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Cache/Redis/{cacheName}/firewallRules", _endpoints[1570]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Cache/Redis/{cacheName}/patchSchedules", _endpoints[1571]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Cache/Redis/{name}/export", _endpoints[1572]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Cache/Redis/{name}/forceReboot", _endpoints[1573]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Cache/Redis/{name}/import", _endpoints[1574]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Cache/Redis/{name}/linkedServers", _endpoints[1575]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Cache/Redis/{name}/listKeys", _endpoints[1576]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Cache/Redis/{name}/listUpgradeNotifications", _endpoints[1577]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Cache/Redis/{name}/regenerateKey", _endpoints[1578]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Cdn/profiles/{profileName}/checkResourceUsage", _endpoints[1579]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Cdn/profiles/{profileName}/endpoints", _endpoints[1580]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Cdn/profiles/{profileName}/generateSsoUri", _endpoints[1581]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Cdn/profiles/{profileName}/getSupportedOptimizationTypes", _endpoints[1582]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.CertificateRegistration/certificateOrders/{certificateOrderName}/certificates", _endpoints[1583]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.CertificateRegistration/certificateOrders/{certificateOrderName}/resendRequestEmails", _endpoints[1584]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.CertificateRegistration/certificateOrders/{certificateOrderName}/retrieveSiteSeal", _endpoints[1585]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.CertificateRegistration/certificateOrders/{name}/reissue", _endpoints[1586]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.CertificateRegistration/certificateOrders/{name}/renew", _endpoints[1587]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.CertificateRegistration/certificateOrders/{name}/resendEmail", _endpoints[1588]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.CertificateRegistration/certificateOrders/{name}/retrieveCertificateActions", _endpoints[1589]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.CertificateRegistration/certificateOrders/{name}/retrieveEmailHistory", _endpoints[1590]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.CertificateRegistration/certificateOrders/{name}/verifyDomainOwnership", _endpoints[1591]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.CognitiveServices/accounts/{accountName}/listKeys", _endpoints[1592]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.CognitiveServices/accounts/{accountName}/regenerateKey", _endpoints[1593]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.CognitiveServices/accounts/{accountName}/skus", _endpoints[1594]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.CognitiveServices/accounts/{accountName}/usages", _endpoints[1595]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/availabilitySets/{availabilitySetName}/vmSizes", _endpoints[1596]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/disks/{diskName}/beginGetAccess", _endpoints[1597]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/disks/{diskName}/endGetAccess", _endpoints[1598]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/galleries/{galleryName}/images", _endpoints[1599]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/snapshots/{snapshotName}/beginGetAccess", _endpoints[1600]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/snapshots/{snapshotName}/endGetAccess", _endpoints[1601]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/virtualMachines/{vmName}/capture", _endpoints[1602]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/virtualMachines/{vmName}/convertToManagedDisks", _endpoints[1603]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/virtualMachines/{vmName}/deallocate", _endpoints[1604]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/virtualMachines/{vmName}/extensions", _endpoints[1605]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/virtualMachines/{vmName}/generalize", _endpoints[1606]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/virtualMachines/{vmName}/instanceView", _endpoints[1607]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/virtualMachines/{vmName}/performMaintenance", _endpoints[1608]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/virtualMachines/{vmName}/powerOff", _endpoints[1609]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/virtualMachines/{vmName}/redeploy", _endpoints[1610]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/virtualMachines/{vmName}/restart", _endpoints[1611]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/virtualMachines/{vmName}/runCommand", _endpoints[1612]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/virtualMachines/{vmName}/start", _endpoints[1613]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/virtualMachines/{vmName}/vmSizes", _endpoints[1614]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/microsoft.Compute/virtualMachineScaleSets/{virtualMachineScaleSetName}/networkInterfaces", _endpoints[1615]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/virtualMachineScaleSets/{virtualMachineScaleSetName}/publicipaddresses", _endpoints[1616]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/virtualMachineScaleSets/{virtualMachineScaleSetName}/virtualMachines", _endpoints[1617]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/virtualMachineScaleSets/{vmScaleSetName}/deallocate", _endpoints[1618]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/virtualMachineScaleSets/{vmScaleSetName}/delete", _endpoints[1619]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/virtualMachineScaleSets/{vmScaleSetName}/extensions", _endpoints[1620]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/virtualMachineScaleSets/{vmScaleSetName}/forceRecoveryServiceFabricPlatformUpdateDomainWalk", _endpoints[1621]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/virtualMachineScaleSets/{vmScaleSetName}/instanceView", _endpoints[1622]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/virtualMachineScaleSets/{vmScaleSetName}/manualupgrade", _endpoints[1623]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/virtualMachineScaleSets/{vmScaleSetName}/osRollingUpgrade", _endpoints[1624]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/virtualMachineScaleSets/{vmScaleSetName}/osUpgradeHistory", _endpoints[1625]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/virtualMachineScaleSets/{vmScaleSetName}/performMaintenance", _endpoints[1626]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/virtualMachineScaleSets/{vmScaleSetName}/poweroff", _endpoints[1627]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/virtualMachineScaleSets/{vmScaleSetName}/redeploy", _endpoints[1628]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/virtualMachineScaleSets/{vmScaleSetName}/reimage", _endpoints[1629]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/virtualMachineScaleSets/{vmScaleSetName}/reimageall", _endpoints[1630]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/virtualMachineScaleSets/{vmScaleSetName}/restart", _endpoints[1631]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/virtualMachineScaleSets/{vmScaleSetName}/skus", _endpoints[1632]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/virtualMachineScaleSets/{vmScaleSetName}/start", _endpoints[1633]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerRegistry/registries/{registryName}/builds", _endpoints[1634]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerRegistry/registries/{registryName}/buildTasks", _endpoints[1635]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerRegistry/registries/{registryName}/getBuildSourceUploadUrl", _endpoints[1636]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerRegistry/registries/{registryName}/getCredentials", _endpoints[1637]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerRegistry/registries/{registryName}/importImage", _endpoints[1638]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerRegistry/registries/{registryName}/listCredentials", _endpoints[1639]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerRegistry/registries/{registryName}/listUsages", _endpoints[1640]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerRegistry/registries/{registryName}/queueBuild", _endpoints[1641]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerRegistry/registries/{registryName}/regenerateCredential", _endpoints[1642]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerRegistry/registries/{registryName}/regenerateCredentials", _endpoints[1643]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerRegistry/registries/{registryName}/replications", _endpoints[1644]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerRegistry/registries/{registryName}/webhooks", _endpoints[1645]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.CustomerInsights/hubs/{hubName}/authorizationPolicies", _endpoints[1646]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.CustomerInsights/hubs/{hubName}/connectors", _endpoints[1647]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.CustomerInsights/hubs/{hubName}/interactions", _endpoints[1648]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.CustomerInsights/hubs/{hubName}/kpi", _endpoints[1649]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.CustomerInsights/hubs/{hubName}/links", _endpoints[1650]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.CustomerInsights/hubs/{hubName}/predictions", _endpoints[1651]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.CustomerInsights/hubs/{hubName}/profiles", _endpoints[1652]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.CustomerInsights/hubs/{hubName}/relationshipLinks", _endpoints[1653]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.CustomerInsights/hubs/{hubName}/relationships", _endpoints[1654]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.CustomerInsights/hubs/{hubName}/roleAssignments", _endpoints[1655]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.CustomerInsights/hubs/{hubName}/roles", _endpoints[1656]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.CustomerInsights/hubs/{hubName}/views", _endpoints[1657]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.CustomerInsights/hubs/{hubName}/widgetTypes", _endpoints[1658]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataBox/jobs/{jobName}/bookShipmentPickUp", _endpoints[1659]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataBox/jobs/{jobName}/cancel", _endpoints[1660]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataBox/jobs/{jobName}/copyLogsUri", _endpoints[1661]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataBox/jobs/{jobName}/downloadShippingLabel", _endpoints[1662]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataBox/jobs/{jobName}/listSecrets", _endpoints[1663]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataBox/jobs/{jobName}/reportIssue", _endpoints[1664]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataFactory/factories/{factoryName}/datasets", _endpoints[1665]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataFactory/factories/{factoryName}/integrationRuntimes", _endpoints[1666]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataFactory/factories/{factoryName}/linkedservices", _endpoints[1667]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataFactory/factories/{factoryName}/pipelineruns", _endpoints[1668]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataFactory/factories/{factoryName}/pipelines", _endpoints[1669]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataFactory/factories/{factoryName}/triggers", _endpoints[1670]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataLakeAnalytics/accounts/{accountName}/computePolicies", _endpoints[1671]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataLakeAnalytics/accounts/{accountName}/dataLakeStoreAccounts", _endpoints[1672]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataLakeAnalytics/accounts/{accountName}/firewallRules", _endpoints[1673]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataLakeAnalytics/accounts/{accountName}/storageAccounts", _endpoints[1674]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataLakeStore/accounts/{accountName}/enableKeyVault", _endpoints[1675]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataLakeStore/accounts/{accountName}/firewallRules", _endpoints[1676]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataLakeStore/accounts/{accountName}/trustedIdProviders", _endpoints[1677]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataLakeStore/accounts/{accountName}/virtualNetworkRules", _endpoints[1678]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBforMySQL/servers/{serverName}/configurations", _endpoints[1679]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBforMySQL/servers/{serverName}/databases", _endpoints[1680]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBforMySQL/servers/{serverName}/firewallRules", _endpoints[1681]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBforMySQL/servers/{serverName}/logFiles", _endpoints[1682]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBforMySQL/servers/{serverName}/virtualNetworkRules", _endpoints[1683]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBforPostgreSQL/servers/{serverName}/configurations", _endpoints[1684]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBforPostgreSQL/servers/{serverName}/databases", _endpoints[1685]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBforPostgreSQL/servers/{serverName}/firewallRules", _endpoints[1686]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBforPostgreSQL/servers/{serverName}/logFiles", _endpoints[1687]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBforPostgreSQL/servers/{serverName}/virtualNetworkRules", _endpoints[1688]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Devices/IotHubs/{iotHubName}/routingEndpointsHealth", _endpoints[1689]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Devices/IotHubs/{resourceName}/certificates", _endpoints[1690]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Devices/IotHubs/{resourceName}/exportDevices", _endpoints[1691]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Devices/IotHubs/{resourceName}/importDevices", _endpoints[1692]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Devices/IotHubs/{resourceName}/IotHubStats", _endpoints[1693]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Devices/IotHubs/{resourceName}/jobs", _endpoints[1694]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Devices/IotHubs/{resourceName}/listkeys", _endpoints[1695]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Devices/IotHubs/{resourceName}/quotaMetrics", _endpoints[1696]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Devices/IotHubs/{resourceName}/skus", _endpoints[1697]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Devices/provisioningServices/{provisioningServiceName}/certificates", _endpoints[1698]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Devices/provisioningServices/{provisioningServiceName}/listkeys", _endpoints[1699]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Devices/provisioningServices/{provisioningServiceName}/skus", _endpoints[1700]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DevTestLab/labs/{labName}/artifactsources", _endpoints[1701]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DevTestLab/labs/{labName}/costinsights", _endpoints[1702]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DevTestLab/labs/{labName}/costs", _endpoints[1703]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DevTestLab/labs/{labName}/customimages", _endpoints[1704]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DevTestLab/labs/{labName}/formulas", _endpoints[1705]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DevTestLab/labs/{labName}/galleryimages", _endpoints[1706]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DevTestLab/labs/{labName}/notificationchannels", _endpoints[1707]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DevTestLab/labs/{labName}/schedules", _endpoints[1708]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DevTestLab/labs/{labName}/servicerunners", _endpoints[1709]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DevTestLab/labs/{labName}/users", _endpoints[1710]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DevTestLab/labs/{labName}/virtualmachines", _endpoints[1711]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DevTestLab/labs/{labName}/virtualnetworks", _endpoints[1712]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DevTestLab/labs/{name}/claimAnyVm", _endpoints[1713]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DevTestLab/labs/{name}/createEnvironment", _endpoints[1714]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DevTestLab/labs/{name}/exportResourceUsage", _endpoints[1715]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DevTestLab/labs/{name}/generateUploadUri", _endpoints[1716]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DevTestLab/labs/{name}/listVhds", _endpoints[1717]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DevTestLab/schedules/{name}/execute", _endpoints[1718]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DevTestLab/schedules/{name}/retarget", _endpoints[1719]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/failoverPriorityChange", _endpoints[1720]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/listConnectionStrings", _endpoints[1721]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/listKeys", _endpoints[1722]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/metricDefinitions", _endpoints[1723]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/metrics", _endpoints[1724]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/offlineRegion", _endpoints[1725]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/onlineRegion", _endpoints[1726]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/readonlykeys", _endpoints[1727]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/regenerateKey", _endpoints[1728]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/usages", _endpoints[1729]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DomainRegistration/domains/{domainName}/domainOwnershipIdentifiers", _endpoints[1730]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DomainRegistration/domains/{domainName}/renew", _endpoints[1731]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.EventGrid/locations/{location}/eventSubscriptions", _endpoints[1732]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.EventGrid/topics/{topicName}/listKeys", _endpoints[1733]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.EventGrid/topics/{topicName}/regenerateKey", _endpoints[1734]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.EventGrid/topicTypes/{topicTypeName}/eventSubscriptions", _endpoints[1735]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.EventHub/namespaces/{namespaceName}/AuthorizationRules", _endpoints[1736]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.EventHub/namespaces/{namespaceName}/disasterRecoveryConfigs", _endpoints[1737]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.EventHub/namespaces/{namespaceName}/eventhubs", _endpoints[1738]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.EventHub/namespaces/{namespaceName}/messagingplan", _endpoints[1739]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Fabric.Admin/fabricLocations/{location}/edgeGatewayPools", _endpoints[1740]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Fabric.Admin/fabricLocations/{location}/edgeGateways", _endpoints[1741]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Fabric.Admin/fabricLocations/{location}/fileShares", _endpoints[1742]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Fabric.Admin/fabricLocations/{location}/infraRoleInstances", _endpoints[1743]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Fabric.Admin/fabricLocations/{location}/infraRoles", _endpoints[1744]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Fabric.Admin/fabricLocations/{location}/ipPools", _endpoints[1745]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Fabric.Admin/fabricLocations/{location}/logicalNetworks", _endpoints[1746]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Fabric.Admin/fabricLocations/{location}/macAddressPools", _endpoints[1747]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Fabric.Admin/fabricLocations/{location}/scaleUnitNodes", _endpoints[1748]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Fabric.Admin/fabricLocations/{location}/scaleUnits", _endpoints[1749]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Fabric.Admin/fabricLocations/{location}/slbMuxInstances", _endpoints[1750]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Fabric.Admin/fabricLocations/{location}/storageSubSystems", _endpoints[1751]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.HDInsight/clusters/{clusterName}/applications", _endpoints[1752]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.HDInsight/clusters/{clusterName}/executeScriptActions", _endpoints[1753]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.HDInsight/clusters/{clusterName}/scriptActions", _endpoints[1754]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.HDInsight/clusters/{clusterName}/scriptExecutionHistory", _endpoints[1755]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ImportExport/jobs/{jobName}/listBitLockerKeys", _endpoints[1756]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.InfrastructureInsights.Admin/regionHealths/{location}/alerts", _endpoints[1757]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.InfrastructureInsights.Admin/regionHealths/{location}/serviceHealths", _endpoints[1758]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/microsoft.insights/actionGroups/{actionGroupName}/subscribe", _endpoints[1759]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/microsoft.insights/alertrules/{ruleName}/incidents", _endpoints[1760]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Insights/components/{componentName}/webtests", _endpoints[1761]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Insights/components/{resourceName}/Annotations", _endpoints[1762]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Insights/components/{resourceName}/ApiKeys", _endpoints[1763]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Insights/components/{resourceName}/currentbillingfeatures", _endpoints[1764]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Insights/components/{resourceName}/DefaultWorkItemConfig", _endpoints[1765]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Insights/components/{resourceName}/exportconfiguration", _endpoints[1766]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Insights/components/{resourceName}/favorites", _endpoints[1767]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Insights/components/{resourceName}/featurecapabilities", _endpoints[1768]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Insights/components/{resourceName}/getavailablebillingfeatures", _endpoints[1769]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Insights/components/{resourceName}/ProactiveDetectionConfigs", _endpoints[1770]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Insights/components/{resourceName}/purge", _endpoints[1771]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Insights/components/{resourceName}/quotastatus", _endpoints[1772]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Insights/components/{resourceName}/syntheticmonitorlocations", _endpoints[1773]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Insights/components/{resourceName}/WorkItemConfigs", _endpoints[1774]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Insights/metricAlerts/{ruleName}/status", _endpoints[1775]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.KeyVault/vaults/{vaultName}/secrets", _endpoints[1776]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Logic/integrationAccounts/{integrationAccountName}/agreements", _endpoints[1777]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Logic/integrationAccounts/{integrationAccountName}/assemblies", _endpoints[1778]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Logic/integrationAccounts/{integrationAccountName}/batchConfigurations", _endpoints[1779]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Logic/integrationAccounts/{integrationAccountName}/certificates", _endpoints[1780]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Logic/integrationAccounts/{integrationAccountName}/listCallbackUrl", _endpoints[1781]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Logic/integrationAccounts/{integrationAccountName}/listKeyVaultKeys", _endpoints[1782]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Logic/integrationAccounts/{integrationAccountName}/logTrackingEvents", _endpoints[1783]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Logic/integrationAccounts/{integrationAccountName}/maps", _endpoints[1784]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Logic/integrationAccounts/{integrationAccountName}/partners", _endpoints[1785]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Logic/integrationAccounts/{integrationAccountName}/regenerateAccessKey", _endpoints[1786]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Logic/integrationAccounts/{integrationAccountName}/schemas", _endpoints[1787]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Logic/integrationAccounts/{integrationAccountName}/sessions", _endpoints[1788]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Logic/workflows/{workflowName}/accessKeys", _endpoints[1789]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Logic/workflows/{workflowName}/disable", _endpoints[1790]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Logic/workflows/{workflowName}/enable", _endpoints[1791]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Logic/workflows/{workflowName}/generateUpgradedDefinition", _endpoints[1792]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Logic/workflows/{workflowName}/listCallbackUrl", _endpoints[1793]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Logic/workflows/{workflowName}/listSwagger", _endpoints[1794]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Logic/workflows/{workflowName}/move", _endpoints[1795]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Logic/workflows/{workflowName}/regenerateAccessKey", _endpoints[1796]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Logic/workflows/{workflowName}/run", _endpoints[1797]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Logic/workflows/{workflowName}/runs", _endpoints[1798]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Logic/workflows/{workflowName}/triggers/", _endpoints[1799]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Logic/workflows/{workflowName}/validate", _endpoints[1800]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Logic/workflows/{workflowName}/versions", _endpoints[1801]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.MachineLearning/commitmentPlans/{commitmentPlanName}/commitmentAssociations", _endpoints[1802]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.MachineLearning/commitmentPlans/{commitmentPlanName}/usageHistory", _endpoints[1803]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.MachineLearning/webServices/{webServiceName}/CreateRegionalBlob", _endpoints[1804]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.MachineLearning/webServices/{webServiceName}/listKeys", _endpoints[1805]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.MachineLearning/workspaces/{workspaceName}/listWorkspaceKeys", _endpoints[1806]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.MachineLearning/workspaces/{workspaceName}/resyncStorageKeys", _endpoints[1807]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.MachineLearningCompute/operationalizationClusters/{clusterName}/checkSystemServicesUpdatesAvailable", _endpoints[1808]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.MachineLearningCompute/operationalizationClusters/{clusterName}/checkUpdate", _endpoints[1809]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.MachineLearningCompute/operationalizationClusters/{clusterName}/listKeys", _endpoints[1810]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.MachineLearningCompute/operationalizationClusters/{clusterName}/updateSystem", _endpoints[1811]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.MachineLearningCompute/operationalizationClusters/{clusterName}/updateSystemServices", _endpoints[1812]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.MachineLearningExperimentation/accounts/{accountName}/workspaces", _endpoints[1813]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.MachineLearningServices/workspaces/{workspaceName}/listKeys", _endpoints[1814]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.MachineLearningServices/workspaces/{workspaceName}/resyncKeys", _endpoints[1815]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Maps/accounts/{accountName}/listKeys", _endpoints[1816]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Maps/accounts/{accountName}/regenerateKey", _endpoints[1817]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Media/mediaServices/{accountName}/assets", _endpoints[1818]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Media/mediaServices/{accountName}/contentKeyPolicies", _endpoints[1819]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Media/mediaservices/{accountName}/liveEvents", _endpoints[1820]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Media/mediaservices/{accountName}/streamingEndpoints", _endpoints[1821]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Media/mediaServices/{accountName}/streamingLocators", _endpoints[1822]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Media/mediaServices/{accountName}/streamingPolicies", _endpoints[1823]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Media/mediaServices/{accountName}/transforms", _endpoints[1824]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Media/mediaservices/{mediaServiceName}/listKeys", _endpoints[1825]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Media/mediaservices/{mediaServiceName}/regenerateKey", _endpoints[1826]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Media/mediaservices/{mediaServiceName}/syncStorageKeys", _endpoints[1827]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Migrate/projects/{projectName}/assessments", _endpoints[1828]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Migrate/projects/{projectName}/groups", _endpoints[1829]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.Migrate/projects/{projectName}/keys", _endpoints[1830]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Migrate/projects/{projectName}/machines", _endpoints[1831]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/applicationGateways/{applicationGatewayName}/backendhealth", _endpoints[1832]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/applicationGateways/{applicationGatewayName}/start", _endpoints[1833]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/applicationGateways/{applicationGatewayName}/stop", _endpoints[1834]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/connections/{virtualNetworkGatewayConnectionName}/sharedkey", _endpoints[1835]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/connections/{virtualNetworkGatewayConnectionName}/vpndeviceconfigurationscript", _endpoints[1836]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/dnsZones/{zoneName}/all", _endpoints[1837]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/dnsZones/{zoneName}/recordsets", _endpoints[1838]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/expressRouteCircuits/{circuitName}/arpTable", _endpoints[1839]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/expressRouteCircuits/{circuitName}/authorizations", _endpoints[1840]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/expressRouteCircuits/{circuitName}/peerings", _endpoints[1841]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/expressRouteCircuits/{circuitName}/routesTable", _endpoints[1842]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/expressRouteCircuits/{circuitName}/stats", _endpoints[1843]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/expressRouteCrossConnections/{crossConnectionName}/peerings", _endpoints[1844]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/loadBalancers/{loadBalancerName}/backendAddressPools", _endpoints[1845]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/loadBalancers/{loadBalancerName}/frontendIPConfigurations", _endpoints[1846]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/loadBalancers/{loadBalancerName}/inboundNatRules", _endpoints[1847]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/loadBalancers/{loadBalancerName}/loadBalancingRules", _endpoints[1848]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/loadBalancers/{loadBalancerName}/networkInterfaces", _endpoints[1849]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/loadBalancers/{loadBalancerName}/probes", _endpoints[1850]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkInterfaces/{networkInterfaceName}/effectiveNetworkSecurityGroups", _endpoints[1851]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkInterfaces/{networkInterfaceName}/effectiveRouteTable", _endpoints[1852]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkInterfaces/{networkInterfaceName}/ipConfigurations", _endpoints[1853]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkInterfaces/{networkInterfaceName}/loadBalancers", _endpoints[1854]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkSecurityGroups/{networkSecurityGroupName}/defaultSecurityRules", _endpoints[1855]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkSecurityGroups/{networkSecurityGroupName}/securityRules", _endpoints[1856]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkWatchers/{networkWatcherName}/availableProvidersList", _endpoints[1857]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkWatchers/{networkWatcherName}/azureReachabilityReport", _endpoints[1858]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkWatchers/{networkWatcherName}/configureFlowLog", _endpoints[1859]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkWatchers/{networkWatcherName}/connectionMonitors", _endpoints[1860]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkWatchers/{networkWatcherName}/connectivityCheck", _endpoints[1861]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkWatchers/{networkWatcherName}/ipFlowVerify", _endpoints[1862]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkWatchers/{networkWatcherName}/nextHop", _endpoints[1863]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkWatchers/{networkWatcherName}/packetCaptures", _endpoints[1864]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkWatchers/{networkWatcherName}/queryFlowLogStatus", _endpoints[1865]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkWatchers/{networkWatcherName}/queryTroubleshootResult", _endpoints[1866]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkWatchers/{networkWatcherName}/securityGroupView", _endpoints[1867]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkWatchers/{networkWatcherName}/topology", _endpoints[1868]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkWatchers/{networkWatcherName}/troubleshoot", _endpoints[1869]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/routeFilters/{routeFilterName}/routeFilterRules", _endpoints[1870]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/routeTables/{routeTableName}/routes", _endpoints[1871]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworkGateways/{virtualNetworkGatewayName}/connections", _endpoints[1872]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworkGateways/{virtualNetworkGatewayName}/generatevpnclientpackage", _endpoints[1873]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworkGateways/{virtualNetworkGatewayName}/generatevpnprofile", _endpoints[1874]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworkGateways/{virtualNetworkGatewayName}/getAdvertisedRoutes", _endpoints[1875]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworkGateways/{virtualNetworkGatewayName}/getBgpPeerStatus", _endpoints[1876]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworkGateways/{virtualNetworkGatewayName}/getLearnedRoutes", _endpoints[1877]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworkGateways/{virtualNetworkGatewayName}/getvpnclientipsecparameters", _endpoints[1878]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworkGateways/{virtualNetworkGatewayName}/getvpnprofilepackageurl", _endpoints[1879]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworkGateways/{virtualNetworkGatewayName}/reset", _endpoints[1880]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworkGateways/{virtualNetworkGatewayName}/setvpnclientipsecparameters", _endpoints[1881]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworkGateways/{virtualNetworkGatewayName}/supportedvpndevices", _endpoints[1882]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworks/{virtualNetworkName}/CheckIPAddressAvailability", _endpoints[1883]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworks/{virtualNetworkName}/subnets", _endpoints[1884]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworks/{virtualNetworkName}/usages", _endpoints[1885]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworks/{virtualNetworkName}/virtualNetworkPeerings", _endpoints[1886]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.NotificationHubs/namespaces/{namespaceName}/AuthorizationRules", _endpoints[1887]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.NotificationHubs/namespaces/{namespaceName}/checkNotificationHubAvailability", _endpoints[1888]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.NotificationHubs/namespaces/{namespaceName}/notificationHubs", _endpoints[1889]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.OperationalInsights/workspaces/{workspaceName}/dataSources", _endpoints[1890]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.OperationalInsights/workspaces/{workspaceName}/intelligencePacks", _endpoints[1891]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.OperationalInsights/workspaces/{workspaceName}/linkedServices", _endpoints[1892]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.OperationalInsights/workspaces/{workspaceName}/managementGroups", _endpoints[1893]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.OperationalInsights/workspaces/{workspaceName}/purge", _endpoints[1894]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.OperationalInsights/workspaces/{workspaceName}/savedSearches", _endpoints[1895]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.OperationalInsights/workspaces/{workspaceName}/schema", _endpoints[1896]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.OperationalInsights/workspaces/{workspaceName}/search", _endpoints[1897]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.OperationalInsights/workspaces/{workspaceName}/sharedKeys", _endpoints[1898]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.OperationalInsights/workspaces/{workspaceName}/storageInsightConfigs", _endpoints[1899]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.OperationalInsights/workspaces/{workspaceName}/usages", _endpoints[1900]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.PolicyInsights/policyEvents/{policyEventsResource}/queryResults", _endpoints[1901]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.PolicyInsights/policyStates/{policyStatesResource}/queryResults", _endpoints[1902]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.PolicyInsights/policyStates/{policyStatesSummaryResource}/summarize", _endpoints[1903]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.PowerBI/workspaceCollections/{workspaceCollectionName}/listKeys", _endpoints[1904]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.PowerBI/workspaceCollections/{workspaceCollectionName}/regenerateKey", _endpoints[1905]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.PowerBI/workspaceCollections/{workspaceCollectionName}/workspaces", _endpoints[1906]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.PowerBIDedicated/capacities/{dedicatedCapacityName}/resume", _endpoints[1907]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.PowerBIDedicated/capacities/{dedicatedCapacityName}/skus", _endpoints[1908]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.PowerBIDedicated/capacities/{dedicatedCapacityName}/suspend", _endpoints[1909]); - builder.AddEntry("/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationAlertSettings", _endpoints[1910]); - builder.AddEntry("/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationEvents", _endpoints[1911]); - builder.AddEntry("/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationFabrics", _endpoints[1912]); - builder.AddEntry("/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationJobs", _endpoints[1913]); - builder.AddEntry("/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationNetworkMappings", _endpoints[1914]); - builder.AddEntry("/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationNetworks", _endpoints[1915]); - builder.AddEntry("/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationPolicies", _endpoints[1916]); - builder.AddEntry("/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationProtectedItems", _endpoints[1917]); - builder.AddEntry("/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationProtectionContainerMappings", _endpoints[1918]); - builder.AddEntry("/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationProtectionContainers", _endpoints[1919]); - builder.AddEntry("/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationRecoveryPlans", _endpoints[1920]); - builder.AddEntry("/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationRecoveryServicesProviders", _endpoints[1921]); - builder.AddEntry("/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationStorageClassificationMappings", _endpoints[1922]); - builder.AddEntry("/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationStorageClassifications", _endpoints[1923]); - builder.AddEntry("/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationVaultHealth", _endpoints[1924]); - builder.AddEntry("/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationvCenters", _endpoints[1925]); - builder.AddEntry("/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupEngines", _endpoints[1926]); - builder.AddEntry("/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupJobs", _endpoints[1927]); - builder.AddEntry("/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupJobsExport", _endpoints[1928]); - builder.AddEntry("/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupPolicies", _endpoints[1929]); - builder.AddEntry("/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupProtectableItems", _endpoints[1930]); - builder.AddEntry("/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupProtectedItems", _endpoints[1931]); - builder.AddEntry("/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupProtectionContainers", _endpoints[1932]); - builder.AddEntry("/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupSecurityPIN", _endpoints[1933]); - builder.AddEntry("/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupUsageSummaries", _endpoints[1934]); - builder.AddEntry("/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/replicationUsages", _endpoints[1935]); - builder.AddEntry("/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/usages", _endpoints[1936]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Relay/namespaces/{namespaceName}/authorizationRules", _endpoints[1937]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Relay/namespaces/{namespaceName}/hybridConnections", _endpoints[1938]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Relay/namespaces/{namespaceName}/wcfRelays", _endpoints[1939]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.Resources/deployments/{deploymentName}/cancel", _endpoints[1940]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.Resources/deployments/{deploymentName}/exportTemplate", _endpoints[1941]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.Resources/deployments/{deploymentName}/validate", _endpoints[1942]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Scheduler/jobCollections/{jobCollectionName}/disable", _endpoints[1943]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Scheduler/jobCollections/{jobCollectionName}/enable", _endpoints[1944]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Scheduler/jobCollections/{jobCollectionName}/jobs", _endpoints[1945]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Search/searchServices/{searchServiceName}/listAdminKeys", _endpoints[1946]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Search/searchServices/{searchServiceName}/listQueryKeys", _endpoints[1947]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Security/locations/{ascLocation}/alerts", _endpoints[1948]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Security/locations/{ascLocation}/jitNetworkAccessPolicies", _endpoints[1949]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Security/locations/{ascLocation}/tasks", _endpoints[1950]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ServerManagement/gateways/{gatewayName}/profile", _endpoints[1951]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ServerManagement/gateways/{gatewayName}/regenerateprofile", _endpoints[1952]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ServerManagement/gateways/{gatewayName}/upgradetolatest", _endpoints[1953]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ServiceBus/namespaces/{namespaceName}/AuthorizationRules", _endpoints[1954]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ServiceBus/namespaces/{namespaceName}/disasterRecoveryConfigs", _endpoints[1955]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ServiceBus/namespaces/{namespaceName}/eventhubs", _endpoints[1956]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ServiceBus/namespaces/{namespaceName}/messagingplan", _endpoints[1957]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ServiceBus/namespaces/{namespaceName}/migrationConfigurations", _endpoints[1958]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ServiceBus/namespaces/{namespaceName}/queues", _endpoints[1959]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ServiceBus/namespaces/{namespaceName}/topics", _endpoints[1960]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ServiceFabric/clusters/{clusterName}/applications", _endpoints[1961]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ServiceFabric/clusters/{clusterName}/applicationTypes", _endpoints[1962]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.SignalRService/SignalR/{resourceName}/listKeys", _endpoints[1963]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.SignalRService/SignalR/{resourceName}/regenerateKey", _endpoints[1964]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/locations/{locationName}/instanceFailoverGroups", _endpoints[1965]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/managedInstances/{managedInstanceName}/databases", _endpoints[1966]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/administrators", _endpoints[1967]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/advisors", _endpoints[1968]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/auditingPolicies", _endpoints[1969]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/backupLongTermRetentionVaults", _endpoints[1970]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/communicationLinks", _endpoints[1971]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/databases", _endpoints[1972]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/disasterRecoveryConfiguration", _endpoints[1973]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/dnsAliases", _endpoints[1974]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/elasticPools", _endpoints[1975]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/encryptionProtector", _endpoints[1976]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/failoverGroups", _endpoints[1977]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/firewallRules", _endpoints[1978]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/import", _endpoints[1979]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/jobAgents", _endpoints[1980]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/keys", _endpoints[1981]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/recommendedElasticPools", _endpoints[1982]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/recoverableDatabases", _endpoints[1983]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/restorableDroppedDatabases", _endpoints[1984]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/serviceObjectives", _endpoints[1985]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/syncAgents", _endpoints[1986]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/usages", _endpoints[1987]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/virtualNetworkRules", _endpoints[1988]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.Storage.Admin/farms/{farmId}/acquisitions", _endpoints[1989]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.Storage.Admin/farms/{farmId}/metricdefinitions", _endpoints[1990]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.Storage.Admin/farms/{farmId}/metrics", _endpoints[1991]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.Storage.Admin/farms/{farmId}/ondemandgc", _endpoints[1992]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.Storage.Admin/farms/{farmId}/shares", _endpoints[1993]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.Storage.Admin/farms/{farmId}/storageaccounts", _endpoints[1994]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Storage/storageAccounts/{accountName}/ListAccountSas", _endpoints[1995]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Storage/storageAccounts/{accountName}/listKeys", _endpoints[1996]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Storage/storageAccounts/{accountName}/ListServiceSas", _endpoints[1997]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Storage/storageAccounts/{accountName}/regenerateKey", _endpoints[1998]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.StorSimple/managers/{managerName}/accessControlRecords", _endpoints[1999]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.StorSimple/managers/{managerName}/alerts", _endpoints[2000]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.StorSimple/managers/{managerName}/bandwidthSettings", _endpoints[2001]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.StorSimple/managers/{managerName}/clearAlerts", _endpoints[2002]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.StorSimple/managers/{managerName}/cloudApplianceConfigurations", _endpoints[2003]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.StorSimple/managers/{managerName}/configureDevice", _endpoints[2004]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.StorSimple/managers/{managerName}/devices", _endpoints[2005]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.StorSimple/managers/{managerName}/features", _endpoints[2006]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.StorSimple/managers/{managerName}/jobs", _endpoints[2007]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.StorSimple/managers/{managerName}/listActivationKey", _endpoints[2008]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.StorSimple/managers/{managerName}/listPublicEncryptionKey", _endpoints[2009]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.StorSimple/managers/{managerName}/metrics", _endpoints[2010]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.StorSimple/managers/{managerName}/metricsDefinitions", _endpoints[2011]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.StorSimple/managers/{managerName}/provisionCloudAppliance", _endpoints[2012]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.StorSimple/managers/{managerName}/regenerateActivationKey", _endpoints[2013]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.StorSimple/managers/{managerName}/storageAccountCredentials", _endpoints[2014]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.StreamAnalytics/streamingjobs/{jobName}/functions", _endpoints[2015]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.StreamAnalytics/streamingjobs/{jobName}/inputs", _endpoints[2016]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.StreamAnalytics/streamingjobs/{jobName}/outputs", _endpoints[2017]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.StreamAnalytics/streamingjobs/{jobName}/start", _endpoints[2018]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.StreamAnalytics/streamingjobs/{jobName}/stop", _endpoints[2019]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.Subscriptions.Admin/offers/{offer}/link", _endpoints[2020]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.Subscriptions.Admin/offers/{offer}/MetricDefinitions", _endpoints[2021]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.Subscriptions.Admin/offers/{offer}/Metrics", _endpoints[2022]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.Subscriptions.Admin/offers/{offer}/offerDelegations", _endpoints[2023]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.Subscriptions.Admin/offers/{offer}/unlink", _endpoints[2024]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.Subscriptions.Admin/plans/{plan}/MetricDefinitions", _endpoints[2025]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.Subscriptions.Admin/plans/{plan}/Metrics", _endpoints[2026]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.TimeSeriesInsights/environments/{environmentName}/accessPolicies", _endpoints[2027]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.TimeSeriesInsights/environments/{environmentName}/eventSources", _endpoints[2028]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.TimeSeriesInsights/environments/{environmentName}/referenceDataSets", _endpoints[2029]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.Update.Admin/updateLocations/{updateLocation}/updates", _endpoints[2030]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/microsoft.visualstudio/account/{accountResourceName}/extension", _endpoints[2031]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/microsoft.visualstudio/account/{rootResourceName}/project", _endpoints[2032]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web.Admin/environments/{environmentName}/usage", _endpoints[2033]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/connections/{connectionName}/confirmConsentCode", _endpoints[2034]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/connections/{connectionName}/listConnectionKeys", _endpoints[2035]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/connections/{connectionName}/listConsentLinks", _endpoints[2036]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/customApis/{apiName}/move", _endpoints[2037]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/hostingEnvironments/{name}/changeVirtualNetwork", _endpoints[2038]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/hostingEnvironments/{name}/detectors", _endpoints[2039]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/hostingEnvironments/{name}/diagnostics", _endpoints[2040]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/hostingEnvironments/{name}/metricdefinitions", _endpoints[2041]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/hostingEnvironments/{name}/metrics", _endpoints[2042]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/hostingEnvironments/{name}/multiRolePools", _endpoints[2043]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/hostingEnvironments/{name}/operations", _endpoints[2044]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/hostingEnvironments/{name}/reboot", _endpoints[2045]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/hostingEnvironments/{name}/resume", _endpoints[2046]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/hostingEnvironments/{name}/serverfarms", _endpoints[2047]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/hostingEnvironments/{name}/sites", _endpoints[2048]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/hostingEnvironments/{name}/suspend", _endpoints[2049]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/hostingEnvironments/{name}/syncVirtualNetwork", _endpoints[2050]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/hostingEnvironments/{name}/usages", _endpoints[2051]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/hostingEnvironments/{name}/webhostingplans", _endpoints[2052]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/hostingEnvironments/{name}/workerPools", _endpoints[2053]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/managedHostingEnvironments/{name}/serverfarms", _endpoints[2054]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/managedHostingEnvironments/{name}/sites", _endpoints[2055]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/managedHostingEnvironments/{name}/webhostingplans", _endpoints[2056]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/serverfarms/{name}/capabilities", _endpoints[2057]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/serverfarms/{name}/hybridConnectionRelays", _endpoints[2058]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/serverfarms/{name}/metricdefinitions", _endpoints[2059]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/serverfarms/{name}/metrics", _endpoints[2060]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/serverfarms/{name}/restartSites", _endpoints[2061]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/serverfarms/{name}/sites", _endpoints[2062]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/serverfarms/{name}/skus", _endpoints[2063]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/serverfarms/{name}/usages", _endpoints[2064]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/serverfarms/{name}/virtualNetworkConnections", _endpoints[2065]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/analyzeCustomHostname", _endpoints[2066]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/applySlotConfig", _endpoints[2067]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/backup", _endpoints[2068]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/backups", _endpoints[2069]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/config", _endpoints[2070]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/containerlogs", _endpoints[2071]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/continuouswebjobs", _endpoints[2072]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/deployments", _endpoints[2073]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/domainOwnershipIdentifiers", _endpoints[2074]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/functions", _endpoints[2075]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/hostNameBindings", _endpoints[2076]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/hybridconnection", _endpoints[2077]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/hybridConnectionRelays", _endpoints[2078]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/instances", _endpoints[2079]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/iscloneable", _endpoints[2080]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/listsyncfunctiontriggerstatus", _endpoints[2081]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/metricdefinitions", _endpoints[2082]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/metrics", _endpoints[2083]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/migrate", _endpoints[2084]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/migratemysql", _endpoints[2085]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/newpassword", _endpoints[2086]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/perfcounters", _endpoints[2087]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/phplogging", _endpoints[2088]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/premieraddons", _endpoints[2089]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/processes", _endpoints[2090]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/publicCertificates", _endpoints[2091]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/publishxml", _endpoints[2092]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/recover", _endpoints[2093]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/resetSlotConfig", _endpoints[2094]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/resourceHealthMetadata", _endpoints[2095]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/restart", _endpoints[2096]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/restoreFromBackupBlob", _endpoints[2097]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/restoreFromDeletedApp", _endpoints[2098]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/restoreSnapshot", _endpoints[2099]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/siteextensions", _endpoints[2100]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots", _endpoints[2101]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slotsdiffs", _endpoints[2102]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slotsswap", _endpoints[2103]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/snapshots", _endpoints[2104]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/start", _endpoints[2105]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/stop", _endpoints[2106]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/sync", _endpoints[2107]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/syncfunctiontriggers", _endpoints[2108]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/triggeredwebjobs", _endpoints[2109]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/usages", _endpoints[2110]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/virtualNetworkConnections", _endpoints[2111]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/webjobs", _endpoints[2112]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{siteName}/detectors", _endpoints[2113]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{siteName}/diagnostics", _endpoints[2114]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{siteName}/recommendationHistory", _endpoints[2115]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{siteName}/recommendations", _endpoints[2116]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/portalsettings/delegation", _endpoints[2117]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/portalsettings/signin", _endpoints[2118]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/portalsettings/signup", _endpoints[2119]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/reports/byApi", _endpoints[2120]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/reports/byGeo", _endpoints[2121]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/reports/byOperation", _endpoints[2122]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/reports/byProduct", _endpoints[2123]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/reports/byRequest", _endpoints[2124]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/reports/bySubscription", _endpoints[2125]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/reports/byTime", _endpoints[2126]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/reports/byUser", _endpoints[2127]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/tenant/access", _endpoints[2128]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/tenant/policy", _endpoints[2129]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Automation/automationAccounts/{automationAccountName}/agentRegistrationInformation/regenerateKey", _endpoints[2130]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Automation/automationAccounts/{automationAccountName}/webhooks/generateUri", _endpoints[2131]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Cache/Redis/{name}/patchSchedules/default", _endpoints[2132]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/virtualMachineScaleSets/{vmScaleSetName}/rollingUpgrades/cancel", _endpoints[2133]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/virtualMachineScaleSets/{vmScaleSetName}/rollingUpgrades/latest", _endpoints[2134]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}/upgradeProfiles/default", _endpoints[2135]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.CustomerInsights/hubs/{hubName}/images/getDataImageUploadUrl", _endpoints[2136]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.CustomerInsights/hubs/{hubName}/images/getEntityTypeImageUploadUrl", _endpoints[2137]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/percentile/metrics", _endpoints[2138]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.EventHub/clusters/{clusterName}/quotaConfiguration/default", _endpoints[2139]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.EventHub/namespaces/{namespaceName}/disasterRecoveryConfigs/CheckNameAvailability", _endpoints[2140]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.HDInsight/clusters/{clusterName}/extensions/clustermonitoring", _endpoints[2141]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/microsoft.insights/components/{resourceName}/pricingPlans/current", _endpoints[2142]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/connections/{virtualNetworkGatewayConnectionName}/sharedkey/reset", _endpoints[2143]); - builder.AddEntry("/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationJobs/export", _endpoints[2144]); - builder.AddEntry("/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupconfig/vaultconfig", _endpoints[2145]); - builder.AddEntry("/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupstorageconfig/vaultstorageconfig", _endpoints[2146]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/extendedInformation/vaultExtendedInfo", _endpoints[2147]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ServiceBus/namespaces/{namespaceName}/disasterRecoveryConfigs/CheckNameAvailability", _endpoints[2148]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/automaticTuning/current", _endpoints[2149]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.StorSimple/managers/{managerName}/encryptionSettings/default", _endpoints[2150]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.StorSimple/managers/{managerName}/extendedInformation/vaultExtendedInfo", _endpoints[2151]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/hostingEnvironments/{name}/capacities/compute", _endpoints[2152]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/hostingEnvironments/{name}/capacities/virtualip", _endpoints[2153]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/hostingEnvironments/{name}/multiRolePools/default", _endpoints[2154]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/managedHostingEnvironments/{name}/capacities/virtualip", _endpoints[2155]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/serverfarms/{name}/hybridConnectionPlanLimits/limit", _endpoints[2156]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/backups/discover", _endpoints[2157]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/config/appsettings", _endpoints[2158]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/config/authsettings", _endpoints[2159]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/config/backup", _endpoints[2160]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/config/connectionstrings", _endpoints[2161]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/config/logs", _endpoints[2162]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/config/metadata", _endpoints[2163]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/config/pushsettings", _endpoints[2164]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/config/slotConfigNames", _endpoints[2165]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/config/web", _endpoints[2166]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/extensions/MSDeploy", _endpoints[2167]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/migratemysql/status", _endpoints[2168]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/networkTrace/start", _endpoints[2169]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/networkTrace/stop", _endpoints[2170]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/privateAccess/virtualNetworks", _endpoints[2171]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/resourceHealthMetadata/default", _endpoints[2172]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/sourcecontrols/web", _endpoints[2173]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{siteName}/recommendations/disable", _endpoints[2174]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{siteName}/recommendations/reset", _endpoints[2175]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/tenant/access/git", _endpoints[2176]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/tenant/access/regeneratePrimaryKey", _endpoints[2177]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/tenant/access/regenerateSecondaryKey", _endpoints[2178]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/tenant/configuration/deploy", _endpoints[2179]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/tenant/configuration/save", _endpoints[2180]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/tenant/configuration/syncState", _endpoints[2181]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/tenant/configuration/validate", _endpoints[2182]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Devices/IotHubs/{iotHubName}/routing/routes/$testall", _endpoints[2183]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Devices/IotHubs/{iotHubName}/routing/routes/$testnew", _endpoints[2184]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.OperationalInsights/workspaces/{workspaceName}/features/serviceMap/generateMap", _endpoints[2185]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.OperationalInsights/workspaces/{workspaceName}/features/serviceMap/machineGroups", _endpoints[2186]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.OperationalInsights/workspaces/{workspaceName}/features/serviceMap/machines", _endpoints[2187]); - builder.AddEntry("/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationVaultHealth/default/refresh", _endpoints[2188]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Storage/storageAccounts/{accountName}/blobServices/default/containers", _endpoints[2189]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/hostingEnvironments/{name}/multiRolePools/default/metricdefinitions", _endpoints[2190]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/hostingEnvironments/{name}/multiRolePools/default/metrics", _endpoints[2191]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/hostingEnvironments/{name}/multiRolePools/default/skus", _endpoints[2192]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/hostingEnvironments/{name}/multiRolePools/default/usages", _endpoints[2193]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/config/appsettings/list", _endpoints[2194]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/config/authsettings/list", _endpoints[2195]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/config/backup/list", _endpoints[2196]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/config/connectionstrings/list", _endpoints[2197]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/config/metadata/list", _endpoints[2198]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/config/publishingcredentials/list", _endpoints[2199]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/config/pushsettings/list", _endpoints[2200]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/config/web/snapshots", _endpoints[2201]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/containerlogs/zip/download", _endpoints[2202]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/extensions/MSDeploy/log", _endpoints[2203]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/functions/admin/token", _endpoints[2204]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/tenant/access/git/regeneratePrimaryKey", _endpoints[2205]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/tenant/access/git/regenerateSecondaryKey", _endpoints[2206]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.OperationalInsights/workspaces/{workspaceName}/features/serviceMap/summaries/machines", _endpoints[2207]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.OperationalInsights/workspaces/{workspaceName}/features/serviceMap/clientGroups/{clientGroupName}", _endpoints[2208]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.OperationalInsights/workspaces/{workspaceName}/features/serviceMap/machineGroups/{machineGroupName}", _endpoints[2209]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.OperationalInsights/workspaces/{workspaceName}/features/serviceMap/machines/{machineName}", _endpoints[2210]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Storage/storageAccounts/{accountName}/blobServices/default/containers/{containerName}", _endpoints[2211]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/config/web/snapshots/{snapshotId}", _endpoints[2212]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.OperationalInsights/workspaces/{workspaceName}/features/serviceMap/clientGroups/{clientGroupName}/members", _endpoints[2213]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.OperationalInsights/workspaces/{workspaceName}/features/serviceMap/clientGroups/{clientGroupName}/membersCount", _endpoints[2214]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.OperationalInsights/workspaces/{workspaceName}/features/serviceMap/machines/{machineName}/connections", _endpoints[2215]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.OperationalInsights/workspaces/{workspaceName}/features/serviceMap/machines/{machineName}/liveness", _endpoints[2216]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.OperationalInsights/workspaces/{workspaceName}/features/serviceMap/machines/{machineName}/machineGroups", _endpoints[2217]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.OperationalInsights/workspaces/{workspaceName}/features/serviceMap/machines/{machineName}/ports", _endpoints[2218]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.OperationalInsights/workspaces/{workspaceName}/features/serviceMap/machines/{machineName}/processes", _endpoints[2219]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Storage/storageAccounts/{accountName}/blobServices/default/containers/{containerName}/clearLegalHold", _endpoints[2220]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Storage/storageAccounts/{accountName}/blobServices/default/containers/{containerName}/setLegalHold", _endpoints[2221]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/hostingEnvironments/{name}/multiRolePools/default/instances/{instance}/metricdefinitions", _endpoints[2222]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/hostingEnvironments/{name}/multiRolePools/default/instances/{instance}/metrics", _endpoints[2223]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/config/web/snapshots/{snapshotId}/recover", _endpoints[2224]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Storage/storageAccounts/{accountName}/blobServices/default/containers/{containerName}/immutabilityPolicies/default/extend", _endpoints[2225]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Storage/storageAccounts/{accountName}/blobServices/default/containers/{containerName}/immutabilityPolicies/default/lock", _endpoints[2226]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.OperationalInsights/workspaces/{workspaceName}/features/serviceMap/machines/{machineName}/ports/{portName}", _endpoints[2227]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.OperationalInsights/workspaces/{workspaceName}/features/serviceMap/machines/{machineName}/processes/{processName}", _endpoints[2228]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Storage/storageAccounts/{accountName}/blobServices/default/containers/{containerName}/immutabilityPolicies/{immutabilityPolicyName}", _endpoints[2229]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.OperationalInsights/workspaces/{workspaceName}/features/serviceMap/machines/{machineName}/ports/{portName}/acceptingProcesses", _endpoints[2230]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.OperationalInsights/workspaces/{workspaceName}/features/serviceMap/machines/{machineName}/ports/{portName}/connections", _endpoints[2231]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.OperationalInsights/workspaces/{workspaceName}/features/serviceMap/machines/{machineName}/ports/{portName}/liveness", _endpoints[2232]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.OperationalInsights/workspaces/{workspaceName}/features/serviceMap/machines/{machineName}/processes/{processName}/acceptingPorts", _endpoints[2233]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.OperationalInsights/workspaces/{workspaceName}/features/serviceMap/machines/{machineName}/processes/{processName}/connections", _endpoints[2234]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.OperationalInsights/workspaces/{workspaceName}/features/serviceMap/machines/{machineName}/processes/{processName}/liveness", _endpoints[2235]); - builder.AddEntry("/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupJobs/operationResults/{operationId}", _endpoints[2236]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.Storage.Admin/farms/{farmId}/shares/operationresults/{operationId}", _endpoints[2237]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroup/{resourceGroupName}/providers/Microsoft.MachineLearningServices/workspaces/{workspaceName}/computes/{computeName}", _endpoints[2238]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{groupName}/providers/Microsoft.DataMigration/services/{serviceName}/projects/{projectName}", _endpoints[2239]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourcegroups/{resourceGroup}/providers/Microsoft.AzureBridge.Admin/activations/{activationName}/downloadedProducts/{productName}", _endpoints[2240]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourcegroups/{resourceGroup}/providers/Microsoft.AzureBridge.Admin/activations/{activationName}/products/{productName}", _endpoints[2241]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroup}/providers/Microsoft.AzureStack/registrations/{registrationName}/customerSubscriptions/{customerSubscriptionName}", _endpoints[2242]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroup}/providers/Microsoft.AzureStack/registrations/{registrationName}/products/{productName}", _endpoints[2243]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/apis/{apiId}", _endpoints[2244]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/api-version-sets/{versionSetId}", _endpoints[2245]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/authorizationServers/{authsid}", _endpoints[2246]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/backends/{backendid}", _endpoints[2247]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/certificates/{certificateId}", _endpoints[2248]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/diagnostics/{diagnosticId}", _endpoints[2249]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/groups/{groupId}", _endpoints[2250]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/identityProviders/{identityProviderName}", _endpoints[2251]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/loggers/{loggerid}", _endpoints[2252]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/notifications/{notificationName}", _endpoints[2253]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/openidConnectProviders/{opid}", _endpoints[2254]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/policies/{policyId}", _endpoints[2255]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/products/{productId}", _endpoints[2256]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/properties/{propId}", _endpoints[2257]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/quotas/{quotaCounterKey}", _endpoints[2258]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/reports/{aggregation}", _endpoints[2259]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/subscriptions/{sid}", _endpoints[2260]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/tags/{tagId}", _endpoints[2261]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/templates/{templateName}", _endpoints[2262]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/tenant/{accessName}", _endpoints[2263]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/users/{uid}", _endpoints[2264]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Automation/automationAccounts/{automationAccountName}/certificates/{certificateName}", _endpoints[2265]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Automation/automationAccounts/{automationAccountName}/compilationjobs/{compilationJobName}", _endpoints[2266]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Automation/automationAccounts/{automationAccountName}/configurations/{configurationName}", _endpoints[2267]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Automation/automationAccounts/{automationAccountName}/connections/{connectionName}", _endpoints[2268]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Automation/automationAccounts/{automationAccountName}/connectionTypes/{connectionTypeName}", _endpoints[2269]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Automation/automationAccounts/{automationAccountName}/credentials/{credentialName}", _endpoints[2270]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Automation/automationAccounts/{automationAccountName}/hybridRunbookWorkerGroups/{hybridRunbookWorkerGroupName}", _endpoints[2271]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Automation/automationAccounts/{automationAccountName}/jobs/{jobId}", _endpoints[2272]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Automation/automationAccounts/{automationAccountName}/jobSchedules/{jobScheduleId}", _endpoints[2273]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Automation/automationAccounts/{automationAccountName}/modules/{moduleName}", _endpoints[2274]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Automation/automationAccounts/{automationAccountName}/nodeConfigurations/{nodeConfigurationName}", _endpoints[2275]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Automation/automationAccounts/{automationAccountName}/nodecounts/{countType}", _endpoints[2276]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Automation/automationAccounts/{automationAccountName}/nodes/{nodeId}", _endpoints[2277]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Automation/automationAccounts/{automationAccountName}/runbooks/{runbookName}", _endpoints[2278]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Automation/automationAccounts/{automationAccountName}/schedules/{scheduleName}", _endpoints[2279]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Automation/automationAccounts/{automationAccountName}/softwareUpdateConfigurationMachineRuns/{softwareUpdateConfigurationMachineRunId}", _endpoints[2280]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Automation/automationAccounts/{automationAccountName}/softwareUpdateConfigurationRuns/{softwareUpdateConfigurationRunId}", _endpoints[2281]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Automation/automationAccounts/{automationAccountName}/softwareUpdateConfigurations/{softwareUpdateConfigurationName}", _endpoints[2282]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Automation/automationAccounts/{automationAccountName}/sourceControls/{sourceControlName}", _endpoints[2283]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Automation/automationAccounts/{automationAccountName}/variables/{variableName}", _endpoints[2284]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Automation/automationAccounts/{automationAccountName}/watchers/{watcherName}", _endpoints[2285]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Automation/automationAccounts/{automationAccountName}/webhooks/{webhookName}", _endpoints[2286]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.Backup.Admin/backupLocations/{location}/backups/{backup}", _endpoints[2287]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Batch/batchAccounts/{accountName}/applications/{applicationId}", _endpoints[2288]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Batch/batchAccounts/{accountName}/certificates/{certificateName}", _endpoints[2289]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Batch/batchAccounts/{accountName}/pools/{poolName}", _endpoints[2290]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.BatchAI/workspaces/{workspaceName}/clusters/{clusterName}", _endpoints[2291]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.BatchAI/workspaces/{workspaceName}/experiments/{experimentName}", _endpoints[2292]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.BatchAI/workspaces/{workspaceName}/fileServers/{fileServerName}", _endpoints[2293]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.BotService/botServices/{resourceName}/channels/{channelName}", _endpoints[2294]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.BotService/botServices/{resourceName}/Connections/{connectionName}", _endpoints[2295]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Cache/Redis/{cacheName}/firewallRules/{ruleName}", _endpoints[2296]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Cache/Redis/{name}/linkedServers/{linkedServerName}", _endpoints[2297]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Cache/Redis/{name}/patchSchedules/{default}", _endpoints[2298]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Cdn/profiles/{profileName}/endpoints/{endpointName}", _endpoints[2299]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.CertificateRegistration/certificateOrders/{certificateOrderName}/certificates/{name}", _endpoints[2300]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/galleries/{galleryName}/images/{galleryImageName}", _endpoints[2301]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/virtualMachines/{vmName}/extensions/{vmExtensionName}", _endpoints[2302]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/virtualMachineScaleSets/{vmScaleSetName}/extensions/{vmssExtensionName}", _endpoints[2303]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/virtualMachineScaleSets/{vmScaleSetName}/virtualmachines/{instanceId}", _endpoints[2304]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerRegistry/registries/{registryName}/builds/{buildId}", _endpoints[2305]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerRegistry/registries/{registryName}/buildTasks/{buildTaskName}", _endpoints[2306]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerRegistry/registries/{registryName}/replications/{replicationName}", _endpoints[2307]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerRegistry/registries/{registryName}/webhooks/{webhookName}", _endpoints[2308]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}/accessProfiles/{roleName}", _endpoints[2309]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.CustomerInsights/hubs/{hubName}/authorizationPolicies/{authorizationPolicyName}", _endpoints[2310]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.CustomerInsights/hubs/{hubName}/connectors/{connectorName}", _endpoints[2311]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.CustomerInsights/hubs/{hubName}/interactions/{interactionName}", _endpoints[2312]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.CustomerInsights/hubs/{hubName}/kpi/{kpiName}", _endpoints[2313]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.CustomerInsights/hubs/{hubName}/links/{linkName}", _endpoints[2314]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.CustomerInsights/hubs/{hubName}/predictions/{predictionName}", _endpoints[2315]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.CustomerInsights/hubs/{hubName}/profiles/{profileName}", _endpoints[2316]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.CustomerInsights/hubs/{hubName}/relationshipLinks/{relationshipLinkName}", _endpoints[2317]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.CustomerInsights/hubs/{hubName}/relationships/{relationshipName}", _endpoints[2318]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.CustomerInsights/hubs/{hubName}/roleAssignments/{assignmentName}", _endpoints[2319]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.CustomerInsights/hubs/{hubName}/views/{viewName}", _endpoints[2320]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.CustomerInsights/hubs/{hubName}/widgetTypes/{widgetTypeName}", _endpoints[2321]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataFactory/factories/{factoryName}/cancelpipelinerun/{runId}", _endpoints[2322]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataFactory/factories/{factoryName}/datasets/{datasetName}", _endpoints[2323]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataFactory/factories/{factoryName}/integrationRuntimes/{integrationRuntimeName}", _endpoints[2324]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataFactory/factories/{factoryName}/linkedservices/{linkedServiceName}", _endpoints[2325]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataFactory/factories/{factoryName}/pipelineruns/{runId}", _endpoints[2326]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataFactory/factories/{factoryName}/pipelines/{pipelineName}", _endpoints[2327]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataFactory/factories/{factoryName}/triggers/{triggerName}", _endpoints[2328]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataLakeAnalytics/accounts/{accountName}/computePolicies/{computePolicyName}", _endpoints[2329]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataLakeAnalytics/accounts/{accountName}/dataLakeStoreAccounts/{dataLakeStoreAccountName}", _endpoints[2330]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataLakeAnalytics/accounts/{accountName}/firewallRules/{firewallRuleName}", _endpoints[2331]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataLakeAnalytics/accounts/{accountName}/storageAccounts/{storageAccountName}", _endpoints[2332]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataLakeStore/accounts/{accountName}/firewallRules/{firewallRuleName}", _endpoints[2333]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataLakeStore/accounts/{accountName}/trustedIdProviders/{trustedIdProviderName}", _endpoints[2334]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataLakeStore/accounts/{accountName}/virtualNetworkRules/{virtualNetworkRuleName}", _endpoints[2335]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBforMySQL/servers/{serverName}/configurations/{configurationName}", _endpoints[2336]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBforMySQL/servers/{serverName}/databases/{databaseName}", _endpoints[2337]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBforMySQL/servers/{serverName}/firewallRules/{firewallRuleName}", _endpoints[2338]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBforMySQL/servers/{serverName}/virtualNetworkRules/{virtualNetworkRuleName}", _endpoints[2339]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBforPostgreSQL/servers/{serverName}/configurations/{configurationName}", _endpoints[2340]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBforPostgreSQL/servers/{serverName}/databases/{databaseName}", _endpoints[2341]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBforPostgreSQL/servers/{serverName}/firewallRules/{firewallRuleName}", _endpoints[2342]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBforPostgreSQL/servers/{serverName}/securityAlertPolicies/{securityAlertPolicyName}", _endpoints[2343]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBforPostgreSQL/servers/{serverName}/virtualNetworkRules/{virtualNetworkRuleName}", _endpoints[2344]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Devices/IotHubs/{resourceName}/certificates/{certificateName}", _endpoints[2345]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Devices/IotHubs/{resourceName}/jobs/{jobId}", _endpoints[2346]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Devices/provisioningServices/{provisioningServiceName}/certificates/{certificateName}", _endpoints[2347]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Devices/provisioningServices/{provisioningServiceName}/operationresults/{operationId}", _endpoints[2348]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DevTestLab/labs/{labName}/artifactsources/{name}", _endpoints[2349]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DevTestLab/labs/{labName}/costinsights/{name}", _endpoints[2350]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DevTestLab/labs/{labName}/costs/{name}", _endpoints[2351]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DevTestLab/labs/{labName}/customimages/{name}", _endpoints[2352]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DevTestLab/labs/{labName}/formulas/{name}", _endpoints[2353]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DevTestLab/labs/{labName}/notificationchannels/{name}", _endpoints[2354]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DevTestLab/labs/{labName}/schedules/{name}", _endpoints[2355]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DevTestLab/labs/{labName}/servicerunners/{name}", _endpoints[2356]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DevTestLab/labs/{labName}/users/{name}", _endpoints[2357]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DevTestLab/labs/{labName}/virtualmachines/{name}", _endpoints[2358]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DevTestLab/labs/{labName}/virtualnetworks/{name}", _endpoints[2359]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DomainRegistration/domains/{domainName}/domainOwnershipIdentifiers/{name}", _endpoints[2360]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DomainRegistration/domains/{domainName}/operationresults/{operationId}", _endpoints[2361]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.EventHub/namespaces/{namespaceName}/AuthorizationRules/{authorizationRuleName}", _endpoints[2362]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.EventHub/namespaces/{namespaceName}/disasterRecoveryConfigs/{alias}", _endpoints[2363]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.EventHub/namespaces/{namespaceName}/eventhubs/{eventHubName}", _endpoints[2364]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Fabric.Admin/fabricLocations/{location}/edgeGatewayPools/{edgeGatewayPool}", _endpoints[2365]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Fabric.Admin/fabricLocations/{location}/edgeGateways/{edgeGateway}", _endpoints[2366]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Fabric.Admin/fabricLocations/{location}/fileShares/{fileShare}", _endpoints[2367]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Fabric.Admin/fabricLocations/{location}/infraRoleInstances/{infraRoleInstance}", _endpoints[2368]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Fabric.Admin/fabricLocations/{location}/infraRoles/{infraRole}", _endpoints[2369]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Fabric.Admin/fabricLocations/{location}/ipPools/{ipPool}", _endpoints[2370]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Fabric.Admin/fabricLocations/{location}/logicalNetworks/{logicalNetwork}", _endpoints[2371]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Fabric.Admin/fabricLocations/{location}/macAddressPools/{macAddressPool}", _endpoints[2372]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Fabric.Admin/fabricLocations/{location}/scaleUnitNodes/{scaleUnitNode}", _endpoints[2373]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Fabric.Admin/fabricLocations/{location}/scaleUnits/{scaleUnit}", _endpoints[2374]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Fabric.Admin/fabricLocations/{location}/slbMuxInstances/{slbMuxInstance}", _endpoints[2375]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Fabric.Admin/fabricLocations/{location}/storageSubSystems/{storageSubSystem}", _endpoints[2376]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.HDInsight/clusters/{clusterName}/applications/{applicationName}", _endpoints[2377]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.HDInsight/clusters/{clusterName}/configurations/{configurationName}", _endpoints[2378]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.HDInsight/clusters/{clusterName}/extensions/{extensionName}", _endpoints[2379]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.HDInsight/clusters/{clusterName}/scriptActions/{scriptName}", _endpoints[2380]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.HDInsight/clusters/{clusterName}/scriptExecutionHistory/{scriptExecutionId}", _endpoints[2381]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.InfrastructureInsights.Admin/regionHealths/{location}/alerts/{alertName}", _endpoints[2382]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.InfrastructureInsights.Admin/regionHealths/{location}/serviceHealths/{serviceHealth}", _endpoints[2383]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/microsoft.insights/alertrules/{ruleName}/incidents/{incidentName}", _endpoints[2384]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Insights/components/{resourceName}/Annotations/{annotationId}", _endpoints[2385]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Insights/components/{resourceName}/APIKeys/{keyId}", _endpoints[2386]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Insights/components/{resourceName}/exportconfiguration/{exportId}", _endpoints[2387]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Insights/components/{resourceName}/favorites/{favoriteId}", _endpoints[2388]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Insights/components/{resourceName}/ProactiveDetectionConfigs/{ConfigurationId}", _endpoints[2389]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Insights/components/{resourceName}/WorkItemConfigs/{workItemConfigId}", _endpoints[2390]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Insights/metricAlerts/{ruleName}/status/{statusName}", _endpoints[2391]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.KeyVault/vaults/{vaultName}/accessPolicies/{operationKind}", _endpoints[2392]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.KeyVault/vaults/{vaultName}/secrets/{secretName}", _endpoints[2393]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Logic/integrationAccounts/{integrationAccountName}/agreements/{agreementName}", _endpoints[2394]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Logic/integrationAccounts/{integrationAccountName}/assemblies/{assemblyArtifactName}", _endpoints[2395]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Logic/integrationAccounts/{integrationAccountName}/batchConfigurations/{batchConfigurationName}", _endpoints[2396]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Logic/integrationAccounts/{integrationAccountName}/certificates/{certificateName}", _endpoints[2397]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Logic/integrationAccounts/{integrationAccountName}/maps/{mapName}", _endpoints[2398]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Logic/integrationAccounts/{integrationAccountName}/partners/{partnerName}", _endpoints[2399]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Logic/integrationAccounts/{integrationAccountName}/schemas/{schemaName}", _endpoints[2400]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Logic/integrationAccounts/{integrationAccountName}/sessions/{sessionName}", _endpoints[2401]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Logic/workflows/{workflowName}/accessKeys/{accessKeyName}", _endpoints[2402]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Logic/workflows/{workflowName}/runs/{runName}", _endpoints[2403]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Logic/workflows/{workflowName}/triggers/{triggerName}", _endpoints[2404]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Logic/workflows/{workflowName}/versions/{versionId}", _endpoints[2405]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.MachineLearning/commitmentPlans/{commitmentPlanName}/commitmentAssociations/{commitmentAssociationName}", _endpoints[2406]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.MachineLearningExperimentation/accounts/{accountName}/workspaces/{workspaceName}", _endpoints[2407]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Media/mediaServices/{accountName}/assets/{assetName}", _endpoints[2408]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Media/mediaServices/{accountName}/contentKeyPolicies/{contentKeyPolicyName}", _endpoints[2409]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Media/mediaservices/{accountName}/liveEvents/{liveEventName}", _endpoints[2410]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Media/mediaservices/{accountName}/streamingEndpoints/{streamingEndpointName}", _endpoints[2411]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Media/mediaServices/{accountName}/streamingLocators/{streamingLocatorName}", _endpoints[2412]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Media/mediaServices/{accountName}/streamingPolicies/{streamingPolicyName}", _endpoints[2413]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Media/mediaServices/{accountName}/transforms/{transformName}", _endpoints[2414]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Migrate/projects/{projectName}/groups/{groupName}", _endpoints[2415]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Migrate/projects/{projectName}/machines/{machineName}", _endpoints[2416]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/expressRouteCircuits/{circuitName}/authorizations/{authorizationName}", _endpoints[2417]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/expressRouteCircuits/{circuitName}/peerings/{peeringName}", _endpoints[2418]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/expressRouteCrossConnections/{crossConnectionName}/peerings/{peeringName}", _endpoints[2419]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/loadBalancers/{loadBalancerName}/backendAddressPools/{backendAddressPoolName}", _endpoints[2420]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/loadBalancers/{loadBalancerName}/frontendIPConfigurations/{frontendIPConfigurationName}", _endpoints[2421]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/loadBalancers/{loadBalancerName}/inboundNatRules/{inboundNatRuleName}", _endpoints[2422]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/loadBalancers/{loadBalancerName}/loadBalancingRules/{loadBalancingRuleName}", _endpoints[2423]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/loadBalancers/{loadBalancerName}/probes/{probeName}", _endpoints[2424]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkInterfaces/{networkInterfaceName}/ipConfigurations/{ipConfigurationName}", _endpoints[2425]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkSecurityGroups/{networkSecurityGroupName}/defaultSecurityRules/{defaultSecurityRuleName}", _endpoints[2426]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkSecurityGroups/{networkSecurityGroupName}/securityRules/{securityRuleName}", _endpoints[2427]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkWatchers/{networkWatcherName}/connectionMonitors/{connectionMonitorName}", _endpoints[2428]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkWatchers/{networkWatcherName}/packetCaptures/{packetCaptureName}", _endpoints[2429]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/routeFilters/{routeFilterName}/routeFilterRules/{ruleName}", _endpoints[2430]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/routeTables/{routeTableName}/routes/{routeName}", _endpoints[2431]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/trafficmanagerprofiles/{profileName}/heatMaps/{heatMapType}", _endpoints[2432]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworks/{virtualNetworkName}/subnets/{subnetName}", _endpoints[2433]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworks/{virtualNetworkName}/virtualNetworkPeerings/{virtualNetworkPeeringName}", _endpoints[2434]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.NotificationHubs/namespaces/{namespaceName}/AuthorizationRules/{authorizationRuleName}", _endpoints[2435]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.NotificationHubs/namespaces/{namespaceName}/notificationHubs/{notificationHubName}", _endpoints[2436]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.OperationalInsights/workspaces/{workspaceName}/dataSources/{dataSourceName}", _endpoints[2437]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.OperationalInsights/workspaces/{workspaceName}/linkedServices/{linkedServiceName}", _endpoints[2438]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.OperationalInsights/workspaces/{workspaceName}/savedSearches/{savedSearchName}", _endpoints[2439]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.OperationalInsights/workspaces/{workspaceName}/search/{id}", _endpoints[2440]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.OperationalInsights/workspaces/{workspaceName}/storageInsightConfigs/{storageInsightName}", _endpoints[2441]); - builder.AddEntry("/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationAlertSettings/{alertSettingName}", _endpoints[2442]); - builder.AddEntry("/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationEvents/{eventName}", _endpoints[2443]); - builder.AddEntry("/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationFabrics/{fabricName}", _endpoints[2444]); - builder.AddEntry("/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationJobs/{jobName}", _endpoints[2445]); - builder.AddEntry("/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationPolicies/{policyName}", _endpoints[2446]); - builder.AddEntry("/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationRecoveryPlans/{recoveryPlanName}", _endpoints[2447]); - builder.AddEntry("/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupEngines/{backupEngineName}", _endpoints[2448]); - builder.AddEntry("/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupJobs/{jobName}", _endpoints[2449]); - builder.AddEntry("/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupOperationResults/{operationId}", _endpoints[2450]); - builder.AddEntry("/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupOperations/{operationId}", _endpoints[2451]); - builder.AddEntry("/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupPolicies/{policyName}", _endpoints[2452]); - builder.AddEntry("/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/certificates/{certificateName}", _endpoints[2453]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/registeredIdentities/{identityName}", _endpoints[2454]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Relay/namespaces/{namespaceName}/authorizationRules/{authorizationRuleName}", _endpoints[2455]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Relay/namespaces/{namespaceName}/hybridConnections/{hybridConnectionName}", _endpoints[2456]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Relay/namespaces/{namespaceName}/wcfRelays/{relayName}", _endpoints[2457]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Scheduler/jobCollections/{jobCollectionName}/jobs/{jobName}", _endpoints[2458]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Search/searchServices/{searchServiceName}/createQueryKey/{name}", _endpoints[2459]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Search/searchServices/{searchServiceName}/deleteQueryKey/{key}", _endpoints[2460]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Search/searchServices/{searchServiceName}/regenerateAdminKey/{keyKind}", _endpoints[2461]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Security/locations/{ascLocation}/alerts/{alertName}", _endpoints[2462]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Security/locations/{ascLocation}/discoveredSecuritySolutions/{discoveredSecuritySolutionName}", _endpoints[2463]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Security/locations/{ascLocation}/ExternalSecuritySolutions/{externalSecuritySolutionsName}", _endpoints[2464]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Security/locations/{ascLocation}/jitNetworkAccessPolicies/{jitNetworkAccessPolicyName}", _endpoints[2465]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Security/locations/{ascLocation}/tasks/{taskName}", _endpoints[2466]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ServerManagement/nodes/{nodeName}/sessions/{session}", _endpoints[2467]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ServiceBus/namespaces/{namespaceName}/AuthorizationRules/{authorizationRuleName}", _endpoints[2468]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ServiceBus/namespaces/{namespaceName}/disasterRecoveryConfigs/{alias}", _endpoints[2469]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ServiceBus/namespaces/{namespaceName}/migrationConfigurations/{configName}", _endpoints[2470]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ServiceBus/namespaces/{namespaceName}/queues/{queueName}", _endpoints[2471]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ServiceBus/namespaces/{namespaceName}/topics/{topicName}", _endpoints[2472]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ServiceFabric/clusters/{clusterName}/applications/{applicationName}", _endpoints[2473]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ServiceFabric/clusters/{clusterName}/applicationTypes/{applicationTypeName}", _endpoints[2474]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/locations/{locationName}/instanceFailoverGroups/{failoverGroupName}", _endpoints[2475]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/managedInstances/{managedInstanceName}/databases/{databaseName}", _endpoints[2476]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/administrators/{administratorName}", _endpoints[2477]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/advisors/{advisorName}", _endpoints[2478]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/auditingPolicies/{tableAuditingPolicyName}", _endpoints[2479]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/backupLongTermRetentionVaults/{backupLongTermRetentionVaultName}", _endpoints[2480]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/communicationLinks/{communicationLinkName}", _endpoints[2481]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/connectionPolicies/{connectionPolicyName}", _endpoints[2482]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/databases/{databaseName}", _endpoints[2483]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/disasterRecoveryConfiguration/{disasterRecoveryConfigurationName}", _endpoints[2484]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/dnsAliases/{dnsAliasName}", _endpoints[2485]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/elasticPools/{elasticPoolName}", _endpoints[2486]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/encryptionProtector/{encryptionProtectorName}", _endpoints[2487]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/failoverGroups/{failoverGroupName}", _endpoints[2488]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/firewallRules/{firewallRuleName}", _endpoints[2489]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/jobAgents/{jobAgentName}", _endpoints[2490]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/keys/{keyName}", _endpoints[2491]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/recommendedElasticPools/{recommendedElasticPoolName}", _endpoints[2492]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/recoverableDatabases/{databaseName}", _endpoints[2493]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/restorableDroppedDatabases/{restorableDroppededDatabaseId}", _endpoints[2494]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/serviceObjectives/{serviceObjectiveName}", _endpoints[2495]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/syncAgents/{syncAgentName}", _endpoints[2496]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/virtualNetworkRules/{virtualNetworkRuleName}", _endpoints[2497]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.Storage.Admin/farms/{farmId}/blobservices/{serviceType}", _endpoints[2498]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.Storage.Admin/farms/{farmId}/operationresults/{operationId}", _endpoints[2499]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.Storage.Admin/farms/{farmId}/queueservices/{serviceType}", _endpoints[2500]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.Storage.Admin/farms/{farmId}/shares/{shareName}", _endpoints[2501]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.Storage.Admin/farms/{farmId}/storageaccounts/{accountId}", _endpoints[2502]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.Storage.Admin/farms/{farmId}/tableservices/{serviceType}", _endpoints[2503]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Storage/storageAccounts/{accountName}/managementPolicies/{managementPolicyName}", _endpoints[2504]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.StorSimple/managers/{managerName}/accessControlRecords/{accessControlRecordName}", _endpoints[2505]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.StorSimple/managers/{managerName}/bandwidthSettings/{bandwidthSettingName}", _endpoints[2506]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.StorSimple/managers/{managerName}/devices/{deviceName}", _endpoints[2507]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.StorSimple/managers/{managerName}/storageAccountCredentials/{storageAccountCredentialName}", _endpoints[2508]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.StreamAnalytics/streamingjobs/{jobName}/functions/{functionName}", _endpoints[2509]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.StreamAnalytics/streamingjobs/{jobName}/inputs/{inputName}", _endpoints[2510]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.StreamAnalytics/streamingjobs/{jobName}/outputs/{outputName}", _endpoints[2511]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.StreamAnalytics/streamingjobs/{jobName}/transformations/{transformationName}", _endpoints[2512]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.Subscriptions.Admin/offers/{offer}/offerDelegations/{offerDelegationName}", _endpoints[2513]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.TimeSeriesInsights/environments/{environmentName}/accessPolicies/{accessPolicyName}", _endpoints[2514]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.TimeSeriesInsights/environments/{environmentName}/eventSources/{eventSourceName}", _endpoints[2515]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.TimeSeriesInsights/environments/{environmentName}/referenceDataSets/{referenceDataSetName}", _endpoints[2516]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.Update.Admin/updateLocations/{updateLocation}/updates/{updateName}", _endpoints[2517]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/microsoft.visualstudio/account/{accountResourceName}/extension/{extensionResourceName}", _endpoints[2518]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/microsoft.visualstudio/account/{rootResourceName}/project/{resourceName}", _endpoints[2519]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/hostingEnvironments/{name}/detectors/{detectorName}", _endpoints[2520]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/hostingEnvironments/{name}/diagnostics/{diagnosticsName}", _endpoints[2521]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/hostingEnvironments/{name}/operations/{operationId}", _endpoints[2522]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/hostingEnvironments/{name}/workerPools/{workerPoolName}", _endpoints[2523]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/managedHostingEnvironments/{name}/operations/{operationId}", _endpoints[2524]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/serverfarms/{name}/operationresults/{operationId}", _endpoints[2525]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/serverfarms/{name}/virtualNetworkConnections/{vnetName}", _endpoints[2526]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/backups/{backupId}", _endpoints[2527]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/continuouswebjobs/{webJobName}", _endpoints[2528]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/deployments/{id}", _endpoints[2529]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/domainOwnershipIdentifiers/{domainOwnershipIdentifierName}", _endpoints[2530]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/functions/{functionName}", _endpoints[2531]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/hostNameBindings/{hostName}", _endpoints[2532]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/hybridconnection/{entityName}", _endpoints[2533]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/networkFeatures/{view}", _endpoints[2534]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/operationresults/{operationId}", _endpoints[2535]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/premieraddons/{premierAddOnName}", _endpoints[2536]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/processes/{processId}", _endpoints[2537]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/publicCertificates/{publicCertificateName}", _endpoints[2538]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/siteextensions/{siteExtensionId}", _endpoints[2539]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}", _endpoints[2540]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/triggeredwebjobs/{webJobName}", _endpoints[2541]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/virtualNetworkConnections/{vnetName}", _endpoints[2542]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/webjobs/{webJobName}", _endpoints[2543]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{siteName}/detectors/{detectorName}", _endpoints[2544]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{siteName}/diagnostics/{diagnosticCategory}", _endpoints[2545]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{siteName}/recommendations/{name}", _endpoints[2546]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroup/{resourceGroupName}/providers/Microsoft.MachineLearningServices/workspaces/{workspaceName}/computes/{computeName}/listKeys", _endpoints[2547]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{groupName}/providers/Microsoft.DataMigration/services/{serviceName}/projects/{projectName}/tasks", _endpoints[2548]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourcegroups/{resourceGroup}/providers/Microsoft.AzureBridge.Admin/activations/{activationName}/products/{productName}/download", _endpoints[2549]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroup}/providers/Microsoft.AzureStack/registrations/{registrationName}/products/{productName}/listDetails", _endpoints[2550]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/apis/{apiId}/diagnostics", _endpoints[2551]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/apis/{apiId}/issues", _endpoints[2552]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/apis/{apiId}/operations", _endpoints[2553]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/apis/{apiId}/operationsByTags", _endpoints[2554]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/apis/{apiId}/policies", _endpoints[2555]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/apis/{apiId}/policy", _endpoints[2556]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/apis/{apiId}/products", _endpoints[2557]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/apis/{apiId}/releases", _endpoints[2558]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/apis/{apiId}/revisions", _endpoints[2559]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/apis/{apiId}/schemas", _endpoints[2560]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/apis/{apiId}/tagDescriptions", _endpoints[2561]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/apis/{apiId}/tags", _endpoints[2562]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/backends/{backendid}/reconnect", _endpoints[2563]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/diagnostics/{diagnosticId}/loggers", _endpoints[2564]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/groups/{groupId}/users", _endpoints[2565]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/locations/{locationName}/networkstatus", _endpoints[2566]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/notifications/{notificationName}/recipientEmails", _endpoints[2567]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/notifications/{notificationName}/recipientUsers", _endpoints[2568]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/products/{productId}/apis", _endpoints[2569]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/products/{productId}/groups", _endpoints[2570]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/products/{productId}/policies", _endpoints[2571]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/products/{productId}/policy", _endpoints[2572]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/products/{productId}/subscriptions", _endpoints[2573]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/products/{productId}/tags", _endpoints[2574]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/subscriptions/{sid}/regeneratePrimaryKey", _endpoints[2575]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/subscriptions/{sid}/regenerateSecondaryKey", _endpoints[2576]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/tenant/{accessName}/git", _endpoints[2577]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/tenant/{accessName}/regeneratePrimaryKey", _endpoints[2578]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/tenant/{accessName}/regenerateSecondaryKey", _endpoints[2579]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/tenant/{configurationName}/deploy", _endpoints[2580]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/tenant/{configurationName}/save", _endpoints[2581]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/tenant/{configurationName}/syncState", _endpoints[2582]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/tenant/{configurationName}/validate", _endpoints[2583]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/users/{uid}/generateSsoUrl", _endpoints[2584]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/users/{uid}/groups", _endpoints[2585]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/users/{uid}/identities", _endpoints[2586]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/users/{uid}/subscriptions", _endpoints[2587]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/users/{uid}/token", _endpoints[2588]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Automation/automationAccounts/{automationAccountName}/compilationjobs/{jobId}/streams", _endpoints[2589]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Automation/automationAccounts/{automationAccountName}/configurations/{configurationName}/content", _endpoints[2590]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Automation/automationAccounts/{automationAccountName}/jobs/{jobId}/output", _endpoints[2591]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Automation/automationAccounts/{automationAccountName}/jobs/{jobId}/resume", _endpoints[2592]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Automation/automationAccounts/{automationAccountName}/jobs/{jobId}/runbookContent", _endpoints[2593]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Automation/automationAccounts/{automationAccountName}/jobs/{jobId}/stop", _endpoints[2594]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Automation/automationAccounts/{automationAccountName}/jobs/{jobId}/streams", _endpoints[2595]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Automation/automationAccounts/{automationAccountName}/jobs/{jobId}/suspend", _endpoints[2596]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Automation/automationAccounts/{automationAccountName}/modules/{moduleName}/activities", _endpoints[2597]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Automation/automationAccounts/{automationAccountName}/nodes/{nodeId}/reports", _endpoints[2598]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Automation/automationAccounts/{automationAccountName}/objectDataTypes/{typeName}/fields", _endpoints[2599]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Automation/automationAccounts/{automationAccountName}/runbooks/{runbookName}/content", _endpoints[2600]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Automation/automationAccounts/{automationAccountName}/runbooks/{runbookName}/draft", _endpoints[2601]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Automation/automationAccounts/{automationAccountName}/sourceControls/{sourceControlName}/sourceControlSyncJobs", _endpoints[2602]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Automation/automationAccounts/{automationAccountName}/watchers/{watcherName}/start", _endpoints[2603]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Automation/automationAccounts/{automationAccountName}/watchers/{watcherName}/stop", _endpoints[2604]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.Backup.Admin/backupLocations/{location}/backups/{backup}/restore", _endpoints[2605]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Batch/batchAccounts/{accountName}/certificates/{certificateName}/cancelDelete", _endpoints[2606]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Batch/batchAccounts/{accountName}/pools/{poolName}/disableAutoScale", _endpoints[2607]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Batch/batchAccounts/{accountName}/pools/{poolName}/stopResize", _endpoints[2608]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.BatchAI/workspaces/{workspaceName}/clusters/{clusterName}/listRemoteLoginInformation", _endpoints[2609]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.BatchAI/workspaces/{workspaceName}/experiments/{experimentName}/jobs", _endpoints[2610]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.BotService/botServices/{resourceName}/channels/{channelName}/listChannelWithKeys", _endpoints[2611]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.BotService/botServices/{resourceName}/Connections/{connectionName}/listWithSecrets", _endpoints[2612]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Cdn/profiles/{profileName}/endpoints/{endpointName}/checkResourceUsage", _endpoints[2613]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Cdn/profiles/{profileName}/endpoints/{endpointName}/customDomains", _endpoints[2614]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Cdn/profiles/{profileName}/endpoints/{endpointName}/load", _endpoints[2615]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Cdn/profiles/{profileName}/endpoints/{endpointName}/origins", _endpoints[2616]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Cdn/profiles/{profileName}/endpoints/{endpointName}/purge", _endpoints[2617]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Cdn/profiles/{profileName}/endpoints/{endpointName}/start", _endpoints[2618]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Cdn/profiles/{profileName}/endpoints/{endpointName}/stop", _endpoints[2619]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Cdn/profiles/{profileName}/endpoints/{endpointName}/validateCustomDomain", _endpoints[2620]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/galleries/{galleryName}/images/{galleryImageName}/versions", _endpoints[2621]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/microsoft.Compute/virtualMachineScaleSets/{virtualMachineScaleSetName}/virtualMachines/{virtualmachineIndex}/networkInterfaces", _endpoints[2622]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/virtualMachineScaleSets/{vmScaleSetName}/virtualmachines/{instanceId}/deallocate", _endpoints[2623]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/virtualMachineScaleSets/{vmScaleSetName}/virtualmachines/{instanceId}/instanceView", _endpoints[2624]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/virtualMachineScaleSets/{vmScaleSetName}/virtualmachines/{instanceId}/performMaintenance", _endpoints[2625]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/virtualMachineScaleSets/{vmScaleSetName}/virtualmachines/{instanceId}/poweroff", _endpoints[2626]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/virtualMachineScaleSets/{vmScaleSetName}/virtualmachines/{instanceId}/redeploy", _endpoints[2627]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/virtualMachineScaleSets/{vmScaleSetName}/virtualmachines/{instanceId}/reimage", _endpoints[2628]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/virtualMachineScaleSets/{vmScaleSetName}/virtualmachines/{instanceId}/reimageall", _endpoints[2629]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/virtualMachineScaleSets/{vmScaleSetName}/virtualmachines/{instanceId}/restart", _endpoints[2630]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/virtualMachineScaleSets/{vmScaleSetName}/virtualmachines/{instanceId}/start", _endpoints[2631]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerInstance/containerGroups/{containerGroupName}/containers/{containerName}/exec", _endpoints[2632]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerInstance/containerGroups/{containerGroupName}/containers/{containerName}/logs", _endpoints[2633]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerRegistry/registries/{registryName}/builds/{buildId}/cancel", _endpoints[2634]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerRegistry/registries/{registryName}/builds/{buildId}/getLogLink", _endpoints[2635]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerRegistry/registries/{registryName}/buildTasks/{buildTaskName}/listSourceRepositoryProperties", _endpoints[2636]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerRegistry/registries/{registryName}/buildTasks/{buildTaskName}/steps", _endpoints[2637]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerRegistry/registries/{registryName}/webhooks/{webhookName}/getCallbackConfig", _endpoints[2638]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerRegistry/registries/{registryName}/webhooks/{webhookName}/listEvents", _endpoints[2639]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerRegistry/registries/{registryName}/webhooks/{webhookName}/ping", _endpoints[2640]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}/accessProfiles/{roleName}/listCredential", _endpoints[2641]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.CustomerInsights/hubs/{hubName}/authorizationPolicies/{authorizationPolicyName}/regeneratePrimaryKey", _endpoints[2642]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.CustomerInsights/hubs/{hubName}/authorizationPolicies/{authorizationPolicyName}/regenerateSecondaryKey", _endpoints[2643]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.CustomerInsights/hubs/{hubName}/connectors/{connectorName}/mappings", _endpoints[2644]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.CustomerInsights/hubs/{hubName}/interactions/{interactionName}/suggestRelationshipLinks", _endpoints[2645]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.CustomerInsights/hubs/{hubName}/kpi/{kpiName}/reprocess", _endpoints[2646]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.CustomerInsights/hubs/{hubName}/predictions/{predictionName}/getModelStatus", _endpoints[2647]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.CustomerInsights/hubs/{hubName}/predictions/{predictionName}/getTrainingResults", _endpoints[2648]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.CustomerInsights/hubs/{hubName}/predictions/{predictionName}/modelStatus", _endpoints[2649]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.CustomerInsights/hubs/{hubName}/profiles/{profileName}/getEnrichingKpis", _endpoints[2650]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataFactory/factories/{factoryName}/integrationRuntimes/{integrationRuntimeName}/getConnectionInfo", _endpoints[2651]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataFactory/factories/{factoryName}/integrationRuntimes/{integrationRuntimeName}/getStatus", _endpoints[2652]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataFactory/factories/{factoryName}/integrationRuntimes/{integrationRuntimeName}/listAuthKeys", _endpoints[2653]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataFactory/factories/{factoryName}/integrationRuntimes/{integrationRuntimeName}/monitoringData", _endpoints[2654]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataFactory/factories/{factoryName}/integrationRuntimes/{integrationRuntimeName}/regenerateAuthKey", _endpoints[2655]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataFactory/factories/{factoryName}/integrationRuntimes/{integrationRuntimeName}/removeNode", _endpoints[2656]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataFactory/factories/{factoryName}/integrationRuntimes/{integrationRuntimeName}/start", _endpoints[2657]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataFactory/factories/{factoryName}/integrationRuntimes/{integrationRuntimeName}/stop", _endpoints[2658]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataFactory/factories/{factoryName}/integrationRuntimes/{integrationRuntimeName}/syncCredentials", _endpoints[2659]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataFactory/factories/{factoryName}/integrationRuntimes/{integrationRuntimeName}/upgrade", _endpoints[2660]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataFactory/factories/{factoryName}/pipelineruns/{runId}/activityruns", _endpoints[2661]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataFactory/factories/{factoryName}/pipelines/{pipelineName}/createRun", _endpoints[2662]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataFactory/factories/{factoryName}/triggers/{triggerName}/start", _endpoints[2663]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataFactory/factories/{factoryName}/triggers/{triggerName}/stop", _endpoints[2664]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataFactory/factories/{factoryName}/triggers/{triggerName}/triggerruns", _endpoints[2665]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataLakeAnalytics/accounts/{accountName}/storageAccounts/{storageAccountName}/containers", _endpoints[2666]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Devices/IotHubs/{resourceName}/certificates/{certificateName}/generateVerificationCode", _endpoints[2667]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Devices/IotHubs/{resourceName}/certificates/{certificateName}/verify", _endpoints[2668]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Devices/IotHubs/{resourceName}/eventHubEndpoints/{eventHubEndpointName}/ConsumerGroups", _endpoints[2669]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Devices/IotHubs/{resourceName}/IotHubKeys/{keyName}/listkeys", _endpoints[2670]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Devices/provisioningServices/{provisioningServiceName}/certificates/{certificateName}/generateVerificationCode", _endpoints[2671]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Devices/provisioningServices/{provisioningServiceName}/certificates/{certificateName}/verify", _endpoints[2672]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Devices/provisioningServices/{provisioningServiceName}/keys/{keyName}/listkeys", _endpoints[2673]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DevTestLab/labs/{labName}/artifactsources/{artifactSourceName}/armtemplates", _endpoints[2674]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DevTestLab/labs/{labName}/artifactsources/{artifactSourceName}/artifacts", _endpoints[2675]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DevTestLab/labs/{labName}/costinsights/{name}/refreshData", _endpoints[2676]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DevTestLab/labs/{labName}/costs/{name}/refreshData", _endpoints[2677]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DevTestLab/labs/{labName}/notificationchannels/{name}/notify", _endpoints[2678]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DevTestLab/labs/{labName}/policysets/{name}/evaluatePolicies", _endpoints[2679]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DevTestLab/labs/{labName}/policysets/{policySetName}/policies", _endpoints[2680]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DevTestLab/labs/{labName}/schedules/{name}/execute", _endpoints[2681]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DevTestLab/labs/{labName}/schedules/{name}/listApplicable", _endpoints[2682]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DevTestLab/labs/{labName}/users/{userName}/disks", _endpoints[2683]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DevTestLab/labs/{labName}/users/{userName}/environments", _endpoints[2684]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DevTestLab/labs/{labName}/users/{userName}/secrets", _endpoints[2685]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DevTestLab/labs/{labName}/virtualmachines/{name}/addDataDisk", _endpoints[2686]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DevTestLab/labs/{labName}/virtualmachines/{name}/applyArtifacts", _endpoints[2687]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DevTestLab/labs/{labName}/virtualmachines/{name}/claim", _endpoints[2688]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DevTestLab/labs/{labName}/virtualmachines/{name}/detachDataDisk", _endpoints[2689]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DevTestLab/labs/{labName}/virtualmachines/{name}/listApplicableSchedules", _endpoints[2690]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DevTestLab/labs/{labName}/virtualmachines/{name}/start", _endpoints[2691]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DevTestLab/labs/{labName}/virtualmachines/{name}/stop", _endpoints[2692]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DevTestLab/labs/{labName}/virtualmachines/{virtualMachineName}/schedules", _endpoints[2693]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/databases/{databaseRid}/metricDefinitions", _endpoints[2694]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/databases/{databaseRid}/metrics", _endpoints[2695]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/databases/{databaseRid}/usages", _endpoints[2696]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/region/{region}/metrics", _endpoints[2697]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.EventGrid/locations/{location}/topicTypes/{topicTypeName}/eventSubscriptions", _endpoints[2698]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.EventHub/namespaces/{namespaceName}/AuthorizationRules/{authorizationRuleName}/listKeys", _endpoints[2699]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.EventHub/namespaces/{namespaceName}/AuthorizationRules/{authorizationRuleName}/regenerateKeys", _endpoints[2700]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.EventHub/namespaces/{namespaceName}/disasterRecoveryConfigs/{alias}/AuthorizationRules", _endpoints[2701]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.EventHub/namespaces/{namespaceName}/disasterRecoveryConfigs/{alias}/breakPairing", _endpoints[2702]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.EventHub/namespaces/{namespaceName}/disasterRecoveryConfigs/{alias}/failover", _endpoints[2703]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.EventHub/namespaces/{namespaceName}/eventhubs/{eventHubName}/authorizationRules", _endpoints[2704]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.EventHub/namespaces/{namespaceName}/eventhubs/{eventHubName}/consumergroups", _endpoints[2705]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Fabric.Admin/fabricLocations/{location}/infraRoleInstances/{infraRoleInstance}/PowerOff", _endpoints[2706]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Fabric.Admin/fabricLocations/{location}/infraRoleInstances/{infraRoleInstance}/PowerOn", _endpoints[2707]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Fabric.Admin/fabricLocations/{location}/infraRoleInstances/{infraRoleInstance}/Reboot", _endpoints[2708]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Fabric.Admin/fabricLocations/{location}/infraRoleInstances/{infraRoleInstance}/Shutdown", _endpoints[2709]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Fabric.Admin/fabricLocations/{location}/infraRoles/{infraRole}/Restart", _endpoints[2710]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Fabric.Admin/fabricLocations/{location}/logicalNetworks/{logicalNetwork}/logicalSubnets", _endpoints[2711]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Fabric.Admin/fabricLocations/{location}/scaleUnitNodes/{scaleUnitNode}/PowerOff", _endpoints[2712]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Fabric.Admin/fabricLocations/{location}/scaleUnitNodes/{scaleUnitNode}/PowerOn", _endpoints[2713]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Fabric.Admin/fabricLocations/{location}/scaleUnitNodes/{scaleUnitNode}/Repair", _endpoints[2714]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Fabric.Admin/fabricLocations/{location}/scaleUnitNodes/{scaleUnitNode}/Shutdown", _endpoints[2715]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Fabric.Admin/fabricLocations/{location}/scaleUnitNodes/{scaleUnitNode}/StartMaintenanceMode", _endpoints[2716]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Fabric.Admin/fabricLocations/{location}/scaleUnitNodes/{scaleUnitNode}/StopMaintenanceMode", _endpoints[2717]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Fabric.Admin/fabricLocations/{location}/scaleUnits/{scaleUnit}/ScaleOut", _endpoints[2718]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Fabric.Admin/fabricLocations/{location}/storageSubSystems/{storageSubSystem}/storagePools", _endpoints[2719]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.HDInsight/clusters/{clusterName}/roles/{roleName}/resize", _endpoints[2720]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.HDInsight/clusters/{clusterName}/scriptExecutionHistory/{scriptExecutionId}/promote", _endpoints[2721]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.InfrastructureInsights.Admin/regionHealths/{location}/serviceHealths/{serviceRegistrationId}/resourceHealths", _endpoints[2722]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Logic/integrationAccounts/{integrationAccountName}/agreements/{agreementName}/listContentCallbackUrl", _endpoints[2723]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Logic/integrationAccounts/{integrationAccountName}/assemblies/{assemblyArtifactName}/listContentCallbackUrl", _endpoints[2724]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Logic/integrationAccounts/{integrationAccountName}/maps/{mapName}/listContentCallbackUrl", _endpoints[2725]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Logic/integrationAccounts/{integrationAccountName}/partners/{partnerName}/listContentCallbackUrl", _endpoints[2726]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Logic/integrationAccounts/{integrationAccountName}/schemas/{schemaName}/listContentCallbackUrl", _endpoints[2727]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Logic/locations/{location}/workflows/{workflowName}/validate", _endpoints[2728]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Logic/workflows/{workflowName}/accessKeys/{accessKeyName}/list", _endpoints[2729]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Logic/workflows/{workflowName}/accessKeys/{accessKeyName}/regenerate", _endpoints[2730]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Logic/workflows/{workflowName}/runs/{runName}/actions", _endpoints[2731]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Logic/workflows/{workflowName}/runs/{runName}/cancel", _endpoints[2732]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Logic/workflows/{workflowName}/triggers/{triggerName}/histories", _endpoints[2733]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Logic/workflows/{workflowName}/triggers/{triggerName}/listCallbackUrl", _endpoints[2734]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Logic/workflows/{workflowName}/triggers/{triggerName}/reset", _endpoints[2735]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Logic/workflows/{workflowName}/triggers/{triggerName}/run", _endpoints[2736]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Logic/workflows/{workflowName}/triggers/{triggerName}/setState", _endpoints[2737]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.MachineLearning/commitmentPlans/{commitmentPlanName}/commitmentAssociations/{commitmentAssociationName}/move", _endpoints[2738]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Media/mediaServices/{accountName}/assets/{assetName}/getEncryptionKey", _endpoints[2739]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Media/mediaServices/{accountName}/assets/{assetName}/listContainerSas", _endpoints[2740]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Media/mediaServices/{accountName}/contentKeyPolicies/{contentKeyPolicyName}/getPolicyPropertiesWithSecrets", _endpoints[2741]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Media/mediaservices/{accountName}/liveEvents/{liveEventName}/liveOutputs", _endpoints[2742]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Media/mediaservices/{accountName}/liveEvents/{liveEventName}/reset", _endpoints[2743]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Media/mediaservices/{accountName}/liveEvents/{liveEventName}/start", _endpoints[2744]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Media/mediaservices/{accountName}/liveEvents/{liveEventName}/stop", _endpoints[2745]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Media/mediaservices/{accountName}/streamingEndpoints/{streamingEndpointName}/scale", _endpoints[2746]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Media/mediaservices/{accountName}/streamingEndpoints/{streamingEndpointName}/start", _endpoints[2747]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Media/mediaservices/{accountName}/streamingEndpoints/{streamingEndpointName}/stop", _endpoints[2748]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Media/mediaServices/{accountName}/streamingLocators/{streamingLocatorName}/listContentKeys", _endpoints[2749]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Media/mediaServices/{accountName}/streamingLocators/{streamingLocatorName}/listPaths", _endpoints[2750]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Media/mediaServices/{accountName}/transforms/{transformName}/jobs", _endpoints[2751]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Migrate/projects/{projectName}/groups/{groupName}/assessments", _endpoints[2752]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/expressRouteCircuits/{circuitName}/peerings/{peeringName}/stats", _endpoints[2753]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkWatchers/{networkWatcherName}/connectionMonitors/{connectionMonitorName}/query", _endpoints[2754]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkWatchers/{networkWatcherName}/connectionMonitors/{connectionMonitorName}/start", _endpoints[2755]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkWatchers/{networkWatcherName}/connectionMonitors/{connectionMonitorName}/stop", _endpoints[2756]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkWatchers/{networkWatcherName}/packetCaptures/{packetCaptureName}/queryStatus", _endpoints[2757]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkWatchers/{networkWatcherName}/packetCaptures/{packetCaptureName}/stop", _endpoints[2758]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.NotificationHubs/namespaces/{namespaceName}/AuthorizationRules/{authorizationRuleName}/listKeys", _endpoints[2759]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.NotificationHubs/namespaces/{namespaceName}/AuthorizationRules/{authorizationRuleName}/regenerateKeys", _endpoints[2760]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.NotificationHubs/namespaces/{namespaceName}/notificationHubs/{notificationHubName}/AuthorizationRules", _endpoints[2761]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.NotificationHubs/namespaces/{namespaceName}/notificationHubs/{notificationHubName}/pnsCredentials", _endpoints[2762]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.OperationalInsights/workspaces/{workspaceName}/intelligencePacks/{intelligencePackName}/Disable", _endpoints[2763]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.OperationalInsights/workspaces/{workspaceName}/intelligencePacks/{intelligencePackName}/Enable", _endpoints[2764]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.OperationalInsights/workspaces/{workspaceName}/savedSearches/{savedSearchName}/results", _endpoints[2765]); - builder.AddEntry("/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationFabrics/{fabricName}/checkConsistency", _endpoints[2766]); - builder.AddEntry("/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationFabrics/{fabricName}/migratetoaad", _endpoints[2767]); - builder.AddEntry("/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationFabrics/{fabricName}/reassociateGateway", _endpoints[2768]); - builder.AddEntry("/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationFabrics/{fabricName}/remove", _endpoints[2769]); - builder.AddEntry("/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationFabrics/{fabricName}/renewCertificate", _endpoints[2770]); - builder.AddEntry("/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationFabrics/{fabricName}/replicationLogicalNetworks", _endpoints[2771]); - builder.AddEntry("/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationFabrics/{fabricName}/replicationNetworks", _endpoints[2772]); - builder.AddEntry("/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationFabrics/{fabricName}/replicationProtectionContainers", _endpoints[2773]); - builder.AddEntry("/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationFabrics/{fabricName}/replicationRecoveryServicesProviders", _endpoints[2774]); - builder.AddEntry("/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationFabrics/{fabricName}/replicationStorageClassifications", _endpoints[2775]); - builder.AddEntry("/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationFabrics/{fabricName}/replicationvCenters", _endpoints[2776]); - builder.AddEntry("/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationJobs/{jobName}/cancel", _endpoints[2777]); - builder.AddEntry("/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationJobs/{jobName}/restart", _endpoints[2778]); - builder.AddEntry("/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationJobs/{jobName}/resume", _endpoints[2779]); - builder.AddEntry("/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationRecoveryPlans/{recoveryPlanName}/failoverCommit", _endpoints[2780]); - builder.AddEntry("/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationRecoveryPlans/{recoveryPlanName}/plannedFailover", _endpoints[2781]); - builder.AddEntry("/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationRecoveryPlans/{recoveryPlanName}/reProtect", _endpoints[2782]); - builder.AddEntry("/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationRecoveryPlans/{recoveryPlanName}/testFailover", _endpoints[2783]); - builder.AddEntry("/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationRecoveryPlans/{recoveryPlanName}/testFailoverCleanup", _endpoints[2784]); - builder.AddEntry("/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationRecoveryPlans/{recoveryPlanName}/unplannedFailover", _endpoints[2785]); - builder.AddEntry("/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupFabrics/{fabricName}/protectableContainers", _endpoints[2786]); - builder.AddEntry("/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupFabrics/{fabricName}/refreshContainers", _endpoints[2787]); - builder.AddEntry("/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupJobs/{jobName}/cancel", _endpoints[2788]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Relay/namespaces/{namespaceName}/authorizationRules/{authorizationRuleName}/listKeys", _endpoints[2789]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Relay/namespaces/{namespaceName}/authorizationRules/{authorizationRuleName}/regenerateKeys", _endpoints[2790]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Relay/namespaces/{namespaceName}/hybridConnections/{hybridConnectionName}/authorizationRules", _endpoints[2791]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Relay/namespaces/{namespaceName}/wcfRelays/{relayName}/authorizationRules", _endpoints[2792]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Scheduler/jobCollections/{jobCollectionName}/jobs/{jobName}/history", _endpoints[2793]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Scheduler/jobCollections/{jobCollectionName}/jobs/{jobName}/run", _endpoints[2794]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ServiceBus/namespaces/{namespaceName}/AuthorizationRules/{authorizationRuleName}/listKeys", _endpoints[2795]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ServiceBus/namespaces/{namespaceName}/AuthorizationRules/{authorizationRuleName}/regenerateKeys", _endpoints[2796]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ServiceBus/namespaces/{namespaceName}/disasterRecoveryConfigs/{alias}/AuthorizationRules", _endpoints[2797]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ServiceBus/namespaces/{namespaceName}/disasterRecoveryConfigs/{alias}/breakPairing", _endpoints[2798]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ServiceBus/namespaces/{namespaceName}/disasterRecoveryConfigs/{alias}/failover", _endpoints[2799]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ServiceBus/namespaces/{namespaceName}/eventhubs/{eventhubName}/authorizationRules", _endpoints[2800]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ServiceBus/namespaces/{namespaceName}/migrationConfigurations/{configName}/revert", _endpoints[2801]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ServiceBus/namespaces/{namespaceName}/migrationConfigurations/{configName}/upgrade", _endpoints[2802]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ServiceBus/namespaces/{namespaceName}/queues/{queueName}/authorizationRules", _endpoints[2803]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ServiceBus/namespaces/{namespaceName}/topics/{topicName}/authorizationRules", _endpoints[2804]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ServiceBus/namespaces/{namespaceName}/topics/{topicName}/subscriptions", _endpoints[2805]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ServiceFabric/clusters/{clusterName}/applications/{applicationName}/services", _endpoints[2806]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ServiceFabric/clusters/{clusterName}/applicationTypes/{applicationTypeName}/versions", _endpoints[2807]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/locations/{locationName}/instanceFailoverGroups/{failoverGroupName}/failover", _endpoints[2808]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/locations/{locationName}/instanceFailoverGroups/{failoverGroupName}/forceFailoverAllowDataLoss", _endpoints[2809]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/databases/{databaseName}/advisors", _endpoints[2810]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/databases/{databaseName}/auditingPolicies", _endpoints[2811]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/databases/{databaseName}/backupLongTermRetentionPolicies", _endpoints[2812]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/databases/{databaseName}/export", _endpoints[2813]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/databases/{databaseName}/extensions", _endpoints[2814]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/databases/{databaseName}/geoBackupPolicies", _endpoints[2815]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/databases/{databaseName}/metricDefinitions", _endpoints[2816]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/databases/{databaseName}/metrics", _endpoints[2817]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/databases/{databaseName}/move", _endpoints[2818]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/databases/{databaseName}/operations", _endpoints[2819]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/databases/{databaseName}/pause", _endpoints[2820]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/databases/{databaseName}/replicationLinks", _endpoints[2821]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/databases/{databaseName}/restorePoints", _endpoints[2822]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/databases/{databaseName}/resume", _endpoints[2823]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/databases/{databaseName}/serviceTierAdvisors", _endpoints[2824]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/databases/{databaseName}/syncGroups", _endpoints[2825]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/databases/{databaseName}/topQueries", _endpoints[2826]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/databases/{databaseName}/transparentDataEncryption", _endpoints[2827]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/databases/{databaseName}/upgradeDataWarehouse", _endpoints[2828]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/databases/{databaseName}/usages", _endpoints[2829]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/disasterRecoveryConfiguration/{disasterRecoveryConfigurationName}/failover", _endpoints[2830]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/disasterRecoveryConfiguration/{disasterRecoveryConfigurationName}/forceFailoverAllowDataLoss", _endpoints[2831]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/dnsAliases/{dnsAliasName}/acquire", _endpoints[2832]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/elasticPools/{elasticPoolName}/databases", _endpoints[2833]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/elasticPools/{elasticPoolName}/elasticPoolActivity", _endpoints[2834]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/elasticPools/{elasticPoolName}/elasticPoolDatabaseActivity", _endpoints[2835]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/elasticPools/{elasticPoolName}/metricDefinitions", _endpoints[2836]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/elasticPools/{elasticPoolName}/metrics", _endpoints[2837]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/elasticPools/{elasticPoolName}/operations", _endpoints[2838]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/failoverGroups/{failoverGroupName}/failover", _endpoints[2839]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/failoverGroups/{failoverGroupName}/forceFailoverAllowDataLoss", _endpoints[2840]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/jobAgents/{jobAgentName}/credentials", _endpoints[2841]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/jobAgents/{jobAgentName}/executions", _endpoints[2842]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/jobAgents/{jobAgentName}/jobs", _endpoints[2843]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/jobAgents/{jobAgentName}/targetGroups", _endpoints[2844]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/recommendedElasticPools/{recommendedElasticPoolName}/databases", _endpoints[2845]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/recommendedElasticPools/{recommendedElasticPoolName}/metrics", _endpoints[2846]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/syncAgents/{syncAgentName}/generateKey", _endpoints[2847]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/syncAgents/{syncAgentName}/linkedDatabases", _endpoints[2848]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.Storage.Admin/farms/{farmId}/blobservices/{serviceType}/metricdefinitions", _endpoints[2849]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.Storage.Admin/farms/{farmId}/blobservices/{serviceType}/metrics", _endpoints[2850]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.Storage.Admin/farms/{farmId}/queueservices/{serviceType}/metricdefinitions", _endpoints[2851]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.Storage.Admin/farms/{farmId}/queueservices/{serviceType}/metrics", _endpoints[2852]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.Storage.Admin/farms/{farmId}/shares/{shareName}/containers", _endpoints[2853]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.Storage.Admin/farms/{farmId}/shares/{shareName}/destinationshares", _endpoints[2854]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.Storage.Admin/farms/{farmId}/shares/{shareName}/metricdefinitions", _endpoints[2855]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.Storage.Admin/farms/{farmId}/shares/{shareName}/metrics", _endpoints[2856]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.Storage.Admin/farms/{farmId}/shares/{shareName}/migrate", _endpoints[2857]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.Storage.Admin/farms/{farmId}/tableservices/{serviceType}/metricdefinitions", _endpoints[2858]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.Storage.Admin/farms/{farmId}/tableservices/{serviceType}/metrics", _endpoints[2859]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.StorSimple/managers/{managerName}/devices/{deviceName}/authorizeForServiceEncryptionKeyRollover", _endpoints[2860]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.StorSimple/managers/{managerName}/devices/{deviceName}/backupPolicies", _endpoints[2861]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.StorSimple/managers/{managerName}/devices/{deviceName}/backups", _endpoints[2862]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.StorSimple/managers/{managerName}/devices/{deviceName}/deactivate", _endpoints[2863]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.StorSimple/managers/{managerName}/devices/{deviceName}/hardwareComponentGroups", _endpoints[2864]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.StorSimple/managers/{managerName}/devices/{deviceName}/installUpdates", _endpoints[2865]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.StorSimple/managers/{managerName}/devices/{deviceName}/jobs", _endpoints[2866]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.StorSimple/managers/{managerName}/devices/{deviceName}/listFailoverSets", _endpoints[2867]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.StorSimple/managers/{managerName}/devices/{deviceName}/metrics", _endpoints[2868]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.StorSimple/managers/{managerName}/devices/{deviceName}/metricsDefinitions", _endpoints[2869]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.StorSimple/managers/{managerName}/devices/{deviceName}/publicEncryptionKey", _endpoints[2870]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.StorSimple/managers/{managerName}/devices/{deviceName}/scanForUpdates", _endpoints[2871]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.StorSimple/managers/{managerName}/devices/{deviceName}/sendTestAlertEmail", _endpoints[2872]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.StorSimple/managers/{managerName}/devices/{deviceName}/volumeContainers", _endpoints[2873]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.StorSimple/managers/{managerName}/devices/{deviceName}/volumes", _endpoints[2874]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.StorSimple/managers/{managerName}/devices/{sourceDeviceName}/failover", _endpoints[2875]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.StorSimple/managers/{managerName}/devices/{sourceDeviceName}/listFailoverTargets", _endpoints[2876]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.StreamAnalytics/streamingjobs/{jobName}/functions/{functionName}/RetrieveDefaultDefinition", _endpoints[2877]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.StreamAnalytics/streamingjobs/{jobName}/functions/{functionName}/test", _endpoints[2878]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.StreamAnalytics/streamingjobs/{jobName}/inputs/{inputName}/test", _endpoints[2879]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.StreamAnalytics/streamingjobs/{jobName}/outputs/{outputName}/test", _endpoints[2880]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.Update.Admin/updateLocations/{updateLocation}/updates/{updateName}/Apply", _endpoints[2881]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.Update.Admin/updateLocations/{updateLocation}/updates/{updateName}/updateRuns", _endpoints[2882]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/hostingEnvironments/{name}/workerPools/{workerPoolName}/metricdefinitions", _endpoints[2883]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/hostingEnvironments/{name}/workerPools/{workerPoolName}/metrics", _endpoints[2884]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/hostingEnvironments/{name}/workerPools/{workerPoolName}/skus", _endpoints[2885]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/hostingEnvironments/{name}/workerPools/{workerPoolName}/usages", _endpoints[2886]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/serverfarms/{name}/virtualNetworkConnections/{vnetName}/routes", _endpoints[2887]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/serverfarms/{name}/workers/{workerName}/reboot", _endpoints[2888]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/backups/{backupId}/list", _endpoints[2889]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/backups/{backupId}/restore", _endpoints[2890]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/continuouswebjobs/{webJobName}/start", _endpoints[2891]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/continuouswebjobs/{webJobName}/stop", _endpoints[2892]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/deployments/{id}/log", _endpoints[2893]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/functions/{functionName}/listsecrets", _endpoints[2894]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/instances/{instanceId}/deployments", _endpoints[2895]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/instances/{instanceId}/processes", _endpoints[2896]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/processes/{processId}/dump", _endpoints[2897]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/processes/{processId}/modules", _endpoints[2898]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/processes/{processId}/threads", _endpoints[2899]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/analyzeCustomHostname", _endpoints[2900]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/applySlotConfig", _endpoints[2901]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/backup", _endpoints[2902]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/backups", _endpoints[2903]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/config", _endpoints[2904]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/containerlogs", _endpoints[2905]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/continuouswebjobs", _endpoints[2906]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/deployments", _endpoints[2907]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/domainOwnershipIdentifiers", _endpoints[2908]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/functions", _endpoints[2909]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/hostNameBindings", _endpoints[2910]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/hybridconnection", _endpoints[2911]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/hybridConnectionRelays", _endpoints[2912]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/instances", _endpoints[2913]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/iscloneable", _endpoints[2914]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/listsyncfunctiontriggerstatus", _endpoints[2915]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/metricdefinitions", _endpoints[2916]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/metrics", _endpoints[2917]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/newpassword", _endpoints[2918]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/perfcounters", _endpoints[2919]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/phplogging", _endpoints[2920]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/premieraddons", _endpoints[2921]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/processes", _endpoints[2922]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/publicCertificates", _endpoints[2923]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/publishxml", _endpoints[2924]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/recover", _endpoints[2925]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/resetSlotConfig", _endpoints[2926]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/resourceHealthMetadata", _endpoints[2927]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/restart", _endpoints[2928]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/restoreFromBackupBlob", _endpoints[2929]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/restoreFromDeletedApp", _endpoints[2930]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/restoreSnapshot", _endpoints[2931]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/siteextensions", _endpoints[2932]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/slotsdiffs", _endpoints[2933]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/slotsswap", _endpoints[2934]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/snapshots", _endpoints[2935]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/start", _endpoints[2936]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/stop", _endpoints[2937]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/sync", _endpoints[2938]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/syncfunctiontriggers", _endpoints[2939]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/triggeredwebjobs", _endpoints[2940]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/usages", _endpoints[2941]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/virtualNetworkConnections", _endpoints[2942]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/webjobs", _endpoints[2943]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/triggeredwebjobs/{webJobName}/history", _endpoints[2944]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/triggeredwebjobs/{webJobName}/run", _endpoints[2945]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{siteName}/diagnostics/{diagnosticCategory}/analyses", _endpoints[2946]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{siteName}/diagnostics/{diagnosticCategory}/detectors", _endpoints[2947]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{siteName}/recommendations/{name}/disable", _endpoints[2948]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{siteName}/slots/{slot}/detectors", _endpoints[2949]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{siteName}/slots/{slot}/diagnostics", _endpoints[2950]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/tenant/{accessName}/git/regeneratePrimaryKey", _endpoints[2951]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/tenant/{accessName}/git/regenerateSecondaryKey", _endpoints[2952]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Automation/automationAccounts/{automationAccountName}/runbooks/{runbookName}/draft/content", _endpoints[2953]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Automation/automationAccounts/{automationAccountName}/runbooks/{runbookName}/draft/publish", _endpoints[2954]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Automation/automationAccounts/{automationAccountName}/runbooks/{runbookName}/draft/testJob", _endpoints[2955]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Automation/automationAccounts/{automationAccountName}/runbooks/{runbookName}/draft/undoEdit", _endpoints[2956]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/targetRegion/{targetRegion}/percentile/metrics", _endpoints[2957]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Logic/workflows/{workflowName}/triggers/{triggerName}/schemas/json", _endpoints[2958]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/databases/{databaseName}/automaticTuning/current", _endpoints[2959]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.StorSimple/managers/{managerName}/devices/{deviceName}/alertSettings/default", _endpoints[2960]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.StorSimple/managers/{managerName}/devices/{deviceName}/networkSettings/default", _endpoints[2961]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.StorSimple/managers/{managerName}/devices/{deviceName}/securitySettings/default", _endpoints[2962]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.StorSimple/managers/{managerName}/devices/{deviceName}/timeSettings/default", _endpoints[2963]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.StorSimple/managers/{managerName}/devices/{deviceName}/updateSummary/default", _endpoints[2964]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/instances/{instanceId}/extensions/MSDeploy", _endpoints[2965]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/backups/discover", _endpoints[2966]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/config/appsettings", _endpoints[2967]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/config/authsettings", _endpoints[2968]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/config/backup", _endpoints[2969]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/config/connectionstrings", _endpoints[2970]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/config/logs", _endpoints[2971]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/config/metadata", _endpoints[2972]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/config/pushsettings", _endpoints[2973]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/config/web", _endpoints[2974]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/extensions/MSDeploy", _endpoints[2975]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/migratemysql/status", _endpoints[2976]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/networkTrace/start", _endpoints[2977]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/networkTrace/stop", _endpoints[2978]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/privateAccess/virtualNetworks", _endpoints[2979]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/resourceHealthMetadata/default", _endpoints[2980]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/sourcecontrols/web", _endpoints[2981]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Automation/automationAccounts/{automationAccountName}/runbooks/{runbookName}/draft/testJob/resume", _endpoints[2982]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Automation/automationAccounts/{automationAccountName}/runbooks/{runbookName}/draft/testJob/stop", _endpoints[2983]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Automation/automationAccounts/{automationAccountName}/runbooks/{runbookName}/draft/testJob/streams", _endpoints[2984]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Automation/automationAccounts/{automationAccountName}/runbooks/{runbookName}/draft/testJob/suspend", _endpoints[2985]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ServerManagement/nodes/{nodeName}/sessions/{session}/features/powerShellConsole/pssessions", _endpoints[2986]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.StorSimple/managers/{managerName}/devices/{deviceName}/securitySettings/default/syncRemoteManagementCertificate", _endpoints[2987]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/instances/{instanceId}/extensions/MSDeploy/log", _endpoints[2988]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/config/appsettings/list", _endpoints[2989]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/config/authsettings/list", _endpoints[2990]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/config/backup/list", _endpoints[2991]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/config/connectionstrings/list", _endpoints[2992]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/config/metadata/list", _endpoints[2993]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/config/publishingcredentials/list", _endpoints[2994]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/config/pushsettings/list", _endpoints[2995]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/config/web/snapshots", _endpoints[2996]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/containerlogs/zip/download", _endpoints[2997]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/extensions/MSDeploy/log", _endpoints[2998]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/functions/admin/token", _endpoints[2999]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Automation/automationAccounts/{automationAccountName}/runbooks/{runbookName}/draft/testJob/streams/{jobStreamId}", _endpoints[3000]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ServerManagement/nodes/{nodeName}/sessions/{session}/features/powerShellConsole/pssessions/{pssession}", _endpoints[3001]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/config/web/snapshots/{snapshotId}", _endpoints[3002]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ServerManagement/nodes/{nodeName}/sessions/{session}/features/powerShellConsole/pssessions/{pssession}/cancel", _endpoints[3003]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ServerManagement/nodes/{nodeName}/sessions/{session}/features/powerShellConsole/pssessions/{pssession}/invokeCommand", _endpoints[3004]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ServerManagement/nodes/{nodeName}/sessions/{session}/features/powerShellConsole/pssessions/{pssession}/tab", _endpoints[3005]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/config/web/snapshots/{snapshotId}/recover", _endpoints[3006]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{groupName}/providers/Microsoft.DataMigration/services/{serviceName}/projects/{projectName}/tasks/{taskName}", _endpoints[3007]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/apis/{apiId}/diagnostics/{diagnosticId}", _endpoints[3008]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/apis/{apiId}/issues/{issueId}", _endpoints[3009]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/apis/{apiId}/operations/{operationId}", _endpoints[3010]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/apis/{apiId}/policies/{policyId}", _endpoints[3011]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/apis/{apiId}/releases/{releaseId}", _endpoints[3012]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/apis/{apiId}/schemas/{schemaId}", _endpoints[3013]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/apis/{apiId}/tagDescriptions/{tagId}", _endpoints[3014]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/apis/{apiId}/tags/{tagId}", _endpoints[3015]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/diagnostics/{diagnosticId}/loggers/{loggerid}", _endpoints[3016]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/groups/{groupId}/users/{uid}", _endpoints[3017]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/notifications/{notificationName}/recipientEmails/{email}", _endpoints[3018]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/notifications/{notificationName}/recipientUsers/{uid}", _endpoints[3019]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/products/{productId}/apis/{apiId}", _endpoints[3020]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/products/{productId}/groups/{groupId}", _endpoints[3021]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/products/{productId}/policies/{policyId}", _endpoints[3022]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/products/{productId}/tags/{tagId}", _endpoints[3023]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/quotas/{quotaCounterKey}/periods/{quotaPeriodKey}", _endpoints[3024]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Automation/automationAccounts/{automationAccountName}/compilationjobs/{jobId}/streams/{jobStreamId}", _endpoints[3025]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Automation/automationAccounts/{automationAccountName}/jobs/{jobId}/streams/{jobStreamId}", _endpoints[3026]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Automation/automationAccounts/{automationAccountName}/modules/{moduleName}/activities/{activityName}", _endpoints[3027]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Automation/automationAccounts/{automationAccountName}/nodes/{nodeId}/reports/{reportId}", _endpoints[3028]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Automation/automationAccounts/{automationAccountName}/sourceControls/{sourceControlName}/sourceControlSyncJobs/{sourceControlSyncJobId}", _endpoints[3029]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Batch/batchAccounts/{accountName}/applications/{applicationId}/versions/{version}", _endpoints[3030]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.BatchAI/workspaces/{workspaceName}/experiments/{experimentName}/jobs/{jobName}", _endpoints[3031]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Cdn/profiles/{profileName}/endpoints/{endpointName}/customDomains/{customDomainName}", _endpoints[3032]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Cdn/profiles/{profileName}/endpoints/{endpointName}/origins/{originName}", _endpoints[3033]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/galleries/{galleryName}/images/{galleryImageName}/versions/{galleryImageVersionName}", _endpoints[3034]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/microsoft.Compute/virtualMachineScaleSets/{virtualMachineScaleSetName}/virtualMachines/{virtualmachineIndex}/networkInterfaces/{networkInterfaceName}", _endpoints[3035]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerRegistry/registries/{registryName}/buildTasks/{buildTaskName}/steps/{stepName}", _endpoints[3036]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.CustomerInsights/hubs/{hubName}/connectors/{connectorName}/mappings/{mappingName}", _endpoints[3037]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataFactory/factories/{factoryName}/integrationRuntimes/{integrationRuntimeName}/nodes/{nodeName}", _endpoints[3038]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataLakeAnalytics/accounts/{accountName}/storageAccounts/{storageAccountName}/containers/{containerName}", _endpoints[3039]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Devices/IotHubs/{resourceName}/eventHubEndpoints/{eventHubEndpointName}/ConsumerGroups/{name}", _endpoints[3040]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DevTestLab/labs/{labName}/artifactsources/{artifactSourceName}/armtemplates/{name}", _endpoints[3041]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DevTestLab/labs/{labName}/artifactsources/{artifactSourceName}/artifacts/{name}", _endpoints[3042]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DevTestLab/labs/{labName}/policysets/{policySetName}/policies/{name}", _endpoints[3043]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DevTestLab/labs/{labName}/users/{userName}/disks/{name}", _endpoints[3044]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DevTestLab/labs/{labName}/users/{userName}/environments/{name}", _endpoints[3045]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DevTestLab/labs/{labName}/users/{userName}/secrets/{name}", _endpoints[3046]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DevTestLab/labs/{labName}/virtualmachines/{virtualMachineName}/schedules/{name}", _endpoints[3047]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.EventHub/namespaces/{namespaceName}/disasterRecoveryConfigs/{alias}/AuthorizationRules/{authorizationRuleName}", _endpoints[3048]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.EventHub/namespaces/{namespaceName}/eventhubs/{eventHubName}/authorizationRules/{authorizationRuleName}", _endpoints[3049]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.EventHub/namespaces/{namespaceName}/eventhubs/{eventHubName}/consumergroups/{consumerGroupName}", _endpoints[3050]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Fabric.Admin/fabricLocations/{location}/logicalNetworks/{logicalNetwork}/logicalSubnets/{logicalSubnet}", _endpoints[3051]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Fabric.Admin/fabricLocations/{location}/storageSubSystems/{storageSubSystem}/storagePools/{storagePool}", _endpoints[3052]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.InfrastructureInsights.Admin/regionHealths/{location}/serviceHealths/{serviceRegistrationId}/resourceHealths/{resourceRegistrationId}", _endpoints[3053]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Logic/workflows/{workflowName}/runs/{runName}/actions/{actionName}", _endpoints[3054]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Logic/workflows/{workflowName}/runs/{runName}/operations/{operationId}", _endpoints[3055]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Logic/workflows/{workflowName}/triggers/{triggerName}/histories/{historyName}", _endpoints[3056]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.MachineLearningExperimentation/accounts/{accountName}/workspaces/{workspaceName}/projects/{projectName}", _endpoints[3057]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Media/mediaservices/{accountName}/liveEvents/{liveEventName}/liveOutputs/{liveOutputName}", _endpoints[3058]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Media/mediaServices/{accountName}/transforms/{transformName}/jobs/{jobName}", _endpoints[3059]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Migrate/projects/{projectName}/groups/{groupName}/assessments/{assessmentName}", _endpoints[3060]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/expressRouteCircuits/{circuitName}/peerings/{peeringName}/arpTables/{devicePath}", _endpoints[3061]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/expressRouteCircuits/{circuitName}/peerings/{peeringName}/connections/{connectionName}", _endpoints[3062]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/expressRouteCircuits/{circuitName}/peerings/{peeringName}/routeTables/{devicePath}", _endpoints[3063]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/expressRouteCircuits/{circuitName}/peerings/{peeringName}/routeTablesSummary/{devicePath}", _endpoints[3064]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/expressRouteCrossConnections/{crossConnectionName}/peerings/{peeringName}/arpTables/{devicePath}", _endpoints[3065]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/expressRouteCrossConnections/{crossConnectionName}/peerings/{peeringName}/routeTables/{devicePath}", _endpoints[3066]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/expressRouteCrossConnections/{crossConnectionName}/peerings/{peeringName}/routeTablesSummary/{devicePath}", _endpoints[3067]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.NotificationHubs/namespaces/{namespaceName}/notificationHubs/{notificationHubName}/AuthorizationRules/{authorizationRuleName}", _endpoints[3068]); - builder.AddEntry("/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationFabrics/{fabricName}/replicationLogicalNetworks/{logicalNetworkName}", _endpoints[3069]); - builder.AddEntry("/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationFabrics/{fabricName}/replicationNetworks/{networkName}", _endpoints[3070]); - builder.AddEntry("/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationFabrics/{fabricName}/replicationProtectionContainers/{protectionContainerName}", _endpoints[3071]); - builder.AddEntry("/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationFabrics/{fabricName}/replicationRecoveryServicesProviders/{providerName}", _endpoints[3072]); - builder.AddEntry("/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationFabrics/{fabricName}/replicationStorageClassifications/{storageClassificationName}", _endpoints[3073]); - builder.AddEntry("/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationFabrics/{fabricName}/replicationvCenters/{vCenterName}", _endpoints[3074]); - builder.AddEntry("/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupFabrics/{fabricName}/backupProtectionIntent/{intentObjectName}", _endpoints[3075]); - builder.AddEntry("/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupFabrics/{fabricName}/operationResults/{operationId}", _endpoints[3076]); - builder.AddEntry("/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupFabrics/{fabricName}/protectionContainers/{containerName}", _endpoints[3077]); - builder.AddEntry("/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupJobs/{jobName}/operationResults/{operationId}", _endpoints[3078]); - builder.AddEntry("/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupPolicies/{policyName}/operationResults/{operationId}", _endpoints[3079]); - builder.AddEntry("/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupPolicies/{policyName}/operations/{operationId}", _endpoints[3080]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Relay/namespaces/{namespaceName}/hybridConnections/{hybridConnectionName}/authorizationRules/{authorizationRuleName}", _endpoints[3081]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Relay/namespaces/{namespaceName}/wcfRelays/{relayName}/authorizationRules/{authorizationRuleName}", _endpoints[3082]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ServiceBus/namespaces/{namespaceName}/disasterRecoveryConfigs/{alias}/AuthorizationRules/{authorizationRuleName}", _endpoints[3083]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ServiceBus/namespaces/{namespaceName}/eventhubs/{eventhubName}/authorizationRules/{authorizationRuleName}", _endpoints[3084]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ServiceBus/namespaces/{namespaceName}/queues/{queueName}/authorizationRules/{authorizationRuleName}", _endpoints[3085]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ServiceBus/namespaces/{namespaceName}/topics/{topicName}/authorizationRules/{authorizationRuleName}", _endpoints[3086]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ServiceBus/namespaces/{namespaceName}/topics/{topicName}/subscriptions/{subscriptionName}", _endpoints[3087]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ServiceFabric/clusters/{clusterName}/applications/{applicationName}/services/{serviceName}", _endpoints[3088]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ServiceFabric/clusters/{clusterName}/applicationTypes/{applicationTypeName}/versions/{version}", _endpoints[3089]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/databases/{databaseName}/advisors/{advisorName}", _endpoints[3090]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/databases/{databaseName}/auditingPolicies/{tableAuditingPolicyName}", _endpoints[3091]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/databases/{databaseName}/auditingSettings/{blobAuditingPolicyName}", _endpoints[3092]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/databases/{databaseName}/backupLongTermRetentionPolicies/{backupLongTermRetentionPolicyName}", _endpoints[3093]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/databases/{databaseName}/backupShortTermRetentionPolicies/{policyName}", _endpoints[3094]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/databases/{databaseName}/connectionPolicies/{connectionPolicyName}", _endpoints[3095]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/databases/{databaseName}/dataMaskingPolicies/{dataMaskingPolicyName}", _endpoints[3096]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/databases/{databaseName}/dataWarehouseUserActivities/{dataWarehouseUserActivityName}", _endpoints[3097]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/databases/{databaseName}/extensions/{extensionName}", _endpoints[3098]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/databases/{databaseName}/geoBackupPolicies/{geoBackupPolicyName}", _endpoints[3099]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/databases/{databaseName}/replicationLinks/{linkId}", _endpoints[3100]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/databases/{databaseName}/restorePoints/{restorePointName}", _endpoints[3101]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/databases/{databaseName}/securityAlertPolicies/{securityAlertPolicyName}", _endpoints[3102]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/databases/{databaseName}/serviceTierAdvisors/{serviceTierAdvisorName}", _endpoints[3103]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/databases/{databaseName}/syncGroups/{syncGroupName}", _endpoints[3104]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/databases/{databaseName}/transparentDataEncryption/{transparentDataEncryptionName}", _endpoints[3105]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/databases/{databaseName}/vulnerabilityAssessments/{vulnerabilityAssessmentName}", _endpoints[3106]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/elasticPools/{elasticPoolName}/databases/{databaseName}", _endpoints[3107]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/jobAgents/{jobAgentName}/credentials/{credentialName}", _endpoints[3108]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/jobAgents/{jobAgentName}/jobs/{jobName}", _endpoints[3109]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/jobAgents/{jobAgentName}/targetGroups/{targetGroupName}", _endpoints[3110]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/recommendedElasticPools/{recommendedElasticPoolName}/databases/{databaseName}", _endpoints[3111]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.StorSimple/managers/{managerName}/devices/{deviceName}/backupPolicies/{backupPolicyName}", _endpoints[3112]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.StorSimple/managers/{managerName}/devices/{deviceName}/backups/{backupName}", _endpoints[3113]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.StorSimple/managers/{managerName}/devices/{deviceName}/jobs/{jobName}", _endpoints[3114]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.StorSimple/managers/{managerName}/devices/{deviceName}/volumeContainers/{volumeContainerName}", _endpoints[3115]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.Update.Admin/updateLocations/{updateLocation}/updates/{updateName}/updateRuns/{runName}", _endpoints[3116]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/serverfarms/{name}/hybridConnectionNamespaces/{namespaceName}/relays/{relayName}", _endpoints[3117]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/serverfarms/{name}/virtualNetworkConnections/{vnetName}/gateways/{gatewayName}", _endpoints[3118]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/serverfarms/{name}/virtualNetworkConnections/{vnetName}/routes/{routeName}", _endpoints[3119]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/hybridConnectionNamespaces/{namespaceName}/relays/{relayName}", _endpoints[3120]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/instances/{instanceId}/deployments/{id}", _endpoints[3121]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/instances/{instanceId}/processes/{processId}", _endpoints[3122]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/processes/{processId}/modules/{baseAddress}", _endpoints[3123]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/processes/{processId}/threads/{threadId}", _endpoints[3124]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/backups/{backupId}", _endpoints[3125]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/continuouswebjobs/{webJobName}", _endpoints[3126]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/deployments/{id}", _endpoints[3127]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/domainOwnershipIdentifiers/{domainOwnershipIdentifierName}", _endpoints[3128]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/functions/{functionName}", _endpoints[3129]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/hostNameBindings/{hostName}", _endpoints[3130]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/hybridconnection/{entityName}", _endpoints[3131]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/networkFeatures/{view}", _endpoints[3132]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/operationresults/{operationId}", _endpoints[3133]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/premieraddons/{premierAddOnName}", _endpoints[3134]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/processes/{processId}", _endpoints[3135]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/publicCertificates/{publicCertificateName}", _endpoints[3136]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/siteextensions/{siteExtensionId}", _endpoints[3137]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/triggeredwebjobs/{webJobName}", _endpoints[3138]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/virtualNetworkConnections/{vnetName}", _endpoints[3139]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/webjobs/{webJobName}", _endpoints[3140]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/triggeredwebjobs/{webJobName}/history/{id}", _endpoints[3141]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/virtualNetworkConnections/{vnetName}/gateways/{gatewayName}", _endpoints[3142]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{siteName}/diagnostics/{diagnosticCategory}/analyses/{analysisName}", _endpoints[3143]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{siteName}/diagnostics/{diagnosticCategory}/detectors/{detectorName}", _endpoints[3144]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{siteName}/slots/{slot}/detectors/{detectorName}", _endpoints[3145]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{siteName}/slots/{slot}/diagnostics/{diagnosticCategory}", _endpoints[3146]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{groupName}/providers/Microsoft.DataMigration/services/{serviceName}/projects/{projectName}/tasks/{taskName}/cancel", _endpoints[3147]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/apis/{apiId}/diagnostics/{diagnosticId}/loggers", _endpoints[3148]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/apis/{apiId}/issues/{issueId}/attachments", _endpoints[3149]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/apis/{apiId}/issues/{issueId}/comments", _endpoints[3150]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/apis/{apiId}/operations/{operationId}/policies", _endpoints[3151]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/apis/{apiId}/operations/{operationId}/policy", _endpoints[3152]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/apis/{apiId}/operations/{operationId}/tags", _endpoints[3153]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Automation/automationAccounts/{automationAccountName}/modules/{moduleName}/objectDataTypes/{typeName}/fields", _endpoints[3154]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Automation/automationAccounts/{automationAccountName}/modules/{moduleName}/types/{typeName}/fields", _endpoints[3155]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Automation/automationAccounts/{automationAccountName}/nodes/{nodeId}/reports/{reportId}/content", _endpoints[3156]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Automation/automationAccounts/{automationAccountName}/sourceControls/{sourceControlName}/sourceControlSyncJobs/{sourceControlSyncJobId}/streams", _endpoints[3157]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Batch/batchAccounts/{accountName}/applications/{applicationId}/versions/{version}/activate", _endpoints[3158]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.BatchAI/workspaces/{workspaceName}/experiments/{experimentName}/jobs/{jobName}/listOutputFiles", _endpoints[3159]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.BatchAI/workspaces/{workspaceName}/experiments/{experimentName}/jobs/{jobName}/listRemoteLoginInformation", _endpoints[3160]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.BatchAI/workspaces/{workspaceName}/experiments/{experimentName}/jobs/{jobName}/terminate", _endpoints[3161]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Cdn/profiles/{profileName}/endpoints/{endpointName}/customDomains/{customDomainName}/disableCustomHttps", _endpoints[3162]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Cdn/profiles/{profileName}/endpoints/{endpointName}/customDomains/{customDomainName}/enableCustomHttps", _endpoints[3163]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/microsoft.Compute/virtualMachineScaleSets/{virtualMachineScaleSetName}/virtualMachines/{virtualmachineIndex}/networkInterfaces/{networkInterfaceName}/ipConfigurations", _endpoints[3164]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerRegistry/registries/{registryName}/buildTasks/{buildTaskName}/steps/{stepName}/listBuildArguments", _endpoints[3165]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataFactory/factories/{factoryName}/integrationRuntimes/{integrationRuntimeName}/nodes/{nodeName}/ipAddress", _endpoints[3166]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataLakeAnalytics/accounts/{accountName}/storageAccounts/{storageAccountName}/containers/{containerName}/listSasTokens", _endpoints[3167]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DevTestLab/labs/{labName}/artifactsources/{artifactSourceName}/artifacts/{name}/generateArmTemplate", _endpoints[3168]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DevTestLab/labs/{labName}/users/{userName}/disks/{name}/attach", _endpoints[3169]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DevTestLab/labs/{labName}/users/{userName}/disks/{name}/detach", _endpoints[3170]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DevTestLab/labs/{labName}/virtualmachines/{virtualMachineName}/schedules/{name}/execute", _endpoints[3171]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/databases/{databaseRid}/collections/{collectionRid}/metricDefinitions", _endpoints[3172]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/databases/{databaseRid}/collections/{collectionRid}/metrics", _endpoints[3173]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/databases/{databaseRid}/collections/{collectionRid}/usages", _endpoints[3174]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.EventHub/namespaces/{namespaceName}/disasterRecoveryConfigs/{alias}/AuthorizationRules/{authorizationRuleName}/listKeys", _endpoints[3175]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.EventHub/namespaces/{namespaceName}/eventhubs/{eventHubName}/authorizationRules/{authorizationRuleName}/ListKeys", _endpoints[3176]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.EventHub/namespaces/{namespaceName}/eventhubs/{eventHubName}/authorizationRules/{authorizationRuleName}/regenerateKeys", _endpoints[3177]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Fabric.Admin/fabricLocations/{location}/storageSubSystems/{storageSubSystem}/storagePools/{storagePool}/volumes", _endpoints[3178]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Logic/workflows/{workflowName}/runs/{runName}/actions/{actionName}/listExpressionTraces", _endpoints[3179]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Logic/workflows/{workflowName}/runs/{runName}/actions/{actionName}/repetitions", _endpoints[3180]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Logic/workflows/{workflowName}/runs/{runName}/actions/{actionName}/scopeRepetitions", _endpoints[3181]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Logic/workflows/{workflowName}/triggers/{triggerName}/histories/{historyName}/resubmit", _endpoints[3182]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Logic/workflows/{workflowName}/versions/{versionId}/triggers/{triggerName}/listCallbackUrl", _endpoints[3183]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Media/mediaServices/{accountName}/transforms/{transformName}/jobs/{jobName}/cancelJob", _endpoints[3184]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Migrate/projects/{projectName}/groups/{groupName}/assessments/{assessmentName}/assessedMachines", _endpoints[3185]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Migrate/projects/{projectName}/groups/{groupName}/assessments/{assessmentName}/downloadUrl", _endpoints[3186]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.NotificationHubs/namespaces/{namespaceName}/notificationHubs/{notificationHubName}/AuthorizationRules/{authorizationRuleName}/listKeys", _endpoints[3187]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.NotificationHubs/namespaces/{namespaceName}/notificationHubs/{notificationHubName}/AuthorizationRules/{authorizationRuleName}/regenerateKeys", _endpoints[3188]); - builder.AddEntry("/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationFabrics/{fabricName}/replicationNetworks/{networkName}/replicationNetworkMappings", _endpoints[3189]); - builder.AddEntry("/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationFabrics/{fabricName}/replicationProtectionContainers/{protectionContainerName}/discoverProtectableItem", _endpoints[3190]); - builder.AddEntry("/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationFabrics/{fabricName}/replicationProtectionContainers/{protectionContainerName}/remove", _endpoints[3191]); - builder.AddEntry("/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationFabrics/{fabricName}/replicationProtectionContainers/{protectionContainerName}/replicationProtectableItems", _endpoints[3192]); - builder.AddEntry("/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationFabrics/{fabricName}/replicationProtectionContainers/{protectionContainerName}/replicationProtectedItems", _endpoints[3193]); - builder.AddEntry("/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationFabrics/{fabricName}/replicationProtectionContainers/{protectionContainerName}/replicationProtectionContainerMappings", _endpoints[3194]); - builder.AddEntry("/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationFabrics/{fabricName}/replicationProtectionContainers/{protectionContainerName}/switchprotection", _endpoints[3195]); - builder.AddEntry("/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationFabrics/{fabricName}/replicationRecoveryServicesProviders/{providerName}/refreshProvider", _endpoints[3196]); - builder.AddEntry("/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationFabrics/{fabricName}/replicationRecoveryServicesProviders/{providerName}/remove", _endpoints[3197]); - builder.AddEntry("/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationFabrics/{fabricName}/replicationStorageClassifications/{storageClassificationName}/replicationStorageClassificationMappings", _endpoints[3198]); - builder.AddEntry("/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupFabrics/{fabricName}/protectionContainers/{containerName}/inquire", _endpoints[3199]); - builder.AddEntry("/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupFabrics/{fabricName}/protectionContainers/{containerName}/items", _endpoints[3200]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Relay/namespaces/{namespaceName}/hybridConnections/{hybridConnectionName}/authorizationRules/{authorizationRuleName}/listKeys", _endpoints[3201]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Relay/namespaces/{namespaceName}/hybridConnections/{hybridConnectionName}/authorizationRules/{authorizationRuleName}/regenerateKeys", _endpoints[3202]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Relay/namespaces/{namespaceName}/wcfRelays/{relayName}/authorizationRules/{authorizationRuleName}/listKeys", _endpoints[3203]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Relay/namespaces/{namespaceName}/wcfRelays/{relayName}/authorizationRules/{authorizationRuleName}/regenerateKeys", _endpoints[3204]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ServiceBus/namespaces/{namespaceName}/disasterRecoveryConfigs/{alias}/AuthorizationRules/{authorizationRuleName}/listKeys", _endpoints[3205]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ServiceBus/namespaces/{namespaceName}/queues/{queueName}/authorizationRules/{authorizationRuleName}/ListKeys", _endpoints[3206]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ServiceBus/namespaces/{namespaceName}/queues/{queueName}/authorizationRules/{authorizationRuleName}/regenerateKeys", _endpoints[3207]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ServiceBus/namespaces/{namespaceName}/topics/{topicName}/authorizationRules/{authorizationRuleName}/ListKeys", _endpoints[3208]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ServiceBus/namespaces/{namespaceName}/topics/{topicName}/authorizationRules/{authorizationRuleName}/regenerateKeys", _endpoints[3209]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ServiceBus/namespaces/{namespaceName}/topics/{topicName}/subscriptions/{subscriptionName}/rules", _endpoints[3210]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/databases/{databaseName}/advisors/{advisorName}/recommendedActions", _endpoints[3211]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/databases/{databaseName}/dataMaskingPolicies/{dataMaskingPolicyName}/rules", _endpoints[3212]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/databases/{databaseName}/operations/{operationId}/cancel", _endpoints[3213]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/databases/{databaseName}/replicationLinks/{linkId}/failover", _endpoints[3214]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/databases/{databaseName}/replicationLinks/{linkId}/forceFailoverAllowDataLoss", _endpoints[3215]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/databases/{databaseName}/syncGroups/{syncGroupName}/cancelSync", _endpoints[3216]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/databases/{databaseName}/syncGroups/{syncGroupName}/hubSchemas", _endpoints[3217]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/databases/{databaseName}/syncGroups/{syncGroupName}/logs", _endpoints[3218]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/databases/{databaseName}/syncGroups/{syncGroupName}/refreshHubSchema", _endpoints[3219]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/databases/{databaseName}/syncGroups/{syncGroupName}/syncMembers", _endpoints[3220]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/databases/{databaseName}/syncGroups/{syncGroupName}/triggerSync", _endpoints[3221]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/databases/{databaseName}/topQueries/{queryId}/queryText", _endpoints[3222]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/databases/{databaseName}/topQueries/{queryId}/statistics", _endpoints[3223]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/databases/{databaseName}/transparentDataEncryption/{transparentDataEncryptionName}/operationResults", _endpoints[3224]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/databases/{databaseName}/vulnerabilityAssessments/{vulnerabilityAssessmentName}/scans", _endpoints[3225]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/elasticPools/{elasticPoolName}/operations/{operationId}/cancel", _endpoints[3226]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/jobAgents/{jobAgentName}/jobs/{jobName}/executions", _endpoints[3227]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/jobAgents/{jobAgentName}/jobs/{jobName}/start", _endpoints[3228]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/jobAgents/{jobAgentName}/jobs/{jobName}/steps", _endpoints[3229]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/jobAgents/{jobAgentName}/jobs/{jobName}/versions", _endpoints[3230]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.StorSimple/managers/{managerName}/devices/{deviceName}/backupPolicies/{backupPolicyName}/backup", _endpoints[3231]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.StorSimple/managers/{managerName}/devices/{deviceName}/backupPolicies/{backupPolicyName}/schedules", _endpoints[3232]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.StorSimple/managers/{managerName}/devices/{deviceName}/backups/{backupName}/restore", _endpoints[3233]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.StorSimple/managers/{managerName}/devices/{deviceName}/hardwareComponentGroups/{hardwareComponentGroupName}/changeControllerPowerState", _endpoints[3234]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.StorSimple/managers/{managerName}/devices/{deviceName}/jobs/{jobName}/cancel", _endpoints[3235]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.StorSimple/managers/{managerName}/devices/{deviceName}/volumeContainers/{volumeContainerName}/metrics", _endpoints[3236]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.StorSimple/managers/{managerName}/devices/{deviceName}/volumeContainers/{volumeContainerName}/metricsDefinitions", _endpoints[3237]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.StorSimple/managers/{managerName}/devices/{deviceName}/volumeContainers/{volumeContainerName}/volumes", _endpoints[3238]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.Update.Admin/updateLocations/{updateLocation}/updates/{updateName}/updateRuns/{runName}/rerun", _endpoints[3239]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/microsoft.visualstudio/account/{rootResourceName}/project/{resourceName}/subContainers/{subContainerName}/status", _endpoints[3240]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/hostingEnvironments/{name}/workerPools/{workerPoolName}/instances/{instance}/metricdefinitions", _endpoints[3241]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/hostingEnvironments/{name}/workerPools/{workerPoolName}/instances/{instance}/metrics", _endpoints[3242]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/serverfarms/{name}/hybridConnectionNamespaces/{namespaceName}/relays/{relayName}/listKeys", _endpoints[3243]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/serverfarms/{name}/hybridConnectionNamespaces/{namespaceName}/relays/{relayName}/sites", _endpoints[3244]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/hybridConnectionNamespaces/{namespaceName}/relays/{relayName}/listKeys", _endpoints[3245]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/instances/{instanceId}/processes/{processId}/dump", _endpoints[3246]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/instances/{instanceId}/processes/{processId}/modules", _endpoints[3247]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/instances/{instanceId}/processes/{processId}/threads", _endpoints[3248]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/backups/{backupId}/list", _endpoints[3249]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/backups/{backupId}/restore", _endpoints[3250]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/continuouswebjobs/{webJobName}/start", _endpoints[3251]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/continuouswebjobs/{webJobName}/stop", _endpoints[3252]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/deployments/{id}/log", _endpoints[3253]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/functions/{functionName}/listsecrets", _endpoints[3254]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/instances/{instanceId}/deployments", _endpoints[3255]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/instances/{instanceId}/processes", _endpoints[3256]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/processes/{processId}/dump", _endpoints[3257]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/processes/{processId}/modules", _endpoints[3258]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/processes/{processId}/threads", _endpoints[3259]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/triggeredwebjobs/{webJobName}/history", _endpoints[3260]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/triggeredwebjobs/{webJobName}/run", _endpoints[3261]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{siteName}/diagnostics/{diagnosticCategory}/analyses/{analysisName}/execute", _endpoints[3262]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{siteName}/diagnostics/{diagnosticCategory}/detectors/{detectorName}/execute", _endpoints[3263]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{siteName}/slots/{slot}/diagnostics/{diagnosticCategory}/analyses", _endpoints[3264]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{siteName}/slots/{slot}/diagnostics/{diagnosticCategory}/detectors", _endpoints[3265]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/databases/{databaseRid}/collections/{collectionRid}/partitions/metrics", _endpoints[3266]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/databases/{databaseRid}/collections/{collectionRid}/partitions/usages", _endpoints[3267]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/sourceRegion/{sourceRegion}/targetRegion/{targetRegion}/percentile/metrics", _endpoints[3268]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/instances/{instanceId}/extensions/MSDeploy", _endpoints[3269]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/instances/{instanceId}/extensions/MSDeploy/log", _endpoints[3270]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/apis/{apiId}/diagnostics/{diagnosticId}/loggers/{loggerid}", _endpoints[3271]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/apis/{apiId}/issues/{issueId}/attachments/{attachmentId}", _endpoints[3272]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/apis/{apiId}/issues/{issueId}/comments/{commentId}", _endpoints[3273]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/apis/{apiId}/operations/{operationId}/policies/{policyId}", _endpoints[3274]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/apis/{apiId}/operations/{operationId}/tags/{tagId}", _endpoints[3275]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Automation/automationAccounts/{automationAccountName}/sourceControls/{sourceControlName}/sourceControlSyncJobs/{sourceControlSyncJobId}/streams/{streamId}", _endpoints[3276]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/microsoft.Compute/virtualMachineScaleSets/{virtualMachineScaleSetName}/virtualMachines/{virtualmachineIndex}/networkInterfaces/{networkInterfaceName}/ipConfigurations/{ipConfigurationName}", _endpoints[3277]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Fabric.Admin/fabricLocations/{location}/storageSubSystems/{storageSubSystem}/storagePools/{storagePool}/volumes/{volume}", _endpoints[3278]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Logic/workflows/{workflowName}/runs/{runName}/actions/{actionName}/repetitions/{repetitionName}", _endpoints[3279]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Logic/workflows/{workflowName}/runs/{runName}/actions/{actionName}/scopeRepetitions/{repetitionName}", _endpoints[3280]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Migrate/projects/{projectName}/groups/{groupName}/assessments/{assessmentName}/assessedMachines/{assessedMachineName}", _endpoints[3281]); - builder.AddEntry("/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationFabrics/{fabricName}/replicationNetworks/{networkName}/replicationNetworkMappings/{networkMappingName}", _endpoints[3282]); - builder.AddEntry("/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationFabrics/{fabricName}/replicationProtectionContainers/{protectionContainerName}/replicationProtectableItems/{protectableItemName}", _endpoints[3283]); - builder.AddEntry("/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationFabrics/{fabricName}/replicationProtectionContainers/{protectionContainerName}/replicationProtectedItems/{replicatedProtectedItemName}", _endpoints[3284]); - builder.AddEntry("/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationFabrics/{fabricName}/replicationProtectionContainers/{protectionContainerName}/replicationProtectionContainerMappings/{mappingName}", _endpoints[3285]); - builder.AddEntry("/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationFabrics/{fabricName}/replicationStorageClassifications/{storageClassificationName}/replicationStorageClassificationMappings/{storageClassificationMappingName}", _endpoints[3286]); - builder.AddEntry("/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupFabrics/{fabricName}/protectionContainers/{containerName}/operationResults/{operationId}", _endpoints[3287]); - builder.AddEntry("/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupFabrics/{fabricName}/protectionContainers/{containerName}/protectedItems/{protectedItemName}", _endpoints[3288]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ServiceBus/namespaces/{namespaceName}/topics/{topicName}/subscriptions/{subscriptionName}/rules/{ruleName}", _endpoints[3289]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/databases/{databaseName}/advisors/{advisorName}/recommendedActions/{recommendedActionName}", _endpoints[3290]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/databases/{databaseName}/dataMaskingPolicies/{dataMaskingPolicyName}/rules/{dataMaskingRuleName}", _endpoints[3291]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/databases/{databaseName}/syncGroups/{syncGroupName}/syncMembers/{syncMemberName}", _endpoints[3292]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/databases/{databaseName}/vulnerabilityAssessments/{vulnerabilityAssessmentName}/scans/{scanId}", _endpoints[3293]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/jobAgents/{jobAgentName}/jobs/{jobName}/executions/{jobExecutionId}", _endpoints[3294]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/jobAgents/{jobAgentName}/jobs/{jobName}/steps/{stepName}", _endpoints[3295]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/jobAgents/{jobAgentName}/jobs/{jobName}/versions/{jobVersion}", _endpoints[3296]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.StorSimple/managers/{managerName}/devices/{deviceName}/backupPolicies/{backupPolicyName}/schedules/{backupScheduleName}", _endpoints[3297]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.StorSimple/managers/{managerName}/devices/{deviceName}/volumeContainers/{volumeContainerName}/volumes/{volumeName}", _endpoints[3298]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/instances/{instanceId}/processes/{processId}/modules/{baseAddress}", _endpoints[3299]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/instances/{instanceId}/processes/{processId}/threads/{threadId}", _endpoints[3300]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/hybridConnectionNamespaces/{namespaceName}/relays/{relayName}", _endpoints[3301]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/instances/{instanceId}/deployments/{id}", _endpoints[3302]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/instances/{instanceId}/processes/{processId}", _endpoints[3303]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/processes/{processId}/modules/{baseAddress}", _endpoints[3304]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/processes/{processId}/threads/{threadId}", _endpoints[3305]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/triggeredwebjobs/{webJobName}/history/{id}", _endpoints[3306]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/virtualNetworkConnections/{vnetName}/gateways/{gatewayName}", _endpoints[3307]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{siteName}/slots/{slot}/diagnostics/{diagnosticCategory}/analyses/{analysisName}", _endpoints[3308]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{siteName}/slots/{slot}/diagnostics/{diagnosticCategory}/detectors/{detectorName}", _endpoints[3309]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/virtualMachineScaleSets/{virtualMachineScaleSetName}/virtualMachines/{virtualmachineIndex}/networkInterfaces/{networkInterfaceName}/ipconfigurations/{ipConfigurationName}/publicipaddresses", _endpoints[3310]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/databases/{databaseRid}/collections/{collectionRid}/partitionKeyRangeId/{partitionKeyRangeId}/metrics", _endpoints[3311]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/region/{region}/databases/{databaseRid}/collections/{collectionRid}/metrics", _endpoints[3312]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Logic/workflows/{workflowName}/runs/{runName}/actions/{actionName}/repetitions/{repetitionName}/listExpressionTraces", _endpoints[3313]); - builder.AddEntry("/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationFabrics/{fabricName}/replicationProtectionContainers/{protectionContainerName}/replicationProtectedItems/{replicatedProtectedItemName}/applyRecoveryPoint", _endpoints[3314]); - builder.AddEntry("/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationFabrics/{fabricName}/replicationProtectionContainers/{protectionContainerName}/replicationProtectedItems/{replicatedProtectedItemName}/failoverCommit", _endpoints[3315]); - builder.AddEntry("/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationFabrics/{fabricName}/replicationProtectionContainers/{protectionContainerName}/replicationProtectedItems/{replicatedProtectedItemName}/plannedFailover", _endpoints[3316]); - builder.AddEntry("/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationFabrics/{fabricName}/replicationProtectionContainers/{protectionContainerName}/replicationProtectedItems/{replicatedProtectedItemName}/recoveryPoints", _endpoints[3317]); - builder.AddEntry("/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationFabrics/{fabricName}/replicationProtectionContainers/{protectionContainerName}/replicationProtectedItems/{replicatedProtectedItemName}/remove", _endpoints[3318]); - builder.AddEntry("/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationFabrics/{fabricName}/replicationProtectionContainers/{protectionContainerName}/replicationProtectedItems/{replicatedProtectedItemName}/repairReplication", _endpoints[3319]); - builder.AddEntry("/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationFabrics/{fabricName}/replicationProtectionContainers/{protectionContainerName}/replicationProtectedItems/{replicatedProtectedItemName}/reProtect", _endpoints[3320]); - builder.AddEntry("/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationFabrics/{fabricName}/replicationProtectionContainers/{protectionContainerName}/replicationProtectedItems/{replicatedProtectedItemName}/targetComputeSizes", _endpoints[3321]); - builder.AddEntry("/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationFabrics/{fabricName}/replicationProtectionContainers/{protectionContainerName}/replicationProtectedItems/{replicatedProtectedItemName}/testFailover", _endpoints[3322]); - builder.AddEntry("/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationFabrics/{fabricName}/replicationProtectionContainers/{protectionContainerName}/replicationProtectedItems/{replicatedProtectedItemName}/testFailoverCleanup", _endpoints[3323]); - builder.AddEntry("/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationFabrics/{fabricName}/replicationProtectionContainers/{protectionContainerName}/replicationProtectedItems/{replicatedProtectedItemName}/unplannedFailover", _endpoints[3324]); - builder.AddEntry("/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationFabrics/{fabricName}/replicationProtectionContainers/{protectionContainerName}/replicationProtectedItems/{replicationProtectedItemName}/updateMobilityService", _endpoints[3325]); - builder.AddEntry("/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationFabrics/{fabricName}/replicationProtectionContainers/{protectionContainerName}/replicationProtectionContainerMappings/{mappingName}/remove", _endpoints[3326]); - builder.AddEntry("/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupFabrics/{fabricName}/protectionContainers/{containerName}/protectedItems/{protectedItemName}/backup", _endpoints[3327]); - builder.AddEntry("/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupFabrics/{fabricName}/protectionContainers/{containerName}/protectedItems/{protectedItemName}/recoveryPoints", _endpoints[3328]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/databases/{databaseName}/syncGroups/{syncGroupName}/syncMembers/{syncMemberName}/refreshSchema", _endpoints[3329]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/databases/{databaseName}/syncGroups/{syncGroupName}/syncMembers/{syncMemberName}/schemas", _endpoints[3330]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/databases/{databaseName}/vulnerabilityAssessments/{vulnerabilityAssessmentName}/scans/{scanId}/export", _endpoints[3331]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/databases/{databaseName}/vulnerabilityAssessments/{vulnerabilityAssessmentName}/scans/{scanId}/initiateScan", _endpoints[3332]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/jobAgents/{jobAgentName}/jobs/{jobName}/executions/{jobExecutionId}/cancel", _endpoints[3333]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/jobAgents/{jobAgentName}/jobs/{jobName}/executions/{jobExecutionId}/steps", _endpoints[3334]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/jobAgents/{jobAgentName}/jobs/{jobName}/executions/{jobExecutionId}/targets", _endpoints[3335]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/jobAgents/{jobAgentName}/jobs/{jobName}/versions/{jobVersion}/steps", _endpoints[3336]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.StorSimple/managers/{managerName}/devices/{deviceName}/backups/{backupName}/elements/{backupElementName}/clone", _endpoints[3337]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.StorSimple/managers/{managerName}/devices/{deviceName}/volumeContainers/{volumeContainerName}/volumes/{volumeName}/metrics", _endpoints[3338]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.StorSimple/managers/{managerName}/devices/{deviceName}/volumeContainers/{volumeContainerName}/volumes/{volumeName}/metricsDefinitions", _endpoints[3339]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/hybridConnectionNamespaces/{namespaceName}/relays/{relayName}/listKeys", _endpoints[3340]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/instances/{instanceId}/processes/{processId}/dump", _endpoints[3341]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/instances/{instanceId}/processes/{processId}/modules", _endpoints[3342]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/instances/{instanceId}/processes/{processId}/threads", _endpoints[3343]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{siteName}/slots/{slot}/diagnostics/{diagnosticCategory}/analyses/{analysisName}/execute", _endpoints[3344]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{siteName}/slots/{slot}/diagnostics/{diagnosticCategory}/detectors/{detectorName}/execute", _endpoints[3345]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/region/{region}/databases/{databaseRid}/collections/{collectionRid}/partitions/metrics", _endpoints[3346]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/virtualMachineScaleSets/{virtualMachineScaleSetName}/virtualMachines/{virtualmachineIndex}/networkInterfaces/{networkInterfaceName}/ipconfigurations/{ipConfigurationName}/publicipaddresses/{publicIpAddressName}", _endpoints[3347]); - builder.AddEntry("/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationFabrics/{fabricName}/replicationProtectionContainers/{protectionContainerName}/replicationProtectedItems/{replicatedProtectedItemName}/recoveryPoints/{recoveryPointName}", _endpoints[3348]); - builder.AddEntry("/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupFabrics/{fabricName}/protectionContainers/{containerName}/protectedItems/{protectedItemName}/operationResults/{operationId}", _endpoints[3349]); - builder.AddEntry("/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupFabrics/{fabricName}/protectionContainers/{containerName}/protectedItems/{protectedItemName}/operationsStatus/{operationId}", _endpoints[3350]); - builder.AddEntry("/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupFabrics/{fabricName}/protectionContainers/{containerName}/protectedItems/{protectedItemName}/recoveryPoints/{recoveryPointId}", _endpoints[3351]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/databases/{databaseName}/vulnerabilityAssessments/{vulnerabilityAssessmentName}/rules/{ruleId}/baselines/{baselineName}", _endpoints[3352]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/jobAgents/{jobAgentName}/jobs/{jobName}/executions/{jobExecutionId}/steps/{stepName}", _endpoints[3353]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/jobAgents/{jobAgentName}/jobs/{jobName}/versions/{jobVersion}/steps/{stepName}", _endpoints[3354]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/instances/{instanceId}/processes/{processId}/modules/{baseAddress}", _endpoints[3355]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/instances/{instanceId}/processes/{processId}/threads/{threadId}", _endpoints[3356]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/region/{region}/databases/{databaseRid}/collections/{collectionRid}/partitionKeyRangeId/{partitionKeyRangeId}/metrics", _endpoints[3357]); - builder.AddEntry("/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupFabrics/{fabricName}/protectionContainers/{containerName}/protectedItems/{protectedItemName}/recoveryPoints/{recoveryPointId}/provisionInstantItemRecovery", _endpoints[3358]); - builder.AddEntry("/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupFabrics/{fabricName}/protectionContainers/{containerName}/protectedItems/{protectedItemName}/recoveryPoints/{recoveryPointId}/restore", _endpoints[3359]); - builder.AddEntry("/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupFabrics/{fabricName}/protectionContainers/{containerName}/protectedItems/{protectedItemName}/recoveryPoints/{recoveryPointId}/revokeInstantItemRecovery", _endpoints[3360]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/jobAgents/{jobAgentName}/jobs/{jobName}/executions/{jobExecutionId}/steps/{stepName}/targets", _endpoints[3361]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/jobAgents/{jobAgentName}/jobs/{jobName}/executions/{jobExecutionId}/steps/{stepName}/targets/{targetId}", _endpoints[3362]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/quotas/{quotaCounterKey}/{quotaPeriodKey}", _endpoints[3363]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Security/locations/{ascLocation}/alerts/{alertName}/{alertUpdateActionType}", _endpoints[3364]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Security/locations/{ascLocation}/jitNetworkAccessPolicies/{jitNetworkAccessPolicyName}/{jitNetworkAccessPolicyActionType}", _endpoints[3365]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Security/locations/{ascLocation}/tasks/{taskName}/{taskUpdateActionType}", _endpoints[3366]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/microsoft.insights/components/{resourceName}/{scopePath}", _endpoints[3367]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/dnsZones/{zoneName}/{recordType}", _endpoints[3368]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/microsoft.insights/components/{resourceName}/{scopePath}/item", _endpoints[3369]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/dnsZones/{zoneName}/{recordType}/{relativeRecordSetName}", _endpoints[3370]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/trafficmanagerprofiles/{profileName}/{endpointType}/{endpointName}", _endpoints[3371]); - builder.AddEntry("/apis/{apiId}/operations/{operationId}/policies/{policyId}", _endpoints[3372]); - builder.AddEntry("/apps/{appId}/versions/{versionId}/closedlists/{clEntityId}", _endpoints[3373]); - builder.AddEntry("/apps/{appId}/versions/{versionId}/compositeentities/{cEntityId}", _endpoints[3374]); - builder.AddEntry("/apps/{appId}/versions/{versionId}/customprebuiltdomains/{domainName}", _endpoints[3375]); - builder.AddEntry("/apps/{appId}/versions/{versionId}/entities/{entityId}", _endpoints[3376]); - builder.AddEntry("/apps/{appId}/versions/{versionId}/examples/{exampleId}", _endpoints[3377]); - builder.AddEntry("/apps/{appId}/versions/{versionId}/hierarchicalentities/{hEntityId}", _endpoints[3378]); - builder.AddEntry("/apps/{appId}/versions/{versionId}/intents/{intentId}", _endpoints[3379]); - builder.AddEntry("/apps/{appId}/versions/{versionId}/patternanyentities/{entityId}", _endpoints[3380]); - builder.AddEntry("/apps/{appId}/versions/{versionId}/patternrules/{patternId}", _endpoints[3381]); - builder.AddEntry("/apps/{appId}/versions/{versionId}/patterns/{patternId}", _endpoints[3382]); - builder.AddEntry("/apps/{appId}/versions/{versionId}/phraselists/{phraselistId}", _endpoints[3383]); - builder.AddEntry("/apps/{appId}/versions/{versionId}/prebuilts/{prebuiltId}", _endpoints[3384]); - builder.AddEntry("/apps/{appId}/versions/{versionId}/regexentities/{regexEntityId}", _endpoints[3385]); - builder.AddEntry("/jobs/{jobId}/tasks/{taskId}/files/{filePath}", _endpoints[3386]); - builder.AddEntry("/persongroups/{personGroupId}/persons/{personId}/persistedFaces/{persistedFaceId}", _endpoints[3387]); - builder.AddEntry("/pools/{poolId}/nodes/{nodeId}/files/{filePath}", _endpoints[3388]); - builder.AddEntry("/pools/{poolId}/nodes/{nodeId}/users/{userName}", _endpoints[3389]); - builder.AddEntry("/subscriptions/{subscriptionId}/tagNames/{tagName}/tagValues/{tagValue}", _endpoints[3390]); - builder.AddEntry("/apps/{appId}/versions/{versionId}/closedlists/{clEntityId}/sublists", _endpoints[3391]); - builder.AddEntry("/apps/{appId}/versions/{versionId}/closedlists/{entityId}/roles", _endpoints[3392]); - builder.AddEntry("/apps/{appId}/versions/{versionId}/compositeentities/{cEntityId}/children", _endpoints[3393]); - builder.AddEntry("/apps/{appId}/versions/{versionId}/compositeentities/{cEntityId}/roles", _endpoints[3394]); - builder.AddEntry("/apps/{appId}/versions/{versionId}/customprebuiltentities/{entityId}/roles", _endpoints[3395]); - builder.AddEntry("/apps/{appId}/versions/{versionId}/entities/{entityId}/roles", _endpoints[3396]); - builder.AddEntry("/apps/{appId}/versions/{versionId}/entities/{entityId}/suggest", _endpoints[3397]); - builder.AddEntry("/apps/{appId}/versions/{versionId}/hierarchicalentities/{hEntityId}/children", _endpoints[3398]); - builder.AddEntry("/apps/{appId}/versions/{versionId}/hierarchicalentities/{hEntityId}/roles", _endpoints[3399]); - builder.AddEntry("/apps/{appId}/versions/{versionId}/intents/{intentId}/patternrules", _endpoints[3400]); - builder.AddEntry("/apps/{appId}/versions/{versionId}/intents/{intentId}/suggest", _endpoints[3401]); - builder.AddEntry("/apps/{appId}/versions/{versionId}/models/{modelId}/examples", _endpoints[3402]); - builder.AddEntry("/apps/{appId}/versions/{versionId}/patternanyentities/{entityId}/explicitlist", _endpoints[3403]); - builder.AddEntry("/apps/{appId}/versions/{versionId}/patternanyentities/{entityId}/roles", _endpoints[3404]); - builder.AddEntry("/apps/{appId}/versions/{versionId}/prebuilts/{entityId}/roles", _endpoints[3405]); - builder.AddEntry("/apps/{appId}/versions/{versionId}/regexentities/{entityId}/roles", _endpoints[3406]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/deployments/{deploymentName}/operations", _endpoints[3407]); - builder.AddEntry("/subscriptions/{subscriptionId}/providers/{authorizationNamespace}/policyAssignments/{policyAssignmentName}/providers/Microsoft.PolicyInsights/policyEvents/{policyEventsResource}/queryResults", _endpoints[3408]); - builder.AddEntry("/subscriptions/{subscriptionId}/providers/{authorizationNamespace}/policyAssignments/{policyAssignmentName}/providers/Microsoft.PolicyInsights/policyStates/{policyStatesResource}/queryResults", _endpoints[3409]); - builder.AddEntry("/subscriptions/{subscriptionId}/providers/{authorizationNamespace}/policyAssignments/{policyAssignmentName}/providers/Microsoft.PolicyInsights/policyStates/{policyStatesSummaryResource}/summarize", _endpoints[3410]); - builder.AddEntry("/subscriptions/{subscriptionId}/providers/{authorizationNamespace}/policyDefinitions/{policyDefinitionName}/providers/Microsoft.PolicyInsights/policyEvents/{policyEventsResource}/queryResults", _endpoints[3411]); - builder.AddEntry("/subscriptions/{subscriptionId}/providers/{authorizationNamespace}/policyDefinitions/{policyDefinitionName}/providers/Microsoft.PolicyInsights/policyStates/{policyStatesResource}/queryResults", _endpoints[3412]); - builder.AddEntry("/subscriptions/{subscriptionId}/providers/{authorizationNamespace}/policyDefinitions/{policyDefinitionName}/providers/Microsoft.PolicyInsights/policyStates/{policyStatesSummaryResource}/summarize", _endpoints[3413]); - builder.AddEntry("/subscriptions/{subscriptionId}/providers/{authorizationNamespace}/policySetDefinitions/{policySetDefinitionName}/providers/Microsoft.PolicyInsights/policyEvents/{policyEventsResource}/queryResults", _endpoints[3414]); - builder.AddEntry("/subscriptions/{subscriptionId}/providers/{authorizationNamespace}/policySetDefinitions/{policySetDefinitionName}/providers/Microsoft.PolicyInsights/policyStates/{policyStatesResource}/queryResults", _endpoints[3415]); - builder.AddEntry("/subscriptions/{subscriptionId}/providers/{authorizationNamespace}/policySetDefinitions/{policySetDefinitionName}/providers/Microsoft.PolicyInsights/policyStates/{policyStatesSummaryResource}/summarize", _endpoints[3416]); - builder.AddEntry("/apps/{appId}/versions/{versionId}/closedlists/{clEntityId}/sublists/{subListId}", _endpoints[3417]); - builder.AddEntry("/apps/{appId}/versions/{versionId}/closedlists/{entityId}/roles/{roleId}", _endpoints[3418]); - builder.AddEntry("/apps/{appId}/versions/{versionId}/compositeentities/{cEntityId}/children/{cChildId}", _endpoints[3419]); - builder.AddEntry("/apps/{appId}/versions/{versionId}/compositeentities/{cEntityId}/roles/{roleId}", _endpoints[3420]); - builder.AddEntry("/apps/{appId}/versions/{versionId}/customprebuiltentities/{entityId}/roles/{roleId}", _endpoints[3421]); - builder.AddEntry("/apps/{appId}/versions/{versionId}/entities/{entityId}/roles/{roleId}", _endpoints[3422]); - builder.AddEntry("/apps/{appId}/versions/{versionId}/hierarchicalentities/{hEntityId}/children/{hChildId}", _endpoints[3423]); - builder.AddEntry("/apps/{appId}/versions/{versionId}/hierarchicalentities/{hEntityId}/roles/{roleId}", _endpoints[3424]); - builder.AddEntry("/apps/{appId}/versions/{versionId}/patternanyentities/{entityId}/explicitlist/{itemId}", _endpoints[3425]); - builder.AddEntry("/apps/{appId}/versions/{versionId}/patternanyentities/{entityId}/roles/{roleId}", _endpoints[3426]); - builder.AddEntry("/apps/{appId}/versions/{versionId}/prebuilts/{entityId}/roles/{roleId}", _endpoints[3427]); - builder.AddEntry("/apps/{appId}/versions/{versionId}/regexentities/{entityId}/roles/{roleId}", _endpoints[3428]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/deployments/{deploymentName}/operations/{operationId}", _endpoints[3429]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/{authorizationNamespace}/policyAssignments/{policyAssignmentName}/providers/Microsoft.PolicyInsights/policyEvents/{policyEventsResource}/queryResults", _endpoints[3430]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/{authorizationNamespace}/policyAssignments/{policyAssignmentName}/providers/Microsoft.PolicyInsights/policyStates/{policyStatesResource}/queryResults", _endpoints[3431]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/{authorizationNamespace}/policyAssignments/{policyAssignmentName}/providers/Microsoft.PolicyInsights/policyStates/{policyStatesSummaryResource}/summarize", _endpoints[3432]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{providerNamespace}/{resourceTypeName}/{resourceName}/providers/Microsoft.EventGrid/eventSubscriptions", _endpoints[3433]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{providerNamespace}/{resourceTypeName}/{resourceName}/providers/Microsoft.EventGrid/eventTypes", _endpoints[3434]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/{providerName}/{resourceType}/{resourceName}/providers/Microsoft.OperationsManagement/ManagementAssociations/{managementAssociationName}", _endpoints[3435]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{parentResourcePath}/{resourceType}/{resourceName}", _endpoints[3436]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{parentResourcePath}/{resourceType}/{resourceName}/providers/Microsoft.Authorization/locks", _endpoints[3437]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{parentResourcePath}/{resourceType}/{resourceName}/providers/Microsoft.Authorization/permissions", _endpoints[3438]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{parentResourcePath}/{resourceType}/{resourceName}/providers/Microsoft.Authorization/policyAssignments", _endpoints[3439]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{parentResourcePath}/{resourceType}/{resourceName}/providers/Microsoft.Authorization/roleAssignments", _endpoints[3440]); - builder.AddEntry("/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{parentResourcePath}/{resourceType}/{resourceName}/providers/Microsoft.Authorization/locks/{lockName}", _endpoints[3441]); - builder.AddEntry("/apps/{appId}/events/{eventType}/{eventId}", _endpoints[3442]); - builder.AddEntry("/certificates/{certificate-name}/{certificate-version}", _endpoints[3443]); - builder.AddEntry("/keys/{key-name}/{key-version}", _endpoints[3444]); - builder.AddEntry("/quotas/{quotaCounterKey}/{quotaPeriodKey}", _endpoints[3445]); - builder.AddEntry("/secrets/{secret-name}/{secret-version}", _endpoints[3446]); - builder.AddEntry("/keys/{key-name}/{key-version}/decrypt", _endpoints[3447]); - builder.AddEntry("/keys/{key-name}/{key-version}/encrypt", _endpoints[3448]); - builder.AddEntry("/keys/{key-name}/{key-version}/sign", _endpoints[3449]); - builder.AddEntry("/keys/{key-name}/{key-version}/unwrapkey", _endpoints[3450]); - builder.AddEntry("/keys/{key-name}/{key-version}/verify", _endpoints[3451]); - builder.AddEntry("/keys/{key-name}/{key-version}/wrapkey", _endpoints[3452]); - builder.AddEntry("/{applicationDefinitionId}", _endpoints[3453]); - builder.AddEntry("/{projectId}/image", _endpoints[3454]); - builder.AddEntry("/{projectId}/url", _endpoints[3455]); - builder.AddEntry("/{tenantID}/applications", _endpoints[3456]); - builder.AddEntry("/{tenantID}/domains", _endpoints[3457]); - builder.AddEntry("/{tenantID}/getObjectsByObjectIds", _endpoints[3458]); - builder.AddEntry("/{tenantID}/groups", _endpoints[3459]); - builder.AddEntry("/{tenantID}/isMemberOf", _endpoints[3460]); - builder.AddEntry("/{tenantID}/me", _endpoints[3461]); - builder.AddEntry("/{tenantID}/servicePrincipals", _endpoints[3462]); - builder.AddEntry("/{tenantID}/users", _endpoints[3463]); - builder.AddEntry("/{projectId}/image/nostore", _endpoints[3464]); - builder.AddEntry("/{projectId}/url/nostore", _endpoints[3465]); - builder.AddEntry("/{resourceUri}/providers/microsoft.insights/calculatebaseline", _endpoints[3466]); - builder.AddEntry("/{resourceUri}/providers/microsoft.insights/diagnosticSettings", _endpoints[3467]); - builder.AddEntry("/{resourceUri}/providers/microsoft.insights/diagnosticSettingsCategories", _endpoints[3468]); - builder.AddEntry("/{resourceUri}/providers/microsoft.insights/metricDefinitions", _endpoints[3469]); - builder.AddEntry("/{resourceUri}/providers/microsoft.insights/metrics", _endpoints[3470]); - builder.AddEntry("/{resourceUri}/providers/Microsoft.ResourceHealth/availabilityStatuses", _endpoints[3471]); - builder.AddEntry("/{scope}/providers/Microsoft.Authorization/policyAssignments", _endpoints[3472]); - builder.AddEntry("/{scope}/providers/Microsoft.Authorization/roleAssignments", _endpoints[3473]); - builder.AddEntry("/{scope}/providers/Microsoft.Authorization/roleDefinitions", _endpoints[3474]); - builder.AddEntry("/{scope}/providers/Microsoft.Consumption/reservationDetails", _endpoints[3475]); - builder.AddEntry("/{scope}/providers/Microsoft.Consumption/reservationSummaries", _endpoints[3476]); - builder.AddEntry("/{scope}/providers/Microsoft.Consumption/usageDetails", _endpoints[3477]); - builder.AddEntry("/{scope}/providers/Microsoft.Resources/links", _endpoints[3478]); - builder.AddEntry("/{scope}/providers/Microsoft.Security/compliances", _endpoints[3479]); - builder.AddEntry("/{resourceUri}/providers/microsoft.insights/diagnosticSettings/service", _endpoints[3480]); - builder.AddEntry("/{resourceUri}/providers/Microsoft.ResourceHealth/availabilityStatuses/current", _endpoints[3481]); - builder.AddEntry("/{scope}/providers/Microsoft.PolicyInsights/policyEvents/$metadata", _endpoints[3482]); - builder.AddEntry("/{scope}/providers/Microsoft.PolicyInsights/policyStates/$metadata", _endpoints[3483]); - builder.AddEntry("/{resourceUri}/providers/Microsoft.Advisor/recommendations/{recommendationId}", _endpoints[3484]); - builder.AddEntry("/{resourceUri}/providers/microsoft.insights/baseline/{metricName}", _endpoints[3485]); - builder.AddEntry("/{resourceUri}/providers/microsoft.insights/diagnosticSettings/{name}", _endpoints[3486]); - builder.AddEntry("/{resourceUri}/providers/microsoft.insights/diagnosticSettingsCategories/{name}", _endpoints[3487]); - builder.AddEntry("/{scope}/providers/Microsoft.Authorization/locks/{lockName}", _endpoints[3488]); - builder.AddEntry("/{scope}/providers/Microsoft.Authorization/policyAssignments/{policyAssignmentName}", _endpoints[3489]); - builder.AddEntry("/{scope}/providers/Microsoft.Authorization/roleAssignments/{roleAssignmentName}", _endpoints[3490]); - builder.AddEntry("/{scope}/providers/Microsoft.Authorization/roleDefinitions/{roleDefinitionId}", _endpoints[3491]); - builder.AddEntry("/{scope}/providers/Microsoft.EventGrid/eventSubscriptions/{eventSubscriptionName}", _endpoints[3492]); - builder.AddEntry("/{scope}/providers/Microsoft.Security/compliances/{complianceName}", _endpoints[3493]); - builder.AddEntry("/{resourceId}/providers/Microsoft.PolicyInsights/policyEvents/{policyEventsResource}/queryResults", _endpoints[3494]); - builder.AddEntry("/{resourceId}/providers/Microsoft.PolicyInsights/policyStates/{policyStatesResource}/queryResults", _endpoints[3495]); - builder.AddEntry("/{resourceId}/providers/Microsoft.PolicyInsights/policyStates/{policyStatesSummaryResource}/summarize", _endpoints[3496]); - builder.AddEntry("/{scope}/providers/Microsoft.EventGrid/eventSubscriptions/{eventSubscriptionName}/getFullUrl", _endpoints[3497]); - builder.AddEntry("/{resourceUri}/providers/Microsoft.Advisor/recommendations/{recommendationId}/suppressions/{name}", _endpoints[3498]); - builder.AddEntry("/{tenantID}/applications/{applicationObjectId}", _endpoints[3499]); - builder.AddEntry("/{tenantID}/domains/{domainName}", _endpoints[3500]); - builder.AddEntry("/{tenantID}/groups/{objectId}", _endpoints[3501]); - builder.AddEntry("/{tenantID}/servicePrincipals/{objectId}", _endpoints[3502]); - builder.AddEntry("/{tenantID}/users/{upnOrObjectId}", _endpoints[3503]); - builder.AddEntry("/{projectId}/images/{imageId}/regionproposals", _endpoints[3504]); - builder.AddEntry("/{tenantID}/applications/{applicationObjectId}/keyCredentials", _endpoints[3505]); - builder.AddEntry("/{tenantID}/applications/{applicationObjectId}/owners", _endpoints[3506]); - builder.AddEntry("/{tenantID}/applications/{applicationObjectId}/passwordCredentials", _endpoints[3507]); - builder.AddEntry("/{tenantID}/groups/{objectId}/getMemberGroups", _endpoints[3508]); - builder.AddEntry("/{tenantID}/groups/{objectId}/members", _endpoints[3509]); - builder.AddEntry("/{tenantID}/servicePrincipals/{objectId}/keyCredentials", _endpoints[3510]); - builder.AddEntry("/{tenantID}/servicePrincipals/{objectId}/owners", _endpoints[3511]); - builder.AddEntry("/{tenantID}/servicePrincipals/{objectId}/passwordCredentials", _endpoints[3512]); - builder.AddEntry("/{tenantID}/users/{objectId}/getMemberGroups", _endpoints[3513]); - builder.AddEntry("/{tenantID}/applications/{applicationObjectId}/$links/owners", _endpoints[3514]); - builder.AddEntry("/{tenantID}/groups/{groupObjectId}/$links/members", _endpoints[3515]); - builder.AddEntry("/{tenantID}/groups/{groupObjectId}/$links/members/{memberObjectId}", _endpoints[3516]); + builder.AddEndpoint(_endpoints[0]); + builder.AddEndpoint(_endpoints[1]); + builder.AddEndpoint(_endpoints[2]); + builder.AddEndpoint(_endpoints[3]); + builder.AddEndpoint(_endpoints[4]); + builder.AddEndpoint(_endpoints[5]); + builder.AddEndpoint(_endpoints[6]); + builder.AddEndpoint(_endpoints[7]); + builder.AddEndpoint(_endpoints[8]); + builder.AddEndpoint(_endpoints[9]); + builder.AddEndpoint(_endpoints[10]); + builder.AddEndpoint(_endpoints[11]); + builder.AddEndpoint(_endpoints[12]); + builder.AddEndpoint(_endpoints[13]); + builder.AddEndpoint(_endpoints[14]); + builder.AddEndpoint(_endpoints[15]); + builder.AddEndpoint(_endpoints[16]); + builder.AddEndpoint(_endpoints[17]); + builder.AddEndpoint(_endpoints[18]); + builder.AddEndpoint(_endpoints[19]); + builder.AddEndpoint(_endpoints[20]); + builder.AddEndpoint(_endpoints[21]); + builder.AddEndpoint(_endpoints[22]); + builder.AddEndpoint(_endpoints[23]); + builder.AddEndpoint(_endpoints[24]); + builder.AddEndpoint(_endpoints[25]); + builder.AddEndpoint(_endpoints[26]); + builder.AddEndpoint(_endpoints[27]); + builder.AddEndpoint(_endpoints[28]); + builder.AddEndpoint(_endpoints[29]); + builder.AddEndpoint(_endpoints[30]); + builder.AddEndpoint(_endpoints[31]); + builder.AddEndpoint(_endpoints[32]); + builder.AddEndpoint(_endpoints[33]); + builder.AddEndpoint(_endpoints[34]); + builder.AddEndpoint(_endpoints[35]); + builder.AddEndpoint(_endpoints[36]); + builder.AddEndpoint(_endpoints[37]); + builder.AddEndpoint(_endpoints[38]); + builder.AddEndpoint(_endpoints[39]); + builder.AddEndpoint(_endpoints[40]); + builder.AddEndpoint(_endpoints[41]); + builder.AddEndpoint(_endpoints[42]); + builder.AddEndpoint(_endpoints[43]); + builder.AddEndpoint(_endpoints[44]); + builder.AddEndpoint(_endpoints[45]); + builder.AddEndpoint(_endpoints[46]); + builder.AddEndpoint(_endpoints[47]); + builder.AddEndpoint(_endpoints[48]); + builder.AddEndpoint(_endpoints[49]); + builder.AddEndpoint(_endpoints[50]); + builder.AddEndpoint(_endpoints[51]); + builder.AddEndpoint(_endpoints[52]); + builder.AddEndpoint(_endpoints[53]); + builder.AddEndpoint(_endpoints[54]); + builder.AddEndpoint(_endpoints[55]); + builder.AddEndpoint(_endpoints[56]); + builder.AddEndpoint(_endpoints[57]); + builder.AddEndpoint(_endpoints[58]); + builder.AddEndpoint(_endpoints[59]); + builder.AddEndpoint(_endpoints[60]); + builder.AddEndpoint(_endpoints[61]); + builder.AddEndpoint(_endpoints[62]); + builder.AddEndpoint(_endpoints[63]); + builder.AddEndpoint(_endpoints[64]); + builder.AddEndpoint(_endpoints[65]); + builder.AddEndpoint(_endpoints[66]); + builder.AddEndpoint(_endpoints[67]); + builder.AddEndpoint(_endpoints[68]); + builder.AddEndpoint(_endpoints[69]); + builder.AddEndpoint(_endpoints[70]); + builder.AddEndpoint(_endpoints[71]); + builder.AddEndpoint(_endpoints[72]); + builder.AddEndpoint(_endpoints[73]); + builder.AddEndpoint(_endpoints[74]); + builder.AddEndpoint(_endpoints[75]); + builder.AddEndpoint(_endpoints[76]); + builder.AddEndpoint(_endpoints[77]); + builder.AddEndpoint(_endpoints[78]); + builder.AddEndpoint(_endpoints[79]); + builder.AddEndpoint(_endpoints[80]); + builder.AddEndpoint(_endpoints[81]); + builder.AddEndpoint(_endpoints[82]); + builder.AddEndpoint(_endpoints[83]); + builder.AddEndpoint(_endpoints[84]); + builder.AddEndpoint(_endpoints[85]); + builder.AddEndpoint(_endpoints[86]); + builder.AddEndpoint(_endpoints[87]); + builder.AddEndpoint(_endpoints[88]); + builder.AddEndpoint(_endpoints[89]); + builder.AddEndpoint(_endpoints[90]); + builder.AddEndpoint(_endpoints[91]); + builder.AddEndpoint(_endpoints[92]); + builder.AddEndpoint(_endpoints[93]); + builder.AddEndpoint(_endpoints[94]); + builder.AddEndpoint(_endpoints[95]); + builder.AddEndpoint(_endpoints[96]); + builder.AddEndpoint(_endpoints[97]); + builder.AddEndpoint(_endpoints[98]); + builder.AddEndpoint(_endpoints[99]); + builder.AddEndpoint(_endpoints[100]); + builder.AddEndpoint(_endpoints[101]); + builder.AddEndpoint(_endpoints[102]); + builder.AddEndpoint(_endpoints[103]); + builder.AddEndpoint(_endpoints[104]); + builder.AddEndpoint(_endpoints[105]); + builder.AddEndpoint(_endpoints[106]); + builder.AddEndpoint(_endpoints[107]); + builder.AddEndpoint(_endpoints[108]); + builder.AddEndpoint(_endpoints[109]); + builder.AddEndpoint(_endpoints[110]); + builder.AddEndpoint(_endpoints[111]); + builder.AddEndpoint(_endpoints[112]); + builder.AddEndpoint(_endpoints[113]); + builder.AddEndpoint(_endpoints[114]); + builder.AddEndpoint(_endpoints[115]); + builder.AddEndpoint(_endpoints[116]); + builder.AddEndpoint(_endpoints[117]); + builder.AddEndpoint(_endpoints[118]); + builder.AddEndpoint(_endpoints[119]); + builder.AddEndpoint(_endpoints[120]); + builder.AddEndpoint(_endpoints[121]); + builder.AddEndpoint(_endpoints[122]); + builder.AddEndpoint(_endpoints[123]); + builder.AddEndpoint(_endpoints[124]); + builder.AddEndpoint(_endpoints[125]); + builder.AddEndpoint(_endpoints[126]); + builder.AddEndpoint(_endpoints[127]); + builder.AddEndpoint(_endpoints[128]); + builder.AddEndpoint(_endpoints[129]); + builder.AddEndpoint(_endpoints[130]); + builder.AddEndpoint(_endpoints[131]); + builder.AddEndpoint(_endpoints[132]); + builder.AddEndpoint(_endpoints[133]); + builder.AddEndpoint(_endpoints[134]); + builder.AddEndpoint(_endpoints[135]); + builder.AddEndpoint(_endpoints[136]); + builder.AddEndpoint(_endpoints[137]); + builder.AddEndpoint(_endpoints[138]); + builder.AddEndpoint(_endpoints[139]); + builder.AddEndpoint(_endpoints[140]); + builder.AddEndpoint(_endpoints[141]); + builder.AddEndpoint(_endpoints[142]); + builder.AddEndpoint(_endpoints[143]); + builder.AddEndpoint(_endpoints[144]); + builder.AddEndpoint(_endpoints[145]); + builder.AddEndpoint(_endpoints[146]); + builder.AddEndpoint(_endpoints[147]); + builder.AddEndpoint(_endpoints[148]); + builder.AddEndpoint(_endpoints[149]); + builder.AddEndpoint(_endpoints[150]); + builder.AddEndpoint(_endpoints[151]); + builder.AddEndpoint(_endpoints[152]); + builder.AddEndpoint(_endpoints[153]); + builder.AddEndpoint(_endpoints[154]); + builder.AddEndpoint(_endpoints[155]); + builder.AddEndpoint(_endpoints[156]); + builder.AddEndpoint(_endpoints[157]); + builder.AddEndpoint(_endpoints[158]); + builder.AddEndpoint(_endpoints[159]); + builder.AddEndpoint(_endpoints[160]); + builder.AddEndpoint(_endpoints[161]); + builder.AddEndpoint(_endpoints[162]); + builder.AddEndpoint(_endpoints[163]); + builder.AddEndpoint(_endpoints[164]); + builder.AddEndpoint(_endpoints[165]); + builder.AddEndpoint(_endpoints[166]); + builder.AddEndpoint(_endpoints[167]); + builder.AddEndpoint(_endpoints[168]); + builder.AddEndpoint(_endpoints[169]); + builder.AddEndpoint(_endpoints[170]); + builder.AddEndpoint(_endpoints[171]); + builder.AddEndpoint(_endpoints[172]); + builder.AddEndpoint(_endpoints[173]); + builder.AddEndpoint(_endpoints[174]); + builder.AddEndpoint(_endpoints[175]); + builder.AddEndpoint(_endpoints[176]); + builder.AddEndpoint(_endpoints[177]); + builder.AddEndpoint(_endpoints[178]); + builder.AddEndpoint(_endpoints[179]); + builder.AddEndpoint(_endpoints[180]); + builder.AddEndpoint(_endpoints[181]); + builder.AddEndpoint(_endpoints[182]); + builder.AddEndpoint(_endpoints[183]); + builder.AddEndpoint(_endpoints[184]); + builder.AddEndpoint(_endpoints[185]); + builder.AddEndpoint(_endpoints[186]); + builder.AddEndpoint(_endpoints[187]); + builder.AddEndpoint(_endpoints[188]); + builder.AddEndpoint(_endpoints[189]); + builder.AddEndpoint(_endpoints[190]); + builder.AddEndpoint(_endpoints[191]); + builder.AddEndpoint(_endpoints[192]); + builder.AddEndpoint(_endpoints[193]); + builder.AddEndpoint(_endpoints[194]); + builder.AddEndpoint(_endpoints[195]); + builder.AddEndpoint(_endpoints[196]); + builder.AddEndpoint(_endpoints[197]); + builder.AddEndpoint(_endpoints[198]); + builder.AddEndpoint(_endpoints[199]); + builder.AddEndpoint(_endpoints[200]); + builder.AddEndpoint(_endpoints[201]); + builder.AddEndpoint(_endpoints[202]); + builder.AddEndpoint(_endpoints[203]); + builder.AddEndpoint(_endpoints[204]); + builder.AddEndpoint(_endpoints[205]); + builder.AddEndpoint(_endpoints[206]); + builder.AddEndpoint(_endpoints[207]); + builder.AddEndpoint(_endpoints[208]); + builder.AddEndpoint(_endpoints[209]); + builder.AddEndpoint(_endpoints[210]); + builder.AddEndpoint(_endpoints[211]); + builder.AddEndpoint(_endpoints[212]); + builder.AddEndpoint(_endpoints[213]); + builder.AddEndpoint(_endpoints[214]); + builder.AddEndpoint(_endpoints[215]); + builder.AddEndpoint(_endpoints[216]); + builder.AddEndpoint(_endpoints[217]); + builder.AddEndpoint(_endpoints[218]); + builder.AddEndpoint(_endpoints[219]); + builder.AddEndpoint(_endpoints[220]); + builder.AddEndpoint(_endpoints[221]); + builder.AddEndpoint(_endpoints[222]); + builder.AddEndpoint(_endpoints[223]); + builder.AddEndpoint(_endpoints[224]); + builder.AddEndpoint(_endpoints[225]); + builder.AddEndpoint(_endpoints[226]); + builder.AddEndpoint(_endpoints[227]); + builder.AddEndpoint(_endpoints[228]); + builder.AddEndpoint(_endpoints[229]); + builder.AddEndpoint(_endpoints[230]); + builder.AddEndpoint(_endpoints[231]); + builder.AddEndpoint(_endpoints[232]); + builder.AddEndpoint(_endpoints[233]); + builder.AddEndpoint(_endpoints[234]); + builder.AddEndpoint(_endpoints[235]); + builder.AddEndpoint(_endpoints[236]); + builder.AddEndpoint(_endpoints[237]); + builder.AddEndpoint(_endpoints[238]); + builder.AddEndpoint(_endpoints[239]); + builder.AddEndpoint(_endpoints[240]); + builder.AddEndpoint(_endpoints[241]); + builder.AddEndpoint(_endpoints[242]); + builder.AddEndpoint(_endpoints[243]); + builder.AddEndpoint(_endpoints[244]); + builder.AddEndpoint(_endpoints[245]); + builder.AddEndpoint(_endpoints[246]); + builder.AddEndpoint(_endpoints[247]); + builder.AddEndpoint(_endpoints[248]); + builder.AddEndpoint(_endpoints[249]); + builder.AddEndpoint(_endpoints[250]); + builder.AddEndpoint(_endpoints[251]); + builder.AddEndpoint(_endpoints[252]); + builder.AddEndpoint(_endpoints[253]); + builder.AddEndpoint(_endpoints[254]); + builder.AddEndpoint(_endpoints[255]); + builder.AddEndpoint(_endpoints[256]); + builder.AddEndpoint(_endpoints[257]); + builder.AddEndpoint(_endpoints[258]); + builder.AddEndpoint(_endpoints[259]); + builder.AddEndpoint(_endpoints[260]); + builder.AddEndpoint(_endpoints[261]); + builder.AddEndpoint(_endpoints[262]); + builder.AddEndpoint(_endpoints[263]); + builder.AddEndpoint(_endpoints[264]); + builder.AddEndpoint(_endpoints[265]); + builder.AddEndpoint(_endpoints[266]); + builder.AddEndpoint(_endpoints[267]); + builder.AddEndpoint(_endpoints[268]); + builder.AddEndpoint(_endpoints[269]); + builder.AddEndpoint(_endpoints[270]); + builder.AddEndpoint(_endpoints[271]); + builder.AddEndpoint(_endpoints[272]); + builder.AddEndpoint(_endpoints[273]); + builder.AddEndpoint(_endpoints[274]); + builder.AddEndpoint(_endpoints[275]); + builder.AddEndpoint(_endpoints[276]); + builder.AddEndpoint(_endpoints[277]); + builder.AddEndpoint(_endpoints[278]); + builder.AddEndpoint(_endpoints[279]); + builder.AddEndpoint(_endpoints[280]); + builder.AddEndpoint(_endpoints[281]); + builder.AddEndpoint(_endpoints[282]); + builder.AddEndpoint(_endpoints[283]); + builder.AddEndpoint(_endpoints[284]); + builder.AddEndpoint(_endpoints[285]); + builder.AddEndpoint(_endpoints[286]); + builder.AddEndpoint(_endpoints[287]); + builder.AddEndpoint(_endpoints[288]); + builder.AddEndpoint(_endpoints[289]); + builder.AddEndpoint(_endpoints[290]); + builder.AddEndpoint(_endpoints[291]); + builder.AddEndpoint(_endpoints[292]); + builder.AddEndpoint(_endpoints[293]); + builder.AddEndpoint(_endpoints[294]); + builder.AddEndpoint(_endpoints[295]); + builder.AddEndpoint(_endpoints[296]); + builder.AddEndpoint(_endpoints[297]); + builder.AddEndpoint(_endpoints[298]); + builder.AddEndpoint(_endpoints[299]); + builder.AddEndpoint(_endpoints[300]); + builder.AddEndpoint(_endpoints[301]); + builder.AddEndpoint(_endpoints[302]); + builder.AddEndpoint(_endpoints[303]); + builder.AddEndpoint(_endpoints[304]); + builder.AddEndpoint(_endpoints[305]); + builder.AddEndpoint(_endpoints[306]); + builder.AddEndpoint(_endpoints[307]); + builder.AddEndpoint(_endpoints[308]); + builder.AddEndpoint(_endpoints[309]); + builder.AddEndpoint(_endpoints[310]); + builder.AddEndpoint(_endpoints[311]); + builder.AddEndpoint(_endpoints[312]); + builder.AddEndpoint(_endpoints[313]); + builder.AddEndpoint(_endpoints[314]); + builder.AddEndpoint(_endpoints[315]); + builder.AddEndpoint(_endpoints[316]); + builder.AddEndpoint(_endpoints[317]); + builder.AddEndpoint(_endpoints[318]); + builder.AddEndpoint(_endpoints[319]); + builder.AddEndpoint(_endpoints[320]); + builder.AddEndpoint(_endpoints[321]); + builder.AddEndpoint(_endpoints[322]); + builder.AddEndpoint(_endpoints[323]); + builder.AddEndpoint(_endpoints[324]); + builder.AddEndpoint(_endpoints[325]); + builder.AddEndpoint(_endpoints[326]); + builder.AddEndpoint(_endpoints[327]); + builder.AddEndpoint(_endpoints[328]); + builder.AddEndpoint(_endpoints[329]); + builder.AddEndpoint(_endpoints[330]); + builder.AddEndpoint(_endpoints[331]); + builder.AddEndpoint(_endpoints[332]); + builder.AddEndpoint(_endpoints[333]); + builder.AddEndpoint(_endpoints[334]); + builder.AddEndpoint(_endpoints[335]); + builder.AddEndpoint(_endpoints[336]); + builder.AddEndpoint(_endpoints[337]); + builder.AddEndpoint(_endpoints[338]); + builder.AddEndpoint(_endpoints[339]); + builder.AddEndpoint(_endpoints[340]); + builder.AddEndpoint(_endpoints[341]); + builder.AddEndpoint(_endpoints[342]); + builder.AddEndpoint(_endpoints[343]); + builder.AddEndpoint(_endpoints[344]); + builder.AddEndpoint(_endpoints[345]); + builder.AddEndpoint(_endpoints[346]); + builder.AddEndpoint(_endpoints[347]); + builder.AddEndpoint(_endpoints[348]); + builder.AddEndpoint(_endpoints[349]); + builder.AddEndpoint(_endpoints[350]); + builder.AddEndpoint(_endpoints[351]); + builder.AddEndpoint(_endpoints[352]); + builder.AddEndpoint(_endpoints[353]); + builder.AddEndpoint(_endpoints[354]); + builder.AddEndpoint(_endpoints[355]); + builder.AddEndpoint(_endpoints[356]); + builder.AddEndpoint(_endpoints[357]); + builder.AddEndpoint(_endpoints[358]); + builder.AddEndpoint(_endpoints[359]); + builder.AddEndpoint(_endpoints[360]); + builder.AddEndpoint(_endpoints[361]); + builder.AddEndpoint(_endpoints[362]); + builder.AddEndpoint(_endpoints[363]); + builder.AddEndpoint(_endpoints[364]); + builder.AddEndpoint(_endpoints[365]); + builder.AddEndpoint(_endpoints[366]); + builder.AddEndpoint(_endpoints[367]); + builder.AddEndpoint(_endpoints[368]); + builder.AddEndpoint(_endpoints[369]); + builder.AddEndpoint(_endpoints[370]); + builder.AddEndpoint(_endpoints[371]); + builder.AddEndpoint(_endpoints[372]); + builder.AddEndpoint(_endpoints[373]); + builder.AddEndpoint(_endpoints[374]); + builder.AddEndpoint(_endpoints[375]); + builder.AddEndpoint(_endpoints[376]); + builder.AddEndpoint(_endpoints[377]); + builder.AddEndpoint(_endpoints[378]); + builder.AddEndpoint(_endpoints[379]); + builder.AddEndpoint(_endpoints[380]); + builder.AddEndpoint(_endpoints[381]); + builder.AddEndpoint(_endpoints[382]); + builder.AddEndpoint(_endpoints[383]); + builder.AddEndpoint(_endpoints[384]); + builder.AddEndpoint(_endpoints[385]); + builder.AddEndpoint(_endpoints[386]); + builder.AddEndpoint(_endpoints[387]); + builder.AddEndpoint(_endpoints[388]); + builder.AddEndpoint(_endpoints[389]); + builder.AddEndpoint(_endpoints[390]); + builder.AddEndpoint(_endpoints[391]); + builder.AddEndpoint(_endpoints[392]); + builder.AddEndpoint(_endpoints[393]); + builder.AddEndpoint(_endpoints[394]); + builder.AddEndpoint(_endpoints[395]); + builder.AddEndpoint(_endpoints[396]); + builder.AddEndpoint(_endpoints[397]); + builder.AddEndpoint(_endpoints[398]); + builder.AddEndpoint(_endpoints[399]); + builder.AddEndpoint(_endpoints[400]); + builder.AddEndpoint(_endpoints[401]); + builder.AddEndpoint(_endpoints[402]); + builder.AddEndpoint(_endpoints[403]); + builder.AddEndpoint(_endpoints[404]); + builder.AddEndpoint(_endpoints[405]); + builder.AddEndpoint(_endpoints[406]); + builder.AddEndpoint(_endpoints[407]); + builder.AddEndpoint(_endpoints[408]); + builder.AddEndpoint(_endpoints[409]); + builder.AddEndpoint(_endpoints[410]); + builder.AddEndpoint(_endpoints[411]); + builder.AddEndpoint(_endpoints[412]); + builder.AddEndpoint(_endpoints[413]); + builder.AddEndpoint(_endpoints[414]); + builder.AddEndpoint(_endpoints[415]); + builder.AddEndpoint(_endpoints[416]); + builder.AddEndpoint(_endpoints[417]); + builder.AddEndpoint(_endpoints[418]); + builder.AddEndpoint(_endpoints[419]); + builder.AddEndpoint(_endpoints[420]); + builder.AddEndpoint(_endpoints[421]); + builder.AddEndpoint(_endpoints[422]); + builder.AddEndpoint(_endpoints[423]); + builder.AddEndpoint(_endpoints[424]); + builder.AddEndpoint(_endpoints[425]); + builder.AddEndpoint(_endpoints[426]); + builder.AddEndpoint(_endpoints[427]); + builder.AddEndpoint(_endpoints[428]); + builder.AddEndpoint(_endpoints[429]); + builder.AddEndpoint(_endpoints[430]); + builder.AddEndpoint(_endpoints[431]); + builder.AddEndpoint(_endpoints[432]); + builder.AddEndpoint(_endpoints[433]); + builder.AddEndpoint(_endpoints[434]); + builder.AddEndpoint(_endpoints[435]); + builder.AddEndpoint(_endpoints[436]); + builder.AddEndpoint(_endpoints[437]); + builder.AddEndpoint(_endpoints[438]); + builder.AddEndpoint(_endpoints[439]); + builder.AddEndpoint(_endpoints[440]); + builder.AddEndpoint(_endpoints[441]); + builder.AddEndpoint(_endpoints[442]); + builder.AddEndpoint(_endpoints[443]); + builder.AddEndpoint(_endpoints[444]); + builder.AddEndpoint(_endpoints[445]); + builder.AddEndpoint(_endpoints[446]); + builder.AddEndpoint(_endpoints[447]); + builder.AddEndpoint(_endpoints[448]); + builder.AddEndpoint(_endpoints[449]); + builder.AddEndpoint(_endpoints[450]); + builder.AddEndpoint(_endpoints[451]); + builder.AddEndpoint(_endpoints[452]); + builder.AddEndpoint(_endpoints[453]); + builder.AddEndpoint(_endpoints[454]); + builder.AddEndpoint(_endpoints[455]); + builder.AddEndpoint(_endpoints[456]); + builder.AddEndpoint(_endpoints[457]); + builder.AddEndpoint(_endpoints[458]); + builder.AddEndpoint(_endpoints[459]); + builder.AddEndpoint(_endpoints[460]); + builder.AddEndpoint(_endpoints[461]); + builder.AddEndpoint(_endpoints[462]); + builder.AddEndpoint(_endpoints[463]); + builder.AddEndpoint(_endpoints[464]); + builder.AddEndpoint(_endpoints[465]); + builder.AddEndpoint(_endpoints[466]); + builder.AddEndpoint(_endpoints[467]); + builder.AddEndpoint(_endpoints[468]); + builder.AddEndpoint(_endpoints[469]); + builder.AddEndpoint(_endpoints[470]); + builder.AddEndpoint(_endpoints[471]); + builder.AddEndpoint(_endpoints[472]); + builder.AddEndpoint(_endpoints[473]); + builder.AddEndpoint(_endpoints[474]); + builder.AddEndpoint(_endpoints[475]); + builder.AddEndpoint(_endpoints[476]); + builder.AddEndpoint(_endpoints[477]); + builder.AddEndpoint(_endpoints[478]); + builder.AddEndpoint(_endpoints[479]); + builder.AddEndpoint(_endpoints[480]); + builder.AddEndpoint(_endpoints[481]); + builder.AddEndpoint(_endpoints[482]); + builder.AddEndpoint(_endpoints[483]); + builder.AddEndpoint(_endpoints[484]); + builder.AddEndpoint(_endpoints[485]); + builder.AddEndpoint(_endpoints[486]); + builder.AddEndpoint(_endpoints[487]); + builder.AddEndpoint(_endpoints[488]); + builder.AddEndpoint(_endpoints[489]); + builder.AddEndpoint(_endpoints[490]); + builder.AddEndpoint(_endpoints[491]); + builder.AddEndpoint(_endpoints[492]); + builder.AddEndpoint(_endpoints[493]); + builder.AddEndpoint(_endpoints[494]); + builder.AddEndpoint(_endpoints[495]); + builder.AddEndpoint(_endpoints[496]); + builder.AddEndpoint(_endpoints[497]); + builder.AddEndpoint(_endpoints[498]); + builder.AddEndpoint(_endpoints[499]); + builder.AddEndpoint(_endpoints[500]); + builder.AddEndpoint(_endpoints[501]); + builder.AddEndpoint(_endpoints[502]); + builder.AddEndpoint(_endpoints[503]); + builder.AddEndpoint(_endpoints[504]); + builder.AddEndpoint(_endpoints[505]); + builder.AddEndpoint(_endpoints[506]); + builder.AddEndpoint(_endpoints[507]); + builder.AddEndpoint(_endpoints[508]); + builder.AddEndpoint(_endpoints[509]); + builder.AddEndpoint(_endpoints[510]); + builder.AddEndpoint(_endpoints[511]); + builder.AddEndpoint(_endpoints[512]); + builder.AddEndpoint(_endpoints[513]); + builder.AddEndpoint(_endpoints[514]); + builder.AddEndpoint(_endpoints[515]); + builder.AddEndpoint(_endpoints[516]); + builder.AddEndpoint(_endpoints[517]); + builder.AddEndpoint(_endpoints[518]); + builder.AddEndpoint(_endpoints[519]); + builder.AddEndpoint(_endpoints[520]); + builder.AddEndpoint(_endpoints[521]); + builder.AddEndpoint(_endpoints[522]); + builder.AddEndpoint(_endpoints[523]); + builder.AddEndpoint(_endpoints[524]); + builder.AddEndpoint(_endpoints[525]); + builder.AddEndpoint(_endpoints[526]); + builder.AddEndpoint(_endpoints[527]); + builder.AddEndpoint(_endpoints[528]); + builder.AddEndpoint(_endpoints[529]); + builder.AddEndpoint(_endpoints[530]); + builder.AddEndpoint(_endpoints[531]); + builder.AddEndpoint(_endpoints[532]); + builder.AddEndpoint(_endpoints[533]); + builder.AddEndpoint(_endpoints[534]); + builder.AddEndpoint(_endpoints[535]); + builder.AddEndpoint(_endpoints[536]); + builder.AddEndpoint(_endpoints[537]); + builder.AddEndpoint(_endpoints[538]); + builder.AddEndpoint(_endpoints[539]); + builder.AddEndpoint(_endpoints[540]); + builder.AddEndpoint(_endpoints[541]); + builder.AddEndpoint(_endpoints[542]); + builder.AddEndpoint(_endpoints[543]); + builder.AddEndpoint(_endpoints[544]); + builder.AddEndpoint(_endpoints[545]); + builder.AddEndpoint(_endpoints[546]); + builder.AddEndpoint(_endpoints[547]); + builder.AddEndpoint(_endpoints[548]); + builder.AddEndpoint(_endpoints[549]); + builder.AddEndpoint(_endpoints[550]); + builder.AddEndpoint(_endpoints[551]); + builder.AddEndpoint(_endpoints[552]); + builder.AddEndpoint(_endpoints[553]); + builder.AddEndpoint(_endpoints[554]); + builder.AddEndpoint(_endpoints[555]); + builder.AddEndpoint(_endpoints[556]); + builder.AddEndpoint(_endpoints[557]); + builder.AddEndpoint(_endpoints[558]); + builder.AddEndpoint(_endpoints[559]); + builder.AddEndpoint(_endpoints[560]); + builder.AddEndpoint(_endpoints[561]); + builder.AddEndpoint(_endpoints[562]); + builder.AddEndpoint(_endpoints[563]); + builder.AddEndpoint(_endpoints[564]); + builder.AddEndpoint(_endpoints[565]); + builder.AddEndpoint(_endpoints[566]); + builder.AddEndpoint(_endpoints[567]); + builder.AddEndpoint(_endpoints[568]); + builder.AddEndpoint(_endpoints[569]); + builder.AddEndpoint(_endpoints[570]); + builder.AddEndpoint(_endpoints[571]); + builder.AddEndpoint(_endpoints[572]); + builder.AddEndpoint(_endpoints[573]); + builder.AddEndpoint(_endpoints[574]); + builder.AddEndpoint(_endpoints[575]); + builder.AddEndpoint(_endpoints[576]); + builder.AddEndpoint(_endpoints[577]); + builder.AddEndpoint(_endpoints[578]); + builder.AddEndpoint(_endpoints[579]); + builder.AddEndpoint(_endpoints[580]); + builder.AddEndpoint(_endpoints[581]); + builder.AddEndpoint(_endpoints[582]); + builder.AddEndpoint(_endpoints[583]); + builder.AddEndpoint(_endpoints[584]); + builder.AddEndpoint(_endpoints[585]); + builder.AddEndpoint(_endpoints[586]); + builder.AddEndpoint(_endpoints[587]); + builder.AddEndpoint(_endpoints[588]); + builder.AddEndpoint(_endpoints[589]); + builder.AddEndpoint(_endpoints[590]); + builder.AddEndpoint(_endpoints[591]); + builder.AddEndpoint(_endpoints[592]); + builder.AddEndpoint(_endpoints[593]); + builder.AddEndpoint(_endpoints[594]); + builder.AddEndpoint(_endpoints[595]); + builder.AddEndpoint(_endpoints[596]); + builder.AddEndpoint(_endpoints[597]); + builder.AddEndpoint(_endpoints[598]); + builder.AddEndpoint(_endpoints[599]); + builder.AddEndpoint(_endpoints[600]); + builder.AddEndpoint(_endpoints[601]); + builder.AddEndpoint(_endpoints[602]); + builder.AddEndpoint(_endpoints[603]); + builder.AddEndpoint(_endpoints[604]); + builder.AddEndpoint(_endpoints[605]); + builder.AddEndpoint(_endpoints[606]); + builder.AddEndpoint(_endpoints[607]); + builder.AddEndpoint(_endpoints[608]); + builder.AddEndpoint(_endpoints[609]); + builder.AddEndpoint(_endpoints[610]); + builder.AddEndpoint(_endpoints[611]); + builder.AddEndpoint(_endpoints[612]); + builder.AddEndpoint(_endpoints[613]); + builder.AddEndpoint(_endpoints[614]); + builder.AddEndpoint(_endpoints[615]); + builder.AddEndpoint(_endpoints[616]); + builder.AddEndpoint(_endpoints[617]); + builder.AddEndpoint(_endpoints[618]); + builder.AddEndpoint(_endpoints[619]); + builder.AddEndpoint(_endpoints[620]); + builder.AddEndpoint(_endpoints[621]); + builder.AddEndpoint(_endpoints[622]); + builder.AddEndpoint(_endpoints[623]); + builder.AddEndpoint(_endpoints[624]); + builder.AddEndpoint(_endpoints[625]); + builder.AddEndpoint(_endpoints[626]); + builder.AddEndpoint(_endpoints[627]); + builder.AddEndpoint(_endpoints[628]); + builder.AddEndpoint(_endpoints[629]); + builder.AddEndpoint(_endpoints[630]); + builder.AddEndpoint(_endpoints[631]); + builder.AddEndpoint(_endpoints[632]); + builder.AddEndpoint(_endpoints[633]); + builder.AddEndpoint(_endpoints[634]); + builder.AddEndpoint(_endpoints[635]); + builder.AddEndpoint(_endpoints[636]); + builder.AddEndpoint(_endpoints[637]); + builder.AddEndpoint(_endpoints[638]); + builder.AddEndpoint(_endpoints[639]); + builder.AddEndpoint(_endpoints[640]); + builder.AddEndpoint(_endpoints[641]); + builder.AddEndpoint(_endpoints[642]); + builder.AddEndpoint(_endpoints[643]); + builder.AddEndpoint(_endpoints[644]); + builder.AddEndpoint(_endpoints[645]); + builder.AddEndpoint(_endpoints[646]); + builder.AddEndpoint(_endpoints[647]); + builder.AddEndpoint(_endpoints[648]); + builder.AddEndpoint(_endpoints[649]); + builder.AddEndpoint(_endpoints[650]); + builder.AddEndpoint(_endpoints[651]); + builder.AddEndpoint(_endpoints[652]); + builder.AddEndpoint(_endpoints[653]); + builder.AddEndpoint(_endpoints[654]); + builder.AddEndpoint(_endpoints[655]); + builder.AddEndpoint(_endpoints[656]); + builder.AddEndpoint(_endpoints[657]); + builder.AddEndpoint(_endpoints[658]); + builder.AddEndpoint(_endpoints[659]); + builder.AddEndpoint(_endpoints[660]); + builder.AddEndpoint(_endpoints[661]); + builder.AddEndpoint(_endpoints[662]); + builder.AddEndpoint(_endpoints[663]); + builder.AddEndpoint(_endpoints[664]); + builder.AddEndpoint(_endpoints[665]); + builder.AddEndpoint(_endpoints[666]); + builder.AddEndpoint(_endpoints[667]); + builder.AddEndpoint(_endpoints[668]); + builder.AddEndpoint(_endpoints[669]); + builder.AddEndpoint(_endpoints[670]); + builder.AddEndpoint(_endpoints[671]); + builder.AddEndpoint(_endpoints[672]); + builder.AddEndpoint(_endpoints[673]); + builder.AddEndpoint(_endpoints[674]); + builder.AddEndpoint(_endpoints[675]); + builder.AddEndpoint(_endpoints[676]); + builder.AddEndpoint(_endpoints[677]); + builder.AddEndpoint(_endpoints[678]); + builder.AddEndpoint(_endpoints[679]); + builder.AddEndpoint(_endpoints[680]); + builder.AddEndpoint(_endpoints[681]); + builder.AddEndpoint(_endpoints[682]); + builder.AddEndpoint(_endpoints[683]); + builder.AddEndpoint(_endpoints[684]); + builder.AddEndpoint(_endpoints[685]); + builder.AddEndpoint(_endpoints[686]); + builder.AddEndpoint(_endpoints[687]); + builder.AddEndpoint(_endpoints[688]); + builder.AddEndpoint(_endpoints[689]); + builder.AddEndpoint(_endpoints[690]); + builder.AddEndpoint(_endpoints[691]); + builder.AddEndpoint(_endpoints[692]); + builder.AddEndpoint(_endpoints[693]); + builder.AddEndpoint(_endpoints[694]); + builder.AddEndpoint(_endpoints[695]); + builder.AddEndpoint(_endpoints[696]); + builder.AddEndpoint(_endpoints[697]); + builder.AddEndpoint(_endpoints[698]); + builder.AddEndpoint(_endpoints[699]); + builder.AddEndpoint(_endpoints[700]); + builder.AddEndpoint(_endpoints[701]); + builder.AddEndpoint(_endpoints[702]); + builder.AddEndpoint(_endpoints[703]); + builder.AddEndpoint(_endpoints[704]); + builder.AddEndpoint(_endpoints[705]); + builder.AddEndpoint(_endpoints[706]); + builder.AddEndpoint(_endpoints[707]); + builder.AddEndpoint(_endpoints[708]); + builder.AddEndpoint(_endpoints[709]); + builder.AddEndpoint(_endpoints[710]); + builder.AddEndpoint(_endpoints[711]); + builder.AddEndpoint(_endpoints[712]); + builder.AddEndpoint(_endpoints[713]); + builder.AddEndpoint(_endpoints[714]); + builder.AddEndpoint(_endpoints[715]); + builder.AddEndpoint(_endpoints[716]); + builder.AddEndpoint(_endpoints[717]); + builder.AddEndpoint(_endpoints[718]); + builder.AddEndpoint(_endpoints[719]); + builder.AddEndpoint(_endpoints[720]); + builder.AddEndpoint(_endpoints[721]); + builder.AddEndpoint(_endpoints[722]); + builder.AddEndpoint(_endpoints[723]); + builder.AddEndpoint(_endpoints[724]); + builder.AddEndpoint(_endpoints[725]); + builder.AddEndpoint(_endpoints[726]); + builder.AddEndpoint(_endpoints[727]); + builder.AddEndpoint(_endpoints[728]); + builder.AddEndpoint(_endpoints[729]); + builder.AddEndpoint(_endpoints[730]); + builder.AddEndpoint(_endpoints[731]); + builder.AddEndpoint(_endpoints[732]); + builder.AddEndpoint(_endpoints[733]); + builder.AddEndpoint(_endpoints[734]); + builder.AddEndpoint(_endpoints[735]); + builder.AddEndpoint(_endpoints[736]); + builder.AddEndpoint(_endpoints[737]); + builder.AddEndpoint(_endpoints[738]); + builder.AddEndpoint(_endpoints[739]); + builder.AddEndpoint(_endpoints[740]); + builder.AddEndpoint(_endpoints[741]); + builder.AddEndpoint(_endpoints[742]); + builder.AddEndpoint(_endpoints[743]); + builder.AddEndpoint(_endpoints[744]); + builder.AddEndpoint(_endpoints[745]); + builder.AddEndpoint(_endpoints[746]); + builder.AddEndpoint(_endpoints[747]); + builder.AddEndpoint(_endpoints[748]); + builder.AddEndpoint(_endpoints[749]); + builder.AddEndpoint(_endpoints[750]); + builder.AddEndpoint(_endpoints[751]); + builder.AddEndpoint(_endpoints[752]); + builder.AddEndpoint(_endpoints[753]); + builder.AddEndpoint(_endpoints[754]); + builder.AddEndpoint(_endpoints[755]); + builder.AddEndpoint(_endpoints[756]); + builder.AddEndpoint(_endpoints[757]); + builder.AddEndpoint(_endpoints[758]); + builder.AddEndpoint(_endpoints[759]); + builder.AddEndpoint(_endpoints[760]); + builder.AddEndpoint(_endpoints[761]); + builder.AddEndpoint(_endpoints[762]); + builder.AddEndpoint(_endpoints[763]); + builder.AddEndpoint(_endpoints[764]); + builder.AddEndpoint(_endpoints[765]); + builder.AddEndpoint(_endpoints[766]); + builder.AddEndpoint(_endpoints[767]); + builder.AddEndpoint(_endpoints[768]); + builder.AddEndpoint(_endpoints[769]); + builder.AddEndpoint(_endpoints[770]); + builder.AddEndpoint(_endpoints[771]); + builder.AddEndpoint(_endpoints[772]); + builder.AddEndpoint(_endpoints[773]); + builder.AddEndpoint(_endpoints[774]); + builder.AddEndpoint(_endpoints[775]); + builder.AddEndpoint(_endpoints[776]); + builder.AddEndpoint(_endpoints[777]); + builder.AddEndpoint(_endpoints[778]); + builder.AddEndpoint(_endpoints[779]); + builder.AddEndpoint(_endpoints[780]); + builder.AddEndpoint(_endpoints[781]); + builder.AddEndpoint(_endpoints[782]); + builder.AddEndpoint(_endpoints[783]); + builder.AddEndpoint(_endpoints[784]); + builder.AddEndpoint(_endpoints[785]); + builder.AddEndpoint(_endpoints[786]); + builder.AddEndpoint(_endpoints[787]); + builder.AddEndpoint(_endpoints[788]); + builder.AddEndpoint(_endpoints[789]); + builder.AddEndpoint(_endpoints[790]); + builder.AddEndpoint(_endpoints[791]); + builder.AddEndpoint(_endpoints[792]); + builder.AddEndpoint(_endpoints[793]); + builder.AddEndpoint(_endpoints[794]); + builder.AddEndpoint(_endpoints[795]); + builder.AddEndpoint(_endpoints[796]); + builder.AddEndpoint(_endpoints[797]); + builder.AddEndpoint(_endpoints[798]); + builder.AddEndpoint(_endpoints[799]); + builder.AddEndpoint(_endpoints[800]); + builder.AddEndpoint(_endpoints[801]); + builder.AddEndpoint(_endpoints[802]); + builder.AddEndpoint(_endpoints[803]); + builder.AddEndpoint(_endpoints[804]); + builder.AddEndpoint(_endpoints[805]); + builder.AddEndpoint(_endpoints[806]); + builder.AddEndpoint(_endpoints[807]); + builder.AddEndpoint(_endpoints[808]); + builder.AddEndpoint(_endpoints[809]); + builder.AddEndpoint(_endpoints[810]); + builder.AddEndpoint(_endpoints[811]); + builder.AddEndpoint(_endpoints[812]); + builder.AddEndpoint(_endpoints[813]); + builder.AddEndpoint(_endpoints[814]); + builder.AddEndpoint(_endpoints[815]); + builder.AddEndpoint(_endpoints[816]); + builder.AddEndpoint(_endpoints[817]); + builder.AddEndpoint(_endpoints[818]); + builder.AddEndpoint(_endpoints[819]); + builder.AddEndpoint(_endpoints[820]); + builder.AddEndpoint(_endpoints[821]); + builder.AddEndpoint(_endpoints[822]); + builder.AddEndpoint(_endpoints[823]); + builder.AddEndpoint(_endpoints[824]); + builder.AddEndpoint(_endpoints[825]); + builder.AddEndpoint(_endpoints[826]); + builder.AddEndpoint(_endpoints[827]); + builder.AddEndpoint(_endpoints[828]); + builder.AddEndpoint(_endpoints[829]); + builder.AddEndpoint(_endpoints[830]); + builder.AddEndpoint(_endpoints[831]); + builder.AddEndpoint(_endpoints[832]); + builder.AddEndpoint(_endpoints[833]); + builder.AddEndpoint(_endpoints[834]); + builder.AddEndpoint(_endpoints[835]); + builder.AddEndpoint(_endpoints[836]); + builder.AddEndpoint(_endpoints[837]); + builder.AddEndpoint(_endpoints[838]); + builder.AddEndpoint(_endpoints[839]); + builder.AddEndpoint(_endpoints[840]); + builder.AddEndpoint(_endpoints[841]); + builder.AddEndpoint(_endpoints[842]); + builder.AddEndpoint(_endpoints[843]); + builder.AddEndpoint(_endpoints[844]); + builder.AddEndpoint(_endpoints[845]); + builder.AddEndpoint(_endpoints[846]); + builder.AddEndpoint(_endpoints[847]); + builder.AddEndpoint(_endpoints[848]); + builder.AddEndpoint(_endpoints[849]); + builder.AddEndpoint(_endpoints[850]); + builder.AddEndpoint(_endpoints[851]); + builder.AddEndpoint(_endpoints[852]); + builder.AddEndpoint(_endpoints[853]); + builder.AddEndpoint(_endpoints[854]); + builder.AddEndpoint(_endpoints[855]); + builder.AddEndpoint(_endpoints[856]); + builder.AddEndpoint(_endpoints[857]); + builder.AddEndpoint(_endpoints[858]); + builder.AddEndpoint(_endpoints[859]); + builder.AddEndpoint(_endpoints[860]); + builder.AddEndpoint(_endpoints[861]); + builder.AddEndpoint(_endpoints[862]); + builder.AddEndpoint(_endpoints[863]); + builder.AddEndpoint(_endpoints[864]); + builder.AddEndpoint(_endpoints[865]); + builder.AddEndpoint(_endpoints[866]); + builder.AddEndpoint(_endpoints[867]); + builder.AddEndpoint(_endpoints[868]); + builder.AddEndpoint(_endpoints[869]); + builder.AddEndpoint(_endpoints[870]); + builder.AddEndpoint(_endpoints[871]); + builder.AddEndpoint(_endpoints[872]); + builder.AddEndpoint(_endpoints[873]); + builder.AddEndpoint(_endpoints[874]); + builder.AddEndpoint(_endpoints[875]); + builder.AddEndpoint(_endpoints[876]); + builder.AddEndpoint(_endpoints[877]); + builder.AddEndpoint(_endpoints[878]); + builder.AddEndpoint(_endpoints[879]); + builder.AddEndpoint(_endpoints[880]); + builder.AddEndpoint(_endpoints[881]); + builder.AddEndpoint(_endpoints[882]); + builder.AddEndpoint(_endpoints[883]); + builder.AddEndpoint(_endpoints[884]); + builder.AddEndpoint(_endpoints[885]); + builder.AddEndpoint(_endpoints[886]); + builder.AddEndpoint(_endpoints[887]); + builder.AddEndpoint(_endpoints[888]); + builder.AddEndpoint(_endpoints[889]); + builder.AddEndpoint(_endpoints[890]); + builder.AddEndpoint(_endpoints[891]); + builder.AddEndpoint(_endpoints[892]); + builder.AddEndpoint(_endpoints[893]); + builder.AddEndpoint(_endpoints[894]); + builder.AddEndpoint(_endpoints[895]); + builder.AddEndpoint(_endpoints[896]); + builder.AddEndpoint(_endpoints[897]); + builder.AddEndpoint(_endpoints[898]); + builder.AddEndpoint(_endpoints[899]); + builder.AddEndpoint(_endpoints[900]); + builder.AddEndpoint(_endpoints[901]); + builder.AddEndpoint(_endpoints[902]); + builder.AddEndpoint(_endpoints[903]); + builder.AddEndpoint(_endpoints[904]); + builder.AddEndpoint(_endpoints[905]); + builder.AddEndpoint(_endpoints[906]); + builder.AddEndpoint(_endpoints[907]); + builder.AddEndpoint(_endpoints[908]); + builder.AddEndpoint(_endpoints[909]); + builder.AddEndpoint(_endpoints[910]); + builder.AddEndpoint(_endpoints[911]); + builder.AddEndpoint(_endpoints[912]); + builder.AddEndpoint(_endpoints[913]); + builder.AddEndpoint(_endpoints[914]); + builder.AddEndpoint(_endpoints[915]); + builder.AddEndpoint(_endpoints[916]); + builder.AddEndpoint(_endpoints[917]); + builder.AddEndpoint(_endpoints[918]); + builder.AddEndpoint(_endpoints[919]); + builder.AddEndpoint(_endpoints[920]); + builder.AddEndpoint(_endpoints[921]); + builder.AddEndpoint(_endpoints[922]); + builder.AddEndpoint(_endpoints[923]); + builder.AddEndpoint(_endpoints[924]); + builder.AddEndpoint(_endpoints[925]); + builder.AddEndpoint(_endpoints[926]); + builder.AddEndpoint(_endpoints[927]); + builder.AddEndpoint(_endpoints[928]); + builder.AddEndpoint(_endpoints[929]); + builder.AddEndpoint(_endpoints[930]); + builder.AddEndpoint(_endpoints[931]); + builder.AddEndpoint(_endpoints[932]); + builder.AddEndpoint(_endpoints[933]); + builder.AddEndpoint(_endpoints[934]); + builder.AddEndpoint(_endpoints[935]); + builder.AddEndpoint(_endpoints[936]); + builder.AddEndpoint(_endpoints[937]); + builder.AddEndpoint(_endpoints[938]); + builder.AddEndpoint(_endpoints[939]); + builder.AddEndpoint(_endpoints[940]); + builder.AddEndpoint(_endpoints[941]); + builder.AddEndpoint(_endpoints[942]); + builder.AddEndpoint(_endpoints[943]); + builder.AddEndpoint(_endpoints[944]); + builder.AddEndpoint(_endpoints[945]); + builder.AddEndpoint(_endpoints[946]); + builder.AddEndpoint(_endpoints[947]); + builder.AddEndpoint(_endpoints[948]); + builder.AddEndpoint(_endpoints[949]); + builder.AddEndpoint(_endpoints[950]); + builder.AddEndpoint(_endpoints[951]); + builder.AddEndpoint(_endpoints[952]); + builder.AddEndpoint(_endpoints[953]); + builder.AddEndpoint(_endpoints[954]); + builder.AddEndpoint(_endpoints[955]); + builder.AddEndpoint(_endpoints[956]); + builder.AddEndpoint(_endpoints[957]); + builder.AddEndpoint(_endpoints[958]); + builder.AddEndpoint(_endpoints[959]); + builder.AddEndpoint(_endpoints[960]); + builder.AddEndpoint(_endpoints[961]); + builder.AddEndpoint(_endpoints[962]); + builder.AddEndpoint(_endpoints[963]); + builder.AddEndpoint(_endpoints[964]); + builder.AddEndpoint(_endpoints[965]); + builder.AddEndpoint(_endpoints[966]); + builder.AddEndpoint(_endpoints[967]); + builder.AddEndpoint(_endpoints[968]); + builder.AddEndpoint(_endpoints[969]); + builder.AddEndpoint(_endpoints[970]); + builder.AddEndpoint(_endpoints[971]); + builder.AddEndpoint(_endpoints[972]); + builder.AddEndpoint(_endpoints[973]); + builder.AddEndpoint(_endpoints[974]); + builder.AddEndpoint(_endpoints[975]); + builder.AddEndpoint(_endpoints[976]); + builder.AddEndpoint(_endpoints[977]); + builder.AddEndpoint(_endpoints[978]); + builder.AddEndpoint(_endpoints[979]); + builder.AddEndpoint(_endpoints[980]); + builder.AddEndpoint(_endpoints[981]); + builder.AddEndpoint(_endpoints[982]); + builder.AddEndpoint(_endpoints[983]); + builder.AddEndpoint(_endpoints[984]); + builder.AddEndpoint(_endpoints[985]); + builder.AddEndpoint(_endpoints[986]); + builder.AddEndpoint(_endpoints[987]); + builder.AddEndpoint(_endpoints[988]); + builder.AddEndpoint(_endpoints[989]); + builder.AddEndpoint(_endpoints[990]); + builder.AddEndpoint(_endpoints[991]); + builder.AddEndpoint(_endpoints[992]); + builder.AddEndpoint(_endpoints[993]); + builder.AddEndpoint(_endpoints[994]); + builder.AddEndpoint(_endpoints[995]); + builder.AddEndpoint(_endpoints[996]); + builder.AddEndpoint(_endpoints[997]); + builder.AddEndpoint(_endpoints[998]); + builder.AddEndpoint(_endpoints[999]); + builder.AddEndpoint(_endpoints[1000]); + builder.AddEndpoint(_endpoints[1001]); + builder.AddEndpoint(_endpoints[1002]); + builder.AddEndpoint(_endpoints[1003]); + builder.AddEndpoint(_endpoints[1004]); + builder.AddEndpoint(_endpoints[1005]); + builder.AddEndpoint(_endpoints[1006]); + builder.AddEndpoint(_endpoints[1007]); + builder.AddEndpoint(_endpoints[1008]); + builder.AddEndpoint(_endpoints[1009]); + builder.AddEndpoint(_endpoints[1010]); + builder.AddEndpoint(_endpoints[1011]); + builder.AddEndpoint(_endpoints[1012]); + builder.AddEndpoint(_endpoints[1013]); + builder.AddEndpoint(_endpoints[1014]); + builder.AddEndpoint(_endpoints[1015]); + builder.AddEndpoint(_endpoints[1016]); + builder.AddEndpoint(_endpoints[1017]); + builder.AddEndpoint(_endpoints[1018]); + builder.AddEndpoint(_endpoints[1019]); + builder.AddEndpoint(_endpoints[1020]); + builder.AddEndpoint(_endpoints[1021]); + builder.AddEndpoint(_endpoints[1022]); + builder.AddEndpoint(_endpoints[1023]); + builder.AddEndpoint(_endpoints[1024]); + builder.AddEndpoint(_endpoints[1025]); + builder.AddEndpoint(_endpoints[1026]); + builder.AddEndpoint(_endpoints[1027]); + builder.AddEndpoint(_endpoints[1028]); + builder.AddEndpoint(_endpoints[1029]); + builder.AddEndpoint(_endpoints[1030]); + builder.AddEndpoint(_endpoints[1031]); + builder.AddEndpoint(_endpoints[1032]); + builder.AddEndpoint(_endpoints[1033]); + builder.AddEndpoint(_endpoints[1034]); + builder.AddEndpoint(_endpoints[1035]); + builder.AddEndpoint(_endpoints[1036]); + builder.AddEndpoint(_endpoints[1037]); + builder.AddEndpoint(_endpoints[1038]); + builder.AddEndpoint(_endpoints[1039]); + builder.AddEndpoint(_endpoints[1040]); + builder.AddEndpoint(_endpoints[1041]); + builder.AddEndpoint(_endpoints[1042]); + builder.AddEndpoint(_endpoints[1043]); + builder.AddEndpoint(_endpoints[1044]); + builder.AddEndpoint(_endpoints[1045]); + builder.AddEndpoint(_endpoints[1046]); + builder.AddEndpoint(_endpoints[1047]); + builder.AddEndpoint(_endpoints[1048]); + builder.AddEndpoint(_endpoints[1049]); + builder.AddEndpoint(_endpoints[1050]); + builder.AddEndpoint(_endpoints[1051]); + builder.AddEndpoint(_endpoints[1052]); + builder.AddEndpoint(_endpoints[1053]); + builder.AddEndpoint(_endpoints[1054]); + builder.AddEndpoint(_endpoints[1055]); + builder.AddEndpoint(_endpoints[1056]); + builder.AddEndpoint(_endpoints[1057]); + builder.AddEndpoint(_endpoints[1058]); + builder.AddEndpoint(_endpoints[1059]); + builder.AddEndpoint(_endpoints[1060]); + builder.AddEndpoint(_endpoints[1061]); + builder.AddEndpoint(_endpoints[1062]); + builder.AddEndpoint(_endpoints[1063]); + builder.AddEndpoint(_endpoints[1064]); + builder.AddEndpoint(_endpoints[1065]); + builder.AddEndpoint(_endpoints[1066]); + builder.AddEndpoint(_endpoints[1067]); + builder.AddEndpoint(_endpoints[1068]); + builder.AddEndpoint(_endpoints[1069]); + builder.AddEndpoint(_endpoints[1070]); + builder.AddEndpoint(_endpoints[1071]); + builder.AddEndpoint(_endpoints[1072]); + builder.AddEndpoint(_endpoints[1073]); + builder.AddEndpoint(_endpoints[1074]); + builder.AddEndpoint(_endpoints[1075]); + builder.AddEndpoint(_endpoints[1076]); + builder.AddEndpoint(_endpoints[1077]); + builder.AddEndpoint(_endpoints[1078]); + builder.AddEndpoint(_endpoints[1079]); + builder.AddEndpoint(_endpoints[1080]); + builder.AddEndpoint(_endpoints[1081]); + builder.AddEndpoint(_endpoints[1082]); + builder.AddEndpoint(_endpoints[1083]); + builder.AddEndpoint(_endpoints[1084]); + builder.AddEndpoint(_endpoints[1085]); + builder.AddEndpoint(_endpoints[1086]); + builder.AddEndpoint(_endpoints[1087]); + builder.AddEndpoint(_endpoints[1088]); + builder.AddEndpoint(_endpoints[1089]); + builder.AddEndpoint(_endpoints[1090]); + builder.AddEndpoint(_endpoints[1091]); + builder.AddEndpoint(_endpoints[1092]); + builder.AddEndpoint(_endpoints[1093]); + builder.AddEndpoint(_endpoints[1094]); + builder.AddEndpoint(_endpoints[1095]); + builder.AddEndpoint(_endpoints[1096]); + builder.AddEndpoint(_endpoints[1097]); + builder.AddEndpoint(_endpoints[1098]); + builder.AddEndpoint(_endpoints[1099]); + builder.AddEndpoint(_endpoints[1100]); + builder.AddEndpoint(_endpoints[1101]); + builder.AddEndpoint(_endpoints[1102]); + builder.AddEndpoint(_endpoints[1103]); + builder.AddEndpoint(_endpoints[1104]); + builder.AddEndpoint(_endpoints[1105]); + builder.AddEndpoint(_endpoints[1106]); + builder.AddEndpoint(_endpoints[1107]); + builder.AddEndpoint(_endpoints[1108]); + builder.AddEndpoint(_endpoints[1109]); + builder.AddEndpoint(_endpoints[1110]); + builder.AddEndpoint(_endpoints[1111]); + builder.AddEndpoint(_endpoints[1112]); + builder.AddEndpoint(_endpoints[1113]); + builder.AddEndpoint(_endpoints[1114]); + builder.AddEndpoint(_endpoints[1115]); + builder.AddEndpoint(_endpoints[1116]); + builder.AddEndpoint(_endpoints[1117]); + builder.AddEndpoint(_endpoints[1118]); + builder.AddEndpoint(_endpoints[1119]); + builder.AddEndpoint(_endpoints[1120]); + builder.AddEndpoint(_endpoints[1121]); + builder.AddEndpoint(_endpoints[1122]); + builder.AddEndpoint(_endpoints[1123]); + builder.AddEndpoint(_endpoints[1124]); + builder.AddEndpoint(_endpoints[1125]); + builder.AddEndpoint(_endpoints[1126]); + builder.AddEndpoint(_endpoints[1127]); + builder.AddEndpoint(_endpoints[1128]); + builder.AddEndpoint(_endpoints[1129]); + builder.AddEndpoint(_endpoints[1130]); + builder.AddEndpoint(_endpoints[1131]); + builder.AddEndpoint(_endpoints[1132]); + builder.AddEndpoint(_endpoints[1133]); + builder.AddEndpoint(_endpoints[1134]); + builder.AddEndpoint(_endpoints[1135]); + builder.AddEndpoint(_endpoints[1136]); + builder.AddEndpoint(_endpoints[1137]); + builder.AddEndpoint(_endpoints[1138]); + builder.AddEndpoint(_endpoints[1139]); + builder.AddEndpoint(_endpoints[1140]); + builder.AddEndpoint(_endpoints[1141]); + builder.AddEndpoint(_endpoints[1142]); + builder.AddEndpoint(_endpoints[1143]); + builder.AddEndpoint(_endpoints[1144]); + builder.AddEndpoint(_endpoints[1145]); + builder.AddEndpoint(_endpoints[1146]); + builder.AddEndpoint(_endpoints[1147]); + builder.AddEndpoint(_endpoints[1148]); + builder.AddEndpoint(_endpoints[1149]); + builder.AddEndpoint(_endpoints[1150]); + builder.AddEndpoint(_endpoints[1151]); + builder.AddEndpoint(_endpoints[1152]); + builder.AddEndpoint(_endpoints[1153]); + builder.AddEndpoint(_endpoints[1154]); + builder.AddEndpoint(_endpoints[1155]); + builder.AddEndpoint(_endpoints[1156]); + builder.AddEndpoint(_endpoints[1157]); + builder.AddEndpoint(_endpoints[1158]); + builder.AddEndpoint(_endpoints[1159]); + builder.AddEndpoint(_endpoints[1160]); + builder.AddEndpoint(_endpoints[1161]); + builder.AddEndpoint(_endpoints[1162]); + builder.AddEndpoint(_endpoints[1163]); + builder.AddEndpoint(_endpoints[1164]); + builder.AddEndpoint(_endpoints[1165]); + builder.AddEndpoint(_endpoints[1166]); + builder.AddEndpoint(_endpoints[1167]); + builder.AddEndpoint(_endpoints[1168]); + builder.AddEndpoint(_endpoints[1169]); + builder.AddEndpoint(_endpoints[1170]); + builder.AddEndpoint(_endpoints[1171]); + builder.AddEndpoint(_endpoints[1172]); + builder.AddEndpoint(_endpoints[1173]); + builder.AddEndpoint(_endpoints[1174]); + builder.AddEndpoint(_endpoints[1175]); + builder.AddEndpoint(_endpoints[1176]); + builder.AddEndpoint(_endpoints[1177]); + builder.AddEndpoint(_endpoints[1178]); + builder.AddEndpoint(_endpoints[1179]); + builder.AddEndpoint(_endpoints[1180]); + builder.AddEndpoint(_endpoints[1181]); + builder.AddEndpoint(_endpoints[1182]); + builder.AddEndpoint(_endpoints[1183]); + builder.AddEndpoint(_endpoints[1184]); + builder.AddEndpoint(_endpoints[1185]); + builder.AddEndpoint(_endpoints[1186]); + builder.AddEndpoint(_endpoints[1187]); + builder.AddEndpoint(_endpoints[1188]); + builder.AddEndpoint(_endpoints[1189]); + builder.AddEndpoint(_endpoints[1190]); + builder.AddEndpoint(_endpoints[1191]); + builder.AddEndpoint(_endpoints[1192]); + builder.AddEndpoint(_endpoints[1193]); + builder.AddEndpoint(_endpoints[1194]); + builder.AddEndpoint(_endpoints[1195]); + builder.AddEndpoint(_endpoints[1196]); + builder.AddEndpoint(_endpoints[1197]); + builder.AddEndpoint(_endpoints[1198]); + builder.AddEndpoint(_endpoints[1199]); + builder.AddEndpoint(_endpoints[1200]); + builder.AddEndpoint(_endpoints[1201]); + builder.AddEndpoint(_endpoints[1202]); + builder.AddEndpoint(_endpoints[1203]); + builder.AddEndpoint(_endpoints[1204]); + builder.AddEndpoint(_endpoints[1205]); + builder.AddEndpoint(_endpoints[1206]); + builder.AddEndpoint(_endpoints[1207]); + builder.AddEndpoint(_endpoints[1208]); + builder.AddEndpoint(_endpoints[1209]); + builder.AddEndpoint(_endpoints[1210]); + builder.AddEndpoint(_endpoints[1211]); + builder.AddEndpoint(_endpoints[1212]); + builder.AddEndpoint(_endpoints[1213]); + builder.AddEndpoint(_endpoints[1214]); + builder.AddEndpoint(_endpoints[1215]); + builder.AddEndpoint(_endpoints[1216]); + builder.AddEndpoint(_endpoints[1217]); + builder.AddEndpoint(_endpoints[1218]); + builder.AddEndpoint(_endpoints[1219]); + builder.AddEndpoint(_endpoints[1220]); + builder.AddEndpoint(_endpoints[1221]); + builder.AddEndpoint(_endpoints[1222]); + builder.AddEndpoint(_endpoints[1223]); + builder.AddEndpoint(_endpoints[1224]); + builder.AddEndpoint(_endpoints[1225]); + builder.AddEndpoint(_endpoints[1226]); + builder.AddEndpoint(_endpoints[1227]); + builder.AddEndpoint(_endpoints[1228]); + builder.AddEndpoint(_endpoints[1229]); + builder.AddEndpoint(_endpoints[1230]); + builder.AddEndpoint(_endpoints[1231]); + builder.AddEndpoint(_endpoints[1232]); + builder.AddEndpoint(_endpoints[1233]); + builder.AddEndpoint(_endpoints[1234]); + builder.AddEndpoint(_endpoints[1235]); + builder.AddEndpoint(_endpoints[1236]); + builder.AddEndpoint(_endpoints[1237]); + builder.AddEndpoint(_endpoints[1238]); + builder.AddEndpoint(_endpoints[1239]); + builder.AddEndpoint(_endpoints[1240]); + builder.AddEndpoint(_endpoints[1241]); + builder.AddEndpoint(_endpoints[1242]); + builder.AddEndpoint(_endpoints[1243]); + builder.AddEndpoint(_endpoints[1244]); + builder.AddEndpoint(_endpoints[1245]); + builder.AddEndpoint(_endpoints[1246]); + builder.AddEndpoint(_endpoints[1247]); + builder.AddEndpoint(_endpoints[1248]); + builder.AddEndpoint(_endpoints[1249]); + builder.AddEndpoint(_endpoints[1250]); + builder.AddEndpoint(_endpoints[1251]); + builder.AddEndpoint(_endpoints[1252]); + builder.AddEndpoint(_endpoints[1253]); + builder.AddEndpoint(_endpoints[1254]); + builder.AddEndpoint(_endpoints[1255]); + builder.AddEndpoint(_endpoints[1256]); + builder.AddEndpoint(_endpoints[1257]); + builder.AddEndpoint(_endpoints[1258]); + builder.AddEndpoint(_endpoints[1259]); + builder.AddEndpoint(_endpoints[1260]); + builder.AddEndpoint(_endpoints[1261]); + builder.AddEndpoint(_endpoints[1262]); + builder.AddEndpoint(_endpoints[1263]); + builder.AddEndpoint(_endpoints[1264]); + builder.AddEndpoint(_endpoints[1265]); + builder.AddEndpoint(_endpoints[1266]); + builder.AddEndpoint(_endpoints[1267]); + builder.AddEndpoint(_endpoints[1268]); + builder.AddEndpoint(_endpoints[1269]); + builder.AddEndpoint(_endpoints[1270]); + builder.AddEndpoint(_endpoints[1271]); + builder.AddEndpoint(_endpoints[1272]); + builder.AddEndpoint(_endpoints[1273]); + builder.AddEndpoint(_endpoints[1274]); + builder.AddEndpoint(_endpoints[1275]); + builder.AddEndpoint(_endpoints[1276]); + builder.AddEndpoint(_endpoints[1277]); + builder.AddEndpoint(_endpoints[1278]); + builder.AddEndpoint(_endpoints[1279]); + builder.AddEndpoint(_endpoints[1280]); + builder.AddEndpoint(_endpoints[1281]); + builder.AddEndpoint(_endpoints[1282]); + builder.AddEndpoint(_endpoints[1283]); + builder.AddEndpoint(_endpoints[1284]); + builder.AddEndpoint(_endpoints[1285]); + builder.AddEndpoint(_endpoints[1286]); + builder.AddEndpoint(_endpoints[1287]); + builder.AddEndpoint(_endpoints[1288]); + builder.AddEndpoint(_endpoints[1289]); + builder.AddEndpoint(_endpoints[1290]); + builder.AddEndpoint(_endpoints[1291]); + builder.AddEndpoint(_endpoints[1292]); + builder.AddEndpoint(_endpoints[1293]); + builder.AddEndpoint(_endpoints[1294]); + builder.AddEndpoint(_endpoints[1295]); + builder.AddEndpoint(_endpoints[1296]); + builder.AddEndpoint(_endpoints[1297]); + builder.AddEndpoint(_endpoints[1298]); + builder.AddEndpoint(_endpoints[1299]); + builder.AddEndpoint(_endpoints[1300]); + builder.AddEndpoint(_endpoints[1301]); + builder.AddEndpoint(_endpoints[1302]); + builder.AddEndpoint(_endpoints[1303]); + builder.AddEndpoint(_endpoints[1304]); + builder.AddEndpoint(_endpoints[1305]); + builder.AddEndpoint(_endpoints[1306]); + builder.AddEndpoint(_endpoints[1307]); + builder.AddEndpoint(_endpoints[1308]); + builder.AddEndpoint(_endpoints[1309]); + builder.AddEndpoint(_endpoints[1310]); + builder.AddEndpoint(_endpoints[1311]); + builder.AddEndpoint(_endpoints[1312]); + builder.AddEndpoint(_endpoints[1313]); + builder.AddEndpoint(_endpoints[1314]); + builder.AddEndpoint(_endpoints[1315]); + builder.AddEndpoint(_endpoints[1316]); + builder.AddEndpoint(_endpoints[1317]); + builder.AddEndpoint(_endpoints[1318]); + builder.AddEndpoint(_endpoints[1319]); + builder.AddEndpoint(_endpoints[1320]); + builder.AddEndpoint(_endpoints[1321]); + builder.AddEndpoint(_endpoints[1322]); + builder.AddEndpoint(_endpoints[1323]); + builder.AddEndpoint(_endpoints[1324]); + builder.AddEndpoint(_endpoints[1325]); + builder.AddEndpoint(_endpoints[1326]); + builder.AddEndpoint(_endpoints[1327]); + builder.AddEndpoint(_endpoints[1328]); + builder.AddEndpoint(_endpoints[1329]); + builder.AddEndpoint(_endpoints[1330]); + builder.AddEndpoint(_endpoints[1331]); + builder.AddEndpoint(_endpoints[1332]); + builder.AddEndpoint(_endpoints[1333]); + builder.AddEndpoint(_endpoints[1334]); + builder.AddEndpoint(_endpoints[1335]); + builder.AddEndpoint(_endpoints[1336]); + builder.AddEndpoint(_endpoints[1337]); + builder.AddEndpoint(_endpoints[1338]); + builder.AddEndpoint(_endpoints[1339]); + builder.AddEndpoint(_endpoints[1340]); + builder.AddEndpoint(_endpoints[1341]); + builder.AddEndpoint(_endpoints[1342]); + builder.AddEndpoint(_endpoints[1343]); + builder.AddEndpoint(_endpoints[1344]); + builder.AddEndpoint(_endpoints[1345]); + builder.AddEndpoint(_endpoints[1346]); + builder.AddEndpoint(_endpoints[1347]); + builder.AddEndpoint(_endpoints[1348]); + builder.AddEndpoint(_endpoints[1349]); + builder.AddEndpoint(_endpoints[1350]); + builder.AddEndpoint(_endpoints[1351]); + builder.AddEndpoint(_endpoints[1352]); + builder.AddEndpoint(_endpoints[1353]); + builder.AddEndpoint(_endpoints[1354]); + builder.AddEndpoint(_endpoints[1355]); + builder.AddEndpoint(_endpoints[1356]); + builder.AddEndpoint(_endpoints[1357]); + builder.AddEndpoint(_endpoints[1358]); + builder.AddEndpoint(_endpoints[1359]); + builder.AddEndpoint(_endpoints[1360]); + builder.AddEndpoint(_endpoints[1361]); + builder.AddEndpoint(_endpoints[1362]); + builder.AddEndpoint(_endpoints[1363]); + builder.AddEndpoint(_endpoints[1364]); + builder.AddEndpoint(_endpoints[1365]); + builder.AddEndpoint(_endpoints[1366]); + builder.AddEndpoint(_endpoints[1367]); + builder.AddEndpoint(_endpoints[1368]); + builder.AddEndpoint(_endpoints[1369]); + builder.AddEndpoint(_endpoints[1370]); + builder.AddEndpoint(_endpoints[1371]); + builder.AddEndpoint(_endpoints[1372]); + builder.AddEndpoint(_endpoints[1373]); + builder.AddEndpoint(_endpoints[1374]); + builder.AddEndpoint(_endpoints[1375]); + builder.AddEndpoint(_endpoints[1376]); + builder.AddEndpoint(_endpoints[1377]); + builder.AddEndpoint(_endpoints[1378]); + builder.AddEndpoint(_endpoints[1379]); + builder.AddEndpoint(_endpoints[1380]); + builder.AddEndpoint(_endpoints[1381]); + builder.AddEndpoint(_endpoints[1382]); + builder.AddEndpoint(_endpoints[1383]); + builder.AddEndpoint(_endpoints[1384]); + builder.AddEndpoint(_endpoints[1385]); + builder.AddEndpoint(_endpoints[1386]); + builder.AddEndpoint(_endpoints[1387]); + builder.AddEndpoint(_endpoints[1388]); + builder.AddEndpoint(_endpoints[1389]); + builder.AddEndpoint(_endpoints[1390]); + builder.AddEndpoint(_endpoints[1391]); + builder.AddEndpoint(_endpoints[1392]); + builder.AddEndpoint(_endpoints[1393]); + builder.AddEndpoint(_endpoints[1394]); + builder.AddEndpoint(_endpoints[1395]); + builder.AddEndpoint(_endpoints[1396]); + builder.AddEndpoint(_endpoints[1397]); + builder.AddEndpoint(_endpoints[1398]); + builder.AddEndpoint(_endpoints[1399]); + builder.AddEndpoint(_endpoints[1400]); + builder.AddEndpoint(_endpoints[1401]); + builder.AddEndpoint(_endpoints[1402]); + builder.AddEndpoint(_endpoints[1403]); + builder.AddEndpoint(_endpoints[1404]); + builder.AddEndpoint(_endpoints[1405]); + builder.AddEndpoint(_endpoints[1406]); + builder.AddEndpoint(_endpoints[1407]); + builder.AddEndpoint(_endpoints[1408]); + builder.AddEndpoint(_endpoints[1409]); + builder.AddEndpoint(_endpoints[1410]); + builder.AddEndpoint(_endpoints[1411]); + builder.AddEndpoint(_endpoints[1412]); + builder.AddEndpoint(_endpoints[1413]); + builder.AddEndpoint(_endpoints[1414]); + builder.AddEndpoint(_endpoints[1415]); + builder.AddEndpoint(_endpoints[1416]); + builder.AddEndpoint(_endpoints[1417]); + builder.AddEndpoint(_endpoints[1418]); + builder.AddEndpoint(_endpoints[1419]); + builder.AddEndpoint(_endpoints[1420]); + builder.AddEndpoint(_endpoints[1421]); + builder.AddEndpoint(_endpoints[1422]); + builder.AddEndpoint(_endpoints[1423]); + builder.AddEndpoint(_endpoints[1424]); + builder.AddEndpoint(_endpoints[1425]); + builder.AddEndpoint(_endpoints[1426]); + builder.AddEndpoint(_endpoints[1427]); + builder.AddEndpoint(_endpoints[1428]); + builder.AddEndpoint(_endpoints[1429]); + builder.AddEndpoint(_endpoints[1430]); + builder.AddEndpoint(_endpoints[1431]); + builder.AddEndpoint(_endpoints[1432]); + builder.AddEndpoint(_endpoints[1433]); + builder.AddEndpoint(_endpoints[1434]); + builder.AddEndpoint(_endpoints[1435]); + builder.AddEndpoint(_endpoints[1436]); + builder.AddEndpoint(_endpoints[1437]); + builder.AddEndpoint(_endpoints[1438]); + builder.AddEndpoint(_endpoints[1439]); + builder.AddEndpoint(_endpoints[1440]); + builder.AddEndpoint(_endpoints[1441]); + builder.AddEndpoint(_endpoints[1442]); + builder.AddEndpoint(_endpoints[1443]); + builder.AddEndpoint(_endpoints[1444]); + builder.AddEndpoint(_endpoints[1445]); + builder.AddEndpoint(_endpoints[1446]); + builder.AddEndpoint(_endpoints[1447]); + builder.AddEndpoint(_endpoints[1448]); + builder.AddEndpoint(_endpoints[1449]); + builder.AddEndpoint(_endpoints[1450]); + builder.AddEndpoint(_endpoints[1451]); + builder.AddEndpoint(_endpoints[1452]); + builder.AddEndpoint(_endpoints[1453]); + builder.AddEndpoint(_endpoints[1454]); + builder.AddEndpoint(_endpoints[1455]); + builder.AddEndpoint(_endpoints[1456]); + builder.AddEndpoint(_endpoints[1457]); + builder.AddEndpoint(_endpoints[1458]); + builder.AddEndpoint(_endpoints[1459]); + builder.AddEndpoint(_endpoints[1460]); + builder.AddEndpoint(_endpoints[1461]); + builder.AddEndpoint(_endpoints[1462]); + builder.AddEndpoint(_endpoints[1463]); + builder.AddEndpoint(_endpoints[1464]); + builder.AddEndpoint(_endpoints[1465]); + builder.AddEndpoint(_endpoints[1466]); + builder.AddEndpoint(_endpoints[1467]); + builder.AddEndpoint(_endpoints[1468]); + builder.AddEndpoint(_endpoints[1469]); + builder.AddEndpoint(_endpoints[1470]); + builder.AddEndpoint(_endpoints[1471]); + builder.AddEndpoint(_endpoints[1472]); + builder.AddEndpoint(_endpoints[1473]); + builder.AddEndpoint(_endpoints[1474]); + builder.AddEndpoint(_endpoints[1475]); + builder.AddEndpoint(_endpoints[1476]); + builder.AddEndpoint(_endpoints[1477]); + builder.AddEndpoint(_endpoints[1478]); + builder.AddEndpoint(_endpoints[1479]); + builder.AddEndpoint(_endpoints[1480]); + builder.AddEndpoint(_endpoints[1481]); + builder.AddEndpoint(_endpoints[1482]); + builder.AddEndpoint(_endpoints[1483]); + builder.AddEndpoint(_endpoints[1484]); + builder.AddEndpoint(_endpoints[1485]); + builder.AddEndpoint(_endpoints[1486]); + builder.AddEndpoint(_endpoints[1487]); + builder.AddEndpoint(_endpoints[1488]); + builder.AddEndpoint(_endpoints[1489]); + builder.AddEndpoint(_endpoints[1490]); + builder.AddEndpoint(_endpoints[1491]); + builder.AddEndpoint(_endpoints[1492]); + builder.AddEndpoint(_endpoints[1493]); + builder.AddEndpoint(_endpoints[1494]); + builder.AddEndpoint(_endpoints[1495]); + builder.AddEndpoint(_endpoints[1496]); + builder.AddEndpoint(_endpoints[1497]); + builder.AddEndpoint(_endpoints[1498]); + builder.AddEndpoint(_endpoints[1499]); + builder.AddEndpoint(_endpoints[1500]); + builder.AddEndpoint(_endpoints[1501]); + builder.AddEndpoint(_endpoints[1502]); + builder.AddEndpoint(_endpoints[1503]); + builder.AddEndpoint(_endpoints[1504]); + builder.AddEndpoint(_endpoints[1505]); + builder.AddEndpoint(_endpoints[1506]); + builder.AddEndpoint(_endpoints[1507]); + builder.AddEndpoint(_endpoints[1508]); + builder.AddEndpoint(_endpoints[1509]); + builder.AddEndpoint(_endpoints[1510]); + builder.AddEndpoint(_endpoints[1511]); + builder.AddEndpoint(_endpoints[1512]); + builder.AddEndpoint(_endpoints[1513]); + builder.AddEndpoint(_endpoints[1514]); + builder.AddEndpoint(_endpoints[1515]); + builder.AddEndpoint(_endpoints[1516]); + builder.AddEndpoint(_endpoints[1517]); + builder.AddEndpoint(_endpoints[1518]); + builder.AddEndpoint(_endpoints[1519]); + builder.AddEndpoint(_endpoints[1520]); + builder.AddEndpoint(_endpoints[1521]); + builder.AddEndpoint(_endpoints[1522]); + builder.AddEndpoint(_endpoints[1523]); + builder.AddEndpoint(_endpoints[1524]); + builder.AddEndpoint(_endpoints[1525]); + builder.AddEndpoint(_endpoints[1526]); + builder.AddEndpoint(_endpoints[1527]); + builder.AddEndpoint(_endpoints[1528]); + builder.AddEndpoint(_endpoints[1529]); + builder.AddEndpoint(_endpoints[1530]); + builder.AddEndpoint(_endpoints[1531]); + builder.AddEndpoint(_endpoints[1532]); + builder.AddEndpoint(_endpoints[1533]); + builder.AddEndpoint(_endpoints[1534]); + builder.AddEndpoint(_endpoints[1535]); + builder.AddEndpoint(_endpoints[1536]); + builder.AddEndpoint(_endpoints[1537]); + builder.AddEndpoint(_endpoints[1538]); + builder.AddEndpoint(_endpoints[1539]); + builder.AddEndpoint(_endpoints[1540]); + builder.AddEndpoint(_endpoints[1541]); + builder.AddEndpoint(_endpoints[1542]); + builder.AddEndpoint(_endpoints[1543]); + builder.AddEndpoint(_endpoints[1544]); + builder.AddEndpoint(_endpoints[1545]); + builder.AddEndpoint(_endpoints[1546]); + builder.AddEndpoint(_endpoints[1547]); + builder.AddEndpoint(_endpoints[1548]); + builder.AddEndpoint(_endpoints[1549]); + builder.AddEndpoint(_endpoints[1550]); + builder.AddEndpoint(_endpoints[1551]); + builder.AddEndpoint(_endpoints[1552]); + builder.AddEndpoint(_endpoints[1553]); + builder.AddEndpoint(_endpoints[1554]); + builder.AddEndpoint(_endpoints[1555]); + builder.AddEndpoint(_endpoints[1556]); + builder.AddEndpoint(_endpoints[1557]); + builder.AddEndpoint(_endpoints[1558]); + builder.AddEndpoint(_endpoints[1559]); + builder.AddEndpoint(_endpoints[1560]); + builder.AddEndpoint(_endpoints[1561]); + builder.AddEndpoint(_endpoints[1562]); + builder.AddEndpoint(_endpoints[1563]); + builder.AddEndpoint(_endpoints[1564]); + builder.AddEndpoint(_endpoints[1565]); + builder.AddEndpoint(_endpoints[1566]); + builder.AddEndpoint(_endpoints[1567]); + builder.AddEndpoint(_endpoints[1568]); + builder.AddEndpoint(_endpoints[1569]); + builder.AddEndpoint(_endpoints[1570]); + builder.AddEndpoint(_endpoints[1571]); + builder.AddEndpoint(_endpoints[1572]); + builder.AddEndpoint(_endpoints[1573]); + builder.AddEndpoint(_endpoints[1574]); + builder.AddEndpoint(_endpoints[1575]); + builder.AddEndpoint(_endpoints[1576]); + builder.AddEndpoint(_endpoints[1577]); + builder.AddEndpoint(_endpoints[1578]); + builder.AddEndpoint(_endpoints[1579]); + builder.AddEndpoint(_endpoints[1580]); + builder.AddEndpoint(_endpoints[1581]); + builder.AddEndpoint(_endpoints[1582]); + builder.AddEndpoint(_endpoints[1583]); + builder.AddEndpoint(_endpoints[1584]); + builder.AddEndpoint(_endpoints[1585]); + builder.AddEndpoint(_endpoints[1586]); + builder.AddEndpoint(_endpoints[1587]); + builder.AddEndpoint(_endpoints[1588]); + builder.AddEndpoint(_endpoints[1589]); + builder.AddEndpoint(_endpoints[1590]); + builder.AddEndpoint(_endpoints[1591]); + builder.AddEndpoint(_endpoints[1592]); + builder.AddEndpoint(_endpoints[1593]); + builder.AddEndpoint(_endpoints[1594]); + builder.AddEndpoint(_endpoints[1595]); + builder.AddEndpoint(_endpoints[1596]); + builder.AddEndpoint(_endpoints[1597]); + builder.AddEndpoint(_endpoints[1598]); + builder.AddEndpoint(_endpoints[1599]); + builder.AddEndpoint(_endpoints[1600]); + builder.AddEndpoint(_endpoints[1601]); + builder.AddEndpoint(_endpoints[1602]); + builder.AddEndpoint(_endpoints[1603]); + builder.AddEndpoint(_endpoints[1604]); + builder.AddEndpoint(_endpoints[1605]); + builder.AddEndpoint(_endpoints[1606]); + builder.AddEndpoint(_endpoints[1607]); + builder.AddEndpoint(_endpoints[1608]); + builder.AddEndpoint(_endpoints[1609]); + builder.AddEndpoint(_endpoints[1610]); + builder.AddEndpoint(_endpoints[1611]); + builder.AddEndpoint(_endpoints[1612]); + builder.AddEndpoint(_endpoints[1613]); + builder.AddEndpoint(_endpoints[1614]); + builder.AddEndpoint(_endpoints[1615]); + builder.AddEndpoint(_endpoints[1616]); + builder.AddEndpoint(_endpoints[1617]); + builder.AddEndpoint(_endpoints[1618]); + builder.AddEndpoint(_endpoints[1619]); + builder.AddEndpoint(_endpoints[1620]); + builder.AddEndpoint(_endpoints[1621]); + builder.AddEndpoint(_endpoints[1622]); + builder.AddEndpoint(_endpoints[1623]); + builder.AddEndpoint(_endpoints[1624]); + builder.AddEndpoint(_endpoints[1625]); + builder.AddEndpoint(_endpoints[1626]); + builder.AddEndpoint(_endpoints[1627]); + builder.AddEndpoint(_endpoints[1628]); + builder.AddEndpoint(_endpoints[1629]); + builder.AddEndpoint(_endpoints[1630]); + builder.AddEndpoint(_endpoints[1631]); + builder.AddEndpoint(_endpoints[1632]); + builder.AddEndpoint(_endpoints[1633]); + builder.AddEndpoint(_endpoints[1634]); + builder.AddEndpoint(_endpoints[1635]); + builder.AddEndpoint(_endpoints[1636]); + builder.AddEndpoint(_endpoints[1637]); + builder.AddEndpoint(_endpoints[1638]); + builder.AddEndpoint(_endpoints[1639]); + builder.AddEndpoint(_endpoints[1640]); + builder.AddEndpoint(_endpoints[1641]); + builder.AddEndpoint(_endpoints[1642]); + builder.AddEndpoint(_endpoints[1643]); + builder.AddEndpoint(_endpoints[1644]); + builder.AddEndpoint(_endpoints[1645]); + builder.AddEndpoint(_endpoints[1646]); + builder.AddEndpoint(_endpoints[1647]); + builder.AddEndpoint(_endpoints[1648]); + builder.AddEndpoint(_endpoints[1649]); + builder.AddEndpoint(_endpoints[1650]); + builder.AddEndpoint(_endpoints[1651]); + builder.AddEndpoint(_endpoints[1652]); + builder.AddEndpoint(_endpoints[1653]); + builder.AddEndpoint(_endpoints[1654]); + builder.AddEndpoint(_endpoints[1655]); + builder.AddEndpoint(_endpoints[1656]); + builder.AddEndpoint(_endpoints[1657]); + builder.AddEndpoint(_endpoints[1658]); + builder.AddEndpoint(_endpoints[1659]); + builder.AddEndpoint(_endpoints[1660]); + builder.AddEndpoint(_endpoints[1661]); + builder.AddEndpoint(_endpoints[1662]); + builder.AddEndpoint(_endpoints[1663]); + builder.AddEndpoint(_endpoints[1664]); + builder.AddEndpoint(_endpoints[1665]); + builder.AddEndpoint(_endpoints[1666]); + builder.AddEndpoint(_endpoints[1667]); + builder.AddEndpoint(_endpoints[1668]); + builder.AddEndpoint(_endpoints[1669]); + builder.AddEndpoint(_endpoints[1670]); + builder.AddEndpoint(_endpoints[1671]); + builder.AddEndpoint(_endpoints[1672]); + builder.AddEndpoint(_endpoints[1673]); + builder.AddEndpoint(_endpoints[1674]); + builder.AddEndpoint(_endpoints[1675]); + builder.AddEndpoint(_endpoints[1676]); + builder.AddEndpoint(_endpoints[1677]); + builder.AddEndpoint(_endpoints[1678]); + builder.AddEndpoint(_endpoints[1679]); + builder.AddEndpoint(_endpoints[1680]); + builder.AddEndpoint(_endpoints[1681]); + builder.AddEndpoint(_endpoints[1682]); + builder.AddEndpoint(_endpoints[1683]); + builder.AddEndpoint(_endpoints[1684]); + builder.AddEndpoint(_endpoints[1685]); + builder.AddEndpoint(_endpoints[1686]); + builder.AddEndpoint(_endpoints[1687]); + builder.AddEndpoint(_endpoints[1688]); + builder.AddEndpoint(_endpoints[1689]); + builder.AddEndpoint(_endpoints[1690]); + builder.AddEndpoint(_endpoints[1691]); + builder.AddEndpoint(_endpoints[1692]); + builder.AddEndpoint(_endpoints[1693]); + builder.AddEndpoint(_endpoints[1694]); + builder.AddEndpoint(_endpoints[1695]); + builder.AddEndpoint(_endpoints[1696]); + builder.AddEndpoint(_endpoints[1697]); + builder.AddEndpoint(_endpoints[1698]); + builder.AddEndpoint(_endpoints[1699]); + builder.AddEndpoint(_endpoints[1700]); + builder.AddEndpoint(_endpoints[1701]); + builder.AddEndpoint(_endpoints[1702]); + builder.AddEndpoint(_endpoints[1703]); + builder.AddEndpoint(_endpoints[1704]); + builder.AddEndpoint(_endpoints[1705]); + builder.AddEndpoint(_endpoints[1706]); + builder.AddEndpoint(_endpoints[1707]); + builder.AddEndpoint(_endpoints[1708]); + builder.AddEndpoint(_endpoints[1709]); + builder.AddEndpoint(_endpoints[1710]); + builder.AddEndpoint(_endpoints[1711]); + builder.AddEndpoint(_endpoints[1712]); + builder.AddEndpoint(_endpoints[1713]); + builder.AddEndpoint(_endpoints[1714]); + builder.AddEndpoint(_endpoints[1715]); + builder.AddEndpoint(_endpoints[1716]); + builder.AddEndpoint(_endpoints[1717]); + builder.AddEndpoint(_endpoints[1718]); + builder.AddEndpoint(_endpoints[1719]); + builder.AddEndpoint(_endpoints[1720]); + builder.AddEndpoint(_endpoints[1721]); + builder.AddEndpoint(_endpoints[1722]); + builder.AddEndpoint(_endpoints[1723]); + builder.AddEndpoint(_endpoints[1724]); + builder.AddEndpoint(_endpoints[1725]); + builder.AddEndpoint(_endpoints[1726]); + builder.AddEndpoint(_endpoints[1727]); + builder.AddEndpoint(_endpoints[1728]); + builder.AddEndpoint(_endpoints[1729]); + builder.AddEndpoint(_endpoints[1730]); + builder.AddEndpoint(_endpoints[1731]); + builder.AddEndpoint(_endpoints[1732]); + builder.AddEndpoint(_endpoints[1733]); + builder.AddEndpoint(_endpoints[1734]); + builder.AddEndpoint(_endpoints[1735]); + builder.AddEndpoint(_endpoints[1736]); + builder.AddEndpoint(_endpoints[1737]); + builder.AddEndpoint(_endpoints[1738]); + builder.AddEndpoint(_endpoints[1739]); + builder.AddEndpoint(_endpoints[1740]); + builder.AddEndpoint(_endpoints[1741]); + builder.AddEndpoint(_endpoints[1742]); + builder.AddEndpoint(_endpoints[1743]); + builder.AddEndpoint(_endpoints[1744]); + builder.AddEndpoint(_endpoints[1745]); + builder.AddEndpoint(_endpoints[1746]); + builder.AddEndpoint(_endpoints[1747]); + builder.AddEndpoint(_endpoints[1748]); + builder.AddEndpoint(_endpoints[1749]); + builder.AddEndpoint(_endpoints[1750]); + builder.AddEndpoint(_endpoints[1751]); + builder.AddEndpoint(_endpoints[1752]); + builder.AddEndpoint(_endpoints[1753]); + builder.AddEndpoint(_endpoints[1754]); + builder.AddEndpoint(_endpoints[1755]); + builder.AddEndpoint(_endpoints[1756]); + builder.AddEndpoint(_endpoints[1757]); + builder.AddEndpoint(_endpoints[1758]); + builder.AddEndpoint(_endpoints[1759]); + builder.AddEndpoint(_endpoints[1760]); + builder.AddEndpoint(_endpoints[1761]); + builder.AddEndpoint(_endpoints[1762]); + builder.AddEndpoint(_endpoints[1763]); + builder.AddEndpoint(_endpoints[1764]); + builder.AddEndpoint(_endpoints[1765]); + builder.AddEndpoint(_endpoints[1766]); + builder.AddEndpoint(_endpoints[1767]); + builder.AddEndpoint(_endpoints[1768]); + builder.AddEndpoint(_endpoints[1769]); + builder.AddEndpoint(_endpoints[1770]); + builder.AddEndpoint(_endpoints[1771]); + builder.AddEndpoint(_endpoints[1772]); + builder.AddEndpoint(_endpoints[1773]); + builder.AddEndpoint(_endpoints[1774]); + builder.AddEndpoint(_endpoints[1775]); + builder.AddEndpoint(_endpoints[1776]); + builder.AddEndpoint(_endpoints[1777]); + builder.AddEndpoint(_endpoints[1778]); + builder.AddEndpoint(_endpoints[1779]); + builder.AddEndpoint(_endpoints[1780]); + builder.AddEndpoint(_endpoints[1781]); + builder.AddEndpoint(_endpoints[1782]); + builder.AddEndpoint(_endpoints[1783]); + builder.AddEndpoint(_endpoints[1784]); + builder.AddEndpoint(_endpoints[1785]); + builder.AddEndpoint(_endpoints[1786]); + builder.AddEndpoint(_endpoints[1787]); + builder.AddEndpoint(_endpoints[1788]); + builder.AddEndpoint(_endpoints[1789]); + builder.AddEndpoint(_endpoints[1790]); + builder.AddEndpoint(_endpoints[1791]); + builder.AddEndpoint(_endpoints[1792]); + builder.AddEndpoint(_endpoints[1793]); + builder.AddEndpoint(_endpoints[1794]); + builder.AddEndpoint(_endpoints[1795]); + builder.AddEndpoint(_endpoints[1796]); + builder.AddEndpoint(_endpoints[1797]); + builder.AddEndpoint(_endpoints[1798]); + builder.AddEndpoint(_endpoints[1799]); + builder.AddEndpoint(_endpoints[1800]); + builder.AddEndpoint(_endpoints[1801]); + builder.AddEndpoint(_endpoints[1802]); + builder.AddEndpoint(_endpoints[1803]); + builder.AddEndpoint(_endpoints[1804]); + builder.AddEndpoint(_endpoints[1805]); + builder.AddEndpoint(_endpoints[1806]); + builder.AddEndpoint(_endpoints[1807]); + builder.AddEndpoint(_endpoints[1808]); + builder.AddEndpoint(_endpoints[1809]); + builder.AddEndpoint(_endpoints[1810]); + builder.AddEndpoint(_endpoints[1811]); + builder.AddEndpoint(_endpoints[1812]); + builder.AddEndpoint(_endpoints[1813]); + builder.AddEndpoint(_endpoints[1814]); + builder.AddEndpoint(_endpoints[1815]); + builder.AddEndpoint(_endpoints[1816]); + builder.AddEndpoint(_endpoints[1817]); + builder.AddEndpoint(_endpoints[1818]); + builder.AddEndpoint(_endpoints[1819]); + builder.AddEndpoint(_endpoints[1820]); + builder.AddEndpoint(_endpoints[1821]); + builder.AddEndpoint(_endpoints[1822]); + builder.AddEndpoint(_endpoints[1823]); + builder.AddEndpoint(_endpoints[1824]); + builder.AddEndpoint(_endpoints[1825]); + builder.AddEndpoint(_endpoints[1826]); + builder.AddEndpoint(_endpoints[1827]); + builder.AddEndpoint(_endpoints[1828]); + builder.AddEndpoint(_endpoints[1829]); + builder.AddEndpoint(_endpoints[1830]); + builder.AddEndpoint(_endpoints[1831]); + builder.AddEndpoint(_endpoints[1832]); + builder.AddEndpoint(_endpoints[1833]); + builder.AddEndpoint(_endpoints[1834]); + builder.AddEndpoint(_endpoints[1835]); + builder.AddEndpoint(_endpoints[1836]); + builder.AddEndpoint(_endpoints[1837]); + builder.AddEndpoint(_endpoints[1838]); + builder.AddEndpoint(_endpoints[1839]); + builder.AddEndpoint(_endpoints[1840]); + builder.AddEndpoint(_endpoints[1841]); + builder.AddEndpoint(_endpoints[1842]); + builder.AddEndpoint(_endpoints[1843]); + builder.AddEndpoint(_endpoints[1844]); + builder.AddEndpoint(_endpoints[1845]); + builder.AddEndpoint(_endpoints[1846]); + builder.AddEndpoint(_endpoints[1847]); + builder.AddEndpoint(_endpoints[1848]); + builder.AddEndpoint(_endpoints[1849]); + builder.AddEndpoint(_endpoints[1850]); + builder.AddEndpoint(_endpoints[1851]); + builder.AddEndpoint(_endpoints[1852]); + builder.AddEndpoint(_endpoints[1853]); + builder.AddEndpoint(_endpoints[1854]); + builder.AddEndpoint(_endpoints[1855]); + builder.AddEndpoint(_endpoints[1856]); + builder.AddEndpoint(_endpoints[1857]); + builder.AddEndpoint(_endpoints[1858]); + builder.AddEndpoint(_endpoints[1859]); + builder.AddEndpoint(_endpoints[1860]); + builder.AddEndpoint(_endpoints[1861]); + builder.AddEndpoint(_endpoints[1862]); + builder.AddEndpoint(_endpoints[1863]); + builder.AddEndpoint(_endpoints[1864]); + builder.AddEndpoint(_endpoints[1865]); + builder.AddEndpoint(_endpoints[1866]); + builder.AddEndpoint(_endpoints[1867]); + builder.AddEndpoint(_endpoints[1868]); + builder.AddEndpoint(_endpoints[1869]); + builder.AddEndpoint(_endpoints[1870]); + builder.AddEndpoint(_endpoints[1871]); + builder.AddEndpoint(_endpoints[1872]); + builder.AddEndpoint(_endpoints[1873]); + builder.AddEndpoint(_endpoints[1874]); + builder.AddEndpoint(_endpoints[1875]); + builder.AddEndpoint(_endpoints[1876]); + builder.AddEndpoint(_endpoints[1877]); + builder.AddEndpoint(_endpoints[1878]); + builder.AddEndpoint(_endpoints[1879]); + builder.AddEndpoint(_endpoints[1880]); + builder.AddEndpoint(_endpoints[1881]); + builder.AddEndpoint(_endpoints[1882]); + builder.AddEndpoint(_endpoints[1883]); + builder.AddEndpoint(_endpoints[1884]); + builder.AddEndpoint(_endpoints[1885]); + builder.AddEndpoint(_endpoints[1886]); + builder.AddEndpoint(_endpoints[1887]); + builder.AddEndpoint(_endpoints[1888]); + builder.AddEndpoint(_endpoints[1889]); + builder.AddEndpoint(_endpoints[1890]); + builder.AddEndpoint(_endpoints[1891]); + builder.AddEndpoint(_endpoints[1892]); + builder.AddEndpoint(_endpoints[1893]); + builder.AddEndpoint(_endpoints[1894]); + builder.AddEndpoint(_endpoints[1895]); + builder.AddEndpoint(_endpoints[1896]); + builder.AddEndpoint(_endpoints[1897]); + builder.AddEndpoint(_endpoints[1898]); + builder.AddEndpoint(_endpoints[1899]); + builder.AddEndpoint(_endpoints[1900]); + builder.AddEndpoint(_endpoints[1901]); + builder.AddEndpoint(_endpoints[1902]); + builder.AddEndpoint(_endpoints[1903]); + builder.AddEndpoint(_endpoints[1904]); + builder.AddEndpoint(_endpoints[1905]); + builder.AddEndpoint(_endpoints[1906]); + builder.AddEndpoint(_endpoints[1907]); + builder.AddEndpoint(_endpoints[1908]); + builder.AddEndpoint(_endpoints[1909]); + builder.AddEndpoint(_endpoints[1910]); + builder.AddEndpoint(_endpoints[1911]); + builder.AddEndpoint(_endpoints[1912]); + builder.AddEndpoint(_endpoints[1913]); + builder.AddEndpoint(_endpoints[1914]); + builder.AddEndpoint(_endpoints[1915]); + builder.AddEndpoint(_endpoints[1916]); + builder.AddEndpoint(_endpoints[1917]); + builder.AddEndpoint(_endpoints[1918]); + builder.AddEndpoint(_endpoints[1919]); + builder.AddEndpoint(_endpoints[1920]); + builder.AddEndpoint(_endpoints[1921]); + builder.AddEndpoint(_endpoints[1922]); + builder.AddEndpoint(_endpoints[1923]); + builder.AddEndpoint(_endpoints[1924]); + builder.AddEndpoint(_endpoints[1925]); + builder.AddEndpoint(_endpoints[1926]); + builder.AddEndpoint(_endpoints[1927]); + builder.AddEndpoint(_endpoints[1928]); + builder.AddEndpoint(_endpoints[1929]); + builder.AddEndpoint(_endpoints[1930]); + builder.AddEndpoint(_endpoints[1931]); + builder.AddEndpoint(_endpoints[1932]); + builder.AddEndpoint(_endpoints[1933]); + builder.AddEndpoint(_endpoints[1934]); + builder.AddEndpoint(_endpoints[1935]); + builder.AddEndpoint(_endpoints[1936]); + builder.AddEndpoint(_endpoints[1937]); + builder.AddEndpoint(_endpoints[1938]); + builder.AddEndpoint(_endpoints[1939]); + builder.AddEndpoint(_endpoints[1940]); + builder.AddEndpoint(_endpoints[1941]); + builder.AddEndpoint(_endpoints[1942]); + builder.AddEndpoint(_endpoints[1943]); + builder.AddEndpoint(_endpoints[1944]); + builder.AddEndpoint(_endpoints[1945]); + builder.AddEndpoint(_endpoints[1946]); + builder.AddEndpoint(_endpoints[1947]); + builder.AddEndpoint(_endpoints[1948]); + builder.AddEndpoint(_endpoints[1949]); + builder.AddEndpoint(_endpoints[1950]); + builder.AddEndpoint(_endpoints[1951]); + builder.AddEndpoint(_endpoints[1952]); + builder.AddEndpoint(_endpoints[1953]); + builder.AddEndpoint(_endpoints[1954]); + builder.AddEndpoint(_endpoints[1955]); + builder.AddEndpoint(_endpoints[1956]); + builder.AddEndpoint(_endpoints[1957]); + builder.AddEndpoint(_endpoints[1958]); + builder.AddEndpoint(_endpoints[1959]); + builder.AddEndpoint(_endpoints[1960]); + builder.AddEndpoint(_endpoints[1961]); + builder.AddEndpoint(_endpoints[1962]); + builder.AddEndpoint(_endpoints[1963]); + builder.AddEndpoint(_endpoints[1964]); + builder.AddEndpoint(_endpoints[1965]); + builder.AddEndpoint(_endpoints[1966]); + builder.AddEndpoint(_endpoints[1967]); + builder.AddEndpoint(_endpoints[1968]); + builder.AddEndpoint(_endpoints[1969]); + builder.AddEndpoint(_endpoints[1970]); + builder.AddEndpoint(_endpoints[1971]); + builder.AddEndpoint(_endpoints[1972]); + builder.AddEndpoint(_endpoints[1973]); + builder.AddEndpoint(_endpoints[1974]); + builder.AddEndpoint(_endpoints[1975]); + builder.AddEndpoint(_endpoints[1976]); + builder.AddEndpoint(_endpoints[1977]); + builder.AddEndpoint(_endpoints[1978]); + builder.AddEndpoint(_endpoints[1979]); + builder.AddEndpoint(_endpoints[1980]); + builder.AddEndpoint(_endpoints[1981]); + builder.AddEndpoint(_endpoints[1982]); + builder.AddEndpoint(_endpoints[1983]); + builder.AddEndpoint(_endpoints[1984]); + builder.AddEndpoint(_endpoints[1985]); + builder.AddEndpoint(_endpoints[1986]); + builder.AddEndpoint(_endpoints[1987]); + builder.AddEndpoint(_endpoints[1988]); + builder.AddEndpoint(_endpoints[1989]); + builder.AddEndpoint(_endpoints[1990]); + builder.AddEndpoint(_endpoints[1991]); + builder.AddEndpoint(_endpoints[1992]); + builder.AddEndpoint(_endpoints[1993]); + builder.AddEndpoint(_endpoints[1994]); + builder.AddEndpoint(_endpoints[1995]); + builder.AddEndpoint(_endpoints[1996]); + builder.AddEndpoint(_endpoints[1997]); + builder.AddEndpoint(_endpoints[1998]); + builder.AddEndpoint(_endpoints[1999]); + builder.AddEndpoint(_endpoints[2000]); + builder.AddEndpoint(_endpoints[2001]); + builder.AddEndpoint(_endpoints[2002]); + builder.AddEndpoint(_endpoints[2003]); + builder.AddEndpoint(_endpoints[2004]); + builder.AddEndpoint(_endpoints[2005]); + builder.AddEndpoint(_endpoints[2006]); + builder.AddEndpoint(_endpoints[2007]); + builder.AddEndpoint(_endpoints[2008]); + builder.AddEndpoint(_endpoints[2009]); + builder.AddEndpoint(_endpoints[2010]); + builder.AddEndpoint(_endpoints[2011]); + builder.AddEndpoint(_endpoints[2012]); + builder.AddEndpoint(_endpoints[2013]); + builder.AddEndpoint(_endpoints[2014]); + builder.AddEndpoint(_endpoints[2015]); + builder.AddEndpoint(_endpoints[2016]); + builder.AddEndpoint(_endpoints[2017]); + builder.AddEndpoint(_endpoints[2018]); + builder.AddEndpoint(_endpoints[2019]); + builder.AddEndpoint(_endpoints[2020]); + builder.AddEndpoint(_endpoints[2021]); + builder.AddEndpoint(_endpoints[2022]); + builder.AddEndpoint(_endpoints[2023]); + builder.AddEndpoint(_endpoints[2024]); + builder.AddEndpoint(_endpoints[2025]); + builder.AddEndpoint(_endpoints[2026]); + builder.AddEndpoint(_endpoints[2027]); + builder.AddEndpoint(_endpoints[2028]); + builder.AddEndpoint(_endpoints[2029]); + builder.AddEndpoint(_endpoints[2030]); + builder.AddEndpoint(_endpoints[2031]); + builder.AddEndpoint(_endpoints[2032]); + builder.AddEndpoint(_endpoints[2033]); + builder.AddEndpoint(_endpoints[2034]); + builder.AddEndpoint(_endpoints[2035]); + builder.AddEndpoint(_endpoints[2036]); + builder.AddEndpoint(_endpoints[2037]); + builder.AddEndpoint(_endpoints[2038]); + builder.AddEndpoint(_endpoints[2039]); + builder.AddEndpoint(_endpoints[2040]); + builder.AddEndpoint(_endpoints[2041]); + builder.AddEndpoint(_endpoints[2042]); + builder.AddEndpoint(_endpoints[2043]); + builder.AddEndpoint(_endpoints[2044]); + builder.AddEndpoint(_endpoints[2045]); + builder.AddEndpoint(_endpoints[2046]); + builder.AddEndpoint(_endpoints[2047]); + builder.AddEndpoint(_endpoints[2048]); + builder.AddEndpoint(_endpoints[2049]); + builder.AddEndpoint(_endpoints[2050]); + builder.AddEndpoint(_endpoints[2051]); + builder.AddEndpoint(_endpoints[2052]); + builder.AddEndpoint(_endpoints[2053]); + builder.AddEndpoint(_endpoints[2054]); + builder.AddEndpoint(_endpoints[2055]); + builder.AddEndpoint(_endpoints[2056]); + builder.AddEndpoint(_endpoints[2057]); + builder.AddEndpoint(_endpoints[2058]); + builder.AddEndpoint(_endpoints[2059]); + builder.AddEndpoint(_endpoints[2060]); + builder.AddEndpoint(_endpoints[2061]); + builder.AddEndpoint(_endpoints[2062]); + builder.AddEndpoint(_endpoints[2063]); + builder.AddEndpoint(_endpoints[2064]); + builder.AddEndpoint(_endpoints[2065]); + builder.AddEndpoint(_endpoints[2066]); + builder.AddEndpoint(_endpoints[2067]); + builder.AddEndpoint(_endpoints[2068]); + builder.AddEndpoint(_endpoints[2069]); + builder.AddEndpoint(_endpoints[2070]); + builder.AddEndpoint(_endpoints[2071]); + builder.AddEndpoint(_endpoints[2072]); + builder.AddEndpoint(_endpoints[2073]); + builder.AddEndpoint(_endpoints[2074]); + builder.AddEndpoint(_endpoints[2075]); + builder.AddEndpoint(_endpoints[2076]); + builder.AddEndpoint(_endpoints[2077]); + builder.AddEndpoint(_endpoints[2078]); + builder.AddEndpoint(_endpoints[2079]); + builder.AddEndpoint(_endpoints[2080]); + builder.AddEndpoint(_endpoints[2081]); + builder.AddEndpoint(_endpoints[2082]); + builder.AddEndpoint(_endpoints[2083]); + builder.AddEndpoint(_endpoints[2084]); + builder.AddEndpoint(_endpoints[2085]); + builder.AddEndpoint(_endpoints[2086]); + builder.AddEndpoint(_endpoints[2087]); + builder.AddEndpoint(_endpoints[2088]); + builder.AddEndpoint(_endpoints[2089]); + builder.AddEndpoint(_endpoints[2090]); + builder.AddEndpoint(_endpoints[2091]); + builder.AddEndpoint(_endpoints[2092]); + builder.AddEndpoint(_endpoints[2093]); + builder.AddEndpoint(_endpoints[2094]); + builder.AddEndpoint(_endpoints[2095]); + builder.AddEndpoint(_endpoints[2096]); + builder.AddEndpoint(_endpoints[2097]); + builder.AddEndpoint(_endpoints[2098]); + builder.AddEndpoint(_endpoints[2099]); + builder.AddEndpoint(_endpoints[2100]); + builder.AddEndpoint(_endpoints[2101]); + builder.AddEndpoint(_endpoints[2102]); + builder.AddEndpoint(_endpoints[2103]); + builder.AddEndpoint(_endpoints[2104]); + builder.AddEndpoint(_endpoints[2105]); + builder.AddEndpoint(_endpoints[2106]); + builder.AddEndpoint(_endpoints[2107]); + builder.AddEndpoint(_endpoints[2108]); + builder.AddEndpoint(_endpoints[2109]); + builder.AddEndpoint(_endpoints[2110]); + builder.AddEndpoint(_endpoints[2111]); + builder.AddEndpoint(_endpoints[2112]); + builder.AddEndpoint(_endpoints[2113]); + builder.AddEndpoint(_endpoints[2114]); + builder.AddEndpoint(_endpoints[2115]); + builder.AddEndpoint(_endpoints[2116]); + builder.AddEndpoint(_endpoints[2117]); + builder.AddEndpoint(_endpoints[2118]); + builder.AddEndpoint(_endpoints[2119]); + builder.AddEndpoint(_endpoints[2120]); + builder.AddEndpoint(_endpoints[2121]); + builder.AddEndpoint(_endpoints[2122]); + builder.AddEndpoint(_endpoints[2123]); + builder.AddEndpoint(_endpoints[2124]); + builder.AddEndpoint(_endpoints[2125]); + builder.AddEndpoint(_endpoints[2126]); + builder.AddEndpoint(_endpoints[2127]); + builder.AddEndpoint(_endpoints[2128]); + builder.AddEndpoint(_endpoints[2129]); + builder.AddEndpoint(_endpoints[2130]); + builder.AddEndpoint(_endpoints[2131]); + builder.AddEndpoint(_endpoints[2132]); + builder.AddEndpoint(_endpoints[2133]); + builder.AddEndpoint(_endpoints[2134]); + builder.AddEndpoint(_endpoints[2135]); + builder.AddEndpoint(_endpoints[2136]); + builder.AddEndpoint(_endpoints[2137]); + builder.AddEndpoint(_endpoints[2138]); + builder.AddEndpoint(_endpoints[2139]); + builder.AddEndpoint(_endpoints[2140]); + builder.AddEndpoint(_endpoints[2141]); + builder.AddEndpoint(_endpoints[2142]); + builder.AddEndpoint(_endpoints[2143]); + builder.AddEndpoint(_endpoints[2144]); + builder.AddEndpoint(_endpoints[2145]); + builder.AddEndpoint(_endpoints[2146]); + builder.AddEndpoint(_endpoints[2147]); + builder.AddEndpoint(_endpoints[2148]); + builder.AddEndpoint(_endpoints[2149]); + builder.AddEndpoint(_endpoints[2150]); + builder.AddEndpoint(_endpoints[2151]); + builder.AddEndpoint(_endpoints[2152]); + builder.AddEndpoint(_endpoints[2153]); + builder.AddEndpoint(_endpoints[2154]); + builder.AddEndpoint(_endpoints[2155]); + builder.AddEndpoint(_endpoints[2156]); + builder.AddEndpoint(_endpoints[2157]); + builder.AddEndpoint(_endpoints[2158]); + builder.AddEndpoint(_endpoints[2159]); + builder.AddEndpoint(_endpoints[2160]); + builder.AddEndpoint(_endpoints[2161]); + builder.AddEndpoint(_endpoints[2162]); + builder.AddEndpoint(_endpoints[2163]); + builder.AddEndpoint(_endpoints[2164]); + builder.AddEndpoint(_endpoints[2165]); + builder.AddEndpoint(_endpoints[2166]); + builder.AddEndpoint(_endpoints[2167]); + builder.AddEndpoint(_endpoints[2168]); + builder.AddEndpoint(_endpoints[2169]); + builder.AddEndpoint(_endpoints[2170]); + builder.AddEndpoint(_endpoints[2171]); + builder.AddEndpoint(_endpoints[2172]); + builder.AddEndpoint(_endpoints[2173]); + builder.AddEndpoint(_endpoints[2174]); + builder.AddEndpoint(_endpoints[2175]); + builder.AddEndpoint(_endpoints[2176]); + builder.AddEndpoint(_endpoints[2177]); + builder.AddEndpoint(_endpoints[2178]); + builder.AddEndpoint(_endpoints[2179]); + builder.AddEndpoint(_endpoints[2180]); + builder.AddEndpoint(_endpoints[2181]); + builder.AddEndpoint(_endpoints[2182]); + builder.AddEndpoint(_endpoints[2183]); + builder.AddEndpoint(_endpoints[2184]); + builder.AddEndpoint(_endpoints[2185]); + builder.AddEndpoint(_endpoints[2186]); + builder.AddEndpoint(_endpoints[2187]); + builder.AddEndpoint(_endpoints[2188]); + builder.AddEndpoint(_endpoints[2189]); + builder.AddEndpoint(_endpoints[2190]); + builder.AddEndpoint(_endpoints[2191]); + builder.AddEndpoint(_endpoints[2192]); + builder.AddEndpoint(_endpoints[2193]); + builder.AddEndpoint(_endpoints[2194]); + builder.AddEndpoint(_endpoints[2195]); + builder.AddEndpoint(_endpoints[2196]); + builder.AddEndpoint(_endpoints[2197]); + builder.AddEndpoint(_endpoints[2198]); + builder.AddEndpoint(_endpoints[2199]); + builder.AddEndpoint(_endpoints[2200]); + builder.AddEndpoint(_endpoints[2201]); + builder.AddEndpoint(_endpoints[2202]); + builder.AddEndpoint(_endpoints[2203]); + builder.AddEndpoint(_endpoints[2204]); + builder.AddEndpoint(_endpoints[2205]); + builder.AddEndpoint(_endpoints[2206]); + builder.AddEndpoint(_endpoints[2207]); + builder.AddEndpoint(_endpoints[2208]); + builder.AddEndpoint(_endpoints[2209]); + builder.AddEndpoint(_endpoints[2210]); + builder.AddEndpoint(_endpoints[2211]); + builder.AddEndpoint(_endpoints[2212]); + builder.AddEndpoint(_endpoints[2213]); + builder.AddEndpoint(_endpoints[2214]); + builder.AddEndpoint(_endpoints[2215]); + builder.AddEndpoint(_endpoints[2216]); + builder.AddEndpoint(_endpoints[2217]); + builder.AddEndpoint(_endpoints[2218]); + builder.AddEndpoint(_endpoints[2219]); + builder.AddEndpoint(_endpoints[2220]); + builder.AddEndpoint(_endpoints[2221]); + builder.AddEndpoint(_endpoints[2222]); + builder.AddEndpoint(_endpoints[2223]); + builder.AddEndpoint(_endpoints[2224]); + builder.AddEndpoint(_endpoints[2225]); + builder.AddEndpoint(_endpoints[2226]); + builder.AddEndpoint(_endpoints[2227]); + builder.AddEndpoint(_endpoints[2228]); + builder.AddEndpoint(_endpoints[2229]); + builder.AddEndpoint(_endpoints[2230]); + builder.AddEndpoint(_endpoints[2231]); + builder.AddEndpoint(_endpoints[2232]); + builder.AddEndpoint(_endpoints[2233]); + builder.AddEndpoint(_endpoints[2234]); + builder.AddEndpoint(_endpoints[2235]); + builder.AddEndpoint(_endpoints[2236]); + builder.AddEndpoint(_endpoints[2237]); + builder.AddEndpoint(_endpoints[2238]); + builder.AddEndpoint(_endpoints[2239]); + builder.AddEndpoint(_endpoints[2240]); + builder.AddEndpoint(_endpoints[2241]); + builder.AddEndpoint(_endpoints[2242]); + builder.AddEndpoint(_endpoints[2243]); + builder.AddEndpoint(_endpoints[2244]); + builder.AddEndpoint(_endpoints[2245]); + builder.AddEndpoint(_endpoints[2246]); + builder.AddEndpoint(_endpoints[2247]); + builder.AddEndpoint(_endpoints[2248]); + builder.AddEndpoint(_endpoints[2249]); + builder.AddEndpoint(_endpoints[2250]); + builder.AddEndpoint(_endpoints[2251]); + builder.AddEndpoint(_endpoints[2252]); + builder.AddEndpoint(_endpoints[2253]); + builder.AddEndpoint(_endpoints[2254]); + builder.AddEndpoint(_endpoints[2255]); + builder.AddEndpoint(_endpoints[2256]); + builder.AddEndpoint(_endpoints[2257]); + builder.AddEndpoint(_endpoints[2258]); + builder.AddEndpoint(_endpoints[2259]); + builder.AddEndpoint(_endpoints[2260]); + builder.AddEndpoint(_endpoints[2261]); + builder.AddEndpoint(_endpoints[2262]); + builder.AddEndpoint(_endpoints[2263]); + builder.AddEndpoint(_endpoints[2264]); + builder.AddEndpoint(_endpoints[2265]); + builder.AddEndpoint(_endpoints[2266]); + builder.AddEndpoint(_endpoints[2267]); + builder.AddEndpoint(_endpoints[2268]); + builder.AddEndpoint(_endpoints[2269]); + builder.AddEndpoint(_endpoints[2270]); + builder.AddEndpoint(_endpoints[2271]); + builder.AddEndpoint(_endpoints[2272]); + builder.AddEndpoint(_endpoints[2273]); + builder.AddEndpoint(_endpoints[2274]); + builder.AddEndpoint(_endpoints[2275]); + builder.AddEndpoint(_endpoints[2276]); + builder.AddEndpoint(_endpoints[2277]); + builder.AddEndpoint(_endpoints[2278]); + builder.AddEndpoint(_endpoints[2279]); + builder.AddEndpoint(_endpoints[2280]); + builder.AddEndpoint(_endpoints[2281]); + builder.AddEndpoint(_endpoints[2282]); + builder.AddEndpoint(_endpoints[2283]); + builder.AddEndpoint(_endpoints[2284]); + builder.AddEndpoint(_endpoints[2285]); + builder.AddEndpoint(_endpoints[2286]); + builder.AddEndpoint(_endpoints[2287]); + builder.AddEndpoint(_endpoints[2288]); + builder.AddEndpoint(_endpoints[2289]); + builder.AddEndpoint(_endpoints[2290]); + builder.AddEndpoint(_endpoints[2291]); + builder.AddEndpoint(_endpoints[2292]); + builder.AddEndpoint(_endpoints[2293]); + builder.AddEndpoint(_endpoints[2294]); + builder.AddEndpoint(_endpoints[2295]); + builder.AddEndpoint(_endpoints[2296]); + builder.AddEndpoint(_endpoints[2297]); + builder.AddEndpoint(_endpoints[2298]); + builder.AddEndpoint(_endpoints[2299]); + builder.AddEndpoint(_endpoints[2300]); + builder.AddEndpoint(_endpoints[2301]); + builder.AddEndpoint(_endpoints[2302]); + builder.AddEndpoint(_endpoints[2303]); + builder.AddEndpoint(_endpoints[2304]); + builder.AddEndpoint(_endpoints[2305]); + builder.AddEndpoint(_endpoints[2306]); + builder.AddEndpoint(_endpoints[2307]); + builder.AddEndpoint(_endpoints[2308]); + builder.AddEndpoint(_endpoints[2309]); + builder.AddEndpoint(_endpoints[2310]); + builder.AddEndpoint(_endpoints[2311]); + builder.AddEndpoint(_endpoints[2312]); + builder.AddEndpoint(_endpoints[2313]); + builder.AddEndpoint(_endpoints[2314]); + builder.AddEndpoint(_endpoints[2315]); + builder.AddEndpoint(_endpoints[2316]); + builder.AddEndpoint(_endpoints[2317]); + builder.AddEndpoint(_endpoints[2318]); + builder.AddEndpoint(_endpoints[2319]); + builder.AddEndpoint(_endpoints[2320]); + builder.AddEndpoint(_endpoints[2321]); + builder.AddEndpoint(_endpoints[2322]); + builder.AddEndpoint(_endpoints[2323]); + builder.AddEndpoint(_endpoints[2324]); + builder.AddEndpoint(_endpoints[2325]); + builder.AddEndpoint(_endpoints[2326]); + builder.AddEndpoint(_endpoints[2327]); + builder.AddEndpoint(_endpoints[2328]); + builder.AddEndpoint(_endpoints[2329]); + builder.AddEndpoint(_endpoints[2330]); + builder.AddEndpoint(_endpoints[2331]); + builder.AddEndpoint(_endpoints[2332]); + builder.AddEndpoint(_endpoints[2333]); + builder.AddEndpoint(_endpoints[2334]); + builder.AddEndpoint(_endpoints[2335]); + builder.AddEndpoint(_endpoints[2336]); + builder.AddEndpoint(_endpoints[2337]); + builder.AddEndpoint(_endpoints[2338]); + builder.AddEndpoint(_endpoints[2339]); + builder.AddEndpoint(_endpoints[2340]); + builder.AddEndpoint(_endpoints[2341]); + builder.AddEndpoint(_endpoints[2342]); + builder.AddEndpoint(_endpoints[2343]); + builder.AddEndpoint(_endpoints[2344]); + builder.AddEndpoint(_endpoints[2345]); + builder.AddEndpoint(_endpoints[2346]); + builder.AddEndpoint(_endpoints[2347]); + builder.AddEndpoint(_endpoints[2348]); + builder.AddEndpoint(_endpoints[2349]); + builder.AddEndpoint(_endpoints[2350]); + builder.AddEndpoint(_endpoints[2351]); + builder.AddEndpoint(_endpoints[2352]); + builder.AddEndpoint(_endpoints[2353]); + builder.AddEndpoint(_endpoints[2354]); + builder.AddEndpoint(_endpoints[2355]); + builder.AddEndpoint(_endpoints[2356]); + builder.AddEndpoint(_endpoints[2357]); + builder.AddEndpoint(_endpoints[2358]); + builder.AddEndpoint(_endpoints[2359]); + builder.AddEndpoint(_endpoints[2360]); + builder.AddEndpoint(_endpoints[2361]); + builder.AddEndpoint(_endpoints[2362]); + builder.AddEndpoint(_endpoints[2363]); + builder.AddEndpoint(_endpoints[2364]); + builder.AddEndpoint(_endpoints[2365]); + builder.AddEndpoint(_endpoints[2366]); + builder.AddEndpoint(_endpoints[2367]); + builder.AddEndpoint(_endpoints[2368]); + builder.AddEndpoint(_endpoints[2369]); + builder.AddEndpoint(_endpoints[2370]); + builder.AddEndpoint(_endpoints[2371]); + builder.AddEndpoint(_endpoints[2372]); + builder.AddEndpoint(_endpoints[2373]); + builder.AddEndpoint(_endpoints[2374]); + builder.AddEndpoint(_endpoints[2375]); + builder.AddEndpoint(_endpoints[2376]); + builder.AddEndpoint(_endpoints[2377]); + builder.AddEndpoint(_endpoints[2378]); + builder.AddEndpoint(_endpoints[2379]); + builder.AddEndpoint(_endpoints[2380]); + builder.AddEndpoint(_endpoints[2381]); + builder.AddEndpoint(_endpoints[2382]); + builder.AddEndpoint(_endpoints[2383]); + builder.AddEndpoint(_endpoints[2384]); + builder.AddEndpoint(_endpoints[2385]); + builder.AddEndpoint(_endpoints[2386]); + builder.AddEndpoint(_endpoints[2387]); + builder.AddEndpoint(_endpoints[2388]); + builder.AddEndpoint(_endpoints[2389]); + builder.AddEndpoint(_endpoints[2390]); + builder.AddEndpoint(_endpoints[2391]); + builder.AddEndpoint(_endpoints[2392]); + builder.AddEndpoint(_endpoints[2393]); + builder.AddEndpoint(_endpoints[2394]); + builder.AddEndpoint(_endpoints[2395]); + builder.AddEndpoint(_endpoints[2396]); + builder.AddEndpoint(_endpoints[2397]); + builder.AddEndpoint(_endpoints[2398]); + builder.AddEndpoint(_endpoints[2399]); + builder.AddEndpoint(_endpoints[2400]); + builder.AddEndpoint(_endpoints[2401]); + builder.AddEndpoint(_endpoints[2402]); + builder.AddEndpoint(_endpoints[2403]); + builder.AddEndpoint(_endpoints[2404]); + builder.AddEndpoint(_endpoints[2405]); + builder.AddEndpoint(_endpoints[2406]); + builder.AddEndpoint(_endpoints[2407]); + builder.AddEndpoint(_endpoints[2408]); + builder.AddEndpoint(_endpoints[2409]); + builder.AddEndpoint(_endpoints[2410]); + builder.AddEndpoint(_endpoints[2411]); + builder.AddEndpoint(_endpoints[2412]); + builder.AddEndpoint(_endpoints[2413]); + builder.AddEndpoint(_endpoints[2414]); + builder.AddEndpoint(_endpoints[2415]); + builder.AddEndpoint(_endpoints[2416]); + builder.AddEndpoint(_endpoints[2417]); + builder.AddEndpoint(_endpoints[2418]); + builder.AddEndpoint(_endpoints[2419]); + builder.AddEndpoint(_endpoints[2420]); + builder.AddEndpoint(_endpoints[2421]); + builder.AddEndpoint(_endpoints[2422]); + builder.AddEndpoint(_endpoints[2423]); + builder.AddEndpoint(_endpoints[2424]); + builder.AddEndpoint(_endpoints[2425]); + builder.AddEndpoint(_endpoints[2426]); + builder.AddEndpoint(_endpoints[2427]); + builder.AddEndpoint(_endpoints[2428]); + builder.AddEndpoint(_endpoints[2429]); + builder.AddEndpoint(_endpoints[2430]); + builder.AddEndpoint(_endpoints[2431]); + builder.AddEndpoint(_endpoints[2432]); + builder.AddEndpoint(_endpoints[2433]); + builder.AddEndpoint(_endpoints[2434]); + builder.AddEndpoint(_endpoints[2435]); + builder.AddEndpoint(_endpoints[2436]); + builder.AddEndpoint(_endpoints[2437]); + builder.AddEndpoint(_endpoints[2438]); + builder.AddEndpoint(_endpoints[2439]); + builder.AddEndpoint(_endpoints[2440]); + builder.AddEndpoint(_endpoints[2441]); + builder.AddEndpoint(_endpoints[2442]); + builder.AddEndpoint(_endpoints[2443]); + builder.AddEndpoint(_endpoints[2444]); + builder.AddEndpoint(_endpoints[2445]); + builder.AddEndpoint(_endpoints[2446]); + builder.AddEndpoint(_endpoints[2447]); + builder.AddEndpoint(_endpoints[2448]); + builder.AddEndpoint(_endpoints[2449]); + builder.AddEndpoint(_endpoints[2450]); + builder.AddEndpoint(_endpoints[2451]); + builder.AddEndpoint(_endpoints[2452]); + builder.AddEndpoint(_endpoints[2453]); + builder.AddEndpoint(_endpoints[2454]); + builder.AddEndpoint(_endpoints[2455]); + builder.AddEndpoint(_endpoints[2456]); + builder.AddEndpoint(_endpoints[2457]); + builder.AddEndpoint(_endpoints[2458]); + builder.AddEndpoint(_endpoints[2459]); + builder.AddEndpoint(_endpoints[2460]); + builder.AddEndpoint(_endpoints[2461]); + builder.AddEndpoint(_endpoints[2462]); + builder.AddEndpoint(_endpoints[2463]); + builder.AddEndpoint(_endpoints[2464]); + builder.AddEndpoint(_endpoints[2465]); + builder.AddEndpoint(_endpoints[2466]); + builder.AddEndpoint(_endpoints[2467]); + builder.AddEndpoint(_endpoints[2468]); + builder.AddEndpoint(_endpoints[2469]); + builder.AddEndpoint(_endpoints[2470]); + builder.AddEndpoint(_endpoints[2471]); + builder.AddEndpoint(_endpoints[2472]); + builder.AddEndpoint(_endpoints[2473]); + builder.AddEndpoint(_endpoints[2474]); + builder.AddEndpoint(_endpoints[2475]); + builder.AddEndpoint(_endpoints[2476]); + builder.AddEndpoint(_endpoints[2477]); + builder.AddEndpoint(_endpoints[2478]); + builder.AddEndpoint(_endpoints[2479]); + builder.AddEndpoint(_endpoints[2480]); + builder.AddEndpoint(_endpoints[2481]); + builder.AddEndpoint(_endpoints[2482]); + builder.AddEndpoint(_endpoints[2483]); + builder.AddEndpoint(_endpoints[2484]); + builder.AddEndpoint(_endpoints[2485]); + builder.AddEndpoint(_endpoints[2486]); + builder.AddEndpoint(_endpoints[2487]); + builder.AddEndpoint(_endpoints[2488]); + builder.AddEndpoint(_endpoints[2489]); + builder.AddEndpoint(_endpoints[2490]); + builder.AddEndpoint(_endpoints[2491]); + builder.AddEndpoint(_endpoints[2492]); + builder.AddEndpoint(_endpoints[2493]); + builder.AddEndpoint(_endpoints[2494]); + builder.AddEndpoint(_endpoints[2495]); + builder.AddEndpoint(_endpoints[2496]); + builder.AddEndpoint(_endpoints[2497]); + builder.AddEndpoint(_endpoints[2498]); + builder.AddEndpoint(_endpoints[2499]); + builder.AddEndpoint(_endpoints[2500]); + builder.AddEndpoint(_endpoints[2501]); + builder.AddEndpoint(_endpoints[2502]); + builder.AddEndpoint(_endpoints[2503]); + builder.AddEndpoint(_endpoints[2504]); + builder.AddEndpoint(_endpoints[2505]); + builder.AddEndpoint(_endpoints[2506]); + builder.AddEndpoint(_endpoints[2507]); + builder.AddEndpoint(_endpoints[2508]); + builder.AddEndpoint(_endpoints[2509]); + builder.AddEndpoint(_endpoints[2510]); + builder.AddEndpoint(_endpoints[2511]); + builder.AddEndpoint(_endpoints[2512]); + builder.AddEndpoint(_endpoints[2513]); + builder.AddEndpoint(_endpoints[2514]); + builder.AddEndpoint(_endpoints[2515]); + builder.AddEndpoint(_endpoints[2516]); + builder.AddEndpoint(_endpoints[2517]); + builder.AddEndpoint(_endpoints[2518]); + builder.AddEndpoint(_endpoints[2519]); + builder.AddEndpoint(_endpoints[2520]); + builder.AddEndpoint(_endpoints[2521]); + builder.AddEndpoint(_endpoints[2522]); + builder.AddEndpoint(_endpoints[2523]); + builder.AddEndpoint(_endpoints[2524]); + builder.AddEndpoint(_endpoints[2525]); + builder.AddEndpoint(_endpoints[2526]); + builder.AddEndpoint(_endpoints[2527]); + builder.AddEndpoint(_endpoints[2528]); + builder.AddEndpoint(_endpoints[2529]); + builder.AddEndpoint(_endpoints[2530]); + builder.AddEndpoint(_endpoints[2531]); + builder.AddEndpoint(_endpoints[2532]); + builder.AddEndpoint(_endpoints[2533]); + builder.AddEndpoint(_endpoints[2534]); + builder.AddEndpoint(_endpoints[2535]); + builder.AddEndpoint(_endpoints[2536]); + builder.AddEndpoint(_endpoints[2537]); + builder.AddEndpoint(_endpoints[2538]); + builder.AddEndpoint(_endpoints[2539]); + builder.AddEndpoint(_endpoints[2540]); + builder.AddEndpoint(_endpoints[2541]); + builder.AddEndpoint(_endpoints[2542]); + builder.AddEndpoint(_endpoints[2543]); + builder.AddEndpoint(_endpoints[2544]); + builder.AddEndpoint(_endpoints[2545]); + builder.AddEndpoint(_endpoints[2546]); + builder.AddEndpoint(_endpoints[2547]); + builder.AddEndpoint(_endpoints[2548]); + builder.AddEndpoint(_endpoints[2549]); + builder.AddEndpoint(_endpoints[2550]); + builder.AddEndpoint(_endpoints[2551]); + builder.AddEndpoint(_endpoints[2552]); + builder.AddEndpoint(_endpoints[2553]); + builder.AddEndpoint(_endpoints[2554]); + builder.AddEndpoint(_endpoints[2555]); + builder.AddEndpoint(_endpoints[2556]); + builder.AddEndpoint(_endpoints[2557]); + builder.AddEndpoint(_endpoints[2558]); + builder.AddEndpoint(_endpoints[2559]); + builder.AddEndpoint(_endpoints[2560]); + builder.AddEndpoint(_endpoints[2561]); + builder.AddEndpoint(_endpoints[2562]); + builder.AddEndpoint(_endpoints[2563]); + builder.AddEndpoint(_endpoints[2564]); + builder.AddEndpoint(_endpoints[2565]); + builder.AddEndpoint(_endpoints[2566]); + builder.AddEndpoint(_endpoints[2567]); + builder.AddEndpoint(_endpoints[2568]); + builder.AddEndpoint(_endpoints[2569]); + builder.AddEndpoint(_endpoints[2570]); + builder.AddEndpoint(_endpoints[2571]); + builder.AddEndpoint(_endpoints[2572]); + builder.AddEndpoint(_endpoints[2573]); + builder.AddEndpoint(_endpoints[2574]); + builder.AddEndpoint(_endpoints[2575]); + builder.AddEndpoint(_endpoints[2576]); + builder.AddEndpoint(_endpoints[2577]); + builder.AddEndpoint(_endpoints[2578]); + builder.AddEndpoint(_endpoints[2579]); + builder.AddEndpoint(_endpoints[2580]); + builder.AddEndpoint(_endpoints[2581]); + builder.AddEndpoint(_endpoints[2582]); + builder.AddEndpoint(_endpoints[2583]); + builder.AddEndpoint(_endpoints[2584]); + builder.AddEndpoint(_endpoints[2585]); + builder.AddEndpoint(_endpoints[2586]); + builder.AddEndpoint(_endpoints[2587]); + builder.AddEndpoint(_endpoints[2588]); + builder.AddEndpoint(_endpoints[2589]); + builder.AddEndpoint(_endpoints[2590]); + builder.AddEndpoint(_endpoints[2591]); + builder.AddEndpoint(_endpoints[2592]); + builder.AddEndpoint(_endpoints[2593]); + builder.AddEndpoint(_endpoints[2594]); + builder.AddEndpoint(_endpoints[2595]); + builder.AddEndpoint(_endpoints[2596]); + builder.AddEndpoint(_endpoints[2597]); + builder.AddEndpoint(_endpoints[2598]); + builder.AddEndpoint(_endpoints[2599]); + builder.AddEndpoint(_endpoints[2600]); + builder.AddEndpoint(_endpoints[2601]); + builder.AddEndpoint(_endpoints[2602]); + builder.AddEndpoint(_endpoints[2603]); + builder.AddEndpoint(_endpoints[2604]); + builder.AddEndpoint(_endpoints[2605]); + builder.AddEndpoint(_endpoints[2606]); + builder.AddEndpoint(_endpoints[2607]); + builder.AddEndpoint(_endpoints[2608]); + builder.AddEndpoint(_endpoints[2609]); + builder.AddEndpoint(_endpoints[2610]); + builder.AddEndpoint(_endpoints[2611]); + builder.AddEndpoint(_endpoints[2612]); + builder.AddEndpoint(_endpoints[2613]); + builder.AddEndpoint(_endpoints[2614]); + builder.AddEndpoint(_endpoints[2615]); + builder.AddEndpoint(_endpoints[2616]); + builder.AddEndpoint(_endpoints[2617]); + builder.AddEndpoint(_endpoints[2618]); + builder.AddEndpoint(_endpoints[2619]); + builder.AddEndpoint(_endpoints[2620]); + builder.AddEndpoint(_endpoints[2621]); + builder.AddEndpoint(_endpoints[2622]); + builder.AddEndpoint(_endpoints[2623]); + builder.AddEndpoint(_endpoints[2624]); + builder.AddEndpoint(_endpoints[2625]); + builder.AddEndpoint(_endpoints[2626]); + builder.AddEndpoint(_endpoints[2627]); + builder.AddEndpoint(_endpoints[2628]); + builder.AddEndpoint(_endpoints[2629]); + builder.AddEndpoint(_endpoints[2630]); + builder.AddEndpoint(_endpoints[2631]); + builder.AddEndpoint(_endpoints[2632]); + builder.AddEndpoint(_endpoints[2633]); + builder.AddEndpoint(_endpoints[2634]); + builder.AddEndpoint(_endpoints[2635]); + builder.AddEndpoint(_endpoints[2636]); + builder.AddEndpoint(_endpoints[2637]); + builder.AddEndpoint(_endpoints[2638]); + builder.AddEndpoint(_endpoints[2639]); + builder.AddEndpoint(_endpoints[2640]); + builder.AddEndpoint(_endpoints[2641]); + builder.AddEndpoint(_endpoints[2642]); + builder.AddEndpoint(_endpoints[2643]); + builder.AddEndpoint(_endpoints[2644]); + builder.AddEndpoint(_endpoints[2645]); + builder.AddEndpoint(_endpoints[2646]); + builder.AddEndpoint(_endpoints[2647]); + builder.AddEndpoint(_endpoints[2648]); + builder.AddEndpoint(_endpoints[2649]); + builder.AddEndpoint(_endpoints[2650]); + builder.AddEndpoint(_endpoints[2651]); + builder.AddEndpoint(_endpoints[2652]); + builder.AddEndpoint(_endpoints[2653]); + builder.AddEndpoint(_endpoints[2654]); + builder.AddEndpoint(_endpoints[2655]); + builder.AddEndpoint(_endpoints[2656]); + builder.AddEndpoint(_endpoints[2657]); + builder.AddEndpoint(_endpoints[2658]); + builder.AddEndpoint(_endpoints[2659]); + builder.AddEndpoint(_endpoints[2660]); + builder.AddEndpoint(_endpoints[2661]); + builder.AddEndpoint(_endpoints[2662]); + builder.AddEndpoint(_endpoints[2663]); + builder.AddEndpoint(_endpoints[2664]); + builder.AddEndpoint(_endpoints[2665]); + builder.AddEndpoint(_endpoints[2666]); + builder.AddEndpoint(_endpoints[2667]); + builder.AddEndpoint(_endpoints[2668]); + builder.AddEndpoint(_endpoints[2669]); + builder.AddEndpoint(_endpoints[2670]); + builder.AddEndpoint(_endpoints[2671]); + builder.AddEndpoint(_endpoints[2672]); + builder.AddEndpoint(_endpoints[2673]); + builder.AddEndpoint(_endpoints[2674]); + builder.AddEndpoint(_endpoints[2675]); + builder.AddEndpoint(_endpoints[2676]); + builder.AddEndpoint(_endpoints[2677]); + builder.AddEndpoint(_endpoints[2678]); + builder.AddEndpoint(_endpoints[2679]); + builder.AddEndpoint(_endpoints[2680]); + builder.AddEndpoint(_endpoints[2681]); + builder.AddEndpoint(_endpoints[2682]); + builder.AddEndpoint(_endpoints[2683]); + builder.AddEndpoint(_endpoints[2684]); + builder.AddEndpoint(_endpoints[2685]); + builder.AddEndpoint(_endpoints[2686]); + builder.AddEndpoint(_endpoints[2687]); + builder.AddEndpoint(_endpoints[2688]); + builder.AddEndpoint(_endpoints[2689]); + builder.AddEndpoint(_endpoints[2690]); + builder.AddEndpoint(_endpoints[2691]); + builder.AddEndpoint(_endpoints[2692]); + builder.AddEndpoint(_endpoints[2693]); + builder.AddEndpoint(_endpoints[2694]); + builder.AddEndpoint(_endpoints[2695]); + builder.AddEndpoint(_endpoints[2696]); + builder.AddEndpoint(_endpoints[2697]); + builder.AddEndpoint(_endpoints[2698]); + builder.AddEndpoint(_endpoints[2699]); + builder.AddEndpoint(_endpoints[2700]); + builder.AddEndpoint(_endpoints[2701]); + builder.AddEndpoint(_endpoints[2702]); + builder.AddEndpoint(_endpoints[2703]); + builder.AddEndpoint(_endpoints[2704]); + builder.AddEndpoint(_endpoints[2705]); + builder.AddEndpoint(_endpoints[2706]); + builder.AddEndpoint(_endpoints[2707]); + builder.AddEndpoint(_endpoints[2708]); + builder.AddEndpoint(_endpoints[2709]); + builder.AddEndpoint(_endpoints[2710]); + builder.AddEndpoint(_endpoints[2711]); + builder.AddEndpoint(_endpoints[2712]); + builder.AddEndpoint(_endpoints[2713]); + builder.AddEndpoint(_endpoints[2714]); + builder.AddEndpoint(_endpoints[2715]); + builder.AddEndpoint(_endpoints[2716]); + builder.AddEndpoint(_endpoints[2717]); + builder.AddEndpoint(_endpoints[2718]); + builder.AddEndpoint(_endpoints[2719]); + builder.AddEndpoint(_endpoints[2720]); + builder.AddEndpoint(_endpoints[2721]); + builder.AddEndpoint(_endpoints[2722]); + builder.AddEndpoint(_endpoints[2723]); + builder.AddEndpoint(_endpoints[2724]); + builder.AddEndpoint(_endpoints[2725]); + builder.AddEndpoint(_endpoints[2726]); + builder.AddEndpoint(_endpoints[2727]); + builder.AddEndpoint(_endpoints[2728]); + builder.AddEndpoint(_endpoints[2729]); + builder.AddEndpoint(_endpoints[2730]); + builder.AddEndpoint(_endpoints[2731]); + builder.AddEndpoint(_endpoints[2732]); + builder.AddEndpoint(_endpoints[2733]); + builder.AddEndpoint(_endpoints[2734]); + builder.AddEndpoint(_endpoints[2735]); + builder.AddEndpoint(_endpoints[2736]); + builder.AddEndpoint(_endpoints[2737]); + builder.AddEndpoint(_endpoints[2738]); + builder.AddEndpoint(_endpoints[2739]); + builder.AddEndpoint(_endpoints[2740]); + builder.AddEndpoint(_endpoints[2741]); + builder.AddEndpoint(_endpoints[2742]); + builder.AddEndpoint(_endpoints[2743]); + builder.AddEndpoint(_endpoints[2744]); + builder.AddEndpoint(_endpoints[2745]); + builder.AddEndpoint(_endpoints[2746]); + builder.AddEndpoint(_endpoints[2747]); + builder.AddEndpoint(_endpoints[2748]); + builder.AddEndpoint(_endpoints[2749]); + builder.AddEndpoint(_endpoints[2750]); + builder.AddEndpoint(_endpoints[2751]); + builder.AddEndpoint(_endpoints[2752]); + builder.AddEndpoint(_endpoints[2753]); + builder.AddEndpoint(_endpoints[2754]); + builder.AddEndpoint(_endpoints[2755]); + builder.AddEndpoint(_endpoints[2756]); + builder.AddEndpoint(_endpoints[2757]); + builder.AddEndpoint(_endpoints[2758]); + builder.AddEndpoint(_endpoints[2759]); + builder.AddEndpoint(_endpoints[2760]); + builder.AddEndpoint(_endpoints[2761]); + builder.AddEndpoint(_endpoints[2762]); + builder.AddEndpoint(_endpoints[2763]); + builder.AddEndpoint(_endpoints[2764]); + builder.AddEndpoint(_endpoints[2765]); + builder.AddEndpoint(_endpoints[2766]); + builder.AddEndpoint(_endpoints[2767]); + builder.AddEndpoint(_endpoints[2768]); + builder.AddEndpoint(_endpoints[2769]); + builder.AddEndpoint(_endpoints[2770]); + builder.AddEndpoint(_endpoints[2771]); + builder.AddEndpoint(_endpoints[2772]); + builder.AddEndpoint(_endpoints[2773]); + builder.AddEndpoint(_endpoints[2774]); + builder.AddEndpoint(_endpoints[2775]); + builder.AddEndpoint(_endpoints[2776]); + builder.AddEndpoint(_endpoints[2777]); + builder.AddEndpoint(_endpoints[2778]); + builder.AddEndpoint(_endpoints[2779]); + builder.AddEndpoint(_endpoints[2780]); + builder.AddEndpoint(_endpoints[2781]); + builder.AddEndpoint(_endpoints[2782]); + builder.AddEndpoint(_endpoints[2783]); + builder.AddEndpoint(_endpoints[2784]); + builder.AddEndpoint(_endpoints[2785]); + builder.AddEndpoint(_endpoints[2786]); + builder.AddEndpoint(_endpoints[2787]); + builder.AddEndpoint(_endpoints[2788]); + builder.AddEndpoint(_endpoints[2789]); + builder.AddEndpoint(_endpoints[2790]); + builder.AddEndpoint(_endpoints[2791]); + builder.AddEndpoint(_endpoints[2792]); + builder.AddEndpoint(_endpoints[2793]); + builder.AddEndpoint(_endpoints[2794]); + builder.AddEndpoint(_endpoints[2795]); + builder.AddEndpoint(_endpoints[2796]); + builder.AddEndpoint(_endpoints[2797]); + builder.AddEndpoint(_endpoints[2798]); + builder.AddEndpoint(_endpoints[2799]); + builder.AddEndpoint(_endpoints[2800]); + builder.AddEndpoint(_endpoints[2801]); + builder.AddEndpoint(_endpoints[2802]); + builder.AddEndpoint(_endpoints[2803]); + builder.AddEndpoint(_endpoints[2804]); + builder.AddEndpoint(_endpoints[2805]); + builder.AddEndpoint(_endpoints[2806]); + builder.AddEndpoint(_endpoints[2807]); + builder.AddEndpoint(_endpoints[2808]); + builder.AddEndpoint(_endpoints[2809]); + builder.AddEndpoint(_endpoints[2810]); + builder.AddEndpoint(_endpoints[2811]); + builder.AddEndpoint(_endpoints[2812]); + builder.AddEndpoint(_endpoints[2813]); + builder.AddEndpoint(_endpoints[2814]); + builder.AddEndpoint(_endpoints[2815]); + builder.AddEndpoint(_endpoints[2816]); + builder.AddEndpoint(_endpoints[2817]); + builder.AddEndpoint(_endpoints[2818]); + builder.AddEndpoint(_endpoints[2819]); + builder.AddEndpoint(_endpoints[2820]); + builder.AddEndpoint(_endpoints[2821]); + builder.AddEndpoint(_endpoints[2822]); + builder.AddEndpoint(_endpoints[2823]); + builder.AddEndpoint(_endpoints[2824]); + builder.AddEndpoint(_endpoints[2825]); + builder.AddEndpoint(_endpoints[2826]); + builder.AddEndpoint(_endpoints[2827]); + builder.AddEndpoint(_endpoints[2828]); + builder.AddEndpoint(_endpoints[2829]); + builder.AddEndpoint(_endpoints[2830]); + builder.AddEndpoint(_endpoints[2831]); + builder.AddEndpoint(_endpoints[2832]); + builder.AddEndpoint(_endpoints[2833]); + builder.AddEndpoint(_endpoints[2834]); + builder.AddEndpoint(_endpoints[2835]); + builder.AddEndpoint(_endpoints[2836]); + builder.AddEndpoint(_endpoints[2837]); + builder.AddEndpoint(_endpoints[2838]); + builder.AddEndpoint(_endpoints[2839]); + builder.AddEndpoint(_endpoints[2840]); + builder.AddEndpoint(_endpoints[2841]); + builder.AddEndpoint(_endpoints[2842]); + builder.AddEndpoint(_endpoints[2843]); + builder.AddEndpoint(_endpoints[2844]); + builder.AddEndpoint(_endpoints[2845]); + builder.AddEndpoint(_endpoints[2846]); + builder.AddEndpoint(_endpoints[2847]); + builder.AddEndpoint(_endpoints[2848]); + builder.AddEndpoint(_endpoints[2849]); + builder.AddEndpoint(_endpoints[2850]); + builder.AddEndpoint(_endpoints[2851]); + builder.AddEndpoint(_endpoints[2852]); + builder.AddEndpoint(_endpoints[2853]); + builder.AddEndpoint(_endpoints[2854]); + builder.AddEndpoint(_endpoints[2855]); + builder.AddEndpoint(_endpoints[2856]); + builder.AddEndpoint(_endpoints[2857]); + builder.AddEndpoint(_endpoints[2858]); + builder.AddEndpoint(_endpoints[2859]); + builder.AddEndpoint(_endpoints[2860]); + builder.AddEndpoint(_endpoints[2861]); + builder.AddEndpoint(_endpoints[2862]); + builder.AddEndpoint(_endpoints[2863]); + builder.AddEndpoint(_endpoints[2864]); + builder.AddEndpoint(_endpoints[2865]); + builder.AddEndpoint(_endpoints[2866]); + builder.AddEndpoint(_endpoints[2867]); + builder.AddEndpoint(_endpoints[2868]); + builder.AddEndpoint(_endpoints[2869]); + builder.AddEndpoint(_endpoints[2870]); + builder.AddEndpoint(_endpoints[2871]); + builder.AddEndpoint(_endpoints[2872]); + builder.AddEndpoint(_endpoints[2873]); + builder.AddEndpoint(_endpoints[2874]); + builder.AddEndpoint(_endpoints[2875]); + builder.AddEndpoint(_endpoints[2876]); + builder.AddEndpoint(_endpoints[2877]); + builder.AddEndpoint(_endpoints[2878]); + builder.AddEndpoint(_endpoints[2879]); + builder.AddEndpoint(_endpoints[2880]); + builder.AddEndpoint(_endpoints[2881]); + builder.AddEndpoint(_endpoints[2882]); + builder.AddEndpoint(_endpoints[2883]); + builder.AddEndpoint(_endpoints[2884]); + builder.AddEndpoint(_endpoints[2885]); + builder.AddEndpoint(_endpoints[2886]); + builder.AddEndpoint(_endpoints[2887]); + builder.AddEndpoint(_endpoints[2888]); + builder.AddEndpoint(_endpoints[2889]); + builder.AddEndpoint(_endpoints[2890]); + builder.AddEndpoint(_endpoints[2891]); + builder.AddEndpoint(_endpoints[2892]); + builder.AddEndpoint(_endpoints[2893]); + builder.AddEndpoint(_endpoints[2894]); + builder.AddEndpoint(_endpoints[2895]); + builder.AddEndpoint(_endpoints[2896]); + builder.AddEndpoint(_endpoints[2897]); + builder.AddEndpoint(_endpoints[2898]); + builder.AddEndpoint(_endpoints[2899]); + builder.AddEndpoint(_endpoints[2900]); + builder.AddEndpoint(_endpoints[2901]); + builder.AddEndpoint(_endpoints[2902]); + builder.AddEndpoint(_endpoints[2903]); + builder.AddEndpoint(_endpoints[2904]); + builder.AddEndpoint(_endpoints[2905]); + builder.AddEndpoint(_endpoints[2906]); + builder.AddEndpoint(_endpoints[2907]); + builder.AddEndpoint(_endpoints[2908]); + builder.AddEndpoint(_endpoints[2909]); + builder.AddEndpoint(_endpoints[2910]); + builder.AddEndpoint(_endpoints[2911]); + builder.AddEndpoint(_endpoints[2912]); + builder.AddEndpoint(_endpoints[2913]); + builder.AddEndpoint(_endpoints[2914]); + builder.AddEndpoint(_endpoints[2915]); + builder.AddEndpoint(_endpoints[2916]); + builder.AddEndpoint(_endpoints[2917]); + builder.AddEndpoint(_endpoints[2918]); + builder.AddEndpoint(_endpoints[2919]); + builder.AddEndpoint(_endpoints[2920]); + builder.AddEndpoint(_endpoints[2921]); + builder.AddEndpoint(_endpoints[2922]); + builder.AddEndpoint(_endpoints[2923]); + builder.AddEndpoint(_endpoints[2924]); + builder.AddEndpoint(_endpoints[2925]); + builder.AddEndpoint(_endpoints[2926]); + builder.AddEndpoint(_endpoints[2927]); + builder.AddEndpoint(_endpoints[2928]); + builder.AddEndpoint(_endpoints[2929]); + builder.AddEndpoint(_endpoints[2930]); + builder.AddEndpoint(_endpoints[2931]); + builder.AddEndpoint(_endpoints[2932]); + builder.AddEndpoint(_endpoints[2933]); + builder.AddEndpoint(_endpoints[2934]); + builder.AddEndpoint(_endpoints[2935]); + builder.AddEndpoint(_endpoints[2936]); + builder.AddEndpoint(_endpoints[2937]); + builder.AddEndpoint(_endpoints[2938]); + builder.AddEndpoint(_endpoints[2939]); + builder.AddEndpoint(_endpoints[2940]); + builder.AddEndpoint(_endpoints[2941]); + builder.AddEndpoint(_endpoints[2942]); + builder.AddEndpoint(_endpoints[2943]); + builder.AddEndpoint(_endpoints[2944]); + builder.AddEndpoint(_endpoints[2945]); + builder.AddEndpoint(_endpoints[2946]); + builder.AddEndpoint(_endpoints[2947]); + builder.AddEndpoint(_endpoints[2948]); + builder.AddEndpoint(_endpoints[2949]); + builder.AddEndpoint(_endpoints[2950]); + builder.AddEndpoint(_endpoints[2951]); + builder.AddEndpoint(_endpoints[2952]); + builder.AddEndpoint(_endpoints[2953]); + builder.AddEndpoint(_endpoints[2954]); + builder.AddEndpoint(_endpoints[2955]); + builder.AddEndpoint(_endpoints[2956]); + builder.AddEndpoint(_endpoints[2957]); + builder.AddEndpoint(_endpoints[2958]); + builder.AddEndpoint(_endpoints[2959]); + builder.AddEndpoint(_endpoints[2960]); + builder.AddEndpoint(_endpoints[2961]); + builder.AddEndpoint(_endpoints[2962]); + builder.AddEndpoint(_endpoints[2963]); + builder.AddEndpoint(_endpoints[2964]); + builder.AddEndpoint(_endpoints[2965]); + builder.AddEndpoint(_endpoints[2966]); + builder.AddEndpoint(_endpoints[2967]); + builder.AddEndpoint(_endpoints[2968]); + builder.AddEndpoint(_endpoints[2969]); + builder.AddEndpoint(_endpoints[2970]); + builder.AddEndpoint(_endpoints[2971]); + builder.AddEndpoint(_endpoints[2972]); + builder.AddEndpoint(_endpoints[2973]); + builder.AddEndpoint(_endpoints[2974]); + builder.AddEndpoint(_endpoints[2975]); + builder.AddEndpoint(_endpoints[2976]); + builder.AddEndpoint(_endpoints[2977]); + builder.AddEndpoint(_endpoints[2978]); + builder.AddEndpoint(_endpoints[2979]); + builder.AddEndpoint(_endpoints[2980]); + builder.AddEndpoint(_endpoints[2981]); + builder.AddEndpoint(_endpoints[2982]); + builder.AddEndpoint(_endpoints[2983]); + builder.AddEndpoint(_endpoints[2984]); + builder.AddEndpoint(_endpoints[2985]); + builder.AddEndpoint(_endpoints[2986]); + builder.AddEndpoint(_endpoints[2987]); + builder.AddEndpoint(_endpoints[2988]); + builder.AddEndpoint(_endpoints[2989]); + builder.AddEndpoint(_endpoints[2990]); + builder.AddEndpoint(_endpoints[2991]); + builder.AddEndpoint(_endpoints[2992]); + builder.AddEndpoint(_endpoints[2993]); + builder.AddEndpoint(_endpoints[2994]); + builder.AddEndpoint(_endpoints[2995]); + builder.AddEndpoint(_endpoints[2996]); + builder.AddEndpoint(_endpoints[2997]); + builder.AddEndpoint(_endpoints[2998]); + builder.AddEndpoint(_endpoints[2999]); + builder.AddEndpoint(_endpoints[3000]); + builder.AddEndpoint(_endpoints[3001]); + builder.AddEndpoint(_endpoints[3002]); + builder.AddEndpoint(_endpoints[3003]); + builder.AddEndpoint(_endpoints[3004]); + builder.AddEndpoint(_endpoints[3005]); + builder.AddEndpoint(_endpoints[3006]); + builder.AddEndpoint(_endpoints[3007]); + builder.AddEndpoint(_endpoints[3008]); + builder.AddEndpoint(_endpoints[3009]); + builder.AddEndpoint(_endpoints[3010]); + builder.AddEndpoint(_endpoints[3011]); + builder.AddEndpoint(_endpoints[3012]); + builder.AddEndpoint(_endpoints[3013]); + builder.AddEndpoint(_endpoints[3014]); + builder.AddEndpoint(_endpoints[3015]); + builder.AddEndpoint(_endpoints[3016]); + builder.AddEndpoint(_endpoints[3017]); + builder.AddEndpoint(_endpoints[3018]); + builder.AddEndpoint(_endpoints[3019]); + builder.AddEndpoint(_endpoints[3020]); + builder.AddEndpoint(_endpoints[3021]); + builder.AddEndpoint(_endpoints[3022]); + builder.AddEndpoint(_endpoints[3023]); + builder.AddEndpoint(_endpoints[3024]); + builder.AddEndpoint(_endpoints[3025]); + builder.AddEndpoint(_endpoints[3026]); + builder.AddEndpoint(_endpoints[3027]); + builder.AddEndpoint(_endpoints[3028]); + builder.AddEndpoint(_endpoints[3029]); + builder.AddEndpoint(_endpoints[3030]); + builder.AddEndpoint(_endpoints[3031]); + builder.AddEndpoint(_endpoints[3032]); + builder.AddEndpoint(_endpoints[3033]); + builder.AddEndpoint(_endpoints[3034]); + builder.AddEndpoint(_endpoints[3035]); + builder.AddEndpoint(_endpoints[3036]); + builder.AddEndpoint(_endpoints[3037]); + builder.AddEndpoint(_endpoints[3038]); + builder.AddEndpoint(_endpoints[3039]); + builder.AddEndpoint(_endpoints[3040]); + builder.AddEndpoint(_endpoints[3041]); + builder.AddEndpoint(_endpoints[3042]); + builder.AddEndpoint(_endpoints[3043]); + builder.AddEndpoint(_endpoints[3044]); + builder.AddEndpoint(_endpoints[3045]); + builder.AddEndpoint(_endpoints[3046]); + builder.AddEndpoint(_endpoints[3047]); + builder.AddEndpoint(_endpoints[3048]); + builder.AddEndpoint(_endpoints[3049]); + builder.AddEndpoint(_endpoints[3050]); + builder.AddEndpoint(_endpoints[3051]); + builder.AddEndpoint(_endpoints[3052]); + builder.AddEndpoint(_endpoints[3053]); + builder.AddEndpoint(_endpoints[3054]); + builder.AddEndpoint(_endpoints[3055]); + builder.AddEndpoint(_endpoints[3056]); + builder.AddEndpoint(_endpoints[3057]); + builder.AddEndpoint(_endpoints[3058]); + builder.AddEndpoint(_endpoints[3059]); + builder.AddEndpoint(_endpoints[3060]); + builder.AddEndpoint(_endpoints[3061]); + builder.AddEndpoint(_endpoints[3062]); + builder.AddEndpoint(_endpoints[3063]); + builder.AddEndpoint(_endpoints[3064]); + builder.AddEndpoint(_endpoints[3065]); + builder.AddEndpoint(_endpoints[3066]); + builder.AddEndpoint(_endpoints[3067]); + builder.AddEndpoint(_endpoints[3068]); + builder.AddEndpoint(_endpoints[3069]); + builder.AddEndpoint(_endpoints[3070]); + builder.AddEndpoint(_endpoints[3071]); + builder.AddEndpoint(_endpoints[3072]); + builder.AddEndpoint(_endpoints[3073]); + builder.AddEndpoint(_endpoints[3074]); + builder.AddEndpoint(_endpoints[3075]); + builder.AddEndpoint(_endpoints[3076]); + builder.AddEndpoint(_endpoints[3077]); + builder.AddEndpoint(_endpoints[3078]); + builder.AddEndpoint(_endpoints[3079]); + builder.AddEndpoint(_endpoints[3080]); + builder.AddEndpoint(_endpoints[3081]); + builder.AddEndpoint(_endpoints[3082]); + builder.AddEndpoint(_endpoints[3083]); + builder.AddEndpoint(_endpoints[3084]); + builder.AddEndpoint(_endpoints[3085]); + builder.AddEndpoint(_endpoints[3086]); + builder.AddEndpoint(_endpoints[3087]); + builder.AddEndpoint(_endpoints[3088]); + builder.AddEndpoint(_endpoints[3089]); + builder.AddEndpoint(_endpoints[3090]); + builder.AddEndpoint(_endpoints[3091]); + builder.AddEndpoint(_endpoints[3092]); + builder.AddEndpoint(_endpoints[3093]); + builder.AddEndpoint(_endpoints[3094]); + builder.AddEndpoint(_endpoints[3095]); + builder.AddEndpoint(_endpoints[3096]); + builder.AddEndpoint(_endpoints[3097]); + builder.AddEndpoint(_endpoints[3098]); + builder.AddEndpoint(_endpoints[3099]); + builder.AddEndpoint(_endpoints[3100]); + builder.AddEndpoint(_endpoints[3101]); + builder.AddEndpoint(_endpoints[3102]); + builder.AddEndpoint(_endpoints[3103]); + builder.AddEndpoint(_endpoints[3104]); + builder.AddEndpoint(_endpoints[3105]); + builder.AddEndpoint(_endpoints[3106]); + builder.AddEndpoint(_endpoints[3107]); + builder.AddEndpoint(_endpoints[3108]); + builder.AddEndpoint(_endpoints[3109]); + builder.AddEndpoint(_endpoints[3110]); + builder.AddEndpoint(_endpoints[3111]); + builder.AddEndpoint(_endpoints[3112]); + builder.AddEndpoint(_endpoints[3113]); + builder.AddEndpoint(_endpoints[3114]); + builder.AddEndpoint(_endpoints[3115]); + builder.AddEndpoint(_endpoints[3116]); + builder.AddEndpoint(_endpoints[3117]); + builder.AddEndpoint(_endpoints[3118]); + builder.AddEndpoint(_endpoints[3119]); + builder.AddEndpoint(_endpoints[3120]); + builder.AddEndpoint(_endpoints[3121]); + builder.AddEndpoint(_endpoints[3122]); + builder.AddEndpoint(_endpoints[3123]); + builder.AddEndpoint(_endpoints[3124]); + builder.AddEndpoint(_endpoints[3125]); + builder.AddEndpoint(_endpoints[3126]); + builder.AddEndpoint(_endpoints[3127]); + builder.AddEndpoint(_endpoints[3128]); + builder.AddEndpoint(_endpoints[3129]); + builder.AddEndpoint(_endpoints[3130]); + builder.AddEndpoint(_endpoints[3131]); + builder.AddEndpoint(_endpoints[3132]); + builder.AddEndpoint(_endpoints[3133]); + builder.AddEndpoint(_endpoints[3134]); + builder.AddEndpoint(_endpoints[3135]); + builder.AddEndpoint(_endpoints[3136]); + builder.AddEndpoint(_endpoints[3137]); + builder.AddEndpoint(_endpoints[3138]); + builder.AddEndpoint(_endpoints[3139]); + builder.AddEndpoint(_endpoints[3140]); + builder.AddEndpoint(_endpoints[3141]); + builder.AddEndpoint(_endpoints[3142]); + builder.AddEndpoint(_endpoints[3143]); + builder.AddEndpoint(_endpoints[3144]); + builder.AddEndpoint(_endpoints[3145]); + builder.AddEndpoint(_endpoints[3146]); + builder.AddEndpoint(_endpoints[3147]); + builder.AddEndpoint(_endpoints[3148]); + builder.AddEndpoint(_endpoints[3149]); + builder.AddEndpoint(_endpoints[3150]); + builder.AddEndpoint(_endpoints[3151]); + builder.AddEndpoint(_endpoints[3152]); + builder.AddEndpoint(_endpoints[3153]); + builder.AddEndpoint(_endpoints[3154]); + builder.AddEndpoint(_endpoints[3155]); + builder.AddEndpoint(_endpoints[3156]); + builder.AddEndpoint(_endpoints[3157]); + builder.AddEndpoint(_endpoints[3158]); + builder.AddEndpoint(_endpoints[3159]); + builder.AddEndpoint(_endpoints[3160]); + builder.AddEndpoint(_endpoints[3161]); + builder.AddEndpoint(_endpoints[3162]); + builder.AddEndpoint(_endpoints[3163]); + builder.AddEndpoint(_endpoints[3164]); + builder.AddEndpoint(_endpoints[3165]); + builder.AddEndpoint(_endpoints[3166]); + builder.AddEndpoint(_endpoints[3167]); + builder.AddEndpoint(_endpoints[3168]); + builder.AddEndpoint(_endpoints[3169]); + builder.AddEndpoint(_endpoints[3170]); + builder.AddEndpoint(_endpoints[3171]); + builder.AddEndpoint(_endpoints[3172]); + builder.AddEndpoint(_endpoints[3173]); + builder.AddEndpoint(_endpoints[3174]); + builder.AddEndpoint(_endpoints[3175]); + builder.AddEndpoint(_endpoints[3176]); + builder.AddEndpoint(_endpoints[3177]); + builder.AddEndpoint(_endpoints[3178]); + builder.AddEndpoint(_endpoints[3179]); + builder.AddEndpoint(_endpoints[3180]); + builder.AddEndpoint(_endpoints[3181]); + builder.AddEndpoint(_endpoints[3182]); + builder.AddEndpoint(_endpoints[3183]); + builder.AddEndpoint(_endpoints[3184]); + builder.AddEndpoint(_endpoints[3185]); + builder.AddEndpoint(_endpoints[3186]); + builder.AddEndpoint(_endpoints[3187]); + builder.AddEndpoint(_endpoints[3188]); + builder.AddEndpoint(_endpoints[3189]); + builder.AddEndpoint(_endpoints[3190]); + builder.AddEndpoint(_endpoints[3191]); + builder.AddEndpoint(_endpoints[3192]); + builder.AddEndpoint(_endpoints[3193]); + builder.AddEndpoint(_endpoints[3194]); + builder.AddEndpoint(_endpoints[3195]); + builder.AddEndpoint(_endpoints[3196]); + builder.AddEndpoint(_endpoints[3197]); + builder.AddEndpoint(_endpoints[3198]); + builder.AddEndpoint(_endpoints[3199]); + builder.AddEndpoint(_endpoints[3200]); + builder.AddEndpoint(_endpoints[3201]); + builder.AddEndpoint(_endpoints[3202]); + builder.AddEndpoint(_endpoints[3203]); + builder.AddEndpoint(_endpoints[3204]); + builder.AddEndpoint(_endpoints[3205]); + builder.AddEndpoint(_endpoints[3206]); + builder.AddEndpoint(_endpoints[3207]); + builder.AddEndpoint(_endpoints[3208]); + builder.AddEndpoint(_endpoints[3209]); + builder.AddEndpoint(_endpoints[3210]); + builder.AddEndpoint(_endpoints[3211]); + builder.AddEndpoint(_endpoints[3212]); + builder.AddEndpoint(_endpoints[3213]); + builder.AddEndpoint(_endpoints[3214]); + builder.AddEndpoint(_endpoints[3215]); + builder.AddEndpoint(_endpoints[3216]); + builder.AddEndpoint(_endpoints[3217]); + builder.AddEndpoint(_endpoints[3218]); + builder.AddEndpoint(_endpoints[3219]); + builder.AddEndpoint(_endpoints[3220]); + builder.AddEndpoint(_endpoints[3221]); + builder.AddEndpoint(_endpoints[3222]); + builder.AddEndpoint(_endpoints[3223]); + builder.AddEndpoint(_endpoints[3224]); + builder.AddEndpoint(_endpoints[3225]); + builder.AddEndpoint(_endpoints[3226]); + builder.AddEndpoint(_endpoints[3227]); + builder.AddEndpoint(_endpoints[3228]); + builder.AddEndpoint(_endpoints[3229]); + builder.AddEndpoint(_endpoints[3230]); + builder.AddEndpoint(_endpoints[3231]); + builder.AddEndpoint(_endpoints[3232]); + builder.AddEndpoint(_endpoints[3233]); + builder.AddEndpoint(_endpoints[3234]); + builder.AddEndpoint(_endpoints[3235]); + builder.AddEndpoint(_endpoints[3236]); + builder.AddEndpoint(_endpoints[3237]); + builder.AddEndpoint(_endpoints[3238]); + builder.AddEndpoint(_endpoints[3239]); + builder.AddEndpoint(_endpoints[3240]); + builder.AddEndpoint(_endpoints[3241]); + builder.AddEndpoint(_endpoints[3242]); + builder.AddEndpoint(_endpoints[3243]); + builder.AddEndpoint(_endpoints[3244]); + builder.AddEndpoint(_endpoints[3245]); + builder.AddEndpoint(_endpoints[3246]); + builder.AddEndpoint(_endpoints[3247]); + builder.AddEndpoint(_endpoints[3248]); + builder.AddEndpoint(_endpoints[3249]); + builder.AddEndpoint(_endpoints[3250]); + builder.AddEndpoint(_endpoints[3251]); + builder.AddEndpoint(_endpoints[3252]); + builder.AddEndpoint(_endpoints[3253]); + builder.AddEndpoint(_endpoints[3254]); + builder.AddEndpoint(_endpoints[3255]); + builder.AddEndpoint(_endpoints[3256]); + builder.AddEndpoint(_endpoints[3257]); + builder.AddEndpoint(_endpoints[3258]); + builder.AddEndpoint(_endpoints[3259]); + builder.AddEndpoint(_endpoints[3260]); + builder.AddEndpoint(_endpoints[3261]); + builder.AddEndpoint(_endpoints[3262]); + builder.AddEndpoint(_endpoints[3263]); + builder.AddEndpoint(_endpoints[3264]); + builder.AddEndpoint(_endpoints[3265]); + builder.AddEndpoint(_endpoints[3266]); + builder.AddEndpoint(_endpoints[3267]); + builder.AddEndpoint(_endpoints[3268]); + builder.AddEndpoint(_endpoints[3269]); + builder.AddEndpoint(_endpoints[3270]); + builder.AddEndpoint(_endpoints[3271]); + builder.AddEndpoint(_endpoints[3272]); + builder.AddEndpoint(_endpoints[3273]); + builder.AddEndpoint(_endpoints[3274]); + builder.AddEndpoint(_endpoints[3275]); + builder.AddEndpoint(_endpoints[3276]); + builder.AddEndpoint(_endpoints[3277]); + builder.AddEndpoint(_endpoints[3278]); + builder.AddEndpoint(_endpoints[3279]); + builder.AddEndpoint(_endpoints[3280]); + builder.AddEndpoint(_endpoints[3281]); + builder.AddEndpoint(_endpoints[3282]); + builder.AddEndpoint(_endpoints[3283]); + builder.AddEndpoint(_endpoints[3284]); + builder.AddEndpoint(_endpoints[3285]); + builder.AddEndpoint(_endpoints[3286]); + builder.AddEndpoint(_endpoints[3287]); + builder.AddEndpoint(_endpoints[3288]); + builder.AddEndpoint(_endpoints[3289]); + builder.AddEndpoint(_endpoints[3290]); + builder.AddEndpoint(_endpoints[3291]); + builder.AddEndpoint(_endpoints[3292]); + builder.AddEndpoint(_endpoints[3293]); + builder.AddEndpoint(_endpoints[3294]); + builder.AddEndpoint(_endpoints[3295]); + builder.AddEndpoint(_endpoints[3296]); + builder.AddEndpoint(_endpoints[3297]); + builder.AddEndpoint(_endpoints[3298]); + builder.AddEndpoint(_endpoints[3299]); + builder.AddEndpoint(_endpoints[3300]); + builder.AddEndpoint(_endpoints[3301]); + builder.AddEndpoint(_endpoints[3302]); + builder.AddEndpoint(_endpoints[3303]); + builder.AddEndpoint(_endpoints[3304]); + builder.AddEndpoint(_endpoints[3305]); + builder.AddEndpoint(_endpoints[3306]); + builder.AddEndpoint(_endpoints[3307]); + builder.AddEndpoint(_endpoints[3308]); + builder.AddEndpoint(_endpoints[3309]); + builder.AddEndpoint(_endpoints[3310]); + builder.AddEndpoint(_endpoints[3311]); + builder.AddEndpoint(_endpoints[3312]); + builder.AddEndpoint(_endpoints[3313]); + builder.AddEndpoint(_endpoints[3314]); + builder.AddEndpoint(_endpoints[3315]); + builder.AddEndpoint(_endpoints[3316]); + builder.AddEndpoint(_endpoints[3317]); + builder.AddEndpoint(_endpoints[3318]); + builder.AddEndpoint(_endpoints[3319]); + builder.AddEndpoint(_endpoints[3320]); + builder.AddEndpoint(_endpoints[3321]); + builder.AddEndpoint(_endpoints[3322]); + builder.AddEndpoint(_endpoints[3323]); + builder.AddEndpoint(_endpoints[3324]); + builder.AddEndpoint(_endpoints[3325]); + builder.AddEndpoint(_endpoints[3326]); + builder.AddEndpoint(_endpoints[3327]); + builder.AddEndpoint(_endpoints[3328]); + builder.AddEndpoint(_endpoints[3329]); + builder.AddEndpoint(_endpoints[3330]); + builder.AddEndpoint(_endpoints[3331]); + builder.AddEndpoint(_endpoints[3332]); + builder.AddEndpoint(_endpoints[3333]); + builder.AddEndpoint(_endpoints[3334]); + builder.AddEndpoint(_endpoints[3335]); + builder.AddEndpoint(_endpoints[3336]); + builder.AddEndpoint(_endpoints[3337]); + builder.AddEndpoint(_endpoints[3338]); + builder.AddEndpoint(_endpoints[3339]); + builder.AddEndpoint(_endpoints[3340]); + builder.AddEndpoint(_endpoints[3341]); + builder.AddEndpoint(_endpoints[3342]); + builder.AddEndpoint(_endpoints[3343]); + builder.AddEndpoint(_endpoints[3344]); + builder.AddEndpoint(_endpoints[3345]); + builder.AddEndpoint(_endpoints[3346]); + builder.AddEndpoint(_endpoints[3347]); + builder.AddEndpoint(_endpoints[3348]); + builder.AddEndpoint(_endpoints[3349]); + builder.AddEndpoint(_endpoints[3350]); + builder.AddEndpoint(_endpoints[3351]); + builder.AddEndpoint(_endpoints[3352]); + builder.AddEndpoint(_endpoints[3353]); + builder.AddEndpoint(_endpoints[3354]); + builder.AddEndpoint(_endpoints[3355]); + builder.AddEndpoint(_endpoints[3356]); + builder.AddEndpoint(_endpoints[3357]); + builder.AddEndpoint(_endpoints[3358]); + builder.AddEndpoint(_endpoints[3359]); + builder.AddEndpoint(_endpoints[3360]); + builder.AddEndpoint(_endpoints[3361]); + builder.AddEndpoint(_endpoints[3362]); + builder.AddEndpoint(_endpoints[3363]); + builder.AddEndpoint(_endpoints[3364]); + builder.AddEndpoint(_endpoints[3365]); + builder.AddEndpoint(_endpoints[3366]); + builder.AddEndpoint(_endpoints[3367]); + builder.AddEndpoint(_endpoints[3368]); + builder.AddEndpoint(_endpoints[3369]); + builder.AddEndpoint(_endpoints[3370]); + builder.AddEndpoint(_endpoints[3371]); + builder.AddEndpoint(_endpoints[3372]); + builder.AddEndpoint(_endpoints[3373]); + builder.AddEndpoint(_endpoints[3374]); + builder.AddEndpoint(_endpoints[3375]); + builder.AddEndpoint(_endpoints[3376]); + builder.AddEndpoint(_endpoints[3377]); + builder.AddEndpoint(_endpoints[3378]); + builder.AddEndpoint(_endpoints[3379]); + builder.AddEndpoint(_endpoints[3380]); + builder.AddEndpoint(_endpoints[3381]); + builder.AddEndpoint(_endpoints[3382]); + builder.AddEndpoint(_endpoints[3383]); + builder.AddEndpoint(_endpoints[3384]); + builder.AddEndpoint(_endpoints[3385]); + builder.AddEndpoint(_endpoints[3386]); + builder.AddEndpoint(_endpoints[3387]); + builder.AddEndpoint(_endpoints[3388]); + builder.AddEndpoint(_endpoints[3389]); + builder.AddEndpoint(_endpoints[3390]); + builder.AddEndpoint(_endpoints[3391]); + builder.AddEndpoint(_endpoints[3392]); + builder.AddEndpoint(_endpoints[3393]); + builder.AddEndpoint(_endpoints[3394]); + builder.AddEndpoint(_endpoints[3395]); + builder.AddEndpoint(_endpoints[3396]); + builder.AddEndpoint(_endpoints[3397]); + builder.AddEndpoint(_endpoints[3398]); + builder.AddEndpoint(_endpoints[3399]); + builder.AddEndpoint(_endpoints[3400]); + builder.AddEndpoint(_endpoints[3401]); + builder.AddEndpoint(_endpoints[3402]); + builder.AddEndpoint(_endpoints[3403]); + builder.AddEndpoint(_endpoints[3404]); + builder.AddEndpoint(_endpoints[3405]); + builder.AddEndpoint(_endpoints[3406]); + builder.AddEndpoint(_endpoints[3407]); + builder.AddEndpoint(_endpoints[3408]); + builder.AddEndpoint(_endpoints[3409]); + builder.AddEndpoint(_endpoints[3410]); + builder.AddEndpoint(_endpoints[3411]); + builder.AddEndpoint(_endpoints[3412]); + builder.AddEndpoint(_endpoints[3413]); + builder.AddEndpoint(_endpoints[3414]); + builder.AddEndpoint(_endpoints[3415]); + builder.AddEndpoint(_endpoints[3416]); + builder.AddEndpoint(_endpoints[3417]); + builder.AddEndpoint(_endpoints[3418]); + builder.AddEndpoint(_endpoints[3419]); + builder.AddEndpoint(_endpoints[3420]); + builder.AddEndpoint(_endpoints[3421]); + builder.AddEndpoint(_endpoints[3422]); + builder.AddEndpoint(_endpoints[3423]); + builder.AddEndpoint(_endpoints[3424]); + builder.AddEndpoint(_endpoints[3425]); + builder.AddEndpoint(_endpoints[3426]); + builder.AddEndpoint(_endpoints[3427]); + builder.AddEndpoint(_endpoints[3428]); + builder.AddEndpoint(_endpoints[3429]); + builder.AddEndpoint(_endpoints[3430]); + builder.AddEndpoint(_endpoints[3431]); + builder.AddEndpoint(_endpoints[3432]); + builder.AddEndpoint(_endpoints[3433]); + builder.AddEndpoint(_endpoints[3434]); + builder.AddEndpoint(_endpoints[3435]); + builder.AddEndpoint(_endpoints[3436]); + builder.AddEndpoint(_endpoints[3437]); + builder.AddEndpoint(_endpoints[3438]); + builder.AddEndpoint(_endpoints[3439]); + builder.AddEndpoint(_endpoints[3440]); + builder.AddEndpoint(_endpoints[3441]); + builder.AddEndpoint(_endpoints[3442]); + builder.AddEndpoint(_endpoints[3443]); + builder.AddEndpoint(_endpoints[3444]); + builder.AddEndpoint(_endpoints[3445]); + builder.AddEndpoint(_endpoints[3446]); + builder.AddEndpoint(_endpoints[3447]); + builder.AddEndpoint(_endpoints[3448]); + builder.AddEndpoint(_endpoints[3449]); + builder.AddEndpoint(_endpoints[3450]); + builder.AddEndpoint(_endpoints[3451]); + builder.AddEndpoint(_endpoints[3452]); + builder.AddEndpoint(_endpoints[3453]); + builder.AddEndpoint(_endpoints[3454]); + builder.AddEndpoint(_endpoints[3455]); + builder.AddEndpoint(_endpoints[3456]); + builder.AddEndpoint(_endpoints[3457]); + builder.AddEndpoint(_endpoints[3458]); + builder.AddEndpoint(_endpoints[3459]); + builder.AddEndpoint(_endpoints[3460]); + builder.AddEndpoint(_endpoints[3461]); + builder.AddEndpoint(_endpoints[3462]); + builder.AddEndpoint(_endpoints[3463]); + builder.AddEndpoint(_endpoints[3464]); + builder.AddEndpoint(_endpoints[3465]); + builder.AddEndpoint(_endpoints[3466]); + builder.AddEndpoint(_endpoints[3467]); + builder.AddEndpoint(_endpoints[3468]); + builder.AddEndpoint(_endpoints[3469]); + builder.AddEndpoint(_endpoints[3470]); + builder.AddEndpoint(_endpoints[3471]); + builder.AddEndpoint(_endpoints[3472]); + builder.AddEndpoint(_endpoints[3473]); + builder.AddEndpoint(_endpoints[3474]); + builder.AddEndpoint(_endpoints[3475]); + builder.AddEndpoint(_endpoints[3476]); + builder.AddEndpoint(_endpoints[3477]); + builder.AddEndpoint(_endpoints[3478]); + builder.AddEndpoint(_endpoints[3479]); + builder.AddEndpoint(_endpoints[3480]); + builder.AddEndpoint(_endpoints[3481]); + builder.AddEndpoint(_endpoints[3482]); + builder.AddEndpoint(_endpoints[3483]); + builder.AddEndpoint(_endpoints[3484]); + builder.AddEndpoint(_endpoints[3485]); + builder.AddEndpoint(_endpoints[3486]); + builder.AddEndpoint(_endpoints[3487]); + builder.AddEndpoint(_endpoints[3488]); + builder.AddEndpoint(_endpoints[3489]); + builder.AddEndpoint(_endpoints[3490]); + builder.AddEndpoint(_endpoints[3491]); + builder.AddEndpoint(_endpoints[3492]); + builder.AddEndpoint(_endpoints[3493]); + builder.AddEndpoint(_endpoints[3494]); + builder.AddEndpoint(_endpoints[3495]); + builder.AddEndpoint(_endpoints[3496]); + builder.AddEndpoint(_endpoints[3497]); + builder.AddEndpoint(_endpoints[3498]); + builder.AddEndpoint(_endpoints[3499]); + builder.AddEndpoint(_endpoints[3500]); + builder.AddEndpoint(_endpoints[3501]); + builder.AddEndpoint(_endpoints[3502]); + builder.AddEndpoint(_endpoints[3503]); + builder.AddEndpoint(_endpoints[3504]); + builder.AddEndpoint(_endpoints[3505]); + builder.AddEndpoint(_endpoints[3506]); + builder.AddEndpoint(_endpoints[3507]); + builder.AddEndpoint(_endpoints[3508]); + builder.AddEndpoint(_endpoints[3509]); + builder.AddEndpoint(_endpoints[3510]); + builder.AddEndpoint(_endpoints[3511]); + builder.AddEndpoint(_endpoints[3512]); + builder.AddEndpoint(_endpoints[3513]); + builder.AddEndpoint(_endpoints[3514]); + builder.AddEndpoint(_endpoints[3515]); + builder.AddEndpoint(_endpoints[3516]); return builder.Build(); } } diff --git a/benchmarks/Microsoft.AspNetCore.Routing.Performance/Matchers/DfaMatcher.cs b/benchmarks/Microsoft.AspNetCore.Routing.Performance/Matchers/DfaMatcher.cs deleted file mode 100644 index 5283880b33..0000000000 --- a/benchmarks/Microsoft.AspNetCore.Routing.Performance/Matchers/DfaMatcher.cs +++ /dev/null @@ -1,353 +0,0 @@ -// Copyright (c) .NET Foundation. All rights reserved. -// Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information. - -using System; -using System.Collections.Generic; -using System.Linq; -using System.Threading.Tasks; -using Microsoft.AspNetCore.Http; -using Microsoft.AspNetCore.Routing.Template; - -namespace Microsoft.AspNetCore.Routing.Matchers -{ - internal class DfaMatcher : Matcher - { - public static MatcherBuilder CreateBuilder() => new Builder(); - - private readonly State[] _states; - - private DfaMatcher(State[] states) - { - _states = states; - } - - public override Task MatchAsync(HttpContext httpContext, IEndpointFeature feature) - { - if (httpContext == null) - { - throw new ArgumentNullException(nameof(httpContext)); - } - - if (feature == null) - { - throw new ArgumentNullException(nameof(feature)); - } - - var states = _states; - var current = 0; - - var path = httpContext.Request.Path.Value; - - var start = 1; // PathString always has a leading slash - var length = 0; - var end = 0; - while ((end = path.IndexOf('/', start + 1)) >= 0) - { - current = states[current].Transitions.GetDestination(path, start, end - start); - start = end; - } - - // residue - length = path.Length - start; - if (length > 0) - { - current = states[current].Transitions.GetDestination(path, start, length); - } - - var matches = states[current].Matches; - feature.Endpoint = matches.Length == 0 ? null : matches[0]; - return Task.CompletedTask; - } - - private struct State - { - public bool IsAccepting; - public Endpoint[] Matches; - public JumpTable Transitions; - } - - private abstract class JumpTable - { - public abstract int GetDestination(string text, int start, int length); - } - - private class JumpTableBuilder - { - private readonly List<(string text, int destination)> _entries = new List<(string text, int destination)>(); - - public int Depth { get; set; } - - public int Exit { get; set; } - - public void AddEntry(string text, int destination) - { - _entries.Add((text, destination)); - } - - public JumpTable Build() - { - return new SimpleJumpTable(Depth, Exit, _entries.ToArray()); - } - } - - private class SimpleJumpTable : JumpTable - { - private readonly (string text, int destination)[] _entries; - private readonly int _depth; - private readonly int _exit; - - public SimpleJumpTable(int depth, int exit, (string text, int destination)[] entries) - { - _depth = depth; - _exit = exit; - _entries = entries; - } - - public override int GetDestination(string text, int start, int length) - { - for (var i = 0; i < _entries.Length; i++) - { - if (length == _entries[i].text.Length && - string.Compare( - text, - start, - _entries[i].text, - 0, - length, - StringComparison.OrdinalIgnoreCase) == 0) - { - return _entries[i].destination; - } - } - - return _exit; - } - } - - private class Entry - { - public int Order; - public decimal Precedence; - public RouteTemplate Pattern; - public Endpoint Endpoint; - } - - private class Node - { - public int Depth { get; set; } - - public List Matches { get; } = new List(); - - public Dictionary Literals { get; } = new Dictionary(); - } - - private class Builder : MatcherBuilder - { - private List _entries = new List(); - - public override void AddEntry(string pattern, MatcherEndpoint endpoint) - { - var parsed = TemplateParser.Parse(pattern); - _entries.Add(new Entry() - { - Order = 0, - Pattern = parsed, - Precedence = RoutePrecedence.ComputeInbound(parsed), - Endpoint = endpoint, - }); - } - - public override Matcher Build() - { - Sort(_entries); - - var root = new Node() { Depth = -1 }; - - // Since we overlay parameters onto the literal entries, we do two passes, first we create - // all of the literal nodes, then we 'spread' parameters - for (var i = 0; i < _entries.Count; i++) - { - var entry = _entries[i]; - - var parent = root; - - for (var depth = 0; depth < entry.Pattern.Segments.Count; depth++) - { - var segment = entry.Pattern.Segments[depth]; - - if (segment.IsSimple && segment.Parts[0].IsLiteral) - { - if (!parent.Literals.TryGetValue(segment.Parts[0].Text, out var next)) - { - next = new Node() { Depth = depth, }; - parent.Literals.Add(segment.Parts[0].Text, next); - } - - parent = next; - } - else if (segment.IsSimple && segment.Parts[0].IsParameter) - { - if (!parent.Literals.TryGetValue("*", out var next)) - { - next = new Node() { Depth = depth, }; - parent.Literals.Add("*", next); - } - - parent = next; - } - } - - parent.Matches.Add(entry); - } - - for (var i = 0; i < _entries.Count; i++) - { - var entry = _entries[i]; - - var parents = new List() { root, }; - - for (var depth = 0; depth < entry.Pattern.Segments.Count; depth++) - { - var segment = entry.Pattern.Segments[depth]; - - if (segment.IsSimple && segment.Parts[0].IsLiteral) - { - var next = new List(); - for (var j = 0; j < parents.Count; j++) - { - if (!parents[j].Literals.TryGetValue(segment.Parts[0].Text, out var child)) - { - child = new Node() { Depth = depth, }; - if (parents[j].Literals.TryGetValue("*", out var parameter)) - { - child.Matches.AddRange(parameter.Matches); - foreach (var kvp in parameter.Literals) - { - child.Literals.Add(kvp.Key, DeepCopy(kvp.Value)); - } - } - - parents[j].Literals.Add(segment.Parts[0].Text, child); - } - - next.Add(child); - } - - parents = next; - } - else if (segment.IsSimple && segment.Parts[0].IsParameter) - { - var next = new List(); - for (var j = 0; j < parents.Count; j++) - { - next.AddRange(parents[j].Literals.Values); - } - - parents = next; - } - } - - for (var j = 0; j < parents.Count; j++) - { - if (!parents[j].Matches.Contains(entry)) - { - parents[j].Matches.Add(entry); - } - } - } - - var states = new List(); - var tables = new List(); - AddNode(root, states, tables); - - var exit = states.Count; - states.Add(new State() { IsAccepting = false, Matches = Array.Empty(), }); - tables.Add(new JumpTableBuilder() { Exit = exit, }); - - for (var i = 0; i < tables.Count; i++) - { - if (tables[i].Exit == -1) - { - tables[i].Exit = exit; - } - } - - for (var i = 0; i < states.Count; i++) - { - states[i] = new State() - { - IsAccepting = states[i].IsAccepting, - Matches = states[i].Matches, - Transitions = tables[i].Build(), - }; - } - - return new DfaMatcher(states.ToArray()); - } - - private static int AddNode(Node node, List states, List tables) - { - Sort(node.Matches); - - var index = states.Count; - states.Add(new State() { Matches = node.Matches.Select(e => e.Endpoint).ToArray(), IsAccepting = node.Matches.Count > 0 }); - - var table = new JumpTableBuilder() { Depth = node.Depth, }; - tables.Add(table); - - foreach (var kvp in node.Literals) - { - if (kvp.Key == "*") - { - continue; - } - - var transition = AddNode(kvp.Value, states, tables); - table.AddEntry(kvp.Key, transition); - } - - var exitIndex = -1; - if (node.Literals.TryGetValue("*", out var exit)) - { - exitIndex = AddNode(exit, states, tables); - } - - table.Exit = exitIndex; - return index; - } - - private static void Sort(List entries) - { - entries.Sort((x, y) => - { - var comparison = x.Order.CompareTo(y.Order); - if (comparison != 0) - { - return comparison; - } - - comparison = y.Precedence.CompareTo(x.Precedence); - if (comparison != 0) - { - return comparison; - } - - return x.Pattern.TemplateText.CompareTo(y.Pattern.TemplateText); - }); - } - - private static Node DeepCopy(Node node) - { - var copy = new Node() { Depth = node.Depth, }; - copy.Matches.AddRange(node.Matches); - - foreach (var kvp in node.Literals) - { - copy.Literals.Add(kvp.Key, DeepCopy(kvp.Value)); - } - - return node; - } - } - } -} diff --git a/benchmarks/Microsoft.AspNetCore.Routing.Performance/Matchers/GithubMatcherBenchmark.cs b/benchmarks/Microsoft.AspNetCore.Routing.Performance/Matchers/GithubMatcherBenchmark.cs index 3ebc210c8d..251ee99ed8 100644 --- a/benchmarks/Microsoft.AspNetCore.Routing.Performance/Matchers/GithubMatcherBenchmark.cs +++ b/benchmarks/Microsoft.AspNetCore.Routing.Performance/Matchers/GithubMatcherBenchmark.cs @@ -10,6 +10,9 @@ namespace Microsoft.AspNetCore.Routing.Matchers // Use https://editor2.swagger.io/ to convert from yaml to json- public partial class GithubMatcherBenchmark : MatcherBenchmarkBase { + private BarebonesMatcher _baseline; + private Matcher _dfa; + private Matcher _instruction; private Matcher _route; private Matcher _tree; @@ -22,12 +25,51 @@ namespace Microsoft.AspNetCore.Routing.Matchers SetupRequests(); - _route = SetupMatcher(RouteMatcher.CreateBuilder()); - _tree = SetupMatcher(TreeRouterMatcher.CreateBuilder()); + _baseline = (BarebonesMatcher)SetupMatcher(new BarebonesMatcherBuilder()); + _dfa = SetupMatcher(new DfaMatcherBuilder()); + _instruction = SetupMatcher(new InstructionMatcherBuilder()); + _route = SetupMatcher(new RouteMatcherBuilder()); + _tree = SetupMatcher(new TreeRouterMatcherBuilder()); _feature = new EndpointFeature(); } + [Benchmark(Baseline = true, OperationsPerInvoke = EndpointCount)] + public async Task Baseline() + { + var feature = _feature; + for (var i = 0; i < EndpointCount; i++) + { + var httpContext = _requests[i]; + await _baseline._matchers[i].MatchAsync(httpContext, feature); + Validate(httpContext, _endpoints[i], feature.Endpoint); + } + } + + [Benchmark( OperationsPerInvoke = EndpointCount)] + public async Task Dfa() + { + var feature = _feature; + for (var i = 0; i < EndpointCount; i++) + { + var httpContext = _requests[i]; + await _dfa.MatchAsync(httpContext, feature); + Validate(httpContext, _endpoints[i], feature.Endpoint); + } + } + + [Benchmark(OperationsPerInvoke = EndpointCount)] + public async Task Instruction() + { + var feature = _feature; + for (var i = 0; i < EndpointCount; i++) + { + var httpContext = _requests[i]; + await _instruction.MatchAsync(httpContext, feature); + Validate(httpContext, _endpoints[i], feature.Endpoint); + } + } + [Benchmark(OperationsPerInvoke = EndpointCount)] public async Task LegacyRoute() { @@ -35,6 +77,10 @@ namespace Microsoft.AspNetCore.Routing.Matchers for (var i = 0; i < EndpointCount; i++) { var httpContext = _requests[i]; + + // This is required to make the legacy router implementation work with dispatcher. + httpContext.Features.Set(feature); + await _route.MatchAsync(httpContext, feature); Validate(httpContext, _endpoints[i], feature.Endpoint); } @@ -47,6 +93,10 @@ namespace Microsoft.AspNetCore.Routing.Matchers for (var i = 0; i < EndpointCount; i++) { var httpContext = _requests[i]; + + // This is required to make the legacy router implementation work with dispatcher. + httpContext.Features.Set(feature); + await _tree.MatchAsync(httpContext, feature); Validate(httpContext, _endpoints[i], feature.Endpoint); } diff --git a/benchmarks/Microsoft.AspNetCore.Routing.Performance/Matchers/GithubMatcherBenchmark.generated.cs b/benchmarks/Microsoft.AspNetCore.Routing.Performance/Matchers/GithubMatcherBenchmark.generated.cs index bf0ef0f4dc..5664400a24 100644 --- a/benchmarks/Microsoft.AspNetCore.Routing.Performance/Matchers/GithubMatcherBenchmark.generated.cs +++ b/benchmarks/Microsoft.AspNetCore.Routing.Performance/Matchers/GithubMatcherBenchmark.generated.cs @@ -798,161 +798,161 @@ namespace Microsoft.AspNetCore.Routing.Matchers private Matcher SetupMatcher(MatcherBuilder builder) { - builder.AddEntry("/emojis", _endpoints[0]); - builder.AddEntry("/events", _endpoints[1]); - builder.AddEntry("/feeds", _endpoints[2]); - builder.AddEntry("/gists", _endpoints[3]); - builder.AddEntry("/issues", _endpoints[4]); - builder.AddEntry("/markdown", _endpoints[5]); - builder.AddEntry("/meta", _endpoints[6]); - builder.AddEntry("/notifications", _endpoints[7]); - builder.AddEntry("/rate_limit", _endpoints[8]); - builder.AddEntry("/repositories", _endpoints[9]); - builder.AddEntry("/user", _endpoints[10]); - builder.AddEntry("/users", _endpoints[11]); - builder.AddEntry("/gists/public", _endpoints[12]); - builder.AddEntry("/gists/starred", _endpoints[13]); - builder.AddEntry("/gitignore/templates", _endpoints[14]); - builder.AddEntry("/markdown/raw", _endpoints[15]); - builder.AddEntry("/search/code", _endpoints[16]); - builder.AddEntry("/search/issues", _endpoints[17]); - builder.AddEntry("/search/repositories", _endpoints[18]); - builder.AddEntry("/search/users", _endpoints[19]); - builder.AddEntry("/user/emails", _endpoints[20]); - builder.AddEntry("/user/followers", _endpoints[21]); - builder.AddEntry("/user/following", _endpoints[22]); - builder.AddEntry("/user/issues", _endpoints[23]); - builder.AddEntry("/user/keys", _endpoints[24]); - builder.AddEntry("/user/orgs", _endpoints[25]); - builder.AddEntry("/user/repos", _endpoints[26]); - builder.AddEntry("/user/starred", _endpoints[27]); - builder.AddEntry("/user/subscriptions", _endpoints[28]); - builder.AddEntry("/user/teams", _endpoints[29]); - builder.AddEntry("/legacy/repos/search/{keyword}", _endpoints[30]); - builder.AddEntry("/legacy/user/email/{email}", _endpoints[31]); - builder.AddEntry("/legacy/user/search/{keyword}", _endpoints[32]); - builder.AddEntry("/legacy/issues/search/{owner}/{repository}/{state}/{keyword}", _endpoints[33]); - builder.AddEntry("/gitignore/templates/{language}", _endpoints[34]); - builder.AddEntry("/notifications/threads/{id}", _endpoints[35]); - builder.AddEntry("/user/following/{username}", _endpoints[36]); - builder.AddEntry("/user/keys/{keyId}", _endpoints[37]); - builder.AddEntry("/notifications/threads/{id}/subscription", _endpoints[38]); - builder.AddEntry("/user/starred/{owner}/{repo}", _endpoints[39]); - builder.AddEntry("/user/subscriptions/{owner}/{repo}", _endpoints[40]); - builder.AddEntry("/gists/{id}", _endpoints[41]); - builder.AddEntry("/orgs/{org}", _endpoints[42]); - builder.AddEntry("/teams/{teamId}", _endpoints[43]); - builder.AddEntry("/users/{username}", _endpoints[44]); - builder.AddEntry("/gists/{id}/comments", _endpoints[45]); - builder.AddEntry("/gists/{id}/forks", _endpoints[46]); - builder.AddEntry("/gists/{id}/star", _endpoints[47]); - builder.AddEntry("/orgs/{org}/events", _endpoints[48]); - builder.AddEntry("/orgs/{org}/issues", _endpoints[49]); - builder.AddEntry("/orgs/{org}/members", _endpoints[50]); - builder.AddEntry("/orgs/{org}/public_members", _endpoints[51]); - builder.AddEntry("/orgs/{org}/repos", _endpoints[52]); - builder.AddEntry("/orgs/{org}/teams", _endpoints[53]); - builder.AddEntry("/teams/{teamId}/members", _endpoints[54]); - builder.AddEntry("/teams/{teamId}/repos", _endpoints[55]); - builder.AddEntry("/users/{username}/events", _endpoints[56]); - builder.AddEntry("/users/{username}/followers", _endpoints[57]); - builder.AddEntry("/users/{username}/gists", _endpoints[58]); - builder.AddEntry("/users/{username}/keys", _endpoints[59]); - builder.AddEntry("/users/{username}/orgs", _endpoints[60]); - builder.AddEntry("/users/{username}/received_events", _endpoints[61]); - builder.AddEntry("/users/{username}/repos", _endpoints[62]); - builder.AddEntry("/users/{username}/starred", _endpoints[63]); - builder.AddEntry("/users/{username}/subscriptions", _endpoints[64]); - builder.AddEntry("/users/{username}/received_events/public", _endpoints[65]); - builder.AddEntry("/users/{username}/events/orgs/{org}", _endpoints[66]); - builder.AddEntry("/gists/{id}/comments/{commentId}", _endpoints[67]); - builder.AddEntry("/orgs/{org}/members/{username}", _endpoints[68]); - builder.AddEntry("/orgs/{org}/public_members/{username}", _endpoints[69]); - builder.AddEntry("/teams/{teamId}/members/{username}", _endpoints[70]); - builder.AddEntry("/teams/{teamId}/memberships/{username}", _endpoints[71]); - builder.AddEntry("/users/{username}/following/{targetUser}", _endpoints[72]); - builder.AddEntry("/teams/{teamId}/repos/{owner}/{repo}", _endpoints[73]); - builder.AddEntry("/repos/{owner}/{repo}", _endpoints[74]); - builder.AddEntry("/networks/{owner}/{repo}/events", _endpoints[75]); - builder.AddEntry("/repos/{owner}/{repo}/assignees", _endpoints[76]); - builder.AddEntry("/repos/{owner}/{repo}/branches", _endpoints[77]); - builder.AddEntry("/repos/{owner}/{repo}/collaborators", _endpoints[78]); - builder.AddEntry("/repos/{owner}/{repo}/comments", _endpoints[79]); - builder.AddEntry("/repos/{owner}/{repo}/commits", _endpoints[80]); - builder.AddEntry("/repos/{owner}/{repo}/contributors", _endpoints[81]); - builder.AddEntry("/repos/{owner}/{repo}/deployments", _endpoints[82]); - builder.AddEntry("/repos/{owner}/{repo}/downloads", _endpoints[83]); - builder.AddEntry("/repos/{owner}/{repo}/events", _endpoints[84]); - builder.AddEntry("/repos/{owner}/{repo}/forks", _endpoints[85]); - builder.AddEntry("/repos/{owner}/{repo}/hooks", _endpoints[86]); - builder.AddEntry("/repos/{owner}/{repo}/issues", _endpoints[87]); - builder.AddEntry("/repos/{owner}/{repo}/keys", _endpoints[88]); - builder.AddEntry("/repos/{owner}/{repo}/labels", _endpoints[89]); - builder.AddEntry("/repos/{owner}/{repo}/languages", _endpoints[90]); - builder.AddEntry("/repos/{owner}/{repo}/merges", _endpoints[91]); - builder.AddEntry("/repos/{owner}/{repo}/milestones", _endpoints[92]); - builder.AddEntry("/repos/{owner}/{repo}/notifications", _endpoints[93]); - builder.AddEntry("/repos/{owner}/{repo}/pulls", _endpoints[94]); - builder.AddEntry("/repos/{owner}/{repo}/readme", _endpoints[95]); - builder.AddEntry("/repos/{owner}/{repo}/releases", _endpoints[96]); - builder.AddEntry("/repos/{owner}/{repo}/stargazers", _endpoints[97]); - builder.AddEntry("/repos/{owner}/{repo}/subscribers", _endpoints[98]); - builder.AddEntry("/repos/{owner}/{repo}/subscription", _endpoints[99]); - builder.AddEntry("/repos/{owner}/{repo}/tags", _endpoints[100]); - builder.AddEntry("/repos/{owner}/{repo}/teams", _endpoints[101]); - builder.AddEntry("/repos/{owner}/{repo}/watchers", _endpoints[102]); - builder.AddEntry("/repos/{owner}/{repo}/git/blobs", _endpoints[103]); - builder.AddEntry("/repos/{owner}/{repo}/git/commits", _endpoints[104]); - builder.AddEntry("/repos/{owner}/{repo}/git/refs", _endpoints[105]); - builder.AddEntry("/repos/{owner}/{repo}/git/tags", _endpoints[106]); - builder.AddEntry("/repos/{owner}/{repo}/git/trees", _endpoints[107]); - builder.AddEntry("/repos/{owner}/{repo}/issues/comments", _endpoints[108]); - builder.AddEntry("/repos/{owner}/{repo}/issues/events", _endpoints[109]); - builder.AddEntry("/repos/{owner}/{repo}/pulls/comments", _endpoints[110]); - builder.AddEntry("/repos/{owner}/{repo}/stats/code_frequency", _endpoints[111]); - builder.AddEntry("/repos/{owner}/{repo}/stats/commit_activity", _endpoints[112]); - builder.AddEntry("/repos/{owner}/{repo}/stats/contributors", _endpoints[113]); - builder.AddEntry("/repos/{owner}/{repo}/stats/participation", _endpoints[114]); - builder.AddEntry("/repos/{owner}/{repo}/stats/punch_card", _endpoints[115]); - builder.AddEntry("/repos/{owner}/{repo}/git/blobs/{shaCode}", _endpoints[116]); - builder.AddEntry("/repos/{owner}/{repo}/git/commits/{shaCode}", _endpoints[117]); - builder.AddEntry("/repos/{owner}/{repo}/git/refs/{ref}", _endpoints[118]); - builder.AddEntry("/repos/{owner}/{repo}/git/tags/{shaCode}", _endpoints[119]); - builder.AddEntry("/repos/{owner}/{repo}/git/trees/{shaCode}", _endpoints[120]); - builder.AddEntry("/repos/{owner}/{repo}/issues/comments/{commentId}", _endpoints[121]); - builder.AddEntry("/repos/{owner}/{repo}/issues/events/{eventId}", _endpoints[122]); - builder.AddEntry("/repos/{owner}/{repo}/pulls/comments/{commentId}", _endpoints[123]); - builder.AddEntry("/repos/{owner}/{repo}/releases/assets/{id}", _endpoints[124]); - builder.AddEntry("/repos/{owner}/{repo}/assignees/{assignee}", _endpoints[125]); - builder.AddEntry("/repos/{owner}/{repo}/branches/{branch}", _endpoints[126]); - builder.AddEntry("/repos/{owner}/{repo}/collaborators/{user}", _endpoints[127]); - builder.AddEntry("/repos/{owner}/{repo}/comments/{commentId}", _endpoints[128]); - builder.AddEntry("/repos/{owner}/{repo}/commits/{shaCode}", _endpoints[129]); - builder.AddEntry("/repos/{owner}/{repo}/contents/{path}", _endpoints[130]); - builder.AddEntry("/repos/{owner}/{repo}/downloads/{downloadId}", _endpoints[131]); - builder.AddEntry("/repos/{owner}/{repo}/hooks/{hookId}", _endpoints[132]); - builder.AddEntry("/repos/{owner}/{repo}/issues/{number}", _endpoints[133]); - builder.AddEntry("/repos/{owner}/{repo}/keys/{keyId}", _endpoints[134]); - builder.AddEntry("/repos/{owner}/{repo}/labels/{name}", _endpoints[135]); - builder.AddEntry("/repos/{owner}/{repo}/milestones/{number}", _endpoints[136]); - builder.AddEntry("/repos/{owner}/{repo}/pulls/{number}", _endpoints[137]); - builder.AddEntry("/repos/{owner}/{repo}/releases/{id}", _endpoints[138]); - builder.AddEntry("/repos/{owner}/{repo}/statuses/{ref}", _endpoints[139]); - builder.AddEntry("/repos/{owner}/{repo}/commits/{ref}/status", _endpoints[140]); - builder.AddEntry("/repos/{owner}/{repo}/commits/{shaCode}/comments", _endpoints[141]); - builder.AddEntry("/repos/{owner}/{repo}/deployments/{id}/statuses", _endpoints[142]); - builder.AddEntry("/repos/{owner}/{repo}/hooks/{hookId}/tests", _endpoints[143]); - builder.AddEntry("/repos/{owner}/{repo}/issues/{number}/comments", _endpoints[144]); - builder.AddEntry("/repos/{owner}/{repo}/issues/{number}/events", _endpoints[145]); - builder.AddEntry("/repos/{owner}/{repo}/issues/{number}/labels", _endpoints[146]); - builder.AddEntry("/repos/{owner}/{repo}/milestones/{number}/labels", _endpoints[147]); - builder.AddEntry("/repos/{owner}/{repo}/pulls/{number}/comments", _endpoints[148]); - builder.AddEntry("/repos/{owner}/{repo}/pulls/{number}/commits", _endpoints[149]); - builder.AddEntry("/repos/{owner}/{repo}/pulls/{number}/files", _endpoints[150]); - builder.AddEntry("/repos/{owner}/{repo}/pulls/{number}/merge", _endpoints[151]); - builder.AddEntry("/repos/{owner}/{repo}/releases/{id}/assets", _endpoints[152]); - builder.AddEntry("/repos/{owner}/{repo}/issues/{number}/labels/{name}", _endpoints[153]); - builder.AddEntry("/repos/{owner}/{repo}/{archive_format}/{path}", _endpoints[154]); + builder.AddEndpoint(_endpoints[0]); + builder.AddEndpoint(_endpoints[1]); + builder.AddEndpoint(_endpoints[2]); + builder.AddEndpoint(_endpoints[3]); + builder.AddEndpoint(_endpoints[4]); + builder.AddEndpoint(_endpoints[5]); + builder.AddEndpoint(_endpoints[6]); + builder.AddEndpoint(_endpoints[7]); + builder.AddEndpoint(_endpoints[8]); + builder.AddEndpoint(_endpoints[9]); + builder.AddEndpoint(_endpoints[10]); + builder.AddEndpoint(_endpoints[11]); + builder.AddEndpoint(_endpoints[12]); + builder.AddEndpoint(_endpoints[13]); + builder.AddEndpoint(_endpoints[14]); + builder.AddEndpoint(_endpoints[15]); + builder.AddEndpoint(_endpoints[16]); + builder.AddEndpoint(_endpoints[17]); + builder.AddEndpoint(_endpoints[18]); + builder.AddEndpoint(_endpoints[19]); + builder.AddEndpoint(_endpoints[20]); + builder.AddEndpoint(_endpoints[21]); + builder.AddEndpoint(_endpoints[22]); + builder.AddEndpoint(_endpoints[23]); + builder.AddEndpoint(_endpoints[24]); + builder.AddEndpoint(_endpoints[25]); + builder.AddEndpoint(_endpoints[26]); + builder.AddEndpoint(_endpoints[27]); + builder.AddEndpoint(_endpoints[28]); + builder.AddEndpoint(_endpoints[29]); + builder.AddEndpoint(_endpoints[30]); + builder.AddEndpoint(_endpoints[31]); + builder.AddEndpoint(_endpoints[32]); + builder.AddEndpoint(_endpoints[33]); + builder.AddEndpoint(_endpoints[34]); + builder.AddEndpoint(_endpoints[35]); + builder.AddEndpoint(_endpoints[36]); + builder.AddEndpoint(_endpoints[37]); + builder.AddEndpoint(_endpoints[38]); + builder.AddEndpoint(_endpoints[39]); + builder.AddEndpoint(_endpoints[40]); + builder.AddEndpoint(_endpoints[41]); + builder.AddEndpoint(_endpoints[42]); + builder.AddEndpoint(_endpoints[43]); + builder.AddEndpoint(_endpoints[44]); + builder.AddEndpoint(_endpoints[45]); + builder.AddEndpoint(_endpoints[46]); + builder.AddEndpoint(_endpoints[47]); + builder.AddEndpoint(_endpoints[48]); + builder.AddEndpoint(_endpoints[49]); + builder.AddEndpoint(_endpoints[50]); + builder.AddEndpoint(_endpoints[51]); + builder.AddEndpoint(_endpoints[52]); + builder.AddEndpoint(_endpoints[53]); + builder.AddEndpoint(_endpoints[54]); + builder.AddEndpoint(_endpoints[55]); + builder.AddEndpoint(_endpoints[56]); + builder.AddEndpoint(_endpoints[57]); + builder.AddEndpoint(_endpoints[58]); + builder.AddEndpoint(_endpoints[59]); + builder.AddEndpoint(_endpoints[60]); + builder.AddEndpoint(_endpoints[61]); + builder.AddEndpoint(_endpoints[62]); + builder.AddEndpoint(_endpoints[63]); + builder.AddEndpoint(_endpoints[64]); + builder.AddEndpoint(_endpoints[65]); + builder.AddEndpoint(_endpoints[66]); + builder.AddEndpoint(_endpoints[67]); + builder.AddEndpoint(_endpoints[68]); + builder.AddEndpoint(_endpoints[69]); + builder.AddEndpoint(_endpoints[70]); + builder.AddEndpoint(_endpoints[71]); + builder.AddEndpoint(_endpoints[72]); + builder.AddEndpoint(_endpoints[73]); + builder.AddEndpoint(_endpoints[74]); + builder.AddEndpoint(_endpoints[75]); + builder.AddEndpoint(_endpoints[76]); + builder.AddEndpoint(_endpoints[77]); + builder.AddEndpoint(_endpoints[78]); + builder.AddEndpoint(_endpoints[79]); + builder.AddEndpoint(_endpoints[80]); + builder.AddEndpoint(_endpoints[81]); + builder.AddEndpoint(_endpoints[82]); + builder.AddEndpoint(_endpoints[83]); + builder.AddEndpoint(_endpoints[84]); + builder.AddEndpoint(_endpoints[85]); + builder.AddEndpoint(_endpoints[86]); + builder.AddEndpoint(_endpoints[87]); + builder.AddEndpoint(_endpoints[88]); + builder.AddEndpoint(_endpoints[89]); + builder.AddEndpoint(_endpoints[90]); + builder.AddEndpoint(_endpoints[91]); + builder.AddEndpoint(_endpoints[92]); + builder.AddEndpoint(_endpoints[93]); + builder.AddEndpoint(_endpoints[94]); + builder.AddEndpoint(_endpoints[95]); + builder.AddEndpoint(_endpoints[96]); + builder.AddEndpoint(_endpoints[97]); + builder.AddEndpoint(_endpoints[98]); + builder.AddEndpoint(_endpoints[99]); + builder.AddEndpoint(_endpoints[100]); + builder.AddEndpoint(_endpoints[101]); + builder.AddEndpoint(_endpoints[102]); + builder.AddEndpoint(_endpoints[103]); + builder.AddEndpoint(_endpoints[104]); + builder.AddEndpoint(_endpoints[105]); + builder.AddEndpoint(_endpoints[106]); + builder.AddEndpoint(_endpoints[107]); + builder.AddEndpoint(_endpoints[108]); + builder.AddEndpoint(_endpoints[109]); + builder.AddEndpoint(_endpoints[110]); + builder.AddEndpoint(_endpoints[111]); + builder.AddEndpoint(_endpoints[112]); + builder.AddEndpoint(_endpoints[113]); + builder.AddEndpoint(_endpoints[114]); + builder.AddEndpoint(_endpoints[115]); + builder.AddEndpoint(_endpoints[116]); + builder.AddEndpoint(_endpoints[117]); + builder.AddEndpoint(_endpoints[118]); + builder.AddEndpoint(_endpoints[119]); + builder.AddEndpoint(_endpoints[120]); + builder.AddEndpoint(_endpoints[121]); + builder.AddEndpoint(_endpoints[122]); + builder.AddEndpoint(_endpoints[123]); + builder.AddEndpoint(_endpoints[124]); + builder.AddEndpoint(_endpoints[125]); + builder.AddEndpoint(_endpoints[126]); + builder.AddEndpoint(_endpoints[127]); + builder.AddEndpoint(_endpoints[128]); + builder.AddEndpoint(_endpoints[129]); + builder.AddEndpoint(_endpoints[130]); + builder.AddEndpoint(_endpoints[131]); + builder.AddEndpoint(_endpoints[132]); + builder.AddEndpoint(_endpoints[133]); + builder.AddEndpoint(_endpoints[134]); + builder.AddEndpoint(_endpoints[135]); + builder.AddEndpoint(_endpoints[136]); + builder.AddEndpoint(_endpoints[137]); + builder.AddEndpoint(_endpoints[138]); + builder.AddEndpoint(_endpoints[139]); + builder.AddEndpoint(_endpoints[140]); + builder.AddEndpoint(_endpoints[141]); + builder.AddEndpoint(_endpoints[142]); + builder.AddEndpoint(_endpoints[143]); + builder.AddEndpoint(_endpoints[144]); + builder.AddEndpoint(_endpoints[145]); + builder.AddEndpoint(_endpoints[146]); + builder.AddEndpoint(_endpoints[147]); + builder.AddEndpoint(_endpoints[148]); + builder.AddEndpoint(_endpoints[149]); + builder.AddEndpoint(_endpoints[150]); + builder.AddEndpoint(_endpoints[151]); + builder.AddEndpoint(_endpoints[152]); + builder.AddEndpoint(_endpoints[153]); + builder.AddEndpoint(_endpoints[154]); return builder.Build(); } } diff --git a/benchmarks/Microsoft.AspNetCore.Routing.Performance/Matchers/InstructionMatcher.cs b/benchmarks/Microsoft.AspNetCore.Routing.Performance/Matchers/InstructionMatcher.cs deleted file mode 100644 index 7e71b6c134..0000000000 --- a/benchmarks/Microsoft.AspNetCore.Routing.Performance/Matchers/InstructionMatcher.cs +++ /dev/null @@ -1,479 +0,0 @@ -// Copyright (c) .NET Foundation. All rights reserved. -// Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information. - -using System; -using System.Collections.Generic; -using System.Diagnostics; -using System.Runtime.InteropServices; -using System.Threading.Tasks; -using Microsoft.AspNetCore.Http; -using Microsoft.AspNetCore.Routing.Template; - -namespace Microsoft.AspNetCore.Routing.Matchers -{ - internal class InstructionMatcher : Matcher - { - public static MatcherBuilder CreateBuilder() => new Builder(); - - private State _state; - - private InstructionMatcher(Instruction[] instructions, Endpoint[] endpoints, JumpTable[] tables) - { - _state = new State() - { - Instructions = instructions, - Endpoints = endpoints, - Tables = tables, - }; - } - - public unsafe override Task MatchAsync(HttpContext httpContext, IEndpointFeature feature) - { - if (httpContext == null) - { - throw new ArgumentNullException(nameof(httpContext)); - } - - if (feature == null) - { - throw new ArgumentNullException(nameof(feature)); - } - - var state = _state; - - var path = httpContext.Request.Path.Value; - var buffer = stackalloc int[32]; - - var segment = 0; - var index = -1; - while ((index = path.IndexOf('/', index + 1)) >= 0) - { - buffer[segment++] = index + 1; - } - - buffer[segment] = path.Length; - - var i = 0; - Endpoint result = null; - while (i < state.Instructions.Length) - { - var instruction = state.Instructions[i]; - switch (instruction.Code) - { - case InstructionCode.Accept: - { - result = state.Endpoints[instruction.Payload]; - i++; - break; - } - case InstructionCode.Branch: - { - var table = state.Tables[instruction.Payload]; - i = table.GetDestination(buffer, path); - break; - } - case InstructionCode.Jump: - { - i = instruction.Payload; - break; - } - } - } - - feature.Endpoint = result; - return Task.CompletedTask; - } - - private class State - { - public Endpoint[] Endpoints; - public Instruction[] Instructions; - public JumpTable[] Tables; - } - - [DebuggerDisplay("{ToDebugString(),nq}")] - [StructLayout(LayoutKind.Explicit)] - private struct Instruction - { - [FieldOffset(3)] - public InstructionCode Code; - - [FieldOffset(4)] - public int Payload; - - private string ToDebugString() - { - return $"{Code}: {Payload}"; - } - } - - private enum InstructionCode : byte - { - Accept, - Branch, - Jump, - Pop, // Only used during the instruction builder phase - } - - private abstract class JumpTable - { - public unsafe abstract int GetDestination(int* segments, string text); - } - - private class JumpTableBuilder - { - private readonly List<(string text, int destination)> _entries = new List<(string text, int destination)>(); - - public int Depth { get; set; } - - public int Exit { get; set; } - - public void AddEntry(string text, int destination) - { - _entries.Add((text, destination)); - } - - public JumpTable Build() - { - return new SimpleJumpTable(Depth, Exit, _entries.ToArray()); - } - } - - private class SimpleJumpTable : JumpTable - { - private readonly (string text, int destination)[] _entries; - private readonly int _depth; - private readonly int _exit; - - public SimpleJumpTable(int depth, int exit, (string text, int destination)[] entries) - { - _depth = depth; - _exit = exit; - _entries = entries; - } - - public unsafe override int GetDestination(int* segments, string text) - { - var start = segments[_depth]; - var length = segments[_depth + 1] - start; - - for (var i = 0; i < _entries.Length; i++) - { - if (length == _entries[i].text.Length && - string.Compare( - text, - start, - _entries[i].text, - 0, - length, - StringComparison.OrdinalIgnoreCase) == 0) - { - return _entries[i].destination; - } - } - - return _exit; - } - } - - private class Entry - { - public int Order; - public decimal Precedence; - public RouteTemplate Pattern; - public Endpoint Endpoint; - } - - private class InstructionBuilder - { - private readonly List _instructions = new List(); - private readonly List _endpoints = new List(); - private readonly List _tables = new List(); - - private readonly List _blocks = new List(); - - public int Next => _instructions.Count; - - public void BeginBlock() - { - _blocks.Add(Next); - } - - public void EndBlock() - { - var start = _blocks[_blocks.Count - 1]; - var end = Next; - for (var i = start; i < end; i++) - { - if (_instructions[i].Code == InstructionCode.Pop) - { - _instructions[i] = new Instruction() { Code = InstructionCode.Jump, Payload = end }; - } - } - - _blocks.RemoveAt(_blocks.Count - 1); - } - - public int AddInstruction(Instruction instruction) - { - _instructions.Add(instruction); - return _instructions.Count - 1; - } - - public int AddEndpoint(Endpoint endpoint) - { - _endpoints.Add(endpoint); - return _endpoints.Count - 1; - } - - public int AddJumpTable(JumpTableBuilder table) - { - _tables.Add(table); - return _tables.Count - 1; - } - - public void Deconstruct(out Instruction[] instructions, out Endpoint[] endpoints, out JumpTable[] tables) - { - instructions = _instructions.ToArray(); - endpoints = _endpoints.ToArray(); - - tables = new JumpTable[_tables.Count]; - for (var i = 0; i < _tables.Count; i++) - { - tables[i] = _tables[i].Build(); - } - } - } - - private abstract class Node - { - public int Depth { get; protected set; } - public List Children { get; } = new List(); - - public abstract void Lower(InstructionBuilder builder); - - public TNode GetNode() where TNode : Node - { - for (var i = 0; i < Children.Count; i++) - { - if (Children[i] is TNode match) - { - return match; - } - } - - return null; - } - - public TNode AddNode(TNode node) where TNode : Node - { - // We already ordered the routes into precedence order - Children.Add(node); - return node; - } - } - - private class SequenceNode : Node - { - public SequenceNode(int depth) - { - Depth = depth; - } - - public override void Lower(InstructionBuilder builder) - { - for (var i = 0; i < Children.Count; i++) - { - Children[i].Lower(builder); - } - } - } - - private class OrderNode : SequenceNode - { - public OrderNode(int order) - : base(0) - { - Order = order; - } - - public int Order { get; } - } - - private class BranchNode : Node - { - public BranchNode(int depth) - { - Depth = depth; - } - - public List Literals { get; } = new List(); - - public override void Lower(InstructionBuilder builder) - { - var table = new JumpTableBuilder() { Depth = Depth, }; - var index = builder.AddJumpTable(table); - builder.AddInstruction(new Instruction() { Code = InstructionCode.Branch, Payload = index }); - - builder.BeginBlock(); - - for (var i = 0; i < Children.Count; i++) - { - table.AddEntry(Literals[i], builder.Next); - Children[i].Lower(builder); - builder.AddInstruction(new Instruction() { Code = InstructionCode.Pop, }); - } - - builder.EndBlock(); - table.Exit = builder.Next; - } - } - - private class ParameterNode : Node - { - public ParameterNode(int depth) - { - Depth = depth; - } - - public override void Lower(InstructionBuilder builder) - { - for (var i = 0; i < Children.Count; i++) - { - Children[i].Lower(builder); - } - } - } - - private class AcceptNode : Node - { - public AcceptNode(Endpoint endpoint) - { - Endpoint = endpoint; - } - - public Endpoint Endpoint { get; } - - public override void Lower(InstructionBuilder builder) - { - builder.AddInstruction(new Instruction() - { - Code = InstructionCode.Accept, - Payload = builder.AddEndpoint(Endpoint), - }); - } - } - - private class Builder : MatcherBuilder - { - private List _entries = new List(); - - public override void AddEntry(string pattern, MatcherEndpoint endpoint) - { - var parsed = TemplateParser.Parse(pattern); - _entries.Add(new Entry() - { - Order = 0, - Pattern = parsed, - Precedence = RoutePrecedence.ComputeInbound(parsed), - Endpoint = endpoint, - }); - } - - public override Matcher Build() - { - _entries.Sort((x, y) => - { - var comparison = x.Order.CompareTo(y.Order); - if (comparison != 0) - { - return comparison; - } - - comparison = y.Precedence.CompareTo(x.Precedence); - if (comparison != 0) - { - return comparison; - } - - return x.Pattern.TemplateText.CompareTo(y.Pattern.TemplateText); - }); - - var roots = new List(); - - for (var i = 0; i < _entries.Count; i++) - { - var entry = _entries[i]; - - var parent = (SequenceNode)GetOrCreateRootNode(roots, entry.Order); - - for (var depth = 0; depth < entry.Pattern.Segments.Count; depth++) - { - var segment = entry.Pattern.Segments[depth]; - if (segment.IsSimple && segment.Parts[0].IsLiteral) - { - var branch = parent.GetNode() ?? parent.AddNode(new BranchNode(depth)); - - var index = branch.Literals.IndexOf(segment.Parts[0].Text); - if (index == -1) - { - branch.Literals.Add(segment.Parts[0].Text); - branch.AddNode(new SequenceNode(depth + 1)); - index = branch.Children.Count - 1; - } - - parent = (SequenceNode)branch.Children[index]; - } - else if (segment.IsSimple && segment.Parts[0].IsParameter) - { - var parameter = parent.GetNode() ?? parent.AddNode(new ParameterNode(depth)); - if (parameter.Children.Count == 0) - { - parameter.AddNode(new SequenceNode(depth + 1)); - } - - parent = (SequenceNode)parameter.Children[0]; - } - else - { - throw new InvalidOperationException("Not implemented!"); - } - } - - parent.AddNode(new AcceptNode(entry.Endpoint)); - } - - var builder = new InstructionBuilder(); - for (var i = 0; i < roots.Count; i++) - { - roots[i].Lower(builder); - } - - var (instructions, endpoints, tables) = builder; - return new InstructionMatcher(instructions, endpoints, tables); - } - - private OrderNode GetOrCreateRootNode(List roots, int order) - { - OrderNode root = null; - for (var j = 0; j < roots.Count; j++) - { - if (roots[j].Order == order) - { - root = roots[j]; - break; - } - } - - if (root == null) - { - // Nodes are guaranteed to be in order because the entries are in order. - root = new OrderNode(order); - roots.Add(root); - } - - return root; - } - } - } -} diff --git a/benchmarks/Microsoft.AspNetCore.Routing.Performance/Matchers/MinimalMatcher.cs b/benchmarks/Microsoft.AspNetCore.Routing.Performance/Matchers/MinimalMatcher.cs deleted file mode 100644 index 848d5d48f5..0000000000 --- a/benchmarks/Microsoft.AspNetCore.Routing.Performance/Matchers/MinimalMatcher.cs +++ /dev/null @@ -1,62 +0,0 @@ -// Copyright (c) .NET Foundation. All rights reserved. -// Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information. - -using System; -using System.Collections.Generic; -using System.Threading.Tasks; -using Microsoft.AspNetCore.Http; - -namespace Microsoft.AspNetCore.Routing.Matchers -{ - internal class MinimalMatcher : Matcher - { - public static MatcherBuilder CreateBuilder() => new Builder(); - - private readonly (string pattern, Endpoint endpoint)[] _entries; - - private MinimalMatcher((string pattern, Endpoint endpoint)[] entries) - { - _entries = entries; - } - - public override Task MatchAsync(HttpContext httpContext, IEndpointFeature feature) - { - if (httpContext == null) - { - throw new ArgumentNullException(nameof(httpContext)); - } - - if (feature == null) - { - throw new ArgumentNullException(nameof(feature)); - } - - var path = httpContext.Request.Path.Value; - for (var i = 0; i < _entries.Length; i++) - { - if (string.Equals(_entries[i].pattern, path, StringComparison.OrdinalIgnoreCase)) - { - feature.Endpoint = _entries[i].endpoint; - return Task.CompletedTask; - } - } - - return Task.CompletedTask; - } - - private class Builder : MatcherBuilder - { - private List<(string pattern, Endpoint endpoint)> _entries = new List<(string pattern, Endpoint endpoint)>(); - - public override void AddEntry(string pattern, MatcherEndpoint endpoint) - { - _entries.Add((pattern, endpoint)); - } - - public override Matcher Build() - { - return new MinimalMatcher(_entries.ToArray()); - } - } - } -} diff --git a/benchmarks/Microsoft.AspNetCore.Routing.Performance/Matchers/RouteMatcher.cs b/benchmarks/Microsoft.AspNetCore.Routing.Performance/Matchers/RouteMatcher.cs deleted file mode 100644 index 205989e685..0000000000 --- a/benchmarks/Microsoft.AspNetCore.Routing.Performance/Matchers/RouteMatcher.cs +++ /dev/null @@ -1,70 +0,0 @@ -// Copyright (c) .NET Foundation. All rights reserved. -// Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information. - -using System; -using System.Threading.Tasks; -using Microsoft.AspNetCore.Http; -using Microsoft.Extensions.Options; - -namespace Microsoft.AspNetCore.Routing.Matchers -{ - internal class RouteMatcher : Matcher - { - public static MatcherBuilder CreateBuilder() => new Builder(); - - private IRouter _inner; - - private RouteMatcher(IRouter inner) - { - _inner = inner; - } - - public async override Task MatchAsync(HttpContext httpContext, IEndpointFeature feature) - { - if (httpContext == null) - { - throw new ArgumentNullException(nameof(httpContext)); - } - - if (feature == null) - { - throw new ArgumentNullException(nameof(feature)); - } - - var context = new RouteContext(httpContext); - await _inner.RouteAsync(context); - - if (context.Handler != null) - { - httpContext.Features.Set(feature); - await context.Handler(httpContext); - } - } - - private class Builder : MatcherBuilder - { - private readonly RouteCollection _routes = new RouteCollection(); - private readonly IInlineConstraintResolver _constraintResolver; - - public Builder() - { - _constraintResolver = new DefaultInlineConstraintResolver(Options.Create(new RouteOptions())); - } - - public override void AddEntry(string pattern, MatcherEndpoint endpoint) - { - var handler = new RouteHandler(c => - { - c.Features.Get().Endpoint = endpoint; - return Task.CompletedTask; - }); - _routes.Add(new Route(handler, pattern, _constraintResolver)); - } - - public override Matcher Build() - { - return new RouteMatcher(_routes); - } - } - } -} diff --git a/benchmarks/Microsoft.AspNetCore.Routing.Performance/Matchers/SingleEntryMatcherBenchmark.cs b/benchmarks/Microsoft.AspNetCore.Routing.Performance/Matchers/SingleEntryMatcherBenchmark.cs index f7b93f77c1..586eb45390 100644 --- a/benchmarks/Microsoft.AspNetCore.Routing.Performance/Matchers/SingleEntryMatcherBenchmark.cs +++ b/benchmarks/Microsoft.AspNetCore.Routing.Performance/Matchers/SingleEntryMatcherBenchmark.cs @@ -9,7 +9,7 @@ namespace Microsoft.AspNetCore.Routing.Matchers { public class SingleEntryMatcherBenchmark : MatcherBenchmarkBase { - private Matcher _minimal; + private Matcher _baseline; private Matcher _dfa; private Matcher _instruction; private Matcher _route; @@ -28,26 +28,26 @@ namespace Microsoft.AspNetCore.Routing.Matchers _requests[0].RequestServices = CreateServices(); _requests[0].Request.Path = "/plaintext"; - _minimal = SetupMatcher(MinimalMatcher.CreateBuilder()); - _dfa = SetupMatcher(DfaMatcher.CreateBuilder()); - _instruction = SetupMatcher(InstructionMatcher.CreateBuilder()); - _route = SetupMatcher(RouteMatcher.CreateBuilder()); - _tree = SetupMatcher(TreeRouterMatcher.CreateBuilder()); + _baseline = SetupMatcher(new TrivialMatcherBuilder()); + _dfa = SetupMatcher(new DfaMatcherBuilder()); + _instruction = SetupMatcher(new InstructionMatcherBuilder()); + _route = SetupMatcher(new RouteMatcherBuilder()); + _tree = SetupMatcher(new TreeRouterMatcherBuilder()); _feature = new EndpointFeature(); } private Matcher SetupMatcher(MatcherBuilder builder) { - builder.AddEntry("/plaintext", _endpoints[0]); + builder.AddEndpoint(_endpoints[0]); return builder.Build(); } [Benchmark(Baseline = true)] - public async Task Minimal() + public async Task Baseline() { var feature = _feature; - await _minimal.MatchAsync(_requests[0], feature); + await _baseline.MatchAsync(_requests[0], feature); Validate(_requests[0], _endpoints[0], feature.Endpoint); } @@ -71,6 +71,10 @@ namespace Microsoft.AspNetCore.Routing.Matchers public async Task LegacyRoute() { var feature = _feature; + + // This is required to make the legacy router implementation work with dispatcher. + _requests[0].Features.Set(feature); + await _route.MatchAsync(_requests[0], feature); Validate(_requests[0], _endpoints[0], feature.Endpoint); } @@ -79,6 +83,10 @@ namespace Microsoft.AspNetCore.Routing.Matchers public async Task LegacyTreeRouter() { var feature = _feature; + + // This is required to make the legacy router implementation work with dispatcher. + _requests[0].Features.Set(feature); + await _tree.MatchAsync(_requests[0], feature); Validate(_requests[0], _endpoints[0], feature.Endpoint); } diff --git a/benchmarks/Microsoft.AspNetCore.Routing.Performance/Matchers/SmallEntryCountLiteralMatcherBenchark.cs b/benchmarks/Microsoft.AspNetCore.Routing.Performance/Matchers/SmallEntryCountLiteralMatcherBenchark.cs index 64797f9d0b..5804246ca1 100644 --- a/benchmarks/Microsoft.AspNetCore.Routing.Performance/Matchers/SmallEntryCountLiteralMatcherBenchark.cs +++ b/benchmarks/Microsoft.AspNetCore.Routing.Performance/Matchers/SmallEntryCountLiteralMatcherBenchark.cs @@ -9,7 +9,7 @@ namespace Microsoft.AspNetCore.Routing.Matchers { public class SmallEntryCountLiteralMatcherBenchark : MatcherBenchmarkBase { - private Matcher _minimal; + private Matcher _baseline; private Matcher _dfa; private Matcher _instruction; private Matcher _route; @@ -20,46 +20,65 @@ namespace Microsoft.AspNetCore.Routing.Matchers [GlobalSetup] public void Setup() { - _endpoints = new MatcherEndpoint[1]; - _endpoints[0] = CreateEndpoint("/plaintext"); + SetupEndpoints(); + SetupRequests(); + + _baseline = SetupMatcher(new TrivialMatcherBuilder()); + _dfa = SetupMatcher(new DfaMatcherBuilder()); + _instruction = SetupMatcher(new InstructionMatcherBuilder()); + _route = SetupMatcher(new RouteMatcherBuilder()); + _tree = SetupMatcher(new TreeRouterMatcherBuilder()); + + _feature = new EndpointFeature(); + } + + private void SetupEndpoints() + { + _endpoints = new MatcherEndpoint[10]; + _endpoints[0] = CreateEndpoint("/another-really-cool-entry"); + _endpoints[1] = CreateEndpoint("/Some-Entry"); + _endpoints[2] = CreateEndpoint("/a/path/with/more/segments"); + _endpoints[3] = CreateEndpoint("/random/name"); + _endpoints[4] = CreateEndpoint("/random/name2"); + _endpoints[5] = CreateEndpoint("/random/name3"); + _endpoints[6] = CreateEndpoint("/random/name4"); + _endpoints[7] = CreateEndpoint("/plaintext1"); + _endpoints[8] = CreateEndpoint("/plaintext2"); + _endpoints[9] = CreateEndpoint("/plaintext"); + } + + private void SetupRequests() + { _requests = new HttpContext[1]; _requests[0] = new DefaultHttpContext(); _requests[0].RequestServices = CreateServices(); _requests[0].Request.Path = "/plaintext"; - - _minimal = SetupMatcher(MinimalMatcher.CreateBuilder()); - _dfa = SetupMatcher(DfaMatcher.CreateBuilder()); - _instruction = SetupMatcher(InstructionMatcher.CreateBuilder()); - _route = SetupMatcher(RouteMatcher.CreateBuilder()); - _tree = SetupMatcher(TreeRouterMatcher.CreateBuilder()); - - _feature = new EndpointFeature(); } // For this case we're specifically targeting the last entry to hit 'worst case' // performance for the matchers that scale linearly. private Matcher SetupMatcher(MatcherBuilder builder) { - builder.AddEntry("/another-really-cool-entry", null); - builder.AddEntry("/Some-Entry", null); - builder.AddEntry("/a/path/with/more/segments", null); - builder.AddEntry("/random/name", null); - builder.AddEntry("/random/name2", null); - builder.AddEntry("/random/name3", null); - builder.AddEntry("/random/name4", null); - builder.AddEntry("/plaintext1", null); - builder.AddEntry("/plaintext2", null); - builder.AddEntry("/plaintext", _endpoints[0]); + builder.AddEndpoint(_endpoints[0]); + builder.AddEndpoint(_endpoints[1]); + builder.AddEndpoint(_endpoints[2]); + builder.AddEndpoint(_endpoints[3]); + builder.AddEndpoint(_endpoints[4]); + builder.AddEndpoint(_endpoints[5]); + builder.AddEndpoint(_endpoints[6]); + builder.AddEndpoint(_endpoints[7]); + builder.AddEndpoint(_endpoints[8]); + builder.AddEndpoint(_endpoints[9]); return builder.Build(); } [Benchmark(Baseline = true)] - public async Task Minimal() + public async Task Baseline() { var feature = _feature; - await _minimal.MatchAsync(_requests[0], feature); - Validate(_requests[0], _endpoints[0], feature.Endpoint); + await _baseline.MatchAsync(_requests[0], feature); + Validate(_requests[0], _endpoints[9], feature.Endpoint); } [Benchmark] @@ -67,7 +86,7 @@ namespace Microsoft.AspNetCore.Routing.Matchers { var feature = _feature; await _dfa.MatchAsync(_requests[0], feature); - Validate(_requests[0], _endpoints[0], feature.Endpoint); + Validate(_requests[0], _endpoints[9], feature.Endpoint); } [Benchmark] @@ -75,23 +94,31 @@ namespace Microsoft.AspNetCore.Routing.Matchers { var feature = _feature; await _instruction.MatchAsync(_requests[0], feature); - Validate(_requests[0], _endpoints[0], feature.Endpoint); + Validate(_requests[0], _endpoints[9], feature.Endpoint); } [Benchmark] public async Task LegacyRoute() { var feature = _feature; + + // This is required to make the legacy router implementation work with dispatcher. + _requests[0].Features.Set(feature); + await _route.MatchAsync(_requests[0], feature); - Validate(_requests[0], _endpoints[0], feature.Endpoint); + Validate(_requests[0], _endpoints[9], feature.Endpoint); } [Benchmark] public async Task LegacyTreeRouter() { var feature = _feature; + + // This is required to make the legacy router implementation work with dispatcher. + _requests[0].Features.Set(feature); + await _tree.MatchAsync(_requests[0], feature); - Validate(_requests[0], _endpoints[0], feature.Endpoint); + Validate(_requests[0], _endpoints[9], feature.Endpoint); } } } diff --git a/benchmarks/Microsoft.AspNetCore.Routing.Performance/Matchers/TreeRouterMatcher.cs b/benchmarks/Microsoft.AspNetCore.Routing.Performance/Matchers/TreeRouterMatcher.cs deleted file mode 100644 index 4346eb740f..0000000000 --- a/benchmarks/Microsoft.AspNetCore.Routing.Performance/Matchers/TreeRouterMatcher.cs +++ /dev/null @@ -1,76 +0,0 @@ -// Copyright (c) .NET Foundation. All rights reserved. -// Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information. - -using System; -using System.Threading.Tasks; -using Microsoft.AspNetCore.Http; -using Microsoft.AspNetCore.Routing.Internal; -using Microsoft.AspNetCore.Routing.Template; -using Microsoft.AspNetCore.Routing.Tree; -using Microsoft.Extensions.Logging.Abstractions; -using Microsoft.Extensions.ObjectPool; -using Microsoft.Extensions.Options; - -namespace Microsoft.AspNetCore.Routing.Matchers -{ - internal class TreeRouterMatcher : Matcher - { - public static MatcherBuilder CreateBuilder() => new Builder(); - - private TreeRouter _inner; - - private TreeRouterMatcher(TreeRouter inner) - { - _inner = inner; - } - - public async override Task MatchAsync(HttpContext httpContext, IEndpointFeature feature) - { - if (httpContext == null) - { - throw new ArgumentNullException(nameof(httpContext)); - } - - if (feature == null) - { - throw new ArgumentNullException(nameof(feature)); - } - - var context = new RouteContext(httpContext); - await _inner.RouteAsync(context); - - if (context.Handler != null) - { - await context.Handler(httpContext); - } - } - - private class Builder : MatcherBuilder - { - private readonly TreeRouteBuilder _inner; - - public Builder() - { - _inner = new TreeRouteBuilder( - NullLoggerFactory.Instance, - new DefaultObjectPool(new UriBuilderContextPooledObjectPolicy()), - new DefaultInlineConstraintResolver(Options.Create(new RouteOptions()))); - } - - public override void AddEntry(string template, MatcherEndpoint endpoint) - { - var handler = new RouteHandler(c => - { - c.Features.Get().Endpoint = endpoint; - return Task.CompletedTask; - }); - _inner.MapInbound(handler, TemplateParser.Parse(template), "default", 0); - } - - public override Matcher Build() - { - return new TreeRouterMatcher(_inner.Build()); - } - } - } -} diff --git a/benchmarks/Microsoft.AspNetCore.Routing.Performance/Matchers/TrivialMatcher.cs b/benchmarks/Microsoft.AspNetCore.Routing.Performance/Matchers/TrivialMatcher.cs new file mode 100644 index 0000000000..da9aa5fe34 --- /dev/null +++ b/benchmarks/Microsoft.AspNetCore.Routing.Performance/Matchers/TrivialMatcher.cs @@ -0,0 +1,44 @@ +// Copyright (c) .NET Foundation. All rights reserved. +// Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information. + +using System; +using System.Threading.Tasks; +using Microsoft.AspNetCore.Http; + +namespace Microsoft.AspNetCore.Routing.Matchers +{ + // A test-only matcher implementation - used as a baseline for simpler + // perf tests. The idea with this matcher is that we can cheat on the requirements + // to establish a lower bound for perf comparisons. + internal class TrivialMatcher : Matcher + { + private readonly MatcherEndpoint _endpoint; + + public TrivialMatcher(MatcherEndpoint endpoint) + { + _endpoint = endpoint; + } + + public override Task MatchAsync(HttpContext httpContext, IEndpointFeature feature) + { + if (httpContext == null) + { + throw new ArgumentNullException(nameof(httpContext)); + } + + if (feature == null) + { + throw new ArgumentNullException(nameof(feature)); + } + + var path = httpContext.Request.Path.Value; + if (string.Equals(_endpoint.Template, path, StringComparison.OrdinalIgnoreCase)) + { + feature.Endpoint = _endpoint; + feature.Values = new RouteValueDictionary(); + } + + return Task.CompletedTask; + } + } +} diff --git a/benchmarks/Microsoft.AspNetCore.Routing.Performance/Matchers/TrivialMatcherBuilder.cs b/benchmarks/Microsoft.AspNetCore.Routing.Performance/Matchers/TrivialMatcherBuilder.cs new file mode 100644 index 0000000000..f327de28db --- /dev/null +++ b/benchmarks/Microsoft.AspNetCore.Routing.Performance/Matchers/TrivialMatcherBuilder.cs @@ -0,0 +1,23 @@ +// Copyright (c) .NET Foundation. All rights reserved. +// Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information. + +using System.Collections.Generic; +using System.Linq; + +namespace Microsoft.AspNetCore.Routing.Matchers +{ + internal class TrivialMatcherBuilder : MatcherBuilder + { + private readonly List _endpoints = new List(); + + public override void AddEndpoint(MatcherEndpoint endpoint) + { + _endpoints.Add(endpoint); + } + + public override Matcher Build() + { + return new TrivialMatcher(_endpoints.Last()); + } + } +} diff --git a/benchmarks/Microsoft.AspNetCore.Routing.Performance/Microsoft.AspNetCore.Routing.Performance.csproj b/benchmarks/Microsoft.AspNetCore.Routing.Performance/Microsoft.AspNetCore.Routing.Performance.csproj index 572ef0802a..323a0e58fe 100644 --- a/benchmarks/Microsoft.AspNetCore.Routing.Performance/Microsoft.AspNetCore.Routing.Performance.csproj +++ b/benchmarks/Microsoft.AspNetCore.Routing.Performance/Microsoft.AspNetCore.Routing.Performance.csproj @@ -14,6 +14,46 @@ + + + + Matchers\MatcherBuilder.cs + + + Matchers\BarebonesMatcher.cs + + + Matchers\BarebonesMatcherBuilder.cs + + + Matchers\DfaMatcher.cs + + + Matchers\DfaMatcherBuilder.cs + + + Matchers\InstructionMatcher.cs + + + Matchers\InstructionMatcherBuilder.cs + + + Matchers\RouteMatcher.cs + + + Matchers\RouteMatcherBuilder.cs + + + Matchers\TreeRouterMatcher.cs + + + Matchers\TreeRouterMatcherBuilder.cs + + + diff --git a/benchmarks/Swaggatherer/Template.cs b/benchmarks/Swaggatherer/Template.cs index 172ea55942..761be89a92 100644 --- a/benchmarks/Swaggatherer/Template.cs +++ b/benchmarks/Swaggatherer/Template.cs @@ -28,7 +28,7 @@ namespace Swaggatherer var setupMatcherLines = new List(); for (var i = 0; i < entries.Count; i++) { - setupMatcherLines.Add($" builder.AddEntry(\"{entries[i].Template.TemplateText}\", _endpoints[{i}]);"); + setupMatcherLines.Add($" builder.AddEndpoint(_endpoints[{i}]);"); } return string.Format(@" diff --git a/test/Microsoft.AspNetCore.Routing.Tests/Matchers/BarebonesMatcher.cs b/test/Microsoft.AspNetCore.Routing.Tests/Matchers/BarebonesMatcher.cs new file mode 100644 index 0000000000..9a29897fe5 --- /dev/null +++ b/test/Microsoft.AspNetCore.Routing.Tests/Matchers/BarebonesMatcher.cs @@ -0,0 +1,122 @@ +// Copyright (c) .NET Foundation. All rights reserved. +// Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information. + +using System; +using System.Threading.Tasks; +using Microsoft.AspNetCore.Http; + +namespace Microsoft.AspNetCore.Routing.Matchers +{ + // A test-only matcher implementation - used as a baseline for more compilated + // perf tests. The idea with this matcher is that we can cheat on the requirements + // to establish a lower bound for perf comparisons. + internal class BarebonesMatcher : Matcher + { + public readonly InnerMatcher[] _matchers; + + public BarebonesMatcher(InnerMatcher[] matchers) + { + _matchers = matchers; + } + + public override Task MatchAsync(HttpContext httpContext, IEndpointFeature feature) + { + if (httpContext == null) + { + throw new ArgumentNullException(nameof(httpContext)); + } + + if (feature == null) + { + throw new ArgumentNullException(nameof(feature)); + } + + for (var i = 0; i < _matchers.Length; i++) + { + if (_matchers[i].TryMatch(httpContext, feature)) + { + feature.Endpoint = _matchers[i]._endpoint; + feature.Values = new RouteValueDictionary(); + } + } + + return Task.CompletedTask; + } + + public sealed class InnerMatcher : Matcher + { + private readonly string[] _segments; + public readonly MatcherEndpoint _endpoint; + + public InnerMatcher(string[] segments, MatcherEndpoint endpoint) + { + _segments = segments; + _endpoint = endpoint; + } + + public bool TryMatch(HttpContext httpContext, IEndpointFeature feature) + { + var segment = 0; + + var path = httpContext.Request.Path.Value; + + var start = 1; // PathString always has a leading slash + var end = 0; + while ((end = path.IndexOf('/', start)) >= 0) + { + var comparand = _segments.Length > segment ? _segments[segment] : null; + if ((comparand == null && end - start == 0) || + (comparand != null && + (comparand.Length != end - start || + string.Compare( + path, + start, + comparand, + 0, + comparand.Length, + StringComparison.OrdinalIgnoreCase) != 0))) + { + return false; + } + + start = end + 1; + segment++; + } + + // residue + var length = path.Length - start; + if (length > 0) + { + var comparand = _segments.Length > segment ? _segments[segment] : null; + if (comparand != null && + (comparand.Length != length || + string.Compare( + path, + start, + comparand, + 0, + comparand.Length, + StringComparison.OrdinalIgnoreCase) != 0)) + { + return false; + } + + segment++; + } + + return segment == _segments.Length; + } + + public override Task MatchAsync(HttpContext httpContext, IEndpointFeature feature) + { + if (TryMatch(httpContext, feature)) + { + feature.Endpoint = _endpoint; + feature.Values = new RouteValueDictionary(); + } + + return Task.CompletedTask; + } + } + } +} diff --git a/test/Microsoft.AspNetCore.Routing.Tests/Matchers/BarebonesMatcherBuilder.cs b/test/Microsoft.AspNetCore.Routing.Tests/Matchers/BarebonesMatcherBuilder.cs new file mode 100644 index 0000000000..ddb0b71dc8 --- /dev/null +++ b/test/Microsoft.AspNetCore.Routing.Tests/Matchers/BarebonesMatcherBuilder.cs @@ -0,0 +1,35 @@ +// Copyright (c) .NET Foundation. All rights reserved. +// Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information. + +using System.Collections.Generic; +using System.Linq; +using Microsoft.AspNetCore.Routing.Template; +using static Microsoft.AspNetCore.Routing.Matchers.BarebonesMatcher; + +namespace Microsoft.AspNetCore.Routing.Matchers +{ + internal class BarebonesMatcherBuilder : MatcherBuilder + { + private List _endpoints = new List(); + + public override void AddEndpoint(MatcherEndpoint endpoint) + { + _endpoints.Add(endpoint); + } + + public override Matcher Build() + { + var matchers = new InnerMatcher[_endpoints.Count]; + for (var i = 0; i < _endpoints.Count; i++) + { + var parsed = TemplateParser.Parse(_endpoints[i].Template); + var segments = parsed.Segments + .Select(s => s.IsSimple && s.Parts[0].IsLiteral ? s.Parts[0].Text : null) + .ToArray(); + matchers[i] = new InnerMatcher(segments, _endpoints[i]); + } + + return new BarebonesMatcher(matchers); + } + } +} diff --git a/test/Microsoft.AspNetCore.Routing.Tests/Matchers/BarebonesMatcherConformanceTest.cs b/test/Microsoft.AspNetCore.Routing.Tests/Matchers/BarebonesMatcherConformanceTest.cs new file mode 100644 index 0000000000..5d3e7607d9 --- /dev/null +++ b/test/Microsoft.AspNetCore.Routing.Tests/Matchers/BarebonesMatcherConformanceTest.cs @@ -0,0 +1,42 @@ +// Copyright (c) .NET Foundation. All rights reserved. +// Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information. + +using System; +using System.Threading.Tasks; +using Xunit; + +namespace Microsoft.AspNetCore.Routing.Matchers +{ + public class BarebonesMatcherConformanceTest : MatcherConformanceTest + { + // Route values not supported + [Fact] + public override Task Match_SingleParameter() + { + return Task.CompletedTask; + } + + // Route values not supported + [Fact] + public override Task Match_SingleParameter_TrailingSlash() + { + return Task.CompletedTask; + } + + // Route values not supported + [Theory] + [InlineData(null, null, null, null)] + public override Task Match_MultipleParameters(string template, string path, string[] keys, string[] values) + { + GC.KeepAlive(new object [] { template, path, keys, values }); + return Task.CompletedTask; + } + + internal override Matcher CreateMatcher(MatcherEndpoint endpoint) + { + var builder = new BarebonesMatcherBuilder(); + builder.AddEndpoint(endpoint); + return builder.Build(); + } + } +} diff --git a/test/Microsoft.AspNetCore.Routing.Tests/Matchers/DfaMatcher.cs b/test/Microsoft.AspNetCore.Routing.Tests/Matchers/DfaMatcher.cs new file mode 100644 index 0000000000..39be615b9a --- /dev/null +++ b/test/Microsoft.AspNetCore.Routing.Tests/Matchers/DfaMatcher.cs @@ -0,0 +1,178 @@ +// Copyright (c) .NET Foundation. All rights reserved. +// Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information. + +using System; +using System.Collections.Generic; +using System.Collections.Specialized; +using System.Threading.Tasks; +using Microsoft.AspNetCore.Http; + +namespace Microsoft.AspNetCore.Routing.Matchers +{ + internal class DfaMatcher : Matcher + { + private readonly State[] _states; + + public DfaMatcher(State[] states) + { + _states = states; + } + + public unsafe override Task MatchAsync(HttpContext httpContext, IEndpointFeature feature) + { + if (httpContext == null) + { + throw new ArgumentNullException(nameof(httpContext)); + } + + if (feature == null) + { + throw new ArgumentNullException(nameof(feature)); + } + + var states = _states; + var current = 0; + + var path = httpContext.Request.Path.Value; + + // This section tokenizes the path by marking the sequence of slashes, and their + // position in the string. The consuming code uses the sequence and the count of + // slashes to deduce the length of each segment. + // + // If there is residue (text after last slash) then the length of the segment will + // computed based on the string length. + var buffer = stackalloc Segment[32]; + var segment = 0; + var start = 1; // PathString guarantees a leading / + var end = 0; + var length = 0; + while ((end = path.IndexOf('/', start)) >= 0 && segment < 32) + { + length = end - start; + buffer[segment++] = new Segment() { Start = start, Length = length, }; + current = states[current].Transitions.GetDestination(path, start, length); + + start = end + 1; // resume search after the current character + } + + // Residue + length = path.Length - start; + if (length > 0) + { + buffer[segment++] = new Segment() { Start = start, Length = length, }; + current = states[current].Transitions.GetDestination(path, start, length); + } + + var matches = new List<(Endpoint, RouteValueDictionary)>(); + + var candidates = states[current].Matches; + for (var i = 0; i < candidates.Length; i++) + { + var values = new RouteValueDictionary(); + var parameters = candidates[i].Parameters; + if (parameters != null) + { + for (var j = 0; j < parameters.Length; j++) + { + var parameter = parameters[j]; + if (parameter != null && buffer[j].Length == 0) + { + goto notmatch; + } + else if (parameter != null) + { + var value = path.Substring(buffer[j].Start, buffer[j].Length); + values.Add(parameter, value); + } + } + } + + matches.Add((candidates[i].Endpoint, values)); + + notmatch: ; + } + + feature.Endpoint = matches.Count == 0 ? null : matches[0].Item1; + feature.Values = matches.Count == 0 ? null : matches[0].Item2; + + return Task.CompletedTask; + } + + public struct Segment + { + public int Start; + public int Length; + } + + public struct State + { + public bool IsAccepting; + public Candidate[] Matches; + public JumpTable Transitions; + } + + public struct Candidate + { + public Endpoint Endpoint; + public string[] Parameters; + } + + public abstract class JumpTable + { + public abstract int GetDestination(string text, int start, int length); + } + + public class JumpTableBuilder + { + private readonly List<(string text, int destination)> _entries = new List<(string text, int destination)>(); + + public int Depth { get; set; } + + public int Exit { get; set; } + + public void AddEntry(string text, int destination) + { + _entries.Add((text, destination)); + } + + public JumpTable Build() + { + return new SimpleJumpTable(Depth, Exit, _entries.ToArray()); + } + } + + private class SimpleJumpTable : JumpTable + { + private readonly (string text, int destination)[] _entries; + private readonly int _depth; + private readonly int _exit; + + public SimpleJumpTable(int depth, int exit, (string text, int destination)[] entries) + { + _depth = depth; + _exit = exit; + _entries = entries; + } + + public override int GetDestination(string text, int start, int length) + { + for (var i = 0; i < _entries.Length; i++) + { + if (length == _entries[i].text.Length && + string.Compare( + text, + start, + _entries[i].text, + 0, + length, + StringComparison.OrdinalIgnoreCase) == 0) + { + return _entries[i].destination; + } + } + + return _exit; + } + } + } +} diff --git a/test/Microsoft.AspNetCore.Routing.Tests/Matchers/DfaMatcherBuilder.cs b/test/Microsoft.AspNetCore.Routing.Tests/Matchers/DfaMatcherBuilder.cs new file mode 100644 index 0000000000..95b0a2b98a --- /dev/null +++ b/test/Microsoft.AspNetCore.Routing.Tests/Matchers/DfaMatcherBuilder.cs @@ -0,0 +1,257 @@ +// Copyright (c) .NET Foundation. All rights reserved. +// Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information. + +using System; +using System.Collections.Generic; +using System.Diagnostics; +using System.Linq; +using System.Text; +using Microsoft.AspNetCore.Routing.Template; +using static Microsoft.AspNetCore.Routing.Matchers.DfaMatcher; + +namespace Microsoft.AspNetCore.Routing.Matchers +{ + internal class DfaMatcherBuilder : MatcherBuilder + { + private List _entries = new List(); + + public override void AddEndpoint(MatcherEndpoint endpoint) + { + var parsed = TemplateParser.Parse(endpoint.Template); + _entries.Add(new Entry() + { + Order = 0, + Pattern = parsed, + Precedence = RoutePrecedence.ComputeInbound(parsed), + Endpoint = endpoint, + }); + } + + public override Matcher Build() + { + Sort(_entries); + + var root = new Node() { Depth = -1 }; + + // We build the tree by doing a BFS over the list of entries. This is important + // because a 'parameter' node can also traverse the same paths that literal nodes traverse. + var maxDepth = 0; + for (var i = 0; i < _entries.Count; i++) + { + maxDepth = Math.Max(maxDepth, _entries[i].Pattern.Segments.Count); + } + + for (var depth = 0; depth <= maxDepth; depth++) + { + for (var i = 0; i < _entries.Count; i++) + { + var entry = _entries[i]; + if (entry.Pattern.Segments.Count < depth) + { + continue; + } + + // Find the parents of this edge at the current depth + var parents = new List() { root }; + for (var j = 0; j < depth; j++) + { + var next = new List(); + for (var k = 0; k < parents.Count; k++) + { + next.Add(Traverse(parents[k], entry.Pattern.Segments[j])); + } + + parents = next; + } + + if (entry.Pattern.Segments.Count == depth) + { + for (var j = 0; j < parents.Count; j++) + { + var parent = parents[j]; + parent.Matches.Add(entry); + } + + continue; + } + + var segment = entry.Pattern.Segments[depth]; + for (var j = 0; j < parents.Count; j++) + { + var parent = parents[j]; + if (segment.IsSimple && segment.Parts[0].IsLiteral) + { + if (!parent.Literals.TryGetValue(segment.Parts[0].Text, out var next)) + { + next = new Node() { Depth = depth, }; + parent.Literals.Add(segment.Parts[0].Text, next); + } + } + else if (segment.IsSimple && segment.Parts[0].IsParameter) + { + if (!parent.Literals.TryGetValue("*", out var next)) + { + next = new Node() { Depth = depth, }; + parent.Literals.Add("*", next); + } + } + else + { + throw new InvalidOperationException("We only support simple segments."); + } + } + } + } + + var states = new List(); + var tables = new List(); + AddNode(root, states, tables); + + var exit = states.Count; + states.Add(new State() { IsAccepting = false, Matches = Array.Empty(), }); + tables.Add(new JumpTableBuilder() { Exit = exit, }); + + for (var i = 0; i < tables.Count; i++) + { + if (tables[i].Exit == -1) + { + tables[i].Exit = exit; + } + } + + for (var i = 0; i < states.Count; i++) + { + states[i] = new State() + { + IsAccepting = states[i].IsAccepting, + Matches = states[i].Matches, + Transitions = tables[i].Build(), + }; + } + + return new DfaMatcher(states.ToArray()); + } + + private Node Traverse(Node node, TemplateSegment segment) + { + if (!segment.IsSimple) + { + throw new InvalidOperationException("We only support simple segments."); + } + + if (segment.Parts[0].IsLiteral) + { + return node.Literals[segment.Parts[0].Text]; + } + + return node.Literals["*"]; + } + + private static int AddNode(Node node, List states, List tables) + { + Sort(node.Matches); + + var index = states.Count; + states.Add(new State() + { + Matches = node.Matches.Select(CreateCandidate).ToArray(), + IsAccepting = node.Matches.Count > 0, + }); + + var table = new JumpTableBuilder() { Depth = node.Depth, }; + tables.Add(table); + + foreach (var kvp in node.Literals) + { + if (kvp.Key == "*") + { + continue; + } + + var transition = AddNode(kvp.Value, states, tables); + table.AddEntry(kvp.Key, transition); + } + + var exitIndex = -1; + if (node.Literals.TryGetValue("*", out var exit)) + { + exitIndex = AddNode(exit, states, tables); + } + + table.Exit = exitIndex; + return index; + } + + private static Candidate CreateCandidate(Entry entry) + { + return new Candidate() + { + Endpoint = entry.Endpoint, + Parameters = entry.Pattern.Segments.Select(s => s.IsSimple && s.Parts[0].IsParameter ? s.Parts[0].Name : null).ToArray(), + }; + } + + private static void Sort(List entries) + { + entries.Sort((x, y) => + { + var comparison = x.Order.CompareTo(y.Order); + if (comparison != 0) + { + return comparison; + } + + comparison = x.Precedence.CompareTo(y.Precedence); + if (comparison != 0) + { + return comparison; + } + + return x.Pattern.TemplateText.CompareTo(y.Pattern.TemplateText); + }); + } + + private static Node DeepCopy(Node node) + { + var copy = new Node() { Depth = node.Depth, }; + copy.Matches.AddRange(node.Matches); + + foreach (var kvp in node.Literals) + { + copy.Literals.Add(kvp.Key, DeepCopy(kvp.Value)); + } + + return node; + } + + private class Entry + { + public int Order; + public decimal Precedence; + public RouteTemplate Pattern; + public Endpoint Endpoint; + } + + [DebuggerDisplay("{DebuggerToString(),nq}")] + private class Node + { + public int Depth { get; set; } + + public List Matches { get; } = new List(); + + public Dictionary Literals { get; } = new Dictionary(StringComparer.OrdinalIgnoreCase); + + private string DebuggerToString() + { + var builder = new StringBuilder(); + builder.Append("d:"); + builder.Append(Depth); + builder.Append(" m:"); + builder.Append(Matches.Count); + builder.Append(" c: "); + builder.Append(string.Join(", ", Literals.Select(kvp => $"{kvp.Key}->({kvp.Value.DebuggerToString()})"))); + return builder.ToString(); + } + } + } +} diff --git a/test/Microsoft.AspNetCore.Routing.Tests/Matchers/DfaMatcherConformanceTest.cs b/test/Microsoft.AspNetCore.Routing.Tests/Matchers/DfaMatcherConformanceTest.cs new file mode 100644 index 0000000000..b04389c5aa --- /dev/null +++ b/test/Microsoft.AspNetCore.Routing.Tests/Matchers/DfaMatcherConformanceTest.cs @@ -0,0 +1,35 @@ +// Copyright (c) .NET Foundation. All rights reserved. +// Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information. + +using System; +using System.Threading.Tasks; +using Xunit; + +namespace Microsoft.AspNetCore.Routing.Matchers +{ + public class DfaMatcherConformanceTest : MatcherConformanceTest + { + // Route values not supported + [Fact] + public override Task Match_SingleParameter_TrailingSlash() + { + return Task.CompletedTask; + } + + // Route values not supported + [Theory] + [InlineData(null, null, null, null)] + public override Task Match_MultipleParameters(string template, string path, string[] keys, string[] values) + { + GC.KeepAlive(new object[] { template, path, keys, values }); + return Task.CompletedTask; + } + + internal override Matcher CreateMatcher(MatcherEndpoint endpoint) + { + var builder = new DfaMatcherBuilder(); + builder.AddEndpoint(endpoint); + return builder.Build(); + } + } +} diff --git a/test/Microsoft.AspNetCore.Routing.Tests/Matchers/DispatcherAssert.cs b/test/Microsoft.AspNetCore.Routing.Tests/Matchers/DispatcherAssert.cs index b6c7bdd0fc..9103fd390e 100644 --- a/test/Microsoft.AspNetCore.Routing.Tests/Matchers/DispatcherAssert.cs +++ b/test/Microsoft.AspNetCore.Routing.Tests/Matchers/DispatcherAssert.cs @@ -1,6 +1,7 @@ // Copyright (c) .NET Foundation. All rights reserved. // Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information. +using System.Collections.Generic; using System.Linq; using Xunit.Sdk; @@ -13,6 +14,17 @@ namespace Microsoft.AspNetCore.Routing.Matchers AssertMatch(feature, expected, new RouteValueDictionary()); } + public static void AssertMatch(IEndpointFeature feature, Endpoint expected, string[] keys, string[] values) + { + if (keys.Length != values.Length) + { + throw new XunitException($"Keys and Values must be the same length."); + } + + var zipped = keys.Zip(values, (k, v) => new KeyValuePair(k, v)); + AssertMatch(feature, expected, new RouteValueDictionary(zipped)); + } + public static void AssertMatch(IEndpointFeature feature, Endpoint expected, RouteValueDictionary values) { if (feature.Endpoint == null) @@ -20,6 +32,11 @@ namespace Microsoft.AspNetCore.Routing.Matchers throw new XunitException($"Was expected to match '{expected.DisplayName}' but did not match."); } + if (feature.Values == null) + { + throw new XunitException("Values is null."); + } + if (!object.ReferenceEquals(expected, feature.Endpoint)) { throw new XunitException( @@ -27,6 +44,8 @@ namespace Microsoft.AspNetCore.Routing.Matchers $"'{feature.Endpoint.DisplayName}' with values: {FormatRouteValues(feature.Values)}."); } + // Note: this comparison is intended for unit testing, and is stricter than necessary to make tests + // more precise. Route value comparisons in product code are more flexible than a simple .Equals. if (values.Count != feature.Values.Count || !values.OrderBy(kvp => kvp.Key).SequenceEqual(feature.Values.OrderBy(kvp => kvp.Key))) { diff --git a/test/Microsoft.AspNetCore.Routing.Tests/Matchers/InstructionMatcher.cs b/test/Microsoft.AspNetCore.Routing.Tests/Matchers/InstructionMatcher.cs new file mode 100644 index 0000000000..e6f31396c2 --- /dev/null +++ b/test/Microsoft.AspNetCore.Routing.Tests/Matchers/InstructionMatcher.cs @@ -0,0 +1,239 @@ +// Copyright (c) .NET Foundation. All rights reserved. +// Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information. + +using System; +using System.Collections.Generic; +using System.Diagnostics; +using System.Runtime.InteropServices; +using System.Threading.Tasks; +using Microsoft.AspNetCore.Http; + +namespace Microsoft.AspNetCore.Routing.Matchers +{ + internal class InstructionMatcher : Matcher + { + private State _state; + + public InstructionMatcher(Instruction[] instructions, Candidate[] candidates, JumpTable[] tables) + { + _state = new State() + { + Instructions = instructions, + Candidates = candidates, + Tables = tables, + }; + } + + public unsafe override Task MatchAsync(HttpContext httpContext, IEndpointFeature feature) + { + if (httpContext == null) + { + throw new ArgumentNullException(nameof(httpContext)); + } + + if (feature == null) + { + throw new ArgumentNullException(nameof(feature)); + } + + var state = _state; + + var path = httpContext.Request.Path.Value; + + // This section tokenizes the path by marking the sequence of slashes, and their + // position in the string. The consuming code uses the sequence and the count of + // slashes to deduce the length of each segment. + // + // If there is residue (text after last slash) then the length of the segment will + // computed based on the string length. + var buffer = stackalloc Segment[32]; + var count = 0; + var start = 1; // PathString guarantees a leading / + var end = 0; + while ((end = path.IndexOf('/', start)) >= 0 && count < 32) + { + buffer[count++] = new Segment() { Start = start, Length = end - start, }; + start = end + 1; // resume search after the current character + } + + // Residue + if (start < path.Length) + { + buffer[count++] = new Segment() { Start = start, Length = path.Length - start, }; + } + + var i = 0; + Candidate match = default(Candidate); + while (i < state.Instructions.Length) + { + var instruction = state.Instructions[i]; + switch (instruction.Code) + { + case InstructionCode.Accept: + { + if (count == instruction.Depth) + { + match = state.Candidates[instruction.Payload]; + } + i++; + break; + } + case InstructionCode.Branch: + { + var table = state.Tables[instruction.Payload]; + i = table.GetDestination(buffer, count, path); + break; + } + case InstructionCode.Jump: + { + i = instruction.Payload; + break; + } + } + } + + if (match.Endpoint != null) + { + var values = new RouteValueDictionary(); + var parameters = match.Parameters; + if (parameters != null) + { + for (var j = 0; j < parameters.Length; j++) + { + var parameter = parameters[j]; + if (parameter != null && buffer[j].Length == 0) + { + goto notmatch; + } + else if (parameter != null) + { + var value = path.Substring(buffer[j].Start, buffer[j].Length); + values.Add(parameter, value); + } + } + } + + feature.Endpoint = match.Endpoint; + feature.Values = values; + + notmatch:; + } + + + + return Task.CompletedTask; + } + + public struct Segment + { + public int Start; + public int Length; + } + + public struct Candidate + { + public Endpoint Endpoint; + public string[] Parameters; + } + + public class State + { + public Candidate[] Candidates; + public Instruction[] Instructions; + public JumpTable[] Tables; + } + + [DebuggerDisplay("{ToDebugString(),nq}")] + [StructLayout(LayoutKind.Explicit)] + public struct Instruction + { + [FieldOffset(0)] + public byte Depth; + + [FieldOffset(3)] + public InstructionCode Code; + + [FieldOffset(4)] + public int Payload; + + private string ToDebugString() + { + return $"{Code}: {Payload}"; + } + } + + public enum InstructionCode : byte + { + Accept, + Branch, + Jump, + Pop, // Only used during the instruction builder phase + } + + public abstract class JumpTable + { + public unsafe abstract int GetDestination(Segment* segments, int count, string path); + } + + public class JumpTableBuilder + { + private readonly List<(string text, int destination)> _entries = new List<(string text, int destination)>(); + + public int Depth { get; set; } + + public int Exit { get; set; } + + public void AddEntry(string text, int destination) + { + _entries.Add((text, destination)); + } + + public JumpTable Build() + { + return new SimpleJumpTable(Depth, Exit, _entries.ToArray()); + } + } + + public class SimpleJumpTable : JumpTable + { + private readonly (string text, int destination)[] _entries; + private readonly int _depth; + private readonly int _exit; + + public SimpleJumpTable(int depth, int exit, (string text, int destination)[] entries) + { + _depth = depth; + _exit = exit; + _entries = entries; + } + + public unsafe override int GetDestination(Segment* segments, int count, string path) + { + if (_depth == count) + { + return _exit; + } + + var start = segments[_depth].Start; + var length = segments[_depth].Length; + + for (var i = 0; i < _entries.Length; i++) + { + if (length == _entries[i].text.Length && + string.Compare( + path, + start, + _entries[i].text, + 0, + length, + StringComparison.OrdinalIgnoreCase) == 0) + { + return _entries[i].destination; + } + } + + return _exit; + } + } + } +} diff --git a/test/Microsoft.AspNetCore.Routing.Tests/Matchers/InstructionMatcherBuilder.cs b/test/Microsoft.AspNetCore.Routing.Tests/Matchers/InstructionMatcherBuilder.cs new file mode 100644 index 0000000000..c736cd612e --- /dev/null +++ b/test/Microsoft.AspNetCore.Routing.Tests/Matchers/InstructionMatcherBuilder.cs @@ -0,0 +1,356 @@ +// Copyright (c) .NET Foundation. All rights reserved. +// Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information. + +using System; +using System.Collections.Generic; +using System.Linq; +using Microsoft.AspNetCore.Routing.Template; +using static Microsoft.AspNetCore.Routing.Matchers.InstructionMatcher; + +namespace Microsoft.AspNetCore.Routing.Matchers +{ + internal class InstructionMatcherBuilder : MatcherBuilder + { + private List _entries = new List(); + + public override void AddEndpoint(MatcherEndpoint endpoint) + { + var parsed = TemplateParser.Parse(endpoint.Template); + _entries.Add(new Entry() + { + Order = 0, + Pattern = parsed, + Precedence = RoutePrecedence.ComputeInbound(parsed), + Endpoint = endpoint, + }); + } + + public override Matcher Build() + { + _entries.Sort((x, y) => + { + var comparison = x.Order.CompareTo(y.Order); + if (comparison != 0) + { + return comparison; + } + + comparison = y.Precedence.CompareTo(x.Precedence); + if (comparison != 0) + { + return comparison; + } + + return x.Pattern.TemplateText.CompareTo(y.Pattern.TemplateText); + }); + + var roots = new List(); + + for (var i = 0; i < _entries.Count; i++) + { + var entry = _entries[i]; + + var parent = (SequenceNode)GetOrCreateRootNode(roots, entry.Order); + + var depth = 0; + for (; depth < entry.Pattern.Segments.Count; depth++) + { + var segment = entry.Pattern.Segments[depth]; + if (segment.IsSimple && segment.Parts[0].IsLiteral) + { + var branch = parent.GetNode() ?? parent.AddNode(new BranchNode(depth)); + + var index = -1; + for (var j = 0; j < branch.Literals.Count; j++) + { + if (string.Equals(segment.Parts[0].Text, branch.Literals[j], StringComparison.OrdinalIgnoreCase)) + { + index = j; + break; + } + } + + if (index == -1) + { + branch.Literals.Add(segment.Parts[0].Text); + branch.AddNode(new SequenceNode(depth + 1)); + index = branch.Children.Count - 1; + } + + parent = (SequenceNode)branch.Children[index]; + } + else if (segment.IsSimple && segment.Parts[0].IsParameter) + { + var parameter = parent.GetNode() ?? parent.AddNode(new ParameterNode(depth)); + if (parameter.Children.Count == 0) + { + parameter.AddNode(new SequenceNode(depth + 1)); + } + + parent = (SequenceNode)parameter.Children[0]; + } + else + { + throw new InvalidOperationException("Not implemented!"); + } + } + + parent.AddNode(new AcceptNode(depth, entry.Endpoint)); + } + + var builder = new InstructionBuilder(); + for (var i = 0; i < roots.Count; i++) + { + roots[i].Lower(builder); + } + + var (instructions, endpoints, tables) = builder; + var candidates = new Candidate[endpoints.Length]; + for (var i = 0; i < endpoints.Length; i++) + { + candidates[i] = CreateCandidate(endpoints[i]); + } + + return new InstructionMatcher(instructions, candidates, tables); + } + + private OrderNode GetOrCreateRootNode(List roots, int order) + { + OrderNode root = null; + for (var j = 0; j < roots.Count; j++) + { + if (roots[j].Order == order) + { + root = roots[j]; + break; + } + } + + if (root == null) + { + // Nodes are guaranteed to be in order because the entries are in order. + root = new OrderNode(order); + roots.Add(root); + } + + return root; + } + + private static Candidate CreateCandidate(MatcherEndpoint endpoint) + { + var parsed = TemplateParser.Parse(endpoint.Template); + return new Candidate() + { + Endpoint = endpoint, + Parameters = parsed.Segments.Select(s => s.IsSimple && s.Parts[0].IsParameter ? s.Parts[0].Name : null).ToArray(), + }; + } + + private class Entry + { + public int Order; + public decimal Precedence; + public RouteTemplate Pattern; + public MatcherEndpoint Endpoint; + } + + private class InstructionBuilder + { + private readonly List _instructions = new List(); + private readonly List _endpoints = new List(); + private readonly List _tables = new List(); + + private readonly List _blocks = new List(); + + public int Next => _instructions.Count; + + public void BeginBlock() + { + _blocks.Add(Next); + } + + public void EndBlock() + { + var start = _blocks[_blocks.Count - 1]; + var end = Next; + for (var i = start; i < end; i++) + { + if (_instructions[i].Code == InstructionCode.Pop) + { + _instructions[i] = new Instruction() + { + Code = InstructionCode.Jump, + Depth = _instructions[i].Depth, + Payload = end, + }; + } + } + + _blocks.RemoveAt(_blocks.Count - 1); + } + + public int AddInstruction(Instruction instruction) + { + _instructions.Add(instruction); + return _instructions.Count - 1; + } + + public int AddEndpoint(MatcherEndpoint endpoint) + { + _endpoints.Add(endpoint); + return _endpoints.Count - 1; + } + + public int AddJumpTable(JumpTableBuilder table) + { + _tables.Add(table); + return _tables.Count - 1; + } + + public void Deconstruct( + out Instruction[] instructions, + out MatcherEndpoint[] endpoints, + out JumpTable[] tables) + { + instructions = _instructions.ToArray(); + endpoints = _endpoints.ToArray(); + + tables = new JumpTable[_tables.Count]; + for (var i = 0; i < _tables.Count; i++) + { + tables[i] = _tables[i].Build(); + } + } + } + + private abstract class Node + { + public int Depth { get; protected set; } + public List Children { get; } = new List(); + + public abstract void Lower(InstructionBuilder builder); + + public TNode GetNode() where TNode : Node + { + for (var i = 0; i < Children.Count; i++) + { + if (Children[i] is TNode match) + { + return match; + } + } + + return null; + } + + public TNode AddNode(TNode node) where TNode : Node + { + // We already ordered the routes into precedence order + Children.Add(node); + return node; + } + } + + private class SequenceNode : Node + { + public SequenceNode(int depth) + { + Depth = depth; + } + + public override void Lower(InstructionBuilder builder) + { + for (var i = 0; i < Children.Count; i++) + { + Children[i].Lower(builder); + } + } + } + + private class OrderNode : SequenceNode + { + public OrderNode(int order) + : base(0) + { + Order = order; + } + + public int Order { get; } + } + + private class BranchNode : Node + { + public BranchNode(int depth) + { + Depth = depth; + } + + public List Literals { get; } = new List(); + + public override void Lower(InstructionBuilder builder) + { + var table = new JumpTableBuilder() { Depth = Depth, }; + var index = builder.AddJumpTable(table); + builder.AddInstruction(new Instruction() + { + Code = InstructionCode.Branch, + Depth = (byte)Depth, + Payload = index + }); + + builder.BeginBlock(); + + for (var i = 0; i < Children.Count; i++) + { + table.AddEntry(Literals[i], builder.Next); + Children[i].Lower(builder); + builder.AddInstruction(new Instruction() + { + Code = InstructionCode.Pop, + Depth = (byte)Depth, + }); + } + + builder.EndBlock(); + table.Exit = builder.Next; + } + } + + private class ParameterNode : Node + { + public ParameterNode(int depth) + { + Depth = depth; + } + + public override void Lower(InstructionBuilder builder) + { + for (var i = 0; i < Children.Count; i++) + { + Children[i].Lower(builder); + } + } + } + + private class AcceptNode : Node + { + public AcceptNode(int depth, MatcherEndpoint endpoint) + { + Depth = depth; + Endpoint = endpoint; + } + + public MatcherEndpoint Endpoint { get; } + + public override void Lower(InstructionBuilder builder) + { + builder.AddInstruction(new Instruction() + { + Code = InstructionCode.Accept, + Depth = (byte)Depth, + Payload = builder.AddEndpoint(Endpoint), + }); + } + } + } +} diff --git a/test/Microsoft.AspNetCore.Routing.Tests/Matchers/InstructionMatcherConformanceTest.cs b/test/Microsoft.AspNetCore.Routing.Tests/Matchers/InstructionMatcherConformanceTest.cs new file mode 100644 index 0000000000..1fe8c45eec --- /dev/null +++ b/test/Microsoft.AspNetCore.Routing.Tests/Matchers/InstructionMatcherConformanceTest.cs @@ -0,0 +1,19 @@ +// Copyright (c) .NET Foundation. All rights reserved. +// Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information. + +using System; +using System.Threading.Tasks; +using Xunit; + +namespace Microsoft.AspNetCore.Routing.Matchers +{ + public class InstructionMatcherConformanceTest : MatcherConformanceTest + { + internal override Matcher CreateMatcher(MatcherEndpoint endpoint) + { + var builder = new InstructionMatcherBuilder(); + builder.AddEndpoint(endpoint); + return builder.Build(); + } + } +} diff --git a/benchmarks/Microsoft.AspNetCore.Routing.Performance/Matchers/MatcherBuilder.cs b/test/Microsoft.AspNetCore.Routing.Tests/Matchers/MatcherBuilder.cs similarity index 79% rename from benchmarks/Microsoft.AspNetCore.Routing.Performance/Matchers/MatcherBuilder.cs rename to test/Microsoft.AspNetCore.Routing.Tests/Matchers/MatcherBuilder.cs index 98739b904f..8953f09e75 100644 --- a/benchmarks/Microsoft.AspNetCore.Routing.Performance/Matchers/MatcherBuilder.cs +++ b/test/Microsoft.AspNetCore.Routing.Tests/Matchers/MatcherBuilder.cs @@ -5,7 +5,7 @@ namespace Microsoft.AspNetCore.Routing.Matchers { internal abstract class MatcherBuilder { - public abstract void AddEntry(string template, MatcherEndpoint endpoint); + public abstract void AddEndpoint(MatcherEndpoint endpoint); public abstract Matcher Build(); } diff --git a/test/Microsoft.AspNetCore.Routing.Tests/Matchers/MatcherConformanceTest.cs b/test/Microsoft.AspNetCore.Routing.Tests/Matchers/MatcherConformanceTest.cs index 350fa57f70..d9de0ddaee 100644 --- a/test/Microsoft.AspNetCore.Routing.Tests/Matchers/MatcherConformanceTest.cs +++ b/test/Microsoft.AspNetCore.Routing.Tests/Matchers/MatcherConformanceTest.cs @@ -2,6 +2,8 @@ // Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information. using System; +using System.Collections.Generic; +using System.Linq; using System.Threading.Tasks; using Microsoft.AspNetCore.Http; using Microsoft.Extensions.DependencyInjection; @@ -14,7 +16,7 @@ namespace Microsoft.AspNetCore.Routing.Matchers internal abstract Matcher CreateMatcher(MatcherEndpoint endpoint); [Fact] - public virtual async Task Match_SingleLiteralSegment_Success() + public virtual async Task Match_SingleLiteralSegment() { // Arrange var (matcher, endpoint) = CreateMatcher("/simple"); @@ -27,11 +29,98 @@ namespace Microsoft.AspNetCore.Routing.Matchers DispatcherAssert.AssertMatch(feature, endpoint); } + [Fact] + public virtual async Task Match_SingleLiteralSegment_TrailingSlash() + { + // Arrange + var (matcher, endpoint) = CreateMatcher("/simple"); + var (httpContext, feature) = CreateContext("/simple/"); + + // Act + await matcher.MatchAsync(httpContext, feature); + + // Assert + DispatcherAssert.AssertMatch(feature, endpoint); + } + + [Theory] + [InlineData("/simple")] + [InlineData("/sImpLe")] + [InlineData("/SIMPLE")] + public virtual async Task Match_SingleLiteralSegment_CaseInsensitive(string path) + { + // Arrange + var (matcher, endpoint) = CreateMatcher("/Simple"); + var (httpContext, feature) = CreateContext(path); + + // Act + await matcher.MatchAsync(httpContext, feature); + + // Assert + DispatcherAssert.AssertMatch(feature, endpoint); + } + + // Some matchers will optimize for the ASCII case + [Theory] + [InlineData("/SÏmple", "/SÏmple")] + [InlineData("/ab\uD834\uDD1Ecd", "/ab\uD834\uDD1Ecd")] // surrogate pair + public virtual async Task Match_SingleLiteralSegment_Unicode(string template, string path) + { + // Arrange + var (matcher, endpoint) = CreateMatcher(template); + var (httpContext, feature) = CreateContext(path); + + // Act + await matcher.MatchAsync(httpContext, feature); + + // Assert + DispatcherAssert.AssertMatch(feature, endpoint); + } + + // Matchers should operate on the decoded representation - a matcher that calls + // `httpContext.Request.Path.ToString()` will break this test. + [Theory] + [InlineData("/S%mple", "/S%mple")] + [InlineData("/S\\imple", "/S\\imple")] // surrogate pair + public virtual async Task Match_SingleLiteralSegment_PercentEncoded(string template, string path) + { + // Arrange + var (matcher, endpoint) = CreateMatcher(template); + var (httpContext, feature) = CreateContext(path); + + // Act + await matcher.MatchAsync(httpContext, feature); + + // Assert + DispatcherAssert.AssertMatch(feature, endpoint); + } + + + [Theory] + [InlineData("/")] + [InlineData("/imple")] + [InlineData("/siple")] + [InlineData("/simple1")] + [InlineData("/simple/not-simple")] + [InlineData("/simple/a/b/c")] + public virtual async Task NotMatch_SingleLiteralSegment(string path) + { + // Arrange + var (matcher, endpoint) = CreateMatcher("/simple"); + var (httpContext, feature) = CreateContext(path); + + // Act + await matcher.MatchAsync(httpContext, feature); + + // Assert + DispatcherAssert.AssertNotMatch(feature); + } + [Theory] [InlineData("simple")] [InlineData("/simple")] [InlineData("~/simple")] - public virtual async Task Match_Sanitizies_TemplatePrefix(string template) + public virtual async Task Match_Sanitizies_Template(string template) { // Arrange var (matcher, endpoint) = CreateMatcher(template); @@ -44,6 +133,159 @@ namespace Microsoft.AspNetCore.Routing.Matchers DispatcherAssert.AssertMatch(feature, endpoint); } + // Matchers do their own 'splitting' of the path into segments, so including + // some extra variation here + [Theory] + [InlineData("/a/b", "/a/b")] + [InlineData("/a/b", "/A/B")] + [InlineData("/a/b", "/a/b/")] + [InlineData("/a/b/c", "/a/b/c")] + [InlineData("/a/b/c", "/a/b/c/")] + [InlineData("/a/b/c/d", "/a/b/c/d")] + [InlineData("/a/b/c/d", "/a/b/c/d/")] + public virtual async Task Match_MultipleLiteralSegments(string template, string path) + { + // Arrange + var (matcher, endpoint) = CreateMatcher(template); + var (httpContext, feature) = CreateContext(path); + + // Act + await matcher.MatchAsync(httpContext, feature); + + // Assert + DispatcherAssert.AssertMatch(feature, endpoint); + } + + // Matchers do their own 'splitting' of the path into segments, so including + // some extra variation here + [Theory] + [InlineData("/a/b", "/")] + [InlineData("/a/b", "/a")] + [InlineData("/a/b", "/a/")] + [InlineData("/a/b", "/a//")] + [InlineData("/a/b", "/aa/")] + [InlineData("/a/b", "/a/bb")] + [InlineData("/a/b", "/a/bb/")] + [InlineData("/a/b/c", "/aa/b/c")] + [InlineData("/a/b/c", "/a/bb/c/")] + [InlineData("/a/b/c", "/a/b/cab")] + [InlineData("/a/b/c", "/d/b/c/")] + [InlineData("/a/b/c", "//b/c")] + [InlineData("/a/b/c", "/a/b//")] + [InlineData("/a/b/c", "/a/b/c/d")] + [InlineData("/a/b/c", "/a/b/c/d/e")] + public virtual async Task NotMatch_MultipleLiteralSegments(string template, string path) + { + // Arrange + var (matcher, endpoint) = CreateMatcher(template); + var (httpContext, feature) = CreateContext(path); + + // Act + await matcher.MatchAsync(httpContext, feature); + + // Assert + DispatcherAssert.AssertNotMatch(feature); + } + + [Fact] + public virtual async Task Match_SingleParameter() + { + // Arrange + var (matcher, endpoint) = CreateMatcher("/{p}"); + var (httpContext, feature) = CreateContext("/14"); + var values = new RouteValueDictionary(new { p = "14", }); + + // Act + await matcher.MatchAsync(httpContext, feature); + + // Assert + DispatcherAssert.AssertMatch(feature, endpoint, values); + } + + [Fact] + public virtual async Task Match_SingleParameter_TrailingSlash() + { + // Arrange + var (matcher, endpoint) = CreateMatcher("/{p}"); + var (httpContext, feature) = CreateContext("/14/"); + var values = new RouteValueDictionary(new { p = "14", }); + + // Act + await matcher.MatchAsync(httpContext, feature); + + // Assert + DispatcherAssert.AssertMatch(feature, endpoint, values); + } + + [Theory] + [InlineData("/")] + [InlineData("/a/b")] + [InlineData("/a/b/c")] + [InlineData("//")] + public virtual async Task NotMatch_SingleParameter(string path) + { + // Arrange + var (matcher, endpoint) = CreateMatcher("/{p}"); + var (httpContext, feature) = CreateContext(path); + + // Act + await matcher.MatchAsync(httpContext, feature); + + // Assert + DispatcherAssert.AssertNotMatch(feature); + } + + [Theory] + [InlineData("/subscriptions/{subscriptionId}/providers/Microsoft.Insights/metricAlerts", "/subscriptions/foo/providers/Microsoft.Insights/metricAlerts", new string[] { "subscriptionId", }, new string[] { "foo", })] + [InlineData("/{a}/b", "/54/b", new string[] { "a", }, new string[] {"54", })] + [InlineData("/{a}/b", "/54/b/", new string[] { "a", }, new string[] { "54", })] + [InlineData("/{a}/{b}", "/54/73", new string[] { "a", "b" }, new string[] { "54", "73", })] + [InlineData("/a/{b}/c", "/a/b/c", new string[] { "b", }, new string[] { "b", })] + [InlineData("/a/{b}/c/", "/a/b/c", new string[] { "b", }, new string[] { "b", })] + [InlineData("/{a}/b/{c}", "/54/b/c", new string[] { "a", "c", }, new string[] { "54", "c", })] + [InlineData("/{a}/{b}/{c}", "/54/b/c", new string[] { "a", "b", "c", }, new string[] { "54", "b", "c", })] + public virtual async Task Match_MultipleParameters(string template, string path, string[] keys, string[] values) + { + // Arrange + var (matcher, endpoint) = CreateMatcher(template); + var (httpContext, feature) = CreateContext(path); + + // Act + await matcher.MatchAsync(httpContext, feature); + + // Assert + DispatcherAssert.AssertMatch(feature, endpoint, keys, values); + } + + [Theory] + [InlineData("/{a}/b", "/54/bb")] + [InlineData("/{a}/b", "/54/b/17")] + [InlineData("/{a}/b", "/54/b//")] + [InlineData("/{a}/{b}", "//73")] + [InlineData("/{a}/{b}", "/54//")] + [InlineData("/{a}/{b}", "/54/73/18")] + [InlineData("/a/{b}/c", "/aa/b/c")] + [InlineData("/a/{b}/c", "/a/b/cc")] + [InlineData("/a/{b}/c", "/a/b/c/d")] + [InlineData("/{a}/b/{c}", "/54/bb/c")] + [InlineData("/{a}/{b}/{c}", "/54/b/c/d")] + [InlineData("/{a}/{b}/{c}", "/54/b/c//")] + [InlineData("/{a}/{b}/{c}", "//b/c/")] + [InlineData("/{a}/{b}/{c}", "/54//c/")] + [InlineData("/{a}/{b}/{c}", "/54/b//")] + public virtual async Task NotMatch_MultipleParameters(string template, string path) + { + // Arrange + var (matcher, endpoint) = CreateMatcher(template); + var (httpContext, feature) = CreateContext(path); + + // Act + await matcher.MatchAsync(httpContext, feature); + + // Assert + DispatcherAssert.AssertNotMatch(feature); + } + internal static (HttpContext httpContext, IEndpointFeature feature) CreateContext(string path) { var httpContext = new DefaultHttpContext(); diff --git a/test/Microsoft.AspNetCore.Routing.Tests/Matchers/RouteMatcher.cs b/test/Microsoft.AspNetCore.Routing.Tests/Matchers/RouteMatcher.cs new file mode 100644 index 0000000000..eefbaa68b1 --- /dev/null +++ b/test/Microsoft.AspNetCore.Routing.Tests/Matchers/RouteMatcher.cs @@ -0,0 +1,43 @@ +// Copyright (c) .NET Foundation. All rights reserved. +// Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information. + +using System; +using System.Threading.Tasks; +using Microsoft.AspNetCore.Http; + +namespace Microsoft.AspNetCore.Routing.Matchers +{ + // This is an adapter to use Route in the conformance tests + internal class RouteMatcher : Matcher + { + private readonly RouteCollection _inner; + + internal RouteMatcher(RouteCollection inner) + { + _inner = inner; + } + + public async override Task MatchAsync(HttpContext httpContext, IEndpointFeature feature) + { + if (httpContext == null) + { + throw new ArgumentNullException(nameof(httpContext)); + } + + if (feature == null) + { + throw new ArgumentNullException(nameof(feature)); + } + + var context = new RouteContext(httpContext); + await _inner.RouteAsync(context); + + if (context.Handler != null) + { + feature.Values = context.RouteData.Values; + await context.Handler(httpContext); + } + } + } +} + diff --git a/test/Microsoft.AspNetCore.Routing.Tests/Matchers/RouteMatcherBuilder.cs b/test/Microsoft.AspNetCore.Routing.Tests/Matchers/RouteMatcherBuilder.cs new file mode 100644 index 0000000000..6b4e2e7ae3 --- /dev/null +++ b/test/Microsoft.AspNetCore.Routing.Tests/Matchers/RouteMatcherBuilder.cs @@ -0,0 +1,34 @@ +// Copyright (c) .NET Foundation. All rights reserved. +// Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information. + +using System.Threading.Tasks; +using Microsoft.Extensions.Options; + +namespace Microsoft.AspNetCore.Routing.Matchers +{ + internal class RouteMatcherBuilder : MatcherBuilder + { + private readonly RouteCollection _routes = new RouteCollection(); + private readonly IInlineConstraintResolver _constraintResolver; + + public RouteMatcherBuilder() + { + _constraintResolver = new DefaultInlineConstraintResolver(Options.Create(new RouteOptions())); + } + + public override void AddEndpoint(MatcherEndpoint endpoint) + { + var handler = new RouteHandler(c => + { + c.Features.Get().Endpoint = endpoint; + return Task.CompletedTask; + }); + _routes.Add(new Route(handler, endpoint.Template, _constraintResolver)); + } + + public override Matcher Build() + { + return new RouteMatcher(_routes); + } + } +} diff --git a/test/Microsoft.AspNetCore.Routing.Tests/Matchers/RouteMatcherConformanceTest.cs b/test/Microsoft.AspNetCore.Routing.Tests/Matchers/RouteMatcherConformanceTest.cs new file mode 100644 index 0000000000..998261445f --- /dev/null +++ b/test/Microsoft.AspNetCore.Routing.Tests/Matchers/RouteMatcherConformanceTest.cs @@ -0,0 +1,15 @@ +// Copyright (c) .NET Foundation. All rights reserved. +// Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information. + +namespace Microsoft.AspNetCore.Routing.Matchers +{ + public class RouteMatcherConformanceTest : MatcherConformanceTest + { + internal override Matcher CreateMatcher(MatcherEndpoint endpoint) + { + var builder = new RouteMatcherBuilder(); + builder.AddEndpoint(endpoint); + return builder.Build(); + } + } +} diff --git a/test/Microsoft.AspNetCore.Routing.Tests/Matchers/TreeRouterMatcher.cs b/test/Microsoft.AspNetCore.Routing.Tests/Matchers/TreeRouterMatcher.cs index 1cb70e611a..eab0bdc532 100644 --- a/test/Microsoft.AspNetCore.Routing.Tests/Matchers/TreeRouterMatcher.cs +++ b/test/Microsoft.AspNetCore.Routing.Tests/Matchers/TreeRouterMatcher.cs @@ -35,7 +35,7 @@ namespace Microsoft.AspNetCore.Routing.Matchers if (context.Handler != null) { - httpContext.Features.Get().Values = context.RouteData.Values; + feature.Values = context.RouteData.Values; await context.Handler(httpContext); } } diff --git a/test/Microsoft.AspNetCore.Routing.Tests/Matchers/TreeRouterMatcherBuilder.cs b/test/Microsoft.AspNetCore.Routing.Tests/Matchers/TreeRouterMatcherBuilder.cs new file mode 100644 index 0000000000..17a70d283a --- /dev/null +++ b/test/Microsoft.AspNetCore.Routing.Tests/Matchers/TreeRouterMatcherBuilder.cs @@ -0,0 +1,45 @@ +// Copyright (c) .NET Foundation. All rights reserved. +// Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information. + +using System.Threading.Tasks; +using Microsoft.AspNetCore.Routing.Internal; +using Microsoft.AspNetCore.Routing.Template; +using Microsoft.AspNetCore.Routing.Tree; +using Microsoft.Extensions.Logging.Abstractions; +using Microsoft.Extensions.ObjectPool; +using Microsoft.Extensions.Options; + +namespace Microsoft.AspNetCore.Routing.Matchers +{ + internal class TreeRouterMatcherBuilder : MatcherBuilder + { + private readonly TreeRouteBuilder _inner; + + public TreeRouterMatcherBuilder() + { + _inner = new TreeRouteBuilder( + NullLoggerFactory.Instance, + new DefaultObjectPool(new UriBuilderContextPooledObjectPolicy()), + new DefaultInlineConstraintResolver(Options.Create(new RouteOptions()))); + } + + public override void AddEndpoint(MatcherEndpoint endpoint) + { + var handler = new RouteHandler(c => + { + var feature = c.Features.Get(); + feature.Endpoint = endpoint; + feature.Invoker = MatcherEndpoint.EmptyInvoker; + + return Task.CompletedTask; + }); + + _inner.MapInbound(handler, TemplateParser.Parse(endpoint.Template), "default", 0); + } + + public override Matcher Build() + { + return new TreeRouterMatcher(_inner.Build()); + } + } +} diff --git a/test/Microsoft.AspNetCore.Routing.Tests/Matchers/TreeRouterMatcherConformanceTest.cs b/test/Microsoft.AspNetCore.Routing.Tests/Matchers/TreeRouterMatcherConformanceTest.cs index 45f04ad4ba..74b0be9f50 100644 --- a/test/Microsoft.AspNetCore.Routing.Tests/Matchers/TreeRouterMatcherConformanceTest.cs +++ b/test/Microsoft.AspNetCore.Routing.Tests/Matchers/TreeRouterMatcherConformanceTest.cs @@ -1,38 +1,15 @@ // Copyright (c) .NET Foundation. All rights reserved. // Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information. -using System.Threading.Tasks; -using Microsoft.AspNetCore.Routing.Internal; -using Microsoft.AspNetCore.Routing.Template; -using Microsoft.AspNetCore.Routing.Tree; -using Microsoft.Extensions.Logging.Abstractions; -using Microsoft.Extensions.ObjectPool; -using Microsoft.Extensions.Options; -using Xunit; - namespace Microsoft.AspNetCore.Routing.Matchers { public class TreeRouterMatcherConformanceTest : MatcherConformanceTest { internal override Matcher CreateMatcher(MatcherEndpoint endpoint) { - var builder = new TreeRouteBuilder( - NullLoggerFactory.Instance, - new DefaultObjectPool(new UriBuilderContextPooledObjectPolicy()), - new DefaultInlineConstraintResolver(Options.Create(new RouteOptions()))); - - var handler = new RouteHandler(c => - { - var feature = c.Features.Get(); - feature.Endpoint = endpoint; - feature.Invoker = MatcherEndpoint.EmptyInvoker; - - return Task.CompletedTask; - }); - - builder.MapInbound(handler, TemplateParser.Parse(endpoint.Template), "default", 0); - - return new TreeRouterMatcher(builder.Build()); + var builder = new TreeRouterMatcherBuilder(); + builder.AddEndpoint(endpoint); + return builder.Build(); } } } diff --git a/test/Microsoft.AspNetCore.Routing.Tests/Microsoft.AspNetCore.Routing.Tests.csproj b/test/Microsoft.AspNetCore.Routing.Tests/Microsoft.AspNetCore.Routing.Tests.csproj index afc33172aa..0a862d57d1 100644 --- a/test/Microsoft.AspNetCore.Routing.Tests/Microsoft.AspNetCore.Routing.Tests.csproj +++ b/test/Microsoft.AspNetCore.Routing.Tests/Microsoft.AspNetCore.Routing.Tests.csproj @@ -5,6 +5,10 @@ Microsoft.AspNetCore.Routing + + true + + From 5b8db03a57cfdb33b96b901167ffa63cfeac8442 Mon Sep 17 00:00:00 2001 From: Ryan Nowak Date: Fri, 15 Jun 2018 18:03:16 -0700 Subject: [PATCH 042/221] Fixing up a few small issues The instruction matcher was missing a few details, which made it faster than it should have been. Right now I'm trying to keep the design of these in sync. Once I fixed that it exposed a legitimate bug that was blocking the github benchmark. --- .../Matchers/AzureMatcherBenchmark.cs | 4 ---- .../Matchers/GithubMatcherBenchmark.cs | 1 + .../Matchers/InstructionMatcher.cs | 15 ++++++++------- .../Matchers/InstructionMatcherBuilder.cs | 2 +- 4 files changed, 10 insertions(+), 12 deletions(-) diff --git a/benchmarks/Microsoft.AspNetCore.Routing.Performance/Matchers/AzureMatcherBenchmark.cs b/benchmarks/Microsoft.AspNetCore.Routing.Performance/Matchers/AzureMatcherBenchmark.cs index 2289e8352b..5a5d9f0a44 100644 --- a/benchmarks/Microsoft.AspNetCore.Routing.Performance/Matchers/AzureMatcherBenchmark.cs +++ b/benchmarks/Microsoft.AspNetCore.Routing.Performance/Matchers/AzureMatcherBenchmark.cs @@ -61,10 +61,6 @@ namespace Microsoft.AspNetCore.Routing.Matchers for (var i = 0; i < SampleCount; i++) { var sample = _samples[i]; - if (sample == 805) - { - GC.KeepAlive(5); - } var httpContext = _requests[sample]; await _dfa.MatchAsync(httpContext, feature); Validate(httpContext, _endpoints[sample], feature.Endpoint); diff --git a/benchmarks/Microsoft.AspNetCore.Routing.Performance/Matchers/GithubMatcherBenchmark.cs b/benchmarks/Microsoft.AspNetCore.Routing.Performance/Matchers/GithubMatcherBenchmark.cs index 251ee99ed8..39f2fb3c45 100644 --- a/benchmarks/Microsoft.AspNetCore.Routing.Performance/Matchers/GithubMatcherBenchmark.cs +++ b/benchmarks/Microsoft.AspNetCore.Routing.Performance/Matchers/GithubMatcherBenchmark.cs @@ -1,6 +1,7 @@ // Copyright (c) .NET Foundation. All rights reserved. // Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information. +using System; using System.Threading.Tasks; using BenchmarkDotNet.Attributes; diff --git a/test/Microsoft.AspNetCore.Routing.Tests/Matchers/InstructionMatcher.cs b/test/Microsoft.AspNetCore.Routing.Tests/Matchers/InstructionMatcher.cs index e6f31396c2..4920b8781a 100644 --- a/test/Microsoft.AspNetCore.Routing.Tests/Matchers/InstructionMatcher.cs +++ b/test/Microsoft.AspNetCore.Routing.Tests/Matchers/InstructionMatcher.cs @@ -63,7 +63,7 @@ namespace Microsoft.AspNetCore.Routing.Matchers } var i = 0; - Candidate match = default(Candidate); + var candidates = new List(); while (i < state.Instructions.Length) { var instruction = state.Instructions[i]; @@ -73,7 +73,7 @@ namespace Microsoft.AspNetCore.Routing.Matchers { if (count == instruction.Depth) { - match = state.Candidates[instruction.Payload]; + candidates.Add(state.Candidates[instruction.Payload]); } i++; break; @@ -92,10 +92,11 @@ namespace Microsoft.AspNetCore.Routing.Matchers } } - if (match.Endpoint != null) + var matches = new List<(Endpoint, RouteValueDictionary)>(); + for (i = 0; i < candidates.Count; i++) { var values = new RouteValueDictionary(); - var parameters = match.Parameters; + var parameters = candidates[i].Parameters; if (parameters != null) { for (var j = 0; j < parameters.Length; j++) @@ -113,13 +114,13 @@ namespace Microsoft.AspNetCore.Routing.Matchers } } - feature.Endpoint = match.Endpoint; - feature.Values = values; + matches.Add((candidates[i].Endpoint, values)); notmatch:; } - + feature.Endpoint = matches.Count == 0 ? null : matches[0].Item1; + feature.Values = matches.Count == 0 ? null : matches[0].Item2; return Task.CompletedTask; } diff --git a/test/Microsoft.AspNetCore.Routing.Tests/Matchers/InstructionMatcherBuilder.cs b/test/Microsoft.AspNetCore.Routing.Tests/Matchers/InstructionMatcherBuilder.cs index c736cd612e..40476d5008 100644 --- a/test/Microsoft.AspNetCore.Routing.Tests/Matchers/InstructionMatcherBuilder.cs +++ b/test/Microsoft.AspNetCore.Routing.Tests/Matchers/InstructionMatcherBuilder.cs @@ -35,7 +35,7 @@ namespace Microsoft.AspNetCore.Routing.Matchers return comparison; } - comparison = y.Precedence.CompareTo(x.Precedence); + comparison = x.Precedence.CompareTo(y.Precedence); if (comparison != 0) { return comparison; From db95a8c6241f115bb7dde32db2f4355a195bb41b Mon Sep 17 00:00:00 2001 From: Ryan Nowak Date: Sat, 16 Jun 2018 16:23:14 -0700 Subject: [PATCH 043/221] Add more matcher tests This is a code dump of existing tests for TemplateMatcher and TreeRouter converted to the format of matcher conformance tests. Note that most of the new tests aren't yet supported by our experimental matchers, which don't support many of these advanced features. --- .../BarebonesMatcherConformanceTest.cs | 14 +- .../Matchers/DfaMatcherConformanceTest.cs | 27 +- .../Matchers/DispatcherAssert.cs | 37 +- .../FullFeaturedMatcherConformanceTest.cs | 437 ++++++++++++++++++ .../InstructionMatcherConformanceTest.cs | 11 +- ...MatcherConformanceTest.MultipleEndpoint.cs | 9 + .../MatcherConformanceTest.SingleEndpoint.cs | 314 +++++++++++++ .../Matchers/MatcherConformanceTest.cs | 290 +----------- .../Matchers/RouteMatcherBuilder.cs | 64 ++- .../Matchers/RouteMatcherConformanceTest.cs | 9 +- .../Matchers/TreeMatcherTests.cs | 2 +- .../Matchers/TreeRouterMatcherBuilder.cs | 21 +- .../TreeRouterMatcherConformanceTest.cs | 25 +- 13 files changed, 930 insertions(+), 330 deletions(-) create mode 100644 test/Microsoft.AspNetCore.Routing.Tests/Matchers/FullFeaturedMatcherConformanceTest.cs create mode 100644 test/Microsoft.AspNetCore.Routing.Tests/Matchers/MatcherConformanceTest.MultipleEndpoint.cs create mode 100644 test/Microsoft.AspNetCore.Routing.Tests/Matchers/MatcherConformanceTest.SingleEndpoint.cs diff --git a/test/Microsoft.AspNetCore.Routing.Tests/Matchers/BarebonesMatcherConformanceTest.cs b/test/Microsoft.AspNetCore.Routing.Tests/Matchers/BarebonesMatcherConformanceTest.cs index 5d3e7607d9..1e9584ec74 100644 --- a/test/Microsoft.AspNetCore.Routing.Tests/Matchers/BarebonesMatcherConformanceTest.cs +++ b/test/Microsoft.AspNetCore.Routing.Tests/Matchers/BarebonesMatcherConformanceTest.cs @@ -23,6 +23,13 @@ namespace Microsoft.AspNetCore.Routing.Matchers return Task.CompletedTask; } + // Route values not supported + [Fact] + public override Task Match_SingleParameter_WierdNames() + { + return Task.CompletedTask; + } + // Route values not supported [Theory] [InlineData(null, null, null, null)] @@ -32,10 +39,13 @@ namespace Microsoft.AspNetCore.Routing.Matchers return Task.CompletedTask; } - internal override Matcher CreateMatcher(MatcherEndpoint endpoint) + internal override Matcher CreateMatcher(params MatcherEndpoint[] endpoints) { var builder = new BarebonesMatcherBuilder(); - builder.AddEndpoint(endpoint); + for (int i = 0; i < endpoints.Length; i++) + { + builder.AddEndpoint(endpoints[i]); + } return builder.Build(); } } diff --git a/test/Microsoft.AspNetCore.Routing.Tests/Matchers/DfaMatcherConformanceTest.cs b/test/Microsoft.AspNetCore.Routing.Tests/Matchers/DfaMatcherConformanceTest.cs index b04389c5aa..07431ea51d 100644 --- a/test/Microsoft.AspNetCore.Routing.Tests/Matchers/DfaMatcherConformanceTest.cs +++ b/test/Microsoft.AspNetCore.Routing.Tests/Matchers/DfaMatcherConformanceTest.cs @@ -1,34 +1,17 @@ // Copyright (c) .NET Foundation. All rights reserved. // Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information. -using System; -using System.Threading.Tasks; -using Xunit; - namespace Microsoft.AspNetCore.Routing.Matchers { public class DfaMatcherConformanceTest : MatcherConformanceTest { - // Route values not supported - [Fact] - public override Task Match_SingleParameter_TrailingSlash() - { - return Task.CompletedTask; - } - - // Route values not supported - [Theory] - [InlineData(null, null, null, null)] - public override Task Match_MultipleParameters(string template, string path, string[] keys, string[] values) - { - GC.KeepAlive(new object[] { template, path, keys, values }); - return Task.CompletedTask; - } - - internal override Matcher CreateMatcher(MatcherEndpoint endpoint) + internal override Matcher CreateMatcher(params MatcherEndpoint[] endpoints) { var builder = new DfaMatcherBuilder(); - builder.AddEndpoint(endpoint); + for (int i = 0; i < endpoints.Length; i++) + { + builder.AddEndpoint(endpoints[i]); + } return builder.Build(); } } diff --git a/test/Microsoft.AspNetCore.Routing.Tests/Matchers/DispatcherAssert.cs b/test/Microsoft.AspNetCore.Routing.Tests/Matchers/DispatcherAssert.cs index 9103fd390e..58a5e05ded 100644 --- a/test/Microsoft.AspNetCore.Routing.Tests/Matchers/DispatcherAssert.cs +++ b/test/Microsoft.AspNetCore.Routing.Tests/Matchers/DispatcherAssert.cs @@ -1,6 +1,7 @@ // Copyright (c) .NET Foundation. All rights reserved. // Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information. +using System; using System.Collections.Generic; using System.Linq; using Xunit.Sdk; @@ -14,8 +15,21 @@ namespace Microsoft.AspNetCore.Routing.Matchers AssertMatch(feature, expected, new RouteValueDictionary()); } + public static void AssertMatch(IEndpointFeature feature, Endpoint expected, bool ignoreValues) + { + AssertMatch(feature, expected, new RouteValueDictionary(), ignoreValues); + } + + public static void AssertMatch(IEndpointFeature feature, Endpoint expected, object values) + { + AssertMatch(feature, expected, new RouteValueDictionary(values)); + } + public static void AssertMatch(IEndpointFeature feature, Endpoint expected, string[] keys, string[] values) { + keys = keys ?? Array.Empty(); + values = values ?? Array.Empty(); + if (keys.Length != values.Length) { throw new XunitException($"Keys and Values must be the same length."); @@ -25,7 +39,11 @@ namespace Microsoft.AspNetCore.Routing.Matchers AssertMatch(feature, expected, new RouteValueDictionary(zipped)); } - public static void AssertMatch(IEndpointFeature feature, Endpoint expected, RouteValueDictionary values) + public static void AssertMatch( + IEndpointFeature feature, + Endpoint expected, + RouteValueDictionary values, + bool ignoreValues = false) { if (feature.Endpoint == null) { @@ -44,14 +62,17 @@ namespace Microsoft.AspNetCore.Routing.Matchers $"'{feature.Endpoint.DisplayName}' with values: {FormatRouteValues(feature.Values)}."); } - // Note: this comparison is intended for unit testing, and is stricter than necessary to make tests - // more precise. Route value comparisons in product code are more flexible than a simple .Equals. - if (values.Count != feature.Values.Count || - !values.OrderBy(kvp => kvp.Key).SequenceEqual(feature.Values.OrderBy(kvp => kvp.Key))) + if (!ignoreValues) { - throw new XunitException( - $"Was expected to match '{expected.DisplayName}' with values {FormatRouteValues(values)} but matched " + - $"values: {FormatRouteValues(feature.Values)}."); + // Note: this comparison is intended for unit testing, and is stricter than necessary to make tests + // more precise. Route value comparisons in product code are more flexible than a simple .Equals. + if (values.Count != feature.Values.Count || + !values.OrderBy(kvp => kvp.Key).SequenceEqual(feature.Values.OrderBy(kvp => kvp.Key))) + { + throw new XunitException( + $"Was expected to match '{expected.DisplayName}' with values {FormatRouteValues(values)} but matched " + + $"values: {FormatRouteValues(feature.Values)}."); + } } } diff --git a/test/Microsoft.AspNetCore.Routing.Tests/Matchers/FullFeaturedMatcherConformanceTest.cs b/test/Microsoft.AspNetCore.Routing.Tests/Matchers/FullFeaturedMatcherConformanceTest.cs new file mode 100644 index 0000000000..a3fa0bee46 --- /dev/null +++ b/test/Microsoft.AspNetCore.Routing.Tests/Matchers/FullFeaturedMatcherConformanceTest.cs @@ -0,0 +1,437 @@ +// Copyright (c) .NET Foundation. All rights reserved. +// Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information. + +using System; +using System.Linq; +using System.Threading.Tasks; +using Xunit; + +namespace Microsoft.AspNetCore.Routing.Matchers +{ + // This class includes features that we have not yet implemented in the DFA + // and instruction matchers. + // + // As those matchers add features we can move tests from this class into + // MatcherConformanceTest and delete this. + public abstract class FullFeaturedMatcherConformanceTest : MatcherConformanceTest + { + [Theory] + [InlineData("/a/{b=15}", "/a/b", new string[] { "b", }, new string[] { "b", })] + [InlineData("/a/{b=15}", "/a/", new string[] { "b", }, new string[] { "15", })] + [InlineData("/a/{b=15}", "/a", new string[] { "b", }, new string[] { "15", })] + [InlineData("/{a}/{b=15}", "/54/b", new string[] { "a", "b", }, new string[] { "54", "b", })] + [InlineData("/{a=19}/{b=15}", "/54/b", new string[] { "a", "b", }, new string[] { "54", "b", })] + [InlineData("/{a=19}/{b=15}", "/54/", new string[] { "a", "b", }, new string[] { "54", "15", })] + [InlineData("/{a=19}/{b=15}", "/54", new string[] { "a", "b", }, new string[] { "54", "15", })] + [InlineData("/{a=19}/{b=15}", "/", new string[] { "a", "b", }, new string[] { "19", "15", })] + public virtual async Task Match_DefaultValues(string template, string path, string[] keys, string[] values) + { + // Arrange + var (matcher, endpoint) = CreateMatcher(template); + var (httpContext, feature) = CreateContext(path); + + // Act + await matcher.MatchAsync(httpContext, feature); + + // Assert + DispatcherAssert.AssertMatch(feature, endpoint, keys, values); + } + + [Fact] + public virtual async Task Match_NonInlineDefaultValues() + { + // Arrange + var endpoint = CreateEndpoint("/a/{b}/{c}", new { b = "17", c = "18", }); + var matcher = CreateMatcher(endpoint); + var (httpContext, feature) = CreateContext("/a"); + + // Act + await matcher.MatchAsync(httpContext, feature); + + // Assert + DispatcherAssert.AssertMatch(feature, endpoint, new { b = "17", c = "18", }); + } + + [Fact] + public virtual async Task Match_ExtraDefaultValues() + { + // Arrange + var endpoint = CreateEndpoint("/a/{b}/{c}", new { b = "17", c = "18", d = "19" }); + var matcher = CreateMatcher(endpoint); + var (httpContext, feature) = CreateContext("/a"); + + // Act + await matcher.MatchAsync(httpContext, feature); + + // Assert + DispatcherAssert.AssertMatch(feature, endpoint, new { b = "17", c = "18", d = "19" }); + } + + [Theory] + [InlineData("/a/{b=15}", "/54/b")] + [InlineData("/a/{b=15}", "/54/")] + [InlineData("/a/{b=15}", "/54")] + [InlineData("/a/{b=15}", "/a//")] + [InlineData("/a/{b=15}", "/54/43/23")] + [InlineData("/{a=19}/{b=15}", "/54/b/c")] + [InlineData("/a/{b=15}/c", "/a/b")] // Intermediate default values don't act like optional segments + [InlineData("a/{b=3}/c/{d?}/e/{*f}", "/a")] + [InlineData("a/{b=3}/c/{d?}/e/{*f}", "/a/b")] + [InlineData("a/{b=3}/c/{d?}/e/{*f}", "/a/b/c")] + [InlineData("a/{b=3}/c/{d?}/e/{*f}", "/a/b/c/d")] + public virtual async Task NotMatch_DefaultValues(string template, string path) + { + // Arrange + var (matcher, endpoint) = CreateMatcher(template); + var (httpContext, feature) = CreateContext(path); + + // Act + await matcher.MatchAsync(httpContext, feature); + + // Assert + DispatcherAssert.AssertNotMatch(feature); + } + + [Theory] + [InlineData("/{a?}/{b?}/{c?}", "/", null, null)] + [InlineData("/{a?}/{b?}/{c?}", "/a", new[] { "a", }, new[] { "a", })] + [InlineData("/{a?}/{b?}/{c?}", "/a/", new[] { "a", }, new[] { "a", })] + [InlineData("/{a?}/{b?}/{c?}", "/a/b", new[] { "a", "b", }, new[] { "a", "b", })] + [InlineData("/{a?}/{b?}/{c?}", "/a/b/", new[] { "a", "b", }, new[] { "a", "b", })] + [InlineData("/{a?}/{b?}/{c?}", "/a/b/c", new[] { "a", "b", "c", }, new[] { "a", "b", "c", })] + [InlineData("/{a?}/{b?}/{c?}", "/a/b/c/", new[] { "a", "b", "c", }, new[] { "a", "b", "c", })] + [InlineData("/{c}/{a?}", "/h/i", new[] { "c", "a", }, new[] { "h", "i", })] + [InlineData("/{c}/{a?}", "/h/", new[] { "c", }, new[] { "h", })] + [InlineData("/{c}/{a?}", "/h", new[] { "c", }, new[] { "h", })] + [InlineData("/{c?}/{a?}", "/", null, null)] + [InlineData("/{c}/{a?}/{id?}", "/h/i/18", new[] { "c", "a", "id", }, new[] { "h", "i", "18", })] + [InlineData("/{c}/{a?}/{id?}", "/h/i", new[] { "c", "a", }, new[] { "h", "i", })] + [InlineData("/{c}/{a?}/{id?}", "/h", new[] { "c", }, new[] { "h", })] + [InlineData("template/{p:int?}", "/template/5", new[] { "p", }, new[] { "5", })] + [InlineData("template/{p:int?}", "/template", null, null)] + [InlineData("a/{b=3}/c/{d?}/e/{*f}", "/a/b/c/d/e", new[] { "b", "d", "f" }, new[] { "b", "d", null, })] + [InlineData("a/{b=3}/c/{d?}/e/{*f}", "/a/b/c/d/e/f", new[] { "b", "d", "f", }, new[] { "b", "d", "f", })] + public virtual async Task Match_OptionalParameter(string template, string path, string[] keys, string[] values) + { + // Arrange + var (matcher, endpoint) = CreateMatcher(template); + var (httpContext, feature) = CreateContext(path); + + // Act + await matcher.MatchAsync(httpContext, feature); + + // Assert + DispatcherAssert.AssertMatch(feature, endpoint, keys, values); + } + + [Theory] + [InlineData("/{a?}/{b?}/{c?}", "///")] + [InlineData("/{a?}/{b?}/{c?}", "/a//")] + [InlineData("/{a?}/{b?}/{c?}", "/a/b//")] + [InlineData("/{a?}/{b?}/{c?}", "//b//")] + [InlineData("/{a?}/{b?}/{c?}", "///c")] + [InlineData("/{a?}/{b?}/{c?}", "///c/")] + [InlineData("/{a?}/{b?}/{c?}", "/a/b/c/d")] + [InlineData("/a/{b?}/{c?}", "/")] + [InlineData("template/{parameter:int?}", "/template/qwer")] + public virtual async Task NotMatch_OptionalParameter(string template, string path) + { + // Arrange + var (matcher, endpoint) = CreateMatcher(template); + var (httpContext, feature) = CreateContext(path); + + // Act + await matcher.MatchAsync(httpContext, feature); + + // Assert + DispatcherAssert.AssertNotMatch(feature); + } + + [Theory] + [InlineData("/{a}/{*b}", "/a", new[] { "a", "b", }, new[] { "a", null, })] + [InlineData("/{a}/{*b}", "/a/", new[] { "a", "b", }, new[] { "a", null, })] + [InlineData("/{a}/{*b=b}", "/a", new[] { "a", "b", }, new[] { "a", "b", })] + [InlineData("/{a}/{*b=b}", "/a/", new[] { "a", "b", }, new[] { "a", "b", })] + [InlineData("/{a}/{*b=b}", "/a/hello", new[] { "a", "b", }, new[] { "a", "hello", })] + [InlineData("/{a}/{*b=b}", "/a/hello/goodbye", new[] { "a", "b", }, new[] { "a", "hello/goodbye", })] + [InlineData("/{a}/{*b=b}", "/a/b//", new[] { "a", "b", }, new[] { "a", "b//", })] + [InlineData("/{a}/{*b=b}", "/a/b/c/", new[] { "a", "b", }, new[] { "a", "b/c/", })] + [InlineData("/{a=1}/{b=2}/{c=3}/{d=4}", "/a/b/c", new[] { "a", "b", "c", "d", }, new[] { "a", "b", "c", "4", })] + [InlineData("a/{*path:regex(10/20/30)}", "/a/10/20/30", new[] { "path", }, new[] { "10/20/30" })] + public virtual async Task Match_CatchAllParameter(string template, string path, string[] keys, string[] values) + { + // Arrange + var (matcher, endpoint) = CreateMatcher(template); + var (httpContext, feature) = CreateContext(path); + + // Act + await matcher.MatchAsync(httpContext, feature); + + // Assert + DispatcherAssert.AssertMatch(feature, endpoint, keys, values); + } + + [Theory] + [InlineData("/{a}/{*b=b}", "/a///")] + [InlineData("/{a}/{*b=b}", "/a//c/")] + public virtual async Task NotMatch_CatchAllParameter(string template, string path) + { + // Arrange + var (matcher, endpoint) = CreateMatcher(template); + var (httpContext, feature) = CreateContext(path); + + // Act + await matcher.MatchAsync(httpContext, feature); + + // Assert + DispatcherAssert.AssertNotMatch(feature); + } + + [Theory] + [InlineData("{p}x{s}", "/xxxxxxxxxx", new[] { "p", "s" }, new[] { "xxxxxxxx", "x", })] + [InlineData("{p}xyz{s}", "/xxxxyzxyzxxxxxxyz", new[] { "p", "s" }, new[] { "xxxxyz", "xxxxxxyz", })] + [InlineData("{p}xyz{s}", "/abcxxxxyzxyzxxxxxxyzxx", new[] { "p", "s" }, new[] { "abcxxxxyzxyzxxxxx", "xx", })] + [InlineData("{p}xyz{s}", "/xyzxyzxyzxyzxyz", new[] { "p", "s" }, new[] { "xyzxyzxyz", "xyz", })] + [InlineData("{p}xyz{s}", "/xyzxyzxyzxyzxyz1", new[] { "p", "s" }, new[] { "xyzxyzxyzxyz", "1", })] + [InlineData("{p}xyz{s}", "/xyzxyzxyz", new[] { "p", "s" }, new[] { "xyz", "xyz", })] + [InlineData("{p}aa{s}", "/aaaaa", new[] { "p", "s" }, new[] { "aa", "a", })] + [InlineData("{p}aaa{s}", "/aaaaa", new[] { "p", "s" }, new[] { "a", "a", })] + [InlineData("language/{lang=en}-{region=US}", "/language/xx-yy", new[] { "lang", "region" }, new[] { "xx", "yy", })] + [InlineData("language/{lang}-{region}", "/language/en-US", new[] { "lang", "region" }, new[] { "en", "US", })] + [InlineData("language/{lang}-{region}a", "/language/en-USa", new[] { "lang", "region" }, new[] { "en", "US", })] + [InlineData("language/a{lang}-{region}", "/language/aen-US", new[] { "lang", "region" }, new[] { "en", "US", })] + [InlineData("language/a{lang}-{region}a", "/language/aen-USa", new[] { "lang", "region" }, new[] { "en", "US", })] + [InlineData("language/{lang}-", "/language/en-", new[] { "lang", }, new[] { "en", })] + [InlineData("language/a{lang}", "/language/aen", new[] { "lang", }, new[] { "en", })] + [InlineData("language/a{lang}a", "/language/aena", new[] { "lang", }, new[] { "en", })] + public virtual async Task Match_ComplexSegment(string template, string path, string[] keys, string[] values) + { + // Arrange + var (matcher, endpoint) = CreateMatcher(template); + var (httpContext, feature) = CreateContext(path); + + // Act + await matcher.MatchAsync(httpContext, feature); + + // Assert + DispatcherAssert.AssertMatch(feature, endpoint, keys, values); + } + + [Theory] + [InlineData("language/a{lang}-{region}a", "/language/a-USa")] + [InlineData("language/a{lang}-{region}a", "/language/aen-a")] + [InlineData("language/{lang=en}-{region=US}", "/language")] + [InlineData("language/{lang=en}-{region=US}", "/language/-")] + [InlineData("language/{lang=en}-{region=US}", "/language/xx-")] + [InlineData("language/{lang=en}-{region=US}", "/language/-xx")] + public virtual async Task NotMatch_ComplexSegment(string template, string path) + { + // Arrange + var (matcher, endpoint) = CreateMatcher(template); + var (httpContext, feature) = CreateContext(path); + + // Act + await matcher.MatchAsync(httpContext, feature); + + // Assert + DispatcherAssert.AssertNotMatch(feature); + } + + [Theory] + [InlineData("moo/{p1}.{p2?}", "/moo/foo.bar", new[] { "p1", "p2", }, new[] { "foo", "bar" })] + [InlineData("moo/{p1}.{p2?}", "/moo/foo", new[] { "p1", }, new[] { "foo", })] + [InlineData("moo/{p1}.{p2?}", "/moo/.foo", new[] { "p1", }, new[] { ".foo", })] + [InlineData("moo/{p1}.{p2?}", "/moo/foo..bar", new[] { "p1", "p2", }, new[] { "foo.", "bar" })] + [InlineData("moo/{p1}.{p2?}", "/moo/foo.moo.bar", new[] { "p1", "p2", }, new[] { "foo.moo", "bar" })] + [InlineData("moo/foo.{p1}.{p2?}", "/moo/foo.moo", new[] { "p1", }, new[] { "moo", })] + [InlineData("moo/foo.{p1}.{p2?}", "/moo/foo.foo.bar", new[] { "p1", "p2", }, new[] { "foo", "bar" })] + [InlineData("moo/.{p2?}", "/moo/.foo", new[] { "p2", }, new[] { "foo", })] + [InlineData("moo/{p1}.{p2}.{p3?}", "/moo/foo.moo.bar", new[] { "p1", "p2", "p3" }, new[] { "foo", "moo", "bar" })] + [InlineData("moo/{p1}.{p2}.{p3?}", "/moo/foo.moo", new[] { "p1", "p2", }, new[] { "foo", "moo" })] + [InlineData("moo/{p1}.{p2}.{p3}.{p4?}", "/moo/foo.moo.bar", new[] { "p1", "p2", "p3" }, new[] { "foo", "moo", "bar" })] + [InlineData("{p1}.{p2?}/{p3}", "/foo.moo/bar", new[] { "p1", "p2", "p3" }, new[] { "foo", "moo", "bar" })] + [InlineData("{p1}.{p2?}/{p3}", "/foo/bar", new[] { "p1", "p3" }, new[] { "foo", "bar" })] + [InlineData("{p1}.{p2?}/{p3}", "/.foo/bar", new[] { "p1", "p3" }, new[] { ".foo", "bar" })] + [InlineData("{p1}/{p2}/{p3?}", "/foo/bar/baz", new[] { "p1", "p2", "p3" }, new[] { "foo", "bar", "baz" })] + public virtual async Task Match_OptionalSeparator(string template, string path, string[] keys, string[] values) + { + // Arrange + var (matcher, endpoint) = CreateMatcher(template); + var (httpContext, feature) = CreateContext(path); + + // Act + await matcher.MatchAsync(httpContext, feature); + + // Assert + DispatcherAssert.AssertMatch(feature, endpoint, keys, values); + } + + [Theory] + [InlineData("moo/{p1}.{p2?}", "/moo/foo.")] + [InlineData("moo/{p1}.{p2?}", "/moo/.")] + [InlineData("moo/{p1}.{p2}", "/foo.")] + [InlineData("moo/{p1}.{p2}", "/foo")] + [InlineData("moo/{p1}.{p2}.{p3?}", "/moo/foo.moo.")] + [InlineData("moo/foo.{p2}.{p3?}", "/moo/bar.foo.moo")] + [InlineData("moo/foo.{p2}.{p3?}", "/moo/kungfoo.moo.bar")] + [InlineData("moo/foo.{p2}.{p3?}", "/moo/kungfoo.moo")] + [InlineData("moo/{p1}.{p2}.{p3?}", "/moo/foo")] + [InlineData("{p1}.{p2?}/{p3}", "/foo./bar")] + [InlineData("moo/.{p2?}", "/moo/.")] + [InlineData("{p1}.{p2}/{p3}", "/.foo/bar")] + public virtual async Task NotMatch_OptionalSeparator(string template, string path) + { + // Arrange + var (matcher, endpoint) = CreateMatcher(template); + var (httpContext, feature) = CreateContext(path); + + // Act + await matcher.MatchAsync(httpContext, feature); + + // Assert + DispatcherAssert.AssertNotMatch(feature); + } + + // Most of are copied from old routing tests that date back to the VS 2010 era. Enjoy! + [Theory] + [InlineData("{Controller}.mvc/../{action}", "/Home.mvc/../index", new string[] { "Controller", "action" }, new string[] { "Home", "index" })] + [InlineData("{Controller}.mvc/.../{action}", "/Home.mvc/.../index", new string[] { "Controller", "action" }, new string[] { "Home", "index" })] + [InlineData("{Controller}.mvc/../../../{action}", "/Home.mvc/../../../index", new string[] { "Controller", "action" }, new string[] { "Home", "index" })] + [InlineData("{Controller}.mvc!/{action}", "/Home.mvc!/index", new string[] { "Controller", "action" }, new string[] { "Home", "index" })] + [InlineData("../{Controller}.mvc", "/../Home.mvc", new string[] { "Controller", }, new string[] { "Home", })] + [InlineData(@"\{Controller}.mvc", @"/\Home.mvc", new string[] { "Controller", }, new string[] { "Home", })] + [InlineData(@"{Controller}.mvc\{id}\{Param1}", @"/Home.mvc\123\p1", new string[] { "Controller", "id", "Param1" }, new string[] { "Home", "123", "p1" })] + [InlineData("(Controller).mvc", "/(Controller).mvc", new string[] { }, new string[] { })] + [InlineData("Controller.mvc/ ", "/Controller.mvc/ ", new string[] { }, new string[] { })] + [InlineData("Controller.mvc ", "/Controller.mvc ", new string[] { }, new string[] { })] + public virtual async Task Match_WierdCharacterCases(string template, string path, string[] keys, string[] values) + { + // Arrange + var (matcher, endpoint) = CreateMatcher(template); + var (httpContext, feature) = CreateContext(path); + + // Act + await matcher.MatchAsync(httpContext, feature); + + // Assert + DispatcherAssert.AssertMatch(feature, endpoint, keys, values); + } + + [Theory] + [InlineData("template/5", "template/{parameter:int}")] + [InlineData("template/5", "template/{parameter}")] + [InlineData("template/5", "template/{*parameter:int}")] + [InlineData("template/5", "template/{*parameter}")] + [InlineData("template/{parameter}", "template/{parameter:alpha}")] // constraint doesn't match + [InlineData("template/{parameter:int}", "template/{parameter}")] + [InlineData("template/{parameter:int}", "template/{*parameter:int}")] + [InlineData("template/{parameter:int}", "template/{*parameter}")] + [InlineData("template/{parameter}", "template/{*parameter:int}")] + [InlineData("template/{parameter}", "template/{*parameter}")] + [InlineData("template/{*parameter:int}", "template/{*parameter}")] + public virtual async Task Match_SelectEndpoint_BasedOnPrecedence(string template1, string template2) + { + // Arrange + var expected = CreateEndpoint(template1); + var other = CreateEndpoint(template2); + var path = "/template/5"; + + // Arrange + var matcher = CreateMatcher(other, expected); + var (httpContext, feature) = CreateContext(path); + + // Act + await matcher.MatchAsync(httpContext, feature); + + // Assert + DispatcherAssert.AssertMatch(feature, expected, ignoreValues: true); + } + + [Theory] + [InlineData("template/5", "template/{parameter:int}")] + [InlineData("template/5", "template/{parameter}")] + [InlineData("template/5", "template/{*parameter:int}")] + [InlineData("template/5", "template/{*parameter}")] + [InlineData("template/{parameter:int}", "template/{parameter}")] + [InlineData("template/{parameter:int}", "template/{*parameter:int}")] + [InlineData("template/{parameter:int}", "template/{*parameter}")] + [InlineData("template/{parameter}", "template/{*parameter:int}")] + [InlineData("template/{parameter}", "template/{*parameter}")] + [InlineData("template/{*parameter:int}", "template/{*parameter}")] + [InlineData("template/5", "template/5")] + [InlineData("template/{parameter:int}", "template/{parameter:int}")] + [InlineData("template/{parameter}", "template/{parameter}")] + [InlineData("template/{*parameter:int}", "template/{*parameter:int}")] + [InlineData("template/{*parameter}", "template/{*parameter}")] + public virtual async Task Match_SelectEndpoint_BasedOnOrder(string template1, string template2) + { + // Arrange + var expected = CreateEndpoint(template1, order: 0); + var other = CreateEndpoint(template2, order: 1); + var path = "/template/5"; + + // Arrange + var matcher = CreateMatcher(other, expected); + var (httpContext, feature) = CreateContext(path); + + // Act + await matcher.MatchAsync(httpContext, feature); + + // Assert + DispatcherAssert.AssertMatch(feature, expected, ignoreValues: true); + } + + [Theory] + [InlineData("/", "")] + [InlineData("/Literal1", "Literal1")] + [InlineData("/Literal1/Literal2", "Literal1/Literal2")] + [InlineData("/Literal1/Literal2/Literal3", "Literal1/Literal2/Literal3")] + [InlineData("/Literal1/Literal2/Literal3/4", "Literal1/Literal2/Literal3/{*constrainedCatchAll:int}")] + [InlineData("/Literal1/Literal2/Literal3/Literal4", "Literal1/Literal2/Literal3/{*catchAll}")] + [InlineData("/1", "{constrained1:int}")] + [InlineData("/1/2", "{constrained1:int}/{constrained2:int}")] + [InlineData("/1/2/3", "{constrained1:int}/{constrained2:int}/{constrained3:int}")] + [InlineData("/1/2/3/4", "{constrained1:int}/{constrained2:int}/{constrained3:int}/{*constrainedCatchAll:int}")] + [InlineData("/1/2/3/CatchAll4", "{constrained1:int}/{constrained2:int}/{constrained3:int}/{*catchAll}")] + [InlineData("/parameter1", "{parameter1}")] + [InlineData("/parameter1/parameter2", "{parameter1}/{parameter2}")] + [InlineData("/parameter1/parameter2/parameter3", "{parameter1}/{parameter2}/{parameter3}")] + [InlineData("/parameter1/parameter2/parameter3/4", "{parameter1}/{parameter2}/{parameter3}/{*constrainedCatchAll:int}")] + [InlineData("/parameter1/parameter2/parameter3/CatchAll4", "{parameter1}/{parameter2}/{parameter3}/{*catchAll}")] + public virtual async Task Match_IntegrationTest_MultipleEndpoints(string path, string expectedTemplate) + { + // Arrange + var templates = new[] + { + "", + "Literal1", + "Literal1/Literal2", + "Literal1/Literal2/Literal3", + "Literal1/Literal2/Literal3/{*constrainedCatchAll:int}", + "Literal1/Literal2/Literal3/{*catchAll}", + "{constrained1:int}", + "{constrained1:int}/{constrained2:int}", + "{constrained1:int}/{constrained2:int}/{constrained3:int}", + "{constrained1:int}/{constrained2:int}/{constrained3:int}/{*constrainedCatchAll:int}", + "{constrained1:int}/{constrained2:int}/{constrained3:int}/{*catchAll}", + "{parameter1}", + "{parameter1}/{parameter2}", + "{parameter1}/{parameter2}/{parameter3}", + "{parameter1}/{parameter2}/{parameter3}/{*constrainedCatchAll:int}", + "{parameter1}/{parameter2}/{parameter3}/{*catchAll}", + }; + + var endpoints = templates.Select((t) => CreateEndpoint(t)).ToArray(); + var expected = endpoints[Array.IndexOf(templates, expectedTemplate)]; + + var matcher = CreateMatcher(endpoints); + var (httpContext, feature) = CreateContext(path); + + // Act + await matcher.MatchAsync(httpContext, feature); + + // Assert + DispatcherAssert.AssertMatch(feature, expected, ignoreValues: true); + } + } +} diff --git a/test/Microsoft.AspNetCore.Routing.Tests/Matchers/InstructionMatcherConformanceTest.cs b/test/Microsoft.AspNetCore.Routing.Tests/Matchers/InstructionMatcherConformanceTest.cs index 1fe8c45eec..65a902ff58 100644 --- a/test/Microsoft.AspNetCore.Routing.Tests/Matchers/InstructionMatcherConformanceTest.cs +++ b/test/Microsoft.AspNetCore.Routing.Tests/Matchers/InstructionMatcherConformanceTest.cs @@ -1,18 +1,17 @@ // Copyright (c) .NET Foundation. All rights reserved. // Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information. -using System; -using System.Threading.Tasks; -using Xunit; - namespace Microsoft.AspNetCore.Routing.Matchers { public class InstructionMatcherConformanceTest : MatcherConformanceTest { - internal override Matcher CreateMatcher(MatcherEndpoint endpoint) + internal override Matcher CreateMatcher(params MatcherEndpoint[] endpoints) { var builder = new InstructionMatcherBuilder(); - builder.AddEndpoint(endpoint); + for (int i = 0; i < endpoints.Length; i++) + { + builder.AddEndpoint(endpoints[i]); + } return builder.Build(); } } diff --git a/test/Microsoft.AspNetCore.Routing.Tests/Matchers/MatcherConformanceTest.MultipleEndpoint.cs b/test/Microsoft.AspNetCore.Routing.Tests/Matchers/MatcherConformanceTest.MultipleEndpoint.cs new file mode 100644 index 0000000000..0784a2ebb5 --- /dev/null +++ b/test/Microsoft.AspNetCore.Routing.Tests/Matchers/MatcherConformanceTest.MultipleEndpoint.cs @@ -0,0 +1,9 @@ +// Copyright (c) .NET Foundation. All rights reserved. +// Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information. + +namespace Microsoft.AspNetCore.Routing.Matchers +{ + public abstract partial class MatcherConformanceTest + { + } +} diff --git a/test/Microsoft.AspNetCore.Routing.Tests/Matchers/MatcherConformanceTest.SingleEndpoint.cs b/test/Microsoft.AspNetCore.Routing.Tests/Matchers/MatcherConformanceTest.SingleEndpoint.cs new file mode 100644 index 0000000000..58fa2d9282 --- /dev/null +++ b/test/Microsoft.AspNetCore.Routing.Tests/Matchers/MatcherConformanceTest.SingleEndpoint.cs @@ -0,0 +1,314 @@ +// Copyright (c) .NET Foundation. All rights reserved. +// Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information. + +using System.Threading.Tasks; +using Xunit; + +namespace Microsoft.AspNetCore.Routing.Matchers +{ + public abstract partial class MatcherConformanceTest + { + [Fact] + public virtual async Task Match_EmptyRoute() + { + // Arrange + var (matcher, endpoint) = CreateMatcher("/"); + var (httpContext, feature) = CreateContext("/"); + + // Act + await matcher.MatchAsync(httpContext, feature); + + // Assert + DispatcherAssert.AssertMatch(feature, endpoint); + } + + [Fact] + public virtual async Task Match_SingleLiteralSegment() + { + // Arrange + var (matcher, endpoint) = CreateMatcher("/simple"); + var (httpContext, feature) = CreateContext("/simple"); + + // Act + await matcher.MatchAsync(httpContext, feature); + + // Assert + DispatcherAssert.AssertMatch(feature, endpoint); + } + + [Fact] + public virtual async Task Match_SingleLiteralSegment_TrailingSlash() + { + // Arrange + var (matcher, endpoint) = CreateMatcher("/simple"); + var (httpContext, feature) = CreateContext("/simple/"); + + // Act + await matcher.MatchAsync(httpContext, feature); + + // Assert + DispatcherAssert.AssertMatch(feature, endpoint); + } + + [Theory] + [InlineData("/simple")] + [InlineData("/sImpLe")] + [InlineData("/SIMPLE")] + public virtual async Task Match_SingleLiteralSegment_CaseInsensitive(string path) + { + // Arrange + var (matcher, endpoint) = CreateMatcher("/Simple"); + var (httpContext, feature) = CreateContext(path); + + // Act + await matcher.MatchAsync(httpContext, feature); + + // Assert + DispatcherAssert.AssertMatch(feature, endpoint); + } + + // Some matchers will optimize for the ASCII case + [Theory] + [InlineData("/SÏmple", "/SÏmple")] + [InlineData("/ab\uD834\uDD1Ecd", "/ab\uD834\uDD1Ecd")] // surrogate pair + public virtual async Task Match_SingleLiteralSegment_Unicode(string template, string path) + { + // Arrange + var (matcher, endpoint) = CreateMatcher(template); + var (httpContext, feature) = CreateContext(path); + + // Act + await matcher.MatchAsync(httpContext, feature); + + // Assert + DispatcherAssert.AssertMatch(feature, endpoint); + } + + // Matchers should operate on the decoded representation - a matcher that calls + // `httpContext.Request.Path.ToString()` will break this test. + [Theory] + [InlineData("/S%mple", "/S%mple")] + [InlineData("/S\\imple", "/S\\imple")] // surrogate pair + public virtual async Task Match_SingleLiteralSegment_PercentEncoded(string template, string path) + { + // Arrange + var (matcher, endpoint) = CreateMatcher(template); + var (httpContext, feature) = CreateContext(path); + + // Act + await matcher.MatchAsync(httpContext, feature); + + // Assert + DispatcherAssert.AssertMatch(feature, endpoint); + } + + [Theory] + [InlineData("/")] + [InlineData("/imple")] + [InlineData("/siple")] + [InlineData("/simple1")] + [InlineData("/simple/not-simple")] + [InlineData("/simple/a/b/c")] + public virtual async Task NotMatch_SingleLiteralSegment(string path) + { + // Arrange + var (matcher, endpoint) = CreateMatcher("/simple"); + var (httpContext, feature) = CreateContext(path); + + // Act + await matcher.MatchAsync(httpContext, feature); + + // Assert + DispatcherAssert.AssertNotMatch(feature); + } + + [Theory] + [InlineData("simple")] + [InlineData("/simple")] + [InlineData("~/simple")] + public virtual async Task Match_Sanitizies_Template(string template) + { + // Arrange + var (matcher, endpoint) = CreateMatcher(template); + var (httpContext, feature) = CreateContext("/simple"); + + // Act + await matcher.MatchAsync(httpContext, feature); + + // Assert + DispatcherAssert.AssertMatch(feature, endpoint); + } + + // Matchers do their own 'splitting' of the path into segments, so including + // some extra variation here + [Theory] + [InlineData("/a/b", "/a/b")] + [InlineData("/a/b", "/A/B")] + [InlineData("/a/b", "/a/b/")] + [InlineData("/a/b/c", "/a/b/c")] + [InlineData("/a/b/c", "/a/b/c/")] + [InlineData("/a/b/c/d", "/a/b/c/d")] + [InlineData("/a/b/c/d", "/a/b/c/d/")] + public virtual async Task Match_MultipleLiteralSegments(string template, string path) + { + // Arrange + var (matcher, endpoint) = CreateMatcher(template); + var (httpContext, feature) = CreateContext(path); + + // Act + await matcher.MatchAsync(httpContext, feature); + + // Assert + DispatcherAssert.AssertMatch(feature, endpoint); + } + + // Matchers do their own 'splitting' of the path into segments, so including + // some extra variation here + [Theory] + [InlineData("/a/b", "/")] + [InlineData("/a/b", "/a")] + [InlineData("/a/b", "/a/")] + [InlineData("/a/b", "/a//")] + [InlineData("/a/b", "/aa/")] + [InlineData("/a/b", "/a/bb")] + [InlineData("/a/b", "/a/bb/")] + [InlineData("/a/b/c", "/aa/b/c")] + [InlineData("/a/b/c", "/a/bb/c/")] + [InlineData("/a/b/c", "/a/b/cab")] + [InlineData("/a/b/c", "/d/b/c/")] + [InlineData("/a/b/c", "//b/c")] + [InlineData("/a/b/c", "/a/b//")] + [InlineData("/a/b/c", "/a/b/c/d")] + [InlineData("/a/b/c", "/a/b/c/d/e")] + public virtual async Task NotMatch_MultipleLiteralSegments(string template, string path) + { + // Arrange + var (matcher, endpoint) = CreateMatcher(template); + var (httpContext, feature) = CreateContext(path); + + // Act + await matcher.MatchAsync(httpContext, feature); + + // Assert + DispatcherAssert.AssertNotMatch(feature); + } + + [Fact] + public virtual async Task Match_SingleParameter() + { + // Arrange + var (matcher, endpoint) = CreateMatcher("/{p}"); + var (httpContext, feature) = CreateContext("/14"); + var values = new RouteValueDictionary(new { p = "14", }); + + // Act + await matcher.MatchAsync(httpContext, feature); + + // Assert + DispatcherAssert.AssertMatch(feature, endpoint, values); + } + + [Fact] + public virtual async Task Match_SingleParameter_TrailingSlash() + { + // Arrange + var (matcher, endpoint) = CreateMatcher("/{p}"); + var (httpContext, feature) = CreateContext("/14/"); + var values = new RouteValueDictionary(new { p = "14", }); + + // Act + await matcher.MatchAsync(httpContext, feature); + + // Assert + DispatcherAssert.AssertMatch(feature, endpoint, values); + } + + [Fact] + public virtual async Task Match_SingleParameter_WierdNames() + { + // Arrange + var (matcher, endpoint) = CreateMatcher("/foo/{ }/{.!$%}/{dynamic.data}"); + var (httpContext, feature) = CreateContext("/foo/space/weirdmatch/matcherid"); + var values = new RouteValueDictionary() + { + { " ", "space" }, + { ".!$%", "weirdmatch" }, + { "dynamic.data", "matcherid" }, + }; + + // Act + await matcher.MatchAsync(httpContext, feature); + + // Assert + DispatcherAssert.AssertMatch(feature, endpoint, values); + } + + [Theory] + [InlineData("/")] + [InlineData("/a/b")] + [InlineData("/a/b/c")] + [InlineData("//")] + public virtual async Task NotMatch_SingleParameter(string path) + { + // Arrange + var (matcher, endpoint) = CreateMatcher("/{p}"); + var (httpContext, feature) = CreateContext(path); + + // Act + await matcher.MatchAsync(httpContext, feature); + + // Assert + DispatcherAssert.AssertNotMatch(feature); + } + + [Theory] + [InlineData("/{a}/b", "/54/b", new string[] { "a", }, new string[] { "54", })] + [InlineData("/{a}/b", "/54/b/", new string[] { "a", }, new string[] { "54", })] + [InlineData("/{a}/{b}", "/54/73", new string[] { "a", "b" }, new string[] { "54", "73", })] + [InlineData("/a/{b}/c", "/a/b/c", new string[] { "b", }, new string[] { "b", })] + [InlineData("/a/{b}/c/", "/a/b/c", new string[] { "b", }, new string[] { "b", })] + [InlineData("/{a}/b/{c}", "/54/b/c", new string[] { "a", "c", }, new string[] { "54", "c", })] + [InlineData("/{a}/{b}/{c}", "/54/b/c", new string[] { "a", "b", "c", }, new string[] { "54", "b", "c", })] + public virtual async Task Match_MultipleParameters(string template, string path, string[] keys, string[] values) + { + // Arrange + var (matcher, endpoint) = CreateMatcher(template); + var (httpContext, feature) = CreateContext(path); + + // Act + await matcher.MatchAsync(httpContext, feature); + + // Assert + DispatcherAssert.AssertMatch(feature, endpoint, keys, values); + } + + [Theory] + [InlineData("/{a}/b", "/54/bb")] + [InlineData("/{a}/b", "/54/b/17")] + [InlineData("/{a}/b", "/54/b//")] + [InlineData("/{a}/{b}", "//73")] + [InlineData("/{a}/{b}", "/54//")] + [InlineData("/{a}/{b}", "/54/73/18")] + [InlineData("/a/{b}/c", "/aa/b/c")] + [InlineData("/a/{b}/c", "/a/b/cc")] + [InlineData("/a/{b}/c", "/a/b/c/d")] + [InlineData("/{a}/b/{c}", "/54/bb/c")] + [InlineData("/{a}/{b}/{c}", "/54/b/c/d")] + [InlineData("/{a}/{b}/{c}", "/54/b/c//")] + [InlineData("/{a}/{b}/{c}", "//b/c/")] + [InlineData("/{a}/{b}/{c}", "/54//c/")] + [InlineData("/{a}/{b}/{c}", "/54/b//")] + public virtual async Task NotMatch_MultipleParameters(string template, string path) + { + // Arrange + var (matcher, endpoint) = CreateMatcher(template); + var (httpContext, feature) = CreateContext(path); + + // Act + await matcher.MatchAsync(httpContext, feature); + + // Assert + DispatcherAssert.AssertNotMatch(feature); + } + } +} diff --git a/test/Microsoft.AspNetCore.Routing.Tests/Matchers/MatcherConformanceTest.cs b/test/Microsoft.AspNetCore.Routing.Tests/Matchers/MatcherConformanceTest.cs index d9de0ddaee..eb331a328a 100644 --- a/test/Microsoft.AspNetCore.Routing.Tests/Matchers/MatcherConformanceTest.cs +++ b/test/Microsoft.AspNetCore.Routing.Tests/Matchers/MatcherConformanceTest.cs @@ -2,289 +2,14 @@ // Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information. using System; -using System.Collections.Generic; -using System.Linq; -using System.Threading.Tasks; using Microsoft.AspNetCore.Http; using Microsoft.Extensions.DependencyInjection; -using Xunit; namespace Microsoft.AspNetCore.Routing.Matchers { - public abstract class MatcherConformanceTest + public abstract partial class MatcherConformanceTest { - internal abstract Matcher CreateMatcher(MatcherEndpoint endpoint); - - [Fact] - public virtual async Task Match_SingleLiteralSegment() - { - // Arrange - var (matcher, endpoint) = CreateMatcher("/simple"); - var (httpContext, feature) = CreateContext("/simple"); - - // Act - await matcher.MatchAsync(httpContext, feature); - - // Assert - DispatcherAssert.AssertMatch(feature, endpoint); - } - - [Fact] - public virtual async Task Match_SingleLiteralSegment_TrailingSlash() - { - // Arrange - var (matcher, endpoint) = CreateMatcher("/simple"); - var (httpContext, feature) = CreateContext("/simple/"); - - // Act - await matcher.MatchAsync(httpContext, feature); - - // Assert - DispatcherAssert.AssertMatch(feature, endpoint); - } - - [Theory] - [InlineData("/simple")] - [InlineData("/sImpLe")] - [InlineData("/SIMPLE")] - public virtual async Task Match_SingleLiteralSegment_CaseInsensitive(string path) - { - // Arrange - var (matcher, endpoint) = CreateMatcher("/Simple"); - var (httpContext, feature) = CreateContext(path); - - // Act - await matcher.MatchAsync(httpContext, feature); - - // Assert - DispatcherAssert.AssertMatch(feature, endpoint); - } - - // Some matchers will optimize for the ASCII case - [Theory] - [InlineData("/SÏmple", "/SÏmple")] - [InlineData("/ab\uD834\uDD1Ecd", "/ab\uD834\uDD1Ecd")] // surrogate pair - public virtual async Task Match_SingleLiteralSegment_Unicode(string template, string path) - { - // Arrange - var (matcher, endpoint) = CreateMatcher(template); - var (httpContext, feature) = CreateContext(path); - - // Act - await matcher.MatchAsync(httpContext, feature); - - // Assert - DispatcherAssert.AssertMatch(feature, endpoint); - } - - // Matchers should operate on the decoded representation - a matcher that calls - // `httpContext.Request.Path.ToString()` will break this test. - [Theory] - [InlineData("/S%mple", "/S%mple")] - [InlineData("/S\\imple", "/S\\imple")] // surrogate pair - public virtual async Task Match_SingleLiteralSegment_PercentEncoded(string template, string path) - { - // Arrange - var (matcher, endpoint) = CreateMatcher(template); - var (httpContext, feature) = CreateContext(path); - - // Act - await matcher.MatchAsync(httpContext, feature); - - // Assert - DispatcherAssert.AssertMatch(feature, endpoint); - } - - - [Theory] - [InlineData("/")] - [InlineData("/imple")] - [InlineData("/siple")] - [InlineData("/simple1")] - [InlineData("/simple/not-simple")] - [InlineData("/simple/a/b/c")] - public virtual async Task NotMatch_SingleLiteralSegment(string path) - { - // Arrange - var (matcher, endpoint) = CreateMatcher("/simple"); - var (httpContext, feature) = CreateContext(path); - - // Act - await matcher.MatchAsync(httpContext, feature); - - // Assert - DispatcherAssert.AssertNotMatch(feature); - } - - [Theory] - [InlineData("simple")] - [InlineData("/simple")] - [InlineData("~/simple")] - public virtual async Task Match_Sanitizies_Template(string template) - { - // Arrange - var (matcher, endpoint) = CreateMatcher(template); - var (httpContext, feature) = CreateContext("/simple"); - - // Act - await matcher.MatchAsync(httpContext, feature); - - // Assert - DispatcherAssert.AssertMatch(feature, endpoint); - } - - // Matchers do their own 'splitting' of the path into segments, so including - // some extra variation here - [Theory] - [InlineData("/a/b", "/a/b")] - [InlineData("/a/b", "/A/B")] - [InlineData("/a/b", "/a/b/")] - [InlineData("/a/b/c", "/a/b/c")] - [InlineData("/a/b/c", "/a/b/c/")] - [InlineData("/a/b/c/d", "/a/b/c/d")] - [InlineData("/a/b/c/d", "/a/b/c/d/")] - public virtual async Task Match_MultipleLiteralSegments(string template, string path) - { - // Arrange - var (matcher, endpoint) = CreateMatcher(template); - var (httpContext, feature) = CreateContext(path); - - // Act - await matcher.MatchAsync(httpContext, feature); - - // Assert - DispatcherAssert.AssertMatch(feature, endpoint); - } - - // Matchers do their own 'splitting' of the path into segments, so including - // some extra variation here - [Theory] - [InlineData("/a/b", "/")] - [InlineData("/a/b", "/a")] - [InlineData("/a/b", "/a/")] - [InlineData("/a/b", "/a//")] - [InlineData("/a/b", "/aa/")] - [InlineData("/a/b", "/a/bb")] - [InlineData("/a/b", "/a/bb/")] - [InlineData("/a/b/c", "/aa/b/c")] - [InlineData("/a/b/c", "/a/bb/c/")] - [InlineData("/a/b/c", "/a/b/cab")] - [InlineData("/a/b/c", "/d/b/c/")] - [InlineData("/a/b/c", "//b/c")] - [InlineData("/a/b/c", "/a/b//")] - [InlineData("/a/b/c", "/a/b/c/d")] - [InlineData("/a/b/c", "/a/b/c/d/e")] - public virtual async Task NotMatch_MultipleLiteralSegments(string template, string path) - { - // Arrange - var (matcher, endpoint) = CreateMatcher(template); - var (httpContext, feature) = CreateContext(path); - - // Act - await matcher.MatchAsync(httpContext, feature); - - // Assert - DispatcherAssert.AssertNotMatch(feature); - } - - [Fact] - public virtual async Task Match_SingleParameter() - { - // Arrange - var (matcher, endpoint) = CreateMatcher("/{p}"); - var (httpContext, feature) = CreateContext("/14"); - var values = new RouteValueDictionary(new { p = "14", }); - - // Act - await matcher.MatchAsync(httpContext, feature); - - // Assert - DispatcherAssert.AssertMatch(feature, endpoint, values); - } - - [Fact] - public virtual async Task Match_SingleParameter_TrailingSlash() - { - // Arrange - var (matcher, endpoint) = CreateMatcher("/{p}"); - var (httpContext, feature) = CreateContext("/14/"); - var values = new RouteValueDictionary(new { p = "14", }); - - // Act - await matcher.MatchAsync(httpContext, feature); - - // Assert - DispatcherAssert.AssertMatch(feature, endpoint, values); - } - - [Theory] - [InlineData("/")] - [InlineData("/a/b")] - [InlineData("/a/b/c")] - [InlineData("//")] - public virtual async Task NotMatch_SingleParameter(string path) - { - // Arrange - var (matcher, endpoint) = CreateMatcher("/{p}"); - var (httpContext, feature) = CreateContext(path); - - // Act - await matcher.MatchAsync(httpContext, feature); - - // Assert - DispatcherAssert.AssertNotMatch(feature); - } - - [Theory] - [InlineData("/subscriptions/{subscriptionId}/providers/Microsoft.Insights/metricAlerts", "/subscriptions/foo/providers/Microsoft.Insights/metricAlerts", new string[] { "subscriptionId", }, new string[] { "foo", })] - [InlineData("/{a}/b", "/54/b", new string[] { "a", }, new string[] {"54", })] - [InlineData("/{a}/b", "/54/b/", new string[] { "a", }, new string[] { "54", })] - [InlineData("/{a}/{b}", "/54/73", new string[] { "a", "b" }, new string[] { "54", "73", })] - [InlineData("/a/{b}/c", "/a/b/c", new string[] { "b", }, new string[] { "b", })] - [InlineData("/a/{b}/c/", "/a/b/c", new string[] { "b", }, new string[] { "b", })] - [InlineData("/{a}/b/{c}", "/54/b/c", new string[] { "a", "c", }, new string[] { "54", "c", })] - [InlineData("/{a}/{b}/{c}", "/54/b/c", new string[] { "a", "b", "c", }, new string[] { "54", "b", "c", })] - public virtual async Task Match_MultipleParameters(string template, string path, string[] keys, string[] values) - { - // Arrange - var (matcher, endpoint) = CreateMatcher(template); - var (httpContext, feature) = CreateContext(path); - - // Act - await matcher.MatchAsync(httpContext, feature); - - // Assert - DispatcherAssert.AssertMatch(feature, endpoint, keys, values); - } - - [Theory] - [InlineData("/{a}/b", "/54/bb")] - [InlineData("/{a}/b", "/54/b/17")] - [InlineData("/{a}/b", "/54/b//")] - [InlineData("/{a}/{b}", "//73")] - [InlineData("/{a}/{b}", "/54//")] - [InlineData("/{a}/{b}", "/54/73/18")] - [InlineData("/a/{b}/c", "/aa/b/c")] - [InlineData("/a/{b}/c", "/a/b/cc")] - [InlineData("/a/{b}/c", "/a/b/c/d")] - [InlineData("/{a}/b/{c}", "/54/bb/c")] - [InlineData("/{a}/{b}/{c}", "/54/b/c/d")] - [InlineData("/{a}/{b}/{c}", "/54/b/c//")] - [InlineData("/{a}/{b}/{c}", "//b/c/")] - [InlineData("/{a}/{b}/{c}", "/54//c/")] - [InlineData("/{a}/{b}/{c}", "/54/b//")] - public virtual async Task NotMatch_MultipleParameters(string template, string path) - { - // Arrange - var (matcher, endpoint) = CreateMatcher(template); - var (httpContext, feature) = CreateContext(path); - - // Act - await matcher.MatchAsync(httpContext, feature); - - // Assert - DispatcherAssert.AssertNotMatch(feature); - } + internal abstract Matcher CreateMatcher(params MatcherEndpoint[] endpoints); internal static (HttpContext httpContext, IEndpointFeature feature) CreateContext(string path) { @@ -307,14 +32,17 @@ namespace Microsoft.AspNetCore.Routing.Matchers return services.BuildServiceProvider(); } - internal static MatcherEndpoint CreateEndpoint(string template) + internal static MatcherEndpoint CreateEndpoint( + string template, + object defaults = null, + int? order = null) { return new MatcherEndpoint( MatcherEndpoint.EmptyInvoker, template, - null, - 0, - EndpointMetadataCollection.Empty, + defaults, + order ?? 0, + EndpointMetadataCollection.Empty, "endpoint: " + template, address: null); } diff --git a/test/Microsoft.AspNetCore.Routing.Tests/Matchers/RouteMatcherBuilder.cs b/test/Microsoft.AspNetCore.Routing.Tests/Matchers/RouteMatcherBuilder.cs index 6b4e2e7ae3..e411d69647 100644 --- a/test/Microsoft.AspNetCore.Routing.Tests/Matchers/RouteMatcherBuilder.cs +++ b/test/Microsoft.AspNetCore.Routing.Tests/Matchers/RouteMatcherBuilder.cs @@ -1,19 +1,23 @@ // Copyright (c) .NET Foundation. All rights reserved. // Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information. +using System; +using System.Collections.Generic; using System.Threading.Tasks; +using Microsoft.AspNetCore.Routing.Template; using Microsoft.Extensions.Options; namespace Microsoft.AspNetCore.Routing.Matchers { internal class RouteMatcherBuilder : MatcherBuilder { - private readonly RouteCollection _routes = new RouteCollection(); private readonly IInlineConstraintResolver _constraintResolver; + private readonly List _entries; public RouteMatcherBuilder() { _constraintResolver = new DefaultInlineConstraintResolver(Options.Create(new RouteOptions())); + _entries = new List(); } public override void AddEndpoint(MatcherEndpoint endpoint) @@ -23,12 +27,66 @@ namespace Microsoft.AspNetCore.Routing.Matchers c.Features.Get().Endpoint = endpoint; return Task.CompletedTask; }); - _routes.Add(new Route(handler, endpoint.Template, _constraintResolver)); + + // MatcherEndpoint.Values contains the default values parsed from the template + // as well as those specified with a literal. We need to separate those + // for legacy cases. + var defaults = new RouteValueDictionary(endpoint.Values); + for (var i = 0; i < endpoint.ParsedTemlate.Parameters.Count; i++) + { + var parameter = endpoint.ParsedTemlate.Parameters[i]; + if (parameter.DefaultValue != null) + { + defaults.Remove(parameter.Name); + } + } + + _entries.Add(new Entry() + { + Endpoint = endpoint, + Route = new Route( + handler, + endpoint.Template, + defaults, + new Dictionary(), + new RouteValueDictionary(), + _constraintResolver), + }); } public override Matcher Build() { - return new RouteMatcher(_routes); + _entries.Sort(); + var routes = new RouteCollection(); + for (var i = 0; i < _entries.Count; i++) + { + routes.Add(_entries[i].Route); + } + + return new RouteMatcher(routes); + } + + private struct Entry : IComparable + { + public MatcherEndpoint Endpoint; + public Route Route; + + public int CompareTo(Entry other) + { + var comparison = Endpoint.Order.CompareTo(other.Endpoint.Order); + if (comparison != 0) + { + return comparison; + } + + comparison = RoutePrecedence.ComputeInbound(Endpoint.ParsedTemlate).CompareTo(RoutePrecedence.ComputeInbound(other.Endpoint.ParsedTemlate)); + if (comparison != 0) + { + return comparison; + } + + return Endpoint.Template.CompareTo(other.Endpoint.Template); + } } } } diff --git a/test/Microsoft.AspNetCore.Routing.Tests/Matchers/RouteMatcherConformanceTest.cs b/test/Microsoft.AspNetCore.Routing.Tests/Matchers/RouteMatcherConformanceTest.cs index 998261445f..68589c36c4 100644 --- a/test/Microsoft.AspNetCore.Routing.Tests/Matchers/RouteMatcherConformanceTest.cs +++ b/test/Microsoft.AspNetCore.Routing.Tests/Matchers/RouteMatcherConformanceTest.cs @@ -3,12 +3,15 @@ namespace Microsoft.AspNetCore.Routing.Matchers { - public class RouteMatcherConformanceTest : MatcherConformanceTest + public class RouteMatcherConformanceTest : FullFeaturedMatcherConformanceTest { - internal override Matcher CreateMatcher(MatcherEndpoint endpoint) + internal override Matcher CreateMatcher(params MatcherEndpoint[] endpoints) { var builder = new RouteMatcherBuilder(); - builder.AddEndpoint(endpoint); + for (int i = 0; i < endpoints.Length; i++) + { + builder.AddEndpoint(endpoints[i]); + } return builder.Build(); } } diff --git a/test/Microsoft.AspNetCore.Routing.Tests/Matchers/TreeMatcherTests.cs b/test/Microsoft.AspNetCore.Routing.Tests/Matchers/TreeMatcherTests.cs index a08e68ede7..c876adf739 100644 --- a/test/Microsoft.AspNetCore.Routing.Tests/Matchers/TreeMatcherTests.cs +++ b/test/Microsoft.AspNetCore.Routing.Tests/Matchers/TreeMatcherTests.cs @@ -88,6 +88,6 @@ namespace Microsoft.AspNetCore.Routing.Matchers // Assert Assert.Equal(endpointWithConstraint, endpointFeature.Endpoint); + } } } -} diff --git a/test/Microsoft.AspNetCore.Routing.Tests/Matchers/TreeRouterMatcherBuilder.cs b/test/Microsoft.AspNetCore.Routing.Tests/Matchers/TreeRouterMatcherBuilder.cs index 17a70d283a..50f6e5ace3 100644 --- a/test/Microsoft.AspNetCore.Routing.Tests/Matchers/TreeRouterMatcherBuilder.cs +++ b/test/Microsoft.AspNetCore.Routing.Tests/Matchers/TreeRouterMatcherBuilder.cs @@ -1,6 +1,7 @@ // Copyright (c) .NET Foundation. All rights reserved. // Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information. +using System; using System.Threading.Tasks; using Microsoft.AspNetCore.Routing.Internal; using Microsoft.AspNetCore.Routing.Template; @@ -34,7 +35,25 @@ namespace Microsoft.AspNetCore.Routing.Matchers return Task.CompletedTask; }); - _inner.MapInbound(handler, TemplateParser.Parse(endpoint.Template), "default", 0); + // MatcherEndpoint.Values contains the default values parsed from the template + // as well as those specified with a literal. We need to separate those + // for legacy cases. + var defaults = new RouteValueDictionary(endpoint.Values); + for (var i = 0; i < endpoint.ParsedTemlate.Parameters.Count; i++) + { + var parameter = endpoint.ParsedTemlate.Parameters[i]; + if (parameter.DefaultValue == null && defaults.ContainsKey(parameter.Name)) + { + throw new InvalidOperationException( + "The TreeRouter does not support non-inline default values."); + } + } + + _inner.MapInbound( + handler, + endpoint.ParsedTemlate, + routeName: null, + order: endpoint.Order); } public override Matcher Build() diff --git a/test/Microsoft.AspNetCore.Routing.Tests/Matchers/TreeRouterMatcherConformanceTest.cs b/test/Microsoft.AspNetCore.Routing.Tests/Matchers/TreeRouterMatcherConformanceTest.cs index 74b0be9f50..1771cf269f 100644 --- a/test/Microsoft.AspNetCore.Routing.Tests/Matchers/TreeRouterMatcherConformanceTest.cs +++ b/test/Microsoft.AspNetCore.Routing.Tests/Matchers/TreeRouterMatcherConformanceTest.cs @@ -1,14 +1,33 @@ // Copyright (c) .NET Foundation. All rights reserved. // Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information. +using System.Threading.Tasks; +using Xunit; + namespace Microsoft.AspNetCore.Routing.Matchers { - public class TreeRouterMatcherConformanceTest : MatcherConformanceTest + public class TreeRouterMatcherConformanceTest : FullFeaturedMatcherConformanceTest { - internal override Matcher CreateMatcher(MatcherEndpoint endpoint) + // TreeRouter doesn't support non-inline default values. + [Fact] + public override Task Match_NonInlineDefaultValues() + { + return Task.CompletedTask; + } + + // TreeRouter doesn't support non-inline default values. + [Fact] + public override Task Match_ExtraDefaultValues() + { + return Task.CompletedTask; + } + internal override Matcher CreateMatcher(params MatcherEndpoint[] endpoints) { var builder = new TreeRouterMatcherBuilder(); - builder.AddEndpoint(endpoint); + for (var i = 0; i < endpoints.Length; i++) + { + builder.AddEndpoint(endpoints[i]); + } return builder.Build(); } } From 6efd679ce3693940d696070093a4c505cd172181 Mon Sep 17 00:00:00 2001 From: James Newton-King Date: Fri, 22 Jun 2018 10:33:44 +1200 Subject: [PATCH 044/221] Fix TreeMatcher with route constraints (#576) --- .../Matchers/TreeMatcher.cs | 15 +++++- .../BarebonesMatcherConformanceTest.cs | 7 +++ .../MatcherConformanceTest.SingleEndpoint.cs | 15 ++++++ .../Matchers/TreeMatcherTests.cs | 46 +++++++++++++++++++ .../TreeRouterMatcherConformanceTest.cs | 1 + 5 files changed, 83 insertions(+), 1 deletion(-) diff --git a/src/Microsoft.AspNetCore.Routing/Matchers/TreeMatcher.cs b/src/Microsoft.AspNetCore.Routing/Matchers/TreeMatcher.cs index 24149d0fa0..fe887569ae 100644 --- a/src/Microsoft.AspNetCore.Routing/Matchers/TreeMatcher.cs +++ b/src/Microsoft.AspNetCore.Routing/Matchers/TreeMatcher.cs @@ -130,7 +130,7 @@ namespace Microsoft.AspNetCore.Routing.Matchers foreach (var kvp in constraints) { var constraint = kvp.Value; - if (!constraint.Match(httpContext, null, kvp.Key, values, RouteDirection.IncomingRequest)) + if (!constraint.Match(httpContext, new DummyRouter(), kvp.Key, values, RouteDirection.IncomingRequest)) { values.TryGetValue(kvp.Key, out var value); @@ -143,6 +143,19 @@ namespace Microsoft.AspNetCore.Routing.Matchers return true; } + private class DummyRouter : IRouter + { + public VirtualPathData GetVirtualPath(VirtualPathContext context) + { + throw new NotImplementedException(); + } + + public Task RouteAsync(RouteContext context) + { + return Task.CompletedTask; + } + } + private void SelectEndpoint(HttpContext httpContext, IEndpointFeature feature, IReadOnlyList endpoints) { var endpoint = (MatcherEndpoint)_endpointSelector.SelectBestCandidate(httpContext, endpoints); diff --git a/test/Microsoft.AspNetCore.Routing.Tests/Matchers/BarebonesMatcherConformanceTest.cs b/test/Microsoft.AspNetCore.Routing.Tests/Matchers/BarebonesMatcherConformanceTest.cs index 1e9584ec74..cc5d8768fb 100644 --- a/test/Microsoft.AspNetCore.Routing.Tests/Matchers/BarebonesMatcherConformanceTest.cs +++ b/test/Microsoft.AspNetCore.Routing.Tests/Matchers/BarebonesMatcherConformanceTest.cs @@ -39,6 +39,13 @@ namespace Microsoft.AspNetCore.Routing.Matchers return Task.CompletedTask; } + // Route constraints not supported + [Fact] + public override Task Match_Constraint() + { + return Task.CompletedTask; + } + internal override Matcher CreateMatcher(params MatcherEndpoint[] endpoints) { var builder = new BarebonesMatcherBuilder(); diff --git a/test/Microsoft.AspNetCore.Routing.Tests/Matchers/MatcherConformanceTest.SingleEndpoint.cs b/test/Microsoft.AspNetCore.Routing.Tests/Matchers/MatcherConformanceTest.SingleEndpoint.cs index 58fa2d9282..529dfdacb6 100644 --- a/test/Microsoft.AspNetCore.Routing.Tests/Matchers/MatcherConformanceTest.SingleEndpoint.cs +++ b/test/Microsoft.AspNetCore.Routing.Tests/Matchers/MatcherConformanceTest.SingleEndpoint.cs @@ -208,6 +208,21 @@ namespace Microsoft.AspNetCore.Routing.Matchers DispatcherAssert.AssertMatch(feature, endpoint, values); } + [Fact] + public virtual async Task Match_Constraint() + { + // Arrange + var (matcher, endpoint) = CreateMatcher("/{p:int}"); + var (httpContext, feature) = CreateContext("/14"); + var values = new RouteValueDictionary(new { p = "14", }); + + // Act + await matcher.MatchAsync(httpContext, feature); + + // Assert + DispatcherAssert.AssertMatch(feature, endpoint, values); + } + [Fact] public virtual async Task Match_SingleParameter_TrailingSlash() { diff --git a/test/Microsoft.AspNetCore.Routing.Tests/Matchers/TreeMatcherTests.cs b/test/Microsoft.AspNetCore.Routing.Tests/Matchers/TreeMatcherTests.cs index c876adf739..c21a90dfda 100644 --- a/test/Microsoft.AspNetCore.Routing.Tests/Matchers/TreeMatcherTests.cs +++ b/test/Microsoft.AspNetCore.Routing.Tests/Matchers/TreeMatcherTests.cs @@ -32,6 +32,52 @@ namespace Microsoft.AspNetCore.Routing.Matchers return new TreeMatcher(defaultInlineConstraintResolver, NullLogger.Instance, endpointDataSource, endpointSelector); } + [Fact] + public async Task MatchAsync_ValidRouteConstraint_EndpointMatched() + { + // Arrange + var endpointDataSource = new DefaultEndpointDataSource(new List + { + CreateEndpoint("/{p:int}", 0) + }); + + var treeMatcher = CreateTreeMatcher(endpointDataSource); + + var httpContext = new DefaultHttpContext(); + httpContext.Request.Path = "/1"; + + var endpointFeature = new EndpointFeature(); + + // Act + await treeMatcher.MatchAsync(httpContext, endpointFeature); + + // Assert + Assert.NotNull(endpointFeature.Endpoint); + } + + [Fact] + public async Task MatchAsync_InvalidRouteConstraint_NoEndpointMatched() + { + // Arrange + var endpointDataSource = new DefaultEndpointDataSource(new List + { + CreateEndpoint("/{p:int}", 0) + }); + + var treeMatcher = CreateTreeMatcher(endpointDataSource); + + var httpContext = new DefaultHttpContext(); + httpContext.Request.Path = "/One"; + + var endpointFeature = new EndpointFeature(); + + // Act + await treeMatcher.MatchAsync(httpContext, endpointFeature); + + // Assert + Assert.Null(endpointFeature.Endpoint); + } + [Fact] public async Task MatchAsync_DuplicateTemplatesAndDifferentOrder_LowerOrderEndpointMatched() { diff --git a/test/Microsoft.AspNetCore.Routing.Tests/Matchers/TreeRouterMatcherConformanceTest.cs b/test/Microsoft.AspNetCore.Routing.Tests/Matchers/TreeRouterMatcherConformanceTest.cs index 1771cf269f..238a68f294 100644 --- a/test/Microsoft.AspNetCore.Routing.Tests/Matchers/TreeRouterMatcherConformanceTest.cs +++ b/test/Microsoft.AspNetCore.Routing.Tests/Matchers/TreeRouterMatcherConformanceTest.cs @@ -21,6 +21,7 @@ namespace Microsoft.AspNetCore.Routing.Matchers { return Task.CompletedTask; } + internal override Matcher CreateMatcher(params MatcherEndpoint[] endpoints) { var builder = new TreeRouterMatcherBuilder(); From 30fcfb65eaa61ed6bb566dabf9a337a761df034f Mon Sep 17 00:00:00 2001 From: Ryan Nowak Date: Sat, 16 Jun 2018 17:20:28 -0700 Subject: [PATCH 045/221] Productionize Path tokenization --- .../FastPathTokenizerBenchmarkBase.cs | 34 +++++ .../FastPathTokenizerEmptyBenchmark.cs | 32 +++++ .../FastPathTokenizerLargeBenchmark.cs | 36 ++++++ .../FastPathTokenizerPlaintextBenchmark.cs | 32 +++++ .../FastPathTokenizerSmallBenchmark.cs | 32 +++++ ...soft.AspNetCore.Routing.Performance.csproj | 3 +- .../Matchers/FastPathTokenizer.cs | 40 ++++++ .../Matchers/PathSegment.cs | 39 ++++++ .../Microsoft.AspNetCore.Routing.csproj | 1 + .../Matchers/DfaMatcher.cs | 51 ++------ .../Matchers/FastPathTokenizerTest.cs | 117 ++++++++++++++++++ .../Matchers/InstructionMatcher.cs | 34 +---- 12 files changed, 380 insertions(+), 71 deletions(-) create mode 100644 benchmarks/Microsoft.AspNetCore.Routing.Performance/Matchers/FastPathTokenizerBenchmarkBase.cs create mode 100644 benchmarks/Microsoft.AspNetCore.Routing.Performance/Matchers/FastPathTokenizerEmptyBenchmark.cs create mode 100644 benchmarks/Microsoft.AspNetCore.Routing.Performance/Matchers/FastPathTokenizerLargeBenchmark.cs create mode 100644 benchmarks/Microsoft.AspNetCore.Routing.Performance/Matchers/FastPathTokenizerPlaintextBenchmark.cs create mode 100644 benchmarks/Microsoft.AspNetCore.Routing.Performance/Matchers/FastPathTokenizerSmallBenchmark.cs create mode 100644 src/Microsoft.AspNetCore.Routing/Matchers/FastPathTokenizer.cs create mode 100644 src/Microsoft.AspNetCore.Routing/Matchers/PathSegment.cs create mode 100644 test/Microsoft.AspNetCore.Routing.Tests/Matchers/FastPathTokenizerTest.cs diff --git a/benchmarks/Microsoft.AspNetCore.Routing.Performance/Matchers/FastPathTokenizerBenchmarkBase.cs b/benchmarks/Microsoft.AspNetCore.Routing.Performance/Matchers/FastPathTokenizerBenchmarkBase.cs new file mode 100644 index 0000000000..8f27db6c60 --- /dev/null +++ b/benchmarks/Microsoft.AspNetCore.Routing.Performance/Matchers/FastPathTokenizerBenchmarkBase.cs @@ -0,0 +1,34 @@ +// Copyright (c) .NET Foundation. All rights reserved. +// Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information. + +namespace Microsoft.AspNetCore.Routing.Matchers +{ + public abstract class FastPathTokenizerBenchmarkBase + { + internal unsafe void NaiveBaseline(string path, PathSegment * segments, int maxCount) + { + int count = 0; + int start = 1; // Paths always start with a leading / + int end; + while ((end = path.IndexOf('/', start)) >= 0 && count < maxCount) + { + segments[count++] = new PathSegment(start, end - start); + start = end + 1; // resume search after the current character + } + + // Residue + var length = path.Length - start; + if (length > 0 && count < maxCount) + { + segments[count++] = new PathSegment(start, length); + } + } + + internal unsafe void MinimalBaseline(string path, PathSegment* segments, int maxCount) + { + var start = 1; + var length = path.Length - start; + segments[0] = new PathSegment(start, length); + } + } +} diff --git a/benchmarks/Microsoft.AspNetCore.Routing.Performance/Matchers/FastPathTokenizerEmptyBenchmark.cs b/benchmarks/Microsoft.AspNetCore.Routing.Performance/Matchers/FastPathTokenizerEmptyBenchmark.cs new file mode 100644 index 0000000000..f637e565eb --- /dev/null +++ b/benchmarks/Microsoft.AspNetCore.Routing.Performance/Matchers/FastPathTokenizerEmptyBenchmark.cs @@ -0,0 +1,32 @@ +// Copyright (c) .NET Foundation. All rights reserved. +// Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information. + +using BenchmarkDotNet.Attributes; + +namespace Microsoft.AspNetCore.Routing.Matchers +{ + public class FastPathTokenizerEmptyBenchmark : FastPathTokenizerBenchmarkBase + { + private const int MaxCount = 32; + private static readonly string Input = "/"; + + // This is super hardcoded implementation for comparison, we dont't expect to do better. + [Benchmark(Baseline = true)] + public unsafe void Baseline() + { + var path = Input; + var segments = stackalloc PathSegment[MaxCount]; + + MinimalBaseline(path, segments, MaxCount); + } + + [Benchmark] + public unsafe void Implementation() + { + var path = Input; + var segments = stackalloc PathSegment[MaxCount]; + + FastPathTokenizer.Tokenize(path, segments, MaxCount); + } + } +} diff --git a/benchmarks/Microsoft.AspNetCore.Routing.Performance/Matchers/FastPathTokenizerLargeBenchmark.cs b/benchmarks/Microsoft.AspNetCore.Routing.Performance/Matchers/FastPathTokenizerLargeBenchmark.cs new file mode 100644 index 0000000000..3e423191f1 --- /dev/null +++ b/benchmarks/Microsoft.AspNetCore.Routing.Performance/Matchers/FastPathTokenizerLargeBenchmark.cs @@ -0,0 +1,36 @@ +// Copyright (c) .NET Foundation. All rights reserved. +// Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information. + +using BenchmarkDotNet.Attributes; + +namespace Microsoft.AspNetCore.Routing.Matchers +{ + public class FastPathTokenizerLargeBenchmark : FastPathTokenizerBenchmarkBase + { + private static readonly int MaxCount = 32; + private static readonly string Input = + "/heeeeeeeeeeyyyyyyyyyyy/this/is/a/string/with/lots/of/segments" + + "/hoooooooooooooooooooooooooooooooooow long/do you think it should be?/I think" + + "/like/32/segments/is /a/goood/number/dklfl/20303/dlflkf" + + "/Im/tired/of/thinking/of/more/things/to/so"; + + // This is a naive reference implementation. We expect to do better. + [Benchmark(Baseline = true)] + public unsafe void Baseline() + { + var path = Input; + var segments = stackalloc PathSegment[MaxCount]; + + NaiveBaseline(path, segments, MaxCount); + } + + [Benchmark] + public unsafe void Implementation() + { + var path = Input; + var segments = stackalloc PathSegment[MaxCount]; + + FastPathTokenizer.Tokenize(path, segments, MaxCount); + } + } +} diff --git a/benchmarks/Microsoft.AspNetCore.Routing.Performance/Matchers/FastPathTokenizerPlaintextBenchmark.cs b/benchmarks/Microsoft.AspNetCore.Routing.Performance/Matchers/FastPathTokenizerPlaintextBenchmark.cs new file mode 100644 index 0000000000..e125150512 --- /dev/null +++ b/benchmarks/Microsoft.AspNetCore.Routing.Performance/Matchers/FastPathTokenizerPlaintextBenchmark.cs @@ -0,0 +1,32 @@ +// Copyright (c) .NET Foundation. All rights reserved. +// Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information. + +using BenchmarkDotNet.Attributes; + +namespace Microsoft.AspNetCore.Routing.Matchers +{ + public class FastPathTokenizerPlaintextBenchmark : FastPathTokenizerBenchmarkBase + { + private const int MaxCount = 32; + private static readonly string Input = "/plaintext"; + + // This is super hardcoded implementation for comparison, we dont't expect to do better. + [Benchmark(Baseline = true)] + public unsafe void Baseline() + { + var path = Input; + var segments = stackalloc PathSegment[MaxCount]; + + MinimalBaseline(path, segments, MaxCount); + } + + [Benchmark] + public unsafe void Implementation() + { + var path = Input; + var segments = stackalloc PathSegment[MaxCount]; + + FastPathTokenizer.Tokenize(path, segments, MaxCount); + } + } +} diff --git a/benchmarks/Microsoft.AspNetCore.Routing.Performance/Matchers/FastPathTokenizerSmallBenchmark.cs b/benchmarks/Microsoft.AspNetCore.Routing.Performance/Matchers/FastPathTokenizerSmallBenchmark.cs new file mode 100644 index 0000000000..70d1f6717e --- /dev/null +++ b/benchmarks/Microsoft.AspNetCore.Routing.Performance/Matchers/FastPathTokenizerSmallBenchmark.cs @@ -0,0 +1,32 @@ +// Copyright (c) .NET Foundation. All rights reserved. +// Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information. + +using BenchmarkDotNet.Attributes; + +namespace Microsoft.AspNetCore.Routing.Matchers +{ + public class FastPathTokenizerSmallBenchmark : FastPathTokenizerBenchmarkBase + { + private const int MaxCount = 32; + private static readonly string Input = "/hello/world/cool"; + + // This is a naive reference implementation. We expect to do better. + [Benchmark(Baseline = true)] + public unsafe void Baseline() + { + var path = Input; + var segments = stackalloc PathSegment[MaxCount]; + + NaiveBaseline(path, segments, MaxCount); + } + + [Benchmark] + public unsafe void Implementation() + { + var path = Input; + var segments = stackalloc PathSegment[MaxCount]; + + FastPathTokenizer.Tokenize(path, segments, MaxCount); + } + } +} diff --git a/benchmarks/Microsoft.AspNetCore.Routing.Performance/Microsoft.AspNetCore.Routing.Performance.csproj b/benchmarks/Microsoft.AspNetCore.Routing.Performance/Microsoft.AspNetCore.Routing.Performance.csproj index 323a0e58fe..8c807811b5 100644 --- a/benchmarks/Microsoft.AspNetCore.Routing.Performance/Microsoft.AspNetCore.Routing.Performance.csproj +++ b/benchmarks/Microsoft.AspNetCore.Routing.Performance/Microsoft.AspNetCore.Routing.Performance.csproj @@ -1,8 +1,7 @@  - netcoreapp2.0;net461 - netcoreapp2.0 + netcoreapp2.2 Exe true true diff --git a/src/Microsoft.AspNetCore.Routing/Matchers/FastPathTokenizer.cs b/src/Microsoft.AspNetCore.Routing/Matchers/FastPathTokenizer.cs new file mode 100644 index 0000000000..f245748e43 --- /dev/null +++ b/src/Microsoft.AspNetCore.Routing/Matchers/FastPathTokenizer.cs @@ -0,0 +1,40 @@ +// Copyright (c) .NET Foundation. All rights reserved. +// Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information. + +using System; + +namespace Microsoft.AspNetCore.Routing.Matchers +{ + // Low level implementation of our path tokenization algorithm. Alternative + // to PathTokenizer. + internal static class FastPathTokenizer + { + // This section tokenizes the path by marking the sequence of slashes, and their + // and the length of the text between them. + // + // If there is residue (text after last slash) then the length of the segment will + // computed based on the string length. + public static unsafe int Tokenize(string path, PathSegment* segments, int maxCount) + { + int count = 0; + int start = 1; // Paths always start with a leading / + int end; + var span = path.AsSpan(start); + while ((end = span.IndexOf('/')) >= 0 && count < maxCount) + { + segments[count++] = new PathSegment(start, end); + start += end + 1; // resume search after the current character + span = path.AsSpan(start); + } + + // Residue + var length = span.Length; + if (length > 0 && count < maxCount) + { + segments[count++] = new PathSegment(start, length); + } + + return count; + } + } +} diff --git a/src/Microsoft.AspNetCore.Routing/Matchers/PathSegment.cs b/src/Microsoft.AspNetCore.Routing/Matchers/PathSegment.cs new file mode 100644 index 0000000000..24ef150863 --- /dev/null +++ b/src/Microsoft.AspNetCore.Routing/Matchers/PathSegment.cs @@ -0,0 +1,39 @@ +// Copyright (c) .NET Foundation. All rights reserved. +// Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information. + +using System; + +namespace Microsoft.AspNetCore.Routing.Matchers +{ + internal readonly struct PathSegment : IEquatable + { + public readonly int Start; + public readonly int Length; + + public PathSegment(int start, int length) + { + Start = start; + Length = length; + } + + public override bool Equals(object obj) + { + return obj is PathSegment segment ? Equals(segment) : false; + } + + public bool Equals(PathSegment other) + { + return Start == other.Start && Length == other.Length; + } + + public override int GetHashCode() + { + return Start; + } + + public override string ToString() + { + return $"Segment({Start}:{Length})"; + } + } +} diff --git a/src/Microsoft.AspNetCore.Routing/Microsoft.AspNetCore.Routing.csproj b/src/Microsoft.AspNetCore.Routing/Microsoft.AspNetCore.Routing.csproj index f1e3d36a55..fa1ae2e1ac 100644 --- a/src/Microsoft.AspNetCore.Routing/Microsoft.AspNetCore.Routing.csproj +++ b/src/Microsoft.AspNetCore.Routing/Microsoft.AspNetCore.Routing.csproj @@ -8,6 +8,7 @@ Microsoft.AspNetCore.Routing.RouteCollection $(NoWarn);CS1591 true aspnetcore;routing + true diff --git a/test/Microsoft.AspNetCore.Routing.Tests/Matchers/DfaMatcher.cs b/test/Microsoft.AspNetCore.Routing.Tests/Matchers/DfaMatcher.cs index 39be615b9a..ce28cdd643 100644 --- a/test/Microsoft.AspNetCore.Routing.Tests/Matchers/DfaMatcher.cs +++ b/test/Microsoft.AspNetCore.Routing.Tests/Matchers/DfaMatcher.cs @@ -3,7 +3,6 @@ using System; using System.Collections.Generic; -using System.Collections.Specialized; using System.Threading.Tasks; using Microsoft.AspNetCore.Http; @@ -34,33 +33,12 @@ namespace Microsoft.AspNetCore.Routing.Matchers var current = 0; var path = httpContext.Request.Path.Value; - - // This section tokenizes the path by marking the sequence of slashes, and their - // position in the string. The consuming code uses the sequence and the count of - // slashes to deduce the length of each segment. - // - // If there is residue (text after last slash) then the length of the segment will - // computed based on the string length. - var buffer = stackalloc Segment[32]; - var segment = 0; - var start = 1; // PathString guarantees a leading / - var end = 0; - var length = 0; - while ((end = path.IndexOf('/', start)) >= 0 && segment < 32) + var buffer = stackalloc PathSegment[32]; + var count = FastPathTokenizer.Tokenize(path, buffer, 32); + + for (var i = 0; i < count; i++) { - length = end - start; - buffer[segment++] = new Segment() { Start = start, Length = length, }; - current = states[current].Transitions.GetDestination(path, start, length); - - start = end + 1; // resume search after the current character - } - - // Residue - length = path.Length - start; - if (length > 0) - { - buffer[segment++] = new Segment() { Start = start, Length = length, }; - current = states[current].Transitions.GetDestination(path, start, length); + current = states[current].Transitions.GetDestination(buffer, i, path); } var matches = new List<(Endpoint, RouteValueDictionary)>(); @@ -98,12 +76,6 @@ namespace Microsoft.AspNetCore.Routing.Matchers return Task.CompletedTask; } - public struct Segment - { - public int Start; - public int Length; - } - public struct State { public bool IsAccepting; @@ -119,7 +91,7 @@ namespace Microsoft.AspNetCore.Routing.Matchers public abstract class JumpTable { - public abstract int GetDestination(string text, int start, int length); + public unsafe abstract int GetDestination(PathSegment* segments, int depth, string path); } public class JumpTableBuilder @@ -154,17 +126,18 @@ namespace Microsoft.AspNetCore.Routing.Matchers _entries = entries; } - public override int GetDestination(string text, int start, int length) + public unsafe override int GetDestination(PathSegment* segments, int depth, string path) { for (var i = 0; i < _entries.Length; i++) { - if (length == _entries[i].text.Length && + var segment = segments[depth]; + if (segment.Length == _entries[i].text.Length && string.Compare( - text, - start, + path, + segment.Start, _entries[i].text, 0, - length, + segment.Length, StringComparison.OrdinalIgnoreCase) == 0) { return _entries[i].destination; diff --git a/test/Microsoft.AspNetCore.Routing.Tests/Matchers/FastPathTokenizerTest.cs b/test/Microsoft.AspNetCore.Routing.Tests/Matchers/FastPathTokenizerTest.cs new file mode 100644 index 0000000000..c13b72bd71 --- /dev/null +++ b/test/Microsoft.AspNetCore.Routing.Tests/Matchers/FastPathTokenizerTest.cs @@ -0,0 +1,117 @@ +// Copyright (c) .NET Foundation. All rights reserved. +// Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information. + +using Xunit; + +namespace Microsoft.AspNetCore.Routing.Matchers +{ + public unsafe class FastPathTokenizerTest + { + [Fact] // Note: tokenizing a truly empty string is undefined. + public void Tokenize_EmptyPath() + { + // Arrange + var segments = stackalloc PathSegment[32]; + + // Act + var count = FastPathTokenizer.Tokenize("/", segments, 1); + + // Assert + Assert.Equal(0, count); + } + + [Fact] + public void Tokenize_SingleSegment() + { + // Arrange + var segments = stackalloc PathSegment[32]; + + // Act + var count = FastPathTokenizer.Tokenize("/abc", segments, 1); + + // Assert + Assert.Equal(1, count); + Assert.Equal(new PathSegment(1, 3), segments[0]); + } + + [Fact] + public void Tokenize_WithSomeSegments() + { + // Arrange + var segments = stackalloc PathSegment[32]; + + // Act + var count = FastPathTokenizer.Tokenize("/a/b/c", segments, 3); + + // Assert + Assert.Equal(3, count); + Assert.Equal(new PathSegment(1, 1), segments[0]); + Assert.Equal(new PathSegment(3, 1), segments[1]); + Assert.Equal(new PathSegment(5, 1), segments[2]); + } + + [Fact] // Empty trailing / is ignored + public void Tokenize_WithSomeSegments_TrailingSlash() + { + // Arrange + var segments = stackalloc PathSegment[32]; + + // Act + var count = FastPathTokenizer.Tokenize("/a/b/c/", segments, 3); + + // Assert + Assert.Equal(3, count); + Assert.Equal(new PathSegment(1, 1), segments[0]); + Assert.Equal(new PathSegment(3, 1), segments[1]); + Assert.Equal(new PathSegment(5, 1), segments[2]); + } + + [Fact] + public void Tokenize_LongerSegments() + { + // Arrange + var segments = stackalloc PathSegment[32]; + + // Act + var count = FastPathTokenizer.Tokenize("/aaa/bb/ccccc", segments, 3); + + // Assert + Assert.Equal(3, count); + Assert.Equal(new PathSegment(1, 3), segments[0]); + Assert.Equal(new PathSegment(5, 2), segments[1]); + Assert.Equal(new PathSegment(8, 5), segments[2]); + } + + [Fact] + public void Tokenize_EmptySegments() + { + // Arrange + var segments = stackalloc PathSegment[32]; + + // Act + var count = FastPathTokenizer.Tokenize("///c", segments, 3); + + // Assert + Assert.Equal(3, count); + Assert.Equal(new PathSegment(1, 0), segments[0]); + Assert.Equal(new PathSegment(2, 0), segments[1]); + Assert.Equal(new PathSegment(3, 1), segments[2]); + } + + [Fact] + public void Tokenize_TooManySegments() + { + // Arrange + var segments = stackalloc PathSegment[32]; + + // Act + var count = FastPathTokenizer.Tokenize("/a/b/c/d", segments, 3); + + // Assert + Assert.Equal(3, count); + Assert.Equal(new PathSegment(1, 1), segments[0]); + Assert.Equal(new PathSegment(3, 1), segments[1]); + Assert.Equal(new PathSegment(5, 1), segments[2]); + } + } +} diff --git a/test/Microsoft.AspNetCore.Routing.Tests/Matchers/InstructionMatcher.cs b/test/Microsoft.AspNetCore.Routing.Tests/Matchers/InstructionMatcher.cs index 4920b8781a..cc4d9e6f8d 100644 --- a/test/Microsoft.AspNetCore.Routing.Tests/Matchers/InstructionMatcher.cs +++ b/test/Microsoft.AspNetCore.Routing.Tests/Matchers/InstructionMatcher.cs @@ -39,28 +39,8 @@ namespace Microsoft.AspNetCore.Routing.Matchers var state = _state; var path = httpContext.Request.Path.Value; - - // This section tokenizes the path by marking the sequence of slashes, and their - // position in the string. The consuming code uses the sequence and the count of - // slashes to deduce the length of each segment. - // - // If there is residue (text after last slash) then the length of the segment will - // computed based on the string length. - var buffer = stackalloc Segment[32]; - var count = 0; - var start = 1; // PathString guarantees a leading / - var end = 0; - while ((end = path.IndexOf('/', start)) >= 0 && count < 32) - { - buffer[count++] = new Segment() { Start = start, Length = end - start, }; - start = end + 1; // resume search after the current character - } - - // Residue - if (start < path.Length) - { - buffer[count++] = new Segment() { Start = start, Length = path.Length - start, }; - } + var buffer = stackalloc PathSegment[32]; + var count = FastPathTokenizer.Tokenize(path, buffer, 32); var i = 0; var candidates = new List(); @@ -125,12 +105,6 @@ namespace Microsoft.AspNetCore.Routing.Matchers return Task.CompletedTask; } - public struct Segment - { - public int Start; - public int Length; - } - public struct Candidate { public Endpoint Endpoint; @@ -173,7 +147,7 @@ namespace Microsoft.AspNetCore.Routing.Matchers public abstract class JumpTable { - public unsafe abstract int GetDestination(Segment* segments, int count, string path); + public unsafe abstract int GetDestination(PathSegment* segments, int depth, string path); } public class JumpTableBuilder @@ -208,7 +182,7 @@ namespace Microsoft.AspNetCore.Routing.Matchers _entries = entries; } - public unsafe override int GetDestination(Segment* segments, int count, string path) + public unsafe override int GetDestination(PathSegment* segments, int count, string path) { if (_depth == count) { From 25292fb473306c6186033749e60085a63b28cf5f Mon Sep 17 00:00:00 2001 From: "ASP.NET CI" Date: Mon, 25 Jun 2018 11:28:05 -0700 Subject: [PATCH 046/221] Update dependencies.props [auto-updated: dependencies] --- build/dependencies.props | 56 ++++++++++++++++++++-------------------- korebuild-lock.txt | 4 +-- 2 files changed, 30 insertions(+), 30 deletions(-) diff --git a/build/dependencies.props b/build/dependencies.props index 3073631044..19af03b9a1 100644 --- a/build/dependencies.props +++ b/build/dependencies.props @@ -4,36 +4,36 @@ 0.10.13 - 2.2.0-preview1-17081 - 2.2.0-preview1-34411 - 2.2.0-preview1-34411 - 2.2.0-preview1-34411 - 2.2.0-preview1-34411 - 2.2.0-preview1-34411 - 2.2.0-preview1-34411 - 2.2.0-preview1-34411 - 2.2.0-preview1-34411 - 2.2.0-preview1-34411 - 2.2.0-preview1-34411 - 2.2.0-preview1-34411 - 2.2.0-preview1-34411 - 2.2.0-preview1-34411 - 2.2.0-preview1-34411 - 2.2.0-preview1-34411 - 2.2.0-preview1-34411 - 2.2.0-preview1-34411 - 2.2.0-preview1-34411 - 2.2.0-preview1-34411 - 2.2.0-preview1-34411 - 2.2.0-preview1-34411 - 2.2.0-preview1-34411 - 2.2.0-preview1-34411 - 2.2.0-preview1-34411 - 2.2.0-preview1-34411 - 2.2.0-preview1-34411 + 2.2.0-preview1-17090 + 2.2.0-preview1-34530 + 2.2.0-preview1-34530 + 2.2.0-preview1-34530 + 2.2.0-preview1-34530 + 2.2.0-preview1-34530 + 2.2.0-preview1-34530 + 2.2.0-preview1-34530 + 2.2.0-preview1-34530 + 2.2.0-preview1-34530 + 2.2.0-preview1-34530 + 2.2.0-preview1-34530 + 2.2.0-preview1-34530 + 2.2.0-preview1-34530 + 2.2.0-preview1-34530 + 2.2.0-preview1-34530 + 2.2.0-preview1-34530 + 2.2.0-preview1-34530 + 2.2.0-preview1-34530 + 2.2.0-preview1-34530 + 2.2.0-preview1-34530 + 2.2.0-preview1-34530 + 2.2.0-preview1-34530 + 2.2.0-preview1-34530 + 2.2.0-preview1-34530 + 2.2.0-preview1-34530 + 2.2.0-preview1-34530 2.0.0 2.1.0 - 2.2.0-preview1-26606-01 + 2.2.0-preview1-26618-02 15.6.1 4.7.49 2.0.3 diff --git a/korebuild-lock.txt b/korebuild-lock.txt index deb7e546f0..a8109db529 100644 --- a/korebuild-lock.txt +++ b/korebuild-lock.txt @@ -1,2 +1,2 @@ -version:2.2.0-preview1-17081 -commithash:73f09c256e2a54270951562ecc0ef4a953926c36 +version:2.2.0-preview1-17090 +commithash:b19e903e946579cd9482089bce7d917e8bacd765 From 60ad99037eb16120feb9b177cea225d2427253a1 Mon Sep 17 00:00:00 2001 From: Eilon Lipton Date: Tue, 26 Jun 2018 09:00:47 -0700 Subject: [PATCH 047/221] Delete ISSUE_TEMPLATE.md --- .github/ISSUE_TEMPLATE.md | 3 --- 1 file changed, 3 deletions(-) delete mode 100644 .github/ISSUE_TEMPLATE.md diff --git a/.github/ISSUE_TEMPLATE.md b/.github/ISSUE_TEMPLATE.md deleted file mode 100644 index 101a084f0a..0000000000 --- a/.github/ISSUE_TEMPLATE.md +++ /dev/null @@ -1,3 +0,0 @@ -THIS ISSUE TRACKER IS CLOSED - please log new issues here: https://github.com/aspnet/Home/issues - -For information about this change, see https://github.com/aspnet/Announcements/issues/283 From bc5f02444bc7291b295b6b5f41fb90fe6468528f Mon Sep 17 00:00:00 2001 From: Ryan Nowak Date: Tue, 26 Jun 2018 13:41:49 -0700 Subject: [PATCH 048/221] Benchmarks and improvements to route value dictionary (#577) * Add benchmarks for RVD There are the scenarios that are critical for URL matching performance. * Reimplement RouteValueDictionary Improves the scenarios with benchmarks by about 30% * Fix benchmark * PR feedback * More feedback and tests --- .../RouteValueDictionaryBenchmark.cs | 139 ++++ .../RouteValueDictionary.cs | 626 ++++++------------ .../RouteValueDictionaryTests.cs | 197 +++--- 3 files changed, 427 insertions(+), 535 deletions(-) create mode 100644 benchmarks/Microsoft.AspNetCore.Routing.Performance/RouteValueDictionaryBenchmark.cs diff --git a/benchmarks/Microsoft.AspNetCore.Routing.Performance/RouteValueDictionaryBenchmark.cs b/benchmarks/Microsoft.AspNetCore.Routing.Performance/RouteValueDictionaryBenchmark.cs new file mode 100644 index 0000000000..656a742367 --- /dev/null +++ b/benchmarks/Microsoft.AspNetCore.Routing.Performance/RouteValueDictionaryBenchmark.cs @@ -0,0 +1,139 @@ +// Copyright (c) .NET Foundation. All rights reserved. +// Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information. + +using System; +using BenchmarkDotNet.Attributes; + +namespace Microsoft.AspNetCore.Routing +{ + public class RouteValueDictionaryBenchmark + { + // These dictionaries are used by a few tests over and over, so don't modify them destructively. + private RouteValueDictionary _arrayValues; + private RouteValueDictionary _propertyValues; + + [GlobalSetup] + public void Setup() + { + _arrayValues = new RouteValueDictionary() + { + { "action", "Index" }, + { "controller", "Home" }, + { "id", "17" }, + }; + _propertyValues = new RouteValueDictionary(new { action = "Index", controller = "Home", id = "17" }); + } + + [Benchmark] + public RouteValueDictionary AddSingleItem() + { + var dictionary = new RouteValueDictionary(); + dictionary.Add("action", "Index"); + return dictionary; + } + + [Benchmark] + public RouteValueDictionary AddThreeItems() + { + var dictionary = new RouteValueDictionary(); + dictionary.Add("action", "Index"); + dictionary.Add("controller", "Home"); + dictionary.Add("id", "15"); + return dictionary; + } + + [Benchmark] + public RouteValueDictionary ForEachThreeItems_Array() + { + var dictionary = _arrayValues; + foreach (var kvp in dictionary) + { + GC.KeepAlive(kvp.Value); + } + return dictionary; + } + + [Benchmark] + public RouteValueDictionary ForEachThreeItems_Properties() + { + var dictionary = _arrayValues; + foreach (var kvp in dictionary) + { + GC.KeepAlive(kvp.Value); + } + return dictionary; + } + + [Benchmark] + public RouteValueDictionary GetThreeItems_Array() + { + var dictionary = _arrayValues; + GC.KeepAlive(dictionary["action"]); + GC.KeepAlive(dictionary["controller"]); + GC.KeepAlive(dictionary["id"]); + return dictionary; + } + + [Benchmark] + public RouteValueDictionary GetThreeItems_Properties() + { + var dictionary = _propertyValues; + GC.KeepAlive(dictionary["action"]); + GC.KeepAlive(dictionary["controller"]); + GC.KeepAlive(dictionary["id"]); + return dictionary; + } + + [Benchmark] + public RouteValueDictionary SetSingleItem() + { + var dictionary = new RouteValueDictionary(); + dictionary["action"] = "Index"; + return dictionary; + } + + [Benchmark] + public RouteValueDictionary SetExistingItem() + { + var dictionary = _arrayValues; + dictionary["action"] = "About"; + return dictionary; + } + + [Benchmark] + public RouteValueDictionary SetThreeItems() + { + var dictionary = new RouteValueDictionary(); + dictionary["action"] = "Index"; + dictionary["controller"] = "Home"; + dictionary["id"] = "15"; + return dictionary; + } + + [Benchmark] + public RouteValueDictionary TryGetValueThreeItems_Array() + { + var dictionary = _arrayValues; + dictionary.TryGetValue("action", out var action); + dictionary.TryGetValue("controller", out var controller); + dictionary.TryGetValue("id", out var id); + GC.KeepAlive(action); + GC.KeepAlive(controller); + GC.KeepAlive(id); + return dictionary; + } + + [Benchmark] + public RouteValueDictionary TryGetValueThreeItems_Properties() + { + var dictionary = _propertyValues; + dictionary.TryGetValue("action", out var action); + dictionary.TryGetValue("controller", out var controller); + dictionary.TryGetValue("id", out var id); + GC.KeepAlive(action); + GC.KeepAlive(controller); + GC.KeepAlive(id); + return dictionary; + } + } +} diff --git a/src/Microsoft.AspNetCore.Routing.Abstractions/RouteValueDictionary.cs b/src/Microsoft.AspNetCore.Routing.Abstractions/RouteValueDictionary.cs index d0bc8e9ecf..ad3da79e3e 100644 --- a/src/Microsoft.AspNetCore.Routing.Abstractions/RouteValueDictionary.cs +++ b/src/Microsoft.AspNetCore.Routing.Abstractions/RouteValueDictionary.cs @@ -6,6 +6,7 @@ using System.Collections; using System.Collections.Concurrent; using System.Collections.Generic; using System.Diagnostics; +using System.Runtime.CompilerServices; using Microsoft.AspNetCore.Routing.Abstractions; using Microsoft.Extensions.Internal; @@ -16,14 +17,19 @@ namespace Microsoft.AspNetCore.Routing /// public class RouteValueDictionary : IDictionary, IReadOnlyDictionary { - internal Storage _storage; + // 4 is a good default capacity here because that leaves enough space for area/controller/action/id + private const int DefaultCapacity = 4; + + internal KeyValuePair[] _arrayStorage; + internal PropertyStorage _propertyStorage; + private int _count; /// /// Creates an empty . /// public RouteValueDictionary() { - _storage = EmptyStorage.Instance; + _arrayStorage = Array.Empty>(); } /// @@ -40,63 +46,45 @@ namespace Microsoft.AspNetCore.Routing /// Only public instance non-index properties are considered. /// public RouteValueDictionary(object values) + : this() { - var dictionary = values as RouteValueDictionary; - if (dictionary != null) + if (values is RouteValueDictionary dictionary) { - var listStorage = dictionary._storage as ListStorage; - if (listStorage != null) - { - _storage = new ListStorage(listStorage); - return; - } - - var propertyStorage = dictionary._storage as PropertyStorage; - if (propertyStorage != null) + if (dictionary._propertyStorage != null) { // PropertyStorage is immutable so we can just copy it. - _storage = dictionary._storage; + _propertyStorage = dictionary._propertyStorage; + _count = dictionary._count; return; } - // If we get here, it's an EmptyStorage. - _storage = EmptyStorage.Instance; + var other = dictionary._arrayStorage; + var storage = new KeyValuePair[other.Length]; + if (dictionary._count != 0) + { + Array.Copy(other, 0, storage, 0, dictionary._count); + } + + _arrayStorage = storage; + _count = dictionary._count; return; } - var keyValueEnumerable = values as IEnumerable>; - if (keyValueEnumerable != null) + if (values is IEnumerable> keyValueEnumerable) { - var listStorage = new ListStorage(); - _storage = listStorage; foreach (var kvp in keyValueEnumerable) { - if (listStorage.ContainsKey(kvp.Key)) - { - var message = Resources.FormatRouteValueDictionary_DuplicateKey(kvp.Key, nameof(RouteValueDictionary)); - throw new ArgumentException(message, nameof(values)); - } - - listStorage.Add(kvp); + Add(kvp.Key, kvp.Value); } return; } - var stringValueEnumerable = values as IEnumerable>; - if (stringValueEnumerable != null) + if (values is IEnumerable> stringValueEnumerable) { - var listStorage = new ListStorage(); - _storage = listStorage; foreach (var kvp in stringValueEnumerable) { - if (listStorage.ContainsKey(kvp.Key)) - { - var message = Resources.FormatRouteValueDictionary_DuplicateKey(kvp.Key, nameof(RouteValueDictionary)); - throw new ArgumentException(message, nameof(values)); - } - - listStorage.Add(new KeyValuePair(kvp.Key, kvp.Value)); + Add(kvp.Key, kvp.Value); } return; @@ -104,11 +92,11 @@ namespace Microsoft.AspNetCore.Routing if (values != null) { - _storage = new PropertyStorage(values); + var storage = new PropertyStorage(values); + _propertyStorage = storage; + _count = storage.Properties.Length; return; } - - _storage = EmptyStorage.Instance; } /// @@ -133,10 +121,21 @@ namespace Microsoft.AspNetCore.Routing throw new ArgumentNullException(nameof(key)); } - if (!_storage.TrySetValue(key, value)) + // We're calling this here for the side-effect of converting from properties + // to array. We need to create the array even if we just set an existing value since + // property storage is immutable. + EnsureCapacity(_count); + + var index = FindInArray(key); + if (index < 0) { - Upgrade(); - _storage.TrySetValue(key, value); + EnsureCapacity(_count + 1); + _arrayStorage[_count++] = new KeyValuePair(key, value); + } + else + { + + _arrayStorage[index] = new KeyValuePair(key, value); } } } @@ -150,7 +149,7 @@ namespace Microsoft.AspNetCore.Routing public IEqualityComparer Comparer => StringComparer.OrdinalIgnoreCase; /// - public int Count => _storage.Count; + public int Count => _count; /// bool ICollection>.IsReadOnly => false; @@ -160,13 +159,13 @@ namespace Microsoft.AspNetCore.Routing { get { - Upgrade(); + EnsureCapacity(_count); - var list = (ListStorage)_storage; - var keys = new string[list.Count]; + var array = _arrayStorage; + var keys = new string[_count]; for (var i = 0; i < keys.Length; i++) { - keys[i] = list[i].Key; + keys[i] = array[i].Key; } return keys; @@ -186,13 +185,13 @@ namespace Microsoft.AspNetCore.Routing { get { - Upgrade(); + EnsureCapacity(_count); - var list = (ListStorage)_storage; - var values = new object[list.Count]; + var array = _arrayStorage; + var values = new object[_count]; for (var i = 0; i < values.Length; i++) { - values[i] = list[i].Value; + values[i] = array[i].Value; } return values; @@ -221,55 +220,43 @@ namespace Microsoft.AspNetCore.Routing throw new ArgumentNullException(nameof(key)); } - Upgrade(); + EnsureCapacity(_count + 1); - var list = (ListStorage)_storage; - for (var i = 0; i < list.Count; i++) + var index = FindInArray(key); + if (index >= 0) { - if (string.Equals(list[i].Key, key, StringComparison.OrdinalIgnoreCase)) - { - var message = Resources.FormatRouteValueDictionary_DuplicateKey(key, nameof(RouteValueDictionary)); - throw new ArgumentException(message, nameof(key)); - } + var message = Resources.FormatRouteValueDictionary_DuplicateKey(key, nameof(RouteValueDictionary)); + throw new ArgumentException(message, nameof(key)); } - list.Add(new KeyValuePair(key, value)); + _arrayStorage[_count] = new KeyValuePair(key, value); + _count++; } /// public void Clear() { - if (_storage.Count == 0) + if (_count == 0) { return; } - Upgrade(); + if (_propertyStorage != null) + { + _arrayStorage = Array.Empty>(); + _propertyStorage = null; + _count = 0; + return; + } - var list = (ListStorage)_storage; - list.Clear(); + Array.Clear(_arrayStorage, 0, _count); + _count = 0; } /// bool ICollection>.Contains(KeyValuePair item) { - if (_storage.Count == 0) - { - return false; - } - - Upgrade(); - - var list = (ListStorage)_storage; - for (var i = 0; i < list.Count; i++) - { - if (string.Equals(list[i].Key, item.Key, StringComparison.OrdinalIgnoreCase)) - { - return EqualityComparer.Default.Equals(list[i].Value, item.Value); - } - } - - return false; + return TryGetValue(item.Key, out var value) && EqualityComparer.Default.Equals(value, item.Value); } /// @@ -280,7 +267,7 @@ namespace Microsoft.AspNetCore.Routing throw new ArgumentNullException(nameof(key)); } - return _storage.ContainsKey(key); + return TryGetValue(key, out var _); } /// @@ -298,15 +285,15 @@ namespace Microsoft.AspNetCore.Routing throw new ArgumentOutOfRangeException(nameof(arrayIndex)); } - if (_storage.Count == 0) + if (Count == 0) { return; } - Upgrade(); + EnsureCapacity(Count); - var list = (ListStorage)_storage; - list.CopyTo(array, arrayIndex); + var storage = _arrayStorage; + Array.Copy(storage, 0, array, arrayIndex, _count); } /// @@ -330,22 +317,21 @@ namespace Microsoft.AspNetCore.Routing /// bool ICollection>.Remove(KeyValuePair item) { - if (_storage.Count == 0) + if (Count == 0) { return false; } - Upgrade(); + EnsureCapacity(Count); - var list = (ListStorage)_storage; - for (var i = 0; i < list.Count; i++) + var index = FindInArray(item.Key); + var array = _arrayStorage; + if (index >= 0 && EqualityComparer.Default.Equals(array[index].Value, item.Value)) { - if (string.Equals(list[i].Key, item.Key, StringComparison.OrdinalIgnoreCase) && - EqualityComparer.Default.Equals(list[i].Value, item.Value)) - { - list.RemoveAt(i); - return true; - } + Array.Copy(array, index + 1, array, index, _count - index); + _count--; + array[_count] = default; + return true; } return false; @@ -359,21 +345,22 @@ namespace Microsoft.AspNetCore.Routing throw new ArgumentNullException(nameof(key)); } - if (_storage.Count == 0) + if (Count == 0) { return false; } - Upgrade(); + EnsureCapacity(Count); - var list = (ListStorage)_storage; - for (var i = 0; i < list.Count; i++) + var index = FindInArray(key); + if (index >= 0) { - if (string.Equals(list[i].Key, key, StringComparison.OrdinalIgnoreCase)) - { - list.RemoveAt(i); - return true; - } + _count--; + var array = _arrayStorage; + Array.Copy(array, index + 1, array, index, _count - index); + array[_count] = default; + + return true; } return false; @@ -387,17 +374,95 @@ namespace Microsoft.AspNetCore.Routing throw new ArgumentNullException(nameof(key)); } - return _storage.TryGetValue(key, out value); + if (_propertyStorage != null) + { + var storage = _propertyStorage; + for (var i = 0; i < storage.Properties.Length; i++) + { + if (string.Equals(storage.Properties[i].Name, key, StringComparison.OrdinalIgnoreCase)) + { + value = storage.Properties[i].GetValue(storage.Value); + return true; + } + } + + value = default; + return false; + } + + var array = _arrayStorage; + for (var i = 0; i < _count; i++) + { + if (string.Equals(array[i].Key, key, StringComparison.OrdinalIgnoreCase)) + { + value = array[i].Value; + return true; + } + } + + value = default; + return false; } - private void Upgrade() + [MethodImpl(MethodImplOptions.AggressiveInlining)] + private void EnsureCapacity(int capacity) { - _storage.Upgrade(ref _storage); + if (_propertyStorage != null || _arrayStorage.Length < capacity) + { + EnsureCapacitySlow(capacity); + } + } + + private void EnsureCapacitySlow(int capacity) + { + if (_propertyStorage != null) + { + var storage = _propertyStorage; + capacity = Math.Max(storage.Properties.Length, capacity); + var array = new KeyValuePair[capacity]; + + for (var i = 0; i < storage.Properties.Length; i++) + { + var property = storage.Properties[i]; + array[i] = new KeyValuePair(property.Name, property.GetValue(storage.Value)); + } + + _arrayStorage = array; + _propertyStorage = null; + return; + } + + if (_arrayStorage.Length < capacity) + { + capacity = _arrayStorage.Length == 0 ? DefaultCapacity : _arrayStorage.Length * 2; + var array = new KeyValuePair[capacity]; + if (_count > 0) + { + Array.Copy(_arrayStorage, 0, array, 0, _count); + } + + _arrayStorage = array; + } + } + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + private int FindInArray(string key) + { + var array = _arrayStorage; + for (var i = 0; i < _count; i++) + { + if (string.Equals(array[i].Key, key, StringComparison.OrdinalIgnoreCase)) + { + return i; + } + } + + return -1; } public struct Enumerator : IEnumerator> { - private readonly Storage _storage; + private RouteValueDictionary _dictionary; private int _index; public Enumerator(RouteValueDictionary dictionary) @@ -407,9 +472,9 @@ namespace Microsoft.AspNetCore.Routing throw new ArgumentNullException(); } - _storage = dictionary._storage; + _dictionary = dictionary; - Current = default(KeyValuePair); + Current = default; _index = -1; } @@ -423,296 +488,50 @@ namespace Microsoft.AspNetCore.Routing public bool MoveNext() { - if (++_index < _storage.Count) + if (++_index < _dictionary.Count) { - Current = _storage[_index]; + if (_dictionary._propertyStorage != null) + { + var storage = _dictionary._propertyStorage; + var property = storage.Properties[_index]; + Current = new KeyValuePair(property.Name, property.GetValue(storage.Value)); + return true; + } + + Current = _dictionary._arrayStorage[_index]; return true; } - Current = default(KeyValuePair); + Current = default; return false; } public void Reset() { - Current = default(KeyValuePair); + Current = default; _index = -1; } } - // Storage and its subclasses are internal for testing. - internal abstract class Storage - { - public abstract int Count { get; } - - public abstract KeyValuePair this[int index] { get; set; } - - public abstract void Upgrade(ref Storage storage); - - public abstract bool TryGetValue(string key, out object value); - - public abstract bool ContainsKey(string key); - - public abstract bool TrySetValue(string key, object value); - } - - internal class ListStorage : Storage - { - private KeyValuePair[] _items; - private int _count; - - private static readonly KeyValuePair[] _emptyArray = new KeyValuePair[0]; - - public ListStorage() - { - _items = _emptyArray; - } - - public ListStorage(int capacity) - { - if (capacity == 0) - { - _items = _emptyArray; - } - else - { - _items = new KeyValuePair[capacity]; - } - } - - public ListStorage(ListStorage other) - { - if (other.Count == 0) - { - _items = _emptyArray; - } - else - { - _items = new KeyValuePair[other.Count]; - for (var i = 0; i < other.Count; i++) - { - this.Add(other[i]); - } - } - } - - public int Capacity => _items.Length; - - public override int Count => _count; - - public override KeyValuePair this[int index] - { - get - { - if (index < 0 || index >= _count) - { - throw new ArgumentOutOfRangeException(nameof(index)); - } - - return _items[index]; - } - set - { - if (index < 0 || index >= _count) - { - throw new ArgumentOutOfRangeException(nameof(index)); - } - - _items[index] = value; - } - } - - public void Add(KeyValuePair item) - { - if (_count == _items.Length) - { - EnsureCapacity(_count + 1); - } - - _items[_count++] = item; - } - - public void RemoveAt(int index) - { - _count--; - - for (var i = index; i < _count; i++) - { - _items[i] = _items[i + 1]; - } - - _items[_count] = default(KeyValuePair); - } - - public void Clear() - { - for (var i = 0; i < _count; i++) - { - _items[i] = default(KeyValuePair); - } - - _count = 0; - } - - public void CopyTo(KeyValuePair[] array, int arrayIndex) - { - for (var i = 0; i < _count; i++) - { - array[arrayIndex++] = _items[i]; - } - } - - public override bool ContainsKey(string key) - { - for (var i = 0; i < Count; i++) - { - var kvp = _items[i]; - if (string.Equals(key, kvp.Key, StringComparison.OrdinalIgnoreCase)) - { - return true; - } - } - - return false; - } - - public override bool TrySetValue(string key, object value) - { - for (var i = 0; i < Count; i++) - { - var kvp = _items[i]; - if (string.Equals(key, kvp.Key, StringComparison.OrdinalIgnoreCase)) - { - _items[i] = new KeyValuePair(key, value); - return true; - } - } - - Add(new KeyValuePair(key, value)); - return true; - } - - public override bool TryGetValue(string key, out object value) - { - for (var i = 0; i < Count; i++) - { - var kvp = _items[i]; - if (string.Equals(key, kvp.Key, StringComparison.OrdinalIgnoreCase)) - { - value = kvp.Value; - return true; - } - } - - value = null; - return false; - } - - public override void Upgrade(ref Storage storage) - { - // Do nothing. - } - - private void EnsureCapacity(int min) - { - var newLength = _items.Length == 0 ? 4 : _items.Length * 2; - var newItems = new KeyValuePair[newLength]; - for (var i = 0; i < _count; i++) - { - newItems[i] = _items[i]; - } - - _items = newItems; - } - } - - internal class PropertyStorage : Storage + internal class PropertyStorage { private static readonly PropertyCache _propertyCache = new PropertyCache(); - internal readonly object _value; - internal readonly PropertyHelper[] _properties; + public readonly object Value; + public readonly PropertyHelper[] Properties; public PropertyStorage(object value) { Debug.Assert(value != null); - _value = value; + Value = value; // Cache the properties so we can know if we've already validated them for duplicates. - var type = _value.GetType(); - if (!_propertyCache.TryGetValue(type, out _properties)) + var type = Value.GetType(); + if (!_propertyCache.TryGetValue(type, out Properties)) { - _properties = PropertyHelper.GetVisibleProperties(type); - ValidatePropertyNames(type, _properties); - _propertyCache.TryAdd(type, _properties); - } - } - - public PropertyStorage(PropertyStorage propertyStorage) - { - _value = propertyStorage._value; - _properties = propertyStorage._properties; - } - - public override int Count => _properties.Length; - - public override KeyValuePair this[int index] - { - get - { - var property = _properties[index]; - return new KeyValuePair(property.Name, property.GetValue(_value)); - } - set - { - // PropertyStorage never sets a value. - throw new NotImplementedException(); - } - } - - public override bool TryGetValue(string key, out object value) - { - for (var i = 0; i < _properties.Length; i++) - { - var property = _properties[i]; - if (string.Equals(key, property.Name, StringComparison.OrdinalIgnoreCase)) - { - value = property.GetValue(_value); - return true; - } - } - - value = null; - return false; - } - - public override bool ContainsKey(string key) - { - for (var i = 0; i < _properties.Length; i++) - { - var property = _properties[i]; - if (string.Equals(key, property.Name, StringComparison.OrdinalIgnoreCase)) - { - return true; - } - } - - return false; - } - - public override bool TrySetValue(string key, object value) - { - // PropertyStorage never sets a value. - return false; - } - - public override void Upgrade(ref Storage storage) - { - storage = new ListStorage(Count); - for (var i = 0; i < _properties.Length; i++) - { - var property = _properties[i]; - storage.TrySetValue(property.Name, property.GetValue(_value)); + Properties = PropertyHelper.GetVisibleProperties(type); + ValidatePropertyNames(type, Properties); + _propertyCache.TryAdd(type, Properties); } } @@ -723,8 +542,7 @@ namespace Microsoft.AspNetCore.Routing { var property = properties[i]; - PropertyHelper duplicate; - if (names.TryGetValue(property.Name, out duplicate)) + if (names.TryGetValue(property.Name, out var duplicate)) { var message = Resources.FormatRouteValueDictionary_DuplicatePropertyName( type.FullName, @@ -739,50 +557,6 @@ namespace Microsoft.AspNetCore.Routing } } - internal class EmptyStorage : Storage - { - public static readonly EmptyStorage Instance = new EmptyStorage(); - - private EmptyStorage() - { - } - - public override int Count => 0; - - public override KeyValuePair this[int index] - { - get - { - throw new NotImplementedException(); - } - set - { - throw new NotImplementedException(); - } - } - - public override bool ContainsKey(string key) - { - return false; - } - - public override bool TryGetValue(string key, out object value) - { - value = null; - return false; - } - - public override bool TrySetValue(string key, object value) - { - return false; - } - - public override void Upgrade(ref Storage storage) - { - storage = new ListStorage(); - } - } - private class PropertyCache : ConcurrentDictionary { } diff --git a/test/Microsoft.AspNetCore.Mvc.Routing.Abstractions.Tests/RouteValueDictionaryTests.cs b/test/Microsoft.AspNetCore.Mvc.Routing.Abstractions.Tests/RouteValueDictionaryTests.cs index 764f773e16..294e034131 100644 --- a/test/Microsoft.AspNetCore.Mvc.Routing.Abstractions.Tests/RouteValueDictionaryTests.cs +++ b/test/Microsoft.AspNetCore.Mvc.Routing.Abstractions.Tests/RouteValueDictionaryTests.cs @@ -20,7 +20,8 @@ namespace Microsoft.AspNetCore.Routing.Tests // Assert Assert.Empty(dict); - Assert.IsType(dict._storage); + Assert.Empty(dict._arrayStorage); + Assert.Null(dict._propertyStorage); } [Fact] @@ -32,11 +33,12 @@ namespace Microsoft.AspNetCore.Routing.Tests // Assert Assert.Empty(dict); - Assert.IsType(dict._storage); + Assert.Empty(dict._arrayStorage); + Assert.Null(dict._propertyStorage); } [Fact] - public void CreateFromRouteValueDictionary_WithListStorage_CopiesStorage() + public void CreateFromRouteValueDictionary_WithArrayStorage_CopiesStorage() { // Arrange var other = new RouteValueDictionary() @@ -50,8 +52,8 @@ namespace Microsoft.AspNetCore.Routing.Tests // Assert Assert.Equal(other, dict); - var storage = Assert.IsType(dict._storage); - var otherStorage = Assert.IsType(other._storage); + var storage = Assert.IsType[]>(dict._arrayStorage); + var otherStorage = Assert.IsType[]>(other._arrayStorage); Assert.NotSame(otherStorage, storage); } @@ -67,25 +69,8 @@ namespace Microsoft.AspNetCore.Routing.Tests // Assert Assert.Equal(other, dict); - var storage = Assert.IsType(dict._storage); - var otherStorage = Assert.IsType(other._storage); - Assert.Same(otherStorage, storage); - } - - [Fact] - public void CreateFromRouteValueDictionary_WithEmptyStorage_SharedInstance() - { - // Arrange - var other = new RouteValueDictionary(); - - // Act - var dict = new RouteValueDictionary(other); - - // Assert - Assert.Equal(other, dict); - - var storage = Assert.IsType(dict._storage); - var otherStorage = Assert.IsType(other._storage); + var storage = dict._propertyStorage; + var otherStorage = other._propertyStorage; Assert.Same(otherStorage, storage); } @@ -135,7 +120,7 @@ namespace Microsoft.AspNetCore.Routing.Tests var dict = new RouteValueDictionary(values); // Assert - Assert.IsType(dict._storage); + Assert.IsType[]>(dict._arrayStorage); Assert.Collection( dict.OrderBy(kvp => kvp.Key), kvp => @@ -157,7 +142,7 @@ namespace Microsoft.AspNetCore.Routing.Tests var dict = new RouteValueDictionary(values); // Assert - Assert.IsType(dict._storage); + Assert.IsType[]>(dict._arrayStorage); Assert.Collection( dict.OrderBy(kvp => kvp.Key), kvp => { Assert.Equal("First Name", kvp.Key); Assert.Equal("James", kvp.Value); }, @@ -178,7 +163,7 @@ namespace Microsoft.AspNetCore.Routing.Tests // Act & Assert ExceptionAssert.ThrowsArgument( () => new RouteValueDictionary(values), - "values", + "key", $"An element with the key 'Name' already exists in the {nameof(RouteValueDictionary)}."); } @@ -195,7 +180,7 @@ namespace Microsoft.AspNetCore.Routing.Tests // Act & Assert ExceptionAssert.ThrowsArgument( () => new RouteValueDictionary(values), - "values", + "key", $"An element with the key 'Name' already exists in the {nameof(RouteValueDictionary)}."); } @@ -209,7 +194,7 @@ namespace Microsoft.AspNetCore.Routing.Tests var dict = new RouteValueDictionary(obj); // Assert - Assert.IsType(dict._storage); + Assert.NotNull(dict._propertyStorage); Assert.Collection( dict.OrderBy(kvp => kvp.Key), kvp => { Assert.Equal("awesome", kvp.Key); Assert.Equal(123, kvp.Value); }, @@ -226,7 +211,7 @@ namespace Microsoft.AspNetCore.Routing.Tests var dict = new RouteValueDictionary(obj); // Assert - Assert.IsType(dict._storage); + Assert.NotNull(dict._propertyStorage); Assert.Collection( dict.OrderBy(kvp => kvp.Key), kvp => @@ -252,7 +237,7 @@ namespace Microsoft.AspNetCore.Routing.Tests var dict = new RouteValueDictionary(obj); // Assert - Assert.IsType(dict._storage); + Assert.NotNull(dict._propertyStorage); Assert.Collection( dict.OrderBy(kvp => kvp.Key), kvp => @@ -273,7 +258,7 @@ namespace Microsoft.AspNetCore.Routing.Tests var dict = new RouteValueDictionary(obj); // Assert - Assert.IsType(dict._storage); + Assert.NotNull(dict._propertyStorage); Assert.Empty(dict); } @@ -287,7 +272,7 @@ namespace Microsoft.AspNetCore.Routing.Tests var dict = new RouteValueDictionary(obj); // Assert - Assert.IsType(dict._storage); + Assert.NotNull(dict._propertyStorage); Assert.Empty(dict); } @@ -301,7 +286,7 @@ namespace Microsoft.AspNetCore.Routing.Tests var dict = new RouteValueDictionary(obj); // Assert - Assert.IsType(dict._storage); + Assert.NotNull(dict._propertyStorage); Assert.Collection( dict.OrderBy(kvp => kvp.Key), kvp => @@ -328,7 +313,7 @@ namespace Microsoft.AspNetCore.Routing.Tests var dict = new RouteValueDictionary(obj); // Assert - Assert.IsType(dict._storage); + Assert.NotNull(dict._propertyStorage); Assert.Collection( dict.OrderBy(kvp => kvp.Key), kvp => { Assert.Equal("DerivedProperty", kvp.Key); Assert.Equal(5, kvp.Value); }); @@ -344,7 +329,7 @@ namespace Microsoft.AspNetCore.Routing.Tests var dict = new RouteValueDictionary(obj); // Assert - Assert.IsType(dict._storage); + Assert.NotNull(dict._propertyStorage); Assert.Empty(dict); } @@ -406,7 +391,6 @@ namespace Microsoft.AspNetCore.Routing.Tests // Assert Assert.Null(value); - Assert.IsType(dict._storage); } [Fact] @@ -420,7 +404,7 @@ namespace Microsoft.AspNetCore.Routing.Tests // Assert Assert.Null(value); - Assert.IsType(dict._storage); + Assert.NotNull(dict._propertyStorage); } [Fact] @@ -434,7 +418,7 @@ namespace Microsoft.AspNetCore.Routing.Tests // Assert Assert.Equal("value", value); - Assert.IsType(dict._storage); + Assert.NotNull(dict._propertyStorage); } [Fact] @@ -448,11 +432,11 @@ namespace Microsoft.AspNetCore.Routing.Tests // Assert Assert.Equal("value", value); - Assert.IsType(dict._storage); + Assert.NotNull(dict._propertyStorage); } [Fact] - public void IndexGet_ListStorage_NoMatch_ReturnsNull() + public void IndexGet_ArrayStorage_NoMatch_ReturnsNull() { // Arrange var dict = new RouteValueDictionary() @@ -465,7 +449,7 @@ namespace Microsoft.AspNetCore.Routing.Tests // Assert Assert.Null(value); - Assert.IsType(dict._storage); + Assert.IsType[]>(dict._arrayStorage); } [Fact] @@ -482,7 +466,7 @@ namespace Microsoft.AspNetCore.Routing.Tests // Assert Assert.Equal("value", value); - Assert.IsType(dict._storage); + Assert.IsType[]>(dict._arrayStorage); } [Fact] @@ -499,7 +483,7 @@ namespace Microsoft.AspNetCore.Routing.Tests // Assert Assert.Equal("value", value); - Assert.IsType(dict._storage); + Assert.IsType[]>(dict._arrayStorage); } [Fact] @@ -513,7 +497,7 @@ namespace Microsoft.AspNetCore.Routing.Tests // Assert Assert.Collection(dict, kvp => { Assert.Equal("key", kvp.Key); Assert.Equal("value", kvp.Value); }); - Assert.IsType(dict._storage); + Assert.IsType[]>(dict._arrayStorage); } [Fact] @@ -530,7 +514,7 @@ namespace Microsoft.AspNetCore.Routing.Tests dict.OrderBy(kvp => kvp.Key), kvp => { Assert.Equal("age", kvp.Key); Assert.Equal(30, kvp.Value); }, kvp => { Assert.Equal("key", kvp.Key); Assert.Equal("value", kvp.Value); }); - Assert.IsType(dict._storage); + Assert.IsType[]>(dict._arrayStorage); } [Fact] @@ -544,7 +528,7 @@ namespace Microsoft.AspNetCore.Routing.Tests // Assert Assert.Collection(dict, kvp => { Assert.Equal("key", kvp.Key); Assert.Equal("value", kvp.Value); }); - Assert.IsType(dict._storage); + Assert.IsType[]>(dict._arrayStorage); } [Fact] @@ -558,7 +542,7 @@ namespace Microsoft.AspNetCore.Routing.Tests // Assert Assert.Collection(dict, kvp => { Assert.Equal("kEy", kvp.Key); Assert.Equal("value", kvp.Value); }); - Assert.IsType(dict._storage); + Assert.IsType[]>(dict._arrayStorage); } [Fact] @@ -578,7 +562,7 @@ namespace Microsoft.AspNetCore.Routing.Tests dict.OrderBy(kvp => kvp.Key), kvp => { Assert.Equal("age", kvp.Key); Assert.Equal(30, kvp.Value); }, kvp => { Assert.Equal("key", kvp.Key); Assert.Equal("value", kvp.Value); }); - Assert.IsType(dict._storage); + Assert.IsType[]>(dict._arrayStorage); } [Fact] @@ -595,7 +579,7 @@ namespace Microsoft.AspNetCore.Routing.Tests // Assert Assert.Collection(dict, kvp => { Assert.Equal("key", kvp.Key); Assert.Equal("value", kvp.Value); }); - Assert.IsType(dict._storage); + Assert.IsType[]>(dict._arrayStorage); } [Fact] @@ -612,7 +596,7 @@ namespace Microsoft.AspNetCore.Routing.Tests // Assert Assert.Collection(dict, kvp => { Assert.Equal("key", kvp.Key); Assert.Equal("value", kvp.Value); }); - Assert.IsType(dict._storage); + Assert.IsType[]>(dict._arrayStorage); } [Fact] @@ -626,7 +610,6 @@ namespace Microsoft.AspNetCore.Routing.Tests // Assert Assert.Equal(0, count); - Assert.IsType(dict._storage); } [Fact] @@ -640,7 +623,7 @@ namespace Microsoft.AspNetCore.Routing.Tests // Assert Assert.Equal(1, count); - Assert.IsType(dict._storage); + Assert.NotNull(dict._propertyStorage); } [Fact] @@ -657,7 +640,7 @@ namespace Microsoft.AspNetCore.Routing.Tests // Assert Assert.Equal(1, count); - Assert.IsType(dict._storage); + Assert.IsType[]>(dict._arrayStorage); } [Fact] @@ -671,7 +654,7 @@ namespace Microsoft.AspNetCore.Routing.Tests // Assert Assert.Empty(keys); - Assert.IsType(dict._storage); + Assert.IsType[]>(dict._arrayStorage); } [Fact] @@ -685,7 +668,7 @@ namespace Microsoft.AspNetCore.Routing.Tests // Assert Assert.Equal(new[] { "key" }, keys); - Assert.IsType(dict._storage); + Assert.IsType[]>(dict._arrayStorage); } [Fact] @@ -702,7 +685,7 @@ namespace Microsoft.AspNetCore.Routing.Tests // Assert Assert.Equal(new[] { "key" }, keys); - Assert.IsType(dict._storage); + Assert.IsType[]>(dict._arrayStorage); } [Fact] @@ -716,7 +699,7 @@ namespace Microsoft.AspNetCore.Routing.Tests // Assert Assert.Empty(values); - Assert.IsType(dict._storage); + Assert.IsType[]>(dict._arrayStorage); } [Fact] @@ -730,7 +713,7 @@ namespace Microsoft.AspNetCore.Routing.Tests // Assert Assert.Equal(new object[] { "value" }, values); - Assert.IsType(dict._storage); + Assert.IsType[]>(dict._arrayStorage); } [Fact] @@ -747,7 +730,7 @@ namespace Microsoft.AspNetCore.Routing.Tests // Assert Assert.Equal(new object[] { "value" }, values); - Assert.IsType(dict._storage); + Assert.IsType[]>(dict._arrayStorage); } [Fact] @@ -761,7 +744,7 @@ namespace Microsoft.AspNetCore.Routing.Tests // Assert Assert.Collection(dict, kvp => { Assert.Equal("key", kvp.Key); Assert.Equal("value", kvp.Value); }); - Assert.IsType(dict._storage); + Assert.IsType[]>(dict._arrayStorage); } [Fact] @@ -778,7 +761,7 @@ namespace Microsoft.AspNetCore.Routing.Tests dict.OrderBy(kvp => kvp.Key), kvp => { Assert.Equal("age", kvp.Key); Assert.Equal(30, kvp.Value); }, kvp => { Assert.Equal("key", kvp.Key); Assert.Equal("value", kvp.Value); }); - Assert.IsType(dict._storage); + Assert.IsType[]>(dict._arrayStorage); } [Fact] @@ -798,7 +781,7 @@ namespace Microsoft.AspNetCore.Routing.Tests dict.OrderBy(kvp => kvp.Key), kvp => { Assert.Equal("age", kvp.Key); Assert.Equal(30, kvp.Value); }, kvp => { Assert.Equal("key", kvp.Key); Assert.Equal("value", kvp.Value); }); - Assert.IsType(dict._storage); + Assert.IsType[]>(dict._arrayStorage); } [Fact] @@ -819,7 +802,7 @@ namespace Microsoft.AspNetCore.Routing.Tests Assert.Collection( dict.OrderBy(kvp => kvp.Key), kvp => { Assert.Equal("key", kvp.Key); Assert.Equal("value", kvp.Value); }); - Assert.IsType(dict._storage); + Assert.IsType[]>(dict._arrayStorage); } [Fact] @@ -840,7 +823,7 @@ namespace Microsoft.AspNetCore.Routing.Tests Assert.Collection( dict.OrderBy(kvp => kvp.Key), kvp => { Assert.Equal("key", kvp.Key); Assert.Equal("value", kvp.Value); }); - Assert.IsType(dict._storage); + Assert.IsType[]>(dict._arrayStorage); } [Fact] @@ -860,7 +843,7 @@ namespace Microsoft.AspNetCore.Routing.Tests dict.OrderBy(kvp => kvp.Key), kvp => { Assert.Equal("age", kvp.Key); Assert.Equal(30, kvp.Value); }, kvp => { Assert.Equal("key", kvp.Key); Assert.Equal("value", kvp.Value); }); - Assert.IsType(dict._storage); + Assert.IsType[]>(dict._arrayStorage); } [Fact] @@ -874,7 +857,6 @@ namespace Microsoft.AspNetCore.Routing.Tests // Assert Assert.Empty(dict); - Assert.IsType(dict._storage); } [Fact] @@ -888,7 +870,7 @@ namespace Microsoft.AspNetCore.Routing.Tests // Assert Assert.Empty(dict); - Assert.IsType(dict._storage); + Assert.NotNull(dict._propertyStorage); } [Fact] @@ -902,7 +884,7 @@ namespace Microsoft.AspNetCore.Routing.Tests // Assert Assert.Empty(dict); - Assert.IsType(dict._storage); + Assert.Null(dict._propertyStorage); } [Fact] @@ -919,7 +901,7 @@ namespace Microsoft.AspNetCore.Routing.Tests // Assert Assert.Empty(dict); - Assert.IsType(dict._storage); + Assert.IsType[]>(dict._arrayStorage); } [Fact] @@ -938,7 +920,7 @@ namespace Microsoft.AspNetCore.Routing.Tests // Assert Assert.True(result); - Assert.IsType(dict._storage); + Assert.IsType[]>(dict._arrayStorage); } [Fact] @@ -957,7 +939,7 @@ namespace Microsoft.AspNetCore.Routing.Tests // Assert Assert.True(result); - Assert.IsType(dict._storage); + Assert.IsType[]>(dict._arrayStorage); } [Fact] @@ -976,7 +958,7 @@ namespace Microsoft.AspNetCore.Routing.Tests // Assert Assert.False(result); - Assert.IsType(dict._storage); + Assert.IsType[]>(dict._arrayStorage); } // Value comparisons use the default equality comparer. @@ -996,7 +978,7 @@ namespace Microsoft.AspNetCore.Routing.Tests // Assert Assert.False(result); - Assert.IsType(dict._storage); + Assert.IsType[]>(dict._arrayStorage); } [Fact] @@ -1010,7 +992,6 @@ namespace Microsoft.AspNetCore.Routing.Tests // Assert Assert.False(result); - Assert.IsType(dict._storage); } [Fact] @@ -1024,7 +1005,7 @@ namespace Microsoft.AspNetCore.Routing.Tests // Assert Assert.False(result); - Assert.IsType(dict._storage); + Assert.NotNull(dict._propertyStorage); } [Fact] @@ -1038,7 +1019,7 @@ namespace Microsoft.AspNetCore.Routing.Tests // Assert Assert.True(result); - Assert.IsType(dict._storage); + Assert.NotNull(dict._propertyStorage); } [Fact] @@ -1052,7 +1033,7 @@ namespace Microsoft.AspNetCore.Routing.Tests // Assert Assert.True(result); - Assert.IsType(dict._storage); + Assert.NotNull(dict._propertyStorage); } [Fact] @@ -1069,7 +1050,7 @@ namespace Microsoft.AspNetCore.Routing.Tests // Assert Assert.False(result); - Assert.IsType(dict._storage); + Assert.IsType[]>(dict._arrayStorage); } [Fact] @@ -1086,7 +1067,7 @@ namespace Microsoft.AspNetCore.Routing.Tests // Assert Assert.True(result); - Assert.IsType(dict._storage); + Assert.IsType[]>(dict._arrayStorage); } [Fact] @@ -1103,7 +1084,7 @@ namespace Microsoft.AspNetCore.Routing.Tests // Assert Assert.True(result); - Assert.IsType(dict._storage); + Assert.IsType[]>(dict._arrayStorage); } [Fact] @@ -1128,7 +1109,7 @@ namespace Microsoft.AspNetCore.Routing.Tests new KeyValuePair("key", "value") }, array); - Assert.IsType(dict._storage); + Assert.IsType[]>(dict._arrayStorage); } [Fact] @@ -1148,7 +1129,7 @@ namespace Microsoft.AspNetCore.Routing.Tests // Assert Assert.True(result); Assert.Empty(dict); - Assert.IsType(dict._storage); + Assert.IsType[]>(dict._arrayStorage); } [Fact] @@ -1168,7 +1149,7 @@ namespace Microsoft.AspNetCore.Routing.Tests // Assert Assert.True(result); Assert.Empty(dict); - Assert.IsType(dict._storage); + Assert.IsType[]>(dict._arrayStorage); } [Fact] @@ -1188,7 +1169,7 @@ namespace Microsoft.AspNetCore.Routing.Tests // Assert Assert.False(result); Assert.Collection(dict, kvp => { Assert.Equal("key", kvp.Key); Assert.Equal("value", kvp.Value); }); - Assert.IsType(dict._storage); + Assert.IsType[]>(dict._arrayStorage); } // Value comparisons use the default equality comparer. @@ -1209,7 +1190,7 @@ namespace Microsoft.AspNetCore.Routing.Tests // Assert Assert.False(result); Assert.Collection(dict, kvp => { Assert.Equal("key", kvp.Key); Assert.Equal("value", kvp.Value); }); - Assert.IsType(dict._storage); + Assert.IsType[]>(dict._arrayStorage); } [Fact] @@ -1223,7 +1204,6 @@ namespace Microsoft.AspNetCore.Routing.Tests // Assert Assert.False(result); - Assert.IsType(dict._storage); } [Fact] @@ -1238,7 +1218,7 @@ namespace Microsoft.AspNetCore.Routing.Tests // Assert Assert.False(result); Assert.Empty(dict); - Assert.IsType(dict._storage); + Assert.NotNull(dict._propertyStorage); } [Fact] @@ -1253,7 +1233,7 @@ namespace Microsoft.AspNetCore.Routing.Tests // Assert Assert.False(result); Assert.Collection(dict, kvp => { Assert.Equal("key", kvp.Key); Assert.Equal("value", kvp.Value); }); - Assert.IsType(dict._storage); + Assert.IsType[]>(dict._arrayStorage); } [Fact] @@ -1268,7 +1248,7 @@ namespace Microsoft.AspNetCore.Routing.Tests // Assert Assert.True(result); Assert.Empty(dict); - Assert.IsType(dict._storage); + Assert.IsType[]>(dict._arrayStorage); } [Fact] @@ -1283,7 +1263,7 @@ namespace Microsoft.AspNetCore.Routing.Tests // Assert Assert.True(result); Assert.Empty(dict); - Assert.IsType(dict._storage); + Assert.IsType[]>(dict._arrayStorage); } [Fact] @@ -1301,7 +1281,7 @@ namespace Microsoft.AspNetCore.Routing.Tests // Assert Assert.False(result); Assert.Collection(dict, kvp => { Assert.Equal("key", kvp.Key); Assert.Equal("value", kvp.Value); }); - Assert.IsType(dict._storage); + Assert.IsType[]>(dict._arrayStorage); } [Fact] @@ -1319,7 +1299,7 @@ namespace Microsoft.AspNetCore.Routing.Tests // Assert Assert.True(result); Assert.Empty(dict); - Assert.IsType(dict._storage); + Assert.IsType[]>(dict._arrayStorage); } [Fact] @@ -1337,7 +1317,7 @@ namespace Microsoft.AspNetCore.Routing.Tests // Assert Assert.True(result); Assert.Empty(dict); - Assert.IsType(dict._storage); + Assert.IsType[]>(dict._arrayStorage); } [Fact] @@ -1353,7 +1333,6 @@ namespace Microsoft.AspNetCore.Routing.Tests // Assert Assert.False(result); Assert.Null(value); - Assert.IsType(dict._storage); } [Fact] @@ -1369,7 +1348,7 @@ namespace Microsoft.AspNetCore.Routing.Tests // Assert Assert.False(result); Assert.Null(value); - Assert.IsType(dict._storage); + Assert.NotNull(dict._propertyStorage); } [Fact] @@ -1385,7 +1364,7 @@ namespace Microsoft.AspNetCore.Routing.Tests // Assert Assert.True(result); Assert.Equal("value", value); - Assert.IsType(dict._storage); + Assert.NotNull(dict._propertyStorage); } [Fact] @@ -1401,7 +1380,7 @@ namespace Microsoft.AspNetCore.Routing.Tests // Assert Assert.True(result); Assert.Equal("value", value); - Assert.IsType(dict._storage); + Assert.NotNull(dict._propertyStorage); } [Fact] @@ -1420,7 +1399,7 @@ namespace Microsoft.AspNetCore.Routing.Tests // Assert Assert.False(result); Assert.Null(value); - Assert.IsType(dict._storage); + Assert.IsType[]>(dict._arrayStorage); } [Fact] @@ -1439,7 +1418,7 @@ namespace Microsoft.AspNetCore.Routing.Tests // Assert Assert.True(result); Assert.Equal("value", value); - Assert.IsType(dict._storage); + Assert.IsType[]>(dict._arrayStorage); } [Fact] @@ -1458,7 +1437,7 @@ namespace Microsoft.AspNetCore.Routing.Tests // Assert Assert.True(result); Assert.Equal("value", value); - Assert.IsType(dict._storage); + Assert.IsType[]>(dict._arrayStorage); } [Fact] @@ -1471,8 +1450,8 @@ namespace Microsoft.AspNetCore.Routing.Tests dict.Add("key", "value"); // Assert 1 - var storage = Assert.IsType(dict._storage); - Assert.Equal(4, storage.Capacity); + var storage = Assert.IsType[]>(dict._arrayStorage); + Assert.Equal(4, storage.Length); // Act 2 dict.Add("key2", "value2"); @@ -1481,7 +1460,8 @@ namespace Microsoft.AspNetCore.Routing.Tests dict.Add("key5", "value5"); // Assert 2 - Assert.Equal(8, storage.Capacity); + storage = Assert.IsType[]>(dict._arrayStorage); + Assert.Equal(8, storage.Length); } [Fact] @@ -1494,20 +1474,19 @@ namespace Microsoft.AspNetCore.Routing.Tests dict.Add("key3", "value3"); // Assert 1 - var storage = Assert.IsType(dict._storage); - Assert.Equal(3, storage.Count); + var storage = Assert.IsType[]>(dict._arrayStorage); + Assert.Equal(3, dict.Count); // Act dict.Remove("key2"); // Assert 2 - Assert.Equal(2, storage.Count); + storage = Assert.IsType[]>(dict._arrayStorage); + Assert.Equal(2, dict.Count); Assert.Equal("key", storage[0].Key); Assert.Equal("value", storage[0].Value); Assert.Equal("key3", storage[1].Key); Assert.Equal("value3", storage[1].Value); - - Assert.Throws(() => storage[2]); } private class RegularType From 1009705283309515006ce302fad52774df168b6a Mon Sep 17 00:00:00 2001 From: Kiran Challa Date: Mon, 25 Jun 2018 12:21:15 -0700 Subject: [PATCH 049/221] Added a RouteValuesBasedEndpointFinder --- .../Benchmarks/StartupUsingDispatcher.cs | 6 +- .../Matchers/MatcherBenchmarkBase.cs | 6 +- samples/DispatcherSample.Web/Startup.cs | 4 +- .../Endpoint.cs | 6 +- ...ndpointFinder.cs => IEndpointFinderOfT.cs} | 4 +- .../ILinkGenerator.cs | 13 +- .../{Address.cs => INameMetadata.cs} | 14 +- .../IRouteNameMetadata.cs | 11 + .../DefaultEndpointFinder.cs | 53 ---- .../DefaultLinkGenerator.cs | 30 +- .../DispatcherServiceCollectionExtensions.cs | 5 +- .../Internal/LinkGenerationDecisionTree.cs | 21 +- .../Matchers/MatcherEndpoint.cs | 32 ++- .../Matchers/TreeMatcher.cs | 2 +- .../NameBasedEndpointFinder.cs | 46 ++++ .../RouteValuesBasedEndpointFinder.cs | 166 +++++++++++ .../RouteValuesBasedEndpointFinderContext.cs} | 10 +- .../Tree/OutboundRouteEntry.cs | 5 + .../Tree/TreeRouter.cs | 2 +- .../DefaultEndpointFinderTest.cs | 161 ----------- .../DefaultLinkGeneratorTest.cs | 260 +++++++++--------- .../EndpointSelectorTests.cs | 74 ++--- .../HttpMethodEndpointConstraintTest.cs | 2 +- .../LinkGenerationDecisionTreeTest.cs | 26 +- .../Matchers/MatcherConformanceTest.cs | 7 +- .../Matchers/RouteMatcherBuilder.cs | 8 +- .../Matchers/TreeMatcherTests.cs | 11 +- .../Matchers/TreeRouterMatcherBuilder.cs | 11 +- .../TestObjects/TestEndpoint.cs | 4 +- .../TestObjects/TestMatcher.cs | 4 +- 30 files changed, 502 insertions(+), 502 deletions(-) rename src/Microsoft.AspNetCore.Routing.Abstractions/{IEndpointFinder.cs => IEndpointFinderOfT.cs} (70%) rename src/Microsoft.AspNetCore.Routing.Abstractions/{Address.cs => INameMetadata.cs} (54%) create mode 100644 src/Microsoft.AspNetCore.Routing.Abstractions/IRouteNameMetadata.cs delete mode 100644 src/Microsoft.AspNetCore.Routing/DefaultEndpointFinder.cs create mode 100644 src/Microsoft.AspNetCore.Routing/NameBasedEndpointFinder.cs create mode 100644 src/Microsoft.AspNetCore.Routing/RouteValuesBasedEndpointFinder.cs rename src/{Microsoft.AspNetCore.Routing.Abstractions/LinkGeneratorContext.cs => Microsoft.AspNetCore.Routing/RouteValuesBasedEndpointFinderContext.cs} (53%) delete mode 100644 test/Microsoft.AspNetCore.Routing.Tests/DefaultEndpointFinderTest.cs diff --git a/benchmarkapps/Benchmarks/StartupUsingDispatcher.cs b/benchmarkapps/Benchmarks/StartupUsingDispatcher.cs index f26c36c132..153b6e42cc 100644 --- a/benchmarkapps/Benchmarks/StartupUsingDispatcher.cs +++ b/benchmarkapps/Benchmarks/StartupUsingDispatcher.cs @@ -32,11 +32,11 @@ namespace Benchmarks return response.Body.WriteAsync(_helloWorldPayload, 0, payloadLength); }, template: "/plaintext", - values: new { }, + defaults: new RouteValueDictionary(), + requiredValues: new RouteValueDictionary(), order: 0, metadata: EndpointMetadataCollection.Empty, - displayName: "Plaintext", - address: null), + displayName: "Plaintext"), })); }); } diff --git a/benchmarks/Microsoft.AspNetCore.Routing.Performance/Matchers/MatcherBenchmarkBase.cs b/benchmarks/Microsoft.AspNetCore.Routing.Performance/Matchers/MatcherBenchmarkBase.cs index a9853d13c3..a2032b3c48 100644 --- a/benchmarks/Microsoft.AspNetCore.Routing.Performance/Matchers/MatcherBenchmarkBase.cs +++ b/benchmarks/Microsoft.AspNetCore.Routing.Performance/Matchers/MatcherBenchmarkBase.cs @@ -28,11 +28,11 @@ namespace Microsoft.AspNetCore.Routing.Matchers return new MatcherEndpoint( (next) => (context) => Task.CompletedTask, template, - new { }, + new RouteValueDictionary(), + new RouteValueDictionary(), 0, EndpointMetadataCollection.Empty, - template, - address: null); + template); } internal static int[] SampleRequests(int endpointCount, int count) diff --git a/samples/DispatcherSample.Web/Startup.cs b/samples/DispatcherSample.Web/Startup.cs index 5b8103640c..eca7ab2235 100644 --- a/samples/DispatcherSample.Web/Startup.cs +++ b/samples/DispatcherSample.Web/Startup.cs @@ -31,7 +31,7 @@ namespace DispatcherSample.Web response.ContentLength = payloadLength; return response.Body.WriteAsync(_homePayload, 0, payloadLength); }, - "/", new { }, 0, EndpointMetadataCollection.Empty, "Home", address: null), + "/", new RouteValueDictionary(), new RouteValueDictionary(), 0, EndpointMetadataCollection.Empty, "Home"), new MatcherEndpoint((next) => (httpContext) => { var response = httpContext.Response; @@ -41,7 +41,7 @@ namespace DispatcherSample.Web response.ContentLength = payloadLength; return response.Body.WriteAsync(_helloWorldPayload, 0, payloadLength); }, - "/plaintext", new { }, 0, EndpointMetadataCollection.Empty, "Plaintext", address: null), + "/plaintext", new RouteValueDictionary(), new RouteValueDictionary(), 0, EndpointMetadataCollection.Empty, "Plaintext"), })); }); } diff --git a/src/Microsoft.AspNetCore.Routing.Abstractions/Endpoint.cs b/src/Microsoft.AspNetCore.Routing.Abstractions/Endpoint.cs index da138e4014..f58ba517e9 100644 --- a/src/Microsoft.AspNetCore.Routing.Abstractions/Endpoint.cs +++ b/src/Microsoft.AspNetCore.Routing.Abstractions/Endpoint.cs @@ -10,19 +10,15 @@ namespace Microsoft.AspNetCore.Routing { protected Endpoint( EndpointMetadataCollection metadata, - string displayName, - Address address) + string displayName) { // All are allowed to be null Metadata = metadata ?? EndpointMetadataCollection.Empty; DisplayName = displayName; - Address = address; } public string DisplayName { get; } public EndpointMetadataCollection Metadata { get; } - - public Address Address { get; } } } diff --git a/src/Microsoft.AspNetCore.Routing.Abstractions/IEndpointFinder.cs b/src/Microsoft.AspNetCore.Routing.Abstractions/IEndpointFinderOfT.cs similarity index 70% rename from src/Microsoft.AspNetCore.Routing.Abstractions/IEndpointFinder.cs rename to src/Microsoft.AspNetCore.Routing.Abstractions/IEndpointFinderOfT.cs index e799cacbd9..ba450f1c7b 100644 --- a/src/Microsoft.AspNetCore.Routing.Abstractions/IEndpointFinder.cs +++ b/src/Microsoft.AspNetCore.Routing.Abstractions/IEndpointFinderOfT.cs @@ -5,8 +5,8 @@ using System.Collections.Generic; namespace Microsoft.AspNetCore.Routing { - public interface IEndpointFinder + public interface IEndpointFinder { - IEnumerable FindEndpoints(Address address); + IEnumerable FindEndpoints(TAddress address); } } diff --git a/src/Microsoft.AspNetCore.Routing.Abstractions/ILinkGenerator.cs b/src/Microsoft.AspNetCore.Routing.Abstractions/ILinkGenerator.cs index 8734108fb4..22f8547e9c 100644 --- a/src/Microsoft.AspNetCore.Routing.Abstractions/ILinkGenerator.cs +++ b/src/Microsoft.AspNetCore.Routing.Abstractions/ILinkGenerator.cs @@ -1,12 +1,21 @@ // Copyright (c) .NET Foundation. All rights reserved. // Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information. +using System.Collections.Generic; + namespace Microsoft.AspNetCore.Routing { public interface ILinkGenerator { - bool TryGetLink(LinkGeneratorContext context, out string link); + bool TryGetLink( + IEnumerable endpoints, + RouteValueDictionary explicitValues, + RouteValueDictionary ambientValues, + out string link); - string GetLink(LinkGeneratorContext context); + string GetLink( + IEnumerable endpoints, + RouteValueDictionary explicitValues, + RouteValueDictionary ambientValues); } } diff --git a/src/Microsoft.AspNetCore.Routing.Abstractions/Address.cs b/src/Microsoft.AspNetCore.Routing.Abstractions/INameMetadata.cs similarity index 54% rename from src/Microsoft.AspNetCore.Routing.Abstractions/Address.cs rename to src/Microsoft.AspNetCore.Routing.Abstractions/INameMetadata.cs index 6004d8b9f8..97de9aaa2f 100644 --- a/src/Microsoft.AspNetCore.Routing.Abstractions/Address.cs +++ b/src/Microsoft.AspNetCore.Routing.Abstractions/INameMetadata.cs @@ -1,19 +1,11 @@ // Copyright (c) .NET Foundation. All rights reserved. // Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information. + namespace Microsoft.AspNetCore.Routing { - public class Address + public interface INameMetadata { - public Address() - { - } - - public Address(string name) - { - Name = name; - } - - public string Name { get; set; } + string Name { get; } } } diff --git a/src/Microsoft.AspNetCore.Routing.Abstractions/IRouteNameMetadata.cs b/src/Microsoft.AspNetCore.Routing.Abstractions/IRouteNameMetadata.cs new file mode 100644 index 0000000000..eba962c285 --- /dev/null +++ b/src/Microsoft.AspNetCore.Routing.Abstractions/IRouteNameMetadata.cs @@ -0,0 +1,11 @@ +// Copyright (c) .NET Foundation. All rights reserved. +// Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information. + + +namespace Microsoft.AspNetCore.Routing +{ + public interface IRouteNameMetadata + { + string Name { get; } + } +} diff --git a/src/Microsoft.AspNetCore.Routing/DefaultEndpointFinder.cs b/src/Microsoft.AspNetCore.Routing/DefaultEndpointFinder.cs deleted file mode 100644 index cf06f56195..0000000000 --- a/src/Microsoft.AspNetCore.Routing/DefaultEndpointFinder.cs +++ /dev/null @@ -1,53 +0,0 @@ -// Copyright (c) .NET Foundation. All rights reserved. -// Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information. - -using System; -using System.Collections.Generic; -using System.Linq; -using Microsoft.Extensions.Logging; - -namespace Microsoft.AspNetCore.Routing -{ - internal class DefaultEndpointFinder : IEndpointFinder - { - private readonly CompositeEndpointDataSource _endpointDatasource; - private readonly ILogger _logger; - - public DefaultEndpointFinder( - CompositeEndpointDataSource endpointDataSource, - ILogger logger) - { - _endpointDatasource = endpointDataSource; - _logger = logger; - } - - public IEnumerable FindEndpoints(Address lookupAddress) - { - var allEndpoints = _endpointDatasource.Endpoints; - - if (lookupAddress == null || string.IsNullOrEmpty(lookupAddress.Name)) - { - return allEndpoints; - } - - var endpointsWithAddress = allEndpoints.Where(ep => ep.Address != null); - if (!endpointsWithAddress.Any()) - { - return allEndpoints; - } - - foreach (var endpoint in endpointsWithAddress) - { - if (string.Equals(lookupAddress.Name, endpoint.Address.Name, StringComparison.OrdinalIgnoreCase)) - { - return new[] { endpoint }; - } - } - - _logger.LogDebug( - $"Could not find an endpoint having an address with name '{lookupAddress.Name}'."); - - return Enumerable.Empty(); - } - } -} diff --git a/src/Microsoft.AspNetCore.Routing/DefaultLinkGenerator.cs b/src/Microsoft.AspNetCore.Routing/DefaultLinkGenerator.cs index efa773e6f5..7efe2cedd8 100644 --- a/src/Microsoft.AspNetCore.Routing/DefaultLinkGenerator.cs +++ b/src/Microsoft.AspNetCore.Routing/DefaultLinkGenerator.cs @@ -15,23 +15,23 @@ namespace Microsoft.AspNetCore.Routing { public class DefaultLinkGenerator : ILinkGenerator { - private readonly IEndpointFinder _endpointFinder; private readonly ObjectPool _uriBuildingContextPool; private readonly ILogger _logger; public DefaultLinkGenerator( - IEndpointFinder endpointFinder, ObjectPool uriBuildingContextPool, ILogger logger) { - _endpointFinder = endpointFinder; _uriBuildingContextPool = uriBuildingContextPool; _logger = logger; } - public string GetLink(LinkGeneratorContext context) + public string GetLink( + IEnumerable endpoints, + RouteValueDictionary explicitValues, + RouteValueDictionary ambientValues) { - if (TryGetLink(context, out var link)) + if (TryGetLink(endpoints, explicitValues, ambientValues, out var link)) { return link; } @@ -39,10 +39,12 @@ namespace Microsoft.AspNetCore.Routing throw new InvalidOperationException("Could not find a matching endpoint to generate a link."); } - public bool TryGetLink(LinkGeneratorContext context, out string link) + public bool TryGetLink( + IEnumerable endpoints, + RouteValueDictionary explicitValues, + RouteValueDictionary ambientValues, + out string link) { - var address = context.Address; - var endpoints = _endpointFinder.FindEndpoints(address); link = null; if (endpoints == null) @@ -59,7 +61,7 @@ namespace Microsoft.AspNetCore.Routing foreach (var endpoint in matcherEndpoints) { - link = GetLink(endpoint.ParsedTemlate, endpoint.Values, context); + link = GetLink(endpoint.ParsedTemplate, endpoint.Defaults, explicitValues, ambientValues); if (link != null) { return true; @@ -71,19 +73,17 @@ namespace Microsoft.AspNetCore.Routing private string GetLink( RouteTemplate template, - IReadOnlyDictionary defaultValues, - LinkGeneratorContext context) + RouteValueDictionary defaults, + RouteValueDictionary explicitValues, + RouteValueDictionary ambientValues) { - var defaults = new RouteValueDictionary(defaultValues); var templateBinder = new TemplateBinder( UrlEncoder.Default, _uriBuildingContextPool, template, defaults); - var values = templateBinder.GetValues( - new RouteValueDictionary(context.AmbientValues), - new RouteValueDictionary(context.SuppliedValues)); + var values = templateBinder.GetValues(ambientValues, explicitValues); if (values == null) { // We're missing one of the required values for this route. diff --git a/src/Microsoft.AspNetCore.Routing/DependencyInjection/DispatcherServiceCollectionExtensions.cs b/src/Microsoft.AspNetCore.Routing/DependencyInjection/DispatcherServiceCollectionExtensions.cs index 64f8d4ad81..565fe50cdf 100644 --- a/src/Microsoft.AspNetCore.Routing/DependencyInjection/DispatcherServiceCollectionExtensions.cs +++ b/src/Microsoft.AspNetCore.Routing/DependencyInjection/DispatcherServiceCollectionExtensions.cs @@ -2,8 +2,10 @@ // Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information. using System; +using System.Reflection; using Microsoft.AspNetCore.Routing; using Microsoft.AspNetCore.Routing.EndpointConstraints; +using Microsoft.AspNetCore.Routing.EndpointFinders; using Microsoft.AspNetCore.Routing.Matchers; using Microsoft.Extensions.DependencyInjection.Extensions; using Microsoft.Extensions.Options; @@ -35,7 +37,8 @@ namespace Microsoft.Extensions.DependencyInjection services.TryAddSingleton(); // Link generation related services - services.TryAddSingleton(); + services.TryAddSingleton, NameBasedEndpointFinder>(); + services.TryAddSingleton, RouteValuesBasedEndpointFinder>(); services.TryAddSingleton(); // // Endpoint Selection diff --git a/src/Microsoft.AspNetCore.Routing/Internal/LinkGenerationDecisionTree.cs b/src/Microsoft.AspNetCore.Routing/Internal/LinkGenerationDecisionTree.cs index f71e6dd74d..951d6b645c 100644 --- a/src/Microsoft.AspNetCore.Routing/Internal/LinkGenerationDecisionTree.cs +++ b/src/Microsoft.AspNetCore.Routing/Internal/LinkGenerationDecisionTree.cs @@ -20,18 +20,18 @@ namespace Microsoft.AspNetCore.Routing.Internal new OutboundMatchClassifier()); } - public IList GetMatches(VirtualPathContext context) + public IList GetMatches(RouteValueDictionary values, RouteValueDictionary ambientValues) { // Perf: Avoid allocation for List if there aren't any Matches or Criteria if (_root.Matches.Count > 0 || _root.Criteria.Count > 0) { var results = new List(); - Walk(results, context, _root, isFallbackPath: false); + Walk(results, values, ambientValues, _root, isFallbackPath: false); results.Sort(OutboundMatchResultComparer.Instance); return results; } - return null; + return null; } // We need to recursively walk the decision tree based on the provided route data @@ -61,7 +61,8 @@ namespace Microsoft.AspNetCore.Routing.Internal // The decision tree uses a tree data structure to execute these rules across all candidates at once. private void Walk( List results, - VirtualPathContext context, + RouteValueDictionary values, + RouteValueDictionary ambientValues, DecisionTreeNode node, bool isFallbackPath) { @@ -78,12 +79,12 @@ namespace Microsoft.AspNetCore.Routing.Internal var key = criterion.Key; object value; - if (context.Values.TryGetValue(key, out value)) + if (values.TryGetValue(key, out value)) { DecisionTreeNode branch; if (criterion.Branches.TryGetValue(value ?? string.Empty, out branch)) { - Walk(results, context, branch, isFallbackPath); + Walk(results, values, ambientValues, branch, isFallbackPath); } } else @@ -92,18 +93,18 @@ namespace Microsoft.AspNetCore.Routing.Internal // if an ambient value was supplied. The path explored with the empty value is considered // the fallback path. DecisionTreeNode branch; - if (context.AmbientValues.TryGetValue(key, out value) && + if (ambientValues.TryGetValue(key, out value) && !criterion.Branches.Comparer.Equals(value, string.Empty)) { if (criterion.Branches.TryGetValue(value, out branch)) { - Walk(results, context, branch, isFallbackPath); + Walk(results, values, ambientValues, branch, isFallbackPath); } } if (criterion.Branches.TryGetValue(string.Empty, out branch)) { - Walk(results, context, branch, isFallbackPath: true); + Walk(results, values, ambientValues, branch, isFallbackPath: true); } } } @@ -155,7 +156,7 @@ namespace Microsoft.AspNetCore.Routing.Internal } return StringComparer.Ordinal.Compare( - x.Match.Entry.RouteTemplate.TemplateText, + x.Match.Entry.RouteTemplate.TemplateText, y.Match.Entry.RouteTemplate.TemplateText); } } diff --git a/src/Microsoft.AspNetCore.Routing/Matchers/MatcherEndpoint.cs b/src/Microsoft.AspNetCore.Routing/Matchers/MatcherEndpoint.cs index c416bd148e..41b629ef6c 100644 --- a/src/Microsoft.AspNetCore.Routing/Matchers/MatcherEndpoint.cs +++ b/src/Microsoft.AspNetCore.Routing/Matchers/MatcherEndpoint.cs @@ -2,7 +2,6 @@ // Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information. using System; -using System.Collections.Generic; using System.Threading.Tasks; using Microsoft.AspNetCore.Http; using Microsoft.AspNetCore.Routing.Template; @@ -19,12 +18,12 @@ namespace Microsoft.AspNetCore.Routing.Matchers public MatcherEndpoint( Func invoker, string template, - object values, + RouteValueDictionary defaults, + RouteValueDictionary requiredValues, int order, EndpointMetadataCollection metadata, - string displayName, - Address address) - : base(metadata, displayName, address) + string displayName) + : base(metadata, displayName) { if (invoker == null) { @@ -37,24 +36,31 @@ namespace Microsoft.AspNetCore.Routing.Matchers } Invoker = invoker; - Template = template; - ParsedTemlate = TemplateParser.Parse(template); - var mergedDefaults = GetDefaults(ParsedTemlate, new RouteValueDictionary(values)); - Values = mergedDefaults; Order = order; + + Template = template; + ParsedTemplate = TemplateParser.Parse(template); + + RequiredValues = requiredValues; + var mergedDefaults = GetDefaults(ParsedTemplate, defaults); + Defaults = mergedDefaults; } public int Order { get; } public Func Invoker { get; } public string Template { get; } - public IReadOnlyDictionary Values { get; } + public RouteValueDictionary Defaults { get; } + + // Values required by an endpoint for it to be successfully matched on link generation + public RouteValueDictionary RequiredValues { get; } // Todo: needs review - public RouteTemplate ParsedTemlate { get; } + public RouteTemplate ParsedTemplate { get; } - private RouteValueDictionary GetDefaults(RouteTemplate parsedTemplate, RouteValueDictionary defaults) + // Merge inline and non inline defaults into one + private RouteValueDictionary GetDefaults(RouteTemplate parsedTemplate, RouteValueDictionary nonInlineDefaults) { - var result = defaults == null ? new RouteValueDictionary() : new RouteValueDictionary(defaults); + var result = nonInlineDefaults == null ? new RouteValueDictionary() : new RouteValueDictionary(nonInlineDefaults); foreach (var parameter in parsedTemplate.Parameters) { diff --git a/src/Microsoft.AspNetCore.Routing/Matchers/TreeMatcher.cs b/src/Microsoft.AspNetCore.Routing/Matchers/TreeMatcher.cs index fe887569ae..8b1795b0f5 100644 --- a/src/Microsoft.AspNetCore.Routing/Matchers/TreeMatcher.cs +++ b/src/Microsoft.AspNetCore.Routing/Matchers/TreeMatcher.cs @@ -100,7 +100,7 @@ namespace Microsoft.AspNetCore.Routing.Matchers { if (feature.Endpoint is MatcherEndpoint endpoint) { - foreach (var kvp in endpoint.Values) + foreach (var kvp in endpoint.Defaults) { if (!feature.Values.ContainsKey(kvp.Key)) { diff --git a/src/Microsoft.AspNetCore.Routing/NameBasedEndpointFinder.cs b/src/Microsoft.AspNetCore.Routing/NameBasedEndpointFinder.cs new file mode 100644 index 0000000000..c7879b19ee --- /dev/null +++ b/src/Microsoft.AspNetCore.Routing/NameBasedEndpointFinder.cs @@ -0,0 +1,46 @@ +// Copyright (c) .NET Foundation. All rights reserved. +// Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information. + +using System; +using System.Collections.Generic; +using System.Linq; +using Microsoft.AspNetCore.Routing.Matchers; +using Microsoft.Extensions.Logging; + +namespace Microsoft.AspNetCore.Routing +{ + internal class NameBasedEndpointFinder : IEndpointFinder + { + private readonly CompositeEndpointDataSource _endpointDatasource; + private readonly ILogger _logger; + + public NameBasedEndpointFinder( + CompositeEndpointDataSource endpointDataSource, + ILogger logger) + { + _endpointDatasource = endpointDataSource; + _logger = logger; + } + + public IEnumerable FindEndpoints(string endpointName) + { + if (string.IsNullOrEmpty(endpointName)) + { + return Array.Empty(); + } + + var endpoints = _endpointDatasource.Endpoints.OfType(); + + foreach (var endpoint in endpoints) + { + var nameMetadata = endpoint.Metadata.GetMetadata(); + if (nameMetadata != null && + string.Equals(endpointName, nameMetadata.Name, StringComparison.OrdinalIgnoreCase)) + { + return new[] { endpoint }; + } + } + return Array.Empty(); + } + } +} diff --git a/src/Microsoft.AspNetCore.Routing/RouteValuesBasedEndpointFinder.cs b/src/Microsoft.AspNetCore.Routing/RouteValuesBasedEndpointFinder.cs new file mode 100644 index 0000000000..a926d51cf7 --- /dev/null +++ b/src/Microsoft.AspNetCore.Routing/RouteValuesBasedEndpointFinder.cs @@ -0,0 +1,166 @@ +// Copyright (c) .NET Foundation. All rights reserved. +// Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information. + +using System; +using System.Collections.Generic; +using System.Linq; +using System.Threading.Tasks; +using Microsoft.AspNetCore.Routing.EndpointFinders; +using Microsoft.AspNetCore.Routing.Internal; +using Microsoft.AspNetCore.Routing.Matchers; +using Microsoft.AspNetCore.Routing.Template; +using Microsoft.AspNetCore.Routing.Tree; +using Microsoft.Extensions.ObjectPool; + +namespace Microsoft.AspNetCore.Routing +{ + internal class RouteValuesBasedEndpointFinder : IEndpointFinder + { + private readonly CompositeEndpointDataSource _endpointDataSource; + private readonly IInlineConstraintResolver _inlineConstraintResolver; + private readonly ObjectPool _objectPool; + private LinkGenerationDecisionTree _allMatchesLinkGenerationTree; + private IDictionary _namedMatches; + + public RouteValuesBasedEndpointFinder( + CompositeEndpointDataSource endpointDataSource, + ObjectPool objectPool, + IInlineConstraintResolver inlineConstraintResolver) + { + _endpointDataSource = endpointDataSource; + _objectPool = objectPool; + _inlineConstraintResolver = inlineConstraintResolver; + + BuildOutboundMatches(); + } + + public IEnumerable FindEndpoints(RouteValuesBasedEndpointFinderContext context) + { + IEnumerable matchResults = null; + if (string.IsNullOrEmpty(context.RouteName)) + { + matchResults = _allMatchesLinkGenerationTree.GetMatches( + context.ExplicitValues, + context.AmbientValues); + } + else if (_namedMatches.TryGetValue(context.RouteName, out var linkGenerationTree)) + { + matchResults = linkGenerationTree.GetMatches( + context.ExplicitValues, + context.AmbientValues); + } + + if (matchResults == null || !matchResults.Any()) + { + return Array.Empty(); + } + + return matchResults + .Select(matchResult => matchResult.Match) + .Select(match => (MatcherEndpoint)match.Entry.Data); + } + + private void BuildOutboundMatches() + { + var (allOutboundMatches, namedOutboundMatches) = GetOutboundMatches(); + _namedMatches = GetNamedMatches(namedOutboundMatches); + _allMatchesLinkGenerationTree = new LinkGenerationDecisionTree(allOutboundMatches.ToArray()); + } + + private (IEnumerable, IDictionary>) GetOutboundMatches() + { + var allOutboundMatches = new List(); + var namedOutboundMatches = new Dictionary>(StringComparer.OrdinalIgnoreCase); + + var endpoints = _endpointDataSource.Endpoints.OfType(); + foreach (var endpoint in endpoints) + { + var entry = CreateOutboundRouteEntry(endpoint); + + var outboundMatch = new OutboundMatch() { Entry = entry }; + allOutboundMatches.Add(outboundMatch); + + if (string.IsNullOrEmpty(entry.RouteName)) + { + continue; + } + + List matches; + if (!namedOutboundMatches.TryGetValue(entry.RouteName, out matches)) + { + matches = new List(); + namedOutboundMatches.Add(entry.RouteName, matches); + } + matches.Add(outboundMatch); + } + + return (allOutboundMatches, namedOutboundMatches); + } + + private OutboundRouteEntry CreateOutboundRouteEntry(MatcherEndpoint endpoint) + { + var routeNameMetadata = endpoint.Metadata.GetMetadata(); + var entry = new OutboundRouteEntry() + { + Handler = NullRouter.Instance, + Order = endpoint.Order, + Precedence = RoutePrecedence.ComputeOutbound(endpoint.ParsedTemplate), + RequiredLinkValues = endpoint.RequiredValues, + RouteTemplate = endpoint.ParsedTemplate, + Data = endpoint, + RouteName = routeNameMetadata?.Name, + }; + + // TODO: review. These route constriants should be constructed when the endpoint + // is built. This way they can be checked for validity on app startup too + var constraintBuilder = new RouteConstraintBuilder( + _inlineConstraintResolver, + endpoint.ParsedTemplate.TemplateText); + foreach (var parameter in endpoint.ParsedTemplate.Parameters) + { + if (parameter.InlineConstraints != null) + { + if (parameter.IsOptional) + { + constraintBuilder.SetOptional(parameter.Name); + } + + foreach (var constraint in parameter.InlineConstraints) + { + constraintBuilder.AddResolvedConstraint(parameter.Name, constraint.Constraint); + } + } + } + entry.Constraints = constraintBuilder.Build(); + entry.Defaults = endpoint.Defaults; + return entry; + } + + private IDictionary GetNamedMatches( + IDictionary> namedOutboundMatches) + { + var result = new Dictionary(StringComparer.OrdinalIgnoreCase); + foreach (var namedOutboundMatch in namedOutboundMatches) + { + result.Add(namedOutboundMatch.Key, new LinkGenerationDecisionTree(namedOutboundMatch.Value.ToArray())); + } + return result; + } + + // Used only to hook up link generation, and it doesn't need to do anything. + private class NullRouter : IRouter + { + public static readonly NullRouter Instance = new NullRouter(); + + public VirtualPathData GetVirtualPath(VirtualPathContext context) + { + return null; + } + + public Task RouteAsync(RouteContext context) + { + throw new NotImplementedException(); + } + } + } +} diff --git a/src/Microsoft.AspNetCore.Routing.Abstractions/LinkGeneratorContext.cs b/src/Microsoft.AspNetCore.Routing/RouteValuesBasedEndpointFinderContext.cs similarity index 53% rename from src/Microsoft.AspNetCore.Routing.Abstractions/LinkGeneratorContext.cs rename to src/Microsoft.AspNetCore.Routing/RouteValuesBasedEndpointFinderContext.cs index 90f6eab6b8..ccc64ee5c6 100644 --- a/src/Microsoft.AspNetCore.Routing.Abstractions/LinkGeneratorContext.cs +++ b/src/Microsoft.AspNetCore.Routing/RouteValuesBasedEndpointFinderContext.cs @@ -1,14 +1,14 @@ // Copyright (c) .NET Foundation. All rights reserved. // Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information. -namespace Microsoft.AspNetCore.Routing +namespace Microsoft.AspNetCore.Routing.EndpointFinders { - public class LinkGeneratorContext + public class RouteValuesBasedEndpointFinderContext { - public Address Address { get; set; } + public string RouteName { get; set; } + + public RouteValueDictionary ExplicitValues { get; set; } public RouteValueDictionary AmbientValues { get; set; } - - public RouteValueDictionary SuppliedValues { get; set; } } } diff --git a/src/Microsoft.AspNetCore.Routing/Tree/OutboundRouteEntry.cs b/src/Microsoft.AspNetCore.Routing/Tree/OutboundRouteEntry.cs index 2364c3f350..9c5258df1a 100644 --- a/src/Microsoft.AspNetCore.Routing/Tree/OutboundRouteEntry.cs +++ b/src/Microsoft.AspNetCore.Routing/Tree/OutboundRouteEntry.cs @@ -58,5 +58,10 @@ namespace Microsoft.AspNetCore.Routing.Tree /// Gets or sets the . /// public RouteTemplate RouteTemplate { get; set; } + + /// + /// Gets or sets the data that is associated with this entry. + /// + public object Data { get; set; } } } \ No newline at end of file diff --git a/src/Microsoft.AspNetCore.Routing/Tree/TreeRouter.cs b/src/Microsoft.AspNetCore.Routing/Tree/TreeRouter.cs index a4735712f5..679cbf5261 100644 --- a/src/Microsoft.AspNetCore.Routing/Tree/TreeRouter.cs +++ b/src/Microsoft.AspNetCore.Routing/Tree/TreeRouter.cs @@ -150,7 +150,7 @@ namespace Microsoft.AspNetCore.Routing.Tree // The decision tree will give us back all entries that match the provided route data in the correct // order. We just need to iterate them and use the first one that can generate a link. - var matches = _linkGenerationTree.GetMatches(context); + var matches = _linkGenerationTree.GetMatches(context.Values, context.AmbientValues); if (matches == null) { diff --git a/test/Microsoft.AspNetCore.Routing.Tests/DefaultEndpointFinderTest.cs b/test/Microsoft.AspNetCore.Routing.Tests/DefaultEndpointFinderTest.cs deleted file mode 100644 index a9421aad05..0000000000 --- a/test/Microsoft.AspNetCore.Routing.Tests/DefaultEndpointFinderTest.cs +++ /dev/null @@ -1,161 +0,0 @@ -// Copyright (c) .NET Foundation. All rights reserved. -// Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information. - -using Microsoft.AspNetCore.Routing.TestObjects; -using Microsoft.Extensions.Logging.Abstractions; -using Xunit; - -namespace Microsoft.AspNetCore.Routing -{ - public class DefaultEndpointFinderTest - { - [Fact] - public void FindEndpoints_IgnoresCase_ForRouteNameLookup() - { - // Arrange - var endpoint1 = CreateEndpoint(new Address("home")); - var endpoint2 = CreateEndpoint(new Address("admin")); - var endpointFinder = CreateDefaultEndpointFinder(endpoint1, endpoint2); - - // Act - var result = endpointFinder.FindEndpoints(new Address("Admin")); - - // Assert - var endpoint = Assert.Single(result); - Assert.Same(endpoint2, endpoint); - } - - [Fact] - public void FindEndpoints_MultipleEndpointsWithSameName_ReturnsFirstEndpoint_WithMatchingName() - { - // Arrange - var name = "common-tag-for-all-my-section's-routes"; - var endpoint1 = CreateEndpoint(new Address(name)); - var endpoint2 = CreateEndpoint(new Address("admin")); - var endpoint3 = CreateEndpoint(new Address(name)); - var endpoint4 = CreateEndpoint(new Address("products")); - var endpointFinder = CreateDefaultEndpointFinder(endpoint1, endpoint2, endpoint3, endpoint4); - - // Act - var result = endpointFinder.FindEndpoints(new Address(name)); - - // Assert - var endpoint = Assert.Single(result); - Assert.Same(endpoint, endpoint1); - } - - [Fact] - public void FindEndpoints_ReturnsAllEndpoints_WhenNoEndpointsHaveAddress() - { - // Arrange - var endpoint1 = CreateEndpoint(address: null); - var endpoint2 = CreateEndpoint(address: null); - var endpointFinder = CreateDefaultEndpointFinder(endpoint1, endpoint2); - - // Act - var result = endpointFinder.FindEndpoints(new Address("Admin")); - - // Assert - Assert.Collection( - result, - (ep) => Assert.Same(endpoint1, ep), - (ep) => Assert.Same(endpoint2, ep)); - } - - [Fact] - public void FindEndpoints_ReturnsAllEndpoints_WhenLookupAddress_IsNull() - { - // Arrange - var endpoint1 = CreateEndpoint(new Address("home")); - var endpoint2 = CreateEndpoint(new Address("admin")); - var endpointFinder = CreateDefaultEndpointFinder(endpoint1, endpoint2); - - // Act - var result = endpointFinder.FindEndpoints(lookupAddress: null); - - // Assert - Assert.Collection( - result, - (ep) => Assert.Same(endpoint1, ep), - (ep) => Assert.Same(endpoint2, ep)); - } - - [Fact] - public void FindEndpoints_ReturnsAllEndpoints_WhenNoEndpointsHaveAddress_AndLookupAddress_IsNull() - { - // Arrange - var endpoint1 = CreateEndpoint(address: null); - var endpoint2 = CreateEndpoint(address: null); - var endpointFinder = CreateDefaultEndpointFinder(endpoint1, endpoint2); - - // Act - var result = endpointFinder.FindEndpoints(lookupAddress: null); - - // Assert - Assert.Collection( - result, - (ep) => Assert.Same(endpoint1, ep), - (ep) => Assert.Same(endpoint2, ep)); - } - - [Fact] - public void FindEndpoints_ReturnsAllEndpoints_WhenNoInformationGiven_OnLookupAddress() - { - // Arrange - var endpoint1 = CreateEndpoint(new Address("home")); - var endpoint2 = CreateEndpoint(new Address("admin")); - var endpointFinder = CreateDefaultEndpointFinder(endpoint1, endpoint2); - - // Act - var result = endpointFinder.FindEndpoints(new Address(name: null)); - - // Assert - Assert.Collection( - result, - (ep) => Assert.Same(endpoint1, ep), - (ep) => Assert.Same(endpoint2, ep)); - } - - [Fact] - public void FindEndpoints_ReturnsEmpty_WhenNoEndpointFound_WithLookupAddress_Name() - { - // Arrange - var endpoint1 = CreateEndpoint(new Address("home")); - var endpoint2 = CreateEndpoint(new Address("admin")); - var endpointFinder = CreateDefaultEndpointFinder(endpoint1, endpoint2); - - // Act - var result = endpointFinder.FindEndpoints(new Address("DoesNotExist")); - - // Assert - Assert.Empty(result); - } - - private Endpoint CreateEndpoint(Address address) - { - return new TestEndpoint( - EndpointMetadataCollection.Empty, - displayName: null, - address: address); - } - - private DefaultEndpointFinder CreateDefaultEndpointFinder(params Endpoint[] endpoints) - { - return new DefaultEndpointFinder( - new CompositeEndpointDataSource(new[] { new DefaultEndpointDataSource(endpoints) }), - NullLogger.Instance); - } - - private class HomeController - { - public void Index() { } - public void Contact() { } - } - - private class AdminController - { - public void Index() { } - public void Contact() { } - } - } -} diff --git a/test/Microsoft.AspNetCore.Routing.Tests/DefaultLinkGeneratorTest.cs b/test/Microsoft.AspNetCore.Routing.Tests/DefaultLinkGeneratorTest.cs index 892c69519b..ffb78a6ea1 100644 --- a/test/Microsoft.AspNetCore.Routing.Tests/DefaultLinkGeneratorTest.cs +++ b/test/Microsoft.AspNetCore.Routing.Tests/DefaultLinkGeneratorTest.cs @@ -4,10 +4,10 @@ using System; using System.Collections.Generic; using System.Threading.Tasks; +using Microsoft.AspNetCore.Routing.EndpointFinders; using Microsoft.AspNetCore.Routing.Internal; using Microsoft.AspNetCore.Routing.Matchers; using Microsoft.Extensions.Logging; -using Microsoft.Extensions.Logging.Abstractions; using Microsoft.Extensions.ObjectPool; using Moq; using Xunit; @@ -21,11 +21,11 @@ namespace Microsoft.AspNetCore.Routing { // Arrange var endpoint = CreateEndpoint("{controller}"); - var linkGenerator = CreateLinkGenerator(CreateEndpointFinder(endpoint)); - var context = CreateLinkGeneratorContext(new { controller = "Home" }); + var linkGenerator = CreateLinkGenerator(); + var context = CreateRouteValuesContext(new { controller = "Home" }); // Act - var link = linkGenerator.GetLink(context); + var link = linkGenerator.GetLink(new[] { endpoint }, context.ExplicitValues, context.AmbientValues); // Assert Assert.Equal("/Home", link); @@ -37,11 +37,12 @@ namespace Microsoft.AspNetCore.Routing // Arrange var expectedMessage = "Could not find a matching endpoint to generate a link."; var endpoint = CreateEndpoint("{controller}/{action}"); - var linkGenerator = CreateLinkGenerator(CreateEndpointFinder(endpoint)); - var context = CreateLinkGeneratorContext(new { controller = "Home" }); + var linkGenerator = CreateLinkGenerator(); + var context = CreateRouteValuesContext(new { controller = "Home" }); // Act & Assert - var exception = Assert.Throws(() => linkGenerator.GetLink(context)); + var exception = Assert.Throws( + () => linkGenerator.GetLink(new[] { endpoint }, context.ExplicitValues, context.AmbientValues)); Assert.Equal(expectedMessage, exception.Message); } @@ -50,11 +51,15 @@ namespace Microsoft.AspNetCore.Routing { // Arrange var endpoint = CreateEndpoint("{controller}/{action}"); - var linkGenerator = CreateLinkGenerator(CreateEndpointFinder(endpoint)); - var context = CreateLinkGeneratorContext(new { controller = "Home" }); + var linkGenerator = CreateLinkGenerator(); + var context = CreateRouteValuesContext(new { controller = "Home" }); // Act - var canGenerateLink = linkGenerator.TryGetLink(context, out var link); + var canGenerateLink = linkGenerator.TryGetLink( + new[] { endpoint }, + context.ExplicitValues, + context.AmbientValues, + out var link); // Assert Assert.False(canGenerateLink); @@ -68,11 +73,14 @@ namespace Microsoft.AspNetCore.Routing var endpoint1 = CreateEndpoint("{controller}/{action}/{id?}"); var endpoint2 = CreateEndpoint("{controller}/{action}"); var endpoint3 = CreateEndpoint("{controller}"); - var linkGenerator = CreateLinkGenerator(CreateEndpointFinder(endpoint1, endpoint2, endpoint3)); - var context = CreateLinkGeneratorContext(new { controller = "Home", action = "Index", id = "10" }); + var linkGenerator = CreateLinkGenerator(); + var context = CreateRouteValuesContext(new { controller = "Home", action = "Index", id = "10" }); // Act - var link = linkGenerator.GetLink(context); + var link = linkGenerator.GetLink( + new[] { endpoint1, endpoint2, endpoint3 }, + context.ExplicitValues, + context.AmbientValues); // Assert Assert.Equal("/Home/Index/10", link); @@ -85,11 +93,14 @@ namespace Microsoft.AspNetCore.Routing var endpoint1 = CreateEndpoint("{controller}/{action}/{id}"); var endpoint2 = CreateEndpoint("{controller}/{action}"); var endpoint3 = CreateEndpoint("{controller}"); - var linkGenerator = CreateLinkGenerator(CreateEndpointFinder(endpoint1, endpoint2, endpoint3)); - var context = CreateLinkGeneratorContext(new { controller = "Home", action = "Index" }); + var linkGenerator = CreateLinkGenerator(); + var context = CreateRouteValuesContext(new { controller = "Home", action = "Index" }); // Act - var link = linkGenerator.GetLink(context); + var link = linkGenerator.GetLink( + new[] { endpoint1, endpoint2, endpoint3 }, + context.ExplicitValues, + context.AmbientValues); // Assert Assert.Equal("/Home/Index", link); @@ -100,13 +111,13 @@ namespace Microsoft.AspNetCore.Routing { // Arrange var endpoint = CreateEndpoint("{controller}/{action}"); - var linkGenerator = CreateLinkGenerator(CreateEndpointFinder(endpoint)); - var context = CreateLinkGeneratorContext( + var linkGenerator = CreateLinkGenerator(); + var context = CreateRouteValuesContext( suppliedValues: new { name = "name with %special #characters" }, ambientValues: new { controller = "Home", action = "Index" }); // Act - var link = linkGenerator.GetLink(context); + var link = linkGenerator.GetLink(new[] { endpoint }, context.ExplicitValues, context.AmbientValues); // Assert Assert.Equal("/Home/Index?name=name%20with%20%25special%20%23characters", link); @@ -117,13 +128,13 @@ namespace Microsoft.AspNetCore.Routing { // Arrange var endpoint = CreateEndpoint("{controller}/{action}"); - var linkGenerator = CreateLinkGenerator(CreateEndpointFinder(endpoint)); - var context = CreateLinkGeneratorContext( + var linkGenerator = CreateLinkGenerator(); + var context = CreateRouteValuesContext( new { color = new List { "red", "green", "blue" } }, new { controller = "Home", action = "Index" }); // Act - var link = linkGenerator.GetLink(context); + var link = linkGenerator.GetLink(new[] { endpoint }, context.ExplicitValues, context.AmbientValues); // Assert Assert.Equal("/Home/Index?color=red&color=green&color=blue", link); @@ -134,13 +145,13 @@ namespace Microsoft.AspNetCore.Routing { // Arrange var endpoint = CreateEndpoint("{controller}/{action}"); - var linkGenerator = CreateLinkGenerator(CreateEndpointFinder(endpoint)); - var context = CreateLinkGeneratorContext( + var linkGenerator = CreateLinkGenerator(); + var context = CreateRouteValuesContext( new { items = new List { 10, 20, 30 } }, new { controller = "Home", action = "Index" }); // Act - var link = linkGenerator.GetLink(context); + var link = linkGenerator.GetLink(new[] { endpoint }, context.ExplicitValues, context.AmbientValues); // Assert Assert.Equal("/Home/Index?items=10&items=20&items=30", link); @@ -151,13 +162,13 @@ namespace Microsoft.AspNetCore.Routing { // Arrange var endpoint = CreateEndpoint("{controller}/{action}"); - var linkGenerator = CreateLinkGenerator(CreateEndpointFinder(endpoint)); - var context = CreateLinkGeneratorContext( + var linkGenerator = CreateLinkGenerator(); + var context = CreateRouteValuesContext( new { color = new List { } }, new { controller = "Home", action = "Index" }); // Act - var link = linkGenerator.GetLink(context); + var link = linkGenerator.GetLink(new[] { endpoint }, context.ExplicitValues, context.AmbientValues); // Assert Assert.Equal("/Home/Index", link); @@ -168,13 +179,13 @@ namespace Microsoft.AspNetCore.Routing { // Arrange var endpoint = CreateEndpoint("{controller}/{action}"); - var linkGenerator = CreateLinkGenerator(CreateEndpointFinder(endpoint)); - var context = CreateLinkGeneratorContext( + var linkGenerator = CreateLinkGenerator(); + var context = CreateRouteValuesContext( new { page = 1, color = new List { "red", "green", "blue" }, message = "textfortest" }, new { controller = "Home", action = "Index" }); // Act - var link = linkGenerator.GetLink(context); + var link = linkGenerator.GetLink(new[] { endpoint }, context.ExplicitValues, context.AmbientValues); // Assert Assert.Equal("/Home/Index?page=1&color=red&color=green&color=blue&message=textfortest", link); @@ -185,13 +196,13 @@ namespace Microsoft.AspNetCore.Routing { // Arrange var endpoint = CreateEndpoint("{controller}/{action}"); - var linkGenerator = CreateLinkGenerator(CreateEndpointFinder(endpoint)); - var context = CreateLinkGeneratorContext( + var linkGenerator = CreateLinkGenerator(); + var context = CreateRouteValuesContext( suppliedValues: new { action = "Index" }, ambientValues: new { controller = "Home" }); // Act - var link = linkGenerator.GetLink(context); + var link = linkGenerator.GetLink(new[] { endpoint }, context.ExplicitValues, context.AmbientValues); // Assert Assert.Equal("/Home/Index", link); @@ -201,9 +212,9 @@ namespace Microsoft.AspNetCore.Routing //public void RouteGenerationRejectsConstraints() //{ // // Arrange - // var context = CreateLinkGeneratorContext(new { p1 = "abcd" }); + // var context = CreateRouteValuesContext(new { p1 = "abcd" }); - // var endpoint = CreateEndpoint( + // var endpoint = CreateEndpoints( // "{p1}/{p2}", // new { p2 = "catchall" }, // true, @@ -220,16 +231,16 @@ namespace Microsoft.AspNetCore.Routing //public void RouteGenerationAcceptsConstraints() //{ // // Arrange - // var context = CreateLinkGeneratorContext(new { p1 = "hello", p2 = "1234" }); + // var context = CreateRouteValuesContext(new { p1 = "hello", p2 = "1234" }); - // var endpoint = CreateEndpoint( + // var endpoint = CreateEndpoints( // "{p1}/{p2}", // new { p2 = "catchall" }, // true, // new RouteValueDictionary(new { p2 = "\\d{4}" })); // // Act - // var link = linkGenerator.GetLink(context); + // var link = linkGenerator.GetLink(new[] { endpoint }, context.ExplicitValues, context.AmbientValues); // // Assert // Assert.NotNull(pathData); @@ -242,9 +253,9 @@ namespace Microsoft.AspNetCore.Routing //public void RouteWithCatchAllRejectsConstraints() //{ // // Arrange - // var context = CreateLinkGeneratorContext(new { p1 = "abcd" }); + // var context = CreateRouteValuesContext(new { p1 = "abcd" }); - // var endpoint = CreateEndpoint( + // var endpoint = CreateEndpoints( // "{p1}/{*p2}", // new { p2 = "catchall" }, // true, @@ -261,16 +272,16 @@ namespace Microsoft.AspNetCore.Routing //public void RouteWithCatchAllAcceptsConstraints() //{ // // Arrange - // var context = CreateLinkGeneratorContext(new { p1 = "hello", p2 = "1234" }); + // var context = CreateRouteValuesContext(new { p1 = "hello", p2 = "1234" }); - // var endpoint = CreateEndpoint( + // var endpoint = CreateEndpoints( // "{p1}/{*p2}", // new { p2 = "catchall" }, // true, // new RouteValueDictionary(new { p2 = "\\d{4}" })); // // Act - // var link = linkGenerator.GetLink(context); + // var link = linkGenerator.GetLink(new[] { endpoint }, context.ExplicitValues, context.AmbientValues); // // Assert // Assert.NotNull(pathData); @@ -283,7 +294,7 @@ namespace Microsoft.AspNetCore.Routing //public void GetLinkWithNonParameterConstraintReturnsUrlWithoutQueryString() //{ // // Arrange - // var context = CreateLinkGeneratorContext(new { p1 = "hello", p2 = "1234" }); + // var context = CreateRouteValuesContext(new { p1 = "hello", p2 = "1234" }); // var target = new Mock(); // target @@ -297,14 +308,14 @@ namespace Microsoft.AspNetCore.Routing // .Returns(true) // .Verifiable(); - // var endpoint = CreateEndpoint( + // var endpoint = CreateEndpoints( // "{p1}/{p2}", // new { p2 = "catchall" }, // true, // new RouteValueDictionary(new { p2 = target.Object })); // // Act - // var link = linkGenerator.GetLink(context); + // var link = linkGenerator.GetLink(new[] { endpoint }, context.ExplicitValues, context.AmbientValues); // // Assert // Assert.NotNull(pathData); @@ -322,13 +333,13 @@ namespace Microsoft.AspNetCore.Routing //{ // // Arrange // var constraint = new CapturingConstraint(); - // var endpoint = CreateEndpoint( + // var endpoint = CreateEndpoints( // template: "slug/{controller}/{action}", // defaultValues: null, // handleRequest: true, // constraints: new { c = constraint }); - // var context = CreateLinkGeneratorContext( + // var context = CreateRouteValuesContext( // values: new { action = "Store" }, // ambientValues: new { Controller = "Home", action = "Blog", extra = "42" }); @@ -336,7 +347,7 @@ namespace Microsoft.AspNetCore.Routing // new { controller = "Home", action = "Store", extra = "42" }); // // Act - // var link = linkGenerator.GetLink(context); + // var link = linkGenerator.GetLink(new[] { endpoint }, context.ExplicitValues, context.AmbientValues); // // Assert // Assert.Equal("/slug/Home/Store", link); @@ -353,13 +364,13 @@ namespace Microsoft.AspNetCore.Routing //{ // // Arrange // var constraint = new CapturingConstraint(); - // var endpoint = CreateEndpoint( + // var endpoint = CreateEndpoints( // template: "slug/{controller}/{action}", // defaultValues: new { otherthing = "17" }, // handleRequest: true, // constraints: new { c = constraint }); - // var context = CreateLinkGeneratorContext( + // var context = CreateRouteValuesContext( // values: new { action = "Store" }, // ambientValues: new { Controller = "Home", action = "Blog" }); @@ -367,7 +378,7 @@ namespace Microsoft.AspNetCore.Routing // new { controller = "Home", action = "Store" }); // // Act - // var link = linkGenerator.GetLink(context); + // var link = linkGenerator.GetLink(new[] { endpoint }, context.ExplicitValues, context.AmbientValues); // // Assert // Assert.Equal("/slug/Home/Store", link); @@ -383,13 +394,13 @@ namespace Microsoft.AspNetCore.Routing //{ // // Arrange // var constraint = new CapturingConstraint(); - // var endpoint = CreateEndpoint( + // var endpoint = CreateEndpoints( // template: "slug/{controller}/{action}", // defaultValues: new { action = "Index" }, // handleRequest: true, // constraints: new { c = constraint }); - // var context = CreateLinkGeneratorContext( + // var context = CreateRouteValuesContext( // values: new { controller = "Shopping" }, // ambientValues: new { Controller = "Home", action = "Blog" }); @@ -397,7 +408,7 @@ namespace Microsoft.AspNetCore.Routing // new { controller = "Shopping", action = "Index" }); // // Act - // var link = linkGenerator.GetLink(context); + // var link = linkGenerator.GetLink(new[] { endpoint }, context.ExplicitValues, context.AmbientValues); // // Assert // Assert.Equal("/slug/Shopping", link); @@ -414,13 +425,13 @@ namespace Microsoft.AspNetCore.Routing //{ // // Arrange // var constraint = new CapturingConstraint(); - // var endpoint = CreateEndpoint( + // var endpoint = CreateEndpoints( // template: "slug/{controller}/{action}", // defaultValues: new { otherthing = "17", thirdthing = "13" }, // handleRequest: true, // constraints: new { c = constraint }); - // var context = CreateLinkGeneratorContext( + // var context = CreateRouteValuesContext( // values: new { action = "Store", thirdthing = "13" }, // ambientValues: new { Controller = "Home", action = "Blog", otherthing = "17" }); @@ -428,7 +439,7 @@ namespace Microsoft.AspNetCore.Routing // new { controller = "Home", action = "Store", otherthing = "17", thirdthing = "13" }); // // Act - // var link = linkGenerator.GetLink(context); + // var link = linkGenerator.GetLink(new[] { endpoint }, context.ExplicitValues, context.AmbientValues); // // Assert // Assert.Equal("/slug/Home/Store", link); @@ -442,12 +453,12 @@ namespace Microsoft.AspNetCore.Routing //public void GetLink_InlineConstraints_Success() //{ // // Arrange - // var endpoint = CreateEndpoint("{controller}/{action}/{id:int}"); - // var context = CreateLinkGeneratorContext( + // var endpoint = CreateEndpoints("{controller}/{action}/{id:int}"); + // var context = CreateRouteValuesContext( // values: new { action = "Index", controller = "Home", id = 4 }); // // Act - // var link = linkGenerator.GetLink(context); + // var link = linkGenerator.GetLink(new[] { endpoint }, context.ExplicitValues, context.AmbientValues); // // Assert // Assert.Equal("/Home/Index/4", link); @@ -459,8 +470,8 @@ namespace Microsoft.AspNetCore.Routing //public void GetLink_InlineConstraints_NonMatchingvalue() //{ // // Arrange - // var endpoint = CreateEndpoint("{controller}/{action}/{id:int}"); - // var context = CreateLinkGeneratorContext( + // var endpoint = CreateEndpoints("{controller}/{action}/{id:int}"); + // var context = CreateRouteValuesContext( // values: new { action = "Index", controller = "Home", id = "asf" }); // // Act @@ -474,12 +485,12 @@ namespace Microsoft.AspNetCore.Routing //public void GetLink_InlineConstraints_OptionalParameter_ValuePresent() //{ // // Arrange - // var endpoint = CreateEndpoint("{controller}/{action}/{id:int?}"); - // var context = CreateLinkGeneratorContext( + // var endpoint = CreateEndpoints("{controller}/{action}/{id:int?}"); + // var context = CreateRouteValuesContext( // values: new { action = "Index", controller = "Home", id = 98 }); // // Act - // var link = linkGenerator.GetLink(context); + // var link = linkGenerator.GetLink(new[] { endpoint }, context.ExplicitValues, context.AmbientValues); // // Assert // Assert.Equal("/Home/Index/98", link); @@ -491,12 +502,12 @@ namespace Microsoft.AspNetCore.Routing //public void GetLink_InlineConstraints_OptionalParameter_ValueNotPresent() //{ // // Arrange - // var endpoint = CreateEndpoint("{controller}/{action}/{id:int?}"); - // var context = CreateLinkGeneratorContext( + // var endpoint = CreateEndpoints("{controller}/{action}/{id:int?}"); + // var context = CreateRouteValuesContext( // values: new { action = "Index", controller = "Home" }); // // Act - // var link = linkGenerator.GetLink(context); + // var link = linkGenerator.GetLink(new[] { endpoint }, context.ExplicitValues, context.AmbientValues); // // Assert // Assert.Equal("/Home/Index", link); @@ -508,8 +519,8 @@ namespace Microsoft.AspNetCore.Routing //public void GetLink_InlineConstraints_OptionalParameter_ValuePresent_ConstraintFails() //{ // // Arrange - // var endpoint = CreateEndpoint("{controller}/{action}/{id:int?}"); - // var context = CreateLinkGeneratorContext( + // var endpoint = CreateEndpoints("{controller}/{action}/{id:int?}"); + // var context = CreateRouteValuesContext( // values: new { action = "Index", controller = "Home", id = "sdfd" }); // // Act @@ -523,12 +534,12 @@ namespace Microsoft.AspNetCore.Routing //public void GetLink_InlineConstraints_CompositeInlineConstraint() //{ // // Arrange - // var endpoint = CreateEndpoint("{controller}/{action}/{id:int:range(1,20)}"); - // var context = CreateLinkGeneratorContext( + // var endpoint = CreateEndpoints("{controller}/{action}/{id:int:range(1,20)}"); + // var context = CreateRouteValuesContext( // values: new { action = "Index", controller = "Home", id = 14 }); // // Act - // var link = linkGenerator.GetLink(context); + // var link = linkGenerator.GetLink(new[] { endpoint }, context.ExplicitValues, context.AmbientValues); // // Assert // Assert.Equal("/Home/Index/14", link); @@ -541,17 +552,17 @@ namespace Microsoft.AspNetCore.Routing //{ // // Arrange // var constraint = new MaxLengthRouteConstraint(20); - // var endpoint = CreateEndpoint( + // var endpoint = CreateEndpoints( // template: "{controller}/{action}/{name:alpha}", // defaultValues: null, // handleRequest: true, // constraints: new { name = constraint }); - // var context = CreateLinkGeneratorContext( + // var context = CreateRouteValuesContext( // values: new { action = "Index", controller = "Home", name = "products" }); // // Act - // var link = linkGenerator.GetLink(context); + // var link = linkGenerator.GetLink(new[] { endpoint }, context.ExplicitValues, context.AmbientValues); // // Assert // Assert.Equal("/Home/Index/products", link); @@ -564,12 +575,12 @@ namespace Microsoft.AspNetCore.Routing { // Arrange var endpoint = CreateEndpoint("{controller}/{action}/{name?}"); - var linkGenerator = CreateLinkGenerator(CreateEndpointFinder(endpoint)); - var context = CreateLinkGeneratorContext( + var linkGenerator = CreateLinkGenerator(); + var context = CreateRouteValuesContext( suppliedValues: new { action = "Index", controller = "Home", name = "products" }); // Act - var link = linkGenerator.GetLink(context); + var link = linkGenerator.GetLink(new[] { endpoint }, context.ExplicitValues, context.AmbientValues); // Assert Assert.Equal("/Home/Index/products", link); @@ -580,12 +591,12 @@ namespace Microsoft.AspNetCore.Routing { // Arrange var endpoint = CreateEndpoint("{controller}/{action}/{name?}"); - var linkGenerator = CreateLinkGenerator(CreateEndpointFinder(endpoint)); - var context = CreateLinkGeneratorContext( + var linkGenerator = CreateLinkGenerator(); + var context = CreateRouteValuesContext( suppliedValues: new { action = "Index", controller = "Home" }); // Act - var link = linkGenerator.GetLink(context); + var link = linkGenerator.GetLink(new[] { endpoint }, context.ExplicitValues, context.AmbientValues); // Assert Assert.Equal("/Home/Index", link); @@ -598,12 +609,12 @@ namespace Microsoft.AspNetCore.Routing var endpoint = CreateEndpoint( template: "{controller}/{action}/{name?}", defaultValues: new { name = "default-products" }); - var linkGenerator = CreateLinkGenerator(CreateEndpointFinder(endpoint)); - var context = CreateLinkGeneratorContext( + var linkGenerator = CreateLinkGenerator(); + var context = CreateRouteValuesContext( suppliedValues: new { action = "Index", controller = "Home", name = "products" }); // Act - var link = linkGenerator.GetLink(context); + var link = linkGenerator.GetLink(new[] { endpoint }, context.ExplicitValues, context.AmbientValues); // Assert Assert.Equal("/Home/Index/products", link); @@ -616,12 +627,12 @@ namespace Microsoft.AspNetCore.Routing var endpoint = CreateEndpoint( template: "{controller}/{action}/{name?}", defaultValues: new { name = "products" }); - var linkGenerator = CreateLinkGenerator(CreateEndpointFinder(endpoint)); - var context = CreateLinkGeneratorContext( + var linkGenerator = CreateLinkGenerator(); + var context = CreateRouteValuesContext( suppliedValues: new { action = "Index", controller = "Home" }); // Act - var link = linkGenerator.GetLink(context); + var link = linkGenerator.GetLink(new[] { endpoint }, context.ExplicitValues, context.AmbientValues); // Assert Assert.Equal("/Home/Index", link); @@ -632,12 +643,12 @@ namespace Microsoft.AspNetCore.Routing { // Arrange var endpoint = CreateEndpoint("{controller}/{action}/{name}"); - var linkGenerator = CreateLinkGenerator(CreateEndpointFinder(endpoint)); - var context = CreateLinkGeneratorContext( + var linkGenerator = CreateLinkGenerator(); + var context = CreateRouteValuesContext( suppliedValues: new { action = "Index", controller = "Home", name = "products", format = "json" }); // Act - var link = linkGenerator.GetLink(context); + var link = linkGenerator.GetLink(new[] { endpoint }, context.ExplicitValues, context.AmbientValues); // Assert Assert.Equal("/Home/Index/products?format=json", link); @@ -647,17 +658,17 @@ namespace Microsoft.AspNetCore.Routing //public void GetLink_OptionalParameter_FollowedByDotAfterSlash_ParameterPresent() //{ // // Arrange - // var endpoint = CreateEndpoint( + // var endpoint = CreateEndpoints( // template: "{controller}/{action}/.{name?}", // defaultValues: null, // handleRequest: true, // constraints: null); - // var context = CreateLinkGeneratorContext( + // var context = CreateRouteValuesContext( // values: new { action = "Index", controller = "Home", name = "products" }); // // Act - // var link = linkGenerator.GetLink(context); + // var link = linkGenerator.GetLink(new[] { endpoint }, context.ExplicitValues, context.AmbientValues); // // Assert // Assert.Equal("/Home/Index/.products", link); @@ -669,17 +680,17 @@ namespace Microsoft.AspNetCore.Routing //public void GetLink_OptionalParameter_FollowedByDotAfterSlash_ParameterNotPresent() //{ // // Arrange - // var endpoint = CreateEndpoint( + // var endpoint = CreateEndpoints( // template: "{controller}/{action}/.{name?}", // defaultValues: null, // handleRequest: true, // constraints: null); - // var context = CreateLinkGeneratorContext( + // var context = CreateRouteValuesContext( // values: new { action = "Index", controller = "Home" }); // // Act - // var link = linkGenerator.GetLink(context); + // var link = linkGenerator.GetLink(new[] { endpoint }, context.ExplicitValues, context.AmbientValues); // // Assert // Assert.Equal("/Home/Index/", link); @@ -692,12 +703,12 @@ namespace Microsoft.AspNetCore.Routing { // Arrange var endpoint = CreateEndpoint("{controller}/{action}/{name?}"); - var linkGenerator = CreateLinkGenerator(CreateEndpointFinder(endpoint)); - var context = CreateLinkGeneratorContext( + var linkGenerator = CreateLinkGenerator(); + var context = CreateRouteValuesContext( suppliedValues: new { action = "Index", controller = "Home" }); // Act - var link = linkGenerator.GetLink(context); + var link = linkGenerator.GetLink(new[] { endpoint }, context.ExplicitValues, context.AmbientValues); // Assert Assert.Equal("/Home/Index", link); @@ -707,14 +718,14 @@ namespace Microsoft.AspNetCore.Routing //public void GetLink_TwoOptionalParameters_OneValueFromAmbientValues() //{ // // Arrange - // var endpoint = CreateEndpoint("a/{b=15}/{c?}/{d?}"); - // var linkGenerator = CreateLinkGenerator(CreateEndpointFinder(endpoint)); - // var context = CreateLinkGeneratorContext( + // var endpoint = CreateEndpoints("a/{b=15}/{c?}/{d?}"); + // var linkGenerator = CreateLinkGenerator(); + // var context = CreateRouteValuesContext( // suppliedValues: new { }, // ambientValues: new { c = "17" }); // // Act - // var link = linkGenerator.GetLink(context); + // var link = linkGenerator.GetLink(new[] { endpoint }, context.ExplicitValues, context.AmbientValues); // // Assert // Assert.Equal("/a/15/17", link); @@ -724,14 +735,14 @@ namespace Microsoft.AspNetCore.Routing //public void GetLink_OptionalParameterAfterDefault_OneValueFromAmbientValues() //{ // // Arrange - // var endpoint = CreateEndpoint("a/{b=15}/{c?}"); - // var linkGenerator = CreateLinkGenerator(CreateEndpointFinder(endpoint)); - // var context = CreateLinkGeneratorContext( + // var endpoint = CreateEndpoints("a/{b=15}/{c?}"); + // var linkGenerator = CreateLinkGenerator(); + // var context = CreateRouteValuesContext( // suppliedValues: new { }, // ambientValues: new { c = "17" }); // // Act - // var link = linkGenerator.GetLink(context); + // var link = linkGenerator.GetLink(new[] { endpoint }, context.ExplicitValues, context.AmbientValues); // // Assert // Assert.Equal("/a/15/17", link); @@ -741,18 +752,18 @@ namespace Microsoft.AspNetCore.Routing //public void GetLink_TwoOptionalParametersAfterDefault_LastValueFromAmbientValues() //{ // // Arrange - // var endpoint = CreateEndpoint( + // var endpoint = CreateEndpoints( // template: "a/{b=15}/{c?}/{d?}", // defaultValues: null, // handleRequest: true, // constraints: null); - // var context = CreateLinkGeneratorContext( + // var context = CreateRouteValuesContext( // values: new { }, // ambientValues: new { d = "17" }); // // Act - // var link = linkGenerator.GetLink(context); + // var link = linkGenerator.GetLink(new[] { endpoint }, context.ExplicitValues, context.AmbientValues); // // Assert // Assert.NotNull(pathData); @@ -761,39 +772,32 @@ namespace Microsoft.AspNetCore.Routing // //} - private LinkGeneratorContext CreateLinkGeneratorContext(object suppliedValues, object ambientValues = null) + private RouteValuesBasedEndpointFinderContext CreateRouteValuesContext(object suppliedValues, object ambientValues = null) { - var context = new LinkGeneratorContext(); - context.SuppliedValues = new RouteValueDictionary(suppliedValues); + var context = new RouteValuesBasedEndpointFinderContext(); + context.ExplicitValues = new RouteValueDictionary(suppliedValues); context.AmbientValues = new RouteValueDictionary(ambientValues); return context; } private MatcherEndpoint CreateEndpoint(string template, object defaultValues = null) { + var defaults = defaultValues == null ? new RouteValueDictionary() : new RouteValueDictionary(defaultValues); return new MatcherEndpoint( next => (httpContext) => Task.CompletedTask, template, - defaultValues, + defaults, + new RouteValueDictionary(), 0, EndpointMetadataCollection.Empty, - null, - new Address("foo")); + null); } - private ILinkGenerator CreateLinkGenerator(IEndpointFinder endpointFinder) + private ILinkGenerator CreateLinkGenerator() { return new DefaultLinkGenerator( - endpointFinder, new DefaultObjectPool(new UriBuilderContextPooledObjectPolicy()), Mock.Of>()); } - - private DefaultEndpointFinder CreateEndpointFinder(params Endpoint[] endpoints) - { - return new DefaultEndpointFinder( - new CompositeEndpointDataSource(new[] { new DefaultEndpointDataSource(endpoints) }), - NullLogger.Instance); - } } } diff --git a/test/Microsoft.AspNetCore.Routing.Tests/EndpointConstraints/EndpointSelectorTests.cs b/test/Microsoft.AspNetCore.Routing.Tests/EndpointConstraints/EndpointSelectorTests.cs index 6438020dc8..796909c728 100644 --- a/test/Microsoft.AspNetCore.Routing.Tests/EndpointConstraints/EndpointSelectorTests.cs +++ b/test/Microsoft.AspNetCore.Routing.Tests/EndpointConstraints/EndpointSelectorTests.cs @@ -24,13 +24,11 @@ namespace Microsoft.AspNetCore.Routing.EndpointConstraints // Arrange var defaultEndpoint = new TestEndpoint( EndpointMetadataCollection.Empty, - "No constraint endpoint", - address: null); + "No constraint endpoint"); var postEndpoint = new TestEndpoint( new EndpointMetadataCollection(new object[] { new HttpMethodEndpointConstraint(new[] { "POST" }) }), - "POST constraint endpoint", - address: null); + "POST constraint endpoint"); var endpoints = new Endpoint[] { @@ -62,13 +60,11 @@ namespace Microsoft.AspNetCore.Routing.EndpointConstraints var defaultEndpoint1 = new TestEndpoint( EndpointMetadataCollection.Empty, - "Ambiguous1", - address: null); + "Ambiguous1"); var defaultEndpoint2 = new TestEndpoint( EndpointMetadataCollection.Empty, - "Ambiguous2", - address: null); + "Ambiguous2"); var endpoints = new Endpoint[] { @@ -100,8 +96,8 @@ namespace Microsoft.AspNetCore.Routing.EndpointConstraints var actions = new Endpoint[] { - new TestEndpoint(EndpointMetadataCollection.Empty, "A1", address: null), - new TestEndpoint(EndpointMetadataCollection.Empty, "A2", address: null), + new TestEndpoint(EndpointMetadataCollection.Empty, "A1"), + new TestEndpoint(EndpointMetadataCollection.Empty, "A2"), }; var selector = CreateSelector(actions, loggerFactory); @@ -124,13 +120,11 @@ namespace Microsoft.AspNetCore.Routing.EndpointConstraints // Arrange var actionWithConstraints = new TestEndpoint( new EndpointMetadataCollection(new[] { new HttpMethodEndpointConstraint(new string[] { "POST" }) }), - "Has constraint", - address: null); + "Has constraint"); var actionWithoutConstraints = new TestEndpoint( EndpointMetadataCollection.Empty, - "No constraint", - address: null); + "No constraint"); var actions = new Endpoint[] { actionWithConstraints, actionWithoutConstraints }; @@ -150,13 +144,11 @@ namespace Microsoft.AspNetCore.Routing.EndpointConstraints // Arrange var action1 = new TestEndpoint( new EndpointMetadataCollection(new[] { new BooleanConstraint() { Pass = false, } }), - "action1", - address: null); + "action1"); var action2 = new TestEndpoint( new EndpointMetadataCollection(new[] { new BooleanConstraint() { Pass = false, } }), - "action2", - address: null); + "action2"); var actions = new Endpoint[] { action1, action2 }; @@ -179,16 +171,14 @@ namespace Microsoft.AspNetCore.Routing.EndpointConstraints new BooleanConstraint() { Pass = false, Order = 0 }, new BooleanConstraint() { Pass = true, Order = 1 }, }), - "action1", - address: null); + "action1"); var action2 = new TestEndpoint(new EndpointMetadataCollection(new[] { new BooleanConstraint() { Pass = true, Order = 0 }, new BooleanConstraint() { Pass = false, Order = 1 }, }), - "action2", - address: null); + "action2"); var actions = new Endpoint[] { action1, action2 }; @@ -213,13 +203,11 @@ namespace Microsoft.AspNetCore.Routing.EndpointConstraints Constraint = new BooleanConstraint() { Pass = true }, }, }), - "actionWithConstraints", - address: null); + "actionWithConstraints"); var actionWithoutConstraints = new TestEndpoint( EndpointMetadataCollection.Empty, - "actionWithoutConstraints", - address: null); + "actionWithoutConstraints"); var actions = new Endpoint[] { actionWithConstraints, actionWithoutConstraints }; @@ -237,7 +225,7 @@ namespace Microsoft.AspNetCore.Routing.EndpointConstraints public void SelectBestCandidate_MultipleCallsNoConstraint_ReturnsEndpoint() { // Arrange - var noConstraint = new TestEndpoint(EndpointMetadataCollection.Empty, "noConstraint", address: null); + var noConstraint = new TestEndpoint(EndpointMetadataCollection.Empty, "noConstraint"); var actions = new Endpoint[] { noConstraint }; @@ -261,8 +249,7 @@ namespace Microsoft.AspNetCore.Routing.EndpointConstraints { new object(), }), - "noConstraint", - address: null); + "noConstraint"); var actions = new Endpoint[] { noConstraint }; @@ -286,8 +273,7 @@ namespace Microsoft.AspNetCore.Routing.EndpointConstraints { new ConstraintFactory(), }), - "nullConstraint", - address: null); + "nullConstraint"); var actions = new Endpoint[] { nullConstraint }; @@ -312,13 +298,11 @@ namespace Microsoft.AspNetCore.Routing.EndpointConstraints { new BooleanConstraintMarker() { Pass = true }, }), - "actionWithConstraints", - address: null); + "actionWithConstraints"); var actionWithoutConstraints = new TestEndpoint( EndpointMetadataCollection.Empty, - "actionWithoutConstraints", - address: null); + "actionWithoutConstraints"); var actions = new Endpoint[] { actionWithConstraints, actionWithoutConstraints, }; @@ -341,15 +325,13 @@ namespace Microsoft.AspNetCore.Routing.EndpointConstraints { new BooleanConstraint() { Pass = true, Order = 0, }, }), - "best", - address: null); + "best"); var worst = new TestEndpoint(new EndpointMetadataCollection(new[] { new BooleanConstraint() { Pass = true, Order = 1, }, }), - "worst", - address: null); + "worst"); var actions = new Endpoint[] { best, worst }; @@ -374,8 +356,7 @@ namespace Microsoft.AspNetCore.Routing.EndpointConstraints new BooleanConstraint() { Pass = true, Order = 1, }, new BooleanConstraint() { Pass = true, Order = 2, }, }), - "best", - address: null); + "best"); var worst = new TestEndpoint(new EndpointMetadataCollection(new[] { @@ -383,8 +364,7 @@ namespace Microsoft.AspNetCore.Routing.EndpointConstraints new BooleanConstraint() { Pass = true, Order = 1, }, new BooleanConstraint() { Pass = true, Order = 3, }, }), - "worst", - address: null); + "worst"); var actions = new Endpoint[] { best, worst }; @@ -408,8 +388,7 @@ namespace Microsoft.AspNetCore.Routing.EndpointConstraints new BooleanConstraint() { Pass = true, Order = 1, }, new BooleanConstraint() { Pass = false, Order = 2, }, }), - "nomatch1", - address: null); + "nomatch1"); var nomatch2 = new TestEndpoint(new EndpointMetadataCollection(new[] { @@ -417,10 +396,9 @@ namespace Microsoft.AspNetCore.Routing.EndpointConstraints new BooleanConstraint() { Pass = true, Order = 1, }, new BooleanConstraint() { Pass = false, Order = 3, }, }), - "nomatch2", - address: null); + "nomatch2"); - var best = new TestEndpoint(EndpointMetadataCollection.Empty, "best", address: null); + var best = new TestEndpoint(EndpointMetadataCollection.Empty, "best"); var actions = new Endpoint[] { best, nomatch1, nomatch2 }; diff --git a/test/Microsoft.AspNetCore.Routing.Tests/Internal/HttpMethodEndpointConstraintTest.cs b/test/Microsoft.AspNetCore.Routing.Tests/Internal/HttpMethodEndpointConstraintTest.cs index 1d79fc1b9b..67af016137 100644 --- a/test/Microsoft.AspNetCore.Routing.Tests/Internal/HttpMethodEndpointConstraintTest.cs +++ b/test/Microsoft.AspNetCore.Routing.Tests/Internal/HttpMethodEndpointConstraintTest.cs @@ -62,7 +62,7 @@ namespace Microsoft.AspNetCore.Routing.Internal var context = new EndpointConstraintContext(); var endpointSelectorCandidate = new EndpointSelectorCandidate( - new TestEndpoint(EndpointMetadataCollection.Empty, string.Empty, address: null), + new TestEndpoint(EndpointMetadataCollection.Empty, string.Empty), new List { constraint }); context.Candidates = new List { endpointSelectorCandidate }; diff --git a/test/Microsoft.AspNetCore.Routing.Tests/Internal/LinkGenerationDecisionTreeTest.cs b/test/Microsoft.AspNetCore.Routing.Tests/Internal/LinkGenerationDecisionTreeTest.cs index 8a35edcf13..c8c34b09d4 100644 --- a/test/Microsoft.AspNetCore.Routing.Tests/Internal/LinkGenerationDecisionTreeTest.cs +++ b/test/Microsoft.AspNetCore.Routing.Tests/Internal/LinkGenerationDecisionTreeTest.cs @@ -26,7 +26,7 @@ namespace Microsoft.AspNetCore.Routing.Internal.Routing var context = CreateContext(new { }); // Act - var matches = tree.GetMatches(context); + var matches = tree.GetMatches(context.Values, context.AmbientValues); // Assert Assert.Same(entry, Assert.Single(matches).Match); @@ -46,7 +46,7 @@ namespace Microsoft.AspNetCore.Routing.Internal.Routing var context = CreateContext(new { controller = "Store", action = "Buy" }); // Act - var matches = tree.GetMatches(context); + var matches = tree.GetMatches(context.Values, context.AmbientValues); // Assert Assert.Same(entry, Assert.Single(matches).Match); @@ -66,7 +66,7 @@ namespace Microsoft.AspNetCore.Routing.Internal.Routing var context = CreateContext(values: null, ambientValues: new { controller = "Store", action = "Buy" }); // Act - var matches = tree.GetMatches(context); + var matches = tree.GetMatches(context.Values, context.AmbientValues); // Assert var match = Assert.Single(matches); @@ -90,7 +90,7 @@ namespace Microsoft.AspNetCore.Routing.Internal.Routing ambientValues: new { controller = "Store", action = "Cart" }); // Act - var matches = tree.GetMatches(context); + var matches = tree.GetMatches(context.Values, context.AmbientValues); // Assert var match = Assert.Single(matches); @@ -114,7 +114,7 @@ namespace Microsoft.AspNetCore.Routing.Internal.Routing ambientValues: new { controller = "Store", action = "Buy" }); // Act - var matches = tree.GetMatches(context); + var matches = tree.GetMatches(context.Values, context.AmbientValues); // Assert var match = Assert.Single(matches); @@ -136,7 +136,7 @@ namespace Microsoft.AspNetCore.Routing.Internal.Routing var context = CreateContext(new { controller = "Store", action = "AddToCart" }); // Act - var matches = tree.GetMatches(context); + var matches = tree.GetMatches(context.Values, context.AmbientValues); // Assert Assert.Empty(matches); @@ -158,7 +158,7 @@ namespace Microsoft.AspNetCore.Routing.Internal.Routing ambientValues: new { controller = "Store", action = "Cart" }); // Act - var matches = tree.GetMatches(context); + var matches = tree.GetMatches(context.Values, context.AmbientValues); // Assert Assert.Empty(matches); @@ -183,7 +183,7 @@ namespace Microsoft.AspNetCore.Routing.Internal.Routing ambientValues: new { controller = "Store", action = "Buy" }); // Act - var matches = tree.GetMatches(context); + var matches = tree.GetMatches(context.Values, context.AmbientValues); // Assert Assert.Same(entry1, Assert.Single(matches).Match); @@ -209,7 +209,7 @@ namespace Microsoft.AspNetCore.Routing.Internal.Routing ambientValues: new { controller = "Store", action = "Buy" }); // Act - var matches = tree.GetMatches(context).Select(m => m.Match).ToList(); + var matches = tree.GetMatches(context.Values, context.AmbientValues).Select(m => m.Match).ToList(); // Assert Assert.Equal(entries, matches); @@ -233,7 +233,7 @@ namespace Microsoft.AspNetCore.Routing.Internal.Routing var context = CreateContext(new { controller = "Store", action = "Buy", slug = "1234" }); // Act - var matches = tree.GetMatches(context).Select(m => m.Match).ToList(); + var matches = tree.GetMatches(context.Values, context.AmbientValues).Select(m => m.Match).ToList(); // Assert Assert.Equal(entries, matches); @@ -260,7 +260,7 @@ namespace Microsoft.AspNetCore.Routing.Internal.Routing var context = CreateContext(new { controller = "Store", action = "Buy" }); // Act - var matches = tree.GetMatches(context).Select(m => m.Match).ToList(); + var matches = tree.GetMatches(context.Values, context.AmbientValues).Select(m => m.Match).ToList(); // Assert Assert.Equal(entries, matches); @@ -286,7 +286,7 @@ namespace Microsoft.AspNetCore.Routing.Internal.Routing var context = CreateContext(new { controller = "Store", action = "Buy" }); // Act - var matches = tree.GetMatches(context).Select(m => m.Match).ToList(); + var matches = tree.GetMatches(context.Values, context.AmbientValues).Select(m => m.Match).ToList(); // Assert Assert.Equal(entries, matches); @@ -312,7 +312,7 @@ namespace Microsoft.AspNetCore.Routing.Internal.Routing var context = CreateContext(new { controller = "Store", action = "Buy" }); // Act - var matches = tree.GetMatches(context).Select(m => m.Match).ToList(); + var matches = tree.GetMatches(context.Values, context.AmbientValues).Select(m => m.Match).ToList(); // Assert Assert.Equal(entries, matches); diff --git a/test/Microsoft.AspNetCore.Routing.Tests/Matchers/MatcherConformanceTest.cs b/test/Microsoft.AspNetCore.Routing.Tests/Matchers/MatcherConformanceTest.cs index eb331a328a..bbb08d5f9a 100644 --- a/test/Microsoft.AspNetCore.Routing.Tests/Matchers/MatcherConformanceTest.cs +++ b/test/Microsoft.AspNetCore.Routing.Tests/Matchers/MatcherConformanceTest.cs @@ -34,17 +34,18 @@ namespace Microsoft.AspNetCore.Routing.Matchers internal static MatcherEndpoint CreateEndpoint( string template, - object defaults = null, + object defaultValues = null, int? order = null) { + var defaults = defaultValues == null ? new RouteValueDictionary() : new RouteValueDictionary(defaultValues); return new MatcherEndpoint( MatcherEndpoint.EmptyInvoker, template, defaults, + new RouteValueDictionary(), order ?? 0, EndpointMetadataCollection.Empty, - "endpoint: " + template, - address: null); + "endpoint: " + template); } internal (Matcher matcher, MatcherEndpoint endpoint) CreateMatcher(string template) diff --git a/test/Microsoft.AspNetCore.Routing.Tests/Matchers/RouteMatcherBuilder.cs b/test/Microsoft.AspNetCore.Routing.Tests/Matchers/RouteMatcherBuilder.cs index e411d69647..7ce7613fe5 100644 --- a/test/Microsoft.AspNetCore.Routing.Tests/Matchers/RouteMatcherBuilder.cs +++ b/test/Microsoft.AspNetCore.Routing.Tests/Matchers/RouteMatcherBuilder.cs @@ -31,10 +31,10 @@ namespace Microsoft.AspNetCore.Routing.Matchers // MatcherEndpoint.Values contains the default values parsed from the template // as well as those specified with a literal. We need to separate those // for legacy cases. - var defaults = new RouteValueDictionary(endpoint.Values); - for (var i = 0; i < endpoint.ParsedTemlate.Parameters.Count; i++) + var defaults = endpoint.Defaults; + for (var i = 0; i < endpoint.ParsedTemplate.Parameters.Count; i++) { - var parameter = endpoint.ParsedTemlate.Parameters[i]; + var parameter = endpoint.ParsedTemplate.Parameters[i]; if (parameter.DefaultValue != null) { defaults.Remove(parameter.Name); @@ -79,7 +79,7 @@ namespace Microsoft.AspNetCore.Routing.Matchers return comparison; } - comparison = RoutePrecedence.ComputeInbound(Endpoint.ParsedTemlate).CompareTo(RoutePrecedence.ComputeInbound(other.Endpoint.ParsedTemlate)); + comparison = RoutePrecedence.ComputeInbound(Endpoint.ParsedTemplate).CompareTo(RoutePrecedence.ComputeInbound(other.Endpoint.ParsedTemplate)); if (comparison != 0) { return comparison; diff --git a/test/Microsoft.AspNetCore.Routing.Tests/Matchers/TreeMatcherTests.cs b/test/Microsoft.AspNetCore.Routing.Tests/Matchers/TreeMatcherTests.cs index c21a90dfda..cc865fed75 100644 --- a/test/Microsoft.AspNetCore.Routing.Tests/Matchers/TreeMatcherTests.cs +++ b/test/Microsoft.AspNetCore.Routing.Tests/Matchers/TreeMatcherTests.cs @@ -1,23 +1,22 @@ // Copyright (c) .NET Foundation. All rights reserved. // Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information. +using System.Collections.Generic; +using System.Threading.Tasks; using Microsoft.AspNetCore.Http; using Microsoft.AspNetCore.Routing.EndpointConstraints; using Microsoft.Extensions.Logging.Abstractions; using Microsoft.Extensions.Options; -using System; -using System.Collections.Generic; -using System.Text; -using System.Threading.Tasks; using Xunit; namespace Microsoft.AspNetCore.Routing.Matchers { public class TreeMatcherTests { - private MatcherEndpoint CreateEndpoint(string template, int order, object values = null, EndpointMetadataCollection metadata = null) + private MatcherEndpoint CreateEndpoint(string template, int order, object defaultValues = null, EndpointMetadataCollection metadata = null) { - return new MatcherEndpoint((next) => null, template, values, order, metadata ?? EndpointMetadataCollection.Empty, template, address: null); + var defaults = defaultValues == null ? new RouteValueDictionary() : new RouteValueDictionary(defaultValues); + return new MatcherEndpoint((next) => null, template, defaults, new RouteValueDictionary(), order, metadata ?? EndpointMetadataCollection.Empty, template); } private TreeMatcher CreateTreeMatcher(EndpointDataSource endpointDataSource) diff --git a/test/Microsoft.AspNetCore.Routing.Tests/Matchers/TreeRouterMatcherBuilder.cs b/test/Microsoft.AspNetCore.Routing.Tests/Matchers/TreeRouterMatcherBuilder.cs index 50f6e5ace3..c9f100439f 100644 --- a/test/Microsoft.AspNetCore.Routing.Tests/Matchers/TreeRouterMatcherBuilder.cs +++ b/test/Microsoft.AspNetCore.Routing.Tests/Matchers/TreeRouterMatcherBuilder.cs @@ -4,7 +4,6 @@ using System; using System.Threading.Tasks; using Microsoft.AspNetCore.Routing.Internal; -using Microsoft.AspNetCore.Routing.Template; using Microsoft.AspNetCore.Routing.Tree; using Microsoft.Extensions.Logging.Abstractions; using Microsoft.Extensions.ObjectPool; @@ -38,10 +37,10 @@ namespace Microsoft.AspNetCore.Routing.Matchers // MatcherEndpoint.Values contains the default values parsed from the template // as well as those specified with a literal. We need to separate those // for legacy cases. - var defaults = new RouteValueDictionary(endpoint.Values); - for (var i = 0; i < endpoint.ParsedTemlate.Parameters.Count; i++) + var defaults = endpoint.Defaults; + for (var i = 0; i < endpoint.ParsedTemplate.Parameters.Count; i++) { - var parameter = endpoint.ParsedTemlate.Parameters[i]; + var parameter = endpoint.ParsedTemplate.Parameters[i]; if (parameter.DefaultValue == null && defaults.ContainsKey(parameter.Name)) { throw new InvalidOperationException( @@ -50,8 +49,8 @@ namespace Microsoft.AspNetCore.Routing.Matchers } _inner.MapInbound( - handler, - endpoint.ParsedTemlate, + handler, + endpoint.ParsedTemplate, routeName: null, order: endpoint.Order); } diff --git a/test/Microsoft.AspNetCore.Routing.Tests/TestObjects/TestEndpoint.cs b/test/Microsoft.AspNetCore.Routing.Tests/TestObjects/TestEndpoint.cs index 92a1ac8d1b..ab0ff046d8 100644 --- a/test/Microsoft.AspNetCore.Routing.Tests/TestObjects/TestEndpoint.cs +++ b/test/Microsoft.AspNetCore.Routing.Tests/TestObjects/TestEndpoint.cs @@ -5,8 +5,8 @@ namespace Microsoft.AspNetCore.Routing.TestObjects { internal class TestEndpoint : Endpoint { - public TestEndpoint(EndpointMetadataCollection metadata, string displayName, Address address) - : base(metadata, displayName, address) + public TestEndpoint(EndpointMetadataCollection metadata, string displayName) + : base(metadata, displayName) { } } diff --git a/test/Microsoft.AspNetCore.Routing.Tests/TestObjects/TestMatcher.cs b/test/Microsoft.AspNetCore.Routing.Tests/TestObjects/TestMatcher.cs index 5ee7031fb5..58b8f37840 100644 --- a/test/Microsoft.AspNetCore.Routing.Tests/TestObjects/TestMatcher.cs +++ b/test/Microsoft.AspNetCore.Routing.Tests/TestObjects/TestMatcher.cs @@ -1,8 +1,6 @@ // Copyright (c) .NET Foundation. All rights reserved. // Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information. -using System.Collections.Generic; -using System.Text; using System.Threading.Tasks; using Microsoft.AspNetCore.Http; using Microsoft.AspNetCore.Routing.Matchers; @@ -22,7 +20,7 @@ namespace Microsoft.AspNetCore.Routing.TestObjects { if (_isHandled) { - feature.Endpoint = new TestEndpoint(EndpointMetadataCollection.Empty, "Test endpoint", address: null); + feature.Endpoint = new TestEndpoint(EndpointMetadataCollection.Empty, "Test endpoint"); } return Task.CompletedTask; From 0a44dcf4e38cdd8efb75601ce5da0f6742fd5000 Mon Sep 17 00:00:00 2001 From: Nate McMaster Date: Thu, 28 Jun 2018 16:21:36 -0700 Subject: [PATCH 050/221] Update infrastructure for the 2.2 release --- .vsts-pipelines/builds/ci-internal.yml | 4 ++-- .vsts-pipelines/builds/ci-public.yml | 6 +++--- benchmarkapps/Benchmarks/benchmarks.json | 4 ++-- build/repo.props | 1 + korebuild.json | 4 ++-- 5 files changed, 10 insertions(+), 9 deletions(-) diff --git a/.vsts-pipelines/builds/ci-internal.yml b/.vsts-pipelines/builds/ci-internal.yml index d7ceb76378..dc7b8a3cb9 100644 --- a/.vsts-pipelines/builds/ci-internal.yml +++ b/.vsts-pipelines/builds/ci-internal.yml @@ -1,5 +1,5 @@ trigger: -- dev +- master - release/* resources: @@ -7,7 +7,7 @@ resources: - repository: buildtools type: git name: aspnet-BuildTools - ref: refs/heads/dev + ref: refs/heads/release/2.2 phases: - template: .vsts-pipelines/templates/project-ci.yml@buildtools diff --git a/.vsts-pipelines/builds/ci-public.yml b/.vsts-pipelines/builds/ci-public.yml index b7f25723f8..f5087d9c30 100644 --- a/.vsts-pipelines/builds/ci-public.yml +++ b/.vsts-pipelines/builds/ci-public.yml @@ -1,5 +1,5 @@ trigger: -- dev +- master - release/* # See https://github.com/aspnet/BuildTools @@ -9,7 +9,7 @@ resources: type: github endpoint: DotNet-Bot GitHub Connection name: aspnet/BuildTools - ref: refs/heads/dev - + ref: refs/heads/release/2.2 + phases: - template: .vsts-pipelines/templates/project-ci.yml@buildtools diff --git a/benchmarkapps/Benchmarks/benchmarks.json b/benchmarkapps/Benchmarks/benchmarks.json index 59cfd09eb7..d93213fff2 100644 --- a/benchmarkapps/Benchmarks/benchmarks.json +++ b/benchmarkapps/Benchmarks/benchmarks.json @@ -8,7 +8,7 @@ }, "Source": { "Repository": "https://github.com/aspnet/routing.git", - "BranchOrCommit": "dev", + "BranchOrCommit": "release/2.2", "Project": "benchmarkapps/Benchmarks/Benchmarks.csproj" }, "Port": 8080 @@ -19,4 +19,4 @@ "PlaintextDispatcher": { "Path": "/plaintext" } -} \ No newline at end of file +} diff --git a/build/repo.props b/build/repo.props index 17a98ac7e7..f1fe24dd27 100644 --- a/build/repo.props +++ b/build/repo.props @@ -4,6 +4,7 @@ Internal.AspNetCore.Universe.Lineup + 2.2.0-* https://dotnet.myget.org/F/aspnetcore-dev/api/v3/index.json diff --git a/korebuild.json b/korebuild.json index bd5d51a51b..d217d06e3e 100644 --- a/korebuild.json +++ b/korebuild.json @@ -1,4 +1,4 @@ { - "$schema": "https://raw.githubusercontent.com/aspnet/BuildTools/dev/tools/korebuild.schema.json", - "channel": "dev" + "$schema": "https://raw.githubusercontent.com/aspnet/BuildTools/release/2.2/tools/korebuild.schema.json", + "channel": "release/2.2" } From 30eb12251ae080e011ed70c26b80105b9a0aac4a Mon Sep 17 00:00:00 2001 From: Nate McMaster Date: Thu, 28 Jun 2018 16:48:57 -0700 Subject: [PATCH 051/221] Bumping version from 2.2.0 to 3.0.0 --- version.props | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/version.props b/version.props index 44985cedb3..71a78cddd8 100644 --- a/version.props +++ b/version.props @@ -1,7 +1,7 @@ - + - 2.2.0 - preview1 + 3.0.0 + alpha1 $(VersionPrefix) $(VersionPrefix)-$(VersionSuffix)-final t000 From 57ff9d0b480f0ab6619c98599896822f3a28b9ce Mon Sep 17 00:00:00 2001 From: "Nate McMaster (automated)" Date: Mon, 2 Jul 2018 12:40:34 -0700 Subject: [PATCH 052/221] [automated] Change default branch to master --- .appveyor.yml | 2 +- .travis.yml | 2 +- .vsts-pipelines/builds/ci-internal.yml | 4 ++-- .vsts-pipelines/builds/ci-public.yml | 6 +++--- korebuild.json | 4 ++-- run.ps1 | 6 +++--- run.sh | 2 +- 7 files changed, 13 insertions(+), 13 deletions(-) diff --git a/.appveyor.yml b/.appveyor.yml index 119f1e7ea1..2262756c19 100644 --- a/.appveyor.yml +++ b/.appveyor.yml @@ -2,7 +2,7 @@ init: - git config --global core.autocrlf true branches: only: - - dev + - master - /^release\/.*$/ - /^(.*\/)?ci-.*$/ build_script: diff --git a/.travis.yml b/.travis.yml index 64bdbb4441..ab3980055c 100644 --- a/.travis.yml +++ b/.travis.yml @@ -16,7 +16,7 @@ addons: - libunwind8 branches: only: - - dev + - master - /^release\/.*$/ - /^(.*\/)?ci-.*$/ before_install: diff --git a/.vsts-pipelines/builds/ci-internal.yml b/.vsts-pipelines/builds/ci-internal.yml index d7ceb76378..c2c5336fd0 100644 --- a/.vsts-pipelines/builds/ci-internal.yml +++ b/.vsts-pipelines/builds/ci-internal.yml @@ -1,5 +1,5 @@ trigger: -- dev +- master - release/* resources: @@ -7,7 +7,7 @@ resources: - repository: buildtools type: git name: aspnet-BuildTools - ref: refs/heads/dev + ref: refs/heads/master phases: - template: .vsts-pipelines/templates/project-ci.yml@buildtools diff --git a/.vsts-pipelines/builds/ci-public.yml b/.vsts-pipelines/builds/ci-public.yml index b7f25723f8..507c89b025 100644 --- a/.vsts-pipelines/builds/ci-public.yml +++ b/.vsts-pipelines/builds/ci-public.yml @@ -1,5 +1,5 @@ trigger: -- dev +- master - release/* # See https://github.com/aspnet/BuildTools @@ -9,7 +9,7 @@ resources: type: github endpoint: DotNet-Bot GitHub Connection name: aspnet/BuildTools - ref: refs/heads/dev - + ref: refs/heads/master + phases: - template: .vsts-pipelines/templates/project-ci.yml@buildtools diff --git a/korebuild.json b/korebuild.json index bd5d51a51b..8a276a7f35 100644 --- a/korebuild.json +++ b/korebuild.json @@ -1,4 +1,4 @@ { - "$schema": "https://raw.githubusercontent.com/aspnet/BuildTools/dev/tools/korebuild.schema.json", - "channel": "dev" + "$schema": "https://raw.githubusercontent.com/aspnet/BuildTools/master/tools/korebuild.schema.json", + "channel": "master" } diff --git a/run.ps1 b/run.ps1 index 3b27382468..34604c7175 100644 --- a/run.ps1 +++ b/run.ps1 @@ -52,8 +52,8 @@ in the file are overridden by command line parameters. Example config file: ```json { - "$schema": "https://raw.githubusercontent.com/aspnet/BuildTools/dev/tools/korebuild.schema.json", - "channel": "dev", + "$schema": "https://raw.githubusercontent.com/aspnet/BuildTools/master/tools/korebuild.schema.json", + "channel": "master", "toolsSource": "https://aspnetcore.blob.core.windows.net/buildtools" } ``` @@ -192,7 +192,7 @@ if (!$DotNetHome) { else { Join-Path $PSScriptRoot '.dotnet'} } -if (!$Channel) { $Channel = 'dev' } +if (!$Channel) { $Channel = 'master' } if (!$ToolsSource) { $ToolsSource = 'https://aspnetcore.blob.core.windows.net/buildtools' } # Execute diff --git a/run.sh b/run.sh index 02aac15874..61f7a53385 100755 --- a/run.sh +++ b/run.sh @@ -248,7 +248,7 @@ if [ -f "$config_file" ]; then [ ! -z "${config_tools_source:-}" ] && tools_source="$config_tools_source" fi -[ -z "$channel" ] && channel='dev' +[ -z "$channel" ] && channel='master' [ -z "$tools_source" ] && tools_source='https://aspnetcore.blob.core.windows.net/buildtools' get_korebuild From 11ff2b27de244504dc39419f197f0cab405c3dd8 Mon Sep 17 00:00:00 2001 From: "ASP.NET CI" Date: Tue, 3 Jul 2018 16:26:18 +0000 Subject: [PATCH 053/221] Update dependencies.props [auto-updated: dependencies] --- build/dependencies.props | 54 ++++++++++++++++++++-------------------- korebuild-lock.txt | 4 +-- 2 files changed, 29 insertions(+), 29 deletions(-) diff --git a/build/dependencies.props b/build/dependencies.props index 19af03b9a1..dc216785c8 100644 --- a/build/dependencies.props +++ b/build/dependencies.props @@ -4,33 +4,33 @@ 0.10.13 - 2.2.0-preview1-17090 - 2.2.0-preview1-34530 - 2.2.0-preview1-34530 - 2.2.0-preview1-34530 - 2.2.0-preview1-34530 - 2.2.0-preview1-34530 - 2.2.0-preview1-34530 - 2.2.0-preview1-34530 - 2.2.0-preview1-34530 - 2.2.0-preview1-34530 - 2.2.0-preview1-34530 - 2.2.0-preview1-34530 - 2.2.0-preview1-34530 - 2.2.0-preview1-34530 - 2.2.0-preview1-34530 - 2.2.0-preview1-34530 - 2.2.0-preview1-34530 - 2.2.0-preview1-34530 - 2.2.0-preview1-34530 - 2.2.0-preview1-34530 - 2.2.0-preview1-34530 - 2.2.0-preview1-34530 - 2.2.0-preview1-34530 - 2.2.0-preview1-34530 - 2.2.0-preview1-34530 - 2.2.0-preview1-34530 - 2.2.0-preview1-34530 + 3.0.0-alpha1-10000 + 3.0.0-alpha1-10016 + 3.0.0-alpha1-10016 + 3.0.0-alpha1-10016 + 3.0.0-alpha1-10016 + 3.0.0-alpha1-10016 + 3.0.0-alpha1-10016 + 3.0.0-alpha1-10016 + 3.0.0-alpha1-10016 + 3.0.0-alpha1-10016 + 3.0.0-alpha1-10016 + 3.0.0-alpha1-10016 + 3.0.0-alpha1-10016 + 3.0.0-alpha1-10016 + 3.0.0-alpha1-10016 + 3.0.0-alpha1-10016 + 3.0.0-alpha1-10016 + 3.0.0-alpha1-10016 + 3.0.0-alpha1-10016 + 3.0.0-alpha1-10016 + 3.0.0-alpha1-10016 + 3.0.0-alpha1-10016 + 3.0.0-alpha1-10016 + 3.0.0-alpha1-10016 + 3.0.0-alpha1-10016 + 3.0.0-alpha1-10016 + 3.0.0-alpha1-10016 2.0.0 2.1.0 2.2.0-preview1-26618-02 diff --git a/korebuild-lock.txt b/korebuild-lock.txt index a8109db529..f0b76184fd 100644 --- a/korebuild-lock.txt +++ b/korebuild-lock.txt @@ -1,2 +1,2 @@ -version:2.2.0-preview1-17090 -commithash:b19e903e946579cd9482089bce7d917e8bacd765 +version:3.0.0-alpha1-10000 +commithash:b7b88d08d55abc8b71de9abf16e26fc713e332cd From 2d53d398b26959e3fb388989a03f8c7ae761cbcc Mon Sep 17 00:00:00 2001 From: "ASP.NET CI" Date: Sun, 8 Jul 2018 12:27:10 -0700 Subject: [PATCH 054/221] Update dependencies.props [auto-updated: dependencies] --- build/dependencies.props | 60 ++++++++++++++++++++-------------------- korebuild-lock.txt | 4 +-- 2 files changed, 32 insertions(+), 32 deletions(-) diff --git a/build/dependencies.props b/build/dependencies.props index 19af03b9a1..27239660c2 100644 --- a/build/dependencies.props +++ b/build/dependencies.props @@ -4,35 +4,35 @@ 0.10.13 - 2.2.0-preview1-17090 - 2.2.0-preview1-34530 - 2.2.0-preview1-34530 - 2.2.0-preview1-34530 - 2.2.0-preview1-34530 - 2.2.0-preview1-34530 - 2.2.0-preview1-34530 - 2.2.0-preview1-34530 - 2.2.0-preview1-34530 - 2.2.0-preview1-34530 - 2.2.0-preview1-34530 - 2.2.0-preview1-34530 - 2.2.0-preview1-34530 - 2.2.0-preview1-34530 - 2.2.0-preview1-34530 - 2.2.0-preview1-34530 - 2.2.0-preview1-34530 - 2.2.0-preview1-34530 - 2.2.0-preview1-34530 - 2.2.0-preview1-34530 - 2.2.0-preview1-34530 - 2.2.0-preview1-34530 - 2.2.0-preview1-34530 - 2.2.0-preview1-34530 - 2.2.0-preview1-34530 - 2.2.0-preview1-34530 - 2.2.0-preview1-34530 - 2.0.0 - 2.1.0 + 2.2.0-preview1-17099 + 2.2.0-preview1-34640 + 2.2.0-preview1-34640 + 2.2.0-preview1-34640 + 2.2.0-preview1-34640 + 2.2.0-preview1-34640 + 2.2.0-preview1-34640 + 2.2.0-preview1-34640 + 2.2.0-preview1-34640 + 2.2.0-preview1-34640 + 2.2.0-preview1-34640 + 2.2.0-preview1-34640 + 2.2.0-preview1-34640 + 2.2.0-preview1-34640 + 2.2.0-preview1-34640 + 2.2.0-preview1-34640 + 2.2.0-preview1-34640 + 2.2.0-preview1-34640 + 2.2.0-preview1-34640 + 2.2.0-preview1-34640 + 2.2.0-preview1-34640 + 2.2.0-preview1-34640 + 2.2.0-preview1-34640 + 2.2.0-preview1-34640 + 2.2.0-preview1-34640 + 2.2.0-preview1-34640 + 2.2.0-preview1-34640 + 2.0.7 + 2.1.1 2.2.0-preview1-26618-02 15.6.1 4.7.49 @@ -40,7 +40,7 @@ 11.0.2 0.8.0 2.3.1 - 2.4.0-beta.1.build3945 + 2.4.0-rc.1.build4038 diff --git a/korebuild-lock.txt b/korebuild-lock.txt index a8109db529..27e2e80f9a 100644 --- a/korebuild-lock.txt +++ b/korebuild-lock.txt @@ -1,2 +1,2 @@ -version:2.2.0-preview1-17090 -commithash:b19e903e946579cd9482089bce7d917e8bacd765 +version:2.2.0-preview1-17099 +commithash:263ed1db9866b6b419b1f5d5189a712aa218acb3 From d339b2b256f448946cd0da1ebb106e46408be333 Mon Sep 17 00:00:00 2001 From: "ASP.NET CI" Date: Sun, 8 Jul 2018 20:08:28 +0000 Subject: [PATCH 055/221] Update dependencies.props [auto-updated: dependencies] --- build/dependencies.props | 56 ++++++++++++++++++++-------------------- korebuild-lock.txt | 4 +-- 2 files changed, 30 insertions(+), 30 deletions(-) diff --git a/build/dependencies.props b/build/dependencies.props index dc216785c8..84b1cd9d49 100644 --- a/build/dependencies.props +++ b/build/dependencies.props @@ -4,33 +4,33 @@ 0.10.13 - 3.0.0-alpha1-10000 - 3.0.0-alpha1-10016 - 3.0.0-alpha1-10016 - 3.0.0-alpha1-10016 - 3.0.0-alpha1-10016 - 3.0.0-alpha1-10016 - 3.0.0-alpha1-10016 - 3.0.0-alpha1-10016 - 3.0.0-alpha1-10016 - 3.0.0-alpha1-10016 - 3.0.0-alpha1-10016 - 3.0.0-alpha1-10016 - 3.0.0-alpha1-10016 - 3.0.0-alpha1-10016 - 3.0.0-alpha1-10016 - 3.0.0-alpha1-10016 - 3.0.0-alpha1-10016 - 3.0.0-alpha1-10016 - 3.0.0-alpha1-10016 - 3.0.0-alpha1-10016 - 3.0.0-alpha1-10016 - 3.0.0-alpha1-10016 - 3.0.0-alpha1-10016 - 3.0.0-alpha1-10016 - 3.0.0-alpha1-10016 - 3.0.0-alpha1-10016 - 3.0.0-alpha1-10016 + 3.0.0-alpha1-10005 + 3.0.0-alpha1-10044 + 3.0.0-alpha1-10044 + 3.0.0-alpha1-10044 + 3.0.0-alpha1-10044 + 3.0.0-alpha1-10044 + 3.0.0-alpha1-10044 + 3.0.0-alpha1-10044 + 3.0.0-alpha1-10044 + 3.0.0-alpha1-10044 + 3.0.0-alpha1-10044 + 3.0.0-alpha1-10044 + 3.0.0-alpha1-10044 + 3.0.0-alpha1-10044 + 3.0.0-alpha1-10044 + 3.0.0-alpha1-10044 + 3.0.0-alpha1-10044 + 3.0.0-alpha1-10044 + 3.0.0-alpha1-10044 + 3.0.0-alpha1-10044 + 3.0.0-alpha1-10044 + 3.0.0-alpha1-10044 + 3.0.0-alpha1-10044 + 3.0.0-alpha1-10044 + 3.0.0-alpha1-10044 + 3.0.0-alpha1-10044 + 3.0.0-alpha1-10044 2.0.0 2.1.0 2.2.0-preview1-26618-02 @@ -40,7 +40,7 @@ 11.0.2 0.8.0 2.3.1 - 2.4.0-beta.1.build3945 + 2.4.0-rc.1.build4038 diff --git a/korebuild-lock.txt b/korebuild-lock.txt index f0b76184fd..f357ac9f7d 100644 --- a/korebuild-lock.txt +++ b/korebuild-lock.txt @@ -1,2 +1,2 @@ -version:3.0.0-alpha1-10000 -commithash:b7b88d08d55abc8b71de9abf16e26fc713e332cd +version:3.0.0-alpha1-10005 +commithash:05570853de976a526462ca140a55b1ac59d9a351 From 7aba48ca27967d5b3ec86c7b6e208dca13deadc9 Mon Sep 17 00:00:00 2001 From: Ryan Nowak Date: Wed, 11 Jul 2018 21:23:38 -0700 Subject: [PATCH 056/221] Add support for httpmethods in swaggatherer --- .../Matchers/MatcherBenchmarkBase.cs | 12 +++++++-- .../Swaggatherer/SwaggathererApplication.cs | 25 +++++++++++++------ benchmarks/Swaggatherer/Template.cs | 6 +++-- 3 files changed, 32 insertions(+), 11 deletions(-) diff --git a/benchmarks/Microsoft.AspNetCore.Routing.Performance/Matchers/MatcherBenchmarkBase.cs b/benchmarks/Microsoft.AspNetCore.Routing.Performance/Matchers/MatcherBenchmarkBase.cs index a2032b3c48..1ab67c9235 100644 --- a/benchmarks/Microsoft.AspNetCore.Routing.Performance/Matchers/MatcherBenchmarkBase.cs +++ b/benchmarks/Microsoft.AspNetCore.Routing.Performance/Matchers/MatcherBenchmarkBase.cs @@ -2,10 +2,12 @@ // Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information. using System; +using System.Collections.Generic; using System.Runtime.CompilerServices; using System.Text; using System.Threading.Tasks; using Microsoft.AspNetCore.Http; +using Microsoft.AspNetCore.Routing.EndpointConstraints; using Microsoft.Extensions.DependencyInjection; namespace Microsoft.AspNetCore.Routing.Matchers @@ -23,15 +25,21 @@ namespace Microsoft.AspNetCore.Routing.Matchers return services.BuildServiceProvider(); } - internal static MatcherEndpoint CreateEndpoint(string template) + internal static MatcherEndpoint CreateEndpoint(string template, string httpMethod = null) { + var metadata = new List(); + if (httpMethod != null) + { + metadata.Add(new HttpMethodEndpointConstraint(new string[] { httpMethod, })); + } + return new MatcherEndpoint( (next) => (context) => Task.CompletedTask, template, new RouteValueDictionary(), new RouteValueDictionary(), 0, - EndpointMetadataCollection.Empty, + new EndpointMetadataCollection(metadata), template); } diff --git a/benchmarks/Swaggatherer/SwaggathererApplication.cs b/benchmarks/Swaggatherer/SwaggathererApplication.cs index 570ec6d344..5cebbf96a2 100644 --- a/benchmarks/Swaggatherer/SwaggathererApplication.cs +++ b/benchmarks/Swaggatherer/SwaggathererApplication.cs @@ -18,6 +18,7 @@ namespace Swaggatherer { Invoke = InvokeCore; + HttpMethods = Option("-m|--method", "allow multiple endpoints with different http method", CommandOptionType.NoValue); Input = Option("-i", "input swagger 2.0 JSON file", CommandOptionType.MultipleValue); InputDirectory = Option("-d", "input directory", CommandOptionType.SingleValue); Output = Option("-o", "output", CommandOptionType.SingleValue); @@ -29,6 +30,9 @@ namespace Swaggatherer public CommandOption InputDirectory { get; } + // Support multiple endpoints that are distinguished only by http method. + public CommandOption HttpMethods { get; } + public CommandOption Output { get; } private int InvokeCore() @@ -55,6 +59,7 @@ namespace Swaggatherer Input.Values.AddRange(Directory.EnumerateFiles(InputDirectory.Value(), "*.json", SearchOption.AllDirectories)); } + Console.WriteLine($"Processing {Input.Values.Count} files..."); var entries = new List(); for (var i = 0; i < Input.Values.Count; i++) { @@ -69,7 +74,6 @@ namespace Swaggatherer { Out.WriteLine("Skipping route with complex segment: " + entries[i].Template.TemplateText); entries.RemoveAt(i); - break; } } @@ -96,7 +100,7 @@ namespace Swaggatherer matches.Add(entry); } - + // We're not too sophisticated with how we generate parameter values, just hoping for // the best. For parameters we generate a segment that is the same length as the parameter name // but with a minimum of 5 characters to avoid collisions. @@ -128,14 +132,14 @@ namespace Swaggatherer } catch (JsonReaderException ex) { - Out.WriteLine("Error reading: {0}"); + Out.WriteLine($"Error reading: {input}"); Out.WriteLine(ex); return new JObject(); } } } - private static void ParseEntries(JObject input, List entries) + private void ParseEntries(JObject input, List entries) { var basePath = ""; if (input["basePath"] is JProperty basePathProperty) @@ -153,7 +157,7 @@ namespace Swaggatherer var parsed = TemplateParser.Parse(template); entries.Add(new RouteEntry() { - Method = method.Name, + Method = HttpMethods.HasValue() ? method.Name.ToString() : null, Template = parsed, Precedence = RoutePrecedence.ComputeInbound(parsed), }); @@ -175,7 +179,7 @@ namespace Swaggatherer return false; } - private static bool IsDuplicateTemplate(RouteEntry entry, List others) + private bool IsDuplicateTemplate(RouteEntry entry, List others) { for (var j = 0; j < others.Count; j++) { @@ -187,13 +191,20 @@ namespace Swaggatherer for (var k = 0; k < entry.Template.Segments.Count; k++) { if (!string.Equals( - entry.Template.Segments[k].Parts[0].Text, + entry.Template.Segments[k].Parts[0].Text, other.Template.Segments[k].Parts[0].Text, StringComparison.OrdinalIgnoreCase)) { isSame = false; break; } + + if (HttpMethods.HasValue() && + !string.Equals(entry.Method, other.Method, StringComparison.OrdinalIgnoreCase)) + { + isSame = false; + break; + } } if (isSame) diff --git a/benchmarks/Swaggatherer/Template.cs b/benchmarks/Swaggatherer/Template.cs index 761be89a92..9c05aa5867 100644 --- a/benchmarks/Swaggatherer/Template.cs +++ b/benchmarks/Swaggatherer/Template.cs @@ -12,8 +12,10 @@ namespace Swaggatherer { var setupEndpointsLines = new List(); for (var i = 0; i < entries.Count; i++) - { - setupEndpointsLines.Add($" _endpoints[{i}] = CreateEndpoint(\"{entries[i].Template.TemplateText}\");"); + { + var entry = entries[i]; + var httpMethodText = entry.Method == null ? string.Empty : $", \"{entry.Method.ToUpperInvariant()}\""; + setupEndpointsLines.Add($" _endpoints[{i}] = CreateEndpoint(\"{entry.Template.TemplateText}\"{httpMethodText});"); } var setupRequestsLines = new List(); From 576c14a1b5ee2b1a5f98e764af52fe7a16e40abd Mon Sep 17 00:00:00 2001 From: Ryan Nowak Date: Wed, 11 Jul 2018 23:17:54 -0700 Subject: [PATCH 057/221] Remove InstructionMatcher --- .../Matchers/AzureMatcherBenchmark.cs | 15 - .../Matchers/GithubMatcherBenchmark.cs | 14 - .../Matchers/SingleEntryMatcherBenchmark.cs | 10 - .../SmallEntryCountLiteralMatcherBenchark.cs | 10 - ...soft.AspNetCore.Routing.Performance.csproj | 6 - .../Matchers/InstructionMatcher.cs | 214 ----------- .../Matchers/InstructionMatcherBuilder.cs | 356 ------------------ .../InstructionMatcherConformanceTest.cs | 18 - 8 files changed, 643 deletions(-) delete mode 100644 test/Microsoft.AspNetCore.Routing.Tests/Matchers/InstructionMatcher.cs delete mode 100644 test/Microsoft.AspNetCore.Routing.Tests/Matchers/InstructionMatcherBuilder.cs delete mode 100644 test/Microsoft.AspNetCore.Routing.Tests/Matchers/InstructionMatcherConformanceTest.cs diff --git a/benchmarks/Microsoft.AspNetCore.Routing.Performance/Matchers/AzureMatcherBenchmark.cs b/benchmarks/Microsoft.AspNetCore.Routing.Performance/Matchers/AzureMatcherBenchmark.cs index 5a5d9f0a44..1420ef4b5e 100644 --- a/benchmarks/Microsoft.AspNetCore.Routing.Performance/Matchers/AzureMatcherBenchmark.cs +++ b/benchmarks/Microsoft.AspNetCore.Routing.Performance/Matchers/AzureMatcherBenchmark.cs @@ -14,7 +14,6 @@ namespace Microsoft.AspNetCore.Routing.Matchers private BarebonesMatcher _baseline; private Matcher _dfa; - private Matcher _instruction; private Matcher _route; private Matcher _tree; @@ -34,7 +33,6 @@ namespace Microsoft.AspNetCore.Routing.Matchers _baseline = (BarebonesMatcher)SetupMatcher(new BarebonesMatcherBuilder()); _dfa = SetupMatcher(new DfaMatcherBuilder()); - _instruction = SetupMatcher(new InstructionMatcherBuilder()); _route = SetupMatcher(new RouteMatcherBuilder()); _tree = SetupMatcher(new TreeRouterMatcherBuilder()); @@ -67,19 +65,6 @@ namespace Microsoft.AspNetCore.Routing.Matchers } } - [Benchmark(OperationsPerInvoke = SampleCount)] - public async Task Instruction() - { - var feature = _feature; - for (var i = 0; i < SampleCount; i++) - { - var sample = _samples[i]; - var httpContext = _requests[sample]; - await _instruction.MatchAsync(httpContext, feature); - Validate(httpContext, _endpoints[sample], feature.Endpoint); - } - } - [Benchmark(OperationsPerInvoke = SampleCount)] public async Task LegacyRoute() { diff --git a/benchmarks/Microsoft.AspNetCore.Routing.Performance/Matchers/GithubMatcherBenchmark.cs b/benchmarks/Microsoft.AspNetCore.Routing.Performance/Matchers/GithubMatcherBenchmark.cs index 39f2fb3c45..58b4906006 100644 --- a/benchmarks/Microsoft.AspNetCore.Routing.Performance/Matchers/GithubMatcherBenchmark.cs +++ b/benchmarks/Microsoft.AspNetCore.Routing.Performance/Matchers/GithubMatcherBenchmark.cs @@ -13,7 +13,6 @@ namespace Microsoft.AspNetCore.Routing.Matchers { private BarebonesMatcher _baseline; private Matcher _dfa; - private Matcher _instruction; private Matcher _route; private Matcher _tree; @@ -28,7 +27,6 @@ namespace Microsoft.AspNetCore.Routing.Matchers _baseline = (BarebonesMatcher)SetupMatcher(new BarebonesMatcherBuilder()); _dfa = SetupMatcher(new DfaMatcherBuilder()); - _instruction = SetupMatcher(new InstructionMatcherBuilder()); _route = SetupMatcher(new RouteMatcherBuilder()); _tree = SetupMatcher(new TreeRouterMatcherBuilder()); @@ -59,18 +57,6 @@ namespace Microsoft.AspNetCore.Routing.Matchers } } - [Benchmark(OperationsPerInvoke = EndpointCount)] - public async Task Instruction() - { - var feature = _feature; - for (var i = 0; i < EndpointCount; i++) - { - var httpContext = _requests[i]; - await _instruction.MatchAsync(httpContext, feature); - Validate(httpContext, _endpoints[i], feature.Endpoint); - } - } - [Benchmark(OperationsPerInvoke = EndpointCount)] public async Task LegacyRoute() { diff --git a/benchmarks/Microsoft.AspNetCore.Routing.Performance/Matchers/SingleEntryMatcherBenchmark.cs b/benchmarks/Microsoft.AspNetCore.Routing.Performance/Matchers/SingleEntryMatcherBenchmark.cs index 586eb45390..278597b30e 100644 --- a/benchmarks/Microsoft.AspNetCore.Routing.Performance/Matchers/SingleEntryMatcherBenchmark.cs +++ b/benchmarks/Microsoft.AspNetCore.Routing.Performance/Matchers/SingleEntryMatcherBenchmark.cs @@ -11,7 +11,6 @@ namespace Microsoft.AspNetCore.Routing.Matchers { private Matcher _baseline; private Matcher _dfa; - private Matcher _instruction; private Matcher _route; private Matcher _tree; @@ -30,7 +29,6 @@ namespace Microsoft.AspNetCore.Routing.Matchers _baseline = SetupMatcher(new TrivialMatcherBuilder()); _dfa = SetupMatcher(new DfaMatcherBuilder()); - _instruction = SetupMatcher(new InstructionMatcherBuilder()); _route = SetupMatcher(new RouteMatcherBuilder()); _tree = SetupMatcher(new TreeRouterMatcherBuilder()); @@ -59,14 +57,6 @@ namespace Microsoft.AspNetCore.Routing.Matchers Validate(_requests[0], _endpoints[0], feature.Endpoint); } - [Benchmark] - public async Task Instruction() - { - var feature = _feature; - await _instruction.MatchAsync(_requests[0], feature); - Validate(_requests[0], _endpoints[0], feature.Endpoint); - } - [Benchmark] public async Task LegacyRoute() { diff --git a/benchmarks/Microsoft.AspNetCore.Routing.Performance/Matchers/SmallEntryCountLiteralMatcherBenchark.cs b/benchmarks/Microsoft.AspNetCore.Routing.Performance/Matchers/SmallEntryCountLiteralMatcherBenchark.cs index 5804246ca1..ed88e69693 100644 --- a/benchmarks/Microsoft.AspNetCore.Routing.Performance/Matchers/SmallEntryCountLiteralMatcherBenchark.cs +++ b/benchmarks/Microsoft.AspNetCore.Routing.Performance/Matchers/SmallEntryCountLiteralMatcherBenchark.cs @@ -11,7 +11,6 @@ namespace Microsoft.AspNetCore.Routing.Matchers { private Matcher _baseline; private Matcher _dfa; - private Matcher _instruction; private Matcher _route; private Matcher _tree; @@ -26,7 +25,6 @@ namespace Microsoft.AspNetCore.Routing.Matchers _baseline = SetupMatcher(new TrivialMatcherBuilder()); _dfa = SetupMatcher(new DfaMatcherBuilder()); - _instruction = SetupMatcher(new InstructionMatcherBuilder()); _route = SetupMatcher(new RouteMatcherBuilder()); _tree = SetupMatcher(new TreeRouterMatcherBuilder()); @@ -89,14 +87,6 @@ namespace Microsoft.AspNetCore.Routing.Matchers Validate(_requests[0], _endpoints[9], feature.Endpoint); } - [Benchmark] - public async Task Instruction() - { - var feature = _feature; - await _instruction.MatchAsync(_requests[0], feature); - Validate(_requests[0], _endpoints[9], feature.Endpoint); - } - [Benchmark] public async Task LegacyRoute() { diff --git a/benchmarks/Microsoft.AspNetCore.Routing.Performance/Microsoft.AspNetCore.Routing.Performance.csproj b/benchmarks/Microsoft.AspNetCore.Routing.Performance/Microsoft.AspNetCore.Routing.Performance.csproj index 8c807811b5..145966eafb 100644 --- a/benchmarks/Microsoft.AspNetCore.Routing.Performance/Microsoft.AspNetCore.Routing.Performance.csproj +++ b/benchmarks/Microsoft.AspNetCore.Routing.Performance/Microsoft.AspNetCore.Routing.Performance.csproj @@ -33,12 +33,6 @@ Matchers\DfaMatcherBuilder.cs - - Matchers\InstructionMatcher.cs - - - Matchers\InstructionMatcherBuilder.cs - Matchers\RouteMatcher.cs diff --git a/test/Microsoft.AspNetCore.Routing.Tests/Matchers/InstructionMatcher.cs b/test/Microsoft.AspNetCore.Routing.Tests/Matchers/InstructionMatcher.cs deleted file mode 100644 index cc4d9e6f8d..0000000000 --- a/test/Microsoft.AspNetCore.Routing.Tests/Matchers/InstructionMatcher.cs +++ /dev/null @@ -1,214 +0,0 @@ -// Copyright (c) .NET Foundation. All rights reserved. -// Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information. - -using System; -using System.Collections.Generic; -using System.Diagnostics; -using System.Runtime.InteropServices; -using System.Threading.Tasks; -using Microsoft.AspNetCore.Http; - -namespace Microsoft.AspNetCore.Routing.Matchers -{ - internal class InstructionMatcher : Matcher - { - private State _state; - - public InstructionMatcher(Instruction[] instructions, Candidate[] candidates, JumpTable[] tables) - { - _state = new State() - { - Instructions = instructions, - Candidates = candidates, - Tables = tables, - }; - } - - public unsafe override Task MatchAsync(HttpContext httpContext, IEndpointFeature feature) - { - if (httpContext == null) - { - throw new ArgumentNullException(nameof(httpContext)); - } - - if (feature == null) - { - throw new ArgumentNullException(nameof(feature)); - } - - var state = _state; - - var path = httpContext.Request.Path.Value; - var buffer = stackalloc PathSegment[32]; - var count = FastPathTokenizer.Tokenize(path, buffer, 32); - - var i = 0; - var candidates = new List(); - while (i < state.Instructions.Length) - { - var instruction = state.Instructions[i]; - switch (instruction.Code) - { - case InstructionCode.Accept: - { - if (count == instruction.Depth) - { - candidates.Add(state.Candidates[instruction.Payload]); - } - i++; - break; - } - case InstructionCode.Branch: - { - var table = state.Tables[instruction.Payload]; - i = table.GetDestination(buffer, count, path); - break; - } - case InstructionCode.Jump: - { - i = instruction.Payload; - break; - } - } - } - - var matches = new List<(Endpoint, RouteValueDictionary)>(); - for (i = 0; i < candidates.Count; i++) - { - var values = new RouteValueDictionary(); - var parameters = candidates[i].Parameters; - if (parameters != null) - { - for (var j = 0; j < parameters.Length; j++) - { - var parameter = parameters[j]; - if (parameter != null && buffer[j].Length == 0) - { - goto notmatch; - } - else if (parameter != null) - { - var value = path.Substring(buffer[j].Start, buffer[j].Length); - values.Add(parameter, value); - } - } - } - - matches.Add((candidates[i].Endpoint, values)); - - notmatch:; - } - - feature.Endpoint = matches.Count == 0 ? null : matches[0].Item1; - feature.Values = matches.Count == 0 ? null : matches[0].Item2; - - return Task.CompletedTask; - } - - public struct Candidate - { - public Endpoint Endpoint; - public string[] Parameters; - } - - public class State - { - public Candidate[] Candidates; - public Instruction[] Instructions; - public JumpTable[] Tables; - } - - [DebuggerDisplay("{ToDebugString(),nq}")] - [StructLayout(LayoutKind.Explicit)] - public struct Instruction - { - [FieldOffset(0)] - public byte Depth; - - [FieldOffset(3)] - public InstructionCode Code; - - [FieldOffset(4)] - public int Payload; - - private string ToDebugString() - { - return $"{Code}: {Payload}"; - } - } - - public enum InstructionCode : byte - { - Accept, - Branch, - Jump, - Pop, // Only used during the instruction builder phase - } - - public abstract class JumpTable - { - public unsafe abstract int GetDestination(PathSegment* segments, int depth, string path); - } - - public class JumpTableBuilder - { - private readonly List<(string text, int destination)> _entries = new List<(string text, int destination)>(); - - public int Depth { get; set; } - - public int Exit { get; set; } - - public void AddEntry(string text, int destination) - { - _entries.Add((text, destination)); - } - - public JumpTable Build() - { - return new SimpleJumpTable(Depth, Exit, _entries.ToArray()); - } - } - - public class SimpleJumpTable : JumpTable - { - private readonly (string text, int destination)[] _entries; - private readonly int _depth; - private readonly int _exit; - - public SimpleJumpTable(int depth, int exit, (string text, int destination)[] entries) - { - _depth = depth; - _exit = exit; - _entries = entries; - } - - public unsafe override int GetDestination(PathSegment* segments, int count, string path) - { - if (_depth == count) - { - return _exit; - } - - var start = segments[_depth].Start; - var length = segments[_depth].Length; - - for (var i = 0; i < _entries.Length; i++) - { - if (length == _entries[i].text.Length && - string.Compare( - path, - start, - _entries[i].text, - 0, - length, - StringComparison.OrdinalIgnoreCase) == 0) - { - return _entries[i].destination; - } - } - - return _exit; - } - } - } -} diff --git a/test/Microsoft.AspNetCore.Routing.Tests/Matchers/InstructionMatcherBuilder.cs b/test/Microsoft.AspNetCore.Routing.Tests/Matchers/InstructionMatcherBuilder.cs deleted file mode 100644 index 40476d5008..0000000000 --- a/test/Microsoft.AspNetCore.Routing.Tests/Matchers/InstructionMatcherBuilder.cs +++ /dev/null @@ -1,356 +0,0 @@ -// Copyright (c) .NET Foundation. All rights reserved. -// Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information. - -using System; -using System.Collections.Generic; -using System.Linq; -using Microsoft.AspNetCore.Routing.Template; -using static Microsoft.AspNetCore.Routing.Matchers.InstructionMatcher; - -namespace Microsoft.AspNetCore.Routing.Matchers -{ - internal class InstructionMatcherBuilder : MatcherBuilder - { - private List _entries = new List(); - - public override void AddEndpoint(MatcherEndpoint endpoint) - { - var parsed = TemplateParser.Parse(endpoint.Template); - _entries.Add(new Entry() - { - Order = 0, - Pattern = parsed, - Precedence = RoutePrecedence.ComputeInbound(parsed), - Endpoint = endpoint, - }); - } - - public override Matcher Build() - { - _entries.Sort((x, y) => - { - var comparison = x.Order.CompareTo(y.Order); - if (comparison != 0) - { - return comparison; - } - - comparison = x.Precedence.CompareTo(y.Precedence); - if (comparison != 0) - { - return comparison; - } - - return x.Pattern.TemplateText.CompareTo(y.Pattern.TemplateText); - }); - - var roots = new List(); - - for (var i = 0; i < _entries.Count; i++) - { - var entry = _entries[i]; - - var parent = (SequenceNode)GetOrCreateRootNode(roots, entry.Order); - - var depth = 0; - for (; depth < entry.Pattern.Segments.Count; depth++) - { - var segment = entry.Pattern.Segments[depth]; - if (segment.IsSimple && segment.Parts[0].IsLiteral) - { - var branch = parent.GetNode() ?? parent.AddNode(new BranchNode(depth)); - - var index = -1; - for (var j = 0; j < branch.Literals.Count; j++) - { - if (string.Equals(segment.Parts[0].Text, branch.Literals[j], StringComparison.OrdinalIgnoreCase)) - { - index = j; - break; - } - } - - if (index == -1) - { - branch.Literals.Add(segment.Parts[0].Text); - branch.AddNode(new SequenceNode(depth + 1)); - index = branch.Children.Count - 1; - } - - parent = (SequenceNode)branch.Children[index]; - } - else if (segment.IsSimple && segment.Parts[0].IsParameter) - { - var parameter = parent.GetNode() ?? parent.AddNode(new ParameterNode(depth)); - if (parameter.Children.Count == 0) - { - parameter.AddNode(new SequenceNode(depth + 1)); - } - - parent = (SequenceNode)parameter.Children[0]; - } - else - { - throw new InvalidOperationException("Not implemented!"); - } - } - - parent.AddNode(new AcceptNode(depth, entry.Endpoint)); - } - - var builder = new InstructionBuilder(); - for (var i = 0; i < roots.Count; i++) - { - roots[i].Lower(builder); - } - - var (instructions, endpoints, tables) = builder; - var candidates = new Candidate[endpoints.Length]; - for (var i = 0; i < endpoints.Length; i++) - { - candidates[i] = CreateCandidate(endpoints[i]); - } - - return new InstructionMatcher(instructions, candidates, tables); - } - - private OrderNode GetOrCreateRootNode(List roots, int order) - { - OrderNode root = null; - for (var j = 0; j < roots.Count; j++) - { - if (roots[j].Order == order) - { - root = roots[j]; - break; - } - } - - if (root == null) - { - // Nodes are guaranteed to be in order because the entries are in order. - root = new OrderNode(order); - roots.Add(root); - } - - return root; - } - - private static Candidate CreateCandidate(MatcherEndpoint endpoint) - { - var parsed = TemplateParser.Parse(endpoint.Template); - return new Candidate() - { - Endpoint = endpoint, - Parameters = parsed.Segments.Select(s => s.IsSimple && s.Parts[0].IsParameter ? s.Parts[0].Name : null).ToArray(), - }; - } - - private class Entry - { - public int Order; - public decimal Precedence; - public RouteTemplate Pattern; - public MatcherEndpoint Endpoint; - } - - private class InstructionBuilder - { - private readonly List _instructions = new List(); - private readonly List _endpoints = new List(); - private readonly List _tables = new List(); - - private readonly List _blocks = new List(); - - public int Next => _instructions.Count; - - public void BeginBlock() - { - _blocks.Add(Next); - } - - public void EndBlock() - { - var start = _blocks[_blocks.Count - 1]; - var end = Next; - for (var i = start; i < end; i++) - { - if (_instructions[i].Code == InstructionCode.Pop) - { - _instructions[i] = new Instruction() - { - Code = InstructionCode.Jump, - Depth = _instructions[i].Depth, - Payload = end, - }; - } - } - - _blocks.RemoveAt(_blocks.Count - 1); - } - - public int AddInstruction(Instruction instruction) - { - _instructions.Add(instruction); - return _instructions.Count - 1; - } - - public int AddEndpoint(MatcherEndpoint endpoint) - { - _endpoints.Add(endpoint); - return _endpoints.Count - 1; - } - - public int AddJumpTable(JumpTableBuilder table) - { - _tables.Add(table); - return _tables.Count - 1; - } - - public void Deconstruct( - out Instruction[] instructions, - out MatcherEndpoint[] endpoints, - out JumpTable[] tables) - { - instructions = _instructions.ToArray(); - endpoints = _endpoints.ToArray(); - - tables = new JumpTable[_tables.Count]; - for (var i = 0; i < _tables.Count; i++) - { - tables[i] = _tables[i].Build(); - } - } - } - - private abstract class Node - { - public int Depth { get; protected set; } - public List Children { get; } = new List(); - - public abstract void Lower(InstructionBuilder builder); - - public TNode GetNode() where TNode : Node - { - for (var i = 0; i < Children.Count; i++) - { - if (Children[i] is TNode match) - { - return match; - } - } - - return null; - } - - public TNode AddNode(TNode node) where TNode : Node - { - // We already ordered the routes into precedence order - Children.Add(node); - return node; - } - } - - private class SequenceNode : Node - { - public SequenceNode(int depth) - { - Depth = depth; - } - - public override void Lower(InstructionBuilder builder) - { - for (var i = 0; i < Children.Count; i++) - { - Children[i].Lower(builder); - } - } - } - - private class OrderNode : SequenceNode - { - public OrderNode(int order) - : base(0) - { - Order = order; - } - - public int Order { get; } - } - - private class BranchNode : Node - { - public BranchNode(int depth) - { - Depth = depth; - } - - public List Literals { get; } = new List(); - - public override void Lower(InstructionBuilder builder) - { - var table = new JumpTableBuilder() { Depth = Depth, }; - var index = builder.AddJumpTable(table); - builder.AddInstruction(new Instruction() - { - Code = InstructionCode.Branch, - Depth = (byte)Depth, - Payload = index - }); - - builder.BeginBlock(); - - for (var i = 0; i < Children.Count; i++) - { - table.AddEntry(Literals[i], builder.Next); - Children[i].Lower(builder); - builder.AddInstruction(new Instruction() - { - Code = InstructionCode.Pop, - Depth = (byte)Depth, - }); - } - - builder.EndBlock(); - table.Exit = builder.Next; - } - } - - private class ParameterNode : Node - { - public ParameterNode(int depth) - { - Depth = depth; - } - - public override void Lower(InstructionBuilder builder) - { - for (var i = 0; i < Children.Count; i++) - { - Children[i].Lower(builder); - } - } - } - - private class AcceptNode : Node - { - public AcceptNode(int depth, MatcherEndpoint endpoint) - { - Depth = depth; - Endpoint = endpoint; - } - - public MatcherEndpoint Endpoint { get; } - - public override void Lower(InstructionBuilder builder) - { - builder.AddInstruction(new Instruction() - { - Code = InstructionCode.Accept, - Depth = (byte)Depth, - Payload = builder.AddEndpoint(Endpoint), - }); - } - } - } -} diff --git a/test/Microsoft.AspNetCore.Routing.Tests/Matchers/InstructionMatcherConformanceTest.cs b/test/Microsoft.AspNetCore.Routing.Tests/Matchers/InstructionMatcherConformanceTest.cs deleted file mode 100644 index 65a902ff58..0000000000 --- a/test/Microsoft.AspNetCore.Routing.Tests/Matchers/InstructionMatcherConformanceTest.cs +++ /dev/null @@ -1,18 +0,0 @@ -// Copyright (c) .NET Foundation. All rights reserved. -// Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information. - -namespace Microsoft.AspNetCore.Routing.Matchers -{ - public class InstructionMatcherConformanceTest : MatcherConformanceTest - { - internal override Matcher CreateMatcher(params MatcherEndpoint[] endpoints) - { - var builder = new InstructionMatcherBuilder(); - for (int i = 0; i < endpoints.Length; i++) - { - builder.AddEndpoint(endpoints[i]); - } - return builder.Build(); - } - } -} From 85e92ab3cc4ec28a5386a15bf2a8df5c228d30cc Mon Sep 17 00:00:00 2001 From: Nate McMaster Date: Thu, 28 Jun 2018 16:48:57 -0700 Subject: [PATCH 058/221] Added support for route constraints in Dispatcher world --- .../Benchmarks/StartupUsingDispatcher.cs | 1 + .../Matchers/MatcherBenchmarkBase.cs | 15 +- .../EndsWithStringMatchProcessor.cs | 40 ++++ samples/DispatcherSample.Web/Startup.cs | 54 ++++- .../DefaultInlineConstraintResolver.cs | 2 +- .../DefaultLinkGenerator.cs | 51 ++++- .../RoutingServiceCollectionExtensions.cs | 3 + .../Internal/NullRouter.cs | 26 +++ .../Matchers/DefaultMatchProcessorFactory.cs | 156 ++++++++++++++ .../Matchers/MatchProcessor.cs | 18 ++ .../Matchers/MatchProcessorBase.cs | 42 ++++ .../Matchers/MatchProcessorFactory.cs | 10 + .../Matchers/MatchProcessorReference.cs | 86 ++++++++ .../Matchers/MatcherEndpoint.cs | 35 ++++ .../Matchers/OptionalMatchProcessor.cs | 44 ++++ .../Matchers/TreeMatcher.cs | 64 +++--- .../Matchers/TreeMatcherFactory.cs | 12 +- .../RouteValuesBasedEndpointFinder.cs | 44 +--- .../DispatcherSampleTest.cs | 68 +++++++ .../DefaultLinkGeneratorTest.cs | 9 +- .../DispatcherMiddlewareTest.cs | 2 - .../EndpointSelectorTests.cs | 6 +- .../DefaultMatchProcessorFactoryTest.cs | 190 ++++++++++++++++++ .../Matchers/MatcherConformanceTest.cs | 2 + .../Matchers/TreeMatcherTests.cs | 16 +- 25 files changed, 886 insertions(+), 110 deletions(-) create mode 100644 samples/DispatcherSample.Web/EndsWithStringMatchProcessor.cs create mode 100644 src/Microsoft.AspNetCore.Routing/Internal/NullRouter.cs create mode 100644 src/Microsoft.AspNetCore.Routing/Matchers/DefaultMatchProcessorFactory.cs create mode 100644 src/Microsoft.AspNetCore.Routing/Matchers/MatchProcessor.cs create mode 100644 src/Microsoft.AspNetCore.Routing/Matchers/MatchProcessorBase.cs create mode 100644 src/Microsoft.AspNetCore.Routing/Matchers/MatchProcessorFactory.cs create mode 100644 src/Microsoft.AspNetCore.Routing/Matchers/MatchProcessorReference.cs create mode 100644 src/Microsoft.AspNetCore.Routing/Matchers/OptionalMatchProcessor.cs create mode 100644 test/Microsoft.AspNetCore.Routing.Tests/Matchers/DefaultMatchProcessorFactoryTest.cs diff --git a/benchmarkapps/Benchmarks/StartupUsingDispatcher.cs b/benchmarkapps/Benchmarks/StartupUsingDispatcher.cs index 153b6e42cc..1351a20689 100644 --- a/benchmarkapps/Benchmarks/StartupUsingDispatcher.cs +++ b/benchmarkapps/Benchmarks/StartupUsingDispatcher.cs @@ -34,6 +34,7 @@ namespace Benchmarks template: "/plaintext", defaults: new RouteValueDictionary(), requiredValues: new RouteValueDictionary(), + nonInlineMatchProcessorReferences: null, order: 0, metadata: EndpointMetadataCollection.Empty, displayName: "Plaintext"), diff --git a/benchmarks/Microsoft.AspNetCore.Routing.Performance/Matchers/MatcherBenchmarkBase.cs b/benchmarks/Microsoft.AspNetCore.Routing.Performance/Matchers/MatcherBenchmarkBase.cs index 1ab67c9235..2e10ed2397 100644 --- a/benchmarks/Microsoft.AspNetCore.Routing.Performance/Matchers/MatcherBenchmarkBase.cs +++ b/benchmarks/Microsoft.AspNetCore.Routing.Performance/Matchers/MatcherBenchmarkBase.cs @@ -34,13 +34,14 @@ namespace Microsoft.AspNetCore.Routing.Matchers } return new MatcherEndpoint( - (next) => (context) => Task.CompletedTask, - template, - new RouteValueDictionary(), - new RouteValueDictionary(), - 0, - new EndpointMetadataCollection(metadata), - template); + (next) => (context) => Task.CompletedTask, + template, + new RouteValueDictionary(), + new RouteValueDictionary(), + new List(), + 0, + EndpointMetadataCollection.Empty, + template); } internal static int[] SampleRequests(int endpointCount, int count) diff --git a/samples/DispatcherSample.Web/EndsWithStringMatchProcessor.cs b/samples/DispatcherSample.Web/EndsWithStringMatchProcessor.cs new file mode 100644 index 0000000000..7284dc6d66 --- /dev/null +++ b/samples/DispatcherSample.Web/EndsWithStringMatchProcessor.cs @@ -0,0 +1,40 @@ +// Copyright (c) .NET Foundation. All rights reserved. +// Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information. + +using System; +using System.Globalization; +using Microsoft.AspNetCore.Routing.Matchers; +using Microsoft.Extensions.Logging; + +namespace DispatcherSample.Web +{ + internal class EndsWithStringMatchProcessor : MatchProcessorBase + { + private readonly ILogger _logger; + + public EndsWithStringMatchProcessor(ILogger logger) + { + _logger = logger; + } + + public override bool Process(object value) + { + if (value == null) + { + return false; + } + + var valueString = Convert.ToString(value, CultureInfo.InvariantCulture); + + var endsWith = valueString.EndsWith(ConstraintArgument, StringComparison.OrdinalIgnoreCase); + + if (!endsWith) + { + _logger.LogDebug( + $"Parameter '{ParameterName}' with value '{valueString}' does not end with '{ConstraintArgument}'."); + } + + return endsWith; + } + } +} diff --git a/samples/DispatcherSample.Web/Startup.cs b/samples/DispatcherSample.Web/Startup.cs index eca7ab2235..9f8747310f 100644 --- a/samples/DispatcherSample.Web/Startup.cs +++ b/samples/DispatcherSample.Web/Startup.cs @@ -2,8 +2,10 @@ // Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information. using System; +using System.Collections.Generic; using System.Text; using Microsoft.AspNetCore.Builder; +using Microsoft.AspNetCore.Http; using Microsoft.AspNetCore.Routing; using Microsoft.AspNetCore.Routing.Matchers; using Microsoft.Extensions.DependencyInjection; @@ -17,7 +19,13 @@ namespace DispatcherSample.Web public void ConfigureServices(IServiceCollection services) { - services.AddRouting(); + services.AddTransient(); + + services.AddRouting(options => + { + options.ConstraintMap.Add("endsWith", typeof(EndsWithStringMatchProcessor)); + }); + services.AddDispatcher(options => { options.DataSources.Add(new DefaultEndpointDataSource(new[] @@ -31,7 +39,13 @@ namespace DispatcherSample.Web response.ContentLength = payloadLength; return response.Body.WriteAsync(_homePayload, 0, payloadLength); }, - "/", new RouteValueDictionary(), new RouteValueDictionary(), 0, EndpointMetadataCollection.Empty, "Home"), + "/", + new RouteValueDictionary(), + new RouteValueDictionary(), + new List(), + 0, + EndpointMetadataCollection.Empty, + "Home"), new MatcherEndpoint((next) => (httpContext) => { var response = httpContext.Response; @@ -41,7 +55,41 @@ namespace DispatcherSample.Web response.ContentLength = payloadLength; return response.Body.WriteAsync(_helloWorldPayload, 0, payloadLength); }, - "/plaintext", new RouteValueDictionary(), new RouteValueDictionary(), 0, EndpointMetadataCollection.Empty, "Plaintext"), + "/plaintext", + new RouteValueDictionary(), + new RouteValueDictionary(), + new List(), + 0, + EndpointMetadataCollection.Empty, + "Plaintext"), + new MatcherEndpoint((next) => (httpContext) => + { + var response = httpContext.Response; + response.StatusCode = 200; + response.ContentType = "text/plain"; + return response.WriteAsync("WithConstraints"); + }, + "/withconstraints/{id:endsWith(_001)}", + new RouteValueDictionary(), + new RouteValueDictionary(), + new List(), + 0, + EndpointMetadataCollection.Empty, + "withconstraints"), + new MatcherEndpoint((next) => (httpContext) => + { + var response = httpContext.Response; + response.StatusCode = 200; + response.ContentType = "text/plain"; + return response.WriteAsync("withoptionalconstraints"); + }, + "/withoptionalconstraints/{id:endsWith(_001)?}", + new RouteValueDictionary(), + new RouteValueDictionary(), + new List(), + 0, + EndpointMetadataCollection.Empty, + "withoptionalconstraints"), })); }); } diff --git a/src/Microsoft.AspNetCore.Routing/DefaultInlineConstraintResolver.cs b/src/Microsoft.AspNetCore.Routing/DefaultInlineConstraintResolver.cs index 7426516db2..ed58e053ba 100644 --- a/src/Microsoft.AspNetCore.Routing/DefaultInlineConstraintResolver.cs +++ b/src/Microsoft.AspNetCore.Routing/DefaultInlineConstraintResolver.cs @@ -90,7 +90,7 @@ namespace Microsoft.AspNetCore.Routing } } - private static IRouteConstraint CreateConstraint(Type constraintType, string argumentString) + internal static IRouteConstraint CreateConstraint(Type constraintType, string argumentString) { // No arguments - call the default constructor if (argumentString == null) diff --git a/src/Microsoft.AspNetCore.Routing/DefaultLinkGenerator.cs b/src/Microsoft.AspNetCore.Routing/DefaultLinkGenerator.cs index 7efe2cedd8..e5b5f4ea93 100644 --- a/src/Microsoft.AspNetCore.Routing/DefaultLinkGenerator.cs +++ b/src/Microsoft.AspNetCore.Routing/DefaultLinkGenerator.cs @@ -13,15 +13,18 @@ using Microsoft.Extensions.ObjectPool; namespace Microsoft.AspNetCore.Routing { - public class DefaultLinkGenerator : ILinkGenerator + internal class DefaultLinkGenerator : ILinkGenerator { + private readonly MatchProcessorFactory _matchProcessorFactory; private readonly ObjectPool _uriBuildingContextPool; private readonly ILogger _logger; public DefaultLinkGenerator( + MatchProcessorFactory matchProcessorFactory, ObjectPool uriBuildingContextPool, ILogger logger) { + _matchProcessorFactory = matchProcessorFactory; _uriBuildingContextPool = uriBuildingContextPool; _logger = logger; } @@ -61,7 +64,7 @@ namespace Microsoft.AspNetCore.Routing foreach (var endpoint in matcherEndpoints) { - link = GetLink(endpoint.ParsedTemplate, endpoint.Defaults, explicitValues, ambientValues); + link = GetLink(endpoint, explicitValues, ambientValues); if (link != null) { return true; @@ -72,27 +75,55 @@ namespace Microsoft.AspNetCore.Routing } private string GetLink( - RouteTemplate template, - RouteValueDictionary defaults, + MatcherEndpoint endpoint, RouteValueDictionary explicitValues, RouteValueDictionary ambientValues) { var templateBinder = new TemplateBinder( UrlEncoder.Default, _uriBuildingContextPool, - template, - defaults); + endpoint.ParsedTemplate, + endpoint.Defaults); - var values = templateBinder.GetValues(ambientValues, explicitValues); - if (values == null) + var templateValuesResult = templateBinder.GetValues(ambientValues, explicitValues); + if (templateValuesResult == null) { // We're missing one of the required values for this route. return null; } - //TODO: route constraint matching here + if (!Match(endpoint, templateValuesResult.CombinedValues)) + { + return null; + } - return templateBinder.BindValues(values.AcceptedValues); + return templateBinder.BindValues(templateValuesResult.AcceptedValues); + } + + private bool Match(MatcherEndpoint endpoint, RouteValueDictionary routeValues) + { + if (routeValues == null) + { + throw new ArgumentNullException(nameof(routeValues)); + } + + for (var i = 0; i < endpoint.MatchProcessorReferences.Count; i++) + { + var matchProcessorReference = endpoint.MatchProcessorReferences[i]; + var parameter = endpoint.ParsedTemplate.GetParameter(matchProcessorReference.ParameterName); + if (parameter.IsOptional && !routeValues.ContainsKey(parameter.Name)) + { + continue; + } + + var matchProcessor = _matchProcessorFactory.Create(matchProcessorReference); + if (!matchProcessor.ProcessOutbound(httpContext: null, routeValues)) + { + return false; + } + } + + return true; } } } diff --git a/src/Microsoft.AspNetCore.Routing/DependencyInjection/RoutingServiceCollectionExtensions.cs b/src/Microsoft.AspNetCore.Routing/DependencyInjection/RoutingServiceCollectionExtensions.cs index d6883f6c95..18ededc423 100644 --- a/src/Microsoft.AspNetCore.Routing/DependencyInjection/RoutingServiceCollectionExtensions.cs +++ b/src/Microsoft.AspNetCore.Routing/DependencyInjection/RoutingServiceCollectionExtensions.cs @@ -3,7 +3,9 @@ using System; using Microsoft.AspNetCore.Routing; +using Microsoft.AspNetCore.Routing.Constraints; using Microsoft.AspNetCore.Routing.Internal; +using Microsoft.AspNetCore.Routing.Matchers; using Microsoft.AspNetCore.Routing.Tree; using Microsoft.Extensions.DependencyInjection.Extensions; using Microsoft.Extensions.Logging; @@ -28,6 +30,7 @@ namespace Microsoft.Extensions.DependencyInjection throw new ArgumentNullException(nameof(services)); } + services.TryAddSingleton(); services.TryAddTransient(); services.TryAddSingleton>(s => { diff --git a/src/Microsoft.AspNetCore.Routing/Internal/NullRouter.cs b/src/Microsoft.AspNetCore.Routing/Internal/NullRouter.cs new file mode 100644 index 0000000000..9fd1908942 --- /dev/null +++ b/src/Microsoft.AspNetCore.Routing/Internal/NullRouter.cs @@ -0,0 +1,26 @@ +// Copyright (c) .NET Foundation. All rights reserved. +// Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information. + +using System.Threading.Tasks; + +namespace Microsoft.AspNetCore.Routing +{ + internal class NullRouter : IRouter + { + public static readonly NullRouter Instance = new NullRouter(); + + private NullRouter() + { + } + + public VirtualPathData GetVirtualPath(VirtualPathContext context) + { + return null; + } + + public Task RouteAsync(RouteContext context) + { + return Task.CompletedTask; + } + } +} diff --git a/src/Microsoft.AspNetCore.Routing/Matchers/DefaultMatchProcessorFactory.cs b/src/Microsoft.AspNetCore.Routing/Matchers/DefaultMatchProcessorFactory.cs new file mode 100644 index 0000000000..5226683626 --- /dev/null +++ b/src/Microsoft.AspNetCore.Routing/Matchers/DefaultMatchProcessorFactory.cs @@ -0,0 +1,156 @@ +// Copyright (c) .NET Foundation. All rights reserved. +// Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information. + +using System; +using Microsoft.Extensions.DependencyInjection; +using Microsoft.Extensions.Logging; +using Microsoft.Extensions.Options; + +namespace Microsoft.AspNetCore.Routing.Matchers +{ + internal class DefaultMatchProcessorFactory : MatchProcessorFactory + { + private readonly RouteOptions _options; + private readonly ILogger _logger; + private readonly IServiceProvider _serviceProvider; + + public DefaultMatchProcessorFactory( + IOptions options, + ILogger logger, + IServiceProvider serviceProvider) + { + _options = options.Value; + _logger = logger; + _serviceProvider = serviceProvider; + } + + public override MatchProcessor Create(MatchProcessorReference matchProcessorReference) + { + if (matchProcessorReference == null) + { + throw new ArgumentNullException(nameof(matchProcessorReference)); + } + + if (matchProcessorReference.MatchProcessor != null) + { + return matchProcessorReference.MatchProcessor; + } + + // Example: + // {productId:regex(\d+)} + // + // ParameterName: productId + // ConstraintText: regex(\d+) + // ConstraintName: regex + // ConstraintArgument: \d+ + + (var constraintName, var constraintArgument) = Parse(matchProcessorReference.ConstraintText); + + if (!_options.ConstraintMap.TryGetValue(constraintName, out var constraintType)) + { + throw new InvalidOperationException( + $"No constraint has been registered with name '{constraintName}'."); + } + + var processor = ResolveMatchProcessor( + matchProcessorReference.ParameterName, + matchProcessorReference.Optional, + constraintType, + constraintArgument); + + if (processor != null) + { + return processor; + } + + if (!typeof(IRouteConstraint).IsAssignableFrom(constraintType)) + { + throw new InvalidOperationException( + Resources.FormatDefaultInlineConstraintResolver_TypeNotConstraint( + constraintType, constraintName, typeof(IRouteConstraint).Name)); + } + + try + { + return CreateMatchProcessorFromRouteConstraint( + matchProcessorReference.ParameterName, + constraintType, + constraintArgument); + } + catch (RouteCreationException) + { + throw; + } + catch (Exception exception) + { + throw new InvalidOperationException( + $"An error occurred while trying to create an instance of route constraint '{constraintType.FullName}'.", + exception); + } + } + + private MatchProcessor CreateMatchProcessorFromRouteConstraint( + string parameterName, + Type constraintType, + string constraintArgument) + { + var routeConstraint = DefaultInlineConstraintResolver.CreateConstraint(constraintType, constraintArgument); + return (new MatchProcessorReference(parameterName, routeConstraint)).MatchProcessor; + } + + private MatchProcessor ResolveMatchProcessor( + string parameterName, + bool optional, + Type constraintType, + string constraintArgument) + { + if (constraintType == null) + { + throw new ArgumentNullException(nameof(constraintType)); + } + + if (!typeof(MatchProcessor).IsAssignableFrom(constraintType)) + { + // Since a constraint type could be of type IRouteConstraint, do not throw + return null; + } + + var registeredProcessor = _serviceProvider.GetRequiredService(constraintType); + if (registeredProcessor is MatchProcessor matchProcessor) + { + if (optional) + { + matchProcessor = new OptionalMatchProcessor(matchProcessor); + } + + matchProcessor.Initialize(parameterName, constraintArgument); + return matchProcessor; + } + else + { + throw new InvalidOperationException( + $"Registered constraint type '{constraintType}' is not of type '{typeof(MatchProcessor)}'."); + } + } + + private (string constraintName, string constraintArgument) Parse(string constraintText) + { + string constraintName; + string constraintArgument; + var indexOfFirstOpenParens = constraintText.IndexOf('('); + if (indexOfFirstOpenParens >= 0 && constraintText.EndsWith(")", StringComparison.Ordinal)) + { + constraintName = constraintText.Substring(0, indexOfFirstOpenParens); + constraintArgument = constraintText.Substring( + indexOfFirstOpenParens + 1, + constraintText.Length - indexOfFirstOpenParens - 2); + } + else + { + constraintName = constraintText; + constraintArgument = null; + } + return (constraintName, constraintArgument); + } + } +} diff --git a/src/Microsoft.AspNetCore.Routing/Matchers/MatchProcessor.cs b/src/Microsoft.AspNetCore.Routing/Matchers/MatchProcessor.cs new file mode 100644 index 0000000000..065ccd8e9b --- /dev/null +++ b/src/Microsoft.AspNetCore.Routing/Matchers/MatchProcessor.cs @@ -0,0 +1,18 @@ +// Copyright (c) .NET Foundation. All rights reserved. +// Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information. + +using Microsoft.AspNetCore.Http; + +namespace Microsoft.AspNetCore.Routing.Matchers +{ + public abstract class MatchProcessor + { + public virtual void Initialize(string parameterName, string constraintArgument) + { + } + + public abstract bool ProcessInbound(HttpContext httpContext, RouteValueDictionary values); + + public abstract bool ProcessOutbound(HttpContext httpContext, RouteValueDictionary values); + } +} diff --git a/src/Microsoft.AspNetCore.Routing/Matchers/MatchProcessorBase.cs b/src/Microsoft.AspNetCore.Routing/Matchers/MatchProcessorBase.cs new file mode 100644 index 0000000000..d3f9db3811 --- /dev/null +++ b/src/Microsoft.AspNetCore.Routing/Matchers/MatchProcessorBase.cs @@ -0,0 +1,42 @@ +// Copyright (c) .NET Foundation. All rights reserved. +// Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information. + +using Microsoft.AspNetCore.Http; + +namespace Microsoft.AspNetCore.Routing.Matchers +{ + public abstract class MatchProcessorBase : MatchProcessor + { + public string ParameterName { get; private set; } + + public string ConstraintArgument { get; private set; } + + public override void Initialize(string parameterName, string constraintArgument) + { + ParameterName = parameterName; + ConstraintArgument = constraintArgument; + } + + public abstract bool Process(object value); + + public override bool ProcessInbound(HttpContext httpContext, RouteValueDictionary values) + { + return Process(values); + } + + public override bool ProcessOutbound(HttpContext httpContext, RouteValueDictionary values) + { + return Process(values); + } + + private bool Process(RouteValueDictionary values) + { + if (!values.TryGetValue(ParameterName, out var value) || value == null) + { + return false; + } + + return Process(value); + } + } +} diff --git a/src/Microsoft.AspNetCore.Routing/Matchers/MatchProcessorFactory.cs b/src/Microsoft.AspNetCore.Routing/Matchers/MatchProcessorFactory.cs new file mode 100644 index 0000000000..95624ea420 --- /dev/null +++ b/src/Microsoft.AspNetCore.Routing/Matchers/MatchProcessorFactory.cs @@ -0,0 +1,10 @@ +// Copyright (c) .NET Foundation. All rights reserved. +// Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information. + +namespace Microsoft.AspNetCore.Routing.Matchers +{ + internal abstract class MatchProcessorFactory + { + public abstract MatchProcessor Create(MatchProcessorReference matchProcessorReference); + } +} diff --git a/src/Microsoft.AspNetCore.Routing/Matchers/MatchProcessorReference.cs b/src/Microsoft.AspNetCore.Routing/Matchers/MatchProcessorReference.cs new file mode 100644 index 0000000000..6266bb22e1 --- /dev/null +++ b/src/Microsoft.AspNetCore.Routing/Matchers/MatchProcessorReference.cs @@ -0,0 +1,86 @@ +// Copyright (c) .NET Foundation. All rights reserved. +// Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information. + +using Microsoft.AspNetCore.Http; + +namespace Microsoft.AspNetCore.Routing.Matchers +{ + public sealed class MatchProcessorReference + { + // Example: + // api/products/{productId:regex(\d+)} + // + // ParameterName = productId + // ConstraintText = regex(\d+) + // ConstraintArgument = \d+ + + public MatchProcessorReference(string parameterName, string constraintText) + { + ParameterName = parameterName; + ConstraintText = constraintText; + } + + public MatchProcessorReference(string parameterName, bool optional, string constraintText) + { + ParameterName = parameterName; + Optional = optional; + ConstraintText = constraintText; + } + + public MatchProcessorReference(string parameterName, MatchProcessor matchProcessor) + { + ParameterName = parameterName; + MatchProcessor = matchProcessor; + } + + internal MatchProcessor MatchProcessor { get; private set; } + + internal string ConstraintText { get; private set; } + + internal string ParameterName { get; private set; } + + internal bool Optional { get; private set; } + + public MatchProcessorReference(string parameterName, IRouteConstraint routeConstraint) + : this(parameterName, new RouteConstraintMatchProcessorAdapter(parameterName, routeConstraint)) + { + } + + private class RouteConstraintMatchProcessorAdapter : MatchProcessor + { + public string ParameterName { get; private set; } + + public IRouteConstraint RouteConstraint { get; } + + public RouteConstraintMatchProcessorAdapter(string parameterName, IRouteConstraint routeConstraint) + { + ParameterName = parameterName; + RouteConstraint = routeConstraint; + } + + public override void Initialize(string parameterName, string constraintArgument) + { + } + + public override bool ProcessInbound(HttpContext httpContext, RouteValueDictionary routeValues) + { + return RouteConstraint.Match( + httpContext, + NullRouter.Instance, + ParameterName, + routeValues, + RouteDirection.IncomingRequest); + } + + public override bool ProcessOutbound(HttpContext httpContext, RouteValueDictionary values) + { + return RouteConstraint.Match( + httpContext, + NullRouter.Instance, + ParameterName, + values, + RouteDirection.UrlGeneration); + } + } + } +} diff --git a/src/Microsoft.AspNetCore.Routing/Matchers/MatcherEndpoint.cs b/src/Microsoft.AspNetCore.Routing/Matchers/MatcherEndpoint.cs index 41b629ef6c..4d7fa50e0e 100644 --- a/src/Microsoft.AspNetCore.Routing/Matchers/MatcherEndpoint.cs +++ b/src/Microsoft.AspNetCore.Routing/Matchers/MatcherEndpoint.cs @@ -2,6 +2,7 @@ // Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information. using System; +using System.Collections.Generic; using System.Threading.Tasks; using Microsoft.AspNetCore.Http; using Microsoft.AspNetCore.Routing.Template; @@ -20,6 +21,7 @@ namespace Microsoft.AspNetCore.Routing.Matchers string template, RouteValueDictionary defaults, RouteValueDictionary requiredValues, + List nonInlineMatchProcessorReferences, int order, EndpointMetadataCollection metadata, string displayName) @@ -44,6 +46,9 @@ namespace Microsoft.AspNetCore.Routing.Matchers RequiredValues = requiredValues; var mergedDefaults = GetDefaults(ParsedTemplate, defaults); Defaults = mergedDefaults; + + var mergedReferences = MergeMatchProcessorReferences(ParsedTemplate, nonInlineMatchProcessorReferences); + MatchProcessorReferences = mergedReferences.AsReadOnly(); } public int Order { get; } @@ -57,6 +62,8 @@ namespace Microsoft.AspNetCore.Routing.Matchers // Todo: needs review public RouteTemplate ParsedTemplate { get; } + public IReadOnlyList MatchProcessorReferences { get; } + // Merge inline and non inline defaults into one private RouteValueDictionary GetDefaults(RouteTemplate parsedTemplate, RouteValueDictionary nonInlineDefaults) { @@ -81,5 +88,33 @@ namespace Microsoft.AspNetCore.Routing.Matchers return result; } + + private List MergeMatchProcessorReferences( + RouteTemplate parsedTemplate, + List nonInlineReferences) + { + var matchProcessorReferences = new List(); + + if (nonInlineReferences != null) + { + matchProcessorReferences.AddRange(nonInlineReferences); + } + + foreach (var parameter in parsedTemplate.Parameters) + { + if (parameter.InlineConstraints != null) + { + foreach (var constraint in parameter.InlineConstraints) + { + matchProcessorReferences.Add( + new MatchProcessorReference( + parameter.Name, + optional: parameter.IsOptional, + constraintText: constraint.Constraint)); + } + } + } + return matchProcessorReferences; + } } } diff --git a/src/Microsoft.AspNetCore.Routing/Matchers/OptionalMatchProcessor.cs b/src/Microsoft.AspNetCore.Routing/Matchers/OptionalMatchProcessor.cs new file mode 100644 index 0000000000..9d445e1a44 --- /dev/null +++ b/src/Microsoft.AspNetCore.Routing/Matchers/OptionalMatchProcessor.cs @@ -0,0 +1,44 @@ +// Copyright (c) .NET Foundation. All rights reserved. +// Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information. + +using Microsoft.AspNetCore.Http; + +namespace Microsoft.AspNetCore.Routing.Matchers +{ + internal class OptionalMatchProcessor : MatchProcessor + { + private readonly MatchProcessor _innerMatchProcessor; + + public OptionalMatchProcessor(MatchProcessor innerMatchProcessor) + { + _innerMatchProcessor = innerMatchProcessor; + } + + public string ParameterName { get; private set; } + + public override void Initialize(string parameterName, string constraintArgument) + { + ParameterName = parameterName; + _innerMatchProcessor.Initialize(parameterName, constraintArgument); + } + + public override bool ProcessInbound(HttpContext httpContext, RouteValueDictionary values) + { + return Process(httpContext, values); + } + + public override bool ProcessOutbound(HttpContext httpContext, RouteValueDictionary values) + { + return Process(httpContext, values); + } + + private bool Process(HttpContext httpContext, RouteValueDictionary values) + { + if (values.TryGetValue(ParameterName, out var value)) + { + return _innerMatchProcessor.ProcessInbound(httpContext, values); + } + return true; + } + } +} diff --git a/src/Microsoft.AspNetCore.Routing/Matchers/TreeMatcher.cs b/src/Microsoft.AspNetCore.Routing/Matchers/TreeMatcher.cs index 8b1795b0f5..72fc5c9f6c 100644 --- a/src/Microsoft.AspNetCore.Routing/Matchers/TreeMatcher.cs +++ b/src/Microsoft.AspNetCore.Routing/Matchers/TreeMatcher.cs @@ -17,20 +17,20 @@ namespace Microsoft.AspNetCore.Routing.Matchers { internal class TreeMatcher : Matcher { - private readonly IInlineConstraintResolver _constraintFactory; + private readonly MatchProcessorFactory _matchProcessorFactory; private readonly ILogger _logger; private readonly EndpointSelector _endpointSelector; private readonly DataSourceDependantCache _cache; public TreeMatcher( - IInlineConstraintResolver constraintFactory, + MatchProcessorFactory matchProcessorFactory, ILogger logger, EndpointDataSource dataSource, EndpointSelector endpointSelector) { - if (constraintFactory == null) + if (matchProcessorFactory == null) { - throw new ArgumentNullException(nameof(constraintFactory)); + throw new ArgumentNullException(nameof(matchProcessorFactory)); } if (logger == null) @@ -43,7 +43,7 @@ namespace Microsoft.AspNetCore.Routing.Matchers throw new ArgumentNullException(nameof(dataSource)); } - _constraintFactory = constraintFactory; + _matchProcessorFactory = matchProcessorFactory; _logger = logger; _endpointSelector = endpointSelector; _cache = new DataSourceDependantCache(dataSource, CreateTrees); @@ -79,6 +79,7 @@ namespace Microsoft.AspNetCore.Routing.Matchers foreach (var item in node.Matches) { var entry = item.Entry; + var tagData = (InboundEntryTagData)entry.Tag; var matcher = item.TemplateMatcher; values.Clear(); @@ -89,12 +90,12 @@ namespace Microsoft.AspNetCore.Routing.Matchers Log.MatchedTemplate(_logger, httpContext, entry.RouteTemplate); - if (!MatchConstraints(httpContext, values, entry.Constraints)) + if (!MatchConstraints(httpContext, values, tagData.MatchProcessors)) { continue; } - SelectEndpoint(httpContext, feature, (MatcherEndpoint[])entry.Tag); + SelectEndpoint(httpContext, feature, tagData.Endpoints); if (feature.Endpoint != null) { @@ -123,18 +124,14 @@ namespace Microsoft.AspNetCore.Routing.Matchers private bool MatchConstraints( HttpContext httpContext, RouteValueDictionary values, - IDictionary constraints) + IList matchProcessors) { - if (constraints != null) + if (matchProcessors != null) { - foreach (var kvp in constraints) + foreach (var processor in matchProcessors) { - var constraint = kvp.Value; - if (!constraint.Match(httpContext, new DummyRouter(), kvp.Key, values, RouteDirection.IncomingRequest)) + if (!processor.ProcessInbound(httpContext, values)) { - values.TryGetValue(kvp.Key, out var value); - - Log.ConstraintFailed(_logger, value, kvp.Key, kvp.Value); return false; } } @@ -223,7 +220,7 @@ namespace Microsoft.AspNetCore.Routing.Matchers return trees.ToArray(); } - private InboundRouteEntry MapInbound(RouteTemplate template, Endpoint[] endpoints, int order) + private InboundRouteEntry MapInbound(RouteTemplate template, MatcherEndpoint[] endpoints, int order) { if (template == null) { @@ -235,27 +232,24 @@ namespace Microsoft.AspNetCore.Routing.Matchers Precedence = RoutePrecedence.ComputeInbound(template), RouteTemplate = template, Order = order, - Tag = endpoints, }; - var constraintBuilder = new RouteConstraintBuilder(_constraintFactory, template.TemplateText); - foreach (var parameter in template.Parameters) - { - if (parameter.InlineConstraints != null) - { - if (parameter.IsOptional) - { - constraintBuilder.SetOptional(parameter.Name); - } + // Since all endpoints within a group are expected to have same template and same constraints, + // get the first endpoint which has the processor references + var endpoint = endpoints[0]; - foreach (var constraint in parameter.InlineConstraints) - { - constraintBuilder.AddResolvedConstraint(parameter.Name, constraint.Constraint); - } - } + var matchProcessors = new List(); + foreach (var matchProcessorReference in endpoint.MatchProcessorReferences) + { + var matchProcessor = _matchProcessorFactory.Create(matchProcessorReference); + matchProcessors.Add(matchProcessor); } - entry.Constraints = constraintBuilder.Build(); + entry.Tag = new InboundEntryTagData() + { + Endpoints = endpoints, + MatchProcessors = matchProcessors, + }; entry.Defaults = new RouteValueDictionary(); foreach (var parameter in entry.RouteTemplate.Parameters) @@ -350,5 +344,11 @@ namespace Microsoft.AspNetCore.Routing.Matchers _matchedTemplate(logger, template.TemplateText, httpContext.Request.Path, null); } } + + private class InboundEntryTagData + { + public MatcherEndpoint[] Endpoints { get; set; } + public List MatchProcessors { get; set; } + } } } diff --git a/src/Microsoft.AspNetCore.Routing/Matchers/TreeMatcherFactory.cs b/src/Microsoft.AspNetCore.Routing/Matchers/TreeMatcherFactory.cs index 2d4ef3d864..39171909a2 100644 --- a/src/Microsoft.AspNetCore.Routing/Matchers/TreeMatcherFactory.cs +++ b/src/Microsoft.AspNetCore.Routing/Matchers/TreeMatcherFactory.cs @@ -9,18 +9,18 @@ namespace Microsoft.AspNetCore.Routing.Matchers { internal class TreeMatcherFactory : MatcherFactory { - private readonly IInlineConstraintResolver _constraintFactory; + private readonly MatchProcessorFactory _matchProcessorFactory; private readonly ILogger _logger; private readonly EndpointSelector _endpointSelector; public TreeMatcherFactory( - IInlineConstraintResolver constraintFactory, + MatchProcessorFactory matchProcessorFactory, ILogger logger, EndpointSelector endpointSelector) { - if (constraintFactory == null) + if (matchProcessorFactory == null) { - throw new ArgumentNullException(nameof(constraintFactory)); + throw new ArgumentNullException(nameof(matchProcessorFactory)); } if (logger == null) @@ -33,7 +33,7 @@ namespace Microsoft.AspNetCore.Routing.Matchers throw new ArgumentNullException(nameof(endpointSelector)); } - _constraintFactory = constraintFactory; + _matchProcessorFactory = matchProcessorFactory; _logger = logger; _endpointSelector = endpointSelector; } @@ -45,7 +45,7 @@ namespace Microsoft.AspNetCore.Routing.Matchers throw new ArgumentNullException(nameof(dataSource)); } - return new TreeMatcher(_constraintFactory, _logger, dataSource, _endpointSelector); + return new TreeMatcher(_matchProcessorFactory, _logger, dataSource, _endpointSelector); } } } diff --git a/src/Microsoft.AspNetCore.Routing/RouteValuesBasedEndpointFinder.cs b/src/Microsoft.AspNetCore.Routing/RouteValuesBasedEndpointFinder.cs index a926d51cf7..0b0fee9edd 100644 --- a/src/Microsoft.AspNetCore.Routing/RouteValuesBasedEndpointFinder.cs +++ b/src/Microsoft.AspNetCore.Routing/RouteValuesBasedEndpointFinder.cs @@ -4,7 +4,6 @@ using System; using System.Collections.Generic; using System.Linq; -using System.Threading.Tasks; using Microsoft.AspNetCore.Routing.EndpointFinders; using Microsoft.AspNetCore.Routing.Internal; using Microsoft.AspNetCore.Routing.Matchers; @@ -17,19 +16,16 @@ namespace Microsoft.AspNetCore.Routing internal class RouteValuesBasedEndpointFinder : IEndpointFinder { private readonly CompositeEndpointDataSource _endpointDataSource; - private readonly IInlineConstraintResolver _inlineConstraintResolver; private readonly ObjectPool _objectPool; private LinkGenerationDecisionTree _allMatchesLinkGenerationTree; private IDictionary _namedMatches; public RouteValuesBasedEndpointFinder( CompositeEndpointDataSource endpointDataSource, - ObjectPool objectPool, - IInlineConstraintResolver inlineConstraintResolver) + ObjectPool objectPool) { _endpointDataSource = endpointDataSource; _objectPool = objectPool; - _inlineConstraintResolver = inlineConstraintResolver; BuildOutboundMatches(); } @@ -110,28 +106,6 @@ namespace Microsoft.AspNetCore.Routing Data = endpoint, RouteName = routeNameMetadata?.Name, }; - - // TODO: review. These route constriants should be constructed when the endpoint - // is built. This way they can be checked for validity on app startup too - var constraintBuilder = new RouteConstraintBuilder( - _inlineConstraintResolver, - endpoint.ParsedTemplate.TemplateText); - foreach (var parameter in endpoint.ParsedTemplate.Parameters) - { - if (parameter.InlineConstraints != null) - { - if (parameter.IsOptional) - { - constraintBuilder.SetOptional(parameter.Name); - } - - foreach (var constraint in parameter.InlineConstraints) - { - constraintBuilder.AddResolvedConstraint(parameter.Name, constraint.Constraint); - } - } - } - entry.Constraints = constraintBuilder.Build(); entry.Defaults = endpoint.Defaults; return entry; } @@ -146,21 +120,5 @@ namespace Microsoft.AspNetCore.Routing } return result; } - - // Used only to hook up link generation, and it doesn't need to do anything. - private class NullRouter : IRouter - { - public static readonly NullRouter Instance = new NullRouter(); - - public VirtualPathData GetVirtualPath(VirtualPathContext context) - { - return null; - } - - public Task RouteAsync(RouteContext context) - { - throw new NotImplementedException(); - } - } } } diff --git a/test/Microsoft.AspNetCore.Routing.FunctionalTests/DispatcherSampleTest.cs b/test/Microsoft.AspNetCore.Routing.FunctionalTests/DispatcherSampleTest.cs index ff26a0e250..79925e8bf0 100644 --- a/test/Microsoft.AspNetCore.Routing.FunctionalTests/DispatcherSampleTest.cs +++ b/test/Microsoft.AspNetCore.Routing.FunctionalTests/DispatcherSampleTest.cs @@ -61,6 +61,74 @@ namespace Microsoft.AspNetCore.Routing.FunctionalTests Assert.Equal(expectedContent, actualContent); } + [Fact] + public async Task MatchesEndpoint_WithSuccessfulConstraintMatch() + { + // Arrange + var expectedContent = "WithConstraints"; + + // Act + var response = await _client.GetAsync("/withconstraints/555_001"); + + // Assert + Assert.Equal(HttpStatusCode.OK, response.StatusCode); + Assert.NotNull(response.Content); + var actualContent = await response.Content.ReadAsStringAsync(); + Assert.Equal(expectedContent, actualContent); + } + + [Fact] + public async Task DoesNotMatchEndpoint_IfConstraintMatchFails() + { + // Arrange & Act + var response = await _client.GetAsync("/withconstraints/555"); + + // Assert + Assert.Equal(HttpStatusCode.NotFound, response.StatusCode); + } + + [Fact] + public async Task MatchesEndpoint_WithSuccessful_OptionalConstraintMatch() + { + // Arrange + var expectedContent = "withoptionalconstraints"; + + // Act + var response = await _client.GetAsync("/withoptionalconstraints/555_001"); + + // Assert + Assert.Equal(HttpStatusCode.OK, response.StatusCode); + Assert.NotNull(response.Content); + var actualContent = await response.Content.ReadAsStringAsync(); + Assert.Equal(expectedContent, actualContent); + } + + [Fact] + public async Task MatchesEndpoint_WithSuccessful_OptionalConstraintMatch_NoValueForParameter() + { + // Arrange + var expectedContent = "withoptionalconstraints"; + + // Act + var response = await _client.GetAsync("/withoptionalconstraints"); + + // Assert + Assert.Equal(HttpStatusCode.OK, response.StatusCode); + Assert.NotNull(response.Content); + var actualContent = await response.Content.ReadAsStringAsync(); + Assert.Equal(expectedContent, actualContent); + } + + [Fact] + public async Task DoesNotMatchEndpoint_IfOptionalConstraintMatchFails() + { + // Arrange & Act + var response = await _client.GetAsync("/withoptionalconstraints/555"); + + // Assert + Assert.Equal(HttpStatusCode.NotFound, response.StatusCode); + } + public void Dispose() { _testServer.Dispose(); diff --git a/test/Microsoft.AspNetCore.Routing.Tests/DefaultLinkGeneratorTest.cs b/test/Microsoft.AspNetCore.Routing.Tests/DefaultLinkGeneratorTest.cs index ffb78a6ea1..db93c930c5 100644 --- a/test/Microsoft.AspNetCore.Routing.Tests/DefaultLinkGeneratorTest.cs +++ b/test/Microsoft.AspNetCore.Routing.Tests/DefaultLinkGeneratorTest.cs @@ -8,7 +8,9 @@ using Microsoft.AspNetCore.Routing.EndpointFinders; using Microsoft.AspNetCore.Routing.Internal; using Microsoft.AspNetCore.Routing.Matchers; using Microsoft.Extensions.Logging; +using Microsoft.Extensions.Logging.Abstractions; using Microsoft.Extensions.ObjectPool; +using Microsoft.Extensions.Options; using Moq; using Xunit; @@ -788,6 +790,7 @@ namespace Microsoft.AspNetCore.Routing template, defaults, new RouteValueDictionary(), + new List(), 0, EndpointMetadataCollection.Empty, null); @@ -796,8 +799,12 @@ namespace Microsoft.AspNetCore.Routing private ILinkGenerator CreateLinkGenerator() { return new DefaultLinkGenerator( + new DefaultMatchProcessorFactory( + Options.Create(new RouteOptions()), + NullLogger.Instance, + Mock.Of()), new DefaultObjectPool(new UriBuilderContextPooledObjectPolicy()), - Mock.Of>()); + NullLogger.Instance); } } } diff --git a/test/Microsoft.AspNetCore.Routing.Tests/DispatcherMiddlewareTest.cs b/test/Microsoft.AspNetCore.Routing.Tests/DispatcherMiddlewareTest.cs index ad0855f4c8..4f5b72de8d 100644 --- a/test/Microsoft.AspNetCore.Routing.Tests/DispatcherMiddlewareTest.cs +++ b/test/Microsoft.AspNetCore.Routing.Tests/DispatcherMiddlewareTest.cs @@ -4,9 +4,7 @@ using System; using System.Threading.Tasks; using Microsoft.AspNetCore.Http; -using Microsoft.AspNetCore.Routing.Matchers; using Microsoft.AspNetCore.Routing.TestObjects; -using Microsoft.Extensions.DependencyInjection; using Microsoft.Extensions.Logging; using Microsoft.Extensions.Logging.Abstractions; using Microsoft.Extensions.Logging.Testing; diff --git a/test/Microsoft.AspNetCore.Routing.Tests/EndpointConstraints/EndpointSelectorTests.cs b/test/Microsoft.AspNetCore.Routing.Tests/EndpointConstraints/EndpointSelectorTests.cs index 796909c728..008464113e 100644 --- a/test/Microsoft.AspNetCore.Routing.Tests/EndpointConstraints/EndpointSelectorTests.cs +++ b/test/Microsoft.AspNetCore.Routing.Tests/EndpointConstraints/EndpointSelectorTests.cs @@ -1,6 +1,9 @@ // Copyright (c) .NET Foundation. All rights reserved. // Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information. +using System; +using System.Collections.Generic; +using System.Linq; using Microsoft.AspNetCore.Http; using Microsoft.AspNetCore.Routing.Matchers; using Microsoft.AspNetCore.Routing.TestObjects; @@ -9,9 +12,6 @@ using Microsoft.Extensions.Logging; using Microsoft.Extensions.Logging.Abstractions; using Microsoft.Extensions.Logging.Testing; using Moq; -using System; -using System.Collections.Generic; -using System.Linq; using Xunit; namespace Microsoft.AspNetCore.Routing.EndpointConstraints diff --git a/test/Microsoft.AspNetCore.Routing.Tests/Matchers/DefaultMatchProcessorFactoryTest.cs b/test/Microsoft.AspNetCore.Routing.Tests/Matchers/DefaultMatchProcessorFactoryTest.cs new file mode 100644 index 0000000000..1f89aa1928 --- /dev/null +++ b/test/Microsoft.AspNetCore.Routing.Tests/Matchers/DefaultMatchProcessorFactoryTest.cs @@ -0,0 +1,190 @@ +// Copyright (c) .NET Foundation. All rights reserved. +// Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information. + +using System; +using System.Globalization; +using Microsoft.AspNetCore.Http; +using Microsoft.Extensions.DependencyInjection; +using Microsoft.Extensions.Logging.Abstractions; +using Microsoft.Extensions.Options; +using Moq; +using Xunit; + +namespace Microsoft.AspNetCore.Routing.Matchers +{ + public class DefaultMatchProcessorFactoryTest + { + [Fact] + public void Create_ThrowsException_IfNoConstraintOrMatchProcessor_FoundInMap() + { + // Arrange + var factory = GetMatchProcessorFactory(); + var matchProcessorReference = new MatchProcessorReference("id", @"notpresent(\d+)"); + + // Act & Assert + var exception = Assert.Throws( + () => factory.Create(matchProcessorReference)); + } + + [Fact] + public void Create_CreatesMatchProcessor_FromConstraintText_AndRouteConstraint() + { + // Arrange + var factory = GetMatchProcessorFactory(); + var matchProcessorReference = new MatchProcessorReference("id", "int"); + + // Act 1 + var processor = factory.Create(matchProcessorReference); + + // Assert 1 + Assert.NotNull(processor); + + // Act 2 + var isMatch = processor.ProcessInbound( + new DefaultHttpContext(), + new RouteValueDictionary(new { id = 10 })); + + // Assert 2 + Assert.True(isMatch); + + // Act 2 + isMatch = processor.ProcessInbound( + new DefaultHttpContext(), + new RouteValueDictionary(new { id = "foo" })); + + // Assert 2 + Assert.False(isMatch); + } + + [Fact] + public void Create_CreatesMatchProcessor_FromConstraintText_AndCustomMatchProcessor() + { + // Arrange + var options = new RouteOptions(); + options.ConstraintMap.Add("endsWith", typeof(EndsWithStringMatchProcessor)); + var services = new ServiceCollection(); + services.AddTransient(); + var factory = GetMatchProcessorFactory(options, services); + var matchProcessorReference = new MatchProcessorReference("id", "endsWith(_001)"); + + // Act 1 + var processor = factory.Create(matchProcessorReference); + + // Assert 1 + Assert.NotNull(processor); + + // Act 2 + var isMatch = processor.ProcessInbound( + new DefaultHttpContext(), + new RouteValueDictionary(new { id = "555_001" })); + + // Assert 2 + Assert.True(isMatch); + + // Act 2 + isMatch = processor.ProcessInbound( + new DefaultHttpContext(), + new RouteValueDictionary(new { id = "444" })); + + // Assert 2 + Assert.False(isMatch); + } + + [Fact] + public void Create_ReturnsMatchProcessor_IfAvailable() + { + // Arrange + var factory = GetMatchProcessorFactory(); + var matchProcessorReference = new MatchProcessorReference("id", Mock.Of()); + var expected = matchProcessorReference.MatchProcessor; + + // Act + var processor = factory.Create(matchProcessorReference); + + // Assert + Assert.Same(expected, processor); + } + + [Fact] + public void Create_ReturnsMatchProcessor_WithSuppliedRouteConstraint() + { + // Arrange + var factory = GetMatchProcessorFactory(); + var constraint = TestRouteConstraint.Create(); + var matchProcessorReference = new MatchProcessorReference("id", constraint); + var processor = factory.Create(matchProcessorReference); + var expectedHttpContext = new DefaultHttpContext(); + var expectedValues = new RouteValueDictionary(); + + // Act + processor.ProcessInbound(expectedHttpContext, expectedValues); + + // Assert + Assert.Same(expectedHttpContext, constraint.HttpContext); + Assert.Same(expectedValues, constraint.Values); + Assert.Equal("id", constraint.RouteKey); + Assert.Equal(RouteDirection.IncomingRequest, constraint.RouteDirection); + Assert.Same(NullRouter.Instance, constraint.Route); + } + + private DefaultMatchProcessorFactory GetMatchProcessorFactory( + RouteOptions options = null, + ServiceCollection services = null) + { + if (options == null) + { + options = new RouteOptions(); + } + + if (services == null) + { + services = new ServiceCollection(); + } + + return new DefaultMatchProcessorFactory( + Options.Create(options), + NullLogger.Instance, + services.BuildServiceProvider()); + } + + private class TestRouteConstraint : IRouteConstraint + { + private TestRouteConstraint() { } + + public HttpContext HttpContext { get; private set; } + public IRouter Route { get; private set; } + public string RouteKey { get; private set; } + public RouteValueDictionary Values { get; private set; } + public RouteDirection RouteDirection { get; private set; } + + public static TestRouteConstraint Create() + { + return new TestRouteConstraint(); + } + + public bool Match( + HttpContext httpContext, + IRouter route, + string routeKey, + RouteValueDictionary values, + RouteDirection routeDirection) + { + HttpContext = httpContext; + Route = route; + RouteKey = routeKey; + Values = values; + RouteDirection = routeDirection; + return false; + } + } + + private class EndsWithStringMatchProcessor : MatchProcessorBase + { + public override bool Process(object value) + { + var valueString = Convert.ToString(value, CultureInfo.InvariantCulture); + return valueString.EndsWith(ConstraintArgument); + } + } + } +} diff --git a/test/Microsoft.AspNetCore.Routing.Tests/Matchers/MatcherConformanceTest.cs b/test/Microsoft.AspNetCore.Routing.Tests/Matchers/MatcherConformanceTest.cs index bbb08d5f9a..abef76e438 100644 --- a/test/Microsoft.AspNetCore.Routing.Tests/Matchers/MatcherConformanceTest.cs +++ b/test/Microsoft.AspNetCore.Routing.Tests/Matchers/MatcherConformanceTest.cs @@ -2,6 +2,7 @@ // Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information. using System; +using System.Collections.Generic; using Microsoft.AspNetCore.Http; using Microsoft.Extensions.DependencyInjection; @@ -43,6 +44,7 @@ namespace Microsoft.AspNetCore.Routing.Matchers template, defaults, new RouteValueDictionary(), + new List(), order ?? 0, EndpointMetadataCollection.Empty, "endpoint: " + template); diff --git a/test/Microsoft.AspNetCore.Routing.Tests/Matchers/TreeMatcherTests.cs b/test/Microsoft.AspNetCore.Routing.Tests/Matchers/TreeMatcherTests.cs index cc865fed75..e32d4aed76 100644 --- a/test/Microsoft.AspNetCore.Routing.Tests/Matchers/TreeMatcherTests.cs +++ b/test/Microsoft.AspNetCore.Routing.Tests/Matchers/TreeMatcherTests.cs @@ -1,12 +1,14 @@ // Copyright (c) .NET Foundation. All rights reserved. // Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information. +using System; using System.Collections.Generic; using System.Threading.Tasks; using Microsoft.AspNetCore.Http; using Microsoft.AspNetCore.Routing.EndpointConstraints; using Microsoft.Extensions.Logging.Abstractions; using Microsoft.Extensions.Options; +using Moq; using Xunit; namespace Microsoft.AspNetCore.Routing.Matchers @@ -16,13 +18,23 @@ namespace Microsoft.AspNetCore.Routing.Matchers private MatcherEndpoint CreateEndpoint(string template, int order, object defaultValues = null, EndpointMetadataCollection metadata = null) { var defaults = defaultValues == null ? new RouteValueDictionary() : new RouteValueDictionary(defaultValues); - return new MatcherEndpoint((next) => null, template, defaults, new RouteValueDictionary(), order, metadata ?? EndpointMetadataCollection.Empty, template); + return new MatcherEndpoint( + (next) => null, + template, defaults, + new RouteValueDictionary(), + new List(), + order, + metadata ?? EndpointMetadataCollection.Empty, + template); } private TreeMatcher CreateTreeMatcher(EndpointDataSource endpointDataSource) { var compositeDataSource = new CompositeEndpointDataSource(new[] { endpointDataSource }); - var defaultInlineConstraintResolver = new DefaultInlineConstraintResolver(Options.Create(new RouteOptions())); + var defaultInlineConstraintResolver = new DefaultMatchProcessorFactory( + Options.Create(new RouteOptions()), + NullLogger.Instance, + Mock.Of()); var endpointSelector = new EndpointSelector( compositeDataSource, new EndpointConstraintCache(compositeDataSource, new IEndpointConstraintProvider[] { new DefaultEndpointConstraintProvider() }), From 3a022107dcba43fb6441a5fad741537f17a5fd17 Mon Sep 17 00:00:00 2001 From: Kiran Challa Date: Thu, 12 Jul 2018 06:24:37 -0700 Subject: [PATCH 059/221] Revert "Added support for route constraints in Dispatcher world" This reverts commit 85e92ab3cc4ec28a5386a15bf2a8df5c228d30cc. --- .../Benchmarks/StartupUsingDispatcher.cs | 1 - .../Matchers/MatcherBenchmarkBase.cs | 15 +- .../EndsWithStringMatchProcessor.cs | 40 ---- samples/DispatcherSample.Web/Startup.cs | 54 +---- .../DefaultInlineConstraintResolver.cs | 2 +- .../DefaultLinkGenerator.cs | 51 +---- .../RoutingServiceCollectionExtensions.cs | 3 - .../Internal/NullRouter.cs | 26 --- .../Matchers/DefaultMatchProcessorFactory.cs | 156 -------------- .../Matchers/MatchProcessor.cs | 18 -- .../Matchers/MatchProcessorBase.cs | 42 ---- .../Matchers/MatchProcessorFactory.cs | 10 - .../Matchers/MatchProcessorReference.cs | 86 -------- .../Matchers/MatcherEndpoint.cs | 35 ---- .../Matchers/OptionalMatchProcessor.cs | 44 ---- .../Matchers/TreeMatcher.cs | 64 +++--- .../Matchers/TreeMatcherFactory.cs | 12 +- .../RouteValuesBasedEndpointFinder.cs | 44 +++- .../DispatcherSampleTest.cs | 68 ------- .../DefaultLinkGeneratorTest.cs | 9 +- .../DispatcherMiddlewareTest.cs | 2 + .../EndpointSelectorTests.cs | 6 +- .../DefaultMatchProcessorFactoryTest.cs | 190 ------------------ .../Matchers/MatcherConformanceTest.cs | 2 - .../Matchers/TreeMatcherTests.cs | 16 +- 25 files changed, 110 insertions(+), 886 deletions(-) delete mode 100644 samples/DispatcherSample.Web/EndsWithStringMatchProcessor.cs delete mode 100644 src/Microsoft.AspNetCore.Routing/Internal/NullRouter.cs delete mode 100644 src/Microsoft.AspNetCore.Routing/Matchers/DefaultMatchProcessorFactory.cs delete mode 100644 src/Microsoft.AspNetCore.Routing/Matchers/MatchProcessor.cs delete mode 100644 src/Microsoft.AspNetCore.Routing/Matchers/MatchProcessorBase.cs delete mode 100644 src/Microsoft.AspNetCore.Routing/Matchers/MatchProcessorFactory.cs delete mode 100644 src/Microsoft.AspNetCore.Routing/Matchers/MatchProcessorReference.cs delete mode 100644 src/Microsoft.AspNetCore.Routing/Matchers/OptionalMatchProcessor.cs delete mode 100644 test/Microsoft.AspNetCore.Routing.Tests/Matchers/DefaultMatchProcessorFactoryTest.cs diff --git a/benchmarkapps/Benchmarks/StartupUsingDispatcher.cs b/benchmarkapps/Benchmarks/StartupUsingDispatcher.cs index 1351a20689..153b6e42cc 100644 --- a/benchmarkapps/Benchmarks/StartupUsingDispatcher.cs +++ b/benchmarkapps/Benchmarks/StartupUsingDispatcher.cs @@ -34,7 +34,6 @@ namespace Benchmarks template: "/plaintext", defaults: new RouteValueDictionary(), requiredValues: new RouteValueDictionary(), - nonInlineMatchProcessorReferences: null, order: 0, metadata: EndpointMetadataCollection.Empty, displayName: "Plaintext"), diff --git a/benchmarks/Microsoft.AspNetCore.Routing.Performance/Matchers/MatcherBenchmarkBase.cs b/benchmarks/Microsoft.AspNetCore.Routing.Performance/Matchers/MatcherBenchmarkBase.cs index 2e10ed2397..1ab67c9235 100644 --- a/benchmarks/Microsoft.AspNetCore.Routing.Performance/Matchers/MatcherBenchmarkBase.cs +++ b/benchmarks/Microsoft.AspNetCore.Routing.Performance/Matchers/MatcherBenchmarkBase.cs @@ -34,14 +34,13 @@ namespace Microsoft.AspNetCore.Routing.Matchers } return new MatcherEndpoint( - (next) => (context) => Task.CompletedTask, - template, - new RouteValueDictionary(), - new RouteValueDictionary(), - new List(), - 0, - EndpointMetadataCollection.Empty, - template); + (next) => (context) => Task.CompletedTask, + template, + new RouteValueDictionary(), + new RouteValueDictionary(), + 0, + new EndpointMetadataCollection(metadata), + template); } internal static int[] SampleRequests(int endpointCount, int count) diff --git a/samples/DispatcherSample.Web/EndsWithStringMatchProcessor.cs b/samples/DispatcherSample.Web/EndsWithStringMatchProcessor.cs deleted file mode 100644 index 7284dc6d66..0000000000 --- a/samples/DispatcherSample.Web/EndsWithStringMatchProcessor.cs +++ /dev/null @@ -1,40 +0,0 @@ -// Copyright (c) .NET Foundation. All rights reserved. -// Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information. - -using System; -using System.Globalization; -using Microsoft.AspNetCore.Routing.Matchers; -using Microsoft.Extensions.Logging; - -namespace DispatcherSample.Web -{ - internal class EndsWithStringMatchProcessor : MatchProcessorBase - { - private readonly ILogger _logger; - - public EndsWithStringMatchProcessor(ILogger logger) - { - _logger = logger; - } - - public override bool Process(object value) - { - if (value == null) - { - return false; - } - - var valueString = Convert.ToString(value, CultureInfo.InvariantCulture); - - var endsWith = valueString.EndsWith(ConstraintArgument, StringComparison.OrdinalIgnoreCase); - - if (!endsWith) - { - _logger.LogDebug( - $"Parameter '{ParameterName}' with value '{valueString}' does not end with '{ConstraintArgument}'."); - } - - return endsWith; - } - } -} diff --git a/samples/DispatcherSample.Web/Startup.cs b/samples/DispatcherSample.Web/Startup.cs index 9f8747310f..eca7ab2235 100644 --- a/samples/DispatcherSample.Web/Startup.cs +++ b/samples/DispatcherSample.Web/Startup.cs @@ -2,10 +2,8 @@ // Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information. using System; -using System.Collections.Generic; using System.Text; using Microsoft.AspNetCore.Builder; -using Microsoft.AspNetCore.Http; using Microsoft.AspNetCore.Routing; using Microsoft.AspNetCore.Routing.Matchers; using Microsoft.Extensions.DependencyInjection; @@ -19,13 +17,7 @@ namespace DispatcherSample.Web public void ConfigureServices(IServiceCollection services) { - services.AddTransient(); - - services.AddRouting(options => - { - options.ConstraintMap.Add("endsWith", typeof(EndsWithStringMatchProcessor)); - }); - + services.AddRouting(); services.AddDispatcher(options => { options.DataSources.Add(new DefaultEndpointDataSource(new[] @@ -39,13 +31,7 @@ namespace DispatcherSample.Web response.ContentLength = payloadLength; return response.Body.WriteAsync(_homePayload, 0, payloadLength); }, - "/", - new RouteValueDictionary(), - new RouteValueDictionary(), - new List(), - 0, - EndpointMetadataCollection.Empty, - "Home"), + "/", new RouteValueDictionary(), new RouteValueDictionary(), 0, EndpointMetadataCollection.Empty, "Home"), new MatcherEndpoint((next) => (httpContext) => { var response = httpContext.Response; @@ -55,41 +41,7 @@ namespace DispatcherSample.Web response.ContentLength = payloadLength; return response.Body.WriteAsync(_helloWorldPayload, 0, payloadLength); }, - "/plaintext", - new RouteValueDictionary(), - new RouteValueDictionary(), - new List(), - 0, - EndpointMetadataCollection.Empty, - "Plaintext"), - new MatcherEndpoint((next) => (httpContext) => - { - var response = httpContext.Response; - response.StatusCode = 200; - response.ContentType = "text/plain"; - return response.WriteAsync("WithConstraints"); - }, - "/withconstraints/{id:endsWith(_001)}", - new RouteValueDictionary(), - new RouteValueDictionary(), - new List(), - 0, - EndpointMetadataCollection.Empty, - "withconstraints"), - new MatcherEndpoint((next) => (httpContext) => - { - var response = httpContext.Response; - response.StatusCode = 200; - response.ContentType = "text/plain"; - return response.WriteAsync("withoptionalconstraints"); - }, - "/withoptionalconstraints/{id:endsWith(_001)?}", - new RouteValueDictionary(), - new RouteValueDictionary(), - new List(), - 0, - EndpointMetadataCollection.Empty, - "withoptionalconstraints"), + "/plaintext", new RouteValueDictionary(), new RouteValueDictionary(), 0, EndpointMetadataCollection.Empty, "Plaintext"), })); }); } diff --git a/src/Microsoft.AspNetCore.Routing/DefaultInlineConstraintResolver.cs b/src/Microsoft.AspNetCore.Routing/DefaultInlineConstraintResolver.cs index ed58e053ba..7426516db2 100644 --- a/src/Microsoft.AspNetCore.Routing/DefaultInlineConstraintResolver.cs +++ b/src/Microsoft.AspNetCore.Routing/DefaultInlineConstraintResolver.cs @@ -90,7 +90,7 @@ namespace Microsoft.AspNetCore.Routing } } - internal static IRouteConstraint CreateConstraint(Type constraintType, string argumentString) + private static IRouteConstraint CreateConstraint(Type constraintType, string argumentString) { // No arguments - call the default constructor if (argumentString == null) diff --git a/src/Microsoft.AspNetCore.Routing/DefaultLinkGenerator.cs b/src/Microsoft.AspNetCore.Routing/DefaultLinkGenerator.cs index e5b5f4ea93..7efe2cedd8 100644 --- a/src/Microsoft.AspNetCore.Routing/DefaultLinkGenerator.cs +++ b/src/Microsoft.AspNetCore.Routing/DefaultLinkGenerator.cs @@ -13,18 +13,15 @@ using Microsoft.Extensions.ObjectPool; namespace Microsoft.AspNetCore.Routing { - internal class DefaultLinkGenerator : ILinkGenerator + public class DefaultLinkGenerator : ILinkGenerator { - private readonly MatchProcessorFactory _matchProcessorFactory; private readonly ObjectPool _uriBuildingContextPool; private readonly ILogger _logger; public DefaultLinkGenerator( - MatchProcessorFactory matchProcessorFactory, ObjectPool uriBuildingContextPool, ILogger logger) { - _matchProcessorFactory = matchProcessorFactory; _uriBuildingContextPool = uriBuildingContextPool; _logger = logger; } @@ -64,7 +61,7 @@ namespace Microsoft.AspNetCore.Routing foreach (var endpoint in matcherEndpoints) { - link = GetLink(endpoint, explicitValues, ambientValues); + link = GetLink(endpoint.ParsedTemplate, endpoint.Defaults, explicitValues, ambientValues); if (link != null) { return true; @@ -75,55 +72,27 @@ namespace Microsoft.AspNetCore.Routing } private string GetLink( - MatcherEndpoint endpoint, + RouteTemplate template, + RouteValueDictionary defaults, RouteValueDictionary explicitValues, RouteValueDictionary ambientValues) { var templateBinder = new TemplateBinder( UrlEncoder.Default, _uriBuildingContextPool, - endpoint.ParsedTemplate, - endpoint.Defaults); + template, + defaults); - var templateValuesResult = templateBinder.GetValues(ambientValues, explicitValues); - if (templateValuesResult == null) + var values = templateBinder.GetValues(ambientValues, explicitValues); + if (values == null) { // We're missing one of the required values for this route. return null; } - if (!Match(endpoint, templateValuesResult.CombinedValues)) - { - return null; - } + //TODO: route constraint matching here - return templateBinder.BindValues(templateValuesResult.AcceptedValues); - } - - private bool Match(MatcherEndpoint endpoint, RouteValueDictionary routeValues) - { - if (routeValues == null) - { - throw new ArgumentNullException(nameof(routeValues)); - } - - for (var i = 0; i < endpoint.MatchProcessorReferences.Count; i++) - { - var matchProcessorReference = endpoint.MatchProcessorReferences[i]; - var parameter = endpoint.ParsedTemplate.GetParameter(matchProcessorReference.ParameterName); - if (parameter.IsOptional && !routeValues.ContainsKey(parameter.Name)) - { - continue; - } - - var matchProcessor = _matchProcessorFactory.Create(matchProcessorReference); - if (!matchProcessor.ProcessOutbound(httpContext: null, routeValues)) - { - return false; - } - } - - return true; + return templateBinder.BindValues(values.AcceptedValues); } } } diff --git a/src/Microsoft.AspNetCore.Routing/DependencyInjection/RoutingServiceCollectionExtensions.cs b/src/Microsoft.AspNetCore.Routing/DependencyInjection/RoutingServiceCollectionExtensions.cs index 18ededc423..d6883f6c95 100644 --- a/src/Microsoft.AspNetCore.Routing/DependencyInjection/RoutingServiceCollectionExtensions.cs +++ b/src/Microsoft.AspNetCore.Routing/DependencyInjection/RoutingServiceCollectionExtensions.cs @@ -3,9 +3,7 @@ using System; using Microsoft.AspNetCore.Routing; -using Microsoft.AspNetCore.Routing.Constraints; using Microsoft.AspNetCore.Routing.Internal; -using Microsoft.AspNetCore.Routing.Matchers; using Microsoft.AspNetCore.Routing.Tree; using Microsoft.Extensions.DependencyInjection.Extensions; using Microsoft.Extensions.Logging; @@ -30,7 +28,6 @@ namespace Microsoft.Extensions.DependencyInjection throw new ArgumentNullException(nameof(services)); } - services.TryAddSingleton(); services.TryAddTransient(); services.TryAddSingleton>(s => { diff --git a/src/Microsoft.AspNetCore.Routing/Internal/NullRouter.cs b/src/Microsoft.AspNetCore.Routing/Internal/NullRouter.cs deleted file mode 100644 index 9fd1908942..0000000000 --- a/src/Microsoft.AspNetCore.Routing/Internal/NullRouter.cs +++ /dev/null @@ -1,26 +0,0 @@ -// Copyright (c) .NET Foundation. All rights reserved. -// Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information. - -using System.Threading.Tasks; - -namespace Microsoft.AspNetCore.Routing -{ - internal class NullRouter : IRouter - { - public static readonly NullRouter Instance = new NullRouter(); - - private NullRouter() - { - } - - public VirtualPathData GetVirtualPath(VirtualPathContext context) - { - return null; - } - - public Task RouteAsync(RouteContext context) - { - return Task.CompletedTask; - } - } -} diff --git a/src/Microsoft.AspNetCore.Routing/Matchers/DefaultMatchProcessorFactory.cs b/src/Microsoft.AspNetCore.Routing/Matchers/DefaultMatchProcessorFactory.cs deleted file mode 100644 index 5226683626..0000000000 --- a/src/Microsoft.AspNetCore.Routing/Matchers/DefaultMatchProcessorFactory.cs +++ /dev/null @@ -1,156 +0,0 @@ -// Copyright (c) .NET Foundation. All rights reserved. -// Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information. - -using System; -using Microsoft.Extensions.DependencyInjection; -using Microsoft.Extensions.Logging; -using Microsoft.Extensions.Options; - -namespace Microsoft.AspNetCore.Routing.Matchers -{ - internal class DefaultMatchProcessorFactory : MatchProcessorFactory - { - private readonly RouteOptions _options; - private readonly ILogger _logger; - private readonly IServiceProvider _serviceProvider; - - public DefaultMatchProcessorFactory( - IOptions options, - ILogger logger, - IServiceProvider serviceProvider) - { - _options = options.Value; - _logger = logger; - _serviceProvider = serviceProvider; - } - - public override MatchProcessor Create(MatchProcessorReference matchProcessorReference) - { - if (matchProcessorReference == null) - { - throw new ArgumentNullException(nameof(matchProcessorReference)); - } - - if (matchProcessorReference.MatchProcessor != null) - { - return matchProcessorReference.MatchProcessor; - } - - // Example: - // {productId:regex(\d+)} - // - // ParameterName: productId - // ConstraintText: regex(\d+) - // ConstraintName: regex - // ConstraintArgument: \d+ - - (var constraintName, var constraintArgument) = Parse(matchProcessorReference.ConstraintText); - - if (!_options.ConstraintMap.TryGetValue(constraintName, out var constraintType)) - { - throw new InvalidOperationException( - $"No constraint has been registered with name '{constraintName}'."); - } - - var processor = ResolveMatchProcessor( - matchProcessorReference.ParameterName, - matchProcessorReference.Optional, - constraintType, - constraintArgument); - - if (processor != null) - { - return processor; - } - - if (!typeof(IRouteConstraint).IsAssignableFrom(constraintType)) - { - throw new InvalidOperationException( - Resources.FormatDefaultInlineConstraintResolver_TypeNotConstraint( - constraintType, constraintName, typeof(IRouteConstraint).Name)); - } - - try - { - return CreateMatchProcessorFromRouteConstraint( - matchProcessorReference.ParameterName, - constraintType, - constraintArgument); - } - catch (RouteCreationException) - { - throw; - } - catch (Exception exception) - { - throw new InvalidOperationException( - $"An error occurred while trying to create an instance of route constraint '{constraintType.FullName}'.", - exception); - } - } - - private MatchProcessor CreateMatchProcessorFromRouteConstraint( - string parameterName, - Type constraintType, - string constraintArgument) - { - var routeConstraint = DefaultInlineConstraintResolver.CreateConstraint(constraintType, constraintArgument); - return (new MatchProcessorReference(parameterName, routeConstraint)).MatchProcessor; - } - - private MatchProcessor ResolveMatchProcessor( - string parameterName, - bool optional, - Type constraintType, - string constraintArgument) - { - if (constraintType == null) - { - throw new ArgumentNullException(nameof(constraintType)); - } - - if (!typeof(MatchProcessor).IsAssignableFrom(constraintType)) - { - // Since a constraint type could be of type IRouteConstraint, do not throw - return null; - } - - var registeredProcessor = _serviceProvider.GetRequiredService(constraintType); - if (registeredProcessor is MatchProcessor matchProcessor) - { - if (optional) - { - matchProcessor = new OptionalMatchProcessor(matchProcessor); - } - - matchProcessor.Initialize(parameterName, constraintArgument); - return matchProcessor; - } - else - { - throw new InvalidOperationException( - $"Registered constraint type '{constraintType}' is not of type '{typeof(MatchProcessor)}'."); - } - } - - private (string constraintName, string constraintArgument) Parse(string constraintText) - { - string constraintName; - string constraintArgument; - var indexOfFirstOpenParens = constraintText.IndexOf('('); - if (indexOfFirstOpenParens >= 0 && constraintText.EndsWith(")", StringComparison.Ordinal)) - { - constraintName = constraintText.Substring(0, indexOfFirstOpenParens); - constraintArgument = constraintText.Substring( - indexOfFirstOpenParens + 1, - constraintText.Length - indexOfFirstOpenParens - 2); - } - else - { - constraintName = constraintText; - constraintArgument = null; - } - return (constraintName, constraintArgument); - } - } -} diff --git a/src/Microsoft.AspNetCore.Routing/Matchers/MatchProcessor.cs b/src/Microsoft.AspNetCore.Routing/Matchers/MatchProcessor.cs deleted file mode 100644 index 065ccd8e9b..0000000000 --- a/src/Microsoft.AspNetCore.Routing/Matchers/MatchProcessor.cs +++ /dev/null @@ -1,18 +0,0 @@ -// Copyright (c) .NET Foundation. All rights reserved. -// Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information. - -using Microsoft.AspNetCore.Http; - -namespace Microsoft.AspNetCore.Routing.Matchers -{ - public abstract class MatchProcessor - { - public virtual void Initialize(string parameterName, string constraintArgument) - { - } - - public abstract bool ProcessInbound(HttpContext httpContext, RouteValueDictionary values); - - public abstract bool ProcessOutbound(HttpContext httpContext, RouteValueDictionary values); - } -} diff --git a/src/Microsoft.AspNetCore.Routing/Matchers/MatchProcessorBase.cs b/src/Microsoft.AspNetCore.Routing/Matchers/MatchProcessorBase.cs deleted file mode 100644 index d3f9db3811..0000000000 --- a/src/Microsoft.AspNetCore.Routing/Matchers/MatchProcessorBase.cs +++ /dev/null @@ -1,42 +0,0 @@ -// Copyright (c) .NET Foundation. All rights reserved. -// Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information. - -using Microsoft.AspNetCore.Http; - -namespace Microsoft.AspNetCore.Routing.Matchers -{ - public abstract class MatchProcessorBase : MatchProcessor - { - public string ParameterName { get; private set; } - - public string ConstraintArgument { get; private set; } - - public override void Initialize(string parameterName, string constraintArgument) - { - ParameterName = parameterName; - ConstraintArgument = constraintArgument; - } - - public abstract bool Process(object value); - - public override bool ProcessInbound(HttpContext httpContext, RouteValueDictionary values) - { - return Process(values); - } - - public override bool ProcessOutbound(HttpContext httpContext, RouteValueDictionary values) - { - return Process(values); - } - - private bool Process(RouteValueDictionary values) - { - if (!values.TryGetValue(ParameterName, out var value) || value == null) - { - return false; - } - - return Process(value); - } - } -} diff --git a/src/Microsoft.AspNetCore.Routing/Matchers/MatchProcessorFactory.cs b/src/Microsoft.AspNetCore.Routing/Matchers/MatchProcessorFactory.cs deleted file mode 100644 index 95624ea420..0000000000 --- a/src/Microsoft.AspNetCore.Routing/Matchers/MatchProcessorFactory.cs +++ /dev/null @@ -1,10 +0,0 @@ -// Copyright (c) .NET Foundation. All rights reserved. -// Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information. - -namespace Microsoft.AspNetCore.Routing.Matchers -{ - internal abstract class MatchProcessorFactory - { - public abstract MatchProcessor Create(MatchProcessorReference matchProcessorReference); - } -} diff --git a/src/Microsoft.AspNetCore.Routing/Matchers/MatchProcessorReference.cs b/src/Microsoft.AspNetCore.Routing/Matchers/MatchProcessorReference.cs deleted file mode 100644 index 6266bb22e1..0000000000 --- a/src/Microsoft.AspNetCore.Routing/Matchers/MatchProcessorReference.cs +++ /dev/null @@ -1,86 +0,0 @@ -// Copyright (c) .NET Foundation. All rights reserved. -// Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information. - -using Microsoft.AspNetCore.Http; - -namespace Microsoft.AspNetCore.Routing.Matchers -{ - public sealed class MatchProcessorReference - { - // Example: - // api/products/{productId:regex(\d+)} - // - // ParameterName = productId - // ConstraintText = regex(\d+) - // ConstraintArgument = \d+ - - public MatchProcessorReference(string parameterName, string constraintText) - { - ParameterName = parameterName; - ConstraintText = constraintText; - } - - public MatchProcessorReference(string parameterName, bool optional, string constraintText) - { - ParameterName = parameterName; - Optional = optional; - ConstraintText = constraintText; - } - - public MatchProcessorReference(string parameterName, MatchProcessor matchProcessor) - { - ParameterName = parameterName; - MatchProcessor = matchProcessor; - } - - internal MatchProcessor MatchProcessor { get; private set; } - - internal string ConstraintText { get; private set; } - - internal string ParameterName { get; private set; } - - internal bool Optional { get; private set; } - - public MatchProcessorReference(string parameterName, IRouteConstraint routeConstraint) - : this(parameterName, new RouteConstraintMatchProcessorAdapter(parameterName, routeConstraint)) - { - } - - private class RouteConstraintMatchProcessorAdapter : MatchProcessor - { - public string ParameterName { get; private set; } - - public IRouteConstraint RouteConstraint { get; } - - public RouteConstraintMatchProcessorAdapter(string parameterName, IRouteConstraint routeConstraint) - { - ParameterName = parameterName; - RouteConstraint = routeConstraint; - } - - public override void Initialize(string parameterName, string constraintArgument) - { - } - - public override bool ProcessInbound(HttpContext httpContext, RouteValueDictionary routeValues) - { - return RouteConstraint.Match( - httpContext, - NullRouter.Instance, - ParameterName, - routeValues, - RouteDirection.IncomingRequest); - } - - public override bool ProcessOutbound(HttpContext httpContext, RouteValueDictionary values) - { - return RouteConstraint.Match( - httpContext, - NullRouter.Instance, - ParameterName, - values, - RouteDirection.UrlGeneration); - } - } - } -} diff --git a/src/Microsoft.AspNetCore.Routing/Matchers/MatcherEndpoint.cs b/src/Microsoft.AspNetCore.Routing/Matchers/MatcherEndpoint.cs index 4d7fa50e0e..41b629ef6c 100644 --- a/src/Microsoft.AspNetCore.Routing/Matchers/MatcherEndpoint.cs +++ b/src/Microsoft.AspNetCore.Routing/Matchers/MatcherEndpoint.cs @@ -2,7 +2,6 @@ // Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information. using System; -using System.Collections.Generic; using System.Threading.Tasks; using Microsoft.AspNetCore.Http; using Microsoft.AspNetCore.Routing.Template; @@ -21,7 +20,6 @@ namespace Microsoft.AspNetCore.Routing.Matchers string template, RouteValueDictionary defaults, RouteValueDictionary requiredValues, - List nonInlineMatchProcessorReferences, int order, EndpointMetadataCollection metadata, string displayName) @@ -46,9 +44,6 @@ namespace Microsoft.AspNetCore.Routing.Matchers RequiredValues = requiredValues; var mergedDefaults = GetDefaults(ParsedTemplate, defaults); Defaults = mergedDefaults; - - var mergedReferences = MergeMatchProcessorReferences(ParsedTemplate, nonInlineMatchProcessorReferences); - MatchProcessorReferences = mergedReferences.AsReadOnly(); } public int Order { get; } @@ -62,8 +57,6 @@ namespace Microsoft.AspNetCore.Routing.Matchers // Todo: needs review public RouteTemplate ParsedTemplate { get; } - public IReadOnlyList MatchProcessorReferences { get; } - // Merge inline and non inline defaults into one private RouteValueDictionary GetDefaults(RouteTemplate parsedTemplate, RouteValueDictionary nonInlineDefaults) { @@ -88,33 +81,5 @@ namespace Microsoft.AspNetCore.Routing.Matchers return result; } - - private List MergeMatchProcessorReferences( - RouteTemplate parsedTemplate, - List nonInlineReferences) - { - var matchProcessorReferences = new List(); - - if (nonInlineReferences != null) - { - matchProcessorReferences.AddRange(nonInlineReferences); - } - - foreach (var parameter in parsedTemplate.Parameters) - { - if (parameter.InlineConstraints != null) - { - foreach (var constraint in parameter.InlineConstraints) - { - matchProcessorReferences.Add( - new MatchProcessorReference( - parameter.Name, - optional: parameter.IsOptional, - constraintText: constraint.Constraint)); - } - } - } - return matchProcessorReferences; - } } } diff --git a/src/Microsoft.AspNetCore.Routing/Matchers/OptionalMatchProcessor.cs b/src/Microsoft.AspNetCore.Routing/Matchers/OptionalMatchProcessor.cs deleted file mode 100644 index 9d445e1a44..0000000000 --- a/src/Microsoft.AspNetCore.Routing/Matchers/OptionalMatchProcessor.cs +++ /dev/null @@ -1,44 +0,0 @@ -// Copyright (c) .NET Foundation. All rights reserved. -// Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information. - -using Microsoft.AspNetCore.Http; - -namespace Microsoft.AspNetCore.Routing.Matchers -{ - internal class OptionalMatchProcessor : MatchProcessor - { - private readonly MatchProcessor _innerMatchProcessor; - - public OptionalMatchProcessor(MatchProcessor innerMatchProcessor) - { - _innerMatchProcessor = innerMatchProcessor; - } - - public string ParameterName { get; private set; } - - public override void Initialize(string parameterName, string constraintArgument) - { - ParameterName = parameterName; - _innerMatchProcessor.Initialize(parameterName, constraintArgument); - } - - public override bool ProcessInbound(HttpContext httpContext, RouteValueDictionary values) - { - return Process(httpContext, values); - } - - public override bool ProcessOutbound(HttpContext httpContext, RouteValueDictionary values) - { - return Process(httpContext, values); - } - - private bool Process(HttpContext httpContext, RouteValueDictionary values) - { - if (values.TryGetValue(ParameterName, out var value)) - { - return _innerMatchProcessor.ProcessInbound(httpContext, values); - } - return true; - } - } -} diff --git a/src/Microsoft.AspNetCore.Routing/Matchers/TreeMatcher.cs b/src/Microsoft.AspNetCore.Routing/Matchers/TreeMatcher.cs index 72fc5c9f6c..8b1795b0f5 100644 --- a/src/Microsoft.AspNetCore.Routing/Matchers/TreeMatcher.cs +++ b/src/Microsoft.AspNetCore.Routing/Matchers/TreeMatcher.cs @@ -17,20 +17,20 @@ namespace Microsoft.AspNetCore.Routing.Matchers { internal class TreeMatcher : Matcher { - private readonly MatchProcessorFactory _matchProcessorFactory; + private readonly IInlineConstraintResolver _constraintFactory; private readonly ILogger _logger; private readonly EndpointSelector _endpointSelector; private readonly DataSourceDependantCache _cache; public TreeMatcher( - MatchProcessorFactory matchProcessorFactory, + IInlineConstraintResolver constraintFactory, ILogger logger, EndpointDataSource dataSource, EndpointSelector endpointSelector) { - if (matchProcessorFactory == null) + if (constraintFactory == null) { - throw new ArgumentNullException(nameof(matchProcessorFactory)); + throw new ArgumentNullException(nameof(constraintFactory)); } if (logger == null) @@ -43,7 +43,7 @@ namespace Microsoft.AspNetCore.Routing.Matchers throw new ArgumentNullException(nameof(dataSource)); } - _matchProcessorFactory = matchProcessorFactory; + _constraintFactory = constraintFactory; _logger = logger; _endpointSelector = endpointSelector; _cache = new DataSourceDependantCache(dataSource, CreateTrees); @@ -79,7 +79,6 @@ namespace Microsoft.AspNetCore.Routing.Matchers foreach (var item in node.Matches) { var entry = item.Entry; - var tagData = (InboundEntryTagData)entry.Tag; var matcher = item.TemplateMatcher; values.Clear(); @@ -90,12 +89,12 @@ namespace Microsoft.AspNetCore.Routing.Matchers Log.MatchedTemplate(_logger, httpContext, entry.RouteTemplate); - if (!MatchConstraints(httpContext, values, tagData.MatchProcessors)) + if (!MatchConstraints(httpContext, values, entry.Constraints)) { continue; } - SelectEndpoint(httpContext, feature, tagData.Endpoints); + SelectEndpoint(httpContext, feature, (MatcherEndpoint[])entry.Tag); if (feature.Endpoint != null) { @@ -124,14 +123,18 @@ namespace Microsoft.AspNetCore.Routing.Matchers private bool MatchConstraints( HttpContext httpContext, RouteValueDictionary values, - IList matchProcessors) + IDictionary constraints) { - if (matchProcessors != null) + if (constraints != null) { - foreach (var processor in matchProcessors) + foreach (var kvp in constraints) { - if (!processor.ProcessInbound(httpContext, values)) + var constraint = kvp.Value; + if (!constraint.Match(httpContext, new DummyRouter(), kvp.Key, values, RouteDirection.IncomingRequest)) { + values.TryGetValue(kvp.Key, out var value); + + Log.ConstraintFailed(_logger, value, kvp.Key, kvp.Value); return false; } } @@ -220,7 +223,7 @@ namespace Microsoft.AspNetCore.Routing.Matchers return trees.ToArray(); } - private InboundRouteEntry MapInbound(RouteTemplate template, MatcherEndpoint[] endpoints, int order) + private InboundRouteEntry MapInbound(RouteTemplate template, Endpoint[] endpoints, int order) { if (template == null) { @@ -232,24 +235,27 @@ namespace Microsoft.AspNetCore.Routing.Matchers Precedence = RoutePrecedence.ComputeInbound(template), RouteTemplate = template, Order = order, + Tag = endpoints, }; - // Since all endpoints within a group are expected to have same template and same constraints, - // get the first endpoint which has the processor references - var endpoint = endpoints[0]; - - var matchProcessors = new List(); - foreach (var matchProcessorReference in endpoint.MatchProcessorReferences) + var constraintBuilder = new RouteConstraintBuilder(_constraintFactory, template.TemplateText); + foreach (var parameter in template.Parameters) { - var matchProcessor = _matchProcessorFactory.Create(matchProcessorReference); - matchProcessors.Add(matchProcessor); + if (parameter.InlineConstraints != null) + { + if (parameter.IsOptional) + { + constraintBuilder.SetOptional(parameter.Name); + } + + foreach (var constraint in parameter.InlineConstraints) + { + constraintBuilder.AddResolvedConstraint(parameter.Name, constraint.Constraint); + } + } } - entry.Tag = new InboundEntryTagData() - { - Endpoints = endpoints, - MatchProcessors = matchProcessors, - }; + entry.Constraints = constraintBuilder.Build(); entry.Defaults = new RouteValueDictionary(); foreach (var parameter in entry.RouteTemplate.Parameters) @@ -344,11 +350,5 @@ namespace Microsoft.AspNetCore.Routing.Matchers _matchedTemplate(logger, template.TemplateText, httpContext.Request.Path, null); } } - - private class InboundEntryTagData - { - public MatcherEndpoint[] Endpoints { get; set; } - public List MatchProcessors { get; set; } - } } } diff --git a/src/Microsoft.AspNetCore.Routing/Matchers/TreeMatcherFactory.cs b/src/Microsoft.AspNetCore.Routing/Matchers/TreeMatcherFactory.cs index 39171909a2..2d4ef3d864 100644 --- a/src/Microsoft.AspNetCore.Routing/Matchers/TreeMatcherFactory.cs +++ b/src/Microsoft.AspNetCore.Routing/Matchers/TreeMatcherFactory.cs @@ -9,18 +9,18 @@ namespace Microsoft.AspNetCore.Routing.Matchers { internal class TreeMatcherFactory : MatcherFactory { - private readonly MatchProcessorFactory _matchProcessorFactory; + private readonly IInlineConstraintResolver _constraintFactory; private readonly ILogger _logger; private readonly EndpointSelector _endpointSelector; public TreeMatcherFactory( - MatchProcessorFactory matchProcessorFactory, + IInlineConstraintResolver constraintFactory, ILogger logger, EndpointSelector endpointSelector) { - if (matchProcessorFactory == null) + if (constraintFactory == null) { - throw new ArgumentNullException(nameof(matchProcessorFactory)); + throw new ArgumentNullException(nameof(constraintFactory)); } if (logger == null) @@ -33,7 +33,7 @@ namespace Microsoft.AspNetCore.Routing.Matchers throw new ArgumentNullException(nameof(endpointSelector)); } - _matchProcessorFactory = matchProcessorFactory; + _constraintFactory = constraintFactory; _logger = logger; _endpointSelector = endpointSelector; } @@ -45,7 +45,7 @@ namespace Microsoft.AspNetCore.Routing.Matchers throw new ArgumentNullException(nameof(dataSource)); } - return new TreeMatcher(_matchProcessorFactory, _logger, dataSource, _endpointSelector); + return new TreeMatcher(_constraintFactory, _logger, dataSource, _endpointSelector); } } } diff --git a/src/Microsoft.AspNetCore.Routing/RouteValuesBasedEndpointFinder.cs b/src/Microsoft.AspNetCore.Routing/RouteValuesBasedEndpointFinder.cs index 0b0fee9edd..a926d51cf7 100644 --- a/src/Microsoft.AspNetCore.Routing/RouteValuesBasedEndpointFinder.cs +++ b/src/Microsoft.AspNetCore.Routing/RouteValuesBasedEndpointFinder.cs @@ -4,6 +4,7 @@ using System; using System.Collections.Generic; using System.Linq; +using System.Threading.Tasks; using Microsoft.AspNetCore.Routing.EndpointFinders; using Microsoft.AspNetCore.Routing.Internal; using Microsoft.AspNetCore.Routing.Matchers; @@ -16,16 +17,19 @@ namespace Microsoft.AspNetCore.Routing internal class RouteValuesBasedEndpointFinder : IEndpointFinder { private readonly CompositeEndpointDataSource _endpointDataSource; + private readonly IInlineConstraintResolver _inlineConstraintResolver; private readonly ObjectPool _objectPool; private LinkGenerationDecisionTree _allMatchesLinkGenerationTree; private IDictionary _namedMatches; public RouteValuesBasedEndpointFinder( CompositeEndpointDataSource endpointDataSource, - ObjectPool objectPool) + ObjectPool objectPool, + IInlineConstraintResolver inlineConstraintResolver) { _endpointDataSource = endpointDataSource; _objectPool = objectPool; + _inlineConstraintResolver = inlineConstraintResolver; BuildOutboundMatches(); } @@ -106,6 +110,28 @@ namespace Microsoft.AspNetCore.Routing Data = endpoint, RouteName = routeNameMetadata?.Name, }; + + // TODO: review. These route constriants should be constructed when the endpoint + // is built. This way they can be checked for validity on app startup too + var constraintBuilder = new RouteConstraintBuilder( + _inlineConstraintResolver, + endpoint.ParsedTemplate.TemplateText); + foreach (var parameter in endpoint.ParsedTemplate.Parameters) + { + if (parameter.InlineConstraints != null) + { + if (parameter.IsOptional) + { + constraintBuilder.SetOptional(parameter.Name); + } + + foreach (var constraint in parameter.InlineConstraints) + { + constraintBuilder.AddResolvedConstraint(parameter.Name, constraint.Constraint); + } + } + } + entry.Constraints = constraintBuilder.Build(); entry.Defaults = endpoint.Defaults; return entry; } @@ -120,5 +146,21 @@ namespace Microsoft.AspNetCore.Routing } return result; } + + // Used only to hook up link generation, and it doesn't need to do anything. + private class NullRouter : IRouter + { + public static readonly NullRouter Instance = new NullRouter(); + + public VirtualPathData GetVirtualPath(VirtualPathContext context) + { + return null; + } + + public Task RouteAsync(RouteContext context) + { + throw new NotImplementedException(); + } + } } } diff --git a/test/Microsoft.AspNetCore.Routing.FunctionalTests/DispatcherSampleTest.cs b/test/Microsoft.AspNetCore.Routing.FunctionalTests/DispatcherSampleTest.cs index 79925e8bf0..ff26a0e250 100644 --- a/test/Microsoft.AspNetCore.Routing.FunctionalTests/DispatcherSampleTest.cs +++ b/test/Microsoft.AspNetCore.Routing.FunctionalTests/DispatcherSampleTest.cs @@ -61,74 +61,6 @@ namespace Microsoft.AspNetCore.Routing.FunctionalTests Assert.Equal(expectedContent, actualContent); } - [Fact] - public async Task MatchesEndpoint_WithSuccessfulConstraintMatch() - { - // Arrange - var expectedContent = "WithConstraints"; - - // Act - var response = await _client.GetAsync("/withconstraints/555_001"); - - // Assert - Assert.Equal(HttpStatusCode.OK, response.StatusCode); - Assert.NotNull(response.Content); - var actualContent = await response.Content.ReadAsStringAsync(); - Assert.Equal(expectedContent, actualContent); - } - - [Fact] - public async Task DoesNotMatchEndpoint_IfConstraintMatchFails() - { - // Arrange & Act - var response = await _client.GetAsync("/withconstraints/555"); - - // Assert - Assert.Equal(HttpStatusCode.NotFound, response.StatusCode); - } - - [Fact] - public async Task MatchesEndpoint_WithSuccessful_OptionalConstraintMatch() - { - // Arrange - var expectedContent = "withoptionalconstraints"; - - // Act - var response = await _client.GetAsync("/withoptionalconstraints/555_001"); - - // Assert - Assert.Equal(HttpStatusCode.OK, response.StatusCode); - Assert.NotNull(response.Content); - var actualContent = await response.Content.ReadAsStringAsync(); - Assert.Equal(expectedContent, actualContent); - } - - [Fact] - public async Task MatchesEndpoint_WithSuccessful_OptionalConstraintMatch_NoValueForParameter() - { - // Arrange - var expectedContent = "withoptionalconstraints"; - - // Act - var response = await _client.GetAsync("/withoptionalconstraints"); - - // Assert - Assert.Equal(HttpStatusCode.OK, response.StatusCode); - Assert.NotNull(response.Content); - var actualContent = await response.Content.ReadAsStringAsync(); - Assert.Equal(expectedContent, actualContent); - } - - [Fact] - public async Task DoesNotMatchEndpoint_IfOptionalConstraintMatchFails() - { - // Arrange & Act - var response = await _client.GetAsync("/withoptionalconstraints/555"); - - // Assert - Assert.Equal(HttpStatusCode.NotFound, response.StatusCode); - } - public void Dispose() { _testServer.Dispose(); diff --git a/test/Microsoft.AspNetCore.Routing.Tests/DefaultLinkGeneratorTest.cs b/test/Microsoft.AspNetCore.Routing.Tests/DefaultLinkGeneratorTest.cs index db93c930c5..ffb78a6ea1 100644 --- a/test/Microsoft.AspNetCore.Routing.Tests/DefaultLinkGeneratorTest.cs +++ b/test/Microsoft.AspNetCore.Routing.Tests/DefaultLinkGeneratorTest.cs @@ -8,9 +8,7 @@ using Microsoft.AspNetCore.Routing.EndpointFinders; using Microsoft.AspNetCore.Routing.Internal; using Microsoft.AspNetCore.Routing.Matchers; using Microsoft.Extensions.Logging; -using Microsoft.Extensions.Logging.Abstractions; using Microsoft.Extensions.ObjectPool; -using Microsoft.Extensions.Options; using Moq; using Xunit; @@ -790,7 +788,6 @@ namespace Microsoft.AspNetCore.Routing template, defaults, new RouteValueDictionary(), - new List(), 0, EndpointMetadataCollection.Empty, null); @@ -799,12 +796,8 @@ namespace Microsoft.AspNetCore.Routing private ILinkGenerator CreateLinkGenerator() { return new DefaultLinkGenerator( - new DefaultMatchProcessorFactory( - Options.Create(new RouteOptions()), - NullLogger.Instance, - Mock.Of()), new DefaultObjectPool(new UriBuilderContextPooledObjectPolicy()), - NullLogger.Instance); + Mock.Of>()); } } } diff --git a/test/Microsoft.AspNetCore.Routing.Tests/DispatcherMiddlewareTest.cs b/test/Microsoft.AspNetCore.Routing.Tests/DispatcherMiddlewareTest.cs index 4f5b72de8d..ad0855f4c8 100644 --- a/test/Microsoft.AspNetCore.Routing.Tests/DispatcherMiddlewareTest.cs +++ b/test/Microsoft.AspNetCore.Routing.Tests/DispatcherMiddlewareTest.cs @@ -4,7 +4,9 @@ using System; using System.Threading.Tasks; using Microsoft.AspNetCore.Http; +using Microsoft.AspNetCore.Routing.Matchers; using Microsoft.AspNetCore.Routing.TestObjects; +using Microsoft.Extensions.DependencyInjection; using Microsoft.Extensions.Logging; using Microsoft.Extensions.Logging.Abstractions; using Microsoft.Extensions.Logging.Testing; diff --git a/test/Microsoft.AspNetCore.Routing.Tests/EndpointConstraints/EndpointSelectorTests.cs b/test/Microsoft.AspNetCore.Routing.Tests/EndpointConstraints/EndpointSelectorTests.cs index 008464113e..796909c728 100644 --- a/test/Microsoft.AspNetCore.Routing.Tests/EndpointConstraints/EndpointSelectorTests.cs +++ b/test/Microsoft.AspNetCore.Routing.Tests/EndpointConstraints/EndpointSelectorTests.cs @@ -1,9 +1,6 @@ // Copyright (c) .NET Foundation. All rights reserved. // Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information. -using System; -using System.Collections.Generic; -using System.Linq; using Microsoft.AspNetCore.Http; using Microsoft.AspNetCore.Routing.Matchers; using Microsoft.AspNetCore.Routing.TestObjects; @@ -12,6 +9,9 @@ using Microsoft.Extensions.Logging; using Microsoft.Extensions.Logging.Abstractions; using Microsoft.Extensions.Logging.Testing; using Moq; +using System; +using System.Collections.Generic; +using System.Linq; using Xunit; namespace Microsoft.AspNetCore.Routing.EndpointConstraints diff --git a/test/Microsoft.AspNetCore.Routing.Tests/Matchers/DefaultMatchProcessorFactoryTest.cs b/test/Microsoft.AspNetCore.Routing.Tests/Matchers/DefaultMatchProcessorFactoryTest.cs deleted file mode 100644 index 1f89aa1928..0000000000 --- a/test/Microsoft.AspNetCore.Routing.Tests/Matchers/DefaultMatchProcessorFactoryTest.cs +++ /dev/null @@ -1,190 +0,0 @@ -// Copyright (c) .NET Foundation. All rights reserved. -// Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information. - -using System; -using System.Globalization; -using Microsoft.AspNetCore.Http; -using Microsoft.Extensions.DependencyInjection; -using Microsoft.Extensions.Logging.Abstractions; -using Microsoft.Extensions.Options; -using Moq; -using Xunit; - -namespace Microsoft.AspNetCore.Routing.Matchers -{ - public class DefaultMatchProcessorFactoryTest - { - [Fact] - public void Create_ThrowsException_IfNoConstraintOrMatchProcessor_FoundInMap() - { - // Arrange - var factory = GetMatchProcessorFactory(); - var matchProcessorReference = new MatchProcessorReference("id", @"notpresent(\d+)"); - - // Act & Assert - var exception = Assert.Throws( - () => factory.Create(matchProcessorReference)); - } - - [Fact] - public void Create_CreatesMatchProcessor_FromConstraintText_AndRouteConstraint() - { - // Arrange - var factory = GetMatchProcessorFactory(); - var matchProcessorReference = new MatchProcessorReference("id", "int"); - - // Act 1 - var processor = factory.Create(matchProcessorReference); - - // Assert 1 - Assert.NotNull(processor); - - // Act 2 - var isMatch = processor.ProcessInbound( - new DefaultHttpContext(), - new RouteValueDictionary(new { id = 10 })); - - // Assert 2 - Assert.True(isMatch); - - // Act 2 - isMatch = processor.ProcessInbound( - new DefaultHttpContext(), - new RouteValueDictionary(new { id = "foo" })); - - // Assert 2 - Assert.False(isMatch); - } - - [Fact] - public void Create_CreatesMatchProcessor_FromConstraintText_AndCustomMatchProcessor() - { - // Arrange - var options = new RouteOptions(); - options.ConstraintMap.Add("endsWith", typeof(EndsWithStringMatchProcessor)); - var services = new ServiceCollection(); - services.AddTransient(); - var factory = GetMatchProcessorFactory(options, services); - var matchProcessorReference = new MatchProcessorReference("id", "endsWith(_001)"); - - // Act 1 - var processor = factory.Create(matchProcessorReference); - - // Assert 1 - Assert.NotNull(processor); - - // Act 2 - var isMatch = processor.ProcessInbound( - new DefaultHttpContext(), - new RouteValueDictionary(new { id = "555_001" })); - - // Assert 2 - Assert.True(isMatch); - - // Act 2 - isMatch = processor.ProcessInbound( - new DefaultHttpContext(), - new RouteValueDictionary(new { id = "444" })); - - // Assert 2 - Assert.False(isMatch); - } - - [Fact] - public void Create_ReturnsMatchProcessor_IfAvailable() - { - // Arrange - var factory = GetMatchProcessorFactory(); - var matchProcessorReference = new MatchProcessorReference("id", Mock.Of()); - var expected = matchProcessorReference.MatchProcessor; - - // Act - var processor = factory.Create(matchProcessorReference); - - // Assert - Assert.Same(expected, processor); - } - - [Fact] - public void Create_ReturnsMatchProcessor_WithSuppliedRouteConstraint() - { - // Arrange - var factory = GetMatchProcessorFactory(); - var constraint = TestRouteConstraint.Create(); - var matchProcessorReference = new MatchProcessorReference("id", constraint); - var processor = factory.Create(matchProcessorReference); - var expectedHttpContext = new DefaultHttpContext(); - var expectedValues = new RouteValueDictionary(); - - // Act - processor.ProcessInbound(expectedHttpContext, expectedValues); - - // Assert - Assert.Same(expectedHttpContext, constraint.HttpContext); - Assert.Same(expectedValues, constraint.Values); - Assert.Equal("id", constraint.RouteKey); - Assert.Equal(RouteDirection.IncomingRequest, constraint.RouteDirection); - Assert.Same(NullRouter.Instance, constraint.Route); - } - - private DefaultMatchProcessorFactory GetMatchProcessorFactory( - RouteOptions options = null, - ServiceCollection services = null) - { - if (options == null) - { - options = new RouteOptions(); - } - - if (services == null) - { - services = new ServiceCollection(); - } - - return new DefaultMatchProcessorFactory( - Options.Create(options), - NullLogger.Instance, - services.BuildServiceProvider()); - } - - private class TestRouteConstraint : IRouteConstraint - { - private TestRouteConstraint() { } - - public HttpContext HttpContext { get; private set; } - public IRouter Route { get; private set; } - public string RouteKey { get; private set; } - public RouteValueDictionary Values { get; private set; } - public RouteDirection RouteDirection { get; private set; } - - public static TestRouteConstraint Create() - { - return new TestRouteConstraint(); - } - - public bool Match( - HttpContext httpContext, - IRouter route, - string routeKey, - RouteValueDictionary values, - RouteDirection routeDirection) - { - HttpContext = httpContext; - Route = route; - RouteKey = routeKey; - Values = values; - RouteDirection = routeDirection; - return false; - } - } - - private class EndsWithStringMatchProcessor : MatchProcessorBase - { - public override bool Process(object value) - { - var valueString = Convert.ToString(value, CultureInfo.InvariantCulture); - return valueString.EndsWith(ConstraintArgument); - } - } - } -} diff --git a/test/Microsoft.AspNetCore.Routing.Tests/Matchers/MatcherConformanceTest.cs b/test/Microsoft.AspNetCore.Routing.Tests/Matchers/MatcherConformanceTest.cs index abef76e438..bbb08d5f9a 100644 --- a/test/Microsoft.AspNetCore.Routing.Tests/Matchers/MatcherConformanceTest.cs +++ b/test/Microsoft.AspNetCore.Routing.Tests/Matchers/MatcherConformanceTest.cs @@ -2,7 +2,6 @@ // Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information. using System; -using System.Collections.Generic; using Microsoft.AspNetCore.Http; using Microsoft.Extensions.DependencyInjection; @@ -44,7 +43,6 @@ namespace Microsoft.AspNetCore.Routing.Matchers template, defaults, new RouteValueDictionary(), - new List(), order ?? 0, EndpointMetadataCollection.Empty, "endpoint: " + template); diff --git a/test/Microsoft.AspNetCore.Routing.Tests/Matchers/TreeMatcherTests.cs b/test/Microsoft.AspNetCore.Routing.Tests/Matchers/TreeMatcherTests.cs index e32d4aed76..cc865fed75 100644 --- a/test/Microsoft.AspNetCore.Routing.Tests/Matchers/TreeMatcherTests.cs +++ b/test/Microsoft.AspNetCore.Routing.Tests/Matchers/TreeMatcherTests.cs @@ -1,14 +1,12 @@ // Copyright (c) .NET Foundation. All rights reserved. // Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information. -using System; using System.Collections.Generic; using System.Threading.Tasks; using Microsoft.AspNetCore.Http; using Microsoft.AspNetCore.Routing.EndpointConstraints; using Microsoft.Extensions.Logging.Abstractions; using Microsoft.Extensions.Options; -using Moq; using Xunit; namespace Microsoft.AspNetCore.Routing.Matchers @@ -18,23 +16,13 @@ namespace Microsoft.AspNetCore.Routing.Matchers private MatcherEndpoint CreateEndpoint(string template, int order, object defaultValues = null, EndpointMetadataCollection metadata = null) { var defaults = defaultValues == null ? new RouteValueDictionary() : new RouteValueDictionary(defaultValues); - return new MatcherEndpoint( - (next) => null, - template, defaults, - new RouteValueDictionary(), - new List(), - order, - metadata ?? EndpointMetadataCollection.Empty, - template); + return new MatcherEndpoint((next) => null, template, defaults, new RouteValueDictionary(), order, metadata ?? EndpointMetadataCollection.Empty, template); } private TreeMatcher CreateTreeMatcher(EndpointDataSource endpointDataSource) { var compositeDataSource = new CompositeEndpointDataSource(new[] { endpointDataSource }); - var defaultInlineConstraintResolver = new DefaultMatchProcessorFactory( - Options.Create(new RouteOptions()), - NullLogger.Instance, - Mock.Of()); + var defaultInlineConstraintResolver = new DefaultInlineConstraintResolver(Options.Create(new RouteOptions())); var endpointSelector = new EndpointSelector( compositeDataSource, new EndpointConstraintCache(compositeDataSource, new IEndpointConstraintProvider[] { new DefaultEndpointConstraintProvider() }), From 0cf972cc432e10e90fdf4f3aa27fc9ece09a3032 Mon Sep 17 00:00:00 2001 From: James Newton-King Date: Fri, 13 Jul 2018 10:16:21 +1200 Subject: [PATCH 060/221] Error message on no dispatcher middleware in endpoint middleware (#600) --- .../EndpointMiddleware.cs | 5 ++ .../EndpointMiddlewareTest.cs | 48 +++++++++++++++++++ 2 files changed, 53 insertions(+) create mode 100644 test/Microsoft.AspNetCore.Routing.Tests/EndpointMiddlewareTest.cs diff --git a/src/Microsoft.AspNetCore.Routing/EndpointMiddleware.cs b/src/Microsoft.AspNetCore.Routing/EndpointMiddleware.cs index 5fbb596d79..d7c90728dc 100644 --- a/src/Microsoft.AspNetCore.Routing/EndpointMiddleware.cs +++ b/src/Microsoft.AspNetCore.Routing/EndpointMiddleware.cs @@ -32,6 +32,11 @@ namespace Microsoft.AspNetCore.Routing public async Task Invoke(HttpContext httpContext) { var feature = httpContext.Features.Get(); + if (feature == null) + { + throw new InvalidOperationException("Unable to execute an endpoint because the dispatcher was not run. Ensure dispatcher middleware is registered."); + } + if (feature.Invoker != null) { Log.ExecutingEndpoint(_logger, feature.Endpoint); diff --git a/test/Microsoft.AspNetCore.Routing.Tests/EndpointMiddlewareTest.cs b/test/Microsoft.AspNetCore.Routing.Tests/EndpointMiddlewareTest.cs new file mode 100644 index 0000000000..ff968fb7be --- /dev/null +++ b/test/Microsoft.AspNetCore.Routing.Tests/EndpointMiddlewareTest.cs @@ -0,0 +1,48 @@ +// Copyright (c) .NET Foundation. All rights reserved. +// Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information. + +using System; +using System.Threading.Tasks; +using Microsoft.AspNetCore.Builder; +using Microsoft.AspNetCore.Http; +using Microsoft.Extensions.DependencyInjection; +using Microsoft.Extensions.Logging.Abstractions; +using Microsoft.Extensions.Logging.Testing; +using Xunit; + +namespace Microsoft.AspNetCore.Routing +{ + public class EndpointMiddlewareTest + { + [Fact] + public async Task Invoke_NoFeature_ThrowFriendlyErrorMessage() + { + // Arrange + var httpContext = new DefaultHttpContext(); + httpContext.RequestServices = new ServiceProvider(); + + RequestDelegate next = (c) => + { + return Task.FromResult(null); + }; + + var middleware = new EndpointMiddleware(NullLogger.Instance, next); + + // Act + var invokeTask = middleware.Invoke(httpContext); + + // Assert + var ex = await Assert.ThrowsAsync(async () => await invokeTask); + + Assert.Equal("Unable to execute an endpoint because the dispatcher was not run. Ensure dispatcher middleware is registered.", ex.Message); + } + + private class ServiceProvider : IServiceProvider + { + public object GetService(Type serviceType) + { + throw new NotImplementedException(); + } + } + } +} From 7209cab5e91cc4c8d0c7b285fabae328a0a68c33 Mon Sep 17 00:00:00 2001 From: Ryan Nowak Date: Thu, 12 Jul 2018 23:28:51 -0700 Subject: [PATCH 061/221] Productize JumpTable (#594) * Productize JumpTable --- .../JumpTableMultipleEntryBenchmark.cs | 134 ++++++++++++++++++ .../Matchers/JumpTableSingleEntryBenchmark.cs | 78 ++++++++++ .../Matchers/JumpTableZeroEntryBenchmark.cs | 66 +++++++++ .../Matchers/DictionaryJumpTable.cs | 68 +++++++++ .../Matchers/JumpTable.cs | 18 +++ .../Matchers/JumpTableBuilder.cs | 62 ++++++++ .../Matchers/LinearSearchJumpTable.cs | 72 ++++++++++ .../Matchers/SingleEntryJumpTable.cs | 54 +++++++ .../Matchers/ZeroEntryJumpTable.cs | 27 ++++ .../Matchers/DfaMatcher.cs | 61 +------- .../Matchers/DfaMatcherBuilder.cs | 19 ++- .../Matchers/DictionaryJumpTableTest.cs | 16 +++ .../Matchers/LinearSearchJumpTableTest.cs | 17 +++ .../Matchers/MultipleEntryJumpTableTest.cs | 80 +++++++++++ .../Matchers/SingleEntryJumpTableTest.cs | 62 ++++++++ .../Matchers/ZeroEntryJumpTableTest.cs | 36 +++++ 16 files changed, 803 insertions(+), 67 deletions(-) create mode 100644 benchmarks/Microsoft.AspNetCore.Routing.Performance/Matchers/JumpTableMultipleEntryBenchmark.cs create mode 100644 benchmarks/Microsoft.AspNetCore.Routing.Performance/Matchers/JumpTableSingleEntryBenchmark.cs create mode 100644 benchmarks/Microsoft.AspNetCore.Routing.Performance/Matchers/JumpTableZeroEntryBenchmark.cs create mode 100644 src/Microsoft.AspNetCore.Routing/Matchers/DictionaryJumpTable.cs create mode 100644 src/Microsoft.AspNetCore.Routing/Matchers/JumpTable.cs create mode 100644 src/Microsoft.AspNetCore.Routing/Matchers/JumpTableBuilder.cs create mode 100644 src/Microsoft.AspNetCore.Routing/Matchers/LinearSearchJumpTable.cs create mode 100644 src/Microsoft.AspNetCore.Routing/Matchers/SingleEntryJumpTable.cs create mode 100644 src/Microsoft.AspNetCore.Routing/Matchers/ZeroEntryJumpTable.cs create mode 100644 test/Microsoft.AspNetCore.Routing.Tests/Matchers/DictionaryJumpTableTest.cs create mode 100644 test/Microsoft.AspNetCore.Routing.Tests/Matchers/LinearSearchJumpTableTest.cs create mode 100644 test/Microsoft.AspNetCore.Routing.Tests/Matchers/MultipleEntryJumpTableTest.cs create mode 100644 test/Microsoft.AspNetCore.Routing.Tests/Matchers/SingleEntryJumpTableTest.cs create mode 100644 test/Microsoft.AspNetCore.Routing.Tests/Matchers/ZeroEntryJumpTableTest.cs diff --git a/benchmarks/Microsoft.AspNetCore.Routing.Performance/Matchers/JumpTableMultipleEntryBenchmark.cs b/benchmarks/Microsoft.AspNetCore.Routing.Performance/Matchers/JumpTableMultipleEntryBenchmark.cs new file mode 100644 index 0000000000..87d70ae74d --- /dev/null +++ b/benchmarks/Microsoft.AspNetCore.Routing.Performance/Matchers/JumpTableMultipleEntryBenchmark.cs @@ -0,0 +1,134 @@ +// Copyright (c) .NET Foundation. All rights reserved. +// Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information. + +using System; +using System.Collections.Generic; +using BenchmarkDotNet.Attributes; + +namespace Microsoft.AspNetCore.Routing.Matchers +{ + public class JumpTableMultipleEntryBenchmark + { + private string[] _strings; + private PathSegment[] _segments; + + private JumpTable _linearSearch; + private JumpTable _dictionary; + + // All factors of 100 to support sampling + [Params(2, 5, 10, 25, 50, 100)] + public int Count; + + [GlobalSetup] + public void Setup() + { + _strings = GetStrings(100); + _segments = new PathSegment[100]; + + for (var i = 0; i < _strings.Length; i++) + { + _segments[i] = new PathSegment(0, _strings[i].Length); + } + + var samples = new int[Count]; + for (var i = 0; i < samples.Length; i++) + { + samples[i] = i * (_strings.Length / Count); + } + + var entries = new List<(string text, int _)>(); + for (var i = 0; i < samples.Length; i++) + { + entries.Add((_strings[samples[i]], i)); + } + + _linearSearch = new LinearSearchJumpTable(0, -1, entries.ToArray()); + _dictionary = new DictionaryJumpTable(0, -1, entries.ToArray()); + } + + // This baseline is similar to SingleEntryJumpTable. We just want + // something stable to compare against. + [Benchmark(Baseline = true, OperationsPerInvoke = 100)] + public int Baseline() + { + var strings = _strings; + var segments = _segments; + + var destination = 0; + for (var i = 0; i < strings.Length; i++) + { + var @string = strings[i]; + var segment = segments[i]; + + destination = segment.Length == 0 ? -1 : + segment.Length != @string.Length ? 1 : + string.Compare( + @string, + segment.Start, + @string, + 0, + @string.Length, + StringComparison.OrdinalIgnoreCase); + } + + return destination; + } + + [Benchmark(OperationsPerInvoke = 100)] + public int LinearSearch() + { + var strings = _strings; + var segments = _segments; + + var destination = 0; + for (var i = 0; i < strings.Length; i++) + { + destination = _linearSearch.GetDestination(strings[i], segments[i]); + } + + return destination; + } + + [Benchmark(OperationsPerInvoke = 100)] + public int Dictionary() + { + var strings = _strings; + var segments = _segments; + + var destination = 0; + for (var i = 0; i < strings.Length; i++) + { + destination = _dictionary.GetDestination(strings[i], segments[i]); + } + + return destination; + } + + private static string[] GetStrings(int count) + { + var strings = new string[count]; + for (var i = 0; i < count; i++) + { + var guid = Guid.NewGuid().ToString(); + + // Between 5 and 36 characters + var text = guid.Substring(0, Math.Max(5, Math.Min(count, 36))); + if (char.IsDigit(text[0])) + { + // Convert first character to a letter. + text = ((char)(text[0] + ('G' - '0'))) + text.Substring(1); + } + + if (i % 2 == 0) + { + // Lowercase half of them + text = text.ToLowerInvariant(); + } + + strings[i] = text; + } + + return strings; + } + } +} diff --git a/benchmarks/Microsoft.AspNetCore.Routing.Performance/Matchers/JumpTableSingleEntryBenchmark.cs b/benchmarks/Microsoft.AspNetCore.Routing.Performance/Matchers/JumpTableSingleEntryBenchmark.cs new file mode 100644 index 0000000000..0ab4bf3380 --- /dev/null +++ b/benchmarks/Microsoft.AspNetCore.Routing.Performance/Matchers/JumpTableSingleEntryBenchmark.cs @@ -0,0 +1,78 @@ +// Copyright (c) .NET Foundation. All rights reserved. +// Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information. + +using System; +using BenchmarkDotNet.Attributes; + +namespace Microsoft.AspNetCore.Routing.Matchers +{ + public class JumpTableSingleEntryBenchmark + { + private JumpTable _table; + private string[] _strings; + private PathSegment[] _segments; + + [GlobalSetup] + public void Setup() + { + _table = new SingleEntryJumpTable(0, -1, "hello-world", 1); + _strings = new string[] + { + "index/foo/2", + "index/hello-world1/2", + "index/hello-world/2", + "index//2", + "index/hillo-goodbye/2", + }; + _segments = new PathSegment[] + { + new PathSegment(6, 3), + new PathSegment(6, 12), + new PathSegment(6, 11), + new PathSegment(6, 0), + new PathSegment(6, 13), + }; + } + + [Benchmark(Baseline = true, OperationsPerInvoke = 5)] + public int Baseline() + { + var strings = _strings; + var segments = _segments; + + var destination = 0; + for (var i = 0; i < strings.Length; i++) + { + var @string = strings[i]; + var segment = segments[i]; + + destination = segment.Length == 0 ? -1 : + segment.Length != 11 ? 1 : + string.Compare( + @string, + segment.Start, + "hello-world", + 0, + segment.Length, + StringComparison.OrdinalIgnoreCase); + } + + return destination; + } + + [Benchmark(OperationsPerInvoke = 5)] + public int Implementation() + { + var strings = _strings; + var segments = _segments; + + var destination = 0; + for (var i = 0; i < strings.Length; i++) + { + destination = _table.GetDestination(strings[i], segments[i]); + } + + return destination; + } + } +} diff --git a/benchmarks/Microsoft.AspNetCore.Routing.Performance/Matchers/JumpTableZeroEntryBenchmark.cs b/benchmarks/Microsoft.AspNetCore.Routing.Performance/Matchers/JumpTableZeroEntryBenchmark.cs new file mode 100644 index 0000000000..d14771e36f --- /dev/null +++ b/benchmarks/Microsoft.AspNetCore.Routing.Performance/Matchers/JumpTableZeroEntryBenchmark.cs @@ -0,0 +1,66 @@ +// Copyright (c) .NET Foundation. All rights reserved. +// Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information. + +using BenchmarkDotNet.Attributes; + +namespace Microsoft.AspNetCore.Routing.Matchers +{ + public class JumpTableZeroEntryBenchmark + { + private JumpTable _table; + private string[] _strings; + private PathSegment[] _segments; + + [GlobalSetup] + public void Setup() + { + _table = new ZeroEntryJumpTable(0, -1); + _strings = new string[] + { + "index/foo/2", + "index/hello-world1/2", + "index/hello-world/2", + "index//2", + "index/hillo-goodbye/2", + }; + _segments = new PathSegment[] + { + new PathSegment(6, 3), + new PathSegment(6, 12), + new PathSegment(6, 11), + new PathSegment(6, 0), + new PathSegment(6, 13), + }; + } + + [Benchmark(Baseline=true, OperationsPerInvoke = 5)] + public int Baseline() + { + var strings = _strings; + var segments = _segments; + + var destination = 0; + for (var i = 0; i < strings.Length; i++) + { + destination = segments[i].Length == 0 ? -1 : 0; + } + + return destination; + } + + [Benchmark(OperationsPerInvoke = 5)] + public int Implementation() + { + var strings = _strings; + var segments = _segments; + + var destination = 0; + for (var i = 0; i < strings.Length; i++) + { + destination = _table.GetDestination(strings[i], segments[i]); + } + + return destination; + } + } +} diff --git a/src/Microsoft.AspNetCore.Routing/Matchers/DictionaryJumpTable.cs b/src/Microsoft.AspNetCore.Routing/Matchers/DictionaryJumpTable.cs new file mode 100644 index 0000000000..2fe734ed3f --- /dev/null +++ b/src/Microsoft.AspNetCore.Routing/Matchers/DictionaryJumpTable.cs @@ -0,0 +1,68 @@ +// Copyright (c) .NET Foundation. All rights reserved. +// Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information. + +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; + +namespace Microsoft.AspNetCore.Routing.Matchers +{ + internal class DictionaryJumpTable : JumpTable + { + private readonly int _defaultDestination; + private readonly int _exitDestination; + private readonly Dictionary _dictionary; + + public DictionaryJumpTable( + int defaultDestination, + int exitDestination, + (string text, int destination)[] entries) + { + _defaultDestination = defaultDestination; + _exitDestination = exitDestination; + + _dictionary = new Dictionary(StringComparer.OrdinalIgnoreCase); + for (var i = 0; i < entries.Length; i++) + { + _dictionary.Add(entries[i].text, entries[i].destination); + } + } + + public override int GetDestination(string path, PathSegment segment) + { + if (segment.Length == 0) + { + return _exitDestination; + } + + var text = path.Substring(segment.Start, segment.Length); + if (_dictionary.TryGetValue(text, out var destination)) + { + return destination; + } + + return _defaultDestination; + } + + public override string DebuggerToString() + { + var builder = new StringBuilder(); + builder.Append("{ "); + + builder.Append(string.Join(", ", _dictionary.Select(kvp => $"{kvp.Key}: {kvp.Value}"))); + + builder.Append("$+: "); + builder.Append(_defaultDestination); + builder.Append(", "); + + builder.Append("$0: "); + builder.Append(_defaultDestination); + + builder.Append(" }"); + + + return builder.ToString(); + } + } +} diff --git a/src/Microsoft.AspNetCore.Routing/Matchers/JumpTable.cs b/src/Microsoft.AspNetCore.Routing/Matchers/JumpTable.cs new file mode 100644 index 0000000000..781ae4d0d9 --- /dev/null +++ b/src/Microsoft.AspNetCore.Routing/Matchers/JumpTable.cs @@ -0,0 +1,18 @@ +// Copyright (c) .NET Foundation. All rights reserved. +// Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information. + +using System.Diagnostics; + +namespace Microsoft.AspNetCore.Routing.Matchers +{ + [DebuggerDisplay("{DebuggerToString(),nq}")] + internal abstract class JumpTable + { + public abstract int GetDestination(string path, PathSegment segment); + + public virtual string DebuggerToString() + { + return GetType().Name; + } + } +} diff --git a/src/Microsoft.AspNetCore.Routing/Matchers/JumpTableBuilder.cs b/src/Microsoft.AspNetCore.Routing/Matchers/JumpTableBuilder.cs new file mode 100644 index 0000000000..bf2b4ca340 --- /dev/null +++ b/src/Microsoft.AspNetCore.Routing/Matchers/JumpTableBuilder.cs @@ -0,0 +1,62 @@ +// Copyright (c) .NET Foundation. All rights reserved. +// Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information. + +using System; +using System.Collections.Generic; + +namespace Microsoft.AspNetCore.Routing.Matchers +{ + internal class JumpTableBuilder + { + public static readonly int InvalidDestination = -1; + + private readonly List<(string text, int destination)> _entries = new List<(string text, int destination)>(); + + // The destination state when none of the text entries match. + public int DefaultDestination { get; set; } = InvalidDestination; + + // The destination state for a zero-length segment. This is a special + // case because parameters don't match a zero-length segment. + public int ExitDestination { get; set; } = InvalidDestination; + + public void AddEntry(string text, int destination) + { + _entries.Add((text, destination)); + } + + public JumpTable Build() + { + if (DefaultDestination == InvalidDestination) + { + var message = $"{nameof(DefaultDestination)} is not set. Please report this as a bug."; + throw new InvalidOperationException(message); + } + + if (ExitDestination == InvalidDestination) + { + var message = $"{nameof(ExitDestination)} is not set. Please report this as a bug."; + throw new InvalidOperationException(message); + } + + // The JumpTable implementation is chosen based on the number of entries. Right + // now this is simple and minimal. + if (_entries.Count == 0) + { + return new ZeroEntryJumpTable(DefaultDestination, ExitDestination); + } + + if (_entries.Count == 1) + { + var entry = _entries[0]; + return new SingleEntryJumpTable(DefaultDestination, ExitDestination, entry.text, entry.destination); + } + + if (_entries.Count < 10) + { + return new LinearSearchJumpTable(DefaultDestination, ExitDestination, _entries.ToArray()); + } + + return new DictionaryJumpTable(DefaultDestination, ExitDestination, _entries.ToArray()); + } + } +} diff --git a/src/Microsoft.AspNetCore.Routing/Matchers/LinearSearchJumpTable.cs b/src/Microsoft.AspNetCore.Routing/Matchers/LinearSearchJumpTable.cs new file mode 100644 index 0000000000..015c168d19 --- /dev/null +++ b/src/Microsoft.AspNetCore.Routing/Matchers/LinearSearchJumpTable.cs @@ -0,0 +1,72 @@ +// Copyright (c) .NET Foundation. All rights reserved. +// Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information. + +using System; +using System.Linq; +using System.Text; + +namespace Microsoft.AspNetCore.Routing.Matchers +{ + internal class LinearSearchJumpTable : JumpTable + { + private readonly int _defaultDestination; + private readonly int _exitDestination; + private readonly (string text, int destination)[] _entries; + + public LinearSearchJumpTable( + int defaultDestination, + int exitDestination, + (string text, int destination)[] entries) + { + _defaultDestination = defaultDestination; + _exitDestination = exitDestination; + _entries = entries; + } + + public override int GetDestination(string path, PathSegment segment) + { + if (segment.Length == 0) + { + return _exitDestination; + } + + var entries = _entries; + for (var i = 0; i < entries.Length; i++) + { + var text = entries[i].text; + if (segment.Length == text.Length && + string.Compare( + path, + segment.Start, + text, + 0, + segment.Length, + StringComparison.OrdinalIgnoreCase) == 0) + { + return entries[i].destination; + } + } + + return _defaultDestination; + } + + public override string DebuggerToString() + { + var builder = new StringBuilder(); + builder.Append("{ "); + + builder.Append(string.Join(", ", _entries.Select(e => $"{e.text}: {e.destination}"))); + + builder.Append("$+: "); + builder.Append(_defaultDestination); + builder.Append(", "); + + builder.Append("$0: "); + builder.Append(_defaultDestination); + + builder.Append(" }"); + + return builder.ToString(); + } + } +} diff --git a/src/Microsoft.AspNetCore.Routing/Matchers/SingleEntryJumpTable.cs b/src/Microsoft.AspNetCore.Routing/Matchers/SingleEntryJumpTable.cs new file mode 100644 index 0000000000..d49513c509 --- /dev/null +++ b/src/Microsoft.AspNetCore.Routing/Matchers/SingleEntryJumpTable.cs @@ -0,0 +1,54 @@ +// Copyright (c) .NET Foundation. All rights reserved. +// Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information. + +using System; + +namespace Microsoft.AspNetCore.Routing.Matchers +{ + internal class SingleEntryJumpTable : JumpTable + { + private readonly int _defaultDestination; + private readonly int _exitDestination; + private readonly string _text; + private readonly int _destination; + + public SingleEntryJumpTable( + int defaultDestination, + int exitDestination, + string text, + int destination) + { + _defaultDestination = defaultDestination; + _exitDestination = exitDestination; + _text = text; + _destination = destination; + } + + public override int GetDestination(string path, PathSegment segment) + { + if (segment.Length == 0) + { + return _exitDestination; + } + + if (segment.Length == _text.Length && + string.Compare( + path, + segment.Start, + _text, + 0, + segment.Length, + StringComparison.OrdinalIgnoreCase) == 0) + { + return _destination; + } + + return _defaultDestination; + } + + public override string DebuggerToString() + { + return $"{{ {_text}: {_destination}, $+: {_defaultDestination}, $0: {_exitDestination} }}"; + } + } +} diff --git a/src/Microsoft.AspNetCore.Routing/Matchers/ZeroEntryJumpTable.cs b/src/Microsoft.AspNetCore.Routing/Matchers/ZeroEntryJumpTable.cs new file mode 100644 index 0000000000..a809801a9f --- /dev/null +++ b/src/Microsoft.AspNetCore.Routing/Matchers/ZeroEntryJumpTable.cs @@ -0,0 +1,27 @@ +// Copyright (c) .NET Foundation. All rights reserved. +// Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information. + +namespace Microsoft.AspNetCore.Routing.Matchers +{ + internal class ZeroEntryJumpTable : JumpTable + { + private readonly int _defaultDestination; + private readonly int _exitDestination; + + public ZeroEntryJumpTable(int defaultDestination, int exitDestination) + { + _defaultDestination = defaultDestination; + _exitDestination = exitDestination; + } + + public unsafe override int GetDestination(string path, PathSegment segment) + { + return segment.Length == 0 ? _exitDestination : _defaultDestination; + } + + public override string DebuggerToString() + { + return $"{{ $+: {_defaultDestination}, $0: {_exitDestination} }}"; + } + } +} diff --git a/test/Microsoft.AspNetCore.Routing.Tests/Matchers/DfaMatcher.cs b/test/Microsoft.AspNetCore.Routing.Tests/Matchers/DfaMatcher.cs index ce28cdd643..58808ab857 100644 --- a/test/Microsoft.AspNetCore.Routing.Tests/Matchers/DfaMatcher.cs +++ b/test/Microsoft.AspNetCore.Routing.Tests/Matchers/DfaMatcher.cs @@ -38,7 +38,7 @@ namespace Microsoft.AspNetCore.Routing.Matchers for (var i = 0; i < count; i++) { - current = states[current].Transitions.GetDestination(buffer, i, path); + current = states[current].Transitions.GetDestination(path, buffer[i]); } var matches = new List<(Endpoint, RouteValueDictionary)>(); @@ -88,64 +88,5 @@ namespace Microsoft.AspNetCore.Routing.Matchers public Endpoint Endpoint; public string[] Parameters; } - - public abstract class JumpTable - { - public unsafe abstract int GetDestination(PathSegment* segments, int depth, string path); - } - - public class JumpTableBuilder - { - private readonly List<(string text, int destination)> _entries = new List<(string text, int destination)>(); - - public int Depth { get; set; } - - public int Exit { get; set; } - - public void AddEntry(string text, int destination) - { - _entries.Add((text, destination)); - } - - public JumpTable Build() - { - return new SimpleJumpTable(Depth, Exit, _entries.ToArray()); - } - } - - private class SimpleJumpTable : JumpTable - { - private readonly (string text, int destination)[] _entries; - private readonly int _depth; - private readonly int _exit; - - public SimpleJumpTable(int depth, int exit, (string text, int destination)[] entries) - { - _depth = depth; - _exit = exit; - _entries = entries; - } - - public unsafe override int GetDestination(PathSegment* segments, int depth, string path) - { - for (var i = 0; i < _entries.Length; i++) - { - var segment = segments[depth]; - if (segment.Length == _entries[i].text.Length && - string.Compare( - path, - segment.Start, - _entries[i].text, - 0, - segment.Length, - StringComparison.OrdinalIgnoreCase) == 0) - { - return _entries[i].destination; - } - } - - return _exit; - } - } } } diff --git a/test/Microsoft.AspNetCore.Routing.Tests/Matchers/DfaMatcherBuilder.cs b/test/Microsoft.AspNetCore.Routing.Tests/Matchers/DfaMatcherBuilder.cs index 95b0a2b98a..092aa8b96b 100644 --- a/test/Microsoft.AspNetCore.Routing.Tests/Matchers/DfaMatcherBuilder.cs +++ b/test/Microsoft.AspNetCore.Routing.Tests/Matchers/DfaMatcherBuilder.cs @@ -109,13 +109,18 @@ namespace Microsoft.AspNetCore.Routing.Matchers var exit = states.Count; states.Add(new State() { IsAccepting = false, Matches = Array.Empty(), }); - tables.Add(new JumpTableBuilder() { Exit = exit, }); + tables.Add(new JumpTableBuilder() { DefaultDestination = exit, ExitDestination = exit, }); for (var i = 0; i < tables.Count; i++) { - if (tables[i].Exit == -1) + if (tables[i].DefaultDestination == JumpTableBuilder.InvalidDestination) { - tables[i].Exit = exit; + tables[i].DefaultDestination = exit; + } + + if (tables[i].ExitDestination == JumpTableBuilder.InvalidDestination) + { + tables[i].ExitDestination = exit; } } @@ -158,7 +163,7 @@ namespace Microsoft.AspNetCore.Routing.Matchers IsAccepting = node.Matches.Count > 0, }); - var table = new JumpTableBuilder() { Depth = node.Depth, }; + var table = new JumpTableBuilder(); tables.Add(table); foreach (var kvp in node.Literals) @@ -172,13 +177,13 @@ namespace Microsoft.AspNetCore.Routing.Matchers table.AddEntry(kvp.Key, transition); } - var exitIndex = -1; + var defaultIndex = -1; if (node.Literals.TryGetValue("*", out var exit)) { - exitIndex = AddNode(exit, states, tables); + defaultIndex = AddNode(exit, states, tables); } - table.Exit = exitIndex; + table.DefaultDestination = defaultIndex; return index; } diff --git a/test/Microsoft.AspNetCore.Routing.Tests/Matchers/DictionaryJumpTableTest.cs b/test/Microsoft.AspNetCore.Routing.Tests/Matchers/DictionaryJumpTableTest.cs new file mode 100644 index 0000000000..17ac621637 --- /dev/null +++ b/test/Microsoft.AspNetCore.Routing.Tests/Matchers/DictionaryJumpTableTest.cs @@ -0,0 +1,16 @@ +// Copyright (c) .NET Foundation. All rights reserved. +// Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information. + +namespace Microsoft.AspNetCore.Routing.Matchers +{ + public class DictionaryJumpTableTest : MultipleEntryJumpTableTest + { + internal override JumpTable CreateTable( + int defaultDestination, + int exitDestination, + params (string text, int destination)[] entries) + { + return new DictionaryJumpTable(defaultDestination, exitDestination, entries); + } + } +} diff --git a/test/Microsoft.AspNetCore.Routing.Tests/Matchers/LinearSearchJumpTableTest.cs b/test/Microsoft.AspNetCore.Routing.Tests/Matchers/LinearSearchJumpTableTest.cs new file mode 100644 index 0000000000..aa32a9b6e9 --- /dev/null +++ b/test/Microsoft.AspNetCore.Routing.Tests/Matchers/LinearSearchJumpTableTest.cs @@ -0,0 +1,17 @@ +// Copyright (c) .NET Foundation. All rights reserved. +// Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information. + + +namespace Microsoft.AspNetCore.Routing.Matchers +{ + public class LinearSearchJumpTableTest : MultipleEntryJumpTableTest + { + internal override JumpTable CreateTable( + int defaultDestination, + int existDestination, + params (string text, int destination)[] entries) + { + return new LinearSearchJumpTable(defaultDestination, existDestination, entries); + } + } +} diff --git a/test/Microsoft.AspNetCore.Routing.Tests/Matchers/MultipleEntryJumpTableTest.cs b/test/Microsoft.AspNetCore.Routing.Tests/Matchers/MultipleEntryJumpTableTest.cs new file mode 100644 index 0000000000..81351c3c54 --- /dev/null +++ b/test/Microsoft.AspNetCore.Routing.Tests/Matchers/MultipleEntryJumpTableTest.cs @@ -0,0 +1,80 @@ +// Copyright (c) .NET Foundation. All rights reserved. +// Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information. + +using Xunit; + +namespace Microsoft.AspNetCore.Routing.Matchers +{ + public abstract class MultipleEntryJumpTableTest + { + internal abstract JumpTable CreateTable( + int defaultDestination, + int exitDestination, + params (string text, int destination)[] entries); + + [Fact] + public void GetDestination_ZeroLengthSegment_JumpsToExit() + { + // Arrange + var table = CreateTable(0, 1, ("text", 2)); + + // Act + var result = table.GetDestination("ignored", new PathSegment(0, 0)); + + // Assert + Assert.Equal(1, result); + } + + [Fact] + public void GetDestination_NonMatchingSegment_JumpsToDefault() + { + // Arrange + var table = CreateTable(0, 1, ("text", 2)); + + // Act + var result = table.GetDestination("text", new PathSegment(1, 2)); + + // Assert + Assert.Equal(0, result); + } + + [Fact] + public void GetDestination_SegmentMatchingText_JumpsToDestination() + { + // Arrange + var table = CreateTable(0, 1, ("text", 2)); + + // Act + var result = table.GetDestination("some-text", new PathSegment(5, 4)); + + // Assert + Assert.Equal(2, result); + } + + [Fact] + public void GetDestination_SegmentMatchingTextIgnoreCase_JumpsToDestination() + { + // Arrange + var table = CreateTable(0, 1, ("text", 2)); + + // Act + var result = table.GetDestination("some-tExt", new PathSegment(5, 4)); + + // Assert + Assert.Equal(2, result); + } + + [Fact] + public void GetDestination_SegmentMatchingTextIgnoreCase_MultipleEntries() + { + // Arrange + var table = CreateTable(0, 1, ("tezt", 2), ("text", 3)); + + // Act + var result = table.GetDestination("some-tExt", new PathSegment(5, 4)); + + // Assert + Assert.Equal(3, result); + } + } +} diff --git a/test/Microsoft.AspNetCore.Routing.Tests/Matchers/SingleEntryJumpTableTest.cs b/test/Microsoft.AspNetCore.Routing.Tests/Matchers/SingleEntryJumpTableTest.cs new file mode 100644 index 0000000000..b9015e0a48 --- /dev/null +++ b/test/Microsoft.AspNetCore.Routing.Tests/Matchers/SingleEntryJumpTableTest.cs @@ -0,0 +1,62 @@ +// Copyright (c) .NET Foundation. All rights reserved. +// Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information. + +using Xunit; + +namespace Microsoft.AspNetCore.Routing.Matchers +{ + public class SingleEntryJumpTableTest + { + [Fact] + public void GetDestination_ZeroLengthSegment_JumpsToExit() + { + // Arrange + var table = new SingleEntryJumpTable(0, 1, "text", 2); + + // Act + var result = table.GetDestination("ignored", new PathSegment(0, 0)); + + // Assert + Assert.Equal(1, result); + } + + [Fact] + public void GetDestination_NonMatchingSegment_JumpsToDefault() + { + // Arrange + var table = new SingleEntryJumpTable(0, 1, "text", 2); + + // Act + var result = table.GetDestination("text", new PathSegment(1, 2)); + + // Assert + Assert.Equal(0, result); + } + + [Fact] + public void GetDestination_SegmentMatchingText_JumpsToDestination() + { + // Arrange + var table = new SingleEntryJumpTable(0, 1, "text", 2); + + // Act + var result = table.GetDestination("some-text", new PathSegment(5, 4)); + + // Assert + Assert.Equal(2, result); + } + + [Fact] + public void GetDestination_SegmentMatchingTextIgnoreCase_JumpsToDestination() + { + // Arrange + var table = new SingleEntryJumpTable(0, 1, "text", 2); + + // Act + var result = table.GetDestination("some-tExt", new PathSegment(5, 4)); + + // Assert + Assert.Equal(2, result); + } + } +} diff --git a/test/Microsoft.AspNetCore.Routing.Tests/Matchers/ZeroEntryJumpTableTest.cs b/test/Microsoft.AspNetCore.Routing.Tests/Matchers/ZeroEntryJumpTableTest.cs new file mode 100644 index 0000000000..1da7f33f84 --- /dev/null +++ b/test/Microsoft.AspNetCore.Routing.Tests/Matchers/ZeroEntryJumpTableTest.cs @@ -0,0 +1,36 @@ +// Copyright (c) .NET Foundation. All rights reserved. +// Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information. + +using Xunit; + +namespace Microsoft.AspNetCore.Routing.Matchers +{ + public class ZeroEntryJumpTableTest + { + [Fact] + public void GetDestination_ZeroLengthSegment_JumpsToExit() + { + // Arrange + var table = new ZeroEntryJumpTable(0, 1); + + // Act + var result = table.GetDestination("ignored", new PathSegment(0, 0)); + + // Assert + Assert.Equal(1, result); + } + + [Fact] + public void GetDestination_SegmentWithLength_JumpsToDefault() + { + // Arrange + var table = new ZeroEntryJumpTable(0, 1); + + // Act + var result = table.GetDestination("ignored", new PathSegment(0, 1)); + + // Assert + Assert.Equal(0, result); + } + } +} From 1c7f53ae39f28384438122e44c72c9edc8ef857d Mon Sep 17 00:00:00 2001 From: Kiran Challa Date: Thu, 12 Jul 2018 16:00:51 -0700 Subject: [PATCH 062/221] Fix TemplateBinder to consider null and empty string values the same --- .../Template/TemplateBinder.cs | 8 ++- .../Template/TemplateBinderTests.cs | 62 ++++++++++++++++++- 2 files changed, 68 insertions(+), 2 deletions(-) diff --git a/src/Microsoft.AspNetCore.Routing/Template/TemplateBinder.cs b/src/Microsoft.AspNetCore.Routing/Template/TemplateBinder.cs index 802352e935..241705523b 100644 --- a/src/Microsoft.AspNetCore.Routing/Template/TemplateBinder.cs +++ b/src/Microsoft.AspNetCore.Routing/Template/TemplateBinder.cs @@ -375,7 +375,13 @@ namespace Microsoft.AspNetCore.Routing.Template var sa = a as string; var sb = b as string; - if (sa != null && sb != null) + // In case of strings, consider empty and null the same. + // Since null cannot tell us the type, consider it to be a string if the other value is a string. + if ((sa == string.Empty && sb == null) || (sb == string.Empty && sa == null)) + { + return true; + } + else if (sa != null && sb != null) { // For strings do a case-insensitive comparison return string.Equals(sa, sb, StringComparison.OrdinalIgnoreCase); diff --git a/test/Microsoft.AspNetCore.Routing.Tests/Template/TemplateBinderTests.cs b/test/Microsoft.AspNetCore.Routing.Tests/Template/TemplateBinderTests.cs index d4dacaaa6b..c5fd2e7b9e 100644 --- a/test/Microsoft.AspNetCore.Routing.Tests/Template/TemplateBinderTests.cs +++ b/test/Microsoft.AspNetCore.Routing.Tests/Template/TemplateBinderTests.cs @@ -708,7 +708,7 @@ namespace Microsoft.AspNetCore.Routing.Template.Tests } [Fact] - public void TemplateBinder_KeepsExplicitlySuppliedRouteValues_OnFailedRouetMatch() + public void TemplateBinder_KeepsExplicitlySuppliedRouteValues_OnFailedRouteMatch() { // Arrange var template = "{area?}/{controller=Home}/{action=Index}/{id?}"; @@ -1211,6 +1211,8 @@ namespace Microsoft.AspNetCore.Routing.Template.Tests [Theory] [InlineData(null, null, true)] + [InlineData("", null, true)] + [InlineData(null, "", true)] [InlineData("blog", null, false)] [InlineData(null, "store", false)] [InlineData("Cool", "cool", true)] @@ -1228,6 +1230,64 @@ namespace Microsoft.AspNetCore.Routing.Template.Tests } } + [Fact] + public void GetValues_SuccessfullyMatchesRouteValues_ForExplicitEmptyStringValue_AndNullDefault() + { + // Arrange + var expected = "/Home/Index"; + var template = "Home/Index"; + var defaults = new RouteValueDictionary(new { controller = "Home", action = "Index", area = (string)null }); + var ambientValues = new RouteValueDictionary(new { controller = "Rail", action = "Schedule", area = "Travel" }); + var explicitValues = new RouteValueDictionary(new { controller = "Home", action = "Index", area = "" }); + var binder = new TemplateBinder( + UrlEncoder.Default, + new DefaultObjectPoolProvider().Create(new UriBuilderContextPooledObjectPolicy()), + TemplateParser.Parse(template), + defaults); + + // Act1 + var result = binder.GetValues(ambientValues, explicitValues); + + // Assert1 + Assert.NotNull(result); + + // Act2 + var boundTemplate = binder.BindValues(result.AcceptedValues); + + // Assert2 + Assert.NotNull(boundTemplate); + Assert.Equal(expected, boundTemplate); + } + + [Fact] + public void GetValues_SuccessfullyMatchesRouteValues_ForExplicitNullValue_AndEmptyStringDefault() + { + // Arrange + var expected = "/Home/Index"; + var template = "Home/Index"; + var defaults = new RouteValueDictionary(new { controller = "Home", action = "Index", area = "" }); + var ambientValues = new RouteValueDictionary(new { controller = "Rail", action = "Schedule", area = "Travel" }); + var explicitValues = new RouteValueDictionary(new { controller = "Home", action = "Index", area = (string)null }); + var binder = new TemplateBinder( + UrlEncoder.Default, + new DefaultObjectPoolProvider().Create(new UriBuilderContextPooledObjectPolicy()), + TemplateParser.Parse(template), + defaults); + + // Act1 + var result = binder.GetValues(ambientValues, explicitValues); + + // Assert1 + Assert.NotNull(result); + + // Act2 + var boundTemplate = binder.BindValues(result.AcceptedValues); + + // Assert2 + Assert.NotNull(boundTemplate); + Assert.Equal(expected, boundTemplate); + } + private static IInlineConstraintResolver GetInlineConstraintResolver() { var services = new ServiceCollection().AddOptions(); From 42708bec91189765280298317fe6fad774159d1e Mon Sep 17 00:00:00 2001 From: Kiran Challa Date: Fri, 13 Jul 2018 14:18:54 -0700 Subject: [PATCH 063/221] Added support for route constraints in Dispatcher world --- .../Benchmarks/StartupUsingDispatcher.cs | 1 + .../Matchers/MatcherBenchmarkBase.cs | 15 +- .../EndsWithStringMatchProcessor.cs | 40 ++++ samples/DispatcherSample.Web/Startup.cs | 54 ++++- .../DefaultInlineConstraintResolver.cs | 2 +- .../DefaultLinkGenerator.cs | 51 ++++- .../RoutingServiceCollectionExtensions.cs | 3 + .../Internal/NullRouter.cs | 26 +++ .../Matchers/DefaultMatchProcessorFactory.cs | 156 ++++++++++++++ .../Matchers/MatchProcessor.cs | 18 ++ .../Matchers/MatchProcessorBase.cs | 42 ++++ .../Matchers/MatchProcessorFactory.cs | 10 + .../Matchers/MatchProcessorReference.cs | 86 ++++++++ .../Matchers/MatcherEndpoint.cs | 35 ++++ .../Matchers/OptionalMatchProcessor.cs | 44 ++++ .../Matchers/TreeMatcher.cs | 64 +++--- .../Matchers/TreeMatcherFactory.cs | 12 +- .../RouteValuesBasedEndpointFinder.cs | 44 +--- .../DispatcherSampleTest.cs | 68 +++++++ .../DefaultLinkGeneratorTest.cs | 9 +- .../DispatcherMiddlewareTest.cs | 2 - .../EndpointSelectorTests.cs | 6 +- .../DefaultMatchProcessorFactoryTest.cs | 190 ++++++++++++++++++ .../Matchers/MatcherConformanceTest.cs | 2 + .../Matchers/TreeMatcherTests.cs | 16 +- 25 files changed, 886 insertions(+), 110 deletions(-) create mode 100644 samples/DispatcherSample.Web/EndsWithStringMatchProcessor.cs create mode 100644 src/Microsoft.AspNetCore.Routing/Internal/NullRouter.cs create mode 100644 src/Microsoft.AspNetCore.Routing/Matchers/DefaultMatchProcessorFactory.cs create mode 100644 src/Microsoft.AspNetCore.Routing/Matchers/MatchProcessor.cs create mode 100644 src/Microsoft.AspNetCore.Routing/Matchers/MatchProcessorBase.cs create mode 100644 src/Microsoft.AspNetCore.Routing/Matchers/MatchProcessorFactory.cs create mode 100644 src/Microsoft.AspNetCore.Routing/Matchers/MatchProcessorReference.cs create mode 100644 src/Microsoft.AspNetCore.Routing/Matchers/OptionalMatchProcessor.cs create mode 100644 test/Microsoft.AspNetCore.Routing.Tests/Matchers/DefaultMatchProcessorFactoryTest.cs diff --git a/benchmarkapps/Benchmarks/StartupUsingDispatcher.cs b/benchmarkapps/Benchmarks/StartupUsingDispatcher.cs index 153b6e42cc..1351a20689 100644 --- a/benchmarkapps/Benchmarks/StartupUsingDispatcher.cs +++ b/benchmarkapps/Benchmarks/StartupUsingDispatcher.cs @@ -34,6 +34,7 @@ namespace Benchmarks template: "/plaintext", defaults: new RouteValueDictionary(), requiredValues: new RouteValueDictionary(), + nonInlineMatchProcessorReferences: null, order: 0, metadata: EndpointMetadataCollection.Empty, displayName: "Plaintext"), diff --git a/benchmarks/Microsoft.AspNetCore.Routing.Performance/Matchers/MatcherBenchmarkBase.cs b/benchmarks/Microsoft.AspNetCore.Routing.Performance/Matchers/MatcherBenchmarkBase.cs index 1ab67c9235..2e10ed2397 100644 --- a/benchmarks/Microsoft.AspNetCore.Routing.Performance/Matchers/MatcherBenchmarkBase.cs +++ b/benchmarks/Microsoft.AspNetCore.Routing.Performance/Matchers/MatcherBenchmarkBase.cs @@ -34,13 +34,14 @@ namespace Microsoft.AspNetCore.Routing.Matchers } return new MatcherEndpoint( - (next) => (context) => Task.CompletedTask, - template, - new RouteValueDictionary(), - new RouteValueDictionary(), - 0, - new EndpointMetadataCollection(metadata), - template); + (next) => (context) => Task.CompletedTask, + template, + new RouteValueDictionary(), + new RouteValueDictionary(), + new List(), + 0, + EndpointMetadataCollection.Empty, + template); } internal static int[] SampleRequests(int endpointCount, int count) diff --git a/samples/DispatcherSample.Web/EndsWithStringMatchProcessor.cs b/samples/DispatcherSample.Web/EndsWithStringMatchProcessor.cs new file mode 100644 index 0000000000..7284dc6d66 --- /dev/null +++ b/samples/DispatcherSample.Web/EndsWithStringMatchProcessor.cs @@ -0,0 +1,40 @@ +// Copyright (c) .NET Foundation. All rights reserved. +// Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information. + +using System; +using System.Globalization; +using Microsoft.AspNetCore.Routing.Matchers; +using Microsoft.Extensions.Logging; + +namespace DispatcherSample.Web +{ + internal class EndsWithStringMatchProcessor : MatchProcessorBase + { + private readonly ILogger _logger; + + public EndsWithStringMatchProcessor(ILogger logger) + { + _logger = logger; + } + + public override bool Process(object value) + { + if (value == null) + { + return false; + } + + var valueString = Convert.ToString(value, CultureInfo.InvariantCulture); + + var endsWith = valueString.EndsWith(ConstraintArgument, StringComparison.OrdinalIgnoreCase); + + if (!endsWith) + { + _logger.LogDebug( + $"Parameter '{ParameterName}' with value '{valueString}' does not end with '{ConstraintArgument}'."); + } + + return endsWith; + } + } +} diff --git a/samples/DispatcherSample.Web/Startup.cs b/samples/DispatcherSample.Web/Startup.cs index eca7ab2235..9f8747310f 100644 --- a/samples/DispatcherSample.Web/Startup.cs +++ b/samples/DispatcherSample.Web/Startup.cs @@ -2,8 +2,10 @@ // Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information. using System; +using System.Collections.Generic; using System.Text; using Microsoft.AspNetCore.Builder; +using Microsoft.AspNetCore.Http; using Microsoft.AspNetCore.Routing; using Microsoft.AspNetCore.Routing.Matchers; using Microsoft.Extensions.DependencyInjection; @@ -17,7 +19,13 @@ namespace DispatcherSample.Web public void ConfigureServices(IServiceCollection services) { - services.AddRouting(); + services.AddTransient(); + + services.AddRouting(options => + { + options.ConstraintMap.Add("endsWith", typeof(EndsWithStringMatchProcessor)); + }); + services.AddDispatcher(options => { options.DataSources.Add(new DefaultEndpointDataSource(new[] @@ -31,7 +39,13 @@ namespace DispatcherSample.Web response.ContentLength = payloadLength; return response.Body.WriteAsync(_homePayload, 0, payloadLength); }, - "/", new RouteValueDictionary(), new RouteValueDictionary(), 0, EndpointMetadataCollection.Empty, "Home"), + "/", + new RouteValueDictionary(), + new RouteValueDictionary(), + new List(), + 0, + EndpointMetadataCollection.Empty, + "Home"), new MatcherEndpoint((next) => (httpContext) => { var response = httpContext.Response; @@ -41,7 +55,41 @@ namespace DispatcherSample.Web response.ContentLength = payloadLength; return response.Body.WriteAsync(_helloWorldPayload, 0, payloadLength); }, - "/plaintext", new RouteValueDictionary(), new RouteValueDictionary(), 0, EndpointMetadataCollection.Empty, "Plaintext"), + "/plaintext", + new RouteValueDictionary(), + new RouteValueDictionary(), + new List(), + 0, + EndpointMetadataCollection.Empty, + "Plaintext"), + new MatcherEndpoint((next) => (httpContext) => + { + var response = httpContext.Response; + response.StatusCode = 200; + response.ContentType = "text/plain"; + return response.WriteAsync("WithConstraints"); + }, + "/withconstraints/{id:endsWith(_001)}", + new RouteValueDictionary(), + new RouteValueDictionary(), + new List(), + 0, + EndpointMetadataCollection.Empty, + "withconstraints"), + new MatcherEndpoint((next) => (httpContext) => + { + var response = httpContext.Response; + response.StatusCode = 200; + response.ContentType = "text/plain"; + return response.WriteAsync("withoptionalconstraints"); + }, + "/withoptionalconstraints/{id:endsWith(_001)?}", + new RouteValueDictionary(), + new RouteValueDictionary(), + new List(), + 0, + EndpointMetadataCollection.Empty, + "withoptionalconstraints"), })); }); } diff --git a/src/Microsoft.AspNetCore.Routing/DefaultInlineConstraintResolver.cs b/src/Microsoft.AspNetCore.Routing/DefaultInlineConstraintResolver.cs index 7426516db2..ed58e053ba 100644 --- a/src/Microsoft.AspNetCore.Routing/DefaultInlineConstraintResolver.cs +++ b/src/Microsoft.AspNetCore.Routing/DefaultInlineConstraintResolver.cs @@ -90,7 +90,7 @@ namespace Microsoft.AspNetCore.Routing } } - private static IRouteConstraint CreateConstraint(Type constraintType, string argumentString) + internal static IRouteConstraint CreateConstraint(Type constraintType, string argumentString) { // No arguments - call the default constructor if (argumentString == null) diff --git a/src/Microsoft.AspNetCore.Routing/DefaultLinkGenerator.cs b/src/Microsoft.AspNetCore.Routing/DefaultLinkGenerator.cs index 7efe2cedd8..e5b5f4ea93 100644 --- a/src/Microsoft.AspNetCore.Routing/DefaultLinkGenerator.cs +++ b/src/Microsoft.AspNetCore.Routing/DefaultLinkGenerator.cs @@ -13,15 +13,18 @@ using Microsoft.Extensions.ObjectPool; namespace Microsoft.AspNetCore.Routing { - public class DefaultLinkGenerator : ILinkGenerator + internal class DefaultLinkGenerator : ILinkGenerator { + private readonly MatchProcessorFactory _matchProcessorFactory; private readonly ObjectPool _uriBuildingContextPool; private readonly ILogger _logger; public DefaultLinkGenerator( + MatchProcessorFactory matchProcessorFactory, ObjectPool uriBuildingContextPool, ILogger logger) { + _matchProcessorFactory = matchProcessorFactory; _uriBuildingContextPool = uriBuildingContextPool; _logger = logger; } @@ -61,7 +64,7 @@ namespace Microsoft.AspNetCore.Routing foreach (var endpoint in matcherEndpoints) { - link = GetLink(endpoint.ParsedTemplate, endpoint.Defaults, explicitValues, ambientValues); + link = GetLink(endpoint, explicitValues, ambientValues); if (link != null) { return true; @@ -72,27 +75,55 @@ namespace Microsoft.AspNetCore.Routing } private string GetLink( - RouteTemplate template, - RouteValueDictionary defaults, + MatcherEndpoint endpoint, RouteValueDictionary explicitValues, RouteValueDictionary ambientValues) { var templateBinder = new TemplateBinder( UrlEncoder.Default, _uriBuildingContextPool, - template, - defaults); + endpoint.ParsedTemplate, + endpoint.Defaults); - var values = templateBinder.GetValues(ambientValues, explicitValues); - if (values == null) + var templateValuesResult = templateBinder.GetValues(ambientValues, explicitValues); + if (templateValuesResult == null) { // We're missing one of the required values for this route. return null; } - //TODO: route constraint matching here + if (!Match(endpoint, templateValuesResult.CombinedValues)) + { + return null; + } - return templateBinder.BindValues(values.AcceptedValues); + return templateBinder.BindValues(templateValuesResult.AcceptedValues); + } + + private bool Match(MatcherEndpoint endpoint, RouteValueDictionary routeValues) + { + if (routeValues == null) + { + throw new ArgumentNullException(nameof(routeValues)); + } + + for (var i = 0; i < endpoint.MatchProcessorReferences.Count; i++) + { + var matchProcessorReference = endpoint.MatchProcessorReferences[i]; + var parameter = endpoint.ParsedTemplate.GetParameter(matchProcessorReference.ParameterName); + if (parameter.IsOptional && !routeValues.ContainsKey(parameter.Name)) + { + continue; + } + + var matchProcessor = _matchProcessorFactory.Create(matchProcessorReference); + if (!matchProcessor.ProcessOutbound(httpContext: null, routeValues)) + { + return false; + } + } + + return true; } } } diff --git a/src/Microsoft.AspNetCore.Routing/DependencyInjection/RoutingServiceCollectionExtensions.cs b/src/Microsoft.AspNetCore.Routing/DependencyInjection/RoutingServiceCollectionExtensions.cs index d6883f6c95..18ededc423 100644 --- a/src/Microsoft.AspNetCore.Routing/DependencyInjection/RoutingServiceCollectionExtensions.cs +++ b/src/Microsoft.AspNetCore.Routing/DependencyInjection/RoutingServiceCollectionExtensions.cs @@ -3,7 +3,9 @@ using System; using Microsoft.AspNetCore.Routing; +using Microsoft.AspNetCore.Routing.Constraints; using Microsoft.AspNetCore.Routing.Internal; +using Microsoft.AspNetCore.Routing.Matchers; using Microsoft.AspNetCore.Routing.Tree; using Microsoft.Extensions.DependencyInjection.Extensions; using Microsoft.Extensions.Logging; @@ -28,6 +30,7 @@ namespace Microsoft.Extensions.DependencyInjection throw new ArgumentNullException(nameof(services)); } + services.TryAddSingleton(); services.TryAddTransient(); services.TryAddSingleton>(s => { diff --git a/src/Microsoft.AspNetCore.Routing/Internal/NullRouter.cs b/src/Microsoft.AspNetCore.Routing/Internal/NullRouter.cs new file mode 100644 index 0000000000..9fd1908942 --- /dev/null +++ b/src/Microsoft.AspNetCore.Routing/Internal/NullRouter.cs @@ -0,0 +1,26 @@ +// Copyright (c) .NET Foundation. All rights reserved. +// Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information. + +using System.Threading.Tasks; + +namespace Microsoft.AspNetCore.Routing +{ + internal class NullRouter : IRouter + { + public static readonly NullRouter Instance = new NullRouter(); + + private NullRouter() + { + } + + public VirtualPathData GetVirtualPath(VirtualPathContext context) + { + return null; + } + + public Task RouteAsync(RouteContext context) + { + return Task.CompletedTask; + } + } +} diff --git a/src/Microsoft.AspNetCore.Routing/Matchers/DefaultMatchProcessorFactory.cs b/src/Microsoft.AspNetCore.Routing/Matchers/DefaultMatchProcessorFactory.cs new file mode 100644 index 0000000000..5226683626 --- /dev/null +++ b/src/Microsoft.AspNetCore.Routing/Matchers/DefaultMatchProcessorFactory.cs @@ -0,0 +1,156 @@ +// Copyright (c) .NET Foundation. All rights reserved. +// Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information. + +using System; +using Microsoft.Extensions.DependencyInjection; +using Microsoft.Extensions.Logging; +using Microsoft.Extensions.Options; + +namespace Microsoft.AspNetCore.Routing.Matchers +{ + internal class DefaultMatchProcessorFactory : MatchProcessorFactory + { + private readonly RouteOptions _options; + private readonly ILogger _logger; + private readonly IServiceProvider _serviceProvider; + + public DefaultMatchProcessorFactory( + IOptions options, + ILogger logger, + IServiceProvider serviceProvider) + { + _options = options.Value; + _logger = logger; + _serviceProvider = serviceProvider; + } + + public override MatchProcessor Create(MatchProcessorReference matchProcessorReference) + { + if (matchProcessorReference == null) + { + throw new ArgumentNullException(nameof(matchProcessorReference)); + } + + if (matchProcessorReference.MatchProcessor != null) + { + return matchProcessorReference.MatchProcessor; + } + + // Example: + // {productId:regex(\d+)} + // + // ParameterName: productId + // ConstraintText: regex(\d+) + // ConstraintName: regex + // ConstraintArgument: \d+ + + (var constraintName, var constraintArgument) = Parse(matchProcessorReference.ConstraintText); + + if (!_options.ConstraintMap.TryGetValue(constraintName, out var constraintType)) + { + throw new InvalidOperationException( + $"No constraint has been registered with name '{constraintName}'."); + } + + var processor = ResolveMatchProcessor( + matchProcessorReference.ParameterName, + matchProcessorReference.Optional, + constraintType, + constraintArgument); + + if (processor != null) + { + return processor; + } + + if (!typeof(IRouteConstraint).IsAssignableFrom(constraintType)) + { + throw new InvalidOperationException( + Resources.FormatDefaultInlineConstraintResolver_TypeNotConstraint( + constraintType, constraintName, typeof(IRouteConstraint).Name)); + } + + try + { + return CreateMatchProcessorFromRouteConstraint( + matchProcessorReference.ParameterName, + constraintType, + constraintArgument); + } + catch (RouteCreationException) + { + throw; + } + catch (Exception exception) + { + throw new InvalidOperationException( + $"An error occurred while trying to create an instance of route constraint '{constraintType.FullName}'.", + exception); + } + } + + private MatchProcessor CreateMatchProcessorFromRouteConstraint( + string parameterName, + Type constraintType, + string constraintArgument) + { + var routeConstraint = DefaultInlineConstraintResolver.CreateConstraint(constraintType, constraintArgument); + return (new MatchProcessorReference(parameterName, routeConstraint)).MatchProcessor; + } + + private MatchProcessor ResolveMatchProcessor( + string parameterName, + bool optional, + Type constraintType, + string constraintArgument) + { + if (constraintType == null) + { + throw new ArgumentNullException(nameof(constraintType)); + } + + if (!typeof(MatchProcessor).IsAssignableFrom(constraintType)) + { + // Since a constraint type could be of type IRouteConstraint, do not throw + return null; + } + + var registeredProcessor = _serviceProvider.GetRequiredService(constraintType); + if (registeredProcessor is MatchProcessor matchProcessor) + { + if (optional) + { + matchProcessor = new OptionalMatchProcessor(matchProcessor); + } + + matchProcessor.Initialize(parameterName, constraintArgument); + return matchProcessor; + } + else + { + throw new InvalidOperationException( + $"Registered constraint type '{constraintType}' is not of type '{typeof(MatchProcessor)}'."); + } + } + + private (string constraintName, string constraintArgument) Parse(string constraintText) + { + string constraintName; + string constraintArgument; + var indexOfFirstOpenParens = constraintText.IndexOf('('); + if (indexOfFirstOpenParens >= 0 && constraintText.EndsWith(")", StringComparison.Ordinal)) + { + constraintName = constraintText.Substring(0, indexOfFirstOpenParens); + constraintArgument = constraintText.Substring( + indexOfFirstOpenParens + 1, + constraintText.Length - indexOfFirstOpenParens - 2); + } + else + { + constraintName = constraintText; + constraintArgument = null; + } + return (constraintName, constraintArgument); + } + } +} diff --git a/src/Microsoft.AspNetCore.Routing/Matchers/MatchProcessor.cs b/src/Microsoft.AspNetCore.Routing/Matchers/MatchProcessor.cs new file mode 100644 index 0000000000..065ccd8e9b --- /dev/null +++ b/src/Microsoft.AspNetCore.Routing/Matchers/MatchProcessor.cs @@ -0,0 +1,18 @@ +// Copyright (c) .NET Foundation. All rights reserved. +// Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information. + +using Microsoft.AspNetCore.Http; + +namespace Microsoft.AspNetCore.Routing.Matchers +{ + public abstract class MatchProcessor + { + public virtual void Initialize(string parameterName, string constraintArgument) + { + } + + public abstract bool ProcessInbound(HttpContext httpContext, RouteValueDictionary values); + + public abstract bool ProcessOutbound(HttpContext httpContext, RouteValueDictionary values); + } +} diff --git a/src/Microsoft.AspNetCore.Routing/Matchers/MatchProcessorBase.cs b/src/Microsoft.AspNetCore.Routing/Matchers/MatchProcessorBase.cs new file mode 100644 index 0000000000..d3f9db3811 --- /dev/null +++ b/src/Microsoft.AspNetCore.Routing/Matchers/MatchProcessorBase.cs @@ -0,0 +1,42 @@ +// Copyright (c) .NET Foundation. All rights reserved. +// Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information. + +using Microsoft.AspNetCore.Http; + +namespace Microsoft.AspNetCore.Routing.Matchers +{ + public abstract class MatchProcessorBase : MatchProcessor + { + public string ParameterName { get; private set; } + + public string ConstraintArgument { get; private set; } + + public override void Initialize(string parameterName, string constraintArgument) + { + ParameterName = parameterName; + ConstraintArgument = constraintArgument; + } + + public abstract bool Process(object value); + + public override bool ProcessInbound(HttpContext httpContext, RouteValueDictionary values) + { + return Process(values); + } + + public override bool ProcessOutbound(HttpContext httpContext, RouteValueDictionary values) + { + return Process(values); + } + + private bool Process(RouteValueDictionary values) + { + if (!values.TryGetValue(ParameterName, out var value) || value == null) + { + return false; + } + + return Process(value); + } + } +} diff --git a/src/Microsoft.AspNetCore.Routing/Matchers/MatchProcessorFactory.cs b/src/Microsoft.AspNetCore.Routing/Matchers/MatchProcessorFactory.cs new file mode 100644 index 0000000000..95624ea420 --- /dev/null +++ b/src/Microsoft.AspNetCore.Routing/Matchers/MatchProcessorFactory.cs @@ -0,0 +1,10 @@ +// Copyright (c) .NET Foundation. All rights reserved. +// Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information. + +namespace Microsoft.AspNetCore.Routing.Matchers +{ + internal abstract class MatchProcessorFactory + { + public abstract MatchProcessor Create(MatchProcessorReference matchProcessorReference); + } +} diff --git a/src/Microsoft.AspNetCore.Routing/Matchers/MatchProcessorReference.cs b/src/Microsoft.AspNetCore.Routing/Matchers/MatchProcessorReference.cs new file mode 100644 index 0000000000..6266bb22e1 --- /dev/null +++ b/src/Microsoft.AspNetCore.Routing/Matchers/MatchProcessorReference.cs @@ -0,0 +1,86 @@ +// Copyright (c) .NET Foundation. All rights reserved. +// Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information. + +using Microsoft.AspNetCore.Http; + +namespace Microsoft.AspNetCore.Routing.Matchers +{ + public sealed class MatchProcessorReference + { + // Example: + // api/products/{productId:regex(\d+)} + // + // ParameterName = productId + // ConstraintText = regex(\d+) + // ConstraintArgument = \d+ + + public MatchProcessorReference(string parameterName, string constraintText) + { + ParameterName = parameterName; + ConstraintText = constraintText; + } + + public MatchProcessorReference(string parameterName, bool optional, string constraintText) + { + ParameterName = parameterName; + Optional = optional; + ConstraintText = constraintText; + } + + public MatchProcessorReference(string parameterName, MatchProcessor matchProcessor) + { + ParameterName = parameterName; + MatchProcessor = matchProcessor; + } + + internal MatchProcessor MatchProcessor { get; private set; } + + internal string ConstraintText { get; private set; } + + internal string ParameterName { get; private set; } + + internal bool Optional { get; private set; } + + public MatchProcessorReference(string parameterName, IRouteConstraint routeConstraint) + : this(parameterName, new RouteConstraintMatchProcessorAdapter(parameterName, routeConstraint)) + { + } + + private class RouteConstraintMatchProcessorAdapter : MatchProcessor + { + public string ParameterName { get; private set; } + + public IRouteConstraint RouteConstraint { get; } + + public RouteConstraintMatchProcessorAdapter(string parameterName, IRouteConstraint routeConstraint) + { + ParameterName = parameterName; + RouteConstraint = routeConstraint; + } + + public override void Initialize(string parameterName, string constraintArgument) + { + } + + public override bool ProcessInbound(HttpContext httpContext, RouteValueDictionary routeValues) + { + return RouteConstraint.Match( + httpContext, + NullRouter.Instance, + ParameterName, + routeValues, + RouteDirection.IncomingRequest); + } + + public override bool ProcessOutbound(HttpContext httpContext, RouteValueDictionary values) + { + return RouteConstraint.Match( + httpContext, + NullRouter.Instance, + ParameterName, + values, + RouteDirection.UrlGeneration); + } + } + } +} diff --git a/src/Microsoft.AspNetCore.Routing/Matchers/MatcherEndpoint.cs b/src/Microsoft.AspNetCore.Routing/Matchers/MatcherEndpoint.cs index 41b629ef6c..4d7fa50e0e 100644 --- a/src/Microsoft.AspNetCore.Routing/Matchers/MatcherEndpoint.cs +++ b/src/Microsoft.AspNetCore.Routing/Matchers/MatcherEndpoint.cs @@ -2,6 +2,7 @@ // Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information. using System; +using System.Collections.Generic; using System.Threading.Tasks; using Microsoft.AspNetCore.Http; using Microsoft.AspNetCore.Routing.Template; @@ -20,6 +21,7 @@ namespace Microsoft.AspNetCore.Routing.Matchers string template, RouteValueDictionary defaults, RouteValueDictionary requiredValues, + List nonInlineMatchProcessorReferences, int order, EndpointMetadataCollection metadata, string displayName) @@ -44,6 +46,9 @@ namespace Microsoft.AspNetCore.Routing.Matchers RequiredValues = requiredValues; var mergedDefaults = GetDefaults(ParsedTemplate, defaults); Defaults = mergedDefaults; + + var mergedReferences = MergeMatchProcessorReferences(ParsedTemplate, nonInlineMatchProcessorReferences); + MatchProcessorReferences = mergedReferences.AsReadOnly(); } public int Order { get; } @@ -57,6 +62,8 @@ namespace Microsoft.AspNetCore.Routing.Matchers // Todo: needs review public RouteTemplate ParsedTemplate { get; } + public IReadOnlyList MatchProcessorReferences { get; } + // Merge inline and non inline defaults into one private RouteValueDictionary GetDefaults(RouteTemplate parsedTemplate, RouteValueDictionary nonInlineDefaults) { @@ -81,5 +88,33 @@ namespace Microsoft.AspNetCore.Routing.Matchers return result; } + + private List MergeMatchProcessorReferences( + RouteTemplate parsedTemplate, + List nonInlineReferences) + { + var matchProcessorReferences = new List(); + + if (nonInlineReferences != null) + { + matchProcessorReferences.AddRange(nonInlineReferences); + } + + foreach (var parameter in parsedTemplate.Parameters) + { + if (parameter.InlineConstraints != null) + { + foreach (var constraint in parameter.InlineConstraints) + { + matchProcessorReferences.Add( + new MatchProcessorReference( + parameter.Name, + optional: parameter.IsOptional, + constraintText: constraint.Constraint)); + } + } + } + return matchProcessorReferences; + } } } diff --git a/src/Microsoft.AspNetCore.Routing/Matchers/OptionalMatchProcessor.cs b/src/Microsoft.AspNetCore.Routing/Matchers/OptionalMatchProcessor.cs new file mode 100644 index 0000000000..9d445e1a44 --- /dev/null +++ b/src/Microsoft.AspNetCore.Routing/Matchers/OptionalMatchProcessor.cs @@ -0,0 +1,44 @@ +// Copyright (c) .NET Foundation. All rights reserved. +// Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information. + +using Microsoft.AspNetCore.Http; + +namespace Microsoft.AspNetCore.Routing.Matchers +{ + internal class OptionalMatchProcessor : MatchProcessor + { + private readonly MatchProcessor _innerMatchProcessor; + + public OptionalMatchProcessor(MatchProcessor innerMatchProcessor) + { + _innerMatchProcessor = innerMatchProcessor; + } + + public string ParameterName { get; private set; } + + public override void Initialize(string parameterName, string constraintArgument) + { + ParameterName = parameterName; + _innerMatchProcessor.Initialize(parameterName, constraintArgument); + } + + public override bool ProcessInbound(HttpContext httpContext, RouteValueDictionary values) + { + return Process(httpContext, values); + } + + public override bool ProcessOutbound(HttpContext httpContext, RouteValueDictionary values) + { + return Process(httpContext, values); + } + + private bool Process(HttpContext httpContext, RouteValueDictionary values) + { + if (values.TryGetValue(ParameterName, out var value)) + { + return _innerMatchProcessor.ProcessInbound(httpContext, values); + } + return true; + } + } +} diff --git a/src/Microsoft.AspNetCore.Routing/Matchers/TreeMatcher.cs b/src/Microsoft.AspNetCore.Routing/Matchers/TreeMatcher.cs index 8b1795b0f5..72fc5c9f6c 100644 --- a/src/Microsoft.AspNetCore.Routing/Matchers/TreeMatcher.cs +++ b/src/Microsoft.AspNetCore.Routing/Matchers/TreeMatcher.cs @@ -17,20 +17,20 @@ namespace Microsoft.AspNetCore.Routing.Matchers { internal class TreeMatcher : Matcher { - private readonly IInlineConstraintResolver _constraintFactory; + private readonly MatchProcessorFactory _matchProcessorFactory; private readonly ILogger _logger; private readonly EndpointSelector _endpointSelector; private readonly DataSourceDependantCache _cache; public TreeMatcher( - IInlineConstraintResolver constraintFactory, + MatchProcessorFactory matchProcessorFactory, ILogger logger, EndpointDataSource dataSource, EndpointSelector endpointSelector) { - if (constraintFactory == null) + if (matchProcessorFactory == null) { - throw new ArgumentNullException(nameof(constraintFactory)); + throw new ArgumentNullException(nameof(matchProcessorFactory)); } if (logger == null) @@ -43,7 +43,7 @@ namespace Microsoft.AspNetCore.Routing.Matchers throw new ArgumentNullException(nameof(dataSource)); } - _constraintFactory = constraintFactory; + _matchProcessorFactory = matchProcessorFactory; _logger = logger; _endpointSelector = endpointSelector; _cache = new DataSourceDependantCache(dataSource, CreateTrees); @@ -79,6 +79,7 @@ namespace Microsoft.AspNetCore.Routing.Matchers foreach (var item in node.Matches) { var entry = item.Entry; + var tagData = (InboundEntryTagData)entry.Tag; var matcher = item.TemplateMatcher; values.Clear(); @@ -89,12 +90,12 @@ namespace Microsoft.AspNetCore.Routing.Matchers Log.MatchedTemplate(_logger, httpContext, entry.RouteTemplate); - if (!MatchConstraints(httpContext, values, entry.Constraints)) + if (!MatchConstraints(httpContext, values, tagData.MatchProcessors)) { continue; } - SelectEndpoint(httpContext, feature, (MatcherEndpoint[])entry.Tag); + SelectEndpoint(httpContext, feature, tagData.Endpoints); if (feature.Endpoint != null) { @@ -123,18 +124,14 @@ namespace Microsoft.AspNetCore.Routing.Matchers private bool MatchConstraints( HttpContext httpContext, RouteValueDictionary values, - IDictionary constraints) + IList matchProcessors) { - if (constraints != null) + if (matchProcessors != null) { - foreach (var kvp in constraints) + foreach (var processor in matchProcessors) { - var constraint = kvp.Value; - if (!constraint.Match(httpContext, new DummyRouter(), kvp.Key, values, RouteDirection.IncomingRequest)) + if (!processor.ProcessInbound(httpContext, values)) { - values.TryGetValue(kvp.Key, out var value); - - Log.ConstraintFailed(_logger, value, kvp.Key, kvp.Value); return false; } } @@ -223,7 +220,7 @@ namespace Microsoft.AspNetCore.Routing.Matchers return trees.ToArray(); } - private InboundRouteEntry MapInbound(RouteTemplate template, Endpoint[] endpoints, int order) + private InboundRouteEntry MapInbound(RouteTemplate template, MatcherEndpoint[] endpoints, int order) { if (template == null) { @@ -235,27 +232,24 @@ namespace Microsoft.AspNetCore.Routing.Matchers Precedence = RoutePrecedence.ComputeInbound(template), RouteTemplate = template, Order = order, - Tag = endpoints, }; - var constraintBuilder = new RouteConstraintBuilder(_constraintFactory, template.TemplateText); - foreach (var parameter in template.Parameters) - { - if (parameter.InlineConstraints != null) - { - if (parameter.IsOptional) - { - constraintBuilder.SetOptional(parameter.Name); - } + // Since all endpoints within a group are expected to have same template and same constraints, + // get the first endpoint which has the processor references + var endpoint = endpoints[0]; - foreach (var constraint in parameter.InlineConstraints) - { - constraintBuilder.AddResolvedConstraint(parameter.Name, constraint.Constraint); - } - } + var matchProcessors = new List(); + foreach (var matchProcessorReference in endpoint.MatchProcessorReferences) + { + var matchProcessor = _matchProcessorFactory.Create(matchProcessorReference); + matchProcessors.Add(matchProcessor); } - entry.Constraints = constraintBuilder.Build(); + entry.Tag = new InboundEntryTagData() + { + Endpoints = endpoints, + MatchProcessors = matchProcessors, + }; entry.Defaults = new RouteValueDictionary(); foreach (var parameter in entry.RouteTemplate.Parameters) @@ -350,5 +344,11 @@ namespace Microsoft.AspNetCore.Routing.Matchers _matchedTemplate(logger, template.TemplateText, httpContext.Request.Path, null); } } + + private class InboundEntryTagData + { + public MatcherEndpoint[] Endpoints { get; set; } + public List MatchProcessors { get; set; } + } } } diff --git a/src/Microsoft.AspNetCore.Routing/Matchers/TreeMatcherFactory.cs b/src/Microsoft.AspNetCore.Routing/Matchers/TreeMatcherFactory.cs index 2d4ef3d864..39171909a2 100644 --- a/src/Microsoft.AspNetCore.Routing/Matchers/TreeMatcherFactory.cs +++ b/src/Microsoft.AspNetCore.Routing/Matchers/TreeMatcherFactory.cs @@ -9,18 +9,18 @@ namespace Microsoft.AspNetCore.Routing.Matchers { internal class TreeMatcherFactory : MatcherFactory { - private readonly IInlineConstraintResolver _constraintFactory; + private readonly MatchProcessorFactory _matchProcessorFactory; private readonly ILogger _logger; private readonly EndpointSelector _endpointSelector; public TreeMatcherFactory( - IInlineConstraintResolver constraintFactory, + MatchProcessorFactory matchProcessorFactory, ILogger logger, EndpointSelector endpointSelector) { - if (constraintFactory == null) + if (matchProcessorFactory == null) { - throw new ArgumentNullException(nameof(constraintFactory)); + throw new ArgumentNullException(nameof(matchProcessorFactory)); } if (logger == null) @@ -33,7 +33,7 @@ namespace Microsoft.AspNetCore.Routing.Matchers throw new ArgumentNullException(nameof(endpointSelector)); } - _constraintFactory = constraintFactory; + _matchProcessorFactory = matchProcessorFactory; _logger = logger; _endpointSelector = endpointSelector; } @@ -45,7 +45,7 @@ namespace Microsoft.AspNetCore.Routing.Matchers throw new ArgumentNullException(nameof(dataSource)); } - return new TreeMatcher(_constraintFactory, _logger, dataSource, _endpointSelector); + return new TreeMatcher(_matchProcessorFactory, _logger, dataSource, _endpointSelector); } } } diff --git a/src/Microsoft.AspNetCore.Routing/RouteValuesBasedEndpointFinder.cs b/src/Microsoft.AspNetCore.Routing/RouteValuesBasedEndpointFinder.cs index a926d51cf7..0b0fee9edd 100644 --- a/src/Microsoft.AspNetCore.Routing/RouteValuesBasedEndpointFinder.cs +++ b/src/Microsoft.AspNetCore.Routing/RouteValuesBasedEndpointFinder.cs @@ -4,7 +4,6 @@ using System; using System.Collections.Generic; using System.Linq; -using System.Threading.Tasks; using Microsoft.AspNetCore.Routing.EndpointFinders; using Microsoft.AspNetCore.Routing.Internal; using Microsoft.AspNetCore.Routing.Matchers; @@ -17,19 +16,16 @@ namespace Microsoft.AspNetCore.Routing internal class RouteValuesBasedEndpointFinder : IEndpointFinder { private readonly CompositeEndpointDataSource _endpointDataSource; - private readonly IInlineConstraintResolver _inlineConstraintResolver; private readonly ObjectPool _objectPool; private LinkGenerationDecisionTree _allMatchesLinkGenerationTree; private IDictionary _namedMatches; public RouteValuesBasedEndpointFinder( CompositeEndpointDataSource endpointDataSource, - ObjectPool objectPool, - IInlineConstraintResolver inlineConstraintResolver) + ObjectPool objectPool) { _endpointDataSource = endpointDataSource; _objectPool = objectPool; - _inlineConstraintResolver = inlineConstraintResolver; BuildOutboundMatches(); } @@ -110,28 +106,6 @@ namespace Microsoft.AspNetCore.Routing Data = endpoint, RouteName = routeNameMetadata?.Name, }; - - // TODO: review. These route constriants should be constructed when the endpoint - // is built. This way they can be checked for validity on app startup too - var constraintBuilder = new RouteConstraintBuilder( - _inlineConstraintResolver, - endpoint.ParsedTemplate.TemplateText); - foreach (var parameter in endpoint.ParsedTemplate.Parameters) - { - if (parameter.InlineConstraints != null) - { - if (parameter.IsOptional) - { - constraintBuilder.SetOptional(parameter.Name); - } - - foreach (var constraint in parameter.InlineConstraints) - { - constraintBuilder.AddResolvedConstraint(parameter.Name, constraint.Constraint); - } - } - } - entry.Constraints = constraintBuilder.Build(); entry.Defaults = endpoint.Defaults; return entry; } @@ -146,21 +120,5 @@ namespace Microsoft.AspNetCore.Routing } return result; } - - // Used only to hook up link generation, and it doesn't need to do anything. - private class NullRouter : IRouter - { - public static readonly NullRouter Instance = new NullRouter(); - - public VirtualPathData GetVirtualPath(VirtualPathContext context) - { - return null; - } - - public Task RouteAsync(RouteContext context) - { - throw new NotImplementedException(); - } - } } } diff --git a/test/Microsoft.AspNetCore.Routing.FunctionalTests/DispatcherSampleTest.cs b/test/Microsoft.AspNetCore.Routing.FunctionalTests/DispatcherSampleTest.cs index ff26a0e250..79925e8bf0 100644 --- a/test/Microsoft.AspNetCore.Routing.FunctionalTests/DispatcherSampleTest.cs +++ b/test/Microsoft.AspNetCore.Routing.FunctionalTests/DispatcherSampleTest.cs @@ -61,6 +61,74 @@ namespace Microsoft.AspNetCore.Routing.FunctionalTests Assert.Equal(expectedContent, actualContent); } + [Fact] + public async Task MatchesEndpoint_WithSuccessfulConstraintMatch() + { + // Arrange + var expectedContent = "WithConstraints"; + + // Act + var response = await _client.GetAsync("/withconstraints/555_001"); + + // Assert + Assert.Equal(HttpStatusCode.OK, response.StatusCode); + Assert.NotNull(response.Content); + var actualContent = await response.Content.ReadAsStringAsync(); + Assert.Equal(expectedContent, actualContent); + } + + [Fact] + public async Task DoesNotMatchEndpoint_IfConstraintMatchFails() + { + // Arrange & Act + var response = await _client.GetAsync("/withconstraints/555"); + + // Assert + Assert.Equal(HttpStatusCode.NotFound, response.StatusCode); + } + + [Fact] + public async Task MatchesEndpoint_WithSuccessful_OptionalConstraintMatch() + { + // Arrange + var expectedContent = "withoptionalconstraints"; + + // Act + var response = await _client.GetAsync("/withoptionalconstraints/555_001"); + + // Assert + Assert.Equal(HttpStatusCode.OK, response.StatusCode); + Assert.NotNull(response.Content); + var actualContent = await response.Content.ReadAsStringAsync(); + Assert.Equal(expectedContent, actualContent); + } + + [Fact] + public async Task MatchesEndpoint_WithSuccessful_OptionalConstraintMatch_NoValueForParameter() + { + // Arrange + var expectedContent = "withoptionalconstraints"; + + // Act + var response = await _client.GetAsync("/withoptionalconstraints"); + + // Assert + Assert.Equal(HttpStatusCode.OK, response.StatusCode); + Assert.NotNull(response.Content); + var actualContent = await response.Content.ReadAsStringAsync(); + Assert.Equal(expectedContent, actualContent); + } + + [Fact] + public async Task DoesNotMatchEndpoint_IfOptionalConstraintMatchFails() + { + // Arrange & Act + var response = await _client.GetAsync("/withoptionalconstraints/555"); + + // Assert + Assert.Equal(HttpStatusCode.NotFound, response.StatusCode); + } + public void Dispose() { _testServer.Dispose(); diff --git a/test/Microsoft.AspNetCore.Routing.Tests/DefaultLinkGeneratorTest.cs b/test/Microsoft.AspNetCore.Routing.Tests/DefaultLinkGeneratorTest.cs index ffb78a6ea1..db93c930c5 100644 --- a/test/Microsoft.AspNetCore.Routing.Tests/DefaultLinkGeneratorTest.cs +++ b/test/Microsoft.AspNetCore.Routing.Tests/DefaultLinkGeneratorTest.cs @@ -8,7 +8,9 @@ using Microsoft.AspNetCore.Routing.EndpointFinders; using Microsoft.AspNetCore.Routing.Internal; using Microsoft.AspNetCore.Routing.Matchers; using Microsoft.Extensions.Logging; +using Microsoft.Extensions.Logging.Abstractions; using Microsoft.Extensions.ObjectPool; +using Microsoft.Extensions.Options; using Moq; using Xunit; @@ -788,6 +790,7 @@ namespace Microsoft.AspNetCore.Routing template, defaults, new RouteValueDictionary(), + new List(), 0, EndpointMetadataCollection.Empty, null); @@ -796,8 +799,12 @@ namespace Microsoft.AspNetCore.Routing private ILinkGenerator CreateLinkGenerator() { return new DefaultLinkGenerator( + new DefaultMatchProcessorFactory( + Options.Create(new RouteOptions()), + NullLogger.Instance, + Mock.Of()), new DefaultObjectPool(new UriBuilderContextPooledObjectPolicy()), - Mock.Of>()); + NullLogger.Instance); } } } diff --git a/test/Microsoft.AspNetCore.Routing.Tests/DispatcherMiddlewareTest.cs b/test/Microsoft.AspNetCore.Routing.Tests/DispatcherMiddlewareTest.cs index ad0855f4c8..4f5b72de8d 100644 --- a/test/Microsoft.AspNetCore.Routing.Tests/DispatcherMiddlewareTest.cs +++ b/test/Microsoft.AspNetCore.Routing.Tests/DispatcherMiddlewareTest.cs @@ -4,9 +4,7 @@ using System; using System.Threading.Tasks; using Microsoft.AspNetCore.Http; -using Microsoft.AspNetCore.Routing.Matchers; using Microsoft.AspNetCore.Routing.TestObjects; -using Microsoft.Extensions.DependencyInjection; using Microsoft.Extensions.Logging; using Microsoft.Extensions.Logging.Abstractions; using Microsoft.Extensions.Logging.Testing; diff --git a/test/Microsoft.AspNetCore.Routing.Tests/EndpointConstraints/EndpointSelectorTests.cs b/test/Microsoft.AspNetCore.Routing.Tests/EndpointConstraints/EndpointSelectorTests.cs index 796909c728..008464113e 100644 --- a/test/Microsoft.AspNetCore.Routing.Tests/EndpointConstraints/EndpointSelectorTests.cs +++ b/test/Microsoft.AspNetCore.Routing.Tests/EndpointConstraints/EndpointSelectorTests.cs @@ -1,6 +1,9 @@ // Copyright (c) .NET Foundation. All rights reserved. // Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information. +using System; +using System.Collections.Generic; +using System.Linq; using Microsoft.AspNetCore.Http; using Microsoft.AspNetCore.Routing.Matchers; using Microsoft.AspNetCore.Routing.TestObjects; @@ -9,9 +12,6 @@ using Microsoft.Extensions.Logging; using Microsoft.Extensions.Logging.Abstractions; using Microsoft.Extensions.Logging.Testing; using Moq; -using System; -using System.Collections.Generic; -using System.Linq; using Xunit; namespace Microsoft.AspNetCore.Routing.EndpointConstraints diff --git a/test/Microsoft.AspNetCore.Routing.Tests/Matchers/DefaultMatchProcessorFactoryTest.cs b/test/Microsoft.AspNetCore.Routing.Tests/Matchers/DefaultMatchProcessorFactoryTest.cs new file mode 100644 index 0000000000..1f89aa1928 --- /dev/null +++ b/test/Microsoft.AspNetCore.Routing.Tests/Matchers/DefaultMatchProcessorFactoryTest.cs @@ -0,0 +1,190 @@ +// Copyright (c) .NET Foundation. All rights reserved. +// Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information. + +using System; +using System.Globalization; +using Microsoft.AspNetCore.Http; +using Microsoft.Extensions.DependencyInjection; +using Microsoft.Extensions.Logging.Abstractions; +using Microsoft.Extensions.Options; +using Moq; +using Xunit; + +namespace Microsoft.AspNetCore.Routing.Matchers +{ + public class DefaultMatchProcessorFactoryTest + { + [Fact] + public void Create_ThrowsException_IfNoConstraintOrMatchProcessor_FoundInMap() + { + // Arrange + var factory = GetMatchProcessorFactory(); + var matchProcessorReference = new MatchProcessorReference("id", @"notpresent(\d+)"); + + // Act & Assert + var exception = Assert.Throws( + () => factory.Create(matchProcessorReference)); + } + + [Fact] + public void Create_CreatesMatchProcessor_FromConstraintText_AndRouteConstraint() + { + // Arrange + var factory = GetMatchProcessorFactory(); + var matchProcessorReference = new MatchProcessorReference("id", "int"); + + // Act 1 + var processor = factory.Create(matchProcessorReference); + + // Assert 1 + Assert.NotNull(processor); + + // Act 2 + var isMatch = processor.ProcessInbound( + new DefaultHttpContext(), + new RouteValueDictionary(new { id = 10 })); + + // Assert 2 + Assert.True(isMatch); + + // Act 2 + isMatch = processor.ProcessInbound( + new DefaultHttpContext(), + new RouteValueDictionary(new { id = "foo" })); + + // Assert 2 + Assert.False(isMatch); + } + + [Fact] + public void Create_CreatesMatchProcessor_FromConstraintText_AndCustomMatchProcessor() + { + // Arrange + var options = new RouteOptions(); + options.ConstraintMap.Add("endsWith", typeof(EndsWithStringMatchProcessor)); + var services = new ServiceCollection(); + services.AddTransient(); + var factory = GetMatchProcessorFactory(options, services); + var matchProcessorReference = new MatchProcessorReference("id", "endsWith(_001)"); + + // Act 1 + var processor = factory.Create(matchProcessorReference); + + // Assert 1 + Assert.NotNull(processor); + + // Act 2 + var isMatch = processor.ProcessInbound( + new DefaultHttpContext(), + new RouteValueDictionary(new { id = "555_001" })); + + // Assert 2 + Assert.True(isMatch); + + // Act 2 + isMatch = processor.ProcessInbound( + new DefaultHttpContext(), + new RouteValueDictionary(new { id = "444" })); + + // Assert 2 + Assert.False(isMatch); + } + + [Fact] + public void Create_ReturnsMatchProcessor_IfAvailable() + { + // Arrange + var factory = GetMatchProcessorFactory(); + var matchProcessorReference = new MatchProcessorReference("id", Mock.Of()); + var expected = matchProcessorReference.MatchProcessor; + + // Act + var processor = factory.Create(matchProcessorReference); + + // Assert + Assert.Same(expected, processor); + } + + [Fact] + public void Create_ReturnsMatchProcessor_WithSuppliedRouteConstraint() + { + // Arrange + var factory = GetMatchProcessorFactory(); + var constraint = TestRouteConstraint.Create(); + var matchProcessorReference = new MatchProcessorReference("id", constraint); + var processor = factory.Create(matchProcessorReference); + var expectedHttpContext = new DefaultHttpContext(); + var expectedValues = new RouteValueDictionary(); + + // Act + processor.ProcessInbound(expectedHttpContext, expectedValues); + + // Assert + Assert.Same(expectedHttpContext, constraint.HttpContext); + Assert.Same(expectedValues, constraint.Values); + Assert.Equal("id", constraint.RouteKey); + Assert.Equal(RouteDirection.IncomingRequest, constraint.RouteDirection); + Assert.Same(NullRouter.Instance, constraint.Route); + } + + private DefaultMatchProcessorFactory GetMatchProcessorFactory( + RouteOptions options = null, + ServiceCollection services = null) + { + if (options == null) + { + options = new RouteOptions(); + } + + if (services == null) + { + services = new ServiceCollection(); + } + + return new DefaultMatchProcessorFactory( + Options.Create(options), + NullLogger.Instance, + services.BuildServiceProvider()); + } + + private class TestRouteConstraint : IRouteConstraint + { + private TestRouteConstraint() { } + + public HttpContext HttpContext { get; private set; } + public IRouter Route { get; private set; } + public string RouteKey { get; private set; } + public RouteValueDictionary Values { get; private set; } + public RouteDirection RouteDirection { get; private set; } + + public static TestRouteConstraint Create() + { + return new TestRouteConstraint(); + } + + public bool Match( + HttpContext httpContext, + IRouter route, + string routeKey, + RouteValueDictionary values, + RouteDirection routeDirection) + { + HttpContext = httpContext; + Route = route; + RouteKey = routeKey; + Values = values; + RouteDirection = routeDirection; + return false; + } + } + + private class EndsWithStringMatchProcessor : MatchProcessorBase + { + public override bool Process(object value) + { + var valueString = Convert.ToString(value, CultureInfo.InvariantCulture); + return valueString.EndsWith(ConstraintArgument); + } + } + } +} diff --git a/test/Microsoft.AspNetCore.Routing.Tests/Matchers/MatcherConformanceTest.cs b/test/Microsoft.AspNetCore.Routing.Tests/Matchers/MatcherConformanceTest.cs index bbb08d5f9a..abef76e438 100644 --- a/test/Microsoft.AspNetCore.Routing.Tests/Matchers/MatcherConformanceTest.cs +++ b/test/Microsoft.AspNetCore.Routing.Tests/Matchers/MatcherConformanceTest.cs @@ -2,6 +2,7 @@ // Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information. using System; +using System.Collections.Generic; using Microsoft.AspNetCore.Http; using Microsoft.Extensions.DependencyInjection; @@ -43,6 +44,7 @@ namespace Microsoft.AspNetCore.Routing.Matchers template, defaults, new RouteValueDictionary(), + new List(), order ?? 0, EndpointMetadataCollection.Empty, "endpoint: " + template); diff --git a/test/Microsoft.AspNetCore.Routing.Tests/Matchers/TreeMatcherTests.cs b/test/Microsoft.AspNetCore.Routing.Tests/Matchers/TreeMatcherTests.cs index cc865fed75..e32d4aed76 100644 --- a/test/Microsoft.AspNetCore.Routing.Tests/Matchers/TreeMatcherTests.cs +++ b/test/Microsoft.AspNetCore.Routing.Tests/Matchers/TreeMatcherTests.cs @@ -1,12 +1,14 @@ // Copyright (c) .NET Foundation. All rights reserved. // Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information. +using System; using System.Collections.Generic; using System.Threading.Tasks; using Microsoft.AspNetCore.Http; using Microsoft.AspNetCore.Routing.EndpointConstraints; using Microsoft.Extensions.Logging.Abstractions; using Microsoft.Extensions.Options; +using Moq; using Xunit; namespace Microsoft.AspNetCore.Routing.Matchers @@ -16,13 +18,23 @@ namespace Microsoft.AspNetCore.Routing.Matchers private MatcherEndpoint CreateEndpoint(string template, int order, object defaultValues = null, EndpointMetadataCollection metadata = null) { var defaults = defaultValues == null ? new RouteValueDictionary() : new RouteValueDictionary(defaultValues); - return new MatcherEndpoint((next) => null, template, defaults, new RouteValueDictionary(), order, metadata ?? EndpointMetadataCollection.Empty, template); + return new MatcherEndpoint( + (next) => null, + template, defaults, + new RouteValueDictionary(), + new List(), + order, + metadata ?? EndpointMetadataCollection.Empty, + template); } private TreeMatcher CreateTreeMatcher(EndpointDataSource endpointDataSource) { var compositeDataSource = new CompositeEndpointDataSource(new[] { endpointDataSource }); - var defaultInlineConstraintResolver = new DefaultInlineConstraintResolver(Options.Create(new RouteOptions())); + var defaultInlineConstraintResolver = new DefaultMatchProcessorFactory( + Options.Create(new RouteOptions()), + NullLogger.Instance, + Mock.Of()); var endpointSelector = new EndpointSelector( compositeDataSource, new EndpointConstraintCache(compositeDataSource, new IEndpointConstraintProvider[] { new DefaultEndpointConstraintProvider() }), From bc79a4795950607423a40e5513b45edd2187272b Mon Sep 17 00:00:00 2001 From: Kiran Challa Date: Fri, 13 Jul 2018 14:24:11 -0700 Subject: [PATCH 064/221] Temporary change to prevent cross repo breaking change: Added ooverload for MatcherEndpoint --- .../Matchers/MatcherEndpoint.cs | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/src/Microsoft.AspNetCore.Routing/Matchers/MatcherEndpoint.cs b/src/Microsoft.AspNetCore.Routing/Matchers/MatcherEndpoint.cs index 4d7fa50e0e..591c98bac4 100644 --- a/src/Microsoft.AspNetCore.Routing/Matchers/MatcherEndpoint.cs +++ b/src/Microsoft.AspNetCore.Routing/Matchers/MatcherEndpoint.cs @@ -16,6 +16,18 @@ namespace Microsoft.AspNetCore.Routing.Matchers return (context) => Task.CompletedTask; }; + public MatcherEndpoint( + Func invoker, + string template, + RouteValueDictionary defaults, + RouteValueDictionary requiredValues, + int order, + EndpointMetadataCollection metadata, + string displayName) + : this(invoker, template, defaults, requiredValues, new List(), order, metadata, displayName) + { + } + public MatcherEndpoint( Func invoker, string template, From 9e114b547dffc838a3713a80a059249f8d25842c Mon Sep 17 00:00:00 2001 From: Ryan Nowak Date: Fri, 13 Jul 2018 18:01:46 -0700 Subject: [PATCH 065/221] Introduce RoutePattern (#585) * Introduce RoutePattern Introduces RoutePattern - a new parser and representation for routing templates, defaults, and constraints. This is a new representation for all of the 'inputs' to routing that is immutable and captures 'out of line' information for defaults and constraints. This will allow us to unify the handling of constraints and values from attribute style routes and conventional style routes. --- .../Patterns/RouteParameterParser.cs | 248 ++++ .../Patterns/RoutePattern.cs | 74 ++ .../RoutePatternConstraintReference.cs | 46 + .../Patterns/RoutePatternException.cs | 42 + .../Patterns/RoutePatternFactory.cs | 504 ++++++++ .../Patterns/RoutePatternLiteralPart.cs | 25 + .../Patterns/RoutePatternMatcher.cs | 511 ++++++++ .../Patterns/RoutePatternParameterKind.cs | 12 + .../Patterns/RoutePatternParameterPart.cs | 73 ++ .../Patterns/RoutePatternParser.cs | 577 +++++++++ .../Patterns/RoutePatternPart.cs | 27 + .../Patterns/RoutePatternPartKind.cs | 12 + .../Patterns/RoutePatternPathSegment.cs | 32 + .../Patterns/RoutePatternSeparatorPart.cs | 26 + .../Properties/Resources.Designer.cs | 42 + .../Resources.resx | 9 + .../RouteCollection.cs | 2 +- .../Template/InlineConstraint.cs | 11 + .../Template/RouteTemplate.cs | 31 + .../Template/TemplateMatcher.cs | 390 +----- .../Template/TemplateParser.cs | 528 +------- .../Template/TemplatePart.cs | 69 +- .../Template/TemplateSegment.cs | 19 +- .../InlineRouteParameterParserTest.cs | 946 ++++++++++++++ .../Patterns/RoutePatternFactoryTest.cs | 247 ++++ .../Patterns/RoutePatternMatcherTest.cs | 1131 +++++++++++++++++ .../Patterns/RoutePatternParserTest.cs | 765 +++++++++++ .../Template/TemplateParserTests.cs | 31 +- 28 files changed, 5503 insertions(+), 927 deletions(-) create mode 100644 src/Microsoft.AspNetCore.Routing/Patterns/RouteParameterParser.cs create mode 100644 src/Microsoft.AspNetCore.Routing/Patterns/RoutePattern.cs create mode 100644 src/Microsoft.AspNetCore.Routing/Patterns/RoutePatternConstraintReference.cs create mode 100644 src/Microsoft.AspNetCore.Routing/Patterns/RoutePatternException.cs create mode 100644 src/Microsoft.AspNetCore.Routing/Patterns/RoutePatternFactory.cs create mode 100644 src/Microsoft.AspNetCore.Routing/Patterns/RoutePatternLiteralPart.cs create mode 100644 src/Microsoft.AspNetCore.Routing/Patterns/RoutePatternMatcher.cs create mode 100644 src/Microsoft.AspNetCore.Routing/Patterns/RoutePatternParameterKind.cs create mode 100644 src/Microsoft.AspNetCore.Routing/Patterns/RoutePatternParameterPart.cs create mode 100644 src/Microsoft.AspNetCore.Routing/Patterns/RoutePatternParser.cs create mode 100644 src/Microsoft.AspNetCore.Routing/Patterns/RoutePatternPart.cs create mode 100644 src/Microsoft.AspNetCore.Routing/Patterns/RoutePatternPartKind.cs create mode 100644 src/Microsoft.AspNetCore.Routing/Patterns/RoutePatternPathSegment.cs create mode 100644 src/Microsoft.AspNetCore.Routing/Patterns/RoutePatternSeparatorPart.cs create mode 100644 test/Microsoft.AspNetCore.Routing.Tests/Patterns/InlineRouteParameterParserTest.cs create mode 100644 test/Microsoft.AspNetCore.Routing.Tests/Patterns/RoutePatternFactoryTest.cs create mode 100644 test/Microsoft.AspNetCore.Routing.Tests/Patterns/RoutePatternMatcherTest.cs create mode 100644 test/Microsoft.AspNetCore.Routing.Tests/Patterns/RoutePatternParserTest.cs diff --git a/src/Microsoft.AspNetCore.Routing/Patterns/RouteParameterParser.cs b/src/Microsoft.AspNetCore.Routing/Patterns/RouteParameterParser.cs new file mode 100644 index 0000000000..c5b1a008e1 --- /dev/null +++ b/src/Microsoft.AspNetCore.Routing/Patterns/RouteParameterParser.cs @@ -0,0 +1,248 @@ +// Copyright (c) .NET Foundation. All rights reserved. +// Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information. + +using System; +using System.Collections.Generic; +using System.Linq; + +namespace Microsoft.AspNetCore.Routing.Patterns +{ + internal static class RouteParameterParser + { + // This code parses the inside of the route parameter + // + // Ex: {hello} - this method is responsible for parsing 'hello' + // The factoring between this class and RoutePatternParser is due to legacy. + public static RoutePatternParameterPart ParseRouteParameter(string parameter) + { + if (parameter == null) + { + throw new ArgumentNullException(nameof(parameter)); + } + + if (parameter.Length == 0) + { + return new RoutePatternParameterPart(string.Empty, null, RoutePatternParameterKind.Standard, Array.Empty()); + } + + var startIndex = 0; + var endIndex = parameter.Length - 1; + + var parameterKind = RoutePatternParameterKind.Standard; + if (parameter[0] == '*') + { + parameterKind = RoutePatternParameterKind.CatchAll; + startIndex++; + } + + if (parameter[endIndex] == '?') + { + parameterKind = RoutePatternParameterKind.Optional; + endIndex--; + } + + var currentIndex = startIndex; + + // Parse parameter name + var parameterName = string.Empty; + + while (currentIndex <= endIndex) + { + var currentChar = parameter[currentIndex]; + + if ((currentChar == ':' || currentChar == '=') && startIndex != currentIndex) + { + // Parameter names are allowed to start with delimiters used to denote constraints or default values. + // i.e. "=foo" or ":bar" would be treated as parameter names rather than default value or constraint + // specifications. + parameterName = parameter.Substring(startIndex, currentIndex - startIndex); + + // Roll the index back and move to the constraint parsing stage. + currentIndex--; + break; + } + else if (currentIndex == endIndex) + { + parameterName = parameter.Substring(startIndex, currentIndex - startIndex + 1); + } + + currentIndex++; + } + + var parseResults = ParseConstraints(parameter, parameterName, currentIndex, endIndex); + currentIndex = parseResults.CurrentIndex; + + string defaultValue = null; + if (currentIndex <= endIndex && + parameter[currentIndex] == '=') + { + defaultValue = parameter.Substring(currentIndex + 1, endIndex - currentIndex); + } + + return new RoutePatternParameterPart(parameterName, defaultValue, parameterKind, parseResults.Constraints.ToArray()); + } + + private static ConstraintParseResults ParseConstraints( + string text, + string parameterName, + int currentIndex, + int endIndex) + { + var constraints = new List(); + var state = ParseState.Start; + var startIndex = currentIndex; + do + { + var currentChar = currentIndex > endIndex ? null : (char?)text[currentIndex]; + switch (state) + { + case ParseState.Start: + switch (currentChar) + { + case null: + state = ParseState.End; + break; + case ':': + state = ParseState.ParsingName; + startIndex = currentIndex + 1; + break; + case '(': + state = ParseState.InsideParenthesis; + break; + case '=': + state = ParseState.End; + currentIndex--; + break; + } + break; + case ParseState.InsideParenthesis: + switch (currentChar) + { + case null: + state = ParseState.End; + var constraintText = text.Substring(startIndex, currentIndex - startIndex); + constraints.Add(RoutePatternFactory.Constraint(parameterName, constraintText)); + break; + case ')': + // Only consume a ')' token if + // (a) it is the last token + // (b) the next character is the start of the new constraint ':' + // (c) the next character is the start of the default value. + + var nextChar = currentIndex + 1 > endIndex ? null : (char?)text[currentIndex + 1]; + switch (nextChar) + { + case null: + state = ParseState.End; + constraintText = text.Substring(startIndex, currentIndex - startIndex + 1); + constraints.Add(RoutePatternFactory.Constraint(parameterName, constraintText)); + break; + case ':': + state = ParseState.Start; + constraintText = text.Substring(startIndex, currentIndex - startIndex + 1); + constraints.Add(RoutePatternFactory.Constraint(parameterName, constraintText)); + startIndex = currentIndex + 1; + break; + case '=': + state = ParseState.End; + constraintText = text.Substring(startIndex, currentIndex - startIndex + 1); + constraints.Add(RoutePatternFactory.Constraint(parameterName, constraintText)); + break; + } + break; + case ':': + case '=': + // In the original implementation, the Regex would've backtracked if it encountered an + // unbalanced opening bracket followed by (not necessarily immediatiely) a delimiter. + // Simply verifying that the parantheses will eventually be closed should suffice to + // determine if the terminator needs to be consumed as part of the current constraint + // specification. + var indexOfClosingParantheses = text.IndexOf(')', currentIndex + 1); + if (indexOfClosingParantheses == -1) + { + constraintText = text.Substring(startIndex, currentIndex - startIndex); + constraints.Add(RoutePatternFactory.Constraint(parameterName, constraintText)); + + if (currentChar == ':') + { + state = ParseState.ParsingName; + startIndex = currentIndex + 1; + } + else + { + state = ParseState.End; + currentIndex--; + } + } + else + { + currentIndex = indexOfClosingParantheses; + } + + break; + } + break; + case ParseState.ParsingName: + switch (currentChar) + { + case null: + state = ParseState.End; + var constraintText = text.Substring(startIndex, currentIndex - startIndex); + if (constraintText.Length > 0) + { + constraints.Add(RoutePatternFactory.Constraint(parameterName, constraintText)); + } + break; + case ':': + constraintText = text.Substring(startIndex, currentIndex - startIndex); + if (constraintText.Length > 0) + { + constraints.Add(RoutePatternFactory.Constraint(parameterName, constraintText)); + } + startIndex = currentIndex + 1; + break; + case '(': + state = ParseState.InsideParenthesis; + break; + case '=': + state = ParseState.End; + constraintText = text.Substring(startIndex, currentIndex - startIndex); + if (constraintText.Length > 0) + { + constraints.Add(RoutePatternFactory.Constraint(parameterName, constraintText)); + } + currentIndex--; + break; + } + break; + } + + currentIndex++; + + } while (state != ParseState.End); + + return new ConstraintParseResults(currentIndex, constraints); + } + + private enum ParseState + { + Start, + ParsingName, + InsideParenthesis, + End + } + + private readonly struct ConstraintParseResults + { + public readonly int CurrentIndex; + + public readonly IReadOnlyList Constraints; + + public ConstraintParseResults(int currentIndex, IReadOnlyList constraints) + { + CurrentIndex = currentIndex; + Constraints = constraints; + } + } + } +} \ No newline at end of file diff --git a/src/Microsoft.AspNetCore.Routing/Patterns/RoutePattern.cs b/src/Microsoft.AspNetCore.Routing/Patterns/RoutePattern.cs new file mode 100644 index 0000000000..74757849c9 --- /dev/null +++ b/src/Microsoft.AspNetCore.Routing/Patterns/RoutePattern.cs @@ -0,0 +1,74 @@ +// Copyright (c) .NET Foundation. All rights reserved. +// Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information. + +using System; +using System.Collections.Generic; +using System.Diagnostics; +using System.Linq; + +namespace Microsoft.AspNetCore.Routing.Patterns +{ + [DebuggerDisplay("{DebuggerToString()}")] + public sealed class RoutePattern + { + private const string SeparatorString = "/"; + + internal RoutePattern( + string rawText, + Dictionary defaults, + Dictionary> constraints, + RoutePatternParameterPart[] parameters, + RoutePatternPathSegment[] pathSegments) + { + Debug.Assert(defaults != null); + Debug.Assert(constraints != null); + Debug.Assert(parameters != null); + Debug.Assert(pathSegments != null); + + RawText = rawText; + Defaults = defaults; + Constraints = constraints; + Parameters = parameters; + PathSegments = pathSegments; + } + + public IReadOnlyDictionary Defaults { get; } + + public IReadOnlyDictionary> Constraints { get; } + + public string RawText { get; } + + public IReadOnlyList Parameters { get; } + + public IReadOnlyList PathSegments { get; } + + /// + /// Gets the parameter matching the given name. + /// + /// The name of the parameter to match. + /// The matching parameter or null if no parameter matches the given name. + public RoutePatternParameterPart GetParameter(string name) + { + if (name == null) + { + throw new ArgumentNullException(nameof(name)); + } + + for (var i = 0; i < Parameters.Count; i++) + { + var parameter = Parameters[i]; + if (string.Equals(parameter.Name, name, StringComparison.OrdinalIgnoreCase)) + { + return parameter; + } + } + + return null; + } + + private string DebuggerToString() + { + return RawText ?? string.Join(SeparatorString, PathSegments.Select(s => s.DebuggerToString())); + } + } +} diff --git a/src/Microsoft.AspNetCore.Routing/Patterns/RoutePatternConstraintReference.cs b/src/Microsoft.AspNetCore.Routing/Patterns/RoutePatternConstraintReference.cs new file mode 100644 index 0000000000..272282a63f --- /dev/null +++ b/src/Microsoft.AspNetCore.Routing/Patterns/RoutePatternConstraintReference.cs @@ -0,0 +1,46 @@ +// Copyright (c) .NET Foundation. All rights reserved. +// Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information. + +using System.Diagnostics; + +namespace Microsoft.AspNetCore.Routing.Patterns +{ + /// + /// The parsed representation of a constraint in a parameter. + /// + [DebuggerDisplay("{DebuggerToString()}")] + public sealed class RoutePatternConstraintReference + { + internal RoutePatternConstraintReference(string parameterName, string content) + { + ParameterName = parameterName; + Content = content; + } + + internal RoutePatternConstraintReference(string parameterName, IRouteConstraint constraint) + { + ParameterName = parameterName; + Constraint = constraint; + } + + /// + /// Gets the constraint text. + /// + public string Content { get; } + + /// + /// Gets a pre-existing that was used to construct this reference. + /// + public IRouteConstraint Constraint { get; } + + /// + /// Gets the parameter name associated with the constraint. + /// + public string ParameterName { get; } + + private string DebuggerToString() + { + return Content; + } + } +} \ No newline at end of file diff --git a/src/Microsoft.AspNetCore.Routing/Patterns/RoutePatternException.cs b/src/Microsoft.AspNetCore.Routing/Patterns/RoutePatternException.cs new file mode 100644 index 0000000000..6399145256 --- /dev/null +++ b/src/Microsoft.AspNetCore.Routing/Patterns/RoutePatternException.cs @@ -0,0 +1,42 @@ +// Copyright (c) .NET Foundation. All rights reserved. +// Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information. + +using System; +using System.Runtime.Serialization; + +namespace Microsoft.AspNetCore.Routing.Patterns +{ + [Serializable] + public sealed class RoutePatternException : Exception + { + private RoutePatternException(SerializationInfo info, StreamingContext context) + : base(info, context) + { + Pattern = (string)info.GetValue(nameof(Pattern), typeof(string)); + } + + public RoutePatternException(string pattern, string message) + : base(message) + { + if (pattern == null) + { + throw new ArgumentNullException(nameof(pattern)); + } + + if (message == null) + { + throw new ArgumentNullException(nameof(message)); + } + + Pattern = pattern; + } + + public string Pattern { get; } + + public override void GetObjectData(SerializationInfo info, StreamingContext context) + { + info.AddValue(nameof(Pattern), Pattern); + base.GetObjectData(info, context); + } + } +} diff --git a/src/Microsoft.AspNetCore.Routing/Patterns/RoutePatternFactory.cs b/src/Microsoft.AspNetCore.Routing/Patterns/RoutePatternFactory.cs new file mode 100644 index 0000000000..e653845f87 --- /dev/null +++ b/src/Microsoft.AspNetCore.Routing/Patterns/RoutePatternFactory.cs @@ -0,0 +1,504 @@ +// Copyright (c) .NET Foundation. All rights reserved. +// Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information. + +using System; +using System.Collections.Generic; +using System.Linq; +using Microsoft.AspNetCore.Routing.Constraints; + +namespace Microsoft.AspNetCore.Routing.Patterns +{ + public static class RoutePatternFactory + { + public static RoutePattern Parse(string pattern) + { + if (pattern == null) + { + throw new ArgumentNullException(nameof(pattern)); + } + + return RoutePatternParser.Parse(pattern); + } + + public static RoutePattern Parse(string pattern, object defaults, object constraints) + { + if (pattern == null) + { + throw new ArgumentNullException(nameof(pattern)); + } + + var original = RoutePatternParser.Parse(pattern); + return Pattern(original.RawText, defaults, constraints, original.PathSegments); + } + + public static RoutePattern Pattern(IEnumerable segments) + { + if (segments == null) + { + throw new ArgumentNullException(nameof(segments)); + } + + return PatternCore(null, null, null, segments); + } + + public static RoutePattern Pattern(string rawText, IEnumerable segments) + { + if (segments == null) + { + throw new ArgumentNullException(nameof(segments)); + } + + return PatternCore(rawText, null, null, segments); + } + + public static RoutePattern Pattern( + object defaults, + object constraints, + IEnumerable segments) + { + if (segments == null) + { + throw new ArgumentNullException(nameof(segments)); + } + + return PatternCore(null, new RouteValueDictionary(defaults), new RouteValueDictionary(constraints), segments); + } + + public static RoutePattern Pattern( + string rawText, + object defaults, + object constraints, + IEnumerable segments) + { + if (segments == null) + { + throw new ArgumentNullException(nameof(segments)); + } + + return PatternCore(rawText, new RouteValueDictionary(defaults), new RouteValueDictionary(constraints), segments); + } + + public static RoutePattern Pattern(params RoutePatternPathSegment[] segments) + { + if (segments == null) + { + throw new ArgumentNullException(nameof(segments)); + } + + return PatternCore(null, null, null, segments); + } + + public static RoutePattern Pattern(string rawText, params RoutePatternPathSegment[] segments) + { + if (segments == null) + { + throw new ArgumentNullException(nameof(segments)); + } + + return PatternCore(rawText, null, null, segments); + } + + public static RoutePattern Pattern( + object defaults, + object constraints, + params RoutePatternPathSegment[] segments) + { + if (segments == null) + { + throw new ArgumentNullException(nameof(segments)); + } + + return PatternCore(null, new RouteValueDictionary(defaults), new RouteValueDictionary(constraints), segments); + } + + public static RoutePattern Pattern( + string rawText, + object defaults, + object constraints, + params RoutePatternPathSegment[] segments) + { + if (segments == null) + { + throw new ArgumentNullException(nameof(segments)); + } + + return PatternCore(rawText, new RouteValueDictionary(defaults), new RouteValueDictionary(constraints), segments); + } + + private static RoutePattern PatternCore( + string rawText, + IDictionary defaults, + IDictionary constraints, + IEnumerable segments) + { + // We want to merge the segment data with the 'out of line' defaults and constraints. + // + // This means that for parameters that have 'out of line' defaults we will modify + // the parameter to contain the default (same story for constraints). + // + // We also maintain a collection of defaults and constraints that will also + // contain the values that don't match a parameter. + // + // It's important that these two views of the data are consistent. We don't want + // values specified out of line to have a different behavior. + + var updatedDefaults = new Dictionary(StringComparer.OrdinalIgnoreCase); + if (defaults != null) + { + foreach (var kvp in defaults) + { + updatedDefaults.Add(kvp.Key, kvp.Value); + } + } + + var updatedConstraints = new Dictionary>(StringComparer.OrdinalIgnoreCase); + if (constraints != null) + { + foreach (var kvp in constraints) + { + updatedConstraints.Add(kvp.Key, new List() + { + Constraint(kvp.Key, kvp.Value), + }); + } + } + + var parameters = new List(); + var updatedSegments = segments.ToArray(); + for (var i = 0; i < updatedSegments.Length; i++) + { + var segment = VisitSegment(updatedSegments[i]); + updatedSegments[i] = segment; + + for (var j = 0; j < segment.Parts.Count; j++) + { + if (segment.Parts[j] is RoutePatternParameterPart parameter) + { + parameters.Add(parameter); + } + } + } + + return new RoutePattern( + rawText, + updatedDefaults, + updatedConstraints.ToDictionary(kvp => kvp.Key, kvp => (IReadOnlyList)kvp.Value.ToArray()), + parameters.ToArray(), + updatedSegments.ToArray()); + + RoutePatternPathSegment VisitSegment(RoutePatternPathSegment segment) + { + var updatedParts = new RoutePatternPart[segment.Parts.Count]; + for (var i = 0; i < segment.Parts.Count; i++) + { + var part = segment.Parts[i]; + updatedParts[i] = VisitPart(part); + } + + return SegmentCore(updatedParts); + } + + RoutePatternPart VisitPart(RoutePatternPart part) + { + if (!part.IsParameter) + { + return part; + } + + var parameter = (RoutePatternParameterPart)part; + var @default = parameter.Default; + + if (updatedDefaults.TryGetValue(parameter.Name, out var newDefault)) + { + if (parameter.Default != null) + { + var message = Resources.FormatTemplateRoute_CannotHaveDefaultValueSpecifiedInlineAndExplicitly(parameter.Name); + throw new InvalidOperationException(message); + } + + if (parameter.IsOptional) + { + var message = Resources.TemplateRoute_OptionalCannotHaveDefaultValue; + throw new InvalidOperationException(message); + } + + @default = newDefault; + } + + if (parameter.Default != null) + { + updatedDefaults.Add(parameter.Name, parameter.Default); + } + + if (!updatedConstraints.TryGetValue(parameter.Name, out var parameterConstraints) && + parameter.Constraints.Count > 0) + { + parameterConstraints = new List(); + updatedConstraints.Add(parameter.Name, parameterConstraints); + } + + if (parameter.Constraints.Count > 0) + { + parameterConstraints.AddRange(parameter.Constraints); + } + + return ParameterPartCore( + parameter.Name, + @default, + parameter.ParameterKind, + (IEnumerable)parameterConstraints ?? Array.Empty()); + } + } + + public static RoutePatternPathSegment Segment(IEnumerable parts) + { + if (parts == null) + { + throw new ArgumentNullException(nameof(parts)); + } + + return SegmentCore(parts); + } + + public static RoutePatternPathSegment Segment(params RoutePatternPart[] parts) + { + if (parts == null) + { + throw new ArgumentNullException(nameof(parts)); + } + + return SegmentCore(parts); + } + + private static RoutePatternPathSegment SegmentCore(IEnumerable parts) + { + return new RoutePatternPathSegment(parts.ToArray()); + } + + public static RoutePatternLiteralPart LiteralPart(string content) + { + if (string.IsNullOrEmpty(content)) + { + throw new ArgumentException(Resources.Argument_NullOrEmpty, nameof(content)); + } + + if (content.IndexOf('?') >= 0) + { + throw new ArgumentException(Resources.FormatTemplateRoute_InvalidLiteral(content)); + } + + return LiteralPartCore(content); + } + + private static RoutePatternLiteralPart LiteralPartCore(string content) + { + return new RoutePatternLiteralPart(content); + } + + public static RoutePatternSeparatorPart SeparatorPart(string content) + { + if (string.IsNullOrEmpty(content)) + { + throw new ArgumentException(Resources.Argument_NullOrEmpty, nameof(content)); + } + + return SeparatorPartCore(content); + } + + private static RoutePatternSeparatorPart SeparatorPartCore(string content) + { + return new RoutePatternSeparatorPart(content); + } + + public static RoutePatternParameterPart ParameterPart(string parameterName) + { + if (string.IsNullOrEmpty(parameterName)) + { + throw new ArgumentException(Resources.Argument_NullOrEmpty, nameof(parameterName)); + } + + if (parameterName.IndexOfAny(RoutePatternParser.InvalidParameterNameChars) >= 0) + { + throw new ArgumentException(Resources.FormatTemplateRoute_InvalidParameterName(parameterName)); + } + + return ParameterPartCore( + parameterName: parameterName, + @default: null, + parameterKind: RoutePatternParameterKind.Standard, + constraints: Array.Empty()); + } + + public static RoutePatternParameterPart ParameterPart(string parameterName, object @default) + { + if (string.IsNullOrEmpty(parameterName)) + { + throw new ArgumentException(Resources.Argument_NullOrEmpty, nameof(parameterName)); + } + + if (parameterName.IndexOfAny(RoutePatternParser.InvalidParameterNameChars) >= 0) + { + throw new ArgumentException(Resources.FormatTemplateRoute_InvalidParameterName(parameterName)); + } + + return ParameterPartCore( + parameterName: parameterName, + @default: @default, + parameterKind: RoutePatternParameterKind.Standard, + constraints: Array.Empty()); + } + + public static RoutePatternParameterPart ParameterPart( + string parameterName, + object @default, + RoutePatternParameterKind parameterKind) + { + if (string.IsNullOrEmpty(parameterName)) + { + throw new ArgumentException(Resources.Argument_NullOrEmpty, nameof(parameterName)); + } + + if (parameterName.IndexOfAny(RoutePatternParser.InvalidParameterNameChars) >= 0) + { + throw new ArgumentException(Resources.FormatTemplateRoute_InvalidParameterName(parameterName)); + } + + if (@default != null && parameterKind == RoutePatternParameterKind.Optional) + { + throw new ArgumentNullException(Resources.TemplateRoute_OptionalCannotHaveDefaultValue, nameof(parameterKind)); + } + + return ParameterPartCore( + parameterName: parameterName, + @default: @default, + parameterKind: parameterKind, + constraints: Array.Empty()); + } + + public static RoutePatternParameterPart ParameterPart( + string parameterName, + object @default, + RoutePatternParameterKind parameterKind, + IEnumerable constraints) + { + if (string.IsNullOrEmpty(parameterName)) + { + throw new ArgumentException(Resources.Argument_NullOrEmpty, nameof(parameterName)); + } + + if (parameterName.IndexOfAny(RoutePatternParser.InvalidParameterNameChars) >= 0) + { + throw new ArgumentException(Resources.FormatTemplateRoute_InvalidParameterName(parameterName)); + } + + if (@default != null && parameterKind == RoutePatternParameterKind.Optional) + { + throw new ArgumentNullException(Resources.TemplateRoute_OptionalCannotHaveDefaultValue, nameof(parameterKind)); + } + + if (constraints == null) + { + throw new ArgumentNullException(nameof(constraints)); + } + + return ParameterPartCore( + parameterName: parameterName, + @default: @default, + parameterKind: parameterKind, + constraints: constraints); + } + + public static RoutePatternParameterPart ParameterPart( + string parameterName, + object @default, + RoutePatternParameterKind parameterKind, + params RoutePatternConstraintReference[] constraints) + { + if (string.IsNullOrEmpty(parameterName)) + { + throw new ArgumentException(Resources.Argument_NullOrEmpty, nameof(parameterName)); + } + + if (parameterName.IndexOfAny(RoutePatternParser.InvalidParameterNameChars) >= 0) + { + throw new ArgumentException(Resources.FormatTemplateRoute_InvalidParameterName(parameterName)); + } + + if (@default != null && parameterKind == RoutePatternParameterKind.Optional) + { + throw new ArgumentNullException(Resources.TemplateRoute_OptionalCannotHaveDefaultValue, nameof(parameterKind)); + } + + if (constraints == null) + { + throw new ArgumentNullException(nameof(constraints)); + } + + return ParameterPartCore( + parameterName: parameterName, + @default: @default, + parameterKind: parameterKind, + constraints: constraints); + } + + private static RoutePatternParameterPart ParameterPartCore( + string parameterName, + object @default, + RoutePatternParameterKind parameterKind, + IEnumerable constraints) + { + return new RoutePatternParameterPart(parameterName, @default, parameterKind, constraints.ToArray()); + } + + public static RoutePatternConstraintReference Constraint(string parameterName, object constraint) + { + // Similar to RouteConstraintBuilder + if (constraint is IRouteConstraint routeConstraint) + { + return ConstraintCore(parameterName, routeConstraint); + } + else if (constraint is string content) + { + return ConstraintCore(parameterName, new RegexRouteConstraint("^(" + content + ")$")); + } + else + { + throw new InvalidOperationException(Resources.FormatConstraintMustBeStringOrConstraint( + parameterName, + constraint, + typeof(IRouteConstraint))); + } + } + + public static RoutePatternConstraintReference Constraint(string parameterName, IRouteConstraint constraint) + { + if (constraint == null) + { + throw new ArgumentNullException(nameof(constraint)); + } + + return ConstraintCore(parameterName, constraint); + } + + public static RoutePatternConstraintReference Constraint(string parameterName, string constraint) + { + if (string.IsNullOrEmpty(constraint)) + { + throw new ArgumentException(Resources.Argument_NullOrEmpty, nameof(constraint)); + } + + return ConstraintCore(parameterName, constraint); + } + + + private static RoutePatternConstraintReference ConstraintCore(string parameterName, IRouteConstraint constraint) + { + return new RoutePatternConstraintReference(parameterName, constraint); + } + + private static RoutePatternConstraintReference ConstraintCore(string parameterName, string constraint) + { + return new RoutePatternConstraintReference(parameterName, constraint); + } + } +} diff --git a/src/Microsoft.AspNetCore.Routing/Patterns/RoutePatternLiteralPart.cs b/src/Microsoft.AspNetCore.Routing/Patterns/RoutePatternLiteralPart.cs new file mode 100644 index 0000000000..60cc9d2a96 --- /dev/null +++ b/src/Microsoft.AspNetCore.Routing/Patterns/RoutePatternLiteralPart.cs @@ -0,0 +1,25 @@ +// Copyright (c) .NET Foundation. All rights reserved. +// Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information. + +using System.Diagnostics; + +namespace Microsoft.AspNetCore.Routing.Patterns +{ + [DebuggerDisplay("{DebuggerToString()}")] + public sealed class RoutePatternLiteralPart : RoutePatternPart + { + internal RoutePatternLiteralPart(string content) + : base(RoutePatternPartKind.Literal) + { + Debug.Assert(!string.IsNullOrEmpty(content)); + Content = content; + } + + public string Content { get; } + + internal override string DebuggerToString() + { + return Content; + } + } +} diff --git a/src/Microsoft.AspNetCore.Routing/Patterns/RoutePatternMatcher.cs b/src/Microsoft.AspNetCore.Routing/Patterns/RoutePatternMatcher.cs new file mode 100644 index 0000000000..9ac6d9b90c --- /dev/null +++ b/src/Microsoft.AspNetCore.Routing/Patterns/RoutePatternMatcher.cs @@ -0,0 +1,511 @@ +// Copyright (c) .NET Foundation. All rights reserved. +// Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information. + +using System; +using System.Collections.Generic; +using System.Diagnostics; +using Microsoft.AspNetCore.Routing.Internal; +using Microsoft.AspNetCore.Routing.Patterns; +using Microsoft.AspNetCore.Http; +using Microsoft.Extensions.Primitives; + +namespace Microsoft.AspNetCore.Routing +{ + public class RoutePatternMatcher + { + private const string SeparatorString = "/"; + private const char SeparatorChar = '/'; + + // Perf: This is a cache to avoid looking things up in 'Defaults' each request. + private readonly bool[] _hasDefaultValue; + private readonly object[] _defaultValues; + + private static readonly char[] Delimiters = new char[] { SeparatorChar }; + + public RoutePatternMatcher( + RoutePattern pattern, + RouteValueDictionary defaults) + { + if (pattern == null) + { + throw new ArgumentNullException(nameof(pattern)); + } + + RoutePattern = pattern; + Defaults = defaults ?? new RouteValueDictionary(); + + // Perf: cache the default value for each parameter (other than complex segments). + _hasDefaultValue = new bool[RoutePattern.PathSegments.Count]; + _defaultValues = new object[RoutePattern.PathSegments.Count]; + + for (var i = 0; i < RoutePattern.PathSegments.Count; i++) + { + var segment = RoutePattern.PathSegments[i]; + if (!segment.IsSimple) + { + continue; + } + + var part = segment.Parts[0]; + if (!part.IsParameter) + { + continue; + } + + var parameter = (RoutePatternParameterPart)part; + if (Defaults.TryGetValue(parameter.Name, out var value)) + { + _hasDefaultValue[i] = true; + _defaultValues[i] = value; + } + } + } + + public RouteValueDictionary Defaults { get; } + + public RoutePattern RoutePattern { get; } + + public bool TryMatch(PathString path, RouteValueDictionary values) + { + if (values == null) + { + throw new ArgumentNullException(nameof(values)); + } + + var i = 0; + var pathTokenizer = new PathTokenizer(path); + + // Perf: We do a traversal of the request-segments + route-segments twice. + // + // For most segment-types, we only really need to any work on one of the two passes. + // + // On the first pass, we're just looking to see if there's anything that would disqualify us from matching. + // The most common case would be a literal segment that doesn't match. + // + // On the second pass, we're almost certainly going to match the URL, so go ahead and allocate the 'values' + // and start capturing strings. + foreach (var stringSegment in pathTokenizer) + { + if (stringSegment.Length == 0) + { + return false; + } + + var pathSegment = i >= RoutePattern.PathSegments.Count ? null : RoutePattern.PathSegments[i]; + if (pathSegment == null && stringSegment.Length > 0) + { + // If pathSegment is null, then we're out of route segments. All we can match is the empty + // string. + return false; + } + else if (pathSegment.IsSimple && pathSegment.Parts[0] is RoutePatternParameterPart parameter && parameter.IsCatchAll) + { + // Nothing to validate for a catch-all - it can match any string, including the empty string. + // + // Also, a catch-all has to be the last part, so we're done. + break; + } + if (!TryMatchLiterals(i++, stringSegment, pathSegment)) + { + return false; + } + } + + for (; i < RoutePattern.PathSegments.Count; i++) + { + // We've matched the request path so far, but still have remaining route segments. These need + // to be all single-part parameter segments with default values or else they won't match. + var pathSegment = RoutePattern.PathSegments[i]; + Debug.Assert(pathSegment != null); + + if (!pathSegment.IsSimple) + { + // If the segment is a complex segment, it MUST contain literals, and we've parsed the full + // path so far, so it can't match. + return false; + } + + var part = pathSegment.Parts[0]; + if (part.IsLiteral || part.IsSeparator) + { + // If the segment is a simple literal - which need the URL to provide a value, so we don't match. + return false; + } + + var parameter = (RoutePatternParameterPart)part; + if (parameter.IsCatchAll) + { + // Nothing to validate for a catch-all - it can match any string, including the empty string. + // + // Also, a catch-all has to be the last part, so we're done. + break; + } + + // If we get here, this is a simple segment with a parameter. We need it to be optional, or for the + // defaults to have a value. + if (!_hasDefaultValue[i] && !parameter.IsOptional) + { + // There's no default for this (non-optional) parameter so it can't match. + return false; + } + } + + // At this point we've very likely got a match, so start capturing values for real. + i = 0; + foreach (var requestSegment in pathTokenizer) + { + var pathSegment = RoutePattern.PathSegments[i++]; + if (SavePathSegmentsAsValues(i, values, requestSegment, pathSegment)) + { + break; + } + if (!pathSegment.IsSimple) + { + if (!MatchComplexSegment(pathSegment, requestSegment.ToString(), Defaults, values)) + { + return false; + } + } + } + + for (; i < RoutePattern.PathSegments.Count; i++) + { + // We've matched the request path so far, but still have remaining route segments. We already know these + // are simple parameters that either have a default, or don't need to produce a value. + var pathSegment = RoutePattern.PathSegments[i]; + Debug.Assert(pathSegment != null); + Debug.Assert(pathSegment.IsSimple); + + var part = pathSegment.Parts[0]; + Debug.Assert(part.IsParameter); + + // It's ok for a catch-all to produce a null value + if (part is RoutePatternParameterPart parameter && (parameter.IsCatchAll || _hasDefaultValue[i])) + { + // Don't replace an existing value with a null. + var defaultValue = _defaultValues[i]; + if (defaultValue != null || !values.ContainsKey(parameter.Name)) + { + values[parameter.Name] = defaultValue; + } + } + } + + // Copy all remaining default values to the route data + foreach (var kvp in Defaults) + { + if (!values.ContainsKey(kvp.Key)) + { + values.Add(kvp.Key, kvp.Value); + } + } + + return true; + } + + private bool TryMatchLiterals(int index, StringSegment stringSegment, RoutePatternPathSegment pathSegment) + { + if (pathSegment.IsSimple && !pathSegment.Parts[0].IsParameter) + { + // This is a literal segment, so we need to match the text, or the route isn't a match. + if (pathSegment.Parts[0].IsLiteral) + { + var part = (RoutePatternLiteralPart)pathSegment.Parts[0]; + + if (!stringSegment.Equals(part.Content, StringComparison.OrdinalIgnoreCase)) + { + return false; + } + } + else + { + var part = (RoutePatternSeparatorPart)pathSegment.Parts[0]; + + if (!stringSegment.Equals(part.Content, StringComparison.OrdinalIgnoreCase)) + { + return false; + } + } + } + else if (pathSegment.IsSimple && pathSegment.Parts[0].IsParameter) + { + // For a parameter, validate that it's a has some length, or we have a default, or it's optional. + var part = (RoutePatternParameterPart)pathSegment.Parts[0]; + if (stringSegment.Length == 0 && + !_hasDefaultValue[index] && + !part.IsOptional) + { + // There's no value for this parameter, the route can't match. + return false; + } + } + else + { + Debug.Assert(!pathSegment.IsSimple); + // Don't attempt to validate a complex segment at this point other than being non-emtpy, + // do it in the second pass. + } + return true; + } + + private bool SavePathSegmentsAsValues(int index, RouteValueDictionary values, StringSegment requestSegment, RoutePatternPathSegment pathSegment) + { + if (pathSegment.IsSimple && pathSegment.Parts[0] is RoutePatternParameterPart parameter && parameter.IsCatchAll) + { + // A catch-all captures til the end of the string. + var captured = requestSegment.Buffer.Substring(requestSegment.Offset); + if (captured.Length > 0) + { + values[parameter.Name] = captured; + } + else + { + // It's ok for a catch-all to produce a null value, so we don't check _hasDefaultValue. + values[parameter.Name] = _defaultValues[index]; + } + + // A catch-all has to be the last part, so we're done. + return true; + } + else if (pathSegment.IsSimple && pathSegment.Parts[0].IsParameter) + { + // A simple parameter captures the whole segment, or a default value if nothing was + // provided. + parameter = (RoutePatternParameterPart)pathSegment.Parts[0]; + if (requestSegment.Length > 0) + { + values[parameter.Name] = requestSegment.ToString(); + } + else + { + if (_hasDefaultValue[index]) + { + values[parameter.Name] = _defaultValues[index]; + } + } + } + return false; + } + + private bool MatchComplexSegment( + RoutePatternPathSegment routeSegment, + string requestSegment, + IReadOnlyDictionary defaults, + RouteValueDictionary values) + { + var indexOfLastSegment = routeSegment.Parts.Count - 1; + + // We match the request to the template starting at the rightmost parameter + // If the last segment of template is optional, then request can match the + // template with or without the last parameter. So we start with regular matching, + // but if it doesn't match, we start with next to last parameter. Example: + // Template: {p1}/{p2}.{p3?}. If the request is one/two.three it will match right away + // giving p3 value of three. But if the request is one/two, we start matching from the + // rightmost giving p3 the value of two, then we end up not matching the segment. + // In this case we start again from p2 to match the request and we succeed giving + // the value two to p2 + if (routeSegment.Parts[indexOfLastSegment] is RoutePatternParameterPart parameter && parameter.IsOptional && + routeSegment.Parts[indexOfLastSegment - 1].IsSeparator) + { + if (MatchComplexSegmentCore(routeSegment, requestSegment, Defaults, values, indexOfLastSegment)) + { + return true; + } + else + { + var separator = (RoutePatternSeparatorPart)routeSegment.Parts[indexOfLastSegment - 1]; + if (requestSegment.EndsWith( + separator.Content, + StringComparison.OrdinalIgnoreCase)) + return false; + + return MatchComplexSegmentCore( + routeSegment, + requestSegment, + Defaults, + values, + indexOfLastSegment - 2); + } + } + else + { + return MatchComplexSegmentCore(routeSegment, requestSegment, Defaults, values, indexOfLastSegment); + } + } + + private bool MatchComplexSegmentCore( + RoutePatternPathSegment routeSegment, + string requestSegment, + IReadOnlyDictionary defaults, + RouteValueDictionary values, + int indexOfLastSegmentUsed) + { + Debug.Assert(routeSegment != null); + Debug.Assert(routeSegment.Parts.Count > 1); + + // Find last literal segment and get its last index in the string + var lastIndex = requestSegment.Length; + + RoutePatternParameterPart parameterNeedsValue = null; // Keeps track of a parameter segment that is pending a value + RoutePatternPart lastLiteral = null; // Keeps track of the left-most literal we've encountered + + var outValues = new RouteValueDictionary(); + + while (indexOfLastSegmentUsed >= 0) + { + var newLastIndex = lastIndex; + + var part = routeSegment.Parts[indexOfLastSegmentUsed]; + if (part.IsParameter) + { + // Hold on to the parameter so that we can fill it in when we locate the next literal + parameterNeedsValue = (RoutePatternParameterPart)part; + } + else + { + Debug.Assert(part.IsLiteral || part.IsSeparator); + lastLiteral = part; + + var startIndex = lastIndex - 1; + // If we have a pending parameter subsegment, we must leave at least one character for that + if (parameterNeedsValue != null) + { + startIndex--; + } + + if (startIndex < 0) + { + return false; + } + + int indexOfLiteral; + if (part.IsLiteral) + { + var literal = (RoutePatternLiteralPart)part; + indexOfLiteral = requestSegment.LastIndexOf( + literal.Content, + startIndex, + StringComparison.OrdinalIgnoreCase); + } + else + { + var literal = (RoutePatternSeparatorPart)part; + indexOfLiteral = requestSegment.LastIndexOf( + literal.Content, + startIndex, + StringComparison.OrdinalIgnoreCase); + } + + if (indexOfLiteral == -1) + { + // If we couldn't find this literal index, this segment cannot match + return false; + } + + // If the first subsegment is a literal, it must match at the right-most extent of the request URI. + // Without this check if your route had "/Foo/" we'd match the request URI "/somethingFoo/". + // This check is related to the check we do at the very end of this function. + if (indexOfLastSegmentUsed == (routeSegment.Parts.Count - 1)) + { + if (part is RoutePatternLiteralPart literal && ((indexOfLiteral + literal.Content.Length) != requestSegment.Length)) + { + return false; + } + else if (part is RoutePatternSeparatorPart separator && ((indexOfLiteral + separator.Content.Length) != requestSegment.Length)) + { + return false; + } + } + + newLastIndex = indexOfLiteral; + } + + if ((parameterNeedsValue != null) && + (((lastLiteral != null) && !part.IsParameter) || (indexOfLastSegmentUsed == 0))) + { + // If we have a pending parameter that needs a value, grab that value + + int parameterStartIndex; + int parameterTextLength; + + if (lastLiteral == null) + { + if (indexOfLastSegmentUsed == 0) + { + parameterStartIndex = 0; + } + else + { + parameterStartIndex = newLastIndex; + Debug.Assert(false, "indexOfLastSegementUsed should always be 0 from the check above"); + } + parameterTextLength = lastIndex; + } + else + { + // If we're getting a value for a parameter that is somewhere in the middle of the segment + if ((indexOfLastSegmentUsed == 0) && (part.IsParameter)) + { + parameterStartIndex = 0; + parameterTextLength = lastIndex; + } + else + { + if (lastLiteral.IsLiteral) + { + var literal = (RoutePatternLiteralPart)lastLiteral; + parameterStartIndex = newLastIndex + literal.Content.Length; + } + else + { + var separator = (RoutePatternSeparatorPart)lastLiteral; + parameterStartIndex = newLastIndex + separator.Content.Length; + } + parameterTextLength = lastIndex - parameterStartIndex; + } + } + + var parameterValueString = requestSegment.Substring(parameterStartIndex, parameterTextLength); + + if (string.IsNullOrEmpty(parameterValueString)) + { + // If we're here that means we have a segment that contains multiple sub-segments. + // For these segments all parameters must have non-empty values. If the parameter + // has an empty value it's not a match. + return false; + + } + else + { + // If there's a value in the segment for this parameter, use the subsegment value + outValues.Add(parameterNeedsValue.Name, parameterValueString); + } + + parameterNeedsValue = null; + lastLiteral = null; + } + + lastIndex = newLastIndex; + indexOfLastSegmentUsed--; + } + + // If the last subsegment is a parameter, it's OK that we didn't parse all the way to the left extent of + // the string since the parameter will have consumed all the remaining text anyway. If the last subsegment + // is a literal then we *must* have consumed the entire text in that literal. Otherwise we end up matching + // the route "Foo" to the request URI "somethingFoo". Thus we have to check that we parsed the *entire* + // request URI in order for it to be a match. + // This check is related to the check we do earlier in this function for LiteralSubsegments. + if (lastIndex == 0 || routeSegment.Parts[0].IsParameter) + { + foreach (var item in outValues) + { + values.Add(item.Key, item.Value); + } + + return true; + } + + return false; + } + } +} diff --git a/src/Microsoft.AspNetCore.Routing/Patterns/RoutePatternParameterKind.cs b/src/Microsoft.AspNetCore.Routing/Patterns/RoutePatternParameterKind.cs new file mode 100644 index 0000000000..5a682d4897 --- /dev/null +++ b/src/Microsoft.AspNetCore.Routing/Patterns/RoutePatternParameterKind.cs @@ -0,0 +1,12 @@ +// Copyright (c) .NET Foundation. All rights reserved. +// Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information. + +namespace Microsoft.AspNetCore.Routing.Patterns +{ + public enum RoutePatternParameterKind + { + Standard, + Optional, + CatchAll, + } +} diff --git a/src/Microsoft.AspNetCore.Routing/Patterns/RoutePatternParameterPart.cs b/src/Microsoft.AspNetCore.Routing/Patterns/RoutePatternParameterPart.cs new file mode 100644 index 0000000000..0f9c632fb9 --- /dev/null +++ b/src/Microsoft.AspNetCore.Routing/Patterns/RoutePatternParameterPart.cs @@ -0,0 +1,73 @@ +// Copyright (c) .NET Foundation. All rights reserved. +// Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information. + +using System.Collections.Generic; +using System.Diagnostics; +using System.Text; + +namespace Microsoft.AspNetCore.Routing.Patterns +{ + [DebuggerDisplay("{DebuggerToString()}")] + public class RoutePatternParameterPart : RoutePatternPart + { + internal RoutePatternParameterPart( + string parameterName, + object @default, + RoutePatternParameterKind parameterKind, + RoutePatternConstraintReference[] constraints) + : base(RoutePatternPartKind.Parameter) + { + // See #475 - this code should have some asserts, but it can't because of the design of RouteParameterParser. + + Name = parameterName; + Default = @default; + ParameterKind = parameterKind; + Constraints = constraints; + } + + public IReadOnlyList Constraints { get; } + + public object Default { get; } + + public bool IsCatchAll => ParameterKind == RoutePatternParameterKind.CatchAll; + + public bool IsOptional => ParameterKind == RoutePatternParameterKind.Optional; + + public RoutePatternParameterKind ParameterKind { get; } + + public string Name { get; } + + internal override string DebuggerToString() + { + var builder = new StringBuilder(); + builder.Append("{"); + + if (IsCatchAll) + { + builder.Append("*"); + } + + builder.Append(Name); + + foreach (var constraint in Constraints) + { + builder.Append(":"); + builder.Append(constraint.Constraint); + } + + if (Default != null) + { + builder.Append("="); + builder.Append(Default); + } + + if (IsOptional) + { + builder.Append("?"); + } + + builder.Append("}"); + return builder.ToString(); + } + } +} diff --git a/src/Microsoft.AspNetCore.Routing/Patterns/RoutePatternParser.cs b/src/Microsoft.AspNetCore.Routing/Patterns/RoutePatternParser.cs new file mode 100644 index 0000000000..0af65b286c --- /dev/null +++ b/src/Microsoft.AspNetCore.Routing/Patterns/RoutePatternParser.cs @@ -0,0 +1,577 @@ +// Copyright (c) .NET Foundation. All rights reserved. +// Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information. + +using System; +using System.Collections.Generic; +using System.Diagnostics; + +namespace Microsoft.AspNetCore.Routing.Patterns +{ + internal static class RoutePatternParser + { + private const char Separator = '/'; + private const char OpenBrace = '{'; + private const char CloseBrace = '}'; + private const char EqualsSign = '='; + private const char QuestionMark = '?'; + private const char Asterisk = '*'; + private const string PeriodString = "."; + + internal static readonly char[] InvalidParameterNameChars = new char[] + { + Separator, + OpenBrace, + CloseBrace, + QuestionMark, + Asterisk + }; + + public static RoutePattern Parse(string pattern) + { + if (pattern == null) + { + throw new ArgumentNullException(nameof(pattern)); + } + + var trimmedPattern = TrimPrefix(pattern); + + var context = new Context(trimmedPattern); + var segments = new List(); + + while (context.MoveNext()) + { + var i = context.Index; + + if (context.Current == Separator) + { + // If we get here is means that there's a consecutive '/' character. + // Templates don't start with a '/' and parsing a segment consumes the separator. + throw new RoutePatternException(pattern, Resources.TemplateRoute_CannotHaveConsecutiveSeparators); + } + + if (!ParseSegment(context, segments)) + { + throw new RoutePatternException(pattern, context.Error); + } + + // A successful parse should always result in us being at the end or at a separator. + Debug.Assert(context.AtEnd() || context.Current == Separator); + + if (context.Index <= i) + { + // This shouldn't happen, but we want to crash if it does. + var message = "Infinite loop detected in the parser. Please open an issue."; + throw new InvalidProgramException(message); + } + } + + if (IsAllValid(context, segments)) + { + return RoutePatternFactory.Pattern(pattern, segments); + } + else + { + throw new RoutePatternException(pattern, context.Error); + } + } + + private static bool ParseSegment(Context context, List segments) + { + Debug.Assert(context != null); + Debug.Assert(segments != null); + + var parts = new List(); + + while (true) + { + var i = context.Index; + + if (context.Current == OpenBrace) + { + if (!context.MoveNext()) + { + // This is a dangling open-brace, which is not allowed + context.Error = Resources.TemplateRoute_MismatchedParameter; + return false; + } + + if (context.Current == OpenBrace) + { + // This is an 'escaped' brace in a literal, like "{{foo" + context.Back(); + if (!ParseLiteral(context, parts)) + { + return false; + } + } + else + { + // This is a parameter + context.Back(); + if (!ParseParameter(context, parts)) + { + return false; + } + } + } + else + { + if (!ParseLiteral(context, parts)) + { + return false; + } + } + + if (context.Current == Separator || context.AtEnd()) + { + // We've reached the end of the segment + break; + } + + if (context.Index <= i) + { + // This shouldn't happen, but we want to crash if it does. + var message = "Infinite loop detected in the parser. Please open an issue."; + throw new InvalidProgramException(message); + } + } + + if (IsSegmentValid(context, parts)) + { + segments.Add(new RoutePatternPathSegment(parts.ToArray())); + return true; + } + else + { + return false; + } + } + + private static bool ParseParameter(Context context, List parts) + { + Debug.Assert(context.Current == OpenBrace); + context.Mark(); + + context.MoveNext(); + + while (true) + { + if (context.Current == OpenBrace) + { + // This is an open brace inside of a parameter, it has to be escaped + if (context.MoveNext()) + { + if (context.Current != OpenBrace) + { + // If we see something like "{p1:regex(^\d{3", we will come here. + context.Error = Resources.TemplateRoute_UnescapedBrace; + return false; + } + } + else + { + // This is a dangling open-brace, which is not allowed + // Example: "{p1:regex(^\d{" + context.Error = Resources.TemplateRoute_MismatchedParameter; + return false; + } + } + else if (context.Current == CloseBrace) + { + // When we encounter Closed brace here, it either means end of the parameter or it is a closed + // brace in the parameter, in that case it needs to be escaped. + // Example: {p1:regex(([}}])\w+}. First pair is escaped one and last marks end of the parameter + if (!context.MoveNext()) + { + // This is the end of the string -and we have a valid parameter + break; + } + + if (context.Current == CloseBrace) + { + // This is an 'escaped' brace in a parameter name + } + else + { + // This is the end of the parameter + break; + } + } + + if (!context.MoveNext()) + { + // This is a dangling open-brace, which is not allowed + context.Error = Resources.TemplateRoute_MismatchedParameter; + return false; + } + } + + var text = context.Capture(); + if (text == "{}") + { + context.Error = Resources.FormatTemplateRoute_InvalidParameterName(string.Empty); + return false; + } + + var inside = text.Substring(1, text.Length - 2); + var decoded = inside.Replace("}}", "}").Replace("{{", "{"); + + // At this point, we need to parse the raw name for inline constraint, + // default values and optional parameters. + var templatePart = RouteParameterParser.ParseRouteParameter(decoded); + + // See #475 - this is here because InlineRouteParameterParser can't return errors + if (decoded.StartsWith("*", StringComparison.Ordinal) && decoded.EndsWith("?", StringComparison.Ordinal)) + { + context.Error = Resources.TemplateRoute_CatchAllCannotBeOptional; + return false; + } + + if (templatePart.IsOptional && templatePart.Default != null) + { + // Cannot be optional and have a default value. + // The only way to declare an optional parameter is to have a ? at the end, + // hence we cannot have both default value and optional parameter within the template. + // A workaround is to add it as a separate entry in the defaults argument. + context.Error = Resources.TemplateRoute_OptionalCannotHaveDefaultValue; + return false; + } + + var parameterName = templatePart.Name; + if (IsValidParameterName(context, parameterName)) + { + parts.Add(templatePart); + return true; + } + else + { + return false; + } + } + + private static bool ParseLiteral(Context context, List parts) + { + context.Mark(); + + while (true) + { + if (context.Current == Separator) + { + // End of the segment + break; + } + else if (context.Current == OpenBrace) + { + if (!context.MoveNext()) + { + // This is a dangling open-brace, which is not allowed + context.Error = Resources.TemplateRoute_MismatchedParameter; + return false; + } + + if (context.Current == OpenBrace) + { + // This is an 'escaped' brace in a literal, like "{{foo" - keep going. + } + else + { + // We've just seen the start of a parameter, so back up. + context.Back(); + break; + } + } + else if (context.Current == CloseBrace) + { + if (!context.MoveNext()) + { + // This is a dangling close-brace, which is not allowed + context.Error = Resources.TemplateRoute_MismatchedParameter; + return false; + } + + if (context.Current == CloseBrace) + { + // This is an 'escaped' brace in a literal, like "{{foo" - keep going. + } + else + { + // This is an unbalanced close-brace, which is not allowed + context.Error = Resources.TemplateRoute_MismatchedParameter; + return false; + } + } + + if (!context.MoveNext()) + { + break; + } + } + + var encoded = context.Capture(); + var decoded = encoded.Replace("}}", "}").Replace("{{", "{"); + if (IsValidLiteral(context, decoded)) + { + parts.Add(RoutePatternFactory.LiteralPart(decoded)); + return true; + } + else + { + return false; + } + } + + private static bool IsAllValid(Context context, List segments) + { + // A catch-all parameter must be the last part of the last segment + for (var i = 0; i < segments.Count; i++) + { + var segment = segments[i]; + for (var j = 0; j < segment.Parts.Count; j++) + { + var part = segment.Parts[j]; + if (part is RoutePatternParameterPart parameter + && parameter.IsCatchAll && + (i != segments.Count - 1 || j != segment.Parts.Count - 1)) + { + context.Error = Resources.TemplateRoute_CatchAllMustBeLast; + return false; + } + } + } + + return true; + } + + private static bool IsSegmentValid(Context context, List parts) + { + // If a segment has multiple parts, then it can't contain a catch all. + for (var i = 0; i < parts.Count; i++) + { + var part = parts[i]; + if (part is RoutePatternParameterPart parameter && parameter.IsCatchAll && parts.Count > 1) + { + context.Error = Resources.TemplateRoute_CannotHaveCatchAllInMultiSegment; + return false; + } + } + + // if a segment has multiple parts, then only the last one parameter can be optional + // if it is following a optional seperator. + for (var i = 0; i < parts.Count; i++) + { + var part = parts[i]; + + if (part is RoutePatternParameterPart parameter && parameter.IsOptional && parts.Count > 1) + { + // This optional parameter is the last part in the segment + if (i == parts.Count - 1) + { + var previousPart = parts[i - 1]; + + if (!previousPart.IsLiteral && !previousPart.IsSeparator) + { + // The optional parameter is preceded by something that is not a literal or separator + // Example of error message: + // "In the segment '{RouteValue}{param?}', the optional parameter 'param' is preceded + // by an invalid segment '{RouteValue}'. Only a period (.) can precede an optional parameter. + context.Error = string.Format( + Resources.TemplateRoute_OptionalParameterCanbBePrecededByPeriod, + RoutePatternPathSegment.DebuggerToString(parts), + parameter.Name, + parts[i - 1].DebuggerToString()); + + return false; + } + else if (previousPart is RoutePatternLiteralPart literal && literal.Content != PeriodString) + { + // The optional parameter is preceded by a literal other than period. + // Example of error message: + // "In the segment '{RouteValue}-{param?}', the optional parameter 'param' is preceded + // by an invalid segment '-'. Only a period (.) can precede an optional parameter. + context.Error = string.Format( + Resources.TemplateRoute_OptionalParameterCanbBePrecededByPeriod, + RoutePatternPathSegment.DebuggerToString(parts), + parameter.Name, + parts[i - 1].DebuggerToString()); + + return false; + } + + parts[i - 1] = RoutePatternFactory.SeparatorPart(((RoutePatternLiteralPart)previousPart).Content); + } + else + { + // This optional parameter is not the last one in the segment + // Example: + // An optional parameter must be at the end of the segment. In the segment '{RouteValue?})', + // optional parameter 'RouteValue' is followed by ')' + context.Error = string.Format( + Resources.TemplateRoute_OptionalParameterHasTobeTheLast, + RoutePatternPathSegment.DebuggerToString(parts), + parameter.Name, + parts[i + 1].DebuggerToString()); + + return false; + } + } + } + + // A segment cannot contain two consecutive parameters + var isLastSegmentParameter = false; + for (var i = 0; i < parts.Count; i++) + { + var part = parts[i]; + if (part.IsParameter && isLastSegmentParameter) + { + context.Error = Resources.TemplateRoute_CannotHaveConsecutiveParameters; + return false; + } + + isLastSegmentParameter = part.IsParameter; + } + + return true; + } + + private static bool IsValidParameterName(Context context, string parameterName) + { + if (parameterName.Length == 0 || parameterName.IndexOfAny(InvalidParameterNameChars) >= 0) + { + context.Error = Resources.FormatTemplateRoute_InvalidParameterName(parameterName); + return false; + } + + if (!context.ParameterNames.Add(parameterName)) + { + context.Error = Resources.FormatTemplateRoute_RepeatedParameter(parameterName); + return false; + } + + return true; + } + + private static bool IsValidLiteral(Context context, string literal) + { + Debug.Assert(context != null); + Debug.Assert(literal != null); + + if (literal.IndexOf(QuestionMark) != -1) + { + context.Error = Resources.FormatTemplateRoute_InvalidLiteral(literal); + return false; + } + + return true; + } + + private static string TrimPrefix(string routePattern) + { + if (routePattern.StartsWith("~/", StringComparison.Ordinal)) + { + return routePattern.Substring(2); + } + else if (routePattern.StartsWith("/", StringComparison.Ordinal)) + { + return routePattern.Substring(1); + } + else if (routePattern.StartsWith("~", StringComparison.Ordinal)) + { + throw new RoutePatternException(routePattern, Resources.TemplateRoute_InvalidRouteTemplate); + } + return routePattern; + } + + [DebuggerDisplay("{DebuggerToString()}")] + private class Context + { + private readonly string _template; + private int _index; + private int? _mark; + + private readonly HashSet _parameterNames = new HashSet(StringComparer.OrdinalIgnoreCase); + + public Context(string template) + { + Debug.Assert(template != null); + _template = template; + + _index = -1; + } + + public char Current + { + get { return (_index < _template.Length && _index >= 0) ? _template[_index] : (char)0; } + } + + public int Index => _index; + + public string Error + { + get; + set; + } + + public HashSet ParameterNames + { + get { return _parameterNames; } + } + + public bool Back() + { + return --_index >= 0; + } + + public bool AtEnd() + { + return _index >= _template.Length; + } + + public bool MoveNext() + { + return ++_index < _template.Length; + } + + public void Mark() + { + Debug.Assert(_index >= 0); + + // Index is always the index of the character *past* Current - we want to 'mark' Current. + _mark = _index; + } + + public string Capture() + { + if (_mark.HasValue) + { + var value = _template.Substring(_mark.Value, _index - _mark.Value); + _mark = null; + return value; + } + else + { + return null; + } + } + + private string DebuggerToString() + { + if (_index == -1) + { + return _template; + } + else if (_mark.HasValue) + { + return _template.Substring(0, _mark.Value) + + "|" + + _template.Substring(_mark.Value, _index - _mark.Value) + + "|" + + _template.Substring(_index); + } + else + { + return _template.Substring(0, _index) + "|" + _template.Substring(_index); + } + } + } + } +} diff --git a/src/Microsoft.AspNetCore.Routing/Patterns/RoutePatternPart.cs b/src/Microsoft.AspNetCore.Routing/Patterns/RoutePatternPart.cs new file mode 100644 index 0000000000..7ea3865699 --- /dev/null +++ b/src/Microsoft.AspNetCore.Routing/Patterns/RoutePatternPart.cs @@ -0,0 +1,27 @@ +// Copyright (c) .NET Foundation. All rights reserved. +// Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information. + +namespace Microsoft.AspNetCore.Routing.Patterns +{ + public abstract class RoutePatternPart + { + // This class is **not** an extensibility point - every part of the routing system + // needs to be aware of what kind of parts we support. + // + // It is abstract so we can add semantics later inside the library. + private protected RoutePatternPart(RoutePatternPartKind partKind) + { + PartKind = partKind; + } + + public RoutePatternPartKind PartKind { get; } + + public bool IsLiteral => PartKind == RoutePatternPartKind.Literal; + + public bool IsParameter => PartKind == RoutePatternPartKind.Parameter; + + public bool IsSeparator => PartKind == RoutePatternPartKind.Separator; + + internal abstract string DebuggerToString(); + } +} diff --git a/src/Microsoft.AspNetCore.Routing/Patterns/RoutePatternPartKind.cs b/src/Microsoft.AspNetCore.Routing/Patterns/RoutePatternPartKind.cs new file mode 100644 index 0000000000..1dfaad0250 --- /dev/null +++ b/src/Microsoft.AspNetCore.Routing/Patterns/RoutePatternPartKind.cs @@ -0,0 +1,12 @@ +// Copyright (c) .NET Foundation. All rights reserved. +// Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information. + +namespace Microsoft.AspNetCore.Routing.Patterns +{ + public enum RoutePatternPartKind + { + Literal, + Parameter, + Separator, + } +} diff --git a/src/Microsoft.AspNetCore.Routing/Patterns/RoutePatternPathSegment.cs b/src/Microsoft.AspNetCore.Routing/Patterns/RoutePatternPathSegment.cs new file mode 100644 index 0000000000..96c2a86592 --- /dev/null +++ b/src/Microsoft.AspNetCore.Routing/Patterns/RoutePatternPathSegment.cs @@ -0,0 +1,32 @@ +// Copyright (c) .NET Foundation. All rights reserved. +// Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information. + +using System.Collections.Generic; +using System.Diagnostics; +using System.Linq; + +namespace Microsoft.AspNetCore.Routing.Patterns +{ + [DebuggerDisplay("{DebuggerToString()}")] + public sealed class RoutePatternPathSegment + { + internal RoutePatternPathSegment(RoutePatternPart[] parts) + { + Parts = parts; + } + + public bool IsSimple => Parts.Count == 1; + + public IReadOnlyList Parts { get; } + + internal string DebuggerToString() + { + return DebuggerToString(Parts); + } + + internal static string DebuggerToString(IReadOnlyList parts) + { + return string.Join(string.Empty, parts.Select(p => p.DebuggerToString())); + } + } +} diff --git a/src/Microsoft.AspNetCore.Routing/Patterns/RoutePatternSeparatorPart.cs b/src/Microsoft.AspNetCore.Routing/Patterns/RoutePatternSeparatorPart.cs new file mode 100644 index 0000000000..19333a9467 --- /dev/null +++ b/src/Microsoft.AspNetCore.Routing/Patterns/RoutePatternSeparatorPart.cs @@ -0,0 +1,26 @@ +// Copyright (c) .NET Foundation. All rights reserved. +// Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information. + +using System.Diagnostics; + +namespace Microsoft.AspNetCore.Routing.Patterns +{ + [DebuggerDisplay("{DebuggerToString()}")] + public sealed class RoutePatternSeparatorPart : RoutePatternPart + { + internal RoutePatternSeparatorPart(string content) + : base(RoutePatternPartKind.Separator) + { + Debug.Assert(!string.IsNullOrEmpty(content)); + + Content = content; + } + + public string Content { get; } + + internal override string DebuggerToString() + { + return Content; + } + } +} diff --git a/src/Microsoft.AspNetCore.Routing/Properties/Resources.Designer.cs b/src/Microsoft.AspNetCore.Routing/Properties/Resources.Designer.cs index 9384008378..b3f0ee2d2e 100644 --- a/src/Microsoft.AspNetCore.Routing/Properties/Resources.Designer.cs +++ b/src/Microsoft.AspNetCore.Routing/Properties/Resources.Designer.cs @@ -416,6 +416,48 @@ namespace Microsoft.AspNetCore.Routing internal static string FormatAmbiguousEndpoints(object p0, object p1) => string.Format(CultureInfo.CurrentCulture, GetString("AmbiguousEndpoints"), p0, p1); + /// + /// Value cannot be null or empty. + /// + internal static string Argument_NullOrEmpty + { + get => GetString("Argument_NullOrEmpty"); + } + + /// + /// Value cannot be null or empty. + /// + internal static string FormatArgument_NullOrEmpty() + => GetString("Argument_NullOrEmpty"); + + /// + /// The collection cannot be empty. + /// + internal static string RoutePatternBuilder_CollectionCannotBeEmpty + { + get => GetString("RoutePatternBuilder_CollectionCannotBeEmpty"); + } + + /// + /// The collection cannot be empty. + /// + internal static string FormatRoutePatternBuilder_CollectionCannotBeEmpty() + => GetString("RoutePatternBuilder_CollectionCannotBeEmpty"); + + /// + /// The constraint entry '{0}' - '{1}' must have a string value or be of a type which implements '{2}'. + /// + internal static string ConstraintMustBeStringOrConstraint + { + get => GetString("ConstraintMustBeStringOrConstraint"); + } + + /// + /// The constraint entry '{0}' - '{1}' must have a string value or be of a type which implements '{2}'. + /// + internal static string FormatConstraintMustBeStringOrConstraint(object p0, object p1, object p2) + => string.Format(CultureInfo.CurrentCulture, GetString("ConstraintMustBeStringOrConstraint"), p0, p1, p2); + private static string GetString(string name, params string[] formatterNames) { var value = _resourceManager.GetString(name); diff --git a/src/Microsoft.AspNetCore.Routing/Resources.resx b/src/Microsoft.AspNetCore.Routing/Resources.resx index 354bdfda0e..f5db3ec8d0 100644 --- a/src/Microsoft.AspNetCore.Routing/Resources.resx +++ b/src/Microsoft.AspNetCore.Routing/Resources.resx @@ -204,4 +204,13 @@ The request matched multiple endpoints. Matches: {0}{0}{1} + + Value cannot be null or empty. + + + The collection cannot be empty. + + + The constraint entry '{0}' - '{1}' must have a string value or be of a type which implements '{2}'. + \ No newline at end of file diff --git a/src/Microsoft.AspNetCore.Routing/RouteCollection.cs b/src/Microsoft.AspNetCore.Routing/RouteCollection.cs index b25748552c..512107274e 100644 --- a/src/Microsoft.AspNetCore.Routing/RouteCollection.cs +++ b/src/Microsoft.AspNetCore.Routing/RouteCollection.cs @@ -161,7 +161,7 @@ namespace Microsoft.AspNetCore.Routing queryString = queryString.ToLowerInvariant(); } - if (_options.AppendTrailingSlash && !urlWithoutQueryString.EndsWith("/")) + if (_options.AppendTrailingSlash && !urlWithoutQueryString.EndsWith("/", StringComparison.Ordinal)) { urlWithoutQueryString += "/"; } diff --git a/src/Microsoft.AspNetCore.Routing/Template/InlineConstraint.cs b/src/Microsoft.AspNetCore.Routing/Template/InlineConstraint.cs index 5c50eefb0e..6b17cf88c5 100644 --- a/src/Microsoft.AspNetCore.Routing/Template/InlineConstraint.cs +++ b/src/Microsoft.AspNetCore.Routing/Template/InlineConstraint.cs @@ -2,6 +2,7 @@ // Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information. using System; +using Microsoft.AspNetCore.Routing.Patterns; namespace Microsoft.AspNetCore.Routing.Template { @@ -24,6 +25,16 @@ namespace Microsoft.AspNetCore.Routing.Template Constraint = constraint; } + public InlineConstraint(RoutePatternConstraintReference other) + { + if (other == null) + { + throw new ArgumentNullException(nameof(other)); + } + + Constraint = other.Content; + } + /// /// Gets the constraint text. /// diff --git a/src/Microsoft.AspNetCore.Routing/Template/RouteTemplate.cs b/src/Microsoft.AspNetCore.Routing/Template/RouteTemplate.cs index d482f3a1b4..ff41bf6af7 100644 --- a/src/Microsoft.AspNetCore.Routing/Template/RouteTemplate.cs +++ b/src/Microsoft.AspNetCore.Routing/Template/RouteTemplate.cs @@ -5,6 +5,7 @@ using System; using System.Collections.Generic; using System.Diagnostics; using System.Linq; +using Microsoft.AspNetCore.Routing.Patterns; namespace Microsoft.AspNetCore.Routing.Template { @@ -13,6 +14,25 @@ namespace Microsoft.AspNetCore.Routing.Template { private const string SeparatorString = "/"; + public RouteTemplate(RoutePattern other) + { + TemplateText = other.RawText; + Segments = new List(other.PathSegments.Select(p => new TemplateSegment(p))); + Parameters = new List(); + for (var i = 0; i < Segments.Count; i++) + { + var segment = Segments[i]; + for (var j = 0; j < segment.Parts.Count; j++) + { + var part = segment.Parts[j]; + if (part.IsParameter) + { + Parameters.Add(part); + } + } + } + } + public RouteTemplate(string template, List segments) { if (segments == null) @@ -78,5 +98,16 @@ namespace Microsoft.AspNetCore.Routing.Template return null; } + + /// + /// Converts the to the equivalent + /// + /// + /// A . + public RoutePattern ToRoutePattern() + { + var segments = Segments.Select(s => s.ToRoutePatternPathSegment()); + return RoutePatternFactory.Pattern(TemplateText, segments); + } } } diff --git a/src/Microsoft.AspNetCore.Routing/Template/TemplateMatcher.cs b/src/Microsoft.AspNetCore.Routing/Template/TemplateMatcher.cs index e7cc2ab9f5..ebb0a0d779 100644 --- a/src/Microsoft.AspNetCore.Routing/Template/TemplateMatcher.cs +++ b/src/Microsoft.AspNetCore.Routing/Template/TemplateMatcher.cs @@ -2,10 +2,8 @@ // Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information. using System; -using System.Collections.Generic; -using System.Diagnostics; +using Microsoft.AspNetCore.Routing; using Microsoft.AspNetCore.Http; -using Microsoft.AspNetCore.Routing.Internal; namespace Microsoft.AspNetCore.Routing.Template { @@ -19,6 +17,7 @@ namespace Microsoft.AspNetCore.Routing.Template private readonly object[] _defaultValues; private static readonly char[] Delimiters = new char[] { SeparatorChar }; + private RoutePatternMatcher _routePatternMatcher; public TemplateMatcher( RouteTemplate template, @@ -57,6 +56,9 @@ namespace Microsoft.AspNetCore.Routing.Template _defaultValues[i] = value; } } + + var routePattern = Template.ToRoutePattern(); + _routePatternMatcher = new RoutePatternMatcher(routePattern, Defaults); } public RouteValueDictionary Defaults { get; } @@ -70,387 +72,7 @@ namespace Microsoft.AspNetCore.Routing.Template throw new ArgumentNullException(nameof(values)); } - var i = 0; - var pathTokenizer = new PathTokenizer(path); - - // Perf: We do a traversal of the request-segments + route-segments twice. - // - // For most segment-types, we only really need to any work on one of the two passes. - // - // On the first pass, we're just looking to see if there's anything that would disqualify us from matching. - // The most common case would be a literal segment that doesn't match. - // - // On the second pass, we're almost certainly going to match the URL, so go ahead and allocate the 'values' - // and start capturing strings. - foreach (var pathSegment in pathTokenizer) - { - if (pathSegment.Length == 0) - { - return false; - } - - var routeSegment = Template.GetSegment(i++); - if (routeSegment == null && pathSegment.Length > 0) - { - // If routeSegment is null, then we're out of route segments. All we can match is the empty - // string. - return false; - } - else if (routeSegment.IsSimple && routeSegment.Parts[0].IsLiteral) - { - // This is a literal segment, so we need to match the text, or the route isn't a match. - var part = routeSegment.Parts[0]; - if (!pathSegment.Equals(part.Text, StringComparison.OrdinalIgnoreCase)) - { - return false; - } - } - else if (routeSegment.IsSimple && routeSegment.Parts[0].IsCatchAll) - { - // Nothing to validate for a catch-all - it can match any string, including the empty string. - // - // Also, a catch-all has to be the last part, so we're done. - break; - } - else if (routeSegment.IsSimple && routeSegment.Parts[0].IsParameter) - { - // For a parameter, validate that it's a has some length, or we have a default, or it's optional. - var part = routeSegment.Parts[0]; - if (pathSegment.Length == 0 && - !_hasDefaultValue[i] && - !part.IsOptional) - { - // There's no value for this parameter, the route can't match. - return false; - } - } - else - { - Debug.Assert(!routeSegment.IsSimple); - - // Don't attempt to validate a complex segment at this point other than being non-emtpy, - // do it in the second pass. - } - } - - for (; i < Template.Segments.Count; i++) - { - // We've matched the request path so far, but still have remaining route segments. These need - // to be all single-part parameter segments with default values or else they won't match. - var routeSegment = Template.GetSegment(i); - Debug.Assert(routeSegment != null); - - if (!routeSegment.IsSimple) - { - // If the segment is a complex segment, it MUST contain literals, and we've parsed the full - // path so far, so it can't match. - return false; - } - - var part = routeSegment.Parts[0]; - if (part.IsLiteral) - { - // If the segment is a simple literal - which need the URL to provide a value, so we don't match. - return false; - } - - if (part.IsCatchAll) - { - // Nothing to validate for a catch-all - it can match any string, including the empty string. - // - // Also, a catch-all has to be the last part, so we're done. - break; - } - - // If we get here, this is a simple segment with a parameter. We need it to be optional, or for the - // defaults to have a value. - Debug.Assert(routeSegment.IsSimple && part.IsParameter); - if (!_hasDefaultValue[i] && !part.IsOptional) - { - // There's no default for this (non-optional) parameter so it can't match. - return false; - } - } - - // At this point we've very likely got a match, so start capturing values for real. - - i = 0; - foreach (var requestSegment in pathTokenizer) - { - var routeSegment = Template.GetSegment(i++); - - if (routeSegment.IsSimple && routeSegment.Parts[0].IsCatchAll) - { - // A catch-all captures til the end of the string. - var part = routeSegment.Parts[0]; - var captured = requestSegment.Buffer.Substring(requestSegment.Offset); - if (captured.Length > 0) - { - values[part.Name] = captured; - } - else - { - // It's ok for a catch-all to produce a null value, so we don't check _hasDefaultValue. - values[part.Name] = _defaultValues[i]; - } - - // A catch-all has to be the last part, so we're done. - break; - } - else if (routeSegment.IsSimple && routeSegment.Parts[0].IsParameter) - { - // A simple parameter captures the whole segment, or a default value if nothing was - // provided. - var part = routeSegment.Parts[0]; - if (requestSegment.Length > 0) - { - values[part.Name] = requestSegment.ToString(); - } - else - { - if (_hasDefaultValue[i]) - { - values[part.Name] = _defaultValues[i]; - } - } - } - else if (!routeSegment.IsSimple) - { - if (!MatchComplexSegment(routeSegment, requestSegment.ToString(), Defaults, values)) - { - return false; - } - } - } - - for (; i < Template.Segments.Count; i++) - { - // We've matched the request path so far, but still have remaining route segments. We already know these - // are simple parameters that either have a default, or don't need to produce a value. - var routeSegment = Template.GetSegment(i); - Debug.Assert(routeSegment != null); - Debug.Assert(routeSegment.IsSimple); - - var part = routeSegment.Parts[0]; - Debug.Assert(part.IsParameter); - - // It's ok for a catch-all to produce a null value - if (_hasDefaultValue[i] || part.IsCatchAll) - { - // Don't replace an existing value with a null. - var defaultValue = _defaultValues[i]; - if (defaultValue != null || !values.ContainsKey(part.Name)) - { - values[part.Name] = defaultValue; - } - } - } - - // Copy all remaining default values to the route data - foreach (var kvp in Defaults) - { - if (!values.ContainsKey(kvp.Key)) - { - values.Add(kvp.Key, kvp.Value); - } - } - - return true; - } - - private bool MatchComplexSegment( - TemplateSegment routeSegment, - string requestSegment, - IReadOnlyDictionary defaults, - RouteValueDictionary values) - { - var indexOfLastSegment = routeSegment.Parts.Count - 1; - - // We match the request to the template starting at the rightmost parameter - // If the last segment of template is optional, then request can match the - // template with or without the last parameter. So we start with regular matching, - // but if it doesn't match, we start with next to last parameter. Example: - // Template: {p1}/{p2}.{p3?}. If the request is one/two.three it will match right away - // giving p3 value of three. But if the request is one/two, we start matching from the - // rightmost giving p3 the value of two, then we end up not matching the segment. - // In this case we start again from p2 to match the request and we succeed giving - // the value two to p2 - if (routeSegment.Parts[indexOfLastSegment].IsOptional && - routeSegment.Parts[indexOfLastSegment - 1].IsOptionalSeperator) - { - if (MatchComplexSegmentCore(routeSegment, requestSegment, Defaults, values, indexOfLastSegment)) - { - return true; - } - else - { - if (requestSegment.EndsWith( - routeSegment.Parts[indexOfLastSegment - 1].Text, - StringComparison.OrdinalIgnoreCase)) - { - return false; - } - - return MatchComplexSegmentCore( - routeSegment, - requestSegment, - Defaults, - values, - indexOfLastSegment - 2); - } - } - else - { - return MatchComplexSegmentCore(routeSegment, requestSegment, Defaults, values, indexOfLastSegment); - } - } - - private bool MatchComplexSegmentCore( - TemplateSegment routeSegment, - string requestSegment, - IReadOnlyDictionary defaults, - RouteValueDictionary values, - int indexOfLastSegmentUsed) - { - Debug.Assert(routeSegment != null); - Debug.Assert(routeSegment.Parts.Count > 1); - - // Find last literal segment and get its last index in the string - var lastIndex = requestSegment.Length; - - TemplatePart parameterNeedsValue = null; // Keeps track of a parameter segment that is pending a value - TemplatePart lastLiteral = null; // Keeps track of the left-most literal we've encountered - - var outValues = new RouteValueDictionary(); - - while (indexOfLastSegmentUsed >= 0) - { - var newLastIndex = lastIndex; - - var part = routeSegment.Parts[indexOfLastSegmentUsed]; - if (part.IsParameter) - { - // Hold on to the parameter so that we can fill it in when we locate the next literal - parameterNeedsValue = part; - } - else - { - Debug.Assert(part.IsLiteral); - lastLiteral = part; - - var startIndex = lastIndex - 1; - // If we have a pending parameter subsegment, we must leave at least one character for that - if (parameterNeedsValue != null) - { - startIndex--; - } - - if (startIndex < 0) - { - return false; - } - - var indexOfLiteral = requestSegment.LastIndexOf( - part.Text, - startIndex, - StringComparison.OrdinalIgnoreCase); - if (indexOfLiteral == -1) - { - // If we couldn't find this literal index, this segment cannot match - return false; - } - - // If the first subsegment is a literal, it must match at the right-most extent of the request URI. - // Without this check if your route had "/Foo/" we'd match the request URI "/somethingFoo/". - // This check is related to the check we do at the very end of this function. - if (indexOfLastSegmentUsed == (routeSegment.Parts.Count - 1)) - { - if ((indexOfLiteral + part.Text.Length) != requestSegment.Length) - { - return false; - } - } - - newLastIndex = indexOfLiteral; - } - - if ((parameterNeedsValue != null) && - (((lastLiteral != null) && (part.IsLiteral)) || (indexOfLastSegmentUsed == 0))) - { - // If we have a pending parameter that needs a value, grab that value - - int parameterStartIndex; - int parameterTextLength; - - if (lastLiteral == null) - { - if (indexOfLastSegmentUsed == 0) - { - parameterStartIndex = 0; - } - else - { - parameterStartIndex = newLastIndex; - Debug.Assert(false, "indexOfLastSegementUsed should always be 0 from the check above"); - } - parameterTextLength = lastIndex; - } - else - { - // If we're getting a value for a parameter that is somewhere in the middle of the segment - if ((indexOfLastSegmentUsed == 0) && (part.IsParameter)) - { - parameterStartIndex = 0; - parameterTextLength = lastIndex; - } - else - { - parameterStartIndex = newLastIndex + lastLiteral.Text.Length; - parameterTextLength = lastIndex - parameterStartIndex; - } - } - - var parameterValueString = requestSegment.Substring(parameterStartIndex, parameterTextLength); - - if (string.IsNullOrEmpty(parameterValueString)) - { - // If we're here that means we have a segment that contains multiple sub-segments. - // For these segments all parameters must have non-empty values. If the parameter - // has an empty value it's not a match. - return false; - - } - else - { - // If there's a value in the segment for this parameter, use the subsegment value - outValues.Add(parameterNeedsValue.Name, parameterValueString); - } - - parameterNeedsValue = null; - lastLiteral = null; - } - - lastIndex = newLastIndex; - indexOfLastSegmentUsed--; - } - - // If the last subsegment is a parameter, it's OK that we didn't parse all the way to the left extent of - // the string since the parameter will have consumed all the remaining text anyway. If the last subsegment - // is a literal then we *must* have consumed the entire text in that literal. Otherwise we end up matching - // the route "Foo" to the request URI "somethingFoo". Thus we have to check that we parsed the *entire* - // request URI in order for it to be a match. - // This check is related to the check we do earlier in this function for LiteralSubsegments. - if (lastIndex == 0 || routeSegment.Parts[0].IsParameter) - { - foreach (var item in outValues) - { - values.Add(item.Key, item.Value); - } - - return true; - } - - return false; + return _routePatternMatcher.TryMatch(path, values); } } } diff --git a/src/Microsoft.AspNetCore.Routing/Template/TemplateParser.cs b/src/Microsoft.AspNetCore.Routing/Template/TemplateParser.cs index 0168b22a4b..ad1afe86e6 100644 --- a/src/Microsoft.AspNetCore.Routing/Template/TemplateParser.cs +++ b/src/Microsoft.AspNetCore.Routing/Template/TemplateParser.cs @@ -1,539 +1,29 @@ -// Copyright (c) .NET Foundation. All rights reserved. +// Copyright (c) .NET Foundation. All rights reserved. // Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information. using System; -using System.Collections.Generic; -using System.Diagnostics; -using System.Globalization; +using Microsoft.AspNetCore.Routing.Patterns; namespace Microsoft.AspNetCore.Routing.Template { public static class TemplateParser { - private const char Separator = '/'; - private const char OpenBrace = '{'; - private const char CloseBrace = '}'; - private const char EqualsSign = '='; - private const char QuestionMark = '?'; - private const char Asterisk = '*'; - private const string PeriodString = "."; - public static RouteTemplate Parse(string routeTemplate) { if (routeTemplate == null) { - routeTemplate = String.Empty; + throw new ArgumentNullException(routeTemplate); } - var trimmedRouteTemplate = TrimPrefix(routeTemplate); - - var context = new TemplateParserContext(trimmedRouteTemplate); - var segments = new List(); - - while (context.Next()) + try { - if (context.Current == Separator) - { - // If we get here is means that there's a consecutive '/' character. - // Templates don't start with a '/' and parsing a segment consumes the separator. - throw new ArgumentException(Resources.TemplateRoute_CannotHaveConsecutiveSeparators, - nameof(routeTemplate)); - } - else - { - if (!ParseSegment(context, segments)) - { - throw new ArgumentException(context.Error, nameof(routeTemplate)); - } - } + var inner = RoutePatternFactory.Parse(routeTemplate); + return new RouteTemplate(inner); } - - if (IsAllValid(context, segments)) + catch (RoutePatternException ex) { - return new RouteTemplate(routeTemplate, segments); - } - else - { - throw new ArgumentException(context.Error, nameof(routeTemplate)); - } - } - - private static string TrimPrefix(string routeTemplate) - { - if (routeTemplate.StartsWith("~/", StringComparison.Ordinal)) - { - return routeTemplate.Substring(2); - } - else if (routeTemplate.StartsWith("/", StringComparison.Ordinal)) - { - return routeTemplate.Substring(1); - } - else if (routeTemplate.StartsWith("~", StringComparison.Ordinal)) - { - throw new ArgumentException(Resources.TemplateRoute_InvalidRouteTemplate, nameof(routeTemplate)); - } - return routeTemplate; - } - - private static bool ParseSegment(TemplateParserContext context, List segments) - { - Debug.Assert(context != null); - Debug.Assert(segments != null); - - var segment = new TemplateSegment(); - - while (true) - { - if (context.Current == OpenBrace) - { - if (!context.Next()) - { - // This is a dangling open-brace, which is not allowed - context.Error = Resources.TemplateRoute_MismatchedParameter; - return false; - } - - if (context.Current == OpenBrace) - { - // This is an 'escaped' brace in a literal, like "{{foo" - context.Back(); - if (!ParseLiteral(context, segment)) - { - return false; - } - } - else - { - // This is the inside of a parameter - if (!ParseParameter(context, segment)) - { - return false; - } - } - } - else if (context.Current == Separator) - { - // We've reached the end of the segment - break; - } - else - { - if (!ParseLiteral(context, segment)) - { - return false; - } - } - - if (!context.Next()) - { - // We've reached the end of the string - break; - } - } - - if (IsSegmentValid(context, segment)) - { - segments.Add(segment); - return true; - } - else - { - return false; - } - } - - private static bool ParseParameter(TemplateParserContext context, TemplateSegment segment) - { - context.Mark(); - - while (true) - { - if (context.Current == OpenBrace) - { - // This is an open brace inside of a parameter, it has to be escaped - if (context.Next()) - { - if (context.Current != OpenBrace) - { - // If we see something like "{p1:regex(^\d{3", we will come here. - context.Error = Resources.TemplateRoute_UnescapedBrace; - return false; - } - } - else - { - // This is a dangling open-brace, which is not allowed - // Example: "{p1:regex(^\d{" - context.Error = Resources.TemplateRoute_MismatchedParameter; - return false; - } - } - else if (context.Current == CloseBrace) - { - // When we encounter Closed brace here, it either means end of the parameter or it is a closed - // brace in the parameter, in that case it needs to be escaped. - // Example: {p1:regex(([}}])\w+}. First pair is escaped one and last marks end of the parameter - if (!context.Next()) - { - // This is the end of the string -and we have a valid parameter - context.Back(); - break; - } - - if (context.Current == CloseBrace) - { - // This is an 'escaped' brace in a parameter name - } - else - { - // This is the end of the parameter - context.Back(); - break; - } - } - - if (!context.Next()) - { - // This is a dangling open-brace, which is not allowed - context.Error = Resources.TemplateRoute_MismatchedParameter; - return false; - } - } - - var rawParameter = context.Capture(); - var decoded = rawParameter.Replace("}}", "}").Replace("{{", "{"); - - // At this point, we need to parse the raw name for inline constraint, - // default values and optional parameters. - var templatePart = InlineRouteParameterParser.ParseRouteParameter(decoded); - - if (templatePart.IsCatchAll && templatePart.IsOptional) - { - context.Error = Resources.TemplateRoute_CatchAllCannotBeOptional; - return false; - } - - if (templatePart.IsOptional && templatePart.DefaultValue != null) - { - // Cannot be optional and have a default value. - // The only way to declare an optional parameter is to have a ? at the end, - // hence we cannot have both default value and optional parameter within the template. - // A workaround is to add it as a separate entry in the defaults argument. - context.Error = Resources.TemplateRoute_OptionalCannotHaveDefaultValue; - return false; - } - - var parameterName = templatePart.Name; - if (IsValidParameterName(context, parameterName)) - { - segment.Parts.Add(templatePart); - return true; - } - else - { - return false; - } - } - - private static bool ParseLiteral(TemplateParserContext context, TemplateSegment segment) - { - context.Mark(); - - string encoded; - while (true) - { - if (context.Current == Separator) - { - encoded = context.Capture(); - context.Back(); - break; - } - else if (context.Current == OpenBrace) - { - if (!context.Next()) - { - // This is a dangling open-brace, which is not allowed - context.Error = Resources.TemplateRoute_MismatchedParameter; - return false; - } - - if (context.Current == OpenBrace) - { - // This is an 'escaped' brace in a literal, like "{{foo" - keep going. - } - else - { - // We've just seen the start of a parameter, so back up and return - context.Back(); - encoded = context.Capture(); - context.Back(); - break; - } - } - else if (context.Current == CloseBrace) - { - if (!context.Next()) - { - // This is a dangling close-brace, which is not allowed - context.Error = Resources.TemplateRoute_MismatchedParameter; - return false; - } - - if (context.Current == CloseBrace) - { - // This is an 'escaped' brace in a literal, like "{{foo" - keep going. - } - else - { - // This is an unbalanced close-brace, which is not allowed - context.Error = Resources.TemplateRoute_MismatchedParameter; - return false; - } - } - - if (!context.Next()) - { - encoded = context.Capture(); - break; - } - } - - var decoded = encoded.Replace("}}", "}").Replace("{{", "{"); - if (IsValidLiteral(context, decoded)) - { - segment.Parts.Add(TemplatePart.CreateLiteral(decoded)); - return true; - } - else - { - return false; - } - } - - private static bool IsAllValid(TemplateParserContext context, List segments) - { - // A catch-all parameter must be the last part of the last segment - for (var i = 0; i < segments.Count; i++) - { - var segment = segments[i]; - for (var j = 0; j < segment.Parts.Count; j++) - { - var part = segment.Parts[j]; - if (part.IsParameter && - part.IsCatchAll && - (i != segments.Count - 1 || j != segment.Parts.Count - 1)) - { - context.Error = Resources.TemplateRoute_CatchAllMustBeLast; - return false; - } - } - } - - return true; - } - - private static bool IsSegmentValid(TemplateParserContext context, TemplateSegment segment) - { - // If a segment has multiple parts, then it can't contain a catch all. - for (var i = 0; i < segment.Parts.Count; i++) - { - var part = segment.Parts[i]; - if (part.IsParameter && part.IsCatchAll && segment.Parts.Count > 1) - { - context.Error = Resources.TemplateRoute_CannotHaveCatchAllInMultiSegment; - return false; - } - } - - // if a segment has multiple parts, then only the last one parameter can be optional - // if it is following a optional seperator. - for (var i = 0; i < segment.Parts.Count; i++) - { - var part = segment.Parts[i]; - - if (part.IsParameter && part.IsOptional && segment.Parts.Count > 1) - { - // This optional parameter is the last part in the segment - if (i == segment.Parts.Count - 1) - { - if (!segment.Parts[i - 1].IsLiteral) - { - // The optional parameter is preceded by something that is not a literal. - // Example of error message: - // "In the segment '{RouteValue}{param?}', the optional parameter 'param' is preceded - // by an invalid segment '{RouteValue}'. Only a period (.) can precede an optional parameter. - context.Error = string.Format( - Resources.TemplateRoute_OptionalParameterCanbBePrecededByPeriod, - segment.DebuggerToString(), - part.Name, - segment.Parts[i - 1].DebuggerToString()); - - return false; - } - else if (segment.Parts[i - 1].Text != PeriodString) - { - // The optional parameter is preceded by a literal other than period. - // Example of error message: - // "In the segment '{RouteValue}-{param?}', the optional parameter 'param' is preceded - // by an invalid segment '-'. Only a period (.) can precede an optional parameter. - context.Error = string.Format( - Resources.TemplateRoute_OptionalParameterCanbBePrecededByPeriod, - segment.DebuggerToString(), - part.Name, - segment.Parts[i - 1].Text); - - return false; - } - - segment.Parts[i - 1].IsOptionalSeperator = true; - } - else - { - // This optional parameter is not the last one in the segment - // Example: - // An optional parameter must be at the end of the segment.In the segment '{RouteValue?})', - // optional parameter 'RouteValue' is followed by ')' - var nextPart = segment.Parts[i + 1]; - var invalidPartText = nextPart.IsParameter ? nextPart.Name : nextPart.Text; - - context.Error = string.Format( - Resources.TemplateRoute_OptionalParameterHasTobeTheLast, - segment.DebuggerToString(), - segment.Parts[i].Name, - invalidPartText); - - return false; - } - } - } - - // A segment cannot contain two consecutive parameters - var isLastSegmentParameter = false; - for (var i = 0; i < segment.Parts.Count; i++) - { - var part = segment.Parts[i]; - if (part.IsParameter && isLastSegmentParameter) - { - context.Error = Resources.TemplateRoute_CannotHaveConsecutiveParameters; - return false; - } - - isLastSegmentParameter = part.IsParameter; - } - - return true; - } - - private static bool IsValidParameterName(TemplateParserContext context, string parameterName) - { - if (parameterName.Length == 0) - { - context.Error = String.Format(CultureInfo.CurrentCulture, - Resources.TemplateRoute_InvalidParameterName, parameterName); - return false; - } - - for (var i = 0; i < parameterName.Length; i++) - { - var c = parameterName[i]; - if (c == Separator || c == OpenBrace || c == CloseBrace || c == QuestionMark || c == Asterisk) - { - context.Error = String.Format(CultureInfo.CurrentCulture, - Resources.TemplateRoute_InvalidParameterName, parameterName); - return false; - } - } - - if (!context.ParameterNames.Add(parameterName)) - { - context.Error = String.Format(CultureInfo.CurrentCulture, - Resources.TemplateRoute_RepeatedParameter, parameterName); - return false; - } - - return true; - } - - private static bool IsValidLiteral(TemplateParserContext context, string literal) - { - Debug.Assert(context != null); - Debug.Assert(literal != null); - - if (literal.IndexOf(QuestionMark) != -1) - { - context.Error = String.Format(CultureInfo.CurrentCulture, - Resources.TemplateRoute_InvalidLiteral, literal); - return false; - } - - return true; - } - - private static bool IsInvalidRouteTemplate(string routeTemplate) - { - return routeTemplate.StartsWith("~", StringComparison.Ordinal) || - routeTemplate.StartsWith("/", StringComparison.Ordinal); - } - - private class TemplateParserContext - { - private readonly string _template; - private int _index; - private int? _mark; - - private HashSet _parameterNames = new HashSet(StringComparer.OrdinalIgnoreCase); - - public TemplateParserContext(string template) - { - Debug.Assert(template != null); - _template = template; - - _index = -1; - } - - public char Current - { - get { return (_index < _template.Length && _index >= 0) ? _template[_index] : (char)0; } - } - - public string Error - { - get; - set; - } - - public HashSet ParameterNames - { - get { return _parameterNames; } - } - - public bool Back() - { - return --_index >= 0; - } - - public bool Next() - { - return ++_index < _template.Length; - } - - public void Mark() - { - _mark = _index; - } - - public string Capture() - { - if (_mark.HasValue) - { - var value = _template.Substring(_mark.Value, _index - _mark.Value); - _mark = null; - return value; - } - else - { - return null; - } + // Preserving the existing behavior of this API even though the logic moved. + throw new ArgumentException(ex.Message, nameof(routeTemplate), ex); } } } diff --git a/src/Microsoft.AspNetCore.Routing/Template/TemplatePart.cs b/src/Microsoft.AspNetCore.Routing/Template/TemplatePart.cs index 70f588a41a..c8ba0b319c 100644 --- a/src/Microsoft.AspNetCore.Routing/Template/TemplatePart.cs +++ b/src/Microsoft.AspNetCore.Routing/Template/TemplatePart.cs @@ -5,12 +5,47 @@ using System; using System.Collections.Generic; using System.Diagnostics; using System.Linq; +using Microsoft.AspNetCore.Routing.Patterns; namespace Microsoft.AspNetCore.Routing.Template { [DebuggerDisplay("{DebuggerToString()}")] public class TemplatePart { + public TemplatePart() + { + } + + public TemplatePart(RoutePatternPart other) + { + IsLiteral = other.IsLiteral || other.IsSeparator; + IsParameter = other.IsParameter; + + if (other.IsLiteral && other is RoutePatternLiteralPart literal) + { + Text = literal.Content; + } + else if (other.IsParameter && other is RoutePatternParameterPart parameter) + { + // Text is unused by TemplatePart and assumed to be null when the part is a parameter. + Name = parameter.Name; + IsCatchAll = parameter.IsCatchAll; + IsOptional = parameter.IsOptional; + DefaultValue = parameter.Default; + InlineConstraints = parameter.Constraints?.Select(p => new InlineConstraint(p)); + } + else if (other.IsSeparator && other is RoutePatternSeparatorPart separator) + { + Text = separator.Content; + IsOptionalSeperator = true; + } + else + { + // Unreachable + throw new NotSupportedException(); + } + } + public static TemplatePart CreateLiteral(string text) { return new TemplatePart() @@ -20,11 +55,12 @@ namespace Microsoft.AspNetCore.Routing.Template }; } - public static TemplatePart CreateParameter(string name, - bool isCatchAll, - bool isOptional, - object defaultValue, - IEnumerable inlineConstraints) + public static TemplatePart CreateParameter( + string name, + bool isCatchAll, + bool isOptional, + object defaultValue, + IEnumerable inlineConstraints) { if (name == null) { @@ -63,5 +99,28 @@ namespace Microsoft.AspNetCore.Routing.Template return Text; } } + + public RoutePatternPart ToRoutePatternPart() + { + if (IsLiteral && IsOptionalSeperator) + { + return RoutePatternFactory.SeparatorPart(Text); + } + else if (IsLiteral) + { + return RoutePatternFactory.LiteralPart(Text); + } + else + { + var kind = IsCatchAll ? + RoutePatternParameterKind.CatchAll : + IsOptional ? + RoutePatternParameterKind.Optional : + RoutePatternParameterKind.Standard; + + var constraints = InlineConstraints.Select(c => new RoutePatternConstraintReference(Name, c.Constraint)); + return RoutePatternFactory.ParameterPart(Name, DefaultValue, kind, constraints); + } + } } } diff --git a/src/Microsoft.AspNetCore.Routing/Template/TemplateSegment.cs b/src/Microsoft.AspNetCore.Routing/Template/TemplateSegment.cs index 4a86526509..a3aec42686 100644 --- a/src/Microsoft.AspNetCore.Routing/Template/TemplateSegment.cs +++ b/src/Microsoft.AspNetCore.Routing/Template/TemplateSegment.cs @@ -4,19 +4,36 @@ using System.Collections.Generic; using System.Diagnostics; using System.Linq; +using Microsoft.AspNetCore.Routing.Patterns; namespace Microsoft.AspNetCore.Routing.Template { [DebuggerDisplay("{DebuggerToString()}")] public class TemplateSegment { + public TemplateSegment() + { + Parts = new List(); + } + + public TemplateSegment(RoutePatternPathSegment other) + { + Parts = new List(other.Parts.Select(s => new TemplatePart(s))); + } + public bool IsSimple => Parts.Count == 1; - public List Parts { get; } = new List(); + public List Parts { get; } internal string DebuggerToString() { return string.Join(string.Empty, Parts.Select(p => p.DebuggerToString())); } + + public RoutePatternPathSegment ToRoutePatternPathSegment() + { + var parts = Parts.Select(p => p.ToRoutePatternPart()); + return RoutePatternFactory.Segment(parts); + } } } diff --git a/test/Microsoft.AspNetCore.Routing.Tests/Patterns/InlineRouteParameterParserTest.cs b/test/Microsoft.AspNetCore.Routing.Tests/Patterns/InlineRouteParameterParserTest.cs new file mode 100644 index 0000000000..87ab942b23 --- /dev/null +++ b/test/Microsoft.AspNetCore.Routing.Tests/Patterns/InlineRouteParameterParserTest.cs @@ -0,0 +1,946 @@ +// Copyright (c) .NET Foundation. All rights reserved. +// Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information. + +using System.Linq; +using Xunit; + +namespace Microsoft.AspNetCore.Routing.Patterns +{ + public class InlineRouteParameterParserTest + { + [Theory] + [InlineData("=")] + [InlineData(":")] + public void ParseRouteParameter_WithoutADefaultValue(string parameterName) + { + // Arrange & Act + var templatePart = ParseParameter(parameterName); + + // Assert + Assert.Equal(parameterName, templatePart.Name); + Assert.Null(templatePart.Default); + Assert.Empty(templatePart.Constraints); + } + + [Fact] + public void ParseRouteParameter_WithEmptyDefaultValue() + { + // Arrange & Act + var templatePart = ParseParameter("param="); + + // Assert + Assert.Equal("param", templatePart.Name); + Assert.Equal("", templatePart.Default); + Assert.Empty(templatePart.Constraints); + } + + [Fact] + public void ParseRouteParameter_WithoutAConstraintName() + { + // Arrange & Act + var templatePart = ParseParameter("param:"); + + // Assert + Assert.Equal("param", templatePart.Name); + Assert.Null(templatePart.Default); + Assert.Empty(templatePart.Constraints); + } + + [Fact] + public void ParseRouteParameter_WithoutAConstraintNameOrParameterName() + { + // Arrange & Act + var templatePart = ParseParameter("param:="); + + // Assert + Assert.Equal("param", templatePart.Name); + Assert.Equal("", templatePart.Default); + Assert.Empty(templatePart.Constraints); + } + + [Fact] + public void ParseRouteParameter_WithADefaultValueContainingConstraintSeparator() + { + // Arrange & Act + var templatePart = ParseParameter("param=:"); + + // Assert + Assert.Equal("param", templatePart.Name); + Assert.Equal(":", templatePart.Default); + Assert.Empty(templatePart.Constraints); + } + + [Fact] + public void ParseRouteParameter_ConstraintAndDefault_ParsedCorrectly() + { + // Arrange & Act + var templatePart = ParseParameter("param:int=111111"); + + // Assert + Assert.Equal("param", templatePart.Name); + Assert.Equal("111111", templatePart.Default); + + var constraint = Assert.Single(templatePart.Constraints); + Assert.Equal("int", constraint.Content); + } + + [Fact] + public void ParseRouteParameter_ConstraintWithArgumentsAndDefault_ParsedCorrectly() + { + // Arrange & Act + var templatePart = ParseParameter(@"param:test(\d+)=111111"); + + // Assert + Assert.Equal("param", templatePart.Name); + Assert.Equal("111111", templatePart.Default); + + var constraint = Assert.Single(templatePart.Constraints); + Assert.Equal(@"test(\d+)", constraint.Content); + } + + [Fact] + public void ParseRouteParameter_ConstraintAndOptional_ParsedCorrectly() + { + // Arrange & Act + var templatePart = ParseParameter(@"param:int?"); + + // Assert + Assert.Equal("param", templatePart.Name); + Assert.True(templatePart.IsOptional); + + var constraint = Assert.Single(templatePart.Constraints); + Assert.Equal("int", constraint.Content); + } + + [Fact] + public void ParseRouteParameter_ConstraintAndOptional_WithDefaultValue_ParsedCorrectly() + { + // Arrange & Act + var templatePart = ParseParameter(@"param:int=12?"); + + // Assert + Assert.Equal("param", templatePart.Name); + Assert.Equal("12", templatePart.Default); + Assert.True(templatePart.IsOptional); + + var constraint = Assert.Single(templatePart.Constraints); + Assert.Equal("int", constraint.Content); + } + + [Fact] + public void ParseRouteParameter_ConstraintAndOptional_WithDefaultValueWithQuestionMark_ParsedCorrectly() + { + // Arrange & Act + var templatePart = ParseParameter(@"param:int=12??"); + + // Assert + Assert.Equal("param", templatePart.Name); + Assert.Equal("12?", templatePart.Default); + Assert.True(templatePart.IsOptional); + + var constraint = Assert.Single(templatePart.Constraints); + Assert.Equal("int", constraint.Content); + } + + [Fact] + public void ParseRouteParameter_ConstraintWithArgumentsAndOptional_ParsedCorrectly() + { + // Arrange & Act + var templatePart = ParseParameter(@"param:test(\d+)?"); + + // Assert + Assert.Equal("param", templatePart.Name); + Assert.True(templatePart.IsOptional); + + var constraint = Assert.Single(templatePart.Constraints); + Assert.Equal(@"test(\d+)", constraint.Content); + } + + [Fact] + public void ParseRouteParameter_ConstraintWithArgumentsAndOptional_WithDefaultValue_ParsedCorrectly() + { + // Arrange & Act + var templatePart = ParseParameter(@"param:test(\d+)=abc?"); + + // Assert + Assert.Equal("param", templatePart.Name); + Assert.True(templatePart.IsOptional); + + Assert.Equal("abc", templatePart.Default); + + var constraint = Assert.Single(templatePart.Constraints); + Assert.Equal(@"test(\d+)", constraint.Content); + } + + [Fact] + public void ParseRouteParameter_ChainedConstraints_ParsedCorrectly() + { + // Arrange & Act + var templatePart = ParseParameter(@"param:test(d+):test(w+)"); + + // Assert + Assert.Equal("param", templatePart.Name); + + Assert.Collection(templatePart.Constraints, + constraint => Assert.Equal(@"test(d+)", constraint.Content), + constraint => Assert.Equal(@"test(w+)", constraint.Content)); + } + + [Fact] + public void ParseRouteParameter_ChainedConstraints_DoubleDelimiters_ParsedCorrectly() + { + // Arrange & Act + var templatePart = ParseParameter(@"param::test(d+)::test(w+)"); + + // Assert + Assert.Equal("param", templatePart.Name); + + Assert.Collection( + templatePart.Constraints, + constraint => Assert.Equal(@"test(d+)", constraint.Content), + constraint => Assert.Equal(@"test(w+)", constraint.Content)); + } + + [Fact] + public void ParseRouteParameter_ChainedConstraints_ColonInPattern_ParsedCorrectly() + { + // Arrange & Act + var templatePart = ParseParameter(@"param:test(\d+):test(\w:+)"); + + // Assert + Assert.Equal("param", templatePart.Name); + + Assert.Collection(templatePart.Constraints, + constraint => Assert.Equal(@"test(\d+)", constraint.Content), + constraint => Assert.Equal(@"test(\w:+)", constraint.Content)); + } + + [Fact] + public void ParseRouteParameter_ChainedConstraints_WithDefaultValue_ParsedCorrectly() + { + // Arrange & Act + var templatePart = ParseParameter(@"param:test(\d+):test(\w+)=qwer"); + + // Assert + Assert.Equal("param", templatePart.Name); + + Assert.Equal("qwer", templatePart.Default); + + Assert.Collection(templatePart.Constraints, + constraint => Assert.Equal(@"test(\d+)", constraint.Content), + constraint => Assert.Equal(@"test(\w+)", constraint.Content)); + } + + [Fact] + public void ParseRouteParameter_ChainedConstraints_WithDefaultValue_DoubleDelimiters_ParsedCorrectly() + { + // Arrange & Act + var templatePart = ParseParameter(@"param:test(\d+)::test(\w+)==qwer"); + + // Assert + Assert.Equal("param", templatePart.Name); + + Assert.Equal("=qwer", templatePart.Default); + + Assert.Collection( + templatePart.Constraints, + constraint => Assert.Equal(@"test(\d+)", constraint.Content), + constraint => Assert.Equal(@"test(\w+)", constraint.Content)); + } + + [Theory] + [InlineData("=")] + [InlineData("+=")] + [InlineData(">= || <= || ==")] + public void ParseRouteParameter_WithDefaultValue_ContainingDelimiter(string defaultValue) + { + // Arrange & Act + var templatePart = ParseParameter($"comparison-operator:length(6)={defaultValue}"); + + // Assert + Assert.Equal("comparison-operator", templatePart.Name); + Assert.Equal(defaultValue, templatePart.Default); + + var constraint = Assert.Single(templatePart.Constraints); + Assert.Equal("length(6)", constraint.Content); + } + + [Fact] + public void ParseRouteTemplate_ConstraintsDefaultsAndOptionalsInMultipleSections_ParsedCorrectly() + { + // Arrange & Act + var routePattern = RoutePatternFactory.Parse(@"some/url-{p1:int:test(3)=hello}/{p2=abc}/{p3?}"); + + // Assert + var parameters = routePattern.Parameters.ToArray(); + + var param1 = parameters[0]; + Assert.Equal("p1", param1.Name); + Assert.Equal("hello", param1.Default); + Assert.False(param1.IsOptional); + + Assert.Collection(param1.Constraints, + constraint => Assert.Equal("int", constraint.Content), + constraint => Assert.Equal("test(3)", constraint.Content) + ); + + var param2 = parameters[1]; + Assert.Equal("p2", param2.Name); + Assert.Equal("abc", param2.Default); + Assert.False(param2.IsOptional); + + var param3 = parameters[2]; + Assert.Equal("p3", param3.Name); + Assert.True(param3.IsOptional); + } + + [Fact] + public void ParseRouteParameter_NoTokens_ParsedCorrectly() + { + // Arrange & Act + var templatePart = ParseParameter("world"); + + // Assert + Assert.Equal("world", templatePart.Name); + } + + [Fact] + public void ParseRouteParameter_ParamDefault_ParsedCorrectly() + { + // Arrange & Act + var templatePart = ParseParameter("param=world"); + + // Assert + Assert.Equal("param", templatePart.Name); + Assert.Equal("world", templatePart.Default); + } + + [Fact] + public void ParseRouteParameter_ConstraintWithClosingBraceInPattern_ClosingBraceIsParsedCorrectly() + { + // Arrange & Act + var templatePart = ParseParameter(@"param:test(\})"); + + // Assert + Assert.Equal("param", templatePart.Name); + + var constraint = Assert.Single(templatePart.Constraints); + Assert.Equal(@"test(\})", constraint.Content); + } + + [Fact] + public void ParseRouteParameter_ConstraintWithClosingBraceInPattern_WithDefaultValue_ParsedCorrectly() + { + // Arrange & Act + var templatePart = ParseParameter(@"param:test(\})=wer"); + + // Assert + Assert.Equal("param", templatePart.Name); + + Assert.Equal("wer", templatePart.Default); + + var constraint = Assert.Single(templatePart.Constraints); + Assert.Equal(@"test(\})", constraint.Content); + } + + [Fact] + public void ParseRouteParameter_ConstraintWithClosingParenInPattern_ClosingParenIsParsedCorrectly() + { + // Arrange & Act + var templatePart = ParseParameter(@"param:test(\))"); + + // Assert + Assert.Equal("param", templatePart.Name); + + var constraint = Assert.Single(templatePart.Constraints); + Assert.Equal(@"test(\))", constraint.Content); + } + + [Fact] + public void ParseRouteParameter_ConstraintWithClosingParenInPattern_WithDefaultValue_ParsedCorrectly() + { + // Arrange & Act + var templatePart = ParseParameter(@"param:test(\))=fsd"); + + // Assert + Assert.Equal("param", templatePart.Name); + + Assert.Equal("fsd", templatePart.Default); + + var constraint = Assert.Single(templatePart.Constraints); + Assert.Equal(@"test(\))", constraint.Content); + } + + [Fact] + public void ParseRouteParameter_ConstraintWithColonInPattern_ColonIsParsedCorrectly() + { + // Arrange & Act + var templatePart = ParseParameter(@"param:test(:)"); + + // Assert + Assert.Equal("param", templatePart.Name); + + var constraint = Assert.Single(templatePart.Constraints); + Assert.Equal(@"test(:)", constraint.Content); + } + + [Fact] + public void ParseRouteParameter_ConstraintWithColonInPattern_WithDefaultValue_ParsedCorrectly() + { + // Arrange & Act + var templatePart = ParseParameter(@"param:test(:)=mnf"); + + // Assert + Assert.Equal("param", templatePart.Name); + + Assert.Equal("mnf", templatePart.Default); + + var constraint = Assert.Single(templatePart.Constraints); + Assert.Equal(@"test(:)", constraint.Content); + } + + [Fact] + public void ParseRouteParameter_ConstraintWithColonsInPattern_ParsedCorrectly() + { + // Arrange & Act + var templatePart = ParseParameter(@"param:test(a:b:c)"); + + // Assert + Assert.Equal("param", templatePart.Name); + + var constraint = Assert.Single(templatePart.Constraints); + Assert.Equal(@"test(a:b:c)", constraint.Content); + } + + [Fact] + public void ParseRouteParameter_ConstraintWithColonInParamName_ParsedCorrectly() + { + // Arrange & Act + var templatePart = ParseParameter(@":param:test=12"); + + // Assert + Assert.Equal(":param", templatePart.Name); + + Assert.Equal("12", templatePart.Default); + + var constraint = Assert.Single(templatePart.Constraints); + Assert.Equal("test", constraint.Content); + } + + [Fact] + public void ParseRouteParameter_ConstraintWithTwoColonInParamName_ParsedCorrectly() + { + // Arrange & Act + var templatePart = ParseParameter(@":param::test=12"); + + // Assert + Assert.Equal(":param", templatePart.Name); + + Assert.Equal("12", templatePart.Default); + + Assert.Collection( + templatePart.Constraints, + constraint => Assert.Equal("test", constraint.Content)); + } + + [Fact] + public void ParseRouteParameter_EmptyConstraint_ParsedCorrectly() + { + // Arrange & Act + var templatePart = ParseParameter(@":param:test:"); + + // Assert + Assert.Equal(":param", templatePart.Name); + + Assert.Collection( + templatePart.Constraints, + constraint => Assert.Equal("test", constraint.Content)); + } + + [Fact] + public void ParseRouteParameter_ConstraintWithCommaInPattern_PatternIsParsedCorrectly() + { + // Arrange & Act + var templatePart = ParseParameter(@"param:test(\w,\w)"); + + // Assert + Assert.Equal("param", templatePart.Name); + + var constraint = Assert.Single(templatePart.Constraints); + Assert.Equal(@"test(\w,\w)", constraint.Content); + } + + [Fact] + public void ParseRouteParameter_ConstraintWithCommaInName_ParsedCorrectly() + { + // Arrange & Act + var templatePart = ParseParameter(@"par,am:test(\w)"); + + // Assert + Assert.Equal("par,am", templatePart.Name); + + var constraint = Assert.Single(templatePart.Constraints); + Assert.Equal(@"test(\w)", constraint.Content); + } + + [Fact] + public void ParseRouteParameter_ConstraintWithCommaInPattern_WithDefaultValue_ParsedCorrectly() + { + // Arrange & Act + var templatePart = ParseParameter(@"param:test(\w,\w)=jsd"); + + // Assert + Assert.Equal("param", templatePart.Name); + + Assert.Equal("jsd", templatePart.Default); + + var constraint = Assert.Single(templatePart.Constraints); + Assert.Equal(@"test(\w,\w)", constraint.Content); + } + + [Fact] + public void ParseRouteParameter_ConstraintWithEqualsFollowedByQuestionMark_PatternIsParsedCorrectly() + { + // Arrange & Act + var templatePart = ParseParameter(@"param:int=?"); + + // Assert + Assert.Equal("param", templatePart.Name); + Assert.Equal("", templatePart.Default); + + Assert.True(templatePart.IsOptional); + + var constraint = Assert.Single(templatePart.Constraints); + Assert.Equal("int", constraint.Content); + } + + [Fact] + public void ParseRouteParameter_ConstraintWithEqualsSignInPattern_PatternIsParsedCorrectly() + { + // Arrange & Act + var templatePart = ParseParameter(@"param:test(=)"); + + // Assert + Assert.Equal("param", templatePart.Name); + Assert.Null(templatePart.Default); + + var constraint = Assert.Single(templatePart.Constraints); + Assert.Equal("test(=)", constraint.Content); + } + + [Fact] + public void ParseRouteParameter_EqualsSignInDefaultValue_ParsedCorrectly() + { + // Arrange & Act + var templatePart = ParseParameter(@"param=test=bar"); + + // Assert + Assert.Equal("param", templatePart.Name); + Assert.Equal("test=bar", templatePart.Default); + } + + [Fact] + public void ParseRouteParameter_ConstraintWithEqualEqualSignInPattern_ParsedCorrectly() + { + // Arrange & Act + var templatePart = ParseParameter(@"param:test(a==b)"); + + // Assert + Assert.Equal("param", templatePart.Name); + Assert.Null(templatePart.Default); + + var constraint = Assert.Single(templatePart.Constraints); + Assert.Equal("test(a==b)", constraint.Content); + } + + [Fact] + public void ParseRouteParameter_ConstraintWithEqualEqualSignInPattern_WithDefaultValue_ParsedCorrectly() + { + // Arrange & Act + var templatePart = ParseParameter(@"param:test(a==b)=dvds"); + + // Assert + Assert.Equal("param", templatePart.Name); + Assert.Equal("dvds", templatePart.Default); + + var constraint = Assert.Single(templatePart.Constraints); + Assert.Equal("test(a==b)", constraint.Content); + } + + [Fact] + public void ParseRouteParameter_EqualEqualSignInName_WithDefaultValue_ParsedCorrectly() + { + // Arrange & Act + var templatePart = ParseParameter(@"par==am:test=dvds"); + + // Assert + Assert.Equal("par", templatePart.Name); + Assert.Equal("=am:test=dvds", templatePart.Default); + } + + [Fact] + public void ParseRouteParameter_EqualEqualSignInDefaultValue_ParsedCorrectly() + { + // Arrange & Act + var templatePart = ParseParameter(@"param:test==dvds"); + + // Assert + Assert.Equal("param", templatePart.Name); + Assert.Equal("=dvds", templatePart.Default); + } + + [Fact] + public void ParseRouteParameter_DefaultValueWithColonAndParens_ParsedCorrectly() + { + // Arrange & Act + var templatePart = ParseParameter(@"par=am:test(asd)"); + + // Assert + Assert.Equal("par", templatePart.Name); + Assert.Equal("am:test(asd)", templatePart.Default); + } + + [Fact] + public void ParseRouteParameter_DefaultValueWithEqualsSignIn_ParsedCorrectly() + { + // Arrange & Act + var templatePart = ParseParameter(@"par=test(am):est=asd"); + + // Assert + Assert.Equal("par", templatePart.Name); + Assert.Equal("test(am):est=asd", templatePart.Default); + } + + [Fact] + public void ParseRouteParameter_ConstraintWithEqualsSignInPattern_WithDefaultValue_ParsedCorrectly() + { + // Arrange & Act + var templatePart = ParseParameter(@"param:test(=)=sds"); + + // Assert + Assert.Equal("param", templatePart.Name); + Assert.Equal("sds", templatePart.Default); + + var constraint = Assert.Single(templatePart.Constraints); + Assert.Equal("test(=)", constraint.Content); + } + + [Fact] + public void ParseRouteParameter_ConstraintWithOpenBraceInPattern_PatternIsParsedCorrectly() + { + // Arrange & Act + var templatePart = ParseParameter(@"param:test(\{)"); + + // Assert + Assert.Equal("param", templatePart.Name); + + var constraint = Assert.Single(templatePart.Constraints); + Assert.Equal(@"test(\{)", constraint.Content); + } + + [Fact] + public void ParseRouteParameter_ConstraintWithOpenBraceInName_ParsedCorrectly() + { + // Arrange & Act + var templatePart = ParseParameter(@"par{am:test(\sd)"); + + // Assert + Assert.Equal("par{am", templatePart.Name); + + var constraint = Assert.Single(templatePart.Constraints); + Assert.Equal(@"test(\sd)", constraint.Content); + } + + [Fact] + public void ParseRouteParameter_ConstraintWithOpenBraceInPattern_WithDefaultValue_ParsedCorrectly() + { + // Arrange & Act + var templatePart = ParseParameter(@"param:test(\{)=xvc"); + + // Assert + Assert.Equal("param", templatePart.Name); + + Assert.Equal("xvc", templatePart.Default); + + var constraint = Assert.Single(templatePart.Constraints); + Assert.Equal(@"test(\{)", constraint.Content); + } + + [Fact] + public void ParseRouteParameter_ConstraintWithOpenParenInName_ParsedCorrectly() + { + // Arrange & Act + var templatePart = ParseParameter(@"par(am:test(\()"); + + // Assert + Assert.Equal("par(am", templatePart.Name); + + var constraint = Assert.Single(templatePart.Constraints); + Assert.Equal(@"test(\()", constraint.Content); + } + + [Fact] + public void ParseRouteParameter_ConstraintWithOpenParenInPattern_ParsedCorrectly() + { + // Arrange & Act + var templatePart = ParseParameter(@"param:test(\()"); + + // Assert + Assert.Equal("param", templatePart.Name); + + var constraint = Assert.Single(templatePart.Constraints); + Assert.Equal(@"test(\()", constraint.Content); + } + + [Fact] + public void ParseRouteParameter_ConstraintWithOpenParenNoCloseParen_ParsedCorrectly() + { + // Arrange & Act + var templatePart = ParseParameter(@"param:test(#$%"); + + // Assert + Assert.Equal("param", templatePart.Name); + + var constraint = Assert.Single(templatePart.Constraints); + Assert.Equal("test(#$%", constraint.Content); + } + + [Fact] + public void ParseRouteParameter_ConstraintWithOpenParenAndColon_ParsedCorrectly() + { + // Arrange & Act + var templatePart = ParseParameter(@"param:test(#:test1"); + + // Assert + Assert.Equal("param", templatePart.Name); + + Assert.Collection(templatePart.Constraints, + constraint => Assert.Equal(@"test(#", constraint.Content), + constraint => Assert.Equal(@"test1", constraint.Content)); + } + + [Fact] + public void ParseRouteParameter_ConstraintWithOpenParenAndColonWithDefaultValue_ParsedCorrectly() + { + // Arrange & Act + var templatePart = ParseParameter(@"param:test(abc:somevalue):name(test1:differentname=default-value"); + + // Assert + Assert.Equal("param", templatePart.Name); + Assert.Equal("default-value", templatePart.Default); + + Assert.Collection(templatePart.Constraints, + constraint => Assert.Equal(@"test(abc:somevalue)", constraint.Content), + constraint => Assert.Equal(@"name(test1", constraint.Content), + constraint => Assert.Equal(@"differentname", constraint.Content)); + } + + [Fact] + public void ParseRouteParameter_ConstraintWithOpenParenAndDefaultValue_ParsedCorrectly() + { + // Arrange & Act + var templatePart = ParseParameter(@"param:test(constraintvalue=test1"); + + // Assert + Assert.Equal("param", templatePart.Name); + Assert.Equal("test1", templatePart.Default); + + var constraint = Assert.Single(templatePart.Constraints); + Assert.Equal(@"test(constraintvalue", constraint.Content); + } + + [Fact] + public void ParseRouteParameter_ConstraintWithOpenParenInPattern_WithDefaultValue_ParsedCorrectly() + { + // Arrange & Act + var templatePart = ParseParameter(@"param:test(\()=djk"); + + // Assert + Assert.Equal("param", templatePart.Name); + + Assert.Equal("djk", templatePart.Default); + + var constraint = Assert.Single(templatePart.Constraints); + Assert.Equal(@"test(\()", constraint.Content); + } + + [Fact] + public void ParseRouteParameter_ConstraintWithQuestionMarkInPattern_PatternIsParsedCorrectly() + { + // Arrange & Act + var templatePart = ParseParameter(@"param:test(\?)"); + + // Assert + Assert.Equal("param", templatePart.Name); + Assert.Null(templatePart.Default); + Assert.False(templatePart.IsOptional); + + var constraint = Assert.Single(templatePart.Constraints); + Assert.Equal(@"test(\?)", constraint.Content); + } + + [Fact] + public void ParseRouteParameter_ConstraintWithQuestionMarkInPattern_Optional_PatternIsParsedCorrectly() + { + // Arrange & Act + var templatePart = ParseParameter(@"param:test(\?)?"); + + // Assert + Assert.Equal("param", templatePart.Name); + Assert.Null(templatePart.Default); + Assert.True(templatePart.IsOptional); + + var constraint = Assert.Single(templatePart.Constraints); + Assert.Equal(@"test(\?)", constraint.Content); + } + + [Fact] + public void ParseRouteParameter_ConstraintWithQuestionMarkInPattern_WithDefaultValue_ParsedCorrectly() + { + // Arrange & Act + var templatePart = ParseParameter(@"param:test(\?)=sdf"); + + // Assert + Assert.Equal("param", templatePart.Name); + Assert.Equal("sdf", templatePart.Default); + Assert.False(templatePart.IsOptional); + + var constraint = Assert.Single(templatePart.Constraints); + Assert.Equal(@"test(\?)", constraint.Content); + } + + [Fact] + public void ParseRouteParameter_ConstraintWithQuestionMarkInPattern_Optional_WithDefaultValue_ParsedCorrectly() + { + // Arrange & Act + var templatePart = ParseParameter(@"param:test(\?)=sdf?"); + + // Assert + Assert.Equal("param", templatePart.Name); + Assert.Equal("sdf", templatePart.Default); + Assert.True(templatePart.IsOptional); + + var constraint = Assert.Single(templatePart.Constraints); + Assert.Equal(@"test(\?)", constraint.Content); + } + + [Fact] + public void ParseRouteParameter_ConstraintWithQuestionMarkInName_ParsedCorrectly() + { + // Arrange & Act + var templatePart = ParseParameter(@"par?am:test(\?)"); + + // Assert + Assert.Equal("par?am", templatePart.Name); + Assert.Null(templatePart.Default); + Assert.False(templatePart.IsOptional); + + var constraint = Assert.Single(templatePart.Constraints); + Assert.Equal(@"test(\?)", constraint.Content); + } + + [Fact] + public void ParseRouteParameter_ConstraintWithClosedParenAndColonInPattern_ParsedCorrectly() + { + // Arrange & Act + var templatePart = ParseParameter(@"param:test(#):$)"); + + // Assert + Assert.Equal("param", templatePart.Name); + Assert.Null(templatePart.Default); + Assert.False(templatePart.IsOptional); + + Assert.Collection(templatePart.Constraints, + constraint => Assert.Equal(@"test(#)", constraint.Content), + constraint => Assert.Equal(@"$)", constraint.Content)); + } + + [Fact] + public void ParseRouteParameter_ConstraintWithColonAndClosedParenInPattern_PatternIsParsedCorrectly() + { + // Arrange & Act + var templatePart = ParseParameter(@"param:test(#:)$)"); + + // Assert + Assert.Equal("param", templatePart.Name); + Assert.Null(templatePart.Default); + Assert.False(templatePart.IsOptional); + + var constraint = Assert.Single(templatePart.Constraints); + Assert.Equal(@"test(#:)$)", constraint.Content); + } + + [Fact] + public void ParseRouteParameter_ContainingMultipleUnclosedParenthesisInConstraint() + { + // Arrange & Act + var templatePart = ParseParameter(@"foo:regex(\\(\\(\\(\\()"); + + // Assert + Assert.Equal("foo", templatePart.Name); + Assert.Null(templatePart.Default); + Assert.False(templatePart.IsOptional); + + var constraint = Assert.Single(templatePart.Constraints); + Assert.Equal(@"regex(\\(\\(\\(\\()", constraint.Content); + } + + [Fact] + public void ParseRouteParameter_ConstraintWithBraces_PatternIsParsedCorrectly() + { + // Arrange & Act + var templatePart = ParseParameter(@"p1:regex(^\d{{3}}-\d{{3}}-\d{{4}}$)"); // ssn + + // Assert + Assert.Equal("p1", templatePart.Name); + Assert.Null(templatePart.Default); + Assert.False(templatePart.IsOptional); + + var constraint = Assert.Single(templatePart.Constraints); + Assert.Equal(@"regex(^\d{{3}}-\d{{3}}-\d{{4}}$)", constraint.Content); + } + + [Fact] + public void ParseRouteParameter_ConstraintWithBraces_WithDefaultValue() + { + // Arrange & Act + var templatePart = ParseParameter(@"p1:regex(^\d{{3}}-\d{{3}}-\d{{4}}$)=123-456-7890"); // ssn + + // Assert + Assert.Equal("p1", templatePart.Name); + Assert.Equal("123-456-7890", templatePart.Default); + Assert.False(templatePart.IsOptional); + + var constraint = Assert.Single(templatePart.Constraints); + Assert.Equal(@"regex(^\d{{3}}-\d{{3}}-\d{{4}}$)", constraint.Content); + } + + [Theory] + [InlineData("", "")] + [InlineData("?", "")] + [InlineData("*", "")] + [InlineData(" ", " ")] + [InlineData("\t", "\t")] + [InlineData("#!@#$%Q@#@%", "#!@#$%Q@#@%")] + [InlineData(",,,", ",,,")] + public void ParseRouteParameter_ParameterWithoutInlineConstraint_ReturnsTemplatePartWithEmptyInlineValues( + string parameter, + string expectedParameterName) + { + // Arrange & Act + var templatePart = ParseParameter(parameter); + + // Assert + Assert.Equal(expectedParameterName, templatePart.Name); + Assert.Empty(templatePart.Constraints); + Assert.Null(templatePart.Default); + } + + private RoutePatternParameterPart ParseParameter(string routeParameter) + { + // See: #475 - these tests don't pass the 'whole' text. + var templatePart = RouteParameterParser.ParseRouteParameter(routeParameter); + return templatePart; + } + } +} diff --git a/test/Microsoft.AspNetCore.Routing.Tests/Patterns/RoutePatternFactoryTest.cs b/test/Microsoft.AspNetCore.Routing.Tests/Patterns/RoutePatternFactoryTest.cs new file mode 100644 index 0000000000..34db4f7ffa --- /dev/null +++ b/test/Microsoft.AspNetCore.Routing.Tests/Patterns/RoutePatternFactoryTest.cs @@ -0,0 +1,247 @@ +// Copyright (c) .NET Foundation. All rights reserved. +// Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information. + +using System; +using System.Linq; +using Microsoft.AspNetCore.Routing.Constraints; +using Xunit; + +namespace Microsoft.AspNetCore.Routing.Patterns +{ + public class RoutePatternFactoryTest + { + [Fact] + public void Pattern_MergesDefaultValues() + { + // Arrange + var template = "{a}/{b}/{c=19}"; + var defaults = new { a = "15", b = 17 }; + var constraints = new { }; + + var original = RoutePatternFactory.Parse(template); + + // Act + var actual = RoutePatternFactory.Pattern( + original.RawText, + defaults, + constraints, + original.PathSegments); + + // Assert + Assert.Equal("15", actual.GetParameter("a").Default); + Assert.Equal(17, actual.GetParameter("b").Default); + Assert.Equal("19", actual.GetParameter("c").Default); + + Assert.Collection( + actual.Defaults.OrderBy(kvp => kvp.Key), + kvp => { Assert.Equal("a", kvp.Key); Assert.Equal("15", kvp.Value); }, + kvp => { Assert.Equal("b", kvp.Key); Assert.Equal(17, kvp.Value); }, + kvp => { Assert.Equal("c", kvp.Key); Assert.Equal("19", kvp.Value); }); + } + + [Fact] + public void Pattern_ExtraDefaultValues() + { + // Arrange + var template = "{a}/{b}/{c}"; + var defaults = new { d = "15", e = 17 }; + var constraints = new { }; + + var original = RoutePatternFactory.Parse(template); + + // Act + var actual = RoutePatternFactory.Pattern( + original.RawText, + defaults, + constraints, + original.PathSegments); + + // Assert + Assert.Collection( + actual.Defaults.OrderBy(kvp => kvp.Key), + kvp => { Assert.Equal("d", kvp.Key); Assert.Equal("15", kvp.Value); }, + kvp => { Assert.Equal("e", kvp.Key); Assert.Equal(17, kvp.Value); }); + } + + [Fact] + public void Pattern_DuplicateDefaultValue_Throws() + { + // Arrange + var template = "{a=13}/{b}/{c}"; + var defaults = new { a = "15", }; + var constraints = new { }; + + var original = RoutePatternFactory.Parse(template); + + // Act + var ex = Assert.Throws(() => RoutePatternFactory.Pattern( + original.RawText, + defaults, + constraints, + original.PathSegments)); + + // Assert + Assert.Equal( + "The route parameter 'a' has both an inline default value and an explicit default " + + "value specified. A route parameter cannot contain an inline default value when a " + + "default value is specified explicitly. Consider removing one of them.", + ex.Message); + } + + [Fact] + public void Pattern_OptionalParameterDefaultValue_Throws() + { + // Arrange + var template = "{a}/{b}/{c?}"; + var defaults = new { c = "15", }; + var constraints = new { }; + + var original = RoutePatternFactory.Parse(template); + + // Act + var ex = Assert.Throws(() => RoutePatternFactory.Pattern( + original.RawText, + defaults, + constraints, + original.PathSegments)); + + // Assert + Assert.Equal( + "An optional parameter cannot have default value.", + ex.Message); + } + + [Fact] + public void Pattern_MergesConstraints() + { + // Arrange + var template = "{a:int}/{b}/{c}"; + var defaults = new { }; + var constraints = new { a = new RegexRouteConstraint("foo"), b = new RegexRouteConstraint("bar") }; + + var original = RoutePatternFactory.Parse(template); + + // Act + var actual = RoutePatternFactory.Pattern( + original.RawText, + defaults, + constraints, + original.PathSegments); + + // Assert + Assert.Collection( + actual.GetParameter("a").Constraints, + c => Assert.IsType(c.Constraint), + c => Assert.Equal("int", c.Content)); + Assert.Collection( + actual.GetParameter("b").Constraints, + c => Assert.IsType(c.Constraint)); + + Assert.Collection( + actual.Constraints.OrderBy(kvp => kvp.Key), + kvp => + { + Assert.Equal("a", kvp.Key); + Assert.Collection( + kvp.Value, + c => Assert.IsType(c.Constraint), + c => Assert.Equal("int", c.Content)); + }, + kvp => + { + Assert.Equal("b", kvp.Key); + Assert.Collection( + kvp.Value, + c => Assert.IsType(c.Constraint)); + }); + } + + [Fact] + public void Pattern_ExtraConstraints() + { + // Arrange + var template = "{a}/{b}/{c}"; + var defaults = new { }; + var constraints = new { d = new RegexRouteConstraint("foo"), e = new RegexRouteConstraint("bar") }; + + var original = RoutePatternFactory.Parse(template); + + // Act + var actual = RoutePatternFactory.Pattern( + original.RawText, + defaults, + constraints, + original.PathSegments); + + // Assert + Assert.Collection( + actual.Constraints.OrderBy(kvp => kvp.Key), + kvp => + { + Assert.Equal("d", kvp.Key); + Assert.Collection( + kvp.Value, + c => Assert.IsType(c.Constraint)); + }, + kvp => + { + Assert.Equal("e", kvp.Key); + Assert.Collection( + kvp.Value, + c => Assert.IsType(c.Constraint)); + }); + } + + [Fact] + public void Pattern_CreatesConstraintFromString() + { + // Arrange + var template = "{a}/{b}/{c}"; + var defaults = new { }; + var constraints = new { d = "foo", }; + + var original = RoutePatternFactory.Parse(template); + + // Act + var actual = RoutePatternFactory.Pattern( + original.RawText, + defaults, + constraints, + original.PathSegments); + + // Assert + Assert.Collection( + actual.Constraints.OrderBy(kvp => kvp.Key), + kvp => + { + Assert.Equal("d", kvp.Key); + var regex = Assert.IsType(Assert.Single(kvp.Value).Constraint); + Assert.Equal("^(foo)$", regex.Constraint.ToString()); + }); + } + + [Fact] + public void Pattern_InvalidConstraintTypeThrows() + { + // Arrange + var template = "{a}/{b}/{c}"; + var defaults = new { }; + var constraints = new { d = 17, }; + + var original = RoutePatternFactory.Parse(template); + + // Act + var ex = Assert.Throws(() => RoutePatternFactory.Pattern( + original.RawText, + defaults, + constraints, + original.PathSegments)); + + // Assert + Assert.Equal( + "The constraint entry 'd' - '17' must have a string value or be of a type " + + "which implements 'Microsoft.AspNetCore.Routing.IRouteConstraint'.", + ex.Message); + } + } +} diff --git a/test/Microsoft.AspNetCore.Routing.Tests/Patterns/RoutePatternMatcherTest.cs b/test/Microsoft.AspNetCore.Routing.Tests/Patterns/RoutePatternMatcherTest.cs new file mode 100644 index 0000000000..b9a3f7f997 --- /dev/null +++ b/test/Microsoft.AspNetCore.Routing.Tests/Patterns/RoutePatternMatcherTest.cs @@ -0,0 +1,1131 @@ +// Copyright (c) .NET Foundation. All rights reserved. +// Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information. + +using System.Collections.Generic; +using Microsoft.AspNetCore.Routing.Patterns; +using Microsoft.AspNetCore.Http; +using Xunit; + +namespace Microsoft.AspNetCore.Routing +{ + public class RoutePatternMatcherTest + { + [Fact] + public void TryMatch_Success() + { + // Arrange + var matcher = CreateMatcher("{controller}/{action}/{id}"); + + var values = new RouteValueDictionary(); + + // Act + var match = matcher.TryMatch("/Bank/DoAction/123", values); + + // Assert + Assert.True(match); + Assert.Equal("Bank", values["controller"]); + Assert.Equal("DoAction", values["action"]); + Assert.Equal("123", values["id"]); + } + + [Fact] + public void TryMatch_Fails() + { + // Arrange + var matcher = CreateMatcher("{controller}/{action}/{id}"); + + var values = new RouteValueDictionary(); + + // Act + var match = matcher.TryMatch("/Bank/DoAction", values); + + // Assert + Assert.False(match); + } + + [Fact] + public void TryMatch_WithDefaults_Success() + { + // Arrange + var matcher = CreateMatcher("{controller}/{action}/{id}", new { id = "default id" }); + + var values = new RouteValueDictionary(); + + // Act + var match = matcher.TryMatch("/Bank/DoAction", values); + + // Assert + Assert.True(match); + Assert.Equal("Bank", values["controller"]); + Assert.Equal("DoAction", values["action"]); + Assert.Equal("default id", values["id"]); + } + + [Fact] + public void TryMatch_WithDefaults_Fails() + { + // Arrange + var matcher = CreateMatcher("{controller}/{action}/{id}", new { id = "default id" }); + + var values = new RouteValueDictionary(); + + // Act + var match = matcher.TryMatch("/Bank", values); + + // Assert + Assert.False(match); + } + + [Fact] + public void TryMatch_WithLiterals_Success() + { + // Arrange + var matcher = CreateMatcher("moo/{p1}/bar/{p2}", new { p2 = "default p2" }); + + var values = new RouteValueDictionary(); + + // Act + var match = matcher.TryMatch("/moo/111/bar/222", values); + + // Assert + Assert.True(match); + Assert.Equal("111", values["p1"]); + Assert.Equal("222", values["p2"]); + } + + [Fact] + public void TryMatch_RouteWithLiteralsAndDefaults_Success() + { + // Arrange + var matcher = CreateMatcher("moo/{p1}/bar/{p2}", new { p2 = "default p2" }); + + var values = new RouteValueDictionary(); + + // Act + var match = matcher.TryMatch("/moo/111/bar/", values); + + // Assert + Assert.True(match); + Assert.Equal("111", values["p1"]); + Assert.Equal("default p2", values["p2"]); + } + + [Theory] + [InlineData(@"{p1:regex(^\d{{3}}-\d{{3}}-\d{{4}}$)}", "/123-456-7890")] // ssn + [InlineData(@"{p1:regex(^\w+\@\w+\.\w+)}", "/asd@assds.com")] // email + [InlineData(@"{p1:regex(([}}])\w+)}", "/}sda")] // Not balanced } + [InlineData(@"{p1:regex(([{{)])\w+)}", "/})sda")] // Not balanced { + public void TryMatch_RegularExpressionConstraint_Valid( + string template, + string path) + { + // Arrange + var matcher = CreateMatcher(template); + + var values = new RouteValueDictionary(); + + // Act + var match = matcher.TryMatch(path, values); + + // Assert + Assert.True(match); + } + + [Theory] + [InlineData("moo/{p1}.{p2?}", "/moo/foo.bar", true, "foo", "bar")] + [InlineData("moo/{p1?}", "/moo/foo", true, "foo", null)] + [InlineData("moo/{p1?}", "/moo", true, null, null)] + [InlineData("moo/{p1}.{p2?}", "/moo/foo", true, "foo", null)] + [InlineData("moo/{p1}.{p2?}", "/moo/foo..bar", true, "foo.", "bar")] + [InlineData("moo/{p1}.{p2?}", "/moo/foo.moo.bar", true, "foo.moo", "bar")] + [InlineData("moo/{p1}.{p2}", "/moo/foo.bar", true, "foo", "bar")] + [InlineData("moo/foo.{p1}.{p2?}", "/moo/foo.moo.bar", true, "moo", "bar")] + [InlineData("moo/foo.{p1}.{p2?}", "/moo/foo.moo", true, "moo", null)] + [InlineData("moo/.{p2?}", "/moo/.foo", true, null, "foo")] + [InlineData("moo/.{p2?}", "/moo", false, null, null)] + [InlineData("moo/{p1}.{p2?}", "/moo/....", true, "..", ".")] + [InlineData("moo/{p1}.{p2?}", "/moo/.bar", true, ".bar", null)] + public void TryMatch_OptionalParameter_FollowedByPeriod_Valid( + string template, + string path, + bool expectedMatch, + string p1, + string p2) + { + // Arrange + var matcher = CreateMatcher(template); + + var values = new RouteValueDictionary(); + + // Act + var match = matcher.TryMatch(path, values); + + // Assert + Assert.Equal(expectedMatch, match); + if (p1 != null) + { + Assert.Equal(p1, values["p1"]); + } + if (p2 != null) + { + Assert.Equal(p2, values["p2"]); + } + } + + [Theory] + [InlineData("moo/{p1}.{p2}.{p3?}", "/moo/foo.moo.bar", "foo", "moo", "bar")] + [InlineData("moo/{p1}.{p2}.{p3?}", "/moo/foo.moo", "foo", "moo", null)] + [InlineData("moo/{p1}.{p2}.{p3}.{p4?}", "/moo/foo.moo.bar", "foo", "moo", "bar")] + [InlineData("{p1}.{p2?}/{p3}", "/foo.moo/bar", "foo", "moo", "bar")] + [InlineData("{p1}.{p2?}/{p3}", "/foo/bar", "foo", null, "bar")] + [InlineData("{p1}.{p2?}/{p3}", "/.foo/bar", ".foo", null, "bar")] + [InlineData("{p1}/{p2}/{p3?}", "/foo/bar/baz", "foo", "bar", "baz")] + public void TryMatch_OptionalParameter_FollowedByPeriod_3Parameters_Valid( + string template, + string path, + string p1, + string p2, + string p3) + { + // Arrange + var matcher = CreateMatcher(template); + + var values = new RouteValueDictionary(); + + // Act + var match = matcher.TryMatch(path, values); + + // Assert + Assert.True(match); + Assert.Equal(p1, values["p1"]); + + if (p2 != null) + { + Assert.Equal(p2, values["p2"]); + } + + if (p3 != null) + { + Assert.Equal(p3, values["p3"]); + } + } + + [Theory] + [InlineData("moo/{p1}.{p2?}", "/moo/foo.")] + [InlineData("moo/{p1}.{p2?}", "/moo/.")] + [InlineData("moo/{p1}.{p2}", "/foo.")] + [InlineData("moo/{p1}.{p2}", "/foo")] + [InlineData("moo/{p1}.{p2}.{p3?}", "/moo/foo.moo.")] + [InlineData("moo/foo.{p2}.{p3?}", "/moo/bar.foo.moo")] + [InlineData("moo/foo.{p2}.{p3?}", "/moo/kungfoo.moo.bar")] + [InlineData("moo/foo.{p2}.{p3?}", "/moo/kungfoo.moo")] + [InlineData("moo/{p1}.{p2}.{p3?}", "/moo/foo")] + [InlineData("{p1}.{p2?}/{p3}", "/foo./bar")] + [InlineData("moo/.{p2?}", "/moo/.")] + [InlineData("{p1}.{p2}/{p3}", "/.foo/bar")] + public void TryMatch_OptionalParameter_FollowedByPeriod_Invalid(string template, string path) + { + // Arrange + var matcher = CreateMatcher(template); + + var values = new RouteValueDictionary(); + + // Act + var match = matcher.TryMatch(path, values); + + // Assert + Assert.False(match); + } + + [Fact] + public void TryMatch_RouteWithOnlyLiterals_Success() + { + // Arrange + var matcher = CreateMatcher("moo/bar"); + + var values = new RouteValueDictionary(); + + // Act + var match = matcher.TryMatch("/moo/bar", values); + + // Assert + Assert.True(match); + Assert.Empty(values); + } + + [Fact] + public void TryMatch_RouteWithOnlyLiterals_Fails() + { + // Arrange + var matcher = CreateMatcher("moo/bars"); + + var values = new RouteValueDictionary(); + + // Act + var match = matcher.TryMatch("/moo/bar", values); + + // Assert + Assert.False(match); + } + + [Fact] + public void TryMatch_RouteWithExtraSeparators_Success() + { + // Arrange + var matcher = CreateMatcher("moo/bar"); + + var values = new RouteValueDictionary(); + + // Act + var match = matcher.TryMatch("/moo/bar/", values); + + // Assert + Assert.True(match); + Assert.Empty(values); + } + + [Fact] + public void TryMatch_UrlWithExtraSeparators_Success() + { + // Arrange + var matcher = CreateMatcher("moo/bar/"); + + var values = new RouteValueDictionary(); + + // Act + var match = matcher.TryMatch("/moo/bar", values); + + // Assert + Assert.True(match); + Assert.Empty(values); + } + + [Fact] + public void TryMatch_RouteWithParametersAndExtraSeparators_Success() + { + // Arrange + var matcher = CreateMatcher("{p1}/{p2}/"); + + var values = new RouteValueDictionary(); + + // Act + var match = matcher.TryMatch("/moo/bar", values); + + // Assert + Assert.True(match); + Assert.Equal("moo", values["p1"]); + Assert.Equal("bar", values["p2"]); + } + + [Fact] + public void TryMatch_RouteWithDifferentLiterals_Fails() + { + // Arrange + var matcher = CreateMatcher("{p1}/{p2}/baz"); + + var values = new RouteValueDictionary(); + + // Act + var match = matcher.TryMatch("/moo/bar/boo", values); + + // Assert + Assert.False(match); + } + + [Fact] + public void TryMatch_LongerUrl_Fails() + { + // Arrange + var matcher = CreateMatcher("{p1}"); + + var values = new RouteValueDictionary(); + + // Act + var match = matcher.TryMatch("/moo/bar", values); + + // Assert + Assert.False(match); + } + + [Fact] + public void TryMatch_SimpleFilename_Success() + { + // Arrange + var matcher = CreateMatcher("DEFAULT.ASPX"); + + var values = new RouteValueDictionary(); + + // Act + var match = matcher.TryMatch("/default.aspx", values); + + // Assert + Assert.True(match); + } + + [Theory] + [InlineData("{prefix}x{suffix}", "/xxxxxxxxxx")] + [InlineData("{prefix}xyz{suffix}", "/xxxxyzxyzxxxxxxyz")] + [InlineData("{prefix}xyz{suffix}", "/abcxxxxyzxyzxxxxxxyzxx")] + [InlineData("{prefix}xyz{suffix}", "/xyzxyzxyzxyzxyz")] + [InlineData("{prefix}xyz{suffix}", "/xyzxyzxyzxyzxyz1")] + [InlineData("{prefix}xyz{suffix}", "/xyzxyzxyz")] + [InlineData("{prefix}aa{suffix}", "/aaaaa")] + [InlineData("{prefix}aaa{suffix}", "/aaaaa")] + public void TryMatch_RouteWithComplexSegment_Success(string template, string path) + { + var matcher = CreateMatcher(template); + + var values = new RouteValueDictionary(); + + // Act + var match = matcher.TryMatch(path, values); + + // Assert + Assert.True(match); + } + + [Fact] + public void TryMatch_RouteWithExtraDefaultValues_Success() + { + // Arrange + var matcher = CreateMatcher("{p1}/{p2}", new { p2 = (string)null, foo = "bar" }); + + var values = new RouteValueDictionary(); + + // Act + var match = matcher.TryMatch("/v1", values); + + // Assert + Assert.True(match); + Assert.Equal(3, values.Count); + Assert.Equal("v1", values["p1"]); + Assert.Null(values["p2"]); + Assert.Equal("bar", values["foo"]); + } + + [Fact] + public void TryMatch_PrettyRouteWithExtraDefaultValues_Success() + { + // Arrange + var matcher = CreateMatcher( + "date/{y}/{m}/{d}", + new { controller = "blog", action = "showpost", m = (string)null, d = (string)null }); + + var values = new RouteValueDictionary(); + + // Act + var match = matcher.TryMatch("/date/2007/08", values); + + // Assert + Assert.True(match); + Assert.Equal(5, values.Count); + Assert.Equal("blog", values["controller"]); + Assert.Equal("showpost", values["action"]); + Assert.Equal("2007", values["y"]); + Assert.Equal("08", values["m"]); + Assert.Null(values["d"]); + } + + [Fact] + public void TryMatch_WithMultiSegmentParamsOnBothEndsMatches() + { + RunTest( + "language/{lang}-{region}", + "/language/en-US", + null, + new RouteValueDictionary(new { lang = "en", region = "US" })); + } + + [Fact] + public void TryMatch_WithMultiSegmentParamsOnLeftEndMatches() + { + RunTest( + "language/{lang}-{region}a", + "/language/en-USa", + null, + new RouteValueDictionary(new { lang = "en", region = "US" })); + } + + [Fact] + public void TryMatch_WithMultiSegmentParamsOnRightEndMatches() + { + RunTest( + "language/a{lang}-{region}", + "/language/aen-US", + null, + new RouteValueDictionary(new { lang = "en", region = "US" })); + } + + [Fact] + public void TryMatch_WithMultiSegmentParamsOnNeitherEndMatches() + { + RunTest( + "language/a{lang}-{region}a", + "/language/aen-USa", + null, + new RouteValueDictionary(new { lang = "en", region = "US" })); + } + + [Fact] + public void TryMatch_WithMultiSegmentParamsOnNeitherEndDoesNotMatch() + { + RunTest( + "language/a{lang}-{region}a", + "/language/a-USa", + null, + null); + } + + [Fact] + public void TryMatch_WithMultiSegmentParamsOnNeitherEndDoesNotMatch2() + { + RunTest( + "language/a{lang}-{region}a", + "/language/aen-a", + null, + null); + } + + [Fact] + public void TryMatch_WithSimpleMultiSegmentParamsOnBothEndsMatches() + { + RunTest( + "language/{lang}", + "/language/en", + null, + new RouteValueDictionary(new { lang = "en" })); + } + + [Fact] + public void TryMatch_WithSimpleMultiSegmentParamsOnBothEndsTrailingSlashDoesNotMatch() + { + RunTest( + "language/{lang}", + "/language/", + null, + null); + } + + [Fact] + public void TryMatch_WithSimpleMultiSegmentParamsOnBothEndsDoesNotMatch() + { + RunTest( + "language/{lang}", + "/language", + null, + null); + } + + [Fact] + public void TryMatch_WithSimpleMultiSegmentParamsOnLeftEndMatches() + { + RunTest( + "language/{lang}-", + "/language/en-", + null, + new RouteValueDictionary(new { lang = "en" })); + } + + [Fact] + public void TryMatch_WithSimpleMultiSegmentParamsOnRightEndMatches() + { + RunTest( + "language/a{lang}", + "/language/aen", + null, + new RouteValueDictionary(new { lang = "en" })); + } + + [Fact] + public void TryMatch_WithSimpleMultiSegmentParamsOnNeitherEndMatches() + { + RunTest( + "language/a{lang}a", + "/language/aena", + null, + new RouteValueDictionary(new { lang = "en" })); + } + + [Fact] + public void TryMatch_WithMultiSegmentStandamatchMvcRouteMatches() + { + RunTest( + "{controller}.mvc/{action}/{id}", + "/home.mvc/index", + new RouteValueDictionary(new { action = "Index", id = (string)null }), + new RouteValueDictionary(new { controller = "home", action = "index", id = (string)null })); + } + + [Fact] + public void TryMatch_WithMultiSegmentParamsOnBothEndsWithDefaultValuesMatches() + { + RunTest( + "language/{lang}-{region}", + "/language/-", + new RouteValueDictionary(new { lang = "xx", region = "yy" }), + null); + } + + [Fact] + public void TryMatch_WithUrlWithMultiSegmentWithRepeatedDots() + { + RunTest( + "{Controller}..mvc/{id}/{Param1}", + "/Home..mvc/123/p1", + null, + new RouteValueDictionary(new { Controller = "Home", id = "123", Param1 = "p1" })); + } + + [Fact] + public void TryMatch_WithUrlWithTwoRepeatedDots() + { + RunTest( + "{Controller}.mvc/../{action}", + "/Home.mvc/../index", + null, + new RouteValueDictionary(new { Controller = "Home", action = "index" })); + } + + [Fact] + public void TryMatch_WithUrlWithThreeRepeatedDots() + { + RunTest( + "{Controller}.mvc/.../{action}", + "/Home.mvc/.../index", + null, + new RouteValueDictionary(new { Controller = "Home", action = "index" })); + } + + [Fact] + public void TryMatch_WithUrlWithManyRepeatedDots() + { + RunTest( + "{Controller}.mvc/../../../{action}", + "/Home.mvc/../../../index", + null, + new RouteValueDictionary(new { Controller = "Home", action = "index" })); + } + + [Fact] + public void TryMatch_WithUrlWithExclamationPoint() + { + RunTest( + "{Controller}.mvc!/{action}", + "/Home.mvc!/index", + null, + new RouteValueDictionary(new { Controller = "Home", action = "index" })); + } + + [Fact] + public void TryMatch_WithUrlWithStartingDotDotSlash() + { + RunTest( + "../{Controller}.mvc", + "/../Home.mvc", + null, + new RouteValueDictionary(new { Controller = "Home" })); + } + + [Fact] + public void TryMatch_WithUrlWithStartingBackslash() + { + RunTest( + @"\{Controller}.mvc", + @"/\Home.mvc", + null, + new RouteValueDictionary(new { Controller = "Home" })); + } + + [Fact] + public void TryMatch_WithUrlWithBackslashSeparators() + { + RunTest( + @"{Controller}.mvc\{id}\{Param1}", + @"/Home.mvc\123\p1", + null, + new RouteValueDictionary(new { Controller = "Home", id = "123", Param1 = "p1" })); + } + + [Fact] + public void TryMatch_WithUrlWithParenthesesLiterals() + { + RunTest( + @"(Controller).mvc", + @"/(Controller).mvc", + null, + new RouteValueDictionary()); + } + + [Fact] + public void TryMatch_WithUrlWithTrailingSlashSpace() + { + RunTest( + @"Controller.mvc/ ", + @"/Controller.mvc/ ", + null, + new RouteValueDictionary()); + } + + [Fact] + public void TryMatch_WithUrlWithTrailingSpace() + { + RunTest( + @"Controller.mvc ", + @"/Controller.mvc ", + null, + new RouteValueDictionary()); + } + + [Fact] + public void TryMatch_WithCatchAllCapturesDots() + { + // DevDiv Bugs 189892: UrlRouting: Catch all parameter cannot capture url segments that contain the "." + RunTest( + "Home/ShowPilot/{missionId}/{*name}", + "/Home/ShowPilot/777/12345./foobar", + new RouteValueDictionary(new + { + controller = "Home", + action = "ShowPilot", + missionId = (string)null, + name = (string)null + }), + new RouteValueDictionary(new { controller = "Home", action = "ShowPilot", missionId = "777", name = "12345./foobar" })); + } + + [Fact] + public void TryMatch_RouteWithCatchAll_MatchesMultiplePathSegments() + { + // Arrange + var matcher = CreateMatcher("{p1}/{*p2}"); + + var values = new RouteValueDictionary(); + + // Act + var match = matcher.TryMatch("/v1/v2/v3", values); + + // Assert + Assert.True(match); + Assert.Equal(2, values.Count); + Assert.Equal("v1", values["p1"]); + Assert.Equal("v2/v3", values["p2"]); + } + + [Fact] + public void TryMatch_RouteWithCatchAll_MatchesTrailingSlash() + { + // Arrange + var matcher = CreateMatcher("{p1}/{*p2}"); + + var values = new RouteValueDictionary(); + + // Act + var match = matcher.TryMatch("/v1/", values); + + // Assert + Assert.True(match); + Assert.Equal(2, values.Count); + Assert.Equal("v1", values["p1"]); + Assert.Null(values["p2"]); + } + + [Fact] + public void TryMatch_RouteWithCatchAll_MatchesEmptyContent() + { + // Arrange + var matcher = CreateMatcher("{p1}/{*p2}"); + + var values = new RouteValueDictionary(); + + // Act + var match = matcher.TryMatch("/v1", values); + + // Assert + Assert.True(match); + Assert.Equal(2, values.Count); + Assert.Equal("v1", values["p1"]); + Assert.Null(values["p2"]); + } + + [Fact] + public void TryMatch_RouteWithCatchAll_MatchesEmptyContent_DoesNotReplaceExistingRouteValue() + { + // Arrange + var matcher = CreateMatcher("{p1}/{*p2}"); + + var values = new RouteValueDictionary(new { p2 = "hello" }); + + // Act + var match = matcher.TryMatch("/v1", values); + + // Assert + Assert.True(match); + Assert.Equal(2, values.Count); + Assert.Equal("v1", values["p1"]); + Assert.Equal("hello", values["p2"]); + } + + [Fact] + public void TryMatch_RouteWithCatchAll_UsesDefaultValueForEmptyContent() + { + // Arrange + var matcher = CreateMatcher("{p1}/{*p2}", new { p2 = "catchall" }); + + var values = new RouteValueDictionary(new { p2 = "overridden" }); + + // Act + var match = matcher.TryMatch("/v1", values); + + // Assert + Assert.True(match); + Assert.Equal(2, values.Count); + Assert.Equal("v1", values["p1"]); + Assert.Equal("catchall", values["p2"]); + } + + [Fact] + public void TryMatch_RouteWithCatchAll_IgnoresDefaultValueForNonEmptyContent() + { + // Arrange + var matcher = CreateMatcher("{p1}/{*p2}", new { p2 = "catchall" }); + + var values = new RouteValueDictionary(new { p2 = "overridden" }); + + // Act + var match = matcher.TryMatch("/v1/hello/whatever", values); + + // Assert + Assert.True(match); + Assert.Equal(2, values.Count); + Assert.Equal("v1", values["p1"]); + Assert.Equal("hello/whatever", values["p2"]); + } + + [Fact] + public void TryMatch_DoesNotMatchOnlyLeftLiteralMatch() + { + // DevDiv Bugs 191180: UrlRouting: Wrong template getting matched if a url segment is a substring of the requested url + RunTest( + "foo", + "/fooBAR", + null, + null); + } + + [Fact] + public void TryMatch_DoesNotMatchOnlyRightLiteralMatch() + { + // DevDiv Bugs 191180: UrlRouting: Wrong template getting matched if a url segment is a substring of the requested url + RunTest( + "foo", + "/BARfoo", + null, + null); + } + + [Fact] + public void TryMatch_DoesNotMatchMiddleLiteralMatch() + { + // DevDiv Bugs 191180: UrlRouting: Wrong template getting matched if a url segment is a substring of the requested url + RunTest( + "foo", + "/BARfooBAR", + null, + null); + } + + [Fact] + public void TryMatch_DoesMatchesExactLiteralMatch() + { + // DevDiv Bugs 191180: UrlRouting: Wrong template getting matched if a url segment is a substring of the requested url + RunTest( + "foo", + "/foo", + null, + new RouteValueDictionary()); + } + + [Fact] + public void TryMatch_WithWeimatchParameterNames() + { + RunTest( + "foo/{ }/{.!$%}/{dynamic.data}/{op.tional}", + "/foo/space/weimatch/omatcherid", + new RouteValueDictionary() { { " ", "not a space" }, { "op.tional", "default value" }, { "ran!dom", "va@lue" } }, + new RouteValueDictionary() { { " ", "space" }, { ".!$%", "weimatch" }, { "dynamic.data", "omatcherid" }, { "op.tional", "default value" }, { "ran!dom", "va@lue" } }); + } + + [Fact] + public void TryMatch_DoesNotMatchRouteWithLiteralSeparatomatchefaultsButNoValue() + { + RunTest( + "{controller}/{language}-{locale}", + "/foo", + new RouteValueDictionary(new { language = "en", locale = "US" }), + null); + } + + [Fact] + public void TryMatch_DoesNotMatchesRouteWithLiteralSeparatomatchefaultsAndLeftValue() + { + RunTest( + "{controller}/{language}-{locale}", + "/foo/xx-", + new RouteValueDictionary(new { language = "en", locale = "US" }), + null); + } + + [Fact] + public void TryMatch_DoesNotMatchesRouteWithLiteralSeparatomatchefaultsAndRightValue() + { + RunTest( + "{controller}/{language}-{locale}", + "/foo/-yy", + new RouteValueDictionary(new { language = "en", locale = "US" }), + null); + } + + [Fact] + public void TryMatch_MatchesRouteWithLiteralSeparatomatchefaultsAndValue() + { + RunTest( + "{controller}/{language}-{locale}", + "/foo/xx-yy", + new RouteValueDictionary(new { language = "en", locale = "US" }), + new RouteValueDictionary { { "language", "xx" }, { "locale", "yy" }, { "controller", "foo" } }); + } + + [Fact] + public void TryMatch_SetsOptionalParameter() + { + // Arrange + var route = CreateMatcher("{controller}/{action?}"); + var url = "/Home/Index"; + + var values = new RouteValueDictionary(); + + // Act + var match = route.TryMatch(url, values); + + // Assert + Assert.True(match); + Assert.Equal(2, values.Count); + Assert.Equal("Home", values["controller"]); + Assert.Equal("Index", values["action"]); + } + + [Fact] + public void TryMatch_DoesNotSetOptionalParameter() + { + // Arrange + var route = CreateMatcher("{controller}/{action?}"); + var url = "/Home"; + + var values = new RouteValueDictionary(); + + // Act + var match = route.TryMatch(url, values); + + // Assert + Assert.True(match); + Assert.Single(values); + Assert.Equal("Home", values["controller"]); + Assert.False(values.ContainsKey("action")); + } + + [Fact] + public void TryMatch_DoesNotSetOptionalParameter_EmptyString() + { + // Arrange + var route = CreateMatcher("{controller?}"); + var url = ""; + + var values = new RouteValueDictionary(); + + // Act + var match = route.TryMatch(url, values); + + // Assert + Assert.True(match); + Assert.Empty(values); + Assert.False(values.ContainsKey("controller")); + } + + [Fact] + public void TryMatch__EmptyRouteWith_EmptyString() + { + // Arrange + var route = CreateMatcher(""); + var url = ""; + + var values = new RouteValueDictionary(); + + // Act + var match = route.TryMatch(url, values); + + // Assert + Assert.True(match); + Assert.Empty(values); + } + + [Fact] + public void TryMatch_MultipleOptionalParameters() + { + // Arrange + var route = CreateMatcher("{controller}/{action?}/{id?}"); + var url = "/Home/Index"; + + var values = new RouteValueDictionary(); + + // Act + var match = route.TryMatch(url, values); + + // Assert + Assert.True(match); + Assert.Equal(2, values.Count); + Assert.Equal("Home", values["controller"]); + Assert.Equal("Index", values["action"]); + Assert.False(values.ContainsKey("id")); + } + + [Theory] + [InlineData("///")] + [InlineData("/a//")] + [InlineData("/a/b//")] + [InlineData("//b//")] + [InlineData("///c")] + [InlineData("///c/")] + public void TryMatch_MultipleOptionalParameters_WithEmptyIntermediateSegmentsDoesNotMatch(string url) + { + // Arrange + var route = CreateMatcher("{controller?}/{action?}/{id?}"); + + var values = new RouteValueDictionary(); + + // Act + var match = route.TryMatch(url, values); + + // Assert + Assert.False(match); + } + + [Theory] + [InlineData("")] + [InlineData("/")] + [InlineData("/a")] + [InlineData("/a/")] + [InlineData("/a/b")] + [InlineData("/a/b/")] + [InlineData("/a/b/c")] + [InlineData("/a/b/c/")] + public void TryMatch_MultipleOptionalParameters_WithIncrementalOptionalValues(string url) + { + // Arrange + var route = CreateMatcher("{controller?}/{action?}/{id?}"); + + var values = new RouteValueDictionary(); + + // Act + var match = route.TryMatch(url, values); + + // Assert + Assert.True(match); + } + + [Theory] + [InlineData("///")] + [InlineData("////")] + [InlineData("/a//")] + [InlineData("/a///")] + [InlineData("//b/")] + [InlineData("//b//")] + [InlineData("///c")] + [InlineData("///c/")] + public void TryMatch_MultipleParameters_WithEmptyValues(string url) + { + // Arrange + var route = CreateMatcher("{controller}/{action}/{id}"); + + var values = new RouteValueDictionary(); + + // Act + var match = route.TryMatch(url, values); + + // Assert + Assert.False(match); + } + + [Theory] + [InlineData("/a/b/c//")] + [InlineData("/a/b/c/////")] + public void TryMatch_CatchAllParameters_WithEmptyValuesAtTheEnd(string url) + { + // Arrange + var route = CreateMatcher("{controller}/{action}/{*id}"); + + var values = new RouteValueDictionary(); + + // Act + var match = route.TryMatch(url, values); + + // Assert + Assert.True(match); + } + + [Theory] + [InlineData("/a/b//")] + [InlineData("/a/b///c")] + public void TryMatch_CatchAllParameters_WithEmptyValues(string url) + { + // Arrange + var route = CreateMatcher("{controller}/{action}/{*id}"); + + var values = new RouteValueDictionary(); + + // Act + var match = route.TryMatch(url, values); + + // Assert + Assert.False(match); + } + + private RoutePatternMatcher CreateMatcher(string template, object defaults = null) + { + return new RoutePatternMatcher( + RoutePatternParser.Parse(template), + new RouteValueDictionary(defaults)); + } + + private static void RunTest( + string template, + string path, + RouteValueDictionary defaults, + IDictionary expected) + { + // Arrange + var matcher = new RoutePatternMatcher( + RoutePatternParser.Parse(template), + defaults ?? new RouteValueDictionary()); + + var values = new RouteValueDictionary(); + + // Act + var match = matcher.TryMatch(new PathString(path), values); + + // Assert + if (expected == null) + { + Assert.False(match); + } + else + { + Assert.True(match); + Assert.Equal(expected.Count, values.Count); + foreach (string key in values.Keys) + { + Assert.Equal(expected[key], values[key]); + } + } + } + } +} diff --git a/test/Microsoft.AspNetCore.Routing.Tests/Patterns/RoutePatternParserTest.cs b/test/Microsoft.AspNetCore.Routing.Tests/Patterns/RoutePatternParserTest.cs new file mode 100644 index 0000000000..a4b4e6db63 --- /dev/null +++ b/test/Microsoft.AspNetCore.Routing.Tests/Patterns/RoutePatternParserTest.cs @@ -0,0 +1,765 @@ +// Copyright (c) .NET Foundation. All rights reserved. +// Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information. + +using System; +using System.Collections.Generic; +using System.Diagnostics; +using System.Linq; +using Microsoft.AspNetCore.Testing; +using Xunit; +using static Microsoft.AspNetCore.Routing.Patterns.RoutePatternFactory; + +namespace Microsoft.AspNetCore.Routing.Patterns +{ + public class RoutePatternParameterParserTest + { + [Fact] + public void Parse_SingleLiteral() + { + // Arrange + var template = "cool"; + + var expected = Pattern( + template, + Segment(LiteralPart("cool"))); + + // Act + var actual = RoutePatternParser.Parse(template); + + // Assert + Assert.Equal(expected, actual, new RoutePatternEqualityComparer()); + } + + [Fact] + public void Parse_SingleParameter() + { + // Arrange + var template = "{p}"; + + var expected = Pattern(template, Segment(ParameterPart("p"))); + + // Act + var actual = RoutePatternParser.Parse(template); + + // Assert + Assert.Equal(expected, actual, new RoutePatternEqualityComparer()); + } + + [Fact] + public void Parse_OptionalParameter() + { + // Arrange + var template = "{p?}"; + + var expected = Pattern(template, Segment(ParameterPart("p", null, RoutePatternParameterKind.Optional))); + + // Act + var actual = RoutePatternParser.Parse(template); + + // Assert + Assert.Equal(expected, actual, new RoutePatternEqualityComparer()); + } + + [Fact] + public void Parse_MultipleLiterals() + { + // Arrange + var template = "cool/awesome/super"; + + var expected = Pattern( + template, + Segment(LiteralPart("cool")), + Segment(LiteralPart("awesome")), + Segment(LiteralPart("super"))); + + // Act + var actual = RoutePatternParser.Parse(template); + + // Assert + Assert.Equal(expected, actual, new RoutePatternEqualityComparer()); + } + + [Fact] + public void Parse_MultipleParameters() + { + // Arrange + var template = "{p1}/{p2}/{*p3}"; + + var expected = Pattern( + template, + Segment(ParameterPart("p1")), + Segment(ParameterPart("p2")), + Segment(ParameterPart("p3", null, RoutePatternParameterKind.CatchAll))); + + // Act + var actual = RoutePatternParser.Parse(template); + + // Assert + Assert.Equal(expected, actual, new RoutePatternEqualityComparer()); + } + + [Fact] + public void Parse_ComplexSegment_LP() + { + // Arrange + var template = "cool-{p1}"; + + var expected = Pattern( + template, + Segment( + LiteralPart("cool-"), + ParameterPart("p1"))); + + // Act + var actual = RoutePatternParser.Parse(template); + + // Assert + Assert.Equal(expected, actual, new RoutePatternEqualityComparer()); + } + + [Fact] + public void Parse_ComplexSegment_PL() + { + // Arrange + var template = "{p1}-cool"; + + var expected = Pattern( + template, + Segment( + ParameterPart("p1"), + LiteralPart("-cool"))); + + // Act + var actual = RoutePatternParser.Parse(template); + + // Assert + Assert.Equal(expected, actual, new RoutePatternEqualityComparer()); + } + + [Fact] + public void Parse_ComplexSegment_PLP() + { + // Arrange + var template = "{p1}-cool-{p2}"; + + var expected = Pattern( + template, + Segment( + ParameterPart("p1"), + LiteralPart("-cool-"), + ParameterPart("p2"))); + + // Act + var actual = RoutePatternParser.Parse(template); + + // Assert + Assert.Equal(expected, actual, new RoutePatternEqualityComparer()); + } + + [Fact] + public void Parse_ComplexSegment_LPL() + { + // Arrange + var template = "cool-{p1}-awesome"; + + var expected = Pattern( + template, + Segment( + LiteralPart("cool-"), + ParameterPart("p1"), + LiteralPart("-awesome"))); + + // Act + var actual = RoutePatternParser.Parse(template); + + // Assert + Assert.Equal(expected, actual, new RoutePatternEqualityComparer()); + } + + [Fact] + public void Parse_ComplexSegment_OptionalParameterFollowingPeriod() + { + // Arrange + var template = "{p1}.{p2?}"; + + var expected = Pattern( + template, + Segment( + ParameterPart("p1"), + SeparatorPart("."), + ParameterPart("p2", null, RoutePatternParameterKind.Optional))); + + // Act + var actual = RoutePatternParser.Parse(template); + + // Assert + Assert.Equal(expected, actual, new RoutePatternEqualityComparer()); + } + + [Fact] + public void Parse_ComplexSegment_ParametersFollowingPeriod() + { + // Arrange + var template = "{p1}.{p2}"; + + var expected = Pattern( + template, + Segment( + ParameterPart("p1"), + LiteralPart("."), + ParameterPart("p2"))); + + // Act + var actual = RoutePatternParser.Parse(template); + + // Assert + Assert.Equal(expected, actual, new RoutePatternEqualityComparer()); + } + + [Fact] + public void Parse_ComplexSegment_OptionalParameterFollowingPeriod_ThreeParameters() + { + // Arrange + var template = "{p1}.{p2}.{p3?}"; + + var expected = Pattern( + template, + Segment( + ParameterPart("p1"), + LiteralPart("."), + ParameterPart("p2"), + SeparatorPart("."), + ParameterPart("p3", null, RoutePatternParameterKind.Optional))); + + // Act + var actual = RoutePatternParser.Parse(template); + + // Assert + Assert.Equal(expected, actual, new RoutePatternEqualityComparer()); + } + + [Fact] + public void Parse_ComplexSegment_ThreeParametersSeperatedByPeriod() + { + // Arrange + var template = "{p1}.{p2}.{p3}"; + + var expected = Pattern( + template, + Segment( + ParameterPart("p1"), + LiteralPart("."), + ParameterPart("p2"), + LiteralPart("."), + ParameterPart("p3"))); + + // Act + var actual = RoutePatternParser.Parse(template); + + // Assert + Assert.Equal(expected, actual, new RoutePatternEqualityComparer()); + } + + [Fact] + public void Parse_ComplexSegment_OptionalParameterFollowingPeriod_MiddleSegment() + { + // Arrange + var template = "{p1}.{p2?}/{p3}"; + + var expected = Pattern( + template, + Segment( + ParameterPart("p1"), + SeparatorPart("."), + ParameterPart("p2", null, RoutePatternParameterKind.Optional)), + Segment( + ParameterPart("p3"))); + + // Act + var actual = RoutePatternParser.Parse(template); + + // Assert + Assert.Equal(expected, actual, new RoutePatternEqualityComparer()); + } + + [Fact] + public void Parse_ComplexSegment_OptionalParameterFollowingPeriod_LastSegment() + { + // Arrange + var template = "{p1}/{p2}.{p3?}"; + + var expected = Pattern( + template, + Segment( + ParameterPart("p1")), + Segment( + ParameterPart("p2"), + SeparatorPart("."), + ParameterPart("p3", null, RoutePatternParameterKind.Optional))); + + // Act + var actual = RoutePatternParser.Parse(template); + + // Assert + Assert.Equal(expected, actual, new RoutePatternEqualityComparer()); + } + + [Fact] + public void Parse_ComplexSegment_OptionalParameterFollowingPeriod_PeriodAfterSlash() + { + // Arrange + var template = "{p2}/.{p3?}"; + + var expected = Pattern( + template, + Segment(ParameterPart("p2")), + Segment( + SeparatorPart("."), + ParameterPart("p3", null, RoutePatternParameterKind.Optional))); + + // Act + var actual = RoutePatternParser.Parse(template); + + // Assert + Assert.Equal(expected, actual, new RoutePatternEqualityComparer()); + } + + [Theory] + [InlineData(@"{p1:regex(^\d{{3}}-\d{{3}}-\d{{4}}$)}", @"regex(^\d{3}-\d{3}-\d{4}$)")] // ssn + [InlineData(@"{p1:regex(^\d{{1,2}}\/\d{{1,2}}\/\d{{4}}$)}", @"regex(^\d{1,2}\/\d{1,2}\/\d{4}$)")] // date + [InlineData(@"{p1:regex(^\w+\@\w+\.\w+)}", @"regex(^\w+\@\w+\.\w+)")] // email + [InlineData(@"{p1:regex(([}}])\w+)}", @"regex(([}])\w+)")] // Not balanced } + [InlineData(@"{p1:regex(([{{(])\w+)}", @"regex(([{(])\w+)")] // Not balanced { + public void Parse_RegularExpressions(string template, string constraint) + { + // Arrange + var expected = Pattern( + template, + Segment( + ParameterPart( + "p1", + null, + RoutePatternParameterKind.Standard, + Constraint("p1", constraint)))); + + // Act + var actual = RoutePatternParser.Parse(template); + + // Assert + Assert.Equal(expected, actual, new RoutePatternEqualityComparer()); + } + + [Theory] + [InlineData(@"{p1:regex(^\d{{3}}-\d{{3}}-\d{{4}}}$)}")] // extra } + [InlineData(@"{p1:regex(^\d{{3}}-\d{{3}}-\d{{4}}$)}}")] // extra } at the end + [InlineData(@"{{p1:regex(^\d{{3}}-\d{{3}}-\d{{4}}$)}")] // extra { at the begining + [InlineData(@"{p1:regex(([}])\w+}")] // Not escaped } + [InlineData(@"{p1:regex(^\d{{3}}-\d{{3}}-\d{{4}$)}")] // Not escaped } + [InlineData(@"{p1:regex(abc)")] + public void Parse_RegularExpressions_Invalid(string template) + { + // Act and Assert + ExceptionAssert.Throws( + () => RoutePatternParser.Parse(template), + "There is an incomplete parameter in the route template. Check that each '{' character has a matching " + + "'}' character."); + } + + [Theory] + [InlineData(@"{p1:regex(^\d{{3}}-\d{{3}}-\d{{{4}}$)}")] // extra { + [InlineData(@"{p1:regex(^\d{{3}}-\d{{3}}-\d{4}}$)}")] // Not escaped { + public void Parse_RegularExpressions_Unescaped(string template) + { + // Act and Assert + ExceptionAssert.Throws( + () => RoutePatternParser.Parse(template), + "In a route parameter, '{' and '}' must be escaped with '{{' and '}}'."); + } + + [Theory] + [InlineData("{p1}.{p2?}.{p3}", "p2", ".")] + [InlineData("{p1?}{p2}", "p1", "{p2}")] + [InlineData("{p1?}{p2?}", "p1", "{p2?}")] + [InlineData("{p1}.{p2?})", "p2", ")")] + [InlineData("{foorb?}-bar-{z}", "foorb", "-bar-")] + public void Parse_ComplexSegment_OptionalParameter_NotTheLastPart( + string template, + string parameter, + string invalid) + { + // Act and Assert + ExceptionAssert.Throws( + () => RoutePatternParser.Parse(template), + "An optional parameter must be at the end of the segment. In the segment '" + template + + "', optional parameter '" + parameter + "' is followed by '" + invalid + "'."); + } + + [Theory] + [InlineData("{p1}-{p2?}", "-")] + [InlineData("{p1}..{p2?}", "..")] + [InlineData("..{p2?}", "..")] + [InlineData("{p1}.abc.{p2?}", ".abc.")] + [InlineData("{p1}{p2?}", "{p1}")] + public void Parse_ComplexSegment_OptionalParametersSeperatedByPeriod_Invalid(string template, string parameter) + { + // Act and Assert + ExceptionAssert.Throws( + () => RoutePatternParser.Parse(template), + "In the segment '" + template + "', the optional parameter 'p2' is preceded by an invalid " + + "segment '" + parameter + "'. Only a period (.) can precede an optional parameter."); + } + + [Fact] + public void InvalidTemplate_WithRepeatedParameter() + { + var ex = ExceptionAssert.Throws( + () => RoutePatternParser.Parse("{Controller}.mvc/{id}/{controller}"), + "The route parameter name 'controller' appears more than one time in the route template."); + } + + [Theory] + [InlineData("123{a}abc{")] + [InlineData("123{a}abc}")] + [InlineData("xyz}123{a}abc}")] + [InlineData("{{p1}")] + [InlineData("{p1}}")] + [InlineData("p1}}p2{")] + public void InvalidTemplate_WithMismatchedBraces(string template) + { + ExceptionAssert.Throws( + () => RoutePatternParser.Parse(template), + @"There is an incomplete parameter in the route template. Check that each '{' character has a " + + "matching '}' character."); + } + + [Fact] + public void InvalidTemplate_CannotHaveCatchAllInMultiSegment() + { + ExceptionAssert.Throws( + () => RoutePatternParser.Parse("123{a}abc{*moo}"), + "A path segment that contains more than one section, such as a literal section or a parameter, " + + "cannot contain a catch-all parameter."); + } + + [Fact] + public void InvalidTemplate_CannotHaveMoreThanOneCatchAll() + { + ExceptionAssert.Throws( + () => RoutePatternParser.Parse("{*p1}/{*p2}"), + "A catch-all parameter can only appear as the last segment of the route template."); + } + + [Fact] + public void InvalidTemplate_CannotHaveMoreThanOneCatchAllInMultiSegment() + { + ExceptionAssert.Throws( + () => RoutePatternParser.Parse("{*p1}abc{*p2}"), + "A path segment that contains more than one section, such as a literal section or a parameter, " + + "cannot contain a catch-all parameter."); + } + + [Fact] + public void InvalidTemplate_CannotHaveCatchAllWithNoName() + { + ExceptionAssert.Throws( + () => RoutePatternParser.Parse("foo/{*}"), + "The route parameter name '' is invalid. Route parameter names must be non-empty and cannot" + + " contain these characters: '{', '}', '/'. The '?' character marks a parameter as optional," + + " and can occur only at the end of the parameter. The '*' character marks a parameter as catch-all," + + " and can occur only at the start of the parameter."); + } + + [Theory] + [InlineData("{**}", "*")] + [InlineData("{a*}", "a*")] + [InlineData("{*a*}", "a*")] + [InlineData("{*a*:int}", "a*")] + [InlineData("{*a*=5}", "a*")] + [InlineData("{*a*b=5}", "a*b")] + [InlineData("{p1?}.{p2/}/{p3}", "p2/")] + [InlineData("{p{{}", "p{")] + [InlineData("{p}}}", "p}")] + [InlineData("{p/}", "p/")] + public void ParseRouteParameter_ThrowsIf_ParameterContainsSpecialCharacters( + string template, + string parameterName) + { + // Arrange + var expectedMessage = "The route parameter name '" + parameterName + "' is invalid. Route parameter " + + "names must be non-empty and cannot contain these characters: '{', '}', '/'. The '?' character " + + "marks a parameter as optional, and can occur only at the end of the parameter. The '*' character " + + "marks a parameter as catch-all, and can occur only at the start of the parameter."; + + // Act & Assert + ExceptionAssert.Throws(() => RoutePatternParser.Parse(template), expectedMessage); + } + + [Fact] + public void InvalidTemplate_CannotHaveConsecutiveOpenBrace() + { + ExceptionAssert.Throws( + () => RoutePatternParser.Parse("foo/{{p1}"), + "There is an incomplete parameter in the route template. Check that each '{' character has a " + + "matching '}' character."); + } + + [Fact] + public void InvalidTemplate_CannotHaveConsecutiveCloseBrace() + { + ExceptionAssert.Throws( + () => RoutePatternParser.Parse("foo/{p1}}"), + "There is an incomplete parameter in the route template. Check that each '{' character has a " + + "matching '}' character."); + } + + [Fact] + public void InvalidTemplate_SameParameterTwiceThrows() + { + ExceptionAssert.Throws( + () => RoutePatternParser.Parse("{aaa}/{AAA}"), + "The route parameter name 'AAA' appears more than one time in the route template."); + } + + [Fact] + public void InvalidTemplate_SameParameterTwiceAndOneCatchAllThrows() + { + ExceptionAssert.Throws( + () => RoutePatternParser.Parse("{aaa}/{*AAA}"), + "The route parameter name 'AAA' appears more than one time in the route template."); + } + + [Fact] + public void InvalidTemplate_InvalidParameterNameWithCloseBracketThrows() + { + ExceptionAssert.Throws( + () => RoutePatternParser.Parse("{a}/{aa}a}/{z}"), + "There is an incomplete parameter in the route template. Check that each '{' character has a " + + "matching '}' character."); + } + + [Fact] + public void InvalidTemplate_InvalidParameterNameWithOpenBracketThrows() + { + ExceptionAssert.Throws( + () => RoutePatternParser.Parse("{a}/{a{aa}/{z}"), + "In a route parameter, '{' and '}' must be escaped with '{{' and '}}'."); + } + + [Fact] + public void InvalidTemplate_InvalidParameterNameWithEmptyNameThrows() + { + ExceptionAssert.Throws( + () => RoutePatternParser.Parse("{a}/{}/{z}"), + "The route parameter name '' is invalid. Route parameter names must be non-empty and cannot" + + " contain these characters: '{', '}', '/'. The '?' character marks a parameter as optional, and" + + " can occur only at the end of the parameter. The '*' character marks a parameter as catch-all," + + " and can occur only at the start of the parameter."); + } + + [Fact] + public void InvalidTemplate_InvalidParameterNameWithQuestionThrows() + { + ExceptionAssert.Throws( + () => RoutePatternParser.Parse("{Controller}.mvc/{?}"), + "The route parameter name '' is invalid. Route parameter names must be non-empty and cannot" + + " contain these characters: '{', '}', '/'. The '?' character marks a parameter as optional, and" + + " can occur only at the end of the parameter. The '*' character marks a parameter as catch-all," + + " and can occur only at the start of the parameter."); + } + + [Fact] + public void InvalidTemplate_ConsecutiveSeparatorsSlashSlashThrows() + { + ExceptionAssert.Throws( + () => RoutePatternParser.Parse("{a}//{z}"), + "The route template separator character '/' cannot appear consecutively. It must be separated by " + + "either a parameter or a literal value."); + } + + [Fact] + public void InvalidTemplate_WithCatchAllNotAtTheEndThrows() + { + ExceptionAssert.Throws( + () => RoutePatternParser.Parse("foo/{p1}/{*p2}/{p3}"), + "A catch-all parameter can only appear as the last segment of the route template."); + } + + [Fact] + public void InvalidTemplate_RepeatedParametersThrows() + { + ExceptionAssert.Throws( + () => RoutePatternParser.Parse("foo/aa{p1}{p2}"), + "A path segment cannot contain two consecutive parameters. They must be separated by a '/' or by " + + "a literal string."); + } + + [Theory] + [InlineData("/foo")] + [InlineData("~/foo")] + public void ValidTemplate_CanStartWithSlashOrTildeSlash(string routePattern) + { + // Arrange & Act + var pattern = RoutePatternParser.Parse(routePattern); + + // Assert + Assert.Equal(routePattern, pattern.RawText); + } + + [Fact] + public void InvalidTemplate_CannotStartWithTilde() + { + ExceptionAssert.Throws( + () => RoutePatternParser.Parse("~foo"), + "The route template cannot start with a '~' character unless followed by a '/'."); + } + + [Fact] + public void InvalidTemplate_CannotContainQuestionMark() + { + ExceptionAssert.Throws( + () => RoutePatternParser.Parse("foor?bar"), + "The literal section 'foor?bar' is invalid. Literal sections cannot contain the '?' character."); + } + + [Fact] + public void InvalidTemplate_ParameterCannotContainQuestionMark_UnlessAtEnd() + { + ExceptionAssert.Throws( + () => RoutePatternParser.Parse("{foor?b}"), + "The route parameter name 'foor?b' is invalid. Route parameter names must be non-empty and cannot" + + " contain these characters: '{', '}', '/'. The '?' character marks a parameter as optional, and" + + " can occur only at the end of the parameter. The '*' character marks a parameter as catch-all," + + " and can occur only at the start of the parameter."); + } + + [Fact] + public void InvalidTemplate_CatchAllMarkedOptional() + { + ExceptionAssert.Throws( + () => RoutePatternParser.Parse("{a}/{*b?}"), + "A catch-all parameter cannot be marked optional."); + } + + private class RoutePatternEqualityComparer : + IEqualityComparer, + IEqualityComparer + { + public bool Equals(RoutePattern x, RoutePattern y) + { + if (x == null && y == null) + { + return true; + } + else if (x == null || y == null) + { + return false; + } + else + { + if (!string.Equals(x.RawText, y.RawText, StringComparison.Ordinal)) + { + return false; + } + + if (x.PathSegments.Count != y.PathSegments.Count) + { + return false; + } + + for (int i = 0; i < x.PathSegments.Count; i++) + { + if (x.PathSegments[i].Parts.Count != y.PathSegments[i].Parts.Count) + { + return false; + } + + for (int j = 0; j < x.PathSegments[i].Parts.Count; j++) + { + if (!Equals(x.PathSegments[i].Parts[j], y.PathSegments[i].Parts[j])) + { + return false; + } + } + } + + if (x.Parameters.Count != y.Parameters.Count) + { + return false; + } + + for (int i = 0; i < x.Parameters.Count; i++) + { + if (!Equals(x.Parameters[i], y.Parameters[i])) + { + return false; + } + } + + return true; + } + } + + private bool Equals(RoutePatternPart x, RoutePatternPart y) + { + if (x.GetType() != y.GetType()) + { + return false; + } + + if (x.IsLiteral && y.IsLiteral) + { + return Equals((RoutePatternLiteralPart)x, (RoutePatternLiteralPart)y); + } + else if (x.IsParameter && y.IsParameter) + { + return Equals((RoutePatternParameterPart)x, (RoutePatternParameterPart)y); + } + else if (x.IsSeparator && y.IsSeparator) + { + return Equals((RoutePatternSeparatorPart)x, (RoutePatternSeparatorPart)y); + } + + Debug.Fail("This should not be reachable. Do you need to update the comparison logic?"); + return false; + } + + private bool Equals(RoutePatternLiteralPart x, RoutePatternLiteralPart y) + { + return x.Content == y.Content; + } + + private bool Equals(RoutePatternParameterPart x, RoutePatternParameterPart y) + { + return + x.Name == y.Name && + x.Default == y.Default && + x.ParameterKind == y.ParameterKind && + Enumerable.SequenceEqual(x.Constraints, y.Constraints, this); + + } + + public bool Equals(RoutePatternConstraintReference x, RoutePatternConstraintReference y) + { + return + x.ParameterName == y.ParameterName && + x.Content == y.Content && + x.Constraint == y.Constraint; + } + + private bool Equals(RoutePatternSeparatorPart x, RoutePatternSeparatorPart y) + { + return x.Content == y.Content; + } + + public int GetHashCode(RoutePattern obj) + { + throw new NotImplementedException(); + } + + public int GetHashCode(RoutePatternConstraintReference obj) + { + throw new NotImplementedException(); + } + } + } +} diff --git a/test/Microsoft.AspNetCore.Routing.Tests/Template/TemplateParserTests.cs b/test/Microsoft.AspNetCore.Routing.Tests/Template/TemplateParserTests.cs index 7f9f9b8b40..eabc3ec25e 100644 --- a/test/Microsoft.AspNetCore.Routing.Tests/Template/TemplateParserTests.cs +++ b/test/Microsoft.AspNetCore.Routing.Tests/Template/TemplateParserTests.cs @@ -5,9 +5,6 @@ using System; using System.Collections.Generic; using System.Linq; using Microsoft.AspNetCore.Testing; -using Microsoft.Extensions.DependencyInjection; -using Microsoft.Extensions.Options; -using Moq; using Xunit; namespace Microsoft.AspNetCore.Routing.Template.Tests @@ -528,8 +525,8 @@ namespace Microsoft.AspNetCore.Routing.Template.Tests [Theory] [InlineData("{p1}.{p2?}.{p3}", "p2", ".")] - [InlineData("{p1?}{p2}", "p1", "p2")] - [InlineData("{p1?}{p2?}", "p1", "p2")] + [InlineData("{p1?}{p2}", "p1", "{p2}")] + [InlineData("{p1?}{p2?}", "p1", "{p2?}")] [InlineData("{p1}.{p2?})", "p2", ")")] [InlineData("{foorb?}-bar-{z}", "foorb", "-bar-")] public void Parse_ComplexSegment_OptionalParameter_NotTheLastPart( @@ -655,18 +652,6 @@ namespace Microsoft.AspNetCore.Routing.Template.Tests "Parameter name: routeTemplate"); } - [Theory] - [InlineData("/foo")] - [InlineData("~/foo")] - public void ValidTemplate_CanStartWithSlashOrTildeSlash(string routeTemplate) - { - // Arrange & Act - var template = TemplateParser.Parse(routeTemplate); - - // Assert - Assert.Equal(routeTemplate, template.TemplateText); - } - [Fact] public void InvalidTemplate_CannotHaveConsecutiveOpenBrace() { @@ -780,6 +765,18 @@ namespace Microsoft.AspNetCore.Routing.Template.Tests "Parameter name: routeTemplate"); } + [Theory] + [InlineData("/foo")] + [InlineData("~/foo")] + public void ValidTemplate_CanStartWithSlashOrTildeSlash(string routeTemplate) + { + // Arrange & Act + var pattern = TemplateParser.Parse(routeTemplate); + + // Assert + Assert.Equal(routeTemplate, pattern.TemplateText); + } + [Fact] public void InvalidTemplate_CannotStartWithTilde() { From ef6f326188064196cb9f452ae889d26160b28405 Mon Sep 17 00:00:00 2001 From: Ryan Nowak Date: Thu, 12 Jul 2018 00:40:22 -0700 Subject: [PATCH 066/221] Add experimental JumpTables Also reduced the count of entries of the max iteration to 25. The main issue that we're trying to solve right now is which approach is the best with a small number of entries. Going up to 100 takes a loooong time, and all of the dictionary-based approaches scale well above 10 or so entries. --- Directory.Build.props | 1 + .../Matchers/AsciiKeyedJumpTable.cs | 172 +++++++++++++++ .../Matchers/CustomHashTableJumpTable.cs | 197 ++++++++++++++++++ .../Matchers/DictionaryLookupJumpTable.cs | 112 ++++++++++ .../JumpTableMultipleEntryBenchmark.cs | 54 ++++- 5 files changed, 535 insertions(+), 1 deletion(-) create mode 100644 benchmarks/Microsoft.AspNetCore.Routing.Performance/Matchers/AsciiKeyedJumpTable.cs create mode 100644 benchmarks/Microsoft.AspNetCore.Routing.Performance/Matchers/CustomHashTableJumpTable.cs create mode 100644 benchmarks/Microsoft.AspNetCore.Routing.Performance/Matchers/DictionaryLookupJumpTable.cs diff --git a/Directory.Build.props b/Directory.Build.props index e722ccfbc0..cc459eb3d3 100644 --- a/Directory.Build.props +++ b/Directory.Build.props @@ -18,5 +18,6 @@ MicrosoftNuGet true true + 7.2 diff --git a/benchmarks/Microsoft.AspNetCore.Routing.Performance/Matchers/AsciiKeyedJumpTable.cs b/benchmarks/Microsoft.AspNetCore.Routing.Performance/Matchers/AsciiKeyedJumpTable.cs new file mode 100644 index 0000000000..bce1afa71e --- /dev/null +++ b/benchmarks/Microsoft.AspNetCore.Routing.Performance/Matchers/AsciiKeyedJumpTable.cs @@ -0,0 +1,172 @@ +// Copyright (c) .NET Foundation. All rights reserved. +// Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information. + +using System; +using System.Collections.Generic; + +namespace Microsoft.AspNetCore.Routing.Matchers +{ + // An optimized jump table that trades a small amount of additional memory for + // hash-table like performance. + // + // The optimization here is to use the first character of the known entries + // as a 'key' in the hash table in the space of A-Z. This gives us a maximum + // of 26 buckets (hence the reduced memory) + internal class AsciiKeyedJumpTable : JumpTable + { + public static bool TryCreate( + int defaultDestination, + int exitDestination, + List<(string text, int destination)> entries, + out JumpTable result) + { + result = null; + + // First we group string by their uppercase letter. If we see a string + // that starts with a non-ASCII letter + var map = new Dictionary>(); + + for (var i = 0; i < entries.Count; i++) + { + if (entries[i].text.Length == 0) + { + return false; + } + + if (!IsAscii(entries[i].text)) + { + return false; + } + + var first = ToUpperAscii(entries[i].text[0]); + if (first < 'A' || first > 'Z') + { + // Not a letter + return false; + } + + if (!map.TryGetValue(first, out var matches)) + { + matches = new List<(string text, int destination)>(); + map.Add(first, matches); + } + + matches.Add(entries[i]); + } + + var next = 0; + var ordered = new(string text, int destination)[entries.Count]; + var indexes = new int[26 * 2]; + for (var i = 0; i < 26; i++) + { + indexes[i * 2] = next; + + var length = 0; + if (map.TryGetValue((char)('A' + i), out var matches)) + { + length += matches.Count; + for (var j = 0; j < matches.Count; j++) + { + ordered[next++] = matches[j]; + } + } + + indexes[i * 2 + 1] = length; + } + + result = new AsciiKeyedJumpTable(defaultDestination, exitDestination, ordered, indexes); + return true; + } + + private readonly int _defaultDestination; + private readonly int _exitDestination; + private readonly (string text, int destination)[] _entries; + private readonly int[] _indexes; + + private AsciiKeyedJumpTable( + int defaultDestination, + int exitDestination, + (string text, int destination)[] entries, + int[] indexes) + { + _defaultDestination = defaultDestination; + _exitDestination = exitDestination; + _entries = entries; + _indexes = indexes; + } + + public override unsafe int GetDestination(string path, PathSegment segment) + { + if (segment.Length == 0) + { + return _exitDestination; + } + + var c = path[segment.Start]; + if (!IsAscii(c)) + { + return _defaultDestination; + } + + c = ToUpperAscii(c); + if (c < 'A' || c > 'Z') + { + // Character is non-ASCII or not a letter. Since we know that all of the entries are ASCII + // and begin with a letter this is not a match. + return _defaultDestination; + } + + var offset = (c - 'A') * 2; + var start = _indexes[offset]; + var length = _indexes[offset + 1]; + + var entries = _entries; + for (var i = start; i < start + length; i++) + { + var text = entries[i].text; + if (segment.Length == text.Length && + string.Compare( + path, + segment.Start, + text, + 0, + segment.Length, + StringComparison.OrdinalIgnoreCase) == 0) + { + return entries[i].destination; + } + } + + return _defaultDestination; + } + + internal static bool IsAscii(char c) + { + // ~0x7F is a bit mask that checks for bits that won't be set in an ASCII character. + // ASCII only uses the lowest 7 bits. + return (c & ~0x7F) == 0; + } + + internal static bool IsAscii(string text) + { + for (var i = 0; i < text.Length; i++) + { + var c = text[i]; + if (!IsAscii(c)) + { + return false; + } + } + + return true; + } + + internal static char ToUpperAscii(char c) + { + // 0x5F can be used to convert a character to uppercase ascii (assuming it's a letter). + // This works because lowercase ASCII chars are exactly 32 less than their uppercase + // counterparts. + return (char)(c & 0x5F); + } + } +} \ No newline at end of file diff --git a/benchmarks/Microsoft.AspNetCore.Routing.Performance/Matchers/CustomHashTableJumpTable.cs b/benchmarks/Microsoft.AspNetCore.Routing.Performance/Matchers/CustomHashTableJumpTable.cs new file mode 100644 index 0000000000..bbffc14a80 --- /dev/null +++ b/benchmarks/Microsoft.AspNetCore.Routing.Performance/Matchers/CustomHashTableJumpTable.cs @@ -0,0 +1,197 @@ +// Copyright (c) .NET Foundation. All rights reserved. +// Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information. + +using System; +using System.Collections.Generic; +using System.Diagnostics; +using System.Linq; + +namespace Microsoft.AspNetCore.Routing.Matchers +{ + internal class CustomHashTableJumpTable : JumpTable + { + // Similar to HashHelpers list of primes, but truncated. We don't expect + // incredibly large numbers to be useful here. + private static readonly int[] Primes = new int[] + { + 3, 7, 11, 17, 23, 29, 37, 47, 59, + 71, 89, 107, 131, 163, 197, 239, 293, + 353, 431, 521, 631, 761, 919, 1103, 1327, + 1597, 1931, 2333, 2801, 3371, 4049, 4861, 5839, + 7013, 8419, 10103, + }; + + private readonly int _defaultDestination; + private readonly int _exitDestination; + + private readonly int _prime; + private readonly int[] _buckets; + private readonly Entry[] _entries; + + public CustomHashTableJumpTable( + int defaultDestination, + int exitDestination, + (string text, int destination)[] entries) + { + _defaultDestination = defaultDestination; + _exitDestination = exitDestination; + + var map = new Dictionary>(); + + for (var i = 0; i < entries.Length; i++) + { + var key = GetKey(entries[i].text, new PathSegment(0, entries[i].text.Length)); + if (!map.TryGetValue(key, out var matches)) + { + matches = new List<(string text, int destination)>(); + map.Add(key, matches); + } + + matches.Add(entries[i]); + } + + _prime = GetPrime(map.Count); + _buckets = new int[_prime + 1]; + _entries = new Entry[map.Sum(kvp => kvp.Value.Count)]; + + var next = 0; + foreach (var group in map.GroupBy(kvp => kvp.Key % _prime).OrderBy(g => g.Key)) + { + _buckets[group.Key] = next; + + foreach (var array in group) + { + for (var i = 0; i < array.Value.Count; i++) + { + _entries[next++] = new Entry(array.Value[i].text, array.Value[i].destination); + } + } + } + + Debug.Assert(next == _entries.Length); + _buckets[_prime] = next; + + var last = 0; + for (var i = 0; i < _buckets.Length; i++) + { + if (_buckets[i] == 0) + { + _buckets[i] = last; + } + else + { + last = _buckets[i]; + } + } + } + + public int Find(int key) + { + return key % _prime; + } + + private static int GetPrime(int capacity) + { + for (int i = 0; i < Primes.Length; i++) + { + int prime = Primes[i]; + if (prime >= capacity) + { + return prime; + } + } + + return Primes[Primes.Length - 1]; + } + + public override unsafe int GetDestination(string path, PathSegment segment) + { + if (segment.Length == 0) + { + return _exitDestination; + } + + var key = GetKey(path, segment); + var index = Find(key); + + var start = _buckets[index]; + var end = _buckets[index + 1]; + + var entries = _entries.AsSpan(start, end - start); + for (var i = 0; i < entries.Length; i++) + { + var text = entries[i].Text; + if (text.Length == segment.Length && + string.Compare( + path, + segment.Start, + text, + 0, + segment.Length, + StringComparison.OrdinalIgnoreCase) == 0) + { + return entries[i].Destination; + } + } + + return _defaultDestination; + } + + // Builds a hashcode from segment (first four characters converted to 8bit ASCII) + private static unsafe int GetKey(string path, PathSegment segment) + { + fixed (char* p = path) + { + switch (path.Length) + { + case 0: + { + return 0; + } + + case 1: + { + return + ((*(p + segment.Start + 0) & 0x5F) << (0 * 8)); + } + + case 2: + { + return + ((*(p + segment.Start + 0) & 0x5F) << (0 * 8)) | + ((*(p + segment.Start + 1) & 0x5F) << (1 * 8)); + } + + case 3: + { + return + ((*(p + segment.Start + 0) & 0x5F) << (0 * 8)) | + ((*(p + segment.Start + 1) & 0x5F) << (1 * 8)) | + ((*(p + segment.Start + 2) & 0x5F) << (2 * 8)); + } + + default: + { + return + ((*(p + segment.Start + 0) & 0x5F) << (0 * 8)) | + ((*(p + segment.Start + 1) & 0x5F) << (1 * 8)) | + ((*(p + segment.Start + 2) & 0x5F) << (2 * 8)) | + ((*(p + segment.Start + 3) & 0x5F) << (3 * 8)); + } + } + } + } + + private readonly struct Entry + { + public readonly string Text; + public readonly int Destination; + + public Entry(string text, int destination) + { + Text = text; + Destination = destination; + } + } + } +} diff --git a/benchmarks/Microsoft.AspNetCore.Routing.Performance/Matchers/DictionaryLookupJumpTable.cs b/benchmarks/Microsoft.AspNetCore.Routing.Performance/Matchers/DictionaryLookupJumpTable.cs new file mode 100644 index 0000000000..3e0f75716b --- /dev/null +++ b/benchmarks/Microsoft.AspNetCore.Routing.Performance/Matchers/DictionaryLookupJumpTable.cs @@ -0,0 +1,112 @@ +// Copyright (c) .NET Foundation. All rights reserved. +// Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information. + +using System; +using System.Collections.Generic; +using System.Linq; + +namespace Microsoft.AspNetCore.Routing.Matchers +{ + internal class DictionaryLookupJumpTable : JumpTable + { + private readonly int _defaultDestination; + private readonly int _exitDestination; + private readonly Dictionary _store; + + public DictionaryLookupJumpTable( + int defaultDestination, + int exitDestination, + (string text, int destination)[] entries) + { + _defaultDestination = defaultDestination; + _exitDestination = exitDestination; + + var map = new Dictionary>(); + + for (var i = 0; i < entries.Length; i++) + { + var key = GetKey(entries[i].text.AsSpan()); + if (!map.TryGetValue(key, out var matches)) + { + matches = new List<(string text, int destination)>(); + map.Add(key, matches); + } + + matches.Add(entries[i]); + } + + _store = map.ToDictionary(kvp => kvp.Key, kvp => kvp.Value.ToArray()); + } + + public override int GetDestination(string path, PathSegment segment) + { + if (segment.Length == 0) + { + return _exitDestination; + } + + var key = GetKey(path.AsSpan(segment.Start, segment.Length)); + if (_store.TryGetValue(key, out var entries)) + { + for (var i = 0; i < entries.Length; i++) + { + var text = entries[i].text; + if (text.Length == segment.Length && + string.Compare( + path, + segment.Start, + text, + 0, + segment.Length, + StringComparison.OrdinalIgnoreCase) == 0) + { + return entries[i].destination; + } + } + } + + return _defaultDestination; + } + + private static int GetKey(string path, PathSegment segment) + { + return GetKey(path.AsSpan(segment.Start, segment.Length)); + } + + /// builds a key from the last byte of length + first 3 characters of text (converted to ascii) + private static int GetKey(ReadOnlySpan span) + { + var length = (byte)(span.Length & 0xFF); + + byte c0, c1, c2; + switch (length) + { + case 0: + { + return 0; + } + + case 1: + { + c0 = (byte)(span[0] & 0x5F); + return (length << 24) | (c0 << 16); + } + + case 2: + { + c0 = (byte)(span[0] & 0x5F); + c1 = (byte)(span[1] & 0x5F); + return (length << 24) | (c0 << 16) | (c1 << 8); + } + + default: + { + c0 = (byte)(span[0] & 0x5F); + c1 = (byte)(span[1] & 0x5F); + c2 = (byte)(span[2] & 0x5F); + return (length << 24) | (c0 << 16) | (c1 << 8) | c2; + } + } + } + } +} diff --git a/benchmarks/Microsoft.AspNetCore.Routing.Performance/Matchers/JumpTableMultipleEntryBenchmark.cs b/benchmarks/Microsoft.AspNetCore.Routing.Performance/Matchers/JumpTableMultipleEntryBenchmark.cs index 87d70ae74d..731334c1c1 100644 --- a/benchmarks/Microsoft.AspNetCore.Routing.Performance/Matchers/JumpTableMultipleEntryBenchmark.cs +++ b/benchmarks/Microsoft.AspNetCore.Routing.Performance/Matchers/JumpTableMultipleEntryBenchmark.cs @@ -3,6 +3,7 @@ using System; using System.Collections.Generic; +using System.Diagnostics; using BenchmarkDotNet.Attributes; namespace Microsoft.AspNetCore.Routing.Matchers @@ -14,9 +15,12 @@ namespace Microsoft.AspNetCore.Routing.Matchers private JumpTable _linearSearch; private JumpTable _dictionary; + private JumpTable _ascii; + private JumpTable _dictionaryLookup; + private JumpTable _customHashTable; // All factors of 100 to support sampling - [Params(2, 5, 10, 25, 50, 100)] + [Params(2, 4, 5, 10, 25)] public int Count; [GlobalSetup] @@ -44,6 +48,9 @@ namespace Microsoft.AspNetCore.Routing.Matchers _linearSearch = new LinearSearchJumpTable(0, -1, entries.ToArray()); _dictionary = new DictionaryJumpTable(0, -1, entries.ToArray()); + Debug.Assert(AsciiKeyedJumpTable.TryCreate(0, -1, entries, out _ascii)); + _dictionaryLookup = new DictionaryLookupJumpTable(0, -1, entries.ToArray()); + _customHashTable = new CustomHashTableJumpTable(0, -1, entries.ToArray()); } // This baseline is similar to SingleEntryJumpTable. We just want @@ -104,6 +111,51 @@ namespace Microsoft.AspNetCore.Routing.Matchers return destination; } + [Benchmark(OperationsPerInvoke = 100)] + public int Ascii() + { + var strings = _strings; + var segments = _segments; + + var destination = 0; + for (var i = 0; i < strings.Length; i++) + { + destination = _ascii.GetDestination(strings[i], segments[i]); + } + + return destination; + } + + [Benchmark(OperationsPerInvoke = 100)] + public int DictionaryLookup() + { + var strings = _strings; + var segments = _segments; + + var destination = 0; + for (var i = 0; i < strings.Length; i++) + { + destination = _dictionaryLookup.GetDestination(strings[i], segments[i]); + } + + return destination; + } + + [Benchmark(OperationsPerInvoke = 100)] + public int CustomHashTable() + { + var strings = _strings; + var segments = _segments; + + var destination = 0; + for (var i = 0; i < strings.Length; i++) + { + destination = _customHashTable.GetDestination(strings[i], segments[i]); + } + + return destination; + } + private static string[] GetStrings(int count) { var strings = new string[count]; From 73e4d55d7bef3d3fbd90f7309bd0034a3d78cf4f Mon Sep 17 00:00:00 2001 From: James Newton-King Date: Sat, 14 Jul 2018 18:20:42 +1200 Subject: [PATCH 067/221] Check dispatcher services registered (#610) --- .../DispatcherApplicationBuilderExtensions.cs | 20 ++++ .../DispatcherServiceCollectionExtensions.cs | 4 + .../RoutingServiceCollectionExtensions.cs | 1 - .../Internal/DispatcherMarkerService.cs | 15 +++ .../Internal/RoutingMarkerService.cs | 2 +- .../DispatcherApplicationBuilderExtensions.cs | 103 ++++++++++++++++++ 6 files changed, 143 insertions(+), 2 deletions(-) create mode 100644 src/Microsoft.AspNetCore.Routing/Internal/DispatcherMarkerService.cs create mode 100644 test/Microsoft.AspNetCore.Routing.Tests/DispatcherApplicationBuilderExtensions.cs diff --git a/src/Microsoft.AspNetCore.Routing/Builder/DispatcherApplicationBuilderExtensions.cs b/src/Microsoft.AspNetCore.Routing/Builder/DispatcherApplicationBuilderExtensions.cs index c3cc3df56c..df0528799e 100644 --- a/src/Microsoft.AspNetCore.Routing/Builder/DispatcherApplicationBuilderExtensions.cs +++ b/src/Microsoft.AspNetCore.Routing/Builder/DispatcherApplicationBuilderExtensions.cs @@ -1,7 +1,10 @@ // Copyright (c) .NET Foundation. All rights reserved. // Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information. +using System; using Microsoft.AspNetCore.Routing; +using Microsoft.AspNetCore.Routing.Internal; +using Microsoft.Extensions.DependencyInjection; namespace Microsoft.AspNetCore.Builder { @@ -9,12 +12,29 @@ namespace Microsoft.AspNetCore.Builder { public static IApplicationBuilder UseDispatcher(this IApplicationBuilder builder) { + VerifyDispatcherIsRegistered(builder); + return builder.UseMiddleware(); } public static IApplicationBuilder UseEndpoint(this IApplicationBuilder builder) { + VerifyDispatcherIsRegistered(builder); + return builder.UseMiddleware(); } + + private static void VerifyDispatcherIsRegistered(IApplicationBuilder app) + { + // Verify if AddDispatcher was done before calling UseDispatcher/UseEndpoint + // We use the DispatcherMarkerService to make sure if all the services were added. + if (app.ApplicationServices.GetService(typeof(DispatcherMarkerService)) == null) + { + throw new InvalidOperationException(Resources.FormatUnableToFindServices( + nameof(IServiceCollection), + nameof(DispatcherServiceCollectionExtensions.AddDispatcher), + "ConfigureServices(...)")); + } + } } } diff --git a/src/Microsoft.AspNetCore.Routing/DependencyInjection/DispatcherServiceCollectionExtensions.cs b/src/Microsoft.AspNetCore.Routing/DependencyInjection/DispatcherServiceCollectionExtensions.cs index 565fe50cdf..afd9a4a4b0 100644 --- a/src/Microsoft.AspNetCore.Routing/DependencyInjection/DispatcherServiceCollectionExtensions.cs +++ b/src/Microsoft.AspNetCore.Routing/DependencyInjection/DispatcherServiceCollectionExtensions.cs @@ -6,6 +6,7 @@ using System.Reflection; using Microsoft.AspNetCore.Routing; using Microsoft.AspNetCore.Routing.EndpointConstraints; using Microsoft.AspNetCore.Routing.EndpointFinders; +using Microsoft.AspNetCore.Routing.Internal; using Microsoft.AspNetCore.Routing.Matchers; using Microsoft.Extensions.DependencyInjection.Extensions; using Microsoft.Extensions.Options; @@ -34,6 +35,7 @@ namespace Microsoft.Extensions.DependencyInjection // // Default matcher implementation // + services.TryAddSingleton(); services.TryAddSingleton(); // Link generation related services @@ -50,6 +52,8 @@ namespace Microsoft.Extensions.DependencyInjection services.TryAddEnumerable( ServiceDescriptor.Transient()); + services.TryAddSingleton(typeof(DispatcherMarkerService)); + return services; } diff --git a/src/Microsoft.AspNetCore.Routing/DependencyInjection/RoutingServiceCollectionExtensions.cs b/src/Microsoft.AspNetCore.Routing/DependencyInjection/RoutingServiceCollectionExtensions.cs index 18ededc423..675ef797ac 100644 --- a/src/Microsoft.AspNetCore.Routing/DependencyInjection/RoutingServiceCollectionExtensions.cs +++ b/src/Microsoft.AspNetCore.Routing/DependencyInjection/RoutingServiceCollectionExtensions.cs @@ -30,7 +30,6 @@ namespace Microsoft.Extensions.DependencyInjection throw new ArgumentNullException(nameof(services)); } - services.TryAddSingleton(); services.TryAddTransient(); services.TryAddSingleton>(s => { diff --git a/src/Microsoft.AspNetCore.Routing/Internal/DispatcherMarkerService.cs b/src/Microsoft.AspNetCore.Routing/Internal/DispatcherMarkerService.cs new file mode 100644 index 0000000000..f4e742b654 --- /dev/null +++ b/src/Microsoft.AspNetCore.Routing/Internal/DispatcherMarkerService.cs @@ -0,0 +1,15 @@ +// Copyright (c) .NET Foundation. All rights reserved. +// Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information. + +using Microsoft.Extensions.DependencyInjection; + +namespace Microsoft.AspNetCore.Routing.Internal +{ + /// + /// A marker class used to determine if all the dispatcher services were added + /// to the before dispatcher is configured. + /// + internal class DispatcherMarkerService + { + } +} \ No newline at end of file diff --git a/src/Microsoft.AspNetCore.Routing/Internal/RoutingMarkerService.cs b/src/Microsoft.AspNetCore.Routing/Internal/RoutingMarkerService.cs index b180294316..c7bed9df18 100644 --- a/src/Microsoft.AspNetCore.Routing/Internal/RoutingMarkerService.cs +++ b/src/Microsoft.AspNetCore.Routing/Internal/RoutingMarkerService.cs @@ -9,7 +9,7 @@ namespace Microsoft.AspNetCore.Routing.Internal /// A marker class used to determine if all the routing services were added /// to the before routing is configured. /// - public class RoutingMarkerService + internal class RoutingMarkerService { } } \ No newline at end of file diff --git a/test/Microsoft.AspNetCore.Routing.Tests/DispatcherApplicationBuilderExtensions.cs b/test/Microsoft.AspNetCore.Routing.Tests/DispatcherApplicationBuilderExtensions.cs new file mode 100644 index 0000000000..6398227db1 --- /dev/null +++ b/test/Microsoft.AspNetCore.Routing.Tests/DispatcherApplicationBuilderExtensions.cs @@ -0,0 +1,103 @@ +// Copyright (c) .NET Foundation. All rights reserved. +// Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information. + +using System; +using System.Threading.Tasks; +using Microsoft.AspNetCore.Builder.Internal; +using Microsoft.AspNetCore.Http; +using Microsoft.AspNetCore.Routing; +using Microsoft.Extensions.DependencyInjection; +using Moq; +using Xunit; + +namespace Microsoft.AspNetCore.Builder +{ + public class DispatcherApplicationBuilderExtensions + { + [Fact] + public void UseDispatcher_ServicesNotRegistered_Throws() + { + // Arrange + var app = new ApplicationBuilder(Mock.Of()); + + // Act + var ex = Assert.Throws(() => app.UseDispatcher()); + + // Assert + Assert.Equal( + "Unable to find the required services. " + + "Please add all the required services by calling 'IServiceCollection.AddDispatcher' " + + "inside the call to 'ConfigureServices(...)' in the application startup code.", + ex.Message); + } + + [Fact] + public void UseEndpoint_ServicesNotRegistered_Throws() + { + // Arrange + var app = new ApplicationBuilder(Mock.Of()); + + // Act + var ex = Assert.Throws(() => app.UseEndpoint()); + + // Assert + Assert.Equal( + "Unable to find the required services. " + + "Please add all the required services by calling 'IServiceCollection.AddDispatcher' " + + "inside the call to 'ConfigureServices(...)' in the application startup code.", + ex.Message); + } + + [Fact] + public async Task UseDispatcher_ServicesRegistered_SetsFeature() + { + // Arrange + var services = CreateServices(); + + var app = new ApplicationBuilder(services); + + app.UseDispatcher(); + + var appFunc = app.Build(); + var httpContext = new DefaultHttpContext(); + + // Act + await appFunc(httpContext); + + // Assert + Assert.NotNull(httpContext.Features.Get()); + } + + [Fact] + public async Task UseEndpoint_ServicesRegistered_SetsFeature() + { + // Arrange + var services = CreateServices(); + + var app = new ApplicationBuilder(services); + + app.UseDispatcher(); + app.UseEndpoint(); + + var appFunc = app.Build(); + var httpContext = new DefaultHttpContext(); + + // Act + await appFunc(httpContext); + + // Assert + Assert.NotNull(httpContext.Features.Get()); + } + + private IServiceProvider CreateServices() + { + var services = new ServiceCollection(); + + services.AddLogging(); + services.AddOptions(); + services.AddDispatcher(); + + return services.BuildServiceProvider(); + } + } +} From 497a38035d98fa017c0db5468c2e19a4763f8040 Mon Sep 17 00:00:00 2001 From: James Newton-King Date: Sun, 15 Jul 2018 11:50:55 +1200 Subject: [PATCH 068/221] Add application startup check that dispatcher is added to request pipeline (#614) --- .../DispatcherApplicationBuilderExtensions.cs | 12 ++++++++++ .../EndpointMiddleware.cs | 5 +++- ...atcherApplicationBuilderExtensionsTest.cs} | 23 +++++++++++++++++-- .../EndpointMiddlewareTest.cs | 5 +++- 4 files changed, 41 insertions(+), 4 deletions(-) rename test/Microsoft.AspNetCore.Routing.Tests/{DispatcherApplicationBuilderExtensions.cs => DispatcherApplicationBuilderExtensionsTest.cs} (77%) diff --git a/src/Microsoft.AspNetCore.Routing/Builder/DispatcherApplicationBuilderExtensions.cs b/src/Microsoft.AspNetCore.Routing/Builder/DispatcherApplicationBuilderExtensions.cs index df0528799e..90ac0ce3fb 100644 --- a/src/Microsoft.AspNetCore.Routing/Builder/DispatcherApplicationBuilderExtensions.cs +++ b/src/Microsoft.AspNetCore.Routing/Builder/DispatcherApplicationBuilderExtensions.cs @@ -10,10 +10,14 @@ namespace Microsoft.AspNetCore.Builder { public static class DispatcherApplicationBuilderExtensions { + private const string DispatcherRegisteredKey = "__DispatcherMiddlewareRegistered"; + public static IApplicationBuilder UseDispatcher(this IApplicationBuilder builder) { VerifyDispatcherIsRegistered(builder); + builder.Properties[DispatcherRegisteredKey] = true; + return builder.UseMiddleware(); } @@ -21,6 +25,14 @@ namespace Microsoft.AspNetCore.Builder { VerifyDispatcherIsRegistered(builder); + if (!builder.Properties.TryGetValue(DispatcherRegisteredKey, out _)) + { + var message = $"{nameof(DispatcherMiddleware)} must be added to the request execution pipeline before {nameof(EndpointMiddleware)}. " + + $"Please add {nameof(DispatcherMiddleware)} by calling '{nameof(IApplicationBuilder)}.{nameof(UseDispatcher)}' inside the call to 'Configure(...)' in the application startup code."; + + throw new InvalidOperationException(message); + } + return builder.UseMiddleware(); } diff --git a/src/Microsoft.AspNetCore.Routing/EndpointMiddleware.cs b/src/Microsoft.AspNetCore.Routing/EndpointMiddleware.cs index d7c90728dc..36e888ccb1 100644 --- a/src/Microsoft.AspNetCore.Routing/EndpointMiddleware.cs +++ b/src/Microsoft.AspNetCore.Routing/EndpointMiddleware.cs @@ -34,7 +34,10 @@ namespace Microsoft.AspNetCore.Routing var feature = httpContext.Features.Get(); if (feature == null) { - throw new InvalidOperationException("Unable to execute an endpoint because the dispatcher was not run. Ensure dispatcher middleware is registered."); + var message = $"Unable to execute an endpoint because the {nameof(DispatcherMiddleware)} was not run for this request. " + + $"Ensure {nameof(DispatcherMiddleware)} is added to the request execution pipeline before {nameof(EndpointMiddleware)} in application startup code."; + + throw new InvalidOperationException(message); } if (feature.Invoker != null) diff --git a/test/Microsoft.AspNetCore.Routing.Tests/DispatcherApplicationBuilderExtensions.cs b/test/Microsoft.AspNetCore.Routing.Tests/DispatcherApplicationBuilderExtensionsTest.cs similarity index 77% rename from test/Microsoft.AspNetCore.Routing.Tests/DispatcherApplicationBuilderExtensions.cs rename to test/Microsoft.AspNetCore.Routing.Tests/DispatcherApplicationBuilderExtensionsTest.cs index 6398227db1..a748f57557 100644 --- a/test/Microsoft.AspNetCore.Routing.Tests/DispatcherApplicationBuilderExtensions.cs +++ b/test/Microsoft.AspNetCore.Routing.Tests/DispatcherApplicationBuilderExtensionsTest.cs @@ -12,7 +12,7 @@ using Xunit; namespace Microsoft.AspNetCore.Builder { - public class DispatcherApplicationBuilderExtensions + public class DispatcherApplicationBuilderExtensionsTest { [Fact] public void UseDispatcher_ServicesNotRegistered_Throws() @@ -69,7 +69,26 @@ namespace Microsoft.AspNetCore.Builder } [Fact] - public async Task UseEndpoint_ServicesRegistered_SetsFeature() + public void UseEndpoint_ServicesRegisteredAndNoDispatcherRegistered_Throws() + { + // Arrange + var services = CreateServices(); + + var app = new ApplicationBuilder(services); + + // Act + var ex = Assert.Throws(() => app.UseEndpoint()); + + // Assert + Assert.Equal( + "DispatcherMiddleware must be added to the request execution pipeline before EndpointMiddleware. " + + "Please add DispatcherMiddleware by calling 'IApplicationBuilder.UseDispatcher' " + + "inside the call to 'Configure(...)' in the application startup code.", + ex.Message); + } + + [Fact] + public async Task UseEndpoint_ServicesRegisteredAndDispatcherRegistered_SetsFeature() { // Arrange var services = CreateServices(); diff --git a/test/Microsoft.AspNetCore.Routing.Tests/EndpointMiddlewareTest.cs b/test/Microsoft.AspNetCore.Routing.Tests/EndpointMiddlewareTest.cs index ff968fb7be..1a2829a42f 100644 --- a/test/Microsoft.AspNetCore.Routing.Tests/EndpointMiddlewareTest.cs +++ b/test/Microsoft.AspNetCore.Routing.Tests/EndpointMiddlewareTest.cs @@ -34,7 +34,10 @@ namespace Microsoft.AspNetCore.Routing // Assert var ex = await Assert.ThrowsAsync(async () => await invokeTask); - Assert.Equal("Unable to execute an endpoint because the dispatcher was not run. Ensure dispatcher middleware is registered.", ex.Message); + Assert.Equal( + "Unable to execute an endpoint because the DispatcherMiddleware was not run for this request. " + + "Ensure DispatcherMiddleware is added to the request execution pipeline before EndpointMiddleware in application startup code.", + ex.Message); } private class ServiceProvider : IServiceProvider From b2e4743c7d19e1122ba26a0b9c8b72a6182f6f77 Mon Sep 17 00:00:00 2001 From: Ryan Nowak Date: Sat, 14 Jul 2018 17:21:05 -0700 Subject: [PATCH 069/221] Change benchmarks (#612) Add benchmarks that include some HTTP method matching. Clean up names and name like-kinded benchmarks alphabetically. Matcher*Benchmark -> E2E including HTTP method selection MatcherSelectCandidates*Benchmark -> Focused on just URL path processing --- .../Matchers/AsciiKeyedJumpTable.cs | 2 +- .../AzureMatcherBenchmark.generated.cs | 21131 ----------- .../Matchers/Candidate.cs | 28 + .../Matchers/CustomHashTableJumpTable.cs | 2 +- .../FastPathTokenizerBenchmarkBase.cs | 2 +- .../FastPathTokenizerEmptyBenchmark.cs | 7 +- .../FastPathTokenizerLargeBenchmark.cs | 7 +- .../FastPathTokenizerPlaintextBenchmark.cs | 7 +- .../FastPathTokenizerSmallBenchmark.cs | 7 +- .../GithubMatcherBenchmark.generated.cs | 959 - ...rBenchmark.cs => MatcherAzureBenchmark.cs} | 36 +- .../MatcherAzureBenchmark.generated.cs | 30989 ++++++++++++++++ .../Matchers/MatcherBenchmarkBase.cs | 16 +- ...Benchmark.cs => MatcherGithubBenchmark.cs} | 35 +- .../MatcherGithubBenchmark.generated.cs | 1487 + .../MatcherSelectCandidatesAzureBenchmark.cs | 71 + ...electCandidatesAzureBenchmark.generated.cs | 21131 +++++++++++ .../MatcherSelectCandidatesGithubBenchmark.cs | 63 + ...lectCandidatesGithubBenchmark.generated.cs | 959 + ...herSelectCandidatesSingleEntryBenchmark.cs | 63 + ...electCandidatesSmallEntryCountBenchmark.cs | 99 + .../Matchers/MatcherSingleEntryBenchmark.cs | 94 + .../Matchers/SingleEntryMatcherBenchmark.cs | 84 - .../SmallEntryCountLiteralMatcherBenchark.cs | 114 - .../Matchers/TrivialMatcher.cs | 22 +- ...soft.AspNetCore.Routing.Performance.csproj | 2 + .../Matchers/FastPathTokenizer.cs | 16 +- .../Matchers/ZeroEntryJumpTable.cs | 2 +- .../Matchers/BarebonesMatcher.cs | 46 +- .../Matchers/Candidate.cs | 28 + .../Matchers/CandidateSet.cs | 59 + .../Matchers/DfaMatcher.cs | 94 +- .../Matchers/DfaMatcherBuilder.cs | 78 +- .../Matchers/FastPathTokenizerTest.cs | 31 +- .../Matchers/MatcherBuilderEntry.cs | 58 + .../Matchers/RouteMatcherBuilder.cs | 111 +- .../Matchers/TreeRouterMatcherBuilder.cs | 114 +- 37 files changed, 55486 insertions(+), 22568 deletions(-) delete mode 100644 benchmarks/Microsoft.AspNetCore.Routing.Performance/Matchers/AzureMatcherBenchmark.generated.cs create mode 100644 benchmarks/Microsoft.AspNetCore.Routing.Performance/Matchers/Candidate.cs delete mode 100644 benchmarks/Microsoft.AspNetCore.Routing.Performance/Matchers/GithubMatcherBenchmark.generated.cs rename benchmarks/Microsoft.AspNetCore.Routing.Performance/Matchers/{AzureMatcherBenchmark.cs => MatcherAzureBenchmark.cs} (64%) create mode 100644 benchmarks/Microsoft.AspNetCore.Routing.Performance/Matchers/MatcherAzureBenchmark.generated.cs rename benchmarks/Microsoft.AspNetCore.Routing.Performance/Matchers/{GithubMatcherBenchmark.cs => MatcherGithubBenchmark.cs} (62%) create mode 100644 benchmarks/Microsoft.AspNetCore.Routing.Performance/Matchers/MatcherGithubBenchmark.generated.cs create mode 100644 benchmarks/Microsoft.AspNetCore.Routing.Performance/Matchers/MatcherSelectCandidatesAzureBenchmark.cs create mode 100644 benchmarks/Microsoft.AspNetCore.Routing.Performance/Matchers/MatcherSelectCandidatesAzureBenchmark.generated.cs create mode 100644 benchmarks/Microsoft.AspNetCore.Routing.Performance/Matchers/MatcherSelectCandidatesGithubBenchmark.cs create mode 100644 benchmarks/Microsoft.AspNetCore.Routing.Performance/Matchers/MatcherSelectCandidatesGithubBenchmark.generated.cs create mode 100644 benchmarks/Microsoft.AspNetCore.Routing.Performance/Matchers/MatcherSelectCandidatesSingleEntryBenchmark.cs create mode 100644 benchmarks/Microsoft.AspNetCore.Routing.Performance/Matchers/MatcherSelectCandidatesSmallEntryCountBenchmark.cs create mode 100644 benchmarks/Microsoft.AspNetCore.Routing.Performance/Matchers/MatcherSingleEntryBenchmark.cs delete mode 100644 benchmarks/Microsoft.AspNetCore.Routing.Performance/Matchers/SingleEntryMatcherBenchmark.cs delete mode 100644 benchmarks/Microsoft.AspNetCore.Routing.Performance/Matchers/SmallEntryCountLiteralMatcherBenchark.cs create mode 100644 test/Microsoft.AspNetCore.Routing.Tests/Matchers/Candidate.cs create mode 100644 test/Microsoft.AspNetCore.Routing.Tests/Matchers/CandidateSet.cs create mode 100644 test/Microsoft.AspNetCore.Routing.Tests/Matchers/MatcherBuilderEntry.cs diff --git a/benchmarks/Microsoft.AspNetCore.Routing.Performance/Matchers/AsciiKeyedJumpTable.cs b/benchmarks/Microsoft.AspNetCore.Routing.Performance/Matchers/AsciiKeyedJumpTable.cs index bce1afa71e..ef77524e72 100644 --- a/benchmarks/Microsoft.AspNetCore.Routing.Performance/Matchers/AsciiKeyedJumpTable.cs +++ b/benchmarks/Microsoft.AspNetCore.Routing.Performance/Matchers/AsciiKeyedJumpTable.cs @@ -95,7 +95,7 @@ namespace Microsoft.AspNetCore.Routing.Matchers _indexes = indexes; } - public override unsafe int GetDestination(string path, PathSegment segment) + public override int GetDestination(string path, PathSegment segment) { if (segment.Length == 0) { diff --git a/benchmarks/Microsoft.AspNetCore.Routing.Performance/Matchers/AzureMatcherBenchmark.generated.cs b/benchmarks/Microsoft.AspNetCore.Routing.Performance/Matchers/AzureMatcherBenchmark.generated.cs deleted file mode 100644 index 95c5dcd954..0000000000 --- a/benchmarks/Microsoft.AspNetCore.Routing.Performance/Matchers/AzureMatcherBenchmark.generated.cs +++ /dev/null @@ -1,21131 +0,0 @@ - -// Copyright (c) .NET Foundation. All rights reserved. -// Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information. - -using Microsoft.AspNetCore.Http; - -namespace Microsoft.AspNetCore.Routing.Matchers -{ - // This code was generated by the Swaggatherer - public partial class AzureMatcherBenchmark : MatcherBenchmarkBase - { - private const int EndpointCount = 3517; - - private void SetupEndpoints() - { - _endpoints = new MatcherEndpoint[3517]; - _endpoints[0] = CreateEndpoint("/account"); - _endpoints[1] = CreateEndpoint("/analyze"); - _endpoints[2] = CreateEndpoint("/apis"); - _endpoints[3] = CreateEndpoint("/Applications"); - _endpoints[4] = CreateEndpoint("/ApplicationTypes"); - _endpoints[5] = CreateEndpoint("/apps/"); - _endpoints[6] = CreateEndpoint("/authorizationServers"); - _endpoints[7] = CreateEndpoint("/backends"); - _endpoints[8] = CreateEndpoint("/BuildJob"); - _endpoints[9] = CreateEndpoint("/certificates"); - _endpoints[10] = CreateEndpoint("/ComposeDeployments"); - _endpoints[11] = CreateEndpoint("/datasources"); - _endpoints[12] = CreateEndpoint("/deletedcertificates"); - _endpoints[13] = CreateEndpoint("/deletedkeys"); - _endpoints[14] = CreateEndpoint("/deletedsecrets"); - _endpoints[15] = CreateEndpoint("/deletedstorage"); - _endpoints[16] = CreateEndpoint("/describe"); - _endpoints[17] = CreateEndpoint("/detect"); - _endpoints[18] = CreateEndpoint("/domains"); - _endpoints[19] = CreateEndpoint("/entities"); - _endpoints[20] = CreateEndpoint("/facelists"); - _endpoints[21] = CreateEndpoint("/Faults/"); - _endpoints[22] = CreateEndpoint("/findsimilars"); - _endpoints[23] = CreateEndpoint("/generateThumbnail"); - _endpoints[24] = CreateEndpoint("/group"); - _endpoints[25] = CreateEndpoint("/groups"); - _endpoints[26] = CreateEndpoint("/identify"); - _endpoints[27] = CreateEndpoint("/identityProviders"); - _endpoints[28] = CreateEndpoint("/ImageStore"); - _endpoints[29] = CreateEndpoint("/indexers"); - _endpoints[30] = CreateEndpoint("/indexes"); - _endpoints[31] = CreateEndpoint("/Jobs"); - _endpoints[32] = CreateEndpoint("/jobschedules"); - _endpoints[33] = CreateEndpoint("/keys"); - _endpoints[34] = CreateEndpoint("/lifetimejobstats"); - _endpoints[35] = CreateEndpoint("/lifetimepoolstats"); - _endpoints[36] = CreateEndpoint("/loggers"); - _endpoints[37] = CreateEndpoint("/models"); - _endpoints[38] = CreateEndpoint("/news"); - _endpoints[39] = CreateEndpoint("/nodeagentskus"); - _endpoints[40] = CreateEndpoint("/nodecounts"); - _endpoints[41] = CreateEndpoint("/Nodes"); - _endpoints[42] = CreateEndpoint("/ocr"); - _endpoints[43] = CreateEndpoint("/offers"); - _endpoints[44] = CreateEndpoint("/openidConnectProviders"); - _endpoints[45] = CreateEndpoint("/persongroups"); - _endpoints[46] = CreateEndpoint("/pipelines"); - _endpoints[47] = CreateEndpoint("/policies"); - _endpoints[48] = CreateEndpoint("/policySnippets"); - _endpoints[49] = CreateEndpoint("/pools"); - _endpoints[50] = CreateEndpoint("/poolusagemetrics"); - _endpoints[51] = CreateEndpoint("/products"); - _endpoints[52] = CreateEndpoint("/projects"); - _endpoints[53] = CreateEndpoint("/properties"); - _endpoints[54] = CreateEndpoint("/recognizeText"); - _endpoints[55] = CreateEndpoint("/recurrences"); - _endpoints[56] = CreateEndpoint("/regions"); - _endpoints[57] = CreateEndpoint("/search"); - _endpoints[58] = CreateEndpoint("/secrets"); - _endpoints[59] = CreateEndpoint("/servicestats"); - _endpoints[60] = CreateEndpoint("/spellcheck"); - _endpoints[61] = CreateEndpoint("/storage"); - _endpoints[62] = CreateEndpoint("/subscriptions"); - _endpoints[63] = CreateEndpoint("/synonymmaps"); - _endpoints[64] = CreateEndpoint("/tag"); - _endpoints[65] = CreateEndpoint("/templates"); - _endpoints[66] = CreateEndpoint("/tenants"); - _endpoints[67] = CreateEndpoint("/users"); - _endpoints[68] = CreateEndpoint("/verify"); - _endpoints[69] = CreateEndpoint("/$/CancelRepairTask"); - _endpoints[70] = CreateEndpoint("/$/CreateRepairTask"); - _endpoints[71] = CreateEndpoint("/$/DeleteRepairTask"); - _endpoints[72] = CreateEndpoint("/$/ForceApproveRepairTask"); - _endpoints[73] = CreateEndpoint("/$/GetAadMetadata"); - _endpoints[74] = CreateEndpoint("/$/GetClusterConfiguration"); - _endpoints[75] = CreateEndpoint("/$/GetClusterConfigurationUpgradeStatus"); - _endpoints[76] = CreateEndpoint("/$/GetClusterHealth"); - _endpoints[77] = CreateEndpoint("/$/GetClusterHealthChunk"); - _endpoints[78] = CreateEndpoint("/$/GetClusterManifest"); - _endpoints[79] = CreateEndpoint("/$/GetLoadInformation"); - _endpoints[80] = CreateEndpoint("/$/GetProvisionedCodeVersions"); - _endpoints[81] = CreateEndpoint("/$/GetProvisionedConfigVersions"); - _endpoints[82] = CreateEndpoint("/$/GetRepairTaskList"); - _endpoints[83] = CreateEndpoint("/$/GetUpgradeOrchestrationServiceState"); - _endpoints[84] = CreateEndpoint("/$/GetUpgradeProgress"); - _endpoints[85] = CreateEndpoint("/$/InvokeInfrastructureCommand"); - _endpoints[86] = CreateEndpoint("/$/InvokeInfrastructureQuery"); - _endpoints[87] = CreateEndpoint("/$/MoveToNextUpgradeDomain"); - _endpoints[88] = CreateEndpoint("/$/Provision"); - _endpoints[89] = CreateEndpoint("/$/RecoverAllPartitions"); - _endpoints[90] = CreateEndpoint("/$/RecoverSystemPartitions"); - _endpoints[91] = CreateEndpoint("/$/ReportClusterHealth"); - _endpoints[92] = CreateEndpoint("/$/RollbackUpgrade"); - _endpoints[93] = CreateEndpoint("/$/SetUpgradeOrchestrationServiceState"); - _endpoints[94] = CreateEndpoint("/$/StartClusterConfigurationUpgrade"); - _endpoints[95] = CreateEndpoint("/$/Unprovision"); - _endpoints[96] = CreateEndpoint("/$/UpdateRepairExecutionState"); - _endpoints[97] = CreateEndpoint("/$/UpdateRepairTaskHealthPolicy"); - _endpoints[98] = CreateEndpoint("/$/UpdateUpgrade"); - _endpoints[99] = CreateEndpoint("/$/Upgrade"); - _endpoints[100] = CreateEndpoint("/api/events"); - _endpoints[101] = CreateEndpoint("/apps/assistants"); - _endpoints[102] = CreateEndpoint("/apps/cultures"); - _endpoints[103] = CreateEndpoint("/apps/customprebuiltdomains"); - _endpoints[104] = CreateEndpoint("/apps/domains"); - _endpoints[105] = CreateEndpoint("/apps/import"); - _endpoints[106] = CreateEndpoint("/apps/usagescenarios"); - _endpoints[107] = CreateEndpoint("/BackupRestore/BackupPolicies"); - _endpoints[108] = CreateEndpoint("/certificates/contacts"); - _endpoints[109] = CreateEndpoint("/certificates/issuers"); - _endpoints[110] = CreateEndpoint("/docs/$count"); - _endpoints[111] = CreateEndpoint("/docs/autocomplete"); - _endpoints[112] = CreateEndpoint("/images/details"); - _endpoints[113] = CreateEndpoint("/images/search"); - _endpoints[114] = CreateEndpoint("/images/trending"); - _endpoints[115] = CreateEndpoint("/images/visualsearch"); - _endpoints[116] = CreateEndpoint("/keys/restore"); - _endpoints[117] = CreateEndpoint("/news/search"); - _endpoints[118] = CreateEndpoint("/news/trendingtopics"); - _endpoints[119] = CreateEndpoint("/portalsettings/delegation"); - _endpoints[120] = CreateEndpoint("/portalsettings/signin"); - _endpoints[121] = CreateEndpoint("/portalsettings/signup"); - _endpoints[122] = CreateEndpoint("/reports/byApi"); - _endpoints[123] = CreateEndpoint("/reports/byGeo"); - _endpoints[124] = CreateEndpoint("/reports/byOperation"); - _endpoints[125] = CreateEndpoint("/reports/byProduct"); - _endpoints[126] = CreateEndpoint("/reports/byRequest"); - _endpoints[127] = CreateEndpoint("/reports/bySubscription"); - _endpoints[128] = CreateEndpoint("/reports/byTime"); - _endpoints[129] = CreateEndpoint("/reports/byUser"); - _endpoints[130] = CreateEndpoint("/secrets/restore"); - _endpoints[131] = CreateEndpoint("/storage/restore"); - _endpoints[132] = CreateEndpoint("/Tools/Chaos"); - _endpoints[133] = CreateEndpoint("/v2.0/entities"); - _endpoints[134] = CreateEndpoint("/v2.0/keyPhrases"); - _endpoints[135] = CreateEndpoint("/v2.0/languages"); - _endpoints[136] = CreateEndpoint("/v2.0/sentiment"); - _endpoints[137] = CreateEndpoint("/videos/details"); - _endpoints[138] = CreateEndpoint("/videos/search"); - _endpoints[139] = CreateEndpoint("/videos/trending"); - _endpoints[140] = CreateEndpoint("/Applications/$/Create"); - _endpoints[141] = CreateEndpoint("/ApplicationTypes/$/Provision"); - _endpoints[142] = CreateEndpoint("/BackupRestore/$/GetBackups"); - _endpoints[143] = CreateEndpoint("/catalog/usql/acl"); - _endpoints[144] = CreateEndpoint("/catalog/usql/databases"); - _endpoints[145] = CreateEndpoint("/ComposeDeployments/$/Create"); - _endpoints[146] = CreateEndpoint("/EventsStore/Applications/Events"); - _endpoints[147] = CreateEndpoint("/EventsStore/Cluster/Events"); - _endpoints[148] = CreateEndpoint("/EventsStore/Containers/Events"); - _endpoints[149] = CreateEndpoint("/EventsStore/Nodes/Events"); - _endpoints[150] = CreateEndpoint("/EventsStore/Partitions/Events"); - _endpoints[151] = CreateEndpoint("/EventsStore/Services/Events"); - _endpoints[152] = CreateEndpoint("/Faults/$/Cancel"); - _endpoints[153] = CreateEndpoint("/ImageStore/$/CommitUploadSession"); - _endpoints[154] = CreateEndpoint("/ImageStore/$/Copy"); - _endpoints[155] = CreateEndpoint("/ImageStore/$/DeleteUploadSession"); - _endpoints[156] = CreateEndpoint("/ImageStore/$/GetUploadSession"); - _endpoints[157] = CreateEndpoint("/Names/$/Create"); - _endpoints[158] = CreateEndpoint("/providers/Microsoft.AAD/operations"); - _endpoints[159] = CreateEndpoint("/providers/Microsoft.Addons/operations"); - _endpoints[160] = CreateEndpoint("/providers/Microsoft.ADHybridHealthService/addsservices"); - _endpoints[161] = CreateEndpoint("/providers/Microsoft.ADHybridHealthService/configuration"); - _endpoints[162] = CreateEndpoint("/providers/Microsoft.ADHybridHealthService/operations"); - _endpoints[163] = CreateEndpoint("/providers/Microsoft.ADHybridHealthService/services"); - _endpoints[164] = CreateEndpoint("/providers/Microsoft.Advisor/operations"); - _endpoints[165] = CreateEndpoint("/providers/Microsoft.AnalysisServices/operations"); - _endpoints[166] = CreateEndpoint("/providers/Microsoft.ApiManagement/operations"); - _endpoints[167] = CreateEndpoint("/providers/Microsoft.Authorization/policyDefinitions"); - _endpoints[168] = CreateEndpoint("/providers/Microsoft.Authorization/policySetDefinitions"); - _endpoints[169] = CreateEndpoint("/providers/Microsoft.Authorization/providerOperations"); - _endpoints[170] = CreateEndpoint("/providers/Microsoft.Automation/operations"); - _endpoints[171] = CreateEndpoint("/providers/Microsoft.AzureStack/operations"); - _endpoints[172] = CreateEndpoint("/providers/Microsoft.Backup.Admin/operations"); - _endpoints[173] = CreateEndpoint("/providers/Microsoft.Batch/operations"); - _endpoints[174] = CreateEndpoint("/providers/Microsoft.BatchAI/operations"); - _endpoints[175] = CreateEndpoint("/providers/Microsoft.Billing/enrollmentAccounts"); - _endpoints[176] = CreateEndpoint("/providers/Microsoft.Billing/operations"); - _endpoints[177] = CreateEndpoint("/providers/Microsoft.BotService/operations"); - _endpoints[178] = CreateEndpoint("/providers/Microsoft.Cache/operations"); - _endpoints[179] = CreateEndpoint("/providers/Microsoft.Capacity/operations"); - _endpoints[180] = CreateEndpoint("/providers/Microsoft.Capacity/reservationOrders"); - _endpoints[181] = CreateEndpoint("/providers/Microsoft.Cdn/checkNameAvailability"); - _endpoints[182] = CreateEndpoint("/providers/Microsoft.Cdn/edgenodes"); - _endpoints[183] = CreateEndpoint("/providers/Microsoft.Cdn/operations"); - _endpoints[184] = CreateEndpoint("/providers/Microsoft.CertificateRegistration/operations"); - _endpoints[185] = CreateEndpoint("/providers/Microsoft.CognitiveServices/operations"); - _endpoints[186] = CreateEndpoint("/providers/Microsoft.Commerce.Admin/operations"); - _endpoints[187] = CreateEndpoint("/providers/Microsoft.Compute.Admin/operations"); - _endpoints[188] = CreateEndpoint("/providers/Microsoft.Compute/operations"); - _endpoints[189] = CreateEndpoint("/providers/Microsoft.Consumption/operations"); - _endpoints[190] = CreateEndpoint("/providers/Microsoft.ContainerInstance/operations"); - _endpoints[191] = CreateEndpoint("/providers/Microsoft.ContainerRegistry/operations"); - _endpoints[192] = CreateEndpoint("/providers/Microsoft.ContainerService/operations"); - _endpoints[193] = CreateEndpoint("/providers/Microsoft.CustomerInsights/operations"); - _endpoints[194] = CreateEndpoint("/providers/Microsoft.DataBox/operations"); - _endpoints[195] = CreateEndpoint("/providers/Microsoft.Databricks/operations"); - _endpoints[196] = CreateEndpoint("/providers/Microsoft.DataCatalog/operations"); - _endpoints[197] = CreateEndpoint("/providers/Microsoft.DataFactory/operations"); - _endpoints[198] = CreateEndpoint("/providers/Microsoft.DataLakeAnalytics/operations"); - _endpoints[199] = CreateEndpoint("/providers/Microsoft.DataLakeStore/operations"); - _endpoints[200] = CreateEndpoint("/providers/Microsoft.DataMigration/operations"); - _endpoints[201] = CreateEndpoint("/providers/Microsoft.DBforMySQL/operations"); - _endpoints[202] = CreateEndpoint("/providers/Microsoft.DBforPostgreSQL/operations"); - _endpoints[203] = CreateEndpoint("/providers/Microsoft.Devices/operations"); - _endpoints[204] = CreateEndpoint("/providers/Microsoft.DevTestLab/operations"); - _endpoints[205] = CreateEndpoint("/providers/Microsoft.DocumentDB/operations"); - _endpoints[206] = CreateEndpoint("/providers/Microsoft.DomainRegistration/operations"); - _endpoints[207] = CreateEndpoint("/providers/Microsoft.EventGrid/operations"); - _endpoints[208] = CreateEndpoint("/providers/Microsoft.EventGrid/topicTypes"); - _endpoints[209] = CreateEndpoint("/providers/Microsoft.EventHub/operations"); - _endpoints[210] = CreateEndpoint("/providers/Microsoft.Fabric.Admin/operations"); - _endpoints[211] = CreateEndpoint("/providers/Microsoft.Gallery.Admin/operations"); - _endpoints[212] = CreateEndpoint("/providers/Microsoft.HanaOnAzure/operations"); - _endpoints[213] = CreateEndpoint("/providers/Microsoft.HDInsight/operations"); - _endpoints[214] = CreateEndpoint("/providers/Microsoft.ImportExport/locations"); - _endpoints[215] = CreateEndpoint("/providers/Microsoft.ImportExport/operations"); - _endpoints[216] = CreateEndpoint("/providers/Microsoft.InfrastructureInsights.Admin/operations"); - _endpoints[217] = CreateEndpoint("/providers/microsoft.insights/eventcategories"); - _endpoints[218] = CreateEndpoint("/providers/microsoft.insights/operations"); - _endpoints[219] = CreateEndpoint("/providers/Microsoft.Intune/locations"); - _endpoints[220] = CreateEndpoint("/providers/Microsoft.IoTCentral/operations"); - _endpoints[221] = CreateEndpoint("/providers/Microsoft.IoTSpaces/operations"); - _endpoints[222] = CreateEndpoint("/providers/Microsoft.KeyVault.Admin/operations"); - _endpoints[223] = CreateEndpoint("/providers/Microsoft.KeyVault/operations"); - _endpoints[224] = CreateEndpoint("/providers/Microsoft.Logic/operations"); - _endpoints[225] = CreateEndpoint("/providers/Microsoft.MachineLearning/operations"); - _endpoints[226] = CreateEndpoint("/providers/Microsoft.MachineLearningCompute/operations"); - _endpoints[227] = CreateEndpoint("/providers/Microsoft.MachineLearningExperimentation/operations"); - _endpoints[228] = CreateEndpoint("/providers/Microsoft.MachineLearningServices/operations"); - _endpoints[229] = CreateEndpoint("/providers/Microsoft.ManagedIdentity/operations"); - _endpoints[230] = CreateEndpoint("/providers/Microsoft.Management/checkNameAvailability"); - _endpoints[231] = CreateEndpoint("/providers/Microsoft.Management/getEntities"); - _endpoints[232] = CreateEndpoint("/providers/Microsoft.Management/managementGroups"); - _endpoints[233] = CreateEndpoint("/providers/Microsoft.Management/operations"); - _endpoints[234] = CreateEndpoint("/providers/Microsoft.Management/startTenantBackfill"); - _endpoints[235] = CreateEndpoint("/providers/Microsoft.Management/tenantBackfillStatus"); - _endpoints[236] = CreateEndpoint("/providers/Microsoft.ManagementPartner/operations"); - _endpoints[237] = CreateEndpoint("/providers/Microsoft.Maps/operations"); - _endpoints[238] = CreateEndpoint("/providers/Microsoft.MarketplaceOrdering/operations"); - _endpoints[239] = CreateEndpoint("/providers/Microsoft.Media/operations"); - _endpoints[240] = CreateEndpoint("/providers/Microsoft.Migrate/operations"); - _endpoints[241] = CreateEndpoint("/providers/Microsoft.Network/checkTrafficManagerNameAvailability"); - _endpoints[242] = CreateEndpoint("/providers/Microsoft.Network/operations"); - _endpoints[243] = CreateEndpoint("/providers/Microsoft.NotificationHubs/operations"); - _endpoints[244] = CreateEndpoint("/providers/Microsoft.OperationalInsights/operations"); - _endpoints[245] = CreateEndpoint("/providers/Microsoft.OperationsManagement/operations"); - _endpoints[246] = CreateEndpoint("/providers/Microsoft.PolicyInsights/operations"); - _endpoints[247] = CreateEndpoint("/providers/Microsoft.PowerBI/operations"); - _endpoints[248] = CreateEndpoint("/providers/Microsoft.PowerBIDedicated/operations"); - _endpoints[249] = CreateEndpoint("/providers/Microsoft.RecoveryServices/operations"); - _endpoints[250] = CreateEndpoint("/providers/Microsoft.Relay/operations"); - _endpoints[251] = CreateEndpoint("/providers/Microsoft.ResourceHealth/operations"); - _endpoints[252] = CreateEndpoint("/providers/Microsoft.Search/operations"); - _endpoints[253] = CreateEndpoint("/providers/Microsoft.Security/operations"); - _endpoints[254] = CreateEndpoint("/providers/Microsoft.ServiceBus/operations"); - _endpoints[255] = CreateEndpoint("/providers/Microsoft.ServiceFabric/operations"); - _endpoints[256] = CreateEndpoint("/providers/Microsoft.SignalRService/operations"); - _endpoints[257] = CreateEndpoint("/providers/Microsoft.Sql/operations"); - _endpoints[258] = CreateEndpoint("/providers/Microsoft.Storage.Admin/operations"); - _endpoints[259] = CreateEndpoint("/providers/Microsoft.Storage/operations"); - _endpoints[260] = CreateEndpoint("/providers/Microsoft.StorSimple/operations"); - _endpoints[261] = CreateEndpoint("/providers/Microsoft.StreamAnalytics/operations"); - _endpoints[262] = CreateEndpoint("/providers/Microsoft.Subscription/operations"); - _endpoints[263] = CreateEndpoint("/providers/Microsoft.Subscription/subscriptionDefinitions"); - _endpoints[264] = CreateEndpoint("/providers/Microsoft.Subscription/subscriptionOperations"); - _endpoints[265] = CreateEndpoint("/providers/Microsoft.Subscriptions.Admin/operations"); - _endpoints[266] = CreateEndpoint("/providers/Microsoft.Subscriptions/operations"); - _endpoints[267] = CreateEndpoint("/providers/Microsoft.TimeSeriesInsights/operations"); - _endpoints[268] = CreateEndpoint("/providers/Microsoft.Update.Admin/operations"); - _endpoints[269] = CreateEndpoint("/providers/microsoft.visualstudio/operations"); - _endpoints[270] = CreateEndpoint("/providers/Microsoft.Web/availableStacks"); - _endpoints[271] = CreateEndpoint("/providers/Microsoft.Web/operations"); - _endpoints[272] = CreateEndpoint("/providers/Microsoft.Web/sourcecontrols"); - _endpoints[273] = CreateEndpoint("/Tools/Chaos/Events"); - _endpoints[274] = CreateEndpoint("/Tools/Chaos/Schedule"); - _endpoints[275] = CreateEndpoint("/BackupRestore/BackupPolicies/$/Create"); - _endpoints[276] = CreateEndpoint("/contentmoderator/lists/v1.0/imagelists"); - _endpoints[277] = CreateEndpoint("/contentmoderator/lists/v1.0/termlists"); - _endpoints[278] = CreateEndpoint("/providers/Microsoft.ADHybridHealthService/addsservices/premiumCheck"); - _endpoints[279] = CreateEndpoint("/providers/Microsoft.ADHybridHealthService/services/premiumCheck"); - _endpoints[280] = CreateEndpoint("/providers/Microsoft.BotService/botServices/checkNameAvailability"); - _endpoints[281] = CreateEndpoint("/providers/Microsoft.Intune/locations/hostName"); - _endpoints[282] = CreateEndpoint("/providers/Microsoft.Network/trafficManagerGeographicHierarchies/default"); - _endpoints[283] = CreateEndpoint("/providers/Microsoft.Web/publishingUsers/web"); - _endpoints[284] = CreateEndpoint("/Tools/Chaos/$/Report"); - _endpoints[285] = CreateEndpoint("/Tools/Chaos/$/Start"); - _endpoints[286] = CreateEndpoint("/Tools/Chaos/$/Stop"); - _endpoints[287] = CreateEndpoint("/contentmoderator/moderate/v1.0/ProcessImage/Evaluate"); - _endpoints[288] = CreateEndpoint("/contentmoderator/moderate/v1.0/ProcessImage/FindFaces"); - _endpoints[289] = CreateEndpoint("/contentmoderator/moderate/v1.0/ProcessImage/Match"); - _endpoints[290] = CreateEndpoint("/contentmoderator/moderate/v1.0/ProcessImage/OCR"); - _endpoints[291] = CreateEndpoint("/contentmoderator/moderate/v1.0/ProcessText/DetectLanguage"); - _endpoints[292] = CreateEndpoint("/contentmoderator/moderate/v1.0/ProcessText/Screen/"); - _endpoints[293] = CreateEndpoint("/providers/microsoft.insights/eventtypes/management/values"); - _endpoints[294] = CreateEndpoint("/contentmoderator/lists/v1.0/imagelists/{listId}"); - _endpoints[295] = CreateEndpoint("/contentmoderator/lists/v1.0/termlists/{listId}"); - _endpoints[296] = CreateEndpoint("/contentmoderator/lists/v1.0/imagelists/{listId}/images"); - _endpoints[297] = CreateEndpoint("/contentmoderator/lists/v1.0/imagelists/{listId}/RefreshIndex"); - _endpoints[298] = CreateEndpoint("/contentmoderator/lists/v1.0/termlists/{listId}/RefreshIndex"); - _endpoints[299] = CreateEndpoint("/contentmoderator/lists/v1.0/termlists/{listId}/terms"); - _endpoints[300] = CreateEndpoint("/contentmoderator/review/v1.0/teams/{teamName}/jobs"); - _endpoints[301] = CreateEndpoint("/contentmoderator/review/v1.0/teams/{teamName}/reviews"); - _endpoints[302] = CreateEndpoint("/contentmoderator/lists/v1.0/imagelists/{listId}/images/{ImageId}"); - _endpoints[303] = CreateEndpoint("/contentmoderator/lists/v1.0/termlists/{listId}/terms/{term}"); - _endpoints[304] = CreateEndpoint("/contentmoderator/review/v1.0/teams/{teamName}/jobs/{JobId}"); - _endpoints[305] = CreateEndpoint("/contentmoderator/review/v1.0/teams/{teamName}/reviews/{reviewId}"); - _endpoints[306] = CreateEndpoint("/contentmoderator/review/v1.0/teams/{teamName}/reviews/{reviewId}/frames"); - _endpoints[307] = CreateEndpoint("/contentmoderator/review/v1.0/teams/{teamName}/reviews/{reviewId}/publish"); - _endpoints[308] = CreateEndpoint("/contentmoderator/review/v1.0/teams/{teamName}/reviews/{reviewId}/transcript"); - _endpoints[309] = CreateEndpoint("/contentmoderator/review/v1.0/teams/{teamName}/reviews/{reviewId}/transcriptmoderationresult"); - _endpoints[310] = CreateEndpoint("/catalog/usql/databases/{databaseName}"); - _endpoints[311] = CreateEndpoint("/providers/Microsoft.ADHybridHealthService/addsservices/{serviceName}"); - _endpoints[312] = CreateEndpoint("/providers/Microsoft.ADHybridHealthService/services/{serviceName}"); - _endpoints[313] = CreateEndpoint("/providers/Microsoft.Authorization/policyDefinitions/{policyDefinitionName}"); - _endpoints[314] = CreateEndpoint("/providers/Microsoft.Authorization/policySetDefinitions/{policySetDefinitionName}"); - _endpoints[315] = CreateEndpoint("/providers/Microsoft.Authorization/providerOperations/{resourceProviderNamespace}"); - _endpoints[316] = CreateEndpoint("/providers/Microsoft.Billing/enrollmentAccounts/{name}"); - _endpoints[317] = CreateEndpoint("/providers/Microsoft.Capacity/reservationOrders/{reservationOrderId}"); - _endpoints[318] = CreateEndpoint("/providers/Microsoft.DocumentDB/databaseAccountNames/{accountName}"); - _endpoints[319] = CreateEndpoint("/providers/Microsoft.EventGrid/topicTypes/{topicTypeName}"); - _endpoints[320] = CreateEndpoint("/providers/Microsoft.ImportExport/locations/{locationName}"); - _endpoints[321] = CreateEndpoint("/providers/Microsoft.Management/managementGroups/{groupId}"); - _endpoints[322] = CreateEndpoint("/providers/Microsoft.ManagementPartner/partners/{partnerId}"); - _endpoints[323] = CreateEndpoint("/providers/Microsoft.Subscription/subscriptionDefinitions/{subscriptionDefinitionName}"); - _endpoints[324] = CreateEndpoint("/providers/Microsoft.Subscription/subscriptionOperations/{operationId}"); - _endpoints[325] = CreateEndpoint("/providers/Microsoft.Web/sourcecontrols/{sourceControlType}"); - _endpoints[326] = CreateEndpoint("/catalog/usql/databases/{databaseName}/acl"); - _endpoints[327] = CreateEndpoint("/catalog/usql/databases/{databaseName}/assemblies"); - _endpoints[328] = CreateEndpoint("/catalog/usql/databases/{databaseName}/credentials"); - _endpoints[329] = CreateEndpoint("/catalog/usql/databases/{databaseName}/externaldatasources"); - _endpoints[330] = CreateEndpoint("/catalog/usql/databases/{databaseName}/schemas"); - _endpoints[331] = CreateEndpoint("/catalog/usql/databases/{databaseName}/secrets"); - _endpoints[332] = CreateEndpoint("/catalog/usql/databases/{databaseName}/statistics"); - _endpoints[333] = CreateEndpoint("/catalog/usql/databases/{databaseName}/tables"); - _endpoints[334] = CreateEndpoint("/catalog/usql/databases/{databaseName}/tablevaluedfunctions"); - _endpoints[335] = CreateEndpoint("/catalog/usql/databases/{databaseName}/views"); - _endpoints[336] = CreateEndpoint("/providers/Microsoft.ADHybridHealthService/addsservices/{serviceName}/addomainservicemembers"); - _endpoints[337] = CreateEndpoint("/providers/Microsoft.ADHybridHealthService/addsservices/{serviceName}/addsservicemembers"); - _endpoints[338] = CreateEndpoint("/providers/Microsoft.ADHybridHealthService/addsservices/{serviceName}/alerts"); - _endpoints[339] = CreateEndpoint("/providers/Microsoft.ADHybridHealthService/addsservices/{serviceName}/configuration"); - _endpoints[340] = CreateEndpoint("/providers/Microsoft.ADHybridHealthService/addsservices/{serviceName}/forestsummary"); - _endpoints[341] = CreateEndpoint("/providers/Microsoft.ADHybridHealthService/addsservices/{serviceName}/metricmetadata"); - _endpoints[342] = CreateEndpoint("/providers/Microsoft.ADHybridHealthService/addsservices/{serviceName}/replicationstatus"); - _endpoints[343] = CreateEndpoint("/providers/Microsoft.ADHybridHealthService/addsservices/{serviceName}/replicationsummary"); - _endpoints[344] = CreateEndpoint("/providers/Microsoft.ADHybridHealthService/services/{serviceName}/alerts"); - _endpoints[345] = CreateEndpoint("/providers/Microsoft.ADHybridHealthService/services/{serviceName}/exportstatus"); - _endpoints[346] = CreateEndpoint("/providers/Microsoft.ADHybridHealthService/services/{serviceName}/metricmetadata"); - _endpoints[347] = CreateEndpoint("/providers/Microsoft.ADHybridHealthService/services/{serviceName}/monitoringconfiguration"); - _endpoints[348] = CreateEndpoint("/providers/Microsoft.ADHybridHealthService/services/{serviceName}/monitoringconfigurations"); - _endpoints[349] = CreateEndpoint("/providers/Microsoft.ADHybridHealthService/services/{serviceName}/servicemembers"); - _endpoints[350] = CreateEndpoint("/providers/Microsoft.Capacity/reservationOrders/{reservationOrderId}/merge"); - _endpoints[351] = CreateEndpoint("/providers/Microsoft.Capacity/reservationOrders/{reservationOrderId}/reservations"); - _endpoints[352] = CreateEndpoint("/providers/Microsoft.Capacity/reservationOrders/{reservationOrderId}/split"); - _endpoints[353] = CreateEndpoint("/providers/Microsoft.EventGrid/topicTypes/{topicTypeName}/eventTypes"); - _endpoints[354] = CreateEndpoint("/providers/Microsoft.Intune/locations/{hostName}/androidPolicies"); - _endpoints[355] = CreateEndpoint("/providers/Microsoft.Intune/locations/{hostName}/apps"); - _endpoints[356] = CreateEndpoint("/providers/Microsoft.Intune/locations/{hostName}/flaggedUsers"); - _endpoints[357] = CreateEndpoint("/providers/Microsoft.Intune/locations/{hostName}/iosPolicies"); - _endpoints[358] = CreateEndpoint("/providers/Microsoft.Intune/locations/{hostName}/operationResults"); - _endpoints[359] = CreateEndpoint("/providers/Microsoft.ADHybridHealthService/services/{serviceName}/exporterrors/counts"); - _endpoints[360] = CreateEndpoint("/providers/Microsoft.ADHybridHealthService/services/{serviceName}/exporterrors/listV2"); - _endpoints[361] = CreateEndpoint("/providers/Microsoft.Intune/locations/{hostName}/statuses/default"); - _endpoints[362] = CreateEndpoint("/providers/Microsoft.ADHybridHealthService/services/{serviceName}/feedbacktype/alerts/feedback"); - _endpoints[363] = CreateEndpoint("/providers/Microsoft.Billing/billingAccounts/{billingAccountId}/providers/Microsoft.Consumption/balances"); - _endpoints[364] = CreateEndpoint("/providers/Microsoft.Billing/billingAccounts/{billingAccountId}/providers/Microsoft.Consumption/costTags"); - _endpoints[365] = CreateEndpoint("/providers/Microsoft.Billing/billingAccounts/{billingAccountId}/providers/Microsoft.Consumption/marketplaces"); - _endpoints[366] = CreateEndpoint("/providers/Microsoft.Billing/billingAccounts/{billingAccountId}/providers/Microsoft.Consumption/usageDetails"); - _endpoints[367] = CreateEndpoint("/providers/Microsoft.Billing/departments/{departmentId}/providers/Microsoft.Consumption/marketplaces"); - _endpoints[368] = CreateEndpoint("/providers/Microsoft.Billing/departments/{departmentId}/providers/Microsoft.Consumption/usageDetails"); - _endpoints[369] = CreateEndpoint("/providers/Microsoft.Billing/enrollmentAccounts/{enrollmentAccountId}/providers/Microsoft.Consumption/marketplaces"); - _endpoints[370] = CreateEndpoint("/providers/Microsoft.Billing/enrollmentAccounts/{enrollmentAccountId}/providers/Microsoft.Consumption/usageDetails"); - _endpoints[371] = CreateEndpoint("/providers/Microsoft.Billing/enrollmentAccounts/{enrollmentAccountName}/providers/Microsoft.Subscription/createSubscription"); - _endpoints[372] = CreateEndpoint("/providers/Microsoft.Capacity/reservationorders/{reservationOrderId}/providers/Microsoft.Consumption/reservationDetails"); - _endpoints[373] = CreateEndpoint("/providers/Microsoft.Capacity/reservationorders/{reservationOrderId}/providers/Microsoft.Consumption/reservationSummaries"); - _endpoints[374] = CreateEndpoint("/providers/Microsoft.CostManagement/billingAccounts/{billingAccountId}/providers/Microsoft.Consumption/tags"); - _endpoints[375] = CreateEndpoint("/providers/Microsoft.Management/managementgroups/{managementGroupId}/providers/Microsoft.Authorization/policyDefinitions"); - _endpoints[376] = CreateEndpoint("/providers/Microsoft.Management/managementgroups/{managementGroupId}/providers/Microsoft.Authorization/policySetDefinitions"); - _endpoints[377] = CreateEndpoint("/providers/Microsoft.ADHybridHealthService/services/{serviceName}/reports/badpassword/details/user"); - _endpoints[378] = CreateEndpoint("/providers/Microsoft.Management/managementgroups/{managementGroupId}/providers/Microsoft.Authorization/policyDefinitions/{policyDefinitionName}"); - _endpoints[379] = CreateEndpoint("/providers/Microsoft.Management/managementgroups/{managementGroupId}/providers/Microsoft.Authorization/policySetDefinitions/{policySetDefinitionName}"); - _endpoints[380] = CreateEndpoint("/providers/Microsoft.Billing/billingAccounts/{billingAccountId}/providers/Microsoft.Billing/billingPeriods/{billingPeriodName}/providers/Microsoft.Consumption/balances"); - _endpoints[381] = CreateEndpoint("/providers/Microsoft.Billing/billingAccounts/{billingAccountId}/providers/Microsoft.Billing/billingPeriods/{billingPeriodName}/providers/Microsoft.Consumption/marketplaces"); - _endpoints[382] = CreateEndpoint("/providers/Microsoft.Billing/billingAccounts/{billingAccountId}/providers/Microsoft.Billing/billingPeriods/{billingPeriodName}/providers/Microsoft.Consumption/usageDetails"); - _endpoints[383] = CreateEndpoint("/providers/Microsoft.Billing/departments/{departmentId}/providers/Microsoft.Billing/billingPeriods/{billingPeriodName}/providers/Microsoft.Consumption/marketplaces"); - _endpoints[384] = CreateEndpoint("/providers/Microsoft.Billing/departments/{departmentId}/providers/Microsoft.Billing/billingPeriods/{billingPeriodName}/providers/Microsoft.Consumption/usageDetails"); - _endpoints[385] = CreateEndpoint("/providers/Microsoft.Billing/enrollmentAccounts/{enrollmentAccountId}/providers/Microsoft.Billing/billingPeriods/{billingPeriodName}/providers/Microsoft.Consumption/marketplaces"); - _endpoints[386] = CreateEndpoint("/providers/Microsoft.Billing/enrollmentAccounts/{enrollmentAccountId}/providers/Microsoft.Billing/billingPeriods/{billingPeriodName}/providers/Microsoft.Consumption/usageDetails"); - _endpoints[387] = CreateEndpoint("/providers/Microsoft.ADHybridHealthService/services/{serviceName}/feedbacktype/alerts/{shortName}/alertfeedback"); - _endpoints[388] = CreateEndpoint("/catalog/usql/databases/{databaseName}/assemblies/{assemblyName}"); - _endpoints[389] = CreateEndpoint("/catalog/usql/databases/{databaseName}/credentials/{credentialName}"); - _endpoints[390] = CreateEndpoint("/catalog/usql/databases/{databaseName}/externaldatasources/{externalDataSourceName}"); - _endpoints[391] = CreateEndpoint("/catalog/usql/databases/{databaseName}/schemas/{schemaName}"); - _endpoints[392] = CreateEndpoint("/catalog/usql/databases/{databaseName}/secrets/{secretName}"); - _endpoints[393] = CreateEndpoint("/providers/Microsoft.ADHybridHealthService/addsservices/{serviceName}/dimensions/{dimension}"); - _endpoints[394] = CreateEndpoint("/providers/Microsoft.ADHybridHealthService/addsservices/{serviceName}/metricmetadata/{metricName}"); - _endpoints[395] = CreateEndpoint("/providers/Microsoft.ADHybridHealthService/services/{serviceName}/checkServiceFeatureAvailibility/{featureName}"); - _endpoints[396] = CreateEndpoint("/providers/Microsoft.ADHybridHealthService/services/{serviceName}/metricmetadata/{metricName}"); - _endpoints[397] = CreateEndpoint("/providers/Microsoft.ADHybridHealthService/services/{serviceName}/servicemembers/{serviceMemberId}"); - _endpoints[398] = CreateEndpoint("/providers/Microsoft.ADHybridHealthService/services/{serviceName}/TenantWhitelisting/{featureName}"); - _endpoints[399] = CreateEndpoint("/providers/Microsoft.Capacity/reservationOrders/{reservationOrderId}/reservations/{reservationId}"); - _endpoints[400] = CreateEndpoint("/providers/Microsoft.Intune/locations/{hostName}/androidPolicies/{policyName}"); - _endpoints[401] = CreateEndpoint("/providers/Microsoft.Intune/locations/{hostName}/flaggedUsers/{userName}"); - _endpoints[402] = CreateEndpoint("/providers/Microsoft.Intune/locations/{hostName}/iosPolicies/{policyName}"); - _endpoints[403] = CreateEndpoint("/providers/Microsoft.Management/managementGroups/{groupId}/subscriptions/{subscriptionId}"); - _endpoints[404] = CreateEndpoint("/catalog/usql/databases/{databaseName}/schemas/{schemaName}/packages"); - _endpoints[405] = CreateEndpoint("/catalog/usql/databases/{databaseName}/schemas/{schemaName}/procedures"); - _endpoints[406] = CreateEndpoint("/catalog/usql/databases/{databaseName}/schemas/{schemaName}/statistics"); - _endpoints[407] = CreateEndpoint("/catalog/usql/databases/{databaseName}/schemas/{schemaName}/tables"); - _endpoints[408] = CreateEndpoint("/catalog/usql/databases/{databaseName}/schemas/{schemaName}/tabletypes"); - _endpoints[409] = CreateEndpoint("/catalog/usql/databases/{databaseName}/schemas/{schemaName}/tablevaluedfunctions"); - _endpoints[410] = CreateEndpoint("/catalog/usql/databases/{databaseName}/schemas/{schemaName}/types"); - _endpoints[411] = CreateEndpoint("/catalog/usql/databases/{databaseName}/schemas/{schemaName}/views"); - _endpoints[412] = CreateEndpoint("/providers/Microsoft.ADHybridHealthService/addsservices/{serviceName}/servicemembers/{serviceMemberId}/alerts"); - _endpoints[413] = CreateEndpoint("/providers/Microsoft.ADHybridHealthService/service/{serviceName}/servicemembers/{serviceMemberId}/connectors"); - _endpoints[414] = CreateEndpoint("/providers/Microsoft.ADHybridHealthService/services/{serviceName}/servicemembers/{serviceMemberId}/alerts"); - _endpoints[415] = CreateEndpoint("/providers/Microsoft.ADHybridHealthService/services/{serviceName}/servicemembers/{serviceMemberId}/credentials"); - _endpoints[416] = CreateEndpoint("/providers/Microsoft.ADHybridHealthService/services/{serviceName}/servicemembers/{serviceMemberId}/data"); - _endpoints[417] = CreateEndpoint("/providers/Microsoft.ADHybridHealthService/services/{serviceName}/servicemembers/{serviceMemberId}/datafreshness"); - _endpoints[418] = CreateEndpoint("/providers/Microsoft.ADHybridHealthService/services/{serviceName}/servicemembers/{serviceMemberId}/exportstatus"); - _endpoints[419] = CreateEndpoint("/providers/Microsoft.ADHybridHealthService/services/{serviceName}/servicemembers/{serviceMemberId}/globalconfiguration"); - _endpoints[420] = CreateEndpoint("/providers/Microsoft.ADHybridHealthService/services/{serviceName}/servicemembers/{serviceMemberId}/serviceconfiguration"); - _endpoints[421] = CreateEndpoint("/providers/Microsoft.Capacity/reservationOrders/{reservationOrderId}/reservations/{reservationId}/revisions"); - _endpoints[422] = CreateEndpoint("/providers/Microsoft.Intune/locations/{hostName}/AndroidPolicies/{policyName}/apps"); - _endpoints[423] = CreateEndpoint("/providers/Microsoft.Intune/locations/{hostName}/androidPolicies/{policyName}/groups"); - _endpoints[424] = CreateEndpoint("/providers/Microsoft.Intune/locations/{hostName}/flaggedUsers/{userName}/flaggedEnrolledApps"); - _endpoints[425] = CreateEndpoint("/providers/Microsoft.Intune/locations/{hostName}/iosPolicies/{policyName}/apps"); - _endpoints[426] = CreateEndpoint("/providers/Microsoft.Intune/locations/{hostName}/iosPolicies/{policyName}/groups"); - _endpoints[427] = CreateEndpoint("/providers/Microsoft.Intune/locations/{hostName}/users/{userName}/devices"); - _endpoints[428] = CreateEndpoint("/providers/Microsoft.Capacity/reservationorders/{reservationOrderId}/reservations/{reservationId}/providers/Microsoft.Consumption/reservationDetails"); - _endpoints[429] = CreateEndpoint("/providers/Microsoft.Capacity/reservationorders/{reservationOrderId}/reservations/{reservationId}/providers/Microsoft.Consumption/reservationSummaries"); - _endpoints[430] = CreateEndpoint("/catalog/usql/databases/{databaseName}/schemas/{schemaName}/packages/{packageName}"); - _endpoints[431] = CreateEndpoint("/catalog/usql/databases/{databaseName}/schemas/{schemaName}/procedures/{procedureName}"); - _endpoints[432] = CreateEndpoint("/catalog/usql/databases/{databaseName}/schemas/{schemaName}/tables/{tableName}"); - _endpoints[433] = CreateEndpoint("/catalog/usql/databases/{databaseName}/schemas/{schemaName}/tabletypes/{tableTypeName}"); - _endpoints[434] = CreateEndpoint("/catalog/usql/databases/{databaseName}/schemas/{schemaName}/tablevaluedfunctions/{tableValuedFunctionName}"); - _endpoints[435] = CreateEndpoint("/catalog/usql/databases/{databaseName}/schemas/{schemaName}/views/{viewName}"); - _endpoints[436] = CreateEndpoint("/providers/Microsoft.ADHybridHealthService/addsservices/{serviceName}/metricmetadata/{metricName}/groups/{groupName}"); - _endpoints[437] = CreateEndpoint("/providers/Microsoft.ADHybridHealthService/services/{serviceName}/metricmetadata/{metricName}/groups/{groupName}"); - _endpoints[438] = CreateEndpoint("/providers/Microsoft.Intune/locations/{hostName}/androidPolicies/{policyName}/apps/{appName}"); - _endpoints[439] = CreateEndpoint("/providers/Microsoft.Intune/locations/{hostName}/androidPolicies/{policyName}/groups/{groupId}"); - _endpoints[440] = CreateEndpoint("/providers/Microsoft.Intune/locations/{hostName}/iosPolicies/{policyName}/apps/{appName}"); - _endpoints[441] = CreateEndpoint("/providers/Microsoft.Intune/locations/{hostName}/iosPolicies/{policyName}/groups/{groupId}"); - _endpoints[442] = CreateEndpoint("/providers/Microsoft.Intune/locations/{hostName}/users/{userName}/devices/{deviceName}"); - _endpoints[443] = CreateEndpoint("/catalog/usql/databases/{databaseName}/schemas/{schemaName}/tables/{tableName}/partitions"); - _endpoints[444] = CreateEndpoint("/catalog/usql/databases/{databaseName}/schemas/{schemaName}/tables/{tableName}/previewrows"); - _endpoints[445] = CreateEndpoint("/catalog/usql/databases/{databaseName}/schemas/{schemaName}/tables/{tableName}/statistics"); - _endpoints[446] = CreateEndpoint("/catalog/usql/databases/{databaseName}/schemas/{schemaName}/tables/{tableName}/tablefragments"); - _endpoints[447] = CreateEndpoint("/providers/Microsoft.ADHybridHealthService/addsservices/{serviceName}/metrics/{metricName}/groups/{groupName}/average"); - _endpoints[448] = CreateEndpoint("/providers/Microsoft.ADHybridHealthService/addsservices/{serviceName}/metrics/{metricName}/groups/{groupName}/sum"); - _endpoints[449] = CreateEndpoint("/providers/Microsoft.ADHybridHealthService/services/{serviceName}/metrics/{metricName}/groups/{groupName}/average"); - _endpoints[450] = CreateEndpoint("/providers/Microsoft.ADHybridHealthService/services/{serviceName}/metrics/{metricName}/groups/{groupName}/sum"); - _endpoints[451] = CreateEndpoint("/providers/Microsoft.Intune/locations/{hostName}/users/{userName}/devices/{deviceName}/wipe"); - _endpoints[452] = CreateEndpoint("/catalog/usql/databases/{databaseName}/schemas/{schemaName}/tables/{tableName}/partitions/{partitionName}"); - _endpoints[453] = CreateEndpoint("/catalog/usql/databases/{databaseName}/schemas/{schemaName}/tables/{tableName}/statistics/{statisticsName}"); - _endpoints[454] = CreateEndpoint("/providers/Microsoft.ADHybridHealthService/services/{serviceName}/servicemembers/{serviceMemberId}/metrics/{metricName}/groups/{groupName}"); - _endpoints[455] = CreateEndpoint("/catalog/usql/databases/{databaseName}/schemas/{schemaName}/tables/{tableName}/partitions/{partitionName}/previewrows"); - _endpoints[456] = CreateEndpoint("/apps/customprebuiltdomains/{culture}"); - _endpoints[457] = CreateEndpoint("/BackupRestore/BackupPolicies/{backupPolicyName}"); - _endpoints[458] = CreateEndpoint("/certificates/issuers/{issuer-name}"); - _endpoints[459] = CreateEndpoint("/webhdfs/v1/{path}"); - _endpoints[460] = CreateEndpoint("/webhdfs/va/{getContentSummaryFilePath}"); - _endpoints[461] = CreateEndpoint("/BackupRestore/BackupPolicies/{backupPolicyName}/$/Delete"); - _endpoints[462] = CreateEndpoint("/BackupRestore/BackupPolicies/{backupPolicyName}/$/GetBackupEnabledEntities"); - _endpoints[463] = CreateEndpoint("/BackupRestore/BackupPolicies/{backupPolicyName}/$/Update"); - _endpoints[464] = CreateEndpoint("/EventsStore/Applications/{applicationId}/$/Events"); - _endpoints[465] = CreateEndpoint("/EventsStore/CorrelatedEvents/{eventInstanceId}/$/Events"); - _endpoints[466] = CreateEndpoint("/EventsStore/Nodes/{nodeName}/$/Events"); - _endpoints[467] = CreateEndpoint("/EventsStore/Partitions/{partitionId}/$/Events"); - _endpoints[468] = CreateEndpoint("/EventsStore/Services/{serviceId}/$/Events"); - _endpoints[469] = CreateEndpoint("/Faults/Nodes/{nodeName}/$/GetTransitionProgress"); - _endpoints[470] = CreateEndpoint("/Faults/Nodes/{nodeName}/$/StartTransition/"); - _endpoints[471] = CreateEndpoint("/EventsStore/Partitions/{partitionId}/$/Replicas/Events"); - _endpoints[472] = CreateEndpoint("/Services/$/{serviceId}/$/GetPartitions/$/Recover"); - _endpoints[473] = CreateEndpoint("/EventsStore/Partitions/{partitionId}/$/Replicas/{replicaId}/$/Events"); - _endpoints[474] = CreateEndpoint("/Faults/Services/{serviceId}/$/GetPartitions/{partitionId}/$/GetDataLossProgress"); - _endpoints[475] = CreateEndpoint("/Faults/Services/{serviceId}/$/GetPartitions/{partitionId}/$/GetQuorumLossProgress"); - _endpoints[476] = CreateEndpoint("/Faults/Services/{serviceId}/$/GetPartitions/{partitionId}/$/GetRestartProgress"); - _endpoints[477] = CreateEndpoint("/Faults/Services/{serviceId}/$/GetPartitions/{partitionId}/$/StartDataLoss"); - _endpoints[478] = CreateEndpoint("/Faults/Services/{serviceId}/$/GetPartitions/{partitionId}/$/StartQuorumLoss"); - _endpoints[479] = CreateEndpoint("/Faults/Services/{serviceId}/$/GetPartitions/{partitionId}/$/StartRestart"); - _endpoints[480] = CreateEndpoint("/apis/{apiId}"); - _endpoints[481] = CreateEndpoint("/Applications/{applicationId}"); - _endpoints[482] = CreateEndpoint("/ApplicationTypes/{applicationTypeName}"); - _endpoints[483] = CreateEndpoint("/apps/{appId}"); - _endpoints[484] = CreateEndpoint("/authorizationServers/{authsid}"); - _endpoints[485] = CreateEndpoint("/backends/{backendid}"); - _endpoints[486] = CreateEndpoint("/certificates/{certificate-name}"); - _endpoints[487] = CreateEndpoint("/ComposeDeployments/{deploymentName}"); - _endpoints[488] = CreateEndpoint("/deletedcertificates/{certificate-name}"); - _endpoints[489] = CreateEndpoint("/deletedkeys/{key-name}"); - _endpoints[490] = CreateEndpoint("/deletedsecrets/{secret-name}"); - _endpoints[491] = CreateEndpoint("/deletedstorage/{storage-account-name}"); - _endpoints[492] = CreateEndpoint("/domains/{domainId}"); - _endpoints[493] = CreateEndpoint("/facelists/{faceListId}"); - _endpoints[494] = CreateEndpoint("/groups/{groupId}"); - _endpoints[495] = CreateEndpoint("/identityProviders/{identityProviderName}"); - _endpoints[496] = CreateEndpoint("/ImageStore/{contentPath}"); - _endpoints[497] = CreateEndpoint("/Jobs/{jobIdentity}"); - _endpoints[498] = CreateEndpoint("/jobschedules/{jobScheduleId}"); - _endpoints[499] = CreateEndpoint("/keys/{key-name}"); - _endpoints[500] = CreateEndpoint("/loggers/{loggerid}"); - _endpoints[501] = CreateEndpoint("/Names/{nameId}"); - _endpoints[502] = CreateEndpoint("/Nodes/{nodeName}"); - _endpoints[503] = CreateEndpoint("/openidConnectProviders/{opid}"); - _endpoints[504] = CreateEndpoint("/Partitions/{partitionId}"); - _endpoints[505] = CreateEndpoint("/persongroups/{personGroupId}"); - _endpoints[506] = CreateEndpoint("/pipelines/{pipelineIdentity}"); - _endpoints[507] = CreateEndpoint("/policies/{policyId}"); - _endpoints[508] = CreateEndpoint("/pools/{poolId}"); - _endpoints[509] = CreateEndpoint("/products/{productId}"); - _endpoints[510] = CreateEndpoint("/projects/{projectId}"); - _endpoints[511] = CreateEndpoint("/properties/{propId}"); - _endpoints[512] = CreateEndpoint("/quotas/{quotaCounterKey}"); - _endpoints[513] = CreateEndpoint("/recurrences/{recurrenceIdentity}"); - _endpoints[514] = CreateEndpoint("/secrets/{secret-name}"); - _endpoints[515] = CreateEndpoint("/storage/{storage-account-name}"); - _endpoints[516] = CreateEndpoint("/subscriptions/{subscriptionId}"); - _endpoints[517] = CreateEndpoint("/templates/{templateName}"); - _endpoints[518] = CreateEndpoint("/tenant/{accessName}"); - _endpoints[519] = CreateEndpoint("/textOperations/{operationId}"); - _endpoints[520] = CreateEndpoint("/users/{uid}"); - _endpoints[521] = CreateEndpoint("/WebHdfsExt/{path}"); - _endpoints[522] = CreateEndpoint("/apis/{apiId}/operations"); - _endpoints[523] = CreateEndpoint("/apis/{apiId}/policies"); - _endpoints[524] = CreateEndpoint("/apis/{apiId}/products"); - _endpoints[525] = CreateEndpoint("/apis/{apiId}/schemas"); - _endpoints[526] = CreateEndpoint("/apps/{appId}/endpoints"); - _endpoints[527] = CreateEndpoint("/apps/{appId}/metrics"); - _endpoints[528] = CreateEndpoint("/apps/{appId}/permissions"); - _endpoints[529] = CreateEndpoint("/apps/{appId}/publish"); - _endpoints[530] = CreateEndpoint("/apps/{appId}/publishsettings"); - _endpoints[531] = CreateEndpoint("/apps/{appId}/query"); - _endpoints[532] = CreateEndpoint("/apps/{appId}/querylogs"); - _endpoints[533] = CreateEndpoint("/apps/{appId}/settings"); - _endpoints[534] = CreateEndpoint("/apps/{appId}/versions"); - _endpoints[535] = CreateEndpoint("/certificates/{certificate-name}/create"); - _endpoints[536] = CreateEndpoint("/certificates/{certificate-name}/import"); - _endpoints[537] = CreateEndpoint("/certificates/{certificate-name}/pending"); - _endpoints[538] = CreateEndpoint("/certificates/{certificate-name}/policy"); - _endpoints[539] = CreateEndpoint("/certificates/{certificate-name}/versions"); - _endpoints[540] = CreateEndpoint("/delegatedProviders/{delegatedProviderId}/offers"); - _endpoints[541] = CreateEndpoint("/deletedcertificates/{certificate-name}/recover"); - _endpoints[542] = CreateEndpoint("/deletedkeys/{key-name}/recover"); - _endpoints[543] = CreateEndpoint("/deletedsecrets/{secret-name}/recover"); - _endpoints[544] = CreateEndpoint("/deletedstorage/{storage-account-name}/recover"); - _endpoints[545] = CreateEndpoint("/deletedstorage/{storage-account-name}/sas"); - _endpoints[546] = CreateEndpoint("/facelists/{faceListId}/persistedFaces"); - _endpoints[547] = CreateEndpoint("/groups/{groupId}/users"); - _endpoints[548] = CreateEndpoint("/jobs/{jobId}/addtaskcollection"); - _endpoints[549] = CreateEndpoint("/jobs/{jobId}/disable"); - _endpoints[550] = CreateEndpoint("/jobs/{jobId}/enable"); - _endpoints[551] = CreateEndpoint("/jobs/{jobId}/jobpreparationandreleasetaskstatus"); - _endpoints[552] = CreateEndpoint("/jobs/{jobId}/taskcounts"); - _endpoints[553] = CreateEndpoint("/jobs/{jobId}/tasks"); - _endpoints[554] = CreateEndpoint("/jobs/{jobId}/terminate"); - _endpoints[555] = CreateEndpoint("/Jobs/{jobIdentity}/CancelJob"); - _endpoints[556] = CreateEndpoint("/Jobs/{jobIdentity}/GetDebugDataPath"); - _endpoints[557] = CreateEndpoint("/Jobs/{jobIdentity}/GetStatistics"); - _endpoints[558] = CreateEndpoint("/jobs/{jobIdentity}/YieldJob"); - _endpoints[559] = CreateEndpoint("/jobschedules/{jobScheduleId}/disable"); - _endpoints[560] = CreateEndpoint("/jobschedules/{jobScheduleId}/enable"); - _endpoints[561] = CreateEndpoint("/jobschedules/{jobScheduleId}/jobs"); - _endpoints[562] = CreateEndpoint("/jobschedules/{jobScheduleId}/terminate"); - _endpoints[563] = CreateEndpoint("/keys/{key-name}/backup"); - _endpoints[564] = CreateEndpoint("/keys/{key-name}/create"); - _endpoints[565] = CreateEndpoint("/keys/{key-name}/versions"); - _endpoints[566] = CreateEndpoint("/models/{model}/analyze"); - _endpoints[567] = CreateEndpoint("/persongroups/{personGroupId}/persons"); - _endpoints[568] = CreateEndpoint("/persongroups/{personGroupId}/train"); - _endpoints[569] = CreateEndpoint("/persongroups/{personGroupId}/training"); - _endpoints[570] = CreateEndpoint("/pools/{poolId}/disableautoscale"); - _endpoints[571] = CreateEndpoint("/pools/{poolId}/enableautoscale"); - _endpoints[572] = CreateEndpoint("/pools/{poolId}/evaluateautoscale"); - _endpoints[573] = CreateEndpoint("/pools/{poolId}/nodes"); - _endpoints[574] = CreateEndpoint("/pools/{poolId}/removenodes"); - _endpoints[575] = CreateEndpoint("/pools/{poolId}/resize"); - _endpoints[576] = CreateEndpoint("/pools/{poolId}/stopresize"); - _endpoints[577] = CreateEndpoint("/pools/{poolId}/updateproperties"); - _endpoints[578] = CreateEndpoint("/pools/{poolId}/upgradeos"); - _endpoints[579] = CreateEndpoint("/products/{productId}/apis"); - _endpoints[580] = CreateEndpoint("/products/{productId}/groups"); - _endpoints[581] = CreateEndpoint("/products/{productId}/policies"); - _endpoints[582] = CreateEndpoint("/products/{productId}/subscriptions"); - _endpoints[583] = CreateEndpoint("/projects/{projectId}/images"); - _endpoints[584] = CreateEndpoint("/projects/{projectId}/iterations"); - _endpoints[585] = CreateEndpoint("/projects/{projectId}/predictions"); - _endpoints[586] = CreateEndpoint("/projects/{projectId}/tags"); - _endpoints[587] = CreateEndpoint("/projects/{projectId}/train"); - _endpoints[588] = CreateEndpoint("/providers/{resourceProviderNamespace}/operations"); - _endpoints[589] = CreateEndpoint("/secrets/{secret-name}/backup"); - _endpoints[590] = CreateEndpoint("/secrets/{secret-name}/versions"); - _endpoints[591] = CreateEndpoint("/storage/{storage-account-name}/backup"); - _endpoints[592] = CreateEndpoint("/storage/{storage-account-name}/regeneratekey"); - _endpoints[593] = CreateEndpoint("/storage/{storage-account-name}/sas"); - _endpoints[594] = CreateEndpoint("/subscriptions/{sid}/regeneratePrimaryKey"); - _endpoints[595] = CreateEndpoint("/subscriptions/{sid}/regenerateSecondaryKey"); - _endpoints[596] = CreateEndpoint("/subscriptions/{subscriptionId}/locations"); - _endpoints[597] = CreateEndpoint("/subscriptions/{subscriptionId}/providers"); - _endpoints[598] = CreateEndpoint("/subscriptions/{subscriptionId}/resourcegroups"); - _endpoints[599] = CreateEndpoint("/subscriptions/{subscriptionId}/resources"); - _endpoints[600] = CreateEndpoint("/subscriptions/{subscriptionId}/tagNames"); - _endpoints[601] = CreateEndpoint("/tenant/{accessName}/git"); - _endpoints[602] = CreateEndpoint("/tenant/{accessName}/regeneratePrimaryKey"); - _endpoints[603] = CreateEndpoint("/tenant/{accessName}/regenerateSecondaryKey"); - _endpoints[604] = CreateEndpoint("/tenant/{configurationName}/deploy"); - _endpoints[605] = CreateEndpoint("/tenant/{configurationName}/save"); - _endpoints[606] = CreateEndpoint("/tenant/{configurationName}/syncState"); - _endpoints[607] = CreateEndpoint("/tenant/{configurationName}/validate"); - _endpoints[608] = CreateEndpoint("/users/{uid}/generateSsoUrl"); - _endpoints[609] = CreateEndpoint("/users/{uid}/groups"); - _endpoints[610] = CreateEndpoint("/users/{uid}/identities"); - _endpoints[611] = CreateEndpoint("/users/{uid}/subscriptions"); - _endpoints[612] = CreateEndpoint("/users/{uid}/token"); - _endpoints[613] = CreateEndpoint("/workspaces/{workspaceId}/query"); - _endpoints[614] = CreateEndpoint("/Applications/{applicationId}/$/Delete"); - _endpoints[615] = CreateEndpoint("/Applications/{applicationId}/$/DisableBackup"); - _endpoints[616] = CreateEndpoint("/Applications/{applicationId}/$/EnableBackup"); - _endpoints[617] = CreateEndpoint("/Applications/{applicationId}/$/GetBackupConfigurationInfo"); - _endpoints[618] = CreateEndpoint("/Applications/{applicationId}/$/GetBackups"); - _endpoints[619] = CreateEndpoint("/Applications/{applicationId}/$/GetHealth"); - _endpoints[620] = CreateEndpoint("/Applications/{applicationId}/$/GetLoadInformation"); - _endpoints[621] = CreateEndpoint("/Applications/{applicationId}/$/GetServices"); - _endpoints[622] = CreateEndpoint("/Applications/{applicationId}/$/GetUpgradeProgress"); - _endpoints[623] = CreateEndpoint("/Applications/{applicationId}/$/MoveToNextUpgradeDomain"); - _endpoints[624] = CreateEndpoint("/Applications/{applicationId}/$/ReportHealth"); - _endpoints[625] = CreateEndpoint("/Applications/{applicationId}/$/ResumeBackup"); - _endpoints[626] = CreateEndpoint("/Applications/{applicationId}/$/RollbackUpgrade"); - _endpoints[627] = CreateEndpoint("/Applications/{applicationId}/$/SuspendBackup"); - _endpoints[628] = CreateEndpoint("/Applications/{applicationId}/$/UpdateUpgrade"); - _endpoints[629] = CreateEndpoint("/Applications/{applicationId}/$/Upgrade"); - _endpoints[630] = CreateEndpoint("/Applications/{applicationName}/$/MoveNextUpgradeDomain"); - _endpoints[631] = CreateEndpoint("/ApplicationTypes/{applicationTypeName}/$/GetApplicationManifest"); - _endpoints[632] = CreateEndpoint("/ApplicationTypes/{applicationTypeName}/$/GetServiceManifest"); - _endpoints[633] = CreateEndpoint("/ApplicationTypes/{applicationTypeName}/$/GetServiceTypes"); - _endpoints[634] = CreateEndpoint("/ApplicationTypes/{applicationTypeName}/$/Unprovision"); - _endpoints[635] = CreateEndpoint("/apps/{appId}/events/$metadata"); - _endpoints[636] = CreateEndpoint("/apps/{appId}/metrics/metadata"); - _endpoints[637] = CreateEndpoint("/apps/{appId}/query/schema"); - _endpoints[638] = CreateEndpoint("/apps/{appId}/versions/import"); - _endpoints[639] = CreateEndpoint("/certificates/{certificate-name}/pending/merge"); - _endpoints[640] = CreateEndpoint("/ComposeDeployments/{deploymentName}/$/Delete"); - _endpoints[641] = CreateEndpoint("/ComposeDeployments/{deploymentName}/$/GetUpgradeProgress"); - _endpoints[642] = CreateEndpoint("/ComposeDeployments/{deploymentName}/$/Upgrade"); - _endpoints[643] = CreateEndpoint("/ImageStore/{contentPath}/$/GetUploadSession"); - _endpoints[644] = CreateEndpoint("/ImageStore/{contentPath}/$/UploadChunk"); - _endpoints[645] = CreateEndpoint("/Names/{nameId}/$/GetProperties"); - _endpoints[646] = CreateEndpoint("/Names/{nameId}/$/GetProperty"); - _endpoints[647] = CreateEndpoint("/Names/{nameId}/$/GetSubNames"); - _endpoints[648] = CreateEndpoint("/Nodes/{nodeName}/$/Activate"); - _endpoints[649] = CreateEndpoint("/Nodes/{nodeName}/$/Deactivate"); - _endpoints[650] = CreateEndpoint("/Nodes/{nodeName}/$/DeployServicePackage"); - _endpoints[651] = CreateEndpoint("/Nodes/{nodeName}/$/GetApplications"); - _endpoints[652] = CreateEndpoint("/Nodes/{nodeName}/$/GetHealth"); - _endpoints[653] = CreateEndpoint("/Nodes/{nodeName}/$/GetLoadInformation"); - _endpoints[654] = CreateEndpoint("/Nodes/{nodeName}/$/RemoveNodeState"); - _endpoints[655] = CreateEndpoint("/Nodes/{nodeName}/$/ReportHealth"); - _endpoints[656] = CreateEndpoint("/Nodes/{nodeName}/$/Restart"); - _endpoints[657] = CreateEndpoint("/Nodes/{nodeName}/$/Start"); - _endpoints[658] = CreateEndpoint("/Nodes/{nodeName}/$/Stop"); - _endpoints[659] = CreateEndpoint("/Partitions/{partitionId}/$/Backup"); - _endpoints[660] = CreateEndpoint("/Partitions/{partitionId}/$/DisableBackup"); - _endpoints[661] = CreateEndpoint("/Partitions/{partitionId}/$/EnableBackup"); - _endpoints[662] = CreateEndpoint("/Partitions/{partitionId}/$/GetBackupConfigurationInfo"); - _endpoints[663] = CreateEndpoint("/Partitions/{partitionId}/$/GetBackupProgress"); - _endpoints[664] = CreateEndpoint("/Partitions/{partitionId}/$/GetBackups"); - _endpoints[665] = CreateEndpoint("/Partitions/{partitionId}/$/GetHealth"); - _endpoints[666] = CreateEndpoint("/Partitions/{partitionId}/$/GetLoadInformation"); - _endpoints[667] = CreateEndpoint("/Partitions/{partitionId}/$/GetReplicas"); - _endpoints[668] = CreateEndpoint("/Partitions/{partitionId}/$/GetRestoreProgress"); - _endpoints[669] = CreateEndpoint("/Partitions/{partitionId}/$/GetServiceName"); - _endpoints[670] = CreateEndpoint("/Partitions/{partitionId}/$/Recover"); - _endpoints[671] = CreateEndpoint("/Partitions/{partitionId}/$/ReportHealth"); - _endpoints[672] = CreateEndpoint("/Partitions/{partitionId}/$/ResetLoad"); - _endpoints[673] = CreateEndpoint("/Partitions/{partitionId}/$/Restore"); - _endpoints[674] = CreateEndpoint("/Partitions/{partitionId}/$/ResumeBackup"); - _endpoints[675] = CreateEndpoint("/Partitions/{partitionId}/$/SuspendBackup"); - _endpoints[676] = CreateEndpoint("/projects/{projectId}/images/files"); - _endpoints[677] = CreateEndpoint("/projects/{projectId}/images/id"); - _endpoints[678] = CreateEndpoint("/projects/{projectId}/images/predictions"); - _endpoints[679] = CreateEndpoint("/projects/{projectId}/images/regions"); - _endpoints[680] = CreateEndpoint("/projects/{projectId}/images/tagged"); - _endpoints[681] = CreateEndpoint("/projects/{projectId}/images/tags"); - _endpoints[682] = CreateEndpoint("/projects/{projectId}/images/untagged"); - _endpoints[683] = CreateEndpoint("/projects/{projectId}/images/urls"); - _endpoints[684] = CreateEndpoint("/projects/{projectId}/predictions/query"); - _endpoints[685] = CreateEndpoint("/projects/{projectId}/quicktest/image"); - _endpoints[686] = CreateEndpoint("/projects/{projectId}/quicktest/url"); - _endpoints[687] = CreateEndpoint("/Services/{serviceId}/$/Delete"); - _endpoints[688] = CreateEndpoint("/Services/{serviceId}/$/DisableBackup"); - _endpoints[689] = CreateEndpoint("/Services/{serviceId}/$/EnableBackup"); - _endpoints[690] = CreateEndpoint("/Services/{serviceId}/$/GetApplicationName"); - _endpoints[691] = CreateEndpoint("/Services/{serviceId}/$/GetBackupConfigurationInfo"); - _endpoints[692] = CreateEndpoint("/Services/{serviceId}/$/GetBackups"); - _endpoints[693] = CreateEndpoint("/Services/{serviceId}/$/GetDescription"); - _endpoints[694] = CreateEndpoint("/Services/{serviceId}/$/GetHealth"); - _endpoints[695] = CreateEndpoint("/Services/{serviceId}/$/GetPartitions"); - _endpoints[696] = CreateEndpoint("/Services/{serviceId}/$/ReportHealth"); - _endpoints[697] = CreateEndpoint("/Services/{serviceId}/$/ResolvePartition"); - _endpoints[698] = CreateEndpoint("/Services/{serviceId}/$/ResumeBackup"); - _endpoints[699] = CreateEndpoint("/Services/{serviceId}/$/SuspendBackup"); - _endpoints[700] = CreateEndpoint("/Services/{serviceId}/$/Update"); - _endpoints[701] = CreateEndpoint("/tenant/{accessName}/git/regeneratePrimaryKey"); - _endpoints[702] = CreateEndpoint("/tenant/{accessName}/git/regenerateSecondaryKey"); - _endpoints[703] = CreateEndpoint("/projects/{projectId}/images/tagged/count"); - _endpoints[704] = CreateEndpoint("/projects/{projectId}/images/untagged/count"); - _endpoints[705] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.AAD/domainServices"); - _endpoints[706] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.Advisor/configurations"); - _endpoints[707] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.Advisor/generateRecommendations"); - _endpoints[708] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.Advisor/recommendations"); - _endpoints[709] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.Advisor/suppressions"); - _endpoints[710] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.AnalysisServices/servers"); - _endpoints[711] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.AnalysisServices/skus"); - _endpoints[712] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.ApiManagement/checkNameAvailability"); - _endpoints[713] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.ApiManagement/service"); - _endpoints[714] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.Authorization/classicAdministrators"); - _endpoints[715] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.Authorization/locks"); - _endpoints[716] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.Authorization/policyAssignments"); - _endpoints[717] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.Authorization/policyDefinitions"); - _endpoints[718] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.Authorization/policySetDefinitions"); - _endpoints[719] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.Authorization/roleAssignments"); - _endpoints[720] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.Automation/automationAccounts"); - _endpoints[721] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.Batch/batchAccounts"); - _endpoints[722] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.BatchAI/clusters"); - _endpoints[723] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.BatchAI/fileServers"); - _endpoints[724] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.BatchAI/jobs"); - _endpoints[725] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.BatchAI/workspaces"); - _endpoints[726] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.Billing/billingPeriods"); - _endpoints[727] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.Billing/invoices"); - _endpoints[728] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.BotService/botServices"); - _endpoints[729] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.Cache/CheckNameAvailability"); - _endpoints[730] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.Cache/Redis"); - _endpoints[731] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.Capacity/appliedReservations"); - _endpoints[732] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.Capacity/catalogs"); - _endpoints[733] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.Cdn/checkNameAvailability"); - _endpoints[734] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.Cdn/checkResourceUsage"); - _endpoints[735] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.Cdn/profiles"); - _endpoints[736] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.Cdn/validateProbe"); - _endpoints[737] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.CertificateRegistration/certificateOrders"); - _endpoints[738] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.CertificateRegistration/validateCertificateRegistrationInformation"); - _endpoints[739] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.CognitiveServices/accounts"); - _endpoints[740] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.CognitiveServices/skus"); - _endpoints[741] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.Commerce.Admin/subscriberUsageAggregates"); - _endpoints[742] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.Commerce.Admin/updateEncryption"); - _endpoints[743] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.Commerce/RateCard"); - _endpoints[744] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.Commerce/UsageAggregates"); - _endpoints[745] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.Compute/disks"); - _endpoints[746] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.Compute/galleries"); - _endpoints[747] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.Compute/images"); - _endpoints[748] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.Compute/skus"); - _endpoints[749] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.Compute/snapshots"); - _endpoints[750] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.Compute/virtualMachines"); - _endpoints[751] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.Compute/virtualMachineScaleSets"); - _endpoints[752] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.Consumption/budgets"); - _endpoints[753] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.Consumption/forecasts"); - _endpoints[754] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.Consumption/marketplaces"); - _endpoints[755] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.Consumption/reservationRecommendations"); - _endpoints[756] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.Consumption/usageDetails"); - _endpoints[757] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.ContainerInstance/containerGroups"); - _endpoints[758] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.ContainerRegistry/checkNameAvailability"); - _endpoints[759] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.ContainerRegistry/registries"); - _endpoints[760] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.ContainerService/containerServices"); - _endpoints[761] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.ContainerService/managedClusters"); - _endpoints[762] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.CustomerInsights/hubs"); - _endpoints[763] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.DataBox/jobs"); - _endpoints[764] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.Databricks/workspaces"); - _endpoints[765] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.DataFactory/factories"); - _endpoints[766] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.DataLakeAnalytics/accounts"); - _endpoints[767] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.DataLakeStore/accounts"); - _endpoints[768] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.DataMigration/services"); - _endpoints[769] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.DataMigration/skus"); - _endpoints[770] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.DBforMySQL/checkNameAvailability"); - _endpoints[771] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.DBforMySQL/performanceTiers"); - _endpoints[772] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.DBforMySQL/servers"); - _endpoints[773] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.DBforPostgreSQL/checkNameAvailability"); - _endpoints[774] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.DBforPostgreSQL/performanceTiers"); - _endpoints[775] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.DBforPostgreSQL/servers"); - _endpoints[776] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.Devices/checkNameAvailability"); - _endpoints[777] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.Devices/checkProvisioningServiceNameAvailability"); - _endpoints[778] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.Devices/IotHubs"); - _endpoints[779] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.Devices/provisioningServices"); - _endpoints[780] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.Devices/usages"); - _endpoints[781] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.DevTestLab/labs"); - _endpoints[782] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.DevTestLab/schedules"); - _endpoints[783] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.DocumentDB/databaseAccounts"); - _endpoints[784] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.DomainRegistration/checkDomainAvailability"); - _endpoints[785] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.DomainRegistration/domains"); - _endpoints[786] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.DomainRegistration/generateSsoRequest"); - _endpoints[787] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.DomainRegistration/listDomainRecommendations"); - _endpoints[788] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.DomainRegistration/topLevelDomains"); - _endpoints[789] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.DomainRegistration/validateDomainRegistrationInformation"); - _endpoints[790] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.EventGrid/eventSubscriptions"); - _endpoints[791] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.EventGrid/topics"); - _endpoints[792] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.EventHub/CheckNameAvailability"); - _endpoints[793] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.EventHub/CheckNamespaceAvailability"); - _endpoints[794] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.EventHub/namespaces"); - _endpoints[795] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.Features/features"); - _endpoints[796] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/microsoft.gallery.admin/galleryItems"); - _endpoints[797] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.HanaOnAzure/hanaInstances"); - _endpoints[798] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.HDInsight/clusters"); - _endpoints[799] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.ImportExport/jobs"); - _endpoints[800] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/microsoft.insights/actionGroups"); - _endpoints[801] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/microsoft.insights/activityLogAlerts"); - _endpoints[802] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.Insights/components"); - _endpoints[803] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/microsoft.insights/listMigrationdate"); - _endpoints[804] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/microsoft.insights/logprofiles"); - _endpoints[805] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.Insights/metricAlerts"); - _endpoints[806] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/microsoft.insights/migrateToNewPricingModel"); - _endpoints[807] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/microsoft.insights/rollbackToLegacyPricingModel"); - _endpoints[808] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/microsoft.insights/scheduledQueryRules"); - _endpoints[809] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.Insights/webtests"); - _endpoints[810] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.IoTCentral/checkNameAvailability"); - _endpoints[811] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.IoTCentral/IoTApps"); - _endpoints[812] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.IoTSpaces/checkNameAvailability"); - _endpoints[813] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.IoTSpaces/Graph"); - _endpoints[814] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.KeyVault/checkNameAvailability"); - _endpoints[815] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.KeyVault/deletedVaults"); - _endpoints[816] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.KeyVault/vaults"); - _endpoints[817] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.Logic/integrationAccounts"); - _endpoints[818] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.Logic/workflows"); - _endpoints[819] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.MachineLearning/commitmentPlans"); - _endpoints[820] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.MachineLearning/skus"); - _endpoints[821] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.MachineLearning/webServices"); - _endpoints[822] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.MachineLearning/workspaces"); - _endpoints[823] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.MachineLearningCompute/operationalizationClusters"); - _endpoints[824] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.MachineLearningExperimentation/accounts"); - _endpoints[825] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.MachineLearningServices/workspaces"); - _endpoints[826] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.ManagedIdentity/userAssignedIdentities"); - _endpoints[827] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.Maps/accounts"); - _endpoints[828] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.Media/CheckNameAvailability"); - _endpoints[829] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.Media/mediaservices"); - _endpoints[830] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.Network.Admin/adminLoadBalancers"); - _endpoints[831] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.Network.Admin/adminOverview"); - _endpoints[832] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.Network.Admin/adminPublicIpAddresses"); - _endpoints[833] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.Network.Admin/adminVirtualNetworks"); - _endpoints[834] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.Network/applicationGatewayAvailableWafRuleSets"); - _endpoints[835] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.Network/applicationGateways"); - _endpoints[836] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.Network/applicationSecurityGroups"); - _endpoints[837] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.Network/bgpServiceCommunities"); - _endpoints[838] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.Network/ddosProtectionPlans"); - _endpoints[839] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.Network/dnszones"); - _endpoints[840] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.Network/expressRouteCircuits"); - _endpoints[841] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.Network/expressRouteCrossConnections"); - _endpoints[842] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.Network/expressRouteServiceProviders"); - _endpoints[843] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.Network/loadBalancers"); - _endpoints[844] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.Network/networkInterfaces"); - _endpoints[845] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.Network/networkSecurityGroups"); - _endpoints[846] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.Network/networkWatchers"); - _endpoints[847] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.Network/publicIPAddresses"); - _endpoints[848] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.Network/routeFilters"); - _endpoints[849] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.Network/routeTables"); - _endpoints[850] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.Network/trafficmanagerprofiles"); - _endpoints[851] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.Network/trafficManagerUserMetricsKeys"); - _endpoints[852] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.Network/virtualNetworks"); - _endpoints[853] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.NotificationHubs/checkNamespaceAvailability"); - _endpoints[854] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.NotificationHubs/namespaces"); - _endpoints[855] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.OperationalInsights/linkTargets"); - _endpoints[856] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.OperationalInsights/workspaces"); - _endpoints[857] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.OperationsManagement/ManagementAssociations"); - _endpoints[858] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.OperationsManagement/ManagementConfigurations"); - _endpoints[859] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.OperationsManagement/solutions"); - _endpoints[860] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.PowerBI/workspaceCollections"); - _endpoints[861] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.PowerBIDedicated/capacities"); - _endpoints[862] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.PowerBIDedicated/skus"); - _endpoints[863] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.RecoveryServices/vaults"); - _endpoints[864] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.Relay/checkNameAvailability"); - _endpoints[865] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.Relay/namespaces"); - _endpoints[866] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.ResourceHealth/availabilityStatuses"); - _endpoints[867] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.Resources/links"); - _endpoints[868] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.Scheduler/jobCollections"); - _endpoints[869] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.Search/checkNameAvailability"); - _endpoints[870] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.Security/alerts"); - _endpoints[871] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.Security/autoProvisioningSettings"); - _endpoints[872] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.Security/discoveredSecuritySolutions"); - _endpoints[873] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.Security/externalSecuritySolutions"); - _endpoints[874] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.Security/jitNetworkAccessPolicies"); - _endpoints[875] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.Security/locations"); - _endpoints[876] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.Security/pricings"); - _endpoints[877] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.Security/securityContacts"); - _endpoints[878] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.Security/tasks"); - _endpoints[879] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.Security/workspaceSettings"); - _endpoints[880] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.ServerManagement/gateways"); - _endpoints[881] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.ServerManagement/nodes"); - _endpoints[882] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.ServiceBus/CheckNameAvailability"); - _endpoints[883] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.ServiceBus/CheckNameSpaceAvailability"); - _endpoints[884] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.ServiceBus/namespaces"); - _endpoints[885] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.ServiceBus/premiumMessagingRegions"); - _endpoints[886] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.ServiceFabric/clusters"); - _endpoints[887] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.SignalRService/SignalR"); - _endpoints[888] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.Solutions/appliances"); - _endpoints[889] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.Solutions/applications"); - _endpoints[890] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.Sql/checkNameAvailability"); - _endpoints[891] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.Sql/managedInstances"); - _endpoints[892] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.Sql/servers"); - _endpoints[893] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.Storage/checkNameAvailability"); - _endpoints[894] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.Storage/skus"); - _endpoints[895] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.Storage/storageAccounts"); - _endpoints[896] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.Storage/usages"); - _endpoints[897] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.StorSimple/managers"); - _endpoints[898] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.StreamAnalytics/streamingjobs"); - _endpoints[899] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.Subscriptions.Admin/checkNameAvailability"); - _endpoints[900] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.Subscriptions.Admin/delegatedProviders"); - _endpoints[901] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.Subscriptions.Admin/locations"); - _endpoints[902] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.Subscriptions.Admin/moveSubscriptions"); - _endpoints[903] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.Subscriptions.Admin/offers"); - _endpoints[904] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.Subscriptions.Admin/plans"); - _endpoints[905] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.Subscriptions.Admin/restoreData"); - _endpoints[906] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.Subscriptions.Admin/subscriptions"); - _endpoints[907] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.Subscriptions.Admin/updateEncryption"); - _endpoints[908] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.Subscriptions.Admin/validateMoveSubscriptions"); - _endpoints[909] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.TimeSeriesInsights/environments"); - _endpoints[910] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/microsoft.visualstudio/checkNameAvailability"); - _endpoints[911] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.Web/availableStacks"); - _endpoints[912] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.Web/billingMeters"); - _endpoints[913] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.Web/certificates"); - _endpoints[914] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.Web/checknameavailability"); - _endpoints[915] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.Web/classicMobileServices"); - _endpoints[916] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.Web/connectionGateways"); - _endpoints[917] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.Web/customApis"); - _endpoints[918] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.Web/deletedSites"); - _endpoints[919] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.Web/deploymentLocations"); - _endpoints[920] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.Web/geoRegions"); - _endpoints[921] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.Web/hostingEnvironments"); - _endpoints[922] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.Web/ishostingenvironmentnameavailable"); - _endpoints[923] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.Web/listSitesAssignedToHostName"); - _endpoints[924] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.Web/managedHostingEnvironments"); - _endpoints[925] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.Web/premieraddonoffers"); - _endpoints[926] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.Web/publishingCredentials"); - _endpoints[927] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.Web/recommendations"); - _endpoints[928] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.Web/resourceHealthMetadata"); - _endpoints[929] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.Web/serverfarms"); - _endpoints[930] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.Web/sites"); - _endpoints[931] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.Web/skus"); - _endpoints[932] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.Web/verifyHostingEnvironmentVnet"); - _endpoints[933] = CreateEndpoint("/Applications/{applicationId}/$/GetServices/$/Create"); - _endpoints[934] = CreateEndpoint("/Applications/{applicationId}/$/GetServices/$/CreateFromTemplate"); - _endpoints[935] = CreateEndpoint("/Applications/{applicationName}/$/GetServiceGroups/$/CreateServiceGroupFromTemplate"); - _endpoints[936] = CreateEndpoint("/Applications/{applicationName}/$/GetServices/$/CreateServiceGroup"); - _endpoints[937] = CreateEndpoint("/Names/{nameId}/$/GetProperties/$/SubmitBatch"); - _endpoints[938] = CreateEndpoint("/Services/{serviceName}/$/GetPartitions/$/Recover"); - _endpoints[939] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.Billing/invoices/latest"); - _endpoints[940] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.Consumption/pricesheets/default"); - _endpoints[941] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.Network/applicationGatewayAvailableSslOptions/default"); - _endpoints[942] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.Web/recommendations/reset"); - _endpoints[943] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.Addons/supportProviders/canonical/listSupportPlanInfo"); - _endpoints[944] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/microsoft.insights/eventtypes/management/values"); - _endpoints[945] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.Network/applicationGatewayAvailableSslOptions/default/predefinedPolicies"); - _endpoints[946] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.Network/applicationGatewayAvailableSslOptions/default/predefinedPolicies/{predefinedPolicyName}"); - _endpoints[947] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.Advisor/generateRecommendations/{operationId}"); - _endpoints[948] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.Authorization/locks/{lockName}"); - _endpoints[949] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.Authorization/policydefinitions/{policyDefinitionName}"); - _endpoints[950] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.Authorization/policySetDefinitions/{policySetDefinitionName}"); - _endpoints[951] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.Billing/billingPeriods/{billingPeriodName}"); - _endpoints[952] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.Billing/invoices/{invoiceName}"); - _endpoints[953] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.Consumption/budgets/{budgetName}"); - _endpoints[954] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.DomainRegistration/topLevelDomains/{name}"); - _endpoints[955] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/microsoft.gallery.admin/galleryItems/{galleryItemName}"); - _endpoints[956] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/microsoft.insights/logprofiles/{logProfileName}"); - _endpoints[957] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.Media/mediaservices/{accountName}"); - _endpoints[958] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.Security/autoProvisioningSettings/{settingName}"); - _endpoints[959] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.Security/locations/{ascLocation}"); - _endpoints[960] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.Security/pricings/{pricingName}"); - _endpoints[961] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.Security/workspaceSettings/{workspaceSettingName}"); - _endpoints[962] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.Subscriptions.Admin/delegatedProviders/{delegatedProvider}"); - _endpoints[963] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.Subscriptions.Admin/locations/{location}"); - _endpoints[964] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.Subscriptions.Admin/subscriptions/{subscription}"); - _endpoints[965] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.Web/ishostingenvironmentnameavailable/{name}"); - _endpoints[966] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.Addons/supportProviders/{providerName}/supportPlanTypes"); - _endpoints[967] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.AnalysisServices/locations/{location}/checkNameAvailability"); - _endpoints[968] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.Batch/locations/{locationName}/checkNameAvailability"); - _endpoints[969] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.Batch/locations/{locationName}/quotas"); - _endpoints[970] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.BatchAI/locations/{location}/usages"); - _endpoints[971] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.CognitiveServices/locations/{location}/checkSkuAvailability"); - _endpoints[972] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.Compute.Admin/locations/{location}/quotas"); - _endpoints[973] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.Compute/locations/{location}/publishers"); - _endpoints[974] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.Compute/locations/{location}/runCommands"); - _endpoints[975] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.Compute/locations/{location}/usages"); - _endpoints[976] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.Compute/locations/{location}/vmSizes"); - _endpoints[977] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.ContainerInstance/locations/{location}/usages"); - _endpoints[978] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.ContainerService/locations/{location}/orchestrators"); - _endpoints[979] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.DataBox/locations/{location}/availableSkus"); - _endpoints[980] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.DataBox/locations/{location}/validateAddress"); - _endpoints[981] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.DataFactory/locations/{locationId}/configureFactoryRepo"); - _endpoints[982] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.DataLakeAnalytics/locations/{location}/capability"); - _endpoints[983] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.DataLakeAnalytics/locations/{location}/checkNameAvailability"); - _endpoints[984] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.DataLakeStore/locations/{location}/capability"); - _endpoints[985] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.DataLakeStore/locations/{location}/checkNameAvailability"); - _endpoints[986] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.DataMigration/locations/{location}/checkNameAvailability"); - _endpoints[987] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.DataMigration/locations/{location}/usages"); - _endpoints[988] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.DBforMySQL/locations/{locationName}/performanceTiers"); - _endpoints[989] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.DBforPostgreSQL/locations/{locationName}/performanceTiers"); - _endpoints[990] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.DomainRegistration/topLevelDomains/{name}/listAgreements"); - _endpoints[991] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.EventGrid/locations/{location}/eventSubscriptions"); - _endpoints[992] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.EventGrid/topicTypes/{topicTypeName}/eventSubscriptions"); - _endpoints[993] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.EventHub/sku/{sku}/regions"); - _endpoints[994] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.Features/providers/{resourceProviderNamespace}/features"); - _endpoints[995] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.HDInsight/locations/{location}/capabilities"); - _endpoints[996] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.KeyVault.Admin/locations/{location}/quotas"); - _endpoints[997] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.Media/locations/{locationName}/checkNameAvailability"); - _endpoints[998] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.Network.Admin/locations/{location}/quotas"); - _endpoints[999] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.Network/locations/{location}/CheckDnsNameAvailability"); - _endpoints[1000] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.Network/locations/{location}/usages"); - _endpoints[1001] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.Network/locations/{location}/virtualNetworkAvailableEndpointServices"); - _endpoints[1002] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.PolicyInsights/policyEvents/{policyEventsResource}/queryResults"); - _endpoints[1003] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.PolicyInsights/policyStates/{policyStatesResource}/queryResults"); - _endpoints[1004] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.PolicyInsights/policyStates/{policyStatesSummaryResource}/summarize"); - _endpoints[1005] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.PowerBI/locations/{location}/checkNameAvailability"); - _endpoints[1006] = CreateEndpoint("/Subscriptions/{subscriptionId}/providers/Microsoft.RecoveryServices/locations/{azureRegion}/backupPreValidateProtection"); - _endpoints[1007] = CreateEndpoint("/Subscriptions/{subscriptionId}/providers/Microsoft.RecoveryServices/locations/{azureRegion}/backupStatus"); - _endpoints[1008] = CreateEndpoint("/Subscriptions/{subscriptionId}/providers/Microsoft.RecoveryServices/locations/{azureRegion}/backupValidateFeatures"); - _endpoints[1009] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.Security/locations/{ascLocation}/alerts"); - _endpoints[1010] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.Security/locations/{ascLocation}/discoveredSecuritySolutions"); - _endpoints[1011] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.Security/locations/{ascLocation}/ExternalSecuritySolutions"); - _endpoints[1012] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.Security/locations/{ascLocation}/jitNetworkAccessPolicies"); - _endpoints[1013] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.Security/locations/{ascLocation}/tasks"); - _endpoints[1014] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.ServiceBus/sku/{sku}/regions"); - _endpoints[1015] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.ServiceFabric/locations/{location}/clusterVersions"); - _endpoints[1016] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.SignalRService/locations/{location}/checkNameAvailability"); - _endpoints[1017] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.Sql/locations/{locationName}/capabilities"); - _endpoints[1018] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.Sql/locations/{locationName}/longTermRetentionBackups"); - _endpoints[1019] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.Sql/locations/{locationName}/syncDatabaseIds"); - _endpoints[1020] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.Sql/locations/{locationName}/usages"); - _endpoints[1021] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.Storage.Admin/locations/{location}/quotas"); - _endpoints[1022] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.Storage/locations/{location}/usages"); - _endpoints[1023] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.StreamAnalytics/locations/{location}/quotas"); - _endpoints[1024] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.Subscriptions.Admin/delegatedProviders/{delegatedProviderSubscriptionId}/offers"); - _endpoints[1025] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.Subscriptions.Admin/locations/{location}/quotas"); - _endpoints[1026] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.Subscriptions.Admin/subscriptions/{targetSubscriptionId}/acquiredPlans"); - _endpoints[1027] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.Web/locations/{location}/connectionGatewayInstallations"); - _endpoints[1028] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.Web/locations/{location}/extractApiDefinitionFromWsdl"); - _endpoints[1029] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.Web/locations/{location}/listWsdlInterfaces"); - _endpoints[1030] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.Web/locations/{location}/managedApis"); - _endpoints[1031] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.Web/recommendations/{name}/disable"); - _endpoints[1032] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.Compute.Admin/locations/{location}/artifactTypes/platformImage"); - _endpoints[1033] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.Compute.Admin/locations/{location}/artifactTypes/VMExtension"); - _endpoints[1034] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.Billing/billingPeriods/{billingPeriodName}/providers/Microsoft.Consumption/marketplaces"); - _endpoints[1035] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.Billing/billingPeriods/{billingPeriodName}/providers/Microsoft.Consumption/usageDetails"); - _endpoints[1036] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.Compute/locations/{location}/logAnalytics/apiAccess/getRequestRateByInterval"); - _endpoints[1037] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.Compute/locations/{location}/logAnalytics/apiAccess/getThrottledRequests"); - _endpoints[1038] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.Billing/billingPeriods/{billingPeriodName}/providers/Microsoft.Consumption/pricesheets/default"); - _endpoints[1039] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.Compute.Admin/locations/{location}/artifactTypes/VMExtension/publishers/{publisher}/types/{type}/versions/{version}"); - _endpoints[1040] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.Compute.Admin/locations/{location}/artifactTypes/platformImage/publishers/{publisher}/offers/{offer}/skus/{sku}/versions/{version}"); - _endpoints[1041] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.Addons/supportProviders/{providerName}/supportPlanTypes/{planTypeName}"); - _endpoints[1042] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.AnalysisServices/locations/{location}/operationresults/{operationId}"); - _endpoints[1043] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.AnalysisServices/locations/{location}/operationstatuses/{operationId}"); - _endpoints[1044] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.Compute.Admin/locations/{location}/quotas/{quotaName}"); - _endpoints[1045] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.Compute/locations/{location}/runCommands/{commandId}"); - _endpoints[1046] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.DevTestLab/locations/{locationName}/operations/{name}"); - _endpoints[1047] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.Features/providers/{resourceProviderNamespace}/features/{featureName}"); - _endpoints[1048] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.KeyVault/locations/{location}/deletedVaults/{vaultName}"); - _endpoints[1049] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.Network.Admin/locations/{location}/quotas/{resourceName}"); - _endpoints[1050] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.Security/locations/{ascLocation}/alerts/{alertName}"); - _endpoints[1051] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.Security/locations/{ascLocation}/tasks/{taskName}"); - _endpoints[1052] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.ServiceFabric/locations/{location}/clusterVersions/{clusterVersion}"); - _endpoints[1053] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.Sql/locations/{locationName}/usages/{usageName}"); - _endpoints[1054] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.Storage.Admin/locations/{location}/quotas/{quotaName}"); - _endpoints[1055] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.Subscriptions.Admin/delegatedProviders/{delegatedProviderSubscriptionId}/offers/{offer}"); - _endpoints[1056] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.Subscriptions.Admin/locations/{location}/quotas/{quota}"); - _endpoints[1057] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.Subscriptions.Admin/subscriptions/{targetSubscriptionId}/acquiredPlans/{planAcquisitionId}"); - _endpoints[1058] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.Web/locations/{location}/connectionGatewayInstallations/{gatewayId}"); - _endpoints[1059] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.Web/locations/{location}/managedApis/{apiName}"); - _endpoints[1060] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.EventGrid/locations/{location}/topicTypes/{topicTypeName}/eventSubscriptions"); - _endpoints[1061] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.Features/providers/{resourceProviderNamespace}/features/{featureName}/register"); - _endpoints[1062] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.KeyVault/locations/{location}/deletedVaults/{vaultName}/purge"); - _endpoints[1063] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.ServiceFabric/locations/{location}/environments/{environment}/clusterVersions"); - _endpoints[1064] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.Sql/locations/{locationName}/longTermRetentionServers/{longTermRetentionServerName}/longTermRetentionBackups"); - _endpoints[1065] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.Sql/locations/{locationName}/managedDatabaseRestoreAzureAsyncOperation/{operationId}/completeRestore"); - _endpoints[1066] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.Compute/locations/{location}/publishers/{publisherName}/artifacttypes/vmextension/types"); - _endpoints[1067] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.Compute/locations/{location}/publishers/{publisherName}/artifacttypes/vmimage/offers"); - _endpoints[1068] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.Compute/locations/{location}/publishers/{publisherName}/artifacttypes/vmextension/types/{type}/versions"); - _endpoints[1069] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.Compute/locations/{location}/publishers/{publisherName}/artifacttypes/vmimage/offers/{offer}/skus"); - _endpoints[1070] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.Compute/locations/{location}/publishers/{publisherName}/artifacttypes/vmextension/types/{type}/versions/{version}"); - _endpoints[1071] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.Compute/locations/{location}/publishers/{publisherName}/artifacttypes/vmimage/offers/{offer}/skus/{skus}/versions"); - _endpoints[1072] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.Compute/locations/{location}/publishers/{publisherName}/artifacttypes/vmimage/offers/{offer}/skus/{skus}/versions/{version}"); - _endpoints[1073] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.ServiceFabric/locations/{location}/environments/{environment}/clusterVersions/{clusterVersion}"); - _endpoints[1074] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.Sql/locations/{locationName}/longTermRetentionServers/{longTermRetentionServerName}/longTermRetentionDatabases/{longTermRetentionDatabaseName}/longTermRetentionBackups"); - _endpoints[1075] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.Sql/locations/{locationName}/longTermRetentionServers/{longTermRetentionServerName}/longTermRetentionDatabases/{longTermRetentionDatabaseName}/longTermRetentionBackups/{backupName}"); - _endpoints[1076] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.MarketplaceOrdering/offerTypes/{offerType}/publishers/{publisherId}/offers/{offerId}/plans/{planId}/agreements/current"); - _endpoints[1077] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.Security/locations/{ascLocation}/alerts/{alertName}/{alertUpdateActionType}"); - _endpoints[1078] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.Security/locations/{ascLocation}/tasks/{taskName}/{taskUpdateActionType}"); - _endpoints[1079] = CreateEndpoint("/Applications/{applicationId}/$/GetServices/{serviceId}"); - _endpoints[1080] = CreateEndpoint("/ApplicationTypes/{applicationTypeName}/$/GetServiceTypes/{serviceTypeName}"); - _endpoints[1081] = CreateEndpoint("/Nodes/{nodeName}/$/GetApplications/{applicationId}"); - _endpoints[1082] = CreateEndpoint("/Partitions/{partitionId}/$/GetReplicas/{replicaId}"); - _endpoints[1083] = CreateEndpoint("/Services/{serviceName}/$/GetPartitions/{partitionId}"); - _endpoints[1084] = CreateEndpoint("/Applications/{applicationName}/$/GetServiceGroups/{serviceName}/$/Delete"); - _endpoints[1085] = CreateEndpoint("/Applications/{applicationName}/$/GetServices/{serviceName}/$/GetServiceGroupDescription"); - _endpoints[1086] = CreateEndpoint("/Applications/{applicationName}/$/GetServices/{serviceName}/$/GetServiceGroupMembers"); - _endpoints[1087] = CreateEndpoint("/Applications/{applicationName}/$/GetServices/{serviceName}/$/UpdateServiceGroup"); - _endpoints[1088] = CreateEndpoint("/Nodes/{nodeName}/$/GetApplications/{applicationId}/$/GetCodePackages"); - _endpoints[1089] = CreateEndpoint("/Nodes/{nodeName}/$/GetApplications/{applicationId}/$/GetHealth"); - _endpoints[1090] = CreateEndpoint("/Nodes/{nodeName}/$/GetApplications/{applicationId}/$/GetReplicas"); - _endpoints[1091] = CreateEndpoint("/Nodes/{nodeName}/$/GetApplications/{applicationId}/$/GetServicePackages"); - _endpoints[1092] = CreateEndpoint("/Nodes/{nodeName}/$/GetApplications/{applicationId}/$/GetServiceTypes"); - _endpoints[1093] = CreateEndpoint("/Nodes/{nodeName}/$/GetApplications/{applicationId}/$/ReportHealth"); - _endpoints[1094] = CreateEndpoint("/Nodes/{nodeName}/$/GetPartitions/{partitionId}/$/GetReplicas"); - _endpoints[1095] = CreateEndpoint("/Partitions/{partitionId}/$/GetReplicas/{replicaId}/$/GetHealth"); - _endpoints[1096] = CreateEndpoint("/Partitions/{partitionId}/$/GetReplicas/{replicaId}/$/GetLoadInformation"); - _endpoints[1097] = CreateEndpoint("/Partitions/{partitionId}/$/GetReplicas/{replicaId}/$/ReportHealth"); - _endpoints[1098] = CreateEndpoint("/Nodes/{nodeName}/$/GetApplications/{applicationId}/$/GetCodePackages/$/ContainerApi"); - _endpoints[1099] = CreateEndpoint("/Nodes/{nodeName}/$/GetApplications/{applicationId}/$/GetCodePackages/$/ContainerLogs"); - _endpoints[1100] = CreateEndpoint("/Nodes/{nodeName}/$/GetApplications/{applicationId}/$/GetCodePackages/$/Restart"); - _endpoints[1101] = CreateEndpoint("/Nodes/{nodeName}/$/GetApplications/{applicationId}/$/GetServicePackages/{servicePackageName}"); - _endpoints[1102] = CreateEndpoint("/Nodes/{nodeName}/$/GetApplications/{applicationId}/$/GetServiceTypes/{serviceTypeName}"); - _endpoints[1103] = CreateEndpoint("/Nodes/{nodeName}/$/GetApplications/{applicationId}/$/GetServicePackages/{servicePackageName}/$/GetHealth"); - _endpoints[1104] = CreateEndpoint("/Nodes/{nodeName}/$/GetApplications/{applicationId}/$/GetServicePackages/{servicePackageName}/$/ReportHealth"); - _endpoints[1105] = CreateEndpoint("/Nodes/{nodeName}/$/GetPartitions/{partitionId}/$/GetReplicas/{replicaId}/$/Delete"); - _endpoints[1106] = CreateEndpoint("/Nodes/{nodeName}/$/GetPartitions/{partitionId}/$/GetReplicas/{replicaId}/$/GetDetail"); - _endpoints[1107] = CreateEndpoint("/Nodes/{nodeName}/$/GetPartitions/{partitionId}/$/GetReplicas/{replicaId}/$/Restart"); - _endpoints[1108] = CreateEndpoint("/apis/{apiId}/operations/{operationId}"); - _endpoints[1109] = CreateEndpoint("/apis/{apiId}/policies/{policyId}"); - _endpoints[1110] = CreateEndpoint("/apis/{apiId}/schemas/{schemaId}"); - _endpoints[1111] = CreateEndpoint("/apps/{appId}/events/{eventType}"); - _endpoints[1112] = CreateEndpoint("/apps/{appId}/metrics/{metricId}"); - _endpoints[1113] = CreateEndpoint("/apps/{appId}/versions/{versionId}/"); - _endpoints[1114] = CreateEndpoint("/delegatedProviders/{delegatedProviderId}/offers/{offerName}"); - _endpoints[1115] = CreateEndpoint("/deletedstorage/{storage-account-name}/sas/{sas-definition-name}"); - _endpoints[1116] = CreateEndpoint("/facelists/{faceListId}/persistedFaces/{persistedFaceId}"); - _endpoints[1117] = CreateEndpoint("/groups/{groupId}/users/{uid}"); - _endpoints[1118] = CreateEndpoint("/jobs/{jobId}/tasks/{taskId}"); - _endpoints[1119] = CreateEndpoint("/persongroups/{personGroupId}/persons/{personId}"); - _endpoints[1120] = CreateEndpoint("/pools/{poolId}/nodes/{nodeId}"); - _endpoints[1121] = CreateEndpoint("/products/{productId}/apis/{apiId}"); - _endpoints[1122] = CreateEndpoint("/products/{productId}/groups/{groupId}"); - _endpoints[1123] = CreateEndpoint("/products/{productId}/policies/{policyId}"); - _endpoints[1124] = CreateEndpoint("/projects/{projectId}/iterations/{iterationId}"); - _endpoints[1125] = CreateEndpoint("/projects/{projectId}/tags/{tagId}"); - _endpoints[1126] = CreateEndpoint("/storage/{storage-account-name}/sas/{sas-definition-name}"); - _endpoints[1127] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/{resourceProviderNamespace}"); - _endpoints[1128] = CreateEndpoint("/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}"); - _endpoints[1129] = CreateEndpoint("/subscriptions/{subscriptionId}/tagNames/{tagName}"); - _endpoints[1130] = CreateEndpoint("/apis/{apiId}/operations/{operationId}/policies"); - _endpoints[1131] = CreateEndpoint("/apps/{appId}/versions/{versionId}/clone"); - _endpoints[1132] = CreateEndpoint("/apps/{appId}/versions/{versionId}/closedlists"); - _endpoints[1133] = CreateEndpoint("/apps/{appId}/versions/{versionId}/compositeentities"); - _endpoints[1134] = CreateEndpoint("/apps/{appId}/versions/{versionId}/customprebuiltdomains"); - _endpoints[1135] = CreateEndpoint("/apps/{appId}/versions/{versionId}/customprebuiltentities"); - _endpoints[1136] = CreateEndpoint("/apps/{appId}/versions/{versionId}/customprebuiltintents"); - _endpoints[1137] = CreateEndpoint("/apps/{appId}/versions/{versionId}/customprebuiltmodels"); - _endpoints[1138] = CreateEndpoint("/apps/{appId}/versions/{versionId}/entities"); - _endpoints[1139] = CreateEndpoint("/apps/{appId}/versions/{versionId}/example"); - _endpoints[1140] = CreateEndpoint("/apps/{appId}/versions/{versionId}/examples"); - _endpoints[1141] = CreateEndpoint("/apps/{appId}/versions/{versionId}/export"); - _endpoints[1142] = CreateEndpoint("/apps/{appId}/versions/{versionId}/features"); - _endpoints[1143] = CreateEndpoint("/apps/{appId}/versions/{versionId}/hierarchicalentities"); - _endpoints[1144] = CreateEndpoint("/apps/{appId}/versions/{versionId}/intents"); - _endpoints[1145] = CreateEndpoint("/apps/{appId}/versions/{versionId}/listprebuilts"); - _endpoints[1146] = CreateEndpoint("/apps/{appId}/versions/{versionId}/models"); - _endpoints[1147] = CreateEndpoint("/apps/{appId}/versions/{versionId}/patternanyentities"); - _endpoints[1148] = CreateEndpoint("/apps/{appId}/versions/{versionId}/patternrule"); - _endpoints[1149] = CreateEndpoint("/apps/{appId}/versions/{versionId}/patternrules"); - _endpoints[1150] = CreateEndpoint("/apps/{appId}/versions/{versionId}/patterns"); - _endpoints[1151] = CreateEndpoint("/apps/{appId}/versions/{versionId}/phraselists"); - _endpoints[1152] = CreateEndpoint("/apps/{appId}/versions/{versionId}/prebuilts"); - _endpoints[1153] = CreateEndpoint("/apps/{appId}/versions/{versionId}/regexentities"); - _endpoints[1154] = CreateEndpoint("/apps/{appId}/versions/{versionId}/suggest"); - _endpoints[1155] = CreateEndpoint("/apps/{appId}/versions/{versionId}/train"); - _endpoints[1156] = CreateEndpoint("/deletedstorage/{storage-account-name}/sas/{sas-definition-name}/recover"); - _endpoints[1157] = CreateEndpoint("/jobs/{jobId}/tasks/{taskId}/files"); - _endpoints[1158] = CreateEndpoint("/jobs/{jobId}/tasks/{taskId}/reactivate"); - _endpoints[1159] = CreateEndpoint("/jobs/{jobId}/tasks/{taskId}/subtasksinfo"); - _endpoints[1160] = CreateEndpoint("/jobs/{jobId}/tasks/{taskId}/terminate"); - _endpoints[1161] = CreateEndpoint("/persongroups/{personGroupId}/persons/{personId}/persistedFaces"); - _endpoints[1162] = CreateEndpoint("/pools/{poolId}/nodes/{nodeId}/disablescheduling"); - _endpoints[1163] = CreateEndpoint("/pools/{poolId}/nodes/{nodeId}/enablescheduling"); - _endpoints[1164] = CreateEndpoint("/pools/{poolId}/nodes/{nodeId}/files"); - _endpoints[1165] = CreateEndpoint("/pools/{poolId}/nodes/{nodeId}/rdp"); - _endpoints[1166] = CreateEndpoint("/pools/{poolId}/nodes/{nodeId}/reboot"); - _endpoints[1167] = CreateEndpoint("/pools/{poolId}/nodes/{nodeId}/reimage"); - _endpoints[1168] = CreateEndpoint("/pools/{poolId}/nodes/{nodeId}/remoteloginsettings"); - _endpoints[1169] = CreateEndpoint("/pools/{poolId}/nodes/{nodeId}/uploadbatchservicelogs"); - _endpoints[1170] = CreateEndpoint("/pools/{poolId}/nodes/{nodeId}/users"); - _endpoints[1171] = CreateEndpoint("/projects/{projectId}/iterations/{iterationId}/export"); - _endpoints[1172] = CreateEndpoint("/projects/{projectId}/iterations/{iterationId}/performance"); - _endpoints[1173] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/{resourceProviderNamespace}/register"); - _endpoints[1174] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/{resourceProviderNamespace}/unregister"); - _endpoints[1175] = CreateEndpoint("/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/exportTemplate"); - _endpoints[1176] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/moveResources"); - _endpoints[1177] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/resources"); - _endpoints[1178] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/validateMoveResources"); - _endpoints[1179] = CreateEndpoint("/projects/{projectId}/iterations/{iterationId}/performance/images"); - _endpoints[1180] = CreateEndpoint("/projects/{projectId}/iterations/{iterationId}/performance/images/count"); - _endpoints[1181] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroup/{resourceGroupName}/providers/microsoft.insights/workbooks"); - _endpoints[1182] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{groupName}/providers/Microsoft.DataMigration/services"); - _endpoints[1183] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroup}/providers/Microsoft.Advisor/configurations"); - _endpoints[1184] = CreateEndpoint("/subscriptions/{subscriptionId}/resourcegroups/{resourceGroup}/providers/Microsoft.AzureBridge.Admin/activations"); - _endpoints[1185] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroup}/providers/Microsoft.AzureStack/registrations"); - _endpoints[1186] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AAD/domainServices"); - _endpoints[1187] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AnalysisServices/servers"); - _endpoints[1188] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service"); - _endpoints[1189] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Authorization/locks"); - _endpoints[1190] = CreateEndpoint("/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.Authorization/permissions"); - _endpoints[1191] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Authorization/policyAssignments"); - _endpoints[1192] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Authorization/roleAssignments"); - _endpoints[1193] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Automation/automationAccounts"); - _endpoints[1194] = CreateEndpoint("/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.Backup.Admin/backupLocations"); - _endpoints[1195] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Batch/batchAccounts"); - _endpoints[1196] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.BatchAI/clusters"); - _endpoints[1197] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.BatchAI/fileServers"); - _endpoints[1198] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.BatchAI/jobs"); - _endpoints[1199] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.BatchAI/workspaces"); - _endpoints[1200] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.BotService/botServices"); - _endpoints[1201] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Cache/Redis"); - _endpoints[1202] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Cdn/profiles"); - _endpoints[1203] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.CertificateRegistration/certificateOrders"); - _endpoints[1204] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.CognitiveServices/accounts"); - _endpoints[1205] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/availabilitySets"); - _endpoints[1206] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/disks"); - _endpoints[1207] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/galleries"); - _endpoints[1208] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/images"); - _endpoints[1209] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/snapshots"); - _endpoints[1210] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/virtualMachines"); - _endpoints[1211] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/virtualMachineScaleSets"); - _endpoints[1212] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Consumption/budgets"); - _endpoints[1213] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerInstance/containerGroups"); - _endpoints[1214] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerRegistry/registries"); - _endpoints[1215] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/containerServices"); - _endpoints[1216] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters"); - _endpoints[1217] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.CustomerInsights/hubs"); - _endpoints[1218] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataBox/jobs"); - _endpoints[1219] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Databricks/workspaces"); - _endpoints[1220] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataCatalog/catalogs"); - _endpoints[1221] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataFactory/factories"); - _endpoints[1222] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataLakeAnalytics/accounts"); - _endpoints[1223] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataLakeStore/accounts"); - _endpoints[1224] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBforMySQL/servers"); - _endpoints[1225] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBforPostgreSQL/servers"); - _endpoints[1226] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Devices/IotHubs"); - _endpoints[1227] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Devices/provisioningServices"); - _endpoints[1228] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DevTestLab/labs"); - _endpoints[1229] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DevTestLab/schedules"); - _endpoints[1230] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts"); - _endpoints[1231] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DomainRegistration/domains"); - _endpoints[1232] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.EventGrid/eventSubscriptions"); - _endpoints[1233] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.EventGrid/topics"); - _endpoints[1234] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.EventHub/clusters"); - _endpoints[1235] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.EventHub/namespaces"); - _endpoints[1236] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Fabric.Admin/fabricLocations"); - _endpoints[1237] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.HanaOnAzure/hanaInstances"); - _endpoints[1238] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.HDInsight/clusters"); - _endpoints[1239] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ImportExport/jobs"); - _endpoints[1240] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.InfrastructureInsights.Admin/regionHealths"); - _endpoints[1241] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/microsoft.insights/actionGroups"); - _endpoints[1242] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/microsoft.insights/activityLogAlerts"); - _endpoints[1243] = CreateEndpoint("/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/microsoft.insights/alertrules"); - _endpoints[1244] = CreateEndpoint("/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/microsoft.insights/autoscalesettings"); - _endpoints[1245] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Insights/components"); - _endpoints[1246] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Insights/metricAlerts"); - _endpoints[1247] = CreateEndpoint("/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/microsoft.insights/scheduledQueryRules"); - _endpoints[1248] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Insights/webtests"); - _endpoints[1249] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.IoTCentral/IoTApps"); - _endpoints[1250] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.IoTSpaces/Graph"); - _endpoints[1251] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.KeyVault/vaults"); - _endpoints[1252] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Logic/integrationAccounts"); - _endpoints[1253] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Logic/workflows"); - _endpoints[1254] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.MachineLearning/commitmentPlans"); - _endpoints[1255] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.MachineLearning/webServices"); - _endpoints[1256] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.MachineLearning/workspaces"); - _endpoints[1257] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.MachineLearningCompute/operationalizationClusters"); - _endpoints[1258] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.MachineLearningExperimentation/accounts"); - _endpoints[1259] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.MachineLearningServices/workspaces"); - _endpoints[1260] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ManagedIdentity/userAssignedIdentities"); - _endpoints[1261] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Maps/accounts"); - _endpoints[1262] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Media/mediaservices"); - _endpoints[1263] = CreateEndpoint("/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.Migrate/projects"); - _endpoints[1264] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/applicationGateways"); - _endpoints[1265] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/applicationSecurityGroups"); - _endpoints[1266] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/connections"); - _endpoints[1267] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/ddosProtectionPlans"); - _endpoints[1268] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/dnsZones"); - _endpoints[1269] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/expressRouteCircuits"); - _endpoints[1270] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/expressRouteCrossConnections"); - _endpoints[1271] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/loadBalancers"); - _endpoints[1272] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/localNetworkGateways"); - _endpoints[1273] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkInterfaces"); - _endpoints[1274] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkSecurityGroups"); - _endpoints[1275] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkWatchers"); - _endpoints[1276] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/publicIPAddresses"); - _endpoints[1277] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/routeFilters"); - _endpoints[1278] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/routeTables"); - _endpoints[1279] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/trafficmanagerprofiles"); - _endpoints[1280] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworkGateways"); - _endpoints[1281] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworks"); - _endpoints[1282] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.NotificationHubs/namespaces"); - _endpoints[1283] = CreateEndpoint("/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.OperationalInsights/workspaces"); - _endpoints[1284] = CreateEndpoint("/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.OperationsManagement/solutions"); - _endpoints[1285] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.PowerBI/workspaceCollections"); - _endpoints[1286] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.PowerBIDedicated/capacities"); - _endpoints[1287] = CreateEndpoint("/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/operations"); - _endpoints[1288] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults"); - _endpoints[1289] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Relay/namespaces"); - _endpoints[1290] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ResourceHealth/availabilityStatuses"); - _endpoints[1291] = CreateEndpoint("/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.Resources/deployments/"); - _endpoints[1292] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Scheduler/jobCollections"); - _endpoints[1293] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Search/searchServices"); - _endpoints[1294] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Security/alerts"); - _endpoints[1295] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Security/jitNetworkAccessPolicies"); - _endpoints[1296] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Security/pricings"); - _endpoints[1297] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Security/securityContacts"); - _endpoints[1298] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Security/workspaceSettings"); - _endpoints[1299] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ServerManagement/gateways"); - _endpoints[1300] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ServerManagement/nodes"); - _endpoints[1301] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ServiceBus/namespaces"); - _endpoints[1302] = CreateEndpoint("/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.ServiceFabric/clusters"); - _endpoints[1303] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.SignalRService/SignalR"); - _endpoints[1304] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Solutions/applianceDefinitions"); - _endpoints[1305] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Solutions/appliances"); - _endpoints[1306] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Solutions/applicationDefinitions"); - _endpoints[1307] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Solutions/applications"); - _endpoints[1308] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/managedInstances"); - _endpoints[1309] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers"); - _endpoints[1310] = CreateEndpoint("/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.Storage.Admin/farms"); - _endpoints[1311] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Storage/storageAccounts"); - _endpoints[1312] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.StorSimple/managers"); - _endpoints[1313] = CreateEndpoint("/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.StreamAnalytics/streamingjobs"); - _endpoints[1314] = CreateEndpoint("/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.Subscriptions.Admin/directoryTenants"); - _endpoints[1315] = CreateEndpoint("/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.Subscriptions.Admin/offers"); - _endpoints[1316] = CreateEndpoint("/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.Subscriptions.Admin/plans"); - _endpoints[1317] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.TimeSeriesInsights/environments"); - _endpoints[1318] = CreateEndpoint("/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.Update.Admin/updateLocations/"); - _endpoints[1319] = CreateEndpoint("/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/microsoft.visualstudio/account"); - _endpoints[1320] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/certificates"); - _endpoints[1321] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/classicMobileServices"); - _endpoints[1322] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/connectionGateways"); - _endpoints[1323] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/connections"); - _endpoints[1324] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/csrs"); - _endpoints[1325] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/customApis"); - _endpoints[1326] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/deletedSites"); - _endpoints[1327] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/hostingEnvironments"); - _endpoints[1328] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/managedHostingEnvironments"); - _endpoints[1329] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/resourceHealthMetadata"); - _endpoints[1330] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/serverfarms"); - _endpoints[1331] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites"); - _endpoints[1332] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/validate"); - _endpoints[1333] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.BotService/BotServices/listServiceProviders"); - _endpoints[1334] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroup/{resourceGroupName}/providers/microsoft.insights/workbooks/{resourceName}"); - _endpoints[1335] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{groupName}/providers/Microsoft.DataMigration/services/{serviceName}"); - _endpoints[1336] = CreateEndpoint("/subscriptions/{subscriptionId}/resourcegroups/{resourceGroup}/providers/Microsoft.AzureBridge.Admin/activations/{activationName}"); - _endpoints[1337] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroup}/providers/Microsoft.AzureStack/registrations/{registrationName}"); - _endpoints[1338] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AAD/domainServices/{domainServiceName}"); - _endpoints[1339] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AnalysisServices/servers/{serverName}"); - _endpoints[1340] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}"); - _endpoints[1341] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Authorization/locks/{lockName}"); - _endpoints[1342] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Automation/automationAccounts/{automationAccountName}"); - _endpoints[1343] = CreateEndpoint("/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.Backup.Admin/backupLocations/{location}"); - _endpoints[1344] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Batch/batchAccounts/{accountName}"); - _endpoints[1345] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.BatchAI/clusters/{clusterName}"); - _endpoints[1346] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.BatchAI/fileServers/{fileServerName}"); - _endpoints[1347] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.BatchAI/jobs/{jobName}"); - _endpoints[1348] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.BatchAI/workspaces/{workspaceName}"); - _endpoints[1349] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.BotService/botServices/{resourceName}"); - _endpoints[1350] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Cache/Redis/{name}"); - _endpoints[1351] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Cdn/profiles/{profileName}"); - _endpoints[1352] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.CertificateRegistration/certificateOrders/{name}"); - _endpoints[1353] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.CognitiveServices/accounts/{accountName}"); - _endpoints[1354] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/availabilitySets/{availabilitySetName}"); - _endpoints[1355] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/disks/{diskName}"); - _endpoints[1356] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/galleries/{galleryName}"); - _endpoints[1357] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/images/{imageName}"); - _endpoints[1358] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/snapshots/{snapshotName}"); - _endpoints[1359] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/virtualMachines/{vmName}"); - _endpoints[1360] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/virtualMachineScaleSets/{vmScaleSetName}"); - _endpoints[1361] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Consumption/budgets/{budgetName}"); - _endpoints[1362] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerInstance/containerGroups/{containerGroupName}"); - _endpoints[1363] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerRegistry/registries/{registryName}"); - _endpoints[1364] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/containerServices/{containerServiceName}"); - _endpoints[1365] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}"); - _endpoints[1366] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.CustomerInsights/hubs/{hubName}"); - _endpoints[1367] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataBox/jobs/{jobName}"); - _endpoints[1368] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Databricks/workspaces/{workspaceName}"); - _endpoints[1369] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataCatalog/catalogs/{catalogName}"); - _endpoints[1370] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataFactory/factories/{factoryName}"); - _endpoints[1371] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataLakeAnalytics/accounts/{accountName}"); - _endpoints[1372] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataLakeStore/accounts/{accountName}"); - _endpoints[1373] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBforMySQL/servers/{serverName}"); - _endpoints[1374] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBforPostgreSQL/servers/{serverName}"); - _endpoints[1375] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Devices/IotHubs/{resourceName}"); - _endpoints[1376] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Devices/provisioningServices/{provisioningServiceName}"); - _endpoints[1377] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DevTestLab/labs/{name}"); - _endpoints[1378] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DevTestLab/schedules/{name}"); - _endpoints[1379] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}"); - _endpoints[1380] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DomainRegistration/domains/{domainName}"); - _endpoints[1381] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.EventGrid/topics/{topicName}"); - _endpoints[1382] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.EventHub/clusters/{clusterName}"); - _endpoints[1383] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.EventHub/namespaces/{namespaceName}"); - _endpoints[1384] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Fabric.Admin/fabricLocations/{fabricLocation}"); - _endpoints[1385] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.HanaOnAzure/hanaInstances/{hanaInstanceName}"); - _endpoints[1386] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.HDInsight/clusters/{clusterName}"); - _endpoints[1387] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ImportExport/jobs/{jobName}"); - _endpoints[1388] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.InfrastructureInsights.Admin/regionHealths/{location}"); - _endpoints[1389] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/microsoft.insights/actionGroups/{actionGroupName}"); - _endpoints[1390] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/microsoft.insights/activityLogAlerts/{activityLogAlertName}"); - _endpoints[1391] = CreateEndpoint("/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/microsoft.insights/alertrules/{ruleName}"); - _endpoints[1392] = CreateEndpoint("/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/microsoft.insights/autoscalesettings/{autoscaleSettingName}"); - _endpoints[1393] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Insights/components/{resourceName}"); - _endpoints[1394] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Insights/metricAlerts/{ruleName}"); - _endpoints[1395] = CreateEndpoint("/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/microsoft.insights/scheduledQueryRules/{ruleName}"); - _endpoints[1396] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Insights/webtests/{webTestName}"); - _endpoints[1397] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.IoTCentral/IoTApps/{resourceName}"); - _endpoints[1398] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.IoTSpaces/Graph/{resourceName}"); - _endpoints[1399] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.KeyVault/vaults/{vaultName}"); - _endpoints[1400] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Logic/integrationAccounts/{integrationAccountName}"); - _endpoints[1401] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Logic/workflows/{workflowName}"); - _endpoints[1402] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.MachineLearning/commitmentPlans/{commitmentPlanName}"); - _endpoints[1403] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.MachineLearning/webServices/{webServiceName}"); - _endpoints[1404] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.MachineLearning/workspaces/{workspaceName}"); - _endpoints[1405] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.MachineLearningCompute/operationalizationClusters/{clusterName}"); - _endpoints[1406] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.MachineLearningExperimentation/accounts/{accountName}"); - _endpoints[1407] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.MachineLearningServices/workspaces/{workspaceName}"); - _endpoints[1408] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ManagedIdentity/userAssignedIdentities/{resourceName}"); - _endpoints[1409] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Maps/accounts/{accountName}"); - _endpoints[1410] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Media/mediaservices/{mediaServiceName}"); - _endpoints[1411] = CreateEndpoint("/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.Migrate/projects/{projectName}"); - _endpoints[1412] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/applicationGateways/{applicationGatewayName}"); - _endpoints[1413] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/applicationSecurityGroups/{applicationSecurityGroupName}"); - _endpoints[1414] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/connections/{virtualNetworkGatewayConnectionName}"); - _endpoints[1415] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/ddosProtectionPlans/{ddosProtectionPlanName}"); - _endpoints[1416] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/dnsZones/{zoneName}"); - _endpoints[1417] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/expressRouteCircuits/{circuitName}"); - _endpoints[1418] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/expressRouteCrossConnections/{crossConnectionName}"); - _endpoints[1419] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/loadBalancers/{loadBalancerName}"); - _endpoints[1420] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/localNetworkGateways/{localNetworkGatewayName}"); - _endpoints[1421] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkInterfaces/{networkInterfaceName}"); - _endpoints[1422] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkSecurityGroups/{networkSecurityGroupName}"); - _endpoints[1423] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkWatchers/{networkWatcherName}"); - _endpoints[1424] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/publicIPAddresses/{publicIpAddressName}"); - _endpoints[1425] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/routeFilters/{routeFilterName}"); - _endpoints[1426] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/routeTables/{routeTableName}"); - _endpoints[1427] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/trafficmanagerprofiles/{profileName}"); - _endpoints[1428] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworkGateways/{virtualNetworkGatewayName}"); - _endpoints[1429] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworks/{virtualNetworkName}"); - _endpoints[1430] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.NotificationHubs/namespaces/{namespaceName}"); - _endpoints[1431] = CreateEndpoint("/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.OperationalInsights/workspaces/{workspaceName}"); - _endpoints[1432] = CreateEndpoint("/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.OperationsManagement/ManagementConfigurations/{managementConfigurationName}"); - _endpoints[1433] = CreateEndpoint("/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.OperationsManagement/solutions/{solutionName}"); - _endpoints[1434] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.PowerBI/workspaceCollections/{workspaceCollectionName}"); - _endpoints[1435] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.PowerBIDedicated/capacities/{dedicatedCapacityName}"); - _endpoints[1436] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}"); - _endpoints[1437] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Relay/namespaces/{namespaceName}"); - _endpoints[1438] = CreateEndpoint("/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.Resources/deployments/{deploymentName}"); - _endpoints[1439] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Scheduler/jobCollections/{jobCollectionName}"); - _endpoints[1440] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Search/searchServices/{searchServiceName}"); - _endpoints[1441] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Security/pricings/{pricingName}"); - _endpoints[1442] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Security/securityContacts/{securityContactName}"); - _endpoints[1443] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Security/workspaceSettings/{workspaceSettingName}"); - _endpoints[1444] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ServerManagement/gateways/{gatewayName}"); - _endpoints[1445] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ServerManagement/nodes/{nodeName}"); - _endpoints[1446] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ServiceBus/namespaces/{namespaceName}"); - _endpoints[1447] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ServiceFabric/clusters/{clusterName}"); - _endpoints[1448] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.SignalRService/SignalR/{resourceName}"); - _endpoints[1449] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Solutions/applianceDefinitions/{applianceDefinitionName}"); - _endpoints[1450] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Solutions/appliances/{applianceName}"); - _endpoints[1451] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Solutions/applicationDefinitions/{applicationDefinitionName}"); - _endpoints[1452] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Solutions/applications/{applicationName}"); - _endpoints[1453] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/managedInstances/{managedInstanceName}"); - _endpoints[1454] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}"); - _endpoints[1455] = CreateEndpoint("/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.Storage.Admin/farms/{farmId}"); - _endpoints[1456] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Storage/storageAccounts/{accountName}"); - _endpoints[1457] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.StorSimple/managers/{managerName}"); - _endpoints[1458] = CreateEndpoint("/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.StreamAnalytics/streamingjobs/{jobName}"); - _endpoints[1459] = CreateEndpoint("/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.Subscriptions.Admin/directoryTenants/{tenant}"); - _endpoints[1460] = CreateEndpoint("/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.Subscriptions.Admin/offers/{offer}"); - _endpoints[1461] = CreateEndpoint("/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.Subscriptions.Admin/plans/{plan}"); - _endpoints[1462] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.TimeSeriesInsights/environments/{environmentName}"); - _endpoints[1463] = CreateEndpoint("/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.Update.Admin/updateLocations/{updateLocation}"); - _endpoints[1464] = CreateEndpoint("/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/microsoft.visualstudio/account/{resourceName}"); - _endpoints[1465] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/certificates/{name}"); - _endpoints[1466] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/classicMobileServices/{name}"); - _endpoints[1467] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/connectionGateways/{connectionGatewayName}"); - _endpoints[1468] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/connections/{connectionName}"); - _endpoints[1469] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/csrs/{name}"); - _endpoints[1470] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/customApis/{apiName}"); - _endpoints[1471] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/hostingEnvironments/{name}"); - _endpoints[1472] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/managedHostingEnvironments/{name}"); - _endpoints[1473] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/serverfarms/{name}"); - _endpoints[1474] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}"); - _endpoints[1475] = CreateEndpoint("/providers/{managementGroupsNamespace}/managementGroups/{managementGroupName}/providers/Microsoft.PolicyInsights/policyEvents/{policyEventsResource}/queryResults"); - _endpoints[1476] = CreateEndpoint("/providers/{managementGroupsNamespace}/managementGroups/{managementGroupName}/providers/Microsoft.PolicyInsights/policyStates/{policyStatesResource}/queryResults"); - _endpoints[1477] = CreateEndpoint("/providers/{managementGroupsNamespace}/managementGroups/{managementGroupName}/providers/Microsoft.PolicyInsights/policyStates/{policyStatesSummaryResource}/summarize"); - _endpoints[1478] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroup/{resourceGroupName}/providers/Microsoft.MachineLearningServices/workspaces/{workspaceName}/computes"); - _endpoints[1479] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{groupName}/providers/Microsoft.DataMigration/services/{serviceName}/checkNameAvailability"); - _endpoints[1480] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{groupName}/providers/Microsoft.DataMigration/services/{serviceName}/checkStatus"); - _endpoints[1481] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{groupName}/providers/Microsoft.DataMigration/services/{serviceName}/projects"); - _endpoints[1482] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{groupName}/providers/Microsoft.DataMigration/services/{serviceName}/skus"); - _endpoints[1483] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{groupName}/providers/Microsoft.DataMigration/services/{serviceName}/start"); - _endpoints[1484] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{groupName}/providers/Microsoft.DataMigration/services/{serviceName}/stop"); - _endpoints[1485] = CreateEndpoint("/subscriptions/{subscriptionId}/resourcegroups/{resourceGroup}/providers/Microsoft.AzureBridge.Admin/activations/{activationName}/downloadedProducts"); - _endpoints[1486] = CreateEndpoint("/subscriptions/{subscriptionId}/resourcegroups/{resourceGroup}/providers/Microsoft.AzureBridge.Admin/activations/{activationName}/products"); - _endpoints[1487] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroup}/providers/Microsoft.AzureStack/registrations/{registrationName}/customerSubscriptions"); - _endpoints[1488] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroup}/providers/Microsoft.AzureStack/registrations/{registrationName}/getactivationkey"); - _endpoints[1489] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroup}/providers/Microsoft.AzureStack/registrations/{registrationName}/products"); - _endpoints[1490] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AnalysisServices/servers/{serverName}/dissociateGateway"); - _endpoints[1491] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AnalysisServices/servers/{serverName}/listGatewayStatus"); - _endpoints[1492] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AnalysisServices/servers/{serverName}/resume"); - _endpoints[1493] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AnalysisServices/servers/{serverName}/skus"); - _endpoints[1494] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AnalysisServices/servers/{serverName}/suspend"); - _endpoints[1495] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/apis"); - _endpoints[1496] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/apisByTags"); - _endpoints[1497] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/api-version-sets"); - _endpoints[1498] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/applynetworkconfigurationupdates"); - _endpoints[1499] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/authorizationServers"); - _endpoints[1500] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/backends"); - _endpoints[1501] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/backup"); - _endpoints[1502] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/certificates"); - _endpoints[1503] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/diagnostics"); - _endpoints[1504] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/getssotoken"); - _endpoints[1505] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/groups"); - _endpoints[1506] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/identityProviders"); - _endpoints[1507] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/issues"); - _endpoints[1508] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/loggers"); - _endpoints[1509] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/managedeployments"); - _endpoints[1510] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/networkstatus"); - _endpoints[1511] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/notifications"); - _endpoints[1512] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/openidConnectProviders"); - _endpoints[1513] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/policies"); - _endpoints[1514] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/policySnippets"); - _endpoints[1515] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/products"); - _endpoints[1516] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/properties"); - _endpoints[1517] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/regions"); - _endpoints[1518] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/restore"); - _endpoints[1519] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/subscriptions"); - _endpoints[1520] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/tagResources"); - _endpoints[1521] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/tags"); - _endpoints[1522] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/templates"); - _endpoints[1523] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/updatecertificate"); - _endpoints[1524] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/updatehostname"); - _endpoints[1525] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/uploadcertificate"); - _endpoints[1526] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/users"); - _endpoints[1527] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Automation/automationAccounts/{automationAccountName}/agentRegistrationInformation"); - _endpoints[1528] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Automation/automationAccounts/{automationAccountName}/certificates"); - _endpoints[1529] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Automation/automationAccounts/{automationAccountName}/compilationjobs"); - _endpoints[1530] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Automation/automationAccounts/{automationAccountName}/configurations"); - _endpoints[1531] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Automation/automationAccounts/{automationAccountName}/connections"); - _endpoints[1532] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Automation/automationAccounts/{automationAccountName}/connectionTypes"); - _endpoints[1533] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Automation/automationAccounts/{automationAccountName}/credentials"); - _endpoints[1534] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Automation/automationAccounts/{automationAccountName}/hybridRunbookWorkerGroups"); - _endpoints[1535] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Automation/automationAccounts/{automationAccountName}/jobs"); - _endpoints[1536] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Automation/automationAccounts/{automationAccountName}/jobSchedules"); - _endpoints[1537] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Automation/automationAccounts/{automationAccountName}/linkedWorkspace"); - _endpoints[1538] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Automation/automationAccounts/{automationAccountName}/listKeys"); - _endpoints[1539] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Automation/automationAccounts/{automationAccountName}/modules"); - _endpoints[1540] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Automation/automationAccounts/{automationAccountName}/nodeConfigurations"); - _endpoints[1541] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Automation/automationAccounts/{automationAccountName}/nodes"); - _endpoints[1542] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Automation/automationAccounts/{automationAccountName}/runbooks"); - _endpoints[1543] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Automation/automationAccounts/{automationAccountName}/schedules"); - _endpoints[1544] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Automation/automationAccounts/{automationAccountName}/softwareUpdateConfigurationMachineRuns"); - _endpoints[1545] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Automation/automationAccounts/{automationAccountName}/softwareUpdateConfigurationRuns"); - _endpoints[1546] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Automation/automationAccounts/{automationAccountName}/softwareUpdateConfigurations"); - _endpoints[1547] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Automation/automationAccounts/{automationAccountName}/sourceControls"); - _endpoints[1548] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Automation/automationAccounts/{automationAccountName}/statistics"); - _endpoints[1549] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Automation/automationAccounts/{automationAccountName}/usages"); - _endpoints[1550] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Automation/automationAccounts/{automationAccountName}/variables"); - _endpoints[1551] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Automation/automationAccounts/{automationAccountName}/watchers"); - _endpoints[1552] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Automation/automationAccounts/{automationAccountName}/webhooks"); - _endpoints[1553] = CreateEndpoint("/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.Backup.Admin/backupLocations/{location}/backups"); - _endpoints[1554] = CreateEndpoint("/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.Backup.Admin/backupLocations/{location}/createBackup"); - _endpoints[1555] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Batch/batchAccounts/{accountName}/applications"); - _endpoints[1556] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Batch/batchAccounts/{accountName}/certificates"); - _endpoints[1557] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Batch/batchAccounts/{accountName}/listKeys"); - _endpoints[1558] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Batch/batchAccounts/{accountName}/pools"); - _endpoints[1559] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Batch/batchAccounts/{accountName}/regenerateKeys"); - _endpoints[1560] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Batch/batchAccounts/{accountName}/syncAutoStorageKeys"); - _endpoints[1561] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.BatchAI/clusters/{clusterName}/listRemoteLoginInformation"); - _endpoints[1562] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.BatchAI/jobs/{jobName}/listOutputFiles"); - _endpoints[1563] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.BatchAI/jobs/{jobName}/listRemoteLoginInformation"); - _endpoints[1564] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.BatchAI/jobs/{jobName}/terminate"); - _endpoints[1565] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.BatchAI/workspaces/{workspaceName}/clusters"); - _endpoints[1566] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.BatchAI/workspaces/{workspaceName}/experiments"); - _endpoints[1567] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.BatchAI/workspaces/{workspaceName}/fileServers"); - _endpoints[1568] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.BotService/botServices/{resourceName}/channels"); - _endpoints[1569] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.BotService/botServices/{resourceName}/connections"); - _endpoints[1570] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Cache/Redis/{cacheName}/firewallRules"); - _endpoints[1571] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Cache/Redis/{cacheName}/patchSchedules"); - _endpoints[1572] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Cache/Redis/{name}/export"); - _endpoints[1573] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Cache/Redis/{name}/forceReboot"); - _endpoints[1574] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Cache/Redis/{name}/import"); - _endpoints[1575] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Cache/Redis/{name}/linkedServers"); - _endpoints[1576] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Cache/Redis/{name}/listKeys"); - _endpoints[1577] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Cache/Redis/{name}/listUpgradeNotifications"); - _endpoints[1578] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Cache/Redis/{name}/regenerateKey"); - _endpoints[1579] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Cdn/profiles/{profileName}/checkResourceUsage"); - _endpoints[1580] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Cdn/profiles/{profileName}/endpoints"); - _endpoints[1581] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Cdn/profiles/{profileName}/generateSsoUri"); - _endpoints[1582] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Cdn/profiles/{profileName}/getSupportedOptimizationTypes"); - _endpoints[1583] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.CertificateRegistration/certificateOrders/{certificateOrderName}/certificates"); - _endpoints[1584] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.CertificateRegistration/certificateOrders/{certificateOrderName}/resendRequestEmails"); - _endpoints[1585] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.CertificateRegistration/certificateOrders/{certificateOrderName}/retrieveSiteSeal"); - _endpoints[1586] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.CertificateRegistration/certificateOrders/{name}/reissue"); - _endpoints[1587] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.CertificateRegistration/certificateOrders/{name}/renew"); - _endpoints[1588] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.CertificateRegistration/certificateOrders/{name}/resendEmail"); - _endpoints[1589] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.CertificateRegistration/certificateOrders/{name}/retrieveCertificateActions"); - _endpoints[1590] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.CertificateRegistration/certificateOrders/{name}/retrieveEmailHistory"); - _endpoints[1591] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.CertificateRegistration/certificateOrders/{name}/verifyDomainOwnership"); - _endpoints[1592] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.CognitiveServices/accounts/{accountName}/listKeys"); - _endpoints[1593] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.CognitiveServices/accounts/{accountName}/regenerateKey"); - _endpoints[1594] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.CognitiveServices/accounts/{accountName}/skus"); - _endpoints[1595] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.CognitiveServices/accounts/{accountName}/usages"); - _endpoints[1596] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/availabilitySets/{availabilitySetName}/vmSizes"); - _endpoints[1597] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/disks/{diskName}/beginGetAccess"); - _endpoints[1598] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/disks/{diskName}/endGetAccess"); - _endpoints[1599] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/galleries/{galleryName}/images"); - _endpoints[1600] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/snapshots/{snapshotName}/beginGetAccess"); - _endpoints[1601] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/snapshots/{snapshotName}/endGetAccess"); - _endpoints[1602] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/virtualMachines/{vmName}/capture"); - _endpoints[1603] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/virtualMachines/{vmName}/convertToManagedDisks"); - _endpoints[1604] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/virtualMachines/{vmName}/deallocate"); - _endpoints[1605] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/virtualMachines/{vmName}/extensions"); - _endpoints[1606] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/virtualMachines/{vmName}/generalize"); - _endpoints[1607] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/virtualMachines/{vmName}/instanceView"); - _endpoints[1608] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/virtualMachines/{vmName}/performMaintenance"); - _endpoints[1609] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/virtualMachines/{vmName}/powerOff"); - _endpoints[1610] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/virtualMachines/{vmName}/redeploy"); - _endpoints[1611] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/virtualMachines/{vmName}/restart"); - _endpoints[1612] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/virtualMachines/{vmName}/runCommand"); - _endpoints[1613] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/virtualMachines/{vmName}/start"); - _endpoints[1614] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/virtualMachines/{vmName}/vmSizes"); - _endpoints[1615] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/microsoft.Compute/virtualMachineScaleSets/{virtualMachineScaleSetName}/networkInterfaces"); - _endpoints[1616] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/virtualMachineScaleSets/{virtualMachineScaleSetName}/publicipaddresses"); - _endpoints[1617] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/virtualMachineScaleSets/{virtualMachineScaleSetName}/virtualMachines"); - _endpoints[1618] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/virtualMachineScaleSets/{vmScaleSetName}/deallocate"); - _endpoints[1619] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/virtualMachineScaleSets/{vmScaleSetName}/delete"); - _endpoints[1620] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/virtualMachineScaleSets/{vmScaleSetName}/extensions"); - _endpoints[1621] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/virtualMachineScaleSets/{vmScaleSetName}/forceRecoveryServiceFabricPlatformUpdateDomainWalk"); - _endpoints[1622] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/virtualMachineScaleSets/{vmScaleSetName}/instanceView"); - _endpoints[1623] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/virtualMachineScaleSets/{vmScaleSetName}/manualupgrade"); - _endpoints[1624] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/virtualMachineScaleSets/{vmScaleSetName}/osRollingUpgrade"); - _endpoints[1625] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/virtualMachineScaleSets/{vmScaleSetName}/osUpgradeHistory"); - _endpoints[1626] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/virtualMachineScaleSets/{vmScaleSetName}/performMaintenance"); - _endpoints[1627] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/virtualMachineScaleSets/{vmScaleSetName}/poweroff"); - _endpoints[1628] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/virtualMachineScaleSets/{vmScaleSetName}/redeploy"); - _endpoints[1629] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/virtualMachineScaleSets/{vmScaleSetName}/reimage"); - _endpoints[1630] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/virtualMachineScaleSets/{vmScaleSetName}/reimageall"); - _endpoints[1631] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/virtualMachineScaleSets/{vmScaleSetName}/restart"); - _endpoints[1632] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/virtualMachineScaleSets/{vmScaleSetName}/skus"); - _endpoints[1633] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/virtualMachineScaleSets/{vmScaleSetName}/start"); - _endpoints[1634] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerRegistry/registries/{registryName}/builds"); - _endpoints[1635] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerRegistry/registries/{registryName}/buildTasks"); - _endpoints[1636] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerRegistry/registries/{registryName}/getBuildSourceUploadUrl"); - _endpoints[1637] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerRegistry/registries/{registryName}/getCredentials"); - _endpoints[1638] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerRegistry/registries/{registryName}/importImage"); - _endpoints[1639] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerRegistry/registries/{registryName}/listCredentials"); - _endpoints[1640] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerRegistry/registries/{registryName}/listUsages"); - _endpoints[1641] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerRegistry/registries/{registryName}/queueBuild"); - _endpoints[1642] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerRegistry/registries/{registryName}/regenerateCredential"); - _endpoints[1643] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerRegistry/registries/{registryName}/regenerateCredentials"); - _endpoints[1644] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerRegistry/registries/{registryName}/replications"); - _endpoints[1645] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerRegistry/registries/{registryName}/webhooks"); - _endpoints[1646] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.CustomerInsights/hubs/{hubName}/authorizationPolicies"); - _endpoints[1647] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.CustomerInsights/hubs/{hubName}/connectors"); - _endpoints[1648] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.CustomerInsights/hubs/{hubName}/interactions"); - _endpoints[1649] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.CustomerInsights/hubs/{hubName}/kpi"); - _endpoints[1650] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.CustomerInsights/hubs/{hubName}/links"); - _endpoints[1651] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.CustomerInsights/hubs/{hubName}/predictions"); - _endpoints[1652] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.CustomerInsights/hubs/{hubName}/profiles"); - _endpoints[1653] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.CustomerInsights/hubs/{hubName}/relationshipLinks"); - _endpoints[1654] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.CustomerInsights/hubs/{hubName}/relationships"); - _endpoints[1655] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.CustomerInsights/hubs/{hubName}/roleAssignments"); - _endpoints[1656] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.CustomerInsights/hubs/{hubName}/roles"); - _endpoints[1657] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.CustomerInsights/hubs/{hubName}/views"); - _endpoints[1658] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.CustomerInsights/hubs/{hubName}/widgetTypes"); - _endpoints[1659] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataBox/jobs/{jobName}/bookShipmentPickUp"); - _endpoints[1660] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataBox/jobs/{jobName}/cancel"); - _endpoints[1661] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataBox/jobs/{jobName}/copyLogsUri"); - _endpoints[1662] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataBox/jobs/{jobName}/downloadShippingLabel"); - _endpoints[1663] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataBox/jobs/{jobName}/listSecrets"); - _endpoints[1664] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataBox/jobs/{jobName}/reportIssue"); - _endpoints[1665] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataFactory/factories/{factoryName}/datasets"); - _endpoints[1666] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataFactory/factories/{factoryName}/integrationRuntimes"); - _endpoints[1667] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataFactory/factories/{factoryName}/linkedservices"); - _endpoints[1668] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataFactory/factories/{factoryName}/pipelineruns"); - _endpoints[1669] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataFactory/factories/{factoryName}/pipelines"); - _endpoints[1670] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataFactory/factories/{factoryName}/triggers"); - _endpoints[1671] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataLakeAnalytics/accounts/{accountName}/computePolicies"); - _endpoints[1672] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataLakeAnalytics/accounts/{accountName}/dataLakeStoreAccounts"); - _endpoints[1673] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataLakeAnalytics/accounts/{accountName}/firewallRules"); - _endpoints[1674] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataLakeAnalytics/accounts/{accountName}/storageAccounts"); - _endpoints[1675] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataLakeStore/accounts/{accountName}/enableKeyVault"); - _endpoints[1676] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataLakeStore/accounts/{accountName}/firewallRules"); - _endpoints[1677] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataLakeStore/accounts/{accountName}/trustedIdProviders"); - _endpoints[1678] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataLakeStore/accounts/{accountName}/virtualNetworkRules"); - _endpoints[1679] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBforMySQL/servers/{serverName}/configurations"); - _endpoints[1680] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBforMySQL/servers/{serverName}/databases"); - _endpoints[1681] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBforMySQL/servers/{serverName}/firewallRules"); - _endpoints[1682] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBforMySQL/servers/{serverName}/logFiles"); - _endpoints[1683] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBforMySQL/servers/{serverName}/virtualNetworkRules"); - _endpoints[1684] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBforPostgreSQL/servers/{serverName}/configurations"); - _endpoints[1685] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBforPostgreSQL/servers/{serverName}/databases"); - _endpoints[1686] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBforPostgreSQL/servers/{serverName}/firewallRules"); - _endpoints[1687] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBforPostgreSQL/servers/{serverName}/logFiles"); - _endpoints[1688] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBforPostgreSQL/servers/{serverName}/virtualNetworkRules"); - _endpoints[1689] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Devices/IotHubs/{iotHubName}/routingEndpointsHealth"); - _endpoints[1690] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Devices/IotHubs/{resourceName}/certificates"); - _endpoints[1691] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Devices/IotHubs/{resourceName}/exportDevices"); - _endpoints[1692] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Devices/IotHubs/{resourceName}/importDevices"); - _endpoints[1693] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Devices/IotHubs/{resourceName}/IotHubStats"); - _endpoints[1694] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Devices/IotHubs/{resourceName}/jobs"); - _endpoints[1695] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Devices/IotHubs/{resourceName}/listkeys"); - _endpoints[1696] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Devices/IotHubs/{resourceName}/quotaMetrics"); - _endpoints[1697] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Devices/IotHubs/{resourceName}/skus"); - _endpoints[1698] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Devices/provisioningServices/{provisioningServiceName}/certificates"); - _endpoints[1699] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Devices/provisioningServices/{provisioningServiceName}/listkeys"); - _endpoints[1700] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Devices/provisioningServices/{provisioningServiceName}/skus"); - _endpoints[1701] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DevTestLab/labs/{labName}/artifactsources"); - _endpoints[1702] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DevTestLab/labs/{labName}/costinsights"); - _endpoints[1703] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DevTestLab/labs/{labName}/costs"); - _endpoints[1704] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DevTestLab/labs/{labName}/customimages"); - _endpoints[1705] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DevTestLab/labs/{labName}/formulas"); - _endpoints[1706] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DevTestLab/labs/{labName}/galleryimages"); - _endpoints[1707] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DevTestLab/labs/{labName}/notificationchannels"); - _endpoints[1708] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DevTestLab/labs/{labName}/schedules"); - _endpoints[1709] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DevTestLab/labs/{labName}/servicerunners"); - _endpoints[1710] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DevTestLab/labs/{labName}/users"); - _endpoints[1711] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DevTestLab/labs/{labName}/virtualmachines"); - _endpoints[1712] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DevTestLab/labs/{labName}/virtualnetworks"); - _endpoints[1713] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DevTestLab/labs/{name}/claimAnyVm"); - _endpoints[1714] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DevTestLab/labs/{name}/createEnvironment"); - _endpoints[1715] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DevTestLab/labs/{name}/exportResourceUsage"); - _endpoints[1716] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DevTestLab/labs/{name}/generateUploadUri"); - _endpoints[1717] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DevTestLab/labs/{name}/listVhds"); - _endpoints[1718] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DevTestLab/schedules/{name}/execute"); - _endpoints[1719] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DevTestLab/schedules/{name}/retarget"); - _endpoints[1720] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/failoverPriorityChange"); - _endpoints[1721] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/listConnectionStrings"); - _endpoints[1722] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/listKeys"); - _endpoints[1723] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/metricDefinitions"); - _endpoints[1724] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/metrics"); - _endpoints[1725] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/offlineRegion"); - _endpoints[1726] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/onlineRegion"); - _endpoints[1727] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/readonlykeys"); - _endpoints[1728] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/regenerateKey"); - _endpoints[1729] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/usages"); - _endpoints[1730] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DomainRegistration/domains/{domainName}/domainOwnershipIdentifiers"); - _endpoints[1731] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DomainRegistration/domains/{domainName}/renew"); - _endpoints[1732] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.EventGrid/locations/{location}/eventSubscriptions"); - _endpoints[1733] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.EventGrid/topics/{topicName}/listKeys"); - _endpoints[1734] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.EventGrid/topics/{topicName}/regenerateKey"); - _endpoints[1735] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.EventGrid/topicTypes/{topicTypeName}/eventSubscriptions"); - _endpoints[1736] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.EventHub/namespaces/{namespaceName}/AuthorizationRules"); - _endpoints[1737] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.EventHub/namespaces/{namespaceName}/disasterRecoveryConfigs"); - _endpoints[1738] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.EventHub/namespaces/{namespaceName}/eventhubs"); - _endpoints[1739] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.EventHub/namespaces/{namespaceName}/messagingplan"); - _endpoints[1740] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Fabric.Admin/fabricLocations/{location}/edgeGatewayPools"); - _endpoints[1741] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Fabric.Admin/fabricLocations/{location}/edgeGateways"); - _endpoints[1742] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Fabric.Admin/fabricLocations/{location}/fileShares"); - _endpoints[1743] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Fabric.Admin/fabricLocations/{location}/infraRoleInstances"); - _endpoints[1744] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Fabric.Admin/fabricLocations/{location}/infraRoles"); - _endpoints[1745] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Fabric.Admin/fabricLocations/{location}/ipPools"); - _endpoints[1746] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Fabric.Admin/fabricLocations/{location}/logicalNetworks"); - _endpoints[1747] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Fabric.Admin/fabricLocations/{location}/macAddressPools"); - _endpoints[1748] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Fabric.Admin/fabricLocations/{location}/scaleUnitNodes"); - _endpoints[1749] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Fabric.Admin/fabricLocations/{location}/scaleUnits"); - _endpoints[1750] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Fabric.Admin/fabricLocations/{location}/slbMuxInstances"); - _endpoints[1751] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Fabric.Admin/fabricLocations/{location}/storageSubSystems"); - _endpoints[1752] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.HDInsight/clusters/{clusterName}/applications"); - _endpoints[1753] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.HDInsight/clusters/{clusterName}/executeScriptActions"); - _endpoints[1754] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.HDInsight/clusters/{clusterName}/scriptActions"); - _endpoints[1755] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.HDInsight/clusters/{clusterName}/scriptExecutionHistory"); - _endpoints[1756] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ImportExport/jobs/{jobName}/listBitLockerKeys"); - _endpoints[1757] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.InfrastructureInsights.Admin/regionHealths/{location}/alerts"); - _endpoints[1758] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.InfrastructureInsights.Admin/regionHealths/{location}/serviceHealths"); - _endpoints[1759] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/microsoft.insights/actionGroups/{actionGroupName}/subscribe"); - _endpoints[1760] = CreateEndpoint("/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/microsoft.insights/alertrules/{ruleName}/incidents"); - _endpoints[1761] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Insights/components/{componentName}/webtests"); - _endpoints[1762] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Insights/components/{resourceName}/Annotations"); - _endpoints[1763] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Insights/components/{resourceName}/ApiKeys"); - _endpoints[1764] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Insights/components/{resourceName}/currentbillingfeatures"); - _endpoints[1765] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Insights/components/{resourceName}/DefaultWorkItemConfig"); - _endpoints[1766] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Insights/components/{resourceName}/exportconfiguration"); - _endpoints[1767] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Insights/components/{resourceName}/favorites"); - _endpoints[1768] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Insights/components/{resourceName}/featurecapabilities"); - _endpoints[1769] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Insights/components/{resourceName}/getavailablebillingfeatures"); - _endpoints[1770] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Insights/components/{resourceName}/ProactiveDetectionConfigs"); - _endpoints[1771] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Insights/components/{resourceName}/purge"); - _endpoints[1772] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Insights/components/{resourceName}/quotastatus"); - _endpoints[1773] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Insights/components/{resourceName}/syntheticmonitorlocations"); - _endpoints[1774] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Insights/components/{resourceName}/WorkItemConfigs"); - _endpoints[1775] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Insights/metricAlerts/{ruleName}/status"); - _endpoints[1776] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.KeyVault/vaults/{vaultName}/secrets"); - _endpoints[1777] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Logic/integrationAccounts/{integrationAccountName}/agreements"); - _endpoints[1778] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Logic/integrationAccounts/{integrationAccountName}/assemblies"); - _endpoints[1779] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Logic/integrationAccounts/{integrationAccountName}/batchConfigurations"); - _endpoints[1780] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Logic/integrationAccounts/{integrationAccountName}/certificates"); - _endpoints[1781] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Logic/integrationAccounts/{integrationAccountName}/listCallbackUrl"); - _endpoints[1782] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Logic/integrationAccounts/{integrationAccountName}/listKeyVaultKeys"); - _endpoints[1783] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Logic/integrationAccounts/{integrationAccountName}/logTrackingEvents"); - _endpoints[1784] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Logic/integrationAccounts/{integrationAccountName}/maps"); - _endpoints[1785] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Logic/integrationAccounts/{integrationAccountName}/partners"); - _endpoints[1786] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Logic/integrationAccounts/{integrationAccountName}/regenerateAccessKey"); - _endpoints[1787] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Logic/integrationAccounts/{integrationAccountName}/schemas"); - _endpoints[1788] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Logic/integrationAccounts/{integrationAccountName}/sessions"); - _endpoints[1789] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Logic/workflows/{workflowName}/accessKeys"); - _endpoints[1790] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Logic/workflows/{workflowName}/disable"); - _endpoints[1791] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Logic/workflows/{workflowName}/enable"); - _endpoints[1792] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Logic/workflows/{workflowName}/generateUpgradedDefinition"); - _endpoints[1793] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Logic/workflows/{workflowName}/listCallbackUrl"); - _endpoints[1794] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Logic/workflows/{workflowName}/listSwagger"); - _endpoints[1795] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Logic/workflows/{workflowName}/move"); - _endpoints[1796] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Logic/workflows/{workflowName}/regenerateAccessKey"); - _endpoints[1797] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Logic/workflows/{workflowName}/run"); - _endpoints[1798] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Logic/workflows/{workflowName}/runs"); - _endpoints[1799] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Logic/workflows/{workflowName}/triggers/"); - _endpoints[1800] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Logic/workflows/{workflowName}/validate"); - _endpoints[1801] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Logic/workflows/{workflowName}/versions"); - _endpoints[1802] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.MachineLearning/commitmentPlans/{commitmentPlanName}/commitmentAssociations"); - _endpoints[1803] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.MachineLearning/commitmentPlans/{commitmentPlanName}/usageHistory"); - _endpoints[1804] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.MachineLearning/webServices/{webServiceName}/CreateRegionalBlob"); - _endpoints[1805] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.MachineLearning/webServices/{webServiceName}/listKeys"); - _endpoints[1806] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.MachineLearning/workspaces/{workspaceName}/listWorkspaceKeys"); - _endpoints[1807] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.MachineLearning/workspaces/{workspaceName}/resyncStorageKeys"); - _endpoints[1808] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.MachineLearningCompute/operationalizationClusters/{clusterName}/checkSystemServicesUpdatesAvailable"); - _endpoints[1809] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.MachineLearningCompute/operationalizationClusters/{clusterName}/checkUpdate"); - _endpoints[1810] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.MachineLearningCompute/operationalizationClusters/{clusterName}/listKeys"); - _endpoints[1811] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.MachineLearningCompute/operationalizationClusters/{clusterName}/updateSystem"); - _endpoints[1812] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.MachineLearningCompute/operationalizationClusters/{clusterName}/updateSystemServices"); - _endpoints[1813] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.MachineLearningExperimentation/accounts/{accountName}/workspaces"); - _endpoints[1814] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.MachineLearningServices/workspaces/{workspaceName}/listKeys"); - _endpoints[1815] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.MachineLearningServices/workspaces/{workspaceName}/resyncKeys"); - _endpoints[1816] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Maps/accounts/{accountName}/listKeys"); - _endpoints[1817] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Maps/accounts/{accountName}/regenerateKey"); - _endpoints[1818] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Media/mediaServices/{accountName}/assets"); - _endpoints[1819] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Media/mediaServices/{accountName}/contentKeyPolicies"); - _endpoints[1820] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Media/mediaservices/{accountName}/liveEvents"); - _endpoints[1821] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Media/mediaservices/{accountName}/streamingEndpoints"); - _endpoints[1822] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Media/mediaServices/{accountName}/streamingLocators"); - _endpoints[1823] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Media/mediaServices/{accountName}/streamingPolicies"); - _endpoints[1824] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Media/mediaServices/{accountName}/transforms"); - _endpoints[1825] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Media/mediaservices/{mediaServiceName}/listKeys"); - _endpoints[1826] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Media/mediaservices/{mediaServiceName}/regenerateKey"); - _endpoints[1827] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Media/mediaservices/{mediaServiceName}/syncStorageKeys"); - _endpoints[1828] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Migrate/projects/{projectName}/assessments"); - _endpoints[1829] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Migrate/projects/{projectName}/groups"); - _endpoints[1830] = CreateEndpoint("/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.Migrate/projects/{projectName}/keys"); - _endpoints[1831] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Migrate/projects/{projectName}/machines"); - _endpoints[1832] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/applicationGateways/{applicationGatewayName}/backendhealth"); - _endpoints[1833] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/applicationGateways/{applicationGatewayName}/start"); - _endpoints[1834] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/applicationGateways/{applicationGatewayName}/stop"); - _endpoints[1835] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/connections/{virtualNetworkGatewayConnectionName}/sharedkey"); - _endpoints[1836] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/connections/{virtualNetworkGatewayConnectionName}/vpndeviceconfigurationscript"); - _endpoints[1837] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/dnsZones/{zoneName}/all"); - _endpoints[1838] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/dnsZones/{zoneName}/recordsets"); - _endpoints[1839] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/expressRouteCircuits/{circuitName}/arpTable"); - _endpoints[1840] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/expressRouteCircuits/{circuitName}/authorizations"); - _endpoints[1841] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/expressRouteCircuits/{circuitName}/peerings"); - _endpoints[1842] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/expressRouteCircuits/{circuitName}/routesTable"); - _endpoints[1843] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/expressRouteCircuits/{circuitName}/stats"); - _endpoints[1844] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/expressRouteCrossConnections/{crossConnectionName}/peerings"); - _endpoints[1845] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/loadBalancers/{loadBalancerName}/backendAddressPools"); - _endpoints[1846] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/loadBalancers/{loadBalancerName}/frontendIPConfigurations"); - _endpoints[1847] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/loadBalancers/{loadBalancerName}/inboundNatRules"); - _endpoints[1848] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/loadBalancers/{loadBalancerName}/loadBalancingRules"); - _endpoints[1849] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/loadBalancers/{loadBalancerName}/networkInterfaces"); - _endpoints[1850] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/loadBalancers/{loadBalancerName}/probes"); - _endpoints[1851] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkInterfaces/{networkInterfaceName}/effectiveNetworkSecurityGroups"); - _endpoints[1852] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkInterfaces/{networkInterfaceName}/effectiveRouteTable"); - _endpoints[1853] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkInterfaces/{networkInterfaceName}/ipConfigurations"); - _endpoints[1854] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkInterfaces/{networkInterfaceName}/loadBalancers"); - _endpoints[1855] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkSecurityGroups/{networkSecurityGroupName}/defaultSecurityRules"); - _endpoints[1856] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkSecurityGroups/{networkSecurityGroupName}/securityRules"); - _endpoints[1857] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkWatchers/{networkWatcherName}/availableProvidersList"); - _endpoints[1858] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkWatchers/{networkWatcherName}/azureReachabilityReport"); - _endpoints[1859] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkWatchers/{networkWatcherName}/configureFlowLog"); - _endpoints[1860] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkWatchers/{networkWatcherName}/connectionMonitors"); - _endpoints[1861] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkWatchers/{networkWatcherName}/connectivityCheck"); - _endpoints[1862] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkWatchers/{networkWatcherName}/ipFlowVerify"); - _endpoints[1863] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkWatchers/{networkWatcherName}/nextHop"); - _endpoints[1864] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkWatchers/{networkWatcherName}/packetCaptures"); - _endpoints[1865] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkWatchers/{networkWatcherName}/queryFlowLogStatus"); - _endpoints[1866] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkWatchers/{networkWatcherName}/queryTroubleshootResult"); - _endpoints[1867] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkWatchers/{networkWatcherName}/securityGroupView"); - _endpoints[1868] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkWatchers/{networkWatcherName}/topology"); - _endpoints[1869] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkWatchers/{networkWatcherName}/troubleshoot"); - _endpoints[1870] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/routeFilters/{routeFilterName}/routeFilterRules"); - _endpoints[1871] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/routeTables/{routeTableName}/routes"); - _endpoints[1872] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworkGateways/{virtualNetworkGatewayName}/connections"); - _endpoints[1873] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworkGateways/{virtualNetworkGatewayName}/generatevpnclientpackage"); - _endpoints[1874] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworkGateways/{virtualNetworkGatewayName}/generatevpnprofile"); - _endpoints[1875] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworkGateways/{virtualNetworkGatewayName}/getAdvertisedRoutes"); - _endpoints[1876] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworkGateways/{virtualNetworkGatewayName}/getBgpPeerStatus"); - _endpoints[1877] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworkGateways/{virtualNetworkGatewayName}/getLearnedRoutes"); - _endpoints[1878] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworkGateways/{virtualNetworkGatewayName}/getvpnclientipsecparameters"); - _endpoints[1879] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworkGateways/{virtualNetworkGatewayName}/getvpnprofilepackageurl"); - _endpoints[1880] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworkGateways/{virtualNetworkGatewayName}/reset"); - _endpoints[1881] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworkGateways/{virtualNetworkGatewayName}/setvpnclientipsecparameters"); - _endpoints[1882] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworkGateways/{virtualNetworkGatewayName}/supportedvpndevices"); - _endpoints[1883] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworks/{virtualNetworkName}/CheckIPAddressAvailability"); - _endpoints[1884] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworks/{virtualNetworkName}/subnets"); - _endpoints[1885] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworks/{virtualNetworkName}/usages"); - _endpoints[1886] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworks/{virtualNetworkName}/virtualNetworkPeerings"); - _endpoints[1887] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.NotificationHubs/namespaces/{namespaceName}/AuthorizationRules"); - _endpoints[1888] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.NotificationHubs/namespaces/{namespaceName}/checkNotificationHubAvailability"); - _endpoints[1889] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.NotificationHubs/namespaces/{namespaceName}/notificationHubs"); - _endpoints[1890] = CreateEndpoint("/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.OperationalInsights/workspaces/{workspaceName}/dataSources"); - _endpoints[1891] = CreateEndpoint("/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.OperationalInsights/workspaces/{workspaceName}/intelligencePacks"); - _endpoints[1892] = CreateEndpoint("/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.OperationalInsights/workspaces/{workspaceName}/linkedServices"); - _endpoints[1893] = CreateEndpoint("/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.OperationalInsights/workspaces/{workspaceName}/managementGroups"); - _endpoints[1894] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.OperationalInsights/workspaces/{workspaceName}/purge"); - _endpoints[1895] = CreateEndpoint("/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.OperationalInsights/workspaces/{workspaceName}/savedSearches"); - _endpoints[1896] = CreateEndpoint("/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.OperationalInsights/workspaces/{workspaceName}/schema"); - _endpoints[1897] = CreateEndpoint("/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.OperationalInsights/workspaces/{workspaceName}/search"); - _endpoints[1898] = CreateEndpoint("/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.OperationalInsights/workspaces/{workspaceName}/sharedKeys"); - _endpoints[1899] = CreateEndpoint("/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.OperationalInsights/workspaces/{workspaceName}/storageInsightConfigs"); - _endpoints[1900] = CreateEndpoint("/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.OperationalInsights/workspaces/{workspaceName}/usages"); - _endpoints[1901] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.PolicyInsights/policyEvents/{policyEventsResource}/queryResults"); - _endpoints[1902] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.PolicyInsights/policyStates/{policyStatesResource}/queryResults"); - _endpoints[1903] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.PolicyInsights/policyStates/{policyStatesSummaryResource}/summarize"); - _endpoints[1904] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.PowerBI/workspaceCollections/{workspaceCollectionName}/listKeys"); - _endpoints[1905] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.PowerBI/workspaceCollections/{workspaceCollectionName}/regenerateKey"); - _endpoints[1906] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.PowerBI/workspaceCollections/{workspaceCollectionName}/workspaces"); - _endpoints[1907] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.PowerBIDedicated/capacities/{dedicatedCapacityName}/resume"); - _endpoints[1908] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.PowerBIDedicated/capacities/{dedicatedCapacityName}/skus"); - _endpoints[1909] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.PowerBIDedicated/capacities/{dedicatedCapacityName}/suspend"); - _endpoints[1910] = CreateEndpoint("/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationAlertSettings"); - _endpoints[1911] = CreateEndpoint("/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationEvents"); - _endpoints[1912] = CreateEndpoint("/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationFabrics"); - _endpoints[1913] = CreateEndpoint("/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationJobs"); - _endpoints[1914] = CreateEndpoint("/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationNetworkMappings"); - _endpoints[1915] = CreateEndpoint("/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationNetworks"); - _endpoints[1916] = CreateEndpoint("/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationPolicies"); - _endpoints[1917] = CreateEndpoint("/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationProtectedItems"); - _endpoints[1918] = CreateEndpoint("/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationProtectionContainerMappings"); - _endpoints[1919] = CreateEndpoint("/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationProtectionContainers"); - _endpoints[1920] = CreateEndpoint("/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationRecoveryPlans"); - _endpoints[1921] = CreateEndpoint("/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationRecoveryServicesProviders"); - _endpoints[1922] = CreateEndpoint("/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationStorageClassificationMappings"); - _endpoints[1923] = CreateEndpoint("/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationStorageClassifications"); - _endpoints[1924] = CreateEndpoint("/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationVaultHealth"); - _endpoints[1925] = CreateEndpoint("/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationvCenters"); - _endpoints[1926] = CreateEndpoint("/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupEngines"); - _endpoints[1927] = CreateEndpoint("/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupJobs"); - _endpoints[1928] = CreateEndpoint("/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupJobsExport"); - _endpoints[1929] = CreateEndpoint("/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupPolicies"); - _endpoints[1930] = CreateEndpoint("/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupProtectableItems"); - _endpoints[1931] = CreateEndpoint("/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupProtectedItems"); - _endpoints[1932] = CreateEndpoint("/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupProtectionContainers"); - _endpoints[1933] = CreateEndpoint("/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupSecurityPIN"); - _endpoints[1934] = CreateEndpoint("/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupUsageSummaries"); - _endpoints[1935] = CreateEndpoint("/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/replicationUsages"); - _endpoints[1936] = CreateEndpoint("/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/usages"); - _endpoints[1937] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Relay/namespaces/{namespaceName}/authorizationRules"); - _endpoints[1938] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Relay/namespaces/{namespaceName}/hybridConnections"); - _endpoints[1939] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Relay/namespaces/{namespaceName}/wcfRelays"); - _endpoints[1940] = CreateEndpoint("/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.Resources/deployments/{deploymentName}/cancel"); - _endpoints[1941] = CreateEndpoint("/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.Resources/deployments/{deploymentName}/exportTemplate"); - _endpoints[1942] = CreateEndpoint("/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.Resources/deployments/{deploymentName}/validate"); - _endpoints[1943] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Scheduler/jobCollections/{jobCollectionName}/disable"); - _endpoints[1944] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Scheduler/jobCollections/{jobCollectionName}/enable"); - _endpoints[1945] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Scheduler/jobCollections/{jobCollectionName}/jobs"); - _endpoints[1946] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Search/searchServices/{searchServiceName}/listAdminKeys"); - _endpoints[1947] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Search/searchServices/{searchServiceName}/listQueryKeys"); - _endpoints[1948] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Security/locations/{ascLocation}/alerts"); - _endpoints[1949] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Security/locations/{ascLocation}/jitNetworkAccessPolicies"); - _endpoints[1950] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Security/locations/{ascLocation}/tasks"); - _endpoints[1951] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ServerManagement/gateways/{gatewayName}/profile"); - _endpoints[1952] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ServerManagement/gateways/{gatewayName}/regenerateprofile"); - _endpoints[1953] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ServerManagement/gateways/{gatewayName}/upgradetolatest"); - _endpoints[1954] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ServiceBus/namespaces/{namespaceName}/AuthorizationRules"); - _endpoints[1955] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ServiceBus/namespaces/{namespaceName}/disasterRecoveryConfigs"); - _endpoints[1956] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ServiceBus/namespaces/{namespaceName}/eventhubs"); - _endpoints[1957] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ServiceBus/namespaces/{namespaceName}/messagingplan"); - _endpoints[1958] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ServiceBus/namespaces/{namespaceName}/migrationConfigurations"); - _endpoints[1959] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ServiceBus/namespaces/{namespaceName}/queues"); - _endpoints[1960] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ServiceBus/namespaces/{namespaceName}/topics"); - _endpoints[1961] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ServiceFabric/clusters/{clusterName}/applications"); - _endpoints[1962] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ServiceFabric/clusters/{clusterName}/applicationTypes"); - _endpoints[1963] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.SignalRService/SignalR/{resourceName}/listKeys"); - _endpoints[1964] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.SignalRService/SignalR/{resourceName}/regenerateKey"); - _endpoints[1965] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/locations/{locationName}/instanceFailoverGroups"); - _endpoints[1966] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/managedInstances/{managedInstanceName}/databases"); - _endpoints[1967] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/administrators"); - _endpoints[1968] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/advisors"); - _endpoints[1969] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/auditingPolicies"); - _endpoints[1970] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/backupLongTermRetentionVaults"); - _endpoints[1971] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/communicationLinks"); - _endpoints[1972] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/databases"); - _endpoints[1973] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/disasterRecoveryConfiguration"); - _endpoints[1974] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/dnsAliases"); - _endpoints[1975] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/elasticPools"); - _endpoints[1976] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/encryptionProtector"); - _endpoints[1977] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/failoverGroups"); - _endpoints[1978] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/firewallRules"); - _endpoints[1979] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/import"); - _endpoints[1980] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/jobAgents"); - _endpoints[1981] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/keys"); - _endpoints[1982] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/recommendedElasticPools"); - _endpoints[1983] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/recoverableDatabases"); - _endpoints[1984] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/restorableDroppedDatabases"); - _endpoints[1985] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/serviceObjectives"); - _endpoints[1986] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/syncAgents"); - _endpoints[1987] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/usages"); - _endpoints[1988] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/virtualNetworkRules"); - _endpoints[1989] = CreateEndpoint("/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.Storage.Admin/farms/{farmId}/acquisitions"); - _endpoints[1990] = CreateEndpoint("/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.Storage.Admin/farms/{farmId}/metricdefinitions"); - _endpoints[1991] = CreateEndpoint("/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.Storage.Admin/farms/{farmId}/metrics"); - _endpoints[1992] = CreateEndpoint("/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.Storage.Admin/farms/{farmId}/ondemandgc"); - _endpoints[1993] = CreateEndpoint("/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.Storage.Admin/farms/{farmId}/shares"); - _endpoints[1994] = CreateEndpoint("/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.Storage.Admin/farms/{farmId}/storageaccounts"); - _endpoints[1995] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Storage/storageAccounts/{accountName}/ListAccountSas"); - _endpoints[1996] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Storage/storageAccounts/{accountName}/listKeys"); - _endpoints[1997] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Storage/storageAccounts/{accountName}/ListServiceSas"); - _endpoints[1998] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Storage/storageAccounts/{accountName}/regenerateKey"); - _endpoints[1999] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.StorSimple/managers/{managerName}/accessControlRecords"); - _endpoints[2000] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.StorSimple/managers/{managerName}/alerts"); - _endpoints[2001] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.StorSimple/managers/{managerName}/bandwidthSettings"); - _endpoints[2002] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.StorSimple/managers/{managerName}/clearAlerts"); - _endpoints[2003] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.StorSimple/managers/{managerName}/cloudApplianceConfigurations"); - _endpoints[2004] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.StorSimple/managers/{managerName}/configureDevice"); - _endpoints[2005] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.StorSimple/managers/{managerName}/devices"); - _endpoints[2006] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.StorSimple/managers/{managerName}/features"); - _endpoints[2007] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.StorSimple/managers/{managerName}/jobs"); - _endpoints[2008] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.StorSimple/managers/{managerName}/listActivationKey"); - _endpoints[2009] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.StorSimple/managers/{managerName}/listPublicEncryptionKey"); - _endpoints[2010] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.StorSimple/managers/{managerName}/metrics"); - _endpoints[2011] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.StorSimple/managers/{managerName}/metricsDefinitions"); - _endpoints[2012] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.StorSimple/managers/{managerName}/provisionCloudAppliance"); - _endpoints[2013] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.StorSimple/managers/{managerName}/regenerateActivationKey"); - _endpoints[2014] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.StorSimple/managers/{managerName}/storageAccountCredentials"); - _endpoints[2015] = CreateEndpoint("/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.StreamAnalytics/streamingjobs/{jobName}/functions"); - _endpoints[2016] = CreateEndpoint("/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.StreamAnalytics/streamingjobs/{jobName}/inputs"); - _endpoints[2017] = CreateEndpoint("/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.StreamAnalytics/streamingjobs/{jobName}/outputs"); - _endpoints[2018] = CreateEndpoint("/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.StreamAnalytics/streamingjobs/{jobName}/start"); - _endpoints[2019] = CreateEndpoint("/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.StreamAnalytics/streamingjobs/{jobName}/stop"); - _endpoints[2020] = CreateEndpoint("/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.Subscriptions.Admin/offers/{offer}/link"); - _endpoints[2021] = CreateEndpoint("/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.Subscriptions.Admin/offers/{offer}/MetricDefinitions"); - _endpoints[2022] = CreateEndpoint("/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.Subscriptions.Admin/offers/{offer}/Metrics"); - _endpoints[2023] = CreateEndpoint("/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.Subscriptions.Admin/offers/{offer}/offerDelegations"); - _endpoints[2024] = CreateEndpoint("/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.Subscriptions.Admin/offers/{offer}/unlink"); - _endpoints[2025] = CreateEndpoint("/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.Subscriptions.Admin/plans/{plan}/MetricDefinitions"); - _endpoints[2026] = CreateEndpoint("/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.Subscriptions.Admin/plans/{plan}/Metrics"); - _endpoints[2027] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.TimeSeriesInsights/environments/{environmentName}/accessPolicies"); - _endpoints[2028] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.TimeSeriesInsights/environments/{environmentName}/eventSources"); - _endpoints[2029] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.TimeSeriesInsights/environments/{environmentName}/referenceDataSets"); - _endpoints[2030] = CreateEndpoint("/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.Update.Admin/updateLocations/{updateLocation}/updates"); - _endpoints[2031] = CreateEndpoint("/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/microsoft.visualstudio/account/{accountResourceName}/extension"); - _endpoints[2032] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/microsoft.visualstudio/account/{rootResourceName}/project"); - _endpoints[2033] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web.Admin/environments/{environmentName}/usage"); - _endpoints[2034] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/connections/{connectionName}/confirmConsentCode"); - _endpoints[2035] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/connections/{connectionName}/listConnectionKeys"); - _endpoints[2036] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/connections/{connectionName}/listConsentLinks"); - _endpoints[2037] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/customApis/{apiName}/move"); - _endpoints[2038] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/hostingEnvironments/{name}/changeVirtualNetwork"); - _endpoints[2039] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/hostingEnvironments/{name}/detectors"); - _endpoints[2040] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/hostingEnvironments/{name}/diagnostics"); - _endpoints[2041] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/hostingEnvironments/{name}/metricdefinitions"); - _endpoints[2042] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/hostingEnvironments/{name}/metrics"); - _endpoints[2043] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/hostingEnvironments/{name}/multiRolePools"); - _endpoints[2044] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/hostingEnvironments/{name}/operations"); - _endpoints[2045] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/hostingEnvironments/{name}/reboot"); - _endpoints[2046] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/hostingEnvironments/{name}/resume"); - _endpoints[2047] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/hostingEnvironments/{name}/serverfarms"); - _endpoints[2048] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/hostingEnvironments/{name}/sites"); - _endpoints[2049] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/hostingEnvironments/{name}/suspend"); - _endpoints[2050] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/hostingEnvironments/{name}/syncVirtualNetwork"); - _endpoints[2051] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/hostingEnvironments/{name}/usages"); - _endpoints[2052] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/hostingEnvironments/{name}/webhostingplans"); - _endpoints[2053] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/hostingEnvironments/{name}/workerPools"); - _endpoints[2054] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/managedHostingEnvironments/{name}/serverfarms"); - _endpoints[2055] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/managedHostingEnvironments/{name}/sites"); - _endpoints[2056] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/managedHostingEnvironments/{name}/webhostingplans"); - _endpoints[2057] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/serverfarms/{name}/capabilities"); - _endpoints[2058] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/serverfarms/{name}/hybridConnectionRelays"); - _endpoints[2059] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/serverfarms/{name}/metricdefinitions"); - _endpoints[2060] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/serverfarms/{name}/metrics"); - _endpoints[2061] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/serverfarms/{name}/restartSites"); - _endpoints[2062] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/serverfarms/{name}/sites"); - _endpoints[2063] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/serverfarms/{name}/skus"); - _endpoints[2064] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/serverfarms/{name}/usages"); - _endpoints[2065] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/serverfarms/{name}/virtualNetworkConnections"); - _endpoints[2066] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/analyzeCustomHostname"); - _endpoints[2067] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/applySlotConfig"); - _endpoints[2068] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/backup"); - _endpoints[2069] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/backups"); - _endpoints[2070] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/config"); - _endpoints[2071] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/containerlogs"); - _endpoints[2072] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/continuouswebjobs"); - _endpoints[2073] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/deployments"); - _endpoints[2074] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/domainOwnershipIdentifiers"); - _endpoints[2075] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/functions"); - _endpoints[2076] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/hostNameBindings"); - _endpoints[2077] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/hybridconnection"); - _endpoints[2078] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/hybridConnectionRelays"); - _endpoints[2079] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/instances"); - _endpoints[2080] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/iscloneable"); - _endpoints[2081] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/listsyncfunctiontriggerstatus"); - _endpoints[2082] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/metricdefinitions"); - _endpoints[2083] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/metrics"); - _endpoints[2084] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/migrate"); - _endpoints[2085] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/migratemysql"); - _endpoints[2086] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/newpassword"); - _endpoints[2087] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/perfcounters"); - _endpoints[2088] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/phplogging"); - _endpoints[2089] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/premieraddons"); - _endpoints[2090] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/processes"); - _endpoints[2091] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/publicCertificates"); - _endpoints[2092] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/publishxml"); - _endpoints[2093] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/recover"); - _endpoints[2094] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/resetSlotConfig"); - _endpoints[2095] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/resourceHealthMetadata"); - _endpoints[2096] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/restart"); - _endpoints[2097] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/restoreFromBackupBlob"); - _endpoints[2098] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/restoreFromDeletedApp"); - _endpoints[2099] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/restoreSnapshot"); - _endpoints[2100] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/siteextensions"); - _endpoints[2101] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots"); - _endpoints[2102] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slotsdiffs"); - _endpoints[2103] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slotsswap"); - _endpoints[2104] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/snapshots"); - _endpoints[2105] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/start"); - _endpoints[2106] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/stop"); - _endpoints[2107] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/sync"); - _endpoints[2108] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/syncfunctiontriggers"); - _endpoints[2109] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/triggeredwebjobs"); - _endpoints[2110] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/usages"); - _endpoints[2111] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/virtualNetworkConnections"); - _endpoints[2112] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/webjobs"); - _endpoints[2113] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{siteName}/detectors"); - _endpoints[2114] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{siteName}/diagnostics"); - _endpoints[2115] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{siteName}/recommendationHistory"); - _endpoints[2116] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{siteName}/recommendations"); - _endpoints[2117] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/portalsettings/delegation"); - _endpoints[2118] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/portalsettings/signin"); - _endpoints[2119] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/portalsettings/signup"); - _endpoints[2120] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/reports/byApi"); - _endpoints[2121] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/reports/byGeo"); - _endpoints[2122] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/reports/byOperation"); - _endpoints[2123] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/reports/byProduct"); - _endpoints[2124] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/reports/byRequest"); - _endpoints[2125] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/reports/bySubscription"); - _endpoints[2126] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/reports/byTime"); - _endpoints[2127] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/reports/byUser"); - _endpoints[2128] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/tenant/access"); - _endpoints[2129] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/tenant/policy"); - _endpoints[2130] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Automation/automationAccounts/{automationAccountName}/agentRegistrationInformation/regenerateKey"); - _endpoints[2131] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Automation/automationAccounts/{automationAccountName}/webhooks/generateUri"); - _endpoints[2132] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Cache/Redis/{name}/patchSchedules/default"); - _endpoints[2133] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/virtualMachineScaleSets/{vmScaleSetName}/rollingUpgrades/cancel"); - _endpoints[2134] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/virtualMachineScaleSets/{vmScaleSetName}/rollingUpgrades/latest"); - _endpoints[2135] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}/upgradeProfiles/default"); - _endpoints[2136] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.CustomerInsights/hubs/{hubName}/images/getDataImageUploadUrl"); - _endpoints[2137] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.CustomerInsights/hubs/{hubName}/images/getEntityTypeImageUploadUrl"); - _endpoints[2138] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/percentile/metrics"); - _endpoints[2139] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.EventHub/clusters/{clusterName}/quotaConfiguration/default"); - _endpoints[2140] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.EventHub/namespaces/{namespaceName}/disasterRecoveryConfigs/CheckNameAvailability"); - _endpoints[2141] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.HDInsight/clusters/{clusterName}/extensions/clustermonitoring"); - _endpoints[2142] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/microsoft.insights/components/{resourceName}/pricingPlans/current"); - _endpoints[2143] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/connections/{virtualNetworkGatewayConnectionName}/sharedkey/reset"); - _endpoints[2144] = CreateEndpoint("/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationJobs/export"); - _endpoints[2145] = CreateEndpoint("/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupconfig/vaultconfig"); - _endpoints[2146] = CreateEndpoint("/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupstorageconfig/vaultstorageconfig"); - _endpoints[2147] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/extendedInformation/vaultExtendedInfo"); - _endpoints[2148] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ServiceBus/namespaces/{namespaceName}/disasterRecoveryConfigs/CheckNameAvailability"); - _endpoints[2149] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/automaticTuning/current"); - _endpoints[2150] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.StorSimple/managers/{managerName}/encryptionSettings/default"); - _endpoints[2151] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.StorSimple/managers/{managerName}/extendedInformation/vaultExtendedInfo"); - _endpoints[2152] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/hostingEnvironments/{name}/capacities/compute"); - _endpoints[2153] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/hostingEnvironments/{name}/capacities/virtualip"); - _endpoints[2154] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/hostingEnvironments/{name}/multiRolePools/default"); - _endpoints[2155] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/managedHostingEnvironments/{name}/capacities/virtualip"); - _endpoints[2156] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/serverfarms/{name}/hybridConnectionPlanLimits/limit"); - _endpoints[2157] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/backups/discover"); - _endpoints[2158] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/config/appsettings"); - _endpoints[2159] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/config/authsettings"); - _endpoints[2160] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/config/backup"); - _endpoints[2161] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/config/connectionstrings"); - _endpoints[2162] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/config/logs"); - _endpoints[2163] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/config/metadata"); - _endpoints[2164] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/config/pushsettings"); - _endpoints[2165] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/config/slotConfigNames"); - _endpoints[2166] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/config/web"); - _endpoints[2167] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/extensions/MSDeploy"); - _endpoints[2168] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/migratemysql/status"); - _endpoints[2169] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/networkTrace/start"); - _endpoints[2170] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/networkTrace/stop"); - _endpoints[2171] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/privateAccess/virtualNetworks"); - _endpoints[2172] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/resourceHealthMetadata/default"); - _endpoints[2173] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/sourcecontrols/web"); - _endpoints[2174] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{siteName}/recommendations/disable"); - _endpoints[2175] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{siteName}/recommendations/reset"); - _endpoints[2176] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/tenant/access/git"); - _endpoints[2177] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/tenant/access/regeneratePrimaryKey"); - _endpoints[2178] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/tenant/access/regenerateSecondaryKey"); - _endpoints[2179] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/tenant/configuration/deploy"); - _endpoints[2180] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/tenant/configuration/save"); - _endpoints[2181] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/tenant/configuration/syncState"); - _endpoints[2182] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/tenant/configuration/validate"); - _endpoints[2183] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Devices/IotHubs/{iotHubName}/routing/routes/$testall"); - _endpoints[2184] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Devices/IotHubs/{iotHubName}/routing/routes/$testnew"); - _endpoints[2185] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.OperationalInsights/workspaces/{workspaceName}/features/serviceMap/generateMap"); - _endpoints[2186] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.OperationalInsights/workspaces/{workspaceName}/features/serviceMap/machineGroups"); - _endpoints[2187] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.OperationalInsights/workspaces/{workspaceName}/features/serviceMap/machines"); - _endpoints[2188] = CreateEndpoint("/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationVaultHealth/default/refresh"); - _endpoints[2189] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Storage/storageAccounts/{accountName}/blobServices/default/containers"); - _endpoints[2190] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/hostingEnvironments/{name}/multiRolePools/default/metricdefinitions"); - _endpoints[2191] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/hostingEnvironments/{name}/multiRolePools/default/metrics"); - _endpoints[2192] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/hostingEnvironments/{name}/multiRolePools/default/skus"); - _endpoints[2193] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/hostingEnvironments/{name}/multiRolePools/default/usages"); - _endpoints[2194] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/config/appsettings/list"); - _endpoints[2195] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/config/authsettings/list"); - _endpoints[2196] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/config/backup/list"); - _endpoints[2197] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/config/connectionstrings/list"); - _endpoints[2198] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/config/metadata/list"); - _endpoints[2199] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/config/publishingcredentials/list"); - _endpoints[2200] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/config/pushsettings/list"); - _endpoints[2201] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/config/web/snapshots"); - _endpoints[2202] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/containerlogs/zip/download"); - _endpoints[2203] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/extensions/MSDeploy/log"); - _endpoints[2204] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/functions/admin/token"); - _endpoints[2205] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/tenant/access/git/regeneratePrimaryKey"); - _endpoints[2206] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/tenant/access/git/regenerateSecondaryKey"); - _endpoints[2207] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.OperationalInsights/workspaces/{workspaceName}/features/serviceMap/summaries/machines"); - _endpoints[2208] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.OperationalInsights/workspaces/{workspaceName}/features/serviceMap/clientGroups/{clientGroupName}"); - _endpoints[2209] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.OperationalInsights/workspaces/{workspaceName}/features/serviceMap/machineGroups/{machineGroupName}"); - _endpoints[2210] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.OperationalInsights/workspaces/{workspaceName}/features/serviceMap/machines/{machineName}"); - _endpoints[2211] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Storage/storageAccounts/{accountName}/blobServices/default/containers/{containerName}"); - _endpoints[2212] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/config/web/snapshots/{snapshotId}"); - _endpoints[2213] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.OperationalInsights/workspaces/{workspaceName}/features/serviceMap/clientGroups/{clientGroupName}/members"); - _endpoints[2214] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.OperationalInsights/workspaces/{workspaceName}/features/serviceMap/clientGroups/{clientGroupName}/membersCount"); - _endpoints[2215] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.OperationalInsights/workspaces/{workspaceName}/features/serviceMap/machines/{machineName}/connections"); - _endpoints[2216] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.OperationalInsights/workspaces/{workspaceName}/features/serviceMap/machines/{machineName}/liveness"); - _endpoints[2217] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.OperationalInsights/workspaces/{workspaceName}/features/serviceMap/machines/{machineName}/machineGroups"); - _endpoints[2218] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.OperationalInsights/workspaces/{workspaceName}/features/serviceMap/machines/{machineName}/ports"); - _endpoints[2219] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.OperationalInsights/workspaces/{workspaceName}/features/serviceMap/machines/{machineName}/processes"); - _endpoints[2220] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Storage/storageAccounts/{accountName}/blobServices/default/containers/{containerName}/clearLegalHold"); - _endpoints[2221] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Storage/storageAccounts/{accountName}/blobServices/default/containers/{containerName}/setLegalHold"); - _endpoints[2222] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/hostingEnvironments/{name}/multiRolePools/default/instances/{instance}/metricdefinitions"); - _endpoints[2223] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/hostingEnvironments/{name}/multiRolePools/default/instances/{instance}/metrics"); - _endpoints[2224] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/config/web/snapshots/{snapshotId}/recover"); - _endpoints[2225] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Storage/storageAccounts/{accountName}/blobServices/default/containers/{containerName}/immutabilityPolicies/default/extend"); - _endpoints[2226] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Storage/storageAccounts/{accountName}/blobServices/default/containers/{containerName}/immutabilityPolicies/default/lock"); - _endpoints[2227] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.OperationalInsights/workspaces/{workspaceName}/features/serviceMap/machines/{machineName}/ports/{portName}"); - _endpoints[2228] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.OperationalInsights/workspaces/{workspaceName}/features/serviceMap/machines/{machineName}/processes/{processName}"); - _endpoints[2229] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Storage/storageAccounts/{accountName}/blobServices/default/containers/{containerName}/immutabilityPolicies/{immutabilityPolicyName}"); - _endpoints[2230] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.OperationalInsights/workspaces/{workspaceName}/features/serviceMap/machines/{machineName}/ports/{portName}/acceptingProcesses"); - _endpoints[2231] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.OperationalInsights/workspaces/{workspaceName}/features/serviceMap/machines/{machineName}/ports/{portName}/connections"); - _endpoints[2232] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.OperationalInsights/workspaces/{workspaceName}/features/serviceMap/machines/{machineName}/ports/{portName}/liveness"); - _endpoints[2233] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.OperationalInsights/workspaces/{workspaceName}/features/serviceMap/machines/{machineName}/processes/{processName}/acceptingPorts"); - _endpoints[2234] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.OperationalInsights/workspaces/{workspaceName}/features/serviceMap/machines/{machineName}/processes/{processName}/connections"); - _endpoints[2235] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.OperationalInsights/workspaces/{workspaceName}/features/serviceMap/machines/{machineName}/processes/{processName}/liveness"); - _endpoints[2236] = CreateEndpoint("/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupJobs/operationResults/{operationId}"); - _endpoints[2237] = CreateEndpoint("/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.Storage.Admin/farms/{farmId}/shares/operationresults/{operationId}"); - _endpoints[2238] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroup/{resourceGroupName}/providers/Microsoft.MachineLearningServices/workspaces/{workspaceName}/computes/{computeName}"); - _endpoints[2239] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{groupName}/providers/Microsoft.DataMigration/services/{serviceName}/projects/{projectName}"); - _endpoints[2240] = CreateEndpoint("/subscriptions/{subscriptionId}/resourcegroups/{resourceGroup}/providers/Microsoft.AzureBridge.Admin/activations/{activationName}/downloadedProducts/{productName}"); - _endpoints[2241] = CreateEndpoint("/subscriptions/{subscriptionId}/resourcegroups/{resourceGroup}/providers/Microsoft.AzureBridge.Admin/activations/{activationName}/products/{productName}"); - _endpoints[2242] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroup}/providers/Microsoft.AzureStack/registrations/{registrationName}/customerSubscriptions/{customerSubscriptionName}"); - _endpoints[2243] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroup}/providers/Microsoft.AzureStack/registrations/{registrationName}/products/{productName}"); - _endpoints[2244] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/apis/{apiId}"); - _endpoints[2245] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/api-version-sets/{versionSetId}"); - _endpoints[2246] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/authorizationServers/{authsid}"); - _endpoints[2247] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/backends/{backendid}"); - _endpoints[2248] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/certificates/{certificateId}"); - _endpoints[2249] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/diagnostics/{diagnosticId}"); - _endpoints[2250] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/groups/{groupId}"); - _endpoints[2251] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/identityProviders/{identityProviderName}"); - _endpoints[2252] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/loggers/{loggerid}"); - _endpoints[2253] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/notifications/{notificationName}"); - _endpoints[2254] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/openidConnectProviders/{opid}"); - _endpoints[2255] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/policies/{policyId}"); - _endpoints[2256] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/products/{productId}"); - _endpoints[2257] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/properties/{propId}"); - _endpoints[2258] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/quotas/{quotaCounterKey}"); - _endpoints[2259] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/reports/{aggregation}"); - _endpoints[2260] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/subscriptions/{sid}"); - _endpoints[2261] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/tags/{tagId}"); - _endpoints[2262] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/templates/{templateName}"); - _endpoints[2263] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/tenant/{accessName}"); - _endpoints[2264] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/users/{uid}"); - _endpoints[2265] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Automation/automationAccounts/{automationAccountName}/certificates/{certificateName}"); - _endpoints[2266] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Automation/automationAccounts/{automationAccountName}/compilationjobs/{compilationJobName}"); - _endpoints[2267] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Automation/automationAccounts/{automationAccountName}/configurations/{configurationName}"); - _endpoints[2268] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Automation/automationAccounts/{automationAccountName}/connections/{connectionName}"); - _endpoints[2269] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Automation/automationAccounts/{automationAccountName}/connectionTypes/{connectionTypeName}"); - _endpoints[2270] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Automation/automationAccounts/{automationAccountName}/credentials/{credentialName}"); - _endpoints[2271] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Automation/automationAccounts/{automationAccountName}/hybridRunbookWorkerGroups/{hybridRunbookWorkerGroupName}"); - _endpoints[2272] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Automation/automationAccounts/{automationAccountName}/jobs/{jobId}"); - _endpoints[2273] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Automation/automationAccounts/{automationAccountName}/jobSchedules/{jobScheduleId}"); - _endpoints[2274] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Automation/automationAccounts/{automationAccountName}/modules/{moduleName}"); - _endpoints[2275] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Automation/automationAccounts/{automationAccountName}/nodeConfigurations/{nodeConfigurationName}"); - _endpoints[2276] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Automation/automationAccounts/{automationAccountName}/nodecounts/{countType}"); - _endpoints[2277] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Automation/automationAccounts/{automationAccountName}/nodes/{nodeId}"); - _endpoints[2278] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Automation/automationAccounts/{automationAccountName}/runbooks/{runbookName}"); - _endpoints[2279] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Automation/automationAccounts/{automationAccountName}/schedules/{scheduleName}"); - _endpoints[2280] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Automation/automationAccounts/{automationAccountName}/softwareUpdateConfigurationMachineRuns/{softwareUpdateConfigurationMachineRunId}"); - _endpoints[2281] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Automation/automationAccounts/{automationAccountName}/softwareUpdateConfigurationRuns/{softwareUpdateConfigurationRunId}"); - _endpoints[2282] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Automation/automationAccounts/{automationAccountName}/softwareUpdateConfigurations/{softwareUpdateConfigurationName}"); - _endpoints[2283] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Automation/automationAccounts/{automationAccountName}/sourceControls/{sourceControlName}"); - _endpoints[2284] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Automation/automationAccounts/{automationAccountName}/variables/{variableName}"); - _endpoints[2285] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Automation/automationAccounts/{automationAccountName}/watchers/{watcherName}"); - _endpoints[2286] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Automation/automationAccounts/{automationAccountName}/webhooks/{webhookName}"); - _endpoints[2287] = CreateEndpoint("/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.Backup.Admin/backupLocations/{location}/backups/{backup}"); - _endpoints[2288] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Batch/batchAccounts/{accountName}/applications/{applicationId}"); - _endpoints[2289] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Batch/batchAccounts/{accountName}/certificates/{certificateName}"); - _endpoints[2290] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Batch/batchAccounts/{accountName}/pools/{poolName}"); - _endpoints[2291] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.BatchAI/workspaces/{workspaceName}/clusters/{clusterName}"); - _endpoints[2292] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.BatchAI/workspaces/{workspaceName}/experiments/{experimentName}"); - _endpoints[2293] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.BatchAI/workspaces/{workspaceName}/fileServers/{fileServerName}"); - _endpoints[2294] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.BotService/botServices/{resourceName}/channels/{channelName}"); - _endpoints[2295] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.BotService/botServices/{resourceName}/Connections/{connectionName}"); - _endpoints[2296] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Cache/Redis/{cacheName}/firewallRules/{ruleName}"); - _endpoints[2297] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Cache/Redis/{name}/linkedServers/{linkedServerName}"); - _endpoints[2298] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Cache/Redis/{name}/patchSchedules/{default}"); - _endpoints[2299] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Cdn/profiles/{profileName}/endpoints/{endpointName}"); - _endpoints[2300] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.CertificateRegistration/certificateOrders/{certificateOrderName}/certificates/{name}"); - _endpoints[2301] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/galleries/{galleryName}/images/{galleryImageName}"); - _endpoints[2302] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/virtualMachines/{vmName}/extensions/{vmExtensionName}"); - _endpoints[2303] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/virtualMachineScaleSets/{vmScaleSetName}/extensions/{vmssExtensionName}"); - _endpoints[2304] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/virtualMachineScaleSets/{vmScaleSetName}/virtualmachines/{instanceId}"); - _endpoints[2305] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerRegistry/registries/{registryName}/builds/{buildId}"); - _endpoints[2306] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerRegistry/registries/{registryName}/buildTasks/{buildTaskName}"); - _endpoints[2307] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerRegistry/registries/{registryName}/replications/{replicationName}"); - _endpoints[2308] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerRegistry/registries/{registryName}/webhooks/{webhookName}"); - _endpoints[2309] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}/accessProfiles/{roleName}"); - _endpoints[2310] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.CustomerInsights/hubs/{hubName}/authorizationPolicies/{authorizationPolicyName}"); - _endpoints[2311] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.CustomerInsights/hubs/{hubName}/connectors/{connectorName}"); - _endpoints[2312] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.CustomerInsights/hubs/{hubName}/interactions/{interactionName}"); - _endpoints[2313] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.CustomerInsights/hubs/{hubName}/kpi/{kpiName}"); - _endpoints[2314] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.CustomerInsights/hubs/{hubName}/links/{linkName}"); - _endpoints[2315] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.CustomerInsights/hubs/{hubName}/predictions/{predictionName}"); - _endpoints[2316] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.CustomerInsights/hubs/{hubName}/profiles/{profileName}"); - _endpoints[2317] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.CustomerInsights/hubs/{hubName}/relationshipLinks/{relationshipLinkName}"); - _endpoints[2318] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.CustomerInsights/hubs/{hubName}/relationships/{relationshipName}"); - _endpoints[2319] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.CustomerInsights/hubs/{hubName}/roleAssignments/{assignmentName}"); - _endpoints[2320] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.CustomerInsights/hubs/{hubName}/views/{viewName}"); - _endpoints[2321] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.CustomerInsights/hubs/{hubName}/widgetTypes/{widgetTypeName}"); - _endpoints[2322] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataFactory/factories/{factoryName}/cancelpipelinerun/{runId}"); - _endpoints[2323] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataFactory/factories/{factoryName}/datasets/{datasetName}"); - _endpoints[2324] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataFactory/factories/{factoryName}/integrationRuntimes/{integrationRuntimeName}"); - _endpoints[2325] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataFactory/factories/{factoryName}/linkedservices/{linkedServiceName}"); - _endpoints[2326] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataFactory/factories/{factoryName}/pipelineruns/{runId}"); - _endpoints[2327] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataFactory/factories/{factoryName}/pipelines/{pipelineName}"); - _endpoints[2328] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataFactory/factories/{factoryName}/triggers/{triggerName}"); - _endpoints[2329] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataLakeAnalytics/accounts/{accountName}/computePolicies/{computePolicyName}"); - _endpoints[2330] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataLakeAnalytics/accounts/{accountName}/dataLakeStoreAccounts/{dataLakeStoreAccountName}"); - _endpoints[2331] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataLakeAnalytics/accounts/{accountName}/firewallRules/{firewallRuleName}"); - _endpoints[2332] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataLakeAnalytics/accounts/{accountName}/storageAccounts/{storageAccountName}"); - _endpoints[2333] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataLakeStore/accounts/{accountName}/firewallRules/{firewallRuleName}"); - _endpoints[2334] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataLakeStore/accounts/{accountName}/trustedIdProviders/{trustedIdProviderName}"); - _endpoints[2335] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataLakeStore/accounts/{accountName}/virtualNetworkRules/{virtualNetworkRuleName}"); - _endpoints[2336] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBforMySQL/servers/{serverName}/configurations/{configurationName}"); - _endpoints[2337] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBforMySQL/servers/{serverName}/databases/{databaseName}"); - _endpoints[2338] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBforMySQL/servers/{serverName}/firewallRules/{firewallRuleName}"); - _endpoints[2339] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBforMySQL/servers/{serverName}/virtualNetworkRules/{virtualNetworkRuleName}"); - _endpoints[2340] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBforPostgreSQL/servers/{serverName}/configurations/{configurationName}"); - _endpoints[2341] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBforPostgreSQL/servers/{serverName}/databases/{databaseName}"); - _endpoints[2342] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBforPostgreSQL/servers/{serverName}/firewallRules/{firewallRuleName}"); - _endpoints[2343] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBforPostgreSQL/servers/{serverName}/securityAlertPolicies/{securityAlertPolicyName}"); - _endpoints[2344] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBforPostgreSQL/servers/{serverName}/virtualNetworkRules/{virtualNetworkRuleName}"); - _endpoints[2345] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Devices/IotHubs/{resourceName}/certificates/{certificateName}"); - _endpoints[2346] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Devices/IotHubs/{resourceName}/jobs/{jobId}"); - _endpoints[2347] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Devices/provisioningServices/{provisioningServiceName}/certificates/{certificateName}"); - _endpoints[2348] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Devices/provisioningServices/{provisioningServiceName}/operationresults/{operationId}"); - _endpoints[2349] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DevTestLab/labs/{labName}/artifactsources/{name}"); - _endpoints[2350] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DevTestLab/labs/{labName}/costinsights/{name}"); - _endpoints[2351] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DevTestLab/labs/{labName}/costs/{name}"); - _endpoints[2352] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DevTestLab/labs/{labName}/customimages/{name}"); - _endpoints[2353] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DevTestLab/labs/{labName}/formulas/{name}"); - _endpoints[2354] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DevTestLab/labs/{labName}/notificationchannels/{name}"); - _endpoints[2355] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DevTestLab/labs/{labName}/schedules/{name}"); - _endpoints[2356] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DevTestLab/labs/{labName}/servicerunners/{name}"); - _endpoints[2357] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DevTestLab/labs/{labName}/users/{name}"); - _endpoints[2358] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DevTestLab/labs/{labName}/virtualmachines/{name}"); - _endpoints[2359] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DevTestLab/labs/{labName}/virtualnetworks/{name}"); - _endpoints[2360] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DomainRegistration/domains/{domainName}/domainOwnershipIdentifiers/{name}"); - _endpoints[2361] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DomainRegistration/domains/{domainName}/operationresults/{operationId}"); - _endpoints[2362] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.EventHub/namespaces/{namespaceName}/AuthorizationRules/{authorizationRuleName}"); - _endpoints[2363] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.EventHub/namespaces/{namespaceName}/disasterRecoveryConfigs/{alias}"); - _endpoints[2364] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.EventHub/namespaces/{namespaceName}/eventhubs/{eventHubName}"); - _endpoints[2365] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Fabric.Admin/fabricLocations/{location}/edgeGatewayPools/{edgeGatewayPool}"); - _endpoints[2366] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Fabric.Admin/fabricLocations/{location}/edgeGateways/{edgeGateway}"); - _endpoints[2367] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Fabric.Admin/fabricLocations/{location}/fileShares/{fileShare}"); - _endpoints[2368] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Fabric.Admin/fabricLocations/{location}/infraRoleInstances/{infraRoleInstance}"); - _endpoints[2369] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Fabric.Admin/fabricLocations/{location}/infraRoles/{infraRole}"); - _endpoints[2370] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Fabric.Admin/fabricLocations/{location}/ipPools/{ipPool}"); - _endpoints[2371] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Fabric.Admin/fabricLocations/{location}/logicalNetworks/{logicalNetwork}"); - _endpoints[2372] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Fabric.Admin/fabricLocations/{location}/macAddressPools/{macAddressPool}"); - _endpoints[2373] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Fabric.Admin/fabricLocations/{location}/scaleUnitNodes/{scaleUnitNode}"); - _endpoints[2374] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Fabric.Admin/fabricLocations/{location}/scaleUnits/{scaleUnit}"); - _endpoints[2375] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Fabric.Admin/fabricLocations/{location}/slbMuxInstances/{slbMuxInstance}"); - _endpoints[2376] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Fabric.Admin/fabricLocations/{location}/storageSubSystems/{storageSubSystem}"); - _endpoints[2377] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.HDInsight/clusters/{clusterName}/applications/{applicationName}"); - _endpoints[2378] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.HDInsight/clusters/{clusterName}/configurations/{configurationName}"); - _endpoints[2379] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.HDInsight/clusters/{clusterName}/extensions/{extensionName}"); - _endpoints[2380] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.HDInsight/clusters/{clusterName}/scriptActions/{scriptName}"); - _endpoints[2381] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.HDInsight/clusters/{clusterName}/scriptExecutionHistory/{scriptExecutionId}"); - _endpoints[2382] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.InfrastructureInsights.Admin/regionHealths/{location}/alerts/{alertName}"); - _endpoints[2383] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.InfrastructureInsights.Admin/regionHealths/{location}/serviceHealths/{serviceHealth}"); - _endpoints[2384] = CreateEndpoint("/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/microsoft.insights/alertrules/{ruleName}/incidents/{incidentName}"); - _endpoints[2385] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Insights/components/{resourceName}/Annotations/{annotationId}"); - _endpoints[2386] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Insights/components/{resourceName}/APIKeys/{keyId}"); - _endpoints[2387] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Insights/components/{resourceName}/exportconfiguration/{exportId}"); - _endpoints[2388] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Insights/components/{resourceName}/favorites/{favoriteId}"); - _endpoints[2389] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Insights/components/{resourceName}/ProactiveDetectionConfigs/{ConfigurationId}"); - _endpoints[2390] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Insights/components/{resourceName}/WorkItemConfigs/{workItemConfigId}"); - _endpoints[2391] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Insights/metricAlerts/{ruleName}/status/{statusName}"); - _endpoints[2392] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.KeyVault/vaults/{vaultName}/accessPolicies/{operationKind}"); - _endpoints[2393] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.KeyVault/vaults/{vaultName}/secrets/{secretName}"); - _endpoints[2394] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Logic/integrationAccounts/{integrationAccountName}/agreements/{agreementName}"); - _endpoints[2395] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Logic/integrationAccounts/{integrationAccountName}/assemblies/{assemblyArtifactName}"); - _endpoints[2396] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Logic/integrationAccounts/{integrationAccountName}/batchConfigurations/{batchConfigurationName}"); - _endpoints[2397] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Logic/integrationAccounts/{integrationAccountName}/certificates/{certificateName}"); - _endpoints[2398] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Logic/integrationAccounts/{integrationAccountName}/maps/{mapName}"); - _endpoints[2399] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Logic/integrationAccounts/{integrationAccountName}/partners/{partnerName}"); - _endpoints[2400] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Logic/integrationAccounts/{integrationAccountName}/schemas/{schemaName}"); - _endpoints[2401] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Logic/integrationAccounts/{integrationAccountName}/sessions/{sessionName}"); - _endpoints[2402] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Logic/workflows/{workflowName}/accessKeys/{accessKeyName}"); - _endpoints[2403] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Logic/workflows/{workflowName}/runs/{runName}"); - _endpoints[2404] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Logic/workflows/{workflowName}/triggers/{triggerName}"); - _endpoints[2405] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Logic/workflows/{workflowName}/versions/{versionId}"); - _endpoints[2406] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.MachineLearning/commitmentPlans/{commitmentPlanName}/commitmentAssociations/{commitmentAssociationName}"); - _endpoints[2407] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.MachineLearningExperimentation/accounts/{accountName}/workspaces/{workspaceName}"); - _endpoints[2408] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Media/mediaServices/{accountName}/assets/{assetName}"); - _endpoints[2409] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Media/mediaServices/{accountName}/contentKeyPolicies/{contentKeyPolicyName}"); - _endpoints[2410] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Media/mediaservices/{accountName}/liveEvents/{liveEventName}"); - _endpoints[2411] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Media/mediaservices/{accountName}/streamingEndpoints/{streamingEndpointName}"); - _endpoints[2412] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Media/mediaServices/{accountName}/streamingLocators/{streamingLocatorName}"); - _endpoints[2413] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Media/mediaServices/{accountName}/streamingPolicies/{streamingPolicyName}"); - _endpoints[2414] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Media/mediaServices/{accountName}/transforms/{transformName}"); - _endpoints[2415] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Migrate/projects/{projectName}/groups/{groupName}"); - _endpoints[2416] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Migrate/projects/{projectName}/machines/{machineName}"); - _endpoints[2417] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/expressRouteCircuits/{circuitName}/authorizations/{authorizationName}"); - _endpoints[2418] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/expressRouteCircuits/{circuitName}/peerings/{peeringName}"); - _endpoints[2419] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/expressRouteCrossConnections/{crossConnectionName}/peerings/{peeringName}"); - _endpoints[2420] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/loadBalancers/{loadBalancerName}/backendAddressPools/{backendAddressPoolName}"); - _endpoints[2421] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/loadBalancers/{loadBalancerName}/frontendIPConfigurations/{frontendIPConfigurationName}"); - _endpoints[2422] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/loadBalancers/{loadBalancerName}/inboundNatRules/{inboundNatRuleName}"); - _endpoints[2423] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/loadBalancers/{loadBalancerName}/loadBalancingRules/{loadBalancingRuleName}"); - _endpoints[2424] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/loadBalancers/{loadBalancerName}/probes/{probeName}"); - _endpoints[2425] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkInterfaces/{networkInterfaceName}/ipConfigurations/{ipConfigurationName}"); - _endpoints[2426] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkSecurityGroups/{networkSecurityGroupName}/defaultSecurityRules/{defaultSecurityRuleName}"); - _endpoints[2427] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkSecurityGroups/{networkSecurityGroupName}/securityRules/{securityRuleName}"); - _endpoints[2428] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkWatchers/{networkWatcherName}/connectionMonitors/{connectionMonitorName}"); - _endpoints[2429] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkWatchers/{networkWatcherName}/packetCaptures/{packetCaptureName}"); - _endpoints[2430] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/routeFilters/{routeFilterName}/routeFilterRules/{ruleName}"); - _endpoints[2431] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/routeTables/{routeTableName}/routes/{routeName}"); - _endpoints[2432] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/trafficmanagerprofiles/{profileName}/heatMaps/{heatMapType}"); - _endpoints[2433] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworks/{virtualNetworkName}/subnets/{subnetName}"); - _endpoints[2434] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworks/{virtualNetworkName}/virtualNetworkPeerings/{virtualNetworkPeeringName}"); - _endpoints[2435] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.NotificationHubs/namespaces/{namespaceName}/AuthorizationRules/{authorizationRuleName}"); - _endpoints[2436] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.NotificationHubs/namespaces/{namespaceName}/notificationHubs/{notificationHubName}"); - _endpoints[2437] = CreateEndpoint("/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.OperationalInsights/workspaces/{workspaceName}/dataSources/{dataSourceName}"); - _endpoints[2438] = CreateEndpoint("/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.OperationalInsights/workspaces/{workspaceName}/linkedServices/{linkedServiceName}"); - _endpoints[2439] = CreateEndpoint("/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.OperationalInsights/workspaces/{workspaceName}/savedSearches/{savedSearchName}"); - _endpoints[2440] = CreateEndpoint("/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.OperationalInsights/workspaces/{workspaceName}/search/{id}"); - _endpoints[2441] = CreateEndpoint("/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.OperationalInsights/workspaces/{workspaceName}/storageInsightConfigs/{storageInsightName}"); - _endpoints[2442] = CreateEndpoint("/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationAlertSettings/{alertSettingName}"); - _endpoints[2443] = CreateEndpoint("/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationEvents/{eventName}"); - _endpoints[2444] = CreateEndpoint("/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationFabrics/{fabricName}"); - _endpoints[2445] = CreateEndpoint("/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationJobs/{jobName}"); - _endpoints[2446] = CreateEndpoint("/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationPolicies/{policyName}"); - _endpoints[2447] = CreateEndpoint("/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationRecoveryPlans/{recoveryPlanName}"); - _endpoints[2448] = CreateEndpoint("/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupEngines/{backupEngineName}"); - _endpoints[2449] = CreateEndpoint("/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupJobs/{jobName}"); - _endpoints[2450] = CreateEndpoint("/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupOperationResults/{operationId}"); - _endpoints[2451] = CreateEndpoint("/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupOperations/{operationId}"); - _endpoints[2452] = CreateEndpoint("/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupPolicies/{policyName}"); - _endpoints[2453] = CreateEndpoint("/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/certificates/{certificateName}"); - _endpoints[2454] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/registeredIdentities/{identityName}"); - _endpoints[2455] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Relay/namespaces/{namespaceName}/authorizationRules/{authorizationRuleName}"); - _endpoints[2456] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Relay/namespaces/{namespaceName}/hybridConnections/{hybridConnectionName}"); - _endpoints[2457] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Relay/namespaces/{namespaceName}/wcfRelays/{relayName}"); - _endpoints[2458] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Scheduler/jobCollections/{jobCollectionName}/jobs/{jobName}"); - _endpoints[2459] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Search/searchServices/{searchServiceName}/createQueryKey/{name}"); - _endpoints[2460] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Search/searchServices/{searchServiceName}/deleteQueryKey/{key}"); - _endpoints[2461] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Search/searchServices/{searchServiceName}/regenerateAdminKey/{keyKind}"); - _endpoints[2462] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Security/locations/{ascLocation}/alerts/{alertName}"); - _endpoints[2463] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Security/locations/{ascLocation}/discoveredSecuritySolutions/{discoveredSecuritySolutionName}"); - _endpoints[2464] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Security/locations/{ascLocation}/ExternalSecuritySolutions/{externalSecuritySolutionsName}"); - _endpoints[2465] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Security/locations/{ascLocation}/jitNetworkAccessPolicies/{jitNetworkAccessPolicyName}"); - _endpoints[2466] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Security/locations/{ascLocation}/tasks/{taskName}"); - _endpoints[2467] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ServerManagement/nodes/{nodeName}/sessions/{session}"); - _endpoints[2468] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ServiceBus/namespaces/{namespaceName}/AuthorizationRules/{authorizationRuleName}"); - _endpoints[2469] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ServiceBus/namespaces/{namespaceName}/disasterRecoveryConfigs/{alias}"); - _endpoints[2470] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ServiceBus/namespaces/{namespaceName}/migrationConfigurations/{configName}"); - _endpoints[2471] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ServiceBus/namespaces/{namespaceName}/queues/{queueName}"); - _endpoints[2472] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ServiceBus/namespaces/{namespaceName}/topics/{topicName}"); - _endpoints[2473] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ServiceFabric/clusters/{clusterName}/applications/{applicationName}"); - _endpoints[2474] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ServiceFabric/clusters/{clusterName}/applicationTypes/{applicationTypeName}"); - _endpoints[2475] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/locations/{locationName}/instanceFailoverGroups/{failoverGroupName}"); - _endpoints[2476] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/managedInstances/{managedInstanceName}/databases/{databaseName}"); - _endpoints[2477] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/administrators/{administratorName}"); - _endpoints[2478] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/advisors/{advisorName}"); - _endpoints[2479] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/auditingPolicies/{tableAuditingPolicyName}"); - _endpoints[2480] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/backupLongTermRetentionVaults/{backupLongTermRetentionVaultName}"); - _endpoints[2481] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/communicationLinks/{communicationLinkName}"); - _endpoints[2482] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/connectionPolicies/{connectionPolicyName}"); - _endpoints[2483] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/databases/{databaseName}"); - _endpoints[2484] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/disasterRecoveryConfiguration/{disasterRecoveryConfigurationName}"); - _endpoints[2485] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/dnsAliases/{dnsAliasName}"); - _endpoints[2486] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/elasticPools/{elasticPoolName}"); - _endpoints[2487] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/encryptionProtector/{encryptionProtectorName}"); - _endpoints[2488] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/failoverGroups/{failoverGroupName}"); - _endpoints[2489] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/firewallRules/{firewallRuleName}"); - _endpoints[2490] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/jobAgents/{jobAgentName}"); - _endpoints[2491] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/keys/{keyName}"); - _endpoints[2492] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/recommendedElasticPools/{recommendedElasticPoolName}"); - _endpoints[2493] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/recoverableDatabases/{databaseName}"); - _endpoints[2494] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/restorableDroppedDatabases/{restorableDroppededDatabaseId}"); - _endpoints[2495] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/serviceObjectives/{serviceObjectiveName}"); - _endpoints[2496] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/syncAgents/{syncAgentName}"); - _endpoints[2497] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/virtualNetworkRules/{virtualNetworkRuleName}"); - _endpoints[2498] = CreateEndpoint("/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.Storage.Admin/farms/{farmId}/blobservices/{serviceType}"); - _endpoints[2499] = CreateEndpoint("/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.Storage.Admin/farms/{farmId}/operationresults/{operationId}"); - _endpoints[2500] = CreateEndpoint("/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.Storage.Admin/farms/{farmId}/queueservices/{serviceType}"); - _endpoints[2501] = CreateEndpoint("/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.Storage.Admin/farms/{farmId}/shares/{shareName}"); - _endpoints[2502] = CreateEndpoint("/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.Storage.Admin/farms/{farmId}/storageaccounts/{accountId}"); - _endpoints[2503] = CreateEndpoint("/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.Storage.Admin/farms/{farmId}/tableservices/{serviceType}"); - _endpoints[2504] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Storage/storageAccounts/{accountName}/managementPolicies/{managementPolicyName}"); - _endpoints[2505] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.StorSimple/managers/{managerName}/accessControlRecords/{accessControlRecordName}"); - _endpoints[2506] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.StorSimple/managers/{managerName}/bandwidthSettings/{bandwidthSettingName}"); - _endpoints[2507] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.StorSimple/managers/{managerName}/devices/{deviceName}"); - _endpoints[2508] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.StorSimple/managers/{managerName}/storageAccountCredentials/{storageAccountCredentialName}"); - _endpoints[2509] = CreateEndpoint("/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.StreamAnalytics/streamingjobs/{jobName}/functions/{functionName}"); - _endpoints[2510] = CreateEndpoint("/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.StreamAnalytics/streamingjobs/{jobName}/inputs/{inputName}"); - _endpoints[2511] = CreateEndpoint("/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.StreamAnalytics/streamingjobs/{jobName}/outputs/{outputName}"); - _endpoints[2512] = CreateEndpoint("/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.StreamAnalytics/streamingjobs/{jobName}/transformations/{transformationName}"); - _endpoints[2513] = CreateEndpoint("/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.Subscriptions.Admin/offers/{offer}/offerDelegations/{offerDelegationName}"); - _endpoints[2514] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.TimeSeriesInsights/environments/{environmentName}/accessPolicies/{accessPolicyName}"); - _endpoints[2515] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.TimeSeriesInsights/environments/{environmentName}/eventSources/{eventSourceName}"); - _endpoints[2516] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.TimeSeriesInsights/environments/{environmentName}/referenceDataSets/{referenceDataSetName}"); - _endpoints[2517] = CreateEndpoint("/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.Update.Admin/updateLocations/{updateLocation}/updates/{updateName}"); - _endpoints[2518] = CreateEndpoint("/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/microsoft.visualstudio/account/{accountResourceName}/extension/{extensionResourceName}"); - _endpoints[2519] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/microsoft.visualstudio/account/{rootResourceName}/project/{resourceName}"); - _endpoints[2520] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/hostingEnvironments/{name}/detectors/{detectorName}"); - _endpoints[2521] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/hostingEnvironments/{name}/diagnostics/{diagnosticsName}"); - _endpoints[2522] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/hostingEnvironments/{name}/operations/{operationId}"); - _endpoints[2523] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/hostingEnvironments/{name}/workerPools/{workerPoolName}"); - _endpoints[2524] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/managedHostingEnvironments/{name}/operations/{operationId}"); - _endpoints[2525] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/serverfarms/{name}/operationresults/{operationId}"); - _endpoints[2526] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/serverfarms/{name}/virtualNetworkConnections/{vnetName}"); - _endpoints[2527] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/backups/{backupId}"); - _endpoints[2528] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/continuouswebjobs/{webJobName}"); - _endpoints[2529] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/deployments/{id}"); - _endpoints[2530] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/domainOwnershipIdentifiers/{domainOwnershipIdentifierName}"); - _endpoints[2531] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/functions/{functionName}"); - _endpoints[2532] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/hostNameBindings/{hostName}"); - _endpoints[2533] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/hybridconnection/{entityName}"); - _endpoints[2534] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/networkFeatures/{view}"); - _endpoints[2535] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/operationresults/{operationId}"); - _endpoints[2536] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/premieraddons/{premierAddOnName}"); - _endpoints[2537] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/processes/{processId}"); - _endpoints[2538] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/publicCertificates/{publicCertificateName}"); - _endpoints[2539] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/siteextensions/{siteExtensionId}"); - _endpoints[2540] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}"); - _endpoints[2541] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/triggeredwebjobs/{webJobName}"); - _endpoints[2542] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/virtualNetworkConnections/{vnetName}"); - _endpoints[2543] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/webjobs/{webJobName}"); - _endpoints[2544] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{siteName}/detectors/{detectorName}"); - _endpoints[2545] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{siteName}/diagnostics/{diagnosticCategory}"); - _endpoints[2546] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{siteName}/recommendations/{name}"); - _endpoints[2547] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroup/{resourceGroupName}/providers/Microsoft.MachineLearningServices/workspaces/{workspaceName}/computes/{computeName}/listKeys"); - _endpoints[2548] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{groupName}/providers/Microsoft.DataMigration/services/{serviceName}/projects/{projectName}/tasks"); - _endpoints[2549] = CreateEndpoint("/subscriptions/{subscriptionId}/resourcegroups/{resourceGroup}/providers/Microsoft.AzureBridge.Admin/activations/{activationName}/products/{productName}/download"); - _endpoints[2550] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroup}/providers/Microsoft.AzureStack/registrations/{registrationName}/products/{productName}/listDetails"); - _endpoints[2551] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/apis/{apiId}/diagnostics"); - _endpoints[2552] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/apis/{apiId}/issues"); - _endpoints[2553] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/apis/{apiId}/operations"); - _endpoints[2554] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/apis/{apiId}/operationsByTags"); - _endpoints[2555] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/apis/{apiId}/policies"); - _endpoints[2556] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/apis/{apiId}/policy"); - _endpoints[2557] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/apis/{apiId}/products"); - _endpoints[2558] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/apis/{apiId}/releases"); - _endpoints[2559] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/apis/{apiId}/revisions"); - _endpoints[2560] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/apis/{apiId}/schemas"); - _endpoints[2561] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/apis/{apiId}/tagDescriptions"); - _endpoints[2562] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/apis/{apiId}/tags"); - _endpoints[2563] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/backends/{backendid}/reconnect"); - _endpoints[2564] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/diagnostics/{diagnosticId}/loggers"); - _endpoints[2565] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/groups/{groupId}/users"); - _endpoints[2566] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/locations/{locationName}/networkstatus"); - _endpoints[2567] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/notifications/{notificationName}/recipientEmails"); - _endpoints[2568] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/notifications/{notificationName}/recipientUsers"); - _endpoints[2569] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/products/{productId}/apis"); - _endpoints[2570] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/products/{productId}/groups"); - _endpoints[2571] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/products/{productId}/policies"); - _endpoints[2572] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/products/{productId}/policy"); - _endpoints[2573] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/products/{productId}/subscriptions"); - _endpoints[2574] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/products/{productId}/tags"); - _endpoints[2575] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/subscriptions/{sid}/regeneratePrimaryKey"); - _endpoints[2576] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/subscriptions/{sid}/regenerateSecondaryKey"); - _endpoints[2577] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/tenant/{accessName}/git"); - _endpoints[2578] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/tenant/{accessName}/regeneratePrimaryKey"); - _endpoints[2579] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/tenant/{accessName}/regenerateSecondaryKey"); - _endpoints[2580] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/tenant/{configurationName}/deploy"); - _endpoints[2581] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/tenant/{configurationName}/save"); - _endpoints[2582] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/tenant/{configurationName}/syncState"); - _endpoints[2583] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/tenant/{configurationName}/validate"); - _endpoints[2584] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/users/{uid}/generateSsoUrl"); - _endpoints[2585] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/users/{uid}/groups"); - _endpoints[2586] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/users/{uid}/identities"); - _endpoints[2587] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/users/{uid}/subscriptions"); - _endpoints[2588] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/users/{uid}/token"); - _endpoints[2589] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Automation/automationAccounts/{automationAccountName}/compilationjobs/{jobId}/streams"); - _endpoints[2590] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Automation/automationAccounts/{automationAccountName}/configurations/{configurationName}/content"); - _endpoints[2591] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Automation/automationAccounts/{automationAccountName}/jobs/{jobId}/output"); - _endpoints[2592] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Automation/automationAccounts/{automationAccountName}/jobs/{jobId}/resume"); - _endpoints[2593] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Automation/automationAccounts/{automationAccountName}/jobs/{jobId}/runbookContent"); - _endpoints[2594] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Automation/automationAccounts/{automationAccountName}/jobs/{jobId}/stop"); - _endpoints[2595] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Automation/automationAccounts/{automationAccountName}/jobs/{jobId}/streams"); - _endpoints[2596] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Automation/automationAccounts/{automationAccountName}/jobs/{jobId}/suspend"); - _endpoints[2597] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Automation/automationAccounts/{automationAccountName}/modules/{moduleName}/activities"); - _endpoints[2598] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Automation/automationAccounts/{automationAccountName}/nodes/{nodeId}/reports"); - _endpoints[2599] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Automation/automationAccounts/{automationAccountName}/objectDataTypes/{typeName}/fields"); - _endpoints[2600] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Automation/automationAccounts/{automationAccountName}/runbooks/{runbookName}/content"); - _endpoints[2601] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Automation/automationAccounts/{automationAccountName}/runbooks/{runbookName}/draft"); - _endpoints[2602] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Automation/automationAccounts/{automationAccountName}/sourceControls/{sourceControlName}/sourceControlSyncJobs"); - _endpoints[2603] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Automation/automationAccounts/{automationAccountName}/watchers/{watcherName}/start"); - _endpoints[2604] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Automation/automationAccounts/{automationAccountName}/watchers/{watcherName}/stop"); - _endpoints[2605] = CreateEndpoint("/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.Backup.Admin/backupLocations/{location}/backups/{backup}/restore"); - _endpoints[2606] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Batch/batchAccounts/{accountName}/certificates/{certificateName}/cancelDelete"); - _endpoints[2607] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Batch/batchAccounts/{accountName}/pools/{poolName}/disableAutoScale"); - _endpoints[2608] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Batch/batchAccounts/{accountName}/pools/{poolName}/stopResize"); - _endpoints[2609] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.BatchAI/workspaces/{workspaceName}/clusters/{clusterName}/listRemoteLoginInformation"); - _endpoints[2610] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.BatchAI/workspaces/{workspaceName}/experiments/{experimentName}/jobs"); - _endpoints[2611] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.BotService/botServices/{resourceName}/channels/{channelName}/listChannelWithKeys"); - _endpoints[2612] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.BotService/botServices/{resourceName}/Connections/{connectionName}/listWithSecrets"); - _endpoints[2613] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Cdn/profiles/{profileName}/endpoints/{endpointName}/checkResourceUsage"); - _endpoints[2614] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Cdn/profiles/{profileName}/endpoints/{endpointName}/customDomains"); - _endpoints[2615] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Cdn/profiles/{profileName}/endpoints/{endpointName}/load"); - _endpoints[2616] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Cdn/profiles/{profileName}/endpoints/{endpointName}/origins"); - _endpoints[2617] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Cdn/profiles/{profileName}/endpoints/{endpointName}/purge"); - _endpoints[2618] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Cdn/profiles/{profileName}/endpoints/{endpointName}/start"); - _endpoints[2619] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Cdn/profiles/{profileName}/endpoints/{endpointName}/stop"); - _endpoints[2620] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Cdn/profiles/{profileName}/endpoints/{endpointName}/validateCustomDomain"); - _endpoints[2621] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/galleries/{galleryName}/images/{galleryImageName}/versions"); - _endpoints[2622] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/microsoft.Compute/virtualMachineScaleSets/{virtualMachineScaleSetName}/virtualMachines/{virtualmachineIndex}/networkInterfaces"); - _endpoints[2623] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/virtualMachineScaleSets/{vmScaleSetName}/virtualmachines/{instanceId}/deallocate"); - _endpoints[2624] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/virtualMachineScaleSets/{vmScaleSetName}/virtualmachines/{instanceId}/instanceView"); - _endpoints[2625] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/virtualMachineScaleSets/{vmScaleSetName}/virtualmachines/{instanceId}/performMaintenance"); - _endpoints[2626] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/virtualMachineScaleSets/{vmScaleSetName}/virtualmachines/{instanceId}/poweroff"); - _endpoints[2627] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/virtualMachineScaleSets/{vmScaleSetName}/virtualmachines/{instanceId}/redeploy"); - _endpoints[2628] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/virtualMachineScaleSets/{vmScaleSetName}/virtualmachines/{instanceId}/reimage"); - _endpoints[2629] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/virtualMachineScaleSets/{vmScaleSetName}/virtualmachines/{instanceId}/reimageall"); - _endpoints[2630] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/virtualMachineScaleSets/{vmScaleSetName}/virtualmachines/{instanceId}/restart"); - _endpoints[2631] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/virtualMachineScaleSets/{vmScaleSetName}/virtualmachines/{instanceId}/start"); - _endpoints[2632] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerInstance/containerGroups/{containerGroupName}/containers/{containerName}/exec"); - _endpoints[2633] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerInstance/containerGroups/{containerGroupName}/containers/{containerName}/logs"); - _endpoints[2634] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerRegistry/registries/{registryName}/builds/{buildId}/cancel"); - _endpoints[2635] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerRegistry/registries/{registryName}/builds/{buildId}/getLogLink"); - _endpoints[2636] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerRegistry/registries/{registryName}/buildTasks/{buildTaskName}/listSourceRepositoryProperties"); - _endpoints[2637] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerRegistry/registries/{registryName}/buildTasks/{buildTaskName}/steps"); - _endpoints[2638] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerRegistry/registries/{registryName}/webhooks/{webhookName}/getCallbackConfig"); - _endpoints[2639] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerRegistry/registries/{registryName}/webhooks/{webhookName}/listEvents"); - _endpoints[2640] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerRegistry/registries/{registryName}/webhooks/{webhookName}/ping"); - _endpoints[2641] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}/accessProfiles/{roleName}/listCredential"); - _endpoints[2642] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.CustomerInsights/hubs/{hubName}/authorizationPolicies/{authorizationPolicyName}/regeneratePrimaryKey"); - _endpoints[2643] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.CustomerInsights/hubs/{hubName}/authorizationPolicies/{authorizationPolicyName}/regenerateSecondaryKey"); - _endpoints[2644] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.CustomerInsights/hubs/{hubName}/connectors/{connectorName}/mappings"); - _endpoints[2645] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.CustomerInsights/hubs/{hubName}/interactions/{interactionName}/suggestRelationshipLinks"); - _endpoints[2646] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.CustomerInsights/hubs/{hubName}/kpi/{kpiName}/reprocess"); - _endpoints[2647] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.CustomerInsights/hubs/{hubName}/predictions/{predictionName}/getModelStatus"); - _endpoints[2648] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.CustomerInsights/hubs/{hubName}/predictions/{predictionName}/getTrainingResults"); - _endpoints[2649] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.CustomerInsights/hubs/{hubName}/predictions/{predictionName}/modelStatus"); - _endpoints[2650] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.CustomerInsights/hubs/{hubName}/profiles/{profileName}/getEnrichingKpis"); - _endpoints[2651] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataFactory/factories/{factoryName}/integrationRuntimes/{integrationRuntimeName}/getConnectionInfo"); - _endpoints[2652] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataFactory/factories/{factoryName}/integrationRuntimes/{integrationRuntimeName}/getStatus"); - _endpoints[2653] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataFactory/factories/{factoryName}/integrationRuntimes/{integrationRuntimeName}/listAuthKeys"); - _endpoints[2654] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataFactory/factories/{factoryName}/integrationRuntimes/{integrationRuntimeName}/monitoringData"); - _endpoints[2655] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataFactory/factories/{factoryName}/integrationRuntimes/{integrationRuntimeName}/regenerateAuthKey"); - _endpoints[2656] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataFactory/factories/{factoryName}/integrationRuntimes/{integrationRuntimeName}/removeNode"); - _endpoints[2657] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataFactory/factories/{factoryName}/integrationRuntimes/{integrationRuntimeName}/start"); - _endpoints[2658] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataFactory/factories/{factoryName}/integrationRuntimes/{integrationRuntimeName}/stop"); - _endpoints[2659] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataFactory/factories/{factoryName}/integrationRuntimes/{integrationRuntimeName}/syncCredentials"); - _endpoints[2660] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataFactory/factories/{factoryName}/integrationRuntimes/{integrationRuntimeName}/upgrade"); - _endpoints[2661] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataFactory/factories/{factoryName}/pipelineruns/{runId}/activityruns"); - _endpoints[2662] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataFactory/factories/{factoryName}/pipelines/{pipelineName}/createRun"); - _endpoints[2663] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataFactory/factories/{factoryName}/triggers/{triggerName}/start"); - _endpoints[2664] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataFactory/factories/{factoryName}/triggers/{triggerName}/stop"); - _endpoints[2665] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataFactory/factories/{factoryName}/triggers/{triggerName}/triggerruns"); - _endpoints[2666] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataLakeAnalytics/accounts/{accountName}/storageAccounts/{storageAccountName}/containers"); - _endpoints[2667] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Devices/IotHubs/{resourceName}/certificates/{certificateName}/generateVerificationCode"); - _endpoints[2668] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Devices/IotHubs/{resourceName}/certificates/{certificateName}/verify"); - _endpoints[2669] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Devices/IotHubs/{resourceName}/eventHubEndpoints/{eventHubEndpointName}/ConsumerGroups"); - _endpoints[2670] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Devices/IotHubs/{resourceName}/IotHubKeys/{keyName}/listkeys"); - _endpoints[2671] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Devices/provisioningServices/{provisioningServiceName}/certificates/{certificateName}/generateVerificationCode"); - _endpoints[2672] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Devices/provisioningServices/{provisioningServiceName}/certificates/{certificateName}/verify"); - _endpoints[2673] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Devices/provisioningServices/{provisioningServiceName}/keys/{keyName}/listkeys"); - _endpoints[2674] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DevTestLab/labs/{labName}/artifactsources/{artifactSourceName}/armtemplates"); - _endpoints[2675] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DevTestLab/labs/{labName}/artifactsources/{artifactSourceName}/artifacts"); - _endpoints[2676] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DevTestLab/labs/{labName}/costinsights/{name}/refreshData"); - _endpoints[2677] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DevTestLab/labs/{labName}/costs/{name}/refreshData"); - _endpoints[2678] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DevTestLab/labs/{labName}/notificationchannels/{name}/notify"); - _endpoints[2679] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DevTestLab/labs/{labName}/policysets/{name}/evaluatePolicies"); - _endpoints[2680] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DevTestLab/labs/{labName}/policysets/{policySetName}/policies"); - _endpoints[2681] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DevTestLab/labs/{labName}/schedules/{name}/execute"); - _endpoints[2682] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DevTestLab/labs/{labName}/schedules/{name}/listApplicable"); - _endpoints[2683] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DevTestLab/labs/{labName}/users/{userName}/disks"); - _endpoints[2684] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DevTestLab/labs/{labName}/users/{userName}/environments"); - _endpoints[2685] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DevTestLab/labs/{labName}/users/{userName}/secrets"); - _endpoints[2686] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DevTestLab/labs/{labName}/virtualmachines/{name}/addDataDisk"); - _endpoints[2687] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DevTestLab/labs/{labName}/virtualmachines/{name}/applyArtifacts"); - _endpoints[2688] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DevTestLab/labs/{labName}/virtualmachines/{name}/claim"); - _endpoints[2689] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DevTestLab/labs/{labName}/virtualmachines/{name}/detachDataDisk"); - _endpoints[2690] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DevTestLab/labs/{labName}/virtualmachines/{name}/listApplicableSchedules"); - _endpoints[2691] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DevTestLab/labs/{labName}/virtualmachines/{name}/start"); - _endpoints[2692] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DevTestLab/labs/{labName}/virtualmachines/{name}/stop"); - _endpoints[2693] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DevTestLab/labs/{labName}/virtualmachines/{virtualMachineName}/schedules"); - _endpoints[2694] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/databases/{databaseRid}/metricDefinitions"); - _endpoints[2695] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/databases/{databaseRid}/metrics"); - _endpoints[2696] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/databases/{databaseRid}/usages"); - _endpoints[2697] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/region/{region}/metrics"); - _endpoints[2698] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.EventGrid/locations/{location}/topicTypes/{topicTypeName}/eventSubscriptions"); - _endpoints[2699] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.EventHub/namespaces/{namespaceName}/AuthorizationRules/{authorizationRuleName}/listKeys"); - _endpoints[2700] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.EventHub/namespaces/{namespaceName}/AuthorizationRules/{authorizationRuleName}/regenerateKeys"); - _endpoints[2701] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.EventHub/namespaces/{namespaceName}/disasterRecoveryConfigs/{alias}/AuthorizationRules"); - _endpoints[2702] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.EventHub/namespaces/{namespaceName}/disasterRecoveryConfigs/{alias}/breakPairing"); - _endpoints[2703] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.EventHub/namespaces/{namespaceName}/disasterRecoveryConfigs/{alias}/failover"); - _endpoints[2704] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.EventHub/namespaces/{namespaceName}/eventhubs/{eventHubName}/authorizationRules"); - _endpoints[2705] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.EventHub/namespaces/{namespaceName}/eventhubs/{eventHubName}/consumergroups"); - _endpoints[2706] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Fabric.Admin/fabricLocations/{location}/infraRoleInstances/{infraRoleInstance}/PowerOff"); - _endpoints[2707] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Fabric.Admin/fabricLocations/{location}/infraRoleInstances/{infraRoleInstance}/PowerOn"); - _endpoints[2708] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Fabric.Admin/fabricLocations/{location}/infraRoleInstances/{infraRoleInstance}/Reboot"); - _endpoints[2709] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Fabric.Admin/fabricLocations/{location}/infraRoleInstances/{infraRoleInstance}/Shutdown"); - _endpoints[2710] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Fabric.Admin/fabricLocations/{location}/infraRoles/{infraRole}/Restart"); - _endpoints[2711] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Fabric.Admin/fabricLocations/{location}/logicalNetworks/{logicalNetwork}/logicalSubnets"); - _endpoints[2712] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Fabric.Admin/fabricLocations/{location}/scaleUnitNodes/{scaleUnitNode}/PowerOff"); - _endpoints[2713] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Fabric.Admin/fabricLocations/{location}/scaleUnitNodes/{scaleUnitNode}/PowerOn"); - _endpoints[2714] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Fabric.Admin/fabricLocations/{location}/scaleUnitNodes/{scaleUnitNode}/Repair"); - _endpoints[2715] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Fabric.Admin/fabricLocations/{location}/scaleUnitNodes/{scaleUnitNode}/Shutdown"); - _endpoints[2716] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Fabric.Admin/fabricLocations/{location}/scaleUnitNodes/{scaleUnitNode}/StartMaintenanceMode"); - _endpoints[2717] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Fabric.Admin/fabricLocations/{location}/scaleUnitNodes/{scaleUnitNode}/StopMaintenanceMode"); - _endpoints[2718] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Fabric.Admin/fabricLocations/{location}/scaleUnits/{scaleUnit}/ScaleOut"); - _endpoints[2719] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Fabric.Admin/fabricLocations/{location}/storageSubSystems/{storageSubSystem}/storagePools"); - _endpoints[2720] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.HDInsight/clusters/{clusterName}/roles/{roleName}/resize"); - _endpoints[2721] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.HDInsight/clusters/{clusterName}/scriptExecutionHistory/{scriptExecutionId}/promote"); - _endpoints[2722] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.InfrastructureInsights.Admin/regionHealths/{location}/serviceHealths/{serviceRegistrationId}/resourceHealths"); - _endpoints[2723] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Logic/integrationAccounts/{integrationAccountName}/agreements/{agreementName}/listContentCallbackUrl"); - _endpoints[2724] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Logic/integrationAccounts/{integrationAccountName}/assemblies/{assemblyArtifactName}/listContentCallbackUrl"); - _endpoints[2725] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Logic/integrationAccounts/{integrationAccountName}/maps/{mapName}/listContentCallbackUrl"); - _endpoints[2726] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Logic/integrationAccounts/{integrationAccountName}/partners/{partnerName}/listContentCallbackUrl"); - _endpoints[2727] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Logic/integrationAccounts/{integrationAccountName}/schemas/{schemaName}/listContentCallbackUrl"); - _endpoints[2728] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Logic/locations/{location}/workflows/{workflowName}/validate"); - _endpoints[2729] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Logic/workflows/{workflowName}/accessKeys/{accessKeyName}/list"); - _endpoints[2730] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Logic/workflows/{workflowName}/accessKeys/{accessKeyName}/regenerate"); - _endpoints[2731] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Logic/workflows/{workflowName}/runs/{runName}/actions"); - _endpoints[2732] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Logic/workflows/{workflowName}/runs/{runName}/cancel"); - _endpoints[2733] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Logic/workflows/{workflowName}/triggers/{triggerName}/histories"); - _endpoints[2734] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Logic/workflows/{workflowName}/triggers/{triggerName}/listCallbackUrl"); - _endpoints[2735] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Logic/workflows/{workflowName}/triggers/{triggerName}/reset"); - _endpoints[2736] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Logic/workflows/{workflowName}/triggers/{triggerName}/run"); - _endpoints[2737] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Logic/workflows/{workflowName}/triggers/{triggerName}/setState"); - _endpoints[2738] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.MachineLearning/commitmentPlans/{commitmentPlanName}/commitmentAssociations/{commitmentAssociationName}/move"); - _endpoints[2739] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Media/mediaServices/{accountName}/assets/{assetName}/getEncryptionKey"); - _endpoints[2740] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Media/mediaServices/{accountName}/assets/{assetName}/listContainerSas"); - _endpoints[2741] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Media/mediaServices/{accountName}/contentKeyPolicies/{contentKeyPolicyName}/getPolicyPropertiesWithSecrets"); - _endpoints[2742] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Media/mediaservices/{accountName}/liveEvents/{liveEventName}/liveOutputs"); - _endpoints[2743] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Media/mediaservices/{accountName}/liveEvents/{liveEventName}/reset"); - _endpoints[2744] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Media/mediaservices/{accountName}/liveEvents/{liveEventName}/start"); - _endpoints[2745] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Media/mediaservices/{accountName}/liveEvents/{liveEventName}/stop"); - _endpoints[2746] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Media/mediaservices/{accountName}/streamingEndpoints/{streamingEndpointName}/scale"); - _endpoints[2747] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Media/mediaservices/{accountName}/streamingEndpoints/{streamingEndpointName}/start"); - _endpoints[2748] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Media/mediaservices/{accountName}/streamingEndpoints/{streamingEndpointName}/stop"); - _endpoints[2749] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Media/mediaServices/{accountName}/streamingLocators/{streamingLocatorName}/listContentKeys"); - _endpoints[2750] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Media/mediaServices/{accountName}/streamingLocators/{streamingLocatorName}/listPaths"); - _endpoints[2751] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Media/mediaServices/{accountName}/transforms/{transformName}/jobs"); - _endpoints[2752] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Migrate/projects/{projectName}/groups/{groupName}/assessments"); - _endpoints[2753] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/expressRouteCircuits/{circuitName}/peerings/{peeringName}/stats"); - _endpoints[2754] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkWatchers/{networkWatcherName}/connectionMonitors/{connectionMonitorName}/query"); - _endpoints[2755] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkWatchers/{networkWatcherName}/connectionMonitors/{connectionMonitorName}/start"); - _endpoints[2756] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkWatchers/{networkWatcherName}/connectionMonitors/{connectionMonitorName}/stop"); - _endpoints[2757] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkWatchers/{networkWatcherName}/packetCaptures/{packetCaptureName}/queryStatus"); - _endpoints[2758] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkWatchers/{networkWatcherName}/packetCaptures/{packetCaptureName}/stop"); - _endpoints[2759] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.NotificationHubs/namespaces/{namespaceName}/AuthorizationRules/{authorizationRuleName}/listKeys"); - _endpoints[2760] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.NotificationHubs/namespaces/{namespaceName}/AuthorizationRules/{authorizationRuleName}/regenerateKeys"); - _endpoints[2761] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.NotificationHubs/namespaces/{namespaceName}/notificationHubs/{notificationHubName}/AuthorizationRules"); - _endpoints[2762] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.NotificationHubs/namespaces/{namespaceName}/notificationHubs/{notificationHubName}/pnsCredentials"); - _endpoints[2763] = CreateEndpoint("/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.OperationalInsights/workspaces/{workspaceName}/intelligencePacks/{intelligencePackName}/Disable"); - _endpoints[2764] = CreateEndpoint("/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.OperationalInsights/workspaces/{workspaceName}/intelligencePacks/{intelligencePackName}/Enable"); - _endpoints[2765] = CreateEndpoint("/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.OperationalInsights/workspaces/{workspaceName}/savedSearches/{savedSearchName}/results"); - _endpoints[2766] = CreateEndpoint("/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationFabrics/{fabricName}/checkConsistency"); - _endpoints[2767] = CreateEndpoint("/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationFabrics/{fabricName}/migratetoaad"); - _endpoints[2768] = CreateEndpoint("/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationFabrics/{fabricName}/reassociateGateway"); - _endpoints[2769] = CreateEndpoint("/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationFabrics/{fabricName}/remove"); - _endpoints[2770] = CreateEndpoint("/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationFabrics/{fabricName}/renewCertificate"); - _endpoints[2771] = CreateEndpoint("/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationFabrics/{fabricName}/replicationLogicalNetworks"); - _endpoints[2772] = CreateEndpoint("/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationFabrics/{fabricName}/replicationNetworks"); - _endpoints[2773] = CreateEndpoint("/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationFabrics/{fabricName}/replicationProtectionContainers"); - _endpoints[2774] = CreateEndpoint("/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationFabrics/{fabricName}/replicationRecoveryServicesProviders"); - _endpoints[2775] = CreateEndpoint("/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationFabrics/{fabricName}/replicationStorageClassifications"); - _endpoints[2776] = CreateEndpoint("/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationFabrics/{fabricName}/replicationvCenters"); - _endpoints[2777] = CreateEndpoint("/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationJobs/{jobName}/cancel"); - _endpoints[2778] = CreateEndpoint("/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationJobs/{jobName}/restart"); - _endpoints[2779] = CreateEndpoint("/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationJobs/{jobName}/resume"); - _endpoints[2780] = CreateEndpoint("/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationRecoveryPlans/{recoveryPlanName}/failoverCommit"); - _endpoints[2781] = CreateEndpoint("/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationRecoveryPlans/{recoveryPlanName}/plannedFailover"); - _endpoints[2782] = CreateEndpoint("/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationRecoveryPlans/{recoveryPlanName}/reProtect"); - _endpoints[2783] = CreateEndpoint("/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationRecoveryPlans/{recoveryPlanName}/testFailover"); - _endpoints[2784] = CreateEndpoint("/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationRecoveryPlans/{recoveryPlanName}/testFailoverCleanup"); - _endpoints[2785] = CreateEndpoint("/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationRecoveryPlans/{recoveryPlanName}/unplannedFailover"); - _endpoints[2786] = CreateEndpoint("/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupFabrics/{fabricName}/protectableContainers"); - _endpoints[2787] = CreateEndpoint("/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupFabrics/{fabricName}/refreshContainers"); - _endpoints[2788] = CreateEndpoint("/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupJobs/{jobName}/cancel"); - _endpoints[2789] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Relay/namespaces/{namespaceName}/authorizationRules/{authorizationRuleName}/listKeys"); - _endpoints[2790] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Relay/namespaces/{namespaceName}/authorizationRules/{authorizationRuleName}/regenerateKeys"); - _endpoints[2791] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Relay/namespaces/{namespaceName}/hybridConnections/{hybridConnectionName}/authorizationRules"); - _endpoints[2792] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Relay/namespaces/{namespaceName}/wcfRelays/{relayName}/authorizationRules"); - _endpoints[2793] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Scheduler/jobCollections/{jobCollectionName}/jobs/{jobName}/history"); - _endpoints[2794] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Scheduler/jobCollections/{jobCollectionName}/jobs/{jobName}/run"); - _endpoints[2795] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ServiceBus/namespaces/{namespaceName}/AuthorizationRules/{authorizationRuleName}/listKeys"); - _endpoints[2796] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ServiceBus/namespaces/{namespaceName}/AuthorizationRules/{authorizationRuleName}/regenerateKeys"); - _endpoints[2797] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ServiceBus/namespaces/{namespaceName}/disasterRecoveryConfigs/{alias}/AuthorizationRules"); - _endpoints[2798] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ServiceBus/namespaces/{namespaceName}/disasterRecoveryConfigs/{alias}/breakPairing"); - _endpoints[2799] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ServiceBus/namespaces/{namespaceName}/disasterRecoveryConfigs/{alias}/failover"); - _endpoints[2800] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ServiceBus/namespaces/{namespaceName}/eventhubs/{eventhubName}/authorizationRules"); - _endpoints[2801] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ServiceBus/namespaces/{namespaceName}/migrationConfigurations/{configName}/revert"); - _endpoints[2802] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ServiceBus/namespaces/{namespaceName}/migrationConfigurations/{configName}/upgrade"); - _endpoints[2803] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ServiceBus/namespaces/{namespaceName}/queues/{queueName}/authorizationRules"); - _endpoints[2804] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ServiceBus/namespaces/{namespaceName}/topics/{topicName}/authorizationRules"); - _endpoints[2805] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ServiceBus/namespaces/{namespaceName}/topics/{topicName}/subscriptions"); - _endpoints[2806] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ServiceFabric/clusters/{clusterName}/applications/{applicationName}/services"); - _endpoints[2807] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ServiceFabric/clusters/{clusterName}/applicationTypes/{applicationTypeName}/versions"); - _endpoints[2808] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/locations/{locationName}/instanceFailoverGroups/{failoverGroupName}/failover"); - _endpoints[2809] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/locations/{locationName}/instanceFailoverGroups/{failoverGroupName}/forceFailoverAllowDataLoss"); - _endpoints[2810] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/databases/{databaseName}/advisors"); - _endpoints[2811] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/databases/{databaseName}/auditingPolicies"); - _endpoints[2812] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/databases/{databaseName}/backupLongTermRetentionPolicies"); - _endpoints[2813] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/databases/{databaseName}/export"); - _endpoints[2814] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/databases/{databaseName}/extensions"); - _endpoints[2815] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/databases/{databaseName}/geoBackupPolicies"); - _endpoints[2816] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/databases/{databaseName}/metricDefinitions"); - _endpoints[2817] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/databases/{databaseName}/metrics"); - _endpoints[2818] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/databases/{databaseName}/move"); - _endpoints[2819] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/databases/{databaseName}/operations"); - _endpoints[2820] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/databases/{databaseName}/pause"); - _endpoints[2821] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/databases/{databaseName}/replicationLinks"); - _endpoints[2822] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/databases/{databaseName}/restorePoints"); - _endpoints[2823] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/databases/{databaseName}/resume"); - _endpoints[2824] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/databases/{databaseName}/serviceTierAdvisors"); - _endpoints[2825] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/databases/{databaseName}/syncGroups"); - _endpoints[2826] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/databases/{databaseName}/topQueries"); - _endpoints[2827] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/databases/{databaseName}/transparentDataEncryption"); - _endpoints[2828] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/databases/{databaseName}/upgradeDataWarehouse"); - _endpoints[2829] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/databases/{databaseName}/usages"); - _endpoints[2830] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/disasterRecoveryConfiguration/{disasterRecoveryConfigurationName}/failover"); - _endpoints[2831] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/disasterRecoveryConfiguration/{disasterRecoveryConfigurationName}/forceFailoverAllowDataLoss"); - _endpoints[2832] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/dnsAliases/{dnsAliasName}/acquire"); - _endpoints[2833] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/elasticPools/{elasticPoolName}/databases"); - _endpoints[2834] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/elasticPools/{elasticPoolName}/elasticPoolActivity"); - _endpoints[2835] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/elasticPools/{elasticPoolName}/elasticPoolDatabaseActivity"); - _endpoints[2836] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/elasticPools/{elasticPoolName}/metricDefinitions"); - _endpoints[2837] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/elasticPools/{elasticPoolName}/metrics"); - _endpoints[2838] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/elasticPools/{elasticPoolName}/operations"); - _endpoints[2839] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/failoverGroups/{failoverGroupName}/failover"); - _endpoints[2840] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/failoverGroups/{failoverGroupName}/forceFailoverAllowDataLoss"); - _endpoints[2841] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/jobAgents/{jobAgentName}/credentials"); - _endpoints[2842] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/jobAgents/{jobAgentName}/executions"); - _endpoints[2843] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/jobAgents/{jobAgentName}/jobs"); - _endpoints[2844] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/jobAgents/{jobAgentName}/targetGroups"); - _endpoints[2845] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/recommendedElasticPools/{recommendedElasticPoolName}/databases"); - _endpoints[2846] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/recommendedElasticPools/{recommendedElasticPoolName}/metrics"); - _endpoints[2847] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/syncAgents/{syncAgentName}/generateKey"); - _endpoints[2848] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/syncAgents/{syncAgentName}/linkedDatabases"); - _endpoints[2849] = CreateEndpoint("/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.Storage.Admin/farms/{farmId}/blobservices/{serviceType}/metricdefinitions"); - _endpoints[2850] = CreateEndpoint("/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.Storage.Admin/farms/{farmId}/blobservices/{serviceType}/metrics"); - _endpoints[2851] = CreateEndpoint("/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.Storage.Admin/farms/{farmId}/queueservices/{serviceType}/metricdefinitions"); - _endpoints[2852] = CreateEndpoint("/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.Storage.Admin/farms/{farmId}/queueservices/{serviceType}/metrics"); - _endpoints[2853] = CreateEndpoint("/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.Storage.Admin/farms/{farmId}/shares/{shareName}/containers"); - _endpoints[2854] = CreateEndpoint("/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.Storage.Admin/farms/{farmId}/shares/{shareName}/destinationshares"); - _endpoints[2855] = CreateEndpoint("/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.Storage.Admin/farms/{farmId}/shares/{shareName}/metricdefinitions"); - _endpoints[2856] = CreateEndpoint("/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.Storage.Admin/farms/{farmId}/shares/{shareName}/metrics"); - _endpoints[2857] = CreateEndpoint("/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.Storage.Admin/farms/{farmId}/shares/{shareName}/migrate"); - _endpoints[2858] = CreateEndpoint("/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.Storage.Admin/farms/{farmId}/tableservices/{serviceType}/metricdefinitions"); - _endpoints[2859] = CreateEndpoint("/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.Storage.Admin/farms/{farmId}/tableservices/{serviceType}/metrics"); - _endpoints[2860] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.StorSimple/managers/{managerName}/devices/{deviceName}/authorizeForServiceEncryptionKeyRollover"); - _endpoints[2861] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.StorSimple/managers/{managerName}/devices/{deviceName}/backupPolicies"); - _endpoints[2862] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.StorSimple/managers/{managerName}/devices/{deviceName}/backups"); - _endpoints[2863] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.StorSimple/managers/{managerName}/devices/{deviceName}/deactivate"); - _endpoints[2864] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.StorSimple/managers/{managerName}/devices/{deviceName}/hardwareComponentGroups"); - _endpoints[2865] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.StorSimple/managers/{managerName}/devices/{deviceName}/installUpdates"); - _endpoints[2866] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.StorSimple/managers/{managerName}/devices/{deviceName}/jobs"); - _endpoints[2867] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.StorSimple/managers/{managerName}/devices/{deviceName}/listFailoverSets"); - _endpoints[2868] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.StorSimple/managers/{managerName}/devices/{deviceName}/metrics"); - _endpoints[2869] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.StorSimple/managers/{managerName}/devices/{deviceName}/metricsDefinitions"); - _endpoints[2870] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.StorSimple/managers/{managerName}/devices/{deviceName}/publicEncryptionKey"); - _endpoints[2871] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.StorSimple/managers/{managerName}/devices/{deviceName}/scanForUpdates"); - _endpoints[2872] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.StorSimple/managers/{managerName}/devices/{deviceName}/sendTestAlertEmail"); - _endpoints[2873] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.StorSimple/managers/{managerName}/devices/{deviceName}/volumeContainers"); - _endpoints[2874] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.StorSimple/managers/{managerName}/devices/{deviceName}/volumes"); - _endpoints[2875] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.StorSimple/managers/{managerName}/devices/{sourceDeviceName}/failover"); - _endpoints[2876] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.StorSimple/managers/{managerName}/devices/{sourceDeviceName}/listFailoverTargets"); - _endpoints[2877] = CreateEndpoint("/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.StreamAnalytics/streamingjobs/{jobName}/functions/{functionName}/RetrieveDefaultDefinition"); - _endpoints[2878] = CreateEndpoint("/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.StreamAnalytics/streamingjobs/{jobName}/functions/{functionName}/test"); - _endpoints[2879] = CreateEndpoint("/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.StreamAnalytics/streamingjobs/{jobName}/inputs/{inputName}/test"); - _endpoints[2880] = CreateEndpoint("/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.StreamAnalytics/streamingjobs/{jobName}/outputs/{outputName}/test"); - _endpoints[2881] = CreateEndpoint("/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.Update.Admin/updateLocations/{updateLocation}/updates/{updateName}/Apply"); - _endpoints[2882] = CreateEndpoint("/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.Update.Admin/updateLocations/{updateLocation}/updates/{updateName}/updateRuns"); - _endpoints[2883] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/hostingEnvironments/{name}/workerPools/{workerPoolName}/metricdefinitions"); - _endpoints[2884] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/hostingEnvironments/{name}/workerPools/{workerPoolName}/metrics"); - _endpoints[2885] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/hostingEnvironments/{name}/workerPools/{workerPoolName}/skus"); - _endpoints[2886] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/hostingEnvironments/{name}/workerPools/{workerPoolName}/usages"); - _endpoints[2887] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/serverfarms/{name}/virtualNetworkConnections/{vnetName}/routes"); - _endpoints[2888] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/serverfarms/{name}/workers/{workerName}/reboot"); - _endpoints[2889] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/backups/{backupId}/list"); - _endpoints[2890] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/backups/{backupId}/restore"); - _endpoints[2891] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/continuouswebjobs/{webJobName}/start"); - _endpoints[2892] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/continuouswebjobs/{webJobName}/stop"); - _endpoints[2893] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/deployments/{id}/log"); - _endpoints[2894] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/functions/{functionName}/listsecrets"); - _endpoints[2895] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/instances/{instanceId}/deployments"); - _endpoints[2896] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/instances/{instanceId}/processes"); - _endpoints[2897] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/processes/{processId}/dump"); - _endpoints[2898] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/processes/{processId}/modules"); - _endpoints[2899] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/processes/{processId}/threads"); - _endpoints[2900] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/analyzeCustomHostname"); - _endpoints[2901] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/applySlotConfig"); - _endpoints[2902] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/backup"); - _endpoints[2903] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/backups"); - _endpoints[2904] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/config"); - _endpoints[2905] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/containerlogs"); - _endpoints[2906] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/continuouswebjobs"); - _endpoints[2907] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/deployments"); - _endpoints[2908] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/domainOwnershipIdentifiers"); - _endpoints[2909] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/functions"); - _endpoints[2910] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/hostNameBindings"); - _endpoints[2911] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/hybridconnection"); - _endpoints[2912] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/hybridConnectionRelays"); - _endpoints[2913] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/instances"); - _endpoints[2914] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/iscloneable"); - _endpoints[2915] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/listsyncfunctiontriggerstatus"); - _endpoints[2916] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/metricdefinitions"); - _endpoints[2917] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/metrics"); - _endpoints[2918] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/newpassword"); - _endpoints[2919] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/perfcounters"); - _endpoints[2920] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/phplogging"); - _endpoints[2921] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/premieraddons"); - _endpoints[2922] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/processes"); - _endpoints[2923] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/publicCertificates"); - _endpoints[2924] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/publishxml"); - _endpoints[2925] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/recover"); - _endpoints[2926] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/resetSlotConfig"); - _endpoints[2927] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/resourceHealthMetadata"); - _endpoints[2928] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/restart"); - _endpoints[2929] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/restoreFromBackupBlob"); - _endpoints[2930] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/restoreFromDeletedApp"); - _endpoints[2931] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/restoreSnapshot"); - _endpoints[2932] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/siteextensions"); - _endpoints[2933] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/slotsdiffs"); - _endpoints[2934] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/slotsswap"); - _endpoints[2935] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/snapshots"); - _endpoints[2936] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/start"); - _endpoints[2937] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/stop"); - _endpoints[2938] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/sync"); - _endpoints[2939] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/syncfunctiontriggers"); - _endpoints[2940] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/triggeredwebjobs"); - _endpoints[2941] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/usages"); - _endpoints[2942] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/virtualNetworkConnections"); - _endpoints[2943] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/webjobs"); - _endpoints[2944] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/triggeredwebjobs/{webJobName}/history"); - _endpoints[2945] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/triggeredwebjobs/{webJobName}/run"); - _endpoints[2946] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{siteName}/diagnostics/{diagnosticCategory}/analyses"); - _endpoints[2947] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{siteName}/diagnostics/{diagnosticCategory}/detectors"); - _endpoints[2948] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{siteName}/recommendations/{name}/disable"); - _endpoints[2949] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{siteName}/slots/{slot}/detectors"); - _endpoints[2950] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{siteName}/slots/{slot}/diagnostics"); - _endpoints[2951] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/tenant/{accessName}/git/regeneratePrimaryKey"); - _endpoints[2952] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/tenant/{accessName}/git/regenerateSecondaryKey"); - _endpoints[2953] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Automation/automationAccounts/{automationAccountName}/runbooks/{runbookName}/draft/content"); - _endpoints[2954] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Automation/automationAccounts/{automationAccountName}/runbooks/{runbookName}/draft/publish"); - _endpoints[2955] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Automation/automationAccounts/{automationAccountName}/runbooks/{runbookName}/draft/testJob"); - _endpoints[2956] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Automation/automationAccounts/{automationAccountName}/runbooks/{runbookName}/draft/undoEdit"); - _endpoints[2957] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/targetRegion/{targetRegion}/percentile/metrics"); - _endpoints[2958] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Logic/workflows/{workflowName}/triggers/{triggerName}/schemas/json"); - _endpoints[2959] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/databases/{databaseName}/automaticTuning/current"); - _endpoints[2960] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.StorSimple/managers/{managerName}/devices/{deviceName}/alertSettings/default"); - _endpoints[2961] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.StorSimple/managers/{managerName}/devices/{deviceName}/networkSettings/default"); - _endpoints[2962] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.StorSimple/managers/{managerName}/devices/{deviceName}/securitySettings/default"); - _endpoints[2963] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.StorSimple/managers/{managerName}/devices/{deviceName}/timeSettings/default"); - _endpoints[2964] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.StorSimple/managers/{managerName}/devices/{deviceName}/updateSummary/default"); - _endpoints[2965] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/instances/{instanceId}/extensions/MSDeploy"); - _endpoints[2966] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/backups/discover"); - _endpoints[2967] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/config/appsettings"); - _endpoints[2968] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/config/authsettings"); - _endpoints[2969] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/config/backup"); - _endpoints[2970] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/config/connectionstrings"); - _endpoints[2971] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/config/logs"); - _endpoints[2972] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/config/metadata"); - _endpoints[2973] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/config/pushsettings"); - _endpoints[2974] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/config/web"); - _endpoints[2975] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/extensions/MSDeploy"); - _endpoints[2976] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/migratemysql/status"); - _endpoints[2977] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/networkTrace/start"); - _endpoints[2978] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/networkTrace/stop"); - _endpoints[2979] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/privateAccess/virtualNetworks"); - _endpoints[2980] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/resourceHealthMetadata/default"); - _endpoints[2981] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/sourcecontrols/web"); - _endpoints[2982] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Automation/automationAccounts/{automationAccountName}/runbooks/{runbookName}/draft/testJob/resume"); - _endpoints[2983] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Automation/automationAccounts/{automationAccountName}/runbooks/{runbookName}/draft/testJob/stop"); - _endpoints[2984] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Automation/automationAccounts/{automationAccountName}/runbooks/{runbookName}/draft/testJob/streams"); - _endpoints[2985] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Automation/automationAccounts/{automationAccountName}/runbooks/{runbookName}/draft/testJob/suspend"); - _endpoints[2986] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ServerManagement/nodes/{nodeName}/sessions/{session}/features/powerShellConsole/pssessions"); - _endpoints[2987] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.StorSimple/managers/{managerName}/devices/{deviceName}/securitySettings/default/syncRemoteManagementCertificate"); - _endpoints[2988] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/instances/{instanceId}/extensions/MSDeploy/log"); - _endpoints[2989] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/config/appsettings/list"); - _endpoints[2990] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/config/authsettings/list"); - _endpoints[2991] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/config/backup/list"); - _endpoints[2992] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/config/connectionstrings/list"); - _endpoints[2993] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/config/metadata/list"); - _endpoints[2994] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/config/publishingcredentials/list"); - _endpoints[2995] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/config/pushsettings/list"); - _endpoints[2996] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/config/web/snapshots"); - _endpoints[2997] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/containerlogs/zip/download"); - _endpoints[2998] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/extensions/MSDeploy/log"); - _endpoints[2999] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/functions/admin/token"); - _endpoints[3000] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Automation/automationAccounts/{automationAccountName}/runbooks/{runbookName}/draft/testJob/streams/{jobStreamId}"); - _endpoints[3001] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ServerManagement/nodes/{nodeName}/sessions/{session}/features/powerShellConsole/pssessions/{pssession}"); - _endpoints[3002] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/config/web/snapshots/{snapshotId}"); - _endpoints[3003] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ServerManagement/nodes/{nodeName}/sessions/{session}/features/powerShellConsole/pssessions/{pssession}/cancel"); - _endpoints[3004] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ServerManagement/nodes/{nodeName}/sessions/{session}/features/powerShellConsole/pssessions/{pssession}/invokeCommand"); - _endpoints[3005] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ServerManagement/nodes/{nodeName}/sessions/{session}/features/powerShellConsole/pssessions/{pssession}/tab"); - _endpoints[3006] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/config/web/snapshots/{snapshotId}/recover"); - _endpoints[3007] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{groupName}/providers/Microsoft.DataMigration/services/{serviceName}/projects/{projectName}/tasks/{taskName}"); - _endpoints[3008] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/apis/{apiId}/diagnostics/{diagnosticId}"); - _endpoints[3009] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/apis/{apiId}/issues/{issueId}"); - _endpoints[3010] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/apis/{apiId}/operations/{operationId}"); - _endpoints[3011] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/apis/{apiId}/policies/{policyId}"); - _endpoints[3012] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/apis/{apiId}/releases/{releaseId}"); - _endpoints[3013] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/apis/{apiId}/schemas/{schemaId}"); - _endpoints[3014] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/apis/{apiId}/tagDescriptions/{tagId}"); - _endpoints[3015] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/apis/{apiId}/tags/{tagId}"); - _endpoints[3016] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/diagnostics/{diagnosticId}/loggers/{loggerid}"); - _endpoints[3017] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/groups/{groupId}/users/{uid}"); - _endpoints[3018] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/notifications/{notificationName}/recipientEmails/{email}"); - _endpoints[3019] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/notifications/{notificationName}/recipientUsers/{uid}"); - _endpoints[3020] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/products/{productId}/apis/{apiId}"); - _endpoints[3021] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/products/{productId}/groups/{groupId}"); - _endpoints[3022] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/products/{productId}/policies/{policyId}"); - _endpoints[3023] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/products/{productId}/tags/{tagId}"); - _endpoints[3024] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/quotas/{quotaCounterKey}/periods/{quotaPeriodKey}"); - _endpoints[3025] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Automation/automationAccounts/{automationAccountName}/compilationjobs/{jobId}/streams/{jobStreamId}"); - _endpoints[3026] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Automation/automationAccounts/{automationAccountName}/jobs/{jobId}/streams/{jobStreamId}"); - _endpoints[3027] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Automation/automationAccounts/{automationAccountName}/modules/{moduleName}/activities/{activityName}"); - _endpoints[3028] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Automation/automationAccounts/{automationAccountName}/nodes/{nodeId}/reports/{reportId}"); - _endpoints[3029] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Automation/automationAccounts/{automationAccountName}/sourceControls/{sourceControlName}/sourceControlSyncJobs/{sourceControlSyncJobId}"); - _endpoints[3030] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Batch/batchAccounts/{accountName}/applications/{applicationId}/versions/{version}"); - _endpoints[3031] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.BatchAI/workspaces/{workspaceName}/experiments/{experimentName}/jobs/{jobName}"); - _endpoints[3032] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Cdn/profiles/{profileName}/endpoints/{endpointName}/customDomains/{customDomainName}"); - _endpoints[3033] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Cdn/profiles/{profileName}/endpoints/{endpointName}/origins/{originName}"); - _endpoints[3034] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/galleries/{galleryName}/images/{galleryImageName}/versions/{galleryImageVersionName}"); - _endpoints[3035] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/microsoft.Compute/virtualMachineScaleSets/{virtualMachineScaleSetName}/virtualMachines/{virtualmachineIndex}/networkInterfaces/{networkInterfaceName}"); - _endpoints[3036] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerRegistry/registries/{registryName}/buildTasks/{buildTaskName}/steps/{stepName}"); - _endpoints[3037] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.CustomerInsights/hubs/{hubName}/connectors/{connectorName}/mappings/{mappingName}"); - _endpoints[3038] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataFactory/factories/{factoryName}/integrationRuntimes/{integrationRuntimeName}/nodes/{nodeName}"); - _endpoints[3039] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataLakeAnalytics/accounts/{accountName}/storageAccounts/{storageAccountName}/containers/{containerName}"); - _endpoints[3040] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Devices/IotHubs/{resourceName}/eventHubEndpoints/{eventHubEndpointName}/ConsumerGroups/{name}"); - _endpoints[3041] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DevTestLab/labs/{labName}/artifactsources/{artifactSourceName}/armtemplates/{name}"); - _endpoints[3042] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DevTestLab/labs/{labName}/artifactsources/{artifactSourceName}/artifacts/{name}"); - _endpoints[3043] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DevTestLab/labs/{labName}/policysets/{policySetName}/policies/{name}"); - _endpoints[3044] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DevTestLab/labs/{labName}/users/{userName}/disks/{name}"); - _endpoints[3045] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DevTestLab/labs/{labName}/users/{userName}/environments/{name}"); - _endpoints[3046] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DevTestLab/labs/{labName}/users/{userName}/secrets/{name}"); - _endpoints[3047] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DevTestLab/labs/{labName}/virtualmachines/{virtualMachineName}/schedules/{name}"); - _endpoints[3048] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.EventHub/namespaces/{namespaceName}/disasterRecoveryConfigs/{alias}/AuthorizationRules/{authorizationRuleName}"); - _endpoints[3049] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.EventHub/namespaces/{namespaceName}/eventhubs/{eventHubName}/authorizationRules/{authorizationRuleName}"); - _endpoints[3050] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.EventHub/namespaces/{namespaceName}/eventhubs/{eventHubName}/consumergroups/{consumerGroupName}"); - _endpoints[3051] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Fabric.Admin/fabricLocations/{location}/logicalNetworks/{logicalNetwork}/logicalSubnets/{logicalSubnet}"); - _endpoints[3052] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Fabric.Admin/fabricLocations/{location}/storageSubSystems/{storageSubSystem}/storagePools/{storagePool}"); - _endpoints[3053] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.InfrastructureInsights.Admin/regionHealths/{location}/serviceHealths/{serviceRegistrationId}/resourceHealths/{resourceRegistrationId}"); - _endpoints[3054] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Logic/workflows/{workflowName}/runs/{runName}/actions/{actionName}"); - _endpoints[3055] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Logic/workflows/{workflowName}/runs/{runName}/operations/{operationId}"); - _endpoints[3056] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Logic/workflows/{workflowName}/triggers/{triggerName}/histories/{historyName}"); - _endpoints[3057] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.MachineLearningExperimentation/accounts/{accountName}/workspaces/{workspaceName}/projects/{projectName}"); - _endpoints[3058] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Media/mediaservices/{accountName}/liveEvents/{liveEventName}/liveOutputs/{liveOutputName}"); - _endpoints[3059] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Media/mediaServices/{accountName}/transforms/{transformName}/jobs/{jobName}"); - _endpoints[3060] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Migrate/projects/{projectName}/groups/{groupName}/assessments/{assessmentName}"); - _endpoints[3061] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/expressRouteCircuits/{circuitName}/peerings/{peeringName}/arpTables/{devicePath}"); - _endpoints[3062] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/expressRouteCircuits/{circuitName}/peerings/{peeringName}/connections/{connectionName}"); - _endpoints[3063] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/expressRouteCircuits/{circuitName}/peerings/{peeringName}/routeTables/{devicePath}"); - _endpoints[3064] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/expressRouteCircuits/{circuitName}/peerings/{peeringName}/routeTablesSummary/{devicePath}"); - _endpoints[3065] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/expressRouteCrossConnections/{crossConnectionName}/peerings/{peeringName}/arpTables/{devicePath}"); - _endpoints[3066] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/expressRouteCrossConnections/{crossConnectionName}/peerings/{peeringName}/routeTables/{devicePath}"); - _endpoints[3067] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/expressRouteCrossConnections/{crossConnectionName}/peerings/{peeringName}/routeTablesSummary/{devicePath}"); - _endpoints[3068] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.NotificationHubs/namespaces/{namespaceName}/notificationHubs/{notificationHubName}/AuthorizationRules/{authorizationRuleName}"); - _endpoints[3069] = CreateEndpoint("/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationFabrics/{fabricName}/replicationLogicalNetworks/{logicalNetworkName}"); - _endpoints[3070] = CreateEndpoint("/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationFabrics/{fabricName}/replicationNetworks/{networkName}"); - _endpoints[3071] = CreateEndpoint("/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationFabrics/{fabricName}/replicationProtectionContainers/{protectionContainerName}"); - _endpoints[3072] = CreateEndpoint("/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationFabrics/{fabricName}/replicationRecoveryServicesProviders/{providerName}"); - _endpoints[3073] = CreateEndpoint("/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationFabrics/{fabricName}/replicationStorageClassifications/{storageClassificationName}"); - _endpoints[3074] = CreateEndpoint("/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationFabrics/{fabricName}/replicationvCenters/{vCenterName}"); - _endpoints[3075] = CreateEndpoint("/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupFabrics/{fabricName}/backupProtectionIntent/{intentObjectName}"); - _endpoints[3076] = CreateEndpoint("/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupFabrics/{fabricName}/operationResults/{operationId}"); - _endpoints[3077] = CreateEndpoint("/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupFabrics/{fabricName}/protectionContainers/{containerName}"); - _endpoints[3078] = CreateEndpoint("/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupJobs/{jobName}/operationResults/{operationId}"); - _endpoints[3079] = CreateEndpoint("/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupPolicies/{policyName}/operationResults/{operationId}"); - _endpoints[3080] = CreateEndpoint("/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupPolicies/{policyName}/operations/{operationId}"); - _endpoints[3081] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Relay/namespaces/{namespaceName}/hybridConnections/{hybridConnectionName}/authorizationRules/{authorizationRuleName}"); - _endpoints[3082] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Relay/namespaces/{namespaceName}/wcfRelays/{relayName}/authorizationRules/{authorizationRuleName}"); - _endpoints[3083] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ServiceBus/namespaces/{namespaceName}/disasterRecoveryConfigs/{alias}/AuthorizationRules/{authorizationRuleName}"); - _endpoints[3084] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ServiceBus/namespaces/{namespaceName}/eventhubs/{eventhubName}/authorizationRules/{authorizationRuleName}"); - _endpoints[3085] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ServiceBus/namespaces/{namespaceName}/queues/{queueName}/authorizationRules/{authorizationRuleName}"); - _endpoints[3086] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ServiceBus/namespaces/{namespaceName}/topics/{topicName}/authorizationRules/{authorizationRuleName}"); - _endpoints[3087] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ServiceBus/namespaces/{namespaceName}/topics/{topicName}/subscriptions/{subscriptionName}"); - _endpoints[3088] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ServiceFabric/clusters/{clusterName}/applications/{applicationName}/services/{serviceName}"); - _endpoints[3089] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ServiceFabric/clusters/{clusterName}/applicationTypes/{applicationTypeName}/versions/{version}"); - _endpoints[3090] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/databases/{databaseName}/advisors/{advisorName}"); - _endpoints[3091] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/databases/{databaseName}/auditingPolicies/{tableAuditingPolicyName}"); - _endpoints[3092] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/databases/{databaseName}/auditingSettings/{blobAuditingPolicyName}"); - _endpoints[3093] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/databases/{databaseName}/backupLongTermRetentionPolicies/{backupLongTermRetentionPolicyName}"); - _endpoints[3094] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/databases/{databaseName}/backupShortTermRetentionPolicies/{policyName}"); - _endpoints[3095] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/databases/{databaseName}/connectionPolicies/{connectionPolicyName}"); - _endpoints[3096] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/databases/{databaseName}/dataMaskingPolicies/{dataMaskingPolicyName}"); - _endpoints[3097] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/databases/{databaseName}/dataWarehouseUserActivities/{dataWarehouseUserActivityName}"); - _endpoints[3098] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/databases/{databaseName}/extensions/{extensionName}"); - _endpoints[3099] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/databases/{databaseName}/geoBackupPolicies/{geoBackupPolicyName}"); - _endpoints[3100] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/databases/{databaseName}/replicationLinks/{linkId}"); - _endpoints[3101] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/databases/{databaseName}/restorePoints/{restorePointName}"); - _endpoints[3102] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/databases/{databaseName}/securityAlertPolicies/{securityAlertPolicyName}"); - _endpoints[3103] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/databases/{databaseName}/serviceTierAdvisors/{serviceTierAdvisorName}"); - _endpoints[3104] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/databases/{databaseName}/syncGroups/{syncGroupName}"); - _endpoints[3105] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/databases/{databaseName}/transparentDataEncryption/{transparentDataEncryptionName}"); - _endpoints[3106] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/databases/{databaseName}/vulnerabilityAssessments/{vulnerabilityAssessmentName}"); - _endpoints[3107] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/elasticPools/{elasticPoolName}/databases/{databaseName}"); - _endpoints[3108] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/jobAgents/{jobAgentName}/credentials/{credentialName}"); - _endpoints[3109] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/jobAgents/{jobAgentName}/jobs/{jobName}"); - _endpoints[3110] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/jobAgents/{jobAgentName}/targetGroups/{targetGroupName}"); - _endpoints[3111] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/recommendedElasticPools/{recommendedElasticPoolName}/databases/{databaseName}"); - _endpoints[3112] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.StorSimple/managers/{managerName}/devices/{deviceName}/backupPolicies/{backupPolicyName}"); - _endpoints[3113] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.StorSimple/managers/{managerName}/devices/{deviceName}/backups/{backupName}"); - _endpoints[3114] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.StorSimple/managers/{managerName}/devices/{deviceName}/jobs/{jobName}"); - _endpoints[3115] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.StorSimple/managers/{managerName}/devices/{deviceName}/volumeContainers/{volumeContainerName}"); - _endpoints[3116] = CreateEndpoint("/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.Update.Admin/updateLocations/{updateLocation}/updates/{updateName}/updateRuns/{runName}"); - _endpoints[3117] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/serverfarms/{name}/hybridConnectionNamespaces/{namespaceName}/relays/{relayName}"); - _endpoints[3118] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/serverfarms/{name}/virtualNetworkConnections/{vnetName}/gateways/{gatewayName}"); - _endpoints[3119] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/serverfarms/{name}/virtualNetworkConnections/{vnetName}/routes/{routeName}"); - _endpoints[3120] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/hybridConnectionNamespaces/{namespaceName}/relays/{relayName}"); - _endpoints[3121] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/instances/{instanceId}/deployments/{id}"); - _endpoints[3122] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/instances/{instanceId}/processes/{processId}"); - _endpoints[3123] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/processes/{processId}/modules/{baseAddress}"); - _endpoints[3124] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/processes/{processId}/threads/{threadId}"); - _endpoints[3125] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/backups/{backupId}"); - _endpoints[3126] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/continuouswebjobs/{webJobName}"); - _endpoints[3127] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/deployments/{id}"); - _endpoints[3128] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/domainOwnershipIdentifiers/{domainOwnershipIdentifierName}"); - _endpoints[3129] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/functions/{functionName}"); - _endpoints[3130] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/hostNameBindings/{hostName}"); - _endpoints[3131] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/hybridconnection/{entityName}"); - _endpoints[3132] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/networkFeatures/{view}"); - _endpoints[3133] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/operationresults/{operationId}"); - _endpoints[3134] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/premieraddons/{premierAddOnName}"); - _endpoints[3135] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/processes/{processId}"); - _endpoints[3136] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/publicCertificates/{publicCertificateName}"); - _endpoints[3137] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/siteextensions/{siteExtensionId}"); - _endpoints[3138] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/triggeredwebjobs/{webJobName}"); - _endpoints[3139] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/virtualNetworkConnections/{vnetName}"); - _endpoints[3140] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/webjobs/{webJobName}"); - _endpoints[3141] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/triggeredwebjobs/{webJobName}/history/{id}"); - _endpoints[3142] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/virtualNetworkConnections/{vnetName}/gateways/{gatewayName}"); - _endpoints[3143] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{siteName}/diagnostics/{diagnosticCategory}/analyses/{analysisName}"); - _endpoints[3144] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{siteName}/diagnostics/{diagnosticCategory}/detectors/{detectorName}"); - _endpoints[3145] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{siteName}/slots/{slot}/detectors/{detectorName}"); - _endpoints[3146] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{siteName}/slots/{slot}/diagnostics/{diagnosticCategory}"); - _endpoints[3147] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{groupName}/providers/Microsoft.DataMigration/services/{serviceName}/projects/{projectName}/tasks/{taskName}/cancel"); - _endpoints[3148] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/apis/{apiId}/diagnostics/{diagnosticId}/loggers"); - _endpoints[3149] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/apis/{apiId}/issues/{issueId}/attachments"); - _endpoints[3150] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/apis/{apiId}/issues/{issueId}/comments"); - _endpoints[3151] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/apis/{apiId}/operations/{operationId}/policies"); - _endpoints[3152] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/apis/{apiId}/operations/{operationId}/policy"); - _endpoints[3153] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/apis/{apiId}/operations/{operationId}/tags"); - _endpoints[3154] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Automation/automationAccounts/{automationAccountName}/modules/{moduleName}/objectDataTypes/{typeName}/fields"); - _endpoints[3155] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Automation/automationAccounts/{automationAccountName}/modules/{moduleName}/types/{typeName}/fields"); - _endpoints[3156] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Automation/automationAccounts/{automationAccountName}/nodes/{nodeId}/reports/{reportId}/content"); - _endpoints[3157] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Automation/automationAccounts/{automationAccountName}/sourceControls/{sourceControlName}/sourceControlSyncJobs/{sourceControlSyncJobId}/streams"); - _endpoints[3158] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Batch/batchAccounts/{accountName}/applications/{applicationId}/versions/{version}/activate"); - _endpoints[3159] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.BatchAI/workspaces/{workspaceName}/experiments/{experimentName}/jobs/{jobName}/listOutputFiles"); - _endpoints[3160] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.BatchAI/workspaces/{workspaceName}/experiments/{experimentName}/jobs/{jobName}/listRemoteLoginInformation"); - _endpoints[3161] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.BatchAI/workspaces/{workspaceName}/experiments/{experimentName}/jobs/{jobName}/terminate"); - _endpoints[3162] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Cdn/profiles/{profileName}/endpoints/{endpointName}/customDomains/{customDomainName}/disableCustomHttps"); - _endpoints[3163] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Cdn/profiles/{profileName}/endpoints/{endpointName}/customDomains/{customDomainName}/enableCustomHttps"); - _endpoints[3164] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/microsoft.Compute/virtualMachineScaleSets/{virtualMachineScaleSetName}/virtualMachines/{virtualmachineIndex}/networkInterfaces/{networkInterfaceName}/ipConfigurations"); - _endpoints[3165] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerRegistry/registries/{registryName}/buildTasks/{buildTaskName}/steps/{stepName}/listBuildArguments"); - _endpoints[3166] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataFactory/factories/{factoryName}/integrationRuntimes/{integrationRuntimeName}/nodes/{nodeName}/ipAddress"); - _endpoints[3167] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataLakeAnalytics/accounts/{accountName}/storageAccounts/{storageAccountName}/containers/{containerName}/listSasTokens"); - _endpoints[3168] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DevTestLab/labs/{labName}/artifactsources/{artifactSourceName}/artifacts/{name}/generateArmTemplate"); - _endpoints[3169] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DevTestLab/labs/{labName}/users/{userName}/disks/{name}/attach"); - _endpoints[3170] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DevTestLab/labs/{labName}/users/{userName}/disks/{name}/detach"); - _endpoints[3171] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DevTestLab/labs/{labName}/virtualmachines/{virtualMachineName}/schedules/{name}/execute"); - _endpoints[3172] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/databases/{databaseRid}/collections/{collectionRid}/metricDefinitions"); - _endpoints[3173] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/databases/{databaseRid}/collections/{collectionRid}/metrics"); - _endpoints[3174] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/databases/{databaseRid}/collections/{collectionRid}/usages"); - _endpoints[3175] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.EventHub/namespaces/{namespaceName}/disasterRecoveryConfigs/{alias}/AuthorizationRules/{authorizationRuleName}/listKeys"); - _endpoints[3176] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.EventHub/namespaces/{namespaceName}/eventhubs/{eventHubName}/authorizationRules/{authorizationRuleName}/ListKeys"); - _endpoints[3177] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.EventHub/namespaces/{namespaceName}/eventhubs/{eventHubName}/authorizationRules/{authorizationRuleName}/regenerateKeys"); - _endpoints[3178] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Fabric.Admin/fabricLocations/{location}/storageSubSystems/{storageSubSystem}/storagePools/{storagePool}/volumes"); - _endpoints[3179] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Logic/workflows/{workflowName}/runs/{runName}/actions/{actionName}/listExpressionTraces"); - _endpoints[3180] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Logic/workflows/{workflowName}/runs/{runName}/actions/{actionName}/repetitions"); - _endpoints[3181] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Logic/workflows/{workflowName}/runs/{runName}/actions/{actionName}/scopeRepetitions"); - _endpoints[3182] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Logic/workflows/{workflowName}/triggers/{triggerName}/histories/{historyName}/resubmit"); - _endpoints[3183] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Logic/workflows/{workflowName}/versions/{versionId}/triggers/{triggerName}/listCallbackUrl"); - _endpoints[3184] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Media/mediaServices/{accountName}/transforms/{transformName}/jobs/{jobName}/cancelJob"); - _endpoints[3185] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Migrate/projects/{projectName}/groups/{groupName}/assessments/{assessmentName}/assessedMachines"); - _endpoints[3186] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Migrate/projects/{projectName}/groups/{groupName}/assessments/{assessmentName}/downloadUrl"); - _endpoints[3187] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.NotificationHubs/namespaces/{namespaceName}/notificationHubs/{notificationHubName}/AuthorizationRules/{authorizationRuleName}/listKeys"); - _endpoints[3188] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.NotificationHubs/namespaces/{namespaceName}/notificationHubs/{notificationHubName}/AuthorizationRules/{authorizationRuleName}/regenerateKeys"); - _endpoints[3189] = CreateEndpoint("/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationFabrics/{fabricName}/replicationNetworks/{networkName}/replicationNetworkMappings"); - _endpoints[3190] = CreateEndpoint("/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationFabrics/{fabricName}/replicationProtectionContainers/{protectionContainerName}/discoverProtectableItem"); - _endpoints[3191] = CreateEndpoint("/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationFabrics/{fabricName}/replicationProtectionContainers/{protectionContainerName}/remove"); - _endpoints[3192] = CreateEndpoint("/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationFabrics/{fabricName}/replicationProtectionContainers/{protectionContainerName}/replicationProtectableItems"); - _endpoints[3193] = CreateEndpoint("/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationFabrics/{fabricName}/replicationProtectionContainers/{protectionContainerName}/replicationProtectedItems"); - _endpoints[3194] = CreateEndpoint("/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationFabrics/{fabricName}/replicationProtectionContainers/{protectionContainerName}/replicationProtectionContainerMappings"); - _endpoints[3195] = CreateEndpoint("/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationFabrics/{fabricName}/replicationProtectionContainers/{protectionContainerName}/switchprotection"); - _endpoints[3196] = CreateEndpoint("/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationFabrics/{fabricName}/replicationRecoveryServicesProviders/{providerName}/refreshProvider"); - _endpoints[3197] = CreateEndpoint("/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationFabrics/{fabricName}/replicationRecoveryServicesProviders/{providerName}/remove"); - _endpoints[3198] = CreateEndpoint("/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationFabrics/{fabricName}/replicationStorageClassifications/{storageClassificationName}/replicationStorageClassificationMappings"); - _endpoints[3199] = CreateEndpoint("/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupFabrics/{fabricName}/protectionContainers/{containerName}/inquire"); - _endpoints[3200] = CreateEndpoint("/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupFabrics/{fabricName}/protectionContainers/{containerName}/items"); - _endpoints[3201] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Relay/namespaces/{namespaceName}/hybridConnections/{hybridConnectionName}/authorizationRules/{authorizationRuleName}/listKeys"); - _endpoints[3202] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Relay/namespaces/{namespaceName}/hybridConnections/{hybridConnectionName}/authorizationRules/{authorizationRuleName}/regenerateKeys"); - _endpoints[3203] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Relay/namespaces/{namespaceName}/wcfRelays/{relayName}/authorizationRules/{authorizationRuleName}/listKeys"); - _endpoints[3204] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Relay/namespaces/{namespaceName}/wcfRelays/{relayName}/authorizationRules/{authorizationRuleName}/regenerateKeys"); - _endpoints[3205] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ServiceBus/namespaces/{namespaceName}/disasterRecoveryConfigs/{alias}/AuthorizationRules/{authorizationRuleName}/listKeys"); - _endpoints[3206] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ServiceBus/namespaces/{namespaceName}/queues/{queueName}/authorizationRules/{authorizationRuleName}/ListKeys"); - _endpoints[3207] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ServiceBus/namespaces/{namespaceName}/queues/{queueName}/authorizationRules/{authorizationRuleName}/regenerateKeys"); - _endpoints[3208] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ServiceBus/namespaces/{namespaceName}/topics/{topicName}/authorizationRules/{authorizationRuleName}/ListKeys"); - _endpoints[3209] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ServiceBus/namespaces/{namespaceName}/topics/{topicName}/authorizationRules/{authorizationRuleName}/regenerateKeys"); - _endpoints[3210] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ServiceBus/namespaces/{namespaceName}/topics/{topicName}/subscriptions/{subscriptionName}/rules"); - _endpoints[3211] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/databases/{databaseName}/advisors/{advisorName}/recommendedActions"); - _endpoints[3212] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/databases/{databaseName}/dataMaskingPolicies/{dataMaskingPolicyName}/rules"); - _endpoints[3213] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/databases/{databaseName}/operations/{operationId}/cancel"); - _endpoints[3214] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/databases/{databaseName}/replicationLinks/{linkId}/failover"); - _endpoints[3215] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/databases/{databaseName}/replicationLinks/{linkId}/forceFailoverAllowDataLoss"); - _endpoints[3216] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/databases/{databaseName}/syncGroups/{syncGroupName}/cancelSync"); - _endpoints[3217] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/databases/{databaseName}/syncGroups/{syncGroupName}/hubSchemas"); - _endpoints[3218] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/databases/{databaseName}/syncGroups/{syncGroupName}/logs"); - _endpoints[3219] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/databases/{databaseName}/syncGroups/{syncGroupName}/refreshHubSchema"); - _endpoints[3220] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/databases/{databaseName}/syncGroups/{syncGroupName}/syncMembers"); - _endpoints[3221] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/databases/{databaseName}/syncGroups/{syncGroupName}/triggerSync"); - _endpoints[3222] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/databases/{databaseName}/topQueries/{queryId}/queryText"); - _endpoints[3223] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/databases/{databaseName}/topQueries/{queryId}/statistics"); - _endpoints[3224] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/databases/{databaseName}/transparentDataEncryption/{transparentDataEncryptionName}/operationResults"); - _endpoints[3225] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/databases/{databaseName}/vulnerabilityAssessments/{vulnerabilityAssessmentName}/scans"); - _endpoints[3226] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/elasticPools/{elasticPoolName}/operations/{operationId}/cancel"); - _endpoints[3227] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/jobAgents/{jobAgentName}/jobs/{jobName}/executions"); - _endpoints[3228] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/jobAgents/{jobAgentName}/jobs/{jobName}/start"); - _endpoints[3229] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/jobAgents/{jobAgentName}/jobs/{jobName}/steps"); - _endpoints[3230] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/jobAgents/{jobAgentName}/jobs/{jobName}/versions"); - _endpoints[3231] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.StorSimple/managers/{managerName}/devices/{deviceName}/backupPolicies/{backupPolicyName}/backup"); - _endpoints[3232] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.StorSimple/managers/{managerName}/devices/{deviceName}/backupPolicies/{backupPolicyName}/schedules"); - _endpoints[3233] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.StorSimple/managers/{managerName}/devices/{deviceName}/backups/{backupName}/restore"); - _endpoints[3234] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.StorSimple/managers/{managerName}/devices/{deviceName}/hardwareComponentGroups/{hardwareComponentGroupName}/changeControllerPowerState"); - _endpoints[3235] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.StorSimple/managers/{managerName}/devices/{deviceName}/jobs/{jobName}/cancel"); - _endpoints[3236] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.StorSimple/managers/{managerName}/devices/{deviceName}/volumeContainers/{volumeContainerName}/metrics"); - _endpoints[3237] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.StorSimple/managers/{managerName}/devices/{deviceName}/volumeContainers/{volumeContainerName}/metricsDefinitions"); - _endpoints[3238] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.StorSimple/managers/{managerName}/devices/{deviceName}/volumeContainers/{volumeContainerName}/volumes"); - _endpoints[3239] = CreateEndpoint("/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.Update.Admin/updateLocations/{updateLocation}/updates/{updateName}/updateRuns/{runName}/rerun"); - _endpoints[3240] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/microsoft.visualstudio/account/{rootResourceName}/project/{resourceName}/subContainers/{subContainerName}/status"); - _endpoints[3241] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/hostingEnvironments/{name}/workerPools/{workerPoolName}/instances/{instance}/metricdefinitions"); - _endpoints[3242] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/hostingEnvironments/{name}/workerPools/{workerPoolName}/instances/{instance}/metrics"); - _endpoints[3243] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/serverfarms/{name}/hybridConnectionNamespaces/{namespaceName}/relays/{relayName}/listKeys"); - _endpoints[3244] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/serverfarms/{name}/hybridConnectionNamespaces/{namespaceName}/relays/{relayName}/sites"); - _endpoints[3245] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/hybridConnectionNamespaces/{namespaceName}/relays/{relayName}/listKeys"); - _endpoints[3246] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/instances/{instanceId}/processes/{processId}/dump"); - _endpoints[3247] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/instances/{instanceId}/processes/{processId}/modules"); - _endpoints[3248] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/instances/{instanceId}/processes/{processId}/threads"); - _endpoints[3249] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/backups/{backupId}/list"); - _endpoints[3250] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/backups/{backupId}/restore"); - _endpoints[3251] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/continuouswebjobs/{webJobName}/start"); - _endpoints[3252] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/continuouswebjobs/{webJobName}/stop"); - _endpoints[3253] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/deployments/{id}/log"); - _endpoints[3254] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/functions/{functionName}/listsecrets"); - _endpoints[3255] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/instances/{instanceId}/deployments"); - _endpoints[3256] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/instances/{instanceId}/processes"); - _endpoints[3257] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/processes/{processId}/dump"); - _endpoints[3258] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/processes/{processId}/modules"); - _endpoints[3259] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/processes/{processId}/threads"); - _endpoints[3260] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/triggeredwebjobs/{webJobName}/history"); - _endpoints[3261] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/triggeredwebjobs/{webJobName}/run"); - _endpoints[3262] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{siteName}/diagnostics/{diagnosticCategory}/analyses/{analysisName}/execute"); - _endpoints[3263] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{siteName}/diagnostics/{diagnosticCategory}/detectors/{detectorName}/execute"); - _endpoints[3264] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{siteName}/slots/{slot}/diagnostics/{diagnosticCategory}/analyses"); - _endpoints[3265] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{siteName}/slots/{slot}/diagnostics/{diagnosticCategory}/detectors"); - _endpoints[3266] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/databases/{databaseRid}/collections/{collectionRid}/partitions/metrics"); - _endpoints[3267] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/databases/{databaseRid}/collections/{collectionRid}/partitions/usages"); - _endpoints[3268] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/sourceRegion/{sourceRegion}/targetRegion/{targetRegion}/percentile/metrics"); - _endpoints[3269] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/instances/{instanceId}/extensions/MSDeploy"); - _endpoints[3270] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/instances/{instanceId}/extensions/MSDeploy/log"); - _endpoints[3271] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/apis/{apiId}/diagnostics/{diagnosticId}/loggers/{loggerid}"); - _endpoints[3272] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/apis/{apiId}/issues/{issueId}/attachments/{attachmentId}"); - _endpoints[3273] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/apis/{apiId}/issues/{issueId}/comments/{commentId}"); - _endpoints[3274] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/apis/{apiId}/operations/{operationId}/policies/{policyId}"); - _endpoints[3275] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/apis/{apiId}/operations/{operationId}/tags/{tagId}"); - _endpoints[3276] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Automation/automationAccounts/{automationAccountName}/sourceControls/{sourceControlName}/sourceControlSyncJobs/{sourceControlSyncJobId}/streams/{streamId}"); - _endpoints[3277] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/microsoft.Compute/virtualMachineScaleSets/{virtualMachineScaleSetName}/virtualMachines/{virtualmachineIndex}/networkInterfaces/{networkInterfaceName}/ipConfigurations/{ipConfigurationName}"); - _endpoints[3278] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Fabric.Admin/fabricLocations/{location}/storageSubSystems/{storageSubSystem}/storagePools/{storagePool}/volumes/{volume}"); - _endpoints[3279] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Logic/workflows/{workflowName}/runs/{runName}/actions/{actionName}/repetitions/{repetitionName}"); - _endpoints[3280] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Logic/workflows/{workflowName}/runs/{runName}/actions/{actionName}/scopeRepetitions/{repetitionName}"); - _endpoints[3281] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Migrate/projects/{projectName}/groups/{groupName}/assessments/{assessmentName}/assessedMachines/{assessedMachineName}"); - _endpoints[3282] = CreateEndpoint("/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationFabrics/{fabricName}/replicationNetworks/{networkName}/replicationNetworkMappings/{networkMappingName}"); - _endpoints[3283] = CreateEndpoint("/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationFabrics/{fabricName}/replicationProtectionContainers/{protectionContainerName}/replicationProtectableItems/{protectableItemName}"); - _endpoints[3284] = CreateEndpoint("/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationFabrics/{fabricName}/replicationProtectionContainers/{protectionContainerName}/replicationProtectedItems/{replicatedProtectedItemName}"); - _endpoints[3285] = CreateEndpoint("/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationFabrics/{fabricName}/replicationProtectionContainers/{protectionContainerName}/replicationProtectionContainerMappings/{mappingName}"); - _endpoints[3286] = CreateEndpoint("/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationFabrics/{fabricName}/replicationStorageClassifications/{storageClassificationName}/replicationStorageClassificationMappings/{storageClassificationMappingName}"); - _endpoints[3287] = CreateEndpoint("/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupFabrics/{fabricName}/protectionContainers/{containerName}/operationResults/{operationId}"); - _endpoints[3288] = CreateEndpoint("/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupFabrics/{fabricName}/protectionContainers/{containerName}/protectedItems/{protectedItemName}"); - _endpoints[3289] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ServiceBus/namespaces/{namespaceName}/topics/{topicName}/subscriptions/{subscriptionName}/rules/{ruleName}"); - _endpoints[3290] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/databases/{databaseName}/advisors/{advisorName}/recommendedActions/{recommendedActionName}"); - _endpoints[3291] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/databases/{databaseName}/dataMaskingPolicies/{dataMaskingPolicyName}/rules/{dataMaskingRuleName}"); - _endpoints[3292] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/databases/{databaseName}/syncGroups/{syncGroupName}/syncMembers/{syncMemberName}"); - _endpoints[3293] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/databases/{databaseName}/vulnerabilityAssessments/{vulnerabilityAssessmentName}/scans/{scanId}"); - _endpoints[3294] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/jobAgents/{jobAgentName}/jobs/{jobName}/executions/{jobExecutionId}"); - _endpoints[3295] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/jobAgents/{jobAgentName}/jobs/{jobName}/steps/{stepName}"); - _endpoints[3296] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/jobAgents/{jobAgentName}/jobs/{jobName}/versions/{jobVersion}"); - _endpoints[3297] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.StorSimple/managers/{managerName}/devices/{deviceName}/backupPolicies/{backupPolicyName}/schedules/{backupScheduleName}"); - _endpoints[3298] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.StorSimple/managers/{managerName}/devices/{deviceName}/volumeContainers/{volumeContainerName}/volumes/{volumeName}"); - _endpoints[3299] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/instances/{instanceId}/processes/{processId}/modules/{baseAddress}"); - _endpoints[3300] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/instances/{instanceId}/processes/{processId}/threads/{threadId}"); - _endpoints[3301] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/hybridConnectionNamespaces/{namespaceName}/relays/{relayName}"); - _endpoints[3302] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/instances/{instanceId}/deployments/{id}"); - _endpoints[3303] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/instances/{instanceId}/processes/{processId}"); - _endpoints[3304] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/processes/{processId}/modules/{baseAddress}"); - _endpoints[3305] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/processes/{processId}/threads/{threadId}"); - _endpoints[3306] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/triggeredwebjobs/{webJobName}/history/{id}"); - _endpoints[3307] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/virtualNetworkConnections/{vnetName}/gateways/{gatewayName}"); - _endpoints[3308] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{siteName}/slots/{slot}/diagnostics/{diagnosticCategory}/analyses/{analysisName}"); - _endpoints[3309] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{siteName}/slots/{slot}/diagnostics/{diagnosticCategory}/detectors/{detectorName}"); - _endpoints[3310] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/virtualMachineScaleSets/{virtualMachineScaleSetName}/virtualMachines/{virtualmachineIndex}/networkInterfaces/{networkInterfaceName}/ipconfigurations/{ipConfigurationName}/publicipaddresses"); - _endpoints[3311] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/databases/{databaseRid}/collections/{collectionRid}/partitionKeyRangeId/{partitionKeyRangeId}/metrics"); - _endpoints[3312] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/region/{region}/databases/{databaseRid}/collections/{collectionRid}/metrics"); - _endpoints[3313] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Logic/workflows/{workflowName}/runs/{runName}/actions/{actionName}/repetitions/{repetitionName}/listExpressionTraces"); - _endpoints[3314] = CreateEndpoint("/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationFabrics/{fabricName}/replicationProtectionContainers/{protectionContainerName}/replicationProtectedItems/{replicatedProtectedItemName}/applyRecoveryPoint"); - _endpoints[3315] = CreateEndpoint("/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationFabrics/{fabricName}/replicationProtectionContainers/{protectionContainerName}/replicationProtectedItems/{replicatedProtectedItemName}/failoverCommit"); - _endpoints[3316] = CreateEndpoint("/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationFabrics/{fabricName}/replicationProtectionContainers/{protectionContainerName}/replicationProtectedItems/{replicatedProtectedItemName}/plannedFailover"); - _endpoints[3317] = CreateEndpoint("/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationFabrics/{fabricName}/replicationProtectionContainers/{protectionContainerName}/replicationProtectedItems/{replicatedProtectedItemName}/recoveryPoints"); - _endpoints[3318] = CreateEndpoint("/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationFabrics/{fabricName}/replicationProtectionContainers/{protectionContainerName}/replicationProtectedItems/{replicatedProtectedItemName}/remove"); - _endpoints[3319] = CreateEndpoint("/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationFabrics/{fabricName}/replicationProtectionContainers/{protectionContainerName}/replicationProtectedItems/{replicatedProtectedItemName}/repairReplication"); - _endpoints[3320] = CreateEndpoint("/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationFabrics/{fabricName}/replicationProtectionContainers/{protectionContainerName}/replicationProtectedItems/{replicatedProtectedItemName}/reProtect"); - _endpoints[3321] = CreateEndpoint("/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationFabrics/{fabricName}/replicationProtectionContainers/{protectionContainerName}/replicationProtectedItems/{replicatedProtectedItemName}/targetComputeSizes"); - _endpoints[3322] = CreateEndpoint("/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationFabrics/{fabricName}/replicationProtectionContainers/{protectionContainerName}/replicationProtectedItems/{replicatedProtectedItemName}/testFailover"); - _endpoints[3323] = CreateEndpoint("/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationFabrics/{fabricName}/replicationProtectionContainers/{protectionContainerName}/replicationProtectedItems/{replicatedProtectedItemName}/testFailoverCleanup"); - _endpoints[3324] = CreateEndpoint("/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationFabrics/{fabricName}/replicationProtectionContainers/{protectionContainerName}/replicationProtectedItems/{replicatedProtectedItemName}/unplannedFailover"); - _endpoints[3325] = CreateEndpoint("/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationFabrics/{fabricName}/replicationProtectionContainers/{protectionContainerName}/replicationProtectedItems/{replicationProtectedItemName}/updateMobilityService"); - _endpoints[3326] = CreateEndpoint("/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationFabrics/{fabricName}/replicationProtectionContainers/{protectionContainerName}/replicationProtectionContainerMappings/{mappingName}/remove"); - _endpoints[3327] = CreateEndpoint("/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupFabrics/{fabricName}/protectionContainers/{containerName}/protectedItems/{protectedItemName}/backup"); - _endpoints[3328] = CreateEndpoint("/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupFabrics/{fabricName}/protectionContainers/{containerName}/protectedItems/{protectedItemName}/recoveryPoints"); - _endpoints[3329] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/databases/{databaseName}/syncGroups/{syncGroupName}/syncMembers/{syncMemberName}/refreshSchema"); - _endpoints[3330] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/databases/{databaseName}/syncGroups/{syncGroupName}/syncMembers/{syncMemberName}/schemas"); - _endpoints[3331] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/databases/{databaseName}/vulnerabilityAssessments/{vulnerabilityAssessmentName}/scans/{scanId}/export"); - _endpoints[3332] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/databases/{databaseName}/vulnerabilityAssessments/{vulnerabilityAssessmentName}/scans/{scanId}/initiateScan"); - _endpoints[3333] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/jobAgents/{jobAgentName}/jobs/{jobName}/executions/{jobExecutionId}/cancel"); - _endpoints[3334] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/jobAgents/{jobAgentName}/jobs/{jobName}/executions/{jobExecutionId}/steps"); - _endpoints[3335] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/jobAgents/{jobAgentName}/jobs/{jobName}/executions/{jobExecutionId}/targets"); - _endpoints[3336] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/jobAgents/{jobAgentName}/jobs/{jobName}/versions/{jobVersion}/steps"); - _endpoints[3337] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.StorSimple/managers/{managerName}/devices/{deviceName}/backups/{backupName}/elements/{backupElementName}/clone"); - _endpoints[3338] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.StorSimple/managers/{managerName}/devices/{deviceName}/volumeContainers/{volumeContainerName}/volumes/{volumeName}/metrics"); - _endpoints[3339] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.StorSimple/managers/{managerName}/devices/{deviceName}/volumeContainers/{volumeContainerName}/volumes/{volumeName}/metricsDefinitions"); - _endpoints[3340] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/hybridConnectionNamespaces/{namespaceName}/relays/{relayName}/listKeys"); - _endpoints[3341] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/instances/{instanceId}/processes/{processId}/dump"); - _endpoints[3342] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/instances/{instanceId}/processes/{processId}/modules"); - _endpoints[3343] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/instances/{instanceId}/processes/{processId}/threads"); - _endpoints[3344] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{siteName}/slots/{slot}/diagnostics/{diagnosticCategory}/analyses/{analysisName}/execute"); - _endpoints[3345] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{siteName}/slots/{slot}/diagnostics/{diagnosticCategory}/detectors/{detectorName}/execute"); - _endpoints[3346] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/region/{region}/databases/{databaseRid}/collections/{collectionRid}/partitions/metrics"); - _endpoints[3347] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/virtualMachineScaleSets/{virtualMachineScaleSetName}/virtualMachines/{virtualmachineIndex}/networkInterfaces/{networkInterfaceName}/ipconfigurations/{ipConfigurationName}/publicipaddresses/{publicIpAddressName}"); - _endpoints[3348] = CreateEndpoint("/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationFabrics/{fabricName}/replicationProtectionContainers/{protectionContainerName}/replicationProtectedItems/{replicatedProtectedItemName}/recoveryPoints/{recoveryPointName}"); - _endpoints[3349] = CreateEndpoint("/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupFabrics/{fabricName}/protectionContainers/{containerName}/protectedItems/{protectedItemName}/operationResults/{operationId}"); - _endpoints[3350] = CreateEndpoint("/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupFabrics/{fabricName}/protectionContainers/{containerName}/protectedItems/{protectedItemName}/operationsStatus/{operationId}"); - _endpoints[3351] = CreateEndpoint("/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupFabrics/{fabricName}/protectionContainers/{containerName}/protectedItems/{protectedItemName}/recoveryPoints/{recoveryPointId}"); - _endpoints[3352] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/databases/{databaseName}/vulnerabilityAssessments/{vulnerabilityAssessmentName}/rules/{ruleId}/baselines/{baselineName}"); - _endpoints[3353] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/jobAgents/{jobAgentName}/jobs/{jobName}/executions/{jobExecutionId}/steps/{stepName}"); - _endpoints[3354] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/jobAgents/{jobAgentName}/jobs/{jobName}/versions/{jobVersion}/steps/{stepName}"); - _endpoints[3355] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/instances/{instanceId}/processes/{processId}/modules/{baseAddress}"); - _endpoints[3356] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/instances/{instanceId}/processes/{processId}/threads/{threadId}"); - _endpoints[3357] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/region/{region}/databases/{databaseRid}/collections/{collectionRid}/partitionKeyRangeId/{partitionKeyRangeId}/metrics"); - _endpoints[3358] = CreateEndpoint("/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupFabrics/{fabricName}/protectionContainers/{containerName}/protectedItems/{protectedItemName}/recoveryPoints/{recoveryPointId}/provisionInstantItemRecovery"); - _endpoints[3359] = CreateEndpoint("/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupFabrics/{fabricName}/protectionContainers/{containerName}/protectedItems/{protectedItemName}/recoveryPoints/{recoveryPointId}/restore"); - _endpoints[3360] = CreateEndpoint("/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupFabrics/{fabricName}/protectionContainers/{containerName}/protectedItems/{protectedItemName}/recoveryPoints/{recoveryPointId}/revokeInstantItemRecovery"); - _endpoints[3361] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/jobAgents/{jobAgentName}/jobs/{jobName}/executions/{jobExecutionId}/steps/{stepName}/targets"); - _endpoints[3362] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/jobAgents/{jobAgentName}/jobs/{jobName}/executions/{jobExecutionId}/steps/{stepName}/targets/{targetId}"); - _endpoints[3363] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/quotas/{quotaCounterKey}/{quotaPeriodKey}"); - _endpoints[3364] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Security/locations/{ascLocation}/alerts/{alertName}/{alertUpdateActionType}"); - _endpoints[3365] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Security/locations/{ascLocation}/jitNetworkAccessPolicies/{jitNetworkAccessPolicyName}/{jitNetworkAccessPolicyActionType}"); - _endpoints[3366] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Security/locations/{ascLocation}/tasks/{taskName}/{taskUpdateActionType}"); - _endpoints[3367] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/microsoft.insights/components/{resourceName}/{scopePath}"); - _endpoints[3368] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/dnsZones/{zoneName}/{recordType}"); - _endpoints[3369] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/microsoft.insights/components/{resourceName}/{scopePath}/item"); - _endpoints[3370] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/dnsZones/{zoneName}/{recordType}/{relativeRecordSetName}"); - _endpoints[3371] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/trafficmanagerprofiles/{profileName}/{endpointType}/{endpointName}"); - _endpoints[3372] = CreateEndpoint("/apis/{apiId}/operations/{operationId}/policies/{policyId}"); - _endpoints[3373] = CreateEndpoint("/apps/{appId}/versions/{versionId}/closedlists/{clEntityId}"); - _endpoints[3374] = CreateEndpoint("/apps/{appId}/versions/{versionId}/compositeentities/{cEntityId}"); - _endpoints[3375] = CreateEndpoint("/apps/{appId}/versions/{versionId}/customprebuiltdomains/{domainName}"); - _endpoints[3376] = CreateEndpoint("/apps/{appId}/versions/{versionId}/entities/{entityId}"); - _endpoints[3377] = CreateEndpoint("/apps/{appId}/versions/{versionId}/examples/{exampleId}"); - _endpoints[3378] = CreateEndpoint("/apps/{appId}/versions/{versionId}/hierarchicalentities/{hEntityId}"); - _endpoints[3379] = CreateEndpoint("/apps/{appId}/versions/{versionId}/intents/{intentId}"); - _endpoints[3380] = CreateEndpoint("/apps/{appId}/versions/{versionId}/patternanyentities/{entityId}"); - _endpoints[3381] = CreateEndpoint("/apps/{appId}/versions/{versionId}/patternrules/{patternId}"); - _endpoints[3382] = CreateEndpoint("/apps/{appId}/versions/{versionId}/patterns/{patternId}"); - _endpoints[3383] = CreateEndpoint("/apps/{appId}/versions/{versionId}/phraselists/{phraselistId}"); - _endpoints[3384] = CreateEndpoint("/apps/{appId}/versions/{versionId}/prebuilts/{prebuiltId}"); - _endpoints[3385] = CreateEndpoint("/apps/{appId}/versions/{versionId}/regexentities/{regexEntityId}"); - _endpoints[3386] = CreateEndpoint("/jobs/{jobId}/tasks/{taskId}/files/{filePath}"); - _endpoints[3387] = CreateEndpoint("/persongroups/{personGroupId}/persons/{personId}/persistedFaces/{persistedFaceId}"); - _endpoints[3388] = CreateEndpoint("/pools/{poolId}/nodes/{nodeId}/files/{filePath}"); - _endpoints[3389] = CreateEndpoint("/pools/{poolId}/nodes/{nodeId}/users/{userName}"); - _endpoints[3390] = CreateEndpoint("/subscriptions/{subscriptionId}/tagNames/{tagName}/tagValues/{tagValue}"); - _endpoints[3391] = CreateEndpoint("/apps/{appId}/versions/{versionId}/closedlists/{clEntityId}/sublists"); - _endpoints[3392] = CreateEndpoint("/apps/{appId}/versions/{versionId}/closedlists/{entityId}/roles"); - _endpoints[3393] = CreateEndpoint("/apps/{appId}/versions/{versionId}/compositeentities/{cEntityId}/children"); - _endpoints[3394] = CreateEndpoint("/apps/{appId}/versions/{versionId}/compositeentities/{cEntityId}/roles"); - _endpoints[3395] = CreateEndpoint("/apps/{appId}/versions/{versionId}/customprebuiltentities/{entityId}/roles"); - _endpoints[3396] = CreateEndpoint("/apps/{appId}/versions/{versionId}/entities/{entityId}/roles"); - _endpoints[3397] = CreateEndpoint("/apps/{appId}/versions/{versionId}/entities/{entityId}/suggest"); - _endpoints[3398] = CreateEndpoint("/apps/{appId}/versions/{versionId}/hierarchicalentities/{hEntityId}/children"); - _endpoints[3399] = CreateEndpoint("/apps/{appId}/versions/{versionId}/hierarchicalentities/{hEntityId}/roles"); - _endpoints[3400] = CreateEndpoint("/apps/{appId}/versions/{versionId}/intents/{intentId}/patternrules"); - _endpoints[3401] = CreateEndpoint("/apps/{appId}/versions/{versionId}/intents/{intentId}/suggest"); - _endpoints[3402] = CreateEndpoint("/apps/{appId}/versions/{versionId}/models/{modelId}/examples"); - _endpoints[3403] = CreateEndpoint("/apps/{appId}/versions/{versionId}/patternanyentities/{entityId}/explicitlist"); - _endpoints[3404] = CreateEndpoint("/apps/{appId}/versions/{versionId}/patternanyentities/{entityId}/roles"); - _endpoints[3405] = CreateEndpoint("/apps/{appId}/versions/{versionId}/prebuilts/{entityId}/roles"); - _endpoints[3406] = CreateEndpoint("/apps/{appId}/versions/{versionId}/regexentities/{entityId}/roles"); - _endpoints[3407] = CreateEndpoint("/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/deployments/{deploymentName}/operations"); - _endpoints[3408] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/{authorizationNamespace}/policyAssignments/{policyAssignmentName}/providers/Microsoft.PolicyInsights/policyEvents/{policyEventsResource}/queryResults"); - _endpoints[3409] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/{authorizationNamespace}/policyAssignments/{policyAssignmentName}/providers/Microsoft.PolicyInsights/policyStates/{policyStatesResource}/queryResults"); - _endpoints[3410] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/{authorizationNamespace}/policyAssignments/{policyAssignmentName}/providers/Microsoft.PolicyInsights/policyStates/{policyStatesSummaryResource}/summarize"); - _endpoints[3411] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/{authorizationNamespace}/policyDefinitions/{policyDefinitionName}/providers/Microsoft.PolicyInsights/policyEvents/{policyEventsResource}/queryResults"); - _endpoints[3412] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/{authorizationNamespace}/policyDefinitions/{policyDefinitionName}/providers/Microsoft.PolicyInsights/policyStates/{policyStatesResource}/queryResults"); - _endpoints[3413] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/{authorizationNamespace}/policyDefinitions/{policyDefinitionName}/providers/Microsoft.PolicyInsights/policyStates/{policyStatesSummaryResource}/summarize"); - _endpoints[3414] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/{authorizationNamespace}/policySetDefinitions/{policySetDefinitionName}/providers/Microsoft.PolicyInsights/policyEvents/{policyEventsResource}/queryResults"); - _endpoints[3415] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/{authorizationNamespace}/policySetDefinitions/{policySetDefinitionName}/providers/Microsoft.PolicyInsights/policyStates/{policyStatesResource}/queryResults"); - _endpoints[3416] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/{authorizationNamespace}/policySetDefinitions/{policySetDefinitionName}/providers/Microsoft.PolicyInsights/policyStates/{policyStatesSummaryResource}/summarize"); - _endpoints[3417] = CreateEndpoint("/apps/{appId}/versions/{versionId}/closedlists/{clEntityId}/sublists/{subListId}"); - _endpoints[3418] = CreateEndpoint("/apps/{appId}/versions/{versionId}/closedlists/{entityId}/roles/{roleId}"); - _endpoints[3419] = CreateEndpoint("/apps/{appId}/versions/{versionId}/compositeentities/{cEntityId}/children/{cChildId}"); - _endpoints[3420] = CreateEndpoint("/apps/{appId}/versions/{versionId}/compositeentities/{cEntityId}/roles/{roleId}"); - _endpoints[3421] = CreateEndpoint("/apps/{appId}/versions/{versionId}/customprebuiltentities/{entityId}/roles/{roleId}"); - _endpoints[3422] = CreateEndpoint("/apps/{appId}/versions/{versionId}/entities/{entityId}/roles/{roleId}"); - _endpoints[3423] = CreateEndpoint("/apps/{appId}/versions/{versionId}/hierarchicalentities/{hEntityId}/children/{hChildId}"); - _endpoints[3424] = CreateEndpoint("/apps/{appId}/versions/{versionId}/hierarchicalentities/{hEntityId}/roles/{roleId}"); - _endpoints[3425] = CreateEndpoint("/apps/{appId}/versions/{versionId}/patternanyentities/{entityId}/explicitlist/{itemId}"); - _endpoints[3426] = CreateEndpoint("/apps/{appId}/versions/{versionId}/patternanyentities/{entityId}/roles/{roleId}"); - _endpoints[3427] = CreateEndpoint("/apps/{appId}/versions/{versionId}/prebuilts/{entityId}/roles/{roleId}"); - _endpoints[3428] = CreateEndpoint("/apps/{appId}/versions/{versionId}/regexentities/{entityId}/roles/{roleId}"); - _endpoints[3429] = CreateEndpoint("/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/deployments/{deploymentName}/operations/{operationId}"); - _endpoints[3430] = CreateEndpoint("/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/{authorizationNamespace}/policyAssignments/{policyAssignmentName}/providers/Microsoft.PolicyInsights/policyEvents/{policyEventsResource}/queryResults"); - _endpoints[3431] = CreateEndpoint("/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/{authorizationNamespace}/policyAssignments/{policyAssignmentName}/providers/Microsoft.PolicyInsights/policyStates/{policyStatesResource}/queryResults"); - _endpoints[3432] = CreateEndpoint("/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/{authorizationNamespace}/policyAssignments/{policyAssignmentName}/providers/Microsoft.PolicyInsights/policyStates/{policyStatesSummaryResource}/summarize"); - _endpoints[3433] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{providerNamespace}/{resourceTypeName}/{resourceName}/providers/Microsoft.EventGrid/eventSubscriptions"); - _endpoints[3434] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{providerNamespace}/{resourceTypeName}/{resourceName}/providers/Microsoft.EventGrid/eventTypes"); - _endpoints[3435] = CreateEndpoint("/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/{providerName}/{resourceType}/{resourceName}/providers/Microsoft.OperationsManagement/ManagementAssociations/{managementAssociationName}"); - _endpoints[3436] = CreateEndpoint("/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{parentResourcePath}/{resourceType}/{resourceName}"); - _endpoints[3437] = CreateEndpoint("/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{parentResourcePath}/{resourceType}/{resourceName}/providers/Microsoft.Authorization/locks"); - _endpoints[3438] = CreateEndpoint("/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{parentResourcePath}/{resourceType}/{resourceName}/providers/Microsoft.Authorization/permissions"); - _endpoints[3439] = CreateEndpoint("/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{parentResourcePath}/{resourceType}/{resourceName}/providers/Microsoft.Authorization/policyAssignments"); - _endpoints[3440] = CreateEndpoint("/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{parentResourcePath}/{resourceType}/{resourceName}/providers/Microsoft.Authorization/roleAssignments"); - _endpoints[3441] = CreateEndpoint("/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{parentResourcePath}/{resourceType}/{resourceName}/providers/Microsoft.Authorization/locks/{lockName}"); - _endpoints[3442] = CreateEndpoint("/apps/{appId}/events/{eventType}/{eventId}"); - _endpoints[3443] = CreateEndpoint("/certificates/{certificate-name}/{certificate-version}"); - _endpoints[3444] = CreateEndpoint("/keys/{key-name}/{key-version}"); - _endpoints[3445] = CreateEndpoint("/quotas/{quotaCounterKey}/{quotaPeriodKey}"); - _endpoints[3446] = CreateEndpoint("/secrets/{secret-name}/{secret-version}"); - _endpoints[3447] = CreateEndpoint("/keys/{key-name}/{key-version}/decrypt"); - _endpoints[3448] = CreateEndpoint("/keys/{key-name}/{key-version}/encrypt"); - _endpoints[3449] = CreateEndpoint("/keys/{key-name}/{key-version}/sign"); - _endpoints[3450] = CreateEndpoint("/keys/{key-name}/{key-version}/unwrapkey"); - _endpoints[3451] = CreateEndpoint("/keys/{key-name}/{key-version}/verify"); - _endpoints[3452] = CreateEndpoint("/keys/{key-name}/{key-version}/wrapkey"); - _endpoints[3453] = CreateEndpoint("/{applicationDefinitionId}"); - _endpoints[3454] = CreateEndpoint("/{projectId}/image"); - _endpoints[3455] = CreateEndpoint("/{projectId}/url"); - _endpoints[3456] = CreateEndpoint("/{tenantID}/applications"); - _endpoints[3457] = CreateEndpoint("/{tenantID}/domains"); - _endpoints[3458] = CreateEndpoint("/{tenantID}/getObjectsByObjectIds"); - _endpoints[3459] = CreateEndpoint("/{tenantID}/groups"); - _endpoints[3460] = CreateEndpoint("/{tenantID}/isMemberOf"); - _endpoints[3461] = CreateEndpoint("/{tenantID}/me"); - _endpoints[3462] = CreateEndpoint("/{tenantID}/servicePrincipals"); - _endpoints[3463] = CreateEndpoint("/{tenantID}/users"); - _endpoints[3464] = CreateEndpoint("/{projectId}/image/nostore"); - _endpoints[3465] = CreateEndpoint("/{projectId}/url/nostore"); - _endpoints[3466] = CreateEndpoint("/{resourceUri}/providers/microsoft.insights/calculatebaseline"); - _endpoints[3467] = CreateEndpoint("/{resourceUri}/providers/microsoft.insights/diagnosticSettings"); - _endpoints[3468] = CreateEndpoint("/{resourceUri}/providers/microsoft.insights/diagnosticSettingsCategories"); - _endpoints[3469] = CreateEndpoint("/{resourceUri}/providers/microsoft.insights/metricDefinitions"); - _endpoints[3470] = CreateEndpoint("/{resourceUri}/providers/microsoft.insights/metrics"); - _endpoints[3471] = CreateEndpoint("/{resourceUri}/providers/Microsoft.ResourceHealth/availabilityStatuses"); - _endpoints[3472] = CreateEndpoint("/{scope}/providers/Microsoft.Authorization/policyAssignments"); - _endpoints[3473] = CreateEndpoint("/{scope}/providers/Microsoft.Authorization/roleAssignments"); - _endpoints[3474] = CreateEndpoint("/{scope}/providers/Microsoft.Authorization/roleDefinitions"); - _endpoints[3475] = CreateEndpoint("/{scope}/providers/Microsoft.Consumption/reservationDetails"); - _endpoints[3476] = CreateEndpoint("/{scope}/providers/Microsoft.Consumption/reservationSummaries"); - _endpoints[3477] = CreateEndpoint("/{scope}/providers/Microsoft.Consumption/usageDetails"); - _endpoints[3478] = CreateEndpoint("/{scope}/providers/Microsoft.Resources/links"); - _endpoints[3479] = CreateEndpoint("/{scope}/providers/Microsoft.Security/compliances"); - _endpoints[3480] = CreateEndpoint("/{resourceUri}/providers/microsoft.insights/diagnosticSettings/service"); - _endpoints[3481] = CreateEndpoint("/{resourceUri}/providers/Microsoft.ResourceHealth/availabilityStatuses/current"); - _endpoints[3482] = CreateEndpoint("/{scope}/providers/Microsoft.PolicyInsights/policyEvents/$metadata"); - _endpoints[3483] = CreateEndpoint("/{scope}/providers/Microsoft.PolicyInsights/policyStates/$metadata"); - _endpoints[3484] = CreateEndpoint("/{resourceUri}/providers/Microsoft.Advisor/recommendations/{recommendationId}"); - _endpoints[3485] = CreateEndpoint("/{resourceUri}/providers/microsoft.insights/baseline/{metricName}"); - _endpoints[3486] = CreateEndpoint("/{resourceUri}/providers/microsoft.insights/diagnosticSettings/{name}"); - _endpoints[3487] = CreateEndpoint("/{resourceUri}/providers/microsoft.insights/diagnosticSettingsCategories/{name}"); - _endpoints[3488] = CreateEndpoint("/{scope}/providers/Microsoft.Authorization/locks/{lockName}"); - _endpoints[3489] = CreateEndpoint("/{scope}/providers/Microsoft.Authorization/policyAssignments/{policyAssignmentName}"); - _endpoints[3490] = CreateEndpoint("/{scope}/providers/Microsoft.Authorization/roleAssignments/{roleAssignmentName}"); - _endpoints[3491] = CreateEndpoint("/{scope}/providers/Microsoft.Authorization/roleDefinitions/{roleDefinitionId}"); - _endpoints[3492] = CreateEndpoint("/{scope}/providers/Microsoft.EventGrid/eventSubscriptions/{eventSubscriptionName}"); - _endpoints[3493] = CreateEndpoint("/{scope}/providers/Microsoft.Security/compliances/{complianceName}"); - _endpoints[3494] = CreateEndpoint("/{resourceId}/providers/Microsoft.PolicyInsights/policyEvents/{policyEventsResource}/queryResults"); - _endpoints[3495] = CreateEndpoint("/{resourceId}/providers/Microsoft.PolicyInsights/policyStates/{policyStatesResource}/queryResults"); - _endpoints[3496] = CreateEndpoint("/{resourceId}/providers/Microsoft.PolicyInsights/policyStates/{policyStatesSummaryResource}/summarize"); - _endpoints[3497] = CreateEndpoint("/{scope}/providers/Microsoft.EventGrid/eventSubscriptions/{eventSubscriptionName}/getFullUrl"); - _endpoints[3498] = CreateEndpoint("/{resourceUri}/providers/Microsoft.Advisor/recommendations/{recommendationId}/suppressions/{name}"); - _endpoints[3499] = CreateEndpoint("/{tenantID}/applications/{applicationObjectId}"); - _endpoints[3500] = CreateEndpoint("/{tenantID}/domains/{domainName}"); - _endpoints[3501] = CreateEndpoint("/{tenantID}/groups/{objectId}"); - _endpoints[3502] = CreateEndpoint("/{tenantID}/servicePrincipals/{objectId}"); - _endpoints[3503] = CreateEndpoint("/{tenantID}/users/{upnOrObjectId}"); - _endpoints[3504] = CreateEndpoint("/{projectId}/images/{imageId}/regionproposals"); - _endpoints[3505] = CreateEndpoint("/{tenantID}/applications/{applicationObjectId}/keyCredentials"); - _endpoints[3506] = CreateEndpoint("/{tenantID}/applications/{applicationObjectId}/owners"); - _endpoints[3507] = CreateEndpoint("/{tenantID}/applications/{applicationObjectId}/passwordCredentials"); - _endpoints[3508] = CreateEndpoint("/{tenantID}/groups/{objectId}/getMemberGroups"); - _endpoints[3509] = CreateEndpoint("/{tenantID}/groups/{objectId}/members"); - _endpoints[3510] = CreateEndpoint("/{tenantID}/servicePrincipals/{objectId}/keyCredentials"); - _endpoints[3511] = CreateEndpoint("/{tenantID}/servicePrincipals/{objectId}/owners"); - _endpoints[3512] = CreateEndpoint("/{tenantID}/servicePrincipals/{objectId}/passwordCredentials"); - _endpoints[3513] = CreateEndpoint("/{tenantID}/users/{objectId}/getMemberGroups"); - _endpoints[3514] = CreateEndpoint("/{tenantID}/applications/{applicationObjectId}/$links/owners"); - _endpoints[3515] = CreateEndpoint("/{tenantID}/groups/{groupObjectId}/$links/members"); - _endpoints[3516] = CreateEndpoint("/{tenantID}/groups/{groupObjectId}/$links/members/{memberObjectId}"); - } - - private void SetupRequests() - { - _requests = new HttpContext[3517]; - _requests[0] = new DefaultHttpContext(); - _requests[0].RequestServices = CreateServices(); - _requests[0].Request.Method = "GET"; - _requests[0].Request.Path = "/account"; - _requests[1] = new DefaultHttpContext(); - _requests[1].RequestServices = CreateServices(); - _requests[1].Request.Method = "POST"; - _requests[1].Request.Path = "/analyze"; - _requests[2] = new DefaultHttpContext(); - _requests[2].RequestServices = CreateServices(); - _requests[2].Request.Method = "GET"; - _requests[2].Request.Path = "/apis"; - _requests[3] = new DefaultHttpContext(); - _requests[3].RequestServices = CreateServices(); - _requests[3].Request.Method = "GET"; - _requests[3].Request.Path = "/Applications"; - _requests[4] = new DefaultHttpContext(); - _requests[4].RequestServices = CreateServices(); - _requests[4].Request.Method = "GET"; - _requests[4].Request.Path = "/ApplicationTypes"; - _requests[5] = new DefaultHttpContext(); - _requests[5].RequestServices = CreateServices(); - _requests[5].Request.Method = "GET"; - _requests[5].Request.Path = "/apps"; - _requests[6] = new DefaultHttpContext(); - _requests[6].RequestServices = CreateServices(); - _requests[6].Request.Method = "GET"; - _requests[6].Request.Path = "/authorizationServers"; - _requests[7] = new DefaultHttpContext(); - _requests[7].RequestServices = CreateServices(); - _requests[7].Request.Method = "GET"; - _requests[7].Request.Path = "/backends"; - _requests[8] = new DefaultHttpContext(); - _requests[8].RequestServices = CreateServices(); - _requests[8].Request.Method = "POST"; - _requests[8].Request.Path = "/BuildJob"; - _requests[9] = new DefaultHttpContext(); - _requests[9].RequestServices = CreateServices(); - _requests[9].Request.Method = "GET"; - _requests[9].Request.Path = "/certificates"; - _requests[10] = new DefaultHttpContext(); - _requests[10].RequestServices = CreateServices(); - _requests[10].Request.Method = "GET"; - _requests[10].Request.Path = "/ComposeDeployments"; - _requests[11] = new DefaultHttpContext(); - _requests[11].RequestServices = CreateServices(); - _requests[11].Request.Method = "POST"; - _requests[11].Request.Path = "/datasources"; - _requests[12] = new DefaultHttpContext(); - _requests[12].RequestServices = CreateServices(); - _requests[12].Request.Method = "GET"; - _requests[12].Request.Path = "/deletedcertificates"; - _requests[13] = new DefaultHttpContext(); - _requests[13].RequestServices = CreateServices(); - _requests[13].Request.Method = "GET"; - _requests[13].Request.Path = "/deletedkeys"; - _requests[14] = new DefaultHttpContext(); - _requests[14].RequestServices = CreateServices(); - _requests[14].Request.Method = "GET"; - _requests[14].Request.Path = "/deletedsecrets"; - _requests[15] = new DefaultHttpContext(); - _requests[15].RequestServices = CreateServices(); - _requests[15].Request.Method = "GET"; - _requests[15].Request.Path = "/deletedstorage"; - _requests[16] = new DefaultHttpContext(); - _requests[16].RequestServices = CreateServices(); - _requests[16].Request.Method = "POST"; - _requests[16].Request.Path = "/describe"; - _requests[17] = new DefaultHttpContext(); - _requests[17].RequestServices = CreateServices(); - _requests[17].Request.Method = "POST"; - _requests[17].Request.Path = "/detect"; - _requests[18] = new DefaultHttpContext(); - _requests[18].RequestServices = CreateServices(); - _requests[18].Request.Method = "GET"; - _requests[18].Request.Path = "/domains"; - _requests[19] = new DefaultHttpContext(); - _requests[19].RequestServices = CreateServices(); - _requests[19].Request.Method = "GET"; - _requests[19].Request.Path = "/entities"; - _requests[20] = new DefaultHttpContext(); - _requests[20].RequestServices = CreateServices(); - _requests[20].Request.Method = "GET"; - _requests[20].Request.Path = "/facelists"; - _requests[21] = new DefaultHttpContext(); - _requests[21].RequestServices = CreateServices(); - _requests[21].Request.Method = "GET"; - _requests[21].Request.Path = "/Faults"; - _requests[22] = new DefaultHttpContext(); - _requests[22].RequestServices = CreateServices(); - _requests[22].Request.Method = "POST"; - _requests[22].Request.Path = "/findsimilars"; - _requests[23] = new DefaultHttpContext(); - _requests[23].RequestServices = CreateServices(); - _requests[23].Request.Method = "POST"; - _requests[23].Request.Path = "/generateThumbnail"; - _requests[24] = new DefaultHttpContext(); - _requests[24].RequestServices = CreateServices(); - _requests[24].Request.Method = "POST"; - _requests[24].Request.Path = "/group"; - _requests[25] = new DefaultHttpContext(); - _requests[25].RequestServices = CreateServices(); - _requests[25].Request.Method = "GET"; - _requests[25].Request.Path = "/groups"; - _requests[26] = new DefaultHttpContext(); - _requests[26].RequestServices = CreateServices(); - _requests[26].Request.Method = "POST"; - _requests[26].Request.Path = "/identify"; - _requests[27] = new DefaultHttpContext(); - _requests[27].RequestServices = CreateServices(); - _requests[27].Request.Method = "GET"; - _requests[27].Request.Path = "/identityProviders"; - _requests[28] = new DefaultHttpContext(); - _requests[28].RequestServices = CreateServices(); - _requests[28].Request.Method = "GET"; - _requests[28].Request.Path = "/ImageStore"; - _requests[29] = new DefaultHttpContext(); - _requests[29].RequestServices = CreateServices(); - _requests[29].Request.Method = "POST"; - _requests[29].Request.Path = "/indexers"; - _requests[30] = new DefaultHttpContext(); - _requests[30].RequestServices = CreateServices(); - _requests[30].Request.Method = "GET"; - _requests[30].Request.Path = "/indexes"; - _requests[31] = new DefaultHttpContext(); - _requests[31].RequestServices = CreateServices(); - _requests[31].Request.Method = "GET"; - _requests[31].Request.Path = "/Jobs"; - _requests[32] = new DefaultHttpContext(); - _requests[32].RequestServices = CreateServices(); - _requests[32].Request.Method = "GET"; - _requests[32].Request.Path = "/jobschedules"; - _requests[33] = new DefaultHttpContext(); - _requests[33].RequestServices = CreateServices(); - _requests[33].Request.Method = "GET"; - _requests[33].Request.Path = "/keys"; - _requests[34] = new DefaultHttpContext(); - _requests[34].RequestServices = CreateServices(); - _requests[34].Request.Method = "GET"; - _requests[34].Request.Path = "/lifetimejobstats"; - _requests[35] = new DefaultHttpContext(); - _requests[35].RequestServices = CreateServices(); - _requests[35].Request.Method = "GET"; - _requests[35].Request.Path = "/lifetimepoolstats"; - _requests[36] = new DefaultHttpContext(); - _requests[36].RequestServices = CreateServices(); - _requests[36].Request.Method = "GET"; - _requests[36].Request.Path = "/loggers"; - _requests[37] = new DefaultHttpContext(); - _requests[37].RequestServices = CreateServices(); - _requests[37].Request.Method = "GET"; - _requests[37].Request.Path = "/models"; - _requests[38] = new DefaultHttpContext(); - _requests[38].RequestServices = CreateServices(); - _requests[38].Request.Method = "GET"; - _requests[38].Request.Path = "/news"; - _requests[39] = new DefaultHttpContext(); - _requests[39].RequestServices = CreateServices(); - _requests[39].Request.Method = "GET"; - _requests[39].Request.Path = "/nodeagentskus"; - _requests[40] = new DefaultHttpContext(); - _requests[40].RequestServices = CreateServices(); - _requests[40].Request.Method = "GET"; - _requests[40].Request.Path = "/nodecounts"; - _requests[41] = new DefaultHttpContext(); - _requests[41].RequestServices = CreateServices(); - _requests[41].Request.Method = "GET"; - _requests[41].Request.Path = "/Nodes"; - _requests[42] = new DefaultHttpContext(); - _requests[42].RequestServices = CreateServices(); - _requests[42].Request.Method = "POST"; - _requests[42].Request.Path = "/ocr"; - _requests[43] = new DefaultHttpContext(); - _requests[43].RequestServices = CreateServices(); - _requests[43].Request.Method = "GET"; - _requests[43].Request.Path = "/offers"; - _requests[44] = new DefaultHttpContext(); - _requests[44].RequestServices = CreateServices(); - _requests[44].Request.Method = "GET"; - _requests[44].Request.Path = "/openidConnectProviders"; - _requests[45] = new DefaultHttpContext(); - _requests[45].RequestServices = CreateServices(); - _requests[45].Request.Method = "GET"; - _requests[45].Request.Path = "/persongroups"; - _requests[46] = new DefaultHttpContext(); - _requests[46].RequestServices = CreateServices(); - _requests[46].Request.Method = "GET"; - _requests[46].Request.Path = "/pipelines"; - _requests[47] = new DefaultHttpContext(); - _requests[47].RequestServices = CreateServices(); - _requests[47].Request.Method = "GET"; - _requests[47].Request.Path = "/policies"; - _requests[48] = new DefaultHttpContext(); - _requests[48].RequestServices = CreateServices(); - _requests[48].Request.Method = "GET"; - _requests[48].Request.Path = "/policySnippets"; - _requests[49] = new DefaultHttpContext(); - _requests[49].RequestServices = CreateServices(); - _requests[49].Request.Method = "GET"; - _requests[49].Request.Path = "/pools"; - _requests[50] = new DefaultHttpContext(); - _requests[50].RequestServices = CreateServices(); - _requests[50].Request.Method = "GET"; - _requests[50].Request.Path = "/poolusagemetrics"; - _requests[51] = new DefaultHttpContext(); - _requests[51].RequestServices = CreateServices(); - _requests[51].Request.Method = "GET"; - _requests[51].Request.Path = "/products"; - _requests[52] = new DefaultHttpContext(); - _requests[52].RequestServices = CreateServices(); - _requests[52].Request.Method = "POST"; - _requests[52].Request.Path = "/projects"; - _requests[53] = new DefaultHttpContext(); - _requests[53].RequestServices = CreateServices(); - _requests[53].Request.Method = "GET"; - _requests[53].Request.Path = "/properties"; - _requests[54] = new DefaultHttpContext(); - _requests[54].RequestServices = CreateServices(); - _requests[54].Request.Method = "POST"; - _requests[54].Request.Path = "/recognizeText"; - _requests[55] = new DefaultHttpContext(); - _requests[55].RequestServices = CreateServices(); - _requests[55].Request.Method = "GET"; - _requests[55].Request.Path = "/recurrences"; - _requests[56] = new DefaultHttpContext(); - _requests[56].RequestServices = CreateServices(); - _requests[56].Request.Method = "GET"; - _requests[56].Request.Path = "/regions"; - _requests[57] = new DefaultHttpContext(); - _requests[57].RequestServices = CreateServices(); - _requests[57].Request.Method = "GET"; - _requests[57].Request.Path = "/search"; - _requests[58] = new DefaultHttpContext(); - _requests[58].RequestServices = CreateServices(); - _requests[58].Request.Method = "GET"; - _requests[58].Request.Path = "/secrets"; - _requests[59] = new DefaultHttpContext(); - _requests[59].RequestServices = CreateServices(); - _requests[59].Request.Method = "GET"; - _requests[59].Request.Path = "/servicestats"; - _requests[60] = new DefaultHttpContext(); - _requests[60].RequestServices = CreateServices(); - _requests[60].Request.Method = "POST"; - _requests[60].Request.Path = "/spellcheck"; - _requests[61] = new DefaultHttpContext(); - _requests[61].RequestServices = CreateServices(); - _requests[61].Request.Method = "GET"; - _requests[61].Request.Path = "/storage"; - _requests[62] = new DefaultHttpContext(); - _requests[62].RequestServices = CreateServices(); - _requests[62].Request.Method = "GET"; - _requests[62].Request.Path = "/subscriptions"; - _requests[63] = new DefaultHttpContext(); - _requests[63].RequestServices = CreateServices(); - _requests[63].Request.Method = "POST"; - _requests[63].Request.Path = "/synonymmaps"; - _requests[64] = new DefaultHttpContext(); - _requests[64].RequestServices = CreateServices(); - _requests[64].Request.Method = "POST"; - _requests[64].Request.Path = "/tag"; - _requests[65] = new DefaultHttpContext(); - _requests[65].RequestServices = CreateServices(); - _requests[65].Request.Method = "GET"; - _requests[65].Request.Path = "/templates"; - _requests[66] = new DefaultHttpContext(); - _requests[66].RequestServices = CreateServices(); - _requests[66].Request.Method = "GET"; - _requests[66].Request.Path = "/tenants"; - _requests[67] = new DefaultHttpContext(); - _requests[67].RequestServices = CreateServices(); - _requests[67].Request.Method = "GET"; - _requests[67].Request.Path = "/users"; - _requests[68] = new DefaultHttpContext(); - _requests[68].RequestServices = CreateServices(); - _requests[68].Request.Method = "POST"; - _requests[68].Request.Path = "/verify"; - _requests[69] = new DefaultHttpContext(); - _requests[69].RequestServices = CreateServices(); - _requests[69].Request.Method = "POST"; - _requests[69].Request.Path = "/$/CancelRepairTask"; - _requests[70] = new DefaultHttpContext(); - _requests[70].RequestServices = CreateServices(); - _requests[70].Request.Method = "POST"; - _requests[70].Request.Path = "/$/CreateRepairTask"; - _requests[71] = new DefaultHttpContext(); - _requests[71].RequestServices = CreateServices(); - _requests[71].Request.Method = "POST"; - _requests[71].Request.Path = "/$/DeleteRepairTask"; - _requests[72] = new DefaultHttpContext(); - _requests[72].RequestServices = CreateServices(); - _requests[72].Request.Method = "POST"; - _requests[72].Request.Path = "/$/ForceApproveRepairTask"; - _requests[73] = new DefaultHttpContext(); - _requests[73].RequestServices = CreateServices(); - _requests[73].Request.Method = "GET"; - _requests[73].Request.Path = "/$/GetAadMetadata"; - _requests[74] = new DefaultHttpContext(); - _requests[74].RequestServices = CreateServices(); - _requests[74].Request.Method = "GET"; - _requests[74].Request.Path = "/$/GetClusterConfiguration"; - _requests[75] = new DefaultHttpContext(); - _requests[75].RequestServices = CreateServices(); - _requests[75].Request.Method = "GET"; - _requests[75].Request.Path = "/$/GetClusterConfigurationUpgradeStatus"; - _requests[76] = new DefaultHttpContext(); - _requests[76].RequestServices = CreateServices(); - _requests[76].Request.Method = "POST"; - _requests[76].Request.Path = "/$/GetClusterHealth"; - _requests[77] = new DefaultHttpContext(); - _requests[77].RequestServices = CreateServices(); - _requests[77].Request.Method = "POST"; - _requests[77].Request.Path = "/$/GetClusterHealthChunk"; - _requests[78] = new DefaultHttpContext(); - _requests[78].RequestServices = CreateServices(); - _requests[78].Request.Method = "GET"; - _requests[78].Request.Path = "/$/GetClusterManifest"; - _requests[79] = new DefaultHttpContext(); - _requests[79].RequestServices = CreateServices(); - _requests[79].Request.Method = "GET"; - _requests[79].Request.Path = "/$/GetLoadInformation"; - _requests[80] = new DefaultHttpContext(); - _requests[80].RequestServices = CreateServices(); - _requests[80].Request.Method = "GET"; - _requests[80].Request.Path = "/$/GetProvisionedCodeVersions"; - _requests[81] = new DefaultHttpContext(); - _requests[81].RequestServices = CreateServices(); - _requests[81].Request.Method = "GET"; - _requests[81].Request.Path = "/$/GetProvisionedConfigVersions"; - _requests[82] = new DefaultHttpContext(); - _requests[82].RequestServices = CreateServices(); - _requests[82].Request.Method = "GET"; - _requests[82].Request.Path = "/$/GetRepairTaskList"; - _requests[83] = new DefaultHttpContext(); - _requests[83].RequestServices = CreateServices(); - _requests[83].Request.Method = "GET"; - _requests[83].Request.Path = "/$/GetUpgradeOrchestrationServiceState"; - _requests[84] = new DefaultHttpContext(); - _requests[84].RequestServices = CreateServices(); - _requests[84].Request.Method = "GET"; - _requests[84].Request.Path = "/$/GetUpgradeProgress"; - _requests[85] = new DefaultHttpContext(); - _requests[85].RequestServices = CreateServices(); - _requests[85].Request.Method = "POST"; - _requests[85].Request.Path = "/$/InvokeInfrastructureCommand"; - _requests[86] = new DefaultHttpContext(); - _requests[86].RequestServices = CreateServices(); - _requests[86].Request.Method = "GET"; - _requests[86].Request.Path = "/$/InvokeInfrastructureQuery"; - _requests[87] = new DefaultHttpContext(); - _requests[87].RequestServices = CreateServices(); - _requests[87].Request.Method = "POST"; - _requests[87].Request.Path = "/$/MoveToNextUpgradeDomain"; - _requests[88] = new DefaultHttpContext(); - _requests[88].RequestServices = CreateServices(); - _requests[88].Request.Method = "POST"; - _requests[88].Request.Path = "/$/Provision"; - _requests[89] = new DefaultHttpContext(); - _requests[89].RequestServices = CreateServices(); - _requests[89].Request.Method = "POST"; - _requests[89].Request.Path = "/$/RecoverAllPartitions"; - _requests[90] = new DefaultHttpContext(); - _requests[90].RequestServices = CreateServices(); - _requests[90].Request.Method = "POST"; - _requests[90].Request.Path = "/$/RecoverSystemPartitions"; - _requests[91] = new DefaultHttpContext(); - _requests[91].RequestServices = CreateServices(); - _requests[91].Request.Method = "POST"; - _requests[91].Request.Path = "/$/ReportClusterHealth"; - _requests[92] = new DefaultHttpContext(); - _requests[92].RequestServices = CreateServices(); - _requests[92].Request.Method = "POST"; - _requests[92].Request.Path = "/$/RollbackUpgrade"; - _requests[93] = new DefaultHttpContext(); - _requests[93].RequestServices = CreateServices(); - _requests[93].Request.Method = "POST"; - _requests[93].Request.Path = "/$/SetUpgradeOrchestrationServiceState"; - _requests[94] = new DefaultHttpContext(); - _requests[94].RequestServices = CreateServices(); - _requests[94].Request.Method = "POST"; - _requests[94].Request.Path = "/$/StartClusterConfigurationUpgrade"; - _requests[95] = new DefaultHttpContext(); - _requests[95].RequestServices = CreateServices(); - _requests[95].Request.Method = "POST"; - _requests[95].Request.Path = "/$/Unprovision"; - _requests[96] = new DefaultHttpContext(); - _requests[96].RequestServices = CreateServices(); - _requests[96].Request.Method = "POST"; - _requests[96].Request.Path = "/$/UpdateRepairExecutionState"; - _requests[97] = new DefaultHttpContext(); - _requests[97].RequestServices = CreateServices(); - _requests[97].Request.Method = "POST"; - _requests[97].Request.Path = "/$/UpdateRepairTaskHealthPolicy"; - _requests[98] = new DefaultHttpContext(); - _requests[98].RequestServices = CreateServices(); - _requests[98].Request.Method = "POST"; - _requests[98].Request.Path = "/$/UpdateUpgrade"; - _requests[99] = new DefaultHttpContext(); - _requests[99].RequestServices = CreateServices(); - _requests[99].Request.Method = "POST"; - _requests[99].Request.Path = "/$/Upgrade"; - _requests[100] = new DefaultHttpContext(); - _requests[100].RequestServices = CreateServices(); - _requests[100].Request.Method = "POST"; - _requests[100].Request.Path = "/api/events"; - _requests[101] = new DefaultHttpContext(); - _requests[101].RequestServices = CreateServices(); - _requests[101].Request.Method = "GET"; - _requests[101].Request.Path = "/apps/assistants"; - _requests[102] = new DefaultHttpContext(); - _requests[102].RequestServices = CreateServices(); - _requests[102].Request.Method = "GET"; - _requests[102].Request.Path = "/apps/cultures"; - _requests[103] = new DefaultHttpContext(); - _requests[103].RequestServices = CreateServices(); - _requests[103].Request.Method = "POST"; - _requests[103].Request.Path = "/apps/customprebuiltdomains"; - _requests[104] = new DefaultHttpContext(); - _requests[104].RequestServices = CreateServices(); - _requests[104].Request.Method = "GET"; - _requests[104].Request.Path = "/apps/domains"; - _requests[105] = new DefaultHttpContext(); - _requests[105].RequestServices = CreateServices(); - _requests[105].Request.Method = "POST"; - _requests[105].Request.Path = "/apps/import"; - _requests[106] = new DefaultHttpContext(); - _requests[106].RequestServices = CreateServices(); - _requests[106].Request.Method = "GET"; - _requests[106].Request.Path = "/apps/usagescenarios"; - _requests[107] = new DefaultHttpContext(); - _requests[107].RequestServices = CreateServices(); - _requests[107].Request.Method = "GET"; - _requests[107].Request.Path = "/BackupRestore/BackupPolicies"; - _requests[108] = new DefaultHttpContext(); - _requests[108].RequestServices = CreateServices(); - _requests[108].Request.Method = "DELETE"; - _requests[108].Request.Path = "/certificates/contacts"; - _requests[109] = new DefaultHttpContext(); - _requests[109].RequestServices = CreateServices(); - _requests[109].Request.Method = "GET"; - _requests[109].Request.Path = "/certificates/issuers"; - _requests[110] = new DefaultHttpContext(); - _requests[110].RequestServices = CreateServices(); - _requests[110].Request.Method = "GET"; - _requests[110].Request.Path = "/docs/$count"; - _requests[111] = new DefaultHttpContext(); - _requests[111].RequestServices = CreateServices(); - _requests[111].Request.Method = "POST"; - _requests[111].Request.Path = "/docs/autocomplete"; - _requests[112] = new DefaultHttpContext(); - _requests[112].RequestServices = CreateServices(); - _requests[112].Request.Method = "GET"; - _requests[112].Request.Path = "/images/details"; - _requests[113] = new DefaultHttpContext(); - _requests[113].RequestServices = CreateServices(); - _requests[113].Request.Method = "GET"; - _requests[113].Request.Path = "/images/search"; - _requests[114] = new DefaultHttpContext(); - _requests[114].RequestServices = CreateServices(); - _requests[114].Request.Method = "GET"; - _requests[114].Request.Path = "/images/trending"; - _requests[115] = new DefaultHttpContext(); - _requests[115].RequestServices = CreateServices(); - _requests[115].Request.Method = "POST"; - _requests[115].Request.Path = "/images/visualsearch"; - _requests[116] = new DefaultHttpContext(); - _requests[116].RequestServices = CreateServices(); - _requests[116].Request.Method = "POST"; - _requests[116].Request.Path = "/keys/restore"; - _requests[117] = new DefaultHttpContext(); - _requests[117].RequestServices = CreateServices(); - _requests[117].Request.Method = "GET"; - _requests[117].Request.Path = "/news/search"; - _requests[118] = new DefaultHttpContext(); - _requests[118].RequestServices = CreateServices(); - _requests[118].Request.Method = "GET"; - _requests[118].Request.Path = "/news/trendingtopics"; - _requests[119] = new DefaultHttpContext(); - _requests[119].RequestServices = CreateServices(); - _requests[119].Request.Method = "PUT"; - _requests[119].Request.Path = "/portalsettings/delegation"; - _requests[120] = new DefaultHttpContext(); - _requests[120].RequestServices = CreateServices(); - _requests[120].Request.Method = "PUT"; - _requests[120].Request.Path = "/portalsettings/signin"; - _requests[121] = new DefaultHttpContext(); - _requests[121].RequestServices = CreateServices(); - _requests[121].Request.Method = "PUT"; - _requests[121].Request.Path = "/portalsettings/signup"; - _requests[122] = new DefaultHttpContext(); - _requests[122].RequestServices = CreateServices(); - _requests[122].Request.Method = "GET"; - _requests[122].Request.Path = "/reports/byApi"; - _requests[123] = new DefaultHttpContext(); - _requests[123].RequestServices = CreateServices(); - _requests[123].Request.Method = "GET"; - _requests[123].Request.Path = "/reports/byGeo"; - _requests[124] = new DefaultHttpContext(); - _requests[124].RequestServices = CreateServices(); - _requests[124].Request.Method = "GET"; - _requests[124].Request.Path = "/reports/byOperation"; - _requests[125] = new DefaultHttpContext(); - _requests[125].RequestServices = CreateServices(); - _requests[125].Request.Method = "GET"; - _requests[125].Request.Path = "/reports/byProduct"; - _requests[126] = new DefaultHttpContext(); - _requests[126].RequestServices = CreateServices(); - _requests[126].Request.Method = "GET"; - _requests[126].Request.Path = "/reports/byRequest"; - _requests[127] = new DefaultHttpContext(); - _requests[127].RequestServices = CreateServices(); - _requests[127].Request.Method = "GET"; - _requests[127].Request.Path = "/reports/bySubscription"; - _requests[128] = new DefaultHttpContext(); - _requests[128].RequestServices = CreateServices(); - _requests[128].Request.Method = "GET"; - _requests[128].Request.Path = "/reports/byTime"; - _requests[129] = new DefaultHttpContext(); - _requests[129].RequestServices = CreateServices(); - _requests[129].Request.Method = "GET"; - _requests[129].Request.Path = "/reports/byUser"; - _requests[130] = new DefaultHttpContext(); - _requests[130].RequestServices = CreateServices(); - _requests[130].Request.Method = "POST"; - _requests[130].Request.Path = "/secrets/restore"; - _requests[131] = new DefaultHttpContext(); - _requests[131].RequestServices = CreateServices(); - _requests[131].Request.Method = "POST"; - _requests[131].Request.Path = "/storage/restore"; - _requests[132] = new DefaultHttpContext(); - _requests[132].RequestServices = CreateServices(); - _requests[132].Request.Method = "GET"; - _requests[132].Request.Path = "/Tools/Chaos"; - _requests[133] = new DefaultHttpContext(); - _requests[133].RequestServices = CreateServices(); - _requests[133].Request.Method = "POST"; - _requests[133].Request.Path = "/v2.0/entities"; - _requests[134] = new DefaultHttpContext(); - _requests[134].RequestServices = CreateServices(); - _requests[134].Request.Method = "POST"; - _requests[134].Request.Path = "/v2.0/keyPhrases"; - _requests[135] = new DefaultHttpContext(); - _requests[135].RequestServices = CreateServices(); - _requests[135].Request.Method = "POST"; - _requests[135].Request.Path = "/v2.0/languages"; - _requests[136] = new DefaultHttpContext(); - _requests[136].RequestServices = CreateServices(); - _requests[136].Request.Method = "POST"; - _requests[136].Request.Path = "/v2.0/sentiment"; - _requests[137] = new DefaultHttpContext(); - _requests[137].RequestServices = CreateServices(); - _requests[137].Request.Method = "GET"; - _requests[137].Request.Path = "/videos/details"; - _requests[138] = new DefaultHttpContext(); - _requests[138].RequestServices = CreateServices(); - _requests[138].Request.Method = "GET"; - _requests[138].Request.Path = "/videos/search"; - _requests[139] = new DefaultHttpContext(); - _requests[139].RequestServices = CreateServices(); - _requests[139].Request.Method = "GET"; - _requests[139].Request.Path = "/videos/trending"; - _requests[140] = new DefaultHttpContext(); - _requests[140].RequestServices = CreateServices(); - _requests[140].Request.Method = "POST"; - _requests[140].Request.Path = "/Applications/$/Create"; - _requests[141] = new DefaultHttpContext(); - _requests[141].RequestServices = CreateServices(); - _requests[141].Request.Method = "POST"; - _requests[141].Request.Path = "/ApplicationTypes/$/Provision"; - _requests[142] = new DefaultHttpContext(); - _requests[142].RequestServices = CreateServices(); - _requests[142].Request.Method = "POST"; - _requests[142].Request.Path = "/BackupRestore/$/GetBackups"; - _requests[143] = new DefaultHttpContext(); - _requests[143].RequestServices = CreateServices(); - _requests[143].Request.Method = "GET"; - _requests[143].Request.Path = "/catalog/usql/acl"; - _requests[144] = new DefaultHttpContext(); - _requests[144].RequestServices = CreateServices(); - _requests[144].Request.Method = "GET"; - _requests[144].Request.Path = "/catalog/usql/databases"; - _requests[145] = new DefaultHttpContext(); - _requests[145].RequestServices = CreateServices(); - _requests[145].Request.Method = "PUT"; - _requests[145].Request.Path = "/ComposeDeployments/$/Create"; - _requests[146] = new DefaultHttpContext(); - _requests[146].RequestServices = CreateServices(); - _requests[146].Request.Method = "GET"; - _requests[146].Request.Path = "/EventsStore/Applications/Events"; - _requests[147] = new DefaultHttpContext(); - _requests[147].RequestServices = CreateServices(); - _requests[147].Request.Method = "GET"; - _requests[147].Request.Path = "/EventsStore/Cluster/Events"; - _requests[148] = new DefaultHttpContext(); - _requests[148].RequestServices = CreateServices(); - _requests[148].Request.Method = "GET"; - _requests[148].Request.Path = "/EventsStore/Containers/Events"; - _requests[149] = new DefaultHttpContext(); - _requests[149].RequestServices = CreateServices(); - _requests[149].Request.Method = "GET"; - _requests[149].Request.Path = "/EventsStore/Nodes/Events"; - _requests[150] = new DefaultHttpContext(); - _requests[150].RequestServices = CreateServices(); - _requests[150].Request.Method = "GET"; - _requests[150].Request.Path = "/EventsStore/Partitions/Events"; - _requests[151] = new DefaultHttpContext(); - _requests[151].RequestServices = CreateServices(); - _requests[151].Request.Method = "GET"; - _requests[151].Request.Path = "/EventsStore/Services/Events"; - _requests[152] = new DefaultHttpContext(); - _requests[152].RequestServices = CreateServices(); - _requests[152].Request.Method = "POST"; - _requests[152].Request.Path = "/Faults/$/Cancel"; - _requests[153] = new DefaultHttpContext(); - _requests[153].RequestServices = CreateServices(); - _requests[153].Request.Method = "POST"; - _requests[153].Request.Path = "/ImageStore/$/CommitUploadSession"; - _requests[154] = new DefaultHttpContext(); - _requests[154].RequestServices = CreateServices(); - _requests[154].Request.Method = "POST"; - _requests[154].Request.Path = "/ImageStore/$/Copy"; - _requests[155] = new DefaultHttpContext(); - _requests[155].RequestServices = CreateServices(); - _requests[155].Request.Method = "DELETE"; - _requests[155].Request.Path = "/ImageStore/$/DeleteUploadSession"; - _requests[156] = new DefaultHttpContext(); - _requests[156].RequestServices = CreateServices(); - _requests[156].Request.Method = "GET"; - _requests[156].Request.Path = "/ImageStore/$/GetUploadSession"; - _requests[157] = new DefaultHttpContext(); - _requests[157].RequestServices = CreateServices(); - _requests[157].Request.Method = "POST"; - _requests[157].Request.Path = "/Names/$/Create"; - _requests[158] = new DefaultHttpContext(); - _requests[158].RequestServices = CreateServices(); - _requests[158].Request.Method = "GET"; - _requests[158].Request.Path = "/providers/Microsoft.AAD/operations"; - _requests[159] = new DefaultHttpContext(); - _requests[159].RequestServices = CreateServices(); - _requests[159].Request.Method = "GET"; - _requests[159].Request.Path = "/providers/Microsoft.Addons/operations"; - _requests[160] = new DefaultHttpContext(); - _requests[160].RequestServices = CreateServices(); - _requests[160].Request.Method = "POST"; - _requests[160].Request.Path = "/providers/Microsoft.ADHybridHealthService/addsservices"; - _requests[161] = new DefaultHttpContext(); - _requests[161].RequestServices = CreateServices(); - _requests[161].Request.Method = "PATCH"; - _requests[161].Request.Path = "/providers/Microsoft.ADHybridHealthService/configuration"; - _requests[162] = new DefaultHttpContext(); - _requests[162].RequestServices = CreateServices(); - _requests[162].Request.Method = "GET"; - _requests[162].Request.Path = "/providers/Microsoft.ADHybridHealthService/operations"; - _requests[163] = new DefaultHttpContext(); - _requests[163].RequestServices = CreateServices(); - _requests[163].Request.Method = "POST"; - _requests[163].Request.Path = "/providers/Microsoft.ADHybridHealthService/services"; - _requests[164] = new DefaultHttpContext(); - _requests[164].RequestServices = CreateServices(); - _requests[164].Request.Method = "GET"; - _requests[164].Request.Path = "/providers/Microsoft.Advisor/operations"; - _requests[165] = new DefaultHttpContext(); - _requests[165].RequestServices = CreateServices(); - _requests[165].Request.Method = "GET"; - _requests[165].Request.Path = "/providers/Microsoft.AnalysisServices/operations"; - _requests[166] = new DefaultHttpContext(); - _requests[166].RequestServices = CreateServices(); - _requests[166].Request.Method = "GET"; - _requests[166].Request.Path = "/providers/Microsoft.ApiManagement/operations"; - _requests[167] = new DefaultHttpContext(); - _requests[167].RequestServices = CreateServices(); - _requests[167].Request.Method = "GET"; - _requests[167].Request.Path = "/providers/Microsoft.Authorization/policyDefinitions"; - _requests[168] = new DefaultHttpContext(); - _requests[168].RequestServices = CreateServices(); - _requests[168].Request.Method = "GET"; - _requests[168].Request.Path = "/providers/Microsoft.Authorization/policySetDefinitions"; - _requests[169] = new DefaultHttpContext(); - _requests[169].RequestServices = CreateServices(); - _requests[169].Request.Method = "GET"; - _requests[169].Request.Path = "/providers/Microsoft.Authorization/providerOperations"; - _requests[170] = new DefaultHttpContext(); - _requests[170].RequestServices = CreateServices(); - _requests[170].Request.Method = "GET"; - _requests[170].Request.Path = "/providers/Microsoft.Automation/operations"; - _requests[171] = new DefaultHttpContext(); - _requests[171].RequestServices = CreateServices(); - _requests[171].Request.Method = "GET"; - _requests[171].Request.Path = "/providers/Microsoft.AzureStack/operations"; - _requests[172] = new DefaultHttpContext(); - _requests[172].RequestServices = CreateServices(); - _requests[172].Request.Method = "GET"; - _requests[172].Request.Path = "/providers/Microsoft.Backup.Admin/operations"; - _requests[173] = new DefaultHttpContext(); - _requests[173].RequestServices = CreateServices(); - _requests[173].Request.Method = "GET"; - _requests[173].Request.Path = "/providers/Microsoft.Batch/operations"; - _requests[174] = new DefaultHttpContext(); - _requests[174].RequestServices = CreateServices(); - _requests[174].Request.Method = "GET"; - _requests[174].Request.Path = "/providers/Microsoft.BatchAI/operations"; - _requests[175] = new DefaultHttpContext(); - _requests[175].RequestServices = CreateServices(); - _requests[175].Request.Method = "GET"; - _requests[175].Request.Path = "/providers/Microsoft.Billing/enrollmentAccounts"; - _requests[176] = new DefaultHttpContext(); - _requests[176].RequestServices = CreateServices(); - _requests[176].Request.Method = "GET"; - _requests[176].Request.Path = "/providers/Microsoft.Billing/operations"; - _requests[177] = new DefaultHttpContext(); - _requests[177].RequestServices = CreateServices(); - _requests[177].Request.Method = "GET"; - _requests[177].Request.Path = "/providers/Microsoft.BotService/operations"; - _requests[178] = new DefaultHttpContext(); - _requests[178].RequestServices = CreateServices(); - _requests[178].Request.Method = "GET"; - _requests[178].Request.Path = "/providers/Microsoft.Cache/operations"; - _requests[179] = new DefaultHttpContext(); - _requests[179].RequestServices = CreateServices(); - _requests[179].Request.Method = "GET"; - _requests[179].Request.Path = "/providers/Microsoft.Capacity/operations"; - _requests[180] = new DefaultHttpContext(); - _requests[180].RequestServices = CreateServices(); - _requests[180].Request.Method = "GET"; - _requests[180].Request.Path = "/providers/Microsoft.Capacity/reservationOrders"; - _requests[181] = new DefaultHttpContext(); - _requests[181].RequestServices = CreateServices(); - _requests[181].Request.Method = "POST"; - _requests[181].Request.Path = "/providers/Microsoft.Cdn/checkNameAvailability"; - _requests[182] = new DefaultHttpContext(); - _requests[182].RequestServices = CreateServices(); - _requests[182].Request.Method = "GET"; - _requests[182].Request.Path = "/providers/Microsoft.Cdn/edgenodes"; - _requests[183] = new DefaultHttpContext(); - _requests[183].RequestServices = CreateServices(); - _requests[183].Request.Method = "GET"; - _requests[183].Request.Path = "/providers/Microsoft.Cdn/operations"; - _requests[184] = new DefaultHttpContext(); - _requests[184].RequestServices = CreateServices(); - _requests[184].Request.Method = "GET"; - _requests[184].Request.Path = "/providers/Microsoft.CertificateRegistration/operations"; - _requests[185] = new DefaultHttpContext(); - _requests[185].RequestServices = CreateServices(); - _requests[185].Request.Method = "GET"; - _requests[185].Request.Path = "/providers/Microsoft.CognitiveServices/operations"; - _requests[186] = new DefaultHttpContext(); - _requests[186].RequestServices = CreateServices(); - _requests[186].Request.Method = "GET"; - _requests[186].Request.Path = "/providers/Microsoft.Commerce.Admin/operations"; - _requests[187] = new DefaultHttpContext(); - _requests[187].RequestServices = CreateServices(); - _requests[187].Request.Method = "GET"; - _requests[187].Request.Path = "/providers/Microsoft.Compute.Admin/operations"; - _requests[188] = new DefaultHttpContext(); - _requests[188].RequestServices = CreateServices(); - _requests[188].Request.Method = "GET"; - _requests[188].Request.Path = "/providers/Microsoft.Compute/operations"; - _requests[189] = new DefaultHttpContext(); - _requests[189].RequestServices = CreateServices(); - _requests[189].Request.Method = "GET"; - _requests[189].Request.Path = "/providers/Microsoft.Consumption/operations"; - _requests[190] = new DefaultHttpContext(); - _requests[190].RequestServices = CreateServices(); - _requests[190].Request.Method = "GET"; - _requests[190].Request.Path = "/providers/Microsoft.ContainerInstance/operations"; - _requests[191] = new DefaultHttpContext(); - _requests[191].RequestServices = CreateServices(); - _requests[191].Request.Method = "GET"; - _requests[191].Request.Path = "/providers/Microsoft.ContainerRegistry/operations"; - _requests[192] = new DefaultHttpContext(); - _requests[192].RequestServices = CreateServices(); - _requests[192].Request.Method = "GET"; - _requests[192].Request.Path = "/providers/Microsoft.ContainerService/operations"; - _requests[193] = new DefaultHttpContext(); - _requests[193].RequestServices = CreateServices(); - _requests[193].Request.Method = "GET"; - _requests[193].Request.Path = "/providers/Microsoft.CustomerInsights/operations"; - _requests[194] = new DefaultHttpContext(); - _requests[194].RequestServices = CreateServices(); - _requests[194].Request.Method = "GET"; - _requests[194].Request.Path = "/providers/Microsoft.DataBox/operations"; - _requests[195] = new DefaultHttpContext(); - _requests[195].RequestServices = CreateServices(); - _requests[195].Request.Method = "GET"; - _requests[195].Request.Path = "/providers/Microsoft.Databricks/operations"; - _requests[196] = new DefaultHttpContext(); - _requests[196].RequestServices = CreateServices(); - _requests[196].Request.Method = "GET"; - _requests[196].Request.Path = "/providers/Microsoft.DataCatalog/operations"; - _requests[197] = new DefaultHttpContext(); - _requests[197].RequestServices = CreateServices(); - _requests[197].Request.Method = "GET"; - _requests[197].Request.Path = "/providers/Microsoft.DataFactory/operations"; - _requests[198] = new DefaultHttpContext(); - _requests[198].RequestServices = CreateServices(); - _requests[198].Request.Method = "GET"; - _requests[198].Request.Path = "/providers/Microsoft.DataLakeAnalytics/operations"; - _requests[199] = new DefaultHttpContext(); - _requests[199].RequestServices = CreateServices(); - _requests[199].Request.Method = "GET"; - _requests[199].Request.Path = "/providers/Microsoft.DataLakeStore/operations"; - _requests[200] = new DefaultHttpContext(); - _requests[200].RequestServices = CreateServices(); - _requests[200].Request.Method = "GET"; - _requests[200].Request.Path = "/providers/Microsoft.DataMigration/operations"; - _requests[201] = new DefaultHttpContext(); - _requests[201].RequestServices = CreateServices(); - _requests[201].Request.Method = "GET"; - _requests[201].Request.Path = "/providers/Microsoft.DBforMySQL/operations"; - _requests[202] = new DefaultHttpContext(); - _requests[202].RequestServices = CreateServices(); - _requests[202].Request.Method = "GET"; - _requests[202].Request.Path = "/providers/Microsoft.DBforPostgreSQL/operations"; - _requests[203] = new DefaultHttpContext(); - _requests[203].RequestServices = CreateServices(); - _requests[203].Request.Method = "GET"; - _requests[203].Request.Path = "/providers/Microsoft.Devices/operations"; - _requests[204] = new DefaultHttpContext(); - _requests[204].RequestServices = CreateServices(); - _requests[204].Request.Method = "GET"; - _requests[204].Request.Path = "/providers/Microsoft.DevTestLab/operations"; - _requests[205] = new DefaultHttpContext(); - _requests[205].RequestServices = CreateServices(); - _requests[205].Request.Method = "GET"; - _requests[205].Request.Path = "/providers/Microsoft.DocumentDB/operations"; - _requests[206] = new DefaultHttpContext(); - _requests[206].RequestServices = CreateServices(); - _requests[206].Request.Method = "GET"; - _requests[206].Request.Path = "/providers/Microsoft.DomainRegistration/operations"; - _requests[207] = new DefaultHttpContext(); - _requests[207].RequestServices = CreateServices(); - _requests[207].Request.Method = "GET"; - _requests[207].Request.Path = "/providers/Microsoft.EventGrid/operations"; - _requests[208] = new DefaultHttpContext(); - _requests[208].RequestServices = CreateServices(); - _requests[208].Request.Method = "GET"; - _requests[208].Request.Path = "/providers/Microsoft.EventGrid/topicTypes"; - _requests[209] = new DefaultHttpContext(); - _requests[209].RequestServices = CreateServices(); - _requests[209].Request.Method = "GET"; - _requests[209].Request.Path = "/providers/Microsoft.EventHub/operations"; - _requests[210] = new DefaultHttpContext(); - _requests[210].RequestServices = CreateServices(); - _requests[210].Request.Method = "GET"; - _requests[210].Request.Path = "/providers/Microsoft.Fabric.Admin/operations"; - _requests[211] = new DefaultHttpContext(); - _requests[211].RequestServices = CreateServices(); - _requests[211].Request.Method = "GET"; - _requests[211].Request.Path = "/providers/Microsoft.Gallery.Admin/operations"; - _requests[212] = new DefaultHttpContext(); - _requests[212].RequestServices = CreateServices(); - _requests[212].Request.Method = "GET"; - _requests[212].Request.Path = "/providers/Microsoft.HanaOnAzure/operations"; - _requests[213] = new DefaultHttpContext(); - _requests[213].RequestServices = CreateServices(); - _requests[213].Request.Method = "GET"; - _requests[213].Request.Path = "/providers/Microsoft.HDInsight/operations"; - _requests[214] = new DefaultHttpContext(); - _requests[214].RequestServices = CreateServices(); - _requests[214].Request.Method = "GET"; - _requests[214].Request.Path = "/providers/Microsoft.ImportExport/locations"; - _requests[215] = new DefaultHttpContext(); - _requests[215].RequestServices = CreateServices(); - _requests[215].Request.Method = "GET"; - _requests[215].Request.Path = "/providers/Microsoft.ImportExport/operations"; - _requests[216] = new DefaultHttpContext(); - _requests[216].RequestServices = CreateServices(); - _requests[216].Request.Method = "GET"; - _requests[216].Request.Path = "/providers/Microsoft.InfrastructureInsights.Admin/operations"; - _requests[217] = new DefaultHttpContext(); - _requests[217].RequestServices = CreateServices(); - _requests[217].Request.Method = "GET"; - _requests[217].Request.Path = "/providers/microsoft.insights/eventcategories"; - _requests[218] = new DefaultHttpContext(); - _requests[218].RequestServices = CreateServices(); - _requests[218].Request.Method = "GET"; - _requests[218].Request.Path = "/providers/microsoft.insights/operations"; - _requests[219] = new DefaultHttpContext(); - _requests[219].RequestServices = CreateServices(); - _requests[219].Request.Method = "GET"; - _requests[219].Request.Path = "/providers/Microsoft.Intune/locations"; - _requests[220] = new DefaultHttpContext(); - _requests[220].RequestServices = CreateServices(); - _requests[220].Request.Method = "GET"; - _requests[220].Request.Path = "/providers/Microsoft.IoTCentral/operations"; - _requests[221] = new DefaultHttpContext(); - _requests[221].RequestServices = CreateServices(); - _requests[221].Request.Method = "GET"; - _requests[221].Request.Path = "/providers/Microsoft.IoTSpaces/operations"; - _requests[222] = new DefaultHttpContext(); - _requests[222].RequestServices = CreateServices(); - _requests[222].Request.Method = "GET"; - _requests[222].Request.Path = "/providers/Microsoft.KeyVault.Admin/operations"; - _requests[223] = new DefaultHttpContext(); - _requests[223].RequestServices = CreateServices(); - _requests[223].Request.Method = "GET"; - _requests[223].Request.Path = "/providers/Microsoft.KeyVault/operations"; - _requests[224] = new DefaultHttpContext(); - _requests[224].RequestServices = CreateServices(); - _requests[224].Request.Method = "GET"; - _requests[224].Request.Path = "/providers/Microsoft.Logic/operations"; - _requests[225] = new DefaultHttpContext(); - _requests[225].RequestServices = CreateServices(); - _requests[225].Request.Method = "GET"; - _requests[225].Request.Path = "/providers/Microsoft.MachineLearning/operations"; - _requests[226] = new DefaultHttpContext(); - _requests[226].RequestServices = CreateServices(); - _requests[226].Request.Method = "GET"; - _requests[226].Request.Path = "/providers/Microsoft.MachineLearningCompute/operations"; - _requests[227] = new DefaultHttpContext(); - _requests[227].RequestServices = CreateServices(); - _requests[227].Request.Method = "GET"; - _requests[227].Request.Path = "/providers/Microsoft.MachineLearningExperimentation/operations"; - _requests[228] = new DefaultHttpContext(); - _requests[228].RequestServices = CreateServices(); - _requests[228].Request.Method = "GET"; - _requests[228].Request.Path = "/providers/Microsoft.MachineLearningServices/operations"; - _requests[229] = new DefaultHttpContext(); - _requests[229].RequestServices = CreateServices(); - _requests[229].Request.Method = "GET"; - _requests[229].Request.Path = "/providers/Microsoft.ManagedIdentity/operations"; - _requests[230] = new DefaultHttpContext(); - _requests[230].RequestServices = CreateServices(); - _requests[230].Request.Method = "POST"; - _requests[230].Request.Path = "/providers/Microsoft.Management/checkNameAvailability"; - _requests[231] = new DefaultHttpContext(); - _requests[231].RequestServices = CreateServices(); - _requests[231].Request.Method = "POST"; - _requests[231].Request.Path = "/providers/Microsoft.Management/getEntities"; - _requests[232] = new DefaultHttpContext(); - _requests[232].RequestServices = CreateServices(); - _requests[232].Request.Method = "GET"; - _requests[232].Request.Path = "/providers/Microsoft.Management/managementGroups"; - _requests[233] = new DefaultHttpContext(); - _requests[233].RequestServices = CreateServices(); - _requests[233].Request.Method = "GET"; - _requests[233].Request.Path = "/providers/Microsoft.Management/operations"; - _requests[234] = new DefaultHttpContext(); - _requests[234].RequestServices = CreateServices(); - _requests[234].Request.Method = "POST"; - _requests[234].Request.Path = "/providers/Microsoft.Management/startTenantBackfill"; - _requests[235] = new DefaultHttpContext(); - _requests[235].RequestServices = CreateServices(); - _requests[235].Request.Method = "POST"; - _requests[235].Request.Path = "/providers/Microsoft.Management/tenantBackfillStatus"; - _requests[236] = new DefaultHttpContext(); - _requests[236].RequestServices = CreateServices(); - _requests[236].Request.Method = "GET"; - _requests[236].Request.Path = "/providers/Microsoft.ManagementPartner/operations"; - _requests[237] = new DefaultHttpContext(); - _requests[237].RequestServices = CreateServices(); - _requests[237].Request.Method = "GET"; - _requests[237].Request.Path = "/providers/Microsoft.Maps/operations"; - _requests[238] = new DefaultHttpContext(); - _requests[238].RequestServices = CreateServices(); - _requests[238].Request.Method = "GET"; - _requests[238].Request.Path = "/providers/Microsoft.MarketplaceOrdering/operations"; - _requests[239] = new DefaultHttpContext(); - _requests[239].RequestServices = CreateServices(); - _requests[239].Request.Method = "GET"; - _requests[239].Request.Path = "/providers/Microsoft.Media/operations"; - _requests[240] = new DefaultHttpContext(); - _requests[240].RequestServices = CreateServices(); - _requests[240].Request.Method = "GET"; - _requests[240].Request.Path = "/providers/Microsoft.Migrate/operations"; - _requests[241] = new DefaultHttpContext(); - _requests[241].RequestServices = CreateServices(); - _requests[241].Request.Method = "POST"; - _requests[241].Request.Path = "/providers/Microsoft.Network/checkTrafficManagerNameAvailability"; - _requests[242] = new DefaultHttpContext(); - _requests[242].RequestServices = CreateServices(); - _requests[242].Request.Method = "GET"; - _requests[242].Request.Path = "/providers/Microsoft.Network/operations"; - _requests[243] = new DefaultHttpContext(); - _requests[243].RequestServices = CreateServices(); - _requests[243].Request.Method = "GET"; - _requests[243].Request.Path = "/providers/Microsoft.NotificationHubs/operations"; - _requests[244] = new DefaultHttpContext(); - _requests[244].RequestServices = CreateServices(); - _requests[244].Request.Method = "GET"; - _requests[244].Request.Path = "/providers/Microsoft.OperationalInsights/operations"; - _requests[245] = new DefaultHttpContext(); - _requests[245].RequestServices = CreateServices(); - _requests[245].Request.Method = "GET"; - _requests[245].Request.Path = "/providers/Microsoft.OperationsManagement/operations"; - _requests[246] = new DefaultHttpContext(); - _requests[246].RequestServices = CreateServices(); - _requests[246].Request.Method = "GET"; - _requests[246].Request.Path = "/providers/Microsoft.PolicyInsights/operations"; - _requests[247] = new DefaultHttpContext(); - _requests[247].RequestServices = CreateServices(); - _requests[247].Request.Method = "GET"; - _requests[247].Request.Path = "/providers/Microsoft.PowerBI/operations"; - _requests[248] = new DefaultHttpContext(); - _requests[248].RequestServices = CreateServices(); - _requests[248].Request.Method = "GET"; - _requests[248].Request.Path = "/providers/Microsoft.PowerBIDedicated/operations"; - _requests[249] = new DefaultHttpContext(); - _requests[249].RequestServices = CreateServices(); - _requests[249].Request.Method = "GET"; - _requests[249].Request.Path = "/providers/Microsoft.RecoveryServices/operations"; - _requests[250] = new DefaultHttpContext(); - _requests[250].RequestServices = CreateServices(); - _requests[250].Request.Method = "GET"; - _requests[250].Request.Path = "/providers/Microsoft.Relay/operations"; - _requests[251] = new DefaultHttpContext(); - _requests[251].RequestServices = CreateServices(); - _requests[251].Request.Method = "GET"; - _requests[251].Request.Path = "/providers/Microsoft.ResourceHealth/operations"; - _requests[252] = new DefaultHttpContext(); - _requests[252].RequestServices = CreateServices(); - _requests[252].Request.Method = "GET"; - _requests[252].Request.Path = "/providers/Microsoft.Search/operations"; - _requests[253] = new DefaultHttpContext(); - _requests[253].RequestServices = CreateServices(); - _requests[253].Request.Method = "GET"; - _requests[253].Request.Path = "/providers/Microsoft.Security/operations"; - _requests[254] = new DefaultHttpContext(); - _requests[254].RequestServices = CreateServices(); - _requests[254].Request.Method = "GET"; - _requests[254].Request.Path = "/providers/Microsoft.ServiceBus/operations"; - _requests[255] = new DefaultHttpContext(); - _requests[255].RequestServices = CreateServices(); - _requests[255].Request.Method = "GET"; - _requests[255].Request.Path = "/providers/Microsoft.ServiceFabric/operations"; - _requests[256] = new DefaultHttpContext(); - _requests[256].RequestServices = CreateServices(); - _requests[256].Request.Method = "GET"; - _requests[256].Request.Path = "/providers/Microsoft.SignalRService/operations"; - _requests[257] = new DefaultHttpContext(); - _requests[257].RequestServices = CreateServices(); - _requests[257].Request.Method = "GET"; - _requests[257].Request.Path = "/providers/Microsoft.Sql/operations"; - _requests[258] = new DefaultHttpContext(); - _requests[258].RequestServices = CreateServices(); - _requests[258].Request.Method = "GET"; - _requests[258].Request.Path = "/providers/Microsoft.Storage.Admin/operations"; - _requests[259] = new DefaultHttpContext(); - _requests[259].RequestServices = CreateServices(); - _requests[259].Request.Method = "GET"; - _requests[259].Request.Path = "/providers/Microsoft.Storage/operations"; - _requests[260] = new DefaultHttpContext(); - _requests[260].RequestServices = CreateServices(); - _requests[260].Request.Method = "GET"; - _requests[260].Request.Path = "/providers/Microsoft.StorSimple/operations"; - _requests[261] = new DefaultHttpContext(); - _requests[261].RequestServices = CreateServices(); - _requests[261].Request.Method = "GET"; - _requests[261].Request.Path = "/providers/Microsoft.StreamAnalytics/operations"; - _requests[262] = new DefaultHttpContext(); - _requests[262].RequestServices = CreateServices(); - _requests[262].Request.Method = "GET"; - _requests[262].Request.Path = "/providers/Microsoft.Subscription/operations"; - _requests[263] = new DefaultHttpContext(); - _requests[263].RequestServices = CreateServices(); - _requests[263].Request.Method = "GET"; - _requests[263].Request.Path = "/providers/Microsoft.Subscription/subscriptionDefinitions"; - _requests[264] = new DefaultHttpContext(); - _requests[264].RequestServices = CreateServices(); - _requests[264].Request.Method = "GET"; - _requests[264].Request.Path = "/providers/Microsoft.Subscription/subscriptionOperations"; - _requests[265] = new DefaultHttpContext(); - _requests[265].RequestServices = CreateServices(); - _requests[265].Request.Method = "GET"; - _requests[265].Request.Path = "/providers/Microsoft.Subscriptions.Admin/operations"; - _requests[266] = new DefaultHttpContext(); - _requests[266].RequestServices = CreateServices(); - _requests[266].Request.Method = "GET"; - _requests[266].Request.Path = "/providers/Microsoft.Subscriptions/operations"; - _requests[267] = new DefaultHttpContext(); - _requests[267].RequestServices = CreateServices(); - _requests[267].Request.Method = "GET"; - _requests[267].Request.Path = "/providers/Microsoft.TimeSeriesInsights/operations"; - _requests[268] = new DefaultHttpContext(); - _requests[268].RequestServices = CreateServices(); - _requests[268].Request.Method = "GET"; - _requests[268].Request.Path = "/providers/Microsoft.Update.Admin/operations"; - _requests[269] = new DefaultHttpContext(); - _requests[269].RequestServices = CreateServices(); - _requests[269].Request.Method = "GET"; - _requests[269].Request.Path = "/providers/microsoft.visualstudio/operations"; - _requests[270] = new DefaultHttpContext(); - _requests[270].RequestServices = CreateServices(); - _requests[270].Request.Method = "GET"; - _requests[270].Request.Path = "/providers/Microsoft.Web/availableStacks"; - _requests[271] = new DefaultHttpContext(); - _requests[271].RequestServices = CreateServices(); - _requests[271].Request.Method = "GET"; - _requests[271].Request.Path = "/providers/Microsoft.Web/operations"; - _requests[272] = new DefaultHttpContext(); - _requests[272].RequestServices = CreateServices(); - _requests[272].Request.Method = "GET"; - _requests[272].Request.Path = "/providers/Microsoft.Web/sourcecontrols"; - _requests[273] = new DefaultHttpContext(); - _requests[273].RequestServices = CreateServices(); - _requests[273].Request.Method = "GET"; - _requests[273].Request.Path = "/Tools/Chaos/Events"; - _requests[274] = new DefaultHttpContext(); - _requests[274].RequestServices = CreateServices(); - _requests[274].Request.Method = "POST"; - _requests[274].Request.Path = "/Tools/Chaos/Schedule"; - _requests[275] = new DefaultHttpContext(); - _requests[275].RequestServices = CreateServices(); - _requests[275].Request.Method = "POST"; - _requests[275].Request.Path = "/BackupRestore/BackupPolicies/$/Create"; - _requests[276] = new DefaultHttpContext(); - _requests[276].RequestServices = CreateServices(); - _requests[276].Request.Method = "GET"; - _requests[276].Request.Path = "/contentmoderator/lists/v1.0/imagelists"; - _requests[277] = new DefaultHttpContext(); - _requests[277].RequestServices = CreateServices(); - _requests[277].Request.Method = "GET"; - _requests[277].Request.Path = "/contentmoderator/lists/v1.0/termlists"; - _requests[278] = new DefaultHttpContext(); - _requests[278].RequestServices = CreateServices(); - _requests[278].Request.Method = "GET"; - _requests[278].Request.Path = "/providers/Microsoft.ADHybridHealthService/addsservices/premiumCheck"; - _requests[279] = new DefaultHttpContext(); - _requests[279].RequestServices = CreateServices(); - _requests[279].Request.Method = "GET"; - _requests[279].Request.Path = "/providers/Microsoft.ADHybridHealthService/services/premiumCheck"; - _requests[280] = new DefaultHttpContext(); - _requests[280].RequestServices = CreateServices(); - _requests[280].Request.Method = "GET"; - _requests[280].Request.Path = "/providers/Microsoft.BotService/botServices/checkNameAvailability"; - _requests[281] = new DefaultHttpContext(); - _requests[281].RequestServices = CreateServices(); - _requests[281].Request.Method = "GET"; - _requests[281].Request.Path = "/providers/Microsoft.Intune/locations/hostName"; - _requests[282] = new DefaultHttpContext(); - _requests[282].RequestServices = CreateServices(); - _requests[282].Request.Method = "GET"; - _requests[282].Request.Path = "/providers/Microsoft.Network/trafficManagerGeographicHierarchies/default"; - _requests[283] = new DefaultHttpContext(); - _requests[283].RequestServices = CreateServices(); - _requests[283].Request.Method = "PUT"; - _requests[283].Request.Path = "/providers/Microsoft.Web/publishingUsers/web"; - _requests[284] = new DefaultHttpContext(); - _requests[284].RequestServices = CreateServices(); - _requests[284].Request.Method = "GET"; - _requests[284].Request.Path = "/Tools/Chaos/$/Report"; - _requests[285] = new DefaultHttpContext(); - _requests[285].RequestServices = CreateServices(); - _requests[285].Request.Method = "POST"; - _requests[285].Request.Path = "/Tools/Chaos/$/Start"; - _requests[286] = new DefaultHttpContext(); - _requests[286].RequestServices = CreateServices(); - _requests[286].Request.Method = "POST"; - _requests[286].Request.Path = "/Tools/Chaos/$/Stop"; - _requests[287] = new DefaultHttpContext(); - _requests[287].RequestServices = CreateServices(); - _requests[287].Request.Method = "POST"; - _requests[287].Request.Path = "/contentmoderator/moderate/v1.0/ProcessImage/Evaluate"; - _requests[288] = new DefaultHttpContext(); - _requests[288].RequestServices = CreateServices(); - _requests[288].Request.Method = "POST"; - _requests[288].Request.Path = "/contentmoderator/moderate/v1.0/ProcessImage/FindFaces"; - _requests[289] = new DefaultHttpContext(); - _requests[289].RequestServices = CreateServices(); - _requests[289].Request.Method = "POST"; - _requests[289].Request.Path = "/contentmoderator/moderate/v1.0/ProcessImage/Match"; - _requests[290] = new DefaultHttpContext(); - _requests[290].RequestServices = CreateServices(); - _requests[290].Request.Method = "POST"; - _requests[290].Request.Path = "/contentmoderator/moderate/v1.0/ProcessImage/OCR"; - _requests[291] = new DefaultHttpContext(); - _requests[291].RequestServices = CreateServices(); - _requests[291].Request.Method = "POST"; - _requests[291].Request.Path = "/contentmoderator/moderate/v1.0/ProcessText/DetectLanguage"; - _requests[292] = new DefaultHttpContext(); - _requests[292].RequestServices = CreateServices(); - _requests[292].Request.Method = "POST"; - _requests[292].Request.Path = "/contentmoderator/moderate/v1.0/ProcessText/Screen"; - _requests[293] = new DefaultHttpContext(); - _requests[293].RequestServices = CreateServices(); - _requests[293].Request.Method = "GET"; - _requests[293].Request.Path = "/providers/microsoft.insights/eventtypes/management/values"; - _requests[294] = new DefaultHttpContext(); - _requests[294].RequestServices = CreateServices(); - _requests[294].Request.Method = "PUT"; - _requests[294].Request.Path = "/contentmoderator/lists/v1.0/imagelists/172635"; - _requests[295] = new DefaultHttpContext(); - _requests[295].RequestServices = CreateServices(); - _requests[295].Request.Method = "PUT"; - _requests[295].Request.Path = "/contentmoderator/lists/v1.0/termlists/9d9dfc"; - _requests[296] = new DefaultHttpContext(); - _requests[296].RequestServices = CreateServices(); - _requests[296].Request.Method = "GET"; - _requests[296].Request.Path = "/contentmoderator/lists/v1.0/imagelists/084f88/images"; - _requests[297] = new DefaultHttpContext(); - _requests[297].RequestServices = CreateServices(); - _requests[297].Request.Method = "POST"; - _requests[297].Request.Path = "/contentmoderator/lists/v1.0/imagelists/1c04c5/RefreshIndex"; - _requests[298] = new DefaultHttpContext(); - _requests[298].RequestServices = CreateServices(); - _requests[298].Request.Method = "POST"; - _requests[298].Request.Path = "/contentmoderator/lists/v1.0/termlists/43730d/RefreshIndex"; - _requests[299] = new DefaultHttpContext(); - _requests[299].RequestServices = CreateServices(); - _requests[299].Request.Method = "DELETE"; - _requests[299].Request.Path = "/contentmoderator/lists/v1.0/termlists/d6f5ef/terms"; - _requests[300] = new DefaultHttpContext(); - _requests[300].RequestServices = CreateServices(); - _requests[300].Request.Method = "POST"; - _requests[300].Request.Path = "/contentmoderator/review/v1.0/teams/8c966d1f/jobs"; - _requests[301] = new DefaultHttpContext(); - _requests[301].RequestServices = CreateServices(); - _requests[301].Request.Method = "POST"; - _requests[301].Request.Path = "/contentmoderator/review/v1.0/teams/4c94ce93/reviews"; - _requests[302] = new DefaultHttpContext(); - _requests[302].RequestServices = CreateServices(); - _requests[302].Request.Method = "DELETE"; - _requests[302].Request.Path = "/contentmoderator/lists/v1.0/imagelists/cd4dc8/images/9460228"; - _requests[303] = new DefaultHttpContext(); - _requests[303].RequestServices = CreateServices(); - _requests[303].Request.Method = "DELETE"; - _requests[303].Request.Path = "/contentmoderator/lists/v1.0/termlists/ba5988/terms/4d510"; - _requests[304] = new DefaultHttpContext(); - _requests[304].RequestServices = CreateServices(); - _requests[304].Request.Method = "GET"; - _requests[304].Request.Path = "/contentmoderator/review/v1.0/teams/c49a45c8/jobs/b54cf"; - _requests[305] = new DefaultHttpContext(); - _requests[305].RequestServices = CreateServices(); - _requests[305].Request.Method = "GET"; - _requests[305].Request.Path = "/contentmoderator/review/v1.0/teams/8e3916fa/reviews/1bc53a13"; - _requests[306] = new DefaultHttpContext(); - _requests[306].RequestServices = CreateServices(); - _requests[306].Request.Method = "GET"; - _requests[306].Request.Path = "/contentmoderator/review/v1.0/teams/7aacdabd/reviews/dd17a58f/frames"; - _requests[307] = new DefaultHttpContext(); - _requests[307].RequestServices = CreateServices(); - _requests[307].Request.Method = "POST"; - _requests[307].Request.Path = "/contentmoderator/review/v1.0/teams/27f1b614/reviews/b2bc7494/publish"; - _requests[308] = new DefaultHttpContext(); - _requests[308].RequestServices = CreateServices(); - _requests[308].Request.Method = "PUT"; - _requests[308].Request.Path = "/contentmoderator/review/v1.0/teams/2de63c82/reviews/090a8a7e/transcript"; - _requests[309] = new DefaultHttpContext(); - _requests[309].RequestServices = CreateServices(); - _requests[309].Request.Method = "PUT"; - _requests[309].Request.Path = "/contentmoderator/review/v1.0/teams/06a9ee5d/reviews/af5fa279/transcriptmoderationresult"; - _requests[310] = new DefaultHttpContext(); - _requests[310].RequestServices = CreateServices(); - _requests[310].Request.Method = "GET"; - _requests[310].Request.Path = "/catalog/usql/databases/067402ce-404"; - _requests[311] = new DefaultHttpContext(); - _requests[311].RequestServices = CreateServices(); - _requests[311].Request.Method = "PATCH"; - _requests[311].Request.Path = "/providers/Microsoft.ADHybridHealthService/addsservices/e4053092-b5"; - _requests[312] = new DefaultHttpContext(); - _requests[312].RequestServices = CreateServices(); - _requests[312].Request.Method = "PATCH"; - _requests[312].Request.Path = "/providers/Microsoft.ADHybridHealthService/services/537db418-5a"; - _requests[313] = new DefaultHttpContext(); - _requests[313].RequestServices = CreateServices(); - _requests[313].Request.Method = "GET"; - _requests[313].Request.Path = "/providers/Microsoft.Authorization/policyDefinitions/ae041de3-8d8a-40ea-a"; - _requests[314] = new DefaultHttpContext(); - _requests[314].RequestServices = CreateServices(); - _requests[314].Request.Method = "GET"; - _requests[314].Request.Path = "/providers/Microsoft.Authorization/policySetDefinitions/d9da8a62-8975-4aed-b898"; - _requests[315] = new DefaultHttpContext(); - _requests[315].RequestServices = CreateServices(); - _requests[315].Request.Method = "GET"; - _requests[315].Request.Path = "/providers/Microsoft.Authorization/providerOperations/7502f3dc-3911-4388-a106-7"; - _requests[316] = new DefaultHttpContext(); - _requests[316].RequestServices = CreateServices(); - _requests[316].Request.Method = "GET"; - _requests[316].Request.Path = "/providers/Microsoft.Billing/enrollmentAccounts/d60f6"; - _requests[317] = new DefaultHttpContext(); - _requests[317].RequestServices = CreateServices(); - _requests[317].Request.Method = "GET"; - _requests[317].Request.Path = "/providers/Microsoft.Capacity/reservationOrders/a46ebea3-838b-4454"; - _requests[318] = new DefaultHttpContext(); - _requests[318].RequestServices = CreateServices(); - _requests[318].Request.Method = "HEAD"; - _requests[318].Request.Path = "/providers/Microsoft.DocumentDB/databaseAccountNames/ef9dd149-d3"; - _requests[319] = new DefaultHttpContext(); - _requests[319].RequestServices = CreateServices(); - _requests[319].Request.Method = "GET"; - _requests[319].Request.Path = "/providers/Microsoft.EventGrid/topicTypes/7840b780-3d8d"; - _requests[320] = new DefaultHttpContext(); - _requests[320].RequestServices = CreateServices(); - _requests[320].Request.Method = "GET"; - _requests[320].Request.Path = "/providers/Microsoft.ImportExport/locations/9dbdc85e-b95"; - _requests[321] = new DefaultHttpContext(); - _requests[321].RequestServices = CreateServices(); - _requests[321].Request.Method = "DELETE"; - _requests[321].Request.Path = "/providers/Microsoft.Management/managementGroups/8e9fcd5"; - _requests[322] = new DefaultHttpContext(); - _requests[322].RequestServices = CreateServices(); - _requests[322].Request.Method = "DELETE"; - _requests[322].Request.Path = "/providers/Microsoft.ManagementPartner/partners/a599e232-"; - _requests[323] = new DefaultHttpContext(); - _requests[323].RequestServices = CreateServices(); - _requests[323].Request.Method = "GET"; - _requests[323].Request.Path = "/providers/Microsoft.Subscription/subscriptionDefinitions/ede25e54-8877-4900-83fd-5c"; - _requests[324] = new DefaultHttpContext(); - _requests[324].RequestServices = CreateServices(); - _requests[324].Request.Method = "GET"; - _requests[324].Request.Path = "/providers/Microsoft.Subscription/subscriptionOperations/78184818-21"; - _requests[325] = new DefaultHttpContext(); - _requests[325].RequestServices = CreateServices(); - _requests[325].Request.Method = "PUT"; - _requests[325].Request.Path = "/providers/Microsoft.Web/sourcecontrols/36de2cb7-1d03-441"; - _requests[326] = new DefaultHttpContext(); - _requests[326].RequestServices = CreateServices(); - _requests[326].Request.Method = "GET"; - _requests[326].Request.Path = "/catalog/usql/databases/fab751f5-5b3/acl"; - _requests[327] = new DefaultHttpContext(); - _requests[327].RequestServices = CreateServices(); - _requests[327].Request.Method = "GET"; - _requests[327].Request.Path = "/catalog/usql/databases/8e64a79c-8e7/assemblies"; - _requests[328] = new DefaultHttpContext(); - _requests[328].RequestServices = CreateServices(); - _requests[328].Request.Method = "GET"; - _requests[328].Request.Path = "/catalog/usql/databases/ed3857d2-c04/credentials"; - _requests[329] = new DefaultHttpContext(); - _requests[329].RequestServices = CreateServices(); - _requests[329].Request.Method = "GET"; - _requests[329].Request.Path = "/catalog/usql/databases/d5d129b9-5be/externaldatasources"; - _requests[330] = new DefaultHttpContext(); - _requests[330].RequestServices = CreateServices(); - _requests[330].Request.Method = "GET"; - _requests[330].Request.Path = "/catalog/usql/databases/7ea64a28-39e/schemas"; - _requests[331] = new DefaultHttpContext(); - _requests[331].RequestServices = CreateServices(); - _requests[331].Request.Method = "DELETE"; - _requests[331].Request.Path = "/catalog/usql/databases/57ad1786-0bc/secrets"; - _requests[332] = new DefaultHttpContext(); - _requests[332].RequestServices = CreateServices(); - _requests[332].Request.Method = "GET"; - _requests[332].Request.Path = "/catalog/usql/databases/5b336b33-37a/statistics"; - _requests[333] = new DefaultHttpContext(); - _requests[333].RequestServices = CreateServices(); - _requests[333].Request.Method = "GET"; - _requests[333].Request.Path = "/catalog/usql/databases/f4bf868b-455/tables"; - _requests[334] = new DefaultHttpContext(); - _requests[334].RequestServices = CreateServices(); - _requests[334].Request.Method = "GET"; - _requests[334].Request.Path = "/catalog/usql/databases/cfebe9a3-c8a/tablevaluedfunctions"; - _requests[335] = new DefaultHttpContext(); - _requests[335].RequestServices = CreateServices(); - _requests[335].Request.Method = "GET"; - _requests[335].Request.Path = "/catalog/usql/databases/636a3238-370/views"; - _requests[336] = new DefaultHttpContext(); - _requests[336].RequestServices = CreateServices(); - _requests[336].Request.Method = "GET"; - _requests[336].Request.Path = "/providers/Microsoft.ADHybridHealthService/addsservices/8663b0d5-15/addomainservicemembers"; - _requests[337] = new DefaultHttpContext(); - _requests[337].RequestServices = CreateServices(); - _requests[337].Request.Method = "GET"; - _requests[337].Request.Path = "/providers/Microsoft.ADHybridHealthService/addsservices/9af34e2b-6d/addsservicemembers"; - _requests[338] = new DefaultHttpContext(); - _requests[338].RequestServices = CreateServices(); - _requests[338].Request.Method = "GET"; - _requests[338].Request.Path = "/providers/Microsoft.ADHybridHealthService/addsservices/d1af149f-71/alerts"; - _requests[339] = new DefaultHttpContext(); - _requests[339].RequestServices = CreateServices(); - _requests[339].Request.Method = "GET"; - _requests[339].Request.Path = "/providers/Microsoft.ADHybridHealthService/addsservices/904ef7ca-90/configuration"; - _requests[340] = new DefaultHttpContext(); - _requests[340].RequestServices = CreateServices(); - _requests[340].Request.Method = "GET"; - _requests[340].Request.Path = "/providers/Microsoft.ADHybridHealthService/addsservices/0539b471-9d/forestsummary"; - _requests[341] = new DefaultHttpContext(); - _requests[341].RequestServices = CreateServices(); - _requests[341].Request.Method = "GET"; - _requests[341].Request.Path = "/providers/Microsoft.ADHybridHealthService/addsservices/94d78827-11/metricmetadata"; - _requests[342] = new DefaultHttpContext(); - _requests[342].RequestServices = CreateServices(); - _requests[342].Request.Method = "GET"; - _requests[342].Request.Path = "/providers/Microsoft.ADHybridHealthService/addsservices/b332b07d-2b/replicationstatus"; - _requests[343] = new DefaultHttpContext(); - _requests[343].RequestServices = CreateServices(); - _requests[343].Request.Method = "GET"; - _requests[343].Request.Path = "/providers/Microsoft.ADHybridHealthService/addsservices/4e828015-2e/replicationsummary"; - _requests[344] = new DefaultHttpContext(); - _requests[344].RequestServices = CreateServices(); - _requests[344].Request.Method = "GET"; - _requests[344].Request.Path = "/providers/Microsoft.ADHybridHealthService/services/c1e0b57c-ba/alerts"; - _requests[345] = new DefaultHttpContext(); - _requests[345].RequestServices = CreateServices(); - _requests[345].Request.Method = "GET"; - _requests[345].Request.Path = "/providers/Microsoft.ADHybridHealthService/services/107acd29-a5/exportstatus"; - _requests[346] = new DefaultHttpContext(); - _requests[346].RequestServices = CreateServices(); - _requests[346].Request.Method = "GET"; - _requests[346].Request.Path = "/providers/Microsoft.ADHybridHealthService/services/df8a5a4c-d5/metricmetadata"; - _requests[347] = new DefaultHttpContext(); - _requests[347].RequestServices = CreateServices(); - _requests[347].Request.Method = "PATCH"; - _requests[347].Request.Path = "/providers/Microsoft.ADHybridHealthService/services/164a138b-7f/monitoringconfiguration"; - _requests[348] = new DefaultHttpContext(); - _requests[348].RequestServices = CreateServices(); - _requests[348].Request.Method = "GET"; - _requests[348].Request.Path = "/providers/Microsoft.ADHybridHealthService/services/68d5b01a-5f/monitoringconfigurations"; - _requests[349] = new DefaultHttpContext(); - _requests[349].RequestServices = CreateServices(); - _requests[349].Request.Method = "POST"; - _requests[349].Request.Path = "/providers/Microsoft.ADHybridHealthService/services/db455f04-72/servicemembers"; - _requests[350] = new DefaultHttpContext(); - _requests[350].RequestServices = CreateServices(); - _requests[350].Request.Method = "POST"; - _requests[350].Request.Path = "/providers/Microsoft.Capacity/reservationOrders/fb225ad6-6d05-430a/merge"; - _requests[351] = new DefaultHttpContext(); - _requests[351].RequestServices = CreateServices(); - _requests[351].Request.Method = "GET"; - _requests[351].Request.Path = "/providers/Microsoft.Capacity/reservationOrders/2b9094e5-138d-4158/reservations"; - _requests[352] = new DefaultHttpContext(); - _requests[352].RequestServices = CreateServices(); - _requests[352].Request.Method = "POST"; - _requests[352].Request.Path = "/providers/Microsoft.Capacity/reservationOrders/c1c30656-bea9-42f2/split"; - _requests[353] = new DefaultHttpContext(); - _requests[353].RequestServices = CreateServices(); - _requests[353].Request.Method = "GET"; - _requests[353].Request.Path = "/providers/Microsoft.EventGrid/topicTypes/3769d8fb-cd23/eventTypes"; - _requests[354] = new DefaultHttpContext(); - _requests[354].RequestServices = CreateServices(); - _requests[354].Request.Method = "GET"; - _requests[354].Request.Path = "/providers/Microsoft.Intune/locations/33dee284/androidPolicies"; - _requests[355] = new DefaultHttpContext(); - _requests[355].RequestServices = CreateServices(); - _requests[355].Request.Method = "GET"; - _requests[355].Request.Path = "/providers/Microsoft.Intune/locations/94731d94/apps"; - _requests[356] = new DefaultHttpContext(); - _requests[356].RequestServices = CreateServices(); - _requests[356].Request.Method = "GET"; - _requests[356].Request.Path = "/providers/Microsoft.Intune/locations/2c99d7cb/flaggedUsers"; - _requests[357] = new DefaultHttpContext(); - _requests[357].RequestServices = CreateServices(); - _requests[357].Request.Method = "GET"; - _requests[357].Request.Path = "/providers/Microsoft.Intune/locations/437ca3b8/iosPolicies"; - _requests[358] = new DefaultHttpContext(); - _requests[358].RequestServices = CreateServices(); - _requests[358].Request.Method = "GET"; - _requests[358].Request.Path = "/providers/Microsoft.Intune/locations/ff66f6db/operationResults"; - _requests[359] = new DefaultHttpContext(); - _requests[359].RequestServices = CreateServices(); - _requests[359].Request.Method = "GET"; - _requests[359].Request.Path = "/providers/Microsoft.ADHybridHealthService/services/7db9fe83-10/exporterrors/counts"; - _requests[360] = new DefaultHttpContext(); - _requests[360].RequestServices = CreateServices(); - _requests[360].Request.Method = "GET"; - _requests[360].Request.Path = "/providers/Microsoft.ADHybridHealthService/services/73301abe-83/exporterrors/listV2"; - _requests[361] = new DefaultHttpContext(); - _requests[361].RequestServices = CreateServices(); - _requests[361].Request.Method = "GET"; - _requests[361].Request.Path = "/providers/Microsoft.Intune/locations/9c672c51/statuses/default"; - _requests[362] = new DefaultHttpContext(); - _requests[362].RequestServices = CreateServices(); - _requests[362].Request.Method = "POST"; - _requests[362].Request.Path = "/providers/Microsoft.ADHybridHealthService/services/9b40a590-ce/feedbacktype/alerts/feedback"; - _requests[363] = new DefaultHttpContext(); - _requests[363].RequestServices = CreateServices(); - _requests[363].Request.Method = "GET"; - _requests[363].Request.Path = "/providers/Microsoft.Billing/billingAccounts/47f15d08-814b-42/providers/Microsoft.Consumption/balances"; - _requests[364] = new DefaultHttpContext(); - _requests[364].RequestServices = CreateServices(); - _requests[364].Request.Method = "PUT"; - _requests[364].Request.Path = "/providers/Microsoft.Billing/billingAccounts/0c4ab794-5f1f-4e/providers/Microsoft.Consumption/costTags"; - _requests[365] = new DefaultHttpContext(); - _requests[365].RequestServices = CreateServices(); - _requests[365].Request.Method = "GET"; - _requests[365].Request.Path = "/providers/Microsoft.Billing/billingAccounts/b0160589-0035-48/providers/Microsoft.Consumption/marketplaces"; - _requests[366] = new DefaultHttpContext(); - _requests[366].RequestServices = CreateServices(); - _requests[366].Request.Method = "GET"; - _requests[366].Request.Path = "/providers/Microsoft.Billing/billingAccounts/9f163d97-8044-4d/providers/Microsoft.Consumption/usageDetails"; - _requests[367] = new DefaultHttpContext(); - _requests[367].RequestServices = CreateServices(); - _requests[367].Request.Method = "GET"; - _requests[367].Request.Path = "/providers/Microsoft.Billing/departments/e6d0c6b1-7f2/providers/Microsoft.Consumption/marketplaces"; - _requests[368] = new DefaultHttpContext(); - _requests[368].RequestServices = CreateServices(); - _requests[368].Request.Method = "GET"; - _requests[368].Request.Path = "/providers/Microsoft.Billing/departments/65e44e7b-827/providers/Microsoft.Consumption/usageDetails"; - _requests[369] = new DefaultHttpContext(); - _requests[369].RequestServices = CreateServices(); - _requests[369].Request.Method = "GET"; - _requests[369].Request.Path = "/providers/Microsoft.Billing/enrollmentAccounts/15e3d840-6d8e-40a7-/providers/Microsoft.Consumption/marketplaces"; - _requests[370] = new DefaultHttpContext(); - _requests[370].RequestServices = CreateServices(); - _requests[370].Request.Method = "GET"; - _requests[370].Request.Path = "/providers/Microsoft.Billing/enrollmentAccounts/2727fb41-6b23-487e-/providers/Microsoft.Consumption/usageDetails"; - _requests[371] = new DefaultHttpContext(); - _requests[371].RequestServices = CreateServices(); - _requests[371].Request.Method = "POST"; - _requests[371].Request.Path = "/providers/Microsoft.Billing/enrollmentAccounts/5ae2bbd7-b759-4ef3-a9/providers/Microsoft.Subscription/createSubscription"; - _requests[372] = new DefaultHttpContext(); - _requests[372].RequestServices = CreateServices(); - _requests[372].Request.Method = "GET"; - _requests[372].Request.Path = "/providers/Microsoft.Capacity/reservationorders/b05f9e65-fd32-4756/providers/Microsoft.Consumption/reservationDetails"; - _requests[373] = new DefaultHttpContext(); - _requests[373].RequestServices = CreateServices(); - _requests[373].Request.Method = "GET"; - _requests[373].Request.Path = "/providers/Microsoft.Capacity/reservationorders/6a82a288-133d-41a2/providers/Microsoft.Consumption/reservationSummaries"; - _requests[374] = new DefaultHttpContext(); - _requests[374].RequestServices = CreateServices(); - _requests[374].Request.Method = "GET"; - _requests[374].Request.Path = "/providers/Microsoft.CostManagement/billingAccounts/10e3ee6c-d564-42/providers/Microsoft.Consumption/tags"; - _requests[375] = new DefaultHttpContext(); - _requests[375].RequestServices = CreateServices(); - _requests[375].Request.Method = "GET"; - _requests[375].Request.Path = "/providers/Microsoft.Management/managementgroups/1d35558d-f208-4b6/providers/Microsoft.Authorization/policyDefinitions"; - _requests[376] = new DefaultHttpContext(); - _requests[376].RequestServices = CreateServices(); - _requests[376].Request.Method = "GET"; - _requests[376].Request.Path = "/providers/Microsoft.Management/managementgroups/04e647bb-bec1-4f5/providers/Microsoft.Authorization/policySetDefinitions"; - _requests[377] = new DefaultHttpContext(); - _requests[377].RequestServices = CreateServices(); - _requests[377].Request.Method = "GET"; - _requests[377].Request.Path = "/providers/Microsoft.ADHybridHealthService/services/babc1908-48/reports/badpassword/details/user"; - _requests[378] = new DefaultHttpContext(); - _requests[378].RequestServices = CreateServices(); - _requests[378].Request.Method = "GET"; - _requests[378].Request.Path = "/providers/Microsoft.Management/managementgroups/5ef7f363-d532-45d/providers/Microsoft.Authorization/policyDefinitions/afba486a-a94a-4c14-9"; - _requests[379] = new DefaultHttpContext(); - _requests[379].RequestServices = CreateServices(); - _requests[379].Request.Method = "GET"; - _requests[379].Request.Path = "/providers/Microsoft.Management/managementgroups/5805140c-1e0a-4e5/providers/Microsoft.Authorization/policySetDefinitions/026f2beb-05ce-4761-b0b3"; - _requests[380] = new DefaultHttpContext(); - _requests[380].RequestServices = CreateServices(); - _requests[380].Request.Method = "GET"; - _requests[380].Request.Path = "/providers/Microsoft.Billing/billingAccounts/0aa79401-7f95-40/providers/Microsoft.Billing/billingPeriods/acae24b4-fa87-4c4/providers/Microsoft.Consumption/balances"; - _requests[381] = new DefaultHttpContext(); - _requests[381].RequestServices = CreateServices(); - _requests[381].Request.Method = "GET"; - _requests[381].Request.Path = "/providers/Microsoft.Billing/billingAccounts/2ce6b1ce-6fa5-44/providers/Microsoft.Billing/billingPeriods/af14f6c4-cdae-40d/providers/Microsoft.Consumption/marketplaces"; - _requests[382] = new DefaultHttpContext(); - _requests[382].RequestServices = CreateServices(); - _requests[382].Request.Method = "GET"; - _requests[382].Request.Path = "/providers/Microsoft.Billing/billingAccounts/c692be09-0656-4b/providers/Microsoft.Billing/billingPeriods/4dc3834a-85d8-40f/providers/Microsoft.Consumption/usageDetails"; - _requests[383] = new DefaultHttpContext(); - _requests[383].RequestServices = CreateServices(); - _requests[383].Request.Method = "GET"; - _requests[383].Request.Path = "/providers/Microsoft.Billing/departments/f15b4906-822/providers/Microsoft.Billing/billingPeriods/acf42839-77aa-478/providers/Microsoft.Consumption/marketplaces"; - _requests[384] = new DefaultHttpContext(); - _requests[384].RequestServices = CreateServices(); - _requests[384].Request.Method = "GET"; - _requests[384].Request.Path = "/providers/Microsoft.Billing/departments/6e06e21c-ee8/providers/Microsoft.Billing/billingPeriods/22471482-c58a-418/providers/Microsoft.Consumption/usageDetails"; - _requests[385] = new DefaultHttpContext(); - _requests[385].RequestServices = CreateServices(); - _requests[385].Request.Method = "GET"; - _requests[385].Request.Path = "/providers/Microsoft.Billing/enrollmentAccounts/3707e463-6482-4c55-/providers/Microsoft.Billing/billingPeriods/33b22cc2-67a1-49b/providers/Microsoft.Consumption/marketplaces"; - _requests[386] = new DefaultHttpContext(); - _requests[386].RequestServices = CreateServices(); - _requests[386].Request.Method = "GET"; - _requests[386].Request.Path = "/providers/Microsoft.Billing/enrollmentAccounts/4daaebb7-b44e-40a6-/providers/Microsoft.Billing/billingPeriods/5e7b6785-0408-430/providers/Microsoft.Consumption/usageDetails"; - _requests[387] = new DefaultHttpContext(); - _requests[387].RequestServices = CreateServices(); - _requests[387].Request.Method = "GET"; - _requests[387].Request.Path = "/providers/Microsoft.ADHybridHealthService/services/bdd7be34-e9/feedbacktype/alerts/55282d96-/alertfeedback"; - _requests[388] = new DefaultHttpContext(); - _requests[388].RequestServices = CreateServices(); - _requests[388].Request.Method = "GET"; - _requests[388].Request.Path = "/catalog/usql/databases/1ee3f0db-8e2/assemblies/7298b770-468"; - _requests[389] = new DefaultHttpContext(); - _requests[389].RequestServices = CreateServices(); - _requests[389].Request.Method = "POST"; - _requests[389].Request.Path = "/catalog/usql/databases/9ef0996f-dba/credentials/47be49fe-49f7-"; - _requests[390] = new DefaultHttpContext(); - _requests[390].RequestServices = CreateServices(); - _requests[390].Request.Method = "GET"; - _requests[390].Request.Path = "/catalog/usql/databases/c0a08d2e-934/externaldatasources/0a42a41a-a8f6-4ad0-b12"; - _requests[391] = new DefaultHttpContext(); - _requests[391].RequestServices = CreateServices(); - _requests[391].Request.Method = "GET"; - _requests[391].Request.Path = "/catalog/usql/databases/191a0d1b-cd7/schemas/6b9bee9e-1"; - _requests[392] = new DefaultHttpContext(); - _requests[392].RequestServices = CreateServices(); - _requests[392].Request.Method = "DELETE"; - _requests[392].Request.Path = "/catalog/usql/databases/cdbc440a-ca2/secrets/374b0aa7-4"; - _requests[393] = new DefaultHttpContext(); - _requests[393].RequestServices = CreateServices(); - _requests[393].Request.Method = "GET"; - _requests[393].Request.Path = "/providers/Microsoft.ADHybridHealthService/addsservices/3fba0274-c2/dimensions/8728a096-"; - _requests[394] = new DefaultHttpContext(); - _requests[394].RequestServices = CreateServices(); - _requests[394].Request.Method = "GET"; - _requests[394].Request.Path = "/providers/Microsoft.ADHybridHealthService/addsservices/6eebc390-75/metricmetadata/daff08fd-9"; - _requests[395] = new DefaultHttpContext(); - _requests[395].RequestServices = CreateServices(); - _requests[395].Request.Method = "GET"; - _requests[395].Request.Path = "/providers/Microsoft.ADHybridHealthService/services/5fb7eaf9-de/checkServiceFeatureAvailibility/62fba665-a1"; - _requests[396] = new DefaultHttpContext(); - _requests[396].RequestServices = CreateServices(); - _requests[396].Request.Method = "GET"; - _requests[396].Request.Path = "/providers/Microsoft.ADHybridHealthService/services/d21c9e41-b4/metricmetadata/82c9cbb8-d"; - _requests[397] = new DefaultHttpContext(); - _requests[397].RequestServices = CreateServices(); - _requests[397].Request.Method = "DELETE"; - _requests[397].Request.Path = "/providers/Microsoft.ADHybridHealthService/services/db3b1d6c-64/servicemembers/15e5fd84-71cc-4"; - _requests[398] = new DefaultHttpContext(); - _requests[398].RequestServices = CreateServices(); - _requests[398].Request.Method = "GET"; - _requests[398].Request.Path = "/providers/Microsoft.ADHybridHealthService/services/08f64e6d-7d/TenantWhitelisting/a395130d-9f"; - _requests[399] = new DefaultHttpContext(); - _requests[399].RequestServices = CreateServices(); - _requests[399].Request.Method = "PATCH"; - _requests[399].Request.Path = "/providers/Microsoft.Capacity/reservationOrders/50bf12fa-1c96-4ecf/reservations/26e1794d-165d"; - _requests[400] = new DefaultHttpContext(); - _requests[400].RequestServices = CreateServices(); - _requests[400].Request.Method = "DELETE"; - _requests[400].Request.Path = "/providers/Microsoft.Intune/locations/ce422055/androidPolicies/5da74243-2"; - _requests[401] = new DefaultHttpContext(); - _requests[401].RequestServices = CreateServices(); - _requests[401].Request.Method = "GET"; - _requests[401].Request.Path = "/providers/Microsoft.Intune/locations/ddcf871a/flaggedUsers/92436145"; - _requests[402] = new DefaultHttpContext(); - _requests[402].RequestServices = CreateServices(); - _requests[402].Request.Method = "DELETE"; - _requests[402].Request.Path = "/providers/Microsoft.Intune/locations/6bf6d937/iosPolicies/1096e807-1"; - _requests[403] = new DefaultHttpContext(); - _requests[403].RequestServices = CreateServices(); - _requests[403].Request.Method = "DELETE"; - _requests[403].Request.Path = "/providers/Microsoft.Management/managementGroups/926702c/subscriptions/a09ac2dc-3e05-"; - _requests[404] = new DefaultHttpContext(); - _requests[404].RequestServices = CreateServices(); - _requests[404].Request.Method = "GET"; - _requests[404].Request.Path = "/catalog/usql/databases/c6a1cb7d-554/schemas/3abe551b-b/packages"; - _requests[405] = new DefaultHttpContext(); - _requests[405].RequestServices = CreateServices(); - _requests[405].Request.Method = "GET"; - _requests[405].Request.Path = "/catalog/usql/databases/370e8972-15a/schemas/6a5d0b9d-0/procedures"; - _requests[406] = new DefaultHttpContext(); - _requests[406].RequestServices = CreateServices(); - _requests[406].Request.Method = "GET"; - _requests[406].Request.Path = "/catalog/usql/databases/20d42a0e-173/schemas/fbe4d1c6-b/statistics"; - _requests[407] = new DefaultHttpContext(); - _requests[407].RequestServices = CreateServices(); - _requests[407].Request.Method = "GET"; - _requests[407].Request.Path = "/catalog/usql/databases/3475cf00-2a2/schemas/c64792e1-2/tables"; - _requests[408] = new DefaultHttpContext(); - _requests[408].RequestServices = CreateServices(); - _requests[408].Request.Method = "GET"; - _requests[408].Request.Path = "/catalog/usql/databases/51f2167b-534/schemas/c3a76415-b/tabletypes"; - _requests[409] = new DefaultHttpContext(); - _requests[409].RequestServices = CreateServices(); - _requests[409].Request.Method = "GET"; - _requests[409].Request.Path = "/catalog/usql/databases/6ed6d657-ec1/schemas/21c217fb-1/tablevaluedfunctions"; - _requests[410] = new DefaultHttpContext(); - _requests[410].RequestServices = CreateServices(); - _requests[410].Request.Method = "GET"; - _requests[410].Request.Path = "/catalog/usql/databases/9698214e-ff6/schemas/fce2d2e9-8/types"; - _requests[411] = new DefaultHttpContext(); - _requests[411].RequestServices = CreateServices(); - _requests[411].Request.Method = "GET"; - _requests[411].Request.Path = "/catalog/usql/databases/4e8d1cde-bff/schemas/43cb0cd9-1/views"; - _requests[412] = new DefaultHttpContext(); - _requests[412].RequestServices = CreateServices(); - _requests[412].Request.Method = "GET"; - _requests[412].Request.Path = "/providers/Microsoft.ADHybridHealthService/addsservices/b7cc2683-ef/servicemembers/0f27120a-2c20-4/alerts"; - _requests[413] = new DefaultHttpContext(); - _requests[413].RequestServices = CreateServices(); - _requests[413].Request.Method = "GET"; - _requests[413].Request.Path = "/providers/Microsoft.ADHybridHealthService/service/e7cdb36e-1f/servicemembers/87d4ce05-c877-4/connectors"; - _requests[414] = new DefaultHttpContext(); - _requests[414].RequestServices = CreateServices(); - _requests[414].Request.Method = "GET"; - _requests[414].Request.Path = "/providers/Microsoft.ADHybridHealthService/services/5807cd3a-e1/servicemembers/53a134c2-cb20-4/alerts"; - _requests[415] = new DefaultHttpContext(); - _requests[415].RequestServices = CreateServices(); - _requests[415].Request.Method = "GET"; - _requests[415].Request.Path = "/providers/Microsoft.ADHybridHealthService/services/eac9259c-0f/servicemembers/4232c432-432d-4/credentials"; - _requests[416] = new DefaultHttpContext(); - _requests[416].RequestServices = CreateServices(); - _requests[416].Request.Method = "DELETE"; - _requests[416].Request.Path = "/providers/Microsoft.ADHybridHealthService/services/aed8d8d2-3e/servicemembers/1ce1bab0-e159-4/data"; - _requests[417] = new DefaultHttpContext(); - _requests[417].RequestServices = CreateServices(); - _requests[417].Request.Method = "GET"; - _requests[417].Request.Path = "/providers/Microsoft.ADHybridHealthService/services/9a7a1e08-78/servicemembers/e4c4ee12-676e-4/datafreshness"; - _requests[418] = new DefaultHttpContext(); - _requests[418].RequestServices = CreateServices(); - _requests[418].Request.Method = "GET"; - _requests[418].Request.Path = "/providers/Microsoft.ADHybridHealthService/services/7f1a8eb7-2c/servicemembers/e58d1b8a-67db-4/exportstatus"; - _requests[419] = new DefaultHttpContext(); - _requests[419].RequestServices = CreateServices(); - _requests[419].Request.Method = "GET"; - _requests[419].Request.Path = "/providers/Microsoft.ADHybridHealthService/services/1492e382-54/servicemembers/f334402d-44ca-4/globalconfiguration"; - _requests[420] = new DefaultHttpContext(); - _requests[420].RequestServices = CreateServices(); - _requests[420].Request.Method = "GET"; - _requests[420].Request.Path = "/providers/Microsoft.ADHybridHealthService/services/514bd75d-36/servicemembers/dfe5afb7-1c69-4/serviceconfiguration"; - _requests[421] = new DefaultHttpContext(); - _requests[421].RequestServices = CreateServices(); - _requests[421].Request.Method = "GET"; - _requests[421].Request.Path = "/providers/Microsoft.Capacity/reservationOrders/42dd424b-7eba-421c/reservations/781460b2-a4e9/revisions"; - _requests[422] = new DefaultHttpContext(); - _requests[422].RequestServices = CreateServices(); - _requests[422].Request.Method = "GET"; - _requests[422].Request.Path = "/providers/Microsoft.Intune/locations/82f1ce00/AndroidPolicies/4ff634bc-4/apps"; - _requests[423] = new DefaultHttpContext(); - _requests[423].RequestServices = CreateServices(); - _requests[423].Request.Method = "GET"; - _requests[423].Request.Path = "/providers/Microsoft.Intune/locations/7053c9a6/androidPolicies/73201c8c-c/groups"; - _requests[424] = new DefaultHttpContext(); - _requests[424].RequestServices = CreateServices(); - _requests[424].Request.Method = "GET"; - _requests[424].Request.Path = "/providers/Microsoft.Intune/locations/0ec07284/flaggedUsers/0ea259be/flaggedEnrolledApps"; - _requests[425] = new DefaultHttpContext(); - _requests[425].RequestServices = CreateServices(); - _requests[425].Request.Method = "GET"; - _requests[425].Request.Path = "/providers/Microsoft.Intune/locations/8c1b1923/iosPolicies/eb06c25a-c/apps"; - _requests[426] = new DefaultHttpContext(); - _requests[426].RequestServices = CreateServices(); - _requests[426].Request.Method = "GET"; - _requests[426].Request.Path = "/providers/Microsoft.Intune/locations/6b9d978e/iosPolicies/102cb2e0-d/groups"; - _requests[427] = new DefaultHttpContext(); - _requests[427].RequestServices = CreateServices(); - _requests[427].Request.Method = "GET"; - _requests[427].Request.Path = "/providers/Microsoft.Intune/locations/01fd39da/users/797ffb0d/devices"; - _requests[428] = new DefaultHttpContext(); - _requests[428].RequestServices = CreateServices(); - _requests[428].Request.Method = "GET"; - _requests[428].Request.Path = "/providers/Microsoft.Capacity/reservationorders/d4012ed3-8bec-4b26/reservations/7eb98072-218a/providers/Microsoft.Consumption/reservationDetails"; - _requests[429] = new DefaultHttpContext(); - _requests[429].RequestServices = CreateServices(); - _requests[429].Request.Method = "GET"; - _requests[429].Request.Path = "/providers/Microsoft.Capacity/reservationorders/6e66219f-224e-4e8a/reservations/8d6f8096-785c/providers/Microsoft.Consumption/reservationSummaries"; - _requests[430] = new DefaultHttpContext(); - _requests[430].RequestServices = CreateServices(); - _requests[430].Request.Method = "GET"; - _requests[430].Request.Path = "/catalog/usql/databases/08fd535e-274/schemas/a8b4fd14-a/packages/f572fd5c-9a"; - _requests[431] = new DefaultHttpContext(); - _requests[431].RequestServices = CreateServices(); - _requests[431].Request.Method = "GET"; - _requests[431].Request.Path = "/catalog/usql/databases/f52f7a23-44a/schemas/3fe84abb-e/procedures/e20a0932-7780"; - _requests[432] = new DefaultHttpContext(); - _requests[432].RequestServices = CreateServices(); - _requests[432].Request.Method = "GET"; - _requests[432].Request.Path = "/catalog/usql/databases/a8871e72-05a/schemas/42dab0de-c/tables/19165984-"; - _requests[433] = new DefaultHttpContext(); - _requests[433].RequestServices = CreateServices(); - _requests[433].Request.Method = "GET"; - _requests[433].Request.Path = "/catalog/usql/databases/691e92f7-a74/schemas/f8b9434d-5/tabletypes/b0cb44a2-65ef"; - _requests[434] = new DefaultHttpContext(); - _requests[434].RequestServices = CreateServices(); - _requests[434].Request.Method = "GET"; - _requests[434].Request.Path = "/catalog/usql/databases/d646e95e-b13/schemas/b919ee62-a/tablevaluedfunctions/035d1efd-967b-4c70-8a03"; - _requests[435] = new DefaultHttpContext(); - _requests[435].RequestServices = CreateServices(); - _requests[435].Request.Method = "GET"; - _requests[435].Request.Path = "/catalog/usql/databases/6a325af8-5bc/schemas/7a1a756a-c/views/6a1d0fd7"; - _requests[436] = new DefaultHttpContext(); - _requests[436].RequestServices = CreateServices(); - _requests[436].Request.Method = "GET"; - _requests[436].Request.Path = "/providers/Microsoft.ADHybridHealthService/addsservices/f45e74a3-5d/metricmetadata/717e951a-d/groups/4bc43b1f-"; - _requests[437] = new DefaultHttpContext(); - _requests[437].RequestServices = CreateServices(); - _requests[437].Request.Method = "GET"; - _requests[437].Request.Path = "/providers/Microsoft.ADHybridHealthService/services/6bb2374e-92/metricmetadata/0fe3a01f-0/groups/c1b64632-"; - _requests[438] = new DefaultHttpContext(); - _requests[438].RequestServices = CreateServices(); - _requests[438].Request.Method = "DELETE"; - _requests[438].Request.Path = "/providers/Microsoft.Intune/locations/71625769/androidPolicies/e4ffba4c-4/apps/4293883"; - _requests[439] = new DefaultHttpContext(); - _requests[439].RequestServices = CreateServices(); - _requests[439].Request.Method = "DELETE"; - _requests[439].Request.Path = "/providers/Microsoft.Intune/locations/9273bbe3/androidPolicies/3f892ebc-6/groups/d052597"; - _requests[440] = new DefaultHttpContext(); - _requests[440].RequestServices = CreateServices(); - _requests[440].Request.Method = "DELETE"; - _requests[440].Request.Path = "/providers/Microsoft.Intune/locations/b708beeb/iosPolicies/7e608bc0-c/apps/3c90f48"; - _requests[441] = new DefaultHttpContext(); - _requests[441].RequestServices = CreateServices(); - _requests[441].Request.Method = "DELETE"; - _requests[441].Request.Path = "/providers/Microsoft.Intune/locations/c4f0a13e/iosPolicies/9b9ce7c5-e/groups/5b2aa0d"; - _requests[442] = new DefaultHttpContext(); - _requests[442].RequestServices = CreateServices(); - _requests[442].Request.Method = "GET"; - _requests[442].Request.Path = "/providers/Microsoft.Intune/locations/daf6c43f/users/bc881d61/devices/61cbaddf-8"; - _requests[443] = new DefaultHttpContext(); - _requests[443].RequestServices = CreateServices(); - _requests[443].Request.Method = "GET"; - _requests[443].Request.Path = "/catalog/usql/databases/b048fa5e-d96/schemas/fd93d313-c/tables/ff69afce-/partitions"; - _requests[444] = new DefaultHttpContext(); - _requests[444].RequestServices = CreateServices(); - _requests[444].Request.Method = "GET"; - _requests[444].Request.Path = "/catalog/usql/databases/1a9de872-8f0/schemas/180fa8eb-c/tables/3e390733-/previewrows"; - _requests[445] = new DefaultHttpContext(); - _requests[445].RequestServices = CreateServices(); - _requests[445].Request.Method = "GET"; - _requests[445].Request.Path = "/catalog/usql/databases/f2a8d23d-e4d/schemas/e558836d-c/tables/18f4336a-/statistics"; - _requests[446] = new DefaultHttpContext(); - _requests[446].RequestServices = CreateServices(); - _requests[446].Request.Method = "GET"; - _requests[446].Request.Path = "/catalog/usql/databases/9cbadefd-0bf/schemas/6b801a9a-4/tables/8f92cdd2-/tablefragments"; - _requests[447] = new DefaultHttpContext(); - _requests[447].RequestServices = CreateServices(); - _requests[447].Request.Method = "GET"; - _requests[447].Request.Path = "/providers/Microsoft.ADHybridHealthService/addsservices/80c12b07-89/metrics/4c15cadd-e/groups/068b811b-/average"; - _requests[448] = new DefaultHttpContext(); - _requests[448].RequestServices = CreateServices(); - _requests[448].Request.Method = "GET"; - _requests[448].Request.Path = "/providers/Microsoft.ADHybridHealthService/addsservices/dfe89e05-a5/metrics/1c13b631-d/groups/172a0eb3-/sum"; - _requests[449] = new DefaultHttpContext(); - _requests[449].RequestServices = CreateServices(); - _requests[449].Request.Method = "GET"; - _requests[449].Request.Path = "/providers/Microsoft.ADHybridHealthService/services/5784171a-e9/metrics/eccba1df-e/groups/b779e3bf-/average"; - _requests[450] = new DefaultHttpContext(); - _requests[450].RequestServices = CreateServices(); - _requests[450].Request.Method = "GET"; - _requests[450].Request.Path = "/providers/Microsoft.ADHybridHealthService/services/7c23333f-71/metrics/5ed2854e-a/groups/fa072227-/sum"; - _requests[451] = new DefaultHttpContext(); - _requests[451].RequestServices = CreateServices(); - _requests[451].Request.Method = "POST"; - _requests[451].Request.Path = "/providers/Microsoft.Intune/locations/5417e3f9/users/365be18f/devices/7a20f36c-c/wipe"; - _requests[452] = new DefaultHttpContext(); - _requests[452].RequestServices = CreateServices(); - _requests[452].Request.Method = "GET"; - _requests[452].Request.Path = "/catalog/usql/databases/1d170225-673/schemas/77b9c96f-7/tables/474bc498-/partitions/a69c2709-2b55"; - _requests[453] = new DefaultHttpContext(); - _requests[453].RequestServices = CreateServices(); - _requests[453].Request.Method = "GET"; - _requests[453].Request.Path = "/catalog/usql/databases/63692112-ac4/schemas/dac31bb4-a/tables/7c6fa990-/statistics/dd6790d4-9b0a-"; - _requests[454] = new DefaultHttpContext(); - _requests[454].RequestServices = CreateServices(); - _requests[454].Request.Method = "GET"; - _requests[454].Request.Path = "/providers/Microsoft.ADHybridHealthService/services/b01770b6-d4/servicemembers/be95dfa1-8707-4/metrics/65c8b990-4/groups/50836f65-"; - _requests[455] = new DefaultHttpContext(); - _requests[455].RequestServices = CreateServices(); - _requests[455].Request.Method = "GET"; - _requests[455].Request.Path = "/catalog/usql/databases/e518c33f-734/schemas/783e19fe-6/tables/e94b5332-/partitions/c24c5eca-be27/previewrows"; - _requests[456] = new DefaultHttpContext(); - _requests[456].RequestServices = CreateServices(); - _requests[456].Request.Method = "GET"; - _requests[456].Request.Path = "/apps/customprebuiltdomains/4e926de"; - _requests[457] = new DefaultHttpContext(); - _requests[457].RequestServices = CreateServices(); - _requests[457].Request.Method = "GET"; - _requests[457].Request.Path = "/BackupRestore/BackupPolicies/d60f5cf6-6fb3-45"; - _requests[458] = new DefaultHttpContext(); - _requests[458].RequestServices = CreateServices(); - _requests[458].Request.Method = "DELETE"; - _requests[458].Request.Path = "/certificates/issuers/bfc8c19c-1a"; - _requests[459] = new DefaultHttpContext(); - _requests[459].RequestServices = CreateServices(); - _requests[459].Request.Method = "GET"; - _requests[459].Request.Path = "/webhdfs/v1/11dc9"; - _requests[460] = new DefaultHttpContext(); - _requests[460].RequestServices = CreateServices(); - _requests[460].Request.Method = "GET"; - _requests[460].Request.Path = "/webhdfs/va/210ab758-6446-48be-8dc2-e"; - _requests[461] = new DefaultHttpContext(); - _requests[461].RequestServices = CreateServices(); - _requests[461].Request.Method = "POST"; - _requests[461].Request.Path = "/BackupRestore/BackupPolicies/47e8aff2-4a5b-4c/$/Delete"; - _requests[462] = new DefaultHttpContext(); - _requests[462].RequestServices = CreateServices(); - _requests[462].Request.Method = "GET"; - _requests[462].Request.Path = "/BackupRestore/BackupPolicies/61e589e5-a57a-45/$/GetBackupEnabledEntities"; - _requests[463] = new DefaultHttpContext(); - _requests[463].RequestServices = CreateServices(); - _requests[463].Request.Method = "POST"; - _requests[463].Request.Path = "/BackupRestore/BackupPolicies/d4ce00a5-59ad-4d/$/Update"; - _requests[464] = new DefaultHttpContext(); - _requests[464].RequestServices = CreateServices(); - _requests[464].Request.Method = "GET"; - _requests[464].Request.Path = "/EventsStore/Applications/a6df2a1a-e4a4/$/Events"; - _requests[465] = new DefaultHttpContext(); - _requests[465].RequestServices = CreateServices(); - _requests[465].Request.Method = "GET"; - _requests[465].Request.Path = "/EventsStore/CorrelatedEvents/0b6ea255-130d-4/$/Events"; - _requests[466] = new DefaultHttpContext(); - _requests[466].RequestServices = CreateServices(); - _requests[466].Request.Method = "GET"; - _requests[466].Request.Path = "/EventsStore/Nodes/cf6b34dd/$/Events"; - _requests[467] = new DefaultHttpContext(); - _requests[467].RequestServices = CreateServices(); - _requests[467].Request.Method = "GET"; - _requests[467].Request.Path = "/EventsStore/Partitions/15418af7-ad/$/Events"; - _requests[468] = new DefaultHttpContext(); - _requests[468].RequestServices = CreateServices(); - _requests[468].Request.Method = "GET"; - _requests[468].Request.Path = "/EventsStore/Services/6067c5ec-/$/Events"; - _requests[469] = new DefaultHttpContext(); - _requests[469].RequestServices = CreateServices(); - _requests[469].Request.Method = "GET"; - _requests[469].Request.Path = "/Faults/Nodes/7cc8bc57/$/GetTransitionProgress"; - _requests[470] = new DefaultHttpContext(); - _requests[470].RequestServices = CreateServices(); - _requests[470].Request.Method = "POST"; - _requests[470].Request.Path = "/Faults/Nodes/83694d49/$/StartTransition"; - _requests[471] = new DefaultHttpContext(); - _requests[471].RequestServices = CreateServices(); - _requests[471].Request.Method = "GET"; - _requests[471].Request.Path = "/EventsStore/Partitions/cee88c66-4f/$/Replicas/Events"; - _requests[472] = new DefaultHttpContext(); - _requests[472].RequestServices = CreateServices(); - _requests[472].Request.Method = "POST"; - _requests[472].Request.Path = "/Services/$/5b61fa9e-/$/GetPartitions/$/Recover"; - _requests[473] = new DefaultHttpContext(); - _requests[473].RequestServices = CreateServices(); - _requests[473].Request.Method = "GET"; - _requests[473].Request.Path = "/EventsStore/Partitions/0478c5c5-b2/$/Replicas/38eabc47-/$/Events"; - _requests[474] = new DefaultHttpContext(); - _requests[474].RequestServices = CreateServices(); - _requests[474].Request.Method = "GET"; - _requests[474].Request.Path = "/Faults/Services/27f25bb1-/$/GetPartitions/8a6e14c3-e7/$/GetDataLossProgress"; - _requests[475] = new DefaultHttpContext(); - _requests[475].RequestServices = CreateServices(); - _requests[475].Request.Method = "GET"; - _requests[475].Request.Path = "/Faults/Services/dbb93690-/$/GetPartitions/c443b4b4-9c/$/GetQuorumLossProgress"; - _requests[476] = new DefaultHttpContext(); - _requests[476].RequestServices = CreateServices(); - _requests[476].Request.Method = "GET"; - _requests[476].Request.Path = "/Faults/Services/ec27920c-/$/GetPartitions/17a1ca55-42/$/GetRestartProgress"; - _requests[477] = new DefaultHttpContext(); - _requests[477].RequestServices = CreateServices(); - _requests[477].Request.Method = "POST"; - _requests[477].Request.Path = "/Faults/Services/703a7a03-/$/GetPartitions/5f62dedc-39/$/StartDataLoss"; - _requests[478] = new DefaultHttpContext(); - _requests[478].RequestServices = CreateServices(); - _requests[478].Request.Method = "POST"; - _requests[478].Request.Path = "/Faults/Services/51c11c63-/$/GetPartitions/fd1151c6-3f/$/StartQuorumLoss"; - _requests[479] = new DefaultHttpContext(); - _requests[479].RequestServices = CreateServices(); - _requests[479].Request.Method = "POST"; - _requests[479].Request.Path = "/Faults/Services/60a355a3-/$/GetPartitions/210feded-86/$/StartRestart"; - _requests[480] = new DefaultHttpContext(); - _requests[480].RequestServices = CreateServices(); - _requests[480].Request.Method = "DELETE"; - _requests[480].Request.Path = "/apis/850ef"; - _requests[481] = new DefaultHttpContext(); - _requests[481].RequestServices = CreateServices(); - _requests[481].Request.Method = "GET"; - _requests[481].Request.Path = "/Applications/bdaa32f6-87c8"; - _requests[482] = new DefaultHttpContext(); - _requests[482].RequestServices = CreateServices(); - _requests[482].Request.Method = "GET"; - _requests[482].Request.Path = "/ApplicationTypes/8e29cc26-3a32-47b0-"; - _requests[483] = new DefaultHttpContext(); - _requests[483].RequestServices = CreateServices(); - _requests[483].Request.Method = "DELETE"; - _requests[483].Request.Path = "/apps/13ec1"; - _requests[484] = new DefaultHttpContext(); - _requests[484].RequestServices = CreateServices(); - _requests[484].Request.Method = "DELETE"; - _requests[484].Request.Path = "/authorizationServers/de8969e"; - _requests[485] = new DefaultHttpContext(); - _requests[485].RequestServices = CreateServices(); - _requests[485].Request.Method = "DELETE"; - _requests[485].Request.Path = "/backends/9920b6f6-"; - _requests[486] = new DefaultHttpContext(); - _requests[486].RequestServices = CreateServices(); - _requests[486].Request.Method = "DELETE"; - _requests[486].Request.Path = "/certificates/5df2842c-e779-4f"; - _requests[487] = new DefaultHttpContext(); - _requests[487].RequestServices = CreateServices(); - _requests[487].Request.Method = "GET"; - _requests[487].Request.Path = "/ComposeDeployments/e46fad02-4cdb-"; - _requests[488] = new DefaultHttpContext(); - _requests[488].RequestServices = CreateServices(); - _requests[488].Request.Method = "DELETE"; - _requests[488].Request.Path = "/deletedcertificates/af4fde9e-01e7-48"; - _requests[489] = new DefaultHttpContext(); - _requests[489].RequestServices = CreateServices(); - _requests[489].Request.Method = "DELETE"; - _requests[489].Request.Path = "/deletedkeys/e974a855"; - _requests[490] = new DefaultHttpContext(); - _requests[490].RequestServices = CreateServices(); - _requests[490].Request.Method = "DELETE"; - _requests[490].Request.Path = "/deletedsecrets/1f8fd6f2-71"; - _requests[491] = new DefaultHttpContext(); - _requests[491].RequestServices = CreateServices(); - _requests[491].Request.Method = "DELETE"; - _requests[491].Request.Path = "/deletedstorage/bf7929b5-3343-4904-9"; - _requests[492] = new DefaultHttpContext(); - _requests[492].RequestServices = CreateServices(); - _requests[492].Request.Method = "GET"; - _requests[492].Request.Path = "/domains/1ab570e2"; - _requests[493] = new DefaultHttpContext(); - _requests[493].RequestServices = CreateServices(); - _requests[493].Request.Method = "DELETE"; - _requests[493].Request.Path = "/facelists/99840564-f"; - _requests[494] = new DefaultHttpContext(); - _requests[494].RequestServices = CreateServices(); - _requests[494].Request.Method = "DELETE"; - _requests[494].Request.Path = "/groups/fff438c"; - _requests[495] = new DefaultHttpContext(); - _requests[495].RequestServices = CreateServices(); - _requests[495].Request.Method = "DELETE"; - _requests[495].Request.Path = "/identityProviders/cfdc1ad7-d7ab-494a-a"; - _requests[496] = new DefaultHttpContext(); - _requests[496].RequestServices = CreateServices(); - _requests[496].Request.Method = "DELETE"; - _requests[496].Request.Path = "/ImageStore/0ef2ec99-79"; - _requests[497] = new DefaultHttpContext(); - _requests[497].RequestServices = CreateServices(); - _requests[497].Request.Method = "GET"; - _requests[497].Request.Path = "/Jobs/47bcec7d-d7"; - _requests[498] = new DefaultHttpContext(); - _requests[498].RequestServices = CreateServices(); - _requests[498].Request.Method = "PUT"; - _requests[498].Request.Path = "/jobschedules/1573c9b0-081f"; - _requests[499] = new DefaultHttpContext(); - _requests[499].RequestServices = CreateServices(); - _requests[499].Request.Method = "DELETE"; - _requests[499].Request.Path = "/keys/b196e548"; - _requests[500] = new DefaultHttpContext(); - _requests[500].RequestServices = CreateServices(); - _requests[500].Request.Method = "DELETE"; - _requests[500].Request.Path = "/loggers/c7b5f1e5"; - _requests[501] = new DefaultHttpContext(); - _requests[501].RequestServices = CreateServices(); - _requests[501].Request.Method = "DELETE"; - _requests[501].Request.Path = "/Names/bc65e2"; - _requests[502] = new DefaultHttpContext(); - _requests[502].RequestServices = CreateServices(); - _requests[502].Request.Method = "GET"; - _requests[502].Request.Path = "/Nodes/6f7ab6d3"; - _requests[503] = new DefaultHttpContext(); - _requests[503].RequestServices = CreateServices(); - _requests[503].Request.Method = "DELETE"; - _requests[503].Request.Path = "/openidConnectProviders/e307f"; - _requests[504] = new DefaultHttpContext(); - _requests[504].RequestServices = CreateServices(); - _requests[504].Request.Method = "GET"; - _requests[504].Request.Path = "/Partitions/149d4ef0-e3"; - _requests[505] = new DefaultHttpContext(); - _requests[505].RequestServices = CreateServices(); - _requests[505].Request.Method = "PATCH"; - _requests[505].Request.Path = "/persongroups/59a1d231-c20d"; - _requests[506] = new DefaultHttpContext(); - _requests[506].RequestServices = CreateServices(); - _requests[506].Request.Method = "GET"; - _requests[506].Request.Path = "/pipelines/91bf4183-c1e9-48"; - _requests[507] = new DefaultHttpContext(); - _requests[507].RequestServices = CreateServices(); - _requests[507].Request.Method = "DELETE"; - _requests[507].Request.Path = "/policies/0d0158ae"; - _requests[508] = new DefaultHttpContext(); - _requests[508].RequestServices = CreateServices(); - _requests[508].Request.Method = "PATCH"; - _requests[508].Request.Path = "/pools/10d43b"; - _requests[509] = new DefaultHttpContext(); - _requests[509].RequestServices = CreateServices(); - _requests[509].Request.Method = "DELETE"; - _requests[509].Request.Path = "/products/a2bacb4b-"; - _requests[510] = new DefaultHttpContext(); - _requests[510].RequestServices = CreateServices(); - _requests[510].Request.Method = "PATCH"; - _requests[510].Request.Path = "/projects/3954a953-"; - _requests[511] = new DefaultHttpContext(); - _requests[511].RequestServices = CreateServices(); - _requests[511].Request.Method = "DELETE"; - _requests[511].Request.Path = "/properties/a3066c"; - _requests[512] = new DefaultHttpContext(); - _requests[512].RequestServices = CreateServices(); - _requests[512].Request.Method = "PATCH"; - _requests[512].Request.Path = "/quotas/0d3aa318-d1aa-4"; - _requests[513] = new DefaultHttpContext(); - _requests[513].RequestServices = CreateServices(); - _requests[513].Request.Method = "GET"; - _requests[513].Request.Path = "/recurrences/ae68c5a6-dd24-49ab"; - _requests[514] = new DefaultHttpContext(); - _requests[514].RequestServices = CreateServices(); - _requests[514].Request.Method = "DELETE"; - _requests[514].Request.Path = "/secrets/0cfa283a-b6"; - _requests[515] = new DefaultHttpContext(); - _requests[515].RequestServices = CreateServices(); - _requests[515].Request.Method = "PATCH"; - _requests[515].Request.Path = "/storage/77b376e7-bd83-4f3c-8"; - _requests[516] = new DefaultHttpContext(); - _requests[516].RequestServices = CreateServices(); - _requests[516].Request.Method = "GET"; - _requests[516].Request.Path = "/subscriptions/d0a85eaa-6bcb-"; - _requests[517] = new DefaultHttpContext(); - _requests[517].RequestServices = CreateServices(); - _requests[517].Request.Method = "DELETE"; - _requests[517].Request.Path = "/templates/3bab255d-8df"; - _requests[518] = new DefaultHttpContext(); - _requests[518].RequestServices = CreateServices(); - _requests[518].Request.Method = "PATCH"; - _requests[518].Request.Path = "/tenant/190693c5-9"; - _requests[519] = new DefaultHttpContext(); - _requests[519].RequestServices = CreateServices(); - _requests[519].Request.Method = "GET"; - _requests[519].Request.Path = "/textOperations/0a945aae-dd"; - _requests[520] = new DefaultHttpContext(); - _requests[520].RequestServices = CreateServices(); - _requests[520].Request.Method = "DELETE"; - _requests[520].Request.Path = "/users/06fff"; - _requests[521] = new DefaultHttpContext(); - _requests[521].RequestServices = CreateServices(); - _requests[521].Request.Method = "POST"; - _requests[521].Request.Path = "/WebHdfsExt/0a64a"; - _requests[522] = new DefaultHttpContext(); - _requests[522].RequestServices = CreateServices(); - _requests[522].Request.Method = "GET"; - _requests[522].Request.Path = "/apis/e77e3/operations"; - _requests[523] = new DefaultHttpContext(); - _requests[523].RequestServices = CreateServices(); - _requests[523].Request.Method = "GET"; - _requests[523].Request.Path = "/apis/8e91a/policies"; - _requests[524] = new DefaultHttpContext(); - _requests[524].RequestServices = CreateServices(); - _requests[524].Request.Method = "GET"; - _requests[524].Request.Path = "/apis/79edd/products"; - _requests[525] = new DefaultHttpContext(); - _requests[525].RequestServices = CreateServices(); - _requests[525].Request.Method = "GET"; - _requests[525].Request.Path = "/apis/c134a/schemas"; - _requests[526] = new DefaultHttpContext(); - _requests[526].RequestServices = CreateServices(); - _requests[526].Request.Method = "GET"; - _requests[526].Request.Path = "/apps/477aa/endpoints"; - _requests[527] = new DefaultHttpContext(); - _requests[527].RequestServices = CreateServices(); - _requests[527].Request.Method = "POST"; - _requests[527].Request.Path = "/apps/6fe2a/metrics"; - _requests[528] = new DefaultHttpContext(); - _requests[528].RequestServices = CreateServices(); - _requests[528].Request.Method = "PUT"; - _requests[528].Request.Path = "/apps/18b9d/permissions"; - _requests[529] = new DefaultHttpContext(); - _requests[529].RequestServices = CreateServices(); - _requests[529].Request.Method = "POST"; - _requests[529].Request.Path = "/apps/e0d3a/publish"; - _requests[530] = new DefaultHttpContext(); - _requests[530].RequestServices = CreateServices(); - _requests[530].Request.Method = "PUT"; - _requests[530].Request.Path = "/apps/02a22/publishsettings"; - _requests[531] = new DefaultHttpContext(); - _requests[531].RequestServices = CreateServices(); - _requests[531].Request.Method = "POST"; - _requests[531].Request.Path = "/apps/3842f/query"; - _requests[532] = new DefaultHttpContext(); - _requests[532].RequestServices = CreateServices(); - _requests[532].Request.Method = "GET"; - _requests[532].Request.Path = "/apps/7ff07/querylogs"; - _requests[533] = new DefaultHttpContext(); - _requests[533].RequestServices = CreateServices(); - _requests[533].Request.Method = "PUT"; - _requests[533].Request.Path = "/apps/1302d/settings"; - _requests[534] = new DefaultHttpContext(); - _requests[534].RequestServices = CreateServices(); - _requests[534].Request.Method = "GET"; - _requests[534].Request.Path = "/apps/93d8a/versions"; - _requests[535] = new DefaultHttpContext(); - _requests[535].RequestServices = CreateServices(); - _requests[535].Request.Method = "POST"; - _requests[535].Request.Path = "/certificates/cfd227e8-4693-43/create"; - _requests[536] = new DefaultHttpContext(); - _requests[536].RequestServices = CreateServices(); - _requests[536].Request.Method = "POST"; - _requests[536].Request.Path = "/certificates/b6f5c07c-2fab-49/import"; - _requests[537] = new DefaultHttpContext(); - _requests[537].RequestServices = CreateServices(); - _requests[537].Request.Method = "DELETE"; - _requests[537].Request.Path = "/certificates/689feeb3-be4b-4f/pending"; - _requests[538] = new DefaultHttpContext(); - _requests[538].RequestServices = CreateServices(); - _requests[538].Request.Method = "PATCH"; - _requests[538].Request.Path = "/certificates/fe7083ec-5b2d-42/policy"; - _requests[539] = new DefaultHttpContext(); - _requests[539].RequestServices = CreateServices(); - _requests[539].Request.Method = "GET"; - _requests[539].Request.Path = "/certificates/324c4615-6393-4d/versions"; - _requests[540] = new DefaultHttpContext(); - _requests[540].RequestServices = CreateServices(); - _requests[540].Request.Method = "GET"; - _requests[540].Request.Path = "/delegatedProviders/2b1d711c-1a3a-4332-/offers"; - _requests[541] = new DefaultHttpContext(); - _requests[541].RequestServices = CreateServices(); - _requests[541].Request.Method = "POST"; - _requests[541].Request.Path = "/deletedcertificates/74df663d-ba39-48/recover"; - _requests[542] = new DefaultHttpContext(); - _requests[542].RequestServices = CreateServices(); - _requests[542].Request.Method = "POST"; - _requests[542].Request.Path = "/deletedkeys/044e1242/recover"; - _requests[543] = new DefaultHttpContext(); - _requests[543].RequestServices = CreateServices(); - _requests[543].Request.Method = "POST"; - _requests[543].Request.Path = "/deletedsecrets/31e54952-d3/recover"; - _requests[544] = new DefaultHttpContext(); - _requests[544].RequestServices = CreateServices(); - _requests[544].Request.Method = "POST"; - _requests[544].Request.Path = "/deletedstorage/f683219d-2950-4aa7-b/recover"; - _requests[545] = new DefaultHttpContext(); - _requests[545].RequestServices = CreateServices(); - _requests[545].Request.Method = "GET"; - _requests[545].Request.Path = "/deletedstorage/37ae37c9-b948-4a15-b/sas"; - _requests[546] = new DefaultHttpContext(); - _requests[546].RequestServices = CreateServices(); - _requests[546].Request.Method = "POST"; - _requests[546].Request.Path = "/facelists/9bbcd4fd-b/persistedFaces"; - _requests[547] = new DefaultHttpContext(); - _requests[547].RequestServices = CreateServices(); - _requests[547].Request.Method = "GET"; - _requests[547].Request.Path = "/groups/50200c8/users"; - _requests[548] = new DefaultHttpContext(); - _requests[548].RequestServices = CreateServices(); - _requests[548].Request.Method = "POST"; - _requests[548].Request.Path = "/jobs/4c92b/addtaskcollection"; - _requests[549] = new DefaultHttpContext(); - _requests[549].RequestServices = CreateServices(); - _requests[549].Request.Method = "POST"; - _requests[549].Request.Path = "/jobs/1c210/disable"; - _requests[550] = new DefaultHttpContext(); - _requests[550].RequestServices = CreateServices(); - _requests[550].Request.Method = "POST"; - _requests[550].Request.Path = "/jobs/38186/enable"; - _requests[551] = new DefaultHttpContext(); - _requests[551].RequestServices = CreateServices(); - _requests[551].Request.Method = "GET"; - _requests[551].Request.Path = "/jobs/2fbf8/jobpreparationandreleasetaskstatus"; - _requests[552] = new DefaultHttpContext(); - _requests[552].RequestServices = CreateServices(); - _requests[552].Request.Method = "GET"; - _requests[552].Request.Path = "/jobs/3f983/taskcounts"; - _requests[553] = new DefaultHttpContext(); - _requests[553].RequestServices = CreateServices(); - _requests[553].Request.Method = "GET"; - _requests[553].Request.Path = "/jobs/f07be/tasks"; - _requests[554] = new DefaultHttpContext(); - _requests[554].RequestServices = CreateServices(); - _requests[554].Request.Method = "POST"; - _requests[554].Request.Path = "/jobs/9959b/terminate"; - _requests[555] = new DefaultHttpContext(); - _requests[555].RequestServices = CreateServices(); - _requests[555].Request.Method = "POST"; - _requests[555].Request.Path = "/Jobs/ffc62a95-e9/CancelJob"; - _requests[556] = new DefaultHttpContext(); - _requests[556].RequestServices = CreateServices(); - _requests[556].Request.Method = "GET"; - _requests[556].Request.Path = "/Jobs/e1ae6fc1-b0/GetDebugDataPath"; - _requests[557] = new DefaultHttpContext(); - _requests[557].RequestServices = CreateServices(); - _requests[557].Request.Method = "GET"; - _requests[557].Request.Path = "/Jobs/3e2f5475-0b/GetStatistics"; - _requests[558] = new DefaultHttpContext(); - _requests[558].RequestServices = CreateServices(); - _requests[558].Request.Method = "POST"; - _requests[558].Request.Path = "/jobs/35ea2353-12/YieldJob"; - _requests[559] = new DefaultHttpContext(); - _requests[559].RequestServices = CreateServices(); - _requests[559].Request.Method = "POST"; - _requests[559].Request.Path = "/jobschedules/f6ab65ca-d352/disable"; - _requests[560] = new DefaultHttpContext(); - _requests[560].RequestServices = CreateServices(); - _requests[560].Request.Method = "POST"; - _requests[560].Request.Path = "/jobschedules/e0aabb4b-4110/enable"; - _requests[561] = new DefaultHttpContext(); - _requests[561].RequestServices = CreateServices(); - _requests[561].Request.Method = "GET"; - _requests[561].Request.Path = "/jobschedules/523132fd-c8dc/jobs"; - _requests[562] = new DefaultHttpContext(); - _requests[562].RequestServices = CreateServices(); - _requests[562].Request.Method = "POST"; - _requests[562].Request.Path = "/jobschedules/54eb3346-30e4/terminate"; - _requests[563] = new DefaultHttpContext(); - _requests[563].RequestServices = CreateServices(); - _requests[563].Request.Method = "POST"; - _requests[563].Request.Path = "/keys/dada2587/backup"; - _requests[564] = new DefaultHttpContext(); - _requests[564].RequestServices = CreateServices(); - _requests[564].Request.Method = "POST"; - _requests[564].Request.Path = "/keys/636e475f/create"; - _requests[565] = new DefaultHttpContext(); - _requests[565].RequestServices = CreateServices(); - _requests[565].Request.Method = "GET"; - _requests[565].Request.Path = "/keys/f7bf3842/versions"; - _requests[566] = new DefaultHttpContext(); - _requests[566].RequestServices = CreateServices(); - _requests[566].Request.Method = "POST"; - _requests[566].Request.Path = "/models/2740d/analyze"; - _requests[567] = new DefaultHttpContext(); - _requests[567].RequestServices = CreateServices(); - _requests[567].Request.Method = "GET"; - _requests[567].Request.Path = "/persongroups/c1be82e8-689a/persons"; - _requests[568] = new DefaultHttpContext(); - _requests[568].RequestServices = CreateServices(); - _requests[568].Request.Method = "POST"; - _requests[568].Request.Path = "/persongroups/b65b76c8-3d96/train"; - _requests[569] = new DefaultHttpContext(); - _requests[569].RequestServices = CreateServices(); - _requests[569].Request.Method = "GET"; - _requests[569].Request.Path = "/persongroups/335c9ca3-4495/training"; - _requests[570] = new DefaultHttpContext(); - _requests[570].RequestServices = CreateServices(); - _requests[570].Request.Method = "POST"; - _requests[570].Request.Path = "/pools/97e163/disableautoscale"; - _requests[571] = new DefaultHttpContext(); - _requests[571].RequestServices = CreateServices(); - _requests[571].Request.Method = "POST"; - _requests[571].Request.Path = "/pools/c92a0f/enableautoscale"; - _requests[572] = new DefaultHttpContext(); - _requests[572].RequestServices = CreateServices(); - _requests[572].Request.Method = "POST"; - _requests[572].Request.Path = "/pools/0592fa/evaluateautoscale"; - _requests[573] = new DefaultHttpContext(); - _requests[573].RequestServices = CreateServices(); - _requests[573].Request.Method = "GET"; - _requests[573].Request.Path = "/pools/0cd1ed/nodes"; - _requests[574] = new DefaultHttpContext(); - _requests[574].RequestServices = CreateServices(); - _requests[574].Request.Method = "POST"; - _requests[574].Request.Path = "/pools/4ea275/removenodes"; - _requests[575] = new DefaultHttpContext(); - _requests[575].RequestServices = CreateServices(); - _requests[575].Request.Method = "POST"; - _requests[575].Request.Path = "/pools/5f1ec1/resize"; - _requests[576] = new DefaultHttpContext(); - _requests[576].RequestServices = CreateServices(); - _requests[576].Request.Method = "POST"; - _requests[576].Request.Path = "/pools/ca6ce7/stopresize"; - _requests[577] = new DefaultHttpContext(); - _requests[577].RequestServices = CreateServices(); - _requests[577].Request.Method = "POST"; - _requests[577].Request.Path = "/pools/9bc8cb/updateproperties"; - _requests[578] = new DefaultHttpContext(); - _requests[578].RequestServices = CreateServices(); - _requests[578].Request.Method = "POST"; - _requests[578].Request.Path = "/pools/720965/upgradeos"; - _requests[579] = new DefaultHttpContext(); - _requests[579].RequestServices = CreateServices(); - _requests[579].Request.Method = "GET"; - _requests[579].Request.Path = "/products/c0eb0cb5-/apis"; - _requests[580] = new DefaultHttpContext(); - _requests[580].RequestServices = CreateServices(); - _requests[580].Request.Method = "GET"; - _requests[580].Request.Path = "/products/6c984fe0-/groups"; - _requests[581] = new DefaultHttpContext(); - _requests[581].RequestServices = CreateServices(); - _requests[581].Request.Method = "GET"; - _requests[581].Request.Path = "/products/a3e7b5aa-/policies"; - _requests[582] = new DefaultHttpContext(); - _requests[582].RequestServices = CreateServices(); - _requests[582].Request.Method = "GET"; - _requests[582].Request.Path = "/products/0653c953-/subscriptions"; - _requests[583] = new DefaultHttpContext(); - _requests[583].RequestServices = CreateServices(); - _requests[583].Request.Method = "DELETE"; - _requests[583].Request.Path = "/projects/55d556bc-/images"; - _requests[584] = new DefaultHttpContext(); - _requests[584].RequestServices = CreateServices(); - _requests[584].Request.Method = "GET"; - _requests[584].Request.Path = "/projects/ae3c3264-/iterations"; - _requests[585] = new DefaultHttpContext(); - _requests[585].RequestServices = CreateServices(); - _requests[585].Request.Method = "DELETE"; - _requests[585].Request.Path = "/projects/add231e4-/predictions"; - _requests[586] = new DefaultHttpContext(); - _requests[586].RequestServices = CreateServices(); - _requests[586].Request.Method = "POST"; - _requests[586].Request.Path = "/projects/299047ef-/tags"; - _requests[587] = new DefaultHttpContext(); - _requests[587].RequestServices = CreateServices(); - _requests[587].Request.Method = "POST"; - _requests[587].Request.Path = "/projects/ba68c06c-/train"; - _requests[588] = new DefaultHttpContext(); - _requests[588].RequestServices = CreateServices(); - _requests[588].Request.Method = "GET"; - _requests[588].Request.Path = "/providers/8d17ddde-fb26-4379-83de-8/operations"; - _requests[589] = new DefaultHttpContext(); - _requests[589].RequestServices = CreateServices(); - _requests[589].Request.Method = "POST"; - _requests[589].Request.Path = "/secrets/83f8e567-84/backup"; - _requests[590] = new DefaultHttpContext(); - _requests[590].RequestServices = CreateServices(); - _requests[590].Request.Method = "GET"; - _requests[590].Request.Path = "/secrets/8ecd653a-5d/versions"; - _requests[591] = new DefaultHttpContext(); - _requests[591].RequestServices = CreateServices(); - _requests[591].Request.Method = "POST"; - _requests[591].Request.Path = "/storage/52a74144-18f2-4dfd-a/backup"; - _requests[592] = new DefaultHttpContext(); - _requests[592].RequestServices = CreateServices(); - _requests[592].Request.Method = "POST"; - _requests[592].Request.Path = "/storage/2e7f4357-4e1f-4244-8/regeneratekey"; - _requests[593] = new DefaultHttpContext(); - _requests[593].RequestServices = CreateServices(); - _requests[593].Request.Method = "GET"; - _requests[593].Request.Path = "/storage/095563f5-3af3-4e76-8/sas"; - _requests[594] = new DefaultHttpContext(); - _requests[594].RequestServices = CreateServices(); - _requests[594].Request.Method = "POST"; - _requests[594].Request.Path = "/subscriptions/dcd58/regeneratePrimaryKey"; - _requests[595] = new DefaultHttpContext(); - _requests[595].RequestServices = CreateServices(); - _requests[595].Request.Method = "POST"; - _requests[595].Request.Path = "/subscriptions/60293/regenerateSecondaryKey"; - _requests[596] = new DefaultHttpContext(); - _requests[596].RequestServices = CreateServices(); - _requests[596].Request.Method = "GET"; - _requests[596].Request.Path = "/subscriptions/eaeea686-96a7-/locations"; - _requests[597] = new DefaultHttpContext(); - _requests[597].RequestServices = CreateServices(); - _requests[597].Request.Method = "GET"; - _requests[597].Request.Path = "/subscriptions/3cdd4344-b16d-/providers"; - _requests[598] = new DefaultHttpContext(); - _requests[598].RequestServices = CreateServices(); - _requests[598].Request.Method = "GET"; - _requests[598].Request.Path = "/subscriptions/f42790b4-3cff-/resourcegroups"; - _requests[599] = new DefaultHttpContext(); - _requests[599].RequestServices = CreateServices(); - _requests[599].Request.Method = "GET"; - _requests[599].Request.Path = "/subscriptions/727042a1-5bdc-/resources"; - _requests[600] = new DefaultHttpContext(); - _requests[600].RequestServices = CreateServices(); - _requests[600].Request.Method = "GET"; - _requests[600].Request.Path = "/subscriptions/26f5cc57-72ff-/tagNames"; - _requests[601] = new DefaultHttpContext(); - _requests[601].RequestServices = CreateServices(); - _requests[601].Request.Method = "GET"; - _requests[601].Request.Path = "/tenant/a57756ff-8/git"; - _requests[602] = new DefaultHttpContext(); - _requests[602].RequestServices = CreateServices(); - _requests[602].Request.Method = "POST"; - _requests[602].Request.Path = "/tenant/71f7ce95-3/regeneratePrimaryKey"; - _requests[603] = new DefaultHttpContext(); - _requests[603].RequestServices = CreateServices(); - _requests[603].Request.Method = "POST"; - _requests[603].Request.Path = "/tenant/099efc7c-0/regenerateSecondaryKey"; - _requests[604] = new DefaultHttpContext(); - _requests[604].RequestServices = CreateServices(); - _requests[604].Request.Method = "POST"; - _requests[604].Request.Path = "/tenant/49ad643a-0c08-4b0/deploy"; - _requests[605] = new DefaultHttpContext(); - _requests[605].RequestServices = CreateServices(); - _requests[605].Request.Method = "POST"; - _requests[605].Request.Path = "/tenant/83a61898-982d-417/save"; - _requests[606] = new DefaultHttpContext(); - _requests[606].RequestServices = CreateServices(); - _requests[606].Request.Method = "GET"; - _requests[606].Request.Path = "/tenant/72ae3e46-5330-4ad/syncState"; - _requests[607] = new DefaultHttpContext(); - _requests[607].RequestServices = CreateServices(); - _requests[607].Request.Method = "POST"; - _requests[607].Request.Path = "/tenant/8d42bb52-6018-408/validate"; - _requests[608] = new DefaultHttpContext(); - _requests[608].RequestServices = CreateServices(); - _requests[608].Request.Method = "POST"; - _requests[608].Request.Path = "/users/6c075/generateSsoUrl"; - _requests[609] = new DefaultHttpContext(); - _requests[609].RequestServices = CreateServices(); - _requests[609].Request.Method = "GET"; - _requests[609].Request.Path = "/users/cb332/groups"; - _requests[610] = new DefaultHttpContext(); - _requests[610].RequestServices = CreateServices(); - _requests[610].Request.Method = "GET"; - _requests[610].Request.Path = "/users/9543b/identities"; - _requests[611] = new DefaultHttpContext(); - _requests[611].RequestServices = CreateServices(); - _requests[611].Request.Method = "GET"; - _requests[611].Request.Path = "/users/70253/subscriptions"; - _requests[612] = new DefaultHttpContext(); - _requests[612].RequestServices = CreateServices(); - _requests[612].Request.Method = "POST"; - _requests[612].Request.Path = "/users/dd340/token"; - _requests[613] = new DefaultHttpContext(); - _requests[613].RequestServices = CreateServices(); - _requests[613].Request.Method = "POST"; - _requests[613].Request.Path = "/workspaces/5927e433-6e/query"; - _requests[614] = new DefaultHttpContext(); - _requests[614].RequestServices = CreateServices(); - _requests[614].Request.Method = "POST"; - _requests[614].Request.Path = "/Applications/cab3de12-435e/$/Delete"; - _requests[615] = new DefaultHttpContext(); - _requests[615].RequestServices = CreateServices(); - _requests[615].Request.Method = "POST"; - _requests[615].Request.Path = "/Applications/b68ce4fa-0a8c/$/DisableBackup"; - _requests[616] = new DefaultHttpContext(); - _requests[616].RequestServices = CreateServices(); - _requests[616].Request.Method = "POST"; - _requests[616].Request.Path = "/Applications/4c0a67dc-21e3/$/EnableBackup"; - _requests[617] = new DefaultHttpContext(); - _requests[617].RequestServices = CreateServices(); - _requests[617].Request.Method = "GET"; - _requests[617].Request.Path = "/Applications/6424037e-9ec5/$/GetBackupConfigurationInfo"; - _requests[618] = new DefaultHttpContext(); - _requests[618].RequestServices = CreateServices(); - _requests[618].Request.Method = "GET"; - _requests[618].Request.Path = "/Applications/2ce014d9-1615/$/GetBackups"; - _requests[619] = new DefaultHttpContext(); - _requests[619].RequestServices = CreateServices(); - _requests[619].Request.Method = "POST"; - _requests[619].Request.Path = "/Applications/4d0a729a-845b/$/GetHealth"; - _requests[620] = new DefaultHttpContext(); - _requests[620].RequestServices = CreateServices(); - _requests[620].Request.Method = "GET"; - _requests[620].Request.Path = "/Applications/1dc83459-5385/$/GetLoadInformation"; - _requests[621] = new DefaultHttpContext(); - _requests[621].RequestServices = CreateServices(); - _requests[621].Request.Method = "GET"; - _requests[621].Request.Path = "/Applications/84b0d3d6-1655/$/GetServices"; - _requests[622] = new DefaultHttpContext(); - _requests[622].RequestServices = CreateServices(); - _requests[622].Request.Method = "GET"; - _requests[622].Request.Path = "/Applications/60ac881f-5b7a/$/GetUpgradeProgress"; - _requests[623] = new DefaultHttpContext(); - _requests[623].RequestServices = CreateServices(); - _requests[623].Request.Method = "POST"; - _requests[623].Request.Path = "/Applications/9e66c7cd-18e2/$/MoveToNextUpgradeDomain"; - _requests[624] = new DefaultHttpContext(); - _requests[624].RequestServices = CreateServices(); - _requests[624].Request.Method = "POST"; - _requests[624].Request.Path = "/Applications/53da93e0-97dd/$/ReportHealth"; - _requests[625] = new DefaultHttpContext(); - _requests[625].RequestServices = CreateServices(); - _requests[625].Request.Method = "POST"; - _requests[625].Request.Path = "/Applications/81a0d308-4385/$/ResumeBackup"; - _requests[626] = new DefaultHttpContext(); - _requests[626].RequestServices = CreateServices(); - _requests[626].Request.Method = "POST"; - _requests[626].Request.Path = "/Applications/bdc3b37b-7f23/$/RollbackUpgrade"; - _requests[627] = new DefaultHttpContext(); - _requests[627].RequestServices = CreateServices(); - _requests[627].Request.Method = "POST"; - _requests[627].Request.Path = "/Applications/0059e7f3-3e39/$/SuspendBackup"; - _requests[628] = new DefaultHttpContext(); - _requests[628].RequestServices = CreateServices(); - _requests[628].Request.Method = "POST"; - _requests[628].Request.Path = "/Applications/ff422fda-2887/$/UpdateUpgrade"; - _requests[629] = new DefaultHttpContext(); - _requests[629].RequestServices = CreateServices(); - _requests[629].Request.Method = "POST"; - _requests[629].Request.Path = "/Applications/fe9b6661-248f/$/Upgrade"; - _requests[630] = new DefaultHttpContext(); - _requests[630].RequestServices = CreateServices(); - _requests[630].Request.Method = "POST"; - _requests[630].Request.Path = "/Applications/c4f0a8c4-6ce2-4/$/MoveNextUpgradeDomain"; - _requests[631] = new DefaultHttpContext(); - _requests[631].RequestServices = CreateServices(); - _requests[631].Request.Method = "GET"; - _requests[631].Request.Path = "/ApplicationTypes/78c5e510-713e-4c1b-/$/GetApplicationManifest"; - _requests[632] = new DefaultHttpContext(); - _requests[632].RequestServices = CreateServices(); - _requests[632].Request.Method = "GET"; - _requests[632].Request.Path = "/ApplicationTypes/0406e307-cb2c-42f6-/$/GetServiceManifest"; - _requests[633] = new DefaultHttpContext(); - _requests[633].RequestServices = CreateServices(); - _requests[633].Request.Method = "GET"; - _requests[633].Request.Path = "/ApplicationTypes/1f5c746b-0a99-45d3-/$/GetServiceTypes"; - _requests[634] = new DefaultHttpContext(); - _requests[634].RequestServices = CreateServices(); - _requests[634].Request.Method = "POST"; - _requests[634].Request.Path = "/ApplicationTypes/654998e4-4d8d-4b32-/$/Unprovision"; - _requests[635] = new DefaultHttpContext(); - _requests[635].RequestServices = CreateServices(); - _requests[635].Request.Method = "GET"; - _requests[635].Request.Path = "/apps/10f8f/events/$metadata"; - _requests[636] = new DefaultHttpContext(); - _requests[636].RequestServices = CreateServices(); - _requests[636].Request.Method = "GET"; - _requests[636].Request.Path = "/apps/afae3/metrics/metadata"; - _requests[637] = new DefaultHttpContext(); - _requests[637].RequestServices = CreateServices(); - _requests[637].Request.Method = "GET"; - _requests[637].Request.Path = "/apps/f343b/query/schema"; - _requests[638] = new DefaultHttpContext(); - _requests[638].RequestServices = CreateServices(); - _requests[638].Request.Method = "POST"; - _requests[638].Request.Path = "/apps/b2845/versions/import"; - _requests[639] = new DefaultHttpContext(); - _requests[639].RequestServices = CreateServices(); - _requests[639].Request.Method = "POST"; - _requests[639].Request.Path = "/certificates/4808d2d8-7fca-4f/pending/merge"; - _requests[640] = new DefaultHttpContext(); - _requests[640].RequestServices = CreateServices(); - _requests[640].Request.Method = "POST"; - _requests[640].Request.Path = "/ComposeDeployments/4c3b8802-4593-/$/Delete"; - _requests[641] = new DefaultHttpContext(); - _requests[641].RequestServices = CreateServices(); - _requests[641].Request.Method = "GET"; - _requests[641].Request.Path = "/ComposeDeployments/03cd380c-caf5-/$/GetUpgradeProgress"; - _requests[642] = new DefaultHttpContext(); - _requests[642].RequestServices = CreateServices(); - _requests[642].Request.Method = "POST"; - _requests[642].Request.Path = "/ComposeDeployments/feb4a661-ab53-/$/Upgrade"; - _requests[643] = new DefaultHttpContext(); - _requests[643].RequestServices = CreateServices(); - _requests[643].Request.Method = "GET"; - _requests[643].Request.Path = "/ImageStore/dfde590e-cf/$/GetUploadSession"; - _requests[644] = new DefaultHttpContext(); - _requests[644].RequestServices = CreateServices(); - _requests[644].Request.Method = "PUT"; - _requests[644].Request.Path = "/ImageStore/c4727e43-12/$/UploadChunk"; - _requests[645] = new DefaultHttpContext(); - _requests[645].RequestServices = CreateServices(); - _requests[645].Request.Method = "GET"; - _requests[645].Request.Path = "/Names/f46427/$/GetProperties"; - _requests[646] = new DefaultHttpContext(); - _requests[646].RequestServices = CreateServices(); - _requests[646].Request.Method = "DELETE"; - _requests[646].Request.Path = "/Names/105f45/$/GetProperty"; - _requests[647] = new DefaultHttpContext(); - _requests[647].RequestServices = CreateServices(); - _requests[647].Request.Method = "GET"; - _requests[647].Request.Path = "/Names/917398/$/GetSubNames"; - _requests[648] = new DefaultHttpContext(); - _requests[648].RequestServices = CreateServices(); - _requests[648].Request.Method = "POST"; - _requests[648].Request.Path = "/Nodes/0571faf5/$/Activate"; - _requests[649] = new DefaultHttpContext(); - _requests[649].RequestServices = CreateServices(); - _requests[649].Request.Method = "POST"; - _requests[649].Request.Path = "/Nodes/603c39f2/$/Deactivate"; - _requests[650] = new DefaultHttpContext(); - _requests[650].RequestServices = CreateServices(); - _requests[650].Request.Method = "POST"; - _requests[650].Request.Path = "/Nodes/209a342a/$/DeployServicePackage"; - _requests[651] = new DefaultHttpContext(); - _requests[651].RequestServices = CreateServices(); - _requests[651].Request.Method = "GET"; - _requests[651].Request.Path = "/Nodes/fc8ce00f/$/GetApplications"; - _requests[652] = new DefaultHttpContext(); - _requests[652].RequestServices = CreateServices(); - _requests[652].Request.Method = "POST"; - _requests[652].Request.Path = "/Nodes/6257d021/$/GetHealth"; - _requests[653] = new DefaultHttpContext(); - _requests[653].RequestServices = CreateServices(); - _requests[653].Request.Method = "GET"; - _requests[653].Request.Path = "/Nodes/72aa7290/$/GetLoadInformation"; - _requests[654] = new DefaultHttpContext(); - _requests[654].RequestServices = CreateServices(); - _requests[654].Request.Method = "POST"; - _requests[654].Request.Path = "/Nodes/a5285681/$/RemoveNodeState"; - _requests[655] = new DefaultHttpContext(); - _requests[655].RequestServices = CreateServices(); - _requests[655].Request.Method = "POST"; - _requests[655].Request.Path = "/Nodes/b05e53e8/$/ReportHealth"; - _requests[656] = new DefaultHttpContext(); - _requests[656].RequestServices = CreateServices(); - _requests[656].Request.Method = "POST"; - _requests[656].Request.Path = "/Nodes/aa164292/$/Restart"; - _requests[657] = new DefaultHttpContext(); - _requests[657].RequestServices = CreateServices(); - _requests[657].Request.Method = "POST"; - _requests[657].Request.Path = "/Nodes/4e65cfe3/$/Start"; - _requests[658] = new DefaultHttpContext(); - _requests[658].RequestServices = CreateServices(); - _requests[658].Request.Method = "POST"; - _requests[658].Request.Path = "/Nodes/359e70a5/$/Stop"; - _requests[659] = new DefaultHttpContext(); - _requests[659].RequestServices = CreateServices(); - _requests[659].Request.Method = "POST"; - _requests[659].Request.Path = "/Partitions/02ec5952-1a/$/Backup"; - _requests[660] = new DefaultHttpContext(); - _requests[660].RequestServices = CreateServices(); - _requests[660].Request.Method = "POST"; - _requests[660].Request.Path = "/Partitions/0a24bef6-c8/$/DisableBackup"; - _requests[661] = new DefaultHttpContext(); - _requests[661].RequestServices = CreateServices(); - _requests[661].Request.Method = "POST"; - _requests[661].Request.Path = "/Partitions/1594f7f0-d1/$/EnableBackup"; - _requests[662] = new DefaultHttpContext(); - _requests[662].RequestServices = CreateServices(); - _requests[662].Request.Method = "GET"; - _requests[662].Request.Path = "/Partitions/107a2228-12/$/GetBackupConfigurationInfo"; - _requests[663] = new DefaultHttpContext(); - _requests[663].RequestServices = CreateServices(); - _requests[663].Request.Method = "GET"; - _requests[663].Request.Path = "/Partitions/ec7ecb0c-71/$/GetBackupProgress"; - _requests[664] = new DefaultHttpContext(); - _requests[664].RequestServices = CreateServices(); - _requests[664].Request.Method = "GET"; - _requests[664].Request.Path = "/Partitions/0198e4a6-e0/$/GetBackups"; - _requests[665] = new DefaultHttpContext(); - _requests[665].RequestServices = CreateServices(); - _requests[665].Request.Method = "POST"; - _requests[665].Request.Path = "/Partitions/daed4973-d5/$/GetHealth"; - _requests[666] = new DefaultHttpContext(); - _requests[666].RequestServices = CreateServices(); - _requests[666].Request.Method = "GET"; - _requests[666].Request.Path = "/Partitions/e33cfd42-3f/$/GetLoadInformation"; - _requests[667] = new DefaultHttpContext(); - _requests[667].RequestServices = CreateServices(); - _requests[667].Request.Method = "GET"; - _requests[667].Request.Path = "/Partitions/170d6b38-5f/$/GetReplicas"; - _requests[668] = new DefaultHttpContext(); - _requests[668].RequestServices = CreateServices(); - _requests[668].Request.Method = "GET"; - _requests[668].Request.Path = "/Partitions/9077dc0f-b8/$/GetRestoreProgress"; - _requests[669] = new DefaultHttpContext(); - _requests[669].RequestServices = CreateServices(); - _requests[669].Request.Method = "GET"; - _requests[669].Request.Path = "/Partitions/82cddeac-ac/$/GetServiceName"; - _requests[670] = new DefaultHttpContext(); - _requests[670].RequestServices = CreateServices(); - _requests[670].Request.Method = "POST"; - _requests[670].Request.Path = "/Partitions/e6352ccd-a3/$/Recover"; - _requests[671] = new DefaultHttpContext(); - _requests[671].RequestServices = CreateServices(); - _requests[671].Request.Method = "POST"; - _requests[671].Request.Path = "/Partitions/14d749db-12/$/ReportHealth"; - _requests[672] = new DefaultHttpContext(); - _requests[672].RequestServices = CreateServices(); - _requests[672].Request.Method = "POST"; - _requests[672].Request.Path = "/Partitions/5fe12a6f-79/$/ResetLoad"; - _requests[673] = new DefaultHttpContext(); - _requests[673].RequestServices = CreateServices(); - _requests[673].Request.Method = "POST"; - _requests[673].Request.Path = "/Partitions/7ded09a1-ca/$/Restore"; - _requests[674] = new DefaultHttpContext(); - _requests[674].RequestServices = CreateServices(); - _requests[674].Request.Method = "POST"; - _requests[674].Request.Path = "/Partitions/5c3b605e-4f/$/ResumeBackup"; - _requests[675] = new DefaultHttpContext(); - _requests[675].RequestServices = CreateServices(); - _requests[675].Request.Method = "POST"; - _requests[675].Request.Path = "/Partitions/3e5a9a73-90/$/SuspendBackup"; - _requests[676] = new DefaultHttpContext(); - _requests[676].RequestServices = CreateServices(); - _requests[676].Request.Method = "POST"; - _requests[676].Request.Path = "/projects/172d04bb-/images/files"; - _requests[677] = new DefaultHttpContext(); - _requests[677].RequestServices = CreateServices(); - _requests[677].Request.Method = "GET"; - _requests[677].Request.Path = "/projects/02949f98-/images/id"; - _requests[678] = new DefaultHttpContext(); - _requests[678].RequestServices = CreateServices(); - _requests[678].Request.Method = "POST"; - _requests[678].Request.Path = "/projects/8cb0ed0e-/images/predictions"; - _requests[679] = new DefaultHttpContext(); - _requests[679].RequestServices = CreateServices(); - _requests[679].Request.Method = "DELETE"; - _requests[679].Request.Path = "/projects/3d1bf5c7-/images/regions"; - _requests[680] = new DefaultHttpContext(); - _requests[680].RequestServices = CreateServices(); - _requests[680].Request.Method = "GET"; - _requests[680].Request.Path = "/projects/69813896-/images/tagged"; - _requests[681] = new DefaultHttpContext(); - _requests[681].RequestServices = CreateServices(); - _requests[681].Request.Method = "DELETE"; - _requests[681].Request.Path = "/projects/6d8f1595-/images/tags"; - _requests[682] = new DefaultHttpContext(); - _requests[682].RequestServices = CreateServices(); - _requests[682].Request.Method = "GET"; - _requests[682].Request.Path = "/projects/a8e6273f-/images/untagged"; - _requests[683] = new DefaultHttpContext(); - _requests[683].RequestServices = CreateServices(); - _requests[683].Request.Method = "POST"; - _requests[683].Request.Path = "/projects/1071b4d8-/images/urls"; - _requests[684] = new DefaultHttpContext(); - _requests[684].RequestServices = CreateServices(); - _requests[684].Request.Method = "POST"; - _requests[684].Request.Path = "/projects/bc22f722-/predictions/query"; - _requests[685] = new DefaultHttpContext(); - _requests[685].RequestServices = CreateServices(); - _requests[685].Request.Method = "POST"; - _requests[685].Request.Path = "/projects/61a51da1-/quicktest/image"; - _requests[686] = new DefaultHttpContext(); - _requests[686].RequestServices = CreateServices(); - _requests[686].Request.Method = "POST"; - _requests[686].Request.Path = "/projects/24a40dc2-/quicktest/url"; - _requests[687] = new DefaultHttpContext(); - _requests[687].RequestServices = CreateServices(); - _requests[687].Request.Method = "POST"; - _requests[687].Request.Path = "/Services/4e5bf29a-/$/Delete"; - _requests[688] = new DefaultHttpContext(); - _requests[688].RequestServices = CreateServices(); - _requests[688].Request.Method = "POST"; - _requests[688].Request.Path = "/Services/abd8c772-/$/DisableBackup"; - _requests[689] = new DefaultHttpContext(); - _requests[689].RequestServices = CreateServices(); - _requests[689].Request.Method = "POST"; - _requests[689].Request.Path = "/Services/46b4b417-/$/EnableBackup"; - _requests[690] = new DefaultHttpContext(); - _requests[690].RequestServices = CreateServices(); - _requests[690].Request.Method = "GET"; - _requests[690].Request.Path = "/Services/1d8f00f9-/$/GetApplicationName"; - _requests[691] = new DefaultHttpContext(); - _requests[691].RequestServices = CreateServices(); - _requests[691].Request.Method = "GET"; - _requests[691].Request.Path = "/Services/a739bae4-/$/GetBackupConfigurationInfo"; - _requests[692] = new DefaultHttpContext(); - _requests[692].RequestServices = CreateServices(); - _requests[692].Request.Method = "GET"; - _requests[692].Request.Path = "/Services/0bebcaa0-/$/GetBackups"; - _requests[693] = new DefaultHttpContext(); - _requests[693].RequestServices = CreateServices(); - _requests[693].Request.Method = "GET"; - _requests[693].Request.Path = "/Services/2df47850-/$/GetDescription"; - _requests[694] = new DefaultHttpContext(); - _requests[694].RequestServices = CreateServices(); - _requests[694].Request.Method = "POST"; - _requests[694].Request.Path = "/Services/b47abe8a-/$/GetHealth"; - _requests[695] = new DefaultHttpContext(); - _requests[695].RequestServices = CreateServices(); - _requests[695].Request.Method = "GET"; - _requests[695].Request.Path = "/Services/6b7a2c24-/$/GetPartitions"; - _requests[696] = new DefaultHttpContext(); - _requests[696].RequestServices = CreateServices(); - _requests[696].Request.Method = "POST"; - _requests[696].Request.Path = "/Services/be1ce61f-/$/ReportHealth"; - _requests[697] = new DefaultHttpContext(); - _requests[697].RequestServices = CreateServices(); - _requests[697].Request.Method = "GET"; - _requests[697].Request.Path = "/Services/baf50bf0-/$/ResolvePartition"; - _requests[698] = new DefaultHttpContext(); - _requests[698].RequestServices = CreateServices(); - _requests[698].Request.Method = "POST"; - _requests[698].Request.Path = "/Services/68e5e366-/$/ResumeBackup"; - _requests[699] = new DefaultHttpContext(); - _requests[699].RequestServices = CreateServices(); - _requests[699].Request.Method = "POST"; - _requests[699].Request.Path = "/Services/ee1db6d3-/$/SuspendBackup"; - _requests[700] = new DefaultHttpContext(); - _requests[700].RequestServices = CreateServices(); - _requests[700].Request.Method = "POST"; - _requests[700].Request.Path = "/Services/6804a873-/$/Update"; - _requests[701] = new DefaultHttpContext(); - _requests[701].RequestServices = CreateServices(); - _requests[701].Request.Method = "POST"; - _requests[701].Request.Path = "/tenant/d32883b0-0/git/regeneratePrimaryKey"; - _requests[702] = new DefaultHttpContext(); - _requests[702].RequestServices = CreateServices(); - _requests[702].Request.Method = "POST"; - _requests[702].Request.Path = "/tenant/1a3f8c7e-f/git/regenerateSecondaryKey"; - _requests[703] = new DefaultHttpContext(); - _requests[703].RequestServices = CreateServices(); - _requests[703].Request.Method = "GET"; - _requests[703].Request.Path = "/projects/7dd68689-/images/tagged/count"; - _requests[704] = new DefaultHttpContext(); - _requests[704].RequestServices = CreateServices(); - _requests[704].Request.Method = "GET"; - _requests[704].Request.Path = "/projects/1e087cb9-/images/untagged/count"; - _requests[705] = new DefaultHttpContext(); - _requests[705].RequestServices = CreateServices(); - _requests[705].Request.Method = "GET"; - _requests[705].Request.Path = "/subscriptions/8bc7e92e-b485-/providers/Microsoft.AAD/domainServices"; - _requests[706] = new DefaultHttpContext(); - _requests[706].RequestServices = CreateServices(); - _requests[706].Request.Method = "PUT"; - _requests[706].Request.Path = "/subscriptions/9176b6b9-99ea-/providers/Microsoft.Advisor/configurations"; - _requests[707] = new DefaultHttpContext(); - _requests[707].RequestServices = CreateServices(); - _requests[707].Request.Method = "POST"; - _requests[707].Request.Path = "/subscriptions/a4a3c485-277b-/providers/Microsoft.Advisor/generateRecommendations"; - _requests[708] = new DefaultHttpContext(); - _requests[708].RequestServices = CreateServices(); - _requests[708].Request.Method = "GET"; - _requests[708].Request.Path = "/subscriptions/615eb97d-ce44-/providers/Microsoft.Advisor/recommendations"; - _requests[709] = new DefaultHttpContext(); - _requests[709].RequestServices = CreateServices(); - _requests[709].Request.Method = "GET"; - _requests[709].Request.Path = "/subscriptions/dd3878fe-26a0-/providers/Microsoft.Advisor/suppressions"; - _requests[710] = new DefaultHttpContext(); - _requests[710].RequestServices = CreateServices(); - _requests[710].Request.Method = "GET"; - _requests[710].Request.Path = "/subscriptions/5aff4d6e-8cfc-/providers/Microsoft.AnalysisServices/servers"; - _requests[711] = new DefaultHttpContext(); - _requests[711].RequestServices = CreateServices(); - _requests[711].Request.Method = "GET"; - _requests[711].Request.Path = "/subscriptions/eb87958c-d33f-/providers/Microsoft.AnalysisServices/skus"; - _requests[712] = new DefaultHttpContext(); - _requests[712].RequestServices = CreateServices(); - _requests[712].Request.Method = "POST"; - _requests[712].Request.Path = "/subscriptions/80594cd3-b762-/providers/Microsoft.ApiManagement/checkNameAvailability"; - _requests[713] = new DefaultHttpContext(); - _requests[713].RequestServices = CreateServices(); - _requests[713].Request.Method = "GET"; - _requests[713].Request.Path = "/subscriptions/48db1c63-025a-/providers/Microsoft.ApiManagement/service"; - _requests[714] = new DefaultHttpContext(); - _requests[714].RequestServices = CreateServices(); - _requests[714].Request.Method = "GET"; - _requests[714].Request.Path = "/subscriptions/5927821b-97d2-/providers/Microsoft.Authorization/classicAdministrators"; - _requests[715] = new DefaultHttpContext(); - _requests[715].RequestServices = CreateServices(); - _requests[715].Request.Method = "GET"; - _requests[715].Request.Path = "/subscriptions/870aada7-28b8-/providers/Microsoft.Authorization/locks"; - _requests[716] = new DefaultHttpContext(); - _requests[716].RequestServices = CreateServices(); - _requests[716].Request.Method = "GET"; - _requests[716].Request.Path = "/subscriptions/1037c3fa-85c0-/providers/Microsoft.Authorization/policyAssignments"; - _requests[717] = new DefaultHttpContext(); - _requests[717].RequestServices = CreateServices(); - _requests[717].Request.Method = "GET"; - _requests[717].Request.Path = "/subscriptions/ca7136c9-8f80-/providers/Microsoft.Authorization/policyDefinitions"; - _requests[718] = new DefaultHttpContext(); - _requests[718].RequestServices = CreateServices(); - _requests[718].Request.Method = "GET"; - _requests[718].Request.Path = "/subscriptions/74d3ceb3-497a-/providers/Microsoft.Authorization/policySetDefinitions"; - _requests[719] = new DefaultHttpContext(); - _requests[719].RequestServices = CreateServices(); - _requests[719].Request.Method = "GET"; - _requests[719].Request.Path = "/subscriptions/9e4d06ae-d272-/providers/Microsoft.Authorization/roleAssignments"; - _requests[720] = new DefaultHttpContext(); - _requests[720].RequestServices = CreateServices(); - _requests[720].Request.Method = "GET"; - _requests[720].Request.Path = "/subscriptions/0f7b265a-3fe2-/providers/Microsoft.Automation/automationAccounts"; - _requests[721] = new DefaultHttpContext(); - _requests[721].RequestServices = CreateServices(); - _requests[721].Request.Method = "GET"; - _requests[721].Request.Path = "/subscriptions/58885f88-6155-/providers/Microsoft.Batch/batchAccounts"; - _requests[722] = new DefaultHttpContext(); - _requests[722].RequestServices = CreateServices(); - _requests[722].Request.Method = "GET"; - _requests[722].Request.Path = "/subscriptions/7b17e548-88d8-/providers/Microsoft.BatchAI/clusters"; - _requests[723] = new DefaultHttpContext(); - _requests[723].RequestServices = CreateServices(); - _requests[723].Request.Method = "GET"; - _requests[723].Request.Path = "/subscriptions/91f60922-63bc-/providers/Microsoft.BatchAI/fileServers"; - _requests[724] = new DefaultHttpContext(); - _requests[724].RequestServices = CreateServices(); - _requests[724].Request.Method = "GET"; - _requests[724].Request.Path = "/subscriptions/b4e63745-b794-/providers/Microsoft.BatchAI/jobs"; - _requests[725] = new DefaultHttpContext(); - _requests[725].RequestServices = CreateServices(); - _requests[725].Request.Method = "GET"; - _requests[725].Request.Path = "/subscriptions/e7dbcedb-14d8-/providers/Microsoft.BatchAI/workspaces"; - _requests[726] = new DefaultHttpContext(); - _requests[726].RequestServices = CreateServices(); - _requests[726].Request.Method = "GET"; - _requests[726].Request.Path = "/subscriptions/5fe214a6-6b9d-/providers/Microsoft.Billing/billingPeriods"; - _requests[727] = new DefaultHttpContext(); - _requests[727].RequestServices = CreateServices(); - _requests[727].Request.Method = "GET"; - _requests[727].Request.Path = "/subscriptions/57d75d22-1e76-/providers/Microsoft.Billing/invoices"; - _requests[728] = new DefaultHttpContext(); - _requests[728].RequestServices = CreateServices(); - _requests[728].Request.Method = "GET"; - _requests[728].Request.Path = "/subscriptions/967ed4b3-43b2-/providers/Microsoft.BotService/botServices"; - _requests[729] = new DefaultHttpContext(); - _requests[729].RequestServices = CreateServices(); - _requests[729].Request.Method = "POST"; - _requests[729].Request.Path = "/subscriptions/e0f734c8-c212-/providers/Microsoft.Cache/CheckNameAvailability"; - _requests[730] = new DefaultHttpContext(); - _requests[730].RequestServices = CreateServices(); - _requests[730].Request.Method = "GET"; - _requests[730].Request.Path = "/subscriptions/cc92ff4a-3e3b-/providers/Microsoft.Cache/Redis"; - _requests[731] = new DefaultHttpContext(); - _requests[731].RequestServices = CreateServices(); - _requests[731].Request.Method = "GET"; - _requests[731].Request.Path = "/subscriptions/7f4b0554-7098-/providers/Microsoft.Capacity/appliedReservations"; - _requests[732] = new DefaultHttpContext(); - _requests[732].RequestServices = CreateServices(); - _requests[732].Request.Method = "GET"; - _requests[732].Request.Path = "/subscriptions/9ce44aa4-10c8-/providers/Microsoft.Capacity/catalogs"; - _requests[733] = new DefaultHttpContext(); - _requests[733].RequestServices = CreateServices(); - _requests[733].Request.Method = "POST"; - _requests[733].Request.Path = "/subscriptions/46551088-ed53-/providers/Microsoft.Cdn/checkNameAvailability"; - _requests[734] = new DefaultHttpContext(); - _requests[734].RequestServices = CreateServices(); - _requests[734].Request.Method = "POST"; - _requests[734].Request.Path = "/subscriptions/c92dba15-9bb1-/providers/Microsoft.Cdn/checkResourceUsage"; - _requests[735] = new DefaultHttpContext(); - _requests[735].RequestServices = CreateServices(); - _requests[735].Request.Method = "GET"; - _requests[735].Request.Path = "/subscriptions/aba0d95a-ef24-/providers/Microsoft.Cdn/profiles"; - _requests[736] = new DefaultHttpContext(); - _requests[736].RequestServices = CreateServices(); - _requests[736].Request.Method = "POST"; - _requests[736].Request.Path = "/subscriptions/8d4a5122-f7a8-/providers/Microsoft.Cdn/validateProbe"; - _requests[737] = new DefaultHttpContext(); - _requests[737].RequestServices = CreateServices(); - _requests[737].Request.Method = "GET"; - _requests[737].Request.Path = "/subscriptions/befa1ad0-e655-/providers/Microsoft.CertificateRegistration/certificateOrders"; - _requests[738] = new DefaultHttpContext(); - _requests[738].RequestServices = CreateServices(); - _requests[738].Request.Method = "POST"; - _requests[738].Request.Path = "/subscriptions/92b78fd7-d025-/providers/Microsoft.CertificateRegistration/validateCertificateRegistrationInformation"; - _requests[739] = new DefaultHttpContext(); - _requests[739].RequestServices = CreateServices(); - _requests[739].Request.Method = "GET"; - _requests[739].Request.Path = "/subscriptions/fa88ca87-2467-/providers/Microsoft.CognitiveServices/accounts"; - _requests[740] = new DefaultHttpContext(); - _requests[740].RequestServices = CreateServices(); - _requests[740].Request.Method = "GET"; - _requests[740].Request.Path = "/subscriptions/8083ab2e-3d98-/providers/Microsoft.CognitiveServices/skus"; - _requests[741] = new DefaultHttpContext(); - _requests[741].RequestServices = CreateServices(); - _requests[741].Request.Method = "GET"; - _requests[741].Request.Path = "/subscriptions/a8631cf2-d2d6-/providers/Microsoft.Commerce.Admin/subscriberUsageAggregates"; - _requests[742] = new DefaultHttpContext(); - _requests[742].RequestServices = CreateServices(); - _requests[742].Request.Method = "POST"; - _requests[742].Request.Path = "/subscriptions/bd65da69-c9d7-/providers/Microsoft.Commerce.Admin/updateEncryption"; - _requests[743] = new DefaultHttpContext(); - _requests[743].RequestServices = CreateServices(); - _requests[743].Request.Method = "GET"; - _requests[743].Request.Path = "/subscriptions/0b46f867-051f-/providers/Microsoft.Commerce/RateCard"; - _requests[744] = new DefaultHttpContext(); - _requests[744].RequestServices = CreateServices(); - _requests[744].Request.Method = "GET"; - _requests[744].Request.Path = "/subscriptions/f61f218c-6ac7-/providers/Microsoft.Commerce/UsageAggregates"; - _requests[745] = new DefaultHttpContext(); - _requests[745].RequestServices = CreateServices(); - _requests[745].Request.Method = "GET"; - _requests[745].Request.Path = "/subscriptions/0fb30a77-c7cb-/providers/Microsoft.Compute/disks"; - _requests[746] = new DefaultHttpContext(); - _requests[746].RequestServices = CreateServices(); - _requests[746].Request.Method = "GET"; - _requests[746].Request.Path = "/subscriptions/0dafe3ca-2af1-/providers/Microsoft.Compute/galleries"; - _requests[747] = new DefaultHttpContext(); - _requests[747].RequestServices = CreateServices(); - _requests[747].Request.Method = "GET"; - _requests[747].Request.Path = "/subscriptions/33184cd8-7a20-/providers/Microsoft.Compute/images"; - _requests[748] = new DefaultHttpContext(); - _requests[748].RequestServices = CreateServices(); - _requests[748].Request.Method = "GET"; - _requests[748].Request.Path = "/subscriptions/3d73df7b-aacd-/providers/Microsoft.Compute/skus"; - _requests[749] = new DefaultHttpContext(); - _requests[749].RequestServices = CreateServices(); - _requests[749].Request.Method = "GET"; - _requests[749].Request.Path = "/subscriptions/b8042e59-ccdc-/providers/Microsoft.Compute/snapshots"; - _requests[750] = new DefaultHttpContext(); - _requests[750].RequestServices = CreateServices(); - _requests[750].Request.Method = "GET"; - _requests[750].Request.Path = "/subscriptions/7ab91fe1-0986-/providers/Microsoft.Compute/virtualMachines"; - _requests[751] = new DefaultHttpContext(); - _requests[751].RequestServices = CreateServices(); - _requests[751].Request.Method = "GET"; - _requests[751].Request.Path = "/subscriptions/17580482-5357-/providers/Microsoft.Compute/virtualMachineScaleSets"; - _requests[752] = new DefaultHttpContext(); - _requests[752].RequestServices = CreateServices(); - _requests[752].Request.Method = "GET"; - _requests[752].Request.Path = "/subscriptions/8234ece3-d0a1-/providers/Microsoft.Consumption/budgets"; - _requests[753] = new DefaultHttpContext(); - _requests[753].RequestServices = CreateServices(); - _requests[753].Request.Method = "GET"; - _requests[753].Request.Path = "/subscriptions/ee477fa5-da9c-/providers/Microsoft.Consumption/forecasts"; - _requests[754] = new DefaultHttpContext(); - _requests[754].RequestServices = CreateServices(); - _requests[754].Request.Method = "GET"; - _requests[754].Request.Path = "/subscriptions/64170771-eea8-/providers/Microsoft.Consumption/marketplaces"; - _requests[755] = new DefaultHttpContext(); - _requests[755].RequestServices = CreateServices(); - _requests[755].Request.Method = "GET"; - _requests[755].Request.Path = "/subscriptions/e27201e5-bef7-/providers/Microsoft.Consumption/reservationRecommendations"; - _requests[756] = new DefaultHttpContext(); - _requests[756].RequestServices = CreateServices(); - _requests[756].Request.Method = "GET"; - _requests[756].Request.Path = "/subscriptions/2bb93916-2c7e-/providers/Microsoft.Consumption/usageDetails"; - _requests[757] = new DefaultHttpContext(); - _requests[757].RequestServices = CreateServices(); - _requests[757].Request.Method = "GET"; - _requests[757].Request.Path = "/subscriptions/636e627a-35e1-/providers/Microsoft.ContainerInstance/containerGroups"; - _requests[758] = new DefaultHttpContext(); - _requests[758].RequestServices = CreateServices(); - _requests[758].Request.Method = "POST"; - _requests[758].Request.Path = "/subscriptions/2bc8b3f9-24be-/providers/Microsoft.ContainerRegistry/checkNameAvailability"; - _requests[759] = new DefaultHttpContext(); - _requests[759].RequestServices = CreateServices(); - _requests[759].Request.Method = "GET"; - _requests[759].Request.Path = "/subscriptions/9802eb2e-be78-/providers/Microsoft.ContainerRegistry/registries"; - _requests[760] = new DefaultHttpContext(); - _requests[760].RequestServices = CreateServices(); - _requests[760].Request.Method = "GET"; - _requests[760].Request.Path = "/subscriptions/d2d99182-aecd-/providers/Microsoft.ContainerService/containerServices"; - _requests[761] = new DefaultHttpContext(); - _requests[761].RequestServices = CreateServices(); - _requests[761].Request.Method = "GET"; - _requests[761].Request.Path = "/subscriptions/dbc1faae-ea4a-/providers/Microsoft.ContainerService/managedClusters"; - _requests[762] = new DefaultHttpContext(); - _requests[762].RequestServices = CreateServices(); - _requests[762].Request.Method = "GET"; - _requests[762].Request.Path = "/subscriptions/a5d200f0-da4c-/providers/Microsoft.CustomerInsights/hubs"; - _requests[763] = new DefaultHttpContext(); - _requests[763].RequestServices = CreateServices(); - _requests[763].Request.Method = "GET"; - _requests[763].Request.Path = "/subscriptions/bb1750ad-e574-/providers/Microsoft.DataBox/jobs"; - _requests[764] = new DefaultHttpContext(); - _requests[764].RequestServices = CreateServices(); - _requests[764].Request.Method = "GET"; - _requests[764].Request.Path = "/subscriptions/33973c0e-0153-/providers/Microsoft.Databricks/workspaces"; - _requests[765] = new DefaultHttpContext(); - _requests[765].RequestServices = CreateServices(); - _requests[765].Request.Method = "GET"; - _requests[765].Request.Path = "/subscriptions/8faad50a-804f-/providers/Microsoft.DataFactory/factories"; - _requests[766] = new DefaultHttpContext(); - _requests[766].RequestServices = CreateServices(); - _requests[766].Request.Method = "GET"; - _requests[766].Request.Path = "/subscriptions/88260abd-f7dc-/providers/Microsoft.DataLakeAnalytics/accounts"; - _requests[767] = new DefaultHttpContext(); - _requests[767].RequestServices = CreateServices(); - _requests[767].Request.Method = "GET"; - _requests[767].Request.Path = "/subscriptions/b45bd676-236c-/providers/Microsoft.DataLakeStore/accounts"; - _requests[768] = new DefaultHttpContext(); - _requests[768].RequestServices = CreateServices(); - _requests[768].Request.Method = "GET"; - _requests[768].Request.Path = "/subscriptions/98e87df1-8df8-/providers/Microsoft.DataMigration/services"; - _requests[769] = new DefaultHttpContext(); - _requests[769].RequestServices = CreateServices(); - _requests[769].Request.Method = "GET"; - _requests[769].Request.Path = "/subscriptions/e74b9bec-e154-/providers/Microsoft.DataMigration/skus"; - _requests[770] = new DefaultHttpContext(); - _requests[770].RequestServices = CreateServices(); - _requests[770].Request.Method = "POST"; - _requests[770].Request.Path = "/subscriptions/62537978-f167-/providers/Microsoft.DBforMySQL/checkNameAvailability"; - _requests[771] = new DefaultHttpContext(); - _requests[771].RequestServices = CreateServices(); - _requests[771].Request.Method = "GET"; - _requests[771].Request.Path = "/subscriptions/1555bf9f-7420-/providers/Microsoft.DBforMySQL/performanceTiers"; - _requests[772] = new DefaultHttpContext(); - _requests[772].RequestServices = CreateServices(); - _requests[772].Request.Method = "GET"; - _requests[772].Request.Path = "/subscriptions/bec87bd8-d6c1-/providers/Microsoft.DBforMySQL/servers"; - _requests[773] = new DefaultHttpContext(); - _requests[773].RequestServices = CreateServices(); - _requests[773].Request.Method = "POST"; - _requests[773].Request.Path = "/subscriptions/c085e785-1f4d-/providers/Microsoft.DBforPostgreSQL/checkNameAvailability"; - _requests[774] = new DefaultHttpContext(); - _requests[774].RequestServices = CreateServices(); - _requests[774].Request.Method = "GET"; - _requests[774].Request.Path = "/subscriptions/6cf10bb9-9f34-/providers/Microsoft.DBforPostgreSQL/performanceTiers"; - _requests[775] = new DefaultHttpContext(); - _requests[775].RequestServices = CreateServices(); - _requests[775].Request.Method = "GET"; - _requests[775].Request.Path = "/subscriptions/5b11a5aa-ea79-/providers/Microsoft.DBforPostgreSQL/servers"; - _requests[776] = new DefaultHttpContext(); - _requests[776].RequestServices = CreateServices(); - _requests[776].Request.Method = "POST"; - _requests[776].Request.Path = "/subscriptions/c2eb98f9-3313-/providers/Microsoft.Devices/checkNameAvailability"; - _requests[777] = new DefaultHttpContext(); - _requests[777].RequestServices = CreateServices(); - _requests[777].Request.Method = "POST"; - _requests[777].Request.Path = "/subscriptions/2970fc31-9808-/providers/Microsoft.Devices/checkProvisioningServiceNameAvailability"; - _requests[778] = new DefaultHttpContext(); - _requests[778].RequestServices = CreateServices(); - _requests[778].Request.Method = "GET"; - _requests[778].Request.Path = "/subscriptions/5103cd0a-5451-/providers/Microsoft.Devices/IotHubs"; - _requests[779] = new DefaultHttpContext(); - _requests[779].RequestServices = CreateServices(); - _requests[779].Request.Method = "GET"; - _requests[779].Request.Path = "/subscriptions/d2405a78-9e89-/providers/Microsoft.Devices/provisioningServices"; - _requests[780] = new DefaultHttpContext(); - _requests[780].RequestServices = CreateServices(); - _requests[780].Request.Method = "GET"; - _requests[780].Request.Path = "/subscriptions/7f873e87-edf4-/providers/Microsoft.Devices/usages"; - _requests[781] = new DefaultHttpContext(); - _requests[781].RequestServices = CreateServices(); - _requests[781].Request.Method = "GET"; - _requests[781].Request.Path = "/subscriptions/9ff3627c-0d6c-/providers/Microsoft.DevTestLab/labs"; - _requests[782] = new DefaultHttpContext(); - _requests[782].RequestServices = CreateServices(); - _requests[782].Request.Method = "GET"; - _requests[782].Request.Path = "/subscriptions/5bf9b2cd-dac5-/providers/Microsoft.DevTestLab/schedules"; - _requests[783] = new DefaultHttpContext(); - _requests[783].RequestServices = CreateServices(); - _requests[783].Request.Method = "GET"; - _requests[783].Request.Path = "/subscriptions/8f7b240f-c831-/providers/Microsoft.DocumentDB/databaseAccounts"; - _requests[784] = new DefaultHttpContext(); - _requests[784].RequestServices = CreateServices(); - _requests[784].Request.Method = "POST"; - _requests[784].Request.Path = "/subscriptions/e1e000b4-47e1-/providers/Microsoft.DomainRegistration/checkDomainAvailability"; - _requests[785] = new DefaultHttpContext(); - _requests[785].RequestServices = CreateServices(); - _requests[785].Request.Method = "GET"; - _requests[785].Request.Path = "/subscriptions/768eeefa-c766-/providers/Microsoft.DomainRegistration/domains"; - _requests[786] = new DefaultHttpContext(); - _requests[786].RequestServices = CreateServices(); - _requests[786].Request.Method = "POST"; - _requests[786].Request.Path = "/subscriptions/fb7b3427-245c-/providers/Microsoft.DomainRegistration/generateSsoRequest"; - _requests[787] = new DefaultHttpContext(); - _requests[787].RequestServices = CreateServices(); - _requests[787].Request.Method = "POST"; - _requests[787].Request.Path = "/subscriptions/4f68f98f-9901-/providers/Microsoft.DomainRegistration/listDomainRecommendations"; - _requests[788] = new DefaultHttpContext(); - _requests[788].RequestServices = CreateServices(); - _requests[788].Request.Method = "GET"; - _requests[788].Request.Path = "/subscriptions/97b5ed5d-c5d9-/providers/Microsoft.DomainRegistration/topLevelDomains"; - _requests[789] = new DefaultHttpContext(); - _requests[789].RequestServices = CreateServices(); - _requests[789].Request.Method = "POST"; - _requests[789].Request.Path = "/subscriptions/75b623c8-4d7c-/providers/Microsoft.DomainRegistration/validateDomainRegistrationInformation"; - _requests[790] = new DefaultHttpContext(); - _requests[790].RequestServices = CreateServices(); - _requests[790].Request.Method = "GET"; - _requests[790].Request.Path = "/subscriptions/3d196972-2ba4-/providers/Microsoft.EventGrid/eventSubscriptions"; - _requests[791] = new DefaultHttpContext(); - _requests[791].RequestServices = CreateServices(); - _requests[791].Request.Method = "GET"; - _requests[791].Request.Path = "/subscriptions/609bdda8-99c0-/providers/Microsoft.EventGrid/topics"; - _requests[792] = new DefaultHttpContext(); - _requests[792].RequestServices = CreateServices(); - _requests[792].Request.Method = "POST"; - _requests[792].Request.Path = "/subscriptions/891c510f-6b4e-/providers/Microsoft.EventHub/CheckNameAvailability"; - _requests[793] = new DefaultHttpContext(); - _requests[793].RequestServices = CreateServices(); - _requests[793].Request.Method = "POST"; - _requests[793].Request.Path = "/subscriptions/8d9c0fc5-e89a-/providers/Microsoft.EventHub/CheckNamespaceAvailability"; - _requests[794] = new DefaultHttpContext(); - _requests[794].RequestServices = CreateServices(); - _requests[794].Request.Method = "GET"; - _requests[794].Request.Path = "/subscriptions/9a6f311a-7497-/providers/Microsoft.EventHub/namespaces"; - _requests[795] = new DefaultHttpContext(); - _requests[795].RequestServices = CreateServices(); - _requests[795].Request.Method = "GET"; - _requests[795].Request.Path = "/subscriptions/4a06088c-f1b2-/providers/Microsoft.Features/features"; - _requests[796] = new DefaultHttpContext(); - _requests[796].RequestServices = CreateServices(); - _requests[796].Request.Method = "POST"; - _requests[796].Request.Path = "/subscriptions/bbbf891f-7dda-/providers/microsoft.gallery.admin/galleryItems"; - _requests[797] = new DefaultHttpContext(); - _requests[797].RequestServices = CreateServices(); - _requests[797].Request.Method = "GET"; - _requests[797].Request.Path = "/subscriptions/81a6db1a-3ff7-/providers/Microsoft.HanaOnAzure/hanaInstances"; - _requests[798] = new DefaultHttpContext(); - _requests[798].RequestServices = CreateServices(); - _requests[798].Request.Method = "GET"; - _requests[798].Request.Path = "/subscriptions/7c49b216-4cb5-/providers/Microsoft.HDInsight/clusters"; - _requests[799] = new DefaultHttpContext(); - _requests[799].RequestServices = CreateServices(); - _requests[799].Request.Method = "GET"; - _requests[799].Request.Path = "/subscriptions/14d3d32c-f1b2-/providers/Microsoft.ImportExport/jobs"; - _requests[800] = new DefaultHttpContext(); - _requests[800].RequestServices = CreateServices(); - _requests[800].Request.Method = "GET"; - _requests[800].Request.Path = "/subscriptions/2121bee5-0298-/providers/microsoft.insights/actionGroups"; - _requests[801] = new DefaultHttpContext(); - _requests[801].RequestServices = CreateServices(); - _requests[801].Request.Method = "GET"; - _requests[801].Request.Path = "/subscriptions/f8cb584a-cb9c-/providers/microsoft.insights/activityLogAlerts"; - _requests[802] = new DefaultHttpContext(); - _requests[802].RequestServices = CreateServices(); - _requests[802].Request.Method = "GET"; - _requests[802].Request.Path = "/subscriptions/a5673e08-5e86-/providers/Microsoft.Insights/components"; - _requests[803] = new DefaultHttpContext(); - _requests[803].RequestServices = CreateServices(); - _requests[803].Request.Method = "POST"; - _requests[803].Request.Path = "/subscriptions/60057e41-eb4d-/providers/microsoft.insights/listMigrationdate"; - _requests[804] = new DefaultHttpContext(); - _requests[804].RequestServices = CreateServices(); - _requests[804].Request.Method = "GET"; - _requests[804].Request.Path = "/subscriptions/8a1476f5-3202-/providers/microsoft.insights/logprofiles"; - _requests[805] = new DefaultHttpContext(); - _requests[805].RequestServices = CreateServices(); - _requests[805].Request.Method = "GET"; - _requests[805].Request.Path = "/subscriptions/5fb3e070-af05-/providers/Microsoft.Insights/metricAlerts"; - _requests[806] = new DefaultHttpContext(); - _requests[806].RequestServices = CreateServices(); - _requests[806].Request.Method = "POST"; - _requests[806].Request.Path = "/subscriptions/50147e4d-450a-/providers/microsoft.insights/migrateToNewPricingModel"; - _requests[807] = new DefaultHttpContext(); - _requests[807].RequestServices = CreateServices(); - _requests[807].Request.Method = "POST"; - _requests[807].Request.Path = "/subscriptions/612ca439-18f2-/providers/microsoft.insights/rollbackToLegacyPricingModel"; - _requests[808] = new DefaultHttpContext(); - _requests[808].RequestServices = CreateServices(); - _requests[808].Request.Method = "GET"; - _requests[808].Request.Path = "/subscriptions/755a29b3-df80-/providers/microsoft.insights/scheduledQueryRules"; - _requests[809] = new DefaultHttpContext(); - _requests[809].RequestServices = CreateServices(); - _requests[809].Request.Method = "GET"; - _requests[809].Request.Path = "/subscriptions/4536ae26-09ca-/providers/Microsoft.Insights/webtests"; - _requests[810] = new DefaultHttpContext(); - _requests[810].RequestServices = CreateServices(); - _requests[810].Request.Method = "POST"; - _requests[810].Request.Path = "/subscriptions/03156760-97cc-/providers/Microsoft.IoTCentral/checkNameAvailability"; - _requests[811] = new DefaultHttpContext(); - _requests[811].RequestServices = CreateServices(); - _requests[811].Request.Method = "GET"; - _requests[811].Request.Path = "/subscriptions/26b31fed-5ec6-/providers/Microsoft.IoTCentral/IoTApps"; - _requests[812] = new DefaultHttpContext(); - _requests[812].RequestServices = CreateServices(); - _requests[812].Request.Method = "POST"; - _requests[812].Request.Path = "/subscriptions/52a492ad-99a8-/providers/Microsoft.IoTSpaces/checkNameAvailability"; - _requests[813] = new DefaultHttpContext(); - _requests[813].RequestServices = CreateServices(); - _requests[813].Request.Method = "GET"; - _requests[813].Request.Path = "/subscriptions/35643cc4-ed5d-/providers/Microsoft.IoTSpaces/Graph"; - _requests[814] = new DefaultHttpContext(); - _requests[814].RequestServices = CreateServices(); - _requests[814].Request.Method = "POST"; - _requests[814].Request.Path = "/subscriptions/71c4ff01-52f3-/providers/Microsoft.KeyVault/checkNameAvailability"; - _requests[815] = new DefaultHttpContext(); - _requests[815].RequestServices = CreateServices(); - _requests[815].Request.Method = "GET"; - _requests[815].Request.Path = "/subscriptions/1daaf85e-2044-/providers/Microsoft.KeyVault/deletedVaults"; - _requests[816] = new DefaultHttpContext(); - _requests[816].RequestServices = CreateServices(); - _requests[816].Request.Method = "GET"; - _requests[816].Request.Path = "/subscriptions/decfd92e-2d7b-/providers/Microsoft.KeyVault/vaults"; - _requests[817] = new DefaultHttpContext(); - _requests[817].RequestServices = CreateServices(); - _requests[817].Request.Method = "GET"; - _requests[817].Request.Path = "/subscriptions/35893eed-68e6-/providers/Microsoft.Logic/integrationAccounts"; - _requests[818] = new DefaultHttpContext(); - _requests[818].RequestServices = CreateServices(); - _requests[818].Request.Method = "GET"; - _requests[818].Request.Path = "/subscriptions/4534f271-a003-/providers/Microsoft.Logic/workflows"; - _requests[819] = new DefaultHttpContext(); - _requests[819].RequestServices = CreateServices(); - _requests[819].Request.Method = "GET"; - _requests[819].Request.Path = "/subscriptions/647011ae-9bb6-/providers/Microsoft.MachineLearning/commitmentPlans"; - _requests[820] = new DefaultHttpContext(); - _requests[820].RequestServices = CreateServices(); - _requests[820].Request.Method = "GET"; - _requests[820].Request.Path = "/subscriptions/2f920cc8-2af0-/providers/Microsoft.MachineLearning/skus"; - _requests[821] = new DefaultHttpContext(); - _requests[821].RequestServices = CreateServices(); - _requests[821].Request.Method = "GET"; - _requests[821].Request.Path = "/subscriptions/c703941e-ea68-/providers/Microsoft.MachineLearning/webServices"; - _requests[822] = new DefaultHttpContext(); - _requests[822].RequestServices = CreateServices(); - _requests[822].Request.Method = "GET"; - _requests[822].Request.Path = "/subscriptions/e3eebd00-72ed-/providers/Microsoft.MachineLearning/workspaces"; - _requests[823] = new DefaultHttpContext(); - _requests[823].RequestServices = CreateServices(); - _requests[823].Request.Method = "GET"; - _requests[823].Request.Path = "/subscriptions/42831f3e-5ccb-/providers/Microsoft.MachineLearningCompute/operationalizationClusters"; - _requests[824] = new DefaultHttpContext(); - _requests[824].RequestServices = CreateServices(); - _requests[824].Request.Method = "GET"; - _requests[824].Request.Path = "/subscriptions/ad50d895-4bd0-/providers/Microsoft.MachineLearningExperimentation/accounts"; - _requests[825] = new DefaultHttpContext(); - _requests[825].RequestServices = CreateServices(); - _requests[825].Request.Method = "GET"; - _requests[825].Request.Path = "/subscriptions/146075aa-1dc7-/providers/Microsoft.MachineLearningServices/workspaces"; - _requests[826] = new DefaultHttpContext(); - _requests[826].RequestServices = CreateServices(); - _requests[826].Request.Method = "GET"; - _requests[826].Request.Path = "/subscriptions/fa76eeda-6fe6-/providers/Microsoft.ManagedIdentity/userAssignedIdentities"; - _requests[827] = new DefaultHttpContext(); - _requests[827].RequestServices = CreateServices(); - _requests[827].Request.Method = "GET"; - _requests[827].Request.Path = "/subscriptions/6b76123c-9e4f-/providers/Microsoft.Maps/accounts"; - _requests[828] = new DefaultHttpContext(); - _requests[828].RequestServices = CreateServices(); - _requests[828].Request.Method = "POST"; - _requests[828].Request.Path = "/subscriptions/71fc57d4-8681-/providers/Microsoft.Media/CheckNameAvailability"; - _requests[829] = new DefaultHttpContext(); - _requests[829].RequestServices = CreateServices(); - _requests[829].Request.Method = "GET"; - _requests[829].Request.Path = "/subscriptions/709db38f-6be1-/providers/Microsoft.Media/mediaservices"; - _requests[830] = new DefaultHttpContext(); - _requests[830].RequestServices = CreateServices(); - _requests[830].Request.Method = "GET"; - _requests[830].Request.Path = "/subscriptions/994367da-75c2-/providers/Microsoft.Network.Admin/adminLoadBalancers"; - _requests[831] = new DefaultHttpContext(); - _requests[831].RequestServices = CreateServices(); - _requests[831].Request.Method = "GET"; - _requests[831].Request.Path = "/subscriptions/3df31c19-b839-/providers/Microsoft.Network.Admin/adminOverview"; - _requests[832] = new DefaultHttpContext(); - _requests[832].RequestServices = CreateServices(); - _requests[832].Request.Method = "GET"; - _requests[832].Request.Path = "/subscriptions/91fa87cf-d2a6-/providers/Microsoft.Network.Admin/adminPublicIpAddresses"; - _requests[833] = new DefaultHttpContext(); - _requests[833].RequestServices = CreateServices(); - _requests[833].Request.Method = "GET"; - _requests[833].Request.Path = "/subscriptions/fd8405a4-3d67-/providers/Microsoft.Network.Admin/adminVirtualNetworks"; - _requests[834] = new DefaultHttpContext(); - _requests[834].RequestServices = CreateServices(); - _requests[834].Request.Method = "GET"; - _requests[834].Request.Path = "/subscriptions/0ceccf92-b1bd-/providers/Microsoft.Network/applicationGatewayAvailableWafRuleSets"; - _requests[835] = new DefaultHttpContext(); - _requests[835].RequestServices = CreateServices(); - _requests[835].Request.Method = "GET"; - _requests[835].Request.Path = "/subscriptions/036cecf4-5fb9-/providers/Microsoft.Network/applicationGateways"; - _requests[836] = new DefaultHttpContext(); - _requests[836].RequestServices = CreateServices(); - _requests[836].Request.Method = "GET"; - _requests[836].Request.Path = "/subscriptions/8a90e39d-f124-/providers/Microsoft.Network/applicationSecurityGroups"; - _requests[837] = new DefaultHttpContext(); - _requests[837].RequestServices = CreateServices(); - _requests[837].Request.Method = "GET"; - _requests[837].Request.Path = "/subscriptions/c0494119-7a89-/providers/Microsoft.Network/bgpServiceCommunities"; - _requests[838] = new DefaultHttpContext(); - _requests[838].RequestServices = CreateServices(); - _requests[838].Request.Method = "GET"; - _requests[838].Request.Path = "/subscriptions/cf6fa08e-11a6-/providers/Microsoft.Network/ddosProtectionPlans"; - _requests[839] = new DefaultHttpContext(); - _requests[839].RequestServices = CreateServices(); - _requests[839].Request.Method = "GET"; - _requests[839].Request.Path = "/subscriptions/cd7c28e4-6c4f-/providers/Microsoft.Network/dnszones"; - _requests[840] = new DefaultHttpContext(); - _requests[840].RequestServices = CreateServices(); - _requests[840].Request.Method = "GET"; - _requests[840].Request.Path = "/subscriptions/2cf9a6aa-4ee8-/providers/Microsoft.Network/expressRouteCircuits"; - _requests[841] = new DefaultHttpContext(); - _requests[841].RequestServices = CreateServices(); - _requests[841].Request.Method = "GET"; - _requests[841].Request.Path = "/subscriptions/eb89805f-e486-/providers/Microsoft.Network/expressRouteCrossConnections"; - _requests[842] = new DefaultHttpContext(); - _requests[842].RequestServices = CreateServices(); - _requests[842].Request.Method = "GET"; - _requests[842].Request.Path = "/subscriptions/27550b55-ab53-/providers/Microsoft.Network/expressRouteServiceProviders"; - _requests[843] = new DefaultHttpContext(); - _requests[843].RequestServices = CreateServices(); - _requests[843].Request.Method = "GET"; - _requests[843].Request.Path = "/subscriptions/462dcccb-0b92-/providers/Microsoft.Network/loadBalancers"; - _requests[844] = new DefaultHttpContext(); - _requests[844].RequestServices = CreateServices(); - _requests[844].Request.Method = "GET"; - _requests[844].Request.Path = "/subscriptions/04c5bb01-0837-/providers/Microsoft.Network/networkInterfaces"; - _requests[845] = new DefaultHttpContext(); - _requests[845].RequestServices = CreateServices(); - _requests[845].Request.Method = "GET"; - _requests[845].Request.Path = "/subscriptions/41bd7f4c-22f1-/providers/Microsoft.Network/networkSecurityGroups"; - _requests[846] = new DefaultHttpContext(); - _requests[846].RequestServices = CreateServices(); - _requests[846].Request.Method = "GET"; - _requests[846].Request.Path = "/subscriptions/3bdfd676-5727-/providers/Microsoft.Network/networkWatchers"; - _requests[847] = new DefaultHttpContext(); - _requests[847].RequestServices = CreateServices(); - _requests[847].Request.Method = "GET"; - _requests[847].Request.Path = "/subscriptions/d62cfe1a-36d0-/providers/Microsoft.Network/publicIPAddresses"; - _requests[848] = new DefaultHttpContext(); - _requests[848].RequestServices = CreateServices(); - _requests[848].Request.Method = "GET"; - _requests[848].Request.Path = "/subscriptions/b5453a2a-357f-/providers/Microsoft.Network/routeFilters"; - _requests[849] = new DefaultHttpContext(); - _requests[849].RequestServices = CreateServices(); - _requests[849].Request.Method = "GET"; - _requests[849].Request.Path = "/subscriptions/ca5f741f-811d-/providers/Microsoft.Network/routeTables"; - _requests[850] = new DefaultHttpContext(); - _requests[850].RequestServices = CreateServices(); - _requests[850].Request.Method = "GET"; - _requests[850].Request.Path = "/subscriptions/aff3ccb1-4849-/providers/Microsoft.Network/trafficmanagerprofiles"; - _requests[851] = new DefaultHttpContext(); - _requests[851].RequestServices = CreateServices(); - _requests[851].Request.Method = "DELETE"; - _requests[851].Request.Path = "/subscriptions/af65814f-bf1d-/providers/Microsoft.Network/trafficManagerUserMetricsKeys"; - _requests[852] = new DefaultHttpContext(); - _requests[852].RequestServices = CreateServices(); - _requests[852].Request.Method = "GET"; - _requests[852].Request.Path = "/subscriptions/309226fb-6558-/providers/Microsoft.Network/virtualNetworks"; - _requests[853] = new DefaultHttpContext(); - _requests[853].RequestServices = CreateServices(); - _requests[853].Request.Method = "POST"; - _requests[853].Request.Path = "/subscriptions/77b16c80-12c4-/providers/Microsoft.NotificationHubs/checkNamespaceAvailability"; - _requests[854] = new DefaultHttpContext(); - _requests[854].RequestServices = CreateServices(); - _requests[854].Request.Method = "GET"; - _requests[854].Request.Path = "/subscriptions/fbe29c02-1937-/providers/Microsoft.NotificationHubs/namespaces"; - _requests[855] = new DefaultHttpContext(); - _requests[855].RequestServices = CreateServices(); - _requests[855].Request.Method = "GET"; - _requests[855].Request.Path = "/subscriptions/d2ee7122-264d-/providers/Microsoft.OperationalInsights/linkTargets"; - _requests[856] = new DefaultHttpContext(); - _requests[856].RequestServices = CreateServices(); - _requests[856].Request.Method = "GET"; - _requests[856].Request.Path = "/subscriptions/c400ab10-ea6a-/providers/Microsoft.OperationalInsights/workspaces"; - _requests[857] = new DefaultHttpContext(); - _requests[857].RequestServices = CreateServices(); - _requests[857].Request.Method = "GET"; - _requests[857].Request.Path = "/subscriptions/21704bdf-e867-/providers/Microsoft.OperationsManagement/ManagementAssociations"; - _requests[858] = new DefaultHttpContext(); - _requests[858].RequestServices = CreateServices(); - _requests[858].Request.Method = "GET"; - _requests[858].Request.Path = "/subscriptions/64d5cb0f-8d97-/providers/Microsoft.OperationsManagement/ManagementConfigurations"; - _requests[859] = new DefaultHttpContext(); - _requests[859].RequestServices = CreateServices(); - _requests[859].Request.Method = "GET"; - _requests[859].Request.Path = "/subscriptions/2cce7754-92ca-/providers/Microsoft.OperationsManagement/solutions"; - _requests[860] = new DefaultHttpContext(); - _requests[860].RequestServices = CreateServices(); - _requests[860].Request.Method = "GET"; - _requests[860].Request.Path = "/subscriptions/b71e3e5a-91da-/providers/Microsoft.PowerBI/workspaceCollections"; - _requests[861] = new DefaultHttpContext(); - _requests[861].RequestServices = CreateServices(); - _requests[861].Request.Method = "GET"; - _requests[861].Request.Path = "/subscriptions/74c57f5e-f392-/providers/Microsoft.PowerBIDedicated/capacities"; - _requests[862] = new DefaultHttpContext(); - _requests[862].RequestServices = CreateServices(); - _requests[862].Request.Method = "GET"; - _requests[862].Request.Path = "/subscriptions/0ec4277e-253a-/providers/Microsoft.PowerBIDedicated/skus"; - _requests[863] = new DefaultHttpContext(); - _requests[863].RequestServices = CreateServices(); - _requests[863].Request.Method = "GET"; - _requests[863].Request.Path = "/subscriptions/c75358bc-c94a-/providers/Microsoft.RecoveryServices/vaults"; - _requests[864] = new DefaultHttpContext(); - _requests[864].RequestServices = CreateServices(); - _requests[864].Request.Method = "POST"; - _requests[864].Request.Path = "/subscriptions/890c77a5-2da7-/providers/Microsoft.Relay/checkNameAvailability"; - _requests[865] = new DefaultHttpContext(); - _requests[865].RequestServices = CreateServices(); - _requests[865].Request.Method = "GET"; - _requests[865].Request.Path = "/subscriptions/ed7d237e-fc87-/providers/Microsoft.Relay/namespaces"; - _requests[866] = new DefaultHttpContext(); - _requests[866].RequestServices = CreateServices(); - _requests[866].Request.Method = "GET"; - _requests[866].Request.Path = "/subscriptions/20e4d3f3-a822-/providers/Microsoft.ResourceHealth/availabilityStatuses"; - _requests[867] = new DefaultHttpContext(); - _requests[867].RequestServices = CreateServices(); - _requests[867].Request.Method = "GET"; - _requests[867].Request.Path = "/subscriptions/e981dac3-b80e-/providers/Microsoft.Resources/links"; - _requests[868] = new DefaultHttpContext(); - _requests[868].RequestServices = CreateServices(); - _requests[868].Request.Method = "GET"; - _requests[868].Request.Path = "/subscriptions/21a6453c-7fb2-/providers/Microsoft.Scheduler/jobCollections"; - _requests[869] = new DefaultHttpContext(); - _requests[869].RequestServices = CreateServices(); - _requests[869].Request.Method = "POST"; - _requests[869].Request.Path = "/subscriptions/ca932b6c-2be6-/providers/Microsoft.Search/checkNameAvailability"; - _requests[870] = new DefaultHttpContext(); - _requests[870].RequestServices = CreateServices(); - _requests[870].Request.Method = "GET"; - _requests[870].Request.Path = "/subscriptions/6affb4f0-24ab-/providers/Microsoft.Security/alerts"; - _requests[871] = new DefaultHttpContext(); - _requests[871].RequestServices = CreateServices(); - _requests[871].Request.Method = "GET"; - _requests[871].Request.Path = "/subscriptions/8ad9b2e7-ebc1-/providers/Microsoft.Security/autoProvisioningSettings"; - _requests[872] = new DefaultHttpContext(); - _requests[872].RequestServices = CreateServices(); - _requests[872].Request.Method = "GET"; - _requests[872].Request.Path = "/subscriptions/7de5740f-4632-/providers/Microsoft.Security/discoveredSecuritySolutions"; - _requests[873] = new DefaultHttpContext(); - _requests[873].RequestServices = CreateServices(); - _requests[873].Request.Method = "GET"; - _requests[873].Request.Path = "/subscriptions/3f660e7c-257b-/providers/Microsoft.Security/externalSecuritySolutions"; - _requests[874] = new DefaultHttpContext(); - _requests[874].RequestServices = CreateServices(); - _requests[874].Request.Method = "GET"; - _requests[874].Request.Path = "/subscriptions/921e4c75-e5f3-/providers/Microsoft.Security/jitNetworkAccessPolicies"; - _requests[875] = new DefaultHttpContext(); - _requests[875].RequestServices = CreateServices(); - _requests[875].Request.Method = "GET"; - _requests[875].Request.Path = "/subscriptions/c68754ac-d230-/providers/Microsoft.Security/locations"; - _requests[876] = new DefaultHttpContext(); - _requests[876].RequestServices = CreateServices(); - _requests[876].Request.Method = "GET"; - _requests[876].Request.Path = "/subscriptions/8c163a09-b7f0-/providers/Microsoft.Security/pricings"; - _requests[877] = new DefaultHttpContext(); - _requests[877].RequestServices = CreateServices(); - _requests[877].Request.Method = "GET"; - _requests[877].Request.Path = "/subscriptions/53b03151-8680-/providers/Microsoft.Security/securityContacts"; - _requests[878] = new DefaultHttpContext(); - _requests[878].RequestServices = CreateServices(); - _requests[878].Request.Method = "GET"; - _requests[878].Request.Path = "/subscriptions/c544c1fb-f9e3-/providers/Microsoft.Security/tasks"; - _requests[879] = new DefaultHttpContext(); - _requests[879].RequestServices = CreateServices(); - _requests[879].Request.Method = "GET"; - _requests[879].Request.Path = "/subscriptions/3f1a29ec-0fc9-/providers/Microsoft.Security/workspaceSettings"; - _requests[880] = new DefaultHttpContext(); - _requests[880].RequestServices = CreateServices(); - _requests[880].Request.Method = "GET"; - _requests[880].Request.Path = "/subscriptions/fa1fa440-43e8-/providers/Microsoft.ServerManagement/gateways"; - _requests[881] = new DefaultHttpContext(); - _requests[881].RequestServices = CreateServices(); - _requests[881].Request.Method = "GET"; - _requests[881].Request.Path = "/subscriptions/f92447dd-5229-/providers/Microsoft.ServerManagement/nodes"; - _requests[882] = new DefaultHttpContext(); - _requests[882].RequestServices = CreateServices(); - _requests[882].Request.Method = "POST"; - _requests[882].Request.Path = "/subscriptions/f0de8e27-9c51-/providers/Microsoft.ServiceBus/CheckNameAvailability"; - _requests[883] = new DefaultHttpContext(); - _requests[883].RequestServices = CreateServices(); - _requests[883].Request.Method = "POST"; - _requests[883].Request.Path = "/subscriptions/9eb0b7f1-8646-/providers/Microsoft.ServiceBus/CheckNameSpaceAvailability"; - _requests[884] = new DefaultHttpContext(); - _requests[884].RequestServices = CreateServices(); - _requests[884].Request.Method = "GET"; - _requests[884].Request.Path = "/subscriptions/5b43a5d4-176d-/providers/Microsoft.ServiceBus/namespaces"; - _requests[885] = new DefaultHttpContext(); - _requests[885].RequestServices = CreateServices(); - _requests[885].Request.Method = "GET"; - _requests[885].Request.Path = "/subscriptions/487cc931-c9d5-/providers/Microsoft.ServiceBus/premiumMessagingRegions"; - _requests[886] = new DefaultHttpContext(); - _requests[886].RequestServices = CreateServices(); - _requests[886].Request.Method = "GET"; - _requests[886].Request.Path = "/subscriptions/f585bed4-08ea-/providers/Microsoft.ServiceFabric/clusters"; - _requests[887] = new DefaultHttpContext(); - _requests[887].RequestServices = CreateServices(); - _requests[887].Request.Method = "GET"; - _requests[887].Request.Path = "/subscriptions/039acba1-a6ff-/providers/Microsoft.SignalRService/SignalR"; - _requests[888] = new DefaultHttpContext(); - _requests[888].RequestServices = CreateServices(); - _requests[888].Request.Method = "GET"; - _requests[888].Request.Path = "/subscriptions/18e86dd1-0fb9-/providers/Microsoft.Solutions/appliances"; - _requests[889] = new DefaultHttpContext(); - _requests[889].RequestServices = CreateServices(); - _requests[889].Request.Method = "GET"; - _requests[889].Request.Path = "/subscriptions/5c743960-8691-/providers/Microsoft.Solutions/applications"; - _requests[890] = new DefaultHttpContext(); - _requests[890].RequestServices = CreateServices(); - _requests[890].Request.Method = "POST"; - _requests[890].Request.Path = "/subscriptions/8d92b24d-0aee-/providers/Microsoft.Sql/checkNameAvailability"; - _requests[891] = new DefaultHttpContext(); - _requests[891].RequestServices = CreateServices(); - _requests[891].Request.Method = "GET"; - _requests[891].Request.Path = "/subscriptions/e469254a-b5b4-/providers/Microsoft.Sql/managedInstances"; - _requests[892] = new DefaultHttpContext(); - _requests[892].RequestServices = CreateServices(); - _requests[892].Request.Method = "GET"; - _requests[892].Request.Path = "/subscriptions/9c901ced-5a7c-/providers/Microsoft.Sql/servers"; - _requests[893] = new DefaultHttpContext(); - _requests[893].RequestServices = CreateServices(); - _requests[893].Request.Method = "POST"; - _requests[893].Request.Path = "/subscriptions/0b10ea1a-21c7-/providers/Microsoft.Storage/checkNameAvailability"; - _requests[894] = new DefaultHttpContext(); - _requests[894].RequestServices = CreateServices(); - _requests[894].Request.Method = "GET"; - _requests[894].Request.Path = "/subscriptions/737090ba-4bbc-/providers/Microsoft.Storage/skus"; - _requests[895] = new DefaultHttpContext(); - _requests[895].RequestServices = CreateServices(); - _requests[895].Request.Method = "GET"; - _requests[895].Request.Path = "/subscriptions/5851a59e-4918-/providers/Microsoft.Storage/storageAccounts"; - _requests[896] = new DefaultHttpContext(); - _requests[896].RequestServices = CreateServices(); - _requests[896].Request.Method = "GET"; - _requests[896].Request.Path = "/subscriptions/4564af67-e5e9-/providers/Microsoft.Storage/usages"; - _requests[897] = new DefaultHttpContext(); - _requests[897].RequestServices = CreateServices(); - _requests[897].Request.Method = "GET"; - _requests[897].Request.Path = "/subscriptions/2b0b44cf-5f5d-/providers/Microsoft.StorSimple/managers"; - _requests[898] = new DefaultHttpContext(); - _requests[898].RequestServices = CreateServices(); - _requests[898].Request.Method = "GET"; - _requests[898].Request.Path = "/subscriptions/ddbd8b79-a493-/providers/Microsoft.StreamAnalytics/streamingjobs"; - _requests[899] = new DefaultHttpContext(); - _requests[899].RequestServices = CreateServices(); - _requests[899].Request.Method = "POST"; - _requests[899].Request.Path = "/subscriptions/ccec1836-6e07-/providers/Microsoft.Subscriptions.Admin/checkNameAvailability"; - _requests[900] = new DefaultHttpContext(); - _requests[900].RequestServices = CreateServices(); - _requests[900].Request.Method = "GET"; - _requests[900].Request.Path = "/subscriptions/6ad386f2-b031-/providers/Microsoft.Subscriptions.Admin/delegatedProviders"; - _requests[901] = new DefaultHttpContext(); - _requests[901].RequestServices = CreateServices(); - _requests[901].Request.Method = "GET"; - _requests[901].Request.Path = "/subscriptions/e2e8e43a-3cfa-/providers/Microsoft.Subscriptions.Admin/locations"; - _requests[902] = new DefaultHttpContext(); - _requests[902].RequestServices = CreateServices(); - _requests[902].Request.Method = "POST"; - _requests[902].Request.Path = "/subscriptions/769567c0-a3e4-/providers/Microsoft.Subscriptions.Admin/moveSubscriptions"; - _requests[903] = new DefaultHttpContext(); - _requests[903].RequestServices = CreateServices(); - _requests[903].Request.Method = "GET"; - _requests[903].Request.Path = "/subscriptions/c4a21ada-c8d5-/providers/Microsoft.Subscriptions.Admin/offers"; - _requests[904] = new DefaultHttpContext(); - _requests[904].RequestServices = CreateServices(); - _requests[904].Request.Method = "GET"; - _requests[904].Request.Path = "/subscriptions/a3196582-aba2-/providers/Microsoft.Subscriptions.Admin/plans"; - _requests[905] = new DefaultHttpContext(); - _requests[905].RequestServices = CreateServices(); - _requests[905].Request.Method = "POST"; - _requests[905].Request.Path = "/subscriptions/4ce2c307-62da-/providers/Microsoft.Subscriptions.Admin/restoreData"; - _requests[906] = new DefaultHttpContext(); - _requests[906].RequestServices = CreateServices(); - _requests[906].Request.Method = "GET"; - _requests[906].Request.Path = "/subscriptions/d2f46427-fdb8-/providers/Microsoft.Subscriptions.Admin/subscriptions"; - _requests[907] = new DefaultHttpContext(); - _requests[907].RequestServices = CreateServices(); - _requests[907].Request.Method = "POST"; - _requests[907].Request.Path = "/subscriptions/9abfa71c-6689-/providers/Microsoft.Subscriptions.Admin/updateEncryption"; - _requests[908] = new DefaultHttpContext(); - _requests[908].RequestServices = CreateServices(); - _requests[908].Request.Method = "POST"; - _requests[908].Request.Path = "/subscriptions/92fb0ff8-ab5c-/providers/Microsoft.Subscriptions.Admin/validateMoveSubscriptions"; - _requests[909] = new DefaultHttpContext(); - _requests[909].RequestServices = CreateServices(); - _requests[909].Request.Method = "GET"; - _requests[909].Request.Path = "/subscriptions/8c5d7e15-a506-/providers/Microsoft.TimeSeriesInsights/environments"; - _requests[910] = new DefaultHttpContext(); - _requests[910].RequestServices = CreateServices(); - _requests[910].Request.Method = "POST"; - _requests[910].Request.Path = "/subscriptions/2a39253f-ed6f-/providers/microsoft.visualstudio/checkNameAvailability"; - _requests[911] = new DefaultHttpContext(); - _requests[911].RequestServices = CreateServices(); - _requests[911].Request.Method = "GET"; - _requests[911].Request.Path = "/subscriptions/8cf0174f-496f-/providers/Microsoft.Web/availableStacks"; - _requests[912] = new DefaultHttpContext(); - _requests[912].RequestServices = CreateServices(); - _requests[912].Request.Method = "GET"; - _requests[912].Request.Path = "/subscriptions/0a88782f-70e9-/providers/Microsoft.Web/billingMeters"; - _requests[913] = new DefaultHttpContext(); - _requests[913].RequestServices = CreateServices(); - _requests[913].Request.Method = "GET"; - _requests[913].Request.Path = "/subscriptions/9014f46d-f72f-/providers/Microsoft.Web/certificates"; - _requests[914] = new DefaultHttpContext(); - _requests[914].RequestServices = CreateServices(); - _requests[914].Request.Method = "POST"; - _requests[914].Request.Path = "/subscriptions/effb48cb-0453-/providers/Microsoft.Web/checknameavailability"; - _requests[915] = new DefaultHttpContext(); - _requests[915].RequestServices = CreateServices(); - _requests[915].Request.Method = "GET"; - _requests[915].Request.Path = "/subscriptions/fb838064-cfc4-/providers/Microsoft.Web/classicMobileServices"; - _requests[916] = new DefaultHttpContext(); - _requests[916].RequestServices = CreateServices(); - _requests[916].Request.Method = "GET"; - _requests[916].Request.Path = "/subscriptions/38450d8e-a7aa-/providers/Microsoft.Web/connectionGateways"; - _requests[917] = new DefaultHttpContext(); - _requests[917].RequestServices = CreateServices(); - _requests[917].Request.Method = "GET"; - _requests[917].Request.Path = "/subscriptions/42dcf53a-262e-/providers/Microsoft.Web/customApis"; - _requests[918] = new DefaultHttpContext(); - _requests[918].RequestServices = CreateServices(); - _requests[918].Request.Method = "GET"; - _requests[918].Request.Path = "/subscriptions/2417dde8-283c-/providers/Microsoft.Web/deletedSites"; - _requests[919] = new DefaultHttpContext(); - _requests[919].RequestServices = CreateServices(); - _requests[919].Request.Method = "GET"; - _requests[919].Request.Path = "/subscriptions/2ccbd0fa-a4f8-/providers/Microsoft.Web/deploymentLocations"; - _requests[920] = new DefaultHttpContext(); - _requests[920].RequestServices = CreateServices(); - _requests[920].Request.Method = "GET"; - _requests[920].Request.Path = "/subscriptions/9ed74014-c346-/providers/Microsoft.Web/geoRegions"; - _requests[921] = new DefaultHttpContext(); - _requests[921].RequestServices = CreateServices(); - _requests[921].Request.Method = "GET"; - _requests[921].Request.Path = "/subscriptions/a60f81bc-4fc2-/providers/Microsoft.Web/hostingEnvironments"; - _requests[922] = new DefaultHttpContext(); - _requests[922].RequestServices = CreateServices(); - _requests[922].Request.Method = "GET"; - _requests[922].Request.Path = "/subscriptions/9f2c3f0e-8693-/providers/Microsoft.Web/ishostingenvironmentnameavailable"; - _requests[923] = new DefaultHttpContext(); - _requests[923].RequestServices = CreateServices(); - _requests[923].Request.Method = "POST"; - _requests[923].Request.Path = "/subscriptions/6ec6c940-09a7-/providers/Microsoft.Web/listSitesAssignedToHostName"; - _requests[924] = new DefaultHttpContext(); - _requests[924].RequestServices = CreateServices(); - _requests[924].Request.Method = "GET"; - _requests[924].Request.Path = "/subscriptions/0290e878-b5b8-/providers/Microsoft.Web/managedHostingEnvironments"; - _requests[925] = new DefaultHttpContext(); - _requests[925].RequestServices = CreateServices(); - _requests[925].Request.Method = "GET"; - _requests[925].Request.Path = "/subscriptions/1e7ab3f2-ac8a-/providers/Microsoft.Web/premieraddonoffers"; - _requests[926] = new DefaultHttpContext(); - _requests[926].RequestServices = CreateServices(); - _requests[926].Request.Method = "PUT"; - _requests[926].Request.Path = "/subscriptions/6774519c-4e3d-/providers/Microsoft.Web/publishingCredentials"; - _requests[927] = new DefaultHttpContext(); - _requests[927].RequestServices = CreateServices(); - _requests[927].Request.Method = "GET"; - _requests[927].Request.Path = "/subscriptions/76fe7714-58c4-/providers/Microsoft.Web/recommendations"; - _requests[928] = new DefaultHttpContext(); - _requests[928].RequestServices = CreateServices(); - _requests[928].Request.Method = "GET"; - _requests[928].Request.Path = "/subscriptions/78309ffd-3eee-/providers/Microsoft.Web/resourceHealthMetadata"; - _requests[929] = new DefaultHttpContext(); - _requests[929].RequestServices = CreateServices(); - _requests[929].Request.Method = "GET"; - _requests[929].Request.Path = "/subscriptions/fdc7d996-7b8d-/providers/Microsoft.Web/serverfarms"; - _requests[930] = new DefaultHttpContext(); - _requests[930].RequestServices = CreateServices(); - _requests[930].Request.Method = "GET"; - _requests[930].Request.Path = "/subscriptions/72a5a2dd-d2cb-/providers/Microsoft.Web/sites"; - _requests[931] = new DefaultHttpContext(); - _requests[931].RequestServices = CreateServices(); - _requests[931].Request.Method = "GET"; - _requests[931].Request.Path = "/subscriptions/0efe3621-919d-/providers/Microsoft.Web/skus"; - _requests[932] = new DefaultHttpContext(); - _requests[932].RequestServices = CreateServices(); - _requests[932].Request.Method = "POST"; - _requests[932].Request.Path = "/subscriptions/69c7c5df-0646-/providers/Microsoft.Web/verifyHostingEnvironmentVnet"; - _requests[933] = new DefaultHttpContext(); - _requests[933].RequestServices = CreateServices(); - _requests[933].Request.Method = "POST"; - _requests[933].Request.Path = "/Applications/3b7866fa-0388/$/GetServices/$/Create"; - _requests[934] = new DefaultHttpContext(); - _requests[934].RequestServices = CreateServices(); - _requests[934].Request.Method = "POST"; - _requests[934].Request.Path = "/Applications/0e883a3a-bbad/$/GetServices/$/CreateFromTemplate"; - _requests[935] = new DefaultHttpContext(); - _requests[935].RequestServices = CreateServices(); - _requests[935].Request.Method = "POST"; - _requests[935].Request.Path = "/Applications/ea0c85ad-fbfe-4/$/GetServiceGroups/$/CreateServiceGroupFromTemplate"; - _requests[936] = new DefaultHttpContext(); - _requests[936].RequestServices = CreateServices(); - _requests[936].Request.Method = "POST"; - _requests[936].Request.Path = "/Applications/24334e80-9989-4/$/GetServices/$/CreateServiceGroup"; - _requests[937] = new DefaultHttpContext(); - _requests[937].RequestServices = CreateServices(); - _requests[937].Request.Method = "POST"; - _requests[937].Request.Path = "/Names/5253ff/$/GetProperties/$/SubmitBatch"; - _requests[938] = new DefaultHttpContext(); - _requests[938].RequestServices = CreateServices(); - _requests[938].Request.Method = "POST"; - _requests[938].Request.Path = "/Services/e19c7769-6f/$/GetPartitions/$/Recover"; - _requests[939] = new DefaultHttpContext(); - _requests[939].RequestServices = CreateServices(); - _requests[939].Request.Method = "GET"; - _requests[939].Request.Path = "/subscriptions/ac951d2d-124c-/providers/Microsoft.Billing/invoices/latest"; - _requests[940] = new DefaultHttpContext(); - _requests[940].RequestServices = CreateServices(); - _requests[940].Request.Method = "GET"; - _requests[940].Request.Path = "/subscriptions/9ec1697b-b0a1-/providers/Microsoft.Consumption/pricesheets/default"; - _requests[941] = new DefaultHttpContext(); - _requests[941].RequestServices = CreateServices(); - _requests[941].Request.Method = "GET"; - _requests[941].Request.Path = "/subscriptions/25d8ec71-7176-/providers/Microsoft.Network/applicationGatewayAvailableSslOptions/default"; - _requests[942] = new DefaultHttpContext(); - _requests[942].RequestServices = CreateServices(); - _requests[942].Request.Method = "POST"; - _requests[942].Request.Path = "/subscriptions/bfc66a7a-f1f2-/providers/Microsoft.Web/recommendations/reset"; - _requests[943] = new DefaultHttpContext(); - _requests[943].RequestServices = CreateServices(); - _requests[943].Request.Method = "POST"; - _requests[943].Request.Path = "/subscriptions/a67a0e8a-9b9d-/providers/Microsoft.Addons/supportProviders/canonical/listSupportPlanInfo"; - _requests[944] = new DefaultHttpContext(); - _requests[944].RequestServices = CreateServices(); - _requests[944].Request.Method = "GET"; - _requests[944].Request.Path = "/subscriptions/0d41808d-2cb9-/providers/microsoft.insights/eventtypes/management/values"; - _requests[945] = new DefaultHttpContext(); - _requests[945].RequestServices = CreateServices(); - _requests[945].Request.Method = "GET"; - _requests[945].Request.Path = "/subscriptions/19676ac9-f5d4-/providers/Microsoft.Network/applicationGatewayAvailableSslOptions/default/predefinedPolicies"; - _requests[946] = new DefaultHttpContext(); - _requests[946].RequestServices = CreateServices(); - _requests[946].Request.Method = "GET"; - _requests[946].Request.Path = "/subscriptions/45f1c4fa-5b7c-/providers/Microsoft.Network/applicationGatewayAvailableSslOptions/default/predefinedPolicies/f060079a-e82b-4dbd-a"; - _requests[947] = new DefaultHttpContext(); - _requests[947].RequestServices = CreateServices(); - _requests[947].Request.Method = "GET"; - _requests[947].Request.Path = "/subscriptions/70412fd1-adf7-/providers/Microsoft.Advisor/generateRecommendations/51f5a916-d0"; - _requests[948] = new DefaultHttpContext(); - _requests[948].RequestServices = CreateServices(); - _requests[948].Request.Method = "GET"; - _requests[948].Request.Path = "/subscriptions/cc008cb4-0da0-/providers/Microsoft.Authorization/locks/ee7ee867"; - _requests[949] = new DefaultHttpContext(); - _requests[949].RequestServices = CreateServices(); - _requests[949].Request.Method = "DELETE"; - _requests[949].Request.Path = "/subscriptions/485a00f8-58e8-/providers/Microsoft.Authorization/policydefinitions/a3596b6a-8e40-4a2b-a"; - _requests[950] = new DefaultHttpContext(); - _requests[950].RequestServices = CreateServices(); - _requests[950].Request.Method = "GET"; - _requests[950].Request.Path = "/subscriptions/fa9956d2-7479-/providers/Microsoft.Authorization/policySetDefinitions/c357e038-5cc2-4cc8-aac6"; - _requests[951] = new DefaultHttpContext(); - _requests[951].RequestServices = CreateServices(); - _requests[951].Request.Method = "GET"; - _requests[951].Request.Path = "/subscriptions/ab782db1-c8bb-/providers/Microsoft.Billing/billingPeriods/45174cec-3a23-4bf"; - _requests[952] = new DefaultHttpContext(); - _requests[952].RequestServices = CreateServices(); - _requests[952].Request.Method = "GET"; - _requests[952].Request.Path = "/subscriptions/c48f12ce-80f0-/providers/Microsoft.Billing/invoices/8048214d-e7"; - _requests[953] = new DefaultHttpContext(); - _requests[953].RequestServices = CreateServices(); - _requests[953].Request.Method = "DELETE"; - _requests[953].Request.Path = "/subscriptions/2e14982d-955d-/providers/Microsoft.Consumption/budgets/d5f23242-b"; - _requests[954] = new DefaultHttpContext(); - _requests[954].RequestServices = CreateServices(); - _requests[954].Request.Method = "GET"; - _requests[954].Request.Path = "/subscriptions/02b57a97-15ca-/providers/Microsoft.DomainRegistration/topLevelDomains/35135"; - _requests[955] = new DefaultHttpContext(); - _requests[955].RequestServices = CreateServices(); - _requests[955].Request.Method = "DELETE"; - _requests[955].Request.Path = "/subscriptions/8ac0d74f-5fce-/providers/microsoft.gallery.admin/galleryItems/d289f52c-7cba-4"; - _requests[956] = new DefaultHttpContext(); - _requests[956].RequestServices = CreateServices(); - _requests[956].Request.Method = "PATCH"; - _requests[956].Request.Path = "/subscriptions/91d2b7dc-843f-/providers/microsoft.insights/logprofiles/e832e917-466f-"; - _requests[957] = new DefaultHttpContext(); - _requests[957].RequestServices = CreateServices(); - _requests[957].Request.Method = "GET"; - _requests[957].Request.Path = "/subscriptions/da23414d-1c73-/providers/Microsoft.Media/mediaservices/eb00a947-ac"; - _requests[958] = new DefaultHttpContext(); - _requests[958].RequestServices = CreateServices(); - _requests[958].Request.Method = "PUT"; - _requests[958].Request.Path = "/subscriptions/445a0321-25f4-/providers/Microsoft.Security/autoProvisioningSettings/9847fb5d-82"; - _requests[959] = new DefaultHttpContext(); - _requests[959].RequestServices = CreateServices(); - _requests[959].Request.Method = "GET"; - _requests[959].Request.Path = "/subscriptions/56fd6eca-2ba0-/providers/Microsoft.Security/locations/409dc3f5-21"; - _requests[960] = new DefaultHttpContext(); - _requests[960].RequestServices = CreateServices(); - _requests[960].Request.Method = "PUT"; - _requests[960].Request.Path = "/subscriptions/cf3da7d1-7e7b-/providers/Microsoft.Security/pricings/10ed36d8-e2"; - _requests[961] = new DefaultHttpContext(); - _requests[961].RequestServices = CreateServices(); - _requests[961].Request.Method = "PATCH"; - _requests[961].Request.Path = "/subscriptions/1e5a1121-8757-/providers/Microsoft.Security/workspaceSettings/8a12ca1e-410c-41a4-9"; - _requests[962] = new DefaultHttpContext(); - _requests[962].RequestServices = CreateServices(); - _requests[962].Request.Method = "GET"; - _requests[962].Request.Path = "/subscriptions/7971808e-c096-/providers/Microsoft.Subscriptions.Admin/delegatedProviders/6e35b73e-be16-472"; - _requests[963] = new DefaultHttpContext(); - _requests[963].RequestServices = CreateServices(); - _requests[963].Request.Method = "DELETE"; - _requests[963].Request.Path = "/subscriptions/0eaad5af-688b-/providers/Microsoft.Subscriptions.Admin/locations/c286eec6"; - _requests[964] = new DefaultHttpContext(); - _requests[964].RequestServices = CreateServices(); - _requests[964].Request.Method = "DELETE"; - _requests[964].Request.Path = "/subscriptions/a41c02d3-50a8-/providers/Microsoft.Subscriptions.Admin/subscriptions/8c91893f-6cd"; - _requests[965] = new DefaultHttpContext(); - _requests[965].RequestServices = CreateServices(); - _requests[965].Request.Method = "GET"; - _requests[965].Request.Path = "/subscriptions/08750a41-93ba-/providers/Microsoft.Web/ishostingenvironmentnameavailable/693e6"; - _requests[966] = new DefaultHttpContext(); - _requests[966].RequestServices = CreateServices(); - _requests[966].Request.Method = "GET"; - _requests[966].Request.Path = "/subscriptions/950a44e7-158b-/providers/Microsoft.Addons/supportProviders/b4aa3b70-c4e/supportPlanTypes"; - _requests[967] = new DefaultHttpContext(); - _requests[967].RequestServices = CreateServices(); - _requests[967].Request.Method = "POST"; - _requests[967].Request.Path = "/subscriptions/4c7de496-e6e8-/providers/Microsoft.AnalysisServices/locations/3dbd5f65/checkNameAvailability"; - _requests[968] = new DefaultHttpContext(); - _requests[968].RequestServices = CreateServices(); - _requests[968].Request.Method = "POST"; - _requests[968].Request.Path = "/subscriptions/d43b7ef8-383c-/providers/Microsoft.Batch/locations/5acbb9d3-d26/checkNameAvailability"; - _requests[969] = new DefaultHttpContext(); - _requests[969].RequestServices = CreateServices(); - _requests[969].Request.Method = "GET"; - _requests[969].Request.Path = "/subscriptions/3138c33c-2bf4-/providers/Microsoft.Batch/locations/41d1ed2a-e92/quotas"; - _requests[970] = new DefaultHttpContext(); - _requests[970].RequestServices = CreateServices(); - _requests[970].Request.Method = "GET"; - _requests[970].Request.Path = "/subscriptions/393734e1-4372-/providers/Microsoft.BatchAI/locations/18c562e5/usages"; - _requests[971] = new DefaultHttpContext(); - _requests[971].RequestServices = CreateServices(); - _requests[971].Request.Method = "POST"; - _requests[971].Request.Path = "/subscriptions/37ab8912-78ba-/providers/Microsoft.CognitiveServices/locations/0516373c/checkSkuAvailability"; - _requests[972] = new DefaultHttpContext(); - _requests[972].RequestServices = CreateServices(); - _requests[972].Request.Method = "GET"; - _requests[972].Request.Path = "/subscriptions/b55fc591-3752-/providers/Microsoft.Compute.Admin/locations/4020fc48/quotas"; - _requests[973] = new DefaultHttpContext(); - _requests[973].RequestServices = CreateServices(); - _requests[973].Request.Method = "GET"; - _requests[973].Request.Path = "/subscriptions/c65ef556-1d76-/providers/Microsoft.Compute/locations/3450a11d/publishers"; - _requests[974] = new DefaultHttpContext(); - _requests[974].RequestServices = CreateServices(); - _requests[974].Request.Method = "GET"; - _requests[974].Request.Path = "/subscriptions/5e5ef054-dd0c-/providers/Microsoft.Compute/locations/869fd981/runCommands"; - _requests[975] = new DefaultHttpContext(); - _requests[975].RequestServices = CreateServices(); - _requests[975].Request.Method = "GET"; - _requests[975].Request.Path = "/subscriptions/a08f7db2-72a0-/providers/Microsoft.Compute/locations/cabb71c3/usages"; - _requests[976] = new DefaultHttpContext(); - _requests[976].RequestServices = CreateServices(); - _requests[976].Request.Method = "GET"; - _requests[976].Request.Path = "/subscriptions/d9a12bcd-0209-/providers/Microsoft.Compute/locations/8b3551ee/vmSizes"; - _requests[977] = new DefaultHttpContext(); - _requests[977].RequestServices = CreateServices(); - _requests[977].Request.Method = "GET"; - _requests[977].Request.Path = "/subscriptions/5393940e-ed89-/providers/Microsoft.ContainerInstance/locations/e0ac5ad1/usages"; - _requests[978] = new DefaultHttpContext(); - _requests[978].RequestServices = CreateServices(); - _requests[978].Request.Method = "GET"; - _requests[978].Request.Path = "/subscriptions/62d58fd9-d699-/providers/Microsoft.ContainerService/locations/796ab946/orchestrators"; - _requests[979] = new DefaultHttpContext(); - _requests[979].RequestServices = CreateServices(); - _requests[979].Request.Method = "POST"; - _requests[979].Request.Path = "/subscriptions/c618f18a-346f-/providers/Microsoft.DataBox/locations/f2a1041f/availableSkus"; - _requests[980] = new DefaultHttpContext(); - _requests[980].RequestServices = CreateServices(); - _requests[980].Request.Method = "POST"; - _requests[980].Request.Path = "/subscriptions/355f3a19-468f-/providers/Microsoft.DataBox/locations/16e75bbf/validateAddress"; - _requests[981] = new DefaultHttpContext(); - _requests[981].RequestServices = CreateServices(); - _requests[981].Request.Method = "POST"; - _requests[981].Request.Path = "/subscriptions/3ea82b72-9577-/providers/Microsoft.DataFactory/locations/61922f97-5/configureFactoryRepo"; - _requests[982] = new DefaultHttpContext(); - _requests[982].RequestServices = CreateServices(); - _requests[982].Request.Method = "GET"; - _requests[982].Request.Path = "/subscriptions/3a2cd8e8-4b7f-/providers/Microsoft.DataLakeAnalytics/locations/5fe2050f/capability"; - _requests[983] = new DefaultHttpContext(); - _requests[983].RequestServices = CreateServices(); - _requests[983].Request.Method = "POST"; - _requests[983].Request.Path = "/subscriptions/d62876fe-7d5f-/providers/Microsoft.DataLakeAnalytics/locations/9efbe55b/checkNameAvailability"; - _requests[984] = new DefaultHttpContext(); - _requests[984].RequestServices = CreateServices(); - _requests[984].Request.Method = "GET"; - _requests[984].Request.Path = "/subscriptions/86f0feaf-a53a-/providers/Microsoft.DataLakeStore/locations/27354a2f/capability"; - _requests[985] = new DefaultHttpContext(); - _requests[985].RequestServices = CreateServices(); - _requests[985].Request.Method = "POST"; - _requests[985].Request.Path = "/subscriptions/931a015b-6c61-/providers/Microsoft.DataLakeStore/locations/2deec4c4/checkNameAvailability"; - _requests[986] = new DefaultHttpContext(); - _requests[986].RequestServices = CreateServices(); - _requests[986].Request.Method = "POST"; - _requests[986].Request.Path = "/subscriptions/2791102c-7b17-/providers/Microsoft.DataMigration/locations/dd68352b/checkNameAvailability"; - _requests[987] = new DefaultHttpContext(); - _requests[987].RequestServices = CreateServices(); - _requests[987].Request.Method = "GET"; - _requests[987].Request.Path = "/subscriptions/eb439f55-1b3c-/providers/Microsoft.DataMigration/locations/9a10e96b/usages"; - _requests[988] = new DefaultHttpContext(); - _requests[988].RequestServices = CreateServices(); - _requests[988].Request.Method = "GET"; - _requests[988].Request.Path = "/subscriptions/4597e99d-b21a-/providers/Microsoft.DBforMySQL/locations/f5c78f5d-50b/performanceTiers"; - _requests[989] = new DefaultHttpContext(); - _requests[989].RequestServices = CreateServices(); - _requests[989].Request.Method = "GET"; - _requests[989].Request.Path = "/subscriptions/8845a777-318d-/providers/Microsoft.DBforPostgreSQL/locations/42b7b661-6e1/performanceTiers"; - _requests[990] = new DefaultHttpContext(); - _requests[990].RequestServices = CreateServices(); - _requests[990].Request.Method = "POST"; - _requests[990].Request.Path = "/subscriptions/d5afe895-6a7b-/providers/Microsoft.DomainRegistration/topLevelDomains/85ad8/listAgreements"; - _requests[991] = new DefaultHttpContext(); - _requests[991].RequestServices = CreateServices(); - _requests[991].Request.Method = "GET"; - _requests[991].Request.Path = "/subscriptions/daedc125-6dc2-/providers/Microsoft.EventGrid/locations/ac436753/eventSubscriptions"; - _requests[992] = new DefaultHttpContext(); - _requests[992].RequestServices = CreateServices(); - _requests[992].Request.Method = "GET"; - _requests[992].Request.Path = "/subscriptions/744f5ab1-f57b-/providers/Microsoft.EventGrid/topicTypes/a72a71ca-88e4/eventSubscriptions"; - _requests[993] = new DefaultHttpContext(); - _requests[993].RequestServices = CreateServices(); - _requests[993].Request.Method = "GET"; - _requests[993].Request.Path = "/subscriptions/a7dfc7f3-334a-/providers/Microsoft.EventHub/sku/58612/regions"; - _requests[994] = new DefaultHttpContext(); - _requests[994].RequestServices = CreateServices(); - _requests[994].Request.Method = "GET"; - _requests[994].Request.Path = "/subscriptions/25d7d9f7-b306-/providers/Microsoft.Features/providers/90f74f00-ee3e-4929-bf82-8/features"; - _requests[995] = new DefaultHttpContext(); - _requests[995].RequestServices = CreateServices(); - _requests[995].Request.Method = "GET"; - _requests[995].Request.Path = "/subscriptions/d198b236-1cf3-/providers/Microsoft.HDInsight/locations/5383c818/capabilities"; - _requests[996] = new DefaultHttpContext(); - _requests[996].RequestServices = CreateServices(); - _requests[996].Request.Method = "GET"; - _requests[996].Request.Path = "/subscriptions/800b7b4f-f2e4-/providers/Microsoft.KeyVault.Admin/locations/06de6308/quotas"; - _requests[997] = new DefaultHttpContext(); - _requests[997].RequestServices = CreateServices(); - _requests[997].Request.Method = "POST"; - _requests[997].Request.Path = "/subscriptions/98227f0f-4cfa-/providers/Microsoft.Media/locations/1bdd8047-50d/checkNameAvailability"; - _requests[998] = new DefaultHttpContext(); - _requests[998].RequestServices = CreateServices(); - _requests[998].Request.Method = "GET"; - _requests[998].Request.Path = "/subscriptions/b60f5664-2623-/providers/Microsoft.Network.Admin/locations/67a07ac8/quotas"; - _requests[999] = new DefaultHttpContext(); - _requests[999].RequestServices = CreateServices(); - _requests[999].Request.Method = "GET"; - _requests[999].Request.Path = "/subscriptions/91a13751-253d-/providers/Microsoft.Network/locations/2c83ac13/CheckDnsNameAvailability"; - _requests[1000] = new DefaultHttpContext(); - _requests[1000].RequestServices = CreateServices(); - _requests[1000].Request.Method = "GET"; - _requests[1000].Request.Path = "/subscriptions/0403c39a-9b12-/providers/Microsoft.Network/locations/6a12060d/usages"; - _requests[1001] = new DefaultHttpContext(); - _requests[1001].RequestServices = CreateServices(); - _requests[1001].Request.Method = "GET"; - _requests[1001].Request.Path = "/subscriptions/d500d8a6-79cb-/providers/Microsoft.Network/locations/908c9475/virtualNetworkAvailableEndpointServices"; - _requests[1002] = new DefaultHttpContext(); - _requests[1002].RequestServices = CreateServices(); - _requests[1002].Request.Method = "POST"; - _requests[1002].Request.Path = "/subscriptions/49aaf657-a9f4-/providers/Microsoft.PolicyInsights/policyEvents/89b1d585-e840-44f3-9/queryResults"; - _requests[1003] = new DefaultHttpContext(); - _requests[1003].RequestServices = CreateServices(); - _requests[1003].Request.Method = "POST"; - _requests[1003].Request.Path = "/subscriptions/972e93e9-e534-/providers/Microsoft.PolicyInsights/policyStates/5506645e-6300-469e-9/queryResults"; - _requests[1004] = new DefaultHttpContext(); - _requests[1004].RequestServices = CreateServices(); - _requests[1004].Request.Method = "POST"; - _requests[1004].Request.Path = "/subscriptions/1061ea3b-ee14-/providers/Microsoft.PolicyInsights/policyStates/88f4235e-acb4-4b65-b91e-add/summarize"; - _requests[1005] = new DefaultHttpContext(); - _requests[1005].RequestServices = CreateServices(); - _requests[1005].Request.Method = "POST"; - _requests[1005].Request.Path = "/subscriptions/2a210692-bf68-/providers/Microsoft.PowerBI/locations/3af68df0/checkNameAvailability"; - _requests[1006] = new DefaultHttpContext(); - _requests[1006].RequestServices = CreateServices(); - _requests[1006].Request.Method = "POST"; - _requests[1006].Request.Path = "/Subscriptions/88ac251c-9d6d-/providers/Microsoft.RecoveryServices/locations/92150cf0-cd/backupPreValidateProtection"; - _requests[1007] = new DefaultHttpContext(); - _requests[1007].RequestServices = CreateServices(); - _requests[1007].Request.Method = "POST"; - _requests[1007].Request.Path = "/Subscriptions/48c74ac3-0637-/providers/Microsoft.RecoveryServices/locations/03fc281a-f3/backupStatus"; - _requests[1008] = new DefaultHttpContext(); - _requests[1008].RequestServices = CreateServices(); - _requests[1008].Request.Method = "POST"; - _requests[1008].Request.Path = "/Subscriptions/78b27b55-d3e6-/providers/Microsoft.RecoveryServices/locations/2b35e179-c0/backupValidateFeatures"; - _requests[1009] = new DefaultHttpContext(); - _requests[1009].RequestServices = CreateServices(); - _requests[1009].Request.Method = "GET"; - _requests[1009].Request.Path = "/subscriptions/23002a8a-55e6-/providers/Microsoft.Security/locations/a2a03d91-a4/alerts"; - _requests[1010] = new DefaultHttpContext(); - _requests[1010].RequestServices = CreateServices(); - _requests[1010].Request.Method = "GET"; - _requests[1010].Request.Path = "/subscriptions/5c76c76a-db7d-/providers/Microsoft.Security/locations/dd93e508-46/discoveredSecuritySolutions"; - _requests[1011] = new DefaultHttpContext(); - _requests[1011].RequestServices = CreateServices(); - _requests[1011].Request.Method = "GET"; - _requests[1011].Request.Path = "/subscriptions/da4b7c0f-e08d-/providers/Microsoft.Security/locations/c02ae921-e3/ExternalSecuritySolutions"; - _requests[1012] = new DefaultHttpContext(); - _requests[1012].RequestServices = CreateServices(); - _requests[1012].Request.Method = "GET"; - _requests[1012].Request.Path = "/subscriptions/b3888a03-89c0-/providers/Microsoft.Security/locations/2158dd85-16/jitNetworkAccessPolicies"; - _requests[1013] = new DefaultHttpContext(); - _requests[1013].RequestServices = CreateServices(); - _requests[1013].Request.Method = "GET"; - _requests[1013].Request.Path = "/subscriptions/6c416a01-88a5-/providers/Microsoft.Security/locations/cde57dcb-3d/tasks"; - _requests[1014] = new DefaultHttpContext(); - _requests[1014].RequestServices = CreateServices(); - _requests[1014].Request.Method = "GET"; - _requests[1014].Request.Path = "/subscriptions/a6ad91cb-6683-/providers/Microsoft.ServiceBus/sku/540be/regions"; - _requests[1015] = new DefaultHttpContext(); - _requests[1015].RequestServices = CreateServices(); - _requests[1015].Request.Method = "GET"; - _requests[1015].Request.Path = "/subscriptions/21753633-2bf3-/providers/Microsoft.ServiceFabric/locations/a1af0597/clusterVersions"; - _requests[1016] = new DefaultHttpContext(); - _requests[1016].RequestServices = CreateServices(); - _requests[1016].Request.Method = "POST"; - _requests[1016].Request.Path = "/subscriptions/25cda38f-f8da-/providers/Microsoft.SignalRService/locations/0b8e60a7/checkNameAvailability"; - _requests[1017] = new DefaultHttpContext(); - _requests[1017].RequestServices = CreateServices(); - _requests[1017].Request.Method = "GET"; - _requests[1017].Request.Path = "/subscriptions/ce1b9666-ead7-/providers/Microsoft.Sql/locations/97e5932b-499/capabilities"; - _requests[1018] = new DefaultHttpContext(); - _requests[1018].RequestServices = CreateServices(); - _requests[1018].Request.Method = "GET"; - _requests[1018].Request.Path = "/subscriptions/6447e7c1-cf20-/providers/Microsoft.Sql/locations/2f23de22-cb8/longTermRetentionBackups"; - _requests[1019] = new DefaultHttpContext(); - _requests[1019].RequestServices = CreateServices(); - _requests[1019].Request.Method = "GET"; - _requests[1019].Request.Path = "/subscriptions/eb6b12b2-797f-/providers/Microsoft.Sql/locations/59eb1cc8-75c/syncDatabaseIds"; - _requests[1020] = new DefaultHttpContext(); - _requests[1020].RequestServices = CreateServices(); - _requests[1020].Request.Method = "GET"; - _requests[1020].Request.Path = "/subscriptions/e1f23ed4-32bf-/providers/Microsoft.Sql/locations/820312c4-869/usages"; - _requests[1021] = new DefaultHttpContext(); - _requests[1021].RequestServices = CreateServices(); - _requests[1021].Request.Method = "GET"; - _requests[1021].Request.Path = "/subscriptions/1ac6cc08-c1dd-/providers/Microsoft.Storage.Admin/locations/1ad7213c/quotas"; - _requests[1022] = new DefaultHttpContext(); - _requests[1022].RequestServices = CreateServices(); - _requests[1022].Request.Method = "GET"; - _requests[1022].Request.Path = "/subscriptions/995c57b3-d868-/providers/Microsoft.Storage/locations/02a9292a/usages"; - _requests[1023] = new DefaultHttpContext(); - _requests[1023].RequestServices = CreateServices(); - _requests[1023].Request.Method = "GET"; - _requests[1023].Request.Path = "/subscriptions/71445ad4-8cdb-/providers/Microsoft.StreamAnalytics/locations/ba16c227/quotas"; - _requests[1024] = new DefaultHttpContext(); - _requests[1024].RequestServices = CreateServices(); - _requests[1024].Request.Method = "GET"; - _requests[1024].Request.Path = "/subscriptions/87767591-152d-/providers/Microsoft.Subscriptions.Admin/delegatedProviders/9b8db00b-28ee-411c-83c9-0e9ccdc/offers"; - _requests[1025] = new DefaultHttpContext(); - _requests[1025].RequestServices = CreateServices(); - _requests[1025].Request.Method = "GET"; - _requests[1025].Request.Path = "/subscriptions/61e2883d-7d4e-/providers/Microsoft.Subscriptions.Admin/locations/b7a9635b/quotas"; - _requests[1026] = new DefaultHttpContext(); - _requests[1026].RequestServices = CreateServices(); - _requests[1026].Request.Method = "GET"; - _requests[1026].Request.Path = "/subscriptions/9cbc8dfc-3066-/providers/Microsoft.Subscriptions.Admin/subscriptions/625f4be2-e9d3-4ed7-8/acquiredPlans"; - _requests[1027] = new DefaultHttpContext(); - _requests[1027].RequestServices = CreateServices(); - _requests[1027].Request.Method = "GET"; - _requests[1027].Request.Path = "/subscriptions/c98733ca-7c6a-/providers/Microsoft.Web/locations/c3dbd830/connectionGatewayInstallations"; - _requests[1028] = new DefaultHttpContext(); - _requests[1028].RequestServices = CreateServices(); - _requests[1028].Request.Method = "POST"; - _requests[1028].Request.Path = "/subscriptions/1bd90659-8300-/providers/Microsoft.Web/locations/07d79cc3/extractApiDefinitionFromWsdl"; - _requests[1029] = new DefaultHttpContext(); - _requests[1029].RequestServices = CreateServices(); - _requests[1029].Request.Method = "POST"; - _requests[1029].Request.Path = "/subscriptions/ac52a266-acc3-/providers/Microsoft.Web/locations/7ec1af5c/listWsdlInterfaces"; - _requests[1030] = new DefaultHttpContext(); - _requests[1030].RequestServices = CreateServices(); - _requests[1030].Request.Method = "GET"; - _requests[1030].Request.Path = "/subscriptions/25c160b3-82ee-/providers/Microsoft.Web/locations/a9de8f44/managedApis"; - _requests[1031] = new DefaultHttpContext(); - _requests[1031].RequestServices = CreateServices(); - _requests[1031].Request.Method = "POST"; - _requests[1031].Request.Path = "/subscriptions/e7412d09-083f-/providers/Microsoft.Web/recommendations/1888b/disable"; - _requests[1032] = new DefaultHttpContext(); - _requests[1032].RequestServices = CreateServices(); - _requests[1032].Request.Method = "GET"; - _requests[1032].Request.Path = "/subscriptions/2807769a-ae39-/providers/Microsoft.Compute.Admin/locations/6364f2bb/artifactTypes/platformImage"; - _requests[1033] = new DefaultHttpContext(); - _requests[1033].RequestServices = CreateServices(); - _requests[1033].Request.Method = "GET"; - _requests[1033].Request.Path = "/subscriptions/a75e9a08-9ffe-/providers/Microsoft.Compute.Admin/locations/3e7e7077/artifactTypes/VMExtension"; - _requests[1034] = new DefaultHttpContext(); - _requests[1034].RequestServices = CreateServices(); - _requests[1034].Request.Method = "GET"; - _requests[1034].Request.Path = "/subscriptions/b3212722-ff6e-/providers/Microsoft.Billing/billingPeriods/40442af4-e46f-4d8/providers/Microsoft.Consumption/marketplaces"; - _requests[1035] = new DefaultHttpContext(); - _requests[1035].RequestServices = CreateServices(); - _requests[1035].Request.Method = "GET"; - _requests[1035].Request.Path = "/subscriptions/9230000a-0e91-/providers/Microsoft.Billing/billingPeriods/a9957a57-979f-4c2/providers/Microsoft.Consumption/usageDetails"; - _requests[1036] = new DefaultHttpContext(); - _requests[1036].RequestServices = CreateServices(); - _requests[1036].Request.Method = "POST"; - _requests[1036].Request.Path = "/subscriptions/24a46526-7870-/providers/Microsoft.Compute/locations/87cd55e7/logAnalytics/apiAccess/getRequestRateByInterval"; - _requests[1037] = new DefaultHttpContext(); - _requests[1037].RequestServices = CreateServices(); - _requests[1037].Request.Method = "POST"; - _requests[1037].Request.Path = "/subscriptions/a8ade649-6030-/providers/Microsoft.Compute/locations/b851f467/logAnalytics/apiAccess/getThrottledRequests"; - _requests[1038] = new DefaultHttpContext(); - _requests[1038].RequestServices = CreateServices(); - _requests[1038].Request.Method = "GET"; - _requests[1038].Request.Path = "/subscriptions/7de84de2-fa6b-/providers/Microsoft.Billing/billingPeriods/12edae5f-9032-4bf/providers/Microsoft.Consumption/pricesheets/default"; - _requests[1039] = new DefaultHttpContext(); - _requests[1039].RequestServices = CreateServices(); - _requests[1039].Request.Method = "DELETE"; - _requests[1039].Request.Path = "/subscriptions/a6e9af26-ff71-/providers/Microsoft.Compute.Admin/locations/bc0655d9/artifactTypes/VMExtension/publishers/54bd0d7a-/types/db65f/versions/fd8509d"; - _requests[1040] = new DefaultHttpContext(); - _requests[1040].RequestServices = CreateServices(); - _requests[1040].Request.Method = "DELETE"; - _requests[1040].Request.Path = "/subscriptions/27a14cb3-5c23-/providers/Microsoft.Compute.Admin/locations/70fb6d72/artifactTypes/platformImage/publishers/00a74968-/offers/dcef6/skus/3b76f/versions/69f4c61"; - _requests[1041] = new DefaultHttpContext(); - _requests[1041].RequestServices = CreateServices(); - _requests[1041].Request.Method = "DELETE"; - _requests[1041].Request.Path = "/subscriptions/6a0b0cb4-8a26-/providers/Microsoft.Addons/supportProviders/c6f0a589-4c2/supportPlanTypes/6977c131-ae1"; - _requests[1042] = new DefaultHttpContext(); - _requests[1042].RequestServices = CreateServices(); - _requests[1042].Request.Method = "GET"; - _requests[1042].Request.Path = "/subscriptions/78effe94-62fd-/providers/Microsoft.AnalysisServices/locations/63fbe07e/operationresults/7dfbc4a2-97"; - _requests[1043] = new DefaultHttpContext(); - _requests[1043].RequestServices = CreateServices(); - _requests[1043].Request.Method = "GET"; - _requests[1043].Request.Path = "/subscriptions/aafc1f57-2719-/providers/Microsoft.AnalysisServices/locations/a6cd7722/operationstatuses/2b630aa5-91"; - _requests[1044] = new DefaultHttpContext(); - _requests[1044].RequestServices = CreateServices(); - _requests[1044].Request.Method = "DELETE"; - _requests[1044].Request.Path = "/subscriptions/3ffb7b60-2d72-/providers/Microsoft.Compute.Admin/locations/23cf164d/quotas/cbd4fb6b-"; - _requests[1045] = new DefaultHttpContext(); - _requests[1045].RequestServices = CreateServices(); - _requests[1045].Request.Method = "GET"; - _requests[1045].Request.Path = "/subscriptions/9d367136-65dd-/providers/Microsoft.Compute/locations/2bb1c0d6/runCommands/317f87cc-"; - _requests[1046] = new DefaultHttpContext(); - _requests[1046].RequestServices = CreateServices(); - _requests[1046].Request.Method = "GET"; - _requests[1046].Request.Path = "/subscriptions/1ad07071-90c0-/providers/Microsoft.DevTestLab/locations/e075f8ba-198/operations/7a9c0"; - _requests[1047] = new DefaultHttpContext(); - _requests[1047].RequestServices = CreateServices(); - _requests[1047].Request.Method = "GET"; - _requests[1047].Request.Path = "/subscriptions/975148b8-1adf-/providers/Microsoft.Features/providers/f9a1e3b0-9d49-48ae-afc4-e/features/6a4c1461-ef"; - _requests[1048] = new DefaultHttpContext(); - _requests[1048].RequestServices = CreateServices(); - _requests[1048].Request.Method = "GET"; - _requests[1048].Request.Path = "/subscriptions/0ab90b29-6fa6-/providers/Microsoft.KeyVault/locations/f2b7f091/deletedVaults/4a64a310-"; - _requests[1049] = new DefaultHttpContext(); - _requests[1049].RequestServices = CreateServices(); - _requests[1049].Request.Method = "DELETE"; - _requests[1049].Request.Path = "/subscriptions/1b084c4d-56a3-/providers/Microsoft.Network.Admin/locations/f1f82417/quotas/72e5a7ac-1bf"; - _requests[1050] = new DefaultHttpContext(); - _requests[1050].RequestServices = CreateServices(); - _requests[1050].Request.Method = "GET"; - _requests[1050].Request.Path = "/subscriptions/c6e907f0-146e-/providers/Microsoft.Security/locations/b9ce869b-d5/alerts/a3311cbc-"; - _requests[1051] = new DefaultHttpContext(); - _requests[1051].RequestServices = CreateServices(); - _requests[1051].Request.Method = "GET"; - _requests[1051].Request.Path = "/subscriptions/cfef26e8-0123-/providers/Microsoft.Security/locations/0fd19151-36/tasks/6f73b565"; - _requests[1052] = new DefaultHttpContext(); - _requests[1052].RequestServices = CreateServices(); - _requests[1052].Request.Method = "GET"; - _requests[1052].Request.Path = "/subscriptions/4ffeb5eb-00b7-/providers/Microsoft.ServiceFabric/locations/51caf0d2/clusterVersions/5ca43149-5d74-"; - _requests[1053] = new DefaultHttpContext(); - _requests[1053].RequestServices = CreateServices(); - _requests[1053].Request.Method = "GET"; - _requests[1053].Request.Path = "/subscriptions/53b48aad-6db7-/providers/Microsoft.Sql/locations/e7bd0111-30c/usages/edda67ee-"; - _requests[1054] = new DefaultHttpContext(); - _requests[1054].RequestServices = CreateServices(); - _requests[1054].Request.Method = "GET"; - _requests[1054].Request.Path = "/subscriptions/b9150f20-bb7e-/providers/Microsoft.Storage.Admin/locations/849447a8/quotas/be4446e6-"; - _requests[1055] = new DefaultHttpContext(); - _requests[1055].RequestServices = CreateServices(); - _requests[1055].Request.Method = "GET"; - _requests[1055].Request.Path = "/subscriptions/fc863c9e-23b7-/providers/Microsoft.Subscriptions.Admin/delegatedProviders/d9fc8e5a-12c1-49e4-a06a-1c38bc7/offers/42f62"; - _requests[1056] = new DefaultHttpContext(); - _requests[1056].RequestServices = CreateServices(); - _requests[1056].Request.Method = "GET"; - _requests[1056].Request.Path = "/subscriptions/e555ebe3-4d72-/providers/Microsoft.Subscriptions.Admin/locations/0a892509/quotas/9e204"; - _requests[1057] = new DefaultHttpContext(); - _requests[1057].RequestServices = CreateServices(); - _requests[1057].Request.Method = "PUT"; - _requests[1057].Request.Path = "/subscriptions/56a8d90a-95a7-/providers/Microsoft.Subscriptions.Admin/subscriptions/4117ae22-0f46-4172-b/acquiredPlans/3ee433d9-1127-43f"; - _requests[1058] = new DefaultHttpContext(); - _requests[1058].RequestServices = CreateServices(); - _requests[1058].Request.Method = "GET"; - _requests[1058].Request.Path = "/subscriptions/e91bab00-dd84-/providers/Microsoft.Web/locations/6de5266f/connectionGatewayInstallations/79296ec1-"; - _requests[1059] = new DefaultHttpContext(); - _requests[1059].RequestServices = CreateServices(); - _requests[1059].Request.Method = "GET"; - _requests[1059].Request.Path = "/subscriptions/43883240-8952-/providers/Microsoft.Web/locations/7601db91/managedApis/4a37ba7"; - _requests[1060] = new DefaultHttpContext(); - _requests[1060].RequestServices = CreateServices(); - _requests[1060].Request.Method = "GET"; - _requests[1060].Request.Path = "/subscriptions/58efb8dd-38ba-/providers/Microsoft.EventGrid/locations/1a17b12d/topicTypes/1cac2cdb-c79c/eventSubscriptions"; - _requests[1061] = new DefaultHttpContext(); - _requests[1061].RequestServices = CreateServices(); - _requests[1061].Request.Method = "POST"; - _requests[1061].Request.Path = "/subscriptions/ade23068-fd5a-/providers/Microsoft.Features/providers/a93d8cca-7826-4249-a4e7-a/features/27db9d98-da/register"; - _requests[1062] = new DefaultHttpContext(); - _requests[1062].RequestServices = CreateServices(); - _requests[1062].Request.Method = "POST"; - _requests[1062].Request.Path = "/subscriptions/2fa7431b-bfcf-/providers/Microsoft.KeyVault/locations/4dcbfdf5/deletedVaults/2a1e4dc1-/purge"; - _requests[1063] = new DefaultHttpContext(); - _requests[1063].RequestServices = CreateServices(); - _requests[1063].Request.Method = "GET"; - _requests[1063].Request.Path = "/subscriptions/d42c7888-51b9-/providers/Microsoft.ServiceFabric/locations/f63e924c/environments/aaf1e828-36/clusterVersions"; - _requests[1064] = new DefaultHttpContext(); - _requests[1064].RequestServices = CreateServices(); - _requests[1064].Request.Method = "GET"; - _requests[1064].Request.Path = "/subscriptions/283b5e2f-1762-/providers/Microsoft.Sql/locations/1704115a-9f3/longTermRetentionServers/55a45d01-ce71-41ba-b245-fde/longTermRetentionBackups"; - _requests[1065] = new DefaultHttpContext(); - _requests[1065].RequestServices = CreateServices(); - _requests[1065].Request.Method = "POST"; - _requests[1065].Request.Path = "/subscriptions/3a994a68-edbd-/providers/Microsoft.Sql/locations/aa24e23b-b9a/managedDatabaseRestoreAzureAsyncOperation/66d1099c-95/completeRestore"; - _requests[1066] = new DefaultHttpContext(); - _requests[1066].RequestServices = CreateServices(); - _requests[1066].Request.Method = "GET"; - _requests[1066].Request.Path = "/subscriptions/2ee937e1-9407-/providers/Microsoft.Compute/locations/3f4e76d8/publishers/bcaa5dbd-6e37/artifacttypes/vmextension/types"; - _requests[1067] = new DefaultHttpContext(); - _requests[1067].RequestServices = CreateServices(); - _requests[1067].Request.Method = "GET"; - _requests[1067].Request.Path = "/subscriptions/d6c557a8-1a23-/providers/Microsoft.Compute/locations/5b6aebea/publishers/a3342438-a516/artifacttypes/vmimage/offers"; - _requests[1068] = new DefaultHttpContext(); - _requests[1068].RequestServices = CreateServices(); - _requests[1068].Request.Method = "GET"; - _requests[1068].Request.Path = "/subscriptions/2828de71-2f8a-/providers/Microsoft.Compute/locations/0e6b8685/publishers/b96d8694-85fd/artifacttypes/vmextension/types/16e17/versions"; - _requests[1069] = new DefaultHttpContext(); - _requests[1069].RequestServices = CreateServices(); - _requests[1069].Request.Method = "GET"; - _requests[1069].Request.Path = "/subscriptions/02dfde39-1fcb-/providers/Microsoft.Compute/locations/bafe0263/publishers/b9a797d7-e816/artifacttypes/vmimage/offers/9f68d/skus"; - _requests[1070] = new DefaultHttpContext(); - _requests[1070].RequestServices = CreateServices(); - _requests[1070].Request.Method = "GET"; - _requests[1070].Request.Path = "/subscriptions/9749bc18-8199-/providers/Microsoft.Compute/locations/fff656f0/publishers/2489c6de-35e3/artifacttypes/vmextension/types/91db8/versions/333462e"; - _requests[1071] = new DefaultHttpContext(); - _requests[1071].RequestServices = CreateServices(); - _requests[1071].Request.Method = "GET"; - _requests[1071].Request.Path = "/subscriptions/2fa4ea40-50fd-/providers/Microsoft.Compute/locations/06a03a4f/publishers/beeffe03-c3b7/artifacttypes/vmimage/offers/91835/skus/58133/versions"; - _requests[1072] = new DefaultHttpContext(); - _requests[1072].RequestServices = CreateServices(); - _requests[1072].Request.Method = "GET"; - _requests[1072].Request.Path = "/subscriptions/81d2fc9e-983b-/providers/Microsoft.Compute/locations/ddb6f9c1/publishers/52bb3c15-77ff/artifacttypes/vmimage/offers/390c1/skus/8cfa8/versions/469f15f"; - _requests[1073] = new DefaultHttpContext(); - _requests[1073].RequestServices = CreateServices(); - _requests[1073].Request.Method = "GET"; - _requests[1073].Request.Path = "/subscriptions/73c10ad4-e402-/providers/Microsoft.ServiceFabric/locations/668b84c8/environments/bd5ee44f-b3/clusterVersions/a90a1054-b9d3-"; - _requests[1074] = new DefaultHttpContext(); - _requests[1074].RequestServices = CreateServices(); - _requests[1074].Request.Method = "GET"; - _requests[1074].Request.Path = "/subscriptions/175008f6-af98-/providers/Microsoft.Sql/locations/d02683b1-03c/longTermRetentionServers/6bc680ad-db2d-430f-9553-256/longTermRetentionDatabases/9500527b-9938-4a1a-b9e2-3afdb/longTermRetentionBackups"; - _requests[1075] = new DefaultHttpContext(); - _requests[1075].RequestServices = CreateServices(); - _requests[1075].Request.Method = "DELETE"; - _requests[1075].Request.Path = "/subscriptions/aa9a5523-a048-/providers/Microsoft.Sql/locations/138c5775-d08/longTermRetentionServers/0a9576d2-2bad-49b3-81ed-76e/longTermRetentionDatabases/293eea6c-8289-43fa-aa28-3f3af/longTermRetentionBackups/4113be41-1"; - _requests[1076] = new DefaultHttpContext(); - _requests[1076].RequestServices = CreateServices(); - _requests[1076].Request.Method = "PUT"; - _requests[1076].Request.Path = "/subscriptions/d00b2a62-d7d6-/providers/Microsoft.MarketplaceOrdering/offerTypes/c355fada-/publishers/19725d9c-76/offers/326080b/plans/7c3031/agreements/current"; - _requests[1077] = new DefaultHttpContext(); - _requests[1077].RequestServices = CreateServices(); - _requests[1077].Request.Method = "POST"; - _requests[1077].Request.Path = "/subscriptions/50d17f8b-20fe-/providers/Microsoft.Security/locations/48cdaeb5-23/alerts/119b3564-/db4b0516-16c8-4e75-bb"; - _requests[1078] = new DefaultHttpContext(); - _requests[1078].RequestServices = CreateServices(); - _requests[1078].Request.Method = "POST"; - _requests[1078].Request.Path = "/subscriptions/fcdf126b-c1c9-/providers/Microsoft.Security/locations/56c7dc51-47/tasks/dffef75b/fbeb59dd-ae1a-41de-b"; - _requests[1079] = new DefaultHttpContext(); - _requests[1079].RequestServices = CreateServices(); - _requests[1079].Request.Method = "GET"; - _requests[1079].Request.Path = "/Applications/0235e670-82a7/$/GetServices/dcbcfd94-"; - _requests[1080] = new DefaultHttpContext(); - _requests[1080].RequestServices = CreateServices(); - _requests[1080].Request.Method = "GET"; - _requests[1080].Request.Path = "/ApplicationTypes/fb4d158f-301a-44d0-/$/GetServiceTypes/6ef9eec5-db09-4"; - _requests[1081] = new DefaultHttpContext(); - _requests[1081].RequestServices = CreateServices(); - _requests[1081].Request.Method = "GET"; - _requests[1081].Request.Path = "/Nodes/f8b5b7ea/$/GetApplications/2e978687-7952"; - _requests[1082] = new DefaultHttpContext(); - _requests[1082].RequestServices = CreateServices(); - _requests[1082].Request.Method = "GET"; - _requests[1082].Request.Path = "/Partitions/7d5cafc1-30/$/GetReplicas/ef1fa42b-"; - _requests[1083] = new DefaultHttpContext(); - _requests[1083].RequestServices = CreateServices(); - _requests[1083].Request.Method = "GET"; - _requests[1083].Request.Path = "/Services/13128331-ca/$/GetPartitions/12d83953-80"; - _requests[1084] = new DefaultHttpContext(); - _requests[1084].RequestServices = CreateServices(); - _requests[1084].Request.Method = "POST"; - _requests[1084].Request.Path = "/Applications/ad9de2f2-eaa1-4/$/GetServiceGroups/9cc66da6-3f/$/Delete"; - _requests[1085] = new DefaultHttpContext(); - _requests[1085].RequestServices = CreateServices(); - _requests[1085].Request.Method = "GET"; - _requests[1085].Request.Path = "/Applications/4e4e27be-d78c-4/$/GetServices/398cc8bb-1c/$/GetServiceGroupDescription"; - _requests[1086] = new DefaultHttpContext(); - _requests[1086].RequestServices = CreateServices(); - _requests[1086].Request.Method = "GET"; - _requests[1086].Request.Path = "/Applications/5d12202d-b8e4-4/$/GetServices/bdbfeec9-06/$/GetServiceGroupMembers"; - _requests[1087] = new DefaultHttpContext(); - _requests[1087].RequestServices = CreateServices(); - _requests[1087].Request.Method = "POST"; - _requests[1087].Request.Path = "/Applications/fee72229-a395-4/$/GetServices/bb89fe35-20/$/UpdateServiceGroup"; - _requests[1088] = new DefaultHttpContext(); - _requests[1088].RequestServices = CreateServices(); - _requests[1088].Request.Method = "GET"; - _requests[1088].Request.Path = "/Nodes/5c3bc85b/$/GetApplications/a584dc9e-67d7/$/GetCodePackages"; - _requests[1089] = new DefaultHttpContext(); - _requests[1089].RequestServices = CreateServices(); - _requests[1089].Request.Method = "POST"; - _requests[1089].Request.Path = "/Nodes/58d3efad/$/GetApplications/a799201d-6ab9/$/GetHealth"; - _requests[1090] = new DefaultHttpContext(); - _requests[1090].RequestServices = CreateServices(); - _requests[1090].Request.Method = "GET"; - _requests[1090].Request.Path = "/Nodes/d6e61260/$/GetApplications/04f81f70-0cdd/$/GetReplicas"; - _requests[1091] = new DefaultHttpContext(); - _requests[1091].RequestServices = CreateServices(); - _requests[1091].Request.Method = "GET"; - _requests[1091].Request.Path = "/Nodes/64bd7237/$/GetApplications/31f3a9c3-6b30/$/GetServicePackages"; - _requests[1092] = new DefaultHttpContext(); - _requests[1092].RequestServices = CreateServices(); - _requests[1092].Request.Method = "GET"; - _requests[1092].Request.Path = "/Nodes/19277341/$/GetApplications/c639b559-12f4/$/GetServiceTypes"; - _requests[1093] = new DefaultHttpContext(); - _requests[1093].RequestServices = CreateServices(); - _requests[1093].Request.Method = "POST"; - _requests[1093].Request.Path = "/Nodes/0daace32/$/GetApplications/938ec2f8-77bf/$/ReportHealth"; - _requests[1094] = new DefaultHttpContext(); - _requests[1094].RequestServices = CreateServices(); - _requests[1094].Request.Method = "GET"; - _requests[1094].Request.Path = "/Nodes/308fed20/$/GetPartitions/5f3f6f2c-5c/$/GetReplicas"; - _requests[1095] = new DefaultHttpContext(); - _requests[1095].RequestServices = CreateServices(); - _requests[1095].Request.Method = "POST"; - _requests[1095].Request.Path = "/Partitions/823e91ce-42/$/GetReplicas/ffa759b2-/$/GetHealth"; - _requests[1096] = new DefaultHttpContext(); - _requests[1096].RequestServices = CreateServices(); - _requests[1096].Request.Method = "GET"; - _requests[1096].Request.Path = "/Partitions/e0531ecb-44/$/GetReplicas/f31d8bf5-/$/GetLoadInformation"; - _requests[1097] = new DefaultHttpContext(); - _requests[1097].RequestServices = CreateServices(); - _requests[1097].Request.Method = "POST"; - _requests[1097].Request.Path = "/Partitions/b2799fbf-51/$/GetReplicas/e768f5ea-/$/ReportHealth"; - _requests[1098] = new DefaultHttpContext(); - _requests[1098].RequestServices = CreateServices(); - _requests[1098].Request.Method = "POST"; - _requests[1098].Request.Path = "/Nodes/c609ec46/$/GetApplications/ebf5d2c8-7034/$/GetCodePackages/$/ContainerApi"; - _requests[1099] = new DefaultHttpContext(); - _requests[1099].RequestServices = CreateServices(); - _requests[1099].Request.Method = "GET"; - _requests[1099].Request.Path = "/Nodes/536d6daf/$/GetApplications/e3d08ef1-34f0/$/GetCodePackages/$/ContainerLogs"; - _requests[1100] = new DefaultHttpContext(); - _requests[1100].RequestServices = CreateServices(); - _requests[1100].Request.Method = "POST"; - _requests[1100].Request.Path = "/Nodes/2ce55aa4/$/GetApplications/011bca95-9ac5/$/GetCodePackages/$/Restart"; - _requests[1101] = new DefaultHttpContext(); - _requests[1101].RequestServices = CreateServices(); - _requests[1101].Request.Method = "GET"; - _requests[1101].Request.Path = "/Nodes/b39a2fdf/$/GetApplications/0a54f4e2-d24c/$/GetServicePackages/0a7791c6-7c11-4efe"; - _requests[1102] = new DefaultHttpContext(); - _requests[1102].RequestServices = CreateServices(); - _requests[1102].Request.Method = "GET"; - _requests[1102].Request.Path = "/Nodes/2197edd5/$/GetApplications/474cafcb-a3e7/$/GetServiceTypes/89599760-ba1c-4"; - _requests[1103] = new DefaultHttpContext(); - _requests[1103].RequestServices = CreateServices(); - _requests[1103].Request.Method = "POST"; - _requests[1103].Request.Path = "/Nodes/d7876101/$/GetApplications/a62f25ca-78b6/$/GetServicePackages/b430e986-a341-43d4/$/GetHealth"; - _requests[1104] = new DefaultHttpContext(); - _requests[1104].RequestServices = CreateServices(); - _requests[1104].Request.Method = "POST"; - _requests[1104].Request.Path = "/Nodes/ca558975/$/GetApplications/f92ad576-38d6/$/GetServicePackages/b0018a68-71d7-4e4f/$/ReportHealth"; - _requests[1105] = new DefaultHttpContext(); - _requests[1105].RequestServices = CreateServices(); - _requests[1105].Request.Method = "POST"; - _requests[1105].Request.Path = "/Nodes/1d8e462f/$/GetPartitions/191def83-2e/$/GetReplicas/6d8f291c-/$/Delete"; - _requests[1106] = new DefaultHttpContext(); - _requests[1106].RequestServices = CreateServices(); - _requests[1106].Request.Method = "GET"; - _requests[1106].Request.Path = "/Nodes/67c1e2ba/$/GetPartitions/0efa81cb-8f/$/GetReplicas/da15adad-/$/GetDetail"; - _requests[1107] = new DefaultHttpContext(); - _requests[1107].RequestServices = CreateServices(); - _requests[1107].Request.Method = "POST"; - _requests[1107].Request.Path = "/Nodes/963a0f23/$/GetPartitions/8f54f9ed-b2/$/GetReplicas/902d19d0-/$/Restart"; - _requests[1108] = new DefaultHttpContext(); - _requests[1108].RequestServices = CreateServices(); - _requests[1108].Request.Method = "DELETE"; - _requests[1108].Request.Path = "/apis/25296/operations/4eafac6a-a5"; - _requests[1109] = new DefaultHttpContext(); - _requests[1109].RequestServices = CreateServices(); - _requests[1109].Request.Method = "DELETE"; - _requests[1109].Request.Path = "/apis/9f2ef/policies/4ab5e1dd"; - _requests[1110] = new DefaultHttpContext(); - _requests[1110].RequestServices = CreateServices(); - _requests[1110].Request.Method = "DELETE"; - _requests[1110].Request.Path = "/apis/389a6/schemas/84c0f52b"; - _requests[1111] = new DefaultHttpContext(); - _requests[1111].RequestServices = CreateServices(); - _requests[1111].Request.Method = "GET"; - _requests[1111].Request.Path = "/apps/fd7db/events/542abd5e-"; - _requests[1112] = new DefaultHttpContext(); - _requests[1112].RequestServices = CreateServices(); - _requests[1112].Request.Method = "GET"; - _requests[1112].Request.Path = "/apps/aaf28/metrics/879965ad"; - _requests[1113] = new DefaultHttpContext(); - _requests[1113].RequestServices = CreateServices(); - _requests[1113].Request.Method = "DELETE"; - _requests[1113].Request.Path = "/apps/083f0/versions/41ec72d7-"; - _requests[1114] = new DefaultHttpContext(); - _requests[1114].RequestServices = CreateServices(); - _requests[1114].Request.Method = "GET"; - _requests[1114].Request.Path = "/delegatedProviders/3498b80c-926b-420c-/offers/fbe84b08-"; - _requests[1115] = new DefaultHttpContext(); - _requests[1115].RequestServices = CreateServices(); - _requests[1115].Request.Method = "GET"; - _requests[1115].Request.Path = "/deletedstorage/bf1dd9c3-9147-4bb9-8/sas/2d4c0136-dc39-42e0-"; - _requests[1116] = new DefaultHttpContext(); - _requests[1116].RequestServices = CreateServices(); - _requests[1116].Request.Method = "DELETE"; - _requests[1116].Request.Path = "/facelists/52cb0d95-b/persistedFaces/5ae52f7c-2bbb-4"; - _requests[1117] = new DefaultHttpContext(); - _requests[1117].RequestServices = CreateServices(); - _requests[1117].Request.Method = "DELETE"; - _requests[1117].Request.Path = "/groups/02ef9f1/users/adf61"; - _requests[1118] = new DefaultHttpContext(); - _requests[1118].RequestServices = CreateServices(); - _requests[1118].Request.Method = "PUT"; - _requests[1118].Request.Path = "/jobs/c605d/tasks/e23d38"; - _requests[1119] = new DefaultHttpContext(); - _requests[1119].RequestServices = CreateServices(); - _requests[1119].Request.Method = "PATCH"; - _requests[1119].Request.Path = "/persongroups/dfbdd24a-e7fe/persons/80d81b53"; - _requests[1120] = new DefaultHttpContext(); - _requests[1120].RequestServices = CreateServices(); - _requests[1120].Request.Method = "GET"; - _requests[1120].Request.Path = "/pools/f671c2/nodes/2aa836"; - _requests[1121] = new DefaultHttpContext(); - _requests[1121].RequestServices = CreateServices(); - _requests[1121].Request.Method = "DELETE"; - _requests[1121].Request.Path = "/products/72d90812-/apis/2ccb2"; - _requests[1122] = new DefaultHttpContext(); - _requests[1122].RequestServices = CreateServices(); - _requests[1122].Request.Method = "DELETE"; - _requests[1122].Request.Path = "/products/2e50fa11-/groups/b522812"; - _requests[1123] = new DefaultHttpContext(); - _requests[1123].RequestServices = CreateServices(); - _requests[1123].Request.Method = "DELETE"; - _requests[1123].Request.Path = "/products/ba9fb698-/policies/e35ba32c"; - _requests[1124] = new DefaultHttpContext(); - _requests[1124].RequestServices = CreateServices(); - _requests[1124].Request.Method = "PATCH"; - _requests[1124].Request.Path = "/projects/8771bd4e-/iterations/1e99061f-71"; - _requests[1125] = new DefaultHttpContext(); - _requests[1125].RequestServices = CreateServices(); - _requests[1125].Request.Method = "PATCH"; - _requests[1125].Request.Path = "/projects/26aac258-/tags/f7948"; - _requests[1126] = new DefaultHttpContext(); - _requests[1126].RequestServices = CreateServices(); - _requests[1126].Request.Method = "PATCH"; - _requests[1126].Request.Path = "/storage/75d66fb9-593d-42a4-a/sas/5efae349-5545-4718-"; - _requests[1127] = new DefaultHttpContext(); - _requests[1127].RequestServices = CreateServices(); - _requests[1127].Request.Method = "GET"; - _requests[1127].Request.Path = "/subscriptions/d9091435-1ec2-/providers/5ab30aa3-329a-4749-9837-4"; - _requests[1128] = new DefaultHttpContext(); - _requests[1128].RequestServices = CreateServices(); - _requests[1128].Request.Method = "PATCH"; - _requests[1128].Request.Path = "/subscriptions/58ceec8e-0c00-/resourcegroups/c6fe0bde-a469-44f"; - _requests[1129] = new DefaultHttpContext(); - _requests[1129].RequestServices = CreateServices(); - _requests[1129].Request.Method = "DELETE"; - _requests[1129].Request.Path = "/subscriptions/449c988f-baa5-/tagNames/f5349b5"; - _requests[1130] = new DefaultHttpContext(); - _requests[1130].RequestServices = CreateServices(); - _requests[1130].Request.Method = "GET"; - _requests[1130].Request.Path = "/apis/9741d/operations/ea9e58d7-7d/policies"; - _requests[1131] = new DefaultHttpContext(); - _requests[1131].RequestServices = CreateServices(); - _requests[1131].Request.Method = "POST"; - _requests[1131].Request.Path = "/apps/5e436/versions/3866e46c-/clone"; - _requests[1132] = new DefaultHttpContext(); - _requests[1132].RequestServices = CreateServices(); - _requests[1132].Request.Method = "POST"; - _requests[1132].Request.Path = "/apps/df141/versions/8ffe54b3-/closedlists"; - _requests[1133] = new DefaultHttpContext(); - _requests[1133].RequestServices = CreateServices(); - _requests[1133].Request.Method = "GET"; - _requests[1133].Request.Path = "/apps/4d7ea/versions/b43a8b51-/compositeentities"; - _requests[1134] = new DefaultHttpContext(); - _requests[1134].RequestServices = CreateServices(); - _requests[1134].Request.Method = "POST"; - _requests[1134].Request.Path = "/apps/175a5/versions/178cb58f-/customprebuiltdomains"; - _requests[1135] = new DefaultHttpContext(); - _requests[1135].RequestServices = CreateServices(); - _requests[1135].Request.Method = "GET"; - _requests[1135].Request.Path = "/apps/d67f9/versions/8d9e28a0-/customprebuiltentities"; - _requests[1136] = new DefaultHttpContext(); - _requests[1136].RequestServices = CreateServices(); - _requests[1136].Request.Method = "GET"; - _requests[1136].Request.Path = "/apps/065f7/versions/00df14ed-/customprebuiltintents"; - _requests[1137] = new DefaultHttpContext(); - _requests[1137].RequestServices = CreateServices(); - _requests[1137].Request.Method = "GET"; - _requests[1137].Request.Path = "/apps/532a8/versions/9e21bc16-/customprebuiltmodels"; - _requests[1138] = new DefaultHttpContext(); - _requests[1138].RequestServices = CreateServices(); - _requests[1138].Request.Method = "GET"; - _requests[1138].Request.Path = "/apps/a9318/versions/1e5d16f4-/entities"; - _requests[1139] = new DefaultHttpContext(); - _requests[1139].RequestServices = CreateServices(); - _requests[1139].Request.Method = "POST"; - _requests[1139].Request.Path = "/apps/f9038/versions/40b68af8-/example"; - _requests[1140] = new DefaultHttpContext(); - _requests[1140].RequestServices = CreateServices(); - _requests[1140].Request.Method = "GET"; - _requests[1140].Request.Path = "/apps/9106b/versions/c698b05b-/examples"; - _requests[1141] = new DefaultHttpContext(); - _requests[1141].RequestServices = CreateServices(); - _requests[1141].Request.Method = "GET"; - _requests[1141].Request.Path = "/apps/47dcd/versions/494a815f-/export"; - _requests[1142] = new DefaultHttpContext(); - _requests[1142].RequestServices = CreateServices(); - _requests[1142].Request.Method = "GET"; - _requests[1142].Request.Path = "/apps/5d0ee/versions/2b9ef7b1-/features"; - _requests[1143] = new DefaultHttpContext(); - _requests[1143].RequestServices = CreateServices(); - _requests[1143].Request.Method = "GET"; - _requests[1143].Request.Path = "/apps/4008a/versions/a86947de-/hierarchicalentities"; - _requests[1144] = new DefaultHttpContext(); - _requests[1144].RequestServices = CreateServices(); - _requests[1144].Request.Method = "GET"; - _requests[1144].Request.Path = "/apps/b445b/versions/fd647c90-/intents"; - _requests[1145] = new DefaultHttpContext(); - _requests[1145].RequestServices = CreateServices(); - _requests[1145].Request.Method = "GET"; - _requests[1145].Request.Path = "/apps/50450/versions/96a45b30-/listprebuilts"; - _requests[1146] = new DefaultHttpContext(); - _requests[1146].RequestServices = CreateServices(); - _requests[1146].Request.Method = "GET"; - _requests[1146].Request.Path = "/apps/ce1a5/versions/c2113630-/models"; - _requests[1147] = new DefaultHttpContext(); - _requests[1147].RequestServices = CreateServices(); - _requests[1147].Request.Method = "POST"; - _requests[1147].Request.Path = "/apps/63d8e/versions/eb021164-/patternanyentities"; - _requests[1148] = new DefaultHttpContext(); - _requests[1148].RequestServices = CreateServices(); - _requests[1148].Request.Method = "POST"; - _requests[1148].Request.Path = "/apps/57297/versions/57c1bcda-/patternrule"; - _requests[1149] = new DefaultHttpContext(); - _requests[1149].RequestServices = CreateServices(); - _requests[1149].Request.Method = "DELETE"; - _requests[1149].Request.Path = "/apps/521f1/versions/05d51a1e-/patternrules"; - _requests[1150] = new DefaultHttpContext(); - _requests[1150].RequestServices = CreateServices(); - _requests[1150].Request.Method = "GET"; - _requests[1150].Request.Path = "/apps/516fb/versions/0c88edff-/patterns"; - _requests[1151] = new DefaultHttpContext(); - _requests[1151].RequestServices = CreateServices(); - _requests[1151].Request.Method = "GET"; - _requests[1151].Request.Path = "/apps/857d9/versions/a306dd5a-/phraselists"; - _requests[1152] = new DefaultHttpContext(); - _requests[1152].RequestServices = CreateServices(); - _requests[1152].Request.Method = "GET"; - _requests[1152].Request.Path = "/apps/6fdba/versions/2f9d6a9c-/prebuilts"; - _requests[1153] = new DefaultHttpContext(); - _requests[1153].RequestServices = CreateServices(); - _requests[1153].Request.Method = "POST"; - _requests[1153].Request.Path = "/apps/7ffd6/versions/5bf210d7-/regexentities"; - _requests[1154] = new DefaultHttpContext(); - _requests[1154].RequestServices = CreateServices(); - _requests[1154].Request.Method = "DELETE"; - _requests[1154].Request.Path = "/apps/8c9ff/versions/831a3205-/suggest"; - _requests[1155] = new DefaultHttpContext(); - _requests[1155].RequestServices = CreateServices(); - _requests[1155].Request.Method = "GET"; - _requests[1155].Request.Path = "/apps/693c8/versions/c241067e-/train"; - _requests[1156] = new DefaultHttpContext(); - _requests[1156].RequestServices = CreateServices(); - _requests[1156].Request.Method = "POST"; - _requests[1156].Request.Path = "/deletedstorage/cb1a70db-89b2-455b-9/sas/70b3797b-4f30-4d31-/recover"; - _requests[1157] = new DefaultHttpContext(); - _requests[1157].RequestServices = CreateServices(); - _requests[1157].Request.Method = "GET"; - _requests[1157].Request.Path = "/jobs/0e108/tasks/88d58e/files"; - _requests[1158] = new DefaultHttpContext(); - _requests[1158].RequestServices = CreateServices(); - _requests[1158].Request.Method = "POST"; - _requests[1158].Request.Path = "/jobs/18466/tasks/63c04d/reactivate"; - _requests[1159] = new DefaultHttpContext(); - _requests[1159].RequestServices = CreateServices(); - _requests[1159].Request.Method = "GET"; - _requests[1159].Request.Path = "/jobs/9b951/tasks/2265ff/subtasksinfo"; - _requests[1160] = new DefaultHttpContext(); - _requests[1160].RequestServices = CreateServices(); - _requests[1160].Request.Method = "POST"; - _requests[1160].Request.Path = "/jobs/d5c44/tasks/9a9754/terminate"; - _requests[1161] = new DefaultHttpContext(); - _requests[1161].RequestServices = CreateServices(); - _requests[1161].Request.Method = "POST"; - _requests[1161].Request.Path = "/persongroups/dcf47d82-5815/persons/d5081906/persistedFaces"; - _requests[1162] = new DefaultHttpContext(); - _requests[1162].RequestServices = CreateServices(); - _requests[1162].Request.Method = "POST"; - _requests[1162].Request.Path = "/pools/2bc514/nodes/cbf9e7/disablescheduling"; - _requests[1163] = new DefaultHttpContext(); - _requests[1163].RequestServices = CreateServices(); - _requests[1163].Request.Method = "POST"; - _requests[1163].Request.Path = "/pools/2254d4/nodes/f1200b/enablescheduling"; - _requests[1164] = new DefaultHttpContext(); - _requests[1164].RequestServices = CreateServices(); - _requests[1164].Request.Method = "GET"; - _requests[1164].Request.Path = "/pools/a10321/nodes/a4bb4c/files"; - _requests[1165] = new DefaultHttpContext(); - _requests[1165].RequestServices = CreateServices(); - _requests[1165].Request.Method = "GET"; - _requests[1165].Request.Path = "/pools/ce11db/nodes/c2fe80/rdp"; - _requests[1166] = new DefaultHttpContext(); - _requests[1166].RequestServices = CreateServices(); - _requests[1166].Request.Method = "POST"; - _requests[1166].Request.Path = "/pools/6bae41/nodes/03edcf/reboot"; - _requests[1167] = new DefaultHttpContext(); - _requests[1167].RequestServices = CreateServices(); - _requests[1167].Request.Method = "POST"; - _requests[1167].Request.Path = "/pools/f544e3/nodes/1d8cbe/reimage"; - _requests[1168] = new DefaultHttpContext(); - _requests[1168].RequestServices = CreateServices(); - _requests[1168].Request.Method = "GET"; - _requests[1168].Request.Path = "/pools/3d2f64/nodes/649e75/remoteloginsettings"; - _requests[1169] = new DefaultHttpContext(); - _requests[1169].RequestServices = CreateServices(); - _requests[1169].Request.Method = "POST"; - _requests[1169].Request.Path = "/pools/38833a/nodes/75f2dd/uploadbatchservicelogs"; - _requests[1170] = new DefaultHttpContext(); - _requests[1170].RequestServices = CreateServices(); - _requests[1170].Request.Method = "POST"; - _requests[1170].Request.Path = "/pools/538578/nodes/8d1705/users"; - _requests[1171] = new DefaultHttpContext(); - _requests[1171].RequestServices = CreateServices(); - _requests[1171].Request.Method = "POST"; - _requests[1171].Request.Path = "/projects/1c956b4c-/iterations/45669eb1-65/export"; - _requests[1172] = new DefaultHttpContext(); - _requests[1172].RequestServices = CreateServices(); - _requests[1172].Request.Method = "GET"; - _requests[1172].Request.Path = "/projects/ccf181f1-/iterations/689d726b-51/performance"; - _requests[1173] = new DefaultHttpContext(); - _requests[1173].RequestServices = CreateServices(); - _requests[1173].Request.Method = "POST"; - _requests[1173].Request.Path = "/subscriptions/6d4709ff-9f06-/providers/ad930340-206f-4759-bf97-d/register"; - _requests[1174] = new DefaultHttpContext(); - _requests[1174].RequestServices = CreateServices(); - _requests[1174].Request.Method = "POST"; - _requests[1174].Request.Path = "/subscriptions/e571b869-cb98-/providers/121c5fd7-0bb0-4788-8438-9/unregister"; - _requests[1175] = new DefaultHttpContext(); - _requests[1175].RequestServices = CreateServices(); - _requests[1175].Request.Method = "POST"; - _requests[1175].Request.Path = "/subscriptions/e00d42cf-92cb-/resourcegroups/c1e7b1ba-4946-470/exportTemplate"; - _requests[1176] = new DefaultHttpContext(); - _requests[1176].RequestServices = CreateServices(); - _requests[1176].Request.Method = "POST"; - _requests[1176].Request.Path = "/subscriptions/8659c95b-be45-/resourceGroups/981f02b6-b2b2-4f1/moveResources"; - _requests[1177] = new DefaultHttpContext(); - _requests[1177].RequestServices = CreateServices(); - _requests[1177].Request.Method = "GET"; - _requests[1177].Request.Path = "/subscriptions/2f86c3ff-2755-/resourceGroups/52615dd5-49eb-40a/resources"; - _requests[1178] = new DefaultHttpContext(); - _requests[1178].RequestServices = CreateServices(); - _requests[1178].Request.Method = "POST"; - _requests[1178].Request.Path = "/subscriptions/a37b5feb-2336-/resourceGroups/36f1804b-cdd4-4aa/validateMoveResources"; - _requests[1179] = new DefaultHttpContext(); - _requests[1179].RequestServices = CreateServices(); - _requests[1179].Request.Method = "GET"; - _requests[1179].Request.Path = "/projects/62679b4f-/iterations/046acfe4-ba/performance/images"; - _requests[1180] = new DefaultHttpContext(); - _requests[1180].RequestServices = CreateServices(); - _requests[1180].Request.Method = "GET"; - _requests[1180].Request.Path = "/projects/d08c6e49-/iterations/43dca4e5-80/performance/images/count"; - _requests[1181] = new DefaultHttpContext(); - _requests[1181].RequestServices = CreateServices(); - _requests[1181].Request.Method = "GET"; - _requests[1181].Request.Path = "/subscriptions/1a87abcf-14d2-/resourceGroup/1e7e1fca-eec0-4da/providers/microsoft.insights/workbooks"; - _requests[1182] = new DefaultHttpContext(); - _requests[1182].RequestServices = CreateServices(); - _requests[1182].Request.Method = "GET"; - _requests[1182].Request.Path = "/subscriptions/16d36dbd-fef5-/resourceGroups/1cb47c8b-/providers/Microsoft.DataMigration/services"; - _requests[1183] = new DefaultHttpContext(); - _requests[1183].RequestServices = CreateServices(); - _requests[1183].Request.Method = "PUT"; - _requests[1183].Request.Path = "/subscriptions/68332ca9-7e3e-/resourceGroups/52734d14-25c0/providers/Microsoft.Advisor/configurations"; - _requests[1184] = new DefaultHttpContext(); - _requests[1184].RequestServices = CreateServices(); - _requests[1184].Request.Method = "GET"; - _requests[1184].Request.Path = "/subscriptions/d3d41ab1-5cae-/resourcegroups/aa4fb920-3866/providers/Microsoft.AzureBridge.Admin/activations"; - _requests[1185] = new DefaultHttpContext(); - _requests[1185].RequestServices = CreateServices(); - _requests[1185].Request.Method = "GET"; - _requests[1185].Request.Path = "/subscriptions/42d8fc74-6ee6-/resourceGroups/91e8811c-06fc/providers/Microsoft.AzureStack/registrations"; - _requests[1186] = new DefaultHttpContext(); - _requests[1186].RequestServices = CreateServices(); - _requests[1186].Request.Method = "GET"; - _requests[1186].Request.Path = "/subscriptions/1787cecf-c83e-/resourceGroups/577435bb-d6f9-48d/providers/Microsoft.AAD/domainServices"; - _requests[1187] = new DefaultHttpContext(); - _requests[1187].RequestServices = CreateServices(); - _requests[1187].Request.Method = "GET"; - _requests[1187].Request.Path = "/subscriptions/953056a4-8c58-/resourceGroups/cd24b46f-ca8e-4f0/providers/Microsoft.AnalysisServices/servers"; - _requests[1188] = new DefaultHttpContext(); - _requests[1188].RequestServices = CreateServices(); - _requests[1188].Request.Method = "GET"; - _requests[1188].Request.Path = "/subscriptions/25275695-5a8f-/resourceGroups/12278910-c572-497/providers/Microsoft.ApiManagement/service"; - _requests[1189] = new DefaultHttpContext(); - _requests[1189].RequestServices = CreateServices(); - _requests[1189].Request.Method = "GET"; - _requests[1189].Request.Path = "/subscriptions/18187bd6-4efc-/resourceGroups/2acad2e1-36b1-40a/providers/Microsoft.Authorization/locks"; - _requests[1190] = new DefaultHttpContext(); - _requests[1190].RequestServices = CreateServices(); - _requests[1190].Request.Method = "GET"; - _requests[1190].Request.Path = "/subscriptions/af628ae2-3fa6-/resourcegroups/a23d3377-a9f1-4b8/providers/Microsoft.Authorization/permissions"; - _requests[1191] = new DefaultHttpContext(); - _requests[1191].RequestServices = CreateServices(); - _requests[1191].Request.Method = "GET"; - _requests[1191].Request.Path = "/subscriptions/6b1db4a0-5904-/resourceGroups/5bc3723f-ceca-435/providers/Microsoft.Authorization/policyAssignments"; - _requests[1192] = new DefaultHttpContext(); - _requests[1192].RequestServices = CreateServices(); - _requests[1192].Request.Method = "GET"; - _requests[1192].Request.Path = "/subscriptions/6e0f2c31-6297-/resourceGroups/67a4d528-f06b-448/providers/Microsoft.Authorization/roleAssignments"; - _requests[1193] = new DefaultHttpContext(); - _requests[1193].RequestServices = CreateServices(); - _requests[1193].Request.Method = "GET"; - _requests[1193].Request.Path = "/subscriptions/531323ae-8757-/resourceGroups/a8740389-46f8-466/providers/Microsoft.Automation/automationAccounts"; - _requests[1194] = new DefaultHttpContext(); - _requests[1194].RequestServices = CreateServices(); - _requests[1194].Request.Method = "GET"; - _requests[1194].Request.Path = "/subscriptions/bf493720-10a6-/resourcegroups/1b954090-38fe-48d/providers/Microsoft.Backup.Admin/backupLocations"; - _requests[1195] = new DefaultHttpContext(); - _requests[1195].RequestServices = CreateServices(); - _requests[1195].Request.Method = "GET"; - _requests[1195].Request.Path = "/subscriptions/5ab346f0-a0b5-/resourceGroups/bca5bf7e-0ab6-4fe/providers/Microsoft.Batch/batchAccounts"; - _requests[1196] = new DefaultHttpContext(); - _requests[1196].RequestServices = CreateServices(); - _requests[1196].Request.Method = "GET"; - _requests[1196].Request.Path = "/subscriptions/3b809873-9882-/resourceGroups/29cc70fa-c27a-425/providers/Microsoft.BatchAI/clusters"; - _requests[1197] = new DefaultHttpContext(); - _requests[1197].RequestServices = CreateServices(); - _requests[1197].Request.Method = "GET"; - _requests[1197].Request.Path = "/subscriptions/26856e5b-dd0d-/resourceGroups/34646087-81ab-409/providers/Microsoft.BatchAI/fileServers"; - _requests[1198] = new DefaultHttpContext(); - _requests[1198].RequestServices = CreateServices(); - _requests[1198].Request.Method = "GET"; - _requests[1198].Request.Path = "/subscriptions/3433626e-9aba-/resourceGroups/2c01809f-e22e-494/providers/Microsoft.BatchAI/jobs"; - _requests[1199] = new DefaultHttpContext(); - _requests[1199].RequestServices = CreateServices(); - _requests[1199].Request.Method = "GET"; - _requests[1199].Request.Path = "/subscriptions/00d05550-8b8a-/resourceGroups/43a4debc-a57a-4dd/providers/Microsoft.BatchAI/workspaces"; - _requests[1200] = new DefaultHttpContext(); - _requests[1200].RequestServices = CreateServices(); - _requests[1200].Request.Method = "GET"; - _requests[1200].Request.Path = "/subscriptions/b7889ffe-8687-/resourceGroups/c93ec405-c008-497/providers/Microsoft.BotService/botServices"; - _requests[1201] = new DefaultHttpContext(); - _requests[1201].RequestServices = CreateServices(); - _requests[1201].Request.Method = "GET"; - _requests[1201].Request.Path = "/subscriptions/3a902c5a-2c6a-/resourceGroups/f260f9a7-b269-459/providers/Microsoft.Cache/Redis"; - _requests[1202] = new DefaultHttpContext(); - _requests[1202].RequestServices = CreateServices(); - _requests[1202].Request.Method = "GET"; - _requests[1202].Request.Path = "/subscriptions/b0269cb3-5022-/resourceGroups/acf79ffa-ef39-453/providers/Microsoft.Cdn/profiles"; - _requests[1203] = new DefaultHttpContext(); - _requests[1203].RequestServices = CreateServices(); - _requests[1203].Request.Method = "GET"; - _requests[1203].Request.Path = "/subscriptions/ece5c766-5528-/resourceGroups/21db8770-29a4-433/providers/Microsoft.CertificateRegistration/certificateOrders"; - _requests[1204] = new DefaultHttpContext(); - _requests[1204].RequestServices = CreateServices(); - _requests[1204].Request.Method = "GET"; - _requests[1204].Request.Path = "/subscriptions/f5319a41-4b71-/resourceGroups/4e59842e-5154-498/providers/Microsoft.CognitiveServices/accounts"; - _requests[1205] = new DefaultHttpContext(); - _requests[1205].RequestServices = CreateServices(); - _requests[1205].Request.Method = "GET"; - _requests[1205].Request.Path = "/subscriptions/150febfe-f149-/resourceGroups/34503c4e-5fde-469/providers/Microsoft.Compute/availabilitySets"; - _requests[1206] = new DefaultHttpContext(); - _requests[1206].RequestServices = CreateServices(); - _requests[1206].Request.Method = "GET"; - _requests[1206].Request.Path = "/subscriptions/6a8a4b2b-9385-/resourceGroups/b4b2fa73-fb6b-420/providers/Microsoft.Compute/disks"; - _requests[1207] = new DefaultHttpContext(); - _requests[1207].RequestServices = CreateServices(); - _requests[1207].Request.Method = "GET"; - _requests[1207].Request.Path = "/subscriptions/a9c785b3-10ed-/resourceGroups/bb9d826a-412e-4ca/providers/Microsoft.Compute/galleries"; - _requests[1208] = new DefaultHttpContext(); - _requests[1208].RequestServices = CreateServices(); - _requests[1208].Request.Method = "GET"; - _requests[1208].Request.Path = "/subscriptions/4a248e72-eecf-/resourceGroups/e83064d0-2c6c-487/providers/Microsoft.Compute/images"; - _requests[1209] = new DefaultHttpContext(); - _requests[1209].RequestServices = CreateServices(); - _requests[1209].Request.Method = "GET"; - _requests[1209].Request.Path = "/subscriptions/acd865a6-a06d-/resourceGroups/81000088-936b-4aa/providers/Microsoft.Compute/snapshots"; - _requests[1210] = new DefaultHttpContext(); - _requests[1210].RequestServices = CreateServices(); - _requests[1210].Request.Method = "GET"; - _requests[1210].Request.Path = "/subscriptions/042cd01b-4ee2-/resourceGroups/3df06421-b98d-4f9/providers/Microsoft.Compute/virtualMachines"; - _requests[1211] = new DefaultHttpContext(); - _requests[1211].RequestServices = CreateServices(); - _requests[1211].Request.Method = "GET"; - _requests[1211].Request.Path = "/subscriptions/b824d05f-25aa-/resourceGroups/5c97081c-b8ae-436/providers/Microsoft.Compute/virtualMachineScaleSets"; - _requests[1212] = new DefaultHttpContext(); - _requests[1212].RequestServices = CreateServices(); - _requests[1212].Request.Method = "GET"; - _requests[1212].Request.Path = "/subscriptions/f6196b02-e304-/resourceGroups/32b706ed-7449-413/providers/Microsoft.Consumption/budgets"; - _requests[1213] = new DefaultHttpContext(); - _requests[1213].RequestServices = CreateServices(); - _requests[1213].Request.Method = "GET"; - _requests[1213].Request.Path = "/subscriptions/79905abb-5336-/resourceGroups/9a874946-08e3-4c6/providers/Microsoft.ContainerInstance/containerGroups"; - _requests[1214] = new DefaultHttpContext(); - _requests[1214].RequestServices = CreateServices(); - _requests[1214].Request.Method = "GET"; - _requests[1214].Request.Path = "/subscriptions/389ad012-cc1a-/resourceGroups/3af762f9-f47e-43b/providers/Microsoft.ContainerRegistry/registries"; - _requests[1215] = new DefaultHttpContext(); - _requests[1215].RequestServices = CreateServices(); - _requests[1215].Request.Method = "GET"; - _requests[1215].Request.Path = "/subscriptions/cbdeedef-b8a4-/resourceGroups/cd81fe05-617a-415/providers/Microsoft.ContainerService/containerServices"; - _requests[1216] = new DefaultHttpContext(); - _requests[1216].RequestServices = CreateServices(); - _requests[1216].Request.Method = "GET"; - _requests[1216].Request.Path = "/subscriptions/3f5263a9-5dfe-/resourceGroups/05d484f5-cc28-4af/providers/Microsoft.ContainerService/managedClusters"; - _requests[1217] = new DefaultHttpContext(); - _requests[1217].RequestServices = CreateServices(); - _requests[1217].Request.Method = "GET"; - _requests[1217].Request.Path = "/subscriptions/f6342c6e-bfdd-/resourceGroups/ff2efcc2-61e2-42f/providers/Microsoft.CustomerInsights/hubs"; - _requests[1218] = new DefaultHttpContext(); - _requests[1218].RequestServices = CreateServices(); - _requests[1218].Request.Method = "GET"; - _requests[1218].Request.Path = "/subscriptions/46ef41ac-4401-/resourceGroups/faac4547-54ec-4ce/providers/Microsoft.DataBox/jobs"; - _requests[1219] = new DefaultHttpContext(); - _requests[1219].RequestServices = CreateServices(); - _requests[1219].Request.Method = "GET"; - _requests[1219].Request.Path = "/subscriptions/1a6c99b5-b0d7-/resourceGroups/73b547fe-318c-462/providers/Microsoft.Databricks/workspaces"; - _requests[1220] = new DefaultHttpContext(); - _requests[1220].RequestServices = CreateServices(); - _requests[1220].Request.Method = "GET"; - _requests[1220].Request.Path = "/subscriptions/14643394-f9a3-/resourceGroups/b220db38-9f95-450/providers/Microsoft.DataCatalog/catalogs"; - _requests[1221] = new DefaultHttpContext(); - _requests[1221].RequestServices = CreateServices(); - _requests[1221].Request.Method = "GET"; - _requests[1221].Request.Path = "/subscriptions/22a34586-afc3-/resourceGroups/9935f3eb-bb68-41d/providers/Microsoft.DataFactory/factories"; - _requests[1222] = new DefaultHttpContext(); - _requests[1222].RequestServices = CreateServices(); - _requests[1222].Request.Method = "GET"; - _requests[1222].Request.Path = "/subscriptions/86da8c24-af75-/resourceGroups/584a6a98-a37b-49f/providers/Microsoft.DataLakeAnalytics/accounts"; - _requests[1223] = new DefaultHttpContext(); - _requests[1223].RequestServices = CreateServices(); - _requests[1223].Request.Method = "GET"; - _requests[1223].Request.Path = "/subscriptions/52a46a7c-79c2-/resourceGroups/2eae0716-d403-4e5/providers/Microsoft.DataLakeStore/accounts"; - _requests[1224] = new DefaultHttpContext(); - _requests[1224].RequestServices = CreateServices(); - _requests[1224].Request.Method = "GET"; - _requests[1224].Request.Path = "/subscriptions/18325335-e5f3-/resourceGroups/b102d1c0-141d-4ba/providers/Microsoft.DBforMySQL/servers"; - _requests[1225] = new DefaultHttpContext(); - _requests[1225].RequestServices = CreateServices(); - _requests[1225].Request.Method = "GET"; - _requests[1225].Request.Path = "/subscriptions/2f1a561f-72d4-/resourceGroups/b405e3f1-8b9a-4f9/providers/Microsoft.DBforPostgreSQL/servers"; - _requests[1226] = new DefaultHttpContext(); - _requests[1226].RequestServices = CreateServices(); - _requests[1226].Request.Method = "GET"; - _requests[1226].Request.Path = "/subscriptions/ff672dfd-afb0-/resourceGroups/41849e9c-002f-421/providers/Microsoft.Devices/IotHubs"; - _requests[1227] = new DefaultHttpContext(); - _requests[1227].RequestServices = CreateServices(); - _requests[1227].Request.Method = "GET"; - _requests[1227].Request.Path = "/subscriptions/c5b5dbec-69bf-/resourceGroups/35f27c20-7337-434/providers/Microsoft.Devices/provisioningServices"; - _requests[1228] = new DefaultHttpContext(); - _requests[1228].RequestServices = CreateServices(); - _requests[1228].Request.Method = "GET"; - _requests[1228].Request.Path = "/subscriptions/b566fb6c-a2a7-/resourceGroups/c2a27d96-b00b-435/providers/Microsoft.DevTestLab/labs"; - _requests[1229] = new DefaultHttpContext(); - _requests[1229].RequestServices = CreateServices(); - _requests[1229].Request.Method = "GET"; - _requests[1229].Request.Path = "/subscriptions/ac2a5b27-7986-/resourceGroups/80f80cc2-b012-44d/providers/Microsoft.DevTestLab/schedules"; - _requests[1230] = new DefaultHttpContext(); - _requests[1230].RequestServices = CreateServices(); - _requests[1230].Request.Method = "GET"; - _requests[1230].Request.Path = "/subscriptions/a6f9149a-c5d9-/resourceGroups/b183fb6f-4265-4e4/providers/Microsoft.DocumentDB/databaseAccounts"; - _requests[1231] = new DefaultHttpContext(); - _requests[1231].RequestServices = CreateServices(); - _requests[1231].Request.Method = "GET"; - _requests[1231].Request.Path = "/subscriptions/d0973a18-8d34-/resourceGroups/30904cef-f333-405/providers/Microsoft.DomainRegistration/domains"; - _requests[1232] = new DefaultHttpContext(); - _requests[1232].RequestServices = CreateServices(); - _requests[1232].Request.Method = "GET"; - _requests[1232].Request.Path = "/subscriptions/c0ebe51c-0677-/resourceGroups/6e283f4c-6a39-498/providers/Microsoft.EventGrid/eventSubscriptions"; - _requests[1233] = new DefaultHttpContext(); - _requests[1233].RequestServices = CreateServices(); - _requests[1233].Request.Method = "GET"; - _requests[1233].Request.Path = "/subscriptions/a8506573-d37d-/resourceGroups/b34c71f5-fbda-4a1/providers/Microsoft.EventGrid/topics"; - _requests[1234] = new DefaultHttpContext(); - _requests[1234].RequestServices = CreateServices(); - _requests[1234].Request.Method = "GET"; - _requests[1234].Request.Path = "/subscriptions/3148c771-0ced-/resourceGroups/ce0a911c-2c34-45a/providers/Microsoft.EventHub/clusters"; - _requests[1235] = new DefaultHttpContext(); - _requests[1235].RequestServices = CreateServices(); - _requests[1235].Request.Method = "GET"; - _requests[1235].Request.Path = "/subscriptions/dd07c381-221f-/resourceGroups/4d470412-5400-433/providers/Microsoft.EventHub/namespaces"; - _requests[1236] = new DefaultHttpContext(); - _requests[1236].RequestServices = CreateServices(); - _requests[1236].Request.Method = "PUT"; - _requests[1236].Request.Path = "/subscriptions/f0618325-695f-/resourceGroups/97807d4a-91da-4fe/providers/Microsoft.Fabric.Admin/fabricLocations"; - _requests[1237] = new DefaultHttpContext(); - _requests[1237].RequestServices = CreateServices(); - _requests[1237].Request.Method = "GET"; - _requests[1237].Request.Path = "/subscriptions/e61816de-246a-/resourceGroups/065d002c-741b-42b/providers/Microsoft.HanaOnAzure/hanaInstances"; - _requests[1238] = new DefaultHttpContext(); - _requests[1238].RequestServices = CreateServices(); - _requests[1238].Request.Method = "GET"; - _requests[1238].Request.Path = "/subscriptions/1751d637-5178-/resourceGroups/f3462b87-ce46-413/providers/Microsoft.HDInsight/clusters"; - _requests[1239] = new DefaultHttpContext(); - _requests[1239].RequestServices = CreateServices(); - _requests[1239].Request.Method = "GET"; - _requests[1239].Request.Path = "/subscriptions/ecfb48f0-5896-/resourceGroups/9523f627-5667-43b/providers/Microsoft.ImportExport/jobs"; - _requests[1240] = new DefaultHttpContext(); - _requests[1240].RequestServices = CreateServices(); - _requests[1240].Request.Method = "GET"; - _requests[1240].Request.Path = "/subscriptions/0b32f3b8-68aa-/resourceGroups/a36d9239-56d8-4a0/providers/Microsoft.InfrastructureInsights.Admin/regionHealths"; - _requests[1241] = new DefaultHttpContext(); - _requests[1241].RequestServices = CreateServices(); - _requests[1241].Request.Method = "GET"; - _requests[1241].Request.Path = "/subscriptions/a9268007-a5e4-/resourceGroups/5051e2f7-26c9-460/providers/microsoft.insights/actionGroups"; - _requests[1242] = new DefaultHttpContext(); - _requests[1242].RequestServices = CreateServices(); - _requests[1242].Request.Method = "GET"; - _requests[1242].Request.Path = "/subscriptions/cfbbaff7-60a3-/resourceGroups/235b1959-37a1-4a8/providers/microsoft.insights/activityLogAlerts"; - _requests[1243] = new DefaultHttpContext(); - _requests[1243].RequestServices = CreateServices(); - _requests[1243].Request.Method = "GET"; - _requests[1243].Request.Path = "/subscriptions/9edc865f-694f-/resourcegroups/ff51624e-2a2b-45c/providers/microsoft.insights/alertrules"; - _requests[1244] = new DefaultHttpContext(); - _requests[1244].RequestServices = CreateServices(); - _requests[1244].Request.Method = "GET"; - _requests[1244].Request.Path = "/subscriptions/2c0da8e2-9127-/resourcegroups/1ba65ef9-852c-4f0/providers/microsoft.insights/autoscalesettings"; - _requests[1245] = new DefaultHttpContext(); - _requests[1245].RequestServices = CreateServices(); - _requests[1245].Request.Method = "GET"; - _requests[1245].Request.Path = "/subscriptions/9e187b9f-1995-/resourceGroups/59bf01cc-22b1-424/providers/Microsoft.Insights/components"; - _requests[1246] = new DefaultHttpContext(); - _requests[1246].RequestServices = CreateServices(); - _requests[1246].Request.Method = "GET"; - _requests[1246].Request.Path = "/subscriptions/2d037583-e87f-/resourceGroups/0a2f36c1-0680-4f8/providers/Microsoft.Insights/metricAlerts"; - _requests[1247] = new DefaultHttpContext(); - _requests[1247].RequestServices = CreateServices(); - _requests[1247].Request.Method = "GET"; - _requests[1247].Request.Path = "/subscriptions/db5a2e59-524f-/resourcegroups/b4df6724-b958-417/providers/microsoft.insights/scheduledQueryRules"; - _requests[1248] = new DefaultHttpContext(); - _requests[1248].RequestServices = CreateServices(); - _requests[1248].Request.Method = "GET"; - _requests[1248].Request.Path = "/subscriptions/89ad49ed-e83e-/resourceGroups/25a9d85c-d8b0-417/providers/Microsoft.Insights/webtests"; - _requests[1249] = new DefaultHttpContext(); - _requests[1249].RequestServices = CreateServices(); - _requests[1249].Request.Method = "GET"; - _requests[1249].Request.Path = "/subscriptions/6502c925-4334-/resourceGroups/b9e5f912-5f91-418/providers/Microsoft.IoTCentral/IoTApps"; - _requests[1250] = new DefaultHttpContext(); - _requests[1250].RequestServices = CreateServices(); - _requests[1250].Request.Method = "GET"; - _requests[1250].Request.Path = "/subscriptions/1c0cb55f-a6ae-/resourceGroups/304b9162-8f2b-408/providers/Microsoft.IoTSpaces/Graph"; - _requests[1251] = new DefaultHttpContext(); - _requests[1251].RequestServices = CreateServices(); - _requests[1251].Request.Method = "GET"; - _requests[1251].Request.Path = "/subscriptions/e46ac7e7-795b-/resourceGroups/45d2fb29-3291-498/providers/Microsoft.KeyVault/vaults"; - _requests[1252] = new DefaultHttpContext(); - _requests[1252].RequestServices = CreateServices(); - _requests[1252].Request.Method = "GET"; - _requests[1252].Request.Path = "/subscriptions/167ca4c9-3672-/resourceGroups/1441208e-c8b9-4ff/providers/Microsoft.Logic/integrationAccounts"; - _requests[1253] = new DefaultHttpContext(); - _requests[1253].RequestServices = CreateServices(); - _requests[1253].Request.Method = "GET"; - _requests[1253].Request.Path = "/subscriptions/e4178fb4-e27c-/resourceGroups/89656195-ef36-4f5/providers/Microsoft.Logic/workflows"; - _requests[1254] = new DefaultHttpContext(); - _requests[1254].RequestServices = CreateServices(); - _requests[1254].Request.Method = "GET"; - _requests[1254].Request.Path = "/subscriptions/574591eb-2596-/resourceGroups/29936e07-0722-441/providers/Microsoft.MachineLearning/commitmentPlans"; - _requests[1255] = new DefaultHttpContext(); - _requests[1255].RequestServices = CreateServices(); - _requests[1255].Request.Method = "GET"; - _requests[1255].Request.Path = "/subscriptions/a2ded099-7019-/resourceGroups/385f4561-7c09-476/providers/Microsoft.MachineLearning/webServices"; - _requests[1256] = new DefaultHttpContext(); - _requests[1256].RequestServices = CreateServices(); - _requests[1256].Request.Method = "GET"; - _requests[1256].Request.Path = "/subscriptions/7d449075-0295-/resourceGroups/d0620f6a-25e6-4d3/providers/Microsoft.MachineLearning/workspaces"; - _requests[1257] = new DefaultHttpContext(); - _requests[1257].RequestServices = CreateServices(); - _requests[1257].Request.Method = "GET"; - _requests[1257].Request.Path = "/subscriptions/76e0f487-693c-/resourceGroups/18b6b5e0-5b5f-446/providers/Microsoft.MachineLearningCompute/operationalizationClusters"; - _requests[1258] = new DefaultHttpContext(); - _requests[1258].RequestServices = CreateServices(); - _requests[1258].Request.Method = "GET"; - _requests[1258].Request.Path = "/subscriptions/37dee06d-c936-/resourceGroups/e2ff6a5a-c3d2-4a8/providers/Microsoft.MachineLearningExperimentation/accounts"; - _requests[1259] = new DefaultHttpContext(); - _requests[1259].RequestServices = CreateServices(); - _requests[1259].Request.Method = "GET"; - _requests[1259].Request.Path = "/subscriptions/637e3eca-27e3-/resourceGroups/c9c20681-a00b-4f3/providers/Microsoft.MachineLearningServices/workspaces"; - _requests[1260] = new DefaultHttpContext(); - _requests[1260].RequestServices = CreateServices(); - _requests[1260].Request.Method = "GET"; - _requests[1260].Request.Path = "/subscriptions/39e98be4-1048-/resourceGroups/3e9694f2-9201-4a5/providers/Microsoft.ManagedIdentity/userAssignedIdentities"; - _requests[1261] = new DefaultHttpContext(); - _requests[1261].RequestServices = CreateServices(); - _requests[1261].Request.Method = "GET"; - _requests[1261].Request.Path = "/subscriptions/78e39128-ec4c-/resourceGroups/1b1899e6-ef07-428/providers/Microsoft.Maps/accounts"; - _requests[1262] = new DefaultHttpContext(); - _requests[1262].RequestServices = CreateServices(); - _requests[1262].Request.Method = "GET"; - _requests[1262].Request.Path = "/subscriptions/2d3afae5-7f23-/resourceGroups/6f322b80-a914-4a9/providers/Microsoft.Media/mediaservices"; - _requests[1263] = new DefaultHttpContext(); - _requests[1263].RequestServices = CreateServices(); - _requests[1263].Request.Method = "GET"; - _requests[1263].Request.Path = "/subscriptions/3d2963ff-8480-/resourcegroups/cf6ae158-e5af-4a5/providers/Microsoft.Migrate/projects"; - _requests[1264] = new DefaultHttpContext(); - _requests[1264].RequestServices = CreateServices(); - _requests[1264].Request.Method = "GET"; - _requests[1264].Request.Path = "/subscriptions/e4c08a77-0247-/resourceGroups/37743bb1-3f9f-49b/providers/Microsoft.Network/applicationGateways"; - _requests[1265] = new DefaultHttpContext(); - _requests[1265].RequestServices = CreateServices(); - _requests[1265].Request.Method = "GET"; - _requests[1265].Request.Path = "/subscriptions/bf33695a-38d4-/resourceGroups/35fbaf39-68a4-4c0/providers/Microsoft.Network/applicationSecurityGroups"; - _requests[1266] = new DefaultHttpContext(); - _requests[1266].RequestServices = CreateServices(); - _requests[1266].Request.Method = "GET"; - _requests[1266].Request.Path = "/subscriptions/5501a4cd-ba43-/resourceGroups/c2c3ae77-7b2b-4a8/providers/Microsoft.Network/connections"; - _requests[1267] = new DefaultHttpContext(); - _requests[1267].RequestServices = CreateServices(); - _requests[1267].Request.Method = "GET"; - _requests[1267].Request.Path = "/subscriptions/f3c38994-3875-/resourceGroups/7850c9c0-cb7b-4bf/providers/Microsoft.Network/ddosProtectionPlans"; - _requests[1268] = new DefaultHttpContext(); - _requests[1268].RequestServices = CreateServices(); - _requests[1268].Request.Method = "GET"; - _requests[1268].Request.Path = "/subscriptions/9418d858-647f-/resourceGroups/18b82e96-92b2-4ea/providers/Microsoft.Network/dnsZones"; - _requests[1269] = new DefaultHttpContext(); - _requests[1269].RequestServices = CreateServices(); - _requests[1269].Request.Method = "GET"; - _requests[1269].Request.Path = "/subscriptions/23b006b0-81bb-/resourceGroups/6ecd10ac-9875-413/providers/Microsoft.Network/expressRouteCircuits"; - _requests[1270] = new DefaultHttpContext(); - _requests[1270].RequestServices = CreateServices(); - _requests[1270].Request.Method = "GET"; - _requests[1270].Request.Path = "/subscriptions/76e4bcf5-5e74-/resourceGroups/8fa2a50c-d609-4f7/providers/Microsoft.Network/expressRouteCrossConnections"; - _requests[1271] = new DefaultHttpContext(); - _requests[1271].RequestServices = CreateServices(); - _requests[1271].Request.Method = "GET"; - _requests[1271].Request.Path = "/subscriptions/e2da5504-2c5b-/resourceGroups/bedca001-d183-4a9/providers/Microsoft.Network/loadBalancers"; - _requests[1272] = new DefaultHttpContext(); - _requests[1272].RequestServices = CreateServices(); - _requests[1272].Request.Method = "GET"; - _requests[1272].Request.Path = "/subscriptions/0e946a5a-bddc-/resourceGroups/d4a03e81-929c-49f/providers/Microsoft.Network/localNetworkGateways"; - _requests[1273] = new DefaultHttpContext(); - _requests[1273].RequestServices = CreateServices(); - _requests[1273].Request.Method = "GET"; - _requests[1273].Request.Path = "/subscriptions/0a938dd9-a4b5-/resourceGroups/da2af416-93f1-478/providers/Microsoft.Network/networkInterfaces"; - _requests[1274] = new DefaultHttpContext(); - _requests[1274].RequestServices = CreateServices(); - _requests[1274].Request.Method = "GET"; - _requests[1274].Request.Path = "/subscriptions/006749ed-a012-/resourceGroups/3673aedf-2b78-49a/providers/Microsoft.Network/networkSecurityGroups"; - _requests[1275] = new DefaultHttpContext(); - _requests[1275].RequestServices = CreateServices(); - _requests[1275].Request.Method = "GET"; - _requests[1275].Request.Path = "/subscriptions/8896ef10-e4cc-/resourceGroups/58b5c66b-dc05-49a/providers/Microsoft.Network/networkWatchers"; - _requests[1276] = new DefaultHttpContext(); - _requests[1276].RequestServices = CreateServices(); - _requests[1276].Request.Method = "GET"; - _requests[1276].Request.Path = "/subscriptions/d1f03bc5-d92d-/resourceGroups/e82c5fa2-578b-48c/providers/Microsoft.Network/publicIPAddresses"; - _requests[1277] = new DefaultHttpContext(); - _requests[1277].RequestServices = CreateServices(); - _requests[1277].Request.Method = "GET"; - _requests[1277].Request.Path = "/subscriptions/c6479086-8d2b-/resourceGroups/0c200e0f-7dcb-42e/providers/Microsoft.Network/routeFilters"; - _requests[1278] = new DefaultHttpContext(); - _requests[1278].RequestServices = CreateServices(); - _requests[1278].Request.Method = "GET"; - _requests[1278].Request.Path = "/subscriptions/98cff5d0-b407-/resourceGroups/66422938-b32b-4c2/providers/Microsoft.Network/routeTables"; - _requests[1279] = new DefaultHttpContext(); - _requests[1279].RequestServices = CreateServices(); - _requests[1279].Request.Method = "GET"; - _requests[1279].Request.Path = "/subscriptions/e2f9015f-2c64-/resourceGroups/33d1d8ea-a273-46f/providers/Microsoft.Network/trafficmanagerprofiles"; - _requests[1280] = new DefaultHttpContext(); - _requests[1280].RequestServices = CreateServices(); - _requests[1280].Request.Method = "GET"; - _requests[1280].Request.Path = "/subscriptions/8afc8d57-fc63-/resourceGroups/ec0ffa3f-c8bb-48a/providers/Microsoft.Network/virtualNetworkGateways"; - _requests[1281] = new DefaultHttpContext(); - _requests[1281].RequestServices = CreateServices(); - _requests[1281].Request.Method = "GET"; - _requests[1281].Request.Path = "/subscriptions/2b4bf9b6-2a64-/resourceGroups/5f0246e3-efef-487/providers/Microsoft.Network/virtualNetworks"; - _requests[1282] = new DefaultHttpContext(); - _requests[1282].RequestServices = CreateServices(); - _requests[1282].Request.Method = "GET"; - _requests[1282].Request.Path = "/subscriptions/8525363a-914b-/resourceGroups/c8792e1d-c845-416/providers/Microsoft.NotificationHubs/namespaces"; - _requests[1283] = new DefaultHttpContext(); - _requests[1283].RequestServices = CreateServices(); - _requests[1283].Request.Method = "GET"; - _requests[1283].Request.Path = "/subscriptions/4616fc74-97c1-/resourcegroups/96ccfe5e-ec73-46f/providers/Microsoft.OperationalInsights/workspaces"; - _requests[1284] = new DefaultHttpContext(); - _requests[1284].RequestServices = CreateServices(); - _requests[1284].Request.Method = "GET"; - _requests[1284].Request.Path = "/subscriptions/58dcfb4f-f140-/resourcegroups/09ac8467-352a-4fb/providers/Microsoft.OperationsManagement/solutions"; - _requests[1285] = new DefaultHttpContext(); - _requests[1285].RequestServices = CreateServices(); - _requests[1285].Request.Method = "GET"; - _requests[1285].Request.Path = "/subscriptions/7249362d-6103-/resourceGroups/0399ea3f-f37f-497/providers/Microsoft.PowerBI/workspaceCollections"; - _requests[1286] = new DefaultHttpContext(); - _requests[1286].RequestServices = CreateServices(); - _requests[1286].Request.Method = "GET"; - _requests[1286].Request.Path = "/subscriptions/b6bd2100-af0a-/resourceGroups/eb2e32fc-e0e3-48f/providers/Microsoft.PowerBIDedicated/capacities"; - _requests[1287] = new DefaultHttpContext(); - _requests[1287].RequestServices = CreateServices(); - _requests[1287].Request.Method = "GET"; - _requests[1287].Request.Path = "/Subscriptions/f065de3b-03dd-/resourceGroups/a14115d9-ea8b-48d/providers/Microsoft.RecoveryServices/operations"; - _requests[1288] = new DefaultHttpContext(); - _requests[1288].RequestServices = CreateServices(); - _requests[1288].Request.Method = "GET"; - _requests[1288].Request.Path = "/subscriptions/b42eb485-ffd9-/resourceGroups/1446cb59-c069-4c9/providers/Microsoft.RecoveryServices/vaults"; - _requests[1289] = new DefaultHttpContext(); - _requests[1289].RequestServices = CreateServices(); - _requests[1289].Request.Method = "GET"; - _requests[1289].Request.Path = "/subscriptions/f4fc6481-71a3-/resourceGroups/6980e77f-9869-46e/providers/Microsoft.Relay/namespaces"; - _requests[1290] = new DefaultHttpContext(); - _requests[1290].RequestServices = CreateServices(); - _requests[1290].Request.Method = "GET"; - _requests[1290].Request.Path = "/subscriptions/9c794e72-b87c-/resourceGroups/bd3327ac-a2ff-4d4/providers/Microsoft.ResourceHealth/availabilityStatuses"; - _requests[1291] = new DefaultHttpContext(); - _requests[1291].RequestServices = CreateServices(); - _requests[1291].Request.Method = "GET"; - _requests[1291].Request.Path = "/subscriptions/4c8562af-ed4b-/resourcegroups/e52e19d2-aed6-4a7/providers/Microsoft.Resources/deployments"; - _requests[1292] = new DefaultHttpContext(); - _requests[1292].RequestServices = CreateServices(); - _requests[1292].Request.Method = "GET"; - _requests[1292].Request.Path = "/subscriptions/602e2b10-332f-/resourceGroups/fe868954-c4a6-4a3/providers/Microsoft.Scheduler/jobCollections"; - _requests[1293] = new DefaultHttpContext(); - _requests[1293].RequestServices = CreateServices(); - _requests[1293].Request.Method = "GET"; - _requests[1293].Request.Path = "/subscriptions/48613778-0015-/resourceGroups/b1370d9b-bd40-48c/providers/Microsoft.Search/searchServices"; - _requests[1294] = new DefaultHttpContext(); - _requests[1294].RequestServices = CreateServices(); - _requests[1294].Request.Method = "GET"; - _requests[1294].Request.Path = "/subscriptions/ac195450-c529-/resourceGroups/4f9db8ed-98fd-475/providers/Microsoft.Security/alerts"; - _requests[1295] = new DefaultHttpContext(); - _requests[1295].RequestServices = CreateServices(); - _requests[1295].Request.Method = "GET"; - _requests[1295].Request.Path = "/subscriptions/c54b1ec6-3054-/resourceGroups/381abc28-e2e4-417/providers/Microsoft.Security/jitNetworkAccessPolicies"; - _requests[1296] = new DefaultHttpContext(); - _requests[1296].RequestServices = CreateServices(); - _requests[1296].Request.Method = "GET"; - _requests[1296].Request.Path = "/subscriptions/4dbf7447-55aa-/resourceGroups/be8d3997-5dfc-438/providers/Microsoft.Security/pricings"; - _requests[1297] = new DefaultHttpContext(); - _requests[1297].RequestServices = CreateServices(); - _requests[1297].Request.Method = "GET"; - _requests[1297].Request.Path = "/subscriptions/81669e61-441f-/resourceGroups/7f0da9e6-3942-47b/providers/Microsoft.Security/securityContacts"; - _requests[1298] = new DefaultHttpContext(); - _requests[1298].RequestServices = CreateServices(); - _requests[1298].Request.Method = "GET"; - _requests[1298].Request.Path = "/subscriptions/3f62fd31-3004-/resourceGroups/66497d83-93af-4b8/providers/Microsoft.Security/workspaceSettings"; - _requests[1299] = new DefaultHttpContext(); - _requests[1299].RequestServices = CreateServices(); - _requests[1299].Request.Method = "GET"; - _requests[1299].Request.Path = "/subscriptions/dc9aa27e-04bd-/resourceGroups/c0f408c4-976c-4b8/providers/Microsoft.ServerManagement/gateways"; - _requests[1300] = new DefaultHttpContext(); - _requests[1300].RequestServices = CreateServices(); - _requests[1300].Request.Method = "GET"; - _requests[1300].Request.Path = "/subscriptions/108655ea-f84f-/resourceGroups/a998b2fc-e7d9-4f5/providers/Microsoft.ServerManagement/nodes"; - _requests[1301] = new DefaultHttpContext(); - _requests[1301].RequestServices = CreateServices(); - _requests[1301].Request.Method = "GET"; - _requests[1301].Request.Path = "/subscriptions/0bd197e4-0f70-/resourceGroups/b3a683df-34cf-427/providers/Microsoft.ServiceBus/namespaces"; - _requests[1302] = new DefaultHttpContext(); - _requests[1302].RequestServices = CreateServices(); - _requests[1302].Request.Method = "GET"; - _requests[1302].Request.Path = "/subscriptions/e0a8ee49-f819-/resourcegroups/30a5a6ce-e45e-4c0/providers/Microsoft.ServiceFabric/clusters"; - _requests[1303] = new DefaultHttpContext(); - _requests[1303].RequestServices = CreateServices(); - _requests[1303].Request.Method = "GET"; - _requests[1303].Request.Path = "/subscriptions/3859e0d2-dc4c-/resourceGroups/0888d931-8fba-437/providers/Microsoft.SignalRService/SignalR"; - _requests[1304] = new DefaultHttpContext(); - _requests[1304].RequestServices = CreateServices(); - _requests[1304].Request.Method = "GET"; - _requests[1304].Request.Path = "/subscriptions/1d95cbb9-e24a-/resourceGroups/ed25ee12-c091-47d/providers/Microsoft.Solutions/applianceDefinitions"; - _requests[1305] = new DefaultHttpContext(); - _requests[1305].RequestServices = CreateServices(); - _requests[1305].Request.Method = "GET"; - _requests[1305].Request.Path = "/subscriptions/4ef441c7-ccde-/resourceGroups/8bdc45b2-2b53-411/providers/Microsoft.Solutions/appliances"; - _requests[1306] = new DefaultHttpContext(); - _requests[1306].RequestServices = CreateServices(); - _requests[1306].Request.Method = "GET"; - _requests[1306].Request.Path = "/subscriptions/960e5c7c-3d45-/resourceGroups/6196ced3-c339-42c/providers/Microsoft.Solutions/applicationDefinitions"; - _requests[1307] = new DefaultHttpContext(); - _requests[1307].RequestServices = CreateServices(); - _requests[1307].Request.Method = "GET"; - _requests[1307].Request.Path = "/subscriptions/ee1d9e98-f02b-/resourceGroups/208941c0-377a-4e2/providers/Microsoft.Solutions/applications"; - _requests[1308] = new DefaultHttpContext(); - _requests[1308].RequestServices = CreateServices(); - _requests[1308].Request.Method = "GET"; - _requests[1308].Request.Path = "/subscriptions/fd850ce4-6f1a-/resourceGroups/54492495-f64b-47a/providers/Microsoft.Sql/managedInstances"; - _requests[1309] = new DefaultHttpContext(); - _requests[1309].RequestServices = CreateServices(); - _requests[1309].Request.Method = "GET"; - _requests[1309].Request.Path = "/subscriptions/7858eadb-4005-/resourceGroups/31d0c12f-fcfb-49a/providers/Microsoft.Sql/servers"; - _requests[1310] = new DefaultHttpContext(); - _requests[1310].RequestServices = CreateServices(); - _requests[1310].Request.Method = "GET"; - _requests[1310].Request.Path = "/subscriptions/79ef7c72-1050-/resourcegroups/3810870f-6103-455/providers/Microsoft.Storage.Admin/farms"; - _requests[1311] = new DefaultHttpContext(); - _requests[1311].RequestServices = CreateServices(); - _requests[1311].Request.Method = "GET"; - _requests[1311].Request.Path = "/subscriptions/27220928-227f-/resourceGroups/865dda6d-2523-477/providers/Microsoft.Storage/storageAccounts"; - _requests[1312] = new DefaultHttpContext(); - _requests[1312].RequestServices = CreateServices(); - _requests[1312].Request.Method = "GET"; - _requests[1312].Request.Path = "/subscriptions/59e1b819-7861-/resourceGroups/fc358a33-5955-466/providers/Microsoft.StorSimple/managers"; - _requests[1313] = new DefaultHttpContext(); - _requests[1313].RequestServices = CreateServices(); - _requests[1313].Request.Method = "GET"; - _requests[1313].Request.Path = "/subscriptions/4873365c-5102-/resourcegroups/a2b2baff-7111-407/providers/Microsoft.StreamAnalytics/streamingjobs"; - _requests[1314] = new DefaultHttpContext(); - _requests[1314].RequestServices = CreateServices(); - _requests[1314].Request.Method = "GET"; - _requests[1314].Request.Path = "/subscriptions/ee53c771-c767-/resourcegroups/61d9e16f-cf1e-400/providers/Microsoft.Subscriptions.Admin/directoryTenants"; - _requests[1315] = new DefaultHttpContext(); - _requests[1315].RequestServices = CreateServices(); - _requests[1315].Request.Method = "GET"; - _requests[1315].Request.Path = "/subscriptions/a7d7512d-1d1a-/resourcegroups/cf9c2748-284c-4d8/providers/Microsoft.Subscriptions.Admin/offers"; - _requests[1316] = new DefaultHttpContext(); - _requests[1316].RequestServices = CreateServices(); - _requests[1316].Request.Method = "GET"; - _requests[1316].Request.Path = "/subscriptions/4d21c24b-e0ad-/resourcegroups/030982b7-4052-4dd/providers/Microsoft.Subscriptions.Admin/plans"; - _requests[1317] = new DefaultHttpContext(); - _requests[1317].RequestServices = CreateServices(); - _requests[1317].Request.Method = "GET"; - _requests[1317].Request.Path = "/subscriptions/7482b29e-eece-/resourceGroups/c0ac6df9-9352-42b/providers/Microsoft.TimeSeriesInsights/environments"; - _requests[1318] = new DefaultHttpContext(); - _requests[1318].RequestServices = CreateServices(); - _requests[1318].Request.Method = "GET"; - _requests[1318].Request.Path = "/subscriptions/afd6d3cd-6443-/resourcegroups/26f0dfa0-6518-47c/providers/Microsoft.Update.Admin/updateLocations"; - _requests[1319] = new DefaultHttpContext(); - _requests[1319].RequestServices = CreateServices(); - _requests[1319].Request.Method = "GET"; - _requests[1319].Request.Path = "/subscriptions/43b6e6e2-e5f1-/resourcegroups/243aa268-da70-4d8/providers/microsoft.visualstudio/account"; - _requests[1320] = new DefaultHttpContext(); - _requests[1320].RequestServices = CreateServices(); - _requests[1320].Request.Method = "GET"; - _requests[1320].Request.Path = "/subscriptions/46edd6ff-44df-/resourceGroups/2657f165-ead9-4d0/providers/Microsoft.Web/certificates"; - _requests[1321] = new DefaultHttpContext(); - _requests[1321].RequestServices = CreateServices(); - _requests[1321].Request.Method = "GET"; - _requests[1321].Request.Path = "/subscriptions/e5ff3182-5ac0-/resourceGroups/f67b7f2f-4c31-4f1/providers/Microsoft.Web/classicMobileServices"; - _requests[1322] = new DefaultHttpContext(); - _requests[1322].RequestServices = CreateServices(); - _requests[1322].Request.Method = "GET"; - _requests[1322].Request.Path = "/subscriptions/56de45a9-cc5f-/resourceGroups/fbcf6988-f3e6-493/providers/Microsoft.Web/connectionGateways"; - _requests[1323] = new DefaultHttpContext(); - _requests[1323].RequestServices = CreateServices(); - _requests[1323].Request.Method = "GET"; - _requests[1323].Request.Path = "/subscriptions/6ff9483d-7538-/resourceGroups/d2533740-a424-493/providers/Microsoft.Web/connections"; - _requests[1324] = new DefaultHttpContext(); - _requests[1324].RequestServices = CreateServices(); - _requests[1324].Request.Method = "GET"; - _requests[1324].Request.Path = "/subscriptions/f2faab0c-4485-/resourceGroups/ff77b4ad-016a-4c2/providers/Microsoft.Web/csrs"; - _requests[1325] = new DefaultHttpContext(); - _requests[1325].RequestServices = CreateServices(); - _requests[1325].Request.Method = "GET"; - _requests[1325].Request.Path = "/subscriptions/a51b750c-99a9-/resourceGroups/792b88b7-0312-4d4/providers/Microsoft.Web/customApis"; - _requests[1326] = new DefaultHttpContext(); - _requests[1326].RequestServices = CreateServices(); - _requests[1326].Request.Method = "GET"; - _requests[1326].Request.Path = "/subscriptions/6246aa04-9b46-/resourceGroups/e82ad96d-9fe4-496/providers/Microsoft.Web/deletedSites"; - _requests[1327] = new DefaultHttpContext(); - _requests[1327].RequestServices = CreateServices(); - _requests[1327].Request.Method = "GET"; - _requests[1327].Request.Path = "/subscriptions/3e2db9cb-fbf0-/resourceGroups/b46dc0cb-4152-4b6/providers/Microsoft.Web/hostingEnvironments"; - _requests[1328] = new DefaultHttpContext(); - _requests[1328].RequestServices = CreateServices(); - _requests[1328].Request.Method = "GET"; - _requests[1328].Request.Path = "/subscriptions/7e41cf48-4ff1-/resourceGroups/6aa56f8f-5485-499/providers/Microsoft.Web/managedHostingEnvironments"; - _requests[1329] = new DefaultHttpContext(); - _requests[1329].RequestServices = CreateServices(); - _requests[1329].Request.Method = "GET"; - _requests[1329].Request.Path = "/subscriptions/50a9f1dd-889b-/resourceGroups/6a5cdaa5-fe4f-426/providers/Microsoft.Web/resourceHealthMetadata"; - _requests[1330] = new DefaultHttpContext(); - _requests[1330].RequestServices = CreateServices(); - _requests[1330].Request.Method = "GET"; - _requests[1330].Request.Path = "/subscriptions/da38d786-ab2e-/resourceGroups/4236e614-9801-43a/providers/Microsoft.Web/serverfarms"; - _requests[1331] = new DefaultHttpContext(); - _requests[1331].RequestServices = CreateServices(); - _requests[1331].Request.Method = "GET"; - _requests[1331].Request.Path = "/subscriptions/faca8af9-eadb-/resourceGroups/90480097-2a5f-4f8/providers/Microsoft.Web/sites"; - _requests[1332] = new DefaultHttpContext(); - _requests[1332].RequestServices = CreateServices(); - _requests[1332].Request.Method = "POST"; - _requests[1332].Request.Path = "/subscriptions/7a3defbe-7b0b-/resourceGroups/d674498d-fdac-42b/providers/Microsoft.Web/validate"; - _requests[1333] = new DefaultHttpContext(); - _requests[1333].RequestServices = CreateServices(); - _requests[1333].Request.Method = "POST"; - _requests[1333].Request.Path = "/subscriptions/75a9ec55-74ea-/resourceGroups/2ed0db4d-bde1-4ff/providers/Microsoft.BotService/BotServices/listServiceProviders"; - _requests[1334] = new DefaultHttpContext(); - _requests[1334].RequestServices = CreateServices(); - _requests[1334].Request.Method = "PATCH"; - _requests[1334].Request.Path = "/subscriptions/3ab88d53-e4ee-/resourceGroup/f7fad144-70cf-48b/providers/microsoft.insights/workbooks/f2930a94-e97"; - _requests[1335] = new DefaultHttpContext(); - _requests[1335].RequestServices = CreateServices(); - _requests[1335].Request.Method = "PATCH"; - _requests[1335].Request.Path = "/subscriptions/0861f6cc-1abb-/resourceGroups/b00107ee-/providers/Microsoft.DataMigration/services/29a10dd4-08"; - _requests[1336] = new DefaultHttpContext(); - _requests[1336].RequestServices = CreateServices(); - _requests[1336].Request.Method = "DELETE"; - _requests[1336].Request.Path = "/subscriptions/3a925bc0-2398-/resourcegroups/a25c1afd-9404/providers/Microsoft.AzureBridge.Admin/activations/d40f2bf2-b2d2-"; - _requests[1337] = new DefaultHttpContext(); - _requests[1337].RequestServices = CreateServices(); - _requests[1337].Request.Method = "PUT"; - _requests[1337].Request.Path = "/subscriptions/40daddee-0136-/resourceGroups/351d330c-3de5/providers/Microsoft.AzureStack/registrations/6523d045-1be3-42"; - _requests[1338] = new DefaultHttpContext(); - _requests[1338].RequestServices = CreateServices(); - _requests[1338].Request.Method = "PATCH"; - _requests[1338].Request.Path = "/subscriptions/a131f6c6-4b5b-/resourceGroups/44ebe978-086b-437/providers/Microsoft.AAD/domainServices/fa2df088-21a4-4c1"; - _requests[1339] = new DefaultHttpContext(); - _requests[1339].RequestServices = CreateServices(); - _requests[1339].Request.Method = "PATCH"; - _requests[1339].Request.Path = "/subscriptions/56536728-d0d4-/resourceGroups/64683739-bdf4-42e/providers/Microsoft.AnalysisServices/servers/13f685a8-5"; - _requests[1340] = new DefaultHttpContext(); - _requests[1340].RequestServices = CreateServices(); - _requests[1340].Request.Method = "DELETE"; - _requests[1340].Request.Path = "/subscriptions/5a1e5fc3-b11b-/resourceGroups/e2b88c21-89cd-441/providers/Microsoft.ApiManagement/service/26456f4d-ae"; - _requests[1341] = new DefaultHttpContext(); - _requests[1341].RequestServices = CreateServices(); - _requests[1341].Request.Method = "GET"; - _requests[1341].Request.Path = "/subscriptions/ba6ef263-fced-/resourceGroups/a64d4c31-e30d-49f/providers/Microsoft.Authorization/locks/242169ed"; - _requests[1342] = new DefaultHttpContext(); - _requests[1342].RequestServices = CreateServices(); - _requests[1342].Request.Method = "GET"; - _requests[1342].Request.Path = "/subscriptions/9f65b1ae-fc83-/resourceGroups/1f94a89c-6ec0-452/providers/Microsoft.Automation/automationAccounts/69c9a5d1-b70c-45b2-8f"; - _requests[1343] = new DefaultHttpContext(); - _requests[1343].RequestServices = CreateServices(); - _requests[1343].Request.Method = "PUT"; - _requests[1343].Request.Path = "/subscriptions/1e3a817d-a644-/resourcegroups/640d85fd-0c6f-489/providers/Microsoft.Backup.Admin/backupLocations/181ae94f"; - _requests[1344] = new DefaultHttpContext(); - _requests[1344].RequestServices = CreateServices(); - _requests[1344].Request.Method = "GET"; - _requests[1344].Request.Path = "/subscriptions/f167f783-c056-/resourceGroups/1b970a6e-dea8-460/providers/Microsoft.Batch/batchAccounts/6089a6d1-db"; - _requests[1345] = new DefaultHttpContext(); - _requests[1345].RequestServices = CreateServices(); - _requests[1345].Request.Method = "GET"; - _requests[1345].Request.Path = "/subscriptions/b7e16b54-b8e7-/resourceGroups/c32ba33e-5e3a-4e5/providers/Microsoft.BatchAI/clusters/f9e3024d-a5"; - _requests[1346] = new DefaultHttpContext(); - _requests[1346].RequestServices = CreateServices(); - _requests[1346].Request.Method = "GET"; - _requests[1346].Request.Path = "/subscriptions/12fb909b-5013-/resourceGroups/4ab56901-e16a-440/providers/Microsoft.BatchAI/fileServers/69bf1072-85d2-"; - _requests[1347] = new DefaultHttpContext(); - _requests[1347].RequestServices = CreateServices(); - _requests[1347].Request.Method = "GET"; - _requests[1347].Request.Path = "/subscriptions/0fa8901f-f6a0-/resourceGroups/0d1e537a-fdd6-4cd/providers/Microsoft.BatchAI/jobs/a8f4439"; - _requests[1348] = new DefaultHttpContext(); - _requests[1348].RequestServices = CreateServices(); - _requests[1348].Request.Method = "GET"; - _requests[1348].Request.Path = "/subscriptions/791e84eb-2630-/resourceGroups/68b99ebb-393f-4ba/providers/Microsoft.BatchAI/workspaces/97cf620a-d521"; - _requests[1349] = new DefaultHttpContext(); - _requests[1349].RequestServices = CreateServices(); - _requests[1349].Request.Method = "GET"; - _requests[1349].Request.Path = "/subscriptions/4deb81b7-9410-/resourceGroups/b72f1c59-990a-491/providers/Microsoft.BotService/botServices/c494bc01-a5b"; - _requests[1350] = new DefaultHttpContext(); - _requests[1350].RequestServices = CreateServices(); - _requests[1350].Request.Method = "GET"; - _requests[1350].Request.Path = "/subscriptions/838c8f90-33a4-/resourceGroups/59cb6668-45e9-4d0/providers/Microsoft.Cache/Redis/b0e49"; - _requests[1351] = new DefaultHttpContext(); - _requests[1351].RequestServices = CreateServices(); - _requests[1351].Request.Method = "DELETE"; - _requests[1351].Request.Path = "/subscriptions/41d8d0f5-1650-/resourceGroups/86dc3c2f-cd8b-435/providers/Microsoft.Cdn/profiles/07f850d8-cc"; - _requests[1352] = new DefaultHttpContext(); - _requests[1352].RequestServices = CreateServices(); - _requests[1352].Request.Method = "PATCH"; - _requests[1352].Request.Path = "/subscriptions/c2745dd2-b610-/resourceGroups/77ef005e-2239-427/providers/Microsoft.CertificateRegistration/certificateOrders/28218"; - _requests[1353] = new DefaultHttpContext(); - _requests[1353].RequestServices = CreateServices(); - _requests[1353].Request.Method = "GET"; - _requests[1353].Request.Path = "/subscriptions/c73a1046-57f0-/resourceGroups/b29283ec-b3b1-40d/providers/Microsoft.CognitiveServices/accounts/d7bd875d-bd"; - _requests[1354] = new DefaultHttpContext(); - _requests[1354].RequestServices = CreateServices(); - _requests[1354].Request.Method = "GET"; - _requests[1354].Request.Path = "/subscriptions/3fe24fb6-d76b-/resourceGroups/9e62d78d-072c-4bc/providers/Microsoft.Compute/availabilitySets/da1cdd62-4886-4105-"; - _requests[1355] = new DefaultHttpContext(); - _requests[1355].RequestServices = CreateServices(); - _requests[1355].Request.Method = "DELETE"; - _requests[1355].Request.Path = "/subscriptions/2e34ef2b-895b-/resourceGroups/4bb48601-ae53-41f/providers/Microsoft.Compute/disks/fcbac7a5"; - _requests[1356] = new DefaultHttpContext(); - _requests[1356].RequestServices = CreateServices(); - _requests[1356].Request.Method = "DELETE"; - _requests[1356].Request.Path = "/subscriptions/6627569d-0561-/resourceGroups/dd427210-771b-442/providers/Microsoft.Compute/galleries/4a058edf-da"; - _requests[1357] = new DefaultHttpContext(); - _requests[1357].RequestServices = CreateServices(); - _requests[1357].Request.Method = "GET"; - _requests[1357].Request.Path = "/subscriptions/6c7b8a40-bedb-/resourceGroups/f4e58237-fb98-49b/providers/Microsoft.Compute/images/c6d952b7-"; - _requests[1358] = new DefaultHttpContext(); - _requests[1358].RequestServices = CreateServices(); - _requests[1358].Request.Method = "DELETE"; - _requests[1358].Request.Path = "/subscriptions/05726b70-04a7-/resourceGroups/74b22219-bf43-460/providers/Microsoft.Compute/snapshots/7347a895-dec"; - _requests[1359] = new DefaultHttpContext(); - _requests[1359].RequestServices = CreateServices(); - _requests[1359].Request.Method = "GET"; - _requests[1359].Request.Path = "/subscriptions/cfb1dc9a-95d4-/resourceGroups/cfb8539d-9936-46e/providers/Microsoft.Compute/virtualMachines/a64b75"; - _requests[1360] = new DefaultHttpContext(); - _requests[1360].RequestServices = CreateServices(); - _requests[1360].Request.Method = "GET"; - _requests[1360].Request.Path = "/subscriptions/a4a8e0c0-0c54-/resourceGroups/a5bd0c15-789f-425/providers/Microsoft.Compute/virtualMachineScaleSets/535361ce-c7e7-"; - _requests[1361] = new DefaultHttpContext(); - _requests[1361].RequestServices = CreateServices(); - _requests[1361].Request.Method = "DELETE"; - _requests[1361].Request.Path = "/subscriptions/dae05721-f7fe-/resourceGroups/72b2d39c-3566-46d/providers/Microsoft.Consumption/budgets/008ee7d3-b"; - _requests[1362] = new DefaultHttpContext(); - _requests[1362].RequestServices = CreateServices(); - _requests[1362].Request.Method = "DELETE"; - _requests[1362].Request.Path = "/subscriptions/9ac014ac-a4f0-/resourceGroups/ba40bf1d-1e29-4bd/providers/Microsoft.ContainerInstance/containerGroups/ba3852af-7378-4e51"; - _requests[1363] = new DefaultHttpContext(); - _requests[1363].RequestServices = CreateServices(); - _requests[1363].Request.Method = "PATCH"; - _requests[1363].Request.Path = "/subscriptions/8c1c3efa-1b59-/resourceGroups/c5534a39-5385-4fa/providers/Microsoft.ContainerRegistry/registries/84aee8bf-068"; - _requests[1364] = new DefaultHttpContext(); - _requests[1364].RequestServices = CreateServices(); - _requests[1364].Request.Method = "DELETE"; - _requests[1364].Request.Path = "/subscriptions/602f6013-00f5-/resourceGroups/3fdfa9ec-6c07-437/providers/Microsoft.ContainerService/containerServices/67f000bd-4ff2-43de-b"; - _requests[1365] = new DefaultHttpContext(); - _requests[1365].RequestServices = CreateServices(); - _requests[1365].Request.Method = "DELETE"; - _requests[1365].Request.Path = "/subscriptions/069984d5-5501-/resourceGroups/77756d6f-1cb2-40b/providers/Microsoft.ContainerService/managedClusters/9e0aba87-8d7"; - _requests[1366] = new DefaultHttpContext(); - _requests[1366].RequestServices = CreateServices(); - _requests[1366].Request.Method = "GET"; - _requests[1366].Request.Path = "/subscriptions/7d029d0f-df7c-/resourceGroups/f109bd73-02fb-447/providers/Microsoft.CustomerInsights/hubs/64129f9"; - _requests[1367] = new DefaultHttpContext(); - _requests[1367].RequestServices = CreateServices(); - _requests[1367].Request.Method = "PATCH"; - _requests[1367].Request.Path = "/subscriptions/4e0f3c17-0dac-/resourceGroups/5571fd88-f472-408/providers/Microsoft.DataBox/jobs/e56db5e"; - _requests[1368] = new DefaultHttpContext(); - _requests[1368].RequestServices = CreateServices(); - _requests[1368].Request.Method = "PATCH"; - _requests[1368].Request.Path = "/subscriptions/bf5c2ad2-cc53-/resourceGroups/aa79b34f-f052-4b4/providers/Microsoft.Databricks/workspaces/4252970d-6c10"; - _requests[1369] = new DefaultHttpContext(); - _requests[1369].RequestServices = CreateServices(); - _requests[1369].Request.Method = "PATCH"; - _requests[1369].Request.Path = "/subscriptions/a469ed0d-e29b-/resourceGroups/bde50cd6-cd8e-4bb/providers/Microsoft.DataCatalog/catalogs/0f90c507-ab"; - _requests[1370] = new DefaultHttpContext(); - _requests[1370].RequestServices = CreateServices(); - _requests[1370].Request.Method = "DELETE"; - _requests[1370].Request.Path = "/subscriptions/0f3d6564-31ed-/resourceGroups/ef96a7cc-156b-48d/providers/Microsoft.DataFactory/factories/7bd09b59-10"; - _requests[1371] = new DefaultHttpContext(); - _requests[1371].RequestServices = CreateServices(); - _requests[1371].Request.Method = "DELETE"; - _requests[1371].Request.Path = "/subscriptions/1569254f-8d15-/resourceGroups/2c8582c6-f38a-4ae/providers/Microsoft.DataLakeAnalytics/accounts/ac82eb8f-0b"; - _requests[1372] = new DefaultHttpContext(); - _requests[1372].RequestServices = CreateServices(); - _requests[1372].Request.Method = "DELETE"; - _requests[1372].Request.Path = "/subscriptions/05fcc97d-74bc-/resourceGroups/5f1b1432-1167-476/providers/Microsoft.DataLakeStore/accounts/9c5aaf9b-92"; - _requests[1373] = new DefaultHttpContext(); - _requests[1373].RequestServices = CreateServices(); - _requests[1373].Request.Method = "GET"; - _requests[1373].Request.Path = "/subscriptions/17bc7038-1f05-/resourceGroups/8436181b-b2f1-4e5/providers/Microsoft.DBforMySQL/servers/0fb95329-1"; - _requests[1374] = new DefaultHttpContext(); - _requests[1374].RequestServices = CreateServices(); - _requests[1374].Request.Method = "GET"; - _requests[1374].Request.Path = "/subscriptions/f792b6a9-527e-/resourceGroups/6404ecf9-ae30-4e3/providers/Microsoft.DBforPostgreSQL/servers/fe47e6e0-f"; - _requests[1375] = new DefaultHttpContext(); - _requests[1375].RequestServices = CreateServices(); - _requests[1375].Request.Method = "DELETE"; - _requests[1375].Request.Path = "/subscriptions/fe6eacfd-7501-/resourceGroups/e202ff4f-fa93-40a/providers/Microsoft.Devices/IotHubs/7bab075a-745"; - _requests[1376] = new DefaultHttpContext(); - _requests[1376].RequestServices = CreateServices(); - _requests[1376].Request.Method = "DELETE"; - _requests[1376].Request.Path = "/subscriptions/bb546ef6-7ef8-/resourceGroups/dc7b4148-c1e5-46e/providers/Microsoft.Devices/provisioningServices/41f30963-0cf3-4628-aa6d"; - _requests[1377] = new DefaultHttpContext(); - _requests[1377].RequestServices = CreateServices(); - _requests[1377].Request.Method = "PATCH"; - _requests[1377].Request.Path = "/subscriptions/842332ef-615b-/resourceGroups/e86181a7-6c65-41e/providers/Microsoft.DevTestLab/labs/d3d1a"; - _requests[1378] = new DefaultHttpContext(); - _requests[1378].RequestServices = CreateServices(); - _requests[1378].Request.Method = "PATCH"; - _requests[1378].Request.Path = "/subscriptions/b37795ad-2c7f-/resourceGroups/7ab24a17-0bd3-49e/providers/Microsoft.DevTestLab/schedules/32930"; - _requests[1379] = new DefaultHttpContext(); - _requests[1379].RequestServices = CreateServices(); - _requests[1379].Request.Method = "DELETE"; - _requests[1379].Request.Path = "/subscriptions/4683dc1a-2da1-/resourceGroups/8eda5cb7-f1fc-4c9/providers/Microsoft.DocumentDB/databaseAccounts/6a7e66c3-dc"; - _requests[1380] = new DefaultHttpContext(); - _requests[1380].RequestServices = CreateServices(); - _requests[1380].Request.Method = "PATCH"; - _requests[1380].Request.Path = "/subscriptions/df74f0cd-3087-/resourceGroups/addca7c3-74c9-4e6/providers/Microsoft.DomainRegistration/domains/9d1e34e9-8"; - _requests[1381] = new DefaultHttpContext(); - _requests[1381].RequestServices = CreateServices(); - _requests[1381].Request.Method = "PATCH"; - _requests[1381].Request.Path = "/subscriptions/33b5fb54-da3a-/resourceGroups/770f7d30-ad14-41b/providers/Microsoft.EventGrid/topics/332017d7-"; - _requests[1382] = new DefaultHttpContext(); - _requests[1382].RequestServices = CreateServices(); - _requests[1382].Request.Method = "PATCH"; - _requests[1382].Request.Path = "/subscriptions/48c6b3c0-a190-/resourceGroups/a2bcc8b8-284f-488/providers/Microsoft.EventHub/clusters/5170a8cf-df"; - _requests[1383] = new DefaultHttpContext(); - _requests[1383].RequestServices = CreateServices(); - _requests[1383].Request.Method = "PATCH"; - _requests[1383].Request.Path = "/subscriptions/d2634370-0d5d-/resourceGroups/5043ef26-152d-416/providers/Microsoft.EventHub/namespaces/f1cd8d8e-6948"; - _requests[1384] = new DefaultHttpContext(); - _requests[1384].RequestServices = CreateServices(); - _requests[1384].Request.Method = "GET"; - _requests[1384].Request.Path = "/subscriptions/cb6176ef-701e-/resourceGroups/36852b24-2b2d-443/providers/Microsoft.Fabric.Admin/fabricLocations/d677484c-f156-"; - _requests[1385] = new DefaultHttpContext(); - _requests[1385].RequestServices = CreateServices(); - _requests[1385].Request.Method = "GET"; - _requests[1385].Request.Path = "/subscriptions/e409f89f-27c9-/resourceGroups/51479c73-ac07-4b2/providers/Microsoft.HanaOnAzure/hanaInstances/7b288305-2c47-45"; - _requests[1386] = new DefaultHttpContext(); - _requests[1386].RequestServices = CreateServices(); - _requests[1386].Request.Method = "GET"; - _requests[1386].Request.Path = "/subscriptions/736d278f-e862-/resourceGroups/a6207992-4806-488/providers/Microsoft.HDInsight/clusters/2ee853e6-80"; - _requests[1387] = new DefaultHttpContext(); - _requests[1387].RequestServices = CreateServices(); - _requests[1387].Request.Method = "DELETE"; - _requests[1387].Request.Path = "/subscriptions/17afb31b-2e24-/resourceGroups/f9f23159-583b-429/providers/Microsoft.ImportExport/jobs/ed3c86e"; - _requests[1388] = new DefaultHttpContext(); - _requests[1388].RequestServices = CreateServices(); - _requests[1388].Request.Method = "GET"; - _requests[1388].Request.Path = "/subscriptions/df7067e9-5aa3-/resourceGroups/9bd68aa8-87ca-4c7/providers/Microsoft.InfrastructureInsights.Admin/regionHealths/53270cd6"; - _requests[1389] = new DefaultHttpContext(); - _requests[1389].RequestServices = CreateServices(); - _requests[1389].Request.Method = "PATCH"; - _requests[1389].Request.Path = "/subscriptions/d3aadab1-b567-/resourceGroups/42e42b9e-f958-42d/providers/microsoft.insights/actionGroups/60ef8964-7770-4"; - _requests[1390] = new DefaultHttpContext(); - _requests[1390].RequestServices = CreateServices(); - _requests[1390].Request.Method = "PATCH"; - _requests[1390].Request.Path = "/subscriptions/518a2c91-6752-/resourceGroups/55c601ff-5a11-4f6/providers/microsoft.insights/activityLogAlerts/a1cc29fe-cfb9-4392-b"; - _requests[1391] = new DefaultHttpContext(); - _requests[1391].RequestServices = CreateServices(); - _requests[1391].Request.Method = "PATCH"; - _requests[1391].Request.Path = "/subscriptions/c00aeb8e-ae35-/resourcegroups/b69f52a8-5bd0-4a4/providers/microsoft.insights/alertrules/906488c8"; - _requests[1392] = new DefaultHttpContext(); - _requests[1392].RequestServices = CreateServices(); - _requests[1392].Request.Method = "PATCH"; - _requests[1392].Request.Path = "/subscriptions/17374bbd-85da-/resourcegroups/78116756-4ffc-44f/providers/microsoft.insights/autoscalesettings/b32074dc-349b-4eba-9"; - _requests[1393] = new DefaultHttpContext(); - _requests[1393].RequestServices = CreateServices(); - _requests[1393].Request.Method = "PATCH"; - _requests[1393].Request.Path = "/subscriptions/ccb9751b-c5d4-/resourceGroups/c5b843cc-8b94-4ca/providers/Microsoft.Insights/components/218f15d5-38e"; - _requests[1394] = new DefaultHttpContext(); - _requests[1394].RequestServices = CreateServices(); - _requests[1394].Request.Method = "DELETE"; - _requests[1394].Request.Path = "/subscriptions/dbf2b620-35ee-/resourceGroups/a6c73e59-03ce-4b4/providers/Microsoft.Insights/metricAlerts/b751fff3"; - _requests[1395] = new DefaultHttpContext(); - _requests[1395].RequestServices = CreateServices(); - _requests[1395].Request.Method = "DELETE"; - _requests[1395].Request.Path = "/subscriptions/0325606c-529d-/resourcegroups/02553922-507f-42d/providers/microsoft.insights/scheduledQueryRules/a66663a2"; - _requests[1396] = new DefaultHttpContext(); - _requests[1396].RequestServices = CreateServices(); - _requests[1396].Request.Method = "DELETE"; - _requests[1396].Request.Path = "/subscriptions/56ac598e-e97b-/resourceGroups/4f8cf665-48b1-4e7/providers/Microsoft.Insights/webtests/084c0356-df"; - _requests[1397] = new DefaultHttpContext(); - _requests[1397].RequestServices = CreateServices(); - _requests[1397].Request.Method = "DELETE"; - _requests[1397].Request.Path = "/subscriptions/fc05a876-517b-/resourceGroups/9a118c2b-9fc5-4c1/providers/Microsoft.IoTCentral/IoTApps/679bf88e-d3b"; - _requests[1398] = new DefaultHttpContext(); - _requests[1398].RequestServices = CreateServices(); - _requests[1398].Request.Method = "DELETE"; - _requests[1398].Request.Path = "/subscriptions/e0169818-fff6-/resourceGroups/9d6d3de8-31e4-44d/providers/Microsoft.IoTSpaces/Graph/8f268af2-420"; - _requests[1399] = new DefaultHttpContext(); - _requests[1399].RequestServices = CreateServices(); - _requests[1399].Request.Method = "GET"; - _requests[1399].Request.Path = "/subscriptions/27ac4227-fc3f-/resourceGroups/cb5fb44e-bca7-452/providers/Microsoft.KeyVault/vaults/19e679c0-"; - _requests[1400] = new DefaultHttpContext(); - _requests[1400].RequestServices = CreateServices(); - _requests[1400].Request.Method = "DELETE"; - _requests[1400].Request.Path = "/subscriptions/65f77acb-7945-/resourceGroups/d46fd3cd-5354-4fd/providers/Microsoft.Logic/integrationAccounts/5498e9a2-507e-407c-bbb"; - _requests[1401] = new DefaultHttpContext(); - _requests[1401].RequestServices = CreateServices(); - _requests[1401].Request.Method = "DELETE"; - _requests[1401].Request.Path = "/subscriptions/4e126f94-fdea-/resourceGroups/5ecb051c-b44d-485/providers/Microsoft.Logic/workflows/7abfda60-a97"; - _requests[1402] = new DefaultHttpContext(); - _requests[1402].RequestServices = CreateServices(); - _requests[1402].Request.Method = "PARAMETERS"; - _requests[1402].Request.Path = "/subscriptions/de1f1a54-1ef5-/resourceGroups/cc1e5d0d-b5e7-40b/providers/Microsoft.MachineLearning/commitmentPlans/872bda94-b817-4a69"; - _requests[1403] = new DefaultHttpContext(); - _requests[1403].RequestServices = CreateServices(); - _requests[1403].Request.Method = "DELETE"; - _requests[1403].Request.Path = "/subscriptions/ed631721-6c3a-/resourceGroups/b72625d6-c5ae-439/providers/Microsoft.MachineLearning/webServices/6e98ee4e-dfe0-"; - _requests[1404] = new DefaultHttpContext(); - _requests[1404].RequestServices = CreateServices(); - _requests[1404].Request.Method = "PATCH"; - _requests[1404].Request.Path = "/subscriptions/e1c2c4e9-8caf-/resourceGroups/dad9e064-6354-432/providers/Microsoft.MachineLearning/workspaces/1f33b208-29c0"; - _requests[1405] = new DefaultHttpContext(); - _requests[1405].RequestServices = CreateServices(); - _requests[1405].Request.Method = "DELETE"; - _requests[1405].Request.Path = "/subscriptions/f640eb28-b3a0-/resourceGroups/a5a7934f-b5a9-4e7/providers/Microsoft.MachineLearningCompute/operationalizationClusters/4b43b5f3-41"; - _requests[1406] = new DefaultHttpContext(); - _requests[1406].RequestServices = CreateServices(); - _requests[1406].Request.Method = "PATCH"; - _requests[1406].Request.Path = "/subscriptions/709323a7-26c1-/resourceGroups/51340a02-0471-46c/providers/Microsoft.MachineLearningExperimentation/accounts/83e01e96-eb"; - _requests[1407] = new DefaultHttpContext(); - _requests[1407].RequestServices = CreateServices(); - _requests[1407].Request.Method = "PATCH"; - _requests[1407].Request.Path = "/subscriptions/352262d7-875a-/resourceGroups/7ce7c05e-f5f3-407/providers/Microsoft.MachineLearningServices/workspaces/e6dad685-c929"; - _requests[1408] = new DefaultHttpContext(); - _requests[1408].RequestServices = CreateServices(); - _requests[1408].Request.Method = "DELETE"; - _requests[1408].Request.Path = "/subscriptions/da3268b9-c9a1-/resourceGroups/02f51e07-bf57-408/providers/Microsoft.ManagedIdentity/userAssignedIdentities/c674899b-822"; - _requests[1409] = new DefaultHttpContext(); - _requests[1409].RequestServices = CreateServices(); - _requests[1409].Request.Method = "GET"; - _requests[1409].Request.Path = "/subscriptions/c2ea7e68-cff1-/resourceGroups/be2af193-a1e4-452/providers/Microsoft.Maps/accounts/c55a3c77-dc"; - _requests[1410] = new DefaultHttpContext(); - _requests[1410].RequestServices = CreateServices(); - _requests[1410].Request.Method = "PATCH"; - _requests[1410].Request.Path = "/subscriptions/a0b93e34-2734-/resourceGroups/7187ba76-49c6-489/providers/Microsoft.Media/mediaservices/ff52fdc0-d8f2-47"; - _requests[1411] = new DefaultHttpContext(); - _requests[1411].RequestServices = CreateServices(); - _requests[1411].Request.Method = "DELETE"; - _requests[1411].Request.Path = "/subscriptions/8ebdb3a7-bdb2-/resourcegroups/0e93b769-4cd6-4e0/providers/Microsoft.Migrate/projects/ae630259-06"; - _requests[1412] = new DefaultHttpContext(); - _requests[1412].RequestServices = CreateServices(); - _requests[1412].Request.Method = "PATCH"; - _requests[1412].Request.Path = "/subscriptions/ecb10c61-b542-/resourceGroups/28ad036e-067e-4d6/providers/Microsoft.Network/applicationGateways/18893bfc-8472-4255-b96"; - _requests[1413] = new DefaultHttpContext(); - _requests[1413].RequestServices = CreateServices(); - _requests[1413].Request.Method = "PUT"; - _requests[1413].Request.Path = "/subscriptions/6fe6049b-b7c3-/resourceGroups/483ef43c-198e-40f/providers/Microsoft.Network/applicationSecurityGroups/d78f3620-bb14-4deb-b940-3245"; - _requests[1414] = new DefaultHttpContext(); - _requests[1414].RequestServices = CreateServices(); - _requests[1414].Request.Method = "PATCH"; - _requests[1414].Request.Path = "/subscriptions/6cb76ce4-0750-/resourceGroups/1752900e-6cdb-41d/providers/Microsoft.Network/connections/6c1c6272-a47c-449f-9f84-a577e9616f3"; - _requests[1415] = new DefaultHttpContext(); - _requests[1415].RequestServices = CreateServices(); - _requests[1415].Request.Method = "PUT"; - _requests[1415].Request.Path = "/subscriptions/20d2e215-776d-/resourceGroups/4b83ebe8-4e21-45b/providers/Microsoft.Network/ddosProtectionPlans/efc89548-e8a9-486a-91b"; - _requests[1416] = new DefaultHttpContext(); - _requests[1416].RequestServices = CreateServices(); - _requests[1416].Request.Method = "PATCH"; - _requests[1416].Request.Path = "/subscriptions/2ec8accf-349d-/resourceGroups/447d73c5-b495-4aa/providers/Microsoft.Network/dnsZones/08e072cb"; - _requests[1417] = new DefaultHttpContext(); - _requests[1417].RequestServices = CreateServices(); - _requests[1417].Request.Method = "PATCH"; - _requests[1417].Request.Path = "/subscriptions/4d074c60-f304-/resourceGroups/329c2294-1087-49a/providers/Microsoft.Network/expressRouteCircuits/f0736974-f3"; - _requests[1418] = new DefaultHttpContext(); - _requests[1418].RequestServices = CreateServices(); - _requests[1418].Request.Method = "PATCH"; - _requests[1418].Request.Path = "/subscriptions/8e0de7cb-91d1-/resourceGroups/8ee3541c-4658-415/providers/Microsoft.Network/expressRouteCrossConnections/0172603f-20d9-4aa4-"; - _requests[1419] = new DefaultHttpContext(); - _requests[1419].RequestServices = CreateServices(); - _requests[1419].Request.Method = "PATCH"; - _requests[1419].Request.Path = "/subscriptions/5ac639d8-930a-/resourceGroups/c5a2b796-db09-4de/providers/Microsoft.Network/loadBalancers/bee1828b-d43d-4a"; - _requests[1420] = new DefaultHttpContext(); - _requests[1420].RequestServices = CreateServices(); - _requests[1420].Request.Method = "PATCH"; - _requests[1420].Request.Path = "/subscriptions/a36e6661-75d8-/resourceGroups/04857458-e2ce-4e3/providers/Microsoft.Network/localNetworkGateways/c0788647-ce3c-4f53-b776"; - _requests[1421] = new DefaultHttpContext(); - _requests[1421].RequestServices = CreateServices(); - _requests[1421].Request.Method = "PATCH"; - _requests[1421].Request.Path = "/subscriptions/81153c52-7d97-/resourceGroups/aeb9b704-e472-43a/providers/Microsoft.Network/networkInterfaces/7d0815cf-adc5-414c-8"; - _requests[1422] = new DefaultHttpContext(); - _requests[1422].RequestServices = CreateServices(); - _requests[1422].Request.Method = "PATCH"; - _requests[1422].Request.Path = "/subscriptions/b02ffbeb-7771-/resourceGroups/28ea21ea-984d-4b3/providers/Microsoft.Network/networkSecurityGroups/ca3ece8f-9e29-4090-812e-"; - _requests[1423] = new DefaultHttpContext(); - _requests[1423].RequestServices = CreateServices(); - _requests[1423].Request.Method = "PATCH"; - _requests[1423].Request.Path = "/subscriptions/f5a9ffa6-9b5e-/resourceGroups/629c7ec5-417b-480/providers/Microsoft.Network/networkWatchers/54b3f696-1d73-4fbf"; - _requests[1424] = new DefaultHttpContext(); - _requests[1424].RequestServices = CreateServices(); - _requests[1424].Request.Method = "PATCH"; - _requests[1424].Request.Path = "/subscriptions/05d33c8e-4f4c-/resourceGroups/ce3710ae-43f3-47f/providers/Microsoft.Network/publicIPAddresses/72095a21-9bc0-40d0-"; - _requests[1425] = new DefaultHttpContext(); - _requests[1425].RequestServices = CreateServices(); - _requests[1425].Request.Method = "PATCH"; - _requests[1425].Request.Path = "/subscriptions/0a21f404-bf66-/resourceGroups/59ab462b-fdb1-408/providers/Microsoft.Network/routeFilters/d9acbb5c-2873-4"; - _requests[1426] = new DefaultHttpContext(); - _requests[1426].RequestServices = CreateServices(); - _requests[1426].Request.Method = "PATCH"; - _requests[1426].Request.Path = "/subscriptions/9430afe8-c60f-/resourceGroups/35322b19-34c2-4db/providers/Microsoft.Network/routeTables/72ad6684-165c-"; - _requests[1427] = new DefaultHttpContext(); - _requests[1427].RequestServices = CreateServices(); - _requests[1427].Request.Method = "PATCH"; - _requests[1427].Request.Path = "/subscriptions/a758d8d4-d26b-/resourceGroups/6a65646d-9f95-4ed/providers/Microsoft.Network/trafficmanagerprofiles/9e50c36d-9f"; - _requests[1428] = new DefaultHttpContext(); - _requests[1428].RequestServices = CreateServices(); - _requests[1428].Request.Method = "PATCH"; - _requests[1428].Request.Path = "/subscriptions/70c09d34-8bcc-/resourceGroups/e6f31a13-ec29-470/providers/Microsoft.Network/virtualNetworkGateways/4825c117-a558-43e8-8477-3"; - _requests[1429] = new DefaultHttpContext(); - _requests[1429].RequestServices = CreateServices(); - _requests[1429].Request.Method = "PATCH"; - _requests[1429].Request.Path = "/subscriptions/c850e109-8bd2-/resourceGroups/20acccd9-d7d6-448/providers/Microsoft.Network/virtualNetworks/ad4ba2f3-f9a7-4996"; - _requests[1430] = new DefaultHttpContext(); - _requests[1430].RequestServices = CreateServices(); - _requests[1430].Request.Method = "GET"; - _requests[1430].Request.Path = "/subscriptions/4d4d7367-72d7-/resourceGroups/6c89eb20-8782-438/providers/Microsoft.NotificationHubs/namespaces/10b89170-f934"; - _requests[1431] = new DefaultHttpContext(); - _requests[1431].RequestServices = CreateServices(); - _requests[1431].Request.Method = "PATCH"; - _requests[1431].Request.Path = "/subscriptions/f6dfba18-cb52-/resourcegroups/7012f0d2-fcb7-4ee/providers/Microsoft.OperationalInsights/workspaces/5550994e-0ade"; - _requests[1432] = new DefaultHttpContext(); - _requests[1432].RequestServices = CreateServices(); - _requests[1432].Request.Method = "GET"; - _requests[1432].Request.Path = "/subscriptions/c961be4f-4ca4-/resourcegroups/99b102c9-e3cf-442/providers/Microsoft.OperationsManagement/ManagementConfigurations/fefa6692-0c7e-45d9-b65e-0fc"; - _requests[1433] = new DefaultHttpContext(); - _requests[1433].RequestServices = CreateServices(); - _requests[1433].Request.Method = "GET"; - _requests[1433].Request.Path = "/subscriptions/0055c872-6f53-/resourcegroups/35d7ade1-602e-4d9/providers/Microsoft.OperationsManagement/solutions/23878b5d-e36"; - _requests[1434] = new DefaultHttpContext(); - _requests[1434].RequestServices = CreateServices(); - _requests[1434].Request.Method = "DELETE"; - _requests[1434].Request.Path = "/subscriptions/90091fab-0e1e-/resourceGroups/cd595e9b-f49b-442/providers/Microsoft.PowerBI/workspaceCollections/b8d00aa6-229e-42f9-88ed"; - _requests[1435] = new DefaultHttpContext(); - _requests[1435].RequestServices = CreateServices(); - _requests[1435].Request.Method = "PATCH"; - _requests[1435].Request.Path = "/subscriptions/58e81ca8-568f-/resourceGroups/4411c821-a9a2-45e/providers/Microsoft.PowerBIDedicated/capacities/89f2c91d-3a61-4738-ba"; - _requests[1436] = new DefaultHttpContext(); - _requests[1436].RequestServices = CreateServices(); - _requests[1436].Request.Method = "PATCH"; - _requests[1436].Request.Path = "/subscriptions/9403d47d-cb65-/resourceGroups/4c31245b-59ac-4ff/providers/Microsoft.RecoveryServices/vaults/011631c4-"; - _requests[1437] = new DefaultHttpContext(); - _requests[1437].RequestServices = CreateServices(); - _requests[1437].Request.Method = "PATCH"; - _requests[1437].Request.Path = "/subscriptions/2c165938-4a83-/resourceGroups/713bab5d-4de2-461/providers/Microsoft.Relay/namespaces/6668e4c0-abc8"; - _requests[1438] = new DefaultHttpContext(); - _requests[1438].RequestServices = CreateServices(); - _requests[1438].Request.Method = "GET"; - _requests[1438].Request.Path = "/subscriptions/135433d3-120a-/resourcegroups/df3ea1e8-c66e-45f/providers/Microsoft.Resources/deployments/a0b4e3ab-be3a-"; - _requests[1439] = new DefaultHttpContext(); - _requests[1439].RequestServices = CreateServices(); - _requests[1439].Request.Method = "DELETE"; - _requests[1439].Request.Path = "/subscriptions/18efd3d8-2341-/resourceGroups/f9445bde-e0ba-4ef/providers/Microsoft.Scheduler/jobCollections/44779061-c49b-4a0"; - _requests[1440] = new DefaultHttpContext(); - _requests[1440].RequestServices = CreateServices(); - _requests[1440].Request.Method = "DELETE"; - _requests[1440].Request.Path = "/subscriptions/dda2d11e-1352-/resourceGroups/b8147fc8-f8de-462/providers/Microsoft.Search/searchServices/1a9d81e3-2209-4ac"; - _requests[1441] = new DefaultHttpContext(); - _requests[1441].RequestServices = CreateServices(); - _requests[1441].Request.Method = "PUT"; - _requests[1441].Request.Path = "/subscriptions/868c2158-ed58-/resourceGroups/cc4feda1-fde5-480/providers/Microsoft.Security/pricings/4cf81c08-e6"; - _requests[1442] = new DefaultHttpContext(); - _requests[1442].RequestServices = CreateServices(); - _requests[1442].Request.Method = "PATCH"; - _requests[1442].Request.Path = "/subscriptions/a0148516-2e4e-/resourceGroups/14473da4-9aaf-411/providers/Microsoft.Security/securityContacts/ae44ccb9-14b3-4638-"; - _requests[1443] = new DefaultHttpContext(); - _requests[1443].RequestServices = CreateServices(); - _requests[1443].Request.Method = "PATCH"; - _requests[1443].Request.Path = "/subscriptions/def5357f-3b0d-/resourceGroups/f1c99d2d-85ec-433/providers/Microsoft.Security/workspaceSettings/5c0b5f68-7bab-47f0-a"; - _requests[1444] = new DefaultHttpContext(); - _requests[1444].RequestServices = CreateServices(); - _requests[1444].Request.Method = "GET"; - _requests[1444].Request.Path = "/subscriptions/36a66f55-126f-/resourceGroups/da0b9a70-a778-448/providers/Microsoft.ServerManagement/gateways/2dae84d3-03"; - _requests[1445] = new DefaultHttpContext(); - _requests[1445].RequestServices = CreateServices(); - _requests[1445].Request.Method = "GET"; - _requests[1445].Request.Path = "/subscriptions/6162edc3-ae5c-/resourceGroups/cdec2caa-74a0-483/providers/Microsoft.ServerManagement/nodes/4ad1ada5"; - _requests[1446] = new DefaultHttpContext(); - _requests[1446].RequestServices = CreateServices(); - _requests[1446].Request.Method = "PATCH"; - _requests[1446].Request.Path = "/subscriptions/bd052e83-2283-/resourceGroups/06d9dcc2-2850-4c3/providers/Microsoft.ServiceBus/namespaces/2f858585-c04a"; - _requests[1447] = new DefaultHttpContext(); - _requests[1447].RequestServices = CreateServices(); - _requests[1447].Request.Method = "DELETE"; - _requests[1447].Request.Path = "/subscriptions/52a466bc-6913-/resourceGroups/e0ec40e3-3945-413/providers/Microsoft.ServiceFabric/clusters/302b7ff2-85"; - _requests[1448] = new DefaultHttpContext(); - _requests[1448].RequestServices = CreateServices(); - _requests[1448].Request.Method = "PATCH"; - _requests[1448].Request.Path = "/subscriptions/c34094df-2fca-/resourceGroups/0a84b271-0764-4a3/providers/Microsoft.SignalRService/SignalR/8ba173a3-f23"; - _requests[1449] = new DefaultHttpContext(); - _requests[1449].RequestServices = CreateServices(); - _requests[1449].Request.Method = "PUT"; - _requests[1449].Request.Path = "/subscriptions/052daf06-8ba2-/resourceGroups/866427d6-a4f4-4b8/providers/Microsoft.Solutions/applianceDefinitions/e2d96271-34a1-4169-bb1c"; - _requests[1450] = new DefaultHttpContext(); - _requests[1450].RequestServices = CreateServices(); - _requests[1450].Request.Method = "PATCH"; - _requests[1450].Request.Path = "/subscriptions/cda1c24f-1044-/resourceGroups/71faa6c3-2e0e-49b/providers/Microsoft.Solutions/appliances/4907f95d-7319"; - _requests[1451] = new DefaultHttpContext(); - _requests[1451].RequestServices = CreateServices(); - _requests[1451].Request.Method = "PUT"; - _requests[1451].Request.Path = "/subscriptions/0e8d2e06-4456-/resourceGroups/bbc89f53-49ac-43f/providers/Microsoft.Solutions/applicationDefinitions/18a84463-410a-40db-aff3-8"; - _requests[1452] = new DefaultHttpContext(); - _requests[1452].RequestServices = CreateServices(); - _requests[1452].Request.Method = "PATCH"; - _requests[1452].Request.Path = "/subscriptions/83c7d0d0-204e-/resourceGroups/74d41bc9-3687-4e4/providers/Microsoft.Solutions/applications/d7a78b27-5f42-4"; - _requests[1453] = new DefaultHttpContext(); - _requests[1453].RequestServices = CreateServices(); - _requests[1453].Request.Method = "PATCH"; - _requests[1453].Request.Path = "/subscriptions/c0da4c72-fe64-/resourceGroups/b52b9a52-e613-4df/providers/Microsoft.Sql/managedInstances/5ae319a6-694d-4983-"; - _requests[1454] = new DefaultHttpContext(); - _requests[1454].RequestServices = CreateServices(); - _requests[1454].Request.Method = "GET"; - _requests[1454].Request.Path = "/subscriptions/581c6f45-acf2-/resourceGroups/6666356b-77ec-475/providers/Microsoft.Sql/servers/fbd8b12c-b"; - _requests[1455] = new DefaultHttpContext(); - _requests[1455].RequestServices = CreateServices(); - _requests[1455].Request.Method = "PATCH"; - _requests[1455].Request.Path = "/subscriptions/551214a6-3c23-/resourcegroups/ada3ceb8-f6e6-468/providers/Microsoft.Storage.Admin/farms/5058e0"; - _requests[1456] = new DefaultHttpContext(); - _requests[1456].RequestServices = CreateServices(); - _requests[1456].Request.Method = "PATCH"; - _requests[1456].Request.Path = "/subscriptions/de651d75-57ac-/resourceGroups/a06dd946-566b-4d6/providers/Microsoft.Storage/storageAccounts/592e04ab-68"; - _requests[1457] = new DefaultHttpContext(); - _requests[1457].RequestServices = CreateServices(); - _requests[1457].Request.Method = "PATCH"; - _requests[1457].Request.Path = "/subscriptions/bfa7b1f0-0e3c-/resourceGroups/efa197aa-24ed-432/providers/Microsoft.StorSimple/managers/8d7f23b5-c7"; - _requests[1458] = new DefaultHttpContext(); - _requests[1458].RequestServices = CreateServices(); - _requests[1458].Request.Method = "GET"; - _requests[1458].Request.Path = "/subscriptions/4c7f4f11-09ee-/resourcegroups/5e891334-1b4e-4e9/providers/Microsoft.StreamAnalytics/streamingjobs/0e0233c"; - _requests[1459] = new DefaultHttpContext(); - _requests[1459].RequestServices = CreateServices(); - _requests[1459].Request.Method = "PUT"; - _requests[1459].Request.Path = "/subscriptions/b5ac0202-9ea5-/resourcegroups/59b6aa0b-9b74-4d7/providers/Microsoft.Subscriptions.Admin/directoryTenants/081598"; - _requests[1460] = new DefaultHttpContext(); - _requests[1460].RequestServices = CreateServices(); - _requests[1460].Request.Method = "DELETE"; - _requests[1460].Request.Path = "/subscriptions/b448090b-a406-/resourcegroups/50f4cfae-cdd4-4a1/providers/Microsoft.Subscriptions.Admin/offers/7dcd8"; - _requests[1461] = new DefaultHttpContext(); - _requests[1461].RequestServices = CreateServices(); - _requests[1461].Request.Method = "DELETE"; - _requests[1461].Request.Path = "/subscriptions/86009bc8-bb38-/resourcegroups/126a432d-068f-453/providers/Microsoft.Subscriptions.Admin/plans/4964e"; - _requests[1462] = new DefaultHttpContext(); - _requests[1462].RequestServices = CreateServices(); - _requests[1462].Request.Method = "DELETE"; - _requests[1462].Request.Path = "/subscriptions/e2ef62f1-e665-/resourceGroups/06d8596b-734f-436/providers/Microsoft.TimeSeriesInsights/environments/722ec89b-95ed-4"; - _requests[1463] = new DefaultHttpContext(); - _requests[1463].RequestServices = CreateServices(); - _requests[1463].Request.Method = "GET"; - _requests[1463].Request.Path = "/subscriptions/bbfef2ac-c84b-/resourcegroups/72f612b2-81d0-48f/providers/Microsoft.Update.Admin/updateLocations/f08ac070-be41-"; - _requests[1464] = new DefaultHttpContext(); - _requests[1464].RequestServices = CreateServices(); - _requests[1464].Request.Method = "GET"; - _requests[1464].Request.Path = "/subscriptions/431f12c4-108e-/resourcegroups/80fb72e9-7dde-4ec/providers/microsoft.visualstudio/account/f1183f84-8fa"; - _requests[1465] = new DefaultHttpContext(); - _requests[1465].RequestServices = CreateServices(); - _requests[1465].Request.Method = "PATCH"; - _requests[1465].Request.Path = "/subscriptions/b66213c9-1d95-/resourceGroups/83ea1d76-5fc5-4e4/providers/Microsoft.Web/certificates/bd7b2"; - _requests[1466] = new DefaultHttpContext(); - _requests[1466].RequestServices = CreateServices(); - _requests[1466].Request.Method = "DELETE"; - _requests[1466].Request.Path = "/subscriptions/e9452b9e-8416-/resourceGroups/12bf5fbb-882e-427/providers/Microsoft.Web/classicMobileServices/c72b2"; - _requests[1467] = new DefaultHttpContext(); - _requests[1467].RequestServices = CreateServices(); - _requests[1467].Request.Method = "DELETE"; - _requests[1467].Request.Path = "/subscriptions/2860dbf5-5d5f-/resourceGroups/e55fa755-e4dd-434/providers/Microsoft.Web/connectionGateways/37348ca8-40b6-4f6c-88"; - _requests[1468] = new DefaultHttpContext(); - _requests[1468].RequestServices = CreateServices(); - _requests[1468].Request.Method = "DELETE"; - _requests[1468].Request.Path = "/subscriptions/ce899493-24af-/resourceGroups/62950159-e7e1-4a8/providers/Microsoft.Web/connections/34338653-6da5-"; - _requests[1469] = new DefaultHttpContext(); - _requests[1469].RequestServices = CreateServices(); - _requests[1469].Request.Method = "PATCH"; - _requests[1469].Request.Path = "/subscriptions/69ff748a-af59-/resourceGroups/5dd8c110-adb6-466/providers/Microsoft.Web/csrs/ee049"; - _requests[1470] = new DefaultHttpContext(); - _requests[1470].RequestServices = CreateServices(); - _requests[1470].Request.Method = "DELETE"; - _requests[1470].Request.Path = "/subscriptions/af986fb8-8b7d-/resourceGroups/772e22ec-7450-455/providers/Microsoft.Web/customApis/971a432"; - _requests[1471] = new DefaultHttpContext(); - _requests[1471].RequestServices = CreateServices(); - _requests[1471].Request.Method = "PATCH"; - _requests[1471].Request.Path = "/subscriptions/56082173-8c17-/resourceGroups/9f7814c5-2089-4f2/providers/Microsoft.Web/hostingEnvironments/b6802"; - _requests[1472] = new DefaultHttpContext(); - _requests[1472].RequestServices = CreateServices(); - _requests[1472].Request.Method = "DELETE"; - _requests[1472].Request.Path = "/subscriptions/9f567f2a-4ca7-/resourceGroups/c4602504-968a-4a1/providers/Microsoft.Web/managedHostingEnvironments/03023"; - _requests[1473] = new DefaultHttpContext(); - _requests[1473].RequestServices = CreateServices(); - _requests[1473].Request.Method = "PATCH"; - _requests[1473].Request.Path = "/subscriptions/e9218db3-d998-/resourceGroups/cfd042d0-17d7-4f0/providers/Microsoft.Web/serverfarms/e17c2"; - _requests[1474] = new DefaultHttpContext(); - _requests[1474].RequestServices = CreateServices(); - _requests[1474].Request.Method = "PATCH"; - _requests[1474].Request.Path = "/subscriptions/a04b32ac-02d8-/resourceGroups/ebf8f564-ea09-44c/providers/Microsoft.Web/sites/308cf"; - _requests[1475] = new DefaultHttpContext(); - _requests[1475].RequestServices = CreateServices(); - _requests[1475].Request.Method = "POST"; - _requests[1475].Request.Path = "/providers/86a83e32-b655-4b0a-a103-f/managementGroups/f849432b-573a-40f7-/providers/Microsoft.PolicyInsights/policyEvents/2e855bfb-0546-4b82-a/queryResults"; - _requests[1476] = new DefaultHttpContext(); - _requests[1476].RequestServices = CreateServices(); - _requests[1476].Request.Method = "POST"; - _requests[1476].Request.Path = "/providers/f9b2fe03-1179-4b47-b909-7/managementGroups/452e51d9-f88d-45e5-/providers/Microsoft.PolicyInsights/policyStates/39b5ae2a-011d-414e-a/queryResults"; - _requests[1477] = new DefaultHttpContext(); - _requests[1477].RequestServices = CreateServices(); - _requests[1477].Request.Method = "POST"; - _requests[1477].Request.Path = "/providers/cf437586-0435-4c43-9503-4/managementGroups/4b63af36-d573-4246-/providers/Microsoft.PolicyInsights/policyStates/a955c58c-2c58-4f9c-9719-4ee/summarize"; - _requests[1478] = new DefaultHttpContext(); - _requests[1478].RequestServices = CreateServices(); - _requests[1478].Request.Method = "GET"; - _requests[1478].Request.Path = "/subscriptions/16b7959f-355a-/resourceGroup/903d7fc0-9bac-47c/providers/Microsoft.MachineLearningServices/workspaces/c3ed20cb-996f/computes"; - _requests[1479] = new DefaultHttpContext(); - _requests[1479].RequestServices = CreateServices(); - _requests[1479].Request.Method = "POST"; - _requests[1479].Request.Path = "/subscriptions/6a1226d5-2593-/resourceGroups/f63a742e-/providers/Microsoft.DataMigration/services/be64f5cc-25/checkNameAvailability"; - _requests[1480] = new DefaultHttpContext(); - _requests[1480].RequestServices = CreateServices(); - _requests[1480].Request.Method = "POST"; - _requests[1480].Request.Path = "/subscriptions/cfe1b1f6-25a7-/resourceGroups/3274a3d9-/providers/Microsoft.DataMigration/services/b6025546-31/checkStatus"; - _requests[1481] = new DefaultHttpContext(); - _requests[1481].RequestServices = CreateServices(); - _requests[1481].Request.Method = "GET"; - _requests[1481].Request.Path = "/subscriptions/eaf4f4b8-6098-/resourceGroups/8cce9494-/providers/Microsoft.DataMigration/services/342bc8d3-0e/projects"; - _requests[1482] = new DefaultHttpContext(); - _requests[1482].RequestServices = CreateServices(); - _requests[1482].Request.Method = "GET"; - _requests[1482].Request.Path = "/subscriptions/52256091-28e8-/resourceGroups/8cdd2ac7-/providers/Microsoft.DataMigration/services/6c110ccf-07/skus"; - _requests[1483] = new DefaultHttpContext(); - _requests[1483].RequestServices = CreateServices(); - _requests[1483].Request.Method = "POST"; - _requests[1483].Request.Path = "/subscriptions/731c5b29-0284-/resourceGroups/91210aee-/providers/Microsoft.DataMigration/services/9a38319d-52/start"; - _requests[1484] = new DefaultHttpContext(); - _requests[1484].RequestServices = CreateServices(); - _requests[1484].Request.Method = "POST"; - _requests[1484].Request.Path = "/subscriptions/01afcbba-c2f6-/resourceGroups/d6d3e6d9-/providers/Microsoft.DataMigration/services/b98552e1-c6/stop"; - _requests[1485] = new DefaultHttpContext(); - _requests[1485].RequestServices = CreateServices(); - _requests[1485].Request.Method = "GET"; - _requests[1485].Request.Path = "/subscriptions/01f28308-6792-/resourcegroups/79802600-f07e/providers/Microsoft.AzureBridge.Admin/activations/6405af37-ecd2-/downloadedProducts"; - _requests[1486] = new DefaultHttpContext(); - _requests[1486].RequestServices = CreateServices(); - _requests[1486].Request.Method = "GET"; - _requests[1486].Request.Path = "/subscriptions/98bd0513-28da-/resourcegroups/c64b89ce-e6f8/providers/Microsoft.AzureBridge.Admin/activations/b0a032b0-2e5d-/products"; - _requests[1487] = new DefaultHttpContext(); - _requests[1487].RequestServices = CreateServices(); - _requests[1487].Request.Method = "GET"; - _requests[1487].Request.Path = "/subscriptions/fa887f82-195a-/resourceGroups/07567f96-fa51/providers/Microsoft.AzureStack/registrations/107a99da-3b9a-49/customerSubscriptions"; - _requests[1488] = new DefaultHttpContext(); - _requests[1488].RequestServices = CreateServices(); - _requests[1488].Request.Method = "POST"; - _requests[1488].Request.Path = "/subscriptions/92ac0c94-cad0-/resourceGroups/ceae7ad6-d7b0/providers/Microsoft.AzureStack/registrations/94240925-fb83-41/getactivationkey"; - _requests[1489] = new DefaultHttpContext(); - _requests[1489].RequestServices = CreateServices(); - _requests[1489].Request.Method = "GET"; - _requests[1489].Request.Path = "/subscriptions/a5b2e4a5-93e7-/resourceGroups/f99e05b2-7e20/providers/Microsoft.AzureStack/registrations/f0d17d8f-eff9-4a/products"; - _requests[1490] = new DefaultHttpContext(); - _requests[1490].RequestServices = CreateServices(); - _requests[1490].Request.Method = "POST"; - _requests[1490].Request.Path = "/subscriptions/7d9c6360-dbaa-/resourceGroups/0a4e5575-83e4-4c9/providers/Microsoft.AnalysisServices/servers/2db0328d-3/dissociateGateway"; - _requests[1491] = new DefaultHttpContext(); - _requests[1491].RequestServices = CreateServices(); - _requests[1491].Request.Method = "POST"; - _requests[1491].Request.Path = "/subscriptions/8709a0fb-51ee-/resourceGroups/1c871bba-5c8b-4ea/providers/Microsoft.AnalysisServices/servers/2ad56d7e-0/listGatewayStatus"; - _requests[1492] = new DefaultHttpContext(); - _requests[1492].RequestServices = CreateServices(); - _requests[1492].Request.Method = "POST"; - _requests[1492].Request.Path = "/subscriptions/852b3e79-ea87-/resourceGroups/433301eb-b2f3-49e/providers/Microsoft.AnalysisServices/servers/0f0a1c47-b/resume"; - _requests[1493] = new DefaultHttpContext(); - _requests[1493].RequestServices = CreateServices(); - _requests[1493].Request.Method = "GET"; - _requests[1493].Request.Path = "/subscriptions/6e113f71-7f6b-/resourceGroups/b7879425-4525-467/providers/Microsoft.AnalysisServices/servers/08ae77e1-9/skus"; - _requests[1494] = new DefaultHttpContext(); - _requests[1494].RequestServices = CreateServices(); - _requests[1494].Request.Method = "POST"; - _requests[1494].Request.Path = "/subscriptions/23ba3ead-c689-/resourceGroups/fd183e5f-7c9c-46b/providers/Microsoft.AnalysisServices/servers/49fd7388-1/suspend"; - _requests[1495] = new DefaultHttpContext(); - _requests[1495].RequestServices = CreateServices(); - _requests[1495].Request.Method = "GET"; - _requests[1495].Request.Path = "/subscriptions/dff82d78-cd7e-/resourceGroups/cc712e1f-d6a7-4c6/providers/Microsoft.ApiManagement/service/df91b154-5d/apis"; - _requests[1496] = new DefaultHttpContext(); - _requests[1496].RequestServices = CreateServices(); - _requests[1496].Request.Method = "GET"; - _requests[1496].Request.Path = "/subscriptions/05f14cd1-dc1c-/resourceGroups/edf65c55-78d5-46f/providers/Microsoft.ApiManagement/service/97054896-18/apisByTags"; - _requests[1497] = new DefaultHttpContext(); - _requests[1497].RequestServices = CreateServices(); - _requests[1497].Request.Method = "GET"; - _requests[1497].Request.Path = "/subscriptions/e294d5d5-e277-/resourceGroups/45df0d1e-cb31-425/providers/Microsoft.ApiManagement/service/1b9b88b7-8a/api-version-sets"; - _requests[1498] = new DefaultHttpContext(); - _requests[1498].RequestServices = CreateServices(); - _requests[1498].Request.Method = "POST"; - _requests[1498].Request.Path = "/subscriptions/fca9b1cf-d9fe-/resourceGroups/7daf8f90-0592-4af/providers/Microsoft.ApiManagement/service/6b2f38d9-e7/applynetworkconfigurationupdates"; - _requests[1499] = new DefaultHttpContext(); - _requests[1499].RequestServices = CreateServices(); - _requests[1499].Request.Method = "GET"; - _requests[1499].Request.Path = "/subscriptions/587ed8d9-a577-/resourceGroups/2699e306-f481-42b/providers/Microsoft.ApiManagement/service/e39d3fa0-3e/authorizationServers"; - _requests[1500] = new DefaultHttpContext(); - _requests[1500].RequestServices = CreateServices(); - _requests[1500].Request.Method = "GET"; - _requests[1500].Request.Path = "/subscriptions/fc3bf1f5-3263-/resourceGroups/f0b8e486-b671-463/providers/Microsoft.ApiManagement/service/6ae48338-eb/backends"; - _requests[1501] = new DefaultHttpContext(); - _requests[1501].RequestServices = CreateServices(); - _requests[1501].Request.Method = "POST"; - _requests[1501].Request.Path = "/subscriptions/e5d3b135-e16f-/resourceGroups/44d1cd17-b85e-47c/providers/Microsoft.ApiManagement/service/dfdb071b-4d/backup"; - _requests[1502] = new DefaultHttpContext(); - _requests[1502].RequestServices = CreateServices(); - _requests[1502].Request.Method = "GET"; - _requests[1502].Request.Path = "/subscriptions/ff017815-83f3-/resourceGroups/f4d78c71-beac-4b2/providers/Microsoft.ApiManagement/service/c7415e48-bc/certificates"; - _requests[1503] = new DefaultHttpContext(); - _requests[1503].RequestServices = CreateServices(); - _requests[1503].Request.Method = "GET"; - _requests[1503].Request.Path = "/subscriptions/b57d14fa-c179-/resourceGroups/e2b58c01-f3fe-4a6/providers/Microsoft.ApiManagement/service/e0f3fc53-26/diagnostics"; - _requests[1504] = new DefaultHttpContext(); - _requests[1504].RequestServices = CreateServices(); - _requests[1504].Request.Method = "POST"; - _requests[1504].Request.Path = "/subscriptions/58f2ff60-848d-/resourceGroups/52afa199-d279-417/providers/Microsoft.ApiManagement/service/eaeca541-ff/getssotoken"; - _requests[1505] = new DefaultHttpContext(); - _requests[1505].RequestServices = CreateServices(); - _requests[1505].Request.Method = "GET"; - _requests[1505].Request.Path = "/subscriptions/00ca7a85-3608-/resourceGroups/1f1f1f07-ebd0-4be/providers/Microsoft.ApiManagement/service/8e4edb82-9d/groups"; - _requests[1506] = new DefaultHttpContext(); - _requests[1506].RequestServices = CreateServices(); - _requests[1506].Request.Method = "GET"; - _requests[1506].Request.Path = "/subscriptions/6663a44b-f5d2-/resourceGroups/ddd697a6-a5b0-46c/providers/Microsoft.ApiManagement/service/cb87682e-af/identityProviders"; - _requests[1507] = new DefaultHttpContext(); - _requests[1507].RequestServices = CreateServices(); - _requests[1507].Request.Method = "GET"; - _requests[1507].Request.Path = "/subscriptions/1f3480bd-4304-/resourceGroups/4e7b7354-dcb9-48c/providers/Microsoft.ApiManagement/service/90140c83-8f/issues"; - _requests[1508] = new DefaultHttpContext(); - _requests[1508].RequestServices = CreateServices(); - _requests[1508].Request.Method = "GET"; - _requests[1508].Request.Path = "/subscriptions/21568c40-f014-/resourceGroups/c279ec12-8594-47a/providers/Microsoft.ApiManagement/service/2c66291b-fb/loggers"; - _requests[1509] = new DefaultHttpContext(); - _requests[1509].RequestServices = CreateServices(); - _requests[1509].Request.Method = "POST"; - _requests[1509].Request.Path = "/subscriptions/2b0ee9af-4441-/resourceGroups/3181a170-c467-443/providers/Microsoft.ApiManagement/service/f7178c06-4a/managedeployments"; - _requests[1510] = new DefaultHttpContext(); - _requests[1510].RequestServices = CreateServices(); - _requests[1510].Request.Method = "GET"; - _requests[1510].Request.Path = "/subscriptions/8e850fe8-3157-/resourceGroups/5a66fad7-9a5d-4b5/providers/Microsoft.ApiManagement/service/6061ef65-8b/networkstatus"; - _requests[1511] = new DefaultHttpContext(); - _requests[1511].RequestServices = CreateServices(); - _requests[1511].Request.Method = "GET"; - _requests[1511].Request.Path = "/subscriptions/3097ab30-81a5-/resourceGroups/db24069e-1e78-4df/providers/Microsoft.ApiManagement/service/b972c9ab-41/notifications"; - _requests[1512] = new DefaultHttpContext(); - _requests[1512].RequestServices = CreateServices(); - _requests[1512].Request.Method = "GET"; - _requests[1512].Request.Path = "/subscriptions/92884ce7-3c0d-/resourceGroups/a81582fa-839e-4a7/providers/Microsoft.ApiManagement/service/70fa7510-d1/openidConnectProviders"; - _requests[1513] = new DefaultHttpContext(); - _requests[1513].RequestServices = CreateServices(); - _requests[1513].Request.Method = "GET"; - _requests[1513].Request.Path = "/subscriptions/9569bb0e-b511-/resourceGroups/84cb9395-ff24-4f0/providers/Microsoft.ApiManagement/service/2ee90aaf-56/policies"; - _requests[1514] = new DefaultHttpContext(); - _requests[1514].RequestServices = CreateServices(); - _requests[1514].Request.Method = "GET"; - _requests[1514].Request.Path = "/subscriptions/e7493acd-78df-/resourceGroups/f35d7b86-48d5-452/providers/Microsoft.ApiManagement/service/cb3704b1-05/policySnippets"; - _requests[1515] = new DefaultHttpContext(); - _requests[1515].RequestServices = CreateServices(); - _requests[1515].Request.Method = "GET"; - _requests[1515].Request.Path = "/subscriptions/27773d5f-4d89-/resourceGroups/51bebab1-63c2-426/providers/Microsoft.ApiManagement/service/d3b441f9-c9/products"; - _requests[1516] = new DefaultHttpContext(); - _requests[1516].RequestServices = CreateServices(); - _requests[1516].Request.Method = "GET"; - _requests[1516].Request.Path = "/subscriptions/0dd2ab29-db25-/resourceGroups/3b4f2938-4fd4-492/providers/Microsoft.ApiManagement/service/0810be3a-74/properties"; - _requests[1517] = new DefaultHttpContext(); - _requests[1517].RequestServices = CreateServices(); - _requests[1517].Request.Method = "GET"; - _requests[1517].Request.Path = "/subscriptions/fb996776-3231-/resourceGroups/ffd4c747-2406-403/providers/Microsoft.ApiManagement/service/6877b0cf-d9/regions"; - _requests[1518] = new DefaultHttpContext(); - _requests[1518].RequestServices = CreateServices(); - _requests[1518].Request.Method = "POST"; - _requests[1518].Request.Path = "/subscriptions/b598175a-c6f9-/resourceGroups/5d207520-de32-46b/providers/Microsoft.ApiManagement/service/327bcbd9-e7/restore"; - _requests[1519] = new DefaultHttpContext(); - _requests[1519].RequestServices = CreateServices(); - _requests[1519].Request.Method = "GET"; - _requests[1519].Request.Path = "/subscriptions/c8146f52-8514-/resourceGroups/0d05679f-890f-4be/providers/Microsoft.ApiManagement/service/a8b260be-c0/subscriptions"; - _requests[1520] = new DefaultHttpContext(); - _requests[1520].RequestServices = CreateServices(); - _requests[1520].Request.Method = "GET"; - _requests[1520].Request.Path = "/subscriptions/62ad29f0-a02e-/resourceGroups/b92c7e5b-9b99-4c2/providers/Microsoft.ApiManagement/service/b5619c48-f6/tagResources"; - _requests[1521] = new DefaultHttpContext(); - _requests[1521].RequestServices = CreateServices(); - _requests[1521].Request.Method = "GET"; - _requests[1521].Request.Path = "/subscriptions/985f7a95-7d1a-/resourceGroups/a37ea568-a4d3-434/providers/Microsoft.ApiManagement/service/4eaaa35b-41/tags"; - _requests[1522] = new DefaultHttpContext(); - _requests[1522].RequestServices = CreateServices(); - _requests[1522].Request.Method = "GET"; - _requests[1522].Request.Path = "/subscriptions/72eca5a6-d1aa-/resourceGroups/a8b2e6a4-9404-4ed/providers/Microsoft.ApiManagement/service/6dbd914a-a9/templates"; - _requests[1523] = new DefaultHttpContext(); - _requests[1523].RequestServices = CreateServices(); - _requests[1523].Request.Method = "POST"; - _requests[1523].Request.Path = "/subscriptions/b626e6e2-84b2-/resourceGroups/49d22e42-d917-4d4/providers/Microsoft.ApiManagement/service/4a75835f-75/updatecertificate"; - _requests[1524] = new DefaultHttpContext(); - _requests[1524].RequestServices = CreateServices(); - _requests[1524].Request.Method = "POST"; - _requests[1524].Request.Path = "/subscriptions/715abb84-0340-/resourceGroups/4ca262b1-99bc-4f3/providers/Microsoft.ApiManagement/service/c6954a5d-5e/updatehostname"; - _requests[1525] = new DefaultHttpContext(); - _requests[1525].RequestServices = CreateServices(); - _requests[1525].Request.Method = "POST"; - _requests[1525].Request.Path = "/subscriptions/fb6e353b-f49f-/resourceGroups/ad82ee6f-699a-4c4/providers/Microsoft.ApiManagement/service/89fa14ef-1a/uploadcertificate"; - _requests[1526] = new DefaultHttpContext(); - _requests[1526].RequestServices = CreateServices(); - _requests[1526].Request.Method = "GET"; - _requests[1526].Request.Path = "/subscriptions/b67b5738-6ca5-/resourceGroups/57f3e639-b41b-4d5/providers/Microsoft.ApiManagement/service/c333433d-2b/users"; - _requests[1527] = new DefaultHttpContext(); - _requests[1527].RequestServices = CreateServices(); - _requests[1527].Request.Method = "GET"; - _requests[1527].Request.Path = "/subscriptions/9b3489a8-de02-/resourceGroups/966706ab-c6a2-4f8/providers/Microsoft.Automation/automationAccounts/e6ed495e-a248-48b0-b9/agentRegistrationInformation"; - _requests[1528] = new DefaultHttpContext(); - _requests[1528].RequestServices = CreateServices(); - _requests[1528].Request.Method = "GET"; - _requests[1528].Request.Path = "/subscriptions/e78da591-0ed3-/resourceGroups/851207dd-edde-435/providers/Microsoft.Automation/automationAccounts/2ebfe6ec-2f8a-4fd0-b1/certificates"; - _requests[1529] = new DefaultHttpContext(); - _requests[1529].RequestServices = CreateServices(); - _requests[1529].Request.Method = "GET"; - _requests[1529].Request.Path = "/subscriptions/2708f247-5a1e-/resourceGroups/8ba35d49-699f-4ba/providers/Microsoft.Automation/automationAccounts/bb400cf3-a97a-4f0c-a8/compilationjobs"; - _requests[1530] = new DefaultHttpContext(); - _requests[1530].RequestServices = CreateServices(); - _requests[1530].Request.Method = "GET"; - _requests[1530].Request.Path = "/subscriptions/63d29509-41ec-/resourceGroups/778f741e-b6c4-435/providers/Microsoft.Automation/automationAccounts/7709223d-cf7a-4654-88/configurations"; - _requests[1531] = new DefaultHttpContext(); - _requests[1531].RequestServices = CreateServices(); - _requests[1531].Request.Method = "GET"; - _requests[1531].Request.Path = "/subscriptions/c18a30a1-2aab-/resourceGroups/0a212edc-45f6-480/providers/Microsoft.Automation/automationAccounts/71da0b6b-f80a-441d-8b/connections"; - _requests[1532] = new DefaultHttpContext(); - _requests[1532].RequestServices = CreateServices(); - _requests[1532].Request.Method = "GET"; - _requests[1532].Request.Path = "/subscriptions/0001f9a9-e624-/resourceGroups/666011c8-75b4-4b0/providers/Microsoft.Automation/automationAccounts/c7f3929e-9aee-428a-b1/connectionTypes"; - _requests[1533] = new DefaultHttpContext(); - _requests[1533].RequestServices = CreateServices(); - _requests[1533].Request.Method = "GET"; - _requests[1533].Request.Path = "/subscriptions/82a5a2e8-9e8b-/resourceGroups/cd6a9ee5-7538-4e9/providers/Microsoft.Automation/automationAccounts/9cddceb4-afee-406b-af/credentials"; - _requests[1534] = new DefaultHttpContext(); - _requests[1534].RequestServices = CreateServices(); - _requests[1534].Request.Method = "GET"; - _requests[1534].Request.Path = "/subscriptions/ddc603d6-1fe5-/resourceGroups/079672da-202b-43b/providers/Microsoft.Automation/automationAccounts/ad8b0416-2012-40be-87/hybridRunbookWorkerGroups"; - _requests[1535] = new DefaultHttpContext(); - _requests[1535].RequestServices = CreateServices(); - _requests[1535].Request.Method = "GET"; - _requests[1535].Request.Path = "/subscriptions/336f5be0-5547-/resourceGroups/62eb807c-8b14-4a8/providers/Microsoft.Automation/automationAccounts/a0c916a0-bbf0-453e-b9/jobs"; - _requests[1536] = new DefaultHttpContext(); - _requests[1536].RequestServices = CreateServices(); - _requests[1536].Request.Method = "GET"; - _requests[1536].Request.Path = "/subscriptions/87a01b1b-2a04-/resourceGroups/639511ad-c548-416/providers/Microsoft.Automation/automationAccounts/4e2acc58-8b12-4b21-93/jobSchedules"; - _requests[1537] = new DefaultHttpContext(); - _requests[1537].RequestServices = CreateServices(); - _requests[1537].Request.Method = "GET"; - _requests[1537].Request.Path = "/subscriptions/557fe1f7-ae92-/resourceGroups/b3c655a8-488c-409/providers/Microsoft.Automation/automationAccounts/b5102668-208e-4ace-83/linkedWorkspace"; - _requests[1538] = new DefaultHttpContext(); - _requests[1538].RequestServices = CreateServices(); - _requests[1538].Request.Method = "POST"; - _requests[1538].Request.Path = "/subscriptions/5c0adc65-48d1-/resourceGroups/77bc693b-53bc-40a/providers/Microsoft.Automation/automationAccounts/dbb84a01-f419-4161-af/listKeys"; - _requests[1539] = new DefaultHttpContext(); - _requests[1539].RequestServices = CreateServices(); - _requests[1539].Request.Method = "GET"; - _requests[1539].Request.Path = "/subscriptions/09d465c9-4cf7-/resourceGroups/e3beee26-b45f-46f/providers/Microsoft.Automation/automationAccounts/0e14e01a-1fa4-426a-84/modules"; - _requests[1540] = new DefaultHttpContext(); - _requests[1540].RequestServices = CreateServices(); - _requests[1540].Request.Method = "GET"; - _requests[1540].Request.Path = "/subscriptions/7e100e13-4343-/resourceGroups/0ab37a54-d9b4-457/providers/Microsoft.Automation/automationAccounts/ba2f55b5-a4a0-4eba-aa/nodeConfigurations"; - _requests[1541] = new DefaultHttpContext(); - _requests[1541].RequestServices = CreateServices(); - _requests[1541].Request.Method = "GET"; - _requests[1541].Request.Path = "/subscriptions/2c2464a3-d4b6-/resourceGroups/f6a3de77-9f32-422/providers/Microsoft.Automation/automationAccounts/d62e6dd4-a155-43d6-b0/nodes"; - _requests[1542] = new DefaultHttpContext(); - _requests[1542].RequestServices = CreateServices(); - _requests[1542].Request.Method = "GET"; - _requests[1542].Request.Path = "/subscriptions/803d970a-07e8-/resourceGroups/630f24b8-3c1f-4e8/providers/Microsoft.Automation/automationAccounts/94576571-49d8-4051-84/runbooks"; - _requests[1543] = new DefaultHttpContext(); - _requests[1543].RequestServices = CreateServices(); - _requests[1543].Request.Method = "GET"; - _requests[1543].Request.Path = "/subscriptions/2f7e87d2-a953-/resourceGroups/30b21721-6df2-4ba/providers/Microsoft.Automation/automationAccounts/c803c518-59c1-4dd4-98/schedules"; - _requests[1544] = new DefaultHttpContext(); - _requests[1544].RequestServices = CreateServices(); - _requests[1544].Request.Method = "GET"; - _requests[1544].Request.Path = "/subscriptions/5e35855c-bac9-/resourceGroups/544bc510-cd9b-4f2/providers/Microsoft.Automation/automationAccounts/379d69d8-941e-4599-aa/softwareUpdateConfigurationMachineRuns"; - _requests[1545] = new DefaultHttpContext(); - _requests[1545].RequestServices = CreateServices(); - _requests[1545].Request.Method = "GET"; - _requests[1545].Request.Path = "/subscriptions/e73df8d6-6687-/resourceGroups/34bb43c6-9305-4a4/providers/Microsoft.Automation/automationAccounts/ee5633db-3a6a-4b21-aa/softwareUpdateConfigurationRuns"; - _requests[1546] = new DefaultHttpContext(); - _requests[1546].RequestServices = CreateServices(); - _requests[1546].Request.Method = "GET"; - _requests[1546].Request.Path = "/subscriptions/5f9b36bb-1985-/resourceGroups/f0a3c68f-5964-45b/providers/Microsoft.Automation/automationAccounts/750a9ca5-810b-4051-b7/softwareUpdateConfigurations"; - _requests[1547] = new DefaultHttpContext(); - _requests[1547].RequestServices = CreateServices(); - _requests[1547].Request.Method = "GET"; - _requests[1547].Request.Path = "/subscriptions/afe52ddc-7e5b-/resourceGroups/db5ab9cf-9cf7-41a/providers/Microsoft.Automation/automationAccounts/54d4f59a-5fc0-438c-aa/sourceControls"; - _requests[1548] = new DefaultHttpContext(); - _requests[1548].RequestServices = CreateServices(); - _requests[1548].Request.Method = "GET"; - _requests[1548].Request.Path = "/subscriptions/480ec8aa-18c1-/resourceGroups/a4609bc5-4161-4e6/providers/Microsoft.Automation/automationAccounts/bf4bc188-73aa-4c84-a6/statistics"; - _requests[1549] = new DefaultHttpContext(); - _requests[1549].RequestServices = CreateServices(); - _requests[1549].Request.Method = "GET"; - _requests[1549].Request.Path = "/subscriptions/f519d8d8-dd19-/resourceGroups/7e5e2bc5-8091-4a4/providers/Microsoft.Automation/automationAccounts/40729a51-9ce7-4e83-af/usages"; - _requests[1550] = new DefaultHttpContext(); - _requests[1550].RequestServices = CreateServices(); - _requests[1550].Request.Method = "GET"; - _requests[1550].Request.Path = "/subscriptions/120350ba-40c1-/resourceGroups/6bbf9092-e24d-4eb/providers/Microsoft.Automation/automationAccounts/f66ef767-bf20-4647-98/variables"; - _requests[1551] = new DefaultHttpContext(); - _requests[1551].RequestServices = CreateServices(); - _requests[1551].Request.Method = "GET"; - _requests[1551].Request.Path = "/subscriptions/1639969f-574a-/resourceGroups/a97f9fca-3eeb-469/providers/Microsoft.Automation/automationAccounts/b545267b-3163-48ff-99/watchers"; - _requests[1552] = new DefaultHttpContext(); - _requests[1552].RequestServices = CreateServices(); - _requests[1552].Request.Method = "GET"; - _requests[1552].Request.Path = "/subscriptions/effe2e5a-b8c3-/resourceGroups/b1aabfbd-3344-403/providers/Microsoft.Automation/automationAccounts/1ef1b173-1c12-4b91-b5/webhooks"; - _requests[1553] = new DefaultHttpContext(); - _requests[1553].RequestServices = CreateServices(); - _requests[1553].Request.Method = "GET"; - _requests[1553].Request.Path = "/subscriptions/e5d72d3f-7b89-/resourcegroups/0ff94d18-8603-477/providers/Microsoft.Backup.Admin/backupLocations/e73ef0a9/backups"; - _requests[1554] = new DefaultHttpContext(); - _requests[1554].RequestServices = CreateServices(); - _requests[1554].Request.Method = "POST"; - _requests[1554].Request.Path = "/subscriptions/98154fa1-06e6-/resourcegroups/723200d6-aa84-455/providers/Microsoft.Backup.Admin/backupLocations/2077eb9c/createBackup"; - _requests[1555] = new DefaultHttpContext(); - _requests[1555].RequestServices = CreateServices(); - _requests[1555].Request.Method = "GET"; - _requests[1555].Request.Path = "/subscriptions/89e01353-e76b-/resourceGroups/a78f1d51-9361-4b6/providers/Microsoft.Batch/batchAccounts/1eed5d73-3e/applications"; - _requests[1556] = new DefaultHttpContext(); - _requests[1556].RequestServices = CreateServices(); - _requests[1556].Request.Method = "GET"; - _requests[1556].Request.Path = "/subscriptions/0a1a5ce7-2925-/resourceGroups/ea1a58d0-3df8-434/providers/Microsoft.Batch/batchAccounts/ca0379c4-5f/certificates"; - _requests[1557] = new DefaultHttpContext(); - _requests[1557].RequestServices = CreateServices(); - _requests[1557].Request.Method = "POST"; - _requests[1557].Request.Path = "/subscriptions/d737a19d-2a39-/resourceGroups/1e1d08f2-7370-404/providers/Microsoft.Batch/batchAccounts/35a5dbe3-35/listKeys"; - _requests[1558] = new DefaultHttpContext(); - _requests[1558].RequestServices = CreateServices(); - _requests[1558].Request.Method = "GET"; - _requests[1558].Request.Path = "/subscriptions/f2575b65-4f2e-/resourceGroups/717ec546-bb10-440/providers/Microsoft.Batch/batchAccounts/5759338c-cb/pools"; - _requests[1559] = new DefaultHttpContext(); - _requests[1559].RequestServices = CreateServices(); - _requests[1559].Request.Method = "POST"; - _requests[1559].Request.Path = "/subscriptions/9d755c84-bc87-/resourceGroups/d9fca1c1-2a43-42e/providers/Microsoft.Batch/batchAccounts/a09e49ff-9a/regenerateKeys"; - _requests[1560] = new DefaultHttpContext(); - _requests[1560].RequestServices = CreateServices(); - _requests[1560].Request.Method = "POST"; - _requests[1560].Request.Path = "/subscriptions/959ee08b-f03c-/resourceGroups/bb8276f7-d82d-439/providers/Microsoft.Batch/batchAccounts/87df4fb0-da/syncAutoStorageKeys"; - _requests[1561] = new DefaultHttpContext(); - _requests[1561].RequestServices = CreateServices(); - _requests[1561].Request.Method = "POST"; - _requests[1561].Request.Path = "/subscriptions/8b545d23-34eb-/resourceGroups/50a1ff89-088c-45c/providers/Microsoft.BatchAI/clusters/d609c51d-52/listRemoteLoginInformation"; - _requests[1562] = new DefaultHttpContext(); - _requests[1562].RequestServices = CreateServices(); - _requests[1562].Request.Method = "POST"; - _requests[1562].Request.Path = "/subscriptions/424143b1-7362-/resourceGroups/fd6f86ba-b43a-4ef/providers/Microsoft.BatchAI/jobs/73c0da4/listOutputFiles"; - _requests[1563] = new DefaultHttpContext(); - _requests[1563].RequestServices = CreateServices(); - _requests[1563].Request.Method = "POST"; - _requests[1563].Request.Path = "/subscriptions/a0a60fa5-a5ab-/resourceGroups/63e82ee5-2831-418/providers/Microsoft.BatchAI/jobs/bfb828e/listRemoteLoginInformation"; - _requests[1564] = new DefaultHttpContext(); - _requests[1564].RequestServices = CreateServices(); - _requests[1564].Request.Method = "POST"; - _requests[1564].Request.Path = "/subscriptions/16aec6a0-74fc-/resourceGroups/fa535c19-aad4-48c/providers/Microsoft.BatchAI/jobs/01aed27/terminate"; - _requests[1565] = new DefaultHttpContext(); - _requests[1565].RequestServices = CreateServices(); - _requests[1565].Request.Method = "GET"; - _requests[1565].Request.Path = "/subscriptions/f649d314-af33-/resourceGroups/8d0b5d27-1506-406/providers/Microsoft.BatchAI/workspaces/f1dae7bc-3c5d/clusters"; - _requests[1566] = new DefaultHttpContext(); - _requests[1566].RequestServices = CreateServices(); - _requests[1566].Request.Method = "GET"; - _requests[1566].Request.Path = "/subscriptions/fd296a01-5960-/resourceGroups/f62fd50f-cf10-451/providers/Microsoft.BatchAI/workspaces/717350e8-d428/experiments"; - _requests[1567] = new DefaultHttpContext(); - _requests[1567].RequestServices = CreateServices(); - _requests[1567].Request.Method = "GET"; - _requests[1567].Request.Path = "/subscriptions/c1b331ca-7835-/resourceGroups/413f50cc-cab0-4d8/providers/Microsoft.BatchAI/workspaces/79b32c57-3ffb/fileServers"; - _requests[1568] = new DefaultHttpContext(); - _requests[1568].RequestServices = CreateServices(); - _requests[1568].Request.Method = "GET"; - _requests[1568].Request.Path = "/subscriptions/e76ebfc3-faef-/resourceGroups/47b46ad1-7c80-471/providers/Microsoft.BotService/botServices/7599fdf0-095/channels"; - _requests[1569] = new DefaultHttpContext(); - _requests[1569].RequestServices = CreateServices(); - _requests[1569].Request.Method = "GET"; - _requests[1569].Request.Path = "/subscriptions/60bab74a-333b-/resourceGroups/1b76b5b7-5377-425/providers/Microsoft.BotService/botServices/965c8565-201/connections"; - _requests[1570] = new DefaultHttpContext(); - _requests[1570].RequestServices = CreateServices(); - _requests[1570].Request.Method = "GET"; - _requests[1570].Request.Path = "/subscriptions/b81b685a-7cbc-/resourceGroups/6aa33aa2-9096-40a/providers/Microsoft.Cache/Redis/6a6be7fc-/firewallRules"; - _requests[1571] = new DefaultHttpContext(); - _requests[1571].RequestServices = CreateServices(); - _requests[1571].Request.Method = "GET"; - _requests[1571].Request.Path = "/subscriptions/af4a7fe5-d865-/resourceGroups/042b45fb-4843-475/providers/Microsoft.Cache/Redis/0baac0fc-/patchSchedules"; - _requests[1572] = new DefaultHttpContext(); - _requests[1572].RequestServices = CreateServices(); - _requests[1572].Request.Method = "POST"; - _requests[1572].Request.Path = "/subscriptions/2ffa1d4f-bc2b-/resourceGroups/4ed49301-ef4c-404/providers/Microsoft.Cache/Redis/23017/export"; - _requests[1573] = new DefaultHttpContext(); - _requests[1573].RequestServices = CreateServices(); - _requests[1573].Request.Method = "POST"; - _requests[1573].Request.Path = "/subscriptions/f02f23b2-cd11-/resourceGroups/c27b7784-b39b-411/providers/Microsoft.Cache/Redis/747ea/forceReboot"; - _requests[1574] = new DefaultHttpContext(); - _requests[1574].RequestServices = CreateServices(); - _requests[1574].Request.Method = "POST"; - _requests[1574].Request.Path = "/subscriptions/2d2a0b08-cc7d-/resourceGroups/34e60c3d-6d3a-414/providers/Microsoft.Cache/Redis/a96fe/import"; - _requests[1575] = new DefaultHttpContext(); - _requests[1575].RequestServices = CreateServices(); - _requests[1575].Request.Method = "GET"; - _requests[1575].Request.Path = "/subscriptions/e471388e-869b-/resourceGroups/a6056ecb-2805-462/providers/Microsoft.Cache/Redis/8c2ac/linkedServers"; - _requests[1576] = new DefaultHttpContext(); - _requests[1576].RequestServices = CreateServices(); - _requests[1576].Request.Method = "POST"; - _requests[1576].Request.Path = "/subscriptions/341d618f-aa04-/resourceGroups/313b0c8e-6f9d-46b/providers/Microsoft.Cache/Redis/7e5b1/listKeys"; - _requests[1577] = new DefaultHttpContext(); - _requests[1577].RequestServices = CreateServices(); - _requests[1577].Request.Method = "GET"; - _requests[1577].Request.Path = "/subscriptions/19a5a993-c26c-/resourceGroups/1883c1e0-f7d5-4a7/providers/Microsoft.Cache/Redis/7fbf5/listUpgradeNotifications"; - _requests[1578] = new DefaultHttpContext(); - _requests[1578].RequestServices = CreateServices(); - _requests[1578].Request.Method = "POST"; - _requests[1578].Request.Path = "/subscriptions/105f064a-078e-/resourceGroups/259679d8-0f07-4b6/providers/Microsoft.Cache/Redis/36cdd/regenerateKey"; - _requests[1579] = new DefaultHttpContext(); - _requests[1579].RequestServices = CreateServices(); - _requests[1579].Request.Method = "POST"; - _requests[1579].Request.Path = "/subscriptions/f5184e4c-80ba-/resourceGroups/124c9ea6-561b-458/providers/Microsoft.Cdn/profiles/4a8c57ce-55/checkResourceUsage"; - _requests[1580] = new DefaultHttpContext(); - _requests[1580].RequestServices = CreateServices(); - _requests[1580].Request.Method = "GET"; - _requests[1580].Request.Path = "/subscriptions/5cad99f8-f66d-/resourceGroups/d704e7ee-d001-4aa/providers/Microsoft.Cdn/profiles/7044cab4-89/endpoints"; - _requests[1581] = new DefaultHttpContext(); - _requests[1581].RequestServices = CreateServices(); - _requests[1581].Request.Method = "POST"; - _requests[1581].Request.Path = "/subscriptions/946b59b4-2a5f-/resourceGroups/e0c70970-a48a-489/providers/Microsoft.Cdn/profiles/29a52e43-c4/generateSsoUri"; - _requests[1582] = new DefaultHttpContext(); - _requests[1582].RequestServices = CreateServices(); - _requests[1582].Request.Method = "POST"; - _requests[1582].Request.Path = "/subscriptions/2de3d09c-5b24-/resourceGroups/ea42eb14-c62d-43c/providers/Microsoft.Cdn/profiles/c6737a67-c8/getSupportedOptimizationTypes"; - _requests[1583] = new DefaultHttpContext(); - _requests[1583].RequestServices = CreateServices(); - _requests[1583].Request.Method = "GET"; - _requests[1583].Request.Path = "/subscriptions/37ce4dc4-0fe9-/resourceGroups/fe59f042-6db1-420/providers/Microsoft.CertificateRegistration/certificateOrders/b1ee7716-3e77-41a3-b/certificates"; - _requests[1584] = new DefaultHttpContext(); - _requests[1584].RequestServices = CreateServices(); - _requests[1584].Request.Method = "POST"; - _requests[1584].Request.Path = "/subscriptions/50131bb5-d3a9-/resourceGroups/d9e2a095-3809-465/providers/Microsoft.CertificateRegistration/certificateOrders/f8f98e5c-33fa-4e5d-b/resendRequestEmails"; - _requests[1585] = new DefaultHttpContext(); - _requests[1585].RequestServices = CreateServices(); - _requests[1585].Request.Method = "POST"; - _requests[1585].Request.Path = "/subscriptions/c0d64a25-7599-/resourceGroups/ce338188-619f-4f4/providers/Microsoft.CertificateRegistration/certificateOrders/8d72e86a-c522-47d6-9/retrieveSiteSeal"; - _requests[1586] = new DefaultHttpContext(); - _requests[1586].RequestServices = CreateServices(); - _requests[1586].Request.Method = "POST"; - _requests[1586].Request.Path = "/subscriptions/cf9377d5-f69e-/resourceGroups/1121933d-aac1-467/providers/Microsoft.CertificateRegistration/certificateOrders/4357b/reissue"; - _requests[1587] = new DefaultHttpContext(); - _requests[1587].RequestServices = CreateServices(); - _requests[1587].Request.Method = "POST"; - _requests[1587].Request.Path = "/subscriptions/b8f150e6-dfc1-/resourceGroups/81843a39-c533-42f/providers/Microsoft.CertificateRegistration/certificateOrders/e2b1a/renew"; - _requests[1588] = new DefaultHttpContext(); - _requests[1588].RequestServices = CreateServices(); - _requests[1588].Request.Method = "POST"; - _requests[1588].Request.Path = "/subscriptions/9f13eb29-fd9d-/resourceGroups/e047cc8e-e568-49f/providers/Microsoft.CertificateRegistration/certificateOrders/94ad8/resendEmail"; - _requests[1589] = new DefaultHttpContext(); - _requests[1589].RequestServices = CreateServices(); - _requests[1589].Request.Method = "POST"; - _requests[1589].Request.Path = "/subscriptions/7194312a-9bf7-/resourceGroups/dae7c45c-c7aa-43d/providers/Microsoft.CertificateRegistration/certificateOrders/3bba3/retrieveCertificateActions"; - _requests[1590] = new DefaultHttpContext(); - _requests[1590].RequestServices = CreateServices(); - _requests[1590].Request.Method = "POST"; - _requests[1590].Request.Path = "/subscriptions/a7d963f4-b8f5-/resourceGroups/759230d5-43b3-414/providers/Microsoft.CertificateRegistration/certificateOrders/df888/retrieveEmailHistory"; - _requests[1591] = new DefaultHttpContext(); - _requests[1591].RequestServices = CreateServices(); - _requests[1591].Request.Method = "POST"; - _requests[1591].Request.Path = "/subscriptions/a420b4b5-05a6-/resourceGroups/c40eb74b-8a58-439/providers/Microsoft.CertificateRegistration/certificateOrders/9eb87/verifyDomainOwnership"; - _requests[1592] = new DefaultHttpContext(); - _requests[1592].RequestServices = CreateServices(); - _requests[1592].Request.Method = "POST"; - _requests[1592].Request.Path = "/subscriptions/77cc7f6d-5196-/resourceGroups/b2c15ee1-6691-41a/providers/Microsoft.CognitiveServices/accounts/b9506207-60/listKeys"; - _requests[1593] = new DefaultHttpContext(); - _requests[1593].RequestServices = CreateServices(); - _requests[1593].Request.Method = "POST"; - _requests[1593].Request.Path = "/subscriptions/5294b75d-893d-/resourceGroups/d328ed43-7191-4b2/providers/Microsoft.CognitiveServices/accounts/f27daa85-21/regenerateKey"; - _requests[1594] = new DefaultHttpContext(); - _requests[1594].RequestServices = CreateServices(); - _requests[1594].Request.Method = "GET"; - _requests[1594].Request.Path = "/subscriptions/abece642-1ced-/resourceGroups/5a50d1bc-bb98-481/providers/Microsoft.CognitiveServices/accounts/230178d5-6e/skus"; - _requests[1595] = new DefaultHttpContext(); - _requests[1595].RequestServices = CreateServices(); - _requests[1595].Request.Method = "GET"; - _requests[1595].Request.Path = "/subscriptions/5610b5aa-0b3f-/resourceGroups/a3291c8d-31b7-4c6/providers/Microsoft.CognitiveServices/accounts/7584cc72-2d/usages"; - _requests[1596] = new DefaultHttpContext(); - _requests[1596].RequestServices = CreateServices(); - _requests[1596].Request.Method = "GET"; - _requests[1596].Request.Path = "/subscriptions/79bb2731-a1ec-/resourceGroups/7ccebd13-87af-4c5/providers/Microsoft.Compute/availabilitySets/776d05d2-0cd1-4c00-/vmSizes"; - _requests[1597] = new DefaultHttpContext(); - _requests[1597].RequestServices = CreateServices(); - _requests[1597].Request.Method = "POST"; - _requests[1597].Request.Path = "/subscriptions/2e194bca-b6c8-/resourceGroups/bb50eb20-5424-40e/providers/Microsoft.Compute/disks/b9b3a0c7/beginGetAccess"; - _requests[1598] = new DefaultHttpContext(); - _requests[1598].RequestServices = CreateServices(); - _requests[1598].Request.Method = "POST"; - _requests[1598].Request.Path = "/subscriptions/25c7473d-ec94-/resourceGroups/598a3445-a894-4e1/providers/Microsoft.Compute/disks/47414db3/endGetAccess"; - _requests[1599] = new DefaultHttpContext(); - _requests[1599].RequestServices = CreateServices(); - _requests[1599].Request.Method = "GET"; - _requests[1599].Request.Path = "/subscriptions/33950299-16c1-/resourceGroups/0d8d8ff4-2584-440/providers/Microsoft.Compute/galleries/18de2366-d3/images"; - _requests[1600] = new DefaultHttpContext(); - _requests[1600].RequestServices = CreateServices(); - _requests[1600].Request.Method = "POST"; - _requests[1600].Request.Path = "/subscriptions/b307e549-f9eb-/resourceGroups/ea0c9a75-d938-499/providers/Microsoft.Compute/snapshots/cbf872f3-ace/beginGetAccess"; - _requests[1601] = new DefaultHttpContext(); - _requests[1601].RequestServices = CreateServices(); - _requests[1601].Request.Method = "POST"; - _requests[1601].Request.Path = "/subscriptions/55c13099-132a-/resourceGroups/32838655-5ce3-4d6/providers/Microsoft.Compute/snapshots/a40afda7-97e/endGetAccess"; - _requests[1602] = new DefaultHttpContext(); - _requests[1602].RequestServices = CreateServices(); - _requests[1602].Request.Method = "POST"; - _requests[1602].Request.Path = "/subscriptions/ff3cb6e8-cb82-/resourceGroups/b17b3cbc-8dc0-47b/providers/Microsoft.Compute/virtualMachines/e15c83/capture"; - _requests[1603] = new DefaultHttpContext(); - _requests[1603].RequestServices = CreateServices(); - _requests[1603].Request.Method = "POST"; - _requests[1603].Request.Path = "/subscriptions/37680225-fd4f-/resourceGroups/714bea6a-f69e-49e/providers/Microsoft.Compute/virtualMachines/61321e/convertToManagedDisks"; - _requests[1604] = new DefaultHttpContext(); - _requests[1604].RequestServices = CreateServices(); - _requests[1604].Request.Method = "POST"; - _requests[1604].Request.Path = "/subscriptions/1def0ef3-7468-/resourceGroups/80c6688f-86aa-4a0/providers/Microsoft.Compute/virtualMachines/dcf463/deallocate"; - _requests[1605] = new DefaultHttpContext(); - _requests[1605].RequestServices = CreateServices(); - _requests[1605].Request.Method = "GET"; - _requests[1605].Request.Path = "/subscriptions/c6788d90-927f-/resourceGroups/93a960f6-5eed-44c/providers/Microsoft.Compute/virtualMachines/2696c1/extensions"; - _requests[1606] = new DefaultHttpContext(); - _requests[1606].RequestServices = CreateServices(); - _requests[1606].Request.Method = "POST"; - _requests[1606].Request.Path = "/subscriptions/8267f971-41fb-/resourceGroups/70a60581-7443-4a2/providers/Microsoft.Compute/virtualMachines/db4f2f/generalize"; - _requests[1607] = new DefaultHttpContext(); - _requests[1607].RequestServices = CreateServices(); - _requests[1607].Request.Method = "GET"; - _requests[1607].Request.Path = "/subscriptions/c01b1523-9637-/resourceGroups/19fb5d0a-b823-437/providers/Microsoft.Compute/virtualMachines/7f1e96/instanceView"; - _requests[1608] = new DefaultHttpContext(); - _requests[1608].RequestServices = CreateServices(); - _requests[1608].Request.Method = "POST"; - _requests[1608].Request.Path = "/subscriptions/976a5a21-ce56-/resourceGroups/5923d67f-83fa-4a0/providers/Microsoft.Compute/virtualMachines/ea82e5/performMaintenance"; - _requests[1609] = new DefaultHttpContext(); - _requests[1609].RequestServices = CreateServices(); - _requests[1609].Request.Method = "POST"; - _requests[1609].Request.Path = "/subscriptions/77f5a19d-d77c-/resourceGroups/869e1aa1-2d46-457/providers/Microsoft.Compute/virtualMachines/527509/powerOff"; - _requests[1610] = new DefaultHttpContext(); - _requests[1610].RequestServices = CreateServices(); - _requests[1610].Request.Method = "POST"; - _requests[1610].Request.Path = "/subscriptions/2e8bcff2-48e5-/resourceGroups/ba410b1d-3e5d-4ee/providers/Microsoft.Compute/virtualMachines/9f3dbd/redeploy"; - _requests[1611] = new DefaultHttpContext(); - _requests[1611].RequestServices = CreateServices(); - _requests[1611].Request.Method = "POST"; - _requests[1611].Request.Path = "/subscriptions/143cce93-34cb-/resourceGroups/8dd82508-2986-4f3/providers/Microsoft.Compute/virtualMachines/8930cd/restart"; - _requests[1612] = new DefaultHttpContext(); - _requests[1612].RequestServices = CreateServices(); - _requests[1612].Request.Method = "POST"; - _requests[1612].Request.Path = "/subscriptions/8f449f37-48b1-/resourceGroups/fe35ac35-84ef-4a7/providers/Microsoft.Compute/virtualMachines/0037b3/runCommand"; - _requests[1613] = new DefaultHttpContext(); - _requests[1613].RequestServices = CreateServices(); - _requests[1613].Request.Method = "POST"; - _requests[1613].Request.Path = "/subscriptions/85afddef-43ab-/resourceGroups/c61a8099-7e1d-4d2/providers/Microsoft.Compute/virtualMachines/31807f/start"; - _requests[1614] = new DefaultHttpContext(); - _requests[1614].RequestServices = CreateServices(); - _requests[1614].Request.Method = "GET"; - _requests[1614].Request.Path = "/subscriptions/b7defe70-9a90-/resourceGroups/823d8043-04fb-4a6/providers/Microsoft.Compute/virtualMachines/7f6d7e/vmSizes"; - _requests[1615] = new DefaultHttpContext(); - _requests[1615].RequestServices = CreateServices(); - _requests[1615].Request.Method = "GET"; - _requests[1615].Request.Path = "/subscriptions/15ed2e5b-076b-/resourceGroups/eaa75ca8-4e08-402/providers/microsoft.Compute/virtualMachineScaleSets/40d01389-f77d-4f0b-8763-80/networkInterfaces"; - _requests[1616] = new DefaultHttpContext(); - _requests[1616].RequestServices = CreateServices(); - _requests[1616].Request.Method = "GET"; - _requests[1616].Request.Path = "/subscriptions/c3ca6b1c-2ea4-/resourceGroups/1b73d156-a704-459/providers/Microsoft.Compute/virtualMachineScaleSets/31f2a2a7-1d9c-4e7c-b15f-67/publicipaddresses"; - _requests[1617] = new DefaultHttpContext(); - _requests[1617].RequestServices = CreateServices(); - _requests[1617].Request.Method = "GET"; - _requests[1617].Request.Path = "/subscriptions/d3459809-8838-/resourceGroups/50e4974d-bf94-45a/providers/Microsoft.Compute/virtualMachineScaleSets/cf9b615c-3623-41a4-a342-33/virtualMachines"; - _requests[1618] = new DefaultHttpContext(); - _requests[1618].RequestServices = CreateServices(); - _requests[1618].Request.Method = "POST"; - _requests[1618].Request.Path = "/subscriptions/0ff90d24-ebf6-/resourceGroups/bf648259-8e90-468/providers/Microsoft.Compute/virtualMachineScaleSets/a9fd3888-9d7a-/deallocate"; - _requests[1619] = new DefaultHttpContext(); - _requests[1619].RequestServices = CreateServices(); - _requests[1619].Request.Method = "POST"; - _requests[1619].Request.Path = "/subscriptions/bf77306a-cdec-/resourceGroups/c8379a3f-d1e2-4ec/providers/Microsoft.Compute/virtualMachineScaleSets/49d24726-3d45-/delete"; - _requests[1620] = new DefaultHttpContext(); - _requests[1620].RequestServices = CreateServices(); - _requests[1620].Request.Method = "GET"; - _requests[1620].Request.Path = "/subscriptions/6945e1de-9e31-/resourceGroups/3dae8213-398c-4ac/providers/Microsoft.Compute/virtualMachineScaleSets/1ba3d29e-137b-/extensions"; - _requests[1621] = new DefaultHttpContext(); - _requests[1621].RequestServices = CreateServices(); - _requests[1621].Request.Method = "POST"; - _requests[1621].Request.Path = "/subscriptions/3450bdd3-386a-/resourceGroups/b47b69da-4481-42a/providers/Microsoft.Compute/virtualMachineScaleSets/7d7b3c3c-f6b8-/forceRecoveryServiceFabricPlatformUpdateDomainWalk"; - _requests[1622] = new DefaultHttpContext(); - _requests[1622].RequestServices = CreateServices(); - _requests[1622].Request.Method = "GET"; - _requests[1622].Request.Path = "/subscriptions/bd119471-9bee-/resourceGroups/cd39dfe6-08fb-4d4/providers/Microsoft.Compute/virtualMachineScaleSets/70f4cee4-53cf-/instanceView"; - _requests[1623] = new DefaultHttpContext(); - _requests[1623].RequestServices = CreateServices(); - _requests[1623].Request.Method = "POST"; - _requests[1623].Request.Path = "/subscriptions/938762bd-f7a5-/resourceGroups/a97b03f0-3d6a-45e/providers/Microsoft.Compute/virtualMachineScaleSets/1598090c-d875-/manualupgrade"; - _requests[1624] = new DefaultHttpContext(); - _requests[1624].RequestServices = CreateServices(); - _requests[1624].Request.Method = "POST"; - _requests[1624].Request.Path = "/subscriptions/60ce7899-ad6f-/resourceGroups/fa09b50d-f14c-4b8/providers/Microsoft.Compute/virtualMachineScaleSets/839b42f1-ad1d-/osRollingUpgrade"; - _requests[1625] = new DefaultHttpContext(); - _requests[1625].RequestServices = CreateServices(); - _requests[1625].Request.Method = "GET"; - _requests[1625].Request.Path = "/subscriptions/da30c62b-71d8-/resourceGroups/7a5d63b5-b958-47f/providers/Microsoft.Compute/virtualMachineScaleSets/e1be6862-d1dc-/osUpgradeHistory"; - _requests[1626] = new DefaultHttpContext(); - _requests[1626].RequestServices = CreateServices(); - _requests[1626].Request.Method = "POST"; - _requests[1626].Request.Path = "/subscriptions/4591f199-911b-/resourceGroups/c2e8ba1d-eef1-49b/providers/Microsoft.Compute/virtualMachineScaleSets/4e95e65d-b2e6-/performMaintenance"; - _requests[1627] = new DefaultHttpContext(); - _requests[1627].RequestServices = CreateServices(); - _requests[1627].Request.Method = "POST"; - _requests[1627].Request.Path = "/subscriptions/3033963d-6f49-/resourceGroups/01f6a945-20b1-4df/providers/Microsoft.Compute/virtualMachineScaleSets/55d7909a-a2a5-/poweroff"; - _requests[1628] = new DefaultHttpContext(); - _requests[1628].RequestServices = CreateServices(); - _requests[1628].Request.Method = "POST"; - _requests[1628].Request.Path = "/subscriptions/3d115f0c-2184-/resourceGroups/f950c8d6-15a8-427/providers/Microsoft.Compute/virtualMachineScaleSets/086abfb8-9d01-/redeploy"; - _requests[1629] = new DefaultHttpContext(); - _requests[1629].RequestServices = CreateServices(); - _requests[1629].Request.Method = "POST"; - _requests[1629].Request.Path = "/subscriptions/e5b04d6c-4123-/resourceGroups/3f87ea40-d609-4f6/providers/Microsoft.Compute/virtualMachineScaleSets/7a1f0d6b-86f9-/reimage"; - _requests[1630] = new DefaultHttpContext(); - _requests[1630].RequestServices = CreateServices(); - _requests[1630].Request.Method = "POST"; - _requests[1630].Request.Path = "/subscriptions/dcfe1263-b831-/resourceGroups/ced5e649-6e78-4ba/providers/Microsoft.Compute/virtualMachineScaleSets/bd46a0da-7d0d-/reimageall"; - _requests[1631] = new DefaultHttpContext(); - _requests[1631].RequestServices = CreateServices(); - _requests[1631].Request.Method = "POST"; - _requests[1631].Request.Path = "/subscriptions/f6fbc85c-5722-/resourceGroups/96a2ae94-65b3-484/providers/Microsoft.Compute/virtualMachineScaleSets/12fc12ad-c10b-/restart"; - _requests[1632] = new DefaultHttpContext(); - _requests[1632].RequestServices = CreateServices(); - _requests[1632].Request.Method = "GET"; - _requests[1632].Request.Path = "/subscriptions/0a673f59-ab9c-/resourceGroups/2cedd528-31b4-4ae/providers/Microsoft.Compute/virtualMachineScaleSets/20ed4bef-9d4b-/skus"; - _requests[1633] = new DefaultHttpContext(); - _requests[1633].RequestServices = CreateServices(); - _requests[1633].Request.Method = "POST"; - _requests[1633].Request.Path = "/subscriptions/9e32f12f-e89a-/resourceGroups/df583066-f021-460/providers/Microsoft.Compute/virtualMachineScaleSets/f5238599-ee77-/start"; - _requests[1634] = new DefaultHttpContext(); - _requests[1634].RequestServices = CreateServices(); - _requests[1634].Request.Method = "GET"; - _requests[1634].Request.Path = "/subscriptions/f9ed3930-2340-/resourceGroups/44baec17-e438-46b/providers/Microsoft.ContainerRegistry/registries/3b8e9165-99b/builds"; - _requests[1635] = new DefaultHttpContext(); - _requests[1635].RequestServices = CreateServices(); - _requests[1635].Request.Method = "GET"; - _requests[1635].Request.Path = "/subscriptions/5e39d9a7-678e-/resourceGroups/f07eb1ee-151c-4be/providers/Microsoft.ContainerRegistry/registries/fe3a0292-f89/buildTasks"; - _requests[1636] = new DefaultHttpContext(); - _requests[1636].RequestServices = CreateServices(); - _requests[1636].Request.Method = "POST"; - _requests[1636].Request.Path = "/subscriptions/461f51e9-ec22-/resourceGroups/712442d4-806c-4ce/providers/Microsoft.ContainerRegistry/registries/b459d982-824/getBuildSourceUploadUrl"; - _requests[1637] = new DefaultHttpContext(); - _requests[1637].RequestServices = CreateServices(); - _requests[1637].Request.Method = "POST"; - _requests[1637].Request.Path = "/subscriptions/552d3125-9239-/resourceGroups/2b3e0b3f-6e5c-449/providers/Microsoft.ContainerRegistry/registries/de969142-ee5/getCredentials"; - _requests[1638] = new DefaultHttpContext(); - _requests[1638].RequestServices = CreateServices(); - _requests[1638].Request.Method = "POST"; - _requests[1638].Request.Path = "/subscriptions/96533f92-a7b6-/resourceGroups/219c3221-9f10-442/providers/Microsoft.ContainerRegistry/registries/2875494f-9be/importImage"; - _requests[1639] = new DefaultHttpContext(); - _requests[1639].RequestServices = CreateServices(); - _requests[1639].Request.Method = "POST"; - _requests[1639].Request.Path = "/subscriptions/de2611c2-e264-/resourceGroups/9b04de0f-b651-4cb/providers/Microsoft.ContainerRegistry/registries/48d06f7b-882/listCredentials"; - _requests[1640] = new DefaultHttpContext(); - _requests[1640].RequestServices = CreateServices(); - _requests[1640].Request.Method = "GET"; - _requests[1640].Request.Path = "/subscriptions/5d8f9be6-7f6f-/resourceGroups/0d84b8b0-c471-407/providers/Microsoft.ContainerRegistry/registries/047f4c13-d84/listUsages"; - _requests[1641] = new DefaultHttpContext(); - _requests[1641].RequestServices = CreateServices(); - _requests[1641].Request.Method = "POST"; - _requests[1641].Request.Path = "/subscriptions/ea9144bc-d40d-/resourceGroups/b443e48d-e14d-4e6/providers/Microsoft.ContainerRegistry/registries/cb8f1c5b-3fe/queueBuild"; - _requests[1642] = new DefaultHttpContext(); - _requests[1642].RequestServices = CreateServices(); - _requests[1642].Request.Method = "POST"; - _requests[1642].Request.Path = "/subscriptions/5bae28e3-12b0-/resourceGroups/fceb97fd-40ef-41e/providers/Microsoft.ContainerRegistry/registries/621873d1-257/regenerateCredential"; - _requests[1643] = new DefaultHttpContext(); - _requests[1643].RequestServices = CreateServices(); - _requests[1643].Request.Method = "POST"; - _requests[1643].Request.Path = "/subscriptions/3225da48-c2ac-/resourceGroups/68dc2902-0f73-4c6/providers/Microsoft.ContainerRegistry/registries/9ba2061b-f63/regenerateCredentials"; - _requests[1644] = new DefaultHttpContext(); - _requests[1644].RequestServices = CreateServices(); - _requests[1644].Request.Method = "GET"; - _requests[1644].Request.Path = "/subscriptions/198f6134-0dc0-/resourceGroups/e10bf1f5-4629-485/providers/Microsoft.ContainerRegistry/registries/36f19306-4dc/replications"; - _requests[1645] = new DefaultHttpContext(); - _requests[1645].RequestServices = CreateServices(); - _requests[1645].Request.Method = "GET"; - _requests[1645].Request.Path = "/subscriptions/c786be8b-4fd4-/resourceGroups/9625388d-ac04-424/providers/Microsoft.ContainerRegistry/registries/9fcecec4-072/webhooks"; - _requests[1646] = new DefaultHttpContext(); - _requests[1646].RequestServices = CreateServices(); - _requests[1646].Request.Method = "GET"; - _requests[1646].Request.Path = "/subscriptions/758bf5cf-c780-/resourceGroups/da0ea8b8-8ff8-43b/providers/Microsoft.CustomerInsights/hubs/85eaf98/authorizationPolicies"; - _requests[1647] = new DefaultHttpContext(); - _requests[1647].RequestServices = CreateServices(); - _requests[1647].Request.Method = "GET"; - _requests[1647].Request.Path = "/subscriptions/4250a4ad-a89f-/resourceGroups/ce1d4498-ff39-424/providers/Microsoft.CustomerInsights/hubs/45ab975/connectors"; - _requests[1648] = new DefaultHttpContext(); - _requests[1648].RequestServices = CreateServices(); - _requests[1648].Request.Method = "GET"; - _requests[1648].Request.Path = "/subscriptions/afdefaca-8aaf-/resourceGroups/d16c2d4c-26d4-425/providers/Microsoft.CustomerInsights/hubs/2cab18f/interactions"; - _requests[1649] = new DefaultHttpContext(); - _requests[1649].RequestServices = CreateServices(); - _requests[1649].Request.Method = "GET"; - _requests[1649].Request.Path = "/subscriptions/b67b3ac6-3a88-/resourceGroups/e34502b1-bf64-462/providers/Microsoft.CustomerInsights/hubs/4500a0b/kpi"; - _requests[1650] = new DefaultHttpContext(); - _requests[1650].RequestServices = CreateServices(); - _requests[1650].Request.Method = "GET"; - _requests[1650].Request.Path = "/subscriptions/f738af59-121d-/resourceGroups/51909e2c-0191-48d/providers/Microsoft.CustomerInsights/hubs/52d7fc3/links"; - _requests[1651] = new DefaultHttpContext(); - _requests[1651].RequestServices = CreateServices(); - _requests[1651].Request.Method = "GET"; - _requests[1651].Request.Path = "/subscriptions/606f2d67-d76d-/resourceGroups/3296b0d3-afd6-413/providers/Microsoft.CustomerInsights/hubs/98e0faa/predictions"; - _requests[1652] = new DefaultHttpContext(); - _requests[1652].RequestServices = CreateServices(); - _requests[1652].Request.Method = "GET"; - _requests[1652].Request.Path = "/subscriptions/7c5a9a8a-1e01-/resourceGroups/7800e8fc-2f0f-406/providers/Microsoft.CustomerInsights/hubs/61daf76/profiles"; - _requests[1653] = new DefaultHttpContext(); - _requests[1653].RequestServices = CreateServices(); - _requests[1653].Request.Method = "GET"; - _requests[1653].Request.Path = "/subscriptions/11104193-f94e-/resourceGroups/0355e34e-152f-4e0/providers/Microsoft.CustomerInsights/hubs/2408c60/relationshipLinks"; - _requests[1654] = new DefaultHttpContext(); - _requests[1654].RequestServices = CreateServices(); - _requests[1654].Request.Method = "GET"; - _requests[1654].Request.Path = "/subscriptions/3fbb84b6-de68-/resourceGroups/bd43ebc5-8834-413/providers/Microsoft.CustomerInsights/hubs/16cd7dc/relationships"; - _requests[1655] = new DefaultHttpContext(); - _requests[1655].RequestServices = CreateServices(); - _requests[1655].Request.Method = "GET"; - _requests[1655].Request.Path = "/subscriptions/c4358cc0-d8f5-/resourceGroups/74c95ab0-d6e3-407/providers/Microsoft.CustomerInsights/hubs/a46aab5/roleAssignments"; - _requests[1656] = new DefaultHttpContext(); - _requests[1656].RequestServices = CreateServices(); - _requests[1656].Request.Method = "GET"; - _requests[1656].Request.Path = "/subscriptions/4e8b085d-f9aa-/resourceGroups/6a23670d-00eb-48c/providers/Microsoft.CustomerInsights/hubs/b5d6902/roles"; - _requests[1657] = new DefaultHttpContext(); - _requests[1657].RequestServices = CreateServices(); - _requests[1657].Request.Method = "GET"; - _requests[1657].Request.Path = "/subscriptions/79a88d69-8709-/resourceGroups/7aa84a18-179d-4a3/providers/Microsoft.CustomerInsights/hubs/e58329d/views"; - _requests[1658] = new DefaultHttpContext(); - _requests[1658].RequestServices = CreateServices(); - _requests[1658].Request.Method = "GET"; - _requests[1658].Request.Path = "/subscriptions/b4ecf599-85fc-/resourceGroups/efac23ec-0c94-4f9/providers/Microsoft.CustomerInsights/hubs/30883e6/widgetTypes"; - _requests[1659] = new DefaultHttpContext(); - _requests[1659].RequestServices = CreateServices(); - _requests[1659].Request.Method = "POST"; - _requests[1659].Request.Path = "/subscriptions/3fa5672b-1ad5-/resourceGroups/404e707e-bcc8-430/providers/Microsoft.DataBox/jobs/b6a586c/bookShipmentPickUp"; - _requests[1660] = new DefaultHttpContext(); - _requests[1660].RequestServices = CreateServices(); - _requests[1660].Request.Method = "POST"; - _requests[1660].Request.Path = "/subscriptions/952fde98-e26c-/resourceGroups/88ac30dc-7d34-4ee/providers/Microsoft.DataBox/jobs/3ce2ae6/cancel"; - _requests[1661] = new DefaultHttpContext(); - _requests[1661].RequestServices = CreateServices(); - _requests[1661].Request.Method = "POST"; - _requests[1661].Request.Path = "/subscriptions/b100b68c-0236-/resourceGroups/4b5ae0db-5ab6-493/providers/Microsoft.DataBox/jobs/b30b9e9/copyLogsUri"; - _requests[1662] = new DefaultHttpContext(); - _requests[1662].RequestServices = CreateServices(); - _requests[1662].Request.Method = "POST"; - _requests[1662].Request.Path = "/subscriptions/69f20c8f-2759-/resourceGroups/0030a34b-e89b-47d/providers/Microsoft.DataBox/jobs/777c200/downloadShippingLabel"; - _requests[1663] = new DefaultHttpContext(); - _requests[1663].RequestServices = CreateServices(); - _requests[1663].Request.Method = "POST"; - _requests[1663].Request.Path = "/subscriptions/59ed9ebc-a70e-/resourceGroups/0a7bc8cc-1314-460/providers/Microsoft.DataBox/jobs/ae9b1c5/listSecrets"; - _requests[1664] = new DefaultHttpContext(); - _requests[1664].RequestServices = CreateServices(); - _requests[1664].Request.Method = "POST"; - _requests[1664].Request.Path = "/subscriptions/bd0d8987-a3d6-/resourceGroups/c604d3e0-1b4f-414/providers/Microsoft.DataBox/jobs/901990b/reportIssue"; - _requests[1665] = new DefaultHttpContext(); - _requests[1665].RequestServices = CreateServices(); - _requests[1665].Request.Method = "GET"; - _requests[1665].Request.Path = "/subscriptions/3e2a1900-2621-/resourceGroups/cb0d0f31-d6a5-47f/providers/Microsoft.DataFactory/factories/cf0ed08f-10/datasets"; - _requests[1666] = new DefaultHttpContext(); - _requests[1666].RequestServices = CreateServices(); - _requests[1666].Request.Method = "GET"; - _requests[1666].Request.Path = "/subscriptions/cd5768ef-61e5-/resourceGroups/4f8269a5-78a3-4d1/providers/Microsoft.DataFactory/factories/9a7ae3dd-1a/integrationRuntimes"; - _requests[1667] = new DefaultHttpContext(); - _requests[1667].RequestServices = CreateServices(); - _requests[1667].Request.Method = "GET"; - _requests[1667].Request.Path = "/subscriptions/ad64aac8-513b-/resourceGroups/fe419a93-22e3-477/providers/Microsoft.DataFactory/factories/c892b9ad-b1/linkedservices"; - _requests[1668] = new DefaultHttpContext(); - _requests[1668].RequestServices = CreateServices(); - _requests[1668].Request.Method = "POST"; - _requests[1668].Request.Path = "/subscriptions/54148621-8a58-/resourceGroups/37f7adba-60cd-4e7/providers/Microsoft.DataFactory/factories/3657b9cf-c6/pipelineruns"; - _requests[1669] = new DefaultHttpContext(); - _requests[1669].RequestServices = CreateServices(); - _requests[1669].Request.Method = "GET"; - _requests[1669].Request.Path = "/subscriptions/958f094b-6c0f-/resourceGroups/42953364-c79e-4ee/providers/Microsoft.DataFactory/factories/31120246-82/pipelines"; - _requests[1670] = new DefaultHttpContext(); - _requests[1670].RequestServices = CreateServices(); - _requests[1670].Request.Method = "GET"; - _requests[1670].Request.Path = "/subscriptions/3541afd9-034e-/resourceGroups/5d62db6e-e097-420/providers/Microsoft.DataFactory/factories/e71ff6f4-8b/triggers"; - _requests[1671] = new DefaultHttpContext(); - _requests[1671].RequestServices = CreateServices(); - _requests[1671].Request.Method = "GET"; - _requests[1671].Request.Path = "/subscriptions/349b3bd1-7d29-/resourceGroups/fceca62e-e039-45f/providers/Microsoft.DataLakeAnalytics/accounts/56e265f3-76/computePolicies"; - _requests[1672] = new DefaultHttpContext(); - _requests[1672].RequestServices = CreateServices(); - _requests[1672].Request.Method = "GET"; - _requests[1672].Request.Path = "/subscriptions/d1f0af2b-e995-/resourceGroups/06a3bb37-51b1-4c0/providers/Microsoft.DataLakeAnalytics/accounts/2e749a1c-12/dataLakeStoreAccounts"; - _requests[1673] = new DefaultHttpContext(); - _requests[1673].RequestServices = CreateServices(); - _requests[1673].Request.Method = "GET"; - _requests[1673].Request.Path = "/subscriptions/c1855f9e-85be-/resourceGroups/42a0528c-9a5b-4d9/providers/Microsoft.DataLakeAnalytics/accounts/84f2479a-af/firewallRules"; - _requests[1674] = new DefaultHttpContext(); - _requests[1674].RequestServices = CreateServices(); - _requests[1674].Request.Method = "GET"; - _requests[1674].Request.Path = "/subscriptions/c9ece2ed-a985-/resourceGroups/e13b8efc-4668-438/providers/Microsoft.DataLakeAnalytics/accounts/37a3bdd1-5f/storageAccounts"; - _requests[1675] = new DefaultHttpContext(); - _requests[1675].RequestServices = CreateServices(); - _requests[1675].Request.Method = "POST"; - _requests[1675].Request.Path = "/subscriptions/ced3d6ce-a324-/resourceGroups/d9521b78-0886-4f0/providers/Microsoft.DataLakeStore/accounts/0f64d201-eb/enableKeyVault"; - _requests[1676] = new DefaultHttpContext(); - _requests[1676].RequestServices = CreateServices(); - _requests[1676].Request.Method = "GET"; - _requests[1676].Request.Path = "/subscriptions/4829cc66-a4e6-/resourceGroups/df4d6835-94c0-45a/providers/Microsoft.DataLakeStore/accounts/e14f7b6b-a6/firewallRules"; - _requests[1677] = new DefaultHttpContext(); - _requests[1677].RequestServices = CreateServices(); - _requests[1677].Request.Method = "GET"; - _requests[1677].Request.Path = "/subscriptions/bc6a5b4c-a2b1-/resourceGroups/40525f89-612a-417/providers/Microsoft.DataLakeStore/accounts/86202e17-d1/trustedIdProviders"; - _requests[1678] = new DefaultHttpContext(); - _requests[1678].RequestServices = CreateServices(); - _requests[1678].Request.Method = "GET"; - _requests[1678].Request.Path = "/subscriptions/1fe13a68-51ea-/resourceGroups/267ed658-f5a9-453/providers/Microsoft.DataLakeStore/accounts/fcec99a8-5b/virtualNetworkRules"; - _requests[1679] = new DefaultHttpContext(); - _requests[1679].RequestServices = CreateServices(); - _requests[1679].Request.Method = "GET"; - _requests[1679].Request.Path = "/subscriptions/fac7bc06-b2a2-/resourceGroups/be4a7840-ec7c-400/providers/Microsoft.DBforMySQL/servers/bbac970f-0/configurations"; - _requests[1680] = new DefaultHttpContext(); - _requests[1680].RequestServices = CreateServices(); - _requests[1680].Request.Method = "GET"; - _requests[1680].Request.Path = "/subscriptions/790d2a5a-4278-/resourceGroups/c792a9f5-c9ee-4fa/providers/Microsoft.DBforMySQL/servers/ea6f1284-5/databases"; - _requests[1681] = new DefaultHttpContext(); - _requests[1681].RequestServices = CreateServices(); - _requests[1681].Request.Method = "GET"; - _requests[1681].Request.Path = "/subscriptions/b5d54e36-3c0a-/resourceGroups/b2ebc5f2-9c07-462/providers/Microsoft.DBforMySQL/servers/6898516e-b/firewallRules"; - _requests[1682] = new DefaultHttpContext(); - _requests[1682].RequestServices = CreateServices(); - _requests[1682].Request.Method = "GET"; - _requests[1682].Request.Path = "/subscriptions/8ae4b182-d8a2-/resourceGroups/9a27f303-b888-4ed/providers/Microsoft.DBforMySQL/servers/5f3499fb-0/logFiles"; - _requests[1683] = new DefaultHttpContext(); - _requests[1683].RequestServices = CreateServices(); - _requests[1683].Request.Method = "GET"; - _requests[1683].Request.Path = "/subscriptions/b8de2536-21e2-/resourceGroups/fa2bdb93-154c-4b1/providers/Microsoft.DBforMySQL/servers/bb7d2126-8/virtualNetworkRules"; - _requests[1684] = new DefaultHttpContext(); - _requests[1684].RequestServices = CreateServices(); - _requests[1684].Request.Method = "GET"; - _requests[1684].Request.Path = "/subscriptions/98532b03-37f8-/resourceGroups/316fa149-a4c1-4de/providers/Microsoft.DBforPostgreSQL/servers/4dfe3610-e/configurations"; - _requests[1685] = new DefaultHttpContext(); - _requests[1685].RequestServices = CreateServices(); - _requests[1685].Request.Method = "GET"; - _requests[1685].Request.Path = "/subscriptions/5a5b0fbd-e9a2-/resourceGroups/0a801b41-8959-4fd/providers/Microsoft.DBforPostgreSQL/servers/582274cc-9/databases"; - _requests[1686] = new DefaultHttpContext(); - _requests[1686].RequestServices = CreateServices(); - _requests[1686].Request.Method = "GET"; - _requests[1686].Request.Path = "/subscriptions/9e01b565-aadd-/resourceGroups/7b156dcd-3990-40d/providers/Microsoft.DBforPostgreSQL/servers/fd97d1cc-4/firewallRules"; - _requests[1687] = new DefaultHttpContext(); - _requests[1687].RequestServices = CreateServices(); - _requests[1687].Request.Method = "GET"; - _requests[1687].Request.Path = "/subscriptions/1b3e5a58-89bd-/resourceGroups/ee2ada13-4767-461/providers/Microsoft.DBforPostgreSQL/servers/bdc4caef-3/logFiles"; - _requests[1688] = new DefaultHttpContext(); - _requests[1688].RequestServices = CreateServices(); - _requests[1688].Request.Method = "GET"; - _requests[1688].Request.Path = "/subscriptions/73f08883-0dc4-/resourceGroups/23510aea-79dc-471/providers/Microsoft.DBforPostgreSQL/servers/0d29eb91-3/virtualNetworkRules"; - _requests[1689] = new DefaultHttpContext(); - _requests[1689].RequestServices = CreateServices(); - _requests[1689].Request.Method = "GET"; - _requests[1689].Request.Path = "/subscriptions/cfea6607-fcc8-/resourceGroups/361fe189-3a43-4d7/providers/Microsoft.Devices/IotHubs/187999ae-c/routingEndpointsHealth"; - _requests[1690] = new DefaultHttpContext(); - _requests[1690].RequestServices = CreateServices(); - _requests[1690].Request.Method = "GET"; - _requests[1690].Request.Path = "/subscriptions/1f8071d6-ac33-/resourceGroups/67fd36d4-3971-437/providers/Microsoft.Devices/IotHubs/0be14169-db1/certificates"; - _requests[1691] = new DefaultHttpContext(); - _requests[1691].RequestServices = CreateServices(); - _requests[1691].Request.Method = "POST"; - _requests[1691].Request.Path = "/subscriptions/3c41d973-c018-/resourceGroups/45552e8f-a643-4b3/providers/Microsoft.Devices/IotHubs/c6824078-a49/exportDevices"; - _requests[1692] = new DefaultHttpContext(); - _requests[1692].RequestServices = CreateServices(); - _requests[1692].Request.Method = "POST"; - _requests[1692].Request.Path = "/subscriptions/bc924be0-457e-/resourceGroups/6e5fd657-c38d-44e/providers/Microsoft.Devices/IotHubs/34cd9dd8-33d/importDevices"; - _requests[1693] = new DefaultHttpContext(); - _requests[1693].RequestServices = CreateServices(); - _requests[1693].Request.Method = "GET"; - _requests[1693].Request.Path = "/subscriptions/4a3c9d4e-981e-/resourceGroups/fcf7bb39-627c-4a3/providers/Microsoft.Devices/IotHubs/fee45629-d16/IotHubStats"; - _requests[1694] = new DefaultHttpContext(); - _requests[1694].RequestServices = CreateServices(); - _requests[1694].Request.Method = "GET"; - _requests[1694].Request.Path = "/subscriptions/9ef63680-c4d3-/resourceGroups/e20a4649-8d4e-419/providers/Microsoft.Devices/IotHubs/3e221463-936/jobs"; - _requests[1695] = new DefaultHttpContext(); - _requests[1695].RequestServices = CreateServices(); - _requests[1695].Request.Method = "POST"; - _requests[1695].Request.Path = "/subscriptions/de7821b7-ff8e-/resourceGroups/d7a83753-c310-491/providers/Microsoft.Devices/IotHubs/045a6ba7-9b6/listkeys"; - _requests[1696] = new DefaultHttpContext(); - _requests[1696].RequestServices = CreateServices(); - _requests[1696].Request.Method = "GET"; - _requests[1696].Request.Path = "/subscriptions/144de93f-7317-/resourceGroups/8645e07d-945f-469/providers/Microsoft.Devices/IotHubs/0c4c026e-388/quotaMetrics"; - _requests[1697] = new DefaultHttpContext(); - _requests[1697].RequestServices = CreateServices(); - _requests[1697].Request.Method = "GET"; - _requests[1697].Request.Path = "/subscriptions/b46c0624-378a-/resourceGroups/37e57355-3cbb-40b/providers/Microsoft.Devices/IotHubs/c35d9447-e08/skus"; - _requests[1698] = new DefaultHttpContext(); - _requests[1698].RequestServices = CreateServices(); - _requests[1698].Request.Method = "GET"; - _requests[1698].Request.Path = "/subscriptions/a0aafb21-0f21-/resourceGroups/d176964e-8f87-412/providers/Microsoft.Devices/provisioningServices/3a1afd2d-dffc-449a-a141/certificates"; - _requests[1699] = new DefaultHttpContext(); - _requests[1699].RequestServices = CreateServices(); - _requests[1699].Request.Method = "POST"; - _requests[1699].Request.Path = "/subscriptions/7a86191f-7cfc-/resourceGroups/57a967f1-76c2-479/providers/Microsoft.Devices/provisioningServices/a1c24f45-9c8e-4e7f-ab1f/listkeys"; - _requests[1700] = new DefaultHttpContext(); - _requests[1700].RequestServices = CreateServices(); - _requests[1700].Request.Method = "GET"; - _requests[1700].Request.Path = "/subscriptions/7347c3f8-556c-/resourceGroups/b7ce6d97-2d73-493/providers/Microsoft.Devices/provisioningServices/f9e93bab-cabe-411d-8f7a/skus"; - _requests[1701] = new DefaultHttpContext(); - _requests[1701].RequestServices = CreateServices(); - _requests[1701].Request.Method = "GET"; - _requests[1701].Request.Path = "/subscriptions/e7ae99ad-6997-/resourceGroups/5faac96b-bbbd-4bf/providers/Microsoft.DevTestLab/labs/4baca89/artifactsources"; - _requests[1702] = new DefaultHttpContext(); - _requests[1702].RequestServices = CreateServices(); - _requests[1702].Request.Method = "GET"; - _requests[1702].Request.Path = "/subscriptions/84c6253e-bcd0-/resourceGroups/15c825c4-c8e1-4b8/providers/Microsoft.DevTestLab/labs/d9be4c6/costinsights"; - _requests[1703] = new DefaultHttpContext(); - _requests[1703].RequestServices = CreateServices(); - _requests[1703].Request.Method = "GET"; - _requests[1703].Request.Path = "/subscriptions/c77d5f66-d159-/resourceGroups/0a59f41d-5822-4b5/providers/Microsoft.DevTestLab/labs/de6b693/costs"; - _requests[1704] = new DefaultHttpContext(); - _requests[1704].RequestServices = CreateServices(); - _requests[1704].Request.Method = "GET"; - _requests[1704].Request.Path = "/subscriptions/fdcf2619-8ce1-/resourceGroups/3c8559ac-515e-48f/providers/Microsoft.DevTestLab/labs/bb62f1b/customimages"; - _requests[1705] = new DefaultHttpContext(); - _requests[1705].RequestServices = CreateServices(); - _requests[1705].Request.Method = "GET"; - _requests[1705].Request.Path = "/subscriptions/fa06c47a-cc01-/resourceGroups/1ec40c05-2bbe-482/providers/Microsoft.DevTestLab/labs/cc68f43/formulas"; - _requests[1706] = new DefaultHttpContext(); - _requests[1706].RequestServices = CreateServices(); - _requests[1706].Request.Method = "GET"; - _requests[1706].Request.Path = "/subscriptions/49997d56-b3f2-/resourceGroups/d6a7790e-3872-4e0/providers/Microsoft.DevTestLab/labs/9504481/galleryimages"; - _requests[1707] = new DefaultHttpContext(); - _requests[1707].RequestServices = CreateServices(); - _requests[1707].Request.Method = "GET"; - _requests[1707].Request.Path = "/subscriptions/b7103056-b5c5-/resourceGroups/a220c9ff-8a28-470/providers/Microsoft.DevTestLab/labs/489691c/notificationchannels"; - _requests[1708] = new DefaultHttpContext(); - _requests[1708].RequestServices = CreateServices(); - _requests[1708].Request.Method = "GET"; - _requests[1708].Request.Path = "/subscriptions/40312af4-64b4-/resourceGroups/bc8f85fe-9bd8-47f/providers/Microsoft.DevTestLab/labs/45f333a/schedules"; - _requests[1709] = new DefaultHttpContext(); - _requests[1709].RequestServices = CreateServices(); - _requests[1709].Request.Method = "GET"; - _requests[1709].Request.Path = "/subscriptions/fab8f2d3-58e0-/resourceGroups/98dd929a-2dd9-420/providers/Microsoft.DevTestLab/labs/c9e64a4/servicerunners"; - _requests[1710] = new DefaultHttpContext(); - _requests[1710].RequestServices = CreateServices(); - _requests[1710].Request.Method = "GET"; - _requests[1710].Request.Path = "/subscriptions/939b86d9-0509-/resourceGroups/a53b01d6-487e-4cd/providers/Microsoft.DevTestLab/labs/64556d4/users"; - _requests[1711] = new DefaultHttpContext(); - _requests[1711].RequestServices = CreateServices(); - _requests[1711].Request.Method = "GET"; - _requests[1711].Request.Path = "/subscriptions/8474b3eb-a5c5-/resourceGroups/94c243b8-9752-47a/providers/Microsoft.DevTestLab/labs/63e7623/virtualmachines"; - _requests[1712] = new DefaultHttpContext(); - _requests[1712].RequestServices = CreateServices(); - _requests[1712].Request.Method = "GET"; - _requests[1712].Request.Path = "/subscriptions/e578cd96-ba6a-/resourceGroups/da93ffce-4caa-40f/providers/Microsoft.DevTestLab/labs/cf1ae19/virtualnetworks"; - _requests[1713] = new DefaultHttpContext(); - _requests[1713].RequestServices = CreateServices(); - _requests[1713].Request.Method = "POST"; - _requests[1713].Request.Path = "/subscriptions/20fcf4c1-fbb8-/resourceGroups/76acf505-4f19-4d3/providers/Microsoft.DevTestLab/labs/1def8/claimAnyVm"; - _requests[1714] = new DefaultHttpContext(); - _requests[1714].RequestServices = CreateServices(); - _requests[1714].Request.Method = "POST"; - _requests[1714].Request.Path = "/subscriptions/1757a2fb-96e2-/resourceGroups/70317207-8151-4b5/providers/Microsoft.DevTestLab/labs/7fa0d/createEnvironment"; - _requests[1715] = new DefaultHttpContext(); - _requests[1715].RequestServices = CreateServices(); - _requests[1715].Request.Method = "POST"; - _requests[1715].Request.Path = "/subscriptions/6017ea56-0d1f-/resourceGroups/10ba5529-6e50-4c0/providers/Microsoft.DevTestLab/labs/84b9f/exportResourceUsage"; - _requests[1716] = new DefaultHttpContext(); - _requests[1716].RequestServices = CreateServices(); - _requests[1716].Request.Method = "POST"; - _requests[1716].Request.Path = "/subscriptions/d06b360c-4057-/resourceGroups/05e9a676-6575-40c/providers/Microsoft.DevTestLab/labs/91604/generateUploadUri"; - _requests[1717] = new DefaultHttpContext(); - _requests[1717].RequestServices = CreateServices(); - _requests[1717].Request.Method = "POST"; - _requests[1717].Request.Path = "/subscriptions/6cce448f-c272-/resourceGroups/d24dc18d-8d59-4f9/providers/Microsoft.DevTestLab/labs/eb396/listVhds"; - _requests[1718] = new DefaultHttpContext(); - _requests[1718].RequestServices = CreateServices(); - _requests[1718].Request.Method = "POST"; - _requests[1718].Request.Path = "/subscriptions/e484b10f-b4ee-/resourceGroups/c52fa079-6fa6-480/providers/Microsoft.DevTestLab/schedules/e8cbd/execute"; - _requests[1719] = new DefaultHttpContext(); - _requests[1719].RequestServices = CreateServices(); - _requests[1719].Request.Method = "POST"; - _requests[1719].Request.Path = "/subscriptions/357df322-33f4-/resourceGroups/087a4b1f-e0e8-42f/providers/Microsoft.DevTestLab/schedules/3aa59/retarget"; - _requests[1720] = new DefaultHttpContext(); - _requests[1720].RequestServices = CreateServices(); - _requests[1720].Request.Method = "POST"; - _requests[1720].Request.Path = "/subscriptions/9f921df1-2e62-/resourceGroups/b5bbe978-3acb-451/providers/Microsoft.DocumentDB/databaseAccounts/dc3446db-3e/failoverPriorityChange"; - _requests[1721] = new DefaultHttpContext(); - _requests[1721].RequestServices = CreateServices(); - _requests[1721].Request.Method = "POST"; - _requests[1721].Request.Path = "/subscriptions/bee6b242-2c82-/resourceGroups/0ff78aa9-a850-4a9/providers/Microsoft.DocumentDB/databaseAccounts/e8f0257a-40/listConnectionStrings"; - _requests[1722] = new DefaultHttpContext(); - _requests[1722].RequestServices = CreateServices(); - _requests[1722].Request.Method = "POST"; - _requests[1722].Request.Path = "/subscriptions/953eb631-3acc-/resourceGroups/fb05824f-43c6-492/providers/Microsoft.DocumentDB/databaseAccounts/40de3c20-57/listKeys"; - _requests[1723] = new DefaultHttpContext(); - _requests[1723].RequestServices = CreateServices(); - _requests[1723].Request.Method = "GET"; - _requests[1723].Request.Path = "/subscriptions/b6edbb18-6249-/resourceGroups/76094aad-3cb7-404/providers/Microsoft.DocumentDB/databaseAccounts/bcb17202-5d/metricDefinitions"; - _requests[1724] = new DefaultHttpContext(); - _requests[1724].RequestServices = CreateServices(); - _requests[1724].Request.Method = "GET"; - _requests[1724].Request.Path = "/subscriptions/c32e3995-4390-/resourceGroups/28fba584-68f8-437/providers/Microsoft.DocumentDB/databaseAccounts/11c19060-cf/metrics"; - _requests[1725] = new DefaultHttpContext(); - _requests[1725].RequestServices = CreateServices(); - _requests[1725].Request.Method = "POST"; - _requests[1725].Request.Path = "/subscriptions/5a4741b4-3792-/resourceGroups/d1760d1b-ce1b-40f/providers/Microsoft.DocumentDB/databaseAccounts/5d788561-9e/offlineRegion"; - _requests[1726] = new DefaultHttpContext(); - _requests[1726].RequestServices = CreateServices(); - _requests[1726].Request.Method = "POST"; - _requests[1726].Request.Path = "/subscriptions/17a5bd17-9be1-/resourceGroups/dd55d344-da99-472/providers/Microsoft.DocumentDB/databaseAccounts/d008d391-d1/onlineRegion"; - _requests[1727] = new DefaultHttpContext(); - _requests[1727].RequestServices = CreateServices(); - _requests[1727].Request.Method = "GET"; - _requests[1727].Request.Path = "/subscriptions/1decb3f7-6e4c-/resourceGroups/96c866f2-4a9f-4ea/providers/Microsoft.DocumentDB/databaseAccounts/3bbfa870-fd/readonlykeys"; - _requests[1728] = new DefaultHttpContext(); - _requests[1728].RequestServices = CreateServices(); - _requests[1728].Request.Method = "POST"; - _requests[1728].Request.Path = "/subscriptions/a273b191-ef86-/resourceGroups/8b28f256-3539-4c0/providers/Microsoft.DocumentDB/databaseAccounts/49548db8-0a/regenerateKey"; - _requests[1729] = new DefaultHttpContext(); - _requests[1729].RequestServices = CreateServices(); - _requests[1729].Request.Method = "GET"; - _requests[1729].Request.Path = "/subscriptions/eac3d184-532f-/resourceGroups/a16c9330-351d-40d/providers/Microsoft.DocumentDB/databaseAccounts/ec426f5d-10/usages"; - _requests[1730] = new DefaultHttpContext(); - _requests[1730].RequestServices = CreateServices(); - _requests[1730].Request.Method = "GET"; - _requests[1730].Request.Path = "/subscriptions/6417ad94-81ea-/resourceGroups/b5792483-8dd1-495/providers/Microsoft.DomainRegistration/domains/efd05557-e/domainOwnershipIdentifiers"; - _requests[1731] = new DefaultHttpContext(); - _requests[1731].RequestServices = CreateServices(); - _requests[1731].Request.Method = "POST"; - _requests[1731].Request.Path = "/subscriptions/ef478f19-f511-/resourceGroups/50c235ed-a2a0-42b/providers/Microsoft.DomainRegistration/domains/e88ac183-a/renew"; - _requests[1732] = new DefaultHttpContext(); - _requests[1732].RequestServices = CreateServices(); - _requests[1732].Request.Method = "GET"; - _requests[1732].Request.Path = "/subscriptions/f2f424d9-0d92-/resourceGroups/e9dc471e-e2c9-48f/providers/Microsoft.EventGrid/locations/3be5d73e/eventSubscriptions"; - _requests[1733] = new DefaultHttpContext(); - _requests[1733].RequestServices = CreateServices(); - _requests[1733].Request.Method = "POST"; - _requests[1733].Request.Path = "/subscriptions/0915a492-f3cb-/resourceGroups/50b8f6ab-0a0c-448/providers/Microsoft.EventGrid/topics/e58113f2-/listKeys"; - _requests[1734] = new DefaultHttpContext(); - _requests[1734].RequestServices = CreateServices(); - _requests[1734].Request.Method = "POST"; - _requests[1734].Request.Path = "/subscriptions/ba9109da-f57a-/resourceGroups/8c011e6b-89c9-4bd/providers/Microsoft.EventGrid/topics/1ecab9aa-/regenerateKey"; - _requests[1735] = new DefaultHttpContext(); - _requests[1735].RequestServices = CreateServices(); - _requests[1735].Request.Method = "GET"; - _requests[1735].Request.Path = "/subscriptions/415457f4-b218-/resourceGroups/3c618fc5-6828-42d/providers/Microsoft.EventGrid/topicTypes/b15e8105-9a0e/eventSubscriptions"; - _requests[1736] = new DefaultHttpContext(); - _requests[1736].RequestServices = CreateServices(); - _requests[1736].Request.Method = "GET"; - _requests[1736].Request.Path = "/subscriptions/6fd8ae55-1e44-/resourceGroups/0d96abbb-bcf8-443/providers/Microsoft.EventHub/namespaces/3f765945-6f99/AuthorizationRules"; - _requests[1737] = new DefaultHttpContext(); - _requests[1737].RequestServices = CreateServices(); - _requests[1737].Request.Method = "GET"; - _requests[1737].Request.Path = "/subscriptions/a21c6bce-ac29-/resourceGroups/89980a64-3257-4b2/providers/Microsoft.EventHub/namespaces/ef22bdd0-054c/disasterRecoveryConfigs"; - _requests[1738] = new DefaultHttpContext(); - _requests[1738].RequestServices = CreateServices(); - _requests[1738].Request.Method = "GET"; - _requests[1738].Request.Path = "/subscriptions/6e551fa4-5e77-/resourceGroups/7ea8fd3e-e317-4ac/providers/Microsoft.EventHub/namespaces/dda4d796-31e1/eventhubs"; - _requests[1739] = new DefaultHttpContext(); - _requests[1739].RequestServices = CreateServices(); - _requests[1739].Request.Method = "GET"; - _requests[1739].Request.Path = "/subscriptions/c3174576-ac92-/resourceGroups/029e09b5-f481-400/providers/Microsoft.EventHub/namespaces/2c215e4d-dc0c/messagingplan"; - _requests[1740] = new DefaultHttpContext(); - _requests[1740].RequestServices = CreateServices(); - _requests[1740].Request.Method = "GET"; - _requests[1740].Request.Path = "/subscriptions/e67944a4-9e35-/resourceGroups/bc6c369a-5d3c-457/providers/Microsoft.Fabric.Admin/fabricLocations/18a6a445/edgeGatewayPools"; - _requests[1741] = new DefaultHttpContext(); - _requests[1741].RequestServices = CreateServices(); - _requests[1741].Request.Method = "GET"; - _requests[1741].Request.Path = "/subscriptions/ba591929-e1be-/resourceGroups/db28218f-cc7e-420/providers/Microsoft.Fabric.Admin/fabricLocations/2b01ba1a/edgeGateways"; - _requests[1742] = new DefaultHttpContext(); - _requests[1742].RequestServices = CreateServices(); - _requests[1742].Request.Method = "GET"; - _requests[1742].Request.Path = "/subscriptions/9350dcfc-16e1-/resourceGroups/356ca89b-dcb2-433/providers/Microsoft.Fabric.Admin/fabricLocations/cf370e34/fileShares"; - _requests[1743] = new DefaultHttpContext(); - _requests[1743].RequestServices = CreateServices(); - _requests[1743].Request.Method = "GET"; - _requests[1743].Request.Path = "/subscriptions/7f8eb6c2-4616-/resourceGroups/86f254f6-acbb-4c5/providers/Microsoft.Fabric.Admin/fabricLocations/a6d51b7a/infraRoleInstances"; - _requests[1744] = new DefaultHttpContext(); - _requests[1744].RequestServices = CreateServices(); - _requests[1744].Request.Method = "GET"; - _requests[1744].Request.Path = "/subscriptions/2c1e1fc0-1140-/resourceGroups/70c2c02e-7da6-415/providers/Microsoft.Fabric.Admin/fabricLocations/3689672e/infraRoles"; - _requests[1745] = new DefaultHttpContext(); - _requests[1745].RequestServices = CreateServices(); - _requests[1745].Request.Method = "GET"; - _requests[1745].Request.Path = "/subscriptions/ebf4e31a-6eea-/resourceGroups/95788bbd-3607-46d/providers/Microsoft.Fabric.Admin/fabricLocations/103c2c28/ipPools"; - _requests[1746] = new DefaultHttpContext(); - _requests[1746].RequestServices = CreateServices(); - _requests[1746].Request.Method = "GET"; - _requests[1746].Request.Path = "/subscriptions/86e8ca1a-beda-/resourceGroups/9a897eb8-f28c-42c/providers/Microsoft.Fabric.Admin/fabricLocations/856001ed/logicalNetworks"; - _requests[1747] = new DefaultHttpContext(); - _requests[1747].RequestServices = CreateServices(); - _requests[1747].Request.Method = "GET"; - _requests[1747].Request.Path = "/subscriptions/fd0efc3a-473f-/resourceGroups/38a140df-1946-47b/providers/Microsoft.Fabric.Admin/fabricLocations/8ac18027/macAddressPools"; - _requests[1748] = new DefaultHttpContext(); - _requests[1748].RequestServices = CreateServices(); - _requests[1748].Request.Method = "GET"; - _requests[1748].Request.Path = "/subscriptions/2690537c-c6a0-/resourceGroups/2b61a2bc-689f-4ae/providers/Microsoft.Fabric.Admin/fabricLocations/2a85c410/scaleUnitNodes"; - _requests[1749] = new DefaultHttpContext(); - _requests[1749].RequestServices = CreateServices(); - _requests[1749].Request.Method = "GET"; - _requests[1749].Request.Path = "/subscriptions/8636b2ce-666b-/resourceGroups/72637b25-3a6b-47f/providers/Microsoft.Fabric.Admin/fabricLocations/19a492de/scaleUnits"; - _requests[1750] = new DefaultHttpContext(); - _requests[1750].RequestServices = CreateServices(); - _requests[1750].Request.Method = "GET"; - _requests[1750].Request.Path = "/subscriptions/e8311e90-b684-/resourceGroups/86041b1b-c1a0-454/providers/Microsoft.Fabric.Admin/fabricLocations/a95ff28e/slbMuxInstances"; - _requests[1751] = new DefaultHttpContext(); - _requests[1751].RequestServices = CreateServices(); - _requests[1751].Request.Method = "GET"; - _requests[1751].Request.Path = "/subscriptions/da869b96-6f80-/resourceGroups/63ae2128-02b3-478/providers/Microsoft.Fabric.Admin/fabricLocations/3e5ada7c/storageSubSystems"; - _requests[1752] = new DefaultHttpContext(); - _requests[1752].RequestServices = CreateServices(); - _requests[1752].Request.Method = "GET"; - _requests[1752].Request.Path = "/subscriptions/49233787-de1a-/resourceGroups/62c2f02c-8823-45e/providers/Microsoft.HDInsight/clusters/a885df1f-a6/applications"; - _requests[1753] = new DefaultHttpContext(); - _requests[1753].RequestServices = CreateServices(); - _requests[1753].Request.Method = "POST"; - _requests[1753].Request.Path = "/subscriptions/c02ec982-af3d-/resourceGroups/849ae9aa-9c21-41e/providers/Microsoft.HDInsight/clusters/55e35ee5-0a/executeScriptActions"; - _requests[1754] = new DefaultHttpContext(); - _requests[1754].RequestServices = CreateServices(); - _requests[1754].Request.Method = "GET"; - _requests[1754].Request.Path = "/subscriptions/a0b02b55-df8e-/resourceGroups/857c2a00-7a45-42f/providers/Microsoft.HDInsight/clusters/bc3db9ee-97/scriptActions"; - _requests[1755] = new DefaultHttpContext(); - _requests[1755].RequestServices = CreateServices(); - _requests[1755].Request.Method = "GET"; - _requests[1755].Request.Path = "/subscriptions/92a04739-752a-/resourceGroups/ae699050-005f-4a9/providers/Microsoft.HDInsight/clusters/6f0ead36-90/scriptExecutionHistory"; - _requests[1756] = new DefaultHttpContext(); - _requests[1756].RequestServices = CreateServices(); - _requests[1756].Request.Method = "POST"; - _requests[1756].Request.Path = "/subscriptions/7eab68c4-44c0-/resourceGroups/e51a929a-35ef-4ca/providers/Microsoft.ImportExport/jobs/dfbf049/listBitLockerKeys"; - _requests[1757] = new DefaultHttpContext(); - _requests[1757].RequestServices = CreateServices(); - _requests[1757].Request.Method = "GET"; - _requests[1757].Request.Path = "/subscriptions/0b5f2b35-d285-/resourceGroups/2bcae9cf-701e-482/providers/Microsoft.InfrastructureInsights.Admin/regionHealths/ca39c653/alerts"; - _requests[1758] = new DefaultHttpContext(); - _requests[1758].RequestServices = CreateServices(); - _requests[1758].Request.Method = "GET"; - _requests[1758].Request.Path = "/subscriptions/4ccc8808-f09c-/resourceGroups/f36b6be0-20e9-4dd/providers/Microsoft.InfrastructureInsights.Admin/regionHealths/eb0de761/serviceHealths"; - _requests[1759] = new DefaultHttpContext(); - _requests[1759].RequestServices = CreateServices(); - _requests[1759].Request.Method = "POST"; - _requests[1759].Request.Path = "/subscriptions/e3a55f57-b9b7-/resourceGroups/b6e87603-f353-46d/providers/microsoft.insights/actionGroups/ed0d45b9-4c6e-4/subscribe"; - _requests[1760] = new DefaultHttpContext(); - _requests[1760].RequestServices = CreateServices(); - _requests[1760].Request.Method = "GET"; - _requests[1760].Request.Path = "/subscriptions/a3898b75-779c-/resourcegroups/8cbc5b0a-6c41-447/providers/microsoft.insights/alertrules/b83e09df/incidents"; - _requests[1761] = new DefaultHttpContext(); - _requests[1761].RequestServices = CreateServices(); - _requests[1761].Request.Method = "GET"; - _requests[1761].Request.Path = "/subscriptions/cad3ab37-1091-/resourceGroups/51a3ac1d-b473-48d/providers/Microsoft.Insights/components/22cdfc00-c88a/webtests"; - _requests[1762] = new DefaultHttpContext(); - _requests[1762].RequestServices = CreateServices(); - _requests[1762].Request.Method = "PUT"; - _requests[1762].Request.Path = "/subscriptions/27d94d5d-11d6-/resourceGroups/ac1250ed-8f7c-4e1/providers/Microsoft.Insights/components/cbad7efb-a83/Annotations"; - _requests[1763] = new DefaultHttpContext(); - _requests[1763].RequestServices = CreateServices(); - _requests[1763].Request.Method = "POST"; - _requests[1763].Request.Path = "/subscriptions/5d095849-2bb8-/resourceGroups/94044847-aa09-465/providers/Microsoft.Insights/components/a5e78080-1ea/ApiKeys"; - _requests[1764] = new DefaultHttpContext(); - _requests[1764].RequestServices = CreateServices(); - _requests[1764].Request.Method = "PUT"; - _requests[1764].Request.Path = "/subscriptions/c0346606-964c-/resourceGroups/7023cd5a-f2b8-4da/providers/Microsoft.Insights/components/0554e19e-516/currentbillingfeatures"; - _requests[1765] = new DefaultHttpContext(); - _requests[1765].RequestServices = CreateServices(); - _requests[1765].Request.Method = "GET"; - _requests[1765].Request.Path = "/subscriptions/6ffbfc7d-a276-/resourceGroups/ffe6c51d-4d0b-4af/providers/Microsoft.Insights/components/b956ba27-0bc/DefaultWorkItemConfig"; - _requests[1766] = new DefaultHttpContext(); - _requests[1766].RequestServices = CreateServices(); - _requests[1766].Request.Method = "POST"; - _requests[1766].Request.Path = "/subscriptions/1ff2993a-d07c-/resourceGroups/90cb61bd-ba2a-43a/providers/Microsoft.Insights/components/a9dddb90-cff/exportconfiguration"; - _requests[1767] = new DefaultHttpContext(); - _requests[1767].RequestServices = CreateServices(); - _requests[1767].Request.Method = "GET"; - _requests[1767].Request.Path = "/subscriptions/93ba6073-d80e-/resourceGroups/10541adb-2bfe-42f/providers/Microsoft.Insights/components/f6ff551b-9a5/favorites"; - _requests[1768] = new DefaultHttpContext(); - _requests[1768].RequestServices = CreateServices(); - _requests[1768].Request.Method = "GET"; - _requests[1768].Request.Path = "/subscriptions/97cefd59-e6fa-/resourceGroups/6f77d013-4e56-479/providers/Microsoft.Insights/components/7d485de2-f50/featurecapabilities"; - _requests[1769] = new DefaultHttpContext(); - _requests[1769].RequestServices = CreateServices(); - _requests[1769].Request.Method = "GET"; - _requests[1769].Request.Path = "/subscriptions/87e7d752-29d8-/resourceGroups/69bbac32-f6e7-4e2/providers/Microsoft.Insights/components/0abd0df3-749/getavailablebillingfeatures"; - _requests[1770] = new DefaultHttpContext(); - _requests[1770].RequestServices = CreateServices(); - _requests[1770].Request.Method = "GET"; - _requests[1770].Request.Path = "/subscriptions/d7f985da-3fa7-/resourceGroups/b8addd6b-bc58-4a6/providers/Microsoft.Insights/components/b8b9057e-af7/ProactiveDetectionConfigs"; - _requests[1771] = new DefaultHttpContext(); - _requests[1771].RequestServices = CreateServices(); - _requests[1771].Request.Method = "POST"; - _requests[1771].Request.Path = "/subscriptions/fe917f52-0478-/resourceGroups/c52d1e61-b760-4b1/providers/Microsoft.Insights/components/0ec466a8-b5f/purge"; - _requests[1772] = new DefaultHttpContext(); - _requests[1772].RequestServices = CreateServices(); - _requests[1772].Request.Method = "GET"; - _requests[1772].Request.Path = "/subscriptions/aeacf970-de01-/resourceGroups/11988699-d622-476/providers/Microsoft.Insights/components/8f085c78-69c/quotastatus"; - _requests[1773] = new DefaultHttpContext(); - _requests[1773].RequestServices = CreateServices(); - _requests[1773].Request.Method = "GET"; - _requests[1773].Request.Path = "/subscriptions/e62ccef1-f408-/resourceGroups/cecd6d63-a068-423/providers/Microsoft.Insights/components/0b6d4691-2f0/syntheticmonitorlocations"; - _requests[1774] = new DefaultHttpContext(); - _requests[1774].RequestServices = CreateServices(); - _requests[1774].Request.Method = "POST"; - _requests[1774].Request.Path = "/subscriptions/5adca834-624f-/resourceGroups/95980869-d30d-4ce/providers/Microsoft.Insights/components/308c2be2-633/WorkItemConfigs"; - _requests[1775] = new DefaultHttpContext(); - _requests[1775].RequestServices = CreateServices(); - _requests[1775].Request.Method = "GET"; - _requests[1775].Request.Path = "/subscriptions/dc63cc0f-4e0a-/resourceGroups/f8b2156a-c5eb-4b2/providers/Microsoft.Insights/metricAlerts/e748dc95/status"; - _requests[1776] = new DefaultHttpContext(); - _requests[1776].RequestServices = CreateServices(); - _requests[1776].Request.Method = "GET"; - _requests[1776].Request.Path = "/subscriptions/ac7b5d7b-7f66-/resourceGroups/4c1eceff-f8fb-4cc/providers/Microsoft.KeyVault/vaults/207472ed-/secrets"; - _requests[1777] = new DefaultHttpContext(); - _requests[1777].RequestServices = CreateServices(); - _requests[1777].Request.Method = "GET"; - _requests[1777].Request.Path = "/subscriptions/d253144e-410d-/resourceGroups/d75d50aa-0c7a-466/providers/Microsoft.Logic/integrationAccounts/3b989c4b-de79-4a76-893/agreements"; - _requests[1778] = new DefaultHttpContext(); - _requests[1778].RequestServices = CreateServices(); - _requests[1778].Request.Method = "GET"; - _requests[1778].Request.Path = "/subscriptions/0c8d5dd8-aa63-/resourceGroups/d0050f6c-4205-4a7/providers/Microsoft.Logic/integrationAccounts/1b060cf6-caa2-4bce-be2/assemblies"; - _requests[1779] = new DefaultHttpContext(); - _requests[1779].RequestServices = CreateServices(); - _requests[1779].Request.Method = "GET"; - _requests[1779].Request.Path = "/subscriptions/bab4e512-c621-/resourceGroups/43b1e8ba-1f34-49b/providers/Microsoft.Logic/integrationAccounts/a44cc45e-5323-44ad-919/batchConfigurations"; - _requests[1780] = new DefaultHttpContext(); - _requests[1780].RequestServices = CreateServices(); - _requests[1780].Request.Method = "GET"; - _requests[1780].Request.Path = "/subscriptions/3d388532-52e1-/resourceGroups/f5ed92a2-f9aa-4bc/providers/Microsoft.Logic/integrationAccounts/08bc4bea-53d4-437d-8fa/certificates"; - _requests[1781] = new DefaultHttpContext(); - _requests[1781].RequestServices = CreateServices(); - _requests[1781].Request.Method = "POST"; - _requests[1781].Request.Path = "/subscriptions/b111eee8-6031-/resourceGroups/e4492d2c-5cfc-45f/providers/Microsoft.Logic/integrationAccounts/6c7a9319-2dd9-4f61-b78/listCallbackUrl"; - _requests[1782] = new DefaultHttpContext(); - _requests[1782].RequestServices = CreateServices(); - _requests[1782].Request.Method = "POST"; - _requests[1782].Request.Path = "/subscriptions/d44de62c-b100-/resourceGroups/dd40bedf-d80b-4eb/providers/Microsoft.Logic/integrationAccounts/0805040c-c748-4ea3-b21/listKeyVaultKeys"; - _requests[1783] = new DefaultHttpContext(); - _requests[1783].RequestServices = CreateServices(); - _requests[1783].Request.Method = "POST"; - _requests[1783].Request.Path = "/subscriptions/d3e4ed67-0869-/resourceGroups/1db3a43c-3fef-49a/providers/Microsoft.Logic/integrationAccounts/d76cf060-29a6-420a-ad5/logTrackingEvents"; - _requests[1784] = new DefaultHttpContext(); - _requests[1784].RequestServices = CreateServices(); - _requests[1784].Request.Method = "GET"; - _requests[1784].Request.Path = "/subscriptions/86067336-24b9-/resourceGroups/658354b1-a21a-4b9/providers/Microsoft.Logic/integrationAccounts/1bf8e8fe-c116-4efb-810/maps"; - _requests[1785] = new DefaultHttpContext(); - _requests[1785].RequestServices = CreateServices(); - _requests[1785].Request.Method = "GET"; - _requests[1785].Request.Path = "/subscriptions/ed242917-8178-/resourceGroups/264a1a5d-400c-461/providers/Microsoft.Logic/integrationAccounts/fb4c8eaf-1cf7-47c3-a99/partners"; - _requests[1786] = new DefaultHttpContext(); - _requests[1786].RequestServices = CreateServices(); - _requests[1786].Request.Method = "POST"; - _requests[1786].Request.Path = "/subscriptions/26c56061-7c90-/resourceGroups/48d9e275-f195-4b3/providers/Microsoft.Logic/integrationAccounts/a59047b2-ad45-42a5-b29/regenerateAccessKey"; - _requests[1787] = new DefaultHttpContext(); - _requests[1787].RequestServices = CreateServices(); - _requests[1787].Request.Method = "GET"; - _requests[1787].Request.Path = "/subscriptions/e3c01ea9-a31f-/resourceGroups/12e27842-c698-474/providers/Microsoft.Logic/integrationAccounts/3b9095ae-d9be-4ba6-9ad/schemas"; - _requests[1788] = new DefaultHttpContext(); - _requests[1788].RequestServices = CreateServices(); - _requests[1788].Request.Method = "GET"; - _requests[1788].Request.Path = "/subscriptions/14b2c5a4-9fc4-/resourceGroups/0508ed33-9a10-470/providers/Microsoft.Logic/integrationAccounts/2e0f6608-4527-4555-952/sessions"; - _requests[1789] = new DefaultHttpContext(); - _requests[1789].RequestServices = CreateServices(); - _requests[1789].Request.Method = "GET"; - _requests[1789].Request.Path = "/subscriptions/f38420fb-b029-/resourceGroups/e703b000-4a2b-4e2/providers/Microsoft.Logic/workflows/c2b93f2e-7b6/accessKeys"; - _requests[1790] = new DefaultHttpContext(); - _requests[1790].RequestServices = CreateServices(); - _requests[1790].Request.Method = "POST"; - _requests[1790].Request.Path = "/subscriptions/4f82dae4-f76d-/resourceGroups/9a5decae-a75d-4bc/providers/Microsoft.Logic/workflows/5fa4b019-062/disable"; - _requests[1791] = new DefaultHttpContext(); - _requests[1791].RequestServices = CreateServices(); - _requests[1791].Request.Method = "POST"; - _requests[1791].Request.Path = "/subscriptions/f05c0de7-1c88-/resourceGroups/23a41567-8f3c-40f/providers/Microsoft.Logic/workflows/0066533f-d55/enable"; - _requests[1792] = new DefaultHttpContext(); - _requests[1792].RequestServices = CreateServices(); - _requests[1792].Request.Method = "POST"; - _requests[1792].Request.Path = "/subscriptions/ae7d5dc7-51b1-/resourceGroups/5b949d33-7b19-46b/providers/Microsoft.Logic/workflows/50866315-f0e/generateUpgradedDefinition"; - _requests[1793] = new DefaultHttpContext(); - _requests[1793].RequestServices = CreateServices(); - _requests[1793].Request.Method = "POST"; - _requests[1793].Request.Path = "/subscriptions/4aec748b-9380-/resourceGroups/9d3ee8b9-0c97-447/providers/Microsoft.Logic/workflows/e5c9d3a6-db0/listCallbackUrl"; - _requests[1794] = new DefaultHttpContext(); - _requests[1794].RequestServices = CreateServices(); - _requests[1794].Request.Method = "POST"; - _requests[1794].Request.Path = "/subscriptions/c836231c-4d91-/resourceGroups/74a317da-4cad-4d1/providers/Microsoft.Logic/workflows/3fadeee1-0d5/listSwagger"; - _requests[1795] = new DefaultHttpContext(); - _requests[1795].RequestServices = CreateServices(); - _requests[1795].Request.Method = "POST"; - _requests[1795].Request.Path = "/subscriptions/290bc17a-5801-/resourceGroups/c8b2f17e-2062-42e/providers/Microsoft.Logic/workflows/04215abf-0cd/move"; - _requests[1796] = new DefaultHttpContext(); - _requests[1796].RequestServices = CreateServices(); - _requests[1796].Request.Method = "POST"; - _requests[1796].Request.Path = "/subscriptions/cb7011a1-1bbc-/resourceGroups/1030af06-ec56-4cc/providers/Microsoft.Logic/workflows/acf5674d-bf6/regenerateAccessKey"; - _requests[1797] = new DefaultHttpContext(); - _requests[1797].RequestServices = CreateServices(); - _requests[1797].Request.Method = "POST"; - _requests[1797].Request.Path = "/subscriptions/ba0e76e0-47aa-/resourceGroups/a009387f-463e-4bc/providers/Microsoft.Logic/workflows/c5671ec7-f3b/run"; - _requests[1798] = new DefaultHttpContext(); - _requests[1798].RequestServices = CreateServices(); - _requests[1798].Request.Method = "GET"; - _requests[1798].Request.Path = "/subscriptions/00d66c67-b578-/resourceGroups/8ab0e924-1e23-43f/providers/Microsoft.Logic/workflows/737f7d31-901/runs"; - _requests[1799] = new DefaultHttpContext(); - _requests[1799].RequestServices = CreateServices(); - _requests[1799].Request.Method = "GET"; - _requests[1799].Request.Path = "/subscriptions/53adae6d-cabb-/resourceGroups/bab07d33-bf74-4e6/providers/Microsoft.Logic/workflows/86f06e82-daa/triggers"; - _requests[1800] = new DefaultHttpContext(); - _requests[1800].RequestServices = CreateServices(); - _requests[1800].Request.Method = "POST"; - _requests[1800].Request.Path = "/subscriptions/aad46dcd-b1a9-/resourceGroups/822ec19b-59ad-45e/providers/Microsoft.Logic/workflows/13725662-4f4/validate"; - _requests[1801] = new DefaultHttpContext(); - _requests[1801].RequestServices = CreateServices(); - _requests[1801].Request.Method = "GET"; - _requests[1801].Request.Path = "/subscriptions/323b9280-e587-/resourceGroups/ee22570c-503f-4cd/providers/Microsoft.Logic/workflows/9593bc51-f21/versions"; - _requests[1802] = new DefaultHttpContext(); - _requests[1802].RequestServices = CreateServices(); - _requests[1802].Request.Method = "GET"; - _requests[1802].Request.Path = "/subscriptions/35ce6fb1-3cf1-/resourceGroups/e5a46043-bd0a-4b4/providers/Microsoft.MachineLearning/commitmentPlans/76af8f64-5240-427a/commitmentAssociations"; - _requests[1803] = new DefaultHttpContext(); - _requests[1803].RequestServices = CreateServices(); - _requests[1803].Request.Method = "GET"; - _requests[1803].Request.Path = "/subscriptions/6cf73511-88b4-/resourceGroups/116362dc-5a81-4e6/providers/Microsoft.MachineLearning/commitmentPlans/16161b38-4ec6-40de/usageHistory"; - _requests[1804] = new DefaultHttpContext(); - _requests[1804].RequestServices = CreateServices(); - _requests[1804].Request.Method = "POST"; - _requests[1804].Request.Path = "/subscriptions/270aa7ec-43b0-/resourceGroups/3a0e68e3-bef6-4bf/providers/Microsoft.MachineLearning/webServices/d675ad20-9e3c-/CreateRegionalBlob"; - _requests[1805] = new DefaultHttpContext(); - _requests[1805].RequestServices = CreateServices(); - _requests[1805].Request.Method = "GET"; - _requests[1805].Request.Path = "/subscriptions/56766f2d-2834-/resourceGroups/77f35025-086e-447/providers/Microsoft.MachineLearning/webServices/023a65b3-4323-/listKeys"; - _requests[1806] = new DefaultHttpContext(); - _requests[1806].RequestServices = CreateServices(); - _requests[1806].Request.Method = "POST"; - _requests[1806].Request.Path = "/subscriptions/258e5294-0fcb-/resourceGroups/3a1fd3d8-9a10-433/providers/Microsoft.MachineLearning/workspaces/6aa43e82-099b/listWorkspaceKeys"; - _requests[1807] = new DefaultHttpContext(); - _requests[1807].RequestServices = CreateServices(); - _requests[1807].Request.Method = "POST"; - _requests[1807].Request.Path = "/subscriptions/19371cf3-610f-/resourceGroups/ac332ca8-b851-473/providers/Microsoft.MachineLearning/workspaces/19585809-7d0e/resyncStorageKeys"; - _requests[1808] = new DefaultHttpContext(); - _requests[1808].RequestServices = CreateServices(); - _requests[1808].Request.Method = "POST"; - _requests[1808].Request.Path = "/subscriptions/1803f290-2af6-/resourceGroups/8c853844-b93a-465/providers/Microsoft.MachineLearningCompute/operationalizationClusters/7ad7fee6-71/checkSystemServicesUpdatesAvailable"; - _requests[1809] = new DefaultHttpContext(); - _requests[1809].RequestServices = CreateServices(); - _requests[1809].Request.Method = "POST"; - _requests[1809].Request.Path = "/subscriptions/aac5fe80-f6ed-/resourceGroups/144d19fc-eda7-45c/providers/Microsoft.MachineLearningCompute/operationalizationClusters/1999d150-0d/checkUpdate"; - _requests[1810] = new DefaultHttpContext(); - _requests[1810].RequestServices = CreateServices(); - _requests[1810].Request.Method = "POST"; - _requests[1810].Request.Path = "/subscriptions/dbddfddc-3d40-/resourceGroups/f0f8c0cd-be84-440/providers/Microsoft.MachineLearningCompute/operationalizationClusters/2aa84392-15/listKeys"; - _requests[1811] = new DefaultHttpContext(); - _requests[1811].RequestServices = CreateServices(); - _requests[1811].Request.Method = "POST"; - _requests[1811].Request.Path = "/subscriptions/73ceab92-5d20-/resourceGroups/7113c96a-cb8f-41e/providers/Microsoft.MachineLearningCompute/operationalizationClusters/1082c6cc-35/updateSystem"; - _requests[1812] = new DefaultHttpContext(); - _requests[1812].RequestServices = CreateServices(); - _requests[1812].Request.Method = "POST"; - _requests[1812].Request.Path = "/subscriptions/4e4977fd-cc30-/resourceGroups/a0beae29-4546-468/providers/Microsoft.MachineLearningCompute/operationalizationClusters/38282d1a-73/updateSystemServices"; - _requests[1813] = new DefaultHttpContext(); - _requests[1813].RequestServices = CreateServices(); - _requests[1813].Request.Method = "GET"; - _requests[1813].Request.Path = "/subscriptions/fb5e7f08-a4d7-/resourceGroups/a277e0a8-5258-4bd/providers/Microsoft.MachineLearningExperimentation/accounts/4fa46e8b-58/workspaces"; - _requests[1814] = new DefaultHttpContext(); - _requests[1814].RequestServices = CreateServices(); - _requests[1814].Request.Method = "POST"; - _requests[1814].Request.Path = "/subscriptions/a1fa1451-751b-/resourceGroups/603d8e14-08d0-4b6/providers/Microsoft.MachineLearningServices/workspaces/dddc8abd-440d/listKeys"; - _requests[1815] = new DefaultHttpContext(); - _requests[1815].RequestServices = CreateServices(); - _requests[1815].Request.Method = "POST"; - _requests[1815].Request.Path = "/subscriptions/1e8e013b-bb5b-/resourceGroups/df549bad-055c-476/providers/Microsoft.MachineLearningServices/workspaces/e804bf6a-5c87/resyncKeys"; - _requests[1816] = new DefaultHttpContext(); - _requests[1816].RequestServices = CreateServices(); - _requests[1816].Request.Method = "POST"; - _requests[1816].Request.Path = "/subscriptions/bf57d796-be6a-/resourceGroups/da6b4f37-f2ee-4d1/providers/Microsoft.Maps/accounts/3e38a14e-05/listKeys"; - _requests[1817] = new DefaultHttpContext(); - _requests[1817].RequestServices = CreateServices(); - _requests[1817].Request.Method = "POST"; - _requests[1817].Request.Path = "/subscriptions/6834048e-35b1-/resourceGroups/c367c412-76a2-483/providers/Microsoft.Maps/accounts/9fba2045-ce/regenerateKey"; - _requests[1818] = new DefaultHttpContext(); - _requests[1818].RequestServices = CreateServices(); - _requests[1818].Request.Method = "GET"; - _requests[1818].Request.Path = "/subscriptions/362b0cbd-89af-/resourceGroups/f87569eb-b628-487/providers/Microsoft.Media/mediaServices/3cfb96b5-6b/assets"; - _requests[1819] = new DefaultHttpContext(); - _requests[1819].RequestServices = CreateServices(); - _requests[1819].Request.Method = "GET"; - _requests[1819].Request.Path = "/subscriptions/7f236a15-eeb9-/resourceGroups/8aa012fb-94c3-408/providers/Microsoft.Media/mediaServices/dd00094d-cb/contentKeyPolicies"; - _requests[1820] = new DefaultHttpContext(); - _requests[1820].RequestServices = CreateServices(); - _requests[1820].Request.Method = "GET"; - _requests[1820].Request.Path = "/subscriptions/c86e1fc6-2554-/resourceGroups/18f82331-9974-406/providers/Microsoft.Media/mediaservices/709224ed-3b/liveEvents"; - _requests[1821] = new DefaultHttpContext(); - _requests[1821].RequestServices = CreateServices(); - _requests[1821].Request.Method = "GET"; - _requests[1821].Request.Path = "/subscriptions/4d851ea9-d8d2-/resourceGroups/a12cd631-1596-4a0/providers/Microsoft.Media/mediaservices/7914848d-b3/streamingEndpoints"; - _requests[1822] = new DefaultHttpContext(); - _requests[1822].RequestServices = CreateServices(); - _requests[1822].Request.Method = "GET"; - _requests[1822].Request.Path = "/subscriptions/9bef8c2c-1f2d-/resourceGroups/f95ddf40-37e1-415/providers/Microsoft.Media/mediaServices/7dc02450-fe/streamingLocators"; - _requests[1823] = new DefaultHttpContext(); - _requests[1823].RequestServices = CreateServices(); - _requests[1823].Request.Method = "GET"; - _requests[1823].Request.Path = "/subscriptions/e1dd5470-ef47-/resourceGroups/12c49441-ae45-471/providers/Microsoft.Media/mediaServices/7d9ea5ef-a1/streamingPolicies"; - _requests[1824] = new DefaultHttpContext(); - _requests[1824].RequestServices = CreateServices(); - _requests[1824].Request.Method = "GET"; - _requests[1824].Request.Path = "/subscriptions/f961b92e-9e47-/resourceGroups/210dda96-e94d-4d8/providers/Microsoft.Media/mediaServices/574fb9c4-f9/transforms"; - _requests[1825] = new DefaultHttpContext(); - _requests[1825].RequestServices = CreateServices(); - _requests[1825].Request.Method = "POST"; - _requests[1825].Request.Path = "/subscriptions/0a494043-5025-/resourceGroups/5bafee91-9f74-470/providers/Microsoft.Media/mediaservices/ba7fbe5b-c97b-40/listKeys"; - _requests[1826] = new DefaultHttpContext(); - _requests[1826].RequestServices = CreateServices(); - _requests[1826].Request.Method = "POST"; - _requests[1826].Request.Path = "/subscriptions/8e099958-aa47-/resourceGroups/b3ebe2ff-5af1-492/providers/Microsoft.Media/mediaservices/0a09e766-7129-4b/regenerateKey"; - _requests[1827] = new DefaultHttpContext(); - _requests[1827].RequestServices = CreateServices(); - _requests[1827].Request.Method = "POST"; - _requests[1827].Request.Path = "/subscriptions/23b3c209-0de6-/resourceGroups/f3538f5c-75f6-45d/providers/Microsoft.Media/mediaservices/3ab7788a-4088-4f/syncStorageKeys"; - _requests[1828] = new DefaultHttpContext(); - _requests[1828].RequestServices = CreateServices(); - _requests[1828].Request.Method = "GET"; - _requests[1828].Request.Path = "/subscriptions/15ead37f-7f00-/resourceGroups/f609d9d3-0d6f-41f/providers/Microsoft.Migrate/projects/6665cd61-46/assessments"; - _requests[1829] = new DefaultHttpContext(); - _requests[1829].RequestServices = CreateServices(); - _requests[1829].Request.Method = "GET"; - _requests[1829].Request.Path = "/subscriptions/dcc47c0a-f86a-/resourceGroups/f60dc653-805e-4cc/providers/Microsoft.Migrate/projects/2d7798dc-62/groups"; - _requests[1830] = new DefaultHttpContext(); - _requests[1830].RequestServices = CreateServices(); - _requests[1830].Request.Method = "POST"; - _requests[1830].Request.Path = "/subscriptions/588fc1f1-7906-/resourcegroups/18f0cdc2-afba-4dc/providers/Microsoft.Migrate/projects/ead36493-95/keys"; - _requests[1831] = new DefaultHttpContext(); - _requests[1831].RequestServices = CreateServices(); - _requests[1831].Request.Method = "GET"; - _requests[1831].Request.Path = "/subscriptions/5a583629-e9b7-/resourceGroups/cf2d6803-6b07-4d7/providers/Microsoft.Migrate/projects/65f06c24-87/machines"; - _requests[1832] = new DefaultHttpContext(); - _requests[1832].RequestServices = CreateServices(); - _requests[1832].Request.Method = "POST"; - _requests[1832].Request.Path = "/subscriptions/54acae32-0dcb-/resourceGroups/4bba7b95-aa2d-46e/providers/Microsoft.Network/applicationGateways/2660b75b-a863-4e77-b81/backendhealth"; - _requests[1833] = new DefaultHttpContext(); - _requests[1833].RequestServices = CreateServices(); - _requests[1833].Request.Method = "POST"; - _requests[1833].Request.Path = "/subscriptions/9de6f16f-67ab-/resourceGroups/ce32acaf-0827-430/providers/Microsoft.Network/applicationGateways/6ea71da4-f799-4667-bd5/start"; - _requests[1834] = new DefaultHttpContext(); - _requests[1834].RequestServices = CreateServices(); - _requests[1834].Request.Method = "POST"; - _requests[1834].Request.Path = "/subscriptions/fd8bb0dc-460c-/resourceGroups/061dcad4-f859-4e3/providers/Microsoft.Network/applicationGateways/d3bf9493-0f91-4aa4-836/stop"; - _requests[1835] = new DefaultHttpContext(); - _requests[1835].RequestServices = CreateServices(); - _requests[1835].Request.Method = "GET"; - _requests[1835].Request.Path = "/subscriptions/45ac01f2-eb2e-/resourceGroups/2862b226-36df-4e5/providers/Microsoft.Network/connections/619b3ee2-a03d-4d53-8169-604fbcd0555/sharedkey"; - _requests[1836] = new DefaultHttpContext(); - _requests[1836].RequestServices = CreateServices(); - _requests[1836].Request.Method = "POST"; - _requests[1836].Request.Path = "/subscriptions/e356f991-96ce-/resourceGroups/ea4a3c7a-3a32-403/providers/Microsoft.Network/connections/9a44444e-ac2b-4c1d-8c4c-c14f5645fcd/vpndeviceconfigurationscript"; - _requests[1837] = new DefaultHttpContext(); - _requests[1837].RequestServices = CreateServices(); - _requests[1837].Request.Method = "GET"; - _requests[1837].Request.Path = "/subscriptions/855128ce-62a5-/resourceGroups/2be6ae97-066c-423/providers/Microsoft.Network/dnsZones/d4be5b68/all"; - _requests[1838] = new DefaultHttpContext(); - _requests[1838].RequestServices = CreateServices(); - _requests[1838].Request.Method = "GET"; - _requests[1838].Request.Path = "/subscriptions/bda801e9-b07d-/resourceGroups/a71bf706-0976-4d4/providers/Microsoft.Network/dnsZones/f00ce391/recordsets"; - _requests[1839] = new DefaultHttpContext(); - _requests[1839].RequestServices = CreateServices(); - _requests[1839].Request.Method = "GET"; - _requests[1839].Request.Path = "/subscriptions/b8402d51-ce9d-/resourceGroups/52f8bf48-adfa-4dd/providers/Microsoft.Network/expressRouteCircuits/38c4a427-42/arpTable"; - _requests[1840] = new DefaultHttpContext(); - _requests[1840].RequestServices = CreateServices(); - _requests[1840].Request.Method = "GET"; - _requests[1840].Request.Path = "/subscriptions/30e94b59-d2ed-/resourceGroups/210df218-698c-400/providers/Microsoft.Network/expressRouteCircuits/424c2f45-1a/authorizations"; - _requests[1841] = new DefaultHttpContext(); - _requests[1841].RequestServices = CreateServices(); - _requests[1841].Request.Method = "GET"; - _requests[1841].Request.Path = "/subscriptions/e114b043-27f9-/resourceGroups/bf4e6f8e-ed2e-49e/providers/Microsoft.Network/expressRouteCircuits/e2bd5f6b-ca/peerings"; - _requests[1842] = new DefaultHttpContext(); - _requests[1842].RequestServices = CreateServices(); - _requests[1842].Request.Method = "GET"; - _requests[1842].Request.Path = "/subscriptions/9ecd55c3-0e47-/resourceGroups/97cc5a71-b390-434/providers/Microsoft.Network/expressRouteCircuits/ccfda239-22/routesTable"; - _requests[1843] = new DefaultHttpContext(); - _requests[1843].RequestServices = CreateServices(); - _requests[1843].Request.Method = "GET"; - _requests[1843].Request.Path = "/subscriptions/d18cea97-297f-/resourceGroups/1a1c2581-432f-43d/providers/Microsoft.Network/expressRouteCircuits/376722a2-40/stats"; - _requests[1844] = new DefaultHttpContext(); - _requests[1844].RequestServices = CreateServices(); - _requests[1844].Request.Method = "GET"; - _requests[1844].Request.Path = "/subscriptions/cfe5d927-403a-/resourceGroups/308de58b-29a5-42d/providers/Microsoft.Network/expressRouteCrossConnections/7051be3d-e3c3-491e-/peerings"; - _requests[1845] = new DefaultHttpContext(); - _requests[1845].RequestServices = CreateServices(); - _requests[1845].Request.Method = "GET"; - _requests[1845].Request.Path = "/subscriptions/ebdab568-fd4d-/resourceGroups/9d3e50d5-339f-471/providers/Microsoft.Network/loadBalancers/9c93e8fd-5e58-4b/backendAddressPools"; - _requests[1846] = new DefaultHttpContext(); - _requests[1846].RequestServices = CreateServices(); - _requests[1846].Request.Method = "GET"; - _requests[1846].Request.Path = "/subscriptions/93028f79-6229-/resourceGroups/44df3ee5-a678-428/providers/Microsoft.Network/loadBalancers/d98b35e6-d195-42/frontendIPConfigurations"; - _requests[1847] = new DefaultHttpContext(); - _requests[1847].RequestServices = CreateServices(); - _requests[1847].Request.Method = "GET"; - _requests[1847].Request.Path = "/subscriptions/76493f8e-f29a-/resourceGroups/bad10ddb-3d63-4c3/providers/Microsoft.Network/loadBalancers/2b9e131c-bf7d-4e/inboundNatRules"; - _requests[1848] = new DefaultHttpContext(); - _requests[1848].RequestServices = CreateServices(); - _requests[1848].Request.Method = "GET"; - _requests[1848].Request.Path = "/subscriptions/6547d965-9655-/resourceGroups/66b3afa4-a53c-48e/providers/Microsoft.Network/loadBalancers/6a0ba0ad-33ef-41/loadBalancingRules"; - _requests[1849] = new DefaultHttpContext(); - _requests[1849].RequestServices = CreateServices(); - _requests[1849].Request.Method = "GET"; - _requests[1849].Request.Path = "/subscriptions/f5d18b87-c471-/resourceGroups/ccaca29f-20c3-46e/providers/Microsoft.Network/loadBalancers/05bde30b-6b13-48/networkInterfaces"; - _requests[1850] = new DefaultHttpContext(); - _requests[1850].RequestServices = CreateServices(); - _requests[1850].Request.Method = "GET"; - _requests[1850].Request.Path = "/subscriptions/91282629-702b-/resourceGroups/dab1fdd8-f17b-476/providers/Microsoft.Network/loadBalancers/55bd0f7f-0254-45/probes"; - _requests[1851] = new DefaultHttpContext(); - _requests[1851].RequestServices = CreateServices(); - _requests[1851].Request.Method = "POST"; - _requests[1851].Request.Path = "/subscriptions/af7a5441-3ff3-/resourceGroups/812fe483-374f-4a9/providers/Microsoft.Network/networkInterfaces/d1398cbf-53ca-4d86-a/effectiveNetworkSecurityGroups"; - _requests[1852] = new DefaultHttpContext(); - _requests[1852].RequestServices = CreateServices(); - _requests[1852].Request.Method = "POST"; - _requests[1852].Request.Path = "/subscriptions/722fdde9-9d83-/resourceGroups/be354a40-6ab0-4f7/providers/Microsoft.Network/networkInterfaces/bab2ac36-e380-4174-a/effectiveRouteTable"; - _requests[1853] = new DefaultHttpContext(); - _requests[1853].RequestServices = CreateServices(); - _requests[1853].Request.Method = "GET"; - _requests[1853].Request.Path = "/subscriptions/85805d31-a4cf-/resourceGroups/54c076c3-94e9-411/providers/Microsoft.Network/networkInterfaces/513ff4fd-ca40-473d-a/ipConfigurations"; - _requests[1854] = new DefaultHttpContext(); - _requests[1854].RequestServices = CreateServices(); - _requests[1854].Request.Method = "GET"; - _requests[1854].Request.Path = "/subscriptions/2794ebc0-008d-/resourceGroups/514b0914-81f9-480/providers/Microsoft.Network/networkInterfaces/0e1b0084-8acb-453c-8/loadBalancers"; - _requests[1855] = new DefaultHttpContext(); - _requests[1855].RequestServices = CreateServices(); - _requests[1855].Request.Method = "GET"; - _requests[1855].Request.Path = "/subscriptions/700f0f4d-705b-/resourceGroups/9e66d0c4-6de0-497/providers/Microsoft.Network/networkSecurityGroups/d06f6add-652b-44e0-aa0b-/defaultSecurityRules"; - _requests[1856] = new DefaultHttpContext(); - _requests[1856].RequestServices = CreateServices(); - _requests[1856].Request.Method = "GET"; - _requests[1856].Request.Path = "/subscriptions/5437fd80-82fb-/resourceGroups/f2709126-97ec-469/providers/Microsoft.Network/networkSecurityGroups/005d76d8-eb1c-4a42-897c-/securityRules"; - _requests[1857] = new DefaultHttpContext(); - _requests[1857].RequestServices = CreateServices(); - _requests[1857].Request.Method = "POST"; - _requests[1857].Request.Path = "/subscriptions/1494a721-1686-/resourceGroups/f33be386-969e-465/providers/Microsoft.Network/networkWatchers/97a10314-a67c-4dad/availableProvidersList"; - _requests[1858] = new DefaultHttpContext(); - _requests[1858].RequestServices = CreateServices(); - _requests[1858].Request.Method = "POST"; - _requests[1858].Request.Path = "/subscriptions/f450f55a-d1b7-/resourceGroups/9d2e6ebd-c52c-4be/providers/Microsoft.Network/networkWatchers/39cd8742-e77c-4c15/azureReachabilityReport"; - _requests[1859] = new DefaultHttpContext(); - _requests[1859].RequestServices = CreateServices(); - _requests[1859].Request.Method = "POST"; - _requests[1859].Request.Path = "/subscriptions/a31e1670-d126-/resourceGroups/8d14ddcf-186b-4f1/providers/Microsoft.Network/networkWatchers/26e782d1-ae1f-4528/configureFlowLog"; - _requests[1860] = new DefaultHttpContext(); - _requests[1860].RequestServices = CreateServices(); - _requests[1860].Request.Method = "GET"; - _requests[1860].Request.Path = "/subscriptions/cf829075-e370-/resourceGroups/185f29a0-cf5c-44b/providers/Microsoft.Network/networkWatchers/8d2524d6-37c5-40b7/connectionMonitors"; - _requests[1861] = new DefaultHttpContext(); - _requests[1861].RequestServices = CreateServices(); - _requests[1861].Request.Method = "POST"; - _requests[1861].Request.Path = "/subscriptions/ea711249-b5cd-/resourceGroups/37158d70-244e-4c2/providers/Microsoft.Network/networkWatchers/18dbcb25-cad7-4669/connectivityCheck"; - _requests[1862] = new DefaultHttpContext(); - _requests[1862].RequestServices = CreateServices(); - _requests[1862].Request.Method = "POST"; - _requests[1862].Request.Path = "/subscriptions/1d688e7e-2a06-/resourceGroups/b9be48d6-286f-439/providers/Microsoft.Network/networkWatchers/98e94cde-fefd-4c36/ipFlowVerify"; - _requests[1863] = new DefaultHttpContext(); - _requests[1863].RequestServices = CreateServices(); - _requests[1863].Request.Method = "POST"; - _requests[1863].Request.Path = "/subscriptions/d4733a65-05f1-/resourceGroups/7650378a-d4aa-4e8/providers/Microsoft.Network/networkWatchers/6e24a727-3cd3-43f3/nextHop"; - _requests[1864] = new DefaultHttpContext(); - _requests[1864].RequestServices = CreateServices(); - _requests[1864].Request.Method = "GET"; - _requests[1864].Request.Path = "/subscriptions/d2c5a858-6379-/resourceGroups/ea69426c-8c21-4ce/providers/Microsoft.Network/networkWatchers/db6ffb9c-0cd3-443b/packetCaptures"; - _requests[1865] = new DefaultHttpContext(); - _requests[1865].RequestServices = CreateServices(); - _requests[1865].Request.Method = "POST"; - _requests[1865].Request.Path = "/subscriptions/02865741-7974-/resourceGroups/88573ec4-15de-49d/providers/Microsoft.Network/networkWatchers/9e82ce9a-51ce-40ee/queryFlowLogStatus"; - _requests[1866] = new DefaultHttpContext(); - _requests[1866].RequestServices = CreateServices(); - _requests[1866].Request.Method = "POST"; - _requests[1866].Request.Path = "/subscriptions/abba9219-0efe-/resourceGroups/28196c39-4528-451/providers/Microsoft.Network/networkWatchers/cefd60e9-9b9d-4d42/queryTroubleshootResult"; - _requests[1867] = new DefaultHttpContext(); - _requests[1867].RequestServices = CreateServices(); - _requests[1867].Request.Method = "POST"; - _requests[1867].Request.Path = "/subscriptions/f1cc97a0-aa62-/resourceGroups/08a7b72f-6b4c-457/providers/Microsoft.Network/networkWatchers/40f33513-f9ef-463e/securityGroupView"; - _requests[1868] = new DefaultHttpContext(); - _requests[1868].RequestServices = CreateServices(); - _requests[1868].Request.Method = "POST"; - _requests[1868].Request.Path = "/subscriptions/b726d259-2f74-/resourceGroups/2f5a7ef3-c6e2-4a5/providers/Microsoft.Network/networkWatchers/201e752f-888b-44c1/topology"; - _requests[1869] = new DefaultHttpContext(); - _requests[1869].RequestServices = CreateServices(); - _requests[1869].Request.Method = "POST"; - _requests[1869].Request.Path = "/subscriptions/2b4fd191-a43f-/resourceGroups/129c89bd-10c2-401/providers/Microsoft.Network/networkWatchers/c78b7300-d47e-4b4f/troubleshoot"; - _requests[1870] = new DefaultHttpContext(); - _requests[1870].RequestServices = CreateServices(); - _requests[1870].Request.Method = "GET"; - _requests[1870].Request.Path = "/subscriptions/771a340e-981b-/resourceGroups/bf14d1e9-118a-486/providers/Microsoft.Network/routeFilters/58ed57c9-d55f-4/routeFilterRules"; - _requests[1871] = new DefaultHttpContext(); - _requests[1871].RequestServices = CreateServices(); - _requests[1871].Request.Method = "GET"; - _requests[1871].Request.Path = "/subscriptions/d794fcd9-5e6f-/resourceGroups/882c3419-e3bf-4d1/providers/Microsoft.Network/routeTables/961040b0-3dce-/routes"; - _requests[1872] = new DefaultHttpContext(); - _requests[1872].RequestServices = CreateServices(); - _requests[1872].Request.Method = "GET"; - _requests[1872].Request.Path = "/subscriptions/9d82ce4d-2755-/resourceGroups/fc1b712a-8154-4a1/providers/Microsoft.Network/virtualNetworkGateways/087d44b6-fe62-4377-acd9-b/connections"; - _requests[1873] = new DefaultHttpContext(); - _requests[1873].RequestServices = CreateServices(); - _requests[1873].Request.Method = "POST"; - _requests[1873].Request.Path = "/subscriptions/8506902f-7f71-/resourceGroups/edf4ed63-8b49-4ed/providers/Microsoft.Network/virtualNetworkGateways/2ea7490b-0163-4500-8e08-1/generatevpnclientpackage"; - _requests[1874] = new DefaultHttpContext(); - _requests[1874].RequestServices = CreateServices(); - _requests[1874].Request.Method = "POST"; - _requests[1874].Request.Path = "/subscriptions/361a43c2-d346-/resourceGroups/ca856f14-7fc3-400/providers/Microsoft.Network/virtualNetworkGateways/301f9fa4-5189-40f0-bc83-d/generatevpnprofile"; - _requests[1875] = new DefaultHttpContext(); - _requests[1875].RequestServices = CreateServices(); - _requests[1875].Request.Method = "POST"; - _requests[1875].Request.Path = "/subscriptions/6ea23920-2ca2-/resourceGroups/149947c6-e4f9-4a2/providers/Microsoft.Network/virtualNetworkGateways/24069211-6b90-454a-9c71-2/getAdvertisedRoutes"; - _requests[1876] = new DefaultHttpContext(); - _requests[1876].RequestServices = CreateServices(); - _requests[1876].Request.Method = "POST"; - _requests[1876].Request.Path = "/subscriptions/a5da221c-9d75-/resourceGroups/b0f2d726-e21f-42e/providers/Microsoft.Network/virtualNetworkGateways/dc2b4c93-fb51-4adb-87c9-b/getBgpPeerStatus"; - _requests[1877] = new DefaultHttpContext(); - _requests[1877].RequestServices = CreateServices(); - _requests[1877].Request.Method = "POST"; - _requests[1877].Request.Path = "/subscriptions/e168f5af-9a43-/resourceGroups/edb8448a-3031-416/providers/Microsoft.Network/virtualNetworkGateways/147c5a99-6606-4119-b22b-a/getLearnedRoutes"; - _requests[1878] = new DefaultHttpContext(); - _requests[1878].RequestServices = CreateServices(); - _requests[1878].Request.Method = "POST"; - _requests[1878].Request.Path = "/subscriptions/8d649fff-7975-/resourceGroups/72ff9c77-3547-489/providers/Microsoft.Network/virtualNetworkGateways/00d42826-35fe-4107-9e7e-f/getvpnclientipsecparameters"; - _requests[1879] = new DefaultHttpContext(); - _requests[1879].RequestServices = CreateServices(); - _requests[1879].Request.Method = "POST"; - _requests[1879].Request.Path = "/subscriptions/6996f97b-04c9-/resourceGroups/3102501e-0dd3-4f8/providers/Microsoft.Network/virtualNetworkGateways/1ea340ae-9241-46d4-93dd-0/getvpnprofilepackageurl"; - _requests[1880] = new DefaultHttpContext(); - _requests[1880].RequestServices = CreateServices(); - _requests[1880].Request.Method = "POST"; - _requests[1880].Request.Path = "/subscriptions/09601fa0-7f9d-/resourceGroups/00edc92f-0f4d-4ef/providers/Microsoft.Network/virtualNetworkGateways/25c47985-f4d4-4797-b6e2-1/reset"; - _requests[1881] = new DefaultHttpContext(); - _requests[1881].RequestServices = CreateServices(); - _requests[1881].Request.Method = "POST"; - _requests[1881].Request.Path = "/subscriptions/6ea32930-c3ad-/resourceGroups/72772467-40bb-455/providers/Microsoft.Network/virtualNetworkGateways/068003cf-00c1-4a1a-a422-e/setvpnclientipsecparameters"; - _requests[1882] = new DefaultHttpContext(); - _requests[1882].RequestServices = CreateServices(); - _requests[1882].Request.Method = "POST"; - _requests[1882].Request.Path = "/subscriptions/404f6374-1679-/resourceGroups/ae58f31a-ba5b-458/providers/Microsoft.Network/virtualNetworkGateways/da71541e-bfae-4e2f-8f88-3/supportedvpndevices"; - _requests[1883] = new DefaultHttpContext(); - _requests[1883].RequestServices = CreateServices(); - _requests[1883].Request.Method = "GET"; - _requests[1883].Request.Path = "/subscriptions/1361d3f8-dd2c-/resourceGroups/141d5727-436f-4a4/providers/Microsoft.Network/virtualNetworks/138bf236-ab50-4ac0/CheckIPAddressAvailability"; - _requests[1884] = new DefaultHttpContext(); - _requests[1884].RequestServices = CreateServices(); - _requests[1884].Request.Method = "GET"; - _requests[1884].Request.Path = "/subscriptions/4cc7087a-9733-/resourceGroups/1138ca4b-9318-4ce/providers/Microsoft.Network/virtualNetworks/2351947b-7fde-4aa8/subnets"; - _requests[1885] = new DefaultHttpContext(); - _requests[1885].RequestServices = CreateServices(); - _requests[1885].Request.Method = "GET"; - _requests[1885].Request.Path = "/subscriptions/c7eb5b0e-8eb2-/resourceGroups/61cf90db-fdca-422/providers/Microsoft.Network/virtualNetworks/0c678bbe-a30b-4826/usages"; - _requests[1886] = new DefaultHttpContext(); - _requests[1886].RequestServices = CreateServices(); - _requests[1886].Request.Method = "GET"; - _requests[1886].Request.Path = "/subscriptions/cd01bcf9-af46-/resourceGroups/c53912ae-6f63-4d6/providers/Microsoft.Network/virtualNetworks/768985ad-612a-464a/virtualNetworkPeerings"; - _requests[1887] = new DefaultHttpContext(); - _requests[1887].RequestServices = CreateServices(); - _requests[1887].Request.Method = "GET"; - _requests[1887].Request.Path = "/subscriptions/cb3efaf4-7870-/resourceGroups/8b465326-4591-464/providers/Microsoft.NotificationHubs/namespaces/51a1829f-44c7/AuthorizationRules"; - _requests[1888] = new DefaultHttpContext(); - _requests[1888].RequestServices = CreateServices(); - _requests[1888].Request.Method = "POST"; - _requests[1888].Request.Path = "/subscriptions/e414a610-58fa-/resourceGroups/cc52d4f4-3e94-424/providers/Microsoft.NotificationHubs/namespaces/67189805-ff3a/checkNotificationHubAvailability"; - _requests[1889] = new DefaultHttpContext(); - _requests[1889].RequestServices = CreateServices(); - _requests[1889].Request.Method = "GET"; - _requests[1889].Request.Path = "/subscriptions/36119f1a-ba8f-/resourceGroups/325032dd-261b-481/providers/Microsoft.NotificationHubs/namespaces/fc27ea40-cb18/notificationHubs"; - _requests[1890] = new DefaultHttpContext(); - _requests[1890].RequestServices = CreateServices(); - _requests[1890].Request.Method = "GET"; - _requests[1890].Request.Path = "/subscriptions/649426d2-aa99-/resourcegroups/fdb59bbf-62ea-41f/providers/Microsoft.OperationalInsights/workspaces/bfa1f715-549c/dataSources"; - _requests[1891] = new DefaultHttpContext(); - _requests[1891].RequestServices = CreateServices(); - _requests[1891].Request.Method = "GET"; - _requests[1891].Request.Path = "/subscriptions/e37205b7-1fab-/resourcegroups/cbbb9e77-35e4-4f2/providers/Microsoft.OperationalInsights/workspaces/82c6c987-eb72/intelligencePacks"; - _requests[1892] = new DefaultHttpContext(); - _requests[1892].RequestServices = CreateServices(); - _requests[1892].Request.Method = "GET"; - _requests[1892].Request.Path = "/subscriptions/a96c2519-c65d-/resourcegroups/d80cb8dd-14a8-4f0/providers/Microsoft.OperationalInsights/workspaces/95995303-bf2e/linkedServices"; - _requests[1893] = new DefaultHttpContext(); - _requests[1893].RequestServices = CreateServices(); - _requests[1893].Request.Method = "GET"; - _requests[1893].Request.Path = "/subscriptions/08b4e49e-a6fe-/resourcegroups/53610fae-259e-460/providers/Microsoft.OperationalInsights/workspaces/69624efd-8cfc/managementGroups"; - _requests[1894] = new DefaultHttpContext(); - _requests[1894].RequestServices = CreateServices(); - _requests[1894].Request.Method = "POST"; - _requests[1894].Request.Path = "/subscriptions/837931f5-9878-/resourceGroups/2c0387c7-84ee-4c7/providers/Microsoft.OperationalInsights/workspaces/207b0293-1a56/purge"; - _requests[1895] = new DefaultHttpContext(); - _requests[1895].RequestServices = CreateServices(); - _requests[1895].Request.Method = "GET"; - _requests[1895].Request.Path = "/subscriptions/fd257c15-51d9-/resourcegroups/bfa9306f-dab3-4bd/providers/Microsoft.OperationalInsights/workspaces/2f3a97b6-9241/savedSearches"; - _requests[1896] = new DefaultHttpContext(); - _requests[1896].RequestServices = CreateServices(); - _requests[1896].Request.Method = "POST"; - _requests[1896].Request.Path = "/subscriptions/69d7404a-d6c0-/resourcegroups/776cdddb-1262-439/providers/Microsoft.OperationalInsights/workspaces/799773be-553d/schema"; - _requests[1897] = new DefaultHttpContext(); - _requests[1897].RequestServices = CreateServices(); - _requests[1897].Request.Method = "POST"; - _requests[1897].Request.Path = "/subscriptions/c71c183a-028b-/resourcegroups/a5c30854-8965-4f7/providers/Microsoft.OperationalInsights/workspaces/d938bb7b-a0cb/search"; - _requests[1898] = new DefaultHttpContext(); - _requests[1898].RequestServices = CreateServices(); - _requests[1898].Request.Method = "POST"; - _requests[1898].Request.Path = "/subscriptions/9c2958d3-eff1-/resourcegroups/0ef969cc-bd1e-474/providers/Microsoft.OperationalInsights/workspaces/b6f81d29-27e6/sharedKeys"; - _requests[1899] = new DefaultHttpContext(); - _requests[1899].RequestServices = CreateServices(); - _requests[1899].Request.Method = "GET"; - _requests[1899].Request.Path = "/subscriptions/6835ce91-b8c5-/resourcegroups/35831768-f167-4a5/providers/Microsoft.OperationalInsights/workspaces/e895bf74-3f9a/storageInsightConfigs"; - _requests[1900] = new DefaultHttpContext(); - _requests[1900].RequestServices = CreateServices(); - _requests[1900].Request.Method = "GET"; - _requests[1900].Request.Path = "/subscriptions/8ba83dde-a2e3-/resourcegroups/727f640c-dce6-448/providers/Microsoft.OperationalInsights/workspaces/c3939575-5e52/usages"; - _requests[1901] = new DefaultHttpContext(); - _requests[1901].RequestServices = CreateServices(); - _requests[1901].Request.Method = "POST"; - _requests[1901].Request.Path = "/subscriptions/fc1f10a0-17ba-/resourceGroups/a6c39364-6d5b-4ec/providers/Microsoft.PolicyInsights/policyEvents/4f2b72f1-ce53-4365-a/queryResults"; - _requests[1902] = new DefaultHttpContext(); - _requests[1902].RequestServices = CreateServices(); - _requests[1902].Request.Method = "POST"; - _requests[1902].Request.Path = "/subscriptions/3d1904b3-a4d6-/resourceGroups/b79e97c5-afc7-47c/providers/Microsoft.PolicyInsights/policyStates/e87ee7db-d520-4557-8/queryResults"; - _requests[1903] = new DefaultHttpContext(); - _requests[1903].RequestServices = CreateServices(); - _requests[1903].Request.Method = "POST"; - _requests[1903].Request.Path = "/subscriptions/deaa2672-32d5-/resourceGroups/275482c3-0598-412/providers/Microsoft.PolicyInsights/policyStates/683f6db7-cbb1-468a-8979-2bd/summarize"; - _requests[1904] = new DefaultHttpContext(); - _requests[1904].RequestServices = CreateServices(); - _requests[1904].Request.Method = "POST"; - _requests[1904].Request.Path = "/subscriptions/d3ac08cb-477b-/resourceGroups/7e559183-36d8-439/providers/Microsoft.PowerBI/workspaceCollections/257f1d85-5d91-47d0-93df/listKeys"; - _requests[1905] = new DefaultHttpContext(); - _requests[1905].RequestServices = CreateServices(); - _requests[1905].Request.Method = "POST"; - _requests[1905].Request.Path = "/subscriptions/94a17623-382b-/resourceGroups/04eb290e-6ef8-406/providers/Microsoft.PowerBI/workspaceCollections/a343a7c4-c263-450d-b22e/regenerateKey"; - _requests[1906] = new DefaultHttpContext(); - _requests[1906].RequestServices = CreateServices(); - _requests[1906].Request.Method = "GET"; - _requests[1906].Request.Path = "/subscriptions/048fd0ce-25fe-/resourceGroups/d72d674f-f9f3-4de/providers/Microsoft.PowerBI/workspaceCollections/b91fb0a0-681f-4ca7-865a/workspaces"; - _requests[1907] = new DefaultHttpContext(); - _requests[1907].RequestServices = CreateServices(); - _requests[1907].Request.Method = "POST"; - _requests[1907].Request.Path = "/subscriptions/acf1580b-26a6-/resourceGroups/e3309b5a-f8f0-46f/providers/Microsoft.PowerBIDedicated/capacities/6253bf38-5cd0-4ef2-9d/resume"; - _requests[1908] = new DefaultHttpContext(); - _requests[1908].RequestServices = CreateServices(); - _requests[1908].Request.Method = "GET"; - _requests[1908].Request.Path = "/subscriptions/fcf9802f-8688-/resourceGroups/de2c6d34-7844-462/providers/Microsoft.PowerBIDedicated/capacities/409d8cfa-2cf7-4da5-a2/skus"; - _requests[1909] = new DefaultHttpContext(); - _requests[1909].RequestServices = CreateServices(); - _requests[1909].Request.Method = "POST"; - _requests[1909].Request.Path = "/subscriptions/7c3df1da-2016-/resourceGroups/d8555441-8d98-4bc/providers/Microsoft.PowerBIDedicated/capacities/59a6ded7-537c-41fd-82/suspend"; - _requests[1910] = new DefaultHttpContext(); - _requests[1910].RequestServices = CreateServices(); - _requests[1910].Request.Method = "GET"; - _requests[1910].Request.Path = "/Subscriptions/18f781ca-c525-/resourceGroups/550d3796-bce1-41e/providers/Microsoft.RecoveryServices/vaults/66dcf507-3c5/replicationAlertSettings"; - _requests[1911] = new DefaultHttpContext(); - _requests[1911].RequestServices = CreateServices(); - _requests[1911].Request.Method = "GET"; - _requests[1911].Request.Path = "/Subscriptions/32f2e7ef-5fef-/resourceGroups/32e8e2fa-4f85-41d/providers/Microsoft.RecoveryServices/vaults/645a9958-abe/replicationEvents"; - _requests[1912] = new DefaultHttpContext(); - _requests[1912].RequestServices = CreateServices(); - _requests[1912].Request.Method = "GET"; - _requests[1912].Request.Path = "/Subscriptions/40d97085-567c-/resourceGroups/d279f0c0-1d45-421/providers/Microsoft.RecoveryServices/vaults/9b931578-859/replicationFabrics"; - _requests[1913] = new DefaultHttpContext(); - _requests[1913].RequestServices = CreateServices(); - _requests[1913].Request.Method = "GET"; - _requests[1913].Request.Path = "/Subscriptions/3a5ab734-f17e-/resourceGroups/d5c34d97-cbc2-4e4/providers/Microsoft.RecoveryServices/vaults/da7a79ce-cd1/replicationJobs"; - _requests[1914] = new DefaultHttpContext(); - _requests[1914].RequestServices = CreateServices(); - _requests[1914].Request.Method = "GET"; - _requests[1914].Request.Path = "/Subscriptions/f5558a6b-09d2-/resourceGroups/52353849-c241-40d/providers/Microsoft.RecoveryServices/vaults/a280c920-187/replicationNetworkMappings"; - _requests[1915] = new DefaultHttpContext(); - _requests[1915].RequestServices = CreateServices(); - _requests[1915].Request.Method = "GET"; - _requests[1915].Request.Path = "/Subscriptions/9fc245df-5e82-/resourceGroups/24b2b7a9-272f-415/providers/Microsoft.RecoveryServices/vaults/54c8f184-09f/replicationNetworks"; - _requests[1916] = new DefaultHttpContext(); - _requests[1916].RequestServices = CreateServices(); - _requests[1916].Request.Method = "GET"; - _requests[1916].Request.Path = "/Subscriptions/97e8d2b2-5f0f-/resourceGroups/cb77f9ce-aadb-4b7/providers/Microsoft.RecoveryServices/vaults/a9676e52-ce2/replicationPolicies"; - _requests[1917] = new DefaultHttpContext(); - _requests[1917].RequestServices = CreateServices(); - _requests[1917].Request.Method = "GET"; - _requests[1917].Request.Path = "/Subscriptions/97fcb6c2-92f1-/resourceGroups/edec178c-173c-49f/providers/Microsoft.RecoveryServices/vaults/47bbf289-256/replicationProtectedItems"; - _requests[1918] = new DefaultHttpContext(); - _requests[1918].RequestServices = CreateServices(); - _requests[1918].Request.Method = "GET"; - _requests[1918].Request.Path = "/Subscriptions/f59181d5-a09d-/resourceGroups/d1bc3ed9-379a-495/providers/Microsoft.RecoveryServices/vaults/35ff5535-6ee/replicationProtectionContainerMappings"; - _requests[1919] = new DefaultHttpContext(); - _requests[1919].RequestServices = CreateServices(); - _requests[1919].Request.Method = "GET"; - _requests[1919].Request.Path = "/Subscriptions/8189ef87-f7c6-/resourceGroups/2b7161f3-43df-42f/providers/Microsoft.RecoveryServices/vaults/cec2f3aa-c3f/replicationProtectionContainers"; - _requests[1920] = new DefaultHttpContext(); - _requests[1920].RequestServices = CreateServices(); - _requests[1920].Request.Method = "GET"; - _requests[1920].Request.Path = "/Subscriptions/462072e7-4e6a-/resourceGroups/afb883e7-4ba2-4c9/providers/Microsoft.RecoveryServices/vaults/24ba0504-e61/replicationRecoveryPlans"; - _requests[1921] = new DefaultHttpContext(); - _requests[1921].RequestServices = CreateServices(); - _requests[1921].Request.Method = "GET"; - _requests[1921].Request.Path = "/Subscriptions/569f4fe3-75a6-/resourceGroups/1a6cc3af-eeee-4c5/providers/Microsoft.RecoveryServices/vaults/62dd9705-c0e/replicationRecoveryServicesProviders"; - _requests[1922] = new DefaultHttpContext(); - _requests[1922].RequestServices = CreateServices(); - _requests[1922].Request.Method = "GET"; - _requests[1922].Request.Path = "/Subscriptions/66599e71-0119-/resourceGroups/462c31f8-f459-455/providers/Microsoft.RecoveryServices/vaults/eed8f761-5e2/replicationStorageClassificationMappings"; - _requests[1923] = new DefaultHttpContext(); - _requests[1923].RequestServices = CreateServices(); - _requests[1923].Request.Method = "GET"; - _requests[1923].Request.Path = "/Subscriptions/7d357ce4-4a18-/resourceGroups/db1d19f4-1753-42f/providers/Microsoft.RecoveryServices/vaults/35296352-813/replicationStorageClassifications"; - _requests[1924] = new DefaultHttpContext(); - _requests[1924].RequestServices = CreateServices(); - _requests[1924].Request.Method = "GET"; - _requests[1924].Request.Path = "/Subscriptions/55a99d9d-8d0c-/resourceGroups/850ed33b-06de-4cf/providers/Microsoft.RecoveryServices/vaults/ce7a22a3-42e/replicationVaultHealth"; - _requests[1925] = new DefaultHttpContext(); - _requests[1925].RequestServices = CreateServices(); - _requests[1925].Request.Method = "GET"; - _requests[1925].Request.Path = "/Subscriptions/d22d24c1-4ca4-/resourceGroups/fe35bece-ca41-43d/providers/Microsoft.RecoveryServices/vaults/fc1128c8-4b9/replicationvCenters"; - _requests[1926] = new DefaultHttpContext(); - _requests[1926].RequestServices = CreateServices(); - _requests[1926].Request.Method = "GET"; - _requests[1926].Request.Path = "/Subscriptions/b81b33c2-8cd2-/resourceGroups/04236ecb-d3fc-4ed/providers/Microsoft.RecoveryServices/vaults/2a61c0a7-/backupEngines"; - _requests[1927] = new DefaultHttpContext(); - _requests[1927].RequestServices = CreateServices(); - _requests[1927].Request.Method = "GET"; - _requests[1927].Request.Path = "/Subscriptions/74a00c97-6837-/resourceGroups/0e8895b8-25f3-488/providers/Microsoft.RecoveryServices/vaults/564e37b3-/backupJobs"; - _requests[1928] = new DefaultHttpContext(); - _requests[1928].RequestServices = CreateServices(); - _requests[1928].Request.Method = "POST"; - _requests[1928].Request.Path = "/Subscriptions/a584f54d-c8bb-/resourceGroups/cedfe797-30f0-4e3/providers/Microsoft.RecoveryServices/vaults/804b03d1-/backupJobsExport"; - _requests[1929] = new DefaultHttpContext(); - _requests[1929].RequestServices = CreateServices(); - _requests[1929].Request.Method = "GET"; - _requests[1929].Request.Path = "/Subscriptions/4709bdf4-21de-/resourceGroups/1241514b-77c5-4f1/providers/Microsoft.RecoveryServices/vaults/809a5984-/backupPolicies"; - _requests[1930] = new DefaultHttpContext(); - _requests[1930].RequestServices = CreateServices(); - _requests[1930].Request.Method = "GET"; - _requests[1930].Request.Path = "/Subscriptions/1a9f7b66-7546-/resourceGroups/4b5e7f64-044c-489/providers/Microsoft.RecoveryServices/vaults/3ce3a6db-/backupProtectableItems"; - _requests[1931] = new DefaultHttpContext(); - _requests[1931].RequestServices = CreateServices(); - _requests[1931].Request.Method = "GET"; - _requests[1931].Request.Path = "/Subscriptions/3f71e2fe-d3a8-/resourceGroups/6dbc1994-fbb2-430/providers/Microsoft.RecoveryServices/vaults/97752310-/backupProtectedItems"; - _requests[1932] = new DefaultHttpContext(); - _requests[1932].RequestServices = CreateServices(); - _requests[1932].Request.Method = "GET"; - _requests[1932].Request.Path = "/Subscriptions/9ed6819f-3b26-/resourceGroups/0d211ae2-ae92-4ec/providers/Microsoft.RecoveryServices/vaults/cc6a772d-/backupProtectionContainers"; - _requests[1933] = new DefaultHttpContext(); - _requests[1933].RequestServices = CreateServices(); - _requests[1933].Request.Method = "POST"; - _requests[1933].Request.Path = "/Subscriptions/1003540a-24a8-/resourceGroups/8607379d-6fe1-432/providers/Microsoft.RecoveryServices/vaults/134b0430-/backupSecurityPIN"; - _requests[1934] = new DefaultHttpContext(); - _requests[1934].RequestServices = CreateServices(); - _requests[1934].Request.Method = "GET"; - _requests[1934].Request.Path = "/Subscriptions/0d6585b6-c417-/resourceGroups/b57939f9-d710-4c3/providers/Microsoft.RecoveryServices/vaults/929d1b23-/backupUsageSummaries"; - _requests[1935] = new DefaultHttpContext(); - _requests[1935].RequestServices = CreateServices(); - _requests[1935].Request.Method = "GET"; - _requests[1935].Request.Path = "/Subscriptions/8629411e-ae76-/resourceGroups/f6ccffe3-57d6-425/providers/Microsoft.RecoveryServices/vaults/8ecd2dc6-/replicationUsages"; - _requests[1936] = new DefaultHttpContext(); - _requests[1936].RequestServices = CreateServices(); - _requests[1936].Request.Method = "GET"; - _requests[1936].Request.Path = "/Subscriptions/7af96ee3-d4c6-/resourceGroups/405b95b1-ecc5-496/providers/Microsoft.RecoveryServices/vaults/01f6fd7d-/usages"; - _requests[1937] = new DefaultHttpContext(); - _requests[1937].RequestServices = CreateServices(); - _requests[1937].Request.Method = "GET"; - _requests[1937].Request.Path = "/subscriptions/980cffda-5ae6-/resourceGroups/581721cf-0307-483/providers/Microsoft.Relay/namespaces/d4dba7e6-6580/authorizationRules"; - _requests[1938] = new DefaultHttpContext(); - _requests[1938].RequestServices = CreateServices(); - _requests[1938].Request.Method = "GET"; - _requests[1938].Request.Path = "/subscriptions/17459d36-76a2-/resourceGroups/ba66c2c7-9145-4d8/providers/Microsoft.Relay/namespaces/2fa38cef-6ab9/hybridConnections"; - _requests[1939] = new DefaultHttpContext(); - _requests[1939].RequestServices = CreateServices(); - _requests[1939].Request.Method = "GET"; - _requests[1939].Request.Path = "/subscriptions/93f56450-399c-/resourceGroups/1228cc43-93e0-446/providers/Microsoft.Relay/namespaces/8427cf03-9408/wcfRelays"; - _requests[1940] = new DefaultHttpContext(); - _requests[1940].RequestServices = CreateServices(); - _requests[1940].Request.Method = "POST"; - _requests[1940].Request.Path = "/subscriptions/7b43867f-85b7-/resourcegroups/1757ccba-950a-440/providers/Microsoft.Resources/deployments/c621e7ed-075d-/cancel"; - _requests[1941] = new DefaultHttpContext(); - _requests[1941].RequestServices = CreateServices(); - _requests[1941].Request.Method = "POST"; - _requests[1941].Request.Path = "/subscriptions/cea4ec20-0002-/resourcegroups/150dbe23-00c6-472/providers/Microsoft.Resources/deployments/73d10056-48b0-/exportTemplate"; - _requests[1942] = new DefaultHttpContext(); - _requests[1942].RequestServices = CreateServices(); - _requests[1942].Request.Method = "POST"; - _requests[1942].Request.Path = "/subscriptions/a1eb8b18-5db1-/resourcegroups/c241ad35-6810-4e7/providers/Microsoft.Resources/deployments/e1bc3783-432a-/validate"; - _requests[1943] = new DefaultHttpContext(); - _requests[1943].RequestServices = CreateServices(); - _requests[1943].Request.Method = "POST"; - _requests[1943].Request.Path = "/subscriptions/42a1f09b-1a89-/resourceGroups/8b05b02a-bab8-47a/providers/Microsoft.Scheduler/jobCollections/5d35fb6b-bf7a-4d3/disable"; - _requests[1944] = new DefaultHttpContext(); - _requests[1944].RequestServices = CreateServices(); - _requests[1944].Request.Method = "POST"; - _requests[1944].Request.Path = "/subscriptions/dd82e39b-8e5c-/resourceGroups/47b5e910-2d95-425/providers/Microsoft.Scheduler/jobCollections/5f3e2777-1911-41f/enable"; - _requests[1945] = new DefaultHttpContext(); - _requests[1945].RequestServices = CreateServices(); - _requests[1945].Request.Method = "GET"; - _requests[1945].Request.Path = "/subscriptions/e9421aea-0f6b-/resourceGroups/aab540dc-ac4d-474/providers/Microsoft.Scheduler/jobCollections/27ae310f-be29-494/jobs"; - _requests[1946] = new DefaultHttpContext(); - _requests[1946].RequestServices = CreateServices(); - _requests[1946].Request.Method = "POST"; - _requests[1946].Request.Path = "/subscriptions/feea945e-aacb-/resourceGroups/4abf1285-d4ec-4ff/providers/Microsoft.Search/searchServices/3c6ae2a2-f21e-4e8/listAdminKeys"; - _requests[1947] = new DefaultHttpContext(); - _requests[1947].RequestServices = CreateServices(); - _requests[1947].Request.Method = "GET"; - _requests[1947].Request.Path = "/subscriptions/0f31105d-c3dd-/resourceGroups/089df606-423f-482/providers/Microsoft.Search/searchServices/2ab31df5-0113-435/listQueryKeys"; - _requests[1948] = new DefaultHttpContext(); - _requests[1948].RequestServices = CreateServices(); - _requests[1948].Request.Method = "GET"; - _requests[1948].Request.Path = "/subscriptions/f4698aff-39ea-/resourceGroups/df2fec72-c585-466/providers/Microsoft.Security/locations/a7a59ef7-cd/alerts"; - _requests[1949] = new DefaultHttpContext(); - _requests[1949].RequestServices = CreateServices(); - _requests[1949].Request.Method = "GET"; - _requests[1949].Request.Path = "/subscriptions/fde28efb-31b0-/resourceGroups/6a05c277-6533-4be/providers/Microsoft.Security/locations/c0066ad3-4a/jitNetworkAccessPolicies"; - _requests[1950] = new DefaultHttpContext(); - _requests[1950].RequestServices = CreateServices(); - _requests[1950].Request.Method = "GET"; - _requests[1950].Request.Path = "/subscriptions/ed999245-1e4a-/resourceGroups/eaed7cb9-d28f-4c5/providers/Microsoft.Security/locations/0f41168f-a0/tasks"; - _requests[1951] = new DefaultHttpContext(); - _requests[1951].RequestServices = CreateServices(); - _requests[1951].Request.Method = "POST"; - _requests[1951].Request.Path = "/subscriptions/32af5639-7d28-/resourceGroups/664bd947-717f-456/providers/Microsoft.ServerManagement/gateways/0ae9b270-1e/profile"; - _requests[1952] = new DefaultHttpContext(); - _requests[1952].RequestServices = CreateServices(); - _requests[1952].Request.Method = "POST"; - _requests[1952].Request.Path = "/subscriptions/10c61351-aa61-/resourceGroups/3de6c8b4-7e42-46f/providers/Microsoft.ServerManagement/gateways/06a02e07-96/regenerateprofile"; - _requests[1953] = new DefaultHttpContext(); - _requests[1953].RequestServices = CreateServices(); - _requests[1953].Request.Method = "POST"; - _requests[1953].Request.Path = "/subscriptions/c0089034-45ed-/resourceGroups/bfa7de97-4cf9-402/providers/Microsoft.ServerManagement/gateways/4fb0df26-8e/upgradetolatest"; - _requests[1954] = new DefaultHttpContext(); - _requests[1954].RequestServices = CreateServices(); - _requests[1954].Request.Method = "GET"; - _requests[1954].Request.Path = "/subscriptions/b803bcce-f030-/resourceGroups/515b379d-c465-49c/providers/Microsoft.ServiceBus/namespaces/4485a612-c9b8/AuthorizationRules"; - _requests[1955] = new DefaultHttpContext(); - _requests[1955].RequestServices = CreateServices(); - _requests[1955].Request.Method = "GET"; - _requests[1955].Request.Path = "/subscriptions/72415ae0-3a00-/resourceGroups/d62699b8-c981-45d/providers/Microsoft.ServiceBus/namespaces/40cddda1-8945/disasterRecoveryConfigs"; - _requests[1956] = new DefaultHttpContext(); - _requests[1956].RequestServices = CreateServices(); - _requests[1956].Request.Method = "GET"; - _requests[1956].Request.Path = "/subscriptions/46d9261c-f273-/resourceGroups/86b86c14-3550-4b4/providers/Microsoft.ServiceBus/namespaces/b6c84343-51ff/eventhubs"; - _requests[1957] = new DefaultHttpContext(); - _requests[1957].RequestServices = CreateServices(); - _requests[1957].Request.Method = "GET"; - _requests[1957].Request.Path = "/subscriptions/32aeb101-6b4e-/resourceGroups/5316d617-1733-4f6/providers/Microsoft.ServiceBus/namespaces/e33f8a14-6045/messagingplan"; - _requests[1958] = new DefaultHttpContext(); - _requests[1958].RequestServices = CreateServices(); - _requests[1958].Request.Method = "GET"; - _requests[1958].Request.Path = "/subscriptions/c2855c22-b09a-/resourceGroups/d8689a09-1531-4b6/providers/Microsoft.ServiceBus/namespaces/caa402b6-c770/migrationConfigurations"; - _requests[1959] = new DefaultHttpContext(); - _requests[1959].RequestServices = CreateServices(); - _requests[1959].Request.Method = "GET"; - _requests[1959].Request.Path = "/subscriptions/76af5ed4-5ae3-/resourceGroups/d559d666-8c9d-47c/providers/Microsoft.ServiceBus/namespaces/c8345f41-e303/queues"; - _requests[1960] = new DefaultHttpContext(); - _requests[1960].RequestServices = CreateServices(); - _requests[1960].Request.Method = "GET"; - _requests[1960].Request.Path = "/subscriptions/b34d9952-c569-/resourceGroups/eceefcbb-59b9-421/providers/Microsoft.ServiceBus/namespaces/3d96810a-2598/topics"; - _requests[1961] = new DefaultHttpContext(); - _requests[1961].RequestServices = CreateServices(); - _requests[1961].Request.Method = "GET"; - _requests[1961].Request.Path = "/subscriptions/ddcbfae9-d247-/resourceGroups/12032e8e-b317-483/providers/Microsoft.ServiceFabric/clusters/d9fda65c-a9/applications"; - _requests[1962] = new DefaultHttpContext(); - _requests[1962].RequestServices = CreateServices(); - _requests[1962].Request.Method = "GET"; - _requests[1962].Request.Path = "/subscriptions/0b7aa011-c857-/resourceGroups/e8f40e00-f343-435/providers/Microsoft.ServiceFabric/clusters/54df23ae-3d/applicationTypes"; - _requests[1963] = new DefaultHttpContext(); - _requests[1963].RequestServices = CreateServices(); - _requests[1963].Request.Method = "POST"; - _requests[1963].Request.Path = "/subscriptions/54bfa796-40cb-/resourceGroups/c80ccb88-f9c5-4d3/providers/Microsoft.SignalRService/SignalR/8f97b7a2-c92/listKeys"; - _requests[1964] = new DefaultHttpContext(); - _requests[1964].RequestServices = CreateServices(); - _requests[1964].Request.Method = "POST"; - _requests[1964].Request.Path = "/subscriptions/26f33900-25a0-/resourceGroups/7d3d98b5-8b9a-42c/providers/Microsoft.SignalRService/SignalR/f7fe6f19-c34/regenerateKey"; - _requests[1965] = new DefaultHttpContext(); - _requests[1965].RequestServices = CreateServices(); - _requests[1965].Request.Method = "GET"; - _requests[1965].Request.Path = "/subscriptions/e40340ea-4702-/resourceGroups/1ff112c5-269a-4aa/providers/Microsoft.Sql/locations/3b4f5c0d-535/instanceFailoverGroups"; - _requests[1966] = new DefaultHttpContext(); - _requests[1966].RequestServices = CreateServices(); - _requests[1966].Request.Method = "GET"; - _requests[1966].Request.Path = "/subscriptions/53a6dccc-1bf0-/resourceGroups/f1ef1172-db63-497/providers/Microsoft.Sql/managedInstances/4a129714-e4fe-4f94-/databases"; - _requests[1967] = new DefaultHttpContext(); - _requests[1967].RequestServices = CreateServices(); - _requests[1967].Request.Method = "GET"; - _requests[1967].Request.Path = "/subscriptions/e13c3263-0c8e-/resourceGroups/23d3c938-2b51-440/providers/Microsoft.Sql/servers/078630e5-6/administrators"; - _requests[1968] = new DefaultHttpContext(); - _requests[1968].RequestServices = CreateServices(); - _requests[1968].Request.Method = "GET"; - _requests[1968].Request.Path = "/subscriptions/2ccfd1b4-9ef0-/resourceGroups/f20bd80f-32b3-4b4/providers/Microsoft.Sql/servers/eec787f7-8/advisors"; - _requests[1969] = new DefaultHttpContext(); - _requests[1969].RequestServices = CreateServices(); - _requests[1969].Request.Method = "GET"; - _requests[1969].Request.Path = "/subscriptions/8afee96b-4b08-/resourceGroups/2231e3ae-9d73-478/providers/Microsoft.Sql/servers/9962cb8e-b/auditingPolicies"; - _requests[1970] = new DefaultHttpContext(); - _requests[1970].RequestServices = CreateServices(); - _requests[1970].Request.Method = "GET"; - _requests[1970].Request.Path = "/subscriptions/af6d777b-e1fa-/resourceGroups/6e2e5814-c385-495/providers/Microsoft.Sql/servers/ecd3b0b4-1/backupLongTermRetentionVaults"; - _requests[1971] = new DefaultHttpContext(); - _requests[1971].RequestServices = CreateServices(); - _requests[1971].Request.Method = "GET"; - _requests[1971].Request.Path = "/subscriptions/4cee87f2-aab0-/resourceGroups/3253ae97-671a-47d/providers/Microsoft.Sql/servers/75d22926-2/communicationLinks"; - _requests[1972] = new DefaultHttpContext(); - _requests[1972].RequestServices = CreateServices(); - _requests[1972].Request.Method = "GET"; - _requests[1972].Request.Path = "/subscriptions/3c2d67b3-c753-/resourceGroups/b2dc3039-3b22-4a1/providers/Microsoft.Sql/servers/81c3a2d4-7/databases"; - _requests[1973] = new DefaultHttpContext(); - _requests[1973].RequestServices = CreateServices(); - _requests[1973].Request.Method = "GET"; - _requests[1973].Request.Path = "/subscriptions/9be558a9-aa89-/resourceGroups/fbe5e564-a373-482/providers/Microsoft.Sql/servers/6aa894ea-d/disasterRecoveryConfiguration"; - _requests[1974] = new DefaultHttpContext(); - _requests[1974].RequestServices = CreateServices(); - _requests[1974].Request.Method = "GET"; - _requests[1974].Request.Path = "/subscriptions/2603e94d-0b4a-/resourceGroups/d44b5e1f-2dfb-487/providers/Microsoft.Sql/servers/c629e7c0-6/dnsAliases"; - _requests[1975] = new DefaultHttpContext(); - _requests[1975].RequestServices = CreateServices(); - _requests[1975].Request.Method = "GET"; - _requests[1975].Request.Path = "/subscriptions/40baf910-023d-/resourceGroups/c54f6b1e-f02d-41a/providers/Microsoft.Sql/servers/342529b0-a/elasticPools"; - _requests[1976] = new DefaultHttpContext(); - _requests[1976].RequestServices = CreateServices(); - _requests[1976].Request.Method = "GET"; - _requests[1976].Request.Path = "/subscriptions/33fd4b9a-798c-/resourceGroups/58afd50d-630c-473/providers/Microsoft.Sql/servers/c28f894a-2/encryptionProtector"; - _requests[1977] = new DefaultHttpContext(); - _requests[1977].RequestServices = CreateServices(); - _requests[1977].Request.Method = "GET"; - _requests[1977].Request.Path = "/subscriptions/4e5694e1-e3d0-/resourceGroups/445cd04d-f39a-40f/providers/Microsoft.Sql/servers/c6b0f0a1-c/failoverGroups"; - _requests[1978] = new DefaultHttpContext(); - _requests[1978].RequestServices = CreateServices(); - _requests[1978].Request.Method = "GET"; - _requests[1978].Request.Path = "/subscriptions/c422216d-8bcd-/resourceGroups/56949c0c-b289-471/providers/Microsoft.Sql/servers/d353f503-e/firewallRules"; - _requests[1979] = new DefaultHttpContext(); - _requests[1979].RequestServices = CreateServices(); - _requests[1979].Request.Method = "POST"; - _requests[1979].Request.Path = "/subscriptions/587e58db-e15c-/resourceGroups/a56739e3-0489-411/providers/Microsoft.Sql/servers/f101e9c4-b/import"; - _requests[1980] = new DefaultHttpContext(); - _requests[1980].RequestServices = CreateServices(); - _requests[1980].Request.Method = "GET"; - _requests[1980].Request.Path = "/subscriptions/6dd839c4-c933-/resourceGroups/75423539-5570-4f0/providers/Microsoft.Sql/servers/f07191ef-1/jobAgents"; - _requests[1981] = new DefaultHttpContext(); - _requests[1981].RequestServices = CreateServices(); - _requests[1981].Request.Method = "GET"; - _requests[1981].Request.Path = "/subscriptions/bbd769a3-9d3b-/resourceGroups/09b909af-4c7a-47d/providers/Microsoft.Sql/servers/49abdf4d-a/keys"; - _requests[1982] = new DefaultHttpContext(); - _requests[1982].RequestServices = CreateServices(); - _requests[1982].Request.Method = "GET"; - _requests[1982].Request.Path = "/subscriptions/d1c4f6b9-45df-/resourceGroups/be2c5a05-4bfc-428/providers/Microsoft.Sql/servers/4eae23cb-5/recommendedElasticPools"; - _requests[1983] = new DefaultHttpContext(); - _requests[1983].RequestServices = CreateServices(); - _requests[1983].Request.Method = "GET"; - _requests[1983].Request.Path = "/subscriptions/c68e2307-336c-/resourceGroups/9bb70a49-380f-432/providers/Microsoft.Sql/servers/ad9e3951-4/recoverableDatabases"; - _requests[1984] = new DefaultHttpContext(); - _requests[1984].RequestServices = CreateServices(); - _requests[1984].Request.Method = "GET"; - _requests[1984].Request.Path = "/subscriptions/8b61f891-e7d6-/resourceGroups/5ac76720-8f20-419/providers/Microsoft.Sql/servers/9b4ab6d6-8/restorableDroppedDatabases"; - _requests[1985] = new DefaultHttpContext(); - _requests[1985].RequestServices = CreateServices(); - _requests[1985].Request.Method = "GET"; - _requests[1985].Request.Path = "/subscriptions/a636a4dd-c1ff-/resourceGroups/754d6429-8912-453/providers/Microsoft.Sql/servers/409f8710-1/serviceObjectives"; - _requests[1986] = new DefaultHttpContext(); - _requests[1986].RequestServices = CreateServices(); - _requests[1986].Request.Method = "GET"; - _requests[1986].Request.Path = "/subscriptions/bee17475-4490-/resourceGroups/df853377-bef2-479/providers/Microsoft.Sql/servers/c8628b39-b/syncAgents"; - _requests[1987] = new DefaultHttpContext(); - _requests[1987].RequestServices = CreateServices(); - _requests[1987].Request.Method = "GET"; - _requests[1987].Request.Path = "/subscriptions/2fdb39f7-a1a9-/resourceGroups/51aba79e-3c6f-44f/providers/Microsoft.Sql/servers/0adbc94f-a/usages"; - _requests[1988] = new DefaultHttpContext(); - _requests[1988].RequestServices = CreateServices(); - _requests[1988].Request.Method = "GET"; - _requests[1988].Request.Path = "/subscriptions/0beb17f7-e3bf-/resourceGroups/3bf672b3-4860-41d/providers/Microsoft.Sql/servers/d383e4b4-5/virtualNetworkRules"; - _requests[1989] = new DefaultHttpContext(); - _requests[1989].RequestServices = CreateServices(); - _requests[1989].Request.Method = "GET"; - _requests[1989].Request.Path = "/subscriptions/b766be27-70d2-/resourcegroups/8a31f1e4-4af9-422/providers/Microsoft.Storage.Admin/farms/f3b104/acquisitions"; - _requests[1990] = new DefaultHttpContext(); - _requests[1990].RequestServices = CreateServices(); - _requests[1990].Request.Method = "GET"; - _requests[1990].Request.Path = "/subscriptions/f5b3916f-cf4a-/resourcegroups/1ee7bd3a-503d-406/providers/Microsoft.Storage.Admin/farms/aefb07/metricdefinitions"; - _requests[1991] = new DefaultHttpContext(); - _requests[1991].RequestServices = CreateServices(); - _requests[1991].Request.Method = "GET"; - _requests[1991].Request.Path = "/subscriptions/0b70448b-8b60-/resourcegroups/93adb5c9-e05d-46e/providers/Microsoft.Storage.Admin/farms/765e5d/metrics"; - _requests[1992] = new DefaultHttpContext(); - _requests[1992].RequestServices = CreateServices(); - _requests[1992].Request.Method = "POST"; - _requests[1992].Request.Path = "/subscriptions/ad2b4e3d-5ed4-/resourcegroups/62d7e442-9af0-40b/providers/Microsoft.Storage.Admin/farms/01d1d2/ondemandgc"; - _requests[1993] = new DefaultHttpContext(); - _requests[1993].RequestServices = CreateServices(); - _requests[1993].Request.Method = "GET"; - _requests[1993].Request.Path = "/subscriptions/470e0d21-7ed6-/resourcegroups/b53126e8-cee0-485/providers/Microsoft.Storage.Admin/farms/1b0884/shares"; - _requests[1994] = new DefaultHttpContext(); - _requests[1994].RequestServices = CreateServices(); - _requests[1994].Request.Method = "GET"; - _requests[1994].Request.Path = "/subscriptions/8f339795-22da-/resourcegroups/d288ac4c-7fd0-4e3/providers/Microsoft.Storage.Admin/farms/f8f593/storageaccounts"; - _requests[1995] = new DefaultHttpContext(); - _requests[1995].RequestServices = CreateServices(); - _requests[1995].Request.Method = "POST"; - _requests[1995].Request.Path = "/subscriptions/8d3ca180-e5ae-/resourceGroups/d8bf8929-ad8a-440/providers/Microsoft.Storage/storageAccounts/d4d7c018-f2/ListAccountSas"; - _requests[1996] = new DefaultHttpContext(); - _requests[1996].RequestServices = CreateServices(); - _requests[1996].Request.Method = "POST"; - _requests[1996].Request.Path = "/subscriptions/f1b042e0-9f16-/resourceGroups/5ba7a2d0-4a1f-426/providers/Microsoft.Storage/storageAccounts/43c187a6-67/listKeys"; - _requests[1997] = new DefaultHttpContext(); - _requests[1997].RequestServices = CreateServices(); - _requests[1997].Request.Method = "POST"; - _requests[1997].Request.Path = "/subscriptions/6c1c146d-252a-/resourceGroups/8efeba6e-5631-46a/providers/Microsoft.Storage/storageAccounts/fd78e376-34/ListServiceSas"; - _requests[1998] = new DefaultHttpContext(); - _requests[1998].RequestServices = CreateServices(); - _requests[1998].Request.Method = "POST"; - _requests[1998].Request.Path = "/subscriptions/08feb004-84f0-/resourceGroups/6afc733b-2783-4dd/providers/Microsoft.Storage/storageAccounts/f5ab2d04-93/regenerateKey"; - _requests[1999] = new DefaultHttpContext(); - _requests[1999].RequestServices = CreateServices(); - _requests[1999].Request.Method = "GET"; - _requests[1999].Request.Path = "/subscriptions/b16d2683-7e59-/resourceGroups/f5b53673-1d87-4bf/providers/Microsoft.StorSimple/managers/656eafb0-16/accessControlRecords"; - _requests[2000] = new DefaultHttpContext(); - _requests[2000].RequestServices = CreateServices(); - _requests[2000].Request.Method = "GET"; - _requests[2000].Request.Path = "/subscriptions/ba80f4bb-4b6a-/resourceGroups/c40132ff-0615-408/providers/Microsoft.StorSimple/managers/740259a1-b4/alerts"; - _requests[2001] = new DefaultHttpContext(); - _requests[2001].RequestServices = CreateServices(); - _requests[2001].Request.Method = "GET"; - _requests[2001].Request.Path = "/subscriptions/8d98090e-fd41-/resourceGroups/90847f99-818d-4aa/providers/Microsoft.StorSimple/managers/077f3c3c-2a/bandwidthSettings"; - _requests[2002] = new DefaultHttpContext(); - _requests[2002].RequestServices = CreateServices(); - _requests[2002].Request.Method = "POST"; - _requests[2002].Request.Path = "/subscriptions/b4379429-eec7-/resourceGroups/b0edb442-80aa-413/providers/Microsoft.StorSimple/managers/94eace56-a2/clearAlerts"; - _requests[2003] = new DefaultHttpContext(); - _requests[2003].RequestServices = CreateServices(); - _requests[2003].Request.Method = "GET"; - _requests[2003].Request.Path = "/subscriptions/40add273-9ef9-/resourceGroups/ceb40004-77fb-41f/providers/Microsoft.StorSimple/managers/32127f21-05/cloudApplianceConfigurations"; - _requests[2004] = new DefaultHttpContext(); - _requests[2004].RequestServices = CreateServices(); - _requests[2004].Request.Method = "POST"; - _requests[2004].Request.Path = "/subscriptions/6ec06c3c-922b-/resourceGroups/243ba88d-681a-41f/providers/Microsoft.StorSimple/managers/fdd72f65-c0/configureDevice"; - _requests[2005] = new DefaultHttpContext(); - _requests[2005].RequestServices = CreateServices(); - _requests[2005].Request.Method = "GET"; - _requests[2005].Request.Path = "/subscriptions/c8eb00bf-ca13-/resourceGroups/720528c8-5d07-4d0/providers/Microsoft.StorSimple/managers/569a28ce-22/devices"; - _requests[2006] = new DefaultHttpContext(); - _requests[2006].RequestServices = CreateServices(); - _requests[2006].Request.Method = "GET"; - _requests[2006].Request.Path = "/subscriptions/895dcb6e-fa15-/resourceGroups/e4902b88-76da-41a/providers/Microsoft.StorSimple/managers/94ee110b-1b/features"; - _requests[2007] = new DefaultHttpContext(); - _requests[2007].RequestServices = CreateServices(); - _requests[2007].Request.Method = "GET"; - _requests[2007].Request.Path = "/subscriptions/836a8494-5b8f-/resourceGroups/4f00473f-9fa0-477/providers/Microsoft.StorSimple/managers/58439a25-70/jobs"; - _requests[2008] = new DefaultHttpContext(); - _requests[2008].RequestServices = CreateServices(); - _requests[2008].Request.Method = "POST"; - _requests[2008].Request.Path = "/subscriptions/b2bcf92b-38e2-/resourceGroups/72ab8b4d-b580-46e/providers/Microsoft.StorSimple/managers/ea25d0cd-11/listActivationKey"; - _requests[2009] = new DefaultHttpContext(); - _requests[2009].RequestServices = CreateServices(); - _requests[2009].Request.Method = "POST"; - _requests[2009].Request.Path = "/subscriptions/f1004056-44e4-/resourceGroups/245d69ab-7978-40f/providers/Microsoft.StorSimple/managers/82eacea0-4b/listPublicEncryptionKey"; - _requests[2010] = new DefaultHttpContext(); - _requests[2010].RequestServices = CreateServices(); - _requests[2010].Request.Method = "GET"; - _requests[2010].Request.Path = "/subscriptions/1adb0d7a-395a-/resourceGroups/85746ee1-1cab-489/providers/Microsoft.StorSimple/managers/669c3d05-dd/metrics"; - _requests[2011] = new DefaultHttpContext(); - _requests[2011].RequestServices = CreateServices(); - _requests[2011].Request.Method = "GET"; - _requests[2011].Request.Path = "/subscriptions/7ea3951a-3f1f-/resourceGroups/e166a9b4-2917-4ae/providers/Microsoft.StorSimple/managers/4a6e9953-87/metricsDefinitions"; - _requests[2012] = new DefaultHttpContext(); - _requests[2012].RequestServices = CreateServices(); - _requests[2012].Request.Method = "POST"; - _requests[2012].Request.Path = "/subscriptions/ad74c23b-7df3-/resourceGroups/1d4779f7-92a8-495/providers/Microsoft.StorSimple/managers/3d3a80d8-a2/provisionCloudAppliance"; - _requests[2013] = new DefaultHttpContext(); - _requests[2013].RequestServices = CreateServices(); - _requests[2013].Request.Method = "POST"; - _requests[2013].Request.Path = "/subscriptions/a0103439-4e9f-/resourceGroups/fd3a5152-322e-425/providers/Microsoft.StorSimple/managers/39500ed0-17/regenerateActivationKey"; - _requests[2014] = new DefaultHttpContext(); - _requests[2014].RequestServices = CreateServices(); - _requests[2014].Request.Method = "GET"; - _requests[2014].Request.Path = "/subscriptions/d28e87ae-44fc-/resourceGroups/ec93f77e-034d-401/providers/Microsoft.StorSimple/managers/4382aa6b-e9/storageAccountCredentials"; - _requests[2015] = new DefaultHttpContext(); - _requests[2015].RequestServices = CreateServices(); - _requests[2015].Request.Method = "GET"; - _requests[2015].Request.Path = "/subscriptions/63991be9-787e-/resourcegroups/f1fb3dca-531d-44d/providers/Microsoft.StreamAnalytics/streamingjobs/eeb2894/functions"; - _requests[2016] = new DefaultHttpContext(); - _requests[2016].RequestServices = CreateServices(); - _requests[2016].Request.Method = "GET"; - _requests[2016].Request.Path = "/subscriptions/c1d9733e-8a4a-/resourcegroups/2216c802-b5fe-40a/providers/Microsoft.StreamAnalytics/streamingjobs/ec9ed23/inputs"; - _requests[2017] = new DefaultHttpContext(); - _requests[2017].RequestServices = CreateServices(); - _requests[2017].Request.Method = "GET"; - _requests[2017].Request.Path = "/subscriptions/1f210bee-b6ee-/resourcegroups/c14aee0d-d71b-408/providers/Microsoft.StreamAnalytics/streamingjobs/2b03e15/outputs"; - _requests[2018] = new DefaultHttpContext(); - _requests[2018].RequestServices = CreateServices(); - _requests[2018].Request.Method = "POST"; - _requests[2018].Request.Path = "/subscriptions/2522a66d-27a1-/resourcegroups/32c0b93c-e67e-410/providers/Microsoft.StreamAnalytics/streamingjobs/bf226f6/start"; - _requests[2019] = new DefaultHttpContext(); - _requests[2019].RequestServices = CreateServices(); - _requests[2019].Request.Method = "POST"; - _requests[2019].Request.Path = "/subscriptions/36ccb8ca-669e-/resourcegroups/1aed7662-2b44-447/providers/Microsoft.StreamAnalytics/streamingjobs/9bc1636/stop"; - _requests[2020] = new DefaultHttpContext(); - _requests[2020].RequestServices = CreateServices(); - _requests[2020].Request.Method = "POST"; - _requests[2020].Request.Path = "/subscriptions/775846fd-96fd-/resourcegroups/54df82e6-2402-4c5/providers/Microsoft.Subscriptions.Admin/offers/b886b/link"; - _requests[2021] = new DefaultHttpContext(); - _requests[2021].RequestServices = CreateServices(); - _requests[2021].Request.Method = "GET"; - _requests[2021].Request.Path = "/subscriptions/9adc47ce-b5c8-/resourcegroups/589a4762-a8fe-411/providers/Microsoft.Subscriptions.Admin/offers/0604e/MetricDefinitions"; - _requests[2022] = new DefaultHttpContext(); - _requests[2022].RequestServices = CreateServices(); - _requests[2022].Request.Method = "GET"; - _requests[2022].Request.Path = "/subscriptions/94110ae8-43e0-/resourcegroups/0f9e41ed-18c6-4ee/providers/Microsoft.Subscriptions.Admin/offers/983f9/Metrics"; - _requests[2023] = new DefaultHttpContext(); - _requests[2023].RequestServices = CreateServices(); - _requests[2023].Request.Method = "GET"; - _requests[2023].Request.Path = "/subscriptions/575dd54c-d73e-/resourcegroups/f3825239-d8c4-47b/providers/Microsoft.Subscriptions.Admin/offers/f3fa2/offerDelegations"; - _requests[2024] = new DefaultHttpContext(); - _requests[2024].RequestServices = CreateServices(); - _requests[2024].Request.Method = "POST"; - _requests[2024].Request.Path = "/subscriptions/5c81ed9d-a44f-/resourcegroups/6e5b82f2-7c96-479/providers/Microsoft.Subscriptions.Admin/offers/f8fd4/unlink"; - _requests[2025] = new DefaultHttpContext(); - _requests[2025].RequestServices = CreateServices(); - _requests[2025].Request.Method = "GET"; - _requests[2025].Request.Path = "/subscriptions/27b4db01-8668-/resourcegroups/155fbac3-c6bc-4f5/providers/Microsoft.Subscriptions.Admin/plans/aeae7/MetricDefinitions"; - _requests[2026] = new DefaultHttpContext(); - _requests[2026].RequestServices = CreateServices(); - _requests[2026].Request.Method = "GET"; - _requests[2026].Request.Path = "/subscriptions/b84340cf-b926-/resourcegroups/0149d4be-1121-42a/providers/Microsoft.Subscriptions.Admin/plans/07d74/Metrics"; - _requests[2027] = new DefaultHttpContext(); - _requests[2027].RequestServices = CreateServices(); - _requests[2027].Request.Method = "GET"; - _requests[2027].Request.Path = "/subscriptions/11fa186b-a608-/resourceGroups/ca6977e3-ef97-400/providers/Microsoft.TimeSeriesInsights/environments/5cf0103e-97ff-4/accessPolicies"; - _requests[2028] = new DefaultHttpContext(); - _requests[2028].RequestServices = CreateServices(); - _requests[2028].Request.Method = "GET"; - _requests[2028].Request.Path = "/subscriptions/ef596a21-932c-/resourceGroups/6e4fa800-0071-4a6/providers/Microsoft.TimeSeriesInsights/environments/1cf7d694-fe9a-4/eventSources"; - _requests[2029] = new DefaultHttpContext(); - _requests[2029].RequestServices = CreateServices(); - _requests[2029].Request.Method = "GET"; - _requests[2029].Request.Path = "/subscriptions/f387ba78-f8ce-/resourceGroups/e345308d-e31f-4bd/providers/Microsoft.TimeSeriesInsights/environments/ba2c96ad-dc2f-4/referenceDataSets"; - _requests[2030] = new DefaultHttpContext(); - _requests[2030].RequestServices = CreateServices(); - _requests[2030].Request.Method = "GET"; - _requests[2030].Request.Path = "/subscriptions/a2451755-f24c-/resourcegroups/508a5123-3751-466/providers/Microsoft.Update.Admin/updateLocations/7cce9290-869e-/updates"; - _requests[2031] = new DefaultHttpContext(); - _requests[2031].RequestServices = CreateServices(); - _requests[2031].Request.Method = "GET"; - _requests[2031].Request.Path = "/subscriptions/08b80da0-7e68-/resourcegroups/84b14d4f-df93-40c/providers/microsoft.visualstudio/account/82dc50ee-8d8a-4ffd-/extension"; - _requests[2032] = new DefaultHttpContext(); - _requests[2032].RequestServices = CreateServices(); - _requests[2032].Request.Method = "GET"; - _requests[2032].Request.Path = "/subscriptions/4ae43c00-bfaa-/resourceGroups/45bf1a58-1f10-447/providers/microsoft.visualstudio/account/63786a5f-2387-47/project"; - _requests[2033] = new DefaultHttpContext(); - _requests[2033].RequestServices = CreateServices(); - _requests[2033].Request.Method = "GET"; - _requests[2033].Request.Path = "/subscriptions/eea59ed1-4231-/resourceGroups/22613641-a3ac-4b0/providers/Microsoft.Web.Admin/environments/4f436035-0d92-4/usage"; - _requests[2034] = new DefaultHttpContext(); - _requests[2034].RequestServices = CreateServices(); - _requests[2034].Request.Method = "POST"; - _requests[2034].Request.Path = "/subscriptions/7b65d2a5-9e24-/resourceGroups/5cc31034-f5d7-419/providers/Microsoft.Web/connections/0103dd8d-a0c7-/confirmConsentCode"; - _requests[2035] = new DefaultHttpContext(); - _requests[2035].RequestServices = CreateServices(); - _requests[2035].Request.Method = "POST"; - _requests[2035].Request.Path = "/subscriptions/9093eb03-c6c3-/resourceGroups/b2102cbf-e20d-4fe/providers/Microsoft.Web/connections/86eadd30-8193-/listConnectionKeys"; - _requests[2036] = new DefaultHttpContext(); - _requests[2036].RequestServices = CreateServices(); - _requests[2036].Request.Method = "POST"; - _requests[2036].Request.Path = "/subscriptions/22191b2d-6c42-/resourceGroups/b2162f61-a4da-421/providers/Microsoft.Web/connections/4b25dae4-1c48-/listConsentLinks"; - _requests[2037] = new DefaultHttpContext(); - _requests[2037].RequestServices = CreateServices(); - _requests[2037].Request.Method = "POST"; - _requests[2037].Request.Path = "/subscriptions/3b67d76a-b975-/resourceGroups/caa431be-6c7a-4de/providers/Microsoft.Web/customApis/8577579/move"; - _requests[2038] = new DefaultHttpContext(); - _requests[2038].RequestServices = CreateServices(); - _requests[2038].Request.Method = "POST"; - _requests[2038].Request.Path = "/subscriptions/7656e1be-7c5f-/resourceGroups/09e92c1b-1738-407/providers/Microsoft.Web/hostingEnvironments/ebb4d/changeVirtualNetwork"; - _requests[2039] = new DefaultHttpContext(); - _requests[2039].RequestServices = CreateServices(); - _requests[2039].Request.Method = "GET"; - _requests[2039].Request.Path = "/subscriptions/e37aa550-3557-/resourceGroups/bbc61fda-1556-4d6/providers/Microsoft.Web/hostingEnvironments/8813f/detectors"; - _requests[2040] = new DefaultHttpContext(); - _requests[2040].RequestServices = CreateServices(); - _requests[2040].Request.Method = "GET"; - _requests[2040].Request.Path = "/subscriptions/b16c4ccb-2c7b-/resourceGroups/433a4d31-7a37-409/providers/Microsoft.Web/hostingEnvironments/f5847/diagnostics"; - _requests[2041] = new DefaultHttpContext(); - _requests[2041].RequestServices = CreateServices(); - _requests[2041].Request.Method = "GET"; - _requests[2041].Request.Path = "/subscriptions/e9f98a9a-0910-/resourceGroups/785d541c-4271-44d/providers/Microsoft.Web/hostingEnvironments/4ec58/metricdefinitions"; - _requests[2042] = new DefaultHttpContext(); - _requests[2042].RequestServices = CreateServices(); - _requests[2042].Request.Method = "GET"; - _requests[2042].Request.Path = "/subscriptions/df3cc147-7db9-/resourceGroups/3b785d84-58fc-4ff/providers/Microsoft.Web/hostingEnvironments/bbede/metrics"; - _requests[2043] = new DefaultHttpContext(); - _requests[2043].RequestServices = CreateServices(); - _requests[2043].Request.Method = "GET"; - _requests[2043].Request.Path = "/subscriptions/17ae7fae-821d-/resourceGroups/78880559-6e90-4e7/providers/Microsoft.Web/hostingEnvironments/7fe16/multiRolePools"; - _requests[2044] = new DefaultHttpContext(); - _requests[2044].RequestServices = CreateServices(); - _requests[2044].Request.Method = "GET"; - _requests[2044].Request.Path = "/subscriptions/51f3be98-02f1-/resourceGroups/3c96f599-3c16-4c6/providers/Microsoft.Web/hostingEnvironments/c1c31/operations"; - _requests[2045] = new DefaultHttpContext(); - _requests[2045].RequestServices = CreateServices(); - _requests[2045].Request.Method = "POST"; - _requests[2045].Request.Path = "/subscriptions/bb9f0089-a6a3-/resourceGroups/ea8da1b0-f449-40d/providers/Microsoft.Web/hostingEnvironments/f994a/reboot"; - _requests[2046] = new DefaultHttpContext(); - _requests[2046].RequestServices = CreateServices(); - _requests[2046].Request.Method = "POST"; - _requests[2046].Request.Path = "/subscriptions/9a128200-1188-/resourceGroups/d44dbd88-39f3-4d6/providers/Microsoft.Web/hostingEnvironments/1c26a/resume"; - _requests[2047] = new DefaultHttpContext(); - _requests[2047].RequestServices = CreateServices(); - _requests[2047].Request.Method = "GET"; - _requests[2047].Request.Path = "/subscriptions/e1fa0dac-dbc0-/resourceGroups/4b753aec-afe2-484/providers/Microsoft.Web/hostingEnvironments/9e515/serverfarms"; - _requests[2048] = new DefaultHttpContext(); - _requests[2048].RequestServices = CreateServices(); - _requests[2048].Request.Method = "GET"; - _requests[2048].Request.Path = "/subscriptions/3d66a8b3-419f-/resourceGroups/8e35a537-500b-4a4/providers/Microsoft.Web/hostingEnvironments/d216d/sites"; - _requests[2049] = new DefaultHttpContext(); - _requests[2049].RequestServices = CreateServices(); - _requests[2049].Request.Method = "POST"; - _requests[2049].Request.Path = "/subscriptions/98c5d406-a9f1-/resourceGroups/c7f68736-1e48-4b0/providers/Microsoft.Web/hostingEnvironments/694d1/suspend"; - _requests[2050] = new DefaultHttpContext(); - _requests[2050].RequestServices = CreateServices(); - _requests[2050].Request.Method = "POST"; - _requests[2050].Request.Path = "/subscriptions/5a9fac64-4551-/resourceGroups/45311efc-cee8-498/providers/Microsoft.Web/hostingEnvironments/953f9/syncVirtualNetwork"; - _requests[2051] = new DefaultHttpContext(); - _requests[2051].RequestServices = CreateServices(); - _requests[2051].Request.Method = "GET"; - _requests[2051].Request.Path = "/subscriptions/588abac9-0a4e-/resourceGroups/8a748bea-e929-408/providers/Microsoft.Web/hostingEnvironments/8ddf6/usages"; - _requests[2052] = new DefaultHttpContext(); - _requests[2052].RequestServices = CreateServices(); - _requests[2052].Request.Method = "GET"; - _requests[2052].Request.Path = "/subscriptions/1c2bd481-f719-/resourceGroups/86d97dff-c73a-40b/providers/Microsoft.Web/hostingEnvironments/767f3/webhostingplans"; - _requests[2053] = new DefaultHttpContext(); - _requests[2053].RequestServices = CreateServices(); - _requests[2053].Request.Method = "GET"; - _requests[2053].Request.Path = "/subscriptions/d947bd92-ec04-/resourceGroups/6c35f742-5e1c-488/providers/Microsoft.Web/hostingEnvironments/cb5bd/workerPools"; - _requests[2054] = new DefaultHttpContext(); - _requests[2054].RequestServices = CreateServices(); - _requests[2054].Request.Method = "GET"; - _requests[2054].Request.Path = "/subscriptions/a9033262-a12f-/resourceGroups/f017d6b7-4b94-42a/providers/Microsoft.Web/managedHostingEnvironments/94903/serverfarms"; - _requests[2055] = new DefaultHttpContext(); - _requests[2055].RequestServices = CreateServices(); - _requests[2055].Request.Method = "GET"; - _requests[2055].Request.Path = "/subscriptions/d988eeb9-f6ef-/resourceGroups/574ad9bc-9298-486/providers/Microsoft.Web/managedHostingEnvironments/be55d/sites"; - _requests[2056] = new DefaultHttpContext(); - _requests[2056].RequestServices = CreateServices(); - _requests[2056].Request.Method = "GET"; - _requests[2056].Request.Path = "/subscriptions/1b5fb30e-3adc-/resourceGroups/9c8f75aa-1410-499/providers/Microsoft.Web/managedHostingEnvironments/6fb25/webhostingplans"; - _requests[2057] = new DefaultHttpContext(); - _requests[2057].RequestServices = CreateServices(); - _requests[2057].Request.Method = "GET"; - _requests[2057].Request.Path = "/subscriptions/8534725e-442e-/resourceGroups/bb85a645-3748-45b/providers/Microsoft.Web/serverfarms/a8d96/capabilities"; - _requests[2058] = new DefaultHttpContext(); - _requests[2058].RequestServices = CreateServices(); - _requests[2058].Request.Method = "GET"; - _requests[2058].Request.Path = "/subscriptions/ffd769ac-c53f-/resourceGroups/c5c32563-3fea-465/providers/Microsoft.Web/serverfarms/5d6d7/hybridConnectionRelays"; - _requests[2059] = new DefaultHttpContext(); - _requests[2059].RequestServices = CreateServices(); - _requests[2059].Request.Method = "GET"; - _requests[2059].Request.Path = "/subscriptions/ecf46896-495c-/resourceGroups/640bcfeb-76c5-4dd/providers/Microsoft.Web/serverfarms/44fea/metricdefinitions"; - _requests[2060] = new DefaultHttpContext(); - _requests[2060].RequestServices = CreateServices(); - _requests[2060].Request.Method = "GET"; - _requests[2060].Request.Path = "/subscriptions/504999c9-c6a0-/resourceGroups/bf66e2e9-9ceb-478/providers/Microsoft.Web/serverfarms/ab77f/metrics"; - _requests[2061] = new DefaultHttpContext(); - _requests[2061].RequestServices = CreateServices(); - _requests[2061].Request.Method = "POST"; - _requests[2061].Request.Path = "/subscriptions/f7afefbe-482f-/resourceGroups/177d72cf-a9a7-4ca/providers/Microsoft.Web/serverfarms/c0c27/restartSites"; - _requests[2062] = new DefaultHttpContext(); - _requests[2062].RequestServices = CreateServices(); - _requests[2062].Request.Method = "GET"; - _requests[2062].Request.Path = "/subscriptions/ac4f1fb2-8415-/resourceGroups/ea479f77-ff72-4f1/providers/Microsoft.Web/serverfarms/a4edb/sites"; - _requests[2063] = new DefaultHttpContext(); - _requests[2063].RequestServices = CreateServices(); - _requests[2063].Request.Method = "GET"; - _requests[2063].Request.Path = "/subscriptions/e0248f1b-0d25-/resourceGroups/4df76daf-436a-457/providers/Microsoft.Web/serverfarms/b4e81/skus"; - _requests[2064] = new DefaultHttpContext(); - _requests[2064].RequestServices = CreateServices(); - _requests[2064].Request.Method = "GET"; - _requests[2064].Request.Path = "/subscriptions/e0e9d255-9f1b-/resourceGroups/1c2bc62d-97ce-426/providers/Microsoft.Web/serverfarms/72ad0/usages"; - _requests[2065] = new DefaultHttpContext(); - _requests[2065].RequestServices = CreateServices(); - _requests[2065].Request.Method = "GET"; - _requests[2065].Request.Path = "/subscriptions/171e6521-fbcd-/resourceGroups/e8a14600-5948-413/providers/Microsoft.Web/serverfarms/d869c/virtualNetworkConnections"; - _requests[2066] = new DefaultHttpContext(); - _requests[2066].RequestServices = CreateServices(); - _requests[2066].Request.Method = "GET"; - _requests[2066].Request.Path = "/subscriptions/0c49de46-a668-/resourceGroups/72013f5b-f163-411/providers/Microsoft.Web/sites/5fea3/analyzeCustomHostname"; - _requests[2067] = new DefaultHttpContext(); - _requests[2067].RequestServices = CreateServices(); - _requests[2067].Request.Method = "POST"; - _requests[2067].Request.Path = "/subscriptions/111df73f-5a0c-/resourceGroups/37d87706-dc3d-4bb/providers/Microsoft.Web/sites/57ad1/applySlotConfig"; - _requests[2068] = new DefaultHttpContext(); - _requests[2068].RequestServices = CreateServices(); - _requests[2068].Request.Method = "POST"; - _requests[2068].Request.Path = "/subscriptions/9d9305e5-ed11-/resourceGroups/8ae19f9f-6dc8-473/providers/Microsoft.Web/sites/22957/backup"; - _requests[2069] = new DefaultHttpContext(); - _requests[2069].RequestServices = CreateServices(); - _requests[2069].Request.Method = "GET"; - _requests[2069].Request.Path = "/subscriptions/7eb598e0-29d3-/resourceGroups/d6318514-3450-473/providers/Microsoft.Web/sites/9efc1/backups"; - _requests[2070] = new DefaultHttpContext(); - _requests[2070].RequestServices = CreateServices(); - _requests[2070].Request.Method = "GET"; - _requests[2070].Request.Path = "/subscriptions/4a0bdf13-275e-/resourceGroups/ae443de3-3241-460/providers/Microsoft.Web/sites/668bb/config"; - _requests[2071] = new DefaultHttpContext(); - _requests[2071].RequestServices = CreateServices(); - _requests[2071].Request.Method = "POST"; - _requests[2071].Request.Path = "/subscriptions/99511279-de8e-/resourceGroups/7220fd73-81b1-4f1/providers/Microsoft.Web/sites/8a420/containerlogs"; - _requests[2072] = new DefaultHttpContext(); - _requests[2072].RequestServices = CreateServices(); - _requests[2072].Request.Method = "GET"; - _requests[2072].Request.Path = "/subscriptions/cf939c7b-39fb-/resourceGroups/7502f222-661f-4d2/providers/Microsoft.Web/sites/eb888/continuouswebjobs"; - _requests[2073] = new DefaultHttpContext(); - _requests[2073].RequestServices = CreateServices(); - _requests[2073].Request.Method = "GET"; - _requests[2073].Request.Path = "/subscriptions/a3ec9161-3920-/resourceGroups/b2130544-e71d-427/providers/Microsoft.Web/sites/020e7/deployments"; - _requests[2074] = new DefaultHttpContext(); - _requests[2074].RequestServices = CreateServices(); - _requests[2074].Request.Method = "GET"; - _requests[2074].Request.Path = "/subscriptions/44c9156b-bbdd-/resourceGroups/a187ddca-922d-48b/providers/Microsoft.Web/sites/07ab5/domainOwnershipIdentifiers"; - _requests[2075] = new DefaultHttpContext(); - _requests[2075].RequestServices = CreateServices(); - _requests[2075].Request.Method = "GET"; - _requests[2075].Request.Path = "/subscriptions/8207a56a-c3ef-/resourceGroups/4a3aa734-d8c9-467/providers/Microsoft.Web/sites/bb406/functions"; - _requests[2076] = new DefaultHttpContext(); - _requests[2076].RequestServices = CreateServices(); - _requests[2076].Request.Method = "GET"; - _requests[2076].Request.Path = "/subscriptions/bc77ee45-85c0-/resourceGroups/75a9b570-cf85-47d/providers/Microsoft.Web/sites/120c6/hostNameBindings"; - _requests[2077] = new DefaultHttpContext(); - _requests[2077].RequestServices = CreateServices(); - _requests[2077].Request.Method = "GET"; - _requests[2077].Request.Path = "/subscriptions/23f82d5c-d9e9-/resourceGroups/9472e3de-3746-4f5/providers/Microsoft.Web/sites/24909/hybridconnection"; - _requests[2078] = new DefaultHttpContext(); - _requests[2078].RequestServices = CreateServices(); - _requests[2078].Request.Method = "GET"; - _requests[2078].Request.Path = "/subscriptions/207e611d-7d5d-/resourceGroups/19a50cf8-c06b-4d3/providers/Microsoft.Web/sites/38bce/hybridConnectionRelays"; - _requests[2079] = new DefaultHttpContext(); - _requests[2079].RequestServices = CreateServices(); - _requests[2079].Request.Method = "GET"; - _requests[2079].Request.Path = "/subscriptions/a6348637-a6da-/resourceGroups/86f5e1fd-61da-404/providers/Microsoft.Web/sites/99c93/instances"; - _requests[2080] = new DefaultHttpContext(); - _requests[2080].RequestServices = CreateServices(); - _requests[2080].Request.Method = "POST"; - _requests[2080].Request.Path = "/subscriptions/89d4f9a2-f51f-/resourceGroups/a6293ea1-e375-490/providers/Microsoft.Web/sites/925c4/iscloneable"; - _requests[2081] = new DefaultHttpContext(); - _requests[2081].RequestServices = CreateServices(); - _requests[2081].Request.Method = "POST"; - _requests[2081].Request.Path = "/subscriptions/6725bb42-d67a-/resourceGroups/45d93753-c629-4f0/providers/Microsoft.Web/sites/631a0/listsyncfunctiontriggerstatus"; - _requests[2082] = new DefaultHttpContext(); - _requests[2082].RequestServices = CreateServices(); - _requests[2082].Request.Method = "GET"; - _requests[2082].Request.Path = "/subscriptions/d013d1d4-ec8a-/resourceGroups/b7faa72e-a3f5-49f/providers/Microsoft.Web/sites/c3165/metricdefinitions"; - _requests[2083] = new DefaultHttpContext(); - _requests[2083].RequestServices = CreateServices(); - _requests[2083].Request.Method = "GET"; - _requests[2083].Request.Path = "/subscriptions/67335c53-08ba-/resourceGroups/5791acf8-1aff-4cb/providers/Microsoft.Web/sites/6f16a/metrics"; - _requests[2084] = new DefaultHttpContext(); - _requests[2084].RequestServices = CreateServices(); - _requests[2084].Request.Method = "PUT"; - _requests[2084].Request.Path = "/subscriptions/85deab0f-f1cc-/resourceGroups/608c43e3-3076-44a/providers/Microsoft.Web/sites/96695/migrate"; - _requests[2085] = new DefaultHttpContext(); - _requests[2085].RequestServices = CreateServices(); - _requests[2085].Request.Method = "POST"; - _requests[2085].Request.Path = "/subscriptions/d9a673d5-836d-/resourceGroups/35162448-bb73-4c9/providers/Microsoft.Web/sites/f0cdc/migratemysql"; - _requests[2086] = new DefaultHttpContext(); - _requests[2086].RequestServices = CreateServices(); - _requests[2086].Request.Method = "POST"; - _requests[2086].Request.Path = "/subscriptions/86e45c9d-bf7b-/resourceGroups/cf0d1971-6cf3-447/providers/Microsoft.Web/sites/85f40/newpassword"; - _requests[2087] = new DefaultHttpContext(); - _requests[2087].RequestServices = CreateServices(); - _requests[2087].Request.Method = "GET"; - _requests[2087].Request.Path = "/subscriptions/2180f9af-3c5f-/resourceGroups/aa077761-ddc6-46f/providers/Microsoft.Web/sites/275f5/perfcounters"; - _requests[2088] = new DefaultHttpContext(); - _requests[2088].RequestServices = CreateServices(); - _requests[2088].Request.Method = "GET"; - _requests[2088].Request.Path = "/subscriptions/e6253672-59ed-/resourceGroups/fb934ad2-bb52-455/providers/Microsoft.Web/sites/2520a/phplogging"; - _requests[2089] = new DefaultHttpContext(); - _requests[2089].RequestServices = CreateServices(); - _requests[2089].Request.Method = "GET"; - _requests[2089].Request.Path = "/subscriptions/f3439876-afc8-/resourceGroups/c038fa3a-e59a-46c/providers/Microsoft.Web/sites/f1429/premieraddons"; - _requests[2090] = new DefaultHttpContext(); - _requests[2090].RequestServices = CreateServices(); - _requests[2090].Request.Method = "GET"; - _requests[2090].Request.Path = "/subscriptions/3768005e-28b6-/resourceGroups/470af607-6404-466/providers/Microsoft.Web/sites/55b57/processes"; - _requests[2091] = new DefaultHttpContext(); - _requests[2091].RequestServices = CreateServices(); - _requests[2091].Request.Method = "GET"; - _requests[2091].Request.Path = "/subscriptions/aa65d89b-b8b6-/resourceGroups/52241e6b-0402-49d/providers/Microsoft.Web/sites/889f4/publicCertificates"; - _requests[2092] = new DefaultHttpContext(); - _requests[2092].RequestServices = CreateServices(); - _requests[2092].Request.Method = "POST"; - _requests[2092].Request.Path = "/subscriptions/c535d011-d0b2-/resourceGroups/f027386e-8360-457/providers/Microsoft.Web/sites/f923c/publishxml"; - _requests[2093] = new DefaultHttpContext(); - _requests[2093].RequestServices = CreateServices(); - _requests[2093].Request.Method = "POST"; - _requests[2093].Request.Path = "/subscriptions/489e2b63-c6cd-/resourceGroups/85b1242e-a8f0-4ec/providers/Microsoft.Web/sites/c5ff9/recover"; - _requests[2094] = new DefaultHttpContext(); - _requests[2094].RequestServices = CreateServices(); - _requests[2094].Request.Method = "POST"; - _requests[2094].Request.Path = "/subscriptions/df8c14ab-3c2b-/resourceGroups/27e45d97-3d99-402/providers/Microsoft.Web/sites/78b29/resetSlotConfig"; - _requests[2095] = new DefaultHttpContext(); - _requests[2095].RequestServices = CreateServices(); - _requests[2095].Request.Method = "GET"; - _requests[2095].Request.Path = "/subscriptions/2eebf365-c46b-/resourceGroups/e75e454f-04af-4ca/providers/Microsoft.Web/sites/9e540/resourceHealthMetadata"; - _requests[2096] = new DefaultHttpContext(); - _requests[2096].RequestServices = CreateServices(); - _requests[2096].Request.Method = "POST"; - _requests[2096].Request.Path = "/subscriptions/55a9a895-c07b-/resourceGroups/df376796-7ce3-4be/providers/Microsoft.Web/sites/eb417/restart"; - _requests[2097] = new DefaultHttpContext(); - _requests[2097].RequestServices = CreateServices(); - _requests[2097].Request.Method = "POST"; - _requests[2097].Request.Path = "/subscriptions/373f156e-0708-/resourceGroups/2675e96c-ae35-40d/providers/Microsoft.Web/sites/ad3a9/restoreFromBackupBlob"; - _requests[2098] = new DefaultHttpContext(); - _requests[2098].RequestServices = CreateServices(); - _requests[2098].Request.Method = "POST"; - _requests[2098].Request.Path = "/subscriptions/d692c906-5cc1-/resourceGroups/0bc05c24-9834-49b/providers/Microsoft.Web/sites/876d1/restoreFromDeletedApp"; - _requests[2099] = new DefaultHttpContext(); - _requests[2099].RequestServices = CreateServices(); - _requests[2099].Request.Method = "POST"; - _requests[2099].Request.Path = "/subscriptions/14451d8e-f55a-/resourceGroups/e59c69c3-e232-4d8/providers/Microsoft.Web/sites/31975/restoreSnapshot"; - _requests[2100] = new DefaultHttpContext(); - _requests[2100].RequestServices = CreateServices(); - _requests[2100].Request.Method = "GET"; - _requests[2100].Request.Path = "/subscriptions/d324a5ab-3ac3-/resourceGroups/b7f98a8c-cc0e-4f3/providers/Microsoft.Web/sites/f62e2/siteextensions"; - _requests[2101] = new DefaultHttpContext(); - _requests[2101].RequestServices = CreateServices(); - _requests[2101].Request.Method = "GET"; - _requests[2101].Request.Path = "/subscriptions/50efa429-2643-/resourceGroups/c2a81810-8542-4b4/providers/Microsoft.Web/sites/106d3/slots"; - _requests[2102] = new DefaultHttpContext(); - _requests[2102].RequestServices = CreateServices(); - _requests[2102].Request.Method = "POST"; - _requests[2102].Request.Path = "/subscriptions/332c2d99-f26b-/resourceGroups/bd712819-a76e-43b/providers/Microsoft.Web/sites/ebdbb/slotsdiffs"; - _requests[2103] = new DefaultHttpContext(); - _requests[2103].RequestServices = CreateServices(); - _requests[2103].Request.Method = "POST"; - _requests[2103].Request.Path = "/subscriptions/62f71fd6-dbd1-/resourceGroups/c6a46c3b-4679-40e/providers/Microsoft.Web/sites/f60fb/slotsswap"; - _requests[2104] = new DefaultHttpContext(); - _requests[2104].RequestServices = CreateServices(); - _requests[2104].Request.Method = "GET"; - _requests[2104].Request.Path = "/subscriptions/2f364b64-bae3-/resourceGroups/cb1a75de-a512-458/providers/Microsoft.Web/sites/4b456/snapshots"; - _requests[2105] = new DefaultHttpContext(); - _requests[2105].RequestServices = CreateServices(); - _requests[2105].Request.Method = "POST"; - _requests[2105].Request.Path = "/subscriptions/95a34872-54d3-/resourceGroups/cb5cd6c1-684e-472/providers/Microsoft.Web/sites/6419f/start"; - _requests[2106] = new DefaultHttpContext(); - _requests[2106].RequestServices = CreateServices(); - _requests[2106].Request.Method = "POST"; - _requests[2106].Request.Path = "/subscriptions/10ea1c2e-a092-/resourceGroups/6b1eee2f-9529-4e6/providers/Microsoft.Web/sites/ec93c/stop"; - _requests[2107] = new DefaultHttpContext(); - _requests[2107].RequestServices = CreateServices(); - _requests[2107].Request.Method = "POST"; - _requests[2107].Request.Path = "/subscriptions/7d52ef61-769b-/resourceGroups/daa9d773-e679-48b/providers/Microsoft.Web/sites/f486e/sync"; - _requests[2108] = new DefaultHttpContext(); - _requests[2108].RequestServices = CreateServices(); - _requests[2108].Request.Method = "POST"; - _requests[2108].Request.Path = "/subscriptions/9c64fb34-df53-/resourceGroups/3768f8e0-2dd5-41a/providers/Microsoft.Web/sites/26ec6/syncfunctiontriggers"; - _requests[2109] = new DefaultHttpContext(); - _requests[2109].RequestServices = CreateServices(); - _requests[2109].Request.Method = "GET"; - _requests[2109].Request.Path = "/subscriptions/fb82d9c1-8006-/resourceGroups/d14f6dba-4d45-406/providers/Microsoft.Web/sites/ea3e5/triggeredwebjobs"; - _requests[2110] = new DefaultHttpContext(); - _requests[2110].RequestServices = CreateServices(); - _requests[2110].Request.Method = "GET"; - _requests[2110].Request.Path = "/subscriptions/4def67fb-696e-/resourceGroups/dd3763d2-d53f-480/providers/Microsoft.Web/sites/7395b/usages"; - _requests[2111] = new DefaultHttpContext(); - _requests[2111].RequestServices = CreateServices(); - _requests[2111].Request.Method = "GET"; - _requests[2111].Request.Path = "/subscriptions/e3dd01e5-af0d-/resourceGroups/72ba3312-57c4-49b/providers/Microsoft.Web/sites/6b035/virtualNetworkConnections"; - _requests[2112] = new DefaultHttpContext(); - _requests[2112].RequestServices = CreateServices(); - _requests[2112].Request.Method = "GET"; - _requests[2112].Request.Path = "/subscriptions/95b8bcb7-a489-/resourceGroups/0d33710a-e825-4b6/providers/Microsoft.Web/sites/85f5f/webjobs"; - _requests[2113] = new DefaultHttpContext(); - _requests[2113].RequestServices = CreateServices(); - _requests[2113].Request.Method = "GET"; - _requests[2113].Request.Path = "/subscriptions/a3ab67c2-0f0f-/resourceGroups/6577481a-054d-45f/providers/Microsoft.Web/sites/7377e575/detectors"; - _requests[2114] = new DefaultHttpContext(); - _requests[2114].RequestServices = CreateServices(); - _requests[2114].Request.Method = "GET"; - _requests[2114].Request.Path = "/subscriptions/abb65895-5323-/resourceGroups/15dd0f63-5df2-47c/providers/Microsoft.Web/sites/dd8bb1d5/diagnostics"; - _requests[2115] = new DefaultHttpContext(); - _requests[2115].RequestServices = CreateServices(); - _requests[2115].Request.Method = "GET"; - _requests[2115].Request.Path = "/subscriptions/6c34c17c-d2fb-/resourceGroups/473265e5-8b64-40b/providers/Microsoft.Web/sites/0f6b6ab0/recommendationHistory"; - _requests[2116] = new DefaultHttpContext(); - _requests[2116].RequestServices = CreateServices(); - _requests[2116].Request.Method = "GET"; - _requests[2116].Request.Path = "/subscriptions/dc3d7d78-8681-/resourceGroups/60ab8351-d02f-4ba/providers/Microsoft.Web/sites/954e87d4/recommendations"; - _requests[2117] = new DefaultHttpContext(); - _requests[2117].RequestServices = CreateServices(); - _requests[2117].Request.Method = "PUT"; - _requests[2117].Request.Path = "/subscriptions/f4109c83-f7b5-/resourceGroups/55648edc-254a-435/providers/Microsoft.ApiManagement/service/035638a4-08/portalsettings/delegation"; - _requests[2118] = new DefaultHttpContext(); - _requests[2118].RequestServices = CreateServices(); - _requests[2118].Request.Method = "PUT"; - _requests[2118].Request.Path = "/subscriptions/ac24688d-20da-/resourceGroups/1c63031c-7481-480/providers/Microsoft.ApiManagement/service/6a6bb572-3f/portalsettings/signin"; - _requests[2119] = new DefaultHttpContext(); - _requests[2119].RequestServices = CreateServices(); - _requests[2119].Request.Method = "PUT"; - _requests[2119].Request.Path = "/subscriptions/1f968418-401d-/resourceGroups/95d4807e-0970-4ca/providers/Microsoft.ApiManagement/service/b8fd85aa-23/portalsettings/signup"; - _requests[2120] = new DefaultHttpContext(); - _requests[2120].RequestServices = CreateServices(); - _requests[2120].Request.Method = "GET"; - _requests[2120].Request.Path = "/subscriptions/3ef69060-1414-/resourceGroups/2b391c27-ccd4-41c/providers/Microsoft.ApiManagement/service/5b6e721a-ba/reports/byApi"; - _requests[2121] = new DefaultHttpContext(); - _requests[2121].RequestServices = CreateServices(); - _requests[2121].Request.Method = "GET"; - _requests[2121].Request.Path = "/subscriptions/28c81bf7-a999-/resourceGroups/0991d758-8941-422/providers/Microsoft.ApiManagement/service/792f96ce-50/reports/byGeo"; - _requests[2122] = new DefaultHttpContext(); - _requests[2122].RequestServices = CreateServices(); - _requests[2122].Request.Method = "GET"; - _requests[2122].Request.Path = "/subscriptions/aab5d90a-3d2a-/resourceGroups/2216f545-15c8-40d/providers/Microsoft.ApiManagement/service/819e35c1-13/reports/byOperation"; - _requests[2123] = new DefaultHttpContext(); - _requests[2123].RequestServices = CreateServices(); - _requests[2123].Request.Method = "GET"; - _requests[2123].Request.Path = "/subscriptions/5f49c6f8-0560-/resourceGroups/7238683b-3dcb-46f/providers/Microsoft.ApiManagement/service/687e4cf8-ee/reports/byProduct"; - _requests[2124] = new DefaultHttpContext(); - _requests[2124].RequestServices = CreateServices(); - _requests[2124].Request.Method = "GET"; - _requests[2124].Request.Path = "/subscriptions/8e7853d3-7f56-/resourceGroups/ee40f5e5-c672-437/providers/Microsoft.ApiManagement/service/f2107e17-d1/reports/byRequest"; - _requests[2125] = new DefaultHttpContext(); - _requests[2125].RequestServices = CreateServices(); - _requests[2125].Request.Method = "GET"; - _requests[2125].Request.Path = "/subscriptions/4839125f-751a-/resourceGroups/d4ff5a2d-671a-4e8/providers/Microsoft.ApiManagement/service/42b2cf05-ce/reports/bySubscription"; - _requests[2126] = new DefaultHttpContext(); - _requests[2126].RequestServices = CreateServices(); - _requests[2126].Request.Method = "GET"; - _requests[2126].Request.Path = "/subscriptions/3084203f-3db3-/resourceGroups/367000b7-7948-4f2/providers/Microsoft.ApiManagement/service/3882ac37-38/reports/byTime"; - _requests[2127] = new DefaultHttpContext(); - _requests[2127].RequestServices = CreateServices(); - _requests[2127].Request.Method = "GET"; - _requests[2127].Request.Path = "/subscriptions/76bd79d3-8221-/resourceGroups/f54726c9-6541-456/providers/Microsoft.ApiManagement/service/9727a8e3-4f/reports/byUser"; - _requests[2128] = new DefaultHttpContext(); - _requests[2128].RequestServices = CreateServices(); - _requests[2128].Request.Method = "PATCH"; - _requests[2128].Request.Path = "/subscriptions/6abaddd4-a373-/resourceGroups/b2d1b5d5-bd37-4e2/providers/Microsoft.ApiManagement/service/0236f296-f7/tenant/access"; - _requests[2129] = new DefaultHttpContext(); - _requests[2129].RequestServices = CreateServices(); - _requests[2129].Request.Method = "DELETE"; - _requests[2129].Request.Path = "/subscriptions/2569936d-e5c5-/resourceGroups/05b17ff6-76f0-461/providers/Microsoft.ApiManagement/service/0bab606e-2d/tenant/policy"; - _requests[2130] = new DefaultHttpContext(); - _requests[2130].RequestServices = CreateServices(); - _requests[2130].Request.Method = "POST"; - _requests[2130].Request.Path = "/subscriptions/506e86b4-d3c6-/resourceGroups/4893545e-6d53-47b/providers/Microsoft.Automation/automationAccounts/58e393ee-c3ab-4001-95/agentRegistrationInformation/regenerateKey"; - _requests[2131] = new DefaultHttpContext(); - _requests[2131].RequestServices = CreateServices(); - _requests[2131].Request.Method = "POST"; - _requests[2131].Request.Path = "/subscriptions/1b8e65e6-5506-/resourceGroups/e7b3340d-4cd6-40e/providers/Microsoft.Automation/automationAccounts/362f933b-cf8d-4483-bb/webhooks/generateUri"; - _requests[2132] = new DefaultHttpContext(); - _requests[2132].RequestServices = CreateServices(); - _requests[2132].Request.Method = "GET"; - _requests[2132].Request.Path = "/subscriptions/ce86d20b-933a-/resourceGroups/3b2cfd91-83cc-477/providers/Microsoft.Cache/Redis/52a2b/patchSchedules/default"; - _requests[2133] = new DefaultHttpContext(); - _requests[2133].RequestServices = CreateServices(); - _requests[2133].Request.Method = "POST"; - _requests[2133].Request.Path = "/subscriptions/13c28530-ef73-/resourceGroups/b4a02115-43ad-4ac/providers/Microsoft.Compute/virtualMachineScaleSets/18947782-df97-/rollingUpgrades/cancel"; - _requests[2134] = new DefaultHttpContext(); - _requests[2134].RequestServices = CreateServices(); - _requests[2134].Request.Method = "GET"; - _requests[2134].Request.Path = "/subscriptions/3ff10ee5-e6fc-/resourceGroups/d95d8025-ee8d-4da/providers/Microsoft.Compute/virtualMachineScaleSets/95d69f98-b848-/rollingUpgrades/latest"; - _requests[2135] = new DefaultHttpContext(); - _requests[2135].RequestServices = CreateServices(); - _requests[2135].Request.Method = "GET"; - _requests[2135].Request.Path = "/subscriptions/a8c66ff9-fd87-/resourceGroups/a4e89dd8-214d-45c/providers/Microsoft.ContainerService/managedClusters/f846c03e-c98/upgradeProfiles/default"; - _requests[2136] = new DefaultHttpContext(); - _requests[2136].RequestServices = CreateServices(); - _requests[2136].Request.Method = "POST"; - _requests[2136].Request.Path = "/subscriptions/f7b9c5bb-237a-/resourceGroups/335238a2-536e-454/providers/Microsoft.CustomerInsights/hubs/9a5e6fa/images/getDataImageUploadUrl"; - _requests[2137] = new DefaultHttpContext(); - _requests[2137].RequestServices = CreateServices(); - _requests[2137].Request.Method = "POST"; - _requests[2137].Request.Path = "/subscriptions/9a155f88-b364-/resourceGroups/75143391-a127-4d6/providers/Microsoft.CustomerInsights/hubs/a4648db/images/getEntityTypeImageUploadUrl"; - _requests[2138] = new DefaultHttpContext(); - _requests[2138].RequestServices = CreateServices(); - _requests[2138].Request.Method = "GET"; - _requests[2138].Request.Path = "/subscriptions/436bef24-ea66-/resourceGroups/a8df8f08-0c6c-4ac/providers/Microsoft.DocumentDB/databaseAccounts/c94c9e7a-bb/percentile/metrics"; - _requests[2139] = new DefaultHttpContext(); - _requests[2139].RequestServices = CreateServices(); - _requests[2139].Request.Method = "GET"; - _requests[2139].Request.Path = "/subscriptions/2a8089ca-06a4-/resourceGroups/7e5973aa-0f85-4a5/providers/Microsoft.EventHub/clusters/b7fedc2a-bb/quotaConfiguration/default"; - _requests[2140] = new DefaultHttpContext(); - _requests[2140].RequestServices = CreateServices(); - _requests[2140].Request.Method = "POST"; - _requests[2140].Request.Path = "/subscriptions/0f481eef-16cb-/resourceGroups/a1dd13b1-dd0d-436/providers/Microsoft.EventHub/namespaces/21e1b18d-5ac4/disasterRecoveryConfigs/CheckNameAvailability"; - _requests[2141] = new DefaultHttpContext(); - _requests[2141].RequestServices = CreateServices(); - _requests[2141].Request.Method = "DELETE"; - _requests[2141].Request.Path = "/subscriptions/c3c24c72-9feb-/resourceGroups/badf33fc-cdcf-481/providers/Microsoft.HDInsight/clusters/11bd3ae4-f5/extensions/clustermonitoring"; - _requests[2142] = new DefaultHttpContext(); - _requests[2142].RequestServices = CreateServices(); - _requests[2142].Request.Method = "PATCH"; - _requests[2142].Request.Path = "/subscriptions/387a9fdf-22d1-/resourceGroups/a8eb2ab7-0a30-499/providers/microsoft.insights/components/3ceafe0d-558/pricingPlans/current"; - _requests[2143] = new DefaultHttpContext(); - _requests[2143].RequestServices = CreateServices(); - _requests[2143].Request.Method = "POST"; - _requests[2143].Request.Path = "/subscriptions/d558b3aa-9a57-/resourceGroups/e2540f7c-eb42-4d6/providers/Microsoft.Network/connections/fa05c5f2-6fce-47e5-bc7d-652447b1ebc/sharedkey/reset"; - _requests[2144] = new DefaultHttpContext(); - _requests[2144].RequestServices = CreateServices(); - _requests[2144].Request.Method = "POST"; - _requests[2144].Request.Path = "/Subscriptions/558e4a62-214c-/resourceGroups/11e32291-cae6-45d/providers/Microsoft.RecoveryServices/vaults/88121126-a11/replicationJobs/export"; - _requests[2145] = new DefaultHttpContext(); - _requests[2145].RequestServices = CreateServices(); - _requests[2145].Request.Method = "PATCH"; - _requests[2145].Request.Path = "/Subscriptions/ba0f56e9-7882-/resourceGroups/fe5889f5-b083-448/providers/Microsoft.RecoveryServices/vaults/8b7e8f70-/backupconfig/vaultconfig"; - _requests[2146] = new DefaultHttpContext(); - _requests[2146].RequestServices = CreateServices(); - _requests[2146].Request.Method = "PATCH"; - _requests[2146].Request.Path = "/Subscriptions/68e85649-4b10-/resourceGroups/f4ce0552-54fc-40e/providers/Microsoft.RecoveryServices/vaults/33490016-/backupstorageconfig/vaultstorageconfig"; - _requests[2147] = new DefaultHttpContext(); - _requests[2147].RequestServices = CreateServices(); - _requests[2147].Request.Method = "PATCH"; - _requests[2147].Request.Path = "/subscriptions/72ba0277-1be8-/resourceGroups/df89eb81-2964-463/providers/Microsoft.RecoveryServices/vaults/195ca639-/extendedInformation/vaultExtendedInfo"; - _requests[2148] = new DefaultHttpContext(); - _requests[2148].RequestServices = CreateServices(); - _requests[2148].Request.Method = "POST"; - _requests[2148].Request.Path = "/subscriptions/648ca8ec-4b62-/resourceGroups/051a0645-285e-4f7/providers/Microsoft.ServiceBus/namespaces/3f0eba6c-f527/disasterRecoveryConfigs/CheckNameAvailability"; - _requests[2149] = new DefaultHttpContext(); - _requests[2149].RequestServices = CreateServices(); - _requests[2149].Request.Method = "PATCH"; - _requests[2149].Request.Path = "/subscriptions/9a4976f1-131c-/resourceGroups/91160154-58bf-45d/providers/Microsoft.Sql/servers/489096f6-d/automaticTuning/current"; - _requests[2150] = new DefaultHttpContext(); - _requests[2150].RequestServices = CreateServices(); - _requests[2150].Request.Method = "GET"; - _requests[2150].Request.Path = "/subscriptions/db7fa657-1f38-/resourceGroups/a9241ca2-c91f-46b/providers/Microsoft.StorSimple/managers/d2eb8531-db/encryptionSettings/default"; - _requests[2151] = new DefaultHttpContext(); - _requests[2151].RequestServices = CreateServices(); - _requests[2151].Request.Method = "PATCH"; - _requests[2151].Request.Path = "/subscriptions/12480295-e686-/resourceGroups/089ba1a5-c9b2-469/providers/Microsoft.StorSimple/managers/ad7167d2-88/extendedInformation/vaultExtendedInfo"; - _requests[2152] = new DefaultHttpContext(); - _requests[2152].RequestServices = CreateServices(); - _requests[2152].Request.Method = "GET"; - _requests[2152].Request.Path = "/subscriptions/7dcfd231-a157-/resourceGroups/d281a555-64d0-48b/providers/Microsoft.Web/hostingEnvironments/7acb2/capacities/compute"; - _requests[2153] = new DefaultHttpContext(); - _requests[2153].RequestServices = CreateServices(); - _requests[2153].Request.Method = "GET"; - _requests[2153].Request.Path = "/subscriptions/2388b588-fbe7-/resourceGroups/ebcaf64e-77f1-4a2/providers/Microsoft.Web/hostingEnvironments/ac3dd/capacities/virtualip"; - _requests[2154] = new DefaultHttpContext(); - _requests[2154].RequestServices = CreateServices(); - _requests[2154].Request.Method = "PATCH"; - _requests[2154].Request.Path = "/subscriptions/73efed12-3998-/resourceGroups/4b303e35-788f-470/providers/Microsoft.Web/hostingEnvironments/98efb/multiRolePools/default"; - _requests[2155] = new DefaultHttpContext(); - _requests[2155].RequestServices = CreateServices(); - _requests[2155].Request.Method = "GET"; - _requests[2155].Request.Path = "/subscriptions/ed790f3b-db36-/resourceGroups/de0653e1-e7a0-4d9/providers/Microsoft.Web/managedHostingEnvironments/684fa/capacities/virtualip"; - _requests[2156] = new DefaultHttpContext(); - _requests[2156].RequestServices = CreateServices(); - _requests[2156].Request.Method = "GET"; - _requests[2156].Request.Path = "/subscriptions/6e541207-1bef-/resourceGroups/07fd559c-4c33-452/providers/Microsoft.Web/serverfarms/5a87a/hybridConnectionPlanLimits/limit"; - _requests[2157] = new DefaultHttpContext(); - _requests[2157].RequestServices = CreateServices(); - _requests[2157].Request.Method = "PUT"; - _requests[2157].Request.Path = "/subscriptions/3fe834fc-b8dc-/resourceGroups/610e7863-9420-451/providers/Microsoft.Web/sites/47187/backups/discover"; - _requests[2158] = new DefaultHttpContext(); - _requests[2158].RequestServices = CreateServices(); - _requests[2158].Request.Method = "PUT"; - _requests[2158].Request.Path = "/subscriptions/0b26f61f-8613-/resourceGroups/24854d9e-3ecc-4b7/providers/Microsoft.Web/sites/147b7/config/appsettings"; - _requests[2159] = new DefaultHttpContext(); - _requests[2159].RequestServices = CreateServices(); - _requests[2159].Request.Method = "PUT"; - _requests[2159].Request.Path = "/subscriptions/0202a7a2-4a5a-/resourceGroups/adfb399c-ab54-4ef/providers/Microsoft.Web/sites/2ba0e/config/authsettings"; - _requests[2160] = new DefaultHttpContext(); - _requests[2160].RequestServices = CreateServices(); - _requests[2160].Request.Method = "DELETE"; - _requests[2160].Request.Path = "/subscriptions/8b4468b1-b008-/resourceGroups/8857ac5a-3eb4-496/providers/Microsoft.Web/sites/636b0/config/backup"; - _requests[2161] = new DefaultHttpContext(); - _requests[2161].RequestServices = CreateServices(); - _requests[2161].Request.Method = "PUT"; - _requests[2161].Request.Path = "/subscriptions/61c0b0fc-33f2-/resourceGroups/7d750f0f-2555-494/providers/Microsoft.Web/sites/effc6/config/connectionstrings"; - _requests[2162] = new DefaultHttpContext(); - _requests[2162].RequestServices = CreateServices(); - _requests[2162].Request.Method = "PUT"; - _requests[2162].Request.Path = "/subscriptions/546ac75f-a1e6-/resourceGroups/c3bdac44-e2f9-4b5/providers/Microsoft.Web/sites/edf85/config/logs"; - _requests[2163] = new DefaultHttpContext(); - _requests[2163].RequestServices = CreateServices(); - _requests[2163].Request.Method = "PUT"; - _requests[2163].Request.Path = "/subscriptions/d9fd5d4f-1057-/resourceGroups/132f32b7-fb3c-428/providers/Microsoft.Web/sites/7a2fb/config/metadata"; - _requests[2164] = new DefaultHttpContext(); - _requests[2164].RequestServices = CreateServices(); - _requests[2164].Request.Method = "PUT"; - _requests[2164].Request.Path = "/subscriptions/2f2e123f-287d-/resourceGroups/d30ff09b-f740-460/providers/Microsoft.Web/sites/df2f0/config/pushsettings"; - _requests[2165] = new DefaultHttpContext(); - _requests[2165].RequestServices = CreateServices(); - _requests[2165].Request.Method = "PUT"; - _requests[2165].Request.Path = "/subscriptions/e19ec785-0452-/resourceGroups/a055ba94-77bf-4a4/providers/Microsoft.Web/sites/60a7a/config/slotConfigNames"; - _requests[2166] = new DefaultHttpContext(); - _requests[2166].RequestServices = CreateServices(); - _requests[2166].Request.Method = "PATCH"; - _requests[2166].Request.Path = "/subscriptions/a07b176e-42a6-/resourceGroups/005fb80e-4998-45e/providers/Microsoft.Web/sites/4ff93/config/web"; - _requests[2167] = new DefaultHttpContext(); - _requests[2167].RequestServices = CreateServices(); - _requests[2167].Request.Method = "PUT"; - _requests[2167].Request.Path = "/subscriptions/e07ccb82-40ac-/resourceGroups/829c910b-1a93-4b0/providers/Microsoft.Web/sites/6f8dd/extensions/MSDeploy"; - _requests[2168] = new DefaultHttpContext(); - _requests[2168].RequestServices = CreateServices(); - _requests[2168].Request.Method = "GET"; - _requests[2168].Request.Path = "/subscriptions/220bbe91-a678-/resourceGroups/2c299444-d419-49c/providers/Microsoft.Web/sites/618eb/migratemysql/status"; - _requests[2169] = new DefaultHttpContext(); - _requests[2169].RequestServices = CreateServices(); - _requests[2169].Request.Method = "POST"; - _requests[2169].Request.Path = "/subscriptions/e759b6ca-a265-/resourceGroups/fb6b071a-e5aa-4b3/providers/Microsoft.Web/sites/a50ab/networkTrace/start"; - _requests[2170] = new DefaultHttpContext(); - _requests[2170].RequestServices = CreateServices(); - _requests[2170].Request.Method = "POST"; - _requests[2170].Request.Path = "/subscriptions/d331b77e-53df-/resourceGroups/70500736-2e41-458/providers/Microsoft.Web/sites/85c70/networkTrace/stop"; - _requests[2171] = new DefaultHttpContext(); - _requests[2171].RequestServices = CreateServices(); - _requests[2171].Request.Method = "PUT"; - _requests[2171].Request.Path = "/subscriptions/9c3488aa-92b7-/resourceGroups/4c561fd5-f212-434/providers/Microsoft.Web/sites/1a17d/privateAccess/virtualNetworks"; - _requests[2172] = new DefaultHttpContext(); - _requests[2172].RequestServices = CreateServices(); - _requests[2172].Request.Method = "GET"; - _requests[2172].Request.Path = "/subscriptions/47daba3c-499a-/resourceGroups/c791ea15-8ce2-46e/providers/Microsoft.Web/sites/2ee44/resourceHealthMetadata/default"; - _requests[2173] = new DefaultHttpContext(); - _requests[2173].RequestServices = CreateServices(); - _requests[2173].Request.Method = "PATCH"; - _requests[2173].Request.Path = "/subscriptions/b4d547fd-95e4-/resourceGroups/ba212cdd-7cef-4ed/providers/Microsoft.Web/sites/d61d8/sourcecontrols/web"; - _requests[2174] = new DefaultHttpContext(); - _requests[2174].RequestServices = CreateServices(); - _requests[2174].Request.Method = "POST"; - _requests[2174].Request.Path = "/subscriptions/fb7f48f7-77e8-/resourceGroups/3e1ff61a-9cc3-42b/providers/Microsoft.Web/sites/d9d155ef/recommendations/disable"; - _requests[2175] = new DefaultHttpContext(); - _requests[2175].RequestServices = CreateServices(); - _requests[2175].Request.Method = "POST"; - _requests[2175].Request.Path = "/subscriptions/c5ae4649-f49e-/resourceGroups/50b766fa-19b1-4f8/providers/Microsoft.Web/sites/c709a80f/recommendations/reset"; - _requests[2176] = new DefaultHttpContext(); - _requests[2176].RequestServices = CreateServices(); - _requests[2176].Request.Method = "GET"; - _requests[2176].Request.Path = "/subscriptions/2a57afba-4eeb-/resourceGroups/52d682ac-4e3d-475/providers/Microsoft.ApiManagement/service/3f51e40a-3d/tenant/access/git"; - _requests[2177] = new DefaultHttpContext(); - _requests[2177].RequestServices = CreateServices(); - _requests[2177].Request.Method = "POST"; - _requests[2177].Request.Path = "/subscriptions/7d8e99ed-1476-/resourceGroups/321dded1-d0eb-42b/providers/Microsoft.ApiManagement/service/755a83aa-d4/tenant/access/regeneratePrimaryKey"; - _requests[2178] = new DefaultHttpContext(); - _requests[2178].RequestServices = CreateServices(); - _requests[2178].Request.Method = "POST"; - _requests[2178].Request.Path = "/subscriptions/5767696f-fabc-/resourceGroups/98f811b1-c34b-491/providers/Microsoft.ApiManagement/service/aa7577cb-25/tenant/access/regenerateSecondaryKey"; - _requests[2179] = new DefaultHttpContext(); - _requests[2179].RequestServices = CreateServices(); - _requests[2179].Request.Method = "POST"; - _requests[2179].Request.Path = "/subscriptions/23ed24ec-fea4-/resourceGroups/7eebbdcb-9778-401/providers/Microsoft.ApiManagement/service/e262fce6-1c/tenant/configuration/deploy"; - _requests[2180] = new DefaultHttpContext(); - _requests[2180].RequestServices = CreateServices(); - _requests[2180].Request.Method = "POST"; - _requests[2180].Request.Path = "/subscriptions/6cd235a8-38b5-/resourceGroups/1f8c7a63-ef10-462/providers/Microsoft.ApiManagement/service/e2b9cb61-19/tenant/configuration/save"; - _requests[2181] = new DefaultHttpContext(); - _requests[2181].RequestServices = CreateServices(); - _requests[2181].Request.Method = "GET"; - _requests[2181].Request.Path = "/subscriptions/642b7686-ee9e-/resourceGroups/6167cc59-dafa-4d4/providers/Microsoft.ApiManagement/service/630f815f-55/tenant/configuration/syncState"; - _requests[2182] = new DefaultHttpContext(); - _requests[2182].RequestServices = CreateServices(); - _requests[2182].Request.Method = "POST"; - _requests[2182].Request.Path = "/subscriptions/2f4ac671-c221-/resourceGroups/0b0a7d2f-bfe2-4bc/providers/Microsoft.ApiManagement/service/026eb4ab-b0/tenant/configuration/validate"; - _requests[2183] = new DefaultHttpContext(); - _requests[2183].RequestServices = CreateServices(); - _requests[2183].Request.Method = "POST"; - _requests[2183].Request.Path = "/subscriptions/19c026d8-3fb8-/resourceGroups/f6bd7802-752c-48d/providers/Microsoft.Devices/IotHubs/7d86ad24-f/routing/routes/$testall"; - _requests[2184] = new DefaultHttpContext(); - _requests[2184].RequestServices = CreateServices(); - _requests[2184].Request.Method = "POST"; - _requests[2184].Request.Path = "/subscriptions/27554727-5556-/resourceGroups/736f82f3-2d4a-4f2/providers/Microsoft.Devices/IotHubs/ad4ce50c-4/routing/routes/$testnew"; - _requests[2185] = new DefaultHttpContext(); - _requests[2185].RequestServices = CreateServices(); - _requests[2185].Request.Method = "POST"; - _requests[2185].Request.Path = "/subscriptions/f8a5e7a2-564f-/resourceGroups/30ff7da3-3f8d-438/providers/Microsoft.OperationalInsights/workspaces/32b759d1-fcb7/features/serviceMap/generateMap"; - _requests[2186] = new DefaultHttpContext(); - _requests[2186].RequestServices = CreateServices(); - _requests[2186].Request.Method = "POST"; - _requests[2186].Request.Path = "/subscriptions/03bf007a-c24c-/resourceGroups/b096e575-3469-447/providers/Microsoft.OperationalInsights/workspaces/6e4eaeda-7f2f/features/serviceMap/machineGroups"; - _requests[2187] = new DefaultHttpContext(); - _requests[2187].RequestServices = CreateServices(); - _requests[2187].Request.Method = "GET"; - _requests[2187].Request.Path = "/subscriptions/78da60d6-ba4f-/resourceGroups/826adf51-da59-4a1/providers/Microsoft.OperationalInsights/workspaces/d72f8133-e240/features/serviceMap/machines"; - _requests[2188] = new DefaultHttpContext(); - _requests[2188].RequestServices = CreateServices(); - _requests[2188].Request.Method = "POST"; - _requests[2188].Request.Path = "/Subscriptions/a20db1d2-ac2d-/resourceGroups/814cff4a-a7b7-41e/providers/Microsoft.RecoveryServices/vaults/714c63ea-7f7/replicationVaultHealth/default/refresh"; - _requests[2189] = new DefaultHttpContext(); - _requests[2189].RequestServices = CreateServices(); - _requests[2189].Request.Method = "GET"; - _requests[2189].Request.Path = "/subscriptions/ff8850c8-ffd9-/resourceGroups/60cbd492-74a5-4e1/providers/Microsoft.Storage/storageAccounts/dc83cd81-d0/blobServices/default/containers"; - _requests[2190] = new DefaultHttpContext(); - _requests[2190].RequestServices = CreateServices(); - _requests[2190].Request.Method = "GET"; - _requests[2190].Request.Path = "/subscriptions/27ab6350-b86e-/resourceGroups/1a30327d-44cf-48a/providers/Microsoft.Web/hostingEnvironments/434b5/multiRolePools/default/metricdefinitions"; - _requests[2191] = new DefaultHttpContext(); - _requests[2191].RequestServices = CreateServices(); - _requests[2191].Request.Method = "GET"; - _requests[2191].Request.Path = "/subscriptions/01cd854a-a174-/resourceGroups/e4ed130f-9d5c-448/providers/Microsoft.Web/hostingEnvironments/fd820/multiRolePools/default/metrics"; - _requests[2192] = new DefaultHttpContext(); - _requests[2192].RequestServices = CreateServices(); - _requests[2192].Request.Method = "GET"; - _requests[2192].Request.Path = "/subscriptions/db032805-3477-/resourceGroups/bd8b925b-ec47-487/providers/Microsoft.Web/hostingEnvironments/c1d04/multiRolePools/default/skus"; - _requests[2193] = new DefaultHttpContext(); - _requests[2193].RequestServices = CreateServices(); - _requests[2193].Request.Method = "GET"; - _requests[2193].Request.Path = "/subscriptions/c9ca54ad-5c43-/resourceGroups/7707413f-4a00-497/providers/Microsoft.Web/hostingEnvironments/bd34a/multiRolePools/default/usages"; - _requests[2194] = new DefaultHttpContext(); - _requests[2194].RequestServices = CreateServices(); - _requests[2194].Request.Method = "POST"; - _requests[2194].Request.Path = "/subscriptions/ffbbafb9-82bb-/resourceGroups/9156c30f-0dcc-437/providers/Microsoft.Web/sites/2d86f/config/appsettings/list"; - _requests[2195] = new DefaultHttpContext(); - _requests[2195].RequestServices = CreateServices(); - _requests[2195].Request.Method = "POST"; - _requests[2195].Request.Path = "/subscriptions/c5e65aa7-7941-/resourceGroups/767b7913-9e15-45e/providers/Microsoft.Web/sites/8cd95/config/authsettings/list"; - _requests[2196] = new DefaultHttpContext(); - _requests[2196].RequestServices = CreateServices(); - _requests[2196].Request.Method = "POST"; - _requests[2196].Request.Path = "/subscriptions/c3aff4c8-89c6-/resourceGroups/c5d82629-0b85-49e/providers/Microsoft.Web/sites/d5bd4/config/backup/list"; - _requests[2197] = new DefaultHttpContext(); - _requests[2197].RequestServices = CreateServices(); - _requests[2197].Request.Method = "POST"; - _requests[2197].Request.Path = "/subscriptions/ff91f1e4-4025-/resourceGroups/a335ae85-d835-4f6/providers/Microsoft.Web/sites/fd43e/config/connectionstrings/list"; - _requests[2198] = new DefaultHttpContext(); - _requests[2198].RequestServices = CreateServices(); - _requests[2198].Request.Method = "POST"; - _requests[2198].Request.Path = "/subscriptions/34f7932a-858b-/resourceGroups/27fefd82-e2ab-412/providers/Microsoft.Web/sites/f19b8/config/metadata/list"; - _requests[2199] = new DefaultHttpContext(); - _requests[2199].RequestServices = CreateServices(); - _requests[2199].Request.Method = "POST"; - _requests[2199].Request.Path = "/subscriptions/2fdeeb76-2ba1-/resourceGroups/e47ed9c1-df96-4b1/providers/Microsoft.Web/sites/44bcd/config/publishingcredentials/list"; - _requests[2200] = new DefaultHttpContext(); - _requests[2200].RequestServices = CreateServices(); - _requests[2200].Request.Method = "POST"; - _requests[2200].Request.Path = "/subscriptions/6f706c5c-b29e-/resourceGroups/a6e67c64-02d7-4f2/providers/Microsoft.Web/sites/f96cb/config/pushsettings/list"; - _requests[2201] = new DefaultHttpContext(); - _requests[2201].RequestServices = CreateServices(); - _requests[2201].Request.Method = "GET"; - _requests[2201].Request.Path = "/subscriptions/7a75a34f-e2fd-/resourceGroups/8c5bc65c-f24d-4e6/providers/Microsoft.Web/sites/51513/config/web/snapshots"; - _requests[2202] = new DefaultHttpContext(); - _requests[2202].RequestServices = CreateServices(); - _requests[2202].Request.Method = "POST"; - _requests[2202].Request.Path = "/subscriptions/42259e17-aa1c-/resourceGroups/74c445dc-f9e2-4ee/providers/Microsoft.Web/sites/04d64/containerlogs/zip/download"; - _requests[2203] = new DefaultHttpContext(); - _requests[2203].RequestServices = CreateServices(); - _requests[2203].Request.Method = "GET"; - _requests[2203].Request.Path = "/subscriptions/b710cd00-4782-/resourceGroups/1ae8d582-ebf7-4c4/providers/Microsoft.Web/sites/21051/extensions/MSDeploy/log"; - _requests[2204] = new DefaultHttpContext(); - _requests[2204].RequestServices = CreateServices(); - _requests[2204].Request.Method = "GET"; - _requests[2204].Request.Path = "/subscriptions/77f89e63-ac35-/resourceGroups/c8079511-9629-441/providers/Microsoft.Web/sites/2c534/functions/admin/token"; - _requests[2205] = new DefaultHttpContext(); - _requests[2205].RequestServices = CreateServices(); - _requests[2205].Request.Method = "POST"; - _requests[2205].Request.Path = "/subscriptions/49200238-ef1e-/resourceGroups/6bc16636-362c-458/providers/Microsoft.ApiManagement/service/00ce2bb8-6b/tenant/access/git/regeneratePrimaryKey"; - _requests[2206] = new DefaultHttpContext(); - _requests[2206].RequestServices = CreateServices(); - _requests[2206].Request.Method = "POST"; - _requests[2206].Request.Path = "/subscriptions/73af1d28-c405-/resourceGroups/8c980a4b-6a60-4cd/providers/Microsoft.ApiManagement/service/8eec06b0-86/tenant/access/git/regenerateSecondaryKey"; - _requests[2207] = new DefaultHttpContext(); - _requests[2207].RequestServices = CreateServices(); - _requests[2207].Request.Method = "GET"; - _requests[2207].Request.Path = "/subscriptions/35686525-4022-/resourceGroups/8044ba6f-eaf4-44c/providers/Microsoft.OperationalInsights/workspaces/d763e6ba-96cb/features/serviceMap/summaries/machines"; - _requests[2208] = new DefaultHttpContext(); - _requests[2208].RequestServices = CreateServices(); - _requests[2208].Request.Method = "GET"; - _requests[2208].Request.Path = "/subscriptions/fa1b5253-4dd5-/resourceGroups/b867371f-890b-430/providers/Microsoft.OperationalInsights/workspaces/8d8fb075-9262/features/serviceMap/clientGroups/26137626-3811-4"; - _requests[2209] = new DefaultHttpContext(); - _requests[2209].RequestServices = CreateServices(); - _requests[2209].Request.Method = "DELETE"; - _requests[2209].Request.Path = "/subscriptions/b63f24dd-9f3a-/resourceGroups/6129f0a0-695e-4bf/providers/Microsoft.OperationalInsights/workspaces/32c631e4-3635/features/serviceMap/machineGroups/fe1ec22c-3afd-42"; - _requests[2210] = new DefaultHttpContext(); - _requests[2210].RequestServices = CreateServices(); - _requests[2210].Request.Method = "GET"; - _requests[2210].Request.Path = "/subscriptions/ac55db6c-2390-/resourceGroups/a3c16b9c-4d3a-404/providers/Microsoft.OperationalInsights/workspaces/72e939af-80a5/features/serviceMap/machines/5c7909aa-93"; - _requests[2211] = new DefaultHttpContext(); - _requests[2211].RequestServices = CreateServices(); - _requests[2211].Request.Method = "DELETE"; - _requests[2211].Request.Path = "/subscriptions/9911e313-bc9c-/resourceGroups/a48b83d5-d45a-46f/providers/Microsoft.Storage/storageAccounts/4a6248f1-c4/blobServices/default/containers/17327fc3-0954"; - _requests[2212] = new DefaultHttpContext(); - _requests[2212].RequestServices = CreateServices(); - _requests[2212].Request.Method = "GET"; - _requests[2212].Request.Path = "/subscriptions/9ec7ab0b-8bf3-/resourceGroups/e1fc0845-8c5b-401/providers/Microsoft.Web/sites/030d2/config/web/snapshots/06ba1f9d-d"; - _requests[2213] = new DefaultHttpContext(); - _requests[2213].RequestServices = CreateServices(); - _requests[2213].Request.Method = "GET"; - _requests[2213].Request.Path = "/subscriptions/ae1964b4-1e1d-/resourceGroups/819c3cbb-ca40-4cb/providers/Microsoft.OperationalInsights/workspaces/b9b9b859-1d08/features/serviceMap/clientGroups/f24c8a85-cf3b-4/members"; - _requests[2214] = new DefaultHttpContext(); - _requests[2214].RequestServices = CreateServices(); - _requests[2214].Request.Method = "GET"; - _requests[2214].Request.Path = "/subscriptions/b6f9eb3e-82c7-/resourceGroups/5e461004-a6d3-449/providers/Microsoft.OperationalInsights/workspaces/0ea349ab-e8bf/features/serviceMap/clientGroups/11cecb6f-fab5-4/membersCount"; - _requests[2215] = new DefaultHttpContext(); - _requests[2215].RequestServices = CreateServices(); - _requests[2215].Request.Method = "GET"; - _requests[2215].Request.Path = "/subscriptions/57b27411-3eaa-/resourceGroups/2684932d-01f9-41f/providers/Microsoft.OperationalInsights/workspaces/9b237290-7475/features/serviceMap/machines/270342b5-41/connections"; - _requests[2216] = new DefaultHttpContext(); - _requests[2216].RequestServices = CreateServices(); - _requests[2216].Request.Method = "GET"; - _requests[2216].Request.Path = "/subscriptions/2fac163a-29fe-/resourceGroups/7a056ea0-e5d0-49b/providers/Microsoft.OperationalInsights/workspaces/cafa1ba6-32cd/features/serviceMap/machines/8b45d0bc-a7/liveness"; - _requests[2217] = new DefaultHttpContext(); - _requests[2217].RequestServices = CreateServices(); - _requests[2217].Request.Method = "GET"; - _requests[2217].Request.Path = "/subscriptions/21e015fa-3735-/resourceGroups/a31a5d51-c05d-455/providers/Microsoft.OperationalInsights/workspaces/ef123449-3089/features/serviceMap/machines/8c32160d-df/machineGroups"; - _requests[2218] = new DefaultHttpContext(); - _requests[2218].RequestServices = CreateServices(); - _requests[2218].Request.Method = "GET"; - _requests[2218].Request.Path = "/subscriptions/68424949-5bc2-/resourceGroups/9b623008-e2a5-45c/providers/Microsoft.OperationalInsights/workspaces/fb9ed023-b74e/features/serviceMap/machines/cdfa4b14-12/ports"; - _requests[2219] = new DefaultHttpContext(); - _requests[2219].RequestServices = CreateServices(); - _requests[2219].Request.Method = "GET"; - _requests[2219].Request.Path = "/subscriptions/fa52e9c8-693d-/resourceGroups/92a6fb54-7057-48d/providers/Microsoft.OperationalInsights/workspaces/cf5bdf86-bb70/features/serviceMap/machines/6d8ef085-11/processes"; - _requests[2220] = new DefaultHttpContext(); - _requests[2220].RequestServices = CreateServices(); - _requests[2220].Request.Method = "POST"; - _requests[2220].Request.Path = "/subscriptions/3fe3151c-45ee-/resourceGroups/bf775833-8e5e-4b0/providers/Microsoft.Storage/storageAccounts/8e4d91e9-ec/blobServices/default/containers/cf4e7522-8526/clearLegalHold"; - _requests[2221] = new DefaultHttpContext(); - _requests[2221].RequestServices = CreateServices(); - _requests[2221].Request.Method = "POST"; - _requests[2221].Request.Path = "/subscriptions/436c9c74-b899-/resourceGroups/8386c07f-468e-475/providers/Microsoft.Storage/storageAccounts/57be9860-92/blobServices/default/containers/83a52191-f014/setLegalHold"; - _requests[2222] = new DefaultHttpContext(); - _requests[2222].RequestServices = CreateServices(); - _requests[2222].Request.Method = "GET"; - _requests[2222].Request.Path = "/subscriptions/21543f70-3622-/resourceGroups/ab653975-dc32-4e3/providers/Microsoft.Web/hostingEnvironments/6d8c9/multiRolePools/default/instances/5bd2ca85/metricdefinitions"; - _requests[2223] = new DefaultHttpContext(); - _requests[2223].RequestServices = CreateServices(); - _requests[2223].Request.Method = "GET"; - _requests[2223].Request.Path = "/subscriptions/ef528602-f940-/resourceGroups/258157e9-4d15-45d/providers/Microsoft.Web/hostingEnvironments/07467/multiRolePools/default/instances/8dbf6b80/metrics"; - _requests[2224] = new DefaultHttpContext(); - _requests[2224].RequestServices = CreateServices(); - _requests[2224].Request.Method = "POST"; - _requests[2224].Request.Path = "/subscriptions/7d9a013c-7bfe-/resourceGroups/be682afe-6a11-4d5/providers/Microsoft.Web/sites/a582d/config/web/snapshots/c8e52b88-5/recover"; - _requests[2225] = new DefaultHttpContext(); - _requests[2225].RequestServices = CreateServices(); - _requests[2225].Request.Method = "POST"; - _requests[2225].Request.Path = "/subscriptions/8c08fe55-a040-/resourceGroups/84d5251a-a5c1-4f9/providers/Microsoft.Storage/storageAccounts/fe7fc620-8c/blobServices/default/containers/dfe7004f-53dd/immutabilityPolicies/default/extend"; - _requests[2226] = new DefaultHttpContext(); - _requests[2226].RequestServices = CreateServices(); - _requests[2226].Request.Method = "POST"; - _requests[2226].Request.Path = "/subscriptions/a3711790-fc7c-/resourceGroups/f065a00e-911b-4c6/providers/Microsoft.Storage/storageAccounts/2c1b1509-eb/blobServices/default/containers/e4df955f-b8a3/immutabilityPolicies/default/lock"; - _requests[2227] = new DefaultHttpContext(); - _requests[2227].RequestServices = CreateServices(); - _requests[2227].Request.Method = "GET"; - _requests[2227].Request.Path = "/subscriptions/d6b58149-4c87-/resourceGroups/a8b0affe-e2f2-431/providers/Microsoft.OperationalInsights/workspaces/87897b9e-fef8/features/serviceMap/machines/412d598e-15/ports/1bb68c2e"; - _requests[2228] = new DefaultHttpContext(); - _requests[2228].RequestServices = CreateServices(); - _requests[2228].Request.Method = "GET"; - _requests[2228].Request.Path = "/subscriptions/907f2389-2bdc-/resourceGroups/04e6ba29-3904-422/providers/Microsoft.OperationalInsights/workspaces/37bc6438-0a05/features/serviceMap/machines/8b6d3339-36/processes/070e546e-31"; - _requests[2229] = new DefaultHttpContext(); - _requests[2229].RequestServices = CreateServices(); - _requests[2229].Request.Method = "DELETE"; - _requests[2229].Request.Path = "/subscriptions/36791325-f989-/resourceGroups/d436cb1a-1c00-410/providers/Microsoft.Storage/storageAccounts/daf488ec-00/blobServices/default/containers/40419c6f-5a44/immutabilityPolicies/ef1658af-2949-4e81-ba0"; - _requests[2230] = new DefaultHttpContext(); - _requests[2230].RequestServices = CreateServices(); - _requests[2230].Request.Method = "GET"; - _requests[2230].Request.Path = "/subscriptions/0ba318dd-4bde-/resourceGroups/78de34a1-baa1-4c4/providers/Microsoft.OperationalInsights/workspaces/37b46289-7edc/features/serviceMap/machines/92ea8946-d6/ports/0f0ab4e3/acceptingProcesses"; - _requests[2231] = new DefaultHttpContext(); - _requests[2231].RequestServices = CreateServices(); - _requests[2231].Request.Method = "GET"; - _requests[2231].Request.Path = "/subscriptions/567a4aeb-ffd9-/resourceGroups/afad1f24-186b-406/providers/Microsoft.OperationalInsights/workspaces/6d5296a0-10f7/features/serviceMap/machines/00b394e2-ea/ports/6e5e57e5/connections"; - _requests[2232] = new DefaultHttpContext(); - _requests[2232].RequestServices = CreateServices(); - _requests[2232].Request.Method = "GET"; - _requests[2232].Request.Path = "/subscriptions/e3192af0-745b-/resourceGroups/4955f9af-15e8-450/providers/Microsoft.OperationalInsights/workspaces/aa31aabb-90ba/features/serviceMap/machines/8bedec71-ba/ports/c66d3ee4/liveness"; - _requests[2233] = new DefaultHttpContext(); - _requests[2233].RequestServices = CreateServices(); - _requests[2233].Request.Method = "GET"; - _requests[2233].Request.Path = "/subscriptions/6113adf3-33da-/resourceGroups/270502cb-48b4-42a/providers/Microsoft.OperationalInsights/workspaces/35e0d3b1-28cf/features/serviceMap/machines/706b5719-dd/processes/912dcc87-99/acceptingPorts"; - _requests[2234] = new DefaultHttpContext(); - _requests[2234].RequestServices = CreateServices(); - _requests[2234].Request.Method = "GET"; - _requests[2234].Request.Path = "/subscriptions/d5675f55-f411-/resourceGroups/7059ab2b-ad5b-463/providers/Microsoft.OperationalInsights/workspaces/ef58ec3c-7a71/features/serviceMap/machines/f13c6401-91/processes/eee145d1-90/connections"; - _requests[2235] = new DefaultHttpContext(); - _requests[2235].RequestServices = CreateServices(); - _requests[2235].Request.Method = "GET"; - _requests[2235].Request.Path = "/subscriptions/3e6c8eec-5bcf-/resourceGroups/36cfb436-144e-4c0/providers/Microsoft.OperationalInsights/workspaces/ccbc89ba-dce5/features/serviceMap/machines/a39119d6-cf/processes/78456fa6-e0/liveness"; - _requests[2236] = new DefaultHttpContext(); - _requests[2236].RequestServices = CreateServices(); - _requests[2236].Request.Method = "GET"; - _requests[2236].Request.Path = "/Subscriptions/36498ec7-ac22-/resourceGroups/b95a146b-0cc0-471/providers/Microsoft.RecoveryServices/vaults/1a411d57-/backupJobs/operationResults/ebaa103c-00"; - _requests[2237] = new DefaultHttpContext(); - _requests[2237].RequestServices = CreateServices(); - _requests[2237].Request.Method = "GET"; - _requests[2237].Request.Path = "/subscriptions/4ac072be-0b06-/resourcegroups/e988ebf6-e8af-4dd/providers/Microsoft.Storage.Admin/farms/fd776c/shares/operationresults/817b3e32-f3"; - _requests[2238] = new DefaultHttpContext(); - _requests[2238].RequestServices = CreateServices(); - _requests[2238].Request.Method = "DELETE"; - _requests[2238].Request.Path = "/subscriptions/7f6e1bd9-c6c9-/resourceGroup/e81e3a8d-9276-4cb/providers/Microsoft.MachineLearningServices/workspaces/2a4e3708-9b35/computes/8ce42711-7f"; - _requests[2239] = new DefaultHttpContext(); - _requests[2239].RequestServices = CreateServices(); - _requests[2239].Request.Method = "PATCH"; - _requests[2239].Request.Path = "/subscriptions/2638106b-1d78-/resourceGroups/a4af4bc5-/providers/Microsoft.DataMigration/services/d8afbb01-ba/projects/0ea37efa-7a"; - _requests[2240] = new DefaultHttpContext(); - _requests[2240].RequestServices = CreateServices(); - _requests[2240].Request.Method = "DELETE"; - _requests[2240].Request.Path = "/subscriptions/d07784f4-88bf-/resourcegroups/188ffa96-f680/providers/Microsoft.AzureBridge.Admin/activations/db3c17b8-e4eb-/downloadedProducts/b3762caa-1f"; - _requests[2241] = new DefaultHttpContext(); - _requests[2241].RequestServices = CreateServices(); - _requests[2241].Request.Method = "GET"; - _requests[2241].Request.Path = "/subscriptions/4d224bd5-6422-/resourcegroups/7c1b626e-fecb/providers/Microsoft.AzureBridge.Admin/activations/f5e83074-2922-/products/0d0b7262-d9"; - _requests[2242] = new DefaultHttpContext(); - _requests[2242].RequestServices = CreateServices(); - _requests[2242].Request.Method = "PUT"; - _requests[2242].Request.Path = "/subscriptions/c4b549a8-8dac-/resourceGroups/ce2bcd97-85fa/providers/Microsoft.AzureStack/registrations/031331a5-f8e0-41/customerSubscriptions/c352bae5-c38d-4a84-b0c8-"; - _requests[2243] = new DefaultHttpContext(); - _requests[2243].RequestServices = CreateServices(); - _requests[2243].Request.Method = "GET"; - _requests[2243].Request.Path = "/subscriptions/cd9ce674-cc77-/resourceGroups/6e202d81-277c/providers/Microsoft.AzureStack/registrations/35501ecb-a832-49/products/1a7881c1-7f"; - _requests[2244] = new DefaultHttpContext(); - _requests[2244].RequestServices = CreateServices(); - _requests[2244].Request.Method = "DELETE"; - _requests[2244].Request.Path = "/subscriptions/514495cb-e7f2-/resourceGroups/b701f6a7-42a3-436/providers/Microsoft.ApiManagement/service/d2ffd5c2-96/apis/12a78"; - _requests[2245] = new DefaultHttpContext(); - _requests[2245].RequestServices = CreateServices(); - _requests[2245].Request.Method = "DELETE"; - _requests[2245].Request.Path = "/subscriptions/6fad412a-e76d-/resourceGroups/08765695-6d12-4a0/providers/Microsoft.ApiManagement/service/37fe1d87-41/api-version-sets/c87b0f23-ff1"; - _requests[2246] = new DefaultHttpContext(); - _requests[2246].RequestServices = CreateServices(); - _requests[2246].Request.Method = "DELETE"; - _requests[2246].Request.Path = "/subscriptions/9e1078d6-e27d-/resourceGroups/139aa9a6-c60b-46b/providers/Microsoft.ApiManagement/service/666e026f-20/authorizationServers/cdfd2a3"; - _requests[2247] = new DefaultHttpContext(); - _requests[2247].RequestServices = CreateServices(); - _requests[2247].Request.Method = "DELETE"; - _requests[2247].Request.Path = "/subscriptions/ce369e17-1c10-/resourceGroups/4e39002f-0517-4f7/providers/Microsoft.ApiManagement/service/45605001-a0/backends/c920ddc3-"; - _requests[2248] = new DefaultHttpContext(); - _requests[2248].RequestServices = CreateServices(); - _requests[2248].Request.Method = "DELETE"; - _requests[2248].Request.Path = "/subscriptions/1dcce671-28d0-/resourceGroups/1df09992-51db-4ca/providers/Microsoft.ApiManagement/service/d1ef35c5-50/certificates/ba198320-b385"; - _requests[2249] = new DefaultHttpContext(); - _requests[2249].RequestServices = CreateServices(); - _requests[2249].Request.Method = "DELETE"; - _requests[2249].Request.Path = "/subscriptions/223b077c-b098-/resourceGroups/4f41bc84-f038-488/providers/Microsoft.ApiManagement/service/ed11e076-c6/diagnostics/e25a5432-503"; - _requests[2250] = new DefaultHttpContext(); - _requests[2250].RequestServices = CreateServices(); - _requests[2250].Request.Method = "DELETE"; - _requests[2250].Request.Path = "/subscriptions/49580d92-20dd-/resourceGroups/10aa6fe4-0d55-460/providers/Microsoft.ApiManagement/service/b0cfdecd-d9/groups/de853ff"; - _requests[2251] = new DefaultHttpContext(); - _requests[2251].RequestServices = CreateServices(); - _requests[2251].Request.Method = "DELETE"; - _requests[2251].Request.Path = "/subscriptions/0bf442eb-4c03-/resourceGroups/8cfd8b95-846c-4cb/providers/Microsoft.ApiManagement/service/abd8d6a1-c6/identityProviders/9e0792a4-ed18-4175-8"; - _requests[2252] = new DefaultHttpContext(); - _requests[2252].RequestServices = CreateServices(); - _requests[2252].Request.Method = "DELETE"; - _requests[2252].Request.Path = "/subscriptions/32162419-0078-/resourceGroups/1a1c6180-56ee-425/providers/Microsoft.ApiManagement/service/9ce5d1ad-9f/loggers/a0c1f4b6"; - _requests[2253] = new DefaultHttpContext(); - _requests[2253].RequestServices = CreateServices(); - _requests[2253].Request.Method = "PUT"; - _requests[2253].Request.Path = "/subscriptions/2254ae15-134f-/resourceGroups/4291b3ae-6ec4-44c/providers/Microsoft.ApiManagement/service/cdd2d301-e4/notifications/6d715272-80c3-44"; - _requests[2254] = new DefaultHttpContext(); - _requests[2254].RequestServices = CreateServices(); - _requests[2254].Request.Method = "DELETE"; - _requests[2254].Request.Path = "/subscriptions/d21d537b-3cb0-/resourceGroups/4ca2bf27-fe0f-4f4/providers/Microsoft.ApiManagement/service/02350bba-c2/openidConnectProviders/cdaf5"; - _requests[2255] = new DefaultHttpContext(); - _requests[2255].RequestServices = CreateServices(); - _requests[2255].Request.Method = "DELETE"; - _requests[2255].Request.Path = "/subscriptions/f8945052-fb77-/resourceGroups/676ef230-7585-480/providers/Microsoft.ApiManagement/service/9bbb6298-6b/policies/3a2914c2"; - _requests[2256] = new DefaultHttpContext(); - _requests[2256].RequestServices = CreateServices(); - _requests[2256].Request.Method = "DELETE"; - _requests[2256].Request.Path = "/subscriptions/4243af05-ca85-/resourceGroups/43346355-703a-4ff/providers/Microsoft.ApiManagement/service/e14f7bef-2c/products/e8594cab-"; - _requests[2257] = new DefaultHttpContext(); - _requests[2257].RequestServices = CreateServices(); - _requests[2257].Request.Method = "DELETE"; - _requests[2257].Request.Path = "/subscriptions/93eeb554-0773-/resourceGroups/28e10f14-6706-433/providers/Microsoft.ApiManagement/service/0ad89691-1d/properties/602089"; - _requests[2258] = new DefaultHttpContext(); - _requests[2258].RequestServices = CreateServices(); - _requests[2258].Request.Method = "PATCH"; - _requests[2258].Request.Path = "/subscriptions/73e44278-e4d2-/resourceGroups/00708e62-0298-4a7/providers/Microsoft.ApiManagement/service/3b413d0f-38/quotas/888ce569-941f-4"; - _requests[2259] = new DefaultHttpContext(); - _requests[2259].RequestServices = CreateServices(); - _requests[2259].Request.Method = "GET"; - _requests[2259].Request.Path = "/subscriptions/649f660f-b7f7-/resourceGroups/0b3e0993-9309-4f5/providers/Microsoft.ApiManagement/service/fe241494-b8/reports/c292fb2c-8b"; - _requests[2260] = new DefaultHttpContext(); - _requests[2260].RequestServices = CreateServices(); - _requests[2260].Request.Method = "DELETE"; - _requests[2260].Request.Path = "/subscriptions/f6f666c2-7c5d-/resourceGroups/12616e41-de6c-456/providers/Microsoft.ApiManagement/service/b8de0096-8c/subscriptions/92abd"; - _requests[2261] = new DefaultHttpContext(); - _requests[2261].RequestServices = CreateServices(); - _requests[2261].Request.Method = "DELETE"; - _requests[2261].Request.Path = "/subscriptions/f3a94596-5b6e-/resourceGroups/05a599fa-d8a2-42b/providers/Microsoft.ApiManagement/service/c1c523e2-d8/tags/72071"; - _requests[2262] = new DefaultHttpContext(); - _requests[2262].RequestServices = CreateServices(); - _requests[2262].Request.Method = "DELETE"; - _requests[2262].Request.Path = "/subscriptions/f642c54b-f61a-/resourceGroups/082bae98-54ad-4bd/providers/Microsoft.ApiManagement/service/19be2e50-9f/templates/0a19f249-a9c"; - _requests[2263] = new DefaultHttpContext(); - _requests[2263].RequestServices = CreateServices(); - _requests[2263].Request.Method = "PATCH"; - _requests[2263].Request.Path = "/subscriptions/e581e6b0-10a4-/resourceGroups/fcaa7125-95bf-481/providers/Microsoft.ApiManagement/service/49ec983a-55/tenant/8f402d99-0"; - _requests[2264] = new DefaultHttpContext(); - _requests[2264].RequestServices = CreateServices(); - _requests[2264].Request.Method = "DELETE"; - _requests[2264].Request.Path = "/subscriptions/c3c4849e-fa20-/resourceGroups/39d370b7-2368-431/providers/Microsoft.ApiManagement/service/72342ae5-84/users/702a6"; - _requests[2265] = new DefaultHttpContext(); - _requests[2265].RequestServices = CreateServices(); - _requests[2265].Request.Method = "PATCH"; - _requests[2265].Request.Path = "/subscriptions/345662f7-ef80-/resourceGroups/807c07f7-2d73-40b/providers/Microsoft.Automation/automationAccounts/7a4b7141-d700-4017-82/certificates/f6c51a0b-62c4-4"; - _requests[2266] = new DefaultHttpContext(); - _requests[2266].RequestServices = CreateServices(); - _requests[2266].Request.Method = "GET"; - _requests[2266].Request.Path = "/subscriptions/cff4aca5-7adf-/resourceGroups/7b44ecf1-24e9-48f/providers/Microsoft.Automation/automationAccounts/e6fc0e25-3ec8-4d46-a0/compilationjobs/707bb467-4b28-4e2e"; - _requests[2267] = new DefaultHttpContext(); - _requests[2267].RequestServices = CreateServices(); - _requests[2267].Request.Method = "PATCH"; - _requests[2267].Request.Path = "/subscriptions/2ff752b3-2f7b-/resourceGroups/9123f209-fe86-423/providers/Microsoft.Automation/automationAccounts/1bbd7c82-a57d-4ed3-be/configurations/79c69d9c-377c-4e3"; - _requests[2268] = new DefaultHttpContext(); - _requests[2268].RequestServices = CreateServices(); - _requests[2268].Request.Method = "PATCH"; - _requests[2268].Request.Path = "/subscriptions/f09ae139-31c2-/resourceGroups/fff4f9ee-ad9f-40b/providers/Microsoft.Automation/automationAccounts/5b9d036a-13b8-4ca1-a3/connections/7747da7d-daf8-"; - _requests[2269] = new DefaultHttpContext(); - _requests[2269].RequestServices = CreateServices(); - _requests[2269].Request.Method = "PUT"; - _requests[2269].Request.Path = "/subscriptions/f67681d3-0186-/resourceGroups/32f8ad0c-ac95-4e9/providers/Microsoft.Automation/automationAccounts/06780393-1c48-4215-ac/connectionTypes/2487e7f5-7896-42d2"; - _requests[2270] = new DefaultHttpContext(); - _requests[2270].RequestServices = CreateServices(); - _requests[2270].Request.Method = "PATCH"; - _requests[2270].Request.Path = "/subscriptions/f29a821f-0510-/resourceGroups/15ac1d3e-a969-4b9/providers/Microsoft.Automation/automationAccounts/bd4a9f4d-ee29-4fe7-80/credentials/aa92ceaa-b2a0-"; - _requests[2271] = new DefaultHttpContext(); - _requests[2271].RequestServices = CreateServices(); - _requests[2271].Request.Method = "PATCH"; - _requests[2271].Request.Path = "/subscriptions/25df9efd-513f-/resourceGroups/19e57fc0-1a57-4d7/providers/Microsoft.Automation/automationAccounts/ce9e5731-3ea9-4a6c-95/hybridRunbookWorkerGroups/7a97ff7b-d07a-4763-814f-f53c"; - _requests[2272] = new DefaultHttpContext(); - _requests[2272].RequestServices = CreateServices(); - _requests[2272].Request.Method = "PUT"; - _requests[2272].Request.Path = "/subscriptions/c0556e94-eb70-/resourceGroups/98571a72-9cde-444/providers/Microsoft.Automation/automationAccounts/0d07870b-f41d-4fad-8c/jobs/b28f4"; - _requests[2273] = new DefaultHttpContext(); - _requests[2273].RequestServices = CreateServices(); - _requests[2273].Request.Method = "PUT"; - _requests[2273].Request.Path = "/subscriptions/8a32c406-1c63-/resourceGroups/7e480bf6-98f8-4f7/providers/Microsoft.Automation/automationAccounts/79fa9ab0-5fc2-4caf-85/jobSchedules/10b99f2d-5ad4"; - _requests[2274] = new DefaultHttpContext(); - _requests[2274].RequestServices = CreateServices(); - _requests[2274].Request.Method = "PATCH"; - _requests[2274].Request.Path = "/subscriptions/d2eb0c61-b720-/resourceGroups/d893cdbc-233b-423/providers/Microsoft.Automation/automationAccounts/636a2e03-4145-4b64-94/modules/9ab14285-a"; - _requests[2275] = new DefaultHttpContext(); - _requests[2275].RequestServices = CreateServices(); - _requests[2275].Request.Method = "PUT"; - _requests[2275].Request.Path = "/subscriptions/4e365c7d-7cab-/resourceGroups/526a40af-31bc-41f/providers/Microsoft.Automation/automationAccounts/fedd2abf-dac5-4d1e-9f/nodeConfigurations/d94e31ac-e289-4fd3-82"; - _requests[2276] = new DefaultHttpContext(); - _requests[2276].RequestServices = CreateServices(); - _requests[2276].Request.Method = "GET"; - _requests[2276].Request.Path = "/subscriptions/5bd22594-5658-/resourceGroups/41e04111-9bff-4b5/providers/Microsoft.Automation/automationAccounts/164621d4-0237-48ea-a7/nodecounts/4d9361e9-"; - _requests[2277] = new DefaultHttpContext(); - _requests[2277].RequestServices = CreateServices(); - _requests[2277].Request.Method = "PATCH"; - _requests[2277].Request.Path = "/subscriptions/83c8582a-8f39-/resourceGroups/3b54c6e6-3591-4e5/providers/Microsoft.Automation/automationAccounts/55bfba79-a221-4902-b9/nodes/a3ef0d"; - _requests[2278] = new DefaultHttpContext(); - _requests[2278].RequestServices = CreateServices(); - _requests[2278].Request.Method = "DELETE"; - _requests[2278].Request.Path = "/subscriptions/e9e95b14-07f5-/resourceGroups/504e71bd-cb63-4b3/providers/Microsoft.Automation/automationAccounts/654fd95a-4c55-4f46-a5/runbooks/585789ec-be"; - _requests[2279] = new DefaultHttpContext(); - _requests[2279].RequestServices = CreateServices(); - _requests[2279].Request.Method = "DELETE"; - _requests[2279].Request.Path = "/subscriptions/3bedf388-6e33-/resourceGroups/8c407693-9ceb-4f7/providers/Microsoft.Automation/automationAccounts/0edebe2e-60d5-432a-9a/schedules/c9212659-1bf"; - _requests[2280] = new DefaultHttpContext(); - _requests[2280].RequestServices = CreateServices(); - _requests[2280].Request.Method = "GET"; - _requests[2280].Request.Path = "/subscriptions/3da069c4-2189-/resourceGroups/cd545fee-50b4-49d/providers/Microsoft.Automation/automationAccounts/f233a9ee-42c0-457c-81/softwareUpdateConfigurationMachineRuns/a3345645-5be2-4dac-b44e-8fcb9be2fa50"; - _requests[2281] = new DefaultHttpContext(); - _requests[2281].RequestServices = CreateServices(); - _requests[2281].Request.Method = "GET"; - _requests[2281].Request.Path = "/subscriptions/a6957a4b-7eb7-/resourceGroups/ef6d8ac5-2470-4e5/providers/Microsoft.Automation/automationAccounts/4827e900-c705-4959-a8/softwareUpdateConfigurationRuns/6af47c09-5b2b-4b00-a216-0a361ea3"; - _requests[2282] = new DefaultHttpContext(); - _requests[2282].RequestServices = CreateServices(); - _requests[2282].Request.Method = "DELETE"; - _requests[2282].Request.Path = "/subscriptions/de332ca0-305a-/resourceGroups/5c3d4434-9953-453/providers/Microsoft.Automation/automationAccounts/6aef4397-990f-4252-98/softwareUpdateConfigurations/48fdb3b2-767a-4eba-b77a-da7e41c"; - _requests[2283] = new DefaultHttpContext(); - _requests[2283].RequestServices = CreateServices(); - _requests[2283].Request.Method = "GET"; - _requests[2283].Request.Path = "/subscriptions/f6cbc1c5-0b1b-/resourceGroups/f37d34cc-d103-47d/providers/Microsoft.Automation/automationAccounts/613ca7d2-b9ec-42d3-88/sourceControls/61f6f3cb-5ce4-4a7"; - _requests[2284] = new DefaultHttpContext(); - _requests[2284].RequestServices = CreateServices(); - _requests[2284].Request.Method = "GET"; - _requests[2284].Request.Path = "/subscriptions/d0e6126a-d064-/resourceGroups/d6fd1afa-def0-4a2/providers/Microsoft.Automation/automationAccounts/ca33dd2d-ce3b-4ef8-88/variables/5f0ad2c2-823"; - _requests[2285] = new DefaultHttpContext(); - _requests[2285].RequestServices = CreateServices(); - _requests[2285].Request.Method = "DELETE"; - _requests[2285].Request.Path = "/subscriptions/c4f52e74-5560-/resourceGroups/8396cd66-0bdb-42b/providers/Microsoft.Automation/automationAccounts/4c262bc4-8b0d-4f2f-81/watchers/81b184a7-e6"; - _requests[2286] = new DefaultHttpContext(); - _requests[2286].RequestServices = CreateServices(); - _requests[2286].Request.Method = "PATCH"; - _requests[2286].Request.Path = "/subscriptions/7785cc61-164e-/resourceGroups/78452aa8-1501-4de/providers/Microsoft.Automation/automationAccounts/c5fcffd4-73a3-48b4-85/webhooks/0295f8f1-1c"; - _requests[2287] = new DefaultHttpContext(); - _requests[2287].RequestServices = CreateServices(); - _requests[2287].Request.Method = "GET"; - _requests[2287].Request.Path = "/subscriptions/93678f01-9a57-/resourcegroups/4435aef2-352e-463/providers/Microsoft.Backup.Admin/backupLocations/7d28aabf/backups/9d5f73"; - _requests[2288] = new DefaultHttpContext(); - _requests[2288].RequestServices = CreateServices(); - _requests[2288].Request.Method = "PATCH"; - _requests[2288].Request.Path = "/subscriptions/07e7dfbc-4c90-/resourceGroups/81289643-5a85-439/providers/Microsoft.Batch/batchAccounts/73c84e09-61/applications/eba69074-2614"; - _requests[2289] = new DefaultHttpContext(); - _requests[2289].RequestServices = CreateServices(); - _requests[2289].Request.Method = "GET"; - _requests[2289].Request.Path = "/subscriptions/863bb491-fa7e-/resourceGroups/cfa4b713-8f81-402/providers/Microsoft.Batch/batchAccounts/305f990c-70/certificates/97e9752d-bd00-4"; - _requests[2290] = new DefaultHttpContext(); - _requests[2290].RequestServices = CreateServices(); - _requests[2290].Request.Method = "GET"; - _requests[2290].Request.Path = "/subscriptions/9d9115f7-a979-/resourceGroups/858145b4-c6aa-4e6/providers/Microsoft.Batch/batchAccounts/c59db6a3-ab/pools/dd8029f4"; - _requests[2291] = new DefaultHttpContext(); - _requests[2291].RequestServices = CreateServices(); - _requests[2291].Request.Method = "GET"; - _requests[2291].Request.Path = "/subscriptions/b9980ab7-9510-/resourceGroups/02f55dc3-9f70-48c/providers/Microsoft.BatchAI/workspaces/186c0eeb-3d4d/clusters/4970898e-9f"; - _requests[2292] = new DefaultHttpContext(); - _requests[2292].RequestServices = CreateServices(); - _requests[2292].Request.Method = "GET"; - _requests[2292].Request.Path = "/subscriptions/c00f48c0-cd3f-/resourceGroups/517a8254-bb11-4b0/providers/Microsoft.BatchAI/workspaces/75f8e0f5-b3eb/experiments/b592d298-62cf-"; - _requests[2293] = new DefaultHttpContext(); - _requests[2293].RequestServices = CreateServices(); - _requests[2293].Request.Method = "GET"; - _requests[2293].Request.Path = "/subscriptions/a15bb8da-85a5-/resourceGroups/4b8759c5-176a-4d3/providers/Microsoft.BatchAI/workspaces/68504f56-5242/fileServers/f04e77d7-c8d4-"; - _requests[2294] = new DefaultHttpContext(); - _requests[2294].RequestServices = CreateServices(); - _requests[2294].Request.Method = "GET"; - _requests[2294].Request.Path = "/subscriptions/178d04fc-191b-/resourceGroups/2a1c92b7-3f83-445/providers/Microsoft.BotService/botServices/00ba84e4-508/channels/2c44f2fd-25"; - _requests[2295] = new DefaultHttpContext(); - _requests[2295].RequestServices = CreateServices(); - _requests[2295].Request.Method = "DELETE"; - _requests[2295].Request.Path = "/subscriptions/1013e59f-6472-/resourceGroups/490d07d2-cfb5-404/providers/Microsoft.BotService/botServices/66dd6d10-e34/Connections/49a0eff4-ef7f-"; - _requests[2296] = new DefaultHttpContext(); - _requests[2296].RequestServices = CreateServices(); - _requests[2296].Request.Method = "DELETE"; - _requests[2296].Request.Path = "/subscriptions/20ea7d4b-c7f3-/resourceGroups/403eeb62-8254-4fd/providers/Microsoft.Cache/Redis/00a1a2cb-/firewallRules/27e8cbee"; - _requests[2297] = new DefaultHttpContext(); - _requests[2297].RequestServices = CreateServices(); - _requests[2297].Request.Method = "GET"; - _requests[2297].Request.Path = "/subscriptions/a578bb0f-06cd-/resourceGroups/38436a0a-66f8-41e/providers/Microsoft.Cache/Redis/3ebf6/linkedServers/a9418f0b-5f2a-47"; - _requests[2298] = new DefaultHttpContext(); - _requests[2298].RequestServices = CreateServices(); - _requests[2298].Request.Method = "GET"; - _requests[2298].Request.Path = "/subscriptions/1376c163-e819-/resourceGroups/5a9b8cfd-fe79-46e/providers/Microsoft.Cache/Redis/1dc79/patchSchedules/11116d3"; - _requests[2299] = new DefaultHttpContext(); - _requests[2299].RequestServices = CreateServices(); - _requests[2299].Request.Method = "DELETE"; - _requests[2299].Request.Path = "/subscriptions/0d0f8878-aee8-/resourceGroups/7e55fc21-aa37-4b1/providers/Microsoft.Cdn/profiles/ed25291d-7d/endpoints/a770dd9f-ea3"; - _requests[2300] = new DefaultHttpContext(); - _requests[2300].RequestServices = CreateServices(); - _requests[2300].Request.Method = "PATCH"; - _requests[2300].Request.Path = "/subscriptions/49933aeb-3d3b-/resourceGroups/066e9977-e30b-47f/providers/Microsoft.CertificateRegistration/certificateOrders/688d88cc-bed1-4fb9-b/certificates/85f50"; - _requests[2301] = new DefaultHttpContext(); - _requests[2301].RequestServices = CreateServices(); - _requests[2301].Request.Method = "DELETE"; - _requests[2301].Request.Path = "/subscriptions/d6c6451e-c11f-/resourceGroups/7dd4cbe1-5716-4c6/providers/Microsoft.Compute/galleries/97384e84-88/images/640ae678-cb76-49"; - _requests[2302] = new DefaultHttpContext(); - _requests[2302].RequestServices = CreateServices(); - _requests[2302].Request.Method = "GET"; - _requests[2302].Request.Path = "/subscriptions/30a9a0ac-18f2-/resourceGroups/8da28de7-a4db-4d2/providers/Microsoft.Compute/virtualMachines/bef596/extensions/98bddfe5-14e3-4"; - _requests[2303] = new DefaultHttpContext(); - _requests[2303].RequestServices = CreateServices(); - _requests[2303].Request.Method = "GET"; - _requests[2303].Request.Path = "/subscriptions/3ecf5c55-a325-/resourceGroups/b558bfe1-53f2-4e1/providers/Microsoft.Compute/virtualMachineScaleSets/0e70994c-0bbb-/extensions/19e21dcd-e528-4cd"; - _requests[2304] = new DefaultHttpContext(); - _requests[2304].RequestServices = CreateServices(); - _requests[2304].Request.Method = "GET"; - _requests[2304].Request.Path = "/subscriptions/50a26639-1e9d-/resourceGroups/6e6334a2-ef50-4af/providers/Microsoft.Compute/virtualMachineScaleSets/0a5277ca-f34d-/virtualmachines/849aa54b-0"; - _requests[2305] = new DefaultHttpContext(); - _requests[2305].RequestServices = CreateServices(); - _requests[2305].Request.Method = "PATCH"; - _requests[2305].Request.Path = "/subscriptions/42fe8995-00a7-/resourceGroups/9924e82e-fda1-4d5/providers/Microsoft.ContainerRegistry/registries/9f1b5a81-f11/builds/523871b"; - _requests[2306] = new DefaultHttpContext(); - _requests[2306].RequestServices = CreateServices(); - _requests[2306].Request.Method = "PATCH"; - _requests[2306].Request.Path = "/subscriptions/bdd2f145-1558-/resourceGroups/bc3f2bf3-7370-440/providers/Microsoft.ContainerRegistry/registries/6493e194-6e0/buildTasks/d4225527-6669"; - _requests[2307] = new DefaultHttpContext(); - _requests[2307].RequestServices = CreateServices(); - _requests[2307].Request.Method = "PATCH"; - _requests[2307].Request.Path = "/subscriptions/8d6d13d9-6f51-/resourceGroups/23116c3a-67da-4f3/providers/Microsoft.ContainerRegistry/registries/18f7d059-849/replications/b38373b0-8b9b-4"; - _requests[2308] = new DefaultHttpContext(); - _requests[2308].RequestServices = CreateServices(); - _requests[2308].Request.Method = "PATCH"; - _requests[2308].Request.Path = "/subscriptions/e72e7f57-3206-/resourceGroups/da71c96e-922a-400/providers/Microsoft.ContainerRegistry/registries/034f7ff4-33c/webhooks/4b2a8fa5-b8"; - _requests[2309] = new DefaultHttpContext(); - _requests[2309].RequestServices = CreateServices(); - _requests[2309].Request.Method = "GET"; - _requests[2309].Request.Path = "/subscriptions/365b7957-3345-/resourceGroups/e8eaee3f-c670-4cc/providers/Microsoft.ContainerService/managedClusters/77792236-ac3/accessProfiles/b3558c36"; - _requests[2310] = new DefaultHttpContext(); - _requests[2310].RequestServices = CreateServices(); - _requests[2310].Request.Method = "GET"; - _requests[2310].Request.Path = "/subscriptions/70eca8ae-e7c4-/resourceGroups/602fa126-7c50-434/providers/Microsoft.CustomerInsights/hubs/d7ecde0/authorizationPolicies/f9d37fdd-22fc-4c63-be41"; - _requests[2311] = new DefaultHttpContext(); - _requests[2311].RequestServices = CreateServices(); - _requests[2311].Request.Method = "DELETE"; - _requests[2311].Request.Path = "/subscriptions/2570359f-5ef6-/resourceGroups/2a76ce51-8704-467/providers/Microsoft.CustomerInsights/hubs/2f43778/connectors/be9e574b-07aa"; - _requests[2312] = new DefaultHttpContext(); - _requests[2312].RequestServices = CreateServices(); - _requests[2312].Request.Method = "GET"; - _requests[2312].Request.Path = "/subscriptions/9c28af5f-6dd6-/resourceGroups/c2470aa4-8529-4e6/providers/Microsoft.CustomerInsights/hubs/1d10030/interactions/b342eb1a-972f-4"; - _requests[2313] = new DefaultHttpContext(); - _requests[2313].RequestServices = CreateServices(); - _requests[2313].Request.Method = "DELETE"; - _requests[2313].Request.Path = "/subscriptions/2f4b3f1b-a1d2-/resourceGroups/2a6858aa-5cd3-4da/providers/Microsoft.CustomerInsights/hubs/d7cefc2/kpi/21b29ce"; - _requests[2314] = new DefaultHttpContext(); - _requests[2314].RequestServices = CreateServices(); - _requests[2314].Request.Method = "DELETE"; - _requests[2314].Request.Path = "/subscriptions/2bd3fed1-32c9-/resourceGroups/970e0d2e-8a19-411/providers/Microsoft.CustomerInsights/hubs/ace26bc/links/cb9ca73d"; - _requests[2315] = new DefaultHttpContext(); - _requests[2315].RequestServices = CreateServices(); - _requests[2315].Request.Method = "DELETE"; - _requests[2315].Request.Path = "/subscriptions/18dc3306-a4de-/resourceGroups/b2d0d479-d8a3-475/providers/Microsoft.CustomerInsights/hubs/6b0ae1e/predictions/39ce3e83-78e3-"; - _requests[2316] = new DefaultHttpContext(); - _requests[2316].RequestServices = CreateServices(); - _requests[2316].Request.Method = "DELETE"; - _requests[2316].Request.Path = "/subscriptions/a11e7235-cb1c-/resourceGroups/ee943441-a113-412/providers/Microsoft.CustomerInsights/hubs/04c8dd5/profiles/6f22422d-bd"; - _requests[2317] = new DefaultHttpContext(); - _requests[2317].RequestServices = CreateServices(); - _requests[2317].Request.Method = "DELETE"; - _requests[2317].Request.Path = "/subscriptions/f319b39f-e1b3-/resourceGroups/d1f21f42-f3fe-477/providers/Microsoft.CustomerInsights/hubs/05b5d59/relationshipLinks/e6bb6198-2f7f-41dc-a"; - _requests[2318] = new DefaultHttpContext(); - _requests[2318].RequestServices = CreateServices(); - _requests[2318].Request.Method = "DELETE"; - _requests[2318].Request.Path = "/subscriptions/08311e05-e775-/resourceGroups/27d8312c-9a70-40f/providers/Microsoft.CustomerInsights/hubs/53ee8d3/relationships/0a0930e6-2e33-42"; - _requests[2319] = new DefaultHttpContext(); - _requests[2319].RequestServices = CreateServices(); - _requests[2319].Request.Method = "DELETE"; - _requests[2319].Request.Path = "/subscriptions/f5f8efdb-0776-/resourceGroups/543bea93-e616-47a/providers/Microsoft.CustomerInsights/hubs/0a72de8/roleAssignments/7e932fd0-53c4-"; - _requests[2320] = new DefaultHttpContext(); - _requests[2320].RequestServices = CreateServices(); - _requests[2320].Request.Method = "DELETE"; - _requests[2320].Request.Path = "/subscriptions/dd397b7e-782c-/resourceGroups/d3790c19-dd48-416/providers/Microsoft.CustomerInsights/hubs/4ec8a50/views/e0c9248b"; - _requests[2321] = new DefaultHttpContext(); - _requests[2321].RequestServices = CreateServices(); - _requests[2321].Request.Method = "GET"; - _requests[2321].Request.Path = "/subscriptions/4f16afe6-5d68-/resourceGroups/bdb2fddf-02b4-405/providers/Microsoft.CustomerInsights/hubs/25b8e85/widgetTypes/365ed6d0-f37b-"; - _requests[2322] = new DefaultHttpContext(); - _requests[2322].RequestServices = CreateServices(); - _requests[2322].Request.Method = "POST"; - _requests[2322].Request.Path = "/subscriptions/f3cd2c72-c728-/resourceGroups/3dff966a-542b-4e6/providers/Microsoft.DataFactory/factories/0f04d98e-6b/cancelpipelinerun/1a5b0"; - _requests[2323] = new DefaultHttpContext(); - _requests[2323].RequestServices = CreateServices(); - _requests[2323].Request.Method = "DELETE"; - _requests[2323].Request.Path = "/subscriptions/302e1c78-a8a8-/resourceGroups/7dfb9683-d4f1-440/providers/Microsoft.DataFactory/factories/36202344-8d/datasets/27e02c1b-21"; - _requests[2324] = new DefaultHttpContext(); - _requests[2324].RequestServices = CreateServices(); - _requests[2324].Request.Method = "DELETE"; - _requests[2324].Request.Path = "/subscriptions/f9d56e42-f3f2-/resourceGroups/9339213e-f71b-47f/providers/Microsoft.DataFactory/factories/a4e6c20a-06/integrationRuntimes/69fe69d4-155a-4e5c-b64"; - _requests[2325] = new DefaultHttpContext(); - _requests[2325].RequestServices = CreateServices(); - _requests[2325].Request.Method = "DELETE"; - _requests[2325].Request.Path = "/subscriptions/dfb49601-dfc1-/resourceGroups/b1d48eab-06ab-4bd/providers/Microsoft.DataFactory/factories/2202b95a-d1/linkedservices/98593dcb-15ac-408"; - _requests[2326] = new DefaultHttpContext(); - _requests[2326].RequestServices = CreateServices(); - _requests[2326].Request.Method = "GET"; - _requests[2326].Request.Path = "/subscriptions/556947ae-55f4-/resourceGroups/d408edbd-d9d2-4b9/providers/Microsoft.DataFactory/factories/429f3b54-ae/pipelineruns/44f49"; - _requests[2327] = new DefaultHttpContext(); - _requests[2327].RequestServices = CreateServices(); - _requests[2327].Request.Method = "DELETE"; - _requests[2327].Request.Path = "/subscriptions/2adf2f76-b589-/resourceGroups/def7ee37-a332-4d0/providers/Microsoft.DataFactory/factories/5353c460-e0/pipelines/60cb0e35-260"; - _requests[2328] = new DefaultHttpContext(); - _requests[2328].RequestServices = CreateServices(); - _requests[2328].Request.Method = "DELETE"; - _requests[2328].Request.Path = "/subscriptions/55f1fda5-b64c-/resourceGroups/67c3b277-c005-41a/providers/Microsoft.DataFactory/factories/d589370a-a8/triggers/912beaf8-03"; - _requests[2329] = new DefaultHttpContext(); - _requests[2329].RequestServices = CreateServices(); - _requests[2329].Request.Method = "DELETE"; - _requests[2329].Request.Path = "/subscriptions/27695180-b048-/resourceGroups/3971d700-e894-4f3/providers/Microsoft.DataLakeAnalytics/accounts/faf17395-da/computePolicies/c0626ee8-e4ec-4b0"; - _requests[2330] = new DefaultHttpContext(); - _requests[2330].RequestServices = CreateServices(); - _requests[2330].Request.Method = "DELETE"; - _requests[2330].Request.Path = "/subscriptions/600f08d7-11c2-/resourceGroups/732c1179-3579-45c/providers/Microsoft.DataLakeAnalytics/accounts/d3b54530-a8/dataLakeStoreAccounts/c25d4222-4152-434d-9092-"; - _requests[2331] = new DefaultHttpContext(); - _requests[2331].RequestServices = CreateServices(); - _requests[2331].Request.Method = "DELETE"; - _requests[2331].Request.Path = "/subscriptions/41104be3-95f7-/resourceGroups/dbc10998-9dba-420/providers/Microsoft.DataLakeAnalytics/accounts/c9de945f-4f/firewallRules/5b1e0191-2a2e-4a"; - _requests[2332] = new DefaultHttpContext(); - _requests[2332].RequestServices = CreateServices(); - _requests[2332].Request.Method = "DELETE"; - _requests[2332].Request.Path = "/subscriptions/9fc567a0-5c4e-/resourceGroups/efd54ee7-106d-482/providers/Microsoft.DataLakeAnalytics/accounts/6c6f90eb-d6/storageAccounts/fb8a0330-5600-46d6"; - _requests[2333] = new DefaultHttpContext(); - _requests[2333].RequestServices = CreateServices(); - _requests[2333].Request.Method = "DELETE"; - _requests[2333].Request.Path = "/subscriptions/80681fd1-d67c-/resourceGroups/ed71e12b-719c-4ff/providers/Microsoft.DataLakeStore/accounts/90e96c92-79/firewallRules/3625dd35-7243-4c"; - _requests[2334] = new DefaultHttpContext(); - _requests[2334].RequestServices = CreateServices(); - _requests[2334].Request.Method = "DELETE"; - _requests[2334].Request.Path = "/subscriptions/0ccee45d-7824-/resourceGroups/ff8a3bd1-5b39-454/providers/Microsoft.DataLakeStore/accounts/dcb16f43-ad/trustedIdProviders/e5694c37-469f-45b1-9d"; - _requests[2335] = new DefaultHttpContext(); - _requests[2335].RequestServices = CreateServices(); - _requests[2335].Request.Method = "DELETE"; - _requests[2335].Request.Path = "/subscriptions/41e05e5e-321d-/resourceGroups/c664f0a5-38de-4d6/providers/Microsoft.DataLakeStore/accounts/d31b04b7-27/virtualNetworkRules/eb044754-89ea-433c-920"; - _requests[2336] = new DefaultHttpContext(); - _requests[2336].RequestServices = CreateServices(); - _requests[2336].Request.Method = "GET"; - _requests[2336].Request.Path = "/subscriptions/996b338e-f27e-/resourceGroups/0293ba9e-570d-418/providers/Microsoft.DBforMySQL/servers/c4249b9f-4/configurations/bc748339-c316-468"; - _requests[2337] = new DefaultHttpContext(); - _requests[2337].RequestServices = CreateServices(); - _requests[2337].Request.Method = "GET"; - _requests[2337].Request.Path = "/subscriptions/a308a405-0ccc-/resourceGroups/faedfa64-2470-47a/providers/Microsoft.DBforMySQL/servers/bf3fe3fc-9/databases/5c4c7e32-271"; - _requests[2338] = new DefaultHttpContext(); - _requests[2338].RequestServices = CreateServices(); - _requests[2338].Request.Method = "GET"; - _requests[2338].Request.Path = "/subscriptions/3502194f-97fb-/resourceGroups/8949c640-f2b1-448/providers/Microsoft.DBforMySQL/servers/010b1fb8-5/firewallRules/523cc9c4-26fa-41"; - _requests[2339] = new DefaultHttpContext(); - _requests[2339].RequestServices = CreateServices(); - _requests[2339].Request.Method = "DELETE"; - _requests[2339].Request.Path = "/subscriptions/debef3a6-ff3a-/resourceGroups/a7ebc8bc-f1d2-4bd/providers/Microsoft.DBforMySQL/servers/6b5a465b-5/virtualNetworkRules/d47e6186-a52d-43e9-b74"; - _requests[2340] = new DefaultHttpContext(); - _requests[2340].RequestServices = CreateServices(); - _requests[2340].Request.Method = "GET"; - _requests[2340].Request.Path = "/subscriptions/eaf1324d-ab0a-/resourceGroups/179d7395-925b-4fe/providers/Microsoft.DBforPostgreSQL/servers/50246d31-3/configurations/88f80bf0-9d7a-4d0"; - _requests[2341] = new DefaultHttpContext(); - _requests[2341].RequestServices = CreateServices(); - _requests[2341].Request.Method = "GET"; - _requests[2341].Request.Path = "/subscriptions/d598c0ac-8cc8-/resourceGroups/c4c69cc2-b184-427/providers/Microsoft.DBforPostgreSQL/servers/02c91d6f-7/databases/ed881f37-74e"; - _requests[2342] = new DefaultHttpContext(); - _requests[2342].RequestServices = CreateServices(); - _requests[2342].Request.Method = "GET"; - _requests[2342].Request.Path = "/subscriptions/6d11c7a3-4673-/resourceGroups/a0223f60-8140-4da/providers/Microsoft.DBforPostgreSQL/servers/37412ca3-3/firewallRules/3816a724-8c13-4c"; - _requests[2343] = new DefaultHttpContext(); - _requests[2343].RequestServices = CreateServices(); - _requests[2343].Request.Method = "PUT"; - _requests[2343].Request.Path = "/subscriptions/b74d502f-a97d-/resourceGroups/b28ce222-7807-434/providers/Microsoft.DBforPostgreSQL/servers/a5670d28-4/securityAlertPolicies/d1b00995-2a63-40e2-a6d9"; - _requests[2344] = new DefaultHttpContext(); - _requests[2344].RequestServices = CreateServices(); - _requests[2344].Request.Method = "DELETE"; - _requests[2344].Request.Path = "/subscriptions/494f1ea3-c24e-/resourceGroups/73f25cd2-83b7-40a/providers/Microsoft.DBforPostgreSQL/servers/9c849adc-1/virtualNetworkRules/dda99a7d-e671-412b-aa8"; - _requests[2345] = new DefaultHttpContext(); - _requests[2345].RequestServices = CreateServices(); - _requests[2345].Request.Method = "DELETE"; - _requests[2345].Request.Path = "/subscriptions/b1c02d08-9def-/resourceGroups/83841cff-dee4-4ba/providers/Microsoft.Devices/IotHubs/26bdbc65-5b0/certificates/b3d498b9-6742-4"; - _requests[2346] = new DefaultHttpContext(); - _requests[2346].RequestServices = CreateServices(); - _requests[2346].Request.Method = "GET"; - _requests[2346].Request.Path = "/subscriptions/7457c15c-2b14-/resourceGroups/a6ede4f1-2b41-484/providers/Microsoft.Devices/IotHubs/530e5b9f-dae/jobs/f4cc0"; - _requests[2347] = new DefaultHttpContext(); - _requests[2347].RequestServices = CreateServices(); - _requests[2347].Request.Method = "DELETE"; - _requests[2347].Request.Path = "/subscriptions/76ae6866-7e72-/resourceGroups/f54a3785-5474-4a5/providers/Microsoft.Devices/provisioningServices/eab959b1-6efa-4019-9027/certificates/c0b7f489-eb6a-4"; - _requests[2348] = new DefaultHttpContext(); - _requests[2348].RequestServices = CreateServices(); - _requests[2348].Request.Method = "GET"; - _requests[2348].Request.Path = "/subscriptions/696a5d06-2409-/resourceGroups/485d993a-342f-44d/providers/Microsoft.Devices/provisioningServices/c5ff500a-ca0a-414c-810f/operationresults/1371ef18-d4"; - _requests[2349] = new DefaultHttpContext(); - _requests[2349].RequestServices = CreateServices(); - _requests[2349].Request.Method = "PATCH"; - _requests[2349].Request.Path = "/subscriptions/807fbcff-56fc-/resourceGroups/0871f49c-ad4b-466/providers/Microsoft.DevTestLab/labs/3d666e9/artifactsources/645fc"; - _requests[2350] = new DefaultHttpContext(); - _requests[2350].RequestServices = CreateServices(); - _requests[2350].Request.Method = "GET"; - _requests[2350].Request.Path = "/subscriptions/058c3244-38fd-/resourceGroups/7e01ad4c-c5af-48a/providers/Microsoft.DevTestLab/labs/4512648/costinsights/8eb34"; - _requests[2351] = new DefaultHttpContext(); - _requests[2351].RequestServices = CreateServices(); - _requests[2351].Request.Method = "PUT"; - _requests[2351].Request.Path = "/subscriptions/894dfac4-b69a-/resourceGroups/3caf0167-860c-486/providers/Microsoft.DevTestLab/labs/608bf5a/costs/d9a3c"; - _requests[2352] = new DefaultHttpContext(); - _requests[2352].RequestServices = CreateServices(); - _requests[2352].Request.Method = "DELETE"; - _requests[2352].Request.Path = "/subscriptions/02d2fa15-93db-/resourceGroups/bda5e6b2-133d-4f3/providers/Microsoft.DevTestLab/labs/4d1deca/customimages/753ec"; - _requests[2353] = new DefaultHttpContext(); - _requests[2353].RequestServices = CreateServices(); - _requests[2353].Request.Method = "DELETE"; - _requests[2353].Request.Path = "/subscriptions/a750b43d-643a-/resourceGroups/df6e59dc-8181-4e5/providers/Microsoft.DevTestLab/labs/2fffe53/formulas/1bf37"; - _requests[2354] = new DefaultHttpContext(); - _requests[2354].RequestServices = CreateServices(); - _requests[2354].Request.Method = "PATCH"; - _requests[2354].Request.Path = "/subscriptions/95c0fee0-92a3-/resourceGroups/8d6cfe97-75ca-4fb/providers/Microsoft.DevTestLab/labs/7258fd4/notificationchannels/fe0e0"; - _requests[2355] = new DefaultHttpContext(); - _requests[2355].RequestServices = CreateServices(); - _requests[2355].Request.Method = "PATCH"; - _requests[2355].Request.Path = "/subscriptions/723f41aa-984f-/resourceGroups/cb7afe59-bfa1-4bf/providers/Microsoft.DevTestLab/labs/87353c1/schedules/378d0"; - _requests[2356] = new DefaultHttpContext(); - _requests[2356].RequestServices = CreateServices(); - _requests[2356].Request.Method = "DELETE"; - _requests[2356].Request.Path = "/subscriptions/6b9ee367-e8b0-/resourceGroups/507f5688-393c-444/providers/Microsoft.DevTestLab/labs/d6fbada/servicerunners/6bf38"; - _requests[2357] = new DefaultHttpContext(); - _requests[2357].RequestServices = CreateServices(); - _requests[2357].Request.Method = "PATCH"; - _requests[2357].Request.Path = "/subscriptions/bb2f17af-8a24-/resourceGroups/27ff64e9-e53d-4d2/providers/Microsoft.DevTestLab/labs/dce0707/users/a9c74"; - _requests[2358] = new DefaultHttpContext(); - _requests[2358].RequestServices = CreateServices(); - _requests[2358].Request.Method = "PATCH"; - _requests[2358].Request.Path = "/subscriptions/93f9a48e-8ca1-/resourceGroups/c4347e9d-1108-4f9/providers/Microsoft.DevTestLab/labs/49fe762/virtualmachines/f664d"; - _requests[2359] = new DefaultHttpContext(); - _requests[2359].RequestServices = CreateServices(); - _requests[2359].Request.Method = "PATCH"; - _requests[2359].Request.Path = "/subscriptions/ccb72d11-ff53-/resourceGroups/e26fa2a9-8d17-4f5/providers/Microsoft.DevTestLab/labs/ef3c525/virtualnetworks/006a6"; - _requests[2360] = new DefaultHttpContext(); - _requests[2360].RequestServices = CreateServices(); - _requests[2360].Request.Method = "PATCH"; - _requests[2360].Request.Path = "/subscriptions/f3f9d5b7-5087-/resourceGroups/b61ee469-e0bd-4ae/providers/Microsoft.DomainRegistration/domains/c7751802-4/domainOwnershipIdentifiers/16098"; - _requests[2361] = new DefaultHttpContext(); - _requests[2361].RequestServices = CreateServices(); - _requests[2361].Request.Method = "GET"; - _requests[2361].Request.Path = "/subscriptions/3df2abb8-6fa8-/resourceGroups/3d9ad9c3-c6d4-44e/providers/Microsoft.DomainRegistration/domains/2050c7a8-e/operationresults/ae1ae908-8a"; - _requests[2362] = new DefaultHttpContext(); - _requests[2362].RequestServices = CreateServices(); - _requests[2362].Request.Method = "GET"; - _requests[2362].Request.Path = "/subscriptions/b6f4bb71-e069-/resourceGroups/a21a8972-bb22-45a/providers/Microsoft.EventHub/namespaces/9645d36a-02a6/AuthorizationRules/f2744b53-ae2c-4ab5-97"; - _requests[2363] = new DefaultHttpContext(); - _requests[2363].RequestServices = CreateServices(); - _requests[2363].Request.Method = "GET"; - _requests[2363].Request.Path = "/subscriptions/c0e0db28-8a61-/resourceGroups/f9b31486-b4a3-460/providers/Microsoft.EventHub/namespaces/70c7fc29-8a67/disasterRecoveryConfigs/b8eeb"; - _requests[2364] = new DefaultHttpContext(); - _requests[2364].RequestServices = CreateServices(); - _requests[2364].Request.Method = "GET"; - _requests[2364].Request.Path = "/subscriptions/62f02175-9947-/resourceGroups/e2e74e53-8a97-4c3/providers/Microsoft.EventHub/namespaces/0860ad1f-3220/eventhubs/5626a8df-8da"; - _requests[2365] = new DefaultHttpContext(); - _requests[2365].RequestServices = CreateServices(); - _requests[2365].Request.Method = "GET"; - _requests[2365].Request.Path = "/subscriptions/f6c0bd9f-0a6f-/resourceGroups/c8e6e615-a0b4-448/providers/Microsoft.Fabric.Admin/fabricLocations/1437c8bf/edgeGatewayPools/1006fe59-3dc1-4"; - _requests[2366] = new DefaultHttpContext(); - _requests[2366].RequestServices = CreateServices(); - _requests[2366].Request.Method = "GET"; - _requests[2366].Request.Path = "/subscriptions/2bb3f6fd-3bdd-/resourceGroups/389f62cf-5ca2-482/providers/Microsoft.Fabric.Admin/fabricLocations/64544a65/edgeGateways/bf9db153-de"; - _requests[2367] = new DefaultHttpContext(); - _requests[2367].RequestServices = CreateServices(); - _requests[2367].Request.Method = "GET"; - _requests[2367].Request.Path = "/subscriptions/a67703fb-5626-/resourceGroups/ec66b5c3-854d-469/providers/Microsoft.Fabric.Admin/fabricLocations/d58c000e/fileShares/3975ab81-"; - _requests[2368] = new DefaultHttpContext(); - _requests[2368].RequestServices = CreateServices(); - _requests[2368].Request.Method = "GET"; - _requests[2368].Request.Path = "/subscriptions/8c71f229-a5ce-/resourceGroups/21449182-ab2e-443/providers/Microsoft.Fabric.Admin/fabricLocations/8ab2eda3/infraRoleInstances/3f0e87d8-0418-468"; - _requests[2369] = new DefaultHttpContext(); - _requests[2369].RequestServices = CreateServices(); - _requests[2369].Request.Method = "GET"; - _requests[2369].Request.Path = "/subscriptions/0930992a-d0fd-/resourceGroups/bbc2f2d8-950f-495/providers/Microsoft.Fabric.Admin/fabricLocations/7ce28575/infraRoles/f018f649-"; - _requests[2370] = new DefaultHttpContext(); - _requests[2370].RequestServices = CreateServices(); - _requests[2370].Request.Method = "PUT"; - _requests[2370].Request.Path = "/subscriptions/251fefad-0350-/resourceGroups/c2f9c306-fff9-4b6/providers/Microsoft.Fabric.Admin/fabricLocations/86602410/ipPools/ce530c"; - _requests[2371] = new DefaultHttpContext(); - _requests[2371].RequestServices = CreateServices(); - _requests[2371].Request.Method = "GET"; - _requests[2371].Request.Path = "/subscriptions/caa0a1a0-437d-/resourceGroups/35f84b8f-e879-476/providers/Microsoft.Fabric.Admin/fabricLocations/abbcdc2f/logicalNetworks/1a531428-dd27-"; - _requests[2372] = new DefaultHttpContext(); - _requests[2372].RequestServices = CreateServices(); - _requests[2372].Request.Method = "GET"; - _requests[2372].Request.Path = "/subscriptions/9b92f784-4676-/resourceGroups/5e96e4e9-6ba3-416/providers/Microsoft.Fabric.Admin/fabricLocations/2b0841f6/macAddressPools/2adc2f42-d9dd-"; - _requests[2373] = new DefaultHttpContext(); - _requests[2373].RequestServices = CreateServices(); - _requests[2373].Request.Method = "GET"; - _requests[2373].Request.Path = "/subscriptions/58d15911-701c-/resourceGroups/88ea7c7d-cb30-4e7/providers/Microsoft.Fabric.Admin/fabricLocations/2054e7c5/scaleUnitNodes/7c78a792-e014"; - _requests[2374] = new DefaultHttpContext(); - _requests[2374].RequestServices = CreateServices(); - _requests[2374].Request.Method = "GET"; - _requests[2374].Request.Path = "/subscriptions/e4b39e80-6852-/resourceGroups/b13387e1-0676-440/providers/Microsoft.Fabric.Admin/fabricLocations/8f0724ed/scaleUnits/6eea35eb-"; - _requests[2375] = new DefaultHttpContext(); - _requests[2375].RequestServices = CreateServices(); - _requests[2375].Request.Method = "GET"; - _requests[2375].Request.Path = "/subscriptions/f386e5de-66ae-/resourceGroups/17750981-5ba2-429/providers/Microsoft.Fabric.Admin/fabricLocations/38dae645/slbMuxInstances/cc375262-0ea7-"; - _requests[2376] = new DefaultHttpContext(); - _requests[2376].RequestServices = CreateServices(); - _requests[2376].Request.Method = "GET"; - _requests[2376].Request.Path = "/subscriptions/dd4a181d-15dd-/resourceGroups/7960e2f4-aacc-431/providers/Microsoft.Fabric.Admin/fabricLocations/a71109c6/storageSubSystems/47c86e85-a089-45"; - _requests[2377] = new DefaultHttpContext(); - _requests[2377].RequestServices = CreateServices(); - _requests[2377].Request.Method = "DELETE"; - _requests[2377].Request.Path = "/subscriptions/120acf8b-81f7-/resourceGroups/0a288bfb-ef88-451/providers/Microsoft.HDInsight/clusters/9f7c3914-6e/applications/b7663aa4-9c64-4"; - _requests[2378] = new DefaultHttpContext(); - _requests[2378].RequestServices = CreateServices(); - _requests[2378].Request.Method = "GET"; - _requests[2378].Request.Path = "/subscriptions/639fbb23-b3ec-/resourceGroups/f54178c0-3472-499/providers/Microsoft.HDInsight/clusters/88a67d80-83/configurations/483a0e56-548d-4dd"; - _requests[2379] = new DefaultHttpContext(); - _requests[2379].RequestServices = CreateServices(); - _requests[2379].Request.Method = "DELETE"; - _requests[2379].Request.Path = "/subscriptions/0d8960be-a94c-/resourceGroups/8bd9db9c-cfbe-490/providers/Microsoft.HDInsight/clusters/bf01fea5-8b/extensions/4eaadbf4-3f53"; - _requests[2380] = new DefaultHttpContext(); - _requests[2380].RequestServices = CreateServices(); - _requests[2380].Request.Method = "DELETE"; - _requests[2380].Request.Path = "/subscriptions/4b922402-3f63-/resourceGroups/55224718-0ea8-47e/providers/Microsoft.HDInsight/clusters/84810593-2e/scriptActions/25198bec-5"; - _requests[2381] = new DefaultHttpContext(); - _requests[2381].RequestServices = CreateServices(); - _requests[2381].Request.Method = "GET"; - _requests[2381].Request.Path = "/subscriptions/ef80fa7b-efb5-/resourceGroups/35b3a32f-bdd3-4f8/providers/Microsoft.HDInsight/clusters/f1592e4d-dc/scriptExecutionHistory/c787afc3-b2d7-47d"; - _requests[2382] = new DefaultHttpContext(); - _requests[2382].RequestServices = CreateServices(); - _requests[2382].Request.Method = "PUT"; - _requests[2382].Request.Path = "/subscriptions/6c7253ed-a253-/resourceGroups/8a801c33-e80c-4a5/providers/Microsoft.InfrastructureInsights.Admin/regionHealths/06baf012/alerts/6d9c1f11-"; - _requests[2383] = new DefaultHttpContext(); - _requests[2383].RequestServices = CreateServices(); - _requests[2383].Request.Method = "GET"; - _requests[2383].Request.Path = "/subscriptions/1d367374-c854-/resourceGroups/ff2d8ad1-e4ec-465/providers/Microsoft.InfrastructureInsights.Admin/regionHealths/be118d73/serviceHealths/397c7c7e-8e23"; - _requests[2384] = new DefaultHttpContext(); - _requests[2384].RequestServices = CreateServices(); - _requests[2384].Request.Method = "GET"; - _requests[2384].Request.Path = "/subscriptions/55da9520-6e8d-/resourcegroups/ddc2bca6-b314-446/providers/microsoft.insights/alertrules/73b4d527/incidents/5c2a00c1-62d"; - _requests[2385] = new DefaultHttpContext(); - _requests[2385].RequestServices = CreateServices(); - _requests[2385].Request.Method = "GET"; - _requests[2385].Request.Path = "/subscriptions/1636bbfc-710c-/resourceGroups/4db2f040-081e-4d3/providers/Microsoft.Insights/components/50adede6-622/Annotations/8574cae1-1bb"; - _requests[2386] = new DefaultHttpContext(); - _requests[2386].RequestServices = CreateServices(); - _requests[2386].Request.Method = "GET"; - _requests[2386].Request.Path = "/subscriptions/7a90fe57-6701-/resourceGroups/900866df-27eb-4d2/providers/Microsoft.Insights/components/828b7837-020/APIKeys/d9201"; - _requests[2387] = new DefaultHttpContext(); - _requests[2387].RequestServices = CreateServices(); - _requests[2387].Request.Method = "PUT"; - _requests[2387].Request.Path = "/subscriptions/2732dbbf-ead3-/resourceGroups/ef5bbe1c-9987-4fc/providers/Microsoft.Insights/components/8d3541a7-ab8/exportconfiguration/b6240d45"; - _requests[2388] = new DefaultHttpContext(); - _requests[2388].RequestServices = CreateServices(); - _requests[2388].Request.Method = "DELETE"; - _requests[2388].Request.Path = "/subscriptions/c228f55c-4fbe-/resourceGroups/84e9a126-f85d-4f7/providers/Microsoft.Insights/components/603241d2-b1f/favorites/9cad034f-b"; - _requests[2389] = new DefaultHttpContext(); - _requests[2389].RequestServices = CreateServices(); - _requests[2389].Request.Method = "PUT"; - _requests[2389].Request.Path = "/subscriptions/5ec56181-6472-/resourceGroups/f710bfd2-f403-47e/providers/Microsoft.Insights/components/8a265f1d-8f5/ProactiveDetectionConfigs/8ec2d32d-160a-4"; - _requests[2390] = new DefaultHttpContext(); - _requests[2390].RequestServices = CreateServices(); - _requests[2390].Request.Method = "DELETE"; - _requests[2390].Request.Path = "/subscriptions/1d32a7ca-b2cd-/resourceGroups/853abcfd-de8e-4ff/providers/Microsoft.Insights/components/cf33bc0a-0d7/WorkItemConfigs/1ff990f7-0325-44"; - _requests[2391] = new DefaultHttpContext(); - _requests[2391].RequestServices = CreateServices(); - _requests[2391].Request.Method = "GET"; - _requests[2391].Request.Path = "/subscriptions/75e97d55-f531-/resourceGroups/4a5218e9-788c-467/providers/Microsoft.Insights/metricAlerts/e9ab9b38/status/df1940d4-4"; - _requests[2392] = new DefaultHttpContext(); - _requests[2392].RequestServices = CreateServices(); - _requests[2392].Request.Method = "PUT"; - _requests[2392].Request.Path = "/subscriptions/8acf5ef1-31e2-/resourceGroups/d8dfe619-7c92-4bd/providers/Microsoft.KeyVault/vaults/6f1ce4a0-/accessPolicies/514791c0-374c"; - _requests[2393] = new DefaultHttpContext(); - _requests[2393].RequestServices = CreateServices(); - _requests[2393].Request.Method = "GET"; - _requests[2393].Request.Path = "/subscriptions/d5965057-ec25-/resourceGroups/a41b5f98-b1ad-48d/providers/Microsoft.KeyVault/vaults/8f5bb811-/secrets/287c19c8-2"; - _requests[2394] = new DefaultHttpContext(); - _requests[2394].RequestServices = CreateServices(); - _requests[2394].Request.Method = "DELETE"; - _requests[2394].Request.Path = "/subscriptions/38941204-0408-/resourceGroups/a0350016-a579-455/providers/Microsoft.Logic/integrationAccounts/64e1d6e5-8031-430a-ac1/agreements/c4845088-60eb"; - _requests[2395] = new DefaultHttpContext(); - _requests[2395].RequestServices = CreateServices(); - _requests[2395].Request.Method = "DELETE"; - _requests[2395].Request.Path = "/subscriptions/1d9be18b-7b53-/resourceGroups/e78f2732-63fa-459/providers/Microsoft.Logic/integrationAccounts/eb39e4da-9176-4d77-89c/assemblies/61a06cbc-28cb-4a92-b"; - _requests[2396] = new DefaultHttpContext(); - _requests[2396].RequestServices = CreateServices(); - _requests[2396].Request.Method = "DELETE"; - _requests[2396].Request.Path = "/subscriptions/d80757d6-7ba8-/resourceGroups/18f70cff-3e9c-42f/providers/Microsoft.Logic/integrationAccounts/535a0795-ef33-493f-bff/batchConfigurations/5f0f722b-0aac-40e4-99a"; - _requests[2397] = new DefaultHttpContext(); - _requests[2397].RequestServices = CreateServices(); - _requests[2397].Request.Method = "DELETE"; - _requests[2397].Request.Path = "/subscriptions/51111330-eaa7-/resourceGroups/ed33b2f1-c1ca-4ec/providers/Microsoft.Logic/integrationAccounts/6bfdefc0-efc7-4f11-a6b/certificates/1c83f70b-f5c9-4"; - _requests[2398] = new DefaultHttpContext(); - _requests[2398].RequestServices = CreateServices(); - _requests[2398].Request.Method = "DELETE"; - _requests[2398].Request.Path = "/subscriptions/b3a30350-8473-/resourceGroups/e1afd431-905d-47d/providers/Microsoft.Logic/integrationAccounts/8b10236b-9af7-4790-af5/maps/43bee1f"; - _requests[2399] = new DefaultHttpContext(); - _requests[2399].RequestServices = CreateServices(); - _requests[2399].Request.Method = "DELETE"; - _requests[2399].Request.Path = "/subscriptions/1b5e085c-0b07-/resourceGroups/ed7b5a7c-1855-476/providers/Microsoft.Logic/integrationAccounts/266a93ef-a061-4c98-a53/partners/64c08541-94"; - _requests[2400] = new DefaultHttpContext(); - _requests[2400].RequestServices = CreateServices(); - _requests[2400].Request.Method = "DELETE"; - _requests[2400].Request.Path = "/subscriptions/8d606594-0a4d-/resourceGroups/b0738ce5-5f80-4a1/providers/Microsoft.Logic/integrationAccounts/19d08eb1-1dbc-4f78-829/schemas/a36bbe25-d"; - _requests[2401] = new DefaultHttpContext(); - _requests[2401].RequestServices = CreateServices(); - _requests[2401].Request.Method = "DELETE"; - _requests[2401].Request.Path = "/subscriptions/3c570952-c35f-/resourceGroups/9db66adf-44c4-4a2/providers/Microsoft.Logic/integrationAccounts/84842a10-a559-44e5-9af/sessions/9917abc1-24"; - _requests[2402] = new DefaultHttpContext(); - _requests[2402].RequestServices = CreateServices(); - _requests[2402].Request.Method = "DELETE"; - _requests[2402].Request.Path = "/subscriptions/487d3785-f42d-/resourceGroups/72841226-d225-4b4/providers/Microsoft.Logic/workflows/84009e97-90d/accessKeys/9625e88a-5e1a"; - _requests[2403] = new DefaultHttpContext(); - _requests[2403].RequestServices = CreateServices(); - _requests[2403].Request.Method = "GET"; - _requests[2403].Request.Path = "/subscriptions/e80930a0-d1c8-/resourceGroups/65dba194-6858-4e2/providers/Microsoft.Logic/workflows/b0704056-ca6/runs/5fef1f6"; - _requests[2404] = new DefaultHttpContext(); - _requests[2404].RequestServices = CreateServices(); - _requests[2404].Request.Method = "GET"; - _requests[2404].Request.Path = "/subscriptions/f63694ef-c74a-/resourceGroups/79d62b98-7797-476/providers/Microsoft.Logic/workflows/d91c98e2-fea/triggers/76e3c8d8-dc"; - _requests[2405] = new DefaultHttpContext(); - _requests[2405].RequestServices = CreateServices(); - _requests[2405].Request.Method = "GET"; - _requests[2405].Request.Path = "/subscriptions/015779f6-a103-/resourceGroups/f3e29dfe-71d9-44e/providers/Microsoft.Logic/workflows/21512f37-036/versions/94972ae5-"; - _requests[2406] = new DefaultHttpContext(); - _requests[2406].RequestServices = CreateServices(); - _requests[2406].Request.Method = "GET"; - _requests[2406].Request.Path = "/subscriptions/f329c920-1786-/resourceGroups/03d74d5c-7eaf-4ac/providers/Microsoft.MachineLearning/commitmentPlans/6bc278d2-d397-41c2/commitmentAssociations/4f1cf150-ab6e-4a82-9a19-8"; - _requests[2407] = new DefaultHttpContext(); - _requests[2407].RequestServices = CreateServices(); - _requests[2407].Request.Method = "PATCH"; - _requests[2407].Request.Path = "/subscriptions/9c7692ff-2a96-/resourceGroups/6386846a-a34c-473/providers/Microsoft.MachineLearningExperimentation/accounts/3791db73-f8/workspaces/e7c0fd88-68e1"; - _requests[2408] = new DefaultHttpContext(); - _requests[2408].RequestServices = CreateServices(); - _requests[2408].Request.Method = "PATCH"; - _requests[2408].Request.Path = "/subscriptions/57b16930-aeca-/resourceGroups/103c373d-be61-4e6/providers/Microsoft.Media/mediaServices/3b2f3dfe-7e/assets/df07d31e-"; - _requests[2409] = new DefaultHttpContext(); - _requests[2409].RequestServices = CreateServices(); - _requests[2409].Request.Method = "PATCH"; - _requests[2409].Request.Path = "/subscriptions/b4d18cef-dac9-/resourceGroups/88b91f25-0c58-45e/providers/Microsoft.Media/mediaServices/c3a84410-da/contentKeyPolicies/e816bd56-fe64-4624-8"; - _requests[2410] = new DefaultHttpContext(); - _requests[2410].RequestServices = CreateServices(); - _requests[2410].Request.Method = "DELETE"; - _requests[2410].Request.Path = "/subscriptions/f1796375-219f-/resourceGroups/d7c2d566-3786-46a/providers/Microsoft.Media/mediaservices/438e1e61-d8/liveEvents/18847797-060d"; - _requests[2411] = new DefaultHttpContext(); - _requests[2411].RequestServices = CreateServices(); - _requests[2411].Request.Method = "DELETE"; - _requests[2411].Request.Path = "/subscriptions/dd0c934a-5f49-/resourceGroups/5287c131-f6e7-4c3/providers/Microsoft.Media/mediaservices/c8a8602a-fd/streamingEndpoints/e51945a4-e6c6-481f-aa"; - _requests[2412] = new DefaultHttpContext(); - _requests[2412].RequestServices = CreateServices(); - _requests[2412].Request.Method = "DELETE"; - _requests[2412].Request.Path = "/subscriptions/a5c6b258-2c2e-/resourceGroups/1b41fa59-c1e7-409/providers/Microsoft.Media/mediaServices/5397d0c5-40/streamingLocators/bc25354a-c891-437d-b"; - _requests[2413] = new DefaultHttpContext(); - _requests[2413].RequestServices = CreateServices(); - _requests[2413].Request.Method = "DELETE"; - _requests[2413].Request.Path = "/subscriptions/e4d8f6a4-140f-/resourceGroups/2292d3f7-e7a7-44a/providers/Microsoft.Media/mediaServices/3c1b90df-f4/streamingPolicies/6dbeb69b-275d-4421-"; - _requests[2414] = new DefaultHttpContext(); - _requests[2414].RequestServices = CreateServices(); - _requests[2414].Request.Method = "PATCH"; - _requests[2414].Request.Path = "/subscriptions/c5dbf00a-dd6d-/resourceGroups/bfda12bc-7969-426/providers/Microsoft.Media/mediaServices/dc650ac2-2a/transforms/8044e67c-6ae9"; - _requests[2415] = new DefaultHttpContext(); - _requests[2415].RequestServices = CreateServices(); - _requests[2415].Request.Method = "DELETE"; - _requests[2415].Request.Path = "/subscriptions/ef47a39b-1c4b-/resourceGroups/64c370c0-0a2c-400/providers/Microsoft.Migrate/projects/1bfb03ba-b1/groups/62c43570-"; - _requests[2416] = new DefaultHttpContext(); - _requests[2416].RequestServices = CreateServices(); - _requests[2416].Request.Method = "GET"; - _requests[2416].Request.Path = "/subscriptions/774a04cf-e6e6-/resourceGroups/c75a7454-093c-4e7/providers/Microsoft.Migrate/projects/52c59666-36/machines/16a7d78b-1a"; - _requests[2417] = new DefaultHttpContext(); - _requests[2417].RequestServices = CreateServices(); - _requests[2417].Request.Method = "PUT"; - _requests[2417].Request.Path = "/subscriptions/2e20acfc-5cd5-/resourceGroups/25f75c93-706b-445/providers/Microsoft.Network/expressRouteCircuits/26f5eef2-75/authorizations/8e78000e-c3d0-4c7"; - _requests[2418] = new DefaultHttpContext(); - _requests[2418].RequestServices = CreateServices(); - _requests[2418].Request.Method = "PUT"; - _requests[2418].Request.Path = "/subscriptions/3b16f5ef-dd47-/resourceGroups/2f777f94-1728-46e/providers/Microsoft.Network/expressRouteCircuits/cdefeb93-5a/peerings/bc9ad17e-8f"; - _requests[2419] = new DefaultHttpContext(); - _requests[2419].RequestServices = CreateServices(); - _requests[2419].Request.Method = "PUT"; - _requests[2419].Request.Path = "/subscriptions/8f061b10-df89-/resourceGroups/bb17f0d4-e629-453/providers/Microsoft.Network/expressRouteCrossConnections/c5e3d82c-4263-4920-/peerings/0c5d1c91-e0"; - _requests[2420] = new DefaultHttpContext(); - _requests[2420].RequestServices = CreateServices(); - _requests[2420].Request.Method = "GET"; - _requests[2420].Request.Path = "/subscriptions/4619e9ac-1bc6-/resourceGroups/16431962-2b93-438/providers/Microsoft.Network/loadBalancers/9d14c951-836b-4b/backendAddressPools/3876deb6-5bd9-4121-812"; - _requests[2421] = new DefaultHttpContext(); - _requests[2421].RequestServices = CreateServices(); - _requests[2421].Request.Method = "GET"; - _requests[2421].Request.Path = "/subscriptions/6991fc6c-cb9c-/resourceGroups/b00fbbb6-b80a-4fb/providers/Microsoft.Network/loadBalancers/d803cbd0-6674-43/frontendIPConfigurations/5d18df29-43f4-451e-9001-b27"; - _requests[2422] = new DefaultHttpContext(); - _requests[2422].RequestServices = CreateServices(); - _requests[2422].Request.Method = "PUT"; - _requests[2422].Request.Path = "/subscriptions/e90c890b-2985-/resourceGroups/938ea0dc-651d-4d3/providers/Microsoft.Network/loadBalancers/534f812d-74d8-4e/inboundNatRules/61756ab6-0cfc-425e"; - _requests[2423] = new DefaultHttpContext(); - _requests[2423].RequestServices = CreateServices(); - _requests[2423].Request.Method = "GET"; - _requests[2423].Request.Path = "/subscriptions/f1fd6063-302d-/resourceGroups/515b82eb-ce9f-4f9/providers/Microsoft.Network/loadBalancers/6a281b7b-065b-44/loadBalancingRules/2067d23b-7674-484e-8e"; - _requests[2424] = new DefaultHttpContext(); - _requests[2424].RequestServices = CreateServices(); - _requests[2424].Request.Method = "GET"; - _requests[2424].Request.Path = "/subscriptions/665cfb71-4c28-/resourceGroups/c3256318-d1f0-478/providers/Microsoft.Network/loadBalancers/ee122adf-a4cb-4b/probes/e746b0b2-"; - _requests[2425] = new DefaultHttpContext(); - _requests[2425].RequestServices = CreateServices(); - _requests[2425].Request.Method = "GET"; - _requests[2425].Request.Path = "/subscriptions/1dbfd908-4171-/resourceGroups/a13d3ee9-8877-415/providers/Microsoft.Network/networkInterfaces/3ef4b4f1-6a66-4759-8/ipConfigurations/7f8bb67c-cce3-40a8-"; - _requests[2426] = new DefaultHttpContext(); - _requests[2426].RequestServices = CreateServices(); - _requests[2426].Request.Method = "GET"; - _requests[2426].Request.Path = "/subscriptions/350e2eea-764d-/resourceGroups/eeca171b-8418-4af/providers/Microsoft.Network/networkSecurityGroups/e0febdc5-4a14-46f0-a820-/defaultSecurityRules/d87a2180-8f77-4a1f-af38"; - _requests[2427] = new DefaultHttpContext(); - _requests[2427].RequestServices = CreateServices(); - _requests[2427].Request.Method = "PUT"; - _requests[2427].Request.Path = "/subscriptions/44e9fe8c-d566-/resourceGroups/141e96af-e088-472/providers/Microsoft.Network/networkSecurityGroups/f009ea65-af5b-4cea-be8b-/securityRules/dd29fe1b-2f46-44"; - _requests[2428] = new DefaultHttpContext(); - _requests[2428].RequestServices = CreateServices(); - _requests[2428].Request.Method = "DELETE"; - _requests[2428].Request.Path = "/subscriptions/56359f0b-a113-/resourceGroups/c49bd5ea-a45c-493/providers/Microsoft.Network/networkWatchers/efe43df9-7b65-4368/connectionMonitors/17c8edbf-3e8d-4182-a1"; - _requests[2429] = new DefaultHttpContext(); - _requests[2429].RequestServices = CreateServices(); - _requests[2429].Request.Method = "DELETE"; - _requests[2429].Request.Path = "/subscriptions/aad5e6ed-3cd4-/resourceGroups/faf9af3a-9042-408/providers/Microsoft.Network/networkWatchers/31df7f48-634b-4dd6/packetCaptures/361253df-4626-439"; - _requests[2430] = new DefaultHttpContext(); - _requests[2430].RequestServices = CreateServices(); - _requests[2430].Request.Method = "PATCH"; - _requests[2430].Request.Path = "/subscriptions/8a7042ab-720d-/resourceGroups/399b98d3-566f-404/providers/Microsoft.Network/routeFilters/607b4ae2-bfb0-4/routeFilterRules/747a8763"; - _requests[2431] = new DefaultHttpContext(); - _requests[2431].RequestServices = CreateServices(); - _requests[2431].Request.Method = "PUT"; - _requests[2431].Request.Path = "/subscriptions/a91b6a6c-f03d-/resourceGroups/7aac77d3-567b-4dc/providers/Microsoft.Network/routeTables/fa49c3d5-80df-/routes/06720a12-"; - _requests[2432] = new DefaultHttpContext(); - _requests[2432].RequestServices = CreateServices(); - _requests[2432].Request.Method = "GET"; - _requests[2432].Request.Path = "/subscriptions/91745a72-6bec-/resourceGroups/88257be2-e83e-4cc/providers/Microsoft.Network/trafficmanagerprofiles/11767a43-20/heatMaps/ff24d473-c6"; - _requests[2433] = new DefaultHttpContext(); - _requests[2433].RequestServices = CreateServices(); - _requests[2433].Request.Method = "PUT"; - _requests[2433].Request.Path = "/subscriptions/a2286fd5-887c-/resourceGroups/1f1e85d5-12f8-491/providers/Microsoft.Network/virtualNetworks/0fd5dd69-8db2-4eae/subnets/37da8a14-5"; - _requests[2434] = new DefaultHttpContext(); - _requests[2434].RequestServices = CreateServices(); - _requests[2434].Request.Method = "PUT"; - _requests[2434].Request.Path = "/subscriptions/7e185384-b72b-/resourceGroups/eade2ab7-cbc8-484/providers/Microsoft.Network/virtualNetworks/8de643e8-cefb-472e/virtualNetworkPeerings/5d679b6e-1657-45c9-b85e-5"; - _requests[2435] = new DefaultHttpContext(); - _requests[2435].RequestServices = CreateServices(); - _requests[2435].Request.Method = "GET"; - _requests[2435].Request.Path = "/subscriptions/53efdcad-8ba1-/resourceGroups/eac48ca3-e0da-477/providers/Microsoft.NotificationHubs/namespaces/5e8b48cb-d56a/AuthorizationRules/77aa2d94-c8cc-40c2-a1"; - _requests[2436] = new DefaultHttpContext(); - _requests[2436].RequestServices = CreateServices(); - _requests[2436].Request.Method = "GET"; - _requests[2436].Request.Path = "/subscriptions/9386548b-20aa-/resourceGroups/d9d60111-9bb6-4be/providers/Microsoft.NotificationHubs/namespaces/cb5a7684-ff3d/notificationHubs/127e7c94-4bad-4108-"; - _requests[2437] = new DefaultHttpContext(); - _requests[2437].RequestServices = CreateServices(); - _requests[2437].Request.Method = "GET"; - _requests[2437].Request.Path = "/subscriptions/0a09ce83-9a54-/resourcegroups/9ae2124f-e7ca-463/providers/Microsoft.OperationalInsights/workspaces/c971341d-902f/dataSources/983f939c-b3c2-"; - _requests[2438] = new DefaultHttpContext(); - _requests[2438].RequestServices = CreateServices(); - _requests[2438].Request.Method = "GET"; - _requests[2438].Request.Path = "/subscriptions/739e20b4-3a13-/resourcegroups/7accf356-1e46-45d/providers/Microsoft.OperationalInsights/workspaces/4ea2ad6a-fe66/linkedServices/690d2573-cbe1-493"; - _requests[2439] = new DefaultHttpContext(); - _requests[2439].RequestServices = CreateServices(); - _requests[2439].Request.Method = "GET"; - _requests[2439].Request.Path = "/subscriptions/96a452a9-d2c7-/resourcegroups/99c75739-0764-403/providers/Microsoft.OperationalInsights/workspaces/4c5cb484-059c/savedSearches/eb6679eb-2be0-4"; - _requests[2440] = new DefaultHttpContext(); - _requests[2440].RequestServices = CreateServices(); - _requests[2440].Request.Method = "POST"; - _requests[2440].Request.Path = "/subscriptions/2ad94015-a0be-/resourcegroups/e976b412-9342-4a2/providers/Microsoft.OperationalInsights/workspaces/debecc9f-005d/search/a299b"; - _requests[2441] = new DefaultHttpContext(); - _requests[2441].RequestServices = CreateServices(); - _requests[2441].Request.Method = "DELETE"; - _requests[2441].Request.Path = "/subscriptions/1da643d4-e99d-/resourcegroups/5d1c09bc-65b5-49e/providers/Microsoft.OperationalInsights/workspaces/c46f4506-917e/storageInsightConfigs/a87f823d-0f65-4e43"; - _requests[2442] = new DefaultHttpContext(); - _requests[2442].RequestServices = CreateServices(); - _requests[2442].Request.Method = "PUT"; - _requests[2442].Request.Path = "/Subscriptions/6f7e1fbb-6919-/resourceGroups/4e6e061a-03eb-4a2/providers/Microsoft.RecoveryServices/vaults/a584c66d-cfc/replicationAlertSettings/e25663c0-a78d-4d"; - _requests[2443] = new DefaultHttpContext(); - _requests[2443].RequestServices = CreateServices(); - _requests[2443].Request.Method = "GET"; - _requests[2443].Request.Path = "/Subscriptions/66de8c14-4e19-/resourceGroups/ceb8b99c-24a3-41a/providers/Microsoft.RecoveryServices/vaults/be019a9d-949/replicationEvents/49be487a-"; - _requests[2444] = new DefaultHttpContext(); - _requests[2444].RequestServices = CreateServices(); - _requests[2444].Request.Method = "DELETE"; - _requests[2444].Request.Path = "/Subscriptions/19971825-e100-/resourceGroups/af8b0d75-ac27-436/providers/Microsoft.RecoveryServices/vaults/42b6418a-7d1/replicationFabrics/cd00e3bf-3"; - _requests[2445] = new DefaultHttpContext(); - _requests[2445].RequestServices = CreateServices(); - _requests[2445].Request.Method = "GET"; - _requests[2445].Request.Path = "/Subscriptions/1b2ce57e-9c46-/resourceGroups/fed4fed8-9f6f-4f5/providers/Microsoft.RecoveryServices/vaults/dd7a4489-fce/replicationJobs/cc47357"; - _requests[2446] = new DefaultHttpContext(); - _requests[2446].RequestServices = CreateServices(); - _requests[2446].Request.Method = "PATCH"; - _requests[2446].Request.Path = "/Subscriptions/76b98120-f344-/resourceGroups/a147e19b-aa56-469/providers/Microsoft.RecoveryServices/vaults/349d54fb-43e/replicationPolicies/0288510b-7"; - _requests[2447] = new DefaultHttpContext(); - _requests[2447].RequestServices = CreateServices(); - _requests[2447].Request.Method = "PATCH"; - _requests[2447].Request.Path = "/Subscriptions/91f0fee1-9343-/resourceGroups/94948d61-68df-45c/providers/Microsoft.RecoveryServices/vaults/d6edceb9-edb/replicationRecoveryPlans/f00792c7-711e-40"; - _requests[2448] = new DefaultHttpContext(); - _requests[2448].RequestServices = CreateServices(); - _requests[2448].Request.Method = "GET"; - _requests[2448].Request.Path = "/Subscriptions/8da1450d-ee50-/resourceGroups/8d2eec9c-591f-42f/providers/Microsoft.RecoveryServices/vaults/bf2adf8a-/backupEngines/a0a7e821-286d-4c"; - _requests[2449] = new DefaultHttpContext(); - _requests[2449].RequestServices = CreateServices(); - _requests[2449].Request.Method = "GET"; - _requests[2449].Request.Path = "/Subscriptions/0e35bbb4-f13f-/resourceGroups/51ccdd95-3863-4d3/providers/Microsoft.RecoveryServices/vaults/50f6040f-/backupJobs/d45e0b8"; - _requests[2450] = new DefaultHttpContext(); - _requests[2450].RequestServices = CreateServices(); - _requests[2450].Request.Method = "GET"; - _requests[2450].Request.Path = "/Subscriptions/aa1c2e64-e4ef-/resourceGroups/0a363f73-eb3e-4a7/providers/Microsoft.RecoveryServices/vaults/6ffd6d8e-/backupOperationResults/4649c314-d7"; - _requests[2451] = new DefaultHttpContext(); - _requests[2451].RequestServices = CreateServices(); - _requests[2451].Request.Method = "GET"; - _requests[2451].Request.Path = "/Subscriptions/1e9e37b0-10c0-/resourceGroups/be43e211-b602-4ff/providers/Microsoft.RecoveryServices/vaults/e1d12fca-/backupOperations/6de4d5c4-74"; - _requests[2452] = new DefaultHttpContext(); - _requests[2452].RequestServices = CreateServices(); - _requests[2452].Request.Method = "DELETE"; - _requests[2452].Request.Path = "/Subscriptions/6a886af5-c60b-/resourceGroups/d074c0e3-096a-402/providers/Microsoft.RecoveryServices/vaults/9f981c9b-/backupPolicies/4b05acf8-2"; - _requests[2453] = new DefaultHttpContext(); - _requests[2453].RequestServices = CreateServices(); - _requests[2453].Request.Method = "PUT"; - _requests[2453].Request.Path = "/Subscriptions/02c223ac-901d-/resourceGroups/aacf7736-97e8-488/providers/Microsoft.RecoveryServices/vaults/b8b61806-/certificates/a950825d-f967-4"; - _requests[2454] = new DefaultHttpContext(); - _requests[2454].RequestServices = CreateServices(); - _requests[2454].Request.Method = "DELETE"; - _requests[2454].Request.Path = "/subscriptions/2c42a1a2-3502-/resourceGroups/16da4343-6b62-486/providers/Microsoft.RecoveryServices/vaults/3a2ff201-/registeredIdentities/15439a05-184"; - _requests[2455] = new DefaultHttpContext(); - _requests[2455].RequestServices = CreateServices(); - _requests[2455].Request.Method = "GET"; - _requests[2455].Request.Path = "/subscriptions/1a9873ea-7ae6-/resourceGroups/e61c8253-a076-4f0/providers/Microsoft.Relay/namespaces/49536cc6-b5e7/authorizationRules/6f41ef79-0985-42de-b6"; - _requests[2456] = new DefaultHttpContext(); - _requests[2456].RequestServices = CreateServices(); - _requests[2456].Request.Method = "GET"; - _requests[2456].Request.Path = "/subscriptions/62f3d436-b6c0-/resourceGroups/2af25ecc-c8f6-4b5/providers/Microsoft.Relay/namespaces/ef80ccb9-9ea8/hybridConnections/4a447fec-401e-4165-9"; - _requests[2457] = new DefaultHttpContext(); - _requests[2457].RequestServices = CreateServices(); - _requests[2457].Request.Method = "GET"; - _requests[2457].Request.Path = "/subscriptions/11beaeb4-f899-/resourceGroups/b4543eda-808d-4a5/providers/Microsoft.Relay/namespaces/d2953da7-feb1/wcfRelays/db671ccd-"; - _requests[2458] = new DefaultHttpContext(); - _requests[2458].RequestServices = CreateServices(); - _requests[2458].Request.Method = "DELETE"; - _requests[2458].Request.Path = "/subscriptions/74d576c8-cba6-/resourceGroups/9b28bde1-9896-49d/providers/Microsoft.Scheduler/jobCollections/2c8a53e1-aa42-49a/jobs/80cef5f"; - _requests[2459] = new DefaultHttpContext(); - _requests[2459].RequestServices = CreateServices(); - _requests[2459].Request.Method = "POST"; - _requests[2459].Request.Path = "/subscriptions/1d994ecf-6d3b-/resourceGroups/485fd85e-d4fd-47c/providers/Microsoft.Search/searchServices/9434380b-d27f-45e/createQueryKey/a22ec"; - _requests[2460] = new DefaultHttpContext(); - _requests[2460].RequestServices = CreateServices(); - _requests[2460].Request.Method = "DELETE"; - _requests[2460].Request.Path = "/subscriptions/2f136d1a-cf2b-/resourceGroups/02fb06bb-57a2-406/providers/Microsoft.Search/searchServices/bcc2c7d8-2440-4c4/deleteQueryKey/991cc"; - _requests[2461] = new DefaultHttpContext(); - _requests[2461].RequestServices = CreateServices(); - _requests[2461].Request.Method = "POST"; - _requests[2461].Request.Path = "/subscriptions/c318f934-6474-/resourceGroups/901b5d5a-509b-4ed/providers/Microsoft.Search/searchServices/96de22f1-aee2-46b/regenerateAdminKey/6a0c9e6"; - _requests[2462] = new DefaultHttpContext(); - _requests[2462].RequestServices = CreateServices(); - _requests[2462].Request.Method = "GET"; - _requests[2462].Request.Path = "/subscriptions/21107930-bc05-/resourceGroups/47d77ee2-49ee-447/providers/Microsoft.Security/locations/25c8cebb-32/alerts/b51b2e02-"; - _requests[2463] = new DefaultHttpContext(); - _requests[2463].RequestServices = CreateServices(); - _requests[2463].Request.Method = "GET"; - _requests[2463].Request.Path = "/subscriptions/458030dc-5188-/resourceGroups/d154bdd7-1cb0-4e4/providers/Microsoft.Security/locations/0b21856c-43/discoveredSecuritySolutions/5721aa2f-fdcb-4d43-bb92-1bcd04"; - _requests[2464] = new DefaultHttpContext(); - _requests[2464].RequestServices = CreateServices(); - _requests[2464].Request.Method = "GET"; - _requests[2464].Request.Path = "/subscriptions/b38fa1d2-3e86-/resourceGroups/609da5ca-1236-482/providers/Microsoft.Security/locations/9bcb9568-98/ExternalSecuritySolutions/fd1490a9-dcf4-4ea9-80a5-a894e"; - _requests[2465] = new DefaultHttpContext(); - _requests[2465].RequestServices = CreateServices(); - _requests[2465].Request.Method = "DELETE"; - _requests[2465].Request.Path = "/subscriptions/a25f28b9-58dd-/resourceGroups/54a0a4c1-2b2f-4fb/providers/Microsoft.Security/locations/62edd22c-f1/jitNetworkAccessPolicies/8b5fb967-5eea-44f0-99a5-01"; - _requests[2466] = new DefaultHttpContext(); - _requests[2466].RequestServices = CreateServices(); - _requests[2466].Request.Method = "GET"; - _requests[2466].Request.Path = "/subscriptions/112eac8e-f9cd-/resourceGroups/b9c6dc8f-6a97-4a1/providers/Microsoft.Security/locations/a5334756-56/tasks/f9cb84d4"; - _requests[2467] = new DefaultHttpContext(); - _requests[2467].RequestServices = CreateServices(); - _requests[2467].Request.Method = "GET"; - _requests[2467].Request.Path = "/subscriptions/da565a91-28b5-/resourceGroups/7afa0fce-b12f-43c/providers/Microsoft.ServerManagement/nodes/440df9d5/sessions/76ef994"; - _requests[2468] = new DefaultHttpContext(); - _requests[2468].RequestServices = CreateServices(); - _requests[2468].Request.Method = "GET"; - _requests[2468].Request.Path = "/subscriptions/494f5124-390a-/resourceGroups/145193d5-3e2b-4df/providers/Microsoft.ServiceBus/namespaces/b56b7854-2dba/AuthorizationRules/5c963160-0e64-41f0-85"; - _requests[2469] = new DefaultHttpContext(); - _requests[2469].RequestServices = CreateServices(); - _requests[2469].Request.Method = "GET"; - _requests[2469].Request.Path = "/subscriptions/3d5c5bbc-6b27-/resourceGroups/505f5933-2ba9-495/providers/Microsoft.ServiceBus/namespaces/fcc45739-04a4/disasterRecoveryConfigs/3db47"; - _requests[2470] = new DefaultHttpContext(); - _requests[2470].RequestServices = CreateServices(); - _requests[2470].Request.Method = "GET"; - _requests[2470].Request.Path = "/subscriptions/7886e188-1b35-/resourceGroups/e79ae5bd-4bf6-4b1/providers/Microsoft.ServiceBus/namespaces/8129eee8-352e/migrationConfigurations/6947c2bb-d"; - _requests[2471] = new DefaultHttpContext(); - _requests[2471].RequestServices = CreateServices(); - _requests[2471].Request.Method = "GET"; - _requests[2471].Request.Path = "/subscriptions/494fdadd-7629-/resourceGroups/303438c6-b962-4da/providers/Microsoft.ServiceBus/namespaces/2c16b361-9380/queues/d97253ae-"; - _requests[2472] = new DefaultHttpContext(); - _requests[2472].RequestServices = CreateServices(); - _requests[2472].Request.Method = "GET"; - _requests[2472].Request.Path = "/subscriptions/d17c9535-4054-/resourceGroups/55356bc6-4a02-48e/providers/Microsoft.ServiceBus/namespaces/358b4c6d-d649/topics/6a111448-"; - _requests[2473] = new DefaultHttpContext(); - _requests[2473].RequestServices = CreateServices(); - _requests[2473].Request.Method = "DELETE"; - _requests[2473].Request.Path = "/subscriptions/10241fd8-70b8-/resourceGroups/fd00cf15-5b3c-4a3/providers/Microsoft.ServiceFabric/clusters/fd39aa2e-a5/applications/9057dfad-760e-4"; - _requests[2474] = new DefaultHttpContext(); - _requests[2474].RequestServices = CreateServices(); - _requests[2474].Request.Method = "DELETE"; - _requests[2474].Request.Path = "/subscriptions/55a9deae-b574-/resourceGroups/8b622c8e-550e-419/providers/Microsoft.ServiceFabric/clusters/e4cdd9e1-4a/applicationTypes/8a3fb6d4-1f99-417d-"; - _requests[2475] = new DefaultHttpContext(); - _requests[2475].RequestServices = CreateServices(); - _requests[2475].Request.Method = "DELETE"; - _requests[2475].Request.Path = "/subscriptions/ebf9c648-3833-/resourceGroups/40e57739-346d-4fc/providers/Microsoft.Sql/locations/31353027-797/instanceFailoverGroups/1058234b-8c25-4fd"; - _requests[2476] = new DefaultHttpContext(); - _requests[2476].RequestServices = CreateServices(); - _requests[2476].Request.Method = "PATCH"; - _requests[2476].Request.Path = "/subscriptions/a2203bd5-d397-/resourceGroups/b64ca1ca-7d93-4d7/providers/Microsoft.Sql/managedInstances/ae438582-af79-4419-/databases/a4146500-87e"; - _requests[2477] = new DefaultHttpContext(); - _requests[2477].RequestServices = CreateServices(); - _requests[2477].Request.Method = "GET"; - _requests[2477].Request.Path = "/subscriptions/bfa19bc9-f33a-/resourceGroups/d266e2d0-f211-42f/providers/Microsoft.Sql/servers/474cdf5a-7/administrators/bc19f0f1-c050-47f"; - _requests[2478] = new DefaultHttpContext(); - _requests[2478].RequestServices = CreateServices(); - _requests[2478].Request.Method = "PUT"; - _requests[2478].Request.Path = "/subscriptions/c35ba94c-d360-/resourceGroups/5b172ddb-3ead-4ea/providers/Microsoft.Sql/servers/ab045caa-9/advisors/77337dac-b8"; - _requests[2479] = new DefaultHttpContext(); - _requests[2479].RequestServices = CreateServices(); - _requests[2479].Request.Method = "PUT"; - _requests[2479].Request.Path = "/subscriptions/419d4757-8395-/resourceGroups/0f70abfa-4139-476/providers/Microsoft.Sql/servers/843e97a2-5/auditingPolicies/932db353-c5bb-40ff-944e"; - _requests[2480] = new DefaultHttpContext(); - _requests[2480].RequestServices = CreateServices(); - _requests[2480].Request.Method = "PUT"; - _requests[2480].Request.Path = "/subscriptions/ae7a7964-8bac-/resourceGroups/924cca12-7b8a-44b/providers/Microsoft.Sql/servers/3282d71b-4/backupLongTermRetentionVaults/c6a51320-39e4-42cc-adb9-086a5010"; - _requests[2481] = new DefaultHttpContext(); - _requests[2481].RequestServices = CreateServices(); - _requests[2481].Request.Method = "PUT"; - _requests[2481].Request.Path = "/subscriptions/c68f8930-347d-/resourceGroups/450a47dd-7edd-4c3/providers/Microsoft.Sql/servers/d37c8d3f-3/communicationLinks/c9bd68ef-d979-44a4-ab"; - _requests[2482] = new DefaultHttpContext(); - _requests[2482].RequestServices = CreateServices(); - _requests[2482].Request.Method = "GET"; - _requests[2482].Request.Path = "/subscriptions/a8eb3e4d-3e36-/resourceGroups/8c5f20bf-d604-455/providers/Microsoft.Sql/servers/a7c5834e-5/connectionPolicies/6f725331-02ac-4daf-9"; - _requests[2483] = new DefaultHttpContext(); - _requests[2483].RequestServices = CreateServices(); - _requests[2483].Request.Method = "GET"; - _requests[2483].Request.Path = "/subscriptions/34502b1b-6954-/resourceGroups/3b5469ce-8635-4c6/providers/Microsoft.Sql/servers/e5ecbf33-4/databases/f7962f2d-f6b"; - _requests[2484] = new DefaultHttpContext(); - _requests[2484].RequestServices = CreateServices(); - _requests[2484].Request.Method = "GET"; - _requests[2484].Request.Path = "/subscriptions/0d4225ee-0c6a-/resourceGroups/08230208-da60-4dc/providers/Microsoft.Sql/servers/260ad1ec-3/disasterRecoveryConfiguration/ee8fb315-12bf-4081-bd85-09de906c4"; - _requests[2485] = new DefaultHttpContext(); - _requests[2485].RequestServices = CreateServices(); - _requests[2485].Request.Method = "DELETE"; - _requests[2485].Request.Path = "/subscriptions/231aaefe-8621-/resourceGroups/11e7212b-319d-4d3/providers/Microsoft.Sql/servers/6e8fb536-a/dnsAliases/ebae7139-51d"; - _requests[2486] = new DefaultHttpContext(); - _requests[2486].RequestServices = CreateServices(); - _requests[2486].Request.Method = "GET"; - _requests[2486].Request.Path = "/subscriptions/53a9f040-e97b-/resourceGroups/73fcd376-ee68-41a/providers/Microsoft.Sql/servers/a5d62b23-6/elasticPools/e567d2d4-4d2a-4"; - _requests[2487] = new DefaultHttpContext(); - _requests[2487].RequestServices = CreateServices(); - _requests[2487].Request.Method = "PUT"; - _requests[2487].Request.Path = "/subscriptions/d68102aa-d093-/resourceGroups/7ddb3911-0afb-49f/providers/Microsoft.Sql/servers/da2ccc94-e/encryptionProtector/9002e16a-d1f7-452f-b975"; - _requests[2488] = new DefaultHttpContext(); - _requests[2488].RequestServices = CreateServices(); - _requests[2488].Request.Method = "PATCH"; - _requests[2488].Request.Path = "/subscriptions/0a0ec3d6-e5ee-/resourceGroups/48ab2a8f-eb81-43c/providers/Microsoft.Sql/servers/d69fd1c6-5/failoverGroups/e1f3d178-f21d-457"; - _requests[2489] = new DefaultHttpContext(); - _requests[2489].RequestServices = CreateServices(); - _requests[2489].Request.Method = "GET"; - _requests[2489].Request.Path = "/subscriptions/69355a0e-9fc7-/resourceGroups/217dbfff-b72c-4c9/providers/Microsoft.Sql/servers/88943f15-9/firewallRules/1050f684-d2c3-43"; - _requests[2490] = new DefaultHttpContext(); - _requests[2490].RequestServices = CreateServices(); - _requests[2490].Request.Method = "PATCH"; - _requests[2490].Request.Path = "/subscriptions/28da6039-eb04-/resourceGroups/e56e5fca-758b-476/providers/Microsoft.Sql/servers/42e3272c-e/jobAgents/5e8709f9-5b7"; - _requests[2491] = new DefaultHttpContext(); - _requests[2491].RequestServices = CreateServices(); - _requests[2491].Request.Method = "DELETE"; - _requests[2491].Request.Path = "/subscriptions/f0fcb595-69ed-/resourceGroups/7117cf96-4746-468/providers/Microsoft.Sql/servers/4ef70aaf-e/keys/574f79a"; - _requests[2492] = new DefaultHttpContext(); - _requests[2492].RequestServices = CreateServices(); - _requests[2492].Request.Method = "GET"; - _requests[2492].Request.Path = "/subscriptions/73ecf4a0-b2f8-/resourceGroups/e00ef593-cf02-4f6/providers/Microsoft.Sql/servers/ecb13536-d/recommendedElasticPools/27149a7d-7cad-45b3-b522-21"; - _requests[2493] = new DefaultHttpContext(); - _requests[2493].RequestServices = CreateServices(); - _requests[2493].Request.Method = "GET"; - _requests[2493].Request.Path = "/subscriptions/cea63442-58dc-/resourceGroups/edaa1acf-fbda-47b/providers/Microsoft.Sql/servers/509dff17-6/recoverableDatabases/ab783884-d34"; - _requests[2494] = new DefaultHttpContext(); - _requests[2494].RequestServices = CreateServices(); - _requests[2494].Request.Method = "GET"; - _requests[2494].Request.Path = "/subscriptions/5c5a1fa1-14c4-/resourceGroups/c14c96e5-47f9-4a4/providers/Microsoft.Sql/servers/8c5c74ee-1/restorableDroppedDatabases/74757228-f55a-4554-bf4f-b6fa7"; - _requests[2495] = new DefaultHttpContext(); - _requests[2495].RequestServices = CreateServices(); - _requests[2495].Request.Method = "GET"; - _requests[2495].Request.Path = "/subscriptions/85e2ae70-99fa-/resourceGroups/5c37c370-8a3e-483/providers/Microsoft.Sql/servers/1e3f9607-3/serviceObjectives/4066fd6c-f102-42eb-9"; - _requests[2496] = new DefaultHttpContext(); - _requests[2496].RequestServices = CreateServices(); - _requests[2496].Request.Method = "DELETE"; - _requests[2496].Request.Path = "/subscriptions/50565897-f6cf-/resourceGroups/a2ee552b-fff7-4b1/providers/Microsoft.Sql/servers/692e008b-a/syncAgents/aa54c505-2314"; - _requests[2497] = new DefaultHttpContext(); - _requests[2497].RequestServices = CreateServices(); - _requests[2497].Request.Method = "DELETE"; - _requests[2497].Request.Path = "/subscriptions/0d3e8e5e-3d6b-/resourceGroups/2219353b-e19a-4a6/providers/Microsoft.Sql/servers/7803e7b1-1/virtualNetworkRules/7609d436-e52a-479b-a02"; - _requests[2498] = new DefaultHttpContext(); - _requests[2498].RequestServices = CreateServices(); - _requests[2498].Request.Method = "GET"; - _requests[2498].Request.Path = "/subscriptions/0b19bc5e-85c2-/resourcegroups/f8b18caf-1dfb-438/providers/Microsoft.Storage.Admin/farms/a47b49/blobservices/1a68c069-44"; - _requests[2499] = new DefaultHttpContext(); - _requests[2499].RequestServices = CreateServices(); - _requests[2499].Request.Method = "GET"; - _requests[2499].Request.Path = "/subscriptions/e58bf1a9-697e-/resourcegroups/bf5dcb1e-bdc1-45c/providers/Microsoft.Storage.Admin/farms/492153/operationresults/deddada9-bf"; - _requests[2500] = new DefaultHttpContext(); - _requests[2500].RequestServices = CreateServices(); - _requests[2500].Request.Method = "GET"; - _requests[2500].Request.Path = "/subscriptions/79a3dc4b-4e42-/resourcegroups/7e40ab6d-a10f-430/providers/Microsoft.Storage.Admin/farms/a76fcc/queueservices/e000da36-68"; - _requests[2501] = new DefaultHttpContext(); - _requests[2501].RequestServices = CreateServices(); - _requests[2501].Request.Method = "GET"; - _requests[2501].Request.Path = "/subscriptions/1a3d784f-73a8-/resourcegroups/52dce6ef-86e2-4ad/providers/Microsoft.Storage.Admin/farms/815d62/shares/7100d9b9-"; - _requests[2502] = new DefaultHttpContext(); - _requests[2502].RequestServices = CreateServices(); - _requests[2502].Request.Method = "POST"; - _requests[2502].Request.Path = "/subscriptions/dbb0fa00-946e-/resourcegroups/e3cfbb8d-82f0-4b8/providers/Microsoft.Storage.Admin/farms/e1b025/storageaccounts/6554235e-"; - _requests[2503] = new DefaultHttpContext(); - _requests[2503].RequestServices = CreateServices(); - _requests[2503].Request.Method = "GET"; - _requests[2503].Request.Path = "/subscriptions/eceb8126-6dca-/resourcegroups/2ab2ad4d-9a30-43e/providers/Microsoft.Storage.Admin/farms/a846de/tableservices/705f63ec-f7"; - _requests[2504] = new DefaultHttpContext(); - _requests[2504].RequestServices = CreateServices(); - _requests[2504].Request.Method = "DELETE"; - _requests[2504].Request.Path = "/subscriptions/d88ff7fe-1974-/resourceGroups/f5a827d1-b8da-4fc/providers/Microsoft.Storage/storageAccounts/cf43ba24-9a/managementPolicies/670a0e05-8f94-44ff-b"; - _requests[2505] = new DefaultHttpContext(); - _requests[2505].RequestServices = CreateServices(); - _requests[2505].Request.Method = "DELETE"; - _requests[2505].Request.Path = "/subscriptions/dc323bb1-3c18-/resourceGroups/580d494b-972c-4f3/providers/Microsoft.StorSimple/managers/e92eab8a-fb/accessControlRecords/116567bc-21eb-4761-80a0"; - _requests[2506] = new DefaultHttpContext(); - _requests[2506].RequestServices = CreateServices(); - _requests[2506].Request.Method = "DELETE"; - _requests[2506].Request.Path = "/subscriptions/4ad64c59-bdbd-/resourceGroups/8d73e21d-fba0-413/providers/Microsoft.StorSimple/managers/6cf4771d-1c/bandwidthSettings/4470b25a-5fea-488e-b"; - _requests[2507] = new DefaultHttpContext(); - _requests[2507].RequestServices = CreateServices(); - _requests[2507].Request.Method = "PATCH"; - _requests[2507].Request.Path = "/subscriptions/3eef8ced-385b-/resourceGroups/36142ad6-84ab-46e/providers/Microsoft.StorSimple/managers/65fcad84-c5/devices/fa68c747-4"; - _requests[2508] = new DefaultHttpContext(); - _requests[2508].RequestServices = CreateServices(); - _requests[2508].Request.Method = "DELETE"; - _requests[2508].Request.Path = "/subscriptions/20fd940a-e0dc-/resourceGroups/9ae80493-013f-436/providers/Microsoft.StorSimple/managers/dcd6e626-5e/storageAccountCredentials/aca388d6-0978-4c12-b560-f98a"; - _requests[2509] = new DefaultHttpContext(); - _requests[2509].RequestServices = CreateServices(); - _requests[2509].Request.Method = "GET"; - _requests[2509].Request.Path = "/subscriptions/f818319e-35f6-/resourcegroups/baced707-dd6a-415/providers/Microsoft.StreamAnalytics/streamingjobs/1bb12a9/functions/1d500add-fb9"; - _requests[2510] = new DefaultHttpContext(); - _requests[2510].RequestServices = CreateServices(); - _requests[2510].Request.Method = "GET"; - _requests[2510].Request.Path = "/subscriptions/e17dad04-4266-/resourcegroups/694261ed-8d1c-4ef/providers/Microsoft.StreamAnalytics/streamingjobs/408746e/inputs/a5c91704-"; - _requests[2511] = new DefaultHttpContext(); - _requests[2511].RequestServices = CreateServices(); - _requests[2511].Request.Method = "GET"; - _requests[2511].Request.Path = "/subscriptions/8acd7dcd-073b-/resourcegroups/f83f47a1-b571-412/providers/Microsoft.StreamAnalytics/streamingjobs/db44e92/outputs/56a31135-6"; - _requests[2512] = new DefaultHttpContext(); - _requests[2512].RequestServices = CreateServices(); - _requests[2512].Request.Method = "GET"; - _requests[2512].Request.Path = "/subscriptions/f40714e1-d510-/resourcegroups/3fdb52fd-2572-403/providers/Microsoft.StreamAnalytics/streamingjobs/fc6acdf/transformations/099a87a2-aa88-4e3a"; - _requests[2513] = new DefaultHttpContext(); - _requests[2513].RequestServices = CreateServices(); - _requests[2513].Request.Method = "DELETE"; - _requests[2513].Request.Path = "/subscriptions/d6c3a871-4c7d-/resourcegroups/24b43492-f219-4a7/providers/Microsoft.Subscriptions.Admin/offers/33d55/offerDelegations/e0f86e8b-c7a5-4b4f-"; - _requests[2514] = new DefaultHttpContext(); - _requests[2514].RequestServices = CreateServices(); - _requests[2514].Request.Method = "DELETE"; - _requests[2514].Request.Path = "/subscriptions/c95bd039-9bf4-/resourceGroups/70a3eca2-dd8d-472/providers/Microsoft.TimeSeriesInsights/environments/dc6733c6-4a69-4/accessPolicies/7c800e80-5804-46"; - _requests[2515] = new DefaultHttpContext(); - _requests[2515].RequestServices = CreateServices(); - _requests[2515].Request.Method = "DELETE"; - _requests[2515].Request.Path = "/subscriptions/53df27d8-0da3-/resourceGroups/9b0380d5-2c58-450/providers/Microsoft.TimeSeriesInsights/environments/f2b08d66-55f2-4/eventSources/89f15693-68cb-4"; - _requests[2516] = new DefaultHttpContext(); - _requests[2516].RequestServices = CreateServices(); - _requests[2516].Request.Method = "DELETE"; - _requests[2516].Request.Path = "/subscriptions/b5d5b3fe-f245-/resourceGroups/80a26728-2fb7-458/providers/Microsoft.TimeSeriesInsights/environments/9fa5d52a-f2f2-4/referenceDataSets/90d9143f-492c-49c4-8"; - _requests[2517] = new DefaultHttpContext(); - _requests[2517].RequestServices = CreateServices(); - _requests[2517].Request.Method = "GET"; - _requests[2517].Request.Path = "/subscriptions/d1442fad-3247-/resourcegroups/fc5206ba-18b3-4ec/providers/Microsoft.Update.Admin/updateLocations/d287d5a6-bcbe-/updates/c81197b1-a"; - _requests[2518] = new DefaultHttpContext(); - _requests[2518].RequestServices = CreateServices(); - _requests[2518].Request.Method = "PATCH"; - _requests[2518].Request.Path = "/subscriptions/b70bb196-5d2f-/resourcegroups/201cfc1e-ec18-47e/providers/microsoft.visualstudio/account/9eb7abc0-3816-436e-/extension/8eb2be1a-b5d5-4532-8c"; - _requests[2519] = new DefaultHttpContext(); - _requests[2519].RequestServices = CreateServices(); - _requests[2519].Request.Method = "PATCH"; - _requests[2519].Request.Path = "/subscriptions/3178ace2-6fe2-/resourceGroups/45e8328e-a40f-4ac/providers/microsoft.visualstudio/account/499df704-cd3f-43/project/3d28102d-537"; - _requests[2520] = new DefaultHttpContext(); - _requests[2520].RequestServices = CreateServices(); - _requests[2520].Request.Method = "GET"; - _requests[2520].Request.Path = "/subscriptions/84e419f1-f2f5-/resourceGroups/5cb73c3f-fafa-4f6/providers/Microsoft.Web/hostingEnvironments/d7ebd/detectors/9faa8c9d-99a"; - _requests[2521] = new DefaultHttpContext(); - _requests[2521].RequestServices = CreateServices(); - _requests[2521].Request.Method = "GET"; - _requests[2521].Request.Path = "/subscriptions/b9de9432-8e0e-/resourceGroups/859f4d2b-b3f5-41a/providers/Microsoft.Web/hostingEnvironments/d17a9/diagnostics/58f2d5f4-8a53-4"; - _requests[2522] = new DefaultHttpContext(); - _requests[2522].RequestServices = CreateServices(); - _requests[2522].Request.Method = "GET"; - _requests[2522].Request.Path = "/subscriptions/5da19b96-21c6-/resourceGroups/90072128-3255-416/providers/Microsoft.Web/hostingEnvironments/b75c6/operations/02480e83-64"; - _requests[2523] = new DefaultHttpContext(); - _requests[2523].RequestServices = CreateServices(); - _requests[2523].Request.Method = "PATCH"; - _requests[2523].Request.Path = "/subscriptions/669cd973-4868-/resourceGroups/9b8dc972-fff6-46f/providers/Microsoft.Web/hostingEnvironments/d6596/workerPools/3edad689-5bca-"; - _requests[2524] = new DefaultHttpContext(); - _requests[2524].RequestServices = CreateServices(); - _requests[2524].Request.Method = "GET"; - _requests[2524].Request.Path = "/subscriptions/c2b32deb-f3ad-/resourceGroups/9644b7b4-c190-4fb/providers/Microsoft.Web/managedHostingEnvironments/60dad/operations/3303f771-f3"; - _requests[2525] = new DefaultHttpContext(); - _requests[2525].RequestServices = CreateServices(); - _requests[2525].Request.Method = "GET"; - _requests[2525].Request.Path = "/subscriptions/d2b7fead-f512-/resourceGroups/71543445-ac22-40e/providers/Microsoft.Web/serverfarms/bf630/operationresults/a5ac36e0-5c"; - _requests[2526] = new DefaultHttpContext(); - _requests[2526].RequestServices = CreateServices(); - _requests[2526].Request.Method = "GET"; - _requests[2526].Request.Path = "/subscriptions/e9a74bdb-eb53-/resourceGroups/b7e948c6-0784-4fa/providers/Microsoft.Web/serverfarms/02caa/virtualNetworkConnections/bb7f96b1"; - _requests[2527] = new DefaultHttpContext(); - _requests[2527].RequestServices = CreateServices(); - _requests[2527].Request.Method = "DELETE"; - _requests[2527].Request.Path = "/subscriptions/4a4325f9-28ff-/resourceGroups/22134dd0-e4d4-460/providers/Microsoft.Web/sites/60002/backups/65417496"; - _requests[2528] = new DefaultHttpContext(); - _requests[2528].RequestServices = CreateServices(); - _requests[2528].Request.Method = "DELETE"; - _requests[2528].Request.Path = "/subscriptions/c6b53608-9aff-/resourceGroups/95a0e22c-9a1e-4a4/providers/Microsoft.Web/sites/461ca/continuouswebjobs/fcf42710-3"; - _requests[2529] = new DefaultHttpContext(); - _requests[2529].RequestServices = CreateServices(); - _requests[2529].Request.Method = "DELETE"; - _requests[2529].Request.Path = "/subscriptions/1a5a64dd-89c2-/resourceGroups/e7df0a66-da00-4d1/providers/Microsoft.Web/sites/f2eef/deployments/69fe3"; - _requests[2530] = new DefaultHttpContext(); - _requests[2530].RequestServices = CreateServices(); - _requests[2530].Request.Method = "PATCH"; - _requests[2530].Request.Path = "/subscriptions/15aaddc2-06f2-/resourceGroups/dd1e3123-77de-486/providers/Microsoft.Web/sites/f70eb/domainOwnershipIdentifiers/742459a5-89d5-4085-a5c3-20512"; - _requests[2531] = new DefaultHttpContext(); - _requests[2531].RequestServices = CreateServices(); - _requests[2531].Request.Method = "DELETE"; - _requests[2531].Request.Path = "/subscriptions/2258004c-1930-/resourceGroups/631837b9-93ed-4f1/providers/Microsoft.Web/sites/b5e39/functions/aeb5b917-a44"; - _requests[2532] = new DefaultHttpContext(); - _requests[2532].RequestServices = CreateServices(); - _requests[2532].Request.Method = "DELETE"; - _requests[2532].Request.Path = "/subscriptions/e45c5921-070a-/resourceGroups/c3746dc9-bcd7-4bf/providers/Microsoft.Web/sites/393ad/hostNameBindings/624485ca"; - _requests[2533] = new DefaultHttpContext(); - _requests[2533].RequestServices = CreateServices(); - _requests[2533].Request.Method = "PATCH"; - _requests[2533].Request.Path = "/subscriptions/d50073c9-9d9b-/resourceGroups/c8504e0a-5168-434/providers/Microsoft.Web/sites/ab624/hybridconnection/9c311902-c"; - _requests[2534] = new DefaultHttpContext(); - _requests[2534].RequestServices = CreateServices(); - _requests[2534].Request.Method = "GET"; - _requests[2534].Request.Path = "/subscriptions/02d1abed-ed13-/resourceGroups/30a84f5d-6d24-4b6/providers/Microsoft.Web/sites/8c94b/networkFeatures/01d1c"; - _requests[2535] = new DefaultHttpContext(); - _requests[2535].RequestServices = CreateServices(); - _requests[2535].Request.Method = "GET"; - _requests[2535].Request.Path = "/subscriptions/49c17d0a-4e23-/resourceGroups/a151467c-a9ac-430/providers/Microsoft.Web/sites/4669f/operationresults/60762f9f-2e"; - _requests[2536] = new DefaultHttpContext(); - _requests[2536].RequestServices = CreateServices(); - _requests[2536].Request.Method = "DELETE"; - _requests[2536].Request.Path = "/subscriptions/4685f686-836b-/resourceGroups/bee8442c-94c6-4f0/providers/Microsoft.Web/sites/6ca95/premieraddons/66ae8d03-b24e-44"; - _requests[2537] = new DefaultHttpContext(); - _requests[2537].RequestServices = CreateServices(); - _requests[2537].Request.Method = "DELETE"; - _requests[2537].Request.Path = "/subscriptions/856e1b43-66b4-/resourceGroups/01e3b988-7727-4f8/providers/Microsoft.Web/sites/08f4b/processes/27fe5890-"; - _requests[2538] = new DefaultHttpContext(); - _requests[2538].RequestServices = CreateServices(); - _requests[2538].Request.Method = "DELETE"; - _requests[2538].Request.Path = "/subscriptions/75fc939b-34f9-/resourceGroups/88ee691a-11cd-45e/providers/Microsoft.Web/sites/8eb80/publicCertificates/3a37fe63-199e-4d60-a7"; - _requests[2539] = new DefaultHttpContext(); - _requests[2539].RequestServices = CreateServices(); - _requests[2539].Request.Method = "DELETE"; - _requests[2539].Request.Path = "/subscriptions/24277be5-5e2c-/resourceGroups/ef179744-d855-4e8/providers/Microsoft.Web/sites/70af9/siteextensions/96f45cd3-1c03-4"; - _requests[2540] = new DefaultHttpContext(); - _requests[2540].RequestServices = CreateServices(); - _requests[2540].Request.Method = "PATCH"; - _requests[2540].Request.Path = "/subscriptions/70f1f590-7073-/resourceGroups/6baaaf8a-3367-464/providers/Microsoft.Web/sites/2ad55/slots/34b37"; - _requests[2541] = new DefaultHttpContext(); - _requests[2541].RequestServices = CreateServices(); - _requests[2541].Request.Method = "DELETE"; - _requests[2541].Request.Path = "/subscriptions/3cfd8d25-1cee-/resourceGroups/250b9e13-3a1d-4c7/providers/Microsoft.Web/sites/e882b/triggeredwebjobs/57d8185e-9"; - _requests[2542] = new DefaultHttpContext(); - _requests[2542].RequestServices = CreateServices(); - _requests[2542].Request.Method = "PATCH"; - _requests[2542].Request.Path = "/subscriptions/b6b3f1bc-202c-/resourceGroups/a9de7beb-a2cc-4fe/providers/Microsoft.Web/sites/6ce4f/virtualNetworkConnections/f354a0bc"; - _requests[2543] = new DefaultHttpContext(); - _requests[2543].RequestServices = CreateServices(); - _requests[2543].Request.Method = "GET"; - _requests[2543].Request.Path = "/subscriptions/1ad8cbf4-8145-/resourceGroups/0ceaf946-0ef0-4c8/providers/Microsoft.Web/sites/7ae5c/webjobs/7d7faab5-a"; - _requests[2544] = new DefaultHttpContext(); - _requests[2544].RequestServices = CreateServices(); - _requests[2544].Request.Method = "GET"; - _requests[2544].Request.Path = "/subscriptions/4e013fc0-3ad9-/resourceGroups/db23b0f4-6f74-424/providers/Microsoft.Web/sites/739fb4df/detectors/6467de1e-ab4"; - _requests[2545] = new DefaultHttpContext(); - _requests[2545].RequestServices = CreateServices(); - _requests[2545].Request.Method = "GET"; - _requests[2545].Request.Path = "/subscriptions/202c7903-3fec-/resourceGroups/849808b0-5176-469/providers/Microsoft.Web/sites/7eec8bb3/diagnostics/a5bb4c11-a054-481d"; - _requests[2546] = new DefaultHttpContext(); - _requests[2546].RequestServices = CreateServices(); - _requests[2546].Request.Method = "GET"; - _requests[2546].Request.Path = "/subscriptions/ea29692c-192b-/resourceGroups/02b6cf92-28a1-4c5/providers/Microsoft.Web/sites/f56a2066/recommendations/3e443"; - _requests[2547] = new DefaultHttpContext(); - _requests[2547].RequestServices = CreateServices(); - _requests[2547].Request.Method = "POST"; - _requests[2547].Request.Path = "/subscriptions/02fbfba3-2b70-/resourceGroup/04720358-2e6e-405/providers/Microsoft.MachineLearningServices/workspaces/046fccc4-5151/computes/c4fdcfb7-56/listKeys"; - _requests[2548] = new DefaultHttpContext(); - _requests[2548].RequestServices = CreateServices(); - _requests[2548].Request.Method = "GET"; - _requests[2548].Request.Path = "/subscriptions/50f6cf35-8fa3-/resourceGroups/24751947-/providers/Microsoft.DataMigration/services/b94b2431-28/projects/8ed78364-52/tasks"; - _requests[2549] = new DefaultHttpContext(); - _requests[2549].RequestServices = CreateServices(); - _requests[2549].Request.Method = "POST"; - _requests[2549].Request.Path = "/subscriptions/e91bedaa-f3e7-/resourcegroups/5a3adc05-d987/providers/Microsoft.AzureBridge.Admin/activations/19836397-384d-/products/3d3ed4fc-d3/download"; - _requests[2550] = new DefaultHttpContext(); - _requests[2550].RequestServices = CreateServices(); - _requests[2550].Request.Method = "POST"; - _requests[2550].Request.Path = "/subscriptions/e867e977-965d-/resourceGroups/8eaeff6a-bb90/providers/Microsoft.AzureStack/registrations/44868916-b2ac-42/products/24219a29-35/listDetails"; - _requests[2551] = new DefaultHttpContext(); - _requests[2551].RequestServices = CreateServices(); - _requests[2551].Request.Method = "GET"; - _requests[2551].Request.Path = "/subscriptions/472cfd27-2da6-/resourceGroups/a614e081-8746-41a/providers/Microsoft.ApiManagement/service/416be490-60/apis/77fca/diagnostics"; - _requests[2552] = new DefaultHttpContext(); - _requests[2552].RequestServices = CreateServices(); - _requests[2552].Request.Method = "GET"; - _requests[2552].Request.Path = "/subscriptions/6cbfd7cb-d2bd-/resourceGroups/eace3039-f55a-438/providers/Microsoft.ApiManagement/service/8d91517b-00/apis/28355/issues"; - _requests[2553] = new DefaultHttpContext(); - _requests[2553].RequestServices = CreateServices(); - _requests[2553].Request.Method = "GET"; - _requests[2553].Request.Path = "/subscriptions/e2e6b621-4246-/resourceGroups/8ac7ab0d-4264-470/providers/Microsoft.ApiManagement/service/14320a99-ce/apis/82eb7/operations"; - _requests[2554] = new DefaultHttpContext(); - _requests[2554].RequestServices = CreateServices(); - _requests[2554].Request.Method = "GET"; - _requests[2554].Request.Path = "/subscriptions/800c35c1-9169-/resourceGroups/5b12d1b4-a060-400/providers/Microsoft.ApiManagement/service/cedcd067-1b/apis/3a210/operationsByTags"; - _requests[2555] = new DefaultHttpContext(); - _requests[2555].RequestServices = CreateServices(); - _requests[2555].Request.Method = "GET"; - _requests[2555].Request.Path = "/subscriptions/8d0e4228-7303-/resourceGroups/6bd951c6-7914-455/providers/Microsoft.ApiManagement/service/5809d752-da/apis/0f9b4/policies"; - _requests[2556] = new DefaultHttpContext(); - _requests[2556].RequestServices = CreateServices(); - _requests[2556].Request.Method = "DELETE"; - _requests[2556].Request.Path = "/subscriptions/582cbb9b-7568-/resourceGroups/18cd5edd-d148-4ea/providers/Microsoft.ApiManagement/service/c9029afc-c8/apis/3c003/policy"; - _requests[2557] = new DefaultHttpContext(); - _requests[2557].RequestServices = CreateServices(); - _requests[2557].Request.Method = "GET"; - _requests[2557].Request.Path = "/subscriptions/c69764a3-996f-/resourceGroups/3b06c65f-d274-43d/providers/Microsoft.ApiManagement/service/fd248064-ff/apis/11690/products"; - _requests[2558] = new DefaultHttpContext(); - _requests[2558].RequestServices = CreateServices(); - _requests[2558].Request.Method = "GET"; - _requests[2558].Request.Path = "/subscriptions/96cbe5f0-0d27-/resourceGroups/f6f60a41-7a6e-474/providers/Microsoft.ApiManagement/service/5acaddf3-d5/apis/e63b2/releases"; - _requests[2559] = new DefaultHttpContext(); - _requests[2559].RequestServices = CreateServices(); - _requests[2559].Request.Method = "GET"; - _requests[2559].Request.Path = "/subscriptions/4349f1d1-0c69-/resourceGroups/b7a68ec9-1db9-489/providers/Microsoft.ApiManagement/service/c4bbdaca-24/apis/4de88/revisions"; - _requests[2560] = new DefaultHttpContext(); - _requests[2560].RequestServices = CreateServices(); - _requests[2560].Request.Method = "GET"; - _requests[2560].Request.Path = "/subscriptions/1fef62fd-7d79-/resourceGroups/3a3fe9e1-c620-44e/providers/Microsoft.ApiManagement/service/9c152290-3d/apis/6ad34/schemas"; - _requests[2561] = new DefaultHttpContext(); - _requests[2561].RequestServices = CreateServices(); - _requests[2561].Request.Method = "GET"; - _requests[2561].Request.Path = "/subscriptions/653f2643-0145-/resourceGroups/0415fc4f-335d-48c/providers/Microsoft.ApiManagement/service/ab56c5e0-8e/apis/42f53/tagDescriptions"; - _requests[2562] = new DefaultHttpContext(); - _requests[2562].RequestServices = CreateServices(); - _requests[2562].Request.Method = "GET"; - _requests[2562].Request.Path = "/subscriptions/020cd39a-bf0b-/resourceGroups/8db7caf9-b80b-4a0/providers/Microsoft.ApiManagement/service/4445d7e4-be/apis/18b08/tags"; - _requests[2563] = new DefaultHttpContext(); - _requests[2563].RequestServices = CreateServices(); - _requests[2563].Request.Method = "POST"; - _requests[2563].Request.Path = "/subscriptions/ccdbf8e6-fb82-/resourceGroups/6da6ce66-7d6a-430/providers/Microsoft.ApiManagement/service/bc9b33d3-3d/backends/844f2e80-/reconnect"; - _requests[2564] = new DefaultHttpContext(); - _requests[2564].RequestServices = CreateServices(); - _requests[2564].Request.Method = "GET"; - _requests[2564].Request.Path = "/subscriptions/caec0cfa-a9d0-/resourceGroups/554575aa-25b9-456/providers/Microsoft.ApiManagement/service/fe7dd1e0-7a/diagnostics/de288dff-78f/loggers"; - _requests[2565] = new DefaultHttpContext(); - _requests[2565].RequestServices = CreateServices(); - _requests[2565].Request.Method = "GET"; - _requests[2565].Request.Path = "/subscriptions/cb6d205f-84e8-/resourceGroups/2ebdc0f1-2544-40d/providers/Microsoft.ApiManagement/service/121d1a6f-94/groups/0287db3/users"; - _requests[2566] = new DefaultHttpContext(); - _requests[2566].RequestServices = CreateServices(); - _requests[2566].Request.Method = "GET"; - _requests[2566].Request.Path = "/subscriptions/05d9fe37-3a58-/resourceGroups/5bc7c5fc-fe34-455/providers/Microsoft.ApiManagement/service/7a6bf63f-65/locations/15052bc9-289/networkstatus"; - _requests[2567] = new DefaultHttpContext(); - _requests[2567].RequestServices = CreateServices(); - _requests[2567].Request.Method = "GET"; - _requests[2567].Request.Path = "/subscriptions/6ff9de64-a2eb-/resourceGroups/7b9e51fa-9ab9-406/providers/Microsoft.ApiManagement/service/d647b7f4-11/notifications/f989bbf2-61b9-44/recipientEmails"; - _requests[2568] = new DefaultHttpContext(); - _requests[2568].RequestServices = CreateServices(); - _requests[2568].Request.Method = "GET"; - _requests[2568].Request.Path = "/subscriptions/fb8af335-5543-/resourceGroups/04a366d7-2e01-48d/providers/Microsoft.ApiManagement/service/e2b3a31a-a1/notifications/f126410a-1f87-4d/recipientUsers"; - _requests[2569] = new DefaultHttpContext(); - _requests[2569].RequestServices = CreateServices(); - _requests[2569].Request.Method = "GET"; - _requests[2569].Request.Path = "/subscriptions/32be4987-49f9-/resourceGroups/3a2d1f48-73d1-4d0/providers/Microsoft.ApiManagement/service/bc867a92-43/products/34be31c1-/apis"; - _requests[2570] = new DefaultHttpContext(); - _requests[2570].RequestServices = CreateServices(); - _requests[2570].Request.Method = "GET"; - _requests[2570].Request.Path = "/subscriptions/50dc9c3f-ff92-/resourceGroups/51927182-f257-422/providers/Microsoft.ApiManagement/service/71896d85-5d/products/7137b4b8-/groups"; - _requests[2571] = new DefaultHttpContext(); - _requests[2571].RequestServices = CreateServices(); - _requests[2571].Request.Method = "GET"; - _requests[2571].Request.Path = "/subscriptions/27a8f069-f10c-/resourceGroups/9253de8c-300a-42d/providers/Microsoft.ApiManagement/service/b083279f-50/products/672890a6-/policies"; - _requests[2572] = new DefaultHttpContext(); - _requests[2572].RequestServices = CreateServices(); - _requests[2572].Request.Method = "DELETE"; - _requests[2572].Request.Path = "/subscriptions/cb80df61-b3d8-/resourceGroups/2417e55e-f434-42e/providers/Microsoft.ApiManagement/service/980d7f8a-30/products/b03c4ca7-/policy"; - _requests[2573] = new DefaultHttpContext(); - _requests[2573].RequestServices = CreateServices(); - _requests[2573].Request.Method = "GET"; - _requests[2573].Request.Path = "/subscriptions/2e8ab9e6-06f1-/resourceGroups/e5be5024-88cf-42f/providers/Microsoft.ApiManagement/service/ab5c588e-80/products/53ca5a3f-/subscriptions"; - _requests[2574] = new DefaultHttpContext(); - _requests[2574].RequestServices = CreateServices(); - _requests[2574].Request.Method = "GET"; - _requests[2574].Request.Path = "/subscriptions/95a21975-41af-/resourceGroups/8f0dd7d0-b575-499/providers/Microsoft.ApiManagement/service/2ff5aa66-c1/products/226a5d25-/tags"; - _requests[2575] = new DefaultHttpContext(); - _requests[2575].RequestServices = CreateServices(); - _requests[2575].Request.Method = "POST"; - _requests[2575].Request.Path = "/subscriptions/7eb07e7d-f35f-/resourceGroups/a27f5565-409b-41d/providers/Microsoft.ApiManagement/service/b8457014-be/subscriptions/1c39d/regeneratePrimaryKey"; - _requests[2576] = new DefaultHttpContext(); - _requests[2576].RequestServices = CreateServices(); - _requests[2576].Request.Method = "POST"; - _requests[2576].Request.Path = "/subscriptions/417eaa6f-b0a5-/resourceGroups/fab150eb-9509-40f/providers/Microsoft.ApiManagement/service/7d8919bc-33/subscriptions/53e13/regenerateSecondaryKey"; - _requests[2577] = new DefaultHttpContext(); - _requests[2577].RequestServices = CreateServices(); - _requests[2577].Request.Method = "GET"; - _requests[2577].Request.Path = "/subscriptions/5f9a5aa1-02bc-/resourceGroups/37be930c-7ffa-401/providers/Microsoft.ApiManagement/service/abdb0573-6a/tenant/c403e86c-5/git"; - _requests[2578] = new DefaultHttpContext(); - _requests[2578].RequestServices = CreateServices(); - _requests[2578].Request.Method = "POST"; - _requests[2578].Request.Path = "/subscriptions/515a9c85-0d38-/resourceGroups/93849134-d722-457/providers/Microsoft.ApiManagement/service/698c2e3f-d6/tenant/6093faf1-9/regeneratePrimaryKey"; - _requests[2579] = new DefaultHttpContext(); - _requests[2579].RequestServices = CreateServices(); - _requests[2579].Request.Method = "POST"; - _requests[2579].Request.Path = "/subscriptions/20102025-23f3-/resourceGroups/e4e7ee63-5b21-477/providers/Microsoft.ApiManagement/service/b1b456f5-45/tenant/1aabcf2b-8/regenerateSecondaryKey"; - _requests[2580] = new DefaultHttpContext(); - _requests[2580].RequestServices = CreateServices(); - _requests[2580].Request.Method = "POST"; - _requests[2580].Request.Path = "/subscriptions/a1628112-2bf7-/resourceGroups/35fe6351-d897-4c1/providers/Microsoft.ApiManagement/service/4900830d-9d/tenant/ce20fd5a-536f-417/deploy"; - _requests[2581] = new DefaultHttpContext(); - _requests[2581].RequestServices = CreateServices(); - _requests[2581].Request.Method = "POST"; - _requests[2581].Request.Path = "/subscriptions/7b771888-a01f-/resourceGroups/93b87f2d-1394-441/providers/Microsoft.ApiManagement/service/892794de-51/tenant/f763558f-1ac1-477/save"; - _requests[2582] = new DefaultHttpContext(); - _requests[2582].RequestServices = CreateServices(); - _requests[2582].Request.Method = "GET"; - _requests[2582].Request.Path = "/subscriptions/8a9cc09a-4cae-/resourceGroups/a2e17c1d-e3b2-472/providers/Microsoft.ApiManagement/service/85072040-66/tenant/9ad45d67-b4cb-4fd/syncState"; - _requests[2583] = new DefaultHttpContext(); - _requests[2583].RequestServices = CreateServices(); - _requests[2583].Request.Method = "POST"; - _requests[2583].Request.Path = "/subscriptions/ca6dbc29-8519-/resourceGroups/8cf6b774-3bb2-4c3/providers/Microsoft.ApiManagement/service/af24d6a0-69/tenant/0c390843-4785-41a/validate"; - _requests[2584] = new DefaultHttpContext(); - _requests[2584].RequestServices = CreateServices(); - _requests[2584].Request.Method = "POST"; - _requests[2584].Request.Path = "/subscriptions/fec8a480-9f49-/resourceGroups/1e7f811e-c3fd-4e6/providers/Microsoft.ApiManagement/service/58649660-d6/users/3ae04/generateSsoUrl"; - _requests[2585] = new DefaultHttpContext(); - _requests[2585].RequestServices = CreateServices(); - _requests[2585].Request.Method = "GET"; - _requests[2585].Request.Path = "/subscriptions/3af66f63-bf6f-/resourceGroups/2e7120cf-b24b-4ef/providers/Microsoft.ApiManagement/service/48c39255-7f/users/29b10/groups"; - _requests[2586] = new DefaultHttpContext(); - _requests[2586].RequestServices = CreateServices(); - _requests[2586].Request.Method = "GET"; - _requests[2586].Request.Path = "/subscriptions/3f871e8f-6e52-/resourceGroups/50408d8a-cfdb-46a/providers/Microsoft.ApiManagement/service/d05d2036-9c/users/7af60/identities"; - _requests[2587] = new DefaultHttpContext(); - _requests[2587].RequestServices = CreateServices(); - _requests[2587].Request.Method = "GET"; - _requests[2587].Request.Path = "/subscriptions/57f76836-5c03-/resourceGroups/6e59b11e-423f-491/providers/Microsoft.ApiManagement/service/b070a1b3-eb/users/83bf2/subscriptions"; - _requests[2588] = new DefaultHttpContext(); - _requests[2588].RequestServices = CreateServices(); - _requests[2588].Request.Method = "POST"; - _requests[2588].Request.Path = "/subscriptions/9d2b6cd3-f6fd-/resourceGroups/23e8d375-b077-46f/providers/Microsoft.ApiManagement/service/164cdba9-c9/users/3f797/token"; - _requests[2589] = new DefaultHttpContext(); - _requests[2589].RequestServices = CreateServices(); - _requests[2589].Request.Method = "GET"; - _requests[2589].Request.Path = "/subscriptions/b11fd4a1-11d7-/resourceGroups/9f809b78-a35c-41c/providers/Microsoft.Automation/automationAccounts/dc29566b-9e64-4a9b-b8/compilationjobs/84874/streams"; - _requests[2590] = new DefaultHttpContext(); - _requests[2590].RequestServices = CreateServices(); - _requests[2590].Request.Method = "GET"; - _requests[2590].Request.Path = "/subscriptions/df099880-cfd7-/resourceGroups/0e052eb8-c028-478/providers/Microsoft.Automation/automationAccounts/b76ab86c-4f77-4c8d-a5/configurations/83516823-d2af-41d/content"; - _requests[2591] = new DefaultHttpContext(); - _requests[2591].RequestServices = CreateServices(); - _requests[2591].Request.Method = "GET"; - _requests[2591].Request.Path = "/subscriptions/d00d869d-095b-/resourceGroups/43f2280a-3670-49c/providers/Microsoft.Automation/automationAccounts/6b0d366d-d8ac-4036-85/jobs/9c5d3/output"; - _requests[2592] = new DefaultHttpContext(); - _requests[2592].RequestServices = CreateServices(); - _requests[2592].Request.Method = "POST"; - _requests[2592].Request.Path = "/subscriptions/dce424d7-dcf8-/resourceGroups/c0dbebd5-3e67-495/providers/Microsoft.Automation/automationAccounts/18662910-1163-425c-b2/jobs/fdb08/resume"; - _requests[2593] = new DefaultHttpContext(); - _requests[2593].RequestServices = CreateServices(); - _requests[2593].Request.Method = "GET"; - _requests[2593].Request.Path = "/subscriptions/2276ccec-d5d0-/resourceGroups/db771516-6cfb-49c/providers/Microsoft.Automation/automationAccounts/c84f077a-8134-4495-8f/jobs/50712/runbookContent"; - _requests[2594] = new DefaultHttpContext(); - _requests[2594].RequestServices = CreateServices(); - _requests[2594].Request.Method = "POST"; - _requests[2594].Request.Path = "/subscriptions/61fbcd93-4839-/resourceGroups/26715397-68d1-41c/providers/Microsoft.Automation/automationAccounts/ac5ad4f2-6295-4a7e-a7/jobs/da4c6/stop"; - _requests[2595] = new DefaultHttpContext(); - _requests[2595].RequestServices = CreateServices(); - _requests[2595].Request.Method = "GET"; - _requests[2595].Request.Path = "/subscriptions/9b6c9b6e-1531-/resourceGroups/b5f8ffec-fb63-47f/providers/Microsoft.Automation/automationAccounts/bf7e560e-7cd2-4fcf-bb/jobs/037dd/streams"; - _requests[2596] = new DefaultHttpContext(); - _requests[2596].RequestServices = CreateServices(); - _requests[2596].Request.Method = "POST"; - _requests[2596].Request.Path = "/subscriptions/89ec4caa-1b0a-/resourceGroups/a7bf623f-faa6-41c/providers/Microsoft.Automation/automationAccounts/cb020820-c15e-4fb1-83/jobs/549e4/suspend"; - _requests[2597] = new DefaultHttpContext(); - _requests[2597].RequestServices = CreateServices(); - _requests[2597].Request.Method = "GET"; - _requests[2597].Request.Path = "/subscriptions/6909db94-f64e-/resourceGroups/522ad111-af5d-412/providers/Microsoft.Automation/automationAccounts/a7658a75-0ab5-49ea-9c/modules/9b7eba80-d/activities"; - _requests[2598] = new DefaultHttpContext(); - _requests[2598].RequestServices = CreateServices(); - _requests[2598].Request.Method = "GET"; - _requests[2598].Request.Path = "/subscriptions/316c1d8a-3c92-/resourceGroups/aeb4801f-7c29-47a/providers/Microsoft.Automation/automationAccounts/35faa5d4-8b84-4508-93/nodes/53b7e1/reports"; - _requests[2599] = new DefaultHttpContext(); - _requests[2599].RequestServices = CreateServices(); - _requests[2599].Request.Method = "GET"; - _requests[2599].Request.Path = "/subscriptions/5d83a3c6-852c-/resourceGroups/1cc86819-78f3-4d6/providers/Microsoft.Automation/automationAccounts/fe3f6326-c743-4cbe-b3/objectDataTypes/4359a5d2/fields"; - _requests[2600] = new DefaultHttpContext(); - _requests[2600].RequestServices = CreateServices(); - _requests[2600].Request.Method = "GET"; - _requests[2600].Request.Path = "/subscriptions/66cb68f0-c098-/resourceGroups/421fa6dd-9c62-49e/providers/Microsoft.Automation/automationAccounts/751d2b64-dadf-4233-a6/runbooks/cde3a39e-11/content"; - _requests[2601] = new DefaultHttpContext(); - _requests[2601].RequestServices = CreateServices(); - _requests[2601].Request.Method = "GET"; - _requests[2601].Request.Path = "/subscriptions/a3559404-da89-/resourceGroups/67d87c53-6ff5-4a5/providers/Microsoft.Automation/automationAccounts/15a3ba19-4653-425e-ba/runbooks/bb9c9972-b0/draft"; - _requests[2602] = new DefaultHttpContext(); - _requests[2602].RequestServices = CreateServices(); - _requests[2602].Request.Method = "GET"; - _requests[2602].Request.Path = "/subscriptions/743dbf6f-b3c3-/resourceGroups/43fcc4ce-cadf-47a/providers/Microsoft.Automation/automationAccounts/7609894e-cb13-4f00-8d/sourceControls/2ca4dcd7-a370-44d/sourceControlSyncJobs"; - _requests[2603] = new DefaultHttpContext(); - _requests[2603].RequestServices = CreateServices(); - _requests[2603].Request.Method = "POST"; - _requests[2603].Request.Path = "/subscriptions/97e6ce9f-8299-/resourceGroups/0e17cfa2-ad2a-4c1/providers/Microsoft.Automation/automationAccounts/cc1b438f-040f-4b43-9e/watchers/b6657b95-be/start"; - _requests[2604] = new DefaultHttpContext(); - _requests[2604].RequestServices = CreateServices(); - _requests[2604].Request.Method = "POST"; - _requests[2604].Request.Path = "/subscriptions/2d253235-ce08-/resourceGroups/6e4e6712-4815-495/providers/Microsoft.Automation/automationAccounts/0446c1a5-46b3-4d34-b7/watchers/ecb3fb45-05/stop"; - _requests[2605] = new DefaultHttpContext(); - _requests[2605].RequestServices = CreateServices(); - _requests[2605].Request.Method = "POST"; - _requests[2605].Request.Path = "/subscriptions/38136fcd-55b5-/resourcegroups/6b690f86-94e8-45c/providers/Microsoft.Backup.Admin/backupLocations/9415205d/backups/548f6a/restore"; - _requests[2606] = new DefaultHttpContext(); - _requests[2606].RequestServices = CreateServices(); - _requests[2606].Request.Method = "POST"; - _requests[2606].Request.Path = "/subscriptions/45ca795e-61da-/resourceGroups/6e6e12ab-4810-420/providers/Microsoft.Batch/batchAccounts/60f5a1ad-34/certificates/d18c727c-f736-4/cancelDelete"; - _requests[2607] = new DefaultHttpContext(); - _requests[2607].RequestServices = CreateServices(); - _requests[2607].Request.Method = "POST"; - _requests[2607].Request.Path = "/subscriptions/5345908e-6eb3-/resourceGroups/bf5b1c0f-6c9d-4e6/providers/Microsoft.Batch/batchAccounts/2269541b-47/pools/56d2b1f6/disableAutoScale"; - _requests[2608] = new DefaultHttpContext(); - _requests[2608].RequestServices = CreateServices(); - _requests[2608].Request.Method = "POST"; - _requests[2608].Request.Path = "/subscriptions/43d34b4b-975d-/resourceGroups/d7926aa1-0eb7-4e2/providers/Microsoft.Batch/batchAccounts/351becc5-b2/pools/d3a8b07d/stopResize"; - _requests[2609] = new DefaultHttpContext(); - _requests[2609].RequestServices = CreateServices(); - _requests[2609].Request.Method = "POST"; - _requests[2609].Request.Path = "/subscriptions/6cedf9bf-37ed-/resourceGroups/12c0e70f-7ef5-45d/providers/Microsoft.BatchAI/workspaces/a163e65f-0591/clusters/90790fea-ed/listRemoteLoginInformation"; - _requests[2610] = new DefaultHttpContext(); - _requests[2610].RequestServices = CreateServices(); - _requests[2610].Request.Method = "GET"; - _requests[2610].Request.Path = "/subscriptions/c113fad5-f36e-/resourceGroups/5aaa8790-ae11-4dc/providers/Microsoft.BatchAI/workspaces/ad2ba958-940d/experiments/6352ca09-1eb6-/jobs"; - _requests[2611] = new DefaultHttpContext(); - _requests[2611].RequestServices = CreateServices(); - _requests[2611].Request.Method = "POST"; - _requests[2611].Request.Path = "/subscriptions/d9896346-097e-/resourceGroups/87448240-a2e2-49c/providers/Microsoft.BotService/botServices/1599fee4-108/channels/f28e344e-33/listChannelWithKeys"; - _requests[2612] = new DefaultHttpContext(); - _requests[2612].RequestServices = CreateServices(); - _requests[2612].Request.Method = "POST"; - _requests[2612].Request.Path = "/subscriptions/7753cdb6-e894-/resourceGroups/be481f0f-979b-481/providers/Microsoft.BotService/botServices/58e10fae-6f5/Connections/7ffabc3d-ca30-/listWithSecrets"; - _requests[2613] = new DefaultHttpContext(); - _requests[2613].RequestServices = CreateServices(); - _requests[2613].Request.Method = "POST"; - _requests[2613].Request.Path = "/subscriptions/bcd69ad5-5057-/resourceGroups/0dded720-b714-464/providers/Microsoft.Cdn/profiles/335da9d7-c4/endpoints/f18a2bcd-6b6/checkResourceUsage"; - _requests[2614] = new DefaultHttpContext(); - _requests[2614].RequestServices = CreateServices(); - _requests[2614].Request.Method = "GET"; - _requests[2614].Request.Path = "/subscriptions/7cda9a78-2d5b-/resourceGroups/e098628f-849b-45e/providers/Microsoft.Cdn/profiles/72256ad6-cd/endpoints/24bd626c-5ee/customDomains"; - _requests[2615] = new DefaultHttpContext(); - _requests[2615].RequestServices = CreateServices(); - _requests[2615].Request.Method = "POST"; - _requests[2615].Request.Path = "/subscriptions/69336c70-ef91-/resourceGroups/2e221732-b4a1-441/providers/Microsoft.Cdn/profiles/2a1243ed-61/endpoints/15b2add3-958/load"; - _requests[2616] = new DefaultHttpContext(); - _requests[2616].RequestServices = CreateServices(); - _requests[2616].Request.Method = "GET"; - _requests[2616].Request.Path = "/subscriptions/16cb16d0-5755-/resourceGroups/99965994-d2fa-43f/providers/Microsoft.Cdn/profiles/5a067c9d-04/endpoints/62af92a0-db4/origins"; - _requests[2617] = new DefaultHttpContext(); - _requests[2617].RequestServices = CreateServices(); - _requests[2617].Request.Method = "POST"; - _requests[2617].Request.Path = "/subscriptions/112a3dd3-acab-/resourceGroups/3d95ed31-900f-42f/providers/Microsoft.Cdn/profiles/127d2c9e-6e/endpoints/d3c49d07-767/purge"; - _requests[2618] = new DefaultHttpContext(); - _requests[2618].RequestServices = CreateServices(); - _requests[2618].Request.Method = "POST"; - _requests[2618].Request.Path = "/subscriptions/e64ff3fd-30fa-/resourceGroups/f2d74b2a-4f83-440/providers/Microsoft.Cdn/profiles/8410fd99-b8/endpoints/9e6b9bd2-728/start"; - _requests[2619] = new DefaultHttpContext(); - _requests[2619].RequestServices = CreateServices(); - _requests[2619].Request.Method = "POST"; - _requests[2619].Request.Path = "/subscriptions/ca81c3b3-41e0-/resourceGroups/e45476c8-e779-4fe/providers/Microsoft.Cdn/profiles/1c501e83-07/endpoints/fab4b5e9-d88/stop"; - _requests[2620] = new DefaultHttpContext(); - _requests[2620].RequestServices = CreateServices(); - _requests[2620].Request.Method = "POST"; - _requests[2620].Request.Path = "/subscriptions/cb0e80ac-73ca-/resourceGroups/1833bb62-7de7-4f8/providers/Microsoft.Cdn/profiles/99f8a28a-2b/endpoints/f7b9da2d-8bb/validateCustomDomain"; - _requests[2621] = new DefaultHttpContext(); - _requests[2621].RequestServices = CreateServices(); - _requests[2621].Request.Method = "GET"; - _requests[2621].Request.Path = "/subscriptions/b3a1283e-146b-/resourceGroups/c5045141-24e6-41f/providers/Microsoft.Compute/galleries/be122350-c6/images/0046a732-c41d-4b/versions"; - _requests[2622] = new DefaultHttpContext(); - _requests[2622].RequestServices = CreateServices(); - _requests[2622].Request.Method = "GET"; - _requests[2622].Request.Path = "/subscriptions/25ba8516-4c69-/resourceGroups/9c5975d4-5804-47c/providers/microsoft.Compute/virtualMachineScaleSets/8ea7349a-e367-4416-8328-5f/virtualMachines/8968d5d3-aaad-45d2-/networkInterfaces"; - _requests[2623] = new DefaultHttpContext(); - _requests[2623].RequestServices = CreateServices(); - _requests[2623].Request.Method = "POST"; - _requests[2623].Request.Path = "/subscriptions/083f8679-bb6d-/resourceGroups/fcc5adda-b04c-4ec/providers/Microsoft.Compute/virtualMachineScaleSets/1f2fd4d9-62ad-/virtualmachines/10dfc6c2-1/deallocate"; - _requests[2624] = new DefaultHttpContext(); - _requests[2624].RequestServices = CreateServices(); - _requests[2624].Request.Method = "GET"; - _requests[2624].Request.Path = "/subscriptions/8d5b5f70-b8f7-/resourceGroups/cfc159c3-988a-4df/providers/Microsoft.Compute/virtualMachineScaleSets/bc5e2576-8458-/virtualmachines/a6e04d41-a/instanceView"; - _requests[2625] = new DefaultHttpContext(); - _requests[2625].RequestServices = CreateServices(); - _requests[2625].Request.Method = "POST"; - _requests[2625].Request.Path = "/subscriptions/bd909810-a0bb-/resourceGroups/99d17f40-6bbb-468/providers/Microsoft.Compute/virtualMachineScaleSets/9d8f2c25-cbb9-/virtualmachines/adf333fd-a/performMaintenance"; - _requests[2626] = new DefaultHttpContext(); - _requests[2626].RequestServices = CreateServices(); - _requests[2626].Request.Method = "POST"; - _requests[2626].Request.Path = "/subscriptions/b9b6c823-6ca8-/resourceGroups/42696f38-59b9-40d/providers/Microsoft.Compute/virtualMachineScaleSets/51b6f5d9-cbb2-/virtualmachines/c9973b92-4/poweroff"; - _requests[2627] = new DefaultHttpContext(); - _requests[2627].RequestServices = CreateServices(); - _requests[2627].Request.Method = "POST"; - _requests[2627].Request.Path = "/subscriptions/0047543e-5c43-/resourceGroups/02d901b7-00fd-4e5/providers/Microsoft.Compute/virtualMachineScaleSets/dc025b41-aab7-/virtualmachines/726143e6-4/redeploy"; - _requests[2628] = new DefaultHttpContext(); - _requests[2628].RequestServices = CreateServices(); - _requests[2628].Request.Method = "POST"; - _requests[2628].Request.Path = "/subscriptions/b7fa40b0-aebf-/resourceGroups/64a8f9e5-b339-46a/providers/Microsoft.Compute/virtualMachineScaleSets/6c98c66c-0cb0-/virtualmachines/806b40c4-b/reimage"; - _requests[2629] = new DefaultHttpContext(); - _requests[2629].RequestServices = CreateServices(); - _requests[2629].Request.Method = "POST"; - _requests[2629].Request.Path = "/subscriptions/358c396c-6f36-/resourceGroups/f4e5b4eb-7333-45e/providers/Microsoft.Compute/virtualMachineScaleSets/a1613271-59ca-/virtualmachines/2bb4062c-1/reimageall"; - _requests[2630] = new DefaultHttpContext(); - _requests[2630].RequestServices = CreateServices(); - _requests[2630].Request.Method = "POST"; - _requests[2630].Request.Path = "/subscriptions/e6ffb763-f504-/resourceGroups/35cff6e4-da24-460/providers/Microsoft.Compute/virtualMachineScaleSets/f5d79cea-0bb7-/virtualmachines/15c55510-2/restart"; - _requests[2631] = new DefaultHttpContext(); - _requests[2631].RequestServices = CreateServices(); - _requests[2631].Request.Method = "POST"; - _requests[2631].Request.Path = "/subscriptions/3e3684e4-3035-/resourceGroups/1d7014aa-89e1-470/providers/Microsoft.Compute/virtualMachineScaleSets/6f079ccb-27aa-/virtualmachines/429fe1a1-c/start"; - _requests[2632] = new DefaultHttpContext(); - _requests[2632].RequestServices = CreateServices(); - _requests[2632].Request.Method = "POST"; - _requests[2632].Request.Path = "/subscriptions/89736891-e66e-/resourceGroups/4ae11546-da05-46f/providers/Microsoft.ContainerInstance/containerGroups/f350645a-d329-461f/containers/e7904c60-b1ff/exec"; - _requests[2633] = new DefaultHttpContext(); - _requests[2633].RequestServices = CreateServices(); - _requests[2633].Request.Method = "GET"; - _requests[2633].Request.Path = "/subscriptions/2213b1bc-3772-/resourceGroups/9576f662-7627-490/providers/Microsoft.ContainerInstance/containerGroups/faf0f9e8-8bf5-4881/containers/c2e99d8c-c582/logs"; - _requests[2634] = new DefaultHttpContext(); - _requests[2634].RequestServices = CreateServices(); - _requests[2634].Request.Method = "POST"; - _requests[2634].Request.Path = "/subscriptions/39906f3c-1f6d-/resourceGroups/ff869968-bd5f-4c7/providers/Microsoft.ContainerRegistry/registries/ba76971d-7c5/builds/dc6853c/cancel"; - _requests[2635] = new DefaultHttpContext(); - _requests[2635].RequestServices = CreateServices(); - _requests[2635].Request.Method = "POST"; - _requests[2635].Request.Path = "/subscriptions/506c3ee2-89f8-/resourceGroups/22043120-6e2c-403/providers/Microsoft.ContainerRegistry/registries/1172de5b-c1c/builds/fdb9b5c/getLogLink"; - _requests[2636] = new DefaultHttpContext(); - _requests[2636].RequestServices = CreateServices(); - _requests[2636].Request.Method = "POST"; - _requests[2636].Request.Path = "/subscriptions/30b965cc-6632-/resourceGroups/52e4a5d8-086a-4cc/providers/Microsoft.ContainerRegistry/registries/ef950dd2-009/buildTasks/b14493bf-39a8/listSourceRepositoryProperties"; - _requests[2637] = new DefaultHttpContext(); - _requests[2637].RequestServices = CreateServices(); - _requests[2637].Request.Method = "GET"; - _requests[2637].Request.Path = "/subscriptions/1a1dc2d3-d13c-/resourceGroups/b2bbc449-e8ee-428/providers/Microsoft.ContainerRegistry/registries/2e980daa-421/buildTasks/69fed525-04c8/steps"; - _requests[2638] = new DefaultHttpContext(); - _requests[2638].RequestServices = CreateServices(); - _requests[2638].Request.Method = "POST"; - _requests[2638].Request.Path = "/subscriptions/73a6c112-01f1-/resourceGroups/8117fa06-bc1e-4a7/providers/Microsoft.ContainerRegistry/registries/fc54cabe-34d/webhooks/4d5158e6-18/getCallbackConfig"; - _requests[2639] = new DefaultHttpContext(); - _requests[2639].RequestServices = CreateServices(); - _requests[2639].Request.Method = "POST"; - _requests[2639].Request.Path = "/subscriptions/30c9f14f-431f-/resourceGroups/c2a380b2-f524-485/providers/Microsoft.ContainerRegistry/registries/d12f5bc4-42b/webhooks/a4107b28-5a/listEvents"; - _requests[2640] = new DefaultHttpContext(); - _requests[2640].RequestServices = CreateServices(); - _requests[2640].Request.Method = "POST"; - _requests[2640].Request.Path = "/subscriptions/fcda7da1-385c-/resourceGroups/1472ff8f-996d-42e/providers/Microsoft.ContainerRegistry/registries/3c68f9e8-f67/webhooks/0c154e4f-2b/ping"; - _requests[2641] = new DefaultHttpContext(); - _requests[2641].RequestServices = CreateServices(); - _requests[2641].Request.Method = "POST"; - _requests[2641].Request.Path = "/subscriptions/2d0f8be6-19a6-/resourceGroups/a18cb895-80af-4cd/providers/Microsoft.ContainerService/managedClusters/911b11d6-4aa/accessProfiles/deb2f9f4/listCredential"; - _requests[2642] = new DefaultHttpContext(); - _requests[2642].RequestServices = CreateServices(); - _requests[2642].Request.Method = "POST"; - _requests[2642].Request.Path = "/subscriptions/ba9a9604-513d-/resourceGroups/90aa6540-e1a4-449/providers/Microsoft.CustomerInsights/hubs/224a79d/authorizationPolicies/8f10fae5-eaa1-4df4-81f6/regeneratePrimaryKey"; - _requests[2643] = new DefaultHttpContext(); - _requests[2643].RequestServices = CreateServices(); - _requests[2643].Request.Method = "POST"; - _requests[2643].Request.Path = "/subscriptions/52787f1d-830b-/resourceGroups/a0de82d1-cd20-4ca/providers/Microsoft.CustomerInsights/hubs/b1605ba/authorizationPolicies/f8099d1b-2b75-4478-9f9e/regenerateSecondaryKey"; - _requests[2644] = new DefaultHttpContext(); - _requests[2644].RequestServices = CreateServices(); - _requests[2644].Request.Method = "GET"; - _requests[2644].Request.Path = "/subscriptions/d801c700-5d52-/resourceGroups/dd177550-560e-49e/providers/Microsoft.CustomerInsights/hubs/53a4a36/connectors/31ba2eac-4897/mappings"; - _requests[2645] = new DefaultHttpContext(); - _requests[2645].RequestServices = CreateServices(); - _requests[2645].Request.Method = "POST"; - _requests[2645].Request.Path = "/subscriptions/128a177d-a482-/resourceGroups/0fc8529f-4f11-453/providers/Microsoft.CustomerInsights/hubs/ace0bab/interactions/6b85d72f-cf61-4/suggestRelationshipLinks"; - _requests[2646] = new DefaultHttpContext(); - _requests[2646].RequestServices = CreateServices(); - _requests[2646].Request.Method = "POST"; - _requests[2646].Request.Path = "/subscriptions/68cd1afe-3350-/resourceGroups/68d23ff6-8ae5-463/providers/Microsoft.CustomerInsights/hubs/dcaac4c/kpi/9794822/reprocess"; - _requests[2647] = new DefaultHttpContext(); - _requests[2647].RequestServices = CreateServices(); - _requests[2647].Request.Method = "POST"; - _requests[2647].Request.Path = "/subscriptions/add249a6-eac7-/resourceGroups/43a41cef-12ea-40c/providers/Microsoft.CustomerInsights/hubs/9eb5c17/predictions/e9324b33-0d70-/getModelStatus"; - _requests[2648] = new DefaultHttpContext(); - _requests[2648].RequestServices = CreateServices(); - _requests[2648].Request.Method = "POST"; - _requests[2648].Request.Path = "/subscriptions/7c71e9f7-5ba1-/resourceGroups/3b498cdd-02df-447/providers/Microsoft.CustomerInsights/hubs/0853642/predictions/7a80723e-3cd9-/getTrainingResults"; - _requests[2649] = new DefaultHttpContext(); - _requests[2649].RequestServices = CreateServices(); - _requests[2649].Request.Method = "POST"; - _requests[2649].Request.Path = "/subscriptions/c1d02591-0303-/resourceGroups/295fec68-e578-49a/providers/Microsoft.CustomerInsights/hubs/78ae257/predictions/3f6d8e00-03d9-/modelStatus"; - _requests[2650] = new DefaultHttpContext(); - _requests[2650].RequestServices = CreateServices(); - _requests[2650].Request.Method = "POST"; - _requests[2650].Request.Path = "/subscriptions/cc6d9900-02ca-/resourceGroups/fb046a2a-45f4-4a2/providers/Microsoft.CustomerInsights/hubs/2f31513/profiles/83b81ab7-f1/getEnrichingKpis"; - _requests[2651] = new DefaultHttpContext(); - _requests[2651].RequestServices = CreateServices(); - _requests[2651].Request.Method = "POST"; - _requests[2651].Request.Path = "/subscriptions/cb54ab64-3b21-/resourceGroups/e49b74c8-b771-4a0/providers/Microsoft.DataFactory/factories/9a8d8b60-ff/integrationRuntimes/c206c0ea-398e-4877-8a0/getConnectionInfo"; - _requests[2652] = new DefaultHttpContext(); - _requests[2652].RequestServices = CreateServices(); - _requests[2652].Request.Method = "POST"; - _requests[2652].Request.Path = "/subscriptions/b8064811-2559-/resourceGroups/40fd0b40-335e-4db/providers/Microsoft.DataFactory/factories/f9cf57d5-3b/integrationRuntimes/2ec5925f-eac7-4080-b4d/getStatus"; - _requests[2653] = new DefaultHttpContext(); - _requests[2653].RequestServices = CreateServices(); - _requests[2653].Request.Method = "POST"; - _requests[2653].Request.Path = "/subscriptions/bb4a2c57-8723-/resourceGroups/9323deb7-a920-475/providers/Microsoft.DataFactory/factories/7719b720-a8/integrationRuntimes/8162d3ef-c789-4912-8b3/listAuthKeys"; - _requests[2654] = new DefaultHttpContext(); - _requests[2654].RequestServices = CreateServices(); - _requests[2654].Request.Method = "POST"; - _requests[2654].Request.Path = "/subscriptions/6f6a0933-0927-/resourceGroups/5fd5ab00-29f6-4c9/providers/Microsoft.DataFactory/factories/b5fece04-0d/integrationRuntimes/f484dfef-96a3-48e1-8f8/monitoringData"; - _requests[2655] = new DefaultHttpContext(); - _requests[2655].RequestServices = CreateServices(); - _requests[2655].Request.Method = "POST"; - _requests[2655].Request.Path = "/subscriptions/431a07eb-9e7d-/resourceGroups/5c6d7b00-2258-439/providers/Microsoft.DataFactory/factories/991d192c-19/integrationRuntimes/d250a799-6c52-40cc-84f/regenerateAuthKey"; - _requests[2656] = new DefaultHttpContext(); - _requests[2656].RequestServices = CreateServices(); - _requests[2656].Request.Method = "POST"; - _requests[2656].Request.Path = "/subscriptions/c8d43e9f-abcd-/resourceGroups/710b7e73-5f14-4de/providers/Microsoft.DataFactory/factories/c17da2ce-07/integrationRuntimes/5734b580-6452-4052-84c/removeNode"; - _requests[2657] = new DefaultHttpContext(); - _requests[2657].RequestServices = CreateServices(); - _requests[2657].Request.Method = "POST"; - _requests[2657].Request.Path = "/subscriptions/5e20ecee-0de0-/resourceGroups/53b7ebb6-3f69-4a8/providers/Microsoft.DataFactory/factories/0202f465-06/integrationRuntimes/0e2208c1-6f39-4d57-b58/start"; - _requests[2658] = new DefaultHttpContext(); - _requests[2658].RequestServices = CreateServices(); - _requests[2658].Request.Method = "POST"; - _requests[2658].Request.Path = "/subscriptions/5a0b5bb1-8bf6-/resourceGroups/422b2e62-359c-431/providers/Microsoft.DataFactory/factories/f9055b5f-94/integrationRuntimes/230c087d-9aba-4245-9f2/stop"; - _requests[2659] = new DefaultHttpContext(); - _requests[2659].RequestServices = CreateServices(); - _requests[2659].Request.Method = "POST"; - _requests[2659].Request.Path = "/subscriptions/48abf61c-3830-/resourceGroups/4cc4fa66-efd0-4d1/providers/Microsoft.DataFactory/factories/a509419e-a0/integrationRuntimes/6f38903a-c405-42c2-84f/syncCredentials"; - _requests[2660] = new DefaultHttpContext(); - _requests[2660].RequestServices = CreateServices(); - _requests[2660].Request.Method = "POST"; - _requests[2660].Request.Path = "/subscriptions/b040f6e8-597a-/resourceGroups/3257098b-c1d2-421/providers/Microsoft.DataFactory/factories/3bc560ad-08/integrationRuntimes/69e6040e-ac49-4ddb-ada/upgrade"; - _requests[2661] = new DefaultHttpContext(); - _requests[2661].RequestServices = CreateServices(); - _requests[2661].Request.Method = "GET"; - _requests[2661].Request.Path = "/subscriptions/93c0dd54-d255-/resourceGroups/2fd2bbfd-a4eb-416/providers/Microsoft.DataFactory/factories/7ef4c4a0-4f/pipelineruns/6dcd9/activityruns"; - _requests[2662] = new DefaultHttpContext(); - _requests[2662].RequestServices = CreateServices(); - _requests[2662].Request.Method = "POST"; - _requests[2662].Request.Path = "/subscriptions/c073a2f9-58b4-/resourceGroups/3c5658c8-4dd5-4f9/providers/Microsoft.DataFactory/factories/526e8962-96/pipelines/f124fbad-3bb/createRun"; - _requests[2663] = new DefaultHttpContext(); - _requests[2663].RequestServices = CreateServices(); - _requests[2663].Request.Method = "POST"; - _requests[2663].Request.Path = "/subscriptions/bfc61440-42aa-/resourceGroups/785eda26-161d-467/providers/Microsoft.DataFactory/factories/cd40b2f0-64/triggers/a787e349-61/start"; - _requests[2664] = new DefaultHttpContext(); - _requests[2664].RequestServices = CreateServices(); - _requests[2664].Request.Method = "POST"; - _requests[2664].Request.Path = "/subscriptions/85138195-078e-/resourceGroups/4c55549e-5c4b-4d9/providers/Microsoft.DataFactory/factories/4c742bbb-76/triggers/ac3fd5c7-0a/stop"; - _requests[2665] = new DefaultHttpContext(); - _requests[2665].RequestServices = CreateServices(); - _requests[2665].Request.Method = "GET"; - _requests[2665].Request.Path = "/subscriptions/aa71b827-4db5-/resourceGroups/a01e3c38-06ae-48c/providers/Microsoft.DataFactory/factories/6d502619-6c/triggers/6a3ca3bf-63/triggerruns"; - _requests[2666] = new DefaultHttpContext(); - _requests[2666].RequestServices = CreateServices(); - _requests[2666].Request.Method = "GET"; - _requests[2666].Request.Path = "/subscriptions/136c107b-f61b-/resourceGroups/5f641336-bb16-44a/providers/Microsoft.DataLakeAnalytics/accounts/9f9f6df7-f9/storageAccounts/49af8ee1-27d3-4602/containers"; - _requests[2667] = new DefaultHttpContext(); - _requests[2667].RequestServices = CreateServices(); - _requests[2667].Request.Method = "POST"; - _requests[2667].Request.Path = "/subscriptions/75fb4b9b-4241-/resourceGroups/9ef774c3-87b0-440/providers/Microsoft.Devices/IotHubs/d09c7bab-717/certificates/627af162-39f8-4/generateVerificationCode"; - _requests[2668] = new DefaultHttpContext(); - _requests[2668].RequestServices = CreateServices(); - _requests[2668].Request.Method = "POST"; - _requests[2668].Request.Path = "/subscriptions/66ae4e45-570f-/resourceGroups/05943f22-14cb-4a5/providers/Microsoft.Devices/IotHubs/ebb84b1d-90d/certificates/106d1733-9ab4-4/verify"; - _requests[2669] = new DefaultHttpContext(); - _requests[2669].RequestServices = CreateServices(); - _requests[2669].Request.Method = "GET"; - _requests[2669].Request.Path = "/subscriptions/a4ecf38d-20a6-/resourceGroups/85385937-9f1b-4e7/providers/Microsoft.Devices/IotHubs/dd71afd6-198/eventHubEndpoints/f6242815-1d0e-4a4e-9/ConsumerGroups"; - _requests[2670] = new DefaultHttpContext(); - _requests[2670].RequestServices = CreateServices(); - _requests[2670].Request.Method = "POST"; - _requests[2670].Request.Path = "/subscriptions/2b2b1eb5-bef9-/resourceGroups/093bb0cf-1985-472/providers/Microsoft.Devices/IotHubs/e96f3a5a-bf2/IotHubKeys/86be57f/listkeys"; - _requests[2671] = new DefaultHttpContext(); - _requests[2671].RequestServices = CreateServices(); - _requests[2671].Request.Method = "POST"; - _requests[2671].Request.Path = "/subscriptions/609bceb5-bda3-/resourceGroups/3c33907b-e15d-40b/providers/Microsoft.Devices/provisioningServices/e9b4ac51-3e93-4817-9b93/certificates/4e53a62e-efac-4/generateVerificationCode"; - _requests[2672] = new DefaultHttpContext(); - _requests[2672].RequestServices = CreateServices(); - _requests[2672].Request.Method = "POST"; - _requests[2672].Request.Path = "/subscriptions/c892f67a-7a05-/resourceGroups/6e29f375-1822-490/providers/Microsoft.Devices/provisioningServices/abf87799-db7d-4315-abee/certificates/1f68f0f3-54c5-4/verify"; - _requests[2673] = new DefaultHttpContext(); - _requests[2673].RequestServices = CreateServices(); - _requests[2673].Request.Method = "POST"; - _requests[2673].Request.Path = "/subscriptions/181cc535-1c26-/resourceGroups/38bfa40c-efc9-4f7/providers/Microsoft.Devices/provisioningServices/a26365ea-67d7-4f33-86ed/keys/8af0479/listkeys"; - _requests[2674] = new DefaultHttpContext(); - _requests[2674].RequestServices = CreateServices(); - _requests[2674].Request.Method = "GET"; - _requests[2674].Request.Path = "/subscriptions/43bbb7f2-6593-/resourceGroups/f005e638-e0fa-4ca/providers/Microsoft.DevTestLab/labs/e33cacf/artifactsources/671b74b4-8d9d-427d/armtemplates"; - _requests[2675] = new DefaultHttpContext(); - _requests[2675].RequestServices = CreateServices(); - _requests[2675].Request.Method = "GET"; - _requests[2675].Request.Path = "/subscriptions/27014891-471c-/resourceGroups/0f0d3750-27e8-43d/providers/Microsoft.DevTestLab/labs/c5c784d/artifactsources/abc0f694-3f9d-4acf/artifacts"; - _requests[2676] = new DefaultHttpContext(); - _requests[2676].RequestServices = CreateServices(); - _requests[2676].Request.Method = "POST"; - _requests[2676].Request.Path = "/subscriptions/2485e745-0441-/resourceGroups/58faec3c-35a1-432/providers/Microsoft.DevTestLab/labs/4ad932a/costinsights/f2107/refreshData"; - _requests[2677] = new DefaultHttpContext(); - _requests[2677].RequestServices = CreateServices(); - _requests[2677].Request.Method = "POST"; - _requests[2677].Request.Path = "/subscriptions/c6862253-8fa5-/resourceGroups/dd4e5302-2479-413/providers/Microsoft.DevTestLab/labs/fb3ebd1/costs/9cf21/refreshData"; - _requests[2678] = new DefaultHttpContext(); - _requests[2678].RequestServices = CreateServices(); - _requests[2678].Request.Method = "POST"; - _requests[2678].Request.Path = "/subscriptions/d8888773-f395-/resourceGroups/1d7f598d-1291-4aa/providers/Microsoft.DevTestLab/labs/746fc84/notificationchannels/6b3a4/notify"; - _requests[2679] = new DefaultHttpContext(); - _requests[2679].RequestServices = CreateServices(); - _requests[2679].Request.Method = "POST"; - _requests[2679].Request.Path = "/subscriptions/a554b4db-a997-/resourceGroups/44f31f37-f531-412/providers/Microsoft.DevTestLab/labs/fa8c3b2/policysets/ea358/evaluatePolicies"; - _requests[2680] = new DefaultHttpContext(); - _requests[2680].RequestServices = CreateServices(); - _requests[2680].Request.Method = "GET"; - _requests[2680].Request.Path = "/subscriptions/1d40125f-58ee-/resourceGroups/16f081b9-4eb5-4ea/providers/Microsoft.DevTestLab/labs/5407ada/policysets/b32df4f8-4930/policies"; - _requests[2681] = new DefaultHttpContext(); - _requests[2681].RequestServices = CreateServices(); - _requests[2681].Request.Method = "POST"; - _requests[2681].Request.Path = "/subscriptions/613adc65-219e-/resourceGroups/664371df-b403-453/providers/Microsoft.DevTestLab/labs/65b1796/schedules/fe34f/execute"; - _requests[2682] = new DefaultHttpContext(); - _requests[2682].RequestServices = CreateServices(); - _requests[2682].Request.Method = "POST"; - _requests[2682].Request.Path = "/subscriptions/a0c76901-4264-/resourceGroups/2e84720c-c274-4cd/providers/Microsoft.DevTestLab/labs/4577b19/schedules/6fd49/listApplicable"; - _requests[2683] = new DefaultHttpContext(); - _requests[2683].RequestServices = CreateServices(); - _requests[2683].Request.Method = "GET"; - _requests[2683].Request.Path = "/subscriptions/a6f1ff6d-a331-/resourceGroups/44efe6e0-3317-407/providers/Microsoft.DevTestLab/labs/f70eada/users/2b5959b9/disks"; - _requests[2684] = new DefaultHttpContext(); - _requests[2684].RequestServices = CreateServices(); - _requests[2684].Request.Method = "GET"; - _requests[2684].Request.Path = "/subscriptions/42ff051f-c81b-/resourceGroups/1a888ecd-888f-484/providers/Microsoft.DevTestLab/labs/47e3897/users/7cfbb7cc/environments"; - _requests[2685] = new DefaultHttpContext(); - _requests[2685].RequestServices = CreateServices(); - _requests[2685].Request.Method = "GET"; - _requests[2685].Request.Path = "/subscriptions/d329f966-906b-/resourceGroups/e5284fdd-2c10-4e0/providers/Microsoft.DevTestLab/labs/b810eef/users/808cebc1/secrets"; - _requests[2686] = new DefaultHttpContext(); - _requests[2686].RequestServices = CreateServices(); - _requests[2686].Request.Method = "POST"; - _requests[2686].Request.Path = "/subscriptions/951d4819-1442-/resourceGroups/0318096e-5425-464/providers/Microsoft.DevTestLab/labs/33e42fb/virtualmachines/c363a/addDataDisk"; - _requests[2687] = new DefaultHttpContext(); - _requests[2687].RequestServices = CreateServices(); - _requests[2687].Request.Method = "POST"; - _requests[2687].Request.Path = "/subscriptions/7f46ca96-54dc-/resourceGroups/cb90212e-f496-464/providers/Microsoft.DevTestLab/labs/ad90471/virtualmachines/69a27/applyArtifacts"; - _requests[2688] = new DefaultHttpContext(); - _requests[2688].RequestServices = CreateServices(); - _requests[2688].Request.Method = "POST"; - _requests[2688].Request.Path = "/subscriptions/00f5c52c-65fd-/resourceGroups/3dcd4e15-6bd9-455/providers/Microsoft.DevTestLab/labs/7f9f680/virtualmachines/e3596/claim"; - _requests[2689] = new DefaultHttpContext(); - _requests[2689].RequestServices = CreateServices(); - _requests[2689].Request.Method = "POST"; - _requests[2689].Request.Path = "/subscriptions/cb5303c6-1ae2-/resourceGroups/9d728c24-cb3f-46b/providers/Microsoft.DevTestLab/labs/fe40994/virtualmachines/e4fdb/detachDataDisk"; - _requests[2690] = new DefaultHttpContext(); - _requests[2690].RequestServices = CreateServices(); - _requests[2690].Request.Method = "POST"; - _requests[2690].Request.Path = "/subscriptions/3f25f3c2-158c-/resourceGroups/2f908289-1fe6-4dc/providers/Microsoft.DevTestLab/labs/c19f965/virtualmachines/a2dd2/listApplicableSchedules"; - _requests[2691] = new DefaultHttpContext(); - _requests[2691].RequestServices = CreateServices(); - _requests[2691].Request.Method = "POST"; - _requests[2691].Request.Path = "/subscriptions/392fa8bc-c101-/resourceGroups/02c21c98-0492-47e/providers/Microsoft.DevTestLab/labs/0a6783b/virtualmachines/23639/start"; - _requests[2692] = new DefaultHttpContext(); - _requests[2692].RequestServices = CreateServices(); - _requests[2692].Request.Method = "POST"; - _requests[2692].Request.Path = "/subscriptions/019c1fcb-5699-/resourceGroups/0620a703-5141-4a3/providers/Microsoft.DevTestLab/labs/c4ec65e/virtualmachines/e3512/stop"; - _requests[2693] = new DefaultHttpContext(); - _requests[2693].RequestServices = CreateServices(); - _requests[2693].Request.Method = "GET"; - _requests[2693].Request.Path = "/subscriptions/a1e45fcd-8b3f-/resourceGroups/4830d5db-bbe3-43e/providers/Microsoft.DevTestLab/labs/92a9dc8/virtualmachines/0ae5ff59-e5a6-4c10/schedules"; - _requests[2694] = new DefaultHttpContext(); - _requests[2694].RequestServices = CreateServices(); - _requests[2694].Request.Method = "GET"; - _requests[2694].Request.Path = "/subscriptions/74e7471c-02a5-/resourceGroups/37b97447-d54b-4de/providers/Microsoft.DocumentDB/databaseAccounts/84e753e7-e8/databases/bc58ad6c-a8/metricDefinitions"; - _requests[2695] = new DefaultHttpContext(); - _requests[2695].RequestServices = CreateServices(); - _requests[2695].Request.Method = "GET"; - _requests[2695].Request.Path = "/subscriptions/4331c961-b821-/resourceGroups/b09dcea5-539a-417/providers/Microsoft.DocumentDB/databaseAccounts/991e9d66-1e/databases/288b872a-63/metrics"; - _requests[2696] = new DefaultHttpContext(); - _requests[2696].RequestServices = CreateServices(); - _requests[2696].Request.Method = "GET"; - _requests[2696].Request.Path = "/subscriptions/398054a8-c6bf-/resourceGroups/08b44855-652b-47b/providers/Microsoft.DocumentDB/databaseAccounts/a6280cdc-ee/databases/1c059321-ba/usages"; - _requests[2697] = new DefaultHttpContext(); - _requests[2697].RequestServices = CreateServices(); - _requests[2697].Request.Method = "GET"; - _requests[2697].Request.Path = "/subscriptions/79206e29-02bb-/resourceGroups/7ccf5e82-d848-4b2/providers/Microsoft.DocumentDB/databaseAccounts/0e4fcdaf-81/region/6c8164/metrics"; - _requests[2698] = new DefaultHttpContext(); - _requests[2698].RequestServices = CreateServices(); - _requests[2698].Request.Method = "GET"; - _requests[2698].Request.Path = "/subscriptions/796981e9-06d0-/resourceGroups/553385ee-9099-42c/providers/Microsoft.EventGrid/locations/6070550b/topicTypes/887928a5-8960/eventSubscriptions"; - _requests[2699] = new DefaultHttpContext(); - _requests[2699].RequestServices = CreateServices(); - _requests[2699].Request.Method = "POST"; - _requests[2699].Request.Path = "/subscriptions/901a9adc-8eaa-/resourceGroups/b906b869-351b-43c/providers/Microsoft.EventHub/namespaces/740bc23c-b2e3/AuthorizationRules/1933f519-7076-4753-ae/listKeys"; - _requests[2700] = new DefaultHttpContext(); - _requests[2700].RequestServices = CreateServices(); - _requests[2700].Request.Method = "POST"; - _requests[2700].Request.Path = "/subscriptions/65da6763-9ce0-/resourceGroups/f5238436-e13c-475/providers/Microsoft.EventHub/namespaces/249b2719-e1a5/AuthorizationRules/4ca17c8c-6b03-47b6-bf/regenerateKeys"; - _requests[2701] = new DefaultHttpContext(); - _requests[2701].RequestServices = CreateServices(); - _requests[2701].Request.Method = "GET"; - _requests[2701].Request.Path = "/subscriptions/cc5f7140-9d2f-/resourceGroups/dc140554-5eb6-47a/providers/Microsoft.EventHub/namespaces/09a1c36a-1005/disasterRecoveryConfigs/c843e/AuthorizationRules"; - _requests[2702] = new DefaultHttpContext(); - _requests[2702].RequestServices = CreateServices(); - _requests[2702].Request.Method = "POST"; - _requests[2702].Request.Path = "/subscriptions/ee3288dd-8ed5-/resourceGroups/37484c0e-3ca1-42f/providers/Microsoft.EventHub/namespaces/bcfe59ff-1980/disasterRecoveryConfigs/d7377/breakPairing"; - _requests[2703] = new DefaultHttpContext(); - _requests[2703].RequestServices = CreateServices(); - _requests[2703].Request.Method = "POST"; - _requests[2703].Request.Path = "/subscriptions/a238678e-ea0b-/resourceGroups/087e531a-9f1d-4e7/providers/Microsoft.EventHub/namespaces/634b7ed6-2d35/disasterRecoveryConfigs/c2f04/failover"; - _requests[2704] = new DefaultHttpContext(); - _requests[2704].RequestServices = CreateServices(); - _requests[2704].Request.Method = "GET"; - _requests[2704].Request.Path = "/subscriptions/1ee477ab-ed4a-/resourceGroups/411ffa40-6264-4c0/providers/Microsoft.EventHub/namespaces/cc62e480-0803/eventhubs/f69552e9-c05/authorizationRules"; - _requests[2705] = new DefaultHttpContext(); - _requests[2705].RequestServices = CreateServices(); - _requests[2705].Request.Method = "GET"; - _requests[2705].Request.Path = "/subscriptions/b8b40046-6204-/resourceGroups/f6a7ca83-4f4a-449/providers/Microsoft.EventHub/namespaces/53f6892c-68ae/eventhubs/4f1ca596-bba/consumergroups"; - _requests[2706] = new DefaultHttpContext(); - _requests[2706].RequestServices = CreateServices(); - _requests[2706].Request.Method = "POST"; - _requests[2706].Request.Path = "/subscriptions/577760fa-9942-/resourceGroups/af070a4c-ae82-41b/providers/Microsoft.Fabric.Admin/fabricLocations/dbb12fa4/infraRoleInstances/952fce9a-bb76-484/PowerOff"; - _requests[2707] = new DefaultHttpContext(); - _requests[2707].RequestServices = CreateServices(); - _requests[2707].Request.Method = "POST"; - _requests[2707].Request.Path = "/subscriptions/83c2dc42-6694-/resourceGroups/062b19cb-c2ed-49b/providers/Microsoft.Fabric.Admin/fabricLocations/70e8fda4/infraRoleInstances/6c78d079-f70d-47a/PowerOn"; - _requests[2708] = new DefaultHttpContext(); - _requests[2708].RequestServices = CreateServices(); - _requests[2708].Request.Method = "POST"; - _requests[2708].Request.Path = "/subscriptions/90de848a-21c4-/resourceGroups/8f0cd137-2733-43e/providers/Microsoft.Fabric.Admin/fabricLocations/45b0aa49/infraRoleInstances/556b27dc-54b9-48c/Reboot"; - _requests[2709] = new DefaultHttpContext(); - _requests[2709].RequestServices = CreateServices(); - _requests[2709].Request.Method = "POST"; - _requests[2709].Request.Path = "/subscriptions/04da4b94-8879-/resourceGroups/d1c2de26-8db6-483/providers/Microsoft.Fabric.Admin/fabricLocations/62da5dca/infraRoleInstances/6cd47edf-9bf3-47d/Shutdown"; - _requests[2710] = new DefaultHttpContext(); - _requests[2710].RequestServices = CreateServices(); - _requests[2710].Request.Method = "POST"; - _requests[2710].Request.Path = "/subscriptions/c59376d4-53ca-/resourceGroups/aeaa1ad4-bfd3-447/providers/Microsoft.Fabric.Admin/fabricLocations/ced507a5/infraRoles/71309c61-/Restart"; - _requests[2711] = new DefaultHttpContext(); - _requests[2711].RequestServices = CreateServices(); - _requests[2711].Request.Method = "GET"; - _requests[2711].Request.Path = "/subscriptions/e8a0aa14-7c5c-/resourceGroups/dd7ca232-3e31-4df/providers/Microsoft.Fabric.Admin/fabricLocations/d40ac352/logicalNetworks/69a849e8-3afd-/logicalSubnets"; - _requests[2712] = new DefaultHttpContext(); - _requests[2712].RequestServices = CreateServices(); - _requests[2712].Request.Method = "POST"; - _requests[2712].Request.Path = "/subscriptions/77e71cab-4593-/resourceGroups/b8b2e6fa-8ac7-45d/providers/Microsoft.Fabric.Admin/fabricLocations/627d74b1/scaleUnitNodes/7c0aea70-3ed4/PowerOff"; - _requests[2713] = new DefaultHttpContext(); - _requests[2713].RequestServices = CreateServices(); - _requests[2713].Request.Method = "POST"; - _requests[2713].Request.Path = "/subscriptions/0c294c0f-be7c-/resourceGroups/468bd2bf-ea90-438/providers/Microsoft.Fabric.Admin/fabricLocations/8ee5ea25/scaleUnitNodes/20ed3e8f-c8ce/PowerOn"; - _requests[2714] = new DefaultHttpContext(); - _requests[2714].RequestServices = CreateServices(); - _requests[2714].Request.Method = "POST"; - _requests[2714].Request.Path = "/subscriptions/c19bbf18-2a56-/resourceGroups/f0d4981d-8a08-443/providers/Microsoft.Fabric.Admin/fabricLocations/a913348d/scaleUnitNodes/8d485342-3e01/Repair"; - _requests[2715] = new DefaultHttpContext(); - _requests[2715].RequestServices = CreateServices(); - _requests[2715].Request.Method = "POST"; - _requests[2715].Request.Path = "/subscriptions/6112b696-13eb-/resourceGroups/d9ba8157-1fe7-4e6/providers/Microsoft.Fabric.Admin/fabricLocations/9e63eaa4/scaleUnitNodes/4f24bcbb-520a/Shutdown"; - _requests[2716] = new DefaultHttpContext(); - _requests[2716].RequestServices = CreateServices(); - _requests[2716].Request.Method = "POST"; - _requests[2716].Request.Path = "/subscriptions/d504bd57-b203-/resourceGroups/d58f5799-4ded-4d0/providers/Microsoft.Fabric.Admin/fabricLocations/435ceca0/scaleUnitNodes/4bfe6137-a088/StartMaintenanceMode"; - _requests[2717] = new DefaultHttpContext(); - _requests[2717].RequestServices = CreateServices(); - _requests[2717].Request.Method = "POST"; - _requests[2717].Request.Path = "/subscriptions/30485d61-de85-/resourceGroups/721d07cb-feeb-41c/providers/Microsoft.Fabric.Admin/fabricLocations/f1ef9669/scaleUnitNodes/99deae6f-f083/StopMaintenanceMode"; - _requests[2718] = new DefaultHttpContext(); - _requests[2718].RequestServices = CreateServices(); - _requests[2718].Request.Method = "POST"; - _requests[2718].Request.Path = "/subscriptions/e39f1b00-06ed-/resourceGroups/7ade10fd-e59a-456/providers/Microsoft.Fabric.Admin/fabricLocations/d40ec008/scaleUnits/9d8a56a9-/ScaleOut"; - _requests[2719] = new DefaultHttpContext(); - _requests[2719].RequestServices = CreateServices(); - _requests[2719].Request.Method = "GET"; - _requests[2719].Request.Path = "/subscriptions/19c8d319-5474-/resourceGroups/24a8d33c-a784-43b/providers/Microsoft.Fabric.Admin/fabricLocations/5a9a2d25/storageSubSystems/21181ae6-bad2-44/storagePools"; - _requests[2720] = new DefaultHttpContext(); - _requests[2720].RequestServices = CreateServices(); - _requests[2720].Request.Method = "POST"; - _requests[2720].Request.Path = "/subscriptions/3eedc10f-74ac-/resourceGroups/f89b0ba0-4ab1-47b/providers/Microsoft.HDInsight/clusters/70d0732c-ce/roles/640a0443/resize"; - _requests[2721] = new DefaultHttpContext(); - _requests[2721].RequestServices = CreateServices(); - _requests[2721].Request.Method = "POST"; - _requests[2721].Request.Path = "/subscriptions/31ffebaf-7cce-/resourceGroups/af2508c6-32ee-419/providers/Microsoft.HDInsight/clusters/32533558-9b/scriptExecutionHistory/c84e974c-46cd-46b/promote"; - _requests[2722] = new DefaultHttpContext(); - _requests[2722].RequestServices = CreateServices(); - _requests[2722].Request.Method = "GET"; - _requests[2722].Request.Path = "/subscriptions/2c41f153-fc33-/resourceGroups/c2d04d81-7924-4e2/providers/Microsoft.InfrastructureInsights.Admin/regionHealths/92ad702e/serviceHealths/468db43c-90c9-457b-80/resourceHealths"; - _requests[2723] = new DefaultHttpContext(); - _requests[2723].RequestServices = CreateServices(); - _requests[2723].Request.Method = "POST"; - _requests[2723].Request.Path = "/subscriptions/4ffacbf4-5216-/resourceGroups/747d5a62-0b7d-4e1/providers/Microsoft.Logic/integrationAccounts/91017f92-485c-4dba-9ba/agreements/3ca42828-a443/listContentCallbackUrl"; - _requests[2724] = new DefaultHttpContext(); - _requests[2724].RequestServices = CreateServices(); - _requests[2724].Request.Method = "POST"; - _requests[2724].Request.Path = "/subscriptions/6a5a962c-df04-/resourceGroups/594d252b-3de7-43e/providers/Microsoft.Logic/integrationAccounts/96188607-9be0-4403-bdb/assemblies/7cd8735b-a93d-433d-8/listContentCallbackUrl"; - _requests[2725] = new DefaultHttpContext(); - _requests[2725].RequestServices = CreateServices(); - _requests[2725].Request.Method = "POST"; - _requests[2725].Request.Path = "/subscriptions/8cff1128-79d6-/resourceGroups/4c7e5916-952f-49b/providers/Microsoft.Logic/integrationAccounts/594ea183-cdaf-42a0-943/maps/2d3636e/listContentCallbackUrl"; - _requests[2726] = new DefaultHttpContext(); - _requests[2726].RequestServices = CreateServices(); - _requests[2726].Request.Method = "POST"; - _requests[2726].Request.Path = "/subscriptions/2d414ee1-eb86-/resourceGroups/155c0d9f-a1ff-4fd/providers/Microsoft.Logic/integrationAccounts/3d6abf81-d42d-45c8-987/partners/a6fa73ff-1b/listContentCallbackUrl"; - _requests[2727] = new DefaultHttpContext(); - _requests[2727].RequestServices = CreateServices(); - _requests[2727].Request.Method = "POST"; - _requests[2727].Request.Path = "/subscriptions/82b08c2c-0923-/resourceGroups/33f9a2d0-b6a8-479/providers/Microsoft.Logic/integrationAccounts/ec84d6b9-0be3-432c-a48/schemas/81633cd1-9/listContentCallbackUrl"; - _requests[2728] = new DefaultHttpContext(); - _requests[2728].RequestServices = CreateServices(); - _requests[2728].Request.Method = "POST"; - _requests[2728].Request.Path = "/subscriptions/891356b1-8236-/resourceGroups/28c59c1e-ec34-4ad/providers/Microsoft.Logic/locations/89f11b60/workflows/7be12abe-d19/validate"; - _requests[2729] = new DefaultHttpContext(); - _requests[2729].RequestServices = CreateServices(); - _requests[2729].Request.Method = "POST"; - _requests[2729].Request.Path = "/subscriptions/74a7b243-a04a-/resourceGroups/35d848cd-8ace-4bf/providers/Microsoft.Logic/workflows/bf036f4b-50b/accessKeys/ed8f9c8c-b141/list"; - _requests[2730] = new DefaultHttpContext(); - _requests[2730].RequestServices = CreateServices(); - _requests[2730].Request.Method = "POST"; - _requests[2730].Request.Path = "/subscriptions/63cdd394-a407-/resourceGroups/1bfbe78c-8861-4e7/providers/Microsoft.Logic/workflows/429e3bc2-607/accessKeys/04928fc2-d735/regenerate"; - _requests[2731] = new DefaultHttpContext(); - _requests[2731].RequestServices = CreateServices(); - _requests[2731].Request.Method = "GET"; - _requests[2731].Request.Path = "/subscriptions/4b63627d-f924-/resourceGroups/d58b1a1a-d77c-4db/providers/Microsoft.Logic/workflows/773e7d67-e88/runs/518d0f6/actions"; - _requests[2732] = new DefaultHttpContext(); - _requests[2732].RequestServices = CreateServices(); - _requests[2732].Request.Method = "POST"; - _requests[2732].Request.Path = "/subscriptions/84d94f47-24e4-/resourceGroups/ab483cbc-ee9a-460/providers/Microsoft.Logic/workflows/89c851ec-aa7/runs/c684eec/cancel"; - _requests[2733] = new DefaultHttpContext(); - _requests[2733].RequestServices = CreateServices(); - _requests[2733].Request.Method = "GET"; - _requests[2733].Request.Path = "/subscriptions/dfe5fc7e-d15e-/resourceGroups/24159632-869d-4a1/providers/Microsoft.Logic/workflows/9bc06408-fb7/triggers/6d98fba0-18/histories"; - _requests[2734] = new DefaultHttpContext(); - _requests[2734].RequestServices = CreateServices(); - _requests[2734].Request.Method = "POST"; - _requests[2734].Request.Path = "/subscriptions/408b8850-9683-/resourceGroups/8596afbe-10ca-441/providers/Microsoft.Logic/workflows/53d5cd16-430/triggers/2b9af42e-6e/listCallbackUrl"; - _requests[2735] = new DefaultHttpContext(); - _requests[2735].RequestServices = CreateServices(); - _requests[2735].Request.Method = "POST"; - _requests[2735].Request.Path = "/subscriptions/a4c147e1-fd7a-/resourceGroups/b26b7273-ca32-47b/providers/Microsoft.Logic/workflows/3b287224-36c/triggers/f8e54047-7b/reset"; - _requests[2736] = new DefaultHttpContext(); - _requests[2736].RequestServices = CreateServices(); - _requests[2736].Request.Method = "POST"; - _requests[2736].Request.Path = "/subscriptions/7ebc8d97-da9c-/resourceGroups/e10b53eb-62af-4db/providers/Microsoft.Logic/workflows/f802d940-ef2/triggers/97a7bfb0-e1/run"; - _requests[2737] = new DefaultHttpContext(); - _requests[2737].RequestServices = CreateServices(); - _requests[2737].Request.Method = "POST"; - _requests[2737].Request.Path = "/subscriptions/11d26ca8-7ca1-/resourceGroups/3a3b29d0-002f-42d/providers/Microsoft.Logic/workflows/2946b606-bf8/triggers/a03d41cf-12/setState"; - _requests[2738] = new DefaultHttpContext(); - _requests[2738].RequestServices = CreateServices(); - _requests[2738].Request.Method = "POST"; - _requests[2738].Request.Path = "/subscriptions/7e0bc692-f556-/resourceGroups/ab4ebca7-3ce9-44b/providers/Microsoft.MachineLearning/commitmentPlans/a0365b88-0a54-4720/commitmentAssociations/80f689d4-a503-4af4-915a-6/move"; - _requests[2739] = new DefaultHttpContext(); - _requests[2739].RequestServices = CreateServices(); - _requests[2739].Request.Method = "POST"; - _requests[2739].Request.Path = "/subscriptions/14311e4f-482f-/resourceGroups/16610ae9-5710-41d/providers/Microsoft.Media/mediaServices/6629a449-3b/assets/8106bc6c-/getEncryptionKey"; - _requests[2740] = new DefaultHttpContext(); - _requests[2740].RequestServices = CreateServices(); - _requests[2740].Request.Method = "POST"; - _requests[2740].Request.Path = "/subscriptions/82ff8553-1b5f-/resourceGroups/e7f2c2a8-a555-4fd/providers/Microsoft.Media/mediaServices/570853c6-66/assets/e549645c-/listContainerSas"; - _requests[2741] = new DefaultHttpContext(); - _requests[2741].RequestServices = CreateServices(); - _requests[2741].Request.Method = "POST"; - _requests[2741].Request.Path = "/subscriptions/ac723cc6-906c-/resourceGroups/dbd02bd5-9128-40b/providers/Microsoft.Media/mediaServices/9700b273-e9/contentKeyPolicies/2ffa05dc-5648-4aeb-a/getPolicyPropertiesWithSecrets"; - _requests[2742] = new DefaultHttpContext(); - _requests[2742].RequestServices = CreateServices(); - _requests[2742].Request.Method = "GET"; - _requests[2742].Request.Path = "/subscriptions/59d601dd-be32-/resourceGroups/7d8f419c-4b26-41c/providers/Microsoft.Media/mediaservices/17d51641-2e/liveEvents/f6dc9dcf-0566/liveOutputs"; - _requests[2743] = new DefaultHttpContext(); - _requests[2743].RequestServices = CreateServices(); - _requests[2743].Request.Method = "POST"; - _requests[2743].Request.Path = "/subscriptions/2f4282fd-704b-/resourceGroups/f63700c2-95ce-4fb/providers/Microsoft.Media/mediaservices/eab6601a-ee/liveEvents/a6c9a21a-40c9/reset"; - _requests[2744] = new DefaultHttpContext(); - _requests[2744].RequestServices = CreateServices(); - _requests[2744].Request.Method = "POST"; - _requests[2744].Request.Path = "/subscriptions/5ea62f18-5abf-/resourceGroups/33f147be-0116-433/providers/Microsoft.Media/mediaservices/5710789a-fe/liveEvents/64dd9553-e6df/start"; - _requests[2745] = new DefaultHttpContext(); - _requests[2745].RequestServices = CreateServices(); - _requests[2745].Request.Method = "POST"; - _requests[2745].Request.Path = "/subscriptions/2307f0b9-c4a3-/resourceGroups/f73a1fd9-073a-4ca/providers/Microsoft.Media/mediaservices/18cc2892-23/liveEvents/4cdd3def-a1c3/stop"; - _requests[2746] = new DefaultHttpContext(); - _requests[2746].RequestServices = CreateServices(); - _requests[2746].Request.Method = "POST"; - _requests[2746].Request.Path = "/subscriptions/f9eda551-4444-/resourceGroups/e02d4f50-6942-43f/providers/Microsoft.Media/mediaservices/c833a6b6-f4/streamingEndpoints/f438489f-f3c4-4299-bd/scale"; - _requests[2747] = new DefaultHttpContext(); - _requests[2747].RequestServices = CreateServices(); - _requests[2747].Request.Method = "POST"; - _requests[2747].Request.Path = "/subscriptions/5831926e-d129-/resourceGroups/9628798b-0478-44f/providers/Microsoft.Media/mediaservices/14abda4a-5b/streamingEndpoints/3989098e-8453-4d94-8e/start"; - _requests[2748] = new DefaultHttpContext(); - _requests[2748].RequestServices = CreateServices(); - _requests[2748].Request.Method = "POST"; - _requests[2748].Request.Path = "/subscriptions/2de35a02-c7c2-/resourceGroups/395a84e0-f578-421/providers/Microsoft.Media/mediaservices/01568e34-bf/streamingEndpoints/7d16d900-fc24-4e11-86/stop"; - _requests[2749] = new DefaultHttpContext(); - _requests[2749].RequestServices = CreateServices(); - _requests[2749].Request.Method = "POST"; - _requests[2749].Request.Path = "/subscriptions/399c8d4e-47ba-/resourceGroups/db9517db-b613-445/providers/Microsoft.Media/mediaServices/7fb95641-a3/streamingLocators/4d4f050d-5d83-4ee3-a/listContentKeys"; - _requests[2750] = new DefaultHttpContext(); - _requests[2750].RequestServices = CreateServices(); - _requests[2750].Request.Method = "POST"; - _requests[2750].Request.Path = "/subscriptions/f0261196-6c8b-/resourceGroups/335233c2-b9be-458/providers/Microsoft.Media/mediaServices/eef8e66f-b3/streamingLocators/9efb7d99-8506-4e25-a/listPaths"; - _requests[2751] = new DefaultHttpContext(); - _requests[2751].RequestServices = CreateServices(); - _requests[2751].Request.Method = "GET"; - _requests[2751].Request.Path = "/subscriptions/612b1af0-8891-/resourceGroups/89602fcc-bb20-47b/providers/Microsoft.Media/mediaServices/1be53670-02/transforms/18712144-d56f/jobs"; - _requests[2752] = new DefaultHttpContext(); - _requests[2752].RequestServices = CreateServices(); - _requests[2752].Request.Method = "GET"; - _requests[2752].Request.Path = "/subscriptions/420852f6-2c40-/resourceGroups/fe956d80-17c3-44f/providers/Microsoft.Migrate/projects/7fbd1b4b-31/groups/5fa700c7-/assessments"; - _requests[2753] = new DefaultHttpContext(); - _requests[2753].RequestServices = CreateServices(); - _requests[2753].Request.Method = "GET"; - _requests[2753].Request.Path = "/subscriptions/74f7ff79-7a5f-/resourceGroups/ebcb5f0a-461a-4a5/providers/Microsoft.Network/expressRouteCircuits/8f8d8396-de/peerings/683f8027-64/stats"; - _requests[2754] = new DefaultHttpContext(); - _requests[2754].RequestServices = CreateServices(); - _requests[2754].Request.Method = "POST"; - _requests[2754].Request.Path = "/subscriptions/27db1e46-8114-/resourceGroups/950f5dbe-e8c3-45a/providers/Microsoft.Network/networkWatchers/ec42533b-30fb-48e8/connectionMonitors/23e88e5a-7d4f-4442-ac/query"; - _requests[2755] = new DefaultHttpContext(); - _requests[2755].RequestServices = CreateServices(); - _requests[2755].Request.Method = "POST"; - _requests[2755].Request.Path = "/subscriptions/8de63a0d-8331-/resourceGroups/fd3be36c-ec0c-4ae/providers/Microsoft.Network/networkWatchers/14a526ea-a6e6-4898/connectionMonitors/3ab26a2e-3a3e-409b-a0/start"; - _requests[2756] = new DefaultHttpContext(); - _requests[2756].RequestServices = CreateServices(); - _requests[2756].Request.Method = "POST"; - _requests[2756].Request.Path = "/subscriptions/ea9e0994-c405-/resourceGroups/f4ee506b-2a70-4ab/providers/Microsoft.Network/networkWatchers/1251cf49-aaba-419d/connectionMonitors/9638aaf5-41ab-4b58-a2/stop"; - _requests[2757] = new DefaultHttpContext(); - _requests[2757].RequestServices = CreateServices(); - _requests[2757].Request.Method = "POST"; - _requests[2757].Request.Path = "/subscriptions/afa46c19-bba3-/resourceGroups/b15cfee9-0fc3-48a/providers/Microsoft.Network/networkWatchers/828f6e86-a29e-4a16/packetCaptures/85782d20-7476-44e/queryStatus"; - _requests[2758] = new DefaultHttpContext(); - _requests[2758].RequestServices = CreateServices(); - _requests[2758].Request.Method = "POST"; - _requests[2758].Request.Path = "/subscriptions/880f3b49-7044-/resourceGroups/f2c47489-aa06-4fd/providers/Microsoft.Network/networkWatchers/fc4038ee-debe-45bd/packetCaptures/d75c72b1-6971-402/stop"; - _requests[2759] = new DefaultHttpContext(); - _requests[2759].RequestServices = CreateServices(); - _requests[2759].Request.Method = "POST"; - _requests[2759].Request.Path = "/subscriptions/922ec167-d025-/resourceGroups/d8a856fd-7bcd-4eb/providers/Microsoft.NotificationHubs/namespaces/4c290530-08f0/AuthorizationRules/4ee0c914-16e8-44a0-ba/listKeys"; - _requests[2760] = new DefaultHttpContext(); - _requests[2760].RequestServices = CreateServices(); - _requests[2760].Request.Method = "POST"; - _requests[2760].Request.Path = "/subscriptions/ef6033c9-8475-/resourceGroups/25b49fcb-5aac-4b6/providers/Microsoft.NotificationHubs/namespaces/e8e38268-9713/AuthorizationRules/6ba4944a-df7a-4f8f-bb/regenerateKeys"; - _requests[2761] = new DefaultHttpContext(); - _requests[2761].RequestServices = CreateServices(); - _requests[2761].Request.Method = "GET"; - _requests[2761].Request.Path = "/subscriptions/29be5f0f-4a3e-/resourceGroups/cd851676-7a69-48d/providers/Microsoft.NotificationHubs/namespaces/f26c0bad-b677/notificationHubs/d60ce2de-e0aa-4cad-/AuthorizationRules"; - _requests[2762] = new DefaultHttpContext(); - _requests[2762].RequestServices = CreateServices(); - _requests[2762].Request.Method = "POST"; - _requests[2762].Request.Path = "/subscriptions/e24e8e14-47b1-/resourceGroups/ea10f96c-c74d-4ac/providers/Microsoft.NotificationHubs/namespaces/3e0f20c6-2d9d/notificationHubs/e11f2afb-06e1-430b-/pnsCredentials"; - _requests[2763] = new DefaultHttpContext(); - _requests[2763].RequestServices = CreateServices(); - _requests[2763].Request.Method = "POST"; - _requests[2763].Request.Path = "/subscriptions/37a5d3d3-b8b0-/resourcegroups/8d3e03e2-350d-4ef/providers/Microsoft.OperationalInsights/workspaces/d519f127-4963/intelligencePacks/81889a61-10ea-42a9-9/Disable"; - _requests[2764] = new DefaultHttpContext(); - _requests[2764].RequestServices = CreateServices(); - _requests[2764].Request.Method = "POST"; - _requests[2764].Request.Path = "/subscriptions/b231067c-7152-/resourcegroups/85cc2ec2-6559-4c5/providers/Microsoft.OperationalInsights/workspaces/f9831685-a432/intelligencePacks/21c3a560-7ee7-43a7-a/Enable"; - _requests[2765] = new DefaultHttpContext(); - _requests[2765].RequestServices = CreateServices(); - _requests[2765].Request.Method = "GET"; - _requests[2765].Request.Path = "/subscriptions/489d362b-4fa0-/resourcegroups/69669b52-2da8-48d/providers/Microsoft.OperationalInsights/workspaces/1d312b82-5d23/savedSearches/26a074a1-7f41-4/results"; - _requests[2766] = new DefaultHttpContext(); - _requests[2766].RequestServices = CreateServices(); - _requests[2766].Request.Method = "POST"; - _requests[2766].Request.Path = "/Subscriptions/fd7a0fa2-1234-/resourceGroups/5a74b826-2e22-438/providers/Microsoft.RecoveryServices/vaults/be60493a-6c5/replicationFabrics/74432df4-f/checkConsistency"; - _requests[2767] = new DefaultHttpContext(); - _requests[2767].RequestServices = CreateServices(); - _requests[2767].Request.Method = "POST"; - _requests[2767].Request.Path = "/Subscriptions/bdc767ac-0732-/resourceGroups/4b806354-0a71-403/providers/Microsoft.RecoveryServices/vaults/7f52f1fc-dbe/replicationFabrics/d890e5b0-9/migratetoaad"; - _requests[2768] = new DefaultHttpContext(); - _requests[2768].RequestServices = CreateServices(); - _requests[2768].Request.Method = "POST"; - _requests[2768].Request.Path = "/Subscriptions/33f54bc6-f13e-/resourceGroups/9de0641c-0a7f-4ef/providers/Microsoft.RecoveryServices/vaults/51f9e2d3-952/replicationFabrics/7e3f1070-d/reassociateGateway"; - _requests[2769] = new DefaultHttpContext(); - _requests[2769].RequestServices = CreateServices(); - _requests[2769].Request.Method = "POST"; - _requests[2769].Request.Path = "/Subscriptions/a2620054-0603-/resourceGroups/dd22a8b6-6577-49d/providers/Microsoft.RecoveryServices/vaults/c3100e56-522/replicationFabrics/96e21391-a/remove"; - _requests[2770] = new DefaultHttpContext(); - _requests[2770].RequestServices = CreateServices(); - _requests[2770].Request.Method = "POST"; - _requests[2770].Request.Path = "/Subscriptions/4555eee5-cd31-/resourceGroups/4c9c4edd-fcdf-433/providers/Microsoft.RecoveryServices/vaults/1a3f75c1-9d5/replicationFabrics/24aa6f28-d/renewCertificate"; - _requests[2771] = new DefaultHttpContext(); - _requests[2771].RequestServices = CreateServices(); - _requests[2771].Request.Method = "GET"; - _requests[2771].Request.Path = "/Subscriptions/2a94abec-aeb7-/resourceGroups/9a2be0da-63f4-479/providers/Microsoft.RecoveryServices/vaults/5d87958e-8f1/replicationFabrics/9f44c4bb-c/replicationLogicalNetworks"; - _requests[2772] = new DefaultHttpContext(); - _requests[2772].RequestServices = CreateServices(); - _requests[2772].Request.Method = "GET"; - _requests[2772].Request.Path = "/Subscriptions/65f857f7-35cc-/resourceGroups/b3d9b943-804c-49f/providers/Microsoft.RecoveryServices/vaults/c62349e6-06d/replicationFabrics/0b5a828a-6/replicationNetworks"; - _requests[2773] = new DefaultHttpContext(); - _requests[2773].RequestServices = CreateServices(); - _requests[2773].Request.Method = "GET"; - _requests[2773].Request.Path = "/Subscriptions/ec3f1bde-52cc-/resourceGroups/de68851a-072f-438/providers/Microsoft.RecoveryServices/vaults/0107babc-796/replicationFabrics/9d211766-5/replicationProtectionContainers"; - _requests[2774] = new DefaultHttpContext(); - _requests[2774].RequestServices = CreateServices(); - _requests[2774].Request.Method = "GET"; - _requests[2774].Request.Path = "/Subscriptions/5c24e1c6-8206-/resourceGroups/82ccc42f-3c19-467/providers/Microsoft.RecoveryServices/vaults/f53d126e-12f/replicationFabrics/e79cec3a-4/replicationRecoveryServicesProviders"; - _requests[2775] = new DefaultHttpContext(); - _requests[2775].RequestServices = CreateServices(); - _requests[2775].Request.Method = "GET"; - _requests[2775].Request.Path = "/Subscriptions/4d19cdef-4c15-/resourceGroups/12fb3d76-837f-4c6/providers/Microsoft.RecoveryServices/vaults/22e42100-53f/replicationFabrics/109c3d0b-9/replicationStorageClassifications"; - _requests[2776] = new DefaultHttpContext(); - _requests[2776].RequestServices = CreateServices(); - _requests[2776].Request.Method = "GET"; - _requests[2776].Request.Path = "/Subscriptions/b94698f9-1ea3-/resourceGroups/79d972db-5100-47f/providers/Microsoft.RecoveryServices/vaults/e243b246-114/replicationFabrics/4ba2a05c-1/replicationvCenters"; - _requests[2777] = new DefaultHttpContext(); - _requests[2777].RequestServices = CreateServices(); - _requests[2777].Request.Method = "POST"; - _requests[2777].Request.Path = "/Subscriptions/298537bd-6648-/resourceGroups/013c8823-5b97-448/providers/Microsoft.RecoveryServices/vaults/3170ee15-11a/replicationJobs/0ea9d94/cancel"; - _requests[2778] = new DefaultHttpContext(); - _requests[2778].RequestServices = CreateServices(); - _requests[2778].Request.Method = "POST"; - _requests[2778].Request.Path = "/Subscriptions/affbff95-4565-/resourceGroups/41290400-3bba-47a/providers/Microsoft.RecoveryServices/vaults/25950666-5ed/replicationJobs/ebedf33/restart"; - _requests[2779] = new DefaultHttpContext(); - _requests[2779].RequestServices = CreateServices(); - _requests[2779].Request.Method = "POST"; - _requests[2779].Request.Path = "/Subscriptions/e369229a-9f7d-/resourceGroups/fe6c8690-da97-449/providers/Microsoft.RecoveryServices/vaults/0930a5b0-8bb/replicationJobs/d3b9e74/resume"; - _requests[2780] = new DefaultHttpContext(); - _requests[2780].RequestServices = CreateServices(); - _requests[2780].Request.Method = "POST"; - _requests[2780].Request.Path = "/Subscriptions/9d4d6f10-3ac8-/resourceGroups/2479d05a-6a68-4da/providers/Microsoft.RecoveryServices/vaults/66644d3c-2c9/replicationRecoveryPlans/1e1b65a9-3862-4e/failoverCommit"; - _requests[2781] = new DefaultHttpContext(); - _requests[2781].RequestServices = CreateServices(); - _requests[2781].Request.Method = "POST"; - _requests[2781].Request.Path = "/Subscriptions/f6947ff8-7311-/resourceGroups/a6b2a269-f573-4b8/providers/Microsoft.RecoveryServices/vaults/2c7a8a37-afb/replicationRecoveryPlans/0e0d9dfa-9c7e-4a/plannedFailover"; - _requests[2782] = new DefaultHttpContext(); - _requests[2782].RequestServices = CreateServices(); - _requests[2782].Request.Method = "POST"; - _requests[2782].Request.Path = "/Subscriptions/003b0b80-da95-/resourceGroups/85195fbd-8662-421/providers/Microsoft.RecoveryServices/vaults/f4c31885-2a7/replicationRecoveryPlans/33033237-3078-47/reProtect"; - _requests[2783] = new DefaultHttpContext(); - _requests[2783].RequestServices = CreateServices(); - _requests[2783].Request.Method = "POST"; - _requests[2783].Request.Path = "/Subscriptions/309a44fc-7ab5-/resourceGroups/f361e2c2-676e-4e4/providers/Microsoft.RecoveryServices/vaults/ce122c52-3fc/replicationRecoveryPlans/19b75928-f2f2-43/testFailover"; - _requests[2784] = new DefaultHttpContext(); - _requests[2784].RequestServices = CreateServices(); - _requests[2784].Request.Method = "POST"; - _requests[2784].Request.Path = "/Subscriptions/3476ca88-b6c5-/resourceGroups/2749038a-f178-4dd/providers/Microsoft.RecoveryServices/vaults/72c585a8-199/replicationRecoveryPlans/0f0e6647-99f0-48/testFailoverCleanup"; - _requests[2785] = new DefaultHttpContext(); - _requests[2785].RequestServices = CreateServices(); - _requests[2785].Request.Method = "POST"; - _requests[2785].Request.Path = "/Subscriptions/578cab33-6ae6-/resourceGroups/e7dece75-ff55-434/providers/Microsoft.RecoveryServices/vaults/db975aa8-46b/replicationRecoveryPlans/1b66d1c1-e6c0-45/unplannedFailover"; - _requests[2786] = new DefaultHttpContext(); - _requests[2786].RequestServices = CreateServices(); - _requests[2786].Request.Method = "GET"; - _requests[2786].Request.Path = "/Subscriptions/0c5e5bc0-6958-/resourceGroups/03a401af-5b7c-45b/providers/Microsoft.RecoveryServices/vaults/8958b062-/backupFabrics/79ba52e9-2/protectableContainers"; - _requests[2787] = new DefaultHttpContext(); - _requests[2787].RequestServices = CreateServices(); - _requests[2787].Request.Method = "POST"; - _requests[2787].Request.Path = "/Subscriptions/6f7d6f72-7981-/resourceGroups/c1e0f96c-1131-449/providers/Microsoft.RecoveryServices/vaults/83ca663b-/backupFabrics/f3c91fee-4/refreshContainers"; - _requests[2788] = new DefaultHttpContext(); - _requests[2788].RequestServices = CreateServices(); - _requests[2788].Request.Method = "POST"; - _requests[2788].Request.Path = "/Subscriptions/72e9543e-92fa-/resourceGroups/c3d25315-f195-414/providers/Microsoft.RecoveryServices/vaults/d0505965-/backupJobs/e6a87c8/cancel"; - _requests[2789] = new DefaultHttpContext(); - _requests[2789].RequestServices = CreateServices(); - _requests[2789].Request.Method = "POST"; - _requests[2789].Request.Path = "/subscriptions/830b7f08-978b-/resourceGroups/7e6afa87-fde9-46f/providers/Microsoft.Relay/namespaces/eb7c25a3-ff7d/authorizationRules/25cc75e4-3a7c-452f-b6/listKeys"; - _requests[2790] = new DefaultHttpContext(); - _requests[2790].RequestServices = CreateServices(); - _requests[2790].Request.Method = "POST"; - _requests[2790].Request.Path = "/subscriptions/e94f293f-b976-/resourceGroups/e165685a-a825-420/providers/Microsoft.Relay/namespaces/029e9e36-50a3/authorizationRules/97d55480-77a6-4cf6-99/regenerateKeys"; - _requests[2791] = new DefaultHttpContext(); - _requests[2791].RequestServices = CreateServices(); - _requests[2791].Request.Method = "GET"; - _requests[2791].Request.Path = "/subscriptions/c12218ac-bb8e-/resourceGroups/de4ecda0-537c-4b6/providers/Microsoft.Relay/namespaces/1a2a446e-92f3/hybridConnections/38093b06-6cf6-43fc-a/authorizationRules"; - _requests[2792] = new DefaultHttpContext(); - _requests[2792].RequestServices = CreateServices(); - _requests[2792].Request.Method = "GET"; - _requests[2792].Request.Path = "/subscriptions/67f802f3-a5b7-/resourceGroups/e87adde2-4aa7-4b7/providers/Microsoft.Relay/namespaces/e54dbbba-0dd1/wcfRelays/bf7a843e-/authorizationRules"; - _requests[2793] = new DefaultHttpContext(); - _requests[2793].RequestServices = CreateServices(); - _requests[2793].Request.Method = "GET"; - _requests[2793].Request.Path = "/subscriptions/63f5760f-c1eb-/resourceGroups/2a186190-e9b3-47d/providers/Microsoft.Scheduler/jobCollections/ec322229-910b-468/jobs/3094906/history"; - _requests[2794] = new DefaultHttpContext(); - _requests[2794].RequestServices = CreateServices(); - _requests[2794].Request.Method = "POST"; - _requests[2794].Request.Path = "/subscriptions/58dcafbe-a479-/resourceGroups/f29f4c3e-8949-470/providers/Microsoft.Scheduler/jobCollections/c8124d4b-726b-478/jobs/fa50505/run"; - _requests[2795] = new DefaultHttpContext(); - _requests[2795].RequestServices = CreateServices(); - _requests[2795].Request.Method = "POST"; - _requests[2795].Request.Path = "/subscriptions/2f901bd1-df0e-/resourceGroups/3ef64836-f64a-4ce/providers/Microsoft.ServiceBus/namespaces/72e663f0-666e/AuthorizationRules/09eeb30a-d18c-41e7-9c/listKeys"; - _requests[2796] = new DefaultHttpContext(); - _requests[2796].RequestServices = CreateServices(); - _requests[2796].Request.Method = "POST"; - _requests[2796].Request.Path = "/subscriptions/c8cf1afe-bbb0-/resourceGroups/e49a5357-8dcd-4a5/providers/Microsoft.ServiceBus/namespaces/eb1d159a-1738/AuthorizationRules/c04dbc28-abda-45ab-95/regenerateKeys"; - _requests[2797] = new DefaultHttpContext(); - _requests[2797].RequestServices = CreateServices(); - _requests[2797].Request.Method = "GET"; - _requests[2797].Request.Path = "/subscriptions/b01559fc-96cd-/resourceGroups/39b55c74-fbc7-4ee/providers/Microsoft.ServiceBus/namespaces/aa959640-328a/disasterRecoveryConfigs/3652a/AuthorizationRules"; - _requests[2798] = new DefaultHttpContext(); - _requests[2798].RequestServices = CreateServices(); - _requests[2798].Request.Method = "POST"; - _requests[2798].Request.Path = "/subscriptions/b0d355fc-b80a-/resourceGroups/6577eeb7-b836-4fa/providers/Microsoft.ServiceBus/namespaces/023d9dd4-cd5c/disasterRecoveryConfigs/53d25/breakPairing"; - _requests[2799] = new DefaultHttpContext(); - _requests[2799].RequestServices = CreateServices(); - _requests[2799].Request.Method = "POST"; - _requests[2799].Request.Path = "/subscriptions/a11f86a9-b965-/resourceGroups/d0f5d463-fe9f-44b/providers/Microsoft.ServiceBus/namespaces/6cc555bd-84d3/disasterRecoveryConfigs/cd386/failover"; - _requests[2800] = new DefaultHttpContext(); - _requests[2800].RequestServices = CreateServices(); - _requests[2800].Request.Method = "GET"; - _requests[2800].Request.Path = "/subscriptions/480cc29f-1559-/resourceGroups/c2c9b06a-a25c-4cc/providers/Microsoft.ServiceBus/namespaces/e1473b18-8369/eventhubs/cc1643d3-780/authorizationRules"; - _requests[2801] = new DefaultHttpContext(); - _requests[2801].RequestServices = CreateServices(); - _requests[2801].Request.Method = "POST"; - _requests[2801].Request.Path = "/subscriptions/ad31756f-9b3b-/resourceGroups/d7df18b2-25f5-45b/providers/Microsoft.ServiceBus/namespaces/56a7ada0-b3a3/migrationConfigurations/060f51c3-d/revert"; - _requests[2802] = new DefaultHttpContext(); - _requests[2802].RequestServices = CreateServices(); - _requests[2802].Request.Method = "POST"; - _requests[2802].Request.Path = "/subscriptions/4ebb451a-cbfb-/resourceGroups/9b9959ba-dc81-47f/providers/Microsoft.ServiceBus/namespaces/c6f39d0d-78da/migrationConfigurations/7e6daaf5-e/upgrade"; - _requests[2803] = new DefaultHttpContext(); - _requests[2803].RequestServices = CreateServices(); - _requests[2803].Request.Method = "GET"; - _requests[2803].Request.Path = "/subscriptions/19df00e5-c936-/resourceGroups/412c9b32-6f59-482/providers/Microsoft.ServiceBus/namespaces/0e241ffd-6481/queues/359ffb64-/authorizationRules"; - _requests[2804] = new DefaultHttpContext(); - _requests[2804].RequestServices = CreateServices(); - _requests[2804].Request.Method = "GET"; - _requests[2804].Request.Path = "/subscriptions/ca426be8-898e-/resourceGroups/7e4cf31c-5e31-490/providers/Microsoft.ServiceBus/namespaces/cb44820f-04a6/topics/93fbf5a9-/authorizationRules"; - _requests[2805] = new DefaultHttpContext(); - _requests[2805].RequestServices = CreateServices(); - _requests[2805].Request.Method = "GET"; - _requests[2805].Request.Path = "/subscriptions/ee03e8a5-6ab7-/resourceGroups/5e2969be-8c51-438/providers/Microsoft.ServiceBus/namespaces/58ab88d2-2c69/topics/0ca89b08-/subscriptions"; - _requests[2806] = new DefaultHttpContext(); - _requests[2806].RequestServices = CreateServices(); - _requests[2806].Request.Method = "GET"; - _requests[2806].Request.Path = "/subscriptions/003863bd-4775-/resourceGroups/7ddc017b-fee7-490/providers/Microsoft.ServiceFabric/clusters/a99fdad5-44/applications/4f059889-e68d-4/services"; - _requests[2807] = new DefaultHttpContext(); - _requests[2807].RequestServices = CreateServices(); - _requests[2807].Request.Method = "GET"; - _requests[2807].Request.Path = "/subscriptions/796a4e88-d218-/resourceGroups/63351c04-363d-451/providers/Microsoft.ServiceFabric/clusters/bd48212c-38/applicationTypes/4857d800-cb15-4687-/versions"; - _requests[2808] = new DefaultHttpContext(); - _requests[2808].RequestServices = CreateServices(); - _requests[2808].Request.Method = "POST"; - _requests[2808].Request.Path = "/subscriptions/de9271b1-37b9-/resourceGroups/f0d9dd42-7cee-477/providers/Microsoft.Sql/locations/43ddd522-cb2/instanceFailoverGroups/566f85ab-0eb6-455/failover"; - _requests[2809] = new DefaultHttpContext(); - _requests[2809].RequestServices = CreateServices(); - _requests[2809].Request.Method = "POST"; - _requests[2809].Request.Path = "/subscriptions/631582ff-2293-/resourceGroups/5337ebe7-25f3-45e/providers/Microsoft.Sql/locations/383bdb8a-0df/instanceFailoverGroups/38f1dc08-a9be-4b2/forceFailoverAllowDataLoss"; - _requests[2810] = new DefaultHttpContext(); - _requests[2810].RequestServices = CreateServices(); - _requests[2810].Request.Method = "GET"; - _requests[2810].Request.Path = "/subscriptions/93a4234f-3c7d-/resourceGroups/4b7fcdc9-ad40-4c6/providers/Microsoft.Sql/servers/5aadecb5-e/databases/826d2661-ccd/advisors"; - _requests[2811] = new DefaultHttpContext(); - _requests[2811].RequestServices = CreateServices(); - _requests[2811].Request.Method = "GET"; - _requests[2811].Request.Path = "/subscriptions/403b28ce-fe02-/resourceGroups/1d02c79b-10c8-405/providers/Microsoft.Sql/servers/7788e252-8/databases/535e1f95-647/auditingPolicies"; - _requests[2812] = new DefaultHttpContext(); - _requests[2812].RequestServices = CreateServices(); - _requests[2812].Request.Method = "GET"; - _requests[2812].Request.Path = "/subscriptions/5a1a9697-cb43-/resourceGroups/8b59c47d-9cad-4ce/providers/Microsoft.Sql/servers/e1d8eaf9-2/databases/12132c90-3eb/backupLongTermRetentionPolicies"; - _requests[2813] = new DefaultHttpContext(); - _requests[2813].RequestServices = CreateServices(); - _requests[2813].Request.Method = "POST"; - _requests[2813].Request.Path = "/subscriptions/4d398902-bf48-/resourceGroups/3937bba5-ddd1-4f3/providers/Microsoft.Sql/servers/a49525ef-9/databases/499fa9ae-5e6/export"; - _requests[2814] = new DefaultHttpContext(); - _requests[2814].RequestServices = CreateServices(); - _requests[2814].Request.Method = "GET"; - _requests[2814].Request.Path = "/subscriptions/d3c2ec0d-b019-/resourceGroups/4d70695a-b413-431/providers/Microsoft.Sql/servers/458f5dfc-9/databases/fb2fe210-fb0/extensions"; - _requests[2815] = new DefaultHttpContext(); - _requests[2815].RequestServices = CreateServices(); - _requests[2815].Request.Method = "GET"; - _requests[2815].Request.Path = "/subscriptions/94b5ed0c-4ff0-/resourceGroups/6fcba039-c161-4be/providers/Microsoft.Sql/servers/687c836e-4/databases/93f59c6f-508/geoBackupPolicies"; - _requests[2816] = new DefaultHttpContext(); - _requests[2816].RequestServices = CreateServices(); - _requests[2816].Request.Method = "GET"; - _requests[2816].Request.Path = "/subscriptions/d05ca290-cf2f-/resourceGroups/86bf7a0c-e86a-4e8/providers/Microsoft.Sql/servers/63ae3c81-3/databases/05fda1c2-180/metricDefinitions"; - _requests[2817] = new DefaultHttpContext(); - _requests[2817].RequestServices = CreateServices(); - _requests[2817].Request.Method = "GET"; - _requests[2817].Request.Path = "/subscriptions/5f9ba35b-5f88-/resourceGroups/bef2f8a2-a9a4-432/providers/Microsoft.Sql/servers/35a763dc-9/databases/2e3227f7-dab/metrics"; - _requests[2818] = new DefaultHttpContext(); - _requests[2818].RequestServices = CreateServices(); - _requests[2818].Request.Method = "POST"; - _requests[2818].Request.Path = "/subscriptions/5b1e7695-1362-/resourceGroups/939d3fce-760c-478/providers/Microsoft.Sql/servers/c37bf3fc-0/databases/ca9a4c62-47e/move"; - _requests[2819] = new DefaultHttpContext(); - _requests[2819].RequestServices = CreateServices(); - _requests[2819].Request.Method = "GET"; - _requests[2819].Request.Path = "/subscriptions/978646ab-b3b6-/resourceGroups/8696c230-aa08-43c/providers/Microsoft.Sql/servers/e7c817f0-f/databases/a2dde691-ffa/operations"; - _requests[2820] = new DefaultHttpContext(); - _requests[2820].RequestServices = CreateServices(); - _requests[2820].Request.Method = "POST"; - _requests[2820].Request.Path = "/subscriptions/a492ccf4-0ed8-/resourceGroups/ba9b12a9-8d77-4f6/providers/Microsoft.Sql/servers/9967dec3-0/databases/50edbc01-abc/pause"; - _requests[2821] = new DefaultHttpContext(); - _requests[2821].RequestServices = CreateServices(); - _requests[2821].Request.Method = "GET"; - _requests[2821].Request.Path = "/subscriptions/75ec910f-53e0-/resourceGroups/7fb3cdd2-8441-4c7/providers/Microsoft.Sql/servers/ffc409da-b/databases/49f5fad9-ad4/replicationLinks"; - _requests[2822] = new DefaultHttpContext(); - _requests[2822].RequestServices = CreateServices(); - _requests[2822].Request.Method = "GET"; - _requests[2822].Request.Path = "/subscriptions/dcaf6a7c-efd0-/resourceGroups/b2bf41eb-46c2-46f/providers/Microsoft.Sql/servers/131b425b-f/databases/fb224a91-dbb/restorePoints"; - _requests[2823] = new DefaultHttpContext(); - _requests[2823].RequestServices = CreateServices(); - _requests[2823].Request.Method = "POST"; - _requests[2823].Request.Path = "/subscriptions/64f648dc-7173-/resourceGroups/8ca3de04-06fc-403/providers/Microsoft.Sql/servers/e5958dd8-f/databases/49ce97d8-cac/resume"; - _requests[2824] = new DefaultHttpContext(); - _requests[2824].RequestServices = CreateServices(); - _requests[2824].Request.Method = "GET"; - _requests[2824].Request.Path = "/subscriptions/7ea5d858-a267-/resourceGroups/6fa32c46-3e17-455/providers/Microsoft.Sql/servers/f1db7f16-4/databases/daa70e13-30e/serviceTierAdvisors"; - _requests[2825] = new DefaultHttpContext(); - _requests[2825].RequestServices = CreateServices(); - _requests[2825].Request.Method = "GET"; - _requests[2825].Request.Path = "/subscriptions/5597b4d5-6597-/resourceGroups/b0810f28-ab34-404/providers/Microsoft.Sql/servers/c0ba261b-5/databases/7fc00aaf-d12/syncGroups"; - _requests[2826] = new DefaultHttpContext(); - _requests[2826].RequestServices = CreateServices(); - _requests[2826].Request.Method = "GET"; - _requests[2826].Request.Path = "/subscriptions/a3fdadb5-6f5c-/resourceGroups/636b6c53-aa06-4c9/providers/Microsoft.Sql/servers/075c2728-f/databases/349703e2-7b0/topQueries"; - _requests[2827] = new DefaultHttpContext(); - _requests[2827].RequestServices = CreateServices(); - _requests[2827].Request.Method = "GET"; - _requests[2827].Request.Path = "/subscriptions/03e3659d-fa09-/resourceGroups/c9c4e5a1-5813-439/providers/Microsoft.Sql/servers/02fb34ac-d/databases/189ece16-dd3/transparentDataEncryption"; - _requests[2828] = new DefaultHttpContext(); - _requests[2828].RequestServices = CreateServices(); - _requests[2828].Request.Method = "POST"; - _requests[2828].Request.Path = "/subscriptions/b847552c-9d14-/resourceGroups/d8e2093d-0d6a-444/providers/Microsoft.Sql/servers/131b90c0-0/databases/7a837b98-fd3/upgradeDataWarehouse"; - _requests[2829] = new DefaultHttpContext(); - _requests[2829].RequestServices = CreateServices(); - _requests[2829].Request.Method = "GET"; - _requests[2829].Request.Path = "/subscriptions/cf593e30-c978-/resourceGroups/f49c0571-5f60-4dc/providers/Microsoft.Sql/servers/1f920c41-b/databases/5a46e0b0-31c/usages"; - _requests[2830] = new DefaultHttpContext(); - _requests[2830].RequestServices = CreateServices(); - _requests[2830].Request.Method = "POST"; - _requests[2830].Request.Path = "/subscriptions/62ac6c6c-29bf-/resourceGroups/802e3dc4-7d78-408/providers/Microsoft.Sql/servers/21752cb9-b/disasterRecoveryConfiguration/f10eb220-b7dc-4585-a8a1-e4311df2a/failover"; - _requests[2831] = new DefaultHttpContext(); - _requests[2831].RequestServices = CreateServices(); - _requests[2831].Request.Method = "POST"; - _requests[2831].Request.Path = "/subscriptions/751af0e2-1fa7-/resourceGroups/a194f7d9-c98b-431/providers/Microsoft.Sql/servers/ec985a1a-4/disasterRecoveryConfiguration/16efad4b-9baa-473d-882b-f7059f49c/forceFailoverAllowDataLoss"; - _requests[2832] = new DefaultHttpContext(); - _requests[2832].RequestServices = CreateServices(); - _requests[2832].Request.Method = "POST"; - _requests[2832].Request.Path = "/subscriptions/5c2c96cf-722b-/resourceGroups/d16de2d0-ea23-449/providers/Microsoft.Sql/servers/3f3a432a-2/dnsAliases/3677c4c7-a4b/acquire"; - _requests[2833] = new DefaultHttpContext(); - _requests[2833].RequestServices = CreateServices(); - _requests[2833].Request.Method = "GET"; - _requests[2833].Request.Path = "/subscriptions/ca408602-3ad9-/resourceGroups/ebe2725d-932e-4ad/providers/Microsoft.Sql/servers/80f1a5ab-f/elasticPools/e3742f15-9b20-4/databases"; - _requests[2834] = new DefaultHttpContext(); - _requests[2834].RequestServices = CreateServices(); - _requests[2834].Request.Method = "GET"; - _requests[2834].Request.Path = "/subscriptions/bddc6b1c-df14-/resourceGroups/a2382fc9-ff0b-4b3/providers/Microsoft.Sql/servers/b0beddf9-7/elasticPools/15f8894d-1381-4/elasticPoolActivity"; - _requests[2835] = new DefaultHttpContext(); - _requests[2835].RequestServices = CreateServices(); - _requests[2835].Request.Method = "GET"; - _requests[2835].Request.Path = "/subscriptions/14b1fdd2-e68a-/resourceGroups/c74483db-08e7-4ea/providers/Microsoft.Sql/servers/afa0fd5e-a/elasticPools/80f80fe7-b3d2-4/elasticPoolDatabaseActivity"; - _requests[2836] = new DefaultHttpContext(); - _requests[2836].RequestServices = CreateServices(); - _requests[2836].Request.Method = "GET"; - _requests[2836].Request.Path = "/subscriptions/a8cd36c6-3218-/resourceGroups/477c2f07-996e-454/providers/Microsoft.Sql/servers/7503a7ee-e/elasticPools/65bfed72-06ff-4/metricDefinitions"; - _requests[2837] = new DefaultHttpContext(); - _requests[2837].RequestServices = CreateServices(); - _requests[2837].Request.Method = "GET"; - _requests[2837].Request.Path = "/subscriptions/1cacc69a-114b-/resourceGroups/a8691f8e-bb78-427/providers/Microsoft.Sql/servers/ef6aade4-c/elasticPools/97b725f7-543a-4/metrics"; - _requests[2838] = new DefaultHttpContext(); - _requests[2838].RequestServices = CreateServices(); - _requests[2838].Request.Method = "GET"; - _requests[2838].Request.Path = "/subscriptions/3a74118e-236c-/resourceGroups/53e14ec2-0d32-4e7/providers/Microsoft.Sql/servers/4e2af26a-2/elasticPools/851dcf18-7beb-4/operations"; - _requests[2839] = new DefaultHttpContext(); - _requests[2839].RequestServices = CreateServices(); - _requests[2839].Request.Method = "POST"; - _requests[2839].Request.Path = "/subscriptions/616f2ee4-f961-/resourceGroups/9009cbd8-6449-4fd/providers/Microsoft.Sql/servers/3ac2caee-f/failoverGroups/c3a0f5bd-8ebd-4df/failover"; - _requests[2840] = new DefaultHttpContext(); - _requests[2840].RequestServices = CreateServices(); - _requests[2840].Request.Method = "POST"; - _requests[2840].Request.Path = "/subscriptions/ab702966-0a8b-/resourceGroups/13a92a60-67fa-423/providers/Microsoft.Sql/servers/49da31c9-8/failoverGroups/e1858542-0e8e-4b2/forceFailoverAllowDataLoss"; - _requests[2841] = new DefaultHttpContext(); - _requests[2841].RequestServices = CreateServices(); - _requests[2841].Request.Method = "GET"; - _requests[2841].Request.Path = "/subscriptions/f4dc674e-19b6-/resourceGroups/72557c4e-b70c-4ec/providers/Microsoft.Sql/servers/270381a0-1/jobAgents/63ef2192-b91/credentials"; - _requests[2842] = new DefaultHttpContext(); - _requests[2842].RequestServices = CreateServices(); - _requests[2842].Request.Method = "GET"; - _requests[2842].Request.Path = "/subscriptions/bb986460-983c-/resourceGroups/d60f4eda-4f8a-438/providers/Microsoft.Sql/servers/31852393-b/jobAgents/ce098994-22e/executions"; - _requests[2843] = new DefaultHttpContext(); - _requests[2843].RequestServices = CreateServices(); - _requests[2843].Request.Method = "GET"; - _requests[2843].Request.Path = "/subscriptions/8fbd3c3f-a901-/resourceGroups/8f80bfcc-50e0-496/providers/Microsoft.Sql/servers/8ae5ab06-5/jobAgents/95ac962e-204/jobs"; - _requests[2844] = new DefaultHttpContext(); - _requests[2844].RequestServices = CreateServices(); - _requests[2844].Request.Method = "GET"; - _requests[2844].Request.Path = "/subscriptions/01688718-dcc7-/resourceGroups/bdf433c6-c5ad-4b5/providers/Microsoft.Sql/servers/e33b96e8-9/jobAgents/586a0cf9-9e1/targetGroups"; - _requests[2845] = new DefaultHttpContext(); - _requests[2845].RequestServices = CreateServices(); - _requests[2845].Request.Method = "GET"; - _requests[2845].Request.Path = "/subscriptions/e7d8541e-4d82-/resourceGroups/1cabe4cc-66f5-437/providers/Microsoft.Sql/servers/5cd43403-2/recommendedElasticPools/6d4066fe-8bd4-4a25-882c-97/databases"; - _requests[2846] = new DefaultHttpContext(); - _requests[2846].RequestServices = CreateServices(); - _requests[2846].Request.Method = "GET"; - _requests[2846].Request.Path = "/subscriptions/233a7186-9f8e-/resourceGroups/0023f940-c623-49f/providers/Microsoft.Sql/servers/5585ff3a-3/recommendedElasticPools/d6ff5617-2cb4-49e7-8290-ca/metrics"; - _requests[2847] = new DefaultHttpContext(); - _requests[2847].RequestServices = CreateServices(); - _requests[2847].Request.Method = "POST"; - _requests[2847].Request.Path = "/subscriptions/3262b27d-70de-/resourceGroups/4a9f9f12-2002-4c8/providers/Microsoft.Sql/servers/c9615c3b-2/syncAgents/45c73964-db42/generateKey"; - _requests[2848] = new DefaultHttpContext(); - _requests[2848].RequestServices = CreateServices(); - _requests[2848].Request.Method = "GET"; - _requests[2848].Request.Path = "/subscriptions/d3bab9c2-2875-/resourceGroups/879dc311-0e0e-47e/providers/Microsoft.Sql/servers/fc98b67f-a/syncAgents/947e46e3-7ad2/linkedDatabases"; - _requests[2849] = new DefaultHttpContext(); - _requests[2849].RequestServices = CreateServices(); - _requests[2849].Request.Method = "GET"; - _requests[2849].Request.Path = "/subscriptions/1daa71cb-5cc5-/resourcegroups/b74f19b3-149d-45e/providers/Microsoft.Storage.Admin/farms/6bb430/blobservices/5e062a18-07/metricdefinitions"; - _requests[2850] = new DefaultHttpContext(); - _requests[2850].RequestServices = CreateServices(); - _requests[2850].Request.Method = "GET"; - _requests[2850].Request.Path = "/subscriptions/50295e14-5250-/resourcegroups/04cdf30b-a154-4d7/providers/Microsoft.Storage.Admin/farms/77aaa6/blobservices/df8f616c-ce/metrics"; - _requests[2851] = new DefaultHttpContext(); - _requests[2851].RequestServices = CreateServices(); - _requests[2851].Request.Method = "GET"; - _requests[2851].Request.Path = "/subscriptions/48038655-2df4-/resourcegroups/17b5fe33-ccd0-4ec/providers/Microsoft.Storage.Admin/farms/0985b8/queueservices/4e58076c-93/metricdefinitions"; - _requests[2852] = new DefaultHttpContext(); - _requests[2852].RequestServices = CreateServices(); - _requests[2852].Request.Method = "GET"; - _requests[2852].Request.Path = "/subscriptions/f8a70024-8cd5-/resourcegroups/27c28825-af54-4e9/providers/Microsoft.Storage.Admin/farms/43e9e1/queueservices/c8b2d9bd-00/metrics"; - _requests[2853] = new DefaultHttpContext(); - _requests[2853].RequestServices = CreateServices(); - _requests[2853].Request.Method = "GET"; - _requests[2853].Request.Path = "/subscriptions/281db66e-e6b7-/resourcegroups/ba6d35eb-d6e7-477/providers/Microsoft.Storage.Admin/farms/171906/shares/6d9595cc-/containers"; - _requests[2854] = new DefaultHttpContext(); - _requests[2854].RequestServices = CreateServices(); - _requests[2854].Request.Method = "GET"; - _requests[2854].Request.Path = "/subscriptions/b03e7162-c7a4-/resourcegroups/826b4758-0354-4df/providers/Microsoft.Storage.Admin/farms/ef2b92/shares/1db84109-/destinationshares"; - _requests[2855] = new DefaultHttpContext(); - _requests[2855].RequestServices = CreateServices(); - _requests[2855].Request.Method = "GET"; - _requests[2855].Request.Path = "/subscriptions/ab1c3314-9463-/resourcegroups/58520155-9327-4fe/providers/Microsoft.Storage.Admin/farms/431c10/shares/ecd27f05-/metricdefinitions"; - _requests[2856] = new DefaultHttpContext(); - _requests[2856].RequestServices = CreateServices(); - _requests[2856].Request.Method = "GET"; - _requests[2856].Request.Path = "/subscriptions/2f51d525-52b2-/resourcegroups/59ca9b80-d2f1-447/providers/Microsoft.Storage.Admin/farms/55cb80/shares/2dde7026-/metrics"; - _requests[2857] = new DefaultHttpContext(); - _requests[2857].RequestServices = CreateServices(); - _requests[2857].Request.Method = "POST"; - _requests[2857].Request.Path = "/subscriptions/d022e588-4964-/resourcegroups/c4a6e085-6a6a-4c8/providers/Microsoft.Storage.Admin/farms/45ac96/shares/2cd6939b-/migrate"; - _requests[2858] = new DefaultHttpContext(); - _requests[2858].RequestServices = CreateServices(); - _requests[2858].Request.Method = "GET"; - _requests[2858].Request.Path = "/subscriptions/0ea9c3e4-3a42-/resourcegroups/926db905-a0fc-484/providers/Microsoft.Storage.Admin/farms/90a14b/tableservices/5f8c780e-cb/metricdefinitions"; - _requests[2859] = new DefaultHttpContext(); - _requests[2859].RequestServices = CreateServices(); - _requests[2859].Request.Method = "GET"; - _requests[2859].Request.Path = "/subscriptions/b3fe55da-ea7e-/resourcegroups/279e9118-7129-453/providers/Microsoft.Storage.Admin/farms/d4c16e/tableservices/72ea3d4f-37/metrics"; - _requests[2860] = new DefaultHttpContext(); - _requests[2860].RequestServices = CreateServices(); - _requests[2860].Request.Method = "POST"; - _requests[2860].Request.Path = "/subscriptions/035f3de1-a83a-/resourceGroups/1dd0e306-9794-437/providers/Microsoft.StorSimple/managers/8df3fe74-8a/devices/ea79f1ba-f/authorizeForServiceEncryptionKeyRollover"; - _requests[2861] = new DefaultHttpContext(); - _requests[2861].RequestServices = CreateServices(); - _requests[2861].Request.Method = "GET"; - _requests[2861].Request.Path = "/subscriptions/22e6a05c-9e76-/resourceGroups/eaa36012-3737-40c/providers/Microsoft.StorSimple/managers/f964f0be-6f/devices/2d366138-9/backupPolicies"; - _requests[2862] = new DefaultHttpContext(); - _requests[2862].RequestServices = CreateServices(); - _requests[2862].Request.Method = "GET"; - _requests[2862].Request.Path = "/subscriptions/96ecc72e-9f3d-/resourceGroups/df6a6c88-3419-471/providers/Microsoft.StorSimple/managers/62063046-f5/devices/b4b9e331-5/backups"; - _requests[2863] = new DefaultHttpContext(); - _requests[2863].RequestServices = CreateServices(); - _requests[2863].Request.Method = "POST"; - _requests[2863].Request.Path = "/subscriptions/9be2e41b-89a5-/resourceGroups/bf6295d9-6c33-438/providers/Microsoft.StorSimple/managers/50145ef8-dd/devices/aa1a389c-3/deactivate"; - _requests[2864] = new DefaultHttpContext(); - _requests[2864].RequestServices = CreateServices(); - _requests[2864].Request.Method = "GET"; - _requests[2864].Request.Path = "/subscriptions/e3935674-fe1c-/resourceGroups/a46f4354-6150-4d3/providers/Microsoft.StorSimple/managers/20e976cb-5c/devices/2ece05cd-1/hardwareComponentGroups"; - _requests[2865] = new DefaultHttpContext(); - _requests[2865].RequestServices = CreateServices(); - _requests[2865].Request.Method = "POST"; - _requests[2865].Request.Path = "/subscriptions/13f49d11-7a6b-/resourceGroups/4b870d97-6e1a-406/providers/Microsoft.StorSimple/managers/83e0aa67-e8/devices/e3d36d4a-e/installUpdates"; - _requests[2866] = new DefaultHttpContext(); - _requests[2866].RequestServices = CreateServices(); - _requests[2866].Request.Method = "GET"; - _requests[2866].Request.Path = "/subscriptions/4c986cca-37d0-/resourceGroups/56d3e43a-a852-4d7/providers/Microsoft.StorSimple/managers/184bcded-d1/devices/78ea6bee-3/jobs"; - _requests[2867] = new DefaultHttpContext(); - _requests[2867].RequestServices = CreateServices(); - _requests[2867].Request.Method = "POST"; - _requests[2867].Request.Path = "/subscriptions/303af855-9ad8-/resourceGroups/c316a57a-3bb8-4ea/providers/Microsoft.StorSimple/managers/ac58741b-80/devices/5a76010d-a/listFailoverSets"; - _requests[2868] = new DefaultHttpContext(); - _requests[2868].RequestServices = CreateServices(); - _requests[2868].Request.Method = "GET"; - _requests[2868].Request.Path = "/subscriptions/e52dfe05-73da-/resourceGroups/642a2d3c-ef86-40d/providers/Microsoft.StorSimple/managers/27efb4e4-cd/devices/f8a5eb35-0/metrics"; - _requests[2869] = new DefaultHttpContext(); - _requests[2869].RequestServices = CreateServices(); - _requests[2869].Request.Method = "GET"; - _requests[2869].Request.Path = "/subscriptions/e5b6fb0f-7695-/resourceGroups/be8a84b0-1ce7-4ee/providers/Microsoft.StorSimple/managers/9ca455d2-ee/devices/13235126-a/metricsDefinitions"; - _requests[2870] = new DefaultHttpContext(); - _requests[2870].RequestServices = CreateServices(); - _requests[2870].Request.Method = "POST"; - _requests[2870].Request.Path = "/subscriptions/ab5de3cd-d959-/resourceGroups/11e96c0e-e7a6-455/providers/Microsoft.StorSimple/managers/99d60176-83/devices/a2285e7d-1/publicEncryptionKey"; - _requests[2871] = new DefaultHttpContext(); - _requests[2871].RequestServices = CreateServices(); - _requests[2871].Request.Method = "POST"; - _requests[2871].Request.Path = "/subscriptions/10069333-83bd-/resourceGroups/9fa0fb51-35f7-42a/providers/Microsoft.StorSimple/managers/fda8ce25-6b/devices/3a7e4a80-3/scanForUpdates"; - _requests[2872] = new DefaultHttpContext(); - _requests[2872].RequestServices = CreateServices(); - _requests[2872].Request.Method = "POST"; - _requests[2872].Request.Path = "/subscriptions/5294d077-15e1-/resourceGroups/82f3599d-3f9d-41b/providers/Microsoft.StorSimple/managers/6bb7c91f-06/devices/63a7fe70-1/sendTestAlertEmail"; - _requests[2873] = new DefaultHttpContext(); - _requests[2873].RequestServices = CreateServices(); - _requests[2873].Request.Method = "GET"; - _requests[2873].Request.Path = "/subscriptions/4fbf8c57-9a7c-/resourceGroups/c82475cf-2e87-42f/providers/Microsoft.StorSimple/managers/c1812d4e-b4/devices/9f8484a1-e/volumeContainers"; - _requests[2874] = new DefaultHttpContext(); - _requests[2874].RequestServices = CreateServices(); - _requests[2874].Request.Method = "GET"; - _requests[2874].Request.Path = "/subscriptions/bd96ebfb-dd36-/resourceGroups/00383f9a-201c-4a2/providers/Microsoft.StorSimple/managers/bb72261d-ca/devices/47ff3046-8/volumes"; - _requests[2875] = new DefaultHttpContext(); - _requests[2875].RequestServices = CreateServices(); - _requests[2875].Request.Method = "POST"; - _requests[2875].Request.Path = "/subscriptions/7a64102e-612f-/resourceGroups/52c2c18f-802b-4a7/providers/Microsoft.StorSimple/managers/1f62ad77-71/devices/eef19fc7-b31d-48/failover"; - _requests[2876] = new DefaultHttpContext(); - _requests[2876].RequestServices = CreateServices(); - _requests[2876].Request.Method = "POST"; - _requests[2876].Request.Path = "/subscriptions/ce140f3f-c460-/resourceGroups/eb5c5244-dda8-41f/providers/Microsoft.StorSimple/managers/e90b5422-7e/devices/a429364f-5e1b-4f/listFailoverTargets"; - _requests[2877] = new DefaultHttpContext(); - _requests[2877].RequestServices = CreateServices(); - _requests[2877].Request.Method = "POST"; - _requests[2877].Request.Path = "/subscriptions/79ed76bc-962a-/resourcegroups/a7db1a5c-0e46-481/providers/Microsoft.StreamAnalytics/streamingjobs/db78bd7/functions/045c64eb-222/RetrieveDefaultDefinition"; - _requests[2878] = new DefaultHttpContext(); - _requests[2878].RequestServices = CreateServices(); - _requests[2878].Request.Method = "POST"; - _requests[2878].Request.Path = "/subscriptions/e6034e4e-c305-/resourcegroups/d87f9dbc-e9cb-463/providers/Microsoft.StreamAnalytics/streamingjobs/0cdb8cb/functions/7d5257b7-226/test"; - _requests[2879] = new DefaultHttpContext(); - _requests[2879].RequestServices = CreateServices(); - _requests[2879].Request.Method = "POST"; - _requests[2879].Request.Path = "/subscriptions/2bbf4b3c-d3cb-/resourcegroups/35c618a4-a6bc-4ed/providers/Microsoft.StreamAnalytics/streamingjobs/4155bf4/inputs/4d0bf789-/test"; - _requests[2880] = new DefaultHttpContext(); - _requests[2880].RequestServices = CreateServices(); - _requests[2880].Request.Method = "POST"; - _requests[2880].Request.Path = "/subscriptions/9ada051a-60f2-/resourcegroups/b4f90a75-4082-4c8/providers/Microsoft.StreamAnalytics/streamingjobs/242c4e2/outputs/19cf70ee-a/test"; - _requests[2881] = new DefaultHttpContext(); - _requests[2881].RequestServices = CreateServices(); - _requests[2881].Request.Method = "POST"; - _requests[2881].Request.Path = "/subscriptions/42e4fc70-f92e-/resourcegroups/d6fed138-f9df-4ea/providers/Microsoft.Update.Admin/updateLocations/efce7cc5-7aa4-/updates/aed3df52-a/Apply"; - _requests[2882] = new DefaultHttpContext(); - _requests[2882].RequestServices = CreateServices(); - _requests[2882].Request.Method = "GET"; - _requests[2882].Request.Path = "/subscriptions/f6863c52-6641-/resourcegroups/efd46449-9dd6-49b/providers/Microsoft.Update.Admin/updateLocations/674d88e5-099d-/updates/3ef2722c-5/updateRuns"; - _requests[2883] = new DefaultHttpContext(); - _requests[2883].RequestServices = CreateServices(); - _requests[2883].Request.Method = "GET"; - _requests[2883].Request.Path = "/subscriptions/203dd3f9-46f6-/resourceGroups/c30275ba-47f2-496/providers/Microsoft.Web/hostingEnvironments/aab9d/workerPools/c42377c7-a039-/metricdefinitions"; - _requests[2884] = new DefaultHttpContext(); - _requests[2884].RequestServices = CreateServices(); - _requests[2884].Request.Method = "GET"; - _requests[2884].Request.Path = "/subscriptions/0e7b668b-32e9-/resourceGroups/37393f55-bb2b-44b/providers/Microsoft.Web/hostingEnvironments/aeb27/workerPools/0e11281c-379d-/metrics"; - _requests[2885] = new DefaultHttpContext(); - _requests[2885].RequestServices = CreateServices(); - _requests[2885].Request.Method = "GET"; - _requests[2885].Request.Path = "/subscriptions/7db24aef-f952-/resourceGroups/c554faf1-5105-43a/providers/Microsoft.Web/hostingEnvironments/1e884/workerPools/49cf7717-6a95-/skus"; - _requests[2886] = new DefaultHttpContext(); - _requests[2886].RequestServices = CreateServices(); - _requests[2886].Request.Method = "GET"; - _requests[2886].Request.Path = "/subscriptions/21295e59-e2b2-/resourceGroups/6a67edb7-96fa-47d/providers/Microsoft.Web/hostingEnvironments/c54f3/workerPools/5c9e0d24-d782-/usages"; - _requests[2887] = new DefaultHttpContext(); - _requests[2887].RequestServices = CreateServices(); - _requests[2887].Request.Method = "GET"; - _requests[2887].Request.Path = "/subscriptions/f6cde3af-000b-/resourceGroups/e1b09659-ff0a-4b7/providers/Microsoft.Web/serverfarms/9b87c/virtualNetworkConnections/d93f98ea/routes"; - _requests[2888] = new DefaultHttpContext(); - _requests[2888].RequestServices = CreateServices(); - _requests[2888].Request.Method = "POST"; - _requests[2888].Request.Path = "/subscriptions/65473a76-3969-/resourceGroups/2b2fc8e1-67e1-45c/providers/Microsoft.Web/serverfarms/71b31/workers/da77e25d-c/reboot"; - _requests[2889] = new DefaultHttpContext(); - _requests[2889].RequestServices = CreateServices(); - _requests[2889].Request.Method = "POST"; - _requests[2889].Request.Path = "/subscriptions/8af605c1-27a0-/resourceGroups/3e85e283-91da-403/providers/Microsoft.Web/sites/bfcb1/backups/6ebb5f05/list"; - _requests[2890] = new DefaultHttpContext(); - _requests[2890].RequestServices = CreateServices(); - _requests[2890].Request.Method = "POST"; - _requests[2890].Request.Path = "/subscriptions/9b40556f-9035-/resourceGroups/1cc0717a-bc42-466/providers/Microsoft.Web/sites/81794/backups/a55c8738/restore"; - _requests[2891] = new DefaultHttpContext(); - _requests[2891].RequestServices = CreateServices(); - _requests[2891].Request.Method = "POST"; - _requests[2891].Request.Path = "/subscriptions/84b1b9ff-0467-/resourceGroups/3665313a-2dc8-416/providers/Microsoft.Web/sites/a4a1b/continuouswebjobs/96dcd63b-5/start"; - _requests[2892] = new DefaultHttpContext(); - _requests[2892].RequestServices = CreateServices(); - _requests[2892].Request.Method = "POST"; - _requests[2892].Request.Path = "/subscriptions/d1fd12cd-7691-/resourceGroups/318e4658-5d4c-426/providers/Microsoft.Web/sites/0feb5/continuouswebjobs/68a00084-d/stop"; - _requests[2893] = new DefaultHttpContext(); - _requests[2893].RequestServices = CreateServices(); - _requests[2893].Request.Method = "GET"; - _requests[2893].Request.Path = "/subscriptions/34d04af3-0d02-/resourceGroups/fa58c7ae-cec9-45f/providers/Microsoft.Web/sites/f4a54/deployments/9ba35/log"; - _requests[2894] = new DefaultHttpContext(); - _requests[2894].RequestServices = CreateServices(); - _requests[2894].Request.Method = "POST"; - _requests[2894].Request.Path = "/subscriptions/d2090f84-d7b5-/resourceGroups/6b164d62-0959-444/providers/Microsoft.Web/sites/07f4f/functions/c5a392f2-56a/listsecrets"; - _requests[2895] = new DefaultHttpContext(); - _requests[2895].RequestServices = CreateServices(); - _requests[2895].Request.Method = "GET"; - _requests[2895].Request.Path = "/subscriptions/55fea9cb-9950-/resourceGroups/0eafbebe-4847-44c/providers/Microsoft.Web/sites/e7254/instances/8c9dd6c4-0/deployments"; - _requests[2896] = new DefaultHttpContext(); - _requests[2896].RequestServices = CreateServices(); - _requests[2896].Request.Method = "GET"; - _requests[2896].Request.Path = "/subscriptions/75b7f3cd-26d8-/resourceGroups/83631384-5103-448/providers/Microsoft.Web/sites/b33bc/instances/397bb0a9-c/processes"; - _requests[2897] = new DefaultHttpContext(); - _requests[2897].RequestServices = CreateServices(); - _requests[2897].Request.Method = "GET"; - _requests[2897].Request.Path = "/subscriptions/90162705-6949-/resourceGroups/1ecc7103-1ff6-421/providers/Microsoft.Web/sites/6d183/processes/aee070da-/dump"; - _requests[2898] = new DefaultHttpContext(); - _requests[2898].RequestServices = CreateServices(); - _requests[2898].Request.Method = "GET"; - _requests[2898].Request.Path = "/subscriptions/a6623512-d57c-/resourceGroups/ca1511e6-b95e-47b/providers/Microsoft.Web/sites/f1e10/processes/55c61dcb-/modules"; - _requests[2899] = new DefaultHttpContext(); - _requests[2899].RequestServices = CreateServices(); - _requests[2899].Request.Method = "GET"; - _requests[2899].Request.Path = "/subscriptions/b0188764-eadd-/resourceGroups/c1d6aa77-2a02-4e4/providers/Microsoft.Web/sites/d8583/processes/208588c6-/threads"; - _requests[2900] = new DefaultHttpContext(); - _requests[2900].RequestServices = CreateServices(); - _requests[2900].Request.Method = "GET"; - _requests[2900].Request.Path = "/subscriptions/88f04956-654c-/resourceGroups/dc8461b4-1739-4f9/providers/Microsoft.Web/sites/43ef6/slots/ddd96/analyzeCustomHostname"; - _requests[2901] = new DefaultHttpContext(); - _requests[2901].RequestServices = CreateServices(); - _requests[2901].Request.Method = "POST"; - _requests[2901].Request.Path = "/subscriptions/82757803-df0a-/resourceGroups/b33d3074-70ca-4d7/providers/Microsoft.Web/sites/9a077/slots/f88cb/applySlotConfig"; - _requests[2902] = new DefaultHttpContext(); - _requests[2902].RequestServices = CreateServices(); - _requests[2902].Request.Method = "POST"; - _requests[2902].Request.Path = "/subscriptions/b7e25a90-aa87-/resourceGroups/2c9f226f-aae2-434/providers/Microsoft.Web/sites/d9643/slots/73bf9/backup"; - _requests[2903] = new DefaultHttpContext(); - _requests[2903].RequestServices = CreateServices(); - _requests[2903].Request.Method = "GET"; - _requests[2903].Request.Path = "/subscriptions/d2adb2e0-9eed-/resourceGroups/1bf68b27-a556-402/providers/Microsoft.Web/sites/af8eb/slots/0b399/backups"; - _requests[2904] = new DefaultHttpContext(); - _requests[2904].RequestServices = CreateServices(); - _requests[2904].Request.Method = "GET"; - _requests[2904].Request.Path = "/subscriptions/19090c0a-a7b1-/resourceGroups/c8626a59-dd6d-4ab/providers/Microsoft.Web/sites/6ebf2/slots/35f24/config"; - _requests[2905] = new DefaultHttpContext(); - _requests[2905].RequestServices = CreateServices(); - _requests[2905].Request.Method = "POST"; - _requests[2905].Request.Path = "/subscriptions/54840c18-182f-/resourceGroups/cfd1b544-894d-4fa/providers/Microsoft.Web/sites/90d8d/slots/eb607/containerlogs"; - _requests[2906] = new DefaultHttpContext(); - _requests[2906].RequestServices = CreateServices(); - _requests[2906].Request.Method = "GET"; - _requests[2906].Request.Path = "/subscriptions/0b47b6ab-f11c-/resourceGroups/23719840-0797-460/providers/Microsoft.Web/sites/0febd/slots/bc5a8/continuouswebjobs"; - _requests[2907] = new DefaultHttpContext(); - _requests[2907].RequestServices = CreateServices(); - _requests[2907].Request.Method = "GET"; - _requests[2907].Request.Path = "/subscriptions/1969d3e1-644e-/resourceGroups/1c712067-e3ec-464/providers/Microsoft.Web/sites/33286/slots/64780/deployments"; - _requests[2908] = new DefaultHttpContext(); - _requests[2908].RequestServices = CreateServices(); - _requests[2908].Request.Method = "GET"; - _requests[2908].Request.Path = "/subscriptions/058c3aa1-c524-/resourceGroups/a0086e84-263a-4b1/providers/Microsoft.Web/sites/ab3a1/slots/48613/domainOwnershipIdentifiers"; - _requests[2909] = new DefaultHttpContext(); - _requests[2909].RequestServices = CreateServices(); - _requests[2909].Request.Method = "GET"; - _requests[2909].Request.Path = "/subscriptions/a67f89c7-1ea8-/resourceGroups/bab56720-a60f-470/providers/Microsoft.Web/sites/88380/slots/48e71/functions"; - _requests[2910] = new DefaultHttpContext(); - _requests[2910].RequestServices = CreateServices(); - _requests[2910].Request.Method = "GET"; - _requests[2910].Request.Path = "/subscriptions/021f7ffc-372b-/resourceGroups/3b76b4d0-e726-4bb/providers/Microsoft.Web/sites/11622/slots/a36ac/hostNameBindings"; - _requests[2911] = new DefaultHttpContext(); - _requests[2911].RequestServices = CreateServices(); - _requests[2911].Request.Method = "GET"; - _requests[2911].Request.Path = "/subscriptions/c53c0317-8fdc-/resourceGroups/800ea246-a4fe-411/providers/Microsoft.Web/sites/7b226/slots/c2ff2/hybridconnection"; - _requests[2912] = new DefaultHttpContext(); - _requests[2912].RequestServices = CreateServices(); - _requests[2912].Request.Method = "GET"; - _requests[2912].Request.Path = "/subscriptions/35880b7a-2570-/resourceGroups/744b543a-38e3-464/providers/Microsoft.Web/sites/8e992/slots/57962/hybridConnectionRelays"; - _requests[2913] = new DefaultHttpContext(); - _requests[2913].RequestServices = CreateServices(); - _requests[2913].Request.Method = "GET"; - _requests[2913].Request.Path = "/subscriptions/227eace7-7be5-/resourceGroups/45b61ed6-67ca-44a/providers/Microsoft.Web/sites/85b66/slots/cbc7f/instances"; - _requests[2914] = new DefaultHttpContext(); - _requests[2914].RequestServices = CreateServices(); - _requests[2914].Request.Method = "POST"; - _requests[2914].Request.Path = "/subscriptions/6cee3282-6683-/resourceGroups/0dd536a4-2455-414/providers/Microsoft.Web/sites/bcc65/slots/525a0/iscloneable"; - _requests[2915] = new DefaultHttpContext(); - _requests[2915].RequestServices = CreateServices(); - _requests[2915].Request.Method = "POST"; - _requests[2915].Request.Path = "/subscriptions/df53b19a-5c08-/resourceGroups/451b14e6-091f-4c7/providers/Microsoft.Web/sites/3d39b/slots/2c83f/listsyncfunctiontriggerstatus"; - _requests[2916] = new DefaultHttpContext(); - _requests[2916].RequestServices = CreateServices(); - _requests[2916].Request.Method = "GET"; - _requests[2916].Request.Path = "/subscriptions/1b045d54-5d4b-/resourceGroups/1c4d4fbb-78ae-42a/providers/Microsoft.Web/sites/127cd/slots/4458a/metricdefinitions"; - _requests[2917] = new DefaultHttpContext(); - _requests[2917].RequestServices = CreateServices(); - _requests[2917].Request.Method = "GET"; - _requests[2917].Request.Path = "/subscriptions/63a38feb-8042-/resourceGroups/668a5bc4-333a-497/providers/Microsoft.Web/sites/febcd/slots/4b568/metrics"; - _requests[2918] = new DefaultHttpContext(); - _requests[2918].RequestServices = CreateServices(); - _requests[2918].Request.Method = "POST"; - _requests[2918].Request.Path = "/subscriptions/4c97f308-aadd-/resourceGroups/5a03e727-5ac8-4f1/providers/Microsoft.Web/sites/90113/slots/e3141/newpassword"; - _requests[2919] = new DefaultHttpContext(); - _requests[2919].RequestServices = CreateServices(); - _requests[2919].Request.Method = "GET"; - _requests[2919].Request.Path = "/subscriptions/9a06b351-2db0-/resourceGroups/65efc537-b721-41d/providers/Microsoft.Web/sites/9ab18/slots/3f270/perfcounters"; - _requests[2920] = new DefaultHttpContext(); - _requests[2920].RequestServices = CreateServices(); - _requests[2920].Request.Method = "GET"; - _requests[2920].Request.Path = "/subscriptions/edc11cc4-60ad-/resourceGroups/2aa89909-ffa6-421/providers/Microsoft.Web/sites/5f979/slots/9e919/phplogging"; - _requests[2921] = new DefaultHttpContext(); - _requests[2921].RequestServices = CreateServices(); - _requests[2921].Request.Method = "GET"; - _requests[2921].Request.Path = "/subscriptions/f9a773f2-9329-/resourceGroups/ffb33bd4-b9aa-498/providers/Microsoft.Web/sites/2dbed/slots/7cf12/premieraddons"; - _requests[2922] = new DefaultHttpContext(); - _requests[2922].RequestServices = CreateServices(); - _requests[2922].Request.Method = "GET"; - _requests[2922].Request.Path = "/subscriptions/4d4252a7-8d19-/resourceGroups/6f06cbe7-b51a-453/providers/Microsoft.Web/sites/24207/slots/3c9d7/processes"; - _requests[2923] = new DefaultHttpContext(); - _requests[2923].RequestServices = CreateServices(); - _requests[2923].Request.Method = "GET"; - _requests[2923].Request.Path = "/subscriptions/865af1fb-4b18-/resourceGroups/fd5834fa-2f67-41d/providers/Microsoft.Web/sites/3f84b/slots/b281f/publicCertificates"; - _requests[2924] = new DefaultHttpContext(); - _requests[2924].RequestServices = CreateServices(); - _requests[2924].Request.Method = "POST"; - _requests[2924].Request.Path = "/subscriptions/dbd142a6-6c40-/resourceGroups/127e4e15-e6dd-48f/providers/Microsoft.Web/sites/14d7d/slots/fb533/publishxml"; - _requests[2925] = new DefaultHttpContext(); - _requests[2925].RequestServices = CreateServices(); - _requests[2925].Request.Method = "POST"; - _requests[2925].Request.Path = "/subscriptions/d198be7e-5abf-/resourceGroups/b90733ff-5d11-438/providers/Microsoft.Web/sites/c4468/slots/375e8/recover"; - _requests[2926] = new DefaultHttpContext(); - _requests[2926].RequestServices = CreateServices(); - _requests[2926].Request.Method = "POST"; - _requests[2926].Request.Path = "/subscriptions/71e68862-9b81-/resourceGroups/88a854ad-f99a-4d4/providers/Microsoft.Web/sites/31193/slots/a2a04/resetSlotConfig"; - _requests[2927] = new DefaultHttpContext(); - _requests[2927].RequestServices = CreateServices(); - _requests[2927].Request.Method = "GET"; - _requests[2927].Request.Path = "/subscriptions/39e701a3-4fda-/resourceGroups/ba695903-d9df-445/providers/Microsoft.Web/sites/5db7b/slots/7e22f/resourceHealthMetadata"; - _requests[2928] = new DefaultHttpContext(); - _requests[2928].RequestServices = CreateServices(); - _requests[2928].Request.Method = "POST"; - _requests[2928].Request.Path = "/subscriptions/450500fc-8e89-/resourceGroups/d48930a2-33b6-419/providers/Microsoft.Web/sites/1a816/slots/352a5/restart"; - _requests[2929] = new DefaultHttpContext(); - _requests[2929].RequestServices = CreateServices(); - _requests[2929].Request.Method = "POST"; - _requests[2929].Request.Path = "/subscriptions/780c5936-f5f0-/resourceGroups/8569bdcc-b980-4a5/providers/Microsoft.Web/sites/a0c0a/slots/bd85d/restoreFromBackupBlob"; - _requests[2930] = new DefaultHttpContext(); - _requests[2930].RequestServices = CreateServices(); - _requests[2930].Request.Method = "POST"; - _requests[2930].Request.Path = "/subscriptions/1588c4c6-cb64-/resourceGroups/ce2253ef-2046-4df/providers/Microsoft.Web/sites/a6682/slots/0e532/restoreFromDeletedApp"; - _requests[2931] = new DefaultHttpContext(); - _requests[2931].RequestServices = CreateServices(); - _requests[2931].Request.Method = "POST"; - _requests[2931].Request.Path = "/subscriptions/276b8f0c-7a0c-/resourceGroups/eb7dd802-cd6a-4cf/providers/Microsoft.Web/sites/662d3/slots/4597c/restoreSnapshot"; - _requests[2932] = new DefaultHttpContext(); - _requests[2932].RequestServices = CreateServices(); - _requests[2932].Request.Method = "GET"; - _requests[2932].Request.Path = "/subscriptions/526d6b87-3594-/resourceGroups/543764ca-e05e-4a0/providers/Microsoft.Web/sites/25433/slots/a649b/siteextensions"; - _requests[2933] = new DefaultHttpContext(); - _requests[2933].RequestServices = CreateServices(); - _requests[2933].Request.Method = "POST"; - _requests[2933].Request.Path = "/subscriptions/cf961d50-0142-/resourceGroups/31e45165-4bf4-444/providers/Microsoft.Web/sites/7200a/slots/6e497/slotsdiffs"; - _requests[2934] = new DefaultHttpContext(); - _requests[2934].RequestServices = CreateServices(); - _requests[2934].Request.Method = "POST"; - _requests[2934].Request.Path = "/subscriptions/c181eb41-58a4-/resourceGroups/61e770c2-68e2-401/providers/Microsoft.Web/sites/56f96/slots/41c00/slotsswap"; - _requests[2935] = new DefaultHttpContext(); - _requests[2935].RequestServices = CreateServices(); - _requests[2935].Request.Method = "GET"; - _requests[2935].Request.Path = "/subscriptions/c7419565-e7cc-/resourceGroups/01f0b3b5-2d4b-42a/providers/Microsoft.Web/sites/9ffe0/slots/277ca/snapshots"; - _requests[2936] = new DefaultHttpContext(); - _requests[2936].RequestServices = CreateServices(); - _requests[2936].Request.Method = "POST"; - _requests[2936].Request.Path = "/subscriptions/cb3771bd-a417-/resourceGroups/295864f1-b87f-4cc/providers/Microsoft.Web/sites/b632b/slots/5ec14/start"; - _requests[2937] = new DefaultHttpContext(); - _requests[2937].RequestServices = CreateServices(); - _requests[2937].Request.Method = "POST"; - _requests[2937].Request.Path = "/subscriptions/99aa2ead-a446-/resourceGroups/642fe8ee-168b-43c/providers/Microsoft.Web/sites/f248d/slots/30d66/stop"; - _requests[2938] = new DefaultHttpContext(); - _requests[2938].RequestServices = CreateServices(); - _requests[2938].Request.Method = "POST"; - _requests[2938].Request.Path = "/subscriptions/3aff382f-67cb-/resourceGroups/2899d9b0-62d5-452/providers/Microsoft.Web/sites/94d88/slots/46612/sync"; - _requests[2939] = new DefaultHttpContext(); - _requests[2939].RequestServices = CreateServices(); - _requests[2939].Request.Method = "POST"; - _requests[2939].Request.Path = "/subscriptions/8fd066db-6f53-/resourceGroups/05b8f82c-7ba3-4c0/providers/Microsoft.Web/sites/3317d/slots/cbfe2/syncfunctiontriggers"; - _requests[2940] = new DefaultHttpContext(); - _requests[2940].RequestServices = CreateServices(); - _requests[2940].Request.Method = "GET"; - _requests[2940].Request.Path = "/subscriptions/b4b74a1b-9867-/resourceGroups/20d57cd8-93a7-48f/providers/Microsoft.Web/sites/c2b8c/slots/575bd/triggeredwebjobs"; - _requests[2941] = new DefaultHttpContext(); - _requests[2941].RequestServices = CreateServices(); - _requests[2941].Request.Method = "GET"; - _requests[2941].Request.Path = "/subscriptions/d6a9e0a2-8c73-/resourceGroups/824bf856-c788-433/providers/Microsoft.Web/sites/b0b84/slots/11e69/usages"; - _requests[2942] = new DefaultHttpContext(); - _requests[2942].RequestServices = CreateServices(); - _requests[2942].Request.Method = "GET"; - _requests[2942].Request.Path = "/subscriptions/fe21d00b-5cdf-/resourceGroups/05f38fac-08af-465/providers/Microsoft.Web/sites/eb52e/slots/59432/virtualNetworkConnections"; - _requests[2943] = new DefaultHttpContext(); - _requests[2943].RequestServices = CreateServices(); - _requests[2943].Request.Method = "GET"; - _requests[2943].Request.Path = "/subscriptions/56773e42-3828-/resourceGroups/c8487312-28fc-458/providers/Microsoft.Web/sites/d546f/slots/9fa9c/webjobs"; - _requests[2944] = new DefaultHttpContext(); - _requests[2944].RequestServices = CreateServices(); - _requests[2944].Request.Method = "GET"; - _requests[2944].Request.Path = "/subscriptions/e1645937-3d5c-/resourceGroups/88aea403-1881-44e/providers/Microsoft.Web/sites/ba516/triggeredwebjobs/5f29834d-b/history"; - _requests[2945] = new DefaultHttpContext(); - _requests[2945].RequestServices = CreateServices(); - _requests[2945].Request.Method = "POST"; - _requests[2945].Request.Path = "/subscriptions/51a6cd61-24ce-/resourceGroups/454f7fc6-3086-4f0/providers/Microsoft.Web/sites/e290f/triggeredwebjobs/7a1e3c56-6/run"; - _requests[2946] = new DefaultHttpContext(); - _requests[2946].RequestServices = CreateServices(); - _requests[2946].Request.Method = "GET"; - _requests[2946].Request.Path = "/subscriptions/e275f4ec-6b75-/resourceGroups/1f27413b-9ac4-483/providers/Microsoft.Web/sites/22969643/diagnostics/d72678d5-af1a-44d0/analyses"; - _requests[2947] = new DefaultHttpContext(); - _requests[2947].RequestServices = CreateServices(); - _requests[2947].Request.Method = "GET"; - _requests[2947].Request.Path = "/subscriptions/9be516e3-a8f3-/resourceGroups/b790b834-9b7f-46b/providers/Microsoft.Web/sites/8be27e75/diagnostics/743815a6-8f32-45ca/detectors"; - _requests[2948] = new DefaultHttpContext(); - _requests[2948].RequestServices = CreateServices(); - _requests[2948].Request.Method = "POST"; - _requests[2948].Request.Path = "/subscriptions/a9d1d875-c50e-/resourceGroups/0b467861-0570-46c/providers/Microsoft.Web/sites/d0a26d8f/recommendations/a15ac/disable"; - _requests[2949] = new DefaultHttpContext(); - _requests[2949].RequestServices = CreateServices(); - _requests[2949].Request.Method = "GET"; - _requests[2949].Request.Path = "/subscriptions/36bd64a5-6c93-/resourceGroups/8088a29f-04f4-4c7/providers/Microsoft.Web/sites/d49f3730/slots/7ac65/detectors"; - _requests[2950] = new DefaultHttpContext(); - _requests[2950].RequestServices = CreateServices(); - _requests[2950].Request.Method = "GET"; - _requests[2950].Request.Path = "/subscriptions/ec11dc82-2e49-/resourceGroups/47cf9e14-15b7-43c/providers/Microsoft.Web/sites/550274fc/slots/ead28/diagnostics"; - _requests[2951] = new DefaultHttpContext(); - _requests[2951].RequestServices = CreateServices(); - _requests[2951].Request.Method = "POST"; - _requests[2951].Request.Path = "/subscriptions/be19ca51-7147-/resourceGroups/1924d1e7-f330-439/providers/Microsoft.ApiManagement/service/2d923c05-fa/tenant/ed4817fa-8/git/regeneratePrimaryKey"; - _requests[2952] = new DefaultHttpContext(); - _requests[2952].RequestServices = CreateServices(); - _requests[2952].Request.Method = "POST"; - _requests[2952].Request.Path = "/subscriptions/b5f0101d-e65c-/resourceGroups/e897e457-112c-426/providers/Microsoft.ApiManagement/service/2a4d9f85-2e/tenant/45ebaff6-0/git/regenerateSecondaryKey"; - _requests[2953] = new DefaultHttpContext(); - _requests[2953].RequestServices = CreateServices(); - _requests[2953].Request.Method = "PUT"; - _requests[2953].Request.Path = "/subscriptions/94065339-06e9-/resourceGroups/01df056c-2266-46e/providers/Microsoft.Automation/automationAccounts/5bb9b64c-4de8-4b8d-ae/runbooks/9ef9601d-fd/draft/content"; - _requests[2954] = new DefaultHttpContext(); - _requests[2954].RequestServices = CreateServices(); - _requests[2954].Request.Method = "POST"; - _requests[2954].Request.Path = "/subscriptions/5afab22e-779b-/resourceGroups/b02647d0-aa86-42d/providers/Microsoft.Automation/automationAccounts/d48435e8-ff02-4b4c-95/runbooks/ab873d65-91/draft/publish"; - _requests[2955] = new DefaultHttpContext(); - _requests[2955].RequestServices = CreateServices(); - _requests[2955].Request.Method = "GET"; - _requests[2955].Request.Path = "/subscriptions/b656c592-4273-/resourceGroups/5decbde2-aeec-428/providers/Microsoft.Automation/automationAccounts/8aec46d4-4e17-4746-a4/runbooks/b4c1252c-35/draft/testJob"; - _requests[2956] = new DefaultHttpContext(); - _requests[2956].RequestServices = CreateServices(); - _requests[2956].Request.Method = "POST"; - _requests[2956].Request.Path = "/subscriptions/302c6447-480d-/resourceGroups/52c06393-9994-46b/providers/Microsoft.Automation/automationAccounts/2d7b388a-fd1f-48d7-a5/runbooks/fbc5e985-2a/draft/undoEdit"; - _requests[2957] = new DefaultHttpContext(); - _requests[2957].RequestServices = CreateServices(); - _requests[2957].Request.Method = "GET"; - _requests[2957].Request.Path = "/subscriptions/132c59ef-ea9a-/resourceGroups/77bcb214-8647-4ec/providers/Microsoft.DocumentDB/databaseAccounts/6c1ce2a5-c1/targetRegion/efc9e383-a62/percentile/metrics"; - _requests[2958] = new DefaultHttpContext(); - _requests[2958].RequestServices = CreateServices(); - _requests[2958].Request.Method = "GET"; - _requests[2958].Request.Path = "/subscriptions/7be471e7-ee20-/resourceGroups/c9ca523e-5064-4ce/providers/Microsoft.Logic/workflows/b6340db1-cda/triggers/b56f9d64-7b/schemas/json"; - _requests[2959] = new DefaultHttpContext(); - _requests[2959].RequestServices = CreateServices(); - _requests[2959].Request.Method = "PATCH"; - _requests[2959].Request.Path = "/subscriptions/f35b0085-25b2-/resourceGroups/d491e609-f67c-47e/providers/Microsoft.Sql/servers/85cf7288-8/databases/f0b30448-21c/automaticTuning/current"; - _requests[2960] = new DefaultHttpContext(); - _requests[2960].RequestServices = CreateServices(); - _requests[2960].Request.Method = "PUT"; - _requests[2960].Request.Path = "/subscriptions/d365ae33-b6f5-/resourceGroups/974550f6-6662-402/providers/Microsoft.StorSimple/managers/768b1836-72/devices/0c411672-5/alertSettings/default"; - _requests[2961] = new DefaultHttpContext(); - _requests[2961].RequestServices = CreateServices(); - _requests[2961].Request.Method = "PATCH"; - _requests[2961].Request.Path = "/subscriptions/7b4d4c42-71b7-/resourceGroups/16d7325b-3681-45e/providers/Microsoft.StorSimple/managers/0de2c196-61/devices/be3c324f-2/networkSettings/default"; - _requests[2962] = new DefaultHttpContext(); - _requests[2962].RequestServices = CreateServices(); - _requests[2962].Request.Method = "PATCH"; - _requests[2962].Request.Path = "/subscriptions/56f86b63-84de-/resourceGroups/3d60ea90-b4f0-44e/providers/Microsoft.StorSimple/managers/ac6e2f0e-00/devices/9e12715c-9/securitySettings/default"; - _requests[2963] = new DefaultHttpContext(); - _requests[2963].RequestServices = CreateServices(); - _requests[2963].Request.Method = "PUT"; - _requests[2963].Request.Path = "/subscriptions/9628ce78-1a11-/resourceGroups/4982a0ea-45f6-4bd/providers/Microsoft.StorSimple/managers/d1c1a1be-b4/devices/437f610c-1/timeSettings/default"; - _requests[2964] = new DefaultHttpContext(); - _requests[2964].RequestServices = CreateServices(); - _requests[2964].Request.Method = "GET"; - _requests[2964].Request.Path = "/subscriptions/0c33b923-501b-/resourceGroups/033b2fec-e604-40e/providers/Microsoft.StorSimple/managers/09d0eae0-3a/devices/fbf84d75-6/updateSummary/default"; - _requests[2965] = new DefaultHttpContext(); - _requests[2965].RequestServices = CreateServices(); - _requests[2965].Request.Method = "PUT"; - _requests[2965].Request.Path = "/subscriptions/63a347ac-6f6d-/resourceGroups/3df3d4b5-ceb2-42a/providers/Microsoft.Web/sites/4c844/instances/feae796f-d/extensions/MSDeploy"; - _requests[2966] = new DefaultHttpContext(); - _requests[2966].RequestServices = CreateServices(); - _requests[2966].Request.Method = "PUT"; - _requests[2966].Request.Path = "/subscriptions/6aaf9ab9-68e8-/resourceGroups/34c4a12c-f8d2-4b2/providers/Microsoft.Web/sites/0c5e0/slots/98f0e/backups/discover"; - _requests[2967] = new DefaultHttpContext(); - _requests[2967].RequestServices = CreateServices(); - _requests[2967].Request.Method = "PUT"; - _requests[2967].Request.Path = "/subscriptions/1070d7e2-67f9-/resourceGroups/ad457739-d05d-419/providers/Microsoft.Web/sites/9d754/slots/0dabd/config/appsettings"; - _requests[2968] = new DefaultHttpContext(); - _requests[2968].RequestServices = CreateServices(); - _requests[2968].Request.Method = "PUT"; - _requests[2968].Request.Path = "/subscriptions/2b43b361-6304-/resourceGroups/3d595aad-3e3b-41e/providers/Microsoft.Web/sites/8a2c5/slots/6d92f/config/authsettings"; - _requests[2969] = new DefaultHttpContext(); - _requests[2969].RequestServices = CreateServices(); - _requests[2969].Request.Method = "DELETE"; - _requests[2969].Request.Path = "/subscriptions/fcd42e71-4cba-/resourceGroups/4e432e7a-0c39-47b/providers/Microsoft.Web/sites/fbb9f/slots/7b5a9/config/backup"; - _requests[2970] = new DefaultHttpContext(); - _requests[2970].RequestServices = CreateServices(); - _requests[2970].Request.Method = "PUT"; - _requests[2970].Request.Path = "/subscriptions/9d851075-8ed2-/resourceGroups/8929fda1-4e55-46c/providers/Microsoft.Web/sites/d4538/slots/07e24/config/connectionstrings"; - _requests[2971] = new DefaultHttpContext(); - _requests[2971].RequestServices = CreateServices(); - _requests[2971].Request.Method = "PUT"; - _requests[2971].Request.Path = "/subscriptions/6f41259f-51e1-/resourceGroups/4d569e52-701b-4d6/providers/Microsoft.Web/sites/33745/slots/b645d/config/logs"; - _requests[2972] = new DefaultHttpContext(); - _requests[2972].RequestServices = CreateServices(); - _requests[2972].Request.Method = "PUT"; - _requests[2972].Request.Path = "/subscriptions/e39cdaad-da66-/resourceGroups/677cd4eb-c444-457/providers/Microsoft.Web/sites/19e84/slots/f5681/config/metadata"; - _requests[2973] = new DefaultHttpContext(); - _requests[2973].RequestServices = CreateServices(); - _requests[2973].Request.Method = "PUT"; - _requests[2973].Request.Path = "/subscriptions/26dd709d-19a9-/resourceGroups/a693fc29-fd07-4d2/providers/Microsoft.Web/sites/8a481/slots/47964/config/pushsettings"; - _requests[2974] = new DefaultHttpContext(); - _requests[2974].RequestServices = CreateServices(); - _requests[2974].Request.Method = "PATCH"; - _requests[2974].Request.Path = "/subscriptions/5f16432f-b620-/resourceGroups/0a92f299-4761-48c/providers/Microsoft.Web/sites/54aa2/slots/79523/config/web"; - _requests[2975] = new DefaultHttpContext(); - _requests[2975].RequestServices = CreateServices(); - _requests[2975].Request.Method = "PUT"; - _requests[2975].Request.Path = "/subscriptions/71dc29b8-b650-/resourceGroups/190c7021-e1df-436/providers/Microsoft.Web/sites/261de/slots/a05d4/extensions/MSDeploy"; - _requests[2976] = new DefaultHttpContext(); - _requests[2976].RequestServices = CreateServices(); - _requests[2976].Request.Method = "GET"; - _requests[2976].Request.Path = "/subscriptions/ed70b1e8-506a-/resourceGroups/c4f41854-0902-403/providers/Microsoft.Web/sites/86544/slots/25ade/migratemysql/status"; - _requests[2977] = new DefaultHttpContext(); - _requests[2977].RequestServices = CreateServices(); - _requests[2977].Request.Method = "POST"; - _requests[2977].Request.Path = "/subscriptions/e2d8e62b-4a65-/resourceGroups/080dc83c-8e26-4d8/providers/Microsoft.Web/sites/c9b4e/slots/a222c/networkTrace/start"; - _requests[2978] = new DefaultHttpContext(); - _requests[2978].RequestServices = CreateServices(); - _requests[2978].Request.Method = "POST"; - _requests[2978].Request.Path = "/subscriptions/baf2bcc9-e939-/resourceGroups/c800da59-235f-473/providers/Microsoft.Web/sites/26ae8/slots/08932/networkTrace/stop"; - _requests[2979] = new DefaultHttpContext(); - _requests[2979].RequestServices = CreateServices(); - _requests[2979].Request.Method = "PUT"; - _requests[2979].Request.Path = "/subscriptions/9c8d0e79-269f-/resourceGroups/e5d8c9dc-532f-4cc/providers/Microsoft.Web/sites/e0700/slots/39b3d/privateAccess/virtualNetworks"; - _requests[2980] = new DefaultHttpContext(); - _requests[2980].RequestServices = CreateServices(); - _requests[2980].Request.Method = "GET"; - _requests[2980].Request.Path = "/subscriptions/b6ad1c62-f874-/resourceGroups/bfc158c6-6ea2-400/providers/Microsoft.Web/sites/54560/slots/61a72/resourceHealthMetadata/default"; - _requests[2981] = new DefaultHttpContext(); - _requests[2981].RequestServices = CreateServices(); - _requests[2981].Request.Method = "PATCH"; - _requests[2981].Request.Path = "/subscriptions/d15f6cd7-7a04-/resourceGroups/369f8672-386a-4cd/providers/Microsoft.Web/sites/473df/slots/31339/sourcecontrols/web"; - _requests[2982] = new DefaultHttpContext(); - _requests[2982].RequestServices = CreateServices(); - _requests[2982].Request.Method = "POST"; - _requests[2982].Request.Path = "/subscriptions/94e89d7a-7923-/resourceGroups/2a9d2ea8-41a6-482/providers/Microsoft.Automation/automationAccounts/c7e6ad97-a042-4340-8e/runbooks/7a31a3bc-06/draft/testJob/resume"; - _requests[2983] = new DefaultHttpContext(); - _requests[2983].RequestServices = CreateServices(); - _requests[2983].Request.Method = "POST"; - _requests[2983].Request.Path = "/subscriptions/c800a00c-3d35-/resourceGroups/47a2b407-c08a-495/providers/Microsoft.Automation/automationAccounts/e411ce46-c6db-4690-8f/runbooks/904175c2-dd/draft/testJob/stop"; - _requests[2984] = new DefaultHttpContext(); - _requests[2984].RequestServices = CreateServices(); - _requests[2984].Request.Method = "GET"; - _requests[2984].Request.Path = "/subscriptions/40d6c94d-40e2-/resourceGroups/a8decb45-b9ef-4d2/providers/Microsoft.Automation/automationAccounts/0dec404d-effa-4c77-b2/runbooks/c4ea323b-18/draft/testJob/streams"; - _requests[2985] = new DefaultHttpContext(); - _requests[2985].RequestServices = CreateServices(); - _requests[2985].Request.Method = "POST"; - _requests[2985].Request.Path = "/subscriptions/2c9df469-76d5-/resourceGroups/c00792ee-9090-408/providers/Microsoft.Automation/automationAccounts/be8ef34e-6b58-46bf-a1/runbooks/8a574214-ce/draft/testJob/suspend"; - _requests[2986] = new DefaultHttpContext(); - _requests[2986].RequestServices = CreateServices(); - _requests[2986].Request.Method = "GET"; - _requests[2986].Request.Path = "/subscriptions/a629b00d-f515-/resourceGroups/0f76ef70-e84b-470/providers/Microsoft.ServerManagement/nodes/313656fa/sessions/93e97be/features/powerShellConsole/pssessions"; - _requests[2987] = new DefaultHttpContext(); - _requests[2987].RequestServices = CreateServices(); - _requests[2987].Request.Method = "POST"; - _requests[2987].Request.Path = "/subscriptions/048fe860-9d69-/resourceGroups/d2f9cb33-47d7-444/providers/Microsoft.StorSimple/managers/acfae581-59/devices/1fe54673-4/securitySettings/default/syncRemoteManagementCertificate"; - _requests[2988] = new DefaultHttpContext(); - _requests[2988].RequestServices = CreateServices(); - _requests[2988].Request.Method = "GET"; - _requests[2988].Request.Path = "/subscriptions/2bdbf209-ef5d-/resourceGroups/330841b7-487e-46d/providers/Microsoft.Web/sites/c552d/instances/6e0a1150-9/extensions/MSDeploy/log"; - _requests[2989] = new DefaultHttpContext(); - _requests[2989].RequestServices = CreateServices(); - _requests[2989].Request.Method = "POST"; - _requests[2989].Request.Path = "/subscriptions/cd927a73-1084-/resourceGroups/d2cad287-b5c2-477/providers/Microsoft.Web/sites/a31a4/slots/bbcee/config/appsettings/list"; - _requests[2990] = new DefaultHttpContext(); - _requests[2990].RequestServices = CreateServices(); - _requests[2990].Request.Method = "POST"; - _requests[2990].Request.Path = "/subscriptions/5440693a-ff2f-/resourceGroups/735e5c17-5ce9-470/providers/Microsoft.Web/sites/f32bb/slots/52655/config/authsettings/list"; - _requests[2991] = new DefaultHttpContext(); - _requests[2991].RequestServices = CreateServices(); - _requests[2991].Request.Method = "POST"; - _requests[2991].Request.Path = "/subscriptions/a7e26e91-eeed-/resourceGroups/43a3ccf4-96ce-489/providers/Microsoft.Web/sites/d0870/slots/b6018/config/backup/list"; - _requests[2992] = new DefaultHttpContext(); - _requests[2992].RequestServices = CreateServices(); - _requests[2992].Request.Method = "POST"; - _requests[2992].Request.Path = "/subscriptions/b70915d0-6a9e-/resourceGroups/3cec45dd-0110-4d8/providers/Microsoft.Web/sites/8ea3b/slots/8fa2f/config/connectionstrings/list"; - _requests[2993] = new DefaultHttpContext(); - _requests[2993].RequestServices = CreateServices(); - _requests[2993].Request.Method = "POST"; - _requests[2993].Request.Path = "/subscriptions/7f690c48-6dc8-/resourceGroups/ff8aca89-2c84-445/providers/Microsoft.Web/sites/23358/slots/37816/config/metadata/list"; - _requests[2994] = new DefaultHttpContext(); - _requests[2994].RequestServices = CreateServices(); - _requests[2994].Request.Method = "POST"; - _requests[2994].Request.Path = "/subscriptions/ba3acace-b1f0-/resourceGroups/836a514a-14c6-44c/providers/Microsoft.Web/sites/45017/slots/0238f/config/publishingcredentials/list"; - _requests[2995] = new DefaultHttpContext(); - _requests[2995].RequestServices = CreateServices(); - _requests[2995].Request.Method = "POST"; - _requests[2995].Request.Path = "/subscriptions/7b17190d-2772-/resourceGroups/9afd4923-3beb-464/providers/Microsoft.Web/sites/f1a51/slots/685ec/config/pushsettings/list"; - _requests[2996] = new DefaultHttpContext(); - _requests[2996].RequestServices = CreateServices(); - _requests[2996].Request.Method = "GET"; - _requests[2996].Request.Path = "/subscriptions/e548e1cb-4eb5-/resourceGroups/560776a0-a90d-488/providers/Microsoft.Web/sites/9b604/slots/abde2/config/web/snapshots"; - _requests[2997] = new DefaultHttpContext(); - _requests[2997].RequestServices = CreateServices(); - _requests[2997].Request.Method = "POST"; - _requests[2997].Request.Path = "/subscriptions/d924f306-d64d-/resourceGroups/2dcb57ca-8da4-443/providers/Microsoft.Web/sites/a0906/slots/24a7e/containerlogs/zip/download"; - _requests[2998] = new DefaultHttpContext(); - _requests[2998].RequestServices = CreateServices(); - _requests[2998].Request.Method = "GET"; - _requests[2998].Request.Path = "/subscriptions/bc432d5f-3dfa-/resourceGroups/8e32e28c-185f-477/providers/Microsoft.Web/sites/3cd2b/slots/ee98e/extensions/MSDeploy/log"; - _requests[2999] = new DefaultHttpContext(); - _requests[2999].RequestServices = CreateServices(); - _requests[2999].Request.Method = "GET"; - _requests[2999].Request.Path = "/subscriptions/bb2a537e-84e7-/resourceGroups/3cade790-cd2e-4a9/providers/Microsoft.Web/sites/8919d/slots/d4dd6/functions/admin/token"; - _requests[3000] = new DefaultHttpContext(); - _requests[3000].RequestServices = CreateServices(); - _requests[3000].Request.Method = "GET"; - _requests[3000].Request.Path = "/subscriptions/bdbe08dc-634a-/resourceGroups/9d299d87-5e0e-4c2/providers/Microsoft.Automation/automationAccounts/74df257c-b486-49a3-a1/runbooks/f60caf93-e3/draft/testJob/streams/886235f9-3f"; - _requests[3001] = new DefaultHttpContext(); - _requests[3001].RequestServices = CreateServices(); - _requests[3001].Request.Method = "PATCH"; - _requests[3001].Request.Path = "/subscriptions/17106536-f838-/resourceGroups/ca53a477-3f8f-4a9/providers/Microsoft.ServerManagement/nodes/c6b44529/sessions/e89ffb0/features/powerShellConsole/pssessions/4305809e-"; - _requests[3002] = new DefaultHttpContext(); - _requests[3002].RequestServices = CreateServices(); - _requests[3002].Request.Method = "GET"; - _requests[3002].Request.Path = "/subscriptions/f7a85246-f53b-/resourceGroups/f07e40f1-8154-45b/providers/Microsoft.Web/sites/2f76b/slots/07ec0/config/web/snapshots/7000ee81-c"; - _requests[3003] = new DefaultHttpContext(); - _requests[3003].RequestServices = CreateServices(); - _requests[3003].Request.Method = "POST"; - _requests[3003].Request.Path = "/subscriptions/0eca0a28-2ff8-/resourceGroups/457dfe37-cc31-4ec/providers/Microsoft.ServerManagement/nodes/f38ac0db/sessions/1212c06/features/powerShellConsole/pssessions/e8347d29-/cancel"; - _requests[3004] = new DefaultHttpContext(); - _requests[3004].RequestServices = CreateServices(); - _requests[3004].Request.Method = "POST"; - _requests[3004].Request.Path = "/subscriptions/a3d7c573-99f9-/resourceGroups/0897bba2-5e84-4d2/providers/Microsoft.ServerManagement/nodes/bfe0e506/sessions/f7f6043/features/powerShellConsole/pssessions/dbab6bd7-/invokeCommand"; - _requests[3005] = new DefaultHttpContext(); - _requests[3005].RequestServices = CreateServices(); - _requests[3005].Request.Method = "POST"; - _requests[3005].Request.Path = "/subscriptions/81122d65-6a25-/resourceGroups/73234128-56fe-4a5/providers/Microsoft.ServerManagement/nodes/28a7ce35/sessions/7ecf7ab/features/powerShellConsole/pssessions/b5ad9d4c-/tab"; - _requests[3006] = new DefaultHttpContext(); - _requests[3006].RequestServices = CreateServices(); - _requests[3006].Request.Method = "POST"; - _requests[3006].Request.Path = "/subscriptions/152860e7-c844-/resourceGroups/b9d1d2a0-e3e7-41b/providers/Microsoft.Web/sites/4e8c5/slots/c4d36/config/web/snapshots/18f48d0c-a/recover"; - _requests[3007] = new DefaultHttpContext(); - _requests[3007].RequestServices = CreateServices(); - _requests[3007].Request.Method = "PATCH"; - _requests[3007].Request.Path = "/subscriptions/80fad015-63e8-/resourceGroups/7fa4cfbe-/providers/Microsoft.DataMigration/services/0b0d6307-3b/projects/ac677ddf-86/tasks/09449a75"; - _requests[3008] = new DefaultHttpContext(); - _requests[3008].RequestServices = CreateServices(); - _requests[3008].Request.Method = "DELETE"; - _requests[3008].Request.Path = "/subscriptions/5a7881d7-ef5b-/resourceGroups/7c45c324-2de4-4c0/providers/Microsoft.ApiManagement/service/1ae34605-02/apis/0e675/diagnostics/47a9cc0a-1e9"; - _requests[3009] = new DefaultHttpContext(); - _requests[3009].RequestServices = CreateServices(); - _requests[3009].Request.Method = "DELETE"; - _requests[3009].Request.Path = "/subscriptions/05628035-9d02-/resourceGroups/c68b4a0e-eee6-4e5/providers/Microsoft.ApiManagement/service/c9315ffa-27/apis/a6c12/issues/d56de24"; - _requests[3010] = new DefaultHttpContext(); - _requests[3010].RequestServices = CreateServices(); - _requests[3010].Request.Method = "DELETE"; - _requests[3010].Request.Path = "/subscriptions/d28a6b8d-4952-/resourceGroups/eba4e352-be93-430/providers/Microsoft.ApiManagement/service/d6019c62-38/apis/7549e/operations/67a373e0-0d"; - _requests[3011] = new DefaultHttpContext(); - _requests[3011].RequestServices = CreateServices(); - _requests[3011].Request.Method = "DELETE"; - _requests[3011].Request.Path = "/subscriptions/e6e65b3f-1b81-/resourceGroups/3fc2d511-7847-4cb/providers/Microsoft.ApiManagement/service/8779b527-ce/apis/cf358/policies/40f730e9"; - _requests[3012] = new DefaultHttpContext(); - _requests[3012].RequestServices = CreateServices(); - _requests[3012].Request.Method = "DELETE"; - _requests[3012].Request.Path = "/subscriptions/033a276e-ccf5-/resourceGroups/93219f9f-3f6d-446/providers/Microsoft.ApiManagement/service/ca019299-80/apis/65164/releases/d411b6dc-"; - _requests[3013] = new DefaultHttpContext(); - _requests[3013].RequestServices = CreateServices(); - _requests[3013].Request.Method = "DELETE"; - _requests[3013].Request.Path = "/subscriptions/58471891-77c6-/resourceGroups/906eed81-f6d3-46d/providers/Microsoft.ApiManagement/service/9d316d38-ec/apis/a1d4d/schemas/e9102421"; - _requests[3014] = new DefaultHttpContext(); - _requests[3014].RequestServices = CreateServices(); - _requests[3014].Request.Method = "DELETE"; - _requests[3014].Request.Path = "/subscriptions/842ae3c4-e419-/resourceGroups/a5448c78-b1cc-4e1/providers/Microsoft.ApiManagement/service/2b27bc00-9b/apis/0a0ae/tagDescriptions/e3132"; - _requests[3015] = new DefaultHttpContext(); - _requests[3015].RequestServices = CreateServices(); - _requests[3015].Request.Method = "DELETE"; - _requests[3015].Request.Path = "/subscriptions/e85e7075-6930-/resourceGroups/ae0c3deb-c09a-47c/providers/Microsoft.ApiManagement/service/b418e37c-ed/apis/57026/tags/ee7f4"; - _requests[3016] = new DefaultHttpContext(); - _requests[3016].RequestServices = CreateServices(); - _requests[3016].Request.Method = "DELETE"; - _requests[3016].Request.Path = "/subscriptions/9cad8092-c19d-/resourceGroups/f7ab6d0a-8d13-4b7/providers/Microsoft.ApiManagement/service/4aefcfd0-95/diagnostics/6ba216b9-c90/loggers/9061de3d"; - _requests[3017] = new DefaultHttpContext(); - _requests[3017].RequestServices = CreateServices(); - _requests[3017].Request.Method = "DELETE"; - _requests[3017].Request.Path = "/subscriptions/aa341cbb-64c8-/resourceGroups/1cb92e30-3bfd-415/providers/Microsoft.ApiManagement/service/b11b3b9f-2a/groups/a94a2af/users/d2d6a"; - _requests[3018] = new DefaultHttpContext(); - _requests[3018].RequestServices = CreateServices(); - _requests[3018].Request.Method = "DELETE"; - _requests[3018].Request.Path = "/subscriptions/1510738e-1d2c-/resourceGroups/ecd78f1f-5a9e-402/providers/Microsoft.ApiManagement/service/36911d06-72/notifications/536d60de-4502-4d/recipientEmails/c5477"; - _requests[3019] = new DefaultHttpContext(); - _requests[3019].RequestServices = CreateServices(); - _requests[3019].Request.Method = "DELETE"; - _requests[3019].Request.Path = "/subscriptions/6c79a8c9-11a3-/resourceGroups/dbead4d8-f2b9-468/providers/Microsoft.ApiManagement/service/8b6b2329-02/notifications/308681b9-d50c-44/recipientUsers/2c915"; - _requests[3020] = new DefaultHttpContext(); - _requests[3020].RequestServices = CreateServices(); - _requests[3020].Request.Method = "DELETE"; - _requests[3020].Request.Path = "/subscriptions/ebec682f-6a85-/resourceGroups/1bcbec20-41ab-4b8/providers/Microsoft.ApiManagement/service/2c327778-c5/products/48652b52-/apis/2415a"; - _requests[3021] = new DefaultHttpContext(); - _requests[3021].RequestServices = CreateServices(); - _requests[3021].Request.Method = "DELETE"; - _requests[3021].Request.Path = "/subscriptions/70c7d372-2990-/resourceGroups/619e3164-b254-4d2/providers/Microsoft.ApiManagement/service/4d0ca280-69/products/3125f8b8-/groups/2c961eb"; - _requests[3022] = new DefaultHttpContext(); - _requests[3022].RequestServices = CreateServices(); - _requests[3022].Request.Method = "DELETE"; - _requests[3022].Request.Path = "/subscriptions/5527a0b7-df11-/resourceGroups/ca059ada-4d41-4d3/providers/Microsoft.ApiManagement/service/3a1174cf-eb/products/eec09e8a-/policies/7420c584"; - _requests[3023] = new DefaultHttpContext(); - _requests[3023].RequestServices = CreateServices(); - _requests[3023].Request.Method = "DELETE"; - _requests[3023].Request.Path = "/subscriptions/7f5569da-13a1-/resourceGroups/6c2e1f46-17a9-4c6/providers/Microsoft.ApiManagement/service/3453b7d9-6d/products/941667c0-/tags/31a4b"; - _requests[3024] = new DefaultHttpContext(); - _requests[3024].RequestServices = CreateServices(); - _requests[3024].Request.Method = "PATCH"; - _requests[3024].Request.Path = "/subscriptions/d7c11794-ccde-/resourceGroups/ca107fde-7254-49e/providers/Microsoft.ApiManagement/service/841dad2a-1b/quotas/229fd337-46f3-4/periods/f5c9b41a-6d4f-"; - _requests[3025] = new DefaultHttpContext(); - _requests[3025].RequestServices = CreateServices(); - _requests[3025].Request.Method = "GET"; - _requests[3025].Request.Path = "/subscriptions/79a6e91f-7319-/resourceGroups/4cd2bb52-4838-437/providers/Microsoft.Automation/automationAccounts/78a192ed-b864-41f4-ad/compilationjobs/94a25/streams/5249a002-47"; - _requests[3026] = new DefaultHttpContext(); - _requests[3026].RequestServices = CreateServices(); - _requests[3026].Request.Method = "GET"; - _requests[3026].Request.Path = "/subscriptions/3b1ebe63-4ae3-/resourceGroups/4eccc3cb-ac0b-486/providers/Microsoft.Automation/automationAccounts/0892befa-e697-4e8c-ab/jobs/9cc91/streams/d320a682-f0"; - _requests[3027] = new DefaultHttpContext(); - _requests[3027].RequestServices = CreateServices(); - _requests[3027].Request.Method = "GET"; - _requests[3027].Request.Path = "/subscriptions/f37a4350-4d55-/resourceGroups/ea7f0cb5-b404-4e2/providers/Microsoft.Automation/automationAccounts/70098a37-980a-4949-a2/modules/0c2a59b7-4/activities/0eafb220-da1"; - _requests[3028] = new DefaultHttpContext(); - _requests[3028].RequestServices = CreateServices(); - _requests[3028].Request.Method = "GET"; - _requests[3028].Request.Path = "/subscriptions/677208a9-7196-/resourceGroups/b383008f-f4f4-494/providers/Microsoft.Automation/automationAccounts/c2ea301d-def4-4b1d-97/nodes/86a110/reports/5136c2f8"; - _requests[3029] = new DefaultHttpContext(); - _requests[3029].RequestServices = CreateServices(); - _requests[3029].Request.Method = "GET"; - _requests[3029].Request.Path = "/subscriptions/c200845d-78dd-/resourceGroups/10e01da1-b4b9-4b8/providers/Microsoft.Automation/automationAccounts/7104c133-30c2-437d-b7/sourceControls/1f3bef65-71e1-411/sourceControlSyncJobs/f78dd9e4-3c89-4b74-803"; - _requests[3030] = new DefaultHttpContext(); - _requests[3030].RequestServices = CreateServices(); - _requests[3030].Request.Method = "GET"; - _requests[3030].Request.Path = "/subscriptions/dc1de632-78b5-/resourceGroups/909696c1-c935-4c6/providers/Microsoft.Batch/batchAccounts/13e19c5c-a0/applications/f4acc9aa-e309/versions/eb89e1f"; - _requests[3031] = new DefaultHttpContext(); - _requests[3031].RequestServices = CreateServices(); - _requests[3031].Request.Method = "GET"; - _requests[3031].Request.Path = "/subscriptions/081f5739-02a7-/resourceGroups/c60f5003-3113-4e4/providers/Microsoft.BatchAI/workspaces/2f66e61b-9305/experiments/3c8078a6-dc3b-/jobs/2138e2f"; - _requests[3032] = new DefaultHttpContext(); - _requests[3032].RequestServices = CreateServices(); - _requests[3032].Request.Method = "DELETE"; - _requests[3032].Request.Path = "/subscriptions/83aa885b-660d-/resourceGroups/957ece21-926a-454/providers/Microsoft.Cdn/profiles/06a45908-ee/endpoints/83e2e101-f80/customDomains/9f3c3dde-82be-44"; - _requests[3033] = new DefaultHttpContext(); - _requests[3033].RequestServices = CreateServices(); - _requests[3033].Request.Method = "PATCH"; - _requests[3033].Request.Path = "/subscriptions/f1860a01-341d-/resourceGroups/3cd42b73-0e0c-460/providers/Microsoft.Cdn/profiles/0c35c594-34/endpoints/8c9ffbda-48e/origins/0d1ed660-3"; - _requests[3034] = new DefaultHttpContext(); - _requests[3034].RequestServices = CreateServices(); - _requests[3034].Request.Method = "DELETE"; - _requests[3034].Request.Path = "/subscriptions/a7f82e38-6285-/resourceGroups/bf6873df-5fff-40f/providers/Microsoft.Compute/galleries/5b361303-9c/images/e5e17571-0fdf-4b/versions/2858ec2f-418c-48f3-a1e3"; - _requests[3035] = new DefaultHttpContext(); - _requests[3035].RequestServices = CreateServices(); - _requests[3035].Request.Method = "GET"; - _requests[3035].Request.Path = "/subscriptions/56e039b1-9507-/resourceGroups/f68e5341-8901-4e6/providers/microsoft.Compute/virtualMachineScaleSets/5b3f2061-0d2c-4af4-b370-ac/virtualMachines/e7ccce82-a150-483f-/networkInterfaces/379df0c4-1fdd-459e-b"; - _requests[3036] = new DefaultHttpContext(); - _requests[3036].RequestServices = CreateServices(); - _requests[3036].Request.Method = "PATCH"; - _requests[3036].Request.Path = "/subscriptions/ab5f23ee-0fc3-/resourceGroups/f2163727-b22d-46e/providers/Microsoft.ContainerRegistry/registries/0b02b1fb-f17/buildTasks/99bcfeef-0601/steps/01c9c586"; - _requests[3037] = new DefaultHttpContext(); - _requests[3037].RequestServices = CreateServices(); - _requests[3037].Request.Method = "DELETE"; - _requests[3037].Request.Path = "/subscriptions/fa3ef0b6-ae85-/resourceGroups/b915a307-2d21-46e/providers/Microsoft.CustomerInsights/hubs/59f263a/connectors/7a38d92f-3048/mappings/c4cfa9a5-46"; - _requests[3038] = new DefaultHttpContext(); - _requests[3038].RequestServices = CreateServices(); - _requests[3038].Request.Method = "PATCH"; - _requests[3038].Request.Path = "/subscriptions/cf7ef6ab-2321-/resourceGroups/e77ef2f7-f14d-4f2/providers/Microsoft.DataFactory/factories/461fb560-01/integrationRuntimes/0ef3230b-b11b-4263-8de/nodes/ef12db8f"; - _requests[3039] = new DefaultHttpContext(); - _requests[3039].RequestServices = CreateServices(); - _requests[3039].Request.Method = "GET"; - _requests[3039].Request.Path = "/subscriptions/be36dea2-c648-/resourceGroups/e6a50469-dae6-440/providers/Microsoft.DataLakeAnalytics/accounts/20dc790a-98/storageAccounts/00783306-b7c3-45ba/containers/9526c97f-9c62"; - _requests[3040] = new DefaultHttpContext(); - _requests[3040].RequestServices = CreateServices(); - _requests[3040].Request.Method = "DELETE"; - _requests[3040].Request.Path = "/subscriptions/250c1886-e4ed-/resourceGroups/118896cb-6029-475/providers/Microsoft.Devices/IotHubs/933e5a34-022/eventHubEndpoints/5710edb4-7b74-414b-8/ConsumerGroups/cbeb6"; - _requests[3041] = new DefaultHttpContext(); - _requests[3041].RequestServices = CreateServices(); - _requests[3041].Request.Method = "GET"; - _requests[3041].Request.Path = "/subscriptions/b11583b5-7e07-/resourceGroups/23b53f39-e57b-4d5/providers/Microsoft.DevTestLab/labs/92b2f1b/artifactsources/536f6676-81b4-47d5/armtemplates/ac76d"; - _requests[3042] = new DefaultHttpContext(); - _requests[3042].RequestServices = CreateServices(); - _requests[3042].Request.Method = "GET"; - _requests[3042].Request.Path = "/subscriptions/389754a9-124f-/resourceGroups/bed957f2-6561-4a4/providers/Microsoft.DevTestLab/labs/8b1bef4/artifactsources/162048bc-86c8-4f70/artifacts/02141"; - _requests[3043] = new DefaultHttpContext(); - _requests[3043].RequestServices = CreateServices(); - _requests[3043].Request.Method = "PATCH"; - _requests[3043].Request.Path = "/subscriptions/f2043874-87da-/resourceGroups/24726e92-faa0-4a6/providers/Microsoft.DevTestLab/labs/c0db5c3/policysets/1a1d1c97-d1d6/policies/097d3"; - _requests[3044] = new DefaultHttpContext(); - _requests[3044].RequestServices = CreateServices(); - _requests[3044].Request.Method = "DELETE"; - _requests[3044].Request.Path = "/subscriptions/ac593fa0-9588-/resourceGroups/170de0d9-d3fa-41f/providers/Microsoft.DevTestLab/labs/048dce7/users/309270f2/disks/6cf68"; - _requests[3045] = new DefaultHttpContext(); - _requests[3045].RequestServices = CreateServices(); - _requests[3045].Request.Method = "DELETE"; - _requests[3045].Request.Path = "/subscriptions/bf95f472-1d9f-/resourceGroups/96b277cf-6a9a-4cf/providers/Microsoft.DevTestLab/labs/2f9b9cd/users/c3a3c555/environments/e079c"; - _requests[3046] = new DefaultHttpContext(); - _requests[3046].RequestServices = CreateServices(); - _requests[3046].Request.Method = "DELETE"; - _requests[3046].Request.Path = "/subscriptions/7a59b7ab-bc3b-/resourceGroups/6400374d-d687-425/providers/Microsoft.DevTestLab/labs/55b7231/users/70d0db08/secrets/14391"; - _requests[3047] = new DefaultHttpContext(); - _requests[3047].RequestServices = CreateServices(); - _requests[3047].Request.Method = "PATCH"; - _requests[3047].Request.Path = "/subscriptions/28f0a978-b18f-/resourceGroups/50ea527c-7d21-429/providers/Microsoft.DevTestLab/labs/c8b9980/virtualmachines/44be3fe4-deb6-4ddf/schedules/4b99d"; - _requests[3048] = new DefaultHttpContext(); - _requests[3048].RequestServices = CreateServices(); - _requests[3048].Request.Method = "GET"; - _requests[3048].Request.Path = "/subscriptions/99fca47e-9bee-/resourceGroups/922e7d9e-ffd6-48a/providers/Microsoft.EventHub/namespaces/ff09d4d8-d20b/disasterRecoveryConfigs/ce3b0/AuthorizationRules/28250148-488d-432a-90"; - _requests[3049] = new DefaultHttpContext(); - _requests[3049].RequestServices = CreateServices(); - _requests[3049].Request.Method = "DELETE"; - _requests[3049].Request.Path = "/subscriptions/7466ad2c-5427-/resourceGroups/f909a281-0118-4c5/providers/Microsoft.EventHub/namespaces/15732393-b801/eventhubs/5f0e6525-70b/authorizationRules/e10b043a-4c8d-4cb9-89"; - _requests[3050] = new DefaultHttpContext(); - _requests[3050].RequestServices = CreateServices(); - _requests[3050].Request.Method = "GET"; - _requests[3050].Request.Path = "/subscriptions/728aa120-2928-/resourceGroups/18a0a904-85cf-4e4/providers/Microsoft.EventHub/namespaces/7c33b3fd-a1b5/eventhubs/f03de963-e80/consumergroups/4c7d6df3-76bb-4a5"; - _requests[3051] = new DefaultHttpContext(); - _requests[3051].RequestServices = CreateServices(); - _requests[3051].Request.Method = "GET"; - _requests[3051].Request.Path = "/subscriptions/98e662dd-7d2f-/resourceGroups/bfc63957-752b-486/providers/Microsoft.Fabric.Admin/fabricLocations/c1da3115/logicalNetworks/d55693de-bc99-/logicalSubnets/ee8a58a1-8e58"; - _requests[3052] = new DefaultHttpContext(); - _requests[3052].RequestServices = CreateServices(); - _requests[3052].Request.Method = "GET"; - _requests[3052].Request.Path = "/subscriptions/d9396dc9-d3ff-/resourceGroups/9d26af45-64a6-4c0/providers/Microsoft.Fabric.Admin/fabricLocations/63752883/storageSubSystems/514e0bd9-4087-42/storagePools/0f0abc53-fa"; - _requests[3053] = new DefaultHttpContext(); - _requests[3053].RequestServices = CreateServices(); - _requests[3053].Request.Method = "GET"; - _requests[3053].Request.Path = "/subscriptions/d38d1742-c5dd-/resourceGroups/c942d42e-761b-44c/providers/Microsoft.InfrastructureInsights.Admin/regionHealths/d0b2ec09/serviceHealths/c5d6e154-2555-4d80-a1/resourceHealths/6032c69d-c262-444d-b69"; - _requests[3054] = new DefaultHttpContext(); - _requests[3054].RequestServices = CreateServices(); - _requests[3054].Request.Method = "GET"; - _requests[3054].Request.Path = "/subscriptions/d7c169b0-220d-/resourceGroups/3aa1fe66-5299-47b/providers/Microsoft.Logic/workflows/45c1e234-f4c/runs/5f0f15f/actions/95e6ab47-e"; - _requests[3055] = new DefaultHttpContext(); - _requests[3055].RequestServices = CreateServices(); - _requests[3055].Request.Method = "GET"; - _requests[3055].Request.Path = "/subscriptions/9d9ce14f-e03b-/resourceGroups/9be1c153-764a-42f/providers/Microsoft.Logic/workflows/85b06849-d83/runs/7022880/operations/01db8652-3c"; - _requests[3056] = new DefaultHttpContext(); - _requests[3056].RequestServices = CreateServices(); - _requests[3056].Request.Method = "GET"; - _requests[3056].Request.Path = "/subscriptions/b2000e21-aecd-/resourceGroups/e02e6f5e-5ec2-406/providers/Microsoft.Logic/workflows/7a151111-612/triggers/40939c33-2f/histories/36d58d3f-a2"; - _requests[3057] = new DefaultHttpContext(); - _requests[3057].RequestServices = CreateServices(); - _requests[3057].Request.Method = "PATCH"; - _requests[3057].Request.Path = "/subscriptions/3e2eb183-bbfb-/resourceGroups/93063827-9fec-47f/providers/Microsoft.MachineLearningExperimentation/accounts/fe69ddd8-36/workspaces/670a349e-dbd1/projects/02fd65fd-11"; - _requests[3058] = new DefaultHttpContext(); - _requests[3058].RequestServices = CreateServices(); - _requests[3058].Request.Method = "DELETE"; - _requests[3058].Request.Path = "/subscriptions/a8d97f29-7fe9-/resourceGroups/feacff41-68c2-454/providers/Microsoft.Media/mediaservices/95991c71-04/liveEvents/352b3007-e9d1/liveOutputs/0fc939d2-a52a-"; - _requests[3059] = new DefaultHttpContext(); - _requests[3059].RequestServices = CreateServices(); - _requests[3059].Request.Method = "DELETE"; - _requests[3059].Request.Path = "/subscriptions/473892a2-768f-/resourceGroups/6b281ade-029c-428/providers/Microsoft.Media/mediaServices/60d0bc04-2d/transforms/a9500539-c9cd/jobs/1cddd2f"; - _requests[3060] = new DefaultHttpContext(); - _requests[3060].RequestServices = CreateServices(); - _requests[3060].Request.Method = "DELETE"; - _requests[3060].Request.Path = "/subscriptions/9dadcf11-b18a-/resourceGroups/86da777c-a099-461/providers/Microsoft.Migrate/projects/66235d39-98/groups/640fa603-/assessments/4eabf6bb-7865-"; - _requests[3061] = new DefaultHttpContext(); - _requests[3061].RequestServices = CreateServices(); - _requests[3061].Request.Method = "POST"; - _requests[3061].Request.Path = "/subscriptions/a2798c9a-4db9-/resourceGroups/ddd0d53a-3f02-4e6/providers/Microsoft.Network/expressRouteCircuits/a73ec04b-48/peerings/1df1cf0a-de/arpTables/1b27a665-8"; - _requests[3062] = new DefaultHttpContext(); - _requests[3062].RequestServices = CreateServices(); - _requests[3062].Request.Method = "PUT"; - _requests[3062].Request.Path = "/subscriptions/c327fb37-5088-/resourceGroups/1c425013-2700-422/providers/Microsoft.Network/expressRouteCircuits/6c5b593d-44/peerings/732e5484-d6/connections/ff037404-3128-"; - _requests[3063] = new DefaultHttpContext(); - _requests[3063].RequestServices = CreateServices(); - _requests[3063].Request.Method = "POST"; - _requests[3063].Request.Path = "/subscriptions/4d404997-1985-/resourceGroups/c94cd2bb-e123-4f6/providers/Microsoft.Network/expressRouteCircuits/7173e9e5-43/peerings/b7d073e7-09/routeTables/21c5b0f7-f"; - _requests[3064] = new DefaultHttpContext(); - _requests[3064].RequestServices = CreateServices(); - _requests[3064].Request.Method = "POST"; - _requests[3064].Request.Path = "/subscriptions/ce92d675-96dd-/resourceGroups/73fca6ec-8428-4e7/providers/Microsoft.Network/expressRouteCircuits/313b112d-a5/peerings/8c126420-dd/routeTablesSummary/d8bda50b-8"; - _requests[3065] = new DefaultHttpContext(); - _requests[3065].RequestServices = CreateServices(); - _requests[3065].Request.Method = "POST"; - _requests[3065].Request.Path = "/subscriptions/a5f3b098-bf76-/resourceGroups/4cf47e48-20b2-4d8/providers/Microsoft.Network/expressRouteCrossConnections/7a862778-b593-43ff-/peerings/14636cb7-92/arpTables/2a581fd6-1"; - _requests[3066] = new DefaultHttpContext(); - _requests[3066].RequestServices = CreateServices(); - _requests[3066].Request.Method = "POST"; - _requests[3066].Request.Path = "/subscriptions/e79045b7-f8f4-/resourceGroups/6c072bf5-9b6d-42d/providers/Microsoft.Network/expressRouteCrossConnections/7b0bca1c-01c9-4ad9-/peerings/15d1aefa-5f/routeTables/edbb6351-3"; - _requests[3067] = new DefaultHttpContext(); - _requests[3067].RequestServices = CreateServices(); - _requests[3067].Request.Method = "POST"; - _requests[3067].Request.Path = "/subscriptions/4c151b17-32d1-/resourceGroups/66f565a3-846d-474/providers/Microsoft.Network/expressRouteCrossConnections/139d7e3e-af68-4b31-/peerings/51857c65-03/routeTablesSummary/7920b8dd-2"; - _requests[3068] = new DefaultHttpContext(); - _requests[3068].RequestServices = CreateServices(); - _requests[3068].Request.Method = "GET"; - _requests[3068].Request.Path = "/subscriptions/c6502712-805a-/resourceGroups/96750e90-1fd7-499/providers/Microsoft.NotificationHubs/namespaces/ec970cbb-aed8/notificationHubs/b7435461-e84a-41dc-/AuthorizationRules/ab3a2969-8357-4e2a-b2"; - _requests[3069] = new DefaultHttpContext(); - _requests[3069].RequestServices = CreateServices(); - _requests[3069].Request.Method = "GET"; - _requests[3069].Request.Path = "/Subscriptions/f286c26e-6dbb-/resourceGroups/52d3b044-5c25-470/providers/Microsoft.RecoveryServices/vaults/47a7b10c-05e/replicationFabrics/ed8a961b-7/replicationLogicalNetworks/5a57a09b-4281-4c35"; - _requests[3070] = new DefaultHttpContext(); - _requests[3070].RequestServices = CreateServices(); - _requests[3070].Request.Method = "GET"; - _requests[3070].Request.Path = "/Subscriptions/1a952906-2347-/resourceGroups/825922e3-4ec1-45b/providers/Microsoft.RecoveryServices/vaults/774ac781-7fc/replicationFabrics/d365d3a9-3/replicationNetworks/eda5bb72-d8"; - _requests[3071] = new DefaultHttpContext(); - _requests[3071].RequestServices = CreateServices(); - _requests[3071].Request.Method = "PUT"; - _requests[3071].Request.Path = "/Subscriptions/81410221-5227-/resourceGroups/45b79b0a-4aee-4bc/providers/Microsoft.RecoveryServices/vaults/29315998-252/replicationFabrics/4397a3dc-8/replicationProtectionContainers/9433c8e1-3522-40ca-b126"; - _requests[3072] = new DefaultHttpContext(); - _requests[3072].RequestServices = CreateServices(); - _requests[3072].Request.Method = "DELETE"; - _requests[3072].Request.Path = "/Subscriptions/abd2bbf8-92c9-/resourceGroups/b79d1c6f-eb36-4b3/providers/Microsoft.RecoveryServices/vaults/50de7d8c-bc2/replicationFabrics/b0d8f517-b/replicationRecoveryServicesProviders/44e11da5-108"; - _requests[3073] = new DefaultHttpContext(); - _requests[3073].RequestServices = CreateServices(); - _requests[3073].Request.Method = "GET"; - _requests[3073].Request.Path = "/Subscriptions/3b5d310d-4a8b-/resourceGroups/1fb438d5-77f4-44a/providers/Microsoft.RecoveryServices/vaults/09cc97f2-f04/replicationFabrics/383de25a-c/replicationStorageClassifications/5eddfba8-eced-4888-97ab-6"; - _requests[3074] = new DefaultHttpContext(); - _requests[3074].RequestServices = CreateServices(); - _requests[3074].Request.Method = "PATCH"; - _requests[3074].Request.Path = "/Subscriptions/8db13153-23a6-/resourceGroups/5a3a3319-c97f-41f/providers/Microsoft.RecoveryServices/vaults/f8b1d121-938/replicationFabrics/78fbc14a-c/replicationvCenters/ce0a550a-8c"; - _requests[3075] = new DefaultHttpContext(); - _requests[3075].RequestServices = CreateServices(); - _requests[3075].Request.Method = "PUT"; - _requests[3075].Request.Path = "/Subscriptions/ed5be468-fb25-/resourceGroups/b22557c0-58b4-4c7/providers/Microsoft.RecoveryServices/vaults/4a6bc0b8-/backupFabrics/ef20928a-d/backupProtectionIntent/5171cd2e-403b-42"; - _requests[3076] = new DefaultHttpContext(); - _requests[3076].RequestServices = CreateServices(); - _requests[3076].Request.Method = "GET"; - _requests[3076].Request.Path = "/Subscriptions/3028a99a-70ba-/resourceGroups/b5ffe13e-1b91-4e8/providers/Microsoft.RecoveryServices/vaults/92c3c21a-/backupFabrics/7aa38d0b-7/operationResults/dce1a78a-39"; - _requests[3077] = new DefaultHttpContext(); - _requests[3077].RequestServices = CreateServices(); - _requests[3077].Request.Method = "DELETE"; - _requests[3077].Request.Path = "/Subscriptions/951fc907-4824-/resourceGroups/ff73011b-4ab9-474/providers/Microsoft.RecoveryServices/vaults/c1c877ac-/backupFabrics/f308c224-a/protectionContainers/eb42755f-0bf1"; - _requests[3078] = new DefaultHttpContext(); - _requests[3078].RequestServices = CreateServices(); - _requests[3078].Request.Method = "GET"; - _requests[3078].Request.Path = "/Subscriptions/cfe72f80-c416-/resourceGroups/011f50eb-a64f-41c/providers/Microsoft.RecoveryServices/vaults/3495678f-/backupJobs/4ecd355/operationResults/efbe33d5-48"; - _requests[3079] = new DefaultHttpContext(); - _requests[3079].RequestServices = CreateServices(); - _requests[3079].Request.Method = "GET"; - _requests[3079].Request.Path = "/Subscriptions/41db3f3d-1afd-/resourceGroups/2cd17238-6cdf-403/providers/Microsoft.RecoveryServices/vaults/586d3330-/backupPolicies/1d753651-5/operationResults/12023253-f1"; - _requests[3080] = new DefaultHttpContext(); - _requests[3080].RequestServices = CreateServices(); - _requests[3080].Request.Method = "GET"; - _requests[3080].Request.Path = "/Subscriptions/2d0e51ca-ade4-/resourceGroups/8f277965-3534-41f/providers/Microsoft.RecoveryServices/vaults/76caa76e-/backupPolicies/1f1f58e4-5/operations/745ffb35-13"; - _requests[3081] = new DefaultHttpContext(); - _requests[3081].RequestServices = CreateServices(); - _requests[3081].Request.Method = "GET"; - _requests[3081].Request.Path = "/subscriptions/d26bfb6d-2434-/resourceGroups/b24e13f4-031a-479/providers/Microsoft.Relay/namespaces/4d859141-5b1b/hybridConnections/e69e246d-a383-4a95-b/authorizationRules/4a806c82-2f7d-486a-ab"; - _requests[3082] = new DefaultHttpContext(); - _requests[3082].RequestServices = CreateServices(); - _requests[3082].Request.Method = "GET"; - _requests[3082].Request.Path = "/subscriptions/6c7a80d5-68a0-/resourceGroups/a4b4ec8f-f0ae-4b6/providers/Microsoft.Relay/namespaces/6097ae8c-e0e9/wcfRelays/a2cd7ad4-/authorizationRules/f3ab7606-f23e-4135-a6"; - _requests[3083] = new DefaultHttpContext(); - _requests[3083].RequestServices = CreateServices(); - _requests[3083].Request.Method = "GET"; - _requests[3083].Request.Path = "/subscriptions/71bf8ab2-2205-/resourceGroups/f1b450c0-699e-480/providers/Microsoft.ServiceBus/namespaces/d862cee4-097c/disasterRecoveryConfigs/0938e/AuthorizationRules/64b14c7d-b2d2-4d32-97"; - _requests[3084] = new DefaultHttpContext(); - _requests[3084].RequestServices = CreateServices(); - _requests[3084].Request.Method = "GET"; - _requests[3084].Request.Path = "/subscriptions/7608ebb5-3db4-/resourceGroups/7662e07c-9171-4fa/providers/Microsoft.ServiceBus/namespaces/0f13fb6c-f881/eventhubs/311550ec-ea6/authorizationRules/76dae799-8bcc-41ee-b4"; - _requests[3085] = new DefaultHttpContext(); - _requests[3085].RequestServices = CreateServices(); - _requests[3085].Request.Method = "GET"; - _requests[3085].Request.Path = "/subscriptions/3d2bcde4-31ad-/resourceGroups/5226a3a7-67ab-4c0/providers/Microsoft.ServiceBus/namespaces/e9d150f3-d1ce/queues/3793898d-/authorizationRules/0e7ffb8e-a230-4727-8c"; - _requests[3086] = new DefaultHttpContext(); - _requests[3086].RequestServices = CreateServices(); - _requests[3086].Request.Method = "DELETE"; - _requests[3086].Request.Path = "/subscriptions/255a00c4-3b16-/resourceGroups/b158be90-c45b-416/providers/Microsoft.ServiceBus/namespaces/dfb4be56-21fd/topics/f6999671-/authorizationRules/b85ff215-0abf-42b3-bd"; - _requests[3087] = new DefaultHttpContext(); - _requests[3087].RequestServices = CreateServices(); - _requests[3087].Request.Method = "GET"; - _requests[3087].Request.Path = "/subscriptions/da8e28b2-6a54-/resourceGroups/f0f9151a-409f-4be/providers/Microsoft.ServiceBus/namespaces/2d0501ce-e8ff/topics/0c5c4b2a-/subscriptions/09556b3c-2371-4f"; - _requests[3088] = new DefaultHttpContext(); - _requests[3088].RequestServices = CreateServices(); - _requests[3088].Request.Method = "DELETE"; - _requests[3088].Request.Path = "/subscriptions/d8f72a79-6437-/resourceGroups/456b0de2-6442-419/providers/Microsoft.ServiceFabric/clusters/4209bdd3-ec/applications/2b2681f7-e71c-4/services/456d590b-76"; - _requests[3089] = new DefaultHttpContext(); - _requests[3089].RequestServices = CreateServices(); - _requests[3089].Request.Method = "DELETE"; - _requests[3089].Request.Path = "/subscriptions/2834f500-cca8-/resourceGroups/06818806-f832-4ee/providers/Microsoft.ServiceFabric/clusters/bdc5bd82-f3/applicationTypes/c563ffc8-cd2a-4cbf-/versions/6942a6c"; - _requests[3090] = new DefaultHttpContext(); - _requests[3090].RequestServices = CreateServices(); - _requests[3090].Request.Method = "PUT"; - _requests[3090].Request.Path = "/subscriptions/5f1cf18a-9f41-/resourceGroups/939749aa-6a11-4a1/providers/Microsoft.Sql/servers/ef7a21c9-7/databases/4605839c-df0/advisors/adee97cc-b9"; - _requests[3091] = new DefaultHttpContext(); - _requests[3091].RequestServices = CreateServices(); - _requests[3091].Request.Method = "PUT"; - _requests[3091].Request.Path = "/subscriptions/bc0df08f-7bb5-/resourceGroups/f4c30d0d-b433-49f/providers/Microsoft.Sql/servers/8c051e14-9/databases/aae15fdb-9d5/auditingPolicies/bacbf767-03cc-4cce-b524"; - _requests[3092] = new DefaultHttpContext(); - _requests[3092].RequestServices = CreateServices(); - _requests[3092].Request.Method = "PUT"; - _requests[3092].Request.Path = "/subscriptions/5acd414f-5bd6-/resourceGroups/f13e1f8c-682a-4f5/providers/Microsoft.Sql/servers/b94b36d1-d/databases/9a8e82b6-2ad/auditingSettings/c279611f-37c9-4de0-8f5"; - _requests[3093] = new DefaultHttpContext(); - _requests[3093].RequestServices = CreateServices(); - _requests[3093].Request.Method = "PUT"; - _requests[3093].Request.Path = "/subscriptions/cdbf61b8-defc-/resourceGroups/d0dbd2a3-46e3-43b/providers/Microsoft.Sql/servers/df64333b-f/databases/d875057e-c92/backupLongTermRetentionPolicies/fe18e93e-ad59-40a3-ba69-e5bd4583d"; - _requests[3094] = new DefaultHttpContext(); - _requests[3094].RequestServices = CreateServices(); - _requests[3094].Request.Method = "PATCH"; - _requests[3094].Request.Path = "/subscriptions/7f6ffe43-7239-/resourceGroups/a148ba10-4d20-42c/providers/Microsoft.Sql/servers/71899b7c-7/databases/56bb4951-d70/backupShortTermRetentionPolicies/952fa9d7-0"; - _requests[3095] = new DefaultHttpContext(); - _requests[3095].RequestServices = CreateServices(); - _requests[3095].Request.Method = "PUT"; - _requests[3095].Request.Path = "/subscriptions/0ad4fd3a-1568-/resourceGroups/7c09f213-7d0a-4c3/providers/Microsoft.Sql/servers/a108983c-d/databases/d9758df8-eec/connectionPolicies/2438e265-3459-493c-b"; - _requests[3096] = new DefaultHttpContext(); - _requests[3096].RequestServices = CreateServices(); - _requests[3096].Request.Method = "GET"; - _requests[3096].Request.Path = "/subscriptions/aeeebf56-8162-/resourceGroups/2a681613-9b6c-4f4/providers/Microsoft.Sql/servers/5dfa7eeb-d/databases/7f98df54-707/dataMaskingPolicies/01e5cacd-9d72-4055-89"; - _requests[3097] = new DefaultHttpContext(); - _requests[3097].RequestServices = CreateServices(); - _requests[3097].Request.Method = "GET"; - _requests[3097].Request.Path = "/subscriptions/6b8adff9-80f9-/resourceGroups/aae3c159-fe1b-4db/providers/Microsoft.Sql/servers/114108ad-0/databases/e6590dc2-8ae/dataWarehouseUserActivities/65804174-1d17-4501-bc4c-a3539"; - _requests[3098] = new DefaultHttpContext(); - _requests[3098].RequestServices = CreateServices(); - _requests[3098].Request.Method = "PUT"; - _requests[3098].Request.Path = "/subscriptions/c4a4d781-1829-/resourceGroups/86ffb389-1ba1-493/providers/Microsoft.Sql/servers/993a3389-e/databases/4ebc2e2f-e1e/extensions/a0c7b430-6c37"; - _requests[3099] = new DefaultHttpContext(); - _requests[3099].RequestServices = CreateServices(); - _requests[3099].Request.Method = "GET"; - _requests[3099].Request.Path = "/subscriptions/ef88b83e-6fa9-/resourceGroups/b582fc24-ea88-460/providers/Microsoft.Sql/servers/6d237372-c/databases/d4e97db6-f4a/geoBackupPolicies/bba607cb-70fd-408a-"; - _requests[3100] = new DefaultHttpContext(); - _requests[3100].RequestServices = CreateServices(); - _requests[3100].Request.Method = "GET"; - _requests[3100].Request.Path = "/subscriptions/469c6229-1e64-/resourceGroups/2f98a35d-d4b0-4b6/providers/Microsoft.Sql/servers/583797dc-8/databases/093f5475-02d/replicationLinks/fd1e4f"; - _requests[3101] = new DefaultHttpContext(); - _requests[3101].RequestServices = CreateServices(); - _requests[3101].Request.Method = "DELETE"; - _requests[3101].Request.Path = "/subscriptions/cb003028-1904-/resourceGroups/d940b84b-c387-4b7/providers/Microsoft.Sql/servers/5bad277b-8/databases/77697309-0f2/restorePoints/fd100c19-d9f2-49"; - _requests[3102] = new DefaultHttpContext(); - _requests[3102].RequestServices = CreateServices(); - _requests[3102].Request.Method = "PUT"; - _requests[3102].Request.Path = "/subscriptions/11f481fc-1b7d-/resourceGroups/8ad5cfbf-101e-47a/providers/Microsoft.Sql/servers/dd8cf9dd-7/databases/73c2a023-1a2/securityAlertPolicies/3da3fdae-01be-4152-b682"; - _requests[3103] = new DefaultHttpContext(); - _requests[3103].RequestServices = CreateServices(); - _requests[3103].Request.Method = "GET"; - _requests[3103].Request.Path = "/subscriptions/dc803419-c56f-/resourceGroups/816ec242-ed2f-489/providers/Microsoft.Sql/servers/5ab6352d-2/databases/648886fa-255/serviceTierAdvisors/3f377bac-4303-4389-a6c"; - _requests[3104] = new DefaultHttpContext(); - _requests[3104].RequestServices = CreateServices(); - _requests[3104].Request.Method = "PATCH"; - _requests[3104].Request.Path = "/subscriptions/d81c38a7-4713-/resourceGroups/6b4e3458-f944-4f1/providers/Microsoft.Sql/servers/c792f710-8/databases/a6b6f30d-a90/syncGroups/53353b3b-12e4"; - _requests[3105] = new DefaultHttpContext(); - _requests[3105].RequestServices = CreateServices(); - _requests[3105].Request.Method = "GET"; - _requests[3105].Request.Path = "/subscriptions/4edbd719-6fc1-/resourceGroups/7cf3acb0-e264-429/providers/Microsoft.Sql/servers/68edce3e-5/databases/a5b6c64f-305/transparentDataEncryption/13c70152-7c95-481c-9f91-7949e"; - _requests[3106] = new DefaultHttpContext(); - _requests[3106].RequestServices = CreateServices(); - _requests[3106].Request.Method = "DELETE"; - _requests[3106].Request.Path = "/subscriptions/f4ade4b5-7a16-/resourceGroups/81a5d11f-b57b-46d/providers/Microsoft.Sql/servers/04d48bdc-d/databases/76a494e1-cdf/vulnerabilityAssessments/026ac4cc-b46d-4cda-8301-87c"; - _requests[3107] = new DefaultHttpContext(); - _requests[3107].RequestServices = CreateServices(); - _requests[3107].Request.Method = "GET"; - _requests[3107].Request.Path = "/subscriptions/a5e5cbb1-5e48-/resourceGroups/a2b770cf-89af-42b/providers/Microsoft.Sql/servers/af2923e8-a/elasticPools/12d73ff7-621c-4/databases/717341b8-18a"; - _requests[3108] = new DefaultHttpContext(); - _requests[3108].RequestServices = CreateServices(); - _requests[3108].Request.Method = "DELETE"; - _requests[3108].Request.Path = "/subscriptions/ccce0607-8024-/resourceGroups/467ea7c1-f0db-4ad/providers/Microsoft.Sql/servers/85144eb0-2/jobAgents/29c7bc2d-a3a/credentials/e82da0ee-d3d6-"; - _requests[3109] = new DefaultHttpContext(); - _requests[3109].RequestServices = CreateServices(); - _requests[3109].Request.Method = "DELETE"; - _requests[3109].Request.Path = "/subscriptions/f276db31-6a0f-/resourceGroups/04cb3140-e58b-438/providers/Microsoft.Sql/servers/22623f05-a/jobAgents/464e18c1-6eb/jobs/aa50990"; - _requests[3110] = new DefaultHttpContext(); - _requests[3110].RequestServices = CreateServices(); - _requests[3110].Request.Method = "DELETE"; - _requests[3110].Request.Path = "/subscriptions/fb93039b-ab64-/resourceGroups/d50e2335-f9f1-4f6/providers/Microsoft.Sql/servers/21dbf2c7-e/jobAgents/884f639e-6eb/targetGroups/1084ea5d-8ce7-4"; - _requests[3111] = new DefaultHttpContext(); - _requests[3111].RequestServices = CreateServices(); - _requests[3111].Request.Method = "GET"; - _requests[3111].Request.Path = "/subscriptions/85a0eda7-091d-/resourceGroups/86b9fd14-5bb1-48b/providers/Microsoft.Sql/servers/d9c1ce4e-4/recommendedElasticPools/da1feaf4-3ae9-4cf9-b35f-32/databases/09e954a0-d5f"; - _requests[3112] = new DefaultHttpContext(); - _requests[3112].RequestServices = CreateServices(); - _requests[3112].Request.Method = "DELETE"; - _requests[3112].Request.Path = "/subscriptions/7033c945-8bfc-/resourceGroups/315cc56f-409a-490/providers/Microsoft.StorSimple/managers/b767cbe8-0e/devices/b7838434-8/backupPolicies/f496a036-b9c7-4b"; - _requests[3113] = new DefaultHttpContext(); - _requests[3113].RequestServices = CreateServices(); - _requests[3113].Request.Method = "DELETE"; - _requests[3113].Request.Path = "/subscriptions/6483328f-f30e-/resourceGroups/fc47e485-d26f-423/providers/Microsoft.StorSimple/managers/42cb17a9-a9/devices/9dba68d4-a/backups/071d6e12-b"; - _requests[3114] = new DefaultHttpContext(); - _requests[3114].RequestServices = CreateServices(); - _requests[3114].Request.Method = "GET"; - _requests[3114].Request.Path = "/subscriptions/c9a6dd60-c394-/resourceGroups/4b555f27-b46d-467/providers/Microsoft.StorSimple/managers/17c17aef-c6/devices/e1feb116-2/jobs/7a63442"; - _requests[3115] = new DefaultHttpContext(); - _requests[3115].RequestServices = CreateServices(); - _requests[3115].Request.Method = "DELETE"; - _requests[3115].Request.Path = "/subscriptions/34f4cad5-dfdd-/resourceGroups/e3b188a6-b45d-4e5/providers/Microsoft.StorSimple/managers/b9231a88-26/devices/c2dd8062-2/volumeContainers/3de471f3-586d-4f4d-"; - _requests[3116] = new DefaultHttpContext(); - _requests[3116].RequestServices = CreateServices(); - _requests[3116].Request.Method = "GET"; - _requests[3116].Request.Path = "/subscriptions/f3aef894-2b1f-/resourcegroups/3b04f91e-187b-41f/providers/Microsoft.Update.Admin/updateLocations/171421eb-aaef-/updates/0df70637-5/updateRuns/bea2fa7"; - _requests[3117] = new DefaultHttpContext(); - _requests[3117].RequestServices = CreateServices(); - _requests[3117].Request.Method = "DELETE"; - _requests[3117].Request.Path = "/subscriptions/9784f090-c524-/resourceGroups/adbb8e24-75c9-4ad/providers/Microsoft.Web/serverfarms/61ec1/hybridConnectionNamespaces/e7b96ac5-4692/relays/168c9edf-"; - _requests[3118] = new DefaultHttpContext(); - _requests[3118].RequestServices = CreateServices(); - _requests[3118].Request.Method = "PUT"; - _requests[3118].Request.Path = "/subscriptions/b80a38a0-1a2a-/resourceGroups/848f7dff-2bfb-4e7/providers/Microsoft.Web/serverfarms/3db65/virtualNetworkConnections/bfb3d55c/gateways/7465ea94-79"; - _requests[3119] = new DefaultHttpContext(); - _requests[3119].RequestServices = CreateServices(); - _requests[3119].Request.Method = "PATCH"; - _requests[3119].Request.Path = "/subscriptions/bc4a158d-d04a-/resourceGroups/a3998953-cc8f-48b/providers/Microsoft.Web/serverfarms/4758f/virtualNetworkConnections/00ebd6d1/routes/73586d66-"; - _requests[3120] = new DefaultHttpContext(); - _requests[3120].RequestServices = CreateServices(); - _requests[3120].Request.Method = "PATCH"; - _requests[3120].Request.Path = "/subscriptions/e2342c3a-d76a-/resourceGroups/1e691792-a6c9-4e8/providers/Microsoft.Web/sites/cd195/hybridConnectionNamespaces/a9f06f44-840f/relays/869a1068-"; - _requests[3121] = new DefaultHttpContext(); - _requests[3121].RequestServices = CreateServices(); - _requests[3121].Request.Method = "DELETE"; - _requests[3121].Request.Path = "/subscriptions/a2dd9267-fa2b-/resourceGroups/0f290132-49d2-411/providers/Microsoft.Web/sites/9a7d0/instances/5f725c70-7/deployments/9f936"; - _requests[3122] = new DefaultHttpContext(); - _requests[3122].RequestServices = CreateServices(); - _requests[3122].Request.Method = "DELETE"; - _requests[3122].Request.Path = "/subscriptions/e8da6bb2-bda2-/resourceGroups/6f124deb-7e8f-4b7/providers/Microsoft.Web/sites/805e2/instances/5af24eeb-2/processes/91af76b3-"; - _requests[3123] = new DefaultHttpContext(); - _requests[3123].RequestServices = CreateServices(); - _requests[3123].Request.Method = "GET"; - _requests[3123].Request.Path = "/subscriptions/15bcc39a-61a8-/resourceGroups/abcdd0a4-d7dd-47b/providers/Microsoft.Web/sites/86e66/processes/66e28303-/modules/7e56c83d-92"; - _requests[3124] = new DefaultHttpContext(); - _requests[3124].RequestServices = CreateServices(); - _requests[3124].Request.Method = "GET"; - _requests[3124].Request.Path = "/subscriptions/bba8e723-ed19-/resourceGroups/b63bc281-dd8a-408/providers/Microsoft.Web/sites/99fda/processes/59117efc-/threads/20089e1a"; - _requests[3125] = new DefaultHttpContext(); - _requests[3125].RequestServices = CreateServices(); - _requests[3125].Request.Method = "DELETE"; - _requests[3125].Request.Path = "/subscriptions/c30b5f17-8349-/resourceGroups/fbd85af2-8126-444/providers/Microsoft.Web/sites/00e8c/slots/2da79/backups/d1d09669"; - _requests[3126] = new DefaultHttpContext(); - _requests[3126].RequestServices = CreateServices(); - _requests[3126].Request.Method = "DELETE"; - _requests[3126].Request.Path = "/subscriptions/f871c3fd-3530-/resourceGroups/f809a001-f8d4-427/providers/Microsoft.Web/sites/0d70b/slots/7972c/continuouswebjobs/d7447762-9"; - _requests[3127] = new DefaultHttpContext(); - _requests[3127].RequestServices = CreateServices(); - _requests[3127].Request.Method = "DELETE"; - _requests[3127].Request.Path = "/subscriptions/87d19243-18fa-/resourceGroups/20c2333f-8257-4d9/providers/Microsoft.Web/sites/6fad4/slots/9d56e/deployments/21449"; - _requests[3128] = new DefaultHttpContext(); - _requests[3128].RequestServices = CreateServices(); - _requests[3128].Request.Method = "PATCH"; - _requests[3128].Request.Path = "/subscriptions/89218eb3-49e8-/resourceGroups/cbe2768f-d75a-43b/providers/Microsoft.Web/sites/f9052/slots/aea86/domainOwnershipIdentifiers/a8b9d896-6738-44d4-abc3-a89e1"; - _requests[3129] = new DefaultHttpContext(); - _requests[3129].RequestServices = CreateServices(); - _requests[3129].Request.Method = "DELETE"; - _requests[3129].Request.Path = "/subscriptions/01ceac2e-7ebc-/resourceGroups/e54393dc-6693-4f9/providers/Microsoft.Web/sites/c2ceb/slots/7849d/functions/b0a024cb-0ed"; - _requests[3130] = new DefaultHttpContext(); - _requests[3130].RequestServices = CreateServices(); - _requests[3130].Request.Method = "DELETE"; - _requests[3130].Request.Path = "/subscriptions/f7455ff9-1447-/resourceGroups/41f2f4ad-ccd9-417/providers/Microsoft.Web/sites/9d91c/slots/ca011/hostNameBindings/88ab5253"; - _requests[3131] = new DefaultHttpContext(); - _requests[3131].RequestServices = CreateServices(); - _requests[3131].Request.Method = "PATCH"; - _requests[3131].Request.Path = "/subscriptions/4e0b3385-96ca-/resourceGroups/d5e45750-cc10-456/providers/Microsoft.Web/sites/777de/slots/c03b9/hybridconnection/d90fec27-8"; - _requests[3132] = new DefaultHttpContext(); - _requests[3132].RequestServices = CreateServices(); - _requests[3132].Request.Method = "GET"; - _requests[3132].Request.Path = "/subscriptions/418e14f3-c313-/resourceGroups/40e2a937-f77e-4b1/providers/Microsoft.Web/sites/a6c76/slots/3a4a6/networkFeatures/9ca79"; - _requests[3133] = new DefaultHttpContext(); - _requests[3133].RequestServices = CreateServices(); - _requests[3133].Request.Method = "GET"; - _requests[3133].Request.Path = "/subscriptions/08c428c3-35c1-/resourceGroups/7b1a5a65-37a9-41e/providers/Microsoft.Web/sites/8d1e7/slots/4c2af/operationresults/1b5ee8f5-18"; - _requests[3134] = new DefaultHttpContext(); - _requests[3134].RequestServices = CreateServices(); - _requests[3134].Request.Method = "DELETE"; - _requests[3134].Request.Path = "/subscriptions/a3a4755c-9484-/resourceGroups/2db6e9a1-7072-426/providers/Microsoft.Web/sites/e3357/slots/04b1d/premieraddons/3051d09d-17a1-41"; - _requests[3135] = new DefaultHttpContext(); - _requests[3135].RequestServices = CreateServices(); - _requests[3135].Request.Method = "DELETE"; - _requests[3135].Request.Path = "/subscriptions/ca7b16a4-a469-/resourceGroups/bb9ca8e8-358a-472/providers/Microsoft.Web/sites/ce806/slots/5c563/processes/cd0eb04e-"; - _requests[3136] = new DefaultHttpContext(); - _requests[3136].RequestServices = CreateServices(); - _requests[3136].Request.Method = "DELETE"; - _requests[3136].Request.Path = "/subscriptions/08453196-7941-/resourceGroups/92409a69-f783-40f/providers/Microsoft.Web/sites/f899a/slots/eaa1c/publicCertificates/469eb6d2-4f35-4d1e-bc"; - _requests[3137] = new DefaultHttpContext(); - _requests[3137].RequestServices = CreateServices(); - _requests[3137].Request.Method = "DELETE"; - _requests[3137].Request.Path = "/subscriptions/9250f60a-9208-/resourceGroups/15d2439b-9b37-411/providers/Microsoft.Web/sites/fd159/slots/d6d1f/siteextensions/f2a9e367-48d7-4"; - _requests[3138] = new DefaultHttpContext(); - _requests[3138].RequestServices = CreateServices(); - _requests[3138].Request.Method = "DELETE"; - _requests[3138].Request.Path = "/subscriptions/ea82d60f-ee75-/resourceGroups/6137e016-1df1-498/providers/Microsoft.Web/sites/c3c50/slots/5aa8c/triggeredwebjobs/e334d80f-9"; - _requests[3139] = new DefaultHttpContext(); - _requests[3139].RequestServices = CreateServices(); - _requests[3139].Request.Method = "PATCH"; - _requests[3139].Request.Path = "/subscriptions/7b750c1f-7e11-/resourceGroups/daca79cf-f1ab-48f/providers/Microsoft.Web/sites/d40dd/slots/6fad0/virtualNetworkConnections/d151a0e1"; - _requests[3140] = new DefaultHttpContext(); - _requests[3140].RequestServices = CreateServices(); - _requests[3140].Request.Method = "GET"; - _requests[3140].Request.Path = "/subscriptions/1d0a4752-ef7d-/resourceGroups/e812ddc9-6041-49b/providers/Microsoft.Web/sites/fc7d5/slots/7d968/webjobs/ee0262cb-5"; - _requests[3141] = new DefaultHttpContext(); - _requests[3141].RequestServices = CreateServices(); - _requests[3141].Request.Method = "GET"; - _requests[3141].Request.Path = "/subscriptions/8855e7fd-9d92-/resourceGroups/422c8bc4-2ba6-485/providers/Microsoft.Web/sites/2bc07/triggeredwebjobs/cca55f6f-3/history/68322"; - _requests[3142] = new DefaultHttpContext(); - _requests[3142].RequestServices = CreateServices(); - _requests[3142].Request.Method = "PATCH"; - _requests[3142].Request.Path = "/subscriptions/ccfd940d-50ac-/resourceGroups/bf7ee06f-6806-4fd/providers/Microsoft.Web/sites/5228d/virtualNetworkConnections/fe727704/gateways/d02b62f3-a1"; - _requests[3143] = new DefaultHttpContext(); - _requests[3143].RequestServices = CreateServices(); - _requests[3143].Request.Method = "GET"; - _requests[3143].Request.Path = "/subscriptions/aa922183-0398-/resourceGroups/902ba857-386c-4c1/providers/Microsoft.Web/sites/dd4dddc5/diagnostics/f0a09141-6281-422c/analyses/a55b4396-d86"; - _requests[3144] = new DefaultHttpContext(); - _requests[3144].RequestServices = CreateServices(); - _requests[3144].Request.Method = "GET"; - _requests[3144].Request.Path = "/subscriptions/c2f38c45-6673-/resourceGroups/fc84f282-d699-477/providers/Microsoft.Web/sites/84bb995f/diagnostics/0c87a0fa-a864-45b8/detectors/5026ca36-084"; - _requests[3145] = new DefaultHttpContext(); - _requests[3145].RequestServices = CreateServices(); - _requests[3145].Request.Method = "GET"; - _requests[3145].Request.Path = "/subscriptions/0641c8d3-9d84-/resourceGroups/7da5fc24-9c99-4fe/providers/Microsoft.Web/sites/b33967fe/slots/15c4c/detectors/e91e4e3b-c91"; - _requests[3146] = new DefaultHttpContext(); - _requests[3146].RequestServices = CreateServices(); - _requests[3146].Request.Method = "GET"; - _requests[3146].Request.Path = "/subscriptions/d6a5a4df-accf-/resourceGroups/0b49d97c-5c97-433/providers/Microsoft.Web/sites/0c55c383/slots/c9493/diagnostics/7279476b-7ff3-4e3f"; - _requests[3147] = new DefaultHttpContext(); - _requests[3147].RequestServices = CreateServices(); - _requests[3147].Request.Method = "POST"; - _requests[3147].Request.Path = "/subscriptions/92a7f2d8-bdf1-/resourceGroups/176874bb-/providers/Microsoft.DataMigration/services/9762b4b5-fc/projects/d62e2770-9c/tasks/2e6847f3/cancel"; - _requests[3148] = new DefaultHttpContext(); - _requests[3148].RequestServices = CreateServices(); - _requests[3148].Request.Method = "GET"; - _requests[3148].Request.Path = "/subscriptions/8229d1cf-64f8-/resourceGroups/e3de7ec6-8656-491/providers/Microsoft.ApiManagement/service/2a2bb982-a2/apis/d5f82/diagnostics/de26ae49-6c9/loggers"; - _requests[3149] = new DefaultHttpContext(); - _requests[3149].RequestServices = CreateServices(); - _requests[3149].Request.Method = "GET"; - _requests[3149].Request.Path = "/subscriptions/3941748a-6738-/resourceGroups/503479fd-cfc3-44a/providers/Microsoft.ApiManagement/service/11b0f249-0a/apis/5f393/issues/f61d8a6/attachments"; - _requests[3150] = new DefaultHttpContext(); - _requests[3150].RequestServices = CreateServices(); - _requests[3150].Request.Method = "GET"; - _requests[3150].Request.Path = "/subscriptions/41c43424-e464-/resourceGroups/66b206fc-84d5-4e2/providers/Microsoft.ApiManagement/service/5a4804ff-a4/apis/37d11/issues/ef06f4f/comments"; - _requests[3151] = new DefaultHttpContext(); - _requests[3151].RequestServices = CreateServices(); - _requests[3151].Request.Method = "GET"; - _requests[3151].Request.Path = "/subscriptions/28328fd0-99f7-/resourceGroups/c1c9dae0-a28f-459/providers/Microsoft.ApiManagement/service/0bcfa557-ba/apis/846da/operations/550e1359-d6/policies"; - _requests[3152] = new DefaultHttpContext(); - _requests[3152].RequestServices = CreateServices(); - _requests[3152].Request.Method = "DELETE"; - _requests[3152].Request.Path = "/subscriptions/cae3f346-848e-/resourceGroups/bfce666f-0e38-403/providers/Microsoft.ApiManagement/service/f2335a2f-94/apis/afe3c/operations/68eff19c-15/policy"; - _requests[3153] = new DefaultHttpContext(); - _requests[3153].RequestServices = CreateServices(); - _requests[3153].Request.Method = "GET"; - _requests[3153].Request.Path = "/subscriptions/07e72f2c-5723-/resourceGroups/30ae0e09-d19b-437/providers/Microsoft.ApiManagement/service/ea4a5a75-3c/apis/531ca/operations/0073a9a1-8f/tags"; - _requests[3154] = new DefaultHttpContext(); - _requests[3154].RequestServices = CreateServices(); - _requests[3154].Request.Method = "GET"; - _requests[3154].Request.Path = "/subscriptions/335fda13-a9d6-/resourceGroups/7b28bda1-eeb2-4e4/providers/Microsoft.Automation/automationAccounts/e6e0e88e-ef52-4c10-91/modules/89babab9-9/objectDataTypes/42a50802/fields"; - _requests[3155] = new DefaultHttpContext(); - _requests[3155].RequestServices = CreateServices(); - _requests[3155].Request.Method = "GET"; - _requests[3155].Request.Path = "/subscriptions/3fc331b3-a27d-/resourceGroups/595db88b-8075-496/providers/Microsoft.Automation/automationAccounts/8241a8db-b1f8-43c0-99/modules/860fa7a6-0/types/efe53e55/fields"; - _requests[3156] = new DefaultHttpContext(); - _requests[3156].RequestServices = CreateServices(); - _requests[3156].Request.Method = "GET"; - _requests[3156].Request.Path = "/subscriptions/967825ff-5842-/resourceGroups/0cb8754b-eecd-4b1/providers/Microsoft.Automation/automationAccounts/99ebb61e-6996-44d7-ab/nodes/35fe9e/reports/5936e4e1/content"; - _requests[3157] = new DefaultHttpContext(); - _requests[3157].RequestServices = CreateServices(); - _requests[3157].Request.Method = "GET"; - _requests[3157].Request.Path = "/subscriptions/f849a305-283a-/resourceGroups/7c265dc2-6516-485/providers/Microsoft.Automation/automationAccounts/a3b96bac-e49e-4056-81/sourceControls/0f28dd0c-cd3f-454/sourceControlSyncJobs/a809aa2f-25e2-4763-862/streams"; - _requests[3158] = new DefaultHttpContext(); - _requests[3158].RequestServices = CreateServices(); - _requests[3158].Request.Method = "POST"; - _requests[3158].Request.Path = "/subscriptions/22ece011-497c-/resourceGroups/087653a5-2736-44a/providers/Microsoft.Batch/batchAccounts/5c384523-8b/applications/0440cb54-854b/versions/794c36f/activate"; - _requests[3159] = new DefaultHttpContext(); - _requests[3159].RequestServices = CreateServices(); - _requests[3159].Request.Method = "POST"; - _requests[3159].Request.Path = "/subscriptions/d47dd402-d779-/resourceGroups/5e548636-3c9e-49e/providers/Microsoft.BatchAI/workspaces/fd52e9fe-9c47/experiments/f2df516b-a21e-/jobs/efc87bb/listOutputFiles"; - _requests[3160] = new DefaultHttpContext(); - _requests[3160].RequestServices = CreateServices(); - _requests[3160].Request.Method = "POST"; - _requests[3160].Request.Path = "/subscriptions/355ac358-d398-/resourceGroups/3ea9e2ee-c96d-405/providers/Microsoft.BatchAI/workspaces/b016c468-808f/experiments/aac86576-0871-/jobs/9475ec8/listRemoteLoginInformation"; - _requests[3161] = new DefaultHttpContext(); - _requests[3161].RequestServices = CreateServices(); - _requests[3161].Request.Method = "POST"; - _requests[3161].Request.Path = "/subscriptions/fa4c3134-525a-/resourceGroups/ca8a9656-5e45-42d/providers/Microsoft.BatchAI/workspaces/0e495358-1c93/experiments/c7740d10-636e-/jobs/025e1f2/terminate"; - _requests[3162] = new DefaultHttpContext(); - _requests[3162].RequestServices = CreateServices(); - _requests[3162].Request.Method = "POST"; - _requests[3162].Request.Path = "/subscriptions/c577352b-7b5c-/resourceGroups/af567410-da0c-4b8/providers/Microsoft.Cdn/profiles/7ec62a0d-60/endpoints/9f6c96f7-115/customDomains/a49498c3-4bbc-4b/disableCustomHttps"; - _requests[3163] = new DefaultHttpContext(); - _requests[3163].RequestServices = CreateServices(); - _requests[3163].Request.Method = "POST"; - _requests[3163].Request.Path = "/subscriptions/906a8099-e534-/resourceGroups/b85523b4-9951-405/providers/Microsoft.Cdn/profiles/01ad1b82-07/endpoints/bdee03d8-fb8/customDomains/84a2e439-856c-43/enableCustomHttps"; - _requests[3164] = new DefaultHttpContext(); - _requests[3164].RequestServices = CreateServices(); - _requests[3164].Request.Method = "GET"; - _requests[3164].Request.Path = "/subscriptions/f9319e26-1ada-/resourceGroups/10c1062d-d820-436/providers/microsoft.Compute/virtualMachineScaleSets/03c37563-f38e-42b7-9541-e7/virtualMachines/532748e4-c288-4eda-/networkInterfaces/6f36f9d2-77d9-448d-b/ipConfigurations"; - _requests[3165] = new DefaultHttpContext(); - _requests[3165].RequestServices = CreateServices(); - _requests[3165].Request.Method = "POST"; - _requests[3165].Request.Path = "/subscriptions/d4bde3d5-2e93-/resourceGroups/d84bd5b5-3eb8-4c5/providers/Microsoft.ContainerRegistry/registries/e6fd6f02-8bc/buildTasks/7c5cde69-b8e7/steps/c90c855f/listBuildArguments"; - _requests[3166] = new DefaultHttpContext(); - _requests[3166].RequestServices = CreateServices(); - _requests[3166].Request.Method = "POST"; - _requests[3166].Request.Path = "/subscriptions/13f2753a-e61d-/resourceGroups/63c2d34b-4339-461/providers/Microsoft.DataFactory/factories/95cb25a5-cd/integrationRuntimes/37651e55-46b9-49b4-b6d/nodes/b365671f/ipAddress"; - _requests[3167] = new DefaultHttpContext(); - _requests[3167].RequestServices = CreateServices(); - _requests[3167].Request.Method = "POST"; - _requests[3167].Request.Path = "/subscriptions/1cd7bcf1-ac84-/resourceGroups/6fe51b19-672d-480/providers/Microsoft.DataLakeAnalytics/accounts/0fe35a14-05/storageAccounts/45f76c91-e775-477e/containers/ec0698f9-6d8c/listSasTokens"; - _requests[3168] = new DefaultHttpContext(); - _requests[3168].RequestServices = CreateServices(); - _requests[3168].Request.Method = "POST"; - _requests[3168].Request.Path = "/subscriptions/35785bd6-3f87-/resourceGroups/80c8c5a0-fcde-4cf/providers/Microsoft.DevTestLab/labs/204ff40/artifactsources/095d83f9-4e05-48c4/artifacts/c50b7/generateArmTemplate"; - _requests[3169] = new DefaultHttpContext(); - _requests[3169].RequestServices = CreateServices(); - _requests[3169].Request.Method = "POST"; - _requests[3169].Request.Path = "/subscriptions/ff09ebe6-1f11-/resourceGroups/ca498471-e3f6-43a/providers/Microsoft.DevTestLab/labs/e2488e3/users/57cc6d01/disks/cc74f/attach"; - _requests[3170] = new DefaultHttpContext(); - _requests[3170].RequestServices = CreateServices(); - _requests[3170].Request.Method = "POST"; - _requests[3170].Request.Path = "/subscriptions/e7eb968c-e20b-/resourceGroups/f74c2f30-f9f6-4c4/providers/Microsoft.DevTestLab/labs/4c5b782/users/d36c4404/disks/293c4/detach"; - _requests[3171] = new DefaultHttpContext(); - _requests[3171].RequestServices = CreateServices(); - _requests[3171].Request.Method = "POST"; - _requests[3171].Request.Path = "/subscriptions/da67ed92-c8dd-/resourceGroups/d20843aa-2a46-4b0/providers/Microsoft.DevTestLab/labs/c9f0184/virtualmachines/e74ab966-6467-4b19/schedules/de470/execute"; - _requests[3172] = new DefaultHttpContext(); - _requests[3172].RequestServices = CreateServices(); - _requests[3172].Request.Method = "GET"; - _requests[3172].Request.Path = "/subscriptions/a7ea2862-93f1-/resourceGroups/bee49f2b-2723-45e/providers/Microsoft.DocumentDB/databaseAccounts/31cbd97d-73/databases/be69ac7c-20/collections/6c00d25c-dfd0/metricDefinitions"; - _requests[3173] = new DefaultHttpContext(); - _requests[3173].RequestServices = CreateServices(); - _requests[3173].Request.Method = "GET"; - _requests[3173].Request.Path = "/subscriptions/3b4db71f-21b3-/resourceGroups/58d5977a-819a-471/providers/Microsoft.DocumentDB/databaseAccounts/3e7f569e-cf/databases/13fd4d75-7f/collections/860a95ed-6b23/metrics"; - _requests[3174] = new DefaultHttpContext(); - _requests[3174].RequestServices = CreateServices(); - _requests[3174].Request.Method = "GET"; - _requests[3174].Request.Path = "/subscriptions/bd9cf725-8ad3-/resourceGroups/28413a14-e5eb-496/providers/Microsoft.DocumentDB/databaseAccounts/5b9b1f71-86/databases/aaa4736e-23/collections/2c82d939-2803/usages"; - _requests[3175] = new DefaultHttpContext(); - _requests[3175].RequestServices = CreateServices(); - _requests[3175].Request.Method = "POST"; - _requests[3175].Request.Path = "/subscriptions/3644f811-7563-/resourceGroups/2e2d4558-ba7b-43a/providers/Microsoft.EventHub/namespaces/59737c7a-a218/disasterRecoveryConfigs/106b1/AuthorizationRules/d557b786-9313-4332-a8/listKeys"; - _requests[3176] = new DefaultHttpContext(); - _requests[3176].RequestServices = CreateServices(); - _requests[3176].Request.Method = "POST"; - _requests[3176].Request.Path = "/subscriptions/1353cee4-06e3-/resourceGroups/eb07c9ad-eb56-43b/providers/Microsoft.EventHub/namespaces/c3359845-84cd/eventhubs/4b32eb7d-67c/authorizationRules/06ac873c-2a8e-4320-ac/ListKeys"; - _requests[3177] = new DefaultHttpContext(); - _requests[3177].RequestServices = CreateServices(); - _requests[3177].Request.Method = "POST"; - _requests[3177].Request.Path = "/subscriptions/c10a246a-7bde-/resourceGroups/05675ac4-ebaf-492/providers/Microsoft.EventHub/namespaces/1289e445-f4d2/eventhubs/e6a565b4-698/authorizationRules/44f6d5c4-df93-425c-96/regenerateKeys"; - _requests[3178] = new DefaultHttpContext(); - _requests[3178].RequestServices = CreateServices(); - _requests[3178].Request.Method = "GET"; - _requests[3178].Request.Path = "/subscriptions/c3e638bf-2791-/resourceGroups/857cc8eb-c9b6-467/providers/Microsoft.Fabric.Admin/fabricLocations/c5d88f62/storageSubSystems/3ccb4bf4-b4a8-4d/storagePools/9444164b-7f/volumes"; - _requests[3179] = new DefaultHttpContext(); - _requests[3179].RequestServices = CreateServices(); - _requests[3179].Request.Method = "POST"; - _requests[3179].Request.Path = "/subscriptions/78815346-4099-/resourceGroups/d42863aa-de9c-49c/providers/Microsoft.Logic/workflows/a0fb2ea2-802/runs/b848195/actions/14a6c4fb-5/listExpressionTraces"; - _requests[3180] = new DefaultHttpContext(); - _requests[3180].RequestServices = CreateServices(); - _requests[3180].Request.Method = "GET"; - _requests[3180].Request.Path = "/subscriptions/e09bd6c7-8628-/resourceGroups/e818357d-d0b1-4d8/providers/Microsoft.Logic/workflows/c2333816-a0e/runs/7e22adf/actions/7582f492-e/repetitions"; - _requests[3181] = new DefaultHttpContext(); - _requests[3181].RequestServices = CreateServices(); - _requests[3181].Request.Method = "GET"; - _requests[3181].Request.Path = "/subscriptions/d10b0c6b-684b-/resourceGroups/62d85864-48e2-4dd/providers/Microsoft.Logic/workflows/793fca3f-b26/runs/f130fb0/actions/8b5ac3f4-0/scopeRepetitions"; - _requests[3182] = new DefaultHttpContext(); - _requests[3182].RequestServices = CreateServices(); - _requests[3182].Request.Method = "POST"; - _requests[3182].Request.Path = "/subscriptions/58dc5812-db37-/resourceGroups/40a647f4-d333-40b/providers/Microsoft.Logic/workflows/bffc222b-af9/triggers/d1e98d76-00/histories/b78a4b1a-5d/resubmit"; - _requests[3183] = new DefaultHttpContext(); - _requests[3183].RequestServices = CreateServices(); - _requests[3183].Request.Method = "POST"; - _requests[3183].Request.Path = "/subscriptions/88f45a90-4a8c-/resourceGroups/56323c6d-b2e3-49a/providers/Microsoft.Logic/workflows/1854ae76-cd4/versions/3a4171f3-/triggers/958534f7-fe/listCallbackUrl"; - _requests[3184] = new DefaultHttpContext(); - _requests[3184].RequestServices = CreateServices(); - _requests[3184].Request.Method = "POST"; - _requests[3184].Request.Path = "/subscriptions/6d93b3ad-1203-/resourceGroups/4e1467c5-54fd-485/providers/Microsoft.Media/mediaServices/ce5b02bf-4d/transforms/0c577d7c-9383/jobs/3d805cf/cancelJob"; - _requests[3185] = new DefaultHttpContext(); - _requests[3185].RequestServices = CreateServices(); - _requests[3185].Request.Method = "GET"; - _requests[3185].Request.Path = "/subscriptions/bd3cc624-b33a-/resourceGroups/93688598-aefc-44f/providers/Microsoft.Migrate/projects/fe145cd0-5d/groups/eedd371b-/assessments/d12e63e3-b755-/assessedMachines"; - _requests[3186] = new DefaultHttpContext(); - _requests[3186].RequestServices = CreateServices(); - _requests[3186].Request.Method = "POST"; - _requests[3186].Request.Path = "/subscriptions/9e35dcb8-2fcc-/resourceGroups/3a41c989-f5c1-40a/providers/Microsoft.Migrate/projects/3ad8a9e1-fc/groups/99c2b29a-/assessments/5bb4f3e8-da0e-/downloadUrl"; - _requests[3187] = new DefaultHttpContext(); - _requests[3187].RequestServices = CreateServices(); - _requests[3187].Request.Method = "POST"; - _requests[3187].Request.Path = "/subscriptions/7bc7a5b3-d06c-/resourceGroups/b03decfb-a00a-41f/providers/Microsoft.NotificationHubs/namespaces/08b8eab7-5602/notificationHubs/19f03389-85d0-445a-/AuthorizationRules/253f8189-2a96-466b-94/listKeys"; - _requests[3188] = new DefaultHttpContext(); - _requests[3188].RequestServices = CreateServices(); - _requests[3188].Request.Method = "POST"; - _requests[3188].Request.Path = "/subscriptions/e822b437-f1b7-/resourceGroups/575de95c-9400-407/providers/Microsoft.NotificationHubs/namespaces/c583a79a-f54d/notificationHubs/dc10c64f-21a3-40ed-/AuthorizationRules/74f534dd-2c06-4773-9a/regenerateKeys"; - _requests[3189] = new DefaultHttpContext(); - _requests[3189].RequestServices = CreateServices(); - _requests[3189].Request.Method = "GET"; - _requests[3189].Request.Path = "/Subscriptions/a2d8973c-7c1b-/resourceGroups/9a71f0e6-7b98-45c/providers/Microsoft.RecoveryServices/vaults/5de8808d-466/replicationFabrics/f154a9a5-9/replicationNetworks/68dfc8d4-05/replicationNetworkMappings"; - _requests[3190] = new DefaultHttpContext(); - _requests[3190].RequestServices = CreateServices(); - _requests[3190].Request.Method = "POST"; - _requests[3190].Request.Path = "/Subscriptions/badab4f8-1e31-/resourceGroups/7c841495-f190-404/providers/Microsoft.RecoveryServices/vaults/3c8367a8-615/replicationFabrics/f80a9871-1/replicationProtectionContainers/8c193946-40aa-472a-9d6b/discoverProtectableItem"; - _requests[3191] = new DefaultHttpContext(); - _requests[3191].RequestServices = CreateServices(); - _requests[3191].Request.Method = "POST"; - _requests[3191].Request.Path = "/Subscriptions/eaac5dc9-589a-/resourceGroups/6e064e1f-a0bf-47d/providers/Microsoft.RecoveryServices/vaults/93a7b9b1-d01/replicationFabrics/34865ca4-b/replicationProtectionContainers/29c03985-e941-4687-8916/remove"; - _requests[3192] = new DefaultHttpContext(); - _requests[3192].RequestServices = CreateServices(); - _requests[3192].Request.Method = "GET"; - _requests[3192].Request.Path = "/Subscriptions/157d11a1-7156-/resourceGroups/498e85a4-5707-4cb/providers/Microsoft.RecoveryServices/vaults/35dd3b4a-449/replicationFabrics/e6922171-5/replicationProtectionContainers/99a5def6-e2b7-49f7-8c97/replicationProtectableItems"; - _requests[3193] = new DefaultHttpContext(); - _requests[3193].RequestServices = CreateServices(); - _requests[3193].Request.Method = "GET"; - _requests[3193].Request.Path = "/Subscriptions/90d59166-8e40-/resourceGroups/ee386572-f930-413/providers/Microsoft.RecoveryServices/vaults/8fcee624-c36/replicationFabrics/8001f347-4/replicationProtectionContainers/55114eec-9133-448b-8efc/replicationProtectedItems"; - _requests[3194] = new DefaultHttpContext(); - _requests[3194].RequestServices = CreateServices(); - _requests[3194].Request.Method = "GET"; - _requests[3194].Request.Path = "/Subscriptions/6415bca8-1a38-/resourceGroups/a90ad8b8-7b4c-4ef/providers/Microsoft.RecoveryServices/vaults/454de207-052/replicationFabrics/c2af73b9-3/replicationProtectionContainers/51779d63-fa54-4106-9ae4/replicationProtectionContainerMappings"; - _requests[3195] = new DefaultHttpContext(); - _requests[3195].RequestServices = CreateServices(); - _requests[3195].Request.Method = "POST"; - _requests[3195].Request.Path = "/Subscriptions/ccf11884-05ed-/resourceGroups/bf808105-f575-460/providers/Microsoft.RecoveryServices/vaults/e09a3fe9-34a/replicationFabrics/108af255-0/replicationProtectionContainers/891feb1f-8837-4329-a734/switchprotection"; - _requests[3196] = new DefaultHttpContext(); - _requests[3196].RequestServices = CreateServices(); - _requests[3196].Request.Method = "POST"; - _requests[3196].Request.Path = "/Subscriptions/f9939ff3-ed08-/resourceGroups/7448cdef-7b35-4c4/providers/Microsoft.RecoveryServices/vaults/99e4aa34-83b/replicationFabrics/78635b81-b/replicationRecoveryServicesProviders/24e13330-827/refreshProvider"; - _requests[3197] = new DefaultHttpContext(); - _requests[3197].RequestServices = CreateServices(); - _requests[3197].Request.Method = "POST"; - _requests[3197].Request.Path = "/Subscriptions/6c0fec7f-f6f1-/resourceGroups/29d30888-8395-4dd/providers/Microsoft.RecoveryServices/vaults/049d1bd6-d59/replicationFabrics/2995f9d1-9/replicationRecoveryServicesProviders/8adb2fd8-241/remove"; - _requests[3198] = new DefaultHttpContext(); - _requests[3198].RequestServices = CreateServices(); - _requests[3198].Request.Method = "GET"; - _requests[3198].Request.Path = "/Subscriptions/3d26f02d-c38b-/resourceGroups/0b4f68c8-0077-42d/providers/Microsoft.RecoveryServices/vaults/55770fbd-2a1/replicationFabrics/f34f96b3-3/replicationStorageClassifications/249467f8-f8bc-4ead-9467-7/replicationStorageClassificationMappings"; - _requests[3199] = new DefaultHttpContext(); - _requests[3199].RequestServices = CreateServices(); - _requests[3199].Request.Method = "POST"; - _requests[3199].Request.Path = "/Subscriptions/1a24ac3a-2b55-/resourceGroups/601e3954-e091-4c8/providers/Microsoft.RecoveryServices/vaults/cbc5743a-/backupFabrics/7b10a4d7-d/protectionContainers/086308cd-a420/inquire"; - _requests[3200] = new DefaultHttpContext(); - _requests[3200].RequestServices = CreateServices(); - _requests[3200].Request.Method = "GET"; - _requests[3200].Request.Path = "/Subscriptions/65d217c9-e453-/resourceGroups/5413b300-8b09-466/providers/Microsoft.RecoveryServices/vaults/352f6ad7-/backupFabrics/250794b3-f/protectionContainers/68c8a111-a2bc/items"; - _requests[3201] = new DefaultHttpContext(); - _requests[3201].RequestServices = CreateServices(); - _requests[3201].Request.Method = "POST"; - _requests[3201].Request.Path = "/subscriptions/5f88459e-a804-/resourceGroups/1adb9fde-521a-452/providers/Microsoft.Relay/namespaces/9dc2dfb2-868d/hybridConnections/1036ccb8-02a1-42de-b/authorizationRules/53774ff3-ded3-4a20-81/listKeys"; - _requests[3202] = new DefaultHttpContext(); - _requests[3202].RequestServices = CreateServices(); - _requests[3202].Request.Method = "POST"; - _requests[3202].Request.Path = "/subscriptions/f9b66600-39de-/resourceGroups/9c5cdbd3-2ed4-4e4/providers/Microsoft.Relay/namespaces/f6bb9c7c-bf24/hybridConnections/092e7bf5-e036-4597-b/authorizationRules/83dfcca3-c5a0-4358-9b/regenerateKeys"; - _requests[3203] = new DefaultHttpContext(); - _requests[3203].RequestServices = CreateServices(); - _requests[3203].Request.Method = "POST"; - _requests[3203].Request.Path = "/subscriptions/c033e767-281f-/resourceGroups/70a5970e-525e-4c5/providers/Microsoft.Relay/namespaces/a94cc460-327e/wcfRelays/bdb972e9-/authorizationRules/1875328a-c769-4ad7-bd/listKeys"; - _requests[3204] = new DefaultHttpContext(); - _requests[3204].RequestServices = CreateServices(); - _requests[3204].Request.Method = "POST"; - _requests[3204].Request.Path = "/subscriptions/db41cc12-e9b2-/resourceGroups/42e19dd0-2b62-4b4/providers/Microsoft.Relay/namespaces/a2d4214d-07c1/wcfRelays/3a7b5a3f-/authorizationRules/b249f954-3c0e-4573-95/regenerateKeys"; - _requests[3205] = new DefaultHttpContext(); - _requests[3205].RequestServices = CreateServices(); - _requests[3205].Request.Method = "POST"; - _requests[3205].Request.Path = "/subscriptions/aaf4c64d-418c-/resourceGroups/f0d86f94-9a0e-4ca/providers/Microsoft.ServiceBus/namespaces/497e9628-76ef/disasterRecoveryConfigs/21785/AuthorizationRules/36529d6b-1300-4f03-aa/listKeys"; - _requests[3206] = new DefaultHttpContext(); - _requests[3206].RequestServices = CreateServices(); - _requests[3206].Request.Method = "POST"; - _requests[3206].Request.Path = "/subscriptions/3861bf46-5fd6-/resourceGroups/f3e73b1b-56c3-4df/providers/Microsoft.ServiceBus/namespaces/299d8e59-a2f4/queues/01d31797-/authorizationRules/be0431c8-8a4a-4786-86/ListKeys"; - _requests[3207] = new DefaultHttpContext(); - _requests[3207].RequestServices = CreateServices(); - _requests[3207].Request.Method = "POST"; - _requests[3207].Request.Path = "/subscriptions/21ec1a45-f0ec-/resourceGroups/8e09ed3e-98ee-4f2/providers/Microsoft.ServiceBus/namespaces/fe24d747-46a3/queues/837c22ed-/authorizationRules/d8805cad-f677-4851-a3/regenerateKeys"; - _requests[3208] = new DefaultHttpContext(); - _requests[3208].RequestServices = CreateServices(); - _requests[3208].Request.Method = "POST"; - _requests[3208].Request.Path = "/subscriptions/82f37d2b-0e0a-/resourceGroups/736ca858-3de4-443/providers/Microsoft.ServiceBus/namespaces/c92cdbcf-c826/topics/9e31c104-/authorizationRules/69cd4208-addd-4b23-b4/ListKeys"; - _requests[3209] = new DefaultHttpContext(); - _requests[3209].RequestServices = CreateServices(); - _requests[3209].Request.Method = "POST"; - _requests[3209].Request.Path = "/subscriptions/61736b67-5815-/resourceGroups/5933dca1-66c8-411/providers/Microsoft.ServiceBus/namespaces/3c242dde-d7af/topics/18e0f2e7-/authorizationRules/55098e8b-63a3-42e2-b5/regenerateKeys"; - _requests[3210] = new DefaultHttpContext(); - _requests[3210].RequestServices = CreateServices(); - _requests[3210].Request.Method = "GET"; - _requests[3210].Request.Path = "/subscriptions/8710ef24-ab2e-/resourceGroups/df6c49de-00c3-49d/providers/Microsoft.ServiceBus/namespaces/aab10e91-6815/topics/6ae006ac-/subscriptions/73ee1334-be2d-4c/rules"; - _requests[3211] = new DefaultHttpContext(); - _requests[3211].RequestServices = CreateServices(); - _requests[3211].Request.Method = "GET"; - _requests[3211].Request.Path = "/subscriptions/4b34abfe-7ae3-/resourceGroups/e04e30cf-5bcf-486/providers/Microsoft.Sql/servers/fe1da22b-3/databases/6ee7af6a-a02/advisors/4c9e30e9-ad/recommendedActions"; - _requests[3212] = new DefaultHttpContext(); - _requests[3212].RequestServices = CreateServices(); - _requests[3212].Request.Method = "GET"; - _requests[3212].Request.Path = "/subscriptions/e2c1a546-ce39-/resourceGroups/7e15b121-8a9b-484/providers/Microsoft.Sql/servers/ac57ee35-9/databases/5cdd4705-207/dataMaskingPolicies/bbcc0195-def3-4fbf-80/rules"; - _requests[3213] = new DefaultHttpContext(); - _requests[3213].RequestServices = CreateServices(); - _requests[3213].Request.Method = "POST"; - _requests[3213].Request.Path = "/subscriptions/3167a609-45bb-/resourceGroups/bb6f31ec-3afd-4e3/providers/Microsoft.Sql/servers/9ad65f69-8/databases/a3ca0d86-f94/operations/df73d77d-dc/cancel"; - _requests[3214] = new DefaultHttpContext(); - _requests[3214].RequestServices = CreateServices(); - _requests[3214].Request.Method = "POST"; - _requests[3214].Request.Path = "/subscriptions/7fb87148-ba02-/resourceGroups/66daf275-9602-420/providers/Microsoft.Sql/servers/7838a0f2-2/databases/4d105ff2-57b/replicationLinks/f71329/failover"; - _requests[3215] = new DefaultHttpContext(); - _requests[3215].RequestServices = CreateServices(); - _requests[3215].Request.Method = "POST"; - _requests[3215].Request.Path = "/subscriptions/a1565e34-4a6b-/resourceGroups/82245fd4-5dff-431/providers/Microsoft.Sql/servers/13649433-c/databases/eb82f8b0-787/replicationLinks/d17c83/forceFailoverAllowDataLoss"; - _requests[3216] = new DefaultHttpContext(); - _requests[3216].RequestServices = CreateServices(); - _requests[3216].Request.Method = "POST"; - _requests[3216].Request.Path = "/subscriptions/f606a548-1881-/resourceGroups/88f7f4e5-87ea-4fc/providers/Microsoft.Sql/servers/9a469627-8/databases/e68dabfe-463/syncGroups/ab2ab270-30d4/cancelSync"; - _requests[3217] = new DefaultHttpContext(); - _requests[3217].RequestServices = CreateServices(); - _requests[3217].Request.Method = "GET"; - _requests[3217].Request.Path = "/subscriptions/eb41620c-de55-/resourceGroups/66d7bb00-eefe-424/providers/Microsoft.Sql/servers/f65c2876-1/databases/ea0424ab-7dc/syncGroups/42a68f1d-d759/hubSchemas"; - _requests[3218] = new DefaultHttpContext(); - _requests[3218].RequestServices = CreateServices(); - _requests[3218].Request.Method = "GET"; - _requests[3218].Request.Path = "/subscriptions/cd615992-bfee-/resourceGroups/aabc2e10-6897-402/providers/Microsoft.Sql/servers/89e44895-2/databases/bdb9bbeb-036/syncGroups/b0f30d77-06a6/logs"; - _requests[3219] = new DefaultHttpContext(); - _requests[3219].RequestServices = CreateServices(); - _requests[3219].Request.Method = "POST"; - _requests[3219].Request.Path = "/subscriptions/5d0756bd-def9-/resourceGroups/62e3803b-9e5f-4be/providers/Microsoft.Sql/servers/a2981797-6/databases/5bae3efb-0d1/syncGroups/f35c9226-bd15/refreshHubSchema"; - _requests[3220] = new DefaultHttpContext(); - _requests[3220].RequestServices = CreateServices(); - _requests[3220].Request.Method = "GET"; - _requests[3220].Request.Path = "/subscriptions/7da97309-5bd8-/resourceGroups/96ce84e6-18f3-4da/providers/Microsoft.Sql/servers/6eae5644-f/databases/d2d814b7-154/syncGroups/4ef269d3-3a8a/syncMembers"; - _requests[3221] = new DefaultHttpContext(); - _requests[3221].RequestServices = CreateServices(); - _requests[3221].Request.Method = "POST"; - _requests[3221].Request.Path = "/subscriptions/7b1b3bf8-cbab-/resourceGroups/c6d408c1-dd5e-476/providers/Microsoft.Sql/servers/ee469617-5/databases/64de68f7-f07/syncGroups/183402c9-2ae6/triggerSync"; - _requests[3222] = new DefaultHttpContext(); - _requests[3222].RequestServices = CreateServices(); - _requests[3222].Request.Method = "GET"; - _requests[3222].Request.Path = "/subscriptions/ae5a2084-1967-/resourceGroups/e0abb65e-7f5c-4de/providers/Microsoft.Sql/servers/bdc00381-8/databases/5a30d8b7-9b3/topQueries/3a07e51/queryText"; - _requests[3223] = new DefaultHttpContext(); - _requests[3223].RequestServices = CreateServices(); - _requests[3223].Request.Method = "GET"; - _requests[3223].Request.Path = "/subscriptions/734bf2a1-15d7-/resourceGroups/7baa772a-d9d9-4ae/providers/Microsoft.Sql/servers/a8bd4519-5/databases/317d469a-8f5/topQueries/a5065ab/statistics"; - _requests[3224] = new DefaultHttpContext(); - _requests[3224].RequestServices = CreateServices(); - _requests[3224].Request.Method = "GET"; - _requests[3224].Request.Path = "/subscriptions/9c76e756-cdd6-/resourceGroups/1a1bebea-c2f7-409/providers/Microsoft.Sql/servers/a935a60f-3/databases/3010f1b2-716/transparentDataEncryption/769b6d15-acce-4be8-b39c-d1d40/operationResults"; - _requests[3225] = new DefaultHttpContext(); - _requests[3225].RequestServices = CreateServices(); - _requests[3225].Request.Method = "GET"; - _requests[3225].Request.Path = "/subscriptions/e6dc81c4-f374-/resourceGroups/c7e807b3-e183-43e/providers/Microsoft.Sql/servers/0bfa579a-6/databases/d24b7597-c0c/vulnerabilityAssessments/dfe547ce-b85a-4049-af82-234/scans"; - _requests[3226] = new DefaultHttpContext(); - _requests[3226].RequestServices = CreateServices(); - _requests[3226].Request.Method = "POST"; - _requests[3226].Request.Path = "/subscriptions/aadaf7f3-63bd-/resourceGroups/ddb12f08-4fe2-476/providers/Microsoft.Sql/servers/a9799200-9/elasticPools/78c71edd-b96c-4/operations/936b7b34-8f/cancel"; - _requests[3227] = new DefaultHttpContext(); - _requests[3227].RequestServices = CreateServices(); - _requests[3227].Request.Method = "GET"; - _requests[3227].Request.Path = "/subscriptions/52bdb3b4-3129-/resourceGroups/25b48256-4328-427/providers/Microsoft.Sql/servers/921708df-f/jobAgents/56df2c9d-d55/jobs/96404c0/executions"; - _requests[3228] = new DefaultHttpContext(); - _requests[3228].RequestServices = CreateServices(); - _requests[3228].Request.Method = "POST"; - _requests[3228].Request.Path = "/subscriptions/4e3d6451-7b94-/resourceGroups/b9a25250-5f31-432/providers/Microsoft.Sql/servers/1c91678f-0/jobAgents/5410c3fb-19a/jobs/414b1d8/start"; - _requests[3229] = new DefaultHttpContext(); - _requests[3229].RequestServices = CreateServices(); - _requests[3229].Request.Method = "GET"; - _requests[3229].Request.Path = "/subscriptions/65350674-c6a1-/resourceGroups/731ebc1a-1a43-4f9/providers/Microsoft.Sql/servers/214bf5ef-d/jobAgents/81ef5363-48f/jobs/5622c20/steps"; - _requests[3230] = new DefaultHttpContext(); - _requests[3230].RequestServices = CreateServices(); - _requests[3230].Request.Method = "GET"; - _requests[3230].Request.Path = "/subscriptions/68335768-c537-/resourceGroups/40c1d0c0-50a4-485/providers/Microsoft.Sql/servers/7425f1e0-d/jobAgents/e6eb55e6-0bf/jobs/32cb39a/versions"; - _requests[3231] = new DefaultHttpContext(); - _requests[3231].RequestServices = CreateServices(); - _requests[3231].Request.Method = "POST"; - _requests[3231].Request.Path = "/subscriptions/2d19d47f-88c2-/resourceGroups/224a8610-4a38-48c/providers/Microsoft.StorSimple/managers/682a8d5b-b2/devices/5c4b293a-6/backupPolicies/4f29a07a-e95b-43/backup"; - _requests[3232] = new DefaultHttpContext(); - _requests[3232].RequestServices = CreateServices(); - _requests[3232].Request.Method = "GET"; - _requests[3232].Request.Path = "/subscriptions/09540528-fc97-/resourceGroups/fec980c5-be89-421/providers/Microsoft.StorSimple/managers/552cd02a-c5/devices/e2717bdd-d/backupPolicies/fb32d6c2-3631-42/schedules"; - _requests[3233] = new DefaultHttpContext(); - _requests[3233].RequestServices = CreateServices(); - _requests[3233].Request.Method = "POST"; - _requests[3233].Request.Path = "/subscriptions/7aba571d-2132-/resourceGroups/8869e197-b8e0-412/providers/Microsoft.StorSimple/managers/721fa476-8f/devices/5b9d90f3-c/backups/76f131af-f/restore"; - _requests[3234] = new DefaultHttpContext(); - _requests[3234].RequestServices = CreateServices(); - _requests[3234].Request.Method = "POST"; - _requests[3234].Request.Path = "/subscriptions/f3a25184-d377-/resourceGroups/27a29243-4dff-481/providers/Microsoft.StorSimple/managers/3d792ffb-11/devices/bf25aa12-3/hardwareComponentGroups/2cff9445-8b93-4d22-9fdc-37/changeControllerPowerState"; - _requests[3235] = new DefaultHttpContext(); - _requests[3235].RequestServices = CreateServices(); - _requests[3235].Request.Method = "POST"; - _requests[3235].Request.Path = "/subscriptions/48b99687-3ca5-/resourceGroups/3212b21b-3715-45d/providers/Microsoft.StorSimple/managers/abf5aeec-3c/devices/be2dbb2a-f/jobs/16952db/cancel"; - _requests[3236] = new DefaultHttpContext(); - _requests[3236].RequestServices = CreateServices(); - _requests[3236].Request.Method = "GET"; - _requests[3236].Request.Path = "/subscriptions/78724a36-7415-/resourceGroups/471b5f9c-7fe0-4aa/providers/Microsoft.StorSimple/managers/28b8450f-c5/devices/abcef751-f/volumeContainers/57eb6a88-1d1d-4707-/metrics"; - _requests[3237] = new DefaultHttpContext(); - _requests[3237].RequestServices = CreateServices(); - _requests[3237].Request.Method = "GET"; - _requests[3237].Request.Path = "/subscriptions/e5960681-f855-/resourceGroups/85c8a4ff-8748-439/providers/Microsoft.StorSimple/managers/8eb1d73d-14/devices/7482ed86-9/volumeContainers/45486520-2ffa-4fcd-/metricsDefinitions"; - _requests[3238] = new DefaultHttpContext(); - _requests[3238].RequestServices = CreateServices(); - _requests[3238].Request.Method = "GET"; - _requests[3238].Request.Path = "/subscriptions/1895ea2b-3433-/resourceGroups/b1373a4f-fa36-4d3/providers/Microsoft.StorSimple/managers/73a8c75b-09/devices/444c34e9-b/volumeContainers/07475839-08b4-4830-/volumes"; - _requests[3239] = new DefaultHttpContext(); - _requests[3239].RequestServices = CreateServices(); - _requests[3239].Request.Method = "POST"; - _requests[3239].Request.Path = "/subscriptions/13904e73-be02-/resourcegroups/790f8797-8533-427/providers/Microsoft.Update.Admin/updateLocations/53942faa-0300-/updates/42312ea6-b/updateRuns/9019e5e/rerun"; - _requests[3240] = new DefaultHttpContext(); - _requests[3240].RequestServices = CreateServices(); - _requests[3240].Request.Method = "GET"; - _requests[3240].Request.Path = "/subscriptions/895d605c-e42b-/resourceGroups/a692cbfb-22de-49a/providers/microsoft.visualstudio/account/94d3f46d-d36e-4c/project/db8dc482-e8a/subContainers/c82ef049-2740-4d/status"; - _requests[3241] = new DefaultHttpContext(); - _requests[3241].RequestServices = CreateServices(); - _requests[3241].Request.Method = "GET"; - _requests[3241].Request.Path = "/subscriptions/9337ec0c-b023-/resourceGroups/5c80c3eb-833d-4d1/providers/Microsoft.Web/hostingEnvironments/05f69/workerPools/fe73fa06-71b8-/instances/5f599767/metricdefinitions"; - _requests[3242] = new DefaultHttpContext(); - _requests[3242].RequestServices = CreateServices(); - _requests[3242].Request.Method = "GET"; - _requests[3242].Request.Path = "/subscriptions/35268876-7679-/resourceGroups/ddbd2aa1-ce3e-49b/providers/Microsoft.Web/hostingEnvironments/a8164/workerPools/37c5e33e-f984-/instances/f60df3b3/metrics"; - _requests[3243] = new DefaultHttpContext(); - _requests[3243].RequestServices = CreateServices(); - _requests[3243].Request.Method = "POST"; - _requests[3243].Request.Path = "/subscriptions/f743a7e3-d26e-/resourceGroups/17a5888f-2014-430/providers/Microsoft.Web/serverfarms/708d3/hybridConnectionNamespaces/44a50c34-24fa/relays/a266bbd5-/listKeys"; - _requests[3244] = new DefaultHttpContext(); - _requests[3244].RequestServices = CreateServices(); - _requests[3244].Request.Method = "GET"; - _requests[3244].Request.Path = "/subscriptions/0cda6793-6c67-/resourceGroups/c4293037-4903-49b/providers/Microsoft.Web/serverfarms/389a7/hybridConnectionNamespaces/822184ef-c59c/relays/f922d311-/sites"; - _requests[3245] = new DefaultHttpContext(); - _requests[3245].RequestServices = CreateServices(); - _requests[3245].Request.Method = "POST"; - _requests[3245].Request.Path = "/subscriptions/2d5c0bba-1705-/resourceGroups/4a491a94-85af-4c1/providers/Microsoft.Web/sites/bb1b7/hybridConnectionNamespaces/0800f08c-e283/relays/0558f7fe-/listKeys"; - _requests[3246] = new DefaultHttpContext(); - _requests[3246].RequestServices = CreateServices(); - _requests[3246].Request.Method = "GET"; - _requests[3246].Request.Path = "/subscriptions/19b04acd-7cd7-/resourceGroups/9c3ced54-d794-41d/providers/Microsoft.Web/sites/95ff3/instances/4ea15e60-1/processes/4a772059-/dump"; - _requests[3247] = new DefaultHttpContext(); - _requests[3247].RequestServices = CreateServices(); - _requests[3247].Request.Method = "GET"; - _requests[3247].Request.Path = "/subscriptions/482fc90a-6a6a-/resourceGroups/289b7d9a-e975-48f/providers/Microsoft.Web/sites/77f8f/instances/9b7bb695-4/processes/52a67fae-/modules"; - _requests[3248] = new DefaultHttpContext(); - _requests[3248].RequestServices = CreateServices(); - _requests[3248].Request.Method = "GET"; - _requests[3248].Request.Path = "/subscriptions/72b1a945-e099-/resourceGroups/7520f37e-d7a0-45b/providers/Microsoft.Web/sites/e7122/instances/9cc076c5-4/processes/1516d44c-/threads"; - _requests[3249] = new DefaultHttpContext(); - _requests[3249].RequestServices = CreateServices(); - _requests[3249].Request.Method = "POST"; - _requests[3249].Request.Path = "/subscriptions/ccefe605-93da-/resourceGroups/ad6b82ab-06f1-495/providers/Microsoft.Web/sites/f68b3/slots/5d821/backups/3f281a97/list"; - _requests[3250] = new DefaultHttpContext(); - _requests[3250].RequestServices = CreateServices(); - _requests[3250].Request.Method = "POST"; - _requests[3250].Request.Path = "/subscriptions/b5d0cd11-81d7-/resourceGroups/ae300437-049e-44a/providers/Microsoft.Web/sites/408b5/slots/3aa1a/backups/aa3d191b/restore"; - _requests[3251] = new DefaultHttpContext(); - _requests[3251].RequestServices = CreateServices(); - _requests[3251].Request.Method = "POST"; - _requests[3251].Request.Path = "/subscriptions/0fe93553-1991-/resourceGroups/7077246f-41bc-42a/providers/Microsoft.Web/sites/c70df/slots/d2110/continuouswebjobs/9703aeaf-4/start"; - _requests[3252] = new DefaultHttpContext(); - _requests[3252].RequestServices = CreateServices(); - _requests[3252].Request.Method = "POST"; - _requests[3252].Request.Path = "/subscriptions/a9f64799-a019-/resourceGroups/5a64c8fb-fcf3-4ad/providers/Microsoft.Web/sites/91371/slots/b09f7/continuouswebjobs/5db4bb25-a/stop"; - _requests[3253] = new DefaultHttpContext(); - _requests[3253].RequestServices = CreateServices(); - _requests[3253].Request.Method = "GET"; - _requests[3253].Request.Path = "/subscriptions/5e8b2785-e846-/resourceGroups/27cad519-4842-4ee/providers/Microsoft.Web/sites/db27c/slots/80a4f/deployments/dd73b/log"; - _requests[3254] = new DefaultHttpContext(); - _requests[3254].RequestServices = CreateServices(); - _requests[3254].Request.Method = "POST"; - _requests[3254].Request.Path = "/subscriptions/9f180fb7-a46d-/resourceGroups/5d22366c-c201-4a0/providers/Microsoft.Web/sites/e99e8/slots/e1f7d/functions/f478bde6-890/listsecrets"; - _requests[3255] = new DefaultHttpContext(); - _requests[3255].RequestServices = CreateServices(); - _requests[3255].Request.Method = "GET"; - _requests[3255].Request.Path = "/subscriptions/5e912b4c-6db1-/resourceGroups/1637e4dc-134f-4bb/providers/Microsoft.Web/sites/9f0cd/slots/35abb/instances/b146ecf6-0/deployments"; - _requests[3256] = new DefaultHttpContext(); - _requests[3256].RequestServices = CreateServices(); - _requests[3256].Request.Method = "GET"; - _requests[3256].Request.Path = "/subscriptions/32777f6f-416c-/resourceGroups/7fc6a1c5-7cb0-4fd/providers/Microsoft.Web/sites/5c9fb/slots/59ce7/instances/2edcef8a-5/processes"; - _requests[3257] = new DefaultHttpContext(); - _requests[3257].RequestServices = CreateServices(); - _requests[3257].Request.Method = "GET"; - _requests[3257].Request.Path = "/subscriptions/9f27d826-fc69-/resourceGroups/1b2d3921-fc62-44a/providers/Microsoft.Web/sites/7c6a0/slots/f438f/processes/4bdb517d-/dump"; - _requests[3258] = new DefaultHttpContext(); - _requests[3258].RequestServices = CreateServices(); - _requests[3258].Request.Method = "GET"; - _requests[3258].Request.Path = "/subscriptions/40b5ec97-c05e-/resourceGroups/533efe38-ba69-43c/providers/Microsoft.Web/sites/bcc4a/slots/eab85/processes/9f8389a8-/modules"; - _requests[3259] = new DefaultHttpContext(); - _requests[3259].RequestServices = CreateServices(); - _requests[3259].Request.Method = "GET"; - _requests[3259].Request.Path = "/subscriptions/654c9b26-5f51-/resourceGroups/332662fa-3ed6-42a/providers/Microsoft.Web/sites/e99ea/slots/ff21b/processes/018049a8-/threads"; - _requests[3260] = new DefaultHttpContext(); - _requests[3260].RequestServices = CreateServices(); - _requests[3260].Request.Method = "GET"; - _requests[3260].Request.Path = "/subscriptions/5be6bd47-2be7-/resourceGroups/0483e947-0efb-4c3/providers/Microsoft.Web/sites/305a4/slots/42768/triggeredwebjobs/f99256db-b/history"; - _requests[3261] = new DefaultHttpContext(); - _requests[3261].RequestServices = CreateServices(); - _requests[3261].Request.Method = "POST"; - _requests[3261].Request.Path = "/subscriptions/59a57df1-8098-/resourceGroups/432050a9-3059-42e/providers/Microsoft.Web/sites/e3d86/slots/523a3/triggeredwebjobs/fea833ba-9/run"; - _requests[3262] = new DefaultHttpContext(); - _requests[3262].RequestServices = CreateServices(); - _requests[3262].Request.Method = "POST"; - _requests[3262].Request.Path = "/subscriptions/c42c19b9-38a7-/resourceGroups/c5a5913e-1b07-4e5/providers/Microsoft.Web/sites/2ecbc170/diagnostics/aac3040a-64d9-4eb3/analyses/98d56af7-e5c/execute"; - _requests[3263] = new DefaultHttpContext(); - _requests[3263].RequestServices = CreateServices(); - _requests[3263].Request.Method = "POST"; - _requests[3263].Request.Path = "/subscriptions/99b9da81-5a3d-/resourceGroups/8d73bdb3-d58e-4fc/providers/Microsoft.Web/sites/1ce620e7/diagnostics/421e668f-b62c-485f/detectors/45b9ddd0-f86/execute"; - _requests[3264] = new DefaultHttpContext(); - _requests[3264].RequestServices = CreateServices(); - _requests[3264].Request.Method = "GET"; - _requests[3264].Request.Path = "/subscriptions/cd3b05ee-6321-/resourceGroups/0c308bb8-a782-44e/providers/Microsoft.Web/sites/56d75ab7/slots/3f037/diagnostics/8d4d4bcd-e50b-4205/analyses"; - _requests[3265] = new DefaultHttpContext(); - _requests[3265].RequestServices = CreateServices(); - _requests[3265].Request.Method = "GET"; - _requests[3265].Request.Path = "/subscriptions/4ae6a113-4987-/resourceGroups/24cd8d74-9256-4ac/providers/Microsoft.Web/sites/8c882451/slots/e33f5/diagnostics/6268321b-f1a2-4855/detectors"; - _requests[3266] = new DefaultHttpContext(); - _requests[3266].RequestServices = CreateServices(); - _requests[3266].Request.Method = "GET"; - _requests[3266].Request.Path = "/subscriptions/3c1d3a2e-9b3e-/resourceGroups/ee7cceff-904f-4c6/providers/Microsoft.DocumentDB/databaseAccounts/928dd46f-3a/databases/1fd826e9-a9/collections/c9cdf95e-f9f3/partitions/metrics"; - _requests[3267] = new DefaultHttpContext(); - _requests[3267].RequestServices = CreateServices(); - _requests[3267].Request.Method = "GET"; - _requests[3267].Request.Path = "/subscriptions/b32d4eeb-a632-/resourceGroups/1a6ef57c-8fc8-415/providers/Microsoft.DocumentDB/databaseAccounts/57322eea-f8/databases/7fb0d785-33/collections/8dc0ac50-0a1d/partitions/usages"; - _requests[3268] = new DefaultHttpContext(); - _requests[3268].RequestServices = CreateServices(); - _requests[3268].Request.Method = "GET"; - _requests[3268].Request.Path = "/subscriptions/45de3e6c-0929-/resourceGroups/42fb9696-b71b-41a/providers/Microsoft.DocumentDB/databaseAccounts/f9dcc9cc-86/sourceRegion/01d1728e-b9d/targetRegion/384f2a11-2cf/percentile/metrics"; - _requests[3269] = new DefaultHttpContext(); - _requests[3269].RequestServices = CreateServices(); - _requests[3269].Request.Method = "PUT"; - _requests[3269].Request.Path = "/subscriptions/c79f0ca7-6132-/resourceGroups/e13fff10-6613-4c6/providers/Microsoft.Web/sites/af42a/slots/75fa4/instances/69dcf1d9-2/extensions/MSDeploy"; - _requests[3270] = new DefaultHttpContext(); - _requests[3270].RequestServices = CreateServices(); - _requests[3270].Request.Method = "GET"; - _requests[3270].Request.Path = "/subscriptions/345bc160-cc55-/resourceGroups/11cf83ba-69dc-454/providers/Microsoft.Web/sites/512b8/slots/e4f48/instances/a57fcf68-c/extensions/MSDeploy/log"; - _requests[3271] = new DefaultHttpContext(); - _requests[3271].RequestServices = CreateServices(); - _requests[3271].Request.Method = "DELETE"; - _requests[3271].Request.Path = "/subscriptions/82e24228-41be-/resourceGroups/840d9fba-74d8-496/providers/Microsoft.ApiManagement/service/0770ad61-78/apis/93887/diagnostics/65e652e0-3c7/loggers/9ac763ba"; - _requests[3272] = new DefaultHttpContext(); - _requests[3272].RequestServices = CreateServices(); - _requests[3272].Request.Method = "DELETE"; - _requests[3272].Request.Path = "/subscriptions/ab94d6ce-edb3-/resourceGroups/a2b0e770-b7e6-419/providers/Microsoft.ApiManagement/service/e3e7e0c2-8d/apis/0d4a8/issues/4d42fc5/attachments/f078b643-962"; - _requests[3273] = new DefaultHttpContext(); - _requests[3273].RequestServices = CreateServices(); - _requests[3273].Request.Method = "DELETE"; - _requests[3273].Request.Path = "/subscriptions/f54662cc-2644-/resourceGroups/cf4cc797-768b-442/providers/Microsoft.ApiManagement/service/b697a61d-0a/apis/9b937/issues/82aa7f2/comments/8bb9cd94-"; - _requests[3274] = new DefaultHttpContext(); - _requests[3274].RequestServices = CreateServices(); - _requests[3274].Request.Method = "DELETE"; - _requests[3274].Request.Path = "/subscriptions/7b21f798-401c-/resourceGroups/e0f22333-4b38-46c/providers/Microsoft.ApiManagement/service/3b33879e-1d/apis/f3539/operations/2e0496aa-a6/policies/6d55532f"; - _requests[3275] = new DefaultHttpContext(); - _requests[3275].RequestServices = CreateServices(); - _requests[3275].Request.Method = "DELETE"; - _requests[3275].Request.Path = "/subscriptions/d73d8056-13e5-/resourceGroups/85dade2d-952c-447/providers/Microsoft.ApiManagement/service/244b0a0a-d1/apis/998a2/operations/de042803-5b/tags/12629"; - _requests[3276] = new DefaultHttpContext(); - _requests[3276].RequestServices = CreateServices(); - _requests[3276].Request.Method = "GET"; - _requests[3276].Request.Path = "/subscriptions/34b937a8-2a52-/resourceGroups/4c1660a0-30c0-456/providers/Microsoft.Automation/automationAccounts/2291cbf4-690e-4792-81/sourceControls/a25483d1-a4a5-437/sourceControlSyncJobs/296e1a65-516e-44bf-a68/streams/1c6d7507"; - _requests[3277] = new DefaultHttpContext(); - _requests[3277].RequestServices = CreateServices(); - _requests[3277].Request.Method = "GET"; - _requests[3277].Request.Path = "/subscriptions/dfbae508-68ba-/resourceGroups/8611fddb-96c7-42d/providers/microsoft.Compute/virtualMachineScaleSets/2da159b2-48b2-4f8c-938a-4f/virtualMachines/4e85bc78-2d40-4a78-/networkInterfaces/cb0b2634-2231-4c7f-8/ipConfigurations/e537b81b-a9e2-404e-"; - _requests[3278] = new DefaultHttpContext(); - _requests[3278].RequestServices = CreateServices(); - _requests[3278].Request.Method = "GET"; - _requests[3278].Request.Path = "/subscriptions/08daef3a-7321-/resourceGroups/b6355243-074c-400/providers/Microsoft.Fabric.Admin/fabricLocations/44c7af1b/storageSubSystems/e8e89cff-6290-40/storagePools/3cd583f3-25/volumes/a25a0c"; - _requests[3279] = new DefaultHttpContext(); - _requests[3279].RequestServices = CreateServices(); - _requests[3279].Request.Method = "GET"; - _requests[3279].Request.Path = "/subscriptions/240ba9e5-afdb-/resourceGroups/4b3af8a0-6e3f-449/providers/Microsoft.Logic/workflows/0953c643-1fe/runs/08b45f7/actions/40c2edab-e/repetitions/bb1261d8-194d-"; - _requests[3280] = new DefaultHttpContext(); - _requests[3280].RequestServices = CreateServices(); - _requests[3280].Request.Method = "GET"; - _requests[3280].Request.Path = "/subscriptions/5d5ea090-1f99-/resourceGroups/e45256c6-9c37-42a/providers/Microsoft.Logic/workflows/b17fb4a4-27b/runs/5178f2d/actions/0e142afd-5/scopeRepetitions/44915f53-7c0f-"; - _requests[3281] = new DefaultHttpContext(); - _requests[3281].RequestServices = CreateServices(); - _requests[3281].Request.Method = "GET"; - _requests[3281].Request.Path = "/subscriptions/37adecac-b931-/resourceGroups/ed135a8b-7bad-4ff/providers/Microsoft.Migrate/projects/863c2681-97/groups/e6ba707c-/assessments/324b73c8-e942-/assessedMachines/82fb11b6-45ae-417c-"; - _requests[3282] = new DefaultHttpContext(); - _requests[3282].RequestServices = CreateServices(); - _requests[3282].Request.Method = "PATCH"; - _requests[3282].Request.Path = "/Subscriptions/e3677787-5ee9-/resourceGroups/8e62012c-7823-482/providers/Microsoft.RecoveryServices/vaults/2b12516d-d67/replicationFabrics/9596f4d9-7/replicationNetworks/3f5e53f0-c3/replicationNetworkMappings/261f4e38-cb80-4e4c"; - _requests[3283] = new DefaultHttpContext(); - _requests[3283].RequestServices = CreateServices(); - _requests[3283].Request.Method = "GET"; - _requests[3283].Request.Path = "/Subscriptions/429f2bc3-edd3-/resourceGroups/9ea8c7eb-d9e7-49b/providers/Microsoft.RecoveryServices/vaults/9ee8ad32-336/replicationFabrics/2da6b264-f/replicationProtectionContainers/bf6594b5-0145-430f-9e1a/replicationProtectableItems/cacdef6d-0279-4434-"; - _requests[3284] = new DefaultHttpContext(); - _requests[3284].RequestServices = CreateServices(); - _requests[3284].Request.Method = "PATCH"; - _requests[3284].Request.Path = "/Subscriptions/006a9691-7400-/resourceGroups/5da91516-5c7b-48f/providers/Microsoft.RecoveryServices/vaults/7c1f6ce0-df9/replicationFabrics/a9a80053-5/replicationProtectionContainers/5bcd8252-d4b0-4d7d-a9a0/replicationProtectedItems/e53738ff-ca70-4489-b4e8-803"; - _requests[3285] = new DefaultHttpContext(); - _requests[3285].RequestServices = CreateServices(); - _requests[3285].Request.Method = "PATCH"; - _requests[3285].Request.Path = "/Subscriptions/e196729e-a67b-/resourceGroups/772987c3-9cef-478/providers/Microsoft.RecoveryServices/vaults/2a7dca5f-a34/replicationFabrics/5ba7242d-1/replicationProtectionContainers/4229ae6f-71f3-45e6-977c/replicationProtectionContainerMappings/20851fbe-3a"; - _requests[3286] = new DefaultHttpContext(); - _requests[3286].RequestServices = CreateServices(); - _requests[3286].Request.Method = "DELETE"; - _requests[3286].Request.Path = "/Subscriptions/409eeb58-a61e-/resourceGroups/ebff00a4-5fcd-4bd/providers/Microsoft.RecoveryServices/vaults/1a5ced79-df2/replicationFabrics/6d582550-0/replicationStorageClassifications/5d9fbafd-1971-458c-839c-7/replicationStorageClassificationMappings/78d9c540-fcb7-4ad2-8ece-0382b1ad"; - _requests[3287] = new DefaultHttpContext(); - _requests[3287].RequestServices = CreateServices(); - _requests[3287].Request.Method = "GET"; - _requests[3287].Request.Path = "/Subscriptions/57736cd2-37e8-/resourceGroups/ddfdde18-c291-49b/providers/Microsoft.RecoveryServices/vaults/af63fb48-/backupFabrics/567a7463-d/protectionContainers/9c2eabea-2ea5/operationResults/7ddcbefc-c9"; - _requests[3288] = new DefaultHttpContext(); - _requests[3288].RequestServices = CreateServices(); - _requests[3288].Request.Method = "DELETE"; - _requests[3288].Request.Path = "/Subscriptions/950dd074-5023-/resourceGroups/cb00f173-a8ef-44e/providers/Microsoft.RecoveryServices/vaults/cba8805e-/backupFabrics/984a85d4-2/protectionContainers/94327993-4652/protectedItems/16d4b02b-c12f-492"; - _requests[3289] = new DefaultHttpContext(); - _requests[3289].RequestServices = CreateServices(); - _requests[3289].Request.Method = "GET"; - _requests[3289].Request.Path = "/subscriptions/b10b1c55-a7e3-/resourceGroups/dd1e8046-1727-47e/providers/Microsoft.ServiceBus/namespaces/574186c3-2f95/topics/c67ebfff-/subscriptions/a759a0b7-5746-4e/rules/2fdf0611"; - _requests[3290] = new DefaultHttpContext(); - _requests[3290].RequestServices = CreateServices(); - _requests[3290].Request.Method = "PATCH"; - _requests[3290].Request.Path = "/subscriptions/ecad8de6-2841-/resourceGroups/d76cc264-1be9-4d7/providers/Microsoft.Sql/servers/c86b8e91-6/databases/9651f331-230/advisors/6c956b5e-e3/recommendedActions/061914a6-9323-4c8f-94"; - _requests[3291] = new DefaultHttpContext(); - _requests[3291].RequestServices = CreateServices(); - _requests[3291].Request.Method = "PUT"; - _requests[3291].Request.Path = "/subscriptions/524e79ff-ab5e-/resourceGroups/95f6f9e0-2039-46e/providers/Microsoft.Sql/servers/89d04b35-9/databases/677dd0b1-ba8/dataMaskingPolicies/32885f92-530b-4eca-91/rules/4e9ccb5f-2753-4f6c-"; - _requests[3292] = new DefaultHttpContext(); - _requests[3292].RequestServices = CreateServices(); - _requests[3292].Request.Method = "PATCH"; - _requests[3292].Request.Path = "/subscriptions/d74c5cb2-2efe-/resourceGroups/bbebb15c-a959-432/providers/Microsoft.Sql/servers/8dbfb356-5/databases/262cf280-28d/syncGroups/7d240c7c-75cd/syncMembers/9f8fe93c-0083-"; - _requests[3293] = new DefaultHttpContext(); - _requests[3293].RequestServices = CreateServices(); - _requests[3293].Request.Method = "GET"; - _requests[3293].Request.Path = "/subscriptions/58cbac75-2c8e-/resourceGroups/99444cd3-d9cb-47f/providers/Microsoft.Sql/servers/742e1c76-5/databases/36e8b892-5d6/vulnerabilityAssessments/33323411-4a91-4f24-b158-400/scans/9df655"; - _requests[3294] = new DefaultHttpContext(); - _requests[3294].RequestServices = CreateServices(); - _requests[3294].Request.Method = "PUT"; - _requests[3294].Request.Path = "/subscriptions/0e0c37f7-51a4-/resourceGroups/113705e0-2ced-4ac/providers/Microsoft.Sql/servers/6c6e15d5-1/jobAgents/7a54a56f-27c/jobs/178f1bb/executions/d5744014-498c-"; - _requests[3295] = new DefaultHttpContext(); - _requests[3295].RequestServices = CreateServices(); - _requests[3295].Request.Method = "DELETE"; - _requests[3295].Request.Path = "/subscriptions/24b61a6e-a0e0-/resourceGroups/fd0506a9-23ac-4a6/providers/Microsoft.Sql/servers/dc2cc613-8/jobAgents/2a3d1308-819/jobs/f9e89a6/steps/5c52ab40"; - _requests[3296] = new DefaultHttpContext(); - _requests[3296].RequestServices = CreateServices(); - _requests[3296].Request.Method = "GET"; - _requests[3296].Request.Path = "/subscriptions/77bea82e-9a09-/resourceGroups/213f008f-3d19-4cb/providers/Microsoft.Sql/servers/60299e17-d/jobAgents/47724f77-68f/jobs/e11f415/versions/3a251be1-a"; - _requests[3297] = new DefaultHttpContext(); - _requests[3297].RequestServices = CreateServices(); - _requests[3297].Request.Method = "DELETE"; - _requests[3297].Request.Path = "/subscriptions/2614854f-b6e9-/resourceGroups/dc2a38c4-80fc-4bb/providers/Microsoft.StorSimple/managers/62ac2c3e-49/devices/977bb1d9-7/backupPolicies/75dfa573-936c-4f/schedules/8c293e10-9a93-4280"; - _requests[3298] = new DefaultHttpContext(); - _requests[3298].RequestServices = CreateServices(); - _requests[3298].Request.Method = "DELETE"; - _requests[3298].Request.Path = "/subscriptions/c7238f0e-8ba1-/resourceGroups/7d290464-d42b-46a/providers/Microsoft.StorSimple/managers/eee104ad-d5/devices/2b99fb47-5/volumeContainers/3cdbfef9-062a-4e5b-/volumes/c35d93de-e"; - _requests[3299] = new DefaultHttpContext(); - _requests[3299].RequestServices = CreateServices(); - _requests[3299].Request.Method = "GET"; - _requests[3299].Request.Path = "/subscriptions/d923d8ed-ad12-/resourceGroups/716f6f40-dd50-415/providers/Microsoft.Web/sites/29336/instances/8eb0af75-c/processes/19ef260d-/modules/af3f8078-69"; - _requests[3300] = new DefaultHttpContext(); - _requests[3300].RequestServices = CreateServices(); - _requests[3300].Request.Method = "GET"; - _requests[3300].Request.Path = "/subscriptions/bf32ee96-fa54-/resourceGroups/c65e0dca-9be6-4ef/providers/Microsoft.Web/sites/9de5f/instances/1a87e388-9/processes/13823742-/threads/7496bdac"; - _requests[3301] = new DefaultHttpContext(); - _requests[3301].RequestServices = CreateServices(); - _requests[3301].Request.Method = "PATCH"; - _requests[3301].Request.Path = "/subscriptions/6a0bdc1e-cbbf-/resourceGroups/1bb32325-0371-488/providers/Microsoft.Web/sites/08dc9/slots/3cd22/hybridConnectionNamespaces/6446c1a4-a34e/relays/653e2f6c-"; - _requests[3302] = new DefaultHttpContext(); - _requests[3302].RequestServices = CreateServices(); - _requests[3302].Request.Method = "DELETE"; - _requests[3302].Request.Path = "/subscriptions/24837b3c-b76d-/resourceGroups/463a1799-8760-40a/providers/Microsoft.Web/sites/d5398/slots/064aa/instances/8d0e4a04-b/deployments/92ac7"; - _requests[3303] = new DefaultHttpContext(); - _requests[3303].RequestServices = CreateServices(); - _requests[3303].Request.Method = "DELETE"; - _requests[3303].Request.Path = "/subscriptions/3cb0a997-c2b5-/resourceGroups/9dfc9631-5112-481/providers/Microsoft.Web/sites/13765/slots/41c42/instances/f23bcc37-3/processes/18257212-"; - _requests[3304] = new DefaultHttpContext(); - _requests[3304].RequestServices = CreateServices(); - _requests[3304].Request.Method = "GET"; - _requests[3304].Request.Path = "/subscriptions/c01aa2f5-822e-/resourceGroups/9afdaf3e-b3f0-41f/providers/Microsoft.Web/sites/ab233/slots/a6d98/processes/110f5a92-/modules/40247590-24"; - _requests[3305] = new DefaultHttpContext(); - _requests[3305].RequestServices = CreateServices(); - _requests[3305].Request.Method = "GET"; - _requests[3305].Request.Path = "/subscriptions/7737067d-b186-/resourceGroups/77c17f0d-220d-49e/providers/Microsoft.Web/sites/51dec/slots/7f74b/processes/63541419-/threads/6d98d173"; - _requests[3306] = new DefaultHttpContext(); - _requests[3306].RequestServices = CreateServices(); - _requests[3306].Request.Method = "GET"; - _requests[3306].Request.Path = "/subscriptions/3d671d37-3ea6-/resourceGroups/1aa3ec40-1f39-465/providers/Microsoft.Web/sites/27c4f/slots/2c5c6/triggeredwebjobs/1fce5928-f/history/78e04"; - _requests[3307] = new DefaultHttpContext(); - _requests[3307].RequestServices = CreateServices(); - _requests[3307].Request.Method = "PATCH"; - _requests[3307].Request.Path = "/subscriptions/fba113c8-5c02-/resourceGroups/4ce9bc60-1024-465/providers/Microsoft.Web/sites/491a2/slots/25c7b/virtualNetworkConnections/5ae26e60/gateways/134d3ae4-9d"; - _requests[3308] = new DefaultHttpContext(); - _requests[3308].RequestServices = CreateServices(); - _requests[3308].Request.Method = "GET"; - _requests[3308].Request.Path = "/subscriptions/6d2864d2-693d-/resourceGroups/863f98c2-e254-464/providers/Microsoft.Web/sites/e2934230/slots/6e7fa/diagnostics/dfa8ec17-a357-4974/analyses/43442a7a-46a"; - _requests[3309] = new DefaultHttpContext(); - _requests[3309].RequestServices = CreateServices(); - _requests[3309].Request.Method = "GET"; - _requests[3309].Request.Path = "/subscriptions/a3b7271d-49f6-/resourceGroups/2d9108d4-47b7-4ec/providers/Microsoft.Web/sites/75414acb/slots/c44e2/diagnostics/5211737b-2e81-4026/detectors/cb2a1b88-7a0"; - _requests[3310] = new DefaultHttpContext(); - _requests[3310].RequestServices = CreateServices(); - _requests[3310].Request.Method = "GET"; - _requests[3310].Request.Path = "/subscriptions/b5ae4868-9589-/resourceGroups/d2e7f64f-cd54-485/providers/Microsoft.Compute/virtualMachineScaleSets/675714cb-af6a-4728-ab7c-7a/virtualMachines/65a3cee6-d72d-4934-/networkInterfaces/39edf72a-b992-408b-9/ipconfigurations/ff2bdb08-f2dd-46f0-/publicipaddresses"; - _requests[3311] = new DefaultHttpContext(); - _requests[3311].RequestServices = CreateServices(); - _requests[3311].Request.Method = "GET"; - _requests[3311].Request.Path = "/subscriptions/740df3eb-bff3-/resourceGroups/6ff989a0-cabd-4e2/providers/Microsoft.DocumentDB/databaseAccounts/61e9d98d-86/databases/f47b6047-72/collections/a7f7701f-45d7/partitionKeyRangeId/48bb26af-fc6e-41ca-/metrics"; - _requests[3312] = new DefaultHttpContext(); - _requests[3312].RequestServices = CreateServices(); - _requests[3312].Request.Method = "GET"; - _requests[3312].Request.Path = "/subscriptions/e601dba0-8d78-/resourceGroups/58a4b8a5-11d4-4e8/providers/Microsoft.DocumentDB/databaseAccounts/e9b6c14a-06/region/7503dc/databases/d8a99531-e3/collections/4e8a809f-e913/metrics"; - _requests[3313] = new DefaultHttpContext(); - _requests[3313].RequestServices = CreateServices(); - _requests[3313].Request.Method = "POST"; - _requests[3313].Request.Path = "/subscriptions/67fbaeb4-3ae2-/resourceGroups/3dd62024-0fb9-496/providers/Microsoft.Logic/workflows/cae6df12-a33/runs/e602b73/actions/7a5f2679-1/repetitions/5b390a45-65cd-/listExpressionTraces"; - _requests[3314] = new DefaultHttpContext(); - _requests[3314].RequestServices = CreateServices(); - _requests[3314].Request.Method = "POST"; - _requests[3314].Request.Path = "/Subscriptions/f4437b9f-1af8-/resourceGroups/1e1dab76-5b98-427/providers/Microsoft.RecoveryServices/vaults/0c3a07bf-6c8/replicationFabrics/1084bb37-0/replicationProtectionContainers/0b91d102-a436-4082-8c6a/replicationProtectedItems/984ce354-abdb-4a59-a591-289/applyRecoveryPoint"; - _requests[3315] = new DefaultHttpContext(); - _requests[3315].RequestServices = CreateServices(); - _requests[3315].Request.Method = "POST"; - _requests[3315].Request.Path = "/Subscriptions/44c9d123-c1ed-/resourceGroups/299514f7-d3e3-405/providers/Microsoft.RecoveryServices/vaults/cf0ad826-b81/replicationFabrics/1607bc50-7/replicationProtectionContainers/00162745-7009-406a-b466/replicationProtectedItems/334845a4-bb8c-4dc5-a622-5e7/failoverCommit"; - _requests[3316] = new DefaultHttpContext(); - _requests[3316].RequestServices = CreateServices(); - _requests[3316].Request.Method = "POST"; - _requests[3316].Request.Path = "/Subscriptions/a2aa4e86-f045-/resourceGroups/3b06dcd1-9373-41b/providers/Microsoft.RecoveryServices/vaults/26b230aa-46f/replicationFabrics/19238e14-3/replicationProtectionContainers/b2b819f4-6feb-42f0-9241/replicationProtectedItems/b75aa069-c74d-47fd-b73e-329/plannedFailover"; - _requests[3317] = new DefaultHttpContext(); - _requests[3317].RequestServices = CreateServices(); - _requests[3317].Request.Method = "GET"; - _requests[3317].Request.Path = "/Subscriptions/f4b3a1bf-ec92-/resourceGroups/80039306-3124-41a/providers/Microsoft.RecoveryServices/vaults/17cd76b5-699/replicationFabrics/be6d9dce-a/replicationProtectionContainers/8e1b1d63-9780-47e0-a7d8/replicationProtectedItems/b19b73a1-5b2f-4421-a3fc-a72/recoveryPoints"; - _requests[3318] = new DefaultHttpContext(); - _requests[3318].RequestServices = CreateServices(); - _requests[3318].Request.Method = "POST"; - _requests[3318].Request.Path = "/Subscriptions/7d25e136-4700-/resourceGroups/f83f7ea4-ed46-481/providers/Microsoft.RecoveryServices/vaults/9a998233-368/replicationFabrics/1bb787a9-f/replicationProtectionContainers/e7d50d6f-2b7d-4c67-80a0/replicationProtectedItems/0273cca0-240c-4337-a2c9-473/remove"; - _requests[3319] = new DefaultHttpContext(); - _requests[3319].RequestServices = CreateServices(); - _requests[3319].Request.Method = "POST"; - _requests[3319].Request.Path = "/Subscriptions/1168c4f8-2883-/resourceGroups/68395a89-d223-4ef/providers/Microsoft.RecoveryServices/vaults/734dc0f1-a84/replicationFabrics/5b2ec911-2/replicationProtectionContainers/5d31d8bb-0400-431c-a520/replicationProtectedItems/d163ff99-2740-4630-8951-a63/repairReplication"; - _requests[3320] = new DefaultHttpContext(); - _requests[3320].RequestServices = CreateServices(); - _requests[3320].Request.Method = "POST"; - _requests[3320].Request.Path = "/Subscriptions/b74acef7-e719-/resourceGroups/3c17b9bc-163b-463/providers/Microsoft.RecoveryServices/vaults/fa1edc2a-cba/replicationFabrics/9b451627-0/replicationProtectionContainers/2bfb69fe-6c95-4b4a-8561/replicationProtectedItems/e32b62fe-b864-4ee7-a2a7-92d/reProtect"; - _requests[3321] = new DefaultHttpContext(); - _requests[3321].RequestServices = CreateServices(); - _requests[3321].Request.Method = "GET"; - _requests[3321].Request.Path = "/Subscriptions/09ff3c84-79f8-/resourceGroups/7909bed4-9eb0-47e/providers/Microsoft.RecoveryServices/vaults/2f6297b3-a09/replicationFabrics/b7cf502c-6/replicationProtectionContainers/0ecbc388-1555-4af7-b531/replicationProtectedItems/51eb215e-6ee3-4bc8-8d1b-f2e/targetComputeSizes"; - _requests[3322] = new DefaultHttpContext(); - _requests[3322].RequestServices = CreateServices(); - _requests[3322].Request.Method = "POST"; - _requests[3322].Request.Path = "/Subscriptions/54ccab10-4207-/resourceGroups/794fed85-9c9c-4ab/providers/Microsoft.RecoveryServices/vaults/4c3b8d81-797/replicationFabrics/7d0e01ca-5/replicationProtectionContainers/427babe8-ecf5-4932-a715/replicationProtectedItems/10ecaa92-9a4b-44f7-bfc0-7d8/testFailover"; - _requests[3323] = new DefaultHttpContext(); - _requests[3323].RequestServices = CreateServices(); - _requests[3323].Request.Method = "POST"; - _requests[3323].Request.Path = "/Subscriptions/8aefd5bc-4738-/resourceGroups/496ecc53-288b-443/providers/Microsoft.RecoveryServices/vaults/54b23c0c-ada/replicationFabrics/d4056a87-7/replicationProtectionContainers/236acd74-c035-45ec-a7ae/replicationProtectedItems/70b7265a-868c-4934-b731-48e/testFailoverCleanup"; - _requests[3324] = new DefaultHttpContext(); - _requests[3324].RequestServices = CreateServices(); - _requests[3324].Request.Method = "POST"; - _requests[3324].Request.Path = "/Subscriptions/20b73baf-4352-/resourceGroups/e917b66d-9447-466/providers/Microsoft.RecoveryServices/vaults/fbea88a2-209/replicationFabrics/bbcef4de-3/replicationProtectionContainers/4648c443-f9a1-4298-bb87/replicationProtectedItems/5f1bf33e-5cd0-474e-b052-30b/unplannedFailover"; - _requests[3325] = new DefaultHttpContext(); - _requests[3325].RequestServices = CreateServices(); - _requests[3325].Request.Method = "POST"; - _requests[3325].Request.Path = "/Subscriptions/50c7d952-98e5-/resourceGroups/fb912506-c3c2-4f8/providers/Microsoft.RecoveryServices/vaults/406260ff-300/replicationFabrics/10b2f0d3-4/replicationProtectionContainers/05e846e5-4d75-4e25-9858/replicationProtectedItems/7c454545-641f-4ee4-9912-8ab2/updateMobilityService"; - _requests[3326] = new DefaultHttpContext(); - _requests[3326].RequestServices = CreateServices(); - _requests[3326].Request.Method = "POST"; - _requests[3326].Request.Path = "/Subscriptions/ec26c501-8bfe-/resourceGroups/1ca64684-afdb-48c/providers/Microsoft.RecoveryServices/vaults/ae6c0dc7-b76/replicationFabrics/c1ad6574-8/replicationProtectionContainers/347629b8-236d-4ed5-bf9c/replicationProtectionContainerMappings/80b828e9-7f/remove"; - _requests[3327] = new DefaultHttpContext(); - _requests[3327].RequestServices = CreateServices(); - _requests[3327].Request.Method = "POST"; - _requests[3327].Request.Path = "/Subscriptions/79239821-f471-/resourceGroups/e9c8528b-5c27-464/providers/Microsoft.RecoveryServices/vaults/d9cd73f7-/backupFabrics/03f6ddda-f/protectionContainers/c7b20206-e270/protectedItems/1705ba7e-616d-405/backup"; - _requests[3328] = new DefaultHttpContext(); - _requests[3328].RequestServices = CreateServices(); - _requests[3328].Request.Method = "GET"; - _requests[3328].Request.Path = "/Subscriptions/d350ebea-c14a-/resourceGroups/1df9eb7d-6464-412/providers/Microsoft.RecoveryServices/vaults/cfecd5dc-/backupFabrics/962899ef-b/protectionContainers/2b12bd65-9a35/protectedItems/0a59032f-e8bc-4ab/recoveryPoints"; - _requests[3329] = new DefaultHttpContext(); - _requests[3329].RequestServices = CreateServices(); - _requests[3329].Request.Method = "POST"; - _requests[3329].Request.Path = "/subscriptions/0387c309-e324-/resourceGroups/a4bed76f-5747-401/providers/Microsoft.Sql/servers/20d462e1-8/databases/c4f356c9-a3e/syncGroups/4492f9e6-7643/syncMembers/ea288412-a084-/refreshSchema"; - _requests[3330] = new DefaultHttpContext(); - _requests[3330].RequestServices = CreateServices(); - _requests[3330].Request.Method = "GET"; - _requests[3330].Request.Path = "/subscriptions/c36ea357-127a-/resourceGroups/e1f0954e-4741-440/providers/Microsoft.Sql/servers/f523a608-b/databases/b6208672-2fa/syncGroups/d7940877-3904/syncMembers/5227df95-4324-/schemas"; - _requests[3331] = new DefaultHttpContext(); - _requests[3331].RequestServices = CreateServices(); - _requests[3331].Request.Method = "POST"; - _requests[3331].Request.Path = "/subscriptions/65612d78-cc72-/resourceGroups/8c84464d-27b6-4d0/providers/Microsoft.Sql/servers/ac4014ed-c/databases/9e8bb8f9-0ba/vulnerabilityAssessments/fb25dea2-6be1-4dfe-9073-b13/scans/572fff/export"; - _requests[3332] = new DefaultHttpContext(); - _requests[3332].RequestServices = CreateServices(); - _requests[3332].Request.Method = "POST"; - _requests[3332].Request.Path = "/subscriptions/21f6d6f7-bed4-/resourceGroups/6098d1e9-b78e-4f4/providers/Microsoft.Sql/servers/9b38b4ca-8/databases/ae365826-0f0/vulnerabilityAssessments/5802d0f7-71b4-470d-833c-3f1/scans/a242b1/initiateScan"; - _requests[3333] = new DefaultHttpContext(); - _requests[3333].RequestServices = CreateServices(); - _requests[3333].Request.Method = "POST"; - _requests[3333].Request.Path = "/subscriptions/fa554164-0886-/resourceGroups/180dff8e-df29-438/providers/Microsoft.Sql/servers/9f07fad8-7/jobAgents/34f36d07-229/jobs/76d3100/executions/3873a46e-ebe6-/cancel"; - _requests[3334] = new DefaultHttpContext(); - _requests[3334].RequestServices = CreateServices(); - _requests[3334].Request.Method = "GET"; - _requests[3334].Request.Path = "/subscriptions/30da1538-e8e8-/resourceGroups/849d07e7-caee-4d9/providers/Microsoft.Sql/servers/51b5ef34-2/jobAgents/ee619707-d4c/jobs/4206801/executions/d7e71646-c316-/steps"; - _requests[3335] = new DefaultHttpContext(); - _requests[3335].RequestServices = CreateServices(); - _requests[3335].Request.Method = "GET"; - _requests[3335].Request.Path = "/subscriptions/2093149a-5611-/resourceGroups/d66ec9b6-9833-4d0/providers/Microsoft.Sql/servers/d8bbfe52-1/jobAgents/8c0f7df8-856/jobs/1f56a59/executions/5a7fe312-ea49-/targets"; - _requests[3336] = new DefaultHttpContext(); - _requests[3336].RequestServices = CreateServices(); - _requests[3336].Request.Method = "GET"; - _requests[3336].Request.Path = "/subscriptions/8b7658f5-d6d6-/resourceGroups/cea9eb0f-33c7-493/providers/Microsoft.Sql/servers/dd078d3b-e/jobAgents/780dadec-a03/jobs/d288b9c/versions/e12bf2aa-f/steps"; - _requests[3337] = new DefaultHttpContext(); - _requests[3337].RequestServices = CreateServices(); - _requests[3337].Request.Method = "POST"; - _requests[3337].Request.Path = "/subscriptions/a0aff11b-71c3-/resourceGroups/a1434846-a9c9-4e0/providers/Microsoft.StorSimple/managers/7ba09545-c2/devices/7763b448-4/backups/aa949ecd-b/elements/2ffc06e1-e6e6-451/clone"; - _requests[3338] = new DefaultHttpContext(); - _requests[3338].RequestServices = CreateServices(); - _requests[3338].Request.Method = "GET"; - _requests[3338].Request.Path = "/subscriptions/2e1285b8-6205-/resourceGroups/b3c4d752-07bc-4a8/providers/Microsoft.StorSimple/managers/2d720a29-9b/devices/021aff1b-7/volumeContainers/36a6bc90-f8d6-4867-/volumes/378005bb-6/metrics"; - _requests[3339] = new DefaultHttpContext(); - _requests[3339].RequestServices = CreateServices(); - _requests[3339].Request.Method = "GET"; - _requests[3339].Request.Path = "/subscriptions/c07d2fe6-335b-/resourceGroups/cd8b4db5-8467-4e0/providers/Microsoft.StorSimple/managers/994a320c-f4/devices/75fe40c5-2/volumeContainers/76d2dec6-8d60-4a9d-/volumes/f0ada419-b/metricsDefinitions"; - _requests[3340] = new DefaultHttpContext(); - _requests[3340].RequestServices = CreateServices(); - _requests[3340].Request.Method = "POST"; - _requests[3340].Request.Path = "/subscriptions/e87fe54a-992b-/resourceGroups/d57e8546-5ce5-4e9/providers/Microsoft.Web/sites/5e5ea/slots/27fb2/hybridConnectionNamespaces/26a9420d-fe5f/relays/3394922e-/listKeys"; - _requests[3341] = new DefaultHttpContext(); - _requests[3341].RequestServices = CreateServices(); - _requests[3341].Request.Method = "GET"; - _requests[3341].Request.Path = "/subscriptions/6a2ad59a-f0f8-/resourceGroups/c0026c88-fc99-493/providers/Microsoft.Web/sites/df82b/slots/ff543/instances/592e551b-d/processes/563e8541-/dump"; - _requests[3342] = new DefaultHttpContext(); - _requests[3342].RequestServices = CreateServices(); - _requests[3342].Request.Method = "GET"; - _requests[3342].Request.Path = "/subscriptions/a475d82b-90a5-/resourceGroups/b8294c64-4196-45c/providers/Microsoft.Web/sites/4b11d/slots/c3a1a/instances/206acb99-b/processes/63578249-/modules"; - _requests[3343] = new DefaultHttpContext(); - _requests[3343].RequestServices = CreateServices(); - _requests[3343].Request.Method = "GET"; - _requests[3343].Request.Path = "/subscriptions/77b9da39-0072-/resourceGroups/0c185702-9070-407/providers/Microsoft.Web/sites/07eb1/slots/73ea7/instances/e9e3d49d-4/processes/43c50822-/threads"; - _requests[3344] = new DefaultHttpContext(); - _requests[3344].RequestServices = CreateServices(); - _requests[3344].Request.Method = "POST"; - _requests[3344].Request.Path = "/subscriptions/09610d32-5b63-/resourceGroups/51cc44cb-17b5-457/providers/Microsoft.Web/sites/03a8d13f/slots/ca034/diagnostics/0f1ed38d-88e8-49e1/analyses/49846bc0-c64/execute"; - _requests[3345] = new DefaultHttpContext(); - _requests[3345].RequestServices = CreateServices(); - _requests[3345].Request.Method = "POST"; - _requests[3345].Request.Path = "/subscriptions/a11b6724-2b53-/resourceGroups/3dac4894-4065-431/providers/Microsoft.Web/sites/73cf6653/slots/e3363/diagnostics/a146f66c-827e-456d/detectors/29a09b68-e7d/execute"; - _requests[3346] = new DefaultHttpContext(); - _requests[3346].RequestServices = CreateServices(); - _requests[3346].Request.Method = "GET"; - _requests[3346].Request.Path = "/subscriptions/83f9e57f-728f-/resourceGroups/a45a242d-3f27-4d4/providers/Microsoft.DocumentDB/databaseAccounts/58e67e8d-42/region/fe5a5e/databases/019cad52-20/collections/2d5dbc83-d869/partitions/metrics"; - _requests[3347] = new DefaultHttpContext(); - _requests[3347].RequestServices = CreateServices(); - _requests[3347].Request.Method = "GET"; - _requests[3347].Request.Path = "/subscriptions/89703c2b-9084-/resourceGroups/b1f2484b-54c6-421/providers/Microsoft.Compute/virtualMachineScaleSets/e0fb629d-95cf-4d92-b042-20/virtualMachines/3530ca09-8360-4aa9-/networkInterfaces/86879691-b70e-40ca-9/ipconfigurations/19b46d02-e404-4595-/publicipaddresses/39eab1ae-93ad-487a-"; - _requests[3348] = new DefaultHttpContext(); - _requests[3348].RequestServices = CreateServices(); - _requests[3348].Request.Method = "GET"; - _requests[3348].Request.Path = "/Subscriptions/10f4019e-0f99-/resourceGroups/2070ada2-9121-44b/providers/Microsoft.RecoveryServices/vaults/952efc2c-108/replicationFabrics/96f5fe05-8/replicationProtectionContainers/b3162673-24ea-430a-a5d0/replicationProtectedItems/50283ac7-a1ff-42c1-9891-6c4/recoveryPoints/5a815704-55d9-4d0"; - _requests[3349] = new DefaultHttpContext(); - _requests[3349].RequestServices = CreateServices(); - _requests[3349].Request.Method = "GET"; - _requests[3349].Request.Path = "/Subscriptions/fcffe3b8-8c6c-/resourceGroups/e04910c3-eb7c-424/providers/Microsoft.RecoveryServices/vaults/3c1810ef-/backupFabrics/5484b342-5/protectionContainers/58015482-26d3/protectedItems/68434c34-c3ef-49d/operationResults/bd77a203-72"; - _requests[3350] = new DefaultHttpContext(); - _requests[3350].RequestServices = CreateServices(); - _requests[3350].Request.Method = "GET"; - _requests[3350].Request.Path = "/Subscriptions/eae38ea8-8149-/resourceGroups/dab26b6a-a69c-40e/providers/Microsoft.RecoveryServices/vaults/12b839d5-/backupFabrics/95724839-3/protectionContainers/3862234f-bcd7/protectedItems/aea1f9fe-d581-49b/operationsStatus/44bddabb-37"; - _requests[3351] = new DefaultHttpContext(); - _requests[3351].RequestServices = CreateServices(); - _requests[3351].Request.Method = "GET"; - _requests[3351].Request.Path = "/Subscriptions/afb90108-93a7-/resourceGroups/d0e2f3eb-3e08-40e/providers/Microsoft.RecoveryServices/vaults/334660c9-/backupFabrics/c7e5e626-b/protectionContainers/afbaedd2-4e2d/protectedItems/4c9a32c8-82be-47d/recoveryPoints/bee86c8e-5414-4"; - _requests[3352] = new DefaultHttpContext(); - _requests[3352].RequestServices = CreateServices(); - _requests[3352].Request.Method = "DELETE"; - _requests[3352].Request.Path = "/subscriptions/3b8e08d3-954a-/resourceGroups/43eebb41-640b-4d6/providers/Microsoft.Sql/servers/e31bf5ca-b/databases/03048e25-1fe/vulnerabilityAssessments/96b20ebb-ba01-4d4b-b757-629/rules/8c0b98/baselines/d11c3d34-314"; - _requests[3353] = new DefaultHttpContext(); - _requests[3353].RequestServices = CreateServices(); - _requests[3353].Request.Method = "GET"; - _requests[3353].Request.Path = "/subscriptions/f953eb45-80e7-/resourceGroups/7c4094d6-1187-435/providers/Microsoft.Sql/servers/49fc4cca-3/jobAgents/1826dc1d-4c1/jobs/cef14da/executions/ae3312ca-8ea6-/steps/678234bc"; - _requests[3354] = new DefaultHttpContext(); - _requests[3354].RequestServices = CreateServices(); - _requests[3354].Request.Method = "GET"; - _requests[3354].Request.Path = "/subscriptions/68002e64-1172-/resourceGroups/62cd2cc6-9a8c-4ff/providers/Microsoft.Sql/servers/8c51f255-4/jobAgents/63845d8e-860/jobs/28b6c49/versions/8587c87b-0/steps/3ed07b68"; - _requests[3355] = new DefaultHttpContext(); - _requests[3355].RequestServices = CreateServices(); - _requests[3355].Request.Method = "GET"; - _requests[3355].Request.Path = "/subscriptions/ed36a7d8-0f47-/resourceGroups/391c0264-f377-46c/providers/Microsoft.Web/sites/e709b/slots/9ad03/instances/4968e96d-0/processes/e8e63d1e-/modules/d9297efe-29"; - _requests[3356] = new DefaultHttpContext(); - _requests[3356].RequestServices = CreateServices(); - _requests[3356].Request.Method = "GET"; - _requests[3356].Request.Path = "/subscriptions/a8f1a267-91c0-/resourceGroups/0e729b57-d441-488/providers/Microsoft.Web/sites/d22a7/slots/c9eb0/instances/03e9e78e-1/processes/26fd1003-/threads/06eb96c1"; - _requests[3357] = new DefaultHttpContext(); - _requests[3357].RequestServices = CreateServices(); - _requests[3357].Request.Method = "GET"; - _requests[3357].Request.Path = "/subscriptions/1ba28092-3346-/resourceGroups/ab434a79-f606-41d/providers/Microsoft.DocumentDB/databaseAccounts/e0ff4f87-2c/region/7c2510/databases/99c5c92c-5c/collections/ffa1a61c-ec55/partitionKeyRangeId/b2e7a5bd-6eaf-4665-/metrics"; - _requests[3358] = new DefaultHttpContext(); - _requests[3358].RequestServices = CreateServices(); - _requests[3358].Request.Method = "POST"; - _requests[3358].Request.Path = "/Subscriptions/3b385596-3ea8-/resourceGroups/5128b3d6-09e4-410/providers/Microsoft.RecoveryServices/vaults/eb3d6fea-/backupFabrics/26ebf1fb-1/protectionContainers/2c18d577-d37a/protectedItems/9c8d0a66-0559-4fc/recoveryPoints/bd5c2b39-963f-4/provisionInstantItemRecovery"; - _requests[3359] = new DefaultHttpContext(); - _requests[3359].RequestServices = CreateServices(); - _requests[3359].Request.Method = "POST"; - _requests[3359].Request.Path = "/Subscriptions/7500a143-b4d5-/resourceGroups/3a57b155-778e-40c/providers/Microsoft.RecoveryServices/vaults/bd604402-/backupFabrics/4b3ca6bb-0/protectionContainers/04a70e63-4548/protectedItems/c1201388-5aec-41a/recoveryPoints/25f12862-8223-4/restore"; - _requests[3360] = new DefaultHttpContext(); - _requests[3360].RequestServices = CreateServices(); - _requests[3360].Request.Method = "POST"; - _requests[3360].Request.Path = "/Subscriptions/f76a4f9c-3311-/resourceGroups/7dbfdff1-32ab-47c/providers/Microsoft.RecoveryServices/vaults/ba1ad6ed-/backupFabrics/d3b6b7a8-9/protectionContainers/53deb142-e03b/protectedItems/a2f65632-05d7-4c2/recoveryPoints/ea8a4fd8-eb78-4/revokeInstantItemRecovery"; - _requests[3361] = new DefaultHttpContext(); - _requests[3361].RequestServices = CreateServices(); - _requests[3361].Request.Method = "GET"; - _requests[3361].Request.Path = "/subscriptions/b7a101b4-106c-/resourceGroups/305cb8e8-f19a-4a0/providers/Microsoft.Sql/servers/1563e30e-4/jobAgents/86e0bd85-d75/jobs/0870c68/executions/ab7fedf4-6fe7-/steps/f3da8d7f/targets"; - _requests[3362] = new DefaultHttpContext(); - _requests[3362].RequestServices = CreateServices(); - _requests[3362].Request.Method = "GET"; - _requests[3362].Request.Path = "/subscriptions/24e8e8b4-9456-/resourceGroups/7c9dcae8-e666-400/providers/Microsoft.Sql/servers/4962edb4-f/jobAgents/350c51cb-22f/jobs/edbe163/executions/2af7c3fb-261e-/steps/cb0e0a68/targets/5711eb1d"; - _requests[3363] = new DefaultHttpContext(); - _requests[3363].RequestServices = CreateServices(); - _requests[3363].Request.Method = "PATCH"; - _requests[3363].Request.Path = "/subscriptions/21d9d400-5eb7-/resourceGroups/265adefe-3b4f-4e4/providers/Microsoft.ApiManagement/service/ff3f1a0b-ca/quotas/103a08aa-e369-4/b0efe65e-e15c-"; - _requests[3364] = new DefaultHttpContext(); - _requests[3364].RequestServices = CreateServices(); - _requests[3364].Request.Method = "POST"; - _requests[3364].Request.Path = "/subscriptions/a8cbd9fe-5d02-/resourceGroups/060083ed-d2ad-4bd/providers/Microsoft.Security/locations/f37d0189-ea/alerts/2804ac06-/766fbc46-5183-4b55-af"; - _requests[3365] = new DefaultHttpContext(); - _requests[3365].RequestServices = CreateServices(); - _requests[3365].Request.Method = "POST"; - _requests[3365].Request.Path = "/subscriptions/59833094-3fcc-/resourceGroups/15e3dfa5-a237-4e7/providers/Microsoft.Security/locations/e9ff2f85-f6/jitNetworkAccessPolicies/9a22419c-4314-477f-a92a-44/b619a0fe-0779-467c-aef0-7050c1aa"; - _requests[3366] = new DefaultHttpContext(); - _requests[3366].RequestServices = CreateServices(); - _requests[3366].Request.Method = "POST"; - _requests[3366].Request.Path = "/subscriptions/094908a0-ade8-/resourceGroups/34785a2d-ee85-420/providers/Microsoft.Security/locations/bd1e43e8-49/tasks/46d74b02/a5ab2ab3-0073-44da-9"; - _requests[3367] = new DefaultHttpContext(); - _requests[3367].RequestServices = CreateServices(); - _requests[3367].Request.Method = "GET"; - _requests[3367].Request.Path = "/subscriptions/ca78ff97-e2ad-/resourceGroups/3a697383-3f18-477/providers/microsoft.insights/components/56a0e360-4f2/63057615-"; - _requests[3368] = new DefaultHttpContext(); - _requests[3368].RequestServices = CreateServices(); - _requests[3368].Request.Method = "GET"; - _requests[3368].Request.Path = "/subscriptions/bee2385f-de5f-/resourceGroups/efe1e7b7-62ac-49c/providers/Microsoft.Network/dnsZones/10be54ef/9b025ac9-c"; - _requests[3369] = new DefaultHttpContext(); - _requests[3369].RequestServices = CreateServices(); - _requests[3369].Request.Method = "DELETE"; - _requests[3369].Request.Path = "/subscriptions/5ee97344-ef05-/resourceGroups/3a7c6b3d-1152-46e/providers/microsoft.insights/components/54b1c6c3-8b8/2af0bfea-/item"; - _requests[3370] = new DefaultHttpContext(); - _requests[3370].RequestServices = CreateServices(); - _requests[3370].Request.Method = "GET"; - _requests[3370].Request.Path = "/subscriptions/d641db12-2b56-/resourceGroups/bdbdfb60-1f98-465/providers/Microsoft.Network/dnsZones/5c5aa3f7/911b01b8-c/ac1f3b63-1c78-4e27-ac"; - _requests[3371] = new DefaultHttpContext(); - _requests[3371].RequestServices = CreateServices(); - _requests[3371].Request.Method = "DELETE"; - _requests[3371].Request.Path = "/subscriptions/5f8fdc6d-8304-/resourceGroups/89e271a9-1b99-47e/providers/Microsoft.Network/trafficmanagerprofiles/ac358470-b3/5d0ebcc3-e30/03ab7a58-e6b"; - _requests[3372] = new DefaultHttpContext(); - _requests[3372].RequestServices = CreateServices(); - _requests[3372].Request.Method = "DELETE"; - _requests[3372].Request.Path = "/apis/4d35b/operations/c2dee1f0-b9/policies/7f9604af"; - _requests[3373] = new DefaultHttpContext(); - _requests[3373].RequestServices = CreateServices(); - _requests[3373].Request.Method = "DELETE"; - _requests[3373].Request.Path = "/apps/d3693/versions/9f43faaf-/closedlists/085e2998-4"; - _requests[3374] = new DefaultHttpContext(); - _requests[3374].RequestServices = CreateServices(); - _requests[3374].Request.Method = "DELETE"; - _requests[3374].Request.Path = "/apps/bf328/versions/c0af449e-/compositeentities/ffadd711-"; - _requests[3375] = new DefaultHttpContext(); - _requests[3375].RequestServices = CreateServices(); - _requests[3375].Request.Method = "DELETE"; - _requests[3375].Request.Path = "/apps/857d2/versions/830f7471-/customprebuiltdomains/784b84a5-8"; - _requests[3376] = new DefaultHttpContext(); - _requests[3376].RequestServices = CreateServices(); - _requests[3376].Request.Method = "DELETE"; - _requests[3376].Request.Path = "/apps/c434a/versions/0d9ae1b4-/entities/e66be5c6"; - _requests[3377] = new DefaultHttpContext(); - _requests[3377].RequestServices = CreateServices(); - _requests[3377].Request.Method = "DELETE"; - _requests[3377].Request.Path = "/apps/c26b1/versions/873285d9-/examples/712813c7-"; - _requests[3378] = new DefaultHttpContext(); - _requests[3378].RequestServices = CreateServices(); - _requests[3378].Request.Method = "DELETE"; - _requests[3378].Request.Path = "/apps/586f7/versions/fd327d6f-/hierarchicalentities/fb81f323-"; - _requests[3379] = new DefaultHttpContext(); - _requests[3379].RequestServices = CreateServices(); - _requests[3379].Request.Method = "DELETE"; - _requests[3379].Request.Path = "/apps/24ac3/versions/10da2bdf-/intents/205bd0c5"; - _requests[3380] = new DefaultHttpContext(); - _requests[3380].RequestServices = CreateServices(); - _requests[3380].Request.Method = "DELETE"; - _requests[3380].Request.Path = "/apps/f2190/versions/19e08aae-/patternanyentities/5a7129ad"; - _requests[3381] = new DefaultHttpContext(); - _requests[3381].RequestServices = CreateServices(); - _requests[3381].Request.Method = "DELETE"; - _requests[3381].Request.Path = "/apps/56715/versions/fbef6bd3-/patternrules/87b483fa-"; - _requests[3382] = new DefaultHttpContext(); - _requests[3382].RequestServices = CreateServices(); - _requests[3382].Request.Method = "DELETE"; - _requests[3382].Request.Path = "/apps/c7377/versions/50afb2c7-/patterns/6ed05835-"; - _requests[3383] = new DefaultHttpContext(); - _requests[3383].RequestServices = CreateServices(); - _requests[3383].Request.Method = "DELETE"; - _requests[3383].Request.Path = "/apps/6ab5e/versions/1584397b-/phraselists/60558de4-7e6"; - _requests[3384] = new DefaultHttpContext(); - _requests[3384].RequestServices = CreateServices(); - _requests[3384].Request.Method = "DELETE"; - _requests[3384].Request.Path = "/apps/a8312/versions/f58f6a3b-/prebuilts/332a1cea-a"; - _requests[3385] = new DefaultHttpContext(); - _requests[3385].RequestServices = CreateServices(); - _requests[3385].Request.Method = "DELETE"; - _requests[3385].Request.Path = "/apps/3f2ea/versions/000b5eaf-/regexentities/9ca96f68-7b8c"; - _requests[3386] = new DefaultHttpContext(); - _requests[3386].RequestServices = CreateServices(); - _requests[3386].Request.Method = "HEAD"; - _requests[3386].Request.Path = "/jobs/0a7f6/tasks/c65388/files/6400f9b6"; - _requests[3387] = new DefaultHttpContext(); - _requests[3387].RequestServices = CreateServices(); - _requests[3387].Request.Method = "PATCH"; - _requests[3387].Request.Path = "/persongroups/1e3f30e2-f640/persons/acf60416/persistedFaces/e92698f9-c416-4"; - _requests[3388] = new DefaultHttpContext(); - _requests[3388].RequestServices = CreateServices(); - _requests[3388].Request.Method = "HEAD"; - _requests[3388].Request.Path = "/pools/fa7888/nodes/4b0b7a/files/99c0c906"; - _requests[3389] = new DefaultHttpContext(); - _requests[3389].RequestServices = CreateServices(); - _requests[3389].Request.Method = "PUT"; - _requests[3389].Request.Path = "/pools/3135bd/nodes/190a35/users/ed7133df"; - _requests[3390] = new DefaultHttpContext(); - _requests[3390].RequestServices = CreateServices(); - _requests[3390].Request.Method = "PUT"; - _requests[3390].Request.Path = "/subscriptions/afc275a5-57d7-/tagNames/622610b/tagValues/fc1537ce"; - _requests[3391] = new DefaultHttpContext(); - _requests[3391].RequestServices = CreateServices(); - _requests[3391].Request.Method = "POST"; - _requests[3391].Request.Path = "/apps/630c1/versions/4e7ca368-/closedlists/ac210979-d/sublists"; - _requests[3392] = new DefaultHttpContext(); - _requests[3392].RequestServices = CreateServices(); - _requests[3392].Request.Method = "POST"; - _requests[3392].Request.Path = "/apps/bd201/versions/510fd6e0-/closedlists/1a21d27c/roles"; - _requests[3393] = new DefaultHttpContext(); - _requests[3393].RequestServices = CreateServices(); - _requests[3393].Request.Method = "POST"; - _requests[3393].Request.Path = "/apps/88023/versions/5e2dd292-/compositeentities/b382467a-/children"; - _requests[3394] = new DefaultHttpContext(); - _requests[3394].RequestServices = CreateServices(); - _requests[3394].Request.Method = "POST"; - _requests[3394].Request.Path = "/apps/4c936/versions/4fd50486-/compositeentities/7eeeba5a-/roles"; - _requests[3395] = new DefaultHttpContext(); - _requests[3395].RequestServices = CreateServices(); - _requests[3395].Request.Method = "POST"; - _requests[3395].Request.Path = "/apps/2f260/versions/e09f3a8d-/customprebuiltentities/dc3c3082/roles"; - _requests[3396] = new DefaultHttpContext(); - _requests[3396].RequestServices = CreateServices(); - _requests[3396].Request.Method = "POST"; - _requests[3396].Request.Path = "/apps/98ea3/versions/31ace458-/entities/601633fa/roles"; - _requests[3397] = new DefaultHttpContext(); - _requests[3397].RequestServices = CreateServices(); - _requests[3397].Request.Method = "GET"; - _requests[3397].Request.Path = "/apps/d2ac5/versions/10a67109-/entities/f5a8855b/suggest"; - _requests[3398] = new DefaultHttpContext(); - _requests[3398].RequestServices = CreateServices(); - _requests[3398].Request.Method = "POST"; - _requests[3398].Request.Path = "/apps/b403c/versions/b917b4a6-/hierarchicalentities/68c6995c-/children"; - _requests[3399] = new DefaultHttpContext(); - _requests[3399].RequestServices = CreateServices(); - _requests[3399].Request.Method = "POST"; - _requests[3399].Request.Path = "/apps/6a24a/versions/6aced2a5-/hierarchicalentities/124adbbc-/roles"; - _requests[3400] = new DefaultHttpContext(); - _requests[3400].RequestServices = CreateServices(); - _requests[3400].Request.Method = "GET"; - _requests[3400].Request.Path = "/apps/bb884/versions/fbc7cda3-/intents/f1bcb1c9/patternrules"; - _requests[3401] = new DefaultHttpContext(); - _requests[3401].RequestServices = CreateServices(); - _requests[3401].Request.Method = "GET"; - _requests[3401].Request.Path = "/apps/94c77/versions/1b67dd10-/intents/7014e75c/suggest"; - _requests[3402] = new DefaultHttpContext(); - _requests[3402].RequestServices = CreateServices(); - _requests[3402].Request.Method = "GET"; - _requests[3402].Request.Path = "/apps/bdd4f/versions/d02eb849-/models/fe51bca/examples"; - _requests[3403] = new DefaultHttpContext(); - _requests[3403].RequestServices = CreateServices(); - _requests[3403].Request.Method = "POST"; - _requests[3403].Request.Path = "/apps/3767e/versions/0e05d672-/patternanyentities/80579903/explicitlist"; - _requests[3404] = new DefaultHttpContext(); - _requests[3404].RequestServices = CreateServices(); - _requests[3404].Request.Method = "POST"; - _requests[3404].Request.Path = "/apps/5ee91/versions/05df7bf8-/patternanyentities/942827fc/roles"; - _requests[3405] = new DefaultHttpContext(); - _requests[3405].RequestServices = CreateServices(); - _requests[3405].Request.Method = "POST"; - _requests[3405].Request.Path = "/apps/47ebe/versions/8673e4cf-/prebuilts/2cd4f13a/roles"; - _requests[3406] = new DefaultHttpContext(); - _requests[3406].RequestServices = CreateServices(); - _requests[3406].Request.Method = "POST"; - _requests[3406].Request.Path = "/apps/37c70/versions/ca5a8efe-/regexentities/27bdeb1e/roles"; - _requests[3407] = new DefaultHttpContext(); - _requests[3407].RequestServices = CreateServices(); - _requests[3407].Request.Method = "GET"; - _requests[3407].Request.Path = "/subscriptions/7259ebd1-3746-/resourcegroups/13430ca8-57d0-47c/deployments/421256df-1aa9-/operations"; - _requests[3408] = new DefaultHttpContext(); - _requests[3408].RequestServices = CreateServices(); - _requests[3408].Request.Method = "POST"; - _requests[3408].Request.Path = "/subscriptions/b844d95b-74dc-/providers/838157da-7333-44d3-9db/policyAssignments/ed0897a2-c020-4599-b/providers/Microsoft.PolicyInsights/policyEvents/e3051d3b-f236-418d-8/queryResults"; - _requests[3409] = new DefaultHttpContext(); - _requests[3409].RequestServices = CreateServices(); - _requests[3409].Request.Method = "POST"; - _requests[3409].Request.Path = "/subscriptions/fd0f3cc0-3c9d-/providers/5a91b97f-9efa-44d6-ac0/policyAssignments/10a3c3f3-7288-4ca0-9/providers/Microsoft.PolicyInsights/policyStates/387fdd4b-7110-4c97-a/queryResults"; - _requests[3410] = new DefaultHttpContext(); - _requests[3410].RequestServices = CreateServices(); - _requests[3410].Request.Method = "POST"; - _requests[3410].Request.Path = "/subscriptions/4e5552dd-0aee-/providers/d33cc9b3-a7c6-4258-841/policyAssignments/df317e64-239f-4636-8/providers/Microsoft.PolicyInsights/policyStates/9e6b9cea-f2db-45a7-af8d-091/summarize"; - _requests[3411] = new DefaultHttpContext(); - _requests[3411].RequestServices = CreateServices(); - _requests[3411].Request.Method = "POST"; - _requests[3411].Request.Path = "/subscriptions/84d938b6-cdc1-/providers/f9b44198-c535-411e-837/policyDefinitions/50665ad7-6440-4a26-a/providers/Microsoft.PolicyInsights/policyEvents/5533de8c-3e1c-418b-9/queryResults"; - _requests[3412] = new DefaultHttpContext(); - _requests[3412].RequestServices = CreateServices(); - _requests[3412].Request.Method = "POST"; - _requests[3412].Request.Path = "/subscriptions/fb4f0fc9-9697-/providers/dfd28320-ec7f-4c22-b8e/policyDefinitions/fcd39a7d-ed60-49e3-9/providers/Microsoft.PolicyInsights/policyStates/874f4ca5-0750-4bb0-b/queryResults"; - _requests[3413] = new DefaultHttpContext(); - _requests[3413].RequestServices = CreateServices(); - _requests[3413].Request.Method = "POST"; - _requests[3413].Request.Path = "/subscriptions/b8683f31-c620-/providers/306188e6-90c8-4ed5-839/policyDefinitions/f63d9b51-6d54-4b56-a/providers/Microsoft.PolicyInsights/policyStates/8c378b02-3cc3-4407-a7a2-db8/summarize"; - _requests[3414] = new DefaultHttpContext(); - _requests[3414].RequestServices = CreateServices(); - _requests[3414].Request.Method = "POST"; - _requests[3414].Request.Path = "/subscriptions/50456f52-d3ea-/providers/c2aba201-c693-43ca-ab6/policySetDefinitions/bcd2155f-83fc-48dc-a887/providers/Microsoft.PolicyInsights/policyEvents/43ff0f56-8fbf-4e00-9/queryResults"; - _requests[3415] = new DefaultHttpContext(); - _requests[3415].RequestServices = CreateServices(); - _requests[3415].Request.Method = "POST"; - _requests[3415].Request.Path = "/subscriptions/c734ded9-1a7d-/providers/6aa5f295-90ba-4f92-91a/policySetDefinitions/9a176a2a-c1cc-4804-bd85/providers/Microsoft.PolicyInsights/policyStates/6cd756ea-133f-4b04-b/queryResults"; - _requests[3416] = new DefaultHttpContext(); - _requests[3416].RequestServices = CreateServices(); - _requests[3416].Request.Method = "POST"; - _requests[3416].Request.Path = "/subscriptions/5619c476-3b50-/providers/c5ecfecf-6578-475c-90a/policySetDefinitions/e3ed3a4f-ddc4-4d0f-a698/providers/Microsoft.PolicyInsights/policyStates/8ee9fdd3-e8fa-4dd6-bf73-d9a/summarize"; - _requests[3417] = new DefaultHttpContext(); - _requests[3417].RequestServices = CreateServices(); - _requests[3417].Request.Method = "PUT"; - _requests[3417].Request.Path = "/apps/a3137/versions/29168240-/closedlists/0dd9e001-5/sublists/0b899be2-"; - _requests[3418] = new DefaultHttpContext(); - _requests[3418].RequestServices = CreateServices(); - _requests[3418].Request.Method = "DELETE"; - _requests[3418].Request.Path = "/apps/dd170/versions/7411785b-/closedlists/9ba38295/roles/322c67"; - _requests[3419] = new DefaultHttpContext(); - _requests[3419].RequestServices = CreateServices(); - _requests[3419].Request.Method = "DELETE"; - _requests[3419].Request.Path = "/apps/9cd96/versions/061bead6-/compositeentities/d5380e23-/children/f31677e1"; - _requests[3420] = new DefaultHttpContext(); - _requests[3420].RequestServices = CreateServices(); - _requests[3420].Request.Method = "DELETE"; - _requests[3420].Request.Path = "/apps/48a34/versions/83530774-/compositeentities/ea07ba9e-/roles/6d51cc"; - _requests[3421] = new DefaultHttpContext(); - _requests[3421].RequestServices = CreateServices(); - _requests[3421].Request.Method = "DELETE"; - _requests[3421].Request.Path = "/apps/36ec9/versions/aca7eaa9-/customprebuiltentities/6bcb32ac/roles/5de2d8"; - _requests[3422] = new DefaultHttpContext(); - _requests[3422].RequestServices = CreateServices(); - _requests[3422].Request.Method = "DELETE"; - _requests[3422].Request.Path = "/apps/d542f/versions/54d6dbc8-/entities/8c449a88/roles/af217f"; - _requests[3423] = new DefaultHttpContext(); - _requests[3423].RequestServices = CreateServices(); - _requests[3423].Request.Method = "DELETE"; - _requests[3423].Request.Path = "/apps/96253/versions/1f5399bb-/hierarchicalentities/ffa7382d-/children/6b7cff75"; - _requests[3424] = new DefaultHttpContext(); - _requests[3424].RequestServices = CreateServices(); - _requests[3424].Request.Method = "DELETE"; - _requests[3424].Request.Path = "/apps/bdb67/versions/c805b596-/hierarchicalentities/c450ed73-/roles/3c4623"; - _requests[3425] = new DefaultHttpContext(); - _requests[3425].RequestServices = CreateServices(); - _requests[3425].Request.Method = "DELETE"; - _requests[3425].Request.Path = "/apps/437a5/versions/ad44341d-/patternanyentities/258f3feb/explicitlist/d9f51b"; - _requests[3426] = new DefaultHttpContext(); - _requests[3426].RequestServices = CreateServices(); - _requests[3426].Request.Method = "DELETE"; - _requests[3426].Request.Path = "/apps/7e293/versions/a8d28ab6-/patternanyentities/838a8099/roles/95a55f"; - _requests[3427] = new DefaultHttpContext(); - _requests[3427].RequestServices = CreateServices(); - _requests[3427].Request.Method = "DELETE"; - _requests[3427].Request.Path = "/apps/1293c/versions/ae22fdf0-/prebuilts/d76f5f3c/roles/aaf517"; - _requests[3428] = new DefaultHttpContext(); - _requests[3428].RequestServices = CreateServices(); - _requests[3428].Request.Method = "DELETE"; - _requests[3428].Request.Path = "/apps/dec36/versions/86d51d48-/regexentities/3cfe5d39/roles/673cab"; - _requests[3429] = new DefaultHttpContext(); - _requests[3429].RequestServices = CreateServices(); - _requests[3429].Request.Method = "GET"; - _requests[3429].Request.Path = "/subscriptions/99f01c50-9f79-/resourcegroups/cfa62b44-b873-486/deployments/97eea82a-6f14-/operations/88059381-6f"; - _requests[3430] = new DefaultHttpContext(); - _requests[3430].RequestServices = CreateServices(); - _requests[3430].Request.Method = "POST"; - _requests[3430].Request.Path = "/subscriptions/d401124e-1459-/resourcegroups/dd8532cc-656f-498/providers/92aca556-491d-4617-8ff/policyAssignments/e5433f1a-768e-4f5d-9/providers/Microsoft.PolicyInsights/policyEvents/877d98bf-fba0-4219-8/queryResults"; - _requests[3431] = new DefaultHttpContext(); - _requests[3431].RequestServices = CreateServices(); - _requests[3431].Request.Method = "POST"; - _requests[3431].Request.Path = "/subscriptions/c8d4a51d-146b-/resourcegroups/1942d1cd-d6a4-459/providers/2ff564fc-6286-43ee-b0f/policyAssignments/a46ec1d3-aa93-47fb-8/providers/Microsoft.PolicyInsights/policyStates/2e9a906b-8ed1-4fa3-8/queryResults"; - _requests[3432] = new DefaultHttpContext(); - _requests[3432].RequestServices = CreateServices(); - _requests[3432].Request.Method = "POST"; - _requests[3432].Request.Path = "/subscriptions/3288be26-0da7-/resourcegroups/cae3a1bd-e62c-44c/providers/207fb85c-c7e8-4a97-81f/policyAssignments/7db5c558-8019-45f5-b/providers/Microsoft.PolicyInsights/policyStates/e4366bd8-67f1-4a90-ba86-7f5/summarize"; - _requests[3433] = new DefaultHttpContext(); - _requests[3433].RequestServices = CreateServices(); - _requests[3433].Request.Method = "GET"; - _requests[3433].Request.Path = "/subscriptions/06f8b472-cd93-/resourceGroups/f5ba84cc-f082-4b5/providers/85f3cc9e-b438-413/e329c23f-dee6-46/19a392d8-791/providers/Microsoft.EventGrid/eventSubscriptions"; - _requests[3434] = new DefaultHttpContext(); - _requests[3434].RequestServices = CreateServices(); - _requests[3434].Request.Method = "GET"; - _requests[3434].Request.Path = "/subscriptions/6ca5c211-2bdb-/resourceGroups/5134ad71-cbc6-42a/providers/f3858386-206a-467/1a601212-7a09-4f/e73cf087-9f5/providers/Microsoft.EventGrid/eventTypes"; - _requests[3435] = new DefaultHttpContext(); - _requests[3435].RequestServices = CreateServices(); - _requests[3435].Request.Method = "GET"; - _requests[3435].Request.Path = "/subscriptions/e4bb9c6d-e841-/resourcegroups/c7f96a4e-fd9d-405/providers/9881e69a-7fb/c2fabab6-eaa/7ccca89a-229/providers/Microsoft.OperationsManagement/ManagementAssociations/a3ed9791-20fc-43d9-af72-5"; - _requests[3436] = new DefaultHttpContext(); - _requests[3436].RequestServices = CreateServices(); - _requests[3436].Request.Method = "GET"; - _requests[3436].Request.Path = "/subscriptions/f8602411-ac77-/resourcegroups/c67a9d21-45f0-4b5/providers/5af6e4af-edcc-4975-a76c-a/56811225-1eb3-4160/66256656-354/7cba89bd-55a"; - _requests[3437] = new DefaultHttpContext(); - _requests[3437].RequestServices = CreateServices(); - _requests[3437].Request.Method = "GET"; - _requests[3437].Request.Path = "/subscriptions/e6d9450d-c442-/resourcegroups/d3173b51-5656-47b/providers/062c2b09-be89-4c9b-89a2-2/23226c2d-951c-4418/76bcacfe-b45/5a0d957d-09e/providers/Microsoft.Authorization/locks"; - _requests[3438] = new DefaultHttpContext(); - _requests[3438].RequestServices = CreateServices(); - _requests[3438].Request.Method = "GET"; - _requests[3438].Request.Path = "/subscriptions/3b187206-14e9-/resourcegroups/bdc1f1ee-4afe-441/providers/34f524ed-b3a0-4698-9dae-7/ba817d17-2d44-4316/6856c958-dd8/d752ba19-753/providers/Microsoft.Authorization/permissions"; - _requests[3439] = new DefaultHttpContext(); - _requests[3439].RequestServices = CreateServices(); - _requests[3439].Request.Method = "GET"; - _requests[3439].Request.Path = "/subscriptions/66fe2d16-5e80-/resourcegroups/c6a2cb1e-45fb-43d/providers/394befcd-a239-45d5-9d2f-0/1b50afc8-4e65-4e3e/9c5fcc06-feb/0b55eebb-763/providers/Microsoft.Authorization/policyAssignments"; - _requests[3440] = new DefaultHttpContext(); - _requests[3440].RequestServices = CreateServices(); - _requests[3440].Request.Method = "GET"; - _requests[3440].Request.Path = "/subscriptions/6e9f14ab-1faa-/resourcegroups/4b6d7b6e-81f5-45f/providers/5462f2bf-b249-48d5-9e7c-5/a04aaf71-6e68-4d55/020ef8ba-d4b/313c1370-7b9/providers/Microsoft.Authorization/roleAssignments"; - _requests[3441] = new DefaultHttpContext(); - _requests[3441].RequestServices = CreateServices(); - _requests[3441].Request.Method = "GET"; - _requests[3441].Request.Path = "/subscriptions/0e0b8f14-fad4-/resourcegroups/a67f550d-fdc8-42b/providers/e68ff4d2-10c1-4c9c-82d8-f/b1689285-0750-4eb8/2ed223b8-c67/dd2c9821-2f7/providers/Microsoft.Authorization/locks/84a9ae91"; - _requests[3442] = new DefaultHttpContext(); - _requests[3442].RequestServices = CreateServices(); - _requests[3442].Request.Method = "GET"; - _requests[3442].Request.Path = "/apps/5f68b/events/89f50ec1-/66ce49b"; - _requests[3443] = new DefaultHttpContext(); - _requests[3443].RequestServices = CreateServices(); - _requests[3443].Request.Method = "GET"; - _requests[3443].Request.Path = "/certificates/72742049-2d02-48/241ae955-db05-48a4-"; - _requests[3444] = new DefaultHttpContext(); - _requests[3444].RequestServices = CreateServices(); - _requests[3444].Request.Method = "GET"; - _requests[3444].Request.Path = "/keys/051ccaba/fdbe8776-25"; - _requests[3445] = new DefaultHttpContext(); - _requests[3445].RequestServices = CreateServices(); - _requests[3445].Request.Method = "PATCH"; - _requests[3445].Request.Path = "/quotas/8186e47c-d50c-4/130f53a6-44aa-"; - _requests[3446] = new DefaultHttpContext(); - _requests[3446].RequestServices = CreateServices(); - _requests[3446].Request.Method = "GET"; - _requests[3446].Request.Path = "/secrets/64244ad1-c2/2874dd6e-e80c-"; - _requests[3447] = new DefaultHttpContext(); - _requests[3447].RequestServices = CreateServices(); - _requests[3447].Request.Method = "POST"; - _requests[3447].Request.Path = "/keys/2ece3b8a/70e39e1f-71/decrypt"; - _requests[3448] = new DefaultHttpContext(); - _requests[3448].RequestServices = CreateServices(); - _requests[3448].Request.Method = "POST"; - _requests[3448].Request.Path = "/keys/182433da/20e2a813-0f/encrypt"; - _requests[3449] = new DefaultHttpContext(); - _requests[3449].RequestServices = CreateServices(); - _requests[3449].Request.Method = "POST"; - _requests[3449].Request.Path = "/keys/4612b2c8/2f1e7d40-a6/sign"; - _requests[3450] = new DefaultHttpContext(); - _requests[3450].RequestServices = CreateServices(); - _requests[3450].Request.Method = "POST"; - _requests[3450].Request.Path = "/keys/69b994c8/f38e4356-24/unwrapkey"; - _requests[3451] = new DefaultHttpContext(); - _requests[3451].RequestServices = CreateServices(); - _requests[3451].Request.Method = "POST"; - _requests[3451].Request.Path = "/keys/ca8e9477/40651d14-e8/verify"; - _requests[3452] = new DefaultHttpContext(); - _requests[3452].RequestServices = CreateServices(); - _requests[3452].Request.Method = "POST"; - _requests[3452].Request.Path = "/keys/f069329f/be730578-63/wrapkey"; - _requests[3453] = new DefaultHttpContext(); - _requests[3453].RequestServices = CreateServices(); - _requests[3453].Request.Method = "PUT"; - _requests[3453].Request.Path = "/45e31c03-5fc1-4665-8c53"; - _requests[3454] = new DefaultHttpContext(); - _requests[3454].RequestServices = CreateServices(); - _requests[3454].Request.Method = "POST"; - _requests[3454].Request.Path = "/d42d5b71-/image"; - _requests[3455] = new DefaultHttpContext(); - _requests[3455].RequestServices = CreateServices(); - _requests[3455].Request.Method = "POST"; - _requests[3455].Request.Path = "/897d5bb5-/url"; - _requests[3456] = new DefaultHttpContext(); - _requests[3456].RequestServices = CreateServices(); - _requests[3456].Request.Method = "GET"; - _requests[3456].Request.Path = "/8a356c94/applications"; - _requests[3457] = new DefaultHttpContext(); - _requests[3457].RequestServices = CreateServices(); - _requests[3457].Request.Method = "GET"; - _requests[3457].Request.Path = "/88e8cdbe/domains"; - _requests[3458] = new DefaultHttpContext(); - _requests[3458].RequestServices = CreateServices(); - _requests[3458].Request.Method = "POST"; - _requests[3458].Request.Path = "/dce82364/getObjectsByObjectIds"; - _requests[3459] = new DefaultHttpContext(); - _requests[3459].RequestServices = CreateServices(); - _requests[3459].Request.Method = "GET"; - _requests[3459].Request.Path = "/817188d6/groups"; - _requests[3460] = new DefaultHttpContext(); - _requests[3460].RequestServices = CreateServices(); - _requests[3460].Request.Method = "POST"; - _requests[3460].Request.Path = "/6d3a1ebf/isMemberOf"; - _requests[3461] = new DefaultHttpContext(); - _requests[3461].RequestServices = CreateServices(); - _requests[3461].Request.Method = "GET"; - _requests[3461].Request.Path = "/1b4de1d8/me"; - _requests[3462] = new DefaultHttpContext(); - _requests[3462].RequestServices = CreateServices(); - _requests[3462].Request.Method = "GET"; - _requests[3462].Request.Path = "/822bf4c0/servicePrincipals"; - _requests[3463] = new DefaultHttpContext(); - _requests[3463].RequestServices = CreateServices(); - _requests[3463].Request.Method = "GET"; - _requests[3463].Request.Path = "/5a924531/users"; - _requests[3464] = new DefaultHttpContext(); - _requests[3464].RequestServices = CreateServices(); - _requests[3464].Request.Method = "POST"; - _requests[3464].Request.Path = "/3f3b987e-/image/nostore"; - _requests[3465] = new DefaultHttpContext(); - _requests[3465].RequestServices = CreateServices(); - _requests[3465].Request.Method = "POST"; - _requests[3465].Request.Path = "/ada93636-/url/nostore"; - _requests[3466] = new DefaultHttpContext(); - _requests[3466].RequestServices = CreateServices(); - _requests[3466].Request.Method = "POST"; - _requests[3466].Request.Path = "/ebb382d8-c3/providers/microsoft.insights/calculatebaseline"; - _requests[3467] = new DefaultHttpContext(); - _requests[3467].RequestServices = CreateServices(); - _requests[3467].Request.Method = "GET"; - _requests[3467].Request.Path = "/3c6dbcb6-77/providers/microsoft.insights/diagnosticSettings"; - _requests[3468] = new DefaultHttpContext(); - _requests[3468].RequestServices = CreateServices(); - _requests[3468].Request.Method = "GET"; - _requests[3468].Request.Path = "/ab7e5025-57/providers/microsoft.insights/diagnosticSettingsCategories"; - _requests[3469] = new DefaultHttpContext(); - _requests[3469].RequestServices = CreateServices(); - _requests[3469].Request.Method = "GET"; - _requests[3469].Request.Path = "/23f87d0e-41/providers/microsoft.insights/metricDefinitions"; - _requests[3470] = new DefaultHttpContext(); - _requests[3470].RequestServices = CreateServices(); - _requests[3470].Request.Method = "GET"; - _requests[3470].Request.Path = "/0c9f420b-47/providers/microsoft.insights/metrics"; - _requests[3471] = new DefaultHttpContext(); - _requests[3471].RequestServices = CreateServices(); - _requests[3471].Request.Method = "GET"; - _requests[3471].Request.Path = "/59f13b9c-65/providers/Microsoft.ResourceHealth/availabilityStatuses"; - _requests[3472] = new DefaultHttpContext(); - _requests[3472].RequestServices = CreateServices(); - _requests[3472].Request.Method = "GET"; - _requests[3472].Request.Path = "/b2724/providers/Microsoft.Authorization/policyAssignments"; - _requests[3473] = new DefaultHttpContext(); - _requests[3473].RequestServices = CreateServices(); - _requests[3473].Request.Method = "GET"; - _requests[3473].Request.Path = "/53f0b/providers/Microsoft.Authorization/roleAssignments"; - _requests[3474] = new DefaultHttpContext(); - _requests[3474].RequestServices = CreateServices(); - _requests[3474].Request.Method = "GET"; - _requests[3474].Request.Path = "/9f6ba/providers/Microsoft.Authorization/roleDefinitions"; - _requests[3475] = new DefaultHttpContext(); - _requests[3475].RequestServices = CreateServices(); - _requests[3475].Request.Method = "GET"; - _requests[3475].Request.Path = "/f36c3/providers/Microsoft.Consumption/reservationDetails"; - _requests[3476] = new DefaultHttpContext(); - _requests[3476].RequestServices = CreateServices(); - _requests[3476].Request.Method = "GET"; - _requests[3476].Request.Path = "/74f1f/providers/Microsoft.Consumption/reservationSummaries"; - _requests[3477] = new DefaultHttpContext(); - _requests[3477].RequestServices = CreateServices(); - _requests[3477].Request.Method = "GET"; - _requests[3477].Request.Path = "/31cd7/providers/Microsoft.Consumption/usageDetails"; - _requests[3478] = new DefaultHttpContext(); - _requests[3478].RequestServices = CreateServices(); - _requests[3478].Request.Method = "GET"; - _requests[3478].Request.Path = "/216f3/providers/Microsoft.Resources/links"; - _requests[3479] = new DefaultHttpContext(); - _requests[3479].RequestServices = CreateServices(); - _requests[3479].Request.Method = "GET"; - _requests[3479].Request.Path = "/cf5d9/providers/Microsoft.Security/compliances"; - _requests[3480] = new DefaultHttpContext(); - _requests[3480].RequestServices = CreateServices(); - _requests[3480].Request.Method = "PATCH"; - _requests[3480].Request.Path = "/704d76c5-53/providers/microsoft.insights/diagnosticSettings/service"; - _requests[3481] = new DefaultHttpContext(); - _requests[3481].RequestServices = CreateServices(); - _requests[3481].Request.Method = "GET"; - _requests[3481].Request.Path = "/9fdaded0-9f/providers/Microsoft.ResourceHealth/availabilityStatuses/current"; - _requests[3482] = new DefaultHttpContext(); - _requests[3482].RequestServices = CreateServices(); - _requests[3482].Request.Method = "GET"; - _requests[3482].Request.Path = "/48737/providers/Microsoft.PolicyInsights/policyEvents/$metadata"; - _requests[3483] = new DefaultHttpContext(); - _requests[3483].RequestServices = CreateServices(); - _requests[3483].Request.Method = "GET"; - _requests[3483].Request.Path = "/24282/providers/Microsoft.PolicyInsights/policyStates/$metadata"; - _requests[3484] = new DefaultHttpContext(); - _requests[3484].RequestServices = CreateServices(); - _requests[3484].Request.Method = "GET"; - _requests[3484].Request.Path = "/adb75c31-35/providers/Microsoft.Advisor/recommendations/34d554ee-a445-4b"; - _requests[3485] = new DefaultHttpContext(); - _requests[3485].RequestServices = CreateServices(); - _requests[3485].Request.Method = "GET"; - _requests[3485].Request.Path = "/cca35c40-23/providers/microsoft.insights/baseline/8f4f4722-e"; - _requests[3486] = new DefaultHttpContext(); - _requests[3486].RequestServices = CreateServices(); - _requests[3486].Request.Method = "DELETE"; - _requests[3486].Request.Path = "/e6938032-7a/providers/microsoft.insights/diagnosticSettings/f54e3"; - _requests[3487] = new DefaultHttpContext(); - _requests[3487].RequestServices = CreateServices(); - _requests[3487].Request.Method = "GET"; - _requests[3487].Request.Path = "/c42f8c3c-98/providers/microsoft.insights/diagnosticSettingsCategories/f4711"; - _requests[3488] = new DefaultHttpContext(); - _requests[3488].RequestServices = CreateServices(); - _requests[3488].Request.Method = "GET"; - _requests[3488].Request.Path = "/1fa2a/providers/Microsoft.Authorization/locks/12802ef8"; - _requests[3489] = new DefaultHttpContext(); - _requests[3489].RequestServices = CreateServices(); - _requests[3489].Request.Method = "GET"; - _requests[3489].Request.Path = "/cdfe6/providers/Microsoft.Authorization/policyAssignments/f6729358-5ff4-4857-8"; - _requests[3490] = new DefaultHttpContext(); - _requests[3490].RequestServices = CreateServices(); - _requests[3490].Request.Method = "GET"; - _requests[3490].Request.Path = "/4f5b8/providers/Microsoft.Authorization/roleAssignments/a435df57-0449-424e"; - _requests[3491] = new DefaultHttpContext(); - _requests[3491].RequestServices = CreateServices(); - _requests[3491].Request.Method = "PUT"; - _requests[3491].Request.Path = "/2c2f1/providers/Microsoft.Authorization/roleDefinitions/9d9cd928-84db-43"; - _requests[3492] = new DefaultHttpContext(); - _requests[3492].RequestServices = CreateServices(); - _requests[3492].Request.Method = "PATCH"; - _requests[3492].Request.Path = "/6acab/providers/Microsoft.EventGrid/eventSubscriptions/e852a59a-80b3-4b68-8b"; - _requests[3493] = new DefaultHttpContext(); - _requests[3493].RequestServices = CreateServices(); - _requests[3493].Request.Method = "GET"; - _requests[3493].Request.Path = "/ab5d9/providers/Microsoft.Security/compliances/f573d92b-8ad7-"; - _requests[3494] = new DefaultHttpContext(); - _requests[3494].RequestServices = CreateServices(); - _requests[3494].Request.Method = "POST"; - _requests[3494].Request.Path = "/32bda496-b/providers/Microsoft.PolicyInsights/policyEvents/ef17c09a-fffa-44d9-8/queryResults"; - _requests[3495] = new DefaultHttpContext(); - _requests[3495].RequestServices = CreateServices(); - _requests[3495].Request.Method = "POST"; - _requests[3495].Request.Path = "/28dc0c02-d/providers/Microsoft.PolicyInsights/policyStates/d812321f-7636-4847-8/queryResults"; - _requests[3496] = new DefaultHttpContext(); - _requests[3496].RequestServices = CreateServices(); - _requests[3496].Request.Method = "POST"; - _requests[3496].Request.Path = "/2a9d83b2-c/providers/Microsoft.PolicyInsights/policyStates/09cac66b-b27f-41e4-b959-55b/summarize"; - _requests[3497] = new DefaultHttpContext(); - _requests[3497].RequestServices = CreateServices(); - _requests[3497].Request.Method = "POST"; - _requests[3497].Request.Path = "/3e0dd/providers/Microsoft.EventGrid/eventSubscriptions/12732c1a-4e88-4778-a8/getFullUrl"; - _requests[3498] = new DefaultHttpContext(); - _requests[3498].RequestServices = CreateServices(); - _requests[3498].Request.Method = "DELETE"; - _requests[3498].Request.Path = "/9c373a03-99/providers/Microsoft.Advisor/recommendations/943eb968-fb25-41/suppressions/e1c3c"; - _requests[3499] = new DefaultHttpContext(); - _requests[3499].RequestServices = CreateServices(); - _requests[3499].Request.Method = "PATCH"; - _requests[3499].Request.Path = "/e89fd75e/applications/a3ab94b7-c2c4-45c7-"; - _requests[3500] = new DefaultHttpContext(); - _requests[3500].RequestServices = CreateServices(); - _requests[3500].Request.Method = "GET"; - _requests[3500].Request.Path = "/c124b8d8/domains/5b8eb28f-8"; - _requests[3501] = new DefaultHttpContext(); - _requests[3501].RequestServices = CreateServices(); - _requests[3501].Request.Method = "DELETE"; - _requests[3501].Request.Path = "/647f6b48/groups/2740afb7"; - _requests[3502] = new DefaultHttpContext(); - _requests[3502].RequestServices = CreateServices(); - _requests[3502].Request.Method = "GET"; - _requests[3502].Request.Path = "/73f263a0/servicePrincipals/2ec4199c"; - _requests[3503] = new DefaultHttpContext(); - _requests[3503].RequestServices = CreateServices(); - _requests[3503].Request.Method = "DELETE"; - _requests[3503].Request.Path = "/b71204f8/users/c9b64f97-dfc3"; - _requests[3504] = new DefaultHttpContext(); - _requests[3504].RequestServices = CreateServices(); - _requests[3504].Request.Method = "POST"; - _requests[3504].Request.Path = "/2909b454-/images/ad0e646/regionproposals"; - _requests[3505] = new DefaultHttpContext(); - _requests[3505].RequestServices = CreateServices(); - _requests[3505].Request.Method = "PATCH"; - _requests[3505].Request.Path = "/7a98e4ea/applications/1b406dfb-df0e-41aa-/keyCredentials"; - _requests[3506] = new DefaultHttpContext(); - _requests[3506].RequestServices = CreateServices(); - _requests[3506].Request.Method = "GET"; - _requests[3506].Request.Path = "/0f49b4bb/applications/f80fc76b-76b1-4f14-/owners"; - _requests[3507] = new DefaultHttpContext(); - _requests[3507].RequestServices = CreateServices(); - _requests[3507].Request.Method = "PATCH"; - _requests[3507].Request.Path = "/cb2ede39/applications/967b4702-9475-49af-/passwordCredentials"; - _requests[3508] = new DefaultHttpContext(); - _requests[3508].RequestServices = CreateServices(); - _requests[3508].Request.Method = "POST"; - _requests[3508].Request.Path = "/2a351f2b/groups/07886aaa/getMemberGroups"; - _requests[3509] = new DefaultHttpContext(); - _requests[3509].RequestServices = CreateServices(); - _requests[3509].Request.Method = "GET"; - _requests[3509].Request.Path = "/4fe717b1/groups/3c6c5bc7/members"; - _requests[3510] = new DefaultHttpContext(); - _requests[3510].RequestServices = CreateServices(); - _requests[3510].Request.Method = "PATCH"; - _requests[3510].Request.Path = "/cbcc6477/servicePrincipals/eb16edb7/keyCredentials"; - _requests[3511] = new DefaultHttpContext(); - _requests[3511].RequestServices = CreateServices(); - _requests[3511].Request.Method = "GET"; - _requests[3511].Request.Path = "/5713409d/servicePrincipals/d3544887/owners"; - _requests[3512] = new DefaultHttpContext(); - _requests[3512].RequestServices = CreateServices(); - _requests[3512].Request.Method = "PATCH"; - _requests[3512].Request.Path = "/cef92b8b/servicePrincipals/243f61fa/passwordCredentials"; - _requests[3513] = new DefaultHttpContext(); - _requests[3513].RequestServices = CreateServices(); - _requests[3513].Request.Method = "POST"; - _requests[3513].Request.Path = "/55be107a/users/ef077f0c/getMemberGroups"; - _requests[3514] = new DefaultHttpContext(); - _requests[3514].RequestServices = CreateServices(); - _requests[3514].Request.Method = "POST"; - _requests[3514].Request.Path = "/f6ee17b3/applications/78d16559-a4b9-4b07-/$links/owners"; - _requests[3515] = new DefaultHttpContext(); - _requests[3515].RequestServices = CreateServices(); - _requests[3515].Request.Method = "POST"; - _requests[3515].Request.Path = "/394c49c2/groups/36a7a085-a426/$links/members"; - _requests[3516] = new DefaultHttpContext(); - _requests[3516].RequestServices = CreateServices(); - _requests[3516].Request.Method = "DELETE"; - _requests[3516].Request.Path = "/50150593/groups/3b69edb3-5a85/$links/members/e508b10d-3e11-"; - } - - private Matcher SetupMatcher(MatcherBuilder builder) - { - builder.AddEndpoint(_endpoints[0]); - builder.AddEndpoint(_endpoints[1]); - builder.AddEndpoint(_endpoints[2]); - builder.AddEndpoint(_endpoints[3]); - builder.AddEndpoint(_endpoints[4]); - builder.AddEndpoint(_endpoints[5]); - builder.AddEndpoint(_endpoints[6]); - builder.AddEndpoint(_endpoints[7]); - builder.AddEndpoint(_endpoints[8]); - builder.AddEndpoint(_endpoints[9]); - builder.AddEndpoint(_endpoints[10]); - builder.AddEndpoint(_endpoints[11]); - builder.AddEndpoint(_endpoints[12]); - builder.AddEndpoint(_endpoints[13]); - builder.AddEndpoint(_endpoints[14]); - builder.AddEndpoint(_endpoints[15]); - builder.AddEndpoint(_endpoints[16]); - builder.AddEndpoint(_endpoints[17]); - builder.AddEndpoint(_endpoints[18]); - builder.AddEndpoint(_endpoints[19]); - builder.AddEndpoint(_endpoints[20]); - builder.AddEndpoint(_endpoints[21]); - builder.AddEndpoint(_endpoints[22]); - builder.AddEndpoint(_endpoints[23]); - builder.AddEndpoint(_endpoints[24]); - builder.AddEndpoint(_endpoints[25]); - builder.AddEndpoint(_endpoints[26]); - builder.AddEndpoint(_endpoints[27]); - builder.AddEndpoint(_endpoints[28]); - builder.AddEndpoint(_endpoints[29]); - builder.AddEndpoint(_endpoints[30]); - builder.AddEndpoint(_endpoints[31]); - builder.AddEndpoint(_endpoints[32]); - builder.AddEndpoint(_endpoints[33]); - builder.AddEndpoint(_endpoints[34]); - builder.AddEndpoint(_endpoints[35]); - builder.AddEndpoint(_endpoints[36]); - builder.AddEndpoint(_endpoints[37]); - builder.AddEndpoint(_endpoints[38]); - builder.AddEndpoint(_endpoints[39]); - builder.AddEndpoint(_endpoints[40]); - builder.AddEndpoint(_endpoints[41]); - builder.AddEndpoint(_endpoints[42]); - builder.AddEndpoint(_endpoints[43]); - builder.AddEndpoint(_endpoints[44]); - builder.AddEndpoint(_endpoints[45]); - builder.AddEndpoint(_endpoints[46]); - builder.AddEndpoint(_endpoints[47]); - builder.AddEndpoint(_endpoints[48]); - builder.AddEndpoint(_endpoints[49]); - builder.AddEndpoint(_endpoints[50]); - builder.AddEndpoint(_endpoints[51]); - builder.AddEndpoint(_endpoints[52]); - builder.AddEndpoint(_endpoints[53]); - builder.AddEndpoint(_endpoints[54]); - builder.AddEndpoint(_endpoints[55]); - builder.AddEndpoint(_endpoints[56]); - builder.AddEndpoint(_endpoints[57]); - builder.AddEndpoint(_endpoints[58]); - builder.AddEndpoint(_endpoints[59]); - builder.AddEndpoint(_endpoints[60]); - builder.AddEndpoint(_endpoints[61]); - builder.AddEndpoint(_endpoints[62]); - builder.AddEndpoint(_endpoints[63]); - builder.AddEndpoint(_endpoints[64]); - builder.AddEndpoint(_endpoints[65]); - builder.AddEndpoint(_endpoints[66]); - builder.AddEndpoint(_endpoints[67]); - builder.AddEndpoint(_endpoints[68]); - builder.AddEndpoint(_endpoints[69]); - builder.AddEndpoint(_endpoints[70]); - builder.AddEndpoint(_endpoints[71]); - builder.AddEndpoint(_endpoints[72]); - builder.AddEndpoint(_endpoints[73]); - builder.AddEndpoint(_endpoints[74]); - builder.AddEndpoint(_endpoints[75]); - builder.AddEndpoint(_endpoints[76]); - builder.AddEndpoint(_endpoints[77]); - builder.AddEndpoint(_endpoints[78]); - builder.AddEndpoint(_endpoints[79]); - builder.AddEndpoint(_endpoints[80]); - builder.AddEndpoint(_endpoints[81]); - builder.AddEndpoint(_endpoints[82]); - builder.AddEndpoint(_endpoints[83]); - builder.AddEndpoint(_endpoints[84]); - builder.AddEndpoint(_endpoints[85]); - builder.AddEndpoint(_endpoints[86]); - builder.AddEndpoint(_endpoints[87]); - builder.AddEndpoint(_endpoints[88]); - builder.AddEndpoint(_endpoints[89]); - builder.AddEndpoint(_endpoints[90]); - builder.AddEndpoint(_endpoints[91]); - builder.AddEndpoint(_endpoints[92]); - builder.AddEndpoint(_endpoints[93]); - builder.AddEndpoint(_endpoints[94]); - builder.AddEndpoint(_endpoints[95]); - builder.AddEndpoint(_endpoints[96]); - builder.AddEndpoint(_endpoints[97]); - builder.AddEndpoint(_endpoints[98]); - builder.AddEndpoint(_endpoints[99]); - builder.AddEndpoint(_endpoints[100]); - builder.AddEndpoint(_endpoints[101]); - builder.AddEndpoint(_endpoints[102]); - builder.AddEndpoint(_endpoints[103]); - builder.AddEndpoint(_endpoints[104]); - builder.AddEndpoint(_endpoints[105]); - builder.AddEndpoint(_endpoints[106]); - builder.AddEndpoint(_endpoints[107]); - builder.AddEndpoint(_endpoints[108]); - builder.AddEndpoint(_endpoints[109]); - builder.AddEndpoint(_endpoints[110]); - builder.AddEndpoint(_endpoints[111]); - builder.AddEndpoint(_endpoints[112]); - builder.AddEndpoint(_endpoints[113]); - builder.AddEndpoint(_endpoints[114]); - builder.AddEndpoint(_endpoints[115]); - builder.AddEndpoint(_endpoints[116]); - builder.AddEndpoint(_endpoints[117]); - builder.AddEndpoint(_endpoints[118]); - builder.AddEndpoint(_endpoints[119]); - builder.AddEndpoint(_endpoints[120]); - builder.AddEndpoint(_endpoints[121]); - builder.AddEndpoint(_endpoints[122]); - builder.AddEndpoint(_endpoints[123]); - builder.AddEndpoint(_endpoints[124]); - builder.AddEndpoint(_endpoints[125]); - builder.AddEndpoint(_endpoints[126]); - builder.AddEndpoint(_endpoints[127]); - builder.AddEndpoint(_endpoints[128]); - builder.AddEndpoint(_endpoints[129]); - builder.AddEndpoint(_endpoints[130]); - builder.AddEndpoint(_endpoints[131]); - builder.AddEndpoint(_endpoints[132]); - builder.AddEndpoint(_endpoints[133]); - builder.AddEndpoint(_endpoints[134]); - builder.AddEndpoint(_endpoints[135]); - builder.AddEndpoint(_endpoints[136]); - builder.AddEndpoint(_endpoints[137]); - builder.AddEndpoint(_endpoints[138]); - builder.AddEndpoint(_endpoints[139]); - builder.AddEndpoint(_endpoints[140]); - builder.AddEndpoint(_endpoints[141]); - builder.AddEndpoint(_endpoints[142]); - builder.AddEndpoint(_endpoints[143]); - builder.AddEndpoint(_endpoints[144]); - builder.AddEndpoint(_endpoints[145]); - builder.AddEndpoint(_endpoints[146]); - builder.AddEndpoint(_endpoints[147]); - builder.AddEndpoint(_endpoints[148]); - builder.AddEndpoint(_endpoints[149]); - builder.AddEndpoint(_endpoints[150]); - builder.AddEndpoint(_endpoints[151]); - builder.AddEndpoint(_endpoints[152]); - builder.AddEndpoint(_endpoints[153]); - builder.AddEndpoint(_endpoints[154]); - builder.AddEndpoint(_endpoints[155]); - builder.AddEndpoint(_endpoints[156]); - builder.AddEndpoint(_endpoints[157]); - builder.AddEndpoint(_endpoints[158]); - builder.AddEndpoint(_endpoints[159]); - builder.AddEndpoint(_endpoints[160]); - builder.AddEndpoint(_endpoints[161]); - builder.AddEndpoint(_endpoints[162]); - builder.AddEndpoint(_endpoints[163]); - builder.AddEndpoint(_endpoints[164]); - builder.AddEndpoint(_endpoints[165]); - builder.AddEndpoint(_endpoints[166]); - builder.AddEndpoint(_endpoints[167]); - builder.AddEndpoint(_endpoints[168]); - builder.AddEndpoint(_endpoints[169]); - builder.AddEndpoint(_endpoints[170]); - builder.AddEndpoint(_endpoints[171]); - builder.AddEndpoint(_endpoints[172]); - builder.AddEndpoint(_endpoints[173]); - builder.AddEndpoint(_endpoints[174]); - builder.AddEndpoint(_endpoints[175]); - builder.AddEndpoint(_endpoints[176]); - builder.AddEndpoint(_endpoints[177]); - builder.AddEndpoint(_endpoints[178]); - builder.AddEndpoint(_endpoints[179]); - builder.AddEndpoint(_endpoints[180]); - builder.AddEndpoint(_endpoints[181]); - builder.AddEndpoint(_endpoints[182]); - builder.AddEndpoint(_endpoints[183]); - builder.AddEndpoint(_endpoints[184]); - builder.AddEndpoint(_endpoints[185]); - builder.AddEndpoint(_endpoints[186]); - builder.AddEndpoint(_endpoints[187]); - builder.AddEndpoint(_endpoints[188]); - builder.AddEndpoint(_endpoints[189]); - builder.AddEndpoint(_endpoints[190]); - builder.AddEndpoint(_endpoints[191]); - builder.AddEndpoint(_endpoints[192]); - builder.AddEndpoint(_endpoints[193]); - builder.AddEndpoint(_endpoints[194]); - builder.AddEndpoint(_endpoints[195]); - builder.AddEndpoint(_endpoints[196]); - builder.AddEndpoint(_endpoints[197]); - builder.AddEndpoint(_endpoints[198]); - builder.AddEndpoint(_endpoints[199]); - builder.AddEndpoint(_endpoints[200]); - builder.AddEndpoint(_endpoints[201]); - builder.AddEndpoint(_endpoints[202]); - builder.AddEndpoint(_endpoints[203]); - builder.AddEndpoint(_endpoints[204]); - builder.AddEndpoint(_endpoints[205]); - builder.AddEndpoint(_endpoints[206]); - builder.AddEndpoint(_endpoints[207]); - builder.AddEndpoint(_endpoints[208]); - builder.AddEndpoint(_endpoints[209]); - builder.AddEndpoint(_endpoints[210]); - builder.AddEndpoint(_endpoints[211]); - builder.AddEndpoint(_endpoints[212]); - builder.AddEndpoint(_endpoints[213]); - builder.AddEndpoint(_endpoints[214]); - builder.AddEndpoint(_endpoints[215]); - builder.AddEndpoint(_endpoints[216]); - builder.AddEndpoint(_endpoints[217]); - builder.AddEndpoint(_endpoints[218]); - builder.AddEndpoint(_endpoints[219]); - builder.AddEndpoint(_endpoints[220]); - builder.AddEndpoint(_endpoints[221]); - builder.AddEndpoint(_endpoints[222]); - builder.AddEndpoint(_endpoints[223]); - builder.AddEndpoint(_endpoints[224]); - builder.AddEndpoint(_endpoints[225]); - builder.AddEndpoint(_endpoints[226]); - builder.AddEndpoint(_endpoints[227]); - builder.AddEndpoint(_endpoints[228]); - builder.AddEndpoint(_endpoints[229]); - builder.AddEndpoint(_endpoints[230]); - builder.AddEndpoint(_endpoints[231]); - builder.AddEndpoint(_endpoints[232]); - builder.AddEndpoint(_endpoints[233]); - builder.AddEndpoint(_endpoints[234]); - builder.AddEndpoint(_endpoints[235]); - builder.AddEndpoint(_endpoints[236]); - builder.AddEndpoint(_endpoints[237]); - builder.AddEndpoint(_endpoints[238]); - builder.AddEndpoint(_endpoints[239]); - builder.AddEndpoint(_endpoints[240]); - builder.AddEndpoint(_endpoints[241]); - builder.AddEndpoint(_endpoints[242]); - builder.AddEndpoint(_endpoints[243]); - builder.AddEndpoint(_endpoints[244]); - builder.AddEndpoint(_endpoints[245]); - builder.AddEndpoint(_endpoints[246]); - builder.AddEndpoint(_endpoints[247]); - builder.AddEndpoint(_endpoints[248]); - builder.AddEndpoint(_endpoints[249]); - builder.AddEndpoint(_endpoints[250]); - builder.AddEndpoint(_endpoints[251]); - builder.AddEndpoint(_endpoints[252]); - builder.AddEndpoint(_endpoints[253]); - builder.AddEndpoint(_endpoints[254]); - builder.AddEndpoint(_endpoints[255]); - builder.AddEndpoint(_endpoints[256]); - builder.AddEndpoint(_endpoints[257]); - builder.AddEndpoint(_endpoints[258]); - builder.AddEndpoint(_endpoints[259]); - builder.AddEndpoint(_endpoints[260]); - builder.AddEndpoint(_endpoints[261]); - builder.AddEndpoint(_endpoints[262]); - builder.AddEndpoint(_endpoints[263]); - builder.AddEndpoint(_endpoints[264]); - builder.AddEndpoint(_endpoints[265]); - builder.AddEndpoint(_endpoints[266]); - builder.AddEndpoint(_endpoints[267]); - builder.AddEndpoint(_endpoints[268]); - builder.AddEndpoint(_endpoints[269]); - builder.AddEndpoint(_endpoints[270]); - builder.AddEndpoint(_endpoints[271]); - builder.AddEndpoint(_endpoints[272]); - builder.AddEndpoint(_endpoints[273]); - builder.AddEndpoint(_endpoints[274]); - builder.AddEndpoint(_endpoints[275]); - builder.AddEndpoint(_endpoints[276]); - builder.AddEndpoint(_endpoints[277]); - builder.AddEndpoint(_endpoints[278]); - builder.AddEndpoint(_endpoints[279]); - builder.AddEndpoint(_endpoints[280]); - builder.AddEndpoint(_endpoints[281]); - builder.AddEndpoint(_endpoints[282]); - builder.AddEndpoint(_endpoints[283]); - builder.AddEndpoint(_endpoints[284]); - builder.AddEndpoint(_endpoints[285]); - builder.AddEndpoint(_endpoints[286]); - builder.AddEndpoint(_endpoints[287]); - builder.AddEndpoint(_endpoints[288]); - builder.AddEndpoint(_endpoints[289]); - builder.AddEndpoint(_endpoints[290]); - builder.AddEndpoint(_endpoints[291]); - builder.AddEndpoint(_endpoints[292]); - builder.AddEndpoint(_endpoints[293]); - builder.AddEndpoint(_endpoints[294]); - builder.AddEndpoint(_endpoints[295]); - builder.AddEndpoint(_endpoints[296]); - builder.AddEndpoint(_endpoints[297]); - builder.AddEndpoint(_endpoints[298]); - builder.AddEndpoint(_endpoints[299]); - builder.AddEndpoint(_endpoints[300]); - builder.AddEndpoint(_endpoints[301]); - builder.AddEndpoint(_endpoints[302]); - builder.AddEndpoint(_endpoints[303]); - builder.AddEndpoint(_endpoints[304]); - builder.AddEndpoint(_endpoints[305]); - builder.AddEndpoint(_endpoints[306]); - builder.AddEndpoint(_endpoints[307]); - builder.AddEndpoint(_endpoints[308]); - builder.AddEndpoint(_endpoints[309]); - builder.AddEndpoint(_endpoints[310]); - builder.AddEndpoint(_endpoints[311]); - builder.AddEndpoint(_endpoints[312]); - builder.AddEndpoint(_endpoints[313]); - builder.AddEndpoint(_endpoints[314]); - builder.AddEndpoint(_endpoints[315]); - builder.AddEndpoint(_endpoints[316]); - builder.AddEndpoint(_endpoints[317]); - builder.AddEndpoint(_endpoints[318]); - builder.AddEndpoint(_endpoints[319]); - builder.AddEndpoint(_endpoints[320]); - builder.AddEndpoint(_endpoints[321]); - builder.AddEndpoint(_endpoints[322]); - builder.AddEndpoint(_endpoints[323]); - builder.AddEndpoint(_endpoints[324]); - builder.AddEndpoint(_endpoints[325]); - builder.AddEndpoint(_endpoints[326]); - builder.AddEndpoint(_endpoints[327]); - builder.AddEndpoint(_endpoints[328]); - builder.AddEndpoint(_endpoints[329]); - builder.AddEndpoint(_endpoints[330]); - builder.AddEndpoint(_endpoints[331]); - builder.AddEndpoint(_endpoints[332]); - builder.AddEndpoint(_endpoints[333]); - builder.AddEndpoint(_endpoints[334]); - builder.AddEndpoint(_endpoints[335]); - builder.AddEndpoint(_endpoints[336]); - builder.AddEndpoint(_endpoints[337]); - builder.AddEndpoint(_endpoints[338]); - builder.AddEndpoint(_endpoints[339]); - builder.AddEndpoint(_endpoints[340]); - builder.AddEndpoint(_endpoints[341]); - builder.AddEndpoint(_endpoints[342]); - builder.AddEndpoint(_endpoints[343]); - builder.AddEndpoint(_endpoints[344]); - builder.AddEndpoint(_endpoints[345]); - builder.AddEndpoint(_endpoints[346]); - builder.AddEndpoint(_endpoints[347]); - builder.AddEndpoint(_endpoints[348]); - builder.AddEndpoint(_endpoints[349]); - builder.AddEndpoint(_endpoints[350]); - builder.AddEndpoint(_endpoints[351]); - builder.AddEndpoint(_endpoints[352]); - builder.AddEndpoint(_endpoints[353]); - builder.AddEndpoint(_endpoints[354]); - builder.AddEndpoint(_endpoints[355]); - builder.AddEndpoint(_endpoints[356]); - builder.AddEndpoint(_endpoints[357]); - builder.AddEndpoint(_endpoints[358]); - builder.AddEndpoint(_endpoints[359]); - builder.AddEndpoint(_endpoints[360]); - builder.AddEndpoint(_endpoints[361]); - builder.AddEndpoint(_endpoints[362]); - builder.AddEndpoint(_endpoints[363]); - builder.AddEndpoint(_endpoints[364]); - builder.AddEndpoint(_endpoints[365]); - builder.AddEndpoint(_endpoints[366]); - builder.AddEndpoint(_endpoints[367]); - builder.AddEndpoint(_endpoints[368]); - builder.AddEndpoint(_endpoints[369]); - builder.AddEndpoint(_endpoints[370]); - builder.AddEndpoint(_endpoints[371]); - builder.AddEndpoint(_endpoints[372]); - builder.AddEndpoint(_endpoints[373]); - builder.AddEndpoint(_endpoints[374]); - builder.AddEndpoint(_endpoints[375]); - builder.AddEndpoint(_endpoints[376]); - builder.AddEndpoint(_endpoints[377]); - builder.AddEndpoint(_endpoints[378]); - builder.AddEndpoint(_endpoints[379]); - builder.AddEndpoint(_endpoints[380]); - builder.AddEndpoint(_endpoints[381]); - builder.AddEndpoint(_endpoints[382]); - builder.AddEndpoint(_endpoints[383]); - builder.AddEndpoint(_endpoints[384]); - builder.AddEndpoint(_endpoints[385]); - builder.AddEndpoint(_endpoints[386]); - builder.AddEndpoint(_endpoints[387]); - builder.AddEndpoint(_endpoints[388]); - builder.AddEndpoint(_endpoints[389]); - builder.AddEndpoint(_endpoints[390]); - builder.AddEndpoint(_endpoints[391]); - builder.AddEndpoint(_endpoints[392]); - builder.AddEndpoint(_endpoints[393]); - builder.AddEndpoint(_endpoints[394]); - builder.AddEndpoint(_endpoints[395]); - builder.AddEndpoint(_endpoints[396]); - builder.AddEndpoint(_endpoints[397]); - builder.AddEndpoint(_endpoints[398]); - builder.AddEndpoint(_endpoints[399]); - builder.AddEndpoint(_endpoints[400]); - builder.AddEndpoint(_endpoints[401]); - builder.AddEndpoint(_endpoints[402]); - builder.AddEndpoint(_endpoints[403]); - builder.AddEndpoint(_endpoints[404]); - builder.AddEndpoint(_endpoints[405]); - builder.AddEndpoint(_endpoints[406]); - builder.AddEndpoint(_endpoints[407]); - builder.AddEndpoint(_endpoints[408]); - builder.AddEndpoint(_endpoints[409]); - builder.AddEndpoint(_endpoints[410]); - builder.AddEndpoint(_endpoints[411]); - builder.AddEndpoint(_endpoints[412]); - builder.AddEndpoint(_endpoints[413]); - builder.AddEndpoint(_endpoints[414]); - builder.AddEndpoint(_endpoints[415]); - builder.AddEndpoint(_endpoints[416]); - builder.AddEndpoint(_endpoints[417]); - builder.AddEndpoint(_endpoints[418]); - builder.AddEndpoint(_endpoints[419]); - builder.AddEndpoint(_endpoints[420]); - builder.AddEndpoint(_endpoints[421]); - builder.AddEndpoint(_endpoints[422]); - builder.AddEndpoint(_endpoints[423]); - builder.AddEndpoint(_endpoints[424]); - builder.AddEndpoint(_endpoints[425]); - builder.AddEndpoint(_endpoints[426]); - builder.AddEndpoint(_endpoints[427]); - builder.AddEndpoint(_endpoints[428]); - builder.AddEndpoint(_endpoints[429]); - builder.AddEndpoint(_endpoints[430]); - builder.AddEndpoint(_endpoints[431]); - builder.AddEndpoint(_endpoints[432]); - builder.AddEndpoint(_endpoints[433]); - builder.AddEndpoint(_endpoints[434]); - builder.AddEndpoint(_endpoints[435]); - builder.AddEndpoint(_endpoints[436]); - builder.AddEndpoint(_endpoints[437]); - builder.AddEndpoint(_endpoints[438]); - builder.AddEndpoint(_endpoints[439]); - builder.AddEndpoint(_endpoints[440]); - builder.AddEndpoint(_endpoints[441]); - builder.AddEndpoint(_endpoints[442]); - builder.AddEndpoint(_endpoints[443]); - builder.AddEndpoint(_endpoints[444]); - builder.AddEndpoint(_endpoints[445]); - builder.AddEndpoint(_endpoints[446]); - builder.AddEndpoint(_endpoints[447]); - builder.AddEndpoint(_endpoints[448]); - builder.AddEndpoint(_endpoints[449]); - builder.AddEndpoint(_endpoints[450]); - builder.AddEndpoint(_endpoints[451]); - builder.AddEndpoint(_endpoints[452]); - builder.AddEndpoint(_endpoints[453]); - builder.AddEndpoint(_endpoints[454]); - builder.AddEndpoint(_endpoints[455]); - builder.AddEndpoint(_endpoints[456]); - builder.AddEndpoint(_endpoints[457]); - builder.AddEndpoint(_endpoints[458]); - builder.AddEndpoint(_endpoints[459]); - builder.AddEndpoint(_endpoints[460]); - builder.AddEndpoint(_endpoints[461]); - builder.AddEndpoint(_endpoints[462]); - builder.AddEndpoint(_endpoints[463]); - builder.AddEndpoint(_endpoints[464]); - builder.AddEndpoint(_endpoints[465]); - builder.AddEndpoint(_endpoints[466]); - builder.AddEndpoint(_endpoints[467]); - builder.AddEndpoint(_endpoints[468]); - builder.AddEndpoint(_endpoints[469]); - builder.AddEndpoint(_endpoints[470]); - builder.AddEndpoint(_endpoints[471]); - builder.AddEndpoint(_endpoints[472]); - builder.AddEndpoint(_endpoints[473]); - builder.AddEndpoint(_endpoints[474]); - builder.AddEndpoint(_endpoints[475]); - builder.AddEndpoint(_endpoints[476]); - builder.AddEndpoint(_endpoints[477]); - builder.AddEndpoint(_endpoints[478]); - builder.AddEndpoint(_endpoints[479]); - builder.AddEndpoint(_endpoints[480]); - builder.AddEndpoint(_endpoints[481]); - builder.AddEndpoint(_endpoints[482]); - builder.AddEndpoint(_endpoints[483]); - builder.AddEndpoint(_endpoints[484]); - builder.AddEndpoint(_endpoints[485]); - builder.AddEndpoint(_endpoints[486]); - builder.AddEndpoint(_endpoints[487]); - builder.AddEndpoint(_endpoints[488]); - builder.AddEndpoint(_endpoints[489]); - builder.AddEndpoint(_endpoints[490]); - builder.AddEndpoint(_endpoints[491]); - builder.AddEndpoint(_endpoints[492]); - builder.AddEndpoint(_endpoints[493]); - builder.AddEndpoint(_endpoints[494]); - builder.AddEndpoint(_endpoints[495]); - builder.AddEndpoint(_endpoints[496]); - builder.AddEndpoint(_endpoints[497]); - builder.AddEndpoint(_endpoints[498]); - builder.AddEndpoint(_endpoints[499]); - builder.AddEndpoint(_endpoints[500]); - builder.AddEndpoint(_endpoints[501]); - builder.AddEndpoint(_endpoints[502]); - builder.AddEndpoint(_endpoints[503]); - builder.AddEndpoint(_endpoints[504]); - builder.AddEndpoint(_endpoints[505]); - builder.AddEndpoint(_endpoints[506]); - builder.AddEndpoint(_endpoints[507]); - builder.AddEndpoint(_endpoints[508]); - builder.AddEndpoint(_endpoints[509]); - builder.AddEndpoint(_endpoints[510]); - builder.AddEndpoint(_endpoints[511]); - builder.AddEndpoint(_endpoints[512]); - builder.AddEndpoint(_endpoints[513]); - builder.AddEndpoint(_endpoints[514]); - builder.AddEndpoint(_endpoints[515]); - builder.AddEndpoint(_endpoints[516]); - builder.AddEndpoint(_endpoints[517]); - builder.AddEndpoint(_endpoints[518]); - builder.AddEndpoint(_endpoints[519]); - builder.AddEndpoint(_endpoints[520]); - builder.AddEndpoint(_endpoints[521]); - builder.AddEndpoint(_endpoints[522]); - builder.AddEndpoint(_endpoints[523]); - builder.AddEndpoint(_endpoints[524]); - builder.AddEndpoint(_endpoints[525]); - builder.AddEndpoint(_endpoints[526]); - builder.AddEndpoint(_endpoints[527]); - builder.AddEndpoint(_endpoints[528]); - builder.AddEndpoint(_endpoints[529]); - builder.AddEndpoint(_endpoints[530]); - builder.AddEndpoint(_endpoints[531]); - builder.AddEndpoint(_endpoints[532]); - builder.AddEndpoint(_endpoints[533]); - builder.AddEndpoint(_endpoints[534]); - builder.AddEndpoint(_endpoints[535]); - builder.AddEndpoint(_endpoints[536]); - builder.AddEndpoint(_endpoints[537]); - builder.AddEndpoint(_endpoints[538]); - builder.AddEndpoint(_endpoints[539]); - builder.AddEndpoint(_endpoints[540]); - builder.AddEndpoint(_endpoints[541]); - builder.AddEndpoint(_endpoints[542]); - builder.AddEndpoint(_endpoints[543]); - builder.AddEndpoint(_endpoints[544]); - builder.AddEndpoint(_endpoints[545]); - builder.AddEndpoint(_endpoints[546]); - builder.AddEndpoint(_endpoints[547]); - builder.AddEndpoint(_endpoints[548]); - builder.AddEndpoint(_endpoints[549]); - builder.AddEndpoint(_endpoints[550]); - builder.AddEndpoint(_endpoints[551]); - builder.AddEndpoint(_endpoints[552]); - builder.AddEndpoint(_endpoints[553]); - builder.AddEndpoint(_endpoints[554]); - builder.AddEndpoint(_endpoints[555]); - builder.AddEndpoint(_endpoints[556]); - builder.AddEndpoint(_endpoints[557]); - builder.AddEndpoint(_endpoints[558]); - builder.AddEndpoint(_endpoints[559]); - builder.AddEndpoint(_endpoints[560]); - builder.AddEndpoint(_endpoints[561]); - builder.AddEndpoint(_endpoints[562]); - builder.AddEndpoint(_endpoints[563]); - builder.AddEndpoint(_endpoints[564]); - builder.AddEndpoint(_endpoints[565]); - builder.AddEndpoint(_endpoints[566]); - builder.AddEndpoint(_endpoints[567]); - builder.AddEndpoint(_endpoints[568]); - builder.AddEndpoint(_endpoints[569]); - builder.AddEndpoint(_endpoints[570]); - builder.AddEndpoint(_endpoints[571]); - builder.AddEndpoint(_endpoints[572]); - builder.AddEndpoint(_endpoints[573]); - builder.AddEndpoint(_endpoints[574]); - builder.AddEndpoint(_endpoints[575]); - builder.AddEndpoint(_endpoints[576]); - builder.AddEndpoint(_endpoints[577]); - builder.AddEndpoint(_endpoints[578]); - builder.AddEndpoint(_endpoints[579]); - builder.AddEndpoint(_endpoints[580]); - builder.AddEndpoint(_endpoints[581]); - builder.AddEndpoint(_endpoints[582]); - builder.AddEndpoint(_endpoints[583]); - builder.AddEndpoint(_endpoints[584]); - builder.AddEndpoint(_endpoints[585]); - builder.AddEndpoint(_endpoints[586]); - builder.AddEndpoint(_endpoints[587]); - builder.AddEndpoint(_endpoints[588]); - builder.AddEndpoint(_endpoints[589]); - builder.AddEndpoint(_endpoints[590]); - builder.AddEndpoint(_endpoints[591]); - builder.AddEndpoint(_endpoints[592]); - builder.AddEndpoint(_endpoints[593]); - builder.AddEndpoint(_endpoints[594]); - builder.AddEndpoint(_endpoints[595]); - builder.AddEndpoint(_endpoints[596]); - builder.AddEndpoint(_endpoints[597]); - builder.AddEndpoint(_endpoints[598]); - builder.AddEndpoint(_endpoints[599]); - builder.AddEndpoint(_endpoints[600]); - builder.AddEndpoint(_endpoints[601]); - builder.AddEndpoint(_endpoints[602]); - builder.AddEndpoint(_endpoints[603]); - builder.AddEndpoint(_endpoints[604]); - builder.AddEndpoint(_endpoints[605]); - builder.AddEndpoint(_endpoints[606]); - builder.AddEndpoint(_endpoints[607]); - builder.AddEndpoint(_endpoints[608]); - builder.AddEndpoint(_endpoints[609]); - builder.AddEndpoint(_endpoints[610]); - builder.AddEndpoint(_endpoints[611]); - builder.AddEndpoint(_endpoints[612]); - builder.AddEndpoint(_endpoints[613]); - builder.AddEndpoint(_endpoints[614]); - builder.AddEndpoint(_endpoints[615]); - builder.AddEndpoint(_endpoints[616]); - builder.AddEndpoint(_endpoints[617]); - builder.AddEndpoint(_endpoints[618]); - builder.AddEndpoint(_endpoints[619]); - builder.AddEndpoint(_endpoints[620]); - builder.AddEndpoint(_endpoints[621]); - builder.AddEndpoint(_endpoints[622]); - builder.AddEndpoint(_endpoints[623]); - builder.AddEndpoint(_endpoints[624]); - builder.AddEndpoint(_endpoints[625]); - builder.AddEndpoint(_endpoints[626]); - builder.AddEndpoint(_endpoints[627]); - builder.AddEndpoint(_endpoints[628]); - builder.AddEndpoint(_endpoints[629]); - builder.AddEndpoint(_endpoints[630]); - builder.AddEndpoint(_endpoints[631]); - builder.AddEndpoint(_endpoints[632]); - builder.AddEndpoint(_endpoints[633]); - builder.AddEndpoint(_endpoints[634]); - builder.AddEndpoint(_endpoints[635]); - builder.AddEndpoint(_endpoints[636]); - builder.AddEndpoint(_endpoints[637]); - builder.AddEndpoint(_endpoints[638]); - builder.AddEndpoint(_endpoints[639]); - builder.AddEndpoint(_endpoints[640]); - builder.AddEndpoint(_endpoints[641]); - builder.AddEndpoint(_endpoints[642]); - builder.AddEndpoint(_endpoints[643]); - builder.AddEndpoint(_endpoints[644]); - builder.AddEndpoint(_endpoints[645]); - builder.AddEndpoint(_endpoints[646]); - builder.AddEndpoint(_endpoints[647]); - builder.AddEndpoint(_endpoints[648]); - builder.AddEndpoint(_endpoints[649]); - builder.AddEndpoint(_endpoints[650]); - builder.AddEndpoint(_endpoints[651]); - builder.AddEndpoint(_endpoints[652]); - builder.AddEndpoint(_endpoints[653]); - builder.AddEndpoint(_endpoints[654]); - builder.AddEndpoint(_endpoints[655]); - builder.AddEndpoint(_endpoints[656]); - builder.AddEndpoint(_endpoints[657]); - builder.AddEndpoint(_endpoints[658]); - builder.AddEndpoint(_endpoints[659]); - builder.AddEndpoint(_endpoints[660]); - builder.AddEndpoint(_endpoints[661]); - builder.AddEndpoint(_endpoints[662]); - builder.AddEndpoint(_endpoints[663]); - builder.AddEndpoint(_endpoints[664]); - builder.AddEndpoint(_endpoints[665]); - builder.AddEndpoint(_endpoints[666]); - builder.AddEndpoint(_endpoints[667]); - builder.AddEndpoint(_endpoints[668]); - builder.AddEndpoint(_endpoints[669]); - builder.AddEndpoint(_endpoints[670]); - builder.AddEndpoint(_endpoints[671]); - builder.AddEndpoint(_endpoints[672]); - builder.AddEndpoint(_endpoints[673]); - builder.AddEndpoint(_endpoints[674]); - builder.AddEndpoint(_endpoints[675]); - builder.AddEndpoint(_endpoints[676]); - builder.AddEndpoint(_endpoints[677]); - builder.AddEndpoint(_endpoints[678]); - builder.AddEndpoint(_endpoints[679]); - builder.AddEndpoint(_endpoints[680]); - builder.AddEndpoint(_endpoints[681]); - builder.AddEndpoint(_endpoints[682]); - builder.AddEndpoint(_endpoints[683]); - builder.AddEndpoint(_endpoints[684]); - builder.AddEndpoint(_endpoints[685]); - builder.AddEndpoint(_endpoints[686]); - builder.AddEndpoint(_endpoints[687]); - builder.AddEndpoint(_endpoints[688]); - builder.AddEndpoint(_endpoints[689]); - builder.AddEndpoint(_endpoints[690]); - builder.AddEndpoint(_endpoints[691]); - builder.AddEndpoint(_endpoints[692]); - builder.AddEndpoint(_endpoints[693]); - builder.AddEndpoint(_endpoints[694]); - builder.AddEndpoint(_endpoints[695]); - builder.AddEndpoint(_endpoints[696]); - builder.AddEndpoint(_endpoints[697]); - builder.AddEndpoint(_endpoints[698]); - builder.AddEndpoint(_endpoints[699]); - builder.AddEndpoint(_endpoints[700]); - builder.AddEndpoint(_endpoints[701]); - builder.AddEndpoint(_endpoints[702]); - builder.AddEndpoint(_endpoints[703]); - builder.AddEndpoint(_endpoints[704]); - builder.AddEndpoint(_endpoints[705]); - builder.AddEndpoint(_endpoints[706]); - builder.AddEndpoint(_endpoints[707]); - builder.AddEndpoint(_endpoints[708]); - builder.AddEndpoint(_endpoints[709]); - builder.AddEndpoint(_endpoints[710]); - builder.AddEndpoint(_endpoints[711]); - builder.AddEndpoint(_endpoints[712]); - builder.AddEndpoint(_endpoints[713]); - builder.AddEndpoint(_endpoints[714]); - builder.AddEndpoint(_endpoints[715]); - builder.AddEndpoint(_endpoints[716]); - builder.AddEndpoint(_endpoints[717]); - builder.AddEndpoint(_endpoints[718]); - builder.AddEndpoint(_endpoints[719]); - builder.AddEndpoint(_endpoints[720]); - builder.AddEndpoint(_endpoints[721]); - builder.AddEndpoint(_endpoints[722]); - builder.AddEndpoint(_endpoints[723]); - builder.AddEndpoint(_endpoints[724]); - builder.AddEndpoint(_endpoints[725]); - builder.AddEndpoint(_endpoints[726]); - builder.AddEndpoint(_endpoints[727]); - builder.AddEndpoint(_endpoints[728]); - builder.AddEndpoint(_endpoints[729]); - builder.AddEndpoint(_endpoints[730]); - builder.AddEndpoint(_endpoints[731]); - builder.AddEndpoint(_endpoints[732]); - builder.AddEndpoint(_endpoints[733]); - builder.AddEndpoint(_endpoints[734]); - builder.AddEndpoint(_endpoints[735]); - builder.AddEndpoint(_endpoints[736]); - builder.AddEndpoint(_endpoints[737]); - builder.AddEndpoint(_endpoints[738]); - builder.AddEndpoint(_endpoints[739]); - builder.AddEndpoint(_endpoints[740]); - builder.AddEndpoint(_endpoints[741]); - builder.AddEndpoint(_endpoints[742]); - builder.AddEndpoint(_endpoints[743]); - builder.AddEndpoint(_endpoints[744]); - builder.AddEndpoint(_endpoints[745]); - builder.AddEndpoint(_endpoints[746]); - builder.AddEndpoint(_endpoints[747]); - builder.AddEndpoint(_endpoints[748]); - builder.AddEndpoint(_endpoints[749]); - builder.AddEndpoint(_endpoints[750]); - builder.AddEndpoint(_endpoints[751]); - builder.AddEndpoint(_endpoints[752]); - builder.AddEndpoint(_endpoints[753]); - builder.AddEndpoint(_endpoints[754]); - builder.AddEndpoint(_endpoints[755]); - builder.AddEndpoint(_endpoints[756]); - builder.AddEndpoint(_endpoints[757]); - builder.AddEndpoint(_endpoints[758]); - builder.AddEndpoint(_endpoints[759]); - builder.AddEndpoint(_endpoints[760]); - builder.AddEndpoint(_endpoints[761]); - builder.AddEndpoint(_endpoints[762]); - builder.AddEndpoint(_endpoints[763]); - builder.AddEndpoint(_endpoints[764]); - builder.AddEndpoint(_endpoints[765]); - builder.AddEndpoint(_endpoints[766]); - builder.AddEndpoint(_endpoints[767]); - builder.AddEndpoint(_endpoints[768]); - builder.AddEndpoint(_endpoints[769]); - builder.AddEndpoint(_endpoints[770]); - builder.AddEndpoint(_endpoints[771]); - builder.AddEndpoint(_endpoints[772]); - builder.AddEndpoint(_endpoints[773]); - builder.AddEndpoint(_endpoints[774]); - builder.AddEndpoint(_endpoints[775]); - builder.AddEndpoint(_endpoints[776]); - builder.AddEndpoint(_endpoints[777]); - builder.AddEndpoint(_endpoints[778]); - builder.AddEndpoint(_endpoints[779]); - builder.AddEndpoint(_endpoints[780]); - builder.AddEndpoint(_endpoints[781]); - builder.AddEndpoint(_endpoints[782]); - builder.AddEndpoint(_endpoints[783]); - builder.AddEndpoint(_endpoints[784]); - builder.AddEndpoint(_endpoints[785]); - builder.AddEndpoint(_endpoints[786]); - builder.AddEndpoint(_endpoints[787]); - builder.AddEndpoint(_endpoints[788]); - builder.AddEndpoint(_endpoints[789]); - builder.AddEndpoint(_endpoints[790]); - builder.AddEndpoint(_endpoints[791]); - builder.AddEndpoint(_endpoints[792]); - builder.AddEndpoint(_endpoints[793]); - builder.AddEndpoint(_endpoints[794]); - builder.AddEndpoint(_endpoints[795]); - builder.AddEndpoint(_endpoints[796]); - builder.AddEndpoint(_endpoints[797]); - builder.AddEndpoint(_endpoints[798]); - builder.AddEndpoint(_endpoints[799]); - builder.AddEndpoint(_endpoints[800]); - builder.AddEndpoint(_endpoints[801]); - builder.AddEndpoint(_endpoints[802]); - builder.AddEndpoint(_endpoints[803]); - builder.AddEndpoint(_endpoints[804]); - builder.AddEndpoint(_endpoints[805]); - builder.AddEndpoint(_endpoints[806]); - builder.AddEndpoint(_endpoints[807]); - builder.AddEndpoint(_endpoints[808]); - builder.AddEndpoint(_endpoints[809]); - builder.AddEndpoint(_endpoints[810]); - builder.AddEndpoint(_endpoints[811]); - builder.AddEndpoint(_endpoints[812]); - builder.AddEndpoint(_endpoints[813]); - builder.AddEndpoint(_endpoints[814]); - builder.AddEndpoint(_endpoints[815]); - builder.AddEndpoint(_endpoints[816]); - builder.AddEndpoint(_endpoints[817]); - builder.AddEndpoint(_endpoints[818]); - builder.AddEndpoint(_endpoints[819]); - builder.AddEndpoint(_endpoints[820]); - builder.AddEndpoint(_endpoints[821]); - builder.AddEndpoint(_endpoints[822]); - builder.AddEndpoint(_endpoints[823]); - builder.AddEndpoint(_endpoints[824]); - builder.AddEndpoint(_endpoints[825]); - builder.AddEndpoint(_endpoints[826]); - builder.AddEndpoint(_endpoints[827]); - builder.AddEndpoint(_endpoints[828]); - builder.AddEndpoint(_endpoints[829]); - builder.AddEndpoint(_endpoints[830]); - builder.AddEndpoint(_endpoints[831]); - builder.AddEndpoint(_endpoints[832]); - builder.AddEndpoint(_endpoints[833]); - builder.AddEndpoint(_endpoints[834]); - builder.AddEndpoint(_endpoints[835]); - builder.AddEndpoint(_endpoints[836]); - builder.AddEndpoint(_endpoints[837]); - builder.AddEndpoint(_endpoints[838]); - builder.AddEndpoint(_endpoints[839]); - builder.AddEndpoint(_endpoints[840]); - builder.AddEndpoint(_endpoints[841]); - builder.AddEndpoint(_endpoints[842]); - builder.AddEndpoint(_endpoints[843]); - builder.AddEndpoint(_endpoints[844]); - builder.AddEndpoint(_endpoints[845]); - builder.AddEndpoint(_endpoints[846]); - builder.AddEndpoint(_endpoints[847]); - builder.AddEndpoint(_endpoints[848]); - builder.AddEndpoint(_endpoints[849]); - builder.AddEndpoint(_endpoints[850]); - builder.AddEndpoint(_endpoints[851]); - builder.AddEndpoint(_endpoints[852]); - builder.AddEndpoint(_endpoints[853]); - builder.AddEndpoint(_endpoints[854]); - builder.AddEndpoint(_endpoints[855]); - builder.AddEndpoint(_endpoints[856]); - builder.AddEndpoint(_endpoints[857]); - builder.AddEndpoint(_endpoints[858]); - builder.AddEndpoint(_endpoints[859]); - builder.AddEndpoint(_endpoints[860]); - builder.AddEndpoint(_endpoints[861]); - builder.AddEndpoint(_endpoints[862]); - builder.AddEndpoint(_endpoints[863]); - builder.AddEndpoint(_endpoints[864]); - builder.AddEndpoint(_endpoints[865]); - builder.AddEndpoint(_endpoints[866]); - builder.AddEndpoint(_endpoints[867]); - builder.AddEndpoint(_endpoints[868]); - builder.AddEndpoint(_endpoints[869]); - builder.AddEndpoint(_endpoints[870]); - builder.AddEndpoint(_endpoints[871]); - builder.AddEndpoint(_endpoints[872]); - builder.AddEndpoint(_endpoints[873]); - builder.AddEndpoint(_endpoints[874]); - builder.AddEndpoint(_endpoints[875]); - builder.AddEndpoint(_endpoints[876]); - builder.AddEndpoint(_endpoints[877]); - builder.AddEndpoint(_endpoints[878]); - builder.AddEndpoint(_endpoints[879]); - builder.AddEndpoint(_endpoints[880]); - builder.AddEndpoint(_endpoints[881]); - builder.AddEndpoint(_endpoints[882]); - builder.AddEndpoint(_endpoints[883]); - builder.AddEndpoint(_endpoints[884]); - builder.AddEndpoint(_endpoints[885]); - builder.AddEndpoint(_endpoints[886]); - builder.AddEndpoint(_endpoints[887]); - builder.AddEndpoint(_endpoints[888]); - builder.AddEndpoint(_endpoints[889]); - builder.AddEndpoint(_endpoints[890]); - builder.AddEndpoint(_endpoints[891]); - builder.AddEndpoint(_endpoints[892]); - builder.AddEndpoint(_endpoints[893]); - builder.AddEndpoint(_endpoints[894]); - builder.AddEndpoint(_endpoints[895]); - builder.AddEndpoint(_endpoints[896]); - builder.AddEndpoint(_endpoints[897]); - builder.AddEndpoint(_endpoints[898]); - builder.AddEndpoint(_endpoints[899]); - builder.AddEndpoint(_endpoints[900]); - builder.AddEndpoint(_endpoints[901]); - builder.AddEndpoint(_endpoints[902]); - builder.AddEndpoint(_endpoints[903]); - builder.AddEndpoint(_endpoints[904]); - builder.AddEndpoint(_endpoints[905]); - builder.AddEndpoint(_endpoints[906]); - builder.AddEndpoint(_endpoints[907]); - builder.AddEndpoint(_endpoints[908]); - builder.AddEndpoint(_endpoints[909]); - builder.AddEndpoint(_endpoints[910]); - builder.AddEndpoint(_endpoints[911]); - builder.AddEndpoint(_endpoints[912]); - builder.AddEndpoint(_endpoints[913]); - builder.AddEndpoint(_endpoints[914]); - builder.AddEndpoint(_endpoints[915]); - builder.AddEndpoint(_endpoints[916]); - builder.AddEndpoint(_endpoints[917]); - builder.AddEndpoint(_endpoints[918]); - builder.AddEndpoint(_endpoints[919]); - builder.AddEndpoint(_endpoints[920]); - builder.AddEndpoint(_endpoints[921]); - builder.AddEndpoint(_endpoints[922]); - builder.AddEndpoint(_endpoints[923]); - builder.AddEndpoint(_endpoints[924]); - builder.AddEndpoint(_endpoints[925]); - builder.AddEndpoint(_endpoints[926]); - builder.AddEndpoint(_endpoints[927]); - builder.AddEndpoint(_endpoints[928]); - builder.AddEndpoint(_endpoints[929]); - builder.AddEndpoint(_endpoints[930]); - builder.AddEndpoint(_endpoints[931]); - builder.AddEndpoint(_endpoints[932]); - builder.AddEndpoint(_endpoints[933]); - builder.AddEndpoint(_endpoints[934]); - builder.AddEndpoint(_endpoints[935]); - builder.AddEndpoint(_endpoints[936]); - builder.AddEndpoint(_endpoints[937]); - builder.AddEndpoint(_endpoints[938]); - builder.AddEndpoint(_endpoints[939]); - builder.AddEndpoint(_endpoints[940]); - builder.AddEndpoint(_endpoints[941]); - builder.AddEndpoint(_endpoints[942]); - builder.AddEndpoint(_endpoints[943]); - builder.AddEndpoint(_endpoints[944]); - builder.AddEndpoint(_endpoints[945]); - builder.AddEndpoint(_endpoints[946]); - builder.AddEndpoint(_endpoints[947]); - builder.AddEndpoint(_endpoints[948]); - builder.AddEndpoint(_endpoints[949]); - builder.AddEndpoint(_endpoints[950]); - builder.AddEndpoint(_endpoints[951]); - builder.AddEndpoint(_endpoints[952]); - builder.AddEndpoint(_endpoints[953]); - builder.AddEndpoint(_endpoints[954]); - builder.AddEndpoint(_endpoints[955]); - builder.AddEndpoint(_endpoints[956]); - builder.AddEndpoint(_endpoints[957]); - builder.AddEndpoint(_endpoints[958]); - builder.AddEndpoint(_endpoints[959]); - builder.AddEndpoint(_endpoints[960]); - builder.AddEndpoint(_endpoints[961]); - builder.AddEndpoint(_endpoints[962]); - builder.AddEndpoint(_endpoints[963]); - builder.AddEndpoint(_endpoints[964]); - builder.AddEndpoint(_endpoints[965]); - builder.AddEndpoint(_endpoints[966]); - builder.AddEndpoint(_endpoints[967]); - builder.AddEndpoint(_endpoints[968]); - builder.AddEndpoint(_endpoints[969]); - builder.AddEndpoint(_endpoints[970]); - builder.AddEndpoint(_endpoints[971]); - builder.AddEndpoint(_endpoints[972]); - builder.AddEndpoint(_endpoints[973]); - builder.AddEndpoint(_endpoints[974]); - builder.AddEndpoint(_endpoints[975]); - builder.AddEndpoint(_endpoints[976]); - builder.AddEndpoint(_endpoints[977]); - builder.AddEndpoint(_endpoints[978]); - builder.AddEndpoint(_endpoints[979]); - builder.AddEndpoint(_endpoints[980]); - builder.AddEndpoint(_endpoints[981]); - builder.AddEndpoint(_endpoints[982]); - builder.AddEndpoint(_endpoints[983]); - builder.AddEndpoint(_endpoints[984]); - builder.AddEndpoint(_endpoints[985]); - builder.AddEndpoint(_endpoints[986]); - builder.AddEndpoint(_endpoints[987]); - builder.AddEndpoint(_endpoints[988]); - builder.AddEndpoint(_endpoints[989]); - builder.AddEndpoint(_endpoints[990]); - builder.AddEndpoint(_endpoints[991]); - builder.AddEndpoint(_endpoints[992]); - builder.AddEndpoint(_endpoints[993]); - builder.AddEndpoint(_endpoints[994]); - builder.AddEndpoint(_endpoints[995]); - builder.AddEndpoint(_endpoints[996]); - builder.AddEndpoint(_endpoints[997]); - builder.AddEndpoint(_endpoints[998]); - builder.AddEndpoint(_endpoints[999]); - builder.AddEndpoint(_endpoints[1000]); - builder.AddEndpoint(_endpoints[1001]); - builder.AddEndpoint(_endpoints[1002]); - builder.AddEndpoint(_endpoints[1003]); - builder.AddEndpoint(_endpoints[1004]); - builder.AddEndpoint(_endpoints[1005]); - builder.AddEndpoint(_endpoints[1006]); - builder.AddEndpoint(_endpoints[1007]); - builder.AddEndpoint(_endpoints[1008]); - builder.AddEndpoint(_endpoints[1009]); - builder.AddEndpoint(_endpoints[1010]); - builder.AddEndpoint(_endpoints[1011]); - builder.AddEndpoint(_endpoints[1012]); - builder.AddEndpoint(_endpoints[1013]); - builder.AddEndpoint(_endpoints[1014]); - builder.AddEndpoint(_endpoints[1015]); - builder.AddEndpoint(_endpoints[1016]); - builder.AddEndpoint(_endpoints[1017]); - builder.AddEndpoint(_endpoints[1018]); - builder.AddEndpoint(_endpoints[1019]); - builder.AddEndpoint(_endpoints[1020]); - builder.AddEndpoint(_endpoints[1021]); - builder.AddEndpoint(_endpoints[1022]); - builder.AddEndpoint(_endpoints[1023]); - builder.AddEndpoint(_endpoints[1024]); - builder.AddEndpoint(_endpoints[1025]); - builder.AddEndpoint(_endpoints[1026]); - builder.AddEndpoint(_endpoints[1027]); - builder.AddEndpoint(_endpoints[1028]); - builder.AddEndpoint(_endpoints[1029]); - builder.AddEndpoint(_endpoints[1030]); - builder.AddEndpoint(_endpoints[1031]); - builder.AddEndpoint(_endpoints[1032]); - builder.AddEndpoint(_endpoints[1033]); - builder.AddEndpoint(_endpoints[1034]); - builder.AddEndpoint(_endpoints[1035]); - builder.AddEndpoint(_endpoints[1036]); - builder.AddEndpoint(_endpoints[1037]); - builder.AddEndpoint(_endpoints[1038]); - builder.AddEndpoint(_endpoints[1039]); - builder.AddEndpoint(_endpoints[1040]); - builder.AddEndpoint(_endpoints[1041]); - builder.AddEndpoint(_endpoints[1042]); - builder.AddEndpoint(_endpoints[1043]); - builder.AddEndpoint(_endpoints[1044]); - builder.AddEndpoint(_endpoints[1045]); - builder.AddEndpoint(_endpoints[1046]); - builder.AddEndpoint(_endpoints[1047]); - builder.AddEndpoint(_endpoints[1048]); - builder.AddEndpoint(_endpoints[1049]); - builder.AddEndpoint(_endpoints[1050]); - builder.AddEndpoint(_endpoints[1051]); - builder.AddEndpoint(_endpoints[1052]); - builder.AddEndpoint(_endpoints[1053]); - builder.AddEndpoint(_endpoints[1054]); - builder.AddEndpoint(_endpoints[1055]); - builder.AddEndpoint(_endpoints[1056]); - builder.AddEndpoint(_endpoints[1057]); - builder.AddEndpoint(_endpoints[1058]); - builder.AddEndpoint(_endpoints[1059]); - builder.AddEndpoint(_endpoints[1060]); - builder.AddEndpoint(_endpoints[1061]); - builder.AddEndpoint(_endpoints[1062]); - builder.AddEndpoint(_endpoints[1063]); - builder.AddEndpoint(_endpoints[1064]); - builder.AddEndpoint(_endpoints[1065]); - builder.AddEndpoint(_endpoints[1066]); - builder.AddEndpoint(_endpoints[1067]); - builder.AddEndpoint(_endpoints[1068]); - builder.AddEndpoint(_endpoints[1069]); - builder.AddEndpoint(_endpoints[1070]); - builder.AddEndpoint(_endpoints[1071]); - builder.AddEndpoint(_endpoints[1072]); - builder.AddEndpoint(_endpoints[1073]); - builder.AddEndpoint(_endpoints[1074]); - builder.AddEndpoint(_endpoints[1075]); - builder.AddEndpoint(_endpoints[1076]); - builder.AddEndpoint(_endpoints[1077]); - builder.AddEndpoint(_endpoints[1078]); - builder.AddEndpoint(_endpoints[1079]); - builder.AddEndpoint(_endpoints[1080]); - builder.AddEndpoint(_endpoints[1081]); - builder.AddEndpoint(_endpoints[1082]); - builder.AddEndpoint(_endpoints[1083]); - builder.AddEndpoint(_endpoints[1084]); - builder.AddEndpoint(_endpoints[1085]); - builder.AddEndpoint(_endpoints[1086]); - builder.AddEndpoint(_endpoints[1087]); - builder.AddEndpoint(_endpoints[1088]); - builder.AddEndpoint(_endpoints[1089]); - builder.AddEndpoint(_endpoints[1090]); - builder.AddEndpoint(_endpoints[1091]); - builder.AddEndpoint(_endpoints[1092]); - builder.AddEndpoint(_endpoints[1093]); - builder.AddEndpoint(_endpoints[1094]); - builder.AddEndpoint(_endpoints[1095]); - builder.AddEndpoint(_endpoints[1096]); - builder.AddEndpoint(_endpoints[1097]); - builder.AddEndpoint(_endpoints[1098]); - builder.AddEndpoint(_endpoints[1099]); - builder.AddEndpoint(_endpoints[1100]); - builder.AddEndpoint(_endpoints[1101]); - builder.AddEndpoint(_endpoints[1102]); - builder.AddEndpoint(_endpoints[1103]); - builder.AddEndpoint(_endpoints[1104]); - builder.AddEndpoint(_endpoints[1105]); - builder.AddEndpoint(_endpoints[1106]); - builder.AddEndpoint(_endpoints[1107]); - builder.AddEndpoint(_endpoints[1108]); - builder.AddEndpoint(_endpoints[1109]); - builder.AddEndpoint(_endpoints[1110]); - builder.AddEndpoint(_endpoints[1111]); - builder.AddEndpoint(_endpoints[1112]); - builder.AddEndpoint(_endpoints[1113]); - builder.AddEndpoint(_endpoints[1114]); - builder.AddEndpoint(_endpoints[1115]); - builder.AddEndpoint(_endpoints[1116]); - builder.AddEndpoint(_endpoints[1117]); - builder.AddEndpoint(_endpoints[1118]); - builder.AddEndpoint(_endpoints[1119]); - builder.AddEndpoint(_endpoints[1120]); - builder.AddEndpoint(_endpoints[1121]); - builder.AddEndpoint(_endpoints[1122]); - builder.AddEndpoint(_endpoints[1123]); - builder.AddEndpoint(_endpoints[1124]); - builder.AddEndpoint(_endpoints[1125]); - builder.AddEndpoint(_endpoints[1126]); - builder.AddEndpoint(_endpoints[1127]); - builder.AddEndpoint(_endpoints[1128]); - builder.AddEndpoint(_endpoints[1129]); - builder.AddEndpoint(_endpoints[1130]); - builder.AddEndpoint(_endpoints[1131]); - builder.AddEndpoint(_endpoints[1132]); - builder.AddEndpoint(_endpoints[1133]); - builder.AddEndpoint(_endpoints[1134]); - builder.AddEndpoint(_endpoints[1135]); - builder.AddEndpoint(_endpoints[1136]); - builder.AddEndpoint(_endpoints[1137]); - builder.AddEndpoint(_endpoints[1138]); - builder.AddEndpoint(_endpoints[1139]); - builder.AddEndpoint(_endpoints[1140]); - builder.AddEndpoint(_endpoints[1141]); - builder.AddEndpoint(_endpoints[1142]); - builder.AddEndpoint(_endpoints[1143]); - builder.AddEndpoint(_endpoints[1144]); - builder.AddEndpoint(_endpoints[1145]); - builder.AddEndpoint(_endpoints[1146]); - builder.AddEndpoint(_endpoints[1147]); - builder.AddEndpoint(_endpoints[1148]); - builder.AddEndpoint(_endpoints[1149]); - builder.AddEndpoint(_endpoints[1150]); - builder.AddEndpoint(_endpoints[1151]); - builder.AddEndpoint(_endpoints[1152]); - builder.AddEndpoint(_endpoints[1153]); - builder.AddEndpoint(_endpoints[1154]); - builder.AddEndpoint(_endpoints[1155]); - builder.AddEndpoint(_endpoints[1156]); - builder.AddEndpoint(_endpoints[1157]); - builder.AddEndpoint(_endpoints[1158]); - builder.AddEndpoint(_endpoints[1159]); - builder.AddEndpoint(_endpoints[1160]); - builder.AddEndpoint(_endpoints[1161]); - builder.AddEndpoint(_endpoints[1162]); - builder.AddEndpoint(_endpoints[1163]); - builder.AddEndpoint(_endpoints[1164]); - builder.AddEndpoint(_endpoints[1165]); - builder.AddEndpoint(_endpoints[1166]); - builder.AddEndpoint(_endpoints[1167]); - builder.AddEndpoint(_endpoints[1168]); - builder.AddEndpoint(_endpoints[1169]); - builder.AddEndpoint(_endpoints[1170]); - builder.AddEndpoint(_endpoints[1171]); - builder.AddEndpoint(_endpoints[1172]); - builder.AddEndpoint(_endpoints[1173]); - builder.AddEndpoint(_endpoints[1174]); - builder.AddEndpoint(_endpoints[1175]); - builder.AddEndpoint(_endpoints[1176]); - builder.AddEndpoint(_endpoints[1177]); - builder.AddEndpoint(_endpoints[1178]); - builder.AddEndpoint(_endpoints[1179]); - builder.AddEndpoint(_endpoints[1180]); - builder.AddEndpoint(_endpoints[1181]); - builder.AddEndpoint(_endpoints[1182]); - builder.AddEndpoint(_endpoints[1183]); - builder.AddEndpoint(_endpoints[1184]); - builder.AddEndpoint(_endpoints[1185]); - builder.AddEndpoint(_endpoints[1186]); - builder.AddEndpoint(_endpoints[1187]); - builder.AddEndpoint(_endpoints[1188]); - builder.AddEndpoint(_endpoints[1189]); - builder.AddEndpoint(_endpoints[1190]); - builder.AddEndpoint(_endpoints[1191]); - builder.AddEndpoint(_endpoints[1192]); - builder.AddEndpoint(_endpoints[1193]); - builder.AddEndpoint(_endpoints[1194]); - builder.AddEndpoint(_endpoints[1195]); - builder.AddEndpoint(_endpoints[1196]); - builder.AddEndpoint(_endpoints[1197]); - builder.AddEndpoint(_endpoints[1198]); - builder.AddEndpoint(_endpoints[1199]); - builder.AddEndpoint(_endpoints[1200]); - builder.AddEndpoint(_endpoints[1201]); - builder.AddEndpoint(_endpoints[1202]); - builder.AddEndpoint(_endpoints[1203]); - builder.AddEndpoint(_endpoints[1204]); - builder.AddEndpoint(_endpoints[1205]); - builder.AddEndpoint(_endpoints[1206]); - builder.AddEndpoint(_endpoints[1207]); - builder.AddEndpoint(_endpoints[1208]); - builder.AddEndpoint(_endpoints[1209]); - builder.AddEndpoint(_endpoints[1210]); - builder.AddEndpoint(_endpoints[1211]); - builder.AddEndpoint(_endpoints[1212]); - builder.AddEndpoint(_endpoints[1213]); - builder.AddEndpoint(_endpoints[1214]); - builder.AddEndpoint(_endpoints[1215]); - builder.AddEndpoint(_endpoints[1216]); - builder.AddEndpoint(_endpoints[1217]); - builder.AddEndpoint(_endpoints[1218]); - builder.AddEndpoint(_endpoints[1219]); - builder.AddEndpoint(_endpoints[1220]); - builder.AddEndpoint(_endpoints[1221]); - builder.AddEndpoint(_endpoints[1222]); - builder.AddEndpoint(_endpoints[1223]); - builder.AddEndpoint(_endpoints[1224]); - builder.AddEndpoint(_endpoints[1225]); - builder.AddEndpoint(_endpoints[1226]); - builder.AddEndpoint(_endpoints[1227]); - builder.AddEndpoint(_endpoints[1228]); - builder.AddEndpoint(_endpoints[1229]); - builder.AddEndpoint(_endpoints[1230]); - builder.AddEndpoint(_endpoints[1231]); - builder.AddEndpoint(_endpoints[1232]); - builder.AddEndpoint(_endpoints[1233]); - builder.AddEndpoint(_endpoints[1234]); - builder.AddEndpoint(_endpoints[1235]); - builder.AddEndpoint(_endpoints[1236]); - builder.AddEndpoint(_endpoints[1237]); - builder.AddEndpoint(_endpoints[1238]); - builder.AddEndpoint(_endpoints[1239]); - builder.AddEndpoint(_endpoints[1240]); - builder.AddEndpoint(_endpoints[1241]); - builder.AddEndpoint(_endpoints[1242]); - builder.AddEndpoint(_endpoints[1243]); - builder.AddEndpoint(_endpoints[1244]); - builder.AddEndpoint(_endpoints[1245]); - builder.AddEndpoint(_endpoints[1246]); - builder.AddEndpoint(_endpoints[1247]); - builder.AddEndpoint(_endpoints[1248]); - builder.AddEndpoint(_endpoints[1249]); - builder.AddEndpoint(_endpoints[1250]); - builder.AddEndpoint(_endpoints[1251]); - builder.AddEndpoint(_endpoints[1252]); - builder.AddEndpoint(_endpoints[1253]); - builder.AddEndpoint(_endpoints[1254]); - builder.AddEndpoint(_endpoints[1255]); - builder.AddEndpoint(_endpoints[1256]); - builder.AddEndpoint(_endpoints[1257]); - builder.AddEndpoint(_endpoints[1258]); - builder.AddEndpoint(_endpoints[1259]); - builder.AddEndpoint(_endpoints[1260]); - builder.AddEndpoint(_endpoints[1261]); - builder.AddEndpoint(_endpoints[1262]); - builder.AddEndpoint(_endpoints[1263]); - builder.AddEndpoint(_endpoints[1264]); - builder.AddEndpoint(_endpoints[1265]); - builder.AddEndpoint(_endpoints[1266]); - builder.AddEndpoint(_endpoints[1267]); - builder.AddEndpoint(_endpoints[1268]); - builder.AddEndpoint(_endpoints[1269]); - builder.AddEndpoint(_endpoints[1270]); - builder.AddEndpoint(_endpoints[1271]); - builder.AddEndpoint(_endpoints[1272]); - builder.AddEndpoint(_endpoints[1273]); - builder.AddEndpoint(_endpoints[1274]); - builder.AddEndpoint(_endpoints[1275]); - builder.AddEndpoint(_endpoints[1276]); - builder.AddEndpoint(_endpoints[1277]); - builder.AddEndpoint(_endpoints[1278]); - builder.AddEndpoint(_endpoints[1279]); - builder.AddEndpoint(_endpoints[1280]); - builder.AddEndpoint(_endpoints[1281]); - builder.AddEndpoint(_endpoints[1282]); - builder.AddEndpoint(_endpoints[1283]); - builder.AddEndpoint(_endpoints[1284]); - builder.AddEndpoint(_endpoints[1285]); - builder.AddEndpoint(_endpoints[1286]); - builder.AddEndpoint(_endpoints[1287]); - builder.AddEndpoint(_endpoints[1288]); - builder.AddEndpoint(_endpoints[1289]); - builder.AddEndpoint(_endpoints[1290]); - builder.AddEndpoint(_endpoints[1291]); - builder.AddEndpoint(_endpoints[1292]); - builder.AddEndpoint(_endpoints[1293]); - builder.AddEndpoint(_endpoints[1294]); - builder.AddEndpoint(_endpoints[1295]); - builder.AddEndpoint(_endpoints[1296]); - builder.AddEndpoint(_endpoints[1297]); - builder.AddEndpoint(_endpoints[1298]); - builder.AddEndpoint(_endpoints[1299]); - builder.AddEndpoint(_endpoints[1300]); - builder.AddEndpoint(_endpoints[1301]); - builder.AddEndpoint(_endpoints[1302]); - builder.AddEndpoint(_endpoints[1303]); - builder.AddEndpoint(_endpoints[1304]); - builder.AddEndpoint(_endpoints[1305]); - builder.AddEndpoint(_endpoints[1306]); - builder.AddEndpoint(_endpoints[1307]); - builder.AddEndpoint(_endpoints[1308]); - builder.AddEndpoint(_endpoints[1309]); - builder.AddEndpoint(_endpoints[1310]); - builder.AddEndpoint(_endpoints[1311]); - builder.AddEndpoint(_endpoints[1312]); - builder.AddEndpoint(_endpoints[1313]); - builder.AddEndpoint(_endpoints[1314]); - builder.AddEndpoint(_endpoints[1315]); - builder.AddEndpoint(_endpoints[1316]); - builder.AddEndpoint(_endpoints[1317]); - builder.AddEndpoint(_endpoints[1318]); - builder.AddEndpoint(_endpoints[1319]); - builder.AddEndpoint(_endpoints[1320]); - builder.AddEndpoint(_endpoints[1321]); - builder.AddEndpoint(_endpoints[1322]); - builder.AddEndpoint(_endpoints[1323]); - builder.AddEndpoint(_endpoints[1324]); - builder.AddEndpoint(_endpoints[1325]); - builder.AddEndpoint(_endpoints[1326]); - builder.AddEndpoint(_endpoints[1327]); - builder.AddEndpoint(_endpoints[1328]); - builder.AddEndpoint(_endpoints[1329]); - builder.AddEndpoint(_endpoints[1330]); - builder.AddEndpoint(_endpoints[1331]); - builder.AddEndpoint(_endpoints[1332]); - builder.AddEndpoint(_endpoints[1333]); - builder.AddEndpoint(_endpoints[1334]); - builder.AddEndpoint(_endpoints[1335]); - builder.AddEndpoint(_endpoints[1336]); - builder.AddEndpoint(_endpoints[1337]); - builder.AddEndpoint(_endpoints[1338]); - builder.AddEndpoint(_endpoints[1339]); - builder.AddEndpoint(_endpoints[1340]); - builder.AddEndpoint(_endpoints[1341]); - builder.AddEndpoint(_endpoints[1342]); - builder.AddEndpoint(_endpoints[1343]); - builder.AddEndpoint(_endpoints[1344]); - builder.AddEndpoint(_endpoints[1345]); - builder.AddEndpoint(_endpoints[1346]); - builder.AddEndpoint(_endpoints[1347]); - builder.AddEndpoint(_endpoints[1348]); - builder.AddEndpoint(_endpoints[1349]); - builder.AddEndpoint(_endpoints[1350]); - builder.AddEndpoint(_endpoints[1351]); - builder.AddEndpoint(_endpoints[1352]); - builder.AddEndpoint(_endpoints[1353]); - builder.AddEndpoint(_endpoints[1354]); - builder.AddEndpoint(_endpoints[1355]); - builder.AddEndpoint(_endpoints[1356]); - builder.AddEndpoint(_endpoints[1357]); - builder.AddEndpoint(_endpoints[1358]); - builder.AddEndpoint(_endpoints[1359]); - builder.AddEndpoint(_endpoints[1360]); - builder.AddEndpoint(_endpoints[1361]); - builder.AddEndpoint(_endpoints[1362]); - builder.AddEndpoint(_endpoints[1363]); - builder.AddEndpoint(_endpoints[1364]); - builder.AddEndpoint(_endpoints[1365]); - builder.AddEndpoint(_endpoints[1366]); - builder.AddEndpoint(_endpoints[1367]); - builder.AddEndpoint(_endpoints[1368]); - builder.AddEndpoint(_endpoints[1369]); - builder.AddEndpoint(_endpoints[1370]); - builder.AddEndpoint(_endpoints[1371]); - builder.AddEndpoint(_endpoints[1372]); - builder.AddEndpoint(_endpoints[1373]); - builder.AddEndpoint(_endpoints[1374]); - builder.AddEndpoint(_endpoints[1375]); - builder.AddEndpoint(_endpoints[1376]); - builder.AddEndpoint(_endpoints[1377]); - builder.AddEndpoint(_endpoints[1378]); - builder.AddEndpoint(_endpoints[1379]); - builder.AddEndpoint(_endpoints[1380]); - builder.AddEndpoint(_endpoints[1381]); - builder.AddEndpoint(_endpoints[1382]); - builder.AddEndpoint(_endpoints[1383]); - builder.AddEndpoint(_endpoints[1384]); - builder.AddEndpoint(_endpoints[1385]); - builder.AddEndpoint(_endpoints[1386]); - builder.AddEndpoint(_endpoints[1387]); - builder.AddEndpoint(_endpoints[1388]); - builder.AddEndpoint(_endpoints[1389]); - builder.AddEndpoint(_endpoints[1390]); - builder.AddEndpoint(_endpoints[1391]); - builder.AddEndpoint(_endpoints[1392]); - builder.AddEndpoint(_endpoints[1393]); - builder.AddEndpoint(_endpoints[1394]); - builder.AddEndpoint(_endpoints[1395]); - builder.AddEndpoint(_endpoints[1396]); - builder.AddEndpoint(_endpoints[1397]); - builder.AddEndpoint(_endpoints[1398]); - builder.AddEndpoint(_endpoints[1399]); - builder.AddEndpoint(_endpoints[1400]); - builder.AddEndpoint(_endpoints[1401]); - builder.AddEndpoint(_endpoints[1402]); - builder.AddEndpoint(_endpoints[1403]); - builder.AddEndpoint(_endpoints[1404]); - builder.AddEndpoint(_endpoints[1405]); - builder.AddEndpoint(_endpoints[1406]); - builder.AddEndpoint(_endpoints[1407]); - builder.AddEndpoint(_endpoints[1408]); - builder.AddEndpoint(_endpoints[1409]); - builder.AddEndpoint(_endpoints[1410]); - builder.AddEndpoint(_endpoints[1411]); - builder.AddEndpoint(_endpoints[1412]); - builder.AddEndpoint(_endpoints[1413]); - builder.AddEndpoint(_endpoints[1414]); - builder.AddEndpoint(_endpoints[1415]); - builder.AddEndpoint(_endpoints[1416]); - builder.AddEndpoint(_endpoints[1417]); - builder.AddEndpoint(_endpoints[1418]); - builder.AddEndpoint(_endpoints[1419]); - builder.AddEndpoint(_endpoints[1420]); - builder.AddEndpoint(_endpoints[1421]); - builder.AddEndpoint(_endpoints[1422]); - builder.AddEndpoint(_endpoints[1423]); - builder.AddEndpoint(_endpoints[1424]); - builder.AddEndpoint(_endpoints[1425]); - builder.AddEndpoint(_endpoints[1426]); - builder.AddEndpoint(_endpoints[1427]); - builder.AddEndpoint(_endpoints[1428]); - builder.AddEndpoint(_endpoints[1429]); - builder.AddEndpoint(_endpoints[1430]); - builder.AddEndpoint(_endpoints[1431]); - builder.AddEndpoint(_endpoints[1432]); - builder.AddEndpoint(_endpoints[1433]); - builder.AddEndpoint(_endpoints[1434]); - builder.AddEndpoint(_endpoints[1435]); - builder.AddEndpoint(_endpoints[1436]); - builder.AddEndpoint(_endpoints[1437]); - builder.AddEndpoint(_endpoints[1438]); - builder.AddEndpoint(_endpoints[1439]); - builder.AddEndpoint(_endpoints[1440]); - builder.AddEndpoint(_endpoints[1441]); - builder.AddEndpoint(_endpoints[1442]); - builder.AddEndpoint(_endpoints[1443]); - builder.AddEndpoint(_endpoints[1444]); - builder.AddEndpoint(_endpoints[1445]); - builder.AddEndpoint(_endpoints[1446]); - builder.AddEndpoint(_endpoints[1447]); - builder.AddEndpoint(_endpoints[1448]); - builder.AddEndpoint(_endpoints[1449]); - builder.AddEndpoint(_endpoints[1450]); - builder.AddEndpoint(_endpoints[1451]); - builder.AddEndpoint(_endpoints[1452]); - builder.AddEndpoint(_endpoints[1453]); - builder.AddEndpoint(_endpoints[1454]); - builder.AddEndpoint(_endpoints[1455]); - builder.AddEndpoint(_endpoints[1456]); - builder.AddEndpoint(_endpoints[1457]); - builder.AddEndpoint(_endpoints[1458]); - builder.AddEndpoint(_endpoints[1459]); - builder.AddEndpoint(_endpoints[1460]); - builder.AddEndpoint(_endpoints[1461]); - builder.AddEndpoint(_endpoints[1462]); - builder.AddEndpoint(_endpoints[1463]); - builder.AddEndpoint(_endpoints[1464]); - builder.AddEndpoint(_endpoints[1465]); - builder.AddEndpoint(_endpoints[1466]); - builder.AddEndpoint(_endpoints[1467]); - builder.AddEndpoint(_endpoints[1468]); - builder.AddEndpoint(_endpoints[1469]); - builder.AddEndpoint(_endpoints[1470]); - builder.AddEndpoint(_endpoints[1471]); - builder.AddEndpoint(_endpoints[1472]); - builder.AddEndpoint(_endpoints[1473]); - builder.AddEndpoint(_endpoints[1474]); - builder.AddEndpoint(_endpoints[1475]); - builder.AddEndpoint(_endpoints[1476]); - builder.AddEndpoint(_endpoints[1477]); - builder.AddEndpoint(_endpoints[1478]); - builder.AddEndpoint(_endpoints[1479]); - builder.AddEndpoint(_endpoints[1480]); - builder.AddEndpoint(_endpoints[1481]); - builder.AddEndpoint(_endpoints[1482]); - builder.AddEndpoint(_endpoints[1483]); - builder.AddEndpoint(_endpoints[1484]); - builder.AddEndpoint(_endpoints[1485]); - builder.AddEndpoint(_endpoints[1486]); - builder.AddEndpoint(_endpoints[1487]); - builder.AddEndpoint(_endpoints[1488]); - builder.AddEndpoint(_endpoints[1489]); - builder.AddEndpoint(_endpoints[1490]); - builder.AddEndpoint(_endpoints[1491]); - builder.AddEndpoint(_endpoints[1492]); - builder.AddEndpoint(_endpoints[1493]); - builder.AddEndpoint(_endpoints[1494]); - builder.AddEndpoint(_endpoints[1495]); - builder.AddEndpoint(_endpoints[1496]); - builder.AddEndpoint(_endpoints[1497]); - builder.AddEndpoint(_endpoints[1498]); - builder.AddEndpoint(_endpoints[1499]); - builder.AddEndpoint(_endpoints[1500]); - builder.AddEndpoint(_endpoints[1501]); - builder.AddEndpoint(_endpoints[1502]); - builder.AddEndpoint(_endpoints[1503]); - builder.AddEndpoint(_endpoints[1504]); - builder.AddEndpoint(_endpoints[1505]); - builder.AddEndpoint(_endpoints[1506]); - builder.AddEndpoint(_endpoints[1507]); - builder.AddEndpoint(_endpoints[1508]); - builder.AddEndpoint(_endpoints[1509]); - builder.AddEndpoint(_endpoints[1510]); - builder.AddEndpoint(_endpoints[1511]); - builder.AddEndpoint(_endpoints[1512]); - builder.AddEndpoint(_endpoints[1513]); - builder.AddEndpoint(_endpoints[1514]); - builder.AddEndpoint(_endpoints[1515]); - builder.AddEndpoint(_endpoints[1516]); - builder.AddEndpoint(_endpoints[1517]); - builder.AddEndpoint(_endpoints[1518]); - builder.AddEndpoint(_endpoints[1519]); - builder.AddEndpoint(_endpoints[1520]); - builder.AddEndpoint(_endpoints[1521]); - builder.AddEndpoint(_endpoints[1522]); - builder.AddEndpoint(_endpoints[1523]); - builder.AddEndpoint(_endpoints[1524]); - builder.AddEndpoint(_endpoints[1525]); - builder.AddEndpoint(_endpoints[1526]); - builder.AddEndpoint(_endpoints[1527]); - builder.AddEndpoint(_endpoints[1528]); - builder.AddEndpoint(_endpoints[1529]); - builder.AddEndpoint(_endpoints[1530]); - builder.AddEndpoint(_endpoints[1531]); - builder.AddEndpoint(_endpoints[1532]); - builder.AddEndpoint(_endpoints[1533]); - builder.AddEndpoint(_endpoints[1534]); - builder.AddEndpoint(_endpoints[1535]); - builder.AddEndpoint(_endpoints[1536]); - builder.AddEndpoint(_endpoints[1537]); - builder.AddEndpoint(_endpoints[1538]); - builder.AddEndpoint(_endpoints[1539]); - builder.AddEndpoint(_endpoints[1540]); - builder.AddEndpoint(_endpoints[1541]); - builder.AddEndpoint(_endpoints[1542]); - builder.AddEndpoint(_endpoints[1543]); - builder.AddEndpoint(_endpoints[1544]); - builder.AddEndpoint(_endpoints[1545]); - builder.AddEndpoint(_endpoints[1546]); - builder.AddEndpoint(_endpoints[1547]); - builder.AddEndpoint(_endpoints[1548]); - builder.AddEndpoint(_endpoints[1549]); - builder.AddEndpoint(_endpoints[1550]); - builder.AddEndpoint(_endpoints[1551]); - builder.AddEndpoint(_endpoints[1552]); - builder.AddEndpoint(_endpoints[1553]); - builder.AddEndpoint(_endpoints[1554]); - builder.AddEndpoint(_endpoints[1555]); - builder.AddEndpoint(_endpoints[1556]); - builder.AddEndpoint(_endpoints[1557]); - builder.AddEndpoint(_endpoints[1558]); - builder.AddEndpoint(_endpoints[1559]); - builder.AddEndpoint(_endpoints[1560]); - builder.AddEndpoint(_endpoints[1561]); - builder.AddEndpoint(_endpoints[1562]); - builder.AddEndpoint(_endpoints[1563]); - builder.AddEndpoint(_endpoints[1564]); - builder.AddEndpoint(_endpoints[1565]); - builder.AddEndpoint(_endpoints[1566]); - builder.AddEndpoint(_endpoints[1567]); - builder.AddEndpoint(_endpoints[1568]); - builder.AddEndpoint(_endpoints[1569]); - builder.AddEndpoint(_endpoints[1570]); - builder.AddEndpoint(_endpoints[1571]); - builder.AddEndpoint(_endpoints[1572]); - builder.AddEndpoint(_endpoints[1573]); - builder.AddEndpoint(_endpoints[1574]); - builder.AddEndpoint(_endpoints[1575]); - builder.AddEndpoint(_endpoints[1576]); - builder.AddEndpoint(_endpoints[1577]); - builder.AddEndpoint(_endpoints[1578]); - builder.AddEndpoint(_endpoints[1579]); - builder.AddEndpoint(_endpoints[1580]); - builder.AddEndpoint(_endpoints[1581]); - builder.AddEndpoint(_endpoints[1582]); - builder.AddEndpoint(_endpoints[1583]); - builder.AddEndpoint(_endpoints[1584]); - builder.AddEndpoint(_endpoints[1585]); - builder.AddEndpoint(_endpoints[1586]); - builder.AddEndpoint(_endpoints[1587]); - builder.AddEndpoint(_endpoints[1588]); - builder.AddEndpoint(_endpoints[1589]); - builder.AddEndpoint(_endpoints[1590]); - builder.AddEndpoint(_endpoints[1591]); - builder.AddEndpoint(_endpoints[1592]); - builder.AddEndpoint(_endpoints[1593]); - builder.AddEndpoint(_endpoints[1594]); - builder.AddEndpoint(_endpoints[1595]); - builder.AddEndpoint(_endpoints[1596]); - builder.AddEndpoint(_endpoints[1597]); - builder.AddEndpoint(_endpoints[1598]); - builder.AddEndpoint(_endpoints[1599]); - builder.AddEndpoint(_endpoints[1600]); - builder.AddEndpoint(_endpoints[1601]); - builder.AddEndpoint(_endpoints[1602]); - builder.AddEndpoint(_endpoints[1603]); - builder.AddEndpoint(_endpoints[1604]); - builder.AddEndpoint(_endpoints[1605]); - builder.AddEndpoint(_endpoints[1606]); - builder.AddEndpoint(_endpoints[1607]); - builder.AddEndpoint(_endpoints[1608]); - builder.AddEndpoint(_endpoints[1609]); - builder.AddEndpoint(_endpoints[1610]); - builder.AddEndpoint(_endpoints[1611]); - builder.AddEndpoint(_endpoints[1612]); - builder.AddEndpoint(_endpoints[1613]); - builder.AddEndpoint(_endpoints[1614]); - builder.AddEndpoint(_endpoints[1615]); - builder.AddEndpoint(_endpoints[1616]); - builder.AddEndpoint(_endpoints[1617]); - builder.AddEndpoint(_endpoints[1618]); - builder.AddEndpoint(_endpoints[1619]); - builder.AddEndpoint(_endpoints[1620]); - builder.AddEndpoint(_endpoints[1621]); - builder.AddEndpoint(_endpoints[1622]); - builder.AddEndpoint(_endpoints[1623]); - builder.AddEndpoint(_endpoints[1624]); - builder.AddEndpoint(_endpoints[1625]); - builder.AddEndpoint(_endpoints[1626]); - builder.AddEndpoint(_endpoints[1627]); - builder.AddEndpoint(_endpoints[1628]); - builder.AddEndpoint(_endpoints[1629]); - builder.AddEndpoint(_endpoints[1630]); - builder.AddEndpoint(_endpoints[1631]); - builder.AddEndpoint(_endpoints[1632]); - builder.AddEndpoint(_endpoints[1633]); - builder.AddEndpoint(_endpoints[1634]); - builder.AddEndpoint(_endpoints[1635]); - builder.AddEndpoint(_endpoints[1636]); - builder.AddEndpoint(_endpoints[1637]); - builder.AddEndpoint(_endpoints[1638]); - builder.AddEndpoint(_endpoints[1639]); - builder.AddEndpoint(_endpoints[1640]); - builder.AddEndpoint(_endpoints[1641]); - builder.AddEndpoint(_endpoints[1642]); - builder.AddEndpoint(_endpoints[1643]); - builder.AddEndpoint(_endpoints[1644]); - builder.AddEndpoint(_endpoints[1645]); - builder.AddEndpoint(_endpoints[1646]); - builder.AddEndpoint(_endpoints[1647]); - builder.AddEndpoint(_endpoints[1648]); - builder.AddEndpoint(_endpoints[1649]); - builder.AddEndpoint(_endpoints[1650]); - builder.AddEndpoint(_endpoints[1651]); - builder.AddEndpoint(_endpoints[1652]); - builder.AddEndpoint(_endpoints[1653]); - builder.AddEndpoint(_endpoints[1654]); - builder.AddEndpoint(_endpoints[1655]); - builder.AddEndpoint(_endpoints[1656]); - builder.AddEndpoint(_endpoints[1657]); - builder.AddEndpoint(_endpoints[1658]); - builder.AddEndpoint(_endpoints[1659]); - builder.AddEndpoint(_endpoints[1660]); - builder.AddEndpoint(_endpoints[1661]); - builder.AddEndpoint(_endpoints[1662]); - builder.AddEndpoint(_endpoints[1663]); - builder.AddEndpoint(_endpoints[1664]); - builder.AddEndpoint(_endpoints[1665]); - builder.AddEndpoint(_endpoints[1666]); - builder.AddEndpoint(_endpoints[1667]); - builder.AddEndpoint(_endpoints[1668]); - builder.AddEndpoint(_endpoints[1669]); - builder.AddEndpoint(_endpoints[1670]); - builder.AddEndpoint(_endpoints[1671]); - builder.AddEndpoint(_endpoints[1672]); - builder.AddEndpoint(_endpoints[1673]); - builder.AddEndpoint(_endpoints[1674]); - builder.AddEndpoint(_endpoints[1675]); - builder.AddEndpoint(_endpoints[1676]); - builder.AddEndpoint(_endpoints[1677]); - builder.AddEndpoint(_endpoints[1678]); - builder.AddEndpoint(_endpoints[1679]); - builder.AddEndpoint(_endpoints[1680]); - builder.AddEndpoint(_endpoints[1681]); - builder.AddEndpoint(_endpoints[1682]); - builder.AddEndpoint(_endpoints[1683]); - builder.AddEndpoint(_endpoints[1684]); - builder.AddEndpoint(_endpoints[1685]); - builder.AddEndpoint(_endpoints[1686]); - builder.AddEndpoint(_endpoints[1687]); - builder.AddEndpoint(_endpoints[1688]); - builder.AddEndpoint(_endpoints[1689]); - builder.AddEndpoint(_endpoints[1690]); - builder.AddEndpoint(_endpoints[1691]); - builder.AddEndpoint(_endpoints[1692]); - builder.AddEndpoint(_endpoints[1693]); - builder.AddEndpoint(_endpoints[1694]); - builder.AddEndpoint(_endpoints[1695]); - builder.AddEndpoint(_endpoints[1696]); - builder.AddEndpoint(_endpoints[1697]); - builder.AddEndpoint(_endpoints[1698]); - builder.AddEndpoint(_endpoints[1699]); - builder.AddEndpoint(_endpoints[1700]); - builder.AddEndpoint(_endpoints[1701]); - builder.AddEndpoint(_endpoints[1702]); - builder.AddEndpoint(_endpoints[1703]); - builder.AddEndpoint(_endpoints[1704]); - builder.AddEndpoint(_endpoints[1705]); - builder.AddEndpoint(_endpoints[1706]); - builder.AddEndpoint(_endpoints[1707]); - builder.AddEndpoint(_endpoints[1708]); - builder.AddEndpoint(_endpoints[1709]); - builder.AddEndpoint(_endpoints[1710]); - builder.AddEndpoint(_endpoints[1711]); - builder.AddEndpoint(_endpoints[1712]); - builder.AddEndpoint(_endpoints[1713]); - builder.AddEndpoint(_endpoints[1714]); - builder.AddEndpoint(_endpoints[1715]); - builder.AddEndpoint(_endpoints[1716]); - builder.AddEndpoint(_endpoints[1717]); - builder.AddEndpoint(_endpoints[1718]); - builder.AddEndpoint(_endpoints[1719]); - builder.AddEndpoint(_endpoints[1720]); - builder.AddEndpoint(_endpoints[1721]); - builder.AddEndpoint(_endpoints[1722]); - builder.AddEndpoint(_endpoints[1723]); - builder.AddEndpoint(_endpoints[1724]); - builder.AddEndpoint(_endpoints[1725]); - builder.AddEndpoint(_endpoints[1726]); - builder.AddEndpoint(_endpoints[1727]); - builder.AddEndpoint(_endpoints[1728]); - builder.AddEndpoint(_endpoints[1729]); - builder.AddEndpoint(_endpoints[1730]); - builder.AddEndpoint(_endpoints[1731]); - builder.AddEndpoint(_endpoints[1732]); - builder.AddEndpoint(_endpoints[1733]); - builder.AddEndpoint(_endpoints[1734]); - builder.AddEndpoint(_endpoints[1735]); - builder.AddEndpoint(_endpoints[1736]); - builder.AddEndpoint(_endpoints[1737]); - builder.AddEndpoint(_endpoints[1738]); - builder.AddEndpoint(_endpoints[1739]); - builder.AddEndpoint(_endpoints[1740]); - builder.AddEndpoint(_endpoints[1741]); - builder.AddEndpoint(_endpoints[1742]); - builder.AddEndpoint(_endpoints[1743]); - builder.AddEndpoint(_endpoints[1744]); - builder.AddEndpoint(_endpoints[1745]); - builder.AddEndpoint(_endpoints[1746]); - builder.AddEndpoint(_endpoints[1747]); - builder.AddEndpoint(_endpoints[1748]); - builder.AddEndpoint(_endpoints[1749]); - builder.AddEndpoint(_endpoints[1750]); - builder.AddEndpoint(_endpoints[1751]); - builder.AddEndpoint(_endpoints[1752]); - builder.AddEndpoint(_endpoints[1753]); - builder.AddEndpoint(_endpoints[1754]); - builder.AddEndpoint(_endpoints[1755]); - builder.AddEndpoint(_endpoints[1756]); - builder.AddEndpoint(_endpoints[1757]); - builder.AddEndpoint(_endpoints[1758]); - builder.AddEndpoint(_endpoints[1759]); - builder.AddEndpoint(_endpoints[1760]); - builder.AddEndpoint(_endpoints[1761]); - builder.AddEndpoint(_endpoints[1762]); - builder.AddEndpoint(_endpoints[1763]); - builder.AddEndpoint(_endpoints[1764]); - builder.AddEndpoint(_endpoints[1765]); - builder.AddEndpoint(_endpoints[1766]); - builder.AddEndpoint(_endpoints[1767]); - builder.AddEndpoint(_endpoints[1768]); - builder.AddEndpoint(_endpoints[1769]); - builder.AddEndpoint(_endpoints[1770]); - builder.AddEndpoint(_endpoints[1771]); - builder.AddEndpoint(_endpoints[1772]); - builder.AddEndpoint(_endpoints[1773]); - builder.AddEndpoint(_endpoints[1774]); - builder.AddEndpoint(_endpoints[1775]); - builder.AddEndpoint(_endpoints[1776]); - builder.AddEndpoint(_endpoints[1777]); - builder.AddEndpoint(_endpoints[1778]); - builder.AddEndpoint(_endpoints[1779]); - builder.AddEndpoint(_endpoints[1780]); - builder.AddEndpoint(_endpoints[1781]); - builder.AddEndpoint(_endpoints[1782]); - builder.AddEndpoint(_endpoints[1783]); - builder.AddEndpoint(_endpoints[1784]); - builder.AddEndpoint(_endpoints[1785]); - builder.AddEndpoint(_endpoints[1786]); - builder.AddEndpoint(_endpoints[1787]); - builder.AddEndpoint(_endpoints[1788]); - builder.AddEndpoint(_endpoints[1789]); - builder.AddEndpoint(_endpoints[1790]); - builder.AddEndpoint(_endpoints[1791]); - builder.AddEndpoint(_endpoints[1792]); - builder.AddEndpoint(_endpoints[1793]); - builder.AddEndpoint(_endpoints[1794]); - builder.AddEndpoint(_endpoints[1795]); - builder.AddEndpoint(_endpoints[1796]); - builder.AddEndpoint(_endpoints[1797]); - builder.AddEndpoint(_endpoints[1798]); - builder.AddEndpoint(_endpoints[1799]); - builder.AddEndpoint(_endpoints[1800]); - builder.AddEndpoint(_endpoints[1801]); - builder.AddEndpoint(_endpoints[1802]); - builder.AddEndpoint(_endpoints[1803]); - builder.AddEndpoint(_endpoints[1804]); - builder.AddEndpoint(_endpoints[1805]); - builder.AddEndpoint(_endpoints[1806]); - builder.AddEndpoint(_endpoints[1807]); - builder.AddEndpoint(_endpoints[1808]); - builder.AddEndpoint(_endpoints[1809]); - builder.AddEndpoint(_endpoints[1810]); - builder.AddEndpoint(_endpoints[1811]); - builder.AddEndpoint(_endpoints[1812]); - builder.AddEndpoint(_endpoints[1813]); - builder.AddEndpoint(_endpoints[1814]); - builder.AddEndpoint(_endpoints[1815]); - builder.AddEndpoint(_endpoints[1816]); - builder.AddEndpoint(_endpoints[1817]); - builder.AddEndpoint(_endpoints[1818]); - builder.AddEndpoint(_endpoints[1819]); - builder.AddEndpoint(_endpoints[1820]); - builder.AddEndpoint(_endpoints[1821]); - builder.AddEndpoint(_endpoints[1822]); - builder.AddEndpoint(_endpoints[1823]); - builder.AddEndpoint(_endpoints[1824]); - builder.AddEndpoint(_endpoints[1825]); - builder.AddEndpoint(_endpoints[1826]); - builder.AddEndpoint(_endpoints[1827]); - builder.AddEndpoint(_endpoints[1828]); - builder.AddEndpoint(_endpoints[1829]); - builder.AddEndpoint(_endpoints[1830]); - builder.AddEndpoint(_endpoints[1831]); - builder.AddEndpoint(_endpoints[1832]); - builder.AddEndpoint(_endpoints[1833]); - builder.AddEndpoint(_endpoints[1834]); - builder.AddEndpoint(_endpoints[1835]); - builder.AddEndpoint(_endpoints[1836]); - builder.AddEndpoint(_endpoints[1837]); - builder.AddEndpoint(_endpoints[1838]); - builder.AddEndpoint(_endpoints[1839]); - builder.AddEndpoint(_endpoints[1840]); - builder.AddEndpoint(_endpoints[1841]); - builder.AddEndpoint(_endpoints[1842]); - builder.AddEndpoint(_endpoints[1843]); - builder.AddEndpoint(_endpoints[1844]); - builder.AddEndpoint(_endpoints[1845]); - builder.AddEndpoint(_endpoints[1846]); - builder.AddEndpoint(_endpoints[1847]); - builder.AddEndpoint(_endpoints[1848]); - builder.AddEndpoint(_endpoints[1849]); - builder.AddEndpoint(_endpoints[1850]); - builder.AddEndpoint(_endpoints[1851]); - builder.AddEndpoint(_endpoints[1852]); - builder.AddEndpoint(_endpoints[1853]); - builder.AddEndpoint(_endpoints[1854]); - builder.AddEndpoint(_endpoints[1855]); - builder.AddEndpoint(_endpoints[1856]); - builder.AddEndpoint(_endpoints[1857]); - builder.AddEndpoint(_endpoints[1858]); - builder.AddEndpoint(_endpoints[1859]); - builder.AddEndpoint(_endpoints[1860]); - builder.AddEndpoint(_endpoints[1861]); - builder.AddEndpoint(_endpoints[1862]); - builder.AddEndpoint(_endpoints[1863]); - builder.AddEndpoint(_endpoints[1864]); - builder.AddEndpoint(_endpoints[1865]); - builder.AddEndpoint(_endpoints[1866]); - builder.AddEndpoint(_endpoints[1867]); - builder.AddEndpoint(_endpoints[1868]); - builder.AddEndpoint(_endpoints[1869]); - builder.AddEndpoint(_endpoints[1870]); - builder.AddEndpoint(_endpoints[1871]); - builder.AddEndpoint(_endpoints[1872]); - builder.AddEndpoint(_endpoints[1873]); - builder.AddEndpoint(_endpoints[1874]); - builder.AddEndpoint(_endpoints[1875]); - builder.AddEndpoint(_endpoints[1876]); - builder.AddEndpoint(_endpoints[1877]); - builder.AddEndpoint(_endpoints[1878]); - builder.AddEndpoint(_endpoints[1879]); - builder.AddEndpoint(_endpoints[1880]); - builder.AddEndpoint(_endpoints[1881]); - builder.AddEndpoint(_endpoints[1882]); - builder.AddEndpoint(_endpoints[1883]); - builder.AddEndpoint(_endpoints[1884]); - builder.AddEndpoint(_endpoints[1885]); - builder.AddEndpoint(_endpoints[1886]); - builder.AddEndpoint(_endpoints[1887]); - builder.AddEndpoint(_endpoints[1888]); - builder.AddEndpoint(_endpoints[1889]); - builder.AddEndpoint(_endpoints[1890]); - builder.AddEndpoint(_endpoints[1891]); - builder.AddEndpoint(_endpoints[1892]); - builder.AddEndpoint(_endpoints[1893]); - builder.AddEndpoint(_endpoints[1894]); - builder.AddEndpoint(_endpoints[1895]); - builder.AddEndpoint(_endpoints[1896]); - builder.AddEndpoint(_endpoints[1897]); - builder.AddEndpoint(_endpoints[1898]); - builder.AddEndpoint(_endpoints[1899]); - builder.AddEndpoint(_endpoints[1900]); - builder.AddEndpoint(_endpoints[1901]); - builder.AddEndpoint(_endpoints[1902]); - builder.AddEndpoint(_endpoints[1903]); - builder.AddEndpoint(_endpoints[1904]); - builder.AddEndpoint(_endpoints[1905]); - builder.AddEndpoint(_endpoints[1906]); - builder.AddEndpoint(_endpoints[1907]); - builder.AddEndpoint(_endpoints[1908]); - builder.AddEndpoint(_endpoints[1909]); - builder.AddEndpoint(_endpoints[1910]); - builder.AddEndpoint(_endpoints[1911]); - builder.AddEndpoint(_endpoints[1912]); - builder.AddEndpoint(_endpoints[1913]); - builder.AddEndpoint(_endpoints[1914]); - builder.AddEndpoint(_endpoints[1915]); - builder.AddEndpoint(_endpoints[1916]); - builder.AddEndpoint(_endpoints[1917]); - builder.AddEndpoint(_endpoints[1918]); - builder.AddEndpoint(_endpoints[1919]); - builder.AddEndpoint(_endpoints[1920]); - builder.AddEndpoint(_endpoints[1921]); - builder.AddEndpoint(_endpoints[1922]); - builder.AddEndpoint(_endpoints[1923]); - builder.AddEndpoint(_endpoints[1924]); - builder.AddEndpoint(_endpoints[1925]); - builder.AddEndpoint(_endpoints[1926]); - builder.AddEndpoint(_endpoints[1927]); - builder.AddEndpoint(_endpoints[1928]); - builder.AddEndpoint(_endpoints[1929]); - builder.AddEndpoint(_endpoints[1930]); - builder.AddEndpoint(_endpoints[1931]); - builder.AddEndpoint(_endpoints[1932]); - builder.AddEndpoint(_endpoints[1933]); - builder.AddEndpoint(_endpoints[1934]); - builder.AddEndpoint(_endpoints[1935]); - builder.AddEndpoint(_endpoints[1936]); - builder.AddEndpoint(_endpoints[1937]); - builder.AddEndpoint(_endpoints[1938]); - builder.AddEndpoint(_endpoints[1939]); - builder.AddEndpoint(_endpoints[1940]); - builder.AddEndpoint(_endpoints[1941]); - builder.AddEndpoint(_endpoints[1942]); - builder.AddEndpoint(_endpoints[1943]); - builder.AddEndpoint(_endpoints[1944]); - builder.AddEndpoint(_endpoints[1945]); - builder.AddEndpoint(_endpoints[1946]); - builder.AddEndpoint(_endpoints[1947]); - builder.AddEndpoint(_endpoints[1948]); - builder.AddEndpoint(_endpoints[1949]); - builder.AddEndpoint(_endpoints[1950]); - builder.AddEndpoint(_endpoints[1951]); - builder.AddEndpoint(_endpoints[1952]); - builder.AddEndpoint(_endpoints[1953]); - builder.AddEndpoint(_endpoints[1954]); - builder.AddEndpoint(_endpoints[1955]); - builder.AddEndpoint(_endpoints[1956]); - builder.AddEndpoint(_endpoints[1957]); - builder.AddEndpoint(_endpoints[1958]); - builder.AddEndpoint(_endpoints[1959]); - builder.AddEndpoint(_endpoints[1960]); - builder.AddEndpoint(_endpoints[1961]); - builder.AddEndpoint(_endpoints[1962]); - builder.AddEndpoint(_endpoints[1963]); - builder.AddEndpoint(_endpoints[1964]); - builder.AddEndpoint(_endpoints[1965]); - builder.AddEndpoint(_endpoints[1966]); - builder.AddEndpoint(_endpoints[1967]); - builder.AddEndpoint(_endpoints[1968]); - builder.AddEndpoint(_endpoints[1969]); - builder.AddEndpoint(_endpoints[1970]); - builder.AddEndpoint(_endpoints[1971]); - builder.AddEndpoint(_endpoints[1972]); - builder.AddEndpoint(_endpoints[1973]); - builder.AddEndpoint(_endpoints[1974]); - builder.AddEndpoint(_endpoints[1975]); - builder.AddEndpoint(_endpoints[1976]); - builder.AddEndpoint(_endpoints[1977]); - builder.AddEndpoint(_endpoints[1978]); - builder.AddEndpoint(_endpoints[1979]); - builder.AddEndpoint(_endpoints[1980]); - builder.AddEndpoint(_endpoints[1981]); - builder.AddEndpoint(_endpoints[1982]); - builder.AddEndpoint(_endpoints[1983]); - builder.AddEndpoint(_endpoints[1984]); - builder.AddEndpoint(_endpoints[1985]); - builder.AddEndpoint(_endpoints[1986]); - builder.AddEndpoint(_endpoints[1987]); - builder.AddEndpoint(_endpoints[1988]); - builder.AddEndpoint(_endpoints[1989]); - builder.AddEndpoint(_endpoints[1990]); - builder.AddEndpoint(_endpoints[1991]); - builder.AddEndpoint(_endpoints[1992]); - builder.AddEndpoint(_endpoints[1993]); - builder.AddEndpoint(_endpoints[1994]); - builder.AddEndpoint(_endpoints[1995]); - builder.AddEndpoint(_endpoints[1996]); - builder.AddEndpoint(_endpoints[1997]); - builder.AddEndpoint(_endpoints[1998]); - builder.AddEndpoint(_endpoints[1999]); - builder.AddEndpoint(_endpoints[2000]); - builder.AddEndpoint(_endpoints[2001]); - builder.AddEndpoint(_endpoints[2002]); - builder.AddEndpoint(_endpoints[2003]); - builder.AddEndpoint(_endpoints[2004]); - builder.AddEndpoint(_endpoints[2005]); - builder.AddEndpoint(_endpoints[2006]); - builder.AddEndpoint(_endpoints[2007]); - builder.AddEndpoint(_endpoints[2008]); - builder.AddEndpoint(_endpoints[2009]); - builder.AddEndpoint(_endpoints[2010]); - builder.AddEndpoint(_endpoints[2011]); - builder.AddEndpoint(_endpoints[2012]); - builder.AddEndpoint(_endpoints[2013]); - builder.AddEndpoint(_endpoints[2014]); - builder.AddEndpoint(_endpoints[2015]); - builder.AddEndpoint(_endpoints[2016]); - builder.AddEndpoint(_endpoints[2017]); - builder.AddEndpoint(_endpoints[2018]); - builder.AddEndpoint(_endpoints[2019]); - builder.AddEndpoint(_endpoints[2020]); - builder.AddEndpoint(_endpoints[2021]); - builder.AddEndpoint(_endpoints[2022]); - builder.AddEndpoint(_endpoints[2023]); - builder.AddEndpoint(_endpoints[2024]); - builder.AddEndpoint(_endpoints[2025]); - builder.AddEndpoint(_endpoints[2026]); - builder.AddEndpoint(_endpoints[2027]); - builder.AddEndpoint(_endpoints[2028]); - builder.AddEndpoint(_endpoints[2029]); - builder.AddEndpoint(_endpoints[2030]); - builder.AddEndpoint(_endpoints[2031]); - builder.AddEndpoint(_endpoints[2032]); - builder.AddEndpoint(_endpoints[2033]); - builder.AddEndpoint(_endpoints[2034]); - builder.AddEndpoint(_endpoints[2035]); - builder.AddEndpoint(_endpoints[2036]); - builder.AddEndpoint(_endpoints[2037]); - builder.AddEndpoint(_endpoints[2038]); - builder.AddEndpoint(_endpoints[2039]); - builder.AddEndpoint(_endpoints[2040]); - builder.AddEndpoint(_endpoints[2041]); - builder.AddEndpoint(_endpoints[2042]); - builder.AddEndpoint(_endpoints[2043]); - builder.AddEndpoint(_endpoints[2044]); - builder.AddEndpoint(_endpoints[2045]); - builder.AddEndpoint(_endpoints[2046]); - builder.AddEndpoint(_endpoints[2047]); - builder.AddEndpoint(_endpoints[2048]); - builder.AddEndpoint(_endpoints[2049]); - builder.AddEndpoint(_endpoints[2050]); - builder.AddEndpoint(_endpoints[2051]); - builder.AddEndpoint(_endpoints[2052]); - builder.AddEndpoint(_endpoints[2053]); - builder.AddEndpoint(_endpoints[2054]); - builder.AddEndpoint(_endpoints[2055]); - builder.AddEndpoint(_endpoints[2056]); - builder.AddEndpoint(_endpoints[2057]); - builder.AddEndpoint(_endpoints[2058]); - builder.AddEndpoint(_endpoints[2059]); - builder.AddEndpoint(_endpoints[2060]); - builder.AddEndpoint(_endpoints[2061]); - builder.AddEndpoint(_endpoints[2062]); - builder.AddEndpoint(_endpoints[2063]); - builder.AddEndpoint(_endpoints[2064]); - builder.AddEndpoint(_endpoints[2065]); - builder.AddEndpoint(_endpoints[2066]); - builder.AddEndpoint(_endpoints[2067]); - builder.AddEndpoint(_endpoints[2068]); - builder.AddEndpoint(_endpoints[2069]); - builder.AddEndpoint(_endpoints[2070]); - builder.AddEndpoint(_endpoints[2071]); - builder.AddEndpoint(_endpoints[2072]); - builder.AddEndpoint(_endpoints[2073]); - builder.AddEndpoint(_endpoints[2074]); - builder.AddEndpoint(_endpoints[2075]); - builder.AddEndpoint(_endpoints[2076]); - builder.AddEndpoint(_endpoints[2077]); - builder.AddEndpoint(_endpoints[2078]); - builder.AddEndpoint(_endpoints[2079]); - builder.AddEndpoint(_endpoints[2080]); - builder.AddEndpoint(_endpoints[2081]); - builder.AddEndpoint(_endpoints[2082]); - builder.AddEndpoint(_endpoints[2083]); - builder.AddEndpoint(_endpoints[2084]); - builder.AddEndpoint(_endpoints[2085]); - builder.AddEndpoint(_endpoints[2086]); - builder.AddEndpoint(_endpoints[2087]); - builder.AddEndpoint(_endpoints[2088]); - builder.AddEndpoint(_endpoints[2089]); - builder.AddEndpoint(_endpoints[2090]); - builder.AddEndpoint(_endpoints[2091]); - builder.AddEndpoint(_endpoints[2092]); - builder.AddEndpoint(_endpoints[2093]); - builder.AddEndpoint(_endpoints[2094]); - builder.AddEndpoint(_endpoints[2095]); - builder.AddEndpoint(_endpoints[2096]); - builder.AddEndpoint(_endpoints[2097]); - builder.AddEndpoint(_endpoints[2098]); - builder.AddEndpoint(_endpoints[2099]); - builder.AddEndpoint(_endpoints[2100]); - builder.AddEndpoint(_endpoints[2101]); - builder.AddEndpoint(_endpoints[2102]); - builder.AddEndpoint(_endpoints[2103]); - builder.AddEndpoint(_endpoints[2104]); - builder.AddEndpoint(_endpoints[2105]); - builder.AddEndpoint(_endpoints[2106]); - builder.AddEndpoint(_endpoints[2107]); - builder.AddEndpoint(_endpoints[2108]); - builder.AddEndpoint(_endpoints[2109]); - builder.AddEndpoint(_endpoints[2110]); - builder.AddEndpoint(_endpoints[2111]); - builder.AddEndpoint(_endpoints[2112]); - builder.AddEndpoint(_endpoints[2113]); - builder.AddEndpoint(_endpoints[2114]); - builder.AddEndpoint(_endpoints[2115]); - builder.AddEndpoint(_endpoints[2116]); - builder.AddEndpoint(_endpoints[2117]); - builder.AddEndpoint(_endpoints[2118]); - builder.AddEndpoint(_endpoints[2119]); - builder.AddEndpoint(_endpoints[2120]); - builder.AddEndpoint(_endpoints[2121]); - builder.AddEndpoint(_endpoints[2122]); - builder.AddEndpoint(_endpoints[2123]); - builder.AddEndpoint(_endpoints[2124]); - builder.AddEndpoint(_endpoints[2125]); - builder.AddEndpoint(_endpoints[2126]); - builder.AddEndpoint(_endpoints[2127]); - builder.AddEndpoint(_endpoints[2128]); - builder.AddEndpoint(_endpoints[2129]); - builder.AddEndpoint(_endpoints[2130]); - builder.AddEndpoint(_endpoints[2131]); - builder.AddEndpoint(_endpoints[2132]); - builder.AddEndpoint(_endpoints[2133]); - builder.AddEndpoint(_endpoints[2134]); - builder.AddEndpoint(_endpoints[2135]); - builder.AddEndpoint(_endpoints[2136]); - builder.AddEndpoint(_endpoints[2137]); - builder.AddEndpoint(_endpoints[2138]); - builder.AddEndpoint(_endpoints[2139]); - builder.AddEndpoint(_endpoints[2140]); - builder.AddEndpoint(_endpoints[2141]); - builder.AddEndpoint(_endpoints[2142]); - builder.AddEndpoint(_endpoints[2143]); - builder.AddEndpoint(_endpoints[2144]); - builder.AddEndpoint(_endpoints[2145]); - builder.AddEndpoint(_endpoints[2146]); - builder.AddEndpoint(_endpoints[2147]); - builder.AddEndpoint(_endpoints[2148]); - builder.AddEndpoint(_endpoints[2149]); - builder.AddEndpoint(_endpoints[2150]); - builder.AddEndpoint(_endpoints[2151]); - builder.AddEndpoint(_endpoints[2152]); - builder.AddEndpoint(_endpoints[2153]); - builder.AddEndpoint(_endpoints[2154]); - builder.AddEndpoint(_endpoints[2155]); - builder.AddEndpoint(_endpoints[2156]); - builder.AddEndpoint(_endpoints[2157]); - builder.AddEndpoint(_endpoints[2158]); - builder.AddEndpoint(_endpoints[2159]); - builder.AddEndpoint(_endpoints[2160]); - builder.AddEndpoint(_endpoints[2161]); - builder.AddEndpoint(_endpoints[2162]); - builder.AddEndpoint(_endpoints[2163]); - builder.AddEndpoint(_endpoints[2164]); - builder.AddEndpoint(_endpoints[2165]); - builder.AddEndpoint(_endpoints[2166]); - builder.AddEndpoint(_endpoints[2167]); - builder.AddEndpoint(_endpoints[2168]); - builder.AddEndpoint(_endpoints[2169]); - builder.AddEndpoint(_endpoints[2170]); - builder.AddEndpoint(_endpoints[2171]); - builder.AddEndpoint(_endpoints[2172]); - builder.AddEndpoint(_endpoints[2173]); - builder.AddEndpoint(_endpoints[2174]); - builder.AddEndpoint(_endpoints[2175]); - builder.AddEndpoint(_endpoints[2176]); - builder.AddEndpoint(_endpoints[2177]); - builder.AddEndpoint(_endpoints[2178]); - builder.AddEndpoint(_endpoints[2179]); - builder.AddEndpoint(_endpoints[2180]); - builder.AddEndpoint(_endpoints[2181]); - builder.AddEndpoint(_endpoints[2182]); - builder.AddEndpoint(_endpoints[2183]); - builder.AddEndpoint(_endpoints[2184]); - builder.AddEndpoint(_endpoints[2185]); - builder.AddEndpoint(_endpoints[2186]); - builder.AddEndpoint(_endpoints[2187]); - builder.AddEndpoint(_endpoints[2188]); - builder.AddEndpoint(_endpoints[2189]); - builder.AddEndpoint(_endpoints[2190]); - builder.AddEndpoint(_endpoints[2191]); - builder.AddEndpoint(_endpoints[2192]); - builder.AddEndpoint(_endpoints[2193]); - builder.AddEndpoint(_endpoints[2194]); - builder.AddEndpoint(_endpoints[2195]); - builder.AddEndpoint(_endpoints[2196]); - builder.AddEndpoint(_endpoints[2197]); - builder.AddEndpoint(_endpoints[2198]); - builder.AddEndpoint(_endpoints[2199]); - builder.AddEndpoint(_endpoints[2200]); - builder.AddEndpoint(_endpoints[2201]); - builder.AddEndpoint(_endpoints[2202]); - builder.AddEndpoint(_endpoints[2203]); - builder.AddEndpoint(_endpoints[2204]); - builder.AddEndpoint(_endpoints[2205]); - builder.AddEndpoint(_endpoints[2206]); - builder.AddEndpoint(_endpoints[2207]); - builder.AddEndpoint(_endpoints[2208]); - builder.AddEndpoint(_endpoints[2209]); - builder.AddEndpoint(_endpoints[2210]); - builder.AddEndpoint(_endpoints[2211]); - builder.AddEndpoint(_endpoints[2212]); - builder.AddEndpoint(_endpoints[2213]); - builder.AddEndpoint(_endpoints[2214]); - builder.AddEndpoint(_endpoints[2215]); - builder.AddEndpoint(_endpoints[2216]); - builder.AddEndpoint(_endpoints[2217]); - builder.AddEndpoint(_endpoints[2218]); - builder.AddEndpoint(_endpoints[2219]); - builder.AddEndpoint(_endpoints[2220]); - builder.AddEndpoint(_endpoints[2221]); - builder.AddEndpoint(_endpoints[2222]); - builder.AddEndpoint(_endpoints[2223]); - builder.AddEndpoint(_endpoints[2224]); - builder.AddEndpoint(_endpoints[2225]); - builder.AddEndpoint(_endpoints[2226]); - builder.AddEndpoint(_endpoints[2227]); - builder.AddEndpoint(_endpoints[2228]); - builder.AddEndpoint(_endpoints[2229]); - builder.AddEndpoint(_endpoints[2230]); - builder.AddEndpoint(_endpoints[2231]); - builder.AddEndpoint(_endpoints[2232]); - builder.AddEndpoint(_endpoints[2233]); - builder.AddEndpoint(_endpoints[2234]); - builder.AddEndpoint(_endpoints[2235]); - builder.AddEndpoint(_endpoints[2236]); - builder.AddEndpoint(_endpoints[2237]); - builder.AddEndpoint(_endpoints[2238]); - builder.AddEndpoint(_endpoints[2239]); - builder.AddEndpoint(_endpoints[2240]); - builder.AddEndpoint(_endpoints[2241]); - builder.AddEndpoint(_endpoints[2242]); - builder.AddEndpoint(_endpoints[2243]); - builder.AddEndpoint(_endpoints[2244]); - builder.AddEndpoint(_endpoints[2245]); - builder.AddEndpoint(_endpoints[2246]); - builder.AddEndpoint(_endpoints[2247]); - builder.AddEndpoint(_endpoints[2248]); - builder.AddEndpoint(_endpoints[2249]); - builder.AddEndpoint(_endpoints[2250]); - builder.AddEndpoint(_endpoints[2251]); - builder.AddEndpoint(_endpoints[2252]); - builder.AddEndpoint(_endpoints[2253]); - builder.AddEndpoint(_endpoints[2254]); - builder.AddEndpoint(_endpoints[2255]); - builder.AddEndpoint(_endpoints[2256]); - builder.AddEndpoint(_endpoints[2257]); - builder.AddEndpoint(_endpoints[2258]); - builder.AddEndpoint(_endpoints[2259]); - builder.AddEndpoint(_endpoints[2260]); - builder.AddEndpoint(_endpoints[2261]); - builder.AddEndpoint(_endpoints[2262]); - builder.AddEndpoint(_endpoints[2263]); - builder.AddEndpoint(_endpoints[2264]); - builder.AddEndpoint(_endpoints[2265]); - builder.AddEndpoint(_endpoints[2266]); - builder.AddEndpoint(_endpoints[2267]); - builder.AddEndpoint(_endpoints[2268]); - builder.AddEndpoint(_endpoints[2269]); - builder.AddEndpoint(_endpoints[2270]); - builder.AddEndpoint(_endpoints[2271]); - builder.AddEndpoint(_endpoints[2272]); - builder.AddEndpoint(_endpoints[2273]); - builder.AddEndpoint(_endpoints[2274]); - builder.AddEndpoint(_endpoints[2275]); - builder.AddEndpoint(_endpoints[2276]); - builder.AddEndpoint(_endpoints[2277]); - builder.AddEndpoint(_endpoints[2278]); - builder.AddEndpoint(_endpoints[2279]); - builder.AddEndpoint(_endpoints[2280]); - builder.AddEndpoint(_endpoints[2281]); - builder.AddEndpoint(_endpoints[2282]); - builder.AddEndpoint(_endpoints[2283]); - builder.AddEndpoint(_endpoints[2284]); - builder.AddEndpoint(_endpoints[2285]); - builder.AddEndpoint(_endpoints[2286]); - builder.AddEndpoint(_endpoints[2287]); - builder.AddEndpoint(_endpoints[2288]); - builder.AddEndpoint(_endpoints[2289]); - builder.AddEndpoint(_endpoints[2290]); - builder.AddEndpoint(_endpoints[2291]); - builder.AddEndpoint(_endpoints[2292]); - builder.AddEndpoint(_endpoints[2293]); - builder.AddEndpoint(_endpoints[2294]); - builder.AddEndpoint(_endpoints[2295]); - builder.AddEndpoint(_endpoints[2296]); - builder.AddEndpoint(_endpoints[2297]); - builder.AddEndpoint(_endpoints[2298]); - builder.AddEndpoint(_endpoints[2299]); - builder.AddEndpoint(_endpoints[2300]); - builder.AddEndpoint(_endpoints[2301]); - builder.AddEndpoint(_endpoints[2302]); - builder.AddEndpoint(_endpoints[2303]); - builder.AddEndpoint(_endpoints[2304]); - builder.AddEndpoint(_endpoints[2305]); - builder.AddEndpoint(_endpoints[2306]); - builder.AddEndpoint(_endpoints[2307]); - builder.AddEndpoint(_endpoints[2308]); - builder.AddEndpoint(_endpoints[2309]); - builder.AddEndpoint(_endpoints[2310]); - builder.AddEndpoint(_endpoints[2311]); - builder.AddEndpoint(_endpoints[2312]); - builder.AddEndpoint(_endpoints[2313]); - builder.AddEndpoint(_endpoints[2314]); - builder.AddEndpoint(_endpoints[2315]); - builder.AddEndpoint(_endpoints[2316]); - builder.AddEndpoint(_endpoints[2317]); - builder.AddEndpoint(_endpoints[2318]); - builder.AddEndpoint(_endpoints[2319]); - builder.AddEndpoint(_endpoints[2320]); - builder.AddEndpoint(_endpoints[2321]); - builder.AddEndpoint(_endpoints[2322]); - builder.AddEndpoint(_endpoints[2323]); - builder.AddEndpoint(_endpoints[2324]); - builder.AddEndpoint(_endpoints[2325]); - builder.AddEndpoint(_endpoints[2326]); - builder.AddEndpoint(_endpoints[2327]); - builder.AddEndpoint(_endpoints[2328]); - builder.AddEndpoint(_endpoints[2329]); - builder.AddEndpoint(_endpoints[2330]); - builder.AddEndpoint(_endpoints[2331]); - builder.AddEndpoint(_endpoints[2332]); - builder.AddEndpoint(_endpoints[2333]); - builder.AddEndpoint(_endpoints[2334]); - builder.AddEndpoint(_endpoints[2335]); - builder.AddEndpoint(_endpoints[2336]); - builder.AddEndpoint(_endpoints[2337]); - builder.AddEndpoint(_endpoints[2338]); - builder.AddEndpoint(_endpoints[2339]); - builder.AddEndpoint(_endpoints[2340]); - builder.AddEndpoint(_endpoints[2341]); - builder.AddEndpoint(_endpoints[2342]); - builder.AddEndpoint(_endpoints[2343]); - builder.AddEndpoint(_endpoints[2344]); - builder.AddEndpoint(_endpoints[2345]); - builder.AddEndpoint(_endpoints[2346]); - builder.AddEndpoint(_endpoints[2347]); - builder.AddEndpoint(_endpoints[2348]); - builder.AddEndpoint(_endpoints[2349]); - builder.AddEndpoint(_endpoints[2350]); - builder.AddEndpoint(_endpoints[2351]); - builder.AddEndpoint(_endpoints[2352]); - builder.AddEndpoint(_endpoints[2353]); - builder.AddEndpoint(_endpoints[2354]); - builder.AddEndpoint(_endpoints[2355]); - builder.AddEndpoint(_endpoints[2356]); - builder.AddEndpoint(_endpoints[2357]); - builder.AddEndpoint(_endpoints[2358]); - builder.AddEndpoint(_endpoints[2359]); - builder.AddEndpoint(_endpoints[2360]); - builder.AddEndpoint(_endpoints[2361]); - builder.AddEndpoint(_endpoints[2362]); - builder.AddEndpoint(_endpoints[2363]); - builder.AddEndpoint(_endpoints[2364]); - builder.AddEndpoint(_endpoints[2365]); - builder.AddEndpoint(_endpoints[2366]); - builder.AddEndpoint(_endpoints[2367]); - builder.AddEndpoint(_endpoints[2368]); - builder.AddEndpoint(_endpoints[2369]); - builder.AddEndpoint(_endpoints[2370]); - builder.AddEndpoint(_endpoints[2371]); - builder.AddEndpoint(_endpoints[2372]); - builder.AddEndpoint(_endpoints[2373]); - builder.AddEndpoint(_endpoints[2374]); - builder.AddEndpoint(_endpoints[2375]); - builder.AddEndpoint(_endpoints[2376]); - builder.AddEndpoint(_endpoints[2377]); - builder.AddEndpoint(_endpoints[2378]); - builder.AddEndpoint(_endpoints[2379]); - builder.AddEndpoint(_endpoints[2380]); - builder.AddEndpoint(_endpoints[2381]); - builder.AddEndpoint(_endpoints[2382]); - builder.AddEndpoint(_endpoints[2383]); - builder.AddEndpoint(_endpoints[2384]); - builder.AddEndpoint(_endpoints[2385]); - builder.AddEndpoint(_endpoints[2386]); - builder.AddEndpoint(_endpoints[2387]); - builder.AddEndpoint(_endpoints[2388]); - builder.AddEndpoint(_endpoints[2389]); - builder.AddEndpoint(_endpoints[2390]); - builder.AddEndpoint(_endpoints[2391]); - builder.AddEndpoint(_endpoints[2392]); - builder.AddEndpoint(_endpoints[2393]); - builder.AddEndpoint(_endpoints[2394]); - builder.AddEndpoint(_endpoints[2395]); - builder.AddEndpoint(_endpoints[2396]); - builder.AddEndpoint(_endpoints[2397]); - builder.AddEndpoint(_endpoints[2398]); - builder.AddEndpoint(_endpoints[2399]); - builder.AddEndpoint(_endpoints[2400]); - builder.AddEndpoint(_endpoints[2401]); - builder.AddEndpoint(_endpoints[2402]); - builder.AddEndpoint(_endpoints[2403]); - builder.AddEndpoint(_endpoints[2404]); - builder.AddEndpoint(_endpoints[2405]); - builder.AddEndpoint(_endpoints[2406]); - builder.AddEndpoint(_endpoints[2407]); - builder.AddEndpoint(_endpoints[2408]); - builder.AddEndpoint(_endpoints[2409]); - builder.AddEndpoint(_endpoints[2410]); - builder.AddEndpoint(_endpoints[2411]); - builder.AddEndpoint(_endpoints[2412]); - builder.AddEndpoint(_endpoints[2413]); - builder.AddEndpoint(_endpoints[2414]); - builder.AddEndpoint(_endpoints[2415]); - builder.AddEndpoint(_endpoints[2416]); - builder.AddEndpoint(_endpoints[2417]); - builder.AddEndpoint(_endpoints[2418]); - builder.AddEndpoint(_endpoints[2419]); - builder.AddEndpoint(_endpoints[2420]); - builder.AddEndpoint(_endpoints[2421]); - builder.AddEndpoint(_endpoints[2422]); - builder.AddEndpoint(_endpoints[2423]); - builder.AddEndpoint(_endpoints[2424]); - builder.AddEndpoint(_endpoints[2425]); - builder.AddEndpoint(_endpoints[2426]); - builder.AddEndpoint(_endpoints[2427]); - builder.AddEndpoint(_endpoints[2428]); - builder.AddEndpoint(_endpoints[2429]); - builder.AddEndpoint(_endpoints[2430]); - builder.AddEndpoint(_endpoints[2431]); - builder.AddEndpoint(_endpoints[2432]); - builder.AddEndpoint(_endpoints[2433]); - builder.AddEndpoint(_endpoints[2434]); - builder.AddEndpoint(_endpoints[2435]); - builder.AddEndpoint(_endpoints[2436]); - builder.AddEndpoint(_endpoints[2437]); - builder.AddEndpoint(_endpoints[2438]); - builder.AddEndpoint(_endpoints[2439]); - builder.AddEndpoint(_endpoints[2440]); - builder.AddEndpoint(_endpoints[2441]); - builder.AddEndpoint(_endpoints[2442]); - builder.AddEndpoint(_endpoints[2443]); - builder.AddEndpoint(_endpoints[2444]); - builder.AddEndpoint(_endpoints[2445]); - builder.AddEndpoint(_endpoints[2446]); - builder.AddEndpoint(_endpoints[2447]); - builder.AddEndpoint(_endpoints[2448]); - builder.AddEndpoint(_endpoints[2449]); - builder.AddEndpoint(_endpoints[2450]); - builder.AddEndpoint(_endpoints[2451]); - builder.AddEndpoint(_endpoints[2452]); - builder.AddEndpoint(_endpoints[2453]); - builder.AddEndpoint(_endpoints[2454]); - builder.AddEndpoint(_endpoints[2455]); - builder.AddEndpoint(_endpoints[2456]); - builder.AddEndpoint(_endpoints[2457]); - builder.AddEndpoint(_endpoints[2458]); - builder.AddEndpoint(_endpoints[2459]); - builder.AddEndpoint(_endpoints[2460]); - builder.AddEndpoint(_endpoints[2461]); - builder.AddEndpoint(_endpoints[2462]); - builder.AddEndpoint(_endpoints[2463]); - builder.AddEndpoint(_endpoints[2464]); - builder.AddEndpoint(_endpoints[2465]); - builder.AddEndpoint(_endpoints[2466]); - builder.AddEndpoint(_endpoints[2467]); - builder.AddEndpoint(_endpoints[2468]); - builder.AddEndpoint(_endpoints[2469]); - builder.AddEndpoint(_endpoints[2470]); - builder.AddEndpoint(_endpoints[2471]); - builder.AddEndpoint(_endpoints[2472]); - builder.AddEndpoint(_endpoints[2473]); - builder.AddEndpoint(_endpoints[2474]); - builder.AddEndpoint(_endpoints[2475]); - builder.AddEndpoint(_endpoints[2476]); - builder.AddEndpoint(_endpoints[2477]); - builder.AddEndpoint(_endpoints[2478]); - builder.AddEndpoint(_endpoints[2479]); - builder.AddEndpoint(_endpoints[2480]); - builder.AddEndpoint(_endpoints[2481]); - builder.AddEndpoint(_endpoints[2482]); - builder.AddEndpoint(_endpoints[2483]); - builder.AddEndpoint(_endpoints[2484]); - builder.AddEndpoint(_endpoints[2485]); - builder.AddEndpoint(_endpoints[2486]); - builder.AddEndpoint(_endpoints[2487]); - builder.AddEndpoint(_endpoints[2488]); - builder.AddEndpoint(_endpoints[2489]); - builder.AddEndpoint(_endpoints[2490]); - builder.AddEndpoint(_endpoints[2491]); - builder.AddEndpoint(_endpoints[2492]); - builder.AddEndpoint(_endpoints[2493]); - builder.AddEndpoint(_endpoints[2494]); - builder.AddEndpoint(_endpoints[2495]); - builder.AddEndpoint(_endpoints[2496]); - builder.AddEndpoint(_endpoints[2497]); - builder.AddEndpoint(_endpoints[2498]); - builder.AddEndpoint(_endpoints[2499]); - builder.AddEndpoint(_endpoints[2500]); - builder.AddEndpoint(_endpoints[2501]); - builder.AddEndpoint(_endpoints[2502]); - builder.AddEndpoint(_endpoints[2503]); - builder.AddEndpoint(_endpoints[2504]); - builder.AddEndpoint(_endpoints[2505]); - builder.AddEndpoint(_endpoints[2506]); - builder.AddEndpoint(_endpoints[2507]); - builder.AddEndpoint(_endpoints[2508]); - builder.AddEndpoint(_endpoints[2509]); - builder.AddEndpoint(_endpoints[2510]); - builder.AddEndpoint(_endpoints[2511]); - builder.AddEndpoint(_endpoints[2512]); - builder.AddEndpoint(_endpoints[2513]); - builder.AddEndpoint(_endpoints[2514]); - builder.AddEndpoint(_endpoints[2515]); - builder.AddEndpoint(_endpoints[2516]); - builder.AddEndpoint(_endpoints[2517]); - builder.AddEndpoint(_endpoints[2518]); - builder.AddEndpoint(_endpoints[2519]); - builder.AddEndpoint(_endpoints[2520]); - builder.AddEndpoint(_endpoints[2521]); - builder.AddEndpoint(_endpoints[2522]); - builder.AddEndpoint(_endpoints[2523]); - builder.AddEndpoint(_endpoints[2524]); - builder.AddEndpoint(_endpoints[2525]); - builder.AddEndpoint(_endpoints[2526]); - builder.AddEndpoint(_endpoints[2527]); - builder.AddEndpoint(_endpoints[2528]); - builder.AddEndpoint(_endpoints[2529]); - builder.AddEndpoint(_endpoints[2530]); - builder.AddEndpoint(_endpoints[2531]); - builder.AddEndpoint(_endpoints[2532]); - builder.AddEndpoint(_endpoints[2533]); - builder.AddEndpoint(_endpoints[2534]); - builder.AddEndpoint(_endpoints[2535]); - builder.AddEndpoint(_endpoints[2536]); - builder.AddEndpoint(_endpoints[2537]); - builder.AddEndpoint(_endpoints[2538]); - builder.AddEndpoint(_endpoints[2539]); - builder.AddEndpoint(_endpoints[2540]); - builder.AddEndpoint(_endpoints[2541]); - builder.AddEndpoint(_endpoints[2542]); - builder.AddEndpoint(_endpoints[2543]); - builder.AddEndpoint(_endpoints[2544]); - builder.AddEndpoint(_endpoints[2545]); - builder.AddEndpoint(_endpoints[2546]); - builder.AddEndpoint(_endpoints[2547]); - builder.AddEndpoint(_endpoints[2548]); - builder.AddEndpoint(_endpoints[2549]); - builder.AddEndpoint(_endpoints[2550]); - builder.AddEndpoint(_endpoints[2551]); - builder.AddEndpoint(_endpoints[2552]); - builder.AddEndpoint(_endpoints[2553]); - builder.AddEndpoint(_endpoints[2554]); - builder.AddEndpoint(_endpoints[2555]); - builder.AddEndpoint(_endpoints[2556]); - builder.AddEndpoint(_endpoints[2557]); - builder.AddEndpoint(_endpoints[2558]); - builder.AddEndpoint(_endpoints[2559]); - builder.AddEndpoint(_endpoints[2560]); - builder.AddEndpoint(_endpoints[2561]); - builder.AddEndpoint(_endpoints[2562]); - builder.AddEndpoint(_endpoints[2563]); - builder.AddEndpoint(_endpoints[2564]); - builder.AddEndpoint(_endpoints[2565]); - builder.AddEndpoint(_endpoints[2566]); - builder.AddEndpoint(_endpoints[2567]); - builder.AddEndpoint(_endpoints[2568]); - builder.AddEndpoint(_endpoints[2569]); - builder.AddEndpoint(_endpoints[2570]); - builder.AddEndpoint(_endpoints[2571]); - builder.AddEndpoint(_endpoints[2572]); - builder.AddEndpoint(_endpoints[2573]); - builder.AddEndpoint(_endpoints[2574]); - builder.AddEndpoint(_endpoints[2575]); - builder.AddEndpoint(_endpoints[2576]); - builder.AddEndpoint(_endpoints[2577]); - builder.AddEndpoint(_endpoints[2578]); - builder.AddEndpoint(_endpoints[2579]); - builder.AddEndpoint(_endpoints[2580]); - builder.AddEndpoint(_endpoints[2581]); - builder.AddEndpoint(_endpoints[2582]); - builder.AddEndpoint(_endpoints[2583]); - builder.AddEndpoint(_endpoints[2584]); - builder.AddEndpoint(_endpoints[2585]); - builder.AddEndpoint(_endpoints[2586]); - builder.AddEndpoint(_endpoints[2587]); - builder.AddEndpoint(_endpoints[2588]); - builder.AddEndpoint(_endpoints[2589]); - builder.AddEndpoint(_endpoints[2590]); - builder.AddEndpoint(_endpoints[2591]); - builder.AddEndpoint(_endpoints[2592]); - builder.AddEndpoint(_endpoints[2593]); - builder.AddEndpoint(_endpoints[2594]); - builder.AddEndpoint(_endpoints[2595]); - builder.AddEndpoint(_endpoints[2596]); - builder.AddEndpoint(_endpoints[2597]); - builder.AddEndpoint(_endpoints[2598]); - builder.AddEndpoint(_endpoints[2599]); - builder.AddEndpoint(_endpoints[2600]); - builder.AddEndpoint(_endpoints[2601]); - builder.AddEndpoint(_endpoints[2602]); - builder.AddEndpoint(_endpoints[2603]); - builder.AddEndpoint(_endpoints[2604]); - builder.AddEndpoint(_endpoints[2605]); - builder.AddEndpoint(_endpoints[2606]); - builder.AddEndpoint(_endpoints[2607]); - builder.AddEndpoint(_endpoints[2608]); - builder.AddEndpoint(_endpoints[2609]); - builder.AddEndpoint(_endpoints[2610]); - builder.AddEndpoint(_endpoints[2611]); - builder.AddEndpoint(_endpoints[2612]); - builder.AddEndpoint(_endpoints[2613]); - builder.AddEndpoint(_endpoints[2614]); - builder.AddEndpoint(_endpoints[2615]); - builder.AddEndpoint(_endpoints[2616]); - builder.AddEndpoint(_endpoints[2617]); - builder.AddEndpoint(_endpoints[2618]); - builder.AddEndpoint(_endpoints[2619]); - builder.AddEndpoint(_endpoints[2620]); - builder.AddEndpoint(_endpoints[2621]); - builder.AddEndpoint(_endpoints[2622]); - builder.AddEndpoint(_endpoints[2623]); - builder.AddEndpoint(_endpoints[2624]); - builder.AddEndpoint(_endpoints[2625]); - builder.AddEndpoint(_endpoints[2626]); - builder.AddEndpoint(_endpoints[2627]); - builder.AddEndpoint(_endpoints[2628]); - builder.AddEndpoint(_endpoints[2629]); - builder.AddEndpoint(_endpoints[2630]); - builder.AddEndpoint(_endpoints[2631]); - builder.AddEndpoint(_endpoints[2632]); - builder.AddEndpoint(_endpoints[2633]); - builder.AddEndpoint(_endpoints[2634]); - builder.AddEndpoint(_endpoints[2635]); - builder.AddEndpoint(_endpoints[2636]); - builder.AddEndpoint(_endpoints[2637]); - builder.AddEndpoint(_endpoints[2638]); - builder.AddEndpoint(_endpoints[2639]); - builder.AddEndpoint(_endpoints[2640]); - builder.AddEndpoint(_endpoints[2641]); - builder.AddEndpoint(_endpoints[2642]); - builder.AddEndpoint(_endpoints[2643]); - builder.AddEndpoint(_endpoints[2644]); - builder.AddEndpoint(_endpoints[2645]); - builder.AddEndpoint(_endpoints[2646]); - builder.AddEndpoint(_endpoints[2647]); - builder.AddEndpoint(_endpoints[2648]); - builder.AddEndpoint(_endpoints[2649]); - builder.AddEndpoint(_endpoints[2650]); - builder.AddEndpoint(_endpoints[2651]); - builder.AddEndpoint(_endpoints[2652]); - builder.AddEndpoint(_endpoints[2653]); - builder.AddEndpoint(_endpoints[2654]); - builder.AddEndpoint(_endpoints[2655]); - builder.AddEndpoint(_endpoints[2656]); - builder.AddEndpoint(_endpoints[2657]); - builder.AddEndpoint(_endpoints[2658]); - builder.AddEndpoint(_endpoints[2659]); - builder.AddEndpoint(_endpoints[2660]); - builder.AddEndpoint(_endpoints[2661]); - builder.AddEndpoint(_endpoints[2662]); - builder.AddEndpoint(_endpoints[2663]); - builder.AddEndpoint(_endpoints[2664]); - builder.AddEndpoint(_endpoints[2665]); - builder.AddEndpoint(_endpoints[2666]); - builder.AddEndpoint(_endpoints[2667]); - builder.AddEndpoint(_endpoints[2668]); - builder.AddEndpoint(_endpoints[2669]); - builder.AddEndpoint(_endpoints[2670]); - builder.AddEndpoint(_endpoints[2671]); - builder.AddEndpoint(_endpoints[2672]); - builder.AddEndpoint(_endpoints[2673]); - builder.AddEndpoint(_endpoints[2674]); - builder.AddEndpoint(_endpoints[2675]); - builder.AddEndpoint(_endpoints[2676]); - builder.AddEndpoint(_endpoints[2677]); - builder.AddEndpoint(_endpoints[2678]); - builder.AddEndpoint(_endpoints[2679]); - builder.AddEndpoint(_endpoints[2680]); - builder.AddEndpoint(_endpoints[2681]); - builder.AddEndpoint(_endpoints[2682]); - builder.AddEndpoint(_endpoints[2683]); - builder.AddEndpoint(_endpoints[2684]); - builder.AddEndpoint(_endpoints[2685]); - builder.AddEndpoint(_endpoints[2686]); - builder.AddEndpoint(_endpoints[2687]); - builder.AddEndpoint(_endpoints[2688]); - builder.AddEndpoint(_endpoints[2689]); - builder.AddEndpoint(_endpoints[2690]); - builder.AddEndpoint(_endpoints[2691]); - builder.AddEndpoint(_endpoints[2692]); - builder.AddEndpoint(_endpoints[2693]); - builder.AddEndpoint(_endpoints[2694]); - builder.AddEndpoint(_endpoints[2695]); - builder.AddEndpoint(_endpoints[2696]); - builder.AddEndpoint(_endpoints[2697]); - builder.AddEndpoint(_endpoints[2698]); - builder.AddEndpoint(_endpoints[2699]); - builder.AddEndpoint(_endpoints[2700]); - builder.AddEndpoint(_endpoints[2701]); - builder.AddEndpoint(_endpoints[2702]); - builder.AddEndpoint(_endpoints[2703]); - builder.AddEndpoint(_endpoints[2704]); - builder.AddEndpoint(_endpoints[2705]); - builder.AddEndpoint(_endpoints[2706]); - builder.AddEndpoint(_endpoints[2707]); - builder.AddEndpoint(_endpoints[2708]); - builder.AddEndpoint(_endpoints[2709]); - builder.AddEndpoint(_endpoints[2710]); - builder.AddEndpoint(_endpoints[2711]); - builder.AddEndpoint(_endpoints[2712]); - builder.AddEndpoint(_endpoints[2713]); - builder.AddEndpoint(_endpoints[2714]); - builder.AddEndpoint(_endpoints[2715]); - builder.AddEndpoint(_endpoints[2716]); - builder.AddEndpoint(_endpoints[2717]); - builder.AddEndpoint(_endpoints[2718]); - builder.AddEndpoint(_endpoints[2719]); - builder.AddEndpoint(_endpoints[2720]); - builder.AddEndpoint(_endpoints[2721]); - builder.AddEndpoint(_endpoints[2722]); - builder.AddEndpoint(_endpoints[2723]); - builder.AddEndpoint(_endpoints[2724]); - builder.AddEndpoint(_endpoints[2725]); - builder.AddEndpoint(_endpoints[2726]); - builder.AddEndpoint(_endpoints[2727]); - builder.AddEndpoint(_endpoints[2728]); - builder.AddEndpoint(_endpoints[2729]); - builder.AddEndpoint(_endpoints[2730]); - builder.AddEndpoint(_endpoints[2731]); - builder.AddEndpoint(_endpoints[2732]); - builder.AddEndpoint(_endpoints[2733]); - builder.AddEndpoint(_endpoints[2734]); - builder.AddEndpoint(_endpoints[2735]); - builder.AddEndpoint(_endpoints[2736]); - builder.AddEndpoint(_endpoints[2737]); - builder.AddEndpoint(_endpoints[2738]); - builder.AddEndpoint(_endpoints[2739]); - builder.AddEndpoint(_endpoints[2740]); - builder.AddEndpoint(_endpoints[2741]); - builder.AddEndpoint(_endpoints[2742]); - builder.AddEndpoint(_endpoints[2743]); - builder.AddEndpoint(_endpoints[2744]); - builder.AddEndpoint(_endpoints[2745]); - builder.AddEndpoint(_endpoints[2746]); - builder.AddEndpoint(_endpoints[2747]); - builder.AddEndpoint(_endpoints[2748]); - builder.AddEndpoint(_endpoints[2749]); - builder.AddEndpoint(_endpoints[2750]); - builder.AddEndpoint(_endpoints[2751]); - builder.AddEndpoint(_endpoints[2752]); - builder.AddEndpoint(_endpoints[2753]); - builder.AddEndpoint(_endpoints[2754]); - builder.AddEndpoint(_endpoints[2755]); - builder.AddEndpoint(_endpoints[2756]); - builder.AddEndpoint(_endpoints[2757]); - builder.AddEndpoint(_endpoints[2758]); - builder.AddEndpoint(_endpoints[2759]); - builder.AddEndpoint(_endpoints[2760]); - builder.AddEndpoint(_endpoints[2761]); - builder.AddEndpoint(_endpoints[2762]); - builder.AddEndpoint(_endpoints[2763]); - builder.AddEndpoint(_endpoints[2764]); - builder.AddEndpoint(_endpoints[2765]); - builder.AddEndpoint(_endpoints[2766]); - builder.AddEndpoint(_endpoints[2767]); - builder.AddEndpoint(_endpoints[2768]); - builder.AddEndpoint(_endpoints[2769]); - builder.AddEndpoint(_endpoints[2770]); - builder.AddEndpoint(_endpoints[2771]); - builder.AddEndpoint(_endpoints[2772]); - builder.AddEndpoint(_endpoints[2773]); - builder.AddEndpoint(_endpoints[2774]); - builder.AddEndpoint(_endpoints[2775]); - builder.AddEndpoint(_endpoints[2776]); - builder.AddEndpoint(_endpoints[2777]); - builder.AddEndpoint(_endpoints[2778]); - builder.AddEndpoint(_endpoints[2779]); - builder.AddEndpoint(_endpoints[2780]); - builder.AddEndpoint(_endpoints[2781]); - builder.AddEndpoint(_endpoints[2782]); - builder.AddEndpoint(_endpoints[2783]); - builder.AddEndpoint(_endpoints[2784]); - builder.AddEndpoint(_endpoints[2785]); - builder.AddEndpoint(_endpoints[2786]); - builder.AddEndpoint(_endpoints[2787]); - builder.AddEndpoint(_endpoints[2788]); - builder.AddEndpoint(_endpoints[2789]); - builder.AddEndpoint(_endpoints[2790]); - builder.AddEndpoint(_endpoints[2791]); - builder.AddEndpoint(_endpoints[2792]); - builder.AddEndpoint(_endpoints[2793]); - builder.AddEndpoint(_endpoints[2794]); - builder.AddEndpoint(_endpoints[2795]); - builder.AddEndpoint(_endpoints[2796]); - builder.AddEndpoint(_endpoints[2797]); - builder.AddEndpoint(_endpoints[2798]); - builder.AddEndpoint(_endpoints[2799]); - builder.AddEndpoint(_endpoints[2800]); - builder.AddEndpoint(_endpoints[2801]); - builder.AddEndpoint(_endpoints[2802]); - builder.AddEndpoint(_endpoints[2803]); - builder.AddEndpoint(_endpoints[2804]); - builder.AddEndpoint(_endpoints[2805]); - builder.AddEndpoint(_endpoints[2806]); - builder.AddEndpoint(_endpoints[2807]); - builder.AddEndpoint(_endpoints[2808]); - builder.AddEndpoint(_endpoints[2809]); - builder.AddEndpoint(_endpoints[2810]); - builder.AddEndpoint(_endpoints[2811]); - builder.AddEndpoint(_endpoints[2812]); - builder.AddEndpoint(_endpoints[2813]); - builder.AddEndpoint(_endpoints[2814]); - builder.AddEndpoint(_endpoints[2815]); - builder.AddEndpoint(_endpoints[2816]); - builder.AddEndpoint(_endpoints[2817]); - builder.AddEndpoint(_endpoints[2818]); - builder.AddEndpoint(_endpoints[2819]); - builder.AddEndpoint(_endpoints[2820]); - builder.AddEndpoint(_endpoints[2821]); - builder.AddEndpoint(_endpoints[2822]); - builder.AddEndpoint(_endpoints[2823]); - builder.AddEndpoint(_endpoints[2824]); - builder.AddEndpoint(_endpoints[2825]); - builder.AddEndpoint(_endpoints[2826]); - builder.AddEndpoint(_endpoints[2827]); - builder.AddEndpoint(_endpoints[2828]); - builder.AddEndpoint(_endpoints[2829]); - builder.AddEndpoint(_endpoints[2830]); - builder.AddEndpoint(_endpoints[2831]); - builder.AddEndpoint(_endpoints[2832]); - builder.AddEndpoint(_endpoints[2833]); - builder.AddEndpoint(_endpoints[2834]); - builder.AddEndpoint(_endpoints[2835]); - builder.AddEndpoint(_endpoints[2836]); - builder.AddEndpoint(_endpoints[2837]); - builder.AddEndpoint(_endpoints[2838]); - builder.AddEndpoint(_endpoints[2839]); - builder.AddEndpoint(_endpoints[2840]); - builder.AddEndpoint(_endpoints[2841]); - builder.AddEndpoint(_endpoints[2842]); - builder.AddEndpoint(_endpoints[2843]); - builder.AddEndpoint(_endpoints[2844]); - builder.AddEndpoint(_endpoints[2845]); - builder.AddEndpoint(_endpoints[2846]); - builder.AddEndpoint(_endpoints[2847]); - builder.AddEndpoint(_endpoints[2848]); - builder.AddEndpoint(_endpoints[2849]); - builder.AddEndpoint(_endpoints[2850]); - builder.AddEndpoint(_endpoints[2851]); - builder.AddEndpoint(_endpoints[2852]); - builder.AddEndpoint(_endpoints[2853]); - builder.AddEndpoint(_endpoints[2854]); - builder.AddEndpoint(_endpoints[2855]); - builder.AddEndpoint(_endpoints[2856]); - builder.AddEndpoint(_endpoints[2857]); - builder.AddEndpoint(_endpoints[2858]); - builder.AddEndpoint(_endpoints[2859]); - builder.AddEndpoint(_endpoints[2860]); - builder.AddEndpoint(_endpoints[2861]); - builder.AddEndpoint(_endpoints[2862]); - builder.AddEndpoint(_endpoints[2863]); - builder.AddEndpoint(_endpoints[2864]); - builder.AddEndpoint(_endpoints[2865]); - builder.AddEndpoint(_endpoints[2866]); - builder.AddEndpoint(_endpoints[2867]); - builder.AddEndpoint(_endpoints[2868]); - builder.AddEndpoint(_endpoints[2869]); - builder.AddEndpoint(_endpoints[2870]); - builder.AddEndpoint(_endpoints[2871]); - builder.AddEndpoint(_endpoints[2872]); - builder.AddEndpoint(_endpoints[2873]); - builder.AddEndpoint(_endpoints[2874]); - builder.AddEndpoint(_endpoints[2875]); - builder.AddEndpoint(_endpoints[2876]); - builder.AddEndpoint(_endpoints[2877]); - builder.AddEndpoint(_endpoints[2878]); - builder.AddEndpoint(_endpoints[2879]); - builder.AddEndpoint(_endpoints[2880]); - builder.AddEndpoint(_endpoints[2881]); - builder.AddEndpoint(_endpoints[2882]); - builder.AddEndpoint(_endpoints[2883]); - builder.AddEndpoint(_endpoints[2884]); - builder.AddEndpoint(_endpoints[2885]); - builder.AddEndpoint(_endpoints[2886]); - builder.AddEndpoint(_endpoints[2887]); - builder.AddEndpoint(_endpoints[2888]); - builder.AddEndpoint(_endpoints[2889]); - builder.AddEndpoint(_endpoints[2890]); - builder.AddEndpoint(_endpoints[2891]); - builder.AddEndpoint(_endpoints[2892]); - builder.AddEndpoint(_endpoints[2893]); - builder.AddEndpoint(_endpoints[2894]); - builder.AddEndpoint(_endpoints[2895]); - builder.AddEndpoint(_endpoints[2896]); - builder.AddEndpoint(_endpoints[2897]); - builder.AddEndpoint(_endpoints[2898]); - builder.AddEndpoint(_endpoints[2899]); - builder.AddEndpoint(_endpoints[2900]); - builder.AddEndpoint(_endpoints[2901]); - builder.AddEndpoint(_endpoints[2902]); - builder.AddEndpoint(_endpoints[2903]); - builder.AddEndpoint(_endpoints[2904]); - builder.AddEndpoint(_endpoints[2905]); - builder.AddEndpoint(_endpoints[2906]); - builder.AddEndpoint(_endpoints[2907]); - builder.AddEndpoint(_endpoints[2908]); - builder.AddEndpoint(_endpoints[2909]); - builder.AddEndpoint(_endpoints[2910]); - builder.AddEndpoint(_endpoints[2911]); - builder.AddEndpoint(_endpoints[2912]); - builder.AddEndpoint(_endpoints[2913]); - builder.AddEndpoint(_endpoints[2914]); - builder.AddEndpoint(_endpoints[2915]); - builder.AddEndpoint(_endpoints[2916]); - builder.AddEndpoint(_endpoints[2917]); - builder.AddEndpoint(_endpoints[2918]); - builder.AddEndpoint(_endpoints[2919]); - builder.AddEndpoint(_endpoints[2920]); - builder.AddEndpoint(_endpoints[2921]); - builder.AddEndpoint(_endpoints[2922]); - builder.AddEndpoint(_endpoints[2923]); - builder.AddEndpoint(_endpoints[2924]); - builder.AddEndpoint(_endpoints[2925]); - builder.AddEndpoint(_endpoints[2926]); - builder.AddEndpoint(_endpoints[2927]); - builder.AddEndpoint(_endpoints[2928]); - builder.AddEndpoint(_endpoints[2929]); - builder.AddEndpoint(_endpoints[2930]); - builder.AddEndpoint(_endpoints[2931]); - builder.AddEndpoint(_endpoints[2932]); - builder.AddEndpoint(_endpoints[2933]); - builder.AddEndpoint(_endpoints[2934]); - builder.AddEndpoint(_endpoints[2935]); - builder.AddEndpoint(_endpoints[2936]); - builder.AddEndpoint(_endpoints[2937]); - builder.AddEndpoint(_endpoints[2938]); - builder.AddEndpoint(_endpoints[2939]); - builder.AddEndpoint(_endpoints[2940]); - builder.AddEndpoint(_endpoints[2941]); - builder.AddEndpoint(_endpoints[2942]); - builder.AddEndpoint(_endpoints[2943]); - builder.AddEndpoint(_endpoints[2944]); - builder.AddEndpoint(_endpoints[2945]); - builder.AddEndpoint(_endpoints[2946]); - builder.AddEndpoint(_endpoints[2947]); - builder.AddEndpoint(_endpoints[2948]); - builder.AddEndpoint(_endpoints[2949]); - builder.AddEndpoint(_endpoints[2950]); - builder.AddEndpoint(_endpoints[2951]); - builder.AddEndpoint(_endpoints[2952]); - builder.AddEndpoint(_endpoints[2953]); - builder.AddEndpoint(_endpoints[2954]); - builder.AddEndpoint(_endpoints[2955]); - builder.AddEndpoint(_endpoints[2956]); - builder.AddEndpoint(_endpoints[2957]); - builder.AddEndpoint(_endpoints[2958]); - builder.AddEndpoint(_endpoints[2959]); - builder.AddEndpoint(_endpoints[2960]); - builder.AddEndpoint(_endpoints[2961]); - builder.AddEndpoint(_endpoints[2962]); - builder.AddEndpoint(_endpoints[2963]); - builder.AddEndpoint(_endpoints[2964]); - builder.AddEndpoint(_endpoints[2965]); - builder.AddEndpoint(_endpoints[2966]); - builder.AddEndpoint(_endpoints[2967]); - builder.AddEndpoint(_endpoints[2968]); - builder.AddEndpoint(_endpoints[2969]); - builder.AddEndpoint(_endpoints[2970]); - builder.AddEndpoint(_endpoints[2971]); - builder.AddEndpoint(_endpoints[2972]); - builder.AddEndpoint(_endpoints[2973]); - builder.AddEndpoint(_endpoints[2974]); - builder.AddEndpoint(_endpoints[2975]); - builder.AddEndpoint(_endpoints[2976]); - builder.AddEndpoint(_endpoints[2977]); - builder.AddEndpoint(_endpoints[2978]); - builder.AddEndpoint(_endpoints[2979]); - builder.AddEndpoint(_endpoints[2980]); - builder.AddEndpoint(_endpoints[2981]); - builder.AddEndpoint(_endpoints[2982]); - builder.AddEndpoint(_endpoints[2983]); - builder.AddEndpoint(_endpoints[2984]); - builder.AddEndpoint(_endpoints[2985]); - builder.AddEndpoint(_endpoints[2986]); - builder.AddEndpoint(_endpoints[2987]); - builder.AddEndpoint(_endpoints[2988]); - builder.AddEndpoint(_endpoints[2989]); - builder.AddEndpoint(_endpoints[2990]); - builder.AddEndpoint(_endpoints[2991]); - builder.AddEndpoint(_endpoints[2992]); - builder.AddEndpoint(_endpoints[2993]); - builder.AddEndpoint(_endpoints[2994]); - builder.AddEndpoint(_endpoints[2995]); - builder.AddEndpoint(_endpoints[2996]); - builder.AddEndpoint(_endpoints[2997]); - builder.AddEndpoint(_endpoints[2998]); - builder.AddEndpoint(_endpoints[2999]); - builder.AddEndpoint(_endpoints[3000]); - builder.AddEndpoint(_endpoints[3001]); - builder.AddEndpoint(_endpoints[3002]); - builder.AddEndpoint(_endpoints[3003]); - builder.AddEndpoint(_endpoints[3004]); - builder.AddEndpoint(_endpoints[3005]); - builder.AddEndpoint(_endpoints[3006]); - builder.AddEndpoint(_endpoints[3007]); - builder.AddEndpoint(_endpoints[3008]); - builder.AddEndpoint(_endpoints[3009]); - builder.AddEndpoint(_endpoints[3010]); - builder.AddEndpoint(_endpoints[3011]); - builder.AddEndpoint(_endpoints[3012]); - builder.AddEndpoint(_endpoints[3013]); - builder.AddEndpoint(_endpoints[3014]); - builder.AddEndpoint(_endpoints[3015]); - builder.AddEndpoint(_endpoints[3016]); - builder.AddEndpoint(_endpoints[3017]); - builder.AddEndpoint(_endpoints[3018]); - builder.AddEndpoint(_endpoints[3019]); - builder.AddEndpoint(_endpoints[3020]); - builder.AddEndpoint(_endpoints[3021]); - builder.AddEndpoint(_endpoints[3022]); - builder.AddEndpoint(_endpoints[3023]); - builder.AddEndpoint(_endpoints[3024]); - builder.AddEndpoint(_endpoints[3025]); - builder.AddEndpoint(_endpoints[3026]); - builder.AddEndpoint(_endpoints[3027]); - builder.AddEndpoint(_endpoints[3028]); - builder.AddEndpoint(_endpoints[3029]); - builder.AddEndpoint(_endpoints[3030]); - builder.AddEndpoint(_endpoints[3031]); - builder.AddEndpoint(_endpoints[3032]); - builder.AddEndpoint(_endpoints[3033]); - builder.AddEndpoint(_endpoints[3034]); - builder.AddEndpoint(_endpoints[3035]); - builder.AddEndpoint(_endpoints[3036]); - builder.AddEndpoint(_endpoints[3037]); - builder.AddEndpoint(_endpoints[3038]); - builder.AddEndpoint(_endpoints[3039]); - builder.AddEndpoint(_endpoints[3040]); - builder.AddEndpoint(_endpoints[3041]); - builder.AddEndpoint(_endpoints[3042]); - builder.AddEndpoint(_endpoints[3043]); - builder.AddEndpoint(_endpoints[3044]); - builder.AddEndpoint(_endpoints[3045]); - builder.AddEndpoint(_endpoints[3046]); - builder.AddEndpoint(_endpoints[3047]); - builder.AddEndpoint(_endpoints[3048]); - builder.AddEndpoint(_endpoints[3049]); - builder.AddEndpoint(_endpoints[3050]); - builder.AddEndpoint(_endpoints[3051]); - builder.AddEndpoint(_endpoints[3052]); - builder.AddEndpoint(_endpoints[3053]); - builder.AddEndpoint(_endpoints[3054]); - builder.AddEndpoint(_endpoints[3055]); - builder.AddEndpoint(_endpoints[3056]); - builder.AddEndpoint(_endpoints[3057]); - builder.AddEndpoint(_endpoints[3058]); - builder.AddEndpoint(_endpoints[3059]); - builder.AddEndpoint(_endpoints[3060]); - builder.AddEndpoint(_endpoints[3061]); - builder.AddEndpoint(_endpoints[3062]); - builder.AddEndpoint(_endpoints[3063]); - builder.AddEndpoint(_endpoints[3064]); - builder.AddEndpoint(_endpoints[3065]); - builder.AddEndpoint(_endpoints[3066]); - builder.AddEndpoint(_endpoints[3067]); - builder.AddEndpoint(_endpoints[3068]); - builder.AddEndpoint(_endpoints[3069]); - builder.AddEndpoint(_endpoints[3070]); - builder.AddEndpoint(_endpoints[3071]); - builder.AddEndpoint(_endpoints[3072]); - builder.AddEndpoint(_endpoints[3073]); - builder.AddEndpoint(_endpoints[3074]); - builder.AddEndpoint(_endpoints[3075]); - builder.AddEndpoint(_endpoints[3076]); - builder.AddEndpoint(_endpoints[3077]); - builder.AddEndpoint(_endpoints[3078]); - builder.AddEndpoint(_endpoints[3079]); - builder.AddEndpoint(_endpoints[3080]); - builder.AddEndpoint(_endpoints[3081]); - builder.AddEndpoint(_endpoints[3082]); - builder.AddEndpoint(_endpoints[3083]); - builder.AddEndpoint(_endpoints[3084]); - builder.AddEndpoint(_endpoints[3085]); - builder.AddEndpoint(_endpoints[3086]); - builder.AddEndpoint(_endpoints[3087]); - builder.AddEndpoint(_endpoints[3088]); - builder.AddEndpoint(_endpoints[3089]); - builder.AddEndpoint(_endpoints[3090]); - builder.AddEndpoint(_endpoints[3091]); - builder.AddEndpoint(_endpoints[3092]); - builder.AddEndpoint(_endpoints[3093]); - builder.AddEndpoint(_endpoints[3094]); - builder.AddEndpoint(_endpoints[3095]); - builder.AddEndpoint(_endpoints[3096]); - builder.AddEndpoint(_endpoints[3097]); - builder.AddEndpoint(_endpoints[3098]); - builder.AddEndpoint(_endpoints[3099]); - builder.AddEndpoint(_endpoints[3100]); - builder.AddEndpoint(_endpoints[3101]); - builder.AddEndpoint(_endpoints[3102]); - builder.AddEndpoint(_endpoints[3103]); - builder.AddEndpoint(_endpoints[3104]); - builder.AddEndpoint(_endpoints[3105]); - builder.AddEndpoint(_endpoints[3106]); - builder.AddEndpoint(_endpoints[3107]); - builder.AddEndpoint(_endpoints[3108]); - builder.AddEndpoint(_endpoints[3109]); - builder.AddEndpoint(_endpoints[3110]); - builder.AddEndpoint(_endpoints[3111]); - builder.AddEndpoint(_endpoints[3112]); - builder.AddEndpoint(_endpoints[3113]); - builder.AddEndpoint(_endpoints[3114]); - builder.AddEndpoint(_endpoints[3115]); - builder.AddEndpoint(_endpoints[3116]); - builder.AddEndpoint(_endpoints[3117]); - builder.AddEndpoint(_endpoints[3118]); - builder.AddEndpoint(_endpoints[3119]); - builder.AddEndpoint(_endpoints[3120]); - builder.AddEndpoint(_endpoints[3121]); - builder.AddEndpoint(_endpoints[3122]); - builder.AddEndpoint(_endpoints[3123]); - builder.AddEndpoint(_endpoints[3124]); - builder.AddEndpoint(_endpoints[3125]); - builder.AddEndpoint(_endpoints[3126]); - builder.AddEndpoint(_endpoints[3127]); - builder.AddEndpoint(_endpoints[3128]); - builder.AddEndpoint(_endpoints[3129]); - builder.AddEndpoint(_endpoints[3130]); - builder.AddEndpoint(_endpoints[3131]); - builder.AddEndpoint(_endpoints[3132]); - builder.AddEndpoint(_endpoints[3133]); - builder.AddEndpoint(_endpoints[3134]); - builder.AddEndpoint(_endpoints[3135]); - builder.AddEndpoint(_endpoints[3136]); - builder.AddEndpoint(_endpoints[3137]); - builder.AddEndpoint(_endpoints[3138]); - builder.AddEndpoint(_endpoints[3139]); - builder.AddEndpoint(_endpoints[3140]); - builder.AddEndpoint(_endpoints[3141]); - builder.AddEndpoint(_endpoints[3142]); - builder.AddEndpoint(_endpoints[3143]); - builder.AddEndpoint(_endpoints[3144]); - builder.AddEndpoint(_endpoints[3145]); - builder.AddEndpoint(_endpoints[3146]); - builder.AddEndpoint(_endpoints[3147]); - builder.AddEndpoint(_endpoints[3148]); - builder.AddEndpoint(_endpoints[3149]); - builder.AddEndpoint(_endpoints[3150]); - builder.AddEndpoint(_endpoints[3151]); - builder.AddEndpoint(_endpoints[3152]); - builder.AddEndpoint(_endpoints[3153]); - builder.AddEndpoint(_endpoints[3154]); - builder.AddEndpoint(_endpoints[3155]); - builder.AddEndpoint(_endpoints[3156]); - builder.AddEndpoint(_endpoints[3157]); - builder.AddEndpoint(_endpoints[3158]); - builder.AddEndpoint(_endpoints[3159]); - builder.AddEndpoint(_endpoints[3160]); - builder.AddEndpoint(_endpoints[3161]); - builder.AddEndpoint(_endpoints[3162]); - builder.AddEndpoint(_endpoints[3163]); - builder.AddEndpoint(_endpoints[3164]); - builder.AddEndpoint(_endpoints[3165]); - builder.AddEndpoint(_endpoints[3166]); - builder.AddEndpoint(_endpoints[3167]); - builder.AddEndpoint(_endpoints[3168]); - builder.AddEndpoint(_endpoints[3169]); - builder.AddEndpoint(_endpoints[3170]); - builder.AddEndpoint(_endpoints[3171]); - builder.AddEndpoint(_endpoints[3172]); - builder.AddEndpoint(_endpoints[3173]); - builder.AddEndpoint(_endpoints[3174]); - builder.AddEndpoint(_endpoints[3175]); - builder.AddEndpoint(_endpoints[3176]); - builder.AddEndpoint(_endpoints[3177]); - builder.AddEndpoint(_endpoints[3178]); - builder.AddEndpoint(_endpoints[3179]); - builder.AddEndpoint(_endpoints[3180]); - builder.AddEndpoint(_endpoints[3181]); - builder.AddEndpoint(_endpoints[3182]); - builder.AddEndpoint(_endpoints[3183]); - builder.AddEndpoint(_endpoints[3184]); - builder.AddEndpoint(_endpoints[3185]); - builder.AddEndpoint(_endpoints[3186]); - builder.AddEndpoint(_endpoints[3187]); - builder.AddEndpoint(_endpoints[3188]); - builder.AddEndpoint(_endpoints[3189]); - builder.AddEndpoint(_endpoints[3190]); - builder.AddEndpoint(_endpoints[3191]); - builder.AddEndpoint(_endpoints[3192]); - builder.AddEndpoint(_endpoints[3193]); - builder.AddEndpoint(_endpoints[3194]); - builder.AddEndpoint(_endpoints[3195]); - builder.AddEndpoint(_endpoints[3196]); - builder.AddEndpoint(_endpoints[3197]); - builder.AddEndpoint(_endpoints[3198]); - builder.AddEndpoint(_endpoints[3199]); - builder.AddEndpoint(_endpoints[3200]); - builder.AddEndpoint(_endpoints[3201]); - builder.AddEndpoint(_endpoints[3202]); - builder.AddEndpoint(_endpoints[3203]); - builder.AddEndpoint(_endpoints[3204]); - builder.AddEndpoint(_endpoints[3205]); - builder.AddEndpoint(_endpoints[3206]); - builder.AddEndpoint(_endpoints[3207]); - builder.AddEndpoint(_endpoints[3208]); - builder.AddEndpoint(_endpoints[3209]); - builder.AddEndpoint(_endpoints[3210]); - builder.AddEndpoint(_endpoints[3211]); - builder.AddEndpoint(_endpoints[3212]); - builder.AddEndpoint(_endpoints[3213]); - builder.AddEndpoint(_endpoints[3214]); - builder.AddEndpoint(_endpoints[3215]); - builder.AddEndpoint(_endpoints[3216]); - builder.AddEndpoint(_endpoints[3217]); - builder.AddEndpoint(_endpoints[3218]); - builder.AddEndpoint(_endpoints[3219]); - builder.AddEndpoint(_endpoints[3220]); - builder.AddEndpoint(_endpoints[3221]); - builder.AddEndpoint(_endpoints[3222]); - builder.AddEndpoint(_endpoints[3223]); - builder.AddEndpoint(_endpoints[3224]); - builder.AddEndpoint(_endpoints[3225]); - builder.AddEndpoint(_endpoints[3226]); - builder.AddEndpoint(_endpoints[3227]); - builder.AddEndpoint(_endpoints[3228]); - builder.AddEndpoint(_endpoints[3229]); - builder.AddEndpoint(_endpoints[3230]); - builder.AddEndpoint(_endpoints[3231]); - builder.AddEndpoint(_endpoints[3232]); - builder.AddEndpoint(_endpoints[3233]); - builder.AddEndpoint(_endpoints[3234]); - builder.AddEndpoint(_endpoints[3235]); - builder.AddEndpoint(_endpoints[3236]); - builder.AddEndpoint(_endpoints[3237]); - builder.AddEndpoint(_endpoints[3238]); - builder.AddEndpoint(_endpoints[3239]); - builder.AddEndpoint(_endpoints[3240]); - builder.AddEndpoint(_endpoints[3241]); - builder.AddEndpoint(_endpoints[3242]); - builder.AddEndpoint(_endpoints[3243]); - builder.AddEndpoint(_endpoints[3244]); - builder.AddEndpoint(_endpoints[3245]); - builder.AddEndpoint(_endpoints[3246]); - builder.AddEndpoint(_endpoints[3247]); - builder.AddEndpoint(_endpoints[3248]); - builder.AddEndpoint(_endpoints[3249]); - builder.AddEndpoint(_endpoints[3250]); - builder.AddEndpoint(_endpoints[3251]); - builder.AddEndpoint(_endpoints[3252]); - builder.AddEndpoint(_endpoints[3253]); - builder.AddEndpoint(_endpoints[3254]); - builder.AddEndpoint(_endpoints[3255]); - builder.AddEndpoint(_endpoints[3256]); - builder.AddEndpoint(_endpoints[3257]); - builder.AddEndpoint(_endpoints[3258]); - builder.AddEndpoint(_endpoints[3259]); - builder.AddEndpoint(_endpoints[3260]); - builder.AddEndpoint(_endpoints[3261]); - builder.AddEndpoint(_endpoints[3262]); - builder.AddEndpoint(_endpoints[3263]); - builder.AddEndpoint(_endpoints[3264]); - builder.AddEndpoint(_endpoints[3265]); - builder.AddEndpoint(_endpoints[3266]); - builder.AddEndpoint(_endpoints[3267]); - builder.AddEndpoint(_endpoints[3268]); - builder.AddEndpoint(_endpoints[3269]); - builder.AddEndpoint(_endpoints[3270]); - builder.AddEndpoint(_endpoints[3271]); - builder.AddEndpoint(_endpoints[3272]); - builder.AddEndpoint(_endpoints[3273]); - builder.AddEndpoint(_endpoints[3274]); - builder.AddEndpoint(_endpoints[3275]); - builder.AddEndpoint(_endpoints[3276]); - builder.AddEndpoint(_endpoints[3277]); - builder.AddEndpoint(_endpoints[3278]); - builder.AddEndpoint(_endpoints[3279]); - builder.AddEndpoint(_endpoints[3280]); - builder.AddEndpoint(_endpoints[3281]); - builder.AddEndpoint(_endpoints[3282]); - builder.AddEndpoint(_endpoints[3283]); - builder.AddEndpoint(_endpoints[3284]); - builder.AddEndpoint(_endpoints[3285]); - builder.AddEndpoint(_endpoints[3286]); - builder.AddEndpoint(_endpoints[3287]); - builder.AddEndpoint(_endpoints[3288]); - builder.AddEndpoint(_endpoints[3289]); - builder.AddEndpoint(_endpoints[3290]); - builder.AddEndpoint(_endpoints[3291]); - builder.AddEndpoint(_endpoints[3292]); - builder.AddEndpoint(_endpoints[3293]); - builder.AddEndpoint(_endpoints[3294]); - builder.AddEndpoint(_endpoints[3295]); - builder.AddEndpoint(_endpoints[3296]); - builder.AddEndpoint(_endpoints[3297]); - builder.AddEndpoint(_endpoints[3298]); - builder.AddEndpoint(_endpoints[3299]); - builder.AddEndpoint(_endpoints[3300]); - builder.AddEndpoint(_endpoints[3301]); - builder.AddEndpoint(_endpoints[3302]); - builder.AddEndpoint(_endpoints[3303]); - builder.AddEndpoint(_endpoints[3304]); - builder.AddEndpoint(_endpoints[3305]); - builder.AddEndpoint(_endpoints[3306]); - builder.AddEndpoint(_endpoints[3307]); - builder.AddEndpoint(_endpoints[3308]); - builder.AddEndpoint(_endpoints[3309]); - builder.AddEndpoint(_endpoints[3310]); - builder.AddEndpoint(_endpoints[3311]); - builder.AddEndpoint(_endpoints[3312]); - builder.AddEndpoint(_endpoints[3313]); - builder.AddEndpoint(_endpoints[3314]); - builder.AddEndpoint(_endpoints[3315]); - builder.AddEndpoint(_endpoints[3316]); - builder.AddEndpoint(_endpoints[3317]); - builder.AddEndpoint(_endpoints[3318]); - builder.AddEndpoint(_endpoints[3319]); - builder.AddEndpoint(_endpoints[3320]); - builder.AddEndpoint(_endpoints[3321]); - builder.AddEndpoint(_endpoints[3322]); - builder.AddEndpoint(_endpoints[3323]); - builder.AddEndpoint(_endpoints[3324]); - builder.AddEndpoint(_endpoints[3325]); - builder.AddEndpoint(_endpoints[3326]); - builder.AddEndpoint(_endpoints[3327]); - builder.AddEndpoint(_endpoints[3328]); - builder.AddEndpoint(_endpoints[3329]); - builder.AddEndpoint(_endpoints[3330]); - builder.AddEndpoint(_endpoints[3331]); - builder.AddEndpoint(_endpoints[3332]); - builder.AddEndpoint(_endpoints[3333]); - builder.AddEndpoint(_endpoints[3334]); - builder.AddEndpoint(_endpoints[3335]); - builder.AddEndpoint(_endpoints[3336]); - builder.AddEndpoint(_endpoints[3337]); - builder.AddEndpoint(_endpoints[3338]); - builder.AddEndpoint(_endpoints[3339]); - builder.AddEndpoint(_endpoints[3340]); - builder.AddEndpoint(_endpoints[3341]); - builder.AddEndpoint(_endpoints[3342]); - builder.AddEndpoint(_endpoints[3343]); - builder.AddEndpoint(_endpoints[3344]); - builder.AddEndpoint(_endpoints[3345]); - builder.AddEndpoint(_endpoints[3346]); - builder.AddEndpoint(_endpoints[3347]); - builder.AddEndpoint(_endpoints[3348]); - builder.AddEndpoint(_endpoints[3349]); - builder.AddEndpoint(_endpoints[3350]); - builder.AddEndpoint(_endpoints[3351]); - builder.AddEndpoint(_endpoints[3352]); - builder.AddEndpoint(_endpoints[3353]); - builder.AddEndpoint(_endpoints[3354]); - builder.AddEndpoint(_endpoints[3355]); - builder.AddEndpoint(_endpoints[3356]); - builder.AddEndpoint(_endpoints[3357]); - builder.AddEndpoint(_endpoints[3358]); - builder.AddEndpoint(_endpoints[3359]); - builder.AddEndpoint(_endpoints[3360]); - builder.AddEndpoint(_endpoints[3361]); - builder.AddEndpoint(_endpoints[3362]); - builder.AddEndpoint(_endpoints[3363]); - builder.AddEndpoint(_endpoints[3364]); - builder.AddEndpoint(_endpoints[3365]); - builder.AddEndpoint(_endpoints[3366]); - builder.AddEndpoint(_endpoints[3367]); - builder.AddEndpoint(_endpoints[3368]); - builder.AddEndpoint(_endpoints[3369]); - builder.AddEndpoint(_endpoints[3370]); - builder.AddEndpoint(_endpoints[3371]); - builder.AddEndpoint(_endpoints[3372]); - builder.AddEndpoint(_endpoints[3373]); - builder.AddEndpoint(_endpoints[3374]); - builder.AddEndpoint(_endpoints[3375]); - builder.AddEndpoint(_endpoints[3376]); - builder.AddEndpoint(_endpoints[3377]); - builder.AddEndpoint(_endpoints[3378]); - builder.AddEndpoint(_endpoints[3379]); - builder.AddEndpoint(_endpoints[3380]); - builder.AddEndpoint(_endpoints[3381]); - builder.AddEndpoint(_endpoints[3382]); - builder.AddEndpoint(_endpoints[3383]); - builder.AddEndpoint(_endpoints[3384]); - builder.AddEndpoint(_endpoints[3385]); - builder.AddEndpoint(_endpoints[3386]); - builder.AddEndpoint(_endpoints[3387]); - builder.AddEndpoint(_endpoints[3388]); - builder.AddEndpoint(_endpoints[3389]); - builder.AddEndpoint(_endpoints[3390]); - builder.AddEndpoint(_endpoints[3391]); - builder.AddEndpoint(_endpoints[3392]); - builder.AddEndpoint(_endpoints[3393]); - builder.AddEndpoint(_endpoints[3394]); - builder.AddEndpoint(_endpoints[3395]); - builder.AddEndpoint(_endpoints[3396]); - builder.AddEndpoint(_endpoints[3397]); - builder.AddEndpoint(_endpoints[3398]); - builder.AddEndpoint(_endpoints[3399]); - builder.AddEndpoint(_endpoints[3400]); - builder.AddEndpoint(_endpoints[3401]); - builder.AddEndpoint(_endpoints[3402]); - builder.AddEndpoint(_endpoints[3403]); - builder.AddEndpoint(_endpoints[3404]); - builder.AddEndpoint(_endpoints[3405]); - builder.AddEndpoint(_endpoints[3406]); - builder.AddEndpoint(_endpoints[3407]); - builder.AddEndpoint(_endpoints[3408]); - builder.AddEndpoint(_endpoints[3409]); - builder.AddEndpoint(_endpoints[3410]); - builder.AddEndpoint(_endpoints[3411]); - builder.AddEndpoint(_endpoints[3412]); - builder.AddEndpoint(_endpoints[3413]); - builder.AddEndpoint(_endpoints[3414]); - builder.AddEndpoint(_endpoints[3415]); - builder.AddEndpoint(_endpoints[3416]); - builder.AddEndpoint(_endpoints[3417]); - builder.AddEndpoint(_endpoints[3418]); - builder.AddEndpoint(_endpoints[3419]); - builder.AddEndpoint(_endpoints[3420]); - builder.AddEndpoint(_endpoints[3421]); - builder.AddEndpoint(_endpoints[3422]); - builder.AddEndpoint(_endpoints[3423]); - builder.AddEndpoint(_endpoints[3424]); - builder.AddEndpoint(_endpoints[3425]); - builder.AddEndpoint(_endpoints[3426]); - builder.AddEndpoint(_endpoints[3427]); - builder.AddEndpoint(_endpoints[3428]); - builder.AddEndpoint(_endpoints[3429]); - builder.AddEndpoint(_endpoints[3430]); - builder.AddEndpoint(_endpoints[3431]); - builder.AddEndpoint(_endpoints[3432]); - builder.AddEndpoint(_endpoints[3433]); - builder.AddEndpoint(_endpoints[3434]); - builder.AddEndpoint(_endpoints[3435]); - builder.AddEndpoint(_endpoints[3436]); - builder.AddEndpoint(_endpoints[3437]); - builder.AddEndpoint(_endpoints[3438]); - builder.AddEndpoint(_endpoints[3439]); - builder.AddEndpoint(_endpoints[3440]); - builder.AddEndpoint(_endpoints[3441]); - builder.AddEndpoint(_endpoints[3442]); - builder.AddEndpoint(_endpoints[3443]); - builder.AddEndpoint(_endpoints[3444]); - builder.AddEndpoint(_endpoints[3445]); - builder.AddEndpoint(_endpoints[3446]); - builder.AddEndpoint(_endpoints[3447]); - builder.AddEndpoint(_endpoints[3448]); - builder.AddEndpoint(_endpoints[3449]); - builder.AddEndpoint(_endpoints[3450]); - builder.AddEndpoint(_endpoints[3451]); - builder.AddEndpoint(_endpoints[3452]); - builder.AddEndpoint(_endpoints[3453]); - builder.AddEndpoint(_endpoints[3454]); - builder.AddEndpoint(_endpoints[3455]); - builder.AddEndpoint(_endpoints[3456]); - builder.AddEndpoint(_endpoints[3457]); - builder.AddEndpoint(_endpoints[3458]); - builder.AddEndpoint(_endpoints[3459]); - builder.AddEndpoint(_endpoints[3460]); - builder.AddEndpoint(_endpoints[3461]); - builder.AddEndpoint(_endpoints[3462]); - builder.AddEndpoint(_endpoints[3463]); - builder.AddEndpoint(_endpoints[3464]); - builder.AddEndpoint(_endpoints[3465]); - builder.AddEndpoint(_endpoints[3466]); - builder.AddEndpoint(_endpoints[3467]); - builder.AddEndpoint(_endpoints[3468]); - builder.AddEndpoint(_endpoints[3469]); - builder.AddEndpoint(_endpoints[3470]); - builder.AddEndpoint(_endpoints[3471]); - builder.AddEndpoint(_endpoints[3472]); - builder.AddEndpoint(_endpoints[3473]); - builder.AddEndpoint(_endpoints[3474]); - builder.AddEndpoint(_endpoints[3475]); - builder.AddEndpoint(_endpoints[3476]); - builder.AddEndpoint(_endpoints[3477]); - builder.AddEndpoint(_endpoints[3478]); - builder.AddEndpoint(_endpoints[3479]); - builder.AddEndpoint(_endpoints[3480]); - builder.AddEndpoint(_endpoints[3481]); - builder.AddEndpoint(_endpoints[3482]); - builder.AddEndpoint(_endpoints[3483]); - builder.AddEndpoint(_endpoints[3484]); - builder.AddEndpoint(_endpoints[3485]); - builder.AddEndpoint(_endpoints[3486]); - builder.AddEndpoint(_endpoints[3487]); - builder.AddEndpoint(_endpoints[3488]); - builder.AddEndpoint(_endpoints[3489]); - builder.AddEndpoint(_endpoints[3490]); - builder.AddEndpoint(_endpoints[3491]); - builder.AddEndpoint(_endpoints[3492]); - builder.AddEndpoint(_endpoints[3493]); - builder.AddEndpoint(_endpoints[3494]); - builder.AddEndpoint(_endpoints[3495]); - builder.AddEndpoint(_endpoints[3496]); - builder.AddEndpoint(_endpoints[3497]); - builder.AddEndpoint(_endpoints[3498]); - builder.AddEndpoint(_endpoints[3499]); - builder.AddEndpoint(_endpoints[3500]); - builder.AddEndpoint(_endpoints[3501]); - builder.AddEndpoint(_endpoints[3502]); - builder.AddEndpoint(_endpoints[3503]); - builder.AddEndpoint(_endpoints[3504]); - builder.AddEndpoint(_endpoints[3505]); - builder.AddEndpoint(_endpoints[3506]); - builder.AddEndpoint(_endpoints[3507]); - builder.AddEndpoint(_endpoints[3508]); - builder.AddEndpoint(_endpoints[3509]); - builder.AddEndpoint(_endpoints[3510]); - builder.AddEndpoint(_endpoints[3511]); - builder.AddEndpoint(_endpoints[3512]); - builder.AddEndpoint(_endpoints[3513]); - builder.AddEndpoint(_endpoints[3514]); - builder.AddEndpoint(_endpoints[3515]); - builder.AddEndpoint(_endpoints[3516]); - return builder.Build(); - } - } -} \ No newline at end of file diff --git a/benchmarks/Microsoft.AspNetCore.Routing.Performance/Matchers/Candidate.cs b/benchmarks/Microsoft.AspNetCore.Routing.Performance/Matchers/Candidate.cs new file mode 100644 index 0000000000..dc768ef113 --- /dev/null +++ b/benchmarks/Microsoft.AspNetCore.Routing.Performance/Matchers/Candidate.cs @@ -0,0 +1,28 @@ +// Copyright (c) .NET Foundation. All rights reserved. +// Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information. + +using System; + +namespace Microsoft.AspNetCore.Routing.Matchers +{ + // This is not yet fleshed out - consider this part of the + // work-in-progress definition of CandidateSet. + internal readonly struct Candidate + { + public readonly MatcherEndpoint Endpoint; + + public readonly string[] Parameters; + + public Candidate(MatcherEndpoint endpoint) + { + Endpoint = endpoint; + Parameters = Array.Empty(); + } + + public Candidate(MatcherEndpoint endpoint, string[] parameters) + { + Endpoint = endpoint; + Parameters = parameters; + } + } +} diff --git a/benchmarks/Microsoft.AspNetCore.Routing.Performance/Matchers/CustomHashTableJumpTable.cs b/benchmarks/Microsoft.AspNetCore.Routing.Performance/Matchers/CustomHashTableJumpTable.cs index bbffc14a80..902373120f 100644 --- a/benchmarks/Microsoft.AspNetCore.Routing.Performance/Matchers/CustomHashTableJumpTable.cs +++ b/benchmarks/Microsoft.AspNetCore.Routing.Performance/Matchers/CustomHashTableJumpTable.cs @@ -104,7 +104,7 @@ namespace Microsoft.AspNetCore.Routing.Matchers return Primes[Primes.Length - 1]; } - public override unsafe int GetDestination(string path, PathSegment segment) + public override int GetDestination(string path, PathSegment segment) { if (segment.Length == 0) { diff --git a/benchmarks/Microsoft.AspNetCore.Routing.Performance/Matchers/FastPathTokenizerBenchmarkBase.cs b/benchmarks/Microsoft.AspNetCore.Routing.Performance/Matchers/FastPathTokenizerBenchmarkBase.cs index 8f27db6c60..9a32198438 100644 --- a/benchmarks/Microsoft.AspNetCore.Routing.Performance/Matchers/FastPathTokenizerBenchmarkBase.cs +++ b/benchmarks/Microsoft.AspNetCore.Routing.Performance/Matchers/FastPathTokenizerBenchmarkBase.cs @@ -5,7 +5,7 @@ namespace Microsoft.AspNetCore.Routing.Matchers { public abstract class FastPathTokenizerBenchmarkBase { - internal unsafe void NaiveBaseline(string path, PathSegment * segments, int maxCount) + internal unsafe void NaiveBaseline(string path, PathSegment* segments, int maxCount) { int count = 0; int start = 1; // Paths always start with a leading / diff --git a/benchmarks/Microsoft.AspNetCore.Routing.Performance/Matchers/FastPathTokenizerEmptyBenchmark.cs b/benchmarks/Microsoft.AspNetCore.Routing.Performance/Matchers/FastPathTokenizerEmptyBenchmark.cs index f637e565eb..f042b9a66d 100644 --- a/benchmarks/Microsoft.AspNetCore.Routing.Performance/Matchers/FastPathTokenizerEmptyBenchmark.cs +++ b/benchmarks/Microsoft.AspNetCore.Routing.Performance/Matchers/FastPathTokenizerEmptyBenchmark.cs @@ -1,6 +1,7 @@ // Copyright (c) .NET Foundation. All rights reserved. // Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information. +using System; using BenchmarkDotNet.Attributes; namespace Microsoft.AspNetCore.Routing.Matchers @@ -21,12 +22,12 @@ namespace Microsoft.AspNetCore.Routing.Matchers } [Benchmark] - public unsafe void Implementation() + public void Implementation() { var path = Input; - var segments = stackalloc PathSegment[MaxCount]; + Span segments = stackalloc PathSegment[MaxCount]; - FastPathTokenizer.Tokenize(path, segments, MaxCount); + FastPathTokenizer.Tokenize(path, segments); } } } diff --git a/benchmarks/Microsoft.AspNetCore.Routing.Performance/Matchers/FastPathTokenizerLargeBenchmark.cs b/benchmarks/Microsoft.AspNetCore.Routing.Performance/Matchers/FastPathTokenizerLargeBenchmark.cs index 3e423191f1..fdf8b6f103 100644 --- a/benchmarks/Microsoft.AspNetCore.Routing.Performance/Matchers/FastPathTokenizerLargeBenchmark.cs +++ b/benchmarks/Microsoft.AspNetCore.Routing.Performance/Matchers/FastPathTokenizerLargeBenchmark.cs @@ -1,6 +1,7 @@ // Copyright (c) .NET Foundation. All rights reserved. // Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information. +using System; using BenchmarkDotNet.Attributes; namespace Microsoft.AspNetCore.Routing.Matchers @@ -25,12 +26,12 @@ namespace Microsoft.AspNetCore.Routing.Matchers } [Benchmark] - public unsafe void Implementation() + public void Implementation() { var path = Input; - var segments = stackalloc PathSegment[MaxCount]; + Span segments = stackalloc PathSegment[MaxCount]; - FastPathTokenizer.Tokenize(path, segments, MaxCount); + FastPathTokenizer.Tokenize(path, segments); } } } diff --git a/benchmarks/Microsoft.AspNetCore.Routing.Performance/Matchers/FastPathTokenizerPlaintextBenchmark.cs b/benchmarks/Microsoft.AspNetCore.Routing.Performance/Matchers/FastPathTokenizerPlaintextBenchmark.cs index e125150512..1be82d90dd 100644 --- a/benchmarks/Microsoft.AspNetCore.Routing.Performance/Matchers/FastPathTokenizerPlaintextBenchmark.cs +++ b/benchmarks/Microsoft.AspNetCore.Routing.Performance/Matchers/FastPathTokenizerPlaintextBenchmark.cs @@ -1,6 +1,7 @@ // Copyright (c) .NET Foundation. All rights reserved. // Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information. +using System; using BenchmarkDotNet.Attributes; namespace Microsoft.AspNetCore.Routing.Matchers @@ -21,12 +22,12 @@ namespace Microsoft.AspNetCore.Routing.Matchers } [Benchmark] - public unsafe void Implementation() + public void Implementation() { var path = Input; - var segments = stackalloc PathSegment[MaxCount]; + Span segments = stackalloc PathSegment[MaxCount]; - FastPathTokenizer.Tokenize(path, segments, MaxCount); + FastPathTokenizer.Tokenize(path, segments); } } } diff --git a/benchmarks/Microsoft.AspNetCore.Routing.Performance/Matchers/FastPathTokenizerSmallBenchmark.cs b/benchmarks/Microsoft.AspNetCore.Routing.Performance/Matchers/FastPathTokenizerSmallBenchmark.cs index 70d1f6717e..737657824f 100644 --- a/benchmarks/Microsoft.AspNetCore.Routing.Performance/Matchers/FastPathTokenizerSmallBenchmark.cs +++ b/benchmarks/Microsoft.AspNetCore.Routing.Performance/Matchers/FastPathTokenizerSmallBenchmark.cs @@ -1,6 +1,7 @@ // Copyright (c) .NET Foundation. All rights reserved. // Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information. +using System; using BenchmarkDotNet.Attributes; namespace Microsoft.AspNetCore.Routing.Matchers @@ -21,12 +22,12 @@ namespace Microsoft.AspNetCore.Routing.Matchers } [Benchmark] - public unsafe void Implementation() + public void Implementation() { var path = Input; - var segments = stackalloc PathSegment[MaxCount]; + Span segments = stackalloc PathSegment[MaxCount]; - FastPathTokenizer.Tokenize(path, segments, MaxCount); + FastPathTokenizer.Tokenize(path, segments); } } } diff --git a/benchmarks/Microsoft.AspNetCore.Routing.Performance/Matchers/GithubMatcherBenchmark.generated.cs b/benchmarks/Microsoft.AspNetCore.Routing.Performance/Matchers/GithubMatcherBenchmark.generated.cs deleted file mode 100644 index 5664400a24..0000000000 --- a/benchmarks/Microsoft.AspNetCore.Routing.Performance/Matchers/GithubMatcherBenchmark.generated.cs +++ /dev/null @@ -1,959 +0,0 @@ - -// Copyright (c) .NET Foundation. All rights reserved. -// Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information. - -using Microsoft.AspNetCore.Http; - -namespace Microsoft.AspNetCore.Routing.Matchers -{ - // This code was generated by the Swaggatherer - public partial class GithubMatcherBenchmark : MatcherBenchmarkBase - { - private const int EndpointCount = 155; - - private void SetupEndpoints() - { - _endpoints = new MatcherEndpoint[155]; - _endpoints[0] = CreateEndpoint("/emojis"); - _endpoints[1] = CreateEndpoint("/events"); - _endpoints[2] = CreateEndpoint("/feeds"); - _endpoints[3] = CreateEndpoint("/gists"); - _endpoints[4] = CreateEndpoint("/issues"); - _endpoints[5] = CreateEndpoint("/markdown"); - _endpoints[6] = CreateEndpoint("/meta"); - _endpoints[7] = CreateEndpoint("/notifications"); - _endpoints[8] = CreateEndpoint("/rate_limit"); - _endpoints[9] = CreateEndpoint("/repositories"); - _endpoints[10] = CreateEndpoint("/user"); - _endpoints[11] = CreateEndpoint("/users"); - _endpoints[12] = CreateEndpoint("/gists/public"); - _endpoints[13] = CreateEndpoint("/gists/starred"); - _endpoints[14] = CreateEndpoint("/gitignore/templates"); - _endpoints[15] = CreateEndpoint("/markdown/raw"); - _endpoints[16] = CreateEndpoint("/search/code"); - _endpoints[17] = CreateEndpoint("/search/issues"); - _endpoints[18] = CreateEndpoint("/search/repositories"); - _endpoints[19] = CreateEndpoint("/search/users"); - _endpoints[20] = CreateEndpoint("/user/emails"); - _endpoints[21] = CreateEndpoint("/user/followers"); - _endpoints[22] = CreateEndpoint("/user/following"); - _endpoints[23] = CreateEndpoint("/user/issues"); - _endpoints[24] = CreateEndpoint("/user/keys"); - _endpoints[25] = CreateEndpoint("/user/orgs"); - _endpoints[26] = CreateEndpoint("/user/repos"); - _endpoints[27] = CreateEndpoint("/user/starred"); - _endpoints[28] = CreateEndpoint("/user/subscriptions"); - _endpoints[29] = CreateEndpoint("/user/teams"); - _endpoints[30] = CreateEndpoint("/legacy/repos/search/{keyword}"); - _endpoints[31] = CreateEndpoint("/legacy/user/email/{email}"); - _endpoints[32] = CreateEndpoint("/legacy/user/search/{keyword}"); - _endpoints[33] = CreateEndpoint("/legacy/issues/search/{owner}/{repository}/{state}/{keyword}"); - _endpoints[34] = CreateEndpoint("/gitignore/templates/{language}"); - _endpoints[35] = CreateEndpoint("/notifications/threads/{id}"); - _endpoints[36] = CreateEndpoint("/user/following/{username}"); - _endpoints[37] = CreateEndpoint("/user/keys/{keyId}"); - _endpoints[38] = CreateEndpoint("/notifications/threads/{id}/subscription"); - _endpoints[39] = CreateEndpoint("/user/starred/{owner}/{repo}"); - _endpoints[40] = CreateEndpoint("/user/subscriptions/{owner}/{repo}"); - _endpoints[41] = CreateEndpoint("/gists/{id}"); - _endpoints[42] = CreateEndpoint("/orgs/{org}"); - _endpoints[43] = CreateEndpoint("/teams/{teamId}"); - _endpoints[44] = CreateEndpoint("/users/{username}"); - _endpoints[45] = CreateEndpoint("/gists/{id}/comments"); - _endpoints[46] = CreateEndpoint("/gists/{id}/forks"); - _endpoints[47] = CreateEndpoint("/gists/{id}/star"); - _endpoints[48] = CreateEndpoint("/orgs/{org}/events"); - _endpoints[49] = CreateEndpoint("/orgs/{org}/issues"); - _endpoints[50] = CreateEndpoint("/orgs/{org}/members"); - _endpoints[51] = CreateEndpoint("/orgs/{org}/public_members"); - _endpoints[52] = CreateEndpoint("/orgs/{org}/repos"); - _endpoints[53] = CreateEndpoint("/orgs/{org}/teams"); - _endpoints[54] = CreateEndpoint("/teams/{teamId}/members"); - _endpoints[55] = CreateEndpoint("/teams/{teamId}/repos"); - _endpoints[56] = CreateEndpoint("/users/{username}/events"); - _endpoints[57] = CreateEndpoint("/users/{username}/followers"); - _endpoints[58] = CreateEndpoint("/users/{username}/gists"); - _endpoints[59] = CreateEndpoint("/users/{username}/keys"); - _endpoints[60] = CreateEndpoint("/users/{username}/orgs"); - _endpoints[61] = CreateEndpoint("/users/{username}/received_events"); - _endpoints[62] = CreateEndpoint("/users/{username}/repos"); - _endpoints[63] = CreateEndpoint("/users/{username}/starred"); - _endpoints[64] = CreateEndpoint("/users/{username}/subscriptions"); - _endpoints[65] = CreateEndpoint("/users/{username}/received_events/public"); - _endpoints[66] = CreateEndpoint("/users/{username}/events/orgs/{org}"); - _endpoints[67] = CreateEndpoint("/gists/{id}/comments/{commentId}"); - _endpoints[68] = CreateEndpoint("/orgs/{org}/members/{username}"); - _endpoints[69] = CreateEndpoint("/orgs/{org}/public_members/{username}"); - _endpoints[70] = CreateEndpoint("/teams/{teamId}/members/{username}"); - _endpoints[71] = CreateEndpoint("/teams/{teamId}/memberships/{username}"); - _endpoints[72] = CreateEndpoint("/users/{username}/following/{targetUser}"); - _endpoints[73] = CreateEndpoint("/teams/{teamId}/repos/{owner}/{repo}"); - _endpoints[74] = CreateEndpoint("/repos/{owner}/{repo}"); - _endpoints[75] = CreateEndpoint("/networks/{owner}/{repo}/events"); - _endpoints[76] = CreateEndpoint("/repos/{owner}/{repo}/assignees"); - _endpoints[77] = CreateEndpoint("/repos/{owner}/{repo}/branches"); - _endpoints[78] = CreateEndpoint("/repos/{owner}/{repo}/collaborators"); - _endpoints[79] = CreateEndpoint("/repos/{owner}/{repo}/comments"); - _endpoints[80] = CreateEndpoint("/repos/{owner}/{repo}/commits"); - _endpoints[81] = CreateEndpoint("/repos/{owner}/{repo}/contributors"); - _endpoints[82] = CreateEndpoint("/repos/{owner}/{repo}/deployments"); - _endpoints[83] = CreateEndpoint("/repos/{owner}/{repo}/downloads"); - _endpoints[84] = CreateEndpoint("/repos/{owner}/{repo}/events"); - _endpoints[85] = CreateEndpoint("/repos/{owner}/{repo}/forks"); - _endpoints[86] = CreateEndpoint("/repos/{owner}/{repo}/hooks"); - _endpoints[87] = CreateEndpoint("/repos/{owner}/{repo}/issues"); - _endpoints[88] = CreateEndpoint("/repos/{owner}/{repo}/keys"); - _endpoints[89] = CreateEndpoint("/repos/{owner}/{repo}/labels"); - _endpoints[90] = CreateEndpoint("/repos/{owner}/{repo}/languages"); - _endpoints[91] = CreateEndpoint("/repos/{owner}/{repo}/merges"); - _endpoints[92] = CreateEndpoint("/repos/{owner}/{repo}/milestones"); - _endpoints[93] = CreateEndpoint("/repos/{owner}/{repo}/notifications"); - _endpoints[94] = CreateEndpoint("/repos/{owner}/{repo}/pulls"); - _endpoints[95] = CreateEndpoint("/repos/{owner}/{repo}/readme"); - _endpoints[96] = CreateEndpoint("/repos/{owner}/{repo}/releases"); - _endpoints[97] = CreateEndpoint("/repos/{owner}/{repo}/stargazers"); - _endpoints[98] = CreateEndpoint("/repos/{owner}/{repo}/subscribers"); - _endpoints[99] = CreateEndpoint("/repos/{owner}/{repo}/subscription"); - _endpoints[100] = CreateEndpoint("/repos/{owner}/{repo}/tags"); - _endpoints[101] = CreateEndpoint("/repos/{owner}/{repo}/teams"); - _endpoints[102] = CreateEndpoint("/repos/{owner}/{repo}/watchers"); - _endpoints[103] = CreateEndpoint("/repos/{owner}/{repo}/git/blobs"); - _endpoints[104] = CreateEndpoint("/repos/{owner}/{repo}/git/commits"); - _endpoints[105] = CreateEndpoint("/repos/{owner}/{repo}/git/refs"); - _endpoints[106] = CreateEndpoint("/repos/{owner}/{repo}/git/tags"); - _endpoints[107] = CreateEndpoint("/repos/{owner}/{repo}/git/trees"); - _endpoints[108] = CreateEndpoint("/repos/{owner}/{repo}/issues/comments"); - _endpoints[109] = CreateEndpoint("/repos/{owner}/{repo}/issues/events"); - _endpoints[110] = CreateEndpoint("/repos/{owner}/{repo}/pulls/comments"); - _endpoints[111] = CreateEndpoint("/repos/{owner}/{repo}/stats/code_frequency"); - _endpoints[112] = CreateEndpoint("/repos/{owner}/{repo}/stats/commit_activity"); - _endpoints[113] = CreateEndpoint("/repos/{owner}/{repo}/stats/contributors"); - _endpoints[114] = CreateEndpoint("/repos/{owner}/{repo}/stats/participation"); - _endpoints[115] = CreateEndpoint("/repos/{owner}/{repo}/stats/punch_card"); - _endpoints[116] = CreateEndpoint("/repos/{owner}/{repo}/git/blobs/{shaCode}"); - _endpoints[117] = CreateEndpoint("/repos/{owner}/{repo}/git/commits/{shaCode}"); - _endpoints[118] = CreateEndpoint("/repos/{owner}/{repo}/git/refs/{ref}"); - _endpoints[119] = CreateEndpoint("/repos/{owner}/{repo}/git/tags/{shaCode}"); - _endpoints[120] = CreateEndpoint("/repos/{owner}/{repo}/git/trees/{shaCode}"); - _endpoints[121] = CreateEndpoint("/repos/{owner}/{repo}/issues/comments/{commentId}"); - _endpoints[122] = CreateEndpoint("/repos/{owner}/{repo}/issues/events/{eventId}"); - _endpoints[123] = CreateEndpoint("/repos/{owner}/{repo}/pulls/comments/{commentId}"); - _endpoints[124] = CreateEndpoint("/repos/{owner}/{repo}/releases/assets/{id}"); - _endpoints[125] = CreateEndpoint("/repos/{owner}/{repo}/assignees/{assignee}"); - _endpoints[126] = CreateEndpoint("/repos/{owner}/{repo}/branches/{branch}"); - _endpoints[127] = CreateEndpoint("/repos/{owner}/{repo}/collaborators/{user}"); - _endpoints[128] = CreateEndpoint("/repos/{owner}/{repo}/comments/{commentId}"); - _endpoints[129] = CreateEndpoint("/repos/{owner}/{repo}/commits/{shaCode}"); - _endpoints[130] = CreateEndpoint("/repos/{owner}/{repo}/contents/{path}"); - _endpoints[131] = CreateEndpoint("/repos/{owner}/{repo}/downloads/{downloadId}"); - _endpoints[132] = CreateEndpoint("/repos/{owner}/{repo}/hooks/{hookId}"); - _endpoints[133] = CreateEndpoint("/repos/{owner}/{repo}/issues/{number}"); - _endpoints[134] = CreateEndpoint("/repos/{owner}/{repo}/keys/{keyId}"); - _endpoints[135] = CreateEndpoint("/repos/{owner}/{repo}/labels/{name}"); - _endpoints[136] = CreateEndpoint("/repos/{owner}/{repo}/milestones/{number}"); - _endpoints[137] = CreateEndpoint("/repos/{owner}/{repo}/pulls/{number}"); - _endpoints[138] = CreateEndpoint("/repos/{owner}/{repo}/releases/{id}"); - _endpoints[139] = CreateEndpoint("/repos/{owner}/{repo}/statuses/{ref}"); - _endpoints[140] = CreateEndpoint("/repos/{owner}/{repo}/commits/{ref}/status"); - _endpoints[141] = CreateEndpoint("/repos/{owner}/{repo}/commits/{shaCode}/comments"); - _endpoints[142] = CreateEndpoint("/repos/{owner}/{repo}/deployments/{id}/statuses"); - _endpoints[143] = CreateEndpoint("/repos/{owner}/{repo}/hooks/{hookId}/tests"); - _endpoints[144] = CreateEndpoint("/repos/{owner}/{repo}/issues/{number}/comments"); - _endpoints[145] = CreateEndpoint("/repos/{owner}/{repo}/issues/{number}/events"); - _endpoints[146] = CreateEndpoint("/repos/{owner}/{repo}/issues/{number}/labels"); - _endpoints[147] = CreateEndpoint("/repos/{owner}/{repo}/milestones/{number}/labels"); - _endpoints[148] = CreateEndpoint("/repos/{owner}/{repo}/pulls/{number}/comments"); - _endpoints[149] = CreateEndpoint("/repos/{owner}/{repo}/pulls/{number}/commits"); - _endpoints[150] = CreateEndpoint("/repos/{owner}/{repo}/pulls/{number}/files"); - _endpoints[151] = CreateEndpoint("/repos/{owner}/{repo}/pulls/{number}/merge"); - _endpoints[152] = CreateEndpoint("/repos/{owner}/{repo}/releases/{id}/assets"); - _endpoints[153] = CreateEndpoint("/repos/{owner}/{repo}/issues/{number}/labels/{name}"); - _endpoints[154] = CreateEndpoint("/repos/{owner}/{repo}/{archive_format}/{path}"); - } - - private void SetupRequests() - { - _requests = new HttpContext[155]; - _requests[0] = new DefaultHttpContext(); - _requests[0].RequestServices = CreateServices(); - _requests[0].Request.Method = "GET"; - _requests[0].Request.Path = "/emojis"; - _requests[1] = new DefaultHttpContext(); - _requests[1].RequestServices = CreateServices(); - _requests[1].Request.Method = "GET"; - _requests[1].Request.Path = "/events"; - _requests[2] = new DefaultHttpContext(); - _requests[2].RequestServices = CreateServices(); - _requests[2].Request.Method = "GET"; - _requests[2].Request.Path = "/feeds"; - _requests[3] = new DefaultHttpContext(); - _requests[3].RequestServices = CreateServices(); - _requests[3].Request.Method = "POST"; - _requests[3].Request.Path = "/gists"; - _requests[4] = new DefaultHttpContext(); - _requests[4].RequestServices = CreateServices(); - _requests[4].Request.Method = "GET"; - _requests[4].Request.Path = "/issues"; - _requests[5] = new DefaultHttpContext(); - _requests[5].RequestServices = CreateServices(); - _requests[5].Request.Method = "POST"; - _requests[5].Request.Path = "/markdown"; - _requests[6] = new DefaultHttpContext(); - _requests[6].RequestServices = CreateServices(); - _requests[6].Request.Method = "GET"; - _requests[6].Request.Path = "/meta"; - _requests[7] = new DefaultHttpContext(); - _requests[7].RequestServices = CreateServices(); - _requests[7].Request.Method = "PUT"; - _requests[7].Request.Path = "/notifications"; - _requests[8] = new DefaultHttpContext(); - _requests[8].RequestServices = CreateServices(); - _requests[8].Request.Method = "GET"; - _requests[8].Request.Path = "/rate_limit"; - _requests[9] = new DefaultHttpContext(); - _requests[9].RequestServices = CreateServices(); - _requests[9].Request.Method = "GET"; - _requests[9].Request.Path = "/repositories"; - _requests[10] = new DefaultHttpContext(); - _requests[10].RequestServices = CreateServices(); - _requests[10].Request.Method = "PATCH"; - _requests[10].Request.Path = "/user"; - _requests[11] = new DefaultHttpContext(); - _requests[11].RequestServices = CreateServices(); - _requests[11].Request.Method = "GET"; - _requests[11].Request.Path = "/users"; - _requests[12] = new DefaultHttpContext(); - _requests[12].RequestServices = CreateServices(); - _requests[12].Request.Method = "GET"; - _requests[12].Request.Path = "/gists/public"; - _requests[13] = new DefaultHttpContext(); - _requests[13].RequestServices = CreateServices(); - _requests[13].Request.Method = "GET"; - _requests[13].Request.Path = "/gists/starred"; - _requests[14] = new DefaultHttpContext(); - _requests[14].RequestServices = CreateServices(); - _requests[14].Request.Method = "GET"; - _requests[14].Request.Path = "/gitignore/templates"; - _requests[15] = new DefaultHttpContext(); - _requests[15].RequestServices = CreateServices(); - _requests[15].Request.Method = "POST"; - _requests[15].Request.Path = "/markdown/raw"; - _requests[16] = new DefaultHttpContext(); - _requests[16].RequestServices = CreateServices(); - _requests[16].Request.Method = "GET"; - _requests[16].Request.Path = "/search/code"; - _requests[17] = new DefaultHttpContext(); - _requests[17].RequestServices = CreateServices(); - _requests[17].Request.Method = "GET"; - _requests[17].Request.Path = "/search/issues"; - _requests[18] = new DefaultHttpContext(); - _requests[18].RequestServices = CreateServices(); - _requests[18].Request.Method = "GET"; - _requests[18].Request.Path = "/search/repositories"; - _requests[19] = new DefaultHttpContext(); - _requests[19].RequestServices = CreateServices(); - _requests[19].Request.Method = "GET"; - _requests[19].Request.Path = "/search/users"; - _requests[20] = new DefaultHttpContext(); - _requests[20].RequestServices = CreateServices(); - _requests[20].Request.Method = "POST"; - _requests[20].Request.Path = "/user/emails"; - _requests[21] = new DefaultHttpContext(); - _requests[21].RequestServices = CreateServices(); - _requests[21].Request.Method = "GET"; - _requests[21].Request.Path = "/user/followers"; - _requests[22] = new DefaultHttpContext(); - _requests[22].RequestServices = CreateServices(); - _requests[22].Request.Method = "GET"; - _requests[22].Request.Path = "/user/following"; - _requests[23] = new DefaultHttpContext(); - _requests[23].RequestServices = CreateServices(); - _requests[23].Request.Method = "GET"; - _requests[23].Request.Path = "/user/issues"; - _requests[24] = new DefaultHttpContext(); - _requests[24].RequestServices = CreateServices(); - _requests[24].Request.Method = "POST"; - _requests[24].Request.Path = "/user/keys"; - _requests[25] = new DefaultHttpContext(); - _requests[25].RequestServices = CreateServices(); - _requests[25].Request.Method = "GET"; - _requests[25].Request.Path = "/user/orgs"; - _requests[26] = new DefaultHttpContext(); - _requests[26].RequestServices = CreateServices(); - _requests[26].Request.Method = "POST"; - _requests[26].Request.Path = "/user/repos"; - _requests[27] = new DefaultHttpContext(); - _requests[27].RequestServices = CreateServices(); - _requests[27].Request.Method = "GET"; - _requests[27].Request.Path = "/user/starred"; - _requests[28] = new DefaultHttpContext(); - _requests[28].RequestServices = CreateServices(); - _requests[28].Request.Method = "GET"; - _requests[28].Request.Path = "/user/subscriptions"; - _requests[29] = new DefaultHttpContext(); - _requests[29].RequestServices = CreateServices(); - _requests[29].Request.Method = "GET"; - _requests[29].Request.Path = "/user/teams"; - _requests[30] = new DefaultHttpContext(); - _requests[30].RequestServices = CreateServices(); - _requests[30].Request.Method = "GET"; - _requests[30].Request.Path = "/legacy/repos/search/98f2805"; - _requests[31] = new DefaultHttpContext(); - _requests[31].RequestServices = CreateServices(); - _requests[31].Request.Method = "GET"; - _requests[31].Request.Path = "/legacy/user/email/d65b3"; - _requests[32] = new DefaultHttpContext(); - _requests[32].RequestServices = CreateServices(); - _requests[32].Request.Method = "GET"; - _requests[32].Request.Path = "/legacy/user/search/edc2298"; - _requests[33] = new DefaultHttpContext(); - _requests[33].RequestServices = CreateServices(); - _requests[33].Request.Method = "GET"; - _requests[33].Request.Path = "/legacy/issues/search/7f959/b12ea0da-b/49a3b/b371d06"; - _requests[34] = new DefaultHttpContext(); - _requests[34].RequestServices = CreateServices(); - _requests[34].Request.Method = "GET"; - _requests[34].Request.Path = "/gitignore/templates/0cb5dc32"; - _requests[35] = new DefaultHttpContext(); - _requests[35].RequestServices = CreateServices(); - _requests[35].Request.Method = "PATCH"; - _requests[35].Request.Path = "/notifications/threads/4bd8e"; - _requests[36] = new DefaultHttpContext(); - _requests[36].RequestServices = CreateServices(); - _requests[36].Request.Method = "PUT"; - _requests[36].Request.Path = "/user/following/e2c3a018"; - _requests[37] = new DefaultHttpContext(); - _requests[37].RequestServices = CreateServices(); - _requests[37].Request.Method = "GET"; - _requests[37].Request.Path = "/user/keys/7d82b"; - _requests[38] = new DefaultHttpContext(); - _requests[38].RequestServices = CreateServices(); - _requests[38].Request.Method = "PUT"; - _requests[38].Request.Path = "/notifications/threads/dd67d/subscription"; - _requests[39] = new DefaultHttpContext(); - _requests[39].RequestServices = CreateServices(); - _requests[39].Request.Method = "PUT"; - _requests[39].Request.Path = "/user/starred/0b99c/8783e"; - _requests[40] = new DefaultHttpContext(); - _requests[40].RequestServices = CreateServices(); - _requests[40].Request.Method = "PUT"; - _requests[40].Request.Path = "/user/subscriptions/384c7/2c13f"; - _requests[41] = new DefaultHttpContext(); - _requests[41].RequestServices = CreateServices(); - _requests[41].Request.Method = "PATCH"; - _requests[41].Request.Path = "/gists/e6d49"; - _requests[42] = new DefaultHttpContext(); - _requests[42].RequestServices = CreateServices(); - _requests[42].Request.Method = "PATCH"; - _requests[42].Request.Path = "/orgs/8ae9c"; - _requests[43] = new DefaultHttpContext(); - _requests[43].RequestServices = CreateServices(); - _requests[43].Request.Method = "PATCH"; - _requests[43].Request.Path = "/teams/4a7cc7"; - _requests[44] = new DefaultHttpContext(); - _requests[44].RequestServices = CreateServices(); - _requests[44].Request.Method = "GET"; - _requests[44].Request.Path = "/users/0a04d291"; - _requests[45] = new DefaultHttpContext(); - _requests[45].RequestServices = CreateServices(); - _requests[45].Request.Method = "POST"; - _requests[45].Request.Path = "/gists/08da6/comments"; - _requests[46] = new DefaultHttpContext(); - _requests[46].RequestServices = CreateServices(); - _requests[46].Request.Method = "POST"; - _requests[46].Request.Path = "/gists/fca54/forks"; - _requests[47] = new DefaultHttpContext(); - _requests[47].RequestServices = CreateServices(); - _requests[47].Request.Method = "PUT"; - _requests[47].Request.Path = "/gists/31f75/star"; - _requests[48] = new DefaultHttpContext(); - _requests[48].RequestServices = CreateServices(); - _requests[48].Request.Method = "GET"; - _requests[48].Request.Path = "/orgs/2b352/events"; - _requests[49] = new DefaultHttpContext(); - _requests[49].RequestServices = CreateServices(); - _requests[49].Request.Method = "GET"; - _requests[49].Request.Path = "/orgs/e08a9/issues"; - _requests[50] = new DefaultHttpContext(); - _requests[50].RequestServices = CreateServices(); - _requests[50].Request.Method = "GET"; - _requests[50].Request.Path = "/orgs/fddd5/members"; - _requests[51] = new DefaultHttpContext(); - _requests[51].RequestServices = CreateServices(); - _requests[51].Request.Method = "GET"; - _requests[51].Request.Path = "/orgs/a0018/public_members"; - _requests[52] = new DefaultHttpContext(); - _requests[52].RequestServices = CreateServices(); - _requests[52].Request.Method = "POST"; - _requests[52].Request.Path = "/orgs/459e6/repos"; - _requests[53] = new DefaultHttpContext(); - _requests[53].RequestServices = CreateServices(); - _requests[53].Request.Method = "POST"; - _requests[53].Request.Path = "/orgs/c50a3/teams"; - _requests[54] = new DefaultHttpContext(); - _requests[54].RequestServices = CreateServices(); - _requests[54].Request.Method = "GET"; - _requests[54].Request.Path = "/teams/6d7c70/members"; - _requests[55] = new DefaultHttpContext(); - _requests[55].RequestServices = CreateServices(); - _requests[55].Request.Method = "GET"; - _requests[55].Request.Path = "/teams/2c72a5/repos"; - _requests[56] = new DefaultHttpContext(); - _requests[56].RequestServices = CreateServices(); - _requests[56].Request.Method = "GET"; - _requests[56].Request.Path = "/users/0d7c82bc/events"; - _requests[57] = new DefaultHttpContext(); - _requests[57].RequestServices = CreateServices(); - _requests[57].Request.Method = "GET"; - _requests[57].Request.Path = "/users/dad59333/followers"; - _requests[58] = new DefaultHttpContext(); - _requests[58].RequestServices = CreateServices(); - _requests[58].Request.Method = "GET"; - _requests[58].Request.Path = "/users/d3cfc2f7/gists"; - _requests[59] = new DefaultHttpContext(); - _requests[59].RequestServices = CreateServices(); - _requests[59].Request.Method = "GET"; - _requests[59].Request.Path = "/users/74de59eb/keys"; - _requests[60] = new DefaultHttpContext(); - _requests[60].RequestServices = CreateServices(); - _requests[60].Request.Method = "GET"; - _requests[60].Request.Path = "/users/c8078ace/orgs"; - _requests[61] = new DefaultHttpContext(); - _requests[61].RequestServices = CreateServices(); - _requests[61].Request.Method = "GET"; - _requests[61].Request.Path = "/users/7bb096ec/received_events"; - _requests[62] = new DefaultHttpContext(); - _requests[62].RequestServices = CreateServices(); - _requests[62].Request.Method = "GET"; - _requests[62].Request.Path = "/users/8208dce8/repos"; - _requests[63] = new DefaultHttpContext(); - _requests[63].RequestServices = CreateServices(); - _requests[63].Request.Method = "GET"; - _requests[63].Request.Path = "/users/8da3e05c/starred"; - _requests[64] = new DefaultHttpContext(); - _requests[64].RequestServices = CreateServices(); - _requests[64].Request.Method = "GET"; - _requests[64].Request.Path = "/users/ddcd1749/subscriptions"; - _requests[65] = new DefaultHttpContext(); - _requests[65].RequestServices = CreateServices(); - _requests[65].Request.Method = "GET"; - _requests[65].Request.Path = "/users/528d35ef/received_events/public"; - _requests[66] = new DefaultHttpContext(); - _requests[66].RequestServices = CreateServices(); - _requests[66].Request.Method = "GET"; - _requests[66].Request.Path = "/users/9a36a9de/events/orgs/3864a"; - _requests[67] = new DefaultHttpContext(); - _requests[67].RequestServices = CreateServices(); - _requests[67].Request.Method = "PATCH"; - _requests[67].Request.Path = "/gists/29a38/comments/f955540b-"; - _requests[68] = new DefaultHttpContext(); - _requests[68].RequestServices = CreateServices(); - _requests[68].Request.Method = "GET"; - _requests[68].Request.Path = "/orgs/7b33c/members/fa7c6147"; - _requests[69] = new DefaultHttpContext(); - _requests[69].RequestServices = CreateServices(); - _requests[69].Request.Method = "PUT"; - _requests[69].Request.Path = "/orgs/97a4b/public_members/35fecf7f"; - _requests[70] = new DefaultHttpContext(); - _requests[70].RequestServices = CreateServices(); - _requests[70].Request.Method = "PUT"; - _requests[70].Request.Path = "/teams/969145/members/194d27ad"; - _requests[71] = new DefaultHttpContext(); - _requests[71].RequestServices = CreateServices(); - _requests[71].Request.Method = "PUT"; - _requests[71].Request.Path = "/teams/90a622/memberships/88477f8b"; - _requests[72] = new DefaultHttpContext(); - _requests[72].RequestServices = CreateServices(); - _requests[72].Request.Method = "GET"; - _requests[72].Request.Path = "/users/efc0aad4/following/bc58bd8c-7"; - _requests[73] = new DefaultHttpContext(); - _requests[73].RequestServices = CreateServices(); - _requests[73].Request.Method = "GET"; - _requests[73].Request.Path = "/teams/98d389/repos/74b04/05c77"; - _requests[74] = new DefaultHttpContext(); - _requests[74].RequestServices = CreateServices(); - _requests[74].Request.Method = "PATCH"; - _requests[74].Request.Path = "/repos/fbc82/446db"; - _requests[75] = new DefaultHttpContext(); - _requests[75].RequestServices = CreateServices(); - _requests[75].Request.Method = "GET"; - _requests[75].Request.Path = "/networks/d914d/57c64/events"; - _requests[76] = new DefaultHttpContext(); - _requests[76].RequestServices = CreateServices(); - _requests[76].Request.Method = "GET"; - _requests[76].Request.Path = "/repos/67afd/b1bc5/assignees"; - _requests[77] = new DefaultHttpContext(); - _requests[77].RequestServices = CreateServices(); - _requests[77].Request.Method = "GET"; - _requests[77].Request.Path = "/repos/b2f87/ced1b/branches"; - _requests[78] = new DefaultHttpContext(); - _requests[78].RequestServices = CreateServices(); - _requests[78].Request.Method = "GET"; - _requests[78].Request.Path = "/repos/4c0cd/a3d94/collaborators"; - _requests[79] = new DefaultHttpContext(); - _requests[79].RequestServices = CreateServices(); - _requests[79].Request.Method = "GET"; - _requests[79].Request.Path = "/repos/1eab2/4cbac/comments"; - _requests[80] = new DefaultHttpContext(); - _requests[80].RequestServices = CreateServices(); - _requests[80].Request.Method = "GET"; - _requests[80].Request.Path = "/repos/5981b/de5a8/commits"; - _requests[81] = new DefaultHttpContext(); - _requests[81].RequestServices = CreateServices(); - _requests[81].Request.Method = "GET"; - _requests[81].Request.Path = "/repos/7ad40/db6ee/contributors"; - _requests[82] = new DefaultHttpContext(); - _requests[82].RequestServices = CreateServices(); - _requests[82].Request.Method = "POST"; - _requests[82].Request.Path = "/repos/8972a/86bb7/deployments"; - _requests[83] = new DefaultHttpContext(); - _requests[83].RequestServices = CreateServices(); - _requests[83].Request.Method = "GET"; - _requests[83].Request.Path = "/repos/c619b/d8f5a/downloads"; - _requests[84] = new DefaultHttpContext(); - _requests[84].RequestServices = CreateServices(); - _requests[84].Request.Method = "GET"; - _requests[84].Request.Path = "/repos/91509/bb53c/events"; - _requests[85] = new DefaultHttpContext(); - _requests[85].RequestServices = CreateServices(); - _requests[85].Request.Method = "POST"; - _requests[85].Request.Path = "/repos/9da59/f78cd/forks"; - _requests[86] = new DefaultHttpContext(); - _requests[86].RequestServices = CreateServices(); - _requests[86].Request.Method = "POST"; - _requests[86].Request.Path = "/repos/1484a/4e077/hooks"; - _requests[87] = new DefaultHttpContext(); - _requests[87].RequestServices = CreateServices(); - _requests[87].Request.Method = "POST"; - _requests[87].Request.Path = "/repos/c5793/4f77e/issues"; - _requests[88] = new DefaultHttpContext(); - _requests[88].RequestServices = CreateServices(); - _requests[88].Request.Method = "POST"; - _requests[88].Request.Path = "/repos/d4e39/2dd22/keys"; - _requests[89] = new DefaultHttpContext(); - _requests[89].RequestServices = CreateServices(); - _requests[89].Request.Method = "POST"; - _requests[89].Request.Path = "/repos/bd4f0/9cc66/labels"; - _requests[90] = new DefaultHttpContext(); - _requests[90].RequestServices = CreateServices(); - _requests[90].Request.Method = "GET"; - _requests[90].Request.Path = "/repos/6b934/aa4bd/languages"; - _requests[91] = new DefaultHttpContext(); - _requests[91].RequestServices = CreateServices(); - _requests[91].Request.Method = "POST"; - _requests[91].Request.Path = "/repos/8830a/88a98/merges"; - _requests[92] = new DefaultHttpContext(); - _requests[92].RequestServices = CreateServices(); - _requests[92].Request.Method = "POST"; - _requests[92].Request.Path = "/repos/9ce99/29222/milestones"; - _requests[93] = new DefaultHttpContext(); - _requests[93].RequestServices = CreateServices(); - _requests[93].Request.Method = "PUT"; - _requests[93].Request.Path = "/repos/a106c/ac6a4/notifications"; - _requests[94] = new DefaultHttpContext(); - _requests[94].RequestServices = CreateServices(); - _requests[94].Request.Method = "POST"; - _requests[94].Request.Path = "/repos/0e52f/ca9e5/pulls"; - _requests[95] = new DefaultHttpContext(); - _requests[95].RequestServices = CreateServices(); - _requests[95].Request.Method = "GET"; - _requests[95].Request.Path = "/repos/37e7a/7aa03/readme"; - _requests[96] = new DefaultHttpContext(); - _requests[96].RequestServices = CreateServices(); - _requests[96].Request.Method = "POST"; - _requests[96].Request.Path = "/repos/cf543/a26e5/releases"; - _requests[97] = new DefaultHttpContext(); - _requests[97].RequestServices = CreateServices(); - _requests[97].Request.Method = "GET"; - _requests[97].Request.Path = "/repos/26330/2998f/stargazers"; - _requests[98] = new DefaultHttpContext(); - _requests[98].RequestServices = CreateServices(); - _requests[98].Request.Method = "GET"; - _requests[98].Request.Path = "/repos/4192a/8d012/subscribers"; - _requests[99] = new DefaultHttpContext(); - _requests[99].RequestServices = CreateServices(); - _requests[99].Request.Method = "PUT"; - _requests[99].Request.Path = "/repos/7bf2f/ec3e8/subscription"; - _requests[100] = new DefaultHttpContext(); - _requests[100].RequestServices = CreateServices(); - _requests[100].Request.Method = "GET"; - _requests[100].Request.Path = "/repos/9285d/2386a/tags"; - _requests[101] = new DefaultHttpContext(); - _requests[101].RequestServices = CreateServices(); - _requests[101].Request.Method = "GET"; - _requests[101].Request.Path = "/repos/ba9c2/c995c/teams"; - _requests[102] = new DefaultHttpContext(); - _requests[102].RequestServices = CreateServices(); - _requests[102].Request.Method = "GET"; - _requests[102].Request.Path = "/repos/15c8d/35395/watchers"; - _requests[103] = new DefaultHttpContext(); - _requests[103].RequestServices = CreateServices(); - _requests[103].Request.Method = "POST"; - _requests[103].Request.Path = "/repos/3e849/531ef/git/blobs"; - _requests[104] = new DefaultHttpContext(); - _requests[104].RequestServices = CreateServices(); - _requests[104].Request.Method = "POST"; - _requests[104].Request.Path = "/repos/3bcbc/5d8bc/git/commits"; - _requests[105] = new DefaultHttpContext(); - _requests[105].RequestServices = CreateServices(); - _requests[105].Request.Method = "POST"; - _requests[105].Request.Path = "/repos/65917/4297b/git/refs"; - _requests[106] = new DefaultHttpContext(); - _requests[106].RequestServices = CreateServices(); - _requests[106].Request.Method = "POST"; - _requests[106].Request.Path = "/repos/5aadb/450d4/git/tags"; - _requests[107] = new DefaultHttpContext(); - _requests[107].RequestServices = CreateServices(); - _requests[107].Request.Method = "POST"; - _requests[107].Request.Path = "/repos/4c306/f056f/git/trees"; - _requests[108] = new DefaultHttpContext(); - _requests[108].RequestServices = CreateServices(); - _requests[108].Request.Method = "GET"; - _requests[108].Request.Path = "/repos/9da82/d041c/issues/comments"; - _requests[109] = new DefaultHttpContext(); - _requests[109].RequestServices = CreateServices(); - _requests[109].Request.Method = "GET"; - _requests[109].Request.Path = "/repos/06bb5/1352f/issues/events"; - _requests[110] = new DefaultHttpContext(); - _requests[110].RequestServices = CreateServices(); - _requests[110].Request.Method = "GET"; - _requests[110].Request.Path = "/repos/f87fb/e0543/pulls/comments"; - _requests[111] = new DefaultHttpContext(); - _requests[111].RequestServices = CreateServices(); - _requests[111].Request.Method = "GET"; - _requests[111].Request.Path = "/repos/b6d34/d0b39/stats/code_frequency"; - _requests[112] = new DefaultHttpContext(); - _requests[112].RequestServices = CreateServices(); - _requests[112].Request.Method = "GET"; - _requests[112].Request.Path = "/repos/e8d05/4707e/stats/commit_activity"; - _requests[113] = new DefaultHttpContext(); - _requests[113].RequestServices = CreateServices(); - _requests[113].Request.Method = "GET"; - _requests[113].Request.Path = "/repos/48d7e/0ecd3/stats/contributors"; - _requests[114] = new DefaultHttpContext(); - _requests[114].RequestServices = CreateServices(); - _requests[114].Request.Method = "GET"; - _requests[114].Request.Path = "/repos/8964b/6e8f5/stats/participation"; - _requests[115] = new DefaultHttpContext(); - _requests[115].RequestServices = CreateServices(); - _requests[115].Request.Method = "GET"; - _requests[115].Request.Path = "/repos/37374/f039d/stats/punch_card"; - _requests[116] = new DefaultHttpContext(); - _requests[116].RequestServices = CreateServices(); - _requests[116].Request.Method = "GET"; - _requests[116].Request.Path = "/repos/14566/a474b/git/blobs/04b85a8"; - _requests[117] = new DefaultHttpContext(); - _requests[117].RequestServices = CreateServices(); - _requests[117].Request.Method = "GET"; - _requests[117].Request.Path = "/repos/31a30/3ea34/git/commits/27948b9"; - _requests[118] = new DefaultHttpContext(); - _requests[118].RequestServices = CreateServices(); - _requests[118].Request.Method = "PATCH"; - _requests[118].Request.Path = "/repos/2c8ad/e2765/git/refs/67cc5"; - _requests[119] = new DefaultHttpContext(); - _requests[119].RequestServices = CreateServices(); - _requests[119].Request.Method = "GET"; - _requests[119].Request.Path = "/repos/739be/3acb7/git/tags/6c6430c"; - _requests[120] = new DefaultHttpContext(); - _requests[120].RequestServices = CreateServices(); - _requests[120].Request.Method = "GET"; - _requests[120].Request.Path = "/repos/5a112/21ae4/git/trees/fe88304"; - _requests[121] = new DefaultHttpContext(); - _requests[121].RequestServices = CreateServices(); - _requests[121].Request.Method = "PATCH"; - _requests[121].Request.Path = "/repos/76ed1/51c63/issues/comments/c9208b29-"; - _requests[122] = new DefaultHttpContext(); - _requests[122].RequestServices = CreateServices(); - _requests[122].Request.Method = "GET"; - _requests[122].Request.Path = "/repos/8230d/17f20/issues/events/5e4ea0f"; - _requests[123] = new DefaultHttpContext(); - _requests[123].RequestServices = CreateServices(); - _requests[123].Request.Method = "PATCH"; - _requests[123].Request.Path = "/repos/fa5f3/b4ecf/pulls/comments/1e93db69-"; - _requests[124] = new DefaultHttpContext(); - _requests[124].RequestServices = CreateServices(); - _requests[124].Request.Method = "PATCH"; - _requests[124].Request.Path = "/repos/f3b86/5793e/releases/assets/b21e5"; - _requests[125] = new DefaultHttpContext(); - _requests[125].RequestServices = CreateServices(); - _requests[125].Request.Method = "GET"; - _requests[125].Request.Path = "/repos/0df2f/f1d8e/assignees/87a41d15"; - _requests[126] = new DefaultHttpContext(); - _requests[126].RequestServices = CreateServices(); - _requests[126].Request.Method = "GET"; - _requests[126].Request.Path = "/repos/f0062/df752/branches/d18f91"; - _requests[127] = new DefaultHttpContext(); - _requests[127].RequestServices = CreateServices(); - _requests[127].Request.Method = "PUT"; - _requests[127].Request.Path = "/repos/022eb/1696a/collaborators/59494"; - _requests[128] = new DefaultHttpContext(); - _requests[128].RequestServices = CreateServices(); - _requests[128].Request.Method = "PATCH"; - _requests[128].Request.Path = "/repos/0f74c/4f864/comments/5a8b1f18-"; - _requests[129] = new DefaultHttpContext(); - _requests[129].RequestServices = CreateServices(); - _requests[129].Request.Method = "GET"; - _requests[129].Request.Path = "/repos/08262/d4859/commits/0459132"; - _requests[130] = new DefaultHttpContext(); - _requests[130].RequestServices = CreateServices(); - _requests[130].Request.Method = "PUT"; - _requests[130].Request.Path = "/repos/9e587/5da72/contents/3b37c"; - _requests[131] = new DefaultHttpContext(); - _requests[131].RequestServices = CreateServices(); - _requests[131].Request.Method = "GET"; - _requests[131].Request.Path = "/repos/aeabf/fb931/downloads/928b7eef-a"; - _requests[132] = new DefaultHttpContext(); - _requests[132].RequestServices = CreateServices(); - _requests[132].Request.Method = "PATCH"; - _requests[132].Request.Path = "/repos/cb76c/71512/hooks/e0a971"; - _requests[133] = new DefaultHttpContext(); - _requests[133].RequestServices = CreateServices(); - _requests[133].Request.Method = "PATCH"; - _requests[133].Request.Path = "/repos/a44e1/81a70/issues/fedabf"; - _requests[134] = new DefaultHttpContext(); - _requests[134].RequestServices = CreateServices(); - _requests[134].Request.Method = "GET"; - _requests[134].Request.Path = "/repos/d776f/19a02/keys/9e5b3"; - _requests[135] = new DefaultHttpContext(); - _requests[135].RequestServices = CreateServices(); - _requests[135].Request.Method = "PATCH"; - _requests[135].Request.Path = "/repos/b8532/04123/labels/d3c1d"; - _requests[136] = new DefaultHttpContext(); - _requests[136].RequestServices = CreateServices(); - _requests[136].Request.Method = "PATCH"; - _requests[136].Request.Path = "/repos/1d10a/9efd4/milestones/f673c2"; - _requests[137] = new DefaultHttpContext(); - _requests[137].RequestServices = CreateServices(); - _requests[137].Request.Method = "PATCH"; - _requests[137].Request.Path = "/repos/3aa16/84330/pulls/6dcd1f"; - _requests[138] = new DefaultHttpContext(); - _requests[138].RequestServices = CreateServices(); - _requests[138].Request.Method = "PATCH"; - _requests[138].Request.Path = "/repos/eb98f/fd492/releases/a070f"; - _requests[139] = new DefaultHttpContext(); - _requests[139].RequestServices = CreateServices(); - _requests[139].Request.Method = "POST"; - _requests[139].Request.Path = "/repos/f1040/ca625/statuses/a1554"; - _requests[140] = new DefaultHttpContext(); - _requests[140].RequestServices = CreateServices(); - _requests[140].Request.Method = "GET"; - _requests[140].Request.Path = "/repos/5e573/09410/commits/740ca/status"; - _requests[141] = new DefaultHttpContext(); - _requests[141].RequestServices = CreateServices(); - _requests[141].Request.Method = "POST"; - _requests[141].Request.Path = "/repos/25dd0/256a3/commits/088d12d/comments"; - _requests[142] = new DefaultHttpContext(); - _requests[142].RequestServices = CreateServices(); - _requests[142].Request.Method = "POST"; - _requests[142].Request.Path = "/repos/50b76/80795/deployments/faedd/statuses"; - _requests[143] = new DefaultHttpContext(); - _requests[143].RequestServices = CreateServices(); - _requests[143].Request.Method = "POST"; - _requests[143].Request.Path = "/repos/0c54e/6485c/hooks/82463a/tests"; - _requests[144] = new DefaultHttpContext(); - _requests[144].RequestServices = CreateServices(); - _requests[144].Request.Method = "POST"; - _requests[144].Request.Path = "/repos/07cf6/23b13/issues/f0dd8f/comments"; - _requests[145] = new DefaultHttpContext(); - _requests[145].RequestServices = CreateServices(); - _requests[145].Request.Method = "GET"; - _requests[145].Request.Path = "/repos/23f9b/f2fd8/issues/3fe64f/events"; - _requests[146] = new DefaultHttpContext(); - _requests[146].RequestServices = CreateServices(); - _requests[146].Request.Method = "PUT"; - _requests[146].Request.Path = "/repos/5b3d7/ca96e/issues/936334/labels"; - _requests[147] = new DefaultHttpContext(); - _requests[147].RequestServices = CreateServices(); - _requests[147].Request.Method = "GET"; - _requests[147].Request.Path = "/repos/cd644/3304a/milestones/166fae/labels"; - _requests[148] = new DefaultHttpContext(); - _requests[148].RequestServices = CreateServices(); - _requests[148].Request.Method = "POST"; - _requests[148].Request.Path = "/repos/33da8/9f808/pulls/f1e922/comments"; - _requests[149] = new DefaultHttpContext(); - _requests[149].RequestServices = CreateServices(); - _requests[149].Request.Method = "GET"; - _requests[149].Request.Path = "/repos/be208/fc905/pulls/7e240f/commits"; - _requests[150] = new DefaultHttpContext(); - _requests[150].RequestServices = CreateServices(); - _requests[150].Request.Method = "GET"; - _requests[150].Request.Path = "/repos/3c706/a56bc/pulls/651d9a/files"; - _requests[151] = new DefaultHttpContext(); - _requests[151].RequestServices = CreateServices(); - _requests[151].Request.Method = "PUT"; - _requests[151].Request.Path = "/repos/ea5a0/36e73/pulls/760f68/merge"; - _requests[152] = new DefaultHttpContext(); - _requests[152].RequestServices = CreateServices(); - _requests[152].Request.Method = "GET"; - _requests[152].Request.Path = "/repos/9362e/2a504/releases/4105d/assets"; - _requests[153] = new DefaultHttpContext(); - _requests[153].RequestServices = CreateServices(); - _requests[153].Request.Method = "DELETE"; - _requests[153].Request.Path = "/repos/39dc3/47180/issues/5b5277/labels/fc82a"; - _requests[154] = new DefaultHttpContext(); - _requests[154].RequestServices = CreateServices(); - _requests[154].Request.Method = "GET"; - _requests[154].Request.Path = "/repos/91437/d62a4/5582f507-3991-/3e89b"; - } - - private Matcher SetupMatcher(MatcherBuilder builder) - { - builder.AddEndpoint(_endpoints[0]); - builder.AddEndpoint(_endpoints[1]); - builder.AddEndpoint(_endpoints[2]); - builder.AddEndpoint(_endpoints[3]); - builder.AddEndpoint(_endpoints[4]); - builder.AddEndpoint(_endpoints[5]); - builder.AddEndpoint(_endpoints[6]); - builder.AddEndpoint(_endpoints[7]); - builder.AddEndpoint(_endpoints[8]); - builder.AddEndpoint(_endpoints[9]); - builder.AddEndpoint(_endpoints[10]); - builder.AddEndpoint(_endpoints[11]); - builder.AddEndpoint(_endpoints[12]); - builder.AddEndpoint(_endpoints[13]); - builder.AddEndpoint(_endpoints[14]); - builder.AddEndpoint(_endpoints[15]); - builder.AddEndpoint(_endpoints[16]); - builder.AddEndpoint(_endpoints[17]); - builder.AddEndpoint(_endpoints[18]); - builder.AddEndpoint(_endpoints[19]); - builder.AddEndpoint(_endpoints[20]); - builder.AddEndpoint(_endpoints[21]); - builder.AddEndpoint(_endpoints[22]); - builder.AddEndpoint(_endpoints[23]); - builder.AddEndpoint(_endpoints[24]); - builder.AddEndpoint(_endpoints[25]); - builder.AddEndpoint(_endpoints[26]); - builder.AddEndpoint(_endpoints[27]); - builder.AddEndpoint(_endpoints[28]); - builder.AddEndpoint(_endpoints[29]); - builder.AddEndpoint(_endpoints[30]); - builder.AddEndpoint(_endpoints[31]); - builder.AddEndpoint(_endpoints[32]); - builder.AddEndpoint(_endpoints[33]); - builder.AddEndpoint(_endpoints[34]); - builder.AddEndpoint(_endpoints[35]); - builder.AddEndpoint(_endpoints[36]); - builder.AddEndpoint(_endpoints[37]); - builder.AddEndpoint(_endpoints[38]); - builder.AddEndpoint(_endpoints[39]); - builder.AddEndpoint(_endpoints[40]); - builder.AddEndpoint(_endpoints[41]); - builder.AddEndpoint(_endpoints[42]); - builder.AddEndpoint(_endpoints[43]); - builder.AddEndpoint(_endpoints[44]); - builder.AddEndpoint(_endpoints[45]); - builder.AddEndpoint(_endpoints[46]); - builder.AddEndpoint(_endpoints[47]); - builder.AddEndpoint(_endpoints[48]); - builder.AddEndpoint(_endpoints[49]); - builder.AddEndpoint(_endpoints[50]); - builder.AddEndpoint(_endpoints[51]); - builder.AddEndpoint(_endpoints[52]); - builder.AddEndpoint(_endpoints[53]); - builder.AddEndpoint(_endpoints[54]); - builder.AddEndpoint(_endpoints[55]); - builder.AddEndpoint(_endpoints[56]); - builder.AddEndpoint(_endpoints[57]); - builder.AddEndpoint(_endpoints[58]); - builder.AddEndpoint(_endpoints[59]); - builder.AddEndpoint(_endpoints[60]); - builder.AddEndpoint(_endpoints[61]); - builder.AddEndpoint(_endpoints[62]); - builder.AddEndpoint(_endpoints[63]); - builder.AddEndpoint(_endpoints[64]); - builder.AddEndpoint(_endpoints[65]); - builder.AddEndpoint(_endpoints[66]); - builder.AddEndpoint(_endpoints[67]); - builder.AddEndpoint(_endpoints[68]); - builder.AddEndpoint(_endpoints[69]); - builder.AddEndpoint(_endpoints[70]); - builder.AddEndpoint(_endpoints[71]); - builder.AddEndpoint(_endpoints[72]); - builder.AddEndpoint(_endpoints[73]); - builder.AddEndpoint(_endpoints[74]); - builder.AddEndpoint(_endpoints[75]); - builder.AddEndpoint(_endpoints[76]); - builder.AddEndpoint(_endpoints[77]); - builder.AddEndpoint(_endpoints[78]); - builder.AddEndpoint(_endpoints[79]); - builder.AddEndpoint(_endpoints[80]); - builder.AddEndpoint(_endpoints[81]); - builder.AddEndpoint(_endpoints[82]); - builder.AddEndpoint(_endpoints[83]); - builder.AddEndpoint(_endpoints[84]); - builder.AddEndpoint(_endpoints[85]); - builder.AddEndpoint(_endpoints[86]); - builder.AddEndpoint(_endpoints[87]); - builder.AddEndpoint(_endpoints[88]); - builder.AddEndpoint(_endpoints[89]); - builder.AddEndpoint(_endpoints[90]); - builder.AddEndpoint(_endpoints[91]); - builder.AddEndpoint(_endpoints[92]); - builder.AddEndpoint(_endpoints[93]); - builder.AddEndpoint(_endpoints[94]); - builder.AddEndpoint(_endpoints[95]); - builder.AddEndpoint(_endpoints[96]); - builder.AddEndpoint(_endpoints[97]); - builder.AddEndpoint(_endpoints[98]); - builder.AddEndpoint(_endpoints[99]); - builder.AddEndpoint(_endpoints[100]); - builder.AddEndpoint(_endpoints[101]); - builder.AddEndpoint(_endpoints[102]); - builder.AddEndpoint(_endpoints[103]); - builder.AddEndpoint(_endpoints[104]); - builder.AddEndpoint(_endpoints[105]); - builder.AddEndpoint(_endpoints[106]); - builder.AddEndpoint(_endpoints[107]); - builder.AddEndpoint(_endpoints[108]); - builder.AddEndpoint(_endpoints[109]); - builder.AddEndpoint(_endpoints[110]); - builder.AddEndpoint(_endpoints[111]); - builder.AddEndpoint(_endpoints[112]); - builder.AddEndpoint(_endpoints[113]); - builder.AddEndpoint(_endpoints[114]); - builder.AddEndpoint(_endpoints[115]); - builder.AddEndpoint(_endpoints[116]); - builder.AddEndpoint(_endpoints[117]); - builder.AddEndpoint(_endpoints[118]); - builder.AddEndpoint(_endpoints[119]); - builder.AddEndpoint(_endpoints[120]); - builder.AddEndpoint(_endpoints[121]); - builder.AddEndpoint(_endpoints[122]); - builder.AddEndpoint(_endpoints[123]); - builder.AddEndpoint(_endpoints[124]); - builder.AddEndpoint(_endpoints[125]); - builder.AddEndpoint(_endpoints[126]); - builder.AddEndpoint(_endpoints[127]); - builder.AddEndpoint(_endpoints[128]); - builder.AddEndpoint(_endpoints[129]); - builder.AddEndpoint(_endpoints[130]); - builder.AddEndpoint(_endpoints[131]); - builder.AddEndpoint(_endpoints[132]); - builder.AddEndpoint(_endpoints[133]); - builder.AddEndpoint(_endpoints[134]); - builder.AddEndpoint(_endpoints[135]); - builder.AddEndpoint(_endpoints[136]); - builder.AddEndpoint(_endpoints[137]); - builder.AddEndpoint(_endpoints[138]); - builder.AddEndpoint(_endpoints[139]); - builder.AddEndpoint(_endpoints[140]); - builder.AddEndpoint(_endpoints[141]); - builder.AddEndpoint(_endpoints[142]); - builder.AddEndpoint(_endpoints[143]); - builder.AddEndpoint(_endpoints[144]); - builder.AddEndpoint(_endpoints[145]); - builder.AddEndpoint(_endpoints[146]); - builder.AddEndpoint(_endpoints[147]); - builder.AddEndpoint(_endpoints[148]); - builder.AddEndpoint(_endpoints[149]); - builder.AddEndpoint(_endpoints[150]); - builder.AddEndpoint(_endpoints[151]); - builder.AddEndpoint(_endpoints[152]); - builder.AddEndpoint(_endpoints[153]); - builder.AddEndpoint(_endpoints[154]); - return builder.Build(); - } - } -} \ No newline at end of file diff --git a/benchmarks/Microsoft.AspNetCore.Routing.Performance/Matchers/AzureMatcherBenchmark.cs b/benchmarks/Microsoft.AspNetCore.Routing.Performance/Matchers/MatcherAzureBenchmark.cs similarity index 64% rename from benchmarks/Microsoft.AspNetCore.Routing.Performance/Matchers/AzureMatcherBenchmark.cs rename to benchmarks/Microsoft.AspNetCore.Routing.Performance/Matchers/MatcherAzureBenchmark.cs index 1420ef4b5e..979309e912 100644 --- a/benchmarks/Microsoft.AspNetCore.Routing.Performance/Matchers/AzureMatcherBenchmark.cs +++ b/benchmarks/Microsoft.AspNetCore.Routing.Performance/Matchers/MatcherAzureBenchmark.cs @@ -1,20 +1,18 @@ // Copyright (c) .NET Foundation. All rights reserved. // Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information. -using System; using System.Threading.Tasks; using BenchmarkDotNet.Attributes; namespace Microsoft.AspNetCore.Routing.Matchers { // Generated from https://github.com/Azure/azure-rest-api-specs - public partial class AzureMatcherBenchmark : MatcherBenchmarkBase + public partial class MatcherAzureBenchmark : MatcherBenchmarkBase { private const int SampleCount = 100; private BarebonesMatcher _baseline; private Matcher _dfa; - private Matcher _route; private Matcher _tree; private int[] _samples; @@ -33,7 +31,6 @@ namespace Microsoft.AspNetCore.Routing.Matchers _baseline = (BarebonesMatcher)SetupMatcher(new BarebonesMatcherBuilder()); _dfa = SetupMatcher(new DfaMatcherBuilder()); - _route = SetupMatcher(new RouteMatcherBuilder()); _tree = SetupMatcher(new TreeRouterMatcherBuilder()); _feature = new EndpointFeature(); @@ -46,9 +43,9 @@ namespace Microsoft.AspNetCore.Routing.Matchers for (var i = 0; i < SampleCount; i++) { var sample = _samples[i]; - var httpContext = _requests[sample]; - await _baseline._matchers[sample].MatchAsync(httpContext, feature); - Validate(httpContext, _endpoints[sample], feature.Endpoint); + var httpContext = Requests[sample]; + await _baseline.Matchers[sample].MatchAsync(httpContext, feature); + Validate(httpContext, Endpoints[sample], feature.Endpoint); } } @@ -59,26 +56,9 @@ namespace Microsoft.AspNetCore.Routing.Matchers for (var i = 0; i < SampleCount; i++) { var sample = _samples[i]; - var httpContext = _requests[sample]; + var httpContext = Requests[sample]; await _dfa.MatchAsync(httpContext, feature); - Validate(httpContext, _endpoints[sample], feature.Endpoint); - } - } - - [Benchmark(OperationsPerInvoke = SampleCount)] - public async Task LegacyRoute() - { - var feature = _feature; - for (var i = 0; i < SampleCount; i++) - { - var sample = _samples[i]; - var httpContext = _requests[sample]; - - // This is required to make the legacy router implementation work with dispatcher. - httpContext.Features.Set(feature); - - await _route.MatchAsync(httpContext, feature); - Validate(httpContext, _endpoints[sample], feature.Endpoint); + Validate(httpContext, Endpoints[sample], feature.Endpoint); } } @@ -89,13 +69,13 @@ namespace Microsoft.AspNetCore.Routing.Matchers for (var i = 0; i < SampleCount; i++) { var sample = _samples[i]; - var httpContext = _requests[sample]; + var httpContext = Requests[sample]; // This is required to make the legacy router implementation work with dispatcher. httpContext.Features.Set(feature); await _tree.MatchAsync(httpContext, feature); - Validate(httpContext, _endpoints[sample], feature.Endpoint); + Validate(httpContext, Endpoints[sample], feature.Endpoint); } } } diff --git a/benchmarks/Microsoft.AspNetCore.Routing.Performance/Matchers/MatcherAzureBenchmark.generated.cs b/benchmarks/Microsoft.AspNetCore.Routing.Performance/Matchers/MatcherAzureBenchmark.generated.cs new file mode 100644 index 0000000000..e45f4009f7 --- /dev/null +++ b/benchmarks/Microsoft.AspNetCore.Routing.Performance/Matchers/MatcherAzureBenchmark.generated.cs @@ -0,0 +1,30989 @@ + +// Copyright (c) .NET Foundation. All rights reserved. +// Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information. + +using Microsoft.AspNetCore.Http; + +namespace Microsoft.AspNetCore.Routing.Matchers +{ + // This code was generated by the Swaggatherer + public partial class MatcherAzureBenchmark : MatcherBenchmarkBase + { + private const int EndpointCount = 5160; + + private void SetupEndpoints() + { + Endpoints = new MatcherEndpoint[5160]; + Endpoints[0] = CreateEndpoint("/account", "GET"); + Endpoints[1] = CreateEndpoint("/analyze", "POST"); + Endpoints[2] = CreateEndpoint("/apis", "GET"); + Endpoints[3] = CreateEndpoint("/Applications", "GET"); + Endpoints[4] = CreateEndpoint("/ApplicationTypes", "GET"); + Endpoints[5] = CreateEndpoint("/apps/", "GET"); + Endpoints[6] = CreateEndpoint("/apps/", "POST"); + Endpoints[7] = CreateEndpoint("/authorizationServers", "GET"); + Endpoints[8] = CreateEndpoint("/backends", "GET"); + Endpoints[9] = CreateEndpoint("/BuildJob", "POST"); + Endpoints[10] = CreateEndpoint("/certificates", "POST"); + Endpoints[11] = CreateEndpoint("/certificates", "GET"); + Endpoints[12] = CreateEndpoint("/ComposeDeployments", "GET"); + Endpoints[13] = CreateEndpoint("/datasources", "POST"); + Endpoints[14] = CreateEndpoint("/datasources", "GET"); + Endpoints[15] = CreateEndpoint("/deletedcertificates", "GET"); + Endpoints[16] = CreateEndpoint("/deletedkeys", "GET"); + Endpoints[17] = CreateEndpoint("/deletedsecrets", "GET"); + Endpoints[18] = CreateEndpoint("/deletedstorage", "GET"); + Endpoints[19] = CreateEndpoint("/describe", "POST"); + Endpoints[20] = CreateEndpoint("/detect", "POST"); + Endpoints[21] = CreateEndpoint("/domains", "GET"); + Endpoints[22] = CreateEndpoint("/entities", "GET"); + Endpoints[23] = CreateEndpoint("/facelists", "GET"); + Endpoints[24] = CreateEndpoint("/Faults/", "GET"); + Endpoints[25] = CreateEndpoint("/findsimilars", "POST"); + Endpoints[26] = CreateEndpoint("/generateThumbnail", "POST"); + Endpoints[27] = CreateEndpoint("/group", "POST"); + Endpoints[28] = CreateEndpoint("/groups", "GET"); + Endpoints[29] = CreateEndpoint("/identify", "POST"); + Endpoints[30] = CreateEndpoint("/identityProviders", "GET"); + Endpoints[31] = CreateEndpoint("/ImageStore", "GET"); + Endpoints[32] = CreateEndpoint("/indexers", "POST"); + Endpoints[33] = CreateEndpoint("/indexers", "GET"); + Endpoints[34] = CreateEndpoint("/indexes", "GET"); + Endpoints[35] = CreateEndpoint("/indexes", "POST"); + Endpoints[36] = CreateEndpoint("/jobs", "POST"); + Endpoints[37] = CreateEndpoint("/Jobs", "GET"); + Endpoints[38] = CreateEndpoint("/jobschedules", "POST"); + Endpoints[39] = CreateEndpoint("/jobschedules", "GET"); + Endpoints[40] = CreateEndpoint("/keys", "GET"); + Endpoints[41] = CreateEndpoint("/lifetimejobstats", "GET"); + Endpoints[42] = CreateEndpoint("/lifetimepoolstats", "GET"); + Endpoints[43] = CreateEndpoint("/loggers", "GET"); + Endpoints[44] = CreateEndpoint("/models", "GET"); + Endpoints[45] = CreateEndpoint("/news", "GET"); + Endpoints[46] = CreateEndpoint("/nodeagentskus", "GET"); + Endpoints[47] = CreateEndpoint("/nodecounts", "GET"); + Endpoints[48] = CreateEndpoint("/Nodes", "GET"); + Endpoints[49] = CreateEndpoint("/ocr", "POST"); + Endpoints[50] = CreateEndpoint("/offers", "GET"); + Endpoints[51] = CreateEndpoint("/openidConnectProviders", "GET"); + Endpoints[52] = CreateEndpoint("/persongroups", "GET"); + Endpoints[53] = CreateEndpoint("/pipelines", "GET"); + Endpoints[54] = CreateEndpoint("/policies", "GET"); + Endpoints[55] = CreateEndpoint("/policySnippets", "GET"); + Endpoints[56] = CreateEndpoint("/pools", "GET"); + Endpoints[57] = CreateEndpoint("/pools", "POST"); + Endpoints[58] = CreateEndpoint("/poolusagemetrics", "GET"); + Endpoints[59] = CreateEndpoint("/products", "GET"); + Endpoints[60] = CreateEndpoint("/projects", "POST"); + Endpoints[61] = CreateEndpoint("/projects", "GET"); + Endpoints[62] = CreateEndpoint("/properties", "GET"); + Endpoints[63] = CreateEndpoint("/recognizeText", "POST"); + Endpoints[64] = CreateEndpoint("/recurrences", "GET"); + Endpoints[65] = CreateEndpoint("/regions", "GET"); + Endpoints[66] = CreateEndpoint("/search", "GET"); + Endpoints[67] = CreateEndpoint("/secrets", "GET"); + Endpoints[68] = CreateEndpoint("/servicestats", "GET"); + Endpoints[69] = CreateEndpoint("/spellcheck", "POST"); + Endpoints[70] = CreateEndpoint("/storage", "GET"); + Endpoints[71] = CreateEndpoint("/subscriptions", "GET"); + Endpoints[72] = CreateEndpoint("/synonymmaps", "POST"); + Endpoints[73] = CreateEndpoint("/synonymmaps", "GET"); + Endpoints[74] = CreateEndpoint("/tag", "POST"); + Endpoints[75] = CreateEndpoint("/templates", "GET"); + Endpoints[76] = CreateEndpoint("/tenants", "GET"); + Endpoints[77] = CreateEndpoint("/users", "GET"); + Endpoints[78] = CreateEndpoint("/verify", "POST"); + Endpoints[79] = CreateEndpoint("/$/CancelRepairTask", "POST"); + Endpoints[80] = CreateEndpoint("/$/CreateRepairTask", "POST"); + Endpoints[81] = CreateEndpoint("/$/DeleteRepairTask", "POST"); + Endpoints[82] = CreateEndpoint("/$/ForceApproveRepairTask", "POST"); + Endpoints[83] = CreateEndpoint("/$/GetAadMetadata", "GET"); + Endpoints[84] = CreateEndpoint("/$/GetClusterConfiguration", "GET"); + Endpoints[85] = CreateEndpoint("/$/GetClusterConfigurationUpgradeStatus", "GET"); + Endpoints[86] = CreateEndpoint("/$/GetClusterHealth", "GET"); + Endpoints[87] = CreateEndpoint("/$/GetClusterHealth", "POST"); + Endpoints[88] = CreateEndpoint("/$/GetClusterHealthChunk", "POST"); + Endpoints[89] = CreateEndpoint("/$/GetClusterHealthChunk", "GET"); + Endpoints[90] = CreateEndpoint("/$/GetClusterManifest", "GET"); + Endpoints[91] = CreateEndpoint("/$/GetLoadInformation", "GET"); + Endpoints[92] = CreateEndpoint("/$/GetProvisionedCodeVersions", "GET"); + Endpoints[93] = CreateEndpoint("/$/GetProvisionedConfigVersions", "GET"); + Endpoints[94] = CreateEndpoint("/$/GetRepairTaskList", "GET"); + Endpoints[95] = CreateEndpoint("/$/GetUpgradeOrchestrationServiceState", "GET"); + Endpoints[96] = CreateEndpoint("/$/GetUpgradeProgress", "GET"); + Endpoints[97] = CreateEndpoint("/$/InvokeInfrastructureCommand", "POST"); + Endpoints[98] = CreateEndpoint("/$/InvokeInfrastructureQuery", "GET"); + Endpoints[99] = CreateEndpoint("/$/MoveToNextUpgradeDomain", "POST"); + Endpoints[100] = CreateEndpoint("/$/Provision", "POST"); + Endpoints[101] = CreateEndpoint("/$/RecoverAllPartitions", "POST"); + Endpoints[102] = CreateEndpoint("/$/RecoverSystemPartitions", "POST"); + Endpoints[103] = CreateEndpoint("/$/ReportClusterHealth", "POST"); + Endpoints[104] = CreateEndpoint("/$/RollbackUpgrade", "POST"); + Endpoints[105] = CreateEndpoint("/$/SetUpgradeOrchestrationServiceState", "POST"); + Endpoints[106] = CreateEndpoint("/$/StartClusterConfigurationUpgrade", "POST"); + Endpoints[107] = CreateEndpoint("/$/Unprovision", "POST"); + Endpoints[108] = CreateEndpoint("/$/UpdateRepairExecutionState", "POST"); + Endpoints[109] = CreateEndpoint("/$/UpdateRepairTaskHealthPolicy", "POST"); + Endpoints[110] = CreateEndpoint("/$/UpdateUpgrade", "POST"); + Endpoints[111] = CreateEndpoint("/$/Upgrade", "POST"); + Endpoints[112] = CreateEndpoint("/api/events", "POST"); + Endpoints[113] = CreateEndpoint("/apps/assistants", "GET"); + Endpoints[114] = CreateEndpoint("/apps/cultures", "GET"); + Endpoints[115] = CreateEndpoint("/apps/customprebuiltdomains", "POST"); + Endpoints[116] = CreateEndpoint("/apps/customprebuiltdomains", "GET"); + Endpoints[117] = CreateEndpoint("/apps/domains", "GET"); + Endpoints[118] = CreateEndpoint("/apps/import", "POST"); + Endpoints[119] = CreateEndpoint("/apps/usagescenarios", "GET"); + Endpoints[120] = CreateEndpoint("/BackupRestore/BackupPolicies", "GET"); + Endpoints[121] = CreateEndpoint("/certificates/contacts", "GET"); + Endpoints[122] = CreateEndpoint("/certificates/contacts", "DELETE"); + Endpoints[123] = CreateEndpoint("/certificates/contacts", "PUT"); + Endpoints[124] = CreateEndpoint("/certificates/issuers", "GET"); + Endpoints[125] = CreateEndpoint("/docs/$count", "GET"); + Endpoints[126] = CreateEndpoint("/docs/autocomplete", "POST"); + Endpoints[127] = CreateEndpoint("/docs/autocomplete", "GET"); + Endpoints[128] = CreateEndpoint("/images/details", "GET"); + Endpoints[129] = CreateEndpoint("/images/search", "GET"); + Endpoints[130] = CreateEndpoint("/images/trending", "GET"); + Endpoints[131] = CreateEndpoint("/images/visualsearch", "POST"); + Endpoints[132] = CreateEndpoint("/keys/restore", "POST"); + Endpoints[133] = CreateEndpoint("/news/search", "GET"); + Endpoints[134] = CreateEndpoint("/news/trendingtopics", "GET"); + Endpoints[135] = CreateEndpoint("/portalsettings/delegation", "PUT"); + Endpoints[136] = CreateEndpoint("/portalsettings/delegation", "PATCH"); + Endpoints[137] = CreateEndpoint("/portalsettings/delegation", "GET"); + Endpoints[138] = CreateEndpoint("/portalsettings/signin", "PUT"); + Endpoints[139] = CreateEndpoint("/portalsettings/signin", "PATCH"); + Endpoints[140] = CreateEndpoint("/portalsettings/signin", "GET"); + Endpoints[141] = CreateEndpoint("/portalsettings/signup", "PATCH"); + Endpoints[142] = CreateEndpoint("/portalsettings/signup", "GET"); + Endpoints[143] = CreateEndpoint("/portalsettings/signup", "PUT"); + Endpoints[144] = CreateEndpoint("/reports/byApi", "GET"); + Endpoints[145] = CreateEndpoint("/reports/byGeo", "GET"); + Endpoints[146] = CreateEndpoint("/reports/byOperation", "GET"); + Endpoints[147] = CreateEndpoint("/reports/byProduct", "GET"); + Endpoints[148] = CreateEndpoint("/reports/byRequest", "GET"); + Endpoints[149] = CreateEndpoint("/reports/bySubscription", "GET"); + Endpoints[150] = CreateEndpoint("/reports/byTime", "GET"); + Endpoints[151] = CreateEndpoint("/reports/byUser", "GET"); + Endpoints[152] = CreateEndpoint("/secrets/restore", "POST"); + Endpoints[153] = CreateEndpoint("/storage/restore", "POST"); + Endpoints[154] = CreateEndpoint("/Tools/Chaos", "GET"); + Endpoints[155] = CreateEndpoint("/v2.0/entities", "POST"); + Endpoints[156] = CreateEndpoint("/v2.0/keyPhrases", "POST"); + Endpoints[157] = CreateEndpoint("/v2.0/languages", "POST"); + Endpoints[158] = CreateEndpoint("/v2.0/sentiment", "POST"); + Endpoints[159] = CreateEndpoint("/videos/details", "GET"); + Endpoints[160] = CreateEndpoint("/videos/search", "GET"); + Endpoints[161] = CreateEndpoint("/videos/trending", "GET"); + Endpoints[162] = CreateEndpoint("/Applications/$/Create", "POST"); + Endpoints[163] = CreateEndpoint("/ApplicationTypes/$/Provision", "POST"); + Endpoints[164] = CreateEndpoint("/BackupRestore/$/GetBackups", "POST"); + Endpoints[165] = CreateEndpoint("/catalog/usql/acl", "GET"); + Endpoints[166] = CreateEndpoint("/catalog/usql/databases", "GET"); + Endpoints[167] = CreateEndpoint("/ComposeDeployments/$/Create", "PUT"); + Endpoints[168] = CreateEndpoint("/EventsStore/Applications/Events", "GET"); + Endpoints[169] = CreateEndpoint("/EventsStore/Cluster/Events", "GET"); + Endpoints[170] = CreateEndpoint("/EventsStore/Containers/Events", "GET"); + Endpoints[171] = CreateEndpoint("/EventsStore/Nodes/Events", "GET"); + Endpoints[172] = CreateEndpoint("/EventsStore/Partitions/Events", "GET"); + Endpoints[173] = CreateEndpoint("/EventsStore/Services/Events", "GET"); + Endpoints[174] = CreateEndpoint("/Faults/$/Cancel", "POST"); + Endpoints[175] = CreateEndpoint("/ImageStore/$/CommitUploadSession", "POST"); + Endpoints[176] = CreateEndpoint("/ImageStore/$/Copy", "POST"); + Endpoints[177] = CreateEndpoint("/ImageStore/$/DeleteUploadSession", "DELETE"); + Endpoints[178] = CreateEndpoint("/ImageStore/$/GetUploadSession", "GET"); + Endpoints[179] = CreateEndpoint("/Names/$/Create", "POST"); + Endpoints[180] = CreateEndpoint("/providers/Microsoft.AAD/operations", "GET"); + Endpoints[181] = CreateEndpoint("/providers/Microsoft.Addons/operations", "GET"); + Endpoints[182] = CreateEndpoint("/providers/Microsoft.ADHybridHealthService/addsservices", "POST"); + Endpoints[183] = CreateEndpoint("/providers/Microsoft.ADHybridHealthService/addsservices", "GET"); + Endpoints[184] = CreateEndpoint("/providers/Microsoft.ADHybridHealthService/configuration", "PATCH"); + Endpoints[185] = CreateEndpoint("/providers/Microsoft.ADHybridHealthService/configuration", "GET"); + Endpoints[186] = CreateEndpoint("/providers/Microsoft.ADHybridHealthService/configuration", "POST"); + Endpoints[187] = CreateEndpoint("/providers/Microsoft.ADHybridHealthService/operations", "GET"); + Endpoints[188] = CreateEndpoint("/providers/Microsoft.ADHybridHealthService/services", "POST"); + Endpoints[189] = CreateEndpoint("/providers/Microsoft.ADHybridHealthService/services", "GET"); + Endpoints[190] = CreateEndpoint("/providers/Microsoft.Advisor/operations", "GET"); + Endpoints[191] = CreateEndpoint("/providers/Microsoft.AnalysisServices/operations", "GET"); + Endpoints[192] = CreateEndpoint("/providers/Microsoft.ApiManagement/operations", "GET"); + Endpoints[193] = CreateEndpoint("/providers/Microsoft.Authorization/policyDefinitions", "GET"); + Endpoints[194] = CreateEndpoint("/providers/Microsoft.Authorization/policySetDefinitions", "GET"); + Endpoints[195] = CreateEndpoint("/providers/Microsoft.Authorization/providerOperations", "GET"); + Endpoints[196] = CreateEndpoint("/providers/Microsoft.Automation/operations", "GET"); + Endpoints[197] = CreateEndpoint("/providers/Microsoft.AzureStack/operations", "GET"); + Endpoints[198] = CreateEndpoint("/providers/Microsoft.Backup.Admin/operations", "GET"); + Endpoints[199] = CreateEndpoint("/providers/Microsoft.Batch/operations", "GET"); + Endpoints[200] = CreateEndpoint("/providers/Microsoft.BatchAI/operations", "GET"); + Endpoints[201] = CreateEndpoint("/providers/Microsoft.Billing/enrollmentAccounts", "GET"); + Endpoints[202] = CreateEndpoint("/providers/Microsoft.Billing/operations", "GET"); + Endpoints[203] = CreateEndpoint("/providers/Microsoft.BotService/operations", "GET"); + Endpoints[204] = CreateEndpoint("/providers/Microsoft.Cache/operations", "GET"); + Endpoints[205] = CreateEndpoint("/providers/Microsoft.Capacity/operations", "GET"); + Endpoints[206] = CreateEndpoint("/providers/Microsoft.Capacity/reservationOrders", "GET"); + Endpoints[207] = CreateEndpoint("/providers/Microsoft.Cdn/checkNameAvailability", "POST"); + Endpoints[208] = CreateEndpoint("/providers/Microsoft.Cdn/edgenodes", "GET"); + Endpoints[209] = CreateEndpoint("/providers/Microsoft.Cdn/operations", "GET"); + Endpoints[210] = CreateEndpoint("/providers/Microsoft.CertificateRegistration/operations", "GET"); + Endpoints[211] = CreateEndpoint("/providers/Microsoft.CognitiveServices/operations", "GET"); + Endpoints[212] = CreateEndpoint("/providers/Microsoft.Commerce.Admin/operations", "GET"); + Endpoints[213] = CreateEndpoint("/providers/Microsoft.Compute.Admin/operations", "GET"); + Endpoints[214] = CreateEndpoint("/providers/Microsoft.Compute/operations", "GET"); + Endpoints[215] = CreateEndpoint("/providers/Microsoft.Consumption/operations", "GET"); + Endpoints[216] = CreateEndpoint("/providers/Microsoft.ContainerInstance/operations", "GET"); + Endpoints[217] = CreateEndpoint("/providers/Microsoft.ContainerRegistry/operations", "GET"); + Endpoints[218] = CreateEndpoint("/providers/Microsoft.ContainerService/operations", "GET"); + Endpoints[219] = CreateEndpoint("/providers/Microsoft.CustomerInsights/operations", "GET"); + Endpoints[220] = CreateEndpoint("/providers/Microsoft.DataBox/operations", "GET"); + Endpoints[221] = CreateEndpoint("/providers/Microsoft.Databricks/operations", "GET"); + Endpoints[222] = CreateEndpoint("/providers/Microsoft.DataCatalog/operations", "GET"); + Endpoints[223] = CreateEndpoint("/providers/Microsoft.DataFactory/operations", "GET"); + Endpoints[224] = CreateEndpoint("/providers/Microsoft.DataLakeAnalytics/operations", "GET"); + Endpoints[225] = CreateEndpoint("/providers/Microsoft.DataLakeStore/operations", "GET"); + Endpoints[226] = CreateEndpoint("/providers/Microsoft.DataMigration/operations", "GET"); + Endpoints[227] = CreateEndpoint("/providers/Microsoft.DBforMySQL/operations", "GET"); + Endpoints[228] = CreateEndpoint("/providers/Microsoft.DBforPostgreSQL/operations", "GET"); + Endpoints[229] = CreateEndpoint("/providers/Microsoft.Devices/operations", "GET"); + Endpoints[230] = CreateEndpoint("/providers/Microsoft.DevTestLab/operations", "GET"); + Endpoints[231] = CreateEndpoint("/providers/Microsoft.DocumentDB/operations", "GET"); + Endpoints[232] = CreateEndpoint("/providers/Microsoft.DomainRegistration/operations", "GET"); + Endpoints[233] = CreateEndpoint("/providers/Microsoft.EventGrid/operations", "GET"); + Endpoints[234] = CreateEndpoint("/providers/Microsoft.EventGrid/topicTypes", "GET"); + Endpoints[235] = CreateEndpoint("/providers/Microsoft.EventHub/operations", "GET"); + Endpoints[236] = CreateEndpoint("/providers/Microsoft.Fabric.Admin/operations", "GET"); + Endpoints[237] = CreateEndpoint("/providers/Microsoft.Gallery.Admin/operations", "GET"); + Endpoints[238] = CreateEndpoint("/providers/Microsoft.HanaOnAzure/operations", "GET"); + Endpoints[239] = CreateEndpoint("/providers/Microsoft.HDInsight/operations", "GET"); + Endpoints[240] = CreateEndpoint("/providers/Microsoft.ImportExport/locations", "GET"); + Endpoints[241] = CreateEndpoint("/providers/Microsoft.ImportExport/operations", "GET"); + Endpoints[242] = CreateEndpoint("/providers/Microsoft.InfrastructureInsights.Admin/operations", "GET"); + Endpoints[243] = CreateEndpoint("/providers/microsoft.insights/eventcategories", "GET"); + Endpoints[244] = CreateEndpoint("/providers/microsoft.insights/operations", "GET"); + Endpoints[245] = CreateEndpoint("/providers/Microsoft.Intune/locations", "GET"); + Endpoints[246] = CreateEndpoint("/providers/Microsoft.IoTCentral/operations", "GET"); + Endpoints[247] = CreateEndpoint("/providers/Microsoft.IoTSpaces/operations", "GET"); + Endpoints[248] = CreateEndpoint("/providers/Microsoft.KeyVault.Admin/operations", "GET"); + Endpoints[249] = CreateEndpoint("/providers/Microsoft.KeyVault/operations", "GET"); + Endpoints[250] = CreateEndpoint("/providers/Microsoft.Logic/operations", "GET"); + Endpoints[251] = CreateEndpoint("/providers/Microsoft.MachineLearning/operations", "GET"); + Endpoints[252] = CreateEndpoint("/providers/Microsoft.MachineLearningCompute/operations", "GET"); + Endpoints[253] = CreateEndpoint("/providers/Microsoft.MachineLearningExperimentation/operations", "GET"); + Endpoints[254] = CreateEndpoint("/providers/Microsoft.MachineLearningServices/operations", "GET"); + Endpoints[255] = CreateEndpoint("/providers/Microsoft.ManagedIdentity/operations", "GET"); + Endpoints[256] = CreateEndpoint("/providers/Microsoft.Management/checkNameAvailability", "POST"); + Endpoints[257] = CreateEndpoint("/providers/Microsoft.Management/getEntities", "POST"); + Endpoints[258] = CreateEndpoint("/providers/Microsoft.Management/managementGroups", "GET"); + Endpoints[259] = CreateEndpoint("/providers/Microsoft.Management/operations", "GET"); + Endpoints[260] = CreateEndpoint("/providers/Microsoft.Management/startTenantBackfill", "POST"); + Endpoints[261] = CreateEndpoint("/providers/Microsoft.Management/tenantBackfillStatus", "POST"); + Endpoints[262] = CreateEndpoint("/providers/Microsoft.ManagementPartner/operations", "GET"); + Endpoints[263] = CreateEndpoint("/providers/Microsoft.Maps/operations", "GET"); + Endpoints[264] = CreateEndpoint("/providers/Microsoft.MarketplaceOrdering/operations", "GET"); + Endpoints[265] = CreateEndpoint("/providers/Microsoft.Media/operations", "GET"); + Endpoints[266] = CreateEndpoint("/providers/Microsoft.Migrate/operations", "GET"); + Endpoints[267] = CreateEndpoint("/providers/Microsoft.Network/checkTrafficManagerNameAvailability", "POST"); + Endpoints[268] = CreateEndpoint("/providers/Microsoft.Network/operations", "GET"); + Endpoints[269] = CreateEndpoint("/providers/Microsoft.NotificationHubs/operations", "GET"); + Endpoints[270] = CreateEndpoint("/providers/Microsoft.OperationalInsights/operations", "GET"); + Endpoints[271] = CreateEndpoint("/providers/Microsoft.OperationsManagement/operations", "GET"); + Endpoints[272] = CreateEndpoint("/providers/Microsoft.PolicyInsights/operations", "GET"); + Endpoints[273] = CreateEndpoint("/providers/Microsoft.PowerBI/operations", "GET"); + Endpoints[274] = CreateEndpoint("/providers/Microsoft.PowerBIDedicated/operations", "GET"); + Endpoints[275] = CreateEndpoint("/providers/Microsoft.RecoveryServices/operations", "GET"); + Endpoints[276] = CreateEndpoint("/providers/Microsoft.Relay/operations", "GET"); + Endpoints[277] = CreateEndpoint("/providers/Microsoft.ResourceHealth/operations", "GET"); + Endpoints[278] = CreateEndpoint("/providers/Microsoft.Search/operations", "GET"); + Endpoints[279] = CreateEndpoint("/providers/Microsoft.Security/operations", "GET"); + Endpoints[280] = CreateEndpoint("/providers/Microsoft.ServiceBus/operations", "GET"); + Endpoints[281] = CreateEndpoint("/providers/Microsoft.ServiceFabric/operations", "GET"); + Endpoints[282] = CreateEndpoint("/providers/Microsoft.SignalRService/operations", "GET"); + Endpoints[283] = CreateEndpoint("/providers/Microsoft.Sql/operations", "GET"); + Endpoints[284] = CreateEndpoint("/providers/Microsoft.Storage.Admin/operations", "GET"); + Endpoints[285] = CreateEndpoint("/providers/Microsoft.Storage/operations", "GET"); + Endpoints[286] = CreateEndpoint("/providers/Microsoft.StorSimple/operations", "GET"); + Endpoints[287] = CreateEndpoint("/providers/Microsoft.StreamAnalytics/operations", "GET"); + Endpoints[288] = CreateEndpoint("/providers/Microsoft.Subscription/operations", "GET"); + Endpoints[289] = CreateEndpoint("/providers/Microsoft.Subscription/subscriptionDefinitions", "GET"); + Endpoints[290] = CreateEndpoint("/providers/Microsoft.Subscription/subscriptionOperations", "GET"); + Endpoints[291] = CreateEndpoint("/providers/Microsoft.Subscriptions.Admin/operations", "GET"); + Endpoints[292] = CreateEndpoint("/providers/Microsoft.Subscriptions/operations", "GET"); + Endpoints[293] = CreateEndpoint("/providers/Microsoft.TimeSeriesInsights/operations", "GET"); + Endpoints[294] = CreateEndpoint("/providers/Microsoft.Update.Admin/operations", "GET"); + Endpoints[295] = CreateEndpoint("/providers/microsoft.visualstudio/operations", "GET"); + Endpoints[296] = CreateEndpoint("/providers/Microsoft.Web/availableStacks", "GET"); + Endpoints[297] = CreateEndpoint("/providers/Microsoft.Web/operations", "GET"); + Endpoints[298] = CreateEndpoint("/providers/Microsoft.Web/sourcecontrols", "GET"); + Endpoints[299] = CreateEndpoint("/Tools/Chaos/Events", "GET"); + Endpoints[300] = CreateEndpoint("/Tools/Chaos/Schedule", "GET"); + Endpoints[301] = CreateEndpoint("/Tools/Chaos/Schedule", "POST"); + Endpoints[302] = CreateEndpoint("/BackupRestore/BackupPolicies/$/Create", "POST"); + Endpoints[303] = CreateEndpoint("/contentmoderator/lists/v1.0/imagelists", "POST"); + Endpoints[304] = CreateEndpoint("/contentmoderator/lists/v1.0/imagelists", "GET"); + Endpoints[305] = CreateEndpoint("/contentmoderator/lists/v1.0/termlists", "GET"); + Endpoints[306] = CreateEndpoint("/contentmoderator/lists/v1.0/termlists", "POST"); + Endpoints[307] = CreateEndpoint("/providers/Microsoft.ADHybridHealthService/addsservices/premiumCheck", "GET"); + Endpoints[308] = CreateEndpoint("/providers/Microsoft.ADHybridHealthService/services/premiumCheck", "GET"); + Endpoints[309] = CreateEndpoint("/providers/Microsoft.BotService/botServices/checkNameAvailability", "GET"); + Endpoints[310] = CreateEndpoint("/providers/Microsoft.Intune/locations/hostName", "GET"); + Endpoints[311] = CreateEndpoint("/providers/Microsoft.Network/trafficManagerGeographicHierarchies/default", "GET"); + Endpoints[312] = CreateEndpoint("/providers/Microsoft.Web/publishingUsers/web", "PUT"); + Endpoints[313] = CreateEndpoint("/providers/Microsoft.Web/publishingUsers/web", "GET"); + Endpoints[314] = CreateEndpoint("/Tools/Chaos/$/Report", "GET"); + Endpoints[315] = CreateEndpoint("/Tools/Chaos/$/Start", "POST"); + Endpoints[316] = CreateEndpoint("/Tools/Chaos/$/Stop", "POST"); + Endpoints[317] = CreateEndpoint("/contentmoderator/moderate/v1.0/ProcessImage/Evaluate", "POST"); + Endpoints[318] = CreateEndpoint("/contentmoderator/moderate/v1.0/ProcessImage/FindFaces", "POST"); + Endpoints[319] = CreateEndpoint("/contentmoderator/moderate/v1.0/ProcessImage/Match", "POST"); + Endpoints[320] = CreateEndpoint("/contentmoderator/moderate/v1.0/ProcessImage/OCR", "POST"); + Endpoints[321] = CreateEndpoint("/contentmoderator/moderate/v1.0/ProcessText/DetectLanguage", "POST"); + Endpoints[322] = CreateEndpoint("/contentmoderator/moderate/v1.0/ProcessText/Screen/", "POST"); + Endpoints[323] = CreateEndpoint("/providers/microsoft.insights/eventtypes/management/values", "GET"); + Endpoints[324] = CreateEndpoint("/contentmoderator/lists/v1.0/imagelists/{listId}", "GET"); + Endpoints[325] = CreateEndpoint("/contentmoderator/lists/v1.0/imagelists/{listId}", "PUT"); + Endpoints[326] = CreateEndpoint("/contentmoderator/lists/v1.0/imagelists/{listId}", "DELETE"); + Endpoints[327] = CreateEndpoint("/contentmoderator/lists/v1.0/termlists/{listId}", "GET"); + Endpoints[328] = CreateEndpoint("/contentmoderator/lists/v1.0/termlists/{listId}", "DELETE"); + Endpoints[329] = CreateEndpoint("/contentmoderator/lists/v1.0/termlists/{listId}", "PUT"); + Endpoints[330] = CreateEndpoint("/contentmoderator/lists/v1.0/imagelists/{listId}/images", "POST"); + Endpoints[331] = CreateEndpoint("/contentmoderator/lists/v1.0/imagelists/{listId}/images", "GET"); + Endpoints[332] = CreateEndpoint("/contentmoderator/lists/v1.0/imagelists/{listId}/images", "DELETE"); + Endpoints[333] = CreateEndpoint("/contentmoderator/lists/v1.0/imagelists/{listId}/RefreshIndex", "POST"); + Endpoints[334] = CreateEndpoint("/contentmoderator/lists/v1.0/termlists/{listId}/RefreshIndex", "POST"); + Endpoints[335] = CreateEndpoint("/contentmoderator/lists/v1.0/termlists/{listId}/terms", "GET"); + Endpoints[336] = CreateEndpoint("/contentmoderator/lists/v1.0/termlists/{listId}/terms", "DELETE"); + Endpoints[337] = CreateEndpoint("/contentmoderator/review/v1.0/teams/{teamName}/jobs", "POST"); + Endpoints[338] = CreateEndpoint("/contentmoderator/review/v1.0/teams/{teamName}/reviews", "POST"); + Endpoints[339] = CreateEndpoint("/contentmoderator/lists/v1.0/imagelists/{listId}/images/{ImageId}", "DELETE"); + Endpoints[340] = CreateEndpoint("/contentmoderator/lists/v1.0/termlists/{listId}/terms/{term}", "POST"); + Endpoints[341] = CreateEndpoint("/contentmoderator/lists/v1.0/termlists/{listId}/terms/{term}", "DELETE"); + Endpoints[342] = CreateEndpoint("/contentmoderator/review/v1.0/teams/{teamName}/jobs/{JobId}", "GET"); + Endpoints[343] = CreateEndpoint("/contentmoderator/review/v1.0/teams/{teamName}/reviews/{reviewId}", "GET"); + Endpoints[344] = CreateEndpoint("/contentmoderator/review/v1.0/teams/{teamName}/reviews/{reviewId}/frames", "POST"); + Endpoints[345] = CreateEndpoint("/contentmoderator/review/v1.0/teams/{teamName}/reviews/{reviewId}/frames", "GET"); + Endpoints[346] = CreateEndpoint("/contentmoderator/review/v1.0/teams/{teamName}/reviews/{reviewId}/publish", "POST"); + Endpoints[347] = CreateEndpoint("/contentmoderator/review/v1.0/teams/{teamName}/reviews/{reviewId}/transcript", "PUT"); + Endpoints[348] = CreateEndpoint("/contentmoderator/review/v1.0/teams/{teamName}/reviews/{reviewId}/transcriptmoderationresult", "PUT"); + Endpoints[349] = CreateEndpoint("/catalog/usql/databases/{databaseName}", "GET"); + Endpoints[350] = CreateEndpoint("/providers/Microsoft.ADHybridHealthService/addsservices/{serviceName}", "GET"); + Endpoints[351] = CreateEndpoint("/providers/Microsoft.ADHybridHealthService/addsservices/{serviceName}", "PATCH"); + Endpoints[352] = CreateEndpoint("/providers/Microsoft.ADHybridHealthService/addsservices/{serviceName}", "DELETE"); + Endpoints[353] = CreateEndpoint("/providers/Microsoft.ADHybridHealthService/services/{serviceName}", "PATCH"); + Endpoints[354] = CreateEndpoint("/providers/Microsoft.ADHybridHealthService/services/{serviceName}", "DELETE"); + Endpoints[355] = CreateEndpoint("/providers/Microsoft.ADHybridHealthService/services/{serviceName}", "GET"); + Endpoints[356] = CreateEndpoint("/providers/Microsoft.Authorization/policyDefinitions/{policyDefinitionName}", "GET"); + Endpoints[357] = CreateEndpoint("/providers/Microsoft.Authorization/policySetDefinitions/{policySetDefinitionName}", "GET"); + Endpoints[358] = CreateEndpoint("/providers/Microsoft.Authorization/providerOperations/{resourceProviderNamespace}", "GET"); + Endpoints[359] = CreateEndpoint("/providers/Microsoft.Billing/enrollmentAccounts/{name}", "GET"); + Endpoints[360] = CreateEndpoint("/providers/Microsoft.Capacity/reservationOrders/{reservationOrderId}", "GET"); + Endpoints[361] = CreateEndpoint("/providers/Microsoft.DocumentDB/databaseAccountNames/{accountName}", "HEAD"); + Endpoints[362] = CreateEndpoint("/providers/Microsoft.EventGrid/topicTypes/{topicTypeName}", "GET"); + Endpoints[363] = CreateEndpoint("/providers/Microsoft.ImportExport/locations/{locationName}", "GET"); + Endpoints[364] = CreateEndpoint("/providers/Microsoft.Management/managementGroups/{groupId}", "GET"); + Endpoints[365] = CreateEndpoint("/providers/Microsoft.Management/managementGroups/{groupId}", "PUT"); + Endpoints[366] = CreateEndpoint("/providers/Microsoft.Management/managementGroups/{groupId}", "PATCH"); + Endpoints[367] = CreateEndpoint("/providers/Microsoft.Management/managementGroups/{groupId}", "DELETE"); + Endpoints[368] = CreateEndpoint("/providers/Microsoft.ManagementPartner/partners/{partnerId}", "GET"); + Endpoints[369] = CreateEndpoint("/providers/Microsoft.ManagementPartner/partners/{partnerId}", "DELETE"); + Endpoints[370] = CreateEndpoint("/providers/Microsoft.ManagementPartner/partners/{partnerId}", "PUT"); + Endpoints[371] = CreateEndpoint("/providers/Microsoft.ManagementPartner/partners/{partnerId}", "PATCH"); + Endpoints[372] = CreateEndpoint("/providers/Microsoft.Subscription/subscriptionDefinitions/{subscriptionDefinitionName}", "GET"); + Endpoints[373] = CreateEndpoint("/providers/Microsoft.Subscription/subscriptionDefinitions/{subscriptionDefinitionName}", "PUT"); + Endpoints[374] = CreateEndpoint("/providers/Microsoft.Subscription/subscriptionOperations/{operationId}", "GET"); + Endpoints[375] = CreateEndpoint("/providers/Microsoft.Web/sourcecontrols/{sourceControlType}", "PUT"); + Endpoints[376] = CreateEndpoint("/providers/Microsoft.Web/sourcecontrols/{sourceControlType}", "GET"); + Endpoints[377] = CreateEndpoint("/catalog/usql/databases/{databaseName}/acl", "GET"); + Endpoints[378] = CreateEndpoint("/catalog/usql/databases/{databaseName}/assemblies", "GET"); + Endpoints[379] = CreateEndpoint("/catalog/usql/databases/{databaseName}/credentials", "GET"); + Endpoints[380] = CreateEndpoint("/catalog/usql/databases/{databaseName}/externaldatasources", "GET"); + Endpoints[381] = CreateEndpoint("/catalog/usql/databases/{databaseName}/schemas", "GET"); + Endpoints[382] = CreateEndpoint("/catalog/usql/databases/{databaseName}/secrets", "DELETE"); + Endpoints[383] = CreateEndpoint("/catalog/usql/databases/{databaseName}/statistics", "GET"); + Endpoints[384] = CreateEndpoint("/catalog/usql/databases/{databaseName}/tables", "GET"); + Endpoints[385] = CreateEndpoint("/catalog/usql/databases/{databaseName}/tablevaluedfunctions", "GET"); + Endpoints[386] = CreateEndpoint("/catalog/usql/databases/{databaseName}/views", "GET"); + Endpoints[387] = CreateEndpoint("/providers/Microsoft.ADHybridHealthService/addsservices/{serviceName}/addomainservicemembers", "GET"); + Endpoints[388] = CreateEndpoint("/providers/Microsoft.ADHybridHealthService/addsservices/{serviceName}/addsservicemembers", "GET"); + Endpoints[389] = CreateEndpoint("/providers/Microsoft.ADHybridHealthService/addsservices/{serviceName}/alerts", "GET"); + Endpoints[390] = CreateEndpoint("/providers/Microsoft.ADHybridHealthService/addsservices/{serviceName}/configuration", "GET"); + Endpoints[391] = CreateEndpoint("/providers/Microsoft.ADHybridHealthService/addsservices/{serviceName}/forestsummary", "GET"); + Endpoints[392] = CreateEndpoint("/providers/Microsoft.ADHybridHealthService/addsservices/{serviceName}/metricmetadata", "GET"); + Endpoints[393] = CreateEndpoint("/providers/Microsoft.ADHybridHealthService/addsservices/{serviceName}/replicationstatus", "GET"); + Endpoints[394] = CreateEndpoint("/providers/Microsoft.ADHybridHealthService/addsservices/{serviceName}/replicationsummary", "GET"); + Endpoints[395] = CreateEndpoint("/providers/Microsoft.ADHybridHealthService/services/{serviceName}/alerts", "GET"); + Endpoints[396] = CreateEndpoint("/providers/Microsoft.ADHybridHealthService/services/{serviceName}/exportstatus", "GET"); + Endpoints[397] = CreateEndpoint("/providers/Microsoft.ADHybridHealthService/services/{serviceName}/metricmetadata", "GET"); + Endpoints[398] = CreateEndpoint("/providers/Microsoft.ADHybridHealthService/services/{serviceName}/monitoringconfiguration", "PATCH"); + Endpoints[399] = CreateEndpoint("/providers/Microsoft.ADHybridHealthService/services/{serviceName}/monitoringconfigurations", "GET"); + Endpoints[400] = CreateEndpoint("/providers/Microsoft.ADHybridHealthService/services/{serviceName}/servicemembers", "GET"); + Endpoints[401] = CreateEndpoint("/providers/Microsoft.ADHybridHealthService/services/{serviceName}/servicemembers", "POST"); + Endpoints[402] = CreateEndpoint("/providers/Microsoft.Capacity/reservationOrders/{reservationOrderId}/merge", "POST"); + Endpoints[403] = CreateEndpoint("/providers/Microsoft.Capacity/reservationOrders/{reservationOrderId}/reservations", "GET"); + Endpoints[404] = CreateEndpoint("/providers/Microsoft.Capacity/reservationOrders/{reservationOrderId}/split", "POST"); + Endpoints[405] = CreateEndpoint("/providers/Microsoft.EventGrid/topicTypes/{topicTypeName}/eventTypes", "GET"); + Endpoints[406] = CreateEndpoint("/providers/Microsoft.Intune/locations/{hostName}/androidPolicies", "GET"); + Endpoints[407] = CreateEndpoint("/providers/Microsoft.Intune/locations/{hostName}/apps", "GET"); + Endpoints[408] = CreateEndpoint("/providers/Microsoft.Intune/locations/{hostName}/flaggedUsers", "GET"); + Endpoints[409] = CreateEndpoint("/providers/Microsoft.Intune/locations/{hostName}/iosPolicies", "GET"); + Endpoints[410] = CreateEndpoint("/providers/Microsoft.Intune/locations/{hostName}/operationResults", "GET"); + Endpoints[411] = CreateEndpoint("/providers/Microsoft.ADHybridHealthService/services/{serviceName}/exporterrors/counts", "GET"); + Endpoints[412] = CreateEndpoint("/providers/Microsoft.ADHybridHealthService/services/{serviceName}/exporterrors/listV2", "GET"); + Endpoints[413] = CreateEndpoint("/providers/Microsoft.Intune/locations/{hostName}/statuses/default", "GET"); + Endpoints[414] = CreateEndpoint("/providers/Microsoft.ADHybridHealthService/services/{serviceName}/feedbacktype/alerts/feedback", "POST"); + Endpoints[415] = CreateEndpoint("/providers/Microsoft.Billing/billingAccounts/{billingAccountId}/providers/Microsoft.Consumption/balances", "GET"); + Endpoints[416] = CreateEndpoint("/providers/Microsoft.Billing/billingAccounts/{billingAccountId}/providers/Microsoft.Consumption/costTags", "PUT"); + Endpoints[417] = CreateEndpoint("/providers/Microsoft.Billing/billingAccounts/{billingAccountId}/providers/Microsoft.Consumption/costTags", "GET"); + Endpoints[418] = CreateEndpoint("/providers/Microsoft.Billing/billingAccounts/{billingAccountId}/providers/Microsoft.Consumption/marketplaces", "GET"); + Endpoints[419] = CreateEndpoint("/providers/Microsoft.Billing/billingAccounts/{billingAccountId}/providers/Microsoft.Consumption/usageDetails", "GET"); + Endpoints[420] = CreateEndpoint("/providers/Microsoft.Billing/departments/{departmentId}/providers/Microsoft.Consumption/marketplaces", "GET"); + Endpoints[421] = CreateEndpoint("/providers/Microsoft.Billing/departments/{departmentId}/providers/Microsoft.Consumption/usageDetails", "GET"); + Endpoints[422] = CreateEndpoint("/providers/Microsoft.Billing/enrollmentAccounts/{enrollmentAccountId}/providers/Microsoft.Consumption/marketplaces", "GET"); + Endpoints[423] = CreateEndpoint("/providers/Microsoft.Billing/enrollmentAccounts/{enrollmentAccountId}/providers/Microsoft.Consumption/usageDetails", "GET"); + Endpoints[424] = CreateEndpoint("/providers/Microsoft.Billing/enrollmentAccounts/{enrollmentAccountName}/providers/Microsoft.Subscription/createSubscription", "POST"); + Endpoints[425] = CreateEndpoint("/providers/Microsoft.Capacity/reservationorders/{reservationOrderId}/providers/Microsoft.Consumption/reservationDetails", "GET"); + Endpoints[426] = CreateEndpoint("/providers/Microsoft.Capacity/reservationorders/{reservationOrderId}/providers/Microsoft.Consumption/reservationSummaries", "GET"); + Endpoints[427] = CreateEndpoint("/providers/Microsoft.CostManagement/billingAccounts/{billingAccountId}/providers/Microsoft.Consumption/tags", "GET"); + Endpoints[428] = CreateEndpoint("/providers/Microsoft.Management/managementgroups/{managementGroupId}/providers/Microsoft.Authorization/policyDefinitions", "GET"); + Endpoints[429] = CreateEndpoint("/providers/Microsoft.Management/managementgroups/{managementGroupId}/providers/Microsoft.Authorization/policySetDefinitions", "GET"); + Endpoints[430] = CreateEndpoint("/providers/Microsoft.ADHybridHealthService/services/{serviceName}/reports/badpassword/details/user", "GET"); + Endpoints[431] = CreateEndpoint("/providers/Microsoft.Management/managementgroups/{managementGroupId}/providers/Microsoft.Authorization/policyDefinitions/{policyDefinitionName}", "DELETE"); + Endpoints[432] = CreateEndpoint("/providers/Microsoft.Management/managementgroups/{managementGroupId}/providers/Microsoft.Authorization/policyDefinitions/{policyDefinitionName}", "PUT"); + Endpoints[433] = CreateEndpoint("/providers/Microsoft.Management/managementgroups/{managementGroupId}/providers/Microsoft.Authorization/policyDefinitions/{policyDefinitionName}", "GET"); + Endpoints[434] = CreateEndpoint("/providers/Microsoft.Management/managementgroups/{managementGroupId}/providers/Microsoft.Authorization/policySetDefinitions/{policySetDefinitionName}", "PUT"); + Endpoints[435] = CreateEndpoint("/providers/Microsoft.Management/managementgroups/{managementGroupId}/providers/Microsoft.Authorization/policySetDefinitions/{policySetDefinitionName}", "GET"); + Endpoints[436] = CreateEndpoint("/providers/Microsoft.Management/managementgroups/{managementGroupId}/providers/Microsoft.Authorization/policySetDefinitions/{policySetDefinitionName}", "DELETE"); + Endpoints[437] = CreateEndpoint("/providers/Microsoft.Billing/billingAccounts/{billingAccountId}/providers/Microsoft.Billing/billingPeriods/{billingPeriodName}/providers/Microsoft.Consumption/balances", "GET"); + Endpoints[438] = CreateEndpoint("/providers/Microsoft.Billing/billingAccounts/{billingAccountId}/providers/Microsoft.Billing/billingPeriods/{billingPeriodName}/providers/Microsoft.Consumption/marketplaces", "GET"); + Endpoints[439] = CreateEndpoint("/providers/Microsoft.Billing/billingAccounts/{billingAccountId}/providers/Microsoft.Billing/billingPeriods/{billingPeriodName}/providers/Microsoft.Consumption/usageDetails", "GET"); + Endpoints[440] = CreateEndpoint("/providers/Microsoft.Billing/departments/{departmentId}/providers/Microsoft.Billing/billingPeriods/{billingPeriodName}/providers/Microsoft.Consumption/marketplaces", "GET"); + Endpoints[441] = CreateEndpoint("/providers/Microsoft.Billing/departments/{departmentId}/providers/Microsoft.Billing/billingPeriods/{billingPeriodName}/providers/Microsoft.Consumption/usageDetails", "GET"); + Endpoints[442] = CreateEndpoint("/providers/Microsoft.Billing/enrollmentAccounts/{enrollmentAccountId}/providers/Microsoft.Billing/billingPeriods/{billingPeriodName}/providers/Microsoft.Consumption/marketplaces", "GET"); + Endpoints[443] = CreateEndpoint("/providers/Microsoft.Billing/enrollmentAccounts/{enrollmentAccountId}/providers/Microsoft.Billing/billingPeriods/{billingPeriodName}/providers/Microsoft.Consumption/usageDetails", "GET"); + Endpoints[444] = CreateEndpoint("/providers/Microsoft.ADHybridHealthService/services/{serviceName}/feedbacktype/alerts/{shortName}/alertfeedback", "GET"); + Endpoints[445] = CreateEndpoint("/catalog/usql/databases/{databaseName}/assemblies/{assemblyName}", "GET"); + Endpoints[446] = CreateEndpoint("/catalog/usql/databases/{databaseName}/credentials/{credentialName}", "PATCH"); + Endpoints[447] = CreateEndpoint("/catalog/usql/databases/{databaseName}/credentials/{credentialName}", "GET"); + Endpoints[448] = CreateEndpoint("/catalog/usql/databases/{databaseName}/credentials/{credentialName}", "PUT"); + Endpoints[449] = CreateEndpoint("/catalog/usql/databases/{databaseName}/credentials/{credentialName}", "POST"); + Endpoints[450] = CreateEndpoint("/catalog/usql/databases/{databaseName}/externaldatasources/{externalDataSourceName}", "GET"); + Endpoints[451] = CreateEndpoint("/catalog/usql/databases/{databaseName}/schemas/{schemaName}", "GET"); + Endpoints[452] = CreateEndpoint("/catalog/usql/databases/{databaseName}/secrets/{secretName}", "PUT"); + Endpoints[453] = CreateEndpoint("/catalog/usql/databases/{databaseName}/secrets/{secretName}", "GET"); + Endpoints[454] = CreateEndpoint("/catalog/usql/databases/{databaseName}/secrets/{secretName}", "PATCH"); + Endpoints[455] = CreateEndpoint("/catalog/usql/databases/{databaseName}/secrets/{secretName}", "DELETE"); + Endpoints[456] = CreateEndpoint("/providers/Microsoft.ADHybridHealthService/addsservices/{serviceName}/dimensions/{dimension}", "GET"); + Endpoints[457] = CreateEndpoint("/providers/Microsoft.ADHybridHealthService/addsservices/{serviceName}/metricmetadata/{metricName}", "GET"); + Endpoints[458] = CreateEndpoint("/providers/Microsoft.ADHybridHealthService/services/{serviceName}/checkServiceFeatureAvailibility/{featureName}", "GET"); + Endpoints[459] = CreateEndpoint("/providers/Microsoft.ADHybridHealthService/services/{serviceName}/metricmetadata/{metricName}", "GET"); + Endpoints[460] = CreateEndpoint("/providers/Microsoft.ADHybridHealthService/services/{serviceName}/servicemembers/{serviceMemberId}", "DELETE"); + Endpoints[461] = CreateEndpoint("/providers/Microsoft.ADHybridHealthService/services/{serviceName}/servicemembers/{serviceMemberId}", "GET"); + Endpoints[462] = CreateEndpoint("/providers/Microsoft.ADHybridHealthService/services/{serviceName}/TenantWhitelisting/{featureName}", "GET"); + Endpoints[463] = CreateEndpoint("/providers/Microsoft.Capacity/reservationOrders/{reservationOrderId}/reservations/{reservationId}", "GET"); + Endpoints[464] = CreateEndpoint("/providers/Microsoft.Capacity/reservationOrders/{reservationOrderId}/reservations/{reservationId}", "PATCH"); + Endpoints[465] = CreateEndpoint("/providers/Microsoft.Intune/locations/{hostName}/androidPolicies/{policyName}", "GET"); + Endpoints[466] = CreateEndpoint("/providers/Microsoft.Intune/locations/{hostName}/androidPolicies/{policyName}", "PUT"); + Endpoints[467] = CreateEndpoint("/providers/Microsoft.Intune/locations/{hostName}/androidPolicies/{policyName}", "PATCH"); + Endpoints[468] = CreateEndpoint("/providers/Microsoft.Intune/locations/{hostName}/androidPolicies/{policyName}", "DELETE"); + Endpoints[469] = CreateEndpoint("/providers/Microsoft.Intune/locations/{hostName}/flaggedUsers/{userName}", "GET"); + Endpoints[470] = CreateEndpoint("/providers/Microsoft.Intune/locations/{hostName}/iosPolicies/{policyName}", "GET"); + Endpoints[471] = CreateEndpoint("/providers/Microsoft.Intune/locations/{hostName}/iosPolicies/{policyName}", "PUT"); + Endpoints[472] = CreateEndpoint("/providers/Microsoft.Intune/locations/{hostName}/iosPolicies/{policyName}", "PATCH"); + Endpoints[473] = CreateEndpoint("/providers/Microsoft.Intune/locations/{hostName}/iosPolicies/{policyName}", "DELETE"); + Endpoints[474] = CreateEndpoint("/providers/Microsoft.Management/managementGroups/{groupId}/subscriptions/{subscriptionId}", "DELETE"); + Endpoints[475] = CreateEndpoint("/providers/Microsoft.Management/managementGroups/{groupId}/subscriptions/{subscriptionId}", "PUT"); + Endpoints[476] = CreateEndpoint("/catalog/usql/databases/{databaseName}/schemas/{schemaName}/packages", "GET"); + Endpoints[477] = CreateEndpoint("/catalog/usql/databases/{databaseName}/schemas/{schemaName}/procedures", "GET"); + Endpoints[478] = CreateEndpoint("/catalog/usql/databases/{databaseName}/schemas/{schemaName}/statistics", "GET"); + Endpoints[479] = CreateEndpoint("/catalog/usql/databases/{databaseName}/schemas/{schemaName}/tables", "GET"); + Endpoints[480] = CreateEndpoint("/catalog/usql/databases/{databaseName}/schemas/{schemaName}/tabletypes", "GET"); + Endpoints[481] = CreateEndpoint("/catalog/usql/databases/{databaseName}/schemas/{schemaName}/tablevaluedfunctions", "GET"); + Endpoints[482] = CreateEndpoint("/catalog/usql/databases/{databaseName}/schemas/{schemaName}/types", "GET"); + Endpoints[483] = CreateEndpoint("/catalog/usql/databases/{databaseName}/schemas/{schemaName}/views", "GET"); + Endpoints[484] = CreateEndpoint("/providers/Microsoft.ADHybridHealthService/addsservices/{serviceName}/servicemembers/{serviceMemberId}/alerts", "GET"); + Endpoints[485] = CreateEndpoint("/providers/Microsoft.ADHybridHealthService/service/{serviceName}/servicemembers/{serviceMemberId}/connectors", "GET"); + Endpoints[486] = CreateEndpoint("/providers/Microsoft.ADHybridHealthService/services/{serviceName}/servicemembers/{serviceMemberId}/alerts", "GET"); + Endpoints[487] = CreateEndpoint("/providers/Microsoft.ADHybridHealthService/services/{serviceName}/servicemembers/{serviceMemberId}/credentials", "GET"); + Endpoints[488] = CreateEndpoint("/providers/Microsoft.ADHybridHealthService/services/{serviceName}/servicemembers/{serviceMemberId}/data", "DELETE"); + Endpoints[489] = CreateEndpoint("/providers/Microsoft.ADHybridHealthService/services/{serviceName}/servicemembers/{serviceMemberId}/datafreshness", "GET"); + Endpoints[490] = CreateEndpoint("/providers/Microsoft.ADHybridHealthService/services/{serviceName}/servicemembers/{serviceMemberId}/exportstatus", "GET"); + Endpoints[491] = CreateEndpoint("/providers/Microsoft.ADHybridHealthService/services/{serviceName}/servicemembers/{serviceMemberId}/globalconfiguration", "GET"); + Endpoints[492] = CreateEndpoint("/providers/Microsoft.ADHybridHealthService/services/{serviceName}/servicemembers/{serviceMemberId}/serviceconfiguration", "GET"); + Endpoints[493] = CreateEndpoint("/providers/Microsoft.Capacity/reservationOrders/{reservationOrderId}/reservations/{reservationId}/revisions", "GET"); + Endpoints[494] = CreateEndpoint("/providers/Microsoft.Intune/locations/{hostName}/AndroidPolicies/{policyName}/apps", "GET"); + Endpoints[495] = CreateEndpoint("/providers/Microsoft.Intune/locations/{hostName}/androidPolicies/{policyName}/groups", "GET"); + Endpoints[496] = CreateEndpoint("/providers/Microsoft.Intune/locations/{hostName}/flaggedUsers/{userName}/flaggedEnrolledApps", "GET"); + Endpoints[497] = CreateEndpoint("/providers/Microsoft.Intune/locations/{hostName}/iosPolicies/{policyName}/apps", "GET"); + Endpoints[498] = CreateEndpoint("/providers/Microsoft.Intune/locations/{hostName}/iosPolicies/{policyName}/groups", "GET"); + Endpoints[499] = CreateEndpoint("/providers/Microsoft.Intune/locations/{hostName}/users/{userName}/devices", "GET"); + Endpoints[500] = CreateEndpoint("/providers/Microsoft.Capacity/reservationorders/{reservationOrderId}/reservations/{reservationId}/providers/Microsoft.Consumption/reservationDetails", "GET"); + Endpoints[501] = CreateEndpoint("/providers/Microsoft.Capacity/reservationorders/{reservationOrderId}/reservations/{reservationId}/providers/Microsoft.Consumption/reservationSummaries", "GET"); + Endpoints[502] = CreateEndpoint("/catalog/usql/databases/{databaseName}/schemas/{schemaName}/packages/{packageName}", "GET"); + Endpoints[503] = CreateEndpoint("/catalog/usql/databases/{databaseName}/schemas/{schemaName}/procedures/{procedureName}", "GET"); + Endpoints[504] = CreateEndpoint("/catalog/usql/databases/{databaseName}/schemas/{schemaName}/tables/{tableName}", "GET"); + Endpoints[505] = CreateEndpoint("/catalog/usql/databases/{databaseName}/schemas/{schemaName}/tabletypes/{tableTypeName}", "GET"); + Endpoints[506] = CreateEndpoint("/catalog/usql/databases/{databaseName}/schemas/{schemaName}/tablevaluedfunctions/{tableValuedFunctionName}", "GET"); + Endpoints[507] = CreateEndpoint("/catalog/usql/databases/{databaseName}/schemas/{schemaName}/views/{viewName}", "GET"); + Endpoints[508] = CreateEndpoint("/providers/Microsoft.ADHybridHealthService/addsservices/{serviceName}/metricmetadata/{metricName}/groups/{groupName}", "GET"); + Endpoints[509] = CreateEndpoint("/providers/Microsoft.ADHybridHealthService/services/{serviceName}/metricmetadata/{metricName}/groups/{groupName}", "GET"); + Endpoints[510] = CreateEndpoint("/providers/Microsoft.Intune/locations/{hostName}/androidPolicies/{policyName}/apps/{appName}", "PUT"); + Endpoints[511] = CreateEndpoint("/providers/Microsoft.Intune/locations/{hostName}/androidPolicies/{policyName}/apps/{appName}", "DELETE"); + Endpoints[512] = CreateEndpoint("/providers/Microsoft.Intune/locations/{hostName}/androidPolicies/{policyName}/groups/{groupId}", "PUT"); + Endpoints[513] = CreateEndpoint("/providers/Microsoft.Intune/locations/{hostName}/androidPolicies/{policyName}/groups/{groupId}", "DELETE"); + Endpoints[514] = CreateEndpoint("/providers/Microsoft.Intune/locations/{hostName}/iosPolicies/{policyName}/apps/{appName}", "DELETE"); + Endpoints[515] = CreateEndpoint("/providers/Microsoft.Intune/locations/{hostName}/iosPolicies/{policyName}/apps/{appName}", "PUT"); + Endpoints[516] = CreateEndpoint("/providers/Microsoft.Intune/locations/{hostName}/iosPolicies/{policyName}/groups/{groupId}", "DELETE"); + Endpoints[517] = CreateEndpoint("/providers/Microsoft.Intune/locations/{hostName}/iosPolicies/{policyName}/groups/{groupId}", "PUT"); + Endpoints[518] = CreateEndpoint("/providers/Microsoft.Intune/locations/{hostName}/users/{userName}/devices/{deviceName}", "GET"); + Endpoints[519] = CreateEndpoint("/catalog/usql/databases/{databaseName}/schemas/{schemaName}/tables/{tableName}/partitions", "GET"); + Endpoints[520] = CreateEndpoint("/catalog/usql/databases/{databaseName}/schemas/{schemaName}/tables/{tableName}/previewrows", "GET"); + Endpoints[521] = CreateEndpoint("/catalog/usql/databases/{databaseName}/schemas/{schemaName}/tables/{tableName}/statistics", "GET"); + Endpoints[522] = CreateEndpoint("/catalog/usql/databases/{databaseName}/schemas/{schemaName}/tables/{tableName}/tablefragments", "GET"); + Endpoints[523] = CreateEndpoint("/providers/Microsoft.ADHybridHealthService/addsservices/{serviceName}/metrics/{metricName}/groups/{groupName}/average", "GET"); + Endpoints[524] = CreateEndpoint("/providers/Microsoft.ADHybridHealthService/addsservices/{serviceName}/metrics/{metricName}/groups/{groupName}/sum", "GET"); + Endpoints[525] = CreateEndpoint("/providers/Microsoft.ADHybridHealthService/services/{serviceName}/metrics/{metricName}/groups/{groupName}/average", "GET"); + Endpoints[526] = CreateEndpoint("/providers/Microsoft.ADHybridHealthService/services/{serviceName}/metrics/{metricName}/groups/{groupName}/sum", "GET"); + Endpoints[527] = CreateEndpoint("/providers/Microsoft.Intune/locations/{hostName}/users/{userName}/devices/{deviceName}/wipe", "POST"); + Endpoints[528] = CreateEndpoint("/catalog/usql/databases/{databaseName}/schemas/{schemaName}/tables/{tableName}/partitions/{partitionName}", "GET"); + Endpoints[529] = CreateEndpoint("/catalog/usql/databases/{databaseName}/schemas/{schemaName}/tables/{tableName}/statistics/{statisticsName}", "GET"); + Endpoints[530] = CreateEndpoint("/providers/Microsoft.ADHybridHealthService/services/{serviceName}/servicemembers/{serviceMemberId}/metrics/{metricName}/groups/{groupName}", "GET"); + Endpoints[531] = CreateEndpoint("/catalog/usql/databases/{databaseName}/schemas/{schemaName}/tables/{tableName}/partitions/{partitionName}/previewrows", "GET"); + Endpoints[532] = CreateEndpoint("/apps/customprebuiltdomains/{culture}", "GET"); + Endpoints[533] = CreateEndpoint("/BackupRestore/BackupPolicies/{backupPolicyName}", "GET"); + Endpoints[534] = CreateEndpoint("/certificates/issuers/{issuer-name}", "DELETE"); + Endpoints[535] = CreateEndpoint("/certificates/issuers/{issuer-name}", "PUT"); + Endpoints[536] = CreateEndpoint("/certificates/issuers/{issuer-name}", "GET"); + Endpoints[537] = CreateEndpoint("/certificates/issuers/{issuer-name}", "PATCH"); + Endpoints[538] = CreateEndpoint("/webhdfs/v1/{directFilePath}", "POST"); + Endpoints[539] = CreateEndpoint("/webhdfs/v1/{filePath}", "DELETE"); + Endpoints[540] = CreateEndpoint("/webhdfs/v1/{path}", "GET"); + Endpoints[541] = CreateEndpoint("/webhdfs/v1/{setPermissionFilePath}", "PUT"); + Endpoints[542] = CreateEndpoint("/webhdfs/va/{getContentSummaryFilePath}", "GET"); + Endpoints[543] = CreateEndpoint("/BackupRestore/BackupPolicies/{backupPolicyName}/$/Delete", "POST"); + Endpoints[544] = CreateEndpoint("/BackupRestore/BackupPolicies/{backupPolicyName}/$/GetBackupEnabledEntities", "GET"); + Endpoints[545] = CreateEndpoint("/BackupRestore/BackupPolicies/{backupPolicyName}/$/Update", "POST"); + Endpoints[546] = CreateEndpoint("/EventsStore/Applications/{applicationId}/$/Events", "GET"); + Endpoints[547] = CreateEndpoint("/EventsStore/CorrelatedEvents/{eventInstanceId}/$/Events", "GET"); + Endpoints[548] = CreateEndpoint("/EventsStore/Nodes/{nodeName}/$/Events", "GET"); + Endpoints[549] = CreateEndpoint("/EventsStore/Partitions/{partitionId}/$/Events", "GET"); + Endpoints[550] = CreateEndpoint("/EventsStore/Services/{serviceId}/$/Events", "GET"); + Endpoints[551] = CreateEndpoint("/Faults/Nodes/{nodeName}/$/GetTransitionProgress", "GET"); + Endpoints[552] = CreateEndpoint("/Faults/Nodes/{nodeName}/$/StartTransition/", "POST"); + Endpoints[553] = CreateEndpoint("/EventsStore/Partitions/{partitionId}/$/Replicas/Events", "GET"); + Endpoints[554] = CreateEndpoint("/Services/$/{serviceId}/$/GetPartitions/$/Recover", "POST"); + Endpoints[555] = CreateEndpoint("/EventsStore/Partitions/{partitionId}/$/Replicas/{replicaId}/$/Events", "GET"); + Endpoints[556] = CreateEndpoint("/Faults/Services/{serviceId}/$/GetPartitions/{partitionId}/$/GetDataLossProgress", "GET"); + Endpoints[557] = CreateEndpoint("/Faults/Services/{serviceId}/$/GetPartitions/{partitionId}/$/GetQuorumLossProgress", "GET"); + Endpoints[558] = CreateEndpoint("/Faults/Services/{serviceId}/$/GetPartitions/{partitionId}/$/GetRestartProgress", "GET"); + Endpoints[559] = CreateEndpoint("/Faults/Services/{serviceId}/$/GetPartitions/{partitionId}/$/StartDataLoss", "POST"); + Endpoints[560] = CreateEndpoint("/Faults/Services/{serviceId}/$/GetPartitions/{partitionId}/$/StartQuorumLoss", "POST"); + Endpoints[561] = CreateEndpoint("/Faults/Services/{serviceId}/$/GetPartitions/{partitionId}/$/StartRestart", "POST"); + Endpoints[562] = CreateEndpoint("/apis/{apiId}", "GET"); + Endpoints[563] = CreateEndpoint("/apis/{apiId}", "PUT"); + Endpoints[564] = CreateEndpoint("/apis/{apiId}", "PATCH"); + Endpoints[565] = CreateEndpoint("/apis/{apiId}", "DELETE"); + Endpoints[566] = CreateEndpoint("/Applications/{applicationId}", "GET"); + Endpoints[567] = CreateEndpoint("/ApplicationTypes/{applicationTypeName}", "GET"); + Endpoints[568] = CreateEndpoint("/apps/{appId}", "PUT"); + Endpoints[569] = CreateEndpoint("/apps/{appId}", "GET"); + Endpoints[570] = CreateEndpoint("/apps/{appId}", "DELETE"); + Endpoints[571] = CreateEndpoint("/authorizationServers/{authsid}", "PUT"); + Endpoints[572] = CreateEndpoint("/authorizationServers/{authsid}", "PATCH"); + Endpoints[573] = CreateEndpoint("/authorizationServers/{authsid}", "DELETE"); + Endpoints[574] = CreateEndpoint("/authorizationServers/{authsid}", "GET"); + Endpoints[575] = CreateEndpoint("/backends/{backendid}", "PUT"); + Endpoints[576] = CreateEndpoint("/backends/{backendid}", "PATCH"); + Endpoints[577] = CreateEndpoint("/backends/{backendid}", "DELETE"); + Endpoints[578] = CreateEndpoint("/backends/{backendid}", "GET"); + Endpoints[579] = CreateEndpoint("/certificates/{certificateId}", "GET"); + Endpoints[580] = CreateEndpoint("/certificates/{certificateId}", "PUT"); + Endpoints[581] = CreateEndpoint("/certificates/{certificate-name}", "DELETE"); + Endpoints[582] = CreateEndpoint("/ComposeDeployments/{deploymentName}", "GET"); + Endpoints[583] = CreateEndpoint("/deletedcertificates/{certificate-name}", "GET"); + Endpoints[584] = CreateEndpoint("/deletedcertificates/{certificate-name}", "DELETE"); + Endpoints[585] = CreateEndpoint("/deletedkeys/{key-name}", "DELETE"); + Endpoints[586] = CreateEndpoint("/deletedkeys/{key-name}", "GET"); + Endpoints[587] = CreateEndpoint("/deletedsecrets/{secret-name}", "DELETE"); + Endpoints[588] = CreateEndpoint("/deletedsecrets/{secret-name}", "GET"); + Endpoints[589] = CreateEndpoint("/deletedstorage/{storage-account-name}", "DELETE"); + Endpoints[590] = CreateEndpoint("/deletedstorage/{storage-account-name}", "GET"); + Endpoints[591] = CreateEndpoint("/domains/{domainId}", "GET"); + Endpoints[592] = CreateEndpoint("/facelists/{faceListId}", "PATCH"); + Endpoints[593] = CreateEndpoint("/facelists/{faceListId}", "DELETE"); + Endpoints[594] = CreateEndpoint("/facelists/{faceListId}", "PUT"); + Endpoints[595] = CreateEndpoint("/facelists/{faceListId}", "GET"); + Endpoints[596] = CreateEndpoint("/groups/{groupId}", "PATCH"); + Endpoints[597] = CreateEndpoint("/groups/{groupId}", "PUT"); + Endpoints[598] = CreateEndpoint("/groups/{groupId}", "GET"); + Endpoints[599] = CreateEndpoint("/groups/{groupId}", "DELETE"); + Endpoints[600] = CreateEndpoint("/identityProviders/{identityProviderName}", "DELETE"); + Endpoints[601] = CreateEndpoint("/identityProviders/{identityProviderName}", "GET"); + Endpoints[602] = CreateEndpoint("/identityProviders/{identityProviderName}", "PUT"); + Endpoints[603] = CreateEndpoint("/identityProviders/{identityProviderName}", "PATCH"); + Endpoints[604] = CreateEndpoint("/ImageStore/{contentPath}", "PUT"); + Endpoints[605] = CreateEndpoint("/ImageStore/{contentPath}", "DELETE"); + Endpoints[606] = CreateEndpoint("/ImageStore/{contentPath}", "GET"); + Endpoints[607] = CreateEndpoint("/jobs/{jobId}", "DELETE"); + Endpoints[608] = CreateEndpoint("/jobs/{jobIdentity}", "PATCH"); + Endpoints[609] = CreateEndpoint("/Jobs/{jobIdentity}", "PUT"); + Endpoints[610] = CreateEndpoint("/Jobs/{jobIdentity}", "GET"); + Endpoints[611] = CreateEndpoint("/jobschedules/{jobScheduleId}", "HEAD"); + Endpoints[612] = CreateEndpoint("/jobschedules/{jobScheduleId}", "PATCH"); + Endpoints[613] = CreateEndpoint("/jobschedules/{jobScheduleId}", "DELETE"); + Endpoints[614] = CreateEndpoint("/jobschedules/{jobScheduleId}", "GET"); + Endpoints[615] = CreateEndpoint("/jobschedules/{jobScheduleId}", "PUT"); + Endpoints[616] = CreateEndpoint("/keys/{key-name}", "PUT"); + Endpoints[617] = CreateEndpoint("/keys/{key-name}", "DELETE"); + Endpoints[618] = CreateEndpoint("/loggers/{loggerid}", "DELETE"); + Endpoints[619] = CreateEndpoint("/loggers/{loggerid}", "PATCH"); + Endpoints[620] = CreateEndpoint("/loggers/{loggerid}", "PUT"); + Endpoints[621] = CreateEndpoint("/loggers/{loggerid}", "GET"); + Endpoints[622] = CreateEndpoint("/Names/{nameId}", "GET"); + Endpoints[623] = CreateEndpoint("/Names/{nameId}", "DELETE"); + Endpoints[624] = CreateEndpoint("/Nodes/{nodeName}", "GET"); + Endpoints[625] = CreateEndpoint("/openidConnectProviders/{opid}", "PATCH"); + Endpoints[626] = CreateEndpoint("/openidConnectProviders/{opid}", "PUT"); + Endpoints[627] = CreateEndpoint("/openidConnectProviders/{opid}", "GET"); + Endpoints[628] = CreateEndpoint("/openidConnectProviders/{opid}", "DELETE"); + Endpoints[629] = CreateEndpoint("/Partitions/{partitionId}", "GET"); + Endpoints[630] = CreateEndpoint("/persongroups/{personGroupId}", "PUT"); + Endpoints[631] = CreateEndpoint("/persongroups/{personGroupId}", "GET"); + Endpoints[632] = CreateEndpoint("/persongroups/{personGroupId}", "PATCH"); + Endpoints[633] = CreateEndpoint("/persongroups/{personGroupId}", "DELETE"); + Endpoints[634] = CreateEndpoint("/pipelines/{pipelineIdentity}", "GET"); + Endpoints[635] = CreateEndpoint("/policies/{policyId}", "GET"); + Endpoints[636] = CreateEndpoint("/policies/{policyId}", "PUT"); + Endpoints[637] = CreateEndpoint("/policies/{policyId}", "DELETE"); + Endpoints[638] = CreateEndpoint("/pools/{poolId}", "PATCH"); + Endpoints[639] = CreateEndpoint("/pools/{poolId}", "DELETE"); + Endpoints[640] = CreateEndpoint("/pools/{poolId}", "HEAD"); + Endpoints[641] = CreateEndpoint("/pools/{poolId}", "GET"); + Endpoints[642] = CreateEndpoint("/products/{productId}", "PATCH"); + Endpoints[643] = CreateEndpoint("/products/{productId}", "PUT"); + Endpoints[644] = CreateEndpoint("/products/{productId}", "DELETE"); + Endpoints[645] = CreateEndpoint("/products/{productId}", "GET"); + Endpoints[646] = CreateEndpoint("/projects/{projectId}", "PATCH"); + Endpoints[647] = CreateEndpoint("/projects/{projectId}", "DELETE"); + Endpoints[648] = CreateEndpoint("/projects/{projectId}", "GET"); + Endpoints[649] = CreateEndpoint("/properties/{propId}", "DELETE"); + Endpoints[650] = CreateEndpoint("/properties/{propId}", "PATCH"); + Endpoints[651] = CreateEndpoint("/properties/{propId}", "PUT"); + Endpoints[652] = CreateEndpoint("/properties/{propId}", "GET"); + Endpoints[653] = CreateEndpoint("/quotas/{quotaCounterKey}", "GET"); + Endpoints[654] = CreateEndpoint("/quotas/{quotaCounterKey}", "PATCH"); + Endpoints[655] = CreateEndpoint("/recurrences/{recurrenceIdentity}", "GET"); + Endpoints[656] = CreateEndpoint("/secrets/{secret-name}", "PUT"); + Endpoints[657] = CreateEndpoint("/secrets/{secret-name}", "DELETE"); + Endpoints[658] = CreateEndpoint("/storage/{storage-account-name}", "PATCH"); + Endpoints[659] = CreateEndpoint("/storage/{storage-account-name}", "PUT"); + Endpoints[660] = CreateEndpoint("/storage/{storage-account-name}", "GET"); + Endpoints[661] = CreateEndpoint("/storage/{storage-account-name}", "DELETE"); + Endpoints[662] = CreateEndpoint("/subscriptions/{sid}", "PATCH"); + Endpoints[663] = CreateEndpoint("/subscriptions/{subscriptionId}", "GET"); + Endpoints[664] = CreateEndpoint("/subscriptions/{subscriptionId}", "DELETE"); + Endpoints[665] = CreateEndpoint("/subscriptions/{subscriptionId}", "PUT"); + Endpoints[666] = CreateEndpoint("/templates/{templateName}", "PATCH"); + Endpoints[667] = CreateEndpoint("/templates/{templateName}", "PUT"); + Endpoints[668] = CreateEndpoint("/templates/{templateName}", "GET"); + Endpoints[669] = CreateEndpoint("/templates/{templateName}", "DELETE"); + Endpoints[670] = CreateEndpoint("/tenant/{accessName}", "GET"); + Endpoints[671] = CreateEndpoint("/tenant/{accessName}", "PATCH"); + Endpoints[672] = CreateEndpoint("/textOperations/{operationId}", "GET"); + Endpoints[673] = CreateEndpoint("/users/{uid}", "GET"); + Endpoints[674] = CreateEndpoint("/users/{uid}", "PUT"); + Endpoints[675] = CreateEndpoint("/users/{uid}", "PATCH"); + Endpoints[676] = CreateEndpoint("/users/{uid}", "DELETE"); + Endpoints[677] = CreateEndpoint("/WebHdfsExt/{path}", "PUT"); + Endpoints[678] = CreateEndpoint("/WebHdfsExt/{path}", "POST"); + Endpoints[679] = CreateEndpoint("/apis/{apiId}/operations", "GET"); + Endpoints[680] = CreateEndpoint("/apis/{apiId}/policies", "GET"); + Endpoints[681] = CreateEndpoint("/apis/{apiId}/products", "GET"); + Endpoints[682] = CreateEndpoint("/apis/{apiId}/schemas", "GET"); + Endpoints[683] = CreateEndpoint("/apps/{appId}/endpoints", "GET"); + Endpoints[684] = CreateEndpoint("/apps/{appId}/metrics", "POST"); + Endpoints[685] = CreateEndpoint("/apps/{appId}/permissions", "DELETE"); + Endpoints[686] = CreateEndpoint("/apps/{appId}/permissions", "GET"); + Endpoints[687] = CreateEndpoint("/apps/{appId}/permissions", "POST"); + Endpoints[688] = CreateEndpoint("/apps/{appId}/permissions", "PUT"); + Endpoints[689] = CreateEndpoint("/apps/{appId}/publish", "POST"); + Endpoints[690] = CreateEndpoint("/apps/{appId}/publishsettings", "GET"); + Endpoints[691] = CreateEndpoint("/apps/{appId}/publishsettings", "PUT"); + Endpoints[692] = CreateEndpoint("/apps/{appId}/query", "GET"); + Endpoints[693] = CreateEndpoint("/apps/{appId}/query", "POST"); + Endpoints[694] = CreateEndpoint("/apps/{appId}/querylogs", "GET"); + Endpoints[695] = CreateEndpoint("/apps/{appId}/settings", "GET"); + Endpoints[696] = CreateEndpoint("/apps/{appId}/settings", "PUT"); + Endpoints[697] = CreateEndpoint("/apps/{appId}/versions", "GET"); + Endpoints[698] = CreateEndpoint("/certificates/{certificate-name}/create", "POST"); + Endpoints[699] = CreateEndpoint("/certificates/{certificate-name}/import", "POST"); + Endpoints[700] = CreateEndpoint("/certificates/{certificate-name}/pending", "PATCH"); + Endpoints[701] = CreateEndpoint("/certificates/{certificate-name}/pending", "GET"); + Endpoints[702] = CreateEndpoint("/certificates/{certificate-name}/pending", "DELETE"); + Endpoints[703] = CreateEndpoint("/certificates/{certificate-name}/policy", "GET"); + Endpoints[704] = CreateEndpoint("/certificates/{certificate-name}/policy", "PATCH"); + Endpoints[705] = CreateEndpoint("/certificates/{certificate-name}/versions", "GET"); + Endpoints[706] = CreateEndpoint("/delegatedProviders/{delegatedProviderId}/offers", "GET"); + Endpoints[707] = CreateEndpoint("/deletedcertificates/{certificate-name}/recover", "POST"); + Endpoints[708] = CreateEndpoint("/deletedkeys/{key-name}/recover", "POST"); + Endpoints[709] = CreateEndpoint("/deletedsecrets/{secret-name}/recover", "POST"); + Endpoints[710] = CreateEndpoint("/deletedstorage/{storage-account-name}/recover", "POST"); + Endpoints[711] = CreateEndpoint("/deletedstorage/{storage-account-name}/sas", "GET"); + Endpoints[712] = CreateEndpoint("/facelists/{faceListId}/persistedFaces", "POST"); + Endpoints[713] = CreateEndpoint("/groups/{groupId}/users", "GET"); + Endpoints[714] = CreateEndpoint("/jobs/{jobId}/addtaskcollection", "POST"); + Endpoints[715] = CreateEndpoint("/jobs/{jobId}/disable", "POST"); + Endpoints[716] = CreateEndpoint("/jobs/{jobId}/enable", "POST"); + Endpoints[717] = CreateEndpoint("/jobs/{jobId}/jobpreparationandreleasetaskstatus", "GET"); + Endpoints[718] = CreateEndpoint("/jobs/{jobId}/taskcounts", "GET"); + Endpoints[719] = CreateEndpoint("/jobs/{jobId}/tasks", "GET"); + Endpoints[720] = CreateEndpoint("/jobs/{jobId}/tasks", "POST"); + Endpoints[721] = CreateEndpoint("/jobs/{jobId}/terminate", "POST"); + Endpoints[722] = CreateEndpoint("/Jobs/{jobIdentity}/CancelJob", "POST"); + Endpoints[723] = CreateEndpoint("/Jobs/{jobIdentity}/GetDebugDataPath", "POST"); + Endpoints[724] = CreateEndpoint("/Jobs/{jobIdentity}/GetDebugDataPath", "GET"); + Endpoints[725] = CreateEndpoint("/Jobs/{jobIdentity}/GetStatistics", "GET"); + Endpoints[726] = CreateEndpoint("/Jobs/{jobIdentity}/GetStatistics", "POST"); + Endpoints[727] = CreateEndpoint("/jobs/{jobIdentity}/YieldJob", "POST"); + Endpoints[728] = CreateEndpoint("/jobschedules/{jobScheduleId}/disable", "POST"); + Endpoints[729] = CreateEndpoint("/jobschedules/{jobScheduleId}/enable", "POST"); + Endpoints[730] = CreateEndpoint("/jobschedules/{jobScheduleId}/jobs", "GET"); + Endpoints[731] = CreateEndpoint("/jobschedules/{jobScheduleId}/terminate", "POST"); + Endpoints[732] = CreateEndpoint("/keys/{key-name}/backup", "POST"); + Endpoints[733] = CreateEndpoint("/keys/{key-name}/create", "POST"); + Endpoints[734] = CreateEndpoint("/keys/{key-name}/versions", "GET"); + Endpoints[735] = CreateEndpoint("/models/{model}/analyze", "POST"); + Endpoints[736] = CreateEndpoint("/persongroups/{personGroupId}/persons", "POST"); + Endpoints[737] = CreateEndpoint("/persongroups/{personGroupId}/persons", "GET"); + Endpoints[738] = CreateEndpoint("/persongroups/{personGroupId}/train", "POST"); + Endpoints[739] = CreateEndpoint("/persongroups/{personGroupId}/training", "GET"); + Endpoints[740] = CreateEndpoint("/pools/{poolId}/disableautoscale", "POST"); + Endpoints[741] = CreateEndpoint("/pools/{poolId}/enableautoscale", "POST"); + Endpoints[742] = CreateEndpoint("/pools/{poolId}/evaluateautoscale", "POST"); + Endpoints[743] = CreateEndpoint("/pools/{poolId}/nodes", "GET"); + Endpoints[744] = CreateEndpoint("/pools/{poolId}/removenodes", "POST"); + Endpoints[745] = CreateEndpoint("/pools/{poolId}/resize", "POST"); + Endpoints[746] = CreateEndpoint("/pools/{poolId}/stopresize", "POST"); + Endpoints[747] = CreateEndpoint("/pools/{poolId}/updateproperties", "POST"); + Endpoints[748] = CreateEndpoint("/pools/{poolId}/upgradeos", "POST"); + Endpoints[749] = CreateEndpoint("/products/{productId}/apis", "GET"); + Endpoints[750] = CreateEndpoint("/products/{productId}/groups", "GET"); + Endpoints[751] = CreateEndpoint("/products/{productId}/policies", "GET"); + Endpoints[752] = CreateEndpoint("/products/{productId}/subscriptions", "GET"); + Endpoints[753] = CreateEndpoint("/projects/{projectId}/images", "DELETE"); + Endpoints[754] = CreateEndpoint("/projects/{projectId}/images", "POST"); + Endpoints[755] = CreateEndpoint("/projects/{projectId}/iterations", "GET"); + Endpoints[756] = CreateEndpoint("/projects/{projectId}/predictions", "DELETE"); + Endpoints[757] = CreateEndpoint("/projects/{projectId}/tags", "POST"); + Endpoints[758] = CreateEndpoint("/projects/{projectId}/tags", "GET"); + Endpoints[759] = CreateEndpoint("/projects/{projectId}/train", "POST"); + Endpoints[760] = CreateEndpoint("/providers/{resourceProviderNamespace}/operations", "GET"); + Endpoints[761] = CreateEndpoint("/secrets/{secret-name}/backup", "POST"); + Endpoints[762] = CreateEndpoint("/secrets/{secret-name}/versions", "GET"); + Endpoints[763] = CreateEndpoint("/storage/{storage-account-name}/backup", "POST"); + Endpoints[764] = CreateEndpoint("/storage/{storage-account-name}/regeneratekey", "POST"); + Endpoints[765] = CreateEndpoint("/storage/{storage-account-name}/sas", "GET"); + Endpoints[766] = CreateEndpoint("/subscriptions/{sid}/regeneratePrimaryKey", "POST"); + Endpoints[767] = CreateEndpoint("/subscriptions/{sid}/regenerateSecondaryKey", "POST"); + Endpoints[768] = CreateEndpoint("/subscriptions/{subscriptionId}/locations", "GET"); + Endpoints[769] = CreateEndpoint("/subscriptions/{subscriptionId}/providers", "GET"); + Endpoints[770] = CreateEndpoint("/subscriptions/{subscriptionId}/resourcegroups", "GET"); + Endpoints[771] = CreateEndpoint("/subscriptions/{subscriptionId}/resources", "GET"); + Endpoints[772] = CreateEndpoint("/subscriptions/{subscriptionId}/tagNames", "GET"); + Endpoints[773] = CreateEndpoint("/tenant/{accessName}/git", "GET"); + Endpoints[774] = CreateEndpoint("/tenant/{accessName}/regeneratePrimaryKey", "POST"); + Endpoints[775] = CreateEndpoint("/tenant/{accessName}/regenerateSecondaryKey", "POST"); + Endpoints[776] = CreateEndpoint("/tenant/{configurationName}/deploy", "POST"); + Endpoints[777] = CreateEndpoint("/tenant/{configurationName}/save", "POST"); + Endpoints[778] = CreateEndpoint("/tenant/{configurationName}/syncState", "GET"); + Endpoints[779] = CreateEndpoint("/tenant/{configurationName}/validate", "POST"); + Endpoints[780] = CreateEndpoint("/users/{uid}/generateSsoUrl", "POST"); + Endpoints[781] = CreateEndpoint("/users/{uid}/groups", "GET"); + Endpoints[782] = CreateEndpoint("/users/{uid}/identities", "GET"); + Endpoints[783] = CreateEndpoint("/users/{uid}/subscriptions", "GET"); + Endpoints[784] = CreateEndpoint("/users/{uid}/token", "POST"); + Endpoints[785] = CreateEndpoint("/workspaces/{workspaceId}/query", "GET"); + Endpoints[786] = CreateEndpoint("/workspaces/{workspaceId}/query", "POST"); + Endpoints[787] = CreateEndpoint("/Applications/{applicationId}/$/Delete", "POST"); + Endpoints[788] = CreateEndpoint("/Applications/{applicationId}/$/DisableBackup", "POST"); + Endpoints[789] = CreateEndpoint("/Applications/{applicationId}/$/EnableBackup", "POST"); + Endpoints[790] = CreateEndpoint("/Applications/{applicationId}/$/GetBackupConfigurationInfo", "GET"); + Endpoints[791] = CreateEndpoint("/Applications/{applicationId}/$/GetBackups", "GET"); + Endpoints[792] = CreateEndpoint("/Applications/{applicationId}/$/GetHealth", "POST"); + Endpoints[793] = CreateEndpoint("/Applications/{applicationId}/$/GetHealth", "GET"); + Endpoints[794] = CreateEndpoint("/Applications/{applicationId}/$/GetLoadInformation", "GET"); + Endpoints[795] = CreateEndpoint("/Applications/{applicationId}/$/GetServices", "GET"); + Endpoints[796] = CreateEndpoint("/Applications/{applicationId}/$/GetUpgradeProgress", "GET"); + Endpoints[797] = CreateEndpoint("/Applications/{applicationId}/$/MoveToNextUpgradeDomain", "POST"); + Endpoints[798] = CreateEndpoint("/Applications/{applicationId}/$/ReportHealth", "POST"); + Endpoints[799] = CreateEndpoint("/Applications/{applicationId}/$/ResumeBackup", "POST"); + Endpoints[800] = CreateEndpoint("/Applications/{applicationId}/$/RollbackUpgrade", "POST"); + Endpoints[801] = CreateEndpoint("/Applications/{applicationId}/$/SuspendBackup", "POST"); + Endpoints[802] = CreateEndpoint("/Applications/{applicationId}/$/UpdateUpgrade", "POST"); + Endpoints[803] = CreateEndpoint("/Applications/{applicationId}/$/Upgrade", "POST"); + Endpoints[804] = CreateEndpoint("/Applications/{applicationName}/$/MoveNextUpgradeDomain", "POST"); + Endpoints[805] = CreateEndpoint("/ApplicationTypes/{applicationTypeName}/$/GetApplicationManifest", "GET"); + Endpoints[806] = CreateEndpoint("/ApplicationTypes/{applicationTypeName}/$/GetServiceManifest", "GET"); + Endpoints[807] = CreateEndpoint("/ApplicationTypes/{applicationTypeName}/$/GetServiceTypes", "GET"); + Endpoints[808] = CreateEndpoint("/ApplicationTypes/{applicationTypeName}/$/Unprovision", "POST"); + Endpoints[809] = CreateEndpoint("/apps/{appId}/events/$metadata", "GET"); + Endpoints[810] = CreateEndpoint("/apps/{appId}/metrics/metadata", "GET"); + Endpoints[811] = CreateEndpoint("/apps/{appId}/query/schema", "GET"); + Endpoints[812] = CreateEndpoint("/apps/{appId}/versions/import", "POST"); + Endpoints[813] = CreateEndpoint("/certificates/{certificate-name}/pending/merge", "POST"); + Endpoints[814] = CreateEndpoint("/ComposeDeployments/{deploymentName}/$/Delete", "POST"); + Endpoints[815] = CreateEndpoint("/ComposeDeployments/{deploymentName}/$/GetUpgradeProgress", "GET"); + Endpoints[816] = CreateEndpoint("/ComposeDeployments/{deploymentName}/$/Upgrade", "POST"); + Endpoints[817] = CreateEndpoint("/ImageStore/{contentPath}/$/GetUploadSession", "GET"); + Endpoints[818] = CreateEndpoint("/ImageStore/{contentPath}/$/UploadChunk", "PUT"); + Endpoints[819] = CreateEndpoint("/Names/{nameId}/$/GetProperties", "GET"); + Endpoints[820] = CreateEndpoint("/Names/{nameId}/$/GetProperty", "DELETE"); + Endpoints[821] = CreateEndpoint("/Names/{nameId}/$/GetProperty", "PUT"); + Endpoints[822] = CreateEndpoint("/Names/{nameId}/$/GetProperty", "GET"); + Endpoints[823] = CreateEndpoint("/Names/{nameId}/$/GetSubNames", "GET"); + Endpoints[824] = CreateEndpoint("/Nodes/{nodeName}/$/Activate", "POST"); + Endpoints[825] = CreateEndpoint("/Nodes/{nodeName}/$/Deactivate", "POST"); + Endpoints[826] = CreateEndpoint("/Nodes/{nodeName}/$/DeployServicePackage", "POST"); + Endpoints[827] = CreateEndpoint("/Nodes/{nodeName}/$/GetApplications", "GET"); + Endpoints[828] = CreateEndpoint("/Nodes/{nodeName}/$/GetHealth", "GET"); + Endpoints[829] = CreateEndpoint("/Nodes/{nodeName}/$/GetHealth", "POST"); + Endpoints[830] = CreateEndpoint("/Nodes/{nodeName}/$/GetLoadInformation", "GET"); + Endpoints[831] = CreateEndpoint("/Nodes/{nodeName}/$/RemoveNodeState", "POST"); + Endpoints[832] = CreateEndpoint("/Nodes/{nodeName}/$/ReportHealth", "POST"); + Endpoints[833] = CreateEndpoint("/Nodes/{nodeName}/$/Restart", "POST"); + Endpoints[834] = CreateEndpoint("/Nodes/{nodeName}/$/Start", "POST"); + Endpoints[835] = CreateEndpoint("/Nodes/{nodeName}/$/Stop", "POST"); + Endpoints[836] = CreateEndpoint("/Partitions/{partitionId}/$/Backup", "POST"); + Endpoints[837] = CreateEndpoint("/Partitions/{partitionId}/$/DisableBackup", "POST"); + Endpoints[838] = CreateEndpoint("/Partitions/{partitionId}/$/EnableBackup", "POST"); + Endpoints[839] = CreateEndpoint("/Partitions/{partitionId}/$/GetBackupConfigurationInfo", "GET"); + Endpoints[840] = CreateEndpoint("/Partitions/{partitionId}/$/GetBackupProgress", "GET"); + Endpoints[841] = CreateEndpoint("/Partitions/{partitionId}/$/GetBackups", "GET"); + Endpoints[842] = CreateEndpoint("/Partitions/{partitionId}/$/GetHealth", "POST"); + Endpoints[843] = CreateEndpoint("/Partitions/{partitionId}/$/GetHealth", "GET"); + Endpoints[844] = CreateEndpoint("/Partitions/{partitionId}/$/GetLoadInformation", "GET"); + Endpoints[845] = CreateEndpoint("/Partitions/{partitionId}/$/GetReplicas", "GET"); + Endpoints[846] = CreateEndpoint("/Partitions/{partitionId}/$/GetRestoreProgress", "GET"); + Endpoints[847] = CreateEndpoint("/Partitions/{partitionId}/$/GetServiceName", "GET"); + Endpoints[848] = CreateEndpoint("/Partitions/{partitionId}/$/Recover", "POST"); + Endpoints[849] = CreateEndpoint("/Partitions/{partitionId}/$/ReportHealth", "POST"); + Endpoints[850] = CreateEndpoint("/Partitions/{partitionId}/$/ResetLoad", "POST"); + Endpoints[851] = CreateEndpoint("/Partitions/{partitionId}/$/Restore", "POST"); + Endpoints[852] = CreateEndpoint("/Partitions/{partitionId}/$/ResumeBackup", "POST"); + Endpoints[853] = CreateEndpoint("/Partitions/{partitionId}/$/SuspendBackup", "POST"); + Endpoints[854] = CreateEndpoint("/projects/{projectId}/images/files", "POST"); + Endpoints[855] = CreateEndpoint("/projects/{projectId}/images/id", "GET"); + Endpoints[856] = CreateEndpoint("/projects/{projectId}/images/predictions", "POST"); + Endpoints[857] = CreateEndpoint("/projects/{projectId}/images/regions", "DELETE"); + Endpoints[858] = CreateEndpoint("/projects/{projectId}/images/regions", "POST"); + Endpoints[859] = CreateEndpoint("/projects/{projectId}/images/tagged", "GET"); + Endpoints[860] = CreateEndpoint("/projects/{projectId}/images/tags", "DELETE"); + Endpoints[861] = CreateEndpoint("/projects/{projectId}/images/tags", "POST"); + Endpoints[862] = CreateEndpoint("/projects/{projectId}/images/untagged", "GET"); + Endpoints[863] = CreateEndpoint("/projects/{projectId}/images/urls", "POST"); + Endpoints[864] = CreateEndpoint("/projects/{projectId}/predictions/query", "POST"); + Endpoints[865] = CreateEndpoint("/projects/{projectId}/quicktest/image", "POST"); + Endpoints[866] = CreateEndpoint("/projects/{projectId}/quicktest/url", "POST"); + Endpoints[867] = CreateEndpoint("/Services/{serviceId}/$/Delete", "POST"); + Endpoints[868] = CreateEndpoint("/Services/{serviceId}/$/DisableBackup", "POST"); + Endpoints[869] = CreateEndpoint("/Services/{serviceId}/$/EnableBackup", "POST"); + Endpoints[870] = CreateEndpoint("/Services/{serviceId}/$/GetApplicationName", "GET"); + Endpoints[871] = CreateEndpoint("/Services/{serviceId}/$/GetBackupConfigurationInfo", "GET"); + Endpoints[872] = CreateEndpoint("/Services/{serviceId}/$/GetBackups", "GET"); + Endpoints[873] = CreateEndpoint("/Services/{serviceId}/$/GetDescription", "GET"); + Endpoints[874] = CreateEndpoint("/Services/{serviceId}/$/GetHealth", "POST"); + Endpoints[875] = CreateEndpoint("/Services/{serviceId}/$/GetHealth", "GET"); + Endpoints[876] = CreateEndpoint("/Services/{serviceId}/$/GetPartitions", "GET"); + Endpoints[877] = CreateEndpoint("/Services/{serviceId}/$/ReportHealth", "POST"); + Endpoints[878] = CreateEndpoint("/Services/{serviceId}/$/ResolvePartition", "GET"); + Endpoints[879] = CreateEndpoint("/Services/{serviceId}/$/ResumeBackup", "POST"); + Endpoints[880] = CreateEndpoint("/Services/{serviceId}/$/SuspendBackup", "POST"); + Endpoints[881] = CreateEndpoint("/Services/{serviceId}/$/Update", "POST"); + Endpoints[882] = CreateEndpoint("/tenant/{accessName}/git/regeneratePrimaryKey", "POST"); + Endpoints[883] = CreateEndpoint("/tenant/{accessName}/git/regenerateSecondaryKey", "POST"); + Endpoints[884] = CreateEndpoint("/projects/{projectId}/images/tagged/count", "GET"); + Endpoints[885] = CreateEndpoint("/projects/{projectId}/images/untagged/count", "GET"); + Endpoints[886] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.AAD/domainServices", "GET"); + Endpoints[887] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.Advisor/configurations", "GET"); + Endpoints[888] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.Advisor/configurations", "PUT"); + Endpoints[889] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.Advisor/generateRecommendations", "POST"); + Endpoints[890] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.Advisor/recommendations", "GET"); + Endpoints[891] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.Advisor/suppressions", "GET"); + Endpoints[892] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.AnalysisServices/servers", "GET"); + Endpoints[893] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.AnalysisServices/skus", "GET"); + Endpoints[894] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.ApiManagement/checkNameAvailability", "POST"); + Endpoints[895] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.ApiManagement/service", "GET"); + Endpoints[896] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.Authorization/classicAdministrators", "GET"); + Endpoints[897] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.Authorization/locks", "GET"); + Endpoints[898] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.Authorization/policyAssignments", "GET"); + Endpoints[899] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.Authorization/policyDefinitions", "GET"); + Endpoints[900] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.Authorization/policySetDefinitions", "GET"); + Endpoints[901] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.Authorization/roleAssignments", "GET"); + Endpoints[902] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.Automation/automationAccounts", "GET"); + Endpoints[903] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.Batch/batchAccounts", "GET"); + Endpoints[904] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.BatchAI/clusters", "GET"); + Endpoints[905] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.BatchAI/fileServers", "GET"); + Endpoints[906] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.BatchAI/jobs", "GET"); + Endpoints[907] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.BatchAI/workspaces", "GET"); + Endpoints[908] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.Billing/billingPeriods", "GET"); + Endpoints[909] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.Billing/invoices", "GET"); + Endpoints[910] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.BotService/botServices", "GET"); + Endpoints[911] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.Cache/CheckNameAvailability", "POST"); + Endpoints[912] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.Cache/Redis", "GET"); + Endpoints[913] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.Capacity/appliedReservations", "GET"); + Endpoints[914] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.Capacity/catalogs", "GET"); + Endpoints[915] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.Cdn/checkNameAvailability", "POST"); + Endpoints[916] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.Cdn/checkResourceUsage", "POST"); + Endpoints[917] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.Cdn/profiles", "GET"); + Endpoints[918] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.Cdn/validateProbe", "POST"); + Endpoints[919] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.CertificateRegistration/certificateOrders", "GET"); + Endpoints[920] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.CertificateRegistration/validateCertificateRegistrationInformation", "POST"); + Endpoints[921] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.CognitiveServices/accounts", "GET"); + Endpoints[922] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.CognitiveServices/skus", "GET"); + Endpoints[923] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.Commerce.Admin/subscriberUsageAggregates", "GET"); + Endpoints[924] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.Commerce.Admin/updateEncryption", "POST"); + Endpoints[925] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.Commerce/RateCard", "GET"); + Endpoints[926] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.Commerce/UsageAggregates", "GET"); + Endpoints[927] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.Compute/disks", "GET"); + Endpoints[928] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.Compute/galleries", "GET"); + Endpoints[929] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.Compute/images", "GET"); + Endpoints[930] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.Compute/skus", "GET"); + Endpoints[931] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.Compute/snapshots", "GET"); + Endpoints[932] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.Compute/virtualMachines", "GET"); + Endpoints[933] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.Compute/virtualMachineScaleSets", "GET"); + Endpoints[934] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.Consumption/budgets", "GET"); + Endpoints[935] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.Consumption/forecasts", "GET"); + Endpoints[936] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.Consumption/marketplaces", "GET"); + Endpoints[937] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.Consumption/reservationRecommendations", "GET"); + Endpoints[938] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.Consumption/usageDetails", "GET"); + Endpoints[939] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.ContainerInstance/containerGroups", "GET"); + Endpoints[940] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.ContainerRegistry/checkNameAvailability", "POST"); + Endpoints[941] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.ContainerRegistry/registries", "GET"); + Endpoints[942] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.ContainerService/containerServices", "GET"); + Endpoints[943] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.ContainerService/managedClusters", "GET"); + Endpoints[944] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.CustomerInsights/hubs", "GET"); + Endpoints[945] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.DataBox/jobs", "GET"); + Endpoints[946] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.Databricks/workspaces", "GET"); + Endpoints[947] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.DataFactory/factories", "GET"); + Endpoints[948] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.DataLakeAnalytics/accounts", "GET"); + Endpoints[949] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.DataLakeStore/accounts", "GET"); + Endpoints[950] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.DataMigration/services", "GET"); + Endpoints[951] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.DataMigration/skus", "GET"); + Endpoints[952] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.DBforMySQL/checkNameAvailability", "POST"); + Endpoints[953] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.DBforMySQL/performanceTiers", "GET"); + Endpoints[954] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.DBforMySQL/servers", "GET"); + Endpoints[955] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.DBforPostgreSQL/checkNameAvailability", "POST"); + Endpoints[956] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.DBforPostgreSQL/performanceTiers", "GET"); + Endpoints[957] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.DBforPostgreSQL/servers", "GET"); + Endpoints[958] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.Devices/checkNameAvailability", "POST"); + Endpoints[959] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.Devices/checkProvisioningServiceNameAvailability", "POST"); + Endpoints[960] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.Devices/IotHubs", "GET"); + Endpoints[961] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.Devices/provisioningServices", "GET"); + Endpoints[962] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.Devices/usages", "GET"); + Endpoints[963] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.DevTestLab/labs", "GET"); + Endpoints[964] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.DevTestLab/schedules", "GET"); + Endpoints[965] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.DocumentDB/databaseAccounts", "GET"); + Endpoints[966] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.DomainRegistration/checkDomainAvailability", "POST"); + Endpoints[967] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.DomainRegistration/domains", "GET"); + Endpoints[968] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.DomainRegistration/generateSsoRequest", "POST"); + Endpoints[969] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.DomainRegistration/listDomainRecommendations", "POST"); + Endpoints[970] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.DomainRegistration/topLevelDomains", "GET"); + Endpoints[971] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.DomainRegistration/validateDomainRegistrationInformation", "POST"); + Endpoints[972] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.EventGrid/eventSubscriptions", "GET"); + Endpoints[973] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.EventGrid/topics", "GET"); + Endpoints[974] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.EventHub/CheckNameAvailability", "POST"); + Endpoints[975] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.EventHub/CheckNamespaceAvailability", "POST"); + Endpoints[976] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.EventHub/namespaces", "GET"); + Endpoints[977] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.Features/features", "GET"); + Endpoints[978] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/microsoft.gallery.admin/galleryItems", "POST"); + Endpoints[979] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/microsoft.gallery.admin/galleryItems", "GET"); + Endpoints[980] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.HanaOnAzure/hanaInstances", "GET"); + Endpoints[981] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.HDInsight/clusters", "GET"); + Endpoints[982] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.ImportExport/jobs", "GET"); + Endpoints[983] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/microsoft.insights/actionGroups", "GET"); + Endpoints[984] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/microsoft.insights/activityLogAlerts", "GET"); + Endpoints[985] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.Insights/components", "GET"); + Endpoints[986] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/microsoft.insights/listMigrationdate", "POST"); + Endpoints[987] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/microsoft.insights/logprofiles", "GET"); + Endpoints[988] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.Insights/metricAlerts", "GET"); + Endpoints[989] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/microsoft.insights/migrateToNewPricingModel", "POST"); + Endpoints[990] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/microsoft.insights/rollbackToLegacyPricingModel", "POST"); + Endpoints[991] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/microsoft.insights/scheduledQueryRules", "GET"); + Endpoints[992] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.Insights/webtests", "GET"); + Endpoints[993] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.IoTCentral/checkNameAvailability", "POST"); + Endpoints[994] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.IoTCentral/IoTApps", "GET"); + Endpoints[995] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.IoTSpaces/checkNameAvailability", "POST"); + Endpoints[996] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.IoTSpaces/Graph", "GET"); + Endpoints[997] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.KeyVault/checkNameAvailability", "POST"); + Endpoints[998] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.KeyVault/deletedVaults", "GET"); + Endpoints[999] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.KeyVault/vaults", "GET"); + Endpoints[1000] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.Logic/integrationAccounts", "GET"); + Endpoints[1001] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.Logic/workflows", "GET"); + Endpoints[1002] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.MachineLearning/commitmentPlans", "GET"); + Endpoints[1003] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.MachineLearning/skus", "GET"); + Endpoints[1004] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.MachineLearning/webServices", "GET"); + Endpoints[1005] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.MachineLearning/workspaces", "GET"); + Endpoints[1006] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.MachineLearningCompute/operationalizationClusters", "GET"); + Endpoints[1007] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.MachineLearningExperimentation/accounts", "GET"); + Endpoints[1008] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.MachineLearningServices/workspaces", "GET"); + Endpoints[1009] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.ManagedIdentity/userAssignedIdentities", "GET"); + Endpoints[1010] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.Maps/accounts", "GET"); + Endpoints[1011] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.Media/CheckNameAvailability", "POST"); + Endpoints[1012] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.Media/mediaservices", "GET"); + Endpoints[1013] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.Network.Admin/adminLoadBalancers", "GET"); + Endpoints[1014] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.Network.Admin/adminOverview", "GET"); + Endpoints[1015] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.Network.Admin/adminPublicIpAddresses", "GET"); + Endpoints[1016] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.Network.Admin/adminVirtualNetworks", "GET"); + Endpoints[1017] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.Network/applicationGatewayAvailableWafRuleSets", "GET"); + Endpoints[1018] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.Network/applicationGateways", "GET"); + Endpoints[1019] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.Network/applicationSecurityGroups", "GET"); + Endpoints[1020] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.Network/bgpServiceCommunities", "GET"); + Endpoints[1021] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.Network/ddosProtectionPlans", "GET"); + Endpoints[1022] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.Network/dnszones", "GET"); + Endpoints[1023] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.Network/expressRouteCircuits", "GET"); + Endpoints[1024] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.Network/expressRouteCrossConnections", "GET"); + Endpoints[1025] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.Network/expressRouteServiceProviders", "GET"); + Endpoints[1026] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.Network/loadBalancers", "GET"); + Endpoints[1027] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.Network/networkInterfaces", "GET"); + Endpoints[1028] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.Network/networkSecurityGroups", "GET"); + Endpoints[1029] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.Network/networkWatchers", "GET"); + Endpoints[1030] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.Network/publicIPAddresses", "GET"); + Endpoints[1031] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.Network/routeFilters", "GET"); + Endpoints[1032] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.Network/routeTables", "GET"); + Endpoints[1033] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.Network/trafficmanagerprofiles", "GET"); + Endpoints[1034] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.Network/trafficManagerUserMetricsKeys", "DELETE"); + Endpoints[1035] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.Network/trafficManagerUserMetricsKeys", "PUT"); + Endpoints[1036] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.Network/trafficManagerUserMetricsKeys", "GET"); + Endpoints[1037] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.Network/virtualNetworks", "GET"); + Endpoints[1038] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.NotificationHubs/checkNamespaceAvailability", "POST"); + Endpoints[1039] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.NotificationHubs/namespaces", "GET"); + Endpoints[1040] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.OperationalInsights/linkTargets", "GET"); + Endpoints[1041] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.OperationalInsights/workspaces", "GET"); + Endpoints[1042] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.OperationsManagement/ManagementAssociations", "GET"); + Endpoints[1043] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.OperationsManagement/ManagementConfigurations", "GET"); + Endpoints[1044] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.OperationsManagement/solutions", "GET"); + Endpoints[1045] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.PowerBI/workspaceCollections", "GET"); + Endpoints[1046] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.PowerBIDedicated/capacities", "GET"); + Endpoints[1047] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.PowerBIDedicated/skus", "GET"); + Endpoints[1048] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.RecoveryServices/vaults", "GET"); + Endpoints[1049] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.Relay/checkNameAvailability", "POST"); + Endpoints[1050] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.Relay/namespaces", "GET"); + Endpoints[1051] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.ResourceHealth/availabilityStatuses", "GET"); + Endpoints[1052] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.Resources/links", "GET"); + Endpoints[1053] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.Scheduler/jobCollections", "GET"); + Endpoints[1054] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.Search/checkNameAvailability", "POST"); + Endpoints[1055] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.Security/alerts", "GET"); + Endpoints[1056] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.Security/autoProvisioningSettings", "GET"); + Endpoints[1057] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.Security/discoveredSecuritySolutions", "GET"); + Endpoints[1058] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.Security/externalSecuritySolutions", "GET"); + Endpoints[1059] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.Security/jitNetworkAccessPolicies", "GET"); + Endpoints[1060] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.Security/locations", "GET"); + Endpoints[1061] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.Security/pricings", "GET"); + Endpoints[1062] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.Security/securityContacts", "GET"); + Endpoints[1063] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.Security/tasks", "GET"); + Endpoints[1064] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.Security/workspaceSettings", "GET"); + Endpoints[1065] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.ServerManagement/gateways", "GET"); + Endpoints[1066] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.ServerManagement/nodes", "GET"); + Endpoints[1067] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.ServiceBus/CheckNameAvailability", "POST"); + Endpoints[1068] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.ServiceBus/CheckNameSpaceAvailability", "POST"); + Endpoints[1069] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.ServiceBus/namespaces", "GET"); + Endpoints[1070] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.ServiceBus/premiumMessagingRegions", "GET"); + Endpoints[1071] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.ServiceFabric/clusters", "GET"); + Endpoints[1072] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.SignalRService/SignalR", "GET"); + Endpoints[1073] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.Solutions/appliances", "GET"); + Endpoints[1074] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.Solutions/applications", "GET"); + Endpoints[1075] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.Sql/checkNameAvailability", "POST"); + Endpoints[1076] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.Sql/managedInstances", "GET"); + Endpoints[1077] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.Sql/servers", "GET"); + Endpoints[1078] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.Storage/checkNameAvailability", "POST"); + Endpoints[1079] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.Storage/skus", "GET"); + Endpoints[1080] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.Storage/storageAccounts", "GET"); + Endpoints[1081] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.Storage/usages", "GET"); + Endpoints[1082] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.StorSimple/managers", "GET"); + Endpoints[1083] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.StreamAnalytics/streamingjobs", "GET"); + Endpoints[1084] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.Subscriptions.Admin/checkNameAvailability", "POST"); + Endpoints[1085] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.Subscriptions.Admin/delegatedProviders", "GET"); + Endpoints[1086] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.Subscriptions.Admin/locations", "GET"); + Endpoints[1087] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.Subscriptions.Admin/moveSubscriptions", "POST"); + Endpoints[1088] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.Subscriptions.Admin/offers", "GET"); + Endpoints[1089] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.Subscriptions.Admin/plans", "GET"); + Endpoints[1090] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.Subscriptions.Admin/restoreData", "POST"); + Endpoints[1091] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.Subscriptions.Admin/subscriptions", "GET"); + Endpoints[1092] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.Subscriptions.Admin/updateEncryption", "POST"); + Endpoints[1093] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.Subscriptions.Admin/validateMoveSubscriptions", "POST"); + Endpoints[1094] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.TimeSeriesInsights/environments", "GET"); + Endpoints[1095] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/microsoft.visualstudio/checkNameAvailability", "POST"); + Endpoints[1096] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.Web/availableStacks", "GET"); + Endpoints[1097] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.Web/billingMeters", "GET"); + Endpoints[1098] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.Web/certificates", "GET"); + Endpoints[1099] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.Web/checknameavailability", "POST"); + Endpoints[1100] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.Web/classicMobileServices", "GET"); + Endpoints[1101] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.Web/connectionGateways", "GET"); + Endpoints[1102] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.Web/customApis", "GET"); + Endpoints[1103] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.Web/deletedSites", "GET"); + Endpoints[1104] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.Web/deploymentLocations", "GET"); + Endpoints[1105] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.Web/geoRegions", "GET"); + Endpoints[1106] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.Web/hostingEnvironments", "GET"); + Endpoints[1107] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.Web/ishostingenvironmentnameavailable", "GET"); + Endpoints[1108] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.Web/listSitesAssignedToHostName", "POST"); + Endpoints[1109] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.Web/managedHostingEnvironments", "GET"); + Endpoints[1110] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.Web/premieraddonoffers", "GET"); + Endpoints[1111] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.Web/publishingCredentials", "GET"); + Endpoints[1112] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.Web/publishingCredentials", "PUT"); + Endpoints[1113] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.Web/recommendations", "GET"); + Endpoints[1114] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.Web/resourceHealthMetadata", "GET"); + Endpoints[1115] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.Web/serverfarms", "GET"); + Endpoints[1116] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.Web/sites", "GET"); + Endpoints[1117] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.Web/skus", "GET"); + Endpoints[1118] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.Web/verifyHostingEnvironmentVnet", "POST"); + Endpoints[1119] = CreateEndpoint("/Applications/{applicationId}/$/GetServices/$/Create", "POST"); + Endpoints[1120] = CreateEndpoint("/Applications/{applicationId}/$/GetServices/$/CreateFromTemplate", "POST"); + Endpoints[1121] = CreateEndpoint("/Applications/{applicationName}/$/GetServiceGroups/$/CreateServiceGroupFromTemplate", "POST"); + Endpoints[1122] = CreateEndpoint("/Applications/{applicationName}/$/GetServices/$/CreateServiceGroup", "POST"); + Endpoints[1123] = CreateEndpoint("/Names/{nameId}/$/GetProperties/$/SubmitBatch", "POST"); + Endpoints[1124] = CreateEndpoint("/Services/{serviceName}/$/GetPartitions/$/Recover", "POST"); + Endpoints[1125] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.Billing/invoices/latest", "GET"); + Endpoints[1126] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.Consumption/pricesheets/default", "GET"); + Endpoints[1127] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.Network/applicationGatewayAvailableSslOptions/default", "GET"); + Endpoints[1128] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.Web/recommendations/reset", "POST"); + Endpoints[1129] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.Addons/supportProviders/canonical/listSupportPlanInfo", "POST"); + Endpoints[1130] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/microsoft.insights/eventtypes/management/values", "GET"); + Endpoints[1131] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.Network/applicationGatewayAvailableSslOptions/default/predefinedPolicies", "GET"); + Endpoints[1132] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.Network/applicationGatewayAvailableSslOptions/default/predefinedPolicies/{predefinedPolicyName}", "GET"); + Endpoints[1133] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.Advisor/generateRecommendations/{operationId}", "GET"); + Endpoints[1134] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.Authorization/locks/{lockName}", "PUT"); + Endpoints[1135] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.Authorization/locks/{lockName}", "GET"); + Endpoints[1136] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.Authorization/locks/{lockName}", "DELETE"); + Endpoints[1137] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.Authorization/policydefinitions/{policyDefinitionName}", "DELETE"); + Endpoints[1138] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.Authorization/policydefinitions/{policyDefinitionName}", "GET"); + Endpoints[1139] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.Authorization/policydefinitions/{policyDefinitionName}", "PUT"); + Endpoints[1140] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.Authorization/policySetDefinitions/{policySetDefinitionName}", "GET"); + Endpoints[1141] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.Authorization/policySetDefinitions/{policySetDefinitionName}", "DELETE"); + Endpoints[1142] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.Authorization/policySetDefinitions/{policySetDefinitionName}", "PUT"); + Endpoints[1143] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.Billing/billingPeriods/{billingPeriodName}", "GET"); + Endpoints[1144] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.Billing/invoices/{invoiceName}", "GET"); + Endpoints[1145] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.Consumption/budgets/{budgetName}", "GET"); + Endpoints[1146] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.Consumption/budgets/{budgetName}", "PUT"); + Endpoints[1147] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.Consumption/budgets/{budgetName}", "DELETE"); + Endpoints[1148] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.DomainRegistration/topLevelDomains/{name}", "GET"); + Endpoints[1149] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/microsoft.gallery.admin/galleryItems/{galleryItemName}", "DELETE"); + Endpoints[1150] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/microsoft.gallery.admin/galleryItems/{galleryItemName}", "GET"); + Endpoints[1151] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/microsoft.insights/logprofiles/{logProfileName}", "PUT"); + Endpoints[1152] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/microsoft.insights/logprofiles/{logProfileName}", "GET"); + Endpoints[1153] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/microsoft.insights/logprofiles/{logProfileName}", "DELETE"); + Endpoints[1154] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/microsoft.insights/logprofiles/{logProfileName}", "PATCH"); + Endpoints[1155] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.Media/mediaservices/{accountName}", "GET"); + Endpoints[1156] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.Security/autoProvisioningSettings/{settingName}", "PUT"); + Endpoints[1157] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.Security/autoProvisioningSettings/{settingName}", "GET"); + Endpoints[1158] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.Security/locations/{ascLocation}", "GET"); + Endpoints[1159] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.Security/pricings/{pricingName}", "PUT"); + Endpoints[1160] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.Security/pricings/{pricingName}", "GET"); + Endpoints[1161] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.Security/workspaceSettings/{workspaceSettingName}", "PATCH"); + Endpoints[1162] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.Security/workspaceSettings/{workspaceSettingName}", "PUT"); + Endpoints[1163] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.Security/workspaceSettings/{workspaceSettingName}", "GET"); + Endpoints[1164] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.Subscriptions.Admin/delegatedProviders/{delegatedProvider}", "GET"); + Endpoints[1165] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.Subscriptions.Admin/locations/{location}", "DELETE"); + Endpoints[1166] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.Subscriptions.Admin/locations/{location}", "PUT"); + Endpoints[1167] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.Subscriptions.Admin/locations/{location}", "GET"); + Endpoints[1168] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.Subscriptions.Admin/subscriptions/{subscription}", "GET"); + Endpoints[1169] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.Subscriptions.Admin/subscriptions/{subscription}", "PUT"); + Endpoints[1170] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.Subscriptions.Admin/subscriptions/{subscription}", "DELETE"); + Endpoints[1171] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.Web/ishostingenvironmentnameavailable/{name}", "GET"); + Endpoints[1172] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.Addons/supportProviders/{providerName}/supportPlanTypes", "GET"); + Endpoints[1173] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.AnalysisServices/locations/{location}/checkNameAvailability", "POST"); + Endpoints[1174] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.Batch/locations/{locationName}/checkNameAvailability", "POST"); + Endpoints[1175] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.Batch/locations/{locationName}/quotas", "GET"); + Endpoints[1176] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.BatchAI/locations/{location}/usages", "GET"); + Endpoints[1177] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.CognitiveServices/locations/{location}/checkSkuAvailability", "POST"); + Endpoints[1178] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.Compute.Admin/locations/{location}/quotas", "GET"); + Endpoints[1179] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.Compute/locations/{location}/publishers", "GET"); + Endpoints[1180] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.Compute/locations/{location}/runCommands", "GET"); + Endpoints[1181] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.Compute/locations/{location}/usages", "GET"); + Endpoints[1182] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.Compute/locations/{location}/vmSizes", "GET"); + Endpoints[1183] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.ContainerInstance/locations/{location}/usages", "GET"); + Endpoints[1184] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.ContainerService/locations/{location}/orchestrators", "GET"); + Endpoints[1185] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.DataBox/locations/{location}/availableSkus", "POST"); + Endpoints[1186] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.DataBox/locations/{location}/validateAddress", "POST"); + Endpoints[1187] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.DataFactory/locations/{locationId}/configureFactoryRepo", "POST"); + Endpoints[1188] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.DataLakeAnalytics/locations/{location}/capability", "GET"); + Endpoints[1189] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.DataLakeAnalytics/locations/{location}/checkNameAvailability", "POST"); + Endpoints[1190] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.DataLakeStore/locations/{location}/capability", "GET"); + Endpoints[1191] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.DataLakeStore/locations/{location}/checkNameAvailability", "POST"); + Endpoints[1192] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.DataMigration/locations/{location}/checkNameAvailability", "POST"); + Endpoints[1193] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.DataMigration/locations/{location}/usages", "GET"); + Endpoints[1194] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.DBforMySQL/locations/{locationName}/performanceTiers", "GET"); + Endpoints[1195] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.DBforPostgreSQL/locations/{locationName}/performanceTiers", "GET"); + Endpoints[1196] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.DomainRegistration/topLevelDomains/{name}/listAgreements", "POST"); + Endpoints[1197] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.EventGrid/locations/{location}/eventSubscriptions", "GET"); + Endpoints[1198] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.EventGrid/topicTypes/{topicTypeName}/eventSubscriptions", "GET"); + Endpoints[1199] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.EventHub/sku/{sku}/regions", "GET"); + Endpoints[1200] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.Features/providers/{resourceProviderNamespace}/features", "GET"); + Endpoints[1201] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.HDInsight/locations/{location}/capabilities", "GET"); + Endpoints[1202] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.KeyVault.Admin/locations/{location}/quotas", "GET"); + Endpoints[1203] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.Media/locations/{locationName}/checkNameAvailability", "POST"); + Endpoints[1204] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.Network.Admin/locations/{location}/quotas", "GET"); + Endpoints[1205] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.Network/locations/{location}/CheckDnsNameAvailability", "GET"); + Endpoints[1206] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.Network/locations/{location}/usages", "GET"); + Endpoints[1207] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.Network/locations/{location}/virtualNetworkAvailableEndpointServices", "GET"); + Endpoints[1208] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.PolicyInsights/policyEvents/{policyEventsResource}/queryResults", "POST"); + Endpoints[1209] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.PolicyInsights/policyStates/{policyStatesResource}/queryResults", "POST"); + Endpoints[1210] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.PolicyInsights/policyStates/{policyStatesSummaryResource}/summarize", "POST"); + Endpoints[1211] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.PowerBI/locations/{location}/checkNameAvailability", "POST"); + Endpoints[1212] = CreateEndpoint("/Subscriptions/{subscriptionId}/providers/Microsoft.RecoveryServices/locations/{azureRegion}/backupPreValidateProtection", "POST"); + Endpoints[1213] = CreateEndpoint("/Subscriptions/{subscriptionId}/providers/Microsoft.RecoveryServices/locations/{azureRegion}/backupStatus", "POST"); + Endpoints[1214] = CreateEndpoint("/Subscriptions/{subscriptionId}/providers/Microsoft.RecoveryServices/locations/{azureRegion}/backupValidateFeatures", "POST"); + Endpoints[1215] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.Security/locations/{ascLocation}/alerts", "GET"); + Endpoints[1216] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.Security/locations/{ascLocation}/discoveredSecuritySolutions", "GET"); + Endpoints[1217] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.Security/locations/{ascLocation}/ExternalSecuritySolutions", "GET"); + Endpoints[1218] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.Security/locations/{ascLocation}/jitNetworkAccessPolicies", "GET"); + Endpoints[1219] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.Security/locations/{ascLocation}/tasks", "GET"); + Endpoints[1220] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.ServiceBus/sku/{sku}/regions", "GET"); + Endpoints[1221] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.ServiceFabric/locations/{location}/clusterVersions", "GET"); + Endpoints[1222] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.SignalRService/locations/{location}/checkNameAvailability", "POST"); + Endpoints[1223] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.Sql/locations/{locationName}/capabilities", "GET"); + Endpoints[1224] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.Sql/locations/{locationName}/longTermRetentionBackups", "GET"); + Endpoints[1225] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.Sql/locations/{locationName}/syncDatabaseIds", "GET"); + Endpoints[1226] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.Sql/locations/{locationName}/usages", "GET"); + Endpoints[1227] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.Storage.Admin/locations/{location}/quotas", "GET"); + Endpoints[1228] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.Storage/locations/{location}/usages", "GET"); + Endpoints[1229] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.StreamAnalytics/locations/{location}/quotas", "GET"); + Endpoints[1230] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.Subscriptions.Admin/delegatedProviders/{delegatedProviderSubscriptionId}/offers", "GET"); + Endpoints[1231] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.Subscriptions.Admin/locations/{location}/quotas", "GET"); + Endpoints[1232] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.Subscriptions.Admin/subscriptions/{targetSubscriptionId}/acquiredPlans", "GET"); + Endpoints[1233] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.Web/locations/{location}/connectionGatewayInstallations", "GET"); + Endpoints[1234] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.Web/locations/{location}/extractApiDefinitionFromWsdl", "POST"); + Endpoints[1235] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.Web/locations/{location}/listWsdlInterfaces", "POST"); + Endpoints[1236] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.Web/locations/{location}/managedApis", "GET"); + Endpoints[1237] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.Web/recommendations/{name}/disable", "POST"); + Endpoints[1238] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.Compute.Admin/locations/{location}/artifactTypes/platformImage", "GET"); + Endpoints[1239] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.Compute.Admin/locations/{location}/artifactTypes/VMExtension", "GET"); + Endpoints[1240] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.Billing/billingPeriods/{billingPeriodName}/providers/Microsoft.Consumption/marketplaces", "GET"); + Endpoints[1241] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.Billing/billingPeriods/{billingPeriodName}/providers/Microsoft.Consumption/usageDetails", "GET"); + Endpoints[1242] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.Compute/locations/{location}/logAnalytics/apiAccess/getRequestRateByInterval", "POST"); + Endpoints[1243] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.Compute/locations/{location}/logAnalytics/apiAccess/getThrottledRequests", "POST"); + Endpoints[1244] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.Billing/billingPeriods/{billingPeriodName}/providers/Microsoft.Consumption/pricesheets/default", "GET"); + Endpoints[1245] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.Compute.Admin/locations/{location}/artifactTypes/VMExtension/publishers/{publisher}/types/{type}/versions/{version}", "PUT"); + Endpoints[1246] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.Compute.Admin/locations/{location}/artifactTypes/VMExtension/publishers/{publisher}/types/{type}/versions/{version}", "DELETE"); + Endpoints[1247] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.Compute.Admin/locations/{location}/artifactTypes/VMExtension/publishers/{publisher}/types/{type}/versions/{version}", "GET"); + Endpoints[1248] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.Compute.Admin/locations/{location}/artifactTypes/platformImage/publishers/{publisher}/offers/{offer}/skus/{sku}/versions/{version}", "DELETE"); + Endpoints[1249] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.Compute.Admin/locations/{location}/artifactTypes/platformImage/publishers/{publisher}/offers/{offer}/skus/{sku}/versions/{version}", "GET"); + Endpoints[1250] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.Compute.Admin/locations/{location}/artifactTypes/platformImage/publishers/{publisher}/offers/{offer}/skus/{sku}/versions/{version}", "PUT"); + Endpoints[1251] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.Addons/supportProviders/{providerName}/supportPlanTypes/{planTypeName}", "PUT"); + Endpoints[1252] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.Addons/supportProviders/{providerName}/supportPlanTypes/{planTypeName}", "DELETE"); + Endpoints[1253] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.Addons/supportProviders/{providerName}/supportPlanTypes/{planTypeName}", "GET"); + Endpoints[1254] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.AnalysisServices/locations/{location}/operationresults/{operationId}", "GET"); + Endpoints[1255] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.AnalysisServices/locations/{location}/operationstatuses/{operationId}", "GET"); + Endpoints[1256] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.Compute.Admin/locations/{location}/quotas/{quotaName}", "PUT"); + Endpoints[1257] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.Compute.Admin/locations/{location}/quotas/{quotaName}", "GET"); + Endpoints[1258] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.Compute.Admin/locations/{location}/quotas/{quotaName}", "DELETE"); + Endpoints[1259] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.Compute/locations/{location}/runCommands/{commandId}", "GET"); + Endpoints[1260] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.DevTestLab/locations/{locationName}/operations/{name}", "GET"); + Endpoints[1261] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.Features/providers/{resourceProviderNamespace}/features/{featureName}", "GET"); + Endpoints[1262] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.KeyVault/locations/{location}/deletedVaults/{vaultName}", "GET"); + Endpoints[1263] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.Network.Admin/locations/{location}/quotas/{resourceName}", "GET"); + Endpoints[1264] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.Network.Admin/locations/{location}/quotas/{resourceName}", "DELETE"); + Endpoints[1265] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.Network.Admin/locations/{location}/quotas/{resourceName}", "PUT"); + Endpoints[1266] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.Security/locations/{ascLocation}/alerts/{alertName}", "GET"); + Endpoints[1267] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.Security/locations/{ascLocation}/tasks/{taskName}", "GET"); + Endpoints[1268] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.ServiceFabric/locations/{location}/clusterVersions/{clusterVersion}", "GET"); + Endpoints[1269] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.Sql/locations/{locationName}/usages/{usageName}", "GET"); + Endpoints[1270] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.Storage.Admin/locations/{location}/quotas/{quotaName}", "DELETE"); + Endpoints[1271] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.Storage.Admin/locations/{location}/quotas/{quotaName}", "GET"); + Endpoints[1272] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.Storage.Admin/locations/{location}/quotas/{quotaName}", "PUT"); + Endpoints[1273] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.Subscriptions.Admin/delegatedProviders/{delegatedProviderSubscriptionId}/offers/{offer}", "GET"); + Endpoints[1274] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.Subscriptions.Admin/locations/{location}/quotas/{quota}", "GET"); + Endpoints[1275] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.Subscriptions.Admin/subscriptions/{targetSubscriptionId}/acquiredPlans/{planAcquisitionId}", "DELETE"); + Endpoints[1276] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.Subscriptions.Admin/subscriptions/{targetSubscriptionId}/acquiredPlans/{planAcquisitionId}", "PUT"); + Endpoints[1277] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.Subscriptions.Admin/subscriptions/{targetSubscriptionId}/acquiredPlans/{planAcquisitionId}", "GET"); + Endpoints[1278] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.Web/locations/{location}/connectionGatewayInstallations/{gatewayId}", "GET"); + Endpoints[1279] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.Web/locations/{location}/managedApis/{apiName}", "GET"); + Endpoints[1280] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.EventGrid/locations/{location}/topicTypes/{topicTypeName}/eventSubscriptions", "GET"); + Endpoints[1281] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.Features/providers/{resourceProviderNamespace}/features/{featureName}/register", "POST"); + Endpoints[1282] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.KeyVault/locations/{location}/deletedVaults/{vaultName}/purge", "POST"); + Endpoints[1283] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.ServiceFabric/locations/{location}/environments/{environment}/clusterVersions", "GET"); + Endpoints[1284] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.Sql/locations/{locationName}/longTermRetentionServers/{longTermRetentionServerName}/longTermRetentionBackups", "GET"); + Endpoints[1285] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.Sql/locations/{locationName}/managedDatabaseRestoreAzureAsyncOperation/{operationId}/completeRestore", "POST"); + Endpoints[1286] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.Compute/locations/{location}/publishers/{publisherName}/artifacttypes/vmextension/types", "GET"); + Endpoints[1287] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.Compute/locations/{location}/publishers/{publisherName}/artifacttypes/vmimage/offers", "GET"); + Endpoints[1288] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.Compute/locations/{location}/publishers/{publisherName}/artifacttypes/vmextension/types/{type}/versions", "GET"); + Endpoints[1289] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.Compute/locations/{location}/publishers/{publisherName}/artifacttypes/vmimage/offers/{offer}/skus", "GET"); + Endpoints[1290] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.Compute/locations/{location}/publishers/{publisherName}/artifacttypes/vmextension/types/{type}/versions/{version}", "GET"); + Endpoints[1291] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.Compute/locations/{location}/publishers/{publisherName}/artifacttypes/vmimage/offers/{offer}/skus/{skus}/versions", "GET"); + Endpoints[1292] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.Compute/locations/{location}/publishers/{publisherName}/artifacttypes/vmimage/offers/{offer}/skus/{skus}/versions/{version}", "GET"); + Endpoints[1293] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.ServiceFabric/locations/{location}/environments/{environment}/clusterVersions/{clusterVersion}", "GET"); + Endpoints[1294] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.Sql/locations/{locationName}/longTermRetentionServers/{longTermRetentionServerName}/longTermRetentionDatabases/{longTermRetentionDatabaseName}/longTermRetentionBackups", "GET"); + Endpoints[1295] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.Sql/locations/{locationName}/longTermRetentionServers/{longTermRetentionServerName}/longTermRetentionDatabases/{longTermRetentionDatabaseName}/longTermRetentionBackups/{backupName}", "GET"); + Endpoints[1296] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.Sql/locations/{locationName}/longTermRetentionServers/{longTermRetentionServerName}/longTermRetentionDatabases/{longTermRetentionDatabaseName}/longTermRetentionBackups/{backupName}", "DELETE"); + Endpoints[1297] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.MarketplaceOrdering/offerTypes/{offerType}/publishers/{publisherId}/offers/{offerId}/plans/{planId}/agreements/current", "GET"); + Endpoints[1298] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.MarketplaceOrdering/offerTypes/{offerType}/publishers/{publisherId}/offers/{offerId}/plans/{planId}/agreements/current", "PUT"); + Endpoints[1299] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.Security/locations/{ascLocation}/alerts/{alertName}/{alertUpdateActionType}", "POST"); + Endpoints[1300] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.Security/locations/{ascLocation}/tasks/{taskName}/{taskUpdateActionType}", "POST"); + Endpoints[1301] = CreateEndpoint("/Applications/{applicationId}/$/GetServices/{serviceId}", "GET"); + Endpoints[1302] = CreateEndpoint("/ApplicationTypes/{applicationTypeName}/$/GetServiceTypes/{serviceTypeName}", "GET"); + Endpoints[1303] = CreateEndpoint("/Nodes/{nodeName}/$/GetApplications/{applicationId}", "GET"); + Endpoints[1304] = CreateEndpoint("/Partitions/{partitionId}/$/GetReplicas/{replicaId}", "GET"); + Endpoints[1305] = CreateEndpoint("/Services/{serviceName}/$/GetPartitions/{partitionId}", "GET"); + Endpoints[1306] = CreateEndpoint("/Applications/{applicationName}/$/GetServiceGroups/{serviceName}/$/Delete", "POST"); + Endpoints[1307] = CreateEndpoint("/Applications/{applicationName}/$/GetServices/{serviceName}/$/GetServiceGroupDescription", "GET"); + Endpoints[1308] = CreateEndpoint("/Applications/{applicationName}/$/GetServices/{serviceName}/$/GetServiceGroupMembers", "GET"); + Endpoints[1309] = CreateEndpoint("/Applications/{applicationName}/$/GetServices/{serviceName}/$/UpdateServiceGroup", "POST"); + Endpoints[1310] = CreateEndpoint("/Nodes/{nodeName}/$/GetApplications/{applicationId}/$/GetCodePackages", "GET"); + Endpoints[1311] = CreateEndpoint("/Nodes/{nodeName}/$/GetApplications/{applicationId}/$/GetHealth", "GET"); + Endpoints[1312] = CreateEndpoint("/Nodes/{nodeName}/$/GetApplications/{applicationId}/$/GetHealth", "POST"); + Endpoints[1313] = CreateEndpoint("/Nodes/{nodeName}/$/GetApplications/{applicationId}/$/GetReplicas", "GET"); + Endpoints[1314] = CreateEndpoint("/Nodes/{nodeName}/$/GetApplications/{applicationId}/$/GetServicePackages", "GET"); + Endpoints[1315] = CreateEndpoint("/Nodes/{nodeName}/$/GetApplications/{applicationId}/$/GetServiceTypes", "GET"); + Endpoints[1316] = CreateEndpoint("/Nodes/{nodeName}/$/GetApplications/{applicationId}/$/ReportHealth", "POST"); + Endpoints[1317] = CreateEndpoint("/Nodes/{nodeName}/$/GetPartitions/{partitionId}/$/GetReplicas", "GET"); + Endpoints[1318] = CreateEndpoint("/Partitions/{partitionId}/$/GetReplicas/{replicaId}/$/GetHealth", "POST"); + Endpoints[1319] = CreateEndpoint("/Partitions/{partitionId}/$/GetReplicas/{replicaId}/$/GetHealth", "GET"); + Endpoints[1320] = CreateEndpoint("/Partitions/{partitionId}/$/GetReplicas/{replicaId}/$/GetLoadInformation", "GET"); + Endpoints[1321] = CreateEndpoint("/Partitions/{partitionId}/$/GetReplicas/{replicaId}/$/ReportHealth", "POST"); + Endpoints[1322] = CreateEndpoint("/Nodes/{nodeName}/$/GetApplications/{applicationId}/$/GetCodePackages/$/ContainerApi", "POST"); + Endpoints[1323] = CreateEndpoint("/Nodes/{nodeName}/$/GetApplications/{applicationId}/$/GetCodePackages/$/ContainerLogs", "GET"); + Endpoints[1324] = CreateEndpoint("/Nodes/{nodeName}/$/GetApplications/{applicationId}/$/GetCodePackages/$/Restart", "POST"); + Endpoints[1325] = CreateEndpoint("/Nodes/{nodeName}/$/GetApplications/{applicationId}/$/GetServicePackages/{servicePackageName}", "GET"); + Endpoints[1326] = CreateEndpoint("/Nodes/{nodeName}/$/GetApplications/{applicationId}/$/GetServiceTypes/{serviceTypeName}", "GET"); + Endpoints[1327] = CreateEndpoint("/Nodes/{nodeName}/$/GetApplications/{applicationId}/$/GetServicePackages/{servicePackageName}/$/GetHealth", "GET"); + Endpoints[1328] = CreateEndpoint("/Nodes/{nodeName}/$/GetApplications/{applicationId}/$/GetServicePackages/{servicePackageName}/$/GetHealth", "POST"); + Endpoints[1329] = CreateEndpoint("/Nodes/{nodeName}/$/GetApplications/{applicationId}/$/GetServicePackages/{servicePackageName}/$/ReportHealth", "POST"); + Endpoints[1330] = CreateEndpoint("/Nodes/{nodeName}/$/GetPartitions/{partitionId}/$/GetReplicas/{replicaId}/$/Delete", "POST"); + Endpoints[1331] = CreateEndpoint("/Nodes/{nodeName}/$/GetPartitions/{partitionId}/$/GetReplicas/{replicaId}/$/GetDetail", "GET"); + Endpoints[1332] = CreateEndpoint("/Nodes/{nodeName}/$/GetPartitions/{partitionId}/$/GetReplicas/{replicaId}/$/Restart", "POST"); + Endpoints[1333] = CreateEndpoint("/apis/{apiId}/operations/{operationId}", "DELETE"); + Endpoints[1334] = CreateEndpoint("/apis/{apiId}/operations/{operationId}", "GET"); + Endpoints[1335] = CreateEndpoint("/apis/{apiId}/operations/{operationId}", "PATCH"); + Endpoints[1336] = CreateEndpoint("/apis/{apiId}/operations/{operationId}", "PUT"); + Endpoints[1337] = CreateEndpoint("/apis/{apiId}/policies/{policyId}", "GET"); + Endpoints[1338] = CreateEndpoint("/apis/{apiId}/policies/{policyId}", "PUT"); + Endpoints[1339] = CreateEndpoint("/apis/{apiId}/policies/{policyId}", "DELETE"); + Endpoints[1340] = CreateEndpoint("/apis/{apiId}/schemas/{schemaId}", "DELETE"); + Endpoints[1341] = CreateEndpoint("/apis/{apiId}/schemas/{schemaId}", "PUT"); + Endpoints[1342] = CreateEndpoint("/apis/{apiId}/schemas/{schemaId}", "GET"); + Endpoints[1343] = CreateEndpoint("/apps/{appId}/events/{eventType}", "GET"); + Endpoints[1344] = CreateEndpoint("/apps/{appId}/metrics/{metricId}", "GET"); + Endpoints[1345] = CreateEndpoint("/apps/{appId}/versions/{versionId}/", "DELETE"); + Endpoints[1346] = CreateEndpoint("/apps/{appId}/versions/{versionId}/", "PUT"); + Endpoints[1347] = CreateEndpoint("/apps/{appId}/versions/{versionId}/", "GET"); + Endpoints[1348] = CreateEndpoint("/delegatedProviders/{delegatedProviderId}/offers/{offerName}", "GET"); + Endpoints[1349] = CreateEndpoint("/deletedstorage/{storage-account-name}/sas/{sas-definition-name}", "GET"); + Endpoints[1350] = CreateEndpoint("/facelists/{faceListId}/persistedFaces/{persistedFaceId}", "DELETE"); + Endpoints[1351] = CreateEndpoint("/groups/{groupId}/users/{uid}", "PUT"); + Endpoints[1352] = CreateEndpoint("/groups/{groupId}/users/{uid}", "DELETE"); + Endpoints[1353] = CreateEndpoint("/jobs/{jobId}/tasks/{taskId}", "GET"); + Endpoints[1354] = CreateEndpoint("/jobs/{jobId}/tasks/{taskId}", "DELETE"); + Endpoints[1355] = CreateEndpoint("/jobs/{jobId}/tasks/{taskId}", "PUT"); + Endpoints[1356] = CreateEndpoint("/persongroups/{personGroupId}/persons/{personId}", "GET"); + Endpoints[1357] = CreateEndpoint("/persongroups/{personGroupId}/persons/{personId}", "PATCH"); + Endpoints[1358] = CreateEndpoint("/persongroups/{personGroupId}/persons/{personId}", "DELETE"); + Endpoints[1359] = CreateEndpoint("/pools/{poolId}/nodes/{nodeId}", "GET"); + Endpoints[1360] = CreateEndpoint("/products/{productId}/apis/{apiId}", "DELETE"); + Endpoints[1361] = CreateEndpoint("/products/{productId}/apis/{apiId}", "PUT"); + Endpoints[1362] = CreateEndpoint("/products/{productId}/groups/{groupId}", "PUT"); + Endpoints[1363] = CreateEndpoint("/products/{productId}/groups/{groupId}", "DELETE"); + Endpoints[1364] = CreateEndpoint("/products/{productId}/policies/{policyId}", "PUT"); + Endpoints[1365] = CreateEndpoint("/products/{productId}/policies/{policyId}", "GET"); + Endpoints[1366] = CreateEndpoint("/products/{productId}/policies/{policyId}", "DELETE"); + Endpoints[1367] = CreateEndpoint("/projects/{projectId}/iterations/{iterationId}", "DELETE"); + Endpoints[1368] = CreateEndpoint("/projects/{projectId}/iterations/{iterationId}", "PATCH"); + Endpoints[1369] = CreateEndpoint("/projects/{projectId}/iterations/{iterationId}", "GET"); + Endpoints[1370] = CreateEndpoint("/projects/{projectId}/tags/{tagId}", "DELETE"); + Endpoints[1371] = CreateEndpoint("/projects/{projectId}/tags/{tagId}", "PATCH"); + Endpoints[1372] = CreateEndpoint("/projects/{projectId}/tags/{tagId}", "GET"); + Endpoints[1373] = CreateEndpoint("/storage/{storage-account-name}/sas/{sas-definition-name}", "PATCH"); + Endpoints[1374] = CreateEndpoint("/storage/{storage-account-name}/sas/{sas-definition-name}", "PUT"); + Endpoints[1375] = CreateEndpoint("/storage/{storage-account-name}/sas/{sas-definition-name}", "DELETE"); + Endpoints[1376] = CreateEndpoint("/storage/{storage-account-name}/sas/{sas-definition-name}", "GET"); + Endpoints[1377] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/{resourceProviderNamespace}", "GET"); + Endpoints[1378] = CreateEndpoint("/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}", "HEAD"); + Endpoints[1379] = CreateEndpoint("/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}", "PATCH"); + Endpoints[1380] = CreateEndpoint("/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}", "GET"); + Endpoints[1381] = CreateEndpoint("/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}", "PUT"); + Endpoints[1382] = CreateEndpoint("/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}", "DELETE"); + Endpoints[1383] = CreateEndpoint("/subscriptions/{subscriptionId}/tagNames/{tagName}", "DELETE"); + Endpoints[1384] = CreateEndpoint("/subscriptions/{subscriptionId}/tagNames/{tagName}", "PUT"); + Endpoints[1385] = CreateEndpoint("/apis/{apiId}/operations/{operationId}/policies", "GET"); + Endpoints[1386] = CreateEndpoint("/apps/{appId}/versions/{versionId}/clone", "POST"); + Endpoints[1387] = CreateEndpoint("/apps/{appId}/versions/{versionId}/closedlists", "GET"); + Endpoints[1388] = CreateEndpoint("/apps/{appId}/versions/{versionId}/closedlists", "POST"); + Endpoints[1389] = CreateEndpoint("/apps/{appId}/versions/{versionId}/compositeentities", "POST"); + Endpoints[1390] = CreateEndpoint("/apps/{appId}/versions/{versionId}/compositeentities", "GET"); + Endpoints[1391] = CreateEndpoint("/apps/{appId}/versions/{versionId}/customprebuiltdomains", "POST"); + Endpoints[1392] = CreateEndpoint("/apps/{appId}/versions/{versionId}/customprebuiltentities", "POST"); + Endpoints[1393] = CreateEndpoint("/apps/{appId}/versions/{versionId}/customprebuiltentities", "GET"); + Endpoints[1394] = CreateEndpoint("/apps/{appId}/versions/{versionId}/customprebuiltintents", "POST"); + Endpoints[1395] = CreateEndpoint("/apps/{appId}/versions/{versionId}/customprebuiltintents", "GET"); + Endpoints[1396] = CreateEndpoint("/apps/{appId}/versions/{versionId}/customprebuiltmodels", "GET"); + Endpoints[1397] = CreateEndpoint("/apps/{appId}/versions/{versionId}/entities", "GET"); + Endpoints[1398] = CreateEndpoint("/apps/{appId}/versions/{versionId}/entities", "POST"); + Endpoints[1399] = CreateEndpoint("/apps/{appId}/versions/{versionId}/example", "POST"); + Endpoints[1400] = CreateEndpoint("/apps/{appId}/versions/{versionId}/examples", "POST"); + Endpoints[1401] = CreateEndpoint("/apps/{appId}/versions/{versionId}/examples", "GET"); + Endpoints[1402] = CreateEndpoint("/apps/{appId}/versions/{versionId}/export", "GET"); + Endpoints[1403] = CreateEndpoint("/apps/{appId}/versions/{versionId}/features", "GET"); + Endpoints[1404] = CreateEndpoint("/apps/{appId}/versions/{versionId}/hierarchicalentities", "GET"); + Endpoints[1405] = CreateEndpoint("/apps/{appId}/versions/{versionId}/hierarchicalentities", "POST"); + Endpoints[1406] = CreateEndpoint("/apps/{appId}/versions/{versionId}/intents", "POST"); + Endpoints[1407] = CreateEndpoint("/apps/{appId}/versions/{versionId}/intents", "GET"); + Endpoints[1408] = CreateEndpoint("/apps/{appId}/versions/{versionId}/listprebuilts", "GET"); + Endpoints[1409] = CreateEndpoint("/apps/{appId}/versions/{versionId}/models", "GET"); + Endpoints[1410] = CreateEndpoint("/apps/{appId}/versions/{versionId}/patternanyentities", "POST"); + Endpoints[1411] = CreateEndpoint("/apps/{appId}/versions/{versionId}/patternanyentities", "GET"); + Endpoints[1412] = CreateEndpoint("/apps/{appId}/versions/{versionId}/patternrule", "POST"); + Endpoints[1413] = CreateEndpoint("/apps/{appId}/versions/{versionId}/patternrules", "GET"); + Endpoints[1414] = CreateEndpoint("/apps/{appId}/versions/{versionId}/patternrules", "DELETE"); + Endpoints[1415] = CreateEndpoint("/apps/{appId}/versions/{versionId}/patternrules", "PUT"); + Endpoints[1416] = CreateEndpoint("/apps/{appId}/versions/{versionId}/patternrules", "POST"); + Endpoints[1417] = CreateEndpoint("/apps/{appId}/versions/{versionId}/patterns", "GET"); + Endpoints[1418] = CreateEndpoint("/apps/{appId}/versions/{versionId}/patterns", "POST"); + Endpoints[1419] = CreateEndpoint("/apps/{appId}/versions/{versionId}/phraselists", "POST"); + Endpoints[1420] = CreateEndpoint("/apps/{appId}/versions/{versionId}/phraselists", "GET"); + Endpoints[1421] = CreateEndpoint("/apps/{appId}/versions/{versionId}/prebuilts", "POST"); + Endpoints[1422] = CreateEndpoint("/apps/{appId}/versions/{versionId}/prebuilts", "GET"); + Endpoints[1423] = CreateEndpoint("/apps/{appId}/versions/{versionId}/regexentities", "GET"); + Endpoints[1424] = CreateEndpoint("/apps/{appId}/versions/{versionId}/regexentities", "POST"); + Endpoints[1425] = CreateEndpoint("/apps/{appId}/versions/{versionId}/suggest", "DELETE"); + Endpoints[1426] = CreateEndpoint("/apps/{appId}/versions/{versionId}/train", "POST"); + Endpoints[1427] = CreateEndpoint("/apps/{appId}/versions/{versionId}/train", "GET"); + Endpoints[1428] = CreateEndpoint("/deletedstorage/{storage-account-name}/sas/{sas-definition-name}/recover", "POST"); + Endpoints[1429] = CreateEndpoint("/jobs/{jobId}/tasks/{taskId}/files", "GET"); + Endpoints[1430] = CreateEndpoint("/jobs/{jobId}/tasks/{taskId}/reactivate", "POST"); + Endpoints[1431] = CreateEndpoint("/jobs/{jobId}/tasks/{taskId}/subtasksinfo", "GET"); + Endpoints[1432] = CreateEndpoint("/jobs/{jobId}/tasks/{taskId}/terminate", "POST"); + Endpoints[1433] = CreateEndpoint("/persongroups/{personGroupId}/persons/{personId}/persistedFaces", "POST"); + Endpoints[1434] = CreateEndpoint("/pools/{poolId}/nodes/{nodeId}/disablescheduling", "POST"); + Endpoints[1435] = CreateEndpoint("/pools/{poolId}/nodes/{nodeId}/enablescheduling", "POST"); + Endpoints[1436] = CreateEndpoint("/pools/{poolId}/nodes/{nodeId}/files", "GET"); + Endpoints[1437] = CreateEndpoint("/pools/{poolId}/nodes/{nodeId}/rdp", "GET"); + Endpoints[1438] = CreateEndpoint("/pools/{poolId}/nodes/{nodeId}/reboot", "POST"); + Endpoints[1439] = CreateEndpoint("/pools/{poolId}/nodes/{nodeId}/reimage", "POST"); + Endpoints[1440] = CreateEndpoint("/pools/{poolId}/nodes/{nodeId}/remoteloginsettings", "GET"); + Endpoints[1441] = CreateEndpoint("/pools/{poolId}/nodes/{nodeId}/uploadbatchservicelogs", "POST"); + Endpoints[1442] = CreateEndpoint("/pools/{poolId}/nodes/{nodeId}/users", "POST"); + Endpoints[1443] = CreateEndpoint("/projects/{projectId}/iterations/{iterationId}/export", "POST"); + Endpoints[1444] = CreateEndpoint("/projects/{projectId}/iterations/{iterationId}/export", "GET"); + Endpoints[1445] = CreateEndpoint("/projects/{projectId}/iterations/{iterationId}/performance", "GET"); + Endpoints[1446] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/{resourceProviderNamespace}/register", "POST"); + Endpoints[1447] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/{resourceProviderNamespace}/unregister", "POST"); + Endpoints[1448] = CreateEndpoint("/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/exportTemplate", "POST"); + Endpoints[1449] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/moveResources", "POST"); + Endpoints[1450] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/resources", "GET"); + Endpoints[1451] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/validateMoveResources", "POST"); + Endpoints[1452] = CreateEndpoint("/projects/{projectId}/iterations/{iterationId}/performance/images", "GET"); + Endpoints[1453] = CreateEndpoint("/projects/{projectId}/iterations/{iterationId}/performance/images/count", "GET"); + Endpoints[1454] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroup/{resourceGroupName}/providers/microsoft.insights/workbooks", "GET"); + Endpoints[1455] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{groupName}/providers/Microsoft.DataMigration/services", "GET"); + Endpoints[1456] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroup}/providers/Microsoft.Advisor/configurations", "GET"); + Endpoints[1457] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroup}/providers/Microsoft.Advisor/configurations", "PUT"); + Endpoints[1458] = CreateEndpoint("/subscriptions/{subscriptionId}/resourcegroups/{resourceGroup}/providers/Microsoft.AzureBridge.Admin/activations", "GET"); + Endpoints[1459] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroup}/providers/Microsoft.AzureStack/registrations", "GET"); + Endpoints[1460] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AAD/domainServices", "GET"); + Endpoints[1461] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AnalysisServices/servers", "GET"); + Endpoints[1462] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service", "GET"); + Endpoints[1463] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Authorization/locks", "GET"); + Endpoints[1464] = CreateEndpoint("/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.Authorization/permissions", "GET"); + Endpoints[1465] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Authorization/policyAssignments", "GET"); + Endpoints[1466] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Authorization/roleAssignments", "GET"); + Endpoints[1467] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Automation/automationAccounts", "GET"); + Endpoints[1468] = CreateEndpoint("/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.Backup.Admin/backupLocations", "GET"); + Endpoints[1469] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Batch/batchAccounts", "GET"); + Endpoints[1470] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.BatchAI/clusters", "GET"); + Endpoints[1471] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.BatchAI/fileServers", "GET"); + Endpoints[1472] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.BatchAI/jobs", "GET"); + Endpoints[1473] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.BatchAI/workspaces", "GET"); + Endpoints[1474] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.BotService/botServices", "GET"); + Endpoints[1475] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Cache/Redis", "GET"); + Endpoints[1476] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Cdn/profiles", "GET"); + Endpoints[1477] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.CertificateRegistration/certificateOrders", "GET"); + Endpoints[1478] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.CognitiveServices/accounts", "GET"); + Endpoints[1479] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/availabilitySets", "GET"); + Endpoints[1480] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/disks", "GET"); + Endpoints[1481] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/galleries", "GET"); + Endpoints[1482] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/images", "GET"); + Endpoints[1483] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/snapshots", "GET"); + Endpoints[1484] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/virtualMachines", "GET"); + Endpoints[1485] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/virtualMachineScaleSets", "GET"); + Endpoints[1486] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Consumption/budgets", "GET"); + Endpoints[1487] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerInstance/containerGroups", "GET"); + Endpoints[1488] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerRegistry/registries", "GET"); + Endpoints[1489] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/containerServices", "GET"); + Endpoints[1490] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters", "GET"); + Endpoints[1491] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.CustomerInsights/hubs", "GET"); + Endpoints[1492] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataBox/jobs", "GET"); + Endpoints[1493] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Databricks/workspaces", "GET"); + Endpoints[1494] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataCatalog/catalogs", "GET"); + Endpoints[1495] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataFactory/factories", "GET"); + Endpoints[1496] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataLakeAnalytics/accounts", "GET"); + Endpoints[1497] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataLakeStore/accounts", "GET"); + Endpoints[1498] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBforMySQL/servers", "GET"); + Endpoints[1499] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBforPostgreSQL/servers", "GET"); + Endpoints[1500] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Devices/IotHubs", "GET"); + Endpoints[1501] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Devices/provisioningServices", "GET"); + Endpoints[1502] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DevTestLab/labs", "GET"); + Endpoints[1503] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DevTestLab/schedules", "GET"); + Endpoints[1504] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts", "GET"); + Endpoints[1505] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DomainRegistration/domains", "GET"); + Endpoints[1506] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.EventGrid/eventSubscriptions", "GET"); + Endpoints[1507] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.EventGrid/topics", "GET"); + Endpoints[1508] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.EventHub/clusters", "GET"); + Endpoints[1509] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.EventHub/namespaces", "GET"); + Endpoints[1510] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Fabric.Admin/fabricLocations", "PUT"); + Endpoints[1511] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Fabric.Admin/fabricLocations", "GET"); + Endpoints[1512] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.HanaOnAzure/hanaInstances", "GET"); + Endpoints[1513] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.HDInsight/clusters", "GET"); + Endpoints[1514] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ImportExport/jobs", "GET"); + Endpoints[1515] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.InfrastructureInsights.Admin/regionHealths", "GET"); + Endpoints[1516] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/microsoft.insights/actionGroups", "GET"); + Endpoints[1517] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/microsoft.insights/activityLogAlerts", "GET"); + Endpoints[1518] = CreateEndpoint("/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/microsoft.insights/alertrules", "GET"); + Endpoints[1519] = CreateEndpoint("/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/microsoft.insights/autoscalesettings", "GET"); + Endpoints[1520] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Insights/components", "GET"); + Endpoints[1521] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Insights/metricAlerts", "GET"); + Endpoints[1522] = CreateEndpoint("/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/microsoft.insights/scheduledQueryRules", "GET"); + Endpoints[1523] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Insights/webtests", "GET"); + Endpoints[1524] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.IoTCentral/IoTApps", "GET"); + Endpoints[1525] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.IoTSpaces/Graph", "GET"); + Endpoints[1526] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.KeyVault/vaults", "GET"); + Endpoints[1527] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Logic/integrationAccounts", "GET"); + Endpoints[1528] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Logic/workflows", "GET"); + Endpoints[1529] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.MachineLearning/commitmentPlans", "GET"); + Endpoints[1530] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.MachineLearning/webServices", "GET"); + Endpoints[1531] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.MachineLearning/workspaces", "GET"); + Endpoints[1532] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.MachineLearningCompute/operationalizationClusters", "GET"); + Endpoints[1533] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.MachineLearningExperimentation/accounts", "GET"); + Endpoints[1534] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.MachineLearningServices/workspaces", "GET"); + Endpoints[1535] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ManagedIdentity/userAssignedIdentities", "GET"); + Endpoints[1536] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Maps/accounts", "GET"); + Endpoints[1537] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Media/mediaservices", "GET"); + Endpoints[1538] = CreateEndpoint("/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.Migrate/projects", "GET"); + Endpoints[1539] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/applicationGateways", "GET"); + Endpoints[1540] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/applicationSecurityGroups", "GET"); + Endpoints[1541] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/connections", "GET"); + Endpoints[1542] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/ddosProtectionPlans", "GET"); + Endpoints[1543] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/dnsZones", "GET"); + Endpoints[1544] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/expressRouteCircuits", "GET"); + Endpoints[1545] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/expressRouteCrossConnections", "GET"); + Endpoints[1546] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/loadBalancers", "GET"); + Endpoints[1547] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/localNetworkGateways", "GET"); + Endpoints[1548] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkInterfaces", "GET"); + Endpoints[1549] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkSecurityGroups", "GET"); + Endpoints[1550] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkWatchers", "GET"); + Endpoints[1551] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/publicIPAddresses", "GET"); + Endpoints[1552] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/routeFilters", "GET"); + Endpoints[1553] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/routeTables", "GET"); + Endpoints[1554] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/trafficmanagerprofiles", "GET"); + Endpoints[1555] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworkGateways", "GET"); + Endpoints[1556] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworks", "GET"); + Endpoints[1557] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.NotificationHubs/namespaces", "GET"); + Endpoints[1558] = CreateEndpoint("/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.OperationalInsights/workspaces", "GET"); + Endpoints[1559] = CreateEndpoint("/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.OperationsManagement/solutions", "GET"); + Endpoints[1560] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.PowerBI/workspaceCollections", "GET"); + Endpoints[1561] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.PowerBIDedicated/capacities", "GET"); + Endpoints[1562] = CreateEndpoint("/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/operations", "GET"); + Endpoints[1563] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults", "GET"); + Endpoints[1564] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Relay/namespaces", "GET"); + Endpoints[1565] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ResourceHealth/availabilityStatuses", "GET"); + Endpoints[1566] = CreateEndpoint("/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.Resources/deployments/", "GET"); + Endpoints[1567] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Scheduler/jobCollections", "GET"); + Endpoints[1568] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Search/searchServices", "GET"); + Endpoints[1569] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Security/alerts", "GET"); + Endpoints[1570] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Security/jitNetworkAccessPolicies", "GET"); + Endpoints[1571] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Security/pricings", "GET"); + Endpoints[1572] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Security/securityContacts", "GET"); + Endpoints[1573] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Security/workspaceSettings", "GET"); + Endpoints[1574] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ServerManagement/gateways", "GET"); + Endpoints[1575] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ServerManagement/nodes", "GET"); + Endpoints[1576] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ServiceBus/namespaces", "GET"); + Endpoints[1577] = CreateEndpoint("/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.ServiceFabric/clusters", "GET"); + Endpoints[1578] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.SignalRService/SignalR", "GET"); + Endpoints[1579] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Solutions/applianceDefinitions", "GET"); + Endpoints[1580] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Solutions/appliances", "GET"); + Endpoints[1581] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Solutions/applicationDefinitions", "GET"); + Endpoints[1582] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Solutions/applications", "GET"); + Endpoints[1583] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/managedInstances", "GET"); + Endpoints[1584] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers", "GET"); + Endpoints[1585] = CreateEndpoint("/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.Storage.Admin/farms", "GET"); + Endpoints[1586] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Storage/storageAccounts", "GET"); + Endpoints[1587] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.StorSimple/managers", "GET"); + Endpoints[1588] = CreateEndpoint("/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.StreamAnalytics/streamingjobs", "GET"); + Endpoints[1589] = CreateEndpoint("/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.Subscriptions.Admin/directoryTenants", "GET"); + Endpoints[1590] = CreateEndpoint("/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.Subscriptions.Admin/offers", "GET"); + Endpoints[1591] = CreateEndpoint("/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.Subscriptions.Admin/plans", "GET"); + Endpoints[1592] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.TimeSeriesInsights/environments", "GET"); + Endpoints[1593] = CreateEndpoint("/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.Update.Admin/updateLocations/", "GET"); + Endpoints[1594] = CreateEndpoint("/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/microsoft.visualstudio/account", "GET"); + Endpoints[1595] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/certificates", "GET"); + Endpoints[1596] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/classicMobileServices", "GET"); + Endpoints[1597] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/connectionGateways", "GET"); + Endpoints[1598] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/connections", "GET"); + Endpoints[1599] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/csrs", "GET"); + Endpoints[1600] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/customApis", "GET"); + Endpoints[1601] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/deletedSites", "GET"); + Endpoints[1602] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/hostingEnvironments", "GET"); + Endpoints[1603] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/managedHostingEnvironments", "GET"); + Endpoints[1604] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/resourceHealthMetadata", "GET"); + Endpoints[1605] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/serverfarms", "GET"); + Endpoints[1606] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites", "GET"); + Endpoints[1607] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/validate", "POST"); + Endpoints[1608] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.BotService/BotServices/listServiceProviders", "POST"); + Endpoints[1609] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroup/{resourceGroupName}/providers/microsoft.insights/workbooks/{resourceName}", "DELETE"); + Endpoints[1610] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroup/{resourceGroupName}/providers/microsoft.insights/workbooks/{resourceName}", "PATCH"); + Endpoints[1611] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroup/{resourceGroupName}/providers/microsoft.insights/workbooks/{resourceName}", "PUT"); + Endpoints[1612] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroup/{resourceGroupName}/providers/microsoft.insights/workbooks/{resourceName}", "GET"); + Endpoints[1613] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{groupName}/providers/Microsoft.DataMigration/services/{serviceName}", "GET"); + Endpoints[1614] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{groupName}/providers/Microsoft.DataMigration/services/{serviceName}", "PATCH"); + Endpoints[1615] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{groupName}/providers/Microsoft.DataMigration/services/{serviceName}", "PARAMETERS"); + Endpoints[1616] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{groupName}/providers/Microsoft.DataMigration/services/{serviceName}", "PUT"); + Endpoints[1617] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{groupName}/providers/Microsoft.DataMigration/services/{serviceName}", "DELETE"); + Endpoints[1618] = CreateEndpoint("/subscriptions/{subscriptionId}/resourcegroups/{resourceGroup}/providers/Microsoft.AzureBridge.Admin/activations/{activationName}", "DELETE"); + Endpoints[1619] = CreateEndpoint("/subscriptions/{subscriptionId}/resourcegroups/{resourceGroup}/providers/Microsoft.AzureBridge.Admin/activations/{activationName}", "PUT"); + Endpoints[1620] = CreateEndpoint("/subscriptions/{subscriptionId}/resourcegroups/{resourceGroup}/providers/Microsoft.AzureBridge.Admin/activations/{activationName}", "GET"); + Endpoints[1621] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroup}/providers/Microsoft.AzureStack/registrations/{registrationName}", "DELETE"); + Endpoints[1622] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroup}/providers/Microsoft.AzureStack/registrations/{registrationName}", "PUT"); + Endpoints[1623] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroup}/providers/Microsoft.AzureStack/registrations/{registrationName}", "GET"); + Endpoints[1624] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AAD/domainServices/{domainServiceName}", "GET"); + Endpoints[1625] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AAD/domainServices/{domainServiceName}", "DELETE"); + Endpoints[1626] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AAD/domainServices/{domainServiceName}", "PUT"); + Endpoints[1627] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AAD/domainServices/{domainServiceName}", "PATCH"); + Endpoints[1628] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AnalysisServices/servers/{serverName}", "PATCH"); + Endpoints[1629] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AnalysisServices/servers/{serverName}", "GET"); + Endpoints[1630] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AnalysisServices/servers/{serverName}", "PUT"); + Endpoints[1631] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AnalysisServices/servers/{serverName}", "DELETE"); + Endpoints[1632] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}", "DELETE"); + Endpoints[1633] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}", "PUT"); + Endpoints[1634] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}", "GET"); + Endpoints[1635] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}", "PATCH"); + Endpoints[1636] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Authorization/locks/{lockName}", "DELETE"); + Endpoints[1637] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Authorization/locks/{lockName}", "PUT"); + Endpoints[1638] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Authorization/locks/{lockName}", "GET"); + Endpoints[1639] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Automation/automationAccounts/{automationAccountName}", "PATCH"); + Endpoints[1640] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Automation/automationAccounts/{automationAccountName}", "DELETE"); + Endpoints[1641] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Automation/automationAccounts/{automationAccountName}", "PUT"); + Endpoints[1642] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Automation/automationAccounts/{automationAccountName}", "GET"); + Endpoints[1643] = CreateEndpoint("/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.Backup.Admin/backupLocations/{location}", "GET"); + Endpoints[1644] = CreateEndpoint("/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.Backup.Admin/backupLocations/{location}", "PUT"); + Endpoints[1645] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Batch/batchAccounts/{accountName}", "GET"); + Endpoints[1646] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Batch/batchAccounts/{accountName}", "DELETE"); + Endpoints[1647] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Batch/batchAccounts/{accountName}", "PATCH"); + Endpoints[1648] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Batch/batchAccounts/{accountName}", "PUT"); + Endpoints[1649] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.BatchAI/clusters/{clusterName}", "GET"); + Endpoints[1650] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.BatchAI/clusters/{clusterName}", "DELETE"); + Endpoints[1651] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.BatchAI/clusters/{clusterName}", "PATCH"); + Endpoints[1652] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.BatchAI/clusters/{clusterName}", "PUT"); + Endpoints[1653] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.BatchAI/fileServers/{fileServerName}", "DELETE"); + Endpoints[1654] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.BatchAI/fileServers/{fileServerName}", "PUT"); + Endpoints[1655] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.BatchAI/fileServers/{fileServerName}", "GET"); + Endpoints[1656] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.BatchAI/jobs/{jobName}", "GET"); + Endpoints[1657] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.BatchAI/jobs/{jobName}", "PUT"); + Endpoints[1658] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.BatchAI/jobs/{jobName}", "DELETE"); + Endpoints[1659] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.BatchAI/workspaces/{workspaceName}", "PUT"); + Endpoints[1660] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.BatchAI/workspaces/{workspaceName}", "DELETE"); + Endpoints[1661] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.BatchAI/workspaces/{workspaceName}", "GET"); + Endpoints[1662] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.BotService/botServices/{resourceName}", "GET"); + Endpoints[1663] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.BotService/botServices/{resourceName}", "PATCH"); + Endpoints[1664] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.BotService/botServices/{resourceName}", "PUT"); + Endpoints[1665] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.BotService/botServices/{resourceName}", "DELETE"); + Endpoints[1666] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Cache/Redis/{name}", "DELETE"); + Endpoints[1667] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Cache/Redis/{name}", "PUT"); + Endpoints[1668] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Cache/Redis/{name}", "GET"); + Endpoints[1669] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Cache/Redis/{name}", "PATCH"); + Endpoints[1670] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Cdn/profiles/{profileName}", "DELETE"); + Endpoints[1671] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Cdn/profiles/{profileName}", "GET"); + Endpoints[1672] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Cdn/profiles/{profileName}", "PUT"); + Endpoints[1673] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Cdn/profiles/{profileName}", "PATCH"); + Endpoints[1674] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.CertificateRegistration/certificateOrders/{name}", "PATCH"); + Endpoints[1675] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.CertificateRegistration/certificateOrders/{name}", "DELETE"); + Endpoints[1676] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.CertificateRegistration/certificateOrders/{name}", "PUT"); + Endpoints[1677] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.CertificateRegistration/certificateOrders/{name}", "GET"); + Endpoints[1678] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.CognitiveServices/accounts/{accountName}", "PATCH"); + Endpoints[1679] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.CognitiveServices/accounts/{accountName}", "GET"); + Endpoints[1680] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.CognitiveServices/accounts/{accountName}", "DELETE"); + Endpoints[1681] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.CognitiveServices/accounts/{accountName}", "PUT"); + Endpoints[1682] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/availabilitySets/{availabilitySetName}", "GET"); + Endpoints[1683] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/availabilitySets/{availabilitySetName}", "DELETE"); + Endpoints[1684] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/availabilitySets/{availabilitySetName}", "PATCH"); + Endpoints[1685] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/availabilitySets/{availabilitySetName}", "PUT"); + Endpoints[1686] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/disks/{diskName}", "PATCH"); + Endpoints[1687] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/disks/{diskName}", "PUT"); + Endpoints[1688] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/disks/{diskName}", "GET"); + Endpoints[1689] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/disks/{diskName}", "DELETE"); + Endpoints[1690] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/galleries/{galleryName}", "PUT"); + Endpoints[1691] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/galleries/{galleryName}", "GET"); + Endpoints[1692] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/galleries/{galleryName}", "DELETE"); + Endpoints[1693] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/images/{imageName}", "GET"); + Endpoints[1694] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/images/{imageName}", "DELETE"); + Endpoints[1695] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/images/{imageName}", "PATCH"); + Endpoints[1696] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/images/{imageName}", "PUT"); + Endpoints[1697] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/snapshots/{snapshotName}", "DELETE"); + Endpoints[1698] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/snapshots/{snapshotName}", "GET"); + Endpoints[1699] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/snapshots/{snapshotName}", "PUT"); + Endpoints[1700] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/snapshots/{snapshotName}", "PATCH"); + Endpoints[1701] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/virtualMachines/{vmName}", "PATCH"); + Endpoints[1702] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/virtualMachines/{vmName}", "GET"); + Endpoints[1703] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/virtualMachines/{vmName}", "DELETE"); + Endpoints[1704] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/virtualMachines/{vmName}", "PUT"); + Endpoints[1705] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/virtualMachineScaleSets/{vmScaleSetName}", "GET"); + Endpoints[1706] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/virtualMachineScaleSets/{vmScaleSetName}", "DELETE"); + Endpoints[1707] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/virtualMachineScaleSets/{vmScaleSetName}", "PATCH"); + Endpoints[1708] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/virtualMachineScaleSets/{vmScaleSetName}", "PUT"); + Endpoints[1709] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Consumption/budgets/{budgetName}", "GET"); + Endpoints[1710] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Consumption/budgets/{budgetName}", "PUT"); + Endpoints[1711] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Consumption/budgets/{budgetName}", "DELETE"); + Endpoints[1712] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerInstance/containerGroups/{containerGroupName}", "GET"); + Endpoints[1713] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerInstance/containerGroups/{containerGroupName}", "PATCH"); + Endpoints[1714] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerInstance/containerGroups/{containerGroupName}", "PUT"); + Endpoints[1715] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerInstance/containerGroups/{containerGroupName}", "DELETE"); + Endpoints[1716] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerRegistry/registries/{registryName}", "GET"); + Endpoints[1717] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerRegistry/registries/{registryName}", "PUT"); + Endpoints[1718] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerRegistry/registries/{registryName}", "DELETE"); + Endpoints[1719] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerRegistry/registries/{registryName}", "PATCH"); + Endpoints[1720] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/containerServices/{containerServiceName}", "GET"); + Endpoints[1721] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/containerServices/{containerServiceName}", "DELETE"); + Endpoints[1722] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/containerServices/{containerServiceName}", "PUT"); + Endpoints[1723] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}", "PUT"); + Endpoints[1724] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}", "GET"); + Endpoints[1725] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}", "DELETE"); + Endpoints[1726] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.CustomerInsights/hubs/{hubName}", "PUT"); + Endpoints[1727] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.CustomerInsights/hubs/{hubName}", "PATCH"); + Endpoints[1728] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.CustomerInsights/hubs/{hubName}", "DELETE"); + Endpoints[1729] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.CustomerInsights/hubs/{hubName}", "GET"); + Endpoints[1730] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataBox/jobs/{jobName}", "GET"); + Endpoints[1731] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataBox/jobs/{jobName}", "PUT"); + Endpoints[1732] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataBox/jobs/{jobName}", "DELETE"); + Endpoints[1733] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataBox/jobs/{jobName}", "PATCH"); + Endpoints[1734] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Databricks/workspaces/{workspaceName}", "PUT"); + Endpoints[1735] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Databricks/workspaces/{workspaceName}", "DELETE"); + Endpoints[1736] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Databricks/workspaces/{workspaceName}", "GET"); + Endpoints[1737] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Databricks/workspaces/{workspaceName}", "PATCH"); + Endpoints[1738] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataCatalog/catalogs/{catalogName}", "PATCH"); + Endpoints[1739] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataCatalog/catalogs/{catalogName}", "GET"); + Endpoints[1740] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataCatalog/catalogs/{catalogName}", "DELETE"); + Endpoints[1741] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataCatalog/catalogs/{catalogName}", "PUT"); + Endpoints[1742] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataFactory/factories/{factoryName}", "PUT"); + Endpoints[1743] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataFactory/factories/{factoryName}", "PATCH"); + Endpoints[1744] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataFactory/factories/{factoryName}", "GET"); + Endpoints[1745] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataFactory/factories/{factoryName}", "DELETE"); + Endpoints[1746] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataLakeAnalytics/accounts/{accountName}", "PATCH"); + Endpoints[1747] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataLakeAnalytics/accounts/{accountName}", "GET"); + Endpoints[1748] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataLakeAnalytics/accounts/{accountName}", "DELETE"); + Endpoints[1749] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataLakeAnalytics/accounts/{accountName}", "PUT"); + Endpoints[1750] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataLakeStore/accounts/{accountName}", "PUT"); + Endpoints[1751] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataLakeStore/accounts/{accountName}", "DELETE"); + Endpoints[1752] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataLakeStore/accounts/{accountName}", "PATCH"); + Endpoints[1753] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataLakeStore/accounts/{accountName}", "GET"); + Endpoints[1754] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBforMySQL/servers/{serverName}", "DELETE"); + Endpoints[1755] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBforMySQL/servers/{serverName}", "PATCH"); + Endpoints[1756] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBforMySQL/servers/{serverName}", "GET"); + Endpoints[1757] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBforMySQL/servers/{serverName}", "PUT"); + Endpoints[1758] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBforPostgreSQL/servers/{serverName}", "GET"); + Endpoints[1759] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBforPostgreSQL/servers/{serverName}", "PUT"); + Endpoints[1760] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBforPostgreSQL/servers/{serverName}", "DELETE"); + Endpoints[1761] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBforPostgreSQL/servers/{serverName}", "PATCH"); + Endpoints[1762] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Devices/IotHubs/{resourceName}", "PUT"); + Endpoints[1763] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Devices/IotHubs/{resourceName}", "DELETE"); + Endpoints[1764] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Devices/IotHubs/{resourceName}", "PATCH"); + Endpoints[1765] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Devices/IotHubs/{resourceName}", "GET"); + Endpoints[1766] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Devices/provisioningServices/{provisioningServiceName}", "PATCH"); + Endpoints[1767] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Devices/provisioningServices/{provisioningServiceName}", "GET"); + Endpoints[1768] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Devices/provisioningServices/{provisioningServiceName}", "DELETE"); + Endpoints[1769] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Devices/provisioningServices/{provisioningServiceName}", "PUT"); + Endpoints[1770] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DevTestLab/labs/{name}", "PUT"); + Endpoints[1771] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DevTestLab/labs/{name}", "GET"); + Endpoints[1772] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DevTestLab/labs/{name}", "PATCH"); + Endpoints[1773] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DevTestLab/labs/{name}", "DELETE"); + Endpoints[1774] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DevTestLab/schedules/{name}", "GET"); + Endpoints[1775] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DevTestLab/schedules/{name}", "PUT"); + Endpoints[1776] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DevTestLab/schedules/{name}", "DELETE"); + Endpoints[1777] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DevTestLab/schedules/{name}", "PATCH"); + Endpoints[1778] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}", "DELETE"); + Endpoints[1779] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}", "PUT"); + Endpoints[1780] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}", "GET"); + Endpoints[1781] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}", "PATCH"); + Endpoints[1782] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DomainRegistration/domains/{domainName}", "GET"); + Endpoints[1783] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DomainRegistration/domains/{domainName}", "DELETE"); + Endpoints[1784] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DomainRegistration/domains/{domainName}", "PATCH"); + Endpoints[1785] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DomainRegistration/domains/{domainName}", "PUT"); + Endpoints[1786] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.EventGrid/topics/{topicName}", "PATCH"); + Endpoints[1787] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.EventGrid/topics/{topicName}", "DELETE"); + Endpoints[1788] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.EventGrid/topics/{topicName}", "PUT"); + Endpoints[1789] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.EventGrid/topics/{topicName}", "GET"); + Endpoints[1790] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.EventHub/clusters/{clusterName}", "GET"); + Endpoints[1791] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.EventHub/clusters/{clusterName}", "PATCH"); + Endpoints[1792] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.EventHub/namespaces/{namespaceName}", "GET"); + Endpoints[1793] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.EventHub/namespaces/{namespaceName}", "DELETE"); + Endpoints[1794] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.EventHub/namespaces/{namespaceName}", "PUT"); + Endpoints[1795] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.EventHub/namespaces/{namespaceName}", "PATCH"); + Endpoints[1796] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Fabric.Admin/fabricLocations/{fabricLocation}", "GET"); + Endpoints[1797] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.HanaOnAzure/hanaInstances/{hanaInstanceName}", "GET"); + Endpoints[1798] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.HDInsight/clusters/{clusterName}", "PUT"); + Endpoints[1799] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.HDInsight/clusters/{clusterName}", "PATCH"); + Endpoints[1800] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.HDInsight/clusters/{clusterName}", "DELETE"); + Endpoints[1801] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.HDInsight/clusters/{clusterName}", "GET"); + Endpoints[1802] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ImportExport/jobs/{jobName}", "PATCH"); + Endpoints[1803] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ImportExport/jobs/{jobName}", "PUT"); + Endpoints[1804] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ImportExport/jobs/{jobName}", "DELETE"); + Endpoints[1805] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ImportExport/jobs/{jobName}", "GET"); + Endpoints[1806] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.InfrastructureInsights.Admin/regionHealths/{location}", "GET"); + Endpoints[1807] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/microsoft.insights/actionGroups/{actionGroupName}", "PUT"); + Endpoints[1808] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/microsoft.insights/actionGroups/{actionGroupName}", "GET"); + Endpoints[1809] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/microsoft.insights/actionGroups/{actionGroupName}", "DELETE"); + Endpoints[1810] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/microsoft.insights/actionGroups/{actionGroupName}", "PATCH"); + Endpoints[1811] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/microsoft.insights/activityLogAlerts/{activityLogAlertName}", "DELETE"); + Endpoints[1812] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/microsoft.insights/activityLogAlerts/{activityLogAlertName}", "PATCH"); + Endpoints[1813] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/microsoft.insights/activityLogAlerts/{activityLogAlertName}", "GET"); + Endpoints[1814] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/microsoft.insights/activityLogAlerts/{activityLogAlertName}", "PUT"); + Endpoints[1815] = CreateEndpoint("/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/microsoft.insights/alertrules/{ruleName}", "PUT"); + Endpoints[1816] = CreateEndpoint("/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/microsoft.insights/alertrules/{ruleName}", "DELETE"); + Endpoints[1817] = CreateEndpoint("/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/microsoft.insights/alertrules/{ruleName}", "PATCH"); + Endpoints[1818] = CreateEndpoint("/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/microsoft.insights/alertrules/{ruleName}", "GET"); + Endpoints[1819] = CreateEndpoint("/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/microsoft.insights/autoscalesettings/{autoscaleSettingName}", "PATCH"); + Endpoints[1820] = CreateEndpoint("/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/microsoft.insights/autoscalesettings/{autoscaleSettingName}", "DELETE"); + Endpoints[1821] = CreateEndpoint("/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/microsoft.insights/autoscalesettings/{autoscaleSettingName}", "PUT"); + Endpoints[1822] = CreateEndpoint("/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/microsoft.insights/autoscalesettings/{autoscaleSettingName}", "GET"); + Endpoints[1823] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Insights/components/{resourceName}", "GET"); + Endpoints[1824] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Insights/components/{resourceName}", "PATCH"); + Endpoints[1825] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Insights/components/{resourceName}", "PUT"); + Endpoints[1826] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Insights/components/{resourceName}", "DELETE"); + Endpoints[1827] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Insights/metricAlerts/{ruleName}", "DELETE"); + Endpoints[1828] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Insights/metricAlerts/{ruleName}", "PATCH"); + Endpoints[1829] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Insights/metricAlerts/{ruleName}", "PUT"); + Endpoints[1830] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Insights/metricAlerts/{ruleName}", "GET"); + Endpoints[1831] = CreateEndpoint("/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/microsoft.insights/scheduledQueryRules/{ruleName}", "GET"); + Endpoints[1832] = CreateEndpoint("/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/microsoft.insights/scheduledQueryRules/{ruleName}", "DELETE"); + Endpoints[1833] = CreateEndpoint("/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/microsoft.insights/scheduledQueryRules/{ruleName}", "PUT"); + Endpoints[1834] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Insights/webtests/{webTestName}", "GET"); + Endpoints[1835] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Insights/webtests/{webTestName}", "DELETE"); + Endpoints[1836] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Insights/webtests/{webTestName}", "PATCH"); + Endpoints[1837] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Insights/webtests/{webTestName}", "PUT"); + Endpoints[1838] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.IoTCentral/IoTApps/{resourceName}", "GET"); + Endpoints[1839] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.IoTCentral/IoTApps/{resourceName}", "PUT"); + Endpoints[1840] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.IoTCentral/IoTApps/{resourceName}", "PATCH"); + Endpoints[1841] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.IoTCentral/IoTApps/{resourceName}", "DELETE"); + Endpoints[1842] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.IoTSpaces/Graph/{resourceName}", "DELETE"); + Endpoints[1843] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.IoTSpaces/Graph/{resourceName}", "GET"); + Endpoints[1844] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.IoTSpaces/Graph/{resourceName}", "PUT"); + Endpoints[1845] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.IoTSpaces/Graph/{resourceName}", "PATCH"); + Endpoints[1846] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.KeyVault/vaults/{vaultName}", "GET"); + Endpoints[1847] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.KeyVault/vaults/{vaultName}", "DELETE"); + Endpoints[1848] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.KeyVault/vaults/{vaultName}", "PATCH"); + Endpoints[1849] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.KeyVault/vaults/{vaultName}", "PUT"); + Endpoints[1850] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Logic/integrationAccounts/{integrationAccountName}", "PATCH"); + Endpoints[1851] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Logic/integrationAccounts/{integrationAccountName}", "DELETE"); + Endpoints[1852] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Logic/integrationAccounts/{integrationAccountName}", "PUT"); + Endpoints[1853] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Logic/integrationAccounts/{integrationAccountName}", "GET"); + Endpoints[1854] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Logic/workflows/{workflowName}", "PUT"); + Endpoints[1855] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Logic/workflows/{workflowName}", "GET"); + Endpoints[1856] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Logic/workflows/{workflowName}", "DELETE"); + Endpoints[1857] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Logic/workflows/{workflowName}", "PATCH"); + Endpoints[1858] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.MachineLearning/commitmentPlans/{commitmentPlanName}", "PATCH"); + Endpoints[1859] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.MachineLearning/commitmentPlans/{commitmentPlanName}", "GET"); + Endpoints[1860] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.MachineLearning/commitmentPlans/{commitmentPlanName}", "DELETE"); + Endpoints[1861] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.MachineLearning/commitmentPlans/{commitmentPlanName}", "PARAMETERS"); + Endpoints[1862] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.MachineLearning/commitmentPlans/{commitmentPlanName}", "PUT"); + Endpoints[1863] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.MachineLearning/webServices/{webServiceName}", "PUT"); + Endpoints[1864] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.MachineLearning/webServices/{webServiceName}", "GET"); + Endpoints[1865] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.MachineLearning/webServices/{webServiceName}", "PATCH"); + Endpoints[1866] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.MachineLearning/webServices/{webServiceName}", "DELETE"); + Endpoints[1867] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.MachineLearning/workspaces/{workspaceName}", "DELETE"); + Endpoints[1868] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.MachineLearning/workspaces/{workspaceName}", "PUT"); + Endpoints[1869] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.MachineLearning/workspaces/{workspaceName}", "GET"); + Endpoints[1870] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.MachineLearning/workspaces/{workspaceName}", "PATCH"); + Endpoints[1871] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.MachineLearningCompute/operationalizationClusters/{clusterName}", "PUT"); + Endpoints[1872] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.MachineLearningCompute/operationalizationClusters/{clusterName}", "GET"); + Endpoints[1873] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.MachineLearningCompute/operationalizationClusters/{clusterName}", "PATCH"); + Endpoints[1874] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.MachineLearningCompute/operationalizationClusters/{clusterName}", "DELETE"); + Endpoints[1875] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.MachineLearningExperimentation/accounts/{accountName}", "DELETE"); + Endpoints[1876] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.MachineLearningExperimentation/accounts/{accountName}", "GET"); + Endpoints[1877] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.MachineLearningExperimentation/accounts/{accountName}", "PUT"); + Endpoints[1878] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.MachineLearningExperimentation/accounts/{accountName}", "PATCH"); + Endpoints[1879] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.MachineLearningServices/workspaces/{workspaceName}", "GET"); + Endpoints[1880] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.MachineLearningServices/workspaces/{workspaceName}", "PUT"); + Endpoints[1881] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.MachineLearningServices/workspaces/{workspaceName}", "DELETE"); + Endpoints[1882] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.MachineLearningServices/workspaces/{workspaceName}", "PATCH"); + Endpoints[1883] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ManagedIdentity/userAssignedIdentities/{resourceName}", "PUT"); + Endpoints[1884] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ManagedIdentity/userAssignedIdentities/{resourceName}", "PATCH"); + Endpoints[1885] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ManagedIdentity/userAssignedIdentities/{resourceName}", "GET"); + Endpoints[1886] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ManagedIdentity/userAssignedIdentities/{resourceName}", "DELETE"); + Endpoints[1887] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Maps/accounts/{accountName}", "DELETE"); + Endpoints[1888] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Maps/accounts/{accountName}", "GET"); + Endpoints[1889] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Maps/accounts/{accountName}", "PUT"); + Endpoints[1890] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Maps/accounts/{accountName}", "PATCH"); + Endpoints[1891] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Media/mediaservices/{mediaServiceName}", "GET"); + Endpoints[1892] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Media/mediaservices/{mediaServiceName}", "PUT"); + Endpoints[1893] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Media/mediaservices/{mediaServiceName}", "DELETE"); + Endpoints[1894] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Media/mediaservices/{mediaServiceName}", "PATCH"); + Endpoints[1895] = CreateEndpoint("/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.Migrate/projects/{projectName}", "GET"); + Endpoints[1896] = CreateEndpoint("/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.Migrate/projects/{projectName}", "PUT"); + Endpoints[1897] = CreateEndpoint("/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.Migrate/projects/{projectName}", "PATCH"); + Endpoints[1898] = CreateEndpoint("/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.Migrate/projects/{projectName}", "DELETE"); + Endpoints[1899] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/applicationGateways/{applicationGatewayName}", "DELETE"); + Endpoints[1900] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/applicationGateways/{applicationGatewayName}", "GET"); + Endpoints[1901] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/applicationGateways/{applicationGatewayName}", "PUT"); + Endpoints[1902] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/applicationGateways/{applicationGatewayName}", "PATCH"); + Endpoints[1903] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/applicationSecurityGroups/{applicationSecurityGroupName}", "GET"); + Endpoints[1904] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/applicationSecurityGroups/{applicationSecurityGroupName}", "PUT"); + Endpoints[1905] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/applicationSecurityGroups/{applicationSecurityGroupName}", "DELETE"); + Endpoints[1906] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/connections/{virtualNetworkGatewayConnectionName}", "PATCH"); + Endpoints[1907] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/connections/{virtualNetworkGatewayConnectionName}", "DELETE"); + Endpoints[1908] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/connections/{virtualNetworkGatewayConnectionName}", "PUT"); + Endpoints[1909] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/connections/{virtualNetworkGatewayConnectionName}", "GET"); + Endpoints[1910] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/ddosProtectionPlans/{ddosProtectionPlanName}", "PUT"); + Endpoints[1911] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/ddosProtectionPlans/{ddosProtectionPlanName}", "GET"); + Endpoints[1912] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/ddosProtectionPlans/{ddosProtectionPlanName}", "DELETE"); + Endpoints[1913] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/dnsZones/{zoneName}", "PATCH"); + Endpoints[1914] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/dnsZones/{zoneName}", "GET"); + Endpoints[1915] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/dnsZones/{zoneName}", "DELETE"); + Endpoints[1916] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/dnsZones/{zoneName}", "PUT"); + Endpoints[1917] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/expressRouteCircuits/{circuitName}", "PATCH"); + Endpoints[1918] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/expressRouteCircuits/{circuitName}", "PUT"); + Endpoints[1919] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/expressRouteCircuits/{circuitName}", "GET"); + Endpoints[1920] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/expressRouteCircuits/{circuitName}", "DELETE"); + Endpoints[1921] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/expressRouteCrossConnections/{crossConnectionName}", "GET"); + Endpoints[1922] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/expressRouteCrossConnections/{crossConnectionName}", "PATCH"); + Endpoints[1923] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/expressRouteCrossConnections/{crossConnectionName}", "PUT"); + Endpoints[1924] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/loadBalancers/{loadBalancerName}", "DELETE"); + Endpoints[1925] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/loadBalancers/{loadBalancerName}", "PUT"); + Endpoints[1926] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/loadBalancers/{loadBalancerName}", "PATCH"); + Endpoints[1927] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/loadBalancers/{loadBalancerName}", "GET"); + Endpoints[1928] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/localNetworkGateways/{localNetworkGatewayName}", "PATCH"); + Endpoints[1929] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/localNetworkGateways/{localNetworkGatewayName}", "GET"); + Endpoints[1930] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/localNetworkGateways/{localNetworkGatewayName}", "PUT"); + Endpoints[1931] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/localNetworkGateways/{localNetworkGatewayName}", "DELETE"); + Endpoints[1932] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkInterfaces/{networkInterfaceName}", "PATCH"); + Endpoints[1933] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkInterfaces/{networkInterfaceName}", "PUT"); + Endpoints[1934] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkInterfaces/{networkInterfaceName}", "GET"); + Endpoints[1935] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkInterfaces/{networkInterfaceName}", "DELETE"); + Endpoints[1936] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkSecurityGroups/{networkSecurityGroupName}", "DELETE"); + Endpoints[1937] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkSecurityGroups/{networkSecurityGroupName}", "PATCH"); + Endpoints[1938] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkSecurityGroups/{networkSecurityGroupName}", "PUT"); + Endpoints[1939] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkSecurityGroups/{networkSecurityGroupName}", "GET"); + Endpoints[1940] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkWatchers/{networkWatcherName}", "GET"); + Endpoints[1941] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkWatchers/{networkWatcherName}", "PATCH"); + Endpoints[1942] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkWatchers/{networkWatcherName}", "PUT"); + Endpoints[1943] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkWatchers/{networkWatcherName}", "DELETE"); + Endpoints[1944] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/publicIPAddresses/{publicIpAddressName}", "GET"); + Endpoints[1945] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/publicIPAddresses/{publicIpAddressName}", "PATCH"); + Endpoints[1946] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/publicIPAddresses/{publicIpAddressName}", "PUT"); + Endpoints[1947] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/publicIPAddresses/{publicIpAddressName}", "DELETE"); + Endpoints[1948] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/routeFilters/{routeFilterName}", "DELETE"); + Endpoints[1949] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/routeFilters/{routeFilterName}", "PATCH"); + Endpoints[1950] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/routeFilters/{routeFilterName}", "GET"); + Endpoints[1951] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/routeFilters/{routeFilterName}", "PUT"); + Endpoints[1952] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/routeTables/{routeTableName}", "PATCH"); + Endpoints[1953] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/routeTables/{routeTableName}", "PUT"); + Endpoints[1954] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/routeTables/{routeTableName}", "DELETE"); + Endpoints[1955] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/routeTables/{routeTableName}", "GET"); + Endpoints[1956] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/trafficmanagerprofiles/{profileName}", "PATCH"); + Endpoints[1957] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/trafficmanagerprofiles/{profileName}", "DELETE"); + Endpoints[1958] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/trafficmanagerprofiles/{profileName}", "PUT"); + Endpoints[1959] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/trafficmanagerprofiles/{profileName}", "GET"); + Endpoints[1960] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworkGateways/{virtualNetworkGatewayName}", "PUT"); + Endpoints[1961] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworkGateways/{virtualNetworkGatewayName}", "DELETE"); + Endpoints[1962] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworkGateways/{virtualNetworkGatewayName}", "PATCH"); + Endpoints[1963] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworkGateways/{virtualNetworkGatewayName}", "GET"); + Endpoints[1964] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworks/{virtualNetworkName}", "GET"); + Endpoints[1965] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworks/{virtualNetworkName}", "DELETE"); + Endpoints[1966] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworks/{virtualNetworkName}", "PUT"); + Endpoints[1967] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworks/{virtualNetworkName}", "PATCH"); + Endpoints[1968] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.NotificationHubs/namespaces/{namespaceName}", "DELETE"); + Endpoints[1969] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.NotificationHubs/namespaces/{namespaceName}", "PATCH"); + Endpoints[1970] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.NotificationHubs/namespaces/{namespaceName}", "PUT"); + Endpoints[1971] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.NotificationHubs/namespaces/{namespaceName}", "GET"); + Endpoints[1972] = CreateEndpoint("/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.OperationalInsights/workspaces/{workspaceName}", "GET"); + Endpoints[1973] = CreateEndpoint("/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.OperationalInsights/workspaces/{workspaceName}", "PATCH"); + Endpoints[1974] = CreateEndpoint("/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.OperationalInsights/workspaces/{workspaceName}", "PUT"); + Endpoints[1975] = CreateEndpoint("/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.OperationalInsights/workspaces/{workspaceName}", "DELETE"); + Endpoints[1976] = CreateEndpoint("/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.OperationsManagement/ManagementConfigurations/{managementConfigurationName}", "GET"); + Endpoints[1977] = CreateEndpoint("/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.OperationsManagement/ManagementConfigurations/{managementConfigurationName}", "DELETE"); + Endpoints[1978] = CreateEndpoint("/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.OperationsManagement/ManagementConfigurations/{managementConfigurationName}", "PUT"); + Endpoints[1979] = CreateEndpoint("/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.OperationsManagement/solutions/{solutionName}", "PUT"); + Endpoints[1980] = CreateEndpoint("/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.OperationsManagement/solutions/{solutionName}", "DELETE"); + Endpoints[1981] = CreateEndpoint("/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.OperationsManagement/solutions/{solutionName}", "GET"); + Endpoints[1982] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.PowerBI/workspaceCollections/{workspaceCollectionName}", "PUT"); + Endpoints[1983] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.PowerBI/workspaceCollections/{workspaceCollectionName}", "PATCH"); + Endpoints[1984] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.PowerBI/workspaceCollections/{workspaceCollectionName}", "DELETE"); + Endpoints[1985] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.PowerBI/workspaceCollections/{workspaceCollectionName}", "GET"); + Endpoints[1986] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.PowerBIDedicated/capacities/{dedicatedCapacityName}", "PATCH"); + Endpoints[1987] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.PowerBIDedicated/capacities/{dedicatedCapacityName}", "DELETE"); + Endpoints[1988] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.PowerBIDedicated/capacities/{dedicatedCapacityName}", "GET"); + Endpoints[1989] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.PowerBIDedicated/capacities/{dedicatedCapacityName}", "PUT"); + Endpoints[1990] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}", "GET"); + Endpoints[1991] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}", "PUT"); + Endpoints[1992] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}", "DELETE"); + Endpoints[1993] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}", "PATCH"); + Endpoints[1994] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Relay/namespaces/{namespaceName}", "PUT"); + Endpoints[1995] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Relay/namespaces/{namespaceName}", "DELETE"); + Endpoints[1996] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Relay/namespaces/{namespaceName}", "GET"); + Endpoints[1997] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Relay/namespaces/{namespaceName}", "PATCH"); + Endpoints[1998] = CreateEndpoint("/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.Resources/deployments/{deploymentName}", "GET"); + Endpoints[1999] = CreateEndpoint("/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.Resources/deployments/{deploymentName}", "DELETE"); + Endpoints[2000] = CreateEndpoint("/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.Resources/deployments/{deploymentName}", "HEAD"); + Endpoints[2001] = CreateEndpoint("/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.Resources/deployments/{deploymentName}", "PUT"); + Endpoints[2002] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Scheduler/jobCollections/{jobCollectionName}", "PATCH"); + Endpoints[2003] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Scheduler/jobCollections/{jobCollectionName}", "PUT"); + Endpoints[2004] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Scheduler/jobCollections/{jobCollectionName}", "DELETE"); + Endpoints[2005] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Scheduler/jobCollections/{jobCollectionName}", "GET"); + Endpoints[2006] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Search/searchServices/{searchServiceName}", "DELETE"); + Endpoints[2007] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Search/searchServices/{searchServiceName}", "PATCH"); + Endpoints[2008] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Search/searchServices/{searchServiceName}", "PUT"); + Endpoints[2009] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Search/searchServices/{searchServiceName}", "GET"); + Endpoints[2010] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Security/pricings/{pricingName}", "PUT"); + Endpoints[2011] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Security/pricings/{pricingName}", "GET"); + Endpoints[2012] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Security/securityContacts/{securityContactName}", "PUT"); + Endpoints[2013] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Security/securityContacts/{securityContactName}", "GET"); + Endpoints[2014] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Security/securityContacts/{securityContactName}", "PATCH"); + Endpoints[2015] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Security/securityContacts/{securityContactName}", "DELETE"); + Endpoints[2016] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Security/workspaceSettings/{workspaceSettingName}", "GET"); + Endpoints[2017] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Security/workspaceSettings/{workspaceSettingName}", "PUT"); + Endpoints[2018] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Security/workspaceSettings/{workspaceSettingName}", "DELETE"); + Endpoints[2019] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Security/workspaceSettings/{workspaceSettingName}", "PATCH"); + Endpoints[2020] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ServerManagement/gateways/{gatewayName}", "PUT"); + Endpoints[2021] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ServerManagement/gateways/{gatewayName}", "DELETE"); + Endpoints[2022] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ServerManagement/gateways/{gatewayName}", "PATCH"); + Endpoints[2023] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ServerManagement/gateways/{gatewayName}", "GET"); + Endpoints[2024] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ServerManagement/nodes/{nodeName}", "DELETE"); + Endpoints[2025] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ServerManagement/nodes/{nodeName}", "GET"); + Endpoints[2026] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ServerManagement/nodes/{nodeName}", "PATCH"); + Endpoints[2027] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ServerManagement/nodes/{nodeName}", "PUT"); + Endpoints[2028] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ServiceBus/namespaces/{namespaceName}", "GET"); + Endpoints[2029] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ServiceBus/namespaces/{namespaceName}", "PUT"); + Endpoints[2030] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ServiceBus/namespaces/{namespaceName}", "PATCH"); + Endpoints[2031] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ServiceBus/namespaces/{namespaceName}", "DELETE"); + Endpoints[2032] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ServiceFabric/clusters/{clusterName}", "GET"); + Endpoints[2033] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ServiceFabric/clusters/{clusterName}", "DELETE"); + Endpoints[2034] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ServiceFabric/clusters/{clusterName}", "PUT"); + Endpoints[2035] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ServiceFabric/clusters/{clusterName}", "PATCH"); + Endpoints[2036] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.SignalRService/SignalR/{resourceName}", "GET"); + Endpoints[2037] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.SignalRService/SignalR/{resourceName}", "DELETE"); + Endpoints[2038] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.SignalRService/SignalR/{resourceName}", "PATCH"); + Endpoints[2039] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.SignalRService/SignalR/{resourceName}", "PUT"); + Endpoints[2040] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Solutions/applianceDefinitions/{applianceDefinitionName}", "DELETE"); + Endpoints[2041] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Solutions/applianceDefinitions/{applianceDefinitionName}", "GET"); + Endpoints[2042] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Solutions/applianceDefinitions/{applianceDefinitionName}", "PUT"); + Endpoints[2043] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Solutions/appliances/{applianceName}", "GET"); + Endpoints[2044] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Solutions/appliances/{applianceName}", "DELETE"); + Endpoints[2045] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Solutions/appliances/{applianceName}", "PUT"); + Endpoints[2046] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Solutions/appliances/{applianceName}", "PATCH"); + Endpoints[2047] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Solutions/applicationDefinitions/{applicationDefinitionName}", "GET"); + Endpoints[2048] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Solutions/applicationDefinitions/{applicationDefinitionName}", "PUT"); + Endpoints[2049] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Solutions/applicationDefinitions/{applicationDefinitionName}", "DELETE"); + Endpoints[2050] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Solutions/applications/{applicationName}", "PUT"); + Endpoints[2051] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Solutions/applications/{applicationName}", "GET"); + Endpoints[2052] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Solutions/applications/{applicationName}", "PATCH"); + Endpoints[2053] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Solutions/applications/{applicationName}", "DELETE"); + Endpoints[2054] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/managedInstances/{managedInstanceName}", "GET"); + Endpoints[2055] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/managedInstances/{managedInstanceName}", "PUT"); + Endpoints[2056] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/managedInstances/{managedInstanceName}", "DELETE"); + Endpoints[2057] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/managedInstances/{managedInstanceName}", "PATCH"); + Endpoints[2058] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}", "PUT"); + Endpoints[2059] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}", "PATCH"); + Endpoints[2060] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}", "DELETE"); + Endpoints[2061] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}", "GET"); + Endpoints[2062] = CreateEndpoint("/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.Storage.Admin/farms/{farmId}", "PUT"); + Endpoints[2063] = CreateEndpoint("/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.Storage.Admin/farms/{farmId}", "GET"); + Endpoints[2064] = CreateEndpoint("/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.Storage.Admin/farms/{farmId}", "PATCH"); + Endpoints[2065] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Storage/storageAccounts/{accountName}", "PUT"); + Endpoints[2066] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Storage/storageAccounts/{accountName}", "DELETE"); + Endpoints[2067] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Storage/storageAccounts/{accountName}", "GET"); + Endpoints[2068] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Storage/storageAccounts/{accountName}", "PATCH"); + Endpoints[2069] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.StorSimple/managers/{managerName}", "GET"); + Endpoints[2070] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.StorSimple/managers/{managerName}", "PUT"); + Endpoints[2071] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.StorSimple/managers/{managerName}", "DELETE"); + Endpoints[2072] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.StorSimple/managers/{managerName}", "PATCH"); + Endpoints[2073] = CreateEndpoint("/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.StreamAnalytics/streamingjobs/{jobName}", "PUT"); + Endpoints[2074] = CreateEndpoint("/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.StreamAnalytics/streamingjobs/{jobName}", "PATCH"); + Endpoints[2075] = CreateEndpoint("/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.StreamAnalytics/streamingjobs/{jobName}", "GET"); + Endpoints[2076] = CreateEndpoint("/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.StreamAnalytics/streamingjobs/{jobName}", "DELETE"); + Endpoints[2077] = CreateEndpoint("/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.Subscriptions.Admin/directoryTenants/{tenant}", "GET"); + Endpoints[2078] = CreateEndpoint("/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.Subscriptions.Admin/directoryTenants/{tenant}", "PUT"); + Endpoints[2079] = CreateEndpoint("/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.Subscriptions.Admin/directoryTenants/{tenant}", "DELETE"); + Endpoints[2080] = CreateEndpoint("/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.Subscriptions.Admin/offers/{offer}", "GET"); + Endpoints[2081] = CreateEndpoint("/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.Subscriptions.Admin/offers/{offer}", "PUT"); + Endpoints[2082] = CreateEndpoint("/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.Subscriptions.Admin/offers/{offer}", "DELETE"); + Endpoints[2083] = CreateEndpoint("/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.Subscriptions.Admin/plans/{plan}", "DELETE"); + Endpoints[2084] = CreateEndpoint("/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.Subscriptions.Admin/plans/{plan}", "PUT"); + Endpoints[2085] = CreateEndpoint("/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.Subscriptions.Admin/plans/{plan}", "GET"); + Endpoints[2086] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.TimeSeriesInsights/environments/{environmentName}", "PUT"); + Endpoints[2087] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.TimeSeriesInsights/environments/{environmentName}", "GET"); + Endpoints[2088] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.TimeSeriesInsights/environments/{environmentName}", "PATCH"); + Endpoints[2089] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.TimeSeriesInsights/environments/{environmentName}", "DELETE"); + Endpoints[2090] = CreateEndpoint("/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.Update.Admin/updateLocations/{updateLocation}", "GET"); + Endpoints[2091] = CreateEndpoint("/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/microsoft.visualstudio/account/{resourceName}", "PUT"); + Endpoints[2092] = CreateEndpoint("/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/microsoft.visualstudio/account/{resourceName}", "DELETE"); + Endpoints[2093] = CreateEndpoint("/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/microsoft.visualstudio/account/{resourceName}", "GET"); + Endpoints[2094] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/certificates/{name}", "DELETE"); + Endpoints[2095] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/certificates/{name}", "PUT"); + Endpoints[2096] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/certificates/{name}", "GET"); + Endpoints[2097] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/certificates/{name}", "PATCH"); + Endpoints[2098] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/classicMobileServices/{name}", "DELETE"); + Endpoints[2099] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/classicMobileServices/{name}", "GET"); + Endpoints[2100] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/connectionGateways/{connectionGatewayName}", "GET"); + Endpoints[2101] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/connectionGateways/{connectionGatewayName}", "PATCH"); + Endpoints[2102] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/connectionGateways/{connectionGatewayName}", "PUT"); + Endpoints[2103] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/connectionGateways/{connectionGatewayName}", "DELETE"); + Endpoints[2104] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/connections/{connectionName}", "PUT"); + Endpoints[2105] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/connections/{connectionName}", "GET"); + Endpoints[2106] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/connections/{connectionName}", "PATCH"); + Endpoints[2107] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/connections/{connectionName}", "DELETE"); + Endpoints[2108] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/csrs/{name}", "PATCH"); + Endpoints[2109] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/csrs/{name}", "PUT"); + Endpoints[2110] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/csrs/{name}", "GET"); + Endpoints[2111] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/csrs/{name}", "DELETE"); + Endpoints[2112] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/customApis/{apiName}", "PATCH"); + Endpoints[2113] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/customApis/{apiName}", "GET"); + Endpoints[2114] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/customApis/{apiName}", "PUT"); + Endpoints[2115] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/customApis/{apiName}", "DELETE"); + Endpoints[2116] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/hostingEnvironments/{name}", "GET"); + Endpoints[2117] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/hostingEnvironments/{name}", "PATCH"); + Endpoints[2118] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/hostingEnvironments/{name}", "DELETE"); + Endpoints[2119] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/hostingEnvironments/{name}", "PUT"); + Endpoints[2120] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/managedHostingEnvironments/{name}", "PUT"); + Endpoints[2121] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/managedHostingEnvironments/{name}", "GET"); + Endpoints[2122] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/managedHostingEnvironments/{name}", "DELETE"); + Endpoints[2123] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/serverfarms/{name}", "GET"); + Endpoints[2124] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/serverfarms/{name}", "PUT"); + Endpoints[2125] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/serverfarms/{name}", "DELETE"); + Endpoints[2126] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/serverfarms/{name}", "PATCH"); + Endpoints[2127] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}", "DELETE"); + Endpoints[2128] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}", "GET"); + Endpoints[2129] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}", "PUT"); + Endpoints[2130] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}", "PATCH"); + Endpoints[2131] = CreateEndpoint("/providers/{managementGroupsNamespace}/managementGroups/{managementGroupName}/providers/Microsoft.PolicyInsights/policyEvents/{policyEventsResource}/queryResults", "POST"); + Endpoints[2132] = CreateEndpoint("/providers/{managementGroupsNamespace}/managementGroups/{managementGroupName}/providers/Microsoft.PolicyInsights/policyStates/{policyStatesResource}/queryResults", "POST"); + Endpoints[2133] = CreateEndpoint("/providers/{managementGroupsNamespace}/managementGroups/{managementGroupName}/providers/Microsoft.PolicyInsights/policyStates/{policyStatesSummaryResource}/summarize", "POST"); + Endpoints[2134] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroup/{resourceGroupName}/providers/Microsoft.MachineLearningServices/workspaces/{workspaceName}/computes", "GET"); + Endpoints[2135] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{groupName}/providers/Microsoft.DataMigration/services/{serviceName}/checkNameAvailability", "POST"); + Endpoints[2136] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{groupName}/providers/Microsoft.DataMigration/services/{serviceName}/checkStatus", "POST"); + Endpoints[2137] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{groupName}/providers/Microsoft.DataMigration/services/{serviceName}/projects", "GET"); + Endpoints[2138] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{groupName}/providers/Microsoft.DataMigration/services/{serviceName}/skus", "GET"); + Endpoints[2139] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{groupName}/providers/Microsoft.DataMigration/services/{serviceName}/start", "POST"); + Endpoints[2140] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{groupName}/providers/Microsoft.DataMigration/services/{serviceName}/stop", "POST"); + Endpoints[2141] = CreateEndpoint("/subscriptions/{subscriptionId}/resourcegroups/{resourceGroup}/providers/Microsoft.AzureBridge.Admin/activations/{activationName}/downloadedProducts", "GET"); + Endpoints[2142] = CreateEndpoint("/subscriptions/{subscriptionId}/resourcegroups/{resourceGroup}/providers/Microsoft.AzureBridge.Admin/activations/{activationName}/products", "GET"); + Endpoints[2143] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroup}/providers/Microsoft.AzureStack/registrations/{registrationName}/customerSubscriptions", "GET"); + Endpoints[2144] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroup}/providers/Microsoft.AzureStack/registrations/{registrationName}/getactivationkey", "POST"); + Endpoints[2145] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroup}/providers/Microsoft.AzureStack/registrations/{registrationName}/products", "GET"); + Endpoints[2146] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AnalysisServices/servers/{serverName}/dissociateGateway", "POST"); + Endpoints[2147] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AnalysisServices/servers/{serverName}/listGatewayStatus", "POST"); + Endpoints[2148] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AnalysisServices/servers/{serverName}/resume", "POST"); + Endpoints[2149] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AnalysisServices/servers/{serverName}/skus", "GET"); + Endpoints[2150] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AnalysisServices/servers/{serverName}/suspend", "POST"); + Endpoints[2151] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/apis", "GET"); + Endpoints[2152] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/apisByTags", "GET"); + Endpoints[2153] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/api-version-sets", "GET"); + Endpoints[2154] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/api-version-sets", "PARAMETERS"); + Endpoints[2155] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/applynetworkconfigurationupdates", "POST"); + Endpoints[2156] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/authorizationServers", "GET"); + Endpoints[2157] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/backends", "GET"); + Endpoints[2158] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/backup", "POST"); + Endpoints[2159] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/certificates", "GET"); + Endpoints[2160] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/diagnostics", "GET"); + Endpoints[2161] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/getssotoken", "GET"); + Endpoints[2162] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/getssotoken", "POST"); + Endpoints[2163] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/groups", "GET"); + Endpoints[2164] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/identityProviders", "GET"); + Endpoints[2165] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/issues", "GET"); + Endpoints[2166] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/loggers", "GET"); + Endpoints[2167] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/managedeployments", "POST"); + Endpoints[2168] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/networkstatus", "GET"); + Endpoints[2169] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/notifications", "GET"); + Endpoints[2170] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/openidConnectProviders", "GET"); + Endpoints[2171] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/policies", "GET"); + Endpoints[2172] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/policySnippets", "GET"); + Endpoints[2173] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/products", "GET"); + Endpoints[2174] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/properties", "GET"); + Endpoints[2175] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/regions", "GET"); + Endpoints[2176] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/restore", "POST"); + Endpoints[2177] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/subscriptions", "GET"); + Endpoints[2178] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/tagResources", "GET"); + Endpoints[2179] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/tags", "GET"); + Endpoints[2180] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/templates", "GET"); + Endpoints[2181] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/updatecertificate", "POST"); + Endpoints[2182] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/updatehostname", "POST"); + Endpoints[2183] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/uploadcertificate", "POST"); + Endpoints[2184] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/users", "GET"); + Endpoints[2185] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Automation/automationAccounts/{automationAccountName}/agentRegistrationInformation", "GET"); + Endpoints[2186] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Automation/automationAccounts/{automationAccountName}/certificates", "GET"); + Endpoints[2187] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Automation/automationAccounts/{automationAccountName}/compilationjobs", "GET"); + Endpoints[2188] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Automation/automationAccounts/{automationAccountName}/configurations", "GET"); + Endpoints[2189] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Automation/automationAccounts/{automationAccountName}/connections", "GET"); + Endpoints[2190] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Automation/automationAccounts/{automationAccountName}/connectionTypes", "GET"); + Endpoints[2191] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Automation/automationAccounts/{automationAccountName}/credentials", "GET"); + Endpoints[2192] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Automation/automationAccounts/{automationAccountName}/hybridRunbookWorkerGroups", "GET"); + Endpoints[2193] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Automation/automationAccounts/{automationAccountName}/jobs", "GET"); + Endpoints[2194] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Automation/automationAccounts/{automationAccountName}/jobSchedules", "GET"); + Endpoints[2195] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Automation/automationAccounts/{automationAccountName}/linkedWorkspace", "GET"); + Endpoints[2196] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Automation/automationAccounts/{automationAccountName}/listKeys", "POST"); + Endpoints[2197] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Automation/automationAccounts/{automationAccountName}/modules", "GET"); + Endpoints[2198] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Automation/automationAccounts/{automationAccountName}/nodeConfigurations", "GET"); + Endpoints[2199] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Automation/automationAccounts/{automationAccountName}/nodes", "GET"); + Endpoints[2200] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Automation/automationAccounts/{automationAccountName}/runbooks", "GET"); + Endpoints[2201] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Automation/automationAccounts/{automationAccountName}/schedules", "GET"); + Endpoints[2202] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Automation/automationAccounts/{automationAccountName}/softwareUpdateConfigurationMachineRuns", "GET"); + Endpoints[2203] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Automation/automationAccounts/{automationAccountName}/softwareUpdateConfigurationRuns", "GET"); + Endpoints[2204] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Automation/automationAccounts/{automationAccountName}/softwareUpdateConfigurations", "GET"); + Endpoints[2205] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Automation/automationAccounts/{automationAccountName}/sourceControls", "GET"); + Endpoints[2206] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Automation/automationAccounts/{automationAccountName}/statistics", "GET"); + Endpoints[2207] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Automation/automationAccounts/{automationAccountName}/usages", "GET"); + Endpoints[2208] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Automation/automationAccounts/{automationAccountName}/variables", "GET"); + Endpoints[2209] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Automation/automationAccounts/{automationAccountName}/watchers", "GET"); + Endpoints[2210] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Automation/automationAccounts/{automationAccountName}/webhooks", "GET"); + Endpoints[2211] = CreateEndpoint("/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.Backup.Admin/backupLocations/{location}/backups", "GET"); + Endpoints[2212] = CreateEndpoint("/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.Backup.Admin/backupLocations/{location}/createBackup", "POST"); + Endpoints[2213] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Batch/batchAccounts/{accountName}/applications", "GET"); + Endpoints[2214] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Batch/batchAccounts/{accountName}/certificates", "GET"); + Endpoints[2215] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Batch/batchAccounts/{accountName}/listKeys", "POST"); + Endpoints[2216] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Batch/batchAccounts/{accountName}/pools", "GET"); + Endpoints[2217] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Batch/batchAccounts/{accountName}/regenerateKeys", "POST"); + Endpoints[2218] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Batch/batchAccounts/{accountName}/syncAutoStorageKeys", "POST"); + Endpoints[2219] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.BatchAI/clusters/{clusterName}/listRemoteLoginInformation", "POST"); + Endpoints[2220] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.BatchAI/jobs/{jobName}/listOutputFiles", "POST"); + Endpoints[2221] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.BatchAI/jobs/{jobName}/listRemoteLoginInformation", "POST"); + Endpoints[2222] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.BatchAI/jobs/{jobName}/terminate", "POST"); + Endpoints[2223] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.BatchAI/workspaces/{workspaceName}/clusters", "GET"); + Endpoints[2224] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.BatchAI/workspaces/{workspaceName}/experiments", "GET"); + Endpoints[2225] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.BatchAI/workspaces/{workspaceName}/fileServers", "GET"); + Endpoints[2226] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.BotService/botServices/{resourceName}/channels", "GET"); + Endpoints[2227] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.BotService/botServices/{resourceName}/connections", "GET"); + Endpoints[2228] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Cache/Redis/{cacheName}/firewallRules", "GET"); + Endpoints[2229] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Cache/Redis/{cacheName}/patchSchedules", "GET"); + Endpoints[2230] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Cache/Redis/{name}/export", "POST"); + Endpoints[2231] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Cache/Redis/{name}/forceReboot", "POST"); + Endpoints[2232] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Cache/Redis/{name}/import", "POST"); + Endpoints[2233] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Cache/Redis/{name}/linkedServers", "GET"); + Endpoints[2234] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Cache/Redis/{name}/listKeys", "POST"); + Endpoints[2235] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Cache/Redis/{name}/listUpgradeNotifications", "GET"); + Endpoints[2236] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Cache/Redis/{name}/regenerateKey", "POST"); + Endpoints[2237] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Cdn/profiles/{profileName}/checkResourceUsage", "POST"); + Endpoints[2238] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Cdn/profiles/{profileName}/endpoints", "GET"); + Endpoints[2239] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Cdn/profiles/{profileName}/generateSsoUri", "POST"); + Endpoints[2240] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Cdn/profiles/{profileName}/getSupportedOptimizationTypes", "POST"); + Endpoints[2241] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.CertificateRegistration/certificateOrders/{certificateOrderName}/certificates", "GET"); + Endpoints[2242] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.CertificateRegistration/certificateOrders/{certificateOrderName}/resendRequestEmails", "POST"); + Endpoints[2243] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.CertificateRegistration/certificateOrders/{certificateOrderName}/retrieveSiteSeal", "POST"); + Endpoints[2244] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.CertificateRegistration/certificateOrders/{name}/reissue", "POST"); + Endpoints[2245] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.CertificateRegistration/certificateOrders/{name}/renew", "POST"); + Endpoints[2246] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.CertificateRegistration/certificateOrders/{name}/resendEmail", "POST"); + Endpoints[2247] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.CertificateRegistration/certificateOrders/{name}/retrieveCertificateActions", "POST"); + Endpoints[2248] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.CertificateRegistration/certificateOrders/{name}/retrieveEmailHistory", "POST"); + Endpoints[2249] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.CertificateRegistration/certificateOrders/{name}/verifyDomainOwnership", "POST"); + Endpoints[2250] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.CognitiveServices/accounts/{accountName}/listKeys", "POST"); + Endpoints[2251] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.CognitiveServices/accounts/{accountName}/regenerateKey", "POST"); + Endpoints[2252] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.CognitiveServices/accounts/{accountName}/skus", "GET"); + Endpoints[2253] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.CognitiveServices/accounts/{accountName}/usages", "GET"); + Endpoints[2254] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/availabilitySets/{availabilitySetName}/vmSizes", "GET"); + Endpoints[2255] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/disks/{diskName}/beginGetAccess", "POST"); + Endpoints[2256] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/disks/{diskName}/endGetAccess", "POST"); + Endpoints[2257] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/galleries/{galleryName}/images", "GET"); + Endpoints[2258] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/snapshots/{snapshotName}/beginGetAccess", "POST"); + Endpoints[2259] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/snapshots/{snapshotName}/endGetAccess", "POST"); + Endpoints[2260] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/virtualMachines/{vmName}/capture", "POST"); + Endpoints[2261] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/virtualMachines/{vmName}/convertToManagedDisks", "POST"); + Endpoints[2262] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/virtualMachines/{vmName}/deallocate", "POST"); + Endpoints[2263] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/virtualMachines/{vmName}/extensions", "GET"); + Endpoints[2264] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/virtualMachines/{vmName}/generalize", "POST"); + Endpoints[2265] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/virtualMachines/{vmName}/instanceView", "GET"); + Endpoints[2266] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/virtualMachines/{vmName}/performMaintenance", "POST"); + Endpoints[2267] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/virtualMachines/{vmName}/powerOff", "POST"); + Endpoints[2268] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/virtualMachines/{vmName}/redeploy", "POST"); + Endpoints[2269] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/virtualMachines/{vmName}/restart", "POST"); + Endpoints[2270] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/virtualMachines/{vmName}/runCommand", "POST"); + Endpoints[2271] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/virtualMachines/{vmName}/start", "POST"); + Endpoints[2272] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/virtualMachines/{vmName}/vmSizes", "GET"); + Endpoints[2273] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/microsoft.Compute/virtualMachineScaleSets/{virtualMachineScaleSetName}/networkInterfaces", "GET"); + Endpoints[2274] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/virtualMachineScaleSets/{virtualMachineScaleSetName}/publicipaddresses", "GET"); + Endpoints[2275] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/virtualMachineScaleSets/{virtualMachineScaleSetName}/virtualMachines", "GET"); + Endpoints[2276] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/virtualMachineScaleSets/{vmScaleSetName}/deallocate", "POST"); + Endpoints[2277] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/virtualMachineScaleSets/{vmScaleSetName}/delete", "POST"); + Endpoints[2278] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/virtualMachineScaleSets/{vmScaleSetName}/extensions", "GET"); + Endpoints[2279] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/virtualMachineScaleSets/{vmScaleSetName}/forceRecoveryServiceFabricPlatformUpdateDomainWalk", "POST"); + Endpoints[2280] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/virtualMachineScaleSets/{vmScaleSetName}/instanceView", "GET"); + Endpoints[2281] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/virtualMachineScaleSets/{vmScaleSetName}/manualupgrade", "POST"); + Endpoints[2282] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/virtualMachineScaleSets/{vmScaleSetName}/osRollingUpgrade", "POST"); + Endpoints[2283] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/virtualMachineScaleSets/{vmScaleSetName}/osUpgradeHistory", "GET"); + Endpoints[2284] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/virtualMachineScaleSets/{vmScaleSetName}/performMaintenance", "POST"); + Endpoints[2285] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/virtualMachineScaleSets/{vmScaleSetName}/poweroff", "POST"); + Endpoints[2286] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/virtualMachineScaleSets/{vmScaleSetName}/redeploy", "POST"); + Endpoints[2287] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/virtualMachineScaleSets/{vmScaleSetName}/reimage", "POST"); + Endpoints[2288] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/virtualMachineScaleSets/{vmScaleSetName}/reimageall", "POST"); + Endpoints[2289] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/virtualMachineScaleSets/{vmScaleSetName}/restart", "POST"); + Endpoints[2290] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/virtualMachineScaleSets/{vmScaleSetName}/skus", "GET"); + Endpoints[2291] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/virtualMachineScaleSets/{vmScaleSetName}/start", "POST"); + Endpoints[2292] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerRegistry/registries/{registryName}/builds", "GET"); + Endpoints[2293] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerRegistry/registries/{registryName}/buildTasks", "GET"); + Endpoints[2294] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerRegistry/registries/{registryName}/getBuildSourceUploadUrl", "POST"); + Endpoints[2295] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerRegistry/registries/{registryName}/getCredentials", "POST"); + Endpoints[2296] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerRegistry/registries/{registryName}/importImage", "POST"); + Endpoints[2297] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerRegistry/registries/{registryName}/listCredentials", "POST"); + Endpoints[2298] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerRegistry/registries/{registryName}/listUsages", "GET"); + Endpoints[2299] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerRegistry/registries/{registryName}/queueBuild", "POST"); + Endpoints[2300] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerRegistry/registries/{registryName}/regenerateCredential", "POST"); + Endpoints[2301] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerRegistry/registries/{registryName}/regenerateCredentials", "POST"); + Endpoints[2302] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerRegistry/registries/{registryName}/replications", "GET"); + Endpoints[2303] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerRegistry/registries/{registryName}/webhooks", "GET"); + Endpoints[2304] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.CustomerInsights/hubs/{hubName}/authorizationPolicies", "GET"); + Endpoints[2305] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.CustomerInsights/hubs/{hubName}/connectors", "GET"); + Endpoints[2306] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.CustomerInsights/hubs/{hubName}/interactions", "GET"); + Endpoints[2307] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.CustomerInsights/hubs/{hubName}/kpi", "GET"); + Endpoints[2308] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.CustomerInsights/hubs/{hubName}/links", "GET"); + Endpoints[2309] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.CustomerInsights/hubs/{hubName}/predictions", "GET"); + Endpoints[2310] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.CustomerInsights/hubs/{hubName}/profiles", "GET"); + Endpoints[2311] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.CustomerInsights/hubs/{hubName}/relationshipLinks", "GET"); + Endpoints[2312] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.CustomerInsights/hubs/{hubName}/relationships", "GET"); + Endpoints[2313] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.CustomerInsights/hubs/{hubName}/roleAssignments", "GET"); + Endpoints[2314] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.CustomerInsights/hubs/{hubName}/roles", "GET"); + Endpoints[2315] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.CustomerInsights/hubs/{hubName}/views", "GET"); + Endpoints[2316] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.CustomerInsights/hubs/{hubName}/widgetTypes", "GET"); + Endpoints[2317] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataBox/jobs/{jobName}/bookShipmentPickUp", "POST"); + Endpoints[2318] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataBox/jobs/{jobName}/cancel", "POST"); + Endpoints[2319] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataBox/jobs/{jobName}/copyLogsUri", "POST"); + Endpoints[2320] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataBox/jobs/{jobName}/downloadShippingLabel", "POST"); + Endpoints[2321] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataBox/jobs/{jobName}/listSecrets", "POST"); + Endpoints[2322] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataBox/jobs/{jobName}/reportIssue", "POST"); + Endpoints[2323] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataFactory/factories/{factoryName}/datasets", "GET"); + Endpoints[2324] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataFactory/factories/{factoryName}/integrationRuntimes", "GET"); + Endpoints[2325] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataFactory/factories/{factoryName}/linkedservices", "GET"); + Endpoints[2326] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataFactory/factories/{factoryName}/pipelineruns", "POST"); + Endpoints[2327] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataFactory/factories/{factoryName}/pipelines", "GET"); + Endpoints[2328] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataFactory/factories/{factoryName}/triggers", "GET"); + Endpoints[2329] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataLakeAnalytics/accounts/{accountName}/computePolicies", "GET"); + Endpoints[2330] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataLakeAnalytics/accounts/{accountName}/dataLakeStoreAccounts", "GET"); + Endpoints[2331] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataLakeAnalytics/accounts/{accountName}/firewallRules", "GET"); + Endpoints[2332] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataLakeAnalytics/accounts/{accountName}/storageAccounts", "GET"); + Endpoints[2333] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataLakeStore/accounts/{accountName}/enableKeyVault", "POST"); + Endpoints[2334] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataLakeStore/accounts/{accountName}/firewallRules", "GET"); + Endpoints[2335] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataLakeStore/accounts/{accountName}/trustedIdProviders", "GET"); + Endpoints[2336] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataLakeStore/accounts/{accountName}/virtualNetworkRules", "GET"); + Endpoints[2337] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBforMySQL/servers/{serverName}/configurations", "GET"); + Endpoints[2338] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBforMySQL/servers/{serverName}/databases", "GET"); + Endpoints[2339] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBforMySQL/servers/{serverName}/firewallRules", "GET"); + Endpoints[2340] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBforMySQL/servers/{serverName}/logFiles", "GET"); + Endpoints[2341] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBforMySQL/servers/{serverName}/virtualNetworkRules", "GET"); + Endpoints[2342] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBforPostgreSQL/servers/{serverName}/configurations", "GET"); + Endpoints[2343] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBforPostgreSQL/servers/{serverName}/databases", "GET"); + Endpoints[2344] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBforPostgreSQL/servers/{serverName}/firewallRules", "GET"); + Endpoints[2345] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBforPostgreSQL/servers/{serverName}/logFiles", "GET"); + Endpoints[2346] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBforPostgreSQL/servers/{serverName}/virtualNetworkRules", "GET"); + Endpoints[2347] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Devices/IotHubs/{iotHubName}/routingEndpointsHealth", "GET"); + Endpoints[2348] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Devices/IotHubs/{resourceName}/certificates", "GET"); + Endpoints[2349] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Devices/IotHubs/{resourceName}/exportDevices", "POST"); + Endpoints[2350] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Devices/IotHubs/{resourceName}/importDevices", "POST"); + Endpoints[2351] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Devices/IotHubs/{resourceName}/IotHubStats", "GET"); + Endpoints[2352] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Devices/IotHubs/{resourceName}/jobs", "GET"); + Endpoints[2353] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Devices/IotHubs/{resourceName}/listkeys", "POST"); + Endpoints[2354] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Devices/IotHubs/{resourceName}/quotaMetrics", "GET"); + Endpoints[2355] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Devices/IotHubs/{resourceName}/skus", "GET"); + Endpoints[2356] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Devices/provisioningServices/{provisioningServiceName}/certificates", "GET"); + Endpoints[2357] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Devices/provisioningServices/{provisioningServiceName}/listkeys", "POST"); + Endpoints[2358] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Devices/provisioningServices/{provisioningServiceName}/skus", "GET"); + Endpoints[2359] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DevTestLab/labs/{labName}/artifactsources", "GET"); + Endpoints[2360] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DevTestLab/labs/{labName}/costinsights", "GET"); + Endpoints[2361] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DevTestLab/labs/{labName}/costs", "GET"); + Endpoints[2362] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DevTestLab/labs/{labName}/customimages", "GET"); + Endpoints[2363] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DevTestLab/labs/{labName}/formulas", "GET"); + Endpoints[2364] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DevTestLab/labs/{labName}/galleryimages", "GET"); + Endpoints[2365] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DevTestLab/labs/{labName}/notificationchannels", "GET"); + Endpoints[2366] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DevTestLab/labs/{labName}/schedules", "GET"); + Endpoints[2367] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DevTestLab/labs/{labName}/servicerunners", "GET"); + Endpoints[2368] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DevTestLab/labs/{labName}/users", "GET"); + Endpoints[2369] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DevTestLab/labs/{labName}/virtualmachines", "GET"); + Endpoints[2370] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DevTestLab/labs/{labName}/virtualnetworks", "GET"); + Endpoints[2371] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DevTestLab/labs/{name}/claimAnyVm", "POST"); + Endpoints[2372] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DevTestLab/labs/{name}/createEnvironment", "POST"); + Endpoints[2373] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DevTestLab/labs/{name}/exportResourceUsage", "POST"); + Endpoints[2374] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DevTestLab/labs/{name}/generateUploadUri", "POST"); + Endpoints[2375] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DevTestLab/labs/{name}/listVhds", "POST"); + Endpoints[2376] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DevTestLab/schedules/{name}/execute", "POST"); + Endpoints[2377] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DevTestLab/schedules/{name}/retarget", "POST"); + Endpoints[2378] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/failoverPriorityChange", "POST"); + Endpoints[2379] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/listConnectionStrings", "POST"); + Endpoints[2380] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/listKeys", "POST"); + Endpoints[2381] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/metricDefinitions", "GET"); + Endpoints[2382] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/metrics", "GET"); + Endpoints[2383] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/offlineRegion", "POST"); + Endpoints[2384] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/onlineRegion", "POST"); + Endpoints[2385] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/readonlykeys", "GET"); + Endpoints[2386] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/regenerateKey", "POST"); + Endpoints[2387] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/usages", "GET"); + Endpoints[2388] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DomainRegistration/domains/{domainName}/domainOwnershipIdentifiers", "GET"); + Endpoints[2389] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DomainRegistration/domains/{domainName}/renew", "POST"); + Endpoints[2390] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.EventGrid/locations/{location}/eventSubscriptions", "GET"); + Endpoints[2391] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.EventGrid/topics/{topicName}/listKeys", "POST"); + Endpoints[2392] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.EventGrid/topics/{topicName}/regenerateKey", "POST"); + Endpoints[2393] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.EventGrid/topicTypes/{topicTypeName}/eventSubscriptions", "GET"); + Endpoints[2394] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.EventHub/namespaces/{namespaceName}/AuthorizationRules", "POST"); + Endpoints[2395] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.EventHub/namespaces/{namespaceName}/AuthorizationRules", "GET"); + Endpoints[2396] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.EventHub/namespaces/{namespaceName}/disasterRecoveryConfigs", "GET"); + Endpoints[2397] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.EventHub/namespaces/{namespaceName}/eventhubs", "GET"); + Endpoints[2398] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.EventHub/namespaces/{namespaceName}/messagingplan", "GET"); + Endpoints[2399] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Fabric.Admin/fabricLocations/{location}/edgeGatewayPools", "GET"); + Endpoints[2400] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Fabric.Admin/fabricLocations/{location}/edgeGateways", "GET"); + Endpoints[2401] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Fabric.Admin/fabricLocations/{location}/fileShares", "GET"); + Endpoints[2402] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Fabric.Admin/fabricLocations/{location}/infraRoleInstances", "GET"); + Endpoints[2403] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Fabric.Admin/fabricLocations/{location}/infraRoles", "GET"); + Endpoints[2404] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Fabric.Admin/fabricLocations/{location}/ipPools", "GET"); + Endpoints[2405] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Fabric.Admin/fabricLocations/{location}/logicalNetworks", "GET"); + Endpoints[2406] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Fabric.Admin/fabricLocations/{location}/macAddressPools", "GET"); + Endpoints[2407] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Fabric.Admin/fabricLocations/{location}/scaleUnitNodes", "GET"); + Endpoints[2408] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Fabric.Admin/fabricLocations/{location}/scaleUnits", "GET"); + Endpoints[2409] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Fabric.Admin/fabricLocations/{location}/slbMuxInstances", "GET"); + Endpoints[2410] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Fabric.Admin/fabricLocations/{location}/storageSubSystems", "GET"); + Endpoints[2411] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.HDInsight/clusters/{clusterName}/applications", "GET"); + Endpoints[2412] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.HDInsight/clusters/{clusterName}/executeScriptActions", "POST"); + Endpoints[2413] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.HDInsight/clusters/{clusterName}/scriptActions", "GET"); + Endpoints[2414] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.HDInsight/clusters/{clusterName}/scriptExecutionHistory", "GET"); + Endpoints[2415] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ImportExport/jobs/{jobName}/listBitLockerKeys", "POST"); + Endpoints[2416] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.InfrastructureInsights.Admin/regionHealths/{location}/alerts", "GET"); + Endpoints[2417] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.InfrastructureInsights.Admin/regionHealths/{location}/serviceHealths", "GET"); + Endpoints[2418] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/microsoft.insights/actionGroups/{actionGroupName}/subscribe", "POST"); + Endpoints[2419] = CreateEndpoint("/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/microsoft.insights/alertrules/{ruleName}/incidents", "GET"); + Endpoints[2420] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Insights/components/{componentName}/webtests", "GET"); + Endpoints[2421] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Insights/components/{resourceName}/Annotations", "PUT"); + Endpoints[2422] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Insights/components/{resourceName}/Annotations", "GET"); + Endpoints[2423] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Insights/components/{resourceName}/ApiKeys", "GET"); + Endpoints[2424] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Insights/components/{resourceName}/ApiKeys", "POST"); + Endpoints[2425] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Insights/components/{resourceName}/currentbillingfeatures", "PUT"); + Endpoints[2426] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Insights/components/{resourceName}/currentbillingfeatures", "GET"); + Endpoints[2427] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Insights/components/{resourceName}/DefaultWorkItemConfig", "GET"); + Endpoints[2428] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Insights/components/{resourceName}/exportconfiguration", "POST"); + Endpoints[2429] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Insights/components/{resourceName}/exportconfiguration", "GET"); + Endpoints[2430] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Insights/components/{resourceName}/favorites", "GET"); + Endpoints[2431] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Insights/components/{resourceName}/featurecapabilities", "GET"); + Endpoints[2432] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Insights/components/{resourceName}/getavailablebillingfeatures", "GET"); + Endpoints[2433] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Insights/components/{resourceName}/ProactiveDetectionConfigs", "GET"); + Endpoints[2434] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Insights/components/{resourceName}/purge", "POST"); + Endpoints[2435] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Insights/components/{resourceName}/quotastatus", "GET"); + Endpoints[2436] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Insights/components/{resourceName}/syntheticmonitorlocations", "GET"); + Endpoints[2437] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Insights/components/{resourceName}/WorkItemConfigs", "GET"); + Endpoints[2438] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Insights/components/{resourceName}/WorkItemConfigs", "POST"); + Endpoints[2439] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Insights/metricAlerts/{ruleName}/status", "GET"); + Endpoints[2440] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.KeyVault/vaults/{vaultName}/secrets", "GET"); + Endpoints[2441] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Logic/integrationAccounts/{integrationAccountName}/agreements", "GET"); + Endpoints[2442] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Logic/integrationAccounts/{integrationAccountName}/assemblies", "GET"); + Endpoints[2443] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Logic/integrationAccounts/{integrationAccountName}/batchConfigurations", "GET"); + Endpoints[2444] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Logic/integrationAccounts/{integrationAccountName}/certificates", "GET"); + Endpoints[2445] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Logic/integrationAccounts/{integrationAccountName}/listCallbackUrl", "POST"); + Endpoints[2446] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Logic/integrationAccounts/{integrationAccountName}/listKeyVaultKeys", "POST"); + Endpoints[2447] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Logic/integrationAccounts/{integrationAccountName}/logTrackingEvents", "POST"); + Endpoints[2448] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Logic/integrationAccounts/{integrationAccountName}/maps", "GET"); + Endpoints[2449] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Logic/integrationAccounts/{integrationAccountName}/partners", "GET"); + Endpoints[2450] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Logic/integrationAccounts/{integrationAccountName}/regenerateAccessKey", "POST"); + Endpoints[2451] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Logic/integrationAccounts/{integrationAccountName}/schemas", "GET"); + Endpoints[2452] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Logic/integrationAccounts/{integrationAccountName}/sessions", "GET"); + Endpoints[2453] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Logic/workflows/{workflowName}/accessKeys", "GET"); + Endpoints[2454] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Logic/workflows/{workflowName}/disable", "POST"); + Endpoints[2455] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Logic/workflows/{workflowName}/enable", "POST"); + Endpoints[2456] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Logic/workflows/{workflowName}/generateUpgradedDefinition", "POST"); + Endpoints[2457] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Logic/workflows/{workflowName}/listCallbackUrl", "POST"); + Endpoints[2458] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Logic/workflows/{workflowName}/listSwagger", "POST"); + Endpoints[2459] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Logic/workflows/{workflowName}/move", "POST"); + Endpoints[2460] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Logic/workflows/{workflowName}/regenerateAccessKey", "POST"); + Endpoints[2461] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Logic/workflows/{workflowName}/run", "POST"); + Endpoints[2462] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Logic/workflows/{workflowName}/runs", "GET"); + Endpoints[2463] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Logic/workflows/{workflowName}/triggers/", "GET"); + Endpoints[2464] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Logic/workflows/{workflowName}/validate", "POST"); + Endpoints[2465] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Logic/workflows/{workflowName}/versions", "GET"); + Endpoints[2466] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.MachineLearning/commitmentPlans/{commitmentPlanName}/commitmentAssociations", "GET"); + Endpoints[2467] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.MachineLearning/commitmentPlans/{commitmentPlanName}/usageHistory", "GET"); + Endpoints[2468] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.MachineLearning/webServices/{webServiceName}/CreateRegionalBlob", "POST"); + Endpoints[2469] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.MachineLearning/webServices/{webServiceName}/listKeys", "GET"); + Endpoints[2470] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.MachineLearning/workspaces/{workspaceName}/listWorkspaceKeys", "POST"); + Endpoints[2471] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.MachineLearning/workspaces/{workspaceName}/resyncStorageKeys", "POST"); + Endpoints[2472] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.MachineLearningCompute/operationalizationClusters/{clusterName}/checkSystemServicesUpdatesAvailable", "POST"); + Endpoints[2473] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.MachineLearningCompute/operationalizationClusters/{clusterName}/checkUpdate", "POST"); + Endpoints[2474] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.MachineLearningCompute/operationalizationClusters/{clusterName}/listKeys", "POST"); + Endpoints[2475] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.MachineLearningCompute/operationalizationClusters/{clusterName}/updateSystem", "POST"); + Endpoints[2476] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.MachineLearningCompute/operationalizationClusters/{clusterName}/updateSystemServices", "POST"); + Endpoints[2477] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.MachineLearningExperimentation/accounts/{accountName}/workspaces", "GET"); + Endpoints[2478] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.MachineLearningServices/workspaces/{workspaceName}/listKeys", "POST"); + Endpoints[2479] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.MachineLearningServices/workspaces/{workspaceName}/resyncKeys", "POST"); + Endpoints[2480] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Maps/accounts/{accountName}/listKeys", "POST"); + Endpoints[2481] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Maps/accounts/{accountName}/regenerateKey", "POST"); + Endpoints[2482] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Media/mediaServices/{accountName}/assets", "GET"); + Endpoints[2483] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Media/mediaServices/{accountName}/contentKeyPolicies", "GET"); + Endpoints[2484] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Media/mediaservices/{accountName}/liveEvents", "GET"); + Endpoints[2485] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Media/mediaservices/{accountName}/streamingEndpoints", "GET"); + Endpoints[2486] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Media/mediaServices/{accountName}/streamingLocators", "GET"); + Endpoints[2487] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Media/mediaServices/{accountName}/streamingPolicies", "GET"); + Endpoints[2488] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Media/mediaServices/{accountName}/transforms", "GET"); + Endpoints[2489] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Media/mediaservices/{mediaServiceName}/listKeys", "POST"); + Endpoints[2490] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Media/mediaservices/{mediaServiceName}/regenerateKey", "POST"); + Endpoints[2491] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Media/mediaservices/{mediaServiceName}/syncStorageKeys", "POST"); + Endpoints[2492] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Migrate/projects/{projectName}/assessments", "GET"); + Endpoints[2493] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Migrate/projects/{projectName}/groups", "GET"); + Endpoints[2494] = CreateEndpoint("/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.Migrate/projects/{projectName}/keys", "POST"); + Endpoints[2495] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Migrate/projects/{projectName}/machines", "GET"); + Endpoints[2496] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/applicationGateways/{applicationGatewayName}/backendhealth", "POST"); + Endpoints[2497] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/applicationGateways/{applicationGatewayName}/start", "POST"); + Endpoints[2498] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/applicationGateways/{applicationGatewayName}/stop", "POST"); + Endpoints[2499] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/connections/{virtualNetworkGatewayConnectionName}/sharedkey", "GET"); + Endpoints[2500] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/connections/{virtualNetworkGatewayConnectionName}/sharedkey", "PUT"); + Endpoints[2501] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/connections/{virtualNetworkGatewayConnectionName}/vpndeviceconfigurationscript", "POST"); + Endpoints[2502] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/dnsZones/{zoneName}/all", "GET"); + Endpoints[2503] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/dnsZones/{zoneName}/recordsets", "GET"); + Endpoints[2504] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/expressRouteCircuits/{circuitName}/arpTable", "GET"); + Endpoints[2505] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/expressRouteCircuits/{circuitName}/authorizations", "GET"); + Endpoints[2506] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/expressRouteCircuits/{circuitName}/peerings", "GET"); + Endpoints[2507] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/expressRouteCircuits/{circuitName}/routesTable", "GET"); + Endpoints[2508] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/expressRouteCircuits/{circuitName}/stats", "GET"); + Endpoints[2509] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/expressRouteCrossConnections/{crossConnectionName}/peerings", "GET"); + Endpoints[2510] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/loadBalancers/{loadBalancerName}/backendAddressPools", "GET"); + Endpoints[2511] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/loadBalancers/{loadBalancerName}/frontendIPConfigurations", "GET"); + Endpoints[2512] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/loadBalancers/{loadBalancerName}/inboundNatRules", "GET"); + Endpoints[2513] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/loadBalancers/{loadBalancerName}/loadBalancingRules", "GET"); + Endpoints[2514] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/loadBalancers/{loadBalancerName}/networkInterfaces", "GET"); + Endpoints[2515] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/loadBalancers/{loadBalancerName}/probes", "GET"); + Endpoints[2516] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkInterfaces/{networkInterfaceName}/effectiveNetworkSecurityGroups", "POST"); + Endpoints[2517] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkInterfaces/{networkInterfaceName}/effectiveRouteTable", "POST"); + Endpoints[2518] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkInterfaces/{networkInterfaceName}/ipConfigurations", "GET"); + Endpoints[2519] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkInterfaces/{networkInterfaceName}/loadBalancers", "GET"); + Endpoints[2520] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkSecurityGroups/{networkSecurityGroupName}/defaultSecurityRules", "GET"); + Endpoints[2521] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkSecurityGroups/{networkSecurityGroupName}/securityRules", "GET"); + Endpoints[2522] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkWatchers/{networkWatcherName}/availableProvidersList", "POST"); + Endpoints[2523] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkWatchers/{networkWatcherName}/azureReachabilityReport", "POST"); + Endpoints[2524] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkWatchers/{networkWatcherName}/configureFlowLog", "POST"); + Endpoints[2525] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkWatchers/{networkWatcherName}/connectionMonitors", "GET"); + Endpoints[2526] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkWatchers/{networkWatcherName}/connectivityCheck", "POST"); + Endpoints[2527] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkWatchers/{networkWatcherName}/ipFlowVerify", "POST"); + Endpoints[2528] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkWatchers/{networkWatcherName}/nextHop", "POST"); + Endpoints[2529] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkWatchers/{networkWatcherName}/packetCaptures", "GET"); + Endpoints[2530] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkWatchers/{networkWatcherName}/queryFlowLogStatus", "POST"); + Endpoints[2531] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkWatchers/{networkWatcherName}/queryTroubleshootResult", "POST"); + Endpoints[2532] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkWatchers/{networkWatcherName}/securityGroupView", "POST"); + Endpoints[2533] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkWatchers/{networkWatcherName}/topology", "POST"); + Endpoints[2534] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkWatchers/{networkWatcherName}/troubleshoot", "POST"); + Endpoints[2535] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/routeFilters/{routeFilterName}/routeFilterRules", "GET"); + Endpoints[2536] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/routeTables/{routeTableName}/routes", "GET"); + Endpoints[2537] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworkGateways/{virtualNetworkGatewayName}/connections", "GET"); + Endpoints[2538] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworkGateways/{virtualNetworkGatewayName}/generatevpnclientpackage", "POST"); + Endpoints[2539] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworkGateways/{virtualNetworkGatewayName}/generatevpnprofile", "POST"); + Endpoints[2540] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworkGateways/{virtualNetworkGatewayName}/getAdvertisedRoutes", "POST"); + Endpoints[2541] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworkGateways/{virtualNetworkGatewayName}/getBgpPeerStatus", "POST"); + Endpoints[2542] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworkGateways/{virtualNetworkGatewayName}/getLearnedRoutes", "POST"); + Endpoints[2543] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworkGateways/{virtualNetworkGatewayName}/getvpnclientipsecparameters", "POST"); + Endpoints[2544] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworkGateways/{virtualNetworkGatewayName}/getvpnprofilepackageurl", "POST"); + Endpoints[2545] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworkGateways/{virtualNetworkGatewayName}/reset", "POST"); + Endpoints[2546] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworkGateways/{virtualNetworkGatewayName}/setvpnclientipsecparameters", "POST"); + Endpoints[2547] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworkGateways/{virtualNetworkGatewayName}/supportedvpndevices", "POST"); + Endpoints[2548] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworks/{virtualNetworkName}/CheckIPAddressAvailability", "GET"); + Endpoints[2549] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworks/{virtualNetworkName}/subnets", "GET"); + Endpoints[2550] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworks/{virtualNetworkName}/usages", "GET"); + Endpoints[2551] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworks/{virtualNetworkName}/virtualNetworkPeerings", "GET"); + Endpoints[2552] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.NotificationHubs/namespaces/{namespaceName}/AuthorizationRules", "POST"); + Endpoints[2553] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.NotificationHubs/namespaces/{namespaceName}/AuthorizationRules", "GET"); + Endpoints[2554] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.NotificationHubs/namespaces/{namespaceName}/checkNotificationHubAvailability", "POST"); + Endpoints[2555] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.NotificationHubs/namespaces/{namespaceName}/notificationHubs", "GET"); + Endpoints[2556] = CreateEndpoint("/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.OperationalInsights/workspaces/{workspaceName}/dataSources", "GET"); + Endpoints[2557] = CreateEndpoint("/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.OperationalInsights/workspaces/{workspaceName}/intelligencePacks", "GET"); + Endpoints[2558] = CreateEndpoint("/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.OperationalInsights/workspaces/{workspaceName}/linkedServices", "GET"); + Endpoints[2559] = CreateEndpoint("/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.OperationalInsights/workspaces/{workspaceName}/managementGroups", "GET"); + Endpoints[2560] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.OperationalInsights/workspaces/{workspaceName}/purge", "POST"); + Endpoints[2561] = CreateEndpoint("/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.OperationalInsights/workspaces/{workspaceName}/savedSearches", "GET"); + Endpoints[2562] = CreateEndpoint("/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.OperationalInsights/workspaces/{workspaceName}/schema", "POST"); + Endpoints[2563] = CreateEndpoint("/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.OperationalInsights/workspaces/{workspaceName}/search", "POST"); + Endpoints[2564] = CreateEndpoint("/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.OperationalInsights/workspaces/{workspaceName}/sharedKeys", "POST"); + Endpoints[2565] = CreateEndpoint("/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.OperationalInsights/workspaces/{workspaceName}/storageInsightConfigs", "GET"); + Endpoints[2566] = CreateEndpoint("/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.OperationalInsights/workspaces/{workspaceName}/usages", "GET"); + Endpoints[2567] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.PolicyInsights/policyEvents/{policyEventsResource}/queryResults", "POST"); + Endpoints[2568] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.PolicyInsights/policyStates/{policyStatesResource}/queryResults", "POST"); + Endpoints[2569] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.PolicyInsights/policyStates/{policyStatesSummaryResource}/summarize", "POST"); + Endpoints[2570] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.PowerBI/workspaceCollections/{workspaceCollectionName}/listKeys", "POST"); + Endpoints[2571] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.PowerBI/workspaceCollections/{workspaceCollectionName}/regenerateKey", "POST"); + Endpoints[2572] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.PowerBI/workspaceCollections/{workspaceCollectionName}/workspaces", "GET"); + Endpoints[2573] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.PowerBIDedicated/capacities/{dedicatedCapacityName}/resume", "POST"); + Endpoints[2574] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.PowerBIDedicated/capacities/{dedicatedCapacityName}/skus", "GET"); + Endpoints[2575] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.PowerBIDedicated/capacities/{dedicatedCapacityName}/suspend", "POST"); + Endpoints[2576] = CreateEndpoint("/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationAlertSettings", "GET"); + Endpoints[2577] = CreateEndpoint("/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationEvents", "GET"); + Endpoints[2578] = CreateEndpoint("/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationFabrics", "GET"); + Endpoints[2579] = CreateEndpoint("/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationJobs", "GET"); + Endpoints[2580] = CreateEndpoint("/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationNetworkMappings", "GET"); + Endpoints[2581] = CreateEndpoint("/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationNetworks", "GET"); + Endpoints[2582] = CreateEndpoint("/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationPolicies", "GET"); + Endpoints[2583] = CreateEndpoint("/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationProtectedItems", "GET"); + Endpoints[2584] = CreateEndpoint("/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationProtectionContainerMappings", "GET"); + Endpoints[2585] = CreateEndpoint("/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationProtectionContainers", "GET"); + Endpoints[2586] = CreateEndpoint("/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationRecoveryPlans", "GET"); + Endpoints[2587] = CreateEndpoint("/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationRecoveryServicesProviders", "GET"); + Endpoints[2588] = CreateEndpoint("/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationStorageClassificationMappings", "GET"); + Endpoints[2589] = CreateEndpoint("/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationStorageClassifications", "GET"); + Endpoints[2590] = CreateEndpoint("/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationVaultHealth", "GET"); + Endpoints[2591] = CreateEndpoint("/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationvCenters", "GET"); + Endpoints[2592] = CreateEndpoint("/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupEngines", "GET"); + Endpoints[2593] = CreateEndpoint("/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupJobs", "GET"); + Endpoints[2594] = CreateEndpoint("/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupJobsExport", "POST"); + Endpoints[2595] = CreateEndpoint("/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupPolicies", "GET"); + Endpoints[2596] = CreateEndpoint("/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupProtectableItems", "GET"); + Endpoints[2597] = CreateEndpoint("/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupProtectedItems", "GET"); + Endpoints[2598] = CreateEndpoint("/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupProtectionContainers", "GET"); + Endpoints[2599] = CreateEndpoint("/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupSecurityPIN", "POST"); + Endpoints[2600] = CreateEndpoint("/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupUsageSummaries", "GET"); + Endpoints[2601] = CreateEndpoint("/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/replicationUsages", "GET"); + Endpoints[2602] = CreateEndpoint("/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/usages", "GET"); + Endpoints[2603] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Relay/namespaces/{namespaceName}/authorizationRules", "GET"); + Endpoints[2604] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Relay/namespaces/{namespaceName}/AuthorizationRules", "POST"); + Endpoints[2605] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Relay/namespaces/{namespaceName}/hybridConnections", "GET"); + Endpoints[2606] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Relay/namespaces/{namespaceName}/wcfRelays", "GET"); + Endpoints[2607] = CreateEndpoint("/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.Resources/deployments/{deploymentName}/cancel", "POST"); + Endpoints[2608] = CreateEndpoint("/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.Resources/deployments/{deploymentName}/exportTemplate", "POST"); + Endpoints[2609] = CreateEndpoint("/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.Resources/deployments/{deploymentName}/validate", "POST"); + Endpoints[2610] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Scheduler/jobCollections/{jobCollectionName}/disable", "POST"); + Endpoints[2611] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Scheduler/jobCollections/{jobCollectionName}/enable", "POST"); + Endpoints[2612] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Scheduler/jobCollections/{jobCollectionName}/jobs", "GET"); + Endpoints[2613] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Search/searchServices/{searchServiceName}/listAdminKeys", "POST"); + Endpoints[2614] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Search/searchServices/{searchServiceName}/listQueryKeys", "GET"); + Endpoints[2615] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Security/locations/{ascLocation}/alerts", "GET"); + Endpoints[2616] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Security/locations/{ascLocation}/jitNetworkAccessPolicies", "GET"); + Endpoints[2617] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Security/locations/{ascLocation}/tasks", "GET"); + Endpoints[2618] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ServerManagement/gateways/{gatewayName}/profile", "POST"); + Endpoints[2619] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ServerManagement/gateways/{gatewayName}/regenerateprofile", "POST"); + Endpoints[2620] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ServerManagement/gateways/{gatewayName}/upgradetolatest", "POST"); + Endpoints[2621] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ServiceBus/namespaces/{namespaceName}/AuthorizationRules", "POST"); + Endpoints[2622] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ServiceBus/namespaces/{namespaceName}/AuthorizationRules", "GET"); + Endpoints[2623] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ServiceBus/namespaces/{namespaceName}/disasterRecoveryConfigs", "GET"); + Endpoints[2624] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ServiceBus/namespaces/{namespaceName}/eventhubs", "GET"); + Endpoints[2625] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ServiceBus/namespaces/{namespaceName}/messagingplan", "GET"); + Endpoints[2626] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ServiceBus/namespaces/{namespaceName}/messagingplan", "PUT"); + Endpoints[2627] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ServiceBus/namespaces/{namespaceName}/migrationConfigurations", "GET"); + Endpoints[2628] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ServiceBus/namespaces/{namespaceName}/queues", "GET"); + Endpoints[2629] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ServiceBus/namespaces/{namespaceName}/topics", "GET"); + Endpoints[2630] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ServiceFabric/clusters/{clusterName}/applications", "GET"); + Endpoints[2631] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ServiceFabric/clusters/{clusterName}/applicationTypes", "GET"); + Endpoints[2632] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.SignalRService/SignalR/{resourceName}/listKeys", "POST"); + Endpoints[2633] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.SignalRService/SignalR/{resourceName}/regenerateKey", "POST"); + Endpoints[2634] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/locations/{locationName}/instanceFailoverGroups", "GET"); + Endpoints[2635] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/managedInstances/{managedInstanceName}/databases", "GET"); + Endpoints[2636] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/administrators", "GET"); + Endpoints[2637] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/advisors", "GET"); + Endpoints[2638] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/auditingPolicies", "GET"); + Endpoints[2639] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/backupLongTermRetentionVaults", "GET"); + Endpoints[2640] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/communicationLinks", "GET"); + Endpoints[2641] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/databases", "GET"); + Endpoints[2642] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/disasterRecoveryConfiguration", "GET"); + Endpoints[2643] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/dnsAliases", "GET"); + Endpoints[2644] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/elasticPools", "GET"); + Endpoints[2645] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/encryptionProtector", "GET"); + Endpoints[2646] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/failoverGroups", "GET"); + Endpoints[2647] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/firewallRules", "PUT"); + Endpoints[2648] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/firewallRules", "GET"); + Endpoints[2649] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/import", "POST"); + Endpoints[2650] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/jobAgents", "GET"); + Endpoints[2651] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/keys", "GET"); + Endpoints[2652] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/recommendedElasticPools", "GET"); + Endpoints[2653] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/recoverableDatabases", "GET"); + Endpoints[2654] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/restorableDroppedDatabases", "GET"); + Endpoints[2655] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/serviceObjectives", "GET"); + Endpoints[2656] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/syncAgents", "GET"); + Endpoints[2657] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/usages", "GET"); + Endpoints[2658] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/virtualNetworkRules", "GET"); + Endpoints[2659] = CreateEndpoint("/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.Storage.Admin/farms/{farmId}/acquisitions", "GET"); + Endpoints[2660] = CreateEndpoint("/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.Storage.Admin/farms/{farmId}/metricdefinitions", "GET"); + Endpoints[2661] = CreateEndpoint("/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.Storage.Admin/farms/{farmId}/metrics", "GET"); + Endpoints[2662] = CreateEndpoint("/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.Storage.Admin/farms/{farmId}/ondemandgc", "POST"); + Endpoints[2663] = CreateEndpoint("/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.Storage.Admin/farms/{farmId}/shares", "GET"); + Endpoints[2664] = CreateEndpoint("/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.Storage.Admin/farms/{farmId}/storageaccounts", "GET"); + Endpoints[2665] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Storage/storageAccounts/{accountName}/ListAccountSas", "POST"); + Endpoints[2666] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Storage/storageAccounts/{accountName}/listKeys", "POST"); + Endpoints[2667] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Storage/storageAccounts/{accountName}/ListServiceSas", "POST"); + Endpoints[2668] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Storage/storageAccounts/{accountName}/regenerateKey", "POST"); + Endpoints[2669] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.StorSimple/managers/{managerName}/accessControlRecords", "GET"); + Endpoints[2670] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.StorSimple/managers/{managerName}/alerts", "GET"); + Endpoints[2671] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.StorSimple/managers/{managerName}/bandwidthSettings", "GET"); + Endpoints[2672] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.StorSimple/managers/{managerName}/clearAlerts", "POST"); + Endpoints[2673] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.StorSimple/managers/{managerName}/cloudApplianceConfigurations", "GET"); + Endpoints[2674] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.StorSimple/managers/{managerName}/configureDevice", "POST"); + Endpoints[2675] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.StorSimple/managers/{managerName}/devices", "GET"); + Endpoints[2676] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.StorSimple/managers/{managerName}/features", "GET"); + Endpoints[2677] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.StorSimple/managers/{managerName}/jobs", "GET"); + Endpoints[2678] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.StorSimple/managers/{managerName}/listActivationKey", "POST"); + Endpoints[2679] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.StorSimple/managers/{managerName}/listPublicEncryptionKey", "POST"); + Endpoints[2680] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.StorSimple/managers/{managerName}/metrics", "GET"); + Endpoints[2681] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.StorSimple/managers/{managerName}/metricsDefinitions", "GET"); + Endpoints[2682] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.StorSimple/managers/{managerName}/provisionCloudAppliance", "POST"); + Endpoints[2683] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.StorSimple/managers/{managerName}/regenerateActivationKey", "POST"); + Endpoints[2684] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.StorSimple/managers/{managerName}/storageAccountCredentials", "GET"); + Endpoints[2685] = CreateEndpoint("/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.StreamAnalytics/streamingjobs/{jobName}/functions", "GET"); + Endpoints[2686] = CreateEndpoint("/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.StreamAnalytics/streamingjobs/{jobName}/inputs", "GET"); + Endpoints[2687] = CreateEndpoint("/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.StreamAnalytics/streamingjobs/{jobName}/outputs", "GET"); + Endpoints[2688] = CreateEndpoint("/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.StreamAnalytics/streamingjobs/{jobName}/start", "POST"); + Endpoints[2689] = CreateEndpoint("/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.StreamAnalytics/streamingjobs/{jobName}/stop", "POST"); + Endpoints[2690] = CreateEndpoint("/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.Subscriptions.Admin/offers/{offer}/link", "POST"); + Endpoints[2691] = CreateEndpoint("/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.Subscriptions.Admin/offers/{offer}/MetricDefinitions", "GET"); + Endpoints[2692] = CreateEndpoint("/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.Subscriptions.Admin/offers/{offer}/Metrics", "GET"); + Endpoints[2693] = CreateEndpoint("/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.Subscriptions.Admin/offers/{offer}/offerDelegations", "GET"); + Endpoints[2694] = CreateEndpoint("/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.Subscriptions.Admin/offers/{offer}/unlink", "POST"); + Endpoints[2695] = CreateEndpoint("/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.Subscriptions.Admin/plans/{plan}/MetricDefinitions", "GET"); + Endpoints[2696] = CreateEndpoint("/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.Subscriptions.Admin/plans/{plan}/Metrics", "GET"); + Endpoints[2697] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.TimeSeriesInsights/environments/{environmentName}/accessPolicies", "GET"); + Endpoints[2698] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.TimeSeriesInsights/environments/{environmentName}/eventSources", "GET"); + Endpoints[2699] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.TimeSeriesInsights/environments/{environmentName}/referenceDataSets", "GET"); + Endpoints[2700] = CreateEndpoint("/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.Update.Admin/updateLocations/{updateLocation}/updates", "GET"); + Endpoints[2701] = CreateEndpoint("/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/microsoft.visualstudio/account/{accountResourceName}/extension", "GET"); + Endpoints[2702] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/microsoft.visualstudio/account/{rootResourceName}/project", "GET"); + Endpoints[2703] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web.Admin/environments/{environmentName}/usage", "GET"); + Endpoints[2704] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/connections/{connectionName}/confirmConsentCode", "POST"); + Endpoints[2705] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/connections/{connectionName}/listConnectionKeys", "POST"); + Endpoints[2706] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/connections/{connectionName}/listConsentLinks", "POST"); + Endpoints[2707] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/customApis/{apiName}/move", "POST"); + Endpoints[2708] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/hostingEnvironments/{name}/changeVirtualNetwork", "POST"); + Endpoints[2709] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/hostingEnvironments/{name}/detectors", "GET"); + Endpoints[2710] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/hostingEnvironments/{name}/diagnostics", "GET"); + Endpoints[2711] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/hostingEnvironments/{name}/metricdefinitions", "GET"); + Endpoints[2712] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/hostingEnvironments/{name}/metrics", "GET"); + Endpoints[2713] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/hostingEnvironments/{name}/multiRolePools", "GET"); + Endpoints[2714] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/hostingEnvironments/{name}/operations", "GET"); + Endpoints[2715] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/hostingEnvironments/{name}/reboot", "POST"); + Endpoints[2716] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/hostingEnvironments/{name}/resume", "POST"); + Endpoints[2717] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/hostingEnvironments/{name}/serverfarms", "GET"); + Endpoints[2718] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/hostingEnvironments/{name}/sites", "GET"); + Endpoints[2719] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/hostingEnvironments/{name}/suspend", "POST"); + Endpoints[2720] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/hostingEnvironments/{name}/syncVirtualNetwork", "POST"); + Endpoints[2721] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/hostingEnvironments/{name}/usages", "GET"); + Endpoints[2722] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/hostingEnvironments/{name}/webhostingplans", "GET"); + Endpoints[2723] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/hostingEnvironments/{name}/workerPools", "GET"); + Endpoints[2724] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/managedHostingEnvironments/{name}/serverfarms", "GET"); + Endpoints[2725] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/managedHostingEnvironments/{name}/sites", "GET"); + Endpoints[2726] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/managedHostingEnvironments/{name}/webhostingplans", "GET"); + Endpoints[2727] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/serverfarms/{name}/capabilities", "GET"); + Endpoints[2728] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/serverfarms/{name}/hybridConnectionRelays", "GET"); + Endpoints[2729] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/serverfarms/{name}/metricdefinitions", "GET"); + Endpoints[2730] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/serverfarms/{name}/metrics", "GET"); + Endpoints[2731] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/serverfarms/{name}/restartSites", "POST"); + Endpoints[2732] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/serverfarms/{name}/sites", "GET"); + Endpoints[2733] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/serverfarms/{name}/skus", "GET"); + Endpoints[2734] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/serverfarms/{name}/usages", "GET"); + Endpoints[2735] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/serverfarms/{name}/virtualNetworkConnections", "GET"); + Endpoints[2736] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/analyzeCustomHostname", "GET"); + Endpoints[2737] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/applySlotConfig", "POST"); + Endpoints[2738] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/backup", "POST"); + Endpoints[2739] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/backups", "GET"); + Endpoints[2740] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/config", "GET"); + Endpoints[2741] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/containerlogs", "POST"); + Endpoints[2742] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/continuouswebjobs", "GET"); + Endpoints[2743] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/deployments", "GET"); + Endpoints[2744] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/domainOwnershipIdentifiers", "GET"); + Endpoints[2745] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/functions", "GET"); + Endpoints[2746] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/hostNameBindings", "GET"); + Endpoints[2747] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/hybridconnection", "GET"); + Endpoints[2748] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/hybridConnectionRelays", "GET"); + Endpoints[2749] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/instances", "GET"); + Endpoints[2750] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/iscloneable", "POST"); + Endpoints[2751] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/listsyncfunctiontriggerstatus", "POST"); + Endpoints[2752] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/metricdefinitions", "GET"); + Endpoints[2753] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/metrics", "GET"); + Endpoints[2754] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/migrate", "PUT"); + Endpoints[2755] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/migratemysql", "POST"); + Endpoints[2756] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/newpassword", "POST"); + Endpoints[2757] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/perfcounters", "GET"); + Endpoints[2758] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/phplogging", "GET"); + Endpoints[2759] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/premieraddons", "GET"); + Endpoints[2760] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/processes", "GET"); + Endpoints[2761] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/publicCertificates", "GET"); + Endpoints[2762] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/publishxml", "POST"); + Endpoints[2763] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/recover", "POST"); + Endpoints[2764] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/resetSlotConfig", "POST"); + Endpoints[2765] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/resourceHealthMetadata", "GET"); + Endpoints[2766] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/restart", "POST"); + Endpoints[2767] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/restoreFromBackupBlob", "POST"); + Endpoints[2768] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/restoreFromDeletedApp", "POST"); + Endpoints[2769] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/restoreSnapshot", "POST"); + Endpoints[2770] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/siteextensions", "GET"); + Endpoints[2771] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots", "GET"); + Endpoints[2772] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slotsdiffs", "POST"); + Endpoints[2773] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slotsswap", "POST"); + Endpoints[2774] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/snapshots", "GET"); + Endpoints[2775] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/snapshots", "PUT"); + Endpoints[2776] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/start", "POST"); + Endpoints[2777] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/stop", "POST"); + Endpoints[2778] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/sync", "POST"); + Endpoints[2779] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/syncfunctiontriggers", "POST"); + Endpoints[2780] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/triggeredwebjobs", "GET"); + Endpoints[2781] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/usages", "GET"); + Endpoints[2782] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/virtualNetworkConnections", "GET"); + Endpoints[2783] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/webjobs", "GET"); + Endpoints[2784] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{siteName}/detectors", "GET"); + Endpoints[2785] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{siteName}/diagnostics", "GET"); + Endpoints[2786] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{siteName}/recommendationHistory", "GET"); + Endpoints[2787] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{siteName}/recommendations", "GET"); + Endpoints[2788] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/portalsettings/delegation", "PUT"); + Endpoints[2789] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/portalsettings/delegation", "PATCH"); + Endpoints[2790] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/portalsettings/delegation", "HEAD"); + Endpoints[2791] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/portalsettings/delegation", "GET"); + Endpoints[2792] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/portalsettings/signin", "PATCH"); + Endpoints[2793] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/portalsettings/signin", "PUT"); + Endpoints[2794] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/portalsettings/signin", "GET"); + Endpoints[2795] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/portalsettings/signin", "HEAD"); + Endpoints[2796] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/portalsettings/signup", "PUT"); + Endpoints[2797] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/portalsettings/signup", "GET"); + Endpoints[2798] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/portalsettings/signup", "HEAD"); + Endpoints[2799] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/portalsettings/signup", "PATCH"); + Endpoints[2800] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/reports/byApi", "GET"); + Endpoints[2801] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/reports/byGeo", "GET"); + Endpoints[2802] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/reports/byOperation", "GET"); + Endpoints[2803] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/reports/byProduct", "GET"); + Endpoints[2804] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/reports/byRequest", "GET"); + Endpoints[2805] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/reports/bySubscription", "GET"); + Endpoints[2806] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/reports/byTime", "GET"); + Endpoints[2807] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/reports/byUser", "GET"); + Endpoints[2808] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/tenant/access", "GET"); + Endpoints[2809] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/tenant/access", "PATCH"); + Endpoints[2810] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/tenant/policy", "GET"); + Endpoints[2811] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/tenant/policy", "DELETE"); + Endpoints[2812] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/tenant/policy", "PUT"); + Endpoints[2813] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Automation/automationAccounts/{automationAccountName}/agentRegistrationInformation/regenerateKey", "POST"); + Endpoints[2814] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Automation/automationAccounts/{automationAccountName}/webhooks/generateUri", "POST"); + Endpoints[2815] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Cache/Redis/{name}/patchSchedules/default", "PUT"); + Endpoints[2816] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Cache/Redis/{name}/patchSchedules/default", "DELETE"); + Endpoints[2817] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Cache/Redis/{name}/patchSchedules/default", "GET"); + Endpoints[2818] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/virtualMachineScaleSets/{vmScaleSetName}/rollingUpgrades/cancel", "POST"); + Endpoints[2819] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/virtualMachineScaleSets/{vmScaleSetName}/rollingUpgrades/latest", "GET"); + Endpoints[2820] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}/upgradeProfiles/default", "GET"); + Endpoints[2821] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.CustomerInsights/hubs/{hubName}/images/getDataImageUploadUrl", "POST"); + Endpoints[2822] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.CustomerInsights/hubs/{hubName}/images/getEntityTypeImageUploadUrl", "POST"); + Endpoints[2823] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/percentile/metrics", "GET"); + Endpoints[2824] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.EventHub/clusters/{clusterName}/quotaConfiguration/default", "PATCH"); + Endpoints[2825] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.EventHub/clusters/{clusterName}/quotaConfiguration/default", "GET"); + Endpoints[2826] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.EventHub/namespaces/{namespaceName}/disasterRecoveryConfigs/CheckNameAvailability", "POST"); + Endpoints[2827] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.HDInsight/clusters/{clusterName}/extensions/clustermonitoring", "GET"); + Endpoints[2828] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.HDInsight/clusters/{clusterName}/extensions/clustermonitoring", "PUT"); + Endpoints[2829] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.HDInsight/clusters/{clusterName}/extensions/clustermonitoring", "DELETE"); + Endpoints[2830] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/microsoft.insights/components/{resourceName}/pricingPlans/current", "PATCH"); + Endpoints[2831] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/microsoft.insights/components/{resourceName}/pricingPlans/current", "PUT"); + Endpoints[2832] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/microsoft.insights/components/{resourceName}/pricingPlans/current", "GET"); + Endpoints[2833] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/connections/{virtualNetworkGatewayConnectionName}/sharedkey/reset", "POST"); + Endpoints[2834] = CreateEndpoint("/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationJobs/export", "POST"); + Endpoints[2835] = CreateEndpoint("/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupconfig/vaultconfig", "GET"); + Endpoints[2836] = CreateEndpoint("/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupconfig/vaultconfig", "PATCH"); + Endpoints[2837] = CreateEndpoint("/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupstorageconfig/vaultstorageconfig", "PATCH"); + Endpoints[2838] = CreateEndpoint("/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupstorageconfig/vaultstorageconfig", "GET"); + Endpoints[2839] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/extendedInformation/vaultExtendedInfo", "PATCH"); + Endpoints[2840] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/extendedInformation/vaultExtendedInfo", "PUT"); + Endpoints[2841] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/extendedInformation/vaultExtendedInfo", "GET"); + Endpoints[2842] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ServiceBus/namespaces/{namespaceName}/disasterRecoveryConfigs/CheckNameAvailability", "POST"); + Endpoints[2843] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/automaticTuning/current", "GET"); + Endpoints[2844] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/automaticTuning/current", "PATCH"); + Endpoints[2845] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.StorSimple/managers/{managerName}/encryptionSettings/default", "GET"); + Endpoints[2846] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.StorSimple/managers/{managerName}/extendedInformation/vaultExtendedInfo", "DELETE"); + Endpoints[2847] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.StorSimple/managers/{managerName}/extendedInformation/vaultExtendedInfo", "PATCH"); + Endpoints[2848] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.StorSimple/managers/{managerName}/extendedInformation/vaultExtendedInfo", "PUT"); + Endpoints[2849] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.StorSimple/managers/{managerName}/extendedInformation/vaultExtendedInfo", "GET"); + Endpoints[2850] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/hostingEnvironments/{name}/capacities/compute", "GET"); + Endpoints[2851] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/hostingEnvironments/{name}/capacities/virtualip", "GET"); + Endpoints[2852] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/hostingEnvironments/{name}/multiRolePools/default", "PUT"); + Endpoints[2853] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/hostingEnvironments/{name}/multiRolePools/default", "PATCH"); + Endpoints[2854] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/hostingEnvironments/{name}/multiRolePools/default", "GET"); + Endpoints[2855] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/managedHostingEnvironments/{name}/capacities/virtualip", "GET"); + Endpoints[2856] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/serverfarms/{name}/hybridConnectionPlanLimits/limit", "GET"); + Endpoints[2857] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/backups/discover", "PUT"); + Endpoints[2858] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/config/appsettings", "PUT"); + Endpoints[2859] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/config/authsettings", "PUT"); + Endpoints[2860] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/config/backup", "DELETE"); + Endpoints[2861] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/config/backup", "PUT"); + Endpoints[2862] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/config/connectionstrings", "PUT"); + Endpoints[2863] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/config/logs", "PUT"); + Endpoints[2864] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/config/logs", "GET"); + Endpoints[2865] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/config/metadata", "PUT"); + Endpoints[2866] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/config/pushsettings", "PUT"); + Endpoints[2867] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/config/slotConfigNames", "PUT"); + Endpoints[2868] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/config/slotConfigNames", "GET"); + Endpoints[2869] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/config/web", "PUT"); + Endpoints[2870] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/config/web", "GET"); + Endpoints[2871] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/config/web", "PATCH"); + Endpoints[2872] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/extensions/MSDeploy", "PUT"); + Endpoints[2873] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/extensions/MSDeploy", "GET"); + Endpoints[2874] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/migratemysql/status", "GET"); + Endpoints[2875] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/networkTrace/start", "POST"); + Endpoints[2876] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/networkTrace/stop", "POST"); + Endpoints[2877] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/privateAccess/virtualNetworks", "PUT"); + Endpoints[2878] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/privateAccess/virtualNetworks", "GET"); + Endpoints[2879] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/resourceHealthMetadata/default", "GET"); + Endpoints[2880] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/sourcecontrols/web", "PATCH"); + Endpoints[2881] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/sourcecontrols/web", "DELETE"); + Endpoints[2882] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/sourcecontrols/web", "GET"); + Endpoints[2883] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/sourcecontrols/web", "PUT"); + Endpoints[2884] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{siteName}/recommendations/disable", "POST"); + Endpoints[2885] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{siteName}/recommendations/reset", "POST"); + Endpoints[2886] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/tenant/access/git", "GET"); + Endpoints[2887] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/tenant/access/regeneratePrimaryKey", "POST"); + Endpoints[2888] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/tenant/access/regenerateSecondaryKey", "POST"); + Endpoints[2889] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/tenant/configuration/deploy", "POST"); + Endpoints[2890] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/tenant/configuration/save", "POST"); + Endpoints[2891] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/tenant/configuration/syncState", "GET"); + Endpoints[2892] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/tenant/configuration/validate", "POST"); + Endpoints[2893] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Devices/IotHubs/{iotHubName}/routing/routes/$testall", "POST"); + Endpoints[2894] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Devices/IotHubs/{iotHubName}/routing/routes/$testnew", "POST"); + Endpoints[2895] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.OperationalInsights/workspaces/{workspaceName}/features/serviceMap/generateMap", "POST"); + Endpoints[2896] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.OperationalInsights/workspaces/{workspaceName}/features/serviceMap/machineGroups", "GET"); + Endpoints[2897] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.OperationalInsights/workspaces/{workspaceName}/features/serviceMap/machineGroups", "POST"); + Endpoints[2898] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.OperationalInsights/workspaces/{workspaceName}/features/serviceMap/machines", "GET"); + Endpoints[2899] = CreateEndpoint("/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationVaultHealth/default/refresh", "POST"); + Endpoints[2900] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Storage/storageAccounts/{accountName}/blobServices/default/containers", "GET"); + Endpoints[2901] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/hostingEnvironments/{name}/multiRolePools/default/metricdefinitions", "GET"); + Endpoints[2902] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/hostingEnvironments/{name}/multiRolePools/default/metrics", "GET"); + Endpoints[2903] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/hostingEnvironments/{name}/multiRolePools/default/skus", "GET"); + Endpoints[2904] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/hostingEnvironments/{name}/multiRolePools/default/usages", "GET"); + Endpoints[2905] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/config/appsettings/list", "POST"); + Endpoints[2906] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/config/authsettings/list", "POST"); + Endpoints[2907] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/config/backup/list", "POST"); + Endpoints[2908] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/config/connectionstrings/list", "POST"); + Endpoints[2909] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/config/metadata/list", "POST"); + Endpoints[2910] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/config/publishingcredentials/list", "POST"); + Endpoints[2911] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/config/pushsettings/list", "POST"); + Endpoints[2912] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/config/web/snapshots", "GET"); + Endpoints[2913] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/containerlogs/zip/download", "POST"); + Endpoints[2914] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/extensions/MSDeploy/log", "GET"); + Endpoints[2915] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/functions/admin/token", "GET"); + Endpoints[2916] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/tenant/access/git/regeneratePrimaryKey", "POST"); + Endpoints[2917] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/tenant/access/git/regenerateSecondaryKey", "POST"); + Endpoints[2918] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.OperationalInsights/workspaces/{workspaceName}/features/serviceMap/summaries/machines", "GET"); + Endpoints[2919] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.OperationalInsights/workspaces/{workspaceName}/features/serviceMap/clientGroups/{clientGroupName}", "GET"); + Endpoints[2920] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.OperationalInsights/workspaces/{workspaceName}/features/serviceMap/machineGroups/{machineGroupName}", "GET"); + Endpoints[2921] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.OperationalInsights/workspaces/{workspaceName}/features/serviceMap/machineGroups/{machineGroupName}", "DELETE"); + Endpoints[2922] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.OperationalInsights/workspaces/{workspaceName}/features/serviceMap/machineGroups/{machineGroupName}", "PUT"); + Endpoints[2923] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.OperationalInsights/workspaces/{workspaceName}/features/serviceMap/machines/{machineName}", "GET"); + Endpoints[2924] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Storage/storageAccounts/{accountName}/blobServices/default/containers/{containerName}", "PATCH"); + Endpoints[2925] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Storage/storageAccounts/{accountName}/blobServices/default/containers/{containerName}", "GET"); + Endpoints[2926] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Storage/storageAccounts/{accountName}/blobServices/default/containers/{containerName}", "DELETE"); + Endpoints[2927] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Storage/storageAccounts/{accountName}/blobServices/default/containers/{containerName}", "PUT"); + Endpoints[2928] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/config/web/snapshots/{snapshotId}", "GET"); + Endpoints[2929] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.OperationalInsights/workspaces/{workspaceName}/features/serviceMap/clientGroups/{clientGroupName}/members", "GET"); + Endpoints[2930] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.OperationalInsights/workspaces/{workspaceName}/features/serviceMap/clientGroups/{clientGroupName}/membersCount", "GET"); + Endpoints[2931] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.OperationalInsights/workspaces/{workspaceName}/features/serviceMap/machines/{machineName}/connections", "GET"); + Endpoints[2932] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.OperationalInsights/workspaces/{workspaceName}/features/serviceMap/machines/{machineName}/liveness", "GET"); + Endpoints[2933] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.OperationalInsights/workspaces/{workspaceName}/features/serviceMap/machines/{machineName}/machineGroups", "GET"); + Endpoints[2934] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.OperationalInsights/workspaces/{workspaceName}/features/serviceMap/machines/{machineName}/ports", "GET"); + Endpoints[2935] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.OperationalInsights/workspaces/{workspaceName}/features/serviceMap/machines/{machineName}/processes", "GET"); + Endpoints[2936] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Storage/storageAccounts/{accountName}/blobServices/default/containers/{containerName}/clearLegalHold", "POST"); + Endpoints[2937] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Storage/storageAccounts/{accountName}/blobServices/default/containers/{containerName}/setLegalHold", "POST"); + Endpoints[2938] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/hostingEnvironments/{name}/multiRolePools/default/instances/{instance}/metricdefinitions", "GET"); + Endpoints[2939] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/hostingEnvironments/{name}/multiRolePools/default/instances/{instance}/metrics", "GET"); + Endpoints[2940] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/config/web/snapshots/{snapshotId}/recover", "POST"); + Endpoints[2941] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Storage/storageAccounts/{accountName}/blobServices/default/containers/{containerName}/immutabilityPolicies/default/extend", "POST"); + Endpoints[2942] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Storage/storageAccounts/{accountName}/blobServices/default/containers/{containerName}/immutabilityPolicies/default/lock", "POST"); + Endpoints[2943] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.OperationalInsights/workspaces/{workspaceName}/features/serviceMap/machines/{machineName}/ports/{portName}", "GET"); + Endpoints[2944] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.OperationalInsights/workspaces/{workspaceName}/features/serviceMap/machines/{machineName}/processes/{processName}", "GET"); + Endpoints[2945] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Storage/storageAccounts/{accountName}/blobServices/default/containers/{containerName}/immutabilityPolicies/{immutabilityPolicyName}", "GET"); + Endpoints[2946] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Storage/storageAccounts/{accountName}/blobServices/default/containers/{containerName}/immutabilityPolicies/{immutabilityPolicyName}", "PUT"); + Endpoints[2947] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Storage/storageAccounts/{accountName}/blobServices/default/containers/{containerName}/immutabilityPolicies/{immutabilityPolicyName}", "DELETE"); + Endpoints[2948] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.OperationalInsights/workspaces/{workspaceName}/features/serviceMap/machines/{machineName}/ports/{portName}/acceptingProcesses", "GET"); + Endpoints[2949] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.OperationalInsights/workspaces/{workspaceName}/features/serviceMap/machines/{machineName}/ports/{portName}/connections", "GET"); + Endpoints[2950] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.OperationalInsights/workspaces/{workspaceName}/features/serviceMap/machines/{machineName}/ports/{portName}/liveness", "GET"); + Endpoints[2951] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.OperationalInsights/workspaces/{workspaceName}/features/serviceMap/machines/{machineName}/processes/{processName}/acceptingPorts", "GET"); + Endpoints[2952] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.OperationalInsights/workspaces/{workspaceName}/features/serviceMap/machines/{machineName}/processes/{processName}/connections", "GET"); + Endpoints[2953] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.OperationalInsights/workspaces/{workspaceName}/features/serviceMap/machines/{machineName}/processes/{processName}/liveness", "GET"); + Endpoints[2954] = CreateEndpoint("/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupJobs/operationResults/{operationId}", "GET"); + Endpoints[2955] = CreateEndpoint("/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.Storage.Admin/farms/{farmId}/shares/operationresults/{operationId}", "POST"); + Endpoints[2956] = CreateEndpoint("/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.Storage.Admin/farms/{farmId}/shares/operationresults/{operationId}", "GET"); + Endpoints[2957] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroup/{resourceGroupName}/providers/Microsoft.MachineLearningServices/workspaces/{workspaceName}/computes/{computeName}", "PUT"); + Endpoints[2958] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroup/{resourceGroupName}/providers/Microsoft.MachineLearningServices/workspaces/{workspaceName}/computes/{computeName}", "DELETE"); + Endpoints[2959] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroup/{resourceGroupName}/providers/Microsoft.MachineLearningServices/workspaces/{workspaceName}/computes/{computeName}", "GET"); + Endpoints[2960] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{groupName}/providers/Microsoft.DataMigration/services/{serviceName}/projects/{projectName}", "PATCH"); + Endpoints[2961] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{groupName}/providers/Microsoft.DataMigration/services/{serviceName}/projects/{projectName}", "DELETE"); + Endpoints[2962] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{groupName}/providers/Microsoft.DataMigration/services/{serviceName}/projects/{projectName}", "GET"); + Endpoints[2963] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{groupName}/providers/Microsoft.DataMigration/services/{serviceName}/projects/{projectName}", "PUT"); + Endpoints[2964] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{groupName}/providers/Microsoft.DataMigration/services/{serviceName}/projects/{projectName}", "PARAMETERS"); + Endpoints[2965] = CreateEndpoint("/subscriptions/{subscriptionId}/resourcegroups/{resourceGroup}/providers/Microsoft.AzureBridge.Admin/activations/{activationName}/downloadedProducts/{productName}", "GET"); + Endpoints[2966] = CreateEndpoint("/subscriptions/{subscriptionId}/resourcegroups/{resourceGroup}/providers/Microsoft.AzureBridge.Admin/activations/{activationName}/downloadedProducts/{productName}", "DELETE"); + Endpoints[2967] = CreateEndpoint("/subscriptions/{subscriptionId}/resourcegroups/{resourceGroup}/providers/Microsoft.AzureBridge.Admin/activations/{activationName}/products/{productName}", "GET"); + Endpoints[2968] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroup}/providers/Microsoft.AzureStack/registrations/{registrationName}/customerSubscriptions/{customerSubscriptionName}", "PUT"); + Endpoints[2969] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroup}/providers/Microsoft.AzureStack/registrations/{registrationName}/customerSubscriptions/{customerSubscriptionName}", "GET"); + Endpoints[2970] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroup}/providers/Microsoft.AzureStack/registrations/{registrationName}/customerSubscriptions/{customerSubscriptionName}", "DELETE"); + Endpoints[2971] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroup}/providers/Microsoft.AzureStack/registrations/{registrationName}/products/{productName}", "GET"); + Endpoints[2972] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/apis/{apiId}", "PATCH"); + Endpoints[2973] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/apis/{apiId}", "DELETE"); + Endpoints[2974] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/apis/{apiId}", "HEAD"); + Endpoints[2975] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/apis/{apiId}", "GET"); + Endpoints[2976] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/apis/{apiId}", "PUT"); + Endpoints[2977] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/api-version-sets/{versionSetId}", "HEAD"); + Endpoints[2978] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/api-version-sets/{versionSetId}", "DELETE"); + Endpoints[2979] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/api-version-sets/{versionSetId}", "GET"); + Endpoints[2980] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/api-version-sets/{versionSetId}", "PUT"); + Endpoints[2981] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/api-version-sets/{versionSetId}", "PATCH"); + Endpoints[2982] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/api-version-sets/{versionSetId}", "PARAMETERS"); + Endpoints[2983] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/authorizationServers/{authsid}", "HEAD"); + Endpoints[2984] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/authorizationServers/{authsid}", "GET"); + Endpoints[2985] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/authorizationServers/{authsid}", "DELETE"); + Endpoints[2986] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/authorizationServers/{authsid}", "PATCH"); + Endpoints[2987] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/authorizationServers/{authsid}", "PUT"); + Endpoints[2988] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/backends/{backendid}", "PUT"); + Endpoints[2989] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/backends/{backendid}", "GET"); + Endpoints[2990] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/backends/{backendid}", "PATCH"); + Endpoints[2991] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/backends/{backendid}", "DELETE"); + Endpoints[2992] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/backends/{backendid}", "HEAD"); + Endpoints[2993] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/certificates/{certificateId}", "HEAD"); + Endpoints[2994] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/certificates/{certificateId}", "GET"); + Endpoints[2995] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/certificates/{certificateId}", "PUT"); + Endpoints[2996] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/certificates/{certificateId}", "DELETE"); + Endpoints[2997] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/diagnostics/{diagnosticId}", "HEAD"); + Endpoints[2998] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/diagnostics/{diagnosticId}", "GET"); + Endpoints[2999] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/diagnostics/{diagnosticId}", "PUT"); + Endpoints[3000] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/diagnostics/{diagnosticId}", "PATCH"); + Endpoints[3001] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/diagnostics/{diagnosticId}", "DELETE"); + Endpoints[3002] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/groups/{groupId}", "DELETE"); + Endpoints[3003] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/groups/{groupId}", "PATCH"); + Endpoints[3004] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/groups/{groupId}", "HEAD"); + Endpoints[3005] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/groups/{groupId}", "GET"); + Endpoints[3006] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/groups/{groupId}", "PUT"); + Endpoints[3007] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/identityProviders/{identityProviderName}", "HEAD"); + Endpoints[3008] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/identityProviders/{identityProviderName}", "GET"); + Endpoints[3009] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/identityProviders/{identityProviderName}", "DELETE"); + Endpoints[3010] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/identityProviders/{identityProviderName}", "PUT"); + Endpoints[3011] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/identityProviders/{identityProviderName}", "PATCH"); + Endpoints[3012] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/loggers/{loggerid}", "PUT"); + Endpoints[3013] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/loggers/{loggerid}", "GET"); + Endpoints[3014] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/loggers/{loggerid}", "HEAD"); + Endpoints[3015] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/loggers/{loggerid}", "PATCH"); + Endpoints[3016] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/loggers/{loggerid}", "DELETE"); + Endpoints[3017] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/notifications/{notificationName}", "PUT"); + Endpoints[3018] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/notifications/{notificationName}", "GET"); + Endpoints[3019] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/openidConnectProviders/{opid}", "GET"); + Endpoints[3020] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/openidConnectProviders/{opid}", "HEAD"); + Endpoints[3021] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/openidConnectProviders/{opid}", "PUT"); + Endpoints[3022] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/openidConnectProviders/{opid}", "PATCH"); + Endpoints[3023] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/openidConnectProviders/{opid}", "DELETE"); + Endpoints[3024] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/policies/{policyId}", "DELETE"); + Endpoints[3025] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/policies/{policyId}", "GET"); + Endpoints[3026] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/policies/{policyId}", "HEAD"); + Endpoints[3027] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/policies/{policyId}", "PUT"); + Endpoints[3028] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/products/{productId}", "DELETE"); + Endpoints[3029] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/products/{productId}", "PUT"); + Endpoints[3030] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/products/{productId}", "PATCH"); + Endpoints[3031] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/products/{productId}", "GET"); + Endpoints[3032] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/products/{productId}", "HEAD"); + Endpoints[3033] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/properties/{propId}", "GET"); + Endpoints[3034] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/properties/{propId}", "PUT"); + Endpoints[3035] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/properties/{propId}", "PATCH"); + Endpoints[3036] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/properties/{propId}", "DELETE"); + Endpoints[3037] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/properties/{propId}", "HEAD"); + Endpoints[3038] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/quotas/{quotaCounterKey}", "GET"); + Endpoints[3039] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/quotas/{quotaCounterKey}", "PATCH"); + Endpoints[3040] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/reports/{aggregation}", "GET"); + Endpoints[3041] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/subscriptions/{sid}", "DELETE"); + Endpoints[3042] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/subscriptions/{sid}", "HEAD"); + Endpoints[3043] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/subscriptions/{sid}", "GET"); + Endpoints[3044] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/subscriptions/{sid}", "PUT"); + Endpoints[3045] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/subscriptions/{sid}", "PATCH"); + Endpoints[3046] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/tags/{tagId}", "HEAD"); + Endpoints[3047] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/tags/{tagId}", "GET"); + Endpoints[3048] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/tags/{tagId}", "DELETE"); + Endpoints[3049] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/tags/{tagId}", "PATCH"); + Endpoints[3050] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/tags/{tagId}", "PUT"); + Endpoints[3051] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/templates/{templateName}", "PATCH"); + Endpoints[3052] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/templates/{templateName}", "GET"); + Endpoints[3053] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/templates/{templateName}", "HEAD"); + Endpoints[3054] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/templates/{templateName}", "DELETE"); + Endpoints[3055] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/templates/{templateName}", "PUT"); + Endpoints[3056] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/tenant/{accessName}", "GET"); + Endpoints[3057] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/tenant/{accessName}", "PATCH"); + Endpoints[3058] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/users/{uid}", "DELETE"); + Endpoints[3059] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/users/{uid}", "PATCH"); + Endpoints[3060] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/users/{uid}", "HEAD"); + Endpoints[3061] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/users/{uid}", "GET"); + Endpoints[3062] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/users/{uid}", "PUT"); + Endpoints[3063] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Automation/automationAccounts/{automationAccountName}/certificates/{certificateName}", "DELETE"); + Endpoints[3064] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Automation/automationAccounts/{automationAccountName}/certificates/{certificateName}", "GET"); + Endpoints[3065] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Automation/automationAccounts/{automationAccountName}/certificates/{certificateName}", "PUT"); + Endpoints[3066] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Automation/automationAccounts/{automationAccountName}/certificates/{certificateName}", "PATCH"); + Endpoints[3067] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Automation/automationAccounts/{automationAccountName}/compilationjobs/{compilationJobName}", "PUT"); + Endpoints[3068] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Automation/automationAccounts/{automationAccountName}/compilationjobs/{compilationJobName}", "GET"); + Endpoints[3069] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Automation/automationAccounts/{automationAccountName}/configurations/{configurationName}", "DELETE"); + Endpoints[3070] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Automation/automationAccounts/{automationAccountName}/configurations/{configurationName}", "GET"); + Endpoints[3071] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Automation/automationAccounts/{automationAccountName}/configurations/{configurationName}", "PUT"); + Endpoints[3072] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Automation/automationAccounts/{automationAccountName}/configurations/{configurationName}", "PATCH"); + Endpoints[3073] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Automation/automationAccounts/{automationAccountName}/connections/{connectionName}", "GET"); + Endpoints[3074] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Automation/automationAccounts/{automationAccountName}/connections/{connectionName}", "PATCH"); + Endpoints[3075] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Automation/automationAccounts/{automationAccountName}/connections/{connectionName}", "PUT"); + Endpoints[3076] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Automation/automationAccounts/{automationAccountName}/connections/{connectionName}", "DELETE"); + Endpoints[3077] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Automation/automationAccounts/{automationAccountName}/connectionTypes/{connectionTypeName}", "PUT"); + Endpoints[3078] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Automation/automationAccounts/{automationAccountName}/connectionTypes/{connectionTypeName}", "DELETE"); + Endpoints[3079] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Automation/automationAccounts/{automationAccountName}/connectionTypes/{connectionTypeName}", "GET"); + Endpoints[3080] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Automation/automationAccounts/{automationAccountName}/credentials/{credentialName}", "PATCH"); + Endpoints[3081] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Automation/automationAccounts/{automationAccountName}/credentials/{credentialName}", "GET"); + Endpoints[3082] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Automation/automationAccounts/{automationAccountName}/credentials/{credentialName}", "DELETE"); + Endpoints[3083] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Automation/automationAccounts/{automationAccountName}/credentials/{credentialName}", "PUT"); + Endpoints[3084] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Automation/automationAccounts/{automationAccountName}/hybridRunbookWorkerGroups/{hybridRunbookWorkerGroupName}", "PATCH"); + Endpoints[3085] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Automation/automationAccounts/{automationAccountName}/hybridRunbookWorkerGroups/{hybridRunbookWorkerGroupName}", "GET"); + Endpoints[3086] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Automation/automationAccounts/{automationAccountName}/hybridRunbookWorkerGroups/{hybridRunbookWorkerGroupName}", "DELETE"); + Endpoints[3087] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Automation/automationAccounts/{automationAccountName}/jobs/{jobId}", "PUT"); + Endpoints[3088] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Automation/automationAccounts/{automationAccountName}/jobs/{jobId}", "GET"); + Endpoints[3089] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Automation/automationAccounts/{automationAccountName}/jobSchedules/{jobScheduleId}", "GET"); + Endpoints[3090] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Automation/automationAccounts/{automationAccountName}/jobSchedules/{jobScheduleId}", "PUT"); + Endpoints[3091] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Automation/automationAccounts/{automationAccountName}/jobSchedules/{jobScheduleId}", "DELETE"); + Endpoints[3092] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Automation/automationAccounts/{automationAccountName}/modules/{moduleName}", "GET"); + Endpoints[3093] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Automation/automationAccounts/{automationAccountName}/modules/{moduleName}", "PUT"); + Endpoints[3094] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Automation/automationAccounts/{automationAccountName}/modules/{moduleName}", "DELETE"); + Endpoints[3095] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Automation/automationAccounts/{automationAccountName}/modules/{moduleName}", "PATCH"); + Endpoints[3096] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Automation/automationAccounts/{automationAccountName}/nodeConfigurations/{nodeConfigurationName}", "GET"); + Endpoints[3097] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Automation/automationAccounts/{automationAccountName}/nodeConfigurations/{nodeConfigurationName}", "DELETE"); + Endpoints[3098] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Automation/automationAccounts/{automationAccountName}/nodeConfigurations/{nodeConfigurationName}", "PUT"); + Endpoints[3099] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Automation/automationAccounts/{automationAccountName}/nodecounts/{countType}", "GET"); + Endpoints[3100] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Automation/automationAccounts/{automationAccountName}/nodes/{nodeId}", "GET"); + Endpoints[3101] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Automation/automationAccounts/{automationAccountName}/nodes/{nodeId}", "DELETE"); + Endpoints[3102] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Automation/automationAccounts/{automationAccountName}/nodes/{nodeId}", "PATCH"); + Endpoints[3103] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Automation/automationAccounts/{automationAccountName}/runbooks/{runbookName}", "GET"); + Endpoints[3104] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Automation/automationAccounts/{automationAccountName}/runbooks/{runbookName}", "PUT"); + Endpoints[3105] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Automation/automationAccounts/{automationAccountName}/runbooks/{runbookName}", "DELETE"); + Endpoints[3106] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Automation/automationAccounts/{automationAccountName}/runbooks/{runbookName}", "PATCH"); + Endpoints[3107] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Automation/automationAccounts/{automationAccountName}/schedules/{scheduleName}", "DELETE"); + Endpoints[3108] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Automation/automationAccounts/{automationAccountName}/schedules/{scheduleName}", "GET"); + Endpoints[3109] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Automation/automationAccounts/{automationAccountName}/schedules/{scheduleName}", "PATCH"); + Endpoints[3110] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Automation/automationAccounts/{automationAccountName}/schedules/{scheduleName}", "PUT"); + Endpoints[3111] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Automation/automationAccounts/{automationAccountName}/softwareUpdateConfigurationMachineRuns/{softwareUpdateConfigurationMachineRunId}", "GET"); + Endpoints[3112] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Automation/automationAccounts/{automationAccountName}/softwareUpdateConfigurationRuns/{softwareUpdateConfigurationRunId}", "GET"); + Endpoints[3113] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Automation/automationAccounts/{automationAccountName}/softwareUpdateConfigurations/{softwareUpdateConfigurationName}", "PUT"); + Endpoints[3114] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Automation/automationAccounts/{automationAccountName}/softwareUpdateConfigurations/{softwareUpdateConfigurationName}", "GET"); + Endpoints[3115] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Automation/automationAccounts/{automationAccountName}/softwareUpdateConfigurations/{softwareUpdateConfigurationName}", "DELETE"); + Endpoints[3116] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Automation/automationAccounts/{automationAccountName}/sourceControls/{sourceControlName}", "GET"); + Endpoints[3117] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Automation/automationAccounts/{automationAccountName}/sourceControls/{sourceControlName}", "PUT"); + Endpoints[3118] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Automation/automationAccounts/{automationAccountName}/sourceControls/{sourceControlName}", "DELETE"); + Endpoints[3119] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Automation/automationAccounts/{automationAccountName}/sourceControls/{sourceControlName}", "PATCH"); + Endpoints[3120] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Automation/automationAccounts/{automationAccountName}/variables/{variableName}", "PATCH"); + Endpoints[3121] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Automation/automationAccounts/{automationAccountName}/variables/{variableName}", "GET"); + Endpoints[3122] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Automation/automationAccounts/{automationAccountName}/variables/{variableName}", "PUT"); + Endpoints[3123] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Automation/automationAccounts/{automationAccountName}/variables/{variableName}", "DELETE"); + Endpoints[3124] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Automation/automationAccounts/{automationAccountName}/watchers/{watcherName}", "DELETE"); + Endpoints[3125] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Automation/automationAccounts/{automationAccountName}/watchers/{watcherName}", "PATCH"); + Endpoints[3126] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Automation/automationAccounts/{automationAccountName}/watchers/{watcherName}", "GET"); + Endpoints[3127] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Automation/automationAccounts/{automationAccountName}/watchers/{watcherName}", "PUT"); + Endpoints[3128] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Automation/automationAccounts/{automationAccountName}/webhooks/{webhookName}", "PUT"); + Endpoints[3129] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Automation/automationAccounts/{automationAccountName}/webhooks/{webhookName}", "GET"); + Endpoints[3130] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Automation/automationAccounts/{automationAccountName}/webhooks/{webhookName}", "PATCH"); + Endpoints[3131] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Automation/automationAccounts/{automationAccountName}/webhooks/{webhookName}", "DELETE"); + Endpoints[3132] = CreateEndpoint("/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.Backup.Admin/backupLocations/{location}/backups/{backup}", "GET"); + Endpoints[3133] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Batch/batchAccounts/{accountName}/applications/{applicationId}", "PATCH"); + Endpoints[3134] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Batch/batchAccounts/{accountName}/applications/{applicationId}", "GET"); + Endpoints[3135] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Batch/batchAccounts/{accountName}/applications/{applicationId}", "DELETE"); + Endpoints[3136] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Batch/batchAccounts/{accountName}/applications/{applicationId}", "PUT"); + Endpoints[3137] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Batch/batchAccounts/{accountName}/certificates/{certificateName}", "PATCH"); + Endpoints[3138] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Batch/batchAccounts/{accountName}/certificates/{certificateName}", "GET"); + Endpoints[3139] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Batch/batchAccounts/{accountName}/certificates/{certificateName}", "DELETE"); + Endpoints[3140] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Batch/batchAccounts/{accountName}/certificates/{certificateName}", "PUT"); + Endpoints[3141] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Batch/batchAccounts/{accountName}/pools/{poolName}", "GET"); + Endpoints[3142] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Batch/batchAccounts/{accountName}/pools/{poolName}", "PATCH"); + Endpoints[3143] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Batch/batchAccounts/{accountName}/pools/{poolName}", "PUT"); + Endpoints[3144] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Batch/batchAccounts/{accountName}/pools/{poolName}", "DELETE"); + Endpoints[3145] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.BatchAI/workspaces/{workspaceName}/clusters/{clusterName}", "PUT"); + Endpoints[3146] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.BatchAI/workspaces/{workspaceName}/clusters/{clusterName}", "PATCH"); + Endpoints[3147] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.BatchAI/workspaces/{workspaceName}/clusters/{clusterName}", "GET"); + Endpoints[3148] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.BatchAI/workspaces/{workspaceName}/clusters/{clusterName}", "DELETE"); + Endpoints[3149] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.BatchAI/workspaces/{workspaceName}/experiments/{experimentName}", "GET"); + Endpoints[3150] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.BatchAI/workspaces/{workspaceName}/experiments/{experimentName}", "DELETE"); + Endpoints[3151] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.BatchAI/workspaces/{workspaceName}/experiments/{experimentName}", "PUT"); + Endpoints[3152] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.BatchAI/workspaces/{workspaceName}/fileServers/{fileServerName}", "PUT"); + Endpoints[3153] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.BatchAI/workspaces/{workspaceName}/fileServers/{fileServerName}", "GET"); + Endpoints[3154] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.BatchAI/workspaces/{workspaceName}/fileServers/{fileServerName}", "DELETE"); + Endpoints[3155] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.BotService/botServices/{resourceName}/channels/{channelName}", "GET"); + Endpoints[3156] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.BotService/botServices/{resourceName}/channels/{channelName}", "DELETE"); + Endpoints[3157] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.BotService/botServices/{resourceName}/channels/{channelName}", "PUT"); + Endpoints[3158] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.BotService/botServices/{resourceName}/channels/{channelName}", "PATCH"); + Endpoints[3159] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.BotService/botServices/{resourceName}/Connections/{connectionName}", "PUT"); + Endpoints[3160] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.BotService/botServices/{resourceName}/Connections/{connectionName}", "GET"); + Endpoints[3161] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.BotService/botServices/{resourceName}/Connections/{connectionName}", "PATCH"); + Endpoints[3162] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.BotService/botServices/{resourceName}/Connections/{connectionName}", "DELETE"); + Endpoints[3163] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Cache/Redis/{cacheName}/firewallRules/{ruleName}", "GET"); + Endpoints[3164] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Cache/Redis/{cacheName}/firewallRules/{ruleName}", "PUT"); + Endpoints[3165] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Cache/Redis/{cacheName}/firewallRules/{ruleName}", "DELETE"); + Endpoints[3166] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Cache/Redis/{name}/linkedServers/{linkedServerName}", "PUT"); + Endpoints[3167] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Cache/Redis/{name}/linkedServers/{linkedServerName}", "GET"); + Endpoints[3168] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Cache/Redis/{name}/linkedServers/{linkedServerName}", "DELETE"); + Endpoints[3169] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Cache/Redis/{name}/patchSchedules/{default}", "GET"); + Endpoints[3170] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Cache/Redis/{name}/patchSchedules/{default}", "DELETE"); + Endpoints[3171] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Cache/Redis/{name}/patchSchedules/{default}", "PUT"); + Endpoints[3172] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Cdn/profiles/{profileName}/endpoints/{endpointName}", "GET"); + Endpoints[3173] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Cdn/profiles/{profileName}/endpoints/{endpointName}", "PUT"); + Endpoints[3174] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Cdn/profiles/{profileName}/endpoints/{endpointName}", "DELETE"); + Endpoints[3175] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Cdn/profiles/{profileName}/endpoints/{endpointName}", "PATCH"); + Endpoints[3176] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.CertificateRegistration/certificateOrders/{certificateOrderName}/certificates/{name}", "GET"); + Endpoints[3177] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.CertificateRegistration/certificateOrders/{certificateOrderName}/certificates/{name}", "PUT"); + Endpoints[3178] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.CertificateRegistration/certificateOrders/{certificateOrderName}/certificates/{name}", "DELETE"); + Endpoints[3179] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.CertificateRegistration/certificateOrders/{certificateOrderName}/certificates/{name}", "PATCH"); + Endpoints[3180] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/galleries/{galleryName}/images/{galleryImageName}", "GET"); + Endpoints[3181] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/galleries/{galleryName}/images/{galleryImageName}", "DELETE"); + Endpoints[3182] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/galleries/{galleryName}/images/{galleryImageName}", "PUT"); + Endpoints[3183] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/virtualMachines/{vmName}/extensions/{vmExtensionName}", "PUT"); + Endpoints[3184] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/virtualMachines/{vmName}/extensions/{vmExtensionName}", "PATCH"); + Endpoints[3185] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/virtualMachines/{vmName}/extensions/{vmExtensionName}", "DELETE"); + Endpoints[3186] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/virtualMachines/{vmName}/extensions/{vmExtensionName}", "GET"); + Endpoints[3187] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/virtualMachineScaleSets/{vmScaleSetName}/extensions/{vmssExtensionName}", "PUT"); + Endpoints[3188] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/virtualMachineScaleSets/{vmScaleSetName}/extensions/{vmssExtensionName}", "DELETE"); + Endpoints[3189] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/virtualMachineScaleSets/{vmScaleSetName}/extensions/{vmssExtensionName}", "GET"); + Endpoints[3190] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/virtualMachineScaleSets/{vmScaleSetName}/virtualmachines/{instanceId}", "PUT"); + Endpoints[3191] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/virtualMachineScaleSets/{vmScaleSetName}/virtualmachines/{instanceId}", "DELETE"); + Endpoints[3192] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/virtualMachineScaleSets/{vmScaleSetName}/virtualmachines/{instanceId}", "GET"); + Endpoints[3193] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerRegistry/registries/{registryName}/builds/{buildId}", "PATCH"); + Endpoints[3194] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerRegistry/registries/{registryName}/builds/{buildId}", "GET"); + Endpoints[3195] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerRegistry/registries/{registryName}/buildTasks/{buildTaskName}", "PATCH"); + Endpoints[3196] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerRegistry/registries/{registryName}/buildTasks/{buildTaskName}", "DELETE"); + Endpoints[3197] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerRegistry/registries/{registryName}/buildTasks/{buildTaskName}", "PUT"); + Endpoints[3198] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerRegistry/registries/{registryName}/buildTasks/{buildTaskName}", "GET"); + Endpoints[3199] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerRegistry/registries/{registryName}/replications/{replicationName}", "PATCH"); + Endpoints[3200] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerRegistry/registries/{registryName}/replications/{replicationName}", "PUT"); + Endpoints[3201] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerRegistry/registries/{registryName}/replications/{replicationName}", "GET"); + Endpoints[3202] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerRegistry/registries/{registryName}/replications/{replicationName}", "DELETE"); + Endpoints[3203] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerRegistry/registries/{registryName}/webhooks/{webhookName}", "DELETE"); + Endpoints[3204] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerRegistry/registries/{registryName}/webhooks/{webhookName}", "GET"); + Endpoints[3205] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerRegistry/registries/{registryName}/webhooks/{webhookName}", "PUT"); + Endpoints[3206] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerRegistry/registries/{registryName}/webhooks/{webhookName}", "PATCH"); + Endpoints[3207] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}/accessProfiles/{roleName}", "GET"); + Endpoints[3208] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.CustomerInsights/hubs/{hubName}/authorizationPolicies/{authorizationPolicyName}", "PUT"); + Endpoints[3209] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.CustomerInsights/hubs/{hubName}/authorizationPolicies/{authorizationPolicyName}", "GET"); + Endpoints[3210] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.CustomerInsights/hubs/{hubName}/connectors/{connectorName}", "DELETE"); + Endpoints[3211] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.CustomerInsights/hubs/{hubName}/connectors/{connectorName}", "PUT"); + Endpoints[3212] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.CustomerInsights/hubs/{hubName}/connectors/{connectorName}", "GET"); + Endpoints[3213] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.CustomerInsights/hubs/{hubName}/interactions/{interactionName}", "PUT"); + Endpoints[3214] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.CustomerInsights/hubs/{hubName}/interactions/{interactionName}", "GET"); + Endpoints[3215] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.CustomerInsights/hubs/{hubName}/kpi/{kpiName}", "DELETE"); + Endpoints[3216] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.CustomerInsights/hubs/{hubName}/kpi/{kpiName}", "PUT"); + Endpoints[3217] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.CustomerInsights/hubs/{hubName}/kpi/{kpiName}", "GET"); + Endpoints[3218] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.CustomerInsights/hubs/{hubName}/links/{linkName}", "PUT"); + Endpoints[3219] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.CustomerInsights/hubs/{hubName}/links/{linkName}", "GET"); + Endpoints[3220] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.CustomerInsights/hubs/{hubName}/links/{linkName}", "DELETE"); + Endpoints[3221] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.CustomerInsights/hubs/{hubName}/predictions/{predictionName}", "DELETE"); + Endpoints[3222] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.CustomerInsights/hubs/{hubName}/predictions/{predictionName}", "PUT"); + Endpoints[3223] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.CustomerInsights/hubs/{hubName}/predictions/{predictionName}", "GET"); + Endpoints[3224] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.CustomerInsights/hubs/{hubName}/profiles/{profileName}", "GET"); + Endpoints[3225] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.CustomerInsights/hubs/{hubName}/profiles/{profileName}", "DELETE"); + Endpoints[3226] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.CustomerInsights/hubs/{hubName}/profiles/{profileName}", "PUT"); + Endpoints[3227] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.CustomerInsights/hubs/{hubName}/relationshipLinks/{relationshipLinkName}", "GET"); + Endpoints[3228] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.CustomerInsights/hubs/{hubName}/relationshipLinks/{relationshipLinkName}", "DELETE"); + Endpoints[3229] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.CustomerInsights/hubs/{hubName}/relationshipLinks/{relationshipLinkName}", "PUT"); + Endpoints[3230] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.CustomerInsights/hubs/{hubName}/relationships/{relationshipName}", "GET"); + Endpoints[3231] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.CustomerInsights/hubs/{hubName}/relationships/{relationshipName}", "DELETE"); + Endpoints[3232] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.CustomerInsights/hubs/{hubName}/relationships/{relationshipName}", "PUT"); + Endpoints[3233] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.CustomerInsights/hubs/{hubName}/roleAssignments/{assignmentName}", "DELETE"); + Endpoints[3234] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.CustomerInsights/hubs/{hubName}/roleAssignments/{assignmentName}", "PUT"); + Endpoints[3235] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.CustomerInsights/hubs/{hubName}/roleAssignments/{assignmentName}", "GET"); + Endpoints[3236] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.CustomerInsights/hubs/{hubName}/views/{viewName}", "GET"); + Endpoints[3237] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.CustomerInsights/hubs/{hubName}/views/{viewName}", "DELETE"); + Endpoints[3238] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.CustomerInsights/hubs/{hubName}/views/{viewName}", "PUT"); + Endpoints[3239] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.CustomerInsights/hubs/{hubName}/widgetTypes/{widgetTypeName}", "GET"); + Endpoints[3240] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataFactory/factories/{factoryName}/cancelpipelinerun/{runId}", "POST"); + Endpoints[3241] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataFactory/factories/{factoryName}/datasets/{datasetName}", "DELETE"); + Endpoints[3242] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataFactory/factories/{factoryName}/datasets/{datasetName}", "PUT"); + Endpoints[3243] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataFactory/factories/{factoryName}/datasets/{datasetName}", "GET"); + Endpoints[3244] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataFactory/factories/{factoryName}/integrationRuntimes/{integrationRuntimeName}", "GET"); + Endpoints[3245] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataFactory/factories/{factoryName}/integrationRuntimes/{integrationRuntimeName}", "PATCH"); + Endpoints[3246] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataFactory/factories/{factoryName}/integrationRuntimes/{integrationRuntimeName}", "DELETE"); + Endpoints[3247] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataFactory/factories/{factoryName}/integrationRuntimes/{integrationRuntimeName}", "PUT"); + Endpoints[3248] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataFactory/factories/{factoryName}/linkedservices/{linkedServiceName}", "GET"); + Endpoints[3249] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataFactory/factories/{factoryName}/linkedservices/{linkedServiceName}", "DELETE"); + Endpoints[3250] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataFactory/factories/{factoryName}/linkedservices/{linkedServiceName}", "PUT"); + Endpoints[3251] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataFactory/factories/{factoryName}/pipelineruns/{runId}", "GET"); + Endpoints[3252] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataFactory/factories/{factoryName}/pipelines/{pipelineName}", "GET"); + Endpoints[3253] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataFactory/factories/{factoryName}/pipelines/{pipelineName}", "PUT"); + Endpoints[3254] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataFactory/factories/{factoryName}/pipelines/{pipelineName}", "DELETE"); + Endpoints[3255] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataFactory/factories/{factoryName}/triggers/{triggerName}", "GET"); + Endpoints[3256] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataFactory/factories/{factoryName}/triggers/{triggerName}", "DELETE"); + Endpoints[3257] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataFactory/factories/{factoryName}/triggers/{triggerName}", "PUT"); + Endpoints[3258] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataLakeAnalytics/accounts/{accountName}/computePolicies/{computePolicyName}", "PUT"); + Endpoints[3259] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataLakeAnalytics/accounts/{accountName}/computePolicies/{computePolicyName}", "GET"); + Endpoints[3260] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataLakeAnalytics/accounts/{accountName}/computePolicies/{computePolicyName}", "PATCH"); + Endpoints[3261] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataLakeAnalytics/accounts/{accountName}/computePolicies/{computePolicyName}", "DELETE"); + Endpoints[3262] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataLakeAnalytics/accounts/{accountName}/dataLakeStoreAccounts/{dataLakeStoreAccountName}", "GET"); + Endpoints[3263] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataLakeAnalytics/accounts/{accountName}/dataLakeStoreAccounts/{dataLakeStoreAccountName}", "PUT"); + Endpoints[3264] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataLakeAnalytics/accounts/{accountName}/dataLakeStoreAccounts/{dataLakeStoreAccountName}", "DELETE"); + Endpoints[3265] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataLakeAnalytics/accounts/{accountName}/firewallRules/{firewallRuleName}", "PUT"); + Endpoints[3266] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataLakeAnalytics/accounts/{accountName}/firewallRules/{firewallRuleName}", "GET"); + Endpoints[3267] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataLakeAnalytics/accounts/{accountName}/firewallRules/{firewallRuleName}", "PATCH"); + Endpoints[3268] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataLakeAnalytics/accounts/{accountName}/firewallRules/{firewallRuleName}", "DELETE"); + Endpoints[3269] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataLakeAnalytics/accounts/{accountName}/storageAccounts/{storageAccountName}", "PUT"); + Endpoints[3270] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataLakeAnalytics/accounts/{accountName}/storageAccounts/{storageAccountName}", "PATCH"); + Endpoints[3271] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataLakeAnalytics/accounts/{accountName}/storageAccounts/{storageAccountName}", "GET"); + Endpoints[3272] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataLakeAnalytics/accounts/{accountName}/storageAccounts/{storageAccountName}", "DELETE"); + Endpoints[3273] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataLakeStore/accounts/{accountName}/firewallRules/{firewallRuleName}", "GET"); + Endpoints[3274] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataLakeStore/accounts/{accountName}/firewallRules/{firewallRuleName}", "PUT"); + Endpoints[3275] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataLakeStore/accounts/{accountName}/firewallRules/{firewallRuleName}", "DELETE"); + Endpoints[3276] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataLakeStore/accounts/{accountName}/firewallRules/{firewallRuleName}", "PATCH"); + Endpoints[3277] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataLakeStore/accounts/{accountName}/trustedIdProviders/{trustedIdProviderName}", "PATCH"); + Endpoints[3278] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataLakeStore/accounts/{accountName}/trustedIdProviders/{trustedIdProviderName}", "GET"); + Endpoints[3279] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataLakeStore/accounts/{accountName}/trustedIdProviders/{trustedIdProviderName}", "PUT"); + Endpoints[3280] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataLakeStore/accounts/{accountName}/trustedIdProviders/{trustedIdProviderName}", "DELETE"); + Endpoints[3281] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataLakeStore/accounts/{accountName}/virtualNetworkRules/{virtualNetworkRuleName}", "PUT"); + Endpoints[3282] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataLakeStore/accounts/{accountName}/virtualNetworkRules/{virtualNetworkRuleName}", "GET"); + Endpoints[3283] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataLakeStore/accounts/{accountName}/virtualNetworkRules/{virtualNetworkRuleName}", "DELETE"); + Endpoints[3284] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataLakeStore/accounts/{accountName}/virtualNetworkRules/{virtualNetworkRuleName}", "PATCH"); + Endpoints[3285] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBforMySQL/servers/{serverName}/configurations/{configurationName}", "PUT"); + Endpoints[3286] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBforMySQL/servers/{serverName}/configurations/{configurationName}", "GET"); + Endpoints[3287] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBforMySQL/servers/{serverName}/databases/{databaseName}", "DELETE"); + Endpoints[3288] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBforMySQL/servers/{serverName}/databases/{databaseName}", "GET"); + Endpoints[3289] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBforMySQL/servers/{serverName}/databases/{databaseName}", "PUT"); + Endpoints[3290] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBforMySQL/servers/{serverName}/firewallRules/{firewallRuleName}", "DELETE"); + Endpoints[3291] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBforMySQL/servers/{serverName}/firewallRules/{firewallRuleName}", "GET"); + Endpoints[3292] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBforMySQL/servers/{serverName}/firewallRules/{firewallRuleName}", "PUT"); + Endpoints[3293] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBforMySQL/servers/{serverName}/virtualNetworkRules/{virtualNetworkRuleName}", "DELETE"); + Endpoints[3294] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBforMySQL/servers/{serverName}/virtualNetworkRules/{virtualNetworkRuleName}", "PUT"); + Endpoints[3295] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBforMySQL/servers/{serverName}/virtualNetworkRules/{virtualNetworkRuleName}", "GET"); + Endpoints[3296] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBforPostgreSQL/servers/{serverName}/configurations/{configurationName}", "PUT"); + Endpoints[3297] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBforPostgreSQL/servers/{serverName}/configurations/{configurationName}", "GET"); + Endpoints[3298] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBforPostgreSQL/servers/{serverName}/databases/{databaseName}", "GET"); + Endpoints[3299] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBforPostgreSQL/servers/{serverName}/databases/{databaseName}", "DELETE"); + Endpoints[3300] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBforPostgreSQL/servers/{serverName}/databases/{databaseName}", "PUT"); + Endpoints[3301] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBforPostgreSQL/servers/{serverName}/firewallRules/{firewallRuleName}", "PUT"); + Endpoints[3302] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBforPostgreSQL/servers/{serverName}/firewallRules/{firewallRuleName}", "GET"); + Endpoints[3303] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBforPostgreSQL/servers/{serverName}/firewallRules/{firewallRuleName}", "DELETE"); + Endpoints[3304] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBforPostgreSQL/servers/{serverName}/securityAlertPolicies/{securityAlertPolicyName}", "PUT"); + Endpoints[3305] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBforPostgreSQL/servers/{serverName}/securityAlertPolicies/{securityAlertPolicyName}", "GET"); + Endpoints[3306] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBforPostgreSQL/servers/{serverName}/virtualNetworkRules/{virtualNetworkRuleName}", "GET"); + Endpoints[3307] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBforPostgreSQL/servers/{serverName}/virtualNetworkRules/{virtualNetworkRuleName}", "DELETE"); + Endpoints[3308] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBforPostgreSQL/servers/{serverName}/virtualNetworkRules/{virtualNetworkRuleName}", "PUT"); + Endpoints[3309] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Devices/IotHubs/{resourceName}/certificates/{certificateName}", "GET"); + Endpoints[3310] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Devices/IotHubs/{resourceName}/certificates/{certificateName}", "PUT"); + Endpoints[3311] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Devices/IotHubs/{resourceName}/certificates/{certificateName}", "DELETE"); + Endpoints[3312] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Devices/IotHubs/{resourceName}/jobs/{jobId}", "GET"); + Endpoints[3313] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Devices/provisioningServices/{provisioningServiceName}/certificates/{certificateName}", "GET"); + Endpoints[3314] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Devices/provisioningServices/{provisioningServiceName}/certificates/{certificateName}", "PUT"); + Endpoints[3315] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Devices/provisioningServices/{provisioningServiceName}/certificates/{certificateName}", "DELETE"); + Endpoints[3316] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Devices/provisioningServices/{provisioningServiceName}/operationresults/{operationId}", "GET"); + Endpoints[3317] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DevTestLab/labs/{labName}/artifactsources/{name}", "PATCH"); + Endpoints[3318] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DevTestLab/labs/{labName}/artifactsources/{name}", "DELETE"); + Endpoints[3319] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DevTestLab/labs/{labName}/artifactsources/{name}", "PUT"); + Endpoints[3320] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DevTestLab/labs/{labName}/artifactsources/{name}", "GET"); + Endpoints[3321] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DevTestLab/labs/{labName}/costinsights/{name}", "GET"); + Endpoints[3322] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DevTestLab/labs/{labName}/costs/{name}", "GET"); + Endpoints[3323] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DevTestLab/labs/{labName}/costs/{name}", "PUT"); + Endpoints[3324] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DevTestLab/labs/{labName}/customimages/{name}", "GET"); + Endpoints[3325] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DevTestLab/labs/{labName}/customimages/{name}", "DELETE"); + Endpoints[3326] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DevTestLab/labs/{labName}/customimages/{name}", "PUT"); + Endpoints[3327] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DevTestLab/labs/{labName}/formulas/{name}", "GET"); + Endpoints[3328] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DevTestLab/labs/{labName}/formulas/{name}", "PUT"); + Endpoints[3329] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DevTestLab/labs/{labName}/formulas/{name}", "DELETE"); + Endpoints[3330] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DevTestLab/labs/{labName}/notificationchannels/{name}", "DELETE"); + Endpoints[3331] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DevTestLab/labs/{labName}/notificationchannels/{name}", "PUT"); + Endpoints[3332] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DevTestLab/labs/{labName}/notificationchannels/{name}", "GET"); + Endpoints[3333] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DevTestLab/labs/{labName}/notificationchannels/{name}", "PATCH"); + Endpoints[3334] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DevTestLab/labs/{labName}/schedules/{name}", "GET"); + Endpoints[3335] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DevTestLab/labs/{labName}/schedules/{name}", "PUT"); + Endpoints[3336] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DevTestLab/labs/{labName}/schedules/{name}", "DELETE"); + Endpoints[3337] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DevTestLab/labs/{labName}/schedules/{name}", "PATCH"); + Endpoints[3338] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DevTestLab/labs/{labName}/servicerunners/{name}", "PUT"); + Endpoints[3339] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DevTestLab/labs/{labName}/servicerunners/{name}", "GET"); + Endpoints[3340] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DevTestLab/labs/{labName}/servicerunners/{name}", "DELETE"); + Endpoints[3341] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DevTestLab/labs/{labName}/users/{name}", "GET"); + Endpoints[3342] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DevTestLab/labs/{labName}/users/{name}", "PUT"); + Endpoints[3343] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DevTestLab/labs/{labName}/users/{name}", "DELETE"); + Endpoints[3344] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DevTestLab/labs/{labName}/users/{name}", "PATCH"); + Endpoints[3345] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DevTestLab/labs/{labName}/virtualmachines/{name}", "DELETE"); + Endpoints[3346] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DevTestLab/labs/{labName}/virtualmachines/{name}", "PATCH"); + Endpoints[3347] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DevTestLab/labs/{labName}/virtualmachines/{name}", "GET"); + Endpoints[3348] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DevTestLab/labs/{labName}/virtualmachines/{name}", "PUT"); + Endpoints[3349] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DevTestLab/labs/{labName}/virtualnetworks/{name}", "DELETE"); + Endpoints[3350] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DevTestLab/labs/{labName}/virtualnetworks/{name}", "GET"); + Endpoints[3351] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DevTestLab/labs/{labName}/virtualnetworks/{name}", "PUT"); + Endpoints[3352] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DevTestLab/labs/{labName}/virtualnetworks/{name}", "PATCH"); + Endpoints[3353] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DomainRegistration/domains/{domainName}/domainOwnershipIdentifiers/{name}", "PUT"); + Endpoints[3354] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DomainRegistration/domains/{domainName}/domainOwnershipIdentifiers/{name}", "GET"); + Endpoints[3355] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DomainRegistration/domains/{domainName}/domainOwnershipIdentifiers/{name}", "PATCH"); + Endpoints[3356] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DomainRegistration/domains/{domainName}/domainOwnershipIdentifiers/{name}", "DELETE"); + Endpoints[3357] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DomainRegistration/domains/{domainName}/operationresults/{operationId}", "GET"); + Endpoints[3358] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.EventHub/namespaces/{namespaceName}/AuthorizationRules/{authorizationRuleName}", "GET"); + Endpoints[3359] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.EventHub/namespaces/{namespaceName}/AuthorizationRules/{authorizationRuleName}", "PUT"); + Endpoints[3360] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.EventHub/namespaces/{namespaceName}/AuthorizationRules/{authorizationRuleName}", "POST"); + Endpoints[3361] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.EventHub/namespaces/{namespaceName}/AuthorizationRules/{authorizationRuleName}", "DELETE"); + Endpoints[3362] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.EventHub/namespaces/{namespaceName}/disasterRecoveryConfigs/{alias}", "DELETE"); + Endpoints[3363] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.EventHub/namespaces/{namespaceName}/disasterRecoveryConfigs/{alias}", "GET"); + Endpoints[3364] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.EventHub/namespaces/{namespaceName}/disasterRecoveryConfigs/{alias}", "PUT"); + Endpoints[3365] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.EventHub/namespaces/{namespaceName}/eventhubs/{eventHubName}", "GET"); + Endpoints[3366] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.EventHub/namespaces/{namespaceName}/eventhubs/{eventHubName}", "DELETE"); + Endpoints[3367] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.EventHub/namespaces/{namespaceName}/eventhubs/{eventHubName}", "PUT"); + Endpoints[3368] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Fabric.Admin/fabricLocations/{location}/edgeGatewayPools/{edgeGatewayPool}", "GET"); + Endpoints[3369] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Fabric.Admin/fabricLocations/{location}/edgeGateways/{edgeGateway}", "GET"); + Endpoints[3370] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Fabric.Admin/fabricLocations/{location}/fileShares/{fileShare}", "GET"); + Endpoints[3371] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Fabric.Admin/fabricLocations/{location}/infraRoleInstances/{infraRoleInstance}", "GET"); + Endpoints[3372] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Fabric.Admin/fabricLocations/{location}/infraRoles/{infraRole}", "GET"); + Endpoints[3373] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Fabric.Admin/fabricLocations/{location}/ipPools/{ipPool}", "PUT"); + Endpoints[3374] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Fabric.Admin/fabricLocations/{location}/ipPools/{ipPool}", "GET"); + Endpoints[3375] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Fabric.Admin/fabricLocations/{location}/logicalNetworks/{logicalNetwork}", "GET"); + Endpoints[3376] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Fabric.Admin/fabricLocations/{location}/macAddressPools/{macAddressPool}", "GET"); + Endpoints[3377] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Fabric.Admin/fabricLocations/{location}/scaleUnitNodes/{scaleUnitNode}", "GET"); + Endpoints[3378] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Fabric.Admin/fabricLocations/{location}/scaleUnits/{scaleUnit}", "GET"); + Endpoints[3379] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Fabric.Admin/fabricLocations/{location}/slbMuxInstances/{slbMuxInstance}", "GET"); + Endpoints[3380] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Fabric.Admin/fabricLocations/{location}/storageSubSystems/{storageSubSystem}", "GET"); + Endpoints[3381] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.HDInsight/clusters/{clusterName}/applications/{applicationName}", "DELETE"); + Endpoints[3382] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.HDInsight/clusters/{clusterName}/applications/{applicationName}", "PUT"); + Endpoints[3383] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.HDInsight/clusters/{clusterName}/applications/{applicationName}", "GET"); + Endpoints[3384] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.HDInsight/clusters/{clusterName}/configurations/{configurationName}", "POST"); + Endpoints[3385] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.HDInsight/clusters/{clusterName}/configurations/{configurationName}", "GET"); + Endpoints[3386] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.HDInsight/clusters/{clusterName}/extensions/{extensionName}", "PUT"); + Endpoints[3387] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.HDInsight/clusters/{clusterName}/extensions/{extensionName}", "GET"); + Endpoints[3388] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.HDInsight/clusters/{clusterName}/extensions/{extensionName}", "DELETE"); + Endpoints[3389] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.HDInsight/clusters/{clusterName}/scriptActions/{scriptName}", "DELETE"); + Endpoints[3390] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.HDInsight/clusters/{clusterName}/scriptExecutionHistory/{scriptExecutionId}", "GET"); + Endpoints[3391] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.InfrastructureInsights.Admin/regionHealths/{location}/alerts/{alertName}", "GET"); + Endpoints[3392] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.InfrastructureInsights.Admin/regionHealths/{location}/alerts/{alertName}", "PUT"); + Endpoints[3393] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.InfrastructureInsights.Admin/regionHealths/{location}/serviceHealths/{serviceHealth}", "GET"); + Endpoints[3394] = CreateEndpoint("/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/microsoft.insights/alertrules/{ruleName}/incidents/{incidentName}", "GET"); + Endpoints[3395] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Insights/components/{resourceName}/Annotations/{annotationId}", "DELETE"); + Endpoints[3396] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Insights/components/{resourceName}/Annotations/{annotationId}", "GET"); + Endpoints[3397] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Insights/components/{resourceName}/APIKeys/{keyId}", "GET"); + Endpoints[3398] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Insights/components/{resourceName}/APIKeys/{keyId}", "DELETE"); + Endpoints[3399] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Insights/components/{resourceName}/exportconfiguration/{exportId}", "GET"); + Endpoints[3400] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Insights/components/{resourceName}/exportconfiguration/{exportId}", "DELETE"); + Endpoints[3401] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Insights/components/{resourceName}/exportconfiguration/{exportId}", "PUT"); + Endpoints[3402] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Insights/components/{resourceName}/favorites/{favoriteId}", "PATCH"); + Endpoints[3403] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Insights/components/{resourceName}/favorites/{favoriteId}", "GET"); + Endpoints[3404] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Insights/components/{resourceName}/favorites/{favoriteId}", "PUT"); + Endpoints[3405] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Insights/components/{resourceName}/favorites/{favoriteId}", "DELETE"); + Endpoints[3406] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Insights/components/{resourceName}/ProactiveDetectionConfigs/{ConfigurationId}", "GET"); + Endpoints[3407] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Insights/components/{resourceName}/ProactiveDetectionConfigs/{ConfigurationId}", "PUT"); + Endpoints[3408] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Insights/components/{resourceName}/WorkItemConfigs/{workItemConfigId}", "DELETE"); + Endpoints[3409] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Insights/metricAlerts/{ruleName}/status/{statusName}", "GET"); + Endpoints[3410] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.KeyVault/vaults/{vaultName}/accessPolicies/{operationKind}", "PUT"); + Endpoints[3411] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.KeyVault/vaults/{vaultName}/secrets/{secretName}", "PUT"); + Endpoints[3412] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.KeyVault/vaults/{vaultName}/secrets/{secretName}", "GET"); + Endpoints[3413] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.KeyVault/vaults/{vaultName}/secrets/{secretName}", "PATCH"); + Endpoints[3414] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Logic/integrationAccounts/{integrationAccountName}/agreements/{agreementName}", "DELETE"); + Endpoints[3415] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Logic/integrationAccounts/{integrationAccountName}/agreements/{agreementName}", "PUT"); + Endpoints[3416] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Logic/integrationAccounts/{integrationAccountName}/agreements/{agreementName}", "GET"); + Endpoints[3417] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Logic/integrationAccounts/{integrationAccountName}/assemblies/{assemblyArtifactName}", "GET"); + Endpoints[3418] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Logic/integrationAccounts/{integrationAccountName}/assemblies/{assemblyArtifactName}", "PUT"); + Endpoints[3419] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Logic/integrationAccounts/{integrationAccountName}/assemblies/{assemblyArtifactName}", "DELETE"); + Endpoints[3420] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Logic/integrationAccounts/{integrationAccountName}/batchConfigurations/{batchConfigurationName}", "GET"); + Endpoints[3421] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Logic/integrationAccounts/{integrationAccountName}/batchConfigurations/{batchConfigurationName}", "PUT"); + Endpoints[3422] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Logic/integrationAccounts/{integrationAccountName}/batchConfigurations/{batchConfigurationName}", "DELETE"); + Endpoints[3423] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Logic/integrationAccounts/{integrationAccountName}/certificates/{certificateName}", "PUT"); + Endpoints[3424] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Logic/integrationAccounts/{integrationAccountName}/certificates/{certificateName}", "GET"); + Endpoints[3425] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Logic/integrationAccounts/{integrationAccountName}/certificates/{certificateName}", "DELETE"); + Endpoints[3426] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Logic/integrationAccounts/{integrationAccountName}/maps/{mapName}", "PUT"); + Endpoints[3427] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Logic/integrationAccounts/{integrationAccountName}/maps/{mapName}", "DELETE"); + Endpoints[3428] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Logic/integrationAccounts/{integrationAccountName}/maps/{mapName}", "GET"); + Endpoints[3429] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Logic/integrationAccounts/{integrationAccountName}/partners/{partnerName}", "PUT"); + Endpoints[3430] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Logic/integrationAccounts/{integrationAccountName}/partners/{partnerName}", "DELETE"); + Endpoints[3431] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Logic/integrationAccounts/{integrationAccountName}/partners/{partnerName}", "GET"); + Endpoints[3432] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Logic/integrationAccounts/{integrationAccountName}/schemas/{schemaName}", "GET"); + Endpoints[3433] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Logic/integrationAccounts/{integrationAccountName}/schemas/{schemaName}", "PUT"); + Endpoints[3434] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Logic/integrationAccounts/{integrationAccountName}/schemas/{schemaName}", "DELETE"); + Endpoints[3435] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Logic/integrationAccounts/{integrationAccountName}/sessions/{sessionName}", "GET"); + Endpoints[3436] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Logic/integrationAccounts/{integrationAccountName}/sessions/{sessionName}", "PUT"); + Endpoints[3437] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Logic/integrationAccounts/{integrationAccountName}/sessions/{sessionName}", "DELETE"); + Endpoints[3438] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Logic/workflows/{workflowName}/accessKeys/{accessKeyName}", "GET"); + Endpoints[3439] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Logic/workflows/{workflowName}/accessKeys/{accessKeyName}", "PUT"); + Endpoints[3440] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Logic/workflows/{workflowName}/accessKeys/{accessKeyName}", "DELETE"); + Endpoints[3441] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Logic/workflows/{workflowName}/runs/{runName}", "GET"); + Endpoints[3442] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Logic/workflows/{workflowName}/triggers/{triggerName}", "GET"); + Endpoints[3443] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Logic/workflows/{workflowName}/versions/{versionId}", "GET"); + Endpoints[3444] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.MachineLearning/commitmentPlans/{commitmentPlanName}/commitmentAssociations/{commitmentAssociationName}", "GET"); + Endpoints[3445] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.MachineLearningExperimentation/accounts/{accountName}/workspaces/{workspaceName}", "DELETE"); + Endpoints[3446] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.MachineLearningExperimentation/accounts/{accountName}/workspaces/{workspaceName}", "PATCH"); + Endpoints[3447] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.MachineLearningExperimentation/accounts/{accountName}/workspaces/{workspaceName}", "PUT"); + Endpoints[3448] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.MachineLearningExperimentation/accounts/{accountName}/workspaces/{workspaceName}", "GET"); + Endpoints[3449] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Media/mediaServices/{accountName}/assets/{assetName}", "DELETE"); + Endpoints[3450] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Media/mediaServices/{accountName}/assets/{assetName}", "GET"); + Endpoints[3451] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Media/mediaServices/{accountName}/assets/{assetName}", "PUT"); + Endpoints[3452] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Media/mediaServices/{accountName}/assets/{assetName}", "PATCH"); + Endpoints[3453] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Media/mediaServices/{accountName}/contentKeyPolicies/{contentKeyPolicyName}", "PUT"); + Endpoints[3454] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Media/mediaServices/{accountName}/contentKeyPolicies/{contentKeyPolicyName}", "PATCH"); + Endpoints[3455] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Media/mediaServices/{accountName}/contentKeyPolicies/{contentKeyPolicyName}", "DELETE"); + Endpoints[3456] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Media/mediaServices/{accountName}/contentKeyPolicies/{contentKeyPolicyName}", "GET"); + Endpoints[3457] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Media/mediaservices/{accountName}/liveEvents/{liveEventName}", "PUT"); + Endpoints[3458] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Media/mediaservices/{accountName}/liveEvents/{liveEventName}", "DELETE"); + Endpoints[3459] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Media/mediaservices/{accountName}/liveEvents/{liveEventName}", "PATCH"); + Endpoints[3460] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Media/mediaservices/{accountName}/liveEvents/{liveEventName}", "GET"); + Endpoints[3461] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Media/mediaservices/{accountName}/streamingEndpoints/{streamingEndpointName}", "GET"); + Endpoints[3462] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Media/mediaservices/{accountName}/streamingEndpoints/{streamingEndpointName}", "PUT"); + Endpoints[3463] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Media/mediaservices/{accountName}/streamingEndpoints/{streamingEndpointName}", "DELETE"); + Endpoints[3464] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Media/mediaservices/{accountName}/streamingEndpoints/{streamingEndpointName}", "PATCH"); + Endpoints[3465] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Media/mediaServices/{accountName}/streamingLocators/{streamingLocatorName}", "DELETE"); + Endpoints[3466] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Media/mediaServices/{accountName}/streamingLocators/{streamingLocatorName}", "GET"); + Endpoints[3467] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Media/mediaServices/{accountName}/streamingLocators/{streamingLocatorName}", "PUT"); + Endpoints[3468] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Media/mediaServices/{accountName}/streamingPolicies/{streamingPolicyName}", "DELETE"); + Endpoints[3469] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Media/mediaServices/{accountName}/streamingPolicies/{streamingPolicyName}", "GET"); + Endpoints[3470] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Media/mediaServices/{accountName}/streamingPolicies/{streamingPolicyName}", "PUT"); + Endpoints[3471] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Media/mediaServices/{accountName}/transforms/{transformName}", "PUT"); + Endpoints[3472] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Media/mediaServices/{accountName}/transforms/{transformName}", "GET"); + Endpoints[3473] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Media/mediaServices/{accountName}/transforms/{transformName}", "DELETE"); + Endpoints[3474] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Media/mediaServices/{accountName}/transforms/{transformName}", "PATCH"); + Endpoints[3475] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Migrate/projects/{projectName}/groups/{groupName}", "GET"); + Endpoints[3476] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Migrate/projects/{projectName}/groups/{groupName}", "DELETE"); + Endpoints[3477] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Migrate/projects/{projectName}/groups/{groupName}", "PUT"); + Endpoints[3478] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Migrate/projects/{projectName}/machines/{machineName}", "GET"); + Endpoints[3479] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/expressRouteCircuits/{circuitName}/authorizations/{authorizationName}", "PUT"); + Endpoints[3480] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/expressRouteCircuits/{circuitName}/authorizations/{authorizationName}", "DELETE"); + Endpoints[3481] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/expressRouteCircuits/{circuitName}/authorizations/{authorizationName}", "GET"); + Endpoints[3482] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/expressRouteCircuits/{circuitName}/peerings/{peeringName}", "GET"); + Endpoints[3483] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/expressRouteCircuits/{circuitName}/peerings/{peeringName}", "PUT"); + Endpoints[3484] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/expressRouteCircuits/{circuitName}/peerings/{peeringName}", "DELETE"); + Endpoints[3485] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/expressRouteCrossConnections/{crossConnectionName}/peerings/{peeringName}", "PUT"); + Endpoints[3486] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/expressRouteCrossConnections/{crossConnectionName}/peerings/{peeringName}", "GET"); + Endpoints[3487] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/expressRouteCrossConnections/{crossConnectionName}/peerings/{peeringName}", "DELETE"); + Endpoints[3488] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/loadBalancers/{loadBalancerName}/backendAddressPools/{backendAddressPoolName}", "GET"); + Endpoints[3489] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/loadBalancers/{loadBalancerName}/frontendIPConfigurations/{frontendIPConfigurationName}", "GET"); + Endpoints[3490] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/loadBalancers/{loadBalancerName}/inboundNatRules/{inboundNatRuleName}", "DELETE"); + Endpoints[3491] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/loadBalancers/{loadBalancerName}/inboundNatRules/{inboundNatRuleName}", "PUT"); + Endpoints[3492] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/loadBalancers/{loadBalancerName}/inboundNatRules/{inboundNatRuleName}", "GET"); + Endpoints[3493] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/loadBalancers/{loadBalancerName}/loadBalancingRules/{loadBalancingRuleName}", "GET"); + Endpoints[3494] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/loadBalancers/{loadBalancerName}/probes/{probeName}", "GET"); + Endpoints[3495] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkInterfaces/{networkInterfaceName}/ipConfigurations/{ipConfigurationName}", "GET"); + Endpoints[3496] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkSecurityGroups/{networkSecurityGroupName}/defaultSecurityRules/{defaultSecurityRuleName}", "GET"); + Endpoints[3497] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkSecurityGroups/{networkSecurityGroupName}/securityRules/{securityRuleName}", "PUT"); + Endpoints[3498] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkSecurityGroups/{networkSecurityGroupName}/securityRules/{securityRuleName}", "GET"); + Endpoints[3499] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkSecurityGroups/{networkSecurityGroupName}/securityRules/{securityRuleName}", "DELETE"); + Endpoints[3500] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkWatchers/{networkWatcherName}/connectionMonitors/{connectionMonitorName}", "GET"); + Endpoints[3501] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkWatchers/{networkWatcherName}/connectionMonitors/{connectionMonitorName}", "PUT"); + Endpoints[3502] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkWatchers/{networkWatcherName}/connectionMonitors/{connectionMonitorName}", "DELETE"); + Endpoints[3503] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkWatchers/{networkWatcherName}/packetCaptures/{packetCaptureName}", "DELETE"); + Endpoints[3504] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkWatchers/{networkWatcherName}/packetCaptures/{packetCaptureName}", "PUT"); + Endpoints[3505] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkWatchers/{networkWatcherName}/packetCaptures/{packetCaptureName}", "GET"); + Endpoints[3506] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/routeFilters/{routeFilterName}/routeFilterRules/{ruleName}", "PATCH"); + Endpoints[3507] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/routeFilters/{routeFilterName}/routeFilterRules/{ruleName}", "PUT"); + Endpoints[3508] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/routeFilters/{routeFilterName}/routeFilterRules/{ruleName}", "GET"); + Endpoints[3509] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/routeFilters/{routeFilterName}/routeFilterRules/{ruleName}", "DELETE"); + Endpoints[3510] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/routeTables/{routeTableName}/routes/{routeName}", "DELETE"); + Endpoints[3511] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/routeTables/{routeTableName}/routes/{routeName}", "GET"); + Endpoints[3512] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/routeTables/{routeTableName}/routes/{routeName}", "PUT"); + Endpoints[3513] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/trafficmanagerprofiles/{profileName}/heatMaps/{heatMapType}", "GET"); + Endpoints[3514] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworks/{virtualNetworkName}/subnets/{subnetName}", "PUT"); + Endpoints[3515] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworks/{virtualNetworkName}/subnets/{subnetName}", "DELETE"); + Endpoints[3516] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworks/{virtualNetworkName}/subnets/{subnetName}", "GET"); + Endpoints[3517] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworks/{virtualNetworkName}/virtualNetworkPeerings/{virtualNetworkPeeringName}", "PUT"); + Endpoints[3518] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworks/{virtualNetworkName}/virtualNetworkPeerings/{virtualNetworkPeeringName}", "GET"); + Endpoints[3519] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworks/{virtualNetworkName}/virtualNetworkPeerings/{virtualNetworkPeeringName}", "DELETE"); + Endpoints[3520] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.NotificationHubs/namespaces/{namespaceName}/AuthorizationRules/{authorizationRuleName}", "GET"); + Endpoints[3521] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.NotificationHubs/namespaces/{namespaceName}/AuthorizationRules/{authorizationRuleName}", "POST"); + Endpoints[3522] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.NotificationHubs/namespaces/{namespaceName}/AuthorizationRules/{authorizationRuleName}", "PUT"); + Endpoints[3523] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.NotificationHubs/namespaces/{namespaceName}/AuthorizationRules/{authorizationRuleName}", "DELETE"); + Endpoints[3524] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.NotificationHubs/namespaces/{namespaceName}/notificationHubs/{notificationHubName}", "GET"); + Endpoints[3525] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.NotificationHubs/namespaces/{namespaceName}/notificationHubs/{notificationHubName}", "PUT"); + Endpoints[3526] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.NotificationHubs/namespaces/{namespaceName}/notificationHubs/{notificationHubName}", "DELETE"); + Endpoints[3527] = CreateEndpoint("/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.OperationalInsights/workspaces/{workspaceName}/dataSources/{dataSourceName}", "PUT"); + Endpoints[3528] = CreateEndpoint("/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.OperationalInsights/workspaces/{workspaceName}/dataSources/{dataSourceName}", "DELETE"); + Endpoints[3529] = CreateEndpoint("/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.OperationalInsights/workspaces/{workspaceName}/dataSources/{dataSourceName}", "GET"); + Endpoints[3530] = CreateEndpoint("/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.OperationalInsights/workspaces/{workspaceName}/linkedServices/{linkedServiceName}", "GET"); + Endpoints[3531] = CreateEndpoint("/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.OperationalInsights/workspaces/{workspaceName}/linkedServices/{linkedServiceName}", "DELETE"); + Endpoints[3532] = CreateEndpoint("/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.OperationalInsights/workspaces/{workspaceName}/linkedServices/{linkedServiceName}", "PUT"); + Endpoints[3533] = CreateEndpoint("/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.OperationalInsights/workspaces/{workspaceName}/savedSearches/{savedSearchName}", "PUT"); + Endpoints[3534] = CreateEndpoint("/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.OperationalInsights/workspaces/{workspaceName}/savedSearches/{savedSearchName}", "GET"); + Endpoints[3535] = CreateEndpoint("/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.OperationalInsights/workspaces/{workspaceName}/savedSearches/{savedSearchName}", "DELETE"); + Endpoints[3536] = CreateEndpoint("/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.OperationalInsights/workspaces/{workspaceName}/search/{id}", "POST"); + Endpoints[3537] = CreateEndpoint("/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.OperationalInsights/workspaces/{workspaceName}/storageInsightConfigs/{storageInsightName}", "GET"); + Endpoints[3538] = CreateEndpoint("/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.OperationalInsights/workspaces/{workspaceName}/storageInsightConfigs/{storageInsightName}", "PUT"); + Endpoints[3539] = CreateEndpoint("/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.OperationalInsights/workspaces/{workspaceName}/storageInsightConfigs/{storageInsightName}", "DELETE"); + Endpoints[3540] = CreateEndpoint("/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationAlertSettings/{alertSettingName}", "GET"); + Endpoints[3541] = CreateEndpoint("/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationAlertSettings/{alertSettingName}", "PUT"); + Endpoints[3542] = CreateEndpoint("/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationEvents/{eventName}", "GET"); + Endpoints[3543] = CreateEndpoint("/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationFabrics/{fabricName}", "DELETE"); + Endpoints[3544] = CreateEndpoint("/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationFabrics/{fabricName}", "PUT"); + Endpoints[3545] = CreateEndpoint("/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationFabrics/{fabricName}", "GET"); + Endpoints[3546] = CreateEndpoint("/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationJobs/{jobName}", "GET"); + Endpoints[3547] = CreateEndpoint("/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationPolicies/{policyName}", "GET"); + Endpoints[3548] = CreateEndpoint("/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationPolicies/{policyName}", "DELETE"); + Endpoints[3549] = CreateEndpoint("/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationPolicies/{policyName}", "PUT"); + Endpoints[3550] = CreateEndpoint("/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationPolicies/{policyName}", "PATCH"); + Endpoints[3551] = CreateEndpoint("/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationRecoveryPlans/{recoveryPlanName}", "GET"); + Endpoints[3552] = CreateEndpoint("/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationRecoveryPlans/{recoveryPlanName}", "PUT"); + Endpoints[3553] = CreateEndpoint("/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationRecoveryPlans/{recoveryPlanName}", "DELETE"); + Endpoints[3554] = CreateEndpoint("/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationRecoveryPlans/{recoveryPlanName}", "PATCH"); + Endpoints[3555] = CreateEndpoint("/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupEngines/{backupEngineName}", "GET"); + Endpoints[3556] = CreateEndpoint("/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupJobs/{jobName}", "GET"); + Endpoints[3557] = CreateEndpoint("/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupOperationResults/{operationId}", "GET"); + Endpoints[3558] = CreateEndpoint("/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupOperations/{operationId}", "GET"); + Endpoints[3559] = CreateEndpoint("/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupPolicies/{policyName}", "DELETE"); + Endpoints[3560] = CreateEndpoint("/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupPolicies/{policyName}", "PUT"); + Endpoints[3561] = CreateEndpoint("/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupPolicies/{policyName}", "GET"); + Endpoints[3562] = CreateEndpoint("/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/certificates/{certificateName}", "PUT"); + Endpoints[3563] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/registeredIdentities/{identityName}", "DELETE"); + Endpoints[3564] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Relay/namespaces/{namespaceName}/authorizationRules/{authorizationRuleName}", "PUT"); + Endpoints[3565] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Relay/namespaces/{namespaceName}/authorizationRules/{authorizationRuleName}", "DELETE"); + Endpoints[3566] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Relay/namespaces/{namespaceName}/authorizationRules/{authorizationRuleName}", "GET"); + Endpoints[3567] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Relay/namespaces/{namespaceName}/AuthorizationRules/{authorizationRuleName}", "POST"); + Endpoints[3568] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Relay/namespaces/{namespaceName}/hybridConnections/{hybridConnectionName}", "PUT"); + Endpoints[3569] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Relay/namespaces/{namespaceName}/hybridConnections/{hybridConnectionName}", "DELETE"); + Endpoints[3570] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Relay/namespaces/{namespaceName}/hybridConnections/{hybridConnectionName}", "GET"); + Endpoints[3571] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Relay/namespaces/{namespaceName}/wcfRelays/{relayName}", "GET"); + Endpoints[3572] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Relay/namespaces/{namespaceName}/wcfRelays/{relayName}", "DELETE"); + Endpoints[3573] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Relay/namespaces/{namespaceName}/wcfRelays/{relayName}", "PUT"); + Endpoints[3574] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Scheduler/jobCollections/{jobCollectionName}/jobs/{jobName}", "PATCH"); + Endpoints[3575] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Scheduler/jobCollections/{jobCollectionName}/jobs/{jobName}", "GET"); + Endpoints[3576] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Scheduler/jobCollections/{jobCollectionName}/jobs/{jobName}", "DELETE"); + Endpoints[3577] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Scheduler/jobCollections/{jobCollectionName}/jobs/{jobName}", "PUT"); + Endpoints[3578] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Search/searchServices/{searchServiceName}/createQueryKey/{name}", "POST"); + Endpoints[3579] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Search/searchServices/{searchServiceName}/deleteQueryKey/{key}", "DELETE"); + Endpoints[3580] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Search/searchServices/{searchServiceName}/regenerateAdminKey/{keyKind}", "POST"); + Endpoints[3581] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Security/locations/{ascLocation}/alerts/{alertName}", "GET"); + Endpoints[3582] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Security/locations/{ascLocation}/discoveredSecuritySolutions/{discoveredSecuritySolutionName}", "GET"); + Endpoints[3583] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Security/locations/{ascLocation}/ExternalSecuritySolutions/{externalSecuritySolutionsName}", "GET"); + Endpoints[3584] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Security/locations/{ascLocation}/jitNetworkAccessPolicies/{jitNetworkAccessPolicyName}", "PUT"); + Endpoints[3585] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Security/locations/{ascLocation}/jitNetworkAccessPolicies/{jitNetworkAccessPolicyName}", "GET"); + Endpoints[3586] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Security/locations/{ascLocation}/jitNetworkAccessPolicies/{jitNetworkAccessPolicyName}", "DELETE"); + Endpoints[3587] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Security/locations/{ascLocation}/tasks/{taskName}", "GET"); + Endpoints[3588] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ServerManagement/nodes/{nodeName}/sessions/{session}", "GET"); + Endpoints[3589] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ServerManagement/nodes/{nodeName}/sessions/{session}", "DELETE"); + Endpoints[3590] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ServerManagement/nodes/{nodeName}/sessions/{session}", "PUT"); + Endpoints[3591] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ServiceBus/namespaces/{namespaceName}/AuthorizationRules/{authorizationRuleName}", "PUT"); + Endpoints[3592] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ServiceBus/namespaces/{namespaceName}/AuthorizationRules/{authorizationRuleName}", "DELETE"); + Endpoints[3593] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ServiceBus/namespaces/{namespaceName}/AuthorizationRules/{authorizationRuleName}", "GET"); + Endpoints[3594] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ServiceBus/namespaces/{namespaceName}/AuthorizationRules/{authorizationRuleName}", "POST"); + Endpoints[3595] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ServiceBus/namespaces/{namespaceName}/disasterRecoveryConfigs/{alias}", "GET"); + Endpoints[3596] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ServiceBus/namespaces/{namespaceName}/disasterRecoveryConfigs/{alias}", "DELETE"); + Endpoints[3597] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ServiceBus/namespaces/{namespaceName}/disasterRecoveryConfigs/{alias}", "PUT"); + Endpoints[3598] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ServiceBus/namespaces/{namespaceName}/migrationConfigurations/{configName}", "DELETE"); + Endpoints[3599] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ServiceBus/namespaces/{namespaceName}/migrationConfigurations/{configName}", "GET"); + Endpoints[3600] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ServiceBus/namespaces/{namespaceName}/migrationConfigurations/{configName}", "PUT"); + Endpoints[3601] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ServiceBus/namespaces/{namespaceName}/queues/{queueName}", "GET"); + Endpoints[3602] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ServiceBus/namespaces/{namespaceName}/queues/{queueName}", "DELETE"); + Endpoints[3603] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ServiceBus/namespaces/{namespaceName}/queues/{queueName}", "PUT"); + Endpoints[3604] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ServiceBus/namespaces/{namespaceName}/topics/{topicName}", "DELETE"); + Endpoints[3605] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ServiceBus/namespaces/{namespaceName}/topics/{topicName}", "PUT"); + Endpoints[3606] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ServiceBus/namespaces/{namespaceName}/topics/{topicName}", "GET"); + Endpoints[3607] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ServiceFabric/clusters/{clusterName}/applications/{applicationName}", "DELETE"); + Endpoints[3608] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ServiceFabric/clusters/{clusterName}/applications/{applicationName}", "PATCH"); + Endpoints[3609] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ServiceFabric/clusters/{clusterName}/applications/{applicationName}", "PUT"); + Endpoints[3610] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ServiceFabric/clusters/{clusterName}/applications/{applicationName}", "GET"); + Endpoints[3611] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ServiceFabric/clusters/{clusterName}/applicationTypes/{applicationTypeName}", "GET"); + Endpoints[3612] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ServiceFabric/clusters/{clusterName}/applicationTypes/{applicationTypeName}", "PUT"); + Endpoints[3613] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ServiceFabric/clusters/{clusterName}/applicationTypes/{applicationTypeName}", "DELETE"); + Endpoints[3614] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/locations/{locationName}/instanceFailoverGroups/{failoverGroupName}", "PUT"); + Endpoints[3615] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/locations/{locationName}/instanceFailoverGroups/{failoverGroupName}", "GET"); + Endpoints[3616] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/locations/{locationName}/instanceFailoverGroups/{failoverGroupName}", "DELETE"); + Endpoints[3617] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/managedInstances/{managedInstanceName}/databases/{databaseName}", "PUT"); + Endpoints[3618] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/managedInstances/{managedInstanceName}/databases/{databaseName}", "PATCH"); + Endpoints[3619] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/managedInstances/{managedInstanceName}/databases/{databaseName}", "DELETE"); + Endpoints[3620] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/managedInstances/{managedInstanceName}/databases/{databaseName}", "GET"); + Endpoints[3621] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/administrators/{administratorName}", "GET"); + Endpoints[3622] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/administrators/{administratorName}", "DELETE"); + Endpoints[3623] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/administrators/{administratorName}", "PUT"); + Endpoints[3624] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/advisors/{advisorName}", "GET"); + Endpoints[3625] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/advisors/{advisorName}", "PATCH"); + Endpoints[3626] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/advisors/{advisorName}", "PUT"); + Endpoints[3627] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/auditingPolicies/{tableAuditingPolicyName}", "PUT"); + Endpoints[3628] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/auditingPolicies/{tableAuditingPolicyName}", "GET"); + Endpoints[3629] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/backupLongTermRetentionVaults/{backupLongTermRetentionVaultName}", "PUT"); + Endpoints[3630] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/backupLongTermRetentionVaults/{backupLongTermRetentionVaultName}", "GET"); + Endpoints[3631] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/communicationLinks/{communicationLinkName}", "DELETE"); + Endpoints[3632] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/communicationLinks/{communicationLinkName}", "PUT"); + Endpoints[3633] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/communicationLinks/{communicationLinkName}", "GET"); + Endpoints[3634] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/connectionPolicies/{connectionPolicyName}", "GET"); + Endpoints[3635] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/connectionPolicies/{connectionPolicyName}", "PUT"); + Endpoints[3636] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/databases/{databaseName}", "PATCH"); + Endpoints[3637] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/databases/{databaseName}", "GET"); + Endpoints[3638] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/databases/{databaseName}", "DELETE"); + Endpoints[3639] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/databases/{databaseName}", "PUT"); + Endpoints[3640] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/disasterRecoveryConfiguration/{disasterRecoveryConfigurationName}", "PUT"); + Endpoints[3641] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/disasterRecoveryConfiguration/{disasterRecoveryConfigurationName}", "GET"); + Endpoints[3642] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/disasterRecoveryConfiguration/{disasterRecoveryConfigurationName}", "DELETE"); + Endpoints[3643] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/dnsAliases/{dnsAliasName}", "GET"); + Endpoints[3644] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/dnsAliases/{dnsAliasName}", "PUT"); + Endpoints[3645] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/dnsAliases/{dnsAliasName}", "DELETE"); + Endpoints[3646] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/elasticPools/{elasticPoolName}", "GET"); + Endpoints[3647] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/elasticPools/{elasticPoolName}", "DELETE"); + Endpoints[3648] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/elasticPools/{elasticPoolName}", "PUT"); + Endpoints[3649] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/elasticPools/{elasticPoolName}", "PATCH"); + Endpoints[3650] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/encryptionProtector/{encryptionProtectorName}", "GET"); + Endpoints[3651] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/encryptionProtector/{encryptionProtectorName}", "PUT"); + Endpoints[3652] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/failoverGroups/{failoverGroupName}", "PATCH"); + Endpoints[3653] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/failoverGroups/{failoverGroupName}", "DELETE"); + Endpoints[3654] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/failoverGroups/{failoverGroupName}", "PUT"); + Endpoints[3655] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/failoverGroups/{failoverGroupName}", "GET"); + Endpoints[3656] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/firewallRules/{firewallRuleName}", "DELETE"); + Endpoints[3657] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/firewallRules/{firewallRuleName}", "GET"); + Endpoints[3658] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/firewallRules/{firewallRuleName}", "PUT"); + Endpoints[3659] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/jobAgents/{jobAgentName}", "GET"); + Endpoints[3660] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/jobAgents/{jobAgentName}", "PATCH"); + Endpoints[3661] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/jobAgents/{jobAgentName}", "DELETE"); + Endpoints[3662] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/jobAgents/{jobAgentName}", "PUT"); + Endpoints[3663] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/keys/{keyName}", "DELETE"); + Endpoints[3664] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/keys/{keyName}", "PUT"); + Endpoints[3665] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/keys/{keyName}", "GET"); + Endpoints[3666] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/recommendedElasticPools/{recommendedElasticPoolName}", "GET"); + Endpoints[3667] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/recoverableDatabases/{databaseName}", "GET"); + Endpoints[3668] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/restorableDroppedDatabases/{restorableDroppededDatabaseId}", "GET"); + Endpoints[3669] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/serviceObjectives/{serviceObjectiveName}", "GET"); + Endpoints[3670] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/syncAgents/{syncAgentName}", "DELETE"); + Endpoints[3671] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/syncAgents/{syncAgentName}", "GET"); + Endpoints[3672] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/syncAgents/{syncAgentName}", "PUT"); + Endpoints[3673] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/virtualNetworkRules/{virtualNetworkRuleName}", "DELETE"); + Endpoints[3674] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/virtualNetworkRules/{virtualNetworkRuleName}", "PUT"); + Endpoints[3675] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/virtualNetworkRules/{virtualNetworkRuleName}", "GET"); + Endpoints[3676] = CreateEndpoint("/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.Storage.Admin/farms/{farmId}/blobservices/{serviceType}", "GET"); + Endpoints[3677] = CreateEndpoint("/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.Storage.Admin/farms/{farmId}/operationresults/{operationId}", "GET"); + Endpoints[3678] = CreateEndpoint("/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.Storage.Admin/farms/{farmId}/queueservices/{serviceType}", "GET"); + Endpoints[3679] = CreateEndpoint("/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.Storage.Admin/farms/{farmId}/shares/{shareName}", "GET"); + Endpoints[3680] = CreateEndpoint("/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.Storage.Admin/farms/{farmId}/storageaccounts/{accountId}", "POST"); + Endpoints[3681] = CreateEndpoint("/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.Storage.Admin/farms/{farmId}/storageaccounts/{accountId}", "GET"); + Endpoints[3682] = CreateEndpoint("/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.Storage.Admin/farms/{farmId}/tableservices/{serviceType}", "GET"); + Endpoints[3683] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Storage/storageAccounts/{accountName}/managementPolicies/{managementPolicyName}", "DELETE"); + Endpoints[3684] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Storage/storageAccounts/{accountName}/managementPolicies/{managementPolicyName}", "GET"); + Endpoints[3685] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Storage/storageAccounts/{accountName}/managementPolicies/{managementPolicyName}", "PUT"); + Endpoints[3686] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.StorSimple/managers/{managerName}/accessControlRecords/{accessControlRecordName}", "DELETE"); + Endpoints[3687] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.StorSimple/managers/{managerName}/accessControlRecords/{accessControlRecordName}", "PUT"); + Endpoints[3688] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.StorSimple/managers/{managerName}/accessControlRecords/{accessControlRecordName}", "GET"); + Endpoints[3689] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.StorSimple/managers/{managerName}/bandwidthSettings/{bandwidthSettingName}", "DELETE"); + Endpoints[3690] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.StorSimple/managers/{managerName}/bandwidthSettings/{bandwidthSettingName}", "GET"); + Endpoints[3691] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.StorSimple/managers/{managerName}/bandwidthSettings/{bandwidthSettingName}", "PUT"); + Endpoints[3692] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.StorSimple/managers/{managerName}/devices/{deviceName}", "DELETE"); + Endpoints[3693] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.StorSimple/managers/{managerName}/devices/{deviceName}", "GET"); + Endpoints[3694] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.StorSimple/managers/{managerName}/devices/{deviceName}", "PATCH"); + Endpoints[3695] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.StorSimple/managers/{managerName}/storageAccountCredentials/{storageAccountCredentialName}", "GET"); + Endpoints[3696] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.StorSimple/managers/{managerName}/storageAccountCredentials/{storageAccountCredentialName}", "PUT"); + Endpoints[3697] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.StorSimple/managers/{managerName}/storageAccountCredentials/{storageAccountCredentialName}", "DELETE"); + Endpoints[3698] = CreateEndpoint("/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.StreamAnalytics/streamingjobs/{jobName}/functions/{functionName}", "PATCH"); + Endpoints[3699] = CreateEndpoint("/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.StreamAnalytics/streamingjobs/{jobName}/functions/{functionName}", "GET"); + Endpoints[3700] = CreateEndpoint("/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.StreamAnalytics/streamingjobs/{jobName}/functions/{functionName}", "DELETE"); + Endpoints[3701] = CreateEndpoint("/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.StreamAnalytics/streamingjobs/{jobName}/functions/{functionName}", "PUT"); + Endpoints[3702] = CreateEndpoint("/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.StreamAnalytics/streamingjobs/{jobName}/inputs/{inputName}", "GET"); + Endpoints[3703] = CreateEndpoint("/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.StreamAnalytics/streamingjobs/{jobName}/inputs/{inputName}", "DELETE"); + Endpoints[3704] = CreateEndpoint("/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.StreamAnalytics/streamingjobs/{jobName}/inputs/{inputName}", "PATCH"); + Endpoints[3705] = CreateEndpoint("/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.StreamAnalytics/streamingjobs/{jobName}/inputs/{inputName}", "PUT"); + Endpoints[3706] = CreateEndpoint("/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.StreamAnalytics/streamingjobs/{jobName}/outputs/{outputName}", "GET"); + Endpoints[3707] = CreateEndpoint("/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.StreamAnalytics/streamingjobs/{jobName}/outputs/{outputName}", "PUT"); + Endpoints[3708] = CreateEndpoint("/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.StreamAnalytics/streamingjobs/{jobName}/outputs/{outputName}", "DELETE"); + Endpoints[3709] = CreateEndpoint("/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.StreamAnalytics/streamingjobs/{jobName}/outputs/{outputName}", "PATCH"); + Endpoints[3710] = CreateEndpoint("/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.StreamAnalytics/streamingjobs/{jobName}/transformations/{transformationName}", "GET"); + Endpoints[3711] = CreateEndpoint("/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.StreamAnalytics/streamingjobs/{jobName}/transformations/{transformationName}", "PATCH"); + Endpoints[3712] = CreateEndpoint("/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.StreamAnalytics/streamingjobs/{jobName}/transformations/{transformationName}", "PUT"); + Endpoints[3713] = CreateEndpoint("/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.Subscriptions.Admin/offers/{offer}/offerDelegations/{offerDelegationName}", "DELETE"); + Endpoints[3714] = CreateEndpoint("/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.Subscriptions.Admin/offers/{offer}/offerDelegations/{offerDelegationName}", "PUT"); + Endpoints[3715] = CreateEndpoint("/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.Subscriptions.Admin/offers/{offer}/offerDelegations/{offerDelegationName}", "GET"); + Endpoints[3716] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.TimeSeriesInsights/environments/{environmentName}/accessPolicies/{accessPolicyName}", "DELETE"); + Endpoints[3717] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.TimeSeriesInsights/environments/{environmentName}/accessPolicies/{accessPolicyName}", "PATCH"); + Endpoints[3718] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.TimeSeriesInsights/environments/{environmentName}/accessPolicies/{accessPolicyName}", "GET"); + Endpoints[3719] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.TimeSeriesInsights/environments/{environmentName}/accessPolicies/{accessPolicyName}", "PUT"); + Endpoints[3720] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.TimeSeriesInsights/environments/{environmentName}/eventSources/{eventSourceName}", "PUT"); + Endpoints[3721] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.TimeSeriesInsights/environments/{environmentName}/eventSources/{eventSourceName}", "GET"); + Endpoints[3722] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.TimeSeriesInsights/environments/{environmentName}/eventSources/{eventSourceName}", "PATCH"); + Endpoints[3723] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.TimeSeriesInsights/environments/{environmentName}/eventSources/{eventSourceName}", "DELETE"); + Endpoints[3724] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.TimeSeriesInsights/environments/{environmentName}/referenceDataSets/{referenceDataSetName}", "PUT"); + Endpoints[3725] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.TimeSeriesInsights/environments/{environmentName}/referenceDataSets/{referenceDataSetName}", "GET"); + Endpoints[3726] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.TimeSeriesInsights/environments/{environmentName}/referenceDataSets/{referenceDataSetName}", "DELETE"); + Endpoints[3727] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.TimeSeriesInsights/environments/{environmentName}/referenceDataSets/{referenceDataSetName}", "PATCH"); + Endpoints[3728] = CreateEndpoint("/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.Update.Admin/updateLocations/{updateLocation}/updates/{updateName}", "GET"); + Endpoints[3729] = CreateEndpoint("/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/microsoft.visualstudio/account/{accountResourceName}/extension/{extensionResourceName}", "DELETE"); + Endpoints[3730] = CreateEndpoint("/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/microsoft.visualstudio/account/{accountResourceName}/extension/{extensionResourceName}", "GET"); + Endpoints[3731] = CreateEndpoint("/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/microsoft.visualstudio/account/{accountResourceName}/extension/{extensionResourceName}", "PATCH"); + Endpoints[3732] = CreateEndpoint("/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/microsoft.visualstudio/account/{accountResourceName}/extension/{extensionResourceName}", "PUT"); + Endpoints[3733] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/microsoft.visualstudio/account/{rootResourceName}/project/{resourceName}", "PATCH"); + Endpoints[3734] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/microsoft.visualstudio/account/{rootResourceName}/project/{resourceName}", "GET"); + Endpoints[3735] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/microsoft.visualstudio/account/{rootResourceName}/project/{resourceName}", "PUT"); + Endpoints[3736] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/hostingEnvironments/{name}/detectors/{detectorName}", "GET"); + Endpoints[3737] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/hostingEnvironments/{name}/diagnostics/{diagnosticsName}", "GET"); + Endpoints[3738] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/hostingEnvironments/{name}/operations/{operationId}", "GET"); + Endpoints[3739] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/hostingEnvironments/{name}/workerPools/{workerPoolName}", "PATCH"); + Endpoints[3740] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/hostingEnvironments/{name}/workerPools/{workerPoolName}", "GET"); + Endpoints[3741] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/hostingEnvironments/{name}/workerPools/{workerPoolName}", "PUT"); + Endpoints[3742] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/managedHostingEnvironments/{name}/operations/{operationId}", "GET"); + Endpoints[3743] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/serverfarms/{name}/operationresults/{operationId}", "GET"); + Endpoints[3744] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/serverfarms/{name}/virtualNetworkConnections/{vnetName}", "GET"); + Endpoints[3745] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/backups/{backupId}", "GET"); + Endpoints[3746] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/backups/{backupId}", "DELETE"); + Endpoints[3747] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/continuouswebjobs/{webJobName}", "GET"); + Endpoints[3748] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/continuouswebjobs/{webJobName}", "DELETE"); + Endpoints[3749] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/deployments/{id}", "GET"); + Endpoints[3750] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/deployments/{id}", "DELETE"); + Endpoints[3751] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/deployments/{id}", "PUT"); + Endpoints[3752] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/domainOwnershipIdentifiers/{domainOwnershipIdentifierName}", "PATCH"); + Endpoints[3753] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/domainOwnershipIdentifiers/{domainOwnershipIdentifierName}", "GET"); + Endpoints[3754] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/domainOwnershipIdentifiers/{domainOwnershipIdentifierName}", "PUT"); + Endpoints[3755] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/domainOwnershipIdentifiers/{domainOwnershipIdentifierName}", "DELETE"); + Endpoints[3756] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/functions/{functionName}", "DELETE"); + Endpoints[3757] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/functions/{functionName}", "GET"); + Endpoints[3758] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/functions/{functionName}", "PUT"); + Endpoints[3759] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/hostNameBindings/{hostName}", "DELETE"); + Endpoints[3760] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/hostNameBindings/{hostName}", "PUT"); + Endpoints[3761] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/hostNameBindings/{hostName}", "GET"); + Endpoints[3762] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/hybridconnection/{entityName}", "PATCH"); + Endpoints[3763] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/hybridconnection/{entityName}", "DELETE"); + Endpoints[3764] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/hybridconnection/{entityName}", "PUT"); + Endpoints[3765] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/hybridconnection/{entityName}", "GET"); + Endpoints[3766] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/networkFeatures/{view}", "GET"); + Endpoints[3767] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/operationresults/{operationId}", "GET"); + Endpoints[3768] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/premieraddons/{premierAddOnName}", "PUT"); + Endpoints[3769] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/premieraddons/{premierAddOnName}", "DELETE"); + Endpoints[3770] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/premieraddons/{premierAddOnName}", "GET"); + Endpoints[3771] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/processes/{processId}", "DELETE"); + Endpoints[3772] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/processes/{processId}", "GET"); + Endpoints[3773] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/publicCertificates/{publicCertificateName}", "DELETE"); + Endpoints[3774] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/publicCertificates/{publicCertificateName}", "PUT"); + Endpoints[3775] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/publicCertificates/{publicCertificateName}", "GET"); + Endpoints[3776] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/siteextensions/{siteExtensionId}", "PUT"); + Endpoints[3777] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/siteextensions/{siteExtensionId}", "GET"); + Endpoints[3778] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/siteextensions/{siteExtensionId}", "DELETE"); + Endpoints[3779] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}", "GET"); + Endpoints[3780] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}", "PUT"); + Endpoints[3781] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}", "DELETE"); + Endpoints[3782] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}", "PATCH"); + Endpoints[3783] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/triggeredwebjobs/{webJobName}", "GET"); + Endpoints[3784] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/triggeredwebjobs/{webJobName}", "DELETE"); + Endpoints[3785] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/virtualNetworkConnections/{vnetName}", "PATCH"); + Endpoints[3786] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/virtualNetworkConnections/{vnetName}", "DELETE"); + Endpoints[3787] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/virtualNetworkConnections/{vnetName}", "PUT"); + Endpoints[3788] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/virtualNetworkConnections/{vnetName}", "GET"); + Endpoints[3789] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/webjobs/{webJobName}", "GET"); + Endpoints[3790] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{siteName}/detectors/{detectorName}", "GET"); + Endpoints[3791] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{siteName}/diagnostics/{diagnosticCategory}", "GET"); + Endpoints[3792] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{siteName}/recommendations/{name}", "GET"); + Endpoints[3793] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroup/{resourceGroupName}/providers/Microsoft.MachineLearningServices/workspaces/{workspaceName}/computes/{computeName}/listKeys", "POST"); + Endpoints[3794] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{groupName}/providers/Microsoft.DataMigration/services/{serviceName}/projects/{projectName}/tasks", "GET"); + Endpoints[3795] = CreateEndpoint("/subscriptions/{subscriptionId}/resourcegroups/{resourceGroup}/providers/Microsoft.AzureBridge.Admin/activations/{activationName}/products/{productName}/download", "POST"); + Endpoints[3796] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroup}/providers/Microsoft.AzureStack/registrations/{registrationName}/products/{productName}/listDetails", "POST"); + Endpoints[3797] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/apis/{apiId}/diagnostics", "GET"); + Endpoints[3798] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/apis/{apiId}/issues", "GET"); + Endpoints[3799] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/apis/{apiId}/operations", "GET"); + Endpoints[3800] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/apis/{apiId}/operationsByTags", "GET"); + Endpoints[3801] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/apis/{apiId}/policies", "GET"); + Endpoints[3802] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/apis/{apiId}/policy", "PUT"); + Endpoints[3803] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/apis/{apiId}/policy", "DELETE"); + Endpoints[3804] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/apis/{apiId}/policy", "GET"); + Endpoints[3805] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/apis/{apiId}/products", "GET"); + Endpoints[3806] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/apis/{apiId}/releases", "PARAMETERS"); + Endpoints[3807] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/apis/{apiId}/releases", "GET"); + Endpoints[3808] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/apis/{apiId}/revisions", "PARAMETERS"); + Endpoints[3809] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/apis/{apiId}/revisions", "GET"); + Endpoints[3810] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/apis/{apiId}/schemas", "GET"); + Endpoints[3811] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/apis/{apiId}/tagDescriptions", "GET"); + Endpoints[3812] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/apis/{apiId}/tags", "GET"); + Endpoints[3813] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/backends/{backendid}/reconnect", "POST"); + Endpoints[3814] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/diagnostics/{diagnosticId}/loggers", "GET"); + Endpoints[3815] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/groups/{groupId}/users", "GET"); + Endpoints[3816] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/locations/{locationName}/networkstatus", "GET"); + Endpoints[3817] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/notifications/{notificationName}/recipientEmails", "GET"); + Endpoints[3818] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/notifications/{notificationName}/recipientUsers", "GET"); + Endpoints[3819] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/products/{productId}/apis", "GET"); + Endpoints[3820] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/products/{productId}/groups", "GET"); + Endpoints[3821] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/products/{productId}/policies", "GET"); + Endpoints[3822] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/products/{productId}/policy", "PUT"); + Endpoints[3823] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/products/{productId}/policy", "GET"); + Endpoints[3824] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/products/{productId}/policy", "DELETE"); + Endpoints[3825] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/products/{productId}/subscriptions", "GET"); + Endpoints[3826] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/products/{productId}/tags", "GET"); + Endpoints[3827] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/subscriptions/{sid}/regeneratePrimaryKey", "POST"); + Endpoints[3828] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/subscriptions/{sid}/regenerateSecondaryKey", "POST"); + Endpoints[3829] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/tenant/{accessName}/git", "GET"); + Endpoints[3830] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/tenant/{accessName}/regeneratePrimaryKey", "POST"); + Endpoints[3831] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/tenant/{accessName}/regenerateSecondaryKey", "POST"); + Endpoints[3832] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/tenant/{configurationName}/deploy", "POST"); + Endpoints[3833] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/tenant/{configurationName}/save", "POST"); + Endpoints[3834] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/tenant/{configurationName}/syncState", "GET"); + Endpoints[3835] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/tenant/{configurationName}/validate", "POST"); + Endpoints[3836] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/users/{uid}/generateSsoUrl", "POST"); + Endpoints[3837] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/users/{uid}/groups", "GET"); + Endpoints[3838] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/users/{uid}/identities", "GET"); + Endpoints[3839] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/users/{uid}/subscriptions", "GET"); + Endpoints[3840] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/users/{uid}/token", "POST"); + Endpoints[3841] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Automation/automationAccounts/{automationAccountName}/compilationjobs/{jobId}/streams", "GET"); + Endpoints[3842] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Automation/automationAccounts/{automationAccountName}/configurations/{configurationName}/content", "GET"); + Endpoints[3843] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Automation/automationAccounts/{automationAccountName}/jobs/{jobId}/output", "GET"); + Endpoints[3844] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Automation/automationAccounts/{automationAccountName}/jobs/{jobId}/resume", "POST"); + Endpoints[3845] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Automation/automationAccounts/{automationAccountName}/jobs/{jobId}/runbookContent", "GET"); + Endpoints[3846] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Automation/automationAccounts/{automationAccountName}/jobs/{jobId}/stop", "POST"); + Endpoints[3847] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Automation/automationAccounts/{automationAccountName}/jobs/{jobId}/streams", "GET"); + Endpoints[3848] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Automation/automationAccounts/{automationAccountName}/jobs/{jobId}/suspend", "POST"); + Endpoints[3849] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Automation/automationAccounts/{automationAccountName}/modules/{moduleName}/activities", "GET"); + Endpoints[3850] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Automation/automationAccounts/{automationAccountName}/nodes/{nodeId}/reports", "GET"); + Endpoints[3851] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Automation/automationAccounts/{automationAccountName}/objectDataTypes/{typeName}/fields", "GET"); + Endpoints[3852] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Automation/automationAccounts/{automationAccountName}/runbooks/{runbookName}/content", "GET"); + Endpoints[3853] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Automation/automationAccounts/{automationAccountName}/runbooks/{runbookName}/draft", "GET"); + Endpoints[3854] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Automation/automationAccounts/{automationAccountName}/sourceControls/{sourceControlName}/sourceControlSyncJobs", "GET"); + Endpoints[3855] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Automation/automationAccounts/{automationAccountName}/watchers/{watcherName}/start", "POST"); + Endpoints[3856] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Automation/automationAccounts/{automationAccountName}/watchers/{watcherName}/stop", "POST"); + Endpoints[3857] = CreateEndpoint("/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.Backup.Admin/backupLocations/{location}/backups/{backup}/restore", "POST"); + Endpoints[3858] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Batch/batchAccounts/{accountName}/certificates/{certificateName}/cancelDelete", "POST"); + Endpoints[3859] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Batch/batchAccounts/{accountName}/pools/{poolName}/disableAutoScale", "POST"); + Endpoints[3860] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Batch/batchAccounts/{accountName}/pools/{poolName}/stopResize", "POST"); + Endpoints[3861] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.BatchAI/workspaces/{workspaceName}/clusters/{clusterName}/listRemoteLoginInformation", "POST"); + Endpoints[3862] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.BatchAI/workspaces/{workspaceName}/experiments/{experimentName}/jobs", "GET"); + Endpoints[3863] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.BotService/botServices/{resourceName}/channels/{channelName}/listChannelWithKeys", "POST"); + Endpoints[3864] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.BotService/botServices/{resourceName}/Connections/{connectionName}/listWithSecrets", "POST"); + Endpoints[3865] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Cdn/profiles/{profileName}/endpoints/{endpointName}/checkResourceUsage", "POST"); + Endpoints[3866] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Cdn/profiles/{profileName}/endpoints/{endpointName}/customDomains", "GET"); + Endpoints[3867] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Cdn/profiles/{profileName}/endpoints/{endpointName}/load", "POST"); + Endpoints[3868] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Cdn/profiles/{profileName}/endpoints/{endpointName}/origins", "GET"); + Endpoints[3869] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Cdn/profiles/{profileName}/endpoints/{endpointName}/purge", "POST"); + Endpoints[3870] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Cdn/profiles/{profileName}/endpoints/{endpointName}/start", "POST"); + Endpoints[3871] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Cdn/profiles/{profileName}/endpoints/{endpointName}/stop", "POST"); + Endpoints[3872] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Cdn/profiles/{profileName}/endpoints/{endpointName}/validateCustomDomain", "POST"); + Endpoints[3873] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/galleries/{galleryName}/images/{galleryImageName}/versions", "GET"); + Endpoints[3874] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/microsoft.Compute/virtualMachineScaleSets/{virtualMachineScaleSetName}/virtualMachines/{virtualmachineIndex}/networkInterfaces", "GET"); + Endpoints[3875] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/virtualMachineScaleSets/{vmScaleSetName}/virtualmachines/{instanceId}/deallocate", "POST"); + Endpoints[3876] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/virtualMachineScaleSets/{vmScaleSetName}/virtualmachines/{instanceId}/instanceView", "GET"); + Endpoints[3877] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/virtualMachineScaleSets/{vmScaleSetName}/virtualmachines/{instanceId}/performMaintenance", "POST"); + Endpoints[3878] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/virtualMachineScaleSets/{vmScaleSetName}/virtualmachines/{instanceId}/poweroff", "POST"); + Endpoints[3879] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/virtualMachineScaleSets/{vmScaleSetName}/virtualmachines/{instanceId}/redeploy", "POST"); + Endpoints[3880] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/virtualMachineScaleSets/{vmScaleSetName}/virtualmachines/{instanceId}/reimage", "POST"); + Endpoints[3881] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/virtualMachineScaleSets/{vmScaleSetName}/virtualmachines/{instanceId}/reimageall", "POST"); + Endpoints[3882] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/virtualMachineScaleSets/{vmScaleSetName}/virtualmachines/{instanceId}/restart", "POST"); + Endpoints[3883] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/virtualMachineScaleSets/{vmScaleSetName}/virtualmachines/{instanceId}/start", "POST"); + Endpoints[3884] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerInstance/containerGroups/{containerGroupName}/containers/{containerName}/exec", "POST"); + Endpoints[3885] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerInstance/containerGroups/{containerGroupName}/containers/{containerName}/logs", "GET"); + Endpoints[3886] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerRegistry/registries/{registryName}/builds/{buildId}/cancel", "POST"); + Endpoints[3887] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerRegistry/registries/{registryName}/builds/{buildId}/getLogLink", "POST"); + Endpoints[3888] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerRegistry/registries/{registryName}/buildTasks/{buildTaskName}/listSourceRepositoryProperties", "POST"); + Endpoints[3889] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerRegistry/registries/{registryName}/buildTasks/{buildTaskName}/steps", "GET"); + Endpoints[3890] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerRegistry/registries/{registryName}/webhooks/{webhookName}/getCallbackConfig", "POST"); + Endpoints[3891] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerRegistry/registries/{registryName}/webhooks/{webhookName}/listEvents", "POST"); + Endpoints[3892] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerRegistry/registries/{registryName}/webhooks/{webhookName}/ping", "POST"); + Endpoints[3893] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}/accessProfiles/{roleName}/listCredential", "POST"); + Endpoints[3894] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.CustomerInsights/hubs/{hubName}/authorizationPolicies/{authorizationPolicyName}/regeneratePrimaryKey", "POST"); + Endpoints[3895] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.CustomerInsights/hubs/{hubName}/authorizationPolicies/{authorizationPolicyName}/regenerateSecondaryKey", "POST"); + Endpoints[3896] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.CustomerInsights/hubs/{hubName}/connectors/{connectorName}/mappings", "GET"); + Endpoints[3897] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.CustomerInsights/hubs/{hubName}/interactions/{interactionName}/suggestRelationshipLinks", "POST"); + Endpoints[3898] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.CustomerInsights/hubs/{hubName}/kpi/{kpiName}/reprocess", "POST"); + Endpoints[3899] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.CustomerInsights/hubs/{hubName}/predictions/{predictionName}/getModelStatus", "POST"); + Endpoints[3900] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.CustomerInsights/hubs/{hubName}/predictions/{predictionName}/getTrainingResults", "POST"); + Endpoints[3901] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.CustomerInsights/hubs/{hubName}/predictions/{predictionName}/modelStatus", "POST"); + Endpoints[3902] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.CustomerInsights/hubs/{hubName}/profiles/{profileName}/getEnrichingKpis", "POST"); + Endpoints[3903] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataFactory/factories/{factoryName}/integrationRuntimes/{integrationRuntimeName}/getConnectionInfo", "POST"); + Endpoints[3904] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataFactory/factories/{factoryName}/integrationRuntimes/{integrationRuntimeName}/getStatus", "POST"); + Endpoints[3905] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataFactory/factories/{factoryName}/integrationRuntimes/{integrationRuntimeName}/listAuthKeys", "POST"); + Endpoints[3906] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataFactory/factories/{factoryName}/integrationRuntimes/{integrationRuntimeName}/monitoringData", "POST"); + Endpoints[3907] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataFactory/factories/{factoryName}/integrationRuntimes/{integrationRuntimeName}/regenerateAuthKey", "POST"); + Endpoints[3908] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataFactory/factories/{factoryName}/integrationRuntimes/{integrationRuntimeName}/removeNode", "POST"); + Endpoints[3909] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataFactory/factories/{factoryName}/integrationRuntimes/{integrationRuntimeName}/start", "POST"); + Endpoints[3910] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataFactory/factories/{factoryName}/integrationRuntimes/{integrationRuntimeName}/stop", "POST"); + Endpoints[3911] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataFactory/factories/{factoryName}/integrationRuntimes/{integrationRuntimeName}/syncCredentials", "POST"); + Endpoints[3912] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataFactory/factories/{factoryName}/integrationRuntimes/{integrationRuntimeName}/upgrade", "POST"); + Endpoints[3913] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataFactory/factories/{factoryName}/pipelineruns/{runId}/activityruns", "GET"); + Endpoints[3914] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataFactory/factories/{factoryName}/pipelines/{pipelineName}/createRun", "POST"); + Endpoints[3915] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataFactory/factories/{factoryName}/triggers/{triggerName}/start", "POST"); + Endpoints[3916] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataFactory/factories/{factoryName}/triggers/{triggerName}/stop", "POST"); + Endpoints[3917] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataFactory/factories/{factoryName}/triggers/{triggerName}/triggerruns", "GET"); + Endpoints[3918] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataLakeAnalytics/accounts/{accountName}/storageAccounts/{storageAccountName}/containers", "GET"); + Endpoints[3919] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Devices/IotHubs/{resourceName}/certificates/{certificateName}/generateVerificationCode", "POST"); + Endpoints[3920] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Devices/IotHubs/{resourceName}/certificates/{certificateName}/verify", "POST"); + Endpoints[3921] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Devices/IotHubs/{resourceName}/eventHubEndpoints/{eventHubEndpointName}/ConsumerGroups", "GET"); + Endpoints[3922] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Devices/IotHubs/{resourceName}/IotHubKeys/{keyName}/listkeys", "POST"); + Endpoints[3923] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Devices/provisioningServices/{provisioningServiceName}/certificates/{certificateName}/generateVerificationCode", "POST"); + Endpoints[3924] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Devices/provisioningServices/{provisioningServiceName}/certificates/{certificateName}/verify", "POST"); + Endpoints[3925] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Devices/provisioningServices/{provisioningServiceName}/keys/{keyName}/listkeys", "POST"); + Endpoints[3926] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DevTestLab/labs/{labName}/artifactsources/{artifactSourceName}/armtemplates", "GET"); + Endpoints[3927] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DevTestLab/labs/{labName}/artifactsources/{artifactSourceName}/artifacts", "GET"); + Endpoints[3928] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DevTestLab/labs/{labName}/costinsights/{name}/refreshData", "POST"); + Endpoints[3929] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DevTestLab/labs/{labName}/costs/{name}/refreshData", "POST"); + Endpoints[3930] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DevTestLab/labs/{labName}/notificationchannels/{name}/notify", "POST"); + Endpoints[3931] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DevTestLab/labs/{labName}/policysets/{name}/evaluatePolicies", "POST"); + Endpoints[3932] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DevTestLab/labs/{labName}/policysets/{policySetName}/policies", "GET"); + Endpoints[3933] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DevTestLab/labs/{labName}/schedules/{name}/execute", "POST"); + Endpoints[3934] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DevTestLab/labs/{labName}/schedules/{name}/listApplicable", "POST"); + Endpoints[3935] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DevTestLab/labs/{labName}/users/{userName}/disks", "GET"); + Endpoints[3936] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DevTestLab/labs/{labName}/users/{userName}/environments", "GET"); + Endpoints[3937] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DevTestLab/labs/{labName}/users/{userName}/secrets", "GET"); + Endpoints[3938] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DevTestLab/labs/{labName}/virtualmachines/{name}/addDataDisk", "POST"); + Endpoints[3939] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DevTestLab/labs/{labName}/virtualmachines/{name}/applyArtifacts", "POST"); + Endpoints[3940] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DevTestLab/labs/{labName}/virtualmachines/{name}/claim", "POST"); + Endpoints[3941] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DevTestLab/labs/{labName}/virtualmachines/{name}/detachDataDisk", "POST"); + Endpoints[3942] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DevTestLab/labs/{labName}/virtualmachines/{name}/listApplicableSchedules", "POST"); + Endpoints[3943] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DevTestLab/labs/{labName}/virtualmachines/{name}/start", "POST"); + Endpoints[3944] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DevTestLab/labs/{labName}/virtualmachines/{name}/stop", "POST"); + Endpoints[3945] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DevTestLab/labs/{labName}/virtualmachines/{virtualMachineName}/schedules", "GET"); + Endpoints[3946] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/databases/{databaseRid}/metricDefinitions", "GET"); + Endpoints[3947] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/databases/{databaseRid}/metrics", "GET"); + Endpoints[3948] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/databases/{databaseRid}/usages", "GET"); + Endpoints[3949] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/region/{region}/metrics", "GET"); + Endpoints[3950] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.EventGrid/locations/{location}/topicTypes/{topicTypeName}/eventSubscriptions", "GET"); + Endpoints[3951] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.EventHub/namespaces/{namespaceName}/AuthorizationRules/{authorizationRuleName}/listKeys", "POST"); + Endpoints[3952] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.EventHub/namespaces/{namespaceName}/AuthorizationRules/{authorizationRuleName}/regenerateKeys", "POST"); + Endpoints[3953] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.EventHub/namespaces/{namespaceName}/disasterRecoveryConfigs/{alias}/AuthorizationRules", "GET"); + Endpoints[3954] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.EventHub/namespaces/{namespaceName}/disasterRecoveryConfigs/{alias}/breakPairing", "POST"); + Endpoints[3955] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.EventHub/namespaces/{namespaceName}/disasterRecoveryConfigs/{alias}/failover", "POST"); + Endpoints[3956] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.EventHub/namespaces/{namespaceName}/eventhubs/{eventHubName}/authorizationRules", "GET"); + Endpoints[3957] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.EventHub/namespaces/{namespaceName}/eventhubs/{eventHubName}/consumergroups", "GET"); + Endpoints[3958] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Fabric.Admin/fabricLocations/{location}/infraRoleInstances/{infraRoleInstance}/PowerOff", "POST"); + Endpoints[3959] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Fabric.Admin/fabricLocations/{location}/infraRoleInstances/{infraRoleInstance}/PowerOn", "POST"); + Endpoints[3960] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Fabric.Admin/fabricLocations/{location}/infraRoleInstances/{infraRoleInstance}/Reboot", "POST"); + Endpoints[3961] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Fabric.Admin/fabricLocations/{location}/infraRoleInstances/{infraRoleInstance}/Shutdown", "POST"); + Endpoints[3962] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Fabric.Admin/fabricLocations/{location}/infraRoles/{infraRole}/Restart", "POST"); + Endpoints[3963] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Fabric.Admin/fabricLocations/{location}/logicalNetworks/{logicalNetwork}/logicalSubnets", "GET"); + Endpoints[3964] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Fabric.Admin/fabricLocations/{location}/scaleUnitNodes/{scaleUnitNode}/PowerOff", "POST"); + Endpoints[3965] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Fabric.Admin/fabricLocations/{location}/scaleUnitNodes/{scaleUnitNode}/PowerOn", "POST"); + Endpoints[3966] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Fabric.Admin/fabricLocations/{location}/scaleUnitNodes/{scaleUnitNode}/Repair", "POST"); + Endpoints[3967] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Fabric.Admin/fabricLocations/{location}/scaleUnitNodes/{scaleUnitNode}/Shutdown", "POST"); + Endpoints[3968] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Fabric.Admin/fabricLocations/{location}/scaleUnitNodes/{scaleUnitNode}/StartMaintenanceMode", "POST"); + Endpoints[3969] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Fabric.Admin/fabricLocations/{location}/scaleUnitNodes/{scaleUnitNode}/StopMaintenanceMode", "POST"); + Endpoints[3970] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Fabric.Admin/fabricLocations/{location}/scaleUnits/{scaleUnit}/ScaleOut", "POST"); + Endpoints[3971] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Fabric.Admin/fabricLocations/{location}/storageSubSystems/{storageSubSystem}/storagePools", "GET"); + Endpoints[3972] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.HDInsight/clusters/{clusterName}/roles/{roleName}/resize", "POST"); + Endpoints[3973] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.HDInsight/clusters/{clusterName}/scriptExecutionHistory/{scriptExecutionId}/promote", "POST"); + Endpoints[3974] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.InfrastructureInsights.Admin/regionHealths/{location}/serviceHealths/{serviceRegistrationId}/resourceHealths", "GET"); + Endpoints[3975] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Logic/integrationAccounts/{integrationAccountName}/agreements/{agreementName}/listContentCallbackUrl", "POST"); + Endpoints[3976] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Logic/integrationAccounts/{integrationAccountName}/assemblies/{assemblyArtifactName}/listContentCallbackUrl", "POST"); + Endpoints[3977] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Logic/integrationAccounts/{integrationAccountName}/maps/{mapName}/listContentCallbackUrl", "POST"); + Endpoints[3978] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Logic/integrationAccounts/{integrationAccountName}/partners/{partnerName}/listContentCallbackUrl", "POST"); + Endpoints[3979] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Logic/integrationAccounts/{integrationAccountName}/schemas/{schemaName}/listContentCallbackUrl", "POST"); + Endpoints[3980] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Logic/locations/{location}/workflows/{workflowName}/validate", "POST"); + Endpoints[3981] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Logic/workflows/{workflowName}/accessKeys/{accessKeyName}/list", "POST"); + Endpoints[3982] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Logic/workflows/{workflowName}/accessKeys/{accessKeyName}/regenerate", "POST"); + Endpoints[3983] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Logic/workflows/{workflowName}/runs/{runName}/actions", "GET"); + Endpoints[3984] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Logic/workflows/{workflowName}/runs/{runName}/cancel", "POST"); + Endpoints[3985] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Logic/workflows/{workflowName}/triggers/{triggerName}/histories", "GET"); + Endpoints[3986] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Logic/workflows/{workflowName}/triggers/{triggerName}/listCallbackUrl", "POST"); + Endpoints[3987] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Logic/workflows/{workflowName}/triggers/{triggerName}/reset", "POST"); + Endpoints[3988] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Logic/workflows/{workflowName}/triggers/{triggerName}/run", "POST"); + Endpoints[3989] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Logic/workflows/{workflowName}/triggers/{triggerName}/setState", "POST"); + Endpoints[3990] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.MachineLearning/commitmentPlans/{commitmentPlanName}/commitmentAssociations/{commitmentAssociationName}/move", "POST"); + Endpoints[3991] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Media/mediaServices/{accountName}/assets/{assetName}/getEncryptionKey", "POST"); + Endpoints[3992] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Media/mediaServices/{accountName}/assets/{assetName}/listContainerSas", "POST"); + Endpoints[3993] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Media/mediaServices/{accountName}/contentKeyPolicies/{contentKeyPolicyName}/getPolicyPropertiesWithSecrets", "POST"); + Endpoints[3994] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Media/mediaservices/{accountName}/liveEvents/{liveEventName}/liveOutputs", "GET"); + Endpoints[3995] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Media/mediaservices/{accountName}/liveEvents/{liveEventName}/reset", "POST"); + Endpoints[3996] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Media/mediaservices/{accountName}/liveEvents/{liveEventName}/start", "POST"); + Endpoints[3997] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Media/mediaservices/{accountName}/liveEvents/{liveEventName}/stop", "POST"); + Endpoints[3998] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Media/mediaservices/{accountName}/streamingEndpoints/{streamingEndpointName}/scale", "POST"); + Endpoints[3999] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Media/mediaservices/{accountName}/streamingEndpoints/{streamingEndpointName}/start", "POST"); + Endpoints[4000] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Media/mediaservices/{accountName}/streamingEndpoints/{streamingEndpointName}/stop", "POST"); + Endpoints[4001] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Media/mediaServices/{accountName}/streamingLocators/{streamingLocatorName}/listContentKeys", "POST"); + Endpoints[4002] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Media/mediaServices/{accountName}/streamingLocators/{streamingLocatorName}/listPaths", "POST"); + Endpoints[4003] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Media/mediaServices/{accountName}/transforms/{transformName}/jobs", "GET"); + Endpoints[4004] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Migrate/projects/{projectName}/groups/{groupName}/assessments", "GET"); + Endpoints[4005] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/expressRouteCircuits/{circuitName}/peerings/{peeringName}/stats", "GET"); + Endpoints[4006] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkWatchers/{networkWatcherName}/connectionMonitors/{connectionMonitorName}/query", "POST"); + Endpoints[4007] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkWatchers/{networkWatcherName}/connectionMonitors/{connectionMonitorName}/start", "POST"); + Endpoints[4008] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkWatchers/{networkWatcherName}/connectionMonitors/{connectionMonitorName}/stop", "POST"); + Endpoints[4009] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkWatchers/{networkWatcherName}/packetCaptures/{packetCaptureName}/queryStatus", "POST"); + Endpoints[4010] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkWatchers/{networkWatcherName}/packetCaptures/{packetCaptureName}/stop", "POST"); + Endpoints[4011] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.NotificationHubs/namespaces/{namespaceName}/AuthorizationRules/{authorizationRuleName}/listKeys", "POST"); + Endpoints[4012] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.NotificationHubs/namespaces/{namespaceName}/AuthorizationRules/{authorizationRuleName}/regenerateKeys", "POST"); + Endpoints[4013] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.NotificationHubs/namespaces/{namespaceName}/notificationHubs/{notificationHubName}/AuthorizationRules", "POST"); + Endpoints[4014] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.NotificationHubs/namespaces/{namespaceName}/notificationHubs/{notificationHubName}/AuthorizationRules", "GET"); + Endpoints[4015] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.NotificationHubs/namespaces/{namespaceName}/notificationHubs/{notificationHubName}/pnsCredentials", "POST"); + Endpoints[4016] = CreateEndpoint("/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.OperationalInsights/workspaces/{workspaceName}/intelligencePacks/{intelligencePackName}/Disable", "POST"); + Endpoints[4017] = CreateEndpoint("/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.OperationalInsights/workspaces/{workspaceName}/intelligencePacks/{intelligencePackName}/Enable", "POST"); + Endpoints[4018] = CreateEndpoint("/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.OperationalInsights/workspaces/{workspaceName}/savedSearches/{savedSearchName}/results", "GET"); + Endpoints[4019] = CreateEndpoint("/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationFabrics/{fabricName}/checkConsistency", "POST"); + Endpoints[4020] = CreateEndpoint("/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationFabrics/{fabricName}/migratetoaad", "POST"); + Endpoints[4021] = CreateEndpoint("/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationFabrics/{fabricName}/reassociateGateway", "POST"); + Endpoints[4022] = CreateEndpoint("/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationFabrics/{fabricName}/remove", "POST"); + Endpoints[4023] = CreateEndpoint("/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationFabrics/{fabricName}/renewCertificate", "POST"); + Endpoints[4024] = CreateEndpoint("/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationFabrics/{fabricName}/replicationLogicalNetworks", "GET"); + Endpoints[4025] = CreateEndpoint("/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationFabrics/{fabricName}/replicationNetworks", "GET"); + Endpoints[4026] = CreateEndpoint("/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationFabrics/{fabricName}/replicationProtectionContainers", "GET"); + Endpoints[4027] = CreateEndpoint("/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationFabrics/{fabricName}/replicationRecoveryServicesProviders", "GET"); + Endpoints[4028] = CreateEndpoint("/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationFabrics/{fabricName}/replicationStorageClassifications", "GET"); + Endpoints[4029] = CreateEndpoint("/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationFabrics/{fabricName}/replicationvCenters", "GET"); + Endpoints[4030] = CreateEndpoint("/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationJobs/{jobName}/cancel", "POST"); + Endpoints[4031] = CreateEndpoint("/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationJobs/{jobName}/restart", "POST"); + Endpoints[4032] = CreateEndpoint("/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationJobs/{jobName}/resume", "POST"); + Endpoints[4033] = CreateEndpoint("/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationRecoveryPlans/{recoveryPlanName}/failoverCommit", "POST"); + Endpoints[4034] = CreateEndpoint("/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationRecoveryPlans/{recoveryPlanName}/plannedFailover", "POST"); + Endpoints[4035] = CreateEndpoint("/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationRecoveryPlans/{recoveryPlanName}/reProtect", "POST"); + Endpoints[4036] = CreateEndpoint("/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationRecoveryPlans/{recoveryPlanName}/testFailover", "POST"); + Endpoints[4037] = CreateEndpoint("/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationRecoveryPlans/{recoveryPlanName}/testFailoverCleanup", "POST"); + Endpoints[4038] = CreateEndpoint("/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationRecoveryPlans/{recoveryPlanName}/unplannedFailover", "POST"); + Endpoints[4039] = CreateEndpoint("/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupFabrics/{fabricName}/protectableContainers", "GET"); + Endpoints[4040] = CreateEndpoint("/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupFabrics/{fabricName}/refreshContainers", "POST"); + Endpoints[4041] = CreateEndpoint("/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupJobs/{jobName}/cancel", "POST"); + Endpoints[4042] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Relay/namespaces/{namespaceName}/authorizationRules/{authorizationRuleName}/listKeys", "POST"); + Endpoints[4043] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Relay/namespaces/{namespaceName}/authorizationRules/{authorizationRuleName}/regenerateKeys", "POST"); + Endpoints[4044] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Relay/namespaces/{namespaceName}/hybridConnections/{hybridConnectionName}/authorizationRules", "GET"); + Endpoints[4045] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Relay/namespaces/{namespaceName}/HybridConnections/{hybridConnectionName}/authorizationRules", "POST"); + Endpoints[4046] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Relay/namespaces/{namespaceName}/wcfRelays/{relayName}/authorizationRules", "GET"); + Endpoints[4047] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Relay/namespaces/{namespaceName}/WcfRelays/{relayName}/authorizationRules", "POST"); + Endpoints[4048] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Scheduler/jobCollections/{jobCollectionName}/jobs/{jobName}/history", "GET"); + Endpoints[4049] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Scheduler/jobCollections/{jobCollectionName}/jobs/{jobName}/run", "POST"); + Endpoints[4050] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ServiceBus/namespaces/{namespaceName}/AuthorizationRules/{authorizationRuleName}/listKeys", "POST"); + Endpoints[4051] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ServiceBus/namespaces/{namespaceName}/AuthorizationRules/{authorizationRuleName}/regenerateKeys", "POST"); + Endpoints[4052] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ServiceBus/namespaces/{namespaceName}/disasterRecoveryConfigs/{alias}/AuthorizationRules", "GET"); + Endpoints[4053] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ServiceBus/namespaces/{namespaceName}/disasterRecoveryConfigs/{alias}/breakPairing", "POST"); + Endpoints[4054] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ServiceBus/namespaces/{namespaceName}/disasterRecoveryConfigs/{alias}/failover", "POST"); + Endpoints[4055] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ServiceBus/namespaces/{namespaceName}/eventhubs/{eventhubName}/authorizationRules", "GET"); + Endpoints[4056] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ServiceBus/namespaces/{namespaceName}/migrationConfigurations/{configName}/revert", "POST"); + Endpoints[4057] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ServiceBus/namespaces/{namespaceName}/migrationConfigurations/{configName}/upgrade", "POST"); + Endpoints[4058] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ServiceBus/namespaces/{namespaceName}/queues/{queueName}/authorizationRules", "GET"); + Endpoints[4059] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ServiceBus/namespaces/{namespaceName}/topics/{topicName}/authorizationRules", "GET"); + Endpoints[4060] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ServiceBus/namespaces/{namespaceName}/topics/{topicName}/subscriptions", "GET"); + Endpoints[4061] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ServiceFabric/clusters/{clusterName}/applications/{applicationName}/services", "GET"); + Endpoints[4062] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ServiceFabric/clusters/{clusterName}/applicationTypes/{applicationTypeName}/versions", "GET"); + Endpoints[4063] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/locations/{locationName}/instanceFailoverGroups/{failoverGroupName}/failover", "POST"); + Endpoints[4064] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/locations/{locationName}/instanceFailoverGroups/{failoverGroupName}/forceFailoverAllowDataLoss", "POST"); + Endpoints[4065] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/databases/{databaseName}/advisors", "GET"); + Endpoints[4066] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/databases/{databaseName}/auditingPolicies", "GET"); + Endpoints[4067] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/databases/{databaseName}/backupLongTermRetentionPolicies", "GET"); + Endpoints[4068] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/databases/{databaseName}/export", "POST"); + Endpoints[4069] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/databases/{databaseName}/extensions", "GET"); + Endpoints[4070] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/databases/{databaseName}/geoBackupPolicies", "GET"); + Endpoints[4071] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/databases/{databaseName}/metricDefinitions", "GET"); + Endpoints[4072] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/databases/{databaseName}/metrics", "GET"); + Endpoints[4073] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/databases/{databaseName}/move", "POST"); + Endpoints[4074] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/databases/{databaseName}/operations", "GET"); + Endpoints[4075] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/databases/{databaseName}/pause", "POST"); + Endpoints[4076] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/databases/{databaseName}/replicationLinks", "GET"); + Endpoints[4077] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/databases/{databaseName}/restorePoints", "POST"); + Endpoints[4078] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/databases/{databaseName}/restorePoints", "GET"); + Endpoints[4079] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/databases/{databaseName}/resume", "POST"); + Endpoints[4080] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/databases/{databaseName}/serviceTierAdvisors", "GET"); + Endpoints[4081] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/databases/{databaseName}/syncGroups", "GET"); + Endpoints[4082] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/databases/{databaseName}/topQueries", "GET"); + Endpoints[4083] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/databases/{databaseName}/transparentDataEncryption", "GET"); + Endpoints[4084] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/databases/{databaseName}/upgradeDataWarehouse", "POST"); + Endpoints[4085] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/databases/{databaseName}/usages", "GET"); + Endpoints[4086] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/disasterRecoveryConfiguration/{disasterRecoveryConfigurationName}/failover", "POST"); + Endpoints[4087] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/disasterRecoveryConfiguration/{disasterRecoveryConfigurationName}/forceFailoverAllowDataLoss", "POST"); + Endpoints[4088] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/dnsAliases/{dnsAliasName}/acquire", "POST"); + Endpoints[4089] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/elasticPools/{elasticPoolName}/databases", "GET"); + Endpoints[4090] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/elasticPools/{elasticPoolName}/elasticPoolActivity", "GET"); + Endpoints[4091] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/elasticPools/{elasticPoolName}/elasticPoolDatabaseActivity", "GET"); + Endpoints[4092] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/elasticPools/{elasticPoolName}/metricDefinitions", "GET"); + Endpoints[4093] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/elasticPools/{elasticPoolName}/metrics", "GET"); + Endpoints[4094] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/elasticPools/{elasticPoolName}/operations", "GET"); + Endpoints[4095] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/failoverGroups/{failoverGroupName}/failover", "POST"); + Endpoints[4096] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/failoverGroups/{failoverGroupName}/forceFailoverAllowDataLoss", "POST"); + Endpoints[4097] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/jobAgents/{jobAgentName}/credentials", "GET"); + Endpoints[4098] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/jobAgents/{jobAgentName}/executions", "GET"); + Endpoints[4099] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/jobAgents/{jobAgentName}/jobs", "GET"); + Endpoints[4100] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/jobAgents/{jobAgentName}/targetGroups", "GET"); + Endpoints[4101] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/recommendedElasticPools/{recommendedElasticPoolName}/databases", "GET"); + Endpoints[4102] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/recommendedElasticPools/{recommendedElasticPoolName}/metrics", "GET"); + Endpoints[4103] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/syncAgents/{syncAgentName}/generateKey", "POST"); + Endpoints[4104] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/syncAgents/{syncAgentName}/linkedDatabases", "GET"); + Endpoints[4105] = CreateEndpoint("/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.Storage.Admin/farms/{farmId}/blobservices/{serviceType}/metricdefinitions", "GET"); + Endpoints[4106] = CreateEndpoint("/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.Storage.Admin/farms/{farmId}/blobservices/{serviceType}/metrics", "GET"); + Endpoints[4107] = CreateEndpoint("/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.Storage.Admin/farms/{farmId}/queueservices/{serviceType}/metricdefinitions", "GET"); + Endpoints[4108] = CreateEndpoint("/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.Storage.Admin/farms/{farmId}/queueservices/{serviceType}/metrics", "GET"); + Endpoints[4109] = CreateEndpoint("/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.Storage.Admin/farms/{farmId}/shares/{shareName}/containers", "GET"); + Endpoints[4110] = CreateEndpoint("/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.Storage.Admin/farms/{farmId}/shares/{shareName}/destinationshares", "GET"); + Endpoints[4111] = CreateEndpoint("/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.Storage.Admin/farms/{farmId}/shares/{shareName}/metricdefinitions", "GET"); + Endpoints[4112] = CreateEndpoint("/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.Storage.Admin/farms/{farmId}/shares/{shareName}/metrics", "GET"); + Endpoints[4113] = CreateEndpoint("/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.Storage.Admin/farms/{farmId}/shares/{shareName}/migrate", "POST"); + Endpoints[4114] = CreateEndpoint("/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.Storage.Admin/farms/{farmId}/tableservices/{serviceType}/metricdefinitions", "GET"); + Endpoints[4115] = CreateEndpoint("/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.Storage.Admin/farms/{farmId}/tableservices/{serviceType}/metrics", "GET"); + Endpoints[4116] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.StorSimple/managers/{managerName}/devices/{deviceName}/authorizeForServiceEncryptionKeyRollover", "POST"); + Endpoints[4117] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.StorSimple/managers/{managerName}/devices/{deviceName}/backupPolicies", "GET"); + Endpoints[4118] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.StorSimple/managers/{managerName}/devices/{deviceName}/backups", "GET"); + Endpoints[4119] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.StorSimple/managers/{managerName}/devices/{deviceName}/deactivate", "POST"); + Endpoints[4120] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.StorSimple/managers/{managerName}/devices/{deviceName}/hardwareComponentGroups", "GET"); + Endpoints[4121] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.StorSimple/managers/{managerName}/devices/{deviceName}/installUpdates", "POST"); + Endpoints[4122] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.StorSimple/managers/{managerName}/devices/{deviceName}/jobs", "GET"); + Endpoints[4123] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.StorSimple/managers/{managerName}/devices/{deviceName}/listFailoverSets", "POST"); + Endpoints[4124] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.StorSimple/managers/{managerName}/devices/{deviceName}/metrics", "GET"); + Endpoints[4125] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.StorSimple/managers/{managerName}/devices/{deviceName}/metricsDefinitions", "GET"); + Endpoints[4126] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.StorSimple/managers/{managerName}/devices/{deviceName}/publicEncryptionKey", "POST"); + Endpoints[4127] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.StorSimple/managers/{managerName}/devices/{deviceName}/scanForUpdates", "POST"); + Endpoints[4128] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.StorSimple/managers/{managerName}/devices/{deviceName}/sendTestAlertEmail", "POST"); + Endpoints[4129] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.StorSimple/managers/{managerName}/devices/{deviceName}/volumeContainers", "GET"); + Endpoints[4130] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.StorSimple/managers/{managerName}/devices/{deviceName}/volumes", "GET"); + Endpoints[4131] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.StorSimple/managers/{managerName}/devices/{sourceDeviceName}/failover", "POST"); + Endpoints[4132] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.StorSimple/managers/{managerName}/devices/{sourceDeviceName}/listFailoverTargets", "POST"); + Endpoints[4133] = CreateEndpoint("/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.StreamAnalytics/streamingjobs/{jobName}/functions/{functionName}/RetrieveDefaultDefinition", "POST"); + Endpoints[4134] = CreateEndpoint("/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.StreamAnalytics/streamingjobs/{jobName}/functions/{functionName}/test", "POST"); + Endpoints[4135] = CreateEndpoint("/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.StreamAnalytics/streamingjobs/{jobName}/inputs/{inputName}/test", "POST"); + Endpoints[4136] = CreateEndpoint("/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.StreamAnalytics/streamingjobs/{jobName}/outputs/{outputName}/test", "POST"); + Endpoints[4137] = CreateEndpoint("/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.Update.Admin/updateLocations/{updateLocation}/updates/{updateName}/Apply", "POST"); + Endpoints[4138] = CreateEndpoint("/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.Update.Admin/updateLocations/{updateLocation}/updates/{updateName}/updateRuns", "GET"); + Endpoints[4139] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/hostingEnvironments/{name}/workerPools/{workerPoolName}/metricdefinitions", "GET"); + Endpoints[4140] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/hostingEnvironments/{name}/workerPools/{workerPoolName}/metrics", "GET"); + Endpoints[4141] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/hostingEnvironments/{name}/workerPools/{workerPoolName}/skus", "GET"); + Endpoints[4142] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/hostingEnvironments/{name}/workerPools/{workerPoolName}/usages", "GET"); + Endpoints[4143] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/serverfarms/{name}/virtualNetworkConnections/{vnetName}/routes", "GET"); + Endpoints[4144] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/serverfarms/{name}/workers/{workerName}/reboot", "POST"); + Endpoints[4145] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/backups/{backupId}/list", "POST"); + Endpoints[4146] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/backups/{backupId}/restore", "POST"); + Endpoints[4147] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/continuouswebjobs/{webJobName}/start", "POST"); + Endpoints[4148] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/continuouswebjobs/{webJobName}/stop", "POST"); + Endpoints[4149] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/deployments/{id}/log", "GET"); + Endpoints[4150] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/functions/{functionName}/listsecrets", "POST"); + Endpoints[4151] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/instances/{instanceId}/deployments", "GET"); + Endpoints[4152] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/instances/{instanceId}/processes", "GET"); + Endpoints[4153] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/processes/{processId}/dump", "GET"); + Endpoints[4154] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/processes/{processId}/modules", "GET"); + Endpoints[4155] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/processes/{processId}/threads", "GET"); + Endpoints[4156] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/analyzeCustomHostname", "GET"); + Endpoints[4157] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/applySlotConfig", "POST"); + Endpoints[4158] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/backup", "POST"); + Endpoints[4159] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/backups", "GET"); + Endpoints[4160] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/config", "GET"); + Endpoints[4161] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/containerlogs", "POST"); + Endpoints[4162] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/continuouswebjobs", "GET"); + Endpoints[4163] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/deployments", "GET"); + Endpoints[4164] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/domainOwnershipIdentifiers", "GET"); + Endpoints[4165] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/functions", "GET"); + Endpoints[4166] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/hostNameBindings", "GET"); + Endpoints[4167] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/hybridconnection", "GET"); + Endpoints[4168] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/hybridConnectionRelays", "GET"); + Endpoints[4169] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/instances", "GET"); + Endpoints[4170] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/iscloneable", "POST"); + Endpoints[4171] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/listsyncfunctiontriggerstatus", "POST"); + Endpoints[4172] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/metricdefinitions", "GET"); + Endpoints[4173] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/metrics", "GET"); + Endpoints[4174] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/newpassword", "POST"); + Endpoints[4175] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/perfcounters", "GET"); + Endpoints[4176] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/phplogging", "GET"); + Endpoints[4177] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/premieraddons", "GET"); + Endpoints[4178] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/processes", "GET"); + Endpoints[4179] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/publicCertificates", "GET"); + Endpoints[4180] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/publishxml", "POST"); + Endpoints[4181] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/recover", "POST"); + Endpoints[4182] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/resetSlotConfig", "POST"); + Endpoints[4183] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/resourceHealthMetadata", "GET"); + Endpoints[4184] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/restart", "POST"); + Endpoints[4185] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/restoreFromBackupBlob", "POST"); + Endpoints[4186] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/restoreFromDeletedApp", "POST"); + Endpoints[4187] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/restoreSnapshot", "POST"); + Endpoints[4188] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/siteextensions", "GET"); + Endpoints[4189] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/slotsdiffs", "POST"); + Endpoints[4190] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/slotsswap", "POST"); + Endpoints[4191] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/snapshots", "GET"); + Endpoints[4192] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/snapshots", "PUT"); + Endpoints[4193] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/start", "POST"); + Endpoints[4194] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/stop", "POST"); + Endpoints[4195] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/sync", "POST"); + Endpoints[4196] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/syncfunctiontriggers", "POST"); + Endpoints[4197] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/triggeredwebjobs", "GET"); + Endpoints[4198] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/usages", "GET"); + Endpoints[4199] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/virtualNetworkConnections", "GET"); + Endpoints[4200] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/webjobs", "GET"); + Endpoints[4201] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/triggeredwebjobs/{webJobName}/history", "GET"); + Endpoints[4202] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/triggeredwebjobs/{webJobName}/run", "POST"); + Endpoints[4203] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{siteName}/diagnostics/{diagnosticCategory}/analyses", "GET"); + Endpoints[4204] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{siteName}/diagnostics/{diagnosticCategory}/detectors", "GET"); + Endpoints[4205] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{siteName}/recommendations/{name}/disable", "POST"); + Endpoints[4206] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{siteName}/slots/{slot}/detectors", "GET"); + Endpoints[4207] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{siteName}/slots/{slot}/diagnostics", "GET"); + Endpoints[4208] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/tenant/{accessName}/git/regeneratePrimaryKey", "POST"); + Endpoints[4209] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/tenant/{accessName}/git/regenerateSecondaryKey", "POST"); + Endpoints[4210] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Automation/automationAccounts/{automationAccountName}/runbooks/{runbookName}/draft/content", "PUT"); + Endpoints[4211] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Automation/automationAccounts/{automationAccountName}/runbooks/{runbookName}/draft/content", "GET"); + Endpoints[4212] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Automation/automationAccounts/{automationAccountName}/runbooks/{runbookName}/draft/publish", "POST"); + Endpoints[4213] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Automation/automationAccounts/{automationAccountName}/runbooks/{runbookName}/draft/testJob", "GET"); + Endpoints[4214] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Automation/automationAccounts/{automationAccountName}/runbooks/{runbookName}/draft/testJob", "PUT"); + Endpoints[4215] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Automation/automationAccounts/{automationAccountName}/runbooks/{runbookName}/draft/undoEdit", "POST"); + Endpoints[4216] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/targetRegion/{targetRegion}/percentile/metrics", "GET"); + Endpoints[4217] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Logic/workflows/{workflowName}/triggers/{triggerName}/schemas/json", "GET"); + Endpoints[4218] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/databases/{databaseName}/automaticTuning/current", "GET"); + Endpoints[4219] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/databases/{databaseName}/automaticTuning/current", "PATCH"); + Endpoints[4220] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.StorSimple/managers/{managerName}/devices/{deviceName}/alertSettings/default", "GET"); + Endpoints[4221] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.StorSimple/managers/{managerName}/devices/{deviceName}/alertSettings/default", "PUT"); + Endpoints[4222] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.StorSimple/managers/{managerName}/devices/{deviceName}/networkSettings/default", "GET"); + Endpoints[4223] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.StorSimple/managers/{managerName}/devices/{deviceName}/networkSettings/default", "PATCH"); + Endpoints[4224] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.StorSimple/managers/{managerName}/devices/{deviceName}/securitySettings/default", "GET"); + Endpoints[4225] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.StorSimple/managers/{managerName}/devices/{deviceName}/securitySettings/default", "PATCH"); + Endpoints[4226] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.StorSimple/managers/{managerName}/devices/{deviceName}/timeSettings/default", "GET"); + Endpoints[4227] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.StorSimple/managers/{managerName}/devices/{deviceName}/timeSettings/default", "PUT"); + Endpoints[4228] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.StorSimple/managers/{managerName}/devices/{deviceName}/updateSummary/default", "GET"); + Endpoints[4229] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/instances/{instanceId}/extensions/MSDeploy", "PUT"); + Endpoints[4230] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/instances/{instanceId}/extensions/MSDeploy", "GET"); + Endpoints[4231] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/backups/discover", "PUT"); + Endpoints[4232] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/config/appsettings", "PUT"); + Endpoints[4233] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/config/authsettings", "PUT"); + Endpoints[4234] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/config/backup", "DELETE"); + Endpoints[4235] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/config/backup", "PUT"); + Endpoints[4236] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/config/connectionstrings", "PUT"); + Endpoints[4237] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/config/logs", "GET"); + Endpoints[4238] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/config/logs", "PUT"); + Endpoints[4239] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/config/metadata", "PUT"); + Endpoints[4240] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/config/pushsettings", "PUT"); + Endpoints[4241] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/config/web", "GET"); + Endpoints[4242] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/config/web", "PUT"); + Endpoints[4243] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/config/web", "PATCH"); + Endpoints[4244] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/extensions/MSDeploy", "GET"); + Endpoints[4245] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/extensions/MSDeploy", "PUT"); + Endpoints[4246] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/migratemysql/status", "GET"); + Endpoints[4247] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/networkTrace/start", "POST"); + Endpoints[4248] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/networkTrace/stop", "POST"); + Endpoints[4249] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/privateAccess/virtualNetworks", "GET"); + Endpoints[4250] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/privateAccess/virtualNetworks", "PUT"); + Endpoints[4251] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/resourceHealthMetadata/default", "GET"); + Endpoints[4252] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/sourcecontrols/web", "PUT"); + Endpoints[4253] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/sourcecontrols/web", "GET"); + Endpoints[4254] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/sourcecontrols/web", "DELETE"); + Endpoints[4255] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/sourcecontrols/web", "PATCH"); + Endpoints[4256] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Automation/automationAccounts/{automationAccountName}/runbooks/{runbookName}/draft/testJob/resume", "POST"); + Endpoints[4257] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Automation/automationAccounts/{automationAccountName}/runbooks/{runbookName}/draft/testJob/stop", "POST"); + Endpoints[4258] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Automation/automationAccounts/{automationAccountName}/runbooks/{runbookName}/draft/testJob/streams", "GET"); + Endpoints[4259] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Automation/automationAccounts/{automationAccountName}/runbooks/{runbookName}/draft/testJob/suspend", "POST"); + Endpoints[4260] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ServerManagement/nodes/{nodeName}/sessions/{session}/features/powerShellConsole/pssessions", "GET"); + Endpoints[4261] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.StorSimple/managers/{managerName}/devices/{deviceName}/securitySettings/default/syncRemoteManagementCertificate", "POST"); + Endpoints[4262] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/instances/{instanceId}/extensions/MSDeploy/log", "GET"); + Endpoints[4263] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/config/appsettings/list", "POST"); + Endpoints[4264] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/config/authsettings/list", "POST"); + Endpoints[4265] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/config/backup/list", "POST"); + Endpoints[4266] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/config/connectionstrings/list", "POST"); + Endpoints[4267] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/config/metadata/list", "POST"); + Endpoints[4268] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/config/publishingcredentials/list", "POST"); + Endpoints[4269] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/config/pushsettings/list", "POST"); + Endpoints[4270] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/config/web/snapshots", "GET"); + Endpoints[4271] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/containerlogs/zip/download", "POST"); + Endpoints[4272] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/extensions/MSDeploy/log", "GET"); + Endpoints[4273] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/functions/admin/token", "GET"); + Endpoints[4274] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Automation/automationAccounts/{automationAccountName}/runbooks/{runbookName}/draft/testJob/streams/{jobStreamId}", "GET"); + Endpoints[4275] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ServerManagement/nodes/{nodeName}/sessions/{session}/features/powerShellConsole/pssessions/{pssession}", "PUT"); + Endpoints[4276] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ServerManagement/nodes/{nodeName}/sessions/{session}/features/powerShellConsole/pssessions/{pssession}", "GET"); + Endpoints[4277] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ServerManagement/nodes/{nodeName}/sessions/{session}/features/powerShellConsole/pssessions/{pssession}", "PATCH"); + Endpoints[4278] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/config/web/snapshots/{snapshotId}", "GET"); + Endpoints[4279] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ServerManagement/nodes/{nodeName}/sessions/{session}/features/powerShellConsole/pssessions/{pssession}/cancel", "POST"); + Endpoints[4280] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ServerManagement/nodes/{nodeName}/sessions/{session}/features/powerShellConsole/pssessions/{pssession}/invokeCommand", "POST"); + Endpoints[4281] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ServerManagement/nodes/{nodeName}/sessions/{session}/features/powerShellConsole/pssessions/{pssession}/tab", "POST"); + Endpoints[4282] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/config/web/snapshots/{snapshotId}/recover", "POST"); + Endpoints[4283] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{groupName}/providers/Microsoft.DataMigration/services/{serviceName}/projects/{projectName}/tasks/{taskName}", "DELETE"); + Endpoints[4284] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{groupName}/providers/Microsoft.DataMigration/services/{serviceName}/projects/{projectName}/tasks/{taskName}", "PATCH"); + Endpoints[4285] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{groupName}/providers/Microsoft.DataMigration/services/{serviceName}/projects/{projectName}/tasks/{taskName}", "GET"); + Endpoints[4286] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{groupName}/providers/Microsoft.DataMigration/services/{serviceName}/projects/{projectName}/tasks/{taskName}", "PUT"); + Endpoints[4287] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{groupName}/providers/Microsoft.DataMigration/services/{serviceName}/projects/{projectName}/tasks/{taskName}", "PARAMETERS"); + Endpoints[4288] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/apis/{apiId}/diagnostics/{diagnosticId}", "HEAD"); + Endpoints[4289] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/apis/{apiId}/diagnostics/{diagnosticId}", "PUT"); + Endpoints[4290] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/apis/{apiId}/diagnostics/{diagnosticId}", "PATCH"); + Endpoints[4291] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/apis/{apiId}/diagnostics/{diagnosticId}", "DELETE"); + Endpoints[4292] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/apis/{apiId}/diagnostics/{diagnosticId}", "GET"); + Endpoints[4293] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/apis/{apiId}/issues/{issueId}", "PUT"); + Endpoints[4294] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/apis/{apiId}/issues/{issueId}", "GET"); + Endpoints[4295] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/apis/{apiId}/issues/{issueId}", "HEAD"); + Endpoints[4296] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/apis/{apiId}/issues/{issueId}", "DELETE"); + Endpoints[4297] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/apis/{apiId}/operations/{operationId}", "PUT"); + Endpoints[4298] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/apis/{apiId}/operations/{operationId}", "GET"); + Endpoints[4299] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/apis/{apiId}/operations/{operationId}", "HEAD"); + Endpoints[4300] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/apis/{apiId}/operations/{operationId}", "DELETE"); + Endpoints[4301] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/apis/{apiId}/operations/{operationId}", "PATCH"); + Endpoints[4302] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/apis/{apiId}/policies/{policyId}", "DELETE"); + Endpoints[4303] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/apis/{apiId}/policies/{policyId}", "GET"); + Endpoints[4304] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/apis/{apiId}/policies/{policyId}", "HEAD"); + Endpoints[4305] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/apis/{apiId}/policies/{policyId}", "PUT"); + Endpoints[4306] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/apis/{apiId}/releases/{releaseId}", "PATCH"); + Endpoints[4307] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/apis/{apiId}/releases/{releaseId}", "PUT"); + Endpoints[4308] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/apis/{apiId}/releases/{releaseId}", "GET"); + Endpoints[4309] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/apis/{apiId}/releases/{releaseId}", "DELETE"); + Endpoints[4310] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/apis/{apiId}/releases/{releaseId}", "PARAMETERS"); + Endpoints[4311] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/apis/{apiId}/releases/{releaseId}", "HEAD"); + Endpoints[4312] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/apis/{apiId}/schemas/{schemaId}", "HEAD"); + Endpoints[4313] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/apis/{apiId}/schemas/{schemaId}", "GET"); + Endpoints[4314] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/apis/{apiId}/schemas/{schemaId}", "PUT"); + Endpoints[4315] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/apis/{apiId}/schemas/{schemaId}", "DELETE"); + Endpoints[4316] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/apis/{apiId}/tagDescriptions/{tagId}", "PUT"); + Endpoints[4317] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/apis/{apiId}/tagDescriptions/{tagId}", "GET"); + Endpoints[4318] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/apis/{apiId}/tagDescriptions/{tagId}", "HEAD"); + Endpoints[4319] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/apis/{apiId}/tagDescriptions/{tagId}", "DELETE"); + Endpoints[4320] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/apis/{apiId}/tags/{tagId}", "DELETE"); + Endpoints[4321] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/apis/{apiId}/tags/{tagId}", "PUT"); + Endpoints[4322] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/apis/{apiId}/tags/{tagId}", "GET"); + Endpoints[4323] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/apis/{apiId}/tags/{tagId}", "HEAD"); + Endpoints[4324] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/diagnostics/{diagnosticId}/loggers/{loggerid}", "DELETE"); + Endpoints[4325] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/diagnostics/{diagnosticId}/loggers/{loggerid}", "HEAD"); + Endpoints[4326] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/diagnostics/{diagnosticId}/loggers/{loggerid}", "PUT"); + Endpoints[4327] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/groups/{groupId}/users/{uid}", "PUT"); + Endpoints[4328] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/groups/{groupId}/users/{uid}", "HEAD"); + Endpoints[4329] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/groups/{groupId}/users/{uid}", "DELETE"); + Endpoints[4330] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/notifications/{notificationName}/recipientEmails/{email}", "HEAD"); + Endpoints[4331] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/notifications/{notificationName}/recipientEmails/{email}", "PUT"); + Endpoints[4332] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/notifications/{notificationName}/recipientEmails/{email}", "DELETE"); + Endpoints[4333] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/notifications/{notificationName}/recipientUsers/{uid}", "HEAD"); + Endpoints[4334] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/notifications/{notificationName}/recipientUsers/{uid}", "DELETE"); + Endpoints[4335] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/notifications/{notificationName}/recipientUsers/{uid}", "PUT"); + Endpoints[4336] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/products/{productId}/apis/{apiId}", "DELETE"); + Endpoints[4337] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/products/{productId}/apis/{apiId}", "HEAD"); + Endpoints[4338] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/products/{productId}/apis/{apiId}", "PUT"); + Endpoints[4339] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/products/{productId}/groups/{groupId}", "PUT"); + Endpoints[4340] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/products/{productId}/groups/{groupId}", "HEAD"); + Endpoints[4341] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/products/{productId}/groups/{groupId}", "DELETE"); + Endpoints[4342] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/products/{productId}/policies/{policyId}", "GET"); + Endpoints[4343] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/products/{productId}/policies/{policyId}", "HEAD"); + Endpoints[4344] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/products/{productId}/policies/{policyId}", "DELETE"); + Endpoints[4345] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/products/{productId}/policies/{policyId}", "PUT"); + Endpoints[4346] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/products/{productId}/tags/{tagId}", "DELETE"); + Endpoints[4347] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/products/{productId}/tags/{tagId}", "HEAD"); + Endpoints[4348] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/products/{productId}/tags/{tagId}", "PUT"); + Endpoints[4349] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/products/{productId}/tags/{tagId}", "GET"); + Endpoints[4350] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/quotas/{quotaCounterKey}/periods/{quotaPeriodKey}", "PATCH"); + Endpoints[4351] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/quotas/{quotaCounterKey}/periods/{quotaPeriodKey}", "GET"); + Endpoints[4352] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Automation/automationAccounts/{automationAccountName}/compilationjobs/{jobId}/streams/{jobStreamId}", "GET"); + Endpoints[4353] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Automation/automationAccounts/{automationAccountName}/jobs/{jobId}/streams/{jobStreamId}", "GET"); + Endpoints[4354] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Automation/automationAccounts/{automationAccountName}/modules/{moduleName}/activities/{activityName}", "GET"); + Endpoints[4355] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Automation/automationAccounts/{automationAccountName}/nodes/{nodeId}/reports/{reportId}", "GET"); + Endpoints[4356] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Automation/automationAccounts/{automationAccountName}/sourceControls/{sourceControlName}/sourceControlSyncJobs/{sourceControlSyncJobId}", "GET"); + Endpoints[4357] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Automation/automationAccounts/{automationAccountName}/sourceControls/{sourceControlName}/sourceControlSyncJobs/{sourceControlSyncJobId}", "PUT"); + Endpoints[4358] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Batch/batchAccounts/{accountName}/applications/{applicationId}/versions/{version}", "GET"); + Endpoints[4359] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Batch/batchAccounts/{accountName}/applications/{applicationId}/versions/{version}", "PUT"); + Endpoints[4360] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Batch/batchAccounts/{accountName}/applications/{applicationId}/versions/{version}", "DELETE"); + Endpoints[4361] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.BatchAI/workspaces/{workspaceName}/experiments/{experimentName}/jobs/{jobName}", "GET"); + Endpoints[4362] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.BatchAI/workspaces/{workspaceName}/experiments/{experimentName}/jobs/{jobName}", "PUT"); + Endpoints[4363] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.BatchAI/workspaces/{workspaceName}/experiments/{experimentName}/jobs/{jobName}", "DELETE"); + Endpoints[4364] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Cdn/profiles/{profileName}/endpoints/{endpointName}/customDomains/{customDomainName}", "GET"); + Endpoints[4365] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Cdn/profiles/{profileName}/endpoints/{endpointName}/customDomains/{customDomainName}", "PUT"); + Endpoints[4366] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Cdn/profiles/{profileName}/endpoints/{endpointName}/customDomains/{customDomainName}", "DELETE"); + Endpoints[4367] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Cdn/profiles/{profileName}/endpoints/{endpointName}/customDomains/{customDomainName}", "PATCH"); + Endpoints[4368] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Cdn/profiles/{profileName}/endpoints/{endpointName}/origins/{originName}", "DELETE"); + Endpoints[4369] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Cdn/profiles/{profileName}/endpoints/{endpointName}/origins/{originName}", "PATCH"); + Endpoints[4370] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Cdn/profiles/{profileName}/endpoints/{endpointName}/origins/{originName}", "GET"); + Endpoints[4371] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Cdn/profiles/{profileName}/endpoints/{endpointName}/origins/{originName}", "PUT"); + Endpoints[4372] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/galleries/{galleryName}/images/{galleryImageName}/versions/{galleryImageVersionName}", "PUT"); + Endpoints[4373] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/galleries/{galleryName}/images/{galleryImageName}/versions/{galleryImageVersionName}", "GET"); + Endpoints[4374] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/galleries/{galleryName}/images/{galleryImageName}/versions/{galleryImageVersionName}", "DELETE"); + Endpoints[4375] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/microsoft.Compute/virtualMachineScaleSets/{virtualMachineScaleSetName}/virtualMachines/{virtualmachineIndex}/networkInterfaces/{networkInterfaceName}", "GET"); + Endpoints[4376] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerRegistry/registries/{registryName}/buildTasks/{buildTaskName}/steps/{stepName}", "PATCH"); + Endpoints[4377] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerRegistry/registries/{registryName}/buildTasks/{buildTaskName}/steps/{stepName}", "GET"); + Endpoints[4378] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerRegistry/registries/{registryName}/buildTasks/{buildTaskName}/steps/{stepName}", "PUT"); + Endpoints[4379] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerRegistry/registries/{registryName}/buildTasks/{buildTaskName}/steps/{stepName}", "DELETE"); + Endpoints[4380] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.CustomerInsights/hubs/{hubName}/connectors/{connectorName}/mappings/{mappingName}", "PUT"); + Endpoints[4381] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.CustomerInsights/hubs/{hubName}/connectors/{connectorName}/mappings/{mappingName}", "GET"); + Endpoints[4382] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.CustomerInsights/hubs/{hubName}/connectors/{connectorName}/mappings/{mappingName}", "DELETE"); + Endpoints[4383] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataFactory/factories/{factoryName}/integrationRuntimes/{integrationRuntimeName}/nodes/{nodeName}", "PATCH"); + Endpoints[4384] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataFactory/factories/{factoryName}/integrationRuntimes/{integrationRuntimeName}/nodes/{nodeName}", "DELETE"); + Endpoints[4385] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataLakeAnalytics/accounts/{accountName}/storageAccounts/{storageAccountName}/containers/{containerName}", "GET"); + Endpoints[4386] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Devices/IotHubs/{resourceName}/eventHubEndpoints/{eventHubEndpointName}/ConsumerGroups/{name}", "GET"); + Endpoints[4387] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Devices/IotHubs/{resourceName}/eventHubEndpoints/{eventHubEndpointName}/ConsumerGroups/{name}", "PUT"); + Endpoints[4388] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Devices/IotHubs/{resourceName}/eventHubEndpoints/{eventHubEndpointName}/ConsumerGroups/{name}", "DELETE"); + Endpoints[4389] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DevTestLab/labs/{labName}/artifactsources/{artifactSourceName}/armtemplates/{name}", "GET"); + Endpoints[4390] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DevTestLab/labs/{labName}/artifactsources/{artifactSourceName}/artifacts/{name}", "GET"); + Endpoints[4391] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DevTestLab/labs/{labName}/policysets/{policySetName}/policies/{name}", "GET"); + Endpoints[4392] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DevTestLab/labs/{labName}/policysets/{policySetName}/policies/{name}", "PUT"); + Endpoints[4393] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DevTestLab/labs/{labName}/policysets/{policySetName}/policies/{name}", "DELETE"); + Endpoints[4394] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DevTestLab/labs/{labName}/policysets/{policySetName}/policies/{name}", "PATCH"); + Endpoints[4395] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DevTestLab/labs/{labName}/users/{userName}/disks/{name}", "PUT"); + Endpoints[4396] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DevTestLab/labs/{labName}/users/{userName}/disks/{name}", "DELETE"); + Endpoints[4397] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DevTestLab/labs/{labName}/users/{userName}/disks/{name}", "GET"); + Endpoints[4398] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DevTestLab/labs/{labName}/users/{userName}/environments/{name}", "DELETE"); + Endpoints[4399] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DevTestLab/labs/{labName}/users/{userName}/environments/{name}", "GET"); + Endpoints[4400] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DevTestLab/labs/{labName}/users/{userName}/environments/{name}", "PUT"); + Endpoints[4401] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DevTestLab/labs/{labName}/users/{userName}/secrets/{name}", "GET"); + Endpoints[4402] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DevTestLab/labs/{labName}/users/{userName}/secrets/{name}", "PUT"); + Endpoints[4403] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DevTestLab/labs/{labName}/users/{userName}/secrets/{name}", "DELETE"); + Endpoints[4404] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DevTestLab/labs/{labName}/virtualmachines/{virtualMachineName}/schedules/{name}", "GET"); + Endpoints[4405] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DevTestLab/labs/{labName}/virtualmachines/{virtualMachineName}/schedules/{name}", "PUT"); + Endpoints[4406] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DevTestLab/labs/{labName}/virtualmachines/{virtualMachineName}/schedules/{name}", "DELETE"); + Endpoints[4407] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DevTestLab/labs/{labName}/virtualmachines/{virtualMachineName}/schedules/{name}", "PATCH"); + Endpoints[4408] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.EventHub/namespaces/{namespaceName}/disasterRecoveryConfigs/{alias}/AuthorizationRules/{authorizationRuleName}", "GET"); + Endpoints[4409] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.EventHub/namespaces/{namespaceName}/eventhubs/{eventHubName}/authorizationRules/{authorizationRuleName}", "PUT"); + Endpoints[4410] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.EventHub/namespaces/{namespaceName}/eventhubs/{eventHubName}/authorizationRules/{authorizationRuleName}", "GET"); + Endpoints[4411] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.EventHub/namespaces/{namespaceName}/eventhubs/{eventHubName}/authorizationRules/{authorizationRuleName}", "DELETE"); + Endpoints[4412] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.EventHub/namespaces/{namespaceName}/eventhubs/{eventHubName}/authorizationRules/{authorizationRuleName}", "POST"); + Endpoints[4413] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.EventHub/namespaces/{namespaceName}/eventhubs/{eventHubName}/consumergroups/{consumerGroupName}", "PUT"); + Endpoints[4414] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.EventHub/namespaces/{namespaceName}/eventhubs/{eventHubName}/consumergroups/{consumerGroupName}", "DELETE"); + Endpoints[4415] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.EventHub/namespaces/{namespaceName}/eventhubs/{eventHubName}/consumergroups/{consumerGroupName}", "GET"); + Endpoints[4416] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Fabric.Admin/fabricLocations/{location}/logicalNetworks/{logicalNetwork}/logicalSubnets/{logicalSubnet}", "GET"); + Endpoints[4417] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Fabric.Admin/fabricLocations/{location}/storageSubSystems/{storageSubSystem}/storagePools/{storagePool}", "GET"); + Endpoints[4418] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.InfrastructureInsights.Admin/regionHealths/{location}/serviceHealths/{serviceRegistrationId}/resourceHealths/{resourceRegistrationId}", "GET"); + Endpoints[4419] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Logic/workflows/{workflowName}/runs/{runName}/actions/{actionName}", "GET"); + Endpoints[4420] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Logic/workflows/{workflowName}/runs/{runName}/operations/{operationId}", "GET"); + Endpoints[4421] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Logic/workflows/{workflowName}/triggers/{triggerName}/histories/{historyName}", "GET"); + Endpoints[4422] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.MachineLearningExperimentation/accounts/{accountName}/workspaces/{workspaceName}/projects/{projectName}", "PATCH"); + Endpoints[4423] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.MachineLearningExperimentation/accounts/{accountName}/workspaces/{workspaceName}/projects/{projectName}", "DELETE"); + Endpoints[4424] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.MachineLearningExperimentation/accounts/{accountName}/workspaces/{workspaceName}/projects/{projectName}", "GET"); + Endpoints[4425] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.MachineLearningExperimentation/accounts/{accountName}/workspaces/{workspaceName}/projects/{projectName}", "PUT"); + Endpoints[4426] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Media/mediaservices/{accountName}/liveEvents/{liveEventName}/liveOutputs/{liveOutputName}", "PUT"); + Endpoints[4427] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Media/mediaservices/{accountName}/liveEvents/{liveEventName}/liveOutputs/{liveOutputName}", "DELETE"); + Endpoints[4428] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Media/mediaservices/{accountName}/liveEvents/{liveEventName}/liveOutputs/{liveOutputName}", "GET"); + Endpoints[4429] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Media/mediaServices/{accountName}/transforms/{transformName}/jobs/{jobName}", "DELETE"); + Endpoints[4430] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Media/mediaServices/{accountName}/transforms/{transformName}/jobs/{jobName}", "GET"); + Endpoints[4431] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Media/mediaServices/{accountName}/transforms/{transformName}/jobs/{jobName}", "PUT"); + Endpoints[4432] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Migrate/projects/{projectName}/groups/{groupName}/assessments/{assessmentName}", "GET"); + Endpoints[4433] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Migrate/projects/{projectName}/groups/{groupName}/assessments/{assessmentName}", "PUT"); + Endpoints[4434] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Migrate/projects/{projectName}/groups/{groupName}/assessments/{assessmentName}", "DELETE"); + Endpoints[4435] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/expressRouteCircuits/{circuitName}/peerings/{peeringName}/arpTables/{devicePath}", "POST"); + Endpoints[4436] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/expressRouteCircuits/{circuitName}/peerings/{peeringName}/connections/{connectionName}", "DELETE"); + Endpoints[4437] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/expressRouteCircuits/{circuitName}/peerings/{peeringName}/connections/{connectionName}", "PUT"); + Endpoints[4438] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/expressRouteCircuits/{circuitName}/peerings/{peeringName}/connections/{connectionName}", "GET"); + Endpoints[4439] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/expressRouteCircuits/{circuitName}/peerings/{peeringName}/routeTables/{devicePath}", "POST"); + Endpoints[4440] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/expressRouteCircuits/{circuitName}/peerings/{peeringName}/routeTablesSummary/{devicePath}", "POST"); + Endpoints[4441] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/expressRouteCrossConnections/{crossConnectionName}/peerings/{peeringName}/arpTables/{devicePath}", "POST"); + Endpoints[4442] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/expressRouteCrossConnections/{crossConnectionName}/peerings/{peeringName}/routeTables/{devicePath}", "POST"); + Endpoints[4443] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/expressRouteCrossConnections/{crossConnectionName}/peerings/{peeringName}/routeTablesSummary/{devicePath}", "POST"); + Endpoints[4444] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.NotificationHubs/namespaces/{namespaceName}/notificationHubs/{notificationHubName}/AuthorizationRules/{authorizationRuleName}", "PUT"); + Endpoints[4445] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.NotificationHubs/namespaces/{namespaceName}/notificationHubs/{notificationHubName}/AuthorizationRules/{authorizationRuleName}", "POST"); + Endpoints[4446] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.NotificationHubs/namespaces/{namespaceName}/notificationHubs/{notificationHubName}/AuthorizationRules/{authorizationRuleName}", "DELETE"); + Endpoints[4447] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.NotificationHubs/namespaces/{namespaceName}/notificationHubs/{notificationHubName}/AuthorizationRules/{authorizationRuleName}", "GET"); + Endpoints[4448] = CreateEndpoint("/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationFabrics/{fabricName}/replicationLogicalNetworks/{logicalNetworkName}", "GET"); + Endpoints[4449] = CreateEndpoint("/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationFabrics/{fabricName}/replicationNetworks/{networkName}", "GET"); + Endpoints[4450] = CreateEndpoint("/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationFabrics/{fabricName}/replicationProtectionContainers/{protectionContainerName}", "GET"); + Endpoints[4451] = CreateEndpoint("/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationFabrics/{fabricName}/replicationProtectionContainers/{protectionContainerName}", "PUT"); + Endpoints[4452] = CreateEndpoint("/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationFabrics/{fabricName}/replicationRecoveryServicesProviders/{providerName}", "GET"); + Endpoints[4453] = CreateEndpoint("/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationFabrics/{fabricName}/replicationRecoveryServicesProviders/{providerName}", "DELETE"); + Endpoints[4454] = CreateEndpoint("/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationFabrics/{fabricName}/replicationStorageClassifications/{storageClassificationName}", "GET"); + Endpoints[4455] = CreateEndpoint("/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationFabrics/{fabricName}/replicationvCenters/{vCenterName}", "PUT"); + Endpoints[4456] = CreateEndpoint("/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationFabrics/{fabricName}/replicationvCenters/{vCenterName}", "PATCH"); + Endpoints[4457] = CreateEndpoint("/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationFabrics/{fabricName}/replicationvCenters/{vCenterName}", "DELETE"); + Endpoints[4458] = CreateEndpoint("/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationFabrics/{fabricName}/replicationvCenters/{vCenterName}", "GET"); + Endpoints[4459] = CreateEndpoint("/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupFabrics/{fabricName}/backupProtectionIntent/{intentObjectName}", "PUT"); + Endpoints[4460] = CreateEndpoint("/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupFabrics/{fabricName}/operationResults/{operationId}", "GET"); + Endpoints[4461] = CreateEndpoint("/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupFabrics/{fabricName}/protectionContainers/{containerName}", "DELETE"); + Endpoints[4462] = CreateEndpoint("/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupFabrics/{fabricName}/protectionContainers/{containerName}", "PUT"); + Endpoints[4463] = CreateEndpoint("/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupFabrics/{fabricName}/protectionContainers/{containerName}", "GET"); + Endpoints[4464] = CreateEndpoint("/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupJobs/{jobName}/operationResults/{operationId}", "GET"); + Endpoints[4465] = CreateEndpoint("/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupPolicies/{policyName}/operationResults/{operationId}", "GET"); + Endpoints[4466] = CreateEndpoint("/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupPolicies/{policyName}/operations/{operationId}", "GET"); + Endpoints[4467] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Relay/namespaces/{namespaceName}/hybridConnections/{hybridConnectionName}/authorizationRules/{authorizationRuleName}", "GET"); + Endpoints[4468] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Relay/namespaces/{namespaceName}/hybridConnections/{hybridConnectionName}/authorizationRules/{authorizationRuleName}", "DELETE"); + Endpoints[4469] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Relay/namespaces/{namespaceName}/hybridConnections/{hybridConnectionName}/authorizationRules/{authorizationRuleName}", "PUT"); + Endpoints[4470] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Relay/namespaces/{namespaceName}/HybridConnections/{hybridConnectionName}/authorizationRules/{authorizationRuleName}", "POST"); + Endpoints[4471] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Relay/namespaces/{namespaceName}/wcfRelays/{relayName}/authorizationRules/{authorizationRuleName}", "GET"); + Endpoints[4472] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Relay/namespaces/{namespaceName}/wcfRelays/{relayName}/authorizationRules/{authorizationRuleName}", "PUT"); + Endpoints[4473] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Relay/namespaces/{namespaceName}/wcfRelays/{relayName}/authorizationRules/{authorizationRuleName}", "DELETE"); + Endpoints[4474] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Relay/namespaces/{namespaceName}/WcfRelays/{relayName}/authorizationRules/{authorizationRuleName}", "POST"); + Endpoints[4475] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ServiceBus/namespaces/{namespaceName}/disasterRecoveryConfigs/{alias}/AuthorizationRules/{authorizationRuleName}", "GET"); + Endpoints[4476] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ServiceBus/namespaces/{namespaceName}/eventhubs/{eventhubName}/authorizationRules/{authorizationRuleName}", "GET"); + Endpoints[4477] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ServiceBus/namespaces/{namespaceName}/queues/{queueName}/authorizationRules/{authorizationRuleName}", "GET"); + Endpoints[4478] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ServiceBus/namespaces/{namespaceName}/queues/{queueName}/authorizationRules/{authorizationRuleName}", "POST"); + Endpoints[4479] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ServiceBus/namespaces/{namespaceName}/queues/{queueName}/authorizationRules/{authorizationRuleName}", "DELETE"); + Endpoints[4480] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ServiceBus/namespaces/{namespaceName}/queues/{queueName}/authorizationRules/{authorizationRuleName}", "PUT"); + Endpoints[4481] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ServiceBus/namespaces/{namespaceName}/topics/{topicName}/authorizationRules/{authorizationRuleName}", "PUT"); + Endpoints[4482] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ServiceBus/namespaces/{namespaceName}/topics/{topicName}/authorizationRules/{authorizationRuleName}", "GET"); + Endpoints[4483] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ServiceBus/namespaces/{namespaceName}/topics/{topicName}/authorizationRules/{authorizationRuleName}", "DELETE"); + Endpoints[4484] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ServiceBus/namespaces/{namespaceName}/topics/{topicName}/authorizationRules/{authorizationRuleName}", "POST"); + Endpoints[4485] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ServiceBus/namespaces/{namespaceName}/topics/{topicName}/subscriptions/{subscriptionName}", "PUT"); + Endpoints[4486] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ServiceBus/namespaces/{namespaceName}/topics/{topicName}/subscriptions/{subscriptionName}", "GET"); + Endpoints[4487] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ServiceBus/namespaces/{namespaceName}/topics/{topicName}/subscriptions/{subscriptionName}", "DELETE"); + Endpoints[4488] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ServiceFabric/clusters/{clusterName}/applications/{applicationName}/services/{serviceName}", "PATCH"); + Endpoints[4489] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ServiceFabric/clusters/{clusterName}/applications/{applicationName}/services/{serviceName}", "DELETE"); + Endpoints[4490] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ServiceFabric/clusters/{clusterName}/applications/{applicationName}/services/{serviceName}", "PUT"); + Endpoints[4491] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ServiceFabric/clusters/{clusterName}/applications/{applicationName}/services/{serviceName}", "GET"); + Endpoints[4492] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ServiceFabric/clusters/{clusterName}/applicationTypes/{applicationTypeName}/versions/{version}", "GET"); + Endpoints[4493] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ServiceFabric/clusters/{clusterName}/applicationTypes/{applicationTypeName}/versions/{version}", "PUT"); + Endpoints[4494] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ServiceFabric/clusters/{clusterName}/applicationTypes/{applicationTypeName}/versions/{version}", "DELETE"); + Endpoints[4495] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/databases/{databaseName}/advisors/{advisorName}", "GET"); + Endpoints[4496] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/databases/{databaseName}/advisors/{advisorName}", "PATCH"); + Endpoints[4497] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/databases/{databaseName}/advisors/{advisorName}", "PUT"); + Endpoints[4498] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/databases/{databaseName}/auditingPolicies/{tableAuditingPolicyName}", "GET"); + Endpoints[4499] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/databases/{databaseName}/auditingPolicies/{tableAuditingPolicyName}", "PUT"); + Endpoints[4500] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/databases/{databaseName}/auditingSettings/{blobAuditingPolicyName}", "GET"); + Endpoints[4501] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/databases/{databaseName}/auditingSettings/{blobAuditingPolicyName}", "PUT"); + Endpoints[4502] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/databases/{databaseName}/backupLongTermRetentionPolicies/{backupLongTermRetentionPolicyName}", "GET"); + Endpoints[4503] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/databases/{databaseName}/backupLongTermRetentionPolicies/{backupLongTermRetentionPolicyName}", "PUT"); + Endpoints[4504] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/databases/{databaseName}/backupShortTermRetentionPolicies/{policyName}", "PATCH"); + Endpoints[4505] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/databases/{databaseName}/backupShortTermRetentionPolicies/{policyName}", "PUT"); + Endpoints[4506] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/databases/{databaseName}/backupShortTermRetentionPolicies/{policyName}", "GET"); + Endpoints[4507] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/databases/{databaseName}/connectionPolicies/{connectionPolicyName}", "GET"); + Endpoints[4508] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/databases/{databaseName}/connectionPolicies/{connectionPolicyName}", "PUT"); + Endpoints[4509] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/databases/{databaseName}/dataMaskingPolicies/{dataMaskingPolicyName}", "GET"); + Endpoints[4510] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/databases/{databaseName}/dataMaskingPolicies/{dataMaskingPolicyName}", "PUT"); + Endpoints[4511] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/databases/{databaseName}/dataWarehouseUserActivities/{dataWarehouseUserActivityName}", "GET"); + Endpoints[4512] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/databases/{databaseName}/extensions/{extensionName}", "PUT"); + Endpoints[4513] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/databases/{databaseName}/geoBackupPolicies/{geoBackupPolicyName}", "GET"); + Endpoints[4514] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/databases/{databaseName}/geoBackupPolicies/{geoBackupPolicyName}", "PUT"); + Endpoints[4515] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/databases/{databaseName}/replicationLinks/{linkId}", "GET"); + Endpoints[4516] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/databases/{databaseName}/replicationLinks/{linkId}", "DELETE"); + Endpoints[4517] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/databases/{databaseName}/restorePoints/{restorePointName}", "DELETE"); + Endpoints[4518] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/databases/{databaseName}/restorePoints/{restorePointName}", "GET"); + Endpoints[4519] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/databases/{databaseName}/securityAlertPolicies/{securityAlertPolicyName}", "PUT"); + Endpoints[4520] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/databases/{databaseName}/securityAlertPolicies/{securityAlertPolicyName}", "GET"); + Endpoints[4521] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/databases/{databaseName}/serviceTierAdvisors/{serviceTierAdvisorName}", "GET"); + Endpoints[4522] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/databases/{databaseName}/syncGroups/{syncGroupName}", "GET"); + Endpoints[4523] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/databases/{databaseName}/syncGroups/{syncGroupName}", "PATCH"); + Endpoints[4524] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/databases/{databaseName}/syncGroups/{syncGroupName}", "DELETE"); + Endpoints[4525] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/databases/{databaseName}/syncGroups/{syncGroupName}", "PUT"); + Endpoints[4526] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/databases/{databaseName}/transparentDataEncryption/{transparentDataEncryptionName}", "PUT"); + Endpoints[4527] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/databases/{databaseName}/transparentDataEncryption/{transparentDataEncryptionName}", "GET"); + Endpoints[4528] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/databases/{databaseName}/vulnerabilityAssessments/{vulnerabilityAssessmentName}", "PUT"); + Endpoints[4529] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/databases/{databaseName}/vulnerabilityAssessments/{vulnerabilityAssessmentName}", "DELETE"); + Endpoints[4530] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/databases/{databaseName}/vulnerabilityAssessments/{vulnerabilityAssessmentName}", "GET"); + Endpoints[4531] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/elasticPools/{elasticPoolName}/databases/{databaseName}", "GET"); + Endpoints[4532] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/jobAgents/{jobAgentName}/credentials/{credentialName}", "DELETE"); + Endpoints[4533] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/jobAgents/{jobAgentName}/credentials/{credentialName}", "PUT"); + Endpoints[4534] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/jobAgents/{jobAgentName}/credentials/{credentialName}", "GET"); + Endpoints[4535] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/jobAgents/{jobAgentName}/jobs/{jobName}", "GET"); + Endpoints[4536] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/jobAgents/{jobAgentName}/jobs/{jobName}", "PUT"); + Endpoints[4537] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/jobAgents/{jobAgentName}/jobs/{jobName}", "DELETE"); + Endpoints[4538] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/jobAgents/{jobAgentName}/targetGroups/{targetGroupName}", "PUT"); + Endpoints[4539] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/jobAgents/{jobAgentName}/targetGroups/{targetGroupName}", "DELETE"); + Endpoints[4540] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/jobAgents/{jobAgentName}/targetGroups/{targetGroupName}", "GET"); + Endpoints[4541] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/recommendedElasticPools/{recommendedElasticPoolName}/databases/{databaseName}", "GET"); + Endpoints[4542] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.StorSimple/managers/{managerName}/devices/{deviceName}/backupPolicies/{backupPolicyName}", "GET"); + Endpoints[4543] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.StorSimple/managers/{managerName}/devices/{deviceName}/backupPolicies/{backupPolicyName}", "PUT"); + Endpoints[4544] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.StorSimple/managers/{managerName}/devices/{deviceName}/backupPolicies/{backupPolicyName}", "DELETE"); + Endpoints[4545] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.StorSimple/managers/{managerName}/devices/{deviceName}/backups/{backupName}", "DELETE"); + Endpoints[4546] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.StorSimple/managers/{managerName}/devices/{deviceName}/jobs/{jobName}", "GET"); + Endpoints[4547] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.StorSimple/managers/{managerName}/devices/{deviceName}/volumeContainers/{volumeContainerName}", "DELETE"); + Endpoints[4548] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.StorSimple/managers/{managerName}/devices/{deviceName}/volumeContainers/{volumeContainerName}", "PUT"); + Endpoints[4549] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.StorSimple/managers/{managerName}/devices/{deviceName}/volumeContainers/{volumeContainerName}", "GET"); + Endpoints[4550] = CreateEndpoint("/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.Update.Admin/updateLocations/{updateLocation}/updates/{updateName}/updateRuns/{runName}", "GET"); + Endpoints[4551] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/serverfarms/{name}/hybridConnectionNamespaces/{namespaceName}/relays/{relayName}", "GET"); + Endpoints[4552] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/serverfarms/{name}/hybridConnectionNamespaces/{namespaceName}/relays/{relayName}", "DELETE"); + Endpoints[4553] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/serverfarms/{name}/virtualNetworkConnections/{vnetName}/gateways/{gatewayName}", "GET"); + Endpoints[4554] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/serverfarms/{name}/virtualNetworkConnections/{vnetName}/gateways/{gatewayName}", "PUT"); + Endpoints[4555] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/serverfarms/{name}/virtualNetworkConnections/{vnetName}/routes/{routeName}", "PATCH"); + Endpoints[4556] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/serverfarms/{name}/virtualNetworkConnections/{vnetName}/routes/{routeName}", "GET"); + Endpoints[4557] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/serverfarms/{name}/virtualNetworkConnections/{vnetName}/routes/{routeName}", "DELETE"); + Endpoints[4558] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/serverfarms/{name}/virtualNetworkConnections/{vnetName}/routes/{routeName}", "PUT"); + Endpoints[4559] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/hybridConnectionNamespaces/{namespaceName}/relays/{relayName}", "GET"); + Endpoints[4560] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/hybridConnectionNamespaces/{namespaceName}/relays/{relayName}", "DELETE"); + Endpoints[4561] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/hybridConnectionNamespaces/{namespaceName}/relays/{relayName}", "PUT"); + Endpoints[4562] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/hybridConnectionNamespaces/{namespaceName}/relays/{relayName}", "PATCH"); + Endpoints[4563] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/instances/{instanceId}/deployments/{id}", "DELETE"); + Endpoints[4564] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/instances/{instanceId}/deployments/{id}", "GET"); + Endpoints[4565] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/instances/{instanceId}/deployments/{id}", "PUT"); + Endpoints[4566] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/instances/{instanceId}/processes/{processId}", "GET"); + Endpoints[4567] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/instances/{instanceId}/processes/{processId}", "DELETE"); + Endpoints[4568] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/processes/{processId}/modules/{baseAddress}", "GET"); + Endpoints[4569] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/processes/{processId}/threads/{threadId}", "GET"); + Endpoints[4570] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/backups/{backupId}", "DELETE"); + Endpoints[4571] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/backups/{backupId}", "GET"); + Endpoints[4572] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/continuouswebjobs/{webJobName}", "GET"); + Endpoints[4573] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/continuouswebjobs/{webJobName}", "DELETE"); + Endpoints[4574] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/deployments/{id}", "GET"); + Endpoints[4575] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/deployments/{id}", "PUT"); + Endpoints[4576] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/deployments/{id}", "DELETE"); + Endpoints[4577] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/domainOwnershipIdentifiers/{domainOwnershipIdentifierName}", "PUT"); + Endpoints[4578] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/domainOwnershipIdentifiers/{domainOwnershipIdentifierName}", "PATCH"); + Endpoints[4579] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/domainOwnershipIdentifiers/{domainOwnershipIdentifierName}", "DELETE"); + Endpoints[4580] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/domainOwnershipIdentifiers/{domainOwnershipIdentifierName}", "GET"); + Endpoints[4581] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/functions/{functionName}", "PUT"); + Endpoints[4582] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/functions/{functionName}", "GET"); + Endpoints[4583] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/functions/{functionName}", "DELETE"); + Endpoints[4584] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/hostNameBindings/{hostName}", "GET"); + Endpoints[4585] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/hostNameBindings/{hostName}", "PUT"); + Endpoints[4586] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/hostNameBindings/{hostName}", "DELETE"); + Endpoints[4587] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/hybridconnection/{entityName}", "GET"); + Endpoints[4588] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/hybridconnection/{entityName}", "PUT"); + Endpoints[4589] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/hybridconnection/{entityName}", "DELETE"); + Endpoints[4590] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/hybridconnection/{entityName}", "PATCH"); + Endpoints[4591] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/networkFeatures/{view}", "GET"); + Endpoints[4592] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/operationresults/{operationId}", "GET"); + Endpoints[4593] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/premieraddons/{premierAddOnName}", "DELETE"); + Endpoints[4594] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/premieraddons/{premierAddOnName}", "PUT"); + Endpoints[4595] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/premieraddons/{premierAddOnName}", "GET"); + Endpoints[4596] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/processes/{processId}", "DELETE"); + Endpoints[4597] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/processes/{processId}", "GET"); + Endpoints[4598] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/publicCertificates/{publicCertificateName}", "DELETE"); + Endpoints[4599] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/publicCertificates/{publicCertificateName}", "PUT"); + Endpoints[4600] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/publicCertificates/{publicCertificateName}", "GET"); + Endpoints[4601] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/siteextensions/{siteExtensionId}", "PUT"); + Endpoints[4602] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/siteextensions/{siteExtensionId}", "GET"); + Endpoints[4603] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/siteextensions/{siteExtensionId}", "DELETE"); + Endpoints[4604] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/triggeredwebjobs/{webJobName}", "GET"); + Endpoints[4605] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/triggeredwebjobs/{webJobName}", "DELETE"); + Endpoints[4606] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/virtualNetworkConnections/{vnetName}", "PATCH"); + Endpoints[4607] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/virtualNetworkConnections/{vnetName}", "DELETE"); + Endpoints[4608] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/virtualNetworkConnections/{vnetName}", "PUT"); + Endpoints[4609] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/virtualNetworkConnections/{vnetName}", "GET"); + Endpoints[4610] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/webjobs/{webJobName}", "GET"); + Endpoints[4611] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/triggeredwebjobs/{webJobName}/history/{id}", "GET"); + Endpoints[4612] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/virtualNetworkConnections/{vnetName}/gateways/{gatewayName}", "GET"); + Endpoints[4613] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/virtualNetworkConnections/{vnetName}/gateways/{gatewayName}", "PUT"); + Endpoints[4614] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/virtualNetworkConnections/{vnetName}/gateways/{gatewayName}", "PATCH"); + Endpoints[4615] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{siteName}/diagnostics/{diagnosticCategory}/analyses/{analysisName}", "GET"); + Endpoints[4616] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{siteName}/diagnostics/{diagnosticCategory}/detectors/{detectorName}", "GET"); + Endpoints[4617] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{siteName}/slots/{slot}/detectors/{detectorName}", "GET"); + Endpoints[4618] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{siteName}/slots/{slot}/diagnostics/{diagnosticCategory}", "GET"); + Endpoints[4619] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{groupName}/providers/Microsoft.DataMigration/services/{serviceName}/projects/{projectName}/tasks/{taskName}/cancel", "POST"); + Endpoints[4620] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/apis/{apiId}/diagnostics/{diagnosticId}/loggers", "GET"); + Endpoints[4621] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/apis/{apiId}/issues/{issueId}/attachments", "GET"); + Endpoints[4622] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/apis/{apiId}/issues/{issueId}/comments", "GET"); + Endpoints[4623] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/apis/{apiId}/operations/{operationId}/policies", "GET"); + Endpoints[4624] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/apis/{apiId}/operations/{operationId}/policy", "PUT"); + Endpoints[4625] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/apis/{apiId}/operations/{operationId}/policy", "GET"); + Endpoints[4626] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/apis/{apiId}/operations/{operationId}/policy", "DELETE"); + Endpoints[4627] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/apis/{apiId}/operations/{operationId}/tags", "GET"); + Endpoints[4628] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Automation/automationAccounts/{automationAccountName}/modules/{moduleName}/objectDataTypes/{typeName}/fields", "GET"); + Endpoints[4629] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Automation/automationAccounts/{automationAccountName}/modules/{moduleName}/types/{typeName}/fields", "GET"); + Endpoints[4630] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Automation/automationAccounts/{automationAccountName}/nodes/{nodeId}/reports/{reportId}/content", "GET"); + Endpoints[4631] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Automation/automationAccounts/{automationAccountName}/sourceControls/{sourceControlName}/sourceControlSyncJobs/{sourceControlSyncJobId}/streams", "GET"); + Endpoints[4632] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Batch/batchAccounts/{accountName}/applications/{applicationId}/versions/{version}/activate", "POST"); + Endpoints[4633] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.BatchAI/workspaces/{workspaceName}/experiments/{experimentName}/jobs/{jobName}/listOutputFiles", "POST"); + Endpoints[4634] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.BatchAI/workspaces/{workspaceName}/experiments/{experimentName}/jobs/{jobName}/listRemoteLoginInformation", "POST"); + Endpoints[4635] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.BatchAI/workspaces/{workspaceName}/experiments/{experimentName}/jobs/{jobName}/terminate", "POST"); + Endpoints[4636] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Cdn/profiles/{profileName}/endpoints/{endpointName}/customDomains/{customDomainName}/disableCustomHttps", "POST"); + Endpoints[4637] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Cdn/profiles/{profileName}/endpoints/{endpointName}/customDomains/{customDomainName}/enableCustomHttps", "POST"); + Endpoints[4638] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/microsoft.Compute/virtualMachineScaleSets/{virtualMachineScaleSetName}/virtualMachines/{virtualmachineIndex}/networkInterfaces/{networkInterfaceName}/ipConfigurations", "GET"); + Endpoints[4639] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerRegistry/registries/{registryName}/buildTasks/{buildTaskName}/steps/{stepName}/listBuildArguments", "POST"); + Endpoints[4640] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataFactory/factories/{factoryName}/integrationRuntimes/{integrationRuntimeName}/nodes/{nodeName}/ipAddress", "POST"); + Endpoints[4641] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataLakeAnalytics/accounts/{accountName}/storageAccounts/{storageAccountName}/containers/{containerName}/listSasTokens", "POST"); + Endpoints[4642] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DevTestLab/labs/{labName}/artifactsources/{artifactSourceName}/artifacts/{name}/generateArmTemplate", "POST"); + Endpoints[4643] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DevTestLab/labs/{labName}/users/{userName}/disks/{name}/attach", "POST"); + Endpoints[4644] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DevTestLab/labs/{labName}/users/{userName}/disks/{name}/detach", "POST"); + Endpoints[4645] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DevTestLab/labs/{labName}/virtualmachines/{virtualMachineName}/schedules/{name}/execute", "POST"); + Endpoints[4646] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/databases/{databaseRid}/collections/{collectionRid}/metricDefinitions", "GET"); + Endpoints[4647] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/databases/{databaseRid}/collections/{collectionRid}/metrics", "GET"); + Endpoints[4648] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/databases/{databaseRid}/collections/{collectionRid}/usages", "GET"); + Endpoints[4649] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.EventHub/namespaces/{namespaceName}/disasterRecoveryConfigs/{alias}/AuthorizationRules/{authorizationRuleName}/listKeys", "POST"); + Endpoints[4650] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.EventHub/namespaces/{namespaceName}/eventhubs/{eventHubName}/authorizationRules/{authorizationRuleName}/ListKeys", "POST"); + Endpoints[4651] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.EventHub/namespaces/{namespaceName}/eventhubs/{eventHubName}/authorizationRules/{authorizationRuleName}/regenerateKeys", "POST"); + Endpoints[4652] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Fabric.Admin/fabricLocations/{location}/storageSubSystems/{storageSubSystem}/storagePools/{storagePool}/volumes", "GET"); + Endpoints[4653] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Logic/workflows/{workflowName}/runs/{runName}/actions/{actionName}/listExpressionTraces", "POST"); + Endpoints[4654] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Logic/workflows/{workflowName}/runs/{runName}/actions/{actionName}/repetitions", "GET"); + Endpoints[4655] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Logic/workflows/{workflowName}/runs/{runName}/actions/{actionName}/scopeRepetitions", "GET"); + Endpoints[4656] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Logic/workflows/{workflowName}/triggers/{triggerName}/histories/{historyName}/resubmit", "POST"); + Endpoints[4657] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Logic/workflows/{workflowName}/versions/{versionId}/triggers/{triggerName}/listCallbackUrl", "POST"); + Endpoints[4658] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Media/mediaServices/{accountName}/transforms/{transformName}/jobs/{jobName}/cancelJob", "POST"); + Endpoints[4659] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Migrate/projects/{projectName}/groups/{groupName}/assessments/{assessmentName}/assessedMachines", "GET"); + Endpoints[4660] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Migrate/projects/{projectName}/groups/{groupName}/assessments/{assessmentName}/downloadUrl", "POST"); + Endpoints[4661] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.NotificationHubs/namespaces/{namespaceName}/notificationHubs/{notificationHubName}/AuthorizationRules/{authorizationRuleName}/listKeys", "POST"); + Endpoints[4662] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.NotificationHubs/namespaces/{namespaceName}/notificationHubs/{notificationHubName}/AuthorizationRules/{authorizationRuleName}/regenerateKeys", "POST"); + Endpoints[4663] = CreateEndpoint("/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationFabrics/{fabricName}/replicationNetworks/{networkName}/replicationNetworkMappings", "GET"); + Endpoints[4664] = CreateEndpoint("/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationFabrics/{fabricName}/replicationProtectionContainers/{protectionContainerName}/discoverProtectableItem", "POST"); + Endpoints[4665] = CreateEndpoint("/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationFabrics/{fabricName}/replicationProtectionContainers/{protectionContainerName}/remove", "POST"); + Endpoints[4666] = CreateEndpoint("/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationFabrics/{fabricName}/replicationProtectionContainers/{protectionContainerName}/replicationProtectableItems", "GET"); + Endpoints[4667] = CreateEndpoint("/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationFabrics/{fabricName}/replicationProtectionContainers/{protectionContainerName}/replicationProtectedItems", "GET"); + Endpoints[4668] = CreateEndpoint("/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationFabrics/{fabricName}/replicationProtectionContainers/{protectionContainerName}/replicationProtectionContainerMappings", "GET"); + Endpoints[4669] = CreateEndpoint("/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationFabrics/{fabricName}/replicationProtectionContainers/{protectionContainerName}/switchprotection", "POST"); + Endpoints[4670] = CreateEndpoint("/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationFabrics/{fabricName}/replicationRecoveryServicesProviders/{providerName}/refreshProvider", "POST"); + Endpoints[4671] = CreateEndpoint("/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationFabrics/{fabricName}/replicationRecoveryServicesProviders/{providerName}/remove", "POST"); + Endpoints[4672] = CreateEndpoint("/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationFabrics/{fabricName}/replicationStorageClassifications/{storageClassificationName}/replicationStorageClassificationMappings", "GET"); + Endpoints[4673] = CreateEndpoint("/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupFabrics/{fabricName}/protectionContainers/{containerName}/inquire", "POST"); + Endpoints[4674] = CreateEndpoint("/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupFabrics/{fabricName}/protectionContainers/{containerName}/items", "GET"); + Endpoints[4675] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Relay/namespaces/{namespaceName}/hybridConnections/{hybridConnectionName}/authorizationRules/{authorizationRuleName}/listKeys", "POST"); + Endpoints[4676] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Relay/namespaces/{namespaceName}/hybridConnections/{hybridConnectionName}/authorizationRules/{authorizationRuleName}/regenerateKeys", "POST"); + Endpoints[4677] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Relay/namespaces/{namespaceName}/wcfRelays/{relayName}/authorizationRules/{authorizationRuleName}/listKeys", "POST"); + Endpoints[4678] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Relay/namespaces/{namespaceName}/wcfRelays/{relayName}/authorizationRules/{authorizationRuleName}/regenerateKeys", "POST"); + Endpoints[4679] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ServiceBus/namespaces/{namespaceName}/disasterRecoveryConfigs/{alias}/AuthorizationRules/{authorizationRuleName}/listKeys", "POST"); + Endpoints[4680] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ServiceBus/namespaces/{namespaceName}/queues/{queueName}/authorizationRules/{authorizationRuleName}/ListKeys", "POST"); + Endpoints[4681] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ServiceBus/namespaces/{namespaceName}/queues/{queueName}/authorizationRules/{authorizationRuleName}/regenerateKeys", "POST"); + Endpoints[4682] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ServiceBus/namespaces/{namespaceName}/topics/{topicName}/authorizationRules/{authorizationRuleName}/ListKeys", "POST"); + Endpoints[4683] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ServiceBus/namespaces/{namespaceName}/topics/{topicName}/authorizationRules/{authorizationRuleName}/regenerateKeys", "POST"); + Endpoints[4684] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ServiceBus/namespaces/{namespaceName}/topics/{topicName}/subscriptions/{subscriptionName}/rules", "GET"); + Endpoints[4685] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/databases/{databaseName}/advisors/{advisorName}/recommendedActions", "GET"); + Endpoints[4686] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/databases/{databaseName}/dataMaskingPolicies/{dataMaskingPolicyName}/rules", "GET"); + Endpoints[4687] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/databases/{databaseName}/operations/{operationId}/cancel", "POST"); + Endpoints[4688] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/databases/{databaseName}/replicationLinks/{linkId}/failover", "POST"); + Endpoints[4689] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/databases/{databaseName}/replicationLinks/{linkId}/forceFailoverAllowDataLoss", "POST"); + Endpoints[4690] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/databases/{databaseName}/syncGroups/{syncGroupName}/cancelSync", "POST"); + Endpoints[4691] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/databases/{databaseName}/syncGroups/{syncGroupName}/hubSchemas", "GET"); + Endpoints[4692] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/databases/{databaseName}/syncGroups/{syncGroupName}/logs", "GET"); + Endpoints[4693] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/databases/{databaseName}/syncGroups/{syncGroupName}/refreshHubSchema", "POST"); + Endpoints[4694] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/databases/{databaseName}/syncGroups/{syncGroupName}/syncMembers", "GET"); + Endpoints[4695] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/databases/{databaseName}/syncGroups/{syncGroupName}/triggerSync", "POST"); + Endpoints[4696] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/databases/{databaseName}/topQueries/{queryId}/queryText", "GET"); + Endpoints[4697] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/databases/{databaseName}/topQueries/{queryId}/statistics", "GET"); + Endpoints[4698] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/databases/{databaseName}/transparentDataEncryption/{transparentDataEncryptionName}/operationResults", "GET"); + Endpoints[4699] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/databases/{databaseName}/vulnerabilityAssessments/{vulnerabilityAssessmentName}/scans", "GET"); + Endpoints[4700] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/elasticPools/{elasticPoolName}/operations/{operationId}/cancel", "POST"); + Endpoints[4701] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/jobAgents/{jobAgentName}/jobs/{jobName}/executions", "GET"); + Endpoints[4702] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/jobAgents/{jobAgentName}/jobs/{jobName}/start", "POST"); + Endpoints[4703] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/jobAgents/{jobAgentName}/jobs/{jobName}/steps", "GET"); + Endpoints[4704] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/jobAgents/{jobAgentName}/jobs/{jobName}/versions", "GET"); + Endpoints[4705] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.StorSimple/managers/{managerName}/devices/{deviceName}/backupPolicies/{backupPolicyName}/backup", "POST"); + Endpoints[4706] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.StorSimple/managers/{managerName}/devices/{deviceName}/backupPolicies/{backupPolicyName}/schedules", "GET"); + Endpoints[4707] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.StorSimple/managers/{managerName}/devices/{deviceName}/backups/{backupName}/restore", "POST"); + Endpoints[4708] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.StorSimple/managers/{managerName}/devices/{deviceName}/hardwareComponentGroups/{hardwareComponentGroupName}/changeControllerPowerState", "POST"); + Endpoints[4709] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.StorSimple/managers/{managerName}/devices/{deviceName}/jobs/{jobName}/cancel", "POST"); + Endpoints[4710] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.StorSimple/managers/{managerName}/devices/{deviceName}/volumeContainers/{volumeContainerName}/metrics", "GET"); + Endpoints[4711] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.StorSimple/managers/{managerName}/devices/{deviceName}/volumeContainers/{volumeContainerName}/metricsDefinitions", "GET"); + Endpoints[4712] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.StorSimple/managers/{managerName}/devices/{deviceName}/volumeContainers/{volumeContainerName}/volumes", "GET"); + Endpoints[4713] = CreateEndpoint("/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.Update.Admin/updateLocations/{updateLocation}/updates/{updateName}/updateRuns/{runName}/rerun", "POST"); + Endpoints[4714] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/microsoft.visualstudio/account/{rootResourceName}/project/{resourceName}/subContainers/{subContainerName}/status", "GET"); + Endpoints[4715] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/hostingEnvironments/{name}/workerPools/{workerPoolName}/instances/{instance}/metricdefinitions", "GET"); + Endpoints[4716] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/hostingEnvironments/{name}/workerPools/{workerPoolName}/instances/{instance}/metrics", "GET"); + Endpoints[4717] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/serverfarms/{name}/hybridConnectionNamespaces/{namespaceName}/relays/{relayName}/listKeys", "POST"); + Endpoints[4718] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/serverfarms/{name}/hybridConnectionNamespaces/{namespaceName}/relays/{relayName}/sites", "GET"); + Endpoints[4719] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/hybridConnectionNamespaces/{namespaceName}/relays/{relayName}/listKeys", "POST"); + Endpoints[4720] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/instances/{instanceId}/processes/{processId}/dump", "GET"); + Endpoints[4721] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/instances/{instanceId}/processes/{processId}/modules", "GET"); + Endpoints[4722] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/instances/{instanceId}/processes/{processId}/threads", "GET"); + Endpoints[4723] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/backups/{backupId}/list", "POST"); + Endpoints[4724] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/backups/{backupId}/restore", "POST"); + Endpoints[4725] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/continuouswebjobs/{webJobName}/start", "POST"); + Endpoints[4726] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/continuouswebjobs/{webJobName}/stop", "POST"); + Endpoints[4727] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/deployments/{id}/log", "GET"); + Endpoints[4728] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/functions/{functionName}/listsecrets", "POST"); + Endpoints[4729] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/instances/{instanceId}/deployments", "GET"); + Endpoints[4730] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/instances/{instanceId}/processes", "GET"); + Endpoints[4731] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/processes/{processId}/dump", "GET"); + Endpoints[4732] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/processes/{processId}/modules", "GET"); + Endpoints[4733] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/processes/{processId}/threads", "GET"); + Endpoints[4734] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/triggeredwebjobs/{webJobName}/history", "GET"); + Endpoints[4735] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/triggeredwebjobs/{webJobName}/run", "POST"); + Endpoints[4736] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{siteName}/diagnostics/{diagnosticCategory}/analyses/{analysisName}/execute", "POST"); + Endpoints[4737] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{siteName}/diagnostics/{diagnosticCategory}/detectors/{detectorName}/execute", "POST"); + Endpoints[4738] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{siteName}/slots/{slot}/diagnostics/{diagnosticCategory}/analyses", "GET"); + Endpoints[4739] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{siteName}/slots/{slot}/diagnostics/{diagnosticCategory}/detectors", "GET"); + Endpoints[4740] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/databases/{databaseRid}/collections/{collectionRid}/partitions/metrics", "GET"); + Endpoints[4741] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/databases/{databaseRid}/collections/{collectionRid}/partitions/usages", "GET"); + Endpoints[4742] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/sourceRegion/{sourceRegion}/targetRegion/{targetRegion}/percentile/metrics", "GET"); + Endpoints[4743] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/instances/{instanceId}/extensions/MSDeploy", "PUT"); + Endpoints[4744] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/instances/{instanceId}/extensions/MSDeploy", "GET"); + Endpoints[4745] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/instances/{instanceId}/extensions/MSDeploy/log", "GET"); + Endpoints[4746] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/apis/{apiId}/diagnostics/{diagnosticId}/loggers/{loggerid}", "DELETE"); + Endpoints[4747] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/apis/{apiId}/diagnostics/{diagnosticId}/loggers/{loggerid}", "PUT"); + Endpoints[4748] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/apis/{apiId}/diagnostics/{diagnosticId}/loggers/{loggerid}", "HEAD"); + Endpoints[4749] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/apis/{apiId}/issues/{issueId}/attachments/{attachmentId}", "DELETE"); + Endpoints[4750] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/apis/{apiId}/issues/{issueId}/attachments/{attachmentId}", "PUT"); + Endpoints[4751] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/apis/{apiId}/issues/{issueId}/attachments/{attachmentId}", "GET"); + Endpoints[4752] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/apis/{apiId}/issues/{issueId}/attachments/{attachmentId}", "HEAD"); + Endpoints[4753] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/apis/{apiId}/issues/{issueId}/comments/{commentId}", "HEAD"); + Endpoints[4754] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/apis/{apiId}/issues/{issueId}/comments/{commentId}", "DELETE"); + Endpoints[4755] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/apis/{apiId}/issues/{issueId}/comments/{commentId}", "GET"); + Endpoints[4756] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/apis/{apiId}/issues/{issueId}/comments/{commentId}", "PUT"); + Endpoints[4757] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/apis/{apiId}/operations/{operationId}/policies/{policyId}", "GET"); + Endpoints[4758] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/apis/{apiId}/operations/{operationId}/policies/{policyId}", "DELETE"); + Endpoints[4759] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/apis/{apiId}/operations/{operationId}/policies/{policyId}", "PUT"); + Endpoints[4760] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/apis/{apiId}/operations/{operationId}/policies/{policyId}", "HEAD"); + Endpoints[4761] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/apis/{apiId}/operations/{operationId}/tags/{tagId}", "DELETE"); + Endpoints[4762] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/apis/{apiId}/operations/{operationId}/tags/{tagId}", "HEAD"); + Endpoints[4763] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/apis/{apiId}/operations/{operationId}/tags/{tagId}", "GET"); + Endpoints[4764] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/apis/{apiId}/operations/{operationId}/tags/{tagId}", "PUT"); + Endpoints[4765] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Automation/automationAccounts/{automationAccountName}/sourceControls/{sourceControlName}/sourceControlSyncJobs/{sourceControlSyncJobId}/streams/{streamId}", "GET"); + Endpoints[4766] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/microsoft.Compute/virtualMachineScaleSets/{virtualMachineScaleSetName}/virtualMachines/{virtualmachineIndex}/networkInterfaces/{networkInterfaceName}/ipConfigurations/{ipConfigurationName}", "GET"); + Endpoints[4767] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Fabric.Admin/fabricLocations/{location}/storageSubSystems/{storageSubSystem}/storagePools/{storagePool}/volumes/{volume}", "GET"); + Endpoints[4768] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Logic/workflows/{workflowName}/runs/{runName}/actions/{actionName}/repetitions/{repetitionName}", "GET"); + Endpoints[4769] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Logic/workflows/{workflowName}/runs/{runName}/actions/{actionName}/scopeRepetitions/{repetitionName}", "GET"); + Endpoints[4770] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Migrate/projects/{projectName}/groups/{groupName}/assessments/{assessmentName}/assessedMachines/{assessedMachineName}", "GET"); + Endpoints[4771] = CreateEndpoint("/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationFabrics/{fabricName}/replicationNetworks/{networkName}/replicationNetworkMappings/{networkMappingName}", "GET"); + Endpoints[4772] = CreateEndpoint("/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationFabrics/{fabricName}/replicationNetworks/{networkName}/replicationNetworkMappings/{networkMappingName}", "DELETE"); + Endpoints[4773] = CreateEndpoint("/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationFabrics/{fabricName}/replicationNetworks/{networkName}/replicationNetworkMappings/{networkMappingName}", "PUT"); + Endpoints[4774] = CreateEndpoint("/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationFabrics/{fabricName}/replicationNetworks/{networkName}/replicationNetworkMappings/{networkMappingName}", "PATCH"); + Endpoints[4775] = CreateEndpoint("/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationFabrics/{fabricName}/replicationProtectionContainers/{protectionContainerName}/replicationProtectableItems/{protectableItemName}", "GET"); + Endpoints[4776] = CreateEndpoint("/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationFabrics/{fabricName}/replicationProtectionContainers/{protectionContainerName}/replicationProtectedItems/{replicatedProtectedItemName}", "PATCH"); + Endpoints[4777] = CreateEndpoint("/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationFabrics/{fabricName}/replicationProtectionContainers/{protectionContainerName}/replicationProtectedItems/{replicatedProtectedItemName}", "DELETE"); + Endpoints[4778] = CreateEndpoint("/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationFabrics/{fabricName}/replicationProtectionContainers/{protectionContainerName}/replicationProtectedItems/{replicatedProtectedItemName}", "PUT"); + Endpoints[4779] = CreateEndpoint("/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationFabrics/{fabricName}/replicationProtectionContainers/{protectionContainerName}/replicationProtectedItems/{replicatedProtectedItemName}", "GET"); + Endpoints[4780] = CreateEndpoint("/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationFabrics/{fabricName}/replicationProtectionContainers/{protectionContainerName}/replicationProtectionContainerMappings/{mappingName}", "DELETE"); + Endpoints[4781] = CreateEndpoint("/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationFabrics/{fabricName}/replicationProtectionContainers/{protectionContainerName}/replicationProtectionContainerMappings/{mappingName}", "PUT"); + Endpoints[4782] = CreateEndpoint("/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationFabrics/{fabricName}/replicationProtectionContainers/{protectionContainerName}/replicationProtectionContainerMappings/{mappingName}", "PATCH"); + Endpoints[4783] = CreateEndpoint("/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationFabrics/{fabricName}/replicationProtectionContainers/{protectionContainerName}/replicationProtectionContainerMappings/{mappingName}", "GET"); + Endpoints[4784] = CreateEndpoint("/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationFabrics/{fabricName}/replicationStorageClassifications/{storageClassificationName}/replicationStorageClassificationMappings/{storageClassificationMappingName}", "PUT"); + Endpoints[4785] = CreateEndpoint("/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationFabrics/{fabricName}/replicationStorageClassifications/{storageClassificationName}/replicationStorageClassificationMappings/{storageClassificationMappingName}", "GET"); + Endpoints[4786] = CreateEndpoint("/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationFabrics/{fabricName}/replicationStorageClassifications/{storageClassificationName}/replicationStorageClassificationMappings/{storageClassificationMappingName}", "DELETE"); + Endpoints[4787] = CreateEndpoint("/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupFabrics/{fabricName}/protectionContainers/{containerName}/operationResults/{operationId}", "GET"); + Endpoints[4788] = CreateEndpoint("/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupFabrics/{fabricName}/protectionContainers/{containerName}/protectedItems/{protectedItemName}", "PUT"); + Endpoints[4789] = CreateEndpoint("/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupFabrics/{fabricName}/protectionContainers/{containerName}/protectedItems/{protectedItemName}", "GET"); + Endpoints[4790] = CreateEndpoint("/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupFabrics/{fabricName}/protectionContainers/{containerName}/protectedItems/{protectedItemName}", "DELETE"); + Endpoints[4791] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ServiceBus/namespaces/{namespaceName}/topics/{topicName}/subscriptions/{subscriptionName}/rules/{ruleName}", "GET"); + Endpoints[4792] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ServiceBus/namespaces/{namespaceName}/topics/{topicName}/subscriptions/{subscriptionName}/rules/{ruleName}", "DELETE"); + Endpoints[4793] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ServiceBus/namespaces/{namespaceName}/topics/{topicName}/subscriptions/{subscriptionName}/rules/{ruleName}", "PUT"); + Endpoints[4794] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/databases/{databaseName}/advisors/{advisorName}/recommendedActions/{recommendedActionName}", "GET"); + Endpoints[4795] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/databases/{databaseName}/advisors/{advisorName}/recommendedActions/{recommendedActionName}", "PATCH"); + Endpoints[4796] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/databases/{databaseName}/dataMaskingPolicies/{dataMaskingPolicyName}/rules/{dataMaskingRuleName}", "PUT"); + Endpoints[4797] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/databases/{databaseName}/syncGroups/{syncGroupName}/syncMembers/{syncMemberName}", "PUT"); + Endpoints[4798] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/databases/{databaseName}/syncGroups/{syncGroupName}/syncMembers/{syncMemberName}", "PATCH"); + Endpoints[4799] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/databases/{databaseName}/syncGroups/{syncGroupName}/syncMembers/{syncMemberName}", "GET"); + Endpoints[4800] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/databases/{databaseName}/syncGroups/{syncGroupName}/syncMembers/{syncMemberName}", "DELETE"); + Endpoints[4801] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/databases/{databaseName}/vulnerabilityAssessments/{vulnerabilityAssessmentName}/scans/{scanId}", "GET"); + Endpoints[4802] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/jobAgents/{jobAgentName}/jobs/{jobName}/executions/{jobExecutionId}", "PUT"); + Endpoints[4803] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/jobAgents/{jobAgentName}/jobs/{jobName}/executions/{jobExecutionId}", "GET"); + Endpoints[4804] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/jobAgents/{jobAgentName}/jobs/{jobName}/steps/{stepName}", "DELETE"); + Endpoints[4805] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/jobAgents/{jobAgentName}/jobs/{jobName}/steps/{stepName}", "PUT"); + Endpoints[4806] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/jobAgents/{jobAgentName}/jobs/{jobName}/steps/{stepName}", "GET"); + Endpoints[4807] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/jobAgents/{jobAgentName}/jobs/{jobName}/versions/{jobVersion}", "GET"); + Endpoints[4808] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.StorSimple/managers/{managerName}/devices/{deviceName}/backupPolicies/{backupPolicyName}/schedules/{backupScheduleName}", "PUT"); + Endpoints[4809] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.StorSimple/managers/{managerName}/devices/{deviceName}/backupPolicies/{backupPolicyName}/schedules/{backupScheduleName}", "GET"); + Endpoints[4810] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.StorSimple/managers/{managerName}/devices/{deviceName}/backupPolicies/{backupPolicyName}/schedules/{backupScheduleName}", "DELETE"); + Endpoints[4811] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.StorSimple/managers/{managerName}/devices/{deviceName}/volumeContainers/{volumeContainerName}/volumes/{volumeName}", "GET"); + Endpoints[4812] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.StorSimple/managers/{managerName}/devices/{deviceName}/volumeContainers/{volumeContainerName}/volumes/{volumeName}", "DELETE"); + Endpoints[4813] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.StorSimple/managers/{managerName}/devices/{deviceName}/volumeContainers/{volumeContainerName}/volumes/{volumeName}", "PUT"); + Endpoints[4814] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/instances/{instanceId}/processes/{processId}/modules/{baseAddress}", "GET"); + Endpoints[4815] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/instances/{instanceId}/processes/{processId}/threads/{threadId}", "GET"); + Endpoints[4816] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/hybridConnectionNamespaces/{namespaceName}/relays/{relayName}", "GET"); + Endpoints[4817] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/hybridConnectionNamespaces/{namespaceName}/relays/{relayName}", "DELETE"); + Endpoints[4818] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/hybridConnectionNamespaces/{namespaceName}/relays/{relayName}", "PUT"); + Endpoints[4819] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/hybridConnectionNamespaces/{namespaceName}/relays/{relayName}", "PATCH"); + Endpoints[4820] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/instances/{instanceId}/deployments/{id}", "DELETE"); + Endpoints[4821] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/instances/{instanceId}/deployments/{id}", "GET"); + Endpoints[4822] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/instances/{instanceId}/deployments/{id}", "PUT"); + Endpoints[4823] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/instances/{instanceId}/processes/{processId}", "DELETE"); + Endpoints[4824] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/instances/{instanceId}/processes/{processId}", "GET"); + Endpoints[4825] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/processes/{processId}/modules/{baseAddress}", "GET"); + Endpoints[4826] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/processes/{processId}/threads/{threadId}", "GET"); + Endpoints[4827] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/triggeredwebjobs/{webJobName}/history/{id}", "GET"); + Endpoints[4828] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/virtualNetworkConnections/{vnetName}/gateways/{gatewayName}", "GET"); + Endpoints[4829] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/virtualNetworkConnections/{vnetName}/gateways/{gatewayName}", "PUT"); + Endpoints[4830] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/virtualNetworkConnections/{vnetName}/gateways/{gatewayName}", "PATCH"); + Endpoints[4831] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{siteName}/slots/{slot}/diagnostics/{diagnosticCategory}/analyses/{analysisName}", "GET"); + Endpoints[4832] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{siteName}/slots/{slot}/diagnostics/{diagnosticCategory}/detectors/{detectorName}", "GET"); + Endpoints[4833] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/virtualMachineScaleSets/{virtualMachineScaleSetName}/virtualMachines/{virtualmachineIndex}/networkInterfaces/{networkInterfaceName}/ipconfigurations/{ipConfigurationName}/publicipaddresses", "GET"); + Endpoints[4834] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/databases/{databaseRid}/collections/{collectionRid}/partitionKeyRangeId/{partitionKeyRangeId}/metrics", "GET"); + Endpoints[4835] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/region/{region}/databases/{databaseRid}/collections/{collectionRid}/metrics", "GET"); + Endpoints[4836] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Logic/workflows/{workflowName}/runs/{runName}/actions/{actionName}/repetitions/{repetitionName}/listExpressionTraces", "POST"); + Endpoints[4837] = CreateEndpoint("/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationFabrics/{fabricName}/replicationProtectionContainers/{protectionContainerName}/replicationProtectedItems/{replicatedProtectedItemName}/applyRecoveryPoint", "POST"); + Endpoints[4838] = CreateEndpoint("/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationFabrics/{fabricName}/replicationProtectionContainers/{protectionContainerName}/replicationProtectedItems/{replicatedProtectedItemName}/failoverCommit", "POST"); + Endpoints[4839] = CreateEndpoint("/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationFabrics/{fabricName}/replicationProtectionContainers/{protectionContainerName}/replicationProtectedItems/{replicatedProtectedItemName}/plannedFailover", "POST"); + Endpoints[4840] = CreateEndpoint("/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationFabrics/{fabricName}/replicationProtectionContainers/{protectionContainerName}/replicationProtectedItems/{replicatedProtectedItemName}/recoveryPoints", "GET"); + Endpoints[4841] = CreateEndpoint("/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationFabrics/{fabricName}/replicationProtectionContainers/{protectionContainerName}/replicationProtectedItems/{replicatedProtectedItemName}/remove", "POST"); + Endpoints[4842] = CreateEndpoint("/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationFabrics/{fabricName}/replicationProtectionContainers/{protectionContainerName}/replicationProtectedItems/{replicatedProtectedItemName}/repairReplication", "POST"); + Endpoints[4843] = CreateEndpoint("/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationFabrics/{fabricName}/replicationProtectionContainers/{protectionContainerName}/replicationProtectedItems/{replicatedProtectedItemName}/reProtect", "POST"); + Endpoints[4844] = CreateEndpoint("/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationFabrics/{fabricName}/replicationProtectionContainers/{protectionContainerName}/replicationProtectedItems/{replicatedProtectedItemName}/targetComputeSizes", "GET"); + Endpoints[4845] = CreateEndpoint("/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationFabrics/{fabricName}/replicationProtectionContainers/{protectionContainerName}/replicationProtectedItems/{replicatedProtectedItemName}/testFailover", "POST"); + Endpoints[4846] = CreateEndpoint("/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationFabrics/{fabricName}/replicationProtectionContainers/{protectionContainerName}/replicationProtectedItems/{replicatedProtectedItemName}/testFailoverCleanup", "POST"); + Endpoints[4847] = CreateEndpoint("/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationFabrics/{fabricName}/replicationProtectionContainers/{protectionContainerName}/replicationProtectedItems/{replicatedProtectedItemName}/unplannedFailover", "POST"); + Endpoints[4848] = CreateEndpoint("/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationFabrics/{fabricName}/replicationProtectionContainers/{protectionContainerName}/replicationProtectedItems/{replicationProtectedItemName}/updateMobilityService", "POST"); + Endpoints[4849] = CreateEndpoint("/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationFabrics/{fabricName}/replicationProtectionContainers/{protectionContainerName}/replicationProtectionContainerMappings/{mappingName}/remove", "POST"); + Endpoints[4850] = CreateEndpoint("/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupFabrics/{fabricName}/protectionContainers/{containerName}/protectedItems/{protectedItemName}/backup", "POST"); + Endpoints[4851] = CreateEndpoint("/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupFabrics/{fabricName}/protectionContainers/{containerName}/protectedItems/{protectedItemName}/recoveryPoints", "GET"); + Endpoints[4852] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/databases/{databaseName}/syncGroups/{syncGroupName}/syncMembers/{syncMemberName}/refreshSchema", "POST"); + Endpoints[4853] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/databases/{databaseName}/syncGroups/{syncGroupName}/syncMembers/{syncMemberName}/schemas", "GET"); + Endpoints[4854] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/databases/{databaseName}/vulnerabilityAssessments/{vulnerabilityAssessmentName}/scans/{scanId}/export", "POST"); + Endpoints[4855] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/databases/{databaseName}/vulnerabilityAssessments/{vulnerabilityAssessmentName}/scans/{scanId}/initiateScan", "POST"); + Endpoints[4856] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/jobAgents/{jobAgentName}/jobs/{jobName}/executions/{jobExecutionId}/cancel", "POST"); + Endpoints[4857] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/jobAgents/{jobAgentName}/jobs/{jobName}/executions/{jobExecutionId}/steps", "GET"); + Endpoints[4858] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/jobAgents/{jobAgentName}/jobs/{jobName}/executions/{jobExecutionId}/targets", "GET"); + Endpoints[4859] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/jobAgents/{jobAgentName}/jobs/{jobName}/versions/{jobVersion}/steps", "GET"); + Endpoints[4860] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.StorSimple/managers/{managerName}/devices/{deviceName}/backups/{backupName}/elements/{backupElementName}/clone", "POST"); + Endpoints[4861] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.StorSimple/managers/{managerName}/devices/{deviceName}/volumeContainers/{volumeContainerName}/volumes/{volumeName}/metrics", "GET"); + Endpoints[4862] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.StorSimple/managers/{managerName}/devices/{deviceName}/volumeContainers/{volumeContainerName}/volumes/{volumeName}/metricsDefinitions", "GET"); + Endpoints[4863] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/hybridConnectionNamespaces/{namespaceName}/relays/{relayName}/listKeys", "POST"); + Endpoints[4864] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/instances/{instanceId}/processes/{processId}/dump", "GET"); + Endpoints[4865] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/instances/{instanceId}/processes/{processId}/modules", "GET"); + Endpoints[4866] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/instances/{instanceId}/processes/{processId}/threads", "GET"); + Endpoints[4867] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{siteName}/slots/{slot}/diagnostics/{diagnosticCategory}/analyses/{analysisName}/execute", "POST"); + Endpoints[4868] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{siteName}/slots/{slot}/diagnostics/{diagnosticCategory}/detectors/{detectorName}/execute", "POST"); + Endpoints[4869] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/region/{region}/databases/{databaseRid}/collections/{collectionRid}/partitions/metrics", "GET"); + Endpoints[4870] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/virtualMachineScaleSets/{virtualMachineScaleSetName}/virtualMachines/{virtualmachineIndex}/networkInterfaces/{networkInterfaceName}/ipconfigurations/{ipConfigurationName}/publicipaddresses/{publicIpAddressName}", "GET"); + Endpoints[4871] = CreateEndpoint("/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationFabrics/{fabricName}/replicationProtectionContainers/{protectionContainerName}/replicationProtectedItems/{replicatedProtectedItemName}/recoveryPoints/{recoveryPointName}", "GET"); + Endpoints[4872] = CreateEndpoint("/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupFabrics/{fabricName}/protectionContainers/{containerName}/protectedItems/{protectedItemName}/operationResults/{operationId}", "GET"); + Endpoints[4873] = CreateEndpoint("/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupFabrics/{fabricName}/protectionContainers/{containerName}/protectedItems/{protectedItemName}/operationsStatus/{operationId}", "GET"); + Endpoints[4874] = CreateEndpoint("/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupFabrics/{fabricName}/protectionContainers/{containerName}/protectedItems/{protectedItemName}/recoveryPoints/{recoveryPointId}", "GET"); + Endpoints[4875] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/databases/{databaseName}/vulnerabilityAssessments/{vulnerabilityAssessmentName}/rules/{ruleId}/baselines/{baselineName}", "GET"); + Endpoints[4876] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/databases/{databaseName}/vulnerabilityAssessments/{vulnerabilityAssessmentName}/rules/{ruleId}/baselines/{baselineName}", "PUT"); + Endpoints[4877] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/databases/{databaseName}/vulnerabilityAssessments/{vulnerabilityAssessmentName}/rules/{ruleId}/baselines/{baselineName}", "DELETE"); + Endpoints[4878] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/jobAgents/{jobAgentName}/jobs/{jobName}/executions/{jobExecutionId}/steps/{stepName}", "GET"); + Endpoints[4879] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/jobAgents/{jobAgentName}/jobs/{jobName}/versions/{jobVersion}/steps/{stepName}", "GET"); + Endpoints[4880] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/instances/{instanceId}/processes/{processId}/modules/{baseAddress}", "GET"); + Endpoints[4881] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/instances/{instanceId}/processes/{processId}/threads/{threadId}", "GET"); + Endpoints[4882] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/region/{region}/databases/{databaseRid}/collections/{collectionRid}/partitionKeyRangeId/{partitionKeyRangeId}/metrics", "GET"); + Endpoints[4883] = CreateEndpoint("/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupFabrics/{fabricName}/protectionContainers/{containerName}/protectedItems/{protectedItemName}/recoveryPoints/{recoveryPointId}/provisionInstantItemRecovery", "POST"); + Endpoints[4884] = CreateEndpoint("/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupFabrics/{fabricName}/protectionContainers/{containerName}/protectedItems/{protectedItemName}/recoveryPoints/{recoveryPointId}/restore", "POST"); + Endpoints[4885] = CreateEndpoint("/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupFabrics/{fabricName}/protectionContainers/{containerName}/protectedItems/{protectedItemName}/recoveryPoints/{recoveryPointId}/revokeInstantItemRecovery", "POST"); + Endpoints[4886] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/jobAgents/{jobAgentName}/jobs/{jobName}/executions/{jobExecutionId}/steps/{stepName}/targets", "GET"); + Endpoints[4887] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/jobAgents/{jobAgentName}/jobs/{jobName}/executions/{jobExecutionId}/steps/{stepName}/targets/{targetId}", "GET"); + Endpoints[4888] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/quotas/{quotaCounterKey}/{quotaPeriodKey}", "GET"); + Endpoints[4889] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/quotas/{quotaCounterKey}/{quotaPeriodKey}", "PATCH"); + Endpoints[4890] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Security/locations/{ascLocation}/alerts/{alertName}/{alertUpdateActionType}", "POST"); + Endpoints[4891] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Security/locations/{ascLocation}/jitNetworkAccessPolicies/{jitNetworkAccessPolicyName}/{jitNetworkAccessPolicyActionType}", "POST"); + Endpoints[4892] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Security/locations/{ascLocation}/tasks/{taskName}/{taskUpdateActionType}", "POST"); + Endpoints[4893] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/microsoft.insights/components/{resourceName}/{scopePath}", "GET"); + Endpoints[4894] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/dnsZones/{zoneName}/{recordType}", "GET"); + Endpoints[4895] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/microsoft.insights/components/{resourceName}/{scopePath}/item", "PUT"); + Endpoints[4896] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/microsoft.insights/components/{resourceName}/{scopePath}/item", "DELETE"); + Endpoints[4897] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/microsoft.insights/components/{resourceName}/{scopePath}/item", "GET"); + Endpoints[4898] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/dnsZones/{zoneName}/{recordType}/{relativeRecordSetName}", "DELETE"); + Endpoints[4899] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/dnsZones/{zoneName}/{recordType}/{relativeRecordSetName}", "PUT"); + Endpoints[4900] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/dnsZones/{zoneName}/{recordType}/{relativeRecordSetName}", "GET"); + Endpoints[4901] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/dnsZones/{zoneName}/{recordType}/{relativeRecordSetName}", "PATCH"); + Endpoints[4902] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/trafficmanagerprofiles/{profileName}/{endpointType}/{endpointName}", "DELETE"); + Endpoints[4903] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/trafficmanagerprofiles/{profileName}/{endpointType}/{endpointName}", "PUT"); + Endpoints[4904] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/trafficmanagerprofiles/{profileName}/{endpointType}/{endpointName}", "GET"); + Endpoints[4905] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/trafficmanagerprofiles/{profileName}/{endpointType}/{endpointName}", "PATCH"); + Endpoints[4906] = CreateEndpoint("/apis/{apiId}/operations/{operationId}/policies/{policyId}", "PUT"); + Endpoints[4907] = CreateEndpoint("/apis/{apiId}/operations/{operationId}/policies/{policyId}", "GET"); + Endpoints[4908] = CreateEndpoint("/apis/{apiId}/operations/{operationId}/policies/{policyId}", "DELETE"); + Endpoints[4909] = CreateEndpoint("/apps/{appId}/versions/{versionId}/closedlists/{clEntityId}", "PUT"); + Endpoints[4910] = CreateEndpoint("/apps/{appId}/versions/{versionId}/closedlists/{clEntityId}", "GET"); + Endpoints[4911] = CreateEndpoint("/apps/{appId}/versions/{versionId}/closedlists/{clEntityId}", "DELETE"); + Endpoints[4912] = CreateEndpoint("/apps/{appId}/versions/{versionId}/closedlists/{clEntityId}", "PATCH"); + Endpoints[4913] = CreateEndpoint("/apps/{appId}/versions/{versionId}/compositeentities/{cEntityId}", "PUT"); + Endpoints[4914] = CreateEndpoint("/apps/{appId}/versions/{versionId}/compositeentities/{cEntityId}", "GET"); + Endpoints[4915] = CreateEndpoint("/apps/{appId}/versions/{versionId}/compositeentities/{cEntityId}", "DELETE"); + Endpoints[4916] = CreateEndpoint("/apps/{appId}/versions/{versionId}/customprebuiltdomains/{domainName}", "DELETE"); + Endpoints[4917] = CreateEndpoint("/apps/{appId}/versions/{versionId}/entities/{entityId}", "PUT"); + Endpoints[4918] = CreateEndpoint("/apps/{appId}/versions/{versionId}/entities/{entityId}", "GET"); + Endpoints[4919] = CreateEndpoint("/apps/{appId}/versions/{versionId}/entities/{entityId}", "DELETE"); + Endpoints[4920] = CreateEndpoint("/apps/{appId}/versions/{versionId}/examples/{exampleId}", "DELETE"); + Endpoints[4921] = CreateEndpoint("/apps/{appId}/versions/{versionId}/hierarchicalentities/{hEntityId}", "GET"); + Endpoints[4922] = CreateEndpoint("/apps/{appId}/versions/{versionId}/hierarchicalentities/{hEntityId}", "PUT"); + Endpoints[4923] = CreateEndpoint("/apps/{appId}/versions/{versionId}/hierarchicalentities/{hEntityId}", "DELETE"); + Endpoints[4924] = CreateEndpoint("/apps/{appId}/versions/{versionId}/intents/{intentId}", "PUT"); + Endpoints[4925] = CreateEndpoint("/apps/{appId}/versions/{versionId}/intents/{intentId}", "DELETE"); + Endpoints[4926] = CreateEndpoint("/apps/{appId}/versions/{versionId}/intents/{intentId}", "GET"); + Endpoints[4927] = CreateEndpoint("/apps/{appId}/versions/{versionId}/patternanyentities/{entityId}", "GET"); + Endpoints[4928] = CreateEndpoint("/apps/{appId}/versions/{versionId}/patternanyentities/{entityId}", "PUT"); + Endpoints[4929] = CreateEndpoint("/apps/{appId}/versions/{versionId}/patternanyentities/{entityId}", "DELETE"); + Endpoints[4930] = CreateEndpoint("/apps/{appId}/versions/{versionId}/patternrules/{patternId}", "PUT"); + Endpoints[4931] = CreateEndpoint("/apps/{appId}/versions/{versionId}/patternrules/{patternId}", "DELETE"); + Endpoints[4932] = CreateEndpoint("/apps/{appId}/versions/{versionId}/patterns/{patternId}", "DELETE"); + Endpoints[4933] = CreateEndpoint("/apps/{appId}/versions/{versionId}/patterns/{patternId}", "GET"); + Endpoints[4934] = CreateEndpoint("/apps/{appId}/versions/{versionId}/patterns/{patternId}", "PUT"); + Endpoints[4935] = CreateEndpoint("/apps/{appId}/versions/{versionId}/phraselists/{phraselistId}", "GET"); + Endpoints[4936] = CreateEndpoint("/apps/{appId}/versions/{versionId}/phraselists/{phraselistId}", "DELETE"); + Endpoints[4937] = CreateEndpoint("/apps/{appId}/versions/{versionId}/phraselists/{phraselistId}", "PUT"); + Endpoints[4938] = CreateEndpoint("/apps/{appId}/versions/{versionId}/prebuilts/{prebuiltId}", "DELETE"); + Endpoints[4939] = CreateEndpoint("/apps/{appId}/versions/{versionId}/prebuilts/{prebuiltId}", "GET"); + Endpoints[4940] = CreateEndpoint("/apps/{appId}/versions/{versionId}/regexentities/{regexEntityId}", "GET"); + Endpoints[4941] = CreateEndpoint("/apps/{appId}/versions/{versionId}/regexentities/{regexEntityId}", "DELETE"); + Endpoints[4942] = CreateEndpoint("/apps/{appId}/versions/{versionId}/regexentities/{regexEntityId}", "PUT"); + Endpoints[4943] = CreateEndpoint("/jobs/{jobId}/tasks/{taskId}/files/{filePath}", "GET"); + Endpoints[4944] = CreateEndpoint("/jobs/{jobId}/tasks/{taskId}/files/{filePath}", "HEAD"); + Endpoints[4945] = CreateEndpoint("/jobs/{jobId}/tasks/{taskId}/files/{filePath}", "DELETE"); + Endpoints[4946] = CreateEndpoint("/persongroups/{personGroupId}/persons/{personId}/persistedFaces/{persistedFaceId}", "GET"); + Endpoints[4947] = CreateEndpoint("/persongroups/{personGroupId}/persons/{personId}/persistedFaces/{persistedFaceId}", "DELETE"); + Endpoints[4948] = CreateEndpoint("/persongroups/{personGroupId}/persons/{personId}/persistedFaces/{persistedFaceId}", "PATCH"); + Endpoints[4949] = CreateEndpoint("/pools/{poolId}/nodes/{nodeId}/files/{filePath}", "HEAD"); + Endpoints[4950] = CreateEndpoint("/pools/{poolId}/nodes/{nodeId}/files/{filePath}", "DELETE"); + Endpoints[4951] = CreateEndpoint("/pools/{poolId}/nodes/{nodeId}/files/{filePath}", "GET"); + Endpoints[4952] = CreateEndpoint("/pools/{poolId}/nodes/{nodeId}/users/{userName}", "PUT"); + Endpoints[4953] = CreateEndpoint("/pools/{poolId}/nodes/{nodeId}/users/{userName}", "DELETE"); + Endpoints[4954] = CreateEndpoint("/subscriptions/{subscriptionId}/tagNames/{tagName}/tagValues/{tagValue}", "DELETE"); + Endpoints[4955] = CreateEndpoint("/subscriptions/{subscriptionId}/tagNames/{tagName}/tagValues/{tagValue}", "PUT"); + Endpoints[4956] = CreateEndpoint("/apps/{appId}/versions/{versionId}/closedlists/{clEntityId}/sublists", "POST"); + Endpoints[4957] = CreateEndpoint("/apps/{appId}/versions/{versionId}/closedlists/{entityId}/roles", "POST"); + Endpoints[4958] = CreateEndpoint("/apps/{appId}/versions/{versionId}/closedlists/{entityId}/roles", "GET"); + Endpoints[4959] = CreateEndpoint("/apps/{appId}/versions/{versionId}/compositeentities/{cEntityId}/children", "POST"); + Endpoints[4960] = CreateEndpoint("/apps/{appId}/versions/{versionId}/compositeentities/{cEntityId}/roles", "POST"); + Endpoints[4961] = CreateEndpoint("/apps/{appId}/versions/{versionId}/compositeentities/{cEntityId}/roles", "GET"); + Endpoints[4962] = CreateEndpoint("/apps/{appId}/versions/{versionId}/customprebuiltentities/{entityId}/roles", "GET"); + Endpoints[4963] = CreateEndpoint("/apps/{appId}/versions/{versionId}/customprebuiltentities/{entityId}/roles", "POST"); + Endpoints[4964] = CreateEndpoint("/apps/{appId}/versions/{versionId}/entities/{entityId}/roles", "GET"); + Endpoints[4965] = CreateEndpoint("/apps/{appId}/versions/{versionId}/entities/{entityId}/roles", "POST"); + Endpoints[4966] = CreateEndpoint("/apps/{appId}/versions/{versionId}/entities/{entityId}/suggest", "GET"); + Endpoints[4967] = CreateEndpoint("/apps/{appId}/versions/{versionId}/hierarchicalentities/{hEntityId}/children", "POST"); + Endpoints[4968] = CreateEndpoint("/apps/{appId}/versions/{versionId}/hierarchicalentities/{hEntityId}/roles", "POST"); + Endpoints[4969] = CreateEndpoint("/apps/{appId}/versions/{versionId}/hierarchicalentities/{hEntityId}/roles", "GET"); + Endpoints[4970] = CreateEndpoint("/apps/{appId}/versions/{versionId}/intents/{intentId}/patternrules", "GET"); + Endpoints[4971] = CreateEndpoint("/apps/{appId}/versions/{versionId}/intents/{intentId}/suggest", "GET"); + Endpoints[4972] = CreateEndpoint("/apps/{appId}/versions/{versionId}/models/{modelId}/examples", "GET"); + Endpoints[4973] = CreateEndpoint("/apps/{appId}/versions/{versionId}/patternanyentities/{entityId}/explicitlist", "GET"); + Endpoints[4974] = CreateEndpoint("/apps/{appId}/versions/{versionId}/patternanyentities/{entityId}/explicitlist", "POST"); + Endpoints[4975] = CreateEndpoint("/apps/{appId}/versions/{versionId}/patternanyentities/{entityId}/roles", "POST"); + Endpoints[4976] = CreateEndpoint("/apps/{appId}/versions/{versionId}/patternanyentities/{entityId}/roles", "GET"); + Endpoints[4977] = CreateEndpoint("/apps/{appId}/versions/{versionId}/prebuilts/{entityId}/roles", "GET"); + Endpoints[4978] = CreateEndpoint("/apps/{appId}/versions/{versionId}/prebuilts/{entityId}/roles", "POST"); + Endpoints[4979] = CreateEndpoint("/apps/{appId}/versions/{versionId}/regexentities/{entityId}/roles", "GET"); + Endpoints[4980] = CreateEndpoint("/apps/{appId}/versions/{versionId}/regexentities/{entityId}/roles", "POST"); + Endpoints[4981] = CreateEndpoint("/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/deployments/{deploymentName}/operations", "GET"); + Endpoints[4982] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/{authorizationNamespace}/policyAssignments/{policyAssignmentName}/providers/Microsoft.PolicyInsights/policyEvents/{policyEventsResource}/queryResults", "POST"); + Endpoints[4983] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/{authorizationNamespace}/policyAssignments/{policyAssignmentName}/providers/Microsoft.PolicyInsights/policyStates/{policyStatesResource}/queryResults", "POST"); + Endpoints[4984] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/{authorizationNamespace}/policyAssignments/{policyAssignmentName}/providers/Microsoft.PolicyInsights/policyStates/{policyStatesSummaryResource}/summarize", "POST"); + Endpoints[4985] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/{authorizationNamespace}/policyDefinitions/{policyDefinitionName}/providers/Microsoft.PolicyInsights/policyEvents/{policyEventsResource}/queryResults", "POST"); + Endpoints[4986] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/{authorizationNamespace}/policyDefinitions/{policyDefinitionName}/providers/Microsoft.PolicyInsights/policyStates/{policyStatesResource}/queryResults", "POST"); + Endpoints[4987] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/{authorizationNamespace}/policyDefinitions/{policyDefinitionName}/providers/Microsoft.PolicyInsights/policyStates/{policyStatesSummaryResource}/summarize", "POST"); + Endpoints[4988] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/{authorizationNamespace}/policySetDefinitions/{policySetDefinitionName}/providers/Microsoft.PolicyInsights/policyEvents/{policyEventsResource}/queryResults", "POST"); + Endpoints[4989] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/{authorizationNamespace}/policySetDefinitions/{policySetDefinitionName}/providers/Microsoft.PolicyInsights/policyStates/{policyStatesResource}/queryResults", "POST"); + Endpoints[4990] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/{authorizationNamespace}/policySetDefinitions/{policySetDefinitionName}/providers/Microsoft.PolicyInsights/policyStates/{policyStatesSummaryResource}/summarize", "POST"); + Endpoints[4991] = CreateEndpoint("/apps/{appId}/versions/{versionId}/closedlists/{clEntityId}/sublists/{subListId}", "DELETE"); + Endpoints[4992] = CreateEndpoint("/apps/{appId}/versions/{versionId}/closedlists/{clEntityId}/sublists/{subListId}", "PUT"); + Endpoints[4993] = CreateEndpoint("/apps/{appId}/versions/{versionId}/closedlists/{entityId}/roles/{roleId}", "GET"); + Endpoints[4994] = CreateEndpoint("/apps/{appId}/versions/{versionId}/closedlists/{entityId}/roles/{roleId}", "PUT"); + Endpoints[4995] = CreateEndpoint("/apps/{appId}/versions/{versionId}/closedlists/{entityId}/roles/{roleId}", "DELETE"); + Endpoints[4996] = CreateEndpoint("/apps/{appId}/versions/{versionId}/compositeentities/{cEntityId}/children/{cChildId}", "DELETE"); + Endpoints[4997] = CreateEndpoint("/apps/{appId}/versions/{versionId}/compositeentities/{cEntityId}/roles/{roleId}", "DELETE"); + Endpoints[4998] = CreateEndpoint("/apps/{appId}/versions/{versionId}/compositeentities/{cEntityId}/roles/{roleId}", "PUT"); + Endpoints[4999] = CreateEndpoint("/apps/{appId}/versions/{versionId}/compositeentities/{cEntityId}/roles/{roleId}", "GET"); + Endpoints[5000] = CreateEndpoint("/apps/{appId}/versions/{versionId}/customprebuiltentities/{entityId}/roles/{roleId}", "GET"); + Endpoints[5001] = CreateEndpoint("/apps/{appId}/versions/{versionId}/customprebuiltentities/{entityId}/roles/{roleId}", "PUT"); + Endpoints[5002] = CreateEndpoint("/apps/{appId}/versions/{versionId}/customprebuiltentities/{entityId}/roles/{roleId}", "DELETE"); + Endpoints[5003] = CreateEndpoint("/apps/{appId}/versions/{versionId}/entities/{entityId}/roles/{roleId}", "DELETE"); + Endpoints[5004] = CreateEndpoint("/apps/{appId}/versions/{versionId}/entities/{entityId}/roles/{roleId}", "GET"); + Endpoints[5005] = CreateEndpoint("/apps/{appId}/versions/{versionId}/entities/{entityId}/roles/{roleId}", "PUT"); + Endpoints[5006] = CreateEndpoint("/apps/{appId}/versions/{versionId}/hierarchicalentities/{hEntityId}/children/{hChildId}", "DELETE"); + Endpoints[5007] = CreateEndpoint("/apps/{appId}/versions/{versionId}/hierarchicalentities/{hEntityId}/children/{hChildId}", "PUT"); + Endpoints[5008] = CreateEndpoint("/apps/{appId}/versions/{versionId}/hierarchicalentities/{hEntityId}/children/{hChildId}", "GET"); + Endpoints[5009] = CreateEndpoint("/apps/{appId}/versions/{versionId}/hierarchicalentities/{hEntityId}/roles/{roleId}", "DELETE"); + Endpoints[5010] = CreateEndpoint("/apps/{appId}/versions/{versionId}/hierarchicalentities/{hEntityId}/roles/{roleId}", "PUT"); + Endpoints[5011] = CreateEndpoint("/apps/{appId}/versions/{versionId}/hierarchicalentities/{hEntityId}/roles/{roleId}", "GET"); + Endpoints[5012] = CreateEndpoint("/apps/{appId}/versions/{versionId}/patternanyentities/{entityId}/explicitlist/{itemId}", "PUT"); + Endpoints[5013] = CreateEndpoint("/apps/{appId}/versions/{versionId}/patternanyentities/{entityId}/explicitlist/{itemId}", "GET"); + Endpoints[5014] = CreateEndpoint("/apps/{appId}/versions/{versionId}/patternanyentities/{entityId}/explicitlist/{itemId}", "DELETE"); + Endpoints[5015] = CreateEndpoint("/apps/{appId}/versions/{versionId}/patternanyentities/{entityId}/roles/{roleId}", "GET"); + Endpoints[5016] = CreateEndpoint("/apps/{appId}/versions/{versionId}/patternanyentities/{entityId}/roles/{roleId}", "DELETE"); + Endpoints[5017] = CreateEndpoint("/apps/{appId}/versions/{versionId}/patternanyentities/{entityId}/roles/{roleId}", "PUT"); + Endpoints[5018] = CreateEndpoint("/apps/{appId}/versions/{versionId}/prebuilts/{entityId}/roles/{roleId}", "DELETE"); + Endpoints[5019] = CreateEndpoint("/apps/{appId}/versions/{versionId}/prebuilts/{entityId}/roles/{roleId}", "PUT"); + Endpoints[5020] = CreateEndpoint("/apps/{appId}/versions/{versionId}/prebuilts/{entityId}/roles/{roleId}", "GET"); + Endpoints[5021] = CreateEndpoint("/apps/{appId}/versions/{versionId}/regexentities/{entityId}/roles/{roleId}", "GET"); + Endpoints[5022] = CreateEndpoint("/apps/{appId}/versions/{versionId}/regexentities/{entityId}/roles/{roleId}", "DELETE"); + Endpoints[5023] = CreateEndpoint("/apps/{appId}/versions/{versionId}/regexentities/{entityId}/roles/{roleId}", "PUT"); + Endpoints[5024] = CreateEndpoint("/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/deployments/{deploymentName}/operations/{operationId}", "GET"); + Endpoints[5025] = CreateEndpoint("/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/{authorizationNamespace}/policyAssignments/{policyAssignmentName}/providers/Microsoft.PolicyInsights/policyEvents/{policyEventsResource}/queryResults", "POST"); + Endpoints[5026] = CreateEndpoint("/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/{authorizationNamespace}/policyAssignments/{policyAssignmentName}/providers/Microsoft.PolicyInsights/policyStates/{policyStatesResource}/queryResults", "POST"); + Endpoints[5027] = CreateEndpoint("/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/{authorizationNamespace}/policyAssignments/{policyAssignmentName}/providers/Microsoft.PolicyInsights/policyStates/{policyStatesSummaryResource}/summarize", "POST"); + Endpoints[5028] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{providerNamespace}/{resourceTypeName}/{resourceName}/providers/Microsoft.EventGrid/eventSubscriptions", "GET"); + Endpoints[5029] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{providerNamespace}/{resourceTypeName}/{resourceName}/providers/Microsoft.EventGrid/eventTypes", "GET"); + Endpoints[5030] = CreateEndpoint("/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/{providerName}/{resourceType}/{resourceName}/providers/Microsoft.OperationsManagement/ManagementAssociations/{managementAssociationName}", "GET"); + Endpoints[5031] = CreateEndpoint("/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/{providerName}/{resourceType}/{resourceName}/providers/Microsoft.OperationsManagement/ManagementAssociations/{managementAssociationName}", "PUT"); + Endpoints[5032] = CreateEndpoint("/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/{providerName}/{resourceType}/{resourceName}/providers/Microsoft.OperationsManagement/ManagementAssociations/{managementAssociationName}", "DELETE"); + Endpoints[5033] = CreateEndpoint("/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{parentResourcePath}/{resourceType}/{resourceName}", "PUT"); + Endpoints[5034] = CreateEndpoint("/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{parentResourcePath}/{resourceType}/{resourceName}", "GET"); + Endpoints[5035] = CreateEndpoint("/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{parentResourcePath}/{resourceType}/{resourceName}", "PATCH"); + Endpoints[5036] = CreateEndpoint("/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{parentResourcePath}/{resourceType}/{resourceName}", "DELETE"); + Endpoints[5037] = CreateEndpoint("/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{parentResourcePath}/{resourceType}/{resourceName}", "HEAD"); + Endpoints[5038] = CreateEndpoint("/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{parentResourcePath}/{resourceType}/{resourceName}/providers/Microsoft.Authorization/locks", "GET"); + Endpoints[5039] = CreateEndpoint("/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{parentResourcePath}/{resourceType}/{resourceName}/providers/Microsoft.Authorization/permissions", "GET"); + Endpoints[5040] = CreateEndpoint("/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{parentResourcePath}/{resourceType}/{resourceName}/providers/Microsoft.Authorization/policyAssignments", "GET"); + Endpoints[5041] = CreateEndpoint("/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{parentResourcePath}/{resourceType}/{resourceName}/providers/Microsoft.Authorization/roleAssignments", "GET"); + Endpoints[5042] = CreateEndpoint("/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{parentResourcePath}/{resourceType}/{resourceName}/providers/Microsoft.Authorization/locks/{lockName}", "DELETE"); + Endpoints[5043] = CreateEndpoint("/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{parentResourcePath}/{resourceType}/{resourceName}/providers/Microsoft.Authorization/locks/{lockName}", "GET"); + Endpoints[5044] = CreateEndpoint("/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{parentResourcePath}/{resourceType}/{resourceName}/providers/Microsoft.Authorization/locks/{lockName}", "PUT"); + Endpoints[5045] = CreateEndpoint("/apps/{appId}/events/{eventType}/{eventId}", "GET"); + Endpoints[5046] = CreateEndpoint("/certificates/{certificate-name}/{certificate-version}", "PATCH"); + Endpoints[5047] = CreateEndpoint("/certificates/{certificate-name}/{certificate-version}", "GET"); + Endpoints[5048] = CreateEndpoint("/keys/{key-name}/{key-version}", "GET"); + Endpoints[5049] = CreateEndpoint("/keys/{key-name}/{key-version}", "PATCH"); + Endpoints[5050] = CreateEndpoint("/quotas/{quotaCounterKey}/{quotaPeriodKey}", "GET"); + Endpoints[5051] = CreateEndpoint("/quotas/{quotaCounterKey}/{quotaPeriodKey}", "PATCH"); + Endpoints[5052] = CreateEndpoint("/secrets/{secret-name}/{secret-version}", "PATCH"); + Endpoints[5053] = CreateEndpoint("/secrets/{secret-name}/{secret-version}", "GET"); + Endpoints[5054] = CreateEndpoint("/keys/{key-name}/{key-version}/decrypt", "POST"); + Endpoints[5055] = CreateEndpoint("/keys/{key-name}/{key-version}/encrypt", "POST"); + Endpoints[5056] = CreateEndpoint("/keys/{key-name}/{key-version}/sign", "POST"); + Endpoints[5057] = CreateEndpoint("/keys/{key-name}/{key-version}/unwrapkey", "POST"); + Endpoints[5058] = CreateEndpoint("/keys/{key-name}/{key-version}/verify", "POST"); + Endpoints[5059] = CreateEndpoint("/keys/{key-name}/{key-version}/wrapkey", "POST"); + Endpoints[5060] = CreateEndpoint("/{appId}", "POST"); + Endpoints[5061] = CreateEndpoint("/{applicationDefinitionId}", "DELETE"); + Endpoints[5062] = CreateEndpoint("/{applicationDefinitionId}", "PUT"); + Endpoints[5063] = CreateEndpoint("/{applicationDefinitionId}", "GET"); + Endpoints[5064] = CreateEndpoint("/{applicationId}", "PATCH"); + Endpoints[5065] = CreateEndpoint("/{resourceId}", "HEAD"); + Endpoints[5066] = CreateEndpoint("/{projectId}/image", "POST"); + Endpoints[5067] = CreateEndpoint("/{projectId}/url", "POST"); + Endpoints[5068] = CreateEndpoint("/{tenantID}/applications", "GET"); + Endpoints[5069] = CreateEndpoint("/{tenantID}/applications", "POST"); + Endpoints[5070] = CreateEndpoint("/{tenantID}/domains", "GET"); + Endpoints[5071] = CreateEndpoint("/{tenantID}/getObjectsByObjectIds", "POST"); + Endpoints[5072] = CreateEndpoint("/{tenantID}/groups", "GET"); + Endpoints[5073] = CreateEndpoint("/{tenantID}/groups", "POST"); + Endpoints[5074] = CreateEndpoint("/{tenantID}/isMemberOf", "POST"); + Endpoints[5075] = CreateEndpoint("/{tenantID}/me", "GET"); + Endpoints[5076] = CreateEndpoint("/{tenantID}/servicePrincipals", "POST"); + Endpoints[5077] = CreateEndpoint("/{tenantID}/servicePrincipals", "GET"); + Endpoints[5078] = CreateEndpoint("/{tenantID}/users", "POST"); + Endpoints[5079] = CreateEndpoint("/{tenantID}/users", "GET"); + Endpoints[5080] = CreateEndpoint("/{projectId}/image/nostore", "POST"); + Endpoints[5081] = CreateEndpoint("/{projectId}/url/nostore", "POST"); + Endpoints[5082] = CreateEndpoint("/{resourceUri}/providers/microsoft.insights/calculatebaseline", "POST"); + Endpoints[5083] = CreateEndpoint("/{resourceUri}/providers/microsoft.insights/diagnosticSettings", "GET"); + Endpoints[5084] = CreateEndpoint("/{resourceUri}/providers/microsoft.insights/diagnosticSettingsCategories", "GET"); + Endpoints[5085] = CreateEndpoint("/{resourceUri}/providers/microsoft.insights/metricDefinitions", "GET"); + Endpoints[5086] = CreateEndpoint("/{resourceUri}/providers/microsoft.insights/metrics", "GET"); + Endpoints[5087] = CreateEndpoint("/{resourceUri}/providers/Microsoft.ResourceHealth/availabilityStatuses", "GET"); + Endpoints[5088] = CreateEndpoint("/{scope}/providers/Microsoft.Authorization/policyAssignments", "GET"); + Endpoints[5089] = CreateEndpoint("/{scope}/providers/Microsoft.Authorization/roleAssignments", "GET"); + Endpoints[5090] = CreateEndpoint("/{scope}/providers/Microsoft.Authorization/roleDefinitions", "GET"); + Endpoints[5091] = CreateEndpoint("/{scope}/providers/Microsoft.Consumption/reservationDetails", "GET"); + Endpoints[5092] = CreateEndpoint("/{scope}/providers/Microsoft.Consumption/reservationSummaries", "GET"); + Endpoints[5093] = CreateEndpoint("/{scope}/providers/Microsoft.Consumption/usageDetails", "GET"); + Endpoints[5094] = CreateEndpoint("/{scope}/providers/Microsoft.Resources/links", "GET"); + Endpoints[5095] = CreateEndpoint("/{scope}/providers/Microsoft.Security/compliances", "GET"); + Endpoints[5096] = CreateEndpoint("/{resourceUri}/providers/microsoft.insights/diagnosticSettings/service", "PATCH"); + Endpoints[5097] = CreateEndpoint("/{resourceUri}/providers/microsoft.insights/diagnosticSettings/service", "PUT"); + Endpoints[5098] = CreateEndpoint("/{resourceUri}/providers/microsoft.insights/diagnosticSettings/service", "GET"); + Endpoints[5099] = CreateEndpoint("/{resourceUri}/providers/Microsoft.ResourceHealth/availabilityStatuses/current", "GET"); + Endpoints[5100] = CreateEndpoint("/{scope}/providers/Microsoft.PolicyInsights/policyEvents/$metadata", "GET"); + Endpoints[5101] = CreateEndpoint("/{scope}/providers/Microsoft.PolicyInsights/policyStates/$metadata", "GET"); + Endpoints[5102] = CreateEndpoint("/{resourceUri}/providers/Microsoft.Advisor/recommendations/{recommendationId}", "GET"); + Endpoints[5103] = CreateEndpoint("/{resourceUri}/providers/microsoft.insights/baseline/{metricName}", "GET"); + Endpoints[5104] = CreateEndpoint("/{resourceUri}/providers/microsoft.insights/diagnosticSettings/{name}", "PUT"); + Endpoints[5105] = CreateEndpoint("/{resourceUri}/providers/microsoft.insights/diagnosticSettings/{name}", "GET"); + Endpoints[5106] = CreateEndpoint("/{resourceUri}/providers/microsoft.insights/diagnosticSettings/{name}", "DELETE"); + Endpoints[5107] = CreateEndpoint("/{resourceUri}/providers/microsoft.insights/diagnosticSettingsCategories/{name}", "GET"); + Endpoints[5108] = CreateEndpoint("/{scope}/providers/Microsoft.Authorization/locks/{lockName}", "GET"); + Endpoints[5109] = CreateEndpoint("/{scope}/providers/Microsoft.Authorization/locks/{lockName}", "PUT"); + Endpoints[5110] = CreateEndpoint("/{scope}/providers/Microsoft.Authorization/locks/{lockName}", "DELETE"); + Endpoints[5111] = CreateEndpoint("/{scope}/providers/Microsoft.Authorization/policyAssignments/{policyAssignmentName}", "GET"); + Endpoints[5112] = CreateEndpoint("/{scope}/providers/Microsoft.Authorization/policyAssignments/{policyAssignmentName}", "PUT"); + Endpoints[5113] = CreateEndpoint("/{scope}/providers/Microsoft.Authorization/policyAssignments/{policyAssignmentName}", "DELETE"); + Endpoints[5114] = CreateEndpoint("/{scope}/providers/Microsoft.Authorization/roleAssignments/{roleAssignmentName}", "PUT"); + Endpoints[5115] = CreateEndpoint("/{scope}/providers/Microsoft.Authorization/roleAssignments/{roleAssignmentName}", "GET"); + Endpoints[5116] = CreateEndpoint("/{scope}/providers/Microsoft.Authorization/roleAssignments/{roleAssignmentName}", "DELETE"); + Endpoints[5117] = CreateEndpoint("/{scope}/providers/Microsoft.Authorization/roleDefinitions/{roleDefinitionId}", "PUT"); + Endpoints[5118] = CreateEndpoint("/{scope}/providers/Microsoft.Authorization/roleDefinitions/{roleDefinitionId}", "GET"); + Endpoints[5119] = CreateEndpoint("/{scope}/providers/Microsoft.Authorization/roleDefinitions/{roleDefinitionId}", "DELETE"); + Endpoints[5120] = CreateEndpoint("/{scope}/providers/Microsoft.EventGrid/eventSubscriptions/{eventSubscriptionName}", "PUT"); + Endpoints[5121] = CreateEndpoint("/{scope}/providers/Microsoft.EventGrid/eventSubscriptions/{eventSubscriptionName}", "GET"); + Endpoints[5122] = CreateEndpoint("/{scope}/providers/Microsoft.EventGrid/eventSubscriptions/{eventSubscriptionName}", "DELETE"); + Endpoints[5123] = CreateEndpoint("/{scope}/providers/Microsoft.EventGrid/eventSubscriptions/{eventSubscriptionName}", "PATCH"); + Endpoints[5124] = CreateEndpoint("/{scope}/providers/Microsoft.Security/compliances/{complianceName}", "GET"); + Endpoints[5125] = CreateEndpoint("/{resourceId}/providers/Microsoft.PolicyInsights/policyEvents/{policyEventsResource}/queryResults", "POST"); + Endpoints[5126] = CreateEndpoint("/{resourceId}/providers/Microsoft.PolicyInsights/policyStates/{policyStatesResource}/queryResults", "POST"); + Endpoints[5127] = CreateEndpoint("/{resourceId}/providers/Microsoft.PolicyInsights/policyStates/{policyStatesSummaryResource}/summarize", "POST"); + Endpoints[5128] = CreateEndpoint("/{scope}/providers/Microsoft.EventGrid/eventSubscriptions/{eventSubscriptionName}/getFullUrl", "POST"); + Endpoints[5129] = CreateEndpoint("/{resourceUri}/providers/Microsoft.Advisor/recommendations/{recommendationId}/suppressions/{name}", "DELETE"); + Endpoints[5130] = CreateEndpoint("/{resourceUri}/providers/Microsoft.Advisor/recommendations/{recommendationId}/suppressions/{name}", "PUT"); + Endpoints[5131] = CreateEndpoint("/{resourceUri}/providers/Microsoft.Advisor/recommendations/{recommendationId}/suppressions/{name}", "GET"); + Endpoints[5132] = CreateEndpoint("/{tenantID}/applications/{applicationObjectId}", "PATCH"); + Endpoints[5133] = CreateEndpoint("/{tenantID}/applications/{applicationObjectId}", "DELETE"); + Endpoints[5134] = CreateEndpoint("/{tenantID}/applications/{applicationObjectId}", "GET"); + Endpoints[5135] = CreateEndpoint("/{tenantID}/domains/{domainName}", "GET"); + Endpoints[5136] = CreateEndpoint("/{tenantID}/groups/{objectId}", "GET"); + Endpoints[5137] = CreateEndpoint("/{tenantID}/groups/{objectId}", "DELETE"); + Endpoints[5138] = CreateEndpoint("/{tenantID}/servicePrincipals/{objectId}", "DELETE"); + Endpoints[5139] = CreateEndpoint("/{tenantID}/servicePrincipals/{objectId}", "GET"); + Endpoints[5140] = CreateEndpoint("/{tenantID}/users/{upnOrObjectId}", "DELETE"); + Endpoints[5141] = CreateEndpoint("/{tenantID}/users/{upnOrObjectId}", "GET"); + Endpoints[5142] = CreateEndpoint("/{tenantID}/users/{upnOrObjectId}", "PATCH"); + Endpoints[5143] = CreateEndpoint("/{projectId}/images/{imageId}/regionproposals", "POST"); + Endpoints[5144] = CreateEndpoint("/{tenantID}/applications/{applicationObjectId}/keyCredentials", "GET"); + Endpoints[5145] = CreateEndpoint("/{tenantID}/applications/{applicationObjectId}/keyCredentials", "PATCH"); + Endpoints[5146] = CreateEndpoint("/{tenantID}/applications/{applicationObjectId}/owners", "GET"); + Endpoints[5147] = CreateEndpoint("/{tenantID}/applications/{applicationObjectId}/passwordCredentials", "GET"); + Endpoints[5148] = CreateEndpoint("/{tenantID}/applications/{applicationObjectId}/passwordCredentials", "PATCH"); + Endpoints[5149] = CreateEndpoint("/{tenantID}/groups/{objectId}/getMemberGroups", "POST"); + Endpoints[5150] = CreateEndpoint("/{tenantID}/groups/{objectId}/members", "GET"); + Endpoints[5151] = CreateEndpoint("/{tenantID}/servicePrincipals/{objectId}/keyCredentials", "PATCH"); + Endpoints[5152] = CreateEndpoint("/{tenantID}/servicePrincipals/{objectId}/keyCredentials", "GET"); + Endpoints[5153] = CreateEndpoint("/{tenantID}/servicePrincipals/{objectId}/owners", "GET"); + Endpoints[5154] = CreateEndpoint("/{tenantID}/servicePrincipals/{objectId}/passwordCredentials", "GET"); + Endpoints[5155] = CreateEndpoint("/{tenantID}/servicePrincipals/{objectId}/passwordCredentials", "PATCH"); + Endpoints[5156] = CreateEndpoint("/{tenantID}/users/{objectId}/getMemberGroups", "POST"); + Endpoints[5157] = CreateEndpoint("/{tenantID}/applications/{applicationObjectId}/$links/owners", "POST"); + Endpoints[5158] = CreateEndpoint("/{tenantID}/groups/{groupObjectId}/$links/members", "POST"); + Endpoints[5159] = CreateEndpoint("/{tenantID}/groups/{groupObjectId}/$links/members/{memberObjectId}", "DELETE"); + } + + private void SetupRequests() + { + Requests = new HttpContext[5160]; + Requests[0] = new DefaultHttpContext(); + Requests[0].RequestServices = CreateServices(); + Requests[0].Request.Method = "GET"; + Requests[0].Request.Path = "/account"; + Requests[1] = new DefaultHttpContext(); + Requests[1].RequestServices = CreateServices(); + Requests[1].Request.Method = "POST"; + Requests[1].Request.Path = "/analyze"; + Requests[2] = new DefaultHttpContext(); + Requests[2].RequestServices = CreateServices(); + Requests[2].Request.Method = "GET"; + Requests[2].Request.Path = "/apis"; + Requests[3] = new DefaultHttpContext(); + Requests[3].RequestServices = CreateServices(); + Requests[3].Request.Method = "GET"; + Requests[3].Request.Path = "/Applications"; + Requests[4] = new DefaultHttpContext(); + Requests[4].RequestServices = CreateServices(); + Requests[4].Request.Method = "GET"; + Requests[4].Request.Path = "/ApplicationTypes"; + Requests[5] = new DefaultHttpContext(); + Requests[5].RequestServices = CreateServices(); + Requests[5].Request.Method = "GET"; + Requests[5].Request.Path = "/apps"; + Requests[6] = new DefaultHttpContext(); + Requests[6].RequestServices = CreateServices(); + Requests[6].Request.Method = "POST"; + Requests[6].Request.Path = "/apps"; + Requests[7] = new DefaultHttpContext(); + Requests[7].RequestServices = CreateServices(); + Requests[7].Request.Method = "GET"; + Requests[7].Request.Path = "/authorizationServers"; + Requests[8] = new DefaultHttpContext(); + Requests[8].RequestServices = CreateServices(); + Requests[8].Request.Method = "GET"; + Requests[8].Request.Path = "/backends"; + Requests[9] = new DefaultHttpContext(); + Requests[9].RequestServices = CreateServices(); + Requests[9].Request.Method = "POST"; + Requests[9].Request.Path = "/BuildJob"; + Requests[10] = new DefaultHttpContext(); + Requests[10].RequestServices = CreateServices(); + Requests[10].Request.Method = "POST"; + Requests[10].Request.Path = "/certificates"; + Requests[11] = new DefaultHttpContext(); + Requests[11].RequestServices = CreateServices(); + Requests[11].Request.Method = "GET"; + Requests[11].Request.Path = "/certificates"; + Requests[12] = new DefaultHttpContext(); + Requests[12].RequestServices = CreateServices(); + Requests[12].Request.Method = "GET"; + Requests[12].Request.Path = "/ComposeDeployments"; + Requests[13] = new DefaultHttpContext(); + Requests[13].RequestServices = CreateServices(); + Requests[13].Request.Method = "POST"; + Requests[13].Request.Path = "/datasources"; + Requests[14] = new DefaultHttpContext(); + Requests[14].RequestServices = CreateServices(); + Requests[14].Request.Method = "GET"; + Requests[14].Request.Path = "/datasources"; + Requests[15] = new DefaultHttpContext(); + Requests[15].RequestServices = CreateServices(); + Requests[15].Request.Method = "GET"; + Requests[15].Request.Path = "/deletedcertificates"; + Requests[16] = new DefaultHttpContext(); + Requests[16].RequestServices = CreateServices(); + Requests[16].Request.Method = "GET"; + Requests[16].Request.Path = "/deletedkeys"; + Requests[17] = new DefaultHttpContext(); + Requests[17].RequestServices = CreateServices(); + Requests[17].Request.Method = "GET"; + Requests[17].Request.Path = "/deletedsecrets"; + Requests[18] = new DefaultHttpContext(); + Requests[18].RequestServices = CreateServices(); + Requests[18].Request.Method = "GET"; + Requests[18].Request.Path = "/deletedstorage"; + Requests[19] = new DefaultHttpContext(); + Requests[19].RequestServices = CreateServices(); + Requests[19].Request.Method = "POST"; + Requests[19].Request.Path = "/describe"; + Requests[20] = new DefaultHttpContext(); + Requests[20].RequestServices = CreateServices(); + Requests[20].Request.Method = "POST"; + Requests[20].Request.Path = "/detect"; + Requests[21] = new DefaultHttpContext(); + Requests[21].RequestServices = CreateServices(); + Requests[21].Request.Method = "GET"; + Requests[21].Request.Path = "/domains"; + Requests[22] = new DefaultHttpContext(); + Requests[22].RequestServices = CreateServices(); + Requests[22].Request.Method = "GET"; + Requests[22].Request.Path = "/entities"; + Requests[23] = new DefaultHttpContext(); + Requests[23].RequestServices = CreateServices(); + Requests[23].Request.Method = "GET"; + Requests[23].Request.Path = "/facelists"; + Requests[24] = new DefaultHttpContext(); + Requests[24].RequestServices = CreateServices(); + Requests[24].Request.Method = "GET"; + Requests[24].Request.Path = "/Faults"; + Requests[25] = new DefaultHttpContext(); + Requests[25].RequestServices = CreateServices(); + Requests[25].Request.Method = "POST"; + Requests[25].Request.Path = "/findsimilars"; + Requests[26] = new DefaultHttpContext(); + Requests[26].RequestServices = CreateServices(); + Requests[26].Request.Method = "POST"; + Requests[26].Request.Path = "/generateThumbnail"; + Requests[27] = new DefaultHttpContext(); + Requests[27].RequestServices = CreateServices(); + Requests[27].Request.Method = "POST"; + Requests[27].Request.Path = "/group"; + Requests[28] = new DefaultHttpContext(); + Requests[28].RequestServices = CreateServices(); + Requests[28].Request.Method = "GET"; + Requests[28].Request.Path = "/groups"; + Requests[29] = new DefaultHttpContext(); + Requests[29].RequestServices = CreateServices(); + Requests[29].Request.Method = "POST"; + Requests[29].Request.Path = "/identify"; + Requests[30] = new DefaultHttpContext(); + Requests[30].RequestServices = CreateServices(); + Requests[30].Request.Method = "GET"; + Requests[30].Request.Path = "/identityProviders"; + Requests[31] = new DefaultHttpContext(); + Requests[31].RequestServices = CreateServices(); + Requests[31].Request.Method = "GET"; + Requests[31].Request.Path = "/ImageStore"; + Requests[32] = new DefaultHttpContext(); + Requests[32].RequestServices = CreateServices(); + Requests[32].Request.Method = "POST"; + Requests[32].Request.Path = "/indexers"; + Requests[33] = new DefaultHttpContext(); + Requests[33].RequestServices = CreateServices(); + Requests[33].Request.Method = "GET"; + Requests[33].Request.Path = "/indexers"; + Requests[34] = new DefaultHttpContext(); + Requests[34].RequestServices = CreateServices(); + Requests[34].Request.Method = "GET"; + Requests[34].Request.Path = "/indexes"; + Requests[35] = new DefaultHttpContext(); + Requests[35].RequestServices = CreateServices(); + Requests[35].Request.Method = "POST"; + Requests[35].Request.Path = "/indexes"; + Requests[36] = new DefaultHttpContext(); + Requests[36].RequestServices = CreateServices(); + Requests[36].Request.Method = "POST"; + Requests[36].Request.Path = "/jobs"; + Requests[37] = new DefaultHttpContext(); + Requests[37].RequestServices = CreateServices(); + Requests[37].Request.Method = "GET"; + Requests[37].Request.Path = "/Jobs"; + Requests[38] = new DefaultHttpContext(); + Requests[38].RequestServices = CreateServices(); + Requests[38].Request.Method = "POST"; + Requests[38].Request.Path = "/jobschedules"; + Requests[39] = new DefaultHttpContext(); + Requests[39].RequestServices = CreateServices(); + Requests[39].Request.Method = "GET"; + Requests[39].Request.Path = "/jobschedules"; + Requests[40] = new DefaultHttpContext(); + Requests[40].RequestServices = CreateServices(); + Requests[40].Request.Method = "GET"; + Requests[40].Request.Path = "/keys"; + Requests[41] = new DefaultHttpContext(); + Requests[41].RequestServices = CreateServices(); + Requests[41].Request.Method = "GET"; + Requests[41].Request.Path = "/lifetimejobstats"; + Requests[42] = new DefaultHttpContext(); + Requests[42].RequestServices = CreateServices(); + Requests[42].Request.Method = "GET"; + Requests[42].Request.Path = "/lifetimepoolstats"; + Requests[43] = new DefaultHttpContext(); + Requests[43].RequestServices = CreateServices(); + Requests[43].Request.Method = "GET"; + Requests[43].Request.Path = "/loggers"; + Requests[44] = new DefaultHttpContext(); + Requests[44].RequestServices = CreateServices(); + Requests[44].Request.Method = "GET"; + Requests[44].Request.Path = "/models"; + Requests[45] = new DefaultHttpContext(); + Requests[45].RequestServices = CreateServices(); + Requests[45].Request.Method = "GET"; + Requests[45].Request.Path = "/news"; + Requests[46] = new DefaultHttpContext(); + Requests[46].RequestServices = CreateServices(); + Requests[46].Request.Method = "GET"; + Requests[46].Request.Path = "/nodeagentskus"; + Requests[47] = new DefaultHttpContext(); + Requests[47].RequestServices = CreateServices(); + Requests[47].Request.Method = "GET"; + Requests[47].Request.Path = "/nodecounts"; + Requests[48] = new DefaultHttpContext(); + Requests[48].RequestServices = CreateServices(); + Requests[48].Request.Method = "GET"; + Requests[48].Request.Path = "/Nodes"; + Requests[49] = new DefaultHttpContext(); + Requests[49].RequestServices = CreateServices(); + Requests[49].Request.Method = "POST"; + Requests[49].Request.Path = "/ocr"; + Requests[50] = new DefaultHttpContext(); + Requests[50].RequestServices = CreateServices(); + Requests[50].Request.Method = "GET"; + Requests[50].Request.Path = "/offers"; + Requests[51] = new DefaultHttpContext(); + Requests[51].RequestServices = CreateServices(); + Requests[51].Request.Method = "GET"; + Requests[51].Request.Path = "/openidConnectProviders"; + Requests[52] = new DefaultHttpContext(); + Requests[52].RequestServices = CreateServices(); + Requests[52].Request.Method = "GET"; + Requests[52].Request.Path = "/persongroups"; + Requests[53] = new DefaultHttpContext(); + Requests[53].RequestServices = CreateServices(); + Requests[53].Request.Method = "GET"; + Requests[53].Request.Path = "/pipelines"; + Requests[54] = new DefaultHttpContext(); + Requests[54].RequestServices = CreateServices(); + Requests[54].Request.Method = "GET"; + Requests[54].Request.Path = "/policies"; + Requests[55] = new DefaultHttpContext(); + Requests[55].RequestServices = CreateServices(); + Requests[55].Request.Method = "GET"; + Requests[55].Request.Path = "/policySnippets"; + Requests[56] = new DefaultHttpContext(); + Requests[56].RequestServices = CreateServices(); + Requests[56].Request.Method = "GET"; + Requests[56].Request.Path = "/pools"; + Requests[57] = new DefaultHttpContext(); + Requests[57].RequestServices = CreateServices(); + Requests[57].Request.Method = "POST"; + Requests[57].Request.Path = "/pools"; + Requests[58] = new DefaultHttpContext(); + Requests[58].RequestServices = CreateServices(); + Requests[58].Request.Method = "GET"; + Requests[58].Request.Path = "/poolusagemetrics"; + Requests[59] = new DefaultHttpContext(); + Requests[59].RequestServices = CreateServices(); + Requests[59].Request.Method = "GET"; + Requests[59].Request.Path = "/products"; + Requests[60] = new DefaultHttpContext(); + Requests[60].RequestServices = CreateServices(); + Requests[60].Request.Method = "POST"; + Requests[60].Request.Path = "/projects"; + Requests[61] = new DefaultHttpContext(); + Requests[61].RequestServices = CreateServices(); + Requests[61].Request.Method = "GET"; + Requests[61].Request.Path = "/projects"; + Requests[62] = new DefaultHttpContext(); + Requests[62].RequestServices = CreateServices(); + Requests[62].Request.Method = "GET"; + Requests[62].Request.Path = "/properties"; + Requests[63] = new DefaultHttpContext(); + Requests[63].RequestServices = CreateServices(); + Requests[63].Request.Method = "POST"; + Requests[63].Request.Path = "/recognizeText"; + Requests[64] = new DefaultHttpContext(); + Requests[64].RequestServices = CreateServices(); + Requests[64].Request.Method = "GET"; + Requests[64].Request.Path = "/recurrences"; + Requests[65] = new DefaultHttpContext(); + Requests[65].RequestServices = CreateServices(); + Requests[65].Request.Method = "GET"; + Requests[65].Request.Path = "/regions"; + Requests[66] = new DefaultHttpContext(); + Requests[66].RequestServices = CreateServices(); + Requests[66].Request.Method = "GET"; + Requests[66].Request.Path = "/search"; + Requests[67] = new DefaultHttpContext(); + Requests[67].RequestServices = CreateServices(); + Requests[67].Request.Method = "GET"; + Requests[67].Request.Path = "/secrets"; + Requests[68] = new DefaultHttpContext(); + Requests[68].RequestServices = CreateServices(); + Requests[68].Request.Method = "GET"; + Requests[68].Request.Path = "/servicestats"; + Requests[69] = new DefaultHttpContext(); + Requests[69].RequestServices = CreateServices(); + Requests[69].Request.Method = "POST"; + Requests[69].Request.Path = "/spellcheck"; + Requests[70] = new DefaultHttpContext(); + Requests[70].RequestServices = CreateServices(); + Requests[70].Request.Method = "GET"; + Requests[70].Request.Path = "/storage"; + Requests[71] = new DefaultHttpContext(); + Requests[71].RequestServices = CreateServices(); + Requests[71].Request.Method = "GET"; + Requests[71].Request.Path = "/subscriptions"; + Requests[72] = new DefaultHttpContext(); + Requests[72].RequestServices = CreateServices(); + Requests[72].Request.Method = "POST"; + Requests[72].Request.Path = "/synonymmaps"; + Requests[73] = new DefaultHttpContext(); + Requests[73].RequestServices = CreateServices(); + Requests[73].Request.Method = "GET"; + Requests[73].Request.Path = "/synonymmaps"; + Requests[74] = new DefaultHttpContext(); + Requests[74].RequestServices = CreateServices(); + Requests[74].Request.Method = "POST"; + Requests[74].Request.Path = "/tag"; + Requests[75] = new DefaultHttpContext(); + Requests[75].RequestServices = CreateServices(); + Requests[75].Request.Method = "GET"; + Requests[75].Request.Path = "/templates"; + Requests[76] = new DefaultHttpContext(); + Requests[76].RequestServices = CreateServices(); + Requests[76].Request.Method = "GET"; + Requests[76].Request.Path = "/tenants"; + Requests[77] = new DefaultHttpContext(); + Requests[77].RequestServices = CreateServices(); + Requests[77].Request.Method = "GET"; + Requests[77].Request.Path = "/users"; + Requests[78] = new DefaultHttpContext(); + Requests[78].RequestServices = CreateServices(); + Requests[78].Request.Method = "POST"; + Requests[78].Request.Path = "/verify"; + Requests[79] = new DefaultHttpContext(); + Requests[79].RequestServices = CreateServices(); + Requests[79].Request.Method = "POST"; + Requests[79].Request.Path = "/$/CancelRepairTask"; + Requests[80] = new DefaultHttpContext(); + Requests[80].RequestServices = CreateServices(); + Requests[80].Request.Method = "POST"; + Requests[80].Request.Path = "/$/CreateRepairTask"; + Requests[81] = new DefaultHttpContext(); + Requests[81].RequestServices = CreateServices(); + Requests[81].Request.Method = "POST"; + Requests[81].Request.Path = "/$/DeleteRepairTask"; + Requests[82] = new DefaultHttpContext(); + Requests[82].RequestServices = CreateServices(); + Requests[82].Request.Method = "POST"; + Requests[82].Request.Path = "/$/ForceApproveRepairTask"; + Requests[83] = new DefaultHttpContext(); + Requests[83].RequestServices = CreateServices(); + Requests[83].Request.Method = "GET"; + Requests[83].Request.Path = "/$/GetAadMetadata"; + Requests[84] = new DefaultHttpContext(); + Requests[84].RequestServices = CreateServices(); + Requests[84].Request.Method = "GET"; + Requests[84].Request.Path = "/$/GetClusterConfiguration"; + Requests[85] = new DefaultHttpContext(); + Requests[85].RequestServices = CreateServices(); + Requests[85].Request.Method = "GET"; + Requests[85].Request.Path = "/$/GetClusterConfigurationUpgradeStatus"; + Requests[86] = new DefaultHttpContext(); + Requests[86].RequestServices = CreateServices(); + Requests[86].Request.Method = "GET"; + Requests[86].Request.Path = "/$/GetClusterHealth"; + Requests[87] = new DefaultHttpContext(); + Requests[87].RequestServices = CreateServices(); + Requests[87].Request.Method = "POST"; + Requests[87].Request.Path = "/$/GetClusterHealth"; + Requests[88] = new DefaultHttpContext(); + Requests[88].RequestServices = CreateServices(); + Requests[88].Request.Method = "POST"; + Requests[88].Request.Path = "/$/GetClusterHealthChunk"; + Requests[89] = new DefaultHttpContext(); + Requests[89].RequestServices = CreateServices(); + Requests[89].Request.Method = "GET"; + Requests[89].Request.Path = "/$/GetClusterHealthChunk"; + Requests[90] = new DefaultHttpContext(); + Requests[90].RequestServices = CreateServices(); + Requests[90].Request.Method = "GET"; + Requests[90].Request.Path = "/$/GetClusterManifest"; + Requests[91] = new DefaultHttpContext(); + Requests[91].RequestServices = CreateServices(); + Requests[91].Request.Method = "GET"; + Requests[91].Request.Path = "/$/GetLoadInformation"; + Requests[92] = new DefaultHttpContext(); + Requests[92].RequestServices = CreateServices(); + Requests[92].Request.Method = "GET"; + Requests[92].Request.Path = "/$/GetProvisionedCodeVersions"; + Requests[93] = new DefaultHttpContext(); + Requests[93].RequestServices = CreateServices(); + Requests[93].Request.Method = "GET"; + Requests[93].Request.Path = "/$/GetProvisionedConfigVersions"; + Requests[94] = new DefaultHttpContext(); + Requests[94].RequestServices = CreateServices(); + Requests[94].Request.Method = "GET"; + Requests[94].Request.Path = "/$/GetRepairTaskList"; + Requests[95] = new DefaultHttpContext(); + Requests[95].RequestServices = CreateServices(); + Requests[95].Request.Method = "GET"; + Requests[95].Request.Path = "/$/GetUpgradeOrchestrationServiceState"; + Requests[96] = new DefaultHttpContext(); + Requests[96].RequestServices = CreateServices(); + Requests[96].Request.Method = "GET"; + Requests[96].Request.Path = "/$/GetUpgradeProgress"; + Requests[97] = new DefaultHttpContext(); + Requests[97].RequestServices = CreateServices(); + Requests[97].Request.Method = "POST"; + Requests[97].Request.Path = "/$/InvokeInfrastructureCommand"; + Requests[98] = new DefaultHttpContext(); + Requests[98].RequestServices = CreateServices(); + Requests[98].Request.Method = "GET"; + Requests[98].Request.Path = "/$/InvokeInfrastructureQuery"; + Requests[99] = new DefaultHttpContext(); + Requests[99].RequestServices = CreateServices(); + Requests[99].Request.Method = "POST"; + Requests[99].Request.Path = "/$/MoveToNextUpgradeDomain"; + Requests[100] = new DefaultHttpContext(); + Requests[100].RequestServices = CreateServices(); + Requests[100].Request.Method = "POST"; + Requests[100].Request.Path = "/$/Provision"; + Requests[101] = new DefaultHttpContext(); + Requests[101].RequestServices = CreateServices(); + Requests[101].Request.Method = "POST"; + Requests[101].Request.Path = "/$/RecoverAllPartitions"; + Requests[102] = new DefaultHttpContext(); + Requests[102].RequestServices = CreateServices(); + Requests[102].Request.Method = "POST"; + Requests[102].Request.Path = "/$/RecoverSystemPartitions"; + Requests[103] = new DefaultHttpContext(); + Requests[103].RequestServices = CreateServices(); + Requests[103].Request.Method = "POST"; + Requests[103].Request.Path = "/$/ReportClusterHealth"; + Requests[104] = new DefaultHttpContext(); + Requests[104].RequestServices = CreateServices(); + Requests[104].Request.Method = "POST"; + Requests[104].Request.Path = "/$/RollbackUpgrade"; + Requests[105] = new DefaultHttpContext(); + Requests[105].RequestServices = CreateServices(); + Requests[105].Request.Method = "POST"; + Requests[105].Request.Path = "/$/SetUpgradeOrchestrationServiceState"; + Requests[106] = new DefaultHttpContext(); + Requests[106].RequestServices = CreateServices(); + Requests[106].Request.Method = "POST"; + Requests[106].Request.Path = "/$/StartClusterConfigurationUpgrade"; + Requests[107] = new DefaultHttpContext(); + Requests[107].RequestServices = CreateServices(); + Requests[107].Request.Method = "POST"; + Requests[107].Request.Path = "/$/Unprovision"; + Requests[108] = new DefaultHttpContext(); + Requests[108].RequestServices = CreateServices(); + Requests[108].Request.Method = "POST"; + Requests[108].Request.Path = "/$/UpdateRepairExecutionState"; + Requests[109] = new DefaultHttpContext(); + Requests[109].RequestServices = CreateServices(); + Requests[109].Request.Method = "POST"; + Requests[109].Request.Path = "/$/UpdateRepairTaskHealthPolicy"; + Requests[110] = new DefaultHttpContext(); + Requests[110].RequestServices = CreateServices(); + Requests[110].Request.Method = "POST"; + Requests[110].Request.Path = "/$/UpdateUpgrade"; + Requests[111] = new DefaultHttpContext(); + Requests[111].RequestServices = CreateServices(); + Requests[111].Request.Method = "POST"; + Requests[111].Request.Path = "/$/Upgrade"; + Requests[112] = new DefaultHttpContext(); + Requests[112].RequestServices = CreateServices(); + Requests[112].Request.Method = "POST"; + Requests[112].Request.Path = "/api/events"; + Requests[113] = new DefaultHttpContext(); + Requests[113].RequestServices = CreateServices(); + Requests[113].Request.Method = "GET"; + Requests[113].Request.Path = "/apps/assistants"; + Requests[114] = new DefaultHttpContext(); + Requests[114].RequestServices = CreateServices(); + Requests[114].Request.Method = "GET"; + Requests[114].Request.Path = "/apps/cultures"; + Requests[115] = new DefaultHttpContext(); + Requests[115].RequestServices = CreateServices(); + Requests[115].Request.Method = "POST"; + Requests[115].Request.Path = "/apps/customprebuiltdomains"; + Requests[116] = new DefaultHttpContext(); + Requests[116].RequestServices = CreateServices(); + Requests[116].Request.Method = "GET"; + Requests[116].Request.Path = "/apps/customprebuiltdomains"; + Requests[117] = new DefaultHttpContext(); + Requests[117].RequestServices = CreateServices(); + Requests[117].Request.Method = "GET"; + Requests[117].Request.Path = "/apps/domains"; + Requests[118] = new DefaultHttpContext(); + Requests[118].RequestServices = CreateServices(); + Requests[118].Request.Method = "POST"; + Requests[118].Request.Path = "/apps/import"; + Requests[119] = new DefaultHttpContext(); + Requests[119].RequestServices = CreateServices(); + Requests[119].Request.Method = "GET"; + Requests[119].Request.Path = "/apps/usagescenarios"; + Requests[120] = new DefaultHttpContext(); + Requests[120].RequestServices = CreateServices(); + Requests[120].Request.Method = "GET"; + Requests[120].Request.Path = "/BackupRestore/BackupPolicies"; + Requests[121] = new DefaultHttpContext(); + Requests[121].RequestServices = CreateServices(); + Requests[121].Request.Method = "GET"; + Requests[121].Request.Path = "/certificates/contacts"; + Requests[122] = new DefaultHttpContext(); + Requests[122].RequestServices = CreateServices(); + Requests[122].Request.Method = "DELETE"; + Requests[122].Request.Path = "/certificates/contacts"; + Requests[123] = new DefaultHttpContext(); + Requests[123].RequestServices = CreateServices(); + Requests[123].Request.Method = "PUT"; + Requests[123].Request.Path = "/certificates/contacts"; + Requests[124] = new DefaultHttpContext(); + Requests[124].RequestServices = CreateServices(); + Requests[124].Request.Method = "GET"; + Requests[124].Request.Path = "/certificates/issuers"; + Requests[125] = new DefaultHttpContext(); + Requests[125].RequestServices = CreateServices(); + Requests[125].Request.Method = "GET"; + Requests[125].Request.Path = "/docs/$count"; + Requests[126] = new DefaultHttpContext(); + Requests[126].RequestServices = CreateServices(); + Requests[126].Request.Method = "POST"; + Requests[126].Request.Path = "/docs/autocomplete"; + Requests[127] = new DefaultHttpContext(); + Requests[127].RequestServices = CreateServices(); + Requests[127].Request.Method = "GET"; + Requests[127].Request.Path = "/docs/autocomplete"; + Requests[128] = new DefaultHttpContext(); + Requests[128].RequestServices = CreateServices(); + Requests[128].Request.Method = "GET"; + Requests[128].Request.Path = "/images/details"; + Requests[129] = new DefaultHttpContext(); + Requests[129].RequestServices = CreateServices(); + Requests[129].Request.Method = "GET"; + Requests[129].Request.Path = "/images/search"; + Requests[130] = new DefaultHttpContext(); + Requests[130].RequestServices = CreateServices(); + Requests[130].Request.Method = "GET"; + Requests[130].Request.Path = "/images/trending"; + Requests[131] = new DefaultHttpContext(); + Requests[131].RequestServices = CreateServices(); + Requests[131].Request.Method = "POST"; + Requests[131].Request.Path = "/images/visualsearch"; + Requests[132] = new DefaultHttpContext(); + Requests[132].RequestServices = CreateServices(); + Requests[132].Request.Method = "POST"; + Requests[132].Request.Path = "/keys/restore"; + Requests[133] = new DefaultHttpContext(); + Requests[133].RequestServices = CreateServices(); + Requests[133].Request.Method = "GET"; + Requests[133].Request.Path = "/news/search"; + Requests[134] = new DefaultHttpContext(); + Requests[134].RequestServices = CreateServices(); + Requests[134].Request.Method = "GET"; + Requests[134].Request.Path = "/news/trendingtopics"; + Requests[135] = new DefaultHttpContext(); + Requests[135].RequestServices = CreateServices(); + Requests[135].Request.Method = "PUT"; + Requests[135].Request.Path = "/portalsettings/delegation"; + Requests[136] = new DefaultHttpContext(); + Requests[136].RequestServices = CreateServices(); + Requests[136].Request.Method = "PATCH"; + Requests[136].Request.Path = "/portalsettings/delegation"; + Requests[137] = new DefaultHttpContext(); + Requests[137].RequestServices = CreateServices(); + Requests[137].Request.Method = "GET"; + Requests[137].Request.Path = "/portalsettings/delegation"; + Requests[138] = new DefaultHttpContext(); + Requests[138].RequestServices = CreateServices(); + Requests[138].Request.Method = "PUT"; + Requests[138].Request.Path = "/portalsettings/signin"; + Requests[139] = new DefaultHttpContext(); + Requests[139].RequestServices = CreateServices(); + Requests[139].Request.Method = "PATCH"; + Requests[139].Request.Path = "/portalsettings/signin"; + Requests[140] = new DefaultHttpContext(); + Requests[140].RequestServices = CreateServices(); + Requests[140].Request.Method = "GET"; + Requests[140].Request.Path = "/portalsettings/signin"; + Requests[141] = new DefaultHttpContext(); + Requests[141].RequestServices = CreateServices(); + Requests[141].Request.Method = "PATCH"; + Requests[141].Request.Path = "/portalsettings/signup"; + Requests[142] = new DefaultHttpContext(); + Requests[142].RequestServices = CreateServices(); + Requests[142].Request.Method = "GET"; + Requests[142].Request.Path = "/portalsettings/signup"; + Requests[143] = new DefaultHttpContext(); + Requests[143].RequestServices = CreateServices(); + Requests[143].Request.Method = "PUT"; + Requests[143].Request.Path = "/portalsettings/signup"; + Requests[144] = new DefaultHttpContext(); + Requests[144].RequestServices = CreateServices(); + Requests[144].Request.Method = "GET"; + Requests[144].Request.Path = "/reports/byApi"; + Requests[145] = new DefaultHttpContext(); + Requests[145].RequestServices = CreateServices(); + Requests[145].Request.Method = "GET"; + Requests[145].Request.Path = "/reports/byGeo"; + Requests[146] = new DefaultHttpContext(); + Requests[146].RequestServices = CreateServices(); + Requests[146].Request.Method = "GET"; + Requests[146].Request.Path = "/reports/byOperation"; + Requests[147] = new DefaultHttpContext(); + Requests[147].RequestServices = CreateServices(); + Requests[147].Request.Method = "GET"; + Requests[147].Request.Path = "/reports/byProduct"; + Requests[148] = new DefaultHttpContext(); + Requests[148].RequestServices = CreateServices(); + Requests[148].Request.Method = "GET"; + Requests[148].Request.Path = "/reports/byRequest"; + Requests[149] = new DefaultHttpContext(); + Requests[149].RequestServices = CreateServices(); + Requests[149].Request.Method = "GET"; + Requests[149].Request.Path = "/reports/bySubscription"; + Requests[150] = new DefaultHttpContext(); + Requests[150].RequestServices = CreateServices(); + Requests[150].Request.Method = "GET"; + Requests[150].Request.Path = "/reports/byTime"; + Requests[151] = new DefaultHttpContext(); + Requests[151].RequestServices = CreateServices(); + Requests[151].Request.Method = "GET"; + Requests[151].Request.Path = "/reports/byUser"; + Requests[152] = new DefaultHttpContext(); + Requests[152].RequestServices = CreateServices(); + Requests[152].Request.Method = "POST"; + Requests[152].Request.Path = "/secrets/restore"; + Requests[153] = new DefaultHttpContext(); + Requests[153].RequestServices = CreateServices(); + Requests[153].Request.Method = "POST"; + Requests[153].Request.Path = "/storage/restore"; + Requests[154] = new DefaultHttpContext(); + Requests[154].RequestServices = CreateServices(); + Requests[154].Request.Method = "GET"; + Requests[154].Request.Path = "/Tools/Chaos"; + Requests[155] = new DefaultHttpContext(); + Requests[155].RequestServices = CreateServices(); + Requests[155].Request.Method = "POST"; + Requests[155].Request.Path = "/v2.0/entities"; + Requests[156] = new DefaultHttpContext(); + Requests[156].RequestServices = CreateServices(); + Requests[156].Request.Method = "POST"; + Requests[156].Request.Path = "/v2.0/keyPhrases"; + Requests[157] = new DefaultHttpContext(); + Requests[157].RequestServices = CreateServices(); + Requests[157].Request.Method = "POST"; + Requests[157].Request.Path = "/v2.0/languages"; + Requests[158] = new DefaultHttpContext(); + Requests[158].RequestServices = CreateServices(); + Requests[158].Request.Method = "POST"; + Requests[158].Request.Path = "/v2.0/sentiment"; + Requests[159] = new DefaultHttpContext(); + Requests[159].RequestServices = CreateServices(); + Requests[159].Request.Method = "GET"; + Requests[159].Request.Path = "/videos/details"; + Requests[160] = new DefaultHttpContext(); + Requests[160].RequestServices = CreateServices(); + Requests[160].Request.Method = "GET"; + Requests[160].Request.Path = "/videos/search"; + Requests[161] = new DefaultHttpContext(); + Requests[161].RequestServices = CreateServices(); + Requests[161].Request.Method = "GET"; + Requests[161].Request.Path = "/videos/trending"; + Requests[162] = new DefaultHttpContext(); + Requests[162].RequestServices = CreateServices(); + Requests[162].Request.Method = "POST"; + Requests[162].Request.Path = "/Applications/$/Create"; + Requests[163] = new DefaultHttpContext(); + Requests[163].RequestServices = CreateServices(); + Requests[163].Request.Method = "POST"; + Requests[163].Request.Path = "/ApplicationTypes/$/Provision"; + Requests[164] = new DefaultHttpContext(); + Requests[164].RequestServices = CreateServices(); + Requests[164].Request.Method = "POST"; + Requests[164].Request.Path = "/BackupRestore/$/GetBackups"; + Requests[165] = new DefaultHttpContext(); + Requests[165].RequestServices = CreateServices(); + Requests[165].Request.Method = "GET"; + Requests[165].Request.Path = "/catalog/usql/acl"; + Requests[166] = new DefaultHttpContext(); + Requests[166].RequestServices = CreateServices(); + Requests[166].Request.Method = "GET"; + Requests[166].Request.Path = "/catalog/usql/databases"; + Requests[167] = new DefaultHttpContext(); + Requests[167].RequestServices = CreateServices(); + Requests[167].Request.Method = "PUT"; + Requests[167].Request.Path = "/ComposeDeployments/$/Create"; + Requests[168] = new DefaultHttpContext(); + Requests[168].RequestServices = CreateServices(); + Requests[168].Request.Method = "GET"; + Requests[168].Request.Path = "/EventsStore/Applications/Events"; + Requests[169] = new DefaultHttpContext(); + Requests[169].RequestServices = CreateServices(); + Requests[169].Request.Method = "GET"; + Requests[169].Request.Path = "/EventsStore/Cluster/Events"; + Requests[170] = new DefaultHttpContext(); + Requests[170].RequestServices = CreateServices(); + Requests[170].Request.Method = "GET"; + Requests[170].Request.Path = "/EventsStore/Containers/Events"; + Requests[171] = new DefaultHttpContext(); + Requests[171].RequestServices = CreateServices(); + Requests[171].Request.Method = "GET"; + Requests[171].Request.Path = "/EventsStore/Nodes/Events"; + Requests[172] = new DefaultHttpContext(); + Requests[172].RequestServices = CreateServices(); + Requests[172].Request.Method = "GET"; + Requests[172].Request.Path = "/EventsStore/Partitions/Events"; + Requests[173] = new DefaultHttpContext(); + Requests[173].RequestServices = CreateServices(); + Requests[173].Request.Method = "GET"; + Requests[173].Request.Path = "/EventsStore/Services/Events"; + Requests[174] = new DefaultHttpContext(); + Requests[174].RequestServices = CreateServices(); + Requests[174].Request.Method = "POST"; + Requests[174].Request.Path = "/Faults/$/Cancel"; + Requests[175] = new DefaultHttpContext(); + Requests[175].RequestServices = CreateServices(); + Requests[175].Request.Method = "POST"; + Requests[175].Request.Path = "/ImageStore/$/CommitUploadSession"; + Requests[176] = new DefaultHttpContext(); + Requests[176].RequestServices = CreateServices(); + Requests[176].Request.Method = "POST"; + Requests[176].Request.Path = "/ImageStore/$/Copy"; + Requests[177] = new DefaultHttpContext(); + Requests[177].RequestServices = CreateServices(); + Requests[177].Request.Method = "DELETE"; + Requests[177].Request.Path = "/ImageStore/$/DeleteUploadSession"; + Requests[178] = new DefaultHttpContext(); + Requests[178].RequestServices = CreateServices(); + Requests[178].Request.Method = "GET"; + Requests[178].Request.Path = "/ImageStore/$/GetUploadSession"; + Requests[179] = new DefaultHttpContext(); + Requests[179].RequestServices = CreateServices(); + Requests[179].Request.Method = "POST"; + Requests[179].Request.Path = "/Names/$/Create"; + Requests[180] = new DefaultHttpContext(); + Requests[180].RequestServices = CreateServices(); + Requests[180].Request.Method = "GET"; + Requests[180].Request.Path = "/providers/Microsoft.AAD/operations"; + Requests[181] = new DefaultHttpContext(); + Requests[181].RequestServices = CreateServices(); + Requests[181].Request.Method = "GET"; + Requests[181].Request.Path = "/providers/Microsoft.Addons/operations"; + Requests[182] = new DefaultHttpContext(); + Requests[182].RequestServices = CreateServices(); + Requests[182].Request.Method = "POST"; + Requests[182].Request.Path = "/providers/Microsoft.ADHybridHealthService/addsservices"; + Requests[183] = new DefaultHttpContext(); + Requests[183].RequestServices = CreateServices(); + Requests[183].Request.Method = "GET"; + Requests[183].Request.Path = "/providers/Microsoft.ADHybridHealthService/addsservices"; + Requests[184] = new DefaultHttpContext(); + Requests[184].RequestServices = CreateServices(); + Requests[184].Request.Method = "PATCH"; + Requests[184].Request.Path = "/providers/Microsoft.ADHybridHealthService/configuration"; + Requests[185] = new DefaultHttpContext(); + Requests[185].RequestServices = CreateServices(); + Requests[185].Request.Method = "GET"; + Requests[185].Request.Path = "/providers/Microsoft.ADHybridHealthService/configuration"; + Requests[186] = new DefaultHttpContext(); + Requests[186].RequestServices = CreateServices(); + Requests[186].Request.Method = "POST"; + Requests[186].Request.Path = "/providers/Microsoft.ADHybridHealthService/configuration"; + Requests[187] = new DefaultHttpContext(); + Requests[187].RequestServices = CreateServices(); + Requests[187].Request.Method = "GET"; + Requests[187].Request.Path = "/providers/Microsoft.ADHybridHealthService/operations"; + Requests[188] = new DefaultHttpContext(); + Requests[188].RequestServices = CreateServices(); + Requests[188].Request.Method = "POST"; + Requests[188].Request.Path = "/providers/Microsoft.ADHybridHealthService/services"; + Requests[189] = new DefaultHttpContext(); + Requests[189].RequestServices = CreateServices(); + Requests[189].Request.Method = "GET"; + Requests[189].Request.Path = "/providers/Microsoft.ADHybridHealthService/services"; + Requests[190] = new DefaultHttpContext(); + Requests[190].RequestServices = CreateServices(); + Requests[190].Request.Method = "GET"; + Requests[190].Request.Path = "/providers/Microsoft.Advisor/operations"; + Requests[191] = new DefaultHttpContext(); + Requests[191].RequestServices = CreateServices(); + Requests[191].Request.Method = "GET"; + Requests[191].Request.Path = "/providers/Microsoft.AnalysisServices/operations"; + Requests[192] = new DefaultHttpContext(); + Requests[192].RequestServices = CreateServices(); + Requests[192].Request.Method = "GET"; + Requests[192].Request.Path = "/providers/Microsoft.ApiManagement/operations"; + Requests[193] = new DefaultHttpContext(); + Requests[193].RequestServices = CreateServices(); + Requests[193].Request.Method = "GET"; + Requests[193].Request.Path = "/providers/Microsoft.Authorization/policyDefinitions"; + Requests[194] = new DefaultHttpContext(); + Requests[194].RequestServices = CreateServices(); + Requests[194].Request.Method = "GET"; + Requests[194].Request.Path = "/providers/Microsoft.Authorization/policySetDefinitions"; + Requests[195] = new DefaultHttpContext(); + Requests[195].RequestServices = CreateServices(); + Requests[195].Request.Method = "GET"; + Requests[195].Request.Path = "/providers/Microsoft.Authorization/providerOperations"; + Requests[196] = new DefaultHttpContext(); + Requests[196].RequestServices = CreateServices(); + Requests[196].Request.Method = "GET"; + Requests[196].Request.Path = "/providers/Microsoft.Automation/operations"; + Requests[197] = new DefaultHttpContext(); + Requests[197].RequestServices = CreateServices(); + Requests[197].Request.Method = "GET"; + Requests[197].Request.Path = "/providers/Microsoft.AzureStack/operations"; + Requests[198] = new DefaultHttpContext(); + Requests[198].RequestServices = CreateServices(); + Requests[198].Request.Method = "GET"; + Requests[198].Request.Path = "/providers/Microsoft.Backup.Admin/operations"; + Requests[199] = new DefaultHttpContext(); + Requests[199].RequestServices = CreateServices(); + Requests[199].Request.Method = "GET"; + Requests[199].Request.Path = "/providers/Microsoft.Batch/operations"; + Requests[200] = new DefaultHttpContext(); + Requests[200].RequestServices = CreateServices(); + Requests[200].Request.Method = "GET"; + Requests[200].Request.Path = "/providers/Microsoft.BatchAI/operations"; + Requests[201] = new DefaultHttpContext(); + Requests[201].RequestServices = CreateServices(); + Requests[201].Request.Method = "GET"; + Requests[201].Request.Path = "/providers/Microsoft.Billing/enrollmentAccounts"; + Requests[202] = new DefaultHttpContext(); + Requests[202].RequestServices = CreateServices(); + Requests[202].Request.Method = "GET"; + Requests[202].Request.Path = "/providers/Microsoft.Billing/operations"; + Requests[203] = new DefaultHttpContext(); + Requests[203].RequestServices = CreateServices(); + Requests[203].Request.Method = "GET"; + Requests[203].Request.Path = "/providers/Microsoft.BotService/operations"; + Requests[204] = new DefaultHttpContext(); + Requests[204].RequestServices = CreateServices(); + Requests[204].Request.Method = "GET"; + Requests[204].Request.Path = "/providers/Microsoft.Cache/operations"; + Requests[205] = new DefaultHttpContext(); + Requests[205].RequestServices = CreateServices(); + Requests[205].Request.Method = "GET"; + Requests[205].Request.Path = "/providers/Microsoft.Capacity/operations"; + Requests[206] = new DefaultHttpContext(); + Requests[206].RequestServices = CreateServices(); + Requests[206].Request.Method = "GET"; + Requests[206].Request.Path = "/providers/Microsoft.Capacity/reservationOrders"; + Requests[207] = new DefaultHttpContext(); + Requests[207].RequestServices = CreateServices(); + Requests[207].Request.Method = "POST"; + Requests[207].Request.Path = "/providers/Microsoft.Cdn/checkNameAvailability"; + Requests[208] = new DefaultHttpContext(); + Requests[208].RequestServices = CreateServices(); + Requests[208].Request.Method = "GET"; + Requests[208].Request.Path = "/providers/Microsoft.Cdn/edgenodes"; + Requests[209] = new DefaultHttpContext(); + Requests[209].RequestServices = CreateServices(); + Requests[209].Request.Method = "GET"; + Requests[209].Request.Path = "/providers/Microsoft.Cdn/operations"; + Requests[210] = new DefaultHttpContext(); + Requests[210].RequestServices = CreateServices(); + Requests[210].Request.Method = "GET"; + Requests[210].Request.Path = "/providers/Microsoft.CertificateRegistration/operations"; + Requests[211] = new DefaultHttpContext(); + Requests[211].RequestServices = CreateServices(); + Requests[211].Request.Method = "GET"; + Requests[211].Request.Path = "/providers/Microsoft.CognitiveServices/operations"; + Requests[212] = new DefaultHttpContext(); + Requests[212].RequestServices = CreateServices(); + Requests[212].Request.Method = "GET"; + Requests[212].Request.Path = "/providers/Microsoft.Commerce.Admin/operations"; + Requests[213] = new DefaultHttpContext(); + Requests[213].RequestServices = CreateServices(); + Requests[213].Request.Method = "GET"; + Requests[213].Request.Path = "/providers/Microsoft.Compute.Admin/operations"; + Requests[214] = new DefaultHttpContext(); + Requests[214].RequestServices = CreateServices(); + Requests[214].Request.Method = "GET"; + Requests[214].Request.Path = "/providers/Microsoft.Compute/operations"; + Requests[215] = new DefaultHttpContext(); + Requests[215].RequestServices = CreateServices(); + Requests[215].Request.Method = "GET"; + Requests[215].Request.Path = "/providers/Microsoft.Consumption/operations"; + Requests[216] = new DefaultHttpContext(); + Requests[216].RequestServices = CreateServices(); + Requests[216].Request.Method = "GET"; + Requests[216].Request.Path = "/providers/Microsoft.ContainerInstance/operations"; + Requests[217] = new DefaultHttpContext(); + Requests[217].RequestServices = CreateServices(); + Requests[217].Request.Method = "GET"; + Requests[217].Request.Path = "/providers/Microsoft.ContainerRegistry/operations"; + Requests[218] = new DefaultHttpContext(); + Requests[218].RequestServices = CreateServices(); + Requests[218].Request.Method = "GET"; + Requests[218].Request.Path = "/providers/Microsoft.ContainerService/operations"; + Requests[219] = new DefaultHttpContext(); + Requests[219].RequestServices = CreateServices(); + Requests[219].Request.Method = "GET"; + Requests[219].Request.Path = "/providers/Microsoft.CustomerInsights/operations"; + Requests[220] = new DefaultHttpContext(); + Requests[220].RequestServices = CreateServices(); + Requests[220].Request.Method = "GET"; + Requests[220].Request.Path = "/providers/Microsoft.DataBox/operations"; + Requests[221] = new DefaultHttpContext(); + Requests[221].RequestServices = CreateServices(); + Requests[221].Request.Method = "GET"; + Requests[221].Request.Path = "/providers/Microsoft.Databricks/operations"; + Requests[222] = new DefaultHttpContext(); + Requests[222].RequestServices = CreateServices(); + Requests[222].Request.Method = "GET"; + Requests[222].Request.Path = "/providers/Microsoft.DataCatalog/operations"; + Requests[223] = new DefaultHttpContext(); + Requests[223].RequestServices = CreateServices(); + Requests[223].Request.Method = "GET"; + Requests[223].Request.Path = "/providers/Microsoft.DataFactory/operations"; + Requests[224] = new DefaultHttpContext(); + Requests[224].RequestServices = CreateServices(); + Requests[224].Request.Method = "GET"; + Requests[224].Request.Path = "/providers/Microsoft.DataLakeAnalytics/operations"; + Requests[225] = new DefaultHttpContext(); + Requests[225].RequestServices = CreateServices(); + Requests[225].Request.Method = "GET"; + Requests[225].Request.Path = "/providers/Microsoft.DataLakeStore/operations"; + Requests[226] = new DefaultHttpContext(); + Requests[226].RequestServices = CreateServices(); + Requests[226].Request.Method = "GET"; + Requests[226].Request.Path = "/providers/Microsoft.DataMigration/operations"; + Requests[227] = new DefaultHttpContext(); + Requests[227].RequestServices = CreateServices(); + Requests[227].Request.Method = "GET"; + Requests[227].Request.Path = "/providers/Microsoft.DBforMySQL/operations"; + Requests[228] = new DefaultHttpContext(); + Requests[228].RequestServices = CreateServices(); + Requests[228].Request.Method = "GET"; + Requests[228].Request.Path = "/providers/Microsoft.DBforPostgreSQL/operations"; + Requests[229] = new DefaultHttpContext(); + Requests[229].RequestServices = CreateServices(); + Requests[229].Request.Method = "GET"; + Requests[229].Request.Path = "/providers/Microsoft.Devices/operations"; + Requests[230] = new DefaultHttpContext(); + Requests[230].RequestServices = CreateServices(); + Requests[230].Request.Method = "GET"; + Requests[230].Request.Path = "/providers/Microsoft.DevTestLab/operations"; + Requests[231] = new DefaultHttpContext(); + Requests[231].RequestServices = CreateServices(); + Requests[231].Request.Method = "GET"; + Requests[231].Request.Path = "/providers/Microsoft.DocumentDB/operations"; + Requests[232] = new DefaultHttpContext(); + Requests[232].RequestServices = CreateServices(); + Requests[232].Request.Method = "GET"; + Requests[232].Request.Path = "/providers/Microsoft.DomainRegistration/operations"; + Requests[233] = new DefaultHttpContext(); + Requests[233].RequestServices = CreateServices(); + Requests[233].Request.Method = "GET"; + Requests[233].Request.Path = "/providers/Microsoft.EventGrid/operations"; + Requests[234] = new DefaultHttpContext(); + Requests[234].RequestServices = CreateServices(); + Requests[234].Request.Method = "GET"; + Requests[234].Request.Path = "/providers/Microsoft.EventGrid/topicTypes"; + Requests[235] = new DefaultHttpContext(); + Requests[235].RequestServices = CreateServices(); + Requests[235].Request.Method = "GET"; + Requests[235].Request.Path = "/providers/Microsoft.EventHub/operations"; + Requests[236] = new DefaultHttpContext(); + Requests[236].RequestServices = CreateServices(); + Requests[236].Request.Method = "GET"; + Requests[236].Request.Path = "/providers/Microsoft.Fabric.Admin/operations"; + Requests[237] = new DefaultHttpContext(); + Requests[237].RequestServices = CreateServices(); + Requests[237].Request.Method = "GET"; + Requests[237].Request.Path = "/providers/Microsoft.Gallery.Admin/operations"; + Requests[238] = new DefaultHttpContext(); + Requests[238].RequestServices = CreateServices(); + Requests[238].Request.Method = "GET"; + Requests[238].Request.Path = "/providers/Microsoft.HanaOnAzure/operations"; + Requests[239] = new DefaultHttpContext(); + Requests[239].RequestServices = CreateServices(); + Requests[239].Request.Method = "GET"; + Requests[239].Request.Path = "/providers/Microsoft.HDInsight/operations"; + Requests[240] = new DefaultHttpContext(); + Requests[240].RequestServices = CreateServices(); + Requests[240].Request.Method = "GET"; + Requests[240].Request.Path = "/providers/Microsoft.ImportExport/locations"; + Requests[241] = new DefaultHttpContext(); + Requests[241].RequestServices = CreateServices(); + Requests[241].Request.Method = "GET"; + Requests[241].Request.Path = "/providers/Microsoft.ImportExport/operations"; + Requests[242] = new DefaultHttpContext(); + Requests[242].RequestServices = CreateServices(); + Requests[242].Request.Method = "GET"; + Requests[242].Request.Path = "/providers/Microsoft.InfrastructureInsights.Admin/operations"; + Requests[243] = new DefaultHttpContext(); + Requests[243].RequestServices = CreateServices(); + Requests[243].Request.Method = "GET"; + Requests[243].Request.Path = "/providers/microsoft.insights/eventcategories"; + Requests[244] = new DefaultHttpContext(); + Requests[244].RequestServices = CreateServices(); + Requests[244].Request.Method = "GET"; + Requests[244].Request.Path = "/providers/microsoft.insights/operations"; + Requests[245] = new DefaultHttpContext(); + Requests[245].RequestServices = CreateServices(); + Requests[245].Request.Method = "GET"; + Requests[245].Request.Path = "/providers/Microsoft.Intune/locations"; + Requests[246] = new DefaultHttpContext(); + Requests[246].RequestServices = CreateServices(); + Requests[246].Request.Method = "GET"; + Requests[246].Request.Path = "/providers/Microsoft.IoTCentral/operations"; + Requests[247] = new DefaultHttpContext(); + Requests[247].RequestServices = CreateServices(); + Requests[247].Request.Method = "GET"; + Requests[247].Request.Path = "/providers/Microsoft.IoTSpaces/operations"; + Requests[248] = new DefaultHttpContext(); + Requests[248].RequestServices = CreateServices(); + Requests[248].Request.Method = "GET"; + Requests[248].Request.Path = "/providers/Microsoft.KeyVault.Admin/operations"; + Requests[249] = new DefaultHttpContext(); + Requests[249].RequestServices = CreateServices(); + Requests[249].Request.Method = "GET"; + Requests[249].Request.Path = "/providers/Microsoft.KeyVault/operations"; + Requests[250] = new DefaultHttpContext(); + Requests[250].RequestServices = CreateServices(); + Requests[250].Request.Method = "GET"; + Requests[250].Request.Path = "/providers/Microsoft.Logic/operations"; + Requests[251] = new DefaultHttpContext(); + Requests[251].RequestServices = CreateServices(); + Requests[251].Request.Method = "GET"; + Requests[251].Request.Path = "/providers/Microsoft.MachineLearning/operations"; + Requests[252] = new DefaultHttpContext(); + Requests[252].RequestServices = CreateServices(); + Requests[252].Request.Method = "GET"; + Requests[252].Request.Path = "/providers/Microsoft.MachineLearningCompute/operations"; + Requests[253] = new DefaultHttpContext(); + Requests[253].RequestServices = CreateServices(); + Requests[253].Request.Method = "GET"; + Requests[253].Request.Path = "/providers/Microsoft.MachineLearningExperimentation/operations"; + Requests[254] = new DefaultHttpContext(); + Requests[254].RequestServices = CreateServices(); + Requests[254].Request.Method = "GET"; + Requests[254].Request.Path = "/providers/Microsoft.MachineLearningServices/operations"; + Requests[255] = new DefaultHttpContext(); + Requests[255].RequestServices = CreateServices(); + Requests[255].Request.Method = "GET"; + Requests[255].Request.Path = "/providers/Microsoft.ManagedIdentity/operations"; + Requests[256] = new DefaultHttpContext(); + Requests[256].RequestServices = CreateServices(); + Requests[256].Request.Method = "POST"; + Requests[256].Request.Path = "/providers/Microsoft.Management/checkNameAvailability"; + Requests[257] = new DefaultHttpContext(); + Requests[257].RequestServices = CreateServices(); + Requests[257].Request.Method = "POST"; + Requests[257].Request.Path = "/providers/Microsoft.Management/getEntities"; + Requests[258] = new DefaultHttpContext(); + Requests[258].RequestServices = CreateServices(); + Requests[258].Request.Method = "GET"; + Requests[258].Request.Path = "/providers/Microsoft.Management/managementGroups"; + Requests[259] = new DefaultHttpContext(); + Requests[259].RequestServices = CreateServices(); + Requests[259].Request.Method = "GET"; + Requests[259].Request.Path = "/providers/Microsoft.Management/operations"; + Requests[260] = new DefaultHttpContext(); + Requests[260].RequestServices = CreateServices(); + Requests[260].Request.Method = "POST"; + Requests[260].Request.Path = "/providers/Microsoft.Management/startTenantBackfill"; + Requests[261] = new DefaultHttpContext(); + Requests[261].RequestServices = CreateServices(); + Requests[261].Request.Method = "POST"; + Requests[261].Request.Path = "/providers/Microsoft.Management/tenantBackfillStatus"; + Requests[262] = new DefaultHttpContext(); + Requests[262].RequestServices = CreateServices(); + Requests[262].Request.Method = "GET"; + Requests[262].Request.Path = "/providers/Microsoft.ManagementPartner/operations"; + Requests[263] = new DefaultHttpContext(); + Requests[263].RequestServices = CreateServices(); + Requests[263].Request.Method = "GET"; + Requests[263].Request.Path = "/providers/Microsoft.Maps/operations"; + Requests[264] = new DefaultHttpContext(); + Requests[264].RequestServices = CreateServices(); + Requests[264].Request.Method = "GET"; + Requests[264].Request.Path = "/providers/Microsoft.MarketplaceOrdering/operations"; + Requests[265] = new DefaultHttpContext(); + Requests[265].RequestServices = CreateServices(); + Requests[265].Request.Method = "GET"; + Requests[265].Request.Path = "/providers/Microsoft.Media/operations"; + Requests[266] = new DefaultHttpContext(); + Requests[266].RequestServices = CreateServices(); + Requests[266].Request.Method = "GET"; + Requests[266].Request.Path = "/providers/Microsoft.Migrate/operations"; + Requests[267] = new DefaultHttpContext(); + Requests[267].RequestServices = CreateServices(); + Requests[267].Request.Method = "POST"; + Requests[267].Request.Path = "/providers/Microsoft.Network/checkTrafficManagerNameAvailability"; + Requests[268] = new DefaultHttpContext(); + Requests[268].RequestServices = CreateServices(); + Requests[268].Request.Method = "GET"; + Requests[268].Request.Path = "/providers/Microsoft.Network/operations"; + Requests[269] = new DefaultHttpContext(); + Requests[269].RequestServices = CreateServices(); + Requests[269].Request.Method = "GET"; + Requests[269].Request.Path = "/providers/Microsoft.NotificationHubs/operations"; + Requests[270] = new DefaultHttpContext(); + Requests[270].RequestServices = CreateServices(); + Requests[270].Request.Method = "GET"; + Requests[270].Request.Path = "/providers/Microsoft.OperationalInsights/operations"; + Requests[271] = new DefaultHttpContext(); + Requests[271].RequestServices = CreateServices(); + Requests[271].Request.Method = "GET"; + Requests[271].Request.Path = "/providers/Microsoft.OperationsManagement/operations"; + Requests[272] = new DefaultHttpContext(); + Requests[272].RequestServices = CreateServices(); + Requests[272].Request.Method = "GET"; + Requests[272].Request.Path = "/providers/Microsoft.PolicyInsights/operations"; + Requests[273] = new DefaultHttpContext(); + Requests[273].RequestServices = CreateServices(); + Requests[273].Request.Method = "GET"; + Requests[273].Request.Path = "/providers/Microsoft.PowerBI/operations"; + Requests[274] = new DefaultHttpContext(); + Requests[274].RequestServices = CreateServices(); + Requests[274].Request.Method = "GET"; + Requests[274].Request.Path = "/providers/Microsoft.PowerBIDedicated/operations"; + Requests[275] = new DefaultHttpContext(); + Requests[275].RequestServices = CreateServices(); + Requests[275].Request.Method = "GET"; + Requests[275].Request.Path = "/providers/Microsoft.RecoveryServices/operations"; + Requests[276] = new DefaultHttpContext(); + Requests[276].RequestServices = CreateServices(); + Requests[276].Request.Method = "GET"; + Requests[276].Request.Path = "/providers/Microsoft.Relay/operations"; + Requests[277] = new DefaultHttpContext(); + Requests[277].RequestServices = CreateServices(); + Requests[277].Request.Method = "GET"; + Requests[277].Request.Path = "/providers/Microsoft.ResourceHealth/operations"; + Requests[278] = new DefaultHttpContext(); + Requests[278].RequestServices = CreateServices(); + Requests[278].Request.Method = "GET"; + Requests[278].Request.Path = "/providers/Microsoft.Search/operations"; + Requests[279] = new DefaultHttpContext(); + Requests[279].RequestServices = CreateServices(); + Requests[279].Request.Method = "GET"; + Requests[279].Request.Path = "/providers/Microsoft.Security/operations"; + Requests[280] = new DefaultHttpContext(); + Requests[280].RequestServices = CreateServices(); + Requests[280].Request.Method = "GET"; + Requests[280].Request.Path = "/providers/Microsoft.ServiceBus/operations"; + Requests[281] = new DefaultHttpContext(); + Requests[281].RequestServices = CreateServices(); + Requests[281].Request.Method = "GET"; + Requests[281].Request.Path = "/providers/Microsoft.ServiceFabric/operations"; + Requests[282] = new DefaultHttpContext(); + Requests[282].RequestServices = CreateServices(); + Requests[282].Request.Method = "GET"; + Requests[282].Request.Path = "/providers/Microsoft.SignalRService/operations"; + Requests[283] = new DefaultHttpContext(); + Requests[283].RequestServices = CreateServices(); + Requests[283].Request.Method = "GET"; + Requests[283].Request.Path = "/providers/Microsoft.Sql/operations"; + Requests[284] = new DefaultHttpContext(); + Requests[284].RequestServices = CreateServices(); + Requests[284].Request.Method = "GET"; + Requests[284].Request.Path = "/providers/Microsoft.Storage.Admin/operations"; + Requests[285] = new DefaultHttpContext(); + Requests[285].RequestServices = CreateServices(); + Requests[285].Request.Method = "GET"; + Requests[285].Request.Path = "/providers/Microsoft.Storage/operations"; + Requests[286] = new DefaultHttpContext(); + Requests[286].RequestServices = CreateServices(); + Requests[286].Request.Method = "GET"; + Requests[286].Request.Path = "/providers/Microsoft.StorSimple/operations"; + Requests[287] = new DefaultHttpContext(); + Requests[287].RequestServices = CreateServices(); + Requests[287].Request.Method = "GET"; + Requests[287].Request.Path = "/providers/Microsoft.StreamAnalytics/operations"; + Requests[288] = new DefaultHttpContext(); + Requests[288].RequestServices = CreateServices(); + Requests[288].Request.Method = "GET"; + Requests[288].Request.Path = "/providers/Microsoft.Subscription/operations"; + Requests[289] = new DefaultHttpContext(); + Requests[289].RequestServices = CreateServices(); + Requests[289].Request.Method = "GET"; + Requests[289].Request.Path = "/providers/Microsoft.Subscription/subscriptionDefinitions"; + Requests[290] = new DefaultHttpContext(); + Requests[290].RequestServices = CreateServices(); + Requests[290].Request.Method = "GET"; + Requests[290].Request.Path = "/providers/Microsoft.Subscription/subscriptionOperations"; + Requests[291] = new DefaultHttpContext(); + Requests[291].RequestServices = CreateServices(); + Requests[291].Request.Method = "GET"; + Requests[291].Request.Path = "/providers/Microsoft.Subscriptions.Admin/operations"; + Requests[292] = new DefaultHttpContext(); + Requests[292].RequestServices = CreateServices(); + Requests[292].Request.Method = "GET"; + Requests[292].Request.Path = "/providers/Microsoft.Subscriptions/operations"; + Requests[293] = new DefaultHttpContext(); + Requests[293].RequestServices = CreateServices(); + Requests[293].Request.Method = "GET"; + Requests[293].Request.Path = "/providers/Microsoft.TimeSeriesInsights/operations"; + Requests[294] = new DefaultHttpContext(); + Requests[294].RequestServices = CreateServices(); + Requests[294].Request.Method = "GET"; + Requests[294].Request.Path = "/providers/Microsoft.Update.Admin/operations"; + Requests[295] = new DefaultHttpContext(); + Requests[295].RequestServices = CreateServices(); + Requests[295].Request.Method = "GET"; + Requests[295].Request.Path = "/providers/microsoft.visualstudio/operations"; + Requests[296] = new DefaultHttpContext(); + Requests[296].RequestServices = CreateServices(); + Requests[296].Request.Method = "GET"; + Requests[296].Request.Path = "/providers/Microsoft.Web/availableStacks"; + Requests[297] = new DefaultHttpContext(); + Requests[297].RequestServices = CreateServices(); + Requests[297].Request.Method = "GET"; + Requests[297].Request.Path = "/providers/Microsoft.Web/operations"; + Requests[298] = new DefaultHttpContext(); + Requests[298].RequestServices = CreateServices(); + Requests[298].Request.Method = "GET"; + Requests[298].Request.Path = "/providers/Microsoft.Web/sourcecontrols"; + Requests[299] = new DefaultHttpContext(); + Requests[299].RequestServices = CreateServices(); + Requests[299].Request.Method = "GET"; + Requests[299].Request.Path = "/Tools/Chaos/Events"; + Requests[300] = new DefaultHttpContext(); + Requests[300].RequestServices = CreateServices(); + Requests[300].Request.Method = "GET"; + Requests[300].Request.Path = "/Tools/Chaos/Schedule"; + Requests[301] = new DefaultHttpContext(); + Requests[301].RequestServices = CreateServices(); + Requests[301].Request.Method = "POST"; + Requests[301].Request.Path = "/Tools/Chaos/Schedule"; + Requests[302] = new DefaultHttpContext(); + Requests[302].RequestServices = CreateServices(); + Requests[302].Request.Method = "POST"; + Requests[302].Request.Path = "/BackupRestore/BackupPolicies/$/Create"; + Requests[303] = new DefaultHttpContext(); + Requests[303].RequestServices = CreateServices(); + Requests[303].Request.Method = "POST"; + Requests[303].Request.Path = "/contentmoderator/lists/v1.0/imagelists"; + Requests[304] = new DefaultHttpContext(); + Requests[304].RequestServices = CreateServices(); + Requests[304].Request.Method = "GET"; + Requests[304].Request.Path = "/contentmoderator/lists/v1.0/imagelists"; + Requests[305] = new DefaultHttpContext(); + Requests[305].RequestServices = CreateServices(); + Requests[305].Request.Method = "GET"; + Requests[305].Request.Path = "/contentmoderator/lists/v1.0/termlists"; + Requests[306] = new DefaultHttpContext(); + Requests[306].RequestServices = CreateServices(); + Requests[306].Request.Method = "POST"; + Requests[306].Request.Path = "/contentmoderator/lists/v1.0/termlists"; + Requests[307] = new DefaultHttpContext(); + Requests[307].RequestServices = CreateServices(); + Requests[307].Request.Method = "GET"; + Requests[307].Request.Path = "/providers/Microsoft.ADHybridHealthService/addsservices/premiumCheck"; + Requests[308] = new DefaultHttpContext(); + Requests[308].RequestServices = CreateServices(); + Requests[308].Request.Method = "GET"; + Requests[308].Request.Path = "/providers/Microsoft.ADHybridHealthService/services/premiumCheck"; + Requests[309] = new DefaultHttpContext(); + Requests[309].RequestServices = CreateServices(); + Requests[309].Request.Method = "GET"; + Requests[309].Request.Path = "/providers/Microsoft.BotService/botServices/checkNameAvailability"; + Requests[310] = new DefaultHttpContext(); + Requests[310].RequestServices = CreateServices(); + Requests[310].Request.Method = "GET"; + Requests[310].Request.Path = "/providers/Microsoft.Intune/locations/hostName"; + Requests[311] = new DefaultHttpContext(); + Requests[311].RequestServices = CreateServices(); + Requests[311].Request.Method = "GET"; + Requests[311].Request.Path = "/providers/Microsoft.Network/trafficManagerGeographicHierarchies/default"; + Requests[312] = new DefaultHttpContext(); + Requests[312].RequestServices = CreateServices(); + Requests[312].Request.Method = "PUT"; + Requests[312].Request.Path = "/providers/Microsoft.Web/publishingUsers/web"; + Requests[313] = new DefaultHttpContext(); + Requests[313].RequestServices = CreateServices(); + Requests[313].Request.Method = "GET"; + Requests[313].Request.Path = "/providers/Microsoft.Web/publishingUsers/web"; + Requests[314] = new DefaultHttpContext(); + Requests[314].RequestServices = CreateServices(); + Requests[314].Request.Method = "GET"; + Requests[314].Request.Path = "/Tools/Chaos/$/Report"; + Requests[315] = new DefaultHttpContext(); + Requests[315].RequestServices = CreateServices(); + Requests[315].Request.Method = "POST"; + Requests[315].Request.Path = "/Tools/Chaos/$/Start"; + Requests[316] = new DefaultHttpContext(); + Requests[316].RequestServices = CreateServices(); + Requests[316].Request.Method = "POST"; + Requests[316].Request.Path = "/Tools/Chaos/$/Stop"; + Requests[317] = new DefaultHttpContext(); + Requests[317].RequestServices = CreateServices(); + Requests[317].Request.Method = "POST"; + Requests[317].Request.Path = "/contentmoderator/moderate/v1.0/ProcessImage/Evaluate"; + Requests[318] = new DefaultHttpContext(); + Requests[318].RequestServices = CreateServices(); + Requests[318].Request.Method = "POST"; + Requests[318].Request.Path = "/contentmoderator/moderate/v1.0/ProcessImage/FindFaces"; + Requests[319] = new DefaultHttpContext(); + Requests[319].RequestServices = CreateServices(); + Requests[319].Request.Method = "POST"; + Requests[319].Request.Path = "/contentmoderator/moderate/v1.0/ProcessImage/Match"; + Requests[320] = new DefaultHttpContext(); + Requests[320].RequestServices = CreateServices(); + Requests[320].Request.Method = "POST"; + Requests[320].Request.Path = "/contentmoderator/moderate/v1.0/ProcessImage/OCR"; + Requests[321] = new DefaultHttpContext(); + Requests[321].RequestServices = CreateServices(); + Requests[321].Request.Method = "POST"; + Requests[321].Request.Path = "/contentmoderator/moderate/v1.0/ProcessText/DetectLanguage"; + Requests[322] = new DefaultHttpContext(); + Requests[322].RequestServices = CreateServices(); + Requests[322].Request.Method = "POST"; + Requests[322].Request.Path = "/contentmoderator/moderate/v1.0/ProcessText/Screen"; + Requests[323] = new DefaultHttpContext(); + Requests[323].RequestServices = CreateServices(); + Requests[323].Request.Method = "GET"; + Requests[323].Request.Path = "/providers/microsoft.insights/eventtypes/management/values"; + Requests[324] = new DefaultHttpContext(); + Requests[324].RequestServices = CreateServices(); + Requests[324].Request.Method = "GET"; + Requests[324].Request.Path = "/contentmoderator/lists/v1.0/imagelists/25aa61"; + Requests[325] = new DefaultHttpContext(); + Requests[325].RequestServices = CreateServices(); + Requests[325].Request.Method = "PUT"; + Requests[325].Request.Path = "/contentmoderator/lists/v1.0/imagelists/0dcf18"; + Requests[326] = new DefaultHttpContext(); + Requests[326].RequestServices = CreateServices(); + Requests[326].Request.Method = "DELETE"; + Requests[326].Request.Path = "/contentmoderator/lists/v1.0/imagelists/4e479e"; + Requests[327] = new DefaultHttpContext(); + Requests[327].RequestServices = CreateServices(); + Requests[327].Request.Method = "GET"; + Requests[327].Request.Path = "/contentmoderator/lists/v1.0/termlists/2fba04"; + Requests[328] = new DefaultHttpContext(); + Requests[328].RequestServices = CreateServices(); + Requests[328].Request.Method = "DELETE"; + Requests[328].Request.Path = "/contentmoderator/lists/v1.0/termlists/6f112d"; + Requests[329] = new DefaultHttpContext(); + Requests[329].RequestServices = CreateServices(); + Requests[329].Request.Method = "PUT"; + Requests[329].Request.Path = "/contentmoderator/lists/v1.0/termlists/2704d5"; + Requests[330] = new DefaultHttpContext(); + Requests[330].RequestServices = CreateServices(); + Requests[330].Request.Method = "POST"; + Requests[330].Request.Path = "/contentmoderator/lists/v1.0/imagelists/413be3/images"; + Requests[331] = new DefaultHttpContext(); + Requests[331].RequestServices = CreateServices(); + Requests[331].Request.Method = "GET"; + Requests[331].Request.Path = "/contentmoderator/lists/v1.0/imagelists/46b449/images"; + Requests[332] = new DefaultHttpContext(); + Requests[332].RequestServices = CreateServices(); + Requests[332].Request.Method = "DELETE"; + Requests[332].Request.Path = "/contentmoderator/lists/v1.0/imagelists/9e2d1f/images"; + Requests[333] = new DefaultHttpContext(); + Requests[333].RequestServices = CreateServices(); + Requests[333].Request.Method = "POST"; + Requests[333].Request.Path = "/contentmoderator/lists/v1.0/imagelists/32b297/RefreshIndex"; + Requests[334] = new DefaultHttpContext(); + Requests[334].RequestServices = CreateServices(); + Requests[334].Request.Method = "POST"; + Requests[334].Request.Path = "/contentmoderator/lists/v1.0/termlists/4768ab/RefreshIndex"; + Requests[335] = new DefaultHttpContext(); + Requests[335].RequestServices = CreateServices(); + Requests[335].Request.Method = "GET"; + Requests[335].Request.Path = "/contentmoderator/lists/v1.0/termlists/3e9c6e/terms"; + Requests[336] = new DefaultHttpContext(); + Requests[336].RequestServices = CreateServices(); + Requests[336].Request.Method = "DELETE"; + Requests[336].Request.Path = "/contentmoderator/lists/v1.0/termlists/efd19d/terms"; + Requests[337] = new DefaultHttpContext(); + Requests[337].RequestServices = CreateServices(); + Requests[337].Request.Method = "POST"; + Requests[337].Request.Path = "/contentmoderator/review/v1.0/teams/d31cc2d7/jobs"; + Requests[338] = new DefaultHttpContext(); + Requests[338].RequestServices = CreateServices(); + Requests[338].Request.Method = "POST"; + Requests[338].Request.Path = "/contentmoderator/review/v1.0/teams/751e507c/reviews"; + Requests[339] = new DefaultHttpContext(); + Requests[339].RequestServices = CreateServices(); + Requests[339].Request.Method = "DELETE"; + Requests[339].Request.Path = "/contentmoderator/lists/v1.0/imagelists/f7b4a3/images/f12b023"; + Requests[340] = new DefaultHttpContext(); + Requests[340].RequestServices = CreateServices(); + Requests[340].Request.Method = "POST"; + Requests[340].Request.Path = "/contentmoderator/lists/v1.0/termlists/aa1aa0/terms/a9b7c"; + Requests[341] = new DefaultHttpContext(); + Requests[341].RequestServices = CreateServices(); + Requests[341].Request.Method = "DELETE"; + Requests[341].Request.Path = "/contentmoderator/lists/v1.0/termlists/f3f417/terms/35bb6"; + Requests[342] = new DefaultHttpContext(); + Requests[342].RequestServices = CreateServices(); + Requests[342].Request.Method = "GET"; + Requests[342].Request.Path = "/contentmoderator/review/v1.0/teams/fc285269/jobs/c79da"; + Requests[343] = new DefaultHttpContext(); + Requests[343].RequestServices = CreateServices(); + Requests[343].Request.Method = "GET"; + Requests[343].Request.Path = "/contentmoderator/review/v1.0/teams/0e6abeaf/reviews/7dd8ffd8"; + Requests[344] = new DefaultHttpContext(); + Requests[344].RequestServices = CreateServices(); + Requests[344].Request.Method = "POST"; + Requests[344].Request.Path = "/contentmoderator/review/v1.0/teams/693bebc4/reviews/ea3553ca/frames"; + Requests[345] = new DefaultHttpContext(); + Requests[345].RequestServices = CreateServices(); + Requests[345].Request.Method = "GET"; + Requests[345].Request.Path = "/contentmoderator/review/v1.0/teams/7a0e3357/reviews/36ae2d30/frames"; + Requests[346] = new DefaultHttpContext(); + Requests[346].RequestServices = CreateServices(); + Requests[346].Request.Method = "POST"; + Requests[346].Request.Path = "/contentmoderator/review/v1.0/teams/5048e6f1/reviews/489585ff/publish"; + Requests[347] = new DefaultHttpContext(); + Requests[347].RequestServices = CreateServices(); + Requests[347].Request.Method = "PUT"; + Requests[347].Request.Path = "/contentmoderator/review/v1.0/teams/53354982/reviews/d7f03610/transcript"; + Requests[348] = new DefaultHttpContext(); + Requests[348].RequestServices = CreateServices(); + Requests[348].Request.Method = "PUT"; + Requests[348].Request.Path = "/contentmoderator/review/v1.0/teams/eb87ce25/reviews/998117ed/transcriptmoderationresult"; + Requests[349] = new DefaultHttpContext(); + Requests[349].RequestServices = CreateServices(); + Requests[349].Request.Method = "GET"; + Requests[349].Request.Path = "/catalog/usql/databases/93692dd6-f87"; + Requests[350] = new DefaultHttpContext(); + Requests[350].RequestServices = CreateServices(); + Requests[350].Request.Method = "GET"; + Requests[350].Request.Path = "/providers/Microsoft.ADHybridHealthService/addsservices/f5ff924c-f8"; + Requests[351] = new DefaultHttpContext(); + Requests[351].RequestServices = CreateServices(); + Requests[351].Request.Method = "PATCH"; + Requests[351].Request.Path = "/providers/Microsoft.ADHybridHealthService/addsservices/b9c7be79-aa"; + Requests[352] = new DefaultHttpContext(); + Requests[352].RequestServices = CreateServices(); + Requests[352].Request.Method = "DELETE"; + Requests[352].Request.Path = "/providers/Microsoft.ADHybridHealthService/addsservices/1c9a239f-e0"; + Requests[353] = new DefaultHttpContext(); + Requests[353].RequestServices = CreateServices(); + Requests[353].Request.Method = "PATCH"; + Requests[353].Request.Path = "/providers/Microsoft.ADHybridHealthService/services/484449f9-f3"; + Requests[354] = new DefaultHttpContext(); + Requests[354].RequestServices = CreateServices(); + Requests[354].Request.Method = "DELETE"; + Requests[354].Request.Path = "/providers/Microsoft.ADHybridHealthService/services/1d7b7ad3-9e"; + Requests[355] = new DefaultHttpContext(); + Requests[355].RequestServices = CreateServices(); + Requests[355].Request.Method = "GET"; + Requests[355].Request.Path = "/providers/Microsoft.ADHybridHealthService/services/7d9fc8a3-1a"; + Requests[356] = new DefaultHttpContext(); + Requests[356].RequestServices = CreateServices(); + Requests[356].Request.Method = "GET"; + Requests[356].Request.Path = "/providers/Microsoft.Authorization/policyDefinitions/c47668b4-df1d-4131-9"; + Requests[357] = new DefaultHttpContext(); + Requests[357].RequestServices = CreateServices(); + Requests[357].Request.Method = "GET"; + Requests[357].Request.Path = "/providers/Microsoft.Authorization/policySetDefinitions/ab27ed95-271e-469b-82fb"; + Requests[358] = new DefaultHttpContext(); + Requests[358].RequestServices = CreateServices(); + Requests[358].Request.Method = "GET"; + Requests[358].Request.Path = "/providers/Microsoft.Authorization/providerOperations/cfb3f171-01e4-42f4-892e-5"; + Requests[359] = new DefaultHttpContext(); + Requests[359].RequestServices = CreateServices(); + Requests[359].Request.Method = "GET"; + Requests[359].Request.Path = "/providers/Microsoft.Billing/enrollmentAccounts/df588"; + Requests[360] = new DefaultHttpContext(); + Requests[360].RequestServices = CreateServices(); + Requests[360].Request.Method = "GET"; + Requests[360].Request.Path = "/providers/Microsoft.Capacity/reservationOrders/b391d0ba-6d11-4092"; + Requests[361] = new DefaultHttpContext(); + Requests[361].RequestServices = CreateServices(); + Requests[361].Request.Method = "HEAD"; + Requests[361].Request.Path = "/providers/Microsoft.DocumentDB/databaseAccountNames/2288d58c-0b"; + Requests[362] = new DefaultHttpContext(); + Requests[362].RequestServices = CreateServices(); + Requests[362].Request.Method = "GET"; + Requests[362].Request.Path = "/providers/Microsoft.EventGrid/topicTypes/c431ed5b-7f58"; + Requests[363] = new DefaultHttpContext(); + Requests[363].RequestServices = CreateServices(); + Requests[363].Request.Method = "GET"; + Requests[363].Request.Path = "/providers/Microsoft.ImportExport/locations/08942aa9-146"; + Requests[364] = new DefaultHttpContext(); + Requests[364].RequestServices = CreateServices(); + Requests[364].Request.Method = "GET"; + Requests[364].Request.Path = "/providers/Microsoft.Management/managementGroups/a8fb179"; + Requests[365] = new DefaultHttpContext(); + Requests[365].RequestServices = CreateServices(); + Requests[365].Request.Method = "PUT"; + Requests[365].Request.Path = "/providers/Microsoft.Management/managementGroups/77e200d"; + Requests[366] = new DefaultHttpContext(); + Requests[366].RequestServices = CreateServices(); + Requests[366].Request.Method = "PATCH"; + Requests[366].Request.Path = "/providers/Microsoft.Management/managementGroups/bb9e50d"; + Requests[367] = new DefaultHttpContext(); + Requests[367].RequestServices = CreateServices(); + Requests[367].Request.Method = "DELETE"; + Requests[367].Request.Path = "/providers/Microsoft.Management/managementGroups/1adf866"; + Requests[368] = new DefaultHttpContext(); + Requests[368].RequestServices = CreateServices(); + Requests[368].Request.Method = "GET"; + Requests[368].Request.Path = "/providers/Microsoft.ManagementPartner/partners/5f9118fe-"; + Requests[369] = new DefaultHttpContext(); + Requests[369].RequestServices = CreateServices(); + Requests[369].Request.Method = "DELETE"; + Requests[369].Request.Path = "/providers/Microsoft.ManagementPartner/partners/4005a6a8-"; + Requests[370] = new DefaultHttpContext(); + Requests[370].RequestServices = CreateServices(); + Requests[370].Request.Method = "PUT"; + Requests[370].Request.Path = "/providers/Microsoft.ManagementPartner/partners/c3fb95a7-"; + Requests[371] = new DefaultHttpContext(); + Requests[371].RequestServices = CreateServices(); + Requests[371].Request.Method = "PATCH"; + Requests[371].Request.Path = "/providers/Microsoft.ManagementPartner/partners/932703a1-"; + Requests[372] = new DefaultHttpContext(); + Requests[372].RequestServices = CreateServices(); + Requests[372].Request.Method = "GET"; + Requests[372].Request.Path = "/providers/Microsoft.Subscription/subscriptionDefinitions/4396a9c7-d3fd-4dac-bdb0-ef"; + Requests[373] = new DefaultHttpContext(); + Requests[373].RequestServices = CreateServices(); + Requests[373].Request.Method = "PUT"; + Requests[373].Request.Path = "/providers/Microsoft.Subscription/subscriptionDefinitions/207eb2dd-c9c8-4458-afa6-a6"; + Requests[374] = new DefaultHttpContext(); + Requests[374].RequestServices = CreateServices(); + Requests[374].Request.Method = "GET"; + Requests[374].Request.Path = "/providers/Microsoft.Subscription/subscriptionOperations/3bab0549-0d"; + Requests[375] = new DefaultHttpContext(); + Requests[375].RequestServices = CreateServices(); + Requests[375].Request.Method = "PUT"; + Requests[375].Request.Path = "/providers/Microsoft.Web/sourcecontrols/b18cc219-f067-4f0"; + Requests[376] = new DefaultHttpContext(); + Requests[376].RequestServices = CreateServices(); + Requests[376].Request.Method = "GET"; + Requests[376].Request.Path = "/providers/Microsoft.Web/sourcecontrols/a7099740-741a-473"; + Requests[377] = new DefaultHttpContext(); + Requests[377].RequestServices = CreateServices(); + Requests[377].Request.Method = "GET"; + Requests[377].Request.Path = "/catalog/usql/databases/8d9d68e1-2df/acl"; + Requests[378] = new DefaultHttpContext(); + Requests[378].RequestServices = CreateServices(); + Requests[378].Request.Method = "GET"; + Requests[378].Request.Path = "/catalog/usql/databases/2f7e76be-d8b/assemblies"; + Requests[379] = new DefaultHttpContext(); + Requests[379].RequestServices = CreateServices(); + Requests[379].Request.Method = "GET"; + Requests[379].Request.Path = "/catalog/usql/databases/4278cafa-37e/credentials"; + Requests[380] = new DefaultHttpContext(); + Requests[380].RequestServices = CreateServices(); + Requests[380].Request.Method = "GET"; + Requests[380].Request.Path = "/catalog/usql/databases/3d494e04-a84/externaldatasources"; + Requests[381] = new DefaultHttpContext(); + Requests[381].RequestServices = CreateServices(); + Requests[381].Request.Method = "GET"; + Requests[381].Request.Path = "/catalog/usql/databases/80427fc0-9f1/schemas"; + Requests[382] = new DefaultHttpContext(); + Requests[382].RequestServices = CreateServices(); + Requests[382].Request.Method = "DELETE"; + Requests[382].Request.Path = "/catalog/usql/databases/c40247c2-546/secrets"; + Requests[383] = new DefaultHttpContext(); + Requests[383].RequestServices = CreateServices(); + Requests[383].Request.Method = "GET"; + Requests[383].Request.Path = "/catalog/usql/databases/7275f9ee-ae4/statistics"; + Requests[384] = new DefaultHttpContext(); + Requests[384].RequestServices = CreateServices(); + Requests[384].Request.Method = "GET"; + Requests[384].Request.Path = "/catalog/usql/databases/1cf4a5b3-8d5/tables"; + Requests[385] = new DefaultHttpContext(); + Requests[385].RequestServices = CreateServices(); + Requests[385].Request.Method = "GET"; + Requests[385].Request.Path = "/catalog/usql/databases/5fcfc12a-323/tablevaluedfunctions"; + Requests[386] = new DefaultHttpContext(); + Requests[386].RequestServices = CreateServices(); + Requests[386].Request.Method = "GET"; + Requests[386].Request.Path = "/catalog/usql/databases/8ff06c64-ad9/views"; + Requests[387] = new DefaultHttpContext(); + Requests[387].RequestServices = CreateServices(); + Requests[387].Request.Method = "GET"; + Requests[387].Request.Path = "/providers/Microsoft.ADHybridHealthService/addsservices/940de8c0-f2/addomainservicemembers"; + Requests[388] = new DefaultHttpContext(); + Requests[388].RequestServices = CreateServices(); + Requests[388].Request.Method = "GET"; + Requests[388].Request.Path = "/providers/Microsoft.ADHybridHealthService/addsservices/21d35358-a9/addsservicemembers"; + Requests[389] = new DefaultHttpContext(); + Requests[389].RequestServices = CreateServices(); + Requests[389].Request.Method = "GET"; + Requests[389].Request.Path = "/providers/Microsoft.ADHybridHealthService/addsservices/fed58734-2e/alerts"; + Requests[390] = new DefaultHttpContext(); + Requests[390].RequestServices = CreateServices(); + Requests[390].Request.Method = "GET"; + Requests[390].Request.Path = "/providers/Microsoft.ADHybridHealthService/addsservices/d02246e9-f7/configuration"; + Requests[391] = new DefaultHttpContext(); + Requests[391].RequestServices = CreateServices(); + Requests[391].Request.Method = "GET"; + Requests[391].Request.Path = "/providers/Microsoft.ADHybridHealthService/addsservices/392e98c5-d2/forestsummary"; + Requests[392] = new DefaultHttpContext(); + Requests[392].RequestServices = CreateServices(); + Requests[392].Request.Method = "GET"; + Requests[392].Request.Path = "/providers/Microsoft.ADHybridHealthService/addsservices/e48a65d6-f9/metricmetadata"; + Requests[393] = new DefaultHttpContext(); + Requests[393].RequestServices = CreateServices(); + Requests[393].Request.Method = "GET"; + Requests[393].Request.Path = "/providers/Microsoft.ADHybridHealthService/addsservices/54621a83-0a/replicationstatus"; + Requests[394] = new DefaultHttpContext(); + Requests[394].RequestServices = CreateServices(); + Requests[394].Request.Method = "GET"; + Requests[394].Request.Path = "/providers/Microsoft.ADHybridHealthService/addsservices/5e118514-fd/replicationsummary"; + Requests[395] = new DefaultHttpContext(); + Requests[395].RequestServices = CreateServices(); + Requests[395].Request.Method = "GET"; + Requests[395].Request.Path = "/providers/Microsoft.ADHybridHealthService/services/26af5da8-21/alerts"; + Requests[396] = new DefaultHttpContext(); + Requests[396].RequestServices = CreateServices(); + Requests[396].Request.Method = "GET"; + Requests[396].Request.Path = "/providers/Microsoft.ADHybridHealthService/services/6691379d-1f/exportstatus"; + Requests[397] = new DefaultHttpContext(); + Requests[397].RequestServices = CreateServices(); + Requests[397].Request.Method = "GET"; + Requests[397].Request.Path = "/providers/Microsoft.ADHybridHealthService/services/3ed12a22-74/metricmetadata"; + Requests[398] = new DefaultHttpContext(); + Requests[398].RequestServices = CreateServices(); + Requests[398].Request.Method = "PATCH"; + Requests[398].Request.Path = "/providers/Microsoft.ADHybridHealthService/services/28cd7a5e-58/monitoringconfiguration"; + Requests[399] = new DefaultHttpContext(); + Requests[399].RequestServices = CreateServices(); + Requests[399].Request.Method = "GET"; + Requests[399].Request.Path = "/providers/Microsoft.ADHybridHealthService/services/34605a3e-ba/monitoringconfigurations"; + Requests[400] = new DefaultHttpContext(); + Requests[400].RequestServices = CreateServices(); + Requests[400].Request.Method = "GET"; + Requests[400].Request.Path = "/providers/Microsoft.ADHybridHealthService/services/2baef7ac-c7/servicemembers"; + Requests[401] = new DefaultHttpContext(); + Requests[401].RequestServices = CreateServices(); + Requests[401].Request.Method = "POST"; + Requests[401].Request.Path = "/providers/Microsoft.ADHybridHealthService/services/aa95fd42-74/servicemembers"; + Requests[402] = new DefaultHttpContext(); + Requests[402].RequestServices = CreateServices(); + Requests[402].Request.Method = "POST"; + Requests[402].Request.Path = "/providers/Microsoft.Capacity/reservationOrders/155b0c82-c90f-4214/merge"; + Requests[403] = new DefaultHttpContext(); + Requests[403].RequestServices = CreateServices(); + Requests[403].Request.Method = "GET"; + Requests[403].Request.Path = "/providers/Microsoft.Capacity/reservationOrders/0b4c03f2-9cab-44af/reservations"; + Requests[404] = new DefaultHttpContext(); + Requests[404].RequestServices = CreateServices(); + Requests[404].Request.Method = "POST"; + Requests[404].Request.Path = "/providers/Microsoft.Capacity/reservationOrders/b687eba5-3577-4be3/split"; + Requests[405] = new DefaultHttpContext(); + Requests[405].RequestServices = CreateServices(); + Requests[405].Request.Method = "GET"; + Requests[405].Request.Path = "/providers/Microsoft.EventGrid/topicTypes/377c6660-948c/eventTypes"; + Requests[406] = new DefaultHttpContext(); + Requests[406].RequestServices = CreateServices(); + Requests[406].Request.Method = "GET"; + Requests[406].Request.Path = "/providers/Microsoft.Intune/locations/388062e4/androidPolicies"; + Requests[407] = new DefaultHttpContext(); + Requests[407].RequestServices = CreateServices(); + Requests[407].Request.Method = "GET"; + Requests[407].Request.Path = "/providers/Microsoft.Intune/locations/b205c42c/apps"; + Requests[408] = new DefaultHttpContext(); + Requests[408].RequestServices = CreateServices(); + Requests[408].Request.Method = "GET"; + Requests[408].Request.Path = "/providers/Microsoft.Intune/locations/91df0de5/flaggedUsers"; + Requests[409] = new DefaultHttpContext(); + Requests[409].RequestServices = CreateServices(); + Requests[409].Request.Method = "GET"; + Requests[409].Request.Path = "/providers/Microsoft.Intune/locations/ea0ec772/iosPolicies"; + Requests[410] = new DefaultHttpContext(); + Requests[410].RequestServices = CreateServices(); + Requests[410].Request.Method = "GET"; + Requests[410].Request.Path = "/providers/Microsoft.Intune/locations/b20b8976/operationResults"; + Requests[411] = new DefaultHttpContext(); + Requests[411].RequestServices = CreateServices(); + Requests[411].Request.Method = "GET"; + Requests[411].Request.Path = "/providers/Microsoft.ADHybridHealthService/services/6ea17143-34/exporterrors/counts"; + Requests[412] = new DefaultHttpContext(); + Requests[412].RequestServices = CreateServices(); + Requests[412].Request.Method = "GET"; + Requests[412].Request.Path = "/providers/Microsoft.ADHybridHealthService/services/ff073b5e-a9/exporterrors/listV2"; + Requests[413] = new DefaultHttpContext(); + Requests[413].RequestServices = CreateServices(); + Requests[413].Request.Method = "GET"; + Requests[413].Request.Path = "/providers/Microsoft.Intune/locations/a8d648a7/statuses/default"; + Requests[414] = new DefaultHttpContext(); + Requests[414].RequestServices = CreateServices(); + Requests[414].Request.Method = "POST"; + Requests[414].Request.Path = "/providers/Microsoft.ADHybridHealthService/services/ade1b803-23/feedbacktype/alerts/feedback"; + Requests[415] = new DefaultHttpContext(); + Requests[415].RequestServices = CreateServices(); + Requests[415].Request.Method = "GET"; + Requests[415].Request.Path = "/providers/Microsoft.Billing/billingAccounts/ccae3b9c-b2c5-4f/providers/Microsoft.Consumption/balances"; + Requests[416] = new DefaultHttpContext(); + Requests[416].RequestServices = CreateServices(); + Requests[416].Request.Method = "PUT"; + Requests[416].Request.Path = "/providers/Microsoft.Billing/billingAccounts/c524e916-836f-40/providers/Microsoft.Consumption/costTags"; + Requests[417] = new DefaultHttpContext(); + Requests[417].RequestServices = CreateServices(); + Requests[417].Request.Method = "GET"; + Requests[417].Request.Path = "/providers/Microsoft.Billing/billingAccounts/51071c3e-8bf2-4f/providers/Microsoft.Consumption/costTags"; + Requests[418] = new DefaultHttpContext(); + Requests[418].RequestServices = CreateServices(); + Requests[418].Request.Method = "GET"; + Requests[418].Request.Path = "/providers/Microsoft.Billing/billingAccounts/9191b4ed-4d7f-49/providers/Microsoft.Consumption/marketplaces"; + Requests[419] = new DefaultHttpContext(); + Requests[419].RequestServices = CreateServices(); + Requests[419].Request.Method = "GET"; + Requests[419].Request.Path = "/providers/Microsoft.Billing/billingAccounts/96fe9ee3-1324-4f/providers/Microsoft.Consumption/usageDetails"; + Requests[420] = new DefaultHttpContext(); + Requests[420].RequestServices = CreateServices(); + Requests[420].Request.Method = "GET"; + Requests[420].Request.Path = "/providers/Microsoft.Billing/departments/05450b32-c5c/providers/Microsoft.Consumption/marketplaces"; + Requests[421] = new DefaultHttpContext(); + Requests[421].RequestServices = CreateServices(); + Requests[421].Request.Method = "GET"; + Requests[421].Request.Path = "/providers/Microsoft.Billing/departments/12f104fa-b3f/providers/Microsoft.Consumption/usageDetails"; + Requests[422] = new DefaultHttpContext(); + Requests[422].RequestServices = CreateServices(); + Requests[422].Request.Method = "GET"; + Requests[422].Request.Path = "/providers/Microsoft.Billing/enrollmentAccounts/afb11455-5f8e-4532-/providers/Microsoft.Consumption/marketplaces"; + Requests[423] = new DefaultHttpContext(); + Requests[423].RequestServices = CreateServices(); + Requests[423].Request.Method = "GET"; + Requests[423].Request.Path = "/providers/Microsoft.Billing/enrollmentAccounts/944c41e1-4e05-43be-/providers/Microsoft.Consumption/usageDetails"; + Requests[424] = new DefaultHttpContext(); + Requests[424].RequestServices = CreateServices(); + Requests[424].Request.Method = "POST"; + Requests[424].Request.Path = "/providers/Microsoft.Billing/enrollmentAccounts/f3ac579a-45b5-4527-8d/providers/Microsoft.Subscription/createSubscription"; + Requests[425] = new DefaultHttpContext(); + Requests[425].RequestServices = CreateServices(); + Requests[425].Request.Method = "GET"; + Requests[425].Request.Path = "/providers/Microsoft.Capacity/reservationorders/7a202111-b6ac-490a/providers/Microsoft.Consumption/reservationDetails"; + Requests[426] = new DefaultHttpContext(); + Requests[426].RequestServices = CreateServices(); + Requests[426].Request.Method = "GET"; + Requests[426].Request.Path = "/providers/Microsoft.Capacity/reservationorders/55284163-f97a-4619/providers/Microsoft.Consumption/reservationSummaries"; + Requests[427] = new DefaultHttpContext(); + Requests[427].RequestServices = CreateServices(); + Requests[427].Request.Method = "GET"; + Requests[427].Request.Path = "/providers/Microsoft.CostManagement/billingAccounts/2fd5f886-94d1-4a/providers/Microsoft.Consumption/tags"; + Requests[428] = new DefaultHttpContext(); + Requests[428].RequestServices = CreateServices(); + Requests[428].Request.Method = "GET"; + Requests[428].Request.Path = "/providers/Microsoft.Management/managementgroups/b4ae8938-5329-4b6/providers/Microsoft.Authorization/policyDefinitions"; + Requests[429] = new DefaultHttpContext(); + Requests[429].RequestServices = CreateServices(); + Requests[429].Request.Method = "GET"; + Requests[429].Request.Path = "/providers/Microsoft.Management/managementgroups/2bace433-bddf-420/providers/Microsoft.Authorization/policySetDefinitions"; + Requests[430] = new DefaultHttpContext(); + Requests[430].RequestServices = CreateServices(); + Requests[430].Request.Method = "GET"; + Requests[430].Request.Path = "/providers/Microsoft.ADHybridHealthService/services/4dbcc8e6-76/reports/badpassword/details/user"; + Requests[431] = new DefaultHttpContext(); + Requests[431].RequestServices = CreateServices(); + Requests[431].Request.Method = "DELETE"; + Requests[431].Request.Path = "/providers/Microsoft.Management/managementgroups/3d8586a5-4d06-4ad/providers/Microsoft.Authorization/policyDefinitions/96ced39a-f12b-42cd-a"; + Requests[432] = new DefaultHttpContext(); + Requests[432].RequestServices = CreateServices(); + Requests[432].Request.Method = "PUT"; + Requests[432].Request.Path = "/providers/Microsoft.Management/managementgroups/39d8cd83-a4e3-466/providers/Microsoft.Authorization/policyDefinitions/ca864824-f84e-451c-a"; + Requests[433] = new DefaultHttpContext(); + Requests[433].RequestServices = CreateServices(); + Requests[433].Request.Method = "GET"; + Requests[433].Request.Path = "/providers/Microsoft.Management/managementgroups/ac3de0b6-0c84-400/providers/Microsoft.Authorization/policyDefinitions/a32da581-2aa8-49a7-b"; + Requests[434] = new DefaultHttpContext(); + Requests[434].RequestServices = CreateServices(); + Requests[434].Request.Method = "PUT"; + Requests[434].Request.Path = "/providers/Microsoft.Management/managementgroups/197d1db2-e6ab-46e/providers/Microsoft.Authorization/policySetDefinitions/ad0bf8f1-fcb9-428d-b94e"; + Requests[435] = new DefaultHttpContext(); + Requests[435].RequestServices = CreateServices(); + Requests[435].Request.Method = "GET"; + Requests[435].Request.Path = "/providers/Microsoft.Management/managementgroups/c873f8b5-2d2f-444/providers/Microsoft.Authorization/policySetDefinitions/b884c108-6b9d-4f51-94bf"; + Requests[436] = new DefaultHttpContext(); + Requests[436].RequestServices = CreateServices(); + Requests[436].Request.Method = "DELETE"; + Requests[436].Request.Path = "/providers/Microsoft.Management/managementgroups/caa2520a-38cd-44e/providers/Microsoft.Authorization/policySetDefinitions/124cb0d9-e10a-4c8b-be7a"; + Requests[437] = new DefaultHttpContext(); + Requests[437].RequestServices = CreateServices(); + Requests[437].Request.Method = "GET"; + Requests[437].Request.Path = "/providers/Microsoft.Billing/billingAccounts/58dbeb24-cb26-41/providers/Microsoft.Billing/billingPeriods/ceb3e668-a5b0-41f/providers/Microsoft.Consumption/balances"; + Requests[438] = new DefaultHttpContext(); + Requests[438].RequestServices = CreateServices(); + Requests[438].Request.Method = "GET"; + Requests[438].Request.Path = "/providers/Microsoft.Billing/billingAccounts/e815176f-d651-4a/providers/Microsoft.Billing/billingPeriods/56b72c33-d8e9-40e/providers/Microsoft.Consumption/marketplaces"; + Requests[439] = new DefaultHttpContext(); + Requests[439].RequestServices = CreateServices(); + Requests[439].Request.Method = "GET"; + Requests[439].Request.Path = "/providers/Microsoft.Billing/billingAccounts/37797732-a671-4b/providers/Microsoft.Billing/billingPeriods/80b660af-c5e0-46f/providers/Microsoft.Consumption/usageDetails"; + Requests[440] = new DefaultHttpContext(); + Requests[440].RequestServices = CreateServices(); + Requests[440].Request.Method = "GET"; + Requests[440].Request.Path = "/providers/Microsoft.Billing/departments/98546c3a-020/providers/Microsoft.Billing/billingPeriods/5afbb630-4fbd-42b/providers/Microsoft.Consumption/marketplaces"; + Requests[441] = new DefaultHttpContext(); + Requests[441].RequestServices = CreateServices(); + Requests[441].Request.Method = "GET"; + Requests[441].Request.Path = "/providers/Microsoft.Billing/departments/6d6d340f-74a/providers/Microsoft.Billing/billingPeriods/60ca7d18-5bb7-48a/providers/Microsoft.Consumption/usageDetails"; + Requests[442] = new DefaultHttpContext(); + Requests[442].RequestServices = CreateServices(); + Requests[442].Request.Method = "GET"; + Requests[442].Request.Path = "/providers/Microsoft.Billing/enrollmentAccounts/dfc2caef-c829-4fdf-/providers/Microsoft.Billing/billingPeriods/52488d12-95c4-4bd/providers/Microsoft.Consumption/marketplaces"; + Requests[443] = new DefaultHttpContext(); + Requests[443].RequestServices = CreateServices(); + Requests[443].Request.Method = "GET"; + Requests[443].Request.Path = "/providers/Microsoft.Billing/enrollmentAccounts/5ea1c5f1-789a-4a67-/providers/Microsoft.Billing/billingPeriods/fd36d2a6-f1d1-4b2/providers/Microsoft.Consumption/usageDetails"; + Requests[444] = new DefaultHttpContext(); + Requests[444].RequestServices = CreateServices(); + Requests[444].Request.Method = "GET"; + Requests[444].Request.Path = "/providers/Microsoft.ADHybridHealthService/services/e722bb21-4f/feedbacktype/alerts/ea114d0a-/alertfeedback"; + Requests[445] = new DefaultHttpContext(); + Requests[445].RequestServices = CreateServices(); + Requests[445].Request.Method = "GET"; + Requests[445].Request.Path = "/catalog/usql/databases/522b21fc-3c4/assemblies/6bb3dc2e-b36"; + Requests[446] = new DefaultHttpContext(); + Requests[446].RequestServices = CreateServices(); + Requests[446].Request.Method = "PATCH"; + Requests[446].Request.Path = "/catalog/usql/databases/4f97ae5b-10b/credentials/c526f56a-1a70-"; + Requests[447] = new DefaultHttpContext(); + Requests[447].RequestServices = CreateServices(); + Requests[447].Request.Method = "GET"; + Requests[447].Request.Path = "/catalog/usql/databases/959fe508-a50/credentials/f2866fe5-2d7b-"; + Requests[448] = new DefaultHttpContext(); + Requests[448].RequestServices = CreateServices(); + Requests[448].Request.Method = "PUT"; + Requests[448].Request.Path = "/catalog/usql/databases/cd112a49-96d/credentials/c77e81dc-96c3-"; + Requests[449] = new DefaultHttpContext(); + Requests[449].RequestServices = CreateServices(); + Requests[449].Request.Method = "POST"; + Requests[449].Request.Path = "/catalog/usql/databases/2dc20285-cf0/credentials/f0f276bd-b579-"; + Requests[450] = new DefaultHttpContext(); + Requests[450].RequestServices = CreateServices(); + Requests[450].Request.Method = "GET"; + Requests[450].Request.Path = "/catalog/usql/databases/9b34c996-f88/externaldatasources/c7144c88-f194-48c4-9de"; + Requests[451] = new DefaultHttpContext(); + Requests[451].RequestServices = CreateServices(); + Requests[451].Request.Method = "GET"; + Requests[451].Request.Path = "/catalog/usql/databases/ed84ef31-2b5/schemas/76a906e7-4"; + Requests[452] = new DefaultHttpContext(); + Requests[452].RequestServices = CreateServices(); + Requests[452].Request.Method = "PUT"; + Requests[452].Request.Path = "/catalog/usql/databases/f9656aaf-d3a/secrets/6c34b504-4"; + Requests[453] = new DefaultHttpContext(); + Requests[453].RequestServices = CreateServices(); + Requests[453].Request.Method = "GET"; + Requests[453].Request.Path = "/catalog/usql/databases/3b60ae23-c1f/secrets/1f087fea-a"; + Requests[454] = new DefaultHttpContext(); + Requests[454].RequestServices = CreateServices(); + Requests[454].Request.Method = "PATCH"; + Requests[454].Request.Path = "/catalog/usql/databases/060711e3-06a/secrets/5debd271-f"; + Requests[455] = new DefaultHttpContext(); + Requests[455].RequestServices = CreateServices(); + Requests[455].Request.Method = "DELETE"; + Requests[455].Request.Path = "/catalog/usql/databases/087653a9-053/secrets/8b7d8ec2-9"; + Requests[456] = new DefaultHttpContext(); + Requests[456].RequestServices = CreateServices(); + Requests[456].Request.Method = "GET"; + Requests[456].Request.Path = "/providers/Microsoft.ADHybridHealthService/addsservices/7065ac2e-12/dimensions/7114a017-"; + Requests[457] = new DefaultHttpContext(); + Requests[457].RequestServices = CreateServices(); + Requests[457].Request.Method = "GET"; + Requests[457].Request.Path = "/providers/Microsoft.ADHybridHealthService/addsservices/4728ae6a-a6/metricmetadata/2041ddb0-a"; + Requests[458] = new DefaultHttpContext(); + Requests[458].RequestServices = CreateServices(); + Requests[458].Request.Method = "GET"; + Requests[458].Request.Path = "/providers/Microsoft.ADHybridHealthService/services/92de7596-50/checkServiceFeatureAvailibility/b75bd81b-14"; + Requests[459] = new DefaultHttpContext(); + Requests[459].RequestServices = CreateServices(); + Requests[459].Request.Method = "GET"; + Requests[459].Request.Path = "/providers/Microsoft.ADHybridHealthService/services/b167109d-b8/metricmetadata/edc8a92d-a"; + Requests[460] = new DefaultHttpContext(); + Requests[460].RequestServices = CreateServices(); + Requests[460].Request.Method = "DELETE"; + Requests[460].Request.Path = "/providers/Microsoft.ADHybridHealthService/services/32b2a987-5c/servicemembers/ad90bbd6-e8bd-4"; + Requests[461] = new DefaultHttpContext(); + Requests[461].RequestServices = CreateServices(); + Requests[461].Request.Method = "GET"; + Requests[461].Request.Path = "/providers/Microsoft.ADHybridHealthService/services/f0e9cde0-25/servicemembers/2a8471b9-bcd4-4"; + Requests[462] = new DefaultHttpContext(); + Requests[462].RequestServices = CreateServices(); + Requests[462].Request.Method = "GET"; + Requests[462].Request.Path = "/providers/Microsoft.ADHybridHealthService/services/15c9d56b-4a/TenantWhitelisting/57c79c6d-29"; + Requests[463] = new DefaultHttpContext(); + Requests[463].RequestServices = CreateServices(); + Requests[463].Request.Method = "GET"; + Requests[463].Request.Path = "/providers/Microsoft.Capacity/reservationOrders/c83f0452-418f-432d/reservations/912a0cb0-6552"; + Requests[464] = new DefaultHttpContext(); + Requests[464].RequestServices = CreateServices(); + Requests[464].Request.Method = "PATCH"; + Requests[464].Request.Path = "/providers/Microsoft.Capacity/reservationOrders/5658130b-a23c-4cbb/reservations/ea6b0616-6fb6"; + Requests[465] = new DefaultHttpContext(); + Requests[465].RequestServices = CreateServices(); + Requests[465].Request.Method = "GET"; + Requests[465].Request.Path = "/providers/Microsoft.Intune/locations/c3370383/androidPolicies/f0c310dc-5"; + Requests[466] = new DefaultHttpContext(); + Requests[466].RequestServices = CreateServices(); + Requests[466].Request.Method = "PUT"; + Requests[466].Request.Path = "/providers/Microsoft.Intune/locations/4867d324/androidPolicies/0a164356-3"; + Requests[467] = new DefaultHttpContext(); + Requests[467].RequestServices = CreateServices(); + Requests[467].Request.Method = "PATCH"; + Requests[467].Request.Path = "/providers/Microsoft.Intune/locations/6c0935f3/androidPolicies/0bb726fe-1"; + Requests[468] = new DefaultHttpContext(); + Requests[468].RequestServices = CreateServices(); + Requests[468].Request.Method = "DELETE"; + Requests[468].Request.Path = "/providers/Microsoft.Intune/locations/6ce2504d/androidPolicies/3be2c33c-4"; + Requests[469] = new DefaultHttpContext(); + Requests[469].RequestServices = CreateServices(); + Requests[469].Request.Method = "GET"; + Requests[469].Request.Path = "/providers/Microsoft.Intune/locations/e01a286a/flaggedUsers/907ab9ce"; + Requests[470] = new DefaultHttpContext(); + Requests[470].RequestServices = CreateServices(); + Requests[470].Request.Method = "GET"; + Requests[470].Request.Path = "/providers/Microsoft.Intune/locations/50ff2f7e/iosPolicies/d4c02ef8-d"; + Requests[471] = new DefaultHttpContext(); + Requests[471].RequestServices = CreateServices(); + Requests[471].Request.Method = "PUT"; + Requests[471].Request.Path = "/providers/Microsoft.Intune/locations/0e3e1b3e/iosPolicies/bf931ef8-0"; + Requests[472] = new DefaultHttpContext(); + Requests[472].RequestServices = CreateServices(); + Requests[472].Request.Method = "PATCH"; + Requests[472].Request.Path = "/providers/Microsoft.Intune/locations/6b84aca5/iosPolicies/8a7d396a-2"; + Requests[473] = new DefaultHttpContext(); + Requests[473].RequestServices = CreateServices(); + Requests[473].Request.Method = "DELETE"; + Requests[473].Request.Path = "/providers/Microsoft.Intune/locations/91ff4eff/iosPolicies/1256392a-e"; + Requests[474] = new DefaultHttpContext(); + Requests[474].RequestServices = CreateServices(); + Requests[474].Request.Method = "DELETE"; + Requests[474].Request.Path = "/providers/Microsoft.Management/managementGroups/d31ad31/subscriptions/b027f36c-9322-"; + Requests[475] = new DefaultHttpContext(); + Requests[475].RequestServices = CreateServices(); + Requests[475].Request.Method = "PUT"; + Requests[475].Request.Path = "/providers/Microsoft.Management/managementGroups/55d7357/subscriptions/82cc4132-cddb-"; + Requests[476] = new DefaultHttpContext(); + Requests[476].RequestServices = CreateServices(); + Requests[476].Request.Method = "GET"; + Requests[476].Request.Path = "/catalog/usql/databases/5737ef02-734/schemas/2ffdce38-b/packages"; + Requests[477] = new DefaultHttpContext(); + Requests[477].RequestServices = CreateServices(); + Requests[477].Request.Method = "GET"; + Requests[477].Request.Path = "/catalog/usql/databases/ebb1e575-88f/schemas/90f366dc-5/procedures"; + Requests[478] = new DefaultHttpContext(); + Requests[478].RequestServices = CreateServices(); + Requests[478].Request.Method = "GET"; + Requests[478].Request.Path = "/catalog/usql/databases/8fdaff71-30a/schemas/3cd27cea-e/statistics"; + Requests[479] = new DefaultHttpContext(); + Requests[479].RequestServices = CreateServices(); + Requests[479].Request.Method = "GET"; + Requests[479].Request.Path = "/catalog/usql/databases/82ab4106-551/schemas/09bd2151-b/tables"; + Requests[480] = new DefaultHttpContext(); + Requests[480].RequestServices = CreateServices(); + Requests[480].Request.Method = "GET"; + Requests[480].Request.Path = "/catalog/usql/databases/fb2a2e1c-8af/schemas/23b91f04-c/tabletypes"; + Requests[481] = new DefaultHttpContext(); + Requests[481].RequestServices = CreateServices(); + Requests[481].Request.Method = "GET"; + Requests[481].Request.Path = "/catalog/usql/databases/5cbb7c69-35c/schemas/f9fcad13-5/tablevaluedfunctions"; + Requests[482] = new DefaultHttpContext(); + Requests[482].RequestServices = CreateServices(); + Requests[482].Request.Method = "GET"; + Requests[482].Request.Path = "/catalog/usql/databases/d0e472a9-d86/schemas/b0f0efe3-e/types"; + Requests[483] = new DefaultHttpContext(); + Requests[483].RequestServices = CreateServices(); + Requests[483].Request.Method = "GET"; + Requests[483].Request.Path = "/catalog/usql/databases/6eda39fa-d3e/schemas/09bc74ca-d/views"; + Requests[484] = new DefaultHttpContext(); + Requests[484].RequestServices = CreateServices(); + Requests[484].Request.Method = "GET"; + Requests[484].Request.Path = "/providers/Microsoft.ADHybridHealthService/addsservices/16c3aae0-57/servicemembers/929a4a00-11b5-4/alerts"; + Requests[485] = new DefaultHttpContext(); + Requests[485].RequestServices = CreateServices(); + Requests[485].Request.Method = "GET"; + Requests[485].Request.Path = "/providers/Microsoft.ADHybridHealthService/service/10817748-7a/servicemembers/978c1c85-14b1-4/connectors"; + Requests[486] = new DefaultHttpContext(); + Requests[486].RequestServices = CreateServices(); + Requests[486].Request.Method = "GET"; + Requests[486].Request.Path = "/providers/Microsoft.ADHybridHealthService/services/6af49530-c0/servicemembers/5590f18b-d642-4/alerts"; + Requests[487] = new DefaultHttpContext(); + Requests[487].RequestServices = CreateServices(); + Requests[487].Request.Method = "GET"; + Requests[487].Request.Path = "/providers/Microsoft.ADHybridHealthService/services/a14077e8-9c/servicemembers/98fbefd0-5c06-4/credentials"; + Requests[488] = new DefaultHttpContext(); + Requests[488].RequestServices = CreateServices(); + Requests[488].Request.Method = "DELETE"; + Requests[488].Request.Path = "/providers/Microsoft.ADHybridHealthService/services/a35df15d-b7/servicemembers/0f12227f-649b-4/data"; + Requests[489] = new DefaultHttpContext(); + Requests[489].RequestServices = CreateServices(); + Requests[489].Request.Method = "GET"; + Requests[489].Request.Path = "/providers/Microsoft.ADHybridHealthService/services/25acf844-eb/servicemembers/25e61e52-afd7-4/datafreshness"; + Requests[490] = new DefaultHttpContext(); + Requests[490].RequestServices = CreateServices(); + Requests[490].Request.Method = "GET"; + Requests[490].Request.Path = "/providers/Microsoft.ADHybridHealthService/services/c840c66b-45/servicemembers/27ce50a3-5fb9-4/exportstatus"; + Requests[491] = new DefaultHttpContext(); + Requests[491].RequestServices = CreateServices(); + Requests[491].Request.Method = "GET"; + Requests[491].Request.Path = "/providers/Microsoft.ADHybridHealthService/services/cf0ec528-10/servicemembers/134e985e-a05c-4/globalconfiguration"; + Requests[492] = new DefaultHttpContext(); + Requests[492].RequestServices = CreateServices(); + Requests[492].Request.Method = "GET"; + Requests[492].Request.Path = "/providers/Microsoft.ADHybridHealthService/services/c4563e1d-b7/servicemembers/f1fb81a5-c7c1-4/serviceconfiguration"; + Requests[493] = new DefaultHttpContext(); + Requests[493].RequestServices = CreateServices(); + Requests[493].Request.Method = "GET"; + Requests[493].Request.Path = "/providers/Microsoft.Capacity/reservationOrders/7d20576e-63e9-44e4/reservations/c4e7a692-2bfa/revisions"; + Requests[494] = new DefaultHttpContext(); + Requests[494].RequestServices = CreateServices(); + Requests[494].Request.Method = "GET"; + Requests[494].Request.Path = "/providers/Microsoft.Intune/locations/e0a5c0bb/AndroidPolicies/db9da655-3/apps"; + Requests[495] = new DefaultHttpContext(); + Requests[495].RequestServices = CreateServices(); + Requests[495].Request.Method = "GET"; + Requests[495].Request.Path = "/providers/Microsoft.Intune/locations/21a6b242/androidPolicies/c0def284-7/groups"; + Requests[496] = new DefaultHttpContext(); + Requests[496].RequestServices = CreateServices(); + Requests[496].Request.Method = "GET"; + Requests[496].Request.Path = "/providers/Microsoft.Intune/locations/ba980de6/flaggedUsers/4acea646/flaggedEnrolledApps"; + Requests[497] = new DefaultHttpContext(); + Requests[497].RequestServices = CreateServices(); + Requests[497].Request.Method = "GET"; + Requests[497].Request.Path = "/providers/Microsoft.Intune/locations/63e6dcb1/iosPolicies/4016b26e-4/apps"; + Requests[498] = new DefaultHttpContext(); + Requests[498].RequestServices = CreateServices(); + Requests[498].Request.Method = "GET"; + Requests[498].Request.Path = "/providers/Microsoft.Intune/locations/2138f3ec/iosPolicies/0e5b6d6b-1/groups"; + Requests[499] = new DefaultHttpContext(); + Requests[499].RequestServices = CreateServices(); + Requests[499].Request.Method = "GET"; + Requests[499].Request.Path = "/providers/Microsoft.Intune/locations/54e6dcee/users/0cef01bb/devices"; + Requests[500] = new DefaultHttpContext(); + Requests[500].RequestServices = CreateServices(); + Requests[500].Request.Method = "GET"; + Requests[500].Request.Path = "/providers/Microsoft.Capacity/reservationorders/d1121b87-725b-47a1/reservations/e5af7101-0561/providers/Microsoft.Consumption/reservationDetails"; + Requests[501] = new DefaultHttpContext(); + Requests[501].RequestServices = CreateServices(); + Requests[501].Request.Method = "GET"; + Requests[501].Request.Path = "/providers/Microsoft.Capacity/reservationorders/b649436b-24dc-469a/reservations/cd0302f5-f662/providers/Microsoft.Consumption/reservationSummaries"; + Requests[502] = new DefaultHttpContext(); + Requests[502].RequestServices = CreateServices(); + Requests[502].Request.Method = "GET"; + Requests[502].Request.Path = "/catalog/usql/databases/ee9020bb-9fb/schemas/fcf7aff1-3/packages/dbad130a-eb"; + Requests[503] = new DefaultHttpContext(); + Requests[503].RequestServices = CreateServices(); + Requests[503].Request.Method = "GET"; + Requests[503].Request.Path = "/catalog/usql/databases/b7096c8d-54e/schemas/ef350499-0/procedures/03737b1f-9326"; + Requests[504] = new DefaultHttpContext(); + Requests[504].RequestServices = CreateServices(); + Requests[504].Request.Method = "GET"; + Requests[504].Request.Path = "/catalog/usql/databases/ecb583d1-465/schemas/7a0383ee-a/tables/587ab987-"; + Requests[505] = new DefaultHttpContext(); + Requests[505].RequestServices = CreateServices(); + Requests[505].Request.Method = "GET"; + Requests[505].Request.Path = "/catalog/usql/databases/03c972c4-153/schemas/96319834-8/tabletypes/d61bee34-2ef9"; + Requests[506] = new DefaultHttpContext(); + Requests[506].RequestServices = CreateServices(); + Requests[506].Request.Method = "GET"; + Requests[506].Request.Path = "/catalog/usql/databases/3c184fb1-0a4/schemas/8a759027-1/tablevaluedfunctions/0f37bc63-249a-48ce-ac29"; + Requests[507] = new DefaultHttpContext(); + Requests[507].RequestServices = CreateServices(); + Requests[507].Request.Method = "GET"; + Requests[507].Request.Path = "/catalog/usql/databases/42be4030-110/schemas/ee034e9f-1/views/fb2f94a2"; + Requests[508] = new DefaultHttpContext(); + Requests[508].RequestServices = CreateServices(); + Requests[508].Request.Method = "GET"; + Requests[508].Request.Path = "/providers/Microsoft.ADHybridHealthService/addsservices/35178c04-48/metricmetadata/5e3544bb-5/groups/37896d9b-"; + Requests[509] = new DefaultHttpContext(); + Requests[509].RequestServices = CreateServices(); + Requests[509].Request.Method = "GET"; + Requests[509].Request.Path = "/providers/Microsoft.ADHybridHealthService/services/b8d0d188-05/metricmetadata/43d752a3-6/groups/4fddb8f1-"; + Requests[510] = new DefaultHttpContext(); + Requests[510].RequestServices = CreateServices(); + Requests[510].Request.Method = "PUT"; + Requests[510].Request.Path = "/providers/Microsoft.Intune/locations/fcdcca85/androidPolicies/3926053d-f/apps/95dd42c"; + Requests[511] = new DefaultHttpContext(); + Requests[511].RequestServices = CreateServices(); + Requests[511].Request.Method = "DELETE"; + Requests[511].Request.Path = "/providers/Microsoft.Intune/locations/68b0edc7/androidPolicies/95b041a6-0/apps/d38538d"; + Requests[512] = new DefaultHttpContext(); + Requests[512].RequestServices = CreateServices(); + Requests[512].Request.Method = "PUT"; + Requests[512].Request.Path = "/providers/Microsoft.Intune/locations/8d6fd178/androidPolicies/16ea146c-e/groups/8d04903"; + Requests[513] = new DefaultHttpContext(); + Requests[513].RequestServices = CreateServices(); + Requests[513].Request.Method = "DELETE"; + Requests[513].Request.Path = "/providers/Microsoft.Intune/locations/c286d2d9/androidPolicies/c5275598-5/groups/d7ae910"; + Requests[514] = new DefaultHttpContext(); + Requests[514].RequestServices = CreateServices(); + Requests[514].Request.Method = "DELETE"; + Requests[514].Request.Path = "/providers/Microsoft.Intune/locations/c53b5c3d/iosPolicies/dbcbe18f-9/apps/ef60ec0"; + Requests[515] = new DefaultHttpContext(); + Requests[515].RequestServices = CreateServices(); + Requests[515].Request.Method = "PUT"; + Requests[515].Request.Path = "/providers/Microsoft.Intune/locations/4b70cc25/iosPolicies/0960e653-8/apps/e742952"; + Requests[516] = new DefaultHttpContext(); + Requests[516].RequestServices = CreateServices(); + Requests[516].Request.Method = "DELETE"; + Requests[516].Request.Path = "/providers/Microsoft.Intune/locations/502341f0/iosPolicies/2274b5e1-6/groups/7aef78d"; + Requests[517] = new DefaultHttpContext(); + Requests[517].RequestServices = CreateServices(); + Requests[517].Request.Method = "PUT"; + Requests[517].Request.Path = "/providers/Microsoft.Intune/locations/b093142d/iosPolicies/ef230112-e/groups/c75ab1f"; + Requests[518] = new DefaultHttpContext(); + Requests[518].RequestServices = CreateServices(); + Requests[518].Request.Method = "GET"; + Requests[518].Request.Path = "/providers/Microsoft.Intune/locations/1f763112/users/579226bd/devices/d212c0d5-2"; + Requests[519] = new DefaultHttpContext(); + Requests[519].RequestServices = CreateServices(); + Requests[519].Request.Method = "GET"; + Requests[519].Request.Path = "/catalog/usql/databases/c3d15cff-038/schemas/17b7b7d2-6/tables/2f1848ff-/partitions"; + Requests[520] = new DefaultHttpContext(); + Requests[520].RequestServices = CreateServices(); + Requests[520].Request.Method = "GET"; + Requests[520].Request.Path = "/catalog/usql/databases/2f2cc894-608/schemas/79ea882b-7/tables/a9725310-/previewrows"; + Requests[521] = new DefaultHttpContext(); + Requests[521].RequestServices = CreateServices(); + Requests[521].Request.Method = "GET"; + Requests[521].Request.Path = "/catalog/usql/databases/83eb945c-15a/schemas/89a1f5d9-9/tables/b756a303-/statistics"; + Requests[522] = new DefaultHttpContext(); + Requests[522].RequestServices = CreateServices(); + Requests[522].Request.Method = "GET"; + Requests[522].Request.Path = "/catalog/usql/databases/d733c3b9-4a0/schemas/94adc39c-1/tables/be815c04-/tablefragments"; + Requests[523] = new DefaultHttpContext(); + Requests[523].RequestServices = CreateServices(); + Requests[523].Request.Method = "GET"; + Requests[523].Request.Path = "/providers/Microsoft.ADHybridHealthService/addsservices/1a429c36-b7/metrics/d4353f5e-b/groups/9b08f6aa-/average"; + Requests[524] = new DefaultHttpContext(); + Requests[524].RequestServices = CreateServices(); + Requests[524].Request.Method = "GET"; + Requests[524].Request.Path = "/providers/Microsoft.ADHybridHealthService/addsservices/34fdab9d-71/metrics/d23abe43-7/groups/781e023d-/sum"; + Requests[525] = new DefaultHttpContext(); + Requests[525].RequestServices = CreateServices(); + Requests[525].Request.Method = "GET"; + Requests[525].Request.Path = "/providers/Microsoft.ADHybridHealthService/services/4d271c53-c7/metrics/0e2749aa-b/groups/90f416c2-/average"; + Requests[526] = new DefaultHttpContext(); + Requests[526].RequestServices = CreateServices(); + Requests[526].Request.Method = "GET"; + Requests[526].Request.Path = "/providers/Microsoft.ADHybridHealthService/services/4b8ffcec-c2/metrics/6b2dd782-d/groups/fd43abfe-/sum"; + Requests[527] = new DefaultHttpContext(); + Requests[527].RequestServices = CreateServices(); + Requests[527].Request.Method = "POST"; + Requests[527].Request.Path = "/providers/Microsoft.Intune/locations/ae9891e7/users/f4a0ecaa/devices/8b63666c-3/wipe"; + Requests[528] = new DefaultHttpContext(); + Requests[528].RequestServices = CreateServices(); + Requests[528].Request.Method = "GET"; + Requests[528].Request.Path = "/catalog/usql/databases/d0782c60-77e/schemas/f79332ec-6/tables/eb9d811b-/partitions/f1efa048-800e"; + Requests[529] = new DefaultHttpContext(); + Requests[529].RequestServices = CreateServices(); + Requests[529].Request.Method = "GET"; + Requests[529].Request.Path = "/catalog/usql/databases/f7ae3995-d29/schemas/9ac28ef4-2/tables/8e3c0f94-/statistics/f385ea1d-f85d-"; + Requests[530] = new DefaultHttpContext(); + Requests[530].RequestServices = CreateServices(); + Requests[530].Request.Method = "GET"; + Requests[530].Request.Path = "/providers/Microsoft.ADHybridHealthService/services/a9205564-5a/servicemembers/d407b0e5-0abd-4/metrics/1adcb4d5-f/groups/2afcba17-"; + Requests[531] = new DefaultHttpContext(); + Requests[531].RequestServices = CreateServices(); + Requests[531].Request.Method = "GET"; + Requests[531].Request.Path = "/catalog/usql/databases/1b34028d-d5b/schemas/42d87371-6/tables/a3d4d429-/partitions/d365ba29-dd01/previewrows"; + Requests[532] = new DefaultHttpContext(); + Requests[532].RequestServices = CreateServices(); + Requests[532].Request.Method = "GET"; + Requests[532].Request.Path = "/apps/customprebuiltdomains/27f4187"; + Requests[533] = new DefaultHttpContext(); + Requests[533].RequestServices = CreateServices(); + Requests[533].Request.Method = "GET"; + Requests[533].Request.Path = "/BackupRestore/BackupPolicies/d11f8dc6-f337-40"; + Requests[534] = new DefaultHttpContext(); + Requests[534].RequestServices = CreateServices(); + Requests[534].Request.Method = "DELETE"; + Requests[534].Request.Path = "/certificates/issuers/587d7e46-72"; + Requests[535] = new DefaultHttpContext(); + Requests[535].RequestServices = CreateServices(); + Requests[535].Request.Method = "PUT"; + Requests[535].Request.Path = "/certificates/issuers/0df7f88b-72"; + Requests[536] = new DefaultHttpContext(); + Requests[536].RequestServices = CreateServices(); + Requests[536].Request.Method = "GET"; + Requests[536].Request.Path = "/certificates/issuers/b816a099-a3"; + Requests[537] = new DefaultHttpContext(); + Requests[537].RequestServices = CreateServices(); + Requests[537].Request.Method = "PATCH"; + Requests[537].Request.Path = "/certificates/issuers/e239824a-df"; + Requests[538] = new DefaultHttpContext(); + Requests[538].RequestServices = CreateServices(); + Requests[538].Request.Method = "POST"; + Requests[538].Request.Path = "/webhdfs/v1/26769904-de69-"; + Requests[539] = new DefaultHttpContext(); + Requests[539].RequestServices = CreateServices(); + Requests[539].Request.Method = "DELETE"; + Requests[539].Request.Path = "/webhdfs/v1/7bbc4fc0"; + Requests[540] = new DefaultHttpContext(); + Requests[540].RequestServices = CreateServices(); + Requests[540].Request.Method = "GET"; + Requests[540].Request.Path = "/webhdfs/v1/18be8"; + Requests[541] = new DefaultHttpContext(); + Requests[541].RequestServices = CreateServices(); + Requests[541].Request.Method = "PUT"; + Requests[541].Request.Path = "/webhdfs/v1/ce6cf1fa-b9ab-4b4e-a5"; + Requests[542] = new DefaultHttpContext(); + Requests[542].RequestServices = CreateServices(); + Requests[542].Request.Method = "GET"; + Requests[542].Request.Path = "/webhdfs/va/05f7fb94-74ff-47ef-9c9e-f"; + Requests[543] = new DefaultHttpContext(); + Requests[543].RequestServices = CreateServices(); + Requests[543].Request.Method = "POST"; + Requests[543].Request.Path = "/BackupRestore/BackupPolicies/93a5f9e9-0df7-47/$/Delete"; + Requests[544] = new DefaultHttpContext(); + Requests[544].RequestServices = CreateServices(); + Requests[544].Request.Method = "GET"; + Requests[544].Request.Path = "/BackupRestore/BackupPolicies/c62827dc-6aad-45/$/GetBackupEnabledEntities"; + Requests[545] = new DefaultHttpContext(); + Requests[545].RequestServices = CreateServices(); + Requests[545].Request.Method = "POST"; + Requests[545].Request.Path = "/BackupRestore/BackupPolicies/4f2b96db-fbc8-44/$/Update"; + Requests[546] = new DefaultHttpContext(); + Requests[546].RequestServices = CreateServices(); + Requests[546].Request.Method = "GET"; + Requests[546].Request.Path = "/EventsStore/Applications/e503edf3-37fc/$/Events"; + Requests[547] = new DefaultHttpContext(); + Requests[547].RequestServices = CreateServices(); + Requests[547].Request.Method = "GET"; + Requests[547].Request.Path = "/EventsStore/CorrelatedEvents/6d5356dc-af36-4/$/Events"; + Requests[548] = new DefaultHttpContext(); + Requests[548].RequestServices = CreateServices(); + Requests[548].Request.Method = "GET"; + Requests[548].Request.Path = "/EventsStore/Nodes/4e7c1ccf/$/Events"; + Requests[549] = new DefaultHttpContext(); + Requests[549].RequestServices = CreateServices(); + Requests[549].Request.Method = "GET"; + Requests[549].Request.Path = "/EventsStore/Partitions/d67d8a7c-db/$/Events"; + Requests[550] = new DefaultHttpContext(); + Requests[550].RequestServices = CreateServices(); + Requests[550].Request.Method = "GET"; + Requests[550].Request.Path = "/EventsStore/Services/96bcf9a5-/$/Events"; + Requests[551] = new DefaultHttpContext(); + Requests[551].RequestServices = CreateServices(); + Requests[551].Request.Method = "GET"; + Requests[551].Request.Path = "/Faults/Nodes/1887565c/$/GetTransitionProgress"; + Requests[552] = new DefaultHttpContext(); + Requests[552].RequestServices = CreateServices(); + Requests[552].Request.Method = "POST"; + Requests[552].Request.Path = "/Faults/Nodes/d62b04d5/$/StartTransition"; + Requests[553] = new DefaultHttpContext(); + Requests[553].RequestServices = CreateServices(); + Requests[553].Request.Method = "GET"; + Requests[553].Request.Path = "/EventsStore/Partitions/ec33cc83-64/$/Replicas/Events"; + Requests[554] = new DefaultHttpContext(); + Requests[554].RequestServices = CreateServices(); + Requests[554].Request.Method = "POST"; + Requests[554].Request.Path = "/Services/$/c417dcba-/$/GetPartitions/$/Recover"; + Requests[555] = new DefaultHttpContext(); + Requests[555].RequestServices = CreateServices(); + Requests[555].Request.Method = "GET"; + Requests[555].Request.Path = "/EventsStore/Partitions/09db8dab-f9/$/Replicas/74a84f0e-/$/Events"; + Requests[556] = new DefaultHttpContext(); + Requests[556].RequestServices = CreateServices(); + Requests[556].Request.Method = "GET"; + Requests[556].Request.Path = "/Faults/Services/dfc0e352-/$/GetPartitions/382113a9-a3/$/GetDataLossProgress"; + Requests[557] = new DefaultHttpContext(); + Requests[557].RequestServices = CreateServices(); + Requests[557].Request.Method = "GET"; + Requests[557].Request.Path = "/Faults/Services/7a15971e-/$/GetPartitions/fcf03752-db/$/GetQuorumLossProgress"; + Requests[558] = new DefaultHttpContext(); + Requests[558].RequestServices = CreateServices(); + Requests[558].Request.Method = "GET"; + Requests[558].Request.Path = "/Faults/Services/591d91bb-/$/GetPartitions/24f4ace0-c1/$/GetRestartProgress"; + Requests[559] = new DefaultHttpContext(); + Requests[559].RequestServices = CreateServices(); + Requests[559].Request.Method = "POST"; + Requests[559].Request.Path = "/Faults/Services/f6bf794c-/$/GetPartitions/103b439c-15/$/StartDataLoss"; + Requests[560] = new DefaultHttpContext(); + Requests[560].RequestServices = CreateServices(); + Requests[560].Request.Method = "POST"; + Requests[560].Request.Path = "/Faults/Services/3d855d31-/$/GetPartitions/919bd10f-8e/$/StartQuorumLoss"; + Requests[561] = new DefaultHttpContext(); + Requests[561].RequestServices = CreateServices(); + Requests[561].Request.Method = "POST"; + Requests[561].Request.Path = "/Faults/Services/17a02d30-/$/GetPartitions/0acaf73b-7f/$/StartRestart"; + Requests[562] = new DefaultHttpContext(); + Requests[562].RequestServices = CreateServices(); + Requests[562].Request.Method = "GET"; + Requests[562].Request.Path = "/apis/e756c"; + Requests[563] = new DefaultHttpContext(); + Requests[563].RequestServices = CreateServices(); + Requests[563].Request.Method = "PUT"; + Requests[563].Request.Path = "/apis/b334c"; + Requests[564] = new DefaultHttpContext(); + Requests[564].RequestServices = CreateServices(); + Requests[564].Request.Method = "PATCH"; + Requests[564].Request.Path = "/apis/dfe77"; + Requests[565] = new DefaultHttpContext(); + Requests[565].RequestServices = CreateServices(); + Requests[565].Request.Method = "DELETE"; + Requests[565].Request.Path = "/apis/10de7"; + Requests[566] = new DefaultHttpContext(); + Requests[566].RequestServices = CreateServices(); + Requests[566].Request.Method = "GET"; + Requests[566].Request.Path = "/Applications/d01cf355-de3e"; + Requests[567] = new DefaultHttpContext(); + Requests[567].RequestServices = CreateServices(); + Requests[567].Request.Method = "GET"; + Requests[567].Request.Path = "/ApplicationTypes/8a030075-94f5-4212-"; + Requests[568] = new DefaultHttpContext(); + Requests[568].RequestServices = CreateServices(); + Requests[568].Request.Method = "PUT"; + Requests[568].Request.Path = "/apps/702dc"; + Requests[569] = new DefaultHttpContext(); + Requests[569].RequestServices = CreateServices(); + Requests[569].Request.Method = "GET"; + Requests[569].Request.Path = "/apps/baa40"; + Requests[570] = new DefaultHttpContext(); + Requests[570].RequestServices = CreateServices(); + Requests[570].Request.Method = "DELETE"; + Requests[570].Request.Path = "/apps/ab5c5"; + Requests[571] = new DefaultHttpContext(); + Requests[571].RequestServices = CreateServices(); + Requests[571].Request.Method = "PUT"; + Requests[571].Request.Path = "/authorizationServers/9348f66"; + Requests[572] = new DefaultHttpContext(); + Requests[572].RequestServices = CreateServices(); + Requests[572].Request.Method = "PATCH"; + Requests[572].Request.Path = "/authorizationServers/90d8dd4"; + Requests[573] = new DefaultHttpContext(); + Requests[573].RequestServices = CreateServices(); + Requests[573].Request.Method = "DELETE"; + Requests[573].Request.Path = "/authorizationServers/e3d960b"; + Requests[574] = new DefaultHttpContext(); + Requests[574].RequestServices = CreateServices(); + Requests[574].Request.Method = "GET"; + Requests[574].Request.Path = "/authorizationServers/55ad8a2"; + Requests[575] = new DefaultHttpContext(); + Requests[575].RequestServices = CreateServices(); + Requests[575].Request.Method = "PUT"; + Requests[575].Request.Path = "/backends/f91018df-"; + Requests[576] = new DefaultHttpContext(); + Requests[576].RequestServices = CreateServices(); + Requests[576].Request.Method = "PATCH"; + Requests[576].Request.Path = "/backends/2ac52071-"; + Requests[577] = new DefaultHttpContext(); + Requests[577].RequestServices = CreateServices(); + Requests[577].Request.Method = "DELETE"; + Requests[577].Request.Path = "/backends/098081a8-"; + Requests[578] = new DefaultHttpContext(); + Requests[578].RequestServices = CreateServices(); + Requests[578].Request.Method = "GET"; + Requests[578].Request.Path = "/backends/2b9bd7f6-"; + Requests[579] = new DefaultHttpContext(); + Requests[579].RequestServices = CreateServices(); + Requests[579].Request.Method = "GET"; + Requests[579].Request.Path = "/certificates/9a7465ab-7844"; + Requests[580] = new DefaultHttpContext(); + Requests[580].RequestServices = CreateServices(); + Requests[580].Request.Method = "PUT"; + Requests[580].Request.Path = "/certificates/e7e484e1-5bc4"; + Requests[581] = new DefaultHttpContext(); + Requests[581].RequestServices = CreateServices(); + Requests[581].Request.Method = "DELETE"; + Requests[581].Request.Path = "/certificates/01d84a1c-6dc8-43"; + Requests[582] = new DefaultHttpContext(); + Requests[582].RequestServices = CreateServices(); + Requests[582].Request.Method = "GET"; + Requests[582].Request.Path = "/ComposeDeployments/ab5a79d4-11dc-"; + Requests[583] = new DefaultHttpContext(); + Requests[583].RequestServices = CreateServices(); + Requests[583].Request.Method = "GET"; + Requests[583].Request.Path = "/deletedcertificates/295eaff7-73c8-41"; + Requests[584] = new DefaultHttpContext(); + Requests[584].RequestServices = CreateServices(); + Requests[584].Request.Method = "DELETE"; + Requests[584].Request.Path = "/deletedcertificates/7f689dfe-f60a-48"; + Requests[585] = new DefaultHttpContext(); + Requests[585].RequestServices = CreateServices(); + Requests[585].Request.Method = "DELETE"; + Requests[585].Request.Path = "/deletedkeys/e160f5b8"; + Requests[586] = new DefaultHttpContext(); + Requests[586].RequestServices = CreateServices(); + Requests[586].Request.Method = "GET"; + Requests[586].Request.Path = "/deletedkeys/2ef92ad1"; + Requests[587] = new DefaultHttpContext(); + Requests[587].RequestServices = CreateServices(); + Requests[587].Request.Method = "DELETE"; + Requests[587].Request.Path = "/deletedsecrets/fb6c8877-4f"; + Requests[588] = new DefaultHttpContext(); + Requests[588].RequestServices = CreateServices(); + Requests[588].Request.Method = "GET"; + Requests[588].Request.Path = "/deletedsecrets/b3b8475d-bb"; + Requests[589] = new DefaultHttpContext(); + Requests[589].RequestServices = CreateServices(); + Requests[589].Request.Method = "DELETE"; + Requests[589].Request.Path = "/deletedstorage/7b7393ea-16f3-46f5-b"; + Requests[590] = new DefaultHttpContext(); + Requests[590].RequestServices = CreateServices(); + Requests[590].Request.Method = "GET"; + Requests[590].Request.Path = "/deletedstorage/8ea1f03b-c6f9-4bb1-a"; + Requests[591] = new DefaultHttpContext(); + Requests[591].RequestServices = CreateServices(); + Requests[591].Request.Method = "GET"; + Requests[591].Request.Path = "/domains/d7389d88"; + Requests[592] = new DefaultHttpContext(); + Requests[592].RequestServices = CreateServices(); + Requests[592].Request.Method = "PATCH"; + Requests[592].Request.Path = "/facelists/92239e42-0"; + Requests[593] = new DefaultHttpContext(); + Requests[593].RequestServices = CreateServices(); + Requests[593].Request.Method = "DELETE"; + Requests[593].Request.Path = "/facelists/9d11db61-d"; + Requests[594] = new DefaultHttpContext(); + Requests[594].RequestServices = CreateServices(); + Requests[594].Request.Method = "PUT"; + Requests[594].Request.Path = "/facelists/5b4960dd-b"; + Requests[595] = new DefaultHttpContext(); + Requests[595].RequestServices = CreateServices(); + Requests[595].Request.Method = "GET"; + Requests[595].Request.Path = "/facelists/1d354058-0"; + Requests[596] = new DefaultHttpContext(); + Requests[596].RequestServices = CreateServices(); + Requests[596].Request.Method = "PATCH"; + Requests[596].Request.Path = "/groups/9da11b3"; + Requests[597] = new DefaultHttpContext(); + Requests[597].RequestServices = CreateServices(); + Requests[597].Request.Method = "PUT"; + Requests[597].Request.Path = "/groups/d1b8799"; + Requests[598] = new DefaultHttpContext(); + Requests[598].RequestServices = CreateServices(); + Requests[598].Request.Method = "GET"; + Requests[598].Request.Path = "/groups/49be350"; + Requests[599] = new DefaultHttpContext(); + Requests[599].RequestServices = CreateServices(); + Requests[599].Request.Method = "DELETE"; + Requests[599].Request.Path = "/groups/fb6b877"; + Requests[600] = new DefaultHttpContext(); + Requests[600].RequestServices = CreateServices(); + Requests[600].Request.Method = "DELETE"; + Requests[600].Request.Path = "/identityProviders/143965ad-a020-42b5-b"; + Requests[601] = new DefaultHttpContext(); + Requests[601].RequestServices = CreateServices(); + Requests[601].Request.Method = "GET"; + Requests[601].Request.Path = "/identityProviders/6685c6a9-0a67-4316-9"; + Requests[602] = new DefaultHttpContext(); + Requests[602].RequestServices = CreateServices(); + Requests[602].Request.Method = "PUT"; + Requests[602].Request.Path = "/identityProviders/93d09a82-5ce6-40d5-a"; + Requests[603] = new DefaultHttpContext(); + Requests[603].RequestServices = CreateServices(); + Requests[603].Request.Method = "PATCH"; + Requests[603].Request.Path = "/identityProviders/9390249f-a954-4520-b"; + Requests[604] = new DefaultHttpContext(); + Requests[604].RequestServices = CreateServices(); + Requests[604].Request.Method = "PUT"; + Requests[604].Request.Path = "/ImageStore/1b8a55ea-c6"; + Requests[605] = new DefaultHttpContext(); + Requests[605].RequestServices = CreateServices(); + Requests[605].Request.Method = "DELETE"; + Requests[605].Request.Path = "/ImageStore/4174f25f-f8"; + Requests[606] = new DefaultHttpContext(); + Requests[606].RequestServices = CreateServices(); + Requests[606].Request.Method = "GET"; + Requests[606].Request.Path = "/ImageStore/ca25bd5f-16"; + Requests[607] = new DefaultHttpContext(); + Requests[607].RequestServices = CreateServices(); + Requests[607].Request.Method = "DELETE"; + Requests[607].Request.Path = "/jobs/c3b1d"; + Requests[608] = new DefaultHttpContext(); + Requests[608].RequestServices = CreateServices(); + Requests[608].Request.Method = "PATCH"; + Requests[608].Request.Path = "/jobs/6c07df0b-3f"; + Requests[609] = new DefaultHttpContext(); + Requests[609].RequestServices = CreateServices(); + Requests[609].Request.Method = "PUT"; + Requests[609].Request.Path = "/Jobs/dca95b9c-b6"; + Requests[610] = new DefaultHttpContext(); + Requests[610].RequestServices = CreateServices(); + Requests[610].Request.Method = "GET"; + Requests[610].Request.Path = "/Jobs/a8aeed8f-36"; + Requests[611] = new DefaultHttpContext(); + Requests[611].RequestServices = CreateServices(); + Requests[611].Request.Method = "HEAD"; + Requests[611].Request.Path = "/jobschedules/98088610-ab03"; + Requests[612] = new DefaultHttpContext(); + Requests[612].RequestServices = CreateServices(); + Requests[612].Request.Method = "PATCH"; + Requests[612].Request.Path = "/jobschedules/976ff427-1efd"; + Requests[613] = new DefaultHttpContext(); + Requests[613].RequestServices = CreateServices(); + Requests[613].Request.Method = "DELETE"; + Requests[613].Request.Path = "/jobschedules/545369bd-eb30"; + Requests[614] = new DefaultHttpContext(); + Requests[614].RequestServices = CreateServices(); + Requests[614].Request.Method = "GET"; + Requests[614].Request.Path = "/jobschedules/204a59a1-1923"; + Requests[615] = new DefaultHttpContext(); + Requests[615].RequestServices = CreateServices(); + Requests[615].Request.Method = "PUT"; + Requests[615].Request.Path = "/jobschedules/13627dab-4746"; + Requests[616] = new DefaultHttpContext(); + Requests[616].RequestServices = CreateServices(); + Requests[616].Request.Method = "PUT"; + Requests[616].Request.Path = "/keys/6f7cf5bc"; + Requests[617] = new DefaultHttpContext(); + Requests[617].RequestServices = CreateServices(); + Requests[617].Request.Method = "DELETE"; + Requests[617].Request.Path = "/keys/360505f3"; + Requests[618] = new DefaultHttpContext(); + Requests[618].RequestServices = CreateServices(); + Requests[618].Request.Method = "DELETE"; + Requests[618].Request.Path = "/loggers/9f4e352c"; + Requests[619] = new DefaultHttpContext(); + Requests[619].RequestServices = CreateServices(); + Requests[619].Request.Method = "PATCH"; + Requests[619].Request.Path = "/loggers/c31e7baa"; + Requests[620] = new DefaultHttpContext(); + Requests[620].RequestServices = CreateServices(); + Requests[620].Request.Method = "PUT"; + Requests[620].Request.Path = "/loggers/25c09157"; + Requests[621] = new DefaultHttpContext(); + Requests[621].RequestServices = CreateServices(); + Requests[621].Request.Method = "GET"; + Requests[621].Request.Path = "/loggers/7fd42fff"; + Requests[622] = new DefaultHttpContext(); + Requests[622].RequestServices = CreateServices(); + Requests[622].Request.Method = "GET"; + Requests[622].Request.Path = "/Names/9e7298"; + Requests[623] = new DefaultHttpContext(); + Requests[623].RequestServices = CreateServices(); + Requests[623].Request.Method = "DELETE"; + Requests[623].Request.Path = "/Names/bb401a"; + Requests[624] = new DefaultHttpContext(); + Requests[624].RequestServices = CreateServices(); + Requests[624].Request.Method = "GET"; + Requests[624].Request.Path = "/Nodes/31dde36d"; + Requests[625] = new DefaultHttpContext(); + Requests[625].RequestServices = CreateServices(); + Requests[625].Request.Method = "PATCH"; + Requests[625].Request.Path = "/openidConnectProviders/49ad4"; + Requests[626] = new DefaultHttpContext(); + Requests[626].RequestServices = CreateServices(); + Requests[626].Request.Method = "PUT"; + Requests[626].Request.Path = "/openidConnectProviders/40b65"; + Requests[627] = new DefaultHttpContext(); + Requests[627].RequestServices = CreateServices(); + Requests[627].Request.Method = "GET"; + Requests[627].Request.Path = "/openidConnectProviders/e689f"; + Requests[628] = new DefaultHttpContext(); + Requests[628].RequestServices = CreateServices(); + Requests[628].Request.Method = "DELETE"; + Requests[628].Request.Path = "/openidConnectProviders/a38ee"; + Requests[629] = new DefaultHttpContext(); + Requests[629].RequestServices = CreateServices(); + Requests[629].Request.Method = "GET"; + Requests[629].Request.Path = "/Partitions/b8a3da24-2f"; + Requests[630] = new DefaultHttpContext(); + Requests[630].RequestServices = CreateServices(); + Requests[630].Request.Method = "PUT"; + Requests[630].Request.Path = "/persongroups/3b5b98f6-6ea8"; + Requests[631] = new DefaultHttpContext(); + Requests[631].RequestServices = CreateServices(); + Requests[631].Request.Method = "GET"; + Requests[631].Request.Path = "/persongroups/e39bc3a1-8dd6"; + Requests[632] = new DefaultHttpContext(); + Requests[632].RequestServices = CreateServices(); + Requests[632].Request.Method = "PATCH"; + Requests[632].Request.Path = "/persongroups/a22998f2-c6a6"; + Requests[633] = new DefaultHttpContext(); + Requests[633].RequestServices = CreateServices(); + Requests[633].Request.Method = "DELETE"; + Requests[633].Request.Path = "/persongroups/ffe852f6-f7b7"; + Requests[634] = new DefaultHttpContext(); + Requests[634].RequestServices = CreateServices(); + Requests[634].Request.Method = "GET"; + Requests[634].Request.Path = "/pipelines/747ab2b2-4a4d-46"; + Requests[635] = new DefaultHttpContext(); + Requests[635].RequestServices = CreateServices(); + Requests[635].Request.Method = "GET"; + Requests[635].Request.Path = "/policies/38b62994"; + Requests[636] = new DefaultHttpContext(); + Requests[636].RequestServices = CreateServices(); + Requests[636].Request.Method = "PUT"; + Requests[636].Request.Path = "/policies/4acac6a3"; + Requests[637] = new DefaultHttpContext(); + Requests[637].RequestServices = CreateServices(); + Requests[637].Request.Method = "DELETE"; + Requests[637].Request.Path = "/policies/93c1a981"; + Requests[638] = new DefaultHttpContext(); + Requests[638].RequestServices = CreateServices(); + Requests[638].Request.Method = "PATCH"; + Requests[638].Request.Path = "/pools/41343e"; + Requests[639] = new DefaultHttpContext(); + Requests[639].RequestServices = CreateServices(); + Requests[639].Request.Method = "DELETE"; + Requests[639].Request.Path = "/pools/5cb259"; + Requests[640] = new DefaultHttpContext(); + Requests[640].RequestServices = CreateServices(); + Requests[640].Request.Method = "HEAD"; + Requests[640].Request.Path = "/pools/54e906"; + Requests[641] = new DefaultHttpContext(); + Requests[641].RequestServices = CreateServices(); + Requests[641].Request.Method = "GET"; + Requests[641].Request.Path = "/pools/02a477"; + Requests[642] = new DefaultHttpContext(); + Requests[642].RequestServices = CreateServices(); + Requests[642].Request.Method = "PATCH"; + Requests[642].Request.Path = "/products/04e18688-"; + Requests[643] = new DefaultHttpContext(); + Requests[643].RequestServices = CreateServices(); + Requests[643].Request.Method = "PUT"; + Requests[643].Request.Path = "/products/4a6f83a8-"; + Requests[644] = new DefaultHttpContext(); + Requests[644].RequestServices = CreateServices(); + Requests[644].Request.Method = "DELETE"; + Requests[644].Request.Path = "/products/151c8c1d-"; + Requests[645] = new DefaultHttpContext(); + Requests[645].RequestServices = CreateServices(); + Requests[645].Request.Method = "GET"; + Requests[645].Request.Path = "/products/db650c93-"; + Requests[646] = new DefaultHttpContext(); + Requests[646].RequestServices = CreateServices(); + Requests[646].Request.Method = "PATCH"; + Requests[646].Request.Path = "/projects/deb64cd7-"; + Requests[647] = new DefaultHttpContext(); + Requests[647].RequestServices = CreateServices(); + Requests[647].Request.Method = "DELETE"; + Requests[647].Request.Path = "/projects/b15afb9f-"; + Requests[648] = new DefaultHttpContext(); + Requests[648].RequestServices = CreateServices(); + Requests[648].Request.Method = "GET"; + Requests[648].Request.Path = "/projects/62294a47-"; + Requests[649] = new DefaultHttpContext(); + Requests[649].RequestServices = CreateServices(); + Requests[649].Request.Method = "DELETE"; + Requests[649].Request.Path = "/properties/a3d170"; + Requests[650] = new DefaultHttpContext(); + Requests[650].RequestServices = CreateServices(); + Requests[650].Request.Method = "PATCH"; + Requests[650].Request.Path = "/properties/e98a5a"; + Requests[651] = new DefaultHttpContext(); + Requests[651].RequestServices = CreateServices(); + Requests[651].Request.Method = "PUT"; + Requests[651].Request.Path = "/properties/24c08c"; + Requests[652] = new DefaultHttpContext(); + Requests[652].RequestServices = CreateServices(); + Requests[652].Request.Method = "GET"; + Requests[652].Request.Path = "/properties/5e00c2"; + Requests[653] = new DefaultHttpContext(); + Requests[653].RequestServices = CreateServices(); + Requests[653].Request.Method = "GET"; + Requests[653].Request.Path = "/quotas/7d3ce473-c988-4"; + Requests[654] = new DefaultHttpContext(); + Requests[654].RequestServices = CreateServices(); + Requests[654].Request.Method = "PATCH"; + Requests[654].Request.Path = "/quotas/938dec85-8431-4"; + Requests[655] = new DefaultHttpContext(); + Requests[655].RequestServices = CreateServices(); + Requests[655].Request.Method = "GET"; + Requests[655].Request.Path = "/recurrences/abe1aac9-5788-4511"; + Requests[656] = new DefaultHttpContext(); + Requests[656].RequestServices = CreateServices(); + Requests[656].Request.Method = "PUT"; + Requests[656].Request.Path = "/secrets/87427030-19"; + Requests[657] = new DefaultHttpContext(); + Requests[657].RequestServices = CreateServices(); + Requests[657].Request.Method = "DELETE"; + Requests[657].Request.Path = "/secrets/7d4c29d8-e1"; + Requests[658] = new DefaultHttpContext(); + Requests[658].RequestServices = CreateServices(); + Requests[658].Request.Method = "PATCH"; + Requests[658].Request.Path = "/storage/e7d81916-0a94-4b7a-a"; + Requests[659] = new DefaultHttpContext(); + Requests[659].RequestServices = CreateServices(); + Requests[659].Request.Method = "PUT"; + Requests[659].Request.Path = "/storage/22c1c3c9-6481-48f0-8"; + Requests[660] = new DefaultHttpContext(); + Requests[660].RequestServices = CreateServices(); + Requests[660].Request.Method = "GET"; + Requests[660].Request.Path = "/storage/14bb921d-3427-4430-8"; + Requests[661] = new DefaultHttpContext(); + Requests[661].RequestServices = CreateServices(); + Requests[661].Request.Method = "DELETE"; + Requests[661].Request.Path = "/storage/ef6b988c-729b-4d9e-9"; + Requests[662] = new DefaultHttpContext(); + Requests[662].RequestServices = CreateServices(); + Requests[662].Request.Method = "PATCH"; + Requests[662].Request.Path = "/subscriptions/378fd"; + Requests[663] = new DefaultHttpContext(); + Requests[663].RequestServices = CreateServices(); + Requests[663].Request.Method = "GET"; + Requests[663].Request.Path = "/subscriptions/44a282cc-266c-"; + Requests[664] = new DefaultHttpContext(); + Requests[664].RequestServices = CreateServices(); + Requests[664].Request.Method = "DELETE"; + Requests[664].Request.Path = "/subscriptions/cc4db31d-167f-"; + Requests[665] = new DefaultHttpContext(); + Requests[665].RequestServices = CreateServices(); + Requests[665].Request.Method = "PUT"; + Requests[665].Request.Path = "/subscriptions/c712c145-97c2-"; + Requests[666] = new DefaultHttpContext(); + Requests[666].RequestServices = CreateServices(); + Requests[666].Request.Method = "PATCH"; + Requests[666].Request.Path = "/templates/aa168cf5-ca7"; + Requests[667] = new DefaultHttpContext(); + Requests[667].RequestServices = CreateServices(); + Requests[667].Request.Method = "PUT"; + Requests[667].Request.Path = "/templates/fc259cba-5fb"; + Requests[668] = new DefaultHttpContext(); + Requests[668].RequestServices = CreateServices(); + Requests[668].Request.Method = "GET"; + Requests[668].Request.Path = "/templates/d9f6d1af-e49"; + Requests[669] = new DefaultHttpContext(); + Requests[669].RequestServices = CreateServices(); + Requests[669].Request.Method = "DELETE"; + Requests[669].Request.Path = "/templates/a05dc574-42b"; + Requests[670] = new DefaultHttpContext(); + Requests[670].RequestServices = CreateServices(); + Requests[670].Request.Method = "GET"; + Requests[670].Request.Path = "/tenant/afaa060b-d"; + Requests[671] = new DefaultHttpContext(); + Requests[671].RequestServices = CreateServices(); + Requests[671].Request.Method = "PATCH"; + Requests[671].Request.Path = "/tenant/78a72012-9"; + Requests[672] = new DefaultHttpContext(); + Requests[672].RequestServices = CreateServices(); + Requests[672].Request.Method = "GET"; + Requests[672].Request.Path = "/textOperations/94b18479-0e"; + Requests[673] = new DefaultHttpContext(); + Requests[673].RequestServices = CreateServices(); + Requests[673].Request.Method = "GET"; + Requests[673].Request.Path = "/users/124c9"; + Requests[674] = new DefaultHttpContext(); + Requests[674].RequestServices = CreateServices(); + Requests[674].Request.Method = "PUT"; + Requests[674].Request.Path = "/users/5c30c"; + Requests[675] = new DefaultHttpContext(); + Requests[675].RequestServices = CreateServices(); + Requests[675].Request.Method = "PATCH"; + Requests[675].Request.Path = "/users/672e7"; + Requests[676] = new DefaultHttpContext(); + Requests[676].RequestServices = CreateServices(); + Requests[676].Request.Method = "DELETE"; + Requests[676].Request.Path = "/users/313a8"; + Requests[677] = new DefaultHttpContext(); + Requests[677].RequestServices = CreateServices(); + Requests[677].Request.Method = "PUT"; + Requests[677].Request.Path = "/WebHdfsExt/6080c"; + Requests[678] = new DefaultHttpContext(); + Requests[678].RequestServices = CreateServices(); + Requests[678].Request.Method = "POST"; + Requests[678].Request.Path = "/WebHdfsExt/18cd6"; + Requests[679] = new DefaultHttpContext(); + Requests[679].RequestServices = CreateServices(); + Requests[679].Request.Method = "GET"; + Requests[679].Request.Path = "/apis/e3171/operations"; + Requests[680] = new DefaultHttpContext(); + Requests[680].RequestServices = CreateServices(); + Requests[680].Request.Method = "GET"; + Requests[680].Request.Path = "/apis/6aa38/policies"; + Requests[681] = new DefaultHttpContext(); + Requests[681].RequestServices = CreateServices(); + Requests[681].Request.Method = "GET"; + Requests[681].Request.Path = "/apis/1c7fe/products"; + Requests[682] = new DefaultHttpContext(); + Requests[682].RequestServices = CreateServices(); + Requests[682].Request.Method = "GET"; + Requests[682].Request.Path = "/apis/79bc8/schemas"; + Requests[683] = new DefaultHttpContext(); + Requests[683].RequestServices = CreateServices(); + Requests[683].Request.Method = "GET"; + Requests[683].Request.Path = "/apps/b1aaf/endpoints"; + Requests[684] = new DefaultHttpContext(); + Requests[684].RequestServices = CreateServices(); + Requests[684].Request.Method = "POST"; + Requests[684].Request.Path = "/apps/ea29e/metrics"; + Requests[685] = new DefaultHttpContext(); + Requests[685].RequestServices = CreateServices(); + Requests[685].Request.Method = "DELETE"; + Requests[685].Request.Path = "/apps/bf053/permissions"; + Requests[686] = new DefaultHttpContext(); + Requests[686].RequestServices = CreateServices(); + Requests[686].Request.Method = "GET"; + Requests[686].Request.Path = "/apps/77c6e/permissions"; + Requests[687] = new DefaultHttpContext(); + Requests[687].RequestServices = CreateServices(); + Requests[687].Request.Method = "POST"; + Requests[687].Request.Path = "/apps/d8164/permissions"; + Requests[688] = new DefaultHttpContext(); + Requests[688].RequestServices = CreateServices(); + Requests[688].Request.Method = "PUT"; + Requests[688].Request.Path = "/apps/75942/permissions"; + Requests[689] = new DefaultHttpContext(); + Requests[689].RequestServices = CreateServices(); + Requests[689].Request.Method = "POST"; + Requests[689].Request.Path = "/apps/563cc/publish"; + Requests[690] = new DefaultHttpContext(); + Requests[690].RequestServices = CreateServices(); + Requests[690].Request.Method = "GET"; + Requests[690].Request.Path = "/apps/e781b/publishsettings"; + Requests[691] = new DefaultHttpContext(); + Requests[691].RequestServices = CreateServices(); + Requests[691].Request.Method = "PUT"; + Requests[691].Request.Path = "/apps/25001/publishsettings"; + Requests[692] = new DefaultHttpContext(); + Requests[692].RequestServices = CreateServices(); + Requests[692].Request.Method = "GET"; + Requests[692].Request.Path = "/apps/63247/query"; + Requests[693] = new DefaultHttpContext(); + Requests[693].RequestServices = CreateServices(); + Requests[693].Request.Method = "POST"; + Requests[693].Request.Path = "/apps/d531e/query"; + Requests[694] = new DefaultHttpContext(); + Requests[694].RequestServices = CreateServices(); + Requests[694].Request.Method = "GET"; + Requests[694].Request.Path = "/apps/8d2d6/querylogs"; + Requests[695] = new DefaultHttpContext(); + Requests[695].RequestServices = CreateServices(); + Requests[695].Request.Method = "GET"; + Requests[695].Request.Path = "/apps/f41e6/settings"; + Requests[696] = new DefaultHttpContext(); + Requests[696].RequestServices = CreateServices(); + Requests[696].Request.Method = "PUT"; + Requests[696].Request.Path = "/apps/448a9/settings"; + Requests[697] = new DefaultHttpContext(); + Requests[697].RequestServices = CreateServices(); + Requests[697].Request.Method = "GET"; + Requests[697].Request.Path = "/apps/a23fb/versions"; + Requests[698] = new DefaultHttpContext(); + Requests[698].RequestServices = CreateServices(); + Requests[698].Request.Method = "POST"; + Requests[698].Request.Path = "/certificates/73f7dc2c-b795-41/create"; + Requests[699] = new DefaultHttpContext(); + Requests[699].RequestServices = CreateServices(); + Requests[699].Request.Method = "POST"; + Requests[699].Request.Path = "/certificates/e30d8a66-04bf-46/import"; + Requests[700] = new DefaultHttpContext(); + Requests[700].RequestServices = CreateServices(); + Requests[700].Request.Method = "PATCH"; + Requests[700].Request.Path = "/certificates/eb0cb40f-656f-4b/pending"; + Requests[701] = new DefaultHttpContext(); + Requests[701].RequestServices = CreateServices(); + Requests[701].Request.Method = "GET"; + Requests[701].Request.Path = "/certificates/237df1b3-a184-40/pending"; + Requests[702] = new DefaultHttpContext(); + Requests[702].RequestServices = CreateServices(); + Requests[702].Request.Method = "DELETE"; + Requests[702].Request.Path = "/certificates/cfe67a33-b976-43/pending"; + Requests[703] = new DefaultHttpContext(); + Requests[703].RequestServices = CreateServices(); + Requests[703].Request.Method = "GET"; + Requests[703].Request.Path = "/certificates/c2d2f982-ccfe-4b/policy"; + Requests[704] = new DefaultHttpContext(); + Requests[704].RequestServices = CreateServices(); + Requests[704].Request.Method = "PATCH"; + Requests[704].Request.Path = "/certificates/4191102f-590c-4b/policy"; + Requests[705] = new DefaultHttpContext(); + Requests[705].RequestServices = CreateServices(); + Requests[705].Request.Method = "GET"; + Requests[705].Request.Path = "/certificates/9be5b82a-7926-49/versions"; + Requests[706] = new DefaultHttpContext(); + Requests[706].RequestServices = CreateServices(); + Requests[706].Request.Method = "GET"; + Requests[706].Request.Path = "/delegatedProviders/6614dbae-6979-4d22-/offers"; + Requests[707] = new DefaultHttpContext(); + Requests[707].RequestServices = CreateServices(); + Requests[707].Request.Method = "POST"; + Requests[707].Request.Path = "/deletedcertificates/d5aaf3fe-f10b-44/recover"; + Requests[708] = new DefaultHttpContext(); + Requests[708].RequestServices = CreateServices(); + Requests[708].Request.Method = "POST"; + Requests[708].Request.Path = "/deletedkeys/2e3a3349/recover"; + Requests[709] = new DefaultHttpContext(); + Requests[709].RequestServices = CreateServices(); + Requests[709].Request.Method = "POST"; + Requests[709].Request.Path = "/deletedsecrets/c077070c-1f/recover"; + Requests[710] = new DefaultHttpContext(); + Requests[710].RequestServices = CreateServices(); + Requests[710].Request.Method = "POST"; + Requests[710].Request.Path = "/deletedstorage/321afa37-fb50-46cf-8/recover"; + Requests[711] = new DefaultHttpContext(); + Requests[711].RequestServices = CreateServices(); + Requests[711].Request.Method = "GET"; + Requests[711].Request.Path = "/deletedstorage/0c6b120f-9752-4078-9/sas"; + Requests[712] = new DefaultHttpContext(); + Requests[712].RequestServices = CreateServices(); + Requests[712].Request.Method = "POST"; + Requests[712].Request.Path = "/facelists/15bacb4c-e/persistedFaces"; + Requests[713] = new DefaultHttpContext(); + Requests[713].RequestServices = CreateServices(); + Requests[713].Request.Method = "GET"; + Requests[713].Request.Path = "/groups/2fe853a/users"; + Requests[714] = new DefaultHttpContext(); + Requests[714].RequestServices = CreateServices(); + Requests[714].Request.Method = "POST"; + Requests[714].Request.Path = "/jobs/bf5ca/addtaskcollection"; + Requests[715] = new DefaultHttpContext(); + Requests[715].RequestServices = CreateServices(); + Requests[715].Request.Method = "POST"; + Requests[715].Request.Path = "/jobs/108cc/disable"; + Requests[716] = new DefaultHttpContext(); + Requests[716].RequestServices = CreateServices(); + Requests[716].Request.Method = "POST"; + Requests[716].Request.Path = "/jobs/d2784/enable"; + Requests[717] = new DefaultHttpContext(); + Requests[717].RequestServices = CreateServices(); + Requests[717].Request.Method = "GET"; + Requests[717].Request.Path = "/jobs/def23/jobpreparationandreleasetaskstatus"; + Requests[718] = new DefaultHttpContext(); + Requests[718].RequestServices = CreateServices(); + Requests[718].Request.Method = "GET"; + Requests[718].Request.Path = "/jobs/bb64c/taskcounts"; + Requests[719] = new DefaultHttpContext(); + Requests[719].RequestServices = CreateServices(); + Requests[719].Request.Method = "GET"; + Requests[719].Request.Path = "/jobs/0b01e/tasks"; + Requests[720] = new DefaultHttpContext(); + Requests[720].RequestServices = CreateServices(); + Requests[720].Request.Method = "POST"; + Requests[720].Request.Path = "/jobs/8622c/tasks"; + Requests[721] = new DefaultHttpContext(); + Requests[721].RequestServices = CreateServices(); + Requests[721].Request.Method = "POST"; + Requests[721].Request.Path = "/jobs/d8ee0/terminate"; + Requests[722] = new DefaultHttpContext(); + Requests[722].RequestServices = CreateServices(); + Requests[722].Request.Method = "POST"; + Requests[722].Request.Path = "/Jobs/cb3b3382-ab/CancelJob"; + Requests[723] = new DefaultHttpContext(); + Requests[723].RequestServices = CreateServices(); + Requests[723].Request.Method = "POST"; + Requests[723].Request.Path = "/Jobs/c513a8c8-54/GetDebugDataPath"; + Requests[724] = new DefaultHttpContext(); + Requests[724].RequestServices = CreateServices(); + Requests[724].Request.Method = "GET"; + Requests[724].Request.Path = "/Jobs/d236fedb-dd/GetDebugDataPath"; + Requests[725] = new DefaultHttpContext(); + Requests[725].RequestServices = CreateServices(); + Requests[725].Request.Method = "GET"; + Requests[725].Request.Path = "/Jobs/3ca9e0af-cf/GetStatistics"; + Requests[726] = new DefaultHttpContext(); + Requests[726].RequestServices = CreateServices(); + Requests[726].Request.Method = "POST"; + Requests[726].Request.Path = "/Jobs/38018ea1-87/GetStatistics"; + Requests[727] = new DefaultHttpContext(); + Requests[727].RequestServices = CreateServices(); + Requests[727].Request.Method = "POST"; + Requests[727].Request.Path = "/jobs/c944b14d-c3/YieldJob"; + Requests[728] = new DefaultHttpContext(); + Requests[728].RequestServices = CreateServices(); + Requests[728].Request.Method = "POST"; + Requests[728].Request.Path = "/jobschedules/fe58ed1d-c3e5/disable"; + Requests[729] = new DefaultHttpContext(); + Requests[729].RequestServices = CreateServices(); + Requests[729].Request.Method = "POST"; + Requests[729].Request.Path = "/jobschedules/57d826ab-8633/enable"; + Requests[730] = new DefaultHttpContext(); + Requests[730].RequestServices = CreateServices(); + Requests[730].Request.Method = "GET"; + Requests[730].Request.Path = "/jobschedules/76b32a25-436a/jobs"; + Requests[731] = new DefaultHttpContext(); + Requests[731].RequestServices = CreateServices(); + Requests[731].Request.Method = "POST"; + Requests[731].Request.Path = "/jobschedules/b9e0b514-24cc/terminate"; + Requests[732] = new DefaultHttpContext(); + Requests[732].RequestServices = CreateServices(); + Requests[732].Request.Method = "POST"; + Requests[732].Request.Path = "/keys/d9e6967f/backup"; + Requests[733] = new DefaultHttpContext(); + Requests[733].RequestServices = CreateServices(); + Requests[733].Request.Method = "POST"; + Requests[733].Request.Path = "/keys/4b289dfe/create"; + Requests[734] = new DefaultHttpContext(); + Requests[734].RequestServices = CreateServices(); + Requests[734].Request.Method = "GET"; + Requests[734].Request.Path = "/keys/b693e2aa/versions"; + Requests[735] = new DefaultHttpContext(); + Requests[735].RequestServices = CreateServices(); + Requests[735].Request.Method = "POST"; + Requests[735].Request.Path = "/models/b6df1/analyze"; + Requests[736] = new DefaultHttpContext(); + Requests[736].RequestServices = CreateServices(); + Requests[736].Request.Method = "POST"; + Requests[736].Request.Path = "/persongroups/296bb7b2-ddfa/persons"; + Requests[737] = new DefaultHttpContext(); + Requests[737].RequestServices = CreateServices(); + Requests[737].Request.Method = "GET"; + Requests[737].Request.Path = "/persongroups/28a03393-b009/persons"; + Requests[738] = new DefaultHttpContext(); + Requests[738].RequestServices = CreateServices(); + Requests[738].Request.Method = "POST"; + Requests[738].Request.Path = "/persongroups/f37cb2c6-a95f/train"; + Requests[739] = new DefaultHttpContext(); + Requests[739].RequestServices = CreateServices(); + Requests[739].Request.Method = "GET"; + Requests[739].Request.Path = "/persongroups/60f3404c-da85/training"; + Requests[740] = new DefaultHttpContext(); + Requests[740].RequestServices = CreateServices(); + Requests[740].Request.Method = "POST"; + Requests[740].Request.Path = "/pools/5540fb/disableautoscale"; + Requests[741] = new DefaultHttpContext(); + Requests[741].RequestServices = CreateServices(); + Requests[741].Request.Method = "POST"; + Requests[741].Request.Path = "/pools/3f0e49/enableautoscale"; + Requests[742] = new DefaultHttpContext(); + Requests[742].RequestServices = CreateServices(); + Requests[742].Request.Method = "POST"; + Requests[742].Request.Path = "/pools/605f58/evaluateautoscale"; + Requests[743] = new DefaultHttpContext(); + Requests[743].RequestServices = CreateServices(); + Requests[743].Request.Method = "GET"; + Requests[743].Request.Path = "/pools/cabbad/nodes"; + Requests[744] = new DefaultHttpContext(); + Requests[744].RequestServices = CreateServices(); + Requests[744].Request.Method = "POST"; + Requests[744].Request.Path = "/pools/437d57/removenodes"; + Requests[745] = new DefaultHttpContext(); + Requests[745].RequestServices = CreateServices(); + Requests[745].Request.Method = "POST"; + Requests[745].Request.Path = "/pools/b7da64/resize"; + Requests[746] = new DefaultHttpContext(); + Requests[746].RequestServices = CreateServices(); + Requests[746].Request.Method = "POST"; + Requests[746].Request.Path = "/pools/153c29/stopresize"; + Requests[747] = new DefaultHttpContext(); + Requests[747].RequestServices = CreateServices(); + Requests[747].Request.Method = "POST"; + Requests[747].Request.Path = "/pools/e7eb02/updateproperties"; + Requests[748] = new DefaultHttpContext(); + Requests[748].RequestServices = CreateServices(); + Requests[748].Request.Method = "POST"; + Requests[748].Request.Path = "/pools/b0c5d9/upgradeos"; + Requests[749] = new DefaultHttpContext(); + Requests[749].RequestServices = CreateServices(); + Requests[749].Request.Method = "GET"; + Requests[749].Request.Path = "/products/74df056b-/apis"; + Requests[750] = new DefaultHttpContext(); + Requests[750].RequestServices = CreateServices(); + Requests[750].Request.Method = "GET"; + Requests[750].Request.Path = "/products/5973bb3a-/groups"; + Requests[751] = new DefaultHttpContext(); + Requests[751].RequestServices = CreateServices(); + Requests[751].Request.Method = "GET"; + Requests[751].Request.Path = "/products/e7a08ee0-/policies"; + Requests[752] = new DefaultHttpContext(); + Requests[752].RequestServices = CreateServices(); + Requests[752].Request.Method = "GET"; + Requests[752].Request.Path = "/products/1076e9de-/subscriptions"; + Requests[753] = new DefaultHttpContext(); + Requests[753].RequestServices = CreateServices(); + Requests[753].Request.Method = "DELETE"; + Requests[753].Request.Path = "/projects/82395036-/images"; + Requests[754] = new DefaultHttpContext(); + Requests[754].RequestServices = CreateServices(); + Requests[754].Request.Method = "POST"; + Requests[754].Request.Path = "/projects/ebc90bbe-/images"; + Requests[755] = new DefaultHttpContext(); + Requests[755].RequestServices = CreateServices(); + Requests[755].Request.Method = "GET"; + Requests[755].Request.Path = "/projects/0bf730b1-/iterations"; + Requests[756] = new DefaultHttpContext(); + Requests[756].RequestServices = CreateServices(); + Requests[756].Request.Method = "DELETE"; + Requests[756].Request.Path = "/projects/179f45cb-/predictions"; + Requests[757] = new DefaultHttpContext(); + Requests[757].RequestServices = CreateServices(); + Requests[757].Request.Method = "POST"; + Requests[757].Request.Path = "/projects/ccf484e1-/tags"; + Requests[758] = new DefaultHttpContext(); + Requests[758].RequestServices = CreateServices(); + Requests[758].Request.Method = "GET"; + Requests[758].Request.Path = "/projects/f5d13230-/tags"; + Requests[759] = new DefaultHttpContext(); + Requests[759].RequestServices = CreateServices(); + Requests[759].Request.Method = "POST"; + Requests[759].Request.Path = "/projects/7a10a329-/train"; + Requests[760] = new DefaultHttpContext(); + Requests[760].RequestServices = CreateServices(); + Requests[760].Request.Method = "GET"; + Requests[760].Request.Path = "/providers/db04db2f-edc2-4b3e-9919-9/operations"; + Requests[761] = new DefaultHttpContext(); + Requests[761].RequestServices = CreateServices(); + Requests[761].Request.Method = "POST"; + Requests[761].Request.Path = "/secrets/3e4ce1c3-6c/backup"; + Requests[762] = new DefaultHttpContext(); + Requests[762].RequestServices = CreateServices(); + Requests[762].Request.Method = "GET"; + Requests[762].Request.Path = "/secrets/facc0061-39/versions"; + Requests[763] = new DefaultHttpContext(); + Requests[763].RequestServices = CreateServices(); + Requests[763].Request.Method = "POST"; + Requests[763].Request.Path = "/storage/cd72e4d4-c6ff-4c46-b/backup"; + Requests[764] = new DefaultHttpContext(); + Requests[764].RequestServices = CreateServices(); + Requests[764].Request.Method = "POST"; + Requests[764].Request.Path = "/storage/fc43a107-86fb-4a89-8/regeneratekey"; + Requests[765] = new DefaultHttpContext(); + Requests[765].RequestServices = CreateServices(); + Requests[765].Request.Method = "GET"; + Requests[765].Request.Path = "/storage/0388fbaa-2bde-4a86-a/sas"; + Requests[766] = new DefaultHttpContext(); + Requests[766].RequestServices = CreateServices(); + Requests[766].Request.Method = "POST"; + Requests[766].Request.Path = "/subscriptions/8b424/regeneratePrimaryKey"; + Requests[767] = new DefaultHttpContext(); + Requests[767].RequestServices = CreateServices(); + Requests[767].Request.Method = "POST"; + Requests[767].Request.Path = "/subscriptions/ee250/regenerateSecondaryKey"; + Requests[768] = new DefaultHttpContext(); + Requests[768].RequestServices = CreateServices(); + Requests[768].Request.Method = "GET"; + Requests[768].Request.Path = "/subscriptions/ac66aaa2-7800-/locations"; + Requests[769] = new DefaultHttpContext(); + Requests[769].RequestServices = CreateServices(); + Requests[769].Request.Method = "GET"; + Requests[769].Request.Path = "/subscriptions/5caff573-482e-/providers"; + Requests[770] = new DefaultHttpContext(); + Requests[770].RequestServices = CreateServices(); + Requests[770].Request.Method = "GET"; + Requests[770].Request.Path = "/subscriptions/bf658f64-680e-/resourcegroups"; + Requests[771] = new DefaultHttpContext(); + Requests[771].RequestServices = CreateServices(); + Requests[771].Request.Method = "GET"; + Requests[771].Request.Path = "/subscriptions/19df9045-6ab6-/resources"; + Requests[772] = new DefaultHttpContext(); + Requests[772].RequestServices = CreateServices(); + Requests[772].Request.Method = "GET"; + Requests[772].Request.Path = "/subscriptions/b3d57c87-2819-/tagNames"; + Requests[773] = new DefaultHttpContext(); + Requests[773].RequestServices = CreateServices(); + Requests[773].Request.Method = "GET"; + Requests[773].Request.Path = "/tenant/10070398-4/git"; + Requests[774] = new DefaultHttpContext(); + Requests[774].RequestServices = CreateServices(); + Requests[774].Request.Method = "POST"; + Requests[774].Request.Path = "/tenant/4af7dd60-b/regeneratePrimaryKey"; + Requests[775] = new DefaultHttpContext(); + Requests[775].RequestServices = CreateServices(); + Requests[775].Request.Method = "POST"; + Requests[775].Request.Path = "/tenant/c56b905a-f/regenerateSecondaryKey"; + Requests[776] = new DefaultHttpContext(); + Requests[776].RequestServices = CreateServices(); + Requests[776].Request.Method = "POST"; + Requests[776].Request.Path = "/tenant/ce51577a-bfea-457/deploy"; + Requests[777] = new DefaultHttpContext(); + Requests[777].RequestServices = CreateServices(); + Requests[777].Request.Method = "POST"; + Requests[777].Request.Path = "/tenant/980d38d9-c59f-4f7/save"; + Requests[778] = new DefaultHttpContext(); + Requests[778].RequestServices = CreateServices(); + Requests[778].Request.Method = "GET"; + Requests[778].Request.Path = "/tenant/72062f52-d924-4a6/syncState"; + Requests[779] = new DefaultHttpContext(); + Requests[779].RequestServices = CreateServices(); + Requests[779].Request.Method = "POST"; + Requests[779].Request.Path = "/tenant/595749c6-1078-46f/validate"; + Requests[780] = new DefaultHttpContext(); + Requests[780].RequestServices = CreateServices(); + Requests[780].Request.Method = "POST"; + Requests[780].Request.Path = "/users/73ba5/generateSsoUrl"; + Requests[781] = new DefaultHttpContext(); + Requests[781].RequestServices = CreateServices(); + Requests[781].Request.Method = "GET"; + Requests[781].Request.Path = "/users/7cf5b/groups"; + Requests[782] = new DefaultHttpContext(); + Requests[782].RequestServices = CreateServices(); + Requests[782].Request.Method = "GET"; + Requests[782].Request.Path = "/users/4b8c5/identities"; + Requests[783] = new DefaultHttpContext(); + Requests[783].RequestServices = CreateServices(); + Requests[783].Request.Method = "GET"; + Requests[783].Request.Path = "/users/0b329/subscriptions"; + Requests[784] = new DefaultHttpContext(); + Requests[784].RequestServices = CreateServices(); + Requests[784].Request.Method = "POST"; + Requests[784].Request.Path = "/users/f0b88/token"; + Requests[785] = new DefaultHttpContext(); + Requests[785].RequestServices = CreateServices(); + Requests[785].Request.Method = "GET"; + Requests[785].Request.Path = "/workspaces/a910ff67-17/query"; + Requests[786] = new DefaultHttpContext(); + Requests[786].RequestServices = CreateServices(); + Requests[786].Request.Method = "POST"; + Requests[786].Request.Path = "/workspaces/2e3164c4-7b/query"; + Requests[787] = new DefaultHttpContext(); + Requests[787].RequestServices = CreateServices(); + Requests[787].Request.Method = "POST"; + Requests[787].Request.Path = "/Applications/f1e30f3d-c543/$/Delete"; + Requests[788] = new DefaultHttpContext(); + Requests[788].RequestServices = CreateServices(); + Requests[788].Request.Method = "POST"; + Requests[788].Request.Path = "/Applications/fda1284b-8557/$/DisableBackup"; + Requests[789] = new DefaultHttpContext(); + Requests[789].RequestServices = CreateServices(); + Requests[789].Request.Method = "POST"; + Requests[789].Request.Path = "/Applications/b51cffb8-39bf/$/EnableBackup"; + Requests[790] = new DefaultHttpContext(); + Requests[790].RequestServices = CreateServices(); + Requests[790].Request.Method = "GET"; + Requests[790].Request.Path = "/Applications/f320177c-841c/$/GetBackupConfigurationInfo"; + Requests[791] = new DefaultHttpContext(); + Requests[791].RequestServices = CreateServices(); + Requests[791].Request.Method = "GET"; + Requests[791].Request.Path = "/Applications/074d2167-bb2c/$/GetBackups"; + Requests[792] = new DefaultHttpContext(); + Requests[792].RequestServices = CreateServices(); + Requests[792].Request.Method = "POST"; + Requests[792].Request.Path = "/Applications/bc7c9b6b-f7a2/$/GetHealth"; + Requests[793] = new DefaultHttpContext(); + Requests[793].RequestServices = CreateServices(); + Requests[793].Request.Method = "GET"; + Requests[793].Request.Path = "/Applications/0046ea84-76ba/$/GetHealth"; + Requests[794] = new DefaultHttpContext(); + Requests[794].RequestServices = CreateServices(); + Requests[794].Request.Method = "GET"; + Requests[794].Request.Path = "/Applications/d036ffbd-dddd/$/GetLoadInformation"; + Requests[795] = new DefaultHttpContext(); + Requests[795].RequestServices = CreateServices(); + Requests[795].Request.Method = "GET"; + Requests[795].Request.Path = "/Applications/b5abeb63-8542/$/GetServices"; + Requests[796] = new DefaultHttpContext(); + Requests[796].RequestServices = CreateServices(); + Requests[796].Request.Method = "GET"; + Requests[796].Request.Path = "/Applications/97e38602-224e/$/GetUpgradeProgress"; + Requests[797] = new DefaultHttpContext(); + Requests[797].RequestServices = CreateServices(); + Requests[797].Request.Method = "POST"; + Requests[797].Request.Path = "/Applications/71100aa3-14a7/$/MoveToNextUpgradeDomain"; + Requests[798] = new DefaultHttpContext(); + Requests[798].RequestServices = CreateServices(); + Requests[798].Request.Method = "POST"; + Requests[798].Request.Path = "/Applications/a5e6c630-e386/$/ReportHealth"; + Requests[799] = new DefaultHttpContext(); + Requests[799].RequestServices = CreateServices(); + Requests[799].Request.Method = "POST"; + Requests[799].Request.Path = "/Applications/d81e0ffb-8cf9/$/ResumeBackup"; + Requests[800] = new DefaultHttpContext(); + Requests[800].RequestServices = CreateServices(); + Requests[800].Request.Method = "POST"; + Requests[800].Request.Path = "/Applications/c312a7cb-995b/$/RollbackUpgrade"; + Requests[801] = new DefaultHttpContext(); + Requests[801].RequestServices = CreateServices(); + Requests[801].Request.Method = "POST"; + Requests[801].Request.Path = "/Applications/fff9b2df-589c/$/SuspendBackup"; + Requests[802] = new DefaultHttpContext(); + Requests[802].RequestServices = CreateServices(); + Requests[802].Request.Method = "POST"; + Requests[802].Request.Path = "/Applications/71399a19-599d/$/UpdateUpgrade"; + Requests[803] = new DefaultHttpContext(); + Requests[803].RequestServices = CreateServices(); + Requests[803].Request.Method = "POST"; + Requests[803].Request.Path = "/Applications/147962f8-307c/$/Upgrade"; + Requests[804] = new DefaultHttpContext(); + Requests[804].RequestServices = CreateServices(); + Requests[804].Request.Method = "POST"; + Requests[804].Request.Path = "/Applications/99de231c-c0c4-4/$/MoveNextUpgradeDomain"; + Requests[805] = new DefaultHttpContext(); + Requests[805].RequestServices = CreateServices(); + Requests[805].Request.Method = "GET"; + Requests[805].Request.Path = "/ApplicationTypes/b4ae891c-13f7-4b8e-/$/GetApplicationManifest"; + Requests[806] = new DefaultHttpContext(); + Requests[806].RequestServices = CreateServices(); + Requests[806].Request.Method = "GET"; + Requests[806].Request.Path = "/ApplicationTypes/1183e49e-75f1-4704-/$/GetServiceManifest"; + Requests[807] = new DefaultHttpContext(); + Requests[807].RequestServices = CreateServices(); + Requests[807].Request.Method = "GET"; + Requests[807].Request.Path = "/ApplicationTypes/e3d000c2-ca7f-4d99-/$/GetServiceTypes"; + Requests[808] = new DefaultHttpContext(); + Requests[808].RequestServices = CreateServices(); + Requests[808].Request.Method = "POST"; + Requests[808].Request.Path = "/ApplicationTypes/198b12cb-3ad6-4139-/$/Unprovision"; + Requests[809] = new DefaultHttpContext(); + Requests[809].RequestServices = CreateServices(); + Requests[809].Request.Method = "GET"; + Requests[809].Request.Path = "/apps/884cb/events/$metadata"; + Requests[810] = new DefaultHttpContext(); + Requests[810].RequestServices = CreateServices(); + Requests[810].Request.Method = "GET"; + Requests[810].Request.Path = "/apps/39e3d/metrics/metadata"; + Requests[811] = new DefaultHttpContext(); + Requests[811].RequestServices = CreateServices(); + Requests[811].Request.Method = "GET"; + Requests[811].Request.Path = "/apps/202b8/query/schema"; + Requests[812] = new DefaultHttpContext(); + Requests[812].RequestServices = CreateServices(); + Requests[812].Request.Method = "POST"; + Requests[812].Request.Path = "/apps/49d08/versions/import"; + Requests[813] = new DefaultHttpContext(); + Requests[813].RequestServices = CreateServices(); + Requests[813].Request.Method = "POST"; + Requests[813].Request.Path = "/certificates/e2e0e6c2-b88b-42/pending/merge"; + Requests[814] = new DefaultHttpContext(); + Requests[814].RequestServices = CreateServices(); + Requests[814].Request.Method = "POST"; + Requests[814].Request.Path = "/ComposeDeployments/cd43ccfd-e4dd-/$/Delete"; + Requests[815] = new DefaultHttpContext(); + Requests[815].RequestServices = CreateServices(); + Requests[815].Request.Method = "GET"; + Requests[815].Request.Path = "/ComposeDeployments/83ea37bc-fc16-/$/GetUpgradeProgress"; + Requests[816] = new DefaultHttpContext(); + Requests[816].RequestServices = CreateServices(); + Requests[816].Request.Method = "POST"; + Requests[816].Request.Path = "/ComposeDeployments/50c170fa-c9e8-/$/Upgrade"; + Requests[817] = new DefaultHttpContext(); + Requests[817].RequestServices = CreateServices(); + Requests[817].Request.Method = "GET"; + Requests[817].Request.Path = "/ImageStore/7cbb81ae-2d/$/GetUploadSession"; + Requests[818] = new DefaultHttpContext(); + Requests[818].RequestServices = CreateServices(); + Requests[818].Request.Method = "PUT"; + Requests[818].Request.Path = "/ImageStore/daf409a0-e0/$/UploadChunk"; + Requests[819] = new DefaultHttpContext(); + Requests[819].RequestServices = CreateServices(); + Requests[819].Request.Method = "GET"; + Requests[819].Request.Path = "/Names/6492ae/$/GetProperties"; + Requests[820] = new DefaultHttpContext(); + Requests[820].RequestServices = CreateServices(); + Requests[820].Request.Method = "DELETE"; + Requests[820].Request.Path = "/Names/b0efb1/$/GetProperty"; + Requests[821] = new DefaultHttpContext(); + Requests[821].RequestServices = CreateServices(); + Requests[821].Request.Method = "PUT"; + Requests[821].Request.Path = "/Names/904669/$/GetProperty"; + Requests[822] = new DefaultHttpContext(); + Requests[822].RequestServices = CreateServices(); + Requests[822].Request.Method = "GET"; + Requests[822].Request.Path = "/Names/861b3d/$/GetProperty"; + Requests[823] = new DefaultHttpContext(); + Requests[823].RequestServices = CreateServices(); + Requests[823].Request.Method = "GET"; + Requests[823].Request.Path = "/Names/2fcefb/$/GetSubNames"; + Requests[824] = new DefaultHttpContext(); + Requests[824].RequestServices = CreateServices(); + Requests[824].Request.Method = "POST"; + Requests[824].Request.Path = "/Nodes/c4b39a13/$/Activate"; + Requests[825] = new DefaultHttpContext(); + Requests[825].RequestServices = CreateServices(); + Requests[825].Request.Method = "POST"; + Requests[825].Request.Path = "/Nodes/85caf970/$/Deactivate"; + Requests[826] = new DefaultHttpContext(); + Requests[826].RequestServices = CreateServices(); + Requests[826].Request.Method = "POST"; + Requests[826].Request.Path = "/Nodes/e67a7b50/$/DeployServicePackage"; + Requests[827] = new DefaultHttpContext(); + Requests[827].RequestServices = CreateServices(); + Requests[827].Request.Method = "GET"; + Requests[827].Request.Path = "/Nodes/5a1efdd7/$/GetApplications"; + Requests[828] = new DefaultHttpContext(); + Requests[828].RequestServices = CreateServices(); + Requests[828].Request.Method = "GET"; + Requests[828].Request.Path = "/Nodes/0225062e/$/GetHealth"; + Requests[829] = new DefaultHttpContext(); + Requests[829].RequestServices = CreateServices(); + Requests[829].Request.Method = "POST"; + Requests[829].Request.Path = "/Nodes/f2cbc65f/$/GetHealth"; + Requests[830] = new DefaultHttpContext(); + Requests[830].RequestServices = CreateServices(); + Requests[830].Request.Method = "GET"; + Requests[830].Request.Path = "/Nodes/f78919ab/$/GetLoadInformation"; + Requests[831] = new DefaultHttpContext(); + Requests[831].RequestServices = CreateServices(); + Requests[831].Request.Method = "POST"; + Requests[831].Request.Path = "/Nodes/ee0ab328/$/RemoveNodeState"; + Requests[832] = new DefaultHttpContext(); + Requests[832].RequestServices = CreateServices(); + Requests[832].Request.Method = "POST"; + Requests[832].Request.Path = "/Nodes/40657a8f/$/ReportHealth"; + Requests[833] = new DefaultHttpContext(); + Requests[833].RequestServices = CreateServices(); + Requests[833].Request.Method = "POST"; + Requests[833].Request.Path = "/Nodes/7f776435/$/Restart"; + Requests[834] = new DefaultHttpContext(); + Requests[834].RequestServices = CreateServices(); + Requests[834].Request.Method = "POST"; + Requests[834].Request.Path = "/Nodes/66bd5a77/$/Start"; + Requests[835] = new DefaultHttpContext(); + Requests[835].RequestServices = CreateServices(); + Requests[835].Request.Method = "POST"; + Requests[835].Request.Path = "/Nodes/5bf546d1/$/Stop"; + Requests[836] = new DefaultHttpContext(); + Requests[836].RequestServices = CreateServices(); + Requests[836].Request.Method = "POST"; + Requests[836].Request.Path = "/Partitions/97f781d1-b2/$/Backup"; + Requests[837] = new DefaultHttpContext(); + Requests[837].RequestServices = CreateServices(); + Requests[837].Request.Method = "POST"; + Requests[837].Request.Path = "/Partitions/84345432-b4/$/DisableBackup"; + Requests[838] = new DefaultHttpContext(); + Requests[838].RequestServices = CreateServices(); + Requests[838].Request.Method = "POST"; + Requests[838].Request.Path = "/Partitions/adc43efd-a0/$/EnableBackup"; + Requests[839] = new DefaultHttpContext(); + Requests[839].RequestServices = CreateServices(); + Requests[839].Request.Method = "GET"; + Requests[839].Request.Path = "/Partitions/a4fdc7a7-44/$/GetBackupConfigurationInfo"; + Requests[840] = new DefaultHttpContext(); + Requests[840].RequestServices = CreateServices(); + Requests[840].Request.Method = "GET"; + Requests[840].Request.Path = "/Partitions/0fe03f5a-9a/$/GetBackupProgress"; + Requests[841] = new DefaultHttpContext(); + Requests[841].RequestServices = CreateServices(); + Requests[841].Request.Method = "GET"; + Requests[841].Request.Path = "/Partitions/0050c1a7-1e/$/GetBackups"; + Requests[842] = new DefaultHttpContext(); + Requests[842].RequestServices = CreateServices(); + Requests[842].Request.Method = "POST"; + Requests[842].Request.Path = "/Partitions/61c4bc06-7a/$/GetHealth"; + Requests[843] = new DefaultHttpContext(); + Requests[843].RequestServices = CreateServices(); + Requests[843].Request.Method = "GET"; + Requests[843].Request.Path = "/Partitions/9a9d7693-88/$/GetHealth"; + Requests[844] = new DefaultHttpContext(); + Requests[844].RequestServices = CreateServices(); + Requests[844].Request.Method = "GET"; + Requests[844].Request.Path = "/Partitions/6c80d567-d1/$/GetLoadInformation"; + Requests[845] = new DefaultHttpContext(); + Requests[845].RequestServices = CreateServices(); + Requests[845].Request.Method = "GET"; + Requests[845].Request.Path = "/Partitions/232ef6a6-3e/$/GetReplicas"; + Requests[846] = new DefaultHttpContext(); + Requests[846].RequestServices = CreateServices(); + Requests[846].Request.Method = "GET"; + Requests[846].Request.Path = "/Partitions/b3cc5c40-4a/$/GetRestoreProgress"; + Requests[847] = new DefaultHttpContext(); + Requests[847].RequestServices = CreateServices(); + Requests[847].Request.Method = "GET"; + Requests[847].Request.Path = "/Partitions/f060aaab-56/$/GetServiceName"; + Requests[848] = new DefaultHttpContext(); + Requests[848].RequestServices = CreateServices(); + Requests[848].Request.Method = "POST"; + Requests[848].Request.Path = "/Partitions/42ac866e-69/$/Recover"; + Requests[849] = new DefaultHttpContext(); + Requests[849].RequestServices = CreateServices(); + Requests[849].Request.Method = "POST"; + Requests[849].Request.Path = "/Partitions/9052d799-d2/$/ReportHealth"; + Requests[850] = new DefaultHttpContext(); + Requests[850].RequestServices = CreateServices(); + Requests[850].Request.Method = "POST"; + Requests[850].Request.Path = "/Partitions/99025638-96/$/ResetLoad"; + Requests[851] = new DefaultHttpContext(); + Requests[851].RequestServices = CreateServices(); + Requests[851].Request.Method = "POST"; + Requests[851].Request.Path = "/Partitions/562b58e5-9b/$/Restore"; + Requests[852] = new DefaultHttpContext(); + Requests[852].RequestServices = CreateServices(); + Requests[852].Request.Method = "POST"; + Requests[852].Request.Path = "/Partitions/7ec7070a-b7/$/ResumeBackup"; + Requests[853] = new DefaultHttpContext(); + Requests[853].RequestServices = CreateServices(); + Requests[853].Request.Method = "POST"; + Requests[853].Request.Path = "/Partitions/939b61a8-e9/$/SuspendBackup"; + Requests[854] = new DefaultHttpContext(); + Requests[854].RequestServices = CreateServices(); + Requests[854].Request.Method = "POST"; + Requests[854].Request.Path = "/projects/26bcc9a7-/images/files"; + Requests[855] = new DefaultHttpContext(); + Requests[855].RequestServices = CreateServices(); + Requests[855].Request.Method = "GET"; + Requests[855].Request.Path = "/projects/be82b800-/images/id"; + Requests[856] = new DefaultHttpContext(); + Requests[856].RequestServices = CreateServices(); + Requests[856].Request.Method = "POST"; + Requests[856].Request.Path = "/projects/0ac8c21b-/images/predictions"; + Requests[857] = new DefaultHttpContext(); + Requests[857].RequestServices = CreateServices(); + Requests[857].Request.Method = "DELETE"; + Requests[857].Request.Path = "/projects/4560e2be-/images/regions"; + Requests[858] = new DefaultHttpContext(); + Requests[858].RequestServices = CreateServices(); + Requests[858].Request.Method = "POST"; + Requests[858].Request.Path = "/projects/3b40e5ec-/images/regions"; + Requests[859] = new DefaultHttpContext(); + Requests[859].RequestServices = CreateServices(); + Requests[859].Request.Method = "GET"; + Requests[859].Request.Path = "/projects/5a1a8f9e-/images/tagged"; + Requests[860] = new DefaultHttpContext(); + Requests[860].RequestServices = CreateServices(); + Requests[860].Request.Method = "DELETE"; + Requests[860].Request.Path = "/projects/b1d78b4a-/images/tags"; + Requests[861] = new DefaultHttpContext(); + Requests[861].RequestServices = CreateServices(); + Requests[861].Request.Method = "POST"; + Requests[861].Request.Path = "/projects/11917603-/images/tags"; + Requests[862] = new DefaultHttpContext(); + Requests[862].RequestServices = CreateServices(); + Requests[862].Request.Method = "GET"; + Requests[862].Request.Path = "/projects/e5253ed6-/images/untagged"; + Requests[863] = new DefaultHttpContext(); + Requests[863].RequestServices = CreateServices(); + Requests[863].Request.Method = "POST"; + Requests[863].Request.Path = "/projects/cdaa0b04-/images/urls"; + Requests[864] = new DefaultHttpContext(); + Requests[864].RequestServices = CreateServices(); + Requests[864].Request.Method = "POST"; + Requests[864].Request.Path = "/projects/e1d4e435-/predictions/query"; + Requests[865] = new DefaultHttpContext(); + Requests[865].RequestServices = CreateServices(); + Requests[865].Request.Method = "POST"; + Requests[865].Request.Path = "/projects/562348bb-/quicktest/image"; + Requests[866] = new DefaultHttpContext(); + Requests[866].RequestServices = CreateServices(); + Requests[866].Request.Method = "POST"; + Requests[866].Request.Path = "/projects/113b1986-/quicktest/url"; + Requests[867] = new DefaultHttpContext(); + Requests[867].RequestServices = CreateServices(); + Requests[867].Request.Method = "POST"; + Requests[867].Request.Path = "/Services/ab575683-/$/Delete"; + Requests[868] = new DefaultHttpContext(); + Requests[868].RequestServices = CreateServices(); + Requests[868].Request.Method = "POST"; + Requests[868].Request.Path = "/Services/23376534-/$/DisableBackup"; + Requests[869] = new DefaultHttpContext(); + Requests[869].RequestServices = CreateServices(); + Requests[869].Request.Method = "POST"; + Requests[869].Request.Path = "/Services/d4095803-/$/EnableBackup"; + Requests[870] = new DefaultHttpContext(); + Requests[870].RequestServices = CreateServices(); + Requests[870].Request.Method = "GET"; + Requests[870].Request.Path = "/Services/0431d2a4-/$/GetApplicationName"; + Requests[871] = new DefaultHttpContext(); + Requests[871].RequestServices = CreateServices(); + Requests[871].Request.Method = "GET"; + Requests[871].Request.Path = "/Services/bff31263-/$/GetBackupConfigurationInfo"; + Requests[872] = new DefaultHttpContext(); + Requests[872].RequestServices = CreateServices(); + Requests[872].Request.Method = "GET"; + Requests[872].Request.Path = "/Services/e2a9d29d-/$/GetBackups"; + Requests[873] = new DefaultHttpContext(); + Requests[873].RequestServices = CreateServices(); + Requests[873].Request.Method = "GET"; + Requests[873].Request.Path = "/Services/86ac9864-/$/GetDescription"; + Requests[874] = new DefaultHttpContext(); + Requests[874].RequestServices = CreateServices(); + Requests[874].Request.Method = "POST"; + Requests[874].Request.Path = "/Services/6fc8ba32-/$/GetHealth"; + Requests[875] = new DefaultHttpContext(); + Requests[875].RequestServices = CreateServices(); + Requests[875].Request.Method = "GET"; + Requests[875].Request.Path = "/Services/e524bd5b-/$/GetHealth"; + Requests[876] = new DefaultHttpContext(); + Requests[876].RequestServices = CreateServices(); + Requests[876].Request.Method = "GET"; + Requests[876].Request.Path = "/Services/ac25d8af-/$/GetPartitions"; + Requests[877] = new DefaultHttpContext(); + Requests[877].RequestServices = CreateServices(); + Requests[877].Request.Method = "POST"; + Requests[877].Request.Path = "/Services/521379e0-/$/ReportHealth"; + Requests[878] = new DefaultHttpContext(); + Requests[878].RequestServices = CreateServices(); + Requests[878].Request.Method = "GET"; + Requests[878].Request.Path = "/Services/7e924ad0-/$/ResolvePartition"; + Requests[879] = new DefaultHttpContext(); + Requests[879].RequestServices = CreateServices(); + Requests[879].Request.Method = "POST"; + Requests[879].Request.Path = "/Services/4f6bcf02-/$/ResumeBackup"; + Requests[880] = new DefaultHttpContext(); + Requests[880].RequestServices = CreateServices(); + Requests[880].Request.Method = "POST"; + Requests[880].Request.Path = "/Services/c4066929-/$/SuspendBackup"; + Requests[881] = new DefaultHttpContext(); + Requests[881].RequestServices = CreateServices(); + Requests[881].Request.Method = "POST"; + Requests[881].Request.Path = "/Services/7ad3bf49-/$/Update"; + Requests[882] = new DefaultHttpContext(); + Requests[882].RequestServices = CreateServices(); + Requests[882].Request.Method = "POST"; + Requests[882].Request.Path = "/tenant/5f6fc501-3/git/regeneratePrimaryKey"; + Requests[883] = new DefaultHttpContext(); + Requests[883].RequestServices = CreateServices(); + Requests[883].Request.Method = "POST"; + Requests[883].Request.Path = "/tenant/07f9ea58-f/git/regenerateSecondaryKey"; + Requests[884] = new DefaultHttpContext(); + Requests[884].RequestServices = CreateServices(); + Requests[884].Request.Method = "GET"; + Requests[884].Request.Path = "/projects/54dec105-/images/tagged/count"; + Requests[885] = new DefaultHttpContext(); + Requests[885].RequestServices = CreateServices(); + Requests[885].Request.Method = "GET"; + Requests[885].Request.Path = "/projects/3f6ddd0e-/images/untagged/count"; + Requests[886] = new DefaultHttpContext(); + Requests[886].RequestServices = CreateServices(); + Requests[886].Request.Method = "GET"; + Requests[886].Request.Path = "/subscriptions/0a5a0c6d-71f0-/providers/Microsoft.AAD/domainServices"; + Requests[887] = new DefaultHttpContext(); + Requests[887].RequestServices = CreateServices(); + Requests[887].Request.Method = "GET"; + Requests[887].Request.Path = "/subscriptions/fb7e38ea-cddd-/providers/Microsoft.Advisor/configurations"; + Requests[888] = new DefaultHttpContext(); + Requests[888].RequestServices = CreateServices(); + Requests[888].Request.Method = "PUT"; + Requests[888].Request.Path = "/subscriptions/46b22cf9-858e-/providers/Microsoft.Advisor/configurations"; + Requests[889] = new DefaultHttpContext(); + Requests[889].RequestServices = CreateServices(); + Requests[889].Request.Method = "POST"; + Requests[889].Request.Path = "/subscriptions/21b6ffc4-40da-/providers/Microsoft.Advisor/generateRecommendations"; + Requests[890] = new DefaultHttpContext(); + Requests[890].RequestServices = CreateServices(); + Requests[890].Request.Method = "GET"; + Requests[890].Request.Path = "/subscriptions/1264f84b-d223-/providers/Microsoft.Advisor/recommendations"; + Requests[891] = new DefaultHttpContext(); + Requests[891].RequestServices = CreateServices(); + Requests[891].Request.Method = "GET"; + Requests[891].Request.Path = "/subscriptions/af225166-5f40-/providers/Microsoft.Advisor/suppressions"; + Requests[892] = new DefaultHttpContext(); + Requests[892].RequestServices = CreateServices(); + Requests[892].Request.Method = "GET"; + Requests[892].Request.Path = "/subscriptions/a2918165-b0b2-/providers/Microsoft.AnalysisServices/servers"; + Requests[893] = new DefaultHttpContext(); + Requests[893].RequestServices = CreateServices(); + Requests[893].Request.Method = "GET"; + Requests[893].Request.Path = "/subscriptions/c13257a4-e1be-/providers/Microsoft.AnalysisServices/skus"; + Requests[894] = new DefaultHttpContext(); + Requests[894].RequestServices = CreateServices(); + Requests[894].Request.Method = "POST"; + Requests[894].Request.Path = "/subscriptions/258d12b1-72f2-/providers/Microsoft.ApiManagement/checkNameAvailability"; + Requests[895] = new DefaultHttpContext(); + Requests[895].RequestServices = CreateServices(); + Requests[895].Request.Method = "GET"; + Requests[895].Request.Path = "/subscriptions/901e692f-e538-/providers/Microsoft.ApiManagement/service"; + Requests[896] = new DefaultHttpContext(); + Requests[896].RequestServices = CreateServices(); + Requests[896].Request.Method = "GET"; + Requests[896].Request.Path = "/subscriptions/0bdb0c4d-b319-/providers/Microsoft.Authorization/classicAdministrators"; + Requests[897] = new DefaultHttpContext(); + Requests[897].RequestServices = CreateServices(); + Requests[897].Request.Method = "GET"; + Requests[897].Request.Path = "/subscriptions/7ec58203-f3da-/providers/Microsoft.Authorization/locks"; + Requests[898] = new DefaultHttpContext(); + Requests[898].RequestServices = CreateServices(); + Requests[898].Request.Method = "GET"; + Requests[898].Request.Path = "/subscriptions/453decbc-11e9-/providers/Microsoft.Authorization/policyAssignments"; + Requests[899] = new DefaultHttpContext(); + Requests[899].RequestServices = CreateServices(); + Requests[899].Request.Method = "GET"; + Requests[899].Request.Path = "/subscriptions/6841c237-6a91-/providers/Microsoft.Authorization/policyDefinitions"; + Requests[900] = new DefaultHttpContext(); + Requests[900].RequestServices = CreateServices(); + Requests[900].Request.Method = "GET"; + Requests[900].Request.Path = "/subscriptions/e4ad2fbb-317b-/providers/Microsoft.Authorization/policySetDefinitions"; + Requests[901] = new DefaultHttpContext(); + Requests[901].RequestServices = CreateServices(); + Requests[901].Request.Method = "GET"; + Requests[901].Request.Path = "/subscriptions/d9d4352e-2e35-/providers/Microsoft.Authorization/roleAssignments"; + Requests[902] = new DefaultHttpContext(); + Requests[902].RequestServices = CreateServices(); + Requests[902].Request.Method = "GET"; + Requests[902].Request.Path = "/subscriptions/1c5fbf85-2b5c-/providers/Microsoft.Automation/automationAccounts"; + Requests[903] = new DefaultHttpContext(); + Requests[903].RequestServices = CreateServices(); + Requests[903].Request.Method = "GET"; + Requests[903].Request.Path = "/subscriptions/d489737f-5ebd-/providers/Microsoft.Batch/batchAccounts"; + Requests[904] = new DefaultHttpContext(); + Requests[904].RequestServices = CreateServices(); + Requests[904].Request.Method = "GET"; + Requests[904].Request.Path = "/subscriptions/95368823-be35-/providers/Microsoft.BatchAI/clusters"; + Requests[905] = new DefaultHttpContext(); + Requests[905].RequestServices = CreateServices(); + Requests[905].Request.Method = "GET"; + Requests[905].Request.Path = "/subscriptions/01e71765-c032-/providers/Microsoft.BatchAI/fileServers"; + Requests[906] = new DefaultHttpContext(); + Requests[906].RequestServices = CreateServices(); + Requests[906].Request.Method = "GET"; + Requests[906].Request.Path = "/subscriptions/066ba07b-f9e8-/providers/Microsoft.BatchAI/jobs"; + Requests[907] = new DefaultHttpContext(); + Requests[907].RequestServices = CreateServices(); + Requests[907].Request.Method = "GET"; + Requests[907].Request.Path = "/subscriptions/e30ac44d-1763-/providers/Microsoft.BatchAI/workspaces"; + Requests[908] = new DefaultHttpContext(); + Requests[908].RequestServices = CreateServices(); + Requests[908].Request.Method = "GET"; + Requests[908].Request.Path = "/subscriptions/2d0503b6-58e1-/providers/Microsoft.Billing/billingPeriods"; + Requests[909] = new DefaultHttpContext(); + Requests[909].RequestServices = CreateServices(); + Requests[909].Request.Method = "GET"; + Requests[909].Request.Path = "/subscriptions/aebd7110-1360-/providers/Microsoft.Billing/invoices"; + Requests[910] = new DefaultHttpContext(); + Requests[910].RequestServices = CreateServices(); + Requests[910].Request.Method = "GET"; + Requests[910].Request.Path = "/subscriptions/329c7408-368e-/providers/Microsoft.BotService/botServices"; + Requests[911] = new DefaultHttpContext(); + Requests[911].RequestServices = CreateServices(); + Requests[911].Request.Method = "POST"; + Requests[911].Request.Path = "/subscriptions/43381579-d824-/providers/Microsoft.Cache/CheckNameAvailability"; + Requests[912] = new DefaultHttpContext(); + Requests[912].RequestServices = CreateServices(); + Requests[912].Request.Method = "GET"; + Requests[912].Request.Path = "/subscriptions/8cc1a5b5-64be-/providers/Microsoft.Cache/Redis"; + Requests[913] = new DefaultHttpContext(); + Requests[913].RequestServices = CreateServices(); + Requests[913].Request.Method = "GET"; + Requests[913].Request.Path = "/subscriptions/eac0509e-2c39-/providers/Microsoft.Capacity/appliedReservations"; + Requests[914] = new DefaultHttpContext(); + Requests[914].RequestServices = CreateServices(); + Requests[914].Request.Method = "GET"; + Requests[914].Request.Path = "/subscriptions/bdb0b1f7-0f01-/providers/Microsoft.Capacity/catalogs"; + Requests[915] = new DefaultHttpContext(); + Requests[915].RequestServices = CreateServices(); + Requests[915].Request.Method = "POST"; + Requests[915].Request.Path = "/subscriptions/e8404501-3911-/providers/Microsoft.Cdn/checkNameAvailability"; + Requests[916] = new DefaultHttpContext(); + Requests[916].RequestServices = CreateServices(); + Requests[916].Request.Method = "POST"; + Requests[916].Request.Path = "/subscriptions/3846164b-d147-/providers/Microsoft.Cdn/checkResourceUsage"; + Requests[917] = new DefaultHttpContext(); + Requests[917].RequestServices = CreateServices(); + Requests[917].Request.Method = "GET"; + Requests[917].Request.Path = "/subscriptions/c8afe5bb-ae62-/providers/Microsoft.Cdn/profiles"; + Requests[918] = new DefaultHttpContext(); + Requests[918].RequestServices = CreateServices(); + Requests[918].Request.Method = "POST"; + Requests[918].Request.Path = "/subscriptions/285ee03a-12e4-/providers/Microsoft.Cdn/validateProbe"; + Requests[919] = new DefaultHttpContext(); + Requests[919].RequestServices = CreateServices(); + Requests[919].Request.Method = "GET"; + Requests[919].Request.Path = "/subscriptions/77f9a941-6ddb-/providers/Microsoft.CertificateRegistration/certificateOrders"; + Requests[920] = new DefaultHttpContext(); + Requests[920].RequestServices = CreateServices(); + Requests[920].Request.Method = "POST"; + Requests[920].Request.Path = "/subscriptions/c7919896-8cf6-/providers/Microsoft.CertificateRegistration/validateCertificateRegistrationInformation"; + Requests[921] = new DefaultHttpContext(); + Requests[921].RequestServices = CreateServices(); + Requests[921].Request.Method = "GET"; + Requests[921].Request.Path = "/subscriptions/dfbd3abc-6afb-/providers/Microsoft.CognitiveServices/accounts"; + Requests[922] = new DefaultHttpContext(); + Requests[922].RequestServices = CreateServices(); + Requests[922].Request.Method = "GET"; + Requests[922].Request.Path = "/subscriptions/9de165c5-a845-/providers/Microsoft.CognitiveServices/skus"; + Requests[923] = new DefaultHttpContext(); + Requests[923].RequestServices = CreateServices(); + Requests[923].Request.Method = "GET"; + Requests[923].Request.Path = "/subscriptions/4065b95b-6192-/providers/Microsoft.Commerce.Admin/subscriberUsageAggregates"; + Requests[924] = new DefaultHttpContext(); + Requests[924].RequestServices = CreateServices(); + Requests[924].Request.Method = "POST"; + Requests[924].Request.Path = "/subscriptions/0de13f8f-6274-/providers/Microsoft.Commerce.Admin/updateEncryption"; + Requests[925] = new DefaultHttpContext(); + Requests[925].RequestServices = CreateServices(); + Requests[925].Request.Method = "GET"; + Requests[925].Request.Path = "/subscriptions/ab4d1fc0-a352-/providers/Microsoft.Commerce/RateCard"; + Requests[926] = new DefaultHttpContext(); + Requests[926].RequestServices = CreateServices(); + Requests[926].Request.Method = "GET"; + Requests[926].Request.Path = "/subscriptions/b636a8ab-3a18-/providers/Microsoft.Commerce/UsageAggregates"; + Requests[927] = new DefaultHttpContext(); + Requests[927].RequestServices = CreateServices(); + Requests[927].Request.Method = "GET"; + Requests[927].Request.Path = "/subscriptions/fbeb450f-2dc2-/providers/Microsoft.Compute/disks"; + Requests[928] = new DefaultHttpContext(); + Requests[928].RequestServices = CreateServices(); + Requests[928].Request.Method = "GET"; + Requests[928].Request.Path = "/subscriptions/b44f5eb3-5952-/providers/Microsoft.Compute/galleries"; + Requests[929] = new DefaultHttpContext(); + Requests[929].RequestServices = CreateServices(); + Requests[929].Request.Method = "GET"; + Requests[929].Request.Path = "/subscriptions/4688bd31-77f6-/providers/Microsoft.Compute/images"; + Requests[930] = new DefaultHttpContext(); + Requests[930].RequestServices = CreateServices(); + Requests[930].Request.Method = "GET"; + Requests[930].Request.Path = "/subscriptions/66d35a79-eb43-/providers/Microsoft.Compute/skus"; + Requests[931] = new DefaultHttpContext(); + Requests[931].RequestServices = CreateServices(); + Requests[931].Request.Method = "GET"; + Requests[931].Request.Path = "/subscriptions/9181ace1-4b6c-/providers/Microsoft.Compute/snapshots"; + Requests[932] = new DefaultHttpContext(); + Requests[932].RequestServices = CreateServices(); + Requests[932].Request.Method = "GET"; + Requests[932].Request.Path = "/subscriptions/01445b38-3dcf-/providers/Microsoft.Compute/virtualMachines"; + Requests[933] = new DefaultHttpContext(); + Requests[933].RequestServices = CreateServices(); + Requests[933].Request.Method = "GET"; + Requests[933].Request.Path = "/subscriptions/086ae94a-d24d-/providers/Microsoft.Compute/virtualMachineScaleSets"; + Requests[934] = new DefaultHttpContext(); + Requests[934].RequestServices = CreateServices(); + Requests[934].Request.Method = "GET"; + Requests[934].Request.Path = "/subscriptions/8c26d0a3-2c27-/providers/Microsoft.Consumption/budgets"; + Requests[935] = new DefaultHttpContext(); + Requests[935].RequestServices = CreateServices(); + Requests[935].Request.Method = "GET"; + Requests[935].Request.Path = "/subscriptions/58715cc1-da0f-/providers/Microsoft.Consumption/forecasts"; + Requests[936] = new DefaultHttpContext(); + Requests[936].RequestServices = CreateServices(); + Requests[936].Request.Method = "GET"; + Requests[936].Request.Path = "/subscriptions/e6d912d5-a65f-/providers/Microsoft.Consumption/marketplaces"; + Requests[937] = new DefaultHttpContext(); + Requests[937].RequestServices = CreateServices(); + Requests[937].Request.Method = "GET"; + Requests[937].Request.Path = "/subscriptions/365acf77-7ba3-/providers/Microsoft.Consumption/reservationRecommendations"; + Requests[938] = new DefaultHttpContext(); + Requests[938].RequestServices = CreateServices(); + Requests[938].Request.Method = "GET"; + Requests[938].Request.Path = "/subscriptions/f2a30466-5f3f-/providers/Microsoft.Consumption/usageDetails"; + Requests[939] = new DefaultHttpContext(); + Requests[939].RequestServices = CreateServices(); + Requests[939].Request.Method = "GET"; + Requests[939].Request.Path = "/subscriptions/6fccc861-579c-/providers/Microsoft.ContainerInstance/containerGroups"; + Requests[940] = new DefaultHttpContext(); + Requests[940].RequestServices = CreateServices(); + Requests[940].Request.Method = "POST"; + Requests[940].Request.Path = "/subscriptions/d3e733bb-ff9a-/providers/Microsoft.ContainerRegistry/checkNameAvailability"; + Requests[941] = new DefaultHttpContext(); + Requests[941].RequestServices = CreateServices(); + Requests[941].Request.Method = "GET"; + Requests[941].Request.Path = "/subscriptions/d1d5a743-7fef-/providers/Microsoft.ContainerRegistry/registries"; + Requests[942] = new DefaultHttpContext(); + Requests[942].RequestServices = CreateServices(); + Requests[942].Request.Method = "GET"; + Requests[942].Request.Path = "/subscriptions/6565c67e-2b33-/providers/Microsoft.ContainerService/containerServices"; + Requests[943] = new DefaultHttpContext(); + Requests[943].RequestServices = CreateServices(); + Requests[943].Request.Method = "GET"; + Requests[943].Request.Path = "/subscriptions/08e683bc-ccb7-/providers/Microsoft.ContainerService/managedClusters"; + Requests[944] = new DefaultHttpContext(); + Requests[944].RequestServices = CreateServices(); + Requests[944].Request.Method = "GET"; + Requests[944].Request.Path = "/subscriptions/a3ba9879-b0ca-/providers/Microsoft.CustomerInsights/hubs"; + Requests[945] = new DefaultHttpContext(); + Requests[945].RequestServices = CreateServices(); + Requests[945].Request.Method = "GET"; + Requests[945].Request.Path = "/subscriptions/5f487c4c-0773-/providers/Microsoft.DataBox/jobs"; + Requests[946] = new DefaultHttpContext(); + Requests[946].RequestServices = CreateServices(); + Requests[946].Request.Method = "GET"; + Requests[946].Request.Path = "/subscriptions/d79f3883-1cfc-/providers/Microsoft.Databricks/workspaces"; + Requests[947] = new DefaultHttpContext(); + Requests[947].RequestServices = CreateServices(); + Requests[947].Request.Method = "GET"; + Requests[947].Request.Path = "/subscriptions/042023a8-7c2e-/providers/Microsoft.DataFactory/factories"; + Requests[948] = new DefaultHttpContext(); + Requests[948].RequestServices = CreateServices(); + Requests[948].Request.Method = "GET"; + Requests[948].Request.Path = "/subscriptions/077418d5-9cd9-/providers/Microsoft.DataLakeAnalytics/accounts"; + Requests[949] = new DefaultHttpContext(); + Requests[949].RequestServices = CreateServices(); + Requests[949].Request.Method = "GET"; + Requests[949].Request.Path = "/subscriptions/1c264d89-aae7-/providers/Microsoft.DataLakeStore/accounts"; + Requests[950] = new DefaultHttpContext(); + Requests[950].RequestServices = CreateServices(); + Requests[950].Request.Method = "GET"; + Requests[950].Request.Path = "/subscriptions/1f1db437-0ffe-/providers/Microsoft.DataMigration/services"; + Requests[951] = new DefaultHttpContext(); + Requests[951].RequestServices = CreateServices(); + Requests[951].Request.Method = "GET"; + Requests[951].Request.Path = "/subscriptions/67959fe5-ed43-/providers/Microsoft.DataMigration/skus"; + Requests[952] = new DefaultHttpContext(); + Requests[952].RequestServices = CreateServices(); + Requests[952].Request.Method = "POST"; + Requests[952].Request.Path = "/subscriptions/c1c54da4-3a26-/providers/Microsoft.DBforMySQL/checkNameAvailability"; + Requests[953] = new DefaultHttpContext(); + Requests[953].RequestServices = CreateServices(); + Requests[953].Request.Method = "GET"; + Requests[953].Request.Path = "/subscriptions/6db645fb-a27b-/providers/Microsoft.DBforMySQL/performanceTiers"; + Requests[954] = new DefaultHttpContext(); + Requests[954].RequestServices = CreateServices(); + Requests[954].Request.Method = "GET"; + Requests[954].Request.Path = "/subscriptions/9f5b84bd-a1b4-/providers/Microsoft.DBforMySQL/servers"; + Requests[955] = new DefaultHttpContext(); + Requests[955].RequestServices = CreateServices(); + Requests[955].Request.Method = "POST"; + Requests[955].Request.Path = "/subscriptions/30d324cb-ef20-/providers/Microsoft.DBforPostgreSQL/checkNameAvailability"; + Requests[956] = new DefaultHttpContext(); + Requests[956].RequestServices = CreateServices(); + Requests[956].Request.Method = "GET"; + Requests[956].Request.Path = "/subscriptions/6ccc3dbb-690b-/providers/Microsoft.DBforPostgreSQL/performanceTiers"; + Requests[957] = new DefaultHttpContext(); + Requests[957].RequestServices = CreateServices(); + Requests[957].Request.Method = "GET"; + Requests[957].Request.Path = "/subscriptions/5b9e5fea-63ca-/providers/Microsoft.DBforPostgreSQL/servers"; + Requests[958] = new DefaultHttpContext(); + Requests[958].RequestServices = CreateServices(); + Requests[958].Request.Method = "POST"; + Requests[958].Request.Path = "/subscriptions/08e6a542-dc6c-/providers/Microsoft.Devices/checkNameAvailability"; + Requests[959] = new DefaultHttpContext(); + Requests[959].RequestServices = CreateServices(); + Requests[959].Request.Method = "POST"; + Requests[959].Request.Path = "/subscriptions/cc01704f-1fe1-/providers/Microsoft.Devices/checkProvisioningServiceNameAvailability"; + Requests[960] = new DefaultHttpContext(); + Requests[960].RequestServices = CreateServices(); + Requests[960].Request.Method = "GET"; + Requests[960].Request.Path = "/subscriptions/62693f65-3c70-/providers/Microsoft.Devices/IotHubs"; + Requests[961] = new DefaultHttpContext(); + Requests[961].RequestServices = CreateServices(); + Requests[961].Request.Method = "GET"; + Requests[961].Request.Path = "/subscriptions/6f39740a-bd55-/providers/Microsoft.Devices/provisioningServices"; + Requests[962] = new DefaultHttpContext(); + Requests[962].RequestServices = CreateServices(); + Requests[962].Request.Method = "GET"; + Requests[962].Request.Path = "/subscriptions/ea71a529-c606-/providers/Microsoft.Devices/usages"; + Requests[963] = new DefaultHttpContext(); + Requests[963].RequestServices = CreateServices(); + Requests[963].Request.Method = "GET"; + Requests[963].Request.Path = "/subscriptions/88dbf9a4-e93a-/providers/Microsoft.DevTestLab/labs"; + Requests[964] = new DefaultHttpContext(); + Requests[964].RequestServices = CreateServices(); + Requests[964].Request.Method = "GET"; + Requests[964].Request.Path = "/subscriptions/aba6c745-cd72-/providers/Microsoft.DevTestLab/schedules"; + Requests[965] = new DefaultHttpContext(); + Requests[965].RequestServices = CreateServices(); + Requests[965].Request.Method = "GET"; + Requests[965].Request.Path = "/subscriptions/3405359b-1a86-/providers/Microsoft.DocumentDB/databaseAccounts"; + Requests[966] = new DefaultHttpContext(); + Requests[966].RequestServices = CreateServices(); + Requests[966].Request.Method = "POST"; + Requests[966].Request.Path = "/subscriptions/cdac7e69-032a-/providers/Microsoft.DomainRegistration/checkDomainAvailability"; + Requests[967] = new DefaultHttpContext(); + Requests[967].RequestServices = CreateServices(); + Requests[967].Request.Method = "GET"; + Requests[967].Request.Path = "/subscriptions/903d4f4b-a043-/providers/Microsoft.DomainRegistration/domains"; + Requests[968] = new DefaultHttpContext(); + Requests[968].RequestServices = CreateServices(); + Requests[968].Request.Method = "POST"; + Requests[968].Request.Path = "/subscriptions/b2f972a3-19e0-/providers/Microsoft.DomainRegistration/generateSsoRequest"; + Requests[969] = new DefaultHttpContext(); + Requests[969].RequestServices = CreateServices(); + Requests[969].Request.Method = "POST"; + Requests[969].Request.Path = "/subscriptions/b9d6fe3d-8ba6-/providers/Microsoft.DomainRegistration/listDomainRecommendations"; + Requests[970] = new DefaultHttpContext(); + Requests[970].RequestServices = CreateServices(); + Requests[970].Request.Method = "GET"; + Requests[970].Request.Path = "/subscriptions/a0766c86-4f20-/providers/Microsoft.DomainRegistration/topLevelDomains"; + Requests[971] = new DefaultHttpContext(); + Requests[971].RequestServices = CreateServices(); + Requests[971].Request.Method = "POST"; + Requests[971].Request.Path = "/subscriptions/30bd17e5-3b57-/providers/Microsoft.DomainRegistration/validateDomainRegistrationInformation"; + Requests[972] = new DefaultHttpContext(); + Requests[972].RequestServices = CreateServices(); + Requests[972].Request.Method = "GET"; + Requests[972].Request.Path = "/subscriptions/bebb30ec-0e1e-/providers/Microsoft.EventGrid/eventSubscriptions"; + Requests[973] = new DefaultHttpContext(); + Requests[973].RequestServices = CreateServices(); + Requests[973].Request.Method = "GET"; + Requests[973].Request.Path = "/subscriptions/aec6d0bf-e9c5-/providers/Microsoft.EventGrid/topics"; + Requests[974] = new DefaultHttpContext(); + Requests[974].RequestServices = CreateServices(); + Requests[974].Request.Method = "POST"; + Requests[974].Request.Path = "/subscriptions/a95d1545-da7e-/providers/Microsoft.EventHub/CheckNameAvailability"; + Requests[975] = new DefaultHttpContext(); + Requests[975].RequestServices = CreateServices(); + Requests[975].Request.Method = "POST"; + Requests[975].Request.Path = "/subscriptions/390d250c-4214-/providers/Microsoft.EventHub/CheckNamespaceAvailability"; + Requests[976] = new DefaultHttpContext(); + Requests[976].RequestServices = CreateServices(); + Requests[976].Request.Method = "GET"; + Requests[976].Request.Path = "/subscriptions/7c4b2982-3c2f-/providers/Microsoft.EventHub/namespaces"; + Requests[977] = new DefaultHttpContext(); + Requests[977].RequestServices = CreateServices(); + Requests[977].Request.Method = "GET"; + Requests[977].Request.Path = "/subscriptions/75a2d4e6-74d8-/providers/Microsoft.Features/features"; + Requests[978] = new DefaultHttpContext(); + Requests[978].RequestServices = CreateServices(); + Requests[978].Request.Method = "POST"; + Requests[978].Request.Path = "/subscriptions/ff5075ea-7701-/providers/microsoft.gallery.admin/galleryItems"; + Requests[979] = new DefaultHttpContext(); + Requests[979].RequestServices = CreateServices(); + Requests[979].Request.Method = "GET"; + Requests[979].Request.Path = "/subscriptions/0ac2f646-a44b-/providers/microsoft.gallery.admin/galleryItems"; + Requests[980] = new DefaultHttpContext(); + Requests[980].RequestServices = CreateServices(); + Requests[980].Request.Method = "GET"; + Requests[980].Request.Path = "/subscriptions/88d19def-4ba0-/providers/Microsoft.HanaOnAzure/hanaInstances"; + Requests[981] = new DefaultHttpContext(); + Requests[981].RequestServices = CreateServices(); + Requests[981].Request.Method = "GET"; + Requests[981].Request.Path = "/subscriptions/bd473a6f-9c00-/providers/Microsoft.HDInsight/clusters"; + Requests[982] = new DefaultHttpContext(); + Requests[982].RequestServices = CreateServices(); + Requests[982].Request.Method = "GET"; + Requests[982].Request.Path = "/subscriptions/daaf34b4-96f1-/providers/Microsoft.ImportExport/jobs"; + Requests[983] = new DefaultHttpContext(); + Requests[983].RequestServices = CreateServices(); + Requests[983].Request.Method = "GET"; + Requests[983].Request.Path = "/subscriptions/fe3bc475-72a7-/providers/microsoft.insights/actionGroups"; + Requests[984] = new DefaultHttpContext(); + Requests[984].RequestServices = CreateServices(); + Requests[984].Request.Method = "GET"; + Requests[984].Request.Path = "/subscriptions/e68c6114-ffab-/providers/microsoft.insights/activityLogAlerts"; + Requests[985] = new DefaultHttpContext(); + Requests[985].RequestServices = CreateServices(); + Requests[985].Request.Method = "GET"; + Requests[985].Request.Path = "/subscriptions/430259fd-e37b-/providers/Microsoft.Insights/components"; + Requests[986] = new DefaultHttpContext(); + Requests[986].RequestServices = CreateServices(); + Requests[986].Request.Method = "POST"; + Requests[986].Request.Path = "/subscriptions/e23417a9-cb23-/providers/microsoft.insights/listMigrationdate"; + Requests[987] = new DefaultHttpContext(); + Requests[987].RequestServices = CreateServices(); + Requests[987].Request.Method = "GET"; + Requests[987].Request.Path = "/subscriptions/afb95f48-bfa4-/providers/microsoft.insights/logprofiles"; + Requests[988] = new DefaultHttpContext(); + Requests[988].RequestServices = CreateServices(); + Requests[988].Request.Method = "GET"; + Requests[988].Request.Path = "/subscriptions/0714f45c-a049-/providers/Microsoft.Insights/metricAlerts"; + Requests[989] = new DefaultHttpContext(); + Requests[989].RequestServices = CreateServices(); + Requests[989].Request.Method = "POST"; + Requests[989].Request.Path = "/subscriptions/8e7cf130-43c4-/providers/microsoft.insights/migrateToNewPricingModel"; + Requests[990] = new DefaultHttpContext(); + Requests[990].RequestServices = CreateServices(); + Requests[990].Request.Method = "POST"; + Requests[990].Request.Path = "/subscriptions/cc2a16a8-e9ce-/providers/microsoft.insights/rollbackToLegacyPricingModel"; + Requests[991] = new DefaultHttpContext(); + Requests[991].RequestServices = CreateServices(); + Requests[991].Request.Method = "GET"; + Requests[991].Request.Path = "/subscriptions/e31b3661-94d7-/providers/microsoft.insights/scheduledQueryRules"; + Requests[992] = new DefaultHttpContext(); + Requests[992].RequestServices = CreateServices(); + Requests[992].Request.Method = "GET"; + Requests[992].Request.Path = "/subscriptions/a6f87413-1940-/providers/Microsoft.Insights/webtests"; + Requests[993] = new DefaultHttpContext(); + Requests[993].RequestServices = CreateServices(); + Requests[993].Request.Method = "POST"; + Requests[993].Request.Path = "/subscriptions/0f638a4c-8051-/providers/Microsoft.IoTCentral/checkNameAvailability"; + Requests[994] = new DefaultHttpContext(); + Requests[994].RequestServices = CreateServices(); + Requests[994].Request.Method = "GET"; + Requests[994].Request.Path = "/subscriptions/24da9142-d847-/providers/Microsoft.IoTCentral/IoTApps"; + Requests[995] = new DefaultHttpContext(); + Requests[995].RequestServices = CreateServices(); + Requests[995].Request.Method = "POST"; + Requests[995].Request.Path = "/subscriptions/e58b4a26-9959-/providers/Microsoft.IoTSpaces/checkNameAvailability"; + Requests[996] = new DefaultHttpContext(); + Requests[996].RequestServices = CreateServices(); + Requests[996].Request.Method = "GET"; + Requests[996].Request.Path = "/subscriptions/8360ae11-9e4b-/providers/Microsoft.IoTSpaces/Graph"; + Requests[997] = new DefaultHttpContext(); + Requests[997].RequestServices = CreateServices(); + Requests[997].Request.Method = "POST"; + Requests[997].Request.Path = "/subscriptions/c4e695d6-538f-/providers/Microsoft.KeyVault/checkNameAvailability"; + Requests[998] = new DefaultHttpContext(); + Requests[998].RequestServices = CreateServices(); + Requests[998].Request.Method = "GET"; + Requests[998].Request.Path = "/subscriptions/e7b82dca-b3f3-/providers/Microsoft.KeyVault/deletedVaults"; + Requests[999] = new DefaultHttpContext(); + Requests[999].RequestServices = CreateServices(); + Requests[999].Request.Method = "GET"; + Requests[999].Request.Path = "/subscriptions/f62ec81b-248c-/providers/Microsoft.KeyVault/vaults"; + Requests[1000] = new DefaultHttpContext(); + Requests[1000].RequestServices = CreateServices(); + Requests[1000].Request.Method = "GET"; + Requests[1000].Request.Path = "/subscriptions/6e6b976c-82fe-/providers/Microsoft.Logic/integrationAccounts"; + Requests[1001] = new DefaultHttpContext(); + Requests[1001].RequestServices = CreateServices(); + Requests[1001].Request.Method = "GET"; + Requests[1001].Request.Path = "/subscriptions/cb8a5cee-0f64-/providers/Microsoft.Logic/workflows"; + Requests[1002] = new DefaultHttpContext(); + Requests[1002].RequestServices = CreateServices(); + Requests[1002].Request.Method = "GET"; + Requests[1002].Request.Path = "/subscriptions/486385fd-2b23-/providers/Microsoft.MachineLearning/commitmentPlans"; + Requests[1003] = new DefaultHttpContext(); + Requests[1003].RequestServices = CreateServices(); + Requests[1003].Request.Method = "GET"; + Requests[1003].Request.Path = "/subscriptions/938b0efa-9eca-/providers/Microsoft.MachineLearning/skus"; + Requests[1004] = new DefaultHttpContext(); + Requests[1004].RequestServices = CreateServices(); + Requests[1004].Request.Method = "GET"; + Requests[1004].Request.Path = "/subscriptions/16361157-288d-/providers/Microsoft.MachineLearning/webServices"; + Requests[1005] = new DefaultHttpContext(); + Requests[1005].RequestServices = CreateServices(); + Requests[1005].Request.Method = "GET"; + Requests[1005].Request.Path = "/subscriptions/52fdc34a-6c10-/providers/Microsoft.MachineLearning/workspaces"; + Requests[1006] = new DefaultHttpContext(); + Requests[1006].RequestServices = CreateServices(); + Requests[1006].Request.Method = "GET"; + Requests[1006].Request.Path = "/subscriptions/5c89d884-3d39-/providers/Microsoft.MachineLearningCompute/operationalizationClusters"; + Requests[1007] = new DefaultHttpContext(); + Requests[1007].RequestServices = CreateServices(); + Requests[1007].Request.Method = "GET"; + Requests[1007].Request.Path = "/subscriptions/2c76e406-d2b1-/providers/Microsoft.MachineLearningExperimentation/accounts"; + Requests[1008] = new DefaultHttpContext(); + Requests[1008].RequestServices = CreateServices(); + Requests[1008].Request.Method = "GET"; + Requests[1008].Request.Path = "/subscriptions/a2fe8944-808a-/providers/Microsoft.MachineLearningServices/workspaces"; + Requests[1009] = new DefaultHttpContext(); + Requests[1009].RequestServices = CreateServices(); + Requests[1009].Request.Method = "GET"; + Requests[1009].Request.Path = "/subscriptions/807bb23c-6a9d-/providers/Microsoft.ManagedIdentity/userAssignedIdentities"; + Requests[1010] = new DefaultHttpContext(); + Requests[1010].RequestServices = CreateServices(); + Requests[1010].Request.Method = "GET"; + Requests[1010].Request.Path = "/subscriptions/c77a28f7-54f1-/providers/Microsoft.Maps/accounts"; + Requests[1011] = new DefaultHttpContext(); + Requests[1011].RequestServices = CreateServices(); + Requests[1011].Request.Method = "POST"; + Requests[1011].Request.Path = "/subscriptions/a58b330b-15f2-/providers/Microsoft.Media/CheckNameAvailability"; + Requests[1012] = new DefaultHttpContext(); + Requests[1012].RequestServices = CreateServices(); + Requests[1012].Request.Method = "GET"; + Requests[1012].Request.Path = "/subscriptions/cc0aa715-5a43-/providers/Microsoft.Media/mediaservices"; + Requests[1013] = new DefaultHttpContext(); + Requests[1013].RequestServices = CreateServices(); + Requests[1013].Request.Method = "GET"; + Requests[1013].Request.Path = "/subscriptions/08f789a7-81d0-/providers/Microsoft.Network.Admin/adminLoadBalancers"; + Requests[1014] = new DefaultHttpContext(); + Requests[1014].RequestServices = CreateServices(); + Requests[1014].Request.Method = "GET"; + Requests[1014].Request.Path = "/subscriptions/88528d53-d7fb-/providers/Microsoft.Network.Admin/adminOverview"; + Requests[1015] = new DefaultHttpContext(); + Requests[1015].RequestServices = CreateServices(); + Requests[1015].Request.Method = "GET"; + Requests[1015].Request.Path = "/subscriptions/11593304-b279-/providers/Microsoft.Network.Admin/adminPublicIpAddresses"; + Requests[1016] = new DefaultHttpContext(); + Requests[1016].RequestServices = CreateServices(); + Requests[1016].Request.Method = "GET"; + Requests[1016].Request.Path = "/subscriptions/a96762e9-f34f-/providers/Microsoft.Network.Admin/adminVirtualNetworks"; + Requests[1017] = new DefaultHttpContext(); + Requests[1017].RequestServices = CreateServices(); + Requests[1017].Request.Method = "GET"; + Requests[1017].Request.Path = "/subscriptions/71594e4d-64fe-/providers/Microsoft.Network/applicationGatewayAvailableWafRuleSets"; + Requests[1018] = new DefaultHttpContext(); + Requests[1018].RequestServices = CreateServices(); + Requests[1018].Request.Method = "GET"; + Requests[1018].Request.Path = "/subscriptions/d8252758-af67-/providers/Microsoft.Network/applicationGateways"; + Requests[1019] = new DefaultHttpContext(); + Requests[1019].RequestServices = CreateServices(); + Requests[1019].Request.Method = "GET"; + Requests[1019].Request.Path = "/subscriptions/68a3bd99-ac0e-/providers/Microsoft.Network/applicationSecurityGroups"; + Requests[1020] = new DefaultHttpContext(); + Requests[1020].RequestServices = CreateServices(); + Requests[1020].Request.Method = "GET"; + Requests[1020].Request.Path = "/subscriptions/884a681e-a255-/providers/Microsoft.Network/bgpServiceCommunities"; + Requests[1021] = new DefaultHttpContext(); + Requests[1021].RequestServices = CreateServices(); + Requests[1021].Request.Method = "GET"; + Requests[1021].Request.Path = "/subscriptions/963cfc45-bd9b-/providers/Microsoft.Network/ddosProtectionPlans"; + Requests[1022] = new DefaultHttpContext(); + Requests[1022].RequestServices = CreateServices(); + Requests[1022].Request.Method = "GET"; + Requests[1022].Request.Path = "/subscriptions/fedc37c5-f484-/providers/Microsoft.Network/dnszones"; + Requests[1023] = new DefaultHttpContext(); + Requests[1023].RequestServices = CreateServices(); + Requests[1023].Request.Method = "GET"; + Requests[1023].Request.Path = "/subscriptions/b035912e-9702-/providers/Microsoft.Network/expressRouteCircuits"; + Requests[1024] = new DefaultHttpContext(); + Requests[1024].RequestServices = CreateServices(); + Requests[1024].Request.Method = "GET"; + Requests[1024].Request.Path = "/subscriptions/88bd1b39-78bf-/providers/Microsoft.Network/expressRouteCrossConnections"; + Requests[1025] = new DefaultHttpContext(); + Requests[1025].RequestServices = CreateServices(); + Requests[1025].Request.Method = "GET"; + Requests[1025].Request.Path = "/subscriptions/25279605-40d1-/providers/Microsoft.Network/expressRouteServiceProviders"; + Requests[1026] = new DefaultHttpContext(); + Requests[1026].RequestServices = CreateServices(); + Requests[1026].Request.Method = "GET"; + Requests[1026].Request.Path = "/subscriptions/de323d9d-3676-/providers/Microsoft.Network/loadBalancers"; + Requests[1027] = new DefaultHttpContext(); + Requests[1027].RequestServices = CreateServices(); + Requests[1027].Request.Method = "GET"; + Requests[1027].Request.Path = "/subscriptions/852e11ab-3639-/providers/Microsoft.Network/networkInterfaces"; + Requests[1028] = new DefaultHttpContext(); + Requests[1028].RequestServices = CreateServices(); + Requests[1028].Request.Method = "GET"; + Requests[1028].Request.Path = "/subscriptions/62853ea7-0c8b-/providers/Microsoft.Network/networkSecurityGroups"; + Requests[1029] = new DefaultHttpContext(); + Requests[1029].RequestServices = CreateServices(); + Requests[1029].Request.Method = "GET"; + Requests[1029].Request.Path = "/subscriptions/bd8cb706-0640-/providers/Microsoft.Network/networkWatchers"; + Requests[1030] = new DefaultHttpContext(); + Requests[1030].RequestServices = CreateServices(); + Requests[1030].Request.Method = "GET"; + Requests[1030].Request.Path = "/subscriptions/74055f37-0834-/providers/Microsoft.Network/publicIPAddresses"; + Requests[1031] = new DefaultHttpContext(); + Requests[1031].RequestServices = CreateServices(); + Requests[1031].Request.Method = "GET"; + Requests[1031].Request.Path = "/subscriptions/af96f5eb-e9a7-/providers/Microsoft.Network/routeFilters"; + Requests[1032] = new DefaultHttpContext(); + Requests[1032].RequestServices = CreateServices(); + Requests[1032].Request.Method = "GET"; + Requests[1032].Request.Path = "/subscriptions/5554c946-2662-/providers/Microsoft.Network/routeTables"; + Requests[1033] = new DefaultHttpContext(); + Requests[1033].RequestServices = CreateServices(); + Requests[1033].Request.Method = "GET"; + Requests[1033].Request.Path = "/subscriptions/de047bdf-40fb-/providers/Microsoft.Network/trafficmanagerprofiles"; + Requests[1034] = new DefaultHttpContext(); + Requests[1034].RequestServices = CreateServices(); + Requests[1034].Request.Method = "DELETE"; + Requests[1034].Request.Path = "/subscriptions/a1f47576-2fb6-/providers/Microsoft.Network/trafficManagerUserMetricsKeys"; + Requests[1035] = new DefaultHttpContext(); + Requests[1035].RequestServices = CreateServices(); + Requests[1035].Request.Method = "PUT"; + Requests[1035].Request.Path = "/subscriptions/8009859d-d974-/providers/Microsoft.Network/trafficManagerUserMetricsKeys"; + Requests[1036] = new DefaultHttpContext(); + Requests[1036].RequestServices = CreateServices(); + Requests[1036].Request.Method = "GET"; + Requests[1036].Request.Path = "/subscriptions/8424a2df-e09c-/providers/Microsoft.Network/trafficManagerUserMetricsKeys"; + Requests[1037] = new DefaultHttpContext(); + Requests[1037].RequestServices = CreateServices(); + Requests[1037].Request.Method = "GET"; + Requests[1037].Request.Path = "/subscriptions/28e10f36-916b-/providers/Microsoft.Network/virtualNetworks"; + Requests[1038] = new DefaultHttpContext(); + Requests[1038].RequestServices = CreateServices(); + Requests[1038].Request.Method = "POST"; + Requests[1038].Request.Path = "/subscriptions/4c43efb2-83df-/providers/Microsoft.NotificationHubs/checkNamespaceAvailability"; + Requests[1039] = new DefaultHttpContext(); + Requests[1039].RequestServices = CreateServices(); + Requests[1039].Request.Method = "GET"; + Requests[1039].Request.Path = "/subscriptions/8ba19503-53da-/providers/Microsoft.NotificationHubs/namespaces"; + Requests[1040] = new DefaultHttpContext(); + Requests[1040].RequestServices = CreateServices(); + Requests[1040].Request.Method = "GET"; + Requests[1040].Request.Path = "/subscriptions/ba8a95df-f742-/providers/Microsoft.OperationalInsights/linkTargets"; + Requests[1041] = new DefaultHttpContext(); + Requests[1041].RequestServices = CreateServices(); + Requests[1041].Request.Method = "GET"; + Requests[1041].Request.Path = "/subscriptions/bc28ee82-a370-/providers/Microsoft.OperationalInsights/workspaces"; + Requests[1042] = new DefaultHttpContext(); + Requests[1042].RequestServices = CreateServices(); + Requests[1042].Request.Method = "GET"; + Requests[1042].Request.Path = "/subscriptions/a2c5cce2-1cd1-/providers/Microsoft.OperationsManagement/ManagementAssociations"; + Requests[1043] = new DefaultHttpContext(); + Requests[1043].RequestServices = CreateServices(); + Requests[1043].Request.Method = "GET"; + Requests[1043].Request.Path = "/subscriptions/af482e37-5767-/providers/Microsoft.OperationsManagement/ManagementConfigurations"; + Requests[1044] = new DefaultHttpContext(); + Requests[1044].RequestServices = CreateServices(); + Requests[1044].Request.Method = "GET"; + Requests[1044].Request.Path = "/subscriptions/6769846a-79ed-/providers/Microsoft.OperationsManagement/solutions"; + Requests[1045] = new DefaultHttpContext(); + Requests[1045].RequestServices = CreateServices(); + Requests[1045].Request.Method = "GET"; + Requests[1045].Request.Path = "/subscriptions/ec5760af-793f-/providers/Microsoft.PowerBI/workspaceCollections"; + Requests[1046] = new DefaultHttpContext(); + Requests[1046].RequestServices = CreateServices(); + Requests[1046].Request.Method = "GET"; + Requests[1046].Request.Path = "/subscriptions/66125a82-b772-/providers/Microsoft.PowerBIDedicated/capacities"; + Requests[1047] = new DefaultHttpContext(); + Requests[1047].RequestServices = CreateServices(); + Requests[1047].Request.Method = "GET"; + Requests[1047].Request.Path = "/subscriptions/cc428b3c-67a5-/providers/Microsoft.PowerBIDedicated/skus"; + Requests[1048] = new DefaultHttpContext(); + Requests[1048].RequestServices = CreateServices(); + Requests[1048].Request.Method = "GET"; + Requests[1048].Request.Path = "/subscriptions/b036a651-fe3d-/providers/Microsoft.RecoveryServices/vaults"; + Requests[1049] = new DefaultHttpContext(); + Requests[1049].RequestServices = CreateServices(); + Requests[1049].Request.Method = "POST"; + Requests[1049].Request.Path = "/subscriptions/5d4023a3-9545-/providers/Microsoft.Relay/checkNameAvailability"; + Requests[1050] = new DefaultHttpContext(); + Requests[1050].RequestServices = CreateServices(); + Requests[1050].Request.Method = "GET"; + Requests[1050].Request.Path = "/subscriptions/f0a6a841-6dfd-/providers/Microsoft.Relay/namespaces"; + Requests[1051] = new DefaultHttpContext(); + Requests[1051].RequestServices = CreateServices(); + Requests[1051].Request.Method = "GET"; + Requests[1051].Request.Path = "/subscriptions/704a7a62-34f5-/providers/Microsoft.ResourceHealth/availabilityStatuses"; + Requests[1052] = new DefaultHttpContext(); + Requests[1052].RequestServices = CreateServices(); + Requests[1052].Request.Method = "GET"; + Requests[1052].Request.Path = "/subscriptions/aca08c7f-1898-/providers/Microsoft.Resources/links"; + Requests[1053] = new DefaultHttpContext(); + Requests[1053].RequestServices = CreateServices(); + Requests[1053].Request.Method = "GET"; + Requests[1053].Request.Path = "/subscriptions/363b10b6-bbfb-/providers/Microsoft.Scheduler/jobCollections"; + Requests[1054] = new DefaultHttpContext(); + Requests[1054].RequestServices = CreateServices(); + Requests[1054].Request.Method = "POST"; + Requests[1054].Request.Path = "/subscriptions/578b6017-3f04-/providers/Microsoft.Search/checkNameAvailability"; + Requests[1055] = new DefaultHttpContext(); + Requests[1055].RequestServices = CreateServices(); + Requests[1055].Request.Method = "GET"; + Requests[1055].Request.Path = "/subscriptions/33467e7b-db71-/providers/Microsoft.Security/alerts"; + Requests[1056] = new DefaultHttpContext(); + Requests[1056].RequestServices = CreateServices(); + Requests[1056].Request.Method = "GET"; + Requests[1056].Request.Path = "/subscriptions/6d986773-38ea-/providers/Microsoft.Security/autoProvisioningSettings"; + Requests[1057] = new DefaultHttpContext(); + Requests[1057].RequestServices = CreateServices(); + Requests[1057].Request.Method = "GET"; + Requests[1057].Request.Path = "/subscriptions/9f0401ce-0d90-/providers/Microsoft.Security/discoveredSecuritySolutions"; + Requests[1058] = new DefaultHttpContext(); + Requests[1058].RequestServices = CreateServices(); + Requests[1058].Request.Method = "GET"; + Requests[1058].Request.Path = "/subscriptions/90c3dc15-e5a0-/providers/Microsoft.Security/externalSecuritySolutions"; + Requests[1059] = new DefaultHttpContext(); + Requests[1059].RequestServices = CreateServices(); + Requests[1059].Request.Method = "GET"; + Requests[1059].Request.Path = "/subscriptions/f819e04b-bcc6-/providers/Microsoft.Security/jitNetworkAccessPolicies"; + Requests[1060] = new DefaultHttpContext(); + Requests[1060].RequestServices = CreateServices(); + Requests[1060].Request.Method = "GET"; + Requests[1060].Request.Path = "/subscriptions/3d25a6f3-7308-/providers/Microsoft.Security/locations"; + Requests[1061] = new DefaultHttpContext(); + Requests[1061].RequestServices = CreateServices(); + Requests[1061].Request.Method = "GET"; + Requests[1061].Request.Path = "/subscriptions/550c9b3c-b7f8-/providers/Microsoft.Security/pricings"; + Requests[1062] = new DefaultHttpContext(); + Requests[1062].RequestServices = CreateServices(); + Requests[1062].Request.Method = "GET"; + Requests[1062].Request.Path = "/subscriptions/2627c1ca-cbbd-/providers/Microsoft.Security/securityContacts"; + Requests[1063] = new DefaultHttpContext(); + Requests[1063].RequestServices = CreateServices(); + Requests[1063].Request.Method = "GET"; + Requests[1063].Request.Path = "/subscriptions/80a73761-56af-/providers/Microsoft.Security/tasks"; + Requests[1064] = new DefaultHttpContext(); + Requests[1064].RequestServices = CreateServices(); + Requests[1064].Request.Method = "GET"; + Requests[1064].Request.Path = "/subscriptions/a28076ef-1904-/providers/Microsoft.Security/workspaceSettings"; + Requests[1065] = new DefaultHttpContext(); + Requests[1065].RequestServices = CreateServices(); + Requests[1065].Request.Method = "GET"; + Requests[1065].Request.Path = "/subscriptions/44df1197-51b0-/providers/Microsoft.ServerManagement/gateways"; + Requests[1066] = new DefaultHttpContext(); + Requests[1066].RequestServices = CreateServices(); + Requests[1066].Request.Method = "GET"; + Requests[1066].Request.Path = "/subscriptions/81f9fd80-6072-/providers/Microsoft.ServerManagement/nodes"; + Requests[1067] = new DefaultHttpContext(); + Requests[1067].RequestServices = CreateServices(); + Requests[1067].Request.Method = "POST"; + Requests[1067].Request.Path = "/subscriptions/563cebfe-7715-/providers/Microsoft.ServiceBus/CheckNameAvailability"; + Requests[1068] = new DefaultHttpContext(); + Requests[1068].RequestServices = CreateServices(); + Requests[1068].Request.Method = "POST"; + Requests[1068].Request.Path = "/subscriptions/225f2890-62d2-/providers/Microsoft.ServiceBus/CheckNameSpaceAvailability"; + Requests[1069] = new DefaultHttpContext(); + Requests[1069].RequestServices = CreateServices(); + Requests[1069].Request.Method = "GET"; + Requests[1069].Request.Path = "/subscriptions/58f5fca4-c1ba-/providers/Microsoft.ServiceBus/namespaces"; + Requests[1070] = new DefaultHttpContext(); + Requests[1070].RequestServices = CreateServices(); + Requests[1070].Request.Method = "GET"; + Requests[1070].Request.Path = "/subscriptions/b014e3c8-6b2e-/providers/Microsoft.ServiceBus/premiumMessagingRegions"; + Requests[1071] = new DefaultHttpContext(); + Requests[1071].RequestServices = CreateServices(); + Requests[1071].Request.Method = "GET"; + Requests[1071].Request.Path = "/subscriptions/1ada5511-02db-/providers/Microsoft.ServiceFabric/clusters"; + Requests[1072] = new DefaultHttpContext(); + Requests[1072].RequestServices = CreateServices(); + Requests[1072].Request.Method = "GET"; + Requests[1072].Request.Path = "/subscriptions/178a5044-0490-/providers/Microsoft.SignalRService/SignalR"; + Requests[1073] = new DefaultHttpContext(); + Requests[1073].RequestServices = CreateServices(); + Requests[1073].Request.Method = "GET"; + Requests[1073].Request.Path = "/subscriptions/d2ea0cea-0c68-/providers/Microsoft.Solutions/appliances"; + Requests[1074] = new DefaultHttpContext(); + Requests[1074].RequestServices = CreateServices(); + Requests[1074].Request.Method = "GET"; + Requests[1074].Request.Path = "/subscriptions/d9ff1703-4af5-/providers/Microsoft.Solutions/applications"; + Requests[1075] = new DefaultHttpContext(); + Requests[1075].RequestServices = CreateServices(); + Requests[1075].Request.Method = "POST"; + Requests[1075].Request.Path = "/subscriptions/489d24e2-fef1-/providers/Microsoft.Sql/checkNameAvailability"; + Requests[1076] = new DefaultHttpContext(); + Requests[1076].RequestServices = CreateServices(); + Requests[1076].Request.Method = "GET"; + Requests[1076].Request.Path = "/subscriptions/7c102957-835d-/providers/Microsoft.Sql/managedInstances"; + Requests[1077] = new DefaultHttpContext(); + Requests[1077].RequestServices = CreateServices(); + Requests[1077].Request.Method = "GET"; + Requests[1077].Request.Path = "/subscriptions/5aee771b-ae0a-/providers/Microsoft.Sql/servers"; + Requests[1078] = new DefaultHttpContext(); + Requests[1078].RequestServices = CreateServices(); + Requests[1078].Request.Method = "POST"; + Requests[1078].Request.Path = "/subscriptions/40ba2598-1243-/providers/Microsoft.Storage/checkNameAvailability"; + Requests[1079] = new DefaultHttpContext(); + Requests[1079].RequestServices = CreateServices(); + Requests[1079].Request.Method = "GET"; + Requests[1079].Request.Path = "/subscriptions/00299657-2efd-/providers/Microsoft.Storage/skus"; + Requests[1080] = new DefaultHttpContext(); + Requests[1080].RequestServices = CreateServices(); + Requests[1080].Request.Method = "GET"; + Requests[1080].Request.Path = "/subscriptions/487bf093-35c4-/providers/Microsoft.Storage/storageAccounts"; + Requests[1081] = new DefaultHttpContext(); + Requests[1081].RequestServices = CreateServices(); + Requests[1081].Request.Method = "GET"; + Requests[1081].Request.Path = "/subscriptions/fd9fe1e6-0491-/providers/Microsoft.Storage/usages"; + Requests[1082] = new DefaultHttpContext(); + Requests[1082].RequestServices = CreateServices(); + Requests[1082].Request.Method = "GET"; + Requests[1082].Request.Path = "/subscriptions/132cf7a8-e639-/providers/Microsoft.StorSimple/managers"; + Requests[1083] = new DefaultHttpContext(); + Requests[1083].RequestServices = CreateServices(); + Requests[1083].Request.Method = "GET"; + Requests[1083].Request.Path = "/subscriptions/40557ca5-3557-/providers/Microsoft.StreamAnalytics/streamingjobs"; + Requests[1084] = new DefaultHttpContext(); + Requests[1084].RequestServices = CreateServices(); + Requests[1084].Request.Method = "POST"; + Requests[1084].Request.Path = "/subscriptions/58eb8c1a-41d7-/providers/Microsoft.Subscriptions.Admin/checkNameAvailability"; + Requests[1085] = new DefaultHttpContext(); + Requests[1085].RequestServices = CreateServices(); + Requests[1085].Request.Method = "GET"; + Requests[1085].Request.Path = "/subscriptions/d00baaa0-0a1f-/providers/Microsoft.Subscriptions.Admin/delegatedProviders"; + Requests[1086] = new DefaultHttpContext(); + Requests[1086].RequestServices = CreateServices(); + Requests[1086].Request.Method = "GET"; + Requests[1086].Request.Path = "/subscriptions/52cc570f-34af-/providers/Microsoft.Subscriptions.Admin/locations"; + Requests[1087] = new DefaultHttpContext(); + Requests[1087].RequestServices = CreateServices(); + Requests[1087].Request.Method = "POST"; + Requests[1087].Request.Path = "/subscriptions/03375967-c9e3-/providers/Microsoft.Subscriptions.Admin/moveSubscriptions"; + Requests[1088] = new DefaultHttpContext(); + Requests[1088].RequestServices = CreateServices(); + Requests[1088].Request.Method = "GET"; + Requests[1088].Request.Path = "/subscriptions/b6c779c3-5152-/providers/Microsoft.Subscriptions.Admin/offers"; + Requests[1089] = new DefaultHttpContext(); + Requests[1089].RequestServices = CreateServices(); + Requests[1089].Request.Method = "GET"; + Requests[1089].Request.Path = "/subscriptions/d69e68ff-12ac-/providers/Microsoft.Subscriptions.Admin/plans"; + Requests[1090] = new DefaultHttpContext(); + Requests[1090].RequestServices = CreateServices(); + Requests[1090].Request.Method = "POST"; + Requests[1090].Request.Path = "/subscriptions/6078dad4-200d-/providers/Microsoft.Subscriptions.Admin/restoreData"; + Requests[1091] = new DefaultHttpContext(); + Requests[1091].RequestServices = CreateServices(); + Requests[1091].Request.Method = "GET"; + Requests[1091].Request.Path = "/subscriptions/8d36d204-2cb8-/providers/Microsoft.Subscriptions.Admin/subscriptions"; + Requests[1092] = new DefaultHttpContext(); + Requests[1092].RequestServices = CreateServices(); + Requests[1092].Request.Method = "POST"; + Requests[1092].Request.Path = "/subscriptions/9de6f370-3bf4-/providers/Microsoft.Subscriptions.Admin/updateEncryption"; + Requests[1093] = new DefaultHttpContext(); + Requests[1093].RequestServices = CreateServices(); + Requests[1093].Request.Method = "POST"; + Requests[1093].Request.Path = "/subscriptions/78f48558-740a-/providers/Microsoft.Subscriptions.Admin/validateMoveSubscriptions"; + Requests[1094] = new DefaultHttpContext(); + Requests[1094].RequestServices = CreateServices(); + Requests[1094].Request.Method = "GET"; + Requests[1094].Request.Path = "/subscriptions/42438a11-50df-/providers/Microsoft.TimeSeriesInsights/environments"; + Requests[1095] = new DefaultHttpContext(); + Requests[1095].RequestServices = CreateServices(); + Requests[1095].Request.Method = "POST"; + Requests[1095].Request.Path = "/subscriptions/73f1aeed-9af5-/providers/microsoft.visualstudio/checkNameAvailability"; + Requests[1096] = new DefaultHttpContext(); + Requests[1096].RequestServices = CreateServices(); + Requests[1096].Request.Method = "GET"; + Requests[1096].Request.Path = "/subscriptions/0544cf4c-ff84-/providers/Microsoft.Web/availableStacks"; + Requests[1097] = new DefaultHttpContext(); + Requests[1097].RequestServices = CreateServices(); + Requests[1097].Request.Method = "GET"; + Requests[1097].Request.Path = "/subscriptions/04605dc7-fcb9-/providers/Microsoft.Web/billingMeters"; + Requests[1098] = new DefaultHttpContext(); + Requests[1098].RequestServices = CreateServices(); + Requests[1098].Request.Method = "GET"; + Requests[1098].Request.Path = "/subscriptions/a59dce8e-cbc1-/providers/Microsoft.Web/certificates"; + Requests[1099] = new DefaultHttpContext(); + Requests[1099].RequestServices = CreateServices(); + Requests[1099].Request.Method = "POST"; + Requests[1099].Request.Path = "/subscriptions/44d03a09-6f1b-/providers/Microsoft.Web/checknameavailability"; + Requests[1100] = new DefaultHttpContext(); + Requests[1100].RequestServices = CreateServices(); + Requests[1100].Request.Method = "GET"; + Requests[1100].Request.Path = "/subscriptions/574554f7-57ff-/providers/Microsoft.Web/classicMobileServices"; + Requests[1101] = new DefaultHttpContext(); + Requests[1101].RequestServices = CreateServices(); + Requests[1101].Request.Method = "GET"; + Requests[1101].Request.Path = "/subscriptions/e44cd816-1d24-/providers/Microsoft.Web/connectionGateways"; + Requests[1102] = new DefaultHttpContext(); + Requests[1102].RequestServices = CreateServices(); + Requests[1102].Request.Method = "GET"; + Requests[1102].Request.Path = "/subscriptions/b9ad6a66-c5fa-/providers/Microsoft.Web/customApis"; + Requests[1103] = new DefaultHttpContext(); + Requests[1103].RequestServices = CreateServices(); + Requests[1103].Request.Method = "GET"; + Requests[1103].Request.Path = "/subscriptions/015bbd01-b7cc-/providers/Microsoft.Web/deletedSites"; + Requests[1104] = new DefaultHttpContext(); + Requests[1104].RequestServices = CreateServices(); + Requests[1104].Request.Method = "GET"; + Requests[1104].Request.Path = "/subscriptions/7de8c312-a38f-/providers/Microsoft.Web/deploymentLocations"; + Requests[1105] = new DefaultHttpContext(); + Requests[1105].RequestServices = CreateServices(); + Requests[1105].Request.Method = "GET"; + Requests[1105].Request.Path = "/subscriptions/80321295-d5ec-/providers/Microsoft.Web/geoRegions"; + Requests[1106] = new DefaultHttpContext(); + Requests[1106].RequestServices = CreateServices(); + Requests[1106].Request.Method = "GET"; + Requests[1106].Request.Path = "/subscriptions/0b30fa81-9792-/providers/Microsoft.Web/hostingEnvironments"; + Requests[1107] = new DefaultHttpContext(); + Requests[1107].RequestServices = CreateServices(); + Requests[1107].Request.Method = "GET"; + Requests[1107].Request.Path = "/subscriptions/3f6c8dc7-7fe7-/providers/Microsoft.Web/ishostingenvironmentnameavailable"; + Requests[1108] = new DefaultHttpContext(); + Requests[1108].RequestServices = CreateServices(); + Requests[1108].Request.Method = "POST"; + Requests[1108].Request.Path = "/subscriptions/620d2dbe-be5a-/providers/Microsoft.Web/listSitesAssignedToHostName"; + Requests[1109] = new DefaultHttpContext(); + Requests[1109].RequestServices = CreateServices(); + Requests[1109].Request.Method = "GET"; + Requests[1109].Request.Path = "/subscriptions/4e966d1e-8db6-/providers/Microsoft.Web/managedHostingEnvironments"; + Requests[1110] = new DefaultHttpContext(); + Requests[1110].RequestServices = CreateServices(); + Requests[1110].Request.Method = "GET"; + Requests[1110].Request.Path = "/subscriptions/5811519a-7478-/providers/Microsoft.Web/premieraddonoffers"; + Requests[1111] = new DefaultHttpContext(); + Requests[1111].RequestServices = CreateServices(); + Requests[1111].Request.Method = "GET"; + Requests[1111].Request.Path = "/subscriptions/b1a9cbd9-1628-/providers/Microsoft.Web/publishingCredentials"; + Requests[1112] = new DefaultHttpContext(); + Requests[1112].RequestServices = CreateServices(); + Requests[1112].Request.Method = "PUT"; + Requests[1112].Request.Path = "/subscriptions/d7ed5081-7a3f-/providers/Microsoft.Web/publishingCredentials"; + Requests[1113] = new DefaultHttpContext(); + Requests[1113].RequestServices = CreateServices(); + Requests[1113].Request.Method = "GET"; + Requests[1113].Request.Path = "/subscriptions/3ba64e9e-44af-/providers/Microsoft.Web/recommendations"; + Requests[1114] = new DefaultHttpContext(); + Requests[1114].RequestServices = CreateServices(); + Requests[1114].Request.Method = "GET"; + Requests[1114].Request.Path = "/subscriptions/012daf3c-e513-/providers/Microsoft.Web/resourceHealthMetadata"; + Requests[1115] = new DefaultHttpContext(); + Requests[1115].RequestServices = CreateServices(); + Requests[1115].Request.Method = "GET"; + Requests[1115].Request.Path = "/subscriptions/0690ec47-f1f4-/providers/Microsoft.Web/serverfarms"; + Requests[1116] = new DefaultHttpContext(); + Requests[1116].RequestServices = CreateServices(); + Requests[1116].Request.Method = "GET"; + Requests[1116].Request.Path = "/subscriptions/b394c8f5-8a8e-/providers/Microsoft.Web/sites"; + Requests[1117] = new DefaultHttpContext(); + Requests[1117].RequestServices = CreateServices(); + Requests[1117].Request.Method = "GET"; + Requests[1117].Request.Path = "/subscriptions/0f5bd1e6-6d54-/providers/Microsoft.Web/skus"; + Requests[1118] = new DefaultHttpContext(); + Requests[1118].RequestServices = CreateServices(); + Requests[1118].Request.Method = "POST"; + Requests[1118].Request.Path = "/subscriptions/d94b2663-3158-/providers/Microsoft.Web/verifyHostingEnvironmentVnet"; + Requests[1119] = new DefaultHttpContext(); + Requests[1119].RequestServices = CreateServices(); + Requests[1119].Request.Method = "POST"; + Requests[1119].Request.Path = "/Applications/e880d90d-becf/$/GetServices/$/Create"; + Requests[1120] = new DefaultHttpContext(); + Requests[1120].RequestServices = CreateServices(); + Requests[1120].Request.Method = "POST"; + Requests[1120].Request.Path = "/Applications/c8c7e77e-3db4/$/GetServices/$/CreateFromTemplate"; + Requests[1121] = new DefaultHttpContext(); + Requests[1121].RequestServices = CreateServices(); + Requests[1121].Request.Method = "POST"; + Requests[1121].Request.Path = "/Applications/52cea4ab-4850-4/$/GetServiceGroups/$/CreateServiceGroupFromTemplate"; + Requests[1122] = new DefaultHttpContext(); + Requests[1122].RequestServices = CreateServices(); + Requests[1122].Request.Method = "POST"; + Requests[1122].Request.Path = "/Applications/19392772-d74b-4/$/GetServices/$/CreateServiceGroup"; + Requests[1123] = new DefaultHttpContext(); + Requests[1123].RequestServices = CreateServices(); + Requests[1123].Request.Method = "POST"; + Requests[1123].Request.Path = "/Names/51d253/$/GetProperties/$/SubmitBatch"; + Requests[1124] = new DefaultHttpContext(); + Requests[1124].RequestServices = CreateServices(); + Requests[1124].Request.Method = "POST"; + Requests[1124].Request.Path = "/Services/c0b2d6f1-2d/$/GetPartitions/$/Recover"; + Requests[1125] = new DefaultHttpContext(); + Requests[1125].RequestServices = CreateServices(); + Requests[1125].Request.Method = "GET"; + Requests[1125].Request.Path = "/subscriptions/12aaaec1-1396-/providers/Microsoft.Billing/invoices/latest"; + Requests[1126] = new DefaultHttpContext(); + Requests[1126].RequestServices = CreateServices(); + Requests[1126].Request.Method = "GET"; + Requests[1126].Request.Path = "/subscriptions/d5972adf-758e-/providers/Microsoft.Consumption/pricesheets/default"; + Requests[1127] = new DefaultHttpContext(); + Requests[1127].RequestServices = CreateServices(); + Requests[1127].Request.Method = "GET"; + Requests[1127].Request.Path = "/subscriptions/422cb620-6073-/providers/Microsoft.Network/applicationGatewayAvailableSslOptions/default"; + Requests[1128] = new DefaultHttpContext(); + Requests[1128].RequestServices = CreateServices(); + Requests[1128].Request.Method = "POST"; + Requests[1128].Request.Path = "/subscriptions/b17910d7-68ad-/providers/Microsoft.Web/recommendations/reset"; + Requests[1129] = new DefaultHttpContext(); + Requests[1129].RequestServices = CreateServices(); + Requests[1129].Request.Method = "POST"; + Requests[1129].Request.Path = "/subscriptions/8baf4f11-8d6d-/providers/Microsoft.Addons/supportProviders/canonical/listSupportPlanInfo"; + Requests[1130] = new DefaultHttpContext(); + Requests[1130].RequestServices = CreateServices(); + Requests[1130].Request.Method = "GET"; + Requests[1130].Request.Path = "/subscriptions/840367a0-dc58-/providers/microsoft.insights/eventtypes/management/values"; + Requests[1131] = new DefaultHttpContext(); + Requests[1131].RequestServices = CreateServices(); + Requests[1131].Request.Method = "GET"; + Requests[1131].Request.Path = "/subscriptions/a6994d5f-c459-/providers/Microsoft.Network/applicationGatewayAvailableSslOptions/default/predefinedPolicies"; + Requests[1132] = new DefaultHttpContext(); + Requests[1132].RequestServices = CreateServices(); + Requests[1132].Request.Method = "GET"; + Requests[1132].Request.Path = "/subscriptions/7e281b1b-4ec5-/providers/Microsoft.Network/applicationGatewayAvailableSslOptions/default/predefinedPolicies/7be2d30c-a335-43b5-a"; + Requests[1133] = new DefaultHttpContext(); + Requests[1133].RequestServices = CreateServices(); + Requests[1133].Request.Method = "GET"; + Requests[1133].Request.Path = "/subscriptions/ecabb61d-1cce-/providers/Microsoft.Advisor/generateRecommendations/9cd44b3f-6e"; + Requests[1134] = new DefaultHttpContext(); + Requests[1134].RequestServices = CreateServices(); + Requests[1134].Request.Method = "PUT"; + Requests[1134].Request.Path = "/subscriptions/b7636d16-7f6d-/providers/Microsoft.Authorization/locks/69106483"; + Requests[1135] = new DefaultHttpContext(); + Requests[1135].RequestServices = CreateServices(); + Requests[1135].Request.Method = "GET"; + Requests[1135].Request.Path = "/subscriptions/917c7d55-eb3c-/providers/Microsoft.Authorization/locks/cb71102b"; + Requests[1136] = new DefaultHttpContext(); + Requests[1136].RequestServices = CreateServices(); + Requests[1136].Request.Method = "DELETE"; + Requests[1136].Request.Path = "/subscriptions/15214889-f041-/providers/Microsoft.Authorization/locks/474498eb"; + Requests[1137] = new DefaultHttpContext(); + Requests[1137].RequestServices = CreateServices(); + Requests[1137].Request.Method = "DELETE"; + Requests[1137].Request.Path = "/subscriptions/be14d324-16c4-/providers/Microsoft.Authorization/policydefinitions/cbe2dafc-1cba-44ce-b"; + Requests[1138] = new DefaultHttpContext(); + Requests[1138].RequestServices = CreateServices(); + Requests[1138].Request.Method = "GET"; + Requests[1138].Request.Path = "/subscriptions/ab607ff8-8d0a-/providers/Microsoft.Authorization/policydefinitions/9742ec17-4385-456b-b"; + Requests[1139] = new DefaultHttpContext(); + Requests[1139].RequestServices = CreateServices(); + Requests[1139].Request.Method = "PUT"; + Requests[1139].Request.Path = "/subscriptions/9e36e7c1-5cd0-/providers/Microsoft.Authorization/policydefinitions/269260fe-b09d-43ca-a"; + Requests[1140] = new DefaultHttpContext(); + Requests[1140].RequestServices = CreateServices(); + Requests[1140].Request.Method = "GET"; + Requests[1140].Request.Path = "/subscriptions/4c3b6b1c-ab01-/providers/Microsoft.Authorization/policySetDefinitions/c69c8156-dfea-4b45-89ba"; + Requests[1141] = new DefaultHttpContext(); + Requests[1141].RequestServices = CreateServices(); + Requests[1141].Request.Method = "DELETE"; + Requests[1141].Request.Path = "/subscriptions/b4a3ccbd-932d-/providers/Microsoft.Authorization/policySetDefinitions/d1cb11eb-0759-4a62-ba3f"; + Requests[1142] = new DefaultHttpContext(); + Requests[1142].RequestServices = CreateServices(); + Requests[1142].Request.Method = "PUT"; + Requests[1142].Request.Path = "/subscriptions/aa6fbfec-8a82-/providers/Microsoft.Authorization/policySetDefinitions/927e9faa-a5a6-4386-b5b6"; + Requests[1143] = new DefaultHttpContext(); + Requests[1143].RequestServices = CreateServices(); + Requests[1143].Request.Method = "GET"; + Requests[1143].Request.Path = "/subscriptions/1b088fdc-5ad9-/providers/Microsoft.Billing/billingPeriods/a35f7a7f-af53-4c4"; + Requests[1144] = new DefaultHttpContext(); + Requests[1144].RequestServices = CreateServices(); + Requests[1144].Request.Method = "GET"; + Requests[1144].Request.Path = "/subscriptions/153412a8-761a-/providers/Microsoft.Billing/invoices/76dd5f65-31"; + Requests[1145] = new DefaultHttpContext(); + Requests[1145].RequestServices = CreateServices(); + Requests[1145].Request.Method = "GET"; + Requests[1145].Request.Path = "/subscriptions/d0aa86a8-ea51-/providers/Microsoft.Consumption/budgets/607da031-b"; + Requests[1146] = new DefaultHttpContext(); + Requests[1146].RequestServices = CreateServices(); + Requests[1146].Request.Method = "PUT"; + Requests[1146].Request.Path = "/subscriptions/3a7ee920-15e7-/providers/Microsoft.Consumption/budgets/c76b8046-5"; + Requests[1147] = new DefaultHttpContext(); + Requests[1147].RequestServices = CreateServices(); + Requests[1147].Request.Method = "DELETE"; + Requests[1147].Request.Path = "/subscriptions/0882a096-646f-/providers/Microsoft.Consumption/budgets/9fe83a9b-7"; + Requests[1148] = new DefaultHttpContext(); + Requests[1148].RequestServices = CreateServices(); + Requests[1148].Request.Method = "GET"; + Requests[1148].Request.Path = "/subscriptions/6e6eecf8-89c7-/providers/Microsoft.DomainRegistration/topLevelDomains/93f74"; + Requests[1149] = new DefaultHttpContext(); + Requests[1149].RequestServices = CreateServices(); + Requests[1149].Request.Method = "DELETE"; + Requests[1149].Request.Path = "/subscriptions/a13af210-d9d6-/providers/microsoft.gallery.admin/galleryItems/dcb199b0-d162-4"; + Requests[1150] = new DefaultHttpContext(); + Requests[1150].RequestServices = CreateServices(); + Requests[1150].Request.Method = "GET"; + Requests[1150].Request.Path = "/subscriptions/e97cf79d-d9b3-/providers/microsoft.gallery.admin/galleryItems/1ab9d654-35ed-4"; + Requests[1151] = new DefaultHttpContext(); + Requests[1151].RequestServices = CreateServices(); + Requests[1151].Request.Method = "PUT"; + Requests[1151].Request.Path = "/subscriptions/f56f2515-1651-/providers/microsoft.insights/logprofiles/0779820c-a249-"; + Requests[1152] = new DefaultHttpContext(); + Requests[1152].RequestServices = CreateServices(); + Requests[1152].Request.Method = "GET"; + Requests[1152].Request.Path = "/subscriptions/7341ee3c-2ff2-/providers/microsoft.insights/logprofiles/3c216b1b-b98a-"; + Requests[1153] = new DefaultHttpContext(); + Requests[1153].RequestServices = CreateServices(); + Requests[1153].Request.Method = "DELETE"; + Requests[1153].Request.Path = "/subscriptions/a5a96ea3-4968-/providers/microsoft.insights/logprofiles/d55f94f9-cf49-"; + Requests[1154] = new DefaultHttpContext(); + Requests[1154].RequestServices = CreateServices(); + Requests[1154].Request.Method = "PATCH"; + Requests[1154].Request.Path = "/subscriptions/7deeaa88-8218-/providers/microsoft.insights/logprofiles/cd18706f-e1e0-"; + Requests[1155] = new DefaultHttpContext(); + Requests[1155].RequestServices = CreateServices(); + Requests[1155].Request.Method = "GET"; + Requests[1155].Request.Path = "/subscriptions/593e6ab8-431e-/providers/Microsoft.Media/mediaservices/5ceb78a0-82"; + Requests[1156] = new DefaultHttpContext(); + Requests[1156].RequestServices = CreateServices(); + Requests[1156].Request.Method = "PUT"; + Requests[1156].Request.Path = "/subscriptions/85813494-a0c4-/providers/Microsoft.Security/autoProvisioningSettings/15fb92d4-bc"; + Requests[1157] = new DefaultHttpContext(); + Requests[1157].RequestServices = CreateServices(); + Requests[1157].Request.Method = "GET"; + Requests[1157].Request.Path = "/subscriptions/6c14d1b2-9a4d-/providers/Microsoft.Security/autoProvisioningSettings/84f224eb-25"; + Requests[1158] = new DefaultHttpContext(); + Requests[1158].RequestServices = CreateServices(); + Requests[1158].Request.Method = "GET"; + Requests[1158].Request.Path = "/subscriptions/88947aab-740e-/providers/Microsoft.Security/locations/515cde4a-fc"; + Requests[1159] = new DefaultHttpContext(); + Requests[1159].RequestServices = CreateServices(); + Requests[1159].Request.Method = "PUT"; + Requests[1159].Request.Path = "/subscriptions/9af58a17-db56-/providers/Microsoft.Security/pricings/b4f241d2-d4"; + Requests[1160] = new DefaultHttpContext(); + Requests[1160].RequestServices = CreateServices(); + Requests[1160].Request.Method = "GET"; + Requests[1160].Request.Path = "/subscriptions/0f3f0fd9-4667-/providers/Microsoft.Security/pricings/acd33713-b3"; + Requests[1161] = new DefaultHttpContext(); + Requests[1161].RequestServices = CreateServices(); + Requests[1161].Request.Method = "PATCH"; + Requests[1161].Request.Path = "/subscriptions/5819e222-3408-/providers/Microsoft.Security/workspaceSettings/f0a65dfc-fdfb-4139-a"; + Requests[1162] = new DefaultHttpContext(); + Requests[1162].RequestServices = CreateServices(); + Requests[1162].Request.Method = "PUT"; + Requests[1162].Request.Path = "/subscriptions/f74e7547-2d9c-/providers/Microsoft.Security/workspaceSettings/b0486deb-d442-494d-b"; + Requests[1163] = new DefaultHttpContext(); + Requests[1163].RequestServices = CreateServices(); + Requests[1163].Request.Method = "GET"; + Requests[1163].Request.Path = "/subscriptions/d23b1e3f-4878-/providers/Microsoft.Security/workspaceSettings/4bba79fd-c3b3-4313-9"; + Requests[1164] = new DefaultHttpContext(); + Requests[1164].RequestServices = CreateServices(); + Requests[1164].Request.Method = "GET"; + Requests[1164].Request.Path = "/subscriptions/8942e98a-ec49-/providers/Microsoft.Subscriptions.Admin/delegatedProviders/78eb9d3d-09f7-436"; + Requests[1165] = new DefaultHttpContext(); + Requests[1165].RequestServices = CreateServices(); + Requests[1165].Request.Method = "DELETE"; + Requests[1165].Request.Path = "/subscriptions/59f3201a-adf6-/providers/Microsoft.Subscriptions.Admin/locations/2c4f6681"; + Requests[1166] = new DefaultHttpContext(); + Requests[1166].RequestServices = CreateServices(); + Requests[1166].Request.Method = "PUT"; + Requests[1166].Request.Path = "/subscriptions/3be1f6c9-2488-/providers/Microsoft.Subscriptions.Admin/locations/463b7911"; + Requests[1167] = new DefaultHttpContext(); + Requests[1167].RequestServices = CreateServices(); + Requests[1167].Request.Method = "GET"; + Requests[1167].Request.Path = "/subscriptions/476e2f21-9d89-/providers/Microsoft.Subscriptions.Admin/locations/882e1056"; + Requests[1168] = new DefaultHttpContext(); + Requests[1168].RequestServices = CreateServices(); + Requests[1168].Request.Method = "GET"; + Requests[1168].Request.Path = "/subscriptions/7d990185-d6ff-/providers/Microsoft.Subscriptions.Admin/subscriptions/4c4e4da2-fd7"; + Requests[1169] = new DefaultHttpContext(); + Requests[1169].RequestServices = CreateServices(); + Requests[1169].Request.Method = "PUT"; + Requests[1169].Request.Path = "/subscriptions/54b0f189-4e0d-/providers/Microsoft.Subscriptions.Admin/subscriptions/72befa9d-ee1"; + Requests[1170] = new DefaultHttpContext(); + Requests[1170].RequestServices = CreateServices(); + Requests[1170].Request.Method = "DELETE"; + Requests[1170].Request.Path = "/subscriptions/a6a3dc23-95f8-/providers/Microsoft.Subscriptions.Admin/subscriptions/63f90ac2-174"; + Requests[1171] = new DefaultHttpContext(); + Requests[1171].RequestServices = CreateServices(); + Requests[1171].Request.Method = "GET"; + Requests[1171].Request.Path = "/subscriptions/ff246b1b-7762-/providers/Microsoft.Web/ishostingenvironmentnameavailable/8ce78"; + Requests[1172] = new DefaultHttpContext(); + Requests[1172].RequestServices = CreateServices(); + Requests[1172].Request.Method = "GET"; + Requests[1172].Request.Path = "/subscriptions/82aaa395-fdb1-/providers/Microsoft.Addons/supportProviders/e1d5d9df-a99/supportPlanTypes"; + Requests[1173] = new DefaultHttpContext(); + Requests[1173].RequestServices = CreateServices(); + Requests[1173].Request.Method = "POST"; + Requests[1173].Request.Path = "/subscriptions/23ca0b55-c790-/providers/Microsoft.AnalysisServices/locations/ad5065b1/checkNameAvailability"; + Requests[1174] = new DefaultHttpContext(); + Requests[1174].RequestServices = CreateServices(); + Requests[1174].Request.Method = "POST"; + Requests[1174].Request.Path = "/subscriptions/f45188dc-3938-/providers/Microsoft.Batch/locations/13509369-959/checkNameAvailability"; + Requests[1175] = new DefaultHttpContext(); + Requests[1175].RequestServices = CreateServices(); + Requests[1175].Request.Method = "GET"; + Requests[1175].Request.Path = "/subscriptions/52ae308d-c575-/providers/Microsoft.Batch/locations/69750529-bb9/quotas"; + Requests[1176] = new DefaultHttpContext(); + Requests[1176].RequestServices = CreateServices(); + Requests[1176].Request.Method = "GET"; + Requests[1176].Request.Path = "/subscriptions/5b226997-5d68-/providers/Microsoft.BatchAI/locations/a1d0edac/usages"; + Requests[1177] = new DefaultHttpContext(); + Requests[1177].RequestServices = CreateServices(); + Requests[1177].Request.Method = "POST"; + Requests[1177].Request.Path = "/subscriptions/e3a88556-c30e-/providers/Microsoft.CognitiveServices/locations/c89754d5/checkSkuAvailability"; + Requests[1178] = new DefaultHttpContext(); + Requests[1178].RequestServices = CreateServices(); + Requests[1178].Request.Method = "GET"; + Requests[1178].Request.Path = "/subscriptions/c772a4a6-8103-/providers/Microsoft.Compute.Admin/locations/a29a5771/quotas"; + Requests[1179] = new DefaultHttpContext(); + Requests[1179].RequestServices = CreateServices(); + Requests[1179].Request.Method = "GET"; + Requests[1179].Request.Path = "/subscriptions/6851776c-2195-/providers/Microsoft.Compute/locations/04d71dbe/publishers"; + Requests[1180] = new DefaultHttpContext(); + Requests[1180].RequestServices = CreateServices(); + Requests[1180].Request.Method = "GET"; + Requests[1180].Request.Path = "/subscriptions/9804e971-c872-/providers/Microsoft.Compute/locations/55854cc0/runCommands"; + Requests[1181] = new DefaultHttpContext(); + Requests[1181].RequestServices = CreateServices(); + Requests[1181].Request.Method = "GET"; + Requests[1181].Request.Path = "/subscriptions/173d7d9e-210a-/providers/Microsoft.Compute/locations/c59fdd8a/usages"; + Requests[1182] = new DefaultHttpContext(); + Requests[1182].RequestServices = CreateServices(); + Requests[1182].Request.Method = "GET"; + Requests[1182].Request.Path = "/subscriptions/e5fd702c-4c01-/providers/Microsoft.Compute/locations/1c8eaea4/vmSizes"; + Requests[1183] = new DefaultHttpContext(); + Requests[1183].RequestServices = CreateServices(); + Requests[1183].Request.Method = "GET"; + Requests[1183].Request.Path = "/subscriptions/29a60245-03ab-/providers/Microsoft.ContainerInstance/locations/19b3ae7b/usages"; + Requests[1184] = new DefaultHttpContext(); + Requests[1184].RequestServices = CreateServices(); + Requests[1184].Request.Method = "GET"; + Requests[1184].Request.Path = "/subscriptions/c0dc7c96-7f8e-/providers/Microsoft.ContainerService/locations/c7f3cd0a/orchestrators"; + Requests[1185] = new DefaultHttpContext(); + Requests[1185].RequestServices = CreateServices(); + Requests[1185].Request.Method = "POST"; + Requests[1185].Request.Path = "/subscriptions/5f5e97ba-f0aa-/providers/Microsoft.DataBox/locations/97996575/availableSkus"; + Requests[1186] = new DefaultHttpContext(); + Requests[1186].RequestServices = CreateServices(); + Requests[1186].Request.Method = "POST"; + Requests[1186].Request.Path = "/subscriptions/681775c8-ad40-/providers/Microsoft.DataBox/locations/bfaa1b6e/validateAddress"; + Requests[1187] = new DefaultHttpContext(); + Requests[1187].RequestServices = CreateServices(); + Requests[1187].Request.Method = "POST"; + Requests[1187].Request.Path = "/subscriptions/019f8ee8-cf83-/providers/Microsoft.DataFactory/locations/5ab27048-6/configureFactoryRepo"; + Requests[1188] = new DefaultHttpContext(); + Requests[1188].RequestServices = CreateServices(); + Requests[1188].Request.Method = "GET"; + Requests[1188].Request.Path = "/subscriptions/72cbf6b2-e0df-/providers/Microsoft.DataLakeAnalytics/locations/54ea6da1/capability"; + Requests[1189] = new DefaultHttpContext(); + Requests[1189].RequestServices = CreateServices(); + Requests[1189].Request.Method = "POST"; + Requests[1189].Request.Path = "/subscriptions/d0d3468f-afd5-/providers/Microsoft.DataLakeAnalytics/locations/7865f9a4/checkNameAvailability"; + Requests[1190] = new DefaultHttpContext(); + Requests[1190].RequestServices = CreateServices(); + Requests[1190].Request.Method = "GET"; + Requests[1190].Request.Path = "/subscriptions/e426a2c0-56a0-/providers/Microsoft.DataLakeStore/locations/f13cefc5/capability"; + Requests[1191] = new DefaultHttpContext(); + Requests[1191].RequestServices = CreateServices(); + Requests[1191].Request.Method = "POST"; + Requests[1191].Request.Path = "/subscriptions/0115253d-da3b-/providers/Microsoft.DataLakeStore/locations/5ae1bedd/checkNameAvailability"; + Requests[1192] = new DefaultHttpContext(); + Requests[1192].RequestServices = CreateServices(); + Requests[1192].Request.Method = "POST"; + Requests[1192].Request.Path = "/subscriptions/69e40bdb-cbd4-/providers/Microsoft.DataMigration/locations/abce2769/checkNameAvailability"; + Requests[1193] = new DefaultHttpContext(); + Requests[1193].RequestServices = CreateServices(); + Requests[1193].Request.Method = "GET"; + Requests[1193].Request.Path = "/subscriptions/f0648eeb-25d8-/providers/Microsoft.DataMigration/locations/98590540/usages"; + Requests[1194] = new DefaultHttpContext(); + Requests[1194].RequestServices = CreateServices(); + Requests[1194].Request.Method = "GET"; + Requests[1194].Request.Path = "/subscriptions/6fff6958-c45c-/providers/Microsoft.DBforMySQL/locations/1b0ae5b2-0ee/performanceTiers"; + Requests[1195] = new DefaultHttpContext(); + Requests[1195].RequestServices = CreateServices(); + Requests[1195].Request.Method = "GET"; + Requests[1195].Request.Path = "/subscriptions/41c9d9f8-0cfb-/providers/Microsoft.DBforPostgreSQL/locations/f820f83e-0ba/performanceTiers"; + Requests[1196] = new DefaultHttpContext(); + Requests[1196].RequestServices = CreateServices(); + Requests[1196].Request.Method = "POST"; + Requests[1196].Request.Path = "/subscriptions/232da203-7149-/providers/Microsoft.DomainRegistration/topLevelDomains/b6fba/listAgreements"; + Requests[1197] = new DefaultHttpContext(); + Requests[1197].RequestServices = CreateServices(); + Requests[1197].Request.Method = "GET"; + Requests[1197].Request.Path = "/subscriptions/7aeb7ef6-ec91-/providers/Microsoft.EventGrid/locations/d5c50d50/eventSubscriptions"; + Requests[1198] = new DefaultHttpContext(); + Requests[1198].RequestServices = CreateServices(); + Requests[1198].Request.Method = "GET"; + Requests[1198].Request.Path = "/subscriptions/fa4a5b5e-6cb4-/providers/Microsoft.EventGrid/topicTypes/44bc3077-09c8/eventSubscriptions"; + Requests[1199] = new DefaultHttpContext(); + Requests[1199].RequestServices = CreateServices(); + Requests[1199].Request.Method = "GET"; + Requests[1199].Request.Path = "/subscriptions/45a30f0f-2b6b-/providers/Microsoft.EventHub/sku/45da6/regions"; + Requests[1200] = new DefaultHttpContext(); + Requests[1200].RequestServices = CreateServices(); + Requests[1200].Request.Method = "GET"; + Requests[1200].Request.Path = "/subscriptions/0e72bae4-f75a-/providers/Microsoft.Features/providers/e60b13f3-8a95-4e7f-a5a5-2/features"; + Requests[1201] = new DefaultHttpContext(); + Requests[1201].RequestServices = CreateServices(); + Requests[1201].Request.Method = "GET"; + Requests[1201].Request.Path = "/subscriptions/9e1183c5-d083-/providers/Microsoft.HDInsight/locations/af5fa8f9/capabilities"; + Requests[1202] = new DefaultHttpContext(); + Requests[1202].RequestServices = CreateServices(); + Requests[1202].Request.Method = "GET"; + Requests[1202].Request.Path = "/subscriptions/9d93061f-3d4e-/providers/Microsoft.KeyVault.Admin/locations/7a766b1c/quotas"; + Requests[1203] = new DefaultHttpContext(); + Requests[1203].RequestServices = CreateServices(); + Requests[1203].Request.Method = "POST"; + Requests[1203].Request.Path = "/subscriptions/f5fcce58-c7fb-/providers/Microsoft.Media/locations/b936efb2-a94/checkNameAvailability"; + Requests[1204] = new DefaultHttpContext(); + Requests[1204].RequestServices = CreateServices(); + Requests[1204].Request.Method = "GET"; + Requests[1204].Request.Path = "/subscriptions/5594ecd0-eea3-/providers/Microsoft.Network.Admin/locations/83cff230/quotas"; + Requests[1205] = new DefaultHttpContext(); + Requests[1205].RequestServices = CreateServices(); + Requests[1205].Request.Method = "GET"; + Requests[1205].Request.Path = "/subscriptions/2c04b1ce-93c5-/providers/Microsoft.Network/locations/27f92f5c/CheckDnsNameAvailability"; + Requests[1206] = new DefaultHttpContext(); + Requests[1206].RequestServices = CreateServices(); + Requests[1206].Request.Method = "GET"; + Requests[1206].Request.Path = "/subscriptions/ddd702a4-0aed-/providers/Microsoft.Network/locations/09d7dac3/usages"; + Requests[1207] = new DefaultHttpContext(); + Requests[1207].RequestServices = CreateServices(); + Requests[1207].Request.Method = "GET"; + Requests[1207].Request.Path = "/subscriptions/483cd867-0ec9-/providers/Microsoft.Network/locations/23190e13/virtualNetworkAvailableEndpointServices"; + Requests[1208] = new DefaultHttpContext(); + Requests[1208].RequestServices = CreateServices(); + Requests[1208].Request.Method = "POST"; + Requests[1208].Request.Path = "/subscriptions/aedb0408-da99-/providers/Microsoft.PolicyInsights/policyEvents/49d8718f-edd8-428b-8/queryResults"; + Requests[1209] = new DefaultHttpContext(); + Requests[1209].RequestServices = CreateServices(); + Requests[1209].Request.Method = "POST"; + Requests[1209].Request.Path = "/subscriptions/0b6230ce-1342-/providers/Microsoft.PolicyInsights/policyStates/23dd4ef4-b14e-4aa1-a/queryResults"; + Requests[1210] = new DefaultHttpContext(); + Requests[1210].RequestServices = CreateServices(); + Requests[1210].Request.Method = "POST"; + Requests[1210].Request.Path = "/subscriptions/7d049a48-8342-/providers/Microsoft.PolicyInsights/policyStates/74ffc020-743d-4e09-b26f-7a1/summarize"; + Requests[1211] = new DefaultHttpContext(); + Requests[1211].RequestServices = CreateServices(); + Requests[1211].Request.Method = "POST"; + Requests[1211].Request.Path = "/subscriptions/cda8cf5f-f0f5-/providers/Microsoft.PowerBI/locations/007b8789/checkNameAvailability"; + Requests[1212] = new DefaultHttpContext(); + Requests[1212].RequestServices = CreateServices(); + Requests[1212].Request.Method = "POST"; + Requests[1212].Request.Path = "/Subscriptions/eaa315a7-97ce-/providers/Microsoft.RecoveryServices/locations/aa115313-dd/backupPreValidateProtection"; + Requests[1213] = new DefaultHttpContext(); + Requests[1213].RequestServices = CreateServices(); + Requests[1213].Request.Method = "POST"; + Requests[1213].Request.Path = "/Subscriptions/b1ca72f6-f840-/providers/Microsoft.RecoveryServices/locations/abe1861b-5e/backupStatus"; + Requests[1214] = new DefaultHttpContext(); + Requests[1214].RequestServices = CreateServices(); + Requests[1214].Request.Method = "POST"; + Requests[1214].Request.Path = "/Subscriptions/40ae1876-d1bd-/providers/Microsoft.RecoveryServices/locations/e573b393-ef/backupValidateFeatures"; + Requests[1215] = new DefaultHttpContext(); + Requests[1215].RequestServices = CreateServices(); + Requests[1215].Request.Method = "GET"; + Requests[1215].Request.Path = "/subscriptions/62cb44b1-cd6f-/providers/Microsoft.Security/locations/cbbd3b76-b6/alerts"; + Requests[1216] = new DefaultHttpContext(); + Requests[1216].RequestServices = CreateServices(); + Requests[1216].Request.Method = "GET"; + Requests[1216].Request.Path = "/subscriptions/6c3d3067-db10-/providers/Microsoft.Security/locations/8533a047-40/discoveredSecuritySolutions"; + Requests[1217] = new DefaultHttpContext(); + Requests[1217].RequestServices = CreateServices(); + Requests[1217].Request.Method = "GET"; + Requests[1217].Request.Path = "/subscriptions/fcbc5b49-e678-/providers/Microsoft.Security/locations/f7cc43d8-a0/ExternalSecuritySolutions"; + Requests[1218] = new DefaultHttpContext(); + Requests[1218].RequestServices = CreateServices(); + Requests[1218].Request.Method = "GET"; + Requests[1218].Request.Path = "/subscriptions/dcdb4710-0fc3-/providers/Microsoft.Security/locations/36ee7a64-94/jitNetworkAccessPolicies"; + Requests[1219] = new DefaultHttpContext(); + Requests[1219].RequestServices = CreateServices(); + Requests[1219].Request.Method = "GET"; + Requests[1219].Request.Path = "/subscriptions/2e25acd3-53b2-/providers/Microsoft.Security/locations/74f16873-1e/tasks"; + Requests[1220] = new DefaultHttpContext(); + Requests[1220].RequestServices = CreateServices(); + Requests[1220].Request.Method = "GET"; + Requests[1220].Request.Path = "/subscriptions/1670c796-33ed-/providers/Microsoft.ServiceBus/sku/c33a9/regions"; + Requests[1221] = new DefaultHttpContext(); + Requests[1221].RequestServices = CreateServices(); + Requests[1221].Request.Method = "GET"; + Requests[1221].Request.Path = "/subscriptions/7d84f0db-7b2a-/providers/Microsoft.ServiceFabric/locations/c7d55ff5/clusterVersions"; + Requests[1222] = new DefaultHttpContext(); + Requests[1222].RequestServices = CreateServices(); + Requests[1222].Request.Method = "POST"; + Requests[1222].Request.Path = "/subscriptions/8e08dad0-bc74-/providers/Microsoft.SignalRService/locations/c602df23/checkNameAvailability"; + Requests[1223] = new DefaultHttpContext(); + Requests[1223].RequestServices = CreateServices(); + Requests[1223].Request.Method = "GET"; + Requests[1223].Request.Path = "/subscriptions/38f8a807-ca80-/providers/Microsoft.Sql/locations/65797d40-85b/capabilities"; + Requests[1224] = new DefaultHttpContext(); + Requests[1224].RequestServices = CreateServices(); + Requests[1224].Request.Method = "GET"; + Requests[1224].Request.Path = "/subscriptions/9e9475e3-17e1-/providers/Microsoft.Sql/locations/609e5648-188/longTermRetentionBackups"; + Requests[1225] = new DefaultHttpContext(); + Requests[1225].RequestServices = CreateServices(); + Requests[1225].Request.Method = "GET"; + Requests[1225].Request.Path = "/subscriptions/e74a01ba-376c-/providers/Microsoft.Sql/locations/a46e9527-573/syncDatabaseIds"; + Requests[1226] = new DefaultHttpContext(); + Requests[1226].RequestServices = CreateServices(); + Requests[1226].Request.Method = "GET"; + Requests[1226].Request.Path = "/subscriptions/f75e5089-75cd-/providers/Microsoft.Sql/locations/3fee117e-7b0/usages"; + Requests[1227] = new DefaultHttpContext(); + Requests[1227].RequestServices = CreateServices(); + Requests[1227].Request.Method = "GET"; + Requests[1227].Request.Path = "/subscriptions/fce1d849-a467-/providers/Microsoft.Storage.Admin/locations/a138dd68/quotas"; + Requests[1228] = new DefaultHttpContext(); + Requests[1228].RequestServices = CreateServices(); + Requests[1228].Request.Method = "GET"; + Requests[1228].Request.Path = "/subscriptions/ca438fae-ad10-/providers/Microsoft.Storage/locations/18cd438a/usages"; + Requests[1229] = new DefaultHttpContext(); + Requests[1229].RequestServices = CreateServices(); + Requests[1229].Request.Method = "GET"; + Requests[1229].Request.Path = "/subscriptions/74876131-9b18-/providers/Microsoft.StreamAnalytics/locations/befa5d32/quotas"; + Requests[1230] = new DefaultHttpContext(); + Requests[1230].RequestServices = CreateServices(); + Requests[1230].Request.Method = "GET"; + Requests[1230].Request.Path = "/subscriptions/34886381-538d-/providers/Microsoft.Subscriptions.Admin/delegatedProviders/10064dff-882b-4fa7-85c1-2305eec/offers"; + Requests[1231] = new DefaultHttpContext(); + Requests[1231].RequestServices = CreateServices(); + Requests[1231].Request.Method = "GET"; + Requests[1231].Request.Path = "/subscriptions/25bdfb36-5305-/providers/Microsoft.Subscriptions.Admin/locations/2528e997/quotas"; + Requests[1232] = new DefaultHttpContext(); + Requests[1232].RequestServices = CreateServices(); + Requests[1232].Request.Method = "GET"; + Requests[1232].Request.Path = "/subscriptions/7e593b0a-ba0d-/providers/Microsoft.Subscriptions.Admin/subscriptions/0cef82b8-1be7-4d8f-b/acquiredPlans"; + Requests[1233] = new DefaultHttpContext(); + Requests[1233].RequestServices = CreateServices(); + Requests[1233].Request.Method = "GET"; + Requests[1233].Request.Path = "/subscriptions/f58b1c2c-19be-/providers/Microsoft.Web/locations/029e8d30/connectionGatewayInstallations"; + Requests[1234] = new DefaultHttpContext(); + Requests[1234].RequestServices = CreateServices(); + Requests[1234].Request.Method = "POST"; + Requests[1234].Request.Path = "/subscriptions/3fc51542-3856-/providers/Microsoft.Web/locations/1dfd98d1/extractApiDefinitionFromWsdl"; + Requests[1235] = new DefaultHttpContext(); + Requests[1235].RequestServices = CreateServices(); + Requests[1235].Request.Method = "POST"; + Requests[1235].Request.Path = "/subscriptions/3be79fbf-b3bf-/providers/Microsoft.Web/locations/3051d2ac/listWsdlInterfaces"; + Requests[1236] = new DefaultHttpContext(); + Requests[1236].RequestServices = CreateServices(); + Requests[1236].Request.Method = "GET"; + Requests[1236].Request.Path = "/subscriptions/6d1ae875-475a-/providers/Microsoft.Web/locations/5c0cef32/managedApis"; + Requests[1237] = new DefaultHttpContext(); + Requests[1237].RequestServices = CreateServices(); + Requests[1237].Request.Method = "POST"; + Requests[1237].Request.Path = "/subscriptions/fbd94678-93f4-/providers/Microsoft.Web/recommendations/ce13c/disable"; + Requests[1238] = new DefaultHttpContext(); + Requests[1238].RequestServices = CreateServices(); + Requests[1238].Request.Method = "GET"; + Requests[1238].Request.Path = "/subscriptions/e31a83c1-9760-/providers/Microsoft.Compute.Admin/locations/0290db79/artifactTypes/platformImage"; + Requests[1239] = new DefaultHttpContext(); + Requests[1239].RequestServices = CreateServices(); + Requests[1239].Request.Method = "GET"; + Requests[1239].Request.Path = "/subscriptions/bbb9277b-a596-/providers/Microsoft.Compute.Admin/locations/fd7908f6/artifactTypes/VMExtension"; + Requests[1240] = new DefaultHttpContext(); + Requests[1240].RequestServices = CreateServices(); + Requests[1240].Request.Method = "GET"; + Requests[1240].Request.Path = "/subscriptions/9fc2a3c7-f3e7-/providers/Microsoft.Billing/billingPeriods/fe427fda-3f44-411/providers/Microsoft.Consumption/marketplaces"; + Requests[1241] = new DefaultHttpContext(); + Requests[1241].RequestServices = CreateServices(); + Requests[1241].Request.Method = "GET"; + Requests[1241].Request.Path = "/subscriptions/6779a0c5-7ca2-/providers/Microsoft.Billing/billingPeriods/f3cba789-3706-436/providers/Microsoft.Consumption/usageDetails"; + Requests[1242] = new DefaultHttpContext(); + Requests[1242].RequestServices = CreateServices(); + Requests[1242].Request.Method = "POST"; + Requests[1242].Request.Path = "/subscriptions/a7dee027-a75b-/providers/Microsoft.Compute/locations/51a00475/logAnalytics/apiAccess/getRequestRateByInterval"; + Requests[1243] = new DefaultHttpContext(); + Requests[1243].RequestServices = CreateServices(); + Requests[1243].Request.Method = "POST"; + Requests[1243].Request.Path = "/subscriptions/7dcae95a-b1c0-/providers/Microsoft.Compute/locations/524d7f70/logAnalytics/apiAccess/getThrottledRequests"; + Requests[1244] = new DefaultHttpContext(); + Requests[1244].RequestServices = CreateServices(); + Requests[1244].Request.Method = "GET"; + Requests[1244].Request.Path = "/subscriptions/a3e345aa-f69e-/providers/Microsoft.Billing/billingPeriods/87a38584-ce5e-42d/providers/Microsoft.Consumption/pricesheets/default"; + Requests[1245] = new DefaultHttpContext(); + Requests[1245].RequestServices = CreateServices(); + Requests[1245].Request.Method = "PUT"; + Requests[1245].Request.Path = "/subscriptions/ae603476-dea0-/providers/Microsoft.Compute.Admin/locations/a3fc2a4b/artifactTypes/VMExtension/publishers/47241dea-/types/7bce3/versions/f7b97e9"; + Requests[1246] = new DefaultHttpContext(); + Requests[1246].RequestServices = CreateServices(); + Requests[1246].Request.Method = "DELETE"; + Requests[1246].Request.Path = "/subscriptions/847ff6c0-6986-/providers/Microsoft.Compute.Admin/locations/57974f77/artifactTypes/VMExtension/publishers/d1dfc936-/types/c0f29/versions/7ff6e6d"; + Requests[1247] = new DefaultHttpContext(); + Requests[1247].RequestServices = CreateServices(); + Requests[1247].Request.Method = "GET"; + Requests[1247].Request.Path = "/subscriptions/8ad03701-6d49-/providers/Microsoft.Compute.Admin/locations/9dc15717/artifactTypes/VMExtension/publishers/d8663ec8-/types/62bbd/versions/e1c83ef"; + Requests[1248] = new DefaultHttpContext(); + Requests[1248].RequestServices = CreateServices(); + Requests[1248].Request.Method = "DELETE"; + Requests[1248].Request.Path = "/subscriptions/fafa61c9-fa4e-/providers/Microsoft.Compute.Admin/locations/c6aab8bd/artifactTypes/platformImage/publishers/a5d3412e-/offers/f13ee/skus/392c1/versions/834015d"; + Requests[1249] = new DefaultHttpContext(); + Requests[1249].RequestServices = CreateServices(); + Requests[1249].Request.Method = "GET"; + Requests[1249].Request.Path = "/subscriptions/27e3d72c-a258-/providers/Microsoft.Compute.Admin/locations/5a328caf/artifactTypes/platformImage/publishers/e352a859-/offers/791a1/skus/09781/versions/7784b1a"; + Requests[1250] = new DefaultHttpContext(); + Requests[1250].RequestServices = CreateServices(); + Requests[1250].Request.Method = "PUT"; + Requests[1250].Request.Path = "/subscriptions/800a928c-ed9d-/providers/Microsoft.Compute.Admin/locations/3387d58b/artifactTypes/platformImage/publishers/ffc1427b-/offers/2aad4/skus/1625c/versions/31ff0e5"; + Requests[1251] = new DefaultHttpContext(); + Requests[1251].RequestServices = CreateServices(); + Requests[1251].Request.Method = "PUT"; + Requests[1251].Request.Path = "/subscriptions/618a3755-be35-/providers/Microsoft.Addons/supportProviders/b86dd8f0-f55/supportPlanTypes/40990d2b-2be"; + Requests[1252] = new DefaultHttpContext(); + Requests[1252].RequestServices = CreateServices(); + Requests[1252].Request.Method = "DELETE"; + Requests[1252].Request.Path = "/subscriptions/82d18335-e962-/providers/Microsoft.Addons/supportProviders/f099557e-1ce/supportPlanTypes/1bff69f5-acb"; + Requests[1253] = new DefaultHttpContext(); + Requests[1253].RequestServices = CreateServices(); + Requests[1253].Request.Method = "GET"; + Requests[1253].Request.Path = "/subscriptions/e310500c-2fc5-/providers/Microsoft.Addons/supportProviders/1d65cca4-67b/supportPlanTypes/80a8fdfc-6a5"; + Requests[1254] = new DefaultHttpContext(); + Requests[1254].RequestServices = CreateServices(); + Requests[1254].Request.Method = "GET"; + Requests[1254].Request.Path = "/subscriptions/8e53c8c3-df61-/providers/Microsoft.AnalysisServices/locations/cccf18bb/operationresults/34c5c5c9-1b"; + Requests[1255] = new DefaultHttpContext(); + Requests[1255].RequestServices = CreateServices(); + Requests[1255].Request.Method = "GET"; + Requests[1255].Request.Path = "/subscriptions/cd310a06-04ce-/providers/Microsoft.AnalysisServices/locations/ed735194/operationstatuses/4fdd5326-ba"; + Requests[1256] = new DefaultHttpContext(); + Requests[1256].RequestServices = CreateServices(); + Requests[1256].Request.Method = "PUT"; + Requests[1256].Request.Path = "/subscriptions/2427095f-4c5a-/providers/Microsoft.Compute.Admin/locations/f100ce16/quotas/cbdf79ba-"; + Requests[1257] = new DefaultHttpContext(); + Requests[1257].RequestServices = CreateServices(); + Requests[1257].Request.Method = "GET"; + Requests[1257].Request.Path = "/subscriptions/400b3846-23c3-/providers/Microsoft.Compute.Admin/locations/821c1095/quotas/4a3ea1ce-"; + Requests[1258] = new DefaultHttpContext(); + Requests[1258].RequestServices = CreateServices(); + Requests[1258].Request.Method = "DELETE"; + Requests[1258].Request.Path = "/subscriptions/73032fec-5cac-/providers/Microsoft.Compute.Admin/locations/9a4a4000/quotas/6e564043-"; + Requests[1259] = new DefaultHttpContext(); + Requests[1259].RequestServices = CreateServices(); + Requests[1259].Request.Method = "GET"; + Requests[1259].Request.Path = "/subscriptions/740effd5-12ce-/providers/Microsoft.Compute/locations/6c9beb72/runCommands/7fa1b14c-"; + Requests[1260] = new DefaultHttpContext(); + Requests[1260].RequestServices = CreateServices(); + Requests[1260].Request.Method = "GET"; + Requests[1260].Request.Path = "/subscriptions/b4bef99b-4b7e-/providers/Microsoft.DevTestLab/locations/43cfb089-2cc/operations/5eb52"; + Requests[1261] = new DefaultHttpContext(); + Requests[1261].RequestServices = CreateServices(); + Requests[1261].Request.Method = "GET"; + Requests[1261].Request.Path = "/subscriptions/e4e683a1-23bc-/providers/Microsoft.Features/providers/22fae324-c430-4ef1-8ef4-2/features/147124b9-12"; + Requests[1262] = new DefaultHttpContext(); + Requests[1262].RequestServices = CreateServices(); + Requests[1262].Request.Method = "GET"; + Requests[1262].Request.Path = "/subscriptions/9460f76f-a798-/providers/Microsoft.KeyVault/locations/a56cca37/deletedVaults/4085e18f-"; + Requests[1263] = new DefaultHttpContext(); + Requests[1263].RequestServices = CreateServices(); + Requests[1263].Request.Method = "GET"; + Requests[1263].Request.Path = "/subscriptions/621077fc-0787-/providers/Microsoft.Network.Admin/locations/261b5c6e/quotas/c88fe1f5-2a6"; + Requests[1264] = new DefaultHttpContext(); + Requests[1264].RequestServices = CreateServices(); + Requests[1264].Request.Method = "DELETE"; + Requests[1264].Request.Path = "/subscriptions/e570c9eb-24e9-/providers/Microsoft.Network.Admin/locations/e7c26217/quotas/ca1152f5-b5f"; + Requests[1265] = new DefaultHttpContext(); + Requests[1265].RequestServices = CreateServices(); + Requests[1265].Request.Method = "PUT"; + Requests[1265].Request.Path = "/subscriptions/9467d9e6-cfec-/providers/Microsoft.Network.Admin/locations/79b5e320/quotas/ca8158a9-cbe"; + Requests[1266] = new DefaultHttpContext(); + Requests[1266].RequestServices = CreateServices(); + Requests[1266].Request.Method = "GET"; + Requests[1266].Request.Path = "/subscriptions/ece6fbaf-a429-/providers/Microsoft.Security/locations/0ca497f9-34/alerts/1d19e947-"; + Requests[1267] = new DefaultHttpContext(); + Requests[1267].RequestServices = CreateServices(); + Requests[1267].Request.Method = "GET"; + Requests[1267].Request.Path = "/subscriptions/6042b579-a059-/providers/Microsoft.Security/locations/861eaec5-98/tasks/db3ef89d"; + Requests[1268] = new DefaultHttpContext(); + Requests[1268].RequestServices = CreateServices(); + Requests[1268].Request.Method = "GET"; + Requests[1268].Request.Path = "/subscriptions/1111c27a-e0d2-/providers/Microsoft.ServiceFabric/locations/a79b3aa2/clusterVersions/3d9a5d7f-4890-"; + Requests[1269] = new DefaultHttpContext(); + Requests[1269].RequestServices = CreateServices(); + Requests[1269].Request.Method = "GET"; + Requests[1269].Request.Path = "/subscriptions/c415ba33-0245-/providers/Microsoft.Sql/locations/8976679b-061/usages/7e36fe5e-"; + Requests[1270] = new DefaultHttpContext(); + Requests[1270].RequestServices = CreateServices(); + Requests[1270].Request.Method = "DELETE"; + Requests[1270].Request.Path = "/subscriptions/d10f8ac7-dd69-/providers/Microsoft.Storage.Admin/locations/d5d5aed9/quotas/7c806e9d-"; + Requests[1271] = new DefaultHttpContext(); + Requests[1271].RequestServices = CreateServices(); + Requests[1271].Request.Method = "GET"; + Requests[1271].Request.Path = "/subscriptions/6df50e18-8b28-/providers/Microsoft.Storage.Admin/locations/d1ba55b6/quotas/810c6e91-"; + Requests[1272] = new DefaultHttpContext(); + Requests[1272].RequestServices = CreateServices(); + Requests[1272].Request.Method = "PUT"; + Requests[1272].Request.Path = "/subscriptions/2dff9e60-5c57-/providers/Microsoft.Storage.Admin/locations/d945e13a/quotas/aa757c51-"; + Requests[1273] = new DefaultHttpContext(); + Requests[1273].RequestServices = CreateServices(); + Requests[1273].Request.Method = "GET"; + Requests[1273].Request.Path = "/subscriptions/78c8551b-345d-/providers/Microsoft.Subscriptions.Admin/delegatedProviders/a96fdb40-fbb5-46eb-b84d-221284e/offers/b51f6"; + Requests[1274] = new DefaultHttpContext(); + Requests[1274].RequestServices = CreateServices(); + Requests[1274].Request.Method = "GET"; + Requests[1274].Request.Path = "/subscriptions/a0082974-aee0-/providers/Microsoft.Subscriptions.Admin/locations/65febca0/quotas/6e06b"; + Requests[1275] = new DefaultHttpContext(); + Requests[1275].RequestServices = CreateServices(); + Requests[1275].Request.Method = "DELETE"; + Requests[1275].Request.Path = "/subscriptions/73e538cd-79f9-/providers/Microsoft.Subscriptions.Admin/subscriptions/da1ba285-f5fa-43e1-8/acquiredPlans/a922ba2b-d02d-404"; + Requests[1276] = new DefaultHttpContext(); + Requests[1276].RequestServices = CreateServices(); + Requests[1276].Request.Method = "PUT"; + Requests[1276].Request.Path = "/subscriptions/737e3704-2800-/providers/Microsoft.Subscriptions.Admin/subscriptions/42f16d26-425f-4cda-9/acquiredPlans/947e3223-87a1-447"; + Requests[1277] = new DefaultHttpContext(); + Requests[1277].RequestServices = CreateServices(); + Requests[1277].Request.Method = "GET"; + Requests[1277].Request.Path = "/subscriptions/2c21f8ce-a002-/providers/Microsoft.Subscriptions.Admin/subscriptions/102e563d-9d43-4071-8/acquiredPlans/a8f52a19-f31d-402"; + Requests[1278] = new DefaultHttpContext(); + Requests[1278].RequestServices = CreateServices(); + Requests[1278].Request.Method = "GET"; + Requests[1278].Request.Path = "/subscriptions/fa1cd062-a6f4-/providers/Microsoft.Web/locations/82aa7c72/connectionGatewayInstallations/274f1114-"; + Requests[1279] = new DefaultHttpContext(); + Requests[1279].RequestServices = CreateServices(); + Requests[1279].Request.Method = "GET"; + Requests[1279].Request.Path = "/subscriptions/6d780efb-6f48-/providers/Microsoft.Web/locations/232d7dad/managedApis/8928d6b"; + Requests[1280] = new DefaultHttpContext(); + Requests[1280].RequestServices = CreateServices(); + Requests[1280].Request.Method = "GET"; + Requests[1280].Request.Path = "/subscriptions/bf44e162-a8c5-/providers/Microsoft.EventGrid/locations/4115ac8f/topicTypes/e1691906-750f/eventSubscriptions"; + Requests[1281] = new DefaultHttpContext(); + Requests[1281].RequestServices = CreateServices(); + Requests[1281].Request.Method = "POST"; + Requests[1281].Request.Path = "/subscriptions/7433fc16-3826-/providers/Microsoft.Features/providers/4100c1e6-2587-4035-a3b6-c/features/7fa2776a-cc/register"; + Requests[1282] = new DefaultHttpContext(); + Requests[1282].RequestServices = CreateServices(); + Requests[1282].Request.Method = "POST"; + Requests[1282].Request.Path = "/subscriptions/240db3d2-4461-/providers/Microsoft.KeyVault/locations/db42eff9/deletedVaults/5576afe0-/purge"; + Requests[1283] = new DefaultHttpContext(); + Requests[1283].RequestServices = CreateServices(); + Requests[1283].Request.Method = "GET"; + Requests[1283].Request.Path = "/subscriptions/4f7972b9-093a-/providers/Microsoft.ServiceFabric/locations/89d680e8/environments/82885d71-e2/clusterVersions"; + Requests[1284] = new DefaultHttpContext(); + Requests[1284].RequestServices = CreateServices(); + Requests[1284].Request.Method = "GET"; + Requests[1284].Request.Path = "/subscriptions/b5cbefab-d37c-/providers/Microsoft.Sql/locations/cc585d41-2f9/longTermRetentionServers/e8d8cb85-9044-4273-827e-929/longTermRetentionBackups"; + Requests[1285] = new DefaultHttpContext(); + Requests[1285].RequestServices = CreateServices(); + Requests[1285].Request.Method = "POST"; + Requests[1285].Request.Path = "/subscriptions/e99c0139-3f32-/providers/Microsoft.Sql/locations/bc670500-912/managedDatabaseRestoreAzureAsyncOperation/0871537b-29/completeRestore"; + Requests[1286] = new DefaultHttpContext(); + Requests[1286].RequestServices = CreateServices(); + Requests[1286].Request.Method = "GET"; + Requests[1286].Request.Path = "/subscriptions/41726a57-e575-/providers/Microsoft.Compute/locations/3af588e2/publishers/0efe529d-c4d3/artifacttypes/vmextension/types"; + Requests[1287] = new DefaultHttpContext(); + Requests[1287].RequestServices = CreateServices(); + Requests[1287].Request.Method = "GET"; + Requests[1287].Request.Path = "/subscriptions/ea8e8d47-56ca-/providers/Microsoft.Compute/locations/35bb3a82/publishers/7529e227-6d57/artifacttypes/vmimage/offers"; + Requests[1288] = new DefaultHttpContext(); + Requests[1288].RequestServices = CreateServices(); + Requests[1288].Request.Method = "GET"; + Requests[1288].Request.Path = "/subscriptions/19a5adfe-ab65-/providers/Microsoft.Compute/locations/c990531e/publishers/a5b79c76-3d24/artifacttypes/vmextension/types/fc9df/versions"; + Requests[1289] = new DefaultHttpContext(); + Requests[1289].RequestServices = CreateServices(); + Requests[1289].Request.Method = "GET"; + Requests[1289].Request.Path = "/subscriptions/887d3177-81e1-/providers/Microsoft.Compute/locations/7fa0ef95/publishers/d8b3c5f5-325c/artifacttypes/vmimage/offers/c6c33/skus"; + Requests[1290] = new DefaultHttpContext(); + Requests[1290].RequestServices = CreateServices(); + Requests[1290].Request.Method = "GET"; + Requests[1290].Request.Path = "/subscriptions/0cef3769-3c9e-/providers/Microsoft.Compute/locations/d881fbe3/publishers/26c70639-92c0/artifacttypes/vmextension/types/df543/versions/3a45b0a"; + Requests[1291] = new DefaultHttpContext(); + Requests[1291].RequestServices = CreateServices(); + Requests[1291].Request.Method = "GET"; + Requests[1291].Request.Path = "/subscriptions/adee9e3b-d0d1-/providers/Microsoft.Compute/locations/2eba8a9e/publishers/a32fa8ca-46c1/artifacttypes/vmimage/offers/1abaf/skus/ae9c8/versions"; + Requests[1292] = new DefaultHttpContext(); + Requests[1292].RequestServices = CreateServices(); + Requests[1292].Request.Method = "GET"; + Requests[1292].Request.Path = "/subscriptions/8fe6e117-b734-/providers/Microsoft.Compute/locations/773c293f/publishers/30581879-914c/artifacttypes/vmimage/offers/06217/skus/0a4e1/versions/5dd8af2"; + Requests[1293] = new DefaultHttpContext(); + Requests[1293].RequestServices = CreateServices(); + Requests[1293].Request.Method = "GET"; + Requests[1293].Request.Path = "/subscriptions/ac653c91-e804-/providers/Microsoft.ServiceFabric/locations/e9be59c0/environments/478a0b9d-6c/clusterVersions/4345a391-5b8d-"; + Requests[1294] = new DefaultHttpContext(); + Requests[1294].RequestServices = CreateServices(); + Requests[1294].Request.Method = "GET"; + Requests[1294].Request.Path = "/subscriptions/fdac51a9-ebf7-/providers/Microsoft.Sql/locations/36355b70-fe7/longTermRetentionServers/9aad3d75-af79-4dc9-8432-dc2/longTermRetentionDatabases/ee445a27-d51e-42c9-8ff2-754b1/longTermRetentionBackups"; + Requests[1295] = new DefaultHttpContext(); + Requests[1295].RequestServices = CreateServices(); + Requests[1295].Request.Method = "GET"; + Requests[1295].Request.Path = "/subscriptions/3b075d6f-c92a-/providers/Microsoft.Sql/locations/c1e05683-0b1/longTermRetentionServers/c6d429f5-c983-4dcf-a877-a9c/longTermRetentionDatabases/83381dc3-fd69-44e2-aaf5-12978/longTermRetentionBackups/31a5cedc-5"; + Requests[1296] = new DefaultHttpContext(); + Requests[1296].RequestServices = CreateServices(); + Requests[1296].Request.Method = "DELETE"; + Requests[1296].Request.Path = "/subscriptions/3533ded4-e0a1-/providers/Microsoft.Sql/locations/49ea713b-249/longTermRetentionServers/194c0ebb-65a0-4686-9397-228/longTermRetentionDatabases/445fd336-d9ef-4d25-a81b-d5931/longTermRetentionBackups/cca11573-c"; + Requests[1297] = new DefaultHttpContext(); + Requests[1297].RequestServices = CreateServices(); + Requests[1297].Request.Method = "GET"; + Requests[1297].Request.Path = "/subscriptions/db248ffb-0142-/providers/Microsoft.MarketplaceOrdering/offerTypes/48ce2c53-/publishers/640b9ed0-21/offers/b3f7c09/plans/0ce23d/agreements/current"; + Requests[1298] = new DefaultHttpContext(); + Requests[1298].RequestServices = CreateServices(); + Requests[1298].Request.Method = "PUT"; + Requests[1298].Request.Path = "/subscriptions/a6ace3df-05ab-/providers/Microsoft.MarketplaceOrdering/offerTypes/efb17a6d-/publishers/a33375d7-13/offers/11f1103/plans/9ee020/agreements/current"; + Requests[1299] = new DefaultHttpContext(); + Requests[1299].RequestServices = CreateServices(); + Requests[1299].Request.Method = "POST"; + Requests[1299].Request.Path = "/subscriptions/f464e38e-3898-/providers/Microsoft.Security/locations/6799ad98-1c/alerts/2406a70e-/b4680df5-acab-4ea5-b5"; + Requests[1300] = new DefaultHttpContext(); + Requests[1300].RequestServices = CreateServices(); + Requests[1300].Request.Method = "POST"; + Requests[1300].Request.Path = "/subscriptions/157317b7-31d2-/providers/Microsoft.Security/locations/324c7b61-89/tasks/f8e17844/2c920d64-ed85-497c-a"; + Requests[1301] = new DefaultHttpContext(); + Requests[1301].RequestServices = CreateServices(); + Requests[1301].Request.Method = "GET"; + Requests[1301].Request.Path = "/Applications/ed70163f-f886/$/GetServices/f7176267-"; + Requests[1302] = new DefaultHttpContext(); + Requests[1302].RequestServices = CreateServices(); + Requests[1302].Request.Method = "GET"; + Requests[1302].Request.Path = "/ApplicationTypes/7d0410bf-12af-4393-/$/GetServiceTypes/36bbb739-9f01-4"; + Requests[1303] = new DefaultHttpContext(); + Requests[1303].RequestServices = CreateServices(); + Requests[1303].Request.Method = "GET"; + Requests[1303].Request.Path = "/Nodes/c46b55b8/$/GetApplications/12835253-d346"; + Requests[1304] = new DefaultHttpContext(); + Requests[1304].RequestServices = CreateServices(); + Requests[1304].Request.Method = "GET"; + Requests[1304].Request.Path = "/Partitions/b36c29e6-61/$/GetReplicas/b972814d-"; + Requests[1305] = new DefaultHttpContext(); + Requests[1305].RequestServices = CreateServices(); + Requests[1305].Request.Method = "GET"; + Requests[1305].Request.Path = "/Services/4e67d636-d9/$/GetPartitions/c2142d3a-fb"; + Requests[1306] = new DefaultHttpContext(); + Requests[1306].RequestServices = CreateServices(); + Requests[1306].Request.Method = "POST"; + Requests[1306].Request.Path = "/Applications/f5b4fe26-35f3-4/$/GetServiceGroups/874e9054-09/$/Delete"; + Requests[1307] = new DefaultHttpContext(); + Requests[1307].RequestServices = CreateServices(); + Requests[1307].Request.Method = "GET"; + Requests[1307].Request.Path = "/Applications/de7f11f0-46f4-4/$/GetServices/b6b22bef-e7/$/GetServiceGroupDescription"; + Requests[1308] = new DefaultHttpContext(); + Requests[1308].RequestServices = CreateServices(); + Requests[1308].Request.Method = "GET"; + Requests[1308].Request.Path = "/Applications/642c4f21-656f-4/$/GetServices/09d5461d-97/$/GetServiceGroupMembers"; + Requests[1309] = new DefaultHttpContext(); + Requests[1309].RequestServices = CreateServices(); + Requests[1309].Request.Method = "POST"; + Requests[1309].Request.Path = "/Applications/2d4ddc02-11f0-4/$/GetServices/74f6e040-a9/$/UpdateServiceGroup"; + Requests[1310] = new DefaultHttpContext(); + Requests[1310].RequestServices = CreateServices(); + Requests[1310].Request.Method = "GET"; + Requests[1310].Request.Path = "/Nodes/345739d6/$/GetApplications/3a36c19e-dcd4/$/GetCodePackages"; + Requests[1311] = new DefaultHttpContext(); + Requests[1311].RequestServices = CreateServices(); + Requests[1311].Request.Method = "GET"; + Requests[1311].Request.Path = "/Nodes/d21b4423/$/GetApplications/a2d0c987-c96a/$/GetHealth"; + Requests[1312] = new DefaultHttpContext(); + Requests[1312].RequestServices = CreateServices(); + Requests[1312].Request.Method = "POST"; + Requests[1312].Request.Path = "/Nodes/28902ce3/$/GetApplications/960875f3-673f/$/GetHealth"; + Requests[1313] = new DefaultHttpContext(); + Requests[1313].RequestServices = CreateServices(); + Requests[1313].Request.Method = "GET"; + Requests[1313].Request.Path = "/Nodes/b19c90c2/$/GetApplications/eb25509e-1f0f/$/GetReplicas"; + Requests[1314] = new DefaultHttpContext(); + Requests[1314].RequestServices = CreateServices(); + Requests[1314].Request.Method = "GET"; + Requests[1314].Request.Path = "/Nodes/72907a77/$/GetApplications/92353823-f1bf/$/GetServicePackages"; + Requests[1315] = new DefaultHttpContext(); + Requests[1315].RequestServices = CreateServices(); + Requests[1315].Request.Method = "GET"; + Requests[1315].Request.Path = "/Nodes/762f5953/$/GetApplications/cd7051b7-29ae/$/GetServiceTypes"; + Requests[1316] = new DefaultHttpContext(); + Requests[1316].RequestServices = CreateServices(); + Requests[1316].Request.Method = "POST"; + Requests[1316].Request.Path = "/Nodes/f70232c3/$/GetApplications/a916cb37-f6ef/$/ReportHealth"; + Requests[1317] = new DefaultHttpContext(); + Requests[1317].RequestServices = CreateServices(); + Requests[1317].Request.Method = "GET"; + Requests[1317].Request.Path = "/Nodes/ef5b5371/$/GetPartitions/28ce57ac-bd/$/GetReplicas"; + Requests[1318] = new DefaultHttpContext(); + Requests[1318].RequestServices = CreateServices(); + Requests[1318].Request.Method = "POST"; + Requests[1318].Request.Path = "/Partitions/bf1e504f-b8/$/GetReplicas/87513de2-/$/GetHealth"; + Requests[1319] = new DefaultHttpContext(); + Requests[1319].RequestServices = CreateServices(); + Requests[1319].Request.Method = "GET"; + Requests[1319].Request.Path = "/Partitions/d4c9f4ac-eb/$/GetReplicas/a8146dde-/$/GetHealth"; + Requests[1320] = new DefaultHttpContext(); + Requests[1320].RequestServices = CreateServices(); + Requests[1320].Request.Method = "GET"; + Requests[1320].Request.Path = "/Partitions/d77a2929-e6/$/GetReplicas/ea1245b1-/$/GetLoadInformation"; + Requests[1321] = new DefaultHttpContext(); + Requests[1321].RequestServices = CreateServices(); + Requests[1321].Request.Method = "POST"; + Requests[1321].Request.Path = "/Partitions/a17199a4-6b/$/GetReplicas/b5a3df2e-/$/ReportHealth"; + Requests[1322] = new DefaultHttpContext(); + Requests[1322].RequestServices = CreateServices(); + Requests[1322].Request.Method = "POST"; + Requests[1322].Request.Path = "/Nodes/028bca86/$/GetApplications/94c4fcb7-484c/$/GetCodePackages/$/ContainerApi"; + Requests[1323] = new DefaultHttpContext(); + Requests[1323].RequestServices = CreateServices(); + Requests[1323].Request.Method = "GET"; + Requests[1323].Request.Path = "/Nodes/cf8b94ca/$/GetApplications/74b2ce3b-e687/$/GetCodePackages/$/ContainerLogs"; + Requests[1324] = new DefaultHttpContext(); + Requests[1324].RequestServices = CreateServices(); + Requests[1324].Request.Method = "POST"; + Requests[1324].Request.Path = "/Nodes/b612ca60/$/GetApplications/976b7eaa-f24d/$/GetCodePackages/$/Restart"; + Requests[1325] = new DefaultHttpContext(); + Requests[1325].RequestServices = CreateServices(); + Requests[1325].Request.Method = "GET"; + Requests[1325].Request.Path = "/Nodes/29b98a7b/$/GetApplications/1c7060e6-f8cf/$/GetServicePackages/a19f61d5-8402-4eb2"; + Requests[1326] = new DefaultHttpContext(); + Requests[1326].RequestServices = CreateServices(); + Requests[1326].Request.Method = "GET"; + Requests[1326].Request.Path = "/Nodes/6aa346f5/$/GetApplications/6513be00-97b7/$/GetServiceTypes/268e2f73-6aa3-4"; + Requests[1327] = new DefaultHttpContext(); + Requests[1327].RequestServices = CreateServices(); + Requests[1327].Request.Method = "GET"; + Requests[1327].Request.Path = "/Nodes/9ae4054f/$/GetApplications/843f8441-8a59/$/GetServicePackages/013371c7-fe95-45b3/$/GetHealth"; + Requests[1328] = new DefaultHttpContext(); + Requests[1328].RequestServices = CreateServices(); + Requests[1328].Request.Method = "POST"; + Requests[1328].Request.Path = "/Nodes/8bffb32e/$/GetApplications/5bed31a5-f9f9/$/GetServicePackages/02b41713-4d20-457a/$/GetHealth"; + Requests[1329] = new DefaultHttpContext(); + Requests[1329].RequestServices = CreateServices(); + Requests[1329].Request.Method = "POST"; + Requests[1329].Request.Path = "/Nodes/0039743b/$/GetApplications/50789cfb-795d/$/GetServicePackages/05ede1e9-6ea1-4492/$/ReportHealth"; + Requests[1330] = new DefaultHttpContext(); + Requests[1330].RequestServices = CreateServices(); + Requests[1330].Request.Method = "POST"; + Requests[1330].Request.Path = "/Nodes/0922065e/$/GetPartitions/07c1c584-1b/$/GetReplicas/d652aa5f-/$/Delete"; + Requests[1331] = new DefaultHttpContext(); + Requests[1331].RequestServices = CreateServices(); + Requests[1331].Request.Method = "GET"; + Requests[1331].Request.Path = "/Nodes/e2afd9f0/$/GetPartitions/816555eb-4e/$/GetReplicas/5f6a5a2f-/$/GetDetail"; + Requests[1332] = new DefaultHttpContext(); + Requests[1332].RequestServices = CreateServices(); + Requests[1332].Request.Method = "POST"; + Requests[1332].Request.Path = "/Nodes/0c179a33/$/GetPartitions/d1165342-b7/$/GetReplicas/2c4fdbd6-/$/Restart"; + Requests[1333] = new DefaultHttpContext(); + Requests[1333].RequestServices = CreateServices(); + Requests[1333].Request.Method = "DELETE"; + Requests[1333].Request.Path = "/apis/f2c95/operations/17eaf31f-12"; + Requests[1334] = new DefaultHttpContext(); + Requests[1334].RequestServices = CreateServices(); + Requests[1334].Request.Method = "GET"; + Requests[1334].Request.Path = "/apis/66f43/operations/00815541-88"; + Requests[1335] = new DefaultHttpContext(); + Requests[1335].RequestServices = CreateServices(); + Requests[1335].Request.Method = "PATCH"; + Requests[1335].Request.Path = "/apis/f45d7/operations/697af956-b9"; + Requests[1336] = new DefaultHttpContext(); + Requests[1336].RequestServices = CreateServices(); + Requests[1336].Request.Method = "PUT"; + Requests[1336].Request.Path = "/apis/b2bf5/operations/9b74f183-e4"; + Requests[1337] = new DefaultHttpContext(); + Requests[1337].RequestServices = CreateServices(); + Requests[1337].Request.Method = "GET"; + Requests[1337].Request.Path = "/apis/581f7/policies/54f5d99f"; + Requests[1338] = new DefaultHttpContext(); + Requests[1338].RequestServices = CreateServices(); + Requests[1338].Request.Method = "PUT"; + Requests[1338].Request.Path = "/apis/163ec/policies/1dcd59be"; + Requests[1339] = new DefaultHttpContext(); + Requests[1339].RequestServices = CreateServices(); + Requests[1339].Request.Method = "DELETE"; + Requests[1339].Request.Path = "/apis/8a89c/policies/3700c79f"; + Requests[1340] = new DefaultHttpContext(); + Requests[1340].RequestServices = CreateServices(); + Requests[1340].Request.Method = "DELETE"; + Requests[1340].Request.Path = "/apis/ec08c/schemas/61e3a8f5"; + Requests[1341] = new DefaultHttpContext(); + Requests[1341].RequestServices = CreateServices(); + Requests[1341].Request.Method = "PUT"; + Requests[1341].Request.Path = "/apis/4e90b/schemas/bdec81c9"; + Requests[1342] = new DefaultHttpContext(); + Requests[1342].RequestServices = CreateServices(); + Requests[1342].Request.Method = "GET"; + Requests[1342].Request.Path = "/apis/0a351/schemas/10a5bc54"; + Requests[1343] = new DefaultHttpContext(); + Requests[1343].RequestServices = CreateServices(); + Requests[1343].Request.Method = "GET"; + Requests[1343].Request.Path = "/apps/63813/events/cbdb18bb-"; + Requests[1344] = new DefaultHttpContext(); + Requests[1344].RequestServices = CreateServices(); + Requests[1344].Request.Method = "GET"; + Requests[1344].Request.Path = "/apps/1e10e/metrics/f50f9df2"; + Requests[1345] = new DefaultHttpContext(); + Requests[1345].RequestServices = CreateServices(); + Requests[1345].Request.Method = "DELETE"; + Requests[1345].Request.Path = "/apps/4f105/versions/bbc71dda-"; + Requests[1346] = new DefaultHttpContext(); + Requests[1346].RequestServices = CreateServices(); + Requests[1346].Request.Method = "PUT"; + Requests[1346].Request.Path = "/apps/598b4/versions/18d34fe4-"; + Requests[1347] = new DefaultHttpContext(); + Requests[1347].RequestServices = CreateServices(); + Requests[1347].Request.Method = "GET"; + Requests[1347].Request.Path = "/apps/1376d/versions/e8e4cafb-"; + Requests[1348] = new DefaultHttpContext(); + Requests[1348].RequestServices = CreateServices(); + Requests[1348].Request.Method = "GET"; + Requests[1348].Request.Path = "/delegatedProviders/55ad106d-a4f6-40d1-/offers/cdda69b0-"; + Requests[1349] = new DefaultHttpContext(); + Requests[1349].RequestServices = CreateServices(); + Requests[1349].Request.Method = "GET"; + Requests[1349].Request.Path = "/deletedstorage/351d3d69-0c43-49f8-b/sas/93d5537d-0a1c-4f5c-"; + Requests[1350] = new DefaultHttpContext(); + Requests[1350].RequestServices = CreateServices(); + Requests[1350].Request.Method = "DELETE"; + Requests[1350].Request.Path = "/facelists/843eb893-9/persistedFaces/2373e0cd-330b-4"; + Requests[1351] = new DefaultHttpContext(); + Requests[1351].RequestServices = CreateServices(); + Requests[1351].Request.Method = "PUT"; + Requests[1351].Request.Path = "/groups/4e82b5d/users/85dd0"; + Requests[1352] = new DefaultHttpContext(); + Requests[1352].RequestServices = CreateServices(); + Requests[1352].Request.Method = "DELETE"; + Requests[1352].Request.Path = "/groups/26e2722/users/81405"; + Requests[1353] = new DefaultHttpContext(); + Requests[1353].RequestServices = CreateServices(); + Requests[1353].Request.Method = "GET"; + Requests[1353].Request.Path = "/jobs/87bef/tasks/d55658"; + Requests[1354] = new DefaultHttpContext(); + Requests[1354].RequestServices = CreateServices(); + Requests[1354].Request.Method = "DELETE"; + Requests[1354].Request.Path = "/jobs/e7a5d/tasks/96f0d6"; + Requests[1355] = new DefaultHttpContext(); + Requests[1355].RequestServices = CreateServices(); + Requests[1355].Request.Method = "PUT"; + Requests[1355].Request.Path = "/jobs/533fe/tasks/65c5cb"; + Requests[1356] = new DefaultHttpContext(); + Requests[1356].RequestServices = CreateServices(); + Requests[1356].Request.Method = "GET"; + Requests[1356].Request.Path = "/persongroups/b1b71c4a-4a33/persons/111fffa2"; + Requests[1357] = new DefaultHttpContext(); + Requests[1357].RequestServices = CreateServices(); + Requests[1357].Request.Method = "PATCH"; + Requests[1357].Request.Path = "/persongroups/51c96583-bbd3/persons/cafb8ee3"; + Requests[1358] = new DefaultHttpContext(); + Requests[1358].RequestServices = CreateServices(); + Requests[1358].Request.Method = "DELETE"; + Requests[1358].Request.Path = "/persongroups/09cb77eb-a357/persons/6b475c68"; + Requests[1359] = new DefaultHttpContext(); + Requests[1359].RequestServices = CreateServices(); + Requests[1359].Request.Method = "GET"; + Requests[1359].Request.Path = "/pools/351e51/nodes/8a86cb"; + Requests[1360] = new DefaultHttpContext(); + Requests[1360].RequestServices = CreateServices(); + Requests[1360].Request.Method = "DELETE"; + Requests[1360].Request.Path = "/products/122d56fe-/apis/3f551"; + Requests[1361] = new DefaultHttpContext(); + Requests[1361].RequestServices = CreateServices(); + Requests[1361].Request.Method = "PUT"; + Requests[1361].Request.Path = "/products/155a381a-/apis/077e7"; + Requests[1362] = new DefaultHttpContext(); + Requests[1362].RequestServices = CreateServices(); + Requests[1362].Request.Method = "PUT"; + Requests[1362].Request.Path = "/products/1dc0446a-/groups/ae08e25"; + Requests[1363] = new DefaultHttpContext(); + Requests[1363].RequestServices = CreateServices(); + Requests[1363].Request.Method = "DELETE"; + Requests[1363].Request.Path = "/products/6cf8dfef-/groups/689d271"; + Requests[1364] = new DefaultHttpContext(); + Requests[1364].RequestServices = CreateServices(); + Requests[1364].Request.Method = "PUT"; + Requests[1364].Request.Path = "/products/9aacee11-/policies/e1c02d0b"; + Requests[1365] = new DefaultHttpContext(); + Requests[1365].RequestServices = CreateServices(); + Requests[1365].Request.Method = "GET"; + Requests[1365].Request.Path = "/products/341e764c-/policies/8c54cf47"; + Requests[1366] = new DefaultHttpContext(); + Requests[1366].RequestServices = CreateServices(); + Requests[1366].Request.Method = "DELETE"; + Requests[1366].Request.Path = "/products/3b778fa1-/policies/d740c035"; + Requests[1367] = new DefaultHttpContext(); + Requests[1367].RequestServices = CreateServices(); + Requests[1367].Request.Method = "DELETE"; + Requests[1367].Request.Path = "/projects/7bde34e5-/iterations/b8b1cfef-c2"; + Requests[1368] = new DefaultHttpContext(); + Requests[1368].RequestServices = CreateServices(); + Requests[1368].Request.Method = "PATCH"; + Requests[1368].Request.Path = "/projects/0dea1c1d-/iterations/ab59f5cc-4b"; + Requests[1369] = new DefaultHttpContext(); + Requests[1369].RequestServices = CreateServices(); + Requests[1369].Request.Method = "GET"; + Requests[1369].Request.Path = "/projects/ee7a14bf-/iterations/42461e85-27"; + Requests[1370] = new DefaultHttpContext(); + Requests[1370].RequestServices = CreateServices(); + Requests[1370].Request.Method = "DELETE"; + Requests[1370].Request.Path = "/projects/7ac42682-/tags/f8dce"; + Requests[1371] = new DefaultHttpContext(); + Requests[1371].RequestServices = CreateServices(); + Requests[1371].Request.Method = "PATCH"; + Requests[1371].Request.Path = "/projects/18347b5b-/tags/1b894"; + Requests[1372] = new DefaultHttpContext(); + Requests[1372].RequestServices = CreateServices(); + Requests[1372].Request.Method = "GET"; + Requests[1372].Request.Path = "/projects/dfccf1e9-/tags/59527"; + Requests[1373] = new DefaultHttpContext(); + Requests[1373].RequestServices = CreateServices(); + Requests[1373].Request.Method = "PATCH"; + Requests[1373].Request.Path = "/storage/9cfd8322-ab57-4979-9/sas/3d259dd5-00ae-479a-"; + Requests[1374] = new DefaultHttpContext(); + Requests[1374].RequestServices = CreateServices(); + Requests[1374].Request.Method = "PUT"; + Requests[1374].Request.Path = "/storage/0d93fd72-6818-4d10-8/sas/0801985d-2de9-421c-"; + Requests[1375] = new DefaultHttpContext(); + Requests[1375].RequestServices = CreateServices(); + Requests[1375].Request.Method = "DELETE"; + Requests[1375].Request.Path = "/storage/14a80398-0958-43b1-9/sas/466b9136-7a7b-4e22-"; + Requests[1376] = new DefaultHttpContext(); + Requests[1376].RequestServices = CreateServices(); + Requests[1376].Request.Method = "GET"; + Requests[1376].Request.Path = "/storage/e99b0743-2f45-478e-9/sas/316980f2-15c1-4db9-"; + Requests[1377] = new DefaultHttpContext(); + Requests[1377].RequestServices = CreateServices(); + Requests[1377].Request.Method = "GET"; + Requests[1377].Request.Path = "/subscriptions/70c5d444-0ea0-/providers/ca932bfb-c23b-48f0-8fac-e"; + Requests[1378] = new DefaultHttpContext(); + Requests[1378].RequestServices = CreateServices(); + Requests[1378].Request.Method = "HEAD"; + Requests[1378].Request.Path = "/subscriptions/33421b06-87ae-/resourcegroups/b65090e7-6dae-47e"; + Requests[1379] = new DefaultHttpContext(); + Requests[1379].RequestServices = CreateServices(); + Requests[1379].Request.Method = "PATCH"; + Requests[1379].Request.Path = "/subscriptions/b8ea6988-ba87-/resourcegroups/2e888959-3158-469"; + Requests[1380] = new DefaultHttpContext(); + Requests[1380].RequestServices = CreateServices(); + Requests[1380].Request.Method = "GET"; + Requests[1380].Request.Path = "/subscriptions/b61598c2-31a1-/resourcegroups/275a9a69-c8bd-44f"; + Requests[1381] = new DefaultHttpContext(); + Requests[1381].RequestServices = CreateServices(); + Requests[1381].Request.Method = "PUT"; + Requests[1381].Request.Path = "/subscriptions/abe92b5f-45a8-/resourcegroups/2c8eb688-3e39-449"; + Requests[1382] = new DefaultHttpContext(); + Requests[1382].RequestServices = CreateServices(); + Requests[1382].Request.Method = "DELETE"; + Requests[1382].Request.Path = "/subscriptions/0ee49827-fcca-/resourcegroups/cbb96ef9-5ef0-4aa"; + Requests[1383] = new DefaultHttpContext(); + Requests[1383].RequestServices = CreateServices(); + Requests[1383].Request.Method = "DELETE"; + Requests[1383].Request.Path = "/subscriptions/4dd04a95-56ca-/tagNames/0b2f487"; + Requests[1384] = new DefaultHttpContext(); + Requests[1384].RequestServices = CreateServices(); + Requests[1384].Request.Method = "PUT"; + Requests[1384].Request.Path = "/subscriptions/fcb97e28-a5d2-/tagNames/9c10be2"; + Requests[1385] = new DefaultHttpContext(); + Requests[1385].RequestServices = CreateServices(); + Requests[1385].Request.Method = "GET"; + Requests[1385].Request.Path = "/apis/dc327/operations/65ee625a-45/policies"; + Requests[1386] = new DefaultHttpContext(); + Requests[1386].RequestServices = CreateServices(); + Requests[1386].Request.Method = "POST"; + Requests[1386].Request.Path = "/apps/fa9b1/versions/0668da6b-/clone"; + Requests[1387] = new DefaultHttpContext(); + Requests[1387].RequestServices = CreateServices(); + Requests[1387].Request.Method = "GET"; + Requests[1387].Request.Path = "/apps/20ec6/versions/e8dcb709-/closedlists"; + Requests[1388] = new DefaultHttpContext(); + Requests[1388].RequestServices = CreateServices(); + Requests[1388].Request.Method = "POST"; + Requests[1388].Request.Path = "/apps/9851a/versions/ff5a938a-/closedlists"; + Requests[1389] = new DefaultHttpContext(); + Requests[1389].RequestServices = CreateServices(); + Requests[1389].Request.Method = "POST"; + Requests[1389].Request.Path = "/apps/3444a/versions/f91a0bbb-/compositeentities"; + Requests[1390] = new DefaultHttpContext(); + Requests[1390].RequestServices = CreateServices(); + Requests[1390].Request.Method = "GET"; + Requests[1390].Request.Path = "/apps/cbeee/versions/6f0f4da4-/compositeentities"; + Requests[1391] = new DefaultHttpContext(); + Requests[1391].RequestServices = CreateServices(); + Requests[1391].Request.Method = "POST"; + Requests[1391].Request.Path = "/apps/431f2/versions/89b20a24-/customprebuiltdomains"; + Requests[1392] = new DefaultHttpContext(); + Requests[1392].RequestServices = CreateServices(); + Requests[1392].Request.Method = "POST"; + Requests[1392].Request.Path = "/apps/b2ea0/versions/30e949b9-/customprebuiltentities"; + Requests[1393] = new DefaultHttpContext(); + Requests[1393].RequestServices = CreateServices(); + Requests[1393].Request.Method = "GET"; + Requests[1393].Request.Path = "/apps/078d8/versions/133cefd6-/customprebuiltentities"; + Requests[1394] = new DefaultHttpContext(); + Requests[1394].RequestServices = CreateServices(); + Requests[1394].Request.Method = "POST"; + Requests[1394].Request.Path = "/apps/2ad28/versions/3789a8af-/customprebuiltintents"; + Requests[1395] = new DefaultHttpContext(); + Requests[1395].RequestServices = CreateServices(); + Requests[1395].Request.Method = "GET"; + Requests[1395].Request.Path = "/apps/d75a7/versions/aa87cdf4-/customprebuiltintents"; + Requests[1396] = new DefaultHttpContext(); + Requests[1396].RequestServices = CreateServices(); + Requests[1396].Request.Method = "GET"; + Requests[1396].Request.Path = "/apps/5b790/versions/78a6f8a9-/customprebuiltmodels"; + Requests[1397] = new DefaultHttpContext(); + Requests[1397].RequestServices = CreateServices(); + Requests[1397].Request.Method = "GET"; + Requests[1397].Request.Path = "/apps/8a676/versions/e148980b-/entities"; + Requests[1398] = new DefaultHttpContext(); + Requests[1398].RequestServices = CreateServices(); + Requests[1398].Request.Method = "POST"; + Requests[1398].Request.Path = "/apps/5bbd0/versions/b621c868-/entities"; + Requests[1399] = new DefaultHttpContext(); + Requests[1399].RequestServices = CreateServices(); + Requests[1399].Request.Method = "POST"; + Requests[1399].Request.Path = "/apps/8b3fe/versions/463fa26a-/example"; + Requests[1400] = new DefaultHttpContext(); + Requests[1400].RequestServices = CreateServices(); + Requests[1400].Request.Method = "POST"; + Requests[1400].Request.Path = "/apps/1663b/versions/e861ebcf-/examples"; + Requests[1401] = new DefaultHttpContext(); + Requests[1401].RequestServices = CreateServices(); + Requests[1401].Request.Method = "GET"; + Requests[1401].Request.Path = "/apps/8a0fa/versions/886a81ef-/examples"; + Requests[1402] = new DefaultHttpContext(); + Requests[1402].RequestServices = CreateServices(); + Requests[1402].Request.Method = "GET"; + Requests[1402].Request.Path = "/apps/021e5/versions/7c2324f6-/export"; + Requests[1403] = new DefaultHttpContext(); + Requests[1403].RequestServices = CreateServices(); + Requests[1403].Request.Method = "GET"; + Requests[1403].Request.Path = "/apps/c056a/versions/e8c2d6fc-/features"; + Requests[1404] = new DefaultHttpContext(); + Requests[1404].RequestServices = CreateServices(); + Requests[1404].Request.Method = "GET"; + Requests[1404].Request.Path = "/apps/6244b/versions/0aebb67a-/hierarchicalentities"; + Requests[1405] = new DefaultHttpContext(); + Requests[1405].RequestServices = CreateServices(); + Requests[1405].Request.Method = "POST"; + Requests[1405].Request.Path = "/apps/a4b78/versions/ffd8902a-/hierarchicalentities"; + Requests[1406] = new DefaultHttpContext(); + Requests[1406].RequestServices = CreateServices(); + Requests[1406].Request.Method = "POST"; + Requests[1406].Request.Path = "/apps/fbea2/versions/4ff0fbdb-/intents"; + Requests[1407] = new DefaultHttpContext(); + Requests[1407].RequestServices = CreateServices(); + Requests[1407].Request.Method = "GET"; + Requests[1407].Request.Path = "/apps/4fe5f/versions/59f9efe4-/intents"; + Requests[1408] = new DefaultHttpContext(); + Requests[1408].RequestServices = CreateServices(); + Requests[1408].Request.Method = "GET"; + Requests[1408].Request.Path = "/apps/42e84/versions/3c0b2fdc-/listprebuilts"; + Requests[1409] = new DefaultHttpContext(); + Requests[1409].RequestServices = CreateServices(); + Requests[1409].Request.Method = "GET"; + Requests[1409].Request.Path = "/apps/1f2b8/versions/2108209c-/models"; + Requests[1410] = new DefaultHttpContext(); + Requests[1410].RequestServices = CreateServices(); + Requests[1410].Request.Method = "POST"; + Requests[1410].Request.Path = "/apps/a874e/versions/ec638c39-/patternanyentities"; + Requests[1411] = new DefaultHttpContext(); + Requests[1411].RequestServices = CreateServices(); + Requests[1411].Request.Method = "GET"; + Requests[1411].Request.Path = "/apps/f32d8/versions/610587f9-/patternanyentities"; + Requests[1412] = new DefaultHttpContext(); + Requests[1412].RequestServices = CreateServices(); + Requests[1412].Request.Method = "POST"; + Requests[1412].Request.Path = "/apps/34d19/versions/45a12686-/patternrule"; + Requests[1413] = new DefaultHttpContext(); + Requests[1413].RequestServices = CreateServices(); + Requests[1413].Request.Method = "GET"; + Requests[1413].Request.Path = "/apps/37040/versions/7a5039b1-/patternrules"; + Requests[1414] = new DefaultHttpContext(); + Requests[1414].RequestServices = CreateServices(); + Requests[1414].Request.Method = "DELETE"; + Requests[1414].Request.Path = "/apps/a32e6/versions/4edcc313-/patternrules"; + Requests[1415] = new DefaultHttpContext(); + Requests[1415].RequestServices = CreateServices(); + Requests[1415].Request.Method = "PUT"; + Requests[1415].Request.Path = "/apps/8790b/versions/ac7b92a0-/patternrules"; + Requests[1416] = new DefaultHttpContext(); + Requests[1416].RequestServices = CreateServices(); + Requests[1416].Request.Method = "POST"; + Requests[1416].Request.Path = "/apps/1b994/versions/85343a91-/patternrules"; + Requests[1417] = new DefaultHttpContext(); + Requests[1417].RequestServices = CreateServices(); + Requests[1417].Request.Method = "GET"; + Requests[1417].Request.Path = "/apps/04516/versions/8a2ab223-/patterns"; + Requests[1418] = new DefaultHttpContext(); + Requests[1418].RequestServices = CreateServices(); + Requests[1418].Request.Method = "POST"; + Requests[1418].Request.Path = "/apps/03c60/versions/79d70224-/patterns"; + Requests[1419] = new DefaultHttpContext(); + Requests[1419].RequestServices = CreateServices(); + Requests[1419].Request.Method = "POST"; + Requests[1419].Request.Path = "/apps/48989/versions/0f77df8e-/phraselists"; + Requests[1420] = new DefaultHttpContext(); + Requests[1420].RequestServices = CreateServices(); + Requests[1420].Request.Method = "GET"; + Requests[1420].Request.Path = "/apps/0c73d/versions/a44e717d-/phraselists"; + Requests[1421] = new DefaultHttpContext(); + Requests[1421].RequestServices = CreateServices(); + Requests[1421].Request.Method = "POST"; + Requests[1421].Request.Path = "/apps/a7c42/versions/b0a92db8-/prebuilts"; + Requests[1422] = new DefaultHttpContext(); + Requests[1422].RequestServices = CreateServices(); + Requests[1422].Request.Method = "GET"; + Requests[1422].Request.Path = "/apps/fc4cc/versions/b7c0ccf5-/prebuilts"; + Requests[1423] = new DefaultHttpContext(); + Requests[1423].RequestServices = CreateServices(); + Requests[1423].Request.Method = "GET"; + Requests[1423].Request.Path = "/apps/8fed9/versions/d8b10cb2-/regexentities"; + Requests[1424] = new DefaultHttpContext(); + Requests[1424].RequestServices = CreateServices(); + Requests[1424].Request.Method = "POST"; + Requests[1424].Request.Path = "/apps/60385/versions/b2b2866d-/regexentities"; + Requests[1425] = new DefaultHttpContext(); + Requests[1425].RequestServices = CreateServices(); + Requests[1425].Request.Method = "DELETE"; + Requests[1425].Request.Path = "/apps/852ed/versions/87e20a25-/suggest"; + Requests[1426] = new DefaultHttpContext(); + Requests[1426].RequestServices = CreateServices(); + Requests[1426].Request.Method = "POST"; + Requests[1426].Request.Path = "/apps/b0db2/versions/36b382bb-/train"; + Requests[1427] = new DefaultHttpContext(); + Requests[1427].RequestServices = CreateServices(); + Requests[1427].Request.Method = "GET"; + Requests[1427].Request.Path = "/apps/713c0/versions/8669d433-/train"; + Requests[1428] = new DefaultHttpContext(); + Requests[1428].RequestServices = CreateServices(); + Requests[1428].Request.Method = "POST"; + Requests[1428].Request.Path = "/deletedstorage/514e1d6b-1354-4e55-a/sas/5f58094a-f404-4335-/recover"; + Requests[1429] = new DefaultHttpContext(); + Requests[1429].RequestServices = CreateServices(); + Requests[1429].Request.Method = "GET"; + Requests[1429].Request.Path = "/jobs/ed3e3/tasks/d301cc/files"; + Requests[1430] = new DefaultHttpContext(); + Requests[1430].RequestServices = CreateServices(); + Requests[1430].Request.Method = "POST"; + Requests[1430].Request.Path = "/jobs/2d312/tasks/1e8971/reactivate"; + Requests[1431] = new DefaultHttpContext(); + Requests[1431].RequestServices = CreateServices(); + Requests[1431].Request.Method = "GET"; + Requests[1431].Request.Path = "/jobs/c9086/tasks/b40b73/subtasksinfo"; + Requests[1432] = new DefaultHttpContext(); + Requests[1432].RequestServices = CreateServices(); + Requests[1432].Request.Method = "POST"; + Requests[1432].Request.Path = "/jobs/71345/tasks/be3e26/terminate"; + Requests[1433] = new DefaultHttpContext(); + Requests[1433].RequestServices = CreateServices(); + Requests[1433].Request.Method = "POST"; + Requests[1433].Request.Path = "/persongroups/56af3c32-9140/persons/e3f145d3/persistedFaces"; + Requests[1434] = new DefaultHttpContext(); + Requests[1434].RequestServices = CreateServices(); + Requests[1434].Request.Method = "POST"; + Requests[1434].Request.Path = "/pools/d6d5a9/nodes/b12c1e/disablescheduling"; + Requests[1435] = new DefaultHttpContext(); + Requests[1435].RequestServices = CreateServices(); + Requests[1435].Request.Method = "POST"; + Requests[1435].Request.Path = "/pools/81a790/nodes/d9db37/enablescheduling"; + Requests[1436] = new DefaultHttpContext(); + Requests[1436].RequestServices = CreateServices(); + Requests[1436].Request.Method = "GET"; + Requests[1436].Request.Path = "/pools/73a821/nodes/96761c/files"; + Requests[1437] = new DefaultHttpContext(); + Requests[1437].RequestServices = CreateServices(); + Requests[1437].Request.Method = "GET"; + Requests[1437].Request.Path = "/pools/a665c1/nodes/3317d9/rdp"; + Requests[1438] = new DefaultHttpContext(); + Requests[1438].RequestServices = CreateServices(); + Requests[1438].Request.Method = "POST"; + Requests[1438].Request.Path = "/pools/f1105f/nodes/ecac92/reboot"; + Requests[1439] = new DefaultHttpContext(); + Requests[1439].RequestServices = CreateServices(); + Requests[1439].Request.Method = "POST"; + Requests[1439].Request.Path = "/pools/447429/nodes/b63a7d/reimage"; + Requests[1440] = new DefaultHttpContext(); + Requests[1440].RequestServices = CreateServices(); + Requests[1440].Request.Method = "GET"; + Requests[1440].Request.Path = "/pools/a03760/nodes/456845/remoteloginsettings"; + Requests[1441] = new DefaultHttpContext(); + Requests[1441].RequestServices = CreateServices(); + Requests[1441].Request.Method = "POST"; + Requests[1441].Request.Path = "/pools/39e8af/nodes/3029df/uploadbatchservicelogs"; + Requests[1442] = new DefaultHttpContext(); + Requests[1442].RequestServices = CreateServices(); + Requests[1442].Request.Method = "POST"; + Requests[1442].Request.Path = "/pools/dd5242/nodes/f89588/users"; + Requests[1443] = new DefaultHttpContext(); + Requests[1443].RequestServices = CreateServices(); + Requests[1443].Request.Method = "POST"; + Requests[1443].Request.Path = "/projects/93f2776c-/iterations/4a1e0386-ec/export"; + Requests[1444] = new DefaultHttpContext(); + Requests[1444].RequestServices = CreateServices(); + Requests[1444].Request.Method = "GET"; + Requests[1444].Request.Path = "/projects/cf3eba4c-/iterations/134ed682-87/export"; + Requests[1445] = new DefaultHttpContext(); + Requests[1445].RequestServices = CreateServices(); + Requests[1445].Request.Method = "GET"; + Requests[1445].Request.Path = "/projects/265784d9-/iterations/893ef7ac-ea/performance"; + Requests[1446] = new DefaultHttpContext(); + Requests[1446].RequestServices = CreateServices(); + Requests[1446].Request.Method = "POST"; + Requests[1446].Request.Path = "/subscriptions/2447212d-833a-/providers/eb74d7fb-804c-445c-8ac8-4/register"; + Requests[1447] = new DefaultHttpContext(); + Requests[1447].RequestServices = CreateServices(); + Requests[1447].Request.Method = "POST"; + Requests[1447].Request.Path = "/subscriptions/79ce5de2-1d14-/providers/44c77116-eb7a-4a59-982f-6/unregister"; + Requests[1448] = new DefaultHttpContext(); + Requests[1448].RequestServices = CreateServices(); + Requests[1448].Request.Method = "POST"; + Requests[1448].Request.Path = "/subscriptions/29591378-a024-/resourcegroups/8d83dae8-da4d-499/exportTemplate"; + Requests[1449] = new DefaultHttpContext(); + Requests[1449].RequestServices = CreateServices(); + Requests[1449].Request.Method = "POST"; + Requests[1449].Request.Path = "/subscriptions/2a8e259e-0215-/resourceGroups/fbc9cae0-e64d-415/moveResources"; + Requests[1450] = new DefaultHttpContext(); + Requests[1450].RequestServices = CreateServices(); + Requests[1450].Request.Method = "GET"; + Requests[1450].Request.Path = "/subscriptions/b71b1306-7f0d-/resourceGroups/02e9ae00-2d73-436/resources"; + Requests[1451] = new DefaultHttpContext(); + Requests[1451].RequestServices = CreateServices(); + Requests[1451].Request.Method = "POST"; + Requests[1451].Request.Path = "/subscriptions/a382d0c2-a395-/resourceGroups/d4783f31-e9c0-46d/validateMoveResources"; + Requests[1452] = new DefaultHttpContext(); + Requests[1452].RequestServices = CreateServices(); + Requests[1452].Request.Method = "GET"; + Requests[1452].Request.Path = "/projects/d198d2fb-/iterations/0929539f-eb/performance/images"; + Requests[1453] = new DefaultHttpContext(); + Requests[1453].RequestServices = CreateServices(); + Requests[1453].Request.Method = "GET"; + Requests[1453].Request.Path = "/projects/08adcf85-/iterations/4301c8ab-c2/performance/images/count"; + Requests[1454] = new DefaultHttpContext(); + Requests[1454].RequestServices = CreateServices(); + Requests[1454].Request.Method = "GET"; + Requests[1454].Request.Path = "/subscriptions/ca896ae5-9afe-/resourceGroup/60f7c494-7880-4be/providers/microsoft.insights/workbooks"; + Requests[1455] = new DefaultHttpContext(); + Requests[1455].RequestServices = CreateServices(); + Requests[1455].Request.Method = "GET"; + Requests[1455].Request.Path = "/subscriptions/36f9d9b4-4f6e-/resourceGroups/a6c519dd-/providers/Microsoft.DataMigration/services"; + Requests[1456] = new DefaultHttpContext(); + Requests[1456].RequestServices = CreateServices(); + Requests[1456].Request.Method = "GET"; + Requests[1456].Request.Path = "/subscriptions/b9930d38-e558-/resourceGroups/b022c26f-f726/providers/Microsoft.Advisor/configurations"; + Requests[1457] = new DefaultHttpContext(); + Requests[1457].RequestServices = CreateServices(); + Requests[1457].Request.Method = "PUT"; + Requests[1457].Request.Path = "/subscriptions/5fa5365d-21e4-/resourceGroups/2ebabd7d-ef9f/providers/Microsoft.Advisor/configurations"; + Requests[1458] = new DefaultHttpContext(); + Requests[1458].RequestServices = CreateServices(); + Requests[1458].Request.Method = "GET"; + Requests[1458].Request.Path = "/subscriptions/ddf37c6e-1a33-/resourcegroups/4b96cea3-aab6/providers/Microsoft.AzureBridge.Admin/activations"; + Requests[1459] = new DefaultHttpContext(); + Requests[1459].RequestServices = CreateServices(); + Requests[1459].Request.Method = "GET"; + Requests[1459].Request.Path = "/subscriptions/1414d91b-d65c-/resourceGroups/c87b7484-933b/providers/Microsoft.AzureStack/registrations"; + Requests[1460] = new DefaultHttpContext(); + Requests[1460].RequestServices = CreateServices(); + Requests[1460].Request.Method = "GET"; + Requests[1460].Request.Path = "/subscriptions/b70e81d2-b250-/resourceGroups/56609c74-414c-418/providers/Microsoft.AAD/domainServices"; + Requests[1461] = new DefaultHttpContext(); + Requests[1461].RequestServices = CreateServices(); + Requests[1461].Request.Method = "GET"; + Requests[1461].Request.Path = "/subscriptions/a5e07f32-7772-/resourceGroups/30ee9a63-5cc8-4d3/providers/Microsoft.AnalysisServices/servers"; + Requests[1462] = new DefaultHttpContext(); + Requests[1462].RequestServices = CreateServices(); + Requests[1462].Request.Method = "GET"; + Requests[1462].Request.Path = "/subscriptions/6d45e1cd-a202-/resourceGroups/06531fb8-28dc-405/providers/Microsoft.ApiManagement/service"; + Requests[1463] = new DefaultHttpContext(); + Requests[1463].RequestServices = CreateServices(); + Requests[1463].Request.Method = "GET"; + Requests[1463].Request.Path = "/subscriptions/10ee863f-3491-/resourceGroups/d2f95e9f-f138-471/providers/Microsoft.Authorization/locks"; + Requests[1464] = new DefaultHttpContext(); + Requests[1464].RequestServices = CreateServices(); + Requests[1464].Request.Method = "GET"; + Requests[1464].Request.Path = "/subscriptions/a1976651-efdf-/resourcegroups/864193a9-3c8a-4e6/providers/Microsoft.Authorization/permissions"; + Requests[1465] = new DefaultHttpContext(); + Requests[1465].RequestServices = CreateServices(); + Requests[1465].Request.Method = "GET"; + Requests[1465].Request.Path = "/subscriptions/dba10476-ba3c-/resourceGroups/d9127b89-1d0e-47b/providers/Microsoft.Authorization/policyAssignments"; + Requests[1466] = new DefaultHttpContext(); + Requests[1466].RequestServices = CreateServices(); + Requests[1466].Request.Method = "GET"; + Requests[1466].Request.Path = "/subscriptions/eb131152-eb34-/resourceGroups/deb18fb7-3a02-406/providers/Microsoft.Authorization/roleAssignments"; + Requests[1467] = new DefaultHttpContext(); + Requests[1467].RequestServices = CreateServices(); + Requests[1467].Request.Method = "GET"; + Requests[1467].Request.Path = "/subscriptions/452aafdf-0805-/resourceGroups/46a021ad-40f5-4ba/providers/Microsoft.Automation/automationAccounts"; + Requests[1468] = new DefaultHttpContext(); + Requests[1468].RequestServices = CreateServices(); + Requests[1468].Request.Method = "GET"; + Requests[1468].Request.Path = "/subscriptions/e150e3db-3da4-/resourcegroups/db258bc6-f0ca-4c5/providers/Microsoft.Backup.Admin/backupLocations"; + Requests[1469] = new DefaultHttpContext(); + Requests[1469].RequestServices = CreateServices(); + Requests[1469].Request.Method = "GET"; + Requests[1469].Request.Path = "/subscriptions/f543166d-e72e-/resourceGroups/d7c75b06-ed3c-4fa/providers/Microsoft.Batch/batchAccounts"; + Requests[1470] = new DefaultHttpContext(); + Requests[1470].RequestServices = CreateServices(); + Requests[1470].Request.Method = "GET"; + Requests[1470].Request.Path = "/subscriptions/d11bee98-4f17-/resourceGroups/0fcc56ad-bcdf-4f7/providers/Microsoft.BatchAI/clusters"; + Requests[1471] = new DefaultHttpContext(); + Requests[1471].RequestServices = CreateServices(); + Requests[1471].Request.Method = "GET"; + Requests[1471].Request.Path = "/subscriptions/f9411668-6ef4-/resourceGroups/b770b8b1-6d80-48d/providers/Microsoft.BatchAI/fileServers"; + Requests[1472] = new DefaultHttpContext(); + Requests[1472].RequestServices = CreateServices(); + Requests[1472].Request.Method = "GET"; + Requests[1472].Request.Path = "/subscriptions/c5c2215f-5824-/resourceGroups/807d4df1-4435-4bc/providers/Microsoft.BatchAI/jobs"; + Requests[1473] = new DefaultHttpContext(); + Requests[1473].RequestServices = CreateServices(); + Requests[1473].Request.Method = "GET"; + Requests[1473].Request.Path = "/subscriptions/e9b15b23-0a55-/resourceGroups/5887d7f7-aa54-4d1/providers/Microsoft.BatchAI/workspaces"; + Requests[1474] = new DefaultHttpContext(); + Requests[1474].RequestServices = CreateServices(); + Requests[1474].Request.Method = "GET"; + Requests[1474].Request.Path = "/subscriptions/cb0a3a85-f8a4-/resourceGroups/cfb20eda-ff51-4f5/providers/Microsoft.BotService/botServices"; + Requests[1475] = new DefaultHttpContext(); + Requests[1475].RequestServices = CreateServices(); + Requests[1475].Request.Method = "GET"; + Requests[1475].Request.Path = "/subscriptions/1660fbb0-bd45-/resourceGroups/aaf9ef07-1abc-4db/providers/Microsoft.Cache/Redis"; + Requests[1476] = new DefaultHttpContext(); + Requests[1476].RequestServices = CreateServices(); + Requests[1476].Request.Method = "GET"; + Requests[1476].Request.Path = "/subscriptions/f1ea0ce5-19a9-/resourceGroups/19713d7b-7a73-4b6/providers/Microsoft.Cdn/profiles"; + Requests[1477] = new DefaultHttpContext(); + Requests[1477].RequestServices = CreateServices(); + Requests[1477].Request.Method = "GET"; + Requests[1477].Request.Path = "/subscriptions/3562202c-6d42-/resourceGroups/44cc1253-d2ac-49f/providers/Microsoft.CertificateRegistration/certificateOrders"; + Requests[1478] = new DefaultHttpContext(); + Requests[1478].RequestServices = CreateServices(); + Requests[1478].Request.Method = "GET"; + Requests[1478].Request.Path = "/subscriptions/73ff9c0a-28e1-/resourceGroups/4a881118-2642-449/providers/Microsoft.CognitiveServices/accounts"; + Requests[1479] = new DefaultHttpContext(); + Requests[1479].RequestServices = CreateServices(); + Requests[1479].Request.Method = "GET"; + Requests[1479].Request.Path = "/subscriptions/0f672f1a-f45a-/resourceGroups/e62272d2-4d1c-4b0/providers/Microsoft.Compute/availabilitySets"; + Requests[1480] = new DefaultHttpContext(); + Requests[1480].RequestServices = CreateServices(); + Requests[1480].Request.Method = "GET"; + Requests[1480].Request.Path = "/subscriptions/2936ed6a-9ec2-/resourceGroups/0303f9a1-7d12-426/providers/Microsoft.Compute/disks"; + Requests[1481] = new DefaultHttpContext(); + Requests[1481].RequestServices = CreateServices(); + Requests[1481].Request.Method = "GET"; + Requests[1481].Request.Path = "/subscriptions/803da4b8-101a-/resourceGroups/eddca269-dbfb-4b1/providers/Microsoft.Compute/galleries"; + Requests[1482] = new DefaultHttpContext(); + Requests[1482].RequestServices = CreateServices(); + Requests[1482].Request.Method = "GET"; + Requests[1482].Request.Path = "/subscriptions/e689e863-75b9-/resourceGroups/78475f9f-4982-478/providers/Microsoft.Compute/images"; + Requests[1483] = new DefaultHttpContext(); + Requests[1483].RequestServices = CreateServices(); + Requests[1483].Request.Method = "GET"; + Requests[1483].Request.Path = "/subscriptions/d624e122-2b60-/resourceGroups/bbd8da32-9145-442/providers/Microsoft.Compute/snapshots"; + Requests[1484] = new DefaultHttpContext(); + Requests[1484].RequestServices = CreateServices(); + Requests[1484].Request.Method = "GET"; + Requests[1484].Request.Path = "/subscriptions/b8d4c17b-481c-/resourceGroups/64b6d933-5fa6-415/providers/Microsoft.Compute/virtualMachines"; + Requests[1485] = new DefaultHttpContext(); + Requests[1485].RequestServices = CreateServices(); + Requests[1485].Request.Method = "GET"; + Requests[1485].Request.Path = "/subscriptions/ece6a6fe-5a24-/resourceGroups/e90fc390-fa15-4ba/providers/Microsoft.Compute/virtualMachineScaleSets"; + Requests[1486] = new DefaultHttpContext(); + Requests[1486].RequestServices = CreateServices(); + Requests[1486].Request.Method = "GET"; + Requests[1486].Request.Path = "/subscriptions/93cb9690-7acc-/resourceGroups/233bc4f2-cd35-4a7/providers/Microsoft.Consumption/budgets"; + Requests[1487] = new DefaultHttpContext(); + Requests[1487].RequestServices = CreateServices(); + Requests[1487].Request.Method = "GET"; + Requests[1487].Request.Path = "/subscriptions/5ef0f220-6d7d-/resourceGroups/61b519d3-8b3f-4cb/providers/Microsoft.ContainerInstance/containerGroups"; + Requests[1488] = new DefaultHttpContext(); + Requests[1488].RequestServices = CreateServices(); + Requests[1488].Request.Method = "GET"; + Requests[1488].Request.Path = "/subscriptions/48604ac9-d58c-/resourceGroups/3c46a09c-e54a-4fe/providers/Microsoft.ContainerRegistry/registries"; + Requests[1489] = new DefaultHttpContext(); + Requests[1489].RequestServices = CreateServices(); + Requests[1489].Request.Method = "GET"; + Requests[1489].Request.Path = "/subscriptions/bbbf5e3c-6151-/resourceGroups/de2ddf95-a9be-45e/providers/Microsoft.ContainerService/containerServices"; + Requests[1490] = new DefaultHttpContext(); + Requests[1490].RequestServices = CreateServices(); + Requests[1490].Request.Method = "GET"; + Requests[1490].Request.Path = "/subscriptions/0645fc66-c321-/resourceGroups/3b8ecf5e-99e6-4dc/providers/Microsoft.ContainerService/managedClusters"; + Requests[1491] = new DefaultHttpContext(); + Requests[1491].RequestServices = CreateServices(); + Requests[1491].Request.Method = "GET"; + Requests[1491].Request.Path = "/subscriptions/2f555fae-2f4d-/resourceGroups/889ddb13-e0bd-410/providers/Microsoft.CustomerInsights/hubs"; + Requests[1492] = new DefaultHttpContext(); + Requests[1492].RequestServices = CreateServices(); + Requests[1492].Request.Method = "GET"; + Requests[1492].Request.Path = "/subscriptions/4ffe29a9-2738-/resourceGroups/c372f835-0623-41f/providers/Microsoft.DataBox/jobs"; + Requests[1493] = new DefaultHttpContext(); + Requests[1493].RequestServices = CreateServices(); + Requests[1493].Request.Method = "GET"; + Requests[1493].Request.Path = "/subscriptions/5177cef1-2982-/resourceGroups/960b2ba5-bdd8-41d/providers/Microsoft.Databricks/workspaces"; + Requests[1494] = new DefaultHttpContext(); + Requests[1494].RequestServices = CreateServices(); + Requests[1494].Request.Method = "GET"; + Requests[1494].Request.Path = "/subscriptions/57fc4d63-096f-/resourceGroups/074163b0-27eb-421/providers/Microsoft.DataCatalog/catalogs"; + Requests[1495] = new DefaultHttpContext(); + Requests[1495].RequestServices = CreateServices(); + Requests[1495].Request.Method = "GET"; + Requests[1495].Request.Path = "/subscriptions/c42b4e0a-55fb-/resourceGroups/9bdb8b26-104d-46a/providers/Microsoft.DataFactory/factories"; + Requests[1496] = new DefaultHttpContext(); + Requests[1496].RequestServices = CreateServices(); + Requests[1496].Request.Method = "GET"; + Requests[1496].Request.Path = "/subscriptions/4854010c-558f-/resourceGroups/c0c8904c-5b2b-487/providers/Microsoft.DataLakeAnalytics/accounts"; + Requests[1497] = new DefaultHttpContext(); + Requests[1497].RequestServices = CreateServices(); + Requests[1497].Request.Method = "GET"; + Requests[1497].Request.Path = "/subscriptions/5be220ed-49f4-/resourceGroups/52372424-c93e-427/providers/Microsoft.DataLakeStore/accounts"; + Requests[1498] = new DefaultHttpContext(); + Requests[1498].RequestServices = CreateServices(); + Requests[1498].Request.Method = "GET"; + Requests[1498].Request.Path = "/subscriptions/a873a10b-7505-/resourceGroups/ffd02886-e494-4fa/providers/Microsoft.DBforMySQL/servers"; + Requests[1499] = new DefaultHttpContext(); + Requests[1499].RequestServices = CreateServices(); + Requests[1499].Request.Method = "GET"; + Requests[1499].Request.Path = "/subscriptions/69cfcc19-2755-/resourceGroups/a25282cd-fba2-4b0/providers/Microsoft.DBforPostgreSQL/servers"; + Requests[1500] = new DefaultHttpContext(); + Requests[1500].RequestServices = CreateServices(); + Requests[1500].Request.Method = "GET"; + Requests[1500].Request.Path = "/subscriptions/75be4bc0-921a-/resourceGroups/3c6fb51c-fd8e-418/providers/Microsoft.Devices/IotHubs"; + Requests[1501] = new DefaultHttpContext(); + Requests[1501].RequestServices = CreateServices(); + Requests[1501].Request.Method = "GET"; + Requests[1501].Request.Path = "/subscriptions/204104fd-946b-/resourceGroups/17b4abd3-08eb-44d/providers/Microsoft.Devices/provisioningServices"; + Requests[1502] = new DefaultHttpContext(); + Requests[1502].RequestServices = CreateServices(); + Requests[1502].Request.Method = "GET"; + Requests[1502].Request.Path = "/subscriptions/710dea1a-8861-/resourceGroups/68516efd-dee6-449/providers/Microsoft.DevTestLab/labs"; + Requests[1503] = new DefaultHttpContext(); + Requests[1503].RequestServices = CreateServices(); + Requests[1503].Request.Method = "GET"; + Requests[1503].Request.Path = "/subscriptions/43bc0986-f03b-/resourceGroups/eb1c5a0a-86d5-404/providers/Microsoft.DevTestLab/schedules"; + Requests[1504] = new DefaultHttpContext(); + Requests[1504].RequestServices = CreateServices(); + Requests[1504].Request.Method = "GET"; + Requests[1504].Request.Path = "/subscriptions/7a567f06-f05f-/resourceGroups/2d1597b5-7eb7-427/providers/Microsoft.DocumentDB/databaseAccounts"; + Requests[1505] = new DefaultHttpContext(); + Requests[1505].RequestServices = CreateServices(); + Requests[1505].Request.Method = "GET"; + Requests[1505].Request.Path = "/subscriptions/c83de8e6-7d60-/resourceGroups/219dc1e4-9030-42a/providers/Microsoft.DomainRegistration/domains"; + Requests[1506] = new DefaultHttpContext(); + Requests[1506].RequestServices = CreateServices(); + Requests[1506].Request.Method = "GET"; + Requests[1506].Request.Path = "/subscriptions/6593bb68-9b93-/resourceGroups/6acea5ff-e02c-419/providers/Microsoft.EventGrid/eventSubscriptions"; + Requests[1507] = new DefaultHttpContext(); + Requests[1507].RequestServices = CreateServices(); + Requests[1507].Request.Method = "GET"; + Requests[1507].Request.Path = "/subscriptions/daf683a1-4081-/resourceGroups/b95fcd46-5eeb-43c/providers/Microsoft.EventGrid/topics"; + Requests[1508] = new DefaultHttpContext(); + Requests[1508].RequestServices = CreateServices(); + Requests[1508].Request.Method = "GET"; + Requests[1508].Request.Path = "/subscriptions/da37b778-6e4c-/resourceGroups/369439d7-59d1-42c/providers/Microsoft.EventHub/clusters"; + Requests[1509] = new DefaultHttpContext(); + Requests[1509].RequestServices = CreateServices(); + Requests[1509].Request.Method = "GET"; + Requests[1509].Request.Path = "/subscriptions/e5c1df9e-04f2-/resourceGroups/77f8eb85-46d1-405/providers/Microsoft.EventHub/namespaces"; + Requests[1510] = new DefaultHttpContext(); + Requests[1510].RequestServices = CreateServices(); + Requests[1510].Request.Method = "PUT"; + Requests[1510].Request.Path = "/subscriptions/b97098a9-3004-/resourceGroups/e2975862-b116-465/providers/Microsoft.Fabric.Admin/fabricLocations"; + Requests[1511] = new DefaultHttpContext(); + Requests[1511].RequestServices = CreateServices(); + Requests[1511].Request.Method = "GET"; + Requests[1511].Request.Path = "/subscriptions/63b747f5-205b-/resourceGroups/9989eb9d-de23-4f5/providers/Microsoft.Fabric.Admin/fabricLocations"; + Requests[1512] = new DefaultHttpContext(); + Requests[1512].RequestServices = CreateServices(); + Requests[1512].Request.Method = "GET"; + Requests[1512].Request.Path = "/subscriptions/acdd421b-054a-/resourceGroups/14d7a437-8470-426/providers/Microsoft.HanaOnAzure/hanaInstances"; + Requests[1513] = new DefaultHttpContext(); + Requests[1513].RequestServices = CreateServices(); + Requests[1513].Request.Method = "GET"; + Requests[1513].Request.Path = "/subscriptions/f2ef579e-e548-/resourceGroups/814cf909-6570-446/providers/Microsoft.HDInsight/clusters"; + Requests[1514] = new DefaultHttpContext(); + Requests[1514].RequestServices = CreateServices(); + Requests[1514].Request.Method = "GET"; + Requests[1514].Request.Path = "/subscriptions/5023a9fb-aa23-/resourceGroups/552051e0-2359-453/providers/Microsoft.ImportExport/jobs"; + Requests[1515] = new DefaultHttpContext(); + Requests[1515].RequestServices = CreateServices(); + Requests[1515].Request.Method = "GET"; + Requests[1515].Request.Path = "/subscriptions/42712042-54a2-/resourceGroups/42fde4b0-3915-479/providers/Microsoft.InfrastructureInsights.Admin/regionHealths"; + Requests[1516] = new DefaultHttpContext(); + Requests[1516].RequestServices = CreateServices(); + Requests[1516].Request.Method = "GET"; + Requests[1516].Request.Path = "/subscriptions/1243ac69-53b4-/resourceGroups/4997d9e2-ec8c-488/providers/microsoft.insights/actionGroups"; + Requests[1517] = new DefaultHttpContext(); + Requests[1517].RequestServices = CreateServices(); + Requests[1517].Request.Method = "GET"; + Requests[1517].Request.Path = "/subscriptions/ac859b71-e405-/resourceGroups/863743f3-5e9f-4c7/providers/microsoft.insights/activityLogAlerts"; + Requests[1518] = new DefaultHttpContext(); + Requests[1518].RequestServices = CreateServices(); + Requests[1518].Request.Method = "GET"; + Requests[1518].Request.Path = "/subscriptions/889d66ac-b2fe-/resourcegroups/23dad28d-6d61-4c2/providers/microsoft.insights/alertrules"; + Requests[1519] = new DefaultHttpContext(); + Requests[1519].RequestServices = CreateServices(); + Requests[1519].Request.Method = "GET"; + Requests[1519].Request.Path = "/subscriptions/bebf5ab6-2a92-/resourcegroups/473a135a-ad59-4a5/providers/microsoft.insights/autoscalesettings"; + Requests[1520] = new DefaultHttpContext(); + Requests[1520].RequestServices = CreateServices(); + Requests[1520].Request.Method = "GET"; + Requests[1520].Request.Path = "/subscriptions/b1dcfe80-981a-/resourceGroups/dd2fec86-4d64-485/providers/Microsoft.Insights/components"; + Requests[1521] = new DefaultHttpContext(); + Requests[1521].RequestServices = CreateServices(); + Requests[1521].Request.Method = "GET"; + Requests[1521].Request.Path = "/subscriptions/99f6ff3b-d11b-/resourceGroups/5ead398c-9f74-462/providers/Microsoft.Insights/metricAlerts"; + Requests[1522] = new DefaultHttpContext(); + Requests[1522].RequestServices = CreateServices(); + Requests[1522].Request.Method = "GET"; + Requests[1522].Request.Path = "/subscriptions/ca83b208-ccfb-/resourcegroups/7ebb10d3-4a0c-4de/providers/microsoft.insights/scheduledQueryRules"; + Requests[1523] = new DefaultHttpContext(); + Requests[1523].RequestServices = CreateServices(); + Requests[1523].Request.Method = "GET"; + Requests[1523].Request.Path = "/subscriptions/ebb3888b-86c7-/resourceGroups/00fb4c47-5287-44c/providers/Microsoft.Insights/webtests"; + Requests[1524] = new DefaultHttpContext(); + Requests[1524].RequestServices = CreateServices(); + Requests[1524].Request.Method = "GET"; + Requests[1524].Request.Path = "/subscriptions/f65ba0a6-dffb-/resourceGroups/3c17a865-3052-44b/providers/Microsoft.IoTCentral/IoTApps"; + Requests[1525] = new DefaultHttpContext(); + Requests[1525].RequestServices = CreateServices(); + Requests[1525].Request.Method = "GET"; + Requests[1525].Request.Path = "/subscriptions/95c1e34a-129c-/resourceGroups/56315786-e4df-4aa/providers/Microsoft.IoTSpaces/Graph"; + Requests[1526] = new DefaultHttpContext(); + Requests[1526].RequestServices = CreateServices(); + Requests[1526].Request.Method = "GET"; + Requests[1526].Request.Path = "/subscriptions/a10ac875-1c6f-/resourceGroups/b532912c-3e51-47e/providers/Microsoft.KeyVault/vaults"; + Requests[1527] = new DefaultHttpContext(); + Requests[1527].RequestServices = CreateServices(); + Requests[1527].Request.Method = "GET"; + Requests[1527].Request.Path = "/subscriptions/af6a5397-8a11-/resourceGroups/0dd28fe4-fd30-4a0/providers/Microsoft.Logic/integrationAccounts"; + Requests[1528] = new DefaultHttpContext(); + Requests[1528].RequestServices = CreateServices(); + Requests[1528].Request.Method = "GET"; + Requests[1528].Request.Path = "/subscriptions/bc26839c-6a9c-/resourceGroups/d6a48b79-52dc-4e5/providers/Microsoft.Logic/workflows"; + Requests[1529] = new DefaultHttpContext(); + Requests[1529].RequestServices = CreateServices(); + Requests[1529].Request.Method = "GET"; + Requests[1529].Request.Path = "/subscriptions/d48ad9cc-3a01-/resourceGroups/76f4c672-a832-48f/providers/Microsoft.MachineLearning/commitmentPlans"; + Requests[1530] = new DefaultHttpContext(); + Requests[1530].RequestServices = CreateServices(); + Requests[1530].Request.Method = "GET"; + Requests[1530].Request.Path = "/subscriptions/5d635537-b355-/resourceGroups/abae5d62-6261-406/providers/Microsoft.MachineLearning/webServices"; + Requests[1531] = new DefaultHttpContext(); + Requests[1531].RequestServices = CreateServices(); + Requests[1531].Request.Method = "GET"; + Requests[1531].Request.Path = "/subscriptions/dcf3163f-7e7e-/resourceGroups/18bf2dd1-8744-460/providers/Microsoft.MachineLearning/workspaces"; + Requests[1532] = new DefaultHttpContext(); + Requests[1532].RequestServices = CreateServices(); + Requests[1532].Request.Method = "GET"; + Requests[1532].Request.Path = "/subscriptions/2cdad276-02fb-/resourceGroups/0950dc5e-c86d-4c2/providers/Microsoft.MachineLearningCompute/operationalizationClusters"; + Requests[1533] = new DefaultHttpContext(); + Requests[1533].RequestServices = CreateServices(); + Requests[1533].Request.Method = "GET"; + Requests[1533].Request.Path = "/subscriptions/e9ec81fc-0415-/resourceGroups/42b16c86-d937-4f9/providers/Microsoft.MachineLearningExperimentation/accounts"; + Requests[1534] = new DefaultHttpContext(); + Requests[1534].RequestServices = CreateServices(); + Requests[1534].Request.Method = "GET"; + Requests[1534].Request.Path = "/subscriptions/272c49f0-f36c-/resourceGroups/499bfffd-95d0-468/providers/Microsoft.MachineLearningServices/workspaces"; + Requests[1535] = new DefaultHttpContext(); + Requests[1535].RequestServices = CreateServices(); + Requests[1535].Request.Method = "GET"; + Requests[1535].Request.Path = "/subscriptions/c1d0d21a-6966-/resourceGroups/db9df978-ccc9-447/providers/Microsoft.ManagedIdentity/userAssignedIdentities"; + Requests[1536] = new DefaultHttpContext(); + Requests[1536].RequestServices = CreateServices(); + Requests[1536].Request.Method = "GET"; + Requests[1536].Request.Path = "/subscriptions/5ded2669-f682-/resourceGroups/b4bb0087-a4fc-4d8/providers/Microsoft.Maps/accounts"; + Requests[1537] = new DefaultHttpContext(); + Requests[1537].RequestServices = CreateServices(); + Requests[1537].Request.Method = "GET"; + Requests[1537].Request.Path = "/subscriptions/0c730f4e-ea09-/resourceGroups/25d269f0-395c-433/providers/Microsoft.Media/mediaservices"; + Requests[1538] = new DefaultHttpContext(); + Requests[1538].RequestServices = CreateServices(); + Requests[1538].Request.Method = "GET"; + Requests[1538].Request.Path = "/subscriptions/4ec4ca84-963a-/resourcegroups/c435c6d5-de36-432/providers/Microsoft.Migrate/projects"; + Requests[1539] = new DefaultHttpContext(); + Requests[1539].RequestServices = CreateServices(); + Requests[1539].Request.Method = "GET"; + Requests[1539].Request.Path = "/subscriptions/e615b34e-0ad3-/resourceGroups/5fc34e9b-772f-45e/providers/Microsoft.Network/applicationGateways"; + Requests[1540] = new DefaultHttpContext(); + Requests[1540].RequestServices = CreateServices(); + Requests[1540].Request.Method = "GET"; + Requests[1540].Request.Path = "/subscriptions/67877486-f3be-/resourceGroups/f01932ca-9450-41e/providers/Microsoft.Network/applicationSecurityGroups"; + Requests[1541] = new DefaultHttpContext(); + Requests[1541].RequestServices = CreateServices(); + Requests[1541].Request.Method = "GET"; + Requests[1541].Request.Path = "/subscriptions/fa273a93-4161-/resourceGroups/7290ced2-0136-44a/providers/Microsoft.Network/connections"; + Requests[1542] = new DefaultHttpContext(); + Requests[1542].RequestServices = CreateServices(); + Requests[1542].Request.Method = "GET"; + Requests[1542].Request.Path = "/subscriptions/4eeaa29a-be01-/resourceGroups/cde68515-3b3f-44b/providers/Microsoft.Network/ddosProtectionPlans"; + Requests[1543] = new DefaultHttpContext(); + Requests[1543].RequestServices = CreateServices(); + Requests[1543].Request.Method = "GET"; + Requests[1543].Request.Path = "/subscriptions/45d8b903-bc98-/resourceGroups/fd253bfb-8783-4cb/providers/Microsoft.Network/dnsZones"; + Requests[1544] = new DefaultHttpContext(); + Requests[1544].RequestServices = CreateServices(); + Requests[1544].Request.Method = "GET"; + Requests[1544].Request.Path = "/subscriptions/686d6217-ba39-/resourceGroups/acf943f4-c0f1-4b9/providers/Microsoft.Network/expressRouteCircuits"; + Requests[1545] = new DefaultHttpContext(); + Requests[1545].RequestServices = CreateServices(); + Requests[1545].Request.Method = "GET"; + Requests[1545].Request.Path = "/subscriptions/61bcffaa-0cad-/resourceGroups/455e7c1f-1df6-464/providers/Microsoft.Network/expressRouteCrossConnections"; + Requests[1546] = new DefaultHttpContext(); + Requests[1546].RequestServices = CreateServices(); + Requests[1546].Request.Method = "GET"; + Requests[1546].Request.Path = "/subscriptions/1af89f8c-2da1-/resourceGroups/3e36110b-afc2-4d5/providers/Microsoft.Network/loadBalancers"; + Requests[1547] = new DefaultHttpContext(); + Requests[1547].RequestServices = CreateServices(); + Requests[1547].Request.Method = "GET"; + Requests[1547].Request.Path = "/subscriptions/4839c8ab-e9b1-/resourceGroups/fcd04f30-85f0-464/providers/Microsoft.Network/localNetworkGateways"; + Requests[1548] = new DefaultHttpContext(); + Requests[1548].RequestServices = CreateServices(); + Requests[1548].Request.Method = "GET"; + Requests[1548].Request.Path = "/subscriptions/58697374-dd2b-/resourceGroups/cafd3de5-53be-4a3/providers/Microsoft.Network/networkInterfaces"; + Requests[1549] = new DefaultHttpContext(); + Requests[1549].RequestServices = CreateServices(); + Requests[1549].Request.Method = "GET"; + Requests[1549].Request.Path = "/subscriptions/2e60881b-ac06-/resourceGroups/62c1333d-6928-4b1/providers/Microsoft.Network/networkSecurityGroups"; + Requests[1550] = new DefaultHttpContext(); + Requests[1550].RequestServices = CreateServices(); + Requests[1550].Request.Method = "GET"; + Requests[1550].Request.Path = "/subscriptions/723bf7b0-6b01-/resourceGroups/1c7ddccf-c859-419/providers/Microsoft.Network/networkWatchers"; + Requests[1551] = new DefaultHttpContext(); + Requests[1551].RequestServices = CreateServices(); + Requests[1551].Request.Method = "GET"; + Requests[1551].Request.Path = "/subscriptions/7715623c-d025-/resourceGroups/cd0d9da4-9bfe-479/providers/Microsoft.Network/publicIPAddresses"; + Requests[1552] = new DefaultHttpContext(); + Requests[1552].RequestServices = CreateServices(); + Requests[1552].Request.Method = "GET"; + Requests[1552].Request.Path = "/subscriptions/bf2d4abe-1c75-/resourceGroups/f3430594-3c89-4f3/providers/Microsoft.Network/routeFilters"; + Requests[1553] = new DefaultHttpContext(); + Requests[1553].RequestServices = CreateServices(); + Requests[1553].Request.Method = "GET"; + Requests[1553].Request.Path = "/subscriptions/1f8d4667-4721-/resourceGroups/b5e237dd-ccb9-493/providers/Microsoft.Network/routeTables"; + Requests[1554] = new DefaultHttpContext(); + Requests[1554].RequestServices = CreateServices(); + Requests[1554].Request.Method = "GET"; + Requests[1554].Request.Path = "/subscriptions/219a1312-bcd5-/resourceGroups/f5c4eab9-137a-42b/providers/Microsoft.Network/trafficmanagerprofiles"; + Requests[1555] = new DefaultHttpContext(); + Requests[1555].RequestServices = CreateServices(); + Requests[1555].Request.Method = "GET"; + Requests[1555].Request.Path = "/subscriptions/cfe3339c-4765-/resourceGroups/e51ea90a-df53-46c/providers/Microsoft.Network/virtualNetworkGateways"; + Requests[1556] = new DefaultHttpContext(); + Requests[1556].RequestServices = CreateServices(); + Requests[1556].Request.Method = "GET"; + Requests[1556].Request.Path = "/subscriptions/97fdc8ef-4e17-/resourceGroups/708b3185-7fd3-419/providers/Microsoft.Network/virtualNetworks"; + Requests[1557] = new DefaultHttpContext(); + Requests[1557].RequestServices = CreateServices(); + Requests[1557].Request.Method = "GET"; + Requests[1557].Request.Path = "/subscriptions/171d338e-9608-/resourceGroups/c84d7cdc-c737-4fe/providers/Microsoft.NotificationHubs/namespaces"; + Requests[1558] = new DefaultHttpContext(); + Requests[1558].RequestServices = CreateServices(); + Requests[1558].Request.Method = "GET"; + Requests[1558].Request.Path = "/subscriptions/c65ffcb3-a02c-/resourcegroups/51710203-d0e6-4cf/providers/Microsoft.OperationalInsights/workspaces"; + Requests[1559] = new DefaultHttpContext(); + Requests[1559].RequestServices = CreateServices(); + Requests[1559].Request.Method = "GET"; + Requests[1559].Request.Path = "/subscriptions/f0735178-8008-/resourcegroups/0c0eed3c-8567-4aa/providers/Microsoft.OperationsManagement/solutions"; + Requests[1560] = new DefaultHttpContext(); + Requests[1560].RequestServices = CreateServices(); + Requests[1560].Request.Method = "GET"; + Requests[1560].Request.Path = "/subscriptions/547ec924-8ad4-/resourceGroups/0b4c51b7-48e9-491/providers/Microsoft.PowerBI/workspaceCollections"; + Requests[1561] = new DefaultHttpContext(); + Requests[1561].RequestServices = CreateServices(); + Requests[1561].Request.Method = "GET"; + Requests[1561].Request.Path = "/subscriptions/c0ef984a-f9b2-/resourceGroups/9f23efe7-93a3-4dd/providers/Microsoft.PowerBIDedicated/capacities"; + Requests[1562] = new DefaultHttpContext(); + Requests[1562].RequestServices = CreateServices(); + Requests[1562].Request.Method = "GET"; + Requests[1562].Request.Path = "/Subscriptions/a44ad087-bc42-/resourceGroups/d0a0c4a3-901b-44b/providers/Microsoft.RecoveryServices/operations"; + Requests[1563] = new DefaultHttpContext(); + Requests[1563].RequestServices = CreateServices(); + Requests[1563].Request.Method = "GET"; + Requests[1563].Request.Path = "/subscriptions/ec326793-62ba-/resourceGroups/ebfb21a4-7bcf-46b/providers/Microsoft.RecoveryServices/vaults"; + Requests[1564] = new DefaultHttpContext(); + Requests[1564].RequestServices = CreateServices(); + Requests[1564].Request.Method = "GET"; + Requests[1564].Request.Path = "/subscriptions/251e7e35-1b87-/resourceGroups/2c3c46a5-3e0f-4b9/providers/Microsoft.Relay/namespaces"; + Requests[1565] = new DefaultHttpContext(); + Requests[1565].RequestServices = CreateServices(); + Requests[1565].Request.Method = "GET"; + Requests[1565].Request.Path = "/subscriptions/5b479e17-8972-/resourceGroups/eff8d38c-0dcc-476/providers/Microsoft.ResourceHealth/availabilityStatuses"; + Requests[1566] = new DefaultHttpContext(); + Requests[1566].RequestServices = CreateServices(); + Requests[1566].Request.Method = "GET"; + Requests[1566].Request.Path = "/subscriptions/f2dc73b3-cdae-/resourcegroups/e86e942d-9bf0-4f6/providers/Microsoft.Resources/deployments"; + Requests[1567] = new DefaultHttpContext(); + Requests[1567].RequestServices = CreateServices(); + Requests[1567].Request.Method = "GET"; + Requests[1567].Request.Path = "/subscriptions/a2dbb983-f426-/resourceGroups/db2015c0-aab5-491/providers/Microsoft.Scheduler/jobCollections"; + Requests[1568] = new DefaultHttpContext(); + Requests[1568].RequestServices = CreateServices(); + Requests[1568].Request.Method = "GET"; + Requests[1568].Request.Path = "/subscriptions/9b0ab9ec-cab6-/resourceGroups/2d3a74b5-3221-465/providers/Microsoft.Search/searchServices"; + Requests[1569] = new DefaultHttpContext(); + Requests[1569].RequestServices = CreateServices(); + Requests[1569].Request.Method = "GET"; + Requests[1569].Request.Path = "/subscriptions/0097835e-249e-/resourceGroups/56e77e0b-ca6e-483/providers/Microsoft.Security/alerts"; + Requests[1570] = new DefaultHttpContext(); + Requests[1570].RequestServices = CreateServices(); + Requests[1570].Request.Method = "GET"; + Requests[1570].Request.Path = "/subscriptions/9a62a5fa-38f0-/resourceGroups/e4e9f6a8-f222-406/providers/Microsoft.Security/jitNetworkAccessPolicies"; + Requests[1571] = new DefaultHttpContext(); + Requests[1571].RequestServices = CreateServices(); + Requests[1571].Request.Method = "GET"; + Requests[1571].Request.Path = "/subscriptions/b17f9b0a-f2b3-/resourceGroups/fb225c51-8520-4f0/providers/Microsoft.Security/pricings"; + Requests[1572] = new DefaultHttpContext(); + Requests[1572].RequestServices = CreateServices(); + Requests[1572].Request.Method = "GET"; + Requests[1572].Request.Path = "/subscriptions/ae6ebaec-f915-/resourceGroups/0b535fad-d94a-48a/providers/Microsoft.Security/securityContacts"; + Requests[1573] = new DefaultHttpContext(); + Requests[1573].RequestServices = CreateServices(); + Requests[1573].Request.Method = "GET"; + Requests[1573].Request.Path = "/subscriptions/b16c3149-6ca4-/resourceGroups/546e2a8b-14bb-484/providers/Microsoft.Security/workspaceSettings"; + Requests[1574] = new DefaultHttpContext(); + Requests[1574].RequestServices = CreateServices(); + Requests[1574].Request.Method = "GET"; + Requests[1574].Request.Path = "/subscriptions/fdaf80da-493a-/resourceGroups/104cc66b-cedd-49b/providers/Microsoft.ServerManagement/gateways"; + Requests[1575] = new DefaultHttpContext(); + Requests[1575].RequestServices = CreateServices(); + Requests[1575].Request.Method = "GET"; + Requests[1575].Request.Path = "/subscriptions/e9c7be7f-7efb-/resourceGroups/41ea267d-2fe4-4e7/providers/Microsoft.ServerManagement/nodes"; + Requests[1576] = new DefaultHttpContext(); + Requests[1576].RequestServices = CreateServices(); + Requests[1576].Request.Method = "GET"; + Requests[1576].Request.Path = "/subscriptions/ede84756-c6c0-/resourceGroups/9d0ea04e-7d8e-4e2/providers/Microsoft.ServiceBus/namespaces"; + Requests[1577] = new DefaultHttpContext(); + Requests[1577].RequestServices = CreateServices(); + Requests[1577].Request.Method = "GET"; + Requests[1577].Request.Path = "/subscriptions/74e84c5d-c75f-/resourcegroups/d83e8717-bf49-4ea/providers/Microsoft.ServiceFabric/clusters"; + Requests[1578] = new DefaultHttpContext(); + Requests[1578].RequestServices = CreateServices(); + Requests[1578].Request.Method = "GET"; + Requests[1578].Request.Path = "/subscriptions/4b6deb32-5556-/resourceGroups/53c5cfe2-5d32-4ad/providers/Microsoft.SignalRService/SignalR"; + Requests[1579] = new DefaultHttpContext(); + Requests[1579].RequestServices = CreateServices(); + Requests[1579].Request.Method = "GET"; + Requests[1579].Request.Path = "/subscriptions/d6a6065c-3487-/resourceGroups/108309d1-6d49-4ce/providers/Microsoft.Solutions/applianceDefinitions"; + Requests[1580] = new DefaultHttpContext(); + Requests[1580].RequestServices = CreateServices(); + Requests[1580].Request.Method = "GET"; + Requests[1580].Request.Path = "/subscriptions/e8be7ddb-bc5d-/resourceGroups/75ff2a4e-e0eb-411/providers/Microsoft.Solutions/appliances"; + Requests[1581] = new DefaultHttpContext(); + Requests[1581].RequestServices = CreateServices(); + Requests[1581].Request.Method = "GET"; + Requests[1581].Request.Path = "/subscriptions/8de42fbe-e740-/resourceGroups/69d61a1f-5fba-42b/providers/Microsoft.Solutions/applicationDefinitions"; + Requests[1582] = new DefaultHttpContext(); + Requests[1582].RequestServices = CreateServices(); + Requests[1582].Request.Method = "GET"; + Requests[1582].Request.Path = "/subscriptions/db9dd93f-5c97-/resourceGroups/42dfb105-cfaf-409/providers/Microsoft.Solutions/applications"; + Requests[1583] = new DefaultHttpContext(); + Requests[1583].RequestServices = CreateServices(); + Requests[1583].Request.Method = "GET"; + Requests[1583].Request.Path = "/subscriptions/fae6e5a4-5f68-/resourceGroups/fff214f2-a760-475/providers/Microsoft.Sql/managedInstances"; + Requests[1584] = new DefaultHttpContext(); + Requests[1584].RequestServices = CreateServices(); + Requests[1584].Request.Method = "GET"; + Requests[1584].Request.Path = "/subscriptions/0705a2a5-8f69-/resourceGroups/29c28a7a-1dc5-49c/providers/Microsoft.Sql/servers"; + Requests[1585] = new DefaultHttpContext(); + Requests[1585].RequestServices = CreateServices(); + Requests[1585].Request.Method = "GET"; + Requests[1585].Request.Path = "/subscriptions/bdc973b2-edbf-/resourcegroups/1f038142-9e4d-450/providers/Microsoft.Storage.Admin/farms"; + Requests[1586] = new DefaultHttpContext(); + Requests[1586].RequestServices = CreateServices(); + Requests[1586].Request.Method = "GET"; + Requests[1586].Request.Path = "/subscriptions/dda8855b-2201-/resourceGroups/843e9887-8532-4be/providers/Microsoft.Storage/storageAccounts"; + Requests[1587] = new DefaultHttpContext(); + Requests[1587].RequestServices = CreateServices(); + Requests[1587].Request.Method = "GET"; + Requests[1587].Request.Path = "/subscriptions/9f6c5173-2a5f-/resourceGroups/a033e3ff-c590-40c/providers/Microsoft.StorSimple/managers"; + Requests[1588] = new DefaultHttpContext(); + Requests[1588].RequestServices = CreateServices(); + Requests[1588].Request.Method = "GET"; + Requests[1588].Request.Path = "/subscriptions/debbf2ce-efa4-/resourcegroups/563e6462-c718-450/providers/Microsoft.StreamAnalytics/streamingjobs"; + Requests[1589] = new DefaultHttpContext(); + Requests[1589].RequestServices = CreateServices(); + Requests[1589].Request.Method = "GET"; + Requests[1589].Request.Path = "/subscriptions/f6e4aa98-50a5-/resourcegroups/eea041ce-142f-425/providers/Microsoft.Subscriptions.Admin/directoryTenants"; + Requests[1590] = new DefaultHttpContext(); + Requests[1590].RequestServices = CreateServices(); + Requests[1590].Request.Method = "GET"; + Requests[1590].Request.Path = "/subscriptions/7ec4d770-4afc-/resourcegroups/b6b555e3-f623-430/providers/Microsoft.Subscriptions.Admin/offers"; + Requests[1591] = new DefaultHttpContext(); + Requests[1591].RequestServices = CreateServices(); + Requests[1591].Request.Method = "GET"; + Requests[1591].Request.Path = "/subscriptions/64e36198-69da-/resourcegroups/c03d9ce5-e066-465/providers/Microsoft.Subscriptions.Admin/plans"; + Requests[1592] = new DefaultHttpContext(); + Requests[1592].RequestServices = CreateServices(); + Requests[1592].Request.Method = "GET"; + Requests[1592].Request.Path = "/subscriptions/7c7dc83c-b08b-/resourceGroups/30ba68d6-e622-4de/providers/Microsoft.TimeSeriesInsights/environments"; + Requests[1593] = new DefaultHttpContext(); + Requests[1593].RequestServices = CreateServices(); + Requests[1593].Request.Method = "GET"; + Requests[1593].Request.Path = "/subscriptions/dfedebe9-156e-/resourcegroups/2d0cf7b1-34a5-475/providers/Microsoft.Update.Admin/updateLocations"; + Requests[1594] = new DefaultHttpContext(); + Requests[1594].RequestServices = CreateServices(); + Requests[1594].Request.Method = "GET"; + Requests[1594].Request.Path = "/subscriptions/0bce5ffe-e354-/resourcegroups/22b23488-1bf9-4e6/providers/microsoft.visualstudio/account"; + Requests[1595] = new DefaultHttpContext(); + Requests[1595].RequestServices = CreateServices(); + Requests[1595].Request.Method = "GET"; + Requests[1595].Request.Path = "/subscriptions/78856167-af72-/resourceGroups/3351e217-ce48-4f8/providers/Microsoft.Web/certificates"; + Requests[1596] = new DefaultHttpContext(); + Requests[1596].RequestServices = CreateServices(); + Requests[1596].Request.Method = "GET"; + Requests[1596].Request.Path = "/subscriptions/a4d37d0d-eac9-/resourceGroups/433563f2-93d1-4ee/providers/Microsoft.Web/classicMobileServices"; + Requests[1597] = new DefaultHttpContext(); + Requests[1597].RequestServices = CreateServices(); + Requests[1597].Request.Method = "GET"; + Requests[1597].Request.Path = "/subscriptions/2cea1ffb-6f01-/resourceGroups/08c88c58-86e3-4b0/providers/Microsoft.Web/connectionGateways"; + Requests[1598] = new DefaultHttpContext(); + Requests[1598].RequestServices = CreateServices(); + Requests[1598].Request.Method = "GET"; + Requests[1598].Request.Path = "/subscriptions/d48e0806-d084-/resourceGroups/d2c0f363-21be-47d/providers/Microsoft.Web/connections"; + Requests[1599] = new DefaultHttpContext(); + Requests[1599].RequestServices = CreateServices(); + Requests[1599].Request.Method = "GET"; + Requests[1599].Request.Path = "/subscriptions/8e018553-5173-/resourceGroups/f2fbe2d2-a66d-4ff/providers/Microsoft.Web/csrs"; + Requests[1600] = new DefaultHttpContext(); + Requests[1600].RequestServices = CreateServices(); + Requests[1600].Request.Method = "GET"; + Requests[1600].Request.Path = "/subscriptions/9d1e8fb3-e49f-/resourceGroups/58de4675-f375-431/providers/Microsoft.Web/customApis"; + Requests[1601] = new DefaultHttpContext(); + Requests[1601].RequestServices = CreateServices(); + Requests[1601].Request.Method = "GET"; + Requests[1601].Request.Path = "/subscriptions/124d5bec-b77b-/resourceGroups/51f83ce6-3511-4ca/providers/Microsoft.Web/deletedSites"; + Requests[1602] = new DefaultHttpContext(); + Requests[1602].RequestServices = CreateServices(); + Requests[1602].Request.Method = "GET"; + Requests[1602].Request.Path = "/subscriptions/b551f947-59b7-/resourceGroups/5715bd5f-40f1-476/providers/Microsoft.Web/hostingEnvironments"; + Requests[1603] = new DefaultHttpContext(); + Requests[1603].RequestServices = CreateServices(); + Requests[1603].Request.Method = "GET"; + Requests[1603].Request.Path = "/subscriptions/487971d6-d7e0-/resourceGroups/2355e951-f9ed-421/providers/Microsoft.Web/managedHostingEnvironments"; + Requests[1604] = new DefaultHttpContext(); + Requests[1604].RequestServices = CreateServices(); + Requests[1604].Request.Method = "GET"; + Requests[1604].Request.Path = "/subscriptions/10744996-3c6a-/resourceGroups/a06798d7-ef66-44e/providers/Microsoft.Web/resourceHealthMetadata"; + Requests[1605] = new DefaultHttpContext(); + Requests[1605].RequestServices = CreateServices(); + Requests[1605].Request.Method = "GET"; + Requests[1605].Request.Path = "/subscriptions/e66ceec8-1274-/resourceGroups/14a2c8e6-e870-4da/providers/Microsoft.Web/serverfarms"; + Requests[1606] = new DefaultHttpContext(); + Requests[1606].RequestServices = CreateServices(); + Requests[1606].Request.Method = "GET"; + Requests[1606].Request.Path = "/subscriptions/77035e7b-0314-/resourceGroups/baca9973-a4b4-4c8/providers/Microsoft.Web/sites"; + Requests[1607] = new DefaultHttpContext(); + Requests[1607].RequestServices = CreateServices(); + Requests[1607].Request.Method = "POST"; + Requests[1607].Request.Path = "/subscriptions/b6c8e7a3-939e-/resourceGroups/5cef05af-33d4-4bb/providers/Microsoft.Web/validate"; + Requests[1608] = new DefaultHttpContext(); + Requests[1608].RequestServices = CreateServices(); + Requests[1608].Request.Method = "POST"; + Requests[1608].Request.Path = "/subscriptions/1f094eb5-c3dc-/resourceGroups/c3346282-cd51-4d0/providers/Microsoft.BotService/BotServices/listServiceProviders"; + Requests[1609] = new DefaultHttpContext(); + Requests[1609].RequestServices = CreateServices(); + Requests[1609].Request.Method = "DELETE"; + Requests[1609].Request.Path = "/subscriptions/4b8b9e6d-4318-/resourceGroup/e26ecef4-77ba-436/providers/microsoft.insights/workbooks/54d25265-ac7"; + Requests[1610] = new DefaultHttpContext(); + Requests[1610].RequestServices = CreateServices(); + Requests[1610].Request.Method = "PATCH"; + Requests[1610].Request.Path = "/subscriptions/1513079a-2c6e-/resourceGroup/b6a36f67-7a8d-481/providers/microsoft.insights/workbooks/b9c3a82f-726"; + Requests[1611] = new DefaultHttpContext(); + Requests[1611].RequestServices = CreateServices(); + Requests[1611].Request.Method = "PUT"; + Requests[1611].Request.Path = "/subscriptions/2136ba1f-ecb2-/resourceGroup/1752c125-ae42-42c/providers/microsoft.insights/workbooks/86be8e34-51a"; + Requests[1612] = new DefaultHttpContext(); + Requests[1612].RequestServices = CreateServices(); + Requests[1612].Request.Method = "GET"; + Requests[1612].Request.Path = "/subscriptions/07d24592-b948-/resourceGroup/a1525bd4-c59a-47e/providers/microsoft.insights/workbooks/a30b56ec-94c"; + Requests[1613] = new DefaultHttpContext(); + Requests[1613].RequestServices = CreateServices(); + Requests[1613].Request.Method = "GET"; + Requests[1613].Request.Path = "/subscriptions/c0438103-8def-/resourceGroups/f81645f4-/providers/Microsoft.DataMigration/services/f638cb66-fa"; + Requests[1614] = new DefaultHttpContext(); + Requests[1614].RequestServices = CreateServices(); + Requests[1614].Request.Method = "PATCH"; + Requests[1614].Request.Path = "/subscriptions/a2f69d0f-0651-/resourceGroups/465051f5-/providers/Microsoft.DataMigration/services/f86abbce-33"; + Requests[1615] = new DefaultHttpContext(); + Requests[1615].RequestServices = CreateServices(); + Requests[1615].Request.Method = "PARAMETERS"; + Requests[1615].Request.Path = "/subscriptions/fb9e8eb6-d685-/resourceGroups/9f33ab4a-/providers/Microsoft.DataMigration/services/c38a87a6-dc"; + Requests[1616] = new DefaultHttpContext(); + Requests[1616].RequestServices = CreateServices(); + Requests[1616].Request.Method = "PUT"; + Requests[1616].Request.Path = "/subscriptions/5975963c-0d8f-/resourceGroups/66e22422-/providers/Microsoft.DataMigration/services/a48948ff-65"; + Requests[1617] = new DefaultHttpContext(); + Requests[1617].RequestServices = CreateServices(); + Requests[1617].Request.Method = "DELETE"; + Requests[1617].Request.Path = "/subscriptions/bd88980a-24f0-/resourceGroups/e8337dd3-/providers/Microsoft.DataMigration/services/902ee760-3f"; + Requests[1618] = new DefaultHttpContext(); + Requests[1618].RequestServices = CreateServices(); + Requests[1618].Request.Method = "DELETE"; + Requests[1618].Request.Path = "/subscriptions/525131d7-412a-/resourcegroups/99cbb863-30aa/providers/Microsoft.AzureBridge.Admin/activations/16c77a77-d415-"; + Requests[1619] = new DefaultHttpContext(); + Requests[1619].RequestServices = CreateServices(); + Requests[1619].Request.Method = "PUT"; + Requests[1619].Request.Path = "/subscriptions/918b3cf2-ecc9-/resourcegroups/ddc4b3fc-c4ac/providers/Microsoft.AzureBridge.Admin/activations/46b1f43c-4ba5-"; + Requests[1620] = new DefaultHttpContext(); + Requests[1620].RequestServices = CreateServices(); + Requests[1620].Request.Method = "GET"; + Requests[1620].Request.Path = "/subscriptions/53e257c4-e4d5-/resourcegroups/e8464792-679d/providers/Microsoft.AzureBridge.Admin/activations/4a4b8a2e-5a5b-"; + Requests[1621] = new DefaultHttpContext(); + Requests[1621].RequestServices = CreateServices(); + Requests[1621].Request.Method = "DELETE"; + Requests[1621].Request.Path = "/subscriptions/ddf153b6-21d8-/resourceGroups/7bcb20af-a29c/providers/Microsoft.AzureStack/registrations/c6d97589-5967-46"; + Requests[1622] = new DefaultHttpContext(); + Requests[1622].RequestServices = CreateServices(); + Requests[1622].Request.Method = "PUT"; + Requests[1622].Request.Path = "/subscriptions/5f024aa8-d4d0-/resourceGroups/2738fa35-3ec7/providers/Microsoft.AzureStack/registrations/042fc9b1-bafa-4a"; + Requests[1623] = new DefaultHttpContext(); + Requests[1623].RequestServices = CreateServices(); + Requests[1623].Request.Method = "GET"; + Requests[1623].Request.Path = "/subscriptions/652ef246-e4fc-/resourceGroups/4ffb67ec-7a44/providers/Microsoft.AzureStack/registrations/7f6adb3e-9132-44"; + Requests[1624] = new DefaultHttpContext(); + Requests[1624].RequestServices = CreateServices(); + Requests[1624].Request.Method = "GET"; + Requests[1624].Request.Path = "/subscriptions/77cdcb9c-b55b-/resourceGroups/f52efbb4-c522-461/providers/Microsoft.AAD/domainServices/9c9c9bf1-5688-432"; + Requests[1625] = new DefaultHttpContext(); + Requests[1625].RequestServices = CreateServices(); + Requests[1625].Request.Method = "DELETE"; + Requests[1625].Request.Path = "/subscriptions/97fd7a4e-543c-/resourceGroups/ffc73553-e034-4ef/providers/Microsoft.AAD/domainServices/69a649b2-4bea-47a"; + Requests[1626] = new DefaultHttpContext(); + Requests[1626].RequestServices = CreateServices(); + Requests[1626].Request.Method = "PUT"; + Requests[1626].Request.Path = "/subscriptions/1e6f1f31-38a3-/resourceGroups/9c51f9a8-2330-4b9/providers/Microsoft.AAD/domainServices/dada6c93-a43c-440"; + Requests[1627] = new DefaultHttpContext(); + Requests[1627].RequestServices = CreateServices(); + Requests[1627].Request.Method = "PATCH"; + Requests[1627].Request.Path = "/subscriptions/6d886c8e-67fa-/resourceGroups/5d987fef-e9a7-4ae/providers/Microsoft.AAD/domainServices/b862c69c-dea1-479"; + Requests[1628] = new DefaultHttpContext(); + Requests[1628].RequestServices = CreateServices(); + Requests[1628].Request.Method = "PATCH"; + Requests[1628].Request.Path = "/subscriptions/0f751038-e6c4-/resourceGroups/263f10b1-0e1f-40b/providers/Microsoft.AnalysisServices/servers/5c018859-1"; + Requests[1629] = new DefaultHttpContext(); + Requests[1629].RequestServices = CreateServices(); + Requests[1629].Request.Method = "GET"; + Requests[1629].Request.Path = "/subscriptions/9a1bc6a4-9f57-/resourceGroups/96d39e2b-16e4-449/providers/Microsoft.AnalysisServices/servers/9b0bfe66-a"; + Requests[1630] = new DefaultHttpContext(); + Requests[1630].RequestServices = CreateServices(); + Requests[1630].Request.Method = "PUT"; + Requests[1630].Request.Path = "/subscriptions/79c6a952-2739-/resourceGroups/493fc708-d030-4bd/providers/Microsoft.AnalysisServices/servers/1974974c-0"; + Requests[1631] = new DefaultHttpContext(); + Requests[1631].RequestServices = CreateServices(); + Requests[1631].Request.Method = "DELETE"; + Requests[1631].Request.Path = "/subscriptions/67b47baa-ba22-/resourceGroups/288f2b62-9a31-407/providers/Microsoft.AnalysisServices/servers/6a849f9b-b"; + Requests[1632] = new DefaultHttpContext(); + Requests[1632].RequestServices = CreateServices(); + Requests[1632].Request.Method = "DELETE"; + Requests[1632].Request.Path = "/subscriptions/5c068d2f-11f4-/resourceGroups/8e1cec09-e013-470/providers/Microsoft.ApiManagement/service/307e4dc3-0d"; + Requests[1633] = new DefaultHttpContext(); + Requests[1633].RequestServices = CreateServices(); + Requests[1633].Request.Method = "PUT"; + Requests[1633].Request.Path = "/subscriptions/1365c5df-502b-/resourceGroups/9de630f1-74c1-425/providers/Microsoft.ApiManagement/service/35f91633-15"; + Requests[1634] = new DefaultHttpContext(); + Requests[1634].RequestServices = CreateServices(); + Requests[1634].Request.Method = "GET"; + Requests[1634].Request.Path = "/subscriptions/d4f6fffb-4478-/resourceGroups/2725ef7b-eac3-4a5/providers/Microsoft.ApiManagement/service/bfe1b7cd-ce"; + Requests[1635] = new DefaultHttpContext(); + Requests[1635].RequestServices = CreateServices(); + Requests[1635].Request.Method = "PATCH"; + Requests[1635].Request.Path = "/subscriptions/17fd808c-b3f8-/resourceGroups/2d64d740-4f55-436/providers/Microsoft.ApiManagement/service/17a946b1-5e"; + Requests[1636] = new DefaultHttpContext(); + Requests[1636].RequestServices = CreateServices(); + Requests[1636].Request.Method = "DELETE"; + Requests[1636].Request.Path = "/subscriptions/e75f3c4a-cb81-/resourceGroups/9cbcb723-e514-40f/providers/Microsoft.Authorization/locks/0cabca14"; + Requests[1637] = new DefaultHttpContext(); + Requests[1637].RequestServices = CreateServices(); + Requests[1637].Request.Method = "PUT"; + Requests[1637].Request.Path = "/subscriptions/d6aa4a8d-e2a7-/resourceGroups/c6017516-744c-4bd/providers/Microsoft.Authorization/locks/91705f6f"; + Requests[1638] = new DefaultHttpContext(); + Requests[1638].RequestServices = CreateServices(); + Requests[1638].Request.Method = "GET"; + Requests[1638].Request.Path = "/subscriptions/b4d3b475-45b2-/resourceGroups/27adbcdf-e5c2-4cb/providers/Microsoft.Authorization/locks/5b07d7ca"; + Requests[1639] = new DefaultHttpContext(); + Requests[1639].RequestServices = CreateServices(); + Requests[1639].Request.Method = "PATCH"; + Requests[1639].Request.Path = "/subscriptions/2a3369fb-6892-/resourceGroups/23a0b5e5-57b4-4cf/providers/Microsoft.Automation/automationAccounts/6bf5df96-1156-442f-8a"; + Requests[1640] = new DefaultHttpContext(); + Requests[1640].RequestServices = CreateServices(); + Requests[1640].Request.Method = "DELETE"; + Requests[1640].Request.Path = "/subscriptions/662578bf-21c1-/resourceGroups/c52c1d60-ec35-42e/providers/Microsoft.Automation/automationAccounts/a7de95db-bb3d-467e-a3"; + Requests[1641] = new DefaultHttpContext(); + Requests[1641].RequestServices = CreateServices(); + Requests[1641].Request.Method = "PUT"; + Requests[1641].Request.Path = "/subscriptions/b9017c52-ece6-/resourceGroups/8be5476e-4fe3-410/providers/Microsoft.Automation/automationAccounts/758082db-5f93-40fe-bc"; + Requests[1642] = new DefaultHttpContext(); + Requests[1642].RequestServices = CreateServices(); + Requests[1642].Request.Method = "GET"; + Requests[1642].Request.Path = "/subscriptions/815138d1-8494-/resourceGroups/8727f78b-f13f-4f5/providers/Microsoft.Automation/automationAccounts/285f248a-eb21-425d-ae"; + Requests[1643] = new DefaultHttpContext(); + Requests[1643].RequestServices = CreateServices(); + Requests[1643].Request.Method = "GET"; + Requests[1643].Request.Path = "/subscriptions/03cd7d8a-b7c5-/resourcegroups/60b56dda-05b4-492/providers/Microsoft.Backup.Admin/backupLocations/c45cf348"; + Requests[1644] = new DefaultHttpContext(); + Requests[1644].RequestServices = CreateServices(); + Requests[1644].Request.Method = "PUT"; + Requests[1644].Request.Path = "/subscriptions/e3ca4d15-1a39-/resourcegroups/18676138-86bc-4c4/providers/Microsoft.Backup.Admin/backupLocations/cf6ac117"; + Requests[1645] = new DefaultHttpContext(); + Requests[1645].RequestServices = CreateServices(); + Requests[1645].Request.Method = "GET"; + Requests[1645].Request.Path = "/subscriptions/c9980d47-3ad2-/resourceGroups/f594e330-ae0b-48e/providers/Microsoft.Batch/batchAccounts/7662ac8a-2e"; + Requests[1646] = new DefaultHttpContext(); + Requests[1646].RequestServices = CreateServices(); + Requests[1646].Request.Method = "DELETE"; + Requests[1646].Request.Path = "/subscriptions/b77e470f-e85d-/resourceGroups/0c1d07c9-f7d5-46e/providers/Microsoft.Batch/batchAccounts/b60631fb-1e"; + Requests[1647] = new DefaultHttpContext(); + Requests[1647].RequestServices = CreateServices(); + Requests[1647].Request.Method = "PATCH"; + Requests[1647].Request.Path = "/subscriptions/64e1d3df-dab0-/resourceGroups/834abfe0-508b-4c2/providers/Microsoft.Batch/batchAccounts/75d402fc-c0"; + Requests[1648] = new DefaultHttpContext(); + Requests[1648].RequestServices = CreateServices(); + Requests[1648].Request.Method = "PUT"; + Requests[1648].Request.Path = "/subscriptions/343042b1-16c6-/resourceGroups/30e6a30c-b1bb-49e/providers/Microsoft.Batch/batchAccounts/6033cc45-3b"; + Requests[1649] = new DefaultHttpContext(); + Requests[1649].RequestServices = CreateServices(); + Requests[1649].Request.Method = "GET"; + Requests[1649].Request.Path = "/subscriptions/775b5a1a-83f9-/resourceGroups/af5ffaf5-e205-468/providers/Microsoft.BatchAI/clusters/a2637acd-30"; + Requests[1650] = new DefaultHttpContext(); + Requests[1650].RequestServices = CreateServices(); + Requests[1650].Request.Method = "DELETE"; + Requests[1650].Request.Path = "/subscriptions/78d38c71-9454-/resourceGroups/f6d2ccfa-641f-42a/providers/Microsoft.BatchAI/clusters/bb3cccc7-ec"; + Requests[1651] = new DefaultHttpContext(); + Requests[1651].RequestServices = CreateServices(); + Requests[1651].Request.Method = "PATCH"; + Requests[1651].Request.Path = "/subscriptions/b5f66fe7-a566-/resourceGroups/2fcb7202-26e0-4b7/providers/Microsoft.BatchAI/clusters/b95bf499-76"; + Requests[1652] = new DefaultHttpContext(); + Requests[1652].RequestServices = CreateServices(); + Requests[1652].Request.Method = "PUT"; + Requests[1652].Request.Path = "/subscriptions/cab1aa90-2129-/resourceGroups/7a02c732-03d2-4fe/providers/Microsoft.BatchAI/clusters/92178e36-77"; + Requests[1653] = new DefaultHttpContext(); + Requests[1653].RequestServices = CreateServices(); + Requests[1653].Request.Method = "DELETE"; + Requests[1653].Request.Path = "/subscriptions/ba59d468-d36d-/resourceGroups/e2c829a6-59c3-4da/providers/Microsoft.BatchAI/fileServers/01e0b0e5-9b90-"; + Requests[1654] = new DefaultHttpContext(); + Requests[1654].RequestServices = CreateServices(); + Requests[1654].Request.Method = "PUT"; + Requests[1654].Request.Path = "/subscriptions/72c65b8a-1860-/resourceGroups/70d5d2a1-a5be-485/providers/Microsoft.BatchAI/fileServers/97f6a9c2-c08c-"; + Requests[1655] = new DefaultHttpContext(); + Requests[1655].RequestServices = CreateServices(); + Requests[1655].Request.Method = "GET"; + Requests[1655].Request.Path = "/subscriptions/3cb8bf7b-467f-/resourceGroups/bd47aa4f-8aee-4db/providers/Microsoft.BatchAI/fileServers/5ec0383d-8b68-"; + Requests[1656] = new DefaultHttpContext(); + Requests[1656].RequestServices = CreateServices(); + Requests[1656].Request.Method = "GET"; + Requests[1656].Request.Path = "/subscriptions/d95dd609-8107-/resourceGroups/59580c87-0849-47e/providers/Microsoft.BatchAI/jobs/4c7b7a0"; + Requests[1657] = new DefaultHttpContext(); + Requests[1657].RequestServices = CreateServices(); + Requests[1657].Request.Method = "PUT"; + Requests[1657].Request.Path = "/subscriptions/e39388f3-6afc-/resourceGroups/9a7dea1d-35f4-4f1/providers/Microsoft.BatchAI/jobs/9ee9b59"; + Requests[1658] = new DefaultHttpContext(); + Requests[1658].RequestServices = CreateServices(); + Requests[1658].Request.Method = "DELETE"; + Requests[1658].Request.Path = "/subscriptions/92aeea79-fc2a-/resourceGroups/fb8ef72b-184b-461/providers/Microsoft.BatchAI/jobs/369ff3b"; + Requests[1659] = new DefaultHttpContext(); + Requests[1659].RequestServices = CreateServices(); + Requests[1659].Request.Method = "PUT"; + Requests[1659].Request.Path = "/subscriptions/5619fe60-fac1-/resourceGroups/6e5b440b-d8c8-4f5/providers/Microsoft.BatchAI/workspaces/a0505aa6-38da"; + Requests[1660] = new DefaultHttpContext(); + Requests[1660].RequestServices = CreateServices(); + Requests[1660].Request.Method = "DELETE"; + Requests[1660].Request.Path = "/subscriptions/0268124a-6f89-/resourceGroups/7237baf4-0ffe-494/providers/Microsoft.BatchAI/workspaces/b07b6892-67cc"; + Requests[1661] = new DefaultHttpContext(); + Requests[1661].RequestServices = CreateServices(); + Requests[1661].Request.Method = "GET"; + Requests[1661].Request.Path = "/subscriptions/74e3a974-93e4-/resourceGroups/553efe18-8452-4de/providers/Microsoft.BatchAI/workspaces/846231d8-d3f1"; + Requests[1662] = new DefaultHttpContext(); + Requests[1662].RequestServices = CreateServices(); + Requests[1662].Request.Method = "GET"; + Requests[1662].Request.Path = "/subscriptions/4fc64262-560b-/resourceGroups/c16132f3-f755-41f/providers/Microsoft.BotService/botServices/1f660153-60b"; + Requests[1663] = new DefaultHttpContext(); + Requests[1663].RequestServices = CreateServices(); + Requests[1663].Request.Method = "PATCH"; + Requests[1663].Request.Path = "/subscriptions/2e4d2c33-b56a-/resourceGroups/0a726dc0-dcb1-45b/providers/Microsoft.BotService/botServices/c8d5b20f-9c8"; + Requests[1664] = new DefaultHttpContext(); + Requests[1664].RequestServices = CreateServices(); + Requests[1664].Request.Method = "PUT"; + Requests[1664].Request.Path = "/subscriptions/9df22d6b-aab7-/resourceGroups/d158726c-7649-487/providers/Microsoft.BotService/botServices/354d29a6-0fc"; + Requests[1665] = new DefaultHttpContext(); + Requests[1665].RequestServices = CreateServices(); + Requests[1665].Request.Method = "DELETE"; + Requests[1665].Request.Path = "/subscriptions/f1e48552-7895-/resourceGroups/cfc6d8fe-6f14-4ae/providers/Microsoft.BotService/botServices/591a0496-4c6"; + Requests[1666] = new DefaultHttpContext(); + Requests[1666].RequestServices = CreateServices(); + Requests[1666].Request.Method = "DELETE"; + Requests[1666].Request.Path = "/subscriptions/730cd998-79d5-/resourceGroups/d4f2bf79-8658-482/providers/Microsoft.Cache/Redis/77c23"; + Requests[1667] = new DefaultHttpContext(); + Requests[1667].RequestServices = CreateServices(); + Requests[1667].Request.Method = "PUT"; + Requests[1667].Request.Path = "/subscriptions/790af2b1-71f9-/resourceGroups/7c9c2732-edd8-435/providers/Microsoft.Cache/Redis/61563"; + Requests[1668] = new DefaultHttpContext(); + Requests[1668].RequestServices = CreateServices(); + Requests[1668].Request.Method = "GET"; + Requests[1668].Request.Path = "/subscriptions/0514a590-368e-/resourceGroups/70a61d39-77b8-475/providers/Microsoft.Cache/Redis/469de"; + Requests[1669] = new DefaultHttpContext(); + Requests[1669].RequestServices = CreateServices(); + Requests[1669].Request.Method = "PATCH"; + Requests[1669].Request.Path = "/subscriptions/bb3784c7-e29d-/resourceGroups/120072a5-2f2d-426/providers/Microsoft.Cache/Redis/b7fd7"; + Requests[1670] = new DefaultHttpContext(); + Requests[1670].RequestServices = CreateServices(); + Requests[1670].Request.Method = "DELETE"; + Requests[1670].Request.Path = "/subscriptions/15532207-41cc-/resourceGroups/ee1b3d2b-817d-401/providers/Microsoft.Cdn/profiles/66cdcea4-e1"; + Requests[1671] = new DefaultHttpContext(); + Requests[1671].RequestServices = CreateServices(); + Requests[1671].Request.Method = "GET"; + Requests[1671].Request.Path = "/subscriptions/1c4a28da-d61a-/resourceGroups/4530e416-1652-45a/providers/Microsoft.Cdn/profiles/c0fcc08d-da"; + Requests[1672] = new DefaultHttpContext(); + Requests[1672].RequestServices = CreateServices(); + Requests[1672].Request.Method = "PUT"; + Requests[1672].Request.Path = "/subscriptions/3dce4ef0-1800-/resourceGroups/dbebde40-3060-419/providers/Microsoft.Cdn/profiles/dd326e16-92"; + Requests[1673] = new DefaultHttpContext(); + Requests[1673].RequestServices = CreateServices(); + Requests[1673].Request.Method = "PATCH"; + Requests[1673].Request.Path = "/subscriptions/eb8ef451-2b6e-/resourceGroups/85f358b1-d544-4e9/providers/Microsoft.Cdn/profiles/30f037e5-d3"; + Requests[1674] = new DefaultHttpContext(); + Requests[1674].RequestServices = CreateServices(); + Requests[1674].Request.Method = "PATCH"; + Requests[1674].Request.Path = "/subscriptions/e5fe7b42-bab1-/resourceGroups/902c9e24-e42a-438/providers/Microsoft.CertificateRegistration/certificateOrders/270a9"; + Requests[1675] = new DefaultHttpContext(); + Requests[1675].RequestServices = CreateServices(); + Requests[1675].Request.Method = "DELETE"; + Requests[1675].Request.Path = "/subscriptions/2e84b0cc-6180-/resourceGroups/c1e05012-717e-407/providers/Microsoft.CertificateRegistration/certificateOrders/a11de"; + Requests[1676] = new DefaultHttpContext(); + Requests[1676].RequestServices = CreateServices(); + Requests[1676].Request.Method = "PUT"; + Requests[1676].Request.Path = "/subscriptions/e4f6d028-d834-/resourceGroups/dce178b3-f51d-44a/providers/Microsoft.CertificateRegistration/certificateOrders/910b8"; + Requests[1677] = new DefaultHttpContext(); + Requests[1677].RequestServices = CreateServices(); + Requests[1677].Request.Method = "GET"; + Requests[1677].Request.Path = "/subscriptions/3a2bf3e2-a011-/resourceGroups/8048a26a-64c6-477/providers/Microsoft.CertificateRegistration/certificateOrders/ab1cf"; + Requests[1678] = new DefaultHttpContext(); + Requests[1678].RequestServices = CreateServices(); + Requests[1678].Request.Method = "PATCH"; + Requests[1678].Request.Path = "/subscriptions/9f975f2e-596b-/resourceGroups/1cf5fefb-1b53-442/providers/Microsoft.CognitiveServices/accounts/23641a9c-77"; + Requests[1679] = new DefaultHttpContext(); + Requests[1679].RequestServices = CreateServices(); + Requests[1679].Request.Method = "GET"; + Requests[1679].Request.Path = "/subscriptions/e800deab-2de9-/resourceGroups/ca9f12fd-54ba-4a3/providers/Microsoft.CognitiveServices/accounts/da17b26b-4a"; + Requests[1680] = new DefaultHttpContext(); + Requests[1680].RequestServices = CreateServices(); + Requests[1680].Request.Method = "DELETE"; + Requests[1680].Request.Path = "/subscriptions/612aaa14-f8ae-/resourceGroups/92e68889-a9a8-4a8/providers/Microsoft.CognitiveServices/accounts/f84cd86b-38"; + Requests[1681] = new DefaultHttpContext(); + Requests[1681].RequestServices = CreateServices(); + Requests[1681].Request.Method = "PUT"; + Requests[1681].Request.Path = "/subscriptions/99abb6b1-9937-/resourceGroups/53d0feaf-40f8-479/providers/Microsoft.CognitiveServices/accounts/3c8f8ac7-c3"; + Requests[1682] = new DefaultHttpContext(); + Requests[1682].RequestServices = CreateServices(); + Requests[1682].Request.Method = "GET"; + Requests[1682].Request.Path = "/subscriptions/4a30477d-cd91-/resourceGroups/2af95ebf-6a4b-4c0/providers/Microsoft.Compute/availabilitySets/afbe41a4-0da6-4b01-"; + Requests[1683] = new DefaultHttpContext(); + Requests[1683].RequestServices = CreateServices(); + Requests[1683].Request.Method = "DELETE"; + Requests[1683].Request.Path = "/subscriptions/97d848e3-c17f-/resourceGroups/ccdde0ae-37c0-416/providers/Microsoft.Compute/availabilitySets/dbfea11c-1316-46cc-"; + Requests[1684] = new DefaultHttpContext(); + Requests[1684].RequestServices = CreateServices(); + Requests[1684].Request.Method = "PATCH"; + Requests[1684].Request.Path = "/subscriptions/4efa00db-a2cc-/resourceGroups/5512dd4e-ee65-45d/providers/Microsoft.Compute/availabilitySets/0e1c7360-e327-489c-"; + Requests[1685] = new DefaultHttpContext(); + Requests[1685].RequestServices = CreateServices(); + Requests[1685].Request.Method = "PUT"; + Requests[1685].Request.Path = "/subscriptions/fe211480-1077-/resourceGroups/ff01653b-7d03-43c/providers/Microsoft.Compute/availabilitySets/56d41060-4f3e-499f-"; + Requests[1686] = new DefaultHttpContext(); + Requests[1686].RequestServices = CreateServices(); + Requests[1686].Request.Method = "PATCH"; + Requests[1686].Request.Path = "/subscriptions/7353c807-ca48-/resourceGroups/3e1a94e7-bcea-4c0/providers/Microsoft.Compute/disks/9fda87e3"; + Requests[1687] = new DefaultHttpContext(); + Requests[1687].RequestServices = CreateServices(); + Requests[1687].Request.Method = "PUT"; + Requests[1687].Request.Path = "/subscriptions/7a14e085-428f-/resourceGroups/db7d7ffb-08ee-417/providers/Microsoft.Compute/disks/2607a1ed"; + Requests[1688] = new DefaultHttpContext(); + Requests[1688].RequestServices = CreateServices(); + Requests[1688].Request.Method = "GET"; + Requests[1688].Request.Path = "/subscriptions/810b94cb-3a98-/resourceGroups/f3bc2a8c-46a1-45e/providers/Microsoft.Compute/disks/64a8cf99"; + Requests[1689] = new DefaultHttpContext(); + Requests[1689].RequestServices = CreateServices(); + Requests[1689].Request.Method = "DELETE"; + Requests[1689].Request.Path = "/subscriptions/ab032534-284b-/resourceGroups/1acc2204-ddae-409/providers/Microsoft.Compute/disks/3141b7d5"; + Requests[1690] = new DefaultHttpContext(); + Requests[1690].RequestServices = CreateServices(); + Requests[1690].Request.Method = "PUT"; + Requests[1690].Request.Path = "/subscriptions/07e3e67c-8ce3-/resourceGroups/41456f1a-39fa-494/providers/Microsoft.Compute/galleries/e9c500d8-fd"; + Requests[1691] = new DefaultHttpContext(); + Requests[1691].RequestServices = CreateServices(); + Requests[1691].Request.Method = "GET"; + Requests[1691].Request.Path = "/subscriptions/7b568caa-7ae7-/resourceGroups/f1f8b86c-dcec-49d/providers/Microsoft.Compute/galleries/31244bb7-87"; + Requests[1692] = new DefaultHttpContext(); + Requests[1692].RequestServices = CreateServices(); + Requests[1692].Request.Method = "DELETE"; + Requests[1692].Request.Path = "/subscriptions/c6541397-1721-/resourceGroups/cebfbb56-08c4-4dc/providers/Microsoft.Compute/galleries/31036bd0-1d"; + Requests[1693] = new DefaultHttpContext(); + Requests[1693].RequestServices = CreateServices(); + Requests[1693].Request.Method = "GET"; + Requests[1693].Request.Path = "/subscriptions/5220fbba-3e14-/resourceGroups/890ac566-837d-4ab/providers/Microsoft.Compute/images/b2108c53-"; + Requests[1694] = new DefaultHttpContext(); + Requests[1694].RequestServices = CreateServices(); + Requests[1694].Request.Method = "DELETE"; + Requests[1694].Request.Path = "/subscriptions/a6dd4555-0869-/resourceGroups/9637cee1-82b2-40a/providers/Microsoft.Compute/images/1a89dcce-"; + Requests[1695] = new DefaultHttpContext(); + Requests[1695].RequestServices = CreateServices(); + Requests[1695].Request.Method = "PATCH"; + Requests[1695].Request.Path = "/subscriptions/5f434148-d24e-/resourceGroups/d2761cb5-422c-4f3/providers/Microsoft.Compute/images/0322e735-"; + Requests[1696] = new DefaultHttpContext(); + Requests[1696].RequestServices = CreateServices(); + Requests[1696].Request.Method = "PUT"; + Requests[1696].Request.Path = "/subscriptions/c20cfd39-4478-/resourceGroups/42b04578-d155-4dd/providers/Microsoft.Compute/images/adfc0558-"; + Requests[1697] = new DefaultHttpContext(); + Requests[1697].RequestServices = CreateServices(); + Requests[1697].Request.Method = "DELETE"; + Requests[1697].Request.Path = "/subscriptions/3f45d9ec-80c8-/resourceGroups/a5b09ff6-8a65-445/providers/Microsoft.Compute/snapshots/7f7c5986-7c0"; + Requests[1698] = new DefaultHttpContext(); + Requests[1698].RequestServices = CreateServices(); + Requests[1698].Request.Method = "GET"; + Requests[1698].Request.Path = "/subscriptions/3b831e2a-d3b5-/resourceGroups/ed63ecba-d3c5-431/providers/Microsoft.Compute/snapshots/5b96760c-f27"; + Requests[1699] = new DefaultHttpContext(); + Requests[1699].RequestServices = CreateServices(); + Requests[1699].Request.Method = "PUT"; + Requests[1699].Request.Path = "/subscriptions/d531718c-ff17-/resourceGroups/974c050f-640b-40f/providers/Microsoft.Compute/snapshots/7acc98ba-b80"; + Requests[1700] = new DefaultHttpContext(); + Requests[1700].RequestServices = CreateServices(); + Requests[1700].Request.Method = "PATCH"; + Requests[1700].Request.Path = "/subscriptions/1d55c3c7-8dc3-/resourceGroups/75ed1cbd-f901-4a8/providers/Microsoft.Compute/snapshots/95ddfbd7-68a"; + Requests[1701] = new DefaultHttpContext(); + Requests[1701].RequestServices = CreateServices(); + Requests[1701].Request.Method = "PATCH"; + Requests[1701].Request.Path = "/subscriptions/d6d77d47-8b3a-/resourceGroups/77463ab4-badc-42b/providers/Microsoft.Compute/virtualMachines/3c970a"; + Requests[1702] = new DefaultHttpContext(); + Requests[1702].RequestServices = CreateServices(); + Requests[1702].Request.Method = "GET"; + Requests[1702].Request.Path = "/subscriptions/a2312905-bc30-/resourceGroups/0ac03595-24d0-4e9/providers/Microsoft.Compute/virtualMachines/649d14"; + Requests[1703] = new DefaultHttpContext(); + Requests[1703].RequestServices = CreateServices(); + Requests[1703].Request.Method = "DELETE"; + Requests[1703].Request.Path = "/subscriptions/a082d597-99e9-/resourceGroups/1b527007-2a13-48b/providers/Microsoft.Compute/virtualMachines/f24d06"; + Requests[1704] = new DefaultHttpContext(); + Requests[1704].RequestServices = CreateServices(); + Requests[1704].Request.Method = "PUT"; + Requests[1704].Request.Path = "/subscriptions/e3c39007-54fd-/resourceGroups/f562f762-9b5f-495/providers/Microsoft.Compute/virtualMachines/a0c7f9"; + Requests[1705] = new DefaultHttpContext(); + Requests[1705].RequestServices = CreateServices(); + Requests[1705].Request.Method = "GET"; + Requests[1705].Request.Path = "/subscriptions/15f66daa-975e-/resourceGroups/299d586e-6315-417/providers/Microsoft.Compute/virtualMachineScaleSets/97ec0acc-8b44-"; + Requests[1706] = new DefaultHttpContext(); + Requests[1706].RequestServices = CreateServices(); + Requests[1706].Request.Method = "DELETE"; + Requests[1706].Request.Path = "/subscriptions/c65ade01-547a-/resourceGroups/1f79653a-94e3-4a3/providers/Microsoft.Compute/virtualMachineScaleSets/cd12af52-669d-"; + Requests[1707] = new DefaultHttpContext(); + Requests[1707].RequestServices = CreateServices(); + Requests[1707].Request.Method = "PATCH"; + Requests[1707].Request.Path = "/subscriptions/e2c09aca-214b-/resourceGroups/8c01542b-a60a-48f/providers/Microsoft.Compute/virtualMachineScaleSets/7f3612f9-cbe7-"; + Requests[1708] = new DefaultHttpContext(); + Requests[1708].RequestServices = CreateServices(); + Requests[1708].Request.Method = "PUT"; + Requests[1708].Request.Path = "/subscriptions/c8fd8d3b-98e8-/resourceGroups/0ac7203a-d09d-4f7/providers/Microsoft.Compute/virtualMachineScaleSets/8edf627f-f1d0-"; + Requests[1709] = new DefaultHttpContext(); + Requests[1709].RequestServices = CreateServices(); + Requests[1709].Request.Method = "GET"; + Requests[1709].Request.Path = "/subscriptions/ebaf3afe-5fcf-/resourceGroups/006d1127-24d6-45d/providers/Microsoft.Consumption/budgets/806cc08f-3"; + Requests[1710] = new DefaultHttpContext(); + Requests[1710].RequestServices = CreateServices(); + Requests[1710].Request.Method = "PUT"; + Requests[1710].Request.Path = "/subscriptions/a1529182-de98-/resourceGroups/4eac0029-bc74-436/providers/Microsoft.Consumption/budgets/0f67ee47-a"; + Requests[1711] = new DefaultHttpContext(); + Requests[1711].RequestServices = CreateServices(); + Requests[1711].Request.Method = "DELETE"; + Requests[1711].Request.Path = "/subscriptions/7d08618c-9a84-/resourceGroups/923f220e-1091-491/providers/Microsoft.Consumption/budgets/18f044f5-0"; + Requests[1712] = new DefaultHttpContext(); + Requests[1712].RequestServices = CreateServices(); + Requests[1712].Request.Method = "GET"; + Requests[1712].Request.Path = "/subscriptions/0fe0f9c6-39a1-/resourceGroups/aeef3cb7-e2e7-4c2/providers/Microsoft.ContainerInstance/containerGroups/17132870-c9e7-41f6"; + Requests[1713] = new DefaultHttpContext(); + Requests[1713].RequestServices = CreateServices(); + Requests[1713].Request.Method = "PATCH"; + Requests[1713].Request.Path = "/subscriptions/3f2a3b64-5909-/resourceGroups/fb1a5615-b465-4f5/providers/Microsoft.ContainerInstance/containerGroups/f434a539-acf9-47f2"; + Requests[1714] = new DefaultHttpContext(); + Requests[1714].RequestServices = CreateServices(); + Requests[1714].Request.Method = "PUT"; + Requests[1714].Request.Path = "/subscriptions/276cee16-ee73-/resourceGroups/461e055f-22d6-486/providers/Microsoft.ContainerInstance/containerGroups/dba5cfa0-ce15-4992"; + Requests[1715] = new DefaultHttpContext(); + Requests[1715].RequestServices = CreateServices(); + Requests[1715].Request.Method = "DELETE"; + Requests[1715].Request.Path = "/subscriptions/b3078119-2bb7-/resourceGroups/65c4a4db-3287-475/providers/Microsoft.ContainerInstance/containerGroups/961eb516-5ed8-47cf"; + Requests[1716] = new DefaultHttpContext(); + Requests[1716].RequestServices = CreateServices(); + Requests[1716].Request.Method = "GET"; + Requests[1716].Request.Path = "/subscriptions/29b302fe-44be-/resourceGroups/ae67b92b-2e88-4fa/providers/Microsoft.ContainerRegistry/registries/47e9e603-ca9"; + Requests[1717] = new DefaultHttpContext(); + Requests[1717].RequestServices = CreateServices(); + Requests[1717].Request.Method = "PUT"; + Requests[1717].Request.Path = "/subscriptions/3e3d6c0d-36b5-/resourceGroups/db820d7e-417f-486/providers/Microsoft.ContainerRegistry/registries/035e1b5d-7bd"; + Requests[1718] = new DefaultHttpContext(); + Requests[1718].RequestServices = CreateServices(); + Requests[1718].Request.Method = "DELETE"; + Requests[1718].Request.Path = "/subscriptions/19fc3c30-8f49-/resourceGroups/ff15cc45-d632-41b/providers/Microsoft.ContainerRegistry/registries/04902d20-89e"; + Requests[1719] = new DefaultHttpContext(); + Requests[1719].RequestServices = CreateServices(); + Requests[1719].Request.Method = "PATCH"; + Requests[1719].Request.Path = "/subscriptions/63729c3c-03b2-/resourceGroups/d14213d5-2734-428/providers/Microsoft.ContainerRegistry/registries/29d9efb3-433"; + Requests[1720] = new DefaultHttpContext(); + Requests[1720].RequestServices = CreateServices(); + Requests[1720].Request.Method = "GET"; + Requests[1720].Request.Path = "/subscriptions/f6009dd4-39d5-/resourceGroups/297c4d86-cc76-4ef/providers/Microsoft.ContainerService/containerServices/356813d1-4a4a-461e-9"; + Requests[1721] = new DefaultHttpContext(); + Requests[1721].RequestServices = CreateServices(); + Requests[1721].Request.Method = "DELETE"; + Requests[1721].Request.Path = "/subscriptions/5fe88dc8-37ee-/resourceGroups/baca8aac-9216-4ea/providers/Microsoft.ContainerService/containerServices/d66f1b35-13a6-49b7-8"; + Requests[1722] = new DefaultHttpContext(); + Requests[1722].RequestServices = CreateServices(); + Requests[1722].Request.Method = "PUT"; + Requests[1722].Request.Path = "/subscriptions/ec1f7bce-6472-/resourceGroups/f7c75401-7fe2-4c6/providers/Microsoft.ContainerService/containerServices/c6087710-03ee-429a-8"; + Requests[1723] = new DefaultHttpContext(); + Requests[1723].RequestServices = CreateServices(); + Requests[1723].Request.Method = "PUT"; + Requests[1723].Request.Path = "/subscriptions/f214a4cc-8e74-/resourceGroups/6df91c59-97df-499/providers/Microsoft.ContainerService/managedClusters/ba42d48e-a16"; + Requests[1724] = new DefaultHttpContext(); + Requests[1724].RequestServices = CreateServices(); + Requests[1724].Request.Method = "GET"; + Requests[1724].Request.Path = "/subscriptions/bd913960-4a67-/resourceGroups/8b3dbbf6-6684-44c/providers/Microsoft.ContainerService/managedClusters/4af851c8-9f5"; + Requests[1725] = new DefaultHttpContext(); + Requests[1725].RequestServices = CreateServices(); + Requests[1725].Request.Method = "DELETE"; + Requests[1725].Request.Path = "/subscriptions/d9969749-1077-/resourceGroups/f17163db-05c1-439/providers/Microsoft.ContainerService/managedClusters/2aadb044-6dc"; + Requests[1726] = new DefaultHttpContext(); + Requests[1726].RequestServices = CreateServices(); + Requests[1726].Request.Method = "PUT"; + Requests[1726].Request.Path = "/subscriptions/d5ec7fd0-6f38-/resourceGroups/fc27a45a-ed84-433/providers/Microsoft.CustomerInsights/hubs/af57c0b"; + Requests[1727] = new DefaultHttpContext(); + Requests[1727].RequestServices = CreateServices(); + Requests[1727].Request.Method = "PATCH"; + Requests[1727].Request.Path = "/subscriptions/c58aea0f-bf66-/resourceGroups/fb6495d3-df78-4d6/providers/Microsoft.CustomerInsights/hubs/80cf81f"; + Requests[1728] = new DefaultHttpContext(); + Requests[1728].RequestServices = CreateServices(); + Requests[1728].Request.Method = "DELETE"; + Requests[1728].Request.Path = "/subscriptions/d49fb4a1-6dae-/resourceGroups/36f8c0c7-5663-424/providers/Microsoft.CustomerInsights/hubs/e9ba970"; + Requests[1729] = new DefaultHttpContext(); + Requests[1729].RequestServices = CreateServices(); + Requests[1729].Request.Method = "GET"; + Requests[1729].Request.Path = "/subscriptions/ab8052cb-fb0c-/resourceGroups/cba5eb08-f6ca-43a/providers/Microsoft.CustomerInsights/hubs/b875850"; + Requests[1730] = new DefaultHttpContext(); + Requests[1730].RequestServices = CreateServices(); + Requests[1730].Request.Method = "GET"; + Requests[1730].Request.Path = "/subscriptions/093fa5df-9752-/resourceGroups/d7fe99c4-7b1e-474/providers/Microsoft.DataBox/jobs/31b1ddb"; + Requests[1731] = new DefaultHttpContext(); + Requests[1731].RequestServices = CreateServices(); + Requests[1731].Request.Method = "PUT"; + Requests[1731].Request.Path = "/subscriptions/bd1ec873-1c92-/resourceGroups/8a0681bf-bd45-473/providers/Microsoft.DataBox/jobs/8be4599"; + Requests[1732] = new DefaultHttpContext(); + Requests[1732].RequestServices = CreateServices(); + Requests[1732].Request.Method = "DELETE"; + Requests[1732].Request.Path = "/subscriptions/a6c92778-08aa-/resourceGroups/70654c1c-0b25-4b5/providers/Microsoft.DataBox/jobs/6764093"; + Requests[1733] = new DefaultHttpContext(); + Requests[1733].RequestServices = CreateServices(); + Requests[1733].Request.Method = "PATCH"; + Requests[1733].Request.Path = "/subscriptions/b60274d5-99b9-/resourceGroups/4bc3404c-f853-44e/providers/Microsoft.DataBox/jobs/902260f"; + Requests[1734] = new DefaultHttpContext(); + Requests[1734].RequestServices = CreateServices(); + Requests[1734].Request.Method = "PUT"; + Requests[1734].Request.Path = "/subscriptions/8ed377f0-f22f-/resourceGroups/27a9ff75-8dae-413/providers/Microsoft.Databricks/workspaces/fa39b66b-4a75"; + Requests[1735] = new DefaultHttpContext(); + Requests[1735].RequestServices = CreateServices(); + Requests[1735].Request.Method = "DELETE"; + Requests[1735].Request.Path = "/subscriptions/b2a617ca-cb87-/resourceGroups/20748f86-da19-422/providers/Microsoft.Databricks/workspaces/1c02f89c-ed08"; + Requests[1736] = new DefaultHttpContext(); + Requests[1736].RequestServices = CreateServices(); + Requests[1736].Request.Method = "GET"; + Requests[1736].Request.Path = "/subscriptions/b48912fa-928f-/resourceGroups/8ae72d75-5779-41f/providers/Microsoft.Databricks/workspaces/7f4cd71a-14ba"; + Requests[1737] = new DefaultHttpContext(); + Requests[1737].RequestServices = CreateServices(); + Requests[1737].Request.Method = "PATCH"; + Requests[1737].Request.Path = "/subscriptions/f0d153ab-a714-/resourceGroups/ce308dff-cb2f-4c2/providers/Microsoft.Databricks/workspaces/28270bc3-b446"; + Requests[1738] = new DefaultHttpContext(); + Requests[1738].RequestServices = CreateServices(); + Requests[1738].Request.Method = "PATCH"; + Requests[1738].Request.Path = "/subscriptions/04f2703b-10bd-/resourceGroups/9fb342ec-7505-468/providers/Microsoft.DataCatalog/catalogs/4916593e-ed"; + Requests[1739] = new DefaultHttpContext(); + Requests[1739].RequestServices = CreateServices(); + Requests[1739].Request.Method = "GET"; + Requests[1739].Request.Path = "/subscriptions/e8b0b205-4a9d-/resourceGroups/6de4edc5-6d60-4f5/providers/Microsoft.DataCatalog/catalogs/7d507e15-f0"; + Requests[1740] = new DefaultHttpContext(); + Requests[1740].RequestServices = CreateServices(); + Requests[1740].Request.Method = "DELETE"; + Requests[1740].Request.Path = "/subscriptions/ba63f917-c76b-/resourceGroups/c98cdebf-279d-403/providers/Microsoft.DataCatalog/catalogs/161ced14-1a"; + Requests[1741] = new DefaultHttpContext(); + Requests[1741].RequestServices = CreateServices(); + Requests[1741].Request.Method = "PUT"; + Requests[1741].Request.Path = "/subscriptions/b25e34ad-9369-/resourceGroups/1aeca860-03cc-403/providers/Microsoft.DataCatalog/catalogs/90fca8b8-e2"; + Requests[1742] = new DefaultHttpContext(); + Requests[1742].RequestServices = CreateServices(); + Requests[1742].Request.Method = "PUT"; + Requests[1742].Request.Path = "/subscriptions/aa5c986d-0b96-/resourceGroups/21eaed12-55b4-4ba/providers/Microsoft.DataFactory/factories/eaed2015-71"; + Requests[1743] = new DefaultHttpContext(); + Requests[1743].RequestServices = CreateServices(); + Requests[1743].Request.Method = "PATCH"; + Requests[1743].Request.Path = "/subscriptions/133939d1-caf6-/resourceGroups/8f52da6b-19a0-4f5/providers/Microsoft.DataFactory/factories/f52cfaf2-61"; + Requests[1744] = new DefaultHttpContext(); + Requests[1744].RequestServices = CreateServices(); + Requests[1744].Request.Method = "GET"; + Requests[1744].Request.Path = "/subscriptions/96fb5cc2-39a8-/resourceGroups/d219eede-eaa0-446/providers/Microsoft.DataFactory/factories/3c2e49dd-b3"; + Requests[1745] = new DefaultHttpContext(); + Requests[1745].RequestServices = CreateServices(); + Requests[1745].Request.Method = "DELETE"; + Requests[1745].Request.Path = "/subscriptions/c7104675-453a-/resourceGroups/d40004b5-0eaa-46f/providers/Microsoft.DataFactory/factories/ac7a86fe-00"; + Requests[1746] = new DefaultHttpContext(); + Requests[1746].RequestServices = CreateServices(); + Requests[1746].Request.Method = "PATCH"; + Requests[1746].Request.Path = "/subscriptions/8450ea94-505d-/resourceGroups/e6d9c3a8-37d4-45f/providers/Microsoft.DataLakeAnalytics/accounts/6f2f50fa-28"; + Requests[1747] = new DefaultHttpContext(); + Requests[1747].RequestServices = CreateServices(); + Requests[1747].Request.Method = "GET"; + Requests[1747].Request.Path = "/subscriptions/9dbb5d47-fb2c-/resourceGroups/bb54224a-4566-4c2/providers/Microsoft.DataLakeAnalytics/accounts/fb3e690a-2a"; + Requests[1748] = new DefaultHttpContext(); + Requests[1748].RequestServices = CreateServices(); + Requests[1748].Request.Method = "DELETE"; + Requests[1748].Request.Path = "/subscriptions/8336b7d2-f15a-/resourceGroups/2d972790-e542-44d/providers/Microsoft.DataLakeAnalytics/accounts/464e0ad4-58"; + Requests[1749] = new DefaultHttpContext(); + Requests[1749].RequestServices = CreateServices(); + Requests[1749].Request.Method = "PUT"; + Requests[1749].Request.Path = "/subscriptions/89a4f731-9a29-/resourceGroups/4f11965d-5bc9-490/providers/Microsoft.DataLakeAnalytics/accounts/b27e54b9-4f"; + Requests[1750] = new DefaultHttpContext(); + Requests[1750].RequestServices = CreateServices(); + Requests[1750].Request.Method = "PUT"; + Requests[1750].Request.Path = "/subscriptions/b12c1704-a462-/resourceGroups/6a128853-c287-43e/providers/Microsoft.DataLakeStore/accounts/bc949fa9-3d"; + Requests[1751] = new DefaultHttpContext(); + Requests[1751].RequestServices = CreateServices(); + Requests[1751].Request.Method = "DELETE"; + Requests[1751].Request.Path = "/subscriptions/dae3c3d4-abaa-/resourceGroups/26a20579-5f69-46b/providers/Microsoft.DataLakeStore/accounts/4700f8ef-fe"; + Requests[1752] = new DefaultHttpContext(); + Requests[1752].RequestServices = CreateServices(); + Requests[1752].Request.Method = "PATCH"; + Requests[1752].Request.Path = "/subscriptions/7e03161a-8148-/resourceGroups/b1e80edd-2caa-421/providers/Microsoft.DataLakeStore/accounts/20bb8049-7f"; + Requests[1753] = new DefaultHttpContext(); + Requests[1753].RequestServices = CreateServices(); + Requests[1753].Request.Method = "GET"; + Requests[1753].Request.Path = "/subscriptions/80f7f011-8688-/resourceGroups/f9cfffc3-e5e3-424/providers/Microsoft.DataLakeStore/accounts/cbd4eb23-2a"; + Requests[1754] = new DefaultHttpContext(); + Requests[1754].RequestServices = CreateServices(); + Requests[1754].Request.Method = "DELETE"; + Requests[1754].Request.Path = "/subscriptions/3337585c-87ed-/resourceGroups/5e758cce-fc64-4c4/providers/Microsoft.DBforMySQL/servers/66a6d45a-2"; + Requests[1755] = new DefaultHttpContext(); + Requests[1755].RequestServices = CreateServices(); + Requests[1755].Request.Method = "PATCH"; + Requests[1755].Request.Path = "/subscriptions/820367fe-2a37-/resourceGroups/ac4941b7-5a3c-453/providers/Microsoft.DBforMySQL/servers/82d25bc1-5"; + Requests[1756] = new DefaultHttpContext(); + Requests[1756].RequestServices = CreateServices(); + Requests[1756].Request.Method = "GET"; + Requests[1756].Request.Path = "/subscriptions/53e141ac-27ac-/resourceGroups/53b1b797-c204-4a5/providers/Microsoft.DBforMySQL/servers/235cc04c-f"; + Requests[1757] = new DefaultHttpContext(); + Requests[1757].RequestServices = CreateServices(); + Requests[1757].Request.Method = "PUT"; + Requests[1757].Request.Path = "/subscriptions/83a1e00c-7f02-/resourceGroups/19e945c5-8c08-4db/providers/Microsoft.DBforMySQL/servers/a33c6a28-9"; + Requests[1758] = new DefaultHttpContext(); + Requests[1758].RequestServices = CreateServices(); + Requests[1758].Request.Method = "GET"; + Requests[1758].Request.Path = "/subscriptions/7752a955-137f-/resourceGroups/accf0ba9-0349-45a/providers/Microsoft.DBforPostgreSQL/servers/1d460f55-8"; + Requests[1759] = new DefaultHttpContext(); + Requests[1759].RequestServices = CreateServices(); + Requests[1759].Request.Method = "PUT"; + Requests[1759].Request.Path = "/subscriptions/343fef7b-4245-/resourceGroups/d9b03f7d-2319-44e/providers/Microsoft.DBforPostgreSQL/servers/4ea6cf54-8"; + Requests[1760] = new DefaultHttpContext(); + Requests[1760].RequestServices = CreateServices(); + Requests[1760].Request.Method = "DELETE"; + Requests[1760].Request.Path = "/subscriptions/661720d3-ae8b-/resourceGroups/f0ca75f7-448c-46b/providers/Microsoft.DBforPostgreSQL/servers/32e628f6-e"; + Requests[1761] = new DefaultHttpContext(); + Requests[1761].RequestServices = CreateServices(); + Requests[1761].Request.Method = "PATCH"; + Requests[1761].Request.Path = "/subscriptions/70c649af-cf0a-/resourceGroups/8b491f88-5bf2-413/providers/Microsoft.DBforPostgreSQL/servers/dc47134b-8"; + Requests[1762] = new DefaultHttpContext(); + Requests[1762].RequestServices = CreateServices(); + Requests[1762].Request.Method = "PUT"; + Requests[1762].Request.Path = "/subscriptions/aea3f6e9-d392-/resourceGroups/5ed0efb8-2e30-47c/providers/Microsoft.Devices/IotHubs/b4523302-1b6"; + Requests[1763] = new DefaultHttpContext(); + Requests[1763].RequestServices = CreateServices(); + Requests[1763].Request.Method = "DELETE"; + Requests[1763].Request.Path = "/subscriptions/e5beb814-ff8a-/resourceGroups/642c3fb2-b123-469/providers/Microsoft.Devices/IotHubs/6e230169-143"; + Requests[1764] = new DefaultHttpContext(); + Requests[1764].RequestServices = CreateServices(); + Requests[1764].Request.Method = "PATCH"; + Requests[1764].Request.Path = "/subscriptions/0cdcf03c-21ff-/resourceGroups/61ba86a7-dd35-455/providers/Microsoft.Devices/IotHubs/75dcf13d-9ca"; + Requests[1765] = new DefaultHttpContext(); + Requests[1765].RequestServices = CreateServices(); + Requests[1765].Request.Method = "GET"; + Requests[1765].Request.Path = "/subscriptions/cded5771-887b-/resourceGroups/da93cf0e-bb5a-4ca/providers/Microsoft.Devices/IotHubs/8ee04b42-3ed"; + Requests[1766] = new DefaultHttpContext(); + Requests[1766].RequestServices = CreateServices(); + Requests[1766].Request.Method = "PATCH"; + Requests[1766].Request.Path = "/subscriptions/75a79ef9-1b2a-/resourceGroups/fcbcaf03-9b48-4da/providers/Microsoft.Devices/provisioningServices/cf124693-7618-46a7-b270"; + Requests[1767] = new DefaultHttpContext(); + Requests[1767].RequestServices = CreateServices(); + Requests[1767].Request.Method = "GET"; + Requests[1767].Request.Path = "/subscriptions/99405958-e824-/resourceGroups/aad73d1a-f837-45a/providers/Microsoft.Devices/provisioningServices/84a77473-72d2-472a-9432"; + Requests[1768] = new DefaultHttpContext(); + Requests[1768].RequestServices = CreateServices(); + Requests[1768].Request.Method = "DELETE"; + Requests[1768].Request.Path = "/subscriptions/b30ac093-6734-/resourceGroups/d6f5b2f3-6070-43a/providers/Microsoft.Devices/provisioningServices/7687ab96-dc17-478d-8e18"; + Requests[1769] = new DefaultHttpContext(); + Requests[1769].RequestServices = CreateServices(); + Requests[1769].Request.Method = "PUT"; + Requests[1769].Request.Path = "/subscriptions/43036939-9619-/resourceGroups/1847e713-3f37-4ae/providers/Microsoft.Devices/provisioningServices/6271e574-8bd3-48c0-af67"; + Requests[1770] = new DefaultHttpContext(); + Requests[1770].RequestServices = CreateServices(); + Requests[1770].Request.Method = "PUT"; + Requests[1770].Request.Path = "/subscriptions/b916691f-da32-/resourceGroups/882898f3-86dd-4fc/providers/Microsoft.DevTestLab/labs/45669"; + Requests[1771] = new DefaultHttpContext(); + Requests[1771].RequestServices = CreateServices(); + Requests[1771].Request.Method = "GET"; + Requests[1771].Request.Path = "/subscriptions/7125c561-d4f9-/resourceGroups/b061a7b7-1d57-457/providers/Microsoft.DevTestLab/labs/79e6b"; + Requests[1772] = new DefaultHttpContext(); + Requests[1772].RequestServices = CreateServices(); + Requests[1772].Request.Method = "PATCH"; + Requests[1772].Request.Path = "/subscriptions/5e858e57-d409-/resourceGroups/fef351c3-7801-4cf/providers/Microsoft.DevTestLab/labs/d257a"; + Requests[1773] = new DefaultHttpContext(); + Requests[1773].RequestServices = CreateServices(); + Requests[1773].Request.Method = "DELETE"; + Requests[1773].Request.Path = "/subscriptions/e7a2001d-7f85-/resourceGroups/b216b915-243e-4c2/providers/Microsoft.DevTestLab/labs/2bf85"; + Requests[1774] = new DefaultHttpContext(); + Requests[1774].RequestServices = CreateServices(); + Requests[1774].Request.Method = "GET"; + Requests[1774].Request.Path = "/subscriptions/4b3c38d8-8c69-/resourceGroups/e2ff1d29-ea0a-4e1/providers/Microsoft.DevTestLab/schedules/a3102"; + Requests[1775] = new DefaultHttpContext(); + Requests[1775].RequestServices = CreateServices(); + Requests[1775].Request.Method = "PUT"; + Requests[1775].Request.Path = "/subscriptions/13dc42f0-8bb3-/resourceGroups/b2d30731-7813-40b/providers/Microsoft.DevTestLab/schedules/c1a6a"; + Requests[1776] = new DefaultHttpContext(); + Requests[1776].RequestServices = CreateServices(); + Requests[1776].Request.Method = "DELETE"; + Requests[1776].Request.Path = "/subscriptions/d15b198c-11de-/resourceGroups/cc9511d5-e6e7-4cf/providers/Microsoft.DevTestLab/schedules/65962"; + Requests[1777] = new DefaultHttpContext(); + Requests[1777].RequestServices = CreateServices(); + Requests[1777].Request.Method = "PATCH"; + Requests[1777].Request.Path = "/subscriptions/36a42dc2-fedd-/resourceGroups/eb2cdc9b-6e87-424/providers/Microsoft.DevTestLab/schedules/519e0"; + Requests[1778] = new DefaultHttpContext(); + Requests[1778].RequestServices = CreateServices(); + Requests[1778].Request.Method = "DELETE"; + Requests[1778].Request.Path = "/subscriptions/0e5cfcde-490e-/resourceGroups/1da638ff-db9c-41c/providers/Microsoft.DocumentDB/databaseAccounts/8ce0da57-82"; + Requests[1779] = new DefaultHttpContext(); + Requests[1779].RequestServices = CreateServices(); + Requests[1779].Request.Method = "PUT"; + Requests[1779].Request.Path = "/subscriptions/ae0e30b2-c668-/resourceGroups/3fd1099a-47ea-40e/providers/Microsoft.DocumentDB/databaseAccounts/3d489471-93"; + Requests[1780] = new DefaultHttpContext(); + Requests[1780].RequestServices = CreateServices(); + Requests[1780].Request.Method = "GET"; + Requests[1780].Request.Path = "/subscriptions/9e926b0e-0236-/resourceGroups/d349b8a7-457b-4e9/providers/Microsoft.DocumentDB/databaseAccounts/f43557b8-26"; + Requests[1781] = new DefaultHttpContext(); + Requests[1781].RequestServices = CreateServices(); + Requests[1781].Request.Method = "PATCH"; + Requests[1781].Request.Path = "/subscriptions/5dcd39c0-0740-/resourceGroups/eb8a3c97-8050-40d/providers/Microsoft.DocumentDB/databaseAccounts/cad642a9-24"; + Requests[1782] = new DefaultHttpContext(); + Requests[1782].RequestServices = CreateServices(); + Requests[1782].Request.Method = "GET"; + Requests[1782].Request.Path = "/subscriptions/434c1164-e8a7-/resourceGroups/05c60298-c975-455/providers/Microsoft.DomainRegistration/domains/b83962e9-9"; + Requests[1783] = new DefaultHttpContext(); + Requests[1783].RequestServices = CreateServices(); + Requests[1783].Request.Method = "DELETE"; + Requests[1783].Request.Path = "/subscriptions/3b9fe4b9-633f-/resourceGroups/c5791472-ae83-494/providers/Microsoft.DomainRegistration/domains/a1b3220e-3"; + Requests[1784] = new DefaultHttpContext(); + Requests[1784].RequestServices = CreateServices(); + Requests[1784].Request.Method = "PATCH"; + Requests[1784].Request.Path = "/subscriptions/58862bde-4901-/resourceGroups/93caffe4-b606-496/providers/Microsoft.DomainRegistration/domains/7f8d0da5-b"; + Requests[1785] = new DefaultHttpContext(); + Requests[1785].RequestServices = CreateServices(); + Requests[1785].Request.Method = "PUT"; + Requests[1785].Request.Path = "/subscriptions/f5f6cd21-b1cd-/resourceGroups/5b984ba6-8db4-4bb/providers/Microsoft.DomainRegistration/domains/471d5efd-b"; + Requests[1786] = new DefaultHttpContext(); + Requests[1786].RequestServices = CreateServices(); + Requests[1786].Request.Method = "PATCH"; + Requests[1786].Request.Path = "/subscriptions/6a927521-d351-/resourceGroups/3435b7fa-b99f-4cd/providers/Microsoft.EventGrid/topics/32407e65-"; + Requests[1787] = new DefaultHttpContext(); + Requests[1787].RequestServices = CreateServices(); + Requests[1787].Request.Method = "DELETE"; + Requests[1787].Request.Path = "/subscriptions/d35da684-759e-/resourceGroups/f49b9e25-0100-41e/providers/Microsoft.EventGrid/topics/bd55ef23-"; + Requests[1788] = new DefaultHttpContext(); + Requests[1788].RequestServices = CreateServices(); + Requests[1788].Request.Method = "PUT"; + Requests[1788].Request.Path = "/subscriptions/8c0c64c7-c679-/resourceGroups/0926b111-cff7-42c/providers/Microsoft.EventGrid/topics/ef9138c0-"; + Requests[1789] = new DefaultHttpContext(); + Requests[1789].RequestServices = CreateServices(); + Requests[1789].Request.Method = "GET"; + Requests[1789].Request.Path = "/subscriptions/61ec79a6-8634-/resourceGroups/5f6586d7-db96-4e1/providers/Microsoft.EventGrid/topics/223001df-"; + Requests[1790] = new DefaultHttpContext(); + Requests[1790].RequestServices = CreateServices(); + Requests[1790].Request.Method = "GET"; + Requests[1790].Request.Path = "/subscriptions/5c525398-96d0-/resourceGroups/7d374f4b-b35f-4f5/providers/Microsoft.EventHub/clusters/499e543d-8d"; + Requests[1791] = new DefaultHttpContext(); + Requests[1791].RequestServices = CreateServices(); + Requests[1791].Request.Method = "PATCH"; + Requests[1791].Request.Path = "/subscriptions/c9ae5065-5f71-/resourceGroups/6cd18e1c-a613-40e/providers/Microsoft.EventHub/clusters/001b2bc7-87"; + Requests[1792] = new DefaultHttpContext(); + Requests[1792].RequestServices = CreateServices(); + Requests[1792].Request.Method = "GET"; + Requests[1792].Request.Path = "/subscriptions/4a3f8e7e-22e5-/resourceGroups/3bca5d0f-b584-488/providers/Microsoft.EventHub/namespaces/e5beb57a-88b6"; + Requests[1793] = new DefaultHttpContext(); + Requests[1793].RequestServices = CreateServices(); + Requests[1793].Request.Method = "DELETE"; + Requests[1793].Request.Path = "/subscriptions/a074d51d-23dd-/resourceGroups/01d37c08-b15c-4e9/providers/Microsoft.EventHub/namespaces/8a86ecb2-f135"; + Requests[1794] = new DefaultHttpContext(); + Requests[1794].RequestServices = CreateServices(); + Requests[1794].Request.Method = "PUT"; + Requests[1794].Request.Path = "/subscriptions/3f916ef6-bb32-/resourceGroups/a709e25c-148e-43f/providers/Microsoft.EventHub/namespaces/cba61978-f9f4"; + Requests[1795] = new DefaultHttpContext(); + Requests[1795].RequestServices = CreateServices(); + Requests[1795].Request.Method = "PATCH"; + Requests[1795].Request.Path = "/subscriptions/b2ea2b90-3c3d-/resourceGroups/31486b52-c0f9-44a/providers/Microsoft.EventHub/namespaces/04c724e0-89b8"; + Requests[1796] = new DefaultHttpContext(); + Requests[1796].RequestServices = CreateServices(); + Requests[1796].Request.Method = "GET"; + Requests[1796].Request.Path = "/subscriptions/4a735fa0-bcd7-/resourceGroups/652f4546-3495-4a2/providers/Microsoft.Fabric.Admin/fabricLocations/a1e70557-e82c-"; + Requests[1797] = new DefaultHttpContext(); + Requests[1797].RequestServices = CreateServices(); + Requests[1797].Request.Method = "GET"; + Requests[1797].Request.Path = "/subscriptions/8193b116-9ff5-/resourceGroups/9fa84b6d-4e80-495/providers/Microsoft.HanaOnAzure/hanaInstances/b86195ce-b7b5-42"; + Requests[1798] = new DefaultHttpContext(); + Requests[1798].RequestServices = CreateServices(); + Requests[1798].Request.Method = "PUT"; + Requests[1798].Request.Path = "/subscriptions/08ef48bd-8533-/resourceGroups/7e8428f7-0e84-4ec/providers/Microsoft.HDInsight/clusters/46a8e62d-87"; + Requests[1799] = new DefaultHttpContext(); + Requests[1799].RequestServices = CreateServices(); + Requests[1799].Request.Method = "PATCH"; + Requests[1799].Request.Path = "/subscriptions/d97aede8-c7e4-/resourceGroups/5c3d2ffc-920a-444/providers/Microsoft.HDInsight/clusters/0f0ef0cf-cd"; + Requests[1800] = new DefaultHttpContext(); + Requests[1800].RequestServices = CreateServices(); + Requests[1800].Request.Method = "DELETE"; + Requests[1800].Request.Path = "/subscriptions/3a7edce3-8daa-/resourceGroups/4a235172-1396-468/providers/Microsoft.HDInsight/clusters/5cfdcb6b-f8"; + Requests[1801] = new DefaultHttpContext(); + Requests[1801].RequestServices = CreateServices(); + Requests[1801].Request.Method = "GET"; + Requests[1801].Request.Path = "/subscriptions/31bcad8e-6861-/resourceGroups/d0db5122-d8a0-405/providers/Microsoft.HDInsight/clusters/0288498b-f5"; + Requests[1802] = new DefaultHttpContext(); + Requests[1802].RequestServices = CreateServices(); + Requests[1802].Request.Method = "PATCH"; + Requests[1802].Request.Path = "/subscriptions/96bcf7bd-fc64-/resourceGroups/398de39c-df84-460/providers/Microsoft.ImportExport/jobs/6a6ea6e"; + Requests[1803] = new DefaultHttpContext(); + Requests[1803].RequestServices = CreateServices(); + Requests[1803].Request.Method = "PUT"; + Requests[1803].Request.Path = "/subscriptions/35f690f7-720e-/resourceGroups/9c19037f-bddf-473/providers/Microsoft.ImportExport/jobs/ca64379"; + Requests[1804] = new DefaultHttpContext(); + Requests[1804].RequestServices = CreateServices(); + Requests[1804].Request.Method = "DELETE"; + Requests[1804].Request.Path = "/subscriptions/da936dfd-7bb7-/resourceGroups/dae98d94-50b0-4c7/providers/Microsoft.ImportExport/jobs/6f1238a"; + Requests[1805] = new DefaultHttpContext(); + Requests[1805].RequestServices = CreateServices(); + Requests[1805].Request.Method = "GET"; + Requests[1805].Request.Path = "/subscriptions/bc31b194-3f40-/resourceGroups/d280a25a-4c5f-459/providers/Microsoft.ImportExport/jobs/2571fd8"; + Requests[1806] = new DefaultHttpContext(); + Requests[1806].RequestServices = CreateServices(); + Requests[1806].Request.Method = "GET"; + Requests[1806].Request.Path = "/subscriptions/91531137-c56f-/resourceGroups/3c458f30-43de-48d/providers/Microsoft.InfrastructureInsights.Admin/regionHealths/0fbf673a"; + Requests[1807] = new DefaultHttpContext(); + Requests[1807].RequestServices = CreateServices(); + Requests[1807].Request.Method = "PUT"; + Requests[1807].Request.Path = "/subscriptions/f1029b03-5a26-/resourceGroups/f32c9e1f-f7fe-41e/providers/microsoft.insights/actionGroups/aea34e70-933e-4"; + Requests[1808] = new DefaultHttpContext(); + Requests[1808].RequestServices = CreateServices(); + Requests[1808].Request.Method = "GET"; + Requests[1808].Request.Path = "/subscriptions/aa3531d5-e684-/resourceGroups/70493648-1e9e-4b8/providers/microsoft.insights/actionGroups/addf972a-56a3-4"; + Requests[1809] = new DefaultHttpContext(); + Requests[1809].RequestServices = CreateServices(); + Requests[1809].Request.Method = "DELETE"; + Requests[1809].Request.Path = "/subscriptions/c441f71d-6aa1-/resourceGroups/f9b30b1d-9746-4ec/providers/microsoft.insights/actionGroups/08834446-4fbf-4"; + Requests[1810] = new DefaultHttpContext(); + Requests[1810].RequestServices = CreateServices(); + Requests[1810].Request.Method = "PATCH"; + Requests[1810].Request.Path = "/subscriptions/b16ee007-ef25-/resourceGroups/33d2fb0b-638b-4ed/providers/microsoft.insights/actionGroups/a28d8e1b-29c0-4"; + Requests[1811] = new DefaultHttpContext(); + Requests[1811].RequestServices = CreateServices(); + Requests[1811].Request.Method = "DELETE"; + Requests[1811].Request.Path = "/subscriptions/2d9a0dbf-7f1b-/resourceGroups/d6caa543-ced4-46f/providers/microsoft.insights/activityLogAlerts/7a7fd221-c55d-4d78-a"; + Requests[1812] = new DefaultHttpContext(); + Requests[1812].RequestServices = CreateServices(); + Requests[1812].Request.Method = "PATCH"; + Requests[1812].Request.Path = "/subscriptions/3d25535e-6e51-/resourceGroups/4fa7ac0e-c3ef-46c/providers/microsoft.insights/activityLogAlerts/2c811b82-c6b7-4ae8-9"; + Requests[1813] = new DefaultHttpContext(); + Requests[1813].RequestServices = CreateServices(); + Requests[1813].Request.Method = "GET"; + Requests[1813].Request.Path = "/subscriptions/a3815793-04d1-/resourceGroups/06e2b406-d3ee-4c9/providers/microsoft.insights/activityLogAlerts/5bbbef5d-c9cf-44c5-9"; + Requests[1814] = new DefaultHttpContext(); + Requests[1814].RequestServices = CreateServices(); + Requests[1814].Request.Method = "PUT"; + Requests[1814].Request.Path = "/subscriptions/aaf7c0a1-cd22-/resourceGroups/fb8c9881-5dd3-4a4/providers/microsoft.insights/activityLogAlerts/c9aa1ed8-25aa-4279-9"; + Requests[1815] = new DefaultHttpContext(); + Requests[1815].RequestServices = CreateServices(); + Requests[1815].Request.Method = "PUT"; + Requests[1815].Request.Path = "/subscriptions/d7bde63a-966e-/resourcegroups/8611b0df-09e6-40c/providers/microsoft.insights/alertrules/fed75d3e"; + Requests[1816] = new DefaultHttpContext(); + Requests[1816].RequestServices = CreateServices(); + Requests[1816].Request.Method = "DELETE"; + Requests[1816].Request.Path = "/subscriptions/42ba8568-b5c1-/resourcegroups/06f05dd0-2684-486/providers/microsoft.insights/alertrules/c302d62d"; + Requests[1817] = new DefaultHttpContext(); + Requests[1817].RequestServices = CreateServices(); + Requests[1817].Request.Method = "PATCH"; + Requests[1817].Request.Path = "/subscriptions/ddf10b29-8f93-/resourcegroups/16cff7f3-cabe-49d/providers/microsoft.insights/alertrules/776e8b6e"; + Requests[1818] = new DefaultHttpContext(); + Requests[1818].RequestServices = CreateServices(); + Requests[1818].Request.Method = "GET"; + Requests[1818].Request.Path = "/subscriptions/46aa3350-129f-/resourcegroups/c750cead-82c9-423/providers/microsoft.insights/alertrules/9d3cea6d"; + Requests[1819] = new DefaultHttpContext(); + Requests[1819].RequestServices = CreateServices(); + Requests[1819].Request.Method = "PATCH"; + Requests[1819].Request.Path = "/subscriptions/8e768deb-d050-/resourcegroups/e659e9be-b5a0-410/providers/microsoft.insights/autoscalesettings/c16da62e-bef8-4300-b"; + Requests[1820] = new DefaultHttpContext(); + Requests[1820].RequestServices = CreateServices(); + Requests[1820].Request.Method = "DELETE"; + Requests[1820].Request.Path = "/subscriptions/e7f172a1-766d-/resourcegroups/959bdf96-7f65-49a/providers/microsoft.insights/autoscalesettings/3247f670-980b-48c7-a"; + Requests[1821] = new DefaultHttpContext(); + Requests[1821].RequestServices = CreateServices(); + Requests[1821].Request.Method = "PUT"; + Requests[1821].Request.Path = "/subscriptions/1f17d081-c911-/resourcegroups/36313d71-1aea-4ba/providers/microsoft.insights/autoscalesettings/159f8ba5-8994-4a81-a"; + Requests[1822] = new DefaultHttpContext(); + Requests[1822].RequestServices = CreateServices(); + Requests[1822].Request.Method = "GET"; + Requests[1822].Request.Path = "/subscriptions/341b325d-c492-/resourcegroups/1a9389d1-b071-425/providers/microsoft.insights/autoscalesettings/123c17f9-18f3-4f00-b"; + Requests[1823] = new DefaultHttpContext(); + Requests[1823].RequestServices = CreateServices(); + Requests[1823].Request.Method = "GET"; + Requests[1823].Request.Path = "/subscriptions/b3124308-94f5-/resourceGroups/3b10bef0-2569-4f5/providers/Microsoft.Insights/components/0901c338-0bc"; + Requests[1824] = new DefaultHttpContext(); + Requests[1824].RequestServices = CreateServices(); + Requests[1824].Request.Method = "PATCH"; + Requests[1824].Request.Path = "/subscriptions/58ca0758-4d27-/resourceGroups/d0288377-2146-479/providers/Microsoft.Insights/components/a6dbb475-c19"; + Requests[1825] = new DefaultHttpContext(); + Requests[1825].RequestServices = CreateServices(); + Requests[1825].Request.Method = "PUT"; + Requests[1825].Request.Path = "/subscriptions/de7e9bad-d205-/resourceGroups/cd5615a2-6146-407/providers/Microsoft.Insights/components/367699e2-324"; + Requests[1826] = new DefaultHttpContext(); + Requests[1826].RequestServices = CreateServices(); + Requests[1826].Request.Method = "DELETE"; + Requests[1826].Request.Path = "/subscriptions/132cff00-e0df-/resourceGroups/34e44c5d-c957-458/providers/Microsoft.Insights/components/b70ae269-d35"; + Requests[1827] = new DefaultHttpContext(); + Requests[1827].RequestServices = CreateServices(); + Requests[1827].Request.Method = "DELETE"; + Requests[1827].Request.Path = "/subscriptions/82760a05-db4b-/resourceGroups/2ae3a9b2-9b51-437/providers/Microsoft.Insights/metricAlerts/3b71250d"; + Requests[1828] = new DefaultHttpContext(); + Requests[1828].RequestServices = CreateServices(); + Requests[1828].Request.Method = "PATCH"; + Requests[1828].Request.Path = "/subscriptions/a5f15a0f-f26f-/resourceGroups/0fa3e8a2-6ebd-49d/providers/Microsoft.Insights/metricAlerts/f3383a14"; + Requests[1829] = new DefaultHttpContext(); + Requests[1829].RequestServices = CreateServices(); + Requests[1829].Request.Method = "PUT"; + Requests[1829].Request.Path = "/subscriptions/72d075ef-fd66-/resourceGroups/28b4c57e-c566-420/providers/Microsoft.Insights/metricAlerts/8e5b6c4f"; + Requests[1830] = new DefaultHttpContext(); + Requests[1830].RequestServices = CreateServices(); + Requests[1830].Request.Method = "GET"; + Requests[1830].Request.Path = "/subscriptions/99c81ea6-3bcc-/resourceGroups/2abd9c2f-e04c-499/providers/Microsoft.Insights/metricAlerts/7fc26965"; + Requests[1831] = new DefaultHttpContext(); + Requests[1831].RequestServices = CreateServices(); + Requests[1831].Request.Method = "GET"; + Requests[1831].Request.Path = "/subscriptions/a4abaa62-329a-/resourcegroups/5c3dc41e-09f4-4a4/providers/microsoft.insights/scheduledQueryRules/1bccf45c"; + Requests[1832] = new DefaultHttpContext(); + Requests[1832].RequestServices = CreateServices(); + Requests[1832].Request.Method = "DELETE"; + Requests[1832].Request.Path = "/subscriptions/fdaff9cc-87a7-/resourcegroups/fd656fea-dbac-4b0/providers/microsoft.insights/scheduledQueryRules/f59b0a63"; + Requests[1833] = new DefaultHttpContext(); + Requests[1833].RequestServices = CreateServices(); + Requests[1833].Request.Method = "PUT"; + Requests[1833].Request.Path = "/subscriptions/d8013326-9d49-/resourcegroups/4d3dcb5e-4f01-440/providers/microsoft.insights/scheduledQueryRules/380ba354"; + Requests[1834] = new DefaultHttpContext(); + Requests[1834].RequestServices = CreateServices(); + Requests[1834].Request.Method = "GET"; + Requests[1834].Request.Path = "/subscriptions/bb730c0e-538a-/resourceGroups/36aa5e9b-19dd-421/providers/Microsoft.Insights/webtests/775b6e25-08"; + Requests[1835] = new DefaultHttpContext(); + Requests[1835].RequestServices = CreateServices(); + Requests[1835].Request.Method = "DELETE"; + Requests[1835].Request.Path = "/subscriptions/af4188dc-f8c8-/resourceGroups/c74b31c1-c027-473/providers/Microsoft.Insights/webtests/966a1543-7c"; + Requests[1836] = new DefaultHttpContext(); + Requests[1836].RequestServices = CreateServices(); + Requests[1836].Request.Method = "PATCH"; + Requests[1836].Request.Path = "/subscriptions/1fb65b1f-9f84-/resourceGroups/2fe38b49-053c-495/providers/Microsoft.Insights/webtests/d7b8a58a-dc"; + Requests[1837] = new DefaultHttpContext(); + Requests[1837].RequestServices = CreateServices(); + Requests[1837].Request.Method = "PUT"; + Requests[1837].Request.Path = "/subscriptions/ee2d878d-ab85-/resourceGroups/044642e0-931d-410/providers/Microsoft.Insights/webtests/43dfc02b-9c"; + Requests[1838] = new DefaultHttpContext(); + Requests[1838].RequestServices = CreateServices(); + Requests[1838].Request.Method = "GET"; + Requests[1838].Request.Path = "/subscriptions/94033102-29e3-/resourceGroups/ca09cff7-02e2-47f/providers/Microsoft.IoTCentral/IoTApps/d619b3f6-b39"; + Requests[1839] = new DefaultHttpContext(); + Requests[1839].RequestServices = CreateServices(); + Requests[1839].Request.Method = "PUT"; + Requests[1839].Request.Path = "/subscriptions/c142300d-f5a9-/resourceGroups/8477f636-87ed-4ca/providers/Microsoft.IoTCentral/IoTApps/c745e0c2-7cf"; + Requests[1840] = new DefaultHttpContext(); + Requests[1840].RequestServices = CreateServices(); + Requests[1840].Request.Method = "PATCH"; + Requests[1840].Request.Path = "/subscriptions/93aab1a0-8bd0-/resourceGroups/d0439a22-6ac0-4c6/providers/Microsoft.IoTCentral/IoTApps/c794c300-8cb"; + Requests[1841] = new DefaultHttpContext(); + Requests[1841].RequestServices = CreateServices(); + Requests[1841].Request.Method = "DELETE"; + Requests[1841].Request.Path = "/subscriptions/b29ae34c-0834-/resourceGroups/f1ad08e3-a8cf-4f3/providers/Microsoft.IoTCentral/IoTApps/f6f78d0d-55d"; + Requests[1842] = new DefaultHttpContext(); + Requests[1842].RequestServices = CreateServices(); + Requests[1842].Request.Method = "DELETE"; + Requests[1842].Request.Path = "/subscriptions/adc14e3f-8394-/resourceGroups/0efe0585-539c-4d0/providers/Microsoft.IoTSpaces/Graph/473f1d75-e50"; + Requests[1843] = new DefaultHttpContext(); + Requests[1843].RequestServices = CreateServices(); + Requests[1843].Request.Method = "GET"; + Requests[1843].Request.Path = "/subscriptions/48d7430e-9b8a-/resourceGroups/88ed91ea-a908-464/providers/Microsoft.IoTSpaces/Graph/82ccf77e-c99"; + Requests[1844] = new DefaultHttpContext(); + Requests[1844].RequestServices = CreateServices(); + Requests[1844].Request.Method = "PUT"; + Requests[1844].Request.Path = "/subscriptions/000669bf-3cf7-/resourceGroups/a3f0474f-842d-43e/providers/Microsoft.IoTSpaces/Graph/8e850114-34b"; + Requests[1845] = new DefaultHttpContext(); + Requests[1845].RequestServices = CreateServices(); + Requests[1845].Request.Method = "PATCH"; + Requests[1845].Request.Path = "/subscriptions/5ac5b1a9-331e-/resourceGroups/08bfbcfe-d632-460/providers/Microsoft.IoTSpaces/Graph/8dc7aca0-c5d"; + Requests[1846] = new DefaultHttpContext(); + Requests[1846].RequestServices = CreateServices(); + Requests[1846].Request.Method = "GET"; + Requests[1846].Request.Path = "/subscriptions/f3234676-1126-/resourceGroups/da3473b5-7913-48d/providers/Microsoft.KeyVault/vaults/68342c53-"; + Requests[1847] = new DefaultHttpContext(); + Requests[1847].RequestServices = CreateServices(); + Requests[1847].Request.Method = "DELETE"; + Requests[1847].Request.Path = "/subscriptions/51eb9e9f-4472-/resourceGroups/8bd08ead-8dd1-4f0/providers/Microsoft.KeyVault/vaults/56b55376-"; + Requests[1848] = new DefaultHttpContext(); + Requests[1848].RequestServices = CreateServices(); + Requests[1848].Request.Method = "PATCH"; + Requests[1848].Request.Path = "/subscriptions/4144bfd6-6c7a-/resourceGroups/1fb94ffc-c462-461/providers/Microsoft.KeyVault/vaults/6df79bd7-"; + Requests[1849] = new DefaultHttpContext(); + Requests[1849].RequestServices = CreateServices(); + Requests[1849].Request.Method = "PUT"; + Requests[1849].Request.Path = "/subscriptions/a9b5b875-bfad-/resourceGroups/50b82933-3ba5-441/providers/Microsoft.KeyVault/vaults/a3ee1a83-"; + Requests[1850] = new DefaultHttpContext(); + Requests[1850].RequestServices = CreateServices(); + Requests[1850].Request.Method = "PATCH"; + Requests[1850].Request.Path = "/subscriptions/9d4fffab-59c8-/resourceGroups/b44a2b24-d913-49d/providers/Microsoft.Logic/integrationAccounts/bd14612b-2662-4ac9-8dc"; + Requests[1851] = new DefaultHttpContext(); + Requests[1851].RequestServices = CreateServices(); + Requests[1851].Request.Method = "DELETE"; + Requests[1851].Request.Path = "/subscriptions/1916dab4-8f8a-/resourceGroups/f9f55860-9944-475/providers/Microsoft.Logic/integrationAccounts/2c8a1e94-fd7e-40de-84c"; + Requests[1852] = new DefaultHttpContext(); + Requests[1852].RequestServices = CreateServices(); + Requests[1852].Request.Method = "PUT"; + Requests[1852].Request.Path = "/subscriptions/c15b858c-3a7e-/resourceGroups/2cfb53b7-b0ff-473/providers/Microsoft.Logic/integrationAccounts/24b5a0c7-b702-4307-a1d"; + Requests[1853] = new DefaultHttpContext(); + Requests[1853].RequestServices = CreateServices(); + Requests[1853].Request.Method = "GET"; + Requests[1853].Request.Path = "/subscriptions/978912de-9bd6-/resourceGroups/d95bb339-ec77-4be/providers/Microsoft.Logic/integrationAccounts/7919bcef-8b8d-4d5b-870"; + Requests[1854] = new DefaultHttpContext(); + Requests[1854].RequestServices = CreateServices(); + Requests[1854].Request.Method = "PUT"; + Requests[1854].Request.Path = "/subscriptions/79e477ee-b92a-/resourceGroups/1d1691c9-4212-4ac/providers/Microsoft.Logic/workflows/27f7ff37-7c5"; + Requests[1855] = new DefaultHttpContext(); + Requests[1855].RequestServices = CreateServices(); + Requests[1855].Request.Method = "GET"; + Requests[1855].Request.Path = "/subscriptions/f058748b-53eb-/resourceGroups/4e43c546-e721-459/providers/Microsoft.Logic/workflows/92d4916a-324"; + Requests[1856] = new DefaultHttpContext(); + Requests[1856].RequestServices = CreateServices(); + Requests[1856].Request.Method = "DELETE"; + Requests[1856].Request.Path = "/subscriptions/550958ab-6596-/resourceGroups/e3035fd2-d54f-4ef/providers/Microsoft.Logic/workflows/ef5c5d81-2b0"; + Requests[1857] = new DefaultHttpContext(); + Requests[1857].RequestServices = CreateServices(); + Requests[1857].Request.Method = "PATCH"; + Requests[1857].Request.Path = "/subscriptions/13c7c3b0-f2db-/resourceGroups/564252ff-2ea1-426/providers/Microsoft.Logic/workflows/41f99e22-86a"; + Requests[1858] = new DefaultHttpContext(); + Requests[1858].RequestServices = CreateServices(); + Requests[1858].Request.Method = "PATCH"; + Requests[1858].Request.Path = "/subscriptions/ca8e0793-ec38-/resourceGroups/5ddd0852-189a-40b/providers/Microsoft.MachineLearning/commitmentPlans/5f1e82e2-412c-4c06"; + Requests[1859] = new DefaultHttpContext(); + Requests[1859].RequestServices = CreateServices(); + Requests[1859].Request.Method = "GET"; + Requests[1859].Request.Path = "/subscriptions/9c93cdf5-521b-/resourceGroups/51e9750f-a03c-4cd/providers/Microsoft.MachineLearning/commitmentPlans/4478b4e2-0336-412e"; + Requests[1860] = new DefaultHttpContext(); + Requests[1860].RequestServices = CreateServices(); + Requests[1860].Request.Method = "DELETE"; + Requests[1860].Request.Path = "/subscriptions/26779511-6cbf-/resourceGroups/93df6f2e-4f42-4db/providers/Microsoft.MachineLearning/commitmentPlans/117accda-14f2-42c5"; + Requests[1861] = new DefaultHttpContext(); + Requests[1861].RequestServices = CreateServices(); + Requests[1861].Request.Method = "PARAMETERS"; + Requests[1861].Request.Path = "/subscriptions/6e650afb-768d-/resourceGroups/d9dfb743-fd3b-430/providers/Microsoft.MachineLearning/commitmentPlans/5be01ffb-5fa4-4224"; + Requests[1862] = new DefaultHttpContext(); + Requests[1862].RequestServices = CreateServices(); + Requests[1862].Request.Method = "PUT"; + Requests[1862].Request.Path = "/subscriptions/1b56ca80-1037-/resourceGroups/4cb96a15-e119-483/providers/Microsoft.MachineLearning/commitmentPlans/e834b83a-cde3-4db4"; + Requests[1863] = new DefaultHttpContext(); + Requests[1863].RequestServices = CreateServices(); + Requests[1863].Request.Method = "PUT"; + Requests[1863].Request.Path = "/subscriptions/ef32fa7d-0198-/resourceGroups/2173d64f-33d8-41b/providers/Microsoft.MachineLearning/webServices/701ac7a8-3c18-"; + Requests[1864] = new DefaultHttpContext(); + Requests[1864].RequestServices = CreateServices(); + Requests[1864].Request.Method = "GET"; + Requests[1864].Request.Path = "/subscriptions/4b5de478-293c-/resourceGroups/71044bce-dd49-43e/providers/Microsoft.MachineLearning/webServices/31ce93d3-22d1-"; + Requests[1865] = new DefaultHttpContext(); + Requests[1865].RequestServices = CreateServices(); + Requests[1865].Request.Method = "PATCH"; + Requests[1865].Request.Path = "/subscriptions/a5f7bee7-49f1-/resourceGroups/94c44342-7ae9-498/providers/Microsoft.MachineLearning/webServices/d2e61971-19b4-"; + Requests[1866] = new DefaultHttpContext(); + Requests[1866].RequestServices = CreateServices(); + Requests[1866].Request.Method = "DELETE"; + Requests[1866].Request.Path = "/subscriptions/16a2b8d7-7ae1-/resourceGroups/4a365a5e-06a3-49a/providers/Microsoft.MachineLearning/webServices/58379bcc-3171-"; + Requests[1867] = new DefaultHttpContext(); + Requests[1867].RequestServices = CreateServices(); + Requests[1867].Request.Method = "DELETE"; + Requests[1867].Request.Path = "/subscriptions/8350703e-efe9-/resourceGroups/89c3d38c-236f-40c/providers/Microsoft.MachineLearning/workspaces/14fe7a5d-b376"; + Requests[1868] = new DefaultHttpContext(); + Requests[1868].RequestServices = CreateServices(); + Requests[1868].Request.Method = "PUT"; + Requests[1868].Request.Path = "/subscriptions/3b4ea66a-dd1c-/resourceGroups/1f77672e-4e96-419/providers/Microsoft.MachineLearning/workspaces/d0b1df3a-35a5"; + Requests[1869] = new DefaultHttpContext(); + Requests[1869].RequestServices = CreateServices(); + Requests[1869].Request.Method = "GET"; + Requests[1869].Request.Path = "/subscriptions/b67d21ec-1cb3-/resourceGroups/9fee758a-a28e-461/providers/Microsoft.MachineLearning/workspaces/e1dbcef8-c1d9"; + Requests[1870] = new DefaultHttpContext(); + Requests[1870].RequestServices = CreateServices(); + Requests[1870].Request.Method = "PATCH"; + Requests[1870].Request.Path = "/subscriptions/542d24bb-27e7-/resourceGroups/fc7eda38-3b7c-486/providers/Microsoft.MachineLearning/workspaces/86dbdce8-9401"; + Requests[1871] = new DefaultHttpContext(); + Requests[1871].RequestServices = CreateServices(); + Requests[1871].Request.Method = "PUT"; + Requests[1871].Request.Path = "/subscriptions/74d57c9f-7564-/resourceGroups/bbb4d03b-cae6-47e/providers/Microsoft.MachineLearningCompute/operationalizationClusters/a8d6b65d-d7"; + Requests[1872] = new DefaultHttpContext(); + Requests[1872].RequestServices = CreateServices(); + Requests[1872].Request.Method = "GET"; + Requests[1872].Request.Path = "/subscriptions/175324d9-6b73-/resourceGroups/5503bb06-90b6-4a4/providers/Microsoft.MachineLearningCompute/operationalizationClusters/36e108cb-73"; + Requests[1873] = new DefaultHttpContext(); + Requests[1873].RequestServices = CreateServices(); + Requests[1873].Request.Method = "PATCH"; + Requests[1873].Request.Path = "/subscriptions/3ab6f4b7-7ab8-/resourceGroups/f0048f8f-46ee-499/providers/Microsoft.MachineLearningCompute/operationalizationClusters/d50aef8d-cd"; + Requests[1874] = new DefaultHttpContext(); + Requests[1874].RequestServices = CreateServices(); + Requests[1874].Request.Method = "DELETE"; + Requests[1874].Request.Path = "/subscriptions/e3644c42-6d40-/resourceGroups/3a173178-f8b5-420/providers/Microsoft.MachineLearningCompute/operationalizationClusters/8d974423-73"; + Requests[1875] = new DefaultHttpContext(); + Requests[1875].RequestServices = CreateServices(); + Requests[1875].Request.Method = "DELETE"; + Requests[1875].Request.Path = "/subscriptions/3cc41c39-ec75-/resourceGroups/7a1be289-1b2b-439/providers/Microsoft.MachineLearningExperimentation/accounts/fbb3395d-23"; + Requests[1876] = new DefaultHttpContext(); + Requests[1876].RequestServices = CreateServices(); + Requests[1876].Request.Method = "GET"; + Requests[1876].Request.Path = "/subscriptions/6d35677b-4169-/resourceGroups/10f29c59-0c10-40f/providers/Microsoft.MachineLearningExperimentation/accounts/e76143f4-6c"; + Requests[1877] = new DefaultHttpContext(); + Requests[1877].RequestServices = CreateServices(); + Requests[1877].Request.Method = "PUT"; + Requests[1877].Request.Path = "/subscriptions/b3e11619-8d4d-/resourceGroups/204cd1d9-7f03-460/providers/Microsoft.MachineLearningExperimentation/accounts/cb8a2bc4-c1"; + Requests[1878] = new DefaultHttpContext(); + Requests[1878].RequestServices = CreateServices(); + Requests[1878].Request.Method = "PATCH"; + Requests[1878].Request.Path = "/subscriptions/e6e3adb2-c054-/resourceGroups/02dae6c4-e2a2-460/providers/Microsoft.MachineLearningExperimentation/accounts/020ab555-bf"; + Requests[1879] = new DefaultHttpContext(); + Requests[1879].RequestServices = CreateServices(); + Requests[1879].Request.Method = "GET"; + Requests[1879].Request.Path = "/subscriptions/f25a3b93-199f-/resourceGroups/5e390c75-f56c-4a5/providers/Microsoft.MachineLearningServices/workspaces/57f2dd72-e581"; + Requests[1880] = new DefaultHttpContext(); + Requests[1880].RequestServices = CreateServices(); + Requests[1880].Request.Method = "PUT"; + Requests[1880].Request.Path = "/subscriptions/ff73dc2f-bdc0-/resourceGroups/14835cc0-8bae-400/providers/Microsoft.MachineLearningServices/workspaces/1787187a-adfe"; + Requests[1881] = new DefaultHttpContext(); + Requests[1881].RequestServices = CreateServices(); + Requests[1881].Request.Method = "DELETE"; + Requests[1881].Request.Path = "/subscriptions/54dbb607-48a2-/resourceGroups/6b4923cc-4725-432/providers/Microsoft.MachineLearningServices/workspaces/fd4a0d78-3192"; + Requests[1882] = new DefaultHttpContext(); + Requests[1882].RequestServices = CreateServices(); + Requests[1882].Request.Method = "PATCH"; + Requests[1882].Request.Path = "/subscriptions/391aef1d-2c65-/resourceGroups/6a2cd6eb-1ab4-4e9/providers/Microsoft.MachineLearningServices/workspaces/e2e20a67-bfbe"; + Requests[1883] = new DefaultHttpContext(); + Requests[1883].RequestServices = CreateServices(); + Requests[1883].Request.Method = "PUT"; + Requests[1883].Request.Path = "/subscriptions/6f9da87d-2a6c-/resourceGroups/a1b69de0-06d3-494/providers/Microsoft.ManagedIdentity/userAssignedIdentities/501bccc9-bf5"; + Requests[1884] = new DefaultHttpContext(); + Requests[1884].RequestServices = CreateServices(); + Requests[1884].Request.Method = "PATCH"; + Requests[1884].Request.Path = "/subscriptions/7ef223e7-aba6-/resourceGroups/456c65c8-c62b-483/providers/Microsoft.ManagedIdentity/userAssignedIdentities/bbcb922c-1b1"; + Requests[1885] = new DefaultHttpContext(); + Requests[1885].RequestServices = CreateServices(); + Requests[1885].Request.Method = "GET"; + Requests[1885].Request.Path = "/subscriptions/15ee8074-7bc9-/resourceGroups/4f3f0897-39e0-40b/providers/Microsoft.ManagedIdentity/userAssignedIdentities/6eeff5ba-6bd"; + Requests[1886] = new DefaultHttpContext(); + Requests[1886].RequestServices = CreateServices(); + Requests[1886].Request.Method = "DELETE"; + Requests[1886].Request.Path = "/subscriptions/3ec6bc3e-d5d8-/resourceGroups/e78ace92-bcec-4d5/providers/Microsoft.ManagedIdentity/userAssignedIdentities/db104b75-6f2"; + Requests[1887] = new DefaultHttpContext(); + Requests[1887].RequestServices = CreateServices(); + Requests[1887].Request.Method = "DELETE"; + Requests[1887].Request.Path = "/subscriptions/d137fd0f-00b4-/resourceGroups/7d3db48e-8366-45d/providers/Microsoft.Maps/accounts/b536e664-fc"; + Requests[1888] = new DefaultHttpContext(); + Requests[1888].RequestServices = CreateServices(); + Requests[1888].Request.Method = "GET"; + Requests[1888].Request.Path = "/subscriptions/12ed85e9-e5c0-/resourceGroups/daa2e896-bb91-49e/providers/Microsoft.Maps/accounts/2a927513-c1"; + Requests[1889] = new DefaultHttpContext(); + Requests[1889].RequestServices = CreateServices(); + Requests[1889].Request.Method = "PUT"; + Requests[1889].Request.Path = "/subscriptions/33899bdf-7e92-/resourceGroups/c98a67f8-e05f-459/providers/Microsoft.Maps/accounts/a7b0e8a4-55"; + Requests[1890] = new DefaultHttpContext(); + Requests[1890].RequestServices = CreateServices(); + Requests[1890].Request.Method = "PATCH"; + Requests[1890].Request.Path = "/subscriptions/c0a8a961-c0ea-/resourceGroups/70e33331-d283-425/providers/Microsoft.Maps/accounts/765a05c5-ff"; + Requests[1891] = new DefaultHttpContext(); + Requests[1891].RequestServices = CreateServices(); + Requests[1891].Request.Method = "GET"; + Requests[1891].Request.Path = "/subscriptions/6bd63e66-4e92-/resourceGroups/3c034b88-d151-42a/providers/Microsoft.Media/mediaservices/a24c6a63-53d6-4d"; + Requests[1892] = new DefaultHttpContext(); + Requests[1892].RequestServices = CreateServices(); + Requests[1892].Request.Method = "PUT"; + Requests[1892].Request.Path = "/subscriptions/9651e2a3-4514-/resourceGroups/43ad7a6e-bd87-48d/providers/Microsoft.Media/mediaservices/451bd0ef-539e-42"; + Requests[1893] = new DefaultHttpContext(); + Requests[1893].RequestServices = CreateServices(); + Requests[1893].Request.Method = "DELETE"; + Requests[1893].Request.Path = "/subscriptions/ce5926eb-2bf5-/resourceGroups/371e4cba-0226-4c8/providers/Microsoft.Media/mediaservices/d9e7eafc-c0d2-44"; + Requests[1894] = new DefaultHttpContext(); + Requests[1894].RequestServices = CreateServices(); + Requests[1894].Request.Method = "PATCH"; + Requests[1894].Request.Path = "/subscriptions/d2fd42ee-b4f7-/resourceGroups/730f543e-54cf-471/providers/Microsoft.Media/mediaservices/865cf746-4f43-4c"; + Requests[1895] = new DefaultHttpContext(); + Requests[1895].RequestServices = CreateServices(); + Requests[1895].Request.Method = "GET"; + Requests[1895].Request.Path = "/subscriptions/183eaa88-406f-/resourcegroups/afe91e21-36b4-48c/providers/Microsoft.Migrate/projects/6a8ba536-80"; + Requests[1896] = new DefaultHttpContext(); + Requests[1896].RequestServices = CreateServices(); + Requests[1896].Request.Method = "PUT"; + Requests[1896].Request.Path = "/subscriptions/62078425-f40c-/resourcegroups/c678113f-a1d9-492/providers/Microsoft.Migrate/projects/43d099bb-4e"; + Requests[1897] = new DefaultHttpContext(); + Requests[1897].RequestServices = CreateServices(); + Requests[1897].Request.Method = "PATCH"; + Requests[1897].Request.Path = "/subscriptions/c62d912c-38a5-/resourcegroups/cc05392f-5d75-415/providers/Microsoft.Migrate/projects/4a6a63fe-a7"; + Requests[1898] = new DefaultHttpContext(); + Requests[1898].RequestServices = CreateServices(); + Requests[1898].Request.Method = "DELETE"; + Requests[1898].Request.Path = "/subscriptions/d3db15fe-da52-/resourcegroups/39bcff6d-3814-40e/providers/Microsoft.Migrate/projects/6885d00f-e5"; + Requests[1899] = new DefaultHttpContext(); + Requests[1899].RequestServices = CreateServices(); + Requests[1899].Request.Method = "DELETE"; + Requests[1899].Request.Path = "/subscriptions/a7e0c81d-2d92-/resourceGroups/c912437c-dc32-4bb/providers/Microsoft.Network/applicationGateways/9261b2cc-f647-434c-a9f"; + Requests[1900] = new DefaultHttpContext(); + Requests[1900].RequestServices = CreateServices(); + Requests[1900].Request.Method = "GET"; + Requests[1900].Request.Path = "/subscriptions/173ea361-ec30-/resourceGroups/c2192136-90f1-415/providers/Microsoft.Network/applicationGateways/f15cb121-ec18-4960-bc2"; + Requests[1901] = new DefaultHttpContext(); + Requests[1901].RequestServices = CreateServices(); + Requests[1901].Request.Method = "PUT"; + Requests[1901].Request.Path = "/subscriptions/79c4a3c9-9420-/resourceGroups/d5102af7-c52c-44a/providers/Microsoft.Network/applicationGateways/048f3ae4-e442-4efb-93e"; + Requests[1902] = new DefaultHttpContext(); + Requests[1902].RequestServices = CreateServices(); + Requests[1902].Request.Method = "PATCH"; + Requests[1902].Request.Path = "/subscriptions/889b1311-f4e2-/resourceGroups/529d4e47-deb6-4a4/providers/Microsoft.Network/applicationGateways/f2fe74e1-79a8-4328-9ed"; + Requests[1903] = new DefaultHttpContext(); + Requests[1903].RequestServices = CreateServices(); + Requests[1903].Request.Method = "GET"; + Requests[1903].Request.Path = "/subscriptions/f84f34aa-adf4-/resourceGroups/615b8c0c-dca1-4c3/providers/Microsoft.Network/applicationSecurityGroups/3db7d4f1-d555-47f5-8be7-c96c"; + Requests[1904] = new DefaultHttpContext(); + Requests[1904].RequestServices = CreateServices(); + Requests[1904].Request.Method = "PUT"; + Requests[1904].Request.Path = "/subscriptions/9ffb31a8-0f5f-/resourceGroups/0264f279-7df9-439/providers/Microsoft.Network/applicationSecurityGroups/a9ed9df3-aad4-4ca7-9312-7e45"; + Requests[1905] = new DefaultHttpContext(); + Requests[1905].RequestServices = CreateServices(); + Requests[1905].Request.Method = "DELETE"; + Requests[1905].Request.Path = "/subscriptions/3de5f7f9-e19d-/resourceGroups/2627956d-3c9b-4c3/providers/Microsoft.Network/applicationSecurityGroups/c0281374-ac3c-4071-b9d9-a4b3"; + Requests[1906] = new DefaultHttpContext(); + Requests[1906].RequestServices = CreateServices(); + Requests[1906].Request.Method = "PATCH"; + Requests[1906].Request.Path = "/subscriptions/7b762d3c-94a0-/resourceGroups/bce962c8-1367-4af/providers/Microsoft.Network/connections/287d0f92-9295-4420-99da-b22263c959a"; + Requests[1907] = new DefaultHttpContext(); + Requests[1907].RequestServices = CreateServices(); + Requests[1907].Request.Method = "DELETE"; + Requests[1907].Request.Path = "/subscriptions/03c123c5-650b-/resourceGroups/0b1ac77f-faa2-44e/providers/Microsoft.Network/connections/f3ed5366-f8bc-4c81-a1af-b0ae0e89b8b"; + Requests[1908] = new DefaultHttpContext(); + Requests[1908].RequestServices = CreateServices(); + Requests[1908].Request.Method = "PUT"; + Requests[1908].Request.Path = "/subscriptions/f792c4f8-b975-/resourceGroups/2166bc7d-88b2-459/providers/Microsoft.Network/connections/e8bbbb37-9db6-48d4-9488-d9699c0ce4a"; + Requests[1909] = new DefaultHttpContext(); + Requests[1909].RequestServices = CreateServices(); + Requests[1909].Request.Method = "GET"; + Requests[1909].Request.Path = "/subscriptions/818e7d06-cfad-/resourceGroups/49dce8c3-9dd2-4e8/providers/Microsoft.Network/connections/9237a19b-5224-48b9-a4b9-077420500b3"; + Requests[1910] = new DefaultHttpContext(); + Requests[1910].RequestServices = CreateServices(); + Requests[1910].Request.Method = "PUT"; + Requests[1910].Request.Path = "/subscriptions/cdd330f2-943d-/resourceGroups/64e1bba2-373a-4e4/providers/Microsoft.Network/ddosProtectionPlans/2ade81fa-f160-4cd2-9be"; + Requests[1911] = new DefaultHttpContext(); + Requests[1911].RequestServices = CreateServices(); + Requests[1911].Request.Method = "GET"; + Requests[1911].Request.Path = "/subscriptions/060ee9e6-7b6b-/resourceGroups/1efedda3-525f-481/providers/Microsoft.Network/ddosProtectionPlans/87e000ca-d27b-4a3b-8fe"; + Requests[1912] = new DefaultHttpContext(); + Requests[1912].RequestServices = CreateServices(); + Requests[1912].Request.Method = "DELETE"; + Requests[1912].Request.Path = "/subscriptions/764d20aa-909e-/resourceGroups/88dfa6a7-6dfb-4d8/providers/Microsoft.Network/ddosProtectionPlans/eb04ec41-52a6-4187-854"; + Requests[1913] = new DefaultHttpContext(); + Requests[1913].RequestServices = CreateServices(); + Requests[1913].Request.Method = "PATCH"; + Requests[1913].Request.Path = "/subscriptions/c125d13b-2d03-/resourceGroups/cf05cbed-bd9f-4c4/providers/Microsoft.Network/dnsZones/8e537701"; + Requests[1914] = new DefaultHttpContext(); + Requests[1914].RequestServices = CreateServices(); + Requests[1914].Request.Method = "GET"; + Requests[1914].Request.Path = "/subscriptions/6f4f1b70-9b99-/resourceGroups/dcccf13e-2dd0-4ce/providers/Microsoft.Network/dnsZones/7bf6b585"; + Requests[1915] = new DefaultHttpContext(); + Requests[1915].RequestServices = CreateServices(); + Requests[1915].Request.Method = "DELETE"; + Requests[1915].Request.Path = "/subscriptions/3a9b588a-2cd4-/resourceGroups/c2e758a7-72ad-465/providers/Microsoft.Network/dnsZones/1861a5f0"; + Requests[1916] = new DefaultHttpContext(); + Requests[1916].RequestServices = CreateServices(); + Requests[1916].Request.Method = "PUT"; + Requests[1916].Request.Path = "/subscriptions/671f13a3-4e69-/resourceGroups/d615e986-6d8a-4e2/providers/Microsoft.Network/dnsZones/6d182df3"; + Requests[1917] = new DefaultHttpContext(); + Requests[1917].RequestServices = CreateServices(); + Requests[1917].Request.Method = "PATCH"; + Requests[1917].Request.Path = "/subscriptions/2b193ebf-502f-/resourceGroups/34902ad1-f4e3-412/providers/Microsoft.Network/expressRouteCircuits/29b5daae-9a"; + Requests[1918] = new DefaultHttpContext(); + Requests[1918].RequestServices = CreateServices(); + Requests[1918].Request.Method = "PUT"; + Requests[1918].Request.Path = "/subscriptions/99955395-e29a-/resourceGroups/a6efc313-bc7f-4d7/providers/Microsoft.Network/expressRouteCircuits/9bce4078-ab"; + Requests[1919] = new DefaultHttpContext(); + Requests[1919].RequestServices = CreateServices(); + Requests[1919].Request.Method = "GET"; + Requests[1919].Request.Path = "/subscriptions/7a585e32-2a07-/resourceGroups/ac7341fe-1429-426/providers/Microsoft.Network/expressRouteCircuits/2729c9e2-bd"; + Requests[1920] = new DefaultHttpContext(); + Requests[1920].RequestServices = CreateServices(); + Requests[1920].Request.Method = "DELETE"; + Requests[1920].Request.Path = "/subscriptions/3fd5b7b5-919a-/resourceGroups/144232b0-cb69-4ac/providers/Microsoft.Network/expressRouteCircuits/7d11735a-af"; + Requests[1921] = new DefaultHttpContext(); + Requests[1921].RequestServices = CreateServices(); + Requests[1921].Request.Method = "GET"; + Requests[1921].Request.Path = "/subscriptions/228ce523-b15c-/resourceGroups/750314c4-69bb-4bf/providers/Microsoft.Network/expressRouteCrossConnections/bf98c3ea-ff82-4fcb-"; + Requests[1922] = new DefaultHttpContext(); + Requests[1922].RequestServices = CreateServices(); + Requests[1922].Request.Method = "PATCH"; + Requests[1922].Request.Path = "/subscriptions/11c6c6b2-fc67-/resourceGroups/4c463508-2f4f-4da/providers/Microsoft.Network/expressRouteCrossConnections/9ad06999-3c5d-4f36-"; + Requests[1923] = new DefaultHttpContext(); + Requests[1923].RequestServices = CreateServices(); + Requests[1923].Request.Method = "PUT"; + Requests[1923].Request.Path = "/subscriptions/b64ed8c5-d085-/resourceGroups/cd2e6950-afe9-4a2/providers/Microsoft.Network/expressRouteCrossConnections/31cf2464-3d1f-49fc-"; + Requests[1924] = new DefaultHttpContext(); + Requests[1924].RequestServices = CreateServices(); + Requests[1924].Request.Method = "DELETE"; + Requests[1924].Request.Path = "/subscriptions/4706d4d3-e285-/resourceGroups/94e4bff4-55bd-4bd/providers/Microsoft.Network/loadBalancers/70f39331-672e-4a"; + Requests[1925] = new DefaultHttpContext(); + Requests[1925].RequestServices = CreateServices(); + Requests[1925].Request.Method = "PUT"; + Requests[1925].Request.Path = "/subscriptions/d91db965-f9d4-/resourceGroups/2a0f7e92-9c51-49d/providers/Microsoft.Network/loadBalancers/c3aa2710-b9e7-44"; + Requests[1926] = new DefaultHttpContext(); + Requests[1926].RequestServices = CreateServices(); + Requests[1926].Request.Method = "PATCH"; + Requests[1926].Request.Path = "/subscriptions/91732768-133b-/resourceGroups/c082b3e9-ef17-46a/providers/Microsoft.Network/loadBalancers/52c54050-626a-48"; + Requests[1927] = new DefaultHttpContext(); + Requests[1927].RequestServices = CreateServices(); + Requests[1927].Request.Method = "GET"; + Requests[1927].Request.Path = "/subscriptions/3c9c30d4-abf8-/resourceGroups/6af6f535-d1db-4e4/providers/Microsoft.Network/loadBalancers/eaef669d-3e69-4d"; + Requests[1928] = new DefaultHttpContext(); + Requests[1928].RequestServices = CreateServices(); + Requests[1928].Request.Method = "PATCH"; + Requests[1928].Request.Path = "/subscriptions/fb207000-acec-/resourceGroups/6c3d7f6a-f16b-4b4/providers/Microsoft.Network/localNetworkGateways/198dfeb0-6ed4-4b88-96a4"; + Requests[1929] = new DefaultHttpContext(); + Requests[1929].RequestServices = CreateServices(); + Requests[1929].Request.Method = "GET"; + Requests[1929].Request.Path = "/subscriptions/8664588a-f134-/resourceGroups/26395c60-75e4-4ff/providers/Microsoft.Network/localNetworkGateways/66f5978f-a1e7-4ddd-90dc"; + Requests[1930] = new DefaultHttpContext(); + Requests[1930].RequestServices = CreateServices(); + Requests[1930].Request.Method = "PUT"; + Requests[1930].Request.Path = "/subscriptions/59c03305-c55f-/resourceGroups/56c43da5-6305-45c/providers/Microsoft.Network/localNetworkGateways/0a594a93-06a6-4734-876b"; + Requests[1931] = new DefaultHttpContext(); + Requests[1931].RequestServices = CreateServices(); + Requests[1931].Request.Method = "DELETE"; + Requests[1931].Request.Path = "/subscriptions/2ca1257f-a807-/resourceGroups/65fa1988-fdd8-4fe/providers/Microsoft.Network/localNetworkGateways/12aeaeed-3540-465c-87a3"; + Requests[1932] = new DefaultHttpContext(); + Requests[1932].RequestServices = CreateServices(); + Requests[1932].Request.Method = "PATCH"; + Requests[1932].Request.Path = "/subscriptions/0bf46c50-7e52-/resourceGroups/7cb79305-87dd-4fd/providers/Microsoft.Network/networkInterfaces/03afeecf-6c2e-404b-9"; + Requests[1933] = new DefaultHttpContext(); + Requests[1933].RequestServices = CreateServices(); + Requests[1933].Request.Method = "PUT"; + Requests[1933].Request.Path = "/subscriptions/c5899a05-980c-/resourceGroups/02baa16d-9580-455/providers/Microsoft.Network/networkInterfaces/703fb4df-d376-4d2d-a"; + Requests[1934] = new DefaultHttpContext(); + Requests[1934].RequestServices = CreateServices(); + Requests[1934].Request.Method = "GET"; + Requests[1934].Request.Path = "/subscriptions/87c5d5a8-88a3-/resourceGroups/b2df96b4-07e7-492/providers/Microsoft.Network/networkInterfaces/e65a1d38-a3f2-4a8e-b"; + Requests[1935] = new DefaultHttpContext(); + Requests[1935].RequestServices = CreateServices(); + Requests[1935].Request.Method = "DELETE"; + Requests[1935].Request.Path = "/subscriptions/277c241e-03ed-/resourceGroups/d106608b-b5b0-43e/providers/Microsoft.Network/networkInterfaces/efe86d07-4eb3-49c4-9"; + Requests[1936] = new DefaultHttpContext(); + Requests[1936].RequestServices = CreateServices(); + Requests[1936].Request.Method = "DELETE"; + Requests[1936].Request.Path = "/subscriptions/e6a36b5c-7173-/resourceGroups/33a33288-3d90-417/providers/Microsoft.Network/networkSecurityGroups/8c829d6f-d348-4ff5-9eeb-"; + Requests[1937] = new DefaultHttpContext(); + Requests[1937].RequestServices = CreateServices(); + Requests[1937].Request.Method = "PATCH"; + Requests[1937].Request.Path = "/subscriptions/b4bd071b-9249-/resourceGroups/f55873a9-8af9-474/providers/Microsoft.Network/networkSecurityGroups/7625aff2-40b5-4dd7-8a71-"; + Requests[1938] = new DefaultHttpContext(); + Requests[1938].RequestServices = CreateServices(); + Requests[1938].Request.Method = "PUT"; + Requests[1938].Request.Path = "/subscriptions/2eab8dae-96cd-/resourceGroups/b42500ed-27b1-4e4/providers/Microsoft.Network/networkSecurityGroups/39e44317-8890-4de0-b1ef-"; + Requests[1939] = new DefaultHttpContext(); + Requests[1939].RequestServices = CreateServices(); + Requests[1939].Request.Method = "GET"; + Requests[1939].Request.Path = "/subscriptions/45860b87-0189-/resourceGroups/a2229704-e017-493/providers/Microsoft.Network/networkSecurityGroups/ef6ed973-3a12-4cd8-b6f6-"; + Requests[1940] = new DefaultHttpContext(); + Requests[1940].RequestServices = CreateServices(); + Requests[1940].Request.Method = "GET"; + Requests[1940].Request.Path = "/subscriptions/1e4b70aa-7b2c-/resourceGroups/b699657f-becf-4e7/providers/Microsoft.Network/networkWatchers/b45e5775-4252-46d4"; + Requests[1941] = new DefaultHttpContext(); + Requests[1941].RequestServices = CreateServices(); + Requests[1941].Request.Method = "PATCH"; + Requests[1941].Request.Path = "/subscriptions/d64d669e-23f6-/resourceGroups/c1b32251-d2b1-4e8/providers/Microsoft.Network/networkWatchers/5046140c-6ee5-4e12"; + Requests[1942] = new DefaultHttpContext(); + Requests[1942].RequestServices = CreateServices(); + Requests[1942].Request.Method = "PUT"; + Requests[1942].Request.Path = "/subscriptions/cc02c52d-5f96-/resourceGroups/1197ee2b-33fb-4df/providers/Microsoft.Network/networkWatchers/0053e47c-894a-42a0"; + Requests[1943] = new DefaultHttpContext(); + Requests[1943].RequestServices = CreateServices(); + Requests[1943].Request.Method = "DELETE"; + Requests[1943].Request.Path = "/subscriptions/f8651eec-0878-/resourceGroups/fa5a82bd-8a2c-482/providers/Microsoft.Network/networkWatchers/2aa0d789-974f-4f1c"; + Requests[1944] = new DefaultHttpContext(); + Requests[1944].RequestServices = CreateServices(); + Requests[1944].Request.Method = "GET"; + Requests[1944].Request.Path = "/subscriptions/3cf4b7a0-8c72-/resourceGroups/3ebe4702-5972-42d/providers/Microsoft.Network/publicIPAddresses/4249e982-7154-4c39-"; + Requests[1945] = new DefaultHttpContext(); + Requests[1945].RequestServices = CreateServices(); + Requests[1945].Request.Method = "PATCH"; + Requests[1945].Request.Path = "/subscriptions/6f14ddf8-3743-/resourceGroups/a5693494-39ab-427/providers/Microsoft.Network/publicIPAddresses/c59bdbd7-8d46-4cbc-"; + Requests[1946] = new DefaultHttpContext(); + Requests[1946].RequestServices = CreateServices(); + Requests[1946].Request.Method = "PUT"; + Requests[1946].Request.Path = "/subscriptions/eaa20683-1069-/resourceGroups/c7089a52-dd6d-418/providers/Microsoft.Network/publicIPAddresses/90c0481e-d576-4b5a-"; + Requests[1947] = new DefaultHttpContext(); + Requests[1947].RequestServices = CreateServices(); + Requests[1947].Request.Method = "DELETE"; + Requests[1947].Request.Path = "/subscriptions/8eacfb8c-fd45-/resourceGroups/34473f90-41ec-48e/providers/Microsoft.Network/publicIPAddresses/e86feaf3-030e-4ae9-"; + Requests[1948] = new DefaultHttpContext(); + Requests[1948].RequestServices = CreateServices(); + Requests[1948].Request.Method = "DELETE"; + Requests[1948].Request.Path = "/subscriptions/a13af044-603d-/resourceGroups/b14756e3-c086-475/providers/Microsoft.Network/routeFilters/a30da555-a9b5-4"; + Requests[1949] = new DefaultHttpContext(); + Requests[1949].RequestServices = CreateServices(); + Requests[1949].Request.Method = "PATCH"; + Requests[1949].Request.Path = "/subscriptions/59e16c97-2251-/resourceGroups/5c069ce5-071c-458/providers/Microsoft.Network/routeFilters/ef1d2863-10cf-4"; + Requests[1950] = new DefaultHttpContext(); + Requests[1950].RequestServices = CreateServices(); + Requests[1950].Request.Method = "GET"; + Requests[1950].Request.Path = "/subscriptions/3813164c-2384-/resourceGroups/4991b272-587b-4a8/providers/Microsoft.Network/routeFilters/4b4981c4-505b-4"; + Requests[1951] = new DefaultHttpContext(); + Requests[1951].RequestServices = CreateServices(); + Requests[1951].Request.Method = "PUT"; + Requests[1951].Request.Path = "/subscriptions/54d25dcf-ae36-/resourceGroups/e153c7ec-ee7d-465/providers/Microsoft.Network/routeFilters/def4cf83-cbf6-4"; + Requests[1952] = new DefaultHttpContext(); + Requests[1952].RequestServices = CreateServices(); + Requests[1952].Request.Method = "PATCH"; + Requests[1952].Request.Path = "/subscriptions/0655a9b6-5c53-/resourceGroups/820b50bc-4952-45a/providers/Microsoft.Network/routeTables/ac5e698f-ee3c-"; + Requests[1953] = new DefaultHttpContext(); + Requests[1953].RequestServices = CreateServices(); + Requests[1953].Request.Method = "PUT"; + Requests[1953].Request.Path = "/subscriptions/7496f1b5-ac2a-/resourceGroups/544a843a-8439-43c/providers/Microsoft.Network/routeTables/b704c5c1-acfd-"; + Requests[1954] = new DefaultHttpContext(); + Requests[1954].RequestServices = CreateServices(); + Requests[1954].Request.Method = "DELETE"; + Requests[1954].Request.Path = "/subscriptions/3b3f5bfd-f45e-/resourceGroups/0e9c6208-8916-465/providers/Microsoft.Network/routeTables/5f10e748-8019-"; + Requests[1955] = new DefaultHttpContext(); + Requests[1955].RequestServices = CreateServices(); + Requests[1955].Request.Method = "GET"; + Requests[1955].Request.Path = "/subscriptions/4b700c2d-dd24-/resourceGroups/7e464650-acf3-4e1/providers/Microsoft.Network/routeTables/64e3b3f0-b2d0-"; + Requests[1956] = new DefaultHttpContext(); + Requests[1956].RequestServices = CreateServices(); + Requests[1956].Request.Method = "PATCH"; + Requests[1956].Request.Path = "/subscriptions/b8e9def3-e1cf-/resourceGroups/b9cadab1-ab2b-41e/providers/Microsoft.Network/trafficmanagerprofiles/329fc071-1b"; + Requests[1957] = new DefaultHttpContext(); + Requests[1957].RequestServices = CreateServices(); + Requests[1957].Request.Method = "DELETE"; + Requests[1957].Request.Path = "/subscriptions/a92d1906-b696-/resourceGroups/2b67be3f-327a-408/providers/Microsoft.Network/trafficmanagerprofiles/a64a91c5-28"; + Requests[1958] = new DefaultHttpContext(); + Requests[1958].RequestServices = CreateServices(); + Requests[1958].Request.Method = "PUT"; + Requests[1958].Request.Path = "/subscriptions/eb8d8828-efce-/resourceGroups/650b5649-8464-405/providers/Microsoft.Network/trafficmanagerprofiles/93b73c84-58"; + Requests[1959] = new DefaultHttpContext(); + Requests[1959].RequestServices = CreateServices(); + Requests[1959].Request.Method = "GET"; + Requests[1959].Request.Path = "/subscriptions/4cb67681-48db-/resourceGroups/26bc5256-e9f1-42d/providers/Microsoft.Network/trafficmanagerprofiles/7a508b53-9a"; + Requests[1960] = new DefaultHttpContext(); + Requests[1960].RequestServices = CreateServices(); + Requests[1960].Request.Method = "PUT"; + Requests[1960].Request.Path = "/subscriptions/6383d55f-9922-/resourceGroups/e3e352f4-5bc7-4e1/providers/Microsoft.Network/virtualNetworkGateways/20bc64ed-42de-4eea-9c59-1"; + Requests[1961] = new DefaultHttpContext(); + Requests[1961].RequestServices = CreateServices(); + Requests[1961].Request.Method = "DELETE"; + Requests[1961].Request.Path = "/subscriptions/df16d9c9-09e3-/resourceGroups/806d012e-7ba2-46c/providers/Microsoft.Network/virtualNetworkGateways/cf77cae6-2e64-49fa-b1ba-a"; + Requests[1962] = new DefaultHttpContext(); + Requests[1962].RequestServices = CreateServices(); + Requests[1962].Request.Method = "PATCH"; + Requests[1962].Request.Path = "/subscriptions/49b4ddf4-b491-/resourceGroups/bb1efbf6-23dc-420/providers/Microsoft.Network/virtualNetworkGateways/b54270e2-8957-4cf7-8065-e"; + Requests[1963] = new DefaultHttpContext(); + Requests[1963].RequestServices = CreateServices(); + Requests[1963].Request.Method = "GET"; + Requests[1963].Request.Path = "/subscriptions/be51c0db-a5e6-/resourceGroups/a6f989de-3e43-47a/providers/Microsoft.Network/virtualNetworkGateways/cbbcfc12-ddf3-4f7e-a85c-2"; + Requests[1964] = new DefaultHttpContext(); + Requests[1964].RequestServices = CreateServices(); + Requests[1964].Request.Method = "GET"; + Requests[1964].Request.Path = "/subscriptions/f6d4e972-382d-/resourceGroups/bdc5ded2-a3d5-4fc/providers/Microsoft.Network/virtualNetworks/611f0284-cd3e-40fb"; + Requests[1965] = new DefaultHttpContext(); + Requests[1965].RequestServices = CreateServices(); + Requests[1965].Request.Method = "DELETE"; + Requests[1965].Request.Path = "/subscriptions/f39d3d84-9725-/resourceGroups/949b28e8-5824-4d1/providers/Microsoft.Network/virtualNetworks/48ab6786-b39e-4e4b"; + Requests[1966] = new DefaultHttpContext(); + Requests[1966].RequestServices = CreateServices(); + Requests[1966].Request.Method = "PUT"; + Requests[1966].Request.Path = "/subscriptions/f9325519-e1c7-/resourceGroups/d07b0901-953d-43e/providers/Microsoft.Network/virtualNetworks/c9c9fbb8-6a0f-484e"; + Requests[1967] = new DefaultHttpContext(); + Requests[1967].RequestServices = CreateServices(); + Requests[1967].Request.Method = "PATCH"; + Requests[1967].Request.Path = "/subscriptions/5f1d0b6a-115a-/resourceGroups/473ddb3e-f447-462/providers/Microsoft.Network/virtualNetworks/5cacd8a8-a1d2-4816"; + Requests[1968] = new DefaultHttpContext(); + Requests[1968].RequestServices = CreateServices(); + Requests[1968].Request.Method = "DELETE"; + Requests[1968].Request.Path = "/subscriptions/409949be-e5bd-/resourceGroups/736c28fc-347a-4bf/providers/Microsoft.NotificationHubs/namespaces/79a0e290-6d33"; + Requests[1969] = new DefaultHttpContext(); + Requests[1969].RequestServices = CreateServices(); + Requests[1969].Request.Method = "PATCH"; + Requests[1969].Request.Path = "/subscriptions/8f22350f-7fb4-/resourceGroups/28736aad-fa13-439/providers/Microsoft.NotificationHubs/namespaces/52991758-7431"; + Requests[1970] = new DefaultHttpContext(); + Requests[1970].RequestServices = CreateServices(); + Requests[1970].Request.Method = "PUT"; + Requests[1970].Request.Path = "/subscriptions/fd8b3d2b-919b-/resourceGroups/275f8df2-34ec-4d5/providers/Microsoft.NotificationHubs/namespaces/819116a3-7c08"; + Requests[1971] = new DefaultHttpContext(); + Requests[1971].RequestServices = CreateServices(); + Requests[1971].Request.Method = "GET"; + Requests[1971].Request.Path = "/subscriptions/78f6fc1f-120b-/resourceGroups/4b7b4d7d-c53c-468/providers/Microsoft.NotificationHubs/namespaces/d66c3573-ff07"; + Requests[1972] = new DefaultHttpContext(); + Requests[1972].RequestServices = CreateServices(); + Requests[1972].Request.Method = "GET"; + Requests[1972].Request.Path = "/subscriptions/6b2a5b81-d5c4-/resourcegroups/f0e89bf5-6799-443/providers/Microsoft.OperationalInsights/workspaces/b6d4e978-fa73"; + Requests[1973] = new DefaultHttpContext(); + Requests[1973].RequestServices = CreateServices(); + Requests[1973].Request.Method = "PATCH"; + Requests[1973].Request.Path = "/subscriptions/aa1de0a7-841b-/resourcegroups/6f75c0e0-c442-4b3/providers/Microsoft.OperationalInsights/workspaces/6ef14459-a504"; + Requests[1974] = new DefaultHttpContext(); + Requests[1974].RequestServices = CreateServices(); + Requests[1974].Request.Method = "PUT"; + Requests[1974].Request.Path = "/subscriptions/2e1f1968-dc10-/resourcegroups/bc353261-4e43-488/providers/Microsoft.OperationalInsights/workspaces/59e64e40-0b1d"; + Requests[1975] = new DefaultHttpContext(); + Requests[1975].RequestServices = CreateServices(); + Requests[1975].Request.Method = "DELETE"; + Requests[1975].Request.Path = "/subscriptions/6249faa8-6d9b-/resourcegroups/19f447b8-3a9f-4d2/providers/Microsoft.OperationalInsights/workspaces/f04638cc-bac6"; + Requests[1976] = new DefaultHttpContext(); + Requests[1976].RequestServices = CreateServices(); + Requests[1976].Request.Method = "GET"; + Requests[1976].Request.Path = "/subscriptions/d93133e3-4b20-/resourcegroups/c2fc7b0a-95f8-4e8/providers/Microsoft.OperationsManagement/ManagementConfigurations/2ff1da94-21ec-4bdb-ac03-5ba"; + Requests[1977] = new DefaultHttpContext(); + Requests[1977].RequestServices = CreateServices(); + Requests[1977].Request.Method = "DELETE"; + Requests[1977].Request.Path = "/subscriptions/ea13cd7d-41e8-/resourcegroups/79dd368e-544b-4e2/providers/Microsoft.OperationsManagement/ManagementConfigurations/f7de18c9-b7d6-402d-9dff-193"; + Requests[1978] = new DefaultHttpContext(); + Requests[1978].RequestServices = CreateServices(); + Requests[1978].Request.Method = "PUT"; + Requests[1978].Request.Path = "/subscriptions/60a89460-3347-/resourcegroups/a459ab9e-1f1d-474/providers/Microsoft.OperationsManagement/ManagementConfigurations/ca6c5b25-c319-442f-84ea-183"; + Requests[1979] = new DefaultHttpContext(); + Requests[1979].RequestServices = CreateServices(); + Requests[1979].Request.Method = "PUT"; + Requests[1979].Request.Path = "/subscriptions/0e39c320-32dc-/resourcegroups/1e70f84c-6cb5-4b0/providers/Microsoft.OperationsManagement/solutions/806df256-1d1"; + Requests[1980] = new DefaultHttpContext(); + Requests[1980].RequestServices = CreateServices(); + Requests[1980].Request.Method = "DELETE"; + Requests[1980].Request.Path = "/subscriptions/fa922ff2-a268-/resourcegroups/c4533909-0643-469/providers/Microsoft.OperationsManagement/solutions/ff26e9a6-e20"; + Requests[1981] = new DefaultHttpContext(); + Requests[1981].RequestServices = CreateServices(); + Requests[1981].Request.Method = "GET"; + Requests[1981].Request.Path = "/subscriptions/8dff6690-e0a2-/resourcegroups/d8a38f3f-3cfd-48c/providers/Microsoft.OperationsManagement/solutions/531ac004-da3"; + Requests[1982] = new DefaultHttpContext(); + Requests[1982].RequestServices = CreateServices(); + Requests[1982].Request.Method = "PUT"; + Requests[1982].Request.Path = "/subscriptions/197735d5-a90b-/resourceGroups/d1d5b132-06a7-4e9/providers/Microsoft.PowerBI/workspaceCollections/2d5d7902-e7b6-4b8d-9b54"; + Requests[1983] = new DefaultHttpContext(); + Requests[1983].RequestServices = CreateServices(); + Requests[1983].Request.Method = "PATCH"; + Requests[1983].Request.Path = "/subscriptions/bfd4b246-3a98-/resourceGroups/b55f164c-49cf-47f/providers/Microsoft.PowerBI/workspaceCollections/fd2c44e0-d773-4429-aba7"; + Requests[1984] = new DefaultHttpContext(); + Requests[1984].RequestServices = CreateServices(); + Requests[1984].Request.Method = "DELETE"; + Requests[1984].Request.Path = "/subscriptions/8b65e4f2-c31d-/resourceGroups/d86bfc96-2811-433/providers/Microsoft.PowerBI/workspaceCollections/b4655f32-03af-4107-b7e7"; + Requests[1985] = new DefaultHttpContext(); + Requests[1985].RequestServices = CreateServices(); + Requests[1985].Request.Method = "GET"; + Requests[1985].Request.Path = "/subscriptions/6857ab20-e29b-/resourceGroups/3d1a2d33-0288-46f/providers/Microsoft.PowerBI/workspaceCollections/7166e6fc-a085-4313-8867"; + Requests[1986] = new DefaultHttpContext(); + Requests[1986].RequestServices = CreateServices(); + Requests[1986].Request.Method = "PATCH"; + Requests[1986].Request.Path = "/subscriptions/6e4cf06b-09b9-/resourceGroups/d82433fc-2a56-42c/providers/Microsoft.PowerBIDedicated/capacities/19240a18-29eb-4a94-8a"; + Requests[1987] = new DefaultHttpContext(); + Requests[1987].RequestServices = CreateServices(); + Requests[1987].Request.Method = "DELETE"; + Requests[1987].Request.Path = "/subscriptions/ddf53898-3f43-/resourceGroups/0c8dd3f8-7b18-489/providers/Microsoft.PowerBIDedicated/capacities/a371a177-fad6-4d14-b7"; + Requests[1988] = new DefaultHttpContext(); + Requests[1988].RequestServices = CreateServices(); + Requests[1988].Request.Method = "GET"; + Requests[1988].Request.Path = "/subscriptions/902fc80c-6d36-/resourceGroups/db3770db-c043-496/providers/Microsoft.PowerBIDedicated/capacities/82d71d6a-59e1-4256-84"; + Requests[1989] = new DefaultHttpContext(); + Requests[1989].RequestServices = CreateServices(); + Requests[1989].Request.Method = "PUT"; + Requests[1989].Request.Path = "/subscriptions/3944d884-f353-/resourceGroups/67e0090b-ddb6-4e6/providers/Microsoft.PowerBIDedicated/capacities/886b6e0e-4085-4e7e-b6"; + Requests[1990] = new DefaultHttpContext(); + Requests[1990].RequestServices = CreateServices(); + Requests[1990].Request.Method = "GET"; + Requests[1990].Request.Path = "/subscriptions/d51d208c-fa82-/resourceGroups/0c568d88-c17e-4a5/providers/Microsoft.RecoveryServices/vaults/9cc4e1fd-"; + Requests[1991] = new DefaultHttpContext(); + Requests[1991].RequestServices = CreateServices(); + Requests[1991].Request.Method = "PUT"; + Requests[1991].Request.Path = "/subscriptions/1d531928-ece6-/resourceGroups/5a6a5397-3853-4d1/providers/Microsoft.RecoveryServices/vaults/d48bc77d-"; + Requests[1992] = new DefaultHttpContext(); + Requests[1992].RequestServices = CreateServices(); + Requests[1992].Request.Method = "DELETE"; + Requests[1992].Request.Path = "/subscriptions/c47bc38a-ce44-/resourceGroups/a849e892-e8b6-4f9/providers/Microsoft.RecoveryServices/vaults/5aad4c22-"; + Requests[1993] = new DefaultHttpContext(); + Requests[1993].RequestServices = CreateServices(); + Requests[1993].Request.Method = "PATCH"; + Requests[1993].Request.Path = "/subscriptions/32045718-7d4f-/resourceGroups/6e0b7207-e34b-488/providers/Microsoft.RecoveryServices/vaults/286b4d5b-"; + Requests[1994] = new DefaultHttpContext(); + Requests[1994].RequestServices = CreateServices(); + Requests[1994].Request.Method = "PUT"; + Requests[1994].Request.Path = "/subscriptions/ba166f56-6561-/resourceGroups/656777f6-9295-499/providers/Microsoft.Relay/namespaces/d9bf5af8-a89d"; + Requests[1995] = new DefaultHttpContext(); + Requests[1995].RequestServices = CreateServices(); + Requests[1995].Request.Method = "DELETE"; + Requests[1995].Request.Path = "/subscriptions/23149fe1-344b-/resourceGroups/b8c49b35-0eb9-46d/providers/Microsoft.Relay/namespaces/071d9cba-ea8e"; + Requests[1996] = new DefaultHttpContext(); + Requests[1996].RequestServices = CreateServices(); + Requests[1996].Request.Method = "GET"; + Requests[1996].Request.Path = "/subscriptions/94437b82-2e1e-/resourceGroups/0e190bc1-c343-4f2/providers/Microsoft.Relay/namespaces/0eee9116-c106"; + Requests[1997] = new DefaultHttpContext(); + Requests[1997].RequestServices = CreateServices(); + Requests[1997].Request.Method = "PATCH"; + Requests[1997].Request.Path = "/subscriptions/0dbf31d4-fad7-/resourceGroups/e9c182a3-dcaf-424/providers/Microsoft.Relay/namespaces/2ff06923-ae21"; + Requests[1998] = new DefaultHttpContext(); + Requests[1998].RequestServices = CreateServices(); + Requests[1998].Request.Method = "GET"; + Requests[1998].Request.Path = "/subscriptions/6511f3a8-266f-/resourcegroups/a0141aac-07a4-49b/providers/Microsoft.Resources/deployments/af6fc6f2-77a4-"; + Requests[1999] = new DefaultHttpContext(); + Requests[1999].RequestServices = CreateServices(); + Requests[1999].Request.Method = "DELETE"; + Requests[1999].Request.Path = "/subscriptions/1497feab-0582-/resourcegroups/e7a89360-8e35-422/providers/Microsoft.Resources/deployments/a2a9b8bf-401e-"; + Requests[2000] = new DefaultHttpContext(); + Requests[2000].RequestServices = CreateServices(); + Requests[2000].Request.Method = "HEAD"; + Requests[2000].Request.Path = "/subscriptions/5f01bfda-796a-/resourcegroups/4b7a1646-0756-411/providers/Microsoft.Resources/deployments/4d81ba21-a9d7-"; + Requests[2001] = new DefaultHttpContext(); + Requests[2001].RequestServices = CreateServices(); + Requests[2001].Request.Method = "PUT"; + Requests[2001].Request.Path = "/subscriptions/5f7065b1-3aab-/resourcegroups/c92c1726-255f-442/providers/Microsoft.Resources/deployments/67bfd9e9-b771-"; + Requests[2002] = new DefaultHttpContext(); + Requests[2002].RequestServices = CreateServices(); + Requests[2002].Request.Method = "PATCH"; + Requests[2002].Request.Path = "/subscriptions/4ab61edd-cd1f-/resourceGroups/9abba5c9-835f-463/providers/Microsoft.Scheduler/jobCollections/ffc888da-4b76-47e"; + Requests[2003] = new DefaultHttpContext(); + Requests[2003].RequestServices = CreateServices(); + Requests[2003].Request.Method = "PUT"; + Requests[2003].Request.Path = "/subscriptions/1fd2cfd3-c0d4-/resourceGroups/af101566-a591-43a/providers/Microsoft.Scheduler/jobCollections/fb0c0454-e049-472"; + Requests[2004] = new DefaultHttpContext(); + Requests[2004].RequestServices = CreateServices(); + Requests[2004].Request.Method = "DELETE"; + Requests[2004].Request.Path = "/subscriptions/8de0a675-04f5-/resourceGroups/212d6c96-2576-4a7/providers/Microsoft.Scheduler/jobCollections/53ce2ebd-55bc-406"; + Requests[2005] = new DefaultHttpContext(); + Requests[2005].RequestServices = CreateServices(); + Requests[2005].Request.Method = "GET"; + Requests[2005].Request.Path = "/subscriptions/ed39843b-3e26-/resourceGroups/b522093e-6017-438/providers/Microsoft.Scheduler/jobCollections/3d9d82c9-5fc2-478"; + Requests[2006] = new DefaultHttpContext(); + Requests[2006].RequestServices = CreateServices(); + Requests[2006].Request.Method = "DELETE"; + Requests[2006].Request.Path = "/subscriptions/b44bbcf9-ba2a-/resourceGroups/d307694f-c2ed-4ab/providers/Microsoft.Search/searchServices/13868f75-e25a-47f"; + Requests[2007] = new DefaultHttpContext(); + Requests[2007].RequestServices = CreateServices(); + Requests[2007].Request.Method = "PATCH"; + Requests[2007].Request.Path = "/subscriptions/b3560027-06ba-/resourceGroups/958ebcbb-f66d-447/providers/Microsoft.Search/searchServices/d1a6dcd2-196a-43d"; + Requests[2008] = new DefaultHttpContext(); + Requests[2008].RequestServices = CreateServices(); + Requests[2008].Request.Method = "PUT"; + Requests[2008].Request.Path = "/subscriptions/4ffe6292-e13e-/resourceGroups/9c8df437-2d3f-40b/providers/Microsoft.Search/searchServices/6fa17de0-1bdf-4d9"; + Requests[2009] = new DefaultHttpContext(); + Requests[2009].RequestServices = CreateServices(); + Requests[2009].Request.Method = "GET"; + Requests[2009].Request.Path = "/subscriptions/2b00a308-e8e0-/resourceGroups/31bc06c9-7bcb-443/providers/Microsoft.Search/searchServices/da00c837-8f37-443"; + Requests[2010] = new DefaultHttpContext(); + Requests[2010].RequestServices = CreateServices(); + Requests[2010].Request.Method = "PUT"; + Requests[2010].Request.Path = "/subscriptions/242a4f3e-24f3-/resourceGroups/7d5b1265-0af9-418/providers/Microsoft.Security/pricings/6fc86d3f-a3"; + Requests[2011] = new DefaultHttpContext(); + Requests[2011].RequestServices = CreateServices(); + Requests[2011].Request.Method = "GET"; + Requests[2011].Request.Path = "/subscriptions/79019eac-7496-/resourceGroups/8e1e0c40-cab4-493/providers/Microsoft.Security/pricings/6a19ee8b-63"; + Requests[2012] = new DefaultHttpContext(); + Requests[2012].RequestServices = CreateServices(); + Requests[2012].Request.Method = "PUT"; + Requests[2012].Request.Path = "/subscriptions/c437150a-1f85-/resourceGroups/a413a5c5-a8c7-46a/providers/Microsoft.Security/securityContacts/37da8ff8-14cd-4cc2-"; + Requests[2013] = new DefaultHttpContext(); + Requests[2013].RequestServices = CreateServices(); + Requests[2013].Request.Method = "GET"; + Requests[2013].Request.Path = "/subscriptions/863afbda-f6a7-/resourceGroups/3c65c1ea-2e28-4b0/providers/Microsoft.Security/securityContacts/0569ec5b-9223-4a61-"; + Requests[2014] = new DefaultHttpContext(); + Requests[2014].RequestServices = CreateServices(); + Requests[2014].Request.Method = "PATCH"; + Requests[2014].Request.Path = "/subscriptions/c23db0e6-dfa2-/resourceGroups/b761a9e8-6f57-4ac/providers/Microsoft.Security/securityContacts/bf49f0b2-9614-421b-"; + Requests[2015] = new DefaultHttpContext(); + Requests[2015].RequestServices = CreateServices(); + Requests[2015].Request.Method = "DELETE"; + Requests[2015].Request.Path = "/subscriptions/cc80f623-578c-/resourceGroups/c948e54c-46d3-4fa/providers/Microsoft.Security/securityContacts/b5d2064e-239e-4af0-"; + Requests[2016] = new DefaultHttpContext(); + Requests[2016].RequestServices = CreateServices(); + Requests[2016].Request.Method = "GET"; + Requests[2016].Request.Path = "/subscriptions/9a40fd2a-0712-/resourceGroups/995099da-8ae6-4db/providers/Microsoft.Security/workspaceSettings/a2b70179-a09d-4971-b"; + Requests[2017] = new DefaultHttpContext(); + Requests[2017].RequestServices = CreateServices(); + Requests[2017].Request.Method = "PUT"; + Requests[2017].Request.Path = "/subscriptions/39b45107-95eb-/resourceGroups/67cad791-b953-46b/providers/Microsoft.Security/workspaceSettings/60cf117d-e7f4-4c62-a"; + Requests[2018] = new DefaultHttpContext(); + Requests[2018].RequestServices = CreateServices(); + Requests[2018].Request.Method = "DELETE"; + Requests[2018].Request.Path = "/subscriptions/d9c479c1-c6b0-/resourceGroups/94c9c7f5-8401-4af/providers/Microsoft.Security/workspaceSettings/6b3508c4-cdd1-4878-8"; + Requests[2019] = new DefaultHttpContext(); + Requests[2019].RequestServices = CreateServices(); + Requests[2019].Request.Method = "PATCH"; + Requests[2019].Request.Path = "/subscriptions/c18da117-d154-/resourceGroups/f30142a3-325c-4bb/providers/Microsoft.Security/workspaceSettings/b057a8da-e2ef-41f6-b"; + Requests[2020] = new DefaultHttpContext(); + Requests[2020].RequestServices = CreateServices(); + Requests[2020].Request.Method = "PUT"; + Requests[2020].Request.Path = "/subscriptions/4b2f09ea-345c-/resourceGroups/76349785-11ea-490/providers/Microsoft.ServerManagement/gateways/a00b7c6a-b4"; + Requests[2021] = new DefaultHttpContext(); + Requests[2021].RequestServices = CreateServices(); + Requests[2021].Request.Method = "DELETE"; + Requests[2021].Request.Path = "/subscriptions/879885c4-4ea7-/resourceGroups/dfad94e7-b309-4e8/providers/Microsoft.ServerManagement/gateways/ee22ea2a-3e"; + Requests[2022] = new DefaultHttpContext(); + Requests[2022].RequestServices = CreateServices(); + Requests[2022].Request.Method = "PATCH"; + Requests[2022].Request.Path = "/subscriptions/38e0c221-d3a7-/resourceGroups/81f61ced-6885-424/providers/Microsoft.ServerManagement/gateways/79485f12-78"; + Requests[2023] = new DefaultHttpContext(); + Requests[2023].RequestServices = CreateServices(); + Requests[2023].Request.Method = "GET"; + Requests[2023].Request.Path = "/subscriptions/25e3d007-5220-/resourceGroups/c2d4b3c5-c558-49a/providers/Microsoft.ServerManagement/gateways/007a4707-f7"; + Requests[2024] = new DefaultHttpContext(); + Requests[2024].RequestServices = CreateServices(); + Requests[2024].Request.Method = "DELETE"; + Requests[2024].Request.Path = "/subscriptions/ffff3277-b938-/resourceGroups/06bf28b2-5e5e-4b1/providers/Microsoft.ServerManagement/nodes/f8056437"; + Requests[2025] = new DefaultHttpContext(); + Requests[2025].RequestServices = CreateServices(); + Requests[2025].Request.Method = "GET"; + Requests[2025].Request.Path = "/subscriptions/0697e2f6-5852-/resourceGroups/5fa5104a-3262-4f7/providers/Microsoft.ServerManagement/nodes/3169ee75"; + Requests[2026] = new DefaultHttpContext(); + Requests[2026].RequestServices = CreateServices(); + Requests[2026].Request.Method = "PATCH"; + Requests[2026].Request.Path = "/subscriptions/4ffe06df-2276-/resourceGroups/127a4974-9c90-4b0/providers/Microsoft.ServerManagement/nodes/2cac9df8"; + Requests[2027] = new DefaultHttpContext(); + Requests[2027].RequestServices = CreateServices(); + Requests[2027].Request.Method = "PUT"; + Requests[2027].Request.Path = "/subscriptions/3bad3658-e666-/resourceGroups/ddb1b744-4f85-43a/providers/Microsoft.ServerManagement/nodes/963869ad"; + Requests[2028] = new DefaultHttpContext(); + Requests[2028].RequestServices = CreateServices(); + Requests[2028].Request.Method = "GET"; + Requests[2028].Request.Path = "/subscriptions/b0dec3dc-61af-/resourceGroups/c5a73f9e-3293-4d2/providers/Microsoft.ServiceBus/namespaces/42655d0d-ffd5"; + Requests[2029] = new DefaultHttpContext(); + Requests[2029].RequestServices = CreateServices(); + Requests[2029].Request.Method = "PUT"; + Requests[2029].Request.Path = "/subscriptions/67dbc166-992c-/resourceGroups/d5f7b27b-4163-437/providers/Microsoft.ServiceBus/namespaces/9391ab43-d784"; + Requests[2030] = new DefaultHttpContext(); + Requests[2030].RequestServices = CreateServices(); + Requests[2030].Request.Method = "PATCH"; + Requests[2030].Request.Path = "/subscriptions/cba25675-10a0-/resourceGroups/3ca280d6-17b4-4c9/providers/Microsoft.ServiceBus/namespaces/65fc24cb-614b"; + Requests[2031] = new DefaultHttpContext(); + Requests[2031].RequestServices = CreateServices(); + Requests[2031].Request.Method = "DELETE"; + Requests[2031].Request.Path = "/subscriptions/6e5d2bcd-a04b-/resourceGroups/dabbc2bc-c68c-4ba/providers/Microsoft.ServiceBus/namespaces/ea1bca61-d10e"; + Requests[2032] = new DefaultHttpContext(); + Requests[2032].RequestServices = CreateServices(); + Requests[2032].Request.Method = "GET"; + Requests[2032].Request.Path = "/subscriptions/d06c24b7-42c3-/resourceGroups/6fb6cfc2-a6de-4c3/providers/Microsoft.ServiceFabric/clusters/bba6c2d9-10"; + Requests[2033] = new DefaultHttpContext(); + Requests[2033].RequestServices = CreateServices(); + Requests[2033].Request.Method = "DELETE"; + Requests[2033].Request.Path = "/subscriptions/cf937a52-5c5a-/resourceGroups/0cb906b4-3557-4be/providers/Microsoft.ServiceFabric/clusters/dadf8bbb-7c"; + Requests[2034] = new DefaultHttpContext(); + Requests[2034].RequestServices = CreateServices(); + Requests[2034].Request.Method = "PUT"; + Requests[2034].Request.Path = "/subscriptions/1730cffe-3a11-/resourceGroups/f37aa272-2a84-4b9/providers/Microsoft.ServiceFabric/clusters/f2d31038-01"; + Requests[2035] = new DefaultHttpContext(); + Requests[2035].RequestServices = CreateServices(); + Requests[2035].Request.Method = "PATCH"; + Requests[2035].Request.Path = "/subscriptions/44922943-a8be-/resourceGroups/38aa2791-ccde-42e/providers/Microsoft.ServiceFabric/clusters/43770a60-5e"; + Requests[2036] = new DefaultHttpContext(); + Requests[2036].RequestServices = CreateServices(); + Requests[2036].Request.Method = "GET"; + Requests[2036].Request.Path = "/subscriptions/1364b1e5-6f8d-/resourceGroups/834551d8-2484-47a/providers/Microsoft.SignalRService/SignalR/c5669837-100"; + Requests[2037] = new DefaultHttpContext(); + Requests[2037].RequestServices = CreateServices(); + Requests[2037].Request.Method = "DELETE"; + Requests[2037].Request.Path = "/subscriptions/d9016470-9636-/resourceGroups/3302f7bc-b81c-428/providers/Microsoft.SignalRService/SignalR/2dd1daf6-423"; + Requests[2038] = new DefaultHttpContext(); + Requests[2038].RequestServices = CreateServices(); + Requests[2038].Request.Method = "PATCH"; + Requests[2038].Request.Path = "/subscriptions/0b86a429-6a9d-/resourceGroups/9c491a06-0c64-485/providers/Microsoft.SignalRService/SignalR/46e1a575-f03"; + Requests[2039] = new DefaultHttpContext(); + Requests[2039].RequestServices = CreateServices(); + Requests[2039].Request.Method = "PUT"; + Requests[2039].Request.Path = "/subscriptions/41b3f639-efac-/resourceGroups/c5cd53d3-03bd-4da/providers/Microsoft.SignalRService/SignalR/e9087412-d29"; + Requests[2040] = new DefaultHttpContext(); + Requests[2040].RequestServices = CreateServices(); + Requests[2040].Request.Method = "DELETE"; + Requests[2040].Request.Path = "/subscriptions/4c45aecc-33d1-/resourceGroups/33b1a8d4-57e8-4c4/providers/Microsoft.Solutions/applianceDefinitions/b4c795d6-7e33-431d-b7f6"; + Requests[2041] = new DefaultHttpContext(); + Requests[2041].RequestServices = CreateServices(); + Requests[2041].Request.Method = "GET"; + Requests[2041].Request.Path = "/subscriptions/4b121f1f-ca72-/resourceGroups/2dc01bc7-e21c-4a1/providers/Microsoft.Solutions/applianceDefinitions/3a001df0-0568-4a90-9a54"; + Requests[2042] = new DefaultHttpContext(); + Requests[2042].RequestServices = CreateServices(); + Requests[2042].Request.Method = "PUT"; + Requests[2042].Request.Path = "/subscriptions/83058176-11ab-/resourceGroups/da33279a-468b-4f2/providers/Microsoft.Solutions/applianceDefinitions/7761610c-246d-45e2-bb45"; + Requests[2043] = new DefaultHttpContext(); + Requests[2043].RequestServices = CreateServices(); + Requests[2043].Request.Method = "GET"; + Requests[2043].Request.Path = "/subscriptions/0e14e1d6-957c-/resourceGroups/eefad31c-c015-4d1/providers/Microsoft.Solutions/appliances/dbd007ee-97fe"; + Requests[2044] = new DefaultHttpContext(); + Requests[2044].RequestServices = CreateServices(); + Requests[2044].Request.Method = "DELETE"; + Requests[2044].Request.Path = "/subscriptions/fca003da-e79e-/resourceGroups/2335edca-243d-4e1/providers/Microsoft.Solutions/appliances/09c4609e-a939"; + Requests[2045] = new DefaultHttpContext(); + Requests[2045].RequestServices = CreateServices(); + Requests[2045].Request.Method = "PUT"; + Requests[2045].Request.Path = "/subscriptions/e2af7d07-d2d0-/resourceGroups/75e61821-4203-42a/providers/Microsoft.Solutions/appliances/89a08c2b-2ecd"; + Requests[2046] = new DefaultHttpContext(); + Requests[2046].RequestServices = CreateServices(); + Requests[2046].Request.Method = "PATCH"; + Requests[2046].Request.Path = "/subscriptions/96a83b21-290a-/resourceGroups/05967149-0cae-43d/providers/Microsoft.Solutions/appliances/fab35892-683b"; + Requests[2047] = new DefaultHttpContext(); + Requests[2047].RequestServices = CreateServices(); + Requests[2047].Request.Method = "GET"; + Requests[2047].Request.Path = "/subscriptions/ad1e5496-046a-/resourceGroups/be1587c4-aded-4ed/providers/Microsoft.Solutions/applicationDefinitions/f720f2f0-9207-42bb-980d-0"; + Requests[2048] = new DefaultHttpContext(); + Requests[2048].RequestServices = CreateServices(); + Requests[2048].Request.Method = "PUT"; + Requests[2048].Request.Path = "/subscriptions/31f91337-25a2-/resourceGroups/21246306-e66d-47e/providers/Microsoft.Solutions/applicationDefinitions/020c466d-2382-4557-93c2-4"; + Requests[2049] = new DefaultHttpContext(); + Requests[2049].RequestServices = CreateServices(); + Requests[2049].Request.Method = "DELETE"; + Requests[2049].Request.Path = "/subscriptions/54c77dfa-f835-/resourceGroups/b9352952-bd42-49e/providers/Microsoft.Solutions/applicationDefinitions/6c7d2a06-8c98-4c7b-bfa2-0"; + Requests[2050] = new DefaultHttpContext(); + Requests[2050].RequestServices = CreateServices(); + Requests[2050].Request.Method = "PUT"; + Requests[2050].Request.Path = "/subscriptions/05bd42ce-2c33-/resourceGroups/27a1399a-d735-4ed/providers/Microsoft.Solutions/applications/a156d465-ae0a-4"; + Requests[2051] = new DefaultHttpContext(); + Requests[2051].RequestServices = CreateServices(); + Requests[2051].Request.Method = "GET"; + Requests[2051].Request.Path = "/subscriptions/1614ba8a-40d3-/resourceGroups/79ef1486-9b2d-479/providers/Microsoft.Solutions/applications/83159f61-306f-4"; + Requests[2052] = new DefaultHttpContext(); + Requests[2052].RequestServices = CreateServices(); + Requests[2052].Request.Method = "PATCH"; + Requests[2052].Request.Path = "/subscriptions/79c2c79a-c0dd-/resourceGroups/11ebd1b6-f9d8-46f/providers/Microsoft.Solutions/applications/9ca84424-1271-4"; + Requests[2053] = new DefaultHttpContext(); + Requests[2053].RequestServices = CreateServices(); + Requests[2053].Request.Method = "DELETE"; + Requests[2053].Request.Path = "/subscriptions/a722d493-f2c5-/resourceGroups/2cd9bb3b-829c-4de/providers/Microsoft.Solutions/applications/731cb629-26e4-4"; + Requests[2054] = new DefaultHttpContext(); + Requests[2054].RequestServices = CreateServices(); + Requests[2054].Request.Method = "GET"; + Requests[2054].Request.Path = "/subscriptions/7a8af202-5bca-/resourceGroups/32025c0d-0ee7-49c/providers/Microsoft.Sql/managedInstances/a565453f-04f4-4b11-"; + Requests[2055] = new DefaultHttpContext(); + Requests[2055].RequestServices = CreateServices(); + Requests[2055].Request.Method = "PUT"; + Requests[2055].Request.Path = "/subscriptions/156ac608-7ea6-/resourceGroups/414ac0aa-b5f2-4dc/providers/Microsoft.Sql/managedInstances/9c29c600-bd2a-47e8-"; + Requests[2056] = new DefaultHttpContext(); + Requests[2056].RequestServices = CreateServices(); + Requests[2056].Request.Method = "DELETE"; + Requests[2056].Request.Path = "/subscriptions/a302adfc-30c5-/resourceGroups/aad4fdcf-196e-4f0/providers/Microsoft.Sql/managedInstances/a340cd74-9dbc-46f3-"; + Requests[2057] = new DefaultHttpContext(); + Requests[2057].RequestServices = CreateServices(); + Requests[2057].Request.Method = "PATCH"; + Requests[2057].Request.Path = "/subscriptions/37b784bd-3655-/resourceGroups/34c1c90a-aee6-4c4/providers/Microsoft.Sql/managedInstances/48ae47b8-1baa-40f4-"; + Requests[2058] = new DefaultHttpContext(); + Requests[2058].RequestServices = CreateServices(); + Requests[2058].Request.Method = "PUT"; + Requests[2058].Request.Path = "/subscriptions/a8d96c88-8bcd-/resourceGroups/3ce7f5ee-7d3b-4d8/providers/Microsoft.Sql/servers/e10f4f93-2"; + Requests[2059] = new DefaultHttpContext(); + Requests[2059].RequestServices = CreateServices(); + Requests[2059].Request.Method = "PATCH"; + Requests[2059].Request.Path = "/subscriptions/a63c0dcc-5a6a-/resourceGroups/84633148-388b-499/providers/Microsoft.Sql/servers/6e81e60f-e"; + Requests[2060] = new DefaultHttpContext(); + Requests[2060].RequestServices = CreateServices(); + Requests[2060].Request.Method = "DELETE"; + Requests[2060].Request.Path = "/subscriptions/67bda5b4-2f87-/resourceGroups/43b5fd40-8a57-4ba/providers/Microsoft.Sql/servers/80ce7297-4"; + Requests[2061] = new DefaultHttpContext(); + Requests[2061].RequestServices = CreateServices(); + Requests[2061].Request.Method = "GET"; + Requests[2061].Request.Path = "/subscriptions/f563a202-65d5-/resourceGroups/62406687-a1c8-48f/providers/Microsoft.Sql/servers/163bf16a-8"; + Requests[2062] = new DefaultHttpContext(); + Requests[2062].RequestServices = CreateServices(); + Requests[2062].Request.Method = "PUT"; + Requests[2062].Request.Path = "/subscriptions/b7dd3f11-21ef-/resourcegroups/e679a48d-b428-403/providers/Microsoft.Storage.Admin/farms/63e860"; + Requests[2063] = new DefaultHttpContext(); + Requests[2063].RequestServices = CreateServices(); + Requests[2063].Request.Method = "GET"; + Requests[2063].Request.Path = "/subscriptions/494eacd0-2418-/resourcegroups/63784d16-100c-437/providers/Microsoft.Storage.Admin/farms/34f8fb"; + Requests[2064] = new DefaultHttpContext(); + Requests[2064].RequestServices = CreateServices(); + Requests[2064].Request.Method = "PATCH"; + Requests[2064].Request.Path = "/subscriptions/32af1e23-84a0-/resourcegroups/9ee2f5a9-6a04-49c/providers/Microsoft.Storage.Admin/farms/c4230e"; + Requests[2065] = new DefaultHttpContext(); + Requests[2065].RequestServices = CreateServices(); + Requests[2065].Request.Method = "PUT"; + Requests[2065].Request.Path = "/subscriptions/ebabc381-bb7d-/resourceGroups/946b9e72-3409-488/providers/Microsoft.Storage/storageAccounts/13d7cbad-e2"; + Requests[2066] = new DefaultHttpContext(); + Requests[2066].RequestServices = CreateServices(); + Requests[2066].Request.Method = "DELETE"; + Requests[2066].Request.Path = "/subscriptions/18dd0552-be1d-/resourceGroups/a9e757db-4c11-4c5/providers/Microsoft.Storage/storageAccounts/7b10549b-f4"; + Requests[2067] = new DefaultHttpContext(); + Requests[2067].RequestServices = CreateServices(); + Requests[2067].Request.Method = "GET"; + Requests[2067].Request.Path = "/subscriptions/baaeea4b-9d24-/resourceGroups/49f86f22-981a-47c/providers/Microsoft.Storage/storageAccounts/2725ae38-0b"; + Requests[2068] = new DefaultHttpContext(); + Requests[2068].RequestServices = CreateServices(); + Requests[2068].Request.Method = "PATCH"; + Requests[2068].Request.Path = "/subscriptions/df0cdddf-5388-/resourceGroups/7f04988d-abb9-44b/providers/Microsoft.Storage/storageAccounts/18ec846d-03"; + Requests[2069] = new DefaultHttpContext(); + Requests[2069].RequestServices = CreateServices(); + Requests[2069].Request.Method = "GET"; + Requests[2069].Request.Path = "/subscriptions/ae3eca24-4634-/resourceGroups/c5b084cf-f097-479/providers/Microsoft.StorSimple/managers/86f47ea3-a8"; + Requests[2070] = new DefaultHttpContext(); + Requests[2070].RequestServices = CreateServices(); + Requests[2070].Request.Method = "PUT"; + Requests[2070].Request.Path = "/subscriptions/7d4230cc-83ac-/resourceGroups/3748cff0-c6cd-4a1/providers/Microsoft.StorSimple/managers/822c6131-70"; + Requests[2071] = new DefaultHttpContext(); + Requests[2071].RequestServices = CreateServices(); + Requests[2071].Request.Method = "DELETE"; + Requests[2071].Request.Path = "/subscriptions/0f9e4375-8f2d-/resourceGroups/2f7f2bfb-2c03-4db/providers/Microsoft.StorSimple/managers/07b017d8-fe"; + Requests[2072] = new DefaultHttpContext(); + Requests[2072].RequestServices = CreateServices(); + Requests[2072].Request.Method = "PATCH"; + Requests[2072].Request.Path = "/subscriptions/0a70a95a-7f22-/resourceGroups/c8317499-3e95-437/providers/Microsoft.StorSimple/managers/e6191ed7-4a"; + Requests[2073] = new DefaultHttpContext(); + Requests[2073].RequestServices = CreateServices(); + Requests[2073].Request.Method = "PUT"; + Requests[2073].Request.Path = "/subscriptions/538a3106-660b-/resourcegroups/25cd3385-ef20-41b/providers/Microsoft.StreamAnalytics/streamingjobs/96518d4"; + Requests[2074] = new DefaultHttpContext(); + Requests[2074].RequestServices = CreateServices(); + Requests[2074].Request.Method = "PATCH"; + Requests[2074].Request.Path = "/subscriptions/34956032-44cb-/resourcegroups/470c32b1-e43c-4ba/providers/Microsoft.StreamAnalytics/streamingjobs/8ef7f19"; + Requests[2075] = new DefaultHttpContext(); + Requests[2075].RequestServices = CreateServices(); + Requests[2075].Request.Method = "GET"; + Requests[2075].Request.Path = "/subscriptions/6eaff587-960c-/resourcegroups/be8622f9-d625-471/providers/Microsoft.StreamAnalytics/streamingjobs/7b5624c"; + Requests[2076] = new DefaultHttpContext(); + Requests[2076].RequestServices = CreateServices(); + Requests[2076].Request.Method = "DELETE"; + Requests[2076].Request.Path = "/subscriptions/ddb5cffe-a391-/resourcegroups/c2174ef8-cd8b-442/providers/Microsoft.StreamAnalytics/streamingjobs/0549041"; + Requests[2077] = new DefaultHttpContext(); + Requests[2077].RequestServices = CreateServices(); + Requests[2077].Request.Method = "GET"; + Requests[2077].Request.Path = "/subscriptions/c95d57b4-090c-/resourcegroups/c004a371-4a34-41e/providers/Microsoft.Subscriptions.Admin/directoryTenants/e4b2dd"; + Requests[2078] = new DefaultHttpContext(); + Requests[2078].RequestServices = CreateServices(); + Requests[2078].Request.Method = "PUT"; + Requests[2078].Request.Path = "/subscriptions/3280388a-453a-/resourcegroups/a6c32482-9d95-464/providers/Microsoft.Subscriptions.Admin/directoryTenants/d8b3c4"; + Requests[2079] = new DefaultHttpContext(); + Requests[2079].RequestServices = CreateServices(); + Requests[2079].Request.Method = "DELETE"; + Requests[2079].Request.Path = "/subscriptions/ed82d120-3aed-/resourcegroups/85062cfe-e4fb-410/providers/Microsoft.Subscriptions.Admin/directoryTenants/17313c"; + Requests[2080] = new DefaultHttpContext(); + Requests[2080].RequestServices = CreateServices(); + Requests[2080].Request.Method = "GET"; + Requests[2080].Request.Path = "/subscriptions/3a505cc5-e48f-/resourcegroups/3d64ca76-9a36-466/providers/Microsoft.Subscriptions.Admin/offers/40b66"; + Requests[2081] = new DefaultHttpContext(); + Requests[2081].RequestServices = CreateServices(); + Requests[2081].Request.Method = "PUT"; + Requests[2081].Request.Path = "/subscriptions/74281e28-f82e-/resourcegroups/2061a3bc-e2f9-42b/providers/Microsoft.Subscriptions.Admin/offers/f21ba"; + Requests[2082] = new DefaultHttpContext(); + Requests[2082].RequestServices = CreateServices(); + Requests[2082].Request.Method = "DELETE"; + Requests[2082].Request.Path = "/subscriptions/a890a721-fb35-/resourcegroups/6848f337-21db-4f5/providers/Microsoft.Subscriptions.Admin/offers/de9f7"; + Requests[2083] = new DefaultHttpContext(); + Requests[2083].RequestServices = CreateServices(); + Requests[2083].Request.Method = "DELETE"; + Requests[2083].Request.Path = "/subscriptions/5f33a9cd-e7c6-/resourcegroups/26e29525-aac1-4ae/providers/Microsoft.Subscriptions.Admin/plans/26125"; + Requests[2084] = new DefaultHttpContext(); + Requests[2084].RequestServices = CreateServices(); + Requests[2084].Request.Method = "PUT"; + Requests[2084].Request.Path = "/subscriptions/79a27865-b6fa-/resourcegroups/0d19d87c-0016-4d7/providers/Microsoft.Subscriptions.Admin/plans/a8add"; + Requests[2085] = new DefaultHttpContext(); + Requests[2085].RequestServices = CreateServices(); + Requests[2085].Request.Method = "GET"; + Requests[2085].Request.Path = "/subscriptions/ef369630-e308-/resourcegroups/12cdcdf1-65af-4d1/providers/Microsoft.Subscriptions.Admin/plans/04e85"; + Requests[2086] = new DefaultHttpContext(); + Requests[2086].RequestServices = CreateServices(); + Requests[2086].Request.Method = "PUT"; + Requests[2086].Request.Path = "/subscriptions/452a6792-dabe-/resourceGroups/f265bb8e-73c1-41b/providers/Microsoft.TimeSeriesInsights/environments/7db98a1a-d0ac-4"; + Requests[2087] = new DefaultHttpContext(); + Requests[2087].RequestServices = CreateServices(); + Requests[2087].Request.Method = "GET"; + Requests[2087].Request.Path = "/subscriptions/1ec13664-07ec-/resourceGroups/610e69a6-6c5f-477/providers/Microsoft.TimeSeriesInsights/environments/06caecf4-ecc2-4"; + Requests[2088] = new DefaultHttpContext(); + Requests[2088].RequestServices = CreateServices(); + Requests[2088].Request.Method = "PATCH"; + Requests[2088].Request.Path = "/subscriptions/394044d3-4901-/resourceGroups/630c0ffb-4b8d-436/providers/Microsoft.TimeSeriesInsights/environments/0b687740-f687-4"; + Requests[2089] = new DefaultHttpContext(); + Requests[2089].RequestServices = CreateServices(); + Requests[2089].Request.Method = "DELETE"; + Requests[2089].Request.Path = "/subscriptions/f14edb5d-138e-/resourceGroups/df89dfd1-b545-448/providers/Microsoft.TimeSeriesInsights/environments/9959f1df-8c8d-4"; + Requests[2090] = new DefaultHttpContext(); + Requests[2090].RequestServices = CreateServices(); + Requests[2090].Request.Method = "GET"; + Requests[2090].Request.Path = "/subscriptions/7a2cafe7-db80-/resourcegroups/f48aa181-db38-421/providers/Microsoft.Update.Admin/updateLocations/63241c8f-82e8-"; + Requests[2091] = new DefaultHttpContext(); + Requests[2091].RequestServices = CreateServices(); + Requests[2091].Request.Method = "PUT"; + Requests[2091].Request.Path = "/subscriptions/f2ecc803-0695-/resourcegroups/5dd7bfe7-f6ca-47e/providers/microsoft.visualstudio/account/24ceab5d-a94"; + Requests[2092] = new DefaultHttpContext(); + Requests[2092].RequestServices = CreateServices(); + Requests[2092].Request.Method = "DELETE"; + Requests[2092].Request.Path = "/subscriptions/acda2408-3669-/resourcegroups/5c424abd-b0bf-4a9/providers/microsoft.visualstudio/account/d3db6f90-fc5"; + Requests[2093] = new DefaultHttpContext(); + Requests[2093].RequestServices = CreateServices(); + Requests[2093].Request.Method = "GET"; + Requests[2093].Request.Path = "/subscriptions/36111485-bc7a-/resourcegroups/3d70ce0a-0f18-4d0/providers/microsoft.visualstudio/account/4c84e41a-319"; + Requests[2094] = new DefaultHttpContext(); + Requests[2094].RequestServices = CreateServices(); + Requests[2094].Request.Method = "DELETE"; + Requests[2094].Request.Path = "/subscriptions/282c27f4-2dbd-/resourceGroups/de60ab31-5f27-483/providers/Microsoft.Web/certificates/39c0d"; + Requests[2095] = new DefaultHttpContext(); + Requests[2095].RequestServices = CreateServices(); + Requests[2095].Request.Method = "PUT"; + Requests[2095].Request.Path = "/subscriptions/70946b2d-cf82-/resourceGroups/34e7fdfd-ba3b-4be/providers/Microsoft.Web/certificates/ee5d7"; + Requests[2096] = new DefaultHttpContext(); + Requests[2096].RequestServices = CreateServices(); + Requests[2096].Request.Method = "GET"; + Requests[2096].Request.Path = "/subscriptions/4a34323a-163e-/resourceGroups/4754f8e6-6ed1-47f/providers/Microsoft.Web/certificates/0d490"; + Requests[2097] = new DefaultHttpContext(); + Requests[2097].RequestServices = CreateServices(); + Requests[2097].Request.Method = "PATCH"; + Requests[2097].Request.Path = "/subscriptions/4a12a56f-d664-/resourceGroups/f11985de-bd6b-4d4/providers/Microsoft.Web/certificates/ce5b4"; + Requests[2098] = new DefaultHttpContext(); + Requests[2098].RequestServices = CreateServices(); + Requests[2098].Request.Method = "DELETE"; + Requests[2098].Request.Path = "/subscriptions/cfefd79e-3c65-/resourceGroups/3e3077b3-0eaf-413/providers/Microsoft.Web/classicMobileServices/2513e"; + Requests[2099] = new DefaultHttpContext(); + Requests[2099].RequestServices = CreateServices(); + Requests[2099].Request.Method = "GET"; + Requests[2099].Request.Path = "/subscriptions/20e1b9cb-bf32-/resourceGroups/388786fe-96fd-488/providers/Microsoft.Web/classicMobileServices/81015"; + Requests[2100] = new DefaultHttpContext(); + Requests[2100].RequestServices = CreateServices(); + Requests[2100].Request.Method = "GET"; + Requests[2100].Request.Path = "/subscriptions/61c889c3-0388-/resourceGroups/eb0f32b9-d89c-423/providers/Microsoft.Web/connectionGateways/6e40bd3f-02bb-4420-93"; + Requests[2101] = new DefaultHttpContext(); + Requests[2101].RequestServices = CreateServices(); + Requests[2101].Request.Method = "PATCH"; + Requests[2101].Request.Path = "/subscriptions/9880b942-7c49-/resourceGroups/956bcd5f-3983-45f/providers/Microsoft.Web/connectionGateways/e91a2b73-82f4-4363-a5"; + Requests[2102] = new DefaultHttpContext(); + Requests[2102].RequestServices = CreateServices(); + Requests[2102].Request.Method = "PUT"; + Requests[2102].Request.Path = "/subscriptions/c4e7642b-8521-/resourceGroups/fe4c6a56-de57-436/providers/Microsoft.Web/connectionGateways/0f354ea4-a673-4da1-a5"; + Requests[2103] = new DefaultHttpContext(); + Requests[2103].RequestServices = CreateServices(); + Requests[2103].Request.Method = "DELETE"; + Requests[2103].Request.Path = "/subscriptions/423fd8f4-62cc-/resourceGroups/7b4d5b81-f255-406/providers/Microsoft.Web/connectionGateways/79a41ec5-4f3f-4771-b5"; + Requests[2104] = new DefaultHttpContext(); + Requests[2104].RequestServices = CreateServices(); + Requests[2104].Request.Method = "PUT"; + Requests[2104].Request.Path = "/subscriptions/61d5e19e-c9fb-/resourceGroups/312773e7-d9c6-4b9/providers/Microsoft.Web/connections/aad4751d-15ca-"; + Requests[2105] = new DefaultHttpContext(); + Requests[2105].RequestServices = CreateServices(); + Requests[2105].Request.Method = "GET"; + Requests[2105].Request.Path = "/subscriptions/6ef70cb7-7b6b-/resourceGroups/b56a675e-fa58-469/providers/Microsoft.Web/connections/3aa0b6cf-b508-"; + Requests[2106] = new DefaultHttpContext(); + Requests[2106].RequestServices = CreateServices(); + Requests[2106].Request.Method = "PATCH"; + Requests[2106].Request.Path = "/subscriptions/73184159-1a6c-/resourceGroups/799783b2-e40e-4fd/providers/Microsoft.Web/connections/e5b4151b-6bc3-"; + Requests[2107] = new DefaultHttpContext(); + Requests[2107].RequestServices = CreateServices(); + Requests[2107].Request.Method = "DELETE"; + Requests[2107].Request.Path = "/subscriptions/02d3cf8f-9d51-/resourceGroups/0c8edcbf-efb6-499/providers/Microsoft.Web/connections/f08c1df1-3ea2-"; + Requests[2108] = new DefaultHttpContext(); + Requests[2108].RequestServices = CreateServices(); + Requests[2108].Request.Method = "PATCH"; + Requests[2108].Request.Path = "/subscriptions/df71b071-d9c2-/resourceGroups/9127343c-a8aa-48d/providers/Microsoft.Web/csrs/61962"; + Requests[2109] = new DefaultHttpContext(); + Requests[2109].RequestServices = CreateServices(); + Requests[2109].Request.Method = "PUT"; + Requests[2109].Request.Path = "/subscriptions/32f57d57-15e1-/resourceGroups/ca03c2ec-cbd7-412/providers/Microsoft.Web/csrs/5d3e4"; + Requests[2110] = new DefaultHttpContext(); + Requests[2110].RequestServices = CreateServices(); + Requests[2110].Request.Method = "GET"; + Requests[2110].Request.Path = "/subscriptions/e0f5ff82-2e57-/resourceGroups/f88277a8-b3b8-4d6/providers/Microsoft.Web/csrs/ae7e6"; + Requests[2111] = new DefaultHttpContext(); + Requests[2111].RequestServices = CreateServices(); + Requests[2111].Request.Method = "DELETE"; + Requests[2111].Request.Path = "/subscriptions/e647156b-6fbf-/resourceGroups/283bc9ce-c39b-4cb/providers/Microsoft.Web/csrs/0456b"; + Requests[2112] = new DefaultHttpContext(); + Requests[2112].RequestServices = CreateServices(); + Requests[2112].Request.Method = "PATCH"; + Requests[2112].Request.Path = "/subscriptions/60cfb2f4-154a-/resourceGroups/90078f5f-d38f-454/providers/Microsoft.Web/customApis/b0e0a75"; + Requests[2113] = new DefaultHttpContext(); + Requests[2113].RequestServices = CreateServices(); + Requests[2113].Request.Method = "GET"; + Requests[2113].Request.Path = "/subscriptions/f157f08d-a749-/resourceGroups/12fd2382-debe-46e/providers/Microsoft.Web/customApis/ddf97ff"; + Requests[2114] = new DefaultHttpContext(); + Requests[2114].RequestServices = CreateServices(); + Requests[2114].Request.Method = "PUT"; + Requests[2114].Request.Path = "/subscriptions/9640a146-5d06-/resourceGroups/971542d7-cfff-4df/providers/Microsoft.Web/customApis/557c398"; + Requests[2115] = new DefaultHttpContext(); + Requests[2115].RequestServices = CreateServices(); + Requests[2115].Request.Method = "DELETE"; + Requests[2115].Request.Path = "/subscriptions/a6f1893c-d898-/resourceGroups/316e4191-06f5-42c/providers/Microsoft.Web/customApis/8b10da4"; + Requests[2116] = new DefaultHttpContext(); + Requests[2116].RequestServices = CreateServices(); + Requests[2116].Request.Method = "GET"; + Requests[2116].Request.Path = "/subscriptions/0749e5ae-4729-/resourceGroups/207563ac-a4cc-4c1/providers/Microsoft.Web/hostingEnvironments/a3007"; + Requests[2117] = new DefaultHttpContext(); + Requests[2117].RequestServices = CreateServices(); + Requests[2117].Request.Method = "PATCH"; + Requests[2117].Request.Path = "/subscriptions/588d2720-08f3-/resourceGroups/e7dcea5f-e680-43d/providers/Microsoft.Web/hostingEnvironments/11628"; + Requests[2118] = new DefaultHttpContext(); + Requests[2118].RequestServices = CreateServices(); + Requests[2118].Request.Method = "DELETE"; + Requests[2118].Request.Path = "/subscriptions/9577002a-2f94-/resourceGroups/aba6b12f-18f4-4af/providers/Microsoft.Web/hostingEnvironments/47965"; + Requests[2119] = new DefaultHttpContext(); + Requests[2119].RequestServices = CreateServices(); + Requests[2119].Request.Method = "PUT"; + Requests[2119].Request.Path = "/subscriptions/bf759da2-0835-/resourceGroups/84f04cb7-277d-479/providers/Microsoft.Web/hostingEnvironments/2b1f7"; + Requests[2120] = new DefaultHttpContext(); + Requests[2120].RequestServices = CreateServices(); + Requests[2120].Request.Method = "PUT"; + Requests[2120].Request.Path = "/subscriptions/de5f8919-764e-/resourceGroups/0ea84275-47f9-495/providers/Microsoft.Web/managedHostingEnvironments/82577"; + Requests[2121] = new DefaultHttpContext(); + Requests[2121].RequestServices = CreateServices(); + Requests[2121].Request.Method = "GET"; + Requests[2121].Request.Path = "/subscriptions/85e06114-0642-/resourceGroups/c54d3265-92a7-47d/providers/Microsoft.Web/managedHostingEnvironments/a7920"; + Requests[2122] = new DefaultHttpContext(); + Requests[2122].RequestServices = CreateServices(); + Requests[2122].Request.Method = "DELETE"; + Requests[2122].Request.Path = "/subscriptions/af1e3dde-1b74-/resourceGroups/a89b2e91-1610-42d/providers/Microsoft.Web/managedHostingEnvironments/b0f54"; + Requests[2123] = new DefaultHttpContext(); + Requests[2123].RequestServices = CreateServices(); + Requests[2123].Request.Method = "GET"; + Requests[2123].Request.Path = "/subscriptions/680f97f7-76f0-/resourceGroups/a4986a47-9058-4d0/providers/Microsoft.Web/serverfarms/93d28"; + Requests[2124] = new DefaultHttpContext(); + Requests[2124].RequestServices = CreateServices(); + Requests[2124].Request.Method = "PUT"; + Requests[2124].Request.Path = "/subscriptions/dbe7d5aa-1320-/resourceGroups/26bfeac1-3f93-44f/providers/Microsoft.Web/serverfarms/9f2b7"; + Requests[2125] = new DefaultHttpContext(); + Requests[2125].RequestServices = CreateServices(); + Requests[2125].Request.Method = "DELETE"; + Requests[2125].Request.Path = "/subscriptions/23296a6e-906c-/resourceGroups/e7f9a2ae-9081-41f/providers/Microsoft.Web/serverfarms/1ab13"; + Requests[2126] = new DefaultHttpContext(); + Requests[2126].RequestServices = CreateServices(); + Requests[2126].Request.Method = "PATCH"; + Requests[2126].Request.Path = "/subscriptions/145a18e0-1e70-/resourceGroups/dcc0f15e-c2aa-46b/providers/Microsoft.Web/serverfarms/39b91"; + Requests[2127] = new DefaultHttpContext(); + Requests[2127].RequestServices = CreateServices(); + Requests[2127].Request.Method = "DELETE"; + Requests[2127].Request.Path = "/subscriptions/228778f3-1939-/resourceGroups/c1b991d4-5e98-4ca/providers/Microsoft.Web/sites/de1c2"; + Requests[2128] = new DefaultHttpContext(); + Requests[2128].RequestServices = CreateServices(); + Requests[2128].Request.Method = "GET"; + Requests[2128].Request.Path = "/subscriptions/3c5f1a56-940d-/resourceGroups/8664f154-3f60-495/providers/Microsoft.Web/sites/933d9"; + Requests[2129] = new DefaultHttpContext(); + Requests[2129].RequestServices = CreateServices(); + Requests[2129].Request.Method = "PUT"; + Requests[2129].Request.Path = "/subscriptions/ef063102-6f9e-/resourceGroups/62c27145-37da-4a9/providers/Microsoft.Web/sites/d12ad"; + Requests[2130] = new DefaultHttpContext(); + Requests[2130].RequestServices = CreateServices(); + Requests[2130].Request.Method = "PATCH"; + Requests[2130].Request.Path = "/subscriptions/aa9f1169-5f1f-/resourceGroups/2a7beb7d-b62c-458/providers/Microsoft.Web/sites/cc474"; + Requests[2131] = new DefaultHttpContext(); + Requests[2131].RequestServices = CreateServices(); + Requests[2131].Request.Method = "POST"; + Requests[2131].Request.Path = "/providers/786036e1-90ac-421e-a6f7-4/managementGroups/ebdf33c9-4d81-4255-/providers/Microsoft.PolicyInsights/policyEvents/86fbbc36-78f1-48a7-8/queryResults"; + Requests[2132] = new DefaultHttpContext(); + Requests[2132].RequestServices = CreateServices(); + Requests[2132].Request.Method = "POST"; + Requests[2132].Request.Path = "/providers/50f5e2b6-d36e-4018-b1e6-b/managementGroups/174a0483-44f8-4136-/providers/Microsoft.PolicyInsights/policyStates/e1280a8f-4a43-4ffb-b/queryResults"; + Requests[2133] = new DefaultHttpContext(); + Requests[2133].RequestServices = CreateServices(); + Requests[2133].Request.Method = "POST"; + Requests[2133].Request.Path = "/providers/9c6da069-9de9-407f-9fce-8/managementGroups/aff76148-9110-4af8-/providers/Microsoft.PolicyInsights/policyStates/68e723a7-2d7a-47b2-a4a6-7be/summarize"; + Requests[2134] = new DefaultHttpContext(); + Requests[2134].RequestServices = CreateServices(); + Requests[2134].Request.Method = "GET"; + Requests[2134].Request.Path = "/subscriptions/546eeb6d-d44a-/resourceGroup/d64cfaa0-5211-48d/providers/Microsoft.MachineLearningServices/workspaces/f9b47726-965a/computes"; + Requests[2135] = new DefaultHttpContext(); + Requests[2135].RequestServices = CreateServices(); + Requests[2135].Request.Method = "POST"; + Requests[2135].Request.Path = "/subscriptions/c2f5829b-db49-/resourceGroups/0ebab4a3-/providers/Microsoft.DataMigration/services/69ce9b9d-1f/checkNameAvailability"; + Requests[2136] = new DefaultHttpContext(); + Requests[2136].RequestServices = CreateServices(); + Requests[2136].Request.Method = "POST"; + Requests[2136].Request.Path = "/subscriptions/ee1cfeb5-2ec9-/resourceGroups/1e0bed52-/providers/Microsoft.DataMigration/services/d2bfd51e-6a/checkStatus"; + Requests[2137] = new DefaultHttpContext(); + Requests[2137].RequestServices = CreateServices(); + Requests[2137].Request.Method = "GET"; + Requests[2137].Request.Path = "/subscriptions/3e5bb21c-a68d-/resourceGroups/1a39618d-/providers/Microsoft.DataMigration/services/26153172-57/projects"; + Requests[2138] = new DefaultHttpContext(); + Requests[2138].RequestServices = CreateServices(); + Requests[2138].Request.Method = "GET"; + Requests[2138].Request.Path = "/subscriptions/bfb7845b-2fc8-/resourceGroups/62fc002a-/providers/Microsoft.DataMigration/services/54a61426-5e/skus"; + Requests[2139] = new DefaultHttpContext(); + Requests[2139].RequestServices = CreateServices(); + Requests[2139].Request.Method = "POST"; + Requests[2139].Request.Path = "/subscriptions/f6003a14-088b-/resourceGroups/55434389-/providers/Microsoft.DataMigration/services/da79695f-cf/start"; + Requests[2140] = new DefaultHttpContext(); + Requests[2140].RequestServices = CreateServices(); + Requests[2140].Request.Method = "POST"; + Requests[2140].Request.Path = "/subscriptions/5c7d59bc-78b2-/resourceGroups/2998c8f1-/providers/Microsoft.DataMigration/services/55bb0aad-77/stop"; + Requests[2141] = new DefaultHttpContext(); + Requests[2141].RequestServices = CreateServices(); + Requests[2141].Request.Method = "GET"; + Requests[2141].Request.Path = "/subscriptions/e0be029d-4b8a-/resourcegroups/24e37403-e898/providers/Microsoft.AzureBridge.Admin/activations/89589257-218a-/downloadedProducts"; + Requests[2142] = new DefaultHttpContext(); + Requests[2142].RequestServices = CreateServices(); + Requests[2142].Request.Method = "GET"; + Requests[2142].Request.Path = "/subscriptions/8b506644-cd45-/resourcegroups/985f22a1-4843/providers/Microsoft.AzureBridge.Admin/activations/f9d8a661-79b3-/products"; + Requests[2143] = new DefaultHttpContext(); + Requests[2143].RequestServices = CreateServices(); + Requests[2143].Request.Method = "GET"; + Requests[2143].Request.Path = "/subscriptions/bf91b3d0-8b84-/resourceGroups/a4e66f9b-d990/providers/Microsoft.AzureStack/registrations/c2b1ab1d-66da-42/customerSubscriptions"; + Requests[2144] = new DefaultHttpContext(); + Requests[2144].RequestServices = CreateServices(); + Requests[2144].Request.Method = "POST"; + Requests[2144].Request.Path = "/subscriptions/6755e322-b656-/resourceGroups/4e19fc4b-30f9/providers/Microsoft.AzureStack/registrations/34acbe36-01ba-48/getactivationkey"; + Requests[2145] = new DefaultHttpContext(); + Requests[2145].RequestServices = CreateServices(); + Requests[2145].Request.Method = "GET"; + Requests[2145].Request.Path = "/subscriptions/7712f678-cf27-/resourceGroups/c76e2be9-c93d/providers/Microsoft.AzureStack/registrations/3955d2e8-9e9e-4a/products"; + Requests[2146] = new DefaultHttpContext(); + Requests[2146].RequestServices = CreateServices(); + Requests[2146].Request.Method = "POST"; + Requests[2146].Request.Path = "/subscriptions/6c66ac24-04ba-/resourceGroups/481f403d-3136-40c/providers/Microsoft.AnalysisServices/servers/8685762c-7/dissociateGateway"; + Requests[2147] = new DefaultHttpContext(); + Requests[2147].RequestServices = CreateServices(); + Requests[2147].Request.Method = "POST"; + Requests[2147].Request.Path = "/subscriptions/f7723d61-cc13-/resourceGroups/e511c4a0-f1f2-42a/providers/Microsoft.AnalysisServices/servers/ddf4d577-1/listGatewayStatus"; + Requests[2148] = new DefaultHttpContext(); + Requests[2148].RequestServices = CreateServices(); + Requests[2148].Request.Method = "POST"; + Requests[2148].Request.Path = "/subscriptions/082d98f4-7da7-/resourceGroups/73f39f47-a32a-49b/providers/Microsoft.AnalysisServices/servers/e3699d76-1/resume"; + Requests[2149] = new DefaultHttpContext(); + Requests[2149].RequestServices = CreateServices(); + Requests[2149].Request.Method = "GET"; + Requests[2149].Request.Path = "/subscriptions/548ece3b-281c-/resourceGroups/5b7fa050-39e7-4ee/providers/Microsoft.AnalysisServices/servers/0cbf63b1-7/skus"; + Requests[2150] = new DefaultHttpContext(); + Requests[2150].RequestServices = CreateServices(); + Requests[2150].Request.Method = "POST"; + Requests[2150].Request.Path = "/subscriptions/bbaa6dc3-3817-/resourceGroups/c2318e92-3df1-478/providers/Microsoft.AnalysisServices/servers/312e248b-5/suspend"; + Requests[2151] = new DefaultHttpContext(); + Requests[2151].RequestServices = CreateServices(); + Requests[2151].Request.Method = "GET"; + Requests[2151].Request.Path = "/subscriptions/79e9b621-47a8-/resourceGroups/da3a4733-203b-463/providers/Microsoft.ApiManagement/service/92f0dba6-d0/apis"; + Requests[2152] = new DefaultHttpContext(); + Requests[2152].RequestServices = CreateServices(); + Requests[2152].Request.Method = "GET"; + Requests[2152].Request.Path = "/subscriptions/5fd87b27-dcd8-/resourceGroups/c790c7fa-85d5-456/providers/Microsoft.ApiManagement/service/82de9bae-43/apisByTags"; + Requests[2153] = new DefaultHttpContext(); + Requests[2153].RequestServices = CreateServices(); + Requests[2153].Request.Method = "GET"; + Requests[2153].Request.Path = "/subscriptions/074df882-5c47-/resourceGroups/68fa5436-b61b-45d/providers/Microsoft.ApiManagement/service/25d7d7ce-ec/api-version-sets"; + Requests[2154] = new DefaultHttpContext(); + Requests[2154].RequestServices = CreateServices(); + Requests[2154].Request.Method = "PARAMETERS"; + Requests[2154].Request.Path = "/subscriptions/e58bf9ef-17ae-/resourceGroups/2a945e6b-99b6-42a/providers/Microsoft.ApiManagement/service/33412b10-1a/api-version-sets"; + Requests[2155] = new DefaultHttpContext(); + Requests[2155].RequestServices = CreateServices(); + Requests[2155].Request.Method = "POST"; + Requests[2155].Request.Path = "/subscriptions/c6a4affb-51ca-/resourceGroups/a672b2a7-a34c-45a/providers/Microsoft.ApiManagement/service/24f5f8db-9f/applynetworkconfigurationupdates"; + Requests[2156] = new DefaultHttpContext(); + Requests[2156].RequestServices = CreateServices(); + Requests[2156].Request.Method = "GET"; + Requests[2156].Request.Path = "/subscriptions/fff476a7-7927-/resourceGroups/5c9b542c-2759-4d9/providers/Microsoft.ApiManagement/service/74926315-4e/authorizationServers"; + Requests[2157] = new DefaultHttpContext(); + Requests[2157].RequestServices = CreateServices(); + Requests[2157].Request.Method = "GET"; + Requests[2157].Request.Path = "/subscriptions/3307efb4-d50f-/resourceGroups/8b2183d0-9234-470/providers/Microsoft.ApiManagement/service/c389a637-e1/backends"; + Requests[2158] = new DefaultHttpContext(); + Requests[2158].RequestServices = CreateServices(); + Requests[2158].Request.Method = "POST"; + Requests[2158].Request.Path = "/subscriptions/5c590551-8f9e-/resourceGroups/e0f349a4-7caa-402/providers/Microsoft.ApiManagement/service/13a6553d-9d/backup"; + Requests[2159] = new DefaultHttpContext(); + Requests[2159].RequestServices = CreateServices(); + Requests[2159].Request.Method = "GET"; + Requests[2159].Request.Path = "/subscriptions/a7182f44-8c6e-/resourceGroups/d44c665b-9aa7-407/providers/Microsoft.ApiManagement/service/b2935979-c9/certificates"; + Requests[2160] = new DefaultHttpContext(); + Requests[2160].RequestServices = CreateServices(); + Requests[2160].Request.Method = "GET"; + Requests[2160].Request.Path = "/subscriptions/cf7dee6c-7123-/resourceGroups/509b1fae-ceac-4f2/providers/Microsoft.ApiManagement/service/45090693-b6/diagnostics"; + Requests[2161] = new DefaultHttpContext(); + Requests[2161].RequestServices = CreateServices(); + Requests[2161].Request.Method = "GET"; + Requests[2161].Request.Path = "/subscriptions/11d399bd-7405-/resourceGroups/f2ceb036-75e8-41f/providers/Microsoft.ApiManagement/service/905a3208-15/getssotoken"; + Requests[2162] = new DefaultHttpContext(); + Requests[2162].RequestServices = CreateServices(); + Requests[2162].Request.Method = "POST"; + Requests[2162].Request.Path = "/subscriptions/8b3e54cc-70c7-/resourceGroups/953eaeb0-4f9d-4e6/providers/Microsoft.ApiManagement/service/d053fc29-69/getssotoken"; + Requests[2163] = new DefaultHttpContext(); + Requests[2163].RequestServices = CreateServices(); + Requests[2163].Request.Method = "GET"; + Requests[2163].Request.Path = "/subscriptions/6efec029-8e85-/resourceGroups/33623941-905e-4e8/providers/Microsoft.ApiManagement/service/9c37b84b-73/groups"; + Requests[2164] = new DefaultHttpContext(); + Requests[2164].RequestServices = CreateServices(); + Requests[2164].Request.Method = "GET"; + Requests[2164].Request.Path = "/subscriptions/5d88ccd5-4675-/resourceGroups/e425d834-aa3a-453/providers/Microsoft.ApiManagement/service/135b47bf-4d/identityProviders"; + Requests[2165] = new DefaultHttpContext(); + Requests[2165].RequestServices = CreateServices(); + Requests[2165].Request.Method = "GET"; + Requests[2165].Request.Path = "/subscriptions/3a742a08-e4d2-/resourceGroups/fcfd37dd-2dd1-4fd/providers/Microsoft.ApiManagement/service/be80c1b8-c6/issues"; + Requests[2166] = new DefaultHttpContext(); + Requests[2166].RequestServices = CreateServices(); + Requests[2166].Request.Method = "GET"; + Requests[2166].Request.Path = "/subscriptions/3ba82b05-e0fd-/resourceGroups/5143189f-45cf-447/providers/Microsoft.ApiManagement/service/3a86d814-a0/loggers"; + Requests[2167] = new DefaultHttpContext(); + Requests[2167].RequestServices = CreateServices(); + Requests[2167].Request.Method = "POST"; + Requests[2167].Request.Path = "/subscriptions/7d3eac0c-692e-/resourceGroups/c1fa55f5-5569-431/providers/Microsoft.ApiManagement/service/66722130-63/managedeployments"; + Requests[2168] = new DefaultHttpContext(); + Requests[2168].RequestServices = CreateServices(); + Requests[2168].Request.Method = "GET"; + Requests[2168].Request.Path = "/subscriptions/c0d7d417-36cb-/resourceGroups/d946078c-ea21-45a/providers/Microsoft.ApiManagement/service/b810f00e-70/networkstatus"; + Requests[2169] = new DefaultHttpContext(); + Requests[2169].RequestServices = CreateServices(); + Requests[2169].Request.Method = "GET"; + Requests[2169].Request.Path = "/subscriptions/45819142-2d37-/resourceGroups/60d24ee6-36e1-42e/providers/Microsoft.ApiManagement/service/03a425f3-1c/notifications"; + Requests[2170] = new DefaultHttpContext(); + Requests[2170].RequestServices = CreateServices(); + Requests[2170].Request.Method = "GET"; + Requests[2170].Request.Path = "/subscriptions/e9ebfd3e-927b-/resourceGroups/a7cd55a9-f9cf-464/providers/Microsoft.ApiManagement/service/922c12c3-cf/openidConnectProviders"; + Requests[2171] = new DefaultHttpContext(); + Requests[2171].RequestServices = CreateServices(); + Requests[2171].Request.Method = "GET"; + Requests[2171].Request.Path = "/subscriptions/5cb8becc-3bdb-/resourceGroups/118579e3-406f-4ee/providers/Microsoft.ApiManagement/service/25f48878-69/policies"; + Requests[2172] = new DefaultHttpContext(); + Requests[2172].RequestServices = CreateServices(); + Requests[2172].Request.Method = "GET"; + Requests[2172].Request.Path = "/subscriptions/aa033de5-d7fd-/resourceGroups/fcc25f11-b244-443/providers/Microsoft.ApiManagement/service/1e97d779-22/policySnippets"; + Requests[2173] = new DefaultHttpContext(); + Requests[2173].RequestServices = CreateServices(); + Requests[2173].Request.Method = "GET"; + Requests[2173].Request.Path = "/subscriptions/3f617d01-4553-/resourceGroups/e03f9103-5b94-477/providers/Microsoft.ApiManagement/service/e25d6db8-6f/products"; + Requests[2174] = new DefaultHttpContext(); + Requests[2174].RequestServices = CreateServices(); + Requests[2174].Request.Method = "GET"; + Requests[2174].Request.Path = "/subscriptions/0d1ab4cb-cd3f-/resourceGroups/f05c3c8b-82a7-408/providers/Microsoft.ApiManagement/service/1fcdf6f9-5a/properties"; + Requests[2175] = new DefaultHttpContext(); + Requests[2175].RequestServices = CreateServices(); + Requests[2175].Request.Method = "GET"; + Requests[2175].Request.Path = "/subscriptions/acaf2919-93af-/resourceGroups/e02e11e4-d7eb-49c/providers/Microsoft.ApiManagement/service/6ad0942d-52/regions"; + Requests[2176] = new DefaultHttpContext(); + Requests[2176].RequestServices = CreateServices(); + Requests[2176].Request.Method = "POST"; + Requests[2176].Request.Path = "/subscriptions/c184bf7b-0770-/resourceGroups/26417432-555e-4ec/providers/Microsoft.ApiManagement/service/8da1df4e-b0/restore"; + Requests[2177] = new DefaultHttpContext(); + Requests[2177].RequestServices = CreateServices(); + Requests[2177].Request.Method = "GET"; + Requests[2177].Request.Path = "/subscriptions/1da43ca2-a4b2-/resourceGroups/3a29b888-a2a2-451/providers/Microsoft.ApiManagement/service/d8641e4b-67/subscriptions"; + Requests[2178] = new DefaultHttpContext(); + Requests[2178].RequestServices = CreateServices(); + Requests[2178].Request.Method = "GET"; + Requests[2178].Request.Path = "/subscriptions/1303946a-9127-/resourceGroups/917471f5-5f4c-4a8/providers/Microsoft.ApiManagement/service/4c5c9f04-28/tagResources"; + Requests[2179] = new DefaultHttpContext(); + Requests[2179].RequestServices = CreateServices(); + Requests[2179].Request.Method = "GET"; + Requests[2179].Request.Path = "/subscriptions/3aa4c386-930e-/resourceGroups/cbb5685e-d1df-4b6/providers/Microsoft.ApiManagement/service/2e197987-b9/tags"; + Requests[2180] = new DefaultHttpContext(); + Requests[2180].RequestServices = CreateServices(); + Requests[2180].Request.Method = "GET"; + Requests[2180].Request.Path = "/subscriptions/cfb0e867-97e8-/resourceGroups/08c0fccc-e2bd-490/providers/Microsoft.ApiManagement/service/222b4270-ba/templates"; + Requests[2181] = new DefaultHttpContext(); + Requests[2181].RequestServices = CreateServices(); + Requests[2181].Request.Method = "POST"; + Requests[2181].Request.Path = "/subscriptions/bc963bf2-1824-/resourceGroups/61512d3f-853f-4fe/providers/Microsoft.ApiManagement/service/b96162a2-0c/updatecertificate"; + Requests[2182] = new DefaultHttpContext(); + Requests[2182].RequestServices = CreateServices(); + Requests[2182].Request.Method = "POST"; + Requests[2182].Request.Path = "/subscriptions/773ec69e-0cbb-/resourceGroups/158be695-6f3d-4db/providers/Microsoft.ApiManagement/service/828784d6-dc/updatehostname"; + Requests[2183] = new DefaultHttpContext(); + Requests[2183].RequestServices = CreateServices(); + Requests[2183].Request.Method = "POST"; + Requests[2183].Request.Path = "/subscriptions/d2149b59-7da3-/resourceGroups/ba998004-b11b-495/providers/Microsoft.ApiManagement/service/65d1c42b-55/uploadcertificate"; + Requests[2184] = new DefaultHttpContext(); + Requests[2184].RequestServices = CreateServices(); + Requests[2184].Request.Method = "GET"; + Requests[2184].Request.Path = "/subscriptions/82f7afe1-e5dc-/resourceGroups/569643a7-90b5-4f9/providers/Microsoft.ApiManagement/service/dd931498-db/users"; + Requests[2185] = new DefaultHttpContext(); + Requests[2185].RequestServices = CreateServices(); + Requests[2185].Request.Method = "GET"; + Requests[2185].Request.Path = "/subscriptions/394aefbb-d491-/resourceGroups/000e8582-1341-4c2/providers/Microsoft.Automation/automationAccounts/22b3ccdf-17d5-4c33-88/agentRegistrationInformation"; + Requests[2186] = new DefaultHttpContext(); + Requests[2186].RequestServices = CreateServices(); + Requests[2186].Request.Method = "GET"; + Requests[2186].Request.Path = "/subscriptions/a717b598-c399-/resourceGroups/0bd5def5-4c02-44a/providers/Microsoft.Automation/automationAccounts/b67a6ce6-bed2-43f3-b3/certificates"; + Requests[2187] = new DefaultHttpContext(); + Requests[2187].RequestServices = CreateServices(); + Requests[2187].Request.Method = "GET"; + Requests[2187].Request.Path = "/subscriptions/d5b66373-ddb9-/resourceGroups/bec50b00-601f-428/providers/Microsoft.Automation/automationAccounts/979717f7-b8bf-4014-95/compilationjobs"; + Requests[2188] = new DefaultHttpContext(); + Requests[2188].RequestServices = CreateServices(); + Requests[2188].Request.Method = "GET"; + Requests[2188].Request.Path = "/subscriptions/ae303810-0b73-/resourceGroups/8f698b51-ccdd-4b6/providers/Microsoft.Automation/automationAccounts/2acccea8-6a7f-4669-a4/configurations"; + Requests[2189] = new DefaultHttpContext(); + Requests[2189].RequestServices = CreateServices(); + Requests[2189].Request.Method = "GET"; + Requests[2189].Request.Path = "/subscriptions/4ec55c26-b1d6-/resourceGroups/49faff59-417f-417/providers/Microsoft.Automation/automationAccounts/6ccd8b32-96c9-4361-a6/connections"; + Requests[2190] = new DefaultHttpContext(); + Requests[2190].RequestServices = CreateServices(); + Requests[2190].Request.Method = "GET"; + Requests[2190].Request.Path = "/subscriptions/b654e077-f048-/resourceGroups/056739ac-f3a2-4ac/providers/Microsoft.Automation/automationAccounts/1938b071-feef-4fe7-ba/connectionTypes"; + Requests[2191] = new DefaultHttpContext(); + Requests[2191].RequestServices = CreateServices(); + Requests[2191].Request.Method = "GET"; + Requests[2191].Request.Path = "/subscriptions/6b359fca-2fdf-/resourceGroups/f1912940-7b62-447/providers/Microsoft.Automation/automationAccounts/c80f4530-1d25-4e80-ac/credentials"; + Requests[2192] = new DefaultHttpContext(); + Requests[2192].RequestServices = CreateServices(); + Requests[2192].Request.Method = "GET"; + Requests[2192].Request.Path = "/subscriptions/f16d7c7b-e994-/resourceGroups/81838a8e-5a04-489/providers/Microsoft.Automation/automationAccounts/eed38165-0cb8-44a8-90/hybridRunbookWorkerGroups"; + Requests[2193] = new DefaultHttpContext(); + Requests[2193].RequestServices = CreateServices(); + Requests[2193].Request.Method = "GET"; + Requests[2193].Request.Path = "/subscriptions/51cdec3d-4b83-/resourceGroups/ef8d3a00-5d17-4c5/providers/Microsoft.Automation/automationAccounts/e014bc15-c899-4c18-9d/jobs"; + Requests[2194] = new DefaultHttpContext(); + Requests[2194].RequestServices = CreateServices(); + Requests[2194].Request.Method = "GET"; + Requests[2194].Request.Path = "/subscriptions/45144aef-62b0-/resourceGroups/ea0e1438-d1ad-415/providers/Microsoft.Automation/automationAccounts/39ee5f61-aa3c-49ba-9c/jobSchedules"; + Requests[2195] = new DefaultHttpContext(); + Requests[2195].RequestServices = CreateServices(); + Requests[2195].Request.Method = "GET"; + Requests[2195].Request.Path = "/subscriptions/f9afdebb-cc29-/resourceGroups/fed46d0e-2749-4ff/providers/Microsoft.Automation/automationAccounts/29211d86-a44f-4e98-b7/linkedWorkspace"; + Requests[2196] = new DefaultHttpContext(); + Requests[2196].RequestServices = CreateServices(); + Requests[2196].Request.Method = "POST"; + Requests[2196].Request.Path = "/subscriptions/2da7829f-7daa-/resourceGroups/88d60987-2e10-482/providers/Microsoft.Automation/automationAccounts/2843b12d-9054-4757-b8/listKeys"; + Requests[2197] = new DefaultHttpContext(); + Requests[2197].RequestServices = CreateServices(); + Requests[2197].Request.Method = "GET"; + Requests[2197].Request.Path = "/subscriptions/ddb854dc-2a3e-/resourceGroups/a477270f-a5ce-45b/providers/Microsoft.Automation/automationAccounts/5b9daac3-6e4e-4fa6-87/modules"; + Requests[2198] = new DefaultHttpContext(); + Requests[2198].RequestServices = CreateServices(); + Requests[2198].Request.Method = "GET"; + Requests[2198].Request.Path = "/subscriptions/7fe0912a-1d07-/resourceGroups/36a01180-eb95-455/providers/Microsoft.Automation/automationAccounts/dacc0a13-cad8-4bd7-aa/nodeConfigurations"; + Requests[2199] = new DefaultHttpContext(); + Requests[2199].RequestServices = CreateServices(); + Requests[2199].Request.Method = "GET"; + Requests[2199].Request.Path = "/subscriptions/3bf58515-713b-/resourceGroups/6cfb6a35-d079-478/providers/Microsoft.Automation/automationAccounts/bc6913c7-60fe-43a0-8f/nodes"; + Requests[2200] = new DefaultHttpContext(); + Requests[2200].RequestServices = CreateServices(); + Requests[2200].Request.Method = "GET"; + Requests[2200].Request.Path = "/subscriptions/aa10e874-1e71-/resourceGroups/1e12fbdf-9adf-40f/providers/Microsoft.Automation/automationAccounts/a217f667-916b-4f7d-b4/runbooks"; + Requests[2201] = new DefaultHttpContext(); + Requests[2201].RequestServices = CreateServices(); + Requests[2201].Request.Method = "GET"; + Requests[2201].Request.Path = "/subscriptions/4a6187d7-8801-/resourceGroups/9197cd87-4269-41f/providers/Microsoft.Automation/automationAccounts/a5bb823f-f0af-4d1b-af/schedules"; + Requests[2202] = new DefaultHttpContext(); + Requests[2202].RequestServices = CreateServices(); + Requests[2202].Request.Method = "GET"; + Requests[2202].Request.Path = "/subscriptions/a1607dc9-86c1-/resourceGroups/5358d542-3748-4dc/providers/Microsoft.Automation/automationAccounts/eb504eaa-8627-49ed-96/softwareUpdateConfigurationMachineRuns"; + Requests[2203] = new DefaultHttpContext(); + Requests[2203].RequestServices = CreateServices(); + Requests[2203].Request.Method = "GET"; + Requests[2203].Request.Path = "/subscriptions/13b3e3e5-896d-/resourceGroups/a0c7a981-7728-49a/providers/Microsoft.Automation/automationAccounts/5d71876b-b3c9-47e9-b8/softwareUpdateConfigurationRuns"; + Requests[2204] = new DefaultHttpContext(); + Requests[2204].RequestServices = CreateServices(); + Requests[2204].Request.Method = "GET"; + Requests[2204].Request.Path = "/subscriptions/0e4d8c3f-b199-/resourceGroups/d1d0d5d6-673f-45f/providers/Microsoft.Automation/automationAccounts/055c75fb-38f6-47cc-91/softwareUpdateConfigurations"; + Requests[2205] = new DefaultHttpContext(); + Requests[2205].RequestServices = CreateServices(); + Requests[2205].Request.Method = "GET"; + Requests[2205].Request.Path = "/subscriptions/0d888cdb-845a-/resourceGroups/21db1d7e-7680-42d/providers/Microsoft.Automation/automationAccounts/fedbb029-3f3c-4aee-b5/sourceControls"; + Requests[2206] = new DefaultHttpContext(); + Requests[2206].RequestServices = CreateServices(); + Requests[2206].Request.Method = "GET"; + Requests[2206].Request.Path = "/subscriptions/2936046c-f686-/resourceGroups/7b28e9e3-435f-43b/providers/Microsoft.Automation/automationAccounts/03e0ce39-7d1e-4d05-a2/statistics"; + Requests[2207] = new DefaultHttpContext(); + Requests[2207].RequestServices = CreateServices(); + Requests[2207].Request.Method = "GET"; + Requests[2207].Request.Path = "/subscriptions/438bfcf7-cc55-/resourceGroups/89c83ecc-dbd5-4c1/providers/Microsoft.Automation/automationAccounts/1ebc71ff-b330-4c42-ae/usages"; + Requests[2208] = new DefaultHttpContext(); + Requests[2208].RequestServices = CreateServices(); + Requests[2208].Request.Method = "GET"; + Requests[2208].Request.Path = "/subscriptions/4bbc3111-dc7a-/resourceGroups/26495b06-708f-4c3/providers/Microsoft.Automation/automationAccounts/435059bf-d730-4c3e-9c/variables"; + Requests[2209] = new DefaultHttpContext(); + Requests[2209].RequestServices = CreateServices(); + Requests[2209].Request.Method = "GET"; + Requests[2209].Request.Path = "/subscriptions/13021b83-9d5f-/resourceGroups/6fb15784-c821-439/providers/Microsoft.Automation/automationAccounts/d0054398-a695-4953-85/watchers"; + Requests[2210] = new DefaultHttpContext(); + Requests[2210].RequestServices = CreateServices(); + Requests[2210].Request.Method = "GET"; + Requests[2210].Request.Path = "/subscriptions/0f3ffe7d-cd46-/resourceGroups/58465396-4dea-40d/providers/Microsoft.Automation/automationAccounts/bc1ba2ac-196b-4aac-b1/webhooks"; + Requests[2211] = new DefaultHttpContext(); + Requests[2211].RequestServices = CreateServices(); + Requests[2211].Request.Method = "GET"; + Requests[2211].Request.Path = "/subscriptions/63e5c196-f383-/resourcegroups/2ce2de13-5644-4ba/providers/Microsoft.Backup.Admin/backupLocations/ef528a89/backups"; + Requests[2212] = new DefaultHttpContext(); + Requests[2212].RequestServices = CreateServices(); + Requests[2212].Request.Method = "POST"; + Requests[2212].Request.Path = "/subscriptions/78a1996d-14eb-/resourcegroups/ebe6d87e-6000-442/providers/Microsoft.Backup.Admin/backupLocations/5ac52176/createBackup"; + Requests[2213] = new DefaultHttpContext(); + Requests[2213].RequestServices = CreateServices(); + Requests[2213].Request.Method = "GET"; + Requests[2213].Request.Path = "/subscriptions/e6267cb2-3a55-/resourceGroups/dc217f7e-898a-4f7/providers/Microsoft.Batch/batchAccounts/513fcb36-1d/applications"; + Requests[2214] = new DefaultHttpContext(); + Requests[2214].RequestServices = CreateServices(); + Requests[2214].Request.Method = "GET"; + Requests[2214].Request.Path = "/subscriptions/8340a5ed-02fc-/resourceGroups/2aebc416-06eb-425/providers/Microsoft.Batch/batchAccounts/0424c298-ae/certificates"; + Requests[2215] = new DefaultHttpContext(); + Requests[2215].RequestServices = CreateServices(); + Requests[2215].Request.Method = "POST"; + Requests[2215].Request.Path = "/subscriptions/91084fac-d984-/resourceGroups/3a48a108-6f00-453/providers/Microsoft.Batch/batchAccounts/abc67f64-e9/listKeys"; + Requests[2216] = new DefaultHttpContext(); + Requests[2216].RequestServices = CreateServices(); + Requests[2216].Request.Method = "GET"; + Requests[2216].Request.Path = "/subscriptions/60389a1d-8aff-/resourceGroups/2f5b3871-39af-4cc/providers/Microsoft.Batch/batchAccounts/1504287d-54/pools"; + Requests[2217] = new DefaultHttpContext(); + Requests[2217].RequestServices = CreateServices(); + Requests[2217].Request.Method = "POST"; + Requests[2217].Request.Path = "/subscriptions/d19a439c-8039-/resourceGroups/19952a5e-a87d-4d0/providers/Microsoft.Batch/batchAccounts/1101e27f-43/regenerateKeys"; + Requests[2218] = new DefaultHttpContext(); + Requests[2218].RequestServices = CreateServices(); + Requests[2218].Request.Method = "POST"; + Requests[2218].Request.Path = "/subscriptions/ee08241d-72dd-/resourceGroups/64f536c4-879b-4a5/providers/Microsoft.Batch/batchAccounts/ed811bb2-7d/syncAutoStorageKeys"; + Requests[2219] = new DefaultHttpContext(); + Requests[2219].RequestServices = CreateServices(); + Requests[2219].Request.Method = "POST"; + Requests[2219].Request.Path = "/subscriptions/49423daf-179e-/resourceGroups/15347ec8-ad6c-4ad/providers/Microsoft.BatchAI/clusters/1ac7cc82-bd/listRemoteLoginInformation"; + Requests[2220] = new DefaultHttpContext(); + Requests[2220].RequestServices = CreateServices(); + Requests[2220].Request.Method = "POST"; + Requests[2220].Request.Path = "/subscriptions/17050bf9-d89c-/resourceGroups/ad4f8f95-27eb-45f/providers/Microsoft.BatchAI/jobs/5f170da/listOutputFiles"; + Requests[2221] = new DefaultHttpContext(); + Requests[2221].RequestServices = CreateServices(); + Requests[2221].Request.Method = "POST"; + Requests[2221].Request.Path = "/subscriptions/e6a75c43-9bc6-/resourceGroups/b0b297e7-7d78-45c/providers/Microsoft.BatchAI/jobs/4bde8b6/listRemoteLoginInformation"; + Requests[2222] = new DefaultHttpContext(); + Requests[2222].RequestServices = CreateServices(); + Requests[2222].Request.Method = "POST"; + Requests[2222].Request.Path = "/subscriptions/fbbb9ebb-4b12-/resourceGroups/eb27335a-c390-466/providers/Microsoft.BatchAI/jobs/2a88ac1/terminate"; + Requests[2223] = new DefaultHttpContext(); + Requests[2223].RequestServices = CreateServices(); + Requests[2223].Request.Method = "GET"; + Requests[2223].Request.Path = "/subscriptions/16c2a984-830c-/resourceGroups/fdad9084-83ed-453/providers/Microsoft.BatchAI/workspaces/1822f731-e7cf/clusters"; + Requests[2224] = new DefaultHttpContext(); + Requests[2224].RequestServices = CreateServices(); + Requests[2224].Request.Method = "GET"; + Requests[2224].Request.Path = "/subscriptions/36a64da8-d744-/resourceGroups/d7ae7e5c-966d-4c4/providers/Microsoft.BatchAI/workspaces/e12bbad6-90c2/experiments"; + Requests[2225] = new DefaultHttpContext(); + Requests[2225].RequestServices = CreateServices(); + Requests[2225].Request.Method = "GET"; + Requests[2225].Request.Path = "/subscriptions/f3b98f91-4ca7-/resourceGroups/88b03890-f32f-480/providers/Microsoft.BatchAI/workspaces/9a011806-78d0/fileServers"; + Requests[2226] = new DefaultHttpContext(); + Requests[2226].RequestServices = CreateServices(); + Requests[2226].Request.Method = "GET"; + Requests[2226].Request.Path = "/subscriptions/ad6e74c3-b178-/resourceGroups/46f9e40e-2f8c-489/providers/Microsoft.BotService/botServices/9d587268-ce0/channels"; + Requests[2227] = new DefaultHttpContext(); + Requests[2227].RequestServices = CreateServices(); + Requests[2227].Request.Method = "GET"; + Requests[2227].Request.Path = "/subscriptions/6b622300-7c5d-/resourceGroups/b64fbfa4-4081-48e/providers/Microsoft.BotService/botServices/afaabe80-735/connections"; + Requests[2228] = new DefaultHttpContext(); + Requests[2228].RequestServices = CreateServices(); + Requests[2228].Request.Method = "GET"; + Requests[2228].Request.Path = "/subscriptions/b94e156a-6746-/resourceGroups/f45f1ae3-2282-442/providers/Microsoft.Cache/Redis/2df3a04e-/firewallRules"; + Requests[2229] = new DefaultHttpContext(); + Requests[2229].RequestServices = CreateServices(); + Requests[2229].Request.Method = "GET"; + Requests[2229].Request.Path = "/subscriptions/b712b380-9c58-/resourceGroups/b280c298-051d-4cf/providers/Microsoft.Cache/Redis/16a4b28a-/patchSchedules"; + Requests[2230] = new DefaultHttpContext(); + Requests[2230].RequestServices = CreateServices(); + Requests[2230].Request.Method = "POST"; + Requests[2230].Request.Path = "/subscriptions/5a881e1a-c694-/resourceGroups/fc3188dc-0820-411/providers/Microsoft.Cache/Redis/01d1e/export"; + Requests[2231] = new DefaultHttpContext(); + Requests[2231].RequestServices = CreateServices(); + Requests[2231].Request.Method = "POST"; + Requests[2231].Request.Path = "/subscriptions/eee1a5be-c93f-/resourceGroups/ed7a99fa-19a5-47d/providers/Microsoft.Cache/Redis/5b041/forceReboot"; + Requests[2232] = new DefaultHttpContext(); + Requests[2232].RequestServices = CreateServices(); + Requests[2232].Request.Method = "POST"; + Requests[2232].Request.Path = "/subscriptions/abe20ab4-d774-/resourceGroups/67797aee-d64f-4a7/providers/Microsoft.Cache/Redis/093d8/import"; + Requests[2233] = new DefaultHttpContext(); + Requests[2233].RequestServices = CreateServices(); + Requests[2233].Request.Method = "GET"; + Requests[2233].Request.Path = "/subscriptions/390fb5e5-7fed-/resourceGroups/04ce0cd9-9d6c-429/providers/Microsoft.Cache/Redis/e46fa/linkedServers"; + Requests[2234] = new DefaultHttpContext(); + Requests[2234].RequestServices = CreateServices(); + Requests[2234].Request.Method = "POST"; + Requests[2234].Request.Path = "/subscriptions/217f6aeb-9bd2-/resourceGroups/f8aef0d7-f37e-499/providers/Microsoft.Cache/Redis/3cb97/listKeys"; + Requests[2235] = new DefaultHttpContext(); + Requests[2235].RequestServices = CreateServices(); + Requests[2235].Request.Method = "GET"; + Requests[2235].Request.Path = "/subscriptions/2e65e68d-c680-/resourceGroups/31347f34-5aa3-49d/providers/Microsoft.Cache/Redis/d132d/listUpgradeNotifications"; + Requests[2236] = new DefaultHttpContext(); + Requests[2236].RequestServices = CreateServices(); + Requests[2236].Request.Method = "POST"; + Requests[2236].Request.Path = "/subscriptions/9e6be479-d889-/resourceGroups/3c535eb1-3ebe-439/providers/Microsoft.Cache/Redis/c3f18/regenerateKey"; + Requests[2237] = new DefaultHttpContext(); + Requests[2237].RequestServices = CreateServices(); + Requests[2237].Request.Method = "POST"; + Requests[2237].Request.Path = "/subscriptions/5fa01642-23d9-/resourceGroups/3a895869-2ba2-4cc/providers/Microsoft.Cdn/profiles/ab8ee22c-63/checkResourceUsage"; + Requests[2238] = new DefaultHttpContext(); + Requests[2238].RequestServices = CreateServices(); + Requests[2238].Request.Method = "GET"; + Requests[2238].Request.Path = "/subscriptions/a495ff12-f94a-/resourceGroups/c113a8fc-b334-443/providers/Microsoft.Cdn/profiles/738daa54-69/endpoints"; + Requests[2239] = new DefaultHttpContext(); + Requests[2239].RequestServices = CreateServices(); + Requests[2239].Request.Method = "POST"; + Requests[2239].Request.Path = "/subscriptions/1912a2d8-0618-/resourceGroups/6b10c5f2-e963-4cf/providers/Microsoft.Cdn/profiles/2a86360b-9f/generateSsoUri"; + Requests[2240] = new DefaultHttpContext(); + Requests[2240].RequestServices = CreateServices(); + Requests[2240].Request.Method = "POST"; + Requests[2240].Request.Path = "/subscriptions/60b7e6f7-8acc-/resourceGroups/70e4ea6f-0216-45b/providers/Microsoft.Cdn/profiles/c5db81ea-61/getSupportedOptimizationTypes"; + Requests[2241] = new DefaultHttpContext(); + Requests[2241].RequestServices = CreateServices(); + Requests[2241].Request.Method = "GET"; + Requests[2241].Request.Path = "/subscriptions/c0d1e1cc-51e5-/resourceGroups/fe1bbdb1-cb95-474/providers/Microsoft.CertificateRegistration/certificateOrders/0d513212-ccd1-4543-b/certificates"; + Requests[2242] = new DefaultHttpContext(); + Requests[2242].RequestServices = CreateServices(); + Requests[2242].Request.Method = "POST"; + Requests[2242].Request.Path = "/subscriptions/dc29c298-5447-/resourceGroups/e1c07c7d-4aee-43c/providers/Microsoft.CertificateRegistration/certificateOrders/5eb4395b-ae3c-47ac-a/resendRequestEmails"; + Requests[2243] = new DefaultHttpContext(); + Requests[2243].RequestServices = CreateServices(); + Requests[2243].Request.Method = "POST"; + Requests[2243].Request.Path = "/subscriptions/52f23ec1-9ae3-/resourceGroups/1788e95f-42dc-469/providers/Microsoft.CertificateRegistration/certificateOrders/ad445b1d-b130-4953-9/retrieveSiteSeal"; + Requests[2244] = new DefaultHttpContext(); + Requests[2244].RequestServices = CreateServices(); + Requests[2244].Request.Method = "POST"; + Requests[2244].Request.Path = "/subscriptions/47b76afa-577c-/resourceGroups/dc6e59e3-9925-484/providers/Microsoft.CertificateRegistration/certificateOrders/a964f/reissue"; + Requests[2245] = new DefaultHttpContext(); + Requests[2245].RequestServices = CreateServices(); + Requests[2245].Request.Method = "POST"; + Requests[2245].Request.Path = "/subscriptions/0250815e-9b09-/resourceGroups/e384d013-b0f6-40e/providers/Microsoft.CertificateRegistration/certificateOrders/50d1d/renew"; + Requests[2246] = new DefaultHttpContext(); + Requests[2246].RequestServices = CreateServices(); + Requests[2246].Request.Method = "POST"; + Requests[2246].Request.Path = "/subscriptions/7b54e51d-9598-/resourceGroups/6101f996-eafa-496/providers/Microsoft.CertificateRegistration/certificateOrders/6ffef/resendEmail"; + Requests[2247] = new DefaultHttpContext(); + Requests[2247].RequestServices = CreateServices(); + Requests[2247].Request.Method = "POST"; + Requests[2247].Request.Path = "/subscriptions/a256cc03-f6cc-/resourceGroups/e8bc3a7c-3a97-446/providers/Microsoft.CertificateRegistration/certificateOrders/1967b/retrieveCertificateActions"; + Requests[2248] = new DefaultHttpContext(); + Requests[2248].RequestServices = CreateServices(); + Requests[2248].Request.Method = "POST"; + Requests[2248].Request.Path = "/subscriptions/ab46c145-a34b-/resourceGroups/4c50f104-6f6d-4bc/providers/Microsoft.CertificateRegistration/certificateOrders/67986/retrieveEmailHistory"; + Requests[2249] = new DefaultHttpContext(); + Requests[2249].RequestServices = CreateServices(); + Requests[2249].Request.Method = "POST"; + Requests[2249].Request.Path = "/subscriptions/8340c487-2b8d-/resourceGroups/323af0b7-54a9-47d/providers/Microsoft.CertificateRegistration/certificateOrders/1803c/verifyDomainOwnership"; + Requests[2250] = new DefaultHttpContext(); + Requests[2250].RequestServices = CreateServices(); + Requests[2250].Request.Method = "POST"; + Requests[2250].Request.Path = "/subscriptions/7afd53ad-d963-/resourceGroups/dc9a25f7-e969-4ab/providers/Microsoft.CognitiveServices/accounts/2093692e-c5/listKeys"; + Requests[2251] = new DefaultHttpContext(); + Requests[2251].RequestServices = CreateServices(); + Requests[2251].Request.Method = "POST"; + Requests[2251].Request.Path = "/subscriptions/f29774bb-51bd-/resourceGroups/3cc0340c-252e-456/providers/Microsoft.CognitiveServices/accounts/7d3d63ba-b7/regenerateKey"; + Requests[2252] = new DefaultHttpContext(); + Requests[2252].RequestServices = CreateServices(); + Requests[2252].Request.Method = "GET"; + Requests[2252].Request.Path = "/subscriptions/ad1d23fb-fe40-/resourceGroups/95a8cbf6-ac10-412/providers/Microsoft.CognitiveServices/accounts/a69cc772-46/skus"; + Requests[2253] = new DefaultHttpContext(); + Requests[2253].RequestServices = CreateServices(); + Requests[2253].Request.Method = "GET"; + Requests[2253].Request.Path = "/subscriptions/9df59ccc-a83c-/resourceGroups/e10ba979-d53d-438/providers/Microsoft.CognitiveServices/accounts/c53be067-a4/usages"; + Requests[2254] = new DefaultHttpContext(); + Requests[2254].RequestServices = CreateServices(); + Requests[2254].Request.Method = "GET"; + Requests[2254].Request.Path = "/subscriptions/35b2bb7e-296a-/resourceGroups/15aa435a-c1f6-4ca/providers/Microsoft.Compute/availabilitySets/fbeea17d-460e-4ef9-/vmSizes"; + Requests[2255] = new DefaultHttpContext(); + Requests[2255].RequestServices = CreateServices(); + Requests[2255].Request.Method = "POST"; + Requests[2255].Request.Path = "/subscriptions/4cf6ee30-aadf-/resourceGroups/b8dd7f53-30a1-469/providers/Microsoft.Compute/disks/c220fbb9/beginGetAccess"; + Requests[2256] = new DefaultHttpContext(); + Requests[2256].RequestServices = CreateServices(); + Requests[2256].Request.Method = "POST"; + Requests[2256].Request.Path = "/subscriptions/ddaea11c-f3a5-/resourceGroups/b45739ea-ee02-461/providers/Microsoft.Compute/disks/a46abfac/endGetAccess"; + Requests[2257] = new DefaultHttpContext(); + Requests[2257].RequestServices = CreateServices(); + Requests[2257].Request.Method = "GET"; + Requests[2257].Request.Path = "/subscriptions/49876f36-7793-/resourceGroups/ee797f9f-d7c6-475/providers/Microsoft.Compute/galleries/16f5d14c-5e/images"; + Requests[2258] = new DefaultHttpContext(); + Requests[2258].RequestServices = CreateServices(); + Requests[2258].Request.Method = "POST"; + Requests[2258].Request.Path = "/subscriptions/c87f6846-6154-/resourceGroups/395d4902-e7d3-472/providers/Microsoft.Compute/snapshots/6ab1c6a8-154/beginGetAccess"; + Requests[2259] = new DefaultHttpContext(); + Requests[2259].RequestServices = CreateServices(); + Requests[2259].Request.Method = "POST"; + Requests[2259].Request.Path = "/subscriptions/beb77651-3e99-/resourceGroups/6a36c529-7df2-48f/providers/Microsoft.Compute/snapshots/8c980a87-92e/endGetAccess"; + Requests[2260] = new DefaultHttpContext(); + Requests[2260].RequestServices = CreateServices(); + Requests[2260].Request.Method = "POST"; + Requests[2260].Request.Path = "/subscriptions/7870dd1d-1c33-/resourceGroups/2c8dcddd-0587-4de/providers/Microsoft.Compute/virtualMachines/7be249/capture"; + Requests[2261] = new DefaultHttpContext(); + Requests[2261].RequestServices = CreateServices(); + Requests[2261].Request.Method = "POST"; + Requests[2261].Request.Path = "/subscriptions/4e736896-ba38-/resourceGroups/08333a47-220d-41b/providers/Microsoft.Compute/virtualMachines/028407/convertToManagedDisks"; + Requests[2262] = new DefaultHttpContext(); + Requests[2262].RequestServices = CreateServices(); + Requests[2262].Request.Method = "POST"; + Requests[2262].Request.Path = "/subscriptions/17cc6564-1ccb-/resourceGroups/a258b186-1c06-4a0/providers/Microsoft.Compute/virtualMachines/57d25d/deallocate"; + Requests[2263] = new DefaultHttpContext(); + Requests[2263].RequestServices = CreateServices(); + Requests[2263].Request.Method = "GET"; + Requests[2263].Request.Path = "/subscriptions/f8920025-fd43-/resourceGroups/c02e814a-737f-4a9/providers/Microsoft.Compute/virtualMachines/a77120/extensions"; + Requests[2264] = new DefaultHttpContext(); + Requests[2264].RequestServices = CreateServices(); + Requests[2264].Request.Method = "POST"; + Requests[2264].Request.Path = "/subscriptions/5b6db96b-b6e8-/resourceGroups/22463c90-b813-44b/providers/Microsoft.Compute/virtualMachines/594e8b/generalize"; + Requests[2265] = new DefaultHttpContext(); + Requests[2265].RequestServices = CreateServices(); + Requests[2265].Request.Method = "GET"; + Requests[2265].Request.Path = "/subscriptions/69c7321a-3df4-/resourceGroups/5624340b-c82d-4ad/providers/Microsoft.Compute/virtualMachines/1c7a8d/instanceView"; + Requests[2266] = new DefaultHttpContext(); + Requests[2266].RequestServices = CreateServices(); + Requests[2266].Request.Method = "POST"; + Requests[2266].Request.Path = "/subscriptions/5c89fc42-ce6f-/resourceGroups/23af0800-dd54-470/providers/Microsoft.Compute/virtualMachines/e13171/performMaintenance"; + Requests[2267] = new DefaultHttpContext(); + Requests[2267].RequestServices = CreateServices(); + Requests[2267].Request.Method = "POST"; + Requests[2267].Request.Path = "/subscriptions/dc096743-4aa1-/resourceGroups/89782e4d-f524-433/providers/Microsoft.Compute/virtualMachines/ff3893/powerOff"; + Requests[2268] = new DefaultHttpContext(); + Requests[2268].RequestServices = CreateServices(); + Requests[2268].Request.Method = "POST"; + Requests[2268].Request.Path = "/subscriptions/cbcb0bd3-244b-/resourceGroups/5311f155-c9d1-457/providers/Microsoft.Compute/virtualMachines/ad1b5e/redeploy"; + Requests[2269] = new DefaultHttpContext(); + Requests[2269].RequestServices = CreateServices(); + Requests[2269].Request.Method = "POST"; + Requests[2269].Request.Path = "/subscriptions/0c29c960-c78c-/resourceGroups/e83eb409-3fc4-4bd/providers/Microsoft.Compute/virtualMachines/0b83ef/restart"; + Requests[2270] = new DefaultHttpContext(); + Requests[2270].RequestServices = CreateServices(); + Requests[2270].Request.Method = "POST"; + Requests[2270].Request.Path = "/subscriptions/bb105cf4-d6ae-/resourceGroups/a230ca6b-97d1-401/providers/Microsoft.Compute/virtualMachines/7fd390/runCommand"; + Requests[2271] = new DefaultHttpContext(); + Requests[2271].RequestServices = CreateServices(); + Requests[2271].Request.Method = "POST"; + Requests[2271].Request.Path = "/subscriptions/52bd5d45-68ce-/resourceGroups/526a3f5e-1a6c-4a1/providers/Microsoft.Compute/virtualMachines/a58099/start"; + Requests[2272] = new DefaultHttpContext(); + Requests[2272].RequestServices = CreateServices(); + Requests[2272].Request.Method = "GET"; + Requests[2272].Request.Path = "/subscriptions/acd869fc-35e8-/resourceGroups/661d83c6-0507-4fa/providers/Microsoft.Compute/virtualMachines/ee205a/vmSizes"; + Requests[2273] = new DefaultHttpContext(); + Requests[2273].RequestServices = CreateServices(); + Requests[2273].Request.Method = "GET"; + Requests[2273].Request.Path = "/subscriptions/6ffd4d3c-2dba-/resourceGroups/1538d273-d383-4a2/providers/microsoft.Compute/virtualMachineScaleSets/f63552a0-d341-4635-a36a-4b/networkInterfaces"; + Requests[2274] = new DefaultHttpContext(); + Requests[2274].RequestServices = CreateServices(); + Requests[2274].Request.Method = "GET"; + Requests[2274].Request.Path = "/subscriptions/a7b63f7f-0bcf-/resourceGroups/839be712-c759-43c/providers/Microsoft.Compute/virtualMachineScaleSets/1c063be0-b6f4-4bfd-a32a-fb/publicipaddresses"; + Requests[2275] = new DefaultHttpContext(); + Requests[2275].RequestServices = CreateServices(); + Requests[2275].Request.Method = "GET"; + Requests[2275].Request.Path = "/subscriptions/76aa5d94-7f34-/resourceGroups/d268b2d2-c72d-45e/providers/Microsoft.Compute/virtualMachineScaleSets/3b3a01b6-83e4-45bb-a160-31/virtualMachines"; + Requests[2276] = new DefaultHttpContext(); + Requests[2276].RequestServices = CreateServices(); + Requests[2276].Request.Method = "POST"; + Requests[2276].Request.Path = "/subscriptions/7b949e29-b541-/resourceGroups/03c3c645-f726-441/providers/Microsoft.Compute/virtualMachineScaleSets/a5704769-f3c1-/deallocate"; + Requests[2277] = new DefaultHttpContext(); + Requests[2277].RequestServices = CreateServices(); + Requests[2277].Request.Method = "POST"; + Requests[2277].Request.Path = "/subscriptions/a7ac795f-5eb1-/resourceGroups/49bd9598-969a-46f/providers/Microsoft.Compute/virtualMachineScaleSets/5d004392-ded1-/delete"; + Requests[2278] = new DefaultHttpContext(); + Requests[2278].RequestServices = CreateServices(); + Requests[2278].Request.Method = "GET"; + Requests[2278].Request.Path = "/subscriptions/03215647-da6e-/resourceGroups/63a4e837-995b-45f/providers/Microsoft.Compute/virtualMachineScaleSets/2d2e00b4-93be-/extensions"; + Requests[2279] = new DefaultHttpContext(); + Requests[2279].RequestServices = CreateServices(); + Requests[2279].Request.Method = "POST"; + Requests[2279].Request.Path = "/subscriptions/0ec61cbe-cd7a-/resourceGroups/7c35efd4-2c2e-47c/providers/Microsoft.Compute/virtualMachineScaleSets/b01c9a10-a550-/forceRecoveryServiceFabricPlatformUpdateDomainWalk"; + Requests[2280] = new DefaultHttpContext(); + Requests[2280].RequestServices = CreateServices(); + Requests[2280].Request.Method = "GET"; + Requests[2280].Request.Path = "/subscriptions/99b143b6-41b0-/resourceGroups/2dfdba87-d0b3-42b/providers/Microsoft.Compute/virtualMachineScaleSets/7144390c-2ba1-/instanceView"; + Requests[2281] = new DefaultHttpContext(); + Requests[2281].RequestServices = CreateServices(); + Requests[2281].Request.Method = "POST"; + Requests[2281].Request.Path = "/subscriptions/f3fc91f5-d61e-/resourceGroups/4a718210-73a2-4ef/providers/Microsoft.Compute/virtualMachineScaleSets/67735dc8-129c-/manualupgrade"; + Requests[2282] = new DefaultHttpContext(); + Requests[2282].RequestServices = CreateServices(); + Requests[2282].Request.Method = "POST"; + Requests[2282].Request.Path = "/subscriptions/74a1f438-7657-/resourceGroups/b4d91349-cade-43d/providers/Microsoft.Compute/virtualMachineScaleSets/8958823d-6a19-/osRollingUpgrade"; + Requests[2283] = new DefaultHttpContext(); + Requests[2283].RequestServices = CreateServices(); + Requests[2283].Request.Method = "GET"; + Requests[2283].Request.Path = "/subscriptions/f0cba052-c914-/resourceGroups/347461e9-f7ec-4b8/providers/Microsoft.Compute/virtualMachineScaleSets/5519ac32-ec48-/osUpgradeHistory"; + Requests[2284] = new DefaultHttpContext(); + Requests[2284].RequestServices = CreateServices(); + Requests[2284].Request.Method = "POST"; + Requests[2284].Request.Path = "/subscriptions/d9a268f1-708a-/resourceGroups/40110d17-91df-417/providers/Microsoft.Compute/virtualMachineScaleSets/7c5f70a4-e3fa-/performMaintenance"; + Requests[2285] = new DefaultHttpContext(); + Requests[2285].RequestServices = CreateServices(); + Requests[2285].Request.Method = "POST"; + Requests[2285].Request.Path = "/subscriptions/5f5fbfc3-df27-/resourceGroups/2494774a-17c2-460/providers/Microsoft.Compute/virtualMachineScaleSets/32a65e4c-348d-/poweroff"; + Requests[2286] = new DefaultHttpContext(); + Requests[2286].RequestServices = CreateServices(); + Requests[2286].Request.Method = "POST"; + Requests[2286].Request.Path = "/subscriptions/5d0036e8-703b-/resourceGroups/52b3a983-e70f-40c/providers/Microsoft.Compute/virtualMachineScaleSets/74c6ac94-ff63-/redeploy"; + Requests[2287] = new DefaultHttpContext(); + Requests[2287].RequestServices = CreateServices(); + Requests[2287].Request.Method = "POST"; + Requests[2287].Request.Path = "/subscriptions/baa79c0f-539a-/resourceGroups/0a7e573c-f10c-4cf/providers/Microsoft.Compute/virtualMachineScaleSets/a13c6943-6bf1-/reimage"; + Requests[2288] = new DefaultHttpContext(); + Requests[2288].RequestServices = CreateServices(); + Requests[2288].Request.Method = "POST"; + Requests[2288].Request.Path = "/subscriptions/40fed805-a17c-/resourceGroups/c30f423e-7769-438/providers/Microsoft.Compute/virtualMachineScaleSets/1d03d066-04b8-/reimageall"; + Requests[2289] = new DefaultHttpContext(); + Requests[2289].RequestServices = CreateServices(); + Requests[2289].Request.Method = "POST"; + Requests[2289].Request.Path = "/subscriptions/a1e53ed4-ad1c-/resourceGroups/60adb5ae-eb2f-4e1/providers/Microsoft.Compute/virtualMachineScaleSets/563f8506-d97c-/restart"; + Requests[2290] = new DefaultHttpContext(); + Requests[2290].RequestServices = CreateServices(); + Requests[2290].Request.Method = "GET"; + Requests[2290].Request.Path = "/subscriptions/a2813359-796c-/resourceGroups/66c88277-22e2-494/providers/Microsoft.Compute/virtualMachineScaleSets/3f466327-0d20-/skus"; + Requests[2291] = new DefaultHttpContext(); + Requests[2291].RequestServices = CreateServices(); + Requests[2291].Request.Method = "POST"; + Requests[2291].Request.Path = "/subscriptions/bec6e0b4-916b-/resourceGroups/0216af91-e7dd-41a/providers/Microsoft.Compute/virtualMachineScaleSets/f9edabc1-ae2f-/start"; + Requests[2292] = new DefaultHttpContext(); + Requests[2292].RequestServices = CreateServices(); + Requests[2292].Request.Method = "GET"; + Requests[2292].Request.Path = "/subscriptions/e1789964-09a5-/resourceGroups/73a44b2c-f73d-4b1/providers/Microsoft.ContainerRegistry/registries/b7a2ad63-bdd/builds"; + Requests[2293] = new DefaultHttpContext(); + Requests[2293].RequestServices = CreateServices(); + Requests[2293].Request.Method = "GET"; + Requests[2293].Request.Path = "/subscriptions/2f5b985b-4efa-/resourceGroups/bfb56992-7e24-4a7/providers/Microsoft.ContainerRegistry/registries/2f2b9821-edc/buildTasks"; + Requests[2294] = new DefaultHttpContext(); + Requests[2294].RequestServices = CreateServices(); + Requests[2294].Request.Method = "POST"; + Requests[2294].Request.Path = "/subscriptions/a81f5589-7112-/resourceGroups/1f011536-004f-46e/providers/Microsoft.ContainerRegistry/registries/ebf59d4b-34a/getBuildSourceUploadUrl"; + Requests[2295] = new DefaultHttpContext(); + Requests[2295].RequestServices = CreateServices(); + Requests[2295].Request.Method = "POST"; + Requests[2295].Request.Path = "/subscriptions/bf5060ac-5de8-/resourceGroups/2543029f-8c23-4e5/providers/Microsoft.ContainerRegistry/registries/6c64eca3-159/getCredentials"; + Requests[2296] = new DefaultHttpContext(); + Requests[2296].RequestServices = CreateServices(); + Requests[2296].Request.Method = "POST"; + Requests[2296].Request.Path = "/subscriptions/e2ecc0cc-23aa-/resourceGroups/af7163af-2274-402/providers/Microsoft.ContainerRegistry/registries/71d66c33-4fb/importImage"; + Requests[2297] = new DefaultHttpContext(); + Requests[2297].RequestServices = CreateServices(); + Requests[2297].Request.Method = "POST"; + Requests[2297].Request.Path = "/subscriptions/89c3dafe-9482-/resourceGroups/5d6a3012-b21c-46a/providers/Microsoft.ContainerRegistry/registries/a9e68d3f-07d/listCredentials"; + Requests[2298] = new DefaultHttpContext(); + Requests[2298].RequestServices = CreateServices(); + Requests[2298].Request.Method = "GET"; + Requests[2298].Request.Path = "/subscriptions/a3a8e889-ea51-/resourceGroups/d6004cb2-49c6-4b3/providers/Microsoft.ContainerRegistry/registries/5093f501-fbd/listUsages"; + Requests[2299] = new DefaultHttpContext(); + Requests[2299].RequestServices = CreateServices(); + Requests[2299].Request.Method = "POST"; + Requests[2299].Request.Path = "/subscriptions/98aafb1e-6384-/resourceGroups/5497aa49-528d-439/providers/Microsoft.ContainerRegistry/registries/c4472d8c-eec/queueBuild"; + Requests[2300] = new DefaultHttpContext(); + Requests[2300].RequestServices = CreateServices(); + Requests[2300].Request.Method = "POST"; + Requests[2300].Request.Path = "/subscriptions/1f801e50-508b-/resourceGroups/c171c1d9-bfc1-456/providers/Microsoft.ContainerRegistry/registries/a29460a3-69d/regenerateCredential"; + Requests[2301] = new DefaultHttpContext(); + Requests[2301].RequestServices = CreateServices(); + Requests[2301].Request.Method = "POST"; + Requests[2301].Request.Path = "/subscriptions/8ae606b1-cc2d-/resourceGroups/92357605-9d33-462/providers/Microsoft.ContainerRegistry/registries/d7c22a81-1ed/regenerateCredentials"; + Requests[2302] = new DefaultHttpContext(); + Requests[2302].RequestServices = CreateServices(); + Requests[2302].Request.Method = "GET"; + Requests[2302].Request.Path = "/subscriptions/50b755da-ddbf-/resourceGroups/06862527-c9b3-40c/providers/Microsoft.ContainerRegistry/registries/bf0908e2-469/replications"; + Requests[2303] = new DefaultHttpContext(); + Requests[2303].RequestServices = CreateServices(); + Requests[2303].Request.Method = "GET"; + Requests[2303].Request.Path = "/subscriptions/162cae3b-a9b1-/resourceGroups/c48a5c83-8fb3-4de/providers/Microsoft.ContainerRegistry/registries/ffe1ef73-3d4/webhooks"; + Requests[2304] = new DefaultHttpContext(); + Requests[2304].RequestServices = CreateServices(); + Requests[2304].Request.Method = "GET"; + Requests[2304].Request.Path = "/subscriptions/22f292cd-43a3-/resourceGroups/29e280f8-57cf-491/providers/Microsoft.CustomerInsights/hubs/80c75e4/authorizationPolicies"; + Requests[2305] = new DefaultHttpContext(); + Requests[2305].RequestServices = CreateServices(); + Requests[2305].Request.Method = "GET"; + Requests[2305].Request.Path = "/subscriptions/c8c0f271-9046-/resourceGroups/411ed39a-9230-47f/providers/Microsoft.CustomerInsights/hubs/5d64cd3/connectors"; + Requests[2306] = new DefaultHttpContext(); + Requests[2306].RequestServices = CreateServices(); + Requests[2306].Request.Method = "GET"; + Requests[2306].Request.Path = "/subscriptions/bf02a15e-44f6-/resourceGroups/6fc87d45-e773-48b/providers/Microsoft.CustomerInsights/hubs/45474fb/interactions"; + Requests[2307] = new DefaultHttpContext(); + Requests[2307].RequestServices = CreateServices(); + Requests[2307].Request.Method = "GET"; + Requests[2307].Request.Path = "/subscriptions/639b36e3-97ad-/resourceGroups/4e8fd109-3f8a-46a/providers/Microsoft.CustomerInsights/hubs/1beb7ec/kpi"; + Requests[2308] = new DefaultHttpContext(); + Requests[2308].RequestServices = CreateServices(); + Requests[2308].Request.Method = "GET"; + Requests[2308].Request.Path = "/subscriptions/dc626650-ad72-/resourceGroups/fd37e727-dba7-418/providers/Microsoft.CustomerInsights/hubs/7d762d0/links"; + Requests[2309] = new DefaultHttpContext(); + Requests[2309].RequestServices = CreateServices(); + Requests[2309].Request.Method = "GET"; + Requests[2309].Request.Path = "/subscriptions/fb0c0cb2-016b-/resourceGroups/18ae8806-4324-476/providers/Microsoft.CustomerInsights/hubs/a49a346/predictions"; + Requests[2310] = new DefaultHttpContext(); + Requests[2310].RequestServices = CreateServices(); + Requests[2310].Request.Method = "GET"; + Requests[2310].Request.Path = "/subscriptions/0c6b15a6-ae23-/resourceGroups/54be881f-4073-4ce/providers/Microsoft.CustomerInsights/hubs/878bab7/profiles"; + Requests[2311] = new DefaultHttpContext(); + Requests[2311].RequestServices = CreateServices(); + Requests[2311].Request.Method = "GET"; + Requests[2311].Request.Path = "/subscriptions/e05aad97-c3d7-/resourceGroups/c0629cfd-6f8f-4bd/providers/Microsoft.CustomerInsights/hubs/e14abe7/relationshipLinks"; + Requests[2312] = new DefaultHttpContext(); + Requests[2312].RequestServices = CreateServices(); + Requests[2312].Request.Method = "GET"; + Requests[2312].Request.Path = "/subscriptions/3daccfed-c9ec-/resourceGroups/5a130ce4-0365-429/providers/Microsoft.CustomerInsights/hubs/07628d3/relationships"; + Requests[2313] = new DefaultHttpContext(); + Requests[2313].RequestServices = CreateServices(); + Requests[2313].Request.Method = "GET"; + Requests[2313].Request.Path = "/subscriptions/b4da7d2e-71bc-/resourceGroups/5bc496fa-d144-474/providers/Microsoft.CustomerInsights/hubs/629dcbd/roleAssignments"; + Requests[2314] = new DefaultHttpContext(); + Requests[2314].RequestServices = CreateServices(); + Requests[2314].Request.Method = "GET"; + Requests[2314].Request.Path = "/subscriptions/dff6a7dd-cc56-/resourceGroups/c86f3e84-9308-4c9/providers/Microsoft.CustomerInsights/hubs/ffa13c9/roles"; + Requests[2315] = new DefaultHttpContext(); + Requests[2315].RequestServices = CreateServices(); + Requests[2315].Request.Method = "GET"; + Requests[2315].Request.Path = "/subscriptions/79febd02-f673-/resourceGroups/ddb28fff-ded3-491/providers/Microsoft.CustomerInsights/hubs/72a845e/views"; + Requests[2316] = new DefaultHttpContext(); + Requests[2316].RequestServices = CreateServices(); + Requests[2316].Request.Method = "GET"; + Requests[2316].Request.Path = "/subscriptions/8d8c1bf4-0955-/resourceGroups/fc84e6ca-529e-49d/providers/Microsoft.CustomerInsights/hubs/622260a/widgetTypes"; + Requests[2317] = new DefaultHttpContext(); + Requests[2317].RequestServices = CreateServices(); + Requests[2317].Request.Method = "POST"; + Requests[2317].Request.Path = "/subscriptions/5743d4e0-cf99-/resourceGroups/d2f59cfd-88f0-40e/providers/Microsoft.DataBox/jobs/5cb7b2e/bookShipmentPickUp"; + Requests[2318] = new DefaultHttpContext(); + Requests[2318].RequestServices = CreateServices(); + Requests[2318].Request.Method = "POST"; + Requests[2318].Request.Path = "/subscriptions/96db5dd5-bc1f-/resourceGroups/e5a1b597-4a70-465/providers/Microsoft.DataBox/jobs/e493258/cancel"; + Requests[2319] = new DefaultHttpContext(); + Requests[2319].RequestServices = CreateServices(); + Requests[2319].Request.Method = "POST"; + Requests[2319].Request.Path = "/subscriptions/d60b6a25-2133-/resourceGroups/637d7267-0eb4-4c0/providers/Microsoft.DataBox/jobs/f15b217/copyLogsUri"; + Requests[2320] = new DefaultHttpContext(); + Requests[2320].RequestServices = CreateServices(); + Requests[2320].Request.Method = "POST"; + Requests[2320].Request.Path = "/subscriptions/9bf16963-e294-/resourceGroups/899f53ad-013c-464/providers/Microsoft.DataBox/jobs/a759409/downloadShippingLabel"; + Requests[2321] = new DefaultHttpContext(); + Requests[2321].RequestServices = CreateServices(); + Requests[2321].Request.Method = "POST"; + Requests[2321].Request.Path = "/subscriptions/eda098c1-bf26-/resourceGroups/96ee29b4-12bb-47b/providers/Microsoft.DataBox/jobs/591917c/listSecrets"; + Requests[2322] = new DefaultHttpContext(); + Requests[2322].RequestServices = CreateServices(); + Requests[2322].Request.Method = "POST"; + Requests[2322].Request.Path = "/subscriptions/18c1b8f7-444c-/resourceGroups/a8fe9026-bc56-48a/providers/Microsoft.DataBox/jobs/11dbc30/reportIssue"; + Requests[2323] = new DefaultHttpContext(); + Requests[2323].RequestServices = CreateServices(); + Requests[2323].Request.Method = "GET"; + Requests[2323].Request.Path = "/subscriptions/2c87e594-6545-/resourceGroups/084b1c9b-bc56-495/providers/Microsoft.DataFactory/factories/c4ae6d94-11/datasets"; + Requests[2324] = new DefaultHttpContext(); + Requests[2324].RequestServices = CreateServices(); + Requests[2324].Request.Method = "GET"; + Requests[2324].Request.Path = "/subscriptions/f096ef21-f7c2-/resourceGroups/90cbe96e-32af-4d6/providers/Microsoft.DataFactory/factories/b9412733-fe/integrationRuntimes"; + Requests[2325] = new DefaultHttpContext(); + Requests[2325].RequestServices = CreateServices(); + Requests[2325].Request.Method = "GET"; + Requests[2325].Request.Path = "/subscriptions/0ed7fe4e-2766-/resourceGroups/e907c634-93c7-436/providers/Microsoft.DataFactory/factories/44f82a59-66/linkedservices"; + Requests[2326] = new DefaultHttpContext(); + Requests[2326].RequestServices = CreateServices(); + Requests[2326].Request.Method = "POST"; + Requests[2326].Request.Path = "/subscriptions/c98159aa-ef6c-/resourceGroups/78f88ec2-0684-49d/providers/Microsoft.DataFactory/factories/392c0aa6-4f/pipelineruns"; + Requests[2327] = new DefaultHttpContext(); + Requests[2327].RequestServices = CreateServices(); + Requests[2327].Request.Method = "GET"; + Requests[2327].Request.Path = "/subscriptions/ddf4d891-69f3-/resourceGroups/9a3630bf-0890-449/providers/Microsoft.DataFactory/factories/7a17060c-4f/pipelines"; + Requests[2328] = new DefaultHttpContext(); + Requests[2328].RequestServices = CreateServices(); + Requests[2328].Request.Method = "GET"; + Requests[2328].Request.Path = "/subscriptions/c0251601-1880-/resourceGroups/05786b23-5c84-487/providers/Microsoft.DataFactory/factories/d67b55e6-0a/triggers"; + Requests[2329] = new DefaultHttpContext(); + Requests[2329].RequestServices = CreateServices(); + Requests[2329].Request.Method = "GET"; + Requests[2329].Request.Path = "/subscriptions/90846ab6-109d-/resourceGroups/3fa7fdef-61f9-4b7/providers/Microsoft.DataLakeAnalytics/accounts/d531b2ed-42/computePolicies"; + Requests[2330] = new DefaultHttpContext(); + Requests[2330].RequestServices = CreateServices(); + Requests[2330].Request.Method = "GET"; + Requests[2330].Request.Path = "/subscriptions/f2f22d12-545a-/resourceGroups/bd0f0e64-54b2-4d5/providers/Microsoft.DataLakeAnalytics/accounts/9a63b7c1-17/dataLakeStoreAccounts"; + Requests[2331] = new DefaultHttpContext(); + Requests[2331].RequestServices = CreateServices(); + Requests[2331].Request.Method = "GET"; + Requests[2331].Request.Path = "/subscriptions/c1a4d77f-3391-/resourceGroups/7919538c-1e19-4fa/providers/Microsoft.DataLakeAnalytics/accounts/1bd919e4-e5/firewallRules"; + Requests[2332] = new DefaultHttpContext(); + Requests[2332].RequestServices = CreateServices(); + Requests[2332].Request.Method = "GET"; + Requests[2332].Request.Path = "/subscriptions/63d68b26-0859-/resourceGroups/3133a6b9-80b0-458/providers/Microsoft.DataLakeAnalytics/accounts/d9f8e155-1b/storageAccounts"; + Requests[2333] = new DefaultHttpContext(); + Requests[2333].RequestServices = CreateServices(); + Requests[2333].Request.Method = "POST"; + Requests[2333].Request.Path = "/subscriptions/404be707-98b1-/resourceGroups/f21b3d81-5c97-4b7/providers/Microsoft.DataLakeStore/accounts/4e7aba44-e8/enableKeyVault"; + Requests[2334] = new DefaultHttpContext(); + Requests[2334].RequestServices = CreateServices(); + Requests[2334].Request.Method = "GET"; + Requests[2334].Request.Path = "/subscriptions/0417496d-b4b5-/resourceGroups/5c609994-f48b-4eb/providers/Microsoft.DataLakeStore/accounts/23d0e618-3e/firewallRules"; + Requests[2335] = new DefaultHttpContext(); + Requests[2335].RequestServices = CreateServices(); + Requests[2335].Request.Method = "GET"; + Requests[2335].Request.Path = "/subscriptions/24b2946b-84d3-/resourceGroups/9369c3ab-1ffe-448/providers/Microsoft.DataLakeStore/accounts/233673c9-32/trustedIdProviders"; + Requests[2336] = new DefaultHttpContext(); + Requests[2336].RequestServices = CreateServices(); + Requests[2336].Request.Method = "GET"; + Requests[2336].Request.Path = "/subscriptions/74b6b081-315c-/resourceGroups/e02f6e83-393d-421/providers/Microsoft.DataLakeStore/accounts/7bd89db6-a7/virtualNetworkRules"; + Requests[2337] = new DefaultHttpContext(); + Requests[2337].RequestServices = CreateServices(); + Requests[2337].Request.Method = "GET"; + Requests[2337].Request.Path = "/subscriptions/93f6179e-7d35-/resourceGroups/d43c4d93-f0a0-4f9/providers/Microsoft.DBforMySQL/servers/bd66af5b-c/configurations"; + Requests[2338] = new DefaultHttpContext(); + Requests[2338].RequestServices = CreateServices(); + Requests[2338].Request.Method = "GET"; + Requests[2338].Request.Path = "/subscriptions/e77794b9-9417-/resourceGroups/6ab12c8d-94c3-45b/providers/Microsoft.DBforMySQL/servers/1d6fe07c-b/databases"; + Requests[2339] = new DefaultHttpContext(); + Requests[2339].RequestServices = CreateServices(); + Requests[2339].Request.Method = "GET"; + Requests[2339].Request.Path = "/subscriptions/9bc5854f-6896-/resourceGroups/d36dd9da-7661-460/providers/Microsoft.DBforMySQL/servers/e36d0e3b-a/firewallRules"; + Requests[2340] = new DefaultHttpContext(); + Requests[2340].RequestServices = CreateServices(); + Requests[2340].Request.Method = "GET"; + Requests[2340].Request.Path = "/subscriptions/02294f48-08fb-/resourceGroups/1c47c8d6-94ac-49c/providers/Microsoft.DBforMySQL/servers/c2b6397e-2/logFiles"; + Requests[2341] = new DefaultHttpContext(); + Requests[2341].RequestServices = CreateServices(); + Requests[2341].Request.Method = "GET"; + Requests[2341].Request.Path = "/subscriptions/cf12a138-978a-/resourceGroups/24f88c1b-58fd-40a/providers/Microsoft.DBforMySQL/servers/3b780ff1-d/virtualNetworkRules"; + Requests[2342] = new DefaultHttpContext(); + Requests[2342].RequestServices = CreateServices(); + Requests[2342].Request.Method = "GET"; + Requests[2342].Request.Path = "/subscriptions/fe674c3c-25a1-/resourceGroups/be838f01-e985-47b/providers/Microsoft.DBforPostgreSQL/servers/6a03dc65-f/configurations"; + Requests[2343] = new DefaultHttpContext(); + Requests[2343].RequestServices = CreateServices(); + Requests[2343].Request.Method = "GET"; + Requests[2343].Request.Path = "/subscriptions/95c8b391-4c06-/resourceGroups/05fbce2f-342a-42a/providers/Microsoft.DBforPostgreSQL/servers/0c1be135-d/databases"; + Requests[2344] = new DefaultHttpContext(); + Requests[2344].RequestServices = CreateServices(); + Requests[2344].Request.Method = "GET"; + Requests[2344].Request.Path = "/subscriptions/a5d2a72d-2be7-/resourceGroups/31e4e843-c8a8-40d/providers/Microsoft.DBforPostgreSQL/servers/091d7ba3-0/firewallRules"; + Requests[2345] = new DefaultHttpContext(); + Requests[2345].RequestServices = CreateServices(); + Requests[2345].Request.Method = "GET"; + Requests[2345].Request.Path = "/subscriptions/454bbac8-573a-/resourceGroups/60cf34c6-7187-4cc/providers/Microsoft.DBforPostgreSQL/servers/29260ff8-b/logFiles"; + Requests[2346] = new DefaultHttpContext(); + Requests[2346].RequestServices = CreateServices(); + Requests[2346].Request.Method = "GET"; + Requests[2346].Request.Path = "/subscriptions/77ef79ab-7ff9-/resourceGroups/1dcaee4b-0631-41f/providers/Microsoft.DBforPostgreSQL/servers/cbb66656-9/virtualNetworkRules"; + Requests[2347] = new DefaultHttpContext(); + Requests[2347].RequestServices = CreateServices(); + Requests[2347].Request.Method = "GET"; + Requests[2347].Request.Path = "/subscriptions/61aa057d-16a4-/resourceGroups/b57b5634-7d63-498/providers/Microsoft.Devices/IotHubs/72f12a8a-c/routingEndpointsHealth"; + Requests[2348] = new DefaultHttpContext(); + Requests[2348].RequestServices = CreateServices(); + Requests[2348].Request.Method = "GET"; + Requests[2348].Request.Path = "/subscriptions/9258e0d2-66d1-/resourceGroups/76f6562d-2a67-436/providers/Microsoft.Devices/IotHubs/c997636d-5e7/certificates"; + Requests[2349] = new DefaultHttpContext(); + Requests[2349].RequestServices = CreateServices(); + Requests[2349].Request.Method = "POST"; + Requests[2349].Request.Path = "/subscriptions/55eae448-b471-/resourceGroups/24297b62-cf9d-42f/providers/Microsoft.Devices/IotHubs/4bdacaab-534/exportDevices"; + Requests[2350] = new DefaultHttpContext(); + Requests[2350].RequestServices = CreateServices(); + Requests[2350].Request.Method = "POST"; + Requests[2350].Request.Path = "/subscriptions/7ea62829-09cd-/resourceGroups/8c426e1e-cb74-427/providers/Microsoft.Devices/IotHubs/8fec5c9a-883/importDevices"; + Requests[2351] = new DefaultHttpContext(); + Requests[2351].RequestServices = CreateServices(); + Requests[2351].Request.Method = "GET"; + Requests[2351].Request.Path = "/subscriptions/45906e53-044f-/resourceGroups/461023f2-c7d0-4d4/providers/Microsoft.Devices/IotHubs/bfc612b3-9e1/IotHubStats"; + Requests[2352] = new DefaultHttpContext(); + Requests[2352].RequestServices = CreateServices(); + Requests[2352].Request.Method = "GET"; + Requests[2352].Request.Path = "/subscriptions/4f299567-9bed-/resourceGroups/26abdd9f-8563-438/providers/Microsoft.Devices/IotHubs/95702ee8-6d5/jobs"; + Requests[2353] = new DefaultHttpContext(); + Requests[2353].RequestServices = CreateServices(); + Requests[2353].Request.Method = "POST"; + Requests[2353].Request.Path = "/subscriptions/7a963a44-33c8-/resourceGroups/272b9327-91d9-4cc/providers/Microsoft.Devices/IotHubs/741f1ce3-e02/listkeys"; + Requests[2354] = new DefaultHttpContext(); + Requests[2354].RequestServices = CreateServices(); + Requests[2354].Request.Method = "GET"; + Requests[2354].Request.Path = "/subscriptions/365aa7c0-dd73-/resourceGroups/e5453639-9d32-49c/providers/Microsoft.Devices/IotHubs/af923135-30c/quotaMetrics"; + Requests[2355] = new DefaultHttpContext(); + Requests[2355].RequestServices = CreateServices(); + Requests[2355].Request.Method = "GET"; + Requests[2355].Request.Path = "/subscriptions/27b6e3ff-9469-/resourceGroups/d57aa509-01c3-45e/providers/Microsoft.Devices/IotHubs/d303c69c-b8e/skus"; + Requests[2356] = new DefaultHttpContext(); + Requests[2356].RequestServices = CreateServices(); + Requests[2356].Request.Method = "GET"; + Requests[2356].Request.Path = "/subscriptions/52ae4d8d-3757-/resourceGroups/496a528b-b885-46d/providers/Microsoft.Devices/provisioningServices/605bf1a0-7227-475f-9963/certificates"; + Requests[2357] = new DefaultHttpContext(); + Requests[2357].RequestServices = CreateServices(); + Requests[2357].Request.Method = "POST"; + Requests[2357].Request.Path = "/subscriptions/07c093ba-fac6-/resourceGroups/4582d808-25f6-41c/providers/Microsoft.Devices/provisioningServices/373dae6f-ed86-407f-8858/listkeys"; + Requests[2358] = new DefaultHttpContext(); + Requests[2358].RequestServices = CreateServices(); + Requests[2358].Request.Method = "GET"; + Requests[2358].Request.Path = "/subscriptions/bd41ef95-e3b0-/resourceGroups/72e4c032-0b0c-400/providers/Microsoft.Devices/provisioningServices/ed423f0c-24b2-45cc-8859/skus"; + Requests[2359] = new DefaultHttpContext(); + Requests[2359].RequestServices = CreateServices(); + Requests[2359].Request.Method = "GET"; + Requests[2359].Request.Path = "/subscriptions/164bcf67-6fd1-/resourceGroups/88490251-ebde-48b/providers/Microsoft.DevTestLab/labs/9e3099f/artifactsources"; + Requests[2360] = new DefaultHttpContext(); + Requests[2360].RequestServices = CreateServices(); + Requests[2360].Request.Method = "GET"; + Requests[2360].Request.Path = "/subscriptions/2f72209d-3420-/resourceGroups/0d90afea-3d5d-45c/providers/Microsoft.DevTestLab/labs/3dc3417/costinsights"; + Requests[2361] = new DefaultHttpContext(); + Requests[2361].RequestServices = CreateServices(); + Requests[2361].Request.Method = "GET"; + Requests[2361].Request.Path = "/subscriptions/a13c1f33-f31b-/resourceGroups/beee4ae7-ffd0-429/providers/Microsoft.DevTestLab/labs/be7e92f/costs"; + Requests[2362] = new DefaultHttpContext(); + Requests[2362].RequestServices = CreateServices(); + Requests[2362].Request.Method = "GET"; + Requests[2362].Request.Path = "/subscriptions/0416bdb0-20fe-/resourceGroups/4e101de7-82e0-434/providers/Microsoft.DevTestLab/labs/b14f9dc/customimages"; + Requests[2363] = new DefaultHttpContext(); + Requests[2363].RequestServices = CreateServices(); + Requests[2363].Request.Method = "GET"; + Requests[2363].Request.Path = "/subscriptions/c507ff08-8630-/resourceGroups/b4189490-3804-4fd/providers/Microsoft.DevTestLab/labs/ea0e810/formulas"; + Requests[2364] = new DefaultHttpContext(); + Requests[2364].RequestServices = CreateServices(); + Requests[2364].Request.Method = "GET"; + Requests[2364].Request.Path = "/subscriptions/d0ebab98-eb07-/resourceGroups/9ad8f24d-1f04-4fd/providers/Microsoft.DevTestLab/labs/532c972/galleryimages"; + Requests[2365] = new DefaultHttpContext(); + Requests[2365].RequestServices = CreateServices(); + Requests[2365].Request.Method = "GET"; + Requests[2365].Request.Path = "/subscriptions/13d3ee50-9fe1-/resourceGroups/4bbdd6fe-e545-4bc/providers/Microsoft.DevTestLab/labs/7b038ec/notificationchannels"; + Requests[2366] = new DefaultHttpContext(); + Requests[2366].RequestServices = CreateServices(); + Requests[2366].Request.Method = "GET"; + Requests[2366].Request.Path = "/subscriptions/b8465bef-c3bb-/resourceGroups/29b68972-de56-459/providers/Microsoft.DevTestLab/labs/16d4dc8/schedules"; + Requests[2367] = new DefaultHttpContext(); + Requests[2367].RequestServices = CreateServices(); + Requests[2367].Request.Method = "GET"; + Requests[2367].Request.Path = "/subscriptions/d73a36d5-80df-/resourceGroups/65581861-953d-407/providers/Microsoft.DevTestLab/labs/f6ec44d/servicerunners"; + Requests[2368] = new DefaultHttpContext(); + Requests[2368].RequestServices = CreateServices(); + Requests[2368].Request.Method = "GET"; + Requests[2368].Request.Path = "/subscriptions/237d7d24-5f65-/resourceGroups/1a7a6090-5812-45a/providers/Microsoft.DevTestLab/labs/ddf24e5/users"; + Requests[2369] = new DefaultHttpContext(); + Requests[2369].RequestServices = CreateServices(); + Requests[2369].Request.Method = "GET"; + Requests[2369].Request.Path = "/subscriptions/ba0a0530-4eba-/resourceGroups/9db5d3e3-899d-487/providers/Microsoft.DevTestLab/labs/061f9b6/virtualmachines"; + Requests[2370] = new DefaultHttpContext(); + Requests[2370].RequestServices = CreateServices(); + Requests[2370].Request.Method = "GET"; + Requests[2370].Request.Path = "/subscriptions/92ff9fcb-28fb-/resourceGroups/712b8b26-e17f-4fa/providers/Microsoft.DevTestLab/labs/deb7d1e/virtualnetworks"; + Requests[2371] = new DefaultHttpContext(); + Requests[2371].RequestServices = CreateServices(); + Requests[2371].Request.Method = "POST"; + Requests[2371].Request.Path = "/subscriptions/93fb7aa0-d6af-/resourceGroups/a773acc6-b590-4e6/providers/Microsoft.DevTestLab/labs/1a342/claimAnyVm"; + Requests[2372] = new DefaultHttpContext(); + Requests[2372].RequestServices = CreateServices(); + Requests[2372].Request.Method = "POST"; + Requests[2372].Request.Path = "/subscriptions/0425c12b-9083-/resourceGroups/cb9a2774-d4cd-4bd/providers/Microsoft.DevTestLab/labs/6bf8c/createEnvironment"; + Requests[2373] = new DefaultHttpContext(); + Requests[2373].RequestServices = CreateServices(); + Requests[2373].Request.Method = "POST"; + Requests[2373].Request.Path = "/subscriptions/c8788197-a4e6-/resourceGroups/d8e0af9d-df15-480/providers/Microsoft.DevTestLab/labs/a03f6/exportResourceUsage"; + Requests[2374] = new DefaultHttpContext(); + Requests[2374].RequestServices = CreateServices(); + Requests[2374].Request.Method = "POST"; + Requests[2374].Request.Path = "/subscriptions/775d7a21-c60f-/resourceGroups/9d8a5376-d301-407/providers/Microsoft.DevTestLab/labs/9d644/generateUploadUri"; + Requests[2375] = new DefaultHttpContext(); + Requests[2375].RequestServices = CreateServices(); + Requests[2375].Request.Method = "POST"; + Requests[2375].Request.Path = "/subscriptions/6281961f-6808-/resourceGroups/1022c290-0822-419/providers/Microsoft.DevTestLab/labs/7b737/listVhds"; + Requests[2376] = new DefaultHttpContext(); + Requests[2376].RequestServices = CreateServices(); + Requests[2376].Request.Method = "POST"; + Requests[2376].Request.Path = "/subscriptions/215afc2e-266a-/resourceGroups/b1110cdf-83ed-474/providers/Microsoft.DevTestLab/schedules/69b23/execute"; + Requests[2377] = new DefaultHttpContext(); + Requests[2377].RequestServices = CreateServices(); + Requests[2377].Request.Method = "POST"; + Requests[2377].Request.Path = "/subscriptions/1fed1957-39f7-/resourceGroups/44e05af9-64da-4dd/providers/Microsoft.DevTestLab/schedules/e58c2/retarget"; + Requests[2378] = new DefaultHttpContext(); + Requests[2378].RequestServices = CreateServices(); + Requests[2378].Request.Method = "POST"; + Requests[2378].Request.Path = "/subscriptions/9113a290-fb08-/resourceGroups/18636feb-9bf4-4ea/providers/Microsoft.DocumentDB/databaseAccounts/cc087092-12/failoverPriorityChange"; + Requests[2379] = new DefaultHttpContext(); + Requests[2379].RequestServices = CreateServices(); + Requests[2379].Request.Method = "POST"; + Requests[2379].Request.Path = "/subscriptions/12eb7b34-4b75-/resourceGroups/9ebfc4ef-ddee-4c9/providers/Microsoft.DocumentDB/databaseAccounts/2254ff8d-bb/listConnectionStrings"; + Requests[2380] = new DefaultHttpContext(); + Requests[2380].RequestServices = CreateServices(); + Requests[2380].Request.Method = "POST"; + Requests[2380].Request.Path = "/subscriptions/741599a2-b3ba-/resourceGroups/cb5ae435-659a-400/providers/Microsoft.DocumentDB/databaseAccounts/0cbb9a5a-9e/listKeys"; + Requests[2381] = new DefaultHttpContext(); + Requests[2381].RequestServices = CreateServices(); + Requests[2381].Request.Method = "GET"; + Requests[2381].Request.Path = "/subscriptions/2b4d0069-204c-/resourceGroups/e7370607-8b6e-40d/providers/Microsoft.DocumentDB/databaseAccounts/9d90a3e0-17/metricDefinitions"; + Requests[2382] = new DefaultHttpContext(); + Requests[2382].RequestServices = CreateServices(); + Requests[2382].Request.Method = "GET"; + Requests[2382].Request.Path = "/subscriptions/a103bed0-e379-/resourceGroups/488d5a08-75fa-447/providers/Microsoft.DocumentDB/databaseAccounts/8664d213-4c/metrics"; + Requests[2383] = new DefaultHttpContext(); + Requests[2383].RequestServices = CreateServices(); + Requests[2383].Request.Method = "POST"; + Requests[2383].Request.Path = "/subscriptions/a1376f80-398b-/resourceGroups/5c530738-9bdb-4af/providers/Microsoft.DocumentDB/databaseAccounts/662e0ff1-f3/offlineRegion"; + Requests[2384] = new DefaultHttpContext(); + Requests[2384].RequestServices = CreateServices(); + Requests[2384].Request.Method = "POST"; + Requests[2384].Request.Path = "/subscriptions/832899e8-b826-/resourceGroups/b049ad9e-0d36-400/providers/Microsoft.DocumentDB/databaseAccounts/54da2e7e-ff/onlineRegion"; + Requests[2385] = new DefaultHttpContext(); + Requests[2385].RequestServices = CreateServices(); + Requests[2385].Request.Method = "GET"; + Requests[2385].Request.Path = "/subscriptions/f91ef0f1-b358-/resourceGroups/65cb22f6-9aa3-4fb/providers/Microsoft.DocumentDB/databaseAccounts/98719802-1a/readonlykeys"; + Requests[2386] = new DefaultHttpContext(); + Requests[2386].RequestServices = CreateServices(); + Requests[2386].Request.Method = "POST"; + Requests[2386].Request.Path = "/subscriptions/2b2ae487-67d4-/resourceGroups/67285803-dd50-4c8/providers/Microsoft.DocumentDB/databaseAccounts/476d8789-f2/regenerateKey"; + Requests[2387] = new DefaultHttpContext(); + Requests[2387].RequestServices = CreateServices(); + Requests[2387].Request.Method = "GET"; + Requests[2387].Request.Path = "/subscriptions/63fc87ee-f13b-/resourceGroups/068d32fd-ae46-45b/providers/Microsoft.DocumentDB/databaseAccounts/84d19579-d6/usages"; + Requests[2388] = new DefaultHttpContext(); + Requests[2388].RequestServices = CreateServices(); + Requests[2388].Request.Method = "GET"; + Requests[2388].Request.Path = "/subscriptions/da04cb18-7b0c-/resourceGroups/11064f0a-0c02-4db/providers/Microsoft.DomainRegistration/domains/b57eefc1-7/domainOwnershipIdentifiers"; + Requests[2389] = new DefaultHttpContext(); + Requests[2389].RequestServices = CreateServices(); + Requests[2389].Request.Method = "POST"; + Requests[2389].Request.Path = "/subscriptions/b0afacb5-379a-/resourceGroups/b42cb630-938c-4bb/providers/Microsoft.DomainRegistration/domains/b8fd0a90-6/renew"; + Requests[2390] = new DefaultHttpContext(); + Requests[2390].RequestServices = CreateServices(); + Requests[2390].Request.Method = "GET"; + Requests[2390].Request.Path = "/subscriptions/3daabbf0-3fa6-/resourceGroups/72525e02-b11f-49c/providers/Microsoft.EventGrid/locations/00c3d84f/eventSubscriptions"; + Requests[2391] = new DefaultHttpContext(); + Requests[2391].RequestServices = CreateServices(); + Requests[2391].Request.Method = "POST"; + Requests[2391].Request.Path = "/subscriptions/3f4afd71-0725-/resourceGroups/f4eca3a2-4766-4a9/providers/Microsoft.EventGrid/topics/4b092c32-/listKeys"; + Requests[2392] = new DefaultHttpContext(); + Requests[2392].RequestServices = CreateServices(); + Requests[2392].Request.Method = "POST"; + Requests[2392].Request.Path = "/subscriptions/73a20738-f036-/resourceGroups/79a3b705-5a56-479/providers/Microsoft.EventGrid/topics/7f4dd137-/regenerateKey"; + Requests[2393] = new DefaultHttpContext(); + Requests[2393].RequestServices = CreateServices(); + Requests[2393].Request.Method = "GET"; + Requests[2393].Request.Path = "/subscriptions/2b5be291-7f6f-/resourceGroups/0b0d83c6-e29f-4b3/providers/Microsoft.EventGrid/topicTypes/ec7ca112-e00a/eventSubscriptions"; + Requests[2394] = new DefaultHttpContext(); + Requests[2394].RequestServices = CreateServices(); + Requests[2394].Request.Method = "POST"; + Requests[2394].Request.Path = "/subscriptions/f2ad7b75-f010-/resourceGroups/d9bed0a9-4566-432/providers/Microsoft.EventHub/namespaces/129ee83c-7af6/AuthorizationRules"; + Requests[2395] = new DefaultHttpContext(); + Requests[2395].RequestServices = CreateServices(); + Requests[2395].Request.Method = "GET"; + Requests[2395].Request.Path = "/subscriptions/3d39d85b-e926-/resourceGroups/2b360384-3229-4c8/providers/Microsoft.EventHub/namespaces/b2a6a6b6-955d/AuthorizationRules"; + Requests[2396] = new DefaultHttpContext(); + Requests[2396].RequestServices = CreateServices(); + Requests[2396].Request.Method = "GET"; + Requests[2396].Request.Path = "/subscriptions/6d142232-bd52-/resourceGroups/7943304f-d364-43e/providers/Microsoft.EventHub/namespaces/9ce0676a-4eb9/disasterRecoveryConfigs"; + Requests[2397] = new DefaultHttpContext(); + Requests[2397].RequestServices = CreateServices(); + Requests[2397].Request.Method = "GET"; + Requests[2397].Request.Path = "/subscriptions/3cbf6b9a-0a68-/resourceGroups/b2076a95-e483-43c/providers/Microsoft.EventHub/namespaces/e6a7dd25-9cf9/eventhubs"; + Requests[2398] = new DefaultHttpContext(); + Requests[2398].RequestServices = CreateServices(); + Requests[2398].Request.Method = "GET"; + Requests[2398].Request.Path = "/subscriptions/8ccd4f0f-c859-/resourceGroups/e58d9131-51a1-4fc/providers/Microsoft.EventHub/namespaces/610d2991-d2c5/messagingplan"; + Requests[2399] = new DefaultHttpContext(); + Requests[2399].RequestServices = CreateServices(); + Requests[2399].Request.Method = "GET"; + Requests[2399].Request.Path = "/subscriptions/392f50fc-8ccb-/resourceGroups/155cd4e4-71ad-4a7/providers/Microsoft.Fabric.Admin/fabricLocations/6028f335/edgeGatewayPools"; + Requests[2400] = new DefaultHttpContext(); + Requests[2400].RequestServices = CreateServices(); + Requests[2400].Request.Method = "GET"; + Requests[2400].Request.Path = "/subscriptions/1f883658-d94c-/resourceGroups/fe8b3382-0575-499/providers/Microsoft.Fabric.Admin/fabricLocations/61b336b3/edgeGateways"; + Requests[2401] = new DefaultHttpContext(); + Requests[2401].RequestServices = CreateServices(); + Requests[2401].Request.Method = "GET"; + Requests[2401].Request.Path = "/subscriptions/12781d36-3f1c-/resourceGroups/55000685-4937-476/providers/Microsoft.Fabric.Admin/fabricLocations/f871b07b/fileShares"; + Requests[2402] = new DefaultHttpContext(); + Requests[2402].RequestServices = CreateServices(); + Requests[2402].Request.Method = "GET"; + Requests[2402].Request.Path = "/subscriptions/91c773c7-83a9-/resourceGroups/958b16c3-971f-4bc/providers/Microsoft.Fabric.Admin/fabricLocations/d798dd04/infraRoleInstances"; + Requests[2403] = new DefaultHttpContext(); + Requests[2403].RequestServices = CreateServices(); + Requests[2403].Request.Method = "GET"; + Requests[2403].Request.Path = "/subscriptions/77dcc0cb-917a-/resourceGroups/fbfec1d6-2e3b-499/providers/Microsoft.Fabric.Admin/fabricLocations/c2b383c7/infraRoles"; + Requests[2404] = new DefaultHttpContext(); + Requests[2404].RequestServices = CreateServices(); + Requests[2404].Request.Method = "GET"; + Requests[2404].Request.Path = "/subscriptions/e9889d94-a4bd-/resourceGroups/0b02a36b-f88b-451/providers/Microsoft.Fabric.Admin/fabricLocations/fe876785/ipPools"; + Requests[2405] = new DefaultHttpContext(); + Requests[2405].RequestServices = CreateServices(); + Requests[2405].Request.Method = "GET"; + Requests[2405].Request.Path = "/subscriptions/8b46d9a0-83c2-/resourceGroups/ca618674-cc6d-4e5/providers/Microsoft.Fabric.Admin/fabricLocations/bae94e27/logicalNetworks"; + Requests[2406] = new DefaultHttpContext(); + Requests[2406].RequestServices = CreateServices(); + Requests[2406].Request.Method = "GET"; + Requests[2406].Request.Path = "/subscriptions/f06fd3b8-7609-/resourceGroups/8dfde893-c77e-4e0/providers/Microsoft.Fabric.Admin/fabricLocations/492ce36e/macAddressPools"; + Requests[2407] = new DefaultHttpContext(); + Requests[2407].RequestServices = CreateServices(); + Requests[2407].Request.Method = "GET"; + Requests[2407].Request.Path = "/subscriptions/f8708a2a-bbed-/resourceGroups/0155d07b-7049-425/providers/Microsoft.Fabric.Admin/fabricLocations/babdfa15/scaleUnitNodes"; + Requests[2408] = new DefaultHttpContext(); + Requests[2408].RequestServices = CreateServices(); + Requests[2408].Request.Method = "GET"; + Requests[2408].Request.Path = "/subscriptions/8b1cd55e-cab8-/resourceGroups/f570f3c4-a64d-4bd/providers/Microsoft.Fabric.Admin/fabricLocations/2d873c62/scaleUnits"; + Requests[2409] = new DefaultHttpContext(); + Requests[2409].RequestServices = CreateServices(); + Requests[2409].Request.Method = "GET"; + Requests[2409].Request.Path = "/subscriptions/833a2ed3-b181-/resourceGroups/e8c9e308-c345-47f/providers/Microsoft.Fabric.Admin/fabricLocations/3f57c767/slbMuxInstances"; + Requests[2410] = new DefaultHttpContext(); + Requests[2410].RequestServices = CreateServices(); + Requests[2410].Request.Method = "GET"; + Requests[2410].Request.Path = "/subscriptions/2a23a705-c889-/resourceGroups/c40833b2-e43a-45c/providers/Microsoft.Fabric.Admin/fabricLocations/6d027a1b/storageSubSystems"; + Requests[2411] = new DefaultHttpContext(); + Requests[2411].RequestServices = CreateServices(); + Requests[2411].Request.Method = "GET"; + Requests[2411].Request.Path = "/subscriptions/6f782003-89e8-/resourceGroups/95200c2f-d7f2-478/providers/Microsoft.HDInsight/clusters/7fe5ae9c-03/applications"; + Requests[2412] = new DefaultHttpContext(); + Requests[2412].RequestServices = CreateServices(); + Requests[2412].Request.Method = "POST"; + Requests[2412].Request.Path = "/subscriptions/d6f5c3e5-869f-/resourceGroups/741b23fd-a9e6-40a/providers/Microsoft.HDInsight/clusters/52ff7ece-32/executeScriptActions"; + Requests[2413] = new DefaultHttpContext(); + Requests[2413].RequestServices = CreateServices(); + Requests[2413].Request.Method = "GET"; + Requests[2413].Request.Path = "/subscriptions/44f85668-d80a-/resourceGroups/082a6457-9738-485/providers/Microsoft.HDInsight/clusters/82dedf91-ff/scriptActions"; + Requests[2414] = new DefaultHttpContext(); + Requests[2414].RequestServices = CreateServices(); + Requests[2414].Request.Method = "GET"; + Requests[2414].Request.Path = "/subscriptions/120db55e-2967-/resourceGroups/31ce5be0-100b-424/providers/Microsoft.HDInsight/clusters/afbd9bc3-12/scriptExecutionHistory"; + Requests[2415] = new DefaultHttpContext(); + Requests[2415].RequestServices = CreateServices(); + Requests[2415].Request.Method = "POST"; + Requests[2415].Request.Path = "/subscriptions/6edcda91-76a9-/resourceGroups/78c554bb-b985-425/providers/Microsoft.ImportExport/jobs/8d06b23/listBitLockerKeys"; + Requests[2416] = new DefaultHttpContext(); + Requests[2416].RequestServices = CreateServices(); + Requests[2416].Request.Method = "GET"; + Requests[2416].Request.Path = "/subscriptions/36621aae-6baa-/resourceGroups/fbee9e40-64a2-4bc/providers/Microsoft.InfrastructureInsights.Admin/regionHealths/48a55622/alerts"; + Requests[2417] = new DefaultHttpContext(); + Requests[2417].RequestServices = CreateServices(); + Requests[2417].Request.Method = "GET"; + Requests[2417].Request.Path = "/subscriptions/426311ba-914b-/resourceGroups/4c220240-449b-4f3/providers/Microsoft.InfrastructureInsights.Admin/regionHealths/1f8a7d92/serviceHealths"; + Requests[2418] = new DefaultHttpContext(); + Requests[2418].RequestServices = CreateServices(); + Requests[2418].Request.Method = "POST"; + Requests[2418].Request.Path = "/subscriptions/d9009777-f6e4-/resourceGroups/81605d0c-5348-409/providers/microsoft.insights/actionGroups/bc59baed-1fb3-4/subscribe"; + Requests[2419] = new DefaultHttpContext(); + Requests[2419].RequestServices = CreateServices(); + Requests[2419].Request.Method = "GET"; + Requests[2419].Request.Path = "/subscriptions/3f3288b5-bc14-/resourcegroups/daaeaeb2-0396-44f/providers/microsoft.insights/alertrules/c07f67af/incidents"; + Requests[2420] = new DefaultHttpContext(); + Requests[2420].RequestServices = CreateServices(); + Requests[2420].Request.Method = "GET"; + Requests[2420].Request.Path = "/subscriptions/3b6e5052-0ca5-/resourceGroups/0d2cda6f-5139-421/providers/Microsoft.Insights/components/0cebe3c4-a326/webtests"; + Requests[2421] = new DefaultHttpContext(); + Requests[2421].RequestServices = CreateServices(); + Requests[2421].Request.Method = "PUT"; + Requests[2421].Request.Path = "/subscriptions/02169175-6bc8-/resourceGroups/d4ae599b-223c-46f/providers/Microsoft.Insights/components/fd311d09-2c5/Annotations"; + Requests[2422] = new DefaultHttpContext(); + Requests[2422].RequestServices = CreateServices(); + Requests[2422].Request.Method = "GET"; + Requests[2422].Request.Path = "/subscriptions/ca0ea866-2542-/resourceGroups/7399622e-81e2-47c/providers/Microsoft.Insights/components/0cdc335c-519/Annotations"; + Requests[2423] = new DefaultHttpContext(); + Requests[2423].RequestServices = CreateServices(); + Requests[2423].Request.Method = "GET"; + Requests[2423].Request.Path = "/subscriptions/6b1486e6-525a-/resourceGroups/528df4e2-39b4-473/providers/Microsoft.Insights/components/93079dc7-f20/ApiKeys"; + Requests[2424] = new DefaultHttpContext(); + Requests[2424].RequestServices = CreateServices(); + Requests[2424].Request.Method = "POST"; + Requests[2424].Request.Path = "/subscriptions/5ce6f766-b661-/resourceGroups/03095bf0-15e0-47f/providers/Microsoft.Insights/components/8ece28c7-c73/ApiKeys"; + Requests[2425] = new DefaultHttpContext(); + Requests[2425].RequestServices = CreateServices(); + Requests[2425].Request.Method = "PUT"; + Requests[2425].Request.Path = "/subscriptions/b68d7b37-3bb9-/resourceGroups/8f2c9140-4863-473/providers/Microsoft.Insights/components/81b185c0-114/currentbillingfeatures"; + Requests[2426] = new DefaultHttpContext(); + Requests[2426].RequestServices = CreateServices(); + Requests[2426].Request.Method = "GET"; + Requests[2426].Request.Path = "/subscriptions/d2ff1134-5583-/resourceGroups/ad87d64c-503e-4f6/providers/Microsoft.Insights/components/3d6299bc-90a/currentbillingfeatures"; + Requests[2427] = new DefaultHttpContext(); + Requests[2427].RequestServices = CreateServices(); + Requests[2427].Request.Method = "GET"; + Requests[2427].Request.Path = "/subscriptions/5b603267-9167-/resourceGroups/1bcf371f-7887-45c/providers/Microsoft.Insights/components/d0057ccd-7a5/DefaultWorkItemConfig"; + Requests[2428] = new DefaultHttpContext(); + Requests[2428].RequestServices = CreateServices(); + Requests[2428].Request.Method = "POST"; + Requests[2428].Request.Path = "/subscriptions/76ed07d7-a36e-/resourceGroups/6095f8fe-7da2-4bc/providers/Microsoft.Insights/components/62528b6f-45a/exportconfiguration"; + Requests[2429] = new DefaultHttpContext(); + Requests[2429].RequestServices = CreateServices(); + Requests[2429].Request.Method = "GET"; + Requests[2429].Request.Path = "/subscriptions/70789e34-8a3d-/resourceGroups/1cd4b96e-5a8c-482/providers/Microsoft.Insights/components/aec8b67b-5f7/exportconfiguration"; + Requests[2430] = new DefaultHttpContext(); + Requests[2430].RequestServices = CreateServices(); + Requests[2430].Request.Method = "GET"; + Requests[2430].Request.Path = "/subscriptions/1f5640a1-a1b2-/resourceGroups/5af995c3-b3a2-415/providers/Microsoft.Insights/components/abc57574-475/favorites"; + Requests[2431] = new DefaultHttpContext(); + Requests[2431].RequestServices = CreateServices(); + Requests[2431].Request.Method = "GET"; + Requests[2431].Request.Path = "/subscriptions/7b44cc5a-ea3c-/resourceGroups/871924ce-3fed-468/providers/Microsoft.Insights/components/6dd11bc3-306/featurecapabilities"; + Requests[2432] = new DefaultHttpContext(); + Requests[2432].RequestServices = CreateServices(); + Requests[2432].Request.Method = "GET"; + Requests[2432].Request.Path = "/subscriptions/02b4ef49-d4b3-/resourceGroups/1bab2cad-ba16-4c6/providers/Microsoft.Insights/components/c44ca8c5-3b4/getavailablebillingfeatures"; + Requests[2433] = new DefaultHttpContext(); + Requests[2433].RequestServices = CreateServices(); + Requests[2433].Request.Method = "GET"; + Requests[2433].Request.Path = "/subscriptions/8347daba-3447-/resourceGroups/71e6d8de-7b79-49f/providers/Microsoft.Insights/components/3846c1e7-788/ProactiveDetectionConfigs"; + Requests[2434] = new DefaultHttpContext(); + Requests[2434].RequestServices = CreateServices(); + Requests[2434].Request.Method = "POST"; + Requests[2434].Request.Path = "/subscriptions/9674bb72-0606-/resourceGroups/a954179b-41ef-4c9/providers/Microsoft.Insights/components/e48ed1b0-ad0/purge"; + Requests[2435] = new DefaultHttpContext(); + Requests[2435].RequestServices = CreateServices(); + Requests[2435].Request.Method = "GET"; + Requests[2435].Request.Path = "/subscriptions/fcd1bb21-7747-/resourceGroups/b159f2e3-1bc5-41e/providers/Microsoft.Insights/components/cd31ed42-673/quotastatus"; + Requests[2436] = new DefaultHttpContext(); + Requests[2436].RequestServices = CreateServices(); + Requests[2436].Request.Method = "GET"; + Requests[2436].Request.Path = "/subscriptions/12d1122c-6b64-/resourceGroups/34666675-a751-40b/providers/Microsoft.Insights/components/93a63655-9d3/syntheticmonitorlocations"; + Requests[2437] = new DefaultHttpContext(); + Requests[2437].RequestServices = CreateServices(); + Requests[2437].Request.Method = "GET"; + Requests[2437].Request.Path = "/subscriptions/5d11ff98-778d-/resourceGroups/626c0991-4343-45b/providers/Microsoft.Insights/components/eac801f1-fab/WorkItemConfigs"; + Requests[2438] = new DefaultHttpContext(); + Requests[2438].RequestServices = CreateServices(); + Requests[2438].Request.Method = "POST"; + Requests[2438].Request.Path = "/subscriptions/fbad2c35-7ee9-/resourceGroups/3af28f67-0272-4e7/providers/Microsoft.Insights/components/e0ef114e-bbe/WorkItemConfigs"; + Requests[2439] = new DefaultHttpContext(); + Requests[2439].RequestServices = CreateServices(); + Requests[2439].Request.Method = "GET"; + Requests[2439].Request.Path = "/subscriptions/83fa995e-53f0-/resourceGroups/e233caa1-a230-43a/providers/Microsoft.Insights/metricAlerts/f420e3f2/status"; + Requests[2440] = new DefaultHttpContext(); + Requests[2440].RequestServices = CreateServices(); + Requests[2440].Request.Method = "GET"; + Requests[2440].Request.Path = "/subscriptions/59960f61-a719-/resourceGroups/5405a2e9-b3cf-4d6/providers/Microsoft.KeyVault/vaults/24b1c79b-/secrets"; + Requests[2441] = new DefaultHttpContext(); + Requests[2441].RequestServices = CreateServices(); + Requests[2441].Request.Method = "GET"; + Requests[2441].Request.Path = "/subscriptions/0d6d1ef6-abd5-/resourceGroups/fb8bdcbe-5cd8-43e/providers/Microsoft.Logic/integrationAccounts/43136dc1-6a1e-41eb-87c/agreements"; + Requests[2442] = new DefaultHttpContext(); + Requests[2442].RequestServices = CreateServices(); + Requests[2442].Request.Method = "GET"; + Requests[2442].Request.Path = "/subscriptions/9dd209a3-3f6e-/resourceGroups/a5e34aaf-56aa-464/providers/Microsoft.Logic/integrationAccounts/e842b239-1c02-4508-8cc/assemblies"; + Requests[2443] = new DefaultHttpContext(); + Requests[2443].RequestServices = CreateServices(); + Requests[2443].Request.Method = "GET"; + Requests[2443].Request.Path = "/subscriptions/430254b2-159f-/resourceGroups/0c1efcfc-9aaa-4f9/providers/Microsoft.Logic/integrationAccounts/6ff327c1-1008-45f0-9ad/batchConfigurations"; + Requests[2444] = new DefaultHttpContext(); + Requests[2444].RequestServices = CreateServices(); + Requests[2444].Request.Method = "GET"; + Requests[2444].Request.Path = "/subscriptions/eed709a5-ce5b-/resourceGroups/b33f9643-a223-45d/providers/Microsoft.Logic/integrationAccounts/5bff32b5-c342-4bb6-ae9/certificates"; + Requests[2445] = new DefaultHttpContext(); + Requests[2445].RequestServices = CreateServices(); + Requests[2445].Request.Method = "POST"; + Requests[2445].Request.Path = "/subscriptions/22d36142-e207-/resourceGroups/a95f462b-4724-482/providers/Microsoft.Logic/integrationAccounts/2fbae2b4-71b7-431c-986/listCallbackUrl"; + Requests[2446] = new DefaultHttpContext(); + Requests[2446].RequestServices = CreateServices(); + Requests[2446].Request.Method = "POST"; + Requests[2446].Request.Path = "/subscriptions/a925e4f7-86fd-/resourceGroups/441a770e-a534-49f/providers/Microsoft.Logic/integrationAccounts/6e233e25-4f2e-4655-975/listKeyVaultKeys"; + Requests[2447] = new DefaultHttpContext(); + Requests[2447].RequestServices = CreateServices(); + Requests[2447].Request.Method = "POST"; + Requests[2447].Request.Path = "/subscriptions/3d197d87-3dad-/resourceGroups/82cc607c-2b40-4a3/providers/Microsoft.Logic/integrationAccounts/db1f2bed-479e-4876-9d0/logTrackingEvents"; + Requests[2448] = new DefaultHttpContext(); + Requests[2448].RequestServices = CreateServices(); + Requests[2448].Request.Method = "GET"; + Requests[2448].Request.Path = "/subscriptions/d4ae2de4-552c-/resourceGroups/2b8baf8d-a5e6-4f1/providers/Microsoft.Logic/integrationAccounts/ef0e4cfc-fe51-4fde-972/maps"; + Requests[2449] = new DefaultHttpContext(); + Requests[2449].RequestServices = CreateServices(); + Requests[2449].Request.Method = "GET"; + Requests[2449].Request.Path = "/subscriptions/ce8640e5-8dcd-/resourceGroups/e6b587dc-4d20-436/providers/Microsoft.Logic/integrationAccounts/ce91ea4c-4a50-4c51-89a/partners"; + Requests[2450] = new DefaultHttpContext(); + Requests[2450].RequestServices = CreateServices(); + Requests[2450].Request.Method = "POST"; + Requests[2450].Request.Path = "/subscriptions/c95e4875-9391-/resourceGroups/342473bd-403b-461/providers/Microsoft.Logic/integrationAccounts/512d79c7-6bc2-4f50-9ae/regenerateAccessKey"; + Requests[2451] = new DefaultHttpContext(); + Requests[2451].RequestServices = CreateServices(); + Requests[2451].Request.Method = "GET"; + Requests[2451].Request.Path = "/subscriptions/622dc1b4-f9cc-/resourceGroups/1ee72e25-73fa-475/providers/Microsoft.Logic/integrationAccounts/84005798-52ac-4c50-827/schemas"; + Requests[2452] = new DefaultHttpContext(); + Requests[2452].RequestServices = CreateServices(); + Requests[2452].Request.Method = "GET"; + Requests[2452].Request.Path = "/subscriptions/39152a41-c5a4-/resourceGroups/7c192b1d-41b2-4b0/providers/Microsoft.Logic/integrationAccounts/c2be329d-8094-4500-84d/sessions"; + Requests[2453] = new DefaultHttpContext(); + Requests[2453].RequestServices = CreateServices(); + Requests[2453].Request.Method = "GET"; + Requests[2453].Request.Path = "/subscriptions/7fa871b9-0d77-/resourceGroups/b7e9655f-8033-422/providers/Microsoft.Logic/workflows/2fece0c5-102/accessKeys"; + Requests[2454] = new DefaultHttpContext(); + Requests[2454].RequestServices = CreateServices(); + Requests[2454].Request.Method = "POST"; + Requests[2454].Request.Path = "/subscriptions/b18ad83f-3139-/resourceGroups/fdbca50a-af58-474/providers/Microsoft.Logic/workflows/14262dcb-b25/disable"; + Requests[2455] = new DefaultHttpContext(); + Requests[2455].RequestServices = CreateServices(); + Requests[2455].Request.Method = "POST"; + Requests[2455].Request.Path = "/subscriptions/25b6b1d7-4586-/resourceGroups/896eefbd-22a2-495/providers/Microsoft.Logic/workflows/01318ecf-8f6/enable"; + Requests[2456] = new DefaultHttpContext(); + Requests[2456].RequestServices = CreateServices(); + Requests[2456].Request.Method = "POST"; + Requests[2456].Request.Path = "/subscriptions/82c7aa6e-9bef-/resourceGroups/da499722-2456-42d/providers/Microsoft.Logic/workflows/d4bc5d05-421/generateUpgradedDefinition"; + Requests[2457] = new DefaultHttpContext(); + Requests[2457].RequestServices = CreateServices(); + Requests[2457].Request.Method = "POST"; + Requests[2457].Request.Path = "/subscriptions/81cffe24-bd07-/resourceGroups/f50cc3b5-da2f-46b/providers/Microsoft.Logic/workflows/e50f0aee-d7a/listCallbackUrl"; + Requests[2458] = new DefaultHttpContext(); + Requests[2458].RequestServices = CreateServices(); + Requests[2458].Request.Method = "POST"; + Requests[2458].Request.Path = "/subscriptions/2e758515-82f2-/resourceGroups/7ef90a3b-9c97-42f/providers/Microsoft.Logic/workflows/24dfbe98-780/listSwagger"; + Requests[2459] = new DefaultHttpContext(); + Requests[2459].RequestServices = CreateServices(); + Requests[2459].Request.Method = "POST"; + Requests[2459].Request.Path = "/subscriptions/70504882-1100-/resourceGroups/174200c1-ff2b-443/providers/Microsoft.Logic/workflows/211e6328-0c3/move"; + Requests[2460] = new DefaultHttpContext(); + Requests[2460].RequestServices = CreateServices(); + Requests[2460].Request.Method = "POST"; + Requests[2460].Request.Path = "/subscriptions/da0226c0-753a-/resourceGroups/9f034559-29b8-488/providers/Microsoft.Logic/workflows/4c1c986a-61d/regenerateAccessKey"; + Requests[2461] = new DefaultHttpContext(); + Requests[2461].RequestServices = CreateServices(); + Requests[2461].Request.Method = "POST"; + Requests[2461].Request.Path = "/subscriptions/ab2aa36c-b4f8-/resourceGroups/2d630230-c02a-4cd/providers/Microsoft.Logic/workflows/d7acdcf6-003/run"; + Requests[2462] = new DefaultHttpContext(); + Requests[2462].RequestServices = CreateServices(); + Requests[2462].Request.Method = "GET"; + Requests[2462].Request.Path = "/subscriptions/9f242de0-0ce6-/resourceGroups/765a4cfa-602b-470/providers/Microsoft.Logic/workflows/6dc2a4a5-07c/runs"; + Requests[2463] = new DefaultHttpContext(); + Requests[2463].RequestServices = CreateServices(); + Requests[2463].Request.Method = "GET"; + Requests[2463].Request.Path = "/subscriptions/fb2b0ef0-b3ae-/resourceGroups/537056af-1c03-450/providers/Microsoft.Logic/workflows/c69df099-503/triggers"; + Requests[2464] = new DefaultHttpContext(); + Requests[2464].RequestServices = CreateServices(); + Requests[2464].Request.Method = "POST"; + Requests[2464].Request.Path = "/subscriptions/4f0a70dd-c942-/resourceGroups/5f0e7aea-d1a0-4b0/providers/Microsoft.Logic/workflows/a1f4cc1d-e44/validate"; + Requests[2465] = new DefaultHttpContext(); + Requests[2465].RequestServices = CreateServices(); + Requests[2465].Request.Method = "GET"; + Requests[2465].Request.Path = "/subscriptions/a784c792-16f1-/resourceGroups/788be499-5c26-45f/providers/Microsoft.Logic/workflows/4b0c6783-1e6/versions"; + Requests[2466] = new DefaultHttpContext(); + Requests[2466].RequestServices = CreateServices(); + Requests[2466].Request.Method = "GET"; + Requests[2466].Request.Path = "/subscriptions/687006eb-3942-/resourceGroups/de05b370-096f-476/providers/Microsoft.MachineLearning/commitmentPlans/8a281bb6-d0e3-4f1d/commitmentAssociations"; + Requests[2467] = new DefaultHttpContext(); + Requests[2467].RequestServices = CreateServices(); + Requests[2467].Request.Method = "GET"; + Requests[2467].Request.Path = "/subscriptions/6676e290-39e9-/resourceGroups/35fded2e-7a87-4f9/providers/Microsoft.MachineLearning/commitmentPlans/e0b72c32-18b9-47fc/usageHistory"; + Requests[2468] = new DefaultHttpContext(); + Requests[2468].RequestServices = CreateServices(); + Requests[2468].Request.Method = "POST"; + Requests[2468].Request.Path = "/subscriptions/1fb0005c-57ea-/resourceGroups/d86037b8-6377-447/providers/Microsoft.MachineLearning/webServices/30b17d6c-1202-/CreateRegionalBlob"; + Requests[2469] = new DefaultHttpContext(); + Requests[2469].RequestServices = CreateServices(); + Requests[2469].Request.Method = "GET"; + Requests[2469].Request.Path = "/subscriptions/7add62db-4a58-/resourceGroups/4569970c-8d3e-428/providers/Microsoft.MachineLearning/webServices/7dd5bea2-7e39-/listKeys"; + Requests[2470] = new DefaultHttpContext(); + Requests[2470].RequestServices = CreateServices(); + Requests[2470].Request.Method = "POST"; + Requests[2470].Request.Path = "/subscriptions/5b87bc69-7eda-/resourceGroups/e4ce4933-6aa4-40d/providers/Microsoft.MachineLearning/workspaces/200597cd-0731/listWorkspaceKeys"; + Requests[2471] = new DefaultHttpContext(); + Requests[2471].RequestServices = CreateServices(); + Requests[2471].Request.Method = "POST"; + Requests[2471].Request.Path = "/subscriptions/9b736de6-ddee-/resourceGroups/c9009192-cdae-410/providers/Microsoft.MachineLearning/workspaces/e9d828a9-5122/resyncStorageKeys"; + Requests[2472] = new DefaultHttpContext(); + Requests[2472].RequestServices = CreateServices(); + Requests[2472].Request.Method = "POST"; + Requests[2472].Request.Path = "/subscriptions/ed4ab297-45c0-/resourceGroups/369bcd04-6b13-44a/providers/Microsoft.MachineLearningCompute/operationalizationClusters/45274610-4e/checkSystemServicesUpdatesAvailable"; + Requests[2473] = new DefaultHttpContext(); + Requests[2473].RequestServices = CreateServices(); + Requests[2473].Request.Method = "POST"; + Requests[2473].Request.Path = "/subscriptions/007f74f6-8803-/resourceGroups/58a4917a-c1c3-4a7/providers/Microsoft.MachineLearningCompute/operationalizationClusters/dcba7da8-17/checkUpdate"; + Requests[2474] = new DefaultHttpContext(); + Requests[2474].RequestServices = CreateServices(); + Requests[2474].Request.Method = "POST"; + Requests[2474].Request.Path = "/subscriptions/2ce62f6e-b444-/resourceGroups/0705efd7-e10b-480/providers/Microsoft.MachineLearningCompute/operationalizationClusters/806c483b-89/listKeys"; + Requests[2475] = new DefaultHttpContext(); + Requests[2475].RequestServices = CreateServices(); + Requests[2475].Request.Method = "POST"; + Requests[2475].Request.Path = "/subscriptions/381967f8-b0c8-/resourceGroups/b7ea4fca-ff22-4fc/providers/Microsoft.MachineLearningCompute/operationalizationClusters/e871889b-67/updateSystem"; + Requests[2476] = new DefaultHttpContext(); + Requests[2476].RequestServices = CreateServices(); + Requests[2476].Request.Method = "POST"; + Requests[2476].Request.Path = "/subscriptions/6aee2c0f-f391-/resourceGroups/9d0b298f-eac3-453/providers/Microsoft.MachineLearningCompute/operationalizationClusters/a6897f89-c4/updateSystemServices"; + Requests[2477] = new DefaultHttpContext(); + Requests[2477].RequestServices = CreateServices(); + Requests[2477].Request.Method = "GET"; + Requests[2477].Request.Path = "/subscriptions/1572af86-5885-/resourceGroups/4a3976ce-a217-48b/providers/Microsoft.MachineLearningExperimentation/accounts/81a20d99-1c/workspaces"; + Requests[2478] = new DefaultHttpContext(); + Requests[2478].RequestServices = CreateServices(); + Requests[2478].Request.Method = "POST"; + Requests[2478].Request.Path = "/subscriptions/f3c04d31-4f19-/resourceGroups/32406294-fd5b-4e8/providers/Microsoft.MachineLearningServices/workspaces/779ed6cf-a34f/listKeys"; + Requests[2479] = new DefaultHttpContext(); + Requests[2479].RequestServices = CreateServices(); + Requests[2479].Request.Method = "POST"; + Requests[2479].Request.Path = "/subscriptions/7caad3ef-ece3-/resourceGroups/6f20152c-21e8-4fd/providers/Microsoft.MachineLearningServices/workspaces/a6343a66-19e7/resyncKeys"; + Requests[2480] = new DefaultHttpContext(); + Requests[2480].RequestServices = CreateServices(); + Requests[2480].Request.Method = "POST"; + Requests[2480].Request.Path = "/subscriptions/fec878ef-7ad5-/resourceGroups/0f1db200-73a6-416/providers/Microsoft.Maps/accounts/98b6794e-2e/listKeys"; + Requests[2481] = new DefaultHttpContext(); + Requests[2481].RequestServices = CreateServices(); + Requests[2481].Request.Method = "POST"; + Requests[2481].Request.Path = "/subscriptions/e983b564-6a12-/resourceGroups/28ce4e2b-f17e-4ca/providers/Microsoft.Maps/accounts/10a16b33-f4/regenerateKey"; + Requests[2482] = new DefaultHttpContext(); + Requests[2482].RequestServices = CreateServices(); + Requests[2482].Request.Method = "GET"; + Requests[2482].Request.Path = "/subscriptions/650fea78-31d7-/resourceGroups/0a5868d1-9950-45f/providers/Microsoft.Media/mediaServices/3ec27ab8-79/assets"; + Requests[2483] = new DefaultHttpContext(); + Requests[2483].RequestServices = CreateServices(); + Requests[2483].Request.Method = "GET"; + Requests[2483].Request.Path = "/subscriptions/e4f6399c-914b-/resourceGroups/90e0d438-446c-49e/providers/Microsoft.Media/mediaServices/fd910963-fb/contentKeyPolicies"; + Requests[2484] = new DefaultHttpContext(); + Requests[2484].RequestServices = CreateServices(); + Requests[2484].Request.Method = "GET"; + Requests[2484].Request.Path = "/subscriptions/3a915b85-9855-/resourceGroups/f95f118a-dc19-4c6/providers/Microsoft.Media/mediaservices/4dd6f81a-9b/liveEvents"; + Requests[2485] = new DefaultHttpContext(); + Requests[2485].RequestServices = CreateServices(); + Requests[2485].Request.Method = "GET"; + Requests[2485].Request.Path = "/subscriptions/33bfed9f-4837-/resourceGroups/7678b3f8-26cb-431/providers/Microsoft.Media/mediaservices/bf5fdbe6-9a/streamingEndpoints"; + Requests[2486] = new DefaultHttpContext(); + Requests[2486].RequestServices = CreateServices(); + Requests[2486].Request.Method = "GET"; + Requests[2486].Request.Path = "/subscriptions/3897a437-ab22-/resourceGroups/e739d84f-481b-47a/providers/Microsoft.Media/mediaServices/ba8ee4fd-5a/streamingLocators"; + Requests[2487] = new DefaultHttpContext(); + Requests[2487].RequestServices = CreateServices(); + Requests[2487].Request.Method = "GET"; + Requests[2487].Request.Path = "/subscriptions/34a86834-d078-/resourceGroups/7a66d981-b0a1-4a2/providers/Microsoft.Media/mediaServices/81443267-d2/streamingPolicies"; + Requests[2488] = new DefaultHttpContext(); + Requests[2488].RequestServices = CreateServices(); + Requests[2488].Request.Method = "GET"; + Requests[2488].Request.Path = "/subscriptions/bcca70ae-b45a-/resourceGroups/84991711-41c7-464/providers/Microsoft.Media/mediaServices/a419ef57-8c/transforms"; + Requests[2489] = new DefaultHttpContext(); + Requests[2489].RequestServices = CreateServices(); + Requests[2489].Request.Method = "POST"; + Requests[2489].Request.Path = "/subscriptions/d0b4bb30-4fdc-/resourceGroups/b5278abe-f0e9-434/providers/Microsoft.Media/mediaservices/4ec5f31e-8a10-43/listKeys"; + Requests[2490] = new DefaultHttpContext(); + Requests[2490].RequestServices = CreateServices(); + Requests[2490].Request.Method = "POST"; + Requests[2490].Request.Path = "/subscriptions/a62fbd69-af9a-/resourceGroups/20a8eb9a-5ba4-40e/providers/Microsoft.Media/mediaservices/d5573144-2014-4d/regenerateKey"; + Requests[2491] = new DefaultHttpContext(); + Requests[2491].RequestServices = CreateServices(); + Requests[2491].Request.Method = "POST"; + Requests[2491].Request.Path = "/subscriptions/2864ac80-3cd1-/resourceGroups/a5a9cdcb-f96f-4d5/providers/Microsoft.Media/mediaservices/45b1b7c4-8563-4a/syncStorageKeys"; + Requests[2492] = new DefaultHttpContext(); + Requests[2492].RequestServices = CreateServices(); + Requests[2492].Request.Method = "GET"; + Requests[2492].Request.Path = "/subscriptions/e8d2da40-67da-/resourceGroups/c9621aac-20cf-4fe/providers/Microsoft.Migrate/projects/214674fb-f5/assessments"; + Requests[2493] = new DefaultHttpContext(); + Requests[2493].RequestServices = CreateServices(); + Requests[2493].Request.Method = "GET"; + Requests[2493].Request.Path = "/subscriptions/b9beb251-c62d-/resourceGroups/e34c664d-6a1b-4a9/providers/Microsoft.Migrate/projects/00aa9fbd-16/groups"; + Requests[2494] = new DefaultHttpContext(); + Requests[2494].RequestServices = CreateServices(); + Requests[2494].Request.Method = "POST"; + Requests[2494].Request.Path = "/subscriptions/cc535e66-c44c-/resourcegroups/100169f6-65f4-4c0/providers/Microsoft.Migrate/projects/01014f95-34/keys"; + Requests[2495] = new DefaultHttpContext(); + Requests[2495].RequestServices = CreateServices(); + Requests[2495].Request.Method = "GET"; + Requests[2495].Request.Path = "/subscriptions/d944dad3-b8ab-/resourceGroups/625ec46d-12fc-402/providers/Microsoft.Migrate/projects/6099e05c-21/machines"; + Requests[2496] = new DefaultHttpContext(); + Requests[2496].RequestServices = CreateServices(); + Requests[2496].Request.Method = "POST"; + Requests[2496].Request.Path = "/subscriptions/61a26768-f11a-/resourceGroups/7d86f419-6a03-4fc/providers/Microsoft.Network/applicationGateways/39f94cba-3521-4f80-b9d/backendhealth"; + Requests[2497] = new DefaultHttpContext(); + Requests[2497].RequestServices = CreateServices(); + Requests[2497].Request.Method = "POST"; + Requests[2497].Request.Path = "/subscriptions/0a056503-cd0c-/resourceGroups/16ac728d-2df0-43b/providers/Microsoft.Network/applicationGateways/f4b79f27-e424-4fcc-ba2/start"; + Requests[2498] = new DefaultHttpContext(); + Requests[2498].RequestServices = CreateServices(); + Requests[2498].Request.Method = "POST"; + Requests[2498].Request.Path = "/subscriptions/974b224b-dfdd-/resourceGroups/8608466c-874e-49e/providers/Microsoft.Network/applicationGateways/ff7ee07e-d2a2-4ff3-be2/stop"; + Requests[2499] = new DefaultHttpContext(); + Requests[2499].RequestServices = CreateServices(); + Requests[2499].Request.Method = "GET"; + Requests[2499].Request.Path = "/subscriptions/5acc9efd-fdb7-/resourceGroups/03fa8363-04c7-48a/providers/Microsoft.Network/connections/03256960-f6c8-423b-8cc8-5aa05901925/sharedkey"; + Requests[2500] = new DefaultHttpContext(); + Requests[2500].RequestServices = CreateServices(); + Requests[2500].Request.Method = "PUT"; + Requests[2500].Request.Path = "/subscriptions/4c13b784-52a0-/resourceGroups/d50796a7-ea1d-44f/providers/Microsoft.Network/connections/75175933-803e-4033-bbb0-85ed1312909/sharedkey"; + Requests[2501] = new DefaultHttpContext(); + Requests[2501].RequestServices = CreateServices(); + Requests[2501].Request.Method = "POST"; + Requests[2501].Request.Path = "/subscriptions/c02b18f5-9c9a-/resourceGroups/00d74d07-08a7-400/providers/Microsoft.Network/connections/0537e116-b3b9-47b0-84da-67a010e879a/vpndeviceconfigurationscript"; + Requests[2502] = new DefaultHttpContext(); + Requests[2502].RequestServices = CreateServices(); + Requests[2502].Request.Method = "GET"; + Requests[2502].Request.Path = "/subscriptions/5f59a0ed-aee1-/resourceGroups/55c49bc3-4729-42f/providers/Microsoft.Network/dnsZones/c82d7285/all"; + Requests[2503] = new DefaultHttpContext(); + Requests[2503].RequestServices = CreateServices(); + Requests[2503].Request.Method = "GET"; + Requests[2503].Request.Path = "/subscriptions/cb932a3d-a02f-/resourceGroups/3d026708-e6a9-41e/providers/Microsoft.Network/dnsZones/69d44dbe/recordsets"; + Requests[2504] = new DefaultHttpContext(); + Requests[2504].RequestServices = CreateServices(); + Requests[2504].Request.Method = "GET"; + Requests[2504].Request.Path = "/subscriptions/02f36d73-f34e-/resourceGroups/07b4df3e-fda7-4c8/providers/Microsoft.Network/expressRouteCircuits/02de2791-c2/arpTable"; + Requests[2505] = new DefaultHttpContext(); + Requests[2505].RequestServices = CreateServices(); + Requests[2505].Request.Method = "GET"; + Requests[2505].Request.Path = "/subscriptions/6f2bad0b-2e11-/resourceGroups/7e84ce27-7cc7-4b4/providers/Microsoft.Network/expressRouteCircuits/80f7ddb3-93/authorizations"; + Requests[2506] = new DefaultHttpContext(); + Requests[2506].RequestServices = CreateServices(); + Requests[2506].Request.Method = "GET"; + Requests[2506].Request.Path = "/subscriptions/875800cc-deaf-/resourceGroups/2b0236cd-5bd6-4d2/providers/Microsoft.Network/expressRouteCircuits/bce17d92-31/peerings"; + Requests[2507] = new DefaultHttpContext(); + Requests[2507].RequestServices = CreateServices(); + Requests[2507].Request.Method = "GET"; + Requests[2507].Request.Path = "/subscriptions/317d9db9-f3df-/resourceGroups/83b605a9-c99f-48c/providers/Microsoft.Network/expressRouteCircuits/1c4966fe-88/routesTable"; + Requests[2508] = new DefaultHttpContext(); + Requests[2508].RequestServices = CreateServices(); + Requests[2508].Request.Method = "GET"; + Requests[2508].Request.Path = "/subscriptions/c4447820-e2ae-/resourceGroups/9df5df3b-93c9-436/providers/Microsoft.Network/expressRouteCircuits/619cd66a-4d/stats"; + Requests[2509] = new DefaultHttpContext(); + Requests[2509].RequestServices = CreateServices(); + Requests[2509].Request.Method = "GET"; + Requests[2509].Request.Path = "/subscriptions/cd2aa2ca-01fb-/resourceGroups/814ccb5c-72f0-403/providers/Microsoft.Network/expressRouteCrossConnections/a2b28e8a-9b7a-4bff-/peerings"; + Requests[2510] = new DefaultHttpContext(); + Requests[2510].RequestServices = CreateServices(); + Requests[2510].Request.Method = "GET"; + Requests[2510].Request.Path = "/subscriptions/e1a66519-c4ed-/resourceGroups/e0c5775a-5a4c-45b/providers/Microsoft.Network/loadBalancers/78f08e8e-71d1-4f/backendAddressPools"; + Requests[2511] = new DefaultHttpContext(); + Requests[2511].RequestServices = CreateServices(); + Requests[2511].Request.Method = "GET"; + Requests[2511].Request.Path = "/subscriptions/7d4f6624-6d82-/resourceGroups/2239a9ae-43cd-401/providers/Microsoft.Network/loadBalancers/f2c2a276-4e02-48/frontendIPConfigurations"; + Requests[2512] = new DefaultHttpContext(); + Requests[2512].RequestServices = CreateServices(); + Requests[2512].Request.Method = "GET"; + Requests[2512].Request.Path = "/subscriptions/c3c9ddfd-7fa4-/resourceGroups/3f1f6ad1-b00d-4b1/providers/Microsoft.Network/loadBalancers/5d290c90-5864-4f/inboundNatRules"; + Requests[2513] = new DefaultHttpContext(); + Requests[2513].RequestServices = CreateServices(); + Requests[2513].Request.Method = "GET"; + Requests[2513].Request.Path = "/subscriptions/c010c490-bfbc-/resourceGroups/03920f5c-defa-407/providers/Microsoft.Network/loadBalancers/e936598c-6a13-47/loadBalancingRules"; + Requests[2514] = new DefaultHttpContext(); + Requests[2514].RequestServices = CreateServices(); + Requests[2514].Request.Method = "GET"; + Requests[2514].Request.Path = "/subscriptions/2c524a16-8a0a-/resourceGroups/15fe80c5-0b67-4ca/providers/Microsoft.Network/loadBalancers/157dfbcb-447f-42/networkInterfaces"; + Requests[2515] = new DefaultHttpContext(); + Requests[2515].RequestServices = CreateServices(); + Requests[2515].Request.Method = "GET"; + Requests[2515].Request.Path = "/subscriptions/a3986d8d-c58b-/resourceGroups/72f65c60-92e7-4cf/providers/Microsoft.Network/loadBalancers/92aa1b53-01fe-4c/probes"; + Requests[2516] = new DefaultHttpContext(); + Requests[2516].RequestServices = CreateServices(); + Requests[2516].Request.Method = "POST"; + Requests[2516].Request.Path = "/subscriptions/f166fcc7-b76e-/resourceGroups/3a587762-20b0-445/providers/Microsoft.Network/networkInterfaces/5621db23-3874-41af-a/effectiveNetworkSecurityGroups"; + Requests[2517] = new DefaultHttpContext(); + Requests[2517].RequestServices = CreateServices(); + Requests[2517].Request.Method = "POST"; + Requests[2517].Request.Path = "/subscriptions/3c82d018-7643-/resourceGroups/5abd7738-5a8f-478/providers/Microsoft.Network/networkInterfaces/245fc307-83c5-4d1c-9/effectiveRouteTable"; + Requests[2518] = new DefaultHttpContext(); + Requests[2518].RequestServices = CreateServices(); + Requests[2518].Request.Method = "GET"; + Requests[2518].Request.Path = "/subscriptions/7ed359a2-d070-/resourceGroups/3cc3a18f-1c7e-4ab/providers/Microsoft.Network/networkInterfaces/3b954f91-fe99-4440-b/ipConfigurations"; + Requests[2519] = new DefaultHttpContext(); + Requests[2519].RequestServices = CreateServices(); + Requests[2519].Request.Method = "GET"; + Requests[2519].Request.Path = "/subscriptions/f9ebf061-379b-/resourceGroups/d85c573f-988b-40c/providers/Microsoft.Network/networkInterfaces/f322d9b5-f5c0-46fd-b/loadBalancers"; + Requests[2520] = new DefaultHttpContext(); + Requests[2520].RequestServices = CreateServices(); + Requests[2520].Request.Method = "GET"; + Requests[2520].Request.Path = "/subscriptions/c746f5f1-93a2-/resourceGroups/75a8eb1a-f352-413/providers/Microsoft.Network/networkSecurityGroups/27dc2a07-67f7-43a9-8c94-/defaultSecurityRules"; + Requests[2521] = new DefaultHttpContext(); + Requests[2521].RequestServices = CreateServices(); + Requests[2521].Request.Method = "GET"; + Requests[2521].Request.Path = "/subscriptions/fd9693dd-71c5-/resourceGroups/8e157748-e0d8-488/providers/Microsoft.Network/networkSecurityGroups/e87fd5f6-b709-4f79-a2f3-/securityRules"; + Requests[2522] = new DefaultHttpContext(); + Requests[2522].RequestServices = CreateServices(); + Requests[2522].Request.Method = "POST"; + Requests[2522].Request.Path = "/subscriptions/e94f4cc3-b47c-/resourceGroups/6cfe26db-6276-435/providers/Microsoft.Network/networkWatchers/e7d5b948-1b3b-477c/availableProvidersList"; + Requests[2523] = new DefaultHttpContext(); + Requests[2523].RequestServices = CreateServices(); + Requests[2523].Request.Method = "POST"; + Requests[2523].Request.Path = "/subscriptions/6e0acf34-2e78-/resourceGroups/8133c95f-f9ba-4ba/providers/Microsoft.Network/networkWatchers/a6bb422c-a79c-4533/azureReachabilityReport"; + Requests[2524] = new DefaultHttpContext(); + Requests[2524].RequestServices = CreateServices(); + Requests[2524].Request.Method = "POST"; + Requests[2524].Request.Path = "/subscriptions/d5a3a73f-dce5-/resourceGroups/87be2abd-a864-4bc/providers/Microsoft.Network/networkWatchers/d478f11b-2065-4637/configureFlowLog"; + Requests[2525] = new DefaultHttpContext(); + Requests[2525].RequestServices = CreateServices(); + Requests[2525].Request.Method = "GET"; + Requests[2525].Request.Path = "/subscriptions/2b40d75c-ffe2-/resourceGroups/706c9e18-1cf1-4c0/providers/Microsoft.Network/networkWatchers/268d0b84-7c55-40bd/connectionMonitors"; + Requests[2526] = new DefaultHttpContext(); + Requests[2526].RequestServices = CreateServices(); + Requests[2526].Request.Method = "POST"; + Requests[2526].Request.Path = "/subscriptions/aa2f10ac-db03-/resourceGroups/c5c829c2-c4f3-431/providers/Microsoft.Network/networkWatchers/664e3cab-25c0-478c/connectivityCheck"; + Requests[2527] = new DefaultHttpContext(); + Requests[2527].RequestServices = CreateServices(); + Requests[2527].Request.Method = "POST"; + Requests[2527].Request.Path = "/subscriptions/42c68cba-0578-/resourceGroups/d784a0ae-4cb1-4d2/providers/Microsoft.Network/networkWatchers/3e53388a-e173-49a5/ipFlowVerify"; + Requests[2528] = new DefaultHttpContext(); + Requests[2528].RequestServices = CreateServices(); + Requests[2528].Request.Method = "POST"; + Requests[2528].Request.Path = "/subscriptions/42ede897-4f1c-/resourceGroups/d0074ae9-3ce7-4ef/providers/Microsoft.Network/networkWatchers/68f10327-63bb-45ec/nextHop"; + Requests[2529] = new DefaultHttpContext(); + Requests[2529].RequestServices = CreateServices(); + Requests[2529].Request.Method = "GET"; + Requests[2529].Request.Path = "/subscriptions/1fcc94c9-0436-/resourceGroups/933260d7-d9f6-4e7/providers/Microsoft.Network/networkWatchers/91607772-0d1c-4fd8/packetCaptures"; + Requests[2530] = new DefaultHttpContext(); + Requests[2530].RequestServices = CreateServices(); + Requests[2530].Request.Method = "POST"; + Requests[2530].Request.Path = "/subscriptions/9b1aa376-3adc-/resourceGroups/ea5ef52f-d94f-44c/providers/Microsoft.Network/networkWatchers/acd94b3e-323d-41f3/queryFlowLogStatus"; + Requests[2531] = new DefaultHttpContext(); + Requests[2531].RequestServices = CreateServices(); + Requests[2531].Request.Method = "POST"; + Requests[2531].Request.Path = "/subscriptions/938ae6fd-7d53-/resourceGroups/d1463303-4ea9-412/providers/Microsoft.Network/networkWatchers/6dee5924-3dac-4feb/queryTroubleshootResult"; + Requests[2532] = new DefaultHttpContext(); + Requests[2532].RequestServices = CreateServices(); + Requests[2532].Request.Method = "POST"; + Requests[2532].Request.Path = "/subscriptions/5ccdb802-93c5-/resourceGroups/e3c4f928-ae6b-475/providers/Microsoft.Network/networkWatchers/c7bc8624-f2e1-4330/securityGroupView"; + Requests[2533] = new DefaultHttpContext(); + Requests[2533].RequestServices = CreateServices(); + Requests[2533].Request.Method = "POST"; + Requests[2533].Request.Path = "/subscriptions/615aad33-27c8-/resourceGroups/a2123e16-7aeb-4fe/providers/Microsoft.Network/networkWatchers/54424ac5-4c38-4967/topology"; + Requests[2534] = new DefaultHttpContext(); + Requests[2534].RequestServices = CreateServices(); + Requests[2534].Request.Method = "POST"; + Requests[2534].Request.Path = "/subscriptions/c9bd217d-aa1d-/resourceGroups/d11b3c78-a380-41b/providers/Microsoft.Network/networkWatchers/479f8529-5e41-4187/troubleshoot"; + Requests[2535] = new DefaultHttpContext(); + Requests[2535].RequestServices = CreateServices(); + Requests[2535].Request.Method = "GET"; + Requests[2535].Request.Path = "/subscriptions/349ddc84-50bb-/resourceGroups/cbd4d755-9001-4c0/providers/Microsoft.Network/routeFilters/b8790b91-2ca8-4/routeFilterRules"; + Requests[2536] = new DefaultHttpContext(); + Requests[2536].RequestServices = CreateServices(); + Requests[2536].Request.Method = "GET"; + Requests[2536].Request.Path = "/subscriptions/82263d5b-a05c-/resourceGroups/5089813f-ec0f-422/providers/Microsoft.Network/routeTables/d641b2fb-db55-/routes"; + Requests[2537] = new DefaultHttpContext(); + Requests[2537].RequestServices = CreateServices(); + Requests[2537].Request.Method = "GET"; + Requests[2537].Request.Path = "/subscriptions/06ca919d-972f-/resourceGroups/f4ae6a85-92b6-4e9/providers/Microsoft.Network/virtualNetworkGateways/6fdce78d-443e-47ee-ae2c-f/connections"; + Requests[2538] = new DefaultHttpContext(); + Requests[2538].RequestServices = CreateServices(); + Requests[2538].Request.Method = "POST"; + Requests[2538].Request.Path = "/subscriptions/afca0b21-7b04-/resourceGroups/3ff81554-de52-431/providers/Microsoft.Network/virtualNetworkGateways/0f8dcd55-0e19-4e65-a6b6-4/generatevpnclientpackage"; + Requests[2539] = new DefaultHttpContext(); + Requests[2539].RequestServices = CreateServices(); + Requests[2539].Request.Method = "POST"; + Requests[2539].Request.Path = "/subscriptions/ed8b1141-bfe7-/resourceGroups/e2b57b80-47ac-467/providers/Microsoft.Network/virtualNetworkGateways/f29d1d28-75a1-4b38-bc04-6/generatevpnprofile"; + Requests[2540] = new DefaultHttpContext(); + Requests[2540].RequestServices = CreateServices(); + Requests[2540].Request.Method = "POST"; + Requests[2540].Request.Path = "/subscriptions/93eac03b-9edd-/resourceGroups/3fd53200-7168-493/providers/Microsoft.Network/virtualNetworkGateways/09df8ad2-1c49-4e69-9816-e/getAdvertisedRoutes"; + Requests[2541] = new DefaultHttpContext(); + Requests[2541].RequestServices = CreateServices(); + Requests[2541].Request.Method = "POST"; + Requests[2541].Request.Path = "/subscriptions/81638484-76f1-/resourceGroups/b4a77776-2984-4c4/providers/Microsoft.Network/virtualNetworkGateways/52138686-5ba2-4651-b385-7/getBgpPeerStatus"; + Requests[2542] = new DefaultHttpContext(); + Requests[2542].RequestServices = CreateServices(); + Requests[2542].Request.Method = "POST"; + Requests[2542].Request.Path = "/subscriptions/ef19d246-234a-/resourceGroups/3a481677-1e51-471/providers/Microsoft.Network/virtualNetworkGateways/b1ed2406-1038-458a-b6c6-4/getLearnedRoutes"; + Requests[2543] = new DefaultHttpContext(); + Requests[2543].RequestServices = CreateServices(); + Requests[2543].Request.Method = "POST"; + Requests[2543].Request.Path = "/subscriptions/454df7b5-f4c5-/resourceGroups/3928d3b2-6c1c-409/providers/Microsoft.Network/virtualNetworkGateways/bd1ccc6b-52b1-4a1e-a15a-8/getvpnclientipsecparameters"; + Requests[2544] = new DefaultHttpContext(); + Requests[2544].RequestServices = CreateServices(); + Requests[2544].Request.Method = "POST"; + Requests[2544].Request.Path = "/subscriptions/e958472a-1130-/resourceGroups/ba801e73-4770-46d/providers/Microsoft.Network/virtualNetworkGateways/69903777-68b2-47c2-b9c8-a/getvpnprofilepackageurl"; + Requests[2545] = new DefaultHttpContext(); + Requests[2545].RequestServices = CreateServices(); + Requests[2545].Request.Method = "POST"; + Requests[2545].Request.Path = "/subscriptions/fa70acad-db5c-/resourceGroups/7b71f4e7-e155-4c6/providers/Microsoft.Network/virtualNetworkGateways/253b3a69-f21f-4de9-9727-c/reset"; + Requests[2546] = new DefaultHttpContext(); + Requests[2546].RequestServices = CreateServices(); + Requests[2546].Request.Method = "POST"; + Requests[2546].Request.Path = "/subscriptions/0e4e3294-e384-/resourceGroups/8c77af56-0136-489/providers/Microsoft.Network/virtualNetworkGateways/1dcdb5e3-a092-46ba-aef4-e/setvpnclientipsecparameters"; + Requests[2547] = new DefaultHttpContext(); + Requests[2547].RequestServices = CreateServices(); + Requests[2547].Request.Method = "POST"; + Requests[2547].Request.Path = "/subscriptions/b94f7678-c5ab-/resourceGroups/d01bd974-0ca0-424/providers/Microsoft.Network/virtualNetworkGateways/5f333acf-f828-4a36-b335-e/supportedvpndevices"; + Requests[2548] = new DefaultHttpContext(); + Requests[2548].RequestServices = CreateServices(); + Requests[2548].Request.Method = "GET"; + Requests[2548].Request.Path = "/subscriptions/2ce880be-c3a0-/resourceGroups/15e2cf07-c204-48c/providers/Microsoft.Network/virtualNetworks/990fe251-e54f-4372/CheckIPAddressAvailability"; + Requests[2549] = new DefaultHttpContext(); + Requests[2549].RequestServices = CreateServices(); + Requests[2549].Request.Method = "GET"; + Requests[2549].Request.Path = "/subscriptions/880cb4c6-497c-/resourceGroups/55a13a18-9e70-472/providers/Microsoft.Network/virtualNetworks/d3368414-fe65-427b/subnets"; + Requests[2550] = new DefaultHttpContext(); + Requests[2550].RequestServices = CreateServices(); + Requests[2550].Request.Method = "GET"; + Requests[2550].Request.Path = "/subscriptions/4b851da6-899f-/resourceGroups/77ee5314-110b-45c/providers/Microsoft.Network/virtualNetworks/431008f4-b70d-4614/usages"; + Requests[2551] = new DefaultHttpContext(); + Requests[2551].RequestServices = CreateServices(); + Requests[2551].Request.Method = "GET"; + Requests[2551].Request.Path = "/subscriptions/531d27d7-f8c1-/resourceGroups/4358bd59-e0fa-499/providers/Microsoft.Network/virtualNetworks/6ec18e91-d960-4a4f/virtualNetworkPeerings"; + Requests[2552] = new DefaultHttpContext(); + Requests[2552].RequestServices = CreateServices(); + Requests[2552].Request.Method = "POST"; + Requests[2552].Request.Path = "/subscriptions/e5d8c57d-6ce3-/resourceGroups/c9118105-2154-4a1/providers/Microsoft.NotificationHubs/namespaces/c4d4c514-fd7e/AuthorizationRules"; + Requests[2553] = new DefaultHttpContext(); + Requests[2553].RequestServices = CreateServices(); + Requests[2553].Request.Method = "GET"; + Requests[2553].Request.Path = "/subscriptions/46bd6d3e-46d7-/resourceGroups/69443073-b3e1-413/providers/Microsoft.NotificationHubs/namespaces/57102c51-6b3c/AuthorizationRules"; + Requests[2554] = new DefaultHttpContext(); + Requests[2554].RequestServices = CreateServices(); + Requests[2554].Request.Method = "POST"; + Requests[2554].Request.Path = "/subscriptions/b23109c1-6837-/resourceGroups/45efc86d-d5cf-4f4/providers/Microsoft.NotificationHubs/namespaces/24b5d6e3-b94b/checkNotificationHubAvailability"; + Requests[2555] = new DefaultHttpContext(); + Requests[2555].RequestServices = CreateServices(); + Requests[2555].Request.Method = "GET"; + Requests[2555].Request.Path = "/subscriptions/6b43fab2-5c5e-/resourceGroups/586ca1c2-de0a-471/providers/Microsoft.NotificationHubs/namespaces/726070a1-44b5/notificationHubs"; + Requests[2556] = new DefaultHttpContext(); + Requests[2556].RequestServices = CreateServices(); + Requests[2556].Request.Method = "GET"; + Requests[2556].Request.Path = "/subscriptions/21e6cdd0-6129-/resourcegroups/71cc1a43-c39c-485/providers/Microsoft.OperationalInsights/workspaces/cec5556a-50bc/dataSources"; + Requests[2557] = new DefaultHttpContext(); + Requests[2557].RequestServices = CreateServices(); + Requests[2557].Request.Method = "GET"; + Requests[2557].Request.Path = "/subscriptions/95b1eca5-0d4e-/resourcegroups/b0cd8958-96e7-4ea/providers/Microsoft.OperationalInsights/workspaces/d64be9d9-df83/intelligencePacks"; + Requests[2558] = new DefaultHttpContext(); + Requests[2558].RequestServices = CreateServices(); + Requests[2558].Request.Method = "GET"; + Requests[2558].Request.Path = "/subscriptions/b35e50a2-d15f-/resourcegroups/ea55e903-9667-4a0/providers/Microsoft.OperationalInsights/workspaces/7a28a24c-2c3f/linkedServices"; + Requests[2559] = new DefaultHttpContext(); + Requests[2559].RequestServices = CreateServices(); + Requests[2559].Request.Method = "GET"; + Requests[2559].Request.Path = "/subscriptions/d76b0dab-9b3b-/resourcegroups/6c1e0731-95b9-43d/providers/Microsoft.OperationalInsights/workspaces/0585c769-280a/managementGroups"; + Requests[2560] = new DefaultHttpContext(); + Requests[2560].RequestServices = CreateServices(); + Requests[2560].Request.Method = "POST"; + Requests[2560].Request.Path = "/subscriptions/4c041ea5-d7cd-/resourceGroups/969715e9-e32a-4ed/providers/Microsoft.OperationalInsights/workspaces/f6d62394-f5ef/purge"; + Requests[2561] = new DefaultHttpContext(); + Requests[2561].RequestServices = CreateServices(); + Requests[2561].Request.Method = "GET"; + Requests[2561].Request.Path = "/subscriptions/09bf0c65-e5a8-/resourcegroups/a0f9d6b9-6773-4db/providers/Microsoft.OperationalInsights/workspaces/9d96c88e-a3c9/savedSearches"; + Requests[2562] = new DefaultHttpContext(); + Requests[2562].RequestServices = CreateServices(); + Requests[2562].Request.Method = "POST"; + Requests[2562].Request.Path = "/subscriptions/c7d87617-333a-/resourcegroups/a769cecc-b490-46b/providers/Microsoft.OperationalInsights/workspaces/63d9ce22-09b3/schema"; + Requests[2563] = new DefaultHttpContext(); + Requests[2563].RequestServices = CreateServices(); + Requests[2563].Request.Method = "POST"; + Requests[2563].Request.Path = "/subscriptions/b4a74b70-9dfe-/resourcegroups/72d8cbe6-6042-40a/providers/Microsoft.OperationalInsights/workspaces/5c269c04-6ba7/search"; + Requests[2564] = new DefaultHttpContext(); + Requests[2564].RequestServices = CreateServices(); + Requests[2564].Request.Method = "POST"; + Requests[2564].Request.Path = "/subscriptions/366916c5-4d7a-/resourcegroups/30067995-ad2a-4c1/providers/Microsoft.OperationalInsights/workspaces/8982bb77-c973/sharedKeys"; + Requests[2565] = new DefaultHttpContext(); + Requests[2565].RequestServices = CreateServices(); + Requests[2565].Request.Method = "GET"; + Requests[2565].Request.Path = "/subscriptions/8b2a3926-7265-/resourcegroups/52048063-57f7-42c/providers/Microsoft.OperationalInsights/workspaces/8cafb879-9527/storageInsightConfigs"; + Requests[2566] = new DefaultHttpContext(); + Requests[2566].RequestServices = CreateServices(); + Requests[2566].Request.Method = "GET"; + Requests[2566].Request.Path = "/subscriptions/cf0c6598-8a09-/resourcegroups/6fb45bda-ef44-467/providers/Microsoft.OperationalInsights/workspaces/a36c6b43-f893/usages"; + Requests[2567] = new DefaultHttpContext(); + Requests[2567].RequestServices = CreateServices(); + Requests[2567].Request.Method = "POST"; + Requests[2567].Request.Path = "/subscriptions/8aac6250-4aa8-/resourceGroups/95cb0632-da18-43a/providers/Microsoft.PolicyInsights/policyEvents/f92e3d08-e841-4a66-b/queryResults"; + Requests[2568] = new DefaultHttpContext(); + Requests[2568].RequestServices = CreateServices(); + Requests[2568].Request.Method = "POST"; + Requests[2568].Request.Path = "/subscriptions/e38f256c-ab9d-/resourceGroups/f254e4c5-4bc7-484/providers/Microsoft.PolicyInsights/policyStates/28d98781-0338-46ba-b/queryResults"; + Requests[2569] = new DefaultHttpContext(); + Requests[2569].RequestServices = CreateServices(); + Requests[2569].Request.Method = "POST"; + Requests[2569].Request.Path = "/subscriptions/d19961de-3088-/resourceGroups/aa67a4cc-235f-460/providers/Microsoft.PolicyInsights/policyStates/a3a9982a-23e1-439a-a1e8-d2e/summarize"; + Requests[2570] = new DefaultHttpContext(); + Requests[2570].RequestServices = CreateServices(); + Requests[2570].Request.Method = "POST"; + Requests[2570].Request.Path = "/subscriptions/09b9649f-2ebc-/resourceGroups/7628cd97-1360-46d/providers/Microsoft.PowerBI/workspaceCollections/74746673-c00a-465f-ab0b/listKeys"; + Requests[2571] = new DefaultHttpContext(); + Requests[2571].RequestServices = CreateServices(); + Requests[2571].Request.Method = "POST"; + Requests[2571].Request.Path = "/subscriptions/4a3f422c-f7a3-/resourceGroups/bbecc031-3680-4cd/providers/Microsoft.PowerBI/workspaceCollections/3daa9ca2-724c-4817-bf4d/regenerateKey"; + Requests[2572] = new DefaultHttpContext(); + Requests[2572].RequestServices = CreateServices(); + Requests[2572].Request.Method = "GET"; + Requests[2572].Request.Path = "/subscriptions/16412f17-7060-/resourceGroups/c9a45c54-a781-4dc/providers/Microsoft.PowerBI/workspaceCollections/b51acf15-5f7a-4cfe-b076/workspaces"; + Requests[2573] = new DefaultHttpContext(); + Requests[2573].RequestServices = CreateServices(); + Requests[2573].Request.Method = "POST"; + Requests[2573].Request.Path = "/subscriptions/8aa9331c-a073-/resourceGroups/ab542bc6-fc0b-408/providers/Microsoft.PowerBIDedicated/capacities/187d9c18-8545-4f6d-ba/resume"; + Requests[2574] = new DefaultHttpContext(); + Requests[2574].RequestServices = CreateServices(); + Requests[2574].Request.Method = "GET"; + Requests[2574].Request.Path = "/subscriptions/72efe90d-62c6-/resourceGroups/7d993dc2-f017-4a8/providers/Microsoft.PowerBIDedicated/capacities/630734b2-be9a-4370-89/skus"; + Requests[2575] = new DefaultHttpContext(); + Requests[2575].RequestServices = CreateServices(); + Requests[2575].Request.Method = "POST"; + Requests[2575].Request.Path = "/subscriptions/b164d1f5-d092-/resourceGroups/a20cf17e-757e-452/providers/Microsoft.PowerBIDedicated/capacities/2086492d-d045-49c7-87/suspend"; + Requests[2576] = new DefaultHttpContext(); + Requests[2576].RequestServices = CreateServices(); + Requests[2576].Request.Method = "GET"; + Requests[2576].Request.Path = "/Subscriptions/34585ccf-ee57-/resourceGroups/bbf89515-6b55-43a/providers/Microsoft.RecoveryServices/vaults/7b8fe93b-3cf/replicationAlertSettings"; + Requests[2577] = new DefaultHttpContext(); + Requests[2577].RequestServices = CreateServices(); + Requests[2577].Request.Method = "GET"; + Requests[2577].Request.Path = "/Subscriptions/50ecf6bd-bcb4-/resourceGroups/51c46f5a-697f-4ee/providers/Microsoft.RecoveryServices/vaults/0d64a92d-b31/replicationEvents"; + Requests[2578] = new DefaultHttpContext(); + Requests[2578].RequestServices = CreateServices(); + Requests[2578].Request.Method = "GET"; + Requests[2578].Request.Path = "/Subscriptions/b601c990-50f8-/resourceGroups/5b75931f-5398-4dc/providers/Microsoft.RecoveryServices/vaults/e4aba4fa-2ed/replicationFabrics"; + Requests[2579] = new DefaultHttpContext(); + Requests[2579].RequestServices = CreateServices(); + Requests[2579].Request.Method = "GET"; + Requests[2579].Request.Path = "/Subscriptions/165b7744-99d0-/resourceGroups/5e75fa27-6c04-458/providers/Microsoft.RecoveryServices/vaults/2da92e1f-c32/replicationJobs"; + Requests[2580] = new DefaultHttpContext(); + Requests[2580].RequestServices = CreateServices(); + Requests[2580].Request.Method = "GET"; + Requests[2580].Request.Path = "/Subscriptions/d97dddc7-0fee-/resourceGroups/5247802a-ca45-4f5/providers/Microsoft.RecoveryServices/vaults/1614168d-8f1/replicationNetworkMappings"; + Requests[2581] = new DefaultHttpContext(); + Requests[2581].RequestServices = CreateServices(); + Requests[2581].Request.Method = "GET"; + Requests[2581].Request.Path = "/Subscriptions/ddeb207e-9aeb-/resourceGroups/c41530db-f875-453/providers/Microsoft.RecoveryServices/vaults/eba9743a-568/replicationNetworks"; + Requests[2582] = new DefaultHttpContext(); + Requests[2582].RequestServices = CreateServices(); + Requests[2582].Request.Method = "GET"; + Requests[2582].Request.Path = "/Subscriptions/c05905c3-1e92-/resourceGroups/0fa0278e-565a-498/providers/Microsoft.RecoveryServices/vaults/b1f4e251-ac2/replicationPolicies"; + Requests[2583] = new DefaultHttpContext(); + Requests[2583].RequestServices = CreateServices(); + Requests[2583].Request.Method = "GET"; + Requests[2583].Request.Path = "/Subscriptions/94d40226-e0d0-/resourceGroups/b80a19e5-569c-476/providers/Microsoft.RecoveryServices/vaults/ed706c87-81d/replicationProtectedItems"; + Requests[2584] = new DefaultHttpContext(); + Requests[2584].RequestServices = CreateServices(); + Requests[2584].Request.Method = "GET"; + Requests[2584].Request.Path = "/Subscriptions/c25a66ff-fe11-/resourceGroups/784190d8-7132-4da/providers/Microsoft.RecoveryServices/vaults/081e67d6-a74/replicationProtectionContainerMappings"; + Requests[2585] = new DefaultHttpContext(); + Requests[2585].RequestServices = CreateServices(); + Requests[2585].Request.Method = "GET"; + Requests[2585].Request.Path = "/Subscriptions/fcd36a19-c3b2-/resourceGroups/e8970bb0-b7b1-4b7/providers/Microsoft.RecoveryServices/vaults/88f1d8bd-0f8/replicationProtectionContainers"; + Requests[2586] = new DefaultHttpContext(); + Requests[2586].RequestServices = CreateServices(); + Requests[2586].Request.Method = "GET"; + Requests[2586].Request.Path = "/Subscriptions/95f06da5-6c02-/resourceGroups/5b3c25f6-a6e7-4b4/providers/Microsoft.RecoveryServices/vaults/c45f193c-4ca/replicationRecoveryPlans"; + Requests[2587] = new DefaultHttpContext(); + Requests[2587].RequestServices = CreateServices(); + Requests[2587].Request.Method = "GET"; + Requests[2587].Request.Path = "/Subscriptions/34146c38-1654-/resourceGroups/6c656482-8a91-436/providers/Microsoft.RecoveryServices/vaults/8bd84331-d5d/replicationRecoveryServicesProviders"; + Requests[2588] = new DefaultHttpContext(); + Requests[2588].RequestServices = CreateServices(); + Requests[2588].Request.Method = "GET"; + Requests[2588].Request.Path = "/Subscriptions/b7de2436-e684-/resourceGroups/8d97cfab-698f-42f/providers/Microsoft.RecoveryServices/vaults/86e2127f-d3a/replicationStorageClassificationMappings"; + Requests[2589] = new DefaultHttpContext(); + Requests[2589].RequestServices = CreateServices(); + Requests[2589].Request.Method = "GET"; + Requests[2589].Request.Path = "/Subscriptions/825a3e4a-3c3c-/resourceGroups/eebbc25f-e482-405/providers/Microsoft.RecoveryServices/vaults/6d2f692f-224/replicationStorageClassifications"; + Requests[2590] = new DefaultHttpContext(); + Requests[2590].RequestServices = CreateServices(); + Requests[2590].Request.Method = "GET"; + Requests[2590].Request.Path = "/Subscriptions/ae4847d2-e0b5-/resourceGroups/98e4879e-7af7-4a7/providers/Microsoft.RecoveryServices/vaults/d62370bc-988/replicationVaultHealth"; + Requests[2591] = new DefaultHttpContext(); + Requests[2591].RequestServices = CreateServices(); + Requests[2591].Request.Method = "GET"; + Requests[2591].Request.Path = "/Subscriptions/07789cae-e55a-/resourceGroups/2a55b658-5921-44a/providers/Microsoft.RecoveryServices/vaults/bde762a9-f92/replicationvCenters"; + Requests[2592] = new DefaultHttpContext(); + Requests[2592].RequestServices = CreateServices(); + Requests[2592].Request.Method = "GET"; + Requests[2592].Request.Path = "/Subscriptions/36f001c9-b95d-/resourceGroups/fe3eea16-af0c-4af/providers/Microsoft.RecoveryServices/vaults/65ede5f5-/backupEngines"; + Requests[2593] = new DefaultHttpContext(); + Requests[2593].RequestServices = CreateServices(); + Requests[2593].Request.Method = "GET"; + Requests[2593].Request.Path = "/Subscriptions/a39ff8ec-47a8-/resourceGroups/36166faf-7dfe-40c/providers/Microsoft.RecoveryServices/vaults/b246cc8d-/backupJobs"; + Requests[2594] = new DefaultHttpContext(); + Requests[2594].RequestServices = CreateServices(); + Requests[2594].Request.Method = "POST"; + Requests[2594].Request.Path = "/Subscriptions/e6447d30-d704-/resourceGroups/da5f68ab-ebb3-47e/providers/Microsoft.RecoveryServices/vaults/8b871257-/backupJobsExport"; + Requests[2595] = new DefaultHttpContext(); + Requests[2595].RequestServices = CreateServices(); + Requests[2595].Request.Method = "GET"; + Requests[2595].Request.Path = "/Subscriptions/7e525877-14a3-/resourceGroups/f3bb08d9-8204-453/providers/Microsoft.RecoveryServices/vaults/88c0e3ae-/backupPolicies"; + Requests[2596] = new DefaultHttpContext(); + Requests[2596].RequestServices = CreateServices(); + Requests[2596].Request.Method = "GET"; + Requests[2596].Request.Path = "/Subscriptions/2454bfd9-c359-/resourceGroups/09d396c6-6b54-429/providers/Microsoft.RecoveryServices/vaults/1defe14e-/backupProtectableItems"; + Requests[2597] = new DefaultHttpContext(); + Requests[2597].RequestServices = CreateServices(); + Requests[2597].Request.Method = "GET"; + Requests[2597].Request.Path = "/Subscriptions/19ab92fc-af23-/resourceGroups/d636677f-3b89-420/providers/Microsoft.RecoveryServices/vaults/0f3e140f-/backupProtectedItems"; + Requests[2598] = new DefaultHttpContext(); + Requests[2598].RequestServices = CreateServices(); + Requests[2598].Request.Method = "GET"; + Requests[2598].Request.Path = "/Subscriptions/abbc5c06-7656-/resourceGroups/0e8b940a-918a-4ef/providers/Microsoft.RecoveryServices/vaults/22fc8925-/backupProtectionContainers"; + Requests[2599] = new DefaultHttpContext(); + Requests[2599].RequestServices = CreateServices(); + Requests[2599].Request.Method = "POST"; + Requests[2599].Request.Path = "/Subscriptions/ec034391-eef7-/resourceGroups/84cd3eee-cdd6-42b/providers/Microsoft.RecoveryServices/vaults/43f01b15-/backupSecurityPIN"; + Requests[2600] = new DefaultHttpContext(); + Requests[2600].RequestServices = CreateServices(); + Requests[2600].Request.Method = "GET"; + Requests[2600].Request.Path = "/Subscriptions/89a11686-667b-/resourceGroups/3de2ffe1-b726-43c/providers/Microsoft.RecoveryServices/vaults/17099de0-/backupUsageSummaries"; + Requests[2601] = new DefaultHttpContext(); + Requests[2601].RequestServices = CreateServices(); + Requests[2601].Request.Method = "GET"; + Requests[2601].Request.Path = "/Subscriptions/6f70f82c-5ebc-/resourceGroups/5d3e5d35-9dc6-4e9/providers/Microsoft.RecoveryServices/vaults/6dc9c271-/replicationUsages"; + Requests[2602] = new DefaultHttpContext(); + Requests[2602].RequestServices = CreateServices(); + Requests[2602].Request.Method = "GET"; + Requests[2602].Request.Path = "/Subscriptions/a33c8489-aa56-/resourceGroups/62c565f6-9c5c-4c4/providers/Microsoft.RecoveryServices/vaults/6adb11c6-/usages"; + Requests[2603] = new DefaultHttpContext(); + Requests[2603].RequestServices = CreateServices(); + Requests[2603].Request.Method = "GET"; + Requests[2603].Request.Path = "/subscriptions/e1170540-1361-/resourceGroups/b6da519f-8d1e-4f4/providers/Microsoft.Relay/namespaces/a652c985-b6f8/authorizationRules"; + Requests[2604] = new DefaultHttpContext(); + Requests[2604].RequestServices = CreateServices(); + Requests[2604].Request.Method = "POST"; + Requests[2604].Request.Path = "/subscriptions/176fdff8-f6f9-/resourceGroups/9104d8ec-e912-4a6/providers/Microsoft.Relay/namespaces/08eb9b47-932d/AuthorizationRules"; + Requests[2605] = new DefaultHttpContext(); + Requests[2605].RequestServices = CreateServices(); + Requests[2605].Request.Method = "GET"; + Requests[2605].Request.Path = "/subscriptions/459c2eff-80af-/resourceGroups/eb139283-d840-452/providers/Microsoft.Relay/namespaces/a6408a74-fae3/hybridConnections"; + Requests[2606] = new DefaultHttpContext(); + Requests[2606].RequestServices = CreateServices(); + Requests[2606].Request.Method = "GET"; + Requests[2606].Request.Path = "/subscriptions/fce1e490-9a80-/resourceGroups/b7ee4f56-629f-422/providers/Microsoft.Relay/namespaces/013deb77-754c/wcfRelays"; + Requests[2607] = new DefaultHttpContext(); + Requests[2607].RequestServices = CreateServices(); + Requests[2607].Request.Method = "POST"; + Requests[2607].Request.Path = "/subscriptions/39dd870b-8f0b-/resourcegroups/5d134258-21ac-47e/providers/Microsoft.Resources/deployments/fe102b00-af32-/cancel"; + Requests[2608] = new DefaultHttpContext(); + Requests[2608].RequestServices = CreateServices(); + Requests[2608].Request.Method = "POST"; + Requests[2608].Request.Path = "/subscriptions/8cc582fe-a6a0-/resourcegroups/48ca9240-b5a1-485/providers/Microsoft.Resources/deployments/49b60014-239b-/exportTemplate"; + Requests[2609] = new DefaultHttpContext(); + Requests[2609].RequestServices = CreateServices(); + Requests[2609].Request.Method = "POST"; + Requests[2609].Request.Path = "/subscriptions/5b8c6655-c8bc-/resourcegroups/75a0bae8-72c4-448/providers/Microsoft.Resources/deployments/5e481ab2-bcd8-/validate"; + Requests[2610] = new DefaultHttpContext(); + Requests[2610].RequestServices = CreateServices(); + Requests[2610].Request.Method = "POST"; + Requests[2610].Request.Path = "/subscriptions/e813cd47-707b-/resourceGroups/02013ba4-0ad3-452/providers/Microsoft.Scheduler/jobCollections/6a7d2510-6a9e-4a4/disable"; + Requests[2611] = new DefaultHttpContext(); + Requests[2611].RequestServices = CreateServices(); + Requests[2611].Request.Method = "POST"; + Requests[2611].Request.Path = "/subscriptions/3eb4179b-d495-/resourceGroups/1fbe716c-894f-45d/providers/Microsoft.Scheduler/jobCollections/a0a6582a-e5fc-4d5/enable"; + Requests[2612] = new DefaultHttpContext(); + Requests[2612].RequestServices = CreateServices(); + Requests[2612].Request.Method = "GET"; + Requests[2612].Request.Path = "/subscriptions/9fc849b9-961e-/resourceGroups/50e3d124-d298-4e3/providers/Microsoft.Scheduler/jobCollections/c6909d19-1621-422/jobs"; + Requests[2613] = new DefaultHttpContext(); + Requests[2613].RequestServices = CreateServices(); + Requests[2613].Request.Method = "POST"; + Requests[2613].Request.Path = "/subscriptions/fd01b761-08fb-/resourceGroups/0e2d0c5b-ebb5-4f8/providers/Microsoft.Search/searchServices/480af91f-fa19-4d0/listAdminKeys"; + Requests[2614] = new DefaultHttpContext(); + Requests[2614].RequestServices = CreateServices(); + Requests[2614].Request.Method = "GET"; + Requests[2614].Request.Path = "/subscriptions/43cefd98-4448-/resourceGroups/1acbbc2c-ac8a-462/providers/Microsoft.Search/searchServices/51a24a7b-2a5b-471/listQueryKeys"; + Requests[2615] = new DefaultHttpContext(); + Requests[2615].RequestServices = CreateServices(); + Requests[2615].Request.Method = "GET"; + Requests[2615].Request.Path = "/subscriptions/23251edf-8993-/resourceGroups/8a51f685-caf9-4f0/providers/Microsoft.Security/locations/77dcfa16-e3/alerts"; + Requests[2616] = new DefaultHttpContext(); + Requests[2616].RequestServices = CreateServices(); + Requests[2616].Request.Method = "GET"; + Requests[2616].Request.Path = "/subscriptions/083665f2-0b8c-/resourceGroups/bb19726e-83bc-4cb/providers/Microsoft.Security/locations/cbdd176f-2c/jitNetworkAccessPolicies"; + Requests[2617] = new DefaultHttpContext(); + Requests[2617].RequestServices = CreateServices(); + Requests[2617].Request.Method = "GET"; + Requests[2617].Request.Path = "/subscriptions/150f7b12-4eda-/resourceGroups/d4240df4-d6ff-473/providers/Microsoft.Security/locations/38c98d83-8b/tasks"; + Requests[2618] = new DefaultHttpContext(); + Requests[2618].RequestServices = CreateServices(); + Requests[2618].Request.Method = "POST"; + Requests[2618].Request.Path = "/subscriptions/64b9c209-057b-/resourceGroups/13118bba-f411-42c/providers/Microsoft.ServerManagement/gateways/57398856-02/profile"; + Requests[2619] = new DefaultHttpContext(); + Requests[2619].RequestServices = CreateServices(); + Requests[2619].Request.Method = "POST"; + Requests[2619].Request.Path = "/subscriptions/69aaa9c7-4bc4-/resourceGroups/da481315-3f26-460/providers/Microsoft.ServerManagement/gateways/902299ab-58/regenerateprofile"; + Requests[2620] = new DefaultHttpContext(); + Requests[2620].RequestServices = CreateServices(); + Requests[2620].Request.Method = "POST"; + Requests[2620].Request.Path = "/subscriptions/128f7941-eb75-/resourceGroups/64cd31fa-7c96-443/providers/Microsoft.ServerManagement/gateways/dd606469-04/upgradetolatest"; + Requests[2621] = new DefaultHttpContext(); + Requests[2621].RequestServices = CreateServices(); + Requests[2621].Request.Method = "POST"; + Requests[2621].Request.Path = "/subscriptions/8c547543-7d48-/resourceGroups/213a4a15-3c7d-4ed/providers/Microsoft.ServiceBus/namespaces/5238fef8-05d0/AuthorizationRules"; + Requests[2622] = new DefaultHttpContext(); + Requests[2622].RequestServices = CreateServices(); + Requests[2622].Request.Method = "GET"; + Requests[2622].Request.Path = "/subscriptions/94d05e0d-07e6-/resourceGroups/eb73a9ba-2645-4e1/providers/Microsoft.ServiceBus/namespaces/19e7d2a5-2ef3/AuthorizationRules"; + Requests[2623] = new DefaultHttpContext(); + Requests[2623].RequestServices = CreateServices(); + Requests[2623].Request.Method = "GET"; + Requests[2623].Request.Path = "/subscriptions/41b1d6bc-86e0-/resourceGroups/0f21e29c-d363-4e1/providers/Microsoft.ServiceBus/namespaces/7653bf41-8c34/disasterRecoveryConfigs"; + Requests[2624] = new DefaultHttpContext(); + Requests[2624].RequestServices = CreateServices(); + Requests[2624].Request.Method = "GET"; + Requests[2624].Request.Path = "/subscriptions/a4433260-a942-/resourceGroups/684b9889-fbbc-4c2/providers/Microsoft.ServiceBus/namespaces/ba26e870-c8e0/eventhubs"; + Requests[2625] = new DefaultHttpContext(); + Requests[2625].RequestServices = CreateServices(); + Requests[2625].Request.Method = "GET"; + Requests[2625].Request.Path = "/subscriptions/a4950609-7f75-/resourceGroups/8ab5c2e1-bc2b-48e/providers/Microsoft.ServiceBus/namespaces/af156b3c-de5d/messagingplan"; + Requests[2626] = new DefaultHttpContext(); + Requests[2626].RequestServices = CreateServices(); + Requests[2626].Request.Method = "PUT"; + Requests[2626].Request.Path = "/subscriptions/65bae425-0272-/resourceGroups/4958d9c8-dd71-4d0/providers/Microsoft.ServiceBus/namespaces/613aa8f2-5a3e/messagingplan"; + Requests[2627] = new DefaultHttpContext(); + Requests[2627].RequestServices = CreateServices(); + Requests[2627].Request.Method = "GET"; + Requests[2627].Request.Path = "/subscriptions/3e84e179-467e-/resourceGroups/356f79bb-d21e-4c9/providers/Microsoft.ServiceBus/namespaces/a9e051d3-1783/migrationConfigurations"; + Requests[2628] = new DefaultHttpContext(); + Requests[2628].RequestServices = CreateServices(); + Requests[2628].Request.Method = "GET"; + Requests[2628].Request.Path = "/subscriptions/47a61493-5757-/resourceGroups/3e0e8d9d-06f0-4c9/providers/Microsoft.ServiceBus/namespaces/c689e601-2ef7/queues"; + Requests[2629] = new DefaultHttpContext(); + Requests[2629].RequestServices = CreateServices(); + Requests[2629].Request.Method = "GET"; + Requests[2629].Request.Path = "/subscriptions/6203031c-5a5f-/resourceGroups/dd5f6142-b48f-4ac/providers/Microsoft.ServiceBus/namespaces/cc7b6790-68da/topics"; + Requests[2630] = new DefaultHttpContext(); + Requests[2630].RequestServices = CreateServices(); + Requests[2630].Request.Method = "GET"; + Requests[2630].Request.Path = "/subscriptions/59aa1090-6474-/resourceGroups/e33fe5bf-d924-4fa/providers/Microsoft.ServiceFabric/clusters/fc1b2cf3-dc/applications"; + Requests[2631] = new DefaultHttpContext(); + Requests[2631].RequestServices = CreateServices(); + Requests[2631].Request.Method = "GET"; + Requests[2631].Request.Path = "/subscriptions/1540fc1b-d942-/resourceGroups/c7388b4f-62fa-4ae/providers/Microsoft.ServiceFabric/clusters/f1bd97a4-19/applicationTypes"; + Requests[2632] = new DefaultHttpContext(); + Requests[2632].RequestServices = CreateServices(); + Requests[2632].Request.Method = "POST"; + Requests[2632].Request.Path = "/subscriptions/2fceaa91-86f4-/resourceGroups/083cd55c-0788-468/providers/Microsoft.SignalRService/SignalR/5f3eb793-605/listKeys"; + Requests[2633] = new DefaultHttpContext(); + Requests[2633].RequestServices = CreateServices(); + Requests[2633].Request.Method = "POST"; + Requests[2633].Request.Path = "/subscriptions/e0ed5a4f-4257-/resourceGroups/33200d1c-62c8-46e/providers/Microsoft.SignalRService/SignalR/873bc140-4f7/regenerateKey"; + Requests[2634] = new DefaultHttpContext(); + Requests[2634].RequestServices = CreateServices(); + Requests[2634].Request.Method = "GET"; + Requests[2634].Request.Path = "/subscriptions/b9f31335-c1dd-/resourceGroups/bff2eff6-ceb7-482/providers/Microsoft.Sql/locations/fa0dedd5-ede/instanceFailoverGroups"; + Requests[2635] = new DefaultHttpContext(); + Requests[2635].RequestServices = CreateServices(); + Requests[2635].Request.Method = "GET"; + Requests[2635].Request.Path = "/subscriptions/477f4a0a-5bc7-/resourceGroups/5ad754cb-dbb7-445/providers/Microsoft.Sql/managedInstances/ec4e2dd0-0765-422e-/databases"; + Requests[2636] = new DefaultHttpContext(); + Requests[2636].RequestServices = CreateServices(); + Requests[2636].Request.Method = "GET"; + Requests[2636].Request.Path = "/subscriptions/863992f8-2a5e-/resourceGroups/4c46a2bb-14e6-4d4/providers/Microsoft.Sql/servers/0e69de27-a/administrators"; + Requests[2637] = new DefaultHttpContext(); + Requests[2637].RequestServices = CreateServices(); + Requests[2637].Request.Method = "GET"; + Requests[2637].Request.Path = "/subscriptions/cf4f8dc8-5d6a-/resourceGroups/7eb0f545-78cf-45d/providers/Microsoft.Sql/servers/e0fef700-2/advisors"; + Requests[2638] = new DefaultHttpContext(); + Requests[2638].RequestServices = CreateServices(); + Requests[2638].Request.Method = "GET"; + Requests[2638].Request.Path = "/subscriptions/8a72c1d3-df24-/resourceGroups/767ef99f-9704-439/providers/Microsoft.Sql/servers/a58cad5f-1/auditingPolicies"; + Requests[2639] = new DefaultHttpContext(); + Requests[2639].RequestServices = CreateServices(); + Requests[2639].Request.Method = "GET"; + Requests[2639].Request.Path = "/subscriptions/32bfe811-6238-/resourceGroups/c1985d5e-0767-4c8/providers/Microsoft.Sql/servers/8d82421f-2/backupLongTermRetentionVaults"; + Requests[2640] = new DefaultHttpContext(); + Requests[2640].RequestServices = CreateServices(); + Requests[2640].Request.Method = "GET"; + Requests[2640].Request.Path = "/subscriptions/9920e32d-4fed-/resourceGroups/75d22ef7-246a-4c0/providers/Microsoft.Sql/servers/ddf873a8-5/communicationLinks"; + Requests[2641] = new DefaultHttpContext(); + Requests[2641].RequestServices = CreateServices(); + Requests[2641].Request.Method = "GET"; + Requests[2641].Request.Path = "/subscriptions/bd01c846-7365-/resourceGroups/a4b51e2f-9e5d-444/providers/Microsoft.Sql/servers/f1f51c5f-4/databases"; + Requests[2642] = new DefaultHttpContext(); + Requests[2642].RequestServices = CreateServices(); + Requests[2642].Request.Method = "GET"; + Requests[2642].Request.Path = "/subscriptions/f91b1307-91ba-/resourceGroups/774410a2-d634-43c/providers/Microsoft.Sql/servers/7b6ef860-c/disasterRecoveryConfiguration"; + Requests[2643] = new DefaultHttpContext(); + Requests[2643].RequestServices = CreateServices(); + Requests[2643].Request.Method = "GET"; + Requests[2643].Request.Path = "/subscriptions/3fcf1732-8fc7-/resourceGroups/c4a62167-30e0-471/providers/Microsoft.Sql/servers/c047c2ba-c/dnsAliases"; + Requests[2644] = new DefaultHttpContext(); + Requests[2644].RequestServices = CreateServices(); + Requests[2644].Request.Method = "GET"; + Requests[2644].Request.Path = "/subscriptions/b31b1877-e2fd-/resourceGroups/4ac0c6a6-c66e-484/providers/Microsoft.Sql/servers/8ad2d088-8/elasticPools"; + Requests[2645] = new DefaultHttpContext(); + Requests[2645].RequestServices = CreateServices(); + Requests[2645].Request.Method = "GET"; + Requests[2645].Request.Path = "/subscriptions/458d508c-4df9-/resourceGroups/d865b811-4f53-449/providers/Microsoft.Sql/servers/dfb59dd4-5/encryptionProtector"; + Requests[2646] = new DefaultHttpContext(); + Requests[2646].RequestServices = CreateServices(); + Requests[2646].Request.Method = "GET"; + Requests[2646].Request.Path = "/subscriptions/a4a9c7cb-1198-/resourceGroups/ea34084c-7999-4f1/providers/Microsoft.Sql/servers/0353a455-9/failoverGroups"; + Requests[2647] = new DefaultHttpContext(); + Requests[2647].RequestServices = CreateServices(); + Requests[2647].Request.Method = "PUT"; + Requests[2647].Request.Path = "/subscriptions/fbd5666a-07c6-/resourceGroups/73064926-fbc3-40c/providers/Microsoft.Sql/servers/f7eb9746-e/firewallRules"; + Requests[2648] = new DefaultHttpContext(); + Requests[2648].RequestServices = CreateServices(); + Requests[2648].Request.Method = "GET"; + Requests[2648].Request.Path = "/subscriptions/f98534ec-541b-/resourceGroups/a30d18dd-7741-4d8/providers/Microsoft.Sql/servers/84226b59-5/firewallRules"; + Requests[2649] = new DefaultHttpContext(); + Requests[2649].RequestServices = CreateServices(); + Requests[2649].Request.Method = "POST"; + Requests[2649].Request.Path = "/subscriptions/3026825f-5371-/resourceGroups/c5856315-52e7-4ce/providers/Microsoft.Sql/servers/dbfb8e3d-a/import"; + Requests[2650] = new DefaultHttpContext(); + Requests[2650].RequestServices = CreateServices(); + Requests[2650].Request.Method = "GET"; + Requests[2650].Request.Path = "/subscriptions/efacabe1-d46d-/resourceGroups/d098e9a3-37b1-41d/providers/Microsoft.Sql/servers/005ad2ba-a/jobAgents"; + Requests[2651] = new DefaultHttpContext(); + Requests[2651].RequestServices = CreateServices(); + Requests[2651].Request.Method = "GET"; + Requests[2651].Request.Path = "/subscriptions/a4efa562-3bfc-/resourceGroups/77402161-5ff8-4d0/providers/Microsoft.Sql/servers/7641de7c-c/keys"; + Requests[2652] = new DefaultHttpContext(); + Requests[2652].RequestServices = CreateServices(); + Requests[2652].Request.Method = "GET"; + Requests[2652].Request.Path = "/subscriptions/6ae0e156-c656-/resourceGroups/67272c45-b3ed-41b/providers/Microsoft.Sql/servers/6a12a1f8-8/recommendedElasticPools"; + Requests[2653] = new DefaultHttpContext(); + Requests[2653].RequestServices = CreateServices(); + Requests[2653].Request.Method = "GET"; + Requests[2653].Request.Path = "/subscriptions/d372d250-b86f-/resourceGroups/b4c4400a-b923-4a1/providers/Microsoft.Sql/servers/d9093807-c/recoverableDatabases"; + Requests[2654] = new DefaultHttpContext(); + Requests[2654].RequestServices = CreateServices(); + Requests[2654].Request.Method = "GET"; + Requests[2654].Request.Path = "/subscriptions/3f71185a-d8f3-/resourceGroups/a6bff1a2-d69f-4b4/providers/Microsoft.Sql/servers/509a0da3-0/restorableDroppedDatabases"; + Requests[2655] = new DefaultHttpContext(); + Requests[2655].RequestServices = CreateServices(); + Requests[2655].Request.Method = "GET"; + Requests[2655].Request.Path = "/subscriptions/20b708db-9214-/resourceGroups/66259f05-87b8-4f3/providers/Microsoft.Sql/servers/e9b46ead-1/serviceObjectives"; + Requests[2656] = new DefaultHttpContext(); + Requests[2656].RequestServices = CreateServices(); + Requests[2656].Request.Method = "GET"; + Requests[2656].Request.Path = "/subscriptions/5145f2d0-fda6-/resourceGroups/c2b7a990-b12e-454/providers/Microsoft.Sql/servers/dcd0c8af-0/syncAgents"; + Requests[2657] = new DefaultHttpContext(); + Requests[2657].RequestServices = CreateServices(); + Requests[2657].Request.Method = "GET"; + Requests[2657].Request.Path = "/subscriptions/4a1ed953-f4d1-/resourceGroups/932f5c92-f1fd-4b1/providers/Microsoft.Sql/servers/8a31564c-c/usages"; + Requests[2658] = new DefaultHttpContext(); + Requests[2658].RequestServices = CreateServices(); + Requests[2658].Request.Method = "GET"; + Requests[2658].Request.Path = "/subscriptions/f3df457b-d30a-/resourceGroups/f176a5f9-31f8-446/providers/Microsoft.Sql/servers/f89ef74d-f/virtualNetworkRules"; + Requests[2659] = new DefaultHttpContext(); + Requests[2659].RequestServices = CreateServices(); + Requests[2659].Request.Method = "GET"; + Requests[2659].Request.Path = "/subscriptions/eb6aa8ef-3821-/resourcegroups/3b5e60ec-86ee-4e3/providers/Microsoft.Storage.Admin/farms/589a4e/acquisitions"; + Requests[2660] = new DefaultHttpContext(); + Requests[2660].RequestServices = CreateServices(); + Requests[2660].Request.Method = "GET"; + Requests[2660].Request.Path = "/subscriptions/57c4bd77-5313-/resourcegroups/1f38ad21-84e4-4e2/providers/Microsoft.Storage.Admin/farms/475ade/metricdefinitions"; + Requests[2661] = new DefaultHttpContext(); + Requests[2661].RequestServices = CreateServices(); + Requests[2661].Request.Method = "GET"; + Requests[2661].Request.Path = "/subscriptions/3baaa167-3e9e-/resourcegroups/7f136b87-0364-430/providers/Microsoft.Storage.Admin/farms/3e1b3a/metrics"; + Requests[2662] = new DefaultHttpContext(); + Requests[2662].RequestServices = CreateServices(); + Requests[2662].Request.Method = "POST"; + Requests[2662].Request.Path = "/subscriptions/b9f8d8f3-3bb4-/resourcegroups/19b6041a-2187-483/providers/Microsoft.Storage.Admin/farms/71a8aa/ondemandgc"; + Requests[2663] = new DefaultHttpContext(); + Requests[2663].RequestServices = CreateServices(); + Requests[2663].Request.Method = "GET"; + Requests[2663].Request.Path = "/subscriptions/b3896dc8-8ee3-/resourcegroups/c0916483-59d7-42a/providers/Microsoft.Storage.Admin/farms/e73d8a/shares"; + Requests[2664] = new DefaultHttpContext(); + Requests[2664].RequestServices = CreateServices(); + Requests[2664].Request.Method = "GET"; + Requests[2664].Request.Path = "/subscriptions/b6d5020e-b681-/resourcegroups/176d36f1-3976-444/providers/Microsoft.Storage.Admin/farms/da1758/storageaccounts"; + Requests[2665] = new DefaultHttpContext(); + Requests[2665].RequestServices = CreateServices(); + Requests[2665].Request.Method = "POST"; + Requests[2665].Request.Path = "/subscriptions/6b69808c-583f-/resourceGroups/e3a74a9d-5d85-405/providers/Microsoft.Storage/storageAccounts/5c067843-29/ListAccountSas"; + Requests[2666] = new DefaultHttpContext(); + Requests[2666].RequestServices = CreateServices(); + Requests[2666].Request.Method = "POST"; + Requests[2666].Request.Path = "/subscriptions/e85fc4b8-10fe-/resourceGroups/b7676416-39e6-41f/providers/Microsoft.Storage/storageAccounts/e5ef76bb-7a/listKeys"; + Requests[2667] = new DefaultHttpContext(); + Requests[2667].RequestServices = CreateServices(); + Requests[2667].Request.Method = "POST"; + Requests[2667].Request.Path = "/subscriptions/4c6c5650-74d6-/resourceGroups/279dc70a-f9fe-415/providers/Microsoft.Storage/storageAccounts/c27ca217-92/ListServiceSas"; + Requests[2668] = new DefaultHttpContext(); + Requests[2668].RequestServices = CreateServices(); + Requests[2668].Request.Method = "POST"; + Requests[2668].Request.Path = "/subscriptions/8f7c0b2a-196c-/resourceGroups/b5b7da1d-87d0-4d1/providers/Microsoft.Storage/storageAccounts/4ff0fc70-d8/regenerateKey"; + Requests[2669] = new DefaultHttpContext(); + Requests[2669].RequestServices = CreateServices(); + Requests[2669].Request.Method = "GET"; + Requests[2669].Request.Path = "/subscriptions/410fba3d-2dc9-/resourceGroups/c9f489a8-14d5-413/providers/Microsoft.StorSimple/managers/1b49787f-7b/accessControlRecords"; + Requests[2670] = new DefaultHttpContext(); + Requests[2670].RequestServices = CreateServices(); + Requests[2670].Request.Method = "GET"; + Requests[2670].Request.Path = "/subscriptions/2a0e3745-e28b-/resourceGroups/8cc992f0-9bfc-4fe/providers/Microsoft.StorSimple/managers/d4ddc9a7-bf/alerts"; + Requests[2671] = new DefaultHttpContext(); + Requests[2671].RequestServices = CreateServices(); + Requests[2671].Request.Method = "GET"; + Requests[2671].Request.Path = "/subscriptions/7ffb4c67-0f8c-/resourceGroups/a678eea3-7437-44a/providers/Microsoft.StorSimple/managers/1f56ab39-5f/bandwidthSettings"; + Requests[2672] = new DefaultHttpContext(); + Requests[2672].RequestServices = CreateServices(); + Requests[2672].Request.Method = "POST"; + Requests[2672].Request.Path = "/subscriptions/a04ccd3d-6d91-/resourceGroups/d3f3c7e9-fed4-445/providers/Microsoft.StorSimple/managers/aa625fe9-ef/clearAlerts"; + Requests[2673] = new DefaultHttpContext(); + Requests[2673].RequestServices = CreateServices(); + Requests[2673].Request.Method = "GET"; + Requests[2673].Request.Path = "/subscriptions/e6a7d82b-0a33-/resourceGroups/109dc6c1-c872-4fd/providers/Microsoft.StorSimple/managers/996353b4-ba/cloudApplianceConfigurations"; + Requests[2674] = new DefaultHttpContext(); + Requests[2674].RequestServices = CreateServices(); + Requests[2674].Request.Method = "POST"; + Requests[2674].Request.Path = "/subscriptions/5522e324-b278-/resourceGroups/1752288f-47af-49e/providers/Microsoft.StorSimple/managers/ad6a4cb7-90/configureDevice"; + Requests[2675] = new DefaultHttpContext(); + Requests[2675].RequestServices = CreateServices(); + Requests[2675].Request.Method = "GET"; + Requests[2675].Request.Path = "/subscriptions/3b324e24-f112-/resourceGroups/59b806f4-3699-446/providers/Microsoft.StorSimple/managers/a63a09f8-5b/devices"; + Requests[2676] = new DefaultHttpContext(); + Requests[2676].RequestServices = CreateServices(); + Requests[2676].Request.Method = "GET"; + Requests[2676].Request.Path = "/subscriptions/fc0a9220-d3fa-/resourceGroups/c7f37eea-f1cf-491/providers/Microsoft.StorSimple/managers/b78f676b-53/features"; + Requests[2677] = new DefaultHttpContext(); + Requests[2677].RequestServices = CreateServices(); + Requests[2677].Request.Method = "GET"; + Requests[2677].Request.Path = "/subscriptions/8597d52a-72bb-/resourceGroups/81873300-4ef5-47c/providers/Microsoft.StorSimple/managers/be6c05d8-71/jobs"; + Requests[2678] = new DefaultHttpContext(); + Requests[2678].RequestServices = CreateServices(); + Requests[2678].Request.Method = "POST"; + Requests[2678].Request.Path = "/subscriptions/10d335e2-d145-/resourceGroups/6141d8c4-fb8e-4de/providers/Microsoft.StorSimple/managers/26811a83-a8/listActivationKey"; + Requests[2679] = new DefaultHttpContext(); + Requests[2679].RequestServices = CreateServices(); + Requests[2679].Request.Method = "POST"; + Requests[2679].Request.Path = "/subscriptions/17f91076-052c-/resourceGroups/459025b7-8d2c-44a/providers/Microsoft.StorSimple/managers/b8f37181-d6/listPublicEncryptionKey"; + Requests[2680] = new DefaultHttpContext(); + Requests[2680].RequestServices = CreateServices(); + Requests[2680].Request.Method = "GET"; + Requests[2680].Request.Path = "/subscriptions/6bfe69b5-366a-/resourceGroups/9c263d4f-dbe9-4fb/providers/Microsoft.StorSimple/managers/9548a507-b4/metrics"; + Requests[2681] = new DefaultHttpContext(); + Requests[2681].RequestServices = CreateServices(); + Requests[2681].Request.Method = "GET"; + Requests[2681].Request.Path = "/subscriptions/fd45b314-d178-/resourceGroups/1ce77fc4-e5dd-4ee/providers/Microsoft.StorSimple/managers/bbdce1b2-99/metricsDefinitions"; + Requests[2682] = new DefaultHttpContext(); + Requests[2682].RequestServices = CreateServices(); + Requests[2682].Request.Method = "POST"; + Requests[2682].Request.Path = "/subscriptions/35e62cc7-97df-/resourceGroups/45e03b3a-9c47-451/providers/Microsoft.StorSimple/managers/cf397eec-e7/provisionCloudAppliance"; + Requests[2683] = new DefaultHttpContext(); + Requests[2683].RequestServices = CreateServices(); + Requests[2683].Request.Method = "POST"; + Requests[2683].Request.Path = "/subscriptions/b61bac52-623f-/resourceGroups/ba19c43d-17a6-422/providers/Microsoft.StorSimple/managers/23ee2c30-bd/regenerateActivationKey"; + Requests[2684] = new DefaultHttpContext(); + Requests[2684].RequestServices = CreateServices(); + Requests[2684].Request.Method = "GET"; + Requests[2684].Request.Path = "/subscriptions/da63bc14-b55a-/resourceGroups/ca2ef8fd-73a2-40f/providers/Microsoft.StorSimple/managers/6acc2bae-f4/storageAccountCredentials"; + Requests[2685] = new DefaultHttpContext(); + Requests[2685].RequestServices = CreateServices(); + Requests[2685].Request.Method = "GET"; + Requests[2685].Request.Path = "/subscriptions/eaca811f-6530-/resourcegroups/a2580af8-2918-43b/providers/Microsoft.StreamAnalytics/streamingjobs/fe3c3d4/functions"; + Requests[2686] = new DefaultHttpContext(); + Requests[2686].RequestServices = CreateServices(); + Requests[2686].Request.Method = "GET"; + Requests[2686].Request.Path = "/subscriptions/fed38ab8-63ac-/resourcegroups/036ba90a-f25c-4be/providers/Microsoft.StreamAnalytics/streamingjobs/f1e1a8b/inputs"; + Requests[2687] = new DefaultHttpContext(); + Requests[2687].RequestServices = CreateServices(); + Requests[2687].Request.Method = "GET"; + Requests[2687].Request.Path = "/subscriptions/6d4f8478-8593-/resourcegroups/7536edef-8996-45d/providers/Microsoft.StreamAnalytics/streamingjobs/2fe1e8c/outputs"; + Requests[2688] = new DefaultHttpContext(); + Requests[2688].RequestServices = CreateServices(); + Requests[2688].Request.Method = "POST"; + Requests[2688].Request.Path = "/subscriptions/4abf8303-4baa-/resourcegroups/feae29ec-7442-4af/providers/Microsoft.StreamAnalytics/streamingjobs/d1aff8c/start"; + Requests[2689] = new DefaultHttpContext(); + Requests[2689].RequestServices = CreateServices(); + Requests[2689].Request.Method = "POST"; + Requests[2689].Request.Path = "/subscriptions/4176329f-beb9-/resourcegroups/3387cbf7-21d0-47b/providers/Microsoft.StreamAnalytics/streamingjobs/dbda36d/stop"; + Requests[2690] = new DefaultHttpContext(); + Requests[2690].RequestServices = CreateServices(); + Requests[2690].Request.Method = "POST"; + Requests[2690].Request.Path = "/subscriptions/70d6193e-2f86-/resourcegroups/efba5d09-3ef7-4b5/providers/Microsoft.Subscriptions.Admin/offers/007ed/link"; + Requests[2691] = new DefaultHttpContext(); + Requests[2691].RequestServices = CreateServices(); + Requests[2691].Request.Method = "GET"; + Requests[2691].Request.Path = "/subscriptions/2cfe1e0f-25c6-/resourcegroups/d5180e3b-ed9b-430/providers/Microsoft.Subscriptions.Admin/offers/d126a/MetricDefinitions"; + Requests[2692] = new DefaultHttpContext(); + Requests[2692].RequestServices = CreateServices(); + Requests[2692].Request.Method = "GET"; + Requests[2692].Request.Path = "/subscriptions/772ecbae-8b81-/resourcegroups/b44e2b9b-0131-428/providers/Microsoft.Subscriptions.Admin/offers/20ef8/Metrics"; + Requests[2693] = new DefaultHttpContext(); + Requests[2693].RequestServices = CreateServices(); + Requests[2693].Request.Method = "GET"; + Requests[2693].Request.Path = "/subscriptions/440e9476-b7ad-/resourcegroups/45bc3eb8-1799-478/providers/Microsoft.Subscriptions.Admin/offers/4984b/offerDelegations"; + Requests[2694] = new DefaultHttpContext(); + Requests[2694].RequestServices = CreateServices(); + Requests[2694].Request.Method = "POST"; + Requests[2694].Request.Path = "/subscriptions/767226dd-e627-/resourcegroups/a516ef66-0efc-4db/providers/Microsoft.Subscriptions.Admin/offers/e286c/unlink"; + Requests[2695] = new DefaultHttpContext(); + Requests[2695].RequestServices = CreateServices(); + Requests[2695].Request.Method = "GET"; + Requests[2695].Request.Path = "/subscriptions/6bf35d4d-00bd-/resourcegroups/c6cc80d9-0ebb-42e/providers/Microsoft.Subscriptions.Admin/plans/74072/MetricDefinitions"; + Requests[2696] = new DefaultHttpContext(); + Requests[2696].RequestServices = CreateServices(); + Requests[2696].Request.Method = "GET"; + Requests[2696].Request.Path = "/subscriptions/f6a56cfa-bd19-/resourcegroups/255261a3-7d27-45e/providers/Microsoft.Subscriptions.Admin/plans/b4003/Metrics"; + Requests[2697] = new DefaultHttpContext(); + Requests[2697].RequestServices = CreateServices(); + Requests[2697].Request.Method = "GET"; + Requests[2697].Request.Path = "/subscriptions/c26082de-a95a-/resourceGroups/cc7675b8-dc89-42c/providers/Microsoft.TimeSeriesInsights/environments/52235db5-c35a-4/accessPolicies"; + Requests[2698] = new DefaultHttpContext(); + Requests[2698].RequestServices = CreateServices(); + Requests[2698].Request.Method = "GET"; + Requests[2698].Request.Path = "/subscriptions/9cde9ea1-3ea5-/resourceGroups/44b0ce23-582a-428/providers/Microsoft.TimeSeriesInsights/environments/b8207dd9-f94d-4/eventSources"; + Requests[2699] = new DefaultHttpContext(); + Requests[2699].RequestServices = CreateServices(); + Requests[2699].Request.Method = "GET"; + Requests[2699].Request.Path = "/subscriptions/95ac4520-c3b3-/resourceGroups/6d459466-27a5-46d/providers/Microsoft.TimeSeriesInsights/environments/eeddbe08-deae-4/referenceDataSets"; + Requests[2700] = new DefaultHttpContext(); + Requests[2700].RequestServices = CreateServices(); + Requests[2700].Request.Method = "GET"; + Requests[2700].Request.Path = "/subscriptions/573541a2-aad9-/resourcegroups/84b72b69-2cfc-465/providers/Microsoft.Update.Admin/updateLocations/5303c90c-4c9f-/updates"; + Requests[2701] = new DefaultHttpContext(); + Requests[2701].RequestServices = CreateServices(); + Requests[2701].Request.Method = "GET"; + Requests[2701].Request.Path = "/subscriptions/54cf945f-f532-/resourcegroups/44a6e073-cdda-450/providers/microsoft.visualstudio/account/c66db755-2902-47f9-/extension"; + Requests[2702] = new DefaultHttpContext(); + Requests[2702].RequestServices = CreateServices(); + Requests[2702].Request.Method = "GET"; + Requests[2702].Request.Path = "/subscriptions/e44cdeeb-f25c-/resourceGroups/c167ac2b-fc7e-411/providers/microsoft.visualstudio/account/234e1070-588f-4d/project"; + Requests[2703] = new DefaultHttpContext(); + Requests[2703].RequestServices = CreateServices(); + Requests[2703].Request.Method = "GET"; + Requests[2703].Request.Path = "/subscriptions/afaa133c-6ea9-/resourceGroups/b7ef4c9e-71a6-4d7/providers/Microsoft.Web.Admin/environments/c0482972-e93b-4/usage"; + Requests[2704] = new DefaultHttpContext(); + Requests[2704].RequestServices = CreateServices(); + Requests[2704].Request.Method = "POST"; + Requests[2704].Request.Path = "/subscriptions/6c7d9a59-42b6-/resourceGroups/025bd756-9582-40c/providers/Microsoft.Web/connections/38252347-7ad9-/confirmConsentCode"; + Requests[2705] = new DefaultHttpContext(); + Requests[2705].RequestServices = CreateServices(); + Requests[2705].Request.Method = "POST"; + Requests[2705].Request.Path = "/subscriptions/420df0ec-caba-/resourceGroups/20204c67-6d83-467/providers/Microsoft.Web/connections/76aab7ff-0f5d-/listConnectionKeys"; + Requests[2706] = new DefaultHttpContext(); + Requests[2706].RequestServices = CreateServices(); + Requests[2706].Request.Method = "POST"; + Requests[2706].Request.Path = "/subscriptions/61ab2537-10d5-/resourceGroups/3e7dfc9d-8271-452/providers/Microsoft.Web/connections/3ec2e022-3584-/listConsentLinks"; + Requests[2707] = new DefaultHttpContext(); + Requests[2707].RequestServices = CreateServices(); + Requests[2707].Request.Method = "POST"; + Requests[2707].Request.Path = "/subscriptions/1d7e1bff-f0b0-/resourceGroups/2f59d253-786c-420/providers/Microsoft.Web/customApis/172344b/move"; + Requests[2708] = new DefaultHttpContext(); + Requests[2708].RequestServices = CreateServices(); + Requests[2708].Request.Method = "POST"; + Requests[2708].Request.Path = "/subscriptions/aff61bec-d9d2-/resourceGroups/35fd1a45-f3ee-45e/providers/Microsoft.Web/hostingEnvironments/45da4/changeVirtualNetwork"; + Requests[2709] = new DefaultHttpContext(); + Requests[2709].RequestServices = CreateServices(); + Requests[2709].Request.Method = "GET"; + Requests[2709].Request.Path = "/subscriptions/56412a76-686c-/resourceGroups/f89d6ff7-c19a-4c4/providers/Microsoft.Web/hostingEnvironments/adc0f/detectors"; + Requests[2710] = new DefaultHttpContext(); + Requests[2710].RequestServices = CreateServices(); + Requests[2710].Request.Method = "GET"; + Requests[2710].Request.Path = "/subscriptions/6363a6a6-adb7-/resourceGroups/d0b78cb7-c9b8-41b/providers/Microsoft.Web/hostingEnvironments/347dd/diagnostics"; + Requests[2711] = new DefaultHttpContext(); + Requests[2711].RequestServices = CreateServices(); + Requests[2711].Request.Method = "GET"; + Requests[2711].Request.Path = "/subscriptions/8744fa73-cbae-/resourceGroups/bb49e812-a2f2-410/providers/Microsoft.Web/hostingEnvironments/3e706/metricdefinitions"; + Requests[2712] = new DefaultHttpContext(); + Requests[2712].RequestServices = CreateServices(); + Requests[2712].Request.Method = "GET"; + Requests[2712].Request.Path = "/subscriptions/3eb52e52-665a-/resourceGroups/3b9338c3-7434-422/providers/Microsoft.Web/hostingEnvironments/aeedd/metrics"; + Requests[2713] = new DefaultHttpContext(); + Requests[2713].RequestServices = CreateServices(); + Requests[2713].Request.Method = "GET"; + Requests[2713].Request.Path = "/subscriptions/b648d495-7aa6-/resourceGroups/9472f6fc-e6a3-4e3/providers/Microsoft.Web/hostingEnvironments/81f1e/multiRolePools"; + Requests[2714] = new DefaultHttpContext(); + Requests[2714].RequestServices = CreateServices(); + Requests[2714].Request.Method = "GET"; + Requests[2714].Request.Path = "/subscriptions/b3ba5dc3-65ca-/resourceGroups/9d6c098c-66a6-490/providers/Microsoft.Web/hostingEnvironments/dee98/operations"; + Requests[2715] = new DefaultHttpContext(); + Requests[2715].RequestServices = CreateServices(); + Requests[2715].Request.Method = "POST"; + Requests[2715].Request.Path = "/subscriptions/f1e10d6b-55f0-/resourceGroups/fffd8316-cdee-476/providers/Microsoft.Web/hostingEnvironments/37f5f/reboot"; + Requests[2716] = new DefaultHttpContext(); + Requests[2716].RequestServices = CreateServices(); + Requests[2716].Request.Method = "POST"; + Requests[2716].Request.Path = "/subscriptions/eab17dde-f986-/resourceGroups/614a3992-8e1d-4e4/providers/Microsoft.Web/hostingEnvironments/a925e/resume"; + Requests[2717] = new DefaultHttpContext(); + Requests[2717].RequestServices = CreateServices(); + Requests[2717].Request.Method = "GET"; + Requests[2717].Request.Path = "/subscriptions/03189473-85db-/resourceGroups/3bf96faa-5f7c-4e2/providers/Microsoft.Web/hostingEnvironments/00c45/serverfarms"; + Requests[2718] = new DefaultHttpContext(); + Requests[2718].RequestServices = CreateServices(); + Requests[2718].Request.Method = "GET"; + Requests[2718].Request.Path = "/subscriptions/2ec2a86c-0e84-/resourceGroups/0661b2f5-adbd-454/providers/Microsoft.Web/hostingEnvironments/18e1d/sites"; + Requests[2719] = new DefaultHttpContext(); + Requests[2719].RequestServices = CreateServices(); + Requests[2719].Request.Method = "POST"; + Requests[2719].Request.Path = "/subscriptions/a3761c13-1c06-/resourceGroups/73b1e16d-1d08-44e/providers/Microsoft.Web/hostingEnvironments/e78fe/suspend"; + Requests[2720] = new DefaultHttpContext(); + Requests[2720].RequestServices = CreateServices(); + Requests[2720].Request.Method = "POST"; + Requests[2720].Request.Path = "/subscriptions/0958a7e9-6924-/resourceGroups/36b6435f-7b8c-45a/providers/Microsoft.Web/hostingEnvironments/17dc1/syncVirtualNetwork"; + Requests[2721] = new DefaultHttpContext(); + Requests[2721].RequestServices = CreateServices(); + Requests[2721].Request.Method = "GET"; + Requests[2721].Request.Path = "/subscriptions/c4a66bdb-61c6-/resourceGroups/fbefe7d4-f10f-459/providers/Microsoft.Web/hostingEnvironments/11109/usages"; + Requests[2722] = new DefaultHttpContext(); + Requests[2722].RequestServices = CreateServices(); + Requests[2722].Request.Method = "GET"; + Requests[2722].Request.Path = "/subscriptions/49a29e33-3935-/resourceGroups/4a05439e-f9fd-431/providers/Microsoft.Web/hostingEnvironments/7cf7e/webhostingplans"; + Requests[2723] = new DefaultHttpContext(); + Requests[2723].RequestServices = CreateServices(); + Requests[2723].Request.Method = "GET"; + Requests[2723].Request.Path = "/subscriptions/9bfe6895-b5d1-/resourceGroups/5f44db9f-0879-48f/providers/Microsoft.Web/hostingEnvironments/3b0dd/workerPools"; + Requests[2724] = new DefaultHttpContext(); + Requests[2724].RequestServices = CreateServices(); + Requests[2724].Request.Method = "GET"; + Requests[2724].Request.Path = "/subscriptions/56b9b725-a28f-/resourceGroups/2d44ef23-a54f-4f6/providers/Microsoft.Web/managedHostingEnvironments/839f0/serverfarms"; + Requests[2725] = new DefaultHttpContext(); + Requests[2725].RequestServices = CreateServices(); + Requests[2725].Request.Method = "GET"; + Requests[2725].Request.Path = "/subscriptions/803ab048-a985-/resourceGroups/bd75ad7c-7b8f-4aa/providers/Microsoft.Web/managedHostingEnvironments/1e99a/sites"; + Requests[2726] = new DefaultHttpContext(); + Requests[2726].RequestServices = CreateServices(); + Requests[2726].Request.Method = "GET"; + Requests[2726].Request.Path = "/subscriptions/5a4b237e-f168-/resourceGroups/79c70805-78f8-4ea/providers/Microsoft.Web/managedHostingEnvironments/c7fbc/webhostingplans"; + Requests[2727] = new DefaultHttpContext(); + Requests[2727].RequestServices = CreateServices(); + Requests[2727].Request.Method = "GET"; + Requests[2727].Request.Path = "/subscriptions/3e8c8b1a-d1bb-/resourceGroups/537df491-3841-4e4/providers/Microsoft.Web/serverfarms/dacef/capabilities"; + Requests[2728] = new DefaultHttpContext(); + Requests[2728].RequestServices = CreateServices(); + Requests[2728].Request.Method = "GET"; + Requests[2728].Request.Path = "/subscriptions/43df7eba-c6c3-/resourceGroups/a9a43876-0d81-467/providers/Microsoft.Web/serverfarms/4be9f/hybridConnectionRelays"; + Requests[2729] = new DefaultHttpContext(); + Requests[2729].RequestServices = CreateServices(); + Requests[2729].Request.Method = "GET"; + Requests[2729].Request.Path = "/subscriptions/ed503071-23a2-/resourceGroups/72fa4a75-e3fe-4cb/providers/Microsoft.Web/serverfarms/42313/metricdefinitions"; + Requests[2730] = new DefaultHttpContext(); + Requests[2730].RequestServices = CreateServices(); + Requests[2730].Request.Method = "GET"; + Requests[2730].Request.Path = "/subscriptions/ecbf9627-d598-/resourceGroups/2da9b927-3bde-4eb/providers/Microsoft.Web/serverfarms/e093e/metrics"; + Requests[2731] = new DefaultHttpContext(); + Requests[2731].RequestServices = CreateServices(); + Requests[2731].Request.Method = "POST"; + Requests[2731].Request.Path = "/subscriptions/dcf95135-591a-/resourceGroups/3abb7141-410d-449/providers/Microsoft.Web/serverfarms/0b1d4/restartSites"; + Requests[2732] = new DefaultHttpContext(); + Requests[2732].RequestServices = CreateServices(); + Requests[2732].Request.Method = "GET"; + Requests[2732].Request.Path = "/subscriptions/3e48fcb3-76f4-/resourceGroups/32a2ab95-58be-409/providers/Microsoft.Web/serverfarms/6549b/sites"; + Requests[2733] = new DefaultHttpContext(); + Requests[2733].RequestServices = CreateServices(); + Requests[2733].Request.Method = "GET"; + Requests[2733].Request.Path = "/subscriptions/2a25ed50-6f0a-/resourceGroups/cfaef9cb-7a8c-4de/providers/Microsoft.Web/serverfarms/91dc1/skus"; + Requests[2734] = new DefaultHttpContext(); + Requests[2734].RequestServices = CreateServices(); + Requests[2734].Request.Method = "GET"; + Requests[2734].Request.Path = "/subscriptions/08fc63b0-64e4-/resourceGroups/07e1ef96-eedf-411/providers/Microsoft.Web/serverfarms/db8a1/usages"; + Requests[2735] = new DefaultHttpContext(); + Requests[2735].RequestServices = CreateServices(); + Requests[2735].Request.Method = "GET"; + Requests[2735].Request.Path = "/subscriptions/7fac1ba7-a902-/resourceGroups/28983ad5-e65a-489/providers/Microsoft.Web/serverfarms/69bcf/virtualNetworkConnections"; + Requests[2736] = new DefaultHttpContext(); + Requests[2736].RequestServices = CreateServices(); + Requests[2736].Request.Method = "GET"; + Requests[2736].Request.Path = "/subscriptions/35167dd1-5109-/resourceGroups/f3ada67f-ddff-4d1/providers/Microsoft.Web/sites/8f98d/analyzeCustomHostname"; + Requests[2737] = new DefaultHttpContext(); + Requests[2737].RequestServices = CreateServices(); + Requests[2737].Request.Method = "POST"; + Requests[2737].Request.Path = "/subscriptions/e391f217-2634-/resourceGroups/3cbe288f-994f-490/providers/Microsoft.Web/sites/2aec4/applySlotConfig"; + Requests[2738] = new DefaultHttpContext(); + Requests[2738].RequestServices = CreateServices(); + Requests[2738].Request.Method = "POST"; + Requests[2738].Request.Path = "/subscriptions/ad32687a-d4f8-/resourceGroups/6bddb917-47fb-406/providers/Microsoft.Web/sites/a6c83/backup"; + Requests[2739] = new DefaultHttpContext(); + Requests[2739].RequestServices = CreateServices(); + Requests[2739].Request.Method = "GET"; + Requests[2739].Request.Path = "/subscriptions/eee93fd7-bd72-/resourceGroups/8c185b07-563c-4a7/providers/Microsoft.Web/sites/e6b10/backups"; + Requests[2740] = new DefaultHttpContext(); + Requests[2740].RequestServices = CreateServices(); + Requests[2740].Request.Method = "GET"; + Requests[2740].Request.Path = "/subscriptions/a25fce38-09e2-/resourceGroups/07a20902-a2fb-428/providers/Microsoft.Web/sites/0c0bf/config"; + Requests[2741] = new DefaultHttpContext(); + Requests[2741].RequestServices = CreateServices(); + Requests[2741].Request.Method = "POST"; + Requests[2741].Request.Path = "/subscriptions/dff0edfb-2096-/resourceGroups/f571d277-c24b-47c/providers/Microsoft.Web/sites/bf7dc/containerlogs"; + Requests[2742] = new DefaultHttpContext(); + Requests[2742].RequestServices = CreateServices(); + Requests[2742].Request.Method = "GET"; + Requests[2742].Request.Path = "/subscriptions/96bd8ade-1f83-/resourceGroups/bba570a3-0652-469/providers/Microsoft.Web/sites/2e806/continuouswebjobs"; + Requests[2743] = new DefaultHttpContext(); + Requests[2743].RequestServices = CreateServices(); + Requests[2743].Request.Method = "GET"; + Requests[2743].Request.Path = "/subscriptions/65af9f84-c5fb-/resourceGroups/73f4566a-4c99-428/providers/Microsoft.Web/sites/e7e80/deployments"; + Requests[2744] = new DefaultHttpContext(); + Requests[2744].RequestServices = CreateServices(); + Requests[2744].Request.Method = "GET"; + Requests[2744].Request.Path = "/subscriptions/9ff7c052-280b-/resourceGroups/5c0b61a8-0511-441/providers/Microsoft.Web/sites/2a6d3/domainOwnershipIdentifiers"; + Requests[2745] = new DefaultHttpContext(); + Requests[2745].RequestServices = CreateServices(); + Requests[2745].Request.Method = "GET"; + Requests[2745].Request.Path = "/subscriptions/8024b26b-06ec-/resourceGroups/adef00f9-6222-4ec/providers/Microsoft.Web/sites/348d2/functions"; + Requests[2746] = new DefaultHttpContext(); + Requests[2746].RequestServices = CreateServices(); + Requests[2746].Request.Method = "GET"; + Requests[2746].Request.Path = "/subscriptions/46cdfaf5-440c-/resourceGroups/02b1e3e4-a8d0-401/providers/Microsoft.Web/sites/97b97/hostNameBindings"; + Requests[2747] = new DefaultHttpContext(); + Requests[2747].RequestServices = CreateServices(); + Requests[2747].Request.Method = "GET"; + Requests[2747].Request.Path = "/subscriptions/57a79f4d-944b-/resourceGroups/a20763cf-2e9f-404/providers/Microsoft.Web/sites/06afa/hybridconnection"; + Requests[2748] = new DefaultHttpContext(); + Requests[2748].RequestServices = CreateServices(); + Requests[2748].Request.Method = "GET"; + Requests[2748].Request.Path = "/subscriptions/1826e8b8-98fa-/resourceGroups/5de1f7d3-5a1e-439/providers/Microsoft.Web/sites/74976/hybridConnectionRelays"; + Requests[2749] = new DefaultHttpContext(); + Requests[2749].RequestServices = CreateServices(); + Requests[2749].Request.Method = "GET"; + Requests[2749].Request.Path = "/subscriptions/21889818-96d6-/resourceGroups/efc8cedc-6d7a-4f2/providers/Microsoft.Web/sites/dfb27/instances"; + Requests[2750] = new DefaultHttpContext(); + Requests[2750].RequestServices = CreateServices(); + Requests[2750].Request.Method = "POST"; + Requests[2750].Request.Path = "/subscriptions/981ef5cf-1648-/resourceGroups/26251c21-bf2c-464/providers/Microsoft.Web/sites/6ccbd/iscloneable"; + Requests[2751] = new DefaultHttpContext(); + Requests[2751].RequestServices = CreateServices(); + Requests[2751].Request.Method = "POST"; + Requests[2751].Request.Path = "/subscriptions/8e09d18e-a0b2-/resourceGroups/a52f1f08-3666-4fa/providers/Microsoft.Web/sites/e51bc/listsyncfunctiontriggerstatus"; + Requests[2752] = new DefaultHttpContext(); + Requests[2752].RequestServices = CreateServices(); + Requests[2752].Request.Method = "GET"; + Requests[2752].Request.Path = "/subscriptions/5859de04-868f-/resourceGroups/2622d29a-f174-45b/providers/Microsoft.Web/sites/10bb5/metricdefinitions"; + Requests[2753] = new DefaultHttpContext(); + Requests[2753].RequestServices = CreateServices(); + Requests[2753].Request.Method = "GET"; + Requests[2753].Request.Path = "/subscriptions/322f680b-315e-/resourceGroups/9bfee610-307d-45b/providers/Microsoft.Web/sites/8f693/metrics"; + Requests[2754] = new DefaultHttpContext(); + Requests[2754].RequestServices = CreateServices(); + Requests[2754].Request.Method = "PUT"; + Requests[2754].Request.Path = "/subscriptions/8a070a0f-26e1-/resourceGroups/7e40e879-4cf8-42a/providers/Microsoft.Web/sites/4fdc3/migrate"; + Requests[2755] = new DefaultHttpContext(); + Requests[2755].RequestServices = CreateServices(); + Requests[2755].Request.Method = "POST"; + Requests[2755].Request.Path = "/subscriptions/4a99eb29-2f87-/resourceGroups/cb5f2ff5-9fa3-4a0/providers/Microsoft.Web/sites/04832/migratemysql"; + Requests[2756] = new DefaultHttpContext(); + Requests[2756].RequestServices = CreateServices(); + Requests[2756].Request.Method = "POST"; + Requests[2756].Request.Path = "/subscriptions/472c8dd2-66d8-/resourceGroups/874bc560-027a-464/providers/Microsoft.Web/sites/3de85/newpassword"; + Requests[2757] = new DefaultHttpContext(); + Requests[2757].RequestServices = CreateServices(); + Requests[2757].Request.Method = "GET"; + Requests[2757].Request.Path = "/subscriptions/2404586a-f040-/resourceGroups/16894f25-af0c-457/providers/Microsoft.Web/sites/a8164/perfcounters"; + Requests[2758] = new DefaultHttpContext(); + Requests[2758].RequestServices = CreateServices(); + Requests[2758].Request.Method = "GET"; + Requests[2758].Request.Path = "/subscriptions/e9db74ea-0af6-/resourceGroups/c147af92-3f64-4ff/providers/Microsoft.Web/sites/62c1c/phplogging"; + Requests[2759] = new DefaultHttpContext(); + Requests[2759].RequestServices = CreateServices(); + Requests[2759].Request.Method = "GET"; + Requests[2759].Request.Path = "/subscriptions/a6f79100-2527-/resourceGroups/be81fdb3-0878-4f0/providers/Microsoft.Web/sites/5ceda/premieraddons"; + Requests[2760] = new DefaultHttpContext(); + Requests[2760].RequestServices = CreateServices(); + Requests[2760].Request.Method = "GET"; + Requests[2760].Request.Path = "/subscriptions/1a2b7963-50b0-/resourceGroups/25268570-bc47-4b7/providers/Microsoft.Web/sites/ec009/processes"; + Requests[2761] = new DefaultHttpContext(); + Requests[2761].RequestServices = CreateServices(); + Requests[2761].Request.Method = "GET"; + Requests[2761].Request.Path = "/subscriptions/669281d1-47a2-/resourceGroups/c0cd0d29-1c62-493/providers/Microsoft.Web/sites/35c6d/publicCertificates"; + Requests[2762] = new DefaultHttpContext(); + Requests[2762].RequestServices = CreateServices(); + Requests[2762].Request.Method = "POST"; + Requests[2762].Request.Path = "/subscriptions/e65ec136-bd42-/resourceGroups/f14d50e1-e2d6-422/providers/Microsoft.Web/sites/521f0/publishxml"; + Requests[2763] = new DefaultHttpContext(); + Requests[2763].RequestServices = CreateServices(); + Requests[2763].Request.Method = "POST"; + Requests[2763].Request.Path = "/subscriptions/55553798-add0-/resourceGroups/d372253f-5e47-42d/providers/Microsoft.Web/sites/e3f82/recover"; + Requests[2764] = new DefaultHttpContext(); + Requests[2764].RequestServices = CreateServices(); + Requests[2764].Request.Method = "POST"; + Requests[2764].Request.Path = "/subscriptions/58f79f67-9ae3-/resourceGroups/000dfab8-12ff-446/providers/Microsoft.Web/sites/6a677/resetSlotConfig"; + Requests[2765] = new DefaultHttpContext(); + Requests[2765].RequestServices = CreateServices(); + Requests[2765].Request.Method = "GET"; + Requests[2765].Request.Path = "/subscriptions/db5a3714-2a4e-/resourceGroups/634a6df2-d9aa-46f/providers/Microsoft.Web/sites/d9bad/resourceHealthMetadata"; + Requests[2766] = new DefaultHttpContext(); + Requests[2766].RequestServices = CreateServices(); + Requests[2766].Request.Method = "POST"; + Requests[2766].Request.Path = "/subscriptions/4cbfb59b-e314-/resourceGroups/6bacc8d5-bf2d-4c2/providers/Microsoft.Web/sites/7f360/restart"; + Requests[2767] = new DefaultHttpContext(); + Requests[2767].RequestServices = CreateServices(); + Requests[2767].Request.Method = "POST"; + Requests[2767].Request.Path = "/subscriptions/469bcec8-c9ef-/resourceGroups/88b7a2bd-96a2-40e/providers/Microsoft.Web/sites/5c497/restoreFromBackupBlob"; + Requests[2768] = new DefaultHttpContext(); + Requests[2768].RequestServices = CreateServices(); + Requests[2768].Request.Method = "POST"; + Requests[2768].Request.Path = "/subscriptions/eabca370-3832-/resourceGroups/15c6e364-65e2-4a4/providers/Microsoft.Web/sites/9a623/restoreFromDeletedApp"; + Requests[2769] = new DefaultHttpContext(); + Requests[2769].RequestServices = CreateServices(); + Requests[2769].Request.Method = "POST"; + Requests[2769].Request.Path = "/subscriptions/11b51cf7-8783-/resourceGroups/81915547-5a3e-449/providers/Microsoft.Web/sites/9710d/restoreSnapshot"; + Requests[2770] = new DefaultHttpContext(); + Requests[2770].RequestServices = CreateServices(); + Requests[2770].Request.Method = "GET"; + Requests[2770].Request.Path = "/subscriptions/c532415c-54aa-/resourceGroups/a9e6508e-7147-42f/providers/Microsoft.Web/sites/8486e/siteextensions"; + Requests[2771] = new DefaultHttpContext(); + Requests[2771].RequestServices = CreateServices(); + Requests[2771].Request.Method = "GET"; + Requests[2771].Request.Path = "/subscriptions/d4de8b4c-5685-/resourceGroups/2d97c2ed-2438-420/providers/Microsoft.Web/sites/40e26/slots"; + Requests[2772] = new DefaultHttpContext(); + Requests[2772].RequestServices = CreateServices(); + Requests[2772].Request.Method = "POST"; + Requests[2772].Request.Path = "/subscriptions/76a9b79a-4d50-/resourceGroups/9777df9a-fc4a-470/providers/Microsoft.Web/sites/f5dbb/slotsdiffs"; + Requests[2773] = new DefaultHttpContext(); + Requests[2773].RequestServices = CreateServices(); + Requests[2773].Request.Method = "POST"; + Requests[2773].Request.Path = "/subscriptions/9ab5ea58-afb7-/resourceGroups/8ac728b6-f27f-448/providers/Microsoft.Web/sites/8149a/slotsswap"; + Requests[2774] = new DefaultHttpContext(); + Requests[2774].RequestServices = CreateServices(); + Requests[2774].Request.Method = "GET"; + Requests[2774].Request.Path = "/subscriptions/a4631c5c-5c08-/resourceGroups/fb3ad7dd-5c93-4aa/providers/Microsoft.Web/sites/bed03/snapshots"; + Requests[2775] = new DefaultHttpContext(); + Requests[2775].RequestServices = CreateServices(); + Requests[2775].Request.Method = "PUT"; + Requests[2775].Request.Path = "/subscriptions/be2e04af-5d2e-/resourceGroups/e7412e2f-7630-4d6/providers/Microsoft.Web/sites/b7c4b/snapshots"; + Requests[2776] = new DefaultHttpContext(); + Requests[2776].RequestServices = CreateServices(); + Requests[2776].Request.Method = "POST"; + Requests[2776].Request.Path = "/subscriptions/28756880-6cf7-/resourceGroups/f9ae625b-960b-4db/providers/Microsoft.Web/sites/77c8b/start"; + Requests[2777] = new DefaultHttpContext(); + Requests[2777].RequestServices = CreateServices(); + Requests[2777].Request.Method = "POST"; + Requests[2777].Request.Path = "/subscriptions/3ac6a310-ff06-/resourceGroups/2dd0f50f-0821-459/providers/Microsoft.Web/sites/39b0c/stop"; + Requests[2778] = new DefaultHttpContext(); + Requests[2778].RequestServices = CreateServices(); + Requests[2778].Request.Method = "POST"; + Requests[2778].Request.Path = "/subscriptions/46048828-6dda-/resourceGroups/268c5ec1-cba9-416/providers/Microsoft.Web/sites/6214d/sync"; + Requests[2779] = new DefaultHttpContext(); + Requests[2779].RequestServices = CreateServices(); + Requests[2779].Request.Method = "POST"; + Requests[2779].Request.Path = "/subscriptions/44063301-c131-/resourceGroups/947c30c6-8fd5-42e/providers/Microsoft.Web/sites/b4b40/syncfunctiontriggers"; + Requests[2780] = new DefaultHttpContext(); + Requests[2780].RequestServices = CreateServices(); + Requests[2780].Request.Method = "GET"; + Requests[2780].Request.Path = "/subscriptions/5b82b3d0-e42e-/resourceGroups/fcd8d801-b67b-470/providers/Microsoft.Web/sites/0aba6/triggeredwebjobs"; + Requests[2781] = new DefaultHttpContext(); + Requests[2781].RequestServices = CreateServices(); + Requests[2781].Request.Method = "GET"; + Requests[2781].Request.Path = "/subscriptions/83a6e736-28b0-/resourceGroups/a32fe97d-45a0-456/providers/Microsoft.Web/sites/0c6cb/usages"; + Requests[2782] = new DefaultHttpContext(); + Requests[2782].RequestServices = CreateServices(); + Requests[2782].Request.Method = "GET"; + Requests[2782].Request.Path = "/subscriptions/13c8db45-1fa8-/resourceGroups/4dfaba38-8a15-416/providers/Microsoft.Web/sites/7d733/virtualNetworkConnections"; + Requests[2783] = new DefaultHttpContext(); + Requests[2783].RequestServices = CreateServices(); + Requests[2783].Request.Method = "GET"; + Requests[2783].Request.Path = "/subscriptions/dc8553b1-8711-/resourceGroups/d909787d-d7be-4ac/providers/Microsoft.Web/sites/3d99d/webjobs"; + Requests[2784] = new DefaultHttpContext(); + Requests[2784].RequestServices = CreateServices(); + Requests[2784].Request.Method = "GET"; + Requests[2784].Request.Path = "/subscriptions/6ef3ab07-d9c1-/resourceGroups/27beac56-f86f-41a/providers/Microsoft.Web/sites/63514852/detectors"; + Requests[2785] = new DefaultHttpContext(); + Requests[2785].RequestServices = CreateServices(); + Requests[2785].Request.Method = "GET"; + Requests[2785].Request.Path = "/subscriptions/d9ae6fed-d128-/resourceGroups/108a0966-795a-4e1/providers/Microsoft.Web/sites/641464c0/diagnostics"; + Requests[2786] = new DefaultHttpContext(); + Requests[2786].RequestServices = CreateServices(); + Requests[2786].Request.Method = "GET"; + Requests[2786].Request.Path = "/subscriptions/97421d93-14d3-/resourceGroups/dbe6bcea-d66a-4d6/providers/Microsoft.Web/sites/7e84ecd8/recommendationHistory"; + Requests[2787] = new DefaultHttpContext(); + Requests[2787].RequestServices = CreateServices(); + Requests[2787].Request.Method = "GET"; + Requests[2787].Request.Path = "/subscriptions/4965937f-22c5-/resourceGroups/acdd1804-5eeb-41a/providers/Microsoft.Web/sites/a30ad79c/recommendations"; + Requests[2788] = new DefaultHttpContext(); + Requests[2788].RequestServices = CreateServices(); + Requests[2788].Request.Method = "PUT"; + Requests[2788].Request.Path = "/subscriptions/13b6ec0c-c271-/resourceGroups/b6984b5a-4529-4d0/providers/Microsoft.ApiManagement/service/5f7f4a48-b9/portalsettings/delegation"; + Requests[2789] = new DefaultHttpContext(); + Requests[2789].RequestServices = CreateServices(); + Requests[2789].Request.Method = "PATCH"; + Requests[2789].Request.Path = "/subscriptions/fb400526-a6db-/resourceGroups/09d622bd-b743-425/providers/Microsoft.ApiManagement/service/b1bf3790-a8/portalsettings/delegation"; + Requests[2790] = new DefaultHttpContext(); + Requests[2790].RequestServices = CreateServices(); + Requests[2790].Request.Method = "HEAD"; + Requests[2790].Request.Path = "/subscriptions/94b3a1f1-68f0-/resourceGroups/cea1db38-5d19-4bf/providers/Microsoft.ApiManagement/service/ef383c16-53/portalsettings/delegation"; + Requests[2791] = new DefaultHttpContext(); + Requests[2791].RequestServices = CreateServices(); + Requests[2791].Request.Method = "GET"; + Requests[2791].Request.Path = "/subscriptions/40595c97-a803-/resourceGroups/45c733eb-8bc7-439/providers/Microsoft.ApiManagement/service/9727e592-e0/portalsettings/delegation"; + Requests[2792] = new DefaultHttpContext(); + Requests[2792].RequestServices = CreateServices(); + Requests[2792].Request.Method = "PATCH"; + Requests[2792].Request.Path = "/subscriptions/70a0f7a0-ac89-/resourceGroups/19dc104f-4641-4c8/providers/Microsoft.ApiManagement/service/adc1dab0-a6/portalsettings/signin"; + Requests[2793] = new DefaultHttpContext(); + Requests[2793].RequestServices = CreateServices(); + Requests[2793].Request.Method = "PUT"; + Requests[2793].Request.Path = "/subscriptions/cc06cfe0-82ab-/resourceGroups/425cbffe-0ae4-44d/providers/Microsoft.ApiManagement/service/95f67abf-4a/portalsettings/signin"; + Requests[2794] = new DefaultHttpContext(); + Requests[2794].RequestServices = CreateServices(); + Requests[2794].Request.Method = "GET"; + Requests[2794].Request.Path = "/subscriptions/9cd89267-041d-/resourceGroups/56b26ebe-62ae-43e/providers/Microsoft.ApiManagement/service/ca7236d2-0f/portalsettings/signin"; + Requests[2795] = new DefaultHttpContext(); + Requests[2795].RequestServices = CreateServices(); + Requests[2795].Request.Method = "HEAD"; + Requests[2795].Request.Path = "/subscriptions/2166ecd0-9935-/resourceGroups/23dc1449-383f-418/providers/Microsoft.ApiManagement/service/4f0fde11-1d/portalsettings/signin"; + Requests[2796] = new DefaultHttpContext(); + Requests[2796].RequestServices = CreateServices(); + Requests[2796].Request.Method = "PUT"; + Requests[2796].Request.Path = "/subscriptions/e5e6680c-79eb-/resourceGroups/28f6c72a-7d74-44c/providers/Microsoft.ApiManagement/service/5a97e9e0-c6/portalsettings/signup"; + Requests[2797] = new DefaultHttpContext(); + Requests[2797].RequestServices = CreateServices(); + Requests[2797].Request.Method = "GET"; + Requests[2797].Request.Path = "/subscriptions/367f266a-5bca-/resourceGroups/8ed335fa-a143-453/providers/Microsoft.ApiManagement/service/24e10fb4-a3/portalsettings/signup"; + Requests[2798] = new DefaultHttpContext(); + Requests[2798].RequestServices = CreateServices(); + Requests[2798].Request.Method = "HEAD"; + Requests[2798].Request.Path = "/subscriptions/a465d961-ccb0-/resourceGroups/fd151ed3-c7a5-469/providers/Microsoft.ApiManagement/service/57ac3e79-59/portalsettings/signup"; + Requests[2799] = new DefaultHttpContext(); + Requests[2799].RequestServices = CreateServices(); + Requests[2799].Request.Method = "PATCH"; + Requests[2799].Request.Path = "/subscriptions/6211f726-2d6f-/resourceGroups/a7020935-2988-4f8/providers/Microsoft.ApiManagement/service/c8142093-aa/portalsettings/signup"; + Requests[2800] = new DefaultHttpContext(); + Requests[2800].RequestServices = CreateServices(); + Requests[2800].Request.Method = "GET"; + Requests[2800].Request.Path = "/subscriptions/0e975e09-218e-/resourceGroups/1ce48ce9-ad05-471/providers/Microsoft.ApiManagement/service/daa33844-c0/reports/byApi"; + Requests[2801] = new DefaultHttpContext(); + Requests[2801].RequestServices = CreateServices(); + Requests[2801].Request.Method = "GET"; + Requests[2801].Request.Path = "/subscriptions/2277180e-cb18-/resourceGroups/821465b0-7999-411/providers/Microsoft.ApiManagement/service/3ab09453-9f/reports/byGeo"; + Requests[2802] = new DefaultHttpContext(); + Requests[2802].RequestServices = CreateServices(); + Requests[2802].Request.Method = "GET"; + Requests[2802].Request.Path = "/subscriptions/c4cc2cf2-f919-/resourceGroups/9f0e55c0-f9ca-476/providers/Microsoft.ApiManagement/service/e3669064-eb/reports/byOperation"; + Requests[2803] = new DefaultHttpContext(); + Requests[2803].RequestServices = CreateServices(); + Requests[2803].Request.Method = "GET"; + Requests[2803].Request.Path = "/subscriptions/5be3d482-b800-/resourceGroups/cd1c9313-8c6b-481/providers/Microsoft.ApiManagement/service/5700941d-1c/reports/byProduct"; + Requests[2804] = new DefaultHttpContext(); + Requests[2804].RequestServices = CreateServices(); + Requests[2804].Request.Method = "GET"; + Requests[2804].Request.Path = "/subscriptions/0dcc5201-fe99-/resourceGroups/f5527951-6d49-4c6/providers/Microsoft.ApiManagement/service/4a2ca6f5-49/reports/byRequest"; + Requests[2805] = new DefaultHttpContext(); + Requests[2805].RequestServices = CreateServices(); + Requests[2805].Request.Method = "GET"; + Requests[2805].Request.Path = "/subscriptions/c5f19705-06d6-/resourceGroups/892cda56-6da5-45d/providers/Microsoft.ApiManagement/service/3081f7c0-60/reports/bySubscription"; + Requests[2806] = new DefaultHttpContext(); + Requests[2806].RequestServices = CreateServices(); + Requests[2806].Request.Method = "GET"; + Requests[2806].Request.Path = "/subscriptions/aa5227b7-52ee-/resourceGroups/2604b62d-acd9-476/providers/Microsoft.ApiManagement/service/88ec6c5e-30/reports/byTime"; + Requests[2807] = new DefaultHttpContext(); + Requests[2807].RequestServices = CreateServices(); + Requests[2807].Request.Method = "GET"; + Requests[2807].Request.Path = "/subscriptions/2ca21d70-e9a4-/resourceGroups/7267d790-ffb3-45b/providers/Microsoft.ApiManagement/service/6715303e-eb/reports/byUser"; + Requests[2808] = new DefaultHttpContext(); + Requests[2808].RequestServices = CreateServices(); + Requests[2808].Request.Method = "GET"; + Requests[2808].Request.Path = "/subscriptions/b3370e27-c79c-/resourceGroups/9e4a7346-6c4f-4aa/providers/Microsoft.ApiManagement/service/90f1552b-d3/tenant/access"; + Requests[2809] = new DefaultHttpContext(); + Requests[2809].RequestServices = CreateServices(); + Requests[2809].Request.Method = "PATCH"; + Requests[2809].Request.Path = "/subscriptions/fe4c5f16-8742-/resourceGroups/2b61d57f-88ed-4e0/providers/Microsoft.ApiManagement/service/561affcd-fb/tenant/access"; + Requests[2810] = new DefaultHttpContext(); + Requests[2810].RequestServices = CreateServices(); + Requests[2810].Request.Method = "GET"; + Requests[2810].Request.Path = "/subscriptions/7414de47-6eec-/resourceGroups/c0db3bc8-3996-42f/providers/Microsoft.ApiManagement/service/a307e4ff-5f/tenant/policy"; + Requests[2811] = new DefaultHttpContext(); + Requests[2811].RequestServices = CreateServices(); + Requests[2811].Request.Method = "DELETE"; + Requests[2811].Request.Path = "/subscriptions/5e96e893-4527-/resourceGroups/53084bf9-b651-4b7/providers/Microsoft.ApiManagement/service/8f95ee46-62/tenant/policy"; + Requests[2812] = new DefaultHttpContext(); + Requests[2812].RequestServices = CreateServices(); + Requests[2812].Request.Method = "PUT"; + Requests[2812].Request.Path = "/subscriptions/24425e06-472f-/resourceGroups/94585dec-8e70-4bd/providers/Microsoft.ApiManagement/service/10188f13-f7/tenant/policy"; + Requests[2813] = new DefaultHttpContext(); + Requests[2813].RequestServices = CreateServices(); + Requests[2813].Request.Method = "POST"; + Requests[2813].Request.Path = "/subscriptions/2bd32e22-2dc6-/resourceGroups/4da4e25b-d774-473/providers/Microsoft.Automation/automationAccounts/69c87fe9-d91e-4fc3-83/agentRegistrationInformation/regenerateKey"; + Requests[2814] = new DefaultHttpContext(); + Requests[2814].RequestServices = CreateServices(); + Requests[2814].Request.Method = "POST"; + Requests[2814].Request.Path = "/subscriptions/e9683898-7ec6-/resourceGroups/5234ece1-a534-441/providers/Microsoft.Automation/automationAccounts/7db27884-7081-4257-94/webhooks/generateUri"; + Requests[2815] = new DefaultHttpContext(); + Requests[2815].RequestServices = CreateServices(); + Requests[2815].Request.Method = "PUT"; + Requests[2815].Request.Path = "/subscriptions/ec4be1b0-1ce0-/resourceGroups/6d8a6073-e17f-446/providers/Microsoft.Cache/Redis/4d028/patchSchedules/default"; + Requests[2816] = new DefaultHttpContext(); + Requests[2816].RequestServices = CreateServices(); + Requests[2816].Request.Method = "DELETE"; + Requests[2816].Request.Path = "/subscriptions/4aa4bb55-8eaf-/resourceGroups/43e33299-5946-40a/providers/Microsoft.Cache/Redis/1e972/patchSchedules/default"; + Requests[2817] = new DefaultHttpContext(); + Requests[2817].RequestServices = CreateServices(); + Requests[2817].Request.Method = "GET"; + Requests[2817].Request.Path = "/subscriptions/095a6ecc-7077-/resourceGroups/e736b58c-fd6b-423/providers/Microsoft.Cache/Redis/1d716/patchSchedules/default"; + Requests[2818] = new DefaultHttpContext(); + Requests[2818].RequestServices = CreateServices(); + Requests[2818].Request.Method = "POST"; + Requests[2818].Request.Path = "/subscriptions/decc0877-a4ea-/resourceGroups/8352b6a4-6cbb-42c/providers/Microsoft.Compute/virtualMachineScaleSets/94178a7c-e68f-/rollingUpgrades/cancel"; + Requests[2819] = new DefaultHttpContext(); + Requests[2819].RequestServices = CreateServices(); + Requests[2819].Request.Method = "GET"; + Requests[2819].Request.Path = "/subscriptions/90a5ce03-a2fe-/resourceGroups/ae6e55df-f78e-426/providers/Microsoft.Compute/virtualMachineScaleSets/84bddec5-2743-/rollingUpgrades/latest"; + Requests[2820] = new DefaultHttpContext(); + Requests[2820].RequestServices = CreateServices(); + Requests[2820].Request.Method = "GET"; + Requests[2820].Request.Path = "/subscriptions/94d84d4b-e337-/resourceGroups/e56778dd-fdff-447/providers/Microsoft.ContainerService/managedClusters/d6fe35c5-f55/upgradeProfiles/default"; + Requests[2821] = new DefaultHttpContext(); + Requests[2821].RequestServices = CreateServices(); + Requests[2821].Request.Method = "POST"; + Requests[2821].Request.Path = "/subscriptions/d0a4e223-d279-/resourceGroups/38e92367-5a35-478/providers/Microsoft.CustomerInsights/hubs/fb0ba9b/images/getDataImageUploadUrl"; + Requests[2822] = new DefaultHttpContext(); + Requests[2822].RequestServices = CreateServices(); + Requests[2822].Request.Method = "POST"; + Requests[2822].Request.Path = "/subscriptions/954730fd-3120-/resourceGroups/2ce1fbc4-5123-464/providers/Microsoft.CustomerInsights/hubs/94b8e9b/images/getEntityTypeImageUploadUrl"; + Requests[2823] = new DefaultHttpContext(); + Requests[2823].RequestServices = CreateServices(); + Requests[2823].Request.Method = "GET"; + Requests[2823].Request.Path = "/subscriptions/41e85190-312f-/resourceGroups/9a982d9e-2e70-44e/providers/Microsoft.DocumentDB/databaseAccounts/74b29bd3-16/percentile/metrics"; + Requests[2824] = new DefaultHttpContext(); + Requests[2824].RequestServices = CreateServices(); + Requests[2824].Request.Method = "PATCH"; + Requests[2824].Request.Path = "/subscriptions/c79028ee-d046-/resourceGroups/71bbce8a-24cb-4e2/providers/Microsoft.EventHub/clusters/6c9504d3-9d/quotaConfiguration/default"; + Requests[2825] = new DefaultHttpContext(); + Requests[2825].RequestServices = CreateServices(); + Requests[2825].Request.Method = "GET"; + Requests[2825].Request.Path = "/subscriptions/56a26679-c6fa-/resourceGroups/1a57b509-ff3b-4cb/providers/Microsoft.EventHub/clusters/11b5486f-8b/quotaConfiguration/default"; + Requests[2826] = new DefaultHttpContext(); + Requests[2826].RequestServices = CreateServices(); + Requests[2826].Request.Method = "POST"; + Requests[2826].Request.Path = "/subscriptions/db92f9be-de3f-/resourceGroups/3a5c52f6-5215-410/providers/Microsoft.EventHub/namespaces/fdf0f2ef-a7e1/disasterRecoveryConfigs/CheckNameAvailability"; + Requests[2827] = new DefaultHttpContext(); + Requests[2827].RequestServices = CreateServices(); + Requests[2827].Request.Method = "GET"; + Requests[2827].Request.Path = "/subscriptions/dabc9790-5e1c-/resourceGroups/f0737d7a-93e1-4ce/providers/Microsoft.HDInsight/clusters/d1ea20d5-cf/extensions/clustermonitoring"; + Requests[2828] = new DefaultHttpContext(); + Requests[2828].RequestServices = CreateServices(); + Requests[2828].Request.Method = "PUT"; + Requests[2828].Request.Path = "/subscriptions/8900299e-41b1-/resourceGroups/fbf77a89-2771-4ba/providers/Microsoft.HDInsight/clusters/d13ec2d3-fc/extensions/clustermonitoring"; + Requests[2829] = new DefaultHttpContext(); + Requests[2829].RequestServices = CreateServices(); + Requests[2829].Request.Method = "DELETE"; + Requests[2829].Request.Path = "/subscriptions/f40debb9-157a-/resourceGroups/1ccf3a4d-4c08-433/providers/Microsoft.HDInsight/clusters/7e91f092-e2/extensions/clustermonitoring"; + Requests[2830] = new DefaultHttpContext(); + Requests[2830].RequestServices = CreateServices(); + Requests[2830].Request.Method = "PATCH"; + Requests[2830].Request.Path = "/subscriptions/8513bef6-a4b1-/resourceGroups/b60fabcc-daf1-436/providers/microsoft.insights/components/2964355b-e9d/pricingPlans/current"; + Requests[2831] = new DefaultHttpContext(); + Requests[2831].RequestServices = CreateServices(); + Requests[2831].Request.Method = "PUT"; + Requests[2831].Request.Path = "/subscriptions/1c7aecad-bb29-/resourceGroups/c80faec7-a08e-4fd/providers/microsoft.insights/components/b00c07b3-681/pricingPlans/current"; + Requests[2832] = new DefaultHttpContext(); + Requests[2832].RequestServices = CreateServices(); + Requests[2832].Request.Method = "GET"; + Requests[2832].Request.Path = "/subscriptions/72ff621d-2518-/resourceGroups/8ae50573-b981-49b/providers/microsoft.insights/components/3f3fb043-be7/pricingPlans/current"; + Requests[2833] = new DefaultHttpContext(); + Requests[2833].RequestServices = CreateServices(); + Requests[2833].Request.Method = "POST"; + Requests[2833].Request.Path = "/subscriptions/226396ea-d2d9-/resourceGroups/1ca0f0ad-5f2a-49e/providers/Microsoft.Network/connections/a5779011-83a5-4a90-89c3-3c34d6ad608/sharedkey/reset"; + Requests[2834] = new DefaultHttpContext(); + Requests[2834].RequestServices = CreateServices(); + Requests[2834].Request.Method = "POST"; + Requests[2834].Request.Path = "/Subscriptions/d5fee9d1-f860-/resourceGroups/cd098aec-6870-469/providers/Microsoft.RecoveryServices/vaults/87ad4430-226/replicationJobs/export"; + Requests[2835] = new DefaultHttpContext(); + Requests[2835].RequestServices = CreateServices(); + Requests[2835].Request.Method = "GET"; + Requests[2835].Request.Path = "/Subscriptions/21fa17b4-5d58-/resourceGroups/a18f4433-9237-417/providers/Microsoft.RecoveryServices/vaults/fc11f229-/backupconfig/vaultconfig"; + Requests[2836] = new DefaultHttpContext(); + Requests[2836].RequestServices = CreateServices(); + Requests[2836].Request.Method = "PATCH"; + Requests[2836].Request.Path = "/Subscriptions/d1755df3-a0c3-/resourceGroups/6f837ef5-0843-46e/providers/Microsoft.RecoveryServices/vaults/deb85497-/backupconfig/vaultconfig"; + Requests[2837] = new DefaultHttpContext(); + Requests[2837].RequestServices = CreateServices(); + Requests[2837].Request.Method = "PATCH"; + Requests[2837].Request.Path = "/Subscriptions/9f481e9d-930c-/resourceGroups/5945b77f-4fa4-4e5/providers/Microsoft.RecoveryServices/vaults/61dccd35-/backupstorageconfig/vaultstorageconfig"; + Requests[2838] = new DefaultHttpContext(); + Requests[2838].RequestServices = CreateServices(); + Requests[2838].Request.Method = "GET"; + Requests[2838].Request.Path = "/Subscriptions/04c6663f-77c4-/resourceGroups/1287af59-293d-453/providers/Microsoft.RecoveryServices/vaults/ea56a7bf-/backupstorageconfig/vaultstorageconfig"; + Requests[2839] = new DefaultHttpContext(); + Requests[2839].RequestServices = CreateServices(); + Requests[2839].Request.Method = "PATCH"; + Requests[2839].Request.Path = "/subscriptions/ebe7d06d-a3bb-/resourceGroups/4bc2b366-797b-4c9/providers/Microsoft.RecoveryServices/vaults/26b633c7-/extendedInformation/vaultExtendedInfo"; + Requests[2840] = new DefaultHttpContext(); + Requests[2840].RequestServices = CreateServices(); + Requests[2840].Request.Method = "PUT"; + Requests[2840].Request.Path = "/subscriptions/c1165156-220f-/resourceGroups/d560820b-fb78-404/providers/Microsoft.RecoveryServices/vaults/6a2c32cc-/extendedInformation/vaultExtendedInfo"; + Requests[2841] = new DefaultHttpContext(); + Requests[2841].RequestServices = CreateServices(); + Requests[2841].Request.Method = "GET"; + Requests[2841].Request.Path = "/subscriptions/4d973798-2cd4-/resourceGroups/b68a8d1a-1ca1-4fe/providers/Microsoft.RecoveryServices/vaults/6601296a-/extendedInformation/vaultExtendedInfo"; + Requests[2842] = new DefaultHttpContext(); + Requests[2842].RequestServices = CreateServices(); + Requests[2842].Request.Method = "POST"; + Requests[2842].Request.Path = "/subscriptions/ee3d96e7-6a68-/resourceGroups/3fdbe8c4-5554-4b2/providers/Microsoft.ServiceBus/namespaces/b91a4b2e-2c5a/disasterRecoveryConfigs/CheckNameAvailability"; + Requests[2843] = new DefaultHttpContext(); + Requests[2843].RequestServices = CreateServices(); + Requests[2843].Request.Method = "GET"; + Requests[2843].Request.Path = "/subscriptions/fe9b893c-cc02-/resourceGroups/7f558c7c-4328-42d/providers/Microsoft.Sql/servers/7e51f1ec-9/automaticTuning/current"; + Requests[2844] = new DefaultHttpContext(); + Requests[2844].RequestServices = CreateServices(); + Requests[2844].Request.Method = "PATCH"; + Requests[2844].Request.Path = "/subscriptions/d792883e-0c5d-/resourceGroups/f887ba1f-d375-451/providers/Microsoft.Sql/servers/a3b546b4-2/automaticTuning/current"; + Requests[2845] = new DefaultHttpContext(); + Requests[2845].RequestServices = CreateServices(); + Requests[2845].Request.Method = "GET"; + Requests[2845].Request.Path = "/subscriptions/c7e8019f-f2cf-/resourceGroups/2805c9c8-f821-4db/providers/Microsoft.StorSimple/managers/88e6dcc0-d3/encryptionSettings/default"; + Requests[2846] = new DefaultHttpContext(); + Requests[2846].RequestServices = CreateServices(); + Requests[2846].Request.Method = "DELETE"; + Requests[2846].Request.Path = "/subscriptions/34910e68-6239-/resourceGroups/bb1f81eb-2315-4cd/providers/Microsoft.StorSimple/managers/f5139c77-58/extendedInformation/vaultExtendedInfo"; + Requests[2847] = new DefaultHttpContext(); + Requests[2847].RequestServices = CreateServices(); + Requests[2847].Request.Method = "PATCH"; + Requests[2847].Request.Path = "/subscriptions/86cffec5-7e7a-/resourceGroups/c666ab6c-ec7a-499/providers/Microsoft.StorSimple/managers/91eab166-62/extendedInformation/vaultExtendedInfo"; + Requests[2848] = new DefaultHttpContext(); + Requests[2848].RequestServices = CreateServices(); + Requests[2848].Request.Method = "PUT"; + Requests[2848].Request.Path = "/subscriptions/9d21172b-a6e7-/resourceGroups/0a90ed07-fac9-42d/providers/Microsoft.StorSimple/managers/23df2368-5d/extendedInformation/vaultExtendedInfo"; + Requests[2849] = new DefaultHttpContext(); + Requests[2849].RequestServices = CreateServices(); + Requests[2849].Request.Method = "GET"; + Requests[2849].Request.Path = "/subscriptions/e37a4a41-f4c7-/resourceGroups/87d38aeb-accb-444/providers/Microsoft.StorSimple/managers/a21957d8-39/extendedInformation/vaultExtendedInfo"; + Requests[2850] = new DefaultHttpContext(); + Requests[2850].RequestServices = CreateServices(); + Requests[2850].Request.Method = "GET"; + Requests[2850].Request.Path = "/subscriptions/85bf2882-d001-/resourceGroups/29546527-875a-422/providers/Microsoft.Web/hostingEnvironments/97aa1/capacities/compute"; + Requests[2851] = new DefaultHttpContext(); + Requests[2851].RequestServices = CreateServices(); + Requests[2851].Request.Method = "GET"; + Requests[2851].Request.Path = "/subscriptions/d8af6205-e3da-/resourceGroups/2a1939e9-04ae-49f/providers/Microsoft.Web/hostingEnvironments/1ae6d/capacities/virtualip"; + Requests[2852] = new DefaultHttpContext(); + Requests[2852].RequestServices = CreateServices(); + Requests[2852].Request.Method = "PUT"; + Requests[2852].Request.Path = "/subscriptions/a2607f91-a5b4-/resourceGroups/cfc03d4f-6ad6-46a/providers/Microsoft.Web/hostingEnvironments/0038b/multiRolePools/default"; + Requests[2853] = new DefaultHttpContext(); + Requests[2853].RequestServices = CreateServices(); + Requests[2853].Request.Method = "PATCH"; + Requests[2853].Request.Path = "/subscriptions/36680d99-fdcd-/resourceGroups/1c3a76a6-871d-4b5/providers/Microsoft.Web/hostingEnvironments/46d02/multiRolePools/default"; + Requests[2854] = new DefaultHttpContext(); + Requests[2854].RequestServices = CreateServices(); + Requests[2854].Request.Method = "GET"; + Requests[2854].Request.Path = "/subscriptions/7d70ad09-37cf-/resourceGroups/6c0940ae-706d-401/providers/Microsoft.Web/hostingEnvironments/8e1d7/multiRolePools/default"; + Requests[2855] = new DefaultHttpContext(); + Requests[2855].RequestServices = CreateServices(); + Requests[2855].Request.Method = "GET"; + Requests[2855].Request.Path = "/subscriptions/2c00ee7a-052d-/resourceGroups/3441ec98-b0dc-4d6/providers/Microsoft.Web/managedHostingEnvironments/22340/capacities/virtualip"; + Requests[2856] = new DefaultHttpContext(); + Requests[2856].RequestServices = CreateServices(); + Requests[2856].Request.Method = "GET"; + Requests[2856].Request.Path = "/subscriptions/54aafda4-1ce1-/resourceGroups/8ff0660a-f63a-47b/providers/Microsoft.Web/serverfarms/8b460/hybridConnectionPlanLimits/limit"; + Requests[2857] = new DefaultHttpContext(); + Requests[2857].RequestServices = CreateServices(); + Requests[2857].Request.Method = "PUT"; + Requests[2857].Request.Path = "/subscriptions/9901d2fc-00e4-/resourceGroups/38b93efb-0fe6-4e2/providers/Microsoft.Web/sites/497f3/backups/discover"; + Requests[2858] = new DefaultHttpContext(); + Requests[2858].RequestServices = CreateServices(); + Requests[2858].Request.Method = "PUT"; + Requests[2858].Request.Path = "/subscriptions/9ec9fb34-d5a6-/resourceGroups/72d9ee4c-1211-431/providers/Microsoft.Web/sites/b1605/config/appsettings"; + Requests[2859] = new DefaultHttpContext(); + Requests[2859].RequestServices = CreateServices(); + Requests[2859].Request.Method = "PUT"; + Requests[2859].Request.Path = "/subscriptions/2a57d086-9f51-/resourceGroups/45b37779-c061-4a1/providers/Microsoft.Web/sites/99a41/config/authsettings"; + Requests[2860] = new DefaultHttpContext(); + Requests[2860].RequestServices = CreateServices(); + Requests[2860].Request.Method = "DELETE"; + Requests[2860].Request.Path = "/subscriptions/f5aef3fb-083e-/resourceGroups/90dbcf45-1489-47b/providers/Microsoft.Web/sites/d7962/config/backup"; + Requests[2861] = new DefaultHttpContext(); + Requests[2861].RequestServices = CreateServices(); + Requests[2861].Request.Method = "PUT"; + Requests[2861].Request.Path = "/subscriptions/ad60d8a5-72df-/resourceGroups/13f3b9d9-fa0b-4be/providers/Microsoft.Web/sites/5bc85/config/backup"; + Requests[2862] = new DefaultHttpContext(); + Requests[2862].RequestServices = CreateServices(); + Requests[2862].Request.Method = "PUT"; + Requests[2862].Request.Path = "/subscriptions/3f7035e8-a95d-/resourceGroups/61c8d55d-720f-4e5/providers/Microsoft.Web/sites/f0f41/config/connectionstrings"; + Requests[2863] = new DefaultHttpContext(); + Requests[2863].RequestServices = CreateServices(); + Requests[2863].Request.Method = "PUT"; + Requests[2863].Request.Path = "/subscriptions/3f05ede4-1e9b-/resourceGroups/1f570b76-40a1-4c2/providers/Microsoft.Web/sites/289c6/config/logs"; + Requests[2864] = new DefaultHttpContext(); + Requests[2864].RequestServices = CreateServices(); + Requests[2864].Request.Method = "GET"; + Requests[2864].Request.Path = "/subscriptions/1fc2ea88-6316-/resourceGroups/540006d7-3d7e-4cf/providers/Microsoft.Web/sites/1d691/config/logs"; + Requests[2865] = new DefaultHttpContext(); + Requests[2865].RequestServices = CreateServices(); + Requests[2865].Request.Method = "PUT"; + Requests[2865].Request.Path = "/subscriptions/b4dc3356-ce73-/resourceGroups/5d7fe10a-c1a2-4a1/providers/Microsoft.Web/sites/df798/config/metadata"; + Requests[2866] = new DefaultHttpContext(); + Requests[2866].RequestServices = CreateServices(); + Requests[2866].Request.Method = "PUT"; + Requests[2866].Request.Path = "/subscriptions/5f70dab3-db45-/resourceGroups/8a1025da-4ea9-4ab/providers/Microsoft.Web/sites/bad44/config/pushsettings"; + Requests[2867] = new DefaultHttpContext(); + Requests[2867].RequestServices = CreateServices(); + Requests[2867].Request.Method = "PUT"; + Requests[2867].Request.Path = "/subscriptions/255db266-8044-/resourceGroups/b0c45c3f-173d-4e4/providers/Microsoft.Web/sites/1a900/config/slotConfigNames"; + Requests[2868] = new DefaultHttpContext(); + Requests[2868].RequestServices = CreateServices(); + Requests[2868].Request.Method = "GET"; + Requests[2868].Request.Path = "/subscriptions/e808d843-0ad3-/resourceGroups/9cdc76c6-8352-4f9/providers/Microsoft.Web/sites/c7c3c/config/slotConfigNames"; + Requests[2869] = new DefaultHttpContext(); + Requests[2869].RequestServices = CreateServices(); + Requests[2869].Request.Method = "PUT"; + Requests[2869].Request.Path = "/subscriptions/2de73392-9394-/resourceGroups/28c0aa2c-e9df-4b5/providers/Microsoft.Web/sites/5a371/config/web"; + Requests[2870] = new DefaultHttpContext(); + Requests[2870].RequestServices = CreateServices(); + Requests[2870].Request.Method = "GET"; + Requests[2870].Request.Path = "/subscriptions/33d4fe65-312b-/resourceGroups/6d1bb784-84a2-470/providers/Microsoft.Web/sites/83268/config/web"; + Requests[2871] = new DefaultHttpContext(); + Requests[2871].RequestServices = CreateServices(); + Requests[2871].Request.Method = "PATCH"; + Requests[2871].Request.Path = "/subscriptions/ffd0a810-7248-/resourceGroups/79e2f883-eb2f-417/providers/Microsoft.Web/sites/73d04/config/web"; + Requests[2872] = new DefaultHttpContext(); + Requests[2872].RequestServices = CreateServices(); + Requests[2872].Request.Method = "PUT"; + Requests[2872].Request.Path = "/subscriptions/4f20f1c1-ff7b-/resourceGroups/b0fd4a64-2eda-478/providers/Microsoft.Web/sites/64e24/extensions/MSDeploy"; + Requests[2873] = new DefaultHttpContext(); + Requests[2873].RequestServices = CreateServices(); + Requests[2873].Request.Method = "GET"; + Requests[2873].Request.Path = "/subscriptions/4ed9fd02-1925-/resourceGroups/aa14053b-006a-4fc/providers/Microsoft.Web/sites/81774/extensions/MSDeploy"; + Requests[2874] = new DefaultHttpContext(); + Requests[2874].RequestServices = CreateServices(); + Requests[2874].Request.Method = "GET"; + Requests[2874].Request.Path = "/subscriptions/6be98a46-5930-/resourceGroups/2d36c9b4-060a-477/providers/Microsoft.Web/sites/b0d4c/migratemysql/status"; + Requests[2875] = new DefaultHttpContext(); + Requests[2875].RequestServices = CreateServices(); + Requests[2875].Request.Method = "POST"; + Requests[2875].Request.Path = "/subscriptions/12059745-2394-/resourceGroups/6e46535f-c91e-4af/providers/Microsoft.Web/sites/cf9da/networkTrace/start"; + Requests[2876] = new DefaultHttpContext(); + Requests[2876].RequestServices = CreateServices(); + Requests[2876].Request.Method = "POST"; + Requests[2876].Request.Path = "/subscriptions/d7884531-6555-/resourceGroups/8645ed51-5c8a-476/providers/Microsoft.Web/sites/c11e7/networkTrace/stop"; + Requests[2877] = new DefaultHttpContext(); + Requests[2877].RequestServices = CreateServices(); + Requests[2877].Request.Method = "PUT"; + Requests[2877].Request.Path = "/subscriptions/89f269ce-68bd-/resourceGroups/d2660434-de34-4be/providers/Microsoft.Web/sites/7cedb/privateAccess/virtualNetworks"; + Requests[2878] = new DefaultHttpContext(); + Requests[2878].RequestServices = CreateServices(); + Requests[2878].Request.Method = "GET"; + Requests[2878].Request.Path = "/subscriptions/d305f71e-23cd-/resourceGroups/25b8adab-8c56-440/providers/Microsoft.Web/sites/3f048/privateAccess/virtualNetworks"; + Requests[2879] = new DefaultHttpContext(); + Requests[2879].RequestServices = CreateServices(); + Requests[2879].Request.Method = "GET"; + Requests[2879].Request.Path = "/subscriptions/ab386275-b581-/resourceGroups/6c5a9781-bce9-4d9/providers/Microsoft.Web/sites/c655a/resourceHealthMetadata/default"; + Requests[2880] = new DefaultHttpContext(); + Requests[2880].RequestServices = CreateServices(); + Requests[2880].Request.Method = "PATCH"; + Requests[2880].Request.Path = "/subscriptions/a89084a4-9b22-/resourceGroups/5aee4870-511d-49c/providers/Microsoft.Web/sites/d7328/sourcecontrols/web"; + Requests[2881] = new DefaultHttpContext(); + Requests[2881].RequestServices = CreateServices(); + Requests[2881].Request.Method = "DELETE"; + Requests[2881].Request.Path = "/subscriptions/1fd27bf1-eefd-/resourceGroups/f5db06a9-6f95-4b2/providers/Microsoft.Web/sites/8de5d/sourcecontrols/web"; + Requests[2882] = new DefaultHttpContext(); + Requests[2882].RequestServices = CreateServices(); + Requests[2882].Request.Method = "GET"; + Requests[2882].Request.Path = "/subscriptions/e0557f6f-652f-/resourceGroups/7a77d56e-2d77-4fe/providers/Microsoft.Web/sites/bf9b3/sourcecontrols/web"; + Requests[2883] = new DefaultHttpContext(); + Requests[2883].RequestServices = CreateServices(); + Requests[2883].Request.Method = "PUT"; + Requests[2883].Request.Path = "/subscriptions/337e4ca3-a973-/resourceGroups/7b0c81a8-08de-477/providers/Microsoft.Web/sites/6d8c1/sourcecontrols/web"; + Requests[2884] = new DefaultHttpContext(); + Requests[2884].RequestServices = CreateServices(); + Requests[2884].Request.Method = "POST"; + Requests[2884].Request.Path = "/subscriptions/101a9a9f-6f9a-/resourceGroups/3158844f-c5ca-488/providers/Microsoft.Web/sites/9fb93b69/recommendations/disable"; + Requests[2885] = new DefaultHttpContext(); + Requests[2885].RequestServices = CreateServices(); + Requests[2885].Request.Method = "POST"; + Requests[2885].Request.Path = "/subscriptions/9b840bbf-7b04-/resourceGroups/c4e8a835-1ada-415/providers/Microsoft.Web/sites/ccd208b0/recommendations/reset"; + Requests[2886] = new DefaultHttpContext(); + Requests[2886].RequestServices = CreateServices(); + Requests[2886].Request.Method = "GET"; + Requests[2886].Request.Path = "/subscriptions/5e945aff-26c1-/resourceGroups/9416fbf6-7871-472/providers/Microsoft.ApiManagement/service/be7963b1-b5/tenant/access/git"; + Requests[2887] = new DefaultHttpContext(); + Requests[2887].RequestServices = CreateServices(); + Requests[2887].Request.Method = "POST"; + Requests[2887].Request.Path = "/subscriptions/b0c986a4-1c54-/resourceGroups/36beee13-5cd5-4ad/providers/Microsoft.ApiManagement/service/604fd38d-5c/tenant/access/regeneratePrimaryKey"; + Requests[2888] = new DefaultHttpContext(); + Requests[2888].RequestServices = CreateServices(); + Requests[2888].Request.Method = "POST"; + Requests[2888].Request.Path = "/subscriptions/1620900d-2bba-/resourceGroups/0b066871-8a14-425/providers/Microsoft.ApiManagement/service/e8fb01c2-3d/tenant/access/regenerateSecondaryKey"; + Requests[2889] = new DefaultHttpContext(); + Requests[2889].RequestServices = CreateServices(); + Requests[2889].Request.Method = "POST"; + Requests[2889].Request.Path = "/subscriptions/fd8a61ee-dc78-/resourceGroups/43f58a9b-76b6-42a/providers/Microsoft.ApiManagement/service/779b5226-f4/tenant/configuration/deploy"; + Requests[2890] = new DefaultHttpContext(); + Requests[2890].RequestServices = CreateServices(); + Requests[2890].Request.Method = "POST"; + Requests[2890].Request.Path = "/subscriptions/707baa00-1e42-/resourceGroups/83a089e5-f89a-487/providers/Microsoft.ApiManagement/service/a86614d7-95/tenant/configuration/save"; + Requests[2891] = new DefaultHttpContext(); + Requests[2891].RequestServices = CreateServices(); + Requests[2891].Request.Method = "GET"; + Requests[2891].Request.Path = "/subscriptions/57a236b2-838f-/resourceGroups/6c1ea24b-a5c1-427/providers/Microsoft.ApiManagement/service/e618f63b-48/tenant/configuration/syncState"; + Requests[2892] = new DefaultHttpContext(); + Requests[2892].RequestServices = CreateServices(); + Requests[2892].Request.Method = "POST"; + Requests[2892].Request.Path = "/subscriptions/446174df-94e6-/resourceGroups/cc538ac7-5fc0-427/providers/Microsoft.ApiManagement/service/1c193544-32/tenant/configuration/validate"; + Requests[2893] = new DefaultHttpContext(); + Requests[2893].RequestServices = CreateServices(); + Requests[2893].Request.Method = "POST"; + Requests[2893].Request.Path = "/subscriptions/381e1662-1e91-/resourceGroups/c5979d08-5ece-43b/providers/Microsoft.Devices/IotHubs/7289f418-c/routing/routes/$testall"; + Requests[2894] = new DefaultHttpContext(); + Requests[2894].RequestServices = CreateServices(); + Requests[2894].Request.Method = "POST"; + Requests[2894].Request.Path = "/subscriptions/2ab25799-5c87-/resourceGroups/9f017336-7af7-4eb/providers/Microsoft.Devices/IotHubs/65210e6a-f/routing/routes/$testnew"; + Requests[2895] = new DefaultHttpContext(); + Requests[2895].RequestServices = CreateServices(); + Requests[2895].Request.Method = "POST"; + Requests[2895].Request.Path = "/subscriptions/8f60b439-ac38-/resourceGroups/da3769e2-1abd-43b/providers/Microsoft.OperationalInsights/workspaces/9c6d7766-6f40/features/serviceMap/generateMap"; + Requests[2896] = new DefaultHttpContext(); + Requests[2896].RequestServices = CreateServices(); + Requests[2896].Request.Method = "GET"; + Requests[2896].Request.Path = "/subscriptions/5644e177-10f4-/resourceGroups/fd12a661-377f-490/providers/Microsoft.OperationalInsights/workspaces/3fc0178f-6a4f/features/serviceMap/machineGroups"; + Requests[2897] = new DefaultHttpContext(); + Requests[2897].RequestServices = CreateServices(); + Requests[2897].Request.Method = "POST"; + Requests[2897].Request.Path = "/subscriptions/86c4cd0b-ed39-/resourceGroups/4dfc8444-3035-475/providers/Microsoft.OperationalInsights/workspaces/4abac5b8-4a11/features/serviceMap/machineGroups"; + Requests[2898] = new DefaultHttpContext(); + Requests[2898].RequestServices = CreateServices(); + Requests[2898].Request.Method = "GET"; + Requests[2898].Request.Path = "/subscriptions/5a3fd3fc-42e8-/resourceGroups/973151eb-78ba-4f1/providers/Microsoft.OperationalInsights/workspaces/947d887f-9081/features/serviceMap/machines"; + Requests[2899] = new DefaultHttpContext(); + Requests[2899].RequestServices = CreateServices(); + Requests[2899].Request.Method = "POST"; + Requests[2899].Request.Path = "/Subscriptions/07439263-5298-/resourceGroups/5a287d13-8789-4ba/providers/Microsoft.RecoveryServices/vaults/0215176b-5ef/replicationVaultHealth/default/refresh"; + Requests[2900] = new DefaultHttpContext(); + Requests[2900].RequestServices = CreateServices(); + Requests[2900].Request.Method = "GET"; + Requests[2900].Request.Path = "/subscriptions/f9ef2486-aa03-/resourceGroups/b0a7a315-0780-48d/providers/Microsoft.Storage/storageAccounts/ccb40c5b-e4/blobServices/default/containers"; + Requests[2901] = new DefaultHttpContext(); + Requests[2901].RequestServices = CreateServices(); + Requests[2901].Request.Method = "GET"; + Requests[2901].Request.Path = "/subscriptions/e20f9b93-1f86-/resourceGroups/ab066640-b5b3-437/providers/Microsoft.Web/hostingEnvironments/26527/multiRolePools/default/metricdefinitions"; + Requests[2902] = new DefaultHttpContext(); + Requests[2902].RequestServices = CreateServices(); + Requests[2902].Request.Method = "GET"; + Requests[2902].Request.Path = "/subscriptions/4252a302-6f0c-/resourceGroups/b84f2a48-c980-442/providers/Microsoft.Web/hostingEnvironments/8650f/multiRolePools/default/metrics"; + Requests[2903] = new DefaultHttpContext(); + Requests[2903].RequestServices = CreateServices(); + Requests[2903].Request.Method = "GET"; + Requests[2903].Request.Path = "/subscriptions/548b79a0-395f-/resourceGroups/1c154bc3-4194-4fc/providers/Microsoft.Web/hostingEnvironments/98d7a/multiRolePools/default/skus"; + Requests[2904] = new DefaultHttpContext(); + Requests[2904].RequestServices = CreateServices(); + Requests[2904].Request.Method = "GET"; + Requests[2904].Request.Path = "/subscriptions/3a228f63-0df7-/resourceGroups/82dfb926-9d84-419/providers/Microsoft.Web/hostingEnvironments/70e74/multiRolePools/default/usages"; + Requests[2905] = new DefaultHttpContext(); + Requests[2905].RequestServices = CreateServices(); + Requests[2905].Request.Method = "POST"; + Requests[2905].Request.Path = "/subscriptions/b97f84fe-ab8f-/resourceGroups/cac74313-1a13-444/providers/Microsoft.Web/sites/f6b31/config/appsettings/list"; + Requests[2906] = new DefaultHttpContext(); + Requests[2906].RequestServices = CreateServices(); + Requests[2906].Request.Method = "POST"; + Requests[2906].Request.Path = "/subscriptions/543d84ea-9c6f-/resourceGroups/c6a10ae9-558d-443/providers/Microsoft.Web/sites/9e380/config/authsettings/list"; + Requests[2907] = new DefaultHttpContext(); + Requests[2907].RequestServices = CreateServices(); + Requests[2907].Request.Method = "POST"; + Requests[2907].Request.Path = "/subscriptions/03a212a8-f609-/resourceGroups/05bab127-ca81-4f2/providers/Microsoft.Web/sites/c603e/config/backup/list"; + Requests[2908] = new DefaultHttpContext(); + Requests[2908].RequestServices = CreateServices(); + Requests[2908].Request.Method = "POST"; + Requests[2908].Request.Path = "/subscriptions/c1a2223f-bd5c-/resourceGroups/d28e74ab-4e98-406/providers/Microsoft.Web/sites/8246c/config/connectionstrings/list"; + Requests[2909] = new DefaultHttpContext(); + Requests[2909].RequestServices = CreateServices(); + Requests[2909].Request.Method = "POST"; + Requests[2909].Request.Path = "/subscriptions/31bb39e0-53ea-/resourceGroups/2d3be9dd-e29b-4e6/providers/Microsoft.Web/sites/b1c88/config/metadata/list"; + Requests[2910] = new DefaultHttpContext(); + Requests[2910].RequestServices = CreateServices(); + Requests[2910].Request.Method = "POST"; + Requests[2910].Request.Path = "/subscriptions/36cf1ccf-9af2-/resourceGroups/44cffed6-6e29-43a/providers/Microsoft.Web/sites/fad72/config/publishingcredentials/list"; + Requests[2911] = new DefaultHttpContext(); + Requests[2911].RequestServices = CreateServices(); + Requests[2911].Request.Method = "POST"; + Requests[2911].Request.Path = "/subscriptions/b0c1f61b-2b9e-/resourceGroups/b6eeb473-502f-4f1/providers/Microsoft.Web/sites/43421/config/pushsettings/list"; + Requests[2912] = new DefaultHttpContext(); + Requests[2912].RequestServices = CreateServices(); + Requests[2912].Request.Method = "GET"; + Requests[2912].Request.Path = "/subscriptions/76563061-a2f2-/resourceGroups/ebea7ed1-e5b4-492/providers/Microsoft.Web/sites/bb690/config/web/snapshots"; + Requests[2913] = new DefaultHttpContext(); + Requests[2913].RequestServices = CreateServices(); + Requests[2913].Request.Method = "POST"; + Requests[2913].Request.Path = "/subscriptions/8c3f3871-69ef-/resourceGroups/fb2620df-179c-489/providers/Microsoft.Web/sites/c96f3/containerlogs/zip/download"; + Requests[2914] = new DefaultHttpContext(); + Requests[2914].RequestServices = CreateServices(); + Requests[2914].Request.Method = "GET"; + Requests[2914].Request.Path = "/subscriptions/567bbecf-7778-/resourceGroups/30650e6e-eba1-46f/providers/Microsoft.Web/sites/170c5/extensions/MSDeploy/log"; + Requests[2915] = new DefaultHttpContext(); + Requests[2915].RequestServices = CreateServices(); + Requests[2915].Request.Method = "GET"; + Requests[2915].Request.Path = "/subscriptions/1ddab599-3d28-/resourceGroups/76e4e131-df3c-4ad/providers/Microsoft.Web/sites/b637b/functions/admin/token"; + Requests[2916] = new DefaultHttpContext(); + Requests[2916].RequestServices = CreateServices(); + Requests[2916].Request.Method = "POST"; + Requests[2916].Request.Path = "/subscriptions/48b50f23-06b9-/resourceGroups/bbe91601-28dd-42c/providers/Microsoft.ApiManagement/service/9b6c6599-fa/tenant/access/git/regeneratePrimaryKey"; + Requests[2917] = new DefaultHttpContext(); + Requests[2917].RequestServices = CreateServices(); + Requests[2917].Request.Method = "POST"; + Requests[2917].Request.Path = "/subscriptions/3ad91b13-2aba-/resourceGroups/242268a5-6661-48f/providers/Microsoft.ApiManagement/service/9b7bceff-8d/tenant/access/git/regenerateSecondaryKey"; + Requests[2918] = new DefaultHttpContext(); + Requests[2918].RequestServices = CreateServices(); + Requests[2918].Request.Method = "GET"; + Requests[2918].Request.Path = "/subscriptions/7ba7e2fd-8be2-/resourceGroups/6efff822-6e0a-45c/providers/Microsoft.OperationalInsights/workspaces/1152ad3a-965a/features/serviceMap/summaries/machines"; + Requests[2919] = new DefaultHttpContext(); + Requests[2919].RequestServices = CreateServices(); + Requests[2919].Request.Method = "GET"; + Requests[2919].Request.Path = "/subscriptions/a29117e5-2dd3-/resourceGroups/3ddfeff6-2f01-459/providers/Microsoft.OperationalInsights/workspaces/6af9976e-0150/features/serviceMap/clientGroups/80d8c882-c25e-4"; + Requests[2920] = new DefaultHttpContext(); + Requests[2920].RequestServices = CreateServices(); + Requests[2920].Request.Method = "GET"; + Requests[2920].Request.Path = "/subscriptions/579a0d3a-8e25-/resourceGroups/b96fc04c-52d5-43c/providers/Microsoft.OperationalInsights/workspaces/5531ca94-a9a7/features/serviceMap/machineGroups/cb813092-645d-49"; + Requests[2921] = new DefaultHttpContext(); + Requests[2921].RequestServices = CreateServices(); + Requests[2921].Request.Method = "DELETE"; + Requests[2921].Request.Path = "/subscriptions/c40dc4e1-c5d1-/resourceGroups/783b9285-0b90-4c1/providers/Microsoft.OperationalInsights/workspaces/18584f0e-eab6/features/serviceMap/machineGroups/2c6c03f7-279c-46"; + Requests[2922] = new DefaultHttpContext(); + Requests[2922].RequestServices = CreateServices(); + Requests[2922].Request.Method = "PUT"; + Requests[2922].Request.Path = "/subscriptions/a13ebeb8-9c13-/resourceGroups/1de61a68-6038-421/providers/Microsoft.OperationalInsights/workspaces/08223cb8-5fbb/features/serviceMap/machineGroups/abb7f33a-1f43-4a"; + Requests[2923] = new DefaultHttpContext(); + Requests[2923].RequestServices = CreateServices(); + Requests[2923].Request.Method = "GET"; + Requests[2923].Request.Path = "/subscriptions/86374978-af0e-/resourceGroups/48e5c11d-3080-441/providers/Microsoft.OperationalInsights/workspaces/1a4cec37-85d1/features/serviceMap/machines/2eec9e03-1d"; + Requests[2924] = new DefaultHttpContext(); + Requests[2924].RequestServices = CreateServices(); + Requests[2924].Request.Method = "PATCH"; + Requests[2924].Request.Path = "/subscriptions/883d2106-3ccc-/resourceGroups/5ffa27d0-3611-422/providers/Microsoft.Storage/storageAccounts/93e06dd3-1e/blobServices/default/containers/37a4fcda-5a38"; + Requests[2925] = new DefaultHttpContext(); + Requests[2925].RequestServices = CreateServices(); + Requests[2925].Request.Method = "GET"; + Requests[2925].Request.Path = "/subscriptions/df23d8c1-88b0-/resourceGroups/b8cecee8-2b26-4ed/providers/Microsoft.Storage/storageAccounts/2cc0af3e-18/blobServices/default/containers/ccf8abcc-011f"; + Requests[2926] = new DefaultHttpContext(); + Requests[2926].RequestServices = CreateServices(); + Requests[2926].Request.Method = "DELETE"; + Requests[2926].Request.Path = "/subscriptions/017cb9da-008b-/resourceGroups/7e9fe602-973a-4f2/providers/Microsoft.Storage/storageAccounts/58fe1881-83/blobServices/default/containers/2ca33c13-5b7d"; + Requests[2927] = new DefaultHttpContext(); + Requests[2927].RequestServices = CreateServices(); + Requests[2927].Request.Method = "PUT"; + Requests[2927].Request.Path = "/subscriptions/1cc2d03a-68da-/resourceGroups/117eeed7-1642-4be/providers/Microsoft.Storage/storageAccounts/1e6d09ff-af/blobServices/default/containers/8ca32980-5329"; + Requests[2928] = new DefaultHttpContext(); + Requests[2928].RequestServices = CreateServices(); + Requests[2928].Request.Method = "GET"; + Requests[2928].Request.Path = "/subscriptions/7f4dea19-d521-/resourceGroups/0c67d0fb-b8c2-421/providers/Microsoft.Web/sites/73d18/config/web/snapshots/acfd0142-a"; + Requests[2929] = new DefaultHttpContext(); + Requests[2929].RequestServices = CreateServices(); + Requests[2929].Request.Method = "GET"; + Requests[2929].Request.Path = "/subscriptions/9941ddf6-6d80-/resourceGroups/86951fd3-6e50-453/providers/Microsoft.OperationalInsights/workspaces/7a67d15d-6c1f/features/serviceMap/clientGroups/b7b6d946-f5ae-4/members"; + Requests[2930] = new DefaultHttpContext(); + Requests[2930].RequestServices = CreateServices(); + Requests[2930].Request.Method = "GET"; + Requests[2930].Request.Path = "/subscriptions/69404a44-1df0-/resourceGroups/836ef9eb-7b64-40f/providers/Microsoft.OperationalInsights/workspaces/7e9d9f7d-7fa5/features/serviceMap/clientGroups/42e42663-ade7-4/membersCount"; + Requests[2931] = new DefaultHttpContext(); + Requests[2931].RequestServices = CreateServices(); + Requests[2931].Request.Method = "GET"; + Requests[2931].Request.Path = "/subscriptions/e248b657-4c22-/resourceGroups/229c04b6-3d2c-4db/providers/Microsoft.OperationalInsights/workspaces/a4713130-548e/features/serviceMap/machines/27e48d94-e1/connections"; + Requests[2932] = new DefaultHttpContext(); + Requests[2932].RequestServices = CreateServices(); + Requests[2932].Request.Method = "GET"; + Requests[2932].Request.Path = "/subscriptions/51cf8985-d8f3-/resourceGroups/a56d6494-f995-43b/providers/Microsoft.OperationalInsights/workspaces/b9798816-0b2e/features/serviceMap/machines/248074ab-c9/liveness"; + Requests[2933] = new DefaultHttpContext(); + Requests[2933].RequestServices = CreateServices(); + Requests[2933].Request.Method = "GET"; + Requests[2933].Request.Path = "/subscriptions/e7c1c270-32d7-/resourceGroups/f78d920a-439e-438/providers/Microsoft.OperationalInsights/workspaces/b8518a8d-a79d/features/serviceMap/machines/525ff651-2e/machineGroups"; + Requests[2934] = new DefaultHttpContext(); + Requests[2934].RequestServices = CreateServices(); + Requests[2934].Request.Method = "GET"; + Requests[2934].Request.Path = "/subscriptions/8ad0f175-427c-/resourceGroups/ca95b742-706c-42c/providers/Microsoft.OperationalInsights/workspaces/d526ffc9-a0d9/features/serviceMap/machines/35230518-6f/ports"; + Requests[2935] = new DefaultHttpContext(); + Requests[2935].RequestServices = CreateServices(); + Requests[2935].Request.Method = "GET"; + Requests[2935].Request.Path = "/subscriptions/71cf5c2f-c213-/resourceGroups/25805ee1-235e-44b/providers/Microsoft.OperationalInsights/workspaces/bcdb94bf-e86e/features/serviceMap/machines/295e42ba-1a/processes"; + Requests[2936] = new DefaultHttpContext(); + Requests[2936].RequestServices = CreateServices(); + Requests[2936].Request.Method = "POST"; + Requests[2936].Request.Path = "/subscriptions/a18be7eb-8e66-/resourceGroups/970a9cff-2d88-43c/providers/Microsoft.Storage/storageAccounts/5fe55a9c-d7/blobServices/default/containers/2ca04e44-7b1a/clearLegalHold"; + Requests[2937] = new DefaultHttpContext(); + Requests[2937].RequestServices = CreateServices(); + Requests[2937].Request.Method = "POST"; + Requests[2937].Request.Path = "/subscriptions/f7ea0fc1-80f6-/resourceGroups/d7211526-03bb-487/providers/Microsoft.Storage/storageAccounts/3ffa4aeb-99/blobServices/default/containers/f05f8032-2959/setLegalHold"; + Requests[2938] = new DefaultHttpContext(); + Requests[2938].RequestServices = CreateServices(); + Requests[2938].Request.Method = "GET"; + Requests[2938].Request.Path = "/subscriptions/03c13c38-5d95-/resourceGroups/163d1094-16dc-413/providers/Microsoft.Web/hostingEnvironments/3adf9/multiRolePools/default/instances/494eb1e7/metricdefinitions"; + Requests[2939] = new DefaultHttpContext(); + Requests[2939].RequestServices = CreateServices(); + Requests[2939].Request.Method = "GET"; + Requests[2939].Request.Path = "/subscriptions/dbdd400f-99cc-/resourceGroups/4f7b2fbb-0eaf-419/providers/Microsoft.Web/hostingEnvironments/1a85c/multiRolePools/default/instances/72322969/metrics"; + Requests[2940] = new DefaultHttpContext(); + Requests[2940].RequestServices = CreateServices(); + Requests[2940].Request.Method = "POST"; + Requests[2940].Request.Path = "/subscriptions/d69d51b3-3647-/resourceGroups/46c7cd3a-db7e-4b2/providers/Microsoft.Web/sites/e2c3f/config/web/snapshots/40b64303-3/recover"; + Requests[2941] = new DefaultHttpContext(); + Requests[2941].RequestServices = CreateServices(); + Requests[2941].Request.Method = "POST"; + Requests[2941].Request.Path = "/subscriptions/45f176e8-e179-/resourceGroups/9c25b417-9213-45d/providers/Microsoft.Storage/storageAccounts/860c0bba-bc/blobServices/default/containers/44761f56-aa6b/immutabilityPolicies/default/extend"; + Requests[2942] = new DefaultHttpContext(); + Requests[2942].RequestServices = CreateServices(); + Requests[2942].Request.Method = "POST"; + Requests[2942].Request.Path = "/subscriptions/f6da0121-63d5-/resourceGroups/1b58ff81-bfd5-444/providers/Microsoft.Storage/storageAccounts/cc209ea8-55/blobServices/default/containers/fe53148f-1eb8/immutabilityPolicies/default/lock"; + Requests[2943] = new DefaultHttpContext(); + Requests[2943].RequestServices = CreateServices(); + Requests[2943].Request.Method = "GET"; + Requests[2943].Request.Path = "/subscriptions/2879425a-9cdc-/resourceGroups/fce95a2e-8b81-4ac/providers/Microsoft.OperationalInsights/workspaces/d4aeede1-9e78/features/serviceMap/machines/a23fed31-9b/ports/caa07cb3"; + Requests[2944] = new DefaultHttpContext(); + Requests[2944].RequestServices = CreateServices(); + Requests[2944].Request.Method = "GET"; + Requests[2944].Request.Path = "/subscriptions/6beb076d-f11a-/resourceGroups/be75d81b-a850-49e/providers/Microsoft.OperationalInsights/workspaces/162f2784-c4be/features/serviceMap/machines/7ddeabb4-fb/processes/8c22eab6-2e"; + Requests[2945] = new DefaultHttpContext(); + Requests[2945].RequestServices = CreateServices(); + Requests[2945].Request.Method = "GET"; + Requests[2945].Request.Path = "/subscriptions/e607c8b0-9336-/resourceGroups/bf8428ef-1f98-445/providers/Microsoft.Storage/storageAccounts/2dfa7089-0d/blobServices/default/containers/dfcf67c7-8e0c/immutabilityPolicies/1b1e6c2a-e352-487f-be9"; + Requests[2946] = new DefaultHttpContext(); + Requests[2946].RequestServices = CreateServices(); + Requests[2946].Request.Method = "PUT"; + Requests[2946].Request.Path = "/subscriptions/238d9f79-f079-/resourceGroups/242148c9-9b6c-49e/providers/Microsoft.Storage/storageAccounts/ba4188d0-e3/blobServices/default/containers/f18b2350-646c/immutabilityPolicies/d7f11596-472b-464d-ae9"; + Requests[2947] = new DefaultHttpContext(); + Requests[2947].RequestServices = CreateServices(); + Requests[2947].Request.Method = "DELETE"; + Requests[2947].Request.Path = "/subscriptions/5f45bdea-9817-/resourceGroups/e8309781-3384-4d0/providers/Microsoft.Storage/storageAccounts/fdcc8ef1-75/blobServices/default/containers/2e05c99d-d4e3/immutabilityPolicies/6a1ed462-a6c4-4908-816"; + Requests[2948] = new DefaultHttpContext(); + Requests[2948].RequestServices = CreateServices(); + Requests[2948].Request.Method = "GET"; + Requests[2948].Request.Path = "/subscriptions/24bb2ced-979b-/resourceGroups/0e5ec9f6-38bd-417/providers/Microsoft.OperationalInsights/workspaces/4b898e52-735b/features/serviceMap/machines/51f5ae7c-8b/ports/74d52171/acceptingProcesses"; + Requests[2949] = new DefaultHttpContext(); + Requests[2949].RequestServices = CreateServices(); + Requests[2949].Request.Method = "GET"; + Requests[2949].Request.Path = "/subscriptions/032c94f2-f4da-/resourceGroups/918fd311-f84b-46a/providers/Microsoft.OperationalInsights/workspaces/36511d76-82f9/features/serviceMap/machines/4e0eb8c5-68/ports/c0d900c8/connections"; + Requests[2950] = new DefaultHttpContext(); + Requests[2950].RequestServices = CreateServices(); + Requests[2950].Request.Method = "GET"; + Requests[2950].Request.Path = "/subscriptions/5f040c0e-bd4e-/resourceGroups/bc330b0a-7469-454/providers/Microsoft.OperationalInsights/workspaces/58fd1608-931a/features/serviceMap/machines/3c9fd9a5-86/ports/5a4e1c6d/liveness"; + Requests[2951] = new DefaultHttpContext(); + Requests[2951].RequestServices = CreateServices(); + Requests[2951].Request.Method = "GET"; + Requests[2951].Request.Path = "/subscriptions/2724301f-eaa2-/resourceGroups/a4386a3b-a59f-4dd/providers/Microsoft.OperationalInsights/workspaces/b5cf9986-96c4/features/serviceMap/machines/fe397bbd-a9/processes/2dbc2efb-35/acceptingPorts"; + Requests[2952] = new DefaultHttpContext(); + Requests[2952].RequestServices = CreateServices(); + Requests[2952].Request.Method = "GET"; + Requests[2952].Request.Path = "/subscriptions/643d4cc4-5fc5-/resourceGroups/30c2b8a3-8830-4c2/providers/Microsoft.OperationalInsights/workspaces/2c9475d7-b372/features/serviceMap/machines/05f0999c-c6/processes/cdabae4e-05/connections"; + Requests[2953] = new DefaultHttpContext(); + Requests[2953].RequestServices = CreateServices(); + Requests[2953].Request.Method = "GET"; + Requests[2953].Request.Path = "/subscriptions/de35a878-611d-/resourceGroups/4105cda7-bf6b-46c/providers/Microsoft.OperationalInsights/workspaces/19f67907-9c33/features/serviceMap/machines/ee86153d-f9/processes/ba59ccfb-d7/liveness"; + Requests[2954] = new DefaultHttpContext(); + Requests[2954].RequestServices = CreateServices(); + Requests[2954].Request.Method = "GET"; + Requests[2954].Request.Path = "/Subscriptions/4d821db6-7cad-/resourceGroups/1ae87d02-0a12-4c0/providers/Microsoft.RecoveryServices/vaults/e809942f-/backupJobs/operationResults/ee4d9e84-59"; + Requests[2955] = new DefaultHttpContext(); + Requests[2955].RequestServices = CreateServices(); + Requests[2955].Request.Method = "POST"; + Requests[2955].Request.Path = "/subscriptions/068e489b-155d-/resourcegroups/dec74986-a1f7-4a7/providers/Microsoft.Storage.Admin/farms/8858ee/shares/operationresults/3c0fe0c2-35"; + Requests[2956] = new DefaultHttpContext(); + Requests[2956].RequestServices = CreateServices(); + Requests[2956].Request.Method = "GET"; + Requests[2956].Request.Path = "/subscriptions/4f9a33c4-b5f4-/resourcegroups/79c4533b-03e0-46f/providers/Microsoft.Storage.Admin/farms/d488a0/shares/operationresults/b9fe335c-d3"; + Requests[2957] = new DefaultHttpContext(); + Requests[2957].RequestServices = CreateServices(); + Requests[2957].Request.Method = "PUT"; + Requests[2957].Request.Path = "/subscriptions/20ff8131-1a48-/resourceGroup/5d70c143-63e3-418/providers/Microsoft.MachineLearningServices/workspaces/0306ae8e-53fe/computes/34a93725-ba"; + Requests[2958] = new DefaultHttpContext(); + Requests[2958].RequestServices = CreateServices(); + Requests[2958].Request.Method = "DELETE"; + Requests[2958].Request.Path = "/subscriptions/3e833b4c-b8c4-/resourceGroup/4135b13a-ce0c-450/providers/Microsoft.MachineLearningServices/workspaces/631185ba-014e/computes/c681152b-57"; + Requests[2959] = new DefaultHttpContext(); + Requests[2959].RequestServices = CreateServices(); + Requests[2959].Request.Method = "GET"; + Requests[2959].Request.Path = "/subscriptions/258f126d-1967-/resourceGroup/a420b6bb-cd1d-4e4/providers/Microsoft.MachineLearningServices/workspaces/da767a46-9aae/computes/0943fa06-72"; + Requests[2960] = new DefaultHttpContext(); + Requests[2960].RequestServices = CreateServices(); + Requests[2960].Request.Method = "PATCH"; + Requests[2960].Request.Path = "/subscriptions/42a82f0e-034e-/resourceGroups/f9612835-/providers/Microsoft.DataMigration/services/d47aed37-6c/projects/dd310e7e-03"; + Requests[2961] = new DefaultHttpContext(); + Requests[2961].RequestServices = CreateServices(); + Requests[2961].Request.Method = "DELETE"; + Requests[2961].Request.Path = "/subscriptions/ac46e81a-6a97-/resourceGroups/ac588f2d-/providers/Microsoft.DataMigration/services/bb9c126f-89/projects/f5e7e6db-47"; + Requests[2962] = new DefaultHttpContext(); + Requests[2962].RequestServices = CreateServices(); + Requests[2962].Request.Method = "GET"; + Requests[2962].Request.Path = "/subscriptions/04a607de-c556-/resourceGroups/d0c430f4-/providers/Microsoft.DataMigration/services/903f68c8-4c/projects/b30b303f-b8"; + Requests[2963] = new DefaultHttpContext(); + Requests[2963].RequestServices = CreateServices(); + Requests[2963].Request.Method = "PUT"; + Requests[2963].Request.Path = "/subscriptions/82a0394a-de3d-/resourceGroups/356cf4fa-/providers/Microsoft.DataMigration/services/8bce1ba1-16/projects/2d4f4ab8-2f"; + Requests[2964] = new DefaultHttpContext(); + Requests[2964].RequestServices = CreateServices(); + Requests[2964].Request.Method = "PARAMETERS"; + Requests[2964].Request.Path = "/subscriptions/a5f0d2b1-559a-/resourceGroups/0985517e-/providers/Microsoft.DataMigration/services/810e4f83-54/projects/9207050a-5d"; + Requests[2965] = new DefaultHttpContext(); + Requests[2965].RequestServices = CreateServices(); + Requests[2965].Request.Method = "GET"; + Requests[2965].Request.Path = "/subscriptions/b1ea3083-1ec8-/resourcegroups/ed071ff1-6752/providers/Microsoft.AzureBridge.Admin/activations/7d940ac4-e839-/downloadedProducts/29d52386-88"; + Requests[2966] = new DefaultHttpContext(); + Requests[2966].RequestServices = CreateServices(); + Requests[2966].Request.Method = "DELETE"; + Requests[2966].Request.Path = "/subscriptions/53e0a721-2016-/resourcegroups/d7188377-f9de/providers/Microsoft.AzureBridge.Admin/activations/b378806e-d305-/downloadedProducts/771e0bc0-e3"; + Requests[2967] = new DefaultHttpContext(); + Requests[2967].RequestServices = CreateServices(); + Requests[2967].Request.Method = "GET"; + Requests[2967].Request.Path = "/subscriptions/80e66663-8898-/resourcegroups/473df903-b8bc/providers/Microsoft.AzureBridge.Admin/activations/a3c3a2ba-ec27-/products/a7c39dff-bd"; + Requests[2968] = new DefaultHttpContext(); + Requests[2968].RequestServices = CreateServices(); + Requests[2968].Request.Method = "PUT"; + Requests[2968].Request.Path = "/subscriptions/85459ae0-fcad-/resourceGroups/b3712f7b-7205/providers/Microsoft.AzureStack/registrations/93f57b1e-2ef6-4c/customerSubscriptions/4c18401b-c92f-480a-82b8-"; + Requests[2969] = new DefaultHttpContext(); + Requests[2969].RequestServices = CreateServices(); + Requests[2969].Request.Method = "GET"; + Requests[2969].Request.Path = "/subscriptions/3c53eb75-6a41-/resourceGroups/f178cd16-0a26/providers/Microsoft.AzureStack/registrations/754e3885-6b85-45/customerSubscriptions/2ff6ee33-fc93-43c2-8cd2-"; + Requests[2970] = new DefaultHttpContext(); + Requests[2970].RequestServices = CreateServices(); + Requests[2970].Request.Method = "DELETE"; + Requests[2970].Request.Path = "/subscriptions/02e711e6-708d-/resourceGroups/45103859-626c/providers/Microsoft.AzureStack/registrations/c7a5641e-7289-43/customerSubscriptions/a938fb1a-3d84-4115-8900-"; + Requests[2971] = new DefaultHttpContext(); + Requests[2971].RequestServices = CreateServices(); + Requests[2971].Request.Method = "GET"; + Requests[2971].Request.Path = "/subscriptions/97316cda-26ce-/resourceGroups/fd4def52-2b8d/providers/Microsoft.AzureStack/registrations/dc7263bc-017d-4f/products/f6b7fb23-c3"; + Requests[2972] = new DefaultHttpContext(); + Requests[2972].RequestServices = CreateServices(); + Requests[2972].Request.Method = "PATCH"; + Requests[2972].Request.Path = "/subscriptions/c2b8fb8d-6abf-/resourceGroups/e841c65f-1373-411/providers/Microsoft.ApiManagement/service/37406ec6-97/apis/1a91e"; + Requests[2973] = new DefaultHttpContext(); + Requests[2973].RequestServices = CreateServices(); + Requests[2973].Request.Method = "DELETE"; + Requests[2973].Request.Path = "/subscriptions/ebc6d7cc-d7ef-/resourceGroups/2f099d6c-e2b8-430/providers/Microsoft.ApiManagement/service/095a4a80-a1/apis/410dc"; + Requests[2974] = new DefaultHttpContext(); + Requests[2974].RequestServices = CreateServices(); + Requests[2974].Request.Method = "HEAD"; + Requests[2974].Request.Path = "/subscriptions/e0d9387a-1df0-/resourceGroups/3e2c03b6-a7a3-475/providers/Microsoft.ApiManagement/service/2d7afe64-0e/apis/50885"; + Requests[2975] = new DefaultHttpContext(); + Requests[2975].RequestServices = CreateServices(); + Requests[2975].Request.Method = "GET"; + Requests[2975].Request.Path = "/subscriptions/ba40e904-fa86-/resourceGroups/88e06f13-6116-4c3/providers/Microsoft.ApiManagement/service/608411f3-66/apis/68d69"; + Requests[2976] = new DefaultHttpContext(); + Requests[2976].RequestServices = CreateServices(); + Requests[2976].Request.Method = "PUT"; + Requests[2976].Request.Path = "/subscriptions/75a6baa7-0abe-/resourceGroups/b0f039eb-7ae6-49b/providers/Microsoft.ApiManagement/service/47555aae-bb/apis/fc01f"; + Requests[2977] = new DefaultHttpContext(); + Requests[2977].RequestServices = CreateServices(); + Requests[2977].Request.Method = "HEAD"; + Requests[2977].Request.Path = "/subscriptions/97cff903-acd8-/resourceGroups/6b6d8dcd-66aa-4dc/providers/Microsoft.ApiManagement/service/bcadf16e-99/api-version-sets/43de1b8c-3be"; + Requests[2978] = new DefaultHttpContext(); + Requests[2978].RequestServices = CreateServices(); + Requests[2978].Request.Method = "DELETE"; + Requests[2978].Request.Path = "/subscriptions/3760ab11-a853-/resourceGroups/f22b8c3e-c50e-466/providers/Microsoft.ApiManagement/service/27e8fd44-7b/api-version-sets/a55f2f40-327"; + Requests[2979] = new DefaultHttpContext(); + Requests[2979].RequestServices = CreateServices(); + Requests[2979].Request.Method = "GET"; + Requests[2979].Request.Path = "/subscriptions/e4b60afc-fec6-/resourceGroups/eb60ec0d-2ca8-44c/providers/Microsoft.ApiManagement/service/72d352eb-fa/api-version-sets/649cfe33-f78"; + Requests[2980] = new DefaultHttpContext(); + Requests[2980].RequestServices = CreateServices(); + Requests[2980].Request.Method = "PUT"; + Requests[2980].Request.Path = "/subscriptions/dee154aa-4add-/resourceGroups/a5cb41bb-872e-464/providers/Microsoft.ApiManagement/service/d70070bc-91/api-version-sets/2deb3c69-5eb"; + Requests[2981] = new DefaultHttpContext(); + Requests[2981].RequestServices = CreateServices(); + Requests[2981].Request.Method = "PATCH"; + Requests[2981].Request.Path = "/subscriptions/620fa6fb-2392-/resourceGroups/d818719e-fd7c-44d/providers/Microsoft.ApiManagement/service/7755633b-88/api-version-sets/9238a65c-379"; + Requests[2982] = new DefaultHttpContext(); + Requests[2982].RequestServices = CreateServices(); + Requests[2982].Request.Method = "PARAMETERS"; + Requests[2982].Request.Path = "/subscriptions/4f320d72-1e03-/resourceGroups/8f1d6b48-0a75-4cd/providers/Microsoft.ApiManagement/service/0f212093-21/api-version-sets/b16a3104-993"; + Requests[2983] = new DefaultHttpContext(); + Requests[2983].RequestServices = CreateServices(); + Requests[2983].Request.Method = "HEAD"; + Requests[2983].Request.Path = "/subscriptions/fe2d6786-4ae7-/resourceGroups/b51e9a20-2335-402/providers/Microsoft.ApiManagement/service/7b975106-d4/authorizationServers/a345bfa"; + Requests[2984] = new DefaultHttpContext(); + Requests[2984].RequestServices = CreateServices(); + Requests[2984].Request.Method = "GET"; + Requests[2984].Request.Path = "/subscriptions/46667647-cd9f-/resourceGroups/76c6098f-738d-4a3/providers/Microsoft.ApiManagement/service/1505ba62-de/authorizationServers/206d389"; + Requests[2985] = new DefaultHttpContext(); + Requests[2985].RequestServices = CreateServices(); + Requests[2985].Request.Method = "DELETE"; + Requests[2985].Request.Path = "/subscriptions/fe58b0a3-c2a4-/resourceGroups/30d4565e-9518-4f4/providers/Microsoft.ApiManagement/service/af3ed4b0-93/authorizationServers/9cc8ab2"; + Requests[2986] = new DefaultHttpContext(); + Requests[2986].RequestServices = CreateServices(); + Requests[2986].Request.Method = "PATCH"; + Requests[2986].Request.Path = "/subscriptions/c3609445-f1c6-/resourceGroups/5e0c9db9-2182-469/providers/Microsoft.ApiManagement/service/6bf1f248-7f/authorizationServers/d2a4f40"; + Requests[2987] = new DefaultHttpContext(); + Requests[2987].RequestServices = CreateServices(); + Requests[2987].Request.Method = "PUT"; + Requests[2987].Request.Path = "/subscriptions/1e6eb197-ece9-/resourceGroups/f0176929-7350-406/providers/Microsoft.ApiManagement/service/9a3bb9d0-aa/authorizationServers/59695aa"; + Requests[2988] = new DefaultHttpContext(); + Requests[2988].RequestServices = CreateServices(); + Requests[2988].Request.Method = "PUT"; + Requests[2988].Request.Path = "/subscriptions/a286008a-f578-/resourceGroups/cbf2a9a3-62a9-4e1/providers/Microsoft.ApiManagement/service/e6195e47-2a/backends/bb0227c5-"; + Requests[2989] = new DefaultHttpContext(); + Requests[2989].RequestServices = CreateServices(); + Requests[2989].Request.Method = "GET"; + Requests[2989].Request.Path = "/subscriptions/f0a89759-be26-/resourceGroups/b5564fba-4429-4a0/providers/Microsoft.ApiManagement/service/3c570a59-a8/backends/43683750-"; + Requests[2990] = new DefaultHttpContext(); + Requests[2990].RequestServices = CreateServices(); + Requests[2990].Request.Method = "PATCH"; + Requests[2990].Request.Path = "/subscriptions/d6a2b1fc-3115-/resourceGroups/8de97dba-2bf6-44d/providers/Microsoft.ApiManagement/service/afaa1314-d0/backends/de8c2885-"; + Requests[2991] = new DefaultHttpContext(); + Requests[2991].RequestServices = CreateServices(); + Requests[2991].Request.Method = "DELETE"; + Requests[2991].Request.Path = "/subscriptions/67e38d11-5703-/resourceGroups/f11cc59e-f1bb-40a/providers/Microsoft.ApiManagement/service/6ea5b8f2-e4/backends/6dd9a573-"; + Requests[2992] = new DefaultHttpContext(); + Requests[2992].RequestServices = CreateServices(); + Requests[2992].Request.Method = "HEAD"; + Requests[2992].Request.Path = "/subscriptions/dec623de-06c8-/resourceGroups/51cee1ce-20fa-4d1/providers/Microsoft.ApiManagement/service/645105c7-a5/backends/6b3a0ace-"; + Requests[2993] = new DefaultHttpContext(); + Requests[2993].RequestServices = CreateServices(); + Requests[2993].Request.Method = "HEAD"; + Requests[2993].Request.Path = "/subscriptions/ed74d376-5d8f-/resourceGroups/dabf2883-9898-482/providers/Microsoft.ApiManagement/service/2ef3e9de-90/certificates/6f48a19b-554d"; + Requests[2994] = new DefaultHttpContext(); + Requests[2994].RequestServices = CreateServices(); + Requests[2994].Request.Method = "GET"; + Requests[2994].Request.Path = "/subscriptions/8be2d8ae-e246-/resourceGroups/ccaa4bd2-540c-46b/providers/Microsoft.ApiManagement/service/4faebbe6-26/certificates/682b4091-0e9d"; + Requests[2995] = new DefaultHttpContext(); + Requests[2995].RequestServices = CreateServices(); + Requests[2995].Request.Method = "PUT"; + Requests[2995].Request.Path = "/subscriptions/bf85fb61-3e48-/resourceGroups/ee455d21-4d81-44d/providers/Microsoft.ApiManagement/service/132239f1-d6/certificates/f023b1f6-75f8"; + Requests[2996] = new DefaultHttpContext(); + Requests[2996].RequestServices = CreateServices(); + Requests[2996].Request.Method = "DELETE"; + Requests[2996].Request.Path = "/subscriptions/defdf4e7-af42-/resourceGroups/9f6ac094-eb42-459/providers/Microsoft.ApiManagement/service/76503ea1-e8/certificates/e9c01b43-08e4"; + Requests[2997] = new DefaultHttpContext(); + Requests[2997].RequestServices = CreateServices(); + Requests[2997].Request.Method = "HEAD"; + Requests[2997].Request.Path = "/subscriptions/3a48a5bc-3252-/resourceGroups/177975ca-0178-411/providers/Microsoft.ApiManagement/service/813a04d1-19/diagnostics/db3ba92c-9dd"; + Requests[2998] = new DefaultHttpContext(); + Requests[2998].RequestServices = CreateServices(); + Requests[2998].Request.Method = "GET"; + Requests[2998].Request.Path = "/subscriptions/7710e56c-57af-/resourceGroups/c6cde74a-669e-412/providers/Microsoft.ApiManagement/service/a9d38522-b0/diagnostics/8ca53e3f-ad9"; + Requests[2999] = new DefaultHttpContext(); + Requests[2999].RequestServices = CreateServices(); + Requests[2999].Request.Method = "PUT"; + Requests[2999].Request.Path = "/subscriptions/f142565c-e121-/resourceGroups/0029d02e-60cb-482/providers/Microsoft.ApiManagement/service/b279f0a7-76/diagnostics/75997d1c-021"; + Requests[3000] = new DefaultHttpContext(); + Requests[3000].RequestServices = CreateServices(); + Requests[3000].Request.Method = "PATCH"; + Requests[3000].Request.Path = "/subscriptions/8b1cac27-0225-/resourceGroups/408db9e5-afb0-4a1/providers/Microsoft.ApiManagement/service/bc26895c-85/diagnostics/ecf1378c-e1e"; + Requests[3001] = new DefaultHttpContext(); + Requests[3001].RequestServices = CreateServices(); + Requests[3001].Request.Method = "DELETE"; + Requests[3001].Request.Path = "/subscriptions/ef29915b-6e23-/resourceGroups/53cd3320-8969-429/providers/Microsoft.ApiManagement/service/965e57cb-2b/diagnostics/69d5cc5a-6aa"; + Requests[3002] = new DefaultHttpContext(); + Requests[3002].RequestServices = CreateServices(); + Requests[3002].Request.Method = "DELETE"; + Requests[3002].Request.Path = "/subscriptions/ee0e8a46-c97e-/resourceGroups/84a69bf6-e714-46f/providers/Microsoft.ApiManagement/service/813c84fa-17/groups/ae5cd31"; + Requests[3003] = new DefaultHttpContext(); + Requests[3003].RequestServices = CreateServices(); + Requests[3003].Request.Method = "PATCH"; + Requests[3003].Request.Path = "/subscriptions/38b8904a-35a0-/resourceGroups/81779466-62c2-460/providers/Microsoft.ApiManagement/service/00876d0e-b4/groups/d051597"; + Requests[3004] = new DefaultHttpContext(); + Requests[3004].RequestServices = CreateServices(); + Requests[3004].Request.Method = "HEAD"; + Requests[3004].Request.Path = "/subscriptions/256d98c0-29aa-/resourceGroups/5e0864de-0851-46f/providers/Microsoft.ApiManagement/service/e238a53c-a1/groups/31bed2f"; + Requests[3005] = new DefaultHttpContext(); + Requests[3005].RequestServices = CreateServices(); + Requests[3005].Request.Method = "GET"; + Requests[3005].Request.Path = "/subscriptions/03f6fdee-1f8e-/resourceGroups/3908cd0a-0072-4ff/providers/Microsoft.ApiManagement/service/d535c1ba-1d/groups/0a2cdca"; + Requests[3006] = new DefaultHttpContext(); + Requests[3006].RequestServices = CreateServices(); + Requests[3006].Request.Method = "PUT"; + Requests[3006].Request.Path = "/subscriptions/d49370c4-ae89-/resourceGroups/65ccec5e-6826-4eb/providers/Microsoft.ApiManagement/service/4d885ee8-11/groups/bc2d83d"; + Requests[3007] = new DefaultHttpContext(); + Requests[3007].RequestServices = CreateServices(); + Requests[3007].Request.Method = "HEAD"; + Requests[3007].Request.Path = "/subscriptions/5d565a53-2e82-/resourceGroups/3e55b6e8-e12f-459/providers/Microsoft.ApiManagement/service/9b1e20d0-ec/identityProviders/6b5e2648-4262-4862-a"; + Requests[3008] = new DefaultHttpContext(); + Requests[3008].RequestServices = CreateServices(); + Requests[3008].Request.Method = "GET"; + Requests[3008].Request.Path = "/subscriptions/9783e7f5-fcc1-/resourceGroups/03a0293f-9d8b-43e/providers/Microsoft.ApiManagement/service/78d8857d-c7/identityProviders/a999ad23-0187-4ab6-a"; + Requests[3009] = new DefaultHttpContext(); + Requests[3009].RequestServices = CreateServices(); + Requests[3009].Request.Method = "DELETE"; + Requests[3009].Request.Path = "/subscriptions/45a9dc9c-018b-/resourceGroups/b6b89258-f1d5-41b/providers/Microsoft.ApiManagement/service/d24dd9d6-72/identityProviders/5e448e76-c35e-4e71-9"; + Requests[3010] = new DefaultHttpContext(); + Requests[3010].RequestServices = CreateServices(); + Requests[3010].Request.Method = "PUT"; + Requests[3010].Request.Path = "/subscriptions/2decda53-953f-/resourceGroups/055673a2-fa94-44f/providers/Microsoft.ApiManagement/service/534f3103-ac/identityProviders/0a557fe3-f415-4f2c-b"; + Requests[3011] = new DefaultHttpContext(); + Requests[3011].RequestServices = CreateServices(); + Requests[3011].Request.Method = "PATCH"; + Requests[3011].Request.Path = "/subscriptions/e9087213-7a1e-/resourceGroups/51364ccf-4b1e-46b/providers/Microsoft.ApiManagement/service/829648f0-90/identityProviders/2d0749e4-eb29-44ba-a"; + Requests[3012] = new DefaultHttpContext(); + Requests[3012].RequestServices = CreateServices(); + Requests[3012].Request.Method = "PUT"; + Requests[3012].Request.Path = "/subscriptions/8542c7de-ef4b-/resourceGroups/072cccdd-f278-458/providers/Microsoft.ApiManagement/service/e7c97461-46/loggers/a4dbac87"; + Requests[3013] = new DefaultHttpContext(); + Requests[3013].RequestServices = CreateServices(); + Requests[3013].Request.Method = "GET"; + Requests[3013].Request.Path = "/subscriptions/2f9a02f9-de0c-/resourceGroups/f05ea938-0ee3-4d2/providers/Microsoft.ApiManagement/service/278749bc-d2/loggers/aea473b3"; + Requests[3014] = new DefaultHttpContext(); + Requests[3014].RequestServices = CreateServices(); + Requests[3014].Request.Method = "HEAD"; + Requests[3014].Request.Path = "/subscriptions/17ccc322-55a1-/resourceGroups/bea9aaeb-7f94-4a6/providers/Microsoft.ApiManagement/service/01f1ce91-79/loggers/b9584901"; + Requests[3015] = new DefaultHttpContext(); + Requests[3015].RequestServices = CreateServices(); + Requests[3015].Request.Method = "PATCH"; + Requests[3015].Request.Path = "/subscriptions/a93b62ab-3cd1-/resourceGroups/9d33f101-2b3d-4de/providers/Microsoft.ApiManagement/service/e9b65f1a-bf/loggers/22665e98"; + Requests[3016] = new DefaultHttpContext(); + Requests[3016].RequestServices = CreateServices(); + Requests[3016].Request.Method = "DELETE"; + Requests[3016].Request.Path = "/subscriptions/903c9002-79bb-/resourceGroups/a96b6680-0b73-419/providers/Microsoft.ApiManagement/service/a86f4b42-24/loggers/a89cb7dc"; + Requests[3017] = new DefaultHttpContext(); + Requests[3017].RequestServices = CreateServices(); + Requests[3017].Request.Method = "PUT"; + Requests[3017].Request.Path = "/subscriptions/ff8b9918-9058-/resourceGroups/1cd47a54-5c2a-410/providers/Microsoft.ApiManagement/service/0e2c281f-3c/notifications/5762c692-abbb-4c"; + Requests[3018] = new DefaultHttpContext(); + Requests[3018].RequestServices = CreateServices(); + Requests[3018].Request.Method = "GET"; + Requests[3018].Request.Path = "/subscriptions/e470c69d-1166-/resourceGroups/dc34a7a2-2b9a-454/providers/Microsoft.ApiManagement/service/64b82b29-1a/notifications/a222a270-59af-4f"; + Requests[3019] = new DefaultHttpContext(); + Requests[3019].RequestServices = CreateServices(); + Requests[3019].Request.Method = "GET"; + Requests[3019].Request.Path = "/subscriptions/8695b3ba-a51b-/resourceGroups/74d7d192-cdb1-4cf/providers/Microsoft.ApiManagement/service/ab14f1ef-f1/openidConnectProviders/29ebf"; + Requests[3020] = new DefaultHttpContext(); + Requests[3020].RequestServices = CreateServices(); + Requests[3020].Request.Method = "HEAD"; + Requests[3020].Request.Path = "/subscriptions/3478d87c-3cfe-/resourceGroups/e694fcbb-fb7d-402/providers/Microsoft.ApiManagement/service/7bb290e5-08/openidConnectProviders/0357c"; + Requests[3021] = new DefaultHttpContext(); + Requests[3021].RequestServices = CreateServices(); + Requests[3021].Request.Method = "PUT"; + Requests[3021].Request.Path = "/subscriptions/24bc47ee-d70d-/resourceGroups/c5514dc1-7433-44a/providers/Microsoft.ApiManagement/service/906cab44-e3/openidConnectProviders/36586"; + Requests[3022] = new DefaultHttpContext(); + Requests[3022].RequestServices = CreateServices(); + Requests[3022].Request.Method = "PATCH"; + Requests[3022].Request.Path = "/subscriptions/53e658b3-5e6d-/resourceGroups/7075c5c0-695e-410/providers/Microsoft.ApiManagement/service/d0eb77c6-43/openidConnectProviders/00e2f"; + Requests[3023] = new DefaultHttpContext(); + Requests[3023].RequestServices = CreateServices(); + Requests[3023].Request.Method = "DELETE"; + Requests[3023].Request.Path = "/subscriptions/3a341b39-fb2f-/resourceGroups/af60c4f8-84f0-4ea/providers/Microsoft.ApiManagement/service/f3a436bb-71/openidConnectProviders/64448"; + Requests[3024] = new DefaultHttpContext(); + Requests[3024].RequestServices = CreateServices(); + Requests[3024].Request.Method = "DELETE"; + Requests[3024].Request.Path = "/subscriptions/5e7fb988-512d-/resourceGroups/29543082-7da0-4b2/providers/Microsoft.ApiManagement/service/4c809c28-50/policies/4279759e"; + Requests[3025] = new DefaultHttpContext(); + Requests[3025].RequestServices = CreateServices(); + Requests[3025].Request.Method = "GET"; + Requests[3025].Request.Path = "/subscriptions/bcd8a2b9-5a52-/resourceGroups/e6c5b16d-f585-476/providers/Microsoft.ApiManagement/service/8a9f12e1-b1/policies/5469b0b2"; + Requests[3026] = new DefaultHttpContext(); + Requests[3026].RequestServices = CreateServices(); + Requests[3026].Request.Method = "HEAD"; + Requests[3026].Request.Path = "/subscriptions/e48059c8-a93b-/resourceGroups/f1e6aab5-9e67-48c/providers/Microsoft.ApiManagement/service/d814d1be-1f/policies/26eb4283"; + Requests[3027] = new DefaultHttpContext(); + Requests[3027].RequestServices = CreateServices(); + Requests[3027].Request.Method = "PUT"; + Requests[3027].Request.Path = "/subscriptions/991dc958-12a5-/resourceGroups/da5b9162-25c7-417/providers/Microsoft.ApiManagement/service/e678330e-c7/policies/e2f16039"; + Requests[3028] = new DefaultHttpContext(); + Requests[3028].RequestServices = CreateServices(); + Requests[3028].Request.Method = "DELETE"; + Requests[3028].Request.Path = "/subscriptions/f06dcc82-44e7-/resourceGroups/96354e65-58d8-441/providers/Microsoft.ApiManagement/service/b86bfb8e-db/products/8a93cc29-"; + Requests[3029] = new DefaultHttpContext(); + Requests[3029].RequestServices = CreateServices(); + Requests[3029].Request.Method = "PUT"; + Requests[3029].Request.Path = "/subscriptions/4965274b-7654-/resourceGroups/2993eb87-cb21-4bf/providers/Microsoft.ApiManagement/service/1946a657-fc/products/80e8bb00-"; + Requests[3030] = new DefaultHttpContext(); + Requests[3030].RequestServices = CreateServices(); + Requests[3030].Request.Method = "PATCH"; + Requests[3030].Request.Path = "/subscriptions/2ceb4526-7fcd-/resourceGroups/c3a9b601-601f-49e/providers/Microsoft.ApiManagement/service/aa6685ca-ae/products/03dd0095-"; + Requests[3031] = new DefaultHttpContext(); + Requests[3031].RequestServices = CreateServices(); + Requests[3031].Request.Method = "GET"; + Requests[3031].Request.Path = "/subscriptions/0f0226f5-0dde-/resourceGroups/c3f4836d-194f-491/providers/Microsoft.ApiManagement/service/152b04d2-2e/products/e7f7e47b-"; + Requests[3032] = new DefaultHttpContext(); + Requests[3032].RequestServices = CreateServices(); + Requests[3032].Request.Method = "HEAD"; + Requests[3032].Request.Path = "/subscriptions/95c8e255-b08f-/resourceGroups/b31d92ea-78bf-4e1/providers/Microsoft.ApiManagement/service/18b4a487-3b/products/62344162-"; + Requests[3033] = new DefaultHttpContext(); + Requests[3033].RequestServices = CreateServices(); + Requests[3033].Request.Method = "GET"; + Requests[3033].Request.Path = "/subscriptions/72f3cd01-62eb-/resourceGroups/b2eaea41-c60d-4cb/providers/Microsoft.ApiManagement/service/5d51a9ae-83/properties/ef3c95"; + Requests[3034] = new DefaultHttpContext(); + Requests[3034].RequestServices = CreateServices(); + Requests[3034].Request.Method = "PUT"; + Requests[3034].Request.Path = "/subscriptions/3994542d-adcc-/resourceGroups/7779c05e-330c-48c/providers/Microsoft.ApiManagement/service/87986799-76/properties/e5fd1a"; + Requests[3035] = new DefaultHttpContext(); + Requests[3035].RequestServices = CreateServices(); + Requests[3035].Request.Method = "PATCH"; + Requests[3035].Request.Path = "/subscriptions/d18353bd-68c8-/resourceGroups/97b0fc39-ace1-466/providers/Microsoft.ApiManagement/service/e9085253-93/properties/64a76b"; + Requests[3036] = new DefaultHttpContext(); + Requests[3036].RequestServices = CreateServices(); + Requests[3036].Request.Method = "DELETE"; + Requests[3036].Request.Path = "/subscriptions/5cb6c805-d71a-/resourceGroups/6af7c672-7380-433/providers/Microsoft.ApiManagement/service/d1ba35f6-2b/properties/7dfe75"; + Requests[3037] = new DefaultHttpContext(); + Requests[3037].RequestServices = CreateServices(); + Requests[3037].Request.Method = "HEAD"; + Requests[3037].Request.Path = "/subscriptions/f0830b5b-7b3d-/resourceGroups/1b2710b9-a5e5-431/providers/Microsoft.ApiManagement/service/8bb3a388-37/properties/0d2538"; + Requests[3038] = new DefaultHttpContext(); + Requests[3038].RequestServices = CreateServices(); + Requests[3038].Request.Method = "GET"; + Requests[3038].Request.Path = "/subscriptions/536171fe-862b-/resourceGroups/2136bfca-8b4f-46d/providers/Microsoft.ApiManagement/service/a0e6c822-1b/quotas/40faedad-f3eb-4"; + Requests[3039] = new DefaultHttpContext(); + Requests[3039].RequestServices = CreateServices(); + Requests[3039].Request.Method = "PATCH"; + Requests[3039].Request.Path = "/subscriptions/65bd6861-f13f-/resourceGroups/df76693c-af29-441/providers/Microsoft.ApiManagement/service/5ce2123b-3b/quotas/4aeef56f-efad-4"; + Requests[3040] = new DefaultHttpContext(); + Requests[3040].RequestServices = CreateServices(); + Requests[3040].Request.Method = "GET"; + Requests[3040].Request.Path = "/subscriptions/d3190b27-ce25-/resourceGroups/16c3d61d-1706-4f4/providers/Microsoft.ApiManagement/service/fdff089e-5a/reports/dcd1a41c-01"; + Requests[3041] = new DefaultHttpContext(); + Requests[3041].RequestServices = CreateServices(); + Requests[3041].Request.Method = "DELETE"; + Requests[3041].Request.Path = "/subscriptions/7dfdb3e8-fc62-/resourceGroups/7cade622-e2a2-4cd/providers/Microsoft.ApiManagement/service/4bdb177a-a4/subscriptions/8c0ab"; + Requests[3042] = new DefaultHttpContext(); + Requests[3042].RequestServices = CreateServices(); + Requests[3042].Request.Method = "HEAD"; + Requests[3042].Request.Path = "/subscriptions/49212dc6-a414-/resourceGroups/4fd03937-0807-40b/providers/Microsoft.ApiManagement/service/00228d75-fb/subscriptions/332b7"; + Requests[3043] = new DefaultHttpContext(); + Requests[3043].RequestServices = CreateServices(); + Requests[3043].Request.Method = "GET"; + Requests[3043].Request.Path = "/subscriptions/0e6b63f1-f1db-/resourceGroups/c96985c0-8a71-4c4/providers/Microsoft.ApiManagement/service/988173d8-f8/subscriptions/32e55"; + Requests[3044] = new DefaultHttpContext(); + Requests[3044].RequestServices = CreateServices(); + Requests[3044].Request.Method = "PUT"; + Requests[3044].Request.Path = "/subscriptions/b61dc822-402c-/resourceGroups/6fe2d0d0-f848-468/providers/Microsoft.ApiManagement/service/05b5445d-cd/subscriptions/b001f"; + Requests[3045] = new DefaultHttpContext(); + Requests[3045].RequestServices = CreateServices(); + Requests[3045].Request.Method = "PATCH"; + Requests[3045].Request.Path = "/subscriptions/30d24d63-cac8-/resourceGroups/9018a0f3-6871-443/providers/Microsoft.ApiManagement/service/39ac14d2-67/subscriptions/7d383"; + Requests[3046] = new DefaultHttpContext(); + Requests[3046].RequestServices = CreateServices(); + Requests[3046].Request.Method = "HEAD"; + Requests[3046].Request.Path = "/subscriptions/53b87572-5bb7-/resourceGroups/d2444c6b-8fe7-499/providers/Microsoft.ApiManagement/service/85f5bdcd-59/tags/6ec8c"; + Requests[3047] = new DefaultHttpContext(); + Requests[3047].RequestServices = CreateServices(); + Requests[3047].Request.Method = "GET"; + Requests[3047].Request.Path = "/subscriptions/526ddc98-4b4e-/resourceGroups/afb46eae-871f-437/providers/Microsoft.ApiManagement/service/c54626cb-31/tags/6d746"; + Requests[3048] = new DefaultHttpContext(); + Requests[3048].RequestServices = CreateServices(); + Requests[3048].Request.Method = "DELETE"; + Requests[3048].Request.Path = "/subscriptions/868689e0-04f8-/resourceGroups/d9fb5e3c-8fcc-436/providers/Microsoft.ApiManagement/service/a958584e-9c/tags/1ee57"; + Requests[3049] = new DefaultHttpContext(); + Requests[3049].RequestServices = CreateServices(); + Requests[3049].Request.Method = "PATCH"; + Requests[3049].Request.Path = "/subscriptions/74113d28-6b49-/resourceGroups/e0a7b56c-bd82-48c/providers/Microsoft.ApiManagement/service/e3c1e678-16/tags/22ace"; + Requests[3050] = new DefaultHttpContext(); + Requests[3050].RequestServices = CreateServices(); + Requests[3050].Request.Method = "PUT"; + Requests[3050].Request.Path = "/subscriptions/113a3930-d51b-/resourceGroups/34f40b9c-93b8-4cd/providers/Microsoft.ApiManagement/service/bc2930a2-4c/tags/56061"; + Requests[3051] = new DefaultHttpContext(); + Requests[3051].RequestServices = CreateServices(); + Requests[3051].Request.Method = "PATCH"; + Requests[3051].Request.Path = "/subscriptions/7a22a6b2-fba7-/resourceGroups/07d06021-a1be-4fa/providers/Microsoft.ApiManagement/service/fbd3df26-59/templates/1490474b-90f"; + Requests[3052] = new DefaultHttpContext(); + Requests[3052].RequestServices = CreateServices(); + Requests[3052].Request.Method = "GET"; + Requests[3052].Request.Path = "/subscriptions/142106b2-bd19-/resourceGroups/b48d4289-7803-47b/providers/Microsoft.ApiManagement/service/fc5c45fd-7f/templates/e82da1a3-86a"; + Requests[3053] = new DefaultHttpContext(); + Requests[3053].RequestServices = CreateServices(); + Requests[3053].Request.Method = "HEAD"; + Requests[3053].Request.Path = "/subscriptions/89abb97d-b392-/resourceGroups/0a4bcdae-806b-40e/providers/Microsoft.ApiManagement/service/c191a065-1b/templates/ea7872b1-5ba"; + Requests[3054] = new DefaultHttpContext(); + Requests[3054].RequestServices = CreateServices(); + Requests[3054].Request.Method = "DELETE"; + Requests[3054].Request.Path = "/subscriptions/c61a432b-32bd-/resourceGroups/503aa104-7502-43e/providers/Microsoft.ApiManagement/service/db4d66a7-85/templates/3e1cd73d-cc4"; + Requests[3055] = new DefaultHttpContext(); + Requests[3055].RequestServices = CreateServices(); + Requests[3055].Request.Method = "PUT"; + Requests[3055].Request.Path = "/subscriptions/34ec5e97-9d49-/resourceGroups/4315de35-8203-4d3/providers/Microsoft.ApiManagement/service/4b328510-2f/templates/45fff909-317"; + Requests[3056] = new DefaultHttpContext(); + Requests[3056].RequestServices = CreateServices(); + Requests[3056].Request.Method = "GET"; + Requests[3056].Request.Path = "/subscriptions/9ef00301-7900-/resourceGroups/481dc838-3216-463/providers/Microsoft.ApiManagement/service/de510650-76/tenant/7c2383df-d"; + Requests[3057] = new DefaultHttpContext(); + Requests[3057].RequestServices = CreateServices(); + Requests[3057].Request.Method = "PATCH"; + Requests[3057].Request.Path = "/subscriptions/27b48a68-af45-/resourceGroups/f27bd94b-98cb-4e9/providers/Microsoft.ApiManagement/service/76736659-7f/tenant/eb1071bb-2"; + Requests[3058] = new DefaultHttpContext(); + Requests[3058].RequestServices = CreateServices(); + Requests[3058].Request.Method = "DELETE"; + Requests[3058].Request.Path = "/subscriptions/d2655b8d-af7d-/resourceGroups/c64109c3-6e09-402/providers/Microsoft.ApiManagement/service/83f23fd7-f3/users/dcf1b"; + Requests[3059] = new DefaultHttpContext(); + Requests[3059].RequestServices = CreateServices(); + Requests[3059].Request.Method = "PATCH"; + Requests[3059].Request.Path = "/subscriptions/5ac7c366-b196-/resourceGroups/5dad4c87-0076-4d6/providers/Microsoft.ApiManagement/service/48870894-84/users/ae4d5"; + Requests[3060] = new DefaultHttpContext(); + Requests[3060].RequestServices = CreateServices(); + Requests[3060].Request.Method = "HEAD"; + Requests[3060].Request.Path = "/subscriptions/02b665f4-043f-/resourceGroups/ac4f4432-9318-46d/providers/Microsoft.ApiManagement/service/a5e00d7d-4f/users/796ef"; + Requests[3061] = new DefaultHttpContext(); + Requests[3061].RequestServices = CreateServices(); + Requests[3061].Request.Method = "GET"; + Requests[3061].Request.Path = "/subscriptions/4c69db2a-6544-/resourceGroups/66f7b926-1af3-40d/providers/Microsoft.ApiManagement/service/7906d1b4-37/users/7ee78"; + Requests[3062] = new DefaultHttpContext(); + Requests[3062].RequestServices = CreateServices(); + Requests[3062].Request.Method = "PUT"; + Requests[3062].Request.Path = "/subscriptions/1fb66107-105e-/resourceGroups/badfa65f-a39e-44d/providers/Microsoft.ApiManagement/service/b97d5a82-e2/users/4a922"; + Requests[3063] = new DefaultHttpContext(); + Requests[3063].RequestServices = CreateServices(); + Requests[3063].Request.Method = "DELETE"; + Requests[3063].Request.Path = "/subscriptions/8c0d13b7-c022-/resourceGroups/57f8946f-ceba-48b/providers/Microsoft.Automation/automationAccounts/fe2fa66e-9fe9-4698-aa/certificates/ed86f1eb-8d2b-4"; + Requests[3064] = new DefaultHttpContext(); + Requests[3064].RequestServices = CreateServices(); + Requests[3064].Request.Method = "GET"; + Requests[3064].Request.Path = "/subscriptions/8152a45d-a250-/resourceGroups/63910a64-cb4b-4a6/providers/Microsoft.Automation/automationAccounts/3ecfedb6-054a-43b5-88/certificates/9bcb4420-8a76-4"; + Requests[3065] = new DefaultHttpContext(); + Requests[3065].RequestServices = CreateServices(); + Requests[3065].Request.Method = "PUT"; + Requests[3065].Request.Path = "/subscriptions/73a5335f-8199-/resourceGroups/301d2518-5376-441/providers/Microsoft.Automation/automationAccounts/a63f6562-a4d8-4364-91/certificates/b2767ea5-7702-4"; + Requests[3066] = new DefaultHttpContext(); + Requests[3066].RequestServices = CreateServices(); + Requests[3066].Request.Method = "PATCH"; + Requests[3066].Request.Path = "/subscriptions/02d8cd9f-24f0-/resourceGroups/da387c13-f6de-4ed/providers/Microsoft.Automation/automationAccounts/ab0fa6dc-15f6-42d3-8b/certificates/f2a4b410-f1ac-4"; + Requests[3067] = new DefaultHttpContext(); + Requests[3067].RequestServices = CreateServices(); + Requests[3067].Request.Method = "PUT"; + Requests[3067].Request.Path = "/subscriptions/68e89e34-fb45-/resourceGroups/172577b8-9e00-415/providers/Microsoft.Automation/automationAccounts/642efcd3-9e3c-4425-8c/compilationjobs/270bd442-1947-45df"; + Requests[3068] = new DefaultHttpContext(); + Requests[3068].RequestServices = CreateServices(); + Requests[3068].Request.Method = "GET"; + Requests[3068].Request.Path = "/subscriptions/c59bfdc0-ebba-/resourceGroups/f1609978-7b69-47f/providers/Microsoft.Automation/automationAccounts/acffc8a2-ab80-4acc-9c/compilationjobs/2c8717b3-0ea1-4d99"; + Requests[3069] = new DefaultHttpContext(); + Requests[3069].RequestServices = CreateServices(); + Requests[3069].Request.Method = "DELETE"; + Requests[3069].Request.Path = "/subscriptions/2cb06ebe-58c5-/resourceGroups/cb8af96c-5981-444/providers/Microsoft.Automation/automationAccounts/b99af91d-ddc9-4320-b0/configurations/5db6a334-ab69-4f6"; + Requests[3070] = new DefaultHttpContext(); + Requests[3070].RequestServices = CreateServices(); + Requests[3070].Request.Method = "GET"; + Requests[3070].Request.Path = "/subscriptions/3b8888e0-8e6f-/resourceGroups/0ed30bcc-e5fa-496/providers/Microsoft.Automation/automationAccounts/4f536c8c-4ad8-4f52-96/configurations/0de0ae69-9d76-4e3"; + Requests[3071] = new DefaultHttpContext(); + Requests[3071].RequestServices = CreateServices(); + Requests[3071].Request.Method = "PUT"; + Requests[3071].Request.Path = "/subscriptions/681f90b4-0f8f-/resourceGroups/8c6108f5-c8ce-4ed/providers/Microsoft.Automation/automationAccounts/aa5e8e6b-f004-45f5-8a/configurations/75ba48a3-41ee-44f"; + Requests[3072] = new DefaultHttpContext(); + Requests[3072].RequestServices = CreateServices(); + Requests[3072].Request.Method = "PATCH"; + Requests[3072].Request.Path = "/subscriptions/d51c0a84-19e2-/resourceGroups/9cb3373b-4b89-4cd/providers/Microsoft.Automation/automationAccounts/1d5eb55b-1162-4e41-8f/configurations/f5a6a3f8-bf32-4a6"; + Requests[3073] = new DefaultHttpContext(); + Requests[3073].RequestServices = CreateServices(); + Requests[3073].Request.Method = "GET"; + Requests[3073].Request.Path = "/subscriptions/8e9c65da-b94c-/resourceGroups/278242b7-b858-4b6/providers/Microsoft.Automation/automationAccounts/4c6dbcb9-bb7e-4407-8f/connections/b37a7756-7679-"; + Requests[3074] = new DefaultHttpContext(); + Requests[3074].RequestServices = CreateServices(); + Requests[3074].Request.Method = "PATCH"; + Requests[3074].Request.Path = "/subscriptions/9cddf19b-ce2e-/resourceGroups/c0e918ac-33fe-4fd/providers/Microsoft.Automation/automationAccounts/d4a7c01f-0e1f-485e-92/connections/9f422a41-8812-"; + Requests[3075] = new DefaultHttpContext(); + Requests[3075].RequestServices = CreateServices(); + Requests[3075].Request.Method = "PUT"; + Requests[3075].Request.Path = "/subscriptions/3640a0ec-ee81-/resourceGroups/6ffc2f76-05af-4bc/providers/Microsoft.Automation/automationAccounts/e0700816-e65c-4b06-a4/connections/5d54bdaf-2f98-"; + Requests[3076] = new DefaultHttpContext(); + Requests[3076].RequestServices = CreateServices(); + Requests[3076].Request.Method = "DELETE"; + Requests[3076].Request.Path = "/subscriptions/f2d986eb-98ef-/resourceGroups/136bcbdf-ff5e-496/providers/Microsoft.Automation/automationAccounts/a9e96bb8-f355-4ee4-ac/connections/bec749aa-4007-"; + Requests[3077] = new DefaultHttpContext(); + Requests[3077].RequestServices = CreateServices(); + Requests[3077].Request.Method = "PUT"; + Requests[3077].Request.Path = "/subscriptions/ef4b1150-8f67-/resourceGroups/a3a1c5a0-85de-467/providers/Microsoft.Automation/automationAccounts/44dc038a-b6df-410b-ab/connectionTypes/b869a637-655c-42b8"; + Requests[3078] = new DefaultHttpContext(); + Requests[3078].RequestServices = CreateServices(); + Requests[3078].Request.Method = "DELETE"; + Requests[3078].Request.Path = "/subscriptions/2830d4b5-43c7-/resourceGroups/1436189b-9622-4a8/providers/Microsoft.Automation/automationAccounts/a6cb4619-b8ff-4dd8-a4/connectionTypes/ab92c304-52a6-457a"; + Requests[3079] = new DefaultHttpContext(); + Requests[3079].RequestServices = CreateServices(); + Requests[3079].Request.Method = "GET"; + Requests[3079].Request.Path = "/subscriptions/52945d57-79af-/resourceGroups/57f823d1-8103-446/providers/Microsoft.Automation/automationAccounts/8937837c-fc70-4391-bf/connectionTypes/b5e631c2-868d-496e"; + Requests[3080] = new DefaultHttpContext(); + Requests[3080].RequestServices = CreateServices(); + Requests[3080].Request.Method = "PATCH"; + Requests[3080].Request.Path = "/subscriptions/17dc841a-be8c-/resourceGroups/04b78a0d-122a-454/providers/Microsoft.Automation/automationAccounts/fda6fe88-1e3b-46eb-94/credentials/37f0b4bf-ed3a-"; + Requests[3081] = new DefaultHttpContext(); + Requests[3081].RequestServices = CreateServices(); + Requests[3081].Request.Method = "GET"; + Requests[3081].Request.Path = "/subscriptions/5db38561-9ed9-/resourceGroups/73c5ac4e-0bcd-4b5/providers/Microsoft.Automation/automationAccounts/03827224-6d02-4eb2-b4/credentials/2fbd5336-d28b-"; + Requests[3082] = new DefaultHttpContext(); + Requests[3082].RequestServices = CreateServices(); + Requests[3082].Request.Method = "DELETE"; + Requests[3082].Request.Path = "/subscriptions/2e6c5512-45a5-/resourceGroups/8a1d85fa-2839-4cc/providers/Microsoft.Automation/automationAccounts/22efd9c6-2727-4ac3-97/credentials/acc194d5-d1fd-"; + Requests[3083] = new DefaultHttpContext(); + Requests[3083].RequestServices = CreateServices(); + Requests[3083].Request.Method = "PUT"; + Requests[3083].Request.Path = "/subscriptions/10108e3c-4785-/resourceGroups/0d83c041-f8ae-4e8/providers/Microsoft.Automation/automationAccounts/27e82ebf-3acd-4b5b-a5/credentials/23b4db2a-c04e-"; + Requests[3084] = new DefaultHttpContext(); + Requests[3084].RequestServices = CreateServices(); + Requests[3084].Request.Method = "PATCH"; + Requests[3084].Request.Path = "/subscriptions/5e93d8d0-5990-/resourceGroups/1eeacc7b-13f7-457/providers/Microsoft.Automation/automationAccounts/71ed6cab-c47f-4158-85/hybridRunbookWorkerGroups/4ee5a92f-d8d6-47b5-a073-c8bb"; + Requests[3085] = new DefaultHttpContext(); + Requests[3085].RequestServices = CreateServices(); + Requests[3085].Request.Method = "GET"; + Requests[3085].Request.Path = "/subscriptions/511fccf2-6fdf-/resourceGroups/a36015fc-d5eb-4e2/providers/Microsoft.Automation/automationAccounts/bd7f0991-d81f-4a22-85/hybridRunbookWorkerGroups/10e96e01-810f-4818-8e6c-5494"; + Requests[3086] = new DefaultHttpContext(); + Requests[3086].RequestServices = CreateServices(); + Requests[3086].Request.Method = "DELETE"; + Requests[3086].Request.Path = "/subscriptions/6bb121be-1e9d-/resourceGroups/454bfbde-9643-44d/providers/Microsoft.Automation/automationAccounts/0fd59c6e-5552-47c0-96/hybridRunbookWorkerGroups/84a96805-e304-4620-a42f-6686"; + Requests[3087] = new DefaultHttpContext(); + Requests[3087].RequestServices = CreateServices(); + Requests[3087].Request.Method = "PUT"; + Requests[3087].Request.Path = "/subscriptions/41e9b8ca-36a5-/resourceGroups/3c8e43f4-7e38-468/providers/Microsoft.Automation/automationAccounts/4814cf86-556a-4d15-af/jobs/1213d"; + Requests[3088] = new DefaultHttpContext(); + Requests[3088].RequestServices = CreateServices(); + Requests[3088].Request.Method = "GET"; + Requests[3088].Request.Path = "/subscriptions/c6704bda-0e46-/resourceGroups/5b7ddbd5-6860-4f1/providers/Microsoft.Automation/automationAccounts/eb5b7646-0f8c-4e2e-8a/jobs/abf5e"; + Requests[3089] = new DefaultHttpContext(); + Requests[3089].RequestServices = CreateServices(); + Requests[3089].Request.Method = "GET"; + Requests[3089].Request.Path = "/subscriptions/2fe2afd1-21ed-/resourceGroups/b0e436e0-017d-411/providers/Microsoft.Automation/automationAccounts/f2896e66-f301-424d-93/jobSchedules/1299bd09-3b1d"; + Requests[3090] = new DefaultHttpContext(); + Requests[3090].RequestServices = CreateServices(); + Requests[3090].Request.Method = "PUT"; + Requests[3090].Request.Path = "/subscriptions/7eed7f20-7fea-/resourceGroups/6631fc2d-23d5-4a4/providers/Microsoft.Automation/automationAccounts/f4c2db95-5518-47d3-a3/jobSchedules/54fc8eec-9b54"; + Requests[3091] = new DefaultHttpContext(); + Requests[3091].RequestServices = CreateServices(); + Requests[3091].Request.Method = "DELETE"; + Requests[3091].Request.Path = "/subscriptions/ec97f276-334a-/resourceGroups/077acbe0-f388-456/providers/Microsoft.Automation/automationAccounts/4a7a4404-5b7f-44a6-a6/jobSchedules/6dcd12c4-a6c2"; + Requests[3092] = new DefaultHttpContext(); + Requests[3092].RequestServices = CreateServices(); + Requests[3092].Request.Method = "GET"; + Requests[3092].Request.Path = "/subscriptions/04df760b-ed88-/resourceGroups/f23b592e-f395-459/providers/Microsoft.Automation/automationAccounts/87043ac9-6085-4758-97/modules/215ed900-4"; + Requests[3093] = new DefaultHttpContext(); + Requests[3093].RequestServices = CreateServices(); + Requests[3093].Request.Method = "PUT"; + Requests[3093].Request.Path = "/subscriptions/dc57c9d8-15f1-/resourceGroups/a26b4081-5618-4fa/providers/Microsoft.Automation/automationAccounts/3e652b9e-75a7-4c91-93/modules/fb4857dc-5"; + Requests[3094] = new DefaultHttpContext(); + Requests[3094].RequestServices = CreateServices(); + Requests[3094].Request.Method = "DELETE"; + Requests[3094].Request.Path = "/subscriptions/cc655fc2-dc05-/resourceGroups/714a77de-22a7-4ec/providers/Microsoft.Automation/automationAccounts/7ea09f67-6aa3-4491-99/modules/3aad3058-f"; + Requests[3095] = new DefaultHttpContext(); + Requests[3095].RequestServices = CreateServices(); + Requests[3095].Request.Method = "PATCH"; + Requests[3095].Request.Path = "/subscriptions/2673d7ca-7a99-/resourceGroups/73d718a5-505b-4dc/providers/Microsoft.Automation/automationAccounts/ef10561e-54d4-4d90-a3/modules/d61bb2f9-5"; + Requests[3096] = new DefaultHttpContext(); + Requests[3096].RequestServices = CreateServices(); + Requests[3096].Request.Method = "GET"; + Requests[3096].Request.Path = "/subscriptions/12d46d7b-8338-/resourceGroups/bb435d9e-7c02-46a/providers/Microsoft.Automation/automationAccounts/ef7e2063-4aae-4995-8c/nodeConfigurations/e71abf42-1bc1-4647-b7"; + Requests[3097] = new DefaultHttpContext(); + Requests[3097].RequestServices = CreateServices(); + Requests[3097].Request.Method = "DELETE"; + Requests[3097].Request.Path = "/subscriptions/956c0d3a-5265-/resourceGroups/4356ab5b-bf1d-46d/providers/Microsoft.Automation/automationAccounts/bbec7674-9d88-4de8-9b/nodeConfigurations/43502ffb-2f57-4e14-84"; + Requests[3098] = new DefaultHttpContext(); + Requests[3098].RequestServices = CreateServices(); + Requests[3098].Request.Method = "PUT"; + Requests[3098].Request.Path = "/subscriptions/c85ff2e1-60b6-/resourceGroups/8b20acac-a692-4e2/providers/Microsoft.Automation/automationAccounts/87ab0df6-4245-478c-88/nodeConfigurations/4006cbae-0af2-4c17-b9"; + Requests[3099] = new DefaultHttpContext(); + Requests[3099].RequestServices = CreateServices(); + Requests[3099].Request.Method = "GET"; + Requests[3099].Request.Path = "/subscriptions/918b34b2-f322-/resourceGroups/27831ba5-0a31-464/providers/Microsoft.Automation/automationAccounts/d2afd480-50f9-4d0f-a9/nodecounts/f6dd0fdc-"; + Requests[3100] = new DefaultHttpContext(); + Requests[3100].RequestServices = CreateServices(); + Requests[3100].Request.Method = "GET"; + Requests[3100].Request.Path = "/subscriptions/1f50a44e-5da9-/resourceGroups/3254252c-8562-4d8/providers/Microsoft.Automation/automationAccounts/61331d79-a3c2-4371-8f/nodes/865083"; + Requests[3101] = new DefaultHttpContext(); + Requests[3101].RequestServices = CreateServices(); + Requests[3101].Request.Method = "DELETE"; + Requests[3101].Request.Path = "/subscriptions/f759d3bd-0cca-/resourceGroups/4af3e660-fb99-4a5/providers/Microsoft.Automation/automationAccounts/6f489ce6-5325-4e95-b1/nodes/3966a3"; + Requests[3102] = new DefaultHttpContext(); + Requests[3102].RequestServices = CreateServices(); + Requests[3102].Request.Method = "PATCH"; + Requests[3102].Request.Path = "/subscriptions/407b70e7-0f10-/resourceGroups/0673cb13-3e62-431/providers/Microsoft.Automation/automationAccounts/386eb18b-b83c-4ccf-85/nodes/449ecb"; + Requests[3103] = new DefaultHttpContext(); + Requests[3103].RequestServices = CreateServices(); + Requests[3103].Request.Method = "GET"; + Requests[3103].Request.Path = "/subscriptions/2e36437c-03cc-/resourceGroups/8934cfd5-d833-477/providers/Microsoft.Automation/automationAccounts/2b6fc51a-6ea6-402b-93/runbooks/0b567141-c5"; + Requests[3104] = new DefaultHttpContext(); + Requests[3104].RequestServices = CreateServices(); + Requests[3104].Request.Method = "PUT"; + Requests[3104].Request.Path = "/subscriptions/e8870771-5980-/resourceGroups/32321226-d569-4f1/providers/Microsoft.Automation/automationAccounts/96044a77-adf7-41b4-be/runbooks/a749d577-c4"; + Requests[3105] = new DefaultHttpContext(); + Requests[3105].RequestServices = CreateServices(); + Requests[3105].Request.Method = "DELETE"; + Requests[3105].Request.Path = "/subscriptions/768220c0-f516-/resourceGroups/0d82757a-214e-422/providers/Microsoft.Automation/automationAccounts/934dd07b-7829-4353-b7/runbooks/d8a2867d-a4"; + Requests[3106] = new DefaultHttpContext(); + Requests[3106].RequestServices = CreateServices(); + Requests[3106].Request.Method = "PATCH"; + Requests[3106].Request.Path = "/subscriptions/e92e3ad5-e481-/resourceGroups/b75cf3c9-9a84-438/providers/Microsoft.Automation/automationAccounts/e1821107-2d99-4cfc-91/runbooks/7542c1b2-c8"; + Requests[3107] = new DefaultHttpContext(); + Requests[3107].RequestServices = CreateServices(); + Requests[3107].Request.Method = "DELETE"; + Requests[3107].Request.Path = "/subscriptions/662c8aaa-c711-/resourceGroups/f4f962fc-1b5c-454/providers/Microsoft.Automation/automationAccounts/3cee5970-1827-43ec-a8/schedules/ce903436-397"; + Requests[3108] = new DefaultHttpContext(); + Requests[3108].RequestServices = CreateServices(); + Requests[3108].Request.Method = "GET"; + Requests[3108].Request.Path = "/subscriptions/5f7ba516-ff6e-/resourceGroups/362ced5e-60c9-4e0/providers/Microsoft.Automation/automationAccounts/37390b6b-ac36-446a-a3/schedules/81db88eb-ed9"; + Requests[3109] = new DefaultHttpContext(); + Requests[3109].RequestServices = CreateServices(); + Requests[3109].Request.Method = "PATCH"; + Requests[3109].Request.Path = "/subscriptions/d5de57d3-7e31-/resourceGroups/ea67ef7c-5448-4ec/providers/Microsoft.Automation/automationAccounts/9c849fbf-798c-4a71-98/schedules/490d4f7d-b55"; + Requests[3110] = new DefaultHttpContext(); + Requests[3110].RequestServices = CreateServices(); + Requests[3110].Request.Method = "PUT"; + Requests[3110].Request.Path = "/subscriptions/672e2a41-36cc-/resourceGroups/7886342b-6483-441/providers/Microsoft.Automation/automationAccounts/bce3f555-db80-48f8-a2/schedules/dec07a3e-5a5"; + Requests[3111] = new DefaultHttpContext(); + Requests[3111].RequestServices = CreateServices(); + Requests[3111].Request.Method = "GET"; + Requests[3111].Request.Path = "/subscriptions/d1c46c03-8e59-/resourceGroups/9066218d-e095-4d9/providers/Microsoft.Automation/automationAccounts/a2d1c680-6b91-4b71-9f/softwareUpdateConfigurationMachineRuns/5e1e04fe-b89a-4de3-9bb2-ddcd3add11c1"; + Requests[3112] = new DefaultHttpContext(); + Requests[3112].RequestServices = CreateServices(); + Requests[3112].Request.Method = "GET"; + Requests[3112].Request.Path = "/subscriptions/b2ff3236-a54d-/resourceGroups/9a35ad8f-b314-400/providers/Microsoft.Automation/automationAccounts/a73381d5-5657-4c70-89/softwareUpdateConfigurationRuns/5feccf4c-4e47-4dca-8f92-a3cd4bfd"; + Requests[3113] = new DefaultHttpContext(); + Requests[3113].RequestServices = CreateServices(); + Requests[3113].Request.Method = "PUT"; + Requests[3113].Request.Path = "/subscriptions/d2576d23-7684-/resourceGroups/9b70d008-4443-49c/providers/Microsoft.Automation/automationAccounts/bf124235-f4ad-429d-85/softwareUpdateConfigurations/0dbcb7a0-5ee1-4396-90ed-7c0c53e"; + Requests[3114] = new DefaultHttpContext(); + Requests[3114].RequestServices = CreateServices(); + Requests[3114].Request.Method = "GET"; + Requests[3114].Request.Path = "/subscriptions/e371d4ed-0407-/resourceGroups/f2ac3219-413e-4a0/providers/Microsoft.Automation/automationAccounts/906fe21a-2b81-45e8-a8/softwareUpdateConfigurations/dc07f766-504b-455e-87ef-2a10e21"; + Requests[3115] = new DefaultHttpContext(); + Requests[3115].RequestServices = CreateServices(); + Requests[3115].Request.Method = "DELETE"; + Requests[3115].Request.Path = "/subscriptions/78008973-60a6-/resourceGroups/8070be3c-6e09-4e7/providers/Microsoft.Automation/automationAccounts/004670d8-e030-41d7-8c/softwareUpdateConfigurations/5b9e8b36-7704-46ec-ae0e-81f2132"; + Requests[3116] = new DefaultHttpContext(); + Requests[3116].RequestServices = CreateServices(); + Requests[3116].Request.Method = "GET"; + Requests[3116].Request.Path = "/subscriptions/68c44ac9-e2cb-/resourceGroups/b52aed6b-a24e-446/providers/Microsoft.Automation/automationAccounts/2b005435-72e8-443d-93/sourceControls/f46e6fdc-80e8-409"; + Requests[3117] = new DefaultHttpContext(); + Requests[3117].RequestServices = CreateServices(); + Requests[3117].Request.Method = "PUT"; + Requests[3117].Request.Path = "/subscriptions/7b7bae8a-86a0-/resourceGroups/42f361e9-deac-490/providers/Microsoft.Automation/automationAccounts/3d645f24-27af-471b-89/sourceControls/3b886788-93ba-451"; + Requests[3118] = new DefaultHttpContext(); + Requests[3118].RequestServices = CreateServices(); + Requests[3118].Request.Method = "DELETE"; + Requests[3118].Request.Path = "/subscriptions/a386974c-6868-/resourceGroups/524a763d-52ea-4f3/providers/Microsoft.Automation/automationAccounts/855a8572-9497-4b40-be/sourceControls/3d9ce267-b655-459"; + Requests[3119] = new DefaultHttpContext(); + Requests[3119].RequestServices = CreateServices(); + Requests[3119].Request.Method = "PATCH"; + Requests[3119].Request.Path = "/subscriptions/3e07c5f7-0df8-/resourceGroups/1a8cae5c-8012-47f/providers/Microsoft.Automation/automationAccounts/80e79926-8e2b-404b-a3/sourceControls/38269635-94a1-429"; + Requests[3120] = new DefaultHttpContext(); + Requests[3120].RequestServices = CreateServices(); + Requests[3120].Request.Method = "PATCH"; + Requests[3120].Request.Path = "/subscriptions/0abcf6e8-b457-/resourceGroups/075e721d-a352-4da/providers/Microsoft.Automation/automationAccounts/383dd9a9-bd1f-4ca3-8d/variables/8c887415-3f0"; + Requests[3121] = new DefaultHttpContext(); + Requests[3121].RequestServices = CreateServices(); + Requests[3121].Request.Method = "GET"; + Requests[3121].Request.Path = "/subscriptions/289a4fde-dc38-/resourceGroups/32cf5c2c-ed3b-4d2/providers/Microsoft.Automation/automationAccounts/0d978534-1ae6-4d96-a0/variables/53fbe406-6ca"; + Requests[3122] = new DefaultHttpContext(); + Requests[3122].RequestServices = CreateServices(); + Requests[3122].Request.Method = "PUT"; + Requests[3122].Request.Path = "/subscriptions/a9bfa23c-7b5a-/resourceGroups/d06b9211-74b8-4a2/providers/Microsoft.Automation/automationAccounts/8c063c48-8084-4df8-83/variables/27474804-1ef"; + Requests[3123] = new DefaultHttpContext(); + Requests[3123].RequestServices = CreateServices(); + Requests[3123].Request.Method = "DELETE"; + Requests[3123].Request.Path = "/subscriptions/56a24df0-8df6-/resourceGroups/cc4b5169-bc8c-450/providers/Microsoft.Automation/automationAccounts/7c012562-768d-41e1-bc/variables/868e2aab-fdf"; + Requests[3124] = new DefaultHttpContext(); + Requests[3124].RequestServices = CreateServices(); + Requests[3124].Request.Method = "DELETE"; + Requests[3124].Request.Path = "/subscriptions/6f637cd0-572b-/resourceGroups/3338dabd-4169-42c/providers/Microsoft.Automation/automationAccounts/67b69c77-f5b3-44f8-ad/watchers/51988d9d-e0"; + Requests[3125] = new DefaultHttpContext(); + Requests[3125].RequestServices = CreateServices(); + Requests[3125].Request.Method = "PATCH"; + Requests[3125].Request.Path = "/subscriptions/4d7b60ee-dc5f-/resourceGroups/b074e6cc-c7a1-4a8/providers/Microsoft.Automation/automationAccounts/bf295cbd-e59f-4469-ac/watchers/14a75a19-a4"; + Requests[3126] = new DefaultHttpContext(); + Requests[3126].RequestServices = CreateServices(); + Requests[3126].Request.Method = "GET"; + Requests[3126].Request.Path = "/subscriptions/5e178611-abff-/resourceGroups/4ae26e45-bead-4c9/providers/Microsoft.Automation/automationAccounts/b430fb95-a3d7-417b-86/watchers/bdf42300-fd"; + Requests[3127] = new DefaultHttpContext(); + Requests[3127].RequestServices = CreateServices(); + Requests[3127].Request.Method = "PUT"; + Requests[3127].Request.Path = "/subscriptions/c3bef65b-b8dd-/resourceGroups/53f40dab-c574-402/providers/Microsoft.Automation/automationAccounts/4a1d8ee6-15d8-43e4-96/watchers/0e006427-9c"; + Requests[3128] = new DefaultHttpContext(); + Requests[3128].RequestServices = CreateServices(); + Requests[3128].Request.Method = "PUT"; + Requests[3128].Request.Path = "/subscriptions/24b3b49b-2ff6-/resourceGroups/948e4c2e-e339-422/providers/Microsoft.Automation/automationAccounts/a73c7828-bff6-46cf-ae/webhooks/5de7698b-a4"; + Requests[3129] = new DefaultHttpContext(); + Requests[3129].RequestServices = CreateServices(); + Requests[3129].Request.Method = "GET"; + Requests[3129].Request.Path = "/subscriptions/2bb733b9-1757-/resourceGroups/b04469d0-99fa-46f/providers/Microsoft.Automation/automationAccounts/ed6f8963-eee8-47f9-b0/webhooks/552a63bb-2d"; + Requests[3130] = new DefaultHttpContext(); + Requests[3130].RequestServices = CreateServices(); + Requests[3130].Request.Method = "PATCH"; + Requests[3130].Request.Path = "/subscriptions/51d79b46-ebfb-/resourceGroups/5d16214e-dc82-46a/providers/Microsoft.Automation/automationAccounts/efd88a57-e14f-494d-85/webhooks/821938d5-07"; + Requests[3131] = new DefaultHttpContext(); + Requests[3131].RequestServices = CreateServices(); + Requests[3131].Request.Method = "DELETE"; + Requests[3131].Request.Path = "/subscriptions/1795ab1e-8ce3-/resourceGroups/1bbc24f7-baeb-452/providers/Microsoft.Automation/automationAccounts/430b675e-2ad6-4366-84/webhooks/6bf54bd8-ff"; + Requests[3132] = new DefaultHttpContext(); + Requests[3132].RequestServices = CreateServices(); + Requests[3132].Request.Method = "GET"; + Requests[3132].Request.Path = "/subscriptions/0c702b30-1260-/resourcegroups/b47820a3-dd7e-498/providers/Microsoft.Backup.Admin/backupLocations/5928b4e9/backups/407a9c"; + Requests[3133] = new DefaultHttpContext(); + Requests[3133].RequestServices = CreateServices(); + Requests[3133].Request.Method = "PATCH"; + Requests[3133].Request.Path = "/subscriptions/182c3197-5f8a-/resourceGroups/44d4f7cb-7f8b-43b/providers/Microsoft.Batch/batchAccounts/3ce6b72c-17/applications/0c7e9027-6837"; + Requests[3134] = new DefaultHttpContext(); + Requests[3134].RequestServices = CreateServices(); + Requests[3134].Request.Method = "GET"; + Requests[3134].Request.Path = "/subscriptions/94021efb-5700-/resourceGroups/cf0c8e66-61eb-417/providers/Microsoft.Batch/batchAccounts/10c0ece2-a3/applications/c0202748-668e"; + Requests[3135] = new DefaultHttpContext(); + Requests[3135].RequestServices = CreateServices(); + Requests[3135].Request.Method = "DELETE"; + Requests[3135].Request.Path = "/subscriptions/337b6e82-f2ab-/resourceGroups/408a2b37-1654-45d/providers/Microsoft.Batch/batchAccounts/e6465821-49/applications/9f9876e4-0530"; + Requests[3136] = new DefaultHttpContext(); + Requests[3136].RequestServices = CreateServices(); + Requests[3136].Request.Method = "PUT"; + Requests[3136].Request.Path = "/subscriptions/00bd06d4-2397-/resourceGroups/befe7653-79be-49b/providers/Microsoft.Batch/batchAccounts/37fcb2f1-84/applications/b74d56f5-fae8"; + Requests[3137] = new DefaultHttpContext(); + Requests[3137].RequestServices = CreateServices(); + Requests[3137].Request.Method = "PATCH"; + Requests[3137].Request.Path = "/subscriptions/5544659b-7bdd-/resourceGroups/66002cc3-632d-4df/providers/Microsoft.Batch/batchAccounts/8857ce97-57/certificates/ed6e3129-a553-4"; + Requests[3138] = new DefaultHttpContext(); + Requests[3138].RequestServices = CreateServices(); + Requests[3138].Request.Method = "GET"; + Requests[3138].Request.Path = "/subscriptions/5ec64fcc-8707-/resourceGroups/e2a01c92-cb99-41b/providers/Microsoft.Batch/batchAccounts/5d34bd8d-ed/certificates/8f3b3767-1381-4"; + Requests[3139] = new DefaultHttpContext(); + Requests[3139].RequestServices = CreateServices(); + Requests[3139].Request.Method = "DELETE"; + Requests[3139].Request.Path = "/subscriptions/b599e7f4-52e4-/resourceGroups/7bfce9e0-f565-481/providers/Microsoft.Batch/batchAccounts/66a2a687-a9/certificates/54962a39-6720-4"; + Requests[3140] = new DefaultHttpContext(); + Requests[3140].RequestServices = CreateServices(); + Requests[3140].Request.Method = "PUT"; + Requests[3140].Request.Path = "/subscriptions/9518a45c-1d83-/resourceGroups/5d02fde2-c8f0-475/providers/Microsoft.Batch/batchAccounts/aa08d062-d5/certificates/5255853e-d755-4"; + Requests[3141] = new DefaultHttpContext(); + Requests[3141].RequestServices = CreateServices(); + Requests[3141].Request.Method = "GET"; + Requests[3141].Request.Path = "/subscriptions/19a52de0-ccda-/resourceGroups/6e3ea7c2-240b-4b5/providers/Microsoft.Batch/batchAccounts/a0b51cef-59/pools/56708831"; + Requests[3142] = new DefaultHttpContext(); + Requests[3142].RequestServices = CreateServices(); + Requests[3142].Request.Method = "PATCH"; + Requests[3142].Request.Path = "/subscriptions/d0fe75be-e804-/resourceGroups/a6ae43ab-d210-4c9/providers/Microsoft.Batch/batchAccounts/41032ccf-f3/pools/2f23003d"; + Requests[3143] = new DefaultHttpContext(); + Requests[3143].RequestServices = CreateServices(); + Requests[3143].Request.Method = "PUT"; + Requests[3143].Request.Path = "/subscriptions/ca128058-5c82-/resourceGroups/2e227078-6c63-4be/providers/Microsoft.Batch/batchAccounts/da66edfd-14/pools/2b5ba1c6"; + Requests[3144] = new DefaultHttpContext(); + Requests[3144].RequestServices = CreateServices(); + Requests[3144].Request.Method = "DELETE"; + Requests[3144].Request.Path = "/subscriptions/49ba0e2a-44c0-/resourceGroups/8cdaf807-9b83-488/providers/Microsoft.Batch/batchAccounts/e2ff9288-c6/pools/dacbad26"; + Requests[3145] = new DefaultHttpContext(); + Requests[3145].RequestServices = CreateServices(); + Requests[3145].Request.Method = "PUT"; + Requests[3145].Request.Path = "/subscriptions/f392b1b6-9634-/resourceGroups/9ae9abbc-21fc-445/providers/Microsoft.BatchAI/workspaces/84244b11-d893/clusters/826d2724-8b"; + Requests[3146] = new DefaultHttpContext(); + Requests[3146].RequestServices = CreateServices(); + Requests[3146].Request.Method = "PATCH"; + Requests[3146].Request.Path = "/subscriptions/c0e1d9a8-798e-/resourceGroups/9d4f9e4a-3872-455/providers/Microsoft.BatchAI/workspaces/fc41be3f-aa03/clusters/4fef7be1-e2"; + Requests[3147] = new DefaultHttpContext(); + Requests[3147].RequestServices = CreateServices(); + Requests[3147].Request.Method = "GET"; + Requests[3147].Request.Path = "/subscriptions/0e518bda-21a0-/resourceGroups/6e8c8094-c8d2-436/providers/Microsoft.BatchAI/workspaces/e8dc0e88-3452/clusters/9dc0efe9-3d"; + Requests[3148] = new DefaultHttpContext(); + Requests[3148].RequestServices = CreateServices(); + Requests[3148].Request.Method = "DELETE"; + Requests[3148].Request.Path = "/subscriptions/905e244e-3b85-/resourceGroups/4ce38365-5ecb-457/providers/Microsoft.BatchAI/workspaces/82ffdc24-24d3/clusters/344de303-3a"; + Requests[3149] = new DefaultHttpContext(); + Requests[3149].RequestServices = CreateServices(); + Requests[3149].Request.Method = "GET"; + Requests[3149].Request.Path = "/subscriptions/aa1a09f4-4b5d-/resourceGroups/27f7d1cb-4c98-4f3/providers/Microsoft.BatchAI/workspaces/c4479347-5f53/experiments/a54f8402-90a0-"; + Requests[3150] = new DefaultHttpContext(); + Requests[3150].RequestServices = CreateServices(); + Requests[3150].Request.Method = "DELETE"; + Requests[3150].Request.Path = "/subscriptions/c9b6fece-b87d-/resourceGroups/b6955b0e-ece6-439/providers/Microsoft.BatchAI/workspaces/5dd5949b-683f/experiments/32c82ae9-bf1a-"; + Requests[3151] = new DefaultHttpContext(); + Requests[3151].RequestServices = CreateServices(); + Requests[3151].Request.Method = "PUT"; + Requests[3151].Request.Path = "/subscriptions/7f4254ed-5f9e-/resourceGroups/29b26f38-2267-493/providers/Microsoft.BatchAI/workspaces/592378ae-7ba0/experiments/f272df06-6350-"; + Requests[3152] = new DefaultHttpContext(); + Requests[3152].RequestServices = CreateServices(); + Requests[3152].Request.Method = "PUT"; + Requests[3152].Request.Path = "/subscriptions/b43349f3-c1f0-/resourceGroups/ed7ea0f7-2658-435/providers/Microsoft.BatchAI/workspaces/6255a4a0-c12a/fileServers/45032f20-960d-"; + Requests[3153] = new DefaultHttpContext(); + Requests[3153].RequestServices = CreateServices(); + Requests[3153].Request.Method = "GET"; + Requests[3153].Request.Path = "/subscriptions/7ba9320e-7901-/resourceGroups/68824242-f406-4e9/providers/Microsoft.BatchAI/workspaces/a9445a32-4d58/fileServers/ed3b6f6c-475e-"; + Requests[3154] = new DefaultHttpContext(); + Requests[3154].RequestServices = CreateServices(); + Requests[3154].Request.Method = "DELETE"; + Requests[3154].Request.Path = "/subscriptions/43143722-cc6f-/resourceGroups/79d8c8c6-e645-405/providers/Microsoft.BatchAI/workspaces/ee157c8b-1f88/fileServers/11654561-88a0-"; + Requests[3155] = new DefaultHttpContext(); + Requests[3155].RequestServices = CreateServices(); + Requests[3155].Request.Method = "GET"; + Requests[3155].Request.Path = "/subscriptions/eda11e7a-95e0-/resourceGroups/805de5cb-29cc-406/providers/Microsoft.BotService/botServices/4bde8877-62f/channels/9c2cddaa-2d"; + Requests[3156] = new DefaultHttpContext(); + Requests[3156].RequestServices = CreateServices(); + Requests[3156].Request.Method = "DELETE"; + Requests[3156].Request.Path = "/subscriptions/243a78b9-0529-/resourceGroups/48f7ad1b-01c3-48e/providers/Microsoft.BotService/botServices/76973058-261/channels/f273de4a-10"; + Requests[3157] = new DefaultHttpContext(); + Requests[3157].RequestServices = CreateServices(); + Requests[3157].Request.Method = "PUT"; + Requests[3157].Request.Path = "/subscriptions/e4ba7b2c-9232-/resourceGroups/413c4f28-1c9a-491/providers/Microsoft.BotService/botServices/3bb4dccf-735/channels/1d736b2e-47"; + Requests[3158] = new DefaultHttpContext(); + Requests[3158].RequestServices = CreateServices(); + Requests[3158].Request.Method = "PATCH"; + Requests[3158].Request.Path = "/subscriptions/0b9abf05-d88b-/resourceGroups/c37b5020-88d0-4b3/providers/Microsoft.BotService/botServices/faaef165-eb2/channels/81b8cf74-b8"; + Requests[3159] = new DefaultHttpContext(); + Requests[3159].RequestServices = CreateServices(); + Requests[3159].Request.Method = "PUT"; + Requests[3159].Request.Path = "/subscriptions/0db78f26-17ea-/resourceGroups/23ea66a1-6b8f-4c0/providers/Microsoft.BotService/botServices/ebd13dd2-571/Connections/57a8ab0b-31bc-"; + Requests[3160] = new DefaultHttpContext(); + Requests[3160].RequestServices = CreateServices(); + Requests[3160].Request.Method = "GET"; + Requests[3160].Request.Path = "/subscriptions/86aeacf9-16ed-/resourceGroups/4fcacb02-ed03-425/providers/Microsoft.BotService/botServices/f258b910-35e/Connections/8ec527de-393e-"; + Requests[3161] = new DefaultHttpContext(); + Requests[3161].RequestServices = CreateServices(); + Requests[3161].Request.Method = "PATCH"; + Requests[3161].Request.Path = "/subscriptions/52ddb069-05a4-/resourceGroups/021c776f-6d5a-4fc/providers/Microsoft.BotService/botServices/a9ee7c78-3d7/Connections/7604286a-7504-"; + Requests[3162] = new DefaultHttpContext(); + Requests[3162].RequestServices = CreateServices(); + Requests[3162].Request.Method = "DELETE"; + Requests[3162].Request.Path = "/subscriptions/8d30d9de-bf51-/resourceGroups/45678a68-342f-492/providers/Microsoft.BotService/botServices/a7ffce5c-13d/Connections/18fff1d8-24b4-"; + Requests[3163] = new DefaultHttpContext(); + Requests[3163].RequestServices = CreateServices(); + Requests[3163].Request.Method = "GET"; + Requests[3163].Request.Path = "/subscriptions/73d1bdf2-32c1-/resourceGroups/fea486d7-9f82-4cc/providers/Microsoft.Cache/Redis/248a931d-/firewallRules/80557267"; + Requests[3164] = new DefaultHttpContext(); + Requests[3164].RequestServices = CreateServices(); + Requests[3164].Request.Method = "PUT"; + Requests[3164].Request.Path = "/subscriptions/cc8bfdcd-a31d-/resourceGroups/2967fa1e-0b5f-455/providers/Microsoft.Cache/Redis/7fe8a5a2-/firewallRules/35d67bfa"; + Requests[3165] = new DefaultHttpContext(); + Requests[3165].RequestServices = CreateServices(); + Requests[3165].Request.Method = "DELETE"; + Requests[3165].Request.Path = "/subscriptions/a5a823ba-8b94-/resourceGroups/c72989fd-9ad4-452/providers/Microsoft.Cache/Redis/07c99c61-/firewallRules/2e90d015"; + Requests[3166] = new DefaultHttpContext(); + Requests[3166].RequestServices = CreateServices(); + Requests[3166].Request.Method = "PUT"; + Requests[3166].Request.Path = "/subscriptions/fb978744-9160-/resourceGroups/e81bc747-3fb2-472/providers/Microsoft.Cache/Redis/6901f/linkedServers/e878e1d9-f53a-48"; + Requests[3167] = new DefaultHttpContext(); + Requests[3167].RequestServices = CreateServices(); + Requests[3167].Request.Method = "GET"; + Requests[3167].Request.Path = "/subscriptions/1ff36b06-da5d-/resourceGroups/96267d27-ad51-4a0/providers/Microsoft.Cache/Redis/bebe7/linkedServers/f4befbe3-673f-4f"; + Requests[3168] = new DefaultHttpContext(); + Requests[3168].RequestServices = CreateServices(); + Requests[3168].Request.Method = "DELETE"; + Requests[3168].Request.Path = "/subscriptions/8b5a80c8-a8d3-/resourceGroups/6ff1ed1d-dcc6-426/providers/Microsoft.Cache/Redis/fc350/linkedServers/dea73de3-44bf-4a"; + Requests[3169] = new DefaultHttpContext(); + Requests[3169].RequestServices = CreateServices(); + Requests[3169].Request.Method = "GET"; + Requests[3169].Request.Path = "/subscriptions/0802c7ac-9be7-/resourceGroups/e41edd80-d0da-451/providers/Microsoft.Cache/Redis/13ccb/patchSchedules/88196c0"; + Requests[3170] = new DefaultHttpContext(); + Requests[3170].RequestServices = CreateServices(); + Requests[3170].Request.Method = "DELETE"; + Requests[3170].Request.Path = "/subscriptions/b56dfb0b-bbd8-/resourceGroups/5b05d06c-f4a8-444/providers/Microsoft.Cache/Redis/729f4/patchSchedules/ee31f71"; + Requests[3171] = new DefaultHttpContext(); + Requests[3171].RequestServices = CreateServices(); + Requests[3171].Request.Method = "PUT"; + Requests[3171].Request.Path = "/subscriptions/805fd567-9821-/resourceGroups/9f27ae7c-7990-4e9/providers/Microsoft.Cache/Redis/b3e2c/patchSchedules/7e3bed9"; + Requests[3172] = new DefaultHttpContext(); + Requests[3172].RequestServices = CreateServices(); + Requests[3172].Request.Method = "GET"; + Requests[3172].Request.Path = "/subscriptions/9d1b1886-5bfd-/resourceGroups/e3944ac4-fc08-44d/providers/Microsoft.Cdn/profiles/cf3bda2f-7c/endpoints/404331ce-ca1"; + Requests[3173] = new DefaultHttpContext(); + Requests[3173].RequestServices = CreateServices(); + Requests[3173].Request.Method = "PUT"; + Requests[3173].Request.Path = "/subscriptions/29fcce9b-2483-/resourceGroups/3432ae26-a940-440/providers/Microsoft.Cdn/profiles/a7464ecf-c0/endpoints/d29895cd-767"; + Requests[3174] = new DefaultHttpContext(); + Requests[3174].RequestServices = CreateServices(); + Requests[3174].Request.Method = "DELETE"; + Requests[3174].Request.Path = "/subscriptions/cd7130e0-85ac-/resourceGroups/c82e9c6f-69cb-4cc/providers/Microsoft.Cdn/profiles/423d8826-16/endpoints/55bdb275-bb0"; + Requests[3175] = new DefaultHttpContext(); + Requests[3175].RequestServices = CreateServices(); + Requests[3175].Request.Method = "PATCH"; + Requests[3175].Request.Path = "/subscriptions/3f861e80-00f8-/resourceGroups/238285e4-a969-4da/providers/Microsoft.Cdn/profiles/7939794f-3f/endpoints/3caaf38a-e19"; + Requests[3176] = new DefaultHttpContext(); + Requests[3176].RequestServices = CreateServices(); + Requests[3176].Request.Method = "GET"; + Requests[3176].Request.Path = "/subscriptions/21cc8918-2658-/resourceGroups/d0a21376-3eca-40c/providers/Microsoft.CertificateRegistration/certificateOrders/44ef59ab-6775-4163-b/certificates/c9b35"; + Requests[3177] = new DefaultHttpContext(); + Requests[3177].RequestServices = CreateServices(); + Requests[3177].Request.Method = "PUT"; + Requests[3177].Request.Path = "/subscriptions/c9e3777a-5151-/resourceGroups/8aff917b-4f51-483/providers/Microsoft.CertificateRegistration/certificateOrders/19f8c14e-bbb4-45b9-a/certificates/89d3c"; + Requests[3178] = new DefaultHttpContext(); + Requests[3178].RequestServices = CreateServices(); + Requests[3178].Request.Method = "DELETE"; + Requests[3178].Request.Path = "/subscriptions/76f19a38-734b-/resourceGroups/d0558ce3-13b6-407/providers/Microsoft.CertificateRegistration/certificateOrders/3aa9b1e0-3996-4dab-8/certificates/6472a"; + Requests[3179] = new DefaultHttpContext(); + Requests[3179].RequestServices = CreateServices(); + Requests[3179].Request.Method = "PATCH"; + Requests[3179].Request.Path = "/subscriptions/af37a1eb-775c-/resourceGroups/da9e4ca5-a08d-4ad/providers/Microsoft.CertificateRegistration/certificateOrders/64621ba0-55a0-4ade-9/certificates/1cdce"; + Requests[3180] = new DefaultHttpContext(); + Requests[3180].RequestServices = CreateServices(); + Requests[3180].Request.Method = "GET"; + Requests[3180].Request.Path = "/subscriptions/7a7e016e-2ca9-/resourceGroups/220c48b6-2e2c-4ec/providers/Microsoft.Compute/galleries/8f14e667-c2/images/bfed7932-bf5a-43"; + Requests[3181] = new DefaultHttpContext(); + Requests[3181].RequestServices = CreateServices(); + Requests[3181].Request.Method = "DELETE"; + Requests[3181].Request.Path = "/subscriptions/be1b9912-5a07-/resourceGroups/88e2e9e6-e802-473/providers/Microsoft.Compute/galleries/26a8513c-ef/images/d289b0d7-31c0-40"; + Requests[3182] = new DefaultHttpContext(); + Requests[3182].RequestServices = CreateServices(); + Requests[3182].Request.Method = "PUT"; + Requests[3182].Request.Path = "/subscriptions/fbb0cafe-b0d3-/resourceGroups/3ba30256-094b-4f4/providers/Microsoft.Compute/galleries/6f840928-d2/images/4e2ddbab-0eb6-4c"; + Requests[3183] = new DefaultHttpContext(); + Requests[3183].RequestServices = CreateServices(); + Requests[3183].Request.Method = "PUT"; + Requests[3183].Request.Path = "/subscriptions/03764a14-f598-/resourceGroups/3d976650-872a-481/providers/Microsoft.Compute/virtualMachines/ad40f6/extensions/a0fb6c66-9da4-4"; + Requests[3184] = new DefaultHttpContext(); + Requests[3184].RequestServices = CreateServices(); + Requests[3184].Request.Method = "PATCH"; + Requests[3184].Request.Path = "/subscriptions/efb69047-ec3e-/resourceGroups/b62a7d47-28a4-471/providers/Microsoft.Compute/virtualMachines/0bc0ee/extensions/2a4f2a1f-58b8-4"; + Requests[3185] = new DefaultHttpContext(); + Requests[3185].RequestServices = CreateServices(); + Requests[3185].Request.Method = "DELETE"; + Requests[3185].Request.Path = "/subscriptions/6037bbb6-ee61-/resourceGroups/10aa935a-2486-45a/providers/Microsoft.Compute/virtualMachines/e178c7/extensions/de0611bf-6edf-4"; + Requests[3186] = new DefaultHttpContext(); + Requests[3186].RequestServices = CreateServices(); + Requests[3186].Request.Method = "GET"; + Requests[3186].Request.Path = "/subscriptions/f048d009-6370-/resourceGroups/016834f2-f8b6-447/providers/Microsoft.Compute/virtualMachines/0ed5e7/extensions/9fe89f46-f96e-4"; + Requests[3187] = new DefaultHttpContext(); + Requests[3187].RequestServices = CreateServices(); + Requests[3187].Request.Method = "PUT"; + Requests[3187].Request.Path = "/subscriptions/93dd4c67-0b2b-/resourceGroups/a19f2a7d-78fe-4cf/providers/Microsoft.Compute/virtualMachineScaleSets/e1cfc243-4074-/extensions/28548944-7cee-4f7"; + Requests[3188] = new DefaultHttpContext(); + Requests[3188].RequestServices = CreateServices(); + Requests[3188].Request.Method = "DELETE"; + Requests[3188].Request.Path = "/subscriptions/8d8cea01-5a2d-/resourceGroups/06539fbf-0b5e-43d/providers/Microsoft.Compute/virtualMachineScaleSets/680bd233-18ad-/extensions/bfcf6af6-28af-405"; + Requests[3189] = new DefaultHttpContext(); + Requests[3189].RequestServices = CreateServices(); + Requests[3189].Request.Method = "GET"; + Requests[3189].Request.Path = "/subscriptions/9890acd7-c7ce-/resourceGroups/074f366d-a539-4aa/providers/Microsoft.Compute/virtualMachineScaleSets/8b668b56-bac7-/extensions/56116377-0a7b-44d"; + Requests[3190] = new DefaultHttpContext(); + Requests[3190].RequestServices = CreateServices(); + Requests[3190].Request.Method = "PUT"; + Requests[3190].Request.Path = "/subscriptions/344d3bcb-f300-/resourceGroups/2da790d8-2459-4d4/providers/Microsoft.Compute/virtualMachineScaleSets/9ef151d7-edbe-/virtualmachines/12d5960f-f"; + Requests[3191] = new DefaultHttpContext(); + Requests[3191].RequestServices = CreateServices(); + Requests[3191].Request.Method = "DELETE"; + Requests[3191].Request.Path = "/subscriptions/7ea2fe40-5aa0-/resourceGroups/22bf9cb1-ba50-4d0/providers/Microsoft.Compute/virtualMachineScaleSets/d340721d-9935-/virtualmachines/e77a378e-e"; + Requests[3192] = new DefaultHttpContext(); + Requests[3192].RequestServices = CreateServices(); + Requests[3192].Request.Method = "GET"; + Requests[3192].Request.Path = "/subscriptions/960b73d8-015e-/resourceGroups/a6420a43-dd82-436/providers/Microsoft.Compute/virtualMachineScaleSets/a20ab165-71e5-/virtualmachines/a63c4c71-e"; + Requests[3193] = new DefaultHttpContext(); + Requests[3193].RequestServices = CreateServices(); + Requests[3193].Request.Method = "PATCH"; + Requests[3193].Request.Path = "/subscriptions/a7226e52-1496-/resourceGroups/62c19e4e-d7cc-4cd/providers/Microsoft.ContainerRegistry/registries/1eab03ae-1de/builds/59fd372"; + Requests[3194] = new DefaultHttpContext(); + Requests[3194].RequestServices = CreateServices(); + Requests[3194].Request.Method = "GET"; + Requests[3194].Request.Path = "/subscriptions/fa853918-1f88-/resourceGroups/146a4e32-fa2d-4e7/providers/Microsoft.ContainerRegistry/registries/f6b9ec62-dea/builds/044a97f"; + Requests[3195] = new DefaultHttpContext(); + Requests[3195].RequestServices = CreateServices(); + Requests[3195].Request.Method = "PATCH"; + Requests[3195].Request.Path = "/subscriptions/3d6b22a2-21b8-/resourceGroups/48a21572-c8fd-4c6/providers/Microsoft.ContainerRegistry/registries/c3d86f2a-007/buildTasks/c1398489-9f81"; + Requests[3196] = new DefaultHttpContext(); + Requests[3196].RequestServices = CreateServices(); + Requests[3196].Request.Method = "DELETE"; + Requests[3196].Request.Path = "/subscriptions/aa1f275f-9074-/resourceGroups/013c3c94-4fd7-44f/providers/Microsoft.ContainerRegistry/registries/9441fa12-c1a/buildTasks/2f6cd4bc-c679"; + Requests[3197] = new DefaultHttpContext(); + Requests[3197].RequestServices = CreateServices(); + Requests[3197].Request.Method = "PUT"; + Requests[3197].Request.Path = "/subscriptions/24b15599-f6f1-/resourceGroups/14f1a660-9694-4c7/providers/Microsoft.ContainerRegistry/registries/218196a7-9a2/buildTasks/a87740db-ca40"; + Requests[3198] = new DefaultHttpContext(); + Requests[3198].RequestServices = CreateServices(); + Requests[3198].Request.Method = "GET"; + Requests[3198].Request.Path = "/subscriptions/2b28d619-c50b-/resourceGroups/88858008-4ad3-42d/providers/Microsoft.ContainerRegistry/registries/c79b97ed-d5d/buildTasks/3c526cd6-35d2"; + Requests[3199] = new DefaultHttpContext(); + Requests[3199].RequestServices = CreateServices(); + Requests[3199].Request.Method = "PATCH"; + Requests[3199].Request.Path = "/subscriptions/6ae0ee7f-16ea-/resourceGroups/63790ba6-9e68-40a/providers/Microsoft.ContainerRegistry/registries/922a1cee-095/replications/1d2594e1-35b7-4"; + Requests[3200] = new DefaultHttpContext(); + Requests[3200].RequestServices = CreateServices(); + Requests[3200].Request.Method = "PUT"; + Requests[3200].Request.Path = "/subscriptions/541e1e43-5b2a-/resourceGroups/e32a98a6-0176-480/providers/Microsoft.ContainerRegistry/registries/9ce1ee99-cc3/replications/5ade2877-739d-4"; + Requests[3201] = new DefaultHttpContext(); + Requests[3201].RequestServices = CreateServices(); + Requests[3201].Request.Method = "GET"; + Requests[3201].Request.Path = "/subscriptions/1d56b556-520d-/resourceGroups/f5fdc819-8b3a-490/providers/Microsoft.ContainerRegistry/registries/77a7795b-833/replications/118a018f-d7c8-4"; + Requests[3202] = new DefaultHttpContext(); + Requests[3202].RequestServices = CreateServices(); + Requests[3202].Request.Method = "DELETE"; + Requests[3202].Request.Path = "/subscriptions/535b89b6-c1f8-/resourceGroups/9acc2c99-1e0c-4e6/providers/Microsoft.ContainerRegistry/registries/72531f5e-b7a/replications/cb066bad-d63a-4"; + Requests[3203] = new DefaultHttpContext(); + Requests[3203].RequestServices = CreateServices(); + Requests[3203].Request.Method = "DELETE"; + Requests[3203].Request.Path = "/subscriptions/8c05b9ee-4ebb-/resourceGroups/f2e8064b-8b27-460/providers/Microsoft.ContainerRegistry/registries/9aa2356f-677/webhooks/651fefbf-72"; + Requests[3204] = new DefaultHttpContext(); + Requests[3204].RequestServices = CreateServices(); + Requests[3204].Request.Method = "GET"; + Requests[3204].Request.Path = "/subscriptions/bb5b6596-2e2a-/resourceGroups/6c110b04-98bb-42a/providers/Microsoft.ContainerRegistry/registries/ddd21abb-8b5/webhooks/3fa2af58-31"; + Requests[3205] = new DefaultHttpContext(); + Requests[3205].RequestServices = CreateServices(); + Requests[3205].Request.Method = "PUT"; + Requests[3205].Request.Path = "/subscriptions/2475aeca-b7f7-/resourceGroups/2271a31f-5858-437/providers/Microsoft.ContainerRegistry/registries/cca650e6-85e/webhooks/786530eb-8d"; + Requests[3206] = new DefaultHttpContext(); + Requests[3206].RequestServices = CreateServices(); + Requests[3206].Request.Method = "PATCH"; + Requests[3206].Request.Path = "/subscriptions/df589778-fc29-/resourceGroups/511a327b-f762-43c/providers/Microsoft.ContainerRegistry/registries/610415ad-547/webhooks/21075409-81"; + Requests[3207] = new DefaultHttpContext(); + Requests[3207].RequestServices = CreateServices(); + Requests[3207].Request.Method = "GET"; + Requests[3207].Request.Path = "/subscriptions/ae750838-d373-/resourceGroups/6fe264da-90d5-490/providers/Microsoft.ContainerService/managedClusters/6abf4cf1-28d/accessProfiles/26566545"; + Requests[3208] = new DefaultHttpContext(); + Requests[3208].RequestServices = CreateServices(); + Requests[3208].Request.Method = "PUT"; + Requests[3208].Request.Path = "/subscriptions/43285b2f-230c-/resourceGroups/2ce432d2-0cb8-410/providers/Microsoft.CustomerInsights/hubs/a19e032/authorizationPolicies/6e12fe51-bfe0-4f6c-ba32"; + Requests[3209] = new DefaultHttpContext(); + Requests[3209].RequestServices = CreateServices(); + Requests[3209].Request.Method = "GET"; + Requests[3209].Request.Path = "/subscriptions/ed3ce779-825b-/resourceGroups/acaaf706-a8a4-4c7/providers/Microsoft.CustomerInsights/hubs/27f0f6e/authorizationPolicies/ac32438a-bec4-4940-99d3"; + Requests[3210] = new DefaultHttpContext(); + Requests[3210].RequestServices = CreateServices(); + Requests[3210].Request.Method = "DELETE"; + Requests[3210].Request.Path = "/subscriptions/f502b6c0-895a-/resourceGroups/86a1f060-73ba-4b4/providers/Microsoft.CustomerInsights/hubs/5ef0e47/connectors/ccbf5713-09d6"; + Requests[3211] = new DefaultHttpContext(); + Requests[3211].RequestServices = CreateServices(); + Requests[3211].Request.Method = "PUT"; + Requests[3211].Request.Path = "/subscriptions/a09d51d9-ed7a-/resourceGroups/1c9633ad-a6cc-429/providers/Microsoft.CustomerInsights/hubs/692d779/connectors/3505aee4-0501"; + Requests[3212] = new DefaultHttpContext(); + Requests[3212].RequestServices = CreateServices(); + Requests[3212].Request.Method = "GET"; + Requests[3212].Request.Path = "/subscriptions/728d0b48-94cd-/resourceGroups/d7bfb1be-af3e-468/providers/Microsoft.CustomerInsights/hubs/c2db8a6/connectors/6229c841-dbd6"; + Requests[3213] = new DefaultHttpContext(); + Requests[3213].RequestServices = CreateServices(); + Requests[3213].Request.Method = "PUT"; + Requests[3213].Request.Path = "/subscriptions/0d37588c-ab25-/resourceGroups/9fad3206-20df-4ee/providers/Microsoft.CustomerInsights/hubs/c5488c1/interactions/9cdab60e-96b5-4"; + Requests[3214] = new DefaultHttpContext(); + Requests[3214].RequestServices = CreateServices(); + Requests[3214].Request.Method = "GET"; + Requests[3214].Request.Path = "/subscriptions/631ab1c9-a12f-/resourceGroups/f5594fac-1fca-4cd/providers/Microsoft.CustomerInsights/hubs/4c02c00/interactions/2e3daab9-93c3-4"; + Requests[3215] = new DefaultHttpContext(); + Requests[3215].RequestServices = CreateServices(); + Requests[3215].Request.Method = "DELETE"; + Requests[3215].Request.Path = "/subscriptions/ecb1652a-136d-/resourceGroups/cbea5a06-302f-4a9/providers/Microsoft.CustomerInsights/hubs/d54d57d/kpi/2e7837f"; + Requests[3216] = new DefaultHttpContext(); + Requests[3216].RequestServices = CreateServices(); + Requests[3216].Request.Method = "PUT"; + Requests[3216].Request.Path = "/subscriptions/b74bf062-f9a6-/resourceGroups/9ba49593-5f77-4f8/providers/Microsoft.CustomerInsights/hubs/4d195b0/kpi/2467a0a"; + Requests[3217] = new DefaultHttpContext(); + Requests[3217].RequestServices = CreateServices(); + Requests[3217].Request.Method = "GET"; + Requests[3217].Request.Path = "/subscriptions/aac6856c-332a-/resourceGroups/270ab3c1-2c65-431/providers/Microsoft.CustomerInsights/hubs/9a99793/kpi/72cbd15"; + Requests[3218] = new DefaultHttpContext(); + Requests[3218].RequestServices = CreateServices(); + Requests[3218].Request.Method = "PUT"; + Requests[3218].Request.Path = "/subscriptions/9cea25ac-ee67-/resourceGroups/6f752ffe-0415-4c3/providers/Microsoft.CustomerInsights/hubs/a9a4d20/links/1d696947"; + Requests[3219] = new DefaultHttpContext(); + Requests[3219].RequestServices = CreateServices(); + Requests[3219].Request.Method = "GET"; + Requests[3219].Request.Path = "/subscriptions/d30ccfe4-aae3-/resourceGroups/8bb2eb33-8ac4-453/providers/Microsoft.CustomerInsights/hubs/65eeb5e/links/675bc8ed"; + Requests[3220] = new DefaultHttpContext(); + Requests[3220].RequestServices = CreateServices(); + Requests[3220].Request.Method = "DELETE"; + Requests[3220].Request.Path = "/subscriptions/a18f06e2-d72f-/resourceGroups/566cc6b0-ad97-4b3/providers/Microsoft.CustomerInsights/hubs/730a0e7/links/83b8a981"; + Requests[3221] = new DefaultHttpContext(); + Requests[3221].RequestServices = CreateServices(); + Requests[3221].Request.Method = "DELETE"; + Requests[3221].Request.Path = "/subscriptions/630a00d7-5f02-/resourceGroups/64dcd845-323d-433/providers/Microsoft.CustomerInsights/hubs/826e654/predictions/f3fa0448-3c23-"; + Requests[3222] = new DefaultHttpContext(); + Requests[3222].RequestServices = CreateServices(); + Requests[3222].Request.Method = "PUT"; + Requests[3222].Request.Path = "/subscriptions/60e442d6-6039-/resourceGroups/b770bbca-63e1-4a5/providers/Microsoft.CustomerInsights/hubs/1a4d429/predictions/1d7d92b7-3b5f-"; + Requests[3223] = new DefaultHttpContext(); + Requests[3223].RequestServices = CreateServices(); + Requests[3223].Request.Method = "GET"; + Requests[3223].Request.Path = "/subscriptions/633c0aab-dee3-/resourceGroups/35308989-ca78-431/providers/Microsoft.CustomerInsights/hubs/9b92018/predictions/c4bf97b3-df5f-"; + Requests[3224] = new DefaultHttpContext(); + Requests[3224].RequestServices = CreateServices(); + Requests[3224].Request.Method = "GET"; + Requests[3224].Request.Path = "/subscriptions/423c0f6c-f4c9-/resourceGroups/f91956da-aaae-406/providers/Microsoft.CustomerInsights/hubs/8360c14/profiles/5acd1728-2d"; + Requests[3225] = new DefaultHttpContext(); + Requests[3225].RequestServices = CreateServices(); + Requests[3225].Request.Method = "DELETE"; + Requests[3225].Request.Path = "/subscriptions/5abb336c-3342-/resourceGroups/36305322-024f-432/providers/Microsoft.CustomerInsights/hubs/f5c1a2d/profiles/43cad0ad-7e"; + Requests[3226] = new DefaultHttpContext(); + Requests[3226].RequestServices = CreateServices(); + Requests[3226].Request.Method = "PUT"; + Requests[3226].Request.Path = "/subscriptions/c437ecd0-26ee-/resourceGroups/6eebf0e1-4791-44a/providers/Microsoft.CustomerInsights/hubs/45356bb/profiles/ff745938-d7"; + Requests[3227] = new DefaultHttpContext(); + Requests[3227].RequestServices = CreateServices(); + Requests[3227].Request.Method = "GET"; + Requests[3227].Request.Path = "/subscriptions/d645f967-54a7-/resourceGroups/5b1cf5ec-0808-419/providers/Microsoft.CustomerInsights/hubs/3ad35cb/relationshipLinks/442cdd7b-e530-446e-b"; + Requests[3228] = new DefaultHttpContext(); + Requests[3228].RequestServices = CreateServices(); + Requests[3228].Request.Method = "DELETE"; + Requests[3228].Request.Path = "/subscriptions/719cea6e-744a-/resourceGroups/540a474a-5b0e-4a3/providers/Microsoft.CustomerInsights/hubs/1584d3b/relationshipLinks/f91e0e93-2d75-4f5c-a"; + Requests[3229] = new DefaultHttpContext(); + Requests[3229].RequestServices = CreateServices(); + Requests[3229].Request.Method = "PUT"; + Requests[3229].Request.Path = "/subscriptions/b1022f0e-9d08-/resourceGroups/f0a2b676-7ce9-4a8/providers/Microsoft.CustomerInsights/hubs/deaff13/relationshipLinks/f7c51924-c531-4b02-b"; + Requests[3230] = new DefaultHttpContext(); + Requests[3230].RequestServices = CreateServices(); + Requests[3230].Request.Method = "GET"; + Requests[3230].Request.Path = "/subscriptions/407ecf68-e225-/resourceGroups/dced862b-d0c9-47f/providers/Microsoft.CustomerInsights/hubs/c8e5636/relationships/a34e6c9c-48de-40"; + Requests[3231] = new DefaultHttpContext(); + Requests[3231].RequestServices = CreateServices(); + Requests[3231].Request.Method = "DELETE"; + Requests[3231].Request.Path = "/subscriptions/81b6db86-8f6b-/resourceGroups/c51cc330-5d4b-4a1/providers/Microsoft.CustomerInsights/hubs/9b7730d/relationships/c22cf1ba-9461-44"; + Requests[3232] = new DefaultHttpContext(); + Requests[3232].RequestServices = CreateServices(); + Requests[3232].Request.Method = "PUT"; + Requests[3232].Request.Path = "/subscriptions/b2f687d2-469f-/resourceGroups/dc489880-fc2e-4c1/providers/Microsoft.CustomerInsights/hubs/b1b6ac8/relationships/8309d018-f81f-42"; + Requests[3233] = new DefaultHttpContext(); + Requests[3233].RequestServices = CreateServices(); + Requests[3233].Request.Method = "DELETE"; + Requests[3233].Request.Path = "/subscriptions/e2df591d-cb22-/resourceGroups/38d4cddf-3e8c-492/providers/Microsoft.CustomerInsights/hubs/d89dc8e/roleAssignments/02eb1d1d-5403-"; + Requests[3234] = new DefaultHttpContext(); + Requests[3234].RequestServices = CreateServices(); + Requests[3234].Request.Method = "PUT"; + Requests[3234].Request.Path = "/subscriptions/cc447069-5e14-/resourceGroups/8a08124f-72ef-482/providers/Microsoft.CustomerInsights/hubs/43bd303/roleAssignments/6a073c63-1b9b-"; + Requests[3235] = new DefaultHttpContext(); + Requests[3235].RequestServices = CreateServices(); + Requests[3235].Request.Method = "GET"; + Requests[3235].Request.Path = "/subscriptions/6ad2e1df-5045-/resourceGroups/7872f776-6e47-49c/providers/Microsoft.CustomerInsights/hubs/b26ab25/roleAssignments/4924eb9a-89e6-"; + Requests[3236] = new DefaultHttpContext(); + Requests[3236].RequestServices = CreateServices(); + Requests[3236].Request.Method = "GET"; + Requests[3236].Request.Path = "/subscriptions/82758579-fb4c-/resourceGroups/d1baa73f-bf56-4bd/providers/Microsoft.CustomerInsights/hubs/eabed77/views/680ba089"; + Requests[3237] = new DefaultHttpContext(); + Requests[3237].RequestServices = CreateServices(); + Requests[3237].Request.Method = "DELETE"; + Requests[3237].Request.Path = "/subscriptions/0a08e262-0263-/resourceGroups/db6c7f11-2fae-42b/providers/Microsoft.CustomerInsights/hubs/b09d9af/views/451ce2a6"; + Requests[3238] = new DefaultHttpContext(); + Requests[3238].RequestServices = CreateServices(); + Requests[3238].Request.Method = "PUT"; + Requests[3238].Request.Path = "/subscriptions/f80fa6fb-0f28-/resourceGroups/4ca8ed5a-fa7f-4b4/providers/Microsoft.CustomerInsights/hubs/d34a3b7/views/254d7eef"; + Requests[3239] = new DefaultHttpContext(); + Requests[3239].RequestServices = CreateServices(); + Requests[3239].Request.Method = "GET"; + Requests[3239].Request.Path = "/subscriptions/b2f486df-1e59-/resourceGroups/b540fb7b-e1c5-40d/providers/Microsoft.CustomerInsights/hubs/0a7be00/widgetTypes/f7c2bec8-87e6-"; + Requests[3240] = new DefaultHttpContext(); + Requests[3240].RequestServices = CreateServices(); + Requests[3240].Request.Method = "POST"; + Requests[3240].Request.Path = "/subscriptions/994dc681-5382-/resourceGroups/9fb8492c-97ac-492/providers/Microsoft.DataFactory/factories/cdac5c31-55/cancelpipelinerun/54282"; + Requests[3241] = new DefaultHttpContext(); + Requests[3241].RequestServices = CreateServices(); + Requests[3241].Request.Method = "DELETE"; + Requests[3241].Request.Path = "/subscriptions/fabfe797-e853-/resourceGroups/5073a852-3a5f-402/providers/Microsoft.DataFactory/factories/77eefa44-aa/datasets/d30f756b-49"; + Requests[3242] = new DefaultHttpContext(); + Requests[3242].RequestServices = CreateServices(); + Requests[3242].Request.Method = "PUT"; + Requests[3242].Request.Path = "/subscriptions/e9d0d5dd-bf42-/resourceGroups/2744bc21-88f4-4a6/providers/Microsoft.DataFactory/factories/9b334bd9-14/datasets/a4864ee8-bf"; + Requests[3243] = new DefaultHttpContext(); + Requests[3243].RequestServices = CreateServices(); + Requests[3243].Request.Method = "GET"; + Requests[3243].Request.Path = "/subscriptions/77b69811-6b2d-/resourceGroups/500fd66f-7e72-48c/providers/Microsoft.DataFactory/factories/5a7a0086-71/datasets/7d5984b8-2e"; + Requests[3244] = new DefaultHttpContext(); + Requests[3244].RequestServices = CreateServices(); + Requests[3244].Request.Method = "GET"; + Requests[3244].Request.Path = "/subscriptions/73e42e2f-5d3e-/resourceGroups/e0c6d6df-eebf-4c7/providers/Microsoft.DataFactory/factories/85f3d63e-e1/integrationRuntimes/922c68aa-beac-4dc9-935"; + Requests[3245] = new DefaultHttpContext(); + Requests[3245].RequestServices = CreateServices(); + Requests[3245].Request.Method = "PATCH"; + Requests[3245].Request.Path = "/subscriptions/d3cde6bf-83cb-/resourceGroups/f10eeae0-c9eb-4e4/providers/Microsoft.DataFactory/factories/d9f7bce6-55/integrationRuntimes/707cd55d-cefb-4439-826"; + Requests[3246] = new DefaultHttpContext(); + Requests[3246].RequestServices = CreateServices(); + Requests[3246].Request.Method = "DELETE"; + Requests[3246].Request.Path = "/subscriptions/abc4d98a-8c5b-/resourceGroups/597e0a4f-ea29-468/providers/Microsoft.DataFactory/factories/1e43a4b1-4d/integrationRuntimes/144b486a-f1f8-4991-9cc"; + Requests[3247] = new DefaultHttpContext(); + Requests[3247].RequestServices = CreateServices(); + Requests[3247].Request.Method = "PUT"; + Requests[3247].Request.Path = "/subscriptions/1cae88e4-5b40-/resourceGroups/d28760c9-f2ed-411/providers/Microsoft.DataFactory/factories/a95c31e5-d8/integrationRuntimes/bf648da0-f34e-4d99-b68"; + Requests[3248] = new DefaultHttpContext(); + Requests[3248].RequestServices = CreateServices(); + Requests[3248].Request.Method = "GET"; + Requests[3248].Request.Path = "/subscriptions/0680b2f0-a1d1-/resourceGroups/301ede59-a433-4cf/providers/Microsoft.DataFactory/factories/610f4a42-de/linkedservices/c69f7b73-0a2d-40b"; + Requests[3249] = new DefaultHttpContext(); + Requests[3249].RequestServices = CreateServices(); + Requests[3249].Request.Method = "DELETE"; + Requests[3249].Request.Path = "/subscriptions/7247da51-b260-/resourceGroups/c286910d-3d77-455/providers/Microsoft.DataFactory/factories/017eb700-17/linkedservices/b9972136-10ec-43a"; + Requests[3250] = new DefaultHttpContext(); + Requests[3250].RequestServices = CreateServices(); + Requests[3250].Request.Method = "PUT"; + Requests[3250].Request.Path = "/subscriptions/2a4404a9-8fba-/resourceGroups/5e5e35e1-f142-4b6/providers/Microsoft.DataFactory/factories/84cd810c-81/linkedservices/7541e626-3f32-494"; + Requests[3251] = new DefaultHttpContext(); + Requests[3251].RequestServices = CreateServices(); + Requests[3251].Request.Method = "GET"; + Requests[3251].Request.Path = "/subscriptions/1a183dae-05c9-/resourceGroups/80bd0388-3d17-4be/providers/Microsoft.DataFactory/factories/4b6b48d9-51/pipelineruns/13a67"; + Requests[3252] = new DefaultHttpContext(); + Requests[3252].RequestServices = CreateServices(); + Requests[3252].Request.Method = "GET"; + Requests[3252].Request.Path = "/subscriptions/6eba88a5-3634-/resourceGroups/c52c934f-56a1-4ef/providers/Microsoft.DataFactory/factories/48c9ed64-ce/pipelines/0936656e-05e"; + Requests[3253] = new DefaultHttpContext(); + Requests[3253].RequestServices = CreateServices(); + Requests[3253].Request.Method = "PUT"; + Requests[3253].Request.Path = "/subscriptions/803835e4-6ecf-/resourceGroups/1c11bb08-d671-4e1/providers/Microsoft.DataFactory/factories/eb926941-f5/pipelines/eb53a01a-885"; + Requests[3254] = new DefaultHttpContext(); + Requests[3254].RequestServices = CreateServices(); + Requests[3254].Request.Method = "DELETE"; + Requests[3254].Request.Path = "/subscriptions/cf6b88bc-0d05-/resourceGroups/2e02eecb-4fcf-410/providers/Microsoft.DataFactory/factories/42631591-55/pipelines/990c5f6e-9b4"; + Requests[3255] = new DefaultHttpContext(); + Requests[3255].RequestServices = CreateServices(); + Requests[3255].Request.Method = "GET"; + Requests[3255].Request.Path = "/subscriptions/cc91571f-58b6-/resourceGroups/150b077e-3db3-4fe/providers/Microsoft.DataFactory/factories/9dbf4ead-5c/triggers/0ccc478e-64"; + Requests[3256] = new DefaultHttpContext(); + Requests[3256].RequestServices = CreateServices(); + Requests[3256].Request.Method = "DELETE"; + Requests[3256].Request.Path = "/subscriptions/8a52cfdd-450e-/resourceGroups/8ecf7188-8ec3-479/providers/Microsoft.DataFactory/factories/58966022-78/triggers/5879bd8b-32"; + Requests[3257] = new DefaultHttpContext(); + Requests[3257].RequestServices = CreateServices(); + Requests[3257].Request.Method = "PUT"; + Requests[3257].Request.Path = "/subscriptions/1f045159-e0b9-/resourceGroups/cd584e94-c8d8-419/providers/Microsoft.DataFactory/factories/9dec22d5-a5/triggers/7f0457c2-b6"; + Requests[3258] = new DefaultHttpContext(); + Requests[3258].RequestServices = CreateServices(); + Requests[3258].Request.Method = "PUT"; + Requests[3258].Request.Path = "/subscriptions/411d6f6c-6341-/resourceGroups/31a1dd1c-6cbe-41f/providers/Microsoft.DataLakeAnalytics/accounts/08563d30-59/computePolicies/c0615065-ce4d-4d9"; + Requests[3259] = new DefaultHttpContext(); + Requests[3259].RequestServices = CreateServices(); + Requests[3259].Request.Method = "GET"; + Requests[3259].Request.Path = "/subscriptions/817a8089-87fa-/resourceGroups/db4ceeda-9f3c-4b2/providers/Microsoft.DataLakeAnalytics/accounts/8af37315-83/computePolicies/b049d89c-b70e-4bc"; + Requests[3260] = new DefaultHttpContext(); + Requests[3260].RequestServices = CreateServices(); + Requests[3260].Request.Method = "PATCH"; + Requests[3260].Request.Path = "/subscriptions/84db810a-bc8e-/resourceGroups/674d6e58-7cf1-49d/providers/Microsoft.DataLakeAnalytics/accounts/8637a8b2-1d/computePolicies/a393c7b4-4871-44f"; + Requests[3261] = new DefaultHttpContext(); + Requests[3261].RequestServices = CreateServices(); + Requests[3261].Request.Method = "DELETE"; + Requests[3261].Request.Path = "/subscriptions/7002107c-00ad-/resourceGroups/8afc9ffa-d5ee-48c/providers/Microsoft.DataLakeAnalytics/accounts/c191d0c6-3d/computePolicies/e304a0ee-e721-48f"; + Requests[3262] = new DefaultHttpContext(); + Requests[3262].RequestServices = CreateServices(); + Requests[3262].Request.Method = "GET"; + Requests[3262].Request.Path = "/subscriptions/bf829d64-8e80-/resourceGroups/202b9c80-5885-455/providers/Microsoft.DataLakeAnalytics/accounts/f90cb834-25/dataLakeStoreAccounts/c1e3246a-8fab-4913-84e9-"; + Requests[3263] = new DefaultHttpContext(); + Requests[3263].RequestServices = CreateServices(); + Requests[3263].Request.Method = "PUT"; + Requests[3263].Request.Path = "/subscriptions/f4c73e2a-d87d-/resourceGroups/e2870594-dcd6-4bf/providers/Microsoft.DataLakeAnalytics/accounts/2afbaee4-7e/dataLakeStoreAccounts/7e4004fa-23ca-47dd-bd70-"; + Requests[3264] = new DefaultHttpContext(); + Requests[3264].RequestServices = CreateServices(); + Requests[3264].Request.Method = "DELETE"; + Requests[3264].Request.Path = "/subscriptions/67b0cc16-3052-/resourceGroups/f3cb57d6-bfea-428/providers/Microsoft.DataLakeAnalytics/accounts/3fc6eb9e-5e/dataLakeStoreAccounts/98976533-951d-46b7-ab6b-"; + Requests[3265] = new DefaultHttpContext(); + Requests[3265].RequestServices = CreateServices(); + Requests[3265].Request.Method = "PUT"; + Requests[3265].Request.Path = "/subscriptions/cb3676a0-4710-/resourceGroups/b8febce3-97e2-4fe/providers/Microsoft.DataLakeAnalytics/accounts/d2db00fb-4d/firewallRules/7724934e-748f-4e"; + Requests[3266] = new DefaultHttpContext(); + Requests[3266].RequestServices = CreateServices(); + Requests[3266].Request.Method = "GET"; + Requests[3266].Request.Path = "/subscriptions/69342a01-8890-/resourceGroups/5c7564ae-695d-481/providers/Microsoft.DataLakeAnalytics/accounts/bbb9e308-d4/firewallRules/a5c03bf6-e38a-45"; + Requests[3267] = new DefaultHttpContext(); + Requests[3267].RequestServices = CreateServices(); + Requests[3267].Request.Method = "PATCH"; + Requests[3267].Request.Path = "/subscriptions/cd1f2584-a4ac-/resourceGroups/73e78cdc-6808-49a/providers/Microsoft.DataLakeAnalytics/accounts/b7178abf-49/firewallRules/ebb111d9-6f22-4f"; + Requests[3268] = new DefaultHttpContext(); + Requests[3268].RequestServices = CreateServices(); + Requests[3268].Request.Method = "DELETE"; + Requests[3268].Request.Path = "/subscriptions/81a4ecf6-4f93-/resourceGroups/7ffd12b7-aa30-470/providers/Microsoft.DataLakeAnalytics/accounts/f3615c19-f2/firewallRules/fc2a29c1-3057-44"; + Requests[3269] = new DefaultHttpContext(); + Requests[3269].RequestServices = CreateServices(); + Requests[3269].Request.Method = "PUT"; + Requests[3269].Request.Path = "/subscriptions/50598ea9-c772-/resourceGroups/79f9c590-56e4-4d2/providers/Microsoft.DataLakeAnalytics/accounts/7efd9227-2b/storageAccounts/cf2bd279-14c1-44cb"; + Requests[3270] = new DefaultHttpContext(); + Requests[3270].RequestServices = CreateServices(); + Requests[3270].Request.Method = "PATCH"; + Requests[3270].Request.Path = "/subscriptions/43ec7e25-0163-/resourceGroups/dd00a932-0a1d-41c/providers/Microsoft.DataLakeAnalytics/accounts/aa81e175-1a/storageAccounts/8ae783cb-3306-4fda"; + Requests[3271] = new DefaultHttpContext(); + Requests[3271].RequestServices = CreateServices(); + Requests[3271].Request.Method = "GET"; + Requests[3271].Request.Path = "/subscriptions/4b58835d-d298-/resourceGroups/528fb27f-1b3e-4ca/providers/Microsoft.DataLakeAnalytics/accounts/dc1d5147-e5/storageAccounts/599dfb76-a621-4090"; + Requests[3272] = new DefaultHttpContext(); + Requests[3272].RequestServices = CreateServices(); + Requests[3272].Request.Method = "DELETE"; + Requests[3272].Request.Path = "/subscriptions/a199fd8e-e5d8-/resourceGroups/84e802bd-7ee2-4fa/providers/Microsoft.DataLakeAnalytics/accounts/fa1a0711-ea/storageAccounts/8e5739ce-803e-4eee"; + Requests[3273] = new DefaultHttpContext(); + Requests[3273].RequestServices = CreateServices(); + Requests[3273].Request.Method = "GET"; + Requests[3273].Request.Path = "/subscriptions/eb3b18c3-23ac-/resourceGroups/14287f28-66df-44b/providers/Microsoft.DataLakeStore/accounts/9831f92f-d4/firewallRules/2a163772-db7b-48"; + Requests[3274] = new DefaultHttpContext(); + Requests[3274].RequestServices = CreateServices(); + Requests[3274].Request.Method = "PUT"; + Requests[3274].Request.Path = "/subscriptions/55e65673-a9d9-/resourceGroups/24fb2c9e-f0c3-4f3/providers/Microsoft.DataLakeStore/accounts/9b71de5a-13/firewallRules/143148f1-f5f8-47"; + Requests[3275] = new DefaultHttpContext(); + Requests[3275].RequestServices = CreateServices(); + Requests[3275].Request.Method = "DELETE"; + Requests[3275].Request.Path = "/subscriptions/ec9cd399-745e-/resourceGroups/624aea6b-06ef-4b1/providers/Microsoft.DataLakeStore/accounts/45e659f8-5f/firewallRules/15f72e23-75bd-44"; + Requests[3276] = new DefaultHttpContext(); + Requests[3276].RequestServices = CreateServices(); + Requests[3276].Request.Method = "PATCH"; + Requests[3276].Request.Path = "/subscriptions/429dc0b4-110b-/resourceGroups/614b82b9-9cd1-414/providers/Microsoft.DataLakeStore/accounts/a4676464-bc/firewallRules/2f117444-bde0-4b"; + Requests[3277] = new DefaultHttpContext(); + Requests[3277].RequestServices = CreateServices(); + Requests[3277].Request.Method = "PATCH"; + Requests[3277].Request.Path = "/subscriptions/5e48e7d3-0f0f-/resourceGroups/bff37667-2f71-4d3/providers/Microsoft.DataLakeStore/accounts/781feac2-9c/trustedIdProviders/f36df3a9-45b7-464a-b9"; + Requests[3278] = new DefaultHttpContext(); + Requests[3278].RequestServices = CreateServices(); + Requests[3278].Request.Method = "GET"; + Requests[3278].Request.Path = "/subscriptions/00b5eab5-1428-/resourceGroups/f4124a76-53d7-47f/providers/Microsoft.DataLakeStore/accounts/6f0c7e9e-5d/trustedIdProviders/12bd5403-36bc-49ca-b1"; + Requests[3279] = new DefaultHttpContext(); + Requests[3279].RequestServices = CreateServices(); + Requests[3279].Request.Method = "PUT"; + Requests[3279].Request.Path = "/subscriptions/bb31e79b-b28e-/resourceGroups/399c0847-402a-456/providers/Microsoft.DataLakeStore/accounts/e72e6d74-e1/trustedIdProviders/7890b478-b1c7-4e57-84"; + Requests[3280] = new DefaultHttpContext(); + Requests[3280].RequestServices = CreateServices(); + Requests[3280].Request.Method = "DELETE"; + Requests[3280].Request.Path = "/subscriptions/5b46f7c0-dbea-/resourceGroups/c2e8e5ee-bf7e-40a/providers/Microsoft.DataLakeStore/accounts/6136aee9-9c/trustedIdProviders/1cddef77-d8bc-4e59-a0"; + Requests[3281] = new DefaultHttpContext(); + Requests[3281].RequestServices = CreateServices(); + Requests[3281].Request.Method = "PUT"; + Requests[3281].Request.Path = "/subscriptions/313b53e1-0823-/resourceGroups/c10575cb-df18-4cb/providers/Microsoft.DataLakeStore/accounts/541f8d20-e7/virtualNetworkRules/08471677-554a-4e6e-b31"; + Requests[3282] = new DefaultHttpContext(); + Requests[3282].RequestServices = CreateServices(); + Requests[3282].Request.Method = "GET"; + Requests[3282].Request.Path = "/subscriptions/afa95250-2e55-/resourceGroups/e087b069-824e-42b/providers/Microsoft.DataLakeStore/accounts/7b4f990c-e9/virtualNetworkRules/d0aa5129-bffe-4c6d-831"; + Requests[3283] = new DefaultHttpContext(); + Requests[3283].RequestServices = CreateServices(); + Requests[3283].Request.Method = "DELETE"; + Requests[3283].Request.Path = "/subscriptions/e0795dbf-57c8-/resourceGroups/983ab409-49bd-464/providers/Microsoft.DataLakeStore/accounts/6d342f25-cd/virtualNetworkRules/42d236ef-dd08-47f5-a33"; + Requests[3284] = new DefaultHttpContext(); + Requests[3284].RequestServices = CreateServices(); + Requests[3284].Request.Method = "PATCH"; + Requests[3284].Request.Path = "/subscriptions/654269d1-255b-/resourceGroups/a8998b62-05c3-46b/providers/Microsoft.DataLakeStore/accounts/eea2e218-07/virtualNetworkRules/9e44a307-d049-41b0-8c3"; + Requests[3285] = new DefaultHttpContext(); + Requests[3285].RequestServices = CreateServices(); + Requests[3285].Request.Method = "PUT"; + Requests[3285].Request.Path = "/subscriptions/718a69f5-620d-/resourceGroups/d6a29d14-38d3-41f/providers/Microsoft.DBforMySQL/servers/ae491e9f-3/configurations/ffcb9b26-7c93-4e2"; + Requests[3286] = new DefaultHttpContext(); + Requests[3286].RequestServices = CreateServices(); + Requests[3286].Request.Method = "GET"; + Requests[3286].Request.Path = "/subscriptions/1699bbf6-519e-/resourceGroups/40cc6789-9c25-4f8/providers/Microsoft.DBforMySQL/servers/f72cb1c2-4/configurations/36440f9d-4d98-447"; + Requests[3287] = new DefaultHttpContext(); + Requests[3287].RequestServices = CreateServices(); + Requests[3287].Request.Method = "DELETE"; + Requests[3287].Request.Path = "/subscriptions/6affd3bb-79b1-/resourceGroups/e8777d78-2d7c-4c3/providers/Microsoft.DBforMySQL/servers/7f63058e-e/databases/33bcbedf-292"; + Requests[3288] = new DefaultHttpContext(); + Requests[3288].RequestServices = CreateServices(); + Requests[3288].Request.Method = "GET"; + Requests[3288].Request.Path = "/subscriptions/3baf41a5-fb01-/resourceGroups/c8b5c8bb-7229-43c/providers/Microsoft.DBforMySQL/servers/07d6e5e4-6/databases/0eb8f7ce-64c"; + Requests[3289] = new DefaultHttpContext(); + Requests[3289].RequestServices = CreateServices(); + Requests[3289].Request.Method = "PUT"; + Requests[3289].Request.Path = "/subscriptions/1ff4a6d3-b988-/resourceGroups/8c6b1850-af80-41c/providers/Microsoft.DBforMySQL/servers/71e873df-7/databases/1b7553a4-01e"; + Requests[3290] = new DefaultHttpContext(); + Requests[3290].RequestServices = CreateServices(); + Requests[3290].Request.Method = "DELETE"; + Requests[3290].Request.Path = "/subscriptions/a039ded1-36ea-/resourceGroups/6c6d78f1-f822-4d7/providers/Microsoft.DBforMySQL/servers/5e8cbcfc-1/firewallRules/69736c05-170e-4f"; + Requests[3291] = new DefaultHttpContext(); + Requests[3291].RequestServices = CreateServices(); + Requests[3291].Request.Method = "GET"; + Requests[3291].Request.Path = "/subscriptions/97af86d2-5d83-/resourceGroups/709d007b-9966-42a/providers/Microsoft.DBforMySQL/servers/14f7638b-5/firewallRules/0077dcef-9fad-48"; + Requests[3292] = new DefaultHttpContext(); + Requests[3292].RequestServices = CreateServices(); + Requests[3292].Request.Method = "PUT"; + Requests[3292].Request.Path = "/subscriptions/a4d16cfa-31da-/resourceGroups/e85f0a06-7fe2-42a/providers/Microsoft.DBforMySQL/servers/09ee6f71-c/firewallRules/f1c8e111-e651-42"; + Requests[3293] = new DefaultHttpContext(); + Requests[3293].RequestServices = CreateServices(); + Requests[3293].Request.Method = "DELETE"; + Requests[3293].Request.Path = "/subscriptions/efd21a8d-07a1-/resourceGroups/62d5b28e-f581-47b/providers/Microsoft.DBforMySQL/servers/e18e2b73-d/virtualNetworkRules/ed1acd8a-330b-47ca-813"; + Requests[3294] = new DefaultHttpContext(); + Requests[3294].RequestServices = CreateServices(); + Requests[3294].Request.Method = "PUT"; + Requests[3294].Request.Path = "/subscriptions/1b787c19-5501-/resourceGroups/36ac7f1d-5d0a-4a6/providers/Microsoft.DBforMySQL/servers/353d7bbb-d/virtualNetworkRules/b5ae5b20-66e1-48d6-a84"; + Requests[3295] = new DefaultHttpContext(); + Requests[3295].RequestServices = CreateServices(); + Requests[3295].Request.Method = "GET"; + Requests[3295].Request.Path = "/subscriptions/0936ae7b-600c-/resourceGroups/6a94955e-79e2-40c/providers/Microsoft.DBforMySQL/servers/5182c700-1/virtualNetworkRules/53611ba9-7d0d-46c3-b87"; + Requests[3296] = new DefaultHttpContext(); + Requests[3296].RequestServices = CreateServices(); + Requests[3296].Request.Method = "PUT"; + Requests[3296].Request.Path = "/subscriptions/f71d0a19-ca71-/resourceGroups/e057ee09-9016-463/providers/Microsoft.DBforPostgreSQL/servers/5e9cc08c-a/configurations/29a78beb-8455-44b"; + Requests[3297] = new DefaultHttpContext(); + Requests[3297].RequestServices = CreateServices(); + Requests[3297].Request.Method = "GET"; + Requests[3297].Request.Path = "/subscriptions/75d3c7e7-bd92-/resourceGroups/2d7f62b2-2323-4fd/providers/Microsoft.DBforPostgreSQL/servers/ed98d647-f/configurations/943841d1-4b76-407"; + Requests[3298] = new DefaultHttpContext(); + Requests[3298].RequestServices = CreateServices(); + Requests[3298].Request.Method = "GET"; + Requests[3298].Request.Path = "/subscriptions/ea405d01-4ee9-/resourceGroups/1b96c7e4-ee98-40a/providers/Microsoft.DBforPostgreSQL/servers/0bbd8067-8/databases/c8f8530f-0c4"; + Requests[3299] = new DefaultHttpContext(); + Requests[3299].RequestServices = CreateServices(); + Requests[3299].Request.Method = "DELETE"; + Requests[3299].Request.Path = "/subscriptions/c92569d1-6124-/resourceGroups/5097f821-9815-499/providers/Microsoft.DBforPostgreSQL/servers/cda18583-8/databases/e3e844da-d11"; + Requests[3300] = new DefaultHttpContext(); + Requests[3300].RequestServices = CreateServices(); + Requests[3300].Request.Method = "PUT"; + Requests[3300].Request.Path = "/subscriptions/bee43a96-8922-/resourceGroups/fcd4c568-322b-4dd/providers/Microsoft.DBforPostgreSQL/servers/64340cd0-1/databases/ee30c61c-9fb"; + Requests[3301] = new DefaultHttpContext(); + Requests[3301].RequestServices = CreateServices(); + Requests[3301].Request.Method = "PUT"; + Requests[3301].Request.Path = "/subscriptions/8c53848e-bc73-/resourceGroups/e7185759-a1d9-486/providers/Microsoft.DBforPostgreSQL/servers/51673f61-a/firewallRules/d1db9a27-21c6-40"; + Requests[3302] = new DefaultHttpContext(); + Requests[3302].RequestServices = CreateServices(); + Requests[3302].Request.Method = "GET"; + Requests[3302].Request.Path = "/subscriptions/4ce37339-874c-/resourceGroups/80ee4af7-76ef-48d/providers/Microsoft.DBforPostgreSQL/servers/b57f88d3-f/firewallRules/0b656473-ca3a-4f"; + Requests[3303] = new DefaultHttpContext(); + Requests[3303].RequestServices = CreateServices(); + Requests[3303].Request.Method = "DELETE"; + Requests[3303].Request.Path = "/subscriptions/305c0cb6-87be-/resourceGroups/daedecf8-da43-4dd/providers/Microsoft.DBforPostgreSQL/servers/a6a240ef-e/firewallRules/ebb2bb98-79f1-45"; + Requests[3304] = new DefaultHttpContext(); + Requests[3304].RequestServices = CreateServices(); + Requests[3304].Request.Method = "PUT"; + Requests[3304].Request.Path = "/subscriptions/6a2c74df-372a-/resourceGroups/b807e5c6-d147-434/providers/Microsoft.DBforPostgreSQL/servers/837dfb82-4/securityAlertPolicies/5d9ac267-31af-48a8-b881"; + Requests[3305] = new DefaultHttpContext(); + Requests[3305].RequestServices = CreateServices(); + Requests[3305].Request.Method = "GET"; + Requests[3305].Request.Path = "/subscriptions/9a781fb3-1457-/resourceGroups/86ce2ef3-159c-4fa/providers/Microsoft.DBforPostgreSQL/servers/227c4de1-c/securityAlertPolicies/003e86de-ae1e-4665-826f"; + Requests[3306] = new DefaultHttpContext(); + Requests[3306].RequestServices = CreateServices(); + Requests[3306].Request.Method = "GET"; + Requests[3306].Request.Path = "/subscriptions/d3776290-35b6-/resourceGroups/f263f7f6-85ba-476/providers/Microsoft.DBforPostgreSQL/servers/089ca6fa-1/virtualNetworkRules/3656b8b4-9da7-4b28-949"; + Requests[3307] = new DefaultHttpContext(); + Requests[3307].RequestServices = CreateServices(); + Requests[3307].Request.Method = "DELETE"; + Requests[3307].Request.Path = "/subscriptions/835e542a-ab7f-/resourceGroups/6968a590-45c3-4b8/providers/Microsoft.DBforPostgreSQL/servers/0ad015d9-2/virtualNetworkRules/28c68bf3-a2e7-4fcc-9c3"; + Requests[3308] = new DefaultHttpContext(); + Requests[3308].RequestServices = CreateServices(); + Requests[3308].Request.Method = "PUT"; + Requests[3308].Request.Path = "/subscriptions/9a66e23d-c66a-/resourceGroups/3cc50aa3-1723-4b3/providers/Microsoft.DBforPostgreSQL/servers/6c0dad0d-d/virtualNetworkRules/05dc9c49-e336-4bd6-800"; + Requests[3309] = new DefaultHttpContext(); + Requests[3309].RequestServices = CreateServices(); + Requests[3309].Request.Method = "GET"; + Requests[3309].Request.Path = "/subscriptions/19864397-1c3e-/resourceGroups/ef721d97-e854-441/providers/Microsoft.Devices/IotHubs/8cc57d86-f02/certificates/7a5eb507-3b62-4"; + Requests[3310] = new DefaultHttpContext(); + Requests[3310].RequestServices = CreateServices(); + Requests[3310].Request.Method = "PUT"; + Requests[3310].Request.Path = "/subscriptions/9686d0c3-41ee-/resourceGroups/4ce4cb91-4844-472/providers/Microsoft.Devices/IotHubs/225bcf21-025/certificates/1ee68ef1-f240-4"; + Requests[3311] = new DefaultHttpContext(); + Requests[3311].RequestServices = CreateServices(); + Requests[3311].Request.Method = "DELETE"; + Requests[3311].Request.Path = "/subscriptions/1cc060e7-95e4-/resourceGroups/b3332fd1-e369-4f0/providers/Microsoft.Devices/IotHubs/22cae28d-822/certificates/6530ba8d-b17d-4"; + Requests[3312] = new DefaultHttpContext(); + Requests[3312].RequestServices = CreateServices(); + Requests[3312].Request.Method = "GET"; + Requests[3312].Request.Path = "/subscriptions/d7071c9b-ffce-/resourceGroups/3a657494-9aa6-4fa/providers/Microsoft.Devices/IotHubs/062f130e-26f/jobs/39c8d"; + Requests[3313] = new DefaultHttpContext(); + Requests[3313].RequestServices = CreateServices(); + Requests[3313].Request.Method = "GET"; + Requests[3313].Request.Path = "/subscriptions/9d20efa3-e385-/resourceGroups/c2e3eb0a-ce12-43d/providers/Microsoft.Devices/provisioningServices/5071ec2c-659f-46cd-b501/certificates/4b0ad731-7ad2-4"; + Requests[3314] = new DefaultHttpContext(); + Requests[3314].RequestServices = CreateServices(); + Requests[3314].Request.Method = "PUT"; + Requests[3314].Request.Path = "/subscriptions/3408d739-40d9-/resourceGroups/9aec2105-7123-4b4/providers/Microsoft.Devices/provisioningServices/da66ee27-0f04-48dd-9022/certificates/de033251-8c1e-4"; + Requests[3315] = new DefaultHttpContext(); + Requests[3315].RequestServices = CreateServices(); + Requests[3315].Request.Method = "DELETE"; + Requests[3315].Request.Path = "/subscriptions/366717c6-6da3-/resourceGroups/633159be-ed5c-494/providers/Microsoft.Devices/provisioningServices/b53adebe-316b-4c92-8b55/certificates/f4962a55-8b1b-4"; + Requests[3316] = new DefaultHttpContext(); + Requests[3316].RequestServices = CreateServices(); + Requests[3316].Request.Method = "GET"; + Requests[3316].Request.Path = "/subscriptions/573b6fb9-6eab-/resourceGroups/ff90c6f3-31ca-44c/providers/Microsoft.Devices/provisioningServices/23d4bcd8-d67f-4ef0-bbe4/operationresults/71ac46b8-85"; + Requests[3317] = new DefaultHttpContext(); + Requests[3317].RequestServices = CreateServices(); + Requests[3317].Request.Method = "PATCH"; + Requests[3317].Request.Path = "/subscriptions/59c7d074-a627-/resourceGroups/566e10e4-b8d1-447/providers/Microsoft.DevTestLab/labs/07f13ff/artifactsources/8a40b"; + Requests[3318] = new DefaultHttpContext(); + Requests[3318].RequestServices = CreateServices(); + Requests[3318].Request.Method = "DELETE"; + Requests[3318].Request.Path = "/subscriptions/65c5db43-c668-/resourceGroups/2c766feb-7f42-46d/providers/Microsoft.DevTestLab/labs/0f27dc9/artifactsources/54c2d"; + Requests[3319] = new DefaultHttpContext(); + Requests[3319].RequestServices = CreateServices(); + Requests[3319].Request.Method = "PUT"; + Requests[3319].Request.Path = "/subscriptions/ed4b8ab5-3851-/resourceGroups/478ef68e-701a-445/providers/Microsoft.DevTestLab/labs/fa933b4/artifactsources/919ea"; + Requests[3320] = new DefaultHttpContext(); + Requests[3320].RequestServices = CreateServices(); + Requests[3320].Request.Method = "GET"; + Requests[3320].Request.Path = "/subscriptions/8747c820-aaa9-/resourceGroups/2fb7773a-2cf8-410/providers/Microsoft.DevTestLab/labs/7e69c87/artifactsources/5cf25"; + Requests[3321] = new DefaultHttpContext(); + Requests[3321].RequestServices = CreateServices(); + Requests[3321].Request.Method = "GET"; + Requests[3321].Request.Path = "/subscriptions/7a07526c-05fc-/resourceGroups/37e5c640-c7db-452/providers/Microsoft.DevTestLab/labs/ea0eacc/costinsights/669eb"; + Requests[3322] = new DefaultHttpContext(); + Requests[3322].RequestServices = CreateServices(); + Requests[3322].Request.Method = "GET"; + Requests[3322].Request.Path = "/subscriptions/82ebb964-b1ca-/resourceGroups/891e765e-084f-459/providers/Microsoft.DevTestLab/labs/47ad73e/costs/465b3"; + Requests[3323] = new DefaultHttpContext(); + Requests[3323].RequestServices = CreateServices(); + Requests[3323].Request.Method = "PUT"; + Requests[3323].Request.Path = "/subscriptions/240668a4-342a-/resourceGroups/4fa075e0-71be-4af/providers/Microsoft.DevTestLab/labs/41d87fc/costs/52f84"; + Requests[3324] = new DefaultHttpContext(); + Requests[3324].RequestServices = CreateServices(); + Requests[3324].Request.Method = "GET"; + Requests[3324].Request.Path = "/subscriptions/9ef65464-77ae-/resourceGroups/f6d7f940-e0d7-49f/providers/Microsoft.DevTestLab/labs/6ca31a9/customimages/4deaf"; + Requests[3325] = new DefaultHttpContext(); + Requests[3325].RequestServices = CreateServices(); + Requests[3325].Request.Method = "DELETE"; + Requests[3325].Request.Path = "/subscriptions/4bfe781e-6f26-/resourceGroups/c209f8fd-0243-497/providers/Microsoft.DevTestLab/labs/a2222a1/customimages/ee766"; + Requests[3326] = new DefaultHttpContext(); + Requests[3326].RequestServices = CreateServices(); + Requests[3326].Request.Method = "PUT"; + Requests[3326].Request.Path = "/subscriptions/cb2e7a6a-a007-/resourceGroups/d87590ae-1577-4fe/providers/Microsoft.DevTestLab/labs/1abe00a/customimages/47848"; + Requests[3327] = new DefaultHttpContext(); + Requests[3327].RequestServices = CreateServices(); + Requests[3327].Request.Method = "GET"; + Requests[3327].Request.Path = "/subscriptions/f58dbffb-e010-/resourceGroups/311c0f6e-30c6-46d/providers/Microsoft.DevTestLab/labs/93e773e/formulas/ecede"; + Requests[3328] = new DefaultHttpContext(); + Requests[3328].RequestServices = CreateServices(); + Requests[3328].Request.Method = "PUT"; + Requests[3328].Request.Path = "/subscriptions/c107cc04-9e27-/resourceGroups/ca49246d-43d8-4bc/providers/Microsoft.DevTestLab/labs/cba58af/formulas/9f233"; + Requests[3329] = new DefaultHttpContext(); + Requests[3329].RequestServices = CreateServices(); + Requests[3329].Request.Method = "DELETE"; + Requests[3329].Request.Path = "/subscriptions/5c6a6bc8-38f9-/resourceGroups/0e650a9c-4ea3-482/providers/Microsoft.DevTestLab/labs/737f53e/formulas/3b155"; + Requests[3330] = new DefaultHttpContext(); + Requests[3330].RequestServices = CreateServices(); + Requests[3330].Request.Method = "DELETE"; + Requests[3330].Request.Path = "/subscriptions/51fb22fc-6577-/resourceGroups/71bb36bd-5568-414/providers/Microsoft.DevTestLab/labs/97ba7ce/notificationchannels/3a20a"; + Requests[3331] = new DefaultHttpContext(); + Requests[3331].RequestServices = CreateServices(); + Requests[3331].Request.Method = "PUT"; + Requests[3331].Request.Path = "/subscriptions/464234a2-4df2-/resourceGroups/3b6543d3-a73d-4f0/providers/Microsoft.DevTestLab/labs/409cf53/notificationchannels/a3fa3"; + Requests[3332] = new DefaultHttpContext(); + Requests[3332].RequestServices = CreateServices(); + Requests[3332].Request.Method = "GET"; + Requests[3332].Request.Path = "/subscriptions/18b1af85-6964-/resourceGroups/17a06894-a6fc-4aa/providers/Microsoft.DevTestLab/labs/25c4f29/notificationchannels/203d0"; + Requests[3333] = new DefaultHttpContext(); + Requests[3333].RequestServices = CreateServices(); + Requests[3333].Request.Method = "PATCH"; + Requests[3333].Request.Path = "/subscriptions/8f70a958-7f4e-/resourceGroups/70365a2a-60af-414/providers/Microsoft.DevTestLab/labs/5953304/notificationchannels/066c4"; + Requests[3334] = new DefaultHttpContext(); + Requests[3334].RequestServices = CreateServices(); + Requests[3334].Request.Method = "GET"; + Requests[3334].Request.Path = "/subscriptions/3b81286e-e472-/resourceGroups/c9db874d-05f9-405/providers/Microsoft.DevTestLab/labs/a0aef12/schedules/079b4"; + Requests[3335] = new DefaultHttpContext(); + Requests[3335].RequestServices = CreateServices(); + Requests[3335].Request.Method = "PUT"; + Requests[3335].Request.Path = "/subscriptions/7211e999-c534-/resourceGroups/36abedd6-9741-4fe/providers/Microsoft.DevTestLab/labs/93fa90a/schedules/d02ee"; + Requests[3336] = new DefaultHttpContext(); + Requests[3336].RequestServices = CreateServices(); + Requests[3336].Request.Method = "DELETE"; + Requests[3336].Request.Path = "/subscriptions/8bdf8b2b-7395-/resourceGroups/01e1a2bc-9768-4ad/providers/Microsoft.DevTestLab/labs/6219948/schedules/22fbb"; + Requests[3337] = new DefaultHttpContext(); + Requests[3337].RequestServices = CreateServices(); + Requests[3337].Request.Method = "PATCH"; + Requests[3337].Request.Path = "/subscriptions/d30fb32f-5a4c-/resourceGroups/5e7d9d16-3889-420/providers/Microsoft.DevTestLab/labs/86d2731/schedules/3b99b"; + Requests[3338] = new DefaultHttpContext(); + Requests[3338].RequestServices = CreateServices(); + Requests[3338].Request.Method = "PUT"; + Requests[3338].Request.Path = "/subscriptions/c98055a5-1dbf-/resourceGroups/2fb800b8-98c8-411/providers/Microsoft.DevTestLab/labs/9c9f0bb/servicerunners/4ed6c"; + Requests[3339] = new DefaultHttpContext(); + Requests[3339].RequestServices = CreateServices(); + Requests[3339].Request.Method = "GET"; + Requests[3339].Request.Path = "/subscriptions/b6f2aa85-8e4c-/resourceGroups/537c5357-23af-4d8/providers/Microsoft.DevTestLab/labs/386b6ad/servicerunners/58d65"; + Requests[3340] = new DefaultHttpContext(); + Requests[3340].RequestServices = CreateServices(); + Requests[3340].Request.Method = "DELETE"; + Requests[3340].Request.Path = "/subscriptions/6781ad81-92cc-/resourceGroups/9a28c44b-8be0-4da/providers/Microsoft.DevTestLab/labs/c56a384/servicerunners/9534b"; + Requests[3341] = new DefaultHttpContext(); + Requests[3341].RequestServices = CreateServices(); + Requests[3341].Request.Method = "GET"; + Requests[3341].Request.Path = "/subscriptions/0bdce12c-8c88-/resourceGroups/6f2ac3db-915c-49d/providers/Microsoft.DevTestLab/labs/a0a15aa/users/414dd"; + Requests[3342] = new DefaultHttpContext(); + Requests[3342].RequestServices = CreateServices(); + Requests[3342].Request.Method = "PUT"; + Requests[3342].Request.Path = "/subscriptions/05d01c49-787f-/resourceGroups/0afc3f1b-1d03-444/providers/Microsoft.DevTestLab/labs/3ab9845/users/2b9f3"; + Requests[3343] = new DefaultHttpContext(); + Requests[3343].RequestServices = CreateServices(); + Requests[3343].Request.Method = "DELETE"; + Requests[3343].Request.Path = "/subscriptions/220fd84a-115c-/resourceGroups/fdf85ba9-deff-496/providers/Microsoft.DevTestLab/labs/71a4942/users/5ac40"; + Requests[3344] = new DefaultHttpContext(); + Requests[3344].RequestServices = CreateServices(); + Requests[3344].Request.Method = "PATCH"; + Requests[3344].Request.Path = "/subscriptions/76763d83-4c08-/resourceGroups/cf41c903-4bfe-4d0/providers/Microsoft.DevTestLab/labs/5d32669/users/94058"; + Requests[3345] = new DefaultHttpContext(); + Requests[3345].RequestServices = CreateServices(); + Requests[3345].Request.Method = "DELETE"; + Requests[3345].Request.Path = "/subscriptions/2c8d932c-39b0-/resourceGroups/fb86db9f-fa17-45e/providers/Microsoft.DevTestLab/labs/692d2cc/virtualmachines/25152"; + Requests[3346] = new DefaultHttpContext(); + Requests[3346].RequestServices = CreateServices(); + Requests[3346].Request.Method = "PATCH"; + Requests[3346].Request.Path = "/subscriptions/5ca11c2a-52e7-/resourceGroups/a540fb29-7445-439/providers/Microsoft.DevTestLab/labs/5592d78/virtualmachines/c899d"; + Requests[3347] = new DefaultHttpContext(); + Requests[3347].RequestServices = CreateServices(); + Requests[3347].Request.Method = "GET"; + Requests[3347].Request.Path = "/subscriptions/39ff1035-9ce9-/resourceGroups/194f061b-7bb6-4f7/providers/Microsoft.DevTestLab/labs/7f7470c/virtualmachines/c07b7"; + Requests[3348] = new DefaultHttpContext(); + Requests[3348].RequestServices = CreateServices(); + Requests[3348].Request.Method = "PUT"; + Requests[3348].Request.Path = "/subscriptions/7f9b298e-19c0-/resourceGroups/74d616a4-67ed-4a1/providers/Microsoft.DevTestLab/labs/7a1f506/virtualmachines/a15c8"; + Requests[3349] = new DefaultHttpContext(); + Requests[3349].RequestServices = CreateServices(); + Requests[3349].Request.Method = "DELETE"; + Requests[3349].Request.Path = "/subscriptions/cb92cf57-475b-/resourceGroups/b823fa93-26fe-48b/providers/Microsoft.DevTestLab/labs/c05489d/virtualnetworks/2d893"; + Requests[3350] = new DefaultHttpContext(); + Requests[3350].RequestServices = CreateServices(); + Requests[3350].Request.Method = "GET"; + Requests[3350].Request.Path = "/subscriptions/a8587cdc-be8b-/resourceGroups/c7cc3d3d-8444-440/providers/Microsoft.DevTestLab/labs/7e70167/virtualnetworks/6b8e5"; + Requests[3351] = new DefaultHttpContext(); + Requests[3351].RequestServices = CreateServices(); + Requests[3351].Request.Method = "PUT"; + Requests[3351].Request.Path = "/subscriptions/667b8e98-3a20-/resourceGroups/b5396589-e938-4ba/providers/Microsoft.DevTestLab/labs/94cf8c1/virtualnetworks/23743"; + Requests[3352] = new DefaultHttpContext(); + Requests[3352].RequestServices = CreateServices(); + Requests[3352].Request.Method = "PATCH"; + Requests[3352].Request.Path = "/subscriptions/a7f5142a-2fd3-/resourceGroups/844129af-4d90-436/providers/Microsoft.DevTestLab/labs/e82cd99/virtualnetworks/a6943"; + Requests[3353] = new DefaultHttpContext(); + Requests[3353].RequestServices = CreateServices(); + Requests[3353].Request.Method = "PUT"; + Requests[3353].Request.Path = "/subscriptions/86ba4e3d-e710-/resourceGroups/61eb1780-5fee-40f/providers/Microsoft.DomainRegistration/domains/6c552d7e-e/domainOwnershipIdentifiers/3d8b5"; + Requests[3354] = new DefaultHttpContext(); + Requests[3354].RequestServices = CreateServices(); + Requests[3354].Request.Method = "GET"; + Requests[3354].Request.Path = "/subscriptions/adea34b2-089b-/resourceGroups/9f7d2796-e2f2-411/providers/Microsoft.DomainRegistration/domains/69636791-f/domainOwnershipIdentifiers/4880d"; + Requests[3355] = new DefaultHttpContext(); + Requests[3355].RequestServices = CreateServices(); + Requests[3355].Request.Method = "PATCH"; + Requests[3355].Request.Path = "/subscriptions/fba78ec5-fdb7-/resourceGroups/00cb3332-2f1b-454/providers/Microsoft.DomainRegistration/domains/960bff62-d/domainOwnershipIdentifiers/58326"; + Requests[3356] = new DefaultHttpContext(); + Requests[3356].RequestServices = CreateServices(); + Requests[3356].Request.Method = "DELETE"; + Requests[3356].Request.Path = "/subscriptions/57721672-3269-/resourceGroups/b58886a1-0e84-4cf/providers/Microsoft.DomainRegistration/domains/03e0af28-5/domainOwnershipIdentifiers/0aae0"; + Requests[3357] = new DefaultHttpContext(); + Requests[3357].RequestServices = CreateServices(); + Requests[3357].Request.Method = "GET"; + Requests[3357].Request.Path = "/subscriptions/6d5730d6-e2f3-/resourceGroups/b14c49da-cdbd-45a/providers/Microsoft.DomainRegistration/domains/8885430d-e/operationresults/ac4033c5-27"; + Requests[3358] = new DefaultHttpContext(); + Requests[3358].RequestServices = CreateServices(); + Requests[3358].Request.Method = "GET"; + Requests[3358].Request.Path = "/subscriptions/86a6de46-2b56-/resourceGroups/1c3fdec5-3267-4ea/providers/Microsoft.EventHub/namespaces/93dab2ae-0d90/AuthorizationRules/e063678c-d1d9-4549-87"; + Requests[3359] = new DefaultHttpContext(); + Requests[3359].RequestServices = CreateServices(); + Requests[3359].Request.Method = "PUT"; + Requests[3359].Request.Path = "/subscriptions/e46b19c3-e39d-/resourceGroups/0effc4fc-dae0-4bc/providers/Microsoft.EventHub/namespaces/3323b33f-bcbb/AuthorizationRules/05e9d411-ace3-483a-b7"; + Requests[3360] = new DefaultHttpContext(); + Requests[3360].RequestServices = CreateServices(); + Requests[3360].Request.Method = "POST"; + Requests[3360].Request.Path = "/subscriptions/e6433cb7-25b8-/resourceGroups/60505573-ea5a-484/providers/Microsoft.EventHub/namespaces/b7494581-60b9/AuthorizationRules/9b8d7cf2-7070-402b-83"; + Requests[3361] = new DefaultHttpContext(); + Requests[3361].RequestServices = CreateServices(); + Requests[3361].Request.Method = "DELETE"; + Requests[3361].Request.Path = "/subscriptions/b07abb9b-6e38-/resourceGroups/7080ba45-969d-438/providers/Microsoft.EventHub/namespaces/df0be321-c236/AuthorizationRules/56b153ae-9b89-495d-87"; + Requests[3362] = new DefaultHttpContext(); + Requests[3362].RequestServices = CreateServices(); + Requests[3362].Request.Method = "DELETE"; + Requests[3362].Request.Path = "/subscriptions/63825588-0fa7-/resourceGroups/07200c4e-b42a-43f/providers/Microsoft.EventHub/namespaces/11e1d14f-6fce/disasterRecoveryConfigs/6ccca"; + Requests[3363] = new DefaultHttpContext(); + Requests[3363].RequestServices = CreateServices(); + Requests[3363].Request.Method = "GET"; + Requests[3363].Request.Path = "/subscriptions/f23c07a8-d070-/resourceGroups/8bc5104f-c1af-477/providers/Microsoft.EventHub/namespaces/f4b34246-7329/disasterRecoveryConfigs/014a4"; + Requests[3364] = new DefaultHttpContext(); + Requests[3364].RequestServices = CreateServices(); + Requests[3364].Request.Method = "PUT"; + Requests[3364].Request.Path = "/subscriptions/d676d25b-261c-/resourceGroups/d7156a20-3756-467/providers/Microsoft.EventHub/namespaces/f62f9285-1ebf/disasterRecoveryConfigs/b521e"; + Requests[3365] = new DefaultHttpContext(); + Requests[3365].RequestServices = CreateServices(); + Requests[3365].Request.Method = "GET"; + Requests[3365].Request.Path = "/subscriptions/a9dd8015-3a9e-/resourceGroups/d2a6b28d-6290-4f5/providers/Microsoft.EventHub/namespaces/25628983-c29b/eventhubs/e292c262-a7a"; + Requests[3366] = new DefaultHttpContext(); + Requests[3366].RequestServices = CreateServices(); + Requests[3366].Request.Method = "DELETE"; + Requests[3366].Request.Path = "/subscriptions/8245ce58-5b91-/resourceGroups/d0f26433-38fb-414/providers/Microsoft.EventHub/namespaces/7916cd2a-b685/eventhubs/20b23e8b-faf"; + Requests[3367] = new DefaultHttpContext(); + Requests[3367].RequestServices = CreateServices(); + Requests[3367].Request.Method = "PUT"; + Requests[3367].Request.Path = "/subscriptions/458069f6-a89d-/resourceGroups/f8bfef7a-51b7-414/providers/Microsoft.EventHub/namespaces/c037d5e7-9337/eventhubs/de7c2f9c-ba5"; + Requests[3368] = new DefaultHttpContext(); + Requests[3368].RequestServices = CreateServices(); + Requests[3368].Request.Method = "GET"; + Requests[3368].Request.Path = "/subscriptions/25b76931-5fc9-/resourceGroups/24a9fd7a-77f2-443/providers/Microsoft.Fabric.Admin/fabricLocations/888fffbe/edgeGatewayPools/7bc8685b-1907-4"; + Requests[3369] = new DefaultHttpContext(); + Requests[3369].RequestServices = CreateServices(); + Requests[3369].Request.Method = "GET"; + Requests[3369].Request.Path = "/subscriptions/e2c9ca06-4020-/resourceGroups/9d360a02-2346-4e3/providers/Microsoft.Fabric.Admin/fabricLocations/e135c41a/edgeGateways/6573a524-60"; + Requests[3370] = new DefaultHttpContext(); + Requests[3370].RequestServices = CreateServices(); + Requests[3370].Request.Method = "GET"; + Requests[3370].Request.Path = "/subscriptions/59f15b36-470d-/resourceGroups/cb51a063-d8eb-44a/providers/Microsoft.Fabric.Admin/fabricLocations/f28c26e4/fileShares/3749c9ae-"; + Requests[3371] = new DefaultHttpContext(); + Requests[3371].RequestServices = CreateServices(); + Requests[3371].Request.Method = "GET"; + Requests[3371].Request.Path = "/subscriptions/a6cffdcc-1be8-/resourceGroups/2a9d91c4-9bac-44a/providers/Microsoft.Fabric.Admin/fabricLocations/8c63f058/infraRoleInstances/13c19aab-e29f-4aa"; + Requests[3372] = new DefaultHttpContext(); + Requests[3372].RequestServices = CreateServices(); + Requests[3372].Request.Method = "GET"; + Requests[3372].Request.Path = "/subscriptions/f69f041a-10f7-/resourceGroups/85530446-0d6a-4ac/providers/Microsoft.Fabric.Admin/fabricLocations/31ce57e5/infraRoles/357a95e0-"; + Requests[3373] = new DefaultHttpContext(); + Requests[3373].RequestServices = CreateServices(); + Requests[3373].Request.Method = "PUT"; + Requests[3373].Request.Path = "/subscriptions/b055c01a-2205-/resourceGroups/2b4cd670-f1f5-4ba/providers/Microsoft.Fabric.Admin/fabricLocations/473414f9/ipPools/e0cadd"; + Requests[3374] = new DefaultHttpContext(); + Requests[3374].RequestServices = CreateServices(); + Requests[3374].Request.Method = "GET"; + Requests[3374].Request.Path = "/subscriptions/607e0a5c-9ec3-/resourceGroups/f2046b73-4bc4-411/providers/Microsoft.Fabric.Admin/fabricLocations/68c05827/ipPools/fbdc06"; + Requests[3375] = new DefaultHttpContext(); + Requests[3375].RequestServices = CreateServices(); + Requests[3375].Request.Method = "GET"; + Requests[3375].Request.Path = "/subscriptions/af6944b0-4488-/resourceGroups/96965296-0eb6-496/providers/Microsoft.Fabric.Admin/fabricLocations/1fc92547/logicalNetworks/b82509b1-2f46-"; + Requests[3376] = new DefaultHttpContext(); + Requests[3376].RequestServices = CreateServices(); + Requests[3376].Request.Method = "GET"; + Requests[3376].Request.Path = "/subscriptions/a608e910-b580-/resourceGroups/aefb76fa-eaf1-40c/providers/Microsoft.Fabric.Admin/fabricLocations/9524ab4d/macAddressPools/782d68bb-c97b-"; + Requests[3377] = new DefaultHttpContext(); + Requests[3377].RequestServices = CreateServices(); + Requests[3377].Request.Method = "GET"; + Requests[3377].Request.Path = "/subscriptions/c0322e01-76ad-/resourceGroups/5f5fedf9-624e-45b/providers/Microsoft.Fabric.Admin/fabricLocations/caa1b26f/scaleUnitNodes/affdefc4-e6d5"; + Requests[3378] = new DefaultHttpContext(); + Requests[3378].RequestServices = CreateServices(); + Requests[3378].Request.Method = "GET"; + Requests[3378].Request.Path = "/subscriptions/d6ead371-c303-/resourceGroups/294246dd-2e03-4dc/providers/Microsoft.Fabric.Admin/fabricLocations/c696e4a5/scaleUnits/7f60922d-"; + Requests[3379] = new DefaultHttpContext(); + Requests[3379].RequestServices = CreateServices(); + Requests[3379].Request.Method = "GET"; + Requests[3379].Request.Path = "/subscriptions/ec855de5-fd42-/resourceGroups/2425691a-109f-48c/providers/Microsoft.Fabric.Admin/fabricLocations/70228030/slbMuxInstances/c78aad27-2a1e-"; + Requests[3380] = new DefaultHttpContext(); + Requests[3380].RequestServices = CreateServices(); + Requests[3380].Request.Method = "GET"; + Requests[3380].Request.Path = "/subscriptions/45e3d360-438a-/resourceGroups/e1112a0c-cd02-442/providers/Microsoft.Fabric.Admin/fabricLocations/86ec0b20/storageSubSystems/420268fa-0d4e-4f"; + Requests[3381] = new DefaultHttpContext(); + Requests[3381].RequestServices = CreateServices(); + Requests[3381].Request.Method = "DELETE"; + Requests[3381].Request.Path = "/subscriptions/57fb55b7-f927-/resourceGroups/083aabc1-c511-43a/providers/Microsoft.HDInsight/clusters/af0a3ac0-4b/applications/80caa166-df58-4"; + Requests[3382] = new DefaultHttpContext(); + Requests[3382].RequestServices = CreateServices(); + Requests[3382].Request.Method = "PUT"; + Requests[3382].Request.Path = "/subscriptions/c94a8523-be81-/resourceGroups/90f73fcf-12b0-4f0/providers/Microsoft.HDInsight/clusters/86e9a7cc-e9/applications/331802e5-7243-4"; + Requests[3383] = new DefaultHttpContext(); + Requests[3383].RequestServices = CreateServices(); + Requests[3383].Request.Method = "GET"; + Requests[3383].Request.Path = "/subscriptions/86518104-a76a-/resourceGroups/f5f9ef31-5f26-4fa/providers/Microsoft.HDInsight/clusters/7d8d2930-71/applications/16ba760b-58d4-4"; + Requests[3384] = new DefaultHttpContext(); + Requests[3384].RequestServices = CreateServices(); + Requests[3384].Request.Method = "POST"; + Requests[3384].Request.Path = "/subscriptions/ec0ff1bf-7a24-/resourceGroups/f335941a-09d2-4db/providers/Microsoft.HDInsight/clusters/74c47d1e-ca/configurations/47375384-7f14-40a"; + Requests[3385] = new DefaultHttpContext(); + Requests[3385].RequestServices = CreateServices(); + Requests[3385].Request.Method = "GET"; + Requests[3385].Request.Path = "/subscriptions/84989d71-4649-/resourceGroups/7d8a4e21-4bde-46d/providers/Microsoft.HDInsight/clusters/600b673a-a9/configurations/4f34dad8-fbd0-463"; + Requests[3386] = new DefaultHttpContext(); + Requests[3386].RequestServices = CreateServices(); + Requests[3386].Request.Method = "PUT"; + Requests[3386].Request.Path = "/subscriptions/895adc7a-e6d7-/resourceGroups/5aec0f3c-3f35-4f8/providers/Microsoft.HDInsight/clusters/fd9f2077-e8/extensions/738b2267-5834"; + Requests[3387] = new DefaultHttpContext(); + Requests[3387].RequestServices = CreateServices(); + Requests[3387].Request.Method = "GET"; + Requests[3387].Request.Path = "/subscriptions/40dfacd0-88b7-/resourceGroups/95b0592b-8b30-484/providers/Microsoft.HDInsight/clusters/d66af711-41/extensions/eddf2322-f849"; + Requests[3388] = new DefaultHttpContext(); + Requests[3388].RequestServices = CreateServices(); + Requests[3388].Request.Method = "DELETE"; + Requests[3388].Request.Path = "/subscriptions/a5268cf5-f38e-/resourceGroups/3222354b-6d79-4e5/providers/Microsoft.HDInsight/clusters/7ab5314f-c3/extensions/6191cf63-170b"; + Requests[3389] = new DefaultHttpContext(); + Requests[3389].RequestServices = CreateServices(); + Requests[3389].Request.Method = "DELETE"; + Requests[3389].Request.Path = "/subscriptions/ba17eac9-4688-/resourceGroups/01d17d09-8b6b-45b/providers/Microsoft.HDInsight/clusters/8e7d7570-ff/scriptActions/c84ee3be-e"; + Requests[3390] = new DefaultHttpContext(); + Requests[3390].RequestServices = CreateServices(); + Requests[3390].Request.Method = "GET"; + Requests[3390].Request.Path = "/subscriptions/c9cb6624-2b5f-/resourceGroups/b9450e47-22f2-4d4/providers/Microsoft.HDInsight/clusters/40e019e9-0b/scriptExecutionHistory/f8de71ae-c1a9-40f"; + Requests[3391] = new DefaultHttpContext(); + Requests[3391].RequestServices = CreateServices(); + Requests[3391].Request.Method = "GET"; + Requests[3391].Request.Path = "/subscriptions/7ec477e5-ac16-/resourceGroups/c7f4325f-0d73-497/providers/Microsoft.InfrastructureInsights.Admin/regionHealths/c41e81a4/alerts/3da84651-"; + Requests[3392] = new DefaultHttpContext(); + Requests[3392].RequestServices = CreateServices(); + Requests[3392].Request.Method = "PUT"; + Requests[3392].Request.Path = "/subscriptions/bdfa19f5-5a49-/resourceGroups/75aa0f90-c478-4a7/providers/Microsoft.InfrastructureInsights.Admin/regionHealths/be5d02eb/alerts/99a7ba49-"; + Requests[3393] = new DefaultHttpContext(); + Requests[3393].RequestServices = CreateServices(); + Requests[3393].Request.Method = "GET"; + Requests[3393].Request.Path = "/subscriptions/6fff71b3-f607-/resourceGroups/7e748805-a8bf-48a/providers/Microsoft.InfrastructureInsights.Admin/regionHealths/e9c924a7/serviceHealths/90824631-9564"; + Requests[3394] = new DefaultHttpContext(); + Requests[3394].RequestServices = CreateServices(); + Requests[3394].Request.Method = "GET"; + Requests[3394].Request.Path = "/subscriptions/2a027b58-2cc4-/resourcegroups/d3b7f39d-2f52-456/providers/microsoft.insights/alertrules/8c880bcc/incidents/160930b8-908"; + Requests[3395] = new DefaultHttpContext(); + Requests[3395].RequestServices = CreateServices(); + Requests[3395].Request.Method = "DELETE"; + Requests[3395].Request.Path = "/subscriptions/91f08de7-3e16-/resourceGroups/b791199d-a916-4f9/providers/Microsoft.Insights/components/b68673d7-e47/Annotations/38ab4753-4ce"; + Requests[3396] = new DefaultHttpContext(); + Requests[3396].RequestServices = CreateServices(); + Requests[3396].Request.Method = "GET"; + Requests[3396].Request.Path = "/subscriptions/a01836a1-4237-/resourceGroups/7e9cb7ce-7141-459/providers/Microsoft.Insights/components/66177e4a-565/Annotations/57e8b636-97d"; + Requests[3397] = new DefaultHttpContext(); + Requests[3397].RequestServices = CreateServices(); + Requests[3397].Request.Method = "GET"; + Requests[3397].Request.Path = "/subscriptions/1e4cfe00-98e2-/resourceGroups/6bcaa751-d800-422/providers/Microsoft.Insights/components/24aa5bb7-291/APIKeys/061a5"; + Requests[3398] = new DefaultHttpContext(); + Requests[3398].RequestServices = CreateServices(); + Requests[3398].Request.Method = "DELETE"; + Requests[3398].Request.Path = "/subscriptions/21517f54-ce1d-/resourceGroups/8b66ce4c-7a57-41c/providers/Microsoft.Insights/components/ce38dda7-2ba/APIKeys/38984"; + Requests[3399] = new DefaultHttpContext(); + Requests[3399].RequestServices = CreateServices(); + Requests[3399].Request.Method = "GET"; + Requests[3399].Request.Path = "/subscriptions/6432cce1-84bb-/resourceGroups/d36ad5d3-ab58-407/providers/Microsoft.Insights/components/c43ba01d-f25/exportconfiguration/7a4d5df6"; + Requests[3400] = new DefaultHttpContext(); + Requests[3400].RequestServices = CreateServices(); + Requests[3400].Request.Method = "DELETE"; + Requests[3400].Request.Path = "/subscriptions/c5277787-8dfe-/resourceGroups/2ac7cedb-3175-4f5/providers/Microsoft.Insights/components/28486ac1-532/exportconfiguration/e2f45ed3"; + Requests[3401] = new DefaultHttpContext(); + Requests[3401].RequestServices = CreateServices(); + Requests[3401].Request.Method = "PUT"; + Requests[3401].Request.Path = "/subscriptions/3809cbaa-3fef-/resourceGroups/4e3eaafe-49ab-4e7/providers/Microsoft.Insights/components/6c7e4407-114/exportconfiguration/07c9b8fd"; + Requests[3402] = new DefaultHttpContext(); + Requests[3402].RequestServices = CreateServices(); + Requests[3402].Request.Method = "PATCH"; + Requests[3402].Request.Path = "/subscriptions/8ea3c354-a636-/resourceGroups/237a1060-030e-424/providers/Microsoft.Insights/components/c0c9e35b-3ff/favorites/b6a305b0-7"; + Requests[3403] = new DefaultHttpContext(); + Requests[3403].RequestServices = CreateServices(); + Requests[3403].Request.Method = "GET"; + Requests[3403].Request.Path = "/subscriptions/83c03a59-7aef-/resourceGroups/afbca39e-7782-484/providers/Microsoft.Insights/components/94ba494b-09d/favorites/724cca15-f"; + Requests[3404] = new DefaultHttpContext(); + Requests[3404].RequestServices = CreateServices(); + Requests[3404].Request.Method = "PUT"; + Requests[3404].Request.Path = "/subscriptions/50cc5434-4a9e-/resourceGroups/cbd3da14-c9e6-4de/providers/Microsoft.Insights/components/7c49186f-81c/favorites/7caf8368-2"; + Requests[3405] = new DefaultHttpContext(); + Requests[3405].RequestServices = CreateServices(); + Requests[3405].Request.Method = "DELETE"; + Requests[3405].Request.Path = "/subscriptions/7a756fdc-a524-/resourceGroups/8ddabb24-16f6-494/providers/Microsoft.Insights/components/475cb2ff-e29/favorites/fa76a670-3"; + Requests[3406] = new DefaultHttpContext(); + Requests[3406].RequestServices = CreateServices(); + Requests[3406].Request.Method = "GET"; + Requests[3406].Request.Path = "/subscriptions/f5c9d63f-f0ca-/resourceGroups/5b5d91a1-d59a-4ef/providers/Microsoft.Insights/components/f9ac0728-6a7/ProactiveDetectionConfigs/ec45fcf8-6aa4-4"; + Requests[3407] = new DefaultHttpContext(); + Requests[3407].RequestServices = CreateServices(); + Requests[3407].Request.Method = "PUT"; + Requests[3407].Request.Path = "/subscriptions/3e577ed7-427e-/resourceGroups/5263565b-38e0-4ed/providers/Microsoft.Insights/components/8c250dda-8c4/ProactiveDetectionConfigs/7444f46b-9f18-4"; + Requests[3408] = new DefaultHttpContext(); + Requests[3408].RequestServices = CreateServices(); + Requests[3408].Request.Method = "DELETE"; + Requests[3408].Request.Path = "/subscriptions/0a43c0cb-d928-/resourceGroups/a758f055-0ae3-4b3/providers/Microsoft.Insights/components/60d59084-310/WorkItemConfigs/3c3ed86f-ec71-4c"; + Requests[3409] = new DefaultHttpContext(); + Requests[3409].RequestServices = CreateServices(); + Requests[3409].Request.Method = "GET"; + Requests[3409].Request.Path = "/subscriptions/316ac405-ce13-/resourceGroups/e560146f-4833-42a/providers/Microsoft.Insights/metricAlerts/98975d82/status/42e57674-5"; + Requests[3410] = new DefaultHttpContext(); + Requests[3410].RequestServices = CreateServices(); + Requests[3410].Request.Method = "PUT"; + Requests[3410].Request.Path = "/subscriptions/fa740faa-02a7-/resourceGroups/06df777b-6828-495/providers/Microsoft.KeyVault/vaults/5c7c7a91-/accessPolicies/e58e91cf-880a"; + Requests[3411] = new DefaultHttpContext(); + Requests[3411].RequestServices = CreateServices(); + Requests[3411].Request.Method = "PUT"; + Requests[3411].Request.Path = "/subscriptions/bf7f52c5-c34e-/resourceGroups/6c1475dd-45cb-4da/providers/Microsoft.KeyVault/vaults/089d3ed2-/secrets/eeaf647a-3"; + Requests[3412] = new DefaultHttpContext(); + Requests[3412].RequestServices = CreateServices(); + Requests[3412].Request.Method = "GET"; + Requests[3412].Request.Path = "/subscriptions/8caf14cf-36d1-/resourceGroups/5ebec0af-47ae-486/providers/Microsoft.KeyVault/vaults/f8578ac6-/secrets/1e0b720e-f"; + Requests[3413] = new DefaultHttpContext(); + Requests[3413].RequestServices = CreateServices(); + Requests[3413].Request.Method = "PATCH"; + Requests[3413].Request.Path = "/subscriptions/e64be3f1-455e-/resourceGroups/77a10d7c-0826-41e/providers/Microsoft.KeyVault/vaults/4611d573-/secrets/77d1ae57-d"; + Requests[3414] = new DefaultHttpContext(); + Requests[3414].RequestServices = CreateServices(); + Requests[3414].Request.Method = "DELETE"; + Requests[3414].Request.Path = "/subscriptions/a89d2554-8b3d-/resourceGroups/5bb60ee0-961d-491/providers/Microsoft.Logic/integrationAccounts/ae87537e-a0c2-4345-8d0/agreements/b9443cbe-09f8"; + Requests[3415] = new DefaultHttpContext(); + Requests[3415].RequestServices = CreateServices(); + Requests[3415].Request.Method = "PUT"; + Requests[3415].Request.Path = "/subscriptions/83f77e9d-47c8-/resourceGroups/1fae412b-8bb1-436/providers/Microsoft.Logic/integrationAccounts/8da2006f-6d5b-43d0-84c/agreements/4179b367-47b9"; + Requests[3416] = new DefaultHttpContext(); + Requests[3416].RequestServices = CreateServices(); + Requests[3416].Request.Method = "GET"; + Requests[3416].Request.Path = "/subscriptions/9944d1f7-fcd6-/resourceGroups/59e12ce2-265e-4cd/providers/Microsoft.Logic/integrationAccounts/1c2cfc07-6f1b-4c26-a72/agreements/6e560d15-2de5"; + Requests[3417] = new DefaultHttpContext(); + Requests[3417].RequestServices = CreateServices(); + Requests[3417].Request.Method = "GET"; + Requests[3417].Request.Path = "/subscriptions/45b3c593-58f1-/resourceGroups/42735bdd-caf7-4e0/providers/Microsoft.Logic/integrationAccounts/8c199903-2dcd-421a-908/assemblies/aa9e3869-960d-4aad-8"; + Requests[3418] = new DefaultHttpContext(); + Requests[3418].RequestServices = CreateServices(); + Requests[3418].Request.Method = "PUT"; + Requests[3418].Request.Path = "/subscriptions/5be904ce-7027-/resourceGroups/c77e78d8-2960-44c/providers/Microsoft.Logic/integrationAccounts/fe042cde-897d-43db-812/assemblies/bfd033e0-3b86-494e-a"; + Requests[3419] = new DefaultHttpContext(); + Requests[3419].RequestServices = CreateServices(); + Requests[3419].Request.Method = "DELETE"; + Requests[3419].Request.Path = "/subscriptions/46d8692a-5efb-/resourceGroups/6ca63d18-a9c5-470/providers/Microsoft.Logic/integrationAccounts/1081cf25-bcfd-4f1e-88b/assemblies/42638952-6002-4a71-8"; + Requests[3420] = new DefaultHttpContext(); + Requests[3420].RequestServices = CreateServices(); + Requests[3420].Request.Method = "GET"; + Requests[3420].Request.Path = "/subscriptions/8258bf56-9050-/resourceGroups/63a4f130-3f3e-446/providers/Microsoft.Logic/integrationAccounts/a4e1b33b-086a-4c71-acf/batchConfigurations/48e5915f-0304-4a24-bdf"; + Requests[3421] = new DefaultHttpContext(); + Requests[3421].RequestServices = CreateServices(); + Requests[3421].Request.Method = "PUT"; + Requests[3421].Request.Path = "/subscriptions/3dcc6f9a-0607-/resourceGroups/1b6b0311-bb46-45d/providers/Microsoft.Logic/integrationAccounts/7ea78d7b-b5ff-461f-97c/batchConfigurations/f1329801-08a1-441a-92b"; + Requests[3422] = new DefaultHttpContext(); + Requests[3422].RequestServices = CreateServices(); + Requests[3422].Request.Method = "DELETE"; + Requests[3422].Request.Path = "/subscriptions/341494c5-a7a2-/resourceGroups/2d3ad9fc-8ad2-49a/providers/Microsoft.Logic/integrationAccounts/4557ff95-0810-45fd-b7d/batchConfigurations/3f5e2435-f53e-4e64-ac0"; + Requests[3423] = new DefaultHttpContext(); + Requests[3423].RequestServices = CreateServices(); + Requests[3423].Request.Method = "PUT"; + Requests[3423].Request.Path = "/subscriptions/facc9199-5c76-/resourceGroups/a9296b0d-c8cf-455/providers/Microsoft.Logic/integrationAccounts/109a723f-4a69-4c1d-b9d/certificates/9d3b354a-cb9a-4"; + Requests[3424] = new DefaultHttpContext(); + Requests[3424].RequestServices = CreateServices(); + Requests[3424].Request.Method = "GET"; + Requests[3424].Request.Path = "/subscriptions/770b950c-6c5f-/resourceGroups/40842794-92d4-465/providers/Microsoft.Logic/integrationAccounts/04596cda-b71c-4aed-8f7/certificates/232adb9b-532a-4"; + Requests[3425] = new DefaultHttpContext(); + Requests[3425].RequestServices = CreateServices(); + Requests[3425].Request.Method = "DELETE"; + Requests[3425].Request.Path = "/subscriptions/9fe019a5-7d4f-/resourceGroups/e4086f43-a5cf-412/providers/Microsoft.Logic/integrationAccounts/8ade6bc2-932c-4ab2-851/certificates/10f15b81-976f-4"; + Requests[3426] = new DefaultHttpContext(); + Requests[3426].RequestServices = CreateServices(); + Requests[3426].Request.Method = "PUT"; + Requests[3426].Request.Path = "/subscriptions/675e9ca0-bebc-/resourceGroups/df8c1564-079d-438/providers/Microsoft.Logic/integrationAccounts/c31d70ff-e44d-45a3-b94/maps/1492c7e"; + Requests[3427] = new DefaultHttpContext(); + Requests[3427].RequestServices = CreateServices(); + Requests[3427].Request.Method = "DELETE"; + Requests[3427].Request.Path = "/subscriptions/83805967-8966-/resourceGroups/88820d1b-3680-4a0/providers/Microsoft.Logic/integrationAccounts/06052c1d-5492-4690-8c7/maps/9749938"; + Requests[3428] = new DefaultHttpContext(); + Requests[3428].RequestServices = CreateServices(); + Requests[3428].Request.Method = "GET"; + Requests[3428].Request.Path = "/subscriptions/adae313f-3aaa-/resourceGroups/86a80972-a793-458/providers/Microsoft.Logic/integrationAccounts/beb4afd6-6118-4eac-a6c/maps/e415a0f"; + Requests[3429] = new DefaultHttpContext(); + Requests[3429].RequestServices = CreateServices(); + Requests[3429].Request.Method = "PUT"; + Requests[3429].Request.Path = "/subscriptions/8445dd71-95bc-/resourceGroups/2468edb6-a925-4df/providers/Microsoft.Logic/integrationAccounts/e6fbca30-a620-4b61-ad6/partners/dc0ae800-e3"; + Requests[3430] = new DefaultHttpContext(); + Requests[3430].RequestServices = CreateServices(); + Requests[3430].Request.Method = "DELETE"; + Requests[3430].Request.Path = "/subscriptions/a276c58d-0701-/resourceGroups/3f491580-e657-4a5/providers/Microsoft.Logic/integrationAccounts/d67a397c-2e15-4b0d-b0d/partners/2b0df951-aa"; + Requests[3431] = new DefaultHttpContext(); + Requests[3431].RequestServices = CreateServices(); + Requests[3431].Request.Method = "GET"; + Requests[3431].Request.Path = "/subscriptions/ae21e61d-abd6-/resourceGroups/a3f00f37-44b4-4cd/providers/Microsoft.Logic/integrationAccounts/3c340d12-79d8-4999-a05/partners/f45944ee-c2"; + Requests[3432] = new DefaultHttpContext(); + Requests[3432].RequestServices = CreateServices(); + Requests[3432].Request.Method = "GET"; + Requests[3432].Request.Path = "/subscriptions/edd99227-881c-/resourceGroups/7efc798d-64f4-415/providers/Microsoft.Logic/integrationAccounts/0c176140-3da5-4e72-b4c/schemas/f2dd5000-f"; + Requests[3433] = new DefaultHttpContext(); + Requests[3433].RequestServices = CreateServices(); + Requests[3433].Request.Method = "PUT"; + Requests[3433].Request.Path = "/subscriptions/b2f6bb05-6364-/resourceGroups/9f082b70-ac23-438/providers/Microsoft.Logic/integrationAccounts/520f51ee-c409-4652-9d4/schemas/33ae82b5-4"; + Requests[3434] = new DefaultHttpContext(); + Requests[3434].RequestServices = CreateServices(); + Requests[3434].Request.Method = "DELETE"; + Requests[3434].Request.Path = "/subscriptions/55d79d71-f66a-/resourceGroups/0ff3e5ec-2cf6-420/providers/Microsoft.Logic/integrationAccounts/b406af49-1a1e-4b44-889/schemas/001a8f66-1"; + Requests[3435] = new DefaultHttpContext(); + Requests[3435].RequestServices = CreateServices(); + Requests[3435].Request.Method = "GET"; + Requests[3435].Request.Path = "/subscriptions/ca06de7d-2384-/resourceGroups/c7b32f8a-537c-4c5/providers/Microsoft.Logic/integrationAccounts/da5c8b29-e1bf-4f27-b1e/sessions/fce204b4-59"; + Requests[3436] = new DefaultHttpContext(); + Requests[3436].RequestServices = CreateServices(); + Requests[3436].Request.Method = "PUT"; + Requests[3436].Request.Path = "/subscriptions/f4a773fa-3623-/resourceGroups/e8d57092-bd6c-4d0/providers/Microsoft.Logic/integrationAccounts/0b917153-9421-4dd2-863/sessions/a20f4dfe-bb"; + Requests[3437] = new DefaultHttpContext(); + Requests[3437].RequestServices = CreateServices(); + Requests[3437].Request.Method = "DELETE"; + Requests[3437].Request.Path = "/subscriptions/9dca12ee-3653-/resourceGroups/ac2811ea-658b-425/providers/Microsoft.Logic/integrationAccounts/f0a98d4f-83e8-48b3-936/sessions/13c8b848-08"; + Requests[3438] = new DefaultHttpContext(); + Requests[3438].RequestServices = CreateServices(); + Requests[3438].Request.Method = "GET"; + Requests[3438].Request.Path = "/subscriptions/a39d0d27-e75a-/resourceGroups/88e1ebcf-55bc-4df/providers/Microsoft.Logic/workflows/c9a7cfc9-e19/accessKeys/e3d14eec-6e40"; + Requests[3439] = new DefaultHttpContext(); + Requests[3439].RequestServices = CreateServices(); + Requests[3439].Request.Method = "PUT"; + Requests[3439].Request.Path = "/subscriptions/04728e65-a966-/resourceGroups/87649c29-119d-4d1/providers/Microsoft.Logic/workflows/d0057c23-f0b/accessKeys/80b98ff3-7c74"; + Requests[3440] = new DefaultHttpContext(); + Requests[3440].RequestServices = CreateServices(); + Requests[3440].Request.Method = "DELETE"; + Requests[3440].Request.Path = "/subscriptions/d25ea2c4-73b7-/resourceGroups/a2115e2c-6715-476/providers/Microsoft.Logic/workflows/520432c1-178/accessKeys/0f5f3699-5536"; + Requests[3441] = new DefaultHttpContext(); + Requests[3441].RequestServices = CreateServices(); + Requests[3441].Request.Method = "GET"; + Requests[3441].Request.Path = "/subscriptions/58dc1beb-427b-/resourceGroups/e0ae3904-15a6-441/providers/Microsoft.Logic/workflows/324a8e57-eb5/runs/9954b65"; + Requests[3442] = new DefaultHttpContext(); + Requests[3442].RequestServices = CreateServices(); + Requests[3442].Request.Method = "GET"; + Requests[3442].Request.Path = "/subscriptions/7ee18238-c94f-/resourceGroups/aaf26dab-be63-4a0/providers/Microsoft.Logic/workflows/5ac508d1-b74/triggers/e36ea17d-bc"; + Requests[3443] = new DefaultHttpContext(); + Requests[3443].RequestServices = CreateServices(); + Requests[3443].Request.Method = "GET"; + Requests[3443].Request.Path = "/subscriptions/04753533-3003-/resourceGroups/f0b53651-11c5-46a/providers/Microsoft.Logic/workflows/45cfd6e1-071/versions/a1d9beac-"; + Requests[3444] = new DefaultHttpContext(); + Requests[3444].RequestServices = CreateServices(); + Requests[3444].Request.Method = "GET"; + Requests[3444].Request.Path = "/subscriptions/7fe7659b-854c-/resourceGroups/7eeea410-0acf-44d/providers/Microsoft.MachineLearning/commitmentPlans/874bc03d-dc26-4b98/commitmentAssociations/3b7de80f-568e-47c7-8328-5"; + Requests[3445] = new DefaultHttpContext(); + Requests[3445].RequestServices = CreateServices(); + Requests[3445].Request.Method = "DELETE"; + Requests[3445].Request.Path = "/subscriptions/74f93457-340b-/resourceGroups/b5e3612f-e76c-4cd/providers/Microsoft.MachineLearningExperimentation/accounts/18236e0b-a9/workspaces/92fd2220-8536"; + Requests[3446] = new DefaultHttpContext(); + Requests[3446].RequestServices = CreateServices(); + Requests[3446].Request.Method = "PATCH"; + Requests[3446].Request.Path = "/subscriptions/6962ebd6-cc86-/resourceGroups/859efb4a-320e-46e/providers/Microsoft.MachineLearningExperimentation/accounts/e7122c1f-57/workspaces/ca11d1e2-3711"; + Requests[3447] = new DefaultHttpContext(); + Requests[3447].RequestServices = CreateServices(); + Requests[3447].Request.Method = "PUT"; + Requests[3447].Request.Path = "/subscriptions/9272f9d6-3e16-/resourceGroups/0eb450c0-4347-438/providers/Microsoft.MachineLearningExperimentation/accounts/1ca629f4-7c/workspaces/28d40310-65dd"; + Requests[3448] = new DefaultHttpContext(); + Requests[3448].RequestServices = CreateServices(); + Requests[3448].Request.Method = "GET"; + Requests[3448].Request.Path = "/subscriptions/e22207a2-a169-/resourceGroups/ed413dd8-5f6f-4ed/providers/Microsoft.MachineLearningExperimentation/accounts/2a38bfc5-45/workspaces/69d7d6b6-4df6"; + Requests[3449] = new DefaultHttpContext(); + Requests[3449].RequestServices = CreateServices(); + Requests[3449].Request.Method = "DELETE"; + Requests[3449].Request.Path = "/subscriptions/6b4618b9-a1f2-/resourceGroups/09598923-73e4-436/providers/Microsoft.Media/mediaServices/77b791d1-94/assets/9037a48f-"; + Requests[3450] = new DefaultHttpContext(); + Requests[3450].RequestServices = CreateServices(); + Requests[3450].Request.Method = "GET"; + Requests[3450].Request.Path = "/subscriptions/1c86d388-768b-/resourceGroups/5f3406fa-de9b-452/providers/Microsoft.Media/mediaServices/6da2edd1-4e/assets/0a6e653c-"; + Requests[3451] = new DefaultHttpContext(); + Requests[3451].RequestServices = CreateServices(); + Requests[3451].Request.Method = "PUT"; + Requests[3451].Request.Path = "/subscriptions/29c71370-ded1-/resourceGroups/01246921-d023-433/providers/Microsoft.Media/mediaServices/575aabb7-98/assets/dfb6574d-"; + Requests[3452] = new DefaultHttpContext(); + Requests[3452].RequestServices = CreateServices(); + Requests[3452].Request.Method = "PATCH"; + Requests[3452].Request.Path = "/subscriptions/fbe499ab-4a47-/resourceGroups/6e975c2c-e6ee-4cf/providers/Microsoft.Media/mediaServices/c04fb11b-29/assets/2098e208-"; + Requests[3453] = new DefaultHttpContext(); + Requests[3453].RequestServices = CreateServices(); + Requests[3453].Request.Method = "PUT"; + Requests[3453].Request.Path = "/subscriptions/431df7d0-1438-/resourceGroups/edd52ad9-e2da-42f/providers/Microsoft.Media/mediaServices/4fea9547-c4/contentKeyPolicies/ed45b748-6b2a-4140-9"; + Requests[3454] = new DefaultHttpContext(); + Requests[3454].RequestServices = CreateServices(); + Requests[3454].Request.Method = "PATCH"; + Requests[3454].Request.Path = "/subscriptions/560879bc-2edf-/resourceGroups/64cecb88-253d-447/providers/Microsoft.Media/mediaServices/565ca3f1-a1/contentKeyPolicies/bfa0ff76-b629-4df8-b"; + Requests[3455] = new DefaultHttpContext(); + Requests[3455].RequestServices = CreateServices(); + Requests[3455].Request.Method = "DELETE"; + Requests[3455].Request.Path = "/subscriptions/242ac867-1815-/resourceGroups/e595fd97-9394-456/providers/Microsoft.Media/mediaServices/d4009294-a9/contentKeyPolicies/1e39e331-e756-4aec-b"; + Requests[3456] = new DefaultHttpContext(); + Requests[3456].RequestServices = CreateServices(); + Requests[3456].Request.Method = "GET"; + Requests[3456].Request.Path = "/subscriptions/2ff1f888-ca70-/resourceGroups/f62a7b17-9974-41c/providers/Microsoft.Media/mediaServices/b3cb07d5-ff/contentKeyPolicies/8d411abb-a294-40c2-8"; + Requests[3457] = new DefaultHttpContext(); + Requests[3457].RequestServices = CreateServices(); + Requests[3457].Request.Method = "PUT"; + Requests[3457].Request.Path = "/subscriptions/ec94515f-30ec-/resourceGroups/6a5c3965-23e2-4b2/providers/Microsoft.Media/mediaservices/aa0289a6-94/liveEvents/3460be13-4902"; + Requests[3458] = new DefaultHttpContext(); + Requests[3458].RequestServices = CreateServices(); + Requests[3458].Request.Method = "DELETE"; + Requests[3458].Request.Path = "/subscriptions/fce00197-4414-/resourceGroups/24bae5da-f2d1-439/providers/Microsoft.Media/mediaservices/48ba7cc1-8c/liveEvents/ad7dabcb-4800"; + Requests[3459] = new DefaultHttpContext(); + Requests[3459].RequestServices = CreateServices(); + Requests[3459].Request.Method = "PATCH"; + Requests[3459].Request.Path = "/subscriptions/7d16a90e-6805-/resourceGroups/81d6308c-4ac5-44a/providers/Microsoft.Media/mediaservices/17d1c142-9e/liveEvents/894da6ee-5797"; + Requests[3460] = new DefaultHttpContext(); + Requests[3460].RequestServices = CreateServices(); + Requests[3460].Request.Method = "GET"; + Requests[3460].Request.Path = "/subscriptions/b05cbbe8-d596-/resourceGroups/bae581b4-f0a0-4a7/providers/Microsoft.Media/mediaservices/5d14d32b-28/liveEvents/a2d58cf7-97cd"; + Requests[3461] = new DefaultHttpContext(); + Requests[3461].RequestServices = CreateServices(); + Requests[3461].Request.Method = "GET"; + Requests[3461].Request.Path = "/subscriptions/b2d2dd83-6242-/resourceGroups/e432b4c5-1e33-4bb/providers/Microsoft.Media/mediaservices/ec36fbb8-e1/streamingEndpoints/8f85ac35-6236-47b7-82"; + Requests[3462] = new DefaultHttpContext(); + Requests[3462].RequestServices = CreateServices(); + Requests[3462].Request.Method = "PUT"; + Requests[3462].Request.Path = "/subscriptions/c7052482-1345-/resourceGroups/54d7ce81-c9a3-464/providers/Microsoft.Media/mediaservices/07d639bf-64/streamingEndpoints/5f16bd2e-7a44-4434-97"; + Requests[3463] = new DefaultHttpContext(); + Requests[3463].RequestServices = CreateServices(); + Requests[3463].Request.Method = "DELETE"; + Requests[3463].Request.Path = "/subscriptions/1b7b8379-9abf-/resourceGroups/42a42f00-e4ff-458/providers/Microsoft.Media/mediaservices/9d556a1f-5d/streamingEndpoints/fe984e90-14e8-4b18-8d"; + Requests[3464] = new DefaultHttpContext(); + Requests[3464].RequestServices = CreateServices(); + Requests[3464].Request.Method = "PATCH"; + Requests[3464].Request.Path = "/subscriptions/0a8ae250-edab-/resourceGroups/d8389ee8-525f-4e2/providers/Microsoft.Media/mediaservices/7593dbe6-c6/streamingEndpoints/da79415f-0b00-47d8-81"; + Requests[3465] = new DefaultHttpContext(); + Requests[3465].RequestServices = CreateServices(); + Requests[3465].Request.Method = "DELETE"; + Requests[3465].Request.Path = "/subscriptions/6f607e44-2c08-/resourceGroups/55e10e2d-b392-4e8/providers/Microsoft.Media/mediaServices/e0f0b994-c4/streamingLocators/4f057f4c-3138-442d-a"; + Requests[3466] = new DefaultHttpContext(); + Requests[3466].RequestServices = CreateServices(); + Requests[3466].Request.Method = "GET"; + Requests[3466].Request.Path = "/subscriptions/0724475b-6cef-/resourceGroups/be400e3b-4589-405/providers/Microsoft.Media/mediaServices/dab901a4-1a/streamingLocators/e6ebdf85-e020-4da3-8"; + Requests[3467] = new DefaultHttpContext(); + Requests[3467].RequestServices = CreateServices(); + Requests[3467].Request.Method = "PUT"; + Requests[3467].Request.Path = "/subscriptions/a1cc61ad-b4a5-/resourceGroups/6c64ae08-62c7-4cd/providers/Microsoft.Media/mediaServices/6c3bbb85-b7/streamingLocators/58c86d08-773d-49f1-9"; + Requests[3468] = new DefaultHttpContext(); + Requests[3468].RequestServices = CreateServices(); + Requests[3468].Request.Method = "DELETE"; + Requests[3468].Request.Path = "/subscriptions/f33c929d-8374-/resourceGroups/2b1f2831-bde1-438/providers/Microsoft.Media/mediaServices/7841d2e4-7b/streamingPolicies/819544ba-0f0d-4d61-"; + Requests[3469] = new DefaultHttpContext(); + Requests[3469].RequestServices = CreateServices(); + Requests[3469].Request.Method = "GET"; + Requests[3469].Request.Path = "/subscriptions/0e246b2e-5a5b-/resourceGroups/d6e9b20f-5f05-492/providers/Microsoft.Media/mediaServices/23a8ef34-cf/streamingPolicies/1a311120-ac7f-49ac-"; + Requests[3470] = new DefaultHttpContext(); + Requests[3470].RequestServices = CreateServices(); + Requests[3470].Request.Method = "PUT"; + Requests[3470].Request.Path = "/subscriptions/ee21fcef-6d6c-/resourceGroups/19d13cc9-4f4f-430/providers/Microsoft.Media/mediaServices/89979045-ce/streamingPolicies/ad4846f1-6292-4f23-"; + Requests[3471] = new DefaultHttpContext(); + Requests[3471].RequestServices = CreateServices(); + Requests[3471].Request.Method = "PUT"; + Requests[3471].Request.Path = "/subscriptions/8e152d6a-a8ef-/resourceGroups/a6a4ae7b-2ba0-4a0/providers/Microsoft.Media/mediaServices/281f2511-4d/transforms/2ddf13b1-5d1c"; + Requests[3472] = new DefaultHttpContext(); + Requests[3472].RequestServices = CreateServices(); + Requests[3472].Request.Method = "GET"; + Requests[3472].Request.Path = "/subscriptions/a738e7b6-5c24-/resourceGroups/ff6f8f79-6d91-48e/providers/Microsoft.Media/mediaServices/ffad459c-fb/transforms/74b0f4ec-e2b2"; + Requests[3473] = new DefaultHttpContext(); + Requests[3473].RequestServices = CreateServices(); + Requests[3473].Request.Method = "DELETE"; + Requests[3473].Request.Path = "/subscriptions/29032d00-bd97-/resourceGroups/70eed3bf-d608-446/providers/Microsoft.Media/mediaServices/82e5fdc5-28/transforms/e8dd47a9-f6b2"; + Requests[3474] = new DefaultHttpContext(); + Requests[3474].RequestServices = CreateServices(); + Requests[3474].Request.Method = "PATCH"; + Requests[3474].Request.Path = "/subscriptions/cae4330a-c2db-/resourceGroups/e5b692e6-9d4e-4d4/providers/Microsoft.Media/mediaServices/940bed30-f0/transforms/b1a4a952-ec2f"; + Requests[3475] = new DefaultHttpContext(); + Requests[3475].RequestServices = CreateServices(); + Requests[3475].Request.Method = "GET"; + Requests[3475].Request.Path = "/subscriptions/b1cde871-d53f-/resourceGroups/cb23be53-b3ec-4cf/providers/Microsoft.Migrate/projects/6a04db49-0d/groups/8310a8a8-"; + Requests[3476] = new DefaultHttpContext(); + Requests[3476].RequestServices = CreateServices(); + Requests[3476].Request.Method = "DELETE"; + Requests[3476].Request.Path = "/subscriptions/69e31c17-a1dd-/resourceGroups/96948bf6-8042-460/providers/Microsoft.Migrate/projects/5fe2908d-3f/groups/af6d0b61-"; + Requests[3477] = new DefaultHttpContext(); + Requests[3477].RequestServices = CreateServices(); + Requests[3477].Request.Method = "PUT"; + Requests[3477].Request.Path = "/subscriptions/0fede060-c092-/resourceGroups/889e957a-12af-450/providers/Microsoft.Migrate/projects/0b6d2ea8-6f/groups/cc09f2a0-"; + Requests[3478] = new DefaultHttpContext(); + Requests[3478].RequestServices = CreateServices(); + Requests[3478].Request.Method = "GET"; + Requests[3478].Request.Path = "/subscriptions/d5b448b2-fe13-/resourceGroups/3d43c187-84c8-438/providers/Microsoft.Migrate/projects/9fddb64a-f3/machines/da76e210-88"; + Requests[3479] = new DefaultHttpContext(); + Requests[3479].RequestServices = CreateServices(); + Requests[3479].Request.Method = "PUT"; + Requests[3479].Request.Path = "/subscriptions/66b629db-8bb7-/resourceGroups/6ab07d6e-d430-498/providers/Microsoft.Network/expressRouteCircuits/a6e42d3a-8f/authorizations/5382a1f2-d735-496"; + Requests[3480] = new DefaultHttpContext(); + Requests[3480].RequestServices = CreateServices(); + Requests[3480].Request.Method = "DELETE"; + Requests[3480].Request.Path = "/subscriptions/19d6eacf-828d-/resourceGroups/e95c5dd2-f1db-449/providers/Microsoft.Network/expressRouteCircuits/653b6e58-2f/authorizations/8d5e4209-95b0-44e"; + Requests[3481] = new DefaultHttpContext(); + Requests[3481].RequestServices = CreateServices(); + Requests[3481].Request.Method = "GET"; + Requests[3481].Request.Path = "/subscriptions/8b99a4d9-9927-/resourceGroups/66fa6cab-4016-4ef/providers/Microsoft.Network/expressRouteCircuits/7b047da0-7f/authorizations/81aaaf8a-7a2d-4fa"; + Requests[3482] = new DefaultHttpContext(); + Requests[3482].RequestServices = CreateServices(); + Requests[3482].Request.Method = "GET"; + Requests[3482].Request.Path = "/subscriptions/257048b4-9ee5-/resourceGroups/913860d6-5fa2-4cd/providers/Microsoft.Network/expressRouteCircuits/2a7ba91e-65/peerings/9b2e7641-4e"; + Requests[3483] = new DefaultHttpContext(); + Requests[3483].RequestServices = CreateServices(); + Requests[3483].Request.Method = "PUT"; + Requests[3483].Request.Path = "/subscriptions/03ce3505-de9f-/resourceGroups/45ea07df-d01a-4de/providers/Microsoft.Network/expressRouteCircuits/78de00a7-7b/peerings/825d05ea-97"; + Requests[3484] = new DefaultHttpContext(); + Requests[3484].RequestServices = CreateServices(); + Requests[3484].Request.Method = "DELETE"; + Requests[3484].Request.Path = "/subscriptions/50fce6bf-0405-/resourceGroups/089d2eae-e217-4ee/providers/Microsoft.Network/expressRouteCircuits/04227265-a0/peerings/1414f54f-f2"; + Requests[3485] = new DefaultHttpContext(); + Requests[3485].RequestServices = CreateServices(); + Requests[3485].Request.Method = "PUT"; + Requests[3485].Request.Path = "/subscriptions/3cae6b34-754a-/resourceGroups/96ec70cf-e66d-44e/providers/Microsoft.Network/expressRouteCrossConnections/04d2ebd6-2352-464c-/peerings/8b8b5ada-e2"; + Requests[3486] = new DefaultHttpContext(); + Requests[3486].RequestServices = CreateServices(); + Requests[3486].Request.Method = "GET"; + Requests[3486].Request.Path = "/subscriptions/b0b15d0e-3f77-/resourceGroups/4b596d96-7d88-466/providers/Microsoft.Network/expressRouteCrossConnections/2d1c3c49-d9ef-4ad6-/peerings/4973736a-31"; + Requests[3487] = new DefaultHttpContext(); + Requests[3487].RequestServices = CreateServices(); + Requests[3487].Request.Method = "DELETE"; + Requests[3487].Request.Path = "/subscriptions/100cd908-a6c8-/resourceGroups/05900e9d-03fa-45e/providers/Microsoft.Network/expressRouteCrossConnections/af306fae-5ab8-4e01-/peerings/73d1e4d5-a8"; + Requests[3488] = new DefaultHttpContext(); + Requests[3488].RequestServices = CreateServices(); + Requests[3488].Request.Method = "GET"; + Requests[3488].Request.Path = "/subscriptions/d15b397f-87e7-/resourceGroups/e53b121d-e898-461/providers/Microsoft.Network/loadBalancers/657ea4b9-80bc-4d/backendAddressPools/845b9bd4-eb60-4efd-a25"; + Requests[3489] = new DefaultHttpContext(); + Requests[3489].RequestServices = CreateServices(); + Requests[3489].Request.Method = "GET"; + Requests[3489].Request.Path = "/subscriptions/5eadf865-50fe-/resourceGroups/56ed28c1-4446-4be/providers/Microsoft.Network/loadBalancers/6d45e820-e9f3-44/frontendIPConfigurations/4d2c7fae-49c2-43be-b51a-ba0"; + Requests[3490] = new DefaultHttpContext(); + Requests[3490].RequestServices = CreateServices(); + Requests[3490].Request.Method = "DELETE"; + Requests[3490].Request.Path = "/subscriptions/92fed8da-a027-/resourceGroups/cf9329e0-acc4-40c/providers/Microsoft.Network/loadBalancers/9149b402-b735-49/inboundNatRules/05407719-0ced-440e"; + Requests[3491] = new DefaultHttpContext(); + Requests[3491].RequestServices = CreateServices(); + Requests[3491].Request.Method = "PUT"; + Requests[3491].Request.Path = "/subscriptions/e7cbb2bc-f673-/resourceGroups/c5e12e47-ecc3-428/providers/Microsoft.Network/loadBalancers/24a32522-8bce-4b/inboundNatRules/44e2be43-e8c5-4a7d"; + Requests[3492] = new DefaultHttpContext(); + Requests[3492].RequestServices = CreateServices(); + Requests[3492].Request.Method = "GET"; + Requests[3492].Request.Path = "/subscriptions/87a6f75a-4edb-/resourceGroups/4f2a16dd-59de-436/providers/Microsoft.Network/loadBalancers/20705bb8-9340-47/inboundNatRules/077940ae-6d04-47d7"; + Requests[3493] = new DefaultHttpContext(); + Requests[3493].RequestServices = CreateServices(); + Requests[3493].Request.Method = "GET"; + Requests[3493].Request.Path = "/subscriptions/539ecc95-3fd8-/resourceGroups/cc362dbe-3e8d-475/providers/Microsoft.Network/loadBalancers/993ec159-315f-40/loadBalancingRules/a2814eff-c5cb-4f77-9d"; + Requests[3494] = new DefaultHttpContext(); + Requests[3494].RequestServices = CreateServices(); + Requests[3494].Request.Method = "GET"; + Requests[3494].Request.Path = "/subscriptions/49548392-8520-/resourceGroups/8f88c160-0718-4aa/providers/Microsoft.Network/loadBalancers/83ca8776-b035-4f/probes/e17a5b15-"; + Requests[3495] = new DefaultHttpContext(); + Requests[3495].RequestServices = CreateServices(); + Requests[3495].Request.Method = "GET"; + Requests[3495].Request.Path = "/subscriptions/ae9e6ad1-39a3-/resourceGroups/6312cebc-0617-4cd/providers/Microsoft.Network/networkInterfaces/c13bc402-5ad7-42fe-9/ipConfigurations/2cc4b5b9-c51c-4587-"; + Requests[3496] = new DefaultHttpContext(); + Requests[3496].RequestServices = CreateServices(); + Requests[3496].Request.Method = "GET"; + Requests[3496].Request.Path = "/subscriptions/25352ebf-30d2-/resourceGroups/566b5f1c-c7e6-4da/providers/Microsoft.Network/networkSecurityGroups/87e41767-6fab-4ac7-a5a5-/defaultSecurityRules/5e871e30-467c-45f2-8606"; + Requests[3497] = new DefaultHttpContext(); + Requests[3497].RequestServices = CreateServices(); + Requests[3497].Request.Method = "PUT"; + Requests[3497].Request.Path = "/subscriptions/663da4a5-c53e-/resourceGroups/1c16b27e-bee4-4c6/providers/Microsoft.Network/networkSecurityGroups/b9fa6247-e969-4b15-91f1-/securityRules/cad39ae6-638c-40"; + Requests[3498] = new DefaultHttpContext(); + Requests[3498].RequestServices = CreateServices(); + Requests[3498].Request.Method = "GET"; + Requests[3498].Request.Path = "/subscriptions/7b2c1d21-0842-/resourceGroups/14e9a315-9d85-492/providers/Microsoft.Network/networkSecurityGroups/eefa68cd-49b8-493f-bc82-/securityRules/c3020b27-97c7-4d"; + Requests[3499] = new DefaultHttpContext(); + Requests[3499].RequestServices = CreateServices(); + Requests[3499].Request.Method = "DELETE"; + Requests[3499].Request.Path = "/subscriptions/74ad4561-642e-/resourceGroups/548e10e6-21ef-48d/providers/Microsoft.Network/networkSecurityGroups/cdaa2261-9a27-4164-bfd3-/securityRules/f755a7fe-150b-40"; + Requests[3500] = new DefaultHttpContext(); + Requests[3500].RequestServices = CreateServices(); + Requests[3500].Request.Method = "GET"; + Requests[3500].Request.Path = "/subscriptions/d5018188-f3da-/resourceGroups/34b1e79e-f8e8-4e7/providers/Microsoft.Network/networkWatchers/7ae3cdd7-6d63-436f/connectionMonitors/1d4b8c23-8f45-4228-b2"; + Requests[3501] = new DefaultHttpContext(); + Requests[3501].RequestServices = CreateServices(); + Requests[3501].Request.Method = "PUT"; + Requests[3501].Request.Path = "/subscriptions/812cbacc-9dae-/resourceGroups/113810f4-23a8-456/providers/Microsoft.Network/networkWatchers/a3b85687-2393-41f5/connectionMonitors/e41d6e08-0612-4e2c-b8"; + Requests[3502] = new DefaultHttpContext(); + Requests[3502].RequestServices = CreateServices(); + Requests[3502].Request.Method = "DELETE"; + Requests[3502].Request.Path = "/subscriptions/4c7b9ef9-d467-/resourceGroups/229eaf93-33ca-45f/providers/Microsoft.Network/networkWatchers/71cf04bf-e6c7-41b3/connectionMonitors/7e252119-8d6d-4329-95"; + Requests[3503] = new DefaultHttpContext(); + Requests[3503].RequestServices = CreateServices(); + Requests[3503].Request.Method = "DELETE"; + Requests[3503].Request.Path = "/subscriptions/e8ee2592-fb52-/resourceGroups/bfec8c7a-9255-4cd/providers/Microsoft.Network/networkWatchers/86b3a912-5557-4d50/packetCaptures/4d7fa849-1aa6-4a4"; + Requests[3504] = new DefaultHttpContext(); + Requests[3504].RequestServices = CreateServices(); + Requests[3504].Request.Method = "PUT"; + Requests[3504].Request.Path = "/subscriptions/3f8771fc-cf9c-/resourceGroups/51ea5769-7963-4c9/providers/Microsoft.Network/networkWatchers/e7ed7998-a975-4b66/packetCaptures/cc2d15e0-6167-46d"; + Requests[3505] = new DefaultHttpContext(); + Requests[3505].RequestServices = CreateServices(); + Requests[3505].Request.Method = "GET"; + Requests[3505].Request.Path = "/subscriptions/1c397139-f8b4-/resourceGroups/33350aff-f876-46c/providers/Microsoft.Network/networkWatchers/3cc2f582-a877-4c81/packetCaptures/c932b2cc-752e-479"; + Requests[3506] = new DefaultHttpContext(); + Requests[3506].RequestServices = CreateServices(); + Requests[3506].Request.Method = "PATCH"; + Requests[3506].Request.Path = "/subscriptions/c4ceeee2-499b-/resourceGroups/1b13683e-a54b-4ef/providers/Microsoft.Network/routeFilters/1a6512dc-7b59-4/routeFilterRules/c5447648"; + Requests[3507] = new DefaultHttpContext(); + Requests[3507].RequestServices = CreateServices(); + Requests[3507].Request.Method = "PUT"; + Requests[3507].Request.Path = "/subscriptions/4b5b50e5-71a8-/resourceGroups/8a7b1f6b-e319-411/providers/Microsoft.Network/routeFilters/965ece29-30a0-4/routeFilterRules/bb43553d"; + Requests[3508] = new DefaultHttpContext(); + Requests[3508].RequestServices = CreateServices(); + Requests[3508].Request.Method = "GET"; + Requests[3508].Request.Path = "/subscriptions/e85664f7-cb4d-/resourceGroups/de439e56-c194-47d/providers/Microsoft.Network/routeFilters/49ebd842-df69-4/routeFilterRules/485fb1e2"; + Requests[3509] = new DefaultHttpContext(); + Requests[3509].RequestServices = CreateServices(); + Requests[3509].Request.Method = "DELETE"; + Requests[3509].Request.Path = "/subscriptions/ca69deed-9837-/resourceGroups/97054c49-9288-42f/providers/Microsoft.Network/routeFilters/af54ef10-8a30-4/routeFilterRules/ad10f706"; + Requests[3510] = new DefaultHttpContext(); + Requests[3510].RequestServices = CreateServices(); + Requests[3510].Request.Method = "DELETE"; + Requests[3510].Request.Path = "/subscriptions/c4ce9705-3a5c-/resourceGroups/ee0861c9-1b4c-4a9/providers/Microsoft.Network/routeTables/74a90a65-c3ee-/routes/d8de5d25-"; + Requests[3511] = new DefaultHttpContext(); + Requests[3511].RequestServices = CreateServices(); + Requests[3511].Request.Method = "GET"; + Requests[3511].Request.Path = "/subscriptions/6b45e9b3-7a2e-/resourceGroups/6b5de833-7585-427/providers/Microsoft.Network/routeTables/70dc046a-7562-/routes/eebb21d4-"; + Requests[3512] = new DefaultHttpContext(); + Requests[3512].RequestServices = CreateServices(); + Requests[3512].Request.Method = "PUT"; + Requests[3512].Request.Path = "/subscriptions/e5d69f04-3056-/resourceGroups/7d90d3d4-5f57-42f/providers/Microsoft.Network/routeTables/904f088c-a724-/routes/dc5d32f4-"; + Requests[3513] = new DefaultHttpContext(); + Requests[3513].RequestServices = CreateServices(); + Requests[3513].Request.Method = "GET"; + Requests[3513].Request.Path = "/subscriptions/e6c5c6a0-8bc3-/resourceGroups/cd559ce5-1478-4ef/providers/Microsoft.Network/trafficmanagerprofiles/6844464f-42/heatMaps/e290e83f-81"; + Requests[3514] = new DefaultHttpContext(); + Requests[3514].RequestServices = CreateServices(); + Requests[3514].Request.Method = "PUT"; + Requests[3514].Request.Path = "/subscriptions/9f8c1c68-c62f-/resourceGroups/fb3c9fd1-0aed-475/providers/Microsoft.Network/virtualNetworks/99492edd-674a-4396/subnets/dd42e3ce-5"; + Requests[3515] = new DefaultHttpContext(); + Requests[3515].RequestServices = CreateServices(); + Requests[3515].Request.Method = "DELETE"; + Requests[3515].Request.Path = "/subscriptions/9ec94caa-1fa2-/resourceGroups/fa59ad3e-76a6-475/providers/Microsoft.Network/virtualNetworks/d2cbf431-aebf-465a/subnets/e165129d-7"; + Requests[3516] = new DefaultHttpContext(); + Requests[3516].RequestServices = CreateServices(); + Requests[3516].Request.Method = "GET"; + Requests[3516].Request.Path = "/subscriptions/84802f5d-0e20-/resourceGroups/46d89d5a-30c3-42e/providers/Microsoft.Network/virtualNetworks/94b2f236-e103-4fd5/subnets/eda77098-4"; + Requests[3517] = new DefaultHttpContext(); + Requests[3517].RequestServices = CreateServices(); + Requests[3517].Request.Method = "PUT"; + Requests[3517].Request.Path = "/subscriptions/5daf30dd-c1c2-/resourceGroups/a36200e0-21df-40b/providers/Microsoft.Network/virtualNetworks/7291513a-2bbb-4ac9/virtualNetworkPeerings/1eeab136-f13b-4e12-9165-f"; + Requests[3518] = new DefaultHttpContext(); + Requests[3518].RequestServices = CreateServices(); + Requests[3518].Request.Method = "GET"; + Requests[3518].Request.Path = "/subscriptions/5979864a-1e0e-/resourceGroups/35760caf-0ba4-4d9/providers/Microsoft.Network/virtualNetworks/65a1e7d2-f6db-486f/virtualNetworkPeerings/eb88034e-de66-4603-8068-d"; + Requests[3519] = new DefaultHttpContext(); + Requests[3519].RequestServices = CreateServices(); + Requests[3519].Request.Method = "DELETE"; + Requests[3519].Request.Path = "/subscriptions/3bc50e43-56f8-/resourceGroups/2e8e58a1-ccfe-40c/providers/Microsoft.Network/virtualNetworks/01d7ba2d-4f50-4325/virtualNetworkPeerings/2d7b59bb-44ae-4d45-89c1-e"; + Requests[3520] = new DefaultHttpContext(); + Requests[3520].RequestServices = CreateServices(); + Requests[3520].Request.Method = "GET"; + Requests[3520].Request.Path = "/subscriptions/d0e51f0f-e341-/resourceGroups/7015988f-c967-46d/providers/Microsoft.NotificationHubs/namespaces/5509cf7b-bbc2/AuthorizationRules/fa601838-c88b-4d3e-8a"; + Requests[3521] = new DefaultHttpContext(); + Requests[3521].RequestServices = CreateServices(); + Requests[3521].Request.Method = "POST"; + Requests[3521].Request.Path = "/subscriptions/ffe46171-0688-/resourceGroups/6d371afb-1342-4a9/providers/Microsoft.NotificationHubs/namespaces/573505a4-bfc1/AuthorizationRules/7e6cad8e-f67d-4a00-9e"; + Requests[3522] = new DefaultHttpContext(); + Requests[3522].RequestServices = CreateServices(); + Requests[3522].Request.Method = "PUT"; + Requests[3522].Request.Path = "/subscriptions/6bb218d6-ae5e-/resourceGroups/612529f0-6c64-4b4/providers/Microsoft.NotificationHubs/namespaces/54d977a2-d122/AuthorizationRules/ec3e663b-ec3e-492a-a0"; + Requests[3523] = new DefaultHttpContext(); + Requests[3523].RequestServices = CreateServices(); + Requests[3523].Request.Method = "DELETE"; + Requests[3523].Request.Path = "/subscriptions/3d8907b3-7f3a-/resourceGroups/0c6d05eb-eb56-491/providers/Microsoft.NotificationHubs/namespaces/8084355a-2f16/AuthorizationRules/fa175406-7bcd-4a52-a1"; + Requests[3524] = new DefaultHttpContext(); + Requests[3524].RequestServices = CreateServices(); + Requests[3524].Request.Method = "GET"; + Requests[3524].Request.Path = "/subscriptions/0b663048-b011-/resourceGroups/51ead463-7a5c-426/providers/Microsoft.NotificationHubs/namespaces/510666c2-0757/notificationHubs/497c6769-b883-442d-"; + Requests[3525] = new DefaultHttpContext(); + Requests[3525].RequestServices = CreateServices(); + Requests[3525].Request.Method = "PUT"; + Requests[3525].Request.Path = "/subscriptions/68cd1e09-d086-/resourceGroups/df90658b-9a4c-4f7/providers/Microsoft.NotificationHubs/namespaces/c30c7689-8344/notificationHubs/7d56aac1-c1ce-4741-"; + Requests[3526] = new DefaultHttpContext(); + Requests[3526].RequestServices = CreateServices(); + Requests[3526].Request.Method = "DELETE"; + Requests[3526].Request.Path = "/subscriptions/8e525449-ae5d-/resourceGroups/14f47cc7-e239-466/providers/Microsoft.NotificationHubs/namespaces/cd3315c9-566a/notificationHubs/2fc36085-358e-4441-"; + Requests[3527] = new DefaultHttpContext(); + Requests[3527].RequestServices = CreateServices(); + Requests[3527].Request.Method = "PUT"; + Requests[3527].Request.Path = "/subscriptions/710ee48c-ed7f-/resourcegroups/e61a06e0-5941-43f/providers/Microsoft.OperationalInsights/workspaces/bc28940f-1dc8/dataSources/e713d136-7fb9-"; + Requests[3528] = new DefaultHttpContext(); + Requests[3528].RequestServices = CreateServices(); + Requests[3528].Request.Method = "DELETE"; + Requests[3528].Request.Path = "/subscriptions/89c230c4-f669-/resourcegroups/06be5007-4c2e-43d/providers/Microsoft.OperationalInsights/workspaces/1c68c98e-5945/dataSources/81c7ea20-d414-"; + Requests[3529] = new DefaultHttpContext(); + Requests[3529].RequestServices = CreateServices(); + Requests[3529].Request.Method = "GET"; + Requests[3529].Request.Path = "/subscriptions/625a8b49-a0cb-/resourcegroups/620ff9ef-abad-4fd/providers/Microsoft.OperationalInsights/workspaces/dc5c6816-19d4/dataSources/720c06e3-d2f6-"; + Requests[3530] = new DefaultHttpContext(); + Requests[3530].RequestServices = CreateServices(); + Requests[3530].Request.Method = "GET"; + Requests[3530].Request.Path = "/subscriptions/4ad9920b-4a5a-/resourcegroups/89973266-5e39-4b5/providers/Microsoft.OperationalInsights/workspaces/4909c312-dbeb/linkedServices/0768e184-337d-40c"; + Requests[3531] = new DefaultHttpContext(); + Requests[3531].RequestServices = CreateServices(); + Requests[3531].Request.Method = "DELETE"; + Requests[3531].Request.Path = "/subscriptions/a42221bc-6939-/resourcegroups/eea66522-3c8f-423/providers/Microsoft.OperationalInsights/workspaces/f026dd23-7b03/linkedServices/99a350dc-1018-4ff"; + Requests[3532] = new DefaultHttpContext(); + Requests[3532].RequestServices = CreateServices(); + Requests[3532].Request.Method = "PUT"; + Requests[3532].Request.Path = "/subscriptions/854eef44-406c-/resourcegroups/cecb243c-ffae-40d/providers/Microsoft.OperationalInsights/workspaces/1b373304-b97f/linkedServices/e0fcc4c2-e01f-4a9"; + Requests[3533] = new DefaultHttpContext(); + Requests[3533].RequestServices = CreateServices(); + Requests[3533].Request.Method = "PUT"; + Requests[3533].Request.Path = "/subscriptions/e75eee98-b6e1-/resourcegroups/63bd8925-1692-4d3/providers/Microsoft.OperationalInsights/workspaces/44911d4b-fe80/savedSearches/e769a61f-99a8-4"; + Requests[3534] = new DefaultHttpContext(); + Requests[3534].RequestServices = CreateServices(); + Requests[3534].Request.Method = "GET"; + Requests[3534].Request.Path = "/subscriptions/5d38ef6f-01e3-/resourcegroups/e67da77a-ef46-419/providers/Microsoft.OperationalInsights/workspaces/e98b50c9-4b1b/savedSearches/61efa1ad-0f34-4"; + Requests[3535] = new DefaultHttpContext(); + Requests[3535].RequestServices = CreateServices(); + Requests[3535].Request.Method = "DELETE"; + Requests[3535].Request.Path = "/subscriptions/7e186464-2492-/resourcegroups/6808b2d6-4fc8-4a1/providers/Microsoft.OperationalInsights/workspaces/65ba8286-41e6/savedSearches/42742120-5a4d-4"; + Requests[3536] = new DefaultHttpContext(); + Requests[3536].RequestServices = CreateServices(); + Requests[3536].Request.Method = "POST"; + Requests[3536].Request.Path = "/subscriptions/0711c343-9d56-/resourcegroups/6b963c83-5dd9-463/providers/Microsoft.OperationalInsights/workspaces/c2fc1d95-a208/search/a2d68"; + Requests[3537] = new DefaultHttpContext(); + Requests[3537].RequestServices = CreateServices(); + Requests[3537].Request.Method = "GET"; + Requests[3537].Request.Path = "/subscriptions/b5e1fd8b-477c-/resourcegroups/a4184d19-140c-4a2/providers/Microsoft.OperationalInsights/workspaces/d1e19421-328b/storageInsightConfigs/bc4542e7-52f7-420f"; + Requests[3538] = new DefaultHttpContext(); + Requests[3538].RequestServices = CreateServices(); + Requests[3538].Request.Method = "PUT"; + Requests[3538].Request.Path = "/subscriptions/180b27eb-c0ef-/resourcegroups/be736599-edd9-4af/providers/Microsoft.OperationalInsights/workspaces/f4d97e63-0d72/storageInsightConfigs/e5dbdbf3-5a52-4766"; + Requests[3539] = new DefaultHttpContext(); + Requests[3539].RequestServices = CreateServices(); + Requests[3539].Request.Method = "DELETE"; + Requests[3539].Request.Path = "/subscriptions/976f60f0-7ec5-/resourcegroups/d9fbb8af-ee01-48c/providers/Microsoft.OperationalInsights/workspaces/e113c199-6720/storageInsightConfigs/19535fab-363f-45c2"; + Requests[3540] = new DefaultHttpContext(); + Requests[3540].RequestServices = CreateServices(); + Requests[3540].Request.Method = "GET"; + Requests[3540].Request.Path = "/Subscriptions/4c290d24-be40-/resourceGroups/698f0b3b-a8d2-4ff/providers/Microsoft.RecoveryServices/vaults/f7387631-1ac/replicationAlertSettings/382c300d-0536-4f"; + Requests[3541] = new DefaultHttpContext(); + Requests[3541].RequestServices = CreateServices(); + Requests[3541].Request.Method = "PUT"; + Requests[3541].Request.Path = "/Subscriptions/d65c917d-1573-/resourceGroups/5da6d08f-a858-433/providers/Microsoft.RecoveryServices/vaults/57b4ae74-499/replicationAlertSettings/a3506944-14c7-42"; + Requests[3542] = new DefaultHttpContext(); + Requests[3542].RequestServices = CreateServices(); + Requests[3542].Request.Method = "GET"; + Requests[3542].Request.Path = "/Subscriptions/42beeaa2-095a-/resourceGroups/97b6e781-6091-480/providers/Microsoft.RecoveryServices/vaults/889e9029-909/replicationEvents/680ef85e-"; + Requests[3543] = new DefaultHttpContext(); + Requests[3543].RequestServices = CreateServices(); + Requests[3543].Request.Method = "DELETE"; + Requests[3543].Request.Path = "/Subscriptions/bde811a2-f54b-/resourceGroups/1ba0c0cd-6e5b-40e/providers/Microsoft.RecoveryServices/vaults/1592acdf-b31/replicationFabrics/d0e1cfc9-8"; + Requests[3544] = new DefaultHttpContext(); + Requests[3544].RequestServices = CreateServices(); + Requests[3544].Request.Method = "PUT"; + Requests[3544].Request.Path = "/Subscriptions/f6bb761d-e13e-/resourceGroups/e5ea48fb-f05e-4dc/providers/Microsoft.RecoveryServices/vaults/0ad4de85-b03/replicationFabrics/720696fa-7"; + Requests[3545] = new DefaultHttpContext(); + Requests[3545].RequestServices = CreateServices(); + Requests[3545].Request.Method = "GET"; + Requests[3545].Request.Path = "/Subscriptions/4085e236-a93e-/resourceGroups/c3ad4b7f-9a5b-4e2/providers/Microsoft.RecoveryServices/vaults/d1d0adce-9a4/replicationFabrics/f39b8c82-5"; + Requests[3546] = new DefaultHttpContext(); + Requests[3546].RequestServices = CreateServices(); + Requests[3546].Request.Method = "GET"; + Requests[3546].Request.Path = "/Subscriptions/f26f4491-7b65-/resourceGroups/a98999ad-e073-4c2/providers/Microsoft.RecoveryServices/vaults/85398f53-159/replicationJobs/2167f3f"; + Requests[3547] = new DefaultHttpContext(); + Requests[3547].RequestServices = CreateServices(); + Requests[3547].Request.Method = "GET"; + Requests[3547].Request.Path = "/Subscriptions/b6b633ad-3bc9-/resourceGroups/7e9c9cb2-fc57-4b9/providers/Microsoft.RecoveryServices/vaults/ab02f798-b5b/replicationPolicies/951e6f56-f"; + Requests[3548] = new DefaultHttpContext(); + Requests[3548].RequestServices = CreateServices(); + Requests[3548].Request.Method = "DELETE"; + Requests[3548].Request.Path = "/Subscriptions/02b3cb39-15bc-/resourceGroups/5729d5e3-865c-4ae/providers/Microsoft.RecoveryServices/vaults/e4823c9e-7eb/replicationPolicies/a0447693-8"; + Requests[3549] = new DefaultHttpContext(); + Requests[3549].RequestServices = CreateServices(); + Requests[3549].Request.Method = "PUT"; + Requests[3549].Request.Path = "/Subscriptions/80993d9c-8aac-/resourceGroups/7610c0a5-63fc-422/providers/Microsoft.RecoveryServices/vaults/6add19a4-364/replicationPolicies/71d4364a-4"; + Requests[3550] = new DefaultHttpContext(); + Requests[3550].RequestServices = CreateServices(); + Requests[3550].Request.Method = "PATCH"; + Requests[3550].Request.Path = "/Subscriptions/dd2e523d-53c0-/resourceGroups/5dea2965-2f73-4f6/providers/Microsoft.RecoveryServices/vaults/708c80ee-6e3/replicationPolicies/3d85215b-6"; + Requests[3551] = new DefaultHttpContext(); + Requests[3551].RequestServices = CreateServices(); + Requests[3551].Request.Method = "GET"; + Requests[3551].Request.Path = "/Subscriptions/8be1698b-9633-/resourceGroups/b8af0288-46ba-44a/providers/Microsoft.RecoveryServices/vaults/9edff46d-605/replicationRecoveryPlans/2b750c60-3466-4a"; + Requests[3552] = new DefaultHttpContext(); + Requests[3552].RequestServices = CreateServices(); + Requests[3552].Request.Method = "PUT"; + Requests[3552].Request.Path = "/Subscriptions/6acadaf2-79e7-/resourceGroups/860fedc3-3e5d-417/providers/Microsoft.RecoveryServices/vaults/f3810dca-88b/replicationRecoveryPlans/dcd20ca9-3112-45"; + Requests[3553] = new DefaultHttpContext(); + Requests[3553].RequestServices = CreateServices(); + Requests[3553].Request.Method = "DELETE"; + Requests[3553].Request.Path = "/Subscriptions/1bbbbd66-166f-/resourceGroups/2a0f7cd7-4813-42a/providers/Microsoft.RecoveryServices/vaults/4c4e97f4-5ca/replicationRecoveryPlans/f1b3e3a6-4995-4b"; + Requests[3554] = new DefaultHttpContext(); + Requests[3554].RequestServices = CreateServices(); + Requests[3554].Request.Method = "PATCH"; + Requests[3554].Request.Path = "/Subscriptions/3216b4a6-2e5c-/resourceGroups/c12d1ebf-6196-4c7/providers/Microsoft.RecoveryServices/vaults/361df9be-59f/replicationRecoveryPlans/3d89e514-9d5e-4f"; + Requests[3555] = new DefaultHttpContext(); + Requests[3555].RequestServices = CreateServices(); + Requests[3555].Request.Method = "GET"; + Requests[3555].Request.Path = "/Subscriptions/efdacb8d-d8dd-/resourceGroups/24bce819-ffd6-4a3/providers/Microsoft.RecoveryServices/vaults/594eb53b-/backupEngines/3a910229-2d1e-4b"; + Requests[3556] = new DefaultHttpContext(); + Requests[3556].RequestServices = CreateServices(); + Requests[3556].Request.Method = "GET"; + Requests[3556].Request.Path = "/Subscriptions/de4f7f5b-5df4-/resourceGroups/e2d318db-443b-486/providers/Microsoft.RecoveryServices/vaults/f6c55619-/backupJobs/c0af570"; + Requests[3557] = new DefaultHttpContext(); + Requests[3557].RequestServices = CreateServices(); + Requests[3557].Request.Method = "GET"; + Requests[3557].Request.Path = "/Subscriptions/5c66b8ad-4974-/resourceGroups/8bd1f45e-2891-410/providers/Microsoft.RecoveryServices/vaults/8c50a2ad-/backupOperationResults/382690b7-81"; + Requests[3558] = new DefaultHttpContext(); + Requests[3558].RequestServices = CreateServices(); + Requests[3558].Request.Method = "GET"; + Requests[3558].Request.Path = "/Subscriptions/ad150d44-b4a4-/resourceGroups/128d5b84-98af-4c5/providers/Microsoft.RecoveryServices/vaults/7026290a-/backupOperations/438fd24c-33"; + Requests[3559] = new DefaultHttpContext(); + Requests[3559].RequestServices = CreateServices(); + Requests[3559].Request.Method = "DELETE"; + Requests[3559].Request.Path = "/Subscriptions/06a188e2-2b05-/resourceGroups/40421757-59d9-422/providers/Microsoft.RecoveryServices/vaults/d7935617-/backupPolicies/d0c38b89-f"; + Requests[3560] = new DefaultHttpContext(); + Requests[3560].RequestServices = CreateServices(); + Requests[3560].Request.Method = "PUT"; + Requests[3560].Request.Path = "/Subscriptions/a81e9878-7775-/resourceGroups/479edeee-719a-462/providers/Microsoft.RecoveryServices/vaults/0cf46f6d-/backupPolicies/8e435166-b"; + Requests[3561] = new DefaultHttpContext(); + Requests[3561].RequestServices = CreateServices(); + Requests[3561].Request.Method = "GET"; + Requests[3561].Request.Path = "/Subscriptions/17beb2f4-bd4a-/resourceGroups/af0395bb-c69f-491/providers/Microsoft.RecoveryServices/vaults/9e25151f-/backupPolicies/96962300-8"; + Requests[3562] = new DefaultHttpContext(); + Requests[3562].RequestServices = CreateServices(); + Requests[3562].Request.Method = "PUT"; + Requests[3562].Request.Path = "/Subscriptions/5e1766e7-781d-/resourceGroups/9b55e6cb-f4b5-474/providers/Microsoft.RecoveryServices/vaults/09251426-/certificates/3f5b3574-2496-4"; + Requests[3563] = new DefaultHttpContext(); + Requests[3563].RequestServices = CreateServices(); + Requests[3563].Request.Method = "DELETE"; + Requests[3563].Request.Path = "/subscriptions/341f3391-5a75-/resourceGroups/eb57e067-d906-45f/providers/Microsoft.RecoveryServices/vaults/896ebe23-/registeredIdentities/35011f31-688"; + Requests[3564] = new DefaultHttpContext(); + Requests[3564].RequestServices = CreateServices(); + Requests[3564].Request.Method = "PUT"; + Requests[3564].Request.Path = "/subscriptions/afa0aeab-834a-/resourceGroups/bd76a471-adbc-4fe/providers/Microsoft.Relay/namespaces/652a1ddf-29eb/authorizationRules/b8d8a368-973e-4667-bc"; + Requests[3565] = new DefaultHttpContext(); + Requests[3565].RequestServices = CreateServices(); + Requests[3565].Request.Method = "DELETE"; + Requests[3565].Request.Path = "/subscriptions/84a63d17-0c4f-/resourceGroups/c40e777f-d4af-4d7/providers/Microsoft.Relay/namespaces/db386569-f8da/authorizationRules/b5673846-5582-4827-a3"; + Requests[3566] = new DefaultHttpContext(); + Requests[3566].RequestServices = CreateServices(); + Requests[3566].Request.Method = "GET"; + Requests[3566].Request.Path = "/subscriptions/946d27a0-91b3-/resourceGroups/6d45b9b1-dc29-448/providers/Microsoft.Relay/namespaces/a8abf9b6-46a4/authorizationRules/880458e5-9ae8-4cd9-9d"; + Requests[3567] = new DefaultHttpContext(); + Requests[3567].RequestServices = CreateServices(); + Requests[3567].Request.Method = "POST"; + Requests[3567].Request.Path = "/subscriptions/5d843d54-d376-/resourceGroups/558dffa3-2610-455/providers/Microsoft.Relay/namespaces/a983cdf7-21c9/AuthorizationRules/1ce187b0-6eba-4acc-8f"; + Requests[3568] = new DefaultHttpContext(); + Requests[3568].RequestServices = CreateServices(); + Requests[3568].Request.Method = "PUT"; + Requests[3568].Request.Path = "/subscriptions/b27e94a2-3d79-/resourceGroups/42bf3f7e-3ea0-46b/providers/Microsoft.Relay/namespaces/cc33fdce-7f44/hybridConnections/e712cfda-6198-4d56-a"; + Requests[3569] = new DefaultHttpContext(); + Requests[3569].RequestServices = CreateServices(); + Requests[3569].Request.Method = "DELETE"; + Requests[3569].Request.Path = "/subscriptions/e358184f-5e25-/resourceGroups/5bb5c3f1-7948-444/providers/Microsoft.Relay/namespaces/4d268b06-2975/hybridConnections/756be23e-a201-4aea-9"; + Requests[3570] = new DefaultHttpContext(); + Requests[3570].RequestServices = CreateServices(); + Requests[3570].Request.Method = "GET"; + Requests[3570].Request.Path = "/subscriptions/39218c84-0254-/resourceGroups/fff6ff11-adba-4ed/providers/Microsoft.Relay/namespaces/e3532a03-142d/hybridConnections/168e163c-ff9c-45e0-8"; + Requests[3571] = new DefaultHttpContext(); + Requests[3571].RequestServices = CreateServices(); + Requests[3571].Request.Method = "GET"; + Requests[3571].Request.Path = "/subscriptions/cb2640a6-7903-/resourceGroups/7144f497-93d3-429/providers/Microsoft.Relay/namespaces/e9e04427-c3bd/wcfRelays/d8395d8b-"; + Requests[3572] = new DefaultHttpContext(); + Requests[3572].RequestServices = CreateServices(); + Requests[3572].Request.Method = "DELETE"; + Requests[3572].Request.Path = "/subscriptions/8a71dfb9-5712-/resourceGroups/41961868-f1c4-41f/providers/Microsoft.Relay/namespaces/55d4ce48-e669/wcfRelays/9f2bcf06-"; + Requests[3573] = new DefaultHttpContext(); + Requests[3573].RequestServices = CreateServices(); + Requests[3573].Request.Method = "PUT"; + Requests[3573].Request.Path = "/subscriptions/0d9f7526-e658-/resourceGroups/86a55245-03f2-429/providers/Microsoft.Relay/namespaces/d8e50b36-e481/wcfRelays/a26ef109-"; + Requests[3574] = new DefaultHttpContext(); + Requests[3574].RequestServices = CreateServices(); + Requests[3574].Request.Method = "PATCH"; + Requests[3574].Request.Path = "/subscriptions/49ccb59e-6417-/resourceGroups/ef065643-f9ac-416/providers/Microsoft.Scheduler/jobCollections/ad10abb9-0078-49c/jobs/a5be877"; + Requests[3575] = new DefaultHttpContext(); + Requests[3575].RequestServices = CreateServices(); + Requests[3575].Request.Method = "GET"; + Requests[3575].Request.Path = "/subscriptions/a945db49-974d-/resourceGroups/195d7562-3fbe-4f0/providers/Microsoft.Scheduler/jobCollections/8d3219a5-6956-47e/jobs/121ca5d"; + Requests[3576] = new DefaultHttpContext(); + Requests[3576].RequestServices = CreateServices(); + Requests[3576].Request.Method = "DELETE"; + Requests[3576].Request.Path = "/subscriptions/70fd58c9-cd6f-/resourceGroups/d1a18956-b8f3-498/providers/Microsoft.Scheduler/jobCollections/0d0c6ab2-0530-4ca/jobs/b7afbed"; + Requests[3577] = new DefaultHttpContext(); + Requests[3577].RequestServices = CreateServices(); + Requests[3577].Request.Method = "PUT"; + Requests[3577].Request.Path = "/subscriptions/aab3f90b-83dd-/resourceGroups/dbc49cd3-b1b0-48f/providers/Microsoft.Scheduler/jobCollections/e5121cb9-69f2-479/jobs/cab9fcd"; + Requests[3578] = new DefaultHttpContext(); + Requests[3578].RequestServices = CreateServices(); + Requests[3578].Request.Method = "POST"; + Requests[3578].Request.Path = "/subscriptions/b9f66040-e1bd-/resourceGroups/5328484a-9d53-40a/providers/Microsoft.Search/searchServices/a3332744-f3db-471/createQueryKey/ed05b"; + Requests[3579] = new DefaultHttpContext(); + Requests[3579].RequestServices = CreateServices(); + Requests[3579].Request.Method = "DELETE"; + Requests[3579].Request.Path = "/subscriptions/1a560876-e35a-/resourceGroups/2ea10e5a-445d-4b2/providers/Microsoft.Search/searchServices/45ab4008-d21a-4da/deleteQueryKey/1c966"; + Requests[3580] = new DefaultHttpContext(); + Requests[3580].RequestServices = CreateServices(); + Requests[3580].Request.Method = "POST"; + Requests[3580].Request.Path = "/subscriptions/df4af081-af25-/resourceGroups/e3c98ba4-4471-45c/providers/Microsoft.Search/searchServices/90365768-5f05-4f5/regenerateAdminKey/6dc4366"; + Requests[3581] = new DefaultHttpContext(); + Requests[3581].RequestServices = CreateServices(); + Requests[3581].Request.Method = "GET"; + Requests[3581].Request.Path = "/subscriptions/4f3f5327-bc73-/resourceGroups/9e736c76-9cca-4f0/providers/Microsoft.Security/locations/24fd2d57-a0/alerts/1e8511ae-"; + Requests[3582] = new DefaultHttpContext(); + Requests[3582].RequestServices = CreateServices(); + Requests[3582].Request.Method = "GET"; + Requests[3582].Request.Path = "/subscriptions/59350987-c1d7-/resourceGroups/7f774d6d-05de-4b6/providers/Microsoft.Security/locations/045adeb9-16/discoveredSecuritySolutions/40d6e5ed-e1a5-47c2-8dec-996357"; + Requests[3583] = new DefaultHttpContext(); + Requests[3583].RequestServices = CreateServices(); + Requests[3583].Request.Method = "GET"; + Requests[3583].Request.Path = "/subscriptions/bde5b1bb-da11-/resourceGroups/f058e130-bd88-460/providers/Microsoft.Security/locations/9af6ecd8-62/ExternalSecuritySolutions/4c9b1aa8-04ed-4320-ba9e-4665c"; + Requests[3584] = new DefaultHttpContext(); + Requests[3584].RequestServices = CreateServices(); + Requests[3584].Request.Method = "PUT"; + Requests[3584].Request.Path = "/subscriptions/9c051a76-8ce4-/resourceGroups/9203e62b-395e-4da/providers/Microsoft.Security/locations/719914da-3f/jitNetworkAccessPolicies/015091a4-a630-41c5-a821-b3"; + Requests[3585] = new DefaultHttpContext(); + Requests[3585].RequestServices = CreateServices(); + Requests[3585].Request.Method = "GET"; + Requests[3585].Request.Path = "/subscriptions/c306798d-1389-/resourceGroups/e4c1c367-b8c3-443/providers/Microsoft.Security/locations/ce012f39-86/jitNetworkAccessPolicies/69c7d0d1-d5f0-44b3-8d12-c5"; + Requests[3586] = new DefaultHttpContext(); + Requests[3586].RequestServices = CreateServices(); + Requests[3586].Request.Method = "DELETE"; + Requests[3586].Request.Path = "/subscriptions/9a06bcc7-4053-/resourceGroups/99fd5ccf-8eb4-419/providers/Microsoft.Security/locations/586de508-7a/jitNetworkAccessPolicies/59a8088c-b62c-4c9b-9b4f-91"; + Requests[3587] = new DefaultHttpContext(); + Requests[3587].RequestServices = CreateServices(); + Requests[3587].Request.Method = "GET"; + Requests[3587].Request.Path = "/subscriptions/df00b862-60b6-/resourceGroups/59fff4ee-414a-416/providers/Microsoft.Security/locations/40fc0870-1e/tasks/cf42cb55"; + Requests[3588] = new DefaultHttpContext(); + Requests[3588].RequestServices = CreateServices(); + Requests[3588].Request.Method = "GET"; + Requests[3588].Request.Path = "/subscriptions/ceadc42b-b4b8-/resourceGroups/a5992715-a78b-4a1/providers/Microsoft.ServerManagement/nodes/4a474d74/sessions/a9dda03"; + Requests[3589] = new DefaultHttpContext(); + Requests[3589].RequestServices = CreateServices(); + Requests[3589].Request.Method = "DELETE"; + Requests[3589].Request.Path = "/subscriptions/1fe3f0ff-9fb7-/resourceGroups/3f98e429-cc0e-442/providers/Microsoft.ServerManagement/nodes/966455cd/sessions/337d144"; + Requests[3590] = new DefaultHttpContext(); + Requests[3590].RequestServices = CreateServices(); + Requests[3590].Request.Method = "PUT"; + Requests[3590].Request.Path = "/subscriptions/1b4abc04-213b-/resourceGroups/f9717435-2a41-4eb/providers/Microsoft.ServerManagement/nodes/136d2e76/sessions/4982171"; + Requests[3591] = new DefaultHttpContext(); + Requests[3591].RequestServices = CreateServices(); + Requests[3591].Request.Method = "PUT"; + Requests[3591].Request.Path = "/subscriptions/1cca3ed1-6a93-/resourceGroups/6dd75fc1-0a14-4f8/providers/Microsoft.ServiceBus/namespaces/216b8f97-29c0/AuthorizationRules/e45ca7b5-57f1-4202-a7"; + Requests[3592] = new DefaultHttpContext(); + Requests[3592].RequestServices = CreateServices(); + Requests[3592].Request.Method = "DELETE"; + Requests[3592].Request.Path = "/subscriptions/b0270832-57d6-/resourceGroups/0a5cdccb-afb3-447/providers/Microsoft.ServiceBus/namespaces/c4e39f9e-0fef/AuthorizationRules/5705da5b-dc9c-42f0-86"; + Requests[3593] = new DefaultHttpContext(); + Requests[3593].RequestServices = CreateServices(); + Requests[3593].Request.Method = "GET"; + Requests[3593].Request.Path = "/subscriptions/c9155b32-3054-/resourceGroups/064149d8-f542-482/providers/Microsoft.ServiceBus/namespaces/03d25a39-563b/AuthorizationRules/a96da34e-28a6-4cbe-85"; + Requests[3594] = new DefaultHttpContext(); + Requests[3594].RequestServices = CreateServices(); + Requests[3594].Request.Method = "POST"; + Requests[3594].Request.Path = "/subscriptions/8b3f4538-d073-/resourceGroups/419a5c28-dd79-4db/providers/Microsoft.ServiceBus/namespaces/16216f23-c19b/AuthorizationRules/4907955a-7a4d-447e-a7"; + Requests[3595] = new DefaultHttpContext(); + Requests[3595].RequestServices = CreateServices(); + Requests[3595].Request.Method = "GET"; + Requests[3595].Request.Path = "/subscriptions/e91cd07b-39d2-/resourceGroups/8032b272-897c-4bd/providers/Microsoft.ServiceBus/namespaces/59b39ef7-0bea/disasterRecoveryConfigs/25453"; + Requests[3596] = new DefaultHttpContext(); + Requests[3596].RequestServices = CreateServices(); + Requests[3596].Request.Method = "DELETE"; + Requests[3596].Request.Path = "/subscriptions/5b58e621-8ad3-/resourceGroups/48d6e71f-5d64-42f/providers/Microsoft.ServiceBus/namespaces/d2a645bc-492d/disasterRecoveryConfigs/3e688"; + Requests[3597] = new DefaultHttpContext(); + Requests[3597].RequestServices = CreateServices(); + Requests[3597].Request.Method = "PUT"; + Requests[3597].Request.Path = "/subscriptions/fcab6a4a-e250-/resourceGroups/2b7d754c-667d-4f1/providers/Microsoft.ServiceBus/namespaces/9b53b9e4-cfa6/disasterRecoveryConfigs/5ceaa"; + Requests[3598] = new DefaultHttpContext(); + Requests[3598].RequestServices = CreateServices(); + Requests[3598].Request.Method = "DELETE"; + Requests[3598].Request.Path = "/subscriptions/5a664d0d-6c32-/resourceGroups/7c10d9fa-eaa6-4b7/providers/Microsoft.ServiceBus/namespaces/a110839b-e7d5/migrationConfigurations/0c542530-5"; + Requests[3599] = new DefaultHttpContext(); + Requests[3599].RequestServices = CreateServices(); + Requests[3599].Request.Method = "GET"; + Requests[3599].Request.Path = "/subscriptions/8c920654-b1ae-/resourceGroups/43beba9a-3309-41d/providers/Microsoft.ServiceBus/namespaces/c5ddf40a-e9eb/migrationConfigurations/b1f6ecdb-f"; + Requests[3600] = new DefaultHttpContext(); + Requests[3600].RequestServices = CreateServices(); + Requests[3600].Request.Method = "PUT"; + Requests[3600].Request.Path = "/subscriptions/bbb1be86-1ef9-/resourceGroups/ab9b0927-9c2f-45f/providers/Microsoft.ServiceBus/namespaces/f0d487bd-86c8/migrationConfigurations/ac9d0476-3"; + Requests[3601] = new DefaultHttpContext(); + Requests[3601].RequestServices = CreateServices(); + Requests[3601].Request.Method = "GET"; + Requests[3601].Request.Path = "/subscriptions/bb093ba6-7192-/resourceGroups/afbb3b68-6dc9-441/providers/Microsoft.ServiceBus/namespaces/727666d6-9c5c/queues/0a91b761-"; + Requests[3602] = new DefaultHttpContext(); + Requests[3602].RequestServices = CreateServices(); + Requests[3602].Request.Method = "DELETE"; + Requests[3602].Request.Path = "/subscriptions/b56bdbb3-da78-/resourceGroups/a9b0ccb0-b954-44d/providers/Microsoft.ServiceBus/namespaces/2fd7ab2f-51fd/queues/88e0cef5-"; + Requests[3603] = new DefaultHttpContext(); + Requests[3603].RequestServices = CreateServices(); + Requests[3603].Request.Method = "PUT"; + Requests[3603].Request.Path = "/subscriptions/c9446009-4ddc-/resourceGroups/eeed8376-80b6-412/providers/Microsoft.ServiceBus/namespaces/998220c6-3477/queues/66609b48-"; + Requests[3604] = new DefaultHttpContext(); + Requests[3604].RequestServices = CreateServices(); + Requests[3604].Request.Method = "DELETE"; + Requests[3604].Request.Path = "/subscriptions/a772b83d-b6c7-/resourceGroups/141f0f6e-0be7-46c/providers/Microsoft.ServiceBus/namespaces/c9e65d53-42e8/topics/2fb8b097-"; + Requests[3605] = new DefaultHttpContext(); + Requests[3605].RequestServices = CreateServices(); + Requests[3605].Request.Method = "PUT"; + Requests[3605].Request.Path = "/subscriptions/bf97ddc8-e729-/resourceGroups/2bfa74f3-e406-484/providers/Microsoft.ServiceBus/namespaces/3a01c77f-0192/topics/99c96d74-"; + Requests[3606] = new DefaultHttpContext(); + Requests[3606].RequestServices = CreateServices(); + Requests[3606].Request.Method = "GET"; + Requests[3606].Request.Path = "/subscriptions/763c747b-560b-/resourceGroups/c086ad3b-ce61-414/providers/Microsoft.ServiceBus/namespaces/04d61576-a4e5/topics/f39dbcf4-"; + Requests[3607] = new DefaultHttpContext(); + Requests[3607].RequestServices = CreateServices(); + Requests[3607].Request.Method = "DELETE"; + Requests[3607].Request.Path = "/subscriptions/78f85495-0feb-/resourceGroups/3a3010a3-1f23-410/providers/Microsoft.ServiceFabric/clusters/e123c7e7-69/applications/2e0c19d3-5e56-4"; + Requests[3608] = new DefaultHttpContext(); + Requests[3608].RequestServices = CreateServices(); + Requests[3608].Request.Method = "PATCH"; + Requests[3608].Request.Path = "/subscriptions/f292dbc8-3b07-/resourceGroups/57c34f72-4980-47f/providers/Microsoft.ServiceFabric/clusters/42be9cd7-94/applications/12cdcfd8-3e9f-4"; + Requests[3609] = new DefaultHttpContext(); + Requests[3609].RequestServices = CreateServices(); + Requests[3609].Request.Method = "PUT"; + Requests[3609].Request.Path = "/subscriptions/32a8b82b-b015-/resourceGroups/2a424666-429c-49e/providers/Microsoft.ServiceFabric/clusters/771517e2-bb/applications/d8a6bc5d-8474-4"; + Requests[3610] = new DefaultHttpContext(); + Requests[3610].RequestServices = CreateServices(); + Requests[3610].Request.Method = "GET"; + Requests[3610].Request.Path = "/subscriptions/38dd114a-e79d-/resourceGroups/eecc7ef7-e44b-4b1/providers/Microsoft.ServiceFabric/clusters/e679a19c-d0/applications/bbdc3fe8-e2d4-4"; + Requests[3611] = new DefaultHttpContext(); + Requests[3611].RequestServices = CreateServices(); + Requests[3611].Request.Method = "GET"; + Requests[3611].Request.Path = "/subscriptions/78c1e480-67e9-/resourceGroups/2e7e3cf0-8191-48a/providers/Microsoft.ServiceFabric/clusters/d04abb8f-83/applicationTypes/275e7132-5268-46b6-"; + Requests[3612] = new DefaultHttpContext(); + Requests[3612].RequestServices = CreateServices(); + Requests[3612].Request.Method = "PUT"; + Requests[3612].Request.Path = "/subscriptions/99991146-7888-/resourceGroups/8dc90734-28a4-44d/providers/Microsoft.ServiceFabric/clusters/51adaad8-0c/applicationTypes/27588c5a-dfc0-41f7-"; + Requests[3613] = new DefaultHttpContext(); + Requests[3613].RequestServices = CreateServices(); + Requests[3613].Request.Method = "DELETE"; + Requests[3613].Request.Path = "/subscriptions/b1660710-3b01-/resourceGroups/78ac331a-fd2f-4e6/providers/Microsoft.ServiceFabric/clusters/13c769e7-2c/applicationTypes/fe2fc946-172f-492b-"; + Requests[3614] = new DefaultHttpContext(); + Requests[3614].RequestServices = CreateServices(); + Requests[3614].Request.Method = "PUT"; + Requests[3614].Request.Path = "/subscriptions/53936cc0-a23e-/resourceGroups/3b36a41e-5cde-45c/providers/Microsoft.Sql/locations/f05f2945-641/instanceFailoverGroups/c8f1f2d0-4f6a-44e"; + Requests[3615] = new DefaultHttpContext(); + Requests[3615].RequestServices = CreateServices(); + Requests[3615].Request.Method = "GET"; + Requests[3615].Request.Path = "/subscriptions/73430bbc-3a23-/resourceGroups/086cf9b0-2245-47f/providers/Microsoft.Sql/locations/69d55bbd-e34/instanceFailoverGroups/43cf9c7c-85ff-467"; + Requests[3616] = new DefaultHttpContext(); + Requests[3616].RequestServices = CreateServices(); + Requests[3616].Request.Method = "DELETE"; + Requests[3616].Request.Path = "/subscriptions/ca8e1224-8bab-/resourceGroups/9e231561-3c41-462/providers/Microsoft.Sql/locations/b94bcd99-6fe/instanceFailoverGroups/40408b8e-b96d-473"; + Requests[3617] = new DefaultHttpContext(); + Requests[3617].RequestServices = CreateServices(); + Requests[3617].Request.Method = "PUT"; + Requests[3617].Request.Path = "/subscriptions/fc1ff79b-be3b-/resourceGroups/7520b907-3425-4c1/providers/Microsoft.Sql/managedInstances/f6c83ff3-5189-4d62-/databases/b0a34872-ea4"; + Requests[3618] = new DefaultHttpContext(); + Requests[3618].RequestServices = CreateServices(); + Requests[3618].Request.Method = "PATCH"; + Requests[3618].Request.Path = "/subscriptions/61078b3a-5778-/resourceGroups/54cc77fb-b958-4eb/providers/Microsoft.Sql/managedInstances/2aeb9a86-b203-40c6-/databases/cb8aa49c-7bd"; + Requests[3619] = new DefaultHttpContext(); + Requests[3619].RequestServices = CreateServices(); + Requests[3619].Request.Method = "DELETE"; + Requests[3619].Request.Path = "/subscriptions/41aea38f-65ab-/resourceGroups/941c6486-3bfd-4cb/providers/Microsoft.Sql/managedInstances/9f2ec492-8ebe-4e31-/databases/c69cd4ef-e18"; + Requests[3620] = new DefaultHttpContext(); + Requests[3620].RequestServices = CreateServices(); + Requests[3620].Request.Method = "GET"; + Requests[3620].Request.Path = "/subscriptions/6fa29189-7047-/resourceGroups/aed4ef3b-4ea9-451/providers/Microsoft.Sql/managedInstances/7026ef70-a6df-47ba-/databases/53b857da-e07"; + Requests[3621] = new DefaultHttpContext(); + Requests[3621].RequestServices = CreateServices(); + Requests[3621].Request.Method = "GET"; + Requests[3621].Request.Path = "/subscriptions/a5efbd7b-19e0-/resourceGroups/3a402cfc-7f5b-458/providers/Microsoft.Sql/servers/53307d15-2/administrators/56bd6556-4d8d-46e"; + Requests[3622] = new DefaultHttpContext(); + Requests[3622].RequestServices = CreateServices(); + Requests[3622].Request.Method = "DELETE"; + Requests[3622].Request.Path = "/subscriptions/96e69c52-482b-/resourceGroups/affb13c3-f4b9-4ba/providers/Microsoft.Sql/servers/cc78a68a-d/administrators/db1d2fac-dbbc-4d7"; + Requests[3623] = new DefaultHttpContext(); + Requests[3623].RequestServices = CreateServices(); + Requests[3623].Request.Method = "PUT"; + Requests[3623].Request.Path = "/subscriptions/7658e30b-132f-/resourceGroups/c3ca3345-4bf6-452/providers/Microsoft.Sql/servers/52003ba6-2/administrators/dab02be0-41ae-4c1"; + Requests[3624] = new DefaultHttpContext(); + Requests[3624].RequestServices = CreateServices(); + Requests[3624].Request.Method = "GET"; + Requests[3624].Request.Path = "/subscriptions/97d179ff-c257-/resourceGroups/55f1802a-8a41-40a/providers/Microsoft.Sql/servers/1ce91983-0/advisors/72b956f6-c3"; + Requests[3625] = new DefaultHttpContext(); + Requests[3625].RequestServices = CreateServices(); + Requests[3625].Request.Method = "PATCH"; + Requests[3625].Request.Path = "/subscriptions/46e3e2b1-c5a6-/resourceGroups/7bdc7c8b-3dbe-428/providers/Microsoft.Sql/servers/fb95cbe8-f/advisors/61313abd-72"; + Requests[3626] = new DefaultHttpContext(); + Requests[3626].RequestServices = CreateServices(); + Requests[3626].Request.Method = "PUT"; + Requests[3626].Request.Path = "/subscriptions/e2768db7-527f-/resourceGroups/ea10042e-03a9-4d3/providers/Microsoft.Sql/servers/2630bade-4/advisors/f59388b5-27"; + Requests[3627] = new DefaultHttpContext(); + Requests[3627].RequestServices = CreateServices(); + Requests[3627].Request.Method = "PUT"; + Requests[3627].Request.Path = "/subscriptions/28f12b5c-0767-/resourceGroups/8793c6aa-522b-419/providers/Microsoft.Sql/servers/73fd62a3-0/auditingPolicies/65357168-f9a0-4420-a6da"; + Requests[3628] = new DefaultHttpContext(); + Requests[3628].RequestServices = CreateServices(); + Requests[3628].Request.Method = "GET"; + Requests[3628].Request.Path = "/subscriptions/8958d1eb-a557-/resourceGroups/c891c9a7-d417-462/providers/Microsoft.Sql/servers/614ef8e5-1/auditingPolicies/bea1612b-745e-4042-842a"; + Requests[3629] = new DefaultHttpContext(); + Requests[3629].RequestServices = CreateServices(); + Requests[3629].Request.Method = "PUT"; + Requests[3629].Request.Path = "/subscriptions/af1fcaf6-02c6-/resourceGroups/0c66bae2-9791-4fb/providers/Microsoft.Sql/servers/1bb48be4-9/backupLongTermRetentionVaults/593df173-8337-4f8a-9032-d84fa7d9"; + Requests[3630] = new DefaultHttpContext(); + Requests[3630].RequestServices = CreateServices(); + Requests[3630].Request.Method = "GET"; + Requests[3630].Request.Path = "/subscriptions/a5b29161-0c6d-/resourceGroups/f78be39b-1cbf-44e/providers/Microsoft.Sql/servers/7823aece-a/backupLongTermRetentionVaults/fe795322-c3b3-4cf3-ab00-6fef4b3c"; + Requests[3631] = new DefaultHttpContext(); + Requests[3631].RequestServices = CreateServices(); + Requests[3631].Request.Method = "DELETE"; + Requests[3631].Request.Path = "/subscriptions/3c82c3b6-d53a-/resourceGroups/b3a92e31-a33d-4f9/providers/Microsoft.Sql/servers/dc3f54f4-e/communicationLinks/9fb18fa1-4d1b-4b7b-97"; + Requests[3632] = new DefaultHttpContext(); + Requests[3632].RequestServices = CreateServices(); + Requests[3632].Request.Method = "PUT"; + Requests[3632].Request.Path = "/subscriptions/6f7ddbf4-2213-/resourceGroups/d9c92278-a39c-42d/providers/Microsoft.Sql/servers/54e5f231-0/communicationLinks/45f58af8-94de-4bf9-ae"; + Requests[3633] = new DefaultHttpContext(); + Requests[3633].RequestServices = CreateServices(); + Requests[3633].Request.Method = "GET"; + Requests[3633].Request.Path = "/subscriptions/c7f659aa-e56f-/resourceGroups/8444f9d8-b118-441/providers/Microsoft.Sql/servers/9039a1c0-d/communicationLinks/f7039088-1cbd-4e10-82"; + Requests[3634] = new DefaultHttpContext(); + Requests[3634].RequestServices = CreateServices(); + Requests[3634].Request.Method = "GET"; + Requests[3634].Request.Path = "/subscriptions/74fc0852-7975-/resourceGroups/c6a61b5b-f753-42f/providers/Microsoft.Sql/servers/a1a9ce5c-1/connectionPolicies/5924e074-b27d-4100-9"; + Requests[3635] = new DefaultHttpContext(); + Requests[3635].RequestServices = CreateServices(); + Requests[3635].Request.Method = "PUT"; + Requests[3635].Request.Path = "/subscriptions/5c430f86-df17-/resourceGroups/684ac433-50e9-48d/providers/Microsoft.Sql/servers/8dd38507-0/connectionPolicies/ce1b1db7-1cb4-420b-9"; + Requests[3636] = new DefaultHttpContext(); + Requests[3636].RequestServices = CreateServices(); + Requests[3636].Request.Method = "PATCH"; + Requests[3636].Request.Path = "/subscriptions/1b470e22-b6c7-/resourceGroups/1c94e2cf-7faf-408/providers/Microsoft.Sql/servers/fe5f74fd-f/databases/0fae7977-a7c"; + Requests[3637] = new DefaultHttpContext(); + Requests[3637].RequestServices = CreateServices(); + Requests[3637].Request.Method = "GET"; + Requests[3637].Request.Path = "/subscriptions/30703fa9-bb7b-/resourceGroups/eb90cfb1-9419-49a/providers/Microsoft.Sql/servers/d296fcb0-4/databases/ac1c1aa0-71e"; + Requests[3638] = new DefaultHttpContext(); + Requests[3638].RequestServices = CreateServices(); + Requests[3638].Request.Method = "DELETE"; + Requests[3638].Request.Path = "/subscriptions/ad076480-200e-/resourceGroups/270680b0-6e03-435/providers/Microsoft.Sql/servers/00777c95-6/databases/2bc360d0-871"; + Requests[3639] = new DefaultHttpContext(); + Requests[3639].RequestServices = CreateServices(); + Requests[3639].Request.Method = "PUT"; + Requests[3639].Request.Path = "/subscriptions/5b0856c6-422b-/resourceGroups/aa0b7e4b-1061-48f/providers/Microsoft.Sql/servers/fc555022-8/databases/f27cdf49-9cf"; + Requests[3640] = new DefaultHttpContext(); + Requests[3640].RequestServices = CreateServices(); + Requests[3640].Request.Method = "PUT"; + Requests[3640].Request.Path = "/subscriptions/eeee3538-ece5-/resourceGroups/20eeee13-9375-487/providers/Microsoft.Sql/servers/45b86e10-8/disasterRecoveryConfiguration/9684f623-762a-4dae-885f-12d319540"; + Requests[3641] = new DefaultHttpContext(); + Requests[3641].RequestServices = CreateServices(); + Requests[3641].Request.Method = "GET"; + Requests[3641].Request.Path = "/subscriptions/54b32210-21b8-/resourceGroups/391a35ed-288c-4b9/providers/Microsoft.Sql/servers/25ee6885-6/disasterRecoveryConfiguration/0b34f3ea-9505-4556-a359-284418cc2"; + Requests[3642] = new DefaultHttpContext(); + Requests[3642].RequestServices = CreateServices(); + Requests[3642].Request.Method = "DELETE"; + Requests[3642].Request.Path = "/subscriptions/55163867-c648-/resourceGroups/aaac97a5-0730-417/providers/Microsoft.Sql/servers/ef8269d4-d/disasterRecoveryConfiguration/dcf3f629-d12b-4218-ac9c-167022d51"; + Requests[3643] = new DefaultHttpContext(); + Requests[3643].RequestServices = CreateServices(); + Requests[3643].Request.Method = "GET"; + Requests[3643].Request.Path = "/subscriptions/17e23a5a-3b4b-/resourceGroups/74430ff1-7fc4-47b/providers/Microsoft.Sql/servers/6ede82a3-5/dnsAliases/ba21d2f5-0b6"; + Requests[3644] = new DefaultHttpContext(); + Requests[3644].RequestServices = CreateServices(); + Requests[3644].Request.Method = "PUT"; + Requests[3644].Request.Path = "/subscriptions/90f3c42c-cc5f-/resourceGroups/898e6c61-a7e4-484/providers/Microsoft.Sql/servers/dc407848-9/dnsAliases/02f0fdf8-52d"; + Requests[3645] = new DefaultHttpContext(); + Requests[3645].RequestServices = CreateServices(); + Requests[3645].Request.Method = "DELETE"; + Requests[3645].Request.Path = "/subscriptions/4d0a41b3-65f7-/resourceGroups/0117d15d-81ca-415/providers/Microsoft.Sql/servers/c69d5f25-5/dnsAliases/d1c70cba-442"; + Requests[3646] = new DefaultHttpContext(); + Requests[3646].RequestServices = CreateServices(); + Requests[3646].Request.Method = "GET"; + Requests[3646].Request.Path = "/subscriptions/28ea0723-fb83-/resourceGroups/8ea39bc1-ed31-475/providers/Microsoft.Sql/servers/2741b403-7/elasticPools/7f3a7018-7f59-4"; + Requests[3647] = new DefaultHttpContext(); + Requests[3647].RequestServices = CreateServices(); + Requests[3647].Request.Method = "DELETE"; + Requests[3647].Request.Path = "/subscriptions/07dd2e6d-bce5-/resourceGroups/01eaecdd-b503-4c9/providers/Microsoft.Sql/servers/5c113b32-f/elasticPools/3e5464a8-c236-4"; + Requests[3648] = new DefaultHttpContext(); + Requests[3648].RequestServices = CreateServices(); + Requests[3648].Request.Method = "PUT"; + Requests[3648].Request.Path = "/subscriptions/e81075b4-3d25-/resourceGroups/7fd483e8-a153-433/providers/Microsoft.Sql/servers/8c119753-e/elasticPools/3b1f386e-26fa-4"; + Requests[3649] = new DefaultHttpContext(); + Requests[3649].RequestServices = CreateServices(); + Requests[3649].Request.Method = "PATCH"; + Requests[3649].Request.Path = "/subscriptions/0b115db3-aa98-/resourceGroups/b57e97ce-0740-44a/providers/Microsoft.Sql/servers/f155ba8c-9/elasticPools/96d3bf2a-0185-4"; + Requests[3650] = new DefaultHttpContext(); + Requests[3650].RequestServices = CreateServices(); + Requests[3650].Request.Method = "GET"; + Requests[3650].Request.Path = "/subscriptions/eb3a4f63-2663-/resourceGroups/0698336a-67df-42c/providers/Microsoft.Sql/servers/59236b98-e/encryptionProtector/d4a94ca4-14a9-4b67-a5b4"; + Requests[3651] = new DefaultHttpContext(); + Requests[3651].RequestServices = CreateServices(); + Requests[3651].Request.Method = "PUT"; + Requests[3651].Request.Path = "/subscriptions/3fd7563d-f536-/resourceGroups/da48220f-2c41-4b6/providers/Microsoft.Sql/servers/6a792d72-5/encryptionProtector/97bbb22d-9f55-46ee-ad10"; + Requests[3652] = new DefaultHttpContext(); + Requests[3652].RequestServices = CreateServices(); + Requests[3652].Request.Method = "PATCH"; + Requests[3652].Request.Path = "/subscriptions/bcac6d00-d107-/resourceGroups/5b951425-aff4-44a/providers/Microsoft.Sql/servers/6396a62d-9/failoverGroups/e25a7aea-abe6-4c7"; + Requests[3653] = new DefaultHttpContext(); + Requests[3653].RequestServices = CreateServices(); + Requests[3653].Request.Method = "DELETE"; + Requests[3653].Request.Path = "/subscriptions/43c14a34-6587-/resourceGroups/84da74c4-8c0e-473/providers/Microsoft.Sql/servers/38dde54f-d/failoverGroups/09124e4d-a175-4c8"; + Requests[3654] = new DefaultHttpContext(); + Requests[3654].RequestServices = CreateServices(); + Requests[3654].Request.Method = "PUT"; + Requests[3654].Request.Path = "/subscriptions/d84864f9-010d-/resourceGroups/ce0d15f1-9c03-492/providers/Microsoft.Sql/servers/66a043c0-9/failoverGroups/d1363882-ffeb-4f8"; + Requests[3655] = new DefaultHttpContext(); + Requests[3655].RequestServices = CreateServices(); + Requests[3655].Request.Method = "GET"; + Requests[3655].Request.Path = "/subscriptions/ee7f23f3-548d-/resourceGroups/37d68090-b899-423/providers/Microsoft.Sql/servers/e7cbe8e3-8/failoverGroups/80d69693-cb02-49d"; + Requests[3656] = new DefaultHttpContext(); + Requests[3656].RequestServices = CreateServices(); + Requests[3656].Request.Method = "DELETE"; + Requests[3656].Request.Path = "/subscriptions/1c7f7a85-cdbb-/resourceGroups/7e5f7fc0-f754-461/providers/Microsoft.Sql/servers/fbff8a59-4/firewallRules/e6a3dbcb-d920-43"; + Requests[3657] = new DefaultHttpContext(); + Requests[3657].RequestServices = CreateServices(); + Requests[3657].Request.Method = "GET"; + Requests[3657].Request.Path = "/subscriptions/6eb68ce4-9400-/resourceGroups/e068320f-99c0-4a0/providers/Microsoft.Sql/servers/6ce3eb47-2/firewallRules/b7f478ae-d205-4c"; + Requests[3658] = new DefaultHttpContext(); + Requests[3658].RequestServices = CreateServices(); + Requests[3658].Request.Method = "PUT"; + Requests[3658].Request.Path = "/subscriptions/b6ea026c-4a96-/resourceGroups/d5b3d7fd-6cb7-45d/providers/Microsoft.Sql/servers/649378a6-0/firewallRules/768cbd5c-099b-46"; + Requests[3659] = new DefaultHttpContext(); + Requests[3659].RequestServices = CreateServices(); + Requests[3659].Request.Method = "GET"; + Requests[3659].Request.Path = "/subscriptions/4c95af31-6266-/resourceGroups/dfe75acb-cbc4-4bf/providers/Microsoft.Sql/servers/7867db67-5/jobAgents/b7cf119a-26e"; + Requests[3660] = new DefaultHttpContext(); + Requests[3660].RequestServices = CreateServices(); + Requests[3660].Request.Method = "PATCH"; + Requests[3660].Request.Path = "/subscriptions/99bdbbcc-3e5e-/resourceGroups/4697c908-7cf4-486/providers/Microsoft.Sql/servers/101f46cd-6/jobAgents/8ed57837-b55"; + Requests[3661] = new DefaultHttpContext(); + Requests[3661].RequestServices = CreateServices(); + Requests[3661].Request.Method = "DELETE"; + Requests[3661].Request.Path = "/subscriptions/9aea31ac-7134-/resourceGroups/c87979aa-d8ad-41a/providers/Microsoft.Sql/servers/57d10e01-e/jobAgents/a555a75b-196"; + Requests[3662] = new DefaultHttpContext(); + Requests[3662].RequestServices = CreateServices(); + Requests[3662].Request.Method = "PUT"; + Requests[3662].Request.Path = "/subscriptions/87ac8d36-c84a-/resourceGroups/bad826e2-6c2a-4db/providers/Microsoft.Sql/servers/da9e81a2-b/jobAgents/218d19c6-bf2"; + Requests[3663] = new DefaultHttpContext(); + Requests[3663].RequestServices = CreateServices(); + Requests[3663].Request.Method = "DELETE"; + Requests[3663].Request.Path = "/subscriptions/301c2c43-d4ed-/resourceGroups/29e5e849-7c13-453/providers/Microsoft.Sql/servers/2c809f1e-7/keys/803d66d"; + Requests[3664] = new DefaultHttpContext(); + Requests[3664].RequestServices = CreateServices(); + Requests[3664].Request.Method = "PUT"; + Requests[3664].Request.Path = "/subscriptions/155211b4-bbcc-/resourceGroups/d8841ae8-8547-47d/providers/Microsoft.Sql/servers/8da67c10-3/keys/3d9f767"; + Requests[3665] = new DefaultHttpContext(); + Requests[3665].RequestServices = CreateServices(); + Requests[3665].Request.Method = "GET"; + Requests[3665].Request.Path = "/subscriptions/d8c2cd7f-c2d0-/resourceGroups/7c6b2ba7-6633-46e/providers/Microsoft.Sql/servers/c49826ae-7/keys/1fef8bc"; + Requests[3666] = new DefaultHttpContext(); + Requests[3666].RequestServices = CreateServices(); + Requests[3666].Request.Method = "GET"; + Requests[3666].Request.Path = "/subscriptions/a91ea4e4-8bd3-/resourceGroups/9efad4f8-b5fb-48e/providers/Microsoft.Sql/servers/befdde85-7/recommendedElasticPools/68fae41a-62e6-4330-8ba7-de"; + Requests[3667] = new DefaultHttpContext(); + Requests[3667].RequestServices = CreateServices(); + Requests[3667].Request.Method = "GET"; + Requests[3667].Request.Path = "/subscriptions/a64d8136-8a72-/resourceGroups/7cf8d81f-6d85-451/providers/Microsoft.Sql/servers/9355b75f-b/recoverableDatabases/0938ef12-bb5"; + Requests[3668] = new DefaultHttpContext(); + Requests[3668].RequestServices = CreateServices(); + Requests[3668].Request.Method = "GET"; + Requests[3668].Request.Path = "/subscriptions/ef17d84d-8988-/resourceGroups/3440242c-883a-4d4/providers/Microsoft.Sql/servers/73632d9c-4/restorableDroppedDatabases/f4999d14-a2cb-48a2-8b81-1a791"; + Requests[3669] = new DefaultHttpContext(); + Requests[3669].RequestServices = CreateServices(); + Requests[3669].Request.Method = "GET"; + Requests[3669].Request.Path = "/subscriptions/eeaf0a55-5b54-/resourceGroups/c8ee0d1b-1f02-4f7/providers/Microsoft.Sql/servers/1018be95-7/serviceObjectives/130764ae-d8cc-4e14-8"; + Requests[3670] = new DefaultHttpContext(); + Requests[3670].RequestServices = CreateServices(); + Requests[3670].Request.Method = "DELETE"; + Requests[3670].Request.Path = "/subscriptions/519b8264-2eeb-/resourceGroups/4de11410-8247-413/providers/Microsoft.Sql/servers/99637833-b/syncAgents/a132c1a2-1c37"; + Requests[3671] = new DefaultHttpContext(); + Requests[3671].RequestServices = CreateServices(); + Requests[3671].Request.Method = "GET"; + Requests[3671].Request.Path = "/subscriptions/7d53d480-3247-/resourceGroups/690ce51b-3b60-4c1/providers/Microsoft.Sql/servers/c0f8f996-3/syncAgents/99d0a75b-dd49"; + Requests[3672] = new DefaultHttpContext(); + Requests[3672].RequestServices = CreateServices(); + Requests[3672].Request.Method = "PUT"; + Requests[3672].Request.Path = "/subscriptions/10228d13-07cb-/resourceGroups/67c41592-8b4d-478/providers/Microsoft.Sql/servers/9f72e9b7-9/syncAgents/e494d0be-631a"; + Requests[3673] = new DefaultHttpContext(); + Requests[3673].RequestServices = CreateServices(); + Requests[3673].Request.Method = "DELETE"; + Requests[3673].Request.Path = "/subscriptions/3d46c805-0b9f-/resourceGroups/a03f03c8-6b7e-444/providers/Microsoft.Sql/servers/5fe98dab-9/virtualNetworkRules/5e11f064-8539-4b5b-842"; + Requests[3674] = new DefaultHttpContext(); + Requests[3674].RequestServices = CreateServices(); + Requests[3674].Request.Method = "PUT"; + Requests[3674].Request.Path = "/subscriptions/39f6001a-a902-/resourceGroups/a69e8a77-0136-41a/providers/Microsoft.Sql/servers/bea34886-9/virtualNetworkRules/d22b2538-d0e1-4c59-813"; + Requests[3675] = new DefaultHttpContext(); + Requests[3675].RequestServices = CreateServices(); + Requests[3675].Request.Method = "GET"; + Requests[3675].Request.Path = "/subscriptions/4436eabf-7fb6-/resourceGroups/66ae917e-7096-494/providers/Microsoft.Sql/servers/34dcc0da-9/virtualNetworkRules/b04e0122-107a-496b-84f"; + Requests[3676] = new DefaultHttpContext(); + Requests[3676].RequestServices = CreateServices(); + Requests[3676].Request.Method = "GET"; + Requests[3676].Request.Path = "/subscriptions/4e94fc68-807f-/resourcegroups/3a90be95-f0cd-451/providers/Microsoft.Storage.Admin/farms/85f536/blobservices/c3ef5c62-28"; + Requests[3677] = new DefaultHttpContext(); + Requests[3677].RequestServices = CreateServices(); + Requests[3677].Request.Method = "GET"; + Requests[3677].Request.Path = "/subscriptions/c0565da1-b47a-/resourcegroups/3bd34546-a537-42a/providers/Microsoft.Storage.Admin/farms/d689bd/operationresults/f7fc99bd-bb"; + Requests[3678] = new DefaultHttpContext(); + Requests[3678].RequestServices = CreateServices(); + Requests[3678].Request.Method = "GET"; + Requests[3678].Request.Path = "/subscriptions/d34d0dc3-de4a-/resourcegroups/3452f1cc-2f7c-4f6/providers/Microsoft.Storage.Admin/farms/822e97/queueservices/8608a9a2-20"; + Requests[3679] = new DefaultHttpContext(); + Requests[3679].RequestServices = CreateServices(); + Requests[3679].Request.Method = "GET"; + Requests[3679].Request.Path = "/subscriptions/bd597ae8-aacc-/resourcegroups/544d37f0-7c91-4d3/providers/Microsoft.Storage.Admin/farms/e2c33d/shares/f9069feb-"; + Requests[3680] = new DefaultHttpContext(); + Requests[3680].RequestServices = CreateServices(); + Requests[3680].Request.Method = "POST"; + Requests[3680].Request.Path = "/subscriptions/3b0e9ea8-c8de-/resourcegroups/4e8ee799-bf6d-408/providers/Microsoft.Storage.Admin/farms/6c853f/storageaccounts/8266a3a0-"; + Requests[3681] = new DefaultHttpContext(); + Requests[3681].RequestServices = CreateServices(); + Requests[3681].Request.Method = "GET"; + Requests[3681].Request.Path = "/subscriptions/6770ceae-7b83-/resourcegroups/1089c040-6639-44e/providers/Microsoft.Storage.Admin/farms/42ebb8/storageaccounts/6ac4f4ba-"; + Requests[3682] = new DefaultHttpContext(); + Requests[3682].RequestServices = CreateServices(); + Requests[3682].Request.Method = "GET"; + Requests[3682].Request.Path = "/subscriptions/84682694-0b62-/resourcegroups/6a8c05fb-dbeb-452/providers/Microsoft.Storage.Admin/farms/442ef1/tableservices/70f73580-41"; + Requests[3683] = new DefaultHttpContext(); + Requests[3683].RequestServices = CreateServices(); + Requests[3683].Request.Method = "DELETE"; + Requests[3683].Request.Path = "/subscriptions/3df9232b-683f-/resourceGroups/dd57df6b-ad8e-4d7/providers/Microsoft.Storage/storageAccounts/38dd76ce-a7/managementPolicies/90364da4-82f5-49a1-a"; + Requests[3684] = new DefaultHttpContext(); + Requests[3684].RequestServices = CreateServices(); + Requests[3684].Request.Method = "GET"; + Requests[3684].Request.Path = "/subscriptions/febb1089-7194-/resourceGroups/b4dbd1ab-bd68-40a/providers/Microsoft.Storage/storageAccounts/a5ca5063-ea/managementPolicies/4f834371-132e-47eb-8"; + Requests[3685] = new DefaultHttpContext(); + Requests[3685].RequestServices = CreateServices(); + Requests[3685].Request.Method = "PUT"; + Requests[3685].Request.Path = "/subscriptions/6f3dda26-2e6c-/resourceGroups/8e1428e4-f238-4ed/providers/Microsoft.Storage/storageAccounts/4f1e4848-93/managementPolicies/81b2fafc-9726-44bb-8"; + Requests[3686] = new DefaultHttpContext(); + Requests[3686].RequestServices = CreateServices(); + Requests[3686].Request.Method = "DELETE"; + Requests[3686].Request.Path = "/subscriptions/e746e6a7-14cd-/resourceGroups/39ca1c6d-2e76-452/providers/Microsoft.StorSimple/managers/028c33fa-4e/accessControlRecords/631b7c5a-adfa-4d50-abd0"; + Requests[3687] = new DefaultHttpContext(); + Requests[3687].RequestServices = CreateServices(); + Requests[3687].Request.Method = "PUT"; + Requests[3687].Request.Path = "/subscriptions/9b010ebe-cd35-/resourceGroups/2c40312a-2ab3-41f/providers/Microsoft.StorSimple/managers/57720dd1-97/accessControlRecords/0c4ed516-7395-4098-a8dc"; + Requests[3688] = new DefaultHttpContext(); + Requests[3688].RequestServices = CreateServices(); + Requests[3688].Request.Method = "GET"; + Requests[3688].Request.Path = "/subscriptions/c7fd6d70-929e-/resourceGroups/a89f81da-689a-4f5/providers/Microsoft.StorSimple/managers/5b579b6e-be/accessControlRecords/a4005d84-e62e-4283-a2ed"; + Requests[3689] = new DefaultHttpContext(); + Requests[3689].RequestServices = CreateServices(); + Requests[3689].Request.Method = "DELETE"; + Requests[3689].Request.Path = "/subscriptions/d1bcffa9-159a-/resourceGroups/6f3d67fa-586a-456/providers/Microsoft.StorSimple/managers/beded94d-0a/bandwidthSettings/9c94cf76-79bc-49cc-8"; + Requests[3690] = new DefaultHttpContext(); + Requests[3690].RequestServices = CreateServices(); + Requests[3690].Request.Method = "GET"; + Requests[3690].Request.Path = "/subscriptions/80430817-d887-/resourceGroups/4dd905ad-3520-468/providers/Microsoft.StorSimple/managers/8fc6217d-e8/bandwidthSettings/2c166486-884a-4766-9"; + Requests[3691] = new DefaultHttpContext(); + Requests[3691].RequestServices = CreateServices(); + Requests[3691].Request.Method = "PUT"; + Requests[3691].Request.Path = "/subscriptions/a50559b4-83e6-/resourceGroups/41d4cf2e-785b-466/providers/Microsoft.StorSimple/managers/449b4776-ea/bandwidthSettings/4c0254fa-562a-4111-b"; + Requests[3692] = new DefaultHttpContext(); + Requests[3692].RequestServices = CreateServices(); + Requests[3692].Request.Method = "DELETE"; + Requests[3692].Request.Path = "/subscriptions/8f1a1859-1178-/resourceGroups/de8a82e7-abab-435/providers/Microsoft.StorSimple/managers/95d02b26-e0/devices/2c7a8408-f"; + Requests[3693] = new DefaultHttpContext(); + Requests[3693].RequestServices = CreateServices(); + Requests[3693].Request.Method = "GET"; + Requests[3693].Request.Path = "/subscriptions/5bffdcda-f485-/resourceGroups/290bd609-c12a-423/providers/Microsoft.StorSimple/managers/a4b4746b-fa/devices/ce3c79c4-1"; + Requests[3694] = new DefaultHttpContext(); + Requests[3694].RequestServices = CreateServices(); + Requests[3694].Request.Method = "PATCH"; + Requests[3694].Request.Path = "/subscriptions/5ee482d6-3f13-/resourceGroups/a3afa95f-15c8-4d4/providers/Microsoft.StorSimple/managers/6feb4822-99/devices/9571dfda-9"; + Requests[3695] = new DefaultHttpContext(); + Requests[3695].RequestServices = CreateServices(); + Requests[3695].Request.Method = "GET"; + Requests[3695].Request.Path = "/subscriptions/b2efd7e6-3169-/resourceGroups/9db060ca-4b3d-4ba/providers/Microsoft.StorSimple/managers/a1c75e8c-d5/storageAccountCredentials/4215c996-27a1-47bb-a75b-4836"; + Requests[3696] = new DefaultHttpContext(); + Requests[3696].RequestServices = CreateServices(); + Requests[3696].Request.Method = "PUT"; + Requests[3696].Request.Path = "/subscriptions/3705b9e0-095d-/resourceGroups/b179f280-ecc8-43f/providers/Microsoft.StorSimple/managers/bc6414d2-d8/storageAccountCredentials/d53aff2a-6f01-4520-a9b5-67cd"; + Requests[3697] = new DefaultHttpContext(); + Requests[3697].RequestServices = CreateServices(); + Requests[3697].Request.Method = "DELETE"; + Requests[3697].Request.Path = "/subscriptions/da520851-7a41-/resourceGroups/6a413775-0d22-4f5/providers/Microsoft.StorSimple/managers/e397479b-69/storageAccountCredentials/44f108fc-565d-45dd-b912-cfe2"; + Requests[3698] = new DefaultHttpContext(); + Requests[3698].RequestServices = CreateServices(); + Requests[3698].Request.Method = "PATCH"; + Requests[3698].Request.Path = "/subscriptions/a7edfe14-fc8b-/resourcegroups/f220c17b-6000-478/providers/Microsoft.StreamAnalytics/streamingjobs/4b9358d/functions/98f4c085-b70"; + Requests[3699] = new DefaultHttpContext(); + Requests[3699].RequestServices = CreateServices(); + Requests[3699].Request.Method = "GET"; + Requests[3699].Request.Path = "/subscriptions/bd99fcaf-fdd0-/resourcegroups/839864b2-3371-4f8/providers/Microsoft.StreamAnalytics/streamingjobs/5b71120/functions/68255ae8-0c7"; + Requests[3700] = new DefaultHttpContext(); + Requests[3700].RequestServices = CreateServices(); + Requests[3700].Request.Method = "DELETE"; + Requests[3700].Request.Path = "/subscriptions/5cb2c693-c320-/resourcegroups/c6695f59-5081-431/providers/Microsoft.StreamAnalytics/streamingjobs/d1f8c47/functions/fa15ee3f-c0c"; + Requests[3701] = new DefaultHttpContext(); + Requests[3701].RequestServices = CreateServices(); + Requests[3701].Request.Method = "PUT"; + Requests[3701].Request.Path = "/subscriptions/0d04e5a4-819e-/resourcegroups/6d12f844-7b1b-44b/providers/Microsoft.StreamAnalytics/streamingjobs/5378aad/functions/050c6ed0-140"; + Requests[3702] = new DefaultHttpContext(); + Requests[3702].RequestServices = CreateServices(); + Requests[3702].Request.Method = "GET"; + Requests[3702].Request.Path = "/subscriptions/ccaf6cf4-77d6-/resourcegroups/89b74795-a9bf-4ec/providers/Microsoft.StreamAnalytics/streamingjobs/1e5e43f/inputs/c4703eae-"; + Requests[3703] = new DefaultHttpContext(); + Requests[3703].RequestServices = CreateServices(); + Requests[3703].Request.Method = "DELETE"; + Requests[3703].Request.Path = "/subscriptions/fafb9dfe-a716-/resourcegroups/da58a232-1853-495/providers/Microsoft.StreamAnalytics/streamingjobs/72bb9c8/inputs/416bcc32-"; + Requests[3704] = new DefaultHttpContext(); + Requests[3704].RequestServices = CreateServices(); + Requests[3704].Request.Method = "PATCH"; + Requests[3704].Request.Path = "/subscriptions/4bc23531-ad91-/resourcegroups/31e6a1aa-b145-4d3/providers/Microsoft.StreamAnalytics/streamingjobs/ee61093/inputs/c247816a-"; + Requests[3705] = new DefaultHttpContext(); + Requests[3705].RequestServices = CreateServices(); + Requests[3705].Request.Method = "PUT"; + Requests[3705].Request.Path = "/subscriptions/fbf04647-cce8-/resourcegroups/99a3c804-c94c-4fe/providers/Microsoft.StreamAnalytics/streamingjobs/eb400fc/inputs/6ca31c34-"; + Requests[3706] = new DefaultHttpContext(); + Requests[3706].RequestServices = CreateServices(); + Requests[3706].Request.Method = "GET"; + Requests[3706].Request.Path = "/subscriptions/3c45a57f-4932-/resourcegroups/1b059ec7-5311-44c/providers/Microsoft.StreamAnalytics/streamingjobs/d3b26d4/outputs/e2bb7893-d"; + Requests[3707] = new DefaultHttpContext(); + Requests[3707].RequestServices = CreateServices(); + Requests[3707].Request.Method = "PUT"; + Requests[3707].Request.Path = "/subscriptions/d0fd2abe-8670-/resourcegroups/0111d435-a5ca-4b3/providers/Microsoft.StreamAnalytics/streamingjobs/ee0b641/outputs/2310afee-2"; + Requests[3708] = new DefaultHttpContext(); + Requests[3708].RequestServices = CreateServices(); + Requests[3708].Request.Method = "DELETE"; + Requests[3708].Request.Path = "/subscriptions/6388f132-f35d-/resourcegroups/a8ee2bbb-d8ee-43d/providers/Microsoft.StreamAnalytics/streamingjobs/9e88823/outputs/ec8677b9-3"; + Requests[3709] = new DefaultHttpContext(); + Requests[3709].RequestServices = CreateServices(); + Requests[3709].Request.Method = "PATCH"; + Requests[3709].Request.Path = "/subscriptions/b6142eeb-cdf7-/resourcegroups/36d15a38-8303-432/providers/Microsoft.StreamAnalytics/streamingjobs/02d31a0/outputs/e5c926b5-4"; + Requests[3710] = new DefaultHttpContext(); + Requests[3710].RequestServices = CreateServices(); + Requests[3710].Request.Method = "GET"; + Requests[3710].Request.Path = "/subscriptions/ec3fd25c-3577-/resourcegroups/36547fb6-6a52-4cd/providers/Microsoft.StreamAnalytics/streamingjobs/3cf129e/transformations/5bc84c66-89fe-4852"; + Requests[3711] = new DefaultHttpContext(); + Requests[3711].RequestServices = CreateServices(); + Requests[3711].Request.Method = "PATCH"; + Requests[3711].Request.Path = "/subscriptions/fdbe6213-83c4-/resourcegroups/ebd323eb-1385-4db/providers/Microsoft.StreamAnalytics/streamingjobs/6955454/transformations/f7812853-af95-49d5"; + Requests[3712] = new DefaultHttpContext(); + Requests[3712].RequestServices = CreateServices(); + Requests[3712].Request.Method = "PUT"; + Requests[3712].Request.Path = "/subscriptions/a624f2a9-4536-/resourcegroups/4af89dc0-254a-481/providers/Microsoft.StreamAnalytics/streamingjobs/8d4aff5/transformations/3296fdda-8468-4b71"; + Requests[3713] = new DefaultHttpContext(); + Requests[3713].RequestServices = CreateServices(); + Requests[3713].Request.Method = "DELETE"; + Requests[3713].Request.Path = "/subscriptions/8e8fce73-b4d3-/resourcegroups/c5d1810d-2083-4bd/providers/Microsoft.Subscriptions.Admin/offers/2b334/offerDelegations/895e2861-e515-4b60-"; + Requests[3714] = new DefaultHttpContext(); + Requests[3714].RequestServices = CreateServices(); + Requests[3714].Request.Method = "PUT"; + Requests[3714].Request.Path = "/subscriptions/0c089167-485f-/resourcegroups/4fe6e6a7-5e5d-463/providers/Microsoft.Subscriptions.Admin/offers/e429e/offerDelegations/9fdb242c-0895-46ec-"; + Requests[3715] = new DefaultHttpContext(); + Requests[3715].RequestServices = CreateServices(); + Requests[3715].Request.Method = "GET"; + Requests[3715].Request.Path = "/subscriptions/a3daf8af-0602-/resourcegroups/97f99cb5-b250-42d/providers/Microsoft.Subscriptions.Admin/offers/5e875/offerDelegations/9ebad908-01ee-42de-"; + Requests[3716] = new DefaultHttpContext(); + Requests[3716].RequestServices = CreateServices(); + Requests[3716].Request.Method = "DELETE"; + Requests[3716].Request.Path = "/subscriptions/fc4b570e-32d7-/resourceGroups/7dc56720-08e7-406/providers/Microsoft.TimeSeriesInsights/environments/9f2dfb4c-dc73-4/accessPolicies/5babf0c9-d9e4-4a"; + Requests[3717] = new DefaultHttpContext(); + Requests[3717].RequestServices = CreateServices(); + Requests[3717].Request.Method = "PATCH"; + Requests[3717].Request.Path = "/subscriptions/6f0f56b0-61f2-/resourceGroups/b96807eb-65a5-43f/providers/Microsoft.TimeSeriesInsights/environments/49a4275f-4b44-4/accessPolicies/d3d1a309-9f10-4b"; + Requests[3718] = new DefaultHttpContext(); + Requests[3718].RequestServices = CreateServices(); + Requests[3718].Request.Method = "GET"; + Requests[3718].Request.Path = "/subscriptions/be2e1350-2733-/resourceGroups/e0e15ad3-fc51-420/providers/Microsoft.TimeSeriesInsights/environments/9ab967e4-2e44-4/accessPolicies/4f7f3f3c-81c2-4d"; + Requests[3719] = new DefaultHttpContext(); + Requests[3719].RequestServices = CreateServices(); + Requests[3719].Request.Method = "PUT"; + Requests[3719].Request.Path = "/subscriptions/4550be7c-aa12-/resourceGroups/8ddb5bc8-8aa7-47b/providers/Microsoft.TimeSeriesInsights/environments/b6e4b979-9f6c-4/accessPolicies/8670716a-3188-42"; + Requests[3720] = new DefaultHttpContext(); + Requests[3720].RequestServices = CreateServices(); + Requests[3720].Request.Method = "PUT"; + Requests[3720].Request.Path = "/subscriptions/1bc0caf0-1c53-/resourceGroups/d1483324-b0c2-4e5/providers/Microsoft.TimeSeriesInsights/environments/e07eadad-177c-4/eventSources/41df518f-0cd6-4"; + Requests[3721] = new DefaultHttpContext(); + Requests[3721].RequestServices = CreateServices(); + Requests[3721].Request.Method = "GET"; + Requests[3721].Request.Path = "/subscriptions/45869e24-b13f-/resourceGroups/9b411cfd-33c9-4b0/providers/Microsoft.TimeSeriesInsights/environments/36fc1bca-c7bc-4/eventSources/53251857-0614-4"; + Requests[3722] = new DefaultHttpContext(); + Requests[3722].RequestServices = CreateServices(); + Requests[3722].Request.Method = "PATCH"; + Requests[3722].Request.Path = "/subscriptions/61d7f18c-f459-/resourceGroups/38c7e756-27f2-45b/providers/Microsoft.TimeSeriesInsights/environments/8e306eb6-baef-4/eventSources/9e458cf3-20d8-4"; + Requests[3723] = new DefaultHttpContext(); + Requests[3723].RequestServices = CreateServices(); + Requests[3723].Request.Method = "DELETE"; + Requests[3723].Request.Path = "/subscriptions/1b1a6ddc-f9f0-/resourceGroups/b8bce253-488a-45c/providers/Microsoft.TimeSeriesInsights/environments/0a90c26e-f537-4/eventSources/ef41bcda-5740-4"; + Requests[3724] = new DefaultHttpContext(); + Requests[3724].RequestServices = CreateServices(); + Requests[3724].Request.Method = "PUT"; + Requests[3724].Request.Path = "/subscriptions/adece0ad-620d-/resourceGroups/6f8c179b-8e24-413/providers/Microsoft.TimeSeriesInsights/environments/30bb4cc7-27ae-4/referenceDataSets/7cba5340-b92f-46a8-b"; + Requests[3725] = new DefaultHttpContext(); + Requests[3725].RequestServices = CreateServices(); + Requests[3725].Request.Method = "GET"; + Requests[3725].Request.Path = "/subscriptions/99709a78-56e9-/resourceGroups/003e14ea-6be9-48e/providers/Microsoft.TimeSeriesInsights/environments/ee529ac5-3301-4/referenceDataSets/9811620e-a9e4-48f4-8"; + Requests[3726] = new DefaultHttpContext(); + Requests[3726].RequestServices = CreateServices(); + Requests[3726].Request.Method = "DELETE"; + Requests[3726].Request.Path = "/subscriptions/63683018-1899-/resourceGroups/13d4653f-ae80-466/providers/Microsoft.TimeSeriesInsights/environments/27308c43-0c36-4/referenceDataSets/522af3e7-f70c-4572-8"; + Requests[3727] = new DefaultHttpContext(); + Requests[3727].RequestServices = CreateServices(); + Requests[3727].Request.Method = "PATCH"; + Requests[3727].Request.Path = "/subscriptions/08e2bae7-36cf-/resourceGroups/68a4749f-f8d2-47b/providers/Microsoft.TimeSeriesInsights/environments/34f7232d-d3a8-4/referenceDataSets/4bbeef96-5cd2-4582-b"; + Requests[3728] = new DefaultHttpContext(); + Requests[3728].RequestServices = CreateServices(); + Requests[3728].Request.Method = "GET"; + Requests[3728].Request.Path = "/subscriptions/e7344f4b-2345-/resourcegroups/92cc4afc-a9be-485/providers/Microsoft.Update.Admin/updateLocations/230dbce0-fe97-/updates/6f9204a0-e"; + Requests[3729] = new DefaultHttpContext(); + Requests[3729].RequestServices = CreateServices(); + Requests[3729].Request.Method = "DELETE"; + Requests[3729].Request.Path = "/subscriptions/09243a7a-9e93-/resourcegroups/b0deca74-02c6-41a/providers/microsoft.visualstudio/account/256a4234-33e7-4b8c-/extension/07a3000f-4651-4d32-a1"; + Requests[3730] = new DefaultHttpContext(); + Requests[3730].RequestServices = CreateServices(); + Requests[3730].Request.Method = "GET"; + Requests[3730].Request.Path = "/subscriptions/62359f28-85b0-/resourcegroups/8f3f727b-bba9-427/providers/microsoft.visualstudio/account/b19fd86b-0f53-4e37-/extension/42f77ee5-02e6-4650-8f"; + Requests[3731] = new DefaultHttpContext(); + Requests[3731].RequestServices = CreateServices(); + Requests[3731].Request.Method = "PATCH"; + Requests[3731].Request.Path = "/subscriptions/1dde984b-1f47-/resourcegroups/5a1b6193-9870-42e/providers/microsoft.visualstudio/account/a9337878-861a-4851-/extension/455843a0-b976-477a-a4"; + Requests[3732] = new DefaultHttpContext(); + Requests[3732].RequestServices = CreateServices(); + Requests[3732].Request.Method = "PUT"; + Requests[3732].Request.Path = "/subscriptions/d32cde11-d945-/resourcegroups/7c3cccf7-be02-4b0/providers/microsoft.visualstudio/account/3bde32f0-7e72-466c-/extension/bef9fa18-a3e8-4f7e-82"; + Requests[3733] = new DefaultHttpContext(); + Requests[3733].RequestServices = CreateServices(); + Requests[3733].Request.Method = "PATCH"; + Requests[3733].Request.Path = "/subscriptions/a25f426d-3a62-/resourceGroups/1090a41c-f4d4-429/providers/microsoft.visualstudio/account/4d57f2b0-2b12-47/project/6cd255d7-b48"; + Requests[3734] = new DefaultHttpContext(); + Requests[3734].RequestServices = CreateServices(); + Requests[3734].Request.Method = "GET"; + Requests[3734].Request.Path = "/subscriptions/99226427-c678-/resourceGroups/6c8a3c43-cf24-4f6/providers/microsoft.visualstudio/account/131994d4-12a0-41/project/6906222a-0a0"; + Requests[3735] = new DefaultHttpContext(); + Requests[3735].RequestServices = CreateServices(); + Requests[3735].Request.Method = "PUT"; + Requests[3735].Request.Path = "/subscriptions/5a879885-ab0a-/resourceGroups/2de0788f-3365-4c7/providers/microsoft.visualstudio/account/160244c8-bd18-46/project/22d09f5b-255"; + Requests[3736] = new DefaultHttpContext(); + Requests[3736].RequestServices = CreateServices(); + Requests[3736].Request.Method = "GET"; + Requests[3736].Request.Path = "/subscriptions/7334cb8c-6395-/resourceGroups/f40dccf7-92ff-406/providers/Microsoft.Web/hostingEnvironments/85127/detectors/830d9d71-323"; + Requests[3737] = new DefaultHttpContext(); + Requests[3737].RequestServices = CreateServices(); + Requests[3737].Request.Method = "GET"; + Requests[3737].Request.Path = "/subscriptions/577a5caa-ef18-/resourceGroups/220dde04-e8f7-401/providers/Microsoft.Web/hostingEnvironments/3f0d6/diagnostics/3bd28575-62cc-4"; + Requests[3738] = new DefaultHttpContext(); + Requests[3738].RequestServices = CreateServices(); + Requests[3738].Request.Method = "GET"; + Requests[3738].Request.Path = "/subscriptions/71fbcfd4-a5e3-/resourceGroups/c66ee38d-918e-4c1/providers/Microsoft.Web/hostingEnvironments/4451a/operations/14d9f194-7d"; + Requests[3739] = new DefaultHttpContext(); + Requests[3739].RequestServices = CreateServices(); + Requests[3739].Request.Method = "PATCH"; + Requests[3739].Request.Path = "/subscriptions/0f44d081-da3d-/resourceGroups/f74e9e16-643d-472/providers/Microsoft.Web/hostingEnvironments/a456b/workerPools/447c5449-6533-"; + Requests[3740] = new DefaultHttpContext(); + Requests[3740].RequestServices = CreateServices(); + Requests[3740].Request.Method = "GET"; + Requests[3740].Request.Path = "/subscriptions/ede86ac2-2810-/resourceGroups/77d9e0f8-c41c-41c/providers/Microsoft.Web/hostingEnvironments/72665/workerPools/a59b1d60-5156-"; + Requests[3741] = new DefaultHttpContext(); + Requests[3741].RequestServices = CreateServices(); + Requests[3741].Request.Method = "PUT"; + Requests[3741].Request.Path = "/subscriptions/6170631f-4da4-/resourceGroups/51421974-844f-46f/providers/Microsoft.Web/hostingEnvironments/05414/workerPools/4c3cc883-7359-"; + Requests[3742] = new DefaultHttpContext(); + Requests[3742].RequestServices = CreateServices(); + Requests[3742].Request.Method = "GET"; + Requests[3742].Request.Path = "/subscriptions/78991c18-8a6e-/resourceGroups/8506a028-5081-409/providers/Microsoft.Web/managedHostingEnvironments/fbf28/operations/ed44ba32-04"; + Requests[3743] = new DefaultHttpContext(); + Requests[3743].RequestServices = CreateServices(); + Requests[3743].Request.Method = "GET"; + Requests[3743].Request.Path = "/subscriptions/59ce306d-b71d-/resourceGroups/61ddb88b-b4c1-485/providers/Microsoft.Web/serverfarms/4cfcd/operationresults/152e3d13-bd"; + Requests[3744] = new DefaultHttpContext(); + Requests[3744].RequestServices = CreateServices(); + Requests[3744].Request.Method = "GET"; + Requests[3744].Request.Path = "/subscriptions/c7e9882e-3c79-/resourceGroups/4195a4b6-10d5-445/providers/Microsoft.Web/serverfarms/1dc04/virtualNetworkConnections/06659603"; + Requests[3745] = new DefaultHttpContext(); + Requests[3745].RequestServices = CreateServices(); + Requests[3745].Request.Method = "GET"; + Requests[3745].Request.Path = "/subscriptions/9e11364c-734e-/resourceGroups/d826010d-1555-4e6/providers/Microsoft.Web/sites/59d86/backups/37e9269f"; + Requests[3746] = new DefaultHttpContext(); + Requests[3746].RequestServices = CreateServices(); + Requests[3746].Request.Method = "DELETE"; + Requests[3746].Request.Path = "/subscriptions/0961c058-0fb8-/resourceGroups/c0aa8117-3f65-4a9/providers/Microsoft.Web/sites/5b05a/backups/1319fcbe"; + Requests[3747] = new DefaultHttpContext(); + Requests[3747].RequestServices = CreateServices(); + Requests[3747].Request.Method = "GET"; + Requests[3747].Request.Path = "/subscriptions/f105535c-b156-/resourceGroups/e3217de6-e1cf-4f2/providers/Microsoft.Web/sites/c1068/continuouswebjobs/703587ea-a"; + Requests[3748] = new DefaultHttpContext(); + Requests[3748].RequestServices = CreateServices(); + Requests[3748].Request.Method = "DELETE"; + Requests[3748].Request.Path = "/subscriptions/48b31958-70f9-/resourceGroups/46717d41-742b-449/providers/Microsoft.Web/sites/4cdb5/continuouswebjobs/1cd1ac91-f"; + Requests[3749] = new DefaultHttpContext(); + Requests[3749].RequestServices = CreateServices(); + Requests[3749].Request.Method = "GET"; + Requests[3749].Request.Path = "/subscriptions/672f0322-1af5-/resourceGroups/84f861a2-44df-48b/providers/Microsoft.Web/sites/0d423/deployments/7479d"; + Requests[3750] = new DefaultHttpContext(); + Requests[3750].RequestServices = CreateServices(); + Requests[3750].Request.Method = "DELETE"; + Requests[3750].Request.Path = "/subscriptions/5a223f0b-2a7a-/resourceGroups/273f9f43-97dc-485/providers/Microsoft.Web/sites/1f2dc/deployments/23c47"; + Requests[3751] = new DefaultHttpContext(); + Requests[3751].RequestServices = CreateServices(); + Requests[3751].Request.Method = "PUT"; + Requests[3751].Request.Path = "/subscriptions/8e36c384-274a-/resourceGroups/67706b72-b7c7-4c8/providers/Microsoft.Web/sites/faf41/deployments/79a0a"; + Requests[3752] = new DefaultHttpContext(); + Requests[3752].RequestServices = CreateServices(); + Requests[3752].Request.Method = "PATCH"; + Requests[3752].Request.Path = "/subscriptions/352a404d-8235-/resourceGroups/f728ad3b-75b3-4ac/providers/Microsoft.Web/sites/5e892/domainOwnershipIdentifiers/a8caa4be-8915-4b6a-b113-4de07"; + Requests[3753] = new DefaultHttpContext(); + Requests[3753].RequestServices = CreateServices(); + Requests[3753].Request.Method = "GET"; + Requests[3753].Request.Path = "/subscriptions/bcf19e4e-0205-/resourceGroups/37468510-aa5a-472/providers/Microsoft.Web/sites/270e1/domainOwnershipIdentifiers/de64ccd9-0c3b-4a61-b6a9-2826c"; + Requests[3754] = new DefaultHttpContext(); + Requests[3754].RequestServices = CreateServices(); + Requests[3754].Request.Method = "PUT"; + Requests[3754].Request.Path = "/subscriptions/6f9a4580-899d-/resourceGroups/04af77c7-808c-4ea/providers/Microsoft.Web/sites/b41ff/domainOwnershipIdentifiers/a86c1084-f7ae-45cd-9aef-95709"; + Requests[3755] = new DefaultHttpContext(); + Requests[3755].RequestServices = CreateServices(); + Requests[3755].Request.Method = "DELETE"; + Requests[3755].Request.Path = "/subscriptions/ab4802a3-cea4-/resourceGroups/829d3967-fc41-43a/providers/Microsoft.Web/sites/20c68/domainOwnershipIdentifiers/bc819a2f-d4fb-41c8-98b5-7a257"; + Requests[3756] = new DefaultHttpContext(); + Requests[3756].RequestServices = CreateServices(); + Requests[3756].Request.Method = "DELETE"; + Requests[3756].Request.Path = "/subscriptions/e028af5d-810b-/resourceGroups/e5612ef7-cc2f-42c/providers/Microsoft.Web/sites/b908a/functions/eb6f4572-412"; + Requests[3757] = new DefaultHttpContext(); + Requests[3757].RequestServices = CreateServices(); + Requests[3757].Request.Method = "GET"; + Requests[3757].Request.Path = "/subscriptions/d7336829-3e48-/resourceGroups/be5070b4-2773-41c/providers/Microsoft.Web/sites/47952/functions/e048f8c6-a8a"; + Requests[3758] = new DefaultHttpContext(); + Requests[3758].RequestServices = CreateServices(); + Requests[3758].Request.Method = "PUT"; + Requests[3758].Request.Path = "/subscriptions/4dbdd877-028a-/resourceGroups/092d2066-1890-45f/providers/Microsoft.Web/sites/e70b5/functions/b000049d-1f0"; + Requests[3759] = new DefaultHttpContext(); + Requests[3759].RequestServices = CreateServices(); + Requests[3759].Request.Method = "DELETE"; + Requests[3759].Request.Path = "/subscriptions/c312b330-478d-/resourceGroups/724feece-7110-423/providers/Microsoft.Web/sites/a093a/hostNameBindings/df644e47"; + Requests[3760] = new DefaultHttpContext(); + Requests[3760].RequestServices = CreateServices(); + Requests[3760].Request.Method = "PUT"; + Requests[3760].Request.Path = "/subscriptions/754e7855-5a03-/resourceGroups/03545b98-4734-4fd/providers/Microsoft.Web/sites/3b22d/hostNameBindings/9685ab90"; + Requests[3761] = new DefaultHttpContext(); + Requests[3761].RequestServices = CreateServices(); + Requests[3761].Request.Method = "GET"; + Requests[3761].Request.Path = "/subscriptions/8ba0b039-51b0-/resourceGroups/5ab94869-75e9-4d8/providers/Microsoft.Web/sites/39cf9/hostNameBindings/521e98c6"; + Requests[3762] = new DefaultHttpContext(); + Requests[3762].RequestServices = CreateServices(); + Requests[3762].Request.Method = "PATCH"; + Requests[3762].Request.Path = "/subscriptions/ae661d39-3077-/resourceGroups/00a7ebff-f143-41d/providers/Microsoft.Web/sites/2c7f0/hybridconnection/a512b8aa-6"; + Requests[3763] = new DefaultHttpContext(); + Requests[3763].RequestServices = CreateServices(); + Requests[3763].Request.Method = "DELETE"; + Requests[3763].Request.Path = "/subscriptions/a56af18f-f6b6-/resourceGroups/a36fed2e-4828-42e/providers/Microsoft.Web/sites/aeee5/hybridconnection/b3c5c5ab-6"; + Requests[3764] = new DefaultHttpContext(); + Requests[3764].RequestServices = CreateServices(); + Requests[3764].Request.Method = "PUT"; + Requests[3764].Request.Path = "/subscriptions/c4c0ab32-f43a-/resourceGroups/611f079e-ab35-427/providers/Microsoft.Web/sites/f3264/hybridconnection/82a4b810-2"; + Requests[3765] = new DefaultHttpContext(); + Requests[3765].RequestServices = CreateServices(); + Requests[3765].Request.Method = "GET"; + Requests[3765].Request.Path = "/subscriptions/f0d88475-d2fc-/resourceGroups/6bd3ab63-3a93-44b/providers/Microsoft.Web/sites/20255/hybridconnection/c2d47cd6-d"; + Requests[3766] = new DefaultHttpContext(); + Requests[3766].RequestServices = CreateServices(); + Requests[3766].Request.Method = "GET"; + Requests[3766].Request.Path = "/subscriptions/493a566f-8d09-/resourceGroups/3774a9e1-f239-433/providers/Microsoft.Web/sites/d7478/networkFeatures/e8309"; + Requests[3767] = new DefaultHttpContext(); + Requests[3767].RequestServices = CreateServices(); + Requests[3767].Request.Method = "GET"; + Requests[3767].Request.Path = "/subscriptions/4b350d39-c54f-/resourceGroups/bab69dc1-ef62-487/providers/Microsoft.Web/sites/47fe0/operationresults/72e058f9-22"; + Requests[3768] = new DefaultHttpContext(); + Requests[3768].RequestServices = CreateServices(); + Requests[3768].Request.Method = "PUT"; + Requests[3768].Request.Path = "/subscriptions/c29b35b8-9aef-/resourceGroups/b7ed4eb0-8e15-472/providers/Microsoft.Web/sites/82012/premieraddons/e28e6c33-3239-40"; + Requests[3769] = new DefaultHttpContext(); + Requests[3769].RequestServices = CreateServices(); + Requests[3769].Request.Method = "DELETE"; + Requests[3769].Request.Path = "/subscriptions/6bd4966f-7e34-/resourceGroups/6180d404-4947-4cd/providers/Microsoft.Web/sites/3278e/premieraddons/3b3f0c0f-2560-43"; + Requests[3770] = new DefaultHttpContext(); + Requests[3770].RequestServices = CreateServices(); + Requests[3770].Request.Method = "GET"; + Requests[3770].Request.Path = "/subscriptions/4ea66b76-6304-/resourceGroups/65f01404-182d-479/providers/Microsoft.Web/sites/a326d/premieraddons/289429ef-e20b-4b"; + Requests[3771] = new DefaultHttpContext(); + Requests[3771].RequestServices = CreateServices(); + Requests[3771].Request.Method = "DELETE"; + Requests[3771].Request.Path = "/subscriptions/bdddff6f-7f3b-/resourceGroups/4d5a4086-eacb-4e6/providers/Microsoft.Web/sites/10fd6/processes/3615ee01-"; + Requests[3772] = new DefaultHttpContext(); + Requests[3772].RequestServices = CreateServices(); + Requests[3772].Request.Method = "GET"; + Requests[3772].Request.Path = "/subscriptions/90c2dc55-0e03-/resourceGroups/e27b2dcc-02ec-450/providers/Microsoft.Web/sites/5e038/processes/bd323886-"; + Requests[3773] = new DefaultHttpContext(); + Requests[3773].RequestServices = CreateServices(); + Requests[3773].Request.Method = "DELETE"; + Requests[3773].Request.Path = "/subscriptions/a5681f1b-af39-/resourceGroups/47939ea9-812c-4d0/providers/Microsoft.Web/sites/9928c/publicCertificates/c78beaa2-b140-4c3d-bc"; + Requests[3774] = new DefaultHttpContext(); + Requests[3774].RequestServices = CreateServices(); + Requests[3774].Request.Method = "PUT"; + Requests[3774].Request.Path = "/subscriptions/7fbfe263-9e66-/resourceGroups/8c66855b-2609-48b/providers/Microsoft.Web/sites/33491/publicCertificates/ef303502-8380-43fe-93"; + Requests[3775] = new DefaultHttpContext(); + Requests[3775].RequestServices = CreateServices(); + Requests[3775].Request.Method = "GET"; + Requests[3775].Request.Path = "/subscriptions/552d48a7-1f9c-/resourceGroups/54710385-3dab-430/providers/Microsoft.Web/sites/bca24/publicCertificates/552d7cb3-f332-45e6-94"; + Requests[3776] = new DefaultHttpContext(); + Requests[3776].RequestServices = CreateServices(); + Requests[3776].Request.Method = "PUT"; + Requests[3776].Request.Path = "/subscriptions/f4952572-77a7-/resourceGroups/c3a3552d-ce89-4fd/providers/Microsoft.Web/sites/1efbc/siteextensions/2cb7c38f-af00-4"; + Requests[3777] = new DefaultHttpContext(); + Requests[3777].RequestServices = CreateServices(); + Requests[3777].Request.Method = "GET"; + Requests[3777].Request.Path = "/subscriptions/ef7848ab-d7c1-/resourceGroups/7c0a3285-d9fa-444/providers/Microsoft.Web/sites/c685c/siteextensions/a6b6cf31-9c22-4"; + Requests[3778] = new DefaultHttpContext(); + Requests[3778].RequestServices = CreateServices(); + Requests[3778].Request.Method = "DELETE"; + Requests[3778].Request.Path = "/subscriptions/2d97a7f8-da41-/resourceGroups/95227e4e-5542-426/providers/Microsoft.Web/sites/7ab49/siteextensions/0cc827f6-3d9c-4"; + Requests[3779] = new DefaultHttpContext(); + Requests[3779].RequestServices = CreateServices(); + Requests[3779].Request.Method = "GET"; + Requests[3779].Request.Path = "/subscriptions/8ab9533b-40b5-/resourceGroups/f57ae4e9-0e0d-413/providers/Microsoft.Web/sites/fec40/slots/ed57e"; + Requests[3780] = new DefaultHttpContext(); + Requests[3780].RequestServices = CreateServices(); + Requests[3780].Request.Method = "PUT"; + Requests[3780].Request.Path = "/subscriptions/5ee30cc5-f00d-/resourceGroups/4f5fa93a-0bd3-402/providers/Microsoft.Web/sites/abe10/slots/0374a"; + Requests[3781] = new DefaultHttpContext(); + Requests[3781].RequestServices = CreateServices(); + Requests[3781].Request.Method = "DELETE"; + Requests[3781].Request.Path = "/subscriptions/3c6e347f-1c90-/resourceGroups/976c21dc-1dc5-42e/providers/Microsoft.Web/sites/aa5d5/slots/5db44"; + Requests[3782] = new DefaultHttpContext(); + Requests[3782].RequestServices = CreateServices(); + Requests[3782].Request.Method = "PATCH"; + Requests[3782].Request.Path = "/subscriptions/699b359b-fe97-/resourceGroups/d384dc5d-798a-4e9/providers/Microsoft.Web/sites/ca4b8/slots/63b90"; + Requests[3783] = new DefaultHttpContext(); + Requests[3783].RequestServices = CreateServices(); + Requests[3783].Request.Method = "GET"; + Requests[3783].Request.Path = "/subscriptions/a5c40202-7fb4-/resourceGroups/0b57606f-f369-40f/providers/Microsoft.Web/sites/7bc0a/triggeredwebjobs/29c49a21-5"; + Requests[3784] = new DefaultHttpContext(); + Requests[3784].RequestServices = CreateServices(); + Requests[3784].Request.Method = "DELETE"; + Requests[3784].Request.Path = "/subscriptions/4e4528f6-770d-/resourceGroups/be259e46-c2e3-478/providers/Microsoft.Web/sites/7f2fa/triggeredwebjobs/455eba18-9"; + Requests[3785] = new DefaultHttpContext(); + Requests[3785].RequestServices = CreateServices(); + Requests[3785].Request.Method = "PATCH"; + Requests[3785].Request.Path = "/subscriptions/cad2fe36-27d4-/resourceGroups/682464cd-a124-403/providers/Microsoft.Web/sites/6ff00/virtualNetworkConnections/501fabab"; + Requests[3786] = new DefaultHttpContext(); + Requests[3786].RequestServices = CreateServices(); + Requests[3786].Request.Method = "DELETE"; + Requests[3786].Request.Path = "/subscriptions/0fcd6570-7af1-/resourceGroups/ce69187a-f32d-4df/providers/Microsoft.Web/sites/47fa2/virtualNetworkConnections/d12c5f0f"; + Requests[3787] = new DefaultHttpContext(); + Requests[3787].RequestServices = CreateServices(); + Requests[3787].Request.Method = "PUT"; + Requests[3787].Request.Path = "/subscriptions/b31ec4cc-6e5c-/resourceGroups/52983183-fbda-44b/providers/Microsoft.Web/sites/6a5b1/virtualNetworkConnections/ca6bf850"; + Requests[3788] = new DefaultHttpContext(); + Requests[3788].RequestServices = CreateServices(); + Requests[3788].Request.Method = "GET"; + Requests[3788].Request.Path = "/subscriptions/7a121464-cfa2-/resourceGroups/ef41073e-3f9f-48e/providers/Microsoft.Web/sites/304f3/virtualNetworkConnections/1ab73d51"; + Requests[3789] = new DefaultHttpContext(); + Requests[3789].RequestServices = CreateServices(); + Requests[3789].Request.Method = "GET"; + Requests[3789].Request.Path = "/subscriptions/0ac2fc25-df24-/resourceGroups/bdccada9-96c9-468/providers/Microsoft.Web/sites/0460c/webjobs/4139d255-f"; + Requests[3790] = new DefaultHttpContext(); + Requests[3790].RequestServices = CreateServices(); + Requests[3790].Request.Method = "GET"; + Requests[3790].Request.Path = "/subscriptions/75d316bf-cc32-/resourceGroups/376215b1-12a9-49b/providers/Microsoft.Web/sites/144b2cac/detectors/97a5802e-b67"; + Requests[3791] = new DefaultHttpContext(); + Requests[3791].RequestServices = CreateServices(); + Requests[3791].Request.Method = "GET"; + Requests[3791].Request.Path = "/subscriptions/21e8b550-144f-/resourceGroups/d1e1f7a4-11c2-496/providers/Microsoft.Web/sites/e6995884/diagnostics/249bacad-96b8-4708"; + Requests[3792] = new DefaultHttpContext(); + Requests[3792].RequestServices = CreateServices(); + Requests[3792].Request.Method = "GET"; + Requests[3792].Request.Path = "/subscriptions/8cc7b346-5c09-/resourceGroups/2bc39383-a75c-413/providers/Microsoft.Web/sites/4b65e8e0/recommendations/86800"; + Requests[3793] = new DefaultHttpContext(); + Requests[3793].RequestServices = CreateServices(); + Requests[3793].Request.Method = "POST"; + Requests[3793].Request.Path = "/subscriptions/e07e8d78-f11a-/resourceGroup/ebad9344-7ce6-4f9/providers/Microsoft.MachineLearningServices/workspaces/8d88b02b-09c0/computes/c335097f-77/listKeys"; + Requests[3794] = new DefaultHttpContext(); + Requests[3794].RequestServices = CreateServices(); + Requests[3794].Request.Method = "GET"; + Requests[3794].Request.Path = "/subscriptions/077a0fd5-18bc-/resourceGroups/ce8b8c43-/providers/Microsoft.DataMigration/services/e9c753c5-97/projects/0cc116c7-59/tasks"; + Requests[3795] = new DefaultHttpContext(); + Requests[3795].RequestServices = CreateServices(); + Requests[3795].Request.Method = "POST"; + Requests[3795].Request.Path = "/subscriptions/36b25caf-dcd6-/resourcegroups/889a3058-ecd8/providers/Microsoft.AzureBridge.Admin/activations/c752968a-c169-/products/bf50a8b9-a5/download"; + Requests[3796] = new DefaultHttpContext(); + Requests[3796].RequestServices = CreateServices(); + Requests[3796].Request.Method = "POST"; + Requests[3796].Request.Path = "/subscriptions/b76ec582-61ca-/resourceGroups/27e0e7ed-a766/providers/Microsoft.AzureStack/registrations/32490e7e-cc5c-40/products/a25208e4-1c/listDetails"; + Requests[3797] = new DefaultHttpContext(); + Requests[3797].RequestServices = CreateServices(); + Requests[3797].Request.Method = "GET"; + Requests[3797].Request.Path = "/subscriptions/47e2365d-c173-/resourceGroups/29fa8663-b38d-4d9/providers/Microsoft.ApiManagement/service/73c5627f-7d/apis/afdd2/diagnostics"; + Requests[3798] = new DefaultHttpContext(); + Requests[3798].RequestServices = CreateServices(); + Requests[3798].Request.Method = "GET"; + Requests[3798].Request.Path = "/subscriptions/c4dff69c-f2c0-/resourceGroups/2cb23ae0-4418-4b2/providers/Microsoft.ApiManagement/service/a599a843-12/apis/d0846/issues"; + Requests[3799] = new DefaultHttpContext(); + Requests[3799].RequestServices = CreateServices(); + Requests[3799].Request.Method = "GET"; + Requests[3799].Request.Path = "/subscriptions/c98207c0-0ba2-/resourceGroups/b4eacc85-e7ce-482/providers/Microsoft.ApiManagement/service/908b9223-6f/apis/cbf64/operations"; + Requests[3800] = new DefaultHttpContext(); + Requests[3800].RequestServices = CreateServices(); + Requests[3800].Request.Method = "GET"; + Requests[3800].Request.Path = "/subscriptions/04572060-b1e5-/resourceGroups/35c6bbfb-5b9a-4e2/providers/Microsoft.ApiManagement/service/91a3ede2-c3/apis/baded/operationsByTags"; + Requests[3801] = new DefaultHttpContext(); + Requests[3801].RequestServices = CreateServices(); + Requests[3801].Request.Method = "GET"; + Requests[3801].Request.Path = "/subscriptions/b3a07ed1-5a1d-/resourceGroups/e071aa64-741d-49e/providers/Microsoft.ApiManagement/service/65fcb055-11/apis/c4e0e/policies"; + Requests[3802] = new DefaultHttpContext(); + Requests[3802].RequestServices = CreateServices(); + Requests[3802].Request.Method = "PUT"; + Requests[3802].Request.Path = "/subscriptions/da3e6b87-4641-/resourceGroups/72d6b935-710a-4db/providers/Microsoft.ApiManagement/service/f8ea2841-e8/apis/9fcf2/policy"; + Requests[3803] = new DefaultHttpContext(); + Requests[3803].RequestServices = CreateServices(); + Requests[3803].Request.Method = "DELETE"; + Requests[3803].Request.Path = "/subscriptions/5a692697-2ff4-/resourceGroups/47ef1e76-c5b6-48e/providers/Microsoft.ApiManagement/service/720bc9df-37/apis/eb968/policy"; + Requests[3804] = new DefaultHttpContext(); + Requests[3804].RequestServices = CreateServices(); + Requests[3804].Request.Method = "GET"; + Requests[3804].Request.Path = "/subscriptions/6ab0c038-b08e-/resourceGroups/54f0fdca-97e8-490/providers/Microsoft.ApiManagement/service/9c854a3c-68/apis/3aa26/policy"; + Requests[3805] = new DefaultHttpContext(); + Requests[3805].RequestServices = CreateServices(); + Requests[3805].Request.Method = "GET"; + Requests[3805].Request.Path = "/subscriptions/e372b77d-f8bd-/resourceGroups/17232b58-f349-44b/providers/Microsoft.ApiManagement/service/b106afdc-d0/apis/ca315/products"; + Requests[3806] = new DefaultHttpContext(); + Requests[3806].RequestServices = CreateServices(); + Requests[3806].Request.Method = "PARAMETERS"; + Requests[3806].Request.Path = "/subscriptions/36b5e7d2-f5bc-/resourceGroups/b3ba9b5c-23bf-479/providers/Microsoft.ApiManagement/service/24bea8c3-95/apis/20637/releases"; + Requests[3807] = new DefaultHttpContext(); + Requests[3807].RequestServices = CreateServices(); + Requests[3807].Request.Method = "GET"; + Requests[3807].Request.Path = "/subscriptions/813561ec-13bc-/resourceGroups/d51ab0bc-855d-452/providers/Microsoft.ApiManagement/service/e0dd3e8f-ea/apis/d18f4/releases"; + Requests[3808] = new DefaultHttpContext(); + Requests[3808].RequestServices = CreateServices(); + Requests[3808].Request.Method = "PARAMETERS"; + Requests[3808].Request.Path = "/subscriptions/b9243163-d6c3-/resourceGroups/7822e8af-7ca9-451/providers/Microsoft.ApiManagement/service/632a35f2-bb/apis/51d17/revisions"; + Requests[3809] = new DefaultHttpContext(); + Requests[3809].RequestServices = CreateServices(); + Requests[3809].Request.Method = "GET"; + Requests[3809].Request.Path = "/subscriptions/06731f44-dace-/resourceGroups/c5902e45-1b9d-486/providers/Microsoft.ApiManagement/service/3ac19b26-c6/apis/56206/revisions"; + Requests[3810] = new DefaultHttpContext(); + Requests[3810].RequestServices = CreateServices(); + Requests[3810].Request.Method = "GET"; + Requests[3810].Request.Path = "/subscriptions/3220c235-23db-/resourceGroups/f9668dd2-6252-45c/providers/Microsoft.ApiManagement/service/8efc3594-2b/apis/fa45b/schemas"; + Requests[3811] = new DefaultHttpContext(); + Requests[3811].RequestServices = CreateServices(); + Requests[3811].Request.Method = "GET"; + Requests[3811].Request.Path = "/subscriptions/caa519ba-1f2c-/resourceGroups/96f022f1-a2e4-45c/providers/Microsoft.ApiManagement/service/e91fabf8-a4/apis/894d2/tagDescriptions"; + Requests[3812] = new DefaultHttpContext(); + Requests[3812].RequestServices = CreateServices(); + Requests[3812].Request.Method = "GET"; + Requests[3812].Request.Path = "/subscriptions/4630971c-6447-/resourceGroups/1bcedf56-df66-4fb/providers/Microsoft.ApiManagement/service/a3fe4869-f0/apis/a32f5/tags"; + Requests[3813] = new DefaultHttpContext(); + Requests[3813].RequestServices = CreateServices(); + Requests[3813].Request.Method = "POST"; + Requests[3813].Request.Path = "/subscriptions/0e7613e0-c85a-/resourceGroups/b1ece843-197e-448/providers/Microsoft.ApiManagement/service/30592452-6f/backends/e32060c2-/reconnect"; + Requests[3814] = new DefaultHttpContext(); + Requests[3814].RequestServices = CreateServices(); + Requests[3814].Request.Method = "GET"; + Requests[3814].Request.Path = "/subscriptions/c992b2ea-f7ab-/resourceGroups/36fa7f18-e63a-40f/providers/Microsoft.ApiManagement/service/92dfec04-7d/diagnostics/16edd64d-a3c/loggers"; + Requests[3815] = new DefaultHttpContext(); + Requests[3815].RequestServices = CreateServices(); + Requests[3815].Request.Method = "GET"; + Requests[3815].Request.Path = "/subscriptions/14068d11-77a6-/resourceGroups/c2251292-323a-484/providers/Microsoft.ApiManagement/service/32698aa8-b2/groups/5512f08/users"; + Requests[3816] = new DefaultHttpContext(); + Requests[3816].RequestServices = CreateServices(); + Requests[3816].Request.Method = "GET"; + Requests[3816].Request.Path = "/subscriptions/0447dc19-19fc-/resourceGroups/bc11873d-ee96-4a9/providers/Microsoft.ApiManagement/service/691eb80f-79/locations/b35ba8da-2bc/networkstatus"; + Requests[3817] = new DefaultHttpContext(); + Requests[3817].RequestServices = CreateServices(); + Requests[3817].Request.Method = "GET"; + Requests[3817].Request.Path = "/subscriptions/ab141841-b514-/resourceGroups/319edd85-5f1a-45f/providers/Microsoft.ApiManagement/service/a7f4abc2-a3/notifications/122b3802-c79d-44/recipientEmails"; + Requests[3818] = new DefaultHttpContext(); + Requests[3818].RequestServices = CreateServices(); + Requests[3818].Request.Method = "GET"; + Requests[3818].Request.Path = "/subscriptions/ddc69703-b186-/resourceGroups/3131f6fd-8697-4cf/providers/Microsoft.ApiManagement/service/180cc9bf-14/notifications/dfd83d71-698f-48/recipientUsers"; + Requests[3819] = new DefaultHttpContext(); + Requests[3819].RequestServices = CreateServices(); + Requests[3819].Request.Method = "GET"; + Requests[3819].Request.Path = "/subscriptions/c5bfd62f-09e2-/resourceGroups/421679be-d67e-449/providers/Microsoft.ApiManagement/service/740f99af-68/products/9aadad28-/apis"; + Requests[3820] = new DefaultHttpContext(); + Requests[3820].RequestServices = CreateServices(); + Requests[3820].Request.Method = "GET"; + Requests[3820].Request.Path = "/subscriptions/f18fb4a1-032f-/resourceGroups/5a649172-828d-4a9/providers/Microsoft.ApiManagement/service/fa7d01f8-ed/products/da976d48-/groups"; + Requests[3821] = new DefaultHttpContext(); + Requests[3821].RequestServices = CreateServices(); + Requests[3821].Request.Method = "GET"; + Requests[3821].Request.Path = "/subscriptions/f684152b-06c5-/resourceGroups/2f7041af-4ed9-4e8/providers/Microsoft.ApiManagement/service/c9e0f60c-34/products/64bcd868-/policies"; + Requests[3822] = new DefaultHttpContext(); + Requests[3822].RequestServices = CreateServices(); + Requests[3822].Request.Method = "PUT"; + Requests[3822].Request.Path = "/subscriptions/a517d684-5eb9-/resourceGroups/10749360-4f5f-45f/providers/Microsoft.ApiManagement/service/4d56eb7b-c0/products/e80d71b2-/policy"; + Requests[3823] = new DefaultHttpContext(); + Requests[3823].RequestServices = CreateServices(); + Requests[3823].Request.Method = "GET"; + Requests[3823].Request.Path = "/subscriptions/a0d9c73d-a02f-/resourceGroups/e0f79c51-157f-4e5/providers/Microsoft.ApiManagement/service/e90be2f2-76/products/767fb6ee-/policy"; + Requests[3824] = new DefaultHttpContext(); + Requests[3824].RequestServices = CreateServices(); + Requests[3824].Request.Method = "DELETE"; + Requests[3824].Request.Path = "/subscriptions/9f4aafc6-3d8f-/resourceGroups/a0c4f264-2051-406/providers/Microsoft.ApiManagement/service/f45085f8-49/products/8e116fb1-/policy"; + Requests[3825] = new DefaultHttpContext(); + Requests[3825].RequestServices = CreateServices(); + Requests[3825].Request.Method = "GET"; + Requests[3825].Request.Path = "/subscriptions/79a672bf-8c7b-/resourceGroups/ac71f8b6-3af2-4b7/providers/Microsoft.ApiManagement/service/f3d5c455-c0/products/9b8a1344-/subscriptions"; + Requests[3826] = new DefaultHttpContext(); + Requests[3826].RequestServices = CreateServices(); + Requests[3826].Request.Method = "GET"; + Requests[3826].Request.Path = "/subscriptions/860b3ff9-53e2-/resourceGroups/edb6a6ef-a927-45a/providers/Microsoft.ApiManagement/service/c19fb786-a4/products/e836bcc6-/tags"; + Requests[3827] = new DefaultHttpContext(); + Requests[3827].RequestServices = CreateServices(); + Requests[3827].Request.Method = "POST"; + Requests[3827].Request.Path = "/subscriptions/3ded32f4-d7ba-/resourceGroups/53fdb9ef-eeee-4fc/providers/Microsoft.ApiManagement/service/9fbb7610-61/subscriptions/7f080/regeneratePrimaryKey"; + Requests[3828] = new DefaultHttpContext(); + Requests[3828].RequestServices = CreateServices(); + Requests[3828].Request.Method = "POST"; + Requests[3828].Request.Path = "/subscriptions/176f5854-f94c-/resourceGroups/5bbade06-acf0-4f6/providers/Microsoft.ApiManagement/service/ead6e8ee-4d/subscriptions/d86be/regenerateSecondaryKey"; + Requests[3829] = new DefaultHttpContext(); + Requests[3829].RequestServices = CreateServices(); + Requests[3829].Request.Method = "GET"; + Requests[3829].Request.Path = "/subscriptions/4a1cce99-44f5-/resourceGroups/f4090669-2a8e-4de/providers/Microsoft.ApiManagement/service/df8370cc-73/tenant/0e08677c-f/git"; + Requests[3830] = new DefaultHttpContext(); + Requests[3830].RequestServices = CreateServices(); + Requests[3830].Request.Method = "POST"; + Requests[3830].Request.Path = "/subscriptions/6d6a14e9-8946-/resourceGroups/0794c2bd-19c8-433/providers/Microsoft.ApiManagement/service/a93dde6b-a9/tenant/62b8f8c5-1/regeneratePrimaryKey"; + Requests[3831] = new DefaultHttpContext(); + Requests[3831].RequestServices = CreateServices(); + Requests[3831].Request.Method = "POST"; + Requests[3831].Request.Path = "/subscriptions/580e695b-b1e4-/resourceGroups/31ed66f5-a85e-4b7/providers/Microsoft.ApiManagement/service/a099c83c-e4/tenant/7bcff023-f/regenerateSecondaryKey"; + Requests[3832] = new DefaultHttpContext(); + Requests[3832].RequestServices = CreateServices(); + Requests[3832].Request.Method = "POST"; + Requests[3832].Request.Path = "/subscriptions/49324851-b7dc-/resourceGroups/02366f58-9e16-4f7/providers/Microsoft.ApiManagement/service/5e1c8b86-28/tenant/6a223e5c-426d-404/deploy"; + Requests[3833] = new DefaultHttpContext(); + Requests[3833].RequestServices = CreateServices(); + Requests[3833].Request.Method = "POST"; + Requests[3833].Request.Path = "/subscriptions/6c9ffbdc-5326-/resourceGroups/e31d6fa2-90ff-445/providers/Microsoft.ApiManagement/service/05de86ea-39/tenant/a8456482-7c64-406/save"; + Requests[3834] = new DefaultHttpContext(); + Requests[3834].RequestServices = CreateServices(); + Requests[3834].Request.Method = "GET"; + Requests[3834].Request.Path = "/subscriptions/75c1f2e0-0bec-/resourceGroups/569076c2-37e4-404/providers/Microsoft.ApiManagement/service/28204d3b-94/tenant/5e453b59-097f-494/syncState"; + Requests[3835] = new DefaultHttpContext(); + Requests[3835].RequestServices = CreateServices(); + Requests[3835].Request.Method = "POST"; + Requests[3835].Request.Path = "/subscriptions/c950c177-bc1f-/resourceGroups/ac480fff-6b92-452/providers/Microsoft.ApiManagement/service/9cf9bbd5-20/tenant/8400b5fd-5010-43d/validate"; + Requests[3836] = new DefaultHttpContext(); + Requests[3836].RequestServices = CreateServices(); + Requests[3836].Request.Method = "POST"; + Requests[3836].Request.Path = "/subscriptions/cf590942-3ff5-/resourceGroups/e9c74933-698c-4b3/providers/Microsoft.ApiManagement/service/a4c58e7b-63/users/46fe8/generateSsoUrl"; + Requests[3837] = new DefaultHttpContext(); + Requests[3837].RequestServices = CreateServices(); + Requests[3837].Request.Method = "GET"; + Requests[3837].Request.Path = "/subscriptions/d4ec4fe6-9363-/resourceGroups/f6cb60e7-2465-4ea/providers/Microsoft.ApiManagement/service/3bf26a64-a5/users/df1be/groups"; + Requests[3838] = new DefaultHttpContext(); + Requests[3838].RequestServices = CreateServices(); + Requests[3838].Request.Method = "GET"; + Requests[3838].Request.Path = "/subscriptions/8072465d-ab48-/resourceGroups/a792de2e-7ddd-4f0/providers/Microsoft.ApiManagement/service/9ded7f49-ec/users/a0da9/identities"; + Requests[3839] = new DefaultHttpContext(); + Requests[3839].RequestServices = CreateServices(); + Requests[3839].Request.Method = "GET"; + Requests[3839].Request.Path = "/subscriptions/b0b146f9-363b-/resourceGroups/ba388a37-0551-451/providers/Microsoft.ApiManagement/service/74a585d5-29/users/c61dc/subscriptions"; + Requests[3840] = new DefaultHttpContext(); + Requests[3840].RequestServices = CreateServices(); + Requests[3840].Request.Method = "POST"; + Requests[3840].Request.Path = "/subscriptions/c7c80af6-3aa4-/resourceGroups/564c0b1a-3231-4dd/providers/Microsoft.ApiManagement/service/4ebc951e-4f/users/f06b4/token"; + Requests[3841] = new DefaultHttpContext(); + Requests[3841].RequestServices = CreateServices(); + Requests[3841].Request.Method = "GET"; + Requests[3841].Request.Path = "/subscriptions/c8dffa5a-807e-/resourceGroups/e9952974-e684-4e6/providers/Microsoft.Automation/automationAccounts/4f30404f-ec91-4390-a2/compilationjobs/5a4ed/streams"; + Requests[3842] = new DefaultHttpContext(); + Requests[3842].RequestServices = CreateServices(); + Requests[3842].Request.Method = "GET"; + Requests[3842].Request.Path = "/subscriptions/72aff501-ce60-/resourceGroups/e27ebba8-1f55-416/providers/Microsoft.Automation/automationAccounts/6dafd8c4-aa59-4488-b0/configurations/25c072b1-1756-4bd/content"; + Requests[3843] = new DefaultHttpContext(); + Requests[3843].RequestServices = CreateServices(); + Requests[3843].Request.Method = "GET"; + Requests[3843].Request.Path = "/subscriptions/c5cb4dc2-91c1-/resourceGroups/4a7fd612-7286-4b1/providers/Microsoft.Automation/automationAccounts/84b5bc2a-ec39-44ba-90/jobs/8a35b/output"; + Requests[3844] = new DefaultHttpContext(); + Requests[3844].RequestServices = CreateServices(); + Requests[3844].Request.Method = "POST"; + Requests[3844].Request.Path = "/subscriptions/0ebe54a5-1fde-/resourceGroups/b72046d1-a885-44d/providers/Microsoft.Automation/automationAccounts/3b8aa075-7633-4166-89/jobs/0935d/resume"; + Requests[3845] = new DefaultHttpContext(); + Requests[3845].RequestServices = CreateServices(); + Requests[3845].Request.Method = "GET"; + Requests[3845].Request.Path = "/subscriptions/28c605a1-3653-/resourceGroups/50dd9c32-5675-450/providers/Microsoft.Automation/automationAccounts/5f1774c8-0c94-4bca-9e/jobs/90954/runbookContent"; + Requests[3846] = new DefaultHttpContext(); + Requests[3846].RequestServices = CreateServices(); + Requests[3846].Request.Method = "POST"; + Requests[3846].Request.Path = "/subscriptions/1ec8a62d-db22-/resourceGroups/e4b77632-a8bb-492/providers/Microsoft.Automation/automationAccounts/50ccb68c-41b2-42af-85/jobs/6531f/stop"; + Requests[3847] = new DefaultHttpContext(); + Requests[3847].RequestServices = CreateServices(); + Requests[3847].Request.Method = "GET"; + Requests[3847].Request.Path = "/subscriptions/89fe012a-395e-/resourceGroups/05188d6d-4ebd-441/providers/Microsoft.Automation/automationAccounts/1941c128-cda4-4323-95/jobs/08367/streams"; + Requests[3848] = new DefaultHttpContext(); + Requests[3848].RequestServices = CreateServices(); + Requests[3848].Request.Method = "POST"; + Requests[3848].Request.Path = "/subscriptions/d504aecd-6653-/resourceGroups/d2e84ec3-236e-428/providers/Microsoft.Automation/automationAccounts/6b05a669-3cfe-4cb2-9d/jobs/7873e/suspend"; + Requests[3849] = new DefaultHttpContext(); + Requests[3849].RequestServices = CreateServices(); + Requests[3849].Request.Method = "GET"; + Requests[3849].Request.Path = "/subscriptions/d4de0e90-a003-/resourceGroups/6cbbb2e4-2f86-4c4/providers/Microsoft.Automation/automationAccounts/ce08325f-5ead-4fd2-ad/modules/594ab6aa-d/activities"; + Requests[3850] = new DefaultHttpContext(); + Requests[3850].RequestServices = CreateServices(); + Requests[3850].Request.Method = "GET"; + Requests[3850].Request.Path = "/subscriptions/4af34b12-2f48-/resourceGroups/75f074c0-e2c5-4ae/providers/Microsoft.Automation/automationAccounts/9589bd36-79b8-4c93-91/nodes/ef9f48/reports"; + Requests[3851] = new DefaultHttpContext(); + Requests[3851].RequestServices = CreateServices(); + Requests[3851].Request.Method = "GET"; + Requests[3851].Request.Path = "/subscriptions/0e5d8d60-b2ab-/resourceGroups/560d9421-5bdc-458/providers/Microsoft.Automation/automationAccounts/3047471e-6a17-486a-a4/objectDataTypes/ffc3bab1/fields"; + Requests[3852] = new DefaultHttpContext(); + Requests[3852].RequestServices = CreateServices(); + Requests[3852].Request.Method = "GET"; + Requests[3852].Request.Path = "/subscriptions/6a9009eb-34c1-/resourceGroups/098ad8a6-ee55-48d/providers/Microsoft.Automation/automationAccounts/b4b6e3d3-e060-4d83-b6/runbooks/90680981-3c/content"; + Requests[3853] = new DefaultHttpContext(); + Requests[3853].RequestServices = CreateServices(); + Requests[3853].Request.Method = "GET"; + Requests[3853].Request.Path = "/subscriptions/1edafe2a-a314-/resourceGroups/adbd9338-7c43-472/providers/Microsoft.Automation/automationAccounts/e31cc128-25ea-44af-9b/runbooks/df1e8d2e-81/draft"; + Requests[3854] = new DefaultHttpContext(); + Requests[3854].RequestServices = CreateServices(); + Requests[3854].Request.Method = "GET"; + Requests[3854].Request.Path = "/subscriptions/b752abbd-45d6-/resourceGroups/fb6ae255-7b6b-4db/providers/Microsoft.Automation/automationAccounts/88619468-d739-4610-81/sourceControls/c6aa65fc-d2a3-414/sourceControlSyncJobs"; + Requests[3855] = new DefaultHttpContext(); + Requests[3855].RequestServices = CreateServices(); + Requests[3855].Request.Method = "POST"; + Requests[3855].Request.Path = "/subscriptions/3e31903c-222d-/resourceGroups/723c715e-fc95-494/providers/Microsoft.Automation/automationAccounts/3eb782f6-5f12-4acd-9e/watchers/5974ac71-80/start"; + Requests[3856] = new DefaultHttpContext(); + Requests[3856].RequestServices = CreateServices(); + Requests[3856].Request.Method = "POST"; + Requests[3856].Request.Path = "/subscriptions/4d0f4ea4-78cb-/resourceGroups/0da10b55-1888-4da/providers/Microsoft.Automation/automationAccounts/919efafa-89b7-48a8-aa/watchers/578cba9f-89/stop"; + Requests[3857] = new DefaultHttpContext(); + Requests[3857].RequestServices = CreateServices(); + Requests[3857].Request.Method = "POST"; + Requests[3857].Request.Path = "/subscriptions/8e62fc77-cdf7-/resourcegroups/47c70e47-baa2-419/providers/Microsoft.Backup.Admin/backupLocations/f457cc75/backups/1dc8ac/restore"; + Requests[3858] = new DefaultHttpContext(); + Requests[3858].RequestServices = CreateServices(); + Requests[3858].Request.Method = "POST"; + Requests[3858].Request.Path = "/subscriptions/5c4a096e-87d2-/resourceGroups/9d2d7935-dd5c-466/providers/Microsoft.Batch/batchAccounts/999efb44-1a/certificates/3149d7ac-13c0-4/cancelDelete"; + Requests[3859] = new DefaultHttpContext(); + Requests[3859].RequestServices = CreateServices(); + Requests[3859].Request.Method = "POST"; + Requests[3859].Request.Path = "/subscriptions/45251a6c-e4f1-/resourceGroups/48942da9-1bfb-4af/providers/Microsoft.Batch/batchAccounts/1ae89bdf-8e/pools/1c1ef48f/disableAutoScale"; + Requests[3860] = new DefaultHttpContext(); + Requests[3860].RequestServices = CreateServices(); + Requests[3860].Request.Method = "POST"; + Requests[3860].Request.Path = "/subscriptions/b1f6ee85-3f0f-/resourceGroups/9ba38741-d7b3-498/providers/Microsoft.Batch/batchAccounts/955a95b1-3e/pools/1bd25b1e/stopResize"; + Requests[3861] = new DefaultHttpContext(); + Requests[3861].RequestServices = CreateServices(); + Requests[3861].Request.Method = "POST"; + Requests[3861].Request.Path = "/subscriptions/ad6be55e-ff3e-/resourceGroups/2c1b7933-be3e-48a/providers/Microsoft.BatchAI/workspaces/db8f8c74-267a/clusters/ec520238-1e/listRemoteLoginInformation"; + Requests[3862] = new DefaultHttpContext(); + Requests[3862].RequestServices = CreateServices(); + Requests[3862].Request.Method = "GET"; + Requests[3862].Request.Path = "/subscriptions/d150d776-8095-/resourceGroups/3c7ea214-4792-48a/providers/Microsoft.BatchAI/workspaces/9e0bccc2-3840/experiments/50242426-2a4b-/jobs"; + Requests[3863] = new DefaultHttpContext(); + Requests[3863].RequestServices = CreateServices(); + Requests[3863].Request.Method = "POST"; + Requests[3863].Request.Path = "/subscriptions/96f3a0ce-97fc-/resourceGroups/8b9b4f29-996d-462/providers/Microsoft.BotService/botServices/bb90a05d-d3a/channels/39968973-c1/listChannelWithKeys"; + Requests[3864] = new DefaultHttpContext(); + Requests[3864].RequestServices = CreateServices(); + Requests[3864].Request.Method = "POST"; + Requests[3864].Request.Path = "/subscriptions/9c93e2d5-d042-/resourceGroups/ee81894d-3b2f-418/providers/Microsoft.BotService/botServices/21f67fbd-a65/Connections/7877dd79-eda9-/listWithSecrets"; + Requests[3865] = new DefaultHttpContext(); + Requests[3865].RequestServices = CreateServices(); + Requests[3865].Request.Method = "POST"; + Requests[3865].Request.Path = "/subscriptions/c763aebd-bb2b-/resourceGroups/7f1aca9b-3903-44a/providers/Microsoft.Cdn/profiles/f0073b84-5f/endpoints/0e662c7b-6d5/checkResourceUsage"; + Requests[3866] = new DefaultHttpContext(); + Requests[3866].RequestServices = CreateServices(); + Requests[3866].Request.Method = "GET"; + Requests[3866].Request.Path = "/subscriptions/45cce753-12cd-/resourceGroups/29a4ed20-c264-4aa/providers/Microsoft.Cdn/profiles/b31fc582-fc/endpoints/ab2851e5-dec/customDomains"; + Requests[3867] = new DefaultHttpContext(); + Requests[3867].RequestServices = CreateServices(); + Requests[3867].Request.Method = "POST"; + Requests[3867].Request.Path = "/subscriptions/2e751242-de87-/resourceGroups/1d9852a8-637f-424/providers/Microsoft.Cdn/profiles/11ca6289-79/endpoints/0fe85d45-00a/load"; + Requests[3868] = new DefaultHttpContext(); + Requests[3868].RequestServices = CreateServices(); + Requests[3868].Request.Method = "GET"; + Requests[3868].Request.Path = "/subscriptions/f7aadd52-b923-/resourceGroups/f528da9b-2f2d-4d6/providers/Microsoft.Cdn/profiles/6e84303c-3b/endpoints/4174a136-577/origins"; + Requests[3869] = new DefaultHttpContext(); + Requests[3869].RequestServices = CreateServices(); + Requests[3869].Request.Method = "POST"; + Requests[3869].Request.Path = "/subscriptions/cfcb594d-ce8c-/resourceGroups/efa12525-b819-491/providers/Microsoft.Cdn/profiles/118ebbc3-30/endpoints/03468f98-b6d/purge"; + Requests[3870] = new DefaultHttpContext(); + Requests[3870].RequestServices = CreateServices(); + Requests[3870].Request.Method = "POST"; + Requests[3870].Request.Path = "/subscriptions/f0615c57-2d8c-/resourceGroups/0282d5c7-8ada-414/providers/Microsoft.Cdn/profiles/398af687-9a/endpoints/bbf0c4c6-d1a/start"; + Requests[3871] = new DefaultHttpContext(); + Requests[3871].RequestServices = CreateServices(); + Requests[3871].Request.Method = "POST"; + Requests[3871].Request.Path = "/subscriptions/9b68c030-b2ad-/resourceGroups/dd45b0ab-e535-4e4/providers/Microsoft.Cdn/profiles/e7c56fd4-46/endpoints/031bef3c-dc6/stop"; + Requests[3872] = new DefaultHttpContext(); + Requests[3872].RequestServices = CreateServices(); + Requests[3872].Request.Method = "POST"; + Requests[3872].Request.Path = "/subscriptions/9990a053-6d32-/resourceGroups/7ae693cc-f98a-493/providers/Microsoft.Cdn/profiles/a2ab5401-17/endpoints/b676fc29-c85/validateCustomDomain"; + Requests[3873] = new DefaultHttpContext(); + Requests[3873].RequestServices = CreateServices(); + Requests[3873].Request.Method = "GET"; + Requests[3873].Request.Path = "/subscriptions/790704bb-0151-/resourceGroups/8b4d40e4-d976-4b1/providers/Microsoft.Compute/galleries/9e8a7978-63/images/5c8c7824-2282-43/versions"; + Requests[3874] = new DefaultHttpContext(); + Requests[3874].RequestServices = CreateServices(); + Requests[3874].Request.Method = "GET"; + Requests[3874].Request.Path = "/subscriptions/2de39a6e-ffaf-/resourceGroups/9c39a25a-9fea-4e3/providers/microsoft.Compute/virtualMachineScaleSets/0384eb6b-f4ef-48fc-ba19-99/virtualMachines/c2abb64c-9eee-454f-/networkInterfaces"; + Requests[3875] = new DefaultHttpContext(); + Requests[3875].RequestServices = CreateServices(); + Requests[3875].Request.Method = "POST"; + Requests[3875].Request.Path = "/subscriptions/7ef99ff0-340c-/resourceGroups/6ff4940b-1245-4dc/providers/Microsoft.Compute/virtualMachineScaleSets/74169111-acfa-/virtualmachines/ce099df3-5/deallocate"; + Requests[3876] = new DefaultHttpContext(); + Requests[3876].RequestServices = CreateServices(); + Requests[3876].Request.Method = "GET"; + Requests[3876].Request.Path = "/subscriptions/28ceafa3-7d1c-/resourceGroups/bfc3c67c-2db0-4ec/providers/Microsoft.Compute/virtualMachineScaleSets/75f21679-6867-/virtualmachines/51f93d0c-f/instanceView"; + Requests[3877] = new DefaultHttpContext(); + Requests[3877].RequestServices = CreateServices(); + Requests[3877].Request.Method = "POST"; + Requests[3877].Request.Path = "/subscriptions/c8fa9333-1113-/resourceGroups/f6d56097-c1b4-4cb/providers/Microsoft.Compute/virtualMachineScaleSets/fa4a7b4d-e6bc-/virtualmachines/cace8e61-b/performMaintenance"; + Requests[3878] = new DefaultHttpContext(); + Requests[3878].RequestServices = CreateServices(); + Requests[3878].Request.Method = "POST"; + Requests[3878].Request.Path = "/subscriptions/25709df8-4194-/resourceGroups/5bd20531-b503-41a/providers/Microsoft.Compute/virtualMachineScaleSets/501897fa-32db-/virtualmachines/d58b1515-3/poweroff"; + Requests[3879] = new DefaultHttpContext(); + Requests[3879].RequestServices = CreateServices(); + Requests[3879].Request.Method = "POST"; + Requests[3879].Request.Path = "/subscriptions/2324e0d1-c45a-/resourceGroups/5324cd6a-074a-485/providers/Microsoft.Compute/virtualMachineScaleSets/d1076b16-c5ff-/virtualmachines/67b6d63a-4/redeploy"; + Requests[3880] = new DefaultHttpContext(); + Requests[3880].RequestServices = CreateServices(); + Requests[3880].Request.Method = "POST"; + Requests[3880].Request.Path = "/subscriptions/ba08154f-5bf7-/resourceGroups/719db02d-2d48-44b/providers/Microsoft.Compute/virtualMachineScaleSets/3bb1ea1c-3505-/virtualmachines/a39e9583-c/reimage"; + Requests[3881] = new DefaultHttpContext(); + Requests[3881].RequestServices = CreateServices(); + Requests[3881].Request.Method = "POST"; + Requests[3881].Request.Path = "/subscriptions/42168226-d288-/resourceGroups/28229f10-b15c-4f1/providers/Microsoft.Compute/virtualMachineScaleSets/8dc8c478-61b6-/virtualmachines/ceefa225-8/reimageall"; + Requests[3882] = new DefaultHttpContext(); + Requests[3882].RequestServices = CreateServices(); + Requests[3882].Request.Method = "POST"; + Requests[3882].Request.Path = "/subscriptions/88a55e5a-bc7f-/resourceGroups/038f554e-7726-4db/providers/Microsoft.Compute/virtualMachineScaleSets/4224ab3c-740a-/virtualmachines/bc9093b0-2/restart"; + Requests[3883] = new DefaultHttpContext(); + Requests[3883].RequestServices = CreateServices(); + Requests[3883].Request.Method = "POST"; + Requests[3883].Request.Path = "/subscriptions/9083c7c0-8f6f-/resourceGroups/c104e0f0-ef73-4f2/providers/Microsoft.Compute/virtualMachineScaleSets/263ec3a5-df10-/virtualmachines/100e15bf-0/start"; + Requests[3884] = new DefaultHttpContext(); + Requests[3884].RequestServices = CreateServices(); + Requests[3884].Request.Method = "POST"; + Requests[3884].Request.Path = "/subscriptions/ef88f3f0-4cfc-/resourceGroups/0531a345-4dee-4a8/providers/Microsoft.ContainerInstance/containerGroups/ef4142cb-2193-40a2/containers/04044390-bb68/exec"; + Requests[3885] = new DefaultHttpContext(); + Requests[3885].RequestServices = CreateServices(); + Requests[3885].Request.Method = "GET"; + Requests[3885].Request.Path = "/subscriptions/a50d13cb-4fb1-/resourceGroups/7c7141be-8517-48e/providers/Microsoft.ContainerInstance/containerGroups/eb2f9bc2-8664-47c0/containers/71f416af-9b80/logs"; + Requests[3886] = new DefaultHttpContext(); + Requests[3886].RequestServices = CreateServices(); + Requests[3886].Request.Method = "POST"; + Requests[3886].Request.Path = "/subscriptions/8672a101-337c-/resourceGroups/66495630-8c4d-43a/providers/Microsoft.ContainerRegistry/registries/be8eb9eb-f9b/builds/0d461a7/cancel"; + Requests[3887] = new DefaultHttpContext(); + Requests[3887].RequestServices = CreateServices(); + Requests[3887].Request.Method = "POST"; + Requests[3887].Request.Path = "/subscriptions/6571cfcd-40b4-/resourceGroups/1868741a-605a-4a8/providers/Microsoft.ContainerRegistry/registries/4ccba60a-6e8/builds/10ee1ad/getLogLink"; + Requests[3888] = new DefaultHttpContext(); + Requests[3888].RequestServices = CreateServices(); + Requests[3888].Request.Method = "POST"; + Requests[3888].Request.Path = "/subscriptions/eff130bd-4df6-/resourceGroups/37b92ac9-d6da-41f/providers/Microsoft.ContainerRegistry/registries/64ab3fb0-04d/buildTasks/8f171a29-703d/listSourceRepositoryProperties"; + Requests[3889] = new DefaultHttpContext(); + Requests[3889].RequestServices = CreateServices(); + Requests[3889].Request.Method = "GET"; + Requests[3889].Request.Path = "/subscriptions/f40077ac-ef8d-/resourceGroups/9eb8b28c-bb5a-48d/providers/Microsoft.ContainerRegistry/registries/3afdbe97-6b1/buildTasks/efe1bfc8-5aef/steps"; + Requests[3890] = new DefaultHttpContext(); + Requests[3890].RequestServices = CreateServices(); + Requests[3890].Request.Method = "POST"; + Requests[3890].Request.Path = "/subscriptions/42fd5aaf-155b-/resourceGroups/1031049d-44ef-419/providers/Microsoft.ContainerRegistry/registries/096c459b-e00/webhooks/a9c7680d-a4/getCallbackConfig"; + Requests[3891] = new DefaultHttpContext(); + Requests[3891].RequestServices = CreateServices(); + Requests[3891].Request.Method = "POST"; + Requests[3891].Request.Path = "/subscriptions/163b10b6-1ef1-/resourceGroups/8aedafc8-20fb-472/providers/Microsoft.ContainerRegistry/registries/a744aa4a-d35/webhooks/becd47fb-d1/listEvents"; + Requests[3892] = new DefaultHttpContext(); + Requests[3892].RequestServices = CreateServices(); + Requests[3892].Request.Method = "POST"; + Requests[3892].Request.Path = "/subscriptions/c754ef0a-a9d4-/resourceGroups/17b816d7-79c2-4d0/providers/Microsoft.ContainerRegistry/registries/e24558ab-a90/webhooks/7a66108e-8e/ping"; + Requests[3893] = new DefaultHttpContext(); + Requests[3893].RequestServices = CreateServices(); + Requests[3893].Request.Method = "POST"; + Requests[3893].Request.Path = "/subscriptions/5a74b1db-f6b6-/resourceGroups/a29136d1-b3ab-4b5/providers/Microsoft.ContainerService/managedClusters/d51df64d-e5f/accessProfiles/8e9592ef/listCredential"; + Requests[3894] = new DefaultHttpContext(); + Requests[3894].RequestServices = CreateServices(); + Requests[3894].Request.Method = "POST"; + Requests[3894].Request.Path = "/subscriptions/7075178e-4ff4-/resourceGroups/0aea62df-590c-428/providers/Microsoft.CustomerInsights/hubs/f26c04b/authorizationPolicies/444b3757-5c1a-49ca-a707/regeneratePrimaryKey"; + Requests[3895] = new DefaultHttpContext(); + Requests[3895].RequestServices = CreateServices(); + Requests[3895].Request.Method = "POST"; + Requests[3895].Request.Path = "/subscriptions/a07ba9eb-c6a9-/resourceGroups/23138420-f3ea-43d/providers/Microsoft.CustomerInsights/hubs/6588453/authorizationPolicies/6380905b-3a11-4d26-ad55/regenerateSecondaryKey"; + Requests[3896] = new DefaultHttpContext(); + Requests[3896].RequestServices = CreateServices(); + Requests[3896].Request.Method = "GET"; + Requests[3896].Request.Path = "/subscriptions/20e03d9c-de58-/resourceGroups/7ea00634-d2d3-420/providers/Microsoft.CustomerInsights/hubs/72e9086/connectors/634e8f78-8192/mappings"; + Requests[3897] = new DefaultHttpContext(); + Requests[3897].RequestServices = CreateServices(); + Requests[3897].Request.Method = "POST"; + Requests[3897].Request.Path = "/subscriptions/8f3c4373-b3df-/resourceGroups/9d92797c-00e3-496/providers/Microsoft.CustomerInsights/hubs/76f1b92/interactions/0c2c0086-d794-4/suggestRelationshipLinks"; + Requests[3898] = new DefaultHttpContext(); + Requests[3898].RequestServices = CreateServices(); + Requests[3898].Request.Method = "POST"; + Requests[3898].Request.Path = "/subscriptions/e8834317-968b-/resourceGroups/cfa04c18-7580-44d/providers/Microsoft.CustomerInsights/hubs/b55d5fa/kpi/6c1677d/reprocess"; + Requests[3899] = new DefaultHttpContext(); + Requests[3899].RequestServices = CreateServices(); + Requests[3899].Request.Method = "POST"; + Requests[3899].Request.Path = "/subscriptions/8074f528-07d9-/resourceGroups/ef271695-ad27-4be/providers/Microsoft.CustomerInsights/hubs/0afee87/predictions/96d19ab2-6e0e-/getModelStatus"; + Requests[3900] = new DefaultHttpContext(); + Requests[3900].RequestServices = CreateServices(); + Requests[3900].Request.Method = "POST"; + Requests[3900].Request.Path = "/subscriptions/d36ebcac-504c-/resourceGroups/7c47ec05-cc52-436/providers/Microsoft.CustomerInsights/hubs/b7c7f27/predictions/1c0e3993-e334-/getTrainingResults"; + Requests[3901] = new DefaultHttpContext(); + Requests[3901].RequestServices = CreateServices(); + Requests[3901].Request.Method = "POST"; + Requests[3901].Request.Path = "/subscriptions/2cefb358-667f-/resourceGroups/29744e54-a120-4c5/providers/Microsoft.CustomerInsights/hubs/3d34458/predictions/d5556f82-5d5d-/modelStatus"; + Requests[3902] = new DefaultHttpContext(); + Requests[3902].RequestServices = CreateServices(); + Requests[3902].Request.Method = "POST"; + Requests[3902].Request.Path = "/subscriptions/4456a0ba-81ff-/resourceGroups/4657d9c2-54d0-47c/providers/Microsoft.CustomerInsights/hubs/04ec55f/profiles/c5bbd841-31/getEnrichingKpis"; + Requests[3903] = new DefaultHttpContext(); + Requests[3903].RequestServices = CreateServices(); + Requests[3903].Request.Method = "POST"; + Requests[3903].Request.Path = "/subscriptions/d3924d5b-7aac-/resourceGroups/eb7b848f-1839-4d1/providers/Microsoft.DataFactory/factories/a71cafb7-8e/integrationRuntimes/8b9c2e73-bbca-439f-9a9/getConnectionInfo"; + Requests[3904] = new DefaultHttpContext(); + Requests[3904].RequestServices = CreateServices(); + Requests[3904].Request.Method = "POST"; + Requests[3904].Request.Path = "/subscriptions/a0783a3c-187a-/resourceGroups/6fcd6b16-26c4-4f7/providers/Microsoft.DataFactory/factories/27fb73eb-c9/integrationRuntimes/11f6e504-15d8-4cb6-a67/getStatus"; + Requests[3905] = new DefaultHttpContext(); + Requests[3905].RequestServices = CreateServices(); + Requests[3905].Request.Method = "POST"; + Requests[3905].Request.Path = "/subscriptions/af3093db-0331-/resourceGroups/57769fe3-0918-4b4/providers/Microsoft.DataFactory/factories/4eba0e3a-11/integrationRuntimes/20816381-db1f-482c-ad3/listAuthKeys"; + Requests[3906] = new DefaultHttpContext(); + Requests[3906].RequestServices = CreateServices(); + Requests[3906].Request.Method = "POST"; + Requests[3906].Request.Path = "/subscriptions/8909fc56-0714-/resourceGroups/652d3b4e-20f3-4d5/providers/Microsoft.DataFactory/factories/d35859e4-c0/integrationRuntimes/38e138d7-54e0-4b80-ac9/monitoringData"; + Requests[3907] = new DefaultHttpContext(); + Requests[3907].RequestServices = CreateServices(); + Requests[3907].Request.Method = "POST"; + Requests[3907].Request.Path = "/subscriptions/41fe297f-1ebc-/resourceGroups/7cbf0b28-a032-4b9/providers/Microsoft.DataFactory/factories/d0cd9245-96/integrationRuntimes/8d5933dc-d182-459c-ae4/regenerateAuthKey"; + Requests[3908] = new DefaultHttpContext(); + Requests[3908].RequestServices = CreateServices(); + Requests[3908].Request.Method = "POST"; + Requests[3908].Request.Path = "/subscriptions/7c5e3dd6-0afa-/resourceGroups/26492686-d61d-4b7/providers/Microsoft.DataFactory/factories/d5baa79e-fe/integrationRuntimes/c8149648-6e73-4727-ac0/removeNode"; + Requests[3909] = new DefaultHttpContext(); + Requests[3909].RequestServices = CreateServices(); + Requests[3909].Request.Method = "POST"; + Requests[3909].Request.Path = "/subscriptions/bb3a9e3f-3df1-/resourceGroups/b2f6c2cb-42d8-437/providers/Microsoft.DataFactory/factories/ee9ac219-cc/integrationRuntimes/5b1664d6-8496-4ca9-8f4/start"; + Requests[3910] = new DefaultHttpContext(); + Requests[3910].RequestServices = CreateServices(); + Requests[3910].Request.Method = "POST"; + Requests[3910].Request.Path = "/subscriptions/863c4b49-6ca1-/resourceGroups/9e81de85-127d-4a8/providers/Microsoft.DataFactory/factories/29d6af01-2e/integrationRuntimes/2b2f535b-73e9-49ec-8a0/stop"; + Requests[3911] = new DefaultHttpContext(); + Requests[3911].RequestServices = CreateServices(); + Requests[3911].Request.Method = "POST"; + Requests[3911].Request.Path = "/subscriptions/cb4ad45a-83fc-/resourceGroups/05e35151-e88e-458/providers/Microsoft.DataFactory/factories/d2b9772c-c4/integrationRuntimes/be1ea13b-ceda-4c78-989/syncCredentials"; + Requests[3912] = new DefaultHttpContext(); + Requests[3912].RequestServices = CreateServices(); + Requests[3912].Request.Method = "POST"; + Requests[3912].Request.Path = "/subscriptions/cd304ba8-99e7-/resourceGroups/b80ade59-42be-4a2/providers/Microsoft.DataFactory/factories/61a01dae-ef/integrationRuntimes/43596aaf-1461-4d58-b91/upgrade"; + Requests[3913] = new DefaultHttpContext(); + Requests[3913].RequestServices = CreateServices(); + Requests[3913].Request.Method = "GET"; + Requests[3913].Request.Path = "/subscriptions/1ab09b79-efb5-/resourceGroups/1607e18d-9619-408/providers/Microsoft.DataFactory/factories/3656aba7-ff/pipelineruns/fb668/activityruns"; + Requests[3914] = new DefaultHttpContext(); + Requests[3914].RequestServices = CreateServices(); + Requests[3914].Request.Method = "POST"; + Requests[3914].Request.Path = "/subscriptions/bacddc95-eabe-/resourceGroups/9d507039-e504-436/providers/Microsoft.DataFactory/factories/a831bca1-05/pipelines/bc86c1c9-5e5/createRun"; + Requests[3915] = new DefaultHttpContext(); + Requests[3915].RequestServices = CreateServices(); + Requests[3915].Request.Method = "POST"; + Requests[3915].Request.Path = "/subscriptions/cdd1e347-8807-/resourceGroups/3bf71f17-c952-4c2/providers/Microsoft.DataFactory/factories/b0fe79af-c6/triggers/b7d4c785-af/start"; + Requests[3916] = new DefaultHttpContext(); + Requests[3916].RequestServices = CreateServices(); + Requests[3916].Request.Method = "POST"; + Requests[3916].Request.Path = "/subscriptions/40e2ce56-e7bf-/resourceGroups/95d4f9e6-750d-4c0/providers/Microsoft.DataFactory/factories/a072eee2-01/triggers/1396ba54-15/stop"; + Requests[3917] = new DefaultHttpContext(); + Requests[3917].RequestServices = CreateServices(); + Requests[3917].Request.Method = "GET"; + Requests[3917].Request.Path = "/subscriptions/562cd6eb-dc58-/resourceGroups/fc5e3647-4637-411/providers/Microsoft.DataFactory/factories/bc7b7424-4b/triggers/ba236dcb-02/triggerruns"; + Requests[3918] = new DefaultHttpContext(); + Requests[3918].RequestServices = CreateServices(); + Requests[3918].Request.Method = "GET"; + Requests[3918].Request.Path = "/subscriptions/71b25ac1-2b6a-/resourceGroups/684c7484-982d-4bf/providers/Microsoft.DataLakeAnalytics/accounts/7a21530f-06/storageAccounts/a6afa904-7931-4bf0/containers"; + Requests[3919] = new DefaultHttpContext(); + Requests[3919].RequestServices = CreateServices(); + Requests[3919].Request.Method = "POST"; + Requests[3919].Request.Path = "/subscriptions/ffdeeca5-5383-/resourceGroups/b39fa11f-060c-4f9/providers/Microsoft.Devices/IotHubs/ad0b5e26-a72/certificates/28215eb5-77a0-4/generateVerificationCode"; + Requests[3920] = new DefaultHttpContext(); + Requests[3920].RequestServices = CreateServices(); + Requests[3920].Request.Method = "POST"; + Requests[3920].Request.Path = "/subscriptions/b5aea6de-8ac4-/resourceGroups/0e7f5cc5-ae9c-4a1/providers/Microsoft.Devices/IotHubs/c20cfd9c-27e/certificates/7d9df220-664e-4/verify"; + Requests[3921] = new DefaultHttpContext(); + Requests[3921].RequestServices = CreateServices(); + Requests[3921].Request.Method = "GET"; + Requests[3921].Request.Path = "/subscriptions/c308d2b3-195a-/resourceGroups/4257a5ea-d6b7-4a7/providers/Microsoft.Devices/IotHubs/6a09fdd5-2f0/eventHubEndpoints/c8515d1f-4021-47ff-b/ConsumerGroups"; + Requests[3922] = new DefaultHttpContext(); + Requests[3922].RequestServices = CreateServices(); + Requests[3922].Request.Method = "POST"; + Requests[3922].Request.Path = "/subscriptions/9d597319-d399-/resourceGroups/88fced10-7eb5-46e/providers/Microsoft.Devices/IotHubs/40615f36-dc6/IotHubKeys/3920100/listkeys"; + Requests[3923] = new DefaultHttpContext(); + Requests[3923].RequestServices = CreateServices(); + Requests[3923].Request.Method = "POST"; + Requests[3923].Request.Path = "/subscriptions/d1a8497e-dd7a-/resourceGroups/cb4a2d28-51e4-464/providers/Microsoft.Devices/provisioningServices/b6959a04-678d-4c56-9b75/certificates/40c3f716-b8fe-4/generateVerificationCode"; + Requests[3924] = new DefaultHttpContext(); + Requests[3924].RequestServices = CreateServices(); + Requests[3924].Request.Method = "POST"; + Requests[3924].Request.Path = "/subscriptions/532ba51c-0737-/resourceGroups/2574c30b-29af-4dd/providers/Microsoft.Devices/provisioningServices/03579272-88dc-4016-99d9/certificates/a37b397c-472b-4/verify"; + Requests[3925] = new DefaultHttpContext(); + Requests[3925].RequestServices = CreateServices(); + Requests[3925].Request.Method = "POST"; + Requests[3925].Request.Path = "/subscriptions/146df8e2-11f1-/resourceGroups/eb77c8d7-3d58-4f6/providers/Microsoft.Devices/provisioningServices/31df9779-bed6-4b18-99ae/keys/3b5362c/listkeys"; + Requests[3926] = new DefaultHttpContext(); + Requests[3926].RequestServices = CreateServices(); + Requests[3926].Request.Method = "GET"; + Requests[3926].Request.Path = "/subscriptions/6a67577a-3d69-/resourceGroups/e8470821-3368-449/providers/Microsoft.DevTestLab/labs/02a58c6/artifactsources/87d92219-cbf8-4179/armtemplates"; + Requests[3927] = new DefaultHttpContext(); + Requests[3927].RequestServices = CreateServices(); + Requests[3927].Request.Method = "GET"; + Requests[3927].Request.Path = "/subscriptions/3f47c078-bf7f-/resourceGroups/5fc4255a-c80e-407/providers/Microsoft.DevTestLab/labs/8e04015/artifactsources/3d02244c-e322-43cd/artifacts"; + Requests[3928] = new DefaultHttpContext(); + Requests[3928].RequestServices = CreateServices(); + Requests[3928].Request.Method = "POST"; + Requests[3928].Request.Path = "/subscriptions/eca2a233-b183-/resourceGroups/4b6f20cc-7ec5-4c4/providers/Microsoft.DevTestLab/labs/1387091/costinsights/88cd7/refreshData"; + Requests[3929] = new DefaultHttpContext(); + Requests[3929].RequestServices = CreateServices(); + Requests[3929].Request.Method = "POST"; + Requests[3929].Request.Path = "/subscriptions/765a9b34-4c3d-/resourceGroups/61e49221-66d9-40a/providers/Microsoft.DevTestLab/labs/607aa52/costs/c54a5/refreshData"; + Requests[3930] = new DefaultHttpContext(); + Requests[3930].RequestServices = CreateServices(); + Requests[3930].Request.Method = "POST"; + Requests[3930].Request.Path = "/subscriptions/6e70d267-217d-/resourceGroups/76a74e9c-3604-49a/providers/Microsoft.DevTestLab/labs/b07d5ac/notificationchannels/9a921/notify"; + Requests[3931] = new DefaultHttpContext(); + Requests[3931].RequestServices = CreateServices(); + Requests[3931].Request.Method = "POST"; + Requests[3931].Request.Path = "/subscriptions/f41c1658-565e-/resourceGroups/49af5e86-8bd9-437/providers/Microsoft.DevTestLab/labs/71b26f4/policysets/bce8a/evaluatePolicies"; + Requests[3932] = new DefaultHttpContext(); + Requests[3932].RequestServices = CreateServices(); + Requests[3932].Request.Method = "GET"; + Requests[3932].Request.Path = "/subscriptions/242c5408-99e8-/resourceGroups/f44a9fe5-dd03-442/providers/Microsoft.DevTestLab/labs/6fc9ba5/policysets/9778642b-68bd/policies"; + Requests[3933] = new DefaultHttpContext(); + Requests[3933].RequestServices = CreateServices(); + Requests[3933].Request.Method = "POST"; + Requests[3933].Request.Path = "/subscriptions/b49f555c-5d50-/resourceGroups/e8e197c2-aa1a-44e/providers/Microsoft.DevTestLab/labs/880085b/schedules/1e249/execute"; + Requests[3934] = new DefaultHttpContext(); + Requests[3934].RequestServices = CreateServices(); + Requests[3934].Request.Method = "POST"; + Requests[3934].Request.Path = "/subscriptions/e57d2bb5-3cd1-/resourceGroups/be2c3252-bf26-4cc/providers/Microsoft.DevTestLab/labs/582a0e7/schedules/1469d/listApplicable"; + Requests[3935] = new DefaultHttpContext(); + Requests[3935].RequestServices = CreateServices(); + Requests[3935].Request.Method = "GET"; + Requests[3935].Request.Path = "/subscriptions/71c88fab-b8d2-/resourceGroups/ce96a037-6b5b-4e3/providers/Microsoft.DevTestLab/labs/a45a4f7/users/dc622b6e/disks"; + Requests[3936] = new DefaultHttpContext(); + Requests[3936].RequestServices = CreateServices(); + Requests[3936].Request.Method = "GET"; + Requests[3936].Request.Path = "/subscriptions/24565dea-5330-/resourceGroups/e8de240b-80e5-431/providers/Microsoft.DevTestLab/labs/acd45b8/users/10392f4b/environments"; + Requests[3937] = new DefaultHttpContext(); + Requests[3937].RequestServices = CreateServices(); + Requests[3937].Request.Method = "GET"; + Requests[3937].Request.Path = "/subscriptions/5e4f4863-51af-/resourceGroups/174479ab-4f94-427/providers/Microsoft.DevTestLab/labs/597e66c/users/a337b9ae/secrets"; + Requests[3938] = new DefaultHttpContext(); + Requests[3938].RequestServices = CreateServices(); + Requests[3938].Request.Method = "POST"; + Requests[3938].Request.Path = "/subscriptions/2d9b3fbf-3a11-/resourceGroups/aa9a1de0-039b-46e/providers/Microsoft.DevTestLab/labs/448297a/virtualmachines/f0dab/addDataDisk"; + Requests[3939] = new DefaultHttpContext(); + Requests[3939].RequestServices = CreateServices(); + Requests[3939].Request.Method = "POST"; + Requests[3939].Request.Path = "/subscriptions/6301cf2d-3d3e-/resourceGroups/fd329987-9b2c-45f/providers/Microsoft.DevTestLab/labs/49e5c64/virtualmachines/b6c0f/applyArtifacts"; + Requests[3940] = new DefaultHttpContext(); + Requests[3940].RequestServices = CreateServices(); + Requests[3940].Request.Method = "POST"; + Requests[3940].Request.Path = "/subscriptions/5c2550af-0c4f-/resourceGroups/433e300a-9921-414/providers/Microsoft.DevTestLab/labs/26c90ff/virtualmachines/7751c/claim"; + Requests[3941] = new DefaultHttpContext(); + Requests[3941].RequestServices = CreateServices(); + Requests[3941].Request.Method = "POST"; + Requests[3941].Request.Path = "/subscriptions/eb3992c3-3b78-/resourceGroups/1a92d991-5870-459/providers/Microsoft.DevTestLab/labs/b1b0d93/virtualmachines/e3c35/detachDataDisk"; + Requests[3942] = new DefaultHttpContext(); + Requests[3942].RequestServices = CreateServices(); + Requests[3942].Request.Method = "POST"; + Requests[3942].Request.Path = "/subscriptions/8ced5264-d1df-/resourceGroups/f07dc3df-0ed8-4fa/providers/Microsoft.DevTestLab/labs/a46eff5/virtualmachines/1d3ed/listApplicableSchedules"; + Requests[3943] = new DefaultHttpContext(); + Requests[3943].RequestServices = CreateServices(); + Requests[3943].Request.Method = "POST"; + Requests[3943].Request.Path = "/subscriptions/51384316-b25f-/resourceGroups/b133dd43-1f2a-493/providers/Microsoft.DevTestLab/labs/ad87515/virtualmachines/01f26/start"; + Requests[3944] = new DefaultHttpContext(); + Requests[3944].RequestServices = CreateServices(); + Requests[3944].Request.Method = "POST"; + Requests[3944].Request.Path = "/subscriptions/17a0daa5-ef9a-/resourceGroups/9f60aaa8-79e2-453/providers/Microsoft.DevTestLab/labs/04bc807/virtualmachines/a0070/stop"; + Requests[3945] = new DefaultHttpContext(); + Requests[3945].RequestServices = CreateServices(); + Requests[3945].Request.Method = "GET"; + Requests[3945].Request.Path = "/subscriptions/7e65253b-4a29-/resourceGroups/c7437169-f1c2-405/providers/Microsoft.DevTestLab/labs/0f31a8c/virtualmachines/b7371032-f92a-4118/schedules"; + Requests[3946] = new DefaultHttpContext(); + Requests[3946].RequestServices = CreateServices(); + Requests[3946].Request.Method = "GET"; + Requests[3946].Request.Path = "/subscriptions/2b003331-ca01-/resourceGroups/b2872e6c-662f-407/providers/Microsoft.DocumentDB/databaseAccounts/69ebaa78-f5/databases/1200731e-41/metricDefinitions"; + Requests[3947] = new DefaultHttpContext(); + Requests[3947].RequestServices = CreateServices(); + Requests[3947].Request.Method = "GET"; + Requests[3947].Request.Path = "/subscriptions/d5c2f451-be5c-/resourceGroups/ac650636-6d01-436/providers/Microsoft.DocumentDB/databaseAccounts/c8c4ac4b-20/databases/08cea02f-0c/metrics"; + Requests[3948] = new DefaultHttpContext(); + Requests[3948].RequestServices = CreateServices(); + Requests[3948].Request.Method = "GET"; + Requests[3948].Request.Path = "/subscriptions/7cd26de5-3a2c-/resourceGroups/aba06210-82d8-45e/providers/Microsoft.DocumentDB/databaseAccounts/b8ad85c0-b0/databases/973d8eed-1f/usages"; + Requests[3949] = new DefaultHttpContext(); + Requests[3949].RequestServices = CreateServices(); + Requests[3949].Request.Method = "GET"; + Requests[3949].Request.Path = "/subscriptions/3f6ceb3c-9f4e-/resourceGroups/94713a14-58c0-40e/providers/Microsoft.DocumentDB/databaseAccounts/dae6cb0a-ec/region/d67ecb/metrics"; + Requests[3950] = new DefaultHttpContext(); + Requests[3950].RequestServices = CreateServices(); + Requests[3950].Request.Method = "GET"; + Requests[3950].Request.Path = "/subscriptions/dd1662fd-a112-/resourceGroups/ef7a2415-7315-4de/providers/Microsoft.EventGrid/locations/db4fdb9c/topicTypes/5fa83125-5b31/eventSubscriptions"; + Requests[3951] = new DefaultHttpContext(); + Requests[3951].RequestServices = CreateServices(); + Requests[3951].Request.Method = "POST"; + Requests[3951].Request.Path = "/subscriptions/2dc0b4b2-478e-/resourceGroups/f9cf0a73-bd07-47e/providers/Microsoft.EventHub/namespaces/79009c7e-4aa3/AuthorizationRules/9fc7debf-ca6f-481a-b6/listKeys"; + Requests[3952] = new DefaultHttpContext(); + Requests[3952].RequestServices = CreateServices(); + Requests[3952].Request.Method = "POST"; + Requests[3952].Request.Path = "/subscriptions/68355d79-a398-/resourceGroups/5b4011ad-b821-410/providers/Microsoft.EventHub/namespaces/2187e68c-cedd/AuthorizationRules/ddd216c6-efca-4f9d-a0/regenerateKeys"; + Requests[3953] = new DefaultHttpContext(); + Requests[3953].RequestServices = CreateServices(); + Requests[3953].Request.Method = "GET"; + Requests[3953].Request.Path = "/subscriptions/3a0271d4-728a-/resourceGroups/12cc097d-bc61-492/providers/Microsoft.EventHub/namespaces/4b1a60bc-8f5a/disasterRecoveryConfigs/78f49/AuthorizationRules"; + Requests[3954] = new DefaultHttpContext(); + Requests[3954].RequestServices = CreateServices(); + Requests[3954].Request.Method = "POST"; + Requests[3954].Request.Path = "/subscriptions/723f7a14-1349-/resourceGroups/05a3c565-e503-496/providers/Microsoft.EventHub/namespaces/30fc31ee-d3eb/disasterRecoveryConfigs/73840/breakPairing"; + Requests[3955] = new DefaultHttpContext(); + Requests[3955].RequestServices = CreateServices(); + Requests[3955].Request.Method = "POST"; + Requests[3955].Request.Path = "/subscriptions/a6621589-33d4-/resourceGroups/37a1cca7-32fa-452/providers/Microsoft.EventHub/namespaces/b9e9440d-0c3b/disasterRecoveryConfigs/79fce/failover"; + Requests[3956] = new DefaultHttpContext(); + Requests[3956].RequestServices = CreateServices(); + Requests[3956].Request.Method = "GET"; + Requests[3956].Request.Path = "/subscriptions/13ecf24d-6099-/resourceGroups/09408709-1bf7-4c7/providers/Microsoft.EventHub/namespaces/04dd6b43-93f3/eventhubs/21e029f6-2d3/authorizationRules"; + Requests[3957] = new DefaultHttpContext(); + Requests[3957].RequestServices = CreateServices(); + Requests[3957].Request.Method = "GET"; + Requests[3957].Request.Path = "/subscriptions/71b06c72-b7de-/resourceGroups/3d5f9c99-3e1b-4a3/providers/Microsoft.EventHub/namespaces/938a6d96-aab7/eventhubs/d8e5117f-e77/consumergroups"; + Requests[3958] = new DefaultHttpContext(); + Requests[3958].RequestServices = CreateServices(); + Requests[3958].Request.Method = "POST"; + Requests[3958].Request.Path = "/subscriptions/bd0507fa-7827-/resourceGroups/a46bbef4-703b-402/providers/Microsoft.Fabric.Admin/fabricLocations/4eece12c/infraRoleInstances/b53636a5-51f1-441/PowerOff"; + Requests[3959] = new DefaultHttpContext(); + Requests[3959].RequestServices = CreateServices(); + Requests[3959].Request.Method = "POST"; + Requests[3959].Request.Path = "/subscriptions/65086138-b524-/resourceGroups/f5d95590-3e2e-401/providers/Microsoft.Fabric.Admin/fabricLocations/8a164834/infraRoleInstances/ff0da6e8-3ea5-4b7/PowerOn"; + Requests[3960] = new DefaultHttpContext(); + Requests[3960].RequestServices = CreateServices(); + Requests[3960].Request.Method = "POST"; + Requests[3960].Request.Path = "/subscriptions/92cadc22-33d4-/resourceGroups/5e662666-f6a3-476/providers/Microsoft.Fabric.Admin/fabricLocations/5e35de70/infraRoleInstances/9e1ca717-7b10-47e/Reboot"; + Requests[3961] = new DefaultHttpContext(); + Requests[3961].RequestServices = CreateServices(); + Requests[3961].Request.Method = "POST"; + Requests[3961].Request.Path = "/subscriptions/892653ea-c611-/resourceGroups/afbdf5c4-772a-442/providers/Microsoft.Fabric.Admin/fabricLocations/b74abd0b/infraRoleInstances/de954d36-bb8c-485/Shutdown"; + Requests[3962] = new DefaultHttpContext(); + Requests[3962].RequestServices = CreateServices(); + Requests[3962].Request.Method = "POST"; + Requests[3962].Request.Path = "/subscriptions/c07c2730-3347-/resourceGroups/eadbe4fe-da81-422/providers/Microsoft.Fabric.Admin/fabricLocations/5c204962/infraRoles/85627345-/Restart"; + Requests[3963] = new DefaultHttpContext(); + Requests[3963].RequestServices = CreateServices(); + Requests[3963].Request.Method = "GET"; + Requests[3963].Request.Path = "/subscriptions/7f40de4f-9b23-/resourceGroups/82d9abf3-fc37-4c7/providers/Microsoft.Fabric.Admin/fabricLocations/b8437c75/logicalNetworks/341430eb-9858-/logicalSubnets"; + Requests[3964] = new DefaultHttpContext(); + Requests[3964].RequestServices = CreateServices(); + Requests[3964].Request.Method = "POST"; + Requests[3964].Request.Path = "/subscriptions/245a6bbd-4083-/resourceGroups/15e44c9a-0bc4-422/providers/Microsoft.Fabric.Admin/fabricLocations/273d273f/scaleUnitNodes/07900cee-0345/PowerOff"; + Requests[3965] = new DefaultHttpContext(); + Requests[3965].RequestServices = CreateServices(); + Requests[3965].Request.Method = "POST"; + Requests[3965].Request.Path = "/subscriptions/c06d786f-fa02-/resourceGroups/aa6c85c0-3331-4c5/providers/Microsoft.Fabric.Admin/fabricLocations/a2e0e2f9/scaleUnitNodes/eea542fe-0c82/PowerOn"; + Requests[3966] = new DefaultHttpContext(); + Requests[3966].RequestServices = CreateServices(); + Requests[3966].Request.Method = "POST"; + Requests[3966].Request.Path = "/subscriptions/276423cc-b66d-/resourceGroups/60f28b05-110e-423/providers/Microsoft.Fabric.Admin/fabricLocations/65699f26/scaleUnitNodes/57409945-53b3/Repair"; + Requests[3967] = new DefaultHttpContext(); + Requests[3967].RequestServices = CreateServices(); + Requests[3967].Request.Method = "POST"; + Requests[3967].Request.Path = "/subscriptions/f72f35c8-22e5-/resourceGroups/cef52d7d-6c1f-4c9/providers/Microsoft.Fabric.Admin/fabricLocations/d83e8057/scaleUnitNodes/0bb1844f-9bd9/Shutdown"; + Requests[3968] = new DefaultHttpContext(); + Requests[3968].RequestServices = CreateServices(); + Requests[3968].Request.Method = "POST"; + Requests[3968].Request.Path = "/subscriptions/e054f26a-6ada-/resourceGroups/cea891bb-05ca-426/providers/Microsoft.Fabric.Admin/fabricLocations/423956a4/scaleUnitNodes/597d064c-7123/StartMaintenanceMode"; + Requests[3969] = new DefaultHttpContext(); + Requests[3969].RequestServices = CreateServices(); + Requests[3969].Request.Method = "POST"; + Requests[3969].Request.Path = "/subscriptions/90c38b31-ca30-/resourceGroups/c7180e48-f96d-4a1/providers/Microsoft.Fabric.Admin/fabricLocations/8223c907/scaleUnitNodes/b52e171b-4c16/StopMaintenanceMode"; + Requests[3970] = new DefaultHttpContext(); + Requests[3970].RequestServices = CreateServices(); + Requests[3970].Request.Method = "POST"; + Requests[3970].Request.Path = "/subscriptions/0e4c100c-73bf-/resourceGroups/d65f35b5-008c-44f/providers/Microsoft.Fabric.Admin/fabricLocations/0db8ed79/scaleUnits/14a761da-/ScaleOut"; + Requests[3971] = new DefaultHttpContext(); + Requests[3971].RequestServices = CreateServices(); + Requests[3971].Request.Method = "GET"; + Requests[3971].Request.Path = "/subscriptions/e2c11c96-1610-/resourceGroups/281dffe8-923d-411/providers/Microsoft.Fabric.Admin/fabricLocations/1b1417ef/storageSubSystems/f93b076c-2487-40/storagePools"; + Requests[3972] = new DefaultHttpContext(); + Requests[3972].RequestServices = CreateServices(); + Requests[3972].Request.Method = "POST"; + Requests[3972].Request.Path = "/subscriptions/c0338296-35e8-/resourceGroups/3fa56e8d-02f8-4fd/providers/Microsoft.HDInsight/clusters/dbe67d0a-a9/roles/8a279ccc/resize"; + Requests[3973] = new DefaultHttpContext(); + Requests[3973].RequestServices = CreateServices(); + Requests[3973].Request.Method = "POST"; + Requests[3973].Request.Path = "/subscriptions/3ff6ace5-de2d-/resourceGroups/13a5fa1d-7625-42e/providers/Microsoft.HDInsight/clusters/ed0980ba-88/scriptExecutionHistory/6df083dd-f012-4da/promote"; + Requests[3974] = new DefaultHttpContext(); + Requests[3974].RequestServices = CreateServices(); + Requests[3974].Request.Method = "GET"; + Requests[3974].Request.Path = "/subscriptions/ddd7e171-45e5-/resourceGroups/18f69bae-ef54-45b/providers/Microsoft.InfrastructureInsights.Admin/regionHealths/326d7aa9/serviceHealths/14453da5-0c53-4eac-8e/resourceHealths"; + Requests[3975] = new DefaultHttpContext(); + Requests[3975].RequestServices = CreateServices(); + Requests[3975].Request.Method = "POST"; + Requests[3975].Request.Path = "/subscriptions/aded9ca9-c0a5-/resourceGroups/79825cd6-7c33-4e0/providers/Microsoft.Logic/integrationAccounts/9df7d8ff-6cc3-4c0a-831/agreements/753e8a6c-0756/listContentCallbackUrl"; + Requests[3976] = new DefaultHttpContext(); + Requests[3976].RequestServices = CreateServices(); + Requests[3976].Request.Method = "POST"; + Requests[3976].Request.Path = "/subscriptions/2cb9b53c-e289-/resourceGroups/8792e42e-09ac-45e/providers/Microsoft.Logic/integrationAccounts/8fd33e73-ac9d-4455-9eb/assemblies/3453e344-b751-4848-9/listContentCallbackUrl"; + Requests[3977] = new DefaultHttpContext(); + Requests[3977].RequestServices = CreateServices(); + Requests[3977].Request.Method = "POST"; + Requests[3977].Request.Path = "/subscriptions/386687e6-3b61-/resourceGroups/b0d1e39b-c9be-437/providers/Microsoft.Logic/integrationAccounts/981bf8dc-dec8-4f8e-891/maps/dc0968a/listContentCallbackUrl"; + Requests[3978] = new DefaultHttpContext(); + Requests[3978].RequestServices = CreateServices(); + Requests[3978].Request.Method = "POST"; + Requests[3978].Request.Path = "/subscriptions/b34631b2-f896-/resourceGroups/1654b31a-860b-442/providers/Microsoft.Logic/integrationAccounts/b14a92e4-17f8-4601-b21/partners/59d542d3-48/listContentCallbackUrl"; + Requests[3979] = new DefaultHttpContext(); + Requests[3979].RequestServices = CreateServices(); + Requests[3979].Request.Method = "POST"; + Requests[3979].Request.Path = "/subscriptions/6fd5341d-ffeb-/resourceGroups/f3be1e8f-b38f-458/providers/Microsoft.Logic/integrationAccounts/2b1a21d9-5151-4245-be0/schemas/ee4e0823-4/listContentCallbackUrl"; + Requests[3980] = new DefaultHttpContext(); + Requests[3980].RequestServices = CreateServices(); + Requests[3980].Request.Method = "POST"; + Requests[3980].Request.Path = "/subscriptions/bab260cd-7f68-/resourceGroups/5f9e5b17-d4dc-49c/providers/Microsoft.Logic/locations/aea4dc2c/workflows/e96c52fc-dc0/validate"; + Requests[3981] = new DefaultHttpContext(); + Requests[3981].RequestServices = CreateServices(); + Requests[3981].Request.Method = "POST"; + Requests[3981].Request.Path = "/subscriptions/bf6744a4-5828-/resourceGroups/51df9ae8-799a-49d/providers/Microsoft.Logic/workflows/cf421000-d4e/accessKeys/9f5ab74e-a356/list"; + Requests[3982] = new DefaultHttpContext(); + Requests[3982].RequestServices = CreateServices(); + Requests[3982].Request.Method = "POST"; + Requests[3982].Request.Path = "/subscriptions/80596c6d-8fe6-/resourceGroups/87760f7a-60fc-4d3/providers/Microsoft.Logic/workflows/84e8699f-a83/accessKeys/f50956a0-0edd/regenerate"; + Requests[3983] = new DefaultHttpContext(); + Requests[3983].RequestServices = CreateServices(); + Requests[3983].Request.Method = "GET"; + Requests[3983].Request.Path = "/subscriptions/83aabfa2-24ea-/resourceGroups/3614d50e-f80c-417/providers/Microsoft.Logic/workflows/7965df25-324/runs/a3f1002/actions"; + Requests[3984] = new DefaultHttpContext(); + Requests[3984].RequestServices = CreateServices(); + Requests[3984].Request.Method = "POST"; + Requests[3984].Request.Path = "/subscriptions/6f7da107-5c88-/resourceGroups/76d35e29-140a-48a/providers/Microsoft.Logic/workflows/ec169774-1b8/runs/c9bb82e/cancel"; + Requests[3985] = new DefaultHttpContext(); + Requests[3985].RequestServices = CreateServices(); + Requests[3985].Request.Method = "GET"; + Requests[3985].Request.Path = "/subscriptions/856e346d-9bf8-/resourceGroups/407972a3-101f-4af/providers/Microsoft.Logic/workflows/29f48480-3ef/triggers/5c24d8cc-3f/histories"; + Requests[3986] = new DefaultHttpContext(); + Requests[3986].RequestServices = CreateServices(); + Requests[3986].Request.Method = "POST"; + Requests[3986].Request.Path = "/subscriptions/80ebe598-4b99-/resourceGroups/a09d388e-d048-46d/providers/Microsoft.Logic/workflows/2643f673-660/triggers/2a856419-ab/listCallbackUrl"; + Requests[3987] = new DefaultHttpContext(); + Requests[3987].RequestServices = CreateServices(); + Requests[3987].Request.Method = "POST"; + Requests[3987].Request.Path = "/subscriptions/4f110266-96f5-/resourceGroups/db0b9497-4bdc-4b1/providers/Microsoft.Logic/workflows/cd2d1bfd-106/triggers/7befebdc-d3/reset"; + Requests[3988] = new DefaultHttpContext(); + Requests[3988].RequestServices = CreateServices(); + Requests[3988].Request.Method = "POST"; + Requests[3988].Request.Path = "/subscriptions/122da36d-10be-/resourceGroups/aa77cb08-1ed7-4ee/providers/Microsoft.Logic/workflows/4d002500-6fa/triggers/d42e51d9-55/run"; + Requests[3989] = new DefaultHttpContext(); + Requests[3989].RequestServices = CreateServices(); + Requests[3989].Request.Method = "POST"; + Requests[3989].Request.Path = "/subscriptions/d21e2089-73a6-/resourceGroups/ae02b2f1-a455-460/providers/Microsoft.Logic/workflows/1f39ebd2-207/triggers/5cfa4f93-e9/setState"; + Requests[3990] = new DefaultHttpContext(); + Requests[3990].RequestServices = CreateServices(); + Requests[3990].Request.Method = "POST"; + Requests[3990].Request.Path = "/subscriptions/f50a67ec-7ae5-/resourceGroups/0b72c676-c650-443/providers/Microsoft.MachineLearning/commitmentPlans/812685c6-fbe3-4c51/commitmentAssociations/a5314ea6-a1db-406b-ad7e-6/move"; + Requests[3991] = new DefaultHttpContext(); + Requests[3991].RequestServices = CreateServices(); + Requests[3991].Request.Method = "POST"; + Requests[3991].Request.Path = "/subscriptions/628e666b-30ad-/resourceGroups/229ed232-12d3-4f8/providers/Microsoft.Media/mediaServices/3c266170-74/assets/f6a26f0e-/getEncryptionKey"; + Requests[3992] = new DefaultHttpContext(); + Requests[3992].RequestServices = CreateServices(); + Requests[3992].Request.Method = "POST"; + Requests[3992].Request.Path = "/subscriptions/1691b50c-8089-/resourceGroups/99ec0d77-5eb6-45f/providers/Microsoft.Media/mediaServices/c9f93bb1-7f/assets/7e505d55-/listContainerSas"; + Requests[3993] = new DefaultHttpContext(); + Requests[3993].RequestServices = CreateServices(); + Requests[3993].Request.Method = "POST"; + Requests[3993].Request.Path = "/subscriptions/a9ae2cf0-0a58-/resourceGroups/2ff0009f-426e-46c/providers/Microsoft.Media/mediaServices/dcc175ed-59/contentKeyPolicies/5d9d6f19-2157-492c-9/getPolicyPropertiesWithSecrets"; + Requests[3994] = new DefaultHttpContext(); + Requests[3994].RequestServices = CreateServices(); + Requests[3994].Request.Method = "GET"; + Requests[3994].Request.Path = "/subscriptions/f61ca657-1220-/resourceGroups/e04dc50f-081e-489/providers/Microsoft.Media/mediaservices/d4a46686-b8/liveEvents/14cc4635-ed36/liveOutputs"; + Requests[3995] = new DefaultHttpContext(); + Requests[3995].RequestServices = CreateServices(); + Requests[3995].Request.Method = "POST"; + Requests[3995].Request.Path = "/subscriptions/8d3dc237-9525-/resourceGroups/dd7c92cc-a1c9-4c6/providers/Microsoft.Media/mediaservices/db2ca602-0c/liveEvents/cb4cb978-e2d8/reset"; + Requests[3996] = new DefaultHttpContext(); + Requests[3996].RequestServices = CreateServices(); + Requests[3996].Request.Method = "POST"; + Requests[3996].Request.Path = "/subscriptions/460e604f-ca88-/resourceGroups/47f5bd45-12ad-499/providers/Microsoft.Media/mediaservices/b3364fa2-0e/liveEvents/48e4ddcc-7f8d/start"; + Requests[3997] = new DefaultHttpContext(); + Requests[3997].RequestServices = CreateServices(); + Requests[3997].Request.Method = "POST"; + Requests[3997].Request.Path = "/subscriptions/514ca765-5d18-/resourceGroups/9cde063a-63d8-489/providers/Microsoft.Media/mediaservices/39dbaf25-8e/liveEvents/d27a0d4c-9b78/stop"; + Requests[3998] = new DefaultHttpContext(); + Requests[3998].RequestServices = CreateServices(); + Requests[3998].Request.Method = "POST"; + Requests[3998].Request.Path = "/subscriptions/c5ce0dbb-42a3-/resourceGroups/ef99b5bf-ce64-4d6/providers/Microsoft.Media/mediaservices/3e66aa60-5d/streamingEndpoints/485aecdf-8901-4e44-b2/scale"; + Requests[3999] = new DefaultHttpContext(); + Requests[3999].RequestServices = CreateServices(); + Requests[3999].Request.Method = "POST"; + Requests[3999].Request.Path = "/subscriptions/dfc60bbe-d570-/resourceGroups/0c8a8a64-fa38-4dd/providers/Microsoft.Media/mediaservices/e3c88ede-45/streamingEndpoints/6cf3e17e-17bd-422f-9e/start"; + Requests[4000] = new DefaultHttpContext(); + Requests[4000].RequestServices = CreateServices(); + Requests[4000].Request.Method = "POST"; + Requests[4000].Request.Path = "/subscriptions/ea46da1c-1d74-/resourceGroups/7b1a4905-1635-4ed/providers/Microsoft.Media/mediaservices/2a66eb23-f0/streamingEndpoints/5311e4d6-2bfd-4eec-b3/stop"; + Requests[4001] = new DefaultHttpContext(); + Requests[4001].RequestServices = CreateServices(); + Requests[4001].Request.Method = "POST"; + Requests[4001].Request.Path = "/subscriptions/bb18384f-63de-/resourceGroups/ea7c8cea-a757-4a7/providers/Microsoft.Media/mediaServices/5a96fac9-15/streamingLocators/6f4554fc-10ea-4895-8/listContentKeys"; + Requests[4002] = new DefaultHttpContext(); + Requests[4002].RequestServices = CreateServices(); + Requests[4002].Request.Method = "POST"; + Requests[4002].Request.Path = "/subscriptions/1a5a4276-0de5-/resourceGroups/1df158b4-a136-439/providers/Microsoft.Media/mediaServices/cb09b7f0-64/streamingLocators/d4dd7329-860d-43d5-8/listPaths"; + Requests[4003] = new DefaultHttpContext(); + Requests[4003].RequestServices = CreateServices(); + Requests[4003].Request.Method = "GET"; + Requests[4003].Request.Path = "/subscriptions/01bc3ca8-557e-/resourceGroups/08cbeb8c-351f-4a3/providers/Microsoft.Media/mediaServices/0c51f3aa-f7/transforms/5ad88ded-cc32/jobs"; + Requests[4004] = new DefaultHttpContext(); + Requests[4004].RequestServices = CreateServices(); + Requests[4004].Request.Method = "GET"; + Requests[4004].Request.Path = "/subscriptions/cebaf05a-a6e3-/resourceGroups/746ca6c9-f48e-4c0/providers/Microsoft.Migrate/projects/64f772fe-f7/groups/7bb0970e-/assessments"; + Requests[4005] = new DefaultHttpContext(); + Requests[4005].RequestServices = CreateServices(); + Requests[4005].Request.Method = "GET"; + Requests[4005].Request.Path = "/subscriptions/aea5b43e-19ea-/resourceGroups/6be157f6-3d5e-457/providers/Microsoft.Network/expressRouteCircuits/fe7d7499-f2/peerings/13a643a1-04/stats"; + Requests[4006] = new DefaultHttpContext(); + Requests[4006].RequestServices = CreateServices(); + Requests[4006].Request.Method = "POST"; + Requests[4006].Request.Path = "/subscriptions/76c6b900-7a07-/resourceGroups/c6ef234e-9211-4f4/providers/Microsoft.Network/networkWatchers/91ede275-944f-4169/connectionMonitors/b4e2d99e-0081-422c-b3/query"; + Requests[4007] = new DefaultHttpContext(); + Requests[4007].RequestServices = CreateServices(); + Requests[4007].Request.Method = "POST"; + Requests[4007].Request.Path = "/subscriptions/83181606-0321-/resourceGroups/931a2696-3c73-4df/providers/Microsoft.Network/networkWatchers/80371a05-e8f8-4c45/connectionMonitors/90450e4a-c6dd-4f24-8e/start"; + Requests[4008] = new DefaultHttpContext(); + Requests[4008].RequestServices = CreateServices(); + Requests[4008].Request.Method = "POST"; + Requests[4008].Request.Path = "/subscriptions/1ba788f9-adf4-/resourceGroups/2e47a6c2-7b78-4d0/providers/Microsoft.Network/networkWatchers/be8c4df4-c028-4603/connectionMonitors/e1230a4f-6da8-4c02-97/stop"; + Requests[4009] = new DefaultHttpContext(); + Requests[4009].RequestServices = CreateServices(); + Requests[4009].Request.Method = "POST"; + Requests[4009].Request.Path = "/subscriptions/858dffe9-0731-/resourceGroups/4391ab54-3e69-400/providers/Microsoft.Network/networkWatchers/e49952c7-ba3e-40ba/packetCaptures/9a6c63ca-1028-405/queryStatus"; + Requests[4010] = new DefaultHttpContext(); + Requests[4010].RequestServices = CreateServices(); + Requests[4010].Request.Method = "POST"; + Requests[4010].Request.Path = "/subscriptions/1e06ea93-b4d5-/resourceGroups/8f2d562c-8521-4be/providers/Microsoft.Network/networkWatchers/36016387-c515-49f5/packetCaptures/6bd0ec63-3b45-420/stop"; + Requests[4011] = new DefaultHttpContext(); + Requests[4011].RequestServices = CreateServices(); + Requests[4011].Request.Method = "POST"; + Requests[4011].Request.Path = "/subscriptions/cfaaed05-a23e-/resourceGroups/ab23672e-71a9-43e/providers/Microsoft.NotificationHubs/namespaces/0736bd53-7f9f/AuthorizationRules/4ea4c84c-d254-4dbc-a3/listKeys"; + Requests[4012] = new DefaultHttpContext(); + Requests[4012].RequestServices = CreateServices(); + Requests[4012].Request.Method = "POST"; + Requests[4012].Request.Path = "/subscriptions/1bf37509-c42c-/resourceGroups/01cd71bb-4334-4e9/providers/Microsoft.NotificationHubs/namespaces/a8ad4a62-e57a/AuthorizationRules/d0605620-6c33-4805-8d/regenerateKeys"; + Requests[4013] = new DefaultHttpContext(); + Requests[4013].RequestServices = CreateServices(); + Requests[4013].Request.Method = "POST"; + Requests[4013].Request.Path = "/subscriptions/4c262eea-5f38-/resourceGroups/2f33525e-bd80-469/providers/Microsoft.NotificationHubs/namespaces/55a31c0b-3d7d/notificationHubs/8f503cf5-2d1a-4f32-/AuthorizationRules"; + Requests[4014] = new DefaultHttpContext(); + Requests[4014].RequestServices = CreateServices(); + Requests[4014].Request.Method = "GET"; + Requests[4014].Request.Path = "/subscriptions/b218c86c-46cc-/resourceGroups/724c07eb-9e2b-448/providers/Microsoft.NotificationHubs/namespaces/9585b6ac-c061/notificationHubs/b9cdb1c4-3118-4a02-/AuthorizationRules"; + Requests[4015] = new DefaultHttpContext(); + Requests[4015].RequestServices = CreateServices(); + Requests[4015].Request.Method = "POST"; + Requests[4015].Request.Path = "/subscriptions/9006c375-8fd9-/resourceGroups/1326795c-7dda-40e/providers/Microsoft.NotificationHubs/namespaces/6d4980a5-e1f0/notificationHubs/289927c4-ccd2-4a0b-/pnsCredentials"; + Requests[4016] = new DefaultHttpContext(); + Requests[4016].RequestServices = CreateServices(); + Requests[4016].Request.Method = "POST"; + Requests[4016].Request.Path = "/subscriptions/16446aba-fe46-/resourcegroups/be1674c1-2b22-446/providers/Microsoft.OperationalInsights/workspaces/cd210ca0-66d0/intelligencePacks/b8f2d0f5-566b-427c-a/Disable"; + Requests[4017] = new DefaultHttpContext(); + Requests[4017].RequestServices = CreateServices(); + Requests[4017].Request.Method = "POST"; + Requests[4017].Request.Path = "/subscriptions/2ec84dbe-9c68-/resourcegroups/658f83d3-e45d-436/providers/Microsoft.OperationalInsights/workspaces/aac743c7-ef59/intelligencePacks/0adeb479-7395-460b-b/Enable"; + Requests[4018] = new DefaultHttpContext(); + Requests[4018].RequestServices = CreateServices(); + Requests[4018].Request.Method = "GET"; + Requests[4018].Request.Path = "/subscriptions/8670c1a5-8d4e-/resourcegroups/66c122c3-48e2-4f4/providers/Microsoft.OperationalInsights/workspaces/dd31e771-52a3/savedSearches/bfe478a8-123d-4/results"; + Requests[4019] = new DefaultHttpContext(); + Requests[4019].RequestServices = CreateServices(); + Requests[4019].Request.Method = "POST"; + Requests[4019].Request.Path = "/Subscriptions/c09f0fad-4e8e-/resourceGroups/b9a4784d-21c7-432/providers/Microsoft.RecoveryServices/vaults/dd88cd8d-bbc/replicationFabrics/84391cb8-1/checkConsistency"; + Requests[4020] = new DefaultHttpContext(); + Requests[4020].RequestServices = CreateServices(); + Requests[4020].Request.Method = "POST"; + Requests[4020].Request.Path = "/Subscriptions/d8a49084-5565-/resourceGroups/2aec4684-c11a-4f4/providers/Microsoft.RecoveryServices/vaults/0f529304-220/replicationFabrics/0709a3a7-6/migratetoaad"; + Requests[4021] = new DefaultHttpContext(); + Requests[4021].RequestServices = CreateServices(); + Requests[4021].Request.Method = "POST"; + Requests[4021].Request.Path = "/Subscriptions/a5aa447c-9847-/resourceGroups/ca30e8c4-3a6b-42f/providers/Microsoft.RecoveryServices/vaults/605a54a1-4b4/replicationFabrics/3507b639-7/reassociateGateway"; + Requests[4022] = new DefaultHttpContext(); + Requests[4022].RequestServices = CreateServices(); + Requests[4022].Request.Method = "POST"; + Requests[4022].Request.Path = "/Subscriptions/017852ae-4ba1-/resourceGroups/af891d30-66df-460/providers/Microsoft.RecoveryServices/vaults/2a2d3df4-b08/replicationFabrics/fad1343f-1/remove"; + Requests[4023] = new DefaultHttpContext(); + Requests[4023].RequestServices = CreateServices(); + Requests[4023].Request.Method = "POST"; + Requests[4023].Request.Path = "/Subscriptions/f66f3d6c-f1ba-/resourceGroups/f84eb934-518b-4ad/providers/Microsoft.RecoveryServices/vaults/3f581c87-def/replicationFabrics/7880384e-7/renewCertificate"; + Requests[4024] = new DefaultHttpContext(); + Requests[4024].RequestServices = CreateServices(); + Requests[4024].Request.Method = "GET"; + Requests[4024].Request.Path = "/Subscriptions/91b4871b-9248-/resourceGroups/313b4e28-d6ff-421/providers/Microsoft.RecoveryServices/vaults/078e199a-8f7/replicationFabrics/4f2422ff-8/replicationLogicalNetworks"; + Requests[4025] = new DefaultHttpContext(); + Requests[4025].RequestServices = CreateServices(); + Requests[4025].Request.Method = "GET"; + Requests[4025].Request.Path = "/Subscriptions/cf793c5b-0790-/resourceGroups/cf4b13ee-567b-424/providers/Microsoft.RecoveryServices/vaults/ae4c0357-a6c/replicationFabrics/63a2d3c4-d/replicationNetworks"; + Requests[4026] = new DefaultHttpContext(); + Requests[4026].RequestServices = CreateServices(); + Requests[4026].Request.Method = "GET"; + Requests[4026].Request.Path = "/Subscriptions/2dd88ce9-8156-/resourceGroups/c16b2d5b-adce-45a/providers/Microsoft.RecoveryServices/vaults/dcec3c01-fa2/replicationFabrics/ee759d57-2/replicationProtectionContainers"; + Requests[4027] = new DefaultHttpContext(); + Requests[4027].RequestServices = CreateServices(); + Requests[4027].Request.Method = "GET"; + Requests[4027].Request.Path = "/Subscriptions/07b6d986-58f6-/resourceGroups/123ea17b-9d93-4a9/providers/Microsoft.RecoveryServices/vaults/ff708d9b-be0/replicationFabrics/4fe86e5b-1/replicationRecoveryServicesProviders"; + Requests[4028] = new DefaultHttpContext(); + Requests[4028].RequestServices = CreateServices(); + Requests[4028].Request.Method = "GET"; + Requests[4028].Request.Path = "/Subscriptions/4e8b9dc0-4530-/resourceGroups/3fca1826-972a-4d5/providers/Microsoft.RecoveryServices/vaults/9e9f8cc3-c32/replicationFabrics/d2915b01-b/replicationStorageClassifications"; + Requests[4029] = new DefaultHttpContext(); + Requests[4029].RequestServices = CreateServices(); + Requests[4029].Request.Method = "GET"; + Requests[4029].Request.Path = "/Subscriptions/b021ea67-d6f6-/resourceGroups/2ece245d-aeaf-462/providers/Microsoft.RecoveryServices/vaults/081e8c81-635/replicationFabrics/8167d0ef-c/replicationvCenters"; + Requests[4030] = new DefaultHttpContext(); + Requests[4030].RequestServices = CreateServices(); + Requests[4030].Request.Method = "POST"; + Requests[4030].Request.Path = "/Subscriptions/3cf9fbb4-cad8-/resourceGroups/6936f58d-de5c-438/providers/Microsoft.RecoveryServices/vaults/dd946025-8d3/replicationJobs/44be095/cancel"; + Requests[4031] = new DefaultHttpContext(); + Requests[4031].RequestServices = CreateServices(); + Requests[4031].Request.Method = "POST"; + Requests[4031].Request.Path = "/Subscriptions/cac1ac8b-aefc-/resourceGroups/13349630-204d-471/providers/Microsoft.RecoveryServices/vaults/058e3a92-ef3/replicationJobs/7e5bb3e/restart"; + Requests[4032] = new DefaultHttpContext(); + Requests[4032].RequestServices = CreateServices(); + Requests[4032].Request.Method = "POST"; + Requests[4032].Request.Path = "/Subscriptions/d095926c-4861-/resourceGroups/496c1767-ecde-49e/providers/Microsoft.RecoveryServices/vaults/a2fbf04a-98a/replicationJobs/20aca28/resume"; + Requests[4033] = new DefaultHttpContext(); + Requests[4033].RequestServices = CreateServices(); + Requests[4033].Request.Method = "POST"; + Requests[4033].Request.Path = "/Subscriptions/eb6247a2-80d8-/resourceGroups/2abc1e61-c70c-416/providers/Microsoft.RecoveryServices/vaults/0fdf72bc-375/replicationRecoveryPlans/1ea03e31-4490-48/failoverCommit"; + Requests[4034] = new DefaultHttpContext(); + Requests[4034].RequestServices = CreateServices(); + Requests[4034].Request.Method = "POST"; + Requests[4034].Request.Path = "/Subscriptions/81967920-2f44-/resourceGroups/c08118bc-1b18-4d1/providers/Microsoft.RecoveryServices/vaults/a0084390-667/replicationRecoveryPlans/d6c72f38-bc13-47/plannedFailover"; + Requests[4035] = new DefaultHttpContext(); + Requests[4035].RequestServices = CreateServices(); + Requests[4035].Request.Method = "POST"; + Requests[4035].Request.Path = "/Subscriptions/d49334ba-0f15-/resourceGroups/ee99d653-1b67-46b/providers/Microsoft.RecoveryServices/vaults/021a5300-59d/replicationRecoveryPlans/8deed780-57d6-45/reProtect"; + Requests[4036] = new DefaultHttpContext(); + Requests[4036].RequestServices = CreateServices(); + Requests[4036].Request.Method = "POST"; + Requests[4036].Request.Path = "/Subscriptions/27cd1c6c-3610-/resourceGroups/b738fb2a-a3ad-443/providers/Microsoft.RecoveryServices/vaults/9db9e16e-ec1/replicationRecoveryPlans/1743aa2d-c454-4a/testFailover"; + Requests[4037] = new DefaultHttpContext(); + Requests[4037].RequestServices = CreateServices(); + Requests[4037].Request.Method = "POST"; + Requests[4037].Request.Path = "/Subscriptions/41f4c4f5-e412-/resourceGroups/59902af0-449c-4bd/providers/Microsoft.RecoveryServices/vaults/1d1feefd-a0a/replicationRecoveryPlans/a11e7d61-1b97-4f/testFailoverCleanup"; + Requests[4038] = new DefaultHttpContext(); + Requests[4038].RequestServices = CreateServices(); + Requests[4038].Request.Method = "POST"; + Requests[4038].Request.Path = "/Subscriptions/48d6da82-ec2c-/resourceGroups/418a0ef2-43ae-4e7/providers/Microsoft.RecoveryServices/vaults/6f46a014-724/replicationRecoveryPlans/48a9fed5-495d-48/unplannedFailover"; + Requests[4039] = new DefaultHttpContext(); + Requests[4039].RequestServices = CreateServices(); + Requests[4039].Request.Method = "GET"; + Requests[4039].Request.Path = "/Subscriptions/f13c870b-9da2-/resourceGroups/ec6302f6-83fc-4f1/providers/Microsoft.RecoveryServices/vaults/8a183ab3-/backupFabrics/fd101d6b-d/protectableContainers"; + Requests[4040] = new DefaultHttpContext(); + Requests[4040].RequestServices = CreateServices(); + Requests[4040].Request.Method = "POST"; + Requests[4040].Request.Path = "/Subscriptions/5e1024b9-ac63-/resourceGroups/b4f8eed4-c9e4-474/providers/Microsoft.RecoveryServices/vaults/6d8b9b8b-/backupFabrics/060fc690-b/refreshContainers"; + Requests[4041] = new DefaultHttpContext(); + Requests[4041].RequestServices = CreateServices(); + Requests[4041].Request.Method = "POST"; + Requests[4041].Request.Path = "/Subscriptions/4d4d94e7-a086-/resourceGroups/5be6dfae-c283-4a1/providers/Microsoft.RecoveryServices/vaults/a98b5e29-/backupJobs/126874d/cancel"; + Requests[4042] = new DefaultHttpContext(); + Requests[4042].RequestServices = CreateServices(); + Requests[4042].Request.Method = "POST"; + Requests[4042].Request.Path = "/subscriptions/0ed10aea-8a13-/resourceGroups/34b3136b-233e-436/providers/Microsoft.Relay/namespaces/fa21d0ff-6124/authorizationRules/ceb5defd-de12-46be-9a/listKeys"; + Requests[4043] = new DefaultHttpContext(); + Requests[4043].RequestServices = CreateServices(); + Requests[4043].Request.Method = "POST"; + Requests[4043].Request.Path = "/subscriptions/628f1224-1e12-/resourceGroups/add916c4-6829-454/providers/Microsoft.Relay/namespaces/49d8677d-ec8c/authorizationRules/cbb1dacb-6d5c-4c11-8d/regenerateKeys"; + Requests[4044] = new DefaultHttpContext(); + Requests[4044].RequestServices = CreateServices(); + Requests[4044].Request.Method = "GET"; + Requests[4044].Request.Path = "/subscriptions/ef588118-5f6d-/resourceGroups/175834d6-eb47-47b/providers/Microsoft.Relay/namespaces/f91d60f1-d602/hybridConnections/25808f7b-5bc1-4ea7-a/authorizationRules"; + Requests[4045] = new DefaultHttpContext(); + Requests[4045].RequestServices = CreateServices(); + Requests[4045].Request.Method = "POST"; + Requests[4045].Request.Path = "/subscriptions/b16c366d-f4d9-/resourceGroups/054a9446-7596-4f8/providers/Microsoft.Relay/namespaces/9b5bd446-c4dd/HybridConnections/fffc7b41-1328-4e6f-8/authorizationRules"; + Requests[4046] = new DefaultHttpContext(); + Requests[4046].RequestServices = CreateServices(); + Requests[4046].Request.Method = "GET"; + Requests[4046].Request.Path = "/subscriptions/b58fd2a1-ef0f-/resourceGroups/5ee9d42c-d3d0-4f3/providers/Microsoft.Relay/namespaces/1e5f1aff-2c81/wcfRelays/da7ec357-/authorizationRules"; + Requests[4047] = new DefaultHttpContext(); + Requests[4047].RequestServices = CreateServices(); + Requests[4047].Request.Method = "POST"; + Requests[4047].Request.Path = "/subscriptions/ec8ec8e7-f954-/resourceGroups/a8732944-a604-4c3/providers/Microsoft.Relay/namespaces/5f884d7d-8e74/WcfRelays/913db73b-/authorizationRules"; + Requests[4048] = new DefaultHttpContext(); + Requests[4048].RequestServices = CreateServices(); + Requests[4048].Request.Method = "GET"; + Requests[4048].Request.Path = "/subscriptions/f55400af-c37a-/resourceGroups/5df251c5-b7a0-437/providers/Microsoft.Scheduler/jobCollections/f674942d-bf55-41f/jobs/1f75068/history"; + Requests[4049] = new DefaultHttpContext(); + Requests[4049].RequestServices = CreateServices(); + Requests[4049].Request.Method = "POST"; + Requests[4049].Request.Path = "/subscriptions/d0fd1a2b-1018-/resourceGroups/43a35453-de16-4e0/providers/Microsoft.Scheduler/jobCollections/7d424910-3ba6-4ff/jobs/8b69978/run"; + Requests[4050] = new DefaultHttpContext(); + Requests[4050].RequestServices = CreateServices(); + Requests[4050].Request.Method = "POST"; + Requests[4050].Request.Path = "/subscriptions/344aa008-c317-/resourceGroups/cb736d2e-e0b1-4d7/providers/Microsoft.ServiceBus/namespaces/d6c72fc7-4773/AuthorizationRules/9485a2ed-b0c5-4afd-b3/listKeys"; + Requests[4051] = new DefaultHttpContext(); + Requests[4051].RequestServices = CreateServices(); + Requests[4051].Request.Method = "POST"; + Requests[4051].Request.Path = "/subscriptions/76b2be4b-9d72-/resourceGroups/3dc76d09-07fe-47e/providers/Microsoft.ServiceBus/namespaces/122f53d7-cf8f/AuthorizationRules/e2a551f1-4755-4f36-94/regenerateKeys"; + Requests[4052] = new DefaultHttpContext(); + Requests[4052].RequestServices = CreateServices(); + Requests[4052].Request.Method = "GET"; + Requests[4052].Request.Path = "/subscriptions/5f51e46c-5fc8-/resourceGroups/70176dd6-39cd-476/providers/Microsoft.ServiceBus/namespaces/6c48f799-0450/disasterRecoveryConfigs/02785/AuthorizationRules"; + Requests[4053] = new DefaultHttpContext(); + Requests[4053].RequestServices = CreateServices(); + Requests[4053].Request.Method = "POST"; + Requests[4053].Request.Path = "/subscriptions/2dd3fae6-dfa2-/resourceGroups/ba5bab8a-f69e-4af/providers/Microsoft.ServiceBus/namespaces/5839dffe-cd38/disasterRecoveryConfigs/84b9b/breakPairing"; + Requests[4054] = new DefaultHttpContext(); + Requests[4054].RequestServices = CreateServices(); + Requests[4054].Request.Method = "POST"; + Requests[4054].Request.Path = "/subscriptions/c6c9d88a-a3ea-/resourceGroups/153d57f5-46b7-4e6/providers/Microsoft.ServiceBus/namespaces/731594b2-1188/disasterRecoveryConfigs/dab94/failover"; + Requests[4055] = new DefaultHttpContext(); + Requests[4055].RequestServices = CreateServices(); + Requests[4055].Request.Method = "GET"; + Requests[4055].Request.Path = "/subscriptions/7990110d-b074-/resourceGroups/52317172-c652-413/providers/Microsoft.ServiceBus/namespaces/f41ddf5b-9649/eventhubs/dc3b7687-8ab/authorizationRules"; + Requests[4056] = new DefaultHttpContext(); + Requests[4056].RequestServices = CreateServices(); + Requests[4056].Request.Method = "POST"; + Requests[4056].Request.Path = "/subscriptions/dd62bad8-62a7-/resourceGroups/41fda039-ae72-402/providers/Microsoft.ServiceBus/namespaces/db93ec3e-2227/migrationConfigurations/7bb668af-1/revert"; + Requests[4057] = new DefaultHttpContext(); + Requests[4057].RequestServices = CreateServices(); + Requests[4057].Request.Method = "POST"; + Requests[4057].Request.Path = "/subscriptions/be12bbbd-6e41-/resourceGroups/e62a6973-407c-4bd/providers/Microsoft.ServiceBus/namespaces/053881c6-a4ea/migrationConfigurations/f50bc13c-2/upgrade"; + Requests[4058] = new DefaultHttpContext(); + Requests[4058].RequestServices = CreateServices(); + Requests[4058].Request.Method = "GET"; + Requests[4058].Request.Path = "/subscriptions/df6c83f4-59d8-/resourceGroups/aeea59a1-27bd-46b/providers/Microsoft.ServiceBus/namespaces/223666e5-42d6/queues/d8f9ce12-/authorizationRules"; + Requests[4059] = new DefaultHttpContext(); + Requests[4059].RequestServices = CreateServices(); + Requests[4059].Request.Method = "GET"; + Requests[4059].Request.Path = "/subscriptions/b57c31e0-6923-/resourceGroups/20b93907-4e3b-40f/providers/Microsoft.ServiceBus/namespaces/026a51dc-ca0f/topics/29688ac2-/authorizationRules"; + Requests[4060] = new DefaultHttpContext(); + Requests[4060].RequestServices = CreateServices(); + Requests[4060].Request.Method = "GET"; + Requests[4060].Request.Path = "/subscriptions/7178860d-3414-/resourceGroups/fbfafedc-d7e2-4f7/providers/Microsoft.ServiceBus/namespaces/7c4236cd-06fb/topics/56291553-/subscriptions"; + Requests[4061] = new DefaultHttpContext(); + Requests[4061].RequestServices = CreateServices(); + Requests[4061].Request.Method = "GET"; + Requests[4061].Request.Path = "/subscriptions/5fed8a2a-9803-/resourceGroups/43b4fab9-5512-42c/providers/Microsoft.ServiceFabric/clusters/8e71fe71-e1/applications/14e84916-8bdb-4/services"; + Requests[4062] = new DefaultHttpContext(); + Requests[4062].RequestServices = CreateServices(); + Requests[4062].Request.Method = "GET"; + Requests[4062].Request.Path = "/subscriptions/4c66dda3-d2db-/resourceGroups/7996beb1-178b-459/providers/Microsoft.ServiceFabric/clusters/142fe7c0-2d/applicationTypes/3667416c-a156-4b9f-/versions"; + Requests[4063] = new DefaultHttpContext(); + Requests[4063].RequestServices = CreateServices(); + Requests[4063].Request.Method = "POST"; + Requests[4063].Request.Path = "/subscriptions/33dc384d-b4db-/resourceGroups/1b963713-bd12-4de/providers/Microsoft.Sql/locations/2c03a424-ec4/instanceFailoverGroups/22b438d5-0018-439/failover"; + Requests[4064] = new DefaultHttpContext(); + Requests[4064].RequestServices = CreateServices(); + Requests[4064].Request.Method = "POST"; + Requests[4064].Request.Path = "/subscriptions/7ec06be1-2c60-/resourceGroups/4414bbd7-e1ca-426/providers/Microsoft.Sql/locations/351ae9ee-ab5/instanceFailoverGroups/63afb08d-2083-4a2/forceFailoverAllowDataLoss"; + Requests[4065] = new DefaultHttpContext(); + Requests[4065].RequestServices = CreateServices(); + Requests[4065].Request.Method = "GET"; + Requests[4065].Request.Path = "/subscriptions/4c55251f-b057-/resourceGroups/0af02473-f58d-442/providers/Microsoft.Sql/servers/c7e0437c-d/databases/ab09b617-ef4/advisors"; + Requests[4066] = new DefaultHttpContext(); + Requests[4066].RequestServices = CreateServices(); + Requests[4066].Request.Method = "GET"; + Requests[4066].Request.Path = "/subscriptions/4fad441f-a202-/resourceGroups/02e4320c-d686-42e/providers/Microsoft.Sql/servers/91cf31ca-d/databases/440f3680-67c/auditingPolicies"; + Requests[4067] = new DefaultHttpContext(); + Requests[4067].RequestServices = CreateServices(); + Requests[4067].Request.Method = "GET"; + Requests[4067].Request.Path = "/subscriptions/07ca7951-ddbf-/resourceGroups/8ef94fdf-a926-481/providers/Microsoft.Sql/servers/82a88d91-f/databases/99b3e890-6fe/backupLongTermRetentionPolicies"; + Requests[4068] = new DefaultHttpContext(); + Requests[4068].RequestServices = CreateServices(); + Requests[4068].Request.Method = "POST"; + Requests[4068].Request.Path = "/subscriptions/4aeaf1a2-a81c-/resourceGroups/9555c8d6-20d6-4ae/providers/Microsoft.Sql/servers/e1357a78-0/databases/24a44ed3-809/export"; + Requests[4069] = new DefaultHttpContext(); + Requests[4069].RequestServices = CreateServices(); + Requests[4069].Request.Method = "GET"; + Requests[4069].Request.Path = "/subscriptions/485d51db-d908-/resourceGroups/c1b9c533-021d-48d/providers/Microsoft.Sql/servers/dfdc6fdd-3/databases/914cf4c0-f48/extensions"; + Requests[4070] = new DefaultHttpContext(); + Requests[4070].RequestServices = CreateServices(); + Requests[4070].Request.Method = "GET"; + Requests[4070].Request.Path = "/subscriptions/e0ba042a-888b-/resourceGroups/43ff4fbc-9b06-4e6/providers/Microsoft.Sql/servers/216a20b4-8/databases/d25e9438-e06/geoBackupPolicies"; + Requests[4071] = new DefaultHttpContext(); + Requests[4071].RequestServices = CreateServices(); + Requests[4071].Request.Method = "GET"; + Requests[4071].Request.Path = "/subscriptions/70848d07-4d39-/resourceGroups/885b4e6a-5b93-436/providers/Microsoft.Sql/servers/c83227bb-8/databases/4271c0c4-e80/metricDefinitions"; + Requests[4072] = new DefaultHttpContext(); + Requests[4072].RequestServices = CreateServices(); + Requests[4072].Request.Method = "GET"; + Requests[4072].Request.Path = "/subscriptions/ed53eca0-6491-/resourceGroups/27956df9-0a14-4f5/providers/Microsoft.Sql/servers/8c6802ae-7/databases/62d8f322-207/metrics"; + Requests[4073] = new DefaultHttpContext(); + Requests[4073].RequestServices = CreateServices(); + Requests[4073].Request.Method = "POST"; + Requests[4073].Request.Path = "/subscriptions/28a3011d-3f3b-/resourceGroups/5c1fe03c-94d1-4d1/providers/Microsoft.Sql/servers/ac8bb435-6/databases/47192920-19d/move"; + Requests[4074] = new DefaultHttpContext(); + Requests[4074].RequestServices = CreateServices(); + Requests[4074].Request.Method = "GET"; + Requests[4074].Request.Path = "/subscriptions/58a4e35c-baa0-/resourceGroups/68cf638f-b83c-4e5/providers/Microsoft.Sql/servers/3f355f11-7/databases/64d2fcb7-b3b/operations"; + Requests[4075] = new DefaultHttpContext(); + Requests[4075].RequestServices = CreateServices(); + Requests[4075].Request.Method = "POST"; + Requests[4075].Request.Path = "/subscriptions/fd7917f4-275a-/resourceGroups/13b4144a-85ce-42b/providers/Microsoft.Sql/servers/5c7f7ae6-d/databases/e7d1fdc2-37a/pause"; + Requests[4076] = new DefaultHttpContext(); + Requests[4076].RequestServices = CreateServices(); + Requests[4076].Request.Method = "GET"; + Requests[4076].Request.Path = "/subscriptions/8d756277-f886-/resourceGroups/5aa18d26-7c9f-4e4/providers/Microsoft.Sql/servers/6d40a674-5/databases/d8c2bfe6-c9f/replicationLinks"; + Requests[4077] = new DefaultHttpContext(); + Requests[4077].RequestServices = CreateServices(); + Requests[4077].Request.Method = "POST"; + Requests[4077].Request.Path = "/subscriptions/358aa90b-a91b-/resourceGroups/84679703-662f-443/providers/Microsoft.Sql/servers/35857ff0-4/databases/3afcb549-e84/restorePoints"; + Requests[4078] = new DefaultHttpContext(); + Requests[4078].RequestServices = CreateServices(); + Requests[4078].Request.Method = "GET"; + Requests[4078].Request.Path = "/subscriptions/c81826ed-faa6-/resourceGroups/f285be3c-f19e-412/providers/Microsoft.Sql/servers/a7752002-e/databases/6d8258ec-eca/restorePoints"; + Requests[4079] = new DefaultHttpContext(); + Requests[4079].RequestServices = CreateServices(); + Requests[4079].Request.Method = "POST"; + Requests[4079].Request.Path = "/subscriptions/0b26875e-fbe3-/resourceGroups/100026f3-f0bc-49f/providers/Microsoft.Sql/servers/522bdd6b-c/databases/f9059b18-ad3/resume"; + Requests[4080] = new DefaultHttpContext(); + Requests[4080].RequestServices = CreateServices(); + Requests[4080].Request.Method = "GET"; + Requests[4080].Request.Path = "/subscriptions/8dba771e-38f9-/resourceGroups/8b36220d-c130-49c/providers/Microsoft.Sql/servers/fedbf707-e/databases/45c152d7-a93/serviceTierAdvisors"; + Requests[4081] = new DefaultHttpContext(); + Requests[4081].RequestServices = CreateServices(); + Requests[4081].Request.Method = "GET"; + Requests[4081].Request.Path = "/subscriptions/bb561083-e2a7-/resourceGroups/1d7836ee-d052-4de/providers/Microsoft.Sql/servers/aab3589f-d/databases/77517860-696/syncGroups"; + Requests[4082] = new DefaultHttpContext(); + Requests[4082].RequestServices = CreateServices(); + Requests[4082].Request.Method = "GET"; + Requests[4082].Request.Path = "/subscriptions/4ace7562-5978-/resourceGroups/4913c310-fd0a-445/providers/Microsoft.Sql/servers/150743c4-3/databases/e0c8a648-0ee/topQueries"; + Requests[4083] = new DefaultHttpContext(); + Requests[4083].RequestServices = CreateServices(); + Requests[4083].Request.Method = "GET"; + Requests[4083].Request.Path = "/subscriptions/bcbde091-7e47-/resourceGroups/060e0651-a230-4eb/providers/Microsoft.Sql/servers/e41b54de-c/databases/76d6c054-cd1/transparentDataEncryption"; + Requests[4084] = new DefaultHttpContext(); + Requests[4084].RequestServices = CreateServices(); + Requests[4084].Request.Method = "POST"; + Requests[4084].Request.Path = "/subscriptions/80e28f7a-a199-/resourceGroups/a9af339f-b54e-495/providers/Microsoft.Sql/servers/80b88210-6/databases/101e82bf-b66/upgradeDataWarehouse"; + Requests[4085] = new DefaultHttpContext(); + Requests[4085].RequestServices = CreateServices(); + Requests[4085].Request.Method = "GET"; + Requests[4085].Request.Path = "/subscriptions/581ddbf4-3a41-/resourceGroups/f33eddcd-4dab-415/providers/Microsoft.Sql/servers/ce897adf-4/databases/256a87ad-148/usages"; + Requests[4086] = new DefaultHttpContext(); + Requests[4086].RequestServices = CreateServices(); + Requests[4086].Request.Method = "POST"; + Requests[4086].Request.Path = "/subscriptions/fd405096-ce02-/resourceGroups/60e3c4e7-b3de-424/providers/Microsoft.Sql/servers/e27d0fe3-d/disasterRecoveryConfiguration/e8f9591b-e106-4fb4-997a-da535d869/failover"; + Requests[4087] = new DefaultHttpContext(); + Requests[4087].RequestServices = CreateServices(); + Requests[4087].Request.Method = "POST"; + Requests[4087].Request.Path = "/subscriptions/d85b2b46-7f20-/resourceGroups/05978a35-aede-4f3/providers/Microsoft.Sql/servers/d6f4df0b-a/disasterRecoveryConfiguration/1f42321a-03cb-4d89-b48e-549673329/forceFailoverAllowDataLoss"; + Requests[4088] = new DefaultHttpContext(); + Requests[4088].RequestServices = CreateServices(); + Requests[4088].Request.Method = "POST"; + Requests[4088].Request.Path = "/subscriptions/3e5eb92f-6026-/resourceGroups/371f14ce-9310-44d/providers/Microsoft.Sql/servers/150ff49d-a/dnsAliases/9408aefc-a72/acquire"; + Requests[4089] = new DefaultHttpContext(); + Requests[4089].RequestServices = CreateServices(); + Requests[4089].Request.Method = "GET"; + Requests[4089].Request.Path = "/subscriptions/39b75c2f-4666-/resourceGroups/94660e77-effc-472/providers/Microsoft.Sql/servers/e3f3cb5a-0/elasticPools/9d031a30-c41b-4/databases"; + Requests[4090] = new DefaultHttpContext(); + Requests[4090].RequestServices = CreateServices(); + Requests[4090].Request.Method = "GET"; + Requests[4090].Request.Path = "/subscriptions/bf03c06e-c2c1-/resourceGroups/c1666304-a44b-408/providers/Microsoft.Sql/servers/4772623d-c/elasticPools/1acfbae6-d3a5-4/elasticPoolActivity"; + Requests[4091] = new DefaultHttpContext(); + Requests[4091].RequestServices = CreateServices(); + Requests[4091].Request.Method = "GET"; + Requests[4091].Request.Path = "/subscriptions/a551c634-fc47-/resourceGroups/c1efb5e3-fb11-42d/providers/Microsoft.Sql/servers/bd727c66-3/elasticPools/1dcc47a9-36ae-4/elasticPoolDatabaseActivity"; + Requests[4092] = new DefaultHttpContext(); + Requests[4092].RequestServices = CreateServices(); + Requests[4092].Request.Method = "GET"; + Requests[4092].Request.Path = "/subscriptions/e66e50d0-1cae-/resourceGroups/e2aee8ba-0696-4d3/providers/Microsoft.Sql/servers/6c0d41c8-f/elasticPools/d0971e23-10c5-4/metricDefinitions"; + Requests[4093] = new DefaultHttpContext(); + Requests[4093].RequestServices = CreateServices(); + Requests[4093].Request.Method = "GET"; + Requests[4093].Request.Path = "/subscriptions/0ae8cc5a-1b23-/resourceGroups/06d8d233-29a1-4a2/providers/Microsoft.Sql/servers/7de4f348-a/elasticPools/1b9c49ab-650e-4/metrics"; + Requests[4094] = new DefaultHttpContext(); + Requests[4094].RequestServices = CreateServices(); + Requests[4094].Request.Method = "GET"; + Requests[4094].Request.Path = "/subscriptions/7bddc7c0-acb2-/resourceGroups/c7bdb25b-5267-4cd/providers/Microsoft.Sql/servers/ec95db66-3/elasticPools/7d6cbfc3-48d9-4/operations"; + Requests[4095] = new DefaultHttpContext(); + Requests[4095].RequestServices = CreateServices(); + Requests[4095].Request.Method = "POST"; + Requests[4095].Request.Path = "/subscriptions/13a391a8-8994-/resourceGroups/353ce4cc-b564-42d/providers/Microsoft.Sql/servers/8f78ddd8-1/failoverGroups/b26f94c1-ce83-40f/failover"; + Requests[4096] = new DefaultHttpContext(); + Requests[4096].RequestServices = CreateServices(); + Requests[4096].Request.Method = "POST"; + Requests[4096].Request.Path = "/subscriptions/ddc11ea9-9407-/resourceGroups/a9b34d00-292b-417/providers/Microsoft.Sql/servers/467cda5b-1/failoverGroups/9fb39fe6-48a2-490/forceFailoverAllowDataLoss"; + Requests[4097] = new DefaultHttpContext(); + Requests[4097].RequestServices = CreateServices(); + Requests[4097].Request.Method = "GET"; + Requests[4097].Request.Path = "/subscriptions/cd85caa6-6ffd-/resourceGroups/02d83105-7bdc-463/providers/Microsoft.Sql/servers/f9c727b1-8/jobAgents/3f4f560d-78c/credentials"; + Requests[4098] = new DefaultHttpContext(); + Requests[4098].RequestServices = CreateServices(); + Requests[4098].Request.Method = "GET"; + Requests[4098].Request.Path = "/subscriptions/7ed8960d-85a9-/resourceGroups/75625f08-fc89-4f2/providers/Microsoft.Sql/servers/0c1c5d56-3/jobAgents/e8196cdb-5b7/executions"; + Requests[4099] = new DefaultHttpContext(); + Requests[4099].RequestServices = CreateServices(); + Requests[4099].Request.Method = "GET"; + Requests[4099].Request.Path = "/subscriptions/b7e686ed-c5df-/resourceGroups/c562396f-ab99-483/providers/Microsoft.Sql/servers/efe2cb4f-3/jobAgents/282a6f6b-768/jobs"; + Requests[4100] = new DefaultHttpContext(); + Requests[4100].RequestServices = CreateServices(); + Requests[4100].Request.Method = "GET"; + Requests[4100].Request.Path = "/subscriptions/e9b97e86-25be-/resourceGroups/4b145cd6-d848-477/providers/Microsoft.Sql/servers/e487c86d-6/jobAgents/f0cdc376-fba/targetGroups"; + Requests[4101] = new DefaultHttpContext(); + Requests[4101].RequestServices = CreateServices(); + Requests[4101].Request.Method = "GET"; + Requests[4101].Request.Path = "/subscriptions/b72ac899-76e7-/resourceGroups/710288e4-8816-462/providers/Microsoft.Sql/servers/7f694cce-7/recommendedElasticPools/b842c4f1-a1b5-4b0b-83b5-7c/databases"; + Requests[4102] = new DefaultHttpContext(); + Requests[4102].RequestServices = CreateServices(); + Requests[4102].Request.Method = "GET"; + Requests[4102].Request.Path = "/subscriptions/c12bfdd6-1958-/resourceGroups/7be61783-d5fb-452/providers/Microsoft.Sql/servers/c433c8fe-6/recommendedElasticPools/3ddaf2e4-2354-4826-9991-42/metrics"; + Requests[4103] = new DefaultHttpContext(); + Requests[4103].RequestServices = CreateServices(); + Requests[4103].Request.Method = "POST"; + Requests[4103].Request.Path = "/subscriptions/85c5b055-0c87-/resourceGroups/6b615ea4-f1ff-46f/providers/Microsoft.Sql/servers/10187d79-7/syncAgents/6fc95099-1933/generateKey"; + Requests[4104] = new DefaultHttpContext(); + Requests[4104].RequestServices = CreateServices(); + Requests[4104].Request.Method = "GET"; + Requests[4104].Request.Path = "/subscriptions/f81b8aeb-446a-/resourceGroups/25085b91-99a3-438/providers/Microsoft.Sql/servers/8df7c7ff-1/syncAgents/fa06ad6d-bd45/linkedDatabases"; + Requests[4105] = new DefaultHttpContext(); + Requests[4105].RequestServices = CreateServices(); + Requests[4105].Request.Method = "GET"; + Requests[4105].Request.Path = "/subscriptions/96b2197c-7702-/resourcegroups/25f99eb8-d0a3-4e6/providers/Microsoft.Storage.Admin/farms/17bd13/blobservices/a4d807a5-d8/metricdefinitions"; + Requests[4106] = new DefaultHttpContext(); + Requests[4106].RequestServices = CreateServices(); + Requests[4106].Request.Method = "GET"; + Requests[4106].Request.Path = "/subscriptions/9e0eb74a-31fe-/resourcegroups/5b43f0fc-30f4-4e0/providers/Microsoft.Storage.Admin/farms/3f8d3f/blobservices/a34060ed-80/metrics"; + Requests[4107] = new DefaultHttpContext(); + Requests[4107].RequestServices = CreateServices(); + Requests[4107].Request.Method = "GET"; + Requests[4107].Request.Path = "/subscriptions/8d8237cf-f73e-/resourcegroups/b43f0ca9-eeec-4bd/providers/Microsoft.Storage.Admin/farms/83020a/queueservices/ba34f9e1-31/metricdefinitions"; + Requests[4108] = new DefaultHttpContext(); + Requests[4108].RequestServices = CreateServices(); + Requests[4108].Request.Method = "GET"; + Requests[4108].Request.Path = "/subscriptions/e657c570-4ea4-/resourcegroups/a44d6ded-401b-4d1/providers/Microsoft.Storage.Admin/farms/be8ff2/queueservices/d452c864-1d/metrics"; + Requests[4109] = new DefaultHttpContext(); + Requests[4109].RequestServices = CreateServices(); + Requests[4109].Request.Method = "GET"; + Requests[4109].Request.Path = "/subscriptions/6ca63f58-3fd6-/resourcegroups/331bf66b-da95-4bc/providers/Microsoft.Storage.Admin/farms/98d6af/shares/2e5828b0-/containers"; + Requests[4110] = new DefaultHttpContext(); + Requests[4110].RequestServices = CreateServices(); + Requests[4110].Request.Method = "GET"; + Requests[4110].Request.Path = "/subscriptions/f230a047-4a48-/resourcegroups/372cd596-c588-487/providers/Microsoft.Storage.Admin/farms/ed3cae/shares/7e5f6163-/destinationshares"; + Requests[4111] = new DefaultHttpContext(); + Requests[4111].RequestServices = CreateServices(); + Requests[4111].Request.Method = "GET"; + Requests[4111].Request.Path = "/subscriptions/5722ac1d-0b52-/resourcegroups/b648f6f8-ddfe-48f/providers/Microsoft.Storage.Admin/farms/bf9939/shares/75d979da-/metricdefinitions"; + Requests[4112] = new DefaultHttpContext(); + Requests[4112].RequestServices = CreateServices(); + Requests[4112].Request.Method = "GET"; + Requests[4112].Request.Path = "/subscriptions/09d6c723-8be2-/resourcegroups/a6e7abfa-58b3-4c4/providers/Microsoft.Storage.Admin/farms/227790/shares/9942a643-/metrics"; + Requests[4113] = new DefaultHttpContext(); + Requests[4113].RequestServices = CreateServices(); + Requests[4113].Request.Method = "POST"; + Requests[4113].Request.Path = "/subscriptions/86908261-ab93-/resourcegroups/7c2c17ce-f19f-427/providers/Microsoft.Storage.Admin/farms/53f738/shares/c475d08e-/migrate"; + Requests[4114] = new DefaultHttpContext(); + Requests[4114].RequestServices = CreateServices(); + Requests[4114].Request.Method = "GET"; + Requests[4114].Request.Path = "/subscriptions/a7189b7f-1ba4-/resourcegroups/46651eb1-956e-4ea/providers/Microsoft.Storage.Admin/farms/28c997/tableservices/3dbeca99-fb/metricdefinitions"; + Requests[4115] = new DefaultHttpContext(); + Requests[4115].RequestServices = CreateServices(); + Requests[4115].Request.Method = "GET"; + Requests[4115].Request.Path = "/subscriptions/6c8a6248-44d3-/resourcegroups/4d5840b3-c41d-42b/providers/Microsoft.Storage.Admin/farms/cf9a3a/tableservices/2353a610-8b/metrics"; + Requests[4116] = new DefaultHttpContext(); + Requests[4116].RequestServices = CreateServices(); + Requests[4116].Request.Method = "POST"; + Requests[4116].Request.Path = "/subscriptions/585c7300-80d7-/resourceGroups/7a44d064-04c8-44f/providers/Microsoft.StorSimple/managers/be6d9542-87/devices/4da13c85-0/authorizeForServiceEncryptionKeyRollover"; + Requests[4117] = new DefaultHttpContext(); + Requests[4117].RequestServices = CreateServices(); + Requests[4117].Request.Method = "GET"; + Requests[4117].Request.Path = "/subscriptions/d1b68202-d5fc-/resourceGroups/e0553172-60ac-4ad/providers/Microsoft.StorSimple/managers/7a052c9b-2f/devices/092e3a31-e/backupPolicies"; + Requests[4118] = new DefaultHttpContext(); + Requests[4118].RequestServices = CreateServices(); + Requests[4118].Request.Method = "GET"; + Requests[4118].Request.Path = "/subscriptions/a1b9917c-4907-/resourceGroups/836c7815-c8b9-4b4/providers/Microsoft.StorSimple/managers/588a2b8a-6d/devices/f9d4460c-b/backups"; + Requests[4119] = new DefaultHttpContext(); + Requests[4119].RequestServices = CreateServices(); + Requests[4119].Request.Method = "POST"; + Requests[4119].Request.Path = "/subscriptions/6df976f2-7582-/resourceGroups/bff6f8a7-aa6b-4d2/providers/Microsoft.StorSimple/managers/de7eb703-3f/devices/f7a876dd-e/deactivate"; + Requests[4120] = new DefaultHttpContext(); + Requests[4120].RequestServices = CreateServices(); + Requests[4120].Request.Method = "GET"; + Requests[4120].Request.Path = "/subscriptions/7147451c-66b6-/resourceGroups/aeb266c6-028e-4c4/providers/Microsoft.StorSimple/managers/f26f1046-fd/devices/15213e74-1/hardwareComponentGroups"; + Requests[4121] = new DefaultHttpContext(); + Requests[4121].RequestServices = CreateServices(); + Requests[4121].Request.Method = "POST"; + Requests[4121].Request.Path = "/subscriptions/73493cf7-6035-/resourceGroups/dd242ac7-a2f6-4e4/providers/Microsoft.StorSimple/managers/aa748925-42/devices/e1a2d945-0/installUpdates"; + Requests[4122] = new DefaultHttpContext(); + Requests[4122].RequestServices = CreateServices(); + Requests[4122].Request.Method = "GET"; + Requests[4122].Request.Path = "/subscriptions/136589c6-0b38-/resourceGroups/bf60b8de-e3d2-44b/providers/Microsoft.StorSimple/managers/afe7a8fe-00/devices/e6b9e54c-a/jobs"; + Requests[4123] = new DefaultHttpContext(); + Requests[4123].RequestServices = CreateServices(); + Requests[4123].Request.Method = "POST"; + Requests[4123].Request.Path = "/subscriptions/a7604571-0f54-/resourceGroups/63ede15b-c41a-47d/providers/Microsoft.StorSimple/managers/9a7a6f25-ae/devices/5a636e76-5/listFailoverSets"; + Requests[4124] = new DefaultHttpContext(); + Requests[4124].RequestServices = CreateServices(); + Requests[4124].Request.Method = "GET"; + Requests[4124].Request.Path = "/subscriptions/aaa3c82a-ea7c-/resourceGroups/1edebfb0-e5fb-409/providers/Microsoft.StorSimple/managers/fd9121ee-7b/devices/40a9696e-1/metrics"; + Requests[4125] = new DefaultHttpContext(); + Requests[4125].RequestServices = CreateServices(); + Requests[4125].Request.Method = "GET"; + Requests[4125].Request.Path = "/subscriptions/8469ccaa-fd68-/resourceGroups/af8ae925-340a-4fc/providers/Microsoft.StorSimple/managers/21534cbf-47/devices/5d7edc19-b/metricsDefinitions"; + Requests[4126] = new DefaultHttpContext(); + Requests[4126].RequestServices = CreateServices(); + Requests[4126].Request.Method = "POST"; + Requests[4126].Request.Path = "/subscriptions/a70acf37-9199-/resourceGroups/a556cf28-5954-412/providers/Microsoft.StorSimple/managers/e61cac02-0e/devices/49a40e54-e/publicEncryptionKey"; + Requests[4127] = new DefaultHttpContext(); + Requests[4127].RequestServices = CreateServices(); + Requests[4127].Request.Method = "POST"; + Requests[4127].Request.Path = "/subscriptions/cc7fc980-df79-/resourceGroups/98be1d72-ba92-445/providers/Microsoft.StorSimple/managers/3b2a22ed-ef/devices/03081db5-1/scanForUpdates"; + Requests[4128] = new DefaultHttpContext(); + Requests[4128].RequestServices = CreateServices(); + Requests[4128].Request.Method = "POST"; + Requests[4128].Request.Path = "/subscriptions/2ffa17a4-90f4-/resourceGroups/8c9adedf-aa2d-4e2/providers/Microsoft.StorSimple/managers/1d3ab165-d5/devices/0c93a720-5/sendTestAlertEmail"; + Requests[4129] = new DefaultHttpContext(); + Requests[4129].RequestServices = CreateServices(); + Requests[4129].Request.Method = "GET"; + Requests[4129].Request.Path = "/subscriptions/95468bc9-f3e6-/resourceGroups/3f36d7a5-dd74-463/providers/Microsoft.StorSimple/managers/5e90b11a-0b/devices/506ec1cd-c/volumeContainers"; + Requests[4130] = new DefaultHttpContext(); + Requests[4130].RequestServices = CreateServices(); + Requests[4130].Request.Method = "GET"; + Requests[4130].Request.Path = "/subscriptions/4c70c5a5-20f8-/resourceGroups/0f6844ae-da1d-42e/providers/Microsoft.StorSimple/managers/c5ea5bd4-53/devices/74071118-9/volumes"; + Requests[4131] = new DefaultHttpContext(); + Requests[4131].RequestServices = CreateServices(); + Requests[4131].Request.Method = "POST"; + Requests[4131].Request.Path = "/subscriptions/bed1713e-bf85-/resourceGroups/555303ab-65bb-4d4/providers/Microsoft.StorSimple/managers/419215b2-3d/devices/d3fb4a10-9c27-4b/failover"; + Requests[4132] = new DefaultHttpContext(); + Requests[4132].RequestServices = CreateServices(); + Requests[4132].Request.Method = "POST"; + Requests[4132].Request.Path = "/subscriptions/ccb2a109-0fc3-/resourceGroups/9eda3d1f-651e-49f/providers/Microsoft.StorSimple/managers/c78e17a9-dd/devices/f3d75e7c-41d4-45/listFailoverTargets"; + Requests[4133] = new DefaultHttpContext(); + Requests[4133].RequestServices = CreateServices(); + Requests[4133].Request.Method = "POST"; + Requests[4133].Request.Path = "/subscriptions/f805f932-4566-/resourcegroups/3c82ce71-d515-4d9/providers/Microsoft.StreamAnalytics/streamingjobs/422630f/functions/f55133b2-41b/RetrieveDefaultDefinition"; + Requests[4134] = new DefaultHttpContext(); + Requests[4134].RequestServices = CreateServices(); + Requests[4134].Request.Method = "POST"; + Requests[4134].Request.Path = "/subscriptions/32de5a47-b44e-/resourcegroups/d60aeb36-11f9-4eb/providers/Microsoft.StreamAnalytics/streamingjobs/4ab78b2/functions/a1d8cfd7-c1f/test"; + Requests[4135] = new DefaultHttpContext(); + Requests[4135].RequestServices = CreateServices(); + Requests[4135].Request.Method = "POST"; + Requests[4135].Request.Path = "/subscriptions/907942b0-1a43-/resourcegroups/52c35117-7a93-488/providers/Microsoft.StreamAnalytics/streamingjobs/8616ff2/inputs/0f608cbf-/test"; + Requests[4136] = new DefaultHttpContext(); + Requests[4136].RequestServices = CreateServices(); + Requests[4136].Request.Method = "POST"; + Requests[4136].Request.Path = "/subscriptions/12e19fb9-39cd-/resourcegroups/bc369872-38db-4ac/providers/Microsoft.StreamAnalytics/streamingjobs/10d8bbe/outputs/832f1981-6/test"; + Requests[4137] = new DefaultHttpContext(); + Requests[4137].RequestServices = CreateServices(); + Requests[4137].Request.Method = "POST"; + Requests[4137].Request.Path = "/subscriptions/b7868d1e-3440-/resourcegroups/e108265f-4c3c-41b/providers/Microsoft.Update.Admin/updateLocations/1bbb3a65-7f9d-/updates/cdae78db-d/Apply"; + Requests[4138] = new DefaultHttpContext(); + Requests[4138].RequestServices = CreateServices(); + Requests[4138].Request.Method = "GET"; + Requests[4138].Request.Path = "/subscriptions/419315e5-292d-/resourcegroups/d638f3fd-58ab-4d6/providers/Microsoft.Update.Admin/updateLocations/3c57610f-d4b6-/updates/e4976e44-5/updateRuns"; + Requests[4139] = new DefaultHttpContext(); + Requests[4139].RequestServices = CreateServices(); + Requests[4139].Request.Method = "GET"; + Requests[4139].Request.Path = "/subscriptions/3df7cc88-939a-/resourceGroups/d19d8c79-54b9-4fc/providers/Microsoft.Web/hostingEnvironments/dee6e/workerPools/a38ed005-08fa-/metricdefinitions"; + Requests[4140] = new DefaultHttpContext(); + Requests[4140].RequestServices = CreateServices(); + Requests[4140].Request.Method = "GET"; + Requests[4140].Request.Path = "/subscriptions/790759c4-c1f7-/resourceGroups/c076757a-a7f2-4b6/providers/Microsoft.Web/hostingEnvironments/2606b/workerPools/a64907ca-33ba-/metrics"; + Requests[4141] = new DefaultHttpContext(); + Requests[4141].RequestServices = CreateServices(); + Requests[4141].Request.Method = "GET"; + Requests[4141].Request.Path = "/subscriptions/d98bd8b7-e644-/resourceGroups/a7632b17-ff5a-4f4/providers/Microsoft.Web/hostingEnvironments/1cb38/workerPools/41084bfa-d60a-/skus"; + Requests[4142] = new DefaultHttpContext(); + Requests[4142].RequestServices = CreateServices(); + Requests[4142].Request.Method = "GET"; + Requests[4142].Request.Path = "/subscriptions/6eb28ed5-750f-/resourceGroups/1c7824dc-25f0-409/providers/Microsoft.Web/hostingEnvironments/1c83e/workerPools/68c805d0-4516-/usages"; + Requests[4143] = new DefaultHttpContext(); + Requests[4143].RequestServices = CreateServices(); + Requests[4143].Request.Method = "GET"; + Requests[4143].Request.Path = "/subscriptions/6507ca04-ae79-/resourceGroups/65bd38ef-b3a0-4dd/providers/Microsoft.Web/serverfarms/000bf/virtualNetworkConnections/8f34e587/routes"; + Requests[4144] = new DefaultHttpContext(); + Requests[4144].RequestServices = CreateServices(); + Requests[4144].Request.Method = "POST"; + Requests[4144].Request.Path = "/subscriptions/29d2647e-e9f0-/resourceGroups/fe26daaa-9201-480/providers/Microsoft.Web/serverfarms/92ec0/workers/7c97a158-c/reboot"; + Requests[4145] = new DefaultHttpContext(); + Requests[4145].RequestServices = CreateServices(); + Requests[4145].Request.Method = "POST"; + Requests[4145].Request.Path = "/subscriptions/2b6af97e-1e33-/resourceGroups/8c3f2efb-07f9-483/providers/Microsoft.Web/sites/11a74/backups/57a5f94f/list"; + Requests[4146] = new DefaultHttpContext(); + Requests[4146].RequestServices = CreateServices(); + Requests[4146].Request.Method = "POST"; + Requests[4146].Request.Path = "/subscriptions/21e736c3-52d4-/resourceGroups/b4a8a17f-b377-423/providers/Microsoft.Web/sites/79aee/backups/9b268d08/restore"; + Requests[4147] = new DefaultHttpContext(); + Requests[4147].RequestServices = CreateServices(); + Requests[4147].Request.Method = "POST"; + Requests[4147].Request.Path = "/subscriptions/901e1a06-9230-/resourceGroups/54b7895b-658b-4c4/providers/Microsoft.Web/sites/e6a80/continuouswebjobs/5554ad64-b/start"; + Requests[4148] = new DefaultHttpContext(); + Requests[4148].RequestServices = CreateServices(); + Requests[4148].Request.Method = "POST"; + Requests[4148].Request.Path = "/subscriptions/ea104955-092e-/resourceGroups/e728a0ba-0bf4-42e/providers/Microsoft.Web/sites/b26af/continuouswebjobs/41a3e21e-e/stop"; + Requests[4149] = new DefaultHttpContext(); + Requests[4149].RequestServices = CreateServices(); + Requests[4149].Request.Method = "GET"; + Requests[4149].Request.Path = "/subscriptions/65579011-fb98-/resourceGroups/ac781b03-1890-4e8/providers/Microsoft.Web/sites/a0662/deployments/fcaeb/log"; + Requests[4150] = new DefaultHttpContext(); + Requests[4150].RequestServices = CreateServices(); + Requests[4150].Request.Method = "POST"; + Requests[4150].Request.Path = "/subscriptions/209d926b-54fa-/resourceGroups/fb3fab45-4c95-4ee/providers/Microsoft.Web/sites/785ea/functions/5f2e6c18-ebc/listsecrets"; + Requests[4151] = new DefaultHttpContext(); + Requests[4151].RequestServices = CreateServices(); + Requests[4151].Request.Method = "GET"; + Requests[4151].Request.Path = "/subscriptions/8a674e65-8211-/resourceGroups/cd107727-b1d9-48a/providers/Microsoft.Web/sites/fc086/instances/d3e22eb6-0/deployments"; + Requests[4152] = new DefaultHttpContext(); + Requests[4152].RequestServices = CreateServices(); + Requests[4152].Request.Method = "GET"; + Requests[4152].Request.Path = "/subscriptions/199a06b3-dd8c-/resourceGroups/0aa5fa44-58e8-47c/providers/Microsoft.Web/sites/70af1/instances/49afbb54-a/processes"; + Requests[4153] = new DefaultHttpContext(); + Requests[4153].RequestServices = CreateServices(); + Requests[4153].Request.Method = "GET"; + Requests[4153].Request.Path = "/subscriptions/ab687277-4eba-/resourceGroups/444c6c79-13a5-492/providers/Microsoft.Web/sites/d2d55/processes/b9a2873e-/dump"; + Requests[4154] = new DefaultHttpContext(); + Requests[4154].RequestServices = CreateServices(); + Requests[4154].Request.Method = "GET"; + Requests[4154].Request.Path = "/subscriptions/fc364538-d2b4-/resourceGroups/2def57a1-c18a-4d4/providers/Microsoft.Web/sites/64424/processes/2bd391e0-/modules"; + Requests[4155] = new DefaultHttpContext(); + Requests[4155].RequestServices = CreateServices(); + Requests[4155].Request.Method = "GET"; + Requests[4155].Request.Path = "/subscriptions/eb4972de-9510-/resourceGroups/0ae9ce3a-2fe4-48e/providers/Microsoft.Web/sites/eb1bd/processes/857702a4-/threads"; + Requests[4156] = new DefaultHttpContext(); + Requests[4156].RequestServices = CreateServices(); + Requests[4156].Request.Method = "GET"; + Requests[4156].Request.Path = "/subscriptions/bf38bcfe-2b07-/resourceGroups/b5620ef2-c29c-406/providers/Microsoft.Web/sites/b3c69/slots/4ba88/analyzeCustomHostname"; + Requests[4157] = new DefaultHttpContext(); + Requests[4157].RequestServices = CreateServices(); + Requests[4157].Request.Method = "POST"; + Requests[4157].Request.Path = "/subscriptions/88fbe4c9-1f21-/resourceGroups/9fddd403-2ffc-4d8/providers/Microsoft.Web/sites/08f85/slots/d5ffa/applySlotConfig"; + Requests[4158] = new DefaultHttpContext(); + Requests[4158].RequestServices = CreateServices(); + Requests[4158].Request.Method = "POST"; + Requests[4158].Request.Path = "/subscriptions/418e0d53-51f6-/resourceGroups/595c8a01-4439-417/providers/Microsoft.Web/sites/30fe7/slots/c0a05/backup"; + Requests[4159] = new DefaultHttpContext(); + Requests[4159].RequestServices = CreateServices(); + Requests[4159].Request.Method = "GET"; + Requests[4159].Request.Path = "/subscriptions/18d2b3ea-f463-/resourceGroups/3a659e3a-f13e-447/providers/Microsoft.Web/sites/21102/slots/8ca6d/backups"; + Requests[4160] = new DefaultHttpContext(); + Requests[4160].RequestServices = CreateServices(); + Requests[4160].Request.Method = "GET"; + Requests[4160].Request.Path = "/subscriptions/28c17d29-87b5-/resourceGroups/1fdab06e-68b2-48c/providers/Microsoft.Web/sites/222e1/slots/c1e3c/config"; + Requests[4161] = new DefaultHttpContext(); + Requests[4161].RequestServices = CreateServices(); + Requests[4161].Request.Method = "POST"; + Requests[4161].Request.Path = "/subscriptions/8d69d03d-be0a-/resourceGroups/08532158-3dff-426/providers/Microsoft.Web/sites/b645a/slots/f79a6/containerlogs"; + Requests[4162] = new DefaultHttpContext(); + Requests[4162].RequestServices = CreateServices(); + Requests[4162].Request.Method = "GET"; + Requests[4162].Request.Path = "/subscriptions/d3e6b7d4-0f5f-/resourceGroups/2e77cfc9-bafa-439/providers/Microsoft.Web/sites/7e768/slots/7d71d/continuouswebjobs"; + Requests[4163] = new DefaultHttpContext(); + Requests[4163].RequestServices = CreateServices(); + Requests[4163].Request.Method = "GET"; + Requests[4163].Request.Path = "/subscriptions/54788982-812b-/resourceGroups/55a92289-222b-4c4/providers/Microsoft.Web/sites/4470d/slots/f86a0/deployments"; + Requests[4164] = new DefaultHttpContext(); + Requests[4164].RequestServices = CreateServices(); + Requests[4164].Request.Method = "GET"; + Requests[4164].Request.Path = "/subscriptions/d48e57cb-762d-/resourceGroups/f7852a1c-2591-427/providers/Microsoft.Web/sites/c5c31/slots/2e072/domainOwnershipIdentifiers"; + Requests[4165] = new DefaultHttpContext(); + Requests[4165].RequestServices = CreateServices(); + Requests[4165].Request.Method = "GET"; + Requests[4165].Request.Path = "/subscriptions/0419c632-66bc-/resourceGroups/2d992cb1-9903-46f/providers/Microsoft.Web/sites/cb6f4/slots/a710d/functions"; + Requests[4166] = new DefaultHttpContext(); + Requests[4166].RequestServices = CreateServices(); + Requests[4166].Request.Method = "GET"; + Requests[4166].Request.Path = "/subscriptions/9046cdf1-b8a7-/resourceGroups/12096beb-249f-470/providers/Microsoft.Web/sites/cf032/slots/88d86/hostNameBindings"; + Requests[4167] = new DefaultHttpContext(); + Requests[4167].RequestServices = CreateServices(); + Requests[4167].Request.Method = "GET"; + Requests[4167].Request.Path = "/subscriptions/d38146f3-a4e8-/resourceGroups/51d56dfb-4c3a-443/providers/Microsoft.Web/sites/52b28/slots/115aa/hybridconnection"; + Requests[4168] = new DefaultHttpContext(); + Requests[4168].RequestServices = CreateServices(); + Requests[4168].Request.Method = "GET"; + Requests[4168].Request.Path = "/subscriptions/77548f4b-aa88-/resourceGroups/ccfff242-2530-45e/providers/Microsoft.Web/sites/0af6a/slots/1e0c8/hybridConnectionRelays"; + Requests[4169] = new DefaultHttpContext(); + Requests[4169].RequestServices = CreateServices(); + Requests[4169].Request.Method = "GET"; + Requests[4169].Request.Path = "/subscriptions/354071f0-0a4c-/resourceGroups/f4329da4-d9d3-4f0/providers/Microsoft.Web/sites/21c11/slots/622f4/instances"; + Requests[4170] = new DefaultHttpContext(); + Requests[4170].RequestServices = CreateServices(); + Requests[4170].Request.Method = "POST"; + Requests[4170].Request.Path = "/subscriptions/d5cb17ef-adfc-/resourceGroups/8514dfef-06ad-4e2/providers/Microsoft.Web/sites/3546b/slots/3d0b3/iscloneable"; + Requests[4171] = new DefaultHttpContext(); + Requests[4171].RequestServices = CreateServices(); + Requests[4171].Request.Method = "POST"; + Requests[4171].Request.Path = "/subscriptions/1f9e02ba-2c50-/resourceGroups/7b97f188-5f11-4b0/providers/Microsoft.Web/sites/196e9/slots/1e90a/listsyncfunctiontriggerstatus"; + Requests[4172] = new DefaultHttpContext(); + Requests[4172].RequestServices = CreateServices(); + Requests[4172].Request.Method = "GET"; + Requests[4172].Request.Path = "/subscriptions/036c6e58-b598-/resourceGroups/6910f166-fcc8-4f3/providers/Microsoft.Web/sites/e1127/slots/cce59/metricdefinitions"; + Requests[4173] = new DefaultHttpContext(); + Requests[4173].RequestServices = CreateServices(); + Requests[4173].Request.Method = "GET"; + Requests[4173].Request.Path = "/subscriptions/8864e06b-1c34-/resourceGroups/a8aeab9b-637e-40e/providers/Microsoft.Web/sites/84c8b/slots/51e7b/metrics"; + Requests[4174] = new DefaultHttpContext(); + Requests[4174].RequestServices = CreateServices(); + Requests[4174].Request.Method = "POST"; + Requests[4174].Request.Path = "/subscriptions/1618f723-24c3-/resourceGroups/35e2bfae-a480-48d/providers/Microsoft.Web/sites/ba554/slots/514cd/newpassword"; + Requests[4175] = new DefaultHttpContext(); + Requests[4175].RequestServices = CreateServices(); + Requests[4175].Request.Method = "GET"; + Requests[4175].Request.Path = "/subscriptions/fbae4f96-cdf7-/resourceGroups/d4764665-39ab-45e/providers/Microsoft.Web/sites/d1392/slots/e07ef/perfcounters"; + Requests[4176] = new DefaultHttpContext(); + Requests[4176].RequestServices = CreateServices(); + Requests[4176].Request.Method = "GET"; + Requests[4176].Request.Path = "/subscriptions/149186c3-8a7b-/resourceGroups/a5c6c544-86d6-4e7/providers/Microsoft.Web/sites/b2be5/slots/d40ec/phplogging"; + Requests[4177] = new DefaultHttpContext(); + Requests[4177].RequestServices = CreateServices(); + Requests[4177].Request.Method = "GET"; + Requests[4177].Request.Path = "/subscriptions/cbd97841-c53b-/resourceGroups/835f5cc6-d553-404/providers/Microsoft.Web/sites/e7312/slots/15563/premieraddons"; + Requests[4178] = new DefaultHttpContext(); + Requests[4178].RequestServices = CreateServices(); + Requests[4178].Request.Method = "GET"; + Requests[4178].Request.Path = "/subscriptions/dcb9c8d4-aee6-/resourceGroups/2e13b31d-3c29-4dc/providers/Microsoft.Web/sites/84936/slots/b3adb/processes"; + Requests[4179] = new DefaultHttpContext(); + Requests[4179].RequestServices = CreateServices(); + Requests[4179].Request.Method = "GET"; + Requests[4179].Request.Path = "/subscriptions/898acb6f-5c2a-/resourceGroups/4cc8c94b-5ec0-4d6/providers/Microsoft.Web/sites/f9c17/slots/744fc/publicCertificates"; + Requests[4180] = new DefaultHttpContext(); + Requests[4180].RequestServices = CreateServices(); + Requests[4180].Request.Method = "POST"; + Requests[4180].Request.Path = "/subscriptions/0340450e-4b45-/resourceGroups/0a7d1ea1-e96e-436/providers/Microsoft.Web/sites/c6794/slots/e73fb/publishxml"; + Requests[4181] = new DefaultHttpContext(); + Requests[4181].RequestServices = CreateServices(); + Requests[4181].Request.Method = "POST"; + Requests[4181].Request.Path = "/subscriptions/112ca163-0b67-/resourceGroups/889af39b-7205-4b2/providers/Microsoft.Web/sites/ce35d/slots/ecce0/recover"; + Requests[4182] = new DefaultHttpContext(); + Requests[4182].RequestServices = CreateServices(); + Requests[4182].Request.Method = "POST"; + Requests[4182].Request.Path = "/subscriptions/d3d17267-a589-/resourceGroups/5ce30be4-1bee-4b6/providers/Microsoft.Web/sites/71678/slots/c248d/resetSlotConfig"; + Requests[4183] = new DefaultHttpContext(); + Requests[4183].RequestServices = CreateServices(); + Requests[4183].Request.Method = "GET"; + Requests[4183].Request.Path = "/subscriptions/ec04229e-1e3c-/resourceGroups/3c753e26-69c8-421/providers/Microsoft.Web/sites/e896b/slots/44bde/resourceHealthMetadata"; + Requests[4184] = new DefaultHttpContext(); + Requests[4184].RequestServices = CreateServices(); + Requests[4184].Request.Method = "POST"; + Requests[4184].Request.Path = "/subscriptions/f183650c-90b3-/resourceGroups/a3512086-7d29-464/providers/Microsoft.Web/sites/4ca16/slots/93670/restart"; + Requests[4185] = new DefaultHttpContext(); + Requests[4185].RequestServices = CreateServices(); + Requests[4185].Request.Method = "POST"; + Requests[4185].Request.Path = "/subscriptions/e99d36da-784f-/resourceGroups/27b2b8eb-a78f-41e/providers/Microsoft.Web/sites/89884/slots/c3178/restoreFromBackupBlob"; + Requests[4186] = new DefaultHttpContext(); + Requests[4186].RequestServices = CreateServices(); + Requests[4186].Request.Method = "POST"; + Requests[4186].Request.Path = "/subscriptions/2e0dee3f-cafb-/resourceGroups/2a0a4876-7434-449/providers/Microsoft.Web/sites/2da88/slots/b2ee3/restoreFromDeletedApp"; + Requests[4187] = new DefaultHttpContext(); + Requests[4187].RequestServices = CreateServices(); + Requests[4187].Request.Method = "POST"; + Requests[4187].Request.Path = "/subscriptions/0b079898-d5e8-/resourceGroups/6fb35ffe-4b9a-416/providers/Microsoft.Web/sites/0fe55/slots/10bab/restoreSnapshot"; + Requests[4188] = new DefaultHttpContext(); + Requests[4188].RequestServices = CreateServices(); + Requests[4188].Request.Method = "GET"; + Requests[4188].Request.Path = "/subscriptions/a9a04015-f27c-/resourceGroups/948fd7c2-9e36-40a/providers/Microsoft.Web/sites/1cf07/slots/2c03d/siteextensions"; + Requests[4189] = new DefaultHttpContext(); + Requests[4189].RequestServices = CreateServices(); + Requests[4189].Request.Method = "POST"; + Requests[4189].Request.Path = "/subscriptions/6e4b04d5-cbc9-/resourceGroups/d053913b-c82d-4c9/providers/Microsoft.Web/sites/81ce9/slots/8f284/slotsdiffs"; + Requests[4190] = new DefaultHttpContext(); + Requests[4190].RequestServices = CreateServices(); + Requests[4190].Request.Method = "POST"; + Requests[4190].Request.Path = "/subscriptions/c1b984c9-9ff1-/resourceGroups/d44c5db3-594c-439/providers/Microsoft.Web/sites/54831/slots/af3fe/slotsswap"; + Requests[4191] = new DefaultHttpContext(); + Requests[4191].RequestServices = CreateServices(); + Requests[4191].Request.Method = "GET"; + Requests[4191].Request.Path = "/subscriptions/461026bd-ddef-/resourceGroups/de73e390-7501-4bd/providers/Microsoft.Web/sites/269c2/slots/b5ef5/snapshots"; + Requests[4192] = new DefaultHttpContext(); + Requests[4192].RequestServices = CreateServices(); + Requests[4192].Request.Method = "PUT"; + Requests[4192].Request.Path = "/subscriptions/46901df9-b51c-/resourceGroups/e5db0a68-161e-46d/providers/Microsoft.Web/sites/57dfe/slots/ea3bf/snapshots"; + Requests[4193] = new DefaultHttpContext(); + Requests[4193].RequestServices = CreateServices(); + Requests[4193].Request.Method = "POST"; + Requests[4193].Request.Path = "/subscriptions/cd2da230-5624-/resourceGroups/b97c3975-41b7-4ff/providers/Microsoft.Web/sites/302b3/slots/0355d/start"; + Requests[4194] = new DefaultHttpContext(); + Requests[4194].RequestServices = CreateServices(); + Requests[4194].Request.Method = "POST"; + Requests[4194].Request.Path = "/subscriptions/0854492d-d715-/resourceGroups/0bf4e5ed-40a7-492/providers/Microsoft.Web/sites/e57b0/slots/0a0b4/stop"; + Requests[4195] = new DefaultHttpContext(); + Requests[4195].RequestServices = CreateServices(); + Requests[4195].Request.Method = "POST"; + Requests[4195].Request.Path = "/subscriptions/82e9ba1f-22ea-/resourceGroups/1c617e29-d9d8-404/providers/Microsoft.Web/sites/b41fb/slots/a7134/sync"; + Requests[4196] = new DefaultHttpContext(); + Requests[4196].RequestServices = CreateServices(); + Requests[4196].Request.Method = "POST"; + Requests[4196].Request.Path = "/subscriptions/933cf52c-ac58-/resourceGroups/4b479d37-1612-43f/providers/Microsoft.Web/sites/772e1/slots/31343/syncfunctiontriggers"; + Requests[4197] = new DefaultHttpContext(); + Requests[4197].RequestServices = CreateServices(); + Requests[4197].Request.Method = "GET"; + Requests[4197].Request.Path = "/subscriptions/af9ebf3a-7f96-/resourceGroups/4a3edd86-f319-42c/providers/Microsoft.Web/sites/1fb6b/slots/64478/triggeredwebjobs"; + Requests[4198] = new DefaultHttpContext(); + Requests[4198].RequestServices = CreateServices(); + Requests[4198].Request.Method = "GET"; + Requests[4198].Request.Path = "/subscriptions/825cca41-7ae0-/resourceGroups/587aae5a-4806-4a3/providers/Microsoft.Web/sites/9c87a/slots/fbb96/usages"; + Requests[4199] = new DefaultHttpContext(); + Requests[4199].RequestServices = CreateServices(); + Requests[4199].Request.Method = "GET"; + Requests[4199].Request.Path = "/subscriptions/f598e403-bf3d-/resourceGroups/01cd2f67-2c35-43c/providers/Microsoft.Web/sites/bb689/slots/9d079/virtualNetworkConnections"; + Requests[4200] = new DefaultHttpContext(); + Requests[4200].RequestServices = CreateServices(); + Requests[4200].Request.Method = "GET"; + Requests[4200].Request.Path = "/subscriptions/52c9744a-550e-/resourceGroups/6012d98c-f716-47e/providers/Microsoft.Web/sites/c8349/slots/78623/webjobs"; + Requests[4201] = new DefaultHttpContext(); + Requests[4201].RequestServices = CreateServices(); + Requests[4201].Request.Method = "GET"; + Requests[4201].Request.Path = "/subscriptions/20f8a0ce-1b47-/resourceGroups/100013bc-6c15-4ee/providers/Microsoft.Web/sites/9b82f/triggeredwebjobs/3b177cf9-c/history"; + Requests[4202] = new DefaultHttpContext(); + Requests[4202].RequestServices = CreateServices(); + Requests[4202].Request.Method = "POST"; + Requests[4202].Request.Path = "/subscriptions/c8dc64f9-9917-/resourceGroups/c2361277-7946-495/providers/Microsoft.Web/sites/88820/triggeredwebjobs/7abc551e-a/run"; + Requests[4203] = new DefaultHttpContext(); + Requests[4203].RequestServices = CreateServices(); + Requests[4203].Request.Method = "GET"; + Requests[4203].Request.Path = "/subscriptions/b2752a74-0db1-/resourceGroups/b307e32b-f033-434/providers/Microsoft.Web/sites/214fc246/diagnostics/9ffc2156-3e48-46b5/analyses"; + Requests[4204] = new DefaultHttpContext(); + Requests[4204].RequestServices = CreateServices(); + Requests[4204].Request.Method = "GET"; + Requests[4204].Request.Path = "/subscriptions/1a353df5-d08d-/resourceGroups/aa023988-be17-414/providers/Microsoft.Web/sites/5aa5a3ff/diagnostics/cf7ec21d-7565-4353/detectors"; + Requests[4205] = new DefaultHttpContext(); + Requests[4205].RequestServices = CreateServices(); + Requests[4205].Request.Method = "POST"; + Requests[4205].Request.Path = "/subscriptions/fae2c9bf-d180-/resourceGroups/9f46e38b-38c3-4d8/providers/Microsoft.Web/sites/8ab17ebe/recommendations/2fefe/disable"; + Requests[4206] = new DefaultHttpContext(); + Requests[4206].RequestServices = CreateServices(); + Requests[4206].Request.Method = "GET"; + Requests[4206].Request.Path = "/subscriptions/9ca7d6cd-7d7e-/resourceGroups/b619a14e-d369-4cd/providers/Microsoft.Web/sites/c3dffdb8/slots/d615c/detectors"; + Requests[4207] = new DefaultHttpContext(); + Requests[4207].RequestServices = CreateServices(); + Requests[4207].Request.Method = "GET"; + Requests[4207].Request.Path = "/subscriptions/f174e85c-1f61-/resourceGroups/0238b356-52ef-4b7/providers/Microsoft.Web/sites/0a1f0783/slots/66c5c/diagnostics"; + Requests[4208] = new DefaultHttpContext(); + Requests[4208].RequestServices = CreateServices(); + Requests[4208].Request.Method = "POST"; + Requests[4208].Request.Path = "/subscriptions/a2b8e549-8571-/resourceGroups/f0b6b455-2929-4e4/providers/Microsoft.ApiManagement/service/17058d50-08/tenant/318bd5a3-6/git/regeneratePrimaryKey"; + Requests[4209] = new DefaultHttpContext(); + Requests[4209].RequestServices = CreateServices(); + Requests[4209].Request.Method = "POST"; + Requests[4209].Request.Path = "/subscriptions/82b85b4a-253a-/resourceGroups/015721f6-f134-4eb/providers/Microsoft.ApiManagement/service/c692cf21-6a/tenant/41b8e813-f/git/regenerateSecondaryKey"; + Requests[4210] = new DefaultHttpContext(); + Requests[4210].RequestServices = CreateServices(); + Requests[4210].Request.Method = "PUT"; + Requests[4210].Request.Path = "/subscriptions/2f1f4d0f-4ce6-/resourceGroups/6c82099c-2f1a-459/providers/Microsoft.Automation/automationAccounts/2af34bb9-5da1-4dcc-ae/runbooks/0e1a859d-7c/draft/content"; + Requests[4211] = new DefaultHttpContext(); + Requests[4211].RequestServices = CreateServices(); + Requests[4211].Request.Method = "GET"; + Requests[4211].Request.Path = "/subscriptions/6ff8ceb2-a1bf-/resourceGroups/aa51c86b-fefa-433/providers/Microsoft.Automation/automationAccounts/d8bb01be-a4ae-400e-b7/runbooks/045f0f7b-37/draft/content"; + Requests[4212] = new DefaultHttpContext(); + Requests[4212].RequestServices = CreateServices(); + Requests[4212].Request.Method = "POST"; + Requests[4212].Request.Path = "/subscriptions/26ae0f25-d6fa-/resourceGroups/97cc9e54-16f4-47e/providers/Microsoft.Automation/automationAccounts/c8d01c85-b1e3-4cfd-ae/runbooks/0a68bd04-1b/draft/publish"; + Requests[4213] = new DefaultHttpContext(); + Requests[4213].RequestServices = CreateServices(); + Requests[4213].Request.Method = "GET"; + Requests[4213].Request.Path = "/subscriptions/5c6af6fa-2d06-/resourceGroups/ecb9849c-758a-4f8/providers/Microsoft.Automation/automationAccounts/15ba3e92-18aa-4ae5-9f/runbooks/4aa14304-17/draft/testJob"; + Requests[4214] = new DefaultHttpContext(); + Requests[4214].RequestServices = CreateServices(); + Requests[4214].Request.Method = "PUT"; + Requests[4214].Request.Path = "/subscriptions/f66c6b68-2d00-/resourceGroups/43a36d40-3460-4cb/providers/Microsoft.Automation/automationAccounts/30f03224-a3f4-4a54-b6/runbooks/291b9edf-ad/draft/testJob"; + Requests[4215] = new DefaultHttpContext(); + Requests[4215].RequestServices = CreateServices(); + Requests[4215].Request.Method = "POST"; + Requests[4215].Request.Path = "/subscriptions/affb8791-e435-/resourceGroups/c2cce16f-0a77-4a8/providers/Microsoft.Automation/automationAccounts/289663f5-df23-4b28-9f/runbooks/130c12e9-01/draft/undoEdit"; + Requests[4216] = new DefaultHttpContext(); + Requests[4216].RequestServices = CreateServices(); + Requests[4216].Request.Method = "GET"; + Requests[4216].Request.Path = "/subscriptions/6b852888-3cc0-/resourceGroups/63fd974a-c0b6-434/providers/Microsoft.DocumentDB/databaseAccounts/26829c92-96/targetRegion/88e16de9-a83/percentile/metrics"; + Requests[4217] = new DefaultHttpContext(); + Requests[4217].RequestServices = CreateServices(); + Requests[4217].Request.Method = "GET"; + Requests[4217].Request.Path = "/subscriptions/042b0a95-5d44-/resourceGroups/bf897844-24b0-436/providers/Microsoft.Logic/workflows/0c3b27f2-1db/triggers/02565f82-e5/schemas/json"; + Requests[4218] = new DefaultHttpContext(); + Requests[4218].RequestServices = CreateServices(); + Requests[4218].Request.Method = "GET"; + Requests[4218].Request.Path = "/subscriptions/208a7a6a-af40-/resourceGroups/c899258b-45c7-409/providers/Microsoft.Sql/servers/4c4f74e0-b/databases/2b6b15c6-4d0/automaticTuning/current"; + Requests[4219] = new DefaultHttpContext(); + Requests[4219].RequestServices = CreateServices(); + Requests[4219].Request.Method = "PATCH"; + Requests[4219].Request.Path = "/subscriptions/c6c61b0b-dd77-/resourceGroups/3710665e-3e11-410/providers/Microsoft.Sql/servers/cb46e677-3/databases/c3005ba7-134/automaticTuning/current"; + Requests[4220] = new DefaultHttpContext(); + Requests[4220].RequestServices = CreateServices(); + Requests[4220].Request.Method = "GET"; + Requests[4220].Request.Path = "/subscriptions/0b9f260d-1ee7-/resourceGroups/95e9012a-b2b1-4de/providers/Microsoft.StorSimple/managers/8581b173-37/devices/587e8a8e-c/alertSettings/default"; + Requests[4221] = new DefaultHttpContext(); + Requests[4221].RequestServices = CreateServices(); + Requests[4221].Request.Method = "PUT"; + Requests[4221].Request.Path = "/subscriptions/a68d0c33-cf03-/resourceGroups/b983f94c-7653-49f/providers/Microsoft.StorSimple/managers/9fa665a2-d2/devices/d3ae9348-4/alertSettings/default"; + Requests[4222] = new DefaultHttpContext(); + Requests[4222].RequestServices = CreateServices(); + Requests[4222].Request.Method = "GET"; + Requests[4222].Request.Path = "/subscriptions/ff2c40ef-101c-/resourceGroups/01d13f45-da36-46b/providers/Microsoft.StorSimple/managers/301c1f76-4d/devices/45b0e83d-7/networkSettings/default"; + Requests[4223] = new DefaultHttpContext(); + Requests[4223].RequestServices = CreateServices(); + Requests[4223].Request.Method = "PATCH"; + Requests[4223].Request.Path = "/subscriptions/e9ee0679-5c31-/resourceGroups/fe3fad38-0394-483/providers/Microsoft.StorSimple/managers/2be7ffff-7d/devices/43999e57-5/networkSettings/default"; + Requests[4224] = new DefaultHttpContext(); + Requests[4224].RequestServices = CreateServices(); + Requests[4224].Request.Method = "GET"; + Requests[4224].Request.Path = "/subscriptions/f2941e36-e325-/resourceGroups/2a16a0c6-f095-4a5/providers/Microsoft.StorSimple/managers/37c6674d-b6/devices/73e439b6-5/securitySettings/default"; + Requests[4225] = new DefaultHttpContext(); + Requests[4225].RequestServices = CreateServices(); + Requests[4225].Request.Method = "PATCH"; + Requests[4225].Request.Path = "/subscriptions/55e264a8-13aa-/resourceGroups/ec664ceb-ea0d-48e/providers/Microsoft.StorSimple/managers/0c8f2424-a6/devices/8d48a68f-8/securitySettings/default"; + Requests[4226] = new DefaultHttpContext(); + Requests[4226].RequestServices = CreateServices(); + Requests[4226].Request.Method = "GET"; + Requests[4226].Request.Path = "/subscriptions/cfda6225-d465-/resourceGroups/014a78a8-c72a-4ce/providers/Microsoft.StorSimple/managers/274b5027-45/devices/dd987cc6-8/timeSettings/default"; + Requests[4227] = new DefaultHttpContext(); + Requests[4227].RequestServices = CreateServices(); + Requests[4227].Request.Method = "PUT"; + Requests[4227].Request.Path = "/subscriptions/5f7a08dc-803a-/resourceGroups/72f5b171-be19-4a1/providers/Microsoft.StorSimple/managers/b7e2547d-17/devices/a223b0f1-d/timeSettings/default"; + Requests[4228] = new DefaultHttpContext(); + Requests[4228].RequestServices = CreateServices(); + Requests[4228].Request.Method = "GET"; + Requests[4228].Request.Path = "/subscriptions/21b1e1d2-3cf6-/resourceGroups/66e99452-6740-499/providers/Microsoft.StorSimple/managers/04ea0464-43/devices/eca960b7-6/updateSummary/default"; + Requests[4229] = new DefaultHttpContext(); + Requests[4229].RequestServices = CreateServices(); + Requests[4229].Request.Method = "PUT"; + Requests[4229].Request.Path = "/subscriptions/39453c4b-effe-/resourceGroups/6dcedf9b-e07a-481/providers/Microsoft.Web/sites/b87c4/instances/a0e54888-7/extensions/MSDeploy"; + Requests[4230] = new DefaultHttpContext(); + Requests[4230].RequestServices = CreateServices(); + Requests[4230].Request.Method = "GET"; + Requests[4230].Request.Path = "/subscriptions/a1f0e162-3337-/resourceGroups/d2001411-8863-49f/providers/Microsoft.Web/sites/33f91/instances/0b3742e4-e/extensions/MSDeploy"; + Requests[4231] = new DefaultHttpContext(); + Requests[4231].RequestServices = CreateServices(); + Requests[4231].Request.Method = "PUT"; + Requests[4231].Request.Path = "/subscriptions/30c60d6f-7f1d-/resourceGroups/8ec28b5b-a47f-442/providers/Microsoft.Web/sites/3bb50/slots/5cb0c/backups/discover"; + Requests[4232] = new DefaultHttpContext(); + Requests[4232].RequestServices = CreateServices(); + Requests[4232].Request.Method = "PUT"; + Requests[4232].Request.Path = "/subscriptions/9be96dde-80f5-/resourceGroups/aa036280-a4ba-42c/providers/Microsoft.Web/sites/f6352/slots/4ac72/config/appsettings"; + Requests[4233] = new DefaultHttpContext(); + Requests[4233].RequestServices = CreateServices(); + Requests[4233].Request.Method = "PUT"; + Requests[4233].Request.Path = "/subscriptions/d02d630d-ee27-/resourceGroups/8aa67292-f298-454/providers/Microsoft.Web/sites/51123/slots/3bff8/config/authsettings"; + Requests[4234] = new DefaultHttpContext(); + Requests[4234].RequestServices = CreateServices(); + Requests[4234].Request.Method = "DELETE"; + Requests[4234].Request.Path = "/subscriptions/0cebbe76-cbf6-/resourceGroups/f32be4a5-fc14-4c6/providers/Microsoft.Web/sites/a865b/slots/3ceac/config/backup"; + Requests[4235] = new DefaultHttpContext(); + Requests[4235].RequestServices = CreateServices(); + Requests[4235].Request.Method = "PUT"; + Requests[4235].Request.Path = "/subscriptions/ab5dce22-d424-/resourceGroups/1dda3ed5-3a5a-44d/providers/Microsoft.Web/sites/2ec6d/slots/418f2/config/backup"; + Requests[4236] = new DefaultHttpContext(); + Requests[4236].RequestServices = CreateServices(); + Requests[4236].Request.Method = "PUT"; + Requests[4236].Request.Path = "/subscriptions/1c9119fc-b6c5-/resourceGroups/0b2d634d-b695-440/providers/Microsoft.Web/sites/46489/slots/278fd/config/connectionstrings"; + Requests[4237] = new DefaultHttpContext(); + Requests[4237].RequestServices = CreateServices(); + Requests[4237].Request.Method = "GET"; + Requests[4237].Request.Path = "/subscriptions/2dc9edd9-5820-/resourceGroups/ccc6d01c-1c38-422/providers/Microsoft.Web/sites/5731c/slots/ec681/config/logs"; + Requests[4238] = new DefaultHttpContext(); + Requests[4238].RequestServices = CreateServices(); + Requests[4238].Request.Method = "PUT"; + Requests[4238].Request.Path = "/subscriptions/468bfe0a-d25b-/resourceGroups/1d78d402-7173-4bd/providers/Microsoft.Web/sites/6789b/slots/11758/config/logs"; + Requests[4239] = new DefaultHttpContext(); + Requests[4239].RequestServices = CreateServices(); + Requests[4239].Request.Method = "PUT"; + Requests[4239].Request.Path = "/subscriptions/a3fc5b48-9be7-/resourceGroups/528f20f1-ed82-417/providers/Microsoft.Web/sites/145fd/slots/8663a/config/metadata"; + Requests[4240] = new DefaultHttpContext(); + Requests[4240].RequestServices = CreateServices(); + Requests[4240].Request.Method = "PUT"; + Requests[4240].Request.Path = "/subscriptions/aaa9fbf6-8116-/resourceGroups/e9352311-4efa-4a1/providers/Microsoft.Web/sites/c1893/slots/a9734/config/pushsettings"; + Requests[4241] = new DefaultHttpContext(); + Requests[4241].RequestServices = CreateServices(); + Requests[4241].Request.Method = "GET"; + Requests[4241].Request.Path = "/subscriptions/1cfb2057-1df3-/resourceGroups/0addff53-7f12-488/providers/Microsoft.Web/sites/7dcee/slots/800db/config/web"; + Requests[4242] = new DefaultHttpContext(); + Requests[4242].RequestServices = CreateServices(); + Requests[4242].Request.Method = "PUT"; + Requests[4242].Request.Path = "/subscriptions/0f8c529f-5449-/resourceGroups/5f9bfaf1-8e6d-49a/providers/Microsoft.Web/sites/9f5e2/slots/e5b3a/config/web"; + Requests[4243] = new DefaultHttpContext(); + Requests[4243].RequestServices = CreateServices(); + Requests[4243].Request.Method = "PATCH"; + Requests[4243].Request.Path = "/subscriptions/f39f32c1-78ab-/resourceGroups/3a5107c4-c3eb-493/providers/Microsoft.Web/sites/b7bfc/slots/036ac/config/web"; + Requests[4244] = new DefaultHttpContext(); + Requests[4244].RequestServices = CreateServices(); + Requests[4244].Request.Method = "GET"; + Requests[4244].Request.Path = "/subscriptions/b6d382df-5959-/resourceGroups/cf9caabb-7329-49c/providers/Microsoft.Web/sites/690b9/slots/7fa57/extensions/MSDeploy"; + Requests[4245] = new DefaultHttpContext(); + Requests[4245].RequestServices = CreateServices(); + Requests[4245].Request.Method = "PUT"; + Requests[4245].Request.Path = "/subscriptions/78a5d582-36af-/resourceGroups/6a3321d4-c59c-468/providers/Microsoft.Web/sites/60348/slots/298d5/extensions/MSDeploy"; + Requests[4246] = new DefaultHttpContext(); + Requests[4246].RequestServices = CreateServices(); + Requests[4246].Request.Method = "GET"; + Requests[4246].Request.Path = "/subscriptions/79c9cf8b-0d34-/resourceGroups/538ff978-c506-483/providers/Microsoft.Web/sites/31f55/slots/53f9e/migratemysql/status"; + Requests[4247] = new DefaultHttpContext(); + Requests[4247].RequestServices = CreateServices(); + Requests[4247].Request.Method = "POST"; + Requests[4247].Request.Path = "/subscriptions/43b1dd1b-b941-/resourceGroups/20687112-036e-4c6/providers/Microsoft.Web/sites/9f7fc/slots/857e3/networkTrace/start"; + Requests[4248] = new DefaultHttpContext(); + Requests[4248].RequestServices = CreateServices(); + Requests[4248].Request.Method = "POST"; + Requests[4248].Request.Path = "/subscriptions/0c99341a-1aee-/resourceGroups/89a570fe-2d16-478/providers/Microsoft.Web/sites/877d9/slots/93a58/networkTrace/stop"; + Requests[4249] = new DefaultHttpContext(); + Requests[4249].RequestServices = CreateServices(); + Requests[4249].Request.Method = "GET"; + Requests[4249].Request.Path = "/subscriptions/c35b1266-1f98-/resourceGroups/a4fabde7-34a1-42e/providers/Microsoft.Web/sites/745c9/slots/d29c7/privateAccess/virtualNetworks"; + Requests[4250] = new DefaultHttpContext(); + Requests[4250].RequestServices = CreateServices(); + Requests[4250].Request.Method = "PUT"; + Requests[4250].Request.Path = "/subscriptions/e65ebec4-9800-/resourceGroups/8867524e-95bf-4fb/providers/Microsoft.Web/sites/95abc/slots/cad13/privateAccess/virtualNetworks"; + Requests[4251] = new DefaultHttpContext(); + Requests[4251].RequestServices = CreateServices(); + Requests[4251].Request.Method = "GET"; + Requests[4251].Request.Path = "/subscriptions/e592780a-faf4-/resourceGroups/570c8b34-60b3-461/providers/Microsoft.Web/sites/44236/slots/ffc42/resourceHealthMetadata/default"; + Requests[4252] = new DefaultHttpContext(); + Requests[4252].RequestServices = CreateServices(); + Requests[4252].Request.Method = "PUT"; + Requests[4252].Request.Path = "/subscriptions/cf716c85-6a17-/resourceGroups/a32a6e03-dd09-48f/providers/Microsoft.Web/sites/73619/slots/91384/sourcecontrols/web"; + Requests[4253] = new DefaultHttpContext(); + Requests[4253].RequestServices = CreateServices(); + Requests[4253].Request.Method = "GET"; + Requests[4253].Request.Path = "/subscriptions/bbe96f09-ae14-/resourceGroups/9ab81152-5292-4c9/providers/Microsoft.Web/sites/fbd1b/slots/ea348/sourcecontrols/web"; + Requests[4254] = new DefaultHttpContext(); + Requests[4254].RequestServices = CreateServices(); + Requests[4254].Request.Method = "DELETE"; + Requests[4254].Request.Path = "/subscriptions/d3dc52bd-87aa-/resourceGroups/e0928dc3-890f-492/providers/Microsoft.Web/sites/ae7b6/slots/88bee/sourcecontrols/web"; + Requests[4255] = new DefaultHttpContext(); + Requests[4255].RequestServices = CreateServices(); + Requests[4255].Request.Method = "PATCH"; + Requests[4255].Request.Path = "/subscriptions/4bc137bb-a7ef-/resourceGroups/ff20ea30-2f39-490/providers/Microsoft.Web/sites/aff7c/slots/15b3b/sourcecontrols/web"; + Requests[4256] = new DefaultHttpContext(); + Requests[4256].RequestServices = CreateServices(); + Requests[4256].Request.Method = "POST"; + Requests[4256].Request.Path = "/subscriptions/bbd54d5a-857f-/resourceGroups/01807944-9fc6-45a/providers/Microsoft.Automation/automationAccounts/8a1a9042-71dd-4653-8b/runbooks/9efe1777-54/draft/testJob/resume"; + Requests[4257] = new DefaultHttpContext(); + Requests[4257].RequestServices = CreateServices(); + Requests[4257].Request.Method = "POST"; + Requests[4257].Request.Path = "/subscriptions/d30c184a-4400-/resourceGroups/07c77bda-acbf-4e0/providers/Microsoft.Automation/automationAccounts/bf8b45df-3388-438c-86/runbooks/0624116b-0f/draft/testJob/stop"; + Requests[4258] = new DefaultHttpContext(); + Requests[4258].RequestServices = CreateServices(); + Requests[4258].Request.Method = "GET"; + Requests[4258].Request.Path = "/subscriptions/5b740ae9-b90c-/resourceGroups/1f5afec5-041c-461/providers/Microsoft.Automation/automationAccounts/e08f681f-072a-4707-8e/runbooks/37ab5e3e-00/draft/testJob/streams"; + Requests[4259] = new DefaultHttpContext(); + Requests[4259].RequestServices = CreateServices(); + Requests[4259].Request.Method = "POST"; + Requests[4259].Request.Path = "/subscriptions/9003416a-6a91-/resourceGroups/fae6a169-22ff-408/providers/Microsoft.Automation/automationAccounts/2f2468c0-a4c9-41dd-8b/runbooks/946976a1-da/draft/testJob/suspend"; + Requests[4260] = new DefaultHttpContext(); + Requests[4260].RequestServices = CreateServices(); + Requests[4260].Request.Method = "GET"; + Requests[4260].Request.Path = "/subscriptions/a25090fe-a741-/resourceGroups/6ff7fe51-1dec-4e9/providers/Microsoft.ServerManagement/nodes/cab0ed0e/sessions/937c78d/features/powerShellConsole/pssessions"; + Requests[4261] = new DefaultHttpContext(); + Requests[4261].RequestServices = CreateServices(); + Requests[4261].Request.Method = "POST"; + Requests[4261].Request.Path = "/subscriptions/c2f8a439-4309-/resourceGroups/5c7ce02e-1a5e-429/providers/Microsoft.StorSimple/managers/a64114c1-3c/devices/cd578b70-7/securitySettings/default/syncRemoteManagementCertificate"; + Requests[4262] = new DefaultHttpContext(); + Requests[4262].RequestServices = CreateServices(); + Requests[4262].Request.Method = "GET"; + Requests[4262].Request.Path = "/subscriptions/42bc1005-c7d7-/resourceGroups/7d5b9ac5-af67-477/providers/Microsoft.Web/sites/cb690/instances/7fd9c715-f/extensions/MSDeploy/log"; + Requests[4263] = new DefaultHttpContext(); + Requests[4263].RequestServices = CreateServices(); + Requests[4263].Request.Method = "POST"; + Requests[4263].Request.Path = "/subscriptions/47864e9d-419a-/resourceGroups/4b339d80-17b4-47f/providers/Microsoft.Web/sites/ab1e4/slots/73b7a/config/appsettings/list"; + Requests[4264] = new DefaultHttpContext(); + Requests[4264].RequestServices = CreateServices(); + Requests[4264].Request.Method = "POST"; + Requests[4264].Request.Path = "/subscriptions/fcbdeef3-f813-/resourceGroups/7e1eb892-9fdd-4ea/providers/Microsoft.Web/sites/45ecd/slots/7d01a/config/authsettings/list"; + Requests[4265] = new DefaultHttpContext(); + Requests[4265].RequestServices = CreateServices(); + Requests[4265].Request.Method = "POST"; + Requests[4265].Request.Path = "/subscriptions/883930c2-de2e-/resourceGroups/34239e47-9c1f-4c4/providers/Microsoft.Web/sites/48a6f/slots/10e80/config/backup/list"; + Requests[4266] = new DefaultHttpContext(); + Requests[4266].RequestServices = CreateServices(); + Requests[4266].Request.Method = "POST"; + Requests[4266].Request.Path = "/subscriptions/344e20df-2de5-/resourceGroups/e6549230-545a-48d/providers/Microsoft.Web/sites/d55cf/slots/2b413/config/connectionstrings/list"; + Requests[4267] = new DefaultHttpContext(); + Requests[4267].RequestServices = CreateServices(); + Requests[4267].Request.Method = "POST"; + Requests[4267].Request.Path = "/subscriptions/3839ff45-97bc-/resourceGroups/052b523a-adf9-4d6/providers/Microsoft.Web/sites/d5776/slots/88edc/config/metadata/list"; + Requests[4268] = new DefaultHttpContext(); + Requests[4268].RequestServices = CreateServices(); + Requests[4268].Request.Method = "POST"; + Requests[4268].Request.Path = "/subscriptions/9eedc674-7ce2-/resourceGroups/847db486-e2fe-49c/providers/Microsoft.Web/sites/dc2a9/slots/73337/config/publishingcredentials/list"; + Requests[4269] = new DefaultHttpContext(); + Requests[4269].RequestServices = CreateServices(); + Requests[4269].Request.Method = "POST"; + Requests[4269].Request.Path = "/subscriptions/d33e0536-ef83-/resourceGroups/0abaa606-6e91-4c0/providers/Microsoft.Web/sites/24980/slots/a609e/config/pushsettings/list"; + Requests[4270] = new DefaultHttpContext(); + Requests[4270].RequestServices = CreateServices(); + Requests[4270].Request.Method = "GET"; + Requests[4270].Request.Path = "/subscriptions/2c05058f-144b-/resourceGroups/ce037ffb-5244-458/providers/Microsoft.Web/sites/0791c/slots/d7f92/config/web/snapshots"; + Requests[4271] = new DefaultHttpContext(); + Requests[4271].RequestServices = CreateServices(); + Requests[4271].Request.Method = "POST"; + Requests[4271].Request.Path = "/subscriptions/862d9a2d-bfa4-/resourceGroups/116e668a-67b0-48f/providers/Microsoft.Web/sites/9154c/slots/4a3f3/containerlogs/zip/download"; + Requests[4272] = new DefaultHttpContext(); + Requests[4272].RequestServices = CreateServices(); + Requests[4272].Request.Method = "GET"; + Requests[4272].Request.Path = "/subscriptions/04231f85-21de-/resourceGroups/d74a00d1-a538-46e/providers/Microsoft.Web/sites/65ce4/slots/08776/extensions/MSDeploy/log"; + Requests[4273] = new DefaultHttpContext(); + Requests[4273].RequestServices = CreateServices(); + Requests[4273].Request.Method = "GET"; + Requests[4273].Request.Path = "/subscriptions/bcca6820-1b87-/resourceGroups/9fc6d697-717b-488/providers/Microsoft.Web/sites/f5a61/slots/6e659/functions/admin/token"; + Requests[4274] = new DefaultHttpContext(); + Requests[4274].RequestServices = CreateServices(); + Requests[4274].Request.Method = "GET"; + Requests[4274].Request.Path = "/subscriptions/d6dbcbed-1ba3-/resourceGroups/361082b9-85a9-4f7/providers/Microsoft.Automation/automationAccounts/e9845c2d-6e94-4da2-ad/runbooks/aaf4d25c-6c/draft/testJob/streams/fe0ae72c-6a"; + Requests[4275] = new DefaultHttpContext(); + Requests[4275].RequestServices = CreateServices(); + Requests[4275].Request.Method = "PUT"; + Requests[4275].Request.Path = "/subscriptions/3c8998e5-3c3b-/resourceGroups/66dd6110-23df-47f/providers/Microsoft.ServerManagement/nodes/287d6181/sessions/d3912b4/features/powerShellConsole/pssessions/bec626b9-"; + Requests[4276] = new DefaultHttpContext(); + Requests[4276].RequestServices = CreateServices(); + Requests[4276].Request.Method = "GET"; + Requests[4276].Request.Path = "/subscriptions/5f6ad2fd-f2b5-/resourceGroups/64e25aea-7e78-4e6/providers/Microsoft.ServerManagement/nodes/b0f8f7f6/sessions/4ef2ad0/features/powerShellConsole/pssessions/4ff824e9-"; + Requests[4277] = new DefaultHttpContext(); + Requests[4277].RequestServices = CreateServices(); + Requests[4277].Request.Method = "PATCH"; + Requests[4277].Request.Path = "/subscriptions/40ae5759-5ac6-/resourceGroups/8ff62095-5884-42a/providers/Microsoft.ServerManagement/nodes/6ee92b81/sessions/fe92cbb/features/powerShellConsole/pssessions/0fc9b2c5-"; + Requests[4278] = new DefaultHttpContext(); + Requests[4278].RequestServices = CreateServices(); + Requests[4278].Request.Method = "GET"; + Requests[4278].Request.Path = "/subscriptions/eed33d39-5898-/resourceGroups/b8ff06ef-639a-412/providers/Microsoft.Web/sites/772d5/slots/05da5/config/web/snapshots/6e8038e6-b"; + Requests[4279] = new DefaultHttpContext(); + Requests[4279].RequestServices = CreateServices(); + Requests[4279].Request.Method = "POST"; + Requests[4279].Request.Path = "/subscriptions/6ca94f9e-39a3-/resourceGroups/123c1dbf-060a-429/providers/Microsoft.ServerManagement/nodes/da409b73/sessions/2ed0a2d/features/powerShellConsole/pssessions/5a5296ab-/cancel"; + Requests[4280] = new DefaultHttpContext(); + Requests[4280].RequestServices = CreateServices(); + Requests[4280].Request.Method = "POST"; + Requests[4280].Request.Path = "/subscriptions/0591d618-3f0a-/resourceGroups/bac4e063-4ea1-4d8/providers/Microsoft.ServerManagement/nodes/720fc5da/sessions/1f96ed6/features/powerShellConsole/pssessions/064909e6-/invokeCommand"; + Requests[4281] = new DefaultHttpContext(); + Requests[4281].RequestServices = CreateServices(); + Requests[4281].Request.Method = "POST"; + Requests[4281].Request.Path = "/subscriptions/dc67e379-ff8c-/resourceGroups/1dabcc89-df48-40d/providers/Microsoft.ServerManagement/nodes/a2f52b00/sessions/e1b33ab/features/powerShellConsole/pssessions/492922c3-/tab"; + Requests[4282] = new DefaultHttpContext(); + Requests[4282].RequestServices = CreateServices(); + Requests[4282].Request.Method = "POST"; + Requests[4282].Request.Path = "/subscriptions/3a3f5beb-d1f7-/resourceGroups/a39ef0fa-8e8a-415/providers/Microsoft.Web/sites/05c43/slots/5f850/config/web/snapshots/d8b69541-b/recover"; + Requests[4283] = new DefaultHttpContext(); + Requests[4283].RequestServices = CreateServices(); + Requests[4283].Request.Method = "DELETE"; + Requests[4283].Request.Path = "/subscriptions/3003e987-e1ed-/resourceGroups/2cf9f107-/providers/Microsoft.DataMigration/services/ab4ce02a-a7/projects/b5be2ea7-f6/tasks/9e74fb60"; + Requests[4284] = new DefaultHttpContext(); + Requests[4284].RequestServices = CreateServices(); + Requests[4284].Request.Method = "PATCH"; + Requests[4284].Request.Path = "/subscriptions/297af4fd-060c-/resourceGroups/eeb7f41a-/providers/Microsoft.DataMigration/services/bc2ae242-e4/projects/5be90488-07/tasks/f71959c8"; + Requests[4285] = new DefaultHttpContext(); + Requests[4285].RequestServices = CreateServices(); + Requests[4285].Request.Method = "GET"; + Requests[4285].Request.Path = "/subscriptions/32999b2f-4840-/resourceGroups/60db154f-/providers/Microsoft.DataMigration/services/791518bb-6a/projects/c18fe9aa-2f/tasks/857bda96"; + Requests[4286] = new DefaultHttpContext(); + Requests[4286].RequestServices = CreateServices(); + Requests[4286].Request.Method = "PUT"; + Requests[4286].Request.Path = "/subscriptions/d4fd1ac6-c773-/resourceGroups/99cb6e99-/providers/Microsoft.DataMigration/services/f81ed551-7a/projects/b60207c3-b4/tasks/3c4ef4af"; + Requests[4287] = new DefaultHttpContext(); + Requests[4287].RequestServices = CreateServices(); + Requests[4287].Request.Method = "PARAMETERS"; + Requests[4287].Request.Path = "/subscriptions/c410a6bb-a74d-/resourceGroups/57ce5129-/providers/Microsoft.DataMigration/services/8624a17d-28/projects/e001bdf7-16/tasks/0dbdf3cc"; + Requests[4288] = new DefaultHttpContext(); + Requests[4288].RequestServices = CreateServices(); + Requests[4288].Request.Method = "HEAD"; + Requests[4288].Request.Path = "/subscriptions/8d0f95d0-023f-/resourceGroups/636e4704-cf5e-4c3/providers/Microsoft.ApiManagement/service/2308506e-bf/apis/1abd6/diagnostics/2a1513b1-1ea"; + Requests[4289] = new DefaultHttpContext(); + Requests[4289].RequestServices = CreateServices(); + Requests[4289].Request.Method = "PUT"; + Requests[4289].Request.Path = "/subscriptions/58c58208-323e-/resourceGroups/c985085f-8848-45e/providers/Microsoft.ApiManagement/service/55d30973-93/apis/34482/diagnostics/76a6b6a4-69c"; + Requests[4290] = new DefaultHttpContext(); + Requests[4290].RequestServices = CreateServices(); + Requests[4290].Request.Method = "PATCH"; + Requests[4290].Request.Path = "/subscriptions/3419e3ee-2eda-/resourceGroups/da894604-adcd-4d5/providers/Microsoft.ApiManagement/service/bbcdba61-be/apis/48298/diagnostics/c03b67d2-2ca"; + Requests[4291] = new DefaultHttpContext(); + Requests[4291].RequestServices = CreateServices(); + Requests[4291].Request.Method = "DELETE"; + Requests[4291].Request.Path = "/subscriptions/dd345062-5d31-/resourceGroups/156508c6-fa2a-41a/providers/Microsoft.ApiManagement/service/33731b1e-c5/apis/0c8e0/diagnostics/6fe28913-0e1"; + Requests[4292] = new DefaultHttpContext(); + Requests[4292].RequestServices = CreateServices(); + Requests[4292].Request.Method = "GET"; + Requests[4292].Request.Path = "/subscriptions/f001a713-7588-/resourceGroups/0b43cb35-37e3-465/providers/Microsoft.ApiManagement/service/ce981247-73/apis/33bed/diagnostics/a7ad6250-f04"; + Requests[4293] = new DefaultHttpContext(); + Requests[4293].RequestServices = CreateServices(); + Requests[4293].Request.Method = "PUT"; + Requests[4293].Request.Path = "/subscriptions/b99a0cbd-95ff-/resourceGroups/966f0c99-45e7-493/providers/Microsoft.ApiManagement/service/d6c03ee9-5d/apis/a6d2a/issues/6323c14"; + Requests[4294] = new DefaultHttpContext(); + Requests[4294].RequestServices = CreateServices(); + Requests[4294].Request.Method = "GET"; + Requests[4294].Request.Path = "/subscriptions/e94991df-04d0-/resourceGroups/8bea9e7c-9dd0-4ff/providers/Microsoft.ApiManagement/service/5db691b8-a6/apis/19a2f/issues/cdeb1f1"; + Requests[4295] = new DefaultHttpContext(); + Requests[4295].RequestServices = CreateServices(); + Requests[4295].Request.Method = "HEAD"; + Requests[4295].Request.Path = "/subscriptions/873a6e1b-2c98-/resourceGroups/7bac2778-a6dd-402/providers/Microsoft.ApiManagement/service/9ed2af07-b0/apis/a9074/issues/2012323"; + Requests[4296] = new DefaultHttpContext(); + Requests[4296].RequestServices = CreateServices(); + Requests[4296].Request.Method = "DELETE"; + Requests[4296].Request.Path = "/subscriptions/9a50b7bd-bd4d-/resourceGroups/11a720cd-0f99-420/providers/Microsoft.ApiManagement/service/f5fccb09-ad/apis/b49e8/issues/b0a2d34"; + Requests[4297] = new DefaultHttpContext(); + Requests[4297].RequestServices = CreateServices(); + Requests[4297].Request.Method = "PUT"; + Requests[4297].Request.Path = "/subscriptions/6ad1a739-794f-/resourceGroups/10c955bf-93f2-483/providers/Microsoft.ApiManagement/service/952c175e-20/apis/583fa/operations/7bf56dc1-36"; + Requests[4298] = new DefaultHttpContext(); + Requests[4298].RequestServices = CreateServices(); + Requests[4298].Request.Method = "GET"; + Requests[4298].Request.Path = "/subscriptions/6e9f263c-6c31-/resourceGroups/72585735-d9ff-442/providers/Microsoft.ApiManagement/service/09f8ed16-bf/apis/19cd1/operations/e3037973-a4"; + Requests[4299] = new DefaultHttpContext(); + Requests[4299].RequestServices = CreateServices(); + Requests[4299].Request.Method = "HEAD"; + Requests[4299].Request.Path = "/subscriptions/55f9721b-52e4-/resourceGroups/cb396e0f-7025-4f3/providers/Microsoft.ApiManagement/service/0b455117-9a/apis/33b67/operations/d66ddb31-f2"; + Requests[4300] = new DefaultHttpContext(); + Requests[4300].RequestServices = CreateServices(); + Requests[4300].Request.Method = "DELETE"; + Requests[4300].Request.Path = "/subscriptions/8a18cb3a-7ef0-/resourceGroups/5f23a38c-2864-42d/providers/Microsoft.ApiManagement/service/6b0d19ba-d6/apis/56edc/operations/6923dbad-2b"; + Requests[4301] = new DefaultHttpContext(); + Requests[4301].RequestServices = CreateServices(); + Requests[4301].Request.Method = "PATCH"; + Requests[4301].Request.Path = "/subscriptions/85b154c6-393f-/resourceGroups/798d4350-20b5-45d/providers/Microsoft.ApiManagement/service/eac44db7-2e/apis/94a48/operations/7067a307-06"; + Requests[4302] = new DefaultHttpContext(); + Requests[4302].RequestServices = CreateServices(); + Requests[4302].Request.Method = "DELETE"; + Requests[4302].Request.Path = "/subscriptions/726ea3af-29bb-/resourceGroups/2c871a33-733d-486/providers/Microsoft.ApiManagement/service/c8408e00-65/apis/113f9/policies/04996aec"; + Requests[4303] = new DefaultHttpContext(); + Requests[4303].RequestServices = CreateServices(); + Requests[4303].Request.Method = "GET"; + Requests[4303].Request.Path = "/subscriptions/9d0d8db4-0f3b-/resourceGroups/445315b0-d414-4a3/providers/Microsoft.ApiManagement/service/70e8da28-91/apis/cf02c/policies/0a4b6c51"; + Requests[4304] = new DefaultHttpContext(); + Requests[4304].RequestServices = CreateServices(); + Requests[4304].Request.Method = "HEAD"; + Requests[4304].Request.Path = "/subscriptions/00cbf108-b9c0-/resourceGroups/582aaeb6-d18e-435/providers/Microsoft.ApiManagement/service/0932247f-10/apis/8d9b0/policies/9442115d"; + Requests[4305] = new DefaultHttpContext(); + Requests[4305].RequestServices = CreateServices(); + Requests[4305].Request.Method = "PUT"; + Requests[4305].Request.Path = "/subscriptions/63e6811a-ee0b-/resourceGroups/0765d562-2acb-42e/providers/Microsoft.ApiManagement/service/4dcea6b5-77/apis/6903b/policies/c2bb02a1"; + Requests[4306] = new DefaultHttpContext(); + Requests[4306].RequestServices = CreateServices(); + Requests[4306].Request.Method = "PATCH"; + Requests[4306].Request.Path = "/subscriptions/3d456829-acfa-/resourceGroups/cd8d54c8-cfc9-4ac/providers/Microsoft.ApiManagement/service/f18f5ba8-63/apis/efeb1/releases/44fbadb5-"; + Requests[4307] = new DefaultHttpContext(); + Requests[4307].RequestServices = CreateServices(); + Requests[4307].Request.Method = "PUT"; + Requests[4307].Request.Path = "/subscriptions/829fc722-5258-/resourceGroups/431e82c6-69fc-46f/providers/Microsoft.ApiManagement/service/e121265a-a8/apis/af219/releases/02c7f529-"; + Requests[4308] = new DefaultHttpContext(); + Requests[4308].RequestServices = CreateServices(); + Requests[4308].Request.Method = "GET"; + Requests[4308].Request.Path = "/subscriptions/700c4743-2140-/resourceGroups/3d1b1269-cb92-49f/providers/Microsoft.ApiManagement/service/149bd963-b2/apis/75cd2/releases/833c060b-"; + Requests[4309] = new DefaultHttpContext(); + Requests[4309].RequestServices = CreateServices(); + Requests[4309].Request.Method = "DELETE"; + Requests[4309].Request.Path = "/subscriptions/3dc85a3e-0b58-/resourceGroups/334837e6-4f8b-493/providers/Microsoft.ApiManagement/service/a7924908-d3/apis/ff03c/releases/a1818a50-"; + Requests[4310] = new DefaultHttpContext(); + Requests[4310].RequestServices = CreateServices(); + Requests[4310].Request.Method = "PARAMETERS"; + Requests[4310].Request.Path = "/subscriptions/e597238e-6d07-/resourceGroups/e46ee08d-043c-4b0/providers/Microsoft.ApiManagement/service/4a2c5684-0a/apis/e53ce/releases/f057a631-"; + Requests[4311] = new DefaultHttpContext(); + Requests[4311].RequestServices = CreateServices(); + Requests[4311].Request.Method = "HEAD"; + Requests[4311].Request.Path = "/subscriptions/717c04aa-9110-/resourceGroups/5b06794b-016c-480/providers/Microsoft.ApiManagement/service/7c56691d-86/apis/cae75/releases/baeb967e-"; + Requests[4312] = new DefaultHttpContext(); + Requests[4312].RequestServices = CreateServices(); + Requests[4312].Request.Method = "HEAD"; + Requests[4312].Request.Path = "/subscriptions/b090bda8-9f17-/resourceGroups/aee2d28c-b150-41e/providers/Microsoft.ApiManagement/service/c20acbc6-0b/apis/231a6/schemas/38963ec4"; + Requests[4313] = new DefaultHttpContext(); + Requests[4313].RequestServices = CreateServices(); + Requests[4313].Request.Method = "GET"; + Requests[4313].Request.Path = "/subscriptions/b6ceb903-e7ea-/resourceGroups/091e56d2-2b04-4c6/providers/Microsoft.ApiManagement/service/8546fc2f-c1/apis/b278d/schemas/10fd8714"; + Requests[4314] = new DefaultHttpContext(); + Requests[4314].RequestServices = CreateServices(); + Requests[4314].Request.Method = "PUT"; + Requests[4314].Request.Path = "/subscriptions/c1d8e3d8-742f-/resourceGroups/aeb14fba-b2c7-44a/providers/Microsoft.ApiManagement/service/181741cf-88/apis/56258/schemas/51b48917"; + Requests[4315] = new DefaultHttpContext(); + Requests[4315].RequestServices = CreateServices(); + Requests[4315].Request.Method = "DELETE"; + Requests[4315].Request.Path = "/subscriptions/b808e2af-3b4c-/resourceGroups/48b1baab-17f4-424/providers/Microsoft.ApiManagement/service/f6e6a2e0-5d/apis/e2a0c/schemas/a873d73d"; + Requests[4316] = new DefaultHttpContext(); + Requests[4316].RequestServices = CreateServices(); + Requests[4316].Request.Method = "PUT"; + Requests[4316].Request.Path = "/subscriptions/93c97280-1115-/resourceGroups/7af02bc7-8035-472/providers/Microsoft.ApiManagement/service/cd9c7e74-a0/apis/24744/tagDescriptions/e3a85"; + Requests[4317] = new DefaultHttpContext(); + Requests[4317].RequestServices = CreateServices(); + Requests[4317].Request.Method = "GET"; + Requests[4317].Request.Path = "/subscriptions/c62dc5ed-6bca-/resourceGroups/4c0321a3-a0f6-462/providers/Microsoft.ApiManagement/service/65c749cb-28/apis/56714/tagDescriptions/7e382"; + Requests[4318] = new DefaultHttpContext(); + Requests[4318].RequestServices = CreateServices(); + Requests[4318].Request.Method = "HEAD"; + Requests[4318].Request.Path = "/subscriptions/eebafcb8-e2cb-/resourceGroups/2ad0c723-2f2e-40b/providers/Microsoft.ApiManagement/service/a564b238-55/apis/e7646/tagDescriptions/72cc1"; + Requests[4319] = new DefaultHttpContext(); + Requests[4319].RequestServices = CreateServices(); + Requests[4319].Request.Method = "DELETE"; + Requests[4319].Request.Path = "/subscriptions/1e29b489-2597-/resourceGroups/94cbcaf9-aa93-4a6/providers/Microsoft.ApiManagement/service/31880838-2b/apis/12ea1/tagDescriptions/373ca"; + Requests[4320] = new DefaultHttpContext(); + Requests[4320].RequestServices = CreateServices(); + Requests[4320].Request.Method = "DELETE"; + Requests[4320].Request.Path = "/subscriptions/3b2ff7e0-5bd5-/resourceGroups/3ff6fdb8-df9d-4fe/providers/Microsoft.ApiManagement/service/0e1b940d-2c/apis/97ef7/tags/ced89"; + Requests[4321] = new DefaultHttpContext(); + Requests[4321].RequestServices = CreateServices(); + Requests[4321].Request.Method = "PUT"; + Requests[4321].Request.Path = "/subscriptions/7ae78607-aa3f-/resourceGroups/705a341e-68c5-400/providers/Microsoft.ApiManagement/service/299d71e3-db/apis/9591a/tags/6a522"; + Requests[4322] = new DefaultHttpContext(); + Requests[4322].RequestServices = CreateServices(); + Requests[4322].Request.Method = "GET"; + Requests[4322].Request.Path = "/subscriptions/2ad71bd4-778c-/resourceGroups/e516987c-9301-4da/providers/Microsoft.ApiManagement/service/b75363f8-80/apis/e7e61/tags/d76c0"; + Requests[4323] = new DefaultHttpContext(); + Requests[4323].RequestServices = CreateServices(); + Requests[4323].Request.Method = "HEAD"; + Requests[4323].Request.Path = "/subscriptions/05c3b140-6ade-/resourceGroups/cdacf19e-b259-4e2/providers/Microsoft.ApiManagement/service/91584eba-1f/apis/a2166/tags/b0328"; + Requests[4324] = new DefaultHttpContext(); + Requests[4324].RequestServices = CreateServices(); + Requests[4324].Request.Method = "DELETE"; + Requests[4324].Request.Path = "/subscriptions/ae291f0f-f2ca-/resourceGroups/541d0152-4409-462/providers/Microsoft.ApiManagement/service/ca747134-2d/diagnostics/bfdab92c-bc8/loggers/b27b26b4"; + Requests[4325] = new DefaultHttpContext(); + Requests[4325].RequestServices = CreateServices(); + Requests[4325].Request.Method = "HEAD"; + Requests[4325].Request.Path = "/subscriptions/e4f7ca52-6696-/resourceGroups/1898b09f-5c9a-4e2/providers/Microsoft.ApiManagement/service/b1ba3a72-c0/diagnostics/9d61cb0e-2cb/loggers/6cad41a7"; + Requests[4326] = new DefaultHttpContext(); + Requests[4326].RequestServices = CreateServices(); + Requests[4326].Request.Method = "PUT"; + Requests[4326].Request.Path = "/subscriptions/809eac6c-701b-/resourceGroups/af78f886-9109-460/providers/Microsoft.ApiManagement/service/46f7f232-f7/diagnostics/8f89ecf4-de5/loggers/08d1c081"; + Requests[4327] = new DefaultHttpContext(); + Requests[4327].RequestServices = CreateServices(); + Requests[4327].Request.Method = "PUT"; + Requests[4327].Request.Path = "/subscriptions/3d848b09-fb1a-/resourceGroups/3a39eda7-43fb-49a/providers/Microsoft.ApiManagement/service/3978279a-03/groups/66e5aba/users/260a1"; + Requests[4328] = new DefaultHttpContext(); + Requests[4328].RequestServices = CreateServices(); + Requests[4328].Request.Method = "HEAD"; + Requests[4328].Request.Path = "/subscriptions/2e7ec089-1ffe-/resourceGroups/1a76991f-204a-464/providers/Microsoft.ApiManagement/service/029f0db2-9a/groups/099c053/users/35b50"; + Requests[4329] = new DefaultHttpContext(); + Requests[4329].RequestServices = CreateServices(); + Requests[4329].Request.Method = "DELETE"; + Requests[4329].Request.Path = "/subscriptions/529eb0c5-58e7-/resourceGroups/3232070b-256c-4c3/providers/Microsoft.ApiManagement/service/30a25078-a5/groups/e56f0ff/users/b72ef"; + Requests[4330] = new DefaultHttpContext(); + Requests[4330].RequestServices = CreateServices(); + Requests[4330].Request.Method = "HEAD"; + Requests[4330].Request.Path = "/subscriptions/9765d347-8b91-/resourceGroups/21641c89-e593-47f/providers/Microsoft.ApiManagement/service/7bae0e71-ae/notifications/b2245f4a-3b36-45/recipientEmails/d2967"; + Requests[4331] = new DefaultHttpContext(); + Requests[4331].RequestServices = CreateServices(); + Requests[4331].Request.Method = "PUT"; + Requests[4331].Request.Path = "/subscriptions/0d038a42-cb6b-/resourceGroups/4311acd8-2372-4c0/providers/Microsoft.ApiManagement/service/59745d83-62/notifications/1b5e92ff-a0fe-4a/recipientEmails/80c1b"; + Requests[4332] = new DefaultHttpContext(); + Requests[4332].RequestServices = CreateServices(); + Requests[4332].Request.Method = "DELETE"; + Requests[4332].Request.Path = "/subscriptions/c4cbb2d0-8d5f-/resourceGroups/d88535ec-f810-4d2/providers/Microsoft.ApiManagement/service/031e1a52-20/notifications/1400aed9-98b3-46/recipientEmails/6971f"; + Requests[4333] = new DefaultHttpContext(); + Requests[4333].RequestServices = CreateServices(); + Requests[4333].Request.Method = "HEAD"; + Requests[4333].Request.Path = "/subscriptions/13130a41-2be8-/resourceGroups/923aa577-adbf-4ae/providers/Microsoft.ApiManagement/service/1f11acd3-bd/notifications/128b2b2d-551b-4b/recipientUsers/98ada"; + Requests[4334] = new DefaultHttpContext(); + Requests[4334].RequestServices = CreateServices(); + Requests[4334].Request.Method = "DELETE"; + Requests[4334].Request.Path = "/subscriptions/151b89a5-fd5a-/resourceGroups/c6959186-23c3-411/providers/Microsoft.ApiManagement/service/81463d89-cf/notifications/6b68969c-000b-4d/recipientUsers/5e9f4"; + Requests[4335] = new DefaultHttpContext(); + Requests[4335].RequestServices = CreateServices(); + Requests[4335].Request.Method = "PUT"; + Requests[4335].Request.Path = "/subscriptions/efe97d9a-6533-/resourceGroups/c44c37bd-db4d-447/providers/Microsoft.ApiManagement/service/5e9337cf-b2/notifications/117fa284-9afd-4f/recipientUsers/82b35"; + Requests[4336] = new DefaultHttpContext(); + Requests[4336].RequestServices = CreateServices(); + Requests[4336].Request.Method = "DELETE"; + Requests[4336].Request.Path = "/subscriptions/07c33d78-88e1-/resourceGroups/8e0afb6f-c9be-4de/providers/Microsoft.ApiManagement/service/45259e93-74/products/edee6945-/apis/574b4"; + Requests[4337] = new DefaultHttpContext(); + Requests[4337].RequestServices = CreateServices(); + Requests[4337].Request.Method = "HEAD"; + Requests[4337].Request.Path = "/subscriptions/2e2f47c3-9af0-/resourceGroups/f0e47984-606e-485/providers/Microsoft.ApiManagement/service/bba152f6-33/products/711b25b3-/apis/687cd"; + Requests[4338] = new DefaultHttpContext(); + Requests[4338].RequestServices = CreateServices(); + Requests[4338].Request.Method = "PUT"; + Requests[4338].Request.Path = "/subscriptions/702d533e-946a-/resourceGroups/c135110f-e422-4b0/providers/Microsoft.ApiManagement/service/94067196-eb/products/e2b796e4-/apis/d81b1"; + Requests[4339] = new DefaultHttpContext(); + Requests[4339].RequestServices = CreateServices(); + Requests[4339].Request.Method = "PUT"; + Requests[4339].Request.Path = "/subscriptions/2821d6b9-98bb-/resourceGroups/46cdbbbe-e5a0-40f/providers/Microsoft.ApiManagement/service/eb70332a-03/products/b7bb9fee-/groups/69c20c2"; + Requests[4340] = new DefaultHttpContext(); + Requests[4340].RequestServices = CreateServices(); + Requests[4340].Request.Method = "HEAD"; + Requests[4340].Request.Path = "/subscriptions/f1f82150-dabe-/resourceGroups/d87877a2-369a-4ee/providers/Microsoft.ApiManagement/service/3afc00e8-8d/products/dad5ea6d-/groups/a465f97"; + Requests[4341] = new DefaultHttpContext(); + Requests[4341].RequestServices = CreateServices(); + Requests[4341].Request.Method = "DELETE"; + Requests[4341].Request.Path = "/subscriptions/64312b63-0289-/resourceGroups/4c32543d-17ef-4f0/providers/Microsoft.ApiManagement/service/d9fcce21-3f/products/e17ffd52-/groups/fa95cf7"; + Requests[4342] = new DefaultHttpContext(); + Requests[4342].RequestServices = CreateServices(); + Requests[4342].Request.Method = "GET"; + Requests[4342].Request.Path = "/subscriptions/0ce37f16-e32a-/resourceGroups/3cfd8846-ae18-499/providers/Microsoft.ApiManagement/service/1df79e6f-3c/products/22d83510-/policies/1353bae7"; + Requests[4343] = new DefaultHttpContext(); + Requests[4343].RequestServices = CreateServices(); + Requests[4343].Request.Method = "HEAD"; + Requests[4343].Request.Path = "/subscriptions/dd096144-35d7-/resourceGroups/01f20cac-01fa-49a/providers/Microsoft.ApiManagement/service/6f571c7e-a8/products/4b732021-/policies/a5a2ae4e"; + Requests[4344] = new DefaultHttpContext(); + Requests[4344].RequestServices = CreateServices(); + Requests[4344].Request.Method = "DELETE"; + Requests[4344].Request.Path = "/subscriptions/f3a377b5-87f7-/resourceGroups/70d1ef16-8c13-49d/providers/Microsoft.ApiManagement/service/5454f3c4-d9/products/ee3f3ca3-/policies/6ca4a6cc"; + Requests[4345] = new DefaultHttpContext(); + Requests[4345].RequestServices = CreateServices(); + Requests[4345].Request.Method = "PUT"; + Requests[4345].Request.Path = "/subscriptions/620286ae-4d90-/resourceGroups/4fc3d8aa-e1b4-49b/providers/Microsoft.ApiManagement/service/9b2d58d8-0b/products/297050a0-/policies/8326bd1a"; + Requests[4346] = new DefaultHttpContext(); + Requests[4346].RequestServices = CreateServices(); + Requests[4346].Request.Method = "DELETE"; + Requests[4346].Request.Path = "/subscriptions/1f9d6741-e2ab-/resourceGroups/cfded6a3-8cf2-48f/providers/Microsoft.ApiManagement/service/c991e006-08/products/f97fbb01-/tags/17604"; + Requests[4347] = new DefaultHttpContext(); + Requests[4347].RequestServices = CreateServices(); + Requests[4347].Request.Method = "HEAD"; + Requests[4347].Request.Path = "/subscriptions/319c2a91-b76e-/resourceGroups/7a95dd78-ecc6-4ca/providers/Microsoft.ApiManagement/service/a894c065-11/products/c086c8c8-/tags/02083"; + Requests[4348] = new DefaultHttpContext(); + Requests[4348].RequestServices = CreateServices(); + Requests[4348].Request.Method = "PUT"; + Requests[4348].Request.Path = "/subscriptions/f1d3b5f1-04dc-/resourceGroups/7ee152f5-ae29-4d8/providers/Microsoft.ApiManagement/service/30e00323-50/products/c06a2d7d-/tags/8c649"; + Requests[4349] = new DefaultHttpContext(); + Requests[4349].RequestServices = CreateServices(); + Requests[4349].Request.Method = "GET"; + Requests[4349].Request.Path = "/subscriptions/bd00ba50-463c-/resourceGroups/800f02be-27fe-4b0/providers/Microsoft.ApiManagement/service/dd924dc7-06/products/11d84ff0-/tags/c1db0"; + Requests[4350] = new DefaultHttpContext(); + Requests[4350].RequestServices = CreateServices(); + Requests[4350].Request.Method = "PATCH"; + Requests[4350].Request.Path = "/subscriptions/10156ece-3476-/resourceGroups/4c4f977f-b7ac-480/providers/Microsoft.ApiManagement/service/ca055d6f-0b/quotas/f0467e9c-a0a1-4/periods/f6beab4b-06ba-"; + Requests[4351] = new DefaultHttpContext(); + Requests[4351].RequestServices = CreateServices(); + Requests[4351].Request.Method = "GET"; + Requests[4351].Request.Path = "/subscriptions/ccb70350-4936-/resourceGroups/da24846d-b0d8-4b7/providers/Microsoft.ApiManagement/service/f52fd071-f8/quotas/5d4fecc0-bdd8-4/periods/20b74e46-ab74-"; + Requests[4352] = new DefaultHttpContext(); + Requests[4352].RequestServices = CreateServices(); + Requests[4352].Request.Method = "GET"; + Requests[4352].Request.Path = "/subscriptions/87668fa0-f701-/resourceGroups/24faa827-1305-45b/providers/Microsoft.Automation/automationAccounts/f8d9784b-db69-458f-93/compilationjobs/4ea6d/streams/5cb6e1e7-7d"; + Requests[4353] = new DefaultHttpContext(); + Requests[4353].RequestServices = CreateServices(); + Requests[4353].Request.Method = "GET"; + Requests[4353].Request.Path = "/subscriptions/1b496e5e-88bd-/resourceGroups/6e5e9d99-d36f-46d/providers/Microsoft.Automation/automationAccounts/fb87dcee-2201-4688-80/jobs/b7aa4/streams/e8efb90e-e3"; + Requests[4354] = new DefaultHttpContext(); + Requests[4354].RequestServices = CreateServices(); + Requests[4354].Request.Method = "GET"; + Requests[4354].Request.Path = "/subscriptions/35d42db3-aa4c-/resourceGroups/de197673-2f4a-4e2/providers/Microsoft.Automation/automationAccounts/9e20b6b3-b2ad-4dde-b9/modules/9486c622-d/activities/a784b204-4fa"; + Requests[4355] = new DefaultHttpContext(); + Requests[4355].RequestServices = CreateServices(); + Requests[4355].Request.Method = "GET"; + Requests[4355].Request.Path = "/subscriptions/fb383b2d-cb50-/resourceGroups/86f41eaa-2994-480/providers/Microsoft.Automation/automationAccounts/85d5430a-f416-48c4-82/nodes/dd417b/reports/99f7535e"; + Requests[4356] = new DefaultHttpContext(); + Requests[4356].RequestServices = CreateServices(); + Requests[4356].Request.Method = "GET"; + Requests[4356].Request.Path = "/subscriptions/72e7681e-afe8-/resourceGroups/af04ed61-54e9-4ca/providers/Microsoft.Automation/automationAccounts/763e482e-d8ae-48bf-87/sourceControls/2f77152a-4303-414/sourceControlSyncJobs/9896b835-6590-4111-9b2"; + Requests[4357] = new DefaultHttpContext(); + Requests[4357].RequestServices = CreateServices(); + Requests[4357].Request.Method = "PUT"; + Requests[4357].Request.Path = "/subscriptions/f5c8988c-dfcc-/resourceGroups/2231c03a-5d4b-441/providers/Microsoft.Automation/automationAccounts/3471dcdb-8a9e-4423-92/sourceControls/164b4ded-9250-4c7/sourceControlSyncJobs/a3bf6222-3e0b-4f68-aab"; + Requests[4358] = new DefaultHttpContext(); + Requests[4358].RequestServices = CreateServices(); + Requests[4358].Request.Method = "GET"; + Requests[4358].Request.Path = "/subscriptions/fcfd7893-83df-/resourceGroups/cd374742-2791-488/providers/Microsoft.Batch/batchAccounts/e420e6b7-20/applications/5a5435b7-74a3/versions/209fa88"; + Requests[4359] = new DefaultHttpContext(); + Requests[4359].RequestServices = CreateServices(); + Requests[4359].Request.Method = "PUT"; + Requests[4359].Request.Path = "/subscriptions/fb1a33cc-aaee-/resourceGroups/07c7a323-4540-431/providers/Microsoft.Batch/batchAccounts/f5eec4bc-c7/applications/826c4754-b69b/versions/c4da47f"; + Requests[4360] = new DefaultHttpContext(); + Requests[4360].RequestServices = CreateServices(); + Requests[4360].Request.Method = "DELETE"; + Requests[4360].Request.Path = "/subscriptions/cace4d43-5177-/resourceGroups/66a6d137-0cf1-4cd/providers/Microsoft.Batch/batchAccounts/66ac9b49-c2/applications/ed6c67ab-0500/versions/65feb66"; + Requests[4361] = new DefaultHttpContext(); + Requests[4361].RequestServices = CreateServices(); + Requests[4361].Request.Method = "GET"; + Requests[4361].Request.Path = "/subscriptions/c7243f92-c2f3-/resourceGroups/5ce9bbac-782a-43e/providers/Microsoft.BatchAI/workspaces/e9427097-c028/experiments/f704066c-7db8-/jobs/4b9f561"; + Requests[4362] = new DefaultHttpContext(); + Requests[4362].RequestServices = CreateServices(); + Requests[4362].Request.Method = "PUT"; + Requests[4362].Request.Path = "/subscriptions/bea2215b-0a45-/resourceGroups/ae235a06-048e-4bb/providers/Microsoft.BatchAI/workspaces/823fba45-ddd7/experiments/1e6e9e28-fce2-/jobs/00bc81e"; + Requests[4363] = new DefaultHttpContext(); + Requests[4363].RequestServices = CreateServices(); + Requests[4363].Request.Method = "DELETE"; + Requests[4363].Request.Path = "/subscriptions/25a4a196-9deb-/resourceGroups/34f42d78-f795-4b1/providers/Microsoft.BatchAI/workspaces/27ce25f1-5275/experiments/6b94db1a-275a-/jobs/4a334fd"; + Requests[4364] = new DefaultHttpContext(); + Requests[4364].RequestServices = CreateServices(); + Requests[4364].Request.Method = "GET"; + Requests[4364].Request.Path = "/subscriptions/de4f112d-2188-/resourceGroups/b8bf6b7a-7cf7-40d/providers/Microsoft.Cdn/profiles/66733fd4-c9/endpoints/2bb68f63-7d5/customDomains/9ca6fc1d-bf16-47"; + Requests[4365] = new DefaultHttpContext(); + Requests[4365].RequestServices = CreateServices(); + Requests[4365].Request.Method = "PUT"; + Requests[4365].Request.Path = "/subscriptions/1ac88c51-a3ea-/resourceGroups/28b287bc-0ca8-43a/providers/Microsoft.Cdn/profiles/b01e7bc0-5c/endpoints/9a290ecb-95e/customDomains/94e84a36-3e28-4c"; + Requests[4366] = new DefaultHttpContext(); + Requests[4366].RequestServices = CreateServices(); + Requests[4366].Request.Method = "DELETE"; + Requests[4366].Request.Path = "/subscriptions/877c493e-03c6-/resourceGroups/786d1b4c-a2ba-47b/providers/Microsoft.Cdn/profiles/636bf573-e6/endpoints/72ac1bdc-699/customDomains/431c1fdd-d772-48"; + Requests[4367] = new DefaultHttpContext(); + Requests[4367].RequestServices = CreateServices(); + Requests[4367].Request.Method = "PATCH"; + Requests[4367].Request.Path = "/subscriptions/3f4d7750-8126-/resourceGroups/db676599-b3ba-4d9/providers/Microsoft.Cdn/profiles/a9aba429-6f/endpoints/dbef7e48-ba2/customDomains/c15fd34a-0e62-46"; + Requests[4368] = new DefaultHttpContext(); + Requests[4368].RequestServices = CreateServices(); + Requests[4368].Request.Method = "DELETE"; + Requests[4368].Request.Path = "/subscriptions/b7d94508-a829-/resourceGroups/e9d0712c-154b-415/providers/Microsoft.Cdn/profiles/97934019-80/endpoints/27e53af0-28d/origins/3c3db66d-3"; + Requests[4369] = new DefaultHttpContext(); + Requests[4369].RequestServices = CreateServices(); + Requests[4369].Request.Method = "PATCH"; + Requests[4369].Request.Path = "/subscriptions/f0383acc-ddff-/resourceGroups/a25c1ada-779b-422/providers/Microsoft.Cdn/profiles/d01ff87b-b8/endpoints/da5827eb-f6e/origins/1be6d6b2-1"; + Requests[4370] = new DefaultHttpContext(); + Requests[4370].RequestServices = CreateServices(); + Requests[4370].Request.Method = "GET"; + Requests[4370].Request.Path = "/subscriptions/3d7f770a-e3f9-/resourceGroups/4583df72-618c-4dd/providers/Microsoft.Cdn/profiles/606afd8c-6b/endpoints/5fd24a00-6a8/origins/cb752370-0"; + Requests[4371] = new DefaultHttpContext(); + Requests[4371].RequestServices = CreateServices(); + Requests[4371].Request.Method = "PUT"; + Requests[4371].Request.Path = "/subscriptions/aecee748-817f-/resourceGroups/a464dc61-c0aa-403/providers/Microsoft.Cdn/profiles/0836fa78-30/endpoints/c3cf7adc-260/origins/d2791f4a-2"; + Requests[4372] = new DefaultHttpContext(); + Requests[4372].RequestServices = CreateServices(); + Requests[4372].Request.Method = "PUT"; + Requests[4372].Request.Path = "/subscriptions/b2e19f18-e3c6-/resourceGroups/b79f1d27-83c1-495/providers/Microsoft.Compute/galleries/65a5a3ee-c1/images/6d1c18af-8913-4e/versions/c8deadbf-6ed1-4886-875e"; + Requests[4373] = new DefaultHttpContext(); + Requests[4373].RequestServices = CreateServices(); + Requests[4373].Request.Method = "GET"; + Requests[4373].Request.Path = "/subscriptions/170fc540-970c-/resourceGroups/c392aae3-5ef6-492/providers/Microsoft.Compute/galleries/119ad7f0-55/images/4ee2a8f3-5e6e-48/versions/c31cf077-77fc-442c-b668"; + Requests[4374] = new DefaultHttpContext(); + Requests[4374].RequestServices = CreateServices(); + Requests[4374].Request.Method = "DELETE"; + Requests[4374].Request.Path = "/subscriptions/7ef1753f-4be5-/resourceGroups/04621af5-230f-469/providers/Microsoft.Compute/galleries/0050133f-84/images/863d9591-97ae-4a/versions/705911c3-47cb-4a0f-ae9f"; + Requests[4375] = new DefaultHttpContext(); + Requests[4375].RequestServices = CreateServices(); + Requests[4375].Request.Method = "GET"; + Requests[4375].Request.Path = "/subscriptions/0b557ebd-b017-/resourceGroups/4916d78a-8bb2-41d/providers/microsoft.Compute/virtualMachineScaleSets/9de76e66-2804-4f25-91fb-34/virtualMachines/6ddc6e01-9b5e-4a1e-/networkInterfaces/dee08e48-87e5-430f-a"; + Requests[4376] = new DefaultHttpContext(); + Requests[4376].RequestServices = CreateServices(); + Requests[4376].Request.Method = "PATCH"; + Requests[4376].Request.Path = "/subscriptions/c59109c6-9354-/resourceGroups/8ff303cd-b10e-49a/providers/Microsoft.ContainerRegistry/registries/f772bdf2-951/buildTasks/87460e6d-dccb/steps/d88eb8cb"; + Requests[4377] = new DefaultHttpContext(); + Requests[4377].RequestServices = CreateServices(); + Requests[4377].Request.Method = "GET"; + Requests[4377].Request.Path = "/subscriptions/a72bb62c-479d-/resourceGroups/88d53526-1bcb-4be/providers/Microsoft.ContainerRegistry/registries/4586b30e-850/buildTasks/5bd5c678-36e8/steps/d4887131"; + Requests[4378] = new DefaultHttpContext(); + Requests[4378].RequestServices = CreateServices(); + Requests[4378].Request.Method = "PUT"; + Requests[4378].Request.Path = "/subscriptions/e21a2114-7b47-/resourceGroups/f877b5ed-123f-44a/providers/Microsoft.ContainerRegistry/registries/ba676020-a4b/buildTasks/0b3ac179-c754/steps/48f438a9"; + Requests[4379] = new DefaultHttpContext(); + Requests[4379].RequestServices = CreateServices(); + Requests[4379].Request.Method = "DELETE"; + Requests[4379].Request.Path = "/subscriptions/dfa96d4c-191a-/resourceGroups/f2bdde56-69b3-4fb/providers/Microsoft.ContainerRegistry/registries/592ab436-2d9/buildTasks/c7ab3ac4-d330/steps/b0cb6f5e"; + Requests[4380] = new DefaultHttpContext(); + Requests[4380].RequestServices = CreateServices(); + Requests[4380].Request.Method = "PUT"; + Requests[4380].Request.Path = "/subscriptions/8040ce12-cd3e-/resourceGroups/93292649-51a6-453/providers/Microsoft.CustomerInsights/hubs/aac9066/connectors/dae306fd-fe4c/mappings/e4889a10-3b"; + Requests[4381] = new DefaultHttpContext(); + Requests[4381].RequestServices = CreateServices(); + Requests[4381].Request.Method = "GET"; + Requests[4381].Request.Path = "/subscriptions/bd930bc4-1fe8-/resourceGroups/dd74914e-e6f8-405/providers/Microsoft.CustomerInsights/hubs/4cd3fc0/connectors/1982b550-7d5a/mappings/6844bbf8-a3"; + Requests[4382] = new DefaultHttpContext(); + Requests[4382].RequestServices = CreateServices(); + Requests[4382].Request.Method = "DELETE"; + Requests[4382].Request.Path = "/subscriptions/e012df12-c69f-/resourceGroups/2947851e-a2e5-414/providers/Microsoft.CustomerInsights/hubs/9e7453c/connectors/0d0c73fd-8db6/mappings/86dc631d-fc"; + Requests[4383] = new DefaultHttpContext(); + Requests[4383].RequestServices = CreateServices(); + Requests[4383].Request.Method = "PATCH"; + Requests[4383].Request.Path = "/subscriptions/aae6bb09-4448-/resourceGroups/1a6a8699-bcb8-4d9/providers/Microsoft.DataFactory/factories/98aa12e1-18/integrationRuntimes/6716e56c-2a6e-4e54-971/nodes/a7e8867e"; + Requests[4384] = new DefaultHttpContext(); + Requests[4384].RequestServices = CreateServices(); + Requests[4384].Request.Method = "DELETE"; + Requests[4384].Request.Path = "/subscriptions/35753c21-7017-/resourceGroups/22d0e14d-1d8b-42f/providers/Microsoft.DataFactory/factories/1d2a807d-7a/integrationRuntimes/54a78c31-1e60-4536-afe/nodes/f40a5419"; + Requests[4385] = new DefaultHttpContext(); + Requests[4385].RequestServices = CreateServices(); + Requests[4385].Request.Method = "GET"; + Requests[4385].Request.Path = "/subscriptions/210a82d9-df8d-/resourceGroups/b6dbd9eb-9ea1-409/providers/Microsoft.DataLakeAnalytics/accounts/634e4e8f-5a/storageAccounts/a32c4170-3d6f-48ef/containers/77df7014-02f6"; + Requests[4386] = new DefaultHttpContext(); + Requests[4386].RequestServices = CreateServices(); + Requests[4386].Request.Method = "GET"; + Requests[4386].Request.Path = "/subscriptions/9eb6a51b-bb75-/resourceGroups/53e2b57d-be74-40d/providers/Microsoft.Devices/IotHubs/db22610d-0fd/eventHubEndpoints/18039d46-0ac3-45a4-9/ConsumerGroups/3659a"; + Requests[4387] = new DefaultHttpContext(); + Requests[4387].RequestServices = CreateServices(); + Requests[4387].Request.Method = "PUT"; + Requests[4387].Request.Path = "/subscriptions/11dc93ec-c6da-/resourceGroups/079c5553-0a1a-452/providers/Microsoft.Devices/IotHubs/61c5ea31-488/eventHubEndpoints/4b6a81ac-561a-4ab9-b/ConsumerGroups/a48b1"; + Requests[4388] = new DefaultHttpContext(); + Requests[4388].RequestServices = CreateServices(); + Requests[4388].Request.Method = "DELETE"; + Requests[4388].Request.Path = "/subscriptions/46d3c8e0-291a-/resourceGroups/5ad1e39a-4b21-42c/providers/Microsoft.Devices/IotHubs/6ff96c89-877/eventHubEndpoints/3ac2445e-ee74-4217-9/ConsumerGroups/d9166"; + Requests[4389] = new DefaultHttpContext(); + Requests[4389].RequestServices = CreateServices(); + Requests[4389].Request.Method = "GET"; + Requests[4389].Request.Path = "/subscriptions/2185bd6a-0f13-/resourceGroups/1d632f01-ddfb-495/providers/Microsoft.DevTestLab/labs/8110b0c/artifactsources/44cd9798-e4b1-4204/armtemplates/b18a2"; + Requests[4390] = new DefaultHttpContext(); + Requests[4390].RequestServices = CreateServices(); + Requests[4390].Request.Method = "GET"; + Requests[4390].Request.Path = "/subscriptions/29cf2561-6066-/resourceGroups/c1117e1d-8c2e-485/providers/Microsoft.DevTestLab/labs/b6a9ed8/artifactsources/446134f0-36ce-4e6f/artifacts/31e7e"; + Requests[4391] = new DefaultHttpContext(); + Requests[4391].RequestServices = CreateServices(); + Requests[4391].Request.Method = "GET"; + Requests[4391].Request.Path = "/subscriptions/30dace52-2c7f-/resourceGroups/208871a2-a748-477/providers/Microsoft.DevTestLab/labs/744545f/policysets/915c53e9-c1d8/policies/64030"; + Requests[4392] = new DefaultHttpContext(); + Requests[4392].RequestServices = CreateServices(); + Requests[4392].Request.Method = "PUT"; + Requests[4392].Request.Path = "/subscriptions/7e8eb124-f0a0-/resourceGroups/e7d8dceb-b2fc-401/providers/Microsoft.DevTestLab/labs/84c1a71/policysets/2e4a68a1-1acd/policies/3332e"; + Requests[4393] = new DefaultHttpContext(); + Requests[4393].RequestServices = CreateServices(); + Requests[4393].Request.Method = "DELETE"; + Requests[4393].Request.Path = "/subscriptions/5cf0d26e-da40-/resourceGroups/5129db8d-1e64-4f5/providers/Microsoft.DevTestLab/labs/9a3705b/policysets/164e8031-57ea/policies/65928"; + Requests[4394] = new DefaultHttpContext(); + Requests[4394].RequestServices = CreateServices(); + Requests[4394].Request.Method = "PATCH"; + Requests[4394].Request.Path = "/subscriptions/71246fdc-d470-/resourceGroups/05a1345b-1490-442/providers/Microsoft.DevTestLab/labs/6e019ac/policysets/f3305056-e8f1/policies/d8f14"; + Requests[4395] = new DefaultHttpContext(); + Requests[4395].RequestServices = CreateServices(); + Requests[4395].Request.Method = "PUT"; + Requests[4395].Request.Path = "/subscriptions/a9a7a1dc-c7eb-/resourceGroups/27ca4ac1-34dd-403/providers/Microsoft.DevTestLab/labs/df542c4/users/9c7c53f8/disks/2b935"; + Requests[4396] = new DefaultHttpContext(); + Requests[4396].RequestServices = CreateServices(); + Requests[4396].Request.Method = "DELETE"; + Requests[4396].Request.Path = "/subscriptions/66e07458-9bf5-/resourceGroups/170df48c-1e8c-495/providers/Microsoft.DevTestLab/labs/7f7637a/users/a6c3b093/disks/d86fb"; + Requests[4397] = new DefaultHttpContext(); + Requests[4397].RequestServices = CreateServices(); + Requests[4397].Request.Method = "GET"; + Requests[4397].Request.Path = "/subscriptions/07e38586-2b83-/resourceGroups/9735f5e1-e67d-4eb/providers/Microsoft.DevTestLab/labs/6d2c12c/users/160d1010/disks/40a8a"; + Requests[4398] = new DefaultHttpContext(); + Requests[4398].RequestServices = CreateServices(); + Requests[4398].Request.Method = "DELETE"; + Requests[4398].Request.Path = "/subscriptions/9089a805-3477-/resourceGroups/bfac1388-7792-449/providers/Microsoft.DevTestLab/labs/5195230/users/fd2645b5/environments/08598"; + Requests[4399] = new DefaultHttpContext(); + Requests[4399].RequestServices = CreateServices(); + Requests[4399].Request.Method = "GET"; + Requests[4399].Request.Path = "/subscriptions/2f8dc9ea-5aab-/resourceGroups/1fb4b269-49f7-416/providers/Microsoft.DevTestLab/labs/bd42b53/users/2d71af8c/environments/33b3f"; + Requests[4400] = new DefaultHttpContext(); + Requests[4400].RequestServices = CreateServices(); + Requests[4400].Request.Method = "PUT"; + Requests[4400].Request.Path = "/subscriptions/0ff2f1ec-ec91-/resourceGroups/b3e89b93-db08-43b/providers/Microsoft.DevTestLab/labs/03d5abf/users/fc1b0fcd/environments/1b990"; + Requests[4401] = new DefaultHttpContext(); + Requests[4401].RequestServices = CreateServices(); + Requests[4401].Request.Method = "GET"; + Requests[4401].Request.Path = "/subscriptions/8bb11d9e-8b5a-/resourceGroups/16fe87c1-6a29-429/providers/Microsoft.DevTestLab/labs/c9a336c/users/b45f3994/secrets/bd2ac"; + Requests[4402] = new DefaultHttpContext(); + Requests[4402].RequestServices = CreateServices(); + Requests[4402].Request.Method = "PUT"; + Requests[4402].Request.Path = "/subscriptions/945daed6-c686-/resourceGroups/c1954ee5-41e7-49c/providers/Microsoft.DevTestLab/labs/4717f87/users/b1b37128/secrets/d4601"; + Requests[4403] = new DefaultHttpContext(); + Requests[4403].RequestServices = CreateServices(); + Requests[4403].Request.Method = "DELETE"; + Requests[4403].Request.Path = "/subscriptions/fb8c5a9c-69dd-/resourceGroups/21c20fef-ec96-4f5/providers/Microsoft.DevTestLab/labs/60dc217/users/87a703b5/secrets/79767"; + Requests[4404] = new DefaultHttpContext(); + Requests[4404].RequestServices = CreateServices(); + Requests[4404].Request.Method = "GET"; + Requests[4404].Request.Path = "/subscriptions/e13f5994-d706-/resourceGroups/9d4de131-4b62-457/providers/Microsoft.DevTestLab/labs/de839f2/virtualmachines/df0edf4f-6f59-4324/schedules/a06a4"; + Requests[4405] = new DefaultHttpContext(); + Requests[4405].RequestServices = CreateServices(); + Requests[4405].Request.Method = "PUT"; + Requests[4405].Request.Path = "/subscriptions/78e6ff0b-3c55-/resourceGroups/f6c4a64b-5815-4f6/providers/Microsoft.DevTestLab/labs/6c02510/virtualmachines/51d8297e-5aa2-446f/schedules/3a809"; + Requests[4406] = new DefaultHttpContext(); + Requests[4406].RequestServices = CreateServices(); + Requests[4406].Request.Method = "DELETE"; + Requests[4406].Request.Path = "/subscriptions/4434b837-8346-/resourceGroups/67ac73ad-5178-40e/providers/Microsoft.DevTestLab/labs/0a1a400/virtualmachines/12a8e5eb-dfd2-4172/schedules/af8a1"; + Requests[4407] = new DefaultHttpContext(); + Requests[4407].RequestServices = CreateServices(); + Requests[4407].Request.Method = "PATCH"; + Requests[4407].Request.Path = "/subscriptions/2c7d9df9-6677-/resourceGroups/5e16b834-136f-4a3/providers/Microsoft.DevTestLab/labs/9c73b3d/virtualmachines/0e68e578-fa5b-43e3/schedules/ea907"; + Requests[4408] = new DefaultHttpContext(); + Requests[4408].RequestServices = CreateServices(); + Requests[4408].Request.Method = "GET"; + Requests[4408].Request.Path = "/subscriptions/946bc226-9629-/resourceGroups/ac28abd9-5bb1-479/providers/Microsoft.EventHub/namespaces/7a98f2d6-1688/disasterRecoveryConfigs/9a38e/AuthorizationRules/2716716e-ef7a-405a-a9"; + Requests[4409] = new DefaultHttpContext(); + Requests[4409].RequestServices = CreateServices(); + Requests[4409].Request.Method = "PUT"; + Requests[4409].Request.Path = "/subscriptions/a4e1a96c-4a2c-/resourceGroups/c57fdfda-57b1-4eb/providers/Microsoft.EventHub/namespaces/7346c05d-ff31/eventhubs/59d68e4d-a61/authorizationRules/4e07a53a-8ff5-4af5-af"; + Requests[4410] = new DefaultHttpContext(); + Requests[4410].RequestServices = CreateServices(); + Requests[4410].Request.Method = "GET"; + Requests[4410].Request.Path = "/subscriptions/81943dbe-4f1e-/resourceGroups/4bd4163d-22b5-4c0/providers/Microsoft.EventHub/namespaces/e0e74e8a-db67/eventhubs/8efae918-4a4/authorizationRules/e3b4d1f3-5c57-4df6-89"; + Requests[4411] = new DefaultHttpContext(); + Requests[4411].RequestServices = CreateServices(); + Requests[4411].Request.Method = "DELETE"; + Requests[4411].Request.Path = "/subscriptions/959f28da-3a87-/resourceGroups/a5d8b8d9-0ddd-4b8/providers/Microsoft.EventHub/namespaces/d82c3611-4f37/eventhubs/be717fe4-0c1/authorizationRules/881f5660-0e7f-4d6b-b0"; + Requests[4412] = new DefaultHttpContext(); + Requests[4412].RequestServices = CreateServices(); + Requests[4412].Request.Method = "POST"; + Requests[4412].Request.Path = "/subscriptions/3e65f528-de7d-/resourceGroups/6904774f-2d34-482/providers/Microsoft.EventHub/namespaces/f6079328-72a5/eventhubs/b4e8ee4d-086/authorizationRules/fd777eb4-d971-4926-bc"; + Requests[4413] = new DefaultHttpContext(); + Requests[4413].RequestServices = CreateServices(); + Requests[4413].Request.Method = "PUT"; + Requests[4413].Request.Path = "/subscriptions/9b23fe0a-c8a0-/resourceGroups/3750505a-d06f-411/providers/Microsoft.EventHub/namespaces/35464de6-343e/eventhubs/c5df2c70-f33/consumergroups/cd527096-df33-40d"; + Requests[4414] = new DefaultHttpContext(); + Requests[4414].RequestServices = CreateServices(); + Requests[4414].Request.Method = "DELETE"; + Requests[4414].Request.Path = "/subscriptions/2c19af94-7b7b-/resourceGroups/e8c8ee1b-b16b-4a7/providers/Microsoft.EventHub/namespaces/2efc130c-6073/eventhubs/8728bcd1-15c/consumergroups/75491a11-4e96-4e1"; + Requests[4415] = new DefaultHttpContext(); + Requests[4415].RequestServices = CreateServices(); + Requests[4415].Request.Method = "GET"; + Requests[4415].Request.Path = "/subscriptions/4fda9977-0fe5-/resourceGroups/ea8facc6-1b73-426/providers/Microsoft.EventHub/namespaces/729d9b56-c8c0/eventhubs/1bd3f9c2-d8f/consumergroups/e3cf165f-6307-4ac"; + Requests[4416] = new DefaultHttpContext(); + Requests[4416].RequestServices = CreateServices(); + Requests[4416].Request.Method = "GET"; + Requests[4416].Request.Path = "/subscriptions/f1a6e438-3075-/resourceGroups/d4555ef3-bfda-4d7/providers/Microsoft.Fabric.Admin/fabricLocations/eb21462c/logicalNetworks/855d5d9f-e906-/logicalSubnets/a81f0b86-78d9"; + Requests[4417] = new DefaultHttpContext(); + Requests[4417].RequestServices = CreateServices(); + Requests[4417].Request.Method = "GET"; + Requests[4417].Request.Path = "/subscriptions/6cd48ff8-2ab9-/resourceGroups/b769bf33-9730-490/providers/Microsoft.Fabric.Admin/fabricLocations/dab288dd/storageSubSystems/a4f74405-a2a5-48/storagePools/0b23bdd9-6f"; + Requests[4418] = new DefaultHttpContext(); + Requests[4418].RequestServices = CreateServices(); + Requests[4418].Request.Method = "GET"; + Requests[4418].Request.Path = "/subscriptions/987a4d23-fb09-/resourceGroups/c9343880-e495-4fa/providers/Microsoft.InfrastructureInsights.Admin/regionHealths/90485390/serviceHealths/0c513afc-1ec9-45a5-a7/resourceHealths/f2543171-d8ee-49b2-943"; + Requests[4419] = new DefaultHttpContext(); + Requests[4419].RequestServices = CreateServices(); + Requests[4419].Request.Method = "GET"; + Requests[4419].Request.Path = "/subscriptions/402f435f-2498-/resourceGroups/2d935771-9ffb-49d/providers/Microsoft.Logic/workflows/584b588b-afd/runs/0913653/actions/f51d5181-b"; + Requests[4420] = new DefaultHttpContext(); + Requests[4420].RequestServices = CreateServices(); + Requests[4420].Request.Method = "GET"; + Requests[4420].Request.Path = "/subscriptions/59d4c9fd-19a1-/resourceGroups/b548b702-8a20-45e/providers/Microsoft.Logic/workflows/6c08758d-87d/runs/3ab00c8/operations/ee0edd86-69"; + Requests[4421] = new DefaultHttpContext(); + Requests[4421].RequestServices = CreateServices(); + Requests[4421].Request.Method = "GET"; + Requests[4421].Request.Path = "/subscriptions/c1705c90-14d9-/resourceGroups/498269e8-ce9e-49c/providers/Microsoft.Logic/workflows/4cd8ea1e-928/triggers/7ae4f9d8-27/histories/dbed6ea2-75"; + Requests[4422] = new DefaultHttpContext(); + Requests[4422].RequestServices = CreateServices(); + Requests[4422].Request.Method = "PATCH"; + Requests[4422].Request.Path = "/subscriptions/1a064f63-4078-/resourceGroups/912e8cc4-731e-4aa/providers/Microsoft.MachineLearningExperimentation/accounts/7f8efee5-f3/workspaces/8654a7f9-5ba5/projects/ecd615ae-0c"; + Requests[4423] = new DefaultHttpContext(); + Requests[4423].RequestServices = CreateServices(); + Requests[4423].Request.Method = "DELETE"; + Requests[4423].Request.Path = "/subscriptions/718fba67-c745-/resourceGroups/59f585d0-7a8f-47c/providers/Microsoft.MachineLearningExperimentation/accounts/8250ec98-2e/workspaces/4423d1ad-2c90/projects/35a3c507-2c"; + Requests[4424] = new DefaultHttpContext(); + Requests[4424].RequestServices = CreateServices(); + Requests[4424].Request.Method = "GET"; + Requests[4424].Request.Path = "/subscriptions/659585a9-6fb8-/resourceGroups/fc96fefa-d043-4e1/providers/Microsoft.MachineLearningExperimentation/accounts/aa31afed-a1/workspaces/accbbd4c-7a11/projects/1f1c1331-98"; + Requests[4425] = new DefaultHttpContext(); + Requests[4425].RequestServices = CreateServices(); + Requests[4425].Request.Method = "PUT"; + Requests[4425].Request.Path = "/subscriptions/3380cc00-f610-/resourceGroups/f0bb00ca-b633-4ab/providers/Microsoft.MachineLearningExperimentation/accounts/d2fa309e-e3/workspaces/8f252a74-a972/projects/4ede368b-5a"; + Requests[4426] = new DefaultHttpContext(); + Requests[4426].RequestServices = CreateServices(); + Requests[4426].Request.Method = "PUT"; + Requests[4426].Request.Path = "/subscriptions/df128fac-11c7-/resourceGroups/e39f5749-b863-4e3/providers/Microsoft.Media/mediaservices/c00cf84f-80/liveEvents/55e1cbe9-312c/liveOutputs/fac36753-c599-"; + Requests[4427] = new DefaultHttpContext(); + Requests[4427].RequestServices = CreateServices(); + Requests[4427].Request.Method = "DELETE"; + Requests[4427].Request.Path = "/subscriptions/c0fb3528-f034-/resourceGroups/e4c90a12-7031-421/providers/Microsoft.Media/mediaservices/61f703c5-50/liveEvents/5fac18b9-d0f0/liveOutputs/b004db3c-54fc-"; + Requests[4428] = new DefaultHttpContext(); + Requests[4428].RequestServices = CreateServices(); + Requests[4428].Request.Method = "GET"; + Requests[4428].Request.Path = "/subscriptions/edb03389-b39b-/resourceGroups/554b845e-5a2f-42c/providers/Microsoft.Media/mediaservices/e3192b0c-6f/liveEvents/2e6a7962-5a86/liveOutputs/78fd2215-85b9-"; + Requests[4429] = new DefaultHttpContext(); + Requests[4429].RequestServices = CreateServices(); + Requests[4429].Request.Method = "DELETE"; + Requests[4429].Request.Path = "/subscriptions/f56ee134-792d-/resourceGroups/a303eb81-634d-46c/providers/Microsoft.Media/mediaServices/bcd3acba-2d/transforms/48b6a1db-a45a/jobs/33122dc"; + Requests[4430] = new DefaultHttpContext(); + Requests[4430].RequestServices = CreateServices(); + Requests[4430].Request.Method = "GET"; + Requests[4430].Request.Path = "/subscriptions/9f173b10-b8e2-/resourceGroups/a8ea9937-0745-43f/providers/Microsoft.Media/mediaServices/a404b8c4-df/transforms/74da470f-2783/jobs/4b90312"; + Requests[4431] = new DefaultHttpContext(); + Requests[4431].RequestServices = CreateServices(); + Requests[4431].Request.Method = "PUT"; + Requests[4431].Request.Path = "/subscriptions/1e013798-1175-/resourceGroups/aad44fd7-ce3e-464/providers/Microsoft.Media/mediaServices/2eed4e65-9a/transforms/def06628-948f/jobs/466c6b1"; + Requests[4432] = new DefaultHttpContext(); + Requests[4432].RequestServices = CreateServices(); + Requests[4432].Request.Method = "GET"; + Requests[4432].Request.Path = "/subscriptions/ba160b96-6fe3-/resourceGroups/c639fb4a-ecda-403/providers/Microsoft.Migrate/projects/b3ed474e-0b/groups/4d77f8cb-/assessments/f5502f06-4723-"; + Requests[4433] = new DefaultHttpContext(); + Requests[4433].RequestServices = CreateServices(); + Requests[4433].Request.Method = "PUT"; + Requests[4433].Request.Path = "/subscriptions/08e5d772-ecc3-/resourceGroups/b3155527-2859-4cf/providers/Microsoft.Migrate/projects/99791d88-f3/groups/39526bc2-/assessments/6058bee5-10a6-"; + Requests[4434] = new DefaultHttpContext(); + Requests[4434].RequestServices = CreateServices(); + Requests[4434].Request.Method = "DELETE"; + Requests[4434].Request.Path = "/subscriptions/5dbc883f-c99a-/resourceGroups/61c70c5a-2995-499/providers/Microsoft.Migrate/projects/855aef6c-6b/groups/36d72b82-/assessments/572893f1-abea-"; + Requests[4435] = new DefaultHttpContext(); + Requests[4435].RequestServices = CreateServices(); + Requests[4435].Request.Method = "POST"; + Requests[4435].Request.Path = "/subscriptions/2755759a-5c65-/resourceGroups/de27c987-02e0-4e9/providers/Microsoft.Network/expressRouteCircuits/a27b900f-0c/peerings/0db4755b-44/arpTables/cb50151c-0"; + Requests[4436] = new DefaultHttpContext(); + Requests[4436].RequestServices = CreateServices(); + Requests[4436].Request.Method = "DELETE"; + Requests[4436].Request.Path = "/subscriptions/725822f4-8941-/resourceGroups/8a7f0bff-42f2-47a/providers/Microsoft.Network/expressRouteCircuits/7d57f261-8b/peerings/c8f0c66c-64/connections/21fec69c-90c5-"; + Requests[4437] = new DefaultHttpContext(); + Requests[4437].RequestServices = CreateServices(); + Requests[4437].Request.Method = "PUT"; + Requests[4437].Request.Path = "/subscriptions/cf0f2d8d-fee3-/resourceGroups/eb7d39db-61f3-49d/providers/Microsoft.Network/expressRouteCircuits/fa46a525-72/peerings/508b439b-a4/connections/5f754b5e-69b8-"; + Requests[4438] = new DefaultHttpContext(); + Requests[4438].RequestServices = CreateServices(); + Requests[4438].Request.Method = "GET"; + Requests[4438].Request.Path = "/subscriptions/577f43fc-2d2b-/resourceGroups/bddbab9b-f49f-4a4/providers/Microsoft.Network/expressRouteCircuits/76f4a05b-52/peerings/2db1285e-54/connections/9239eeb1-1fc6-"; + Requests[4439] = new DefaultHttpContext(); + Requests[4439].RequestServices = CreateServices(); + Requests[4439].Request.Method = "POST"; + Requests[4439].Request.Path = "/subscriptions/b45bce2c-1fec-/resourceGroups/6dce34d5-1e67-418/providers/Microsoft.Network/expressRouteCircuits/48423cd1-bc/peerings/980a78fd-ef/routeTables/586636d7-2"; + Requests[4440] = new DefaultHttpContext(); + Requests[4440].RequestServices = CreateServices(); + Requests[4440].Request.Method = "POST"; + Requests[4440].Request.Path = "/subscriptions/c41d4d65-2711-/resourceGroups/8c532d55-8165-463/providers/Microsoft.Network/expressRouteCircuits/fc0b9d98-09/peerings/f4f271b0-c9/routeTablesSummary/a0ba4238-a"; + Requests[4441] = new DefaultHttpContext(); + Requests[4441].RequestServices = CreateServices(); + Requests[4441].Request.Method = "POST"; + Requests[4441].Request.Path = "/subscriptions/10072391-ae13-/resourceGroups/47fa6ed6-b47a-445/providers/Microsoft.Network/expressRouteCrossConnections/f32591b1-bc38-4f2b-/peerings/45f19d6d-02/arpTables/cae3d142-0"; + Requests[4442] = new DefaultHttpContext(); + Requests[4442].RequestServices = CreateServices(); + Requests[4442].Request.Method = "POST"; + Requests[4442].Request.Path = "/subscriptions/4f27245e-5834-/resourceGroups/ec73d946-1d3e-463/providers/Microsoft.Network/expressRouteCrossConnections/8ba922a9-68b4-4c1e-/peerings/9f358cb1-a7/routeTables/c9b4c0f2-5"; + Requests[4443] = new DefaultHttpContext(); + Requests[4443].RequestServices = CreateServices(); + Requests[4443].Request.Method = "POST"; + Requests[4443].Request.Path = "/subscriptions/e4dcd2a6-9a0e-/resourceGroups/e5cb2b97-7e19-498/providers/Microsoft.Network/expressRouteCrossConnections/dd7924e8-9dd8-4950-/peerings/81789a51-d1/routeTablesSummary/bd05ec03-f"; + Requests[4444] = new DefaultHttpContext(); + Requests[4444].RequestServices = CreateServices(); + Requests[4444].Request.Method = "PUT"; + Requests[4444].Request.Path = "/subscriptions/d1456a40-000f-/resourceGroups/d8b3b3f0-fb29-4fd/providers/Microsoft.NotificationHubs/namespaces/20e6d6c8-e2ef/notificationHubs/932a269c-9f2e-415b-/AuthorizationRules/a1206545-118c-456c-89"; + Requests[4445] = new DefaultHttpContext(); + Requests[4445].RequestServices = CreateServices(); + Requests[4445].Request.Method = "POST"; + Requests[4445].Request.Path = "/subscriptions/74b71b0c-d508-/resourceGroups/449ba751-8e3f-443/providers/Microsoft.NotificationHubs/namespaces/bdda7366-fd37/notificationHubs/06b7c755-ab99-4bff-/AuthorizationRules/2fb0604a-f907-4eae-9d"; + Requests[4446] = new DefaultHttpContext(); + Requests[4446].RequestServices = CreateServices(); + Requests[4446].Request.Method = "DELETE"; + Requests[4446].Request.Path = "/subscriptions/e9cb26c9-8b17-/resourceGroups/ddd39437-7eb9-4b8/providers/Microsoft.NotificationHubs/namespaces/9e3fc399-3f24/notificationHubs/11fec0d7-21c1-483d-/AuthorizationRules/ca4140af-1580-480f-97"; + Requests[4447] = new DefaultHttpContext(); + Requests[4447].RequestServices = CreateServices(); + Requests[4447].Request.Method = "GET"; + Requests[4447].Request.Path = "/subscriptions/66b51505-a5a7-/resourceGroups/4f261dfe-57a0-4e8/providers/Microsoft.NotificationHubs/namespaces/3e869de4-98d3/notificationHubs/48d76539-3a19-4464-/AuthorizationRules/6369a8da-6f81-4ffd-9b"; + Requests[4448] = new DefaultHttpContext(); + Requests[4448].RequestServices = CreateServices(); + Requests[4448].Request.Method = "GET"; + Requests[4448].Request.Path = "/Subscriptions/cdd9e450-4f8f-/resourceGroups/c4281b30-0855-4e0/providers/Microsoft.RecoveryServices/vaults/ab22a6cd-7f8/replicationFabrics/81208aef-7/replicationLogicalNetworks/995ebd45-6700-4cd4"; + Requests[4449] = new DefaultHttpContext(); + Requests[4449].RequestServices = CreateServices(); + Requests[4449].Request.Method = "GET"; + Requests[4449].Request.Path = "/Subscriptions/06897a2f-8da8-/resourceGroups/360e2d8f-0abe-413/providers/Microsoft.RecoveryServices/vaults/de5c2c26-404/replicationFabrics/adb14c00-2/replicationNetworks/d592b102-b1"; + Requests[4450] = new DefaultHttpContext(); + Requests[4450].RequestServices = CreateServices(); + Requests[4450].Request.Method = "GET"; + Requests[4450].Request.Path = "/Subscriptions/1bea81fd-46a2-/resourceGroups/d2c8708f-144a-43a/providers/Microsoft.RecoveryServices/vaults/e3a41592-94e/replicationFabrics/cba0e37b-1/replicationProtectionContainers/ffb00a70-b986-4735-90ef"; + Requests[4451] = new DefaultHttpContext(); + Requests[4451].RequestServices = CreateServices(); + Requests[4451].Request.Method = "PUT"; + Requests[4451].Request.Path = "/Subscriptions/d923dad7-53fc-/resourceGroups/82b4eec5-0ac8-4e8/providers/Microsoft.RecoveryServices/vaults/6f1a8e49-6c1/replicationFabrics/be193d53-9/replicationProtectionContainers/1b5155fb-3935-42e7-9901"; + Requests[4452] = new DefaultHttpContext(); + Requests[4452].RequestServices = CreateServices(); + Requests[4452].Request.Method = "GET"; + Requests[4452].Request.Path = "/Subscriptions/4c969d3f-0271-/resourceGroups/bd49011c-5c22-470/providers/Microsoft.RecoveryServices/vaults/81eb09be-bae/replicationFabrics/e4f77a51-3/replicationRecoveryServicesProviders/9a4eb051-cec"; + Requests[4453] = new DefaultHttpContext(); + Requests[4453].RequestServices = CreateServices(); + Requests[4453].Request.Method = "DELETE"; + Requests[4453].Request.Path = "/Subscriptions/53012660-8d69-/resourceGroups/189eb8c9-5f82-41d/providers/Microsoft.RecoveryServices/vaults/39754150-b8c/replicationFabrics/069622a4-7/replicationRecoveryServicesProviders/e4492308-e1d"; + Requests[4454] = new DefaultHttpContext(); + Requests[4454].RequestServices = CreateServices(); + Requests[4454].Request.Method = "GET"; + Requests[4454].Request.Path = "/Subscriptions/44dc83ed-bcb1-/resourceGroups/42107cb1-cda4-47d/providers/Microsoft.RecoveryServices/vaults/25ed8e14-033/replicationFabrics/0d7a47da-c/replicationStorageClassifications/87a95ae6-abc9-41c3-858a-b"; + Requests[4455] = new DefaultHttpContext(); + Requests[4455].RequestServices = CreateServices(); + Requests[4455].Request.Method = "PUT"; + Requests[4455].Request.Path = "/Subscriptions/7285a7f9-65f8-/resourceGroups/38765f53-5317-496/providers/Microsoft.RecoveryServices/vaults/df48d950-4f7/replicationFabrics/23eb5ba8-d/replicationvCenters/2c01d786-65"; + Requests[4456] = new DefaultHttpContext(); + Requests[4456].RequestServices = CreateServices(); + Requests[4456].Request.Method = "PATCH"; + Requests[4456].Request.Path = "/Subscriptions/3b55b13c-499f-/resourceGroups/c3e783ea-3448-4b0/providers/Microsoft.RecoveryServices/vaults/318f0100-295/replicationFabrics/88f610d0-6/replicationvCenters/67bd2ecc-66"; + Requests[4457] = new DefaultHttpContext(); + Requests[4457].RequestServices = CreateServices(); + Requests[4457].Request.Method = "DELETE"; + Requests[4457].Request.Path = "/Subscriptions/9e7aec8b-fd5f-/resourceGroups/c88f27bb-e9fe-407/providers/Microsoft.RecoveryServices/vaults/a4f1b8f2-80f/replicationFabrics/f56c93cc-d/replicationvCenters/3d885b4a-24"; + Requests[4458] = new DefaultHttpContext(); + Requests[4458].RequestServices = CreateServices(); + Requests[4458].Request.Method = "GET"; + Requests[4458].Request.Path = "/Subscriptions/8f3f220d-faa4-/resourceGroups/39513b82-e7ac-4a2/providers/Microsoft.RecoveryServices/vaults/35b914d7-955/replicationFabrics/a14ac938-0/replicationvCenters/cc36812c-11"; + Requests[4459] = new DefaultHttpContext(); + Requests[4459].RequestServices = CreateServices(); + Requests[4459].Request.Method = "PUT"; + Requests[4459].Request.Path = "/Subscriptions/858cb863-5245-/resourceGroups/992c7073-10c6-4ed/providers/Microsoft.RecoveryServices/vaults/88f00b9a-/backupFabrics/51fa5349-d/backupProtectionIntent/ad7a7a83-de86-4e"; + Requests[4460] = new DefaultHttpContext(); + Requests[4460].RequestServices = CreateServices(); + Requests[4460].Request.Method = "GET"; + Requests[4460].Request.Path = "/Subscriptions/6951d392-6f19-/resourceGroups/ae7128bf-d8fc-4e8/providers/Microsoft.RecoveryServices/vaults/45c57af9-/backupFabrics/6322d600-e/operationResults/ad00d676-c6"; + Requests[4461] = new DefaultHttpContext(); + Requests[4461].RequestServices = CreateServices(); + Requests[4461].Request.Method = "DELETE"; + Requests[4461].Request.Path = "/Subscriptions/2362be26-7c44-/resourceGroups/1b40273d-9f9f-405/providers/Microsoft.RecoveryServices/vaults/c5fd8ebc-/backupFabrics/33ac99fa-5/protectionContainers/a25b0104-fd77"; + Requests[4462] = new DefaultHttpContext(); + Requests[4462].RequestServices = CreateServices(); + Requests[4462].Request.Method = "PUT"; + Requests[4462].Request.Path = "/Subscriptions/2318d8c1-7746-/resourceGroups/18499df2-4e1e-4c8/providers/Microsoft.RecoveryServices/vaults/2f782516-/backupFabrics/37c77949-2/protectionContainers/e6443de0-9a9e"; + Requests[4463] = new DefaultHttpContext(); + Requests[4463].RequestServices = CreateServices(); + Requests[4463].Request.Method = "GET"; + Requests[4463].Request.Path = "/Subscriptions/057606f5-d54c-/resourceGroups/ea7545ed-7b81-4e8/providers/Microsoft.RecoveryServices/vaults/cd6760a1-/backupFabrics/d8e28565-a/protectionContainers/87a422cb-e402"; + Requests[4464] = new DefaultHttpContext(); + Requests[4464].RequestServices = CreateServices(); + Requests[4464].Request.Method = "GET"; + Requests[4464].Request.Path = "/Subscriptions/b59531b2-c13e-/resourceGroups/8ad5f788-513a-495/providers/Microsoft.RecoveryServices/vaults/d42a0ab5-/backupJobs/bb7ce57/operationResults/e5fce4ad-9a"; + Requests[4465] = new DefaultHttpContext(); + Requests[4465].RequestServices = CreateServices(); + Requests[4465].Request.Method = "GET"; + Requests[4465].Request.Path = "/Subscriptions/d7926ea0-ea5c-/resourceGroups/05b922dc-bab1-411/providers/Microsoft.RecoveryServices/vaults/6e561c6c-/backupPolicies/3ee2f6e2-2/operationResults/867ff175-25"; + Requests[4466] = new DefaultHttpContext(); + Requests[4466].RequestServices = CreateServices(); + Requests[4466].Request.Method = "GET"; + Requests[4466].Request.Path = "/Subscriptions/1eece1bc-3568-/resourceGroups/ffd748c0-3ea3-465/providers/Microsoft.RecoveryServices/vaults/51ed241e-/backupPolicies/69dcf757-0/operations/426449bd-4a"; + Requests[4467] = new DefaultHttpContext(); + Requests[4467].RequestServices = CreateServices(); + Requests[4467].Request.Method = "GET"; + Requests[4467].Request.Path = "/subscriptions/47ac0eed-133d-/resourceGroups/4771e9d0-ce77-4d4/providers/Microsoft.Relay/namespaces/2d80e95e-0229/hybridConnections/380dff0e-98e0-414f-8/authorizationRules/65796472-ee4b-497d-90"; + Requests[4468] = new DefaultHttpContext(); + Requests[4468].RequestServices = CreateServices(); + Requests[4468].Request.Method = "DELETE"; + Requests[4468].Request.Path = "/subscriptions/060c60eb-5321-/resourceGroups/1ed97bcf-49e5-400/providers/Microsoft.Relay/namespaces/b88dc137-522b/hybridConnections/da23e506-1f6b-43dc-8/authorizationRules/84af15c2-9204-4cb7-96"; + Requests[4469] = new DefaultHttpContext(); + Requests[4469].RequestServices = CreateServices(); + Requests[4469].Request.Method = "PUT"; + Requests[4469].Request.Path = "/subscriptions/5ee12e16-6331-/resourceGroups/37e0d680-c682-494/providers/Microsoft.Relay/namespaces/286f534b-3221/hybridConnections/e95f3417-559d-4482-9/authorizationRules/a181985e-2579-4176-99"; + Requests[4470] = new DefaultHttpContext(); + Requests[4470].RequestServices = CreateServices(); + Requests[4470].Request.Method = "POST"; + Requests[4470].Request.Path = "/subscriptions/f45741cd-3102-/resourceGroups/abcdcc1a-b67e-41e/providers/Microsoft.Relay/namespaces/4905dbd2-09de/HybridConnections/ad2735fe-f5bf-4b3f-8/authorizationRules/e83152ec-3610-42c5-a5"; + Requests[4471] = new DefaultHttpContext(); + Requests[4471].RequestServices = CreateServices(); + Requests[4471].Request.Method = "GET"; + Requests[4471].Request.Path = "/subscriptions/e80422ab-d73f-/resourceGroups/cc94b3e2-2373-4e9/providers/Microsoft.Relay/namespaces/7636200d-3c6f/wcfRelays/4cb6fe5b-/authorizationRules/a7889d2b-f498-47f0-8e"; + Requests[4472] = new DefaultHttpContext(); + Requests[4472].RequestServices = CreateServices(); + Requests[4472].Request.Method = "PUT"; + Requests[4472].Request.Path = "/subscriptions/14b85444-4a3c-/resourceGroups/e3a974b3-9d1d-437/providers/Microsoft.Relay/namespaces/0e3a1c58-298b/wcfRelays/0e4a9390-/authorizationRules/9f373eb1-71e6-42a1-bd"; + Requests[4473] = new DefaultHttpContext(); + Requests[4473].RequestServices = CreateServices(); + Requests[4473].Request.Method = "DELETE"; + Requests[4473].Request.Path = "/subscriptions/c95c55de-2518-/resourceGroups/70188c2f-c06c-449/providers/Microsoft.Relay/namespaces/e910c926-e741/wcfRelays/7f089377-/authorizationRules/dd27602d-5481-47d7-95"; + Requests[4474] = new DefaultHttpContext(); + Requests[4474].RequestServices = CreateServices(); + Requests[4474].Request.Method = "POST"; + Requests[4474].Request.Path = "/subscriptions/691e7b00-8613-/resourceGroups/99ee2718-fc86-431/providers/Microsoft.Relay/namespaces/758f80c6-f67c/WcfRelays/5f15e9a0-/authorizationRules/d9a4e8ff-5fc4-4bdd-bf"; + Requests[4475] = new DefaultHttpContext(); + Requests[4475].RequestServices = CreateServices(); + Requests[4475].Request.Method = "GET"; + Requests[4475].Request.Path = "/subscriptions/9d40a130-998b-/resourceGroups/fbc43114-4f48-412/providers/Microsoft.ServiceBus/namespaces/36128f66-bbf4/disasterRecoveryConfigs/ef6dd/AuthorizationRules/5f591c39-4427-4b4e-89"; + Requests[4476] = new DefaultHttpContext(); + Requests[4476].RequestServices = CreateServices(); + Requests[4476].Request.Method = "GET"; + Requests[4476].Request.Path = "/subscriptions/60ffb837-2b46-/resourceGroups/79b2d755-3a84-4bf/providers/Microsoft.ServiceBus/namespaces/f7c19a45-8f5a/eventhubs/94e83d7f-0b1/authorizationRules/9e560758-b77c-4035-b3"; + Requests[4477] = new DefaultHttpContext(); + Requests[4477].RequestServices = CreateServices(); + Requests[4477].Request.Method = "GET"; + Requests[4477].Request.Path = "/subscriptions/d338c503-9167-/resourceGroups/3e201cdc-9bb5-49b/providers/Microsoft.ServiceBus/namespaces/225feba2-2292/queues/1549942b-/authorizationRules/2c5d65e1-dbc2-4a57-84"; + Requests[4478] = new DefaultHttpContext(); + Requests[4478].RequestServices = CreateServices(); + Requests[4478].Request.Method = "POST"; + Requests[4478].Request.Path = "/subscriptions/3c113b2b-a005-/resourceGroups/4aeeaccb-74cf-49e/providers/Microsoft.ServiceBus/namespaces/36741172-a808/queues/67c96d4e-/authorizationRules/86514621-4f69-430d-97"; + Requests[4479] = new DefaultHttpContext(); + Requests[4479].RequestServices = CreateServices(); + Requests[4479].Request.Method = "DELETE"; + Requests[4479].Request.Path = "/subscriptions/749d31c6-4628-/resourceGroups/47420dd3-d714-48d/providers/Microsoft.ServiceBus/namespaces/e9797fdd-827c/queues/475e01d3-/authorizationRules/ed208ace-5fee-43d1-b3"; + Requests[4480] = new DefaultHttpContext(); + Requests[4480].RequestServices = CreateServices(); + Requests[4480].Request.Method = "PUT"; + Requests[4480].Request.Path = "/subscriptions/41408cdb-3d2b-/resourceGroups/3e7d049b-6d85-48c/providers/Microsoft.ServiceBus/namespaces/e990282e-63fc/queues/49f42514-/authorizationRules/1eac5786-095b-4bd0-9b"; + Requests[4481] = new DefaultHttpContext(); + Requests[4481].RequestServices = CreateServices(); + Requests[4481].Request.Method = "PUT"; + Requests[4481].Request.Path = "/subscriptions/40274d98-85bc-/resourceGroups/cc15b62b-d4c8-433/providers/Microsoft.ServiceBus/namespaces/80ffe563-f895/topics/7416f8b7-/authorizationRules/09d754b3-0ab4-41c3-98"; + Requests[4482] = new DefaultHttpContext(); + Requests[4482].RequestServices = CreateServices(); + Requests[4482].Request.Method = "GET"; + Requests[4482].Request.Path = "/subscriptions/7279b54c-97bd-/resourceGroups/34b07cc8-ef3d-4ec/providers/Microsoft.ServiceBus/namespaces/11f80720-5ac5/topics/03958773-/authorizationRules/222eae8f-13ef-45ad-90"; + Requests[4483] = new DefaultHttpContext(); + Requests[4483].RequestServices = CreateServices(); + Requests[4483].Request.Method = "DELETE"; + Requests[4483].Request.Path = "/subscriptions/286509fe-8726-/resourceGroups/54405b4d-7dff-4df/providers/Microsoft.ServiceBus/namespaces/6ba95a96-90d0/topics/41563381-/authorizationRules/0c514c0b-990f-44ae-b5"; + Requests[4484] = new DefaultHttpContext(); + Requests[4484].RequestServices = CreateServices(); + Requests[4484].Request.Method = "POST"; + Requests[4484].Request.Path = "/subscriptions/2292c893-7ef7-/resourceGroups/3e3b7a11-9ee9-427/providers/Microsoft.ServiceBus/namespaces/e5ade1df-5c42/topics/07630d75-/authorizationRules/d7ae4e81-e828-403b-a4"; + Requests[4485] = new DefaultHttpContext(); + Requests[4485].RequestServices = CreateServices(); + Requests[4485].Request.Method = "PUT"; + Requests[4485].Request.Path = "/subscriptions/ba8ce476-a8e1-/resourceGroups/7bb9eb81-4b02-442/providers/Microsoft.ServiceBus/namespaces/138f0ffd-ba8f/topics/1f3bd577-/subscriptions/c4d2d094-1af4-44"; + Requests[4486] = new DefaultHttpContext(); + Requests[4486].RequestServices = CreateServices(); + Requests[4486].Request.Method = "GET"; + Requests[4486].Request.Path = "/subscriptions/4d7a7799-49c1-/resourceGroups/e7247d9a-900f-4e6/providers/Microsoft.ServiceBus/namespaces/adebda40-9173/topics/2f8e954f-/subscriptions/c3a6d85c-d7ad-4a"; + Requests[4487] = new DefaultHttpContext(); + Requests[4487].RequestServices = CreateServices(); + Requests[4487].Request.Method = "DELETE"; + Requests[4487].Request.Path = "/subscriptions/be3969a8-dc8c-/resourceGroups/23694471-4f32-4b8/providers/Microsoft.ServiceBus/namespaces/41275aae-29ab/topics/644228ed-/subscriptions/edab250e-d193-46"; + Requests[4488] = new DefaultHttpContext(); + Requests[4488].RequestServices = CreateServices(); + Requests[4488].Request.Method = "PATCH"; + Requests[4488].Request.Path = "/subscriptions/c9d62b93-78b9-/resourceGroups/928d366d-cb1a-4c0/providers/Microsoft.ServiceFabric/clusters/37805ab0-7e/applications/5d7a9b09-56ce-4/services/bee45205-6f"; + Requests[4489] = new DefaultHttpContext(); + Requests[4489].RequestServices = CreateServices(); + Requests[4489].Request.Method = "DELETE"; + Requests[4489].Request.Path = "/subscriptions/5d82b7f2-be03-/resourceGroups/83f2d26a-71a4-42f/providers/Microsoft.ServiceFabric/clusters/b9e0c82c-39/applications/c300c11f-e79a-4/services/f5d48cdf-a0"; + Requests[4490] = new DefaultHttpContext(); + Requests[4490].RequestServices = CreateServices(); + Requests[4490].Request.Method = "PUT"; + Requests[4490].Request.Path = "/subscriptions/8bf33e4f-3674-/resourceGroups/65df01aa-57a4-4da/providers/Microsoft.ServiceFabric/clusters/bed2fde6-30/applications/cb8ee2b0-9b26-4/services/4417eded-ef"; + Requests[4491] = new DefaultHttpContext(); + Requests[4491].RequestServices = CreateServices(); + Requests[4491].Request.Method = "GET"; + Requests[4491].Request.Path = "/subscriptions/ed0b04d5-f1ae-/resourceGroups/492b9b89-74ec-420/providers/Microsoft.ServiceFabric/clusters/2ff674df-95/applications/ed248691-24a8-4/services/3518bf5c-8f"; + Requests[4492] = new DefaultHttpContext(); + Requests[4492].RequestServices = CreateServices(); + Requests[4492].Request.Method = "GET"; + Requests[4492].Request.Path = "/subscriptions/b65e91d1-c69d-/resourceGroups/0a5c715a-cbe4-4f3/providers/Microsoft.ServiceFabric/clusters/c40d08ee-a8/applicationTypes/d31ee81d-e8b0-4c98-/versions/56705f4"; + Requests[4493] = new DefaultHttpContext(); + Requests[4493].RequestServices = CreateServices(); + Requests[4493].Request.Method = "PUT"; + Requests[4493].Request.Path = "/subscriptions/cc18eb3e-4aaf-/resourceGroups/f2739850-355b-4d2/providers/Microsoft.ServiceFabric/clusters/2b642b9e-ab/applicationTypes/9be418c1-6103-4049-/versions/e686d77"; + Requests[4494] = new DefaultHttpContext(); + Requests[4494].RequestServices = CreateServices(); + Requests[4494].Request.Method = "DELETE"; + Requests[4494].Request.Path = "/subscriptions/a97357bb-3d83-/resourceGroups/e8dcc9af-6501-443/providers/Microsoft.ServiceFabric/clusters/84618f76-15/applicationTypes/e77abe13-0447-47e9-/versions/ebac2cb"; + Requests[4495] = new DefaultHttpContext(); + Requests[4495].RequestServices = CreateServices(); + Requests[4495].Request.Method = "GET"; + Requests[4495].Request.Path = "/subscriptions/22429bd9-ef1d-/resourceGroups/13629c96-ad68-44d/providers/Microsoft.Sql/servers/dcb528c3-1/databases/cdf2b4a9-e07/advisors/87cdc2e3-74"; + Requests[4496] = new DefaultHttpContext(); + Requests[4496].RequestServices = CreateServices(); + Requests[4496].Request.Method = "PATCH"; + Requests[4496].Request.Path = "/subscriptions/5653ae2b-8f6f-/resourceGroups/bccea365-d82d-4d8/providers/Microsoft.Sql/servers/e87e951e-1/databases/35452763-24a/advisors/fdf89806-d9"; + Requests[4497] = new DefaultHttpContext(); + Requests[4497].RequestServices = CreateServices(); + Requests[4497].Request.Method = "PUT"; + Requests[4497].Request.Path = "/subscriptions/3f53d93e-5130-/resourceGroups/1cc5cbfb-b6c6-4ae/providers/Microsoft.Sql/servers/e110f26d-7/databases/f76d6f57-469/advisors/9a4fef69-f8"; + Requests[4498] = new DefaultHttpContext(); + Requests[4498].RequestServices = CreateServices(); + Requests[4498].Request.Method = "GET"; + Requests[4498].Request.Path = "/subscriptions/fd1b8609-5f7d-/resourceGroups/d04b3e7f-ff6e-4c5/providers/Microsoft.Sql/servers/0bd40985-4/databases/3feaa4e1-3d3/auditingPolicies/c89abdc8-5cc9-4529-a585"; + Requests[4499] = new DefaultHttpContext(); + Requests[4499].RequestServices = CreateServices(); + Requests[4499].Request.Method = "PUT"; + Requests[4499].Request.Path = "/subscriptions/b0a01f5f-0c70-/resourceGroups/1bf22e71-6788-403/providers/Microsoft.Sql/servers/6ca633aa-9/databases/3c8cbcf8-463/auditingPolicies/8124d57e-2c60-43d3-90c5"; + Requests[4500] = new DefaultHttpContext(); + Requests[4500].RequestServices = CreateServices(); + Requests[4500].Request.Method = "GET"; + Requests[4500].Request.Path = "/subscriptions/fb29fdf0-f7d8-/resourceGroups/2ec92452-92c3-4a0/providers/Microsoft.Sql/servers/a7813ec8-7/databases/be23f818-d57/auditingSettings/6bc25ec6-38fe-457d-9af"; + Requests[4501] = new DefaultHttpContext(); + Requests[4501].RequestServices = CreateServices(); + Requests[4501].Request.Method = "PUT"; + Requests[4501].Request.Path = "/subscriptions/81b672e5-d4da-/resourceGroups/7b43f0ac-23fb-46c/providers/Microsoft.Sql/servers/c08383a9-6/databases/a291c386-793/auditingSettings/624e1fcc-23c8-40d7-ae9"; + Requests[4502] = new DefaultHttpContext(); + Requests[4502].RequestServices = CreateServices(); + Requests[4502].Request.Method = "GET"; + Requests[4502].Request.Path = "/subscriptions/c1974cdf-beba-/resourceGroups/6bcfdada-36ec-40f/providers/Microsoft.Sql/servers/2e129073-5/databases/f5e67cbb-009/backupLongTermRetentionPolicies/889d5159-76e6-4728-8d30-867071e68"; + Requests[4503] = new DefaultHttpContext(); + Requests[4503].RequestServices = CreateServices(); + Requests[4503].Request.Method = "PUT"; + Requests[4503].Request.Path = "/subscriptions/70f42522-13ca-/resourceGroups/8bdbd738-b587-420/providers/Microsoft.Sql/servers/42fe80e3-2/databases/1086ff63-62f/backupLongTermRetentionPolicies/67e26f48-af03-4745-947f-1eeb1725b"; + Requests[4504] = new DefaultHttpContext(); + Requests[4504].RequestServices = CreateServices(); + Requests[4504].Request.Method = "PATCH"; + Requests[4504].Request.Path = "/subscriptions/9c61262a-e46d-/resourceGroups/f9c36fbf-1791-403/providers/Microsoft.Sql/servers/7851ae1d-b/databases/5c2e0556-1b3/backupShortTermRetentionPolicies/13ba7ed1-9"; + Requests[4505] = new DefaultHttpContext(); + Requests[4505].RequestServices = CreateServices(); + Requests[4505].Request.Method = "PUT"; + Requests[4505].Request.Path = "/subscriptions/88776d41-d196-/resourceGroups/431fe17b-b512-49c/providers/Microsoft.Sql/servers/7bff09b0-c/databases/b7f4ccbb-696/backupShortTermRetentionPolicies/4be324e4-e"; + Requests[4506] = new DefaultHttpContext(); + Requests[4506].RequestServices = CreateServices(); + Requests[4506].Request.Method = "GET"; + Requests[4506].Request.Path = "/subscriptions/2c9d04eb-edd0-/resourceGroups/7e9b9090-c706-420/providers/Microsoft.Sql/servers/7b6de07a-1/databases/26af1f3c-f01/backupShortTermRetentionPolicies/195e1218-6"; + Requests[4507] = new DefaultHttpContext(); + Requests[4507].RequestServices = CreateServices(); + Requests[4507].Request.Method = "GET"; + Requests[4507].Request.Path = "/subscriptions/49fc5f89-8998-/resourceGroups/5e7216a8-45f4-43e/providers/Microsoft.Sql/servers/ec9a3a69-6/databases/3fb1655b-01e/connectionPolicies/f277b1ad-8417-49e0-8"; + Requests[4508] = new DefaultHttpContext(); + Requests[4508].RequestServices = CreateServices(); + Requests[4508].Request.Method = "PUT"; + Requests[4508].Request.Path = "/subscriptions/ad036033-c32e-/resourceGroups/8b14a549-ea4a-44d/providers/Microsoft.Sql/servers/54397e5e-d/databases/0fcd8511-8db/connectionPolicies/a97b9f85-327b-45d2-9"; + Requests[4509] = new DefaultHttpContext(); + Requests[4509].RequestServices = CreateServices(); + Requests[4509].Request.Method = "GET"; + Requests[4509].Request.Path = "/subscriptions/01e219d7-7ba3-/resourceGroups/586289ad-7a28-41f/providers/Microsoft.Sql/servers/8a322a70-c/databases/d7621faa-1b8/dataMaskingPolicies/36b63ef3-c40c-4c68-97"; + Requests[4510] = new DefaultHttpContext(); + Requests[4510].RequestServices = CreateServices(); + Requests[4510].Request.Method = "PUT"; + Requests[4510].Request.Path = "/subscriptions/be670cb0-f40c-/resourceGroups/d73d5631-9bac-423/providers/Microsoft.Sql/servers/fa93ebaa-c/databases/845e3ca0-e70/dataMaskingPolicies/07c8925c-3215-4858-82"; + Requests[4511] = new DefaultHttpContext(); + Requests[4511].RequestServices = CreateServices(); + Requests[4511].Request.Method = "GET"; + Requests[4511].Request.Path = "/subscriptions/258c8a56-ac1f-/resourceGroups/42fc00e4-b852-441/providers/Microsoft.Sql/servers/1d7753dc-6/databases/02a0fd31-ced/dataWarehouseUserActivities/81c33476-b11a-447a-9814-29176"; + Requests[4512] = new DefaultHttpContext(); + Requests[4512].RequestServices = CreateServices(); + Requests[4512].Request.Method = "PUT"; + Requests[4512].Request.Path = "/subscriptions/c74d7c69-9aaa-/resourceGroups/56cacb96-f951-4d3/providers/Microsoft.Sql/servers/c8806a7d-8/databases/064c89e2-65c/extensions/7bc53efd-f90d"; + Requests[4513] = new DefaultHttpContext(); + Requests[4513].RequestServices = CreateServices(); + Requests[4513].Request.Method = "GET"; + Requests[4513].Request.Path = "/subscriptions/2cbbef57-0474-/resourceGroups/19dd9497-1da0-4dc/providers/Microsoft.Sql/servers/a8c4cfc6-e/databases/9b60d6e6-b3d/geoBackupPolicies/9f9ec187-4dc6-48e8-"; + Requests[4514] = new DefaultHttpContext(); + Requests[4514].RequestServices = CreateServices(); + Requests[4514].Request.Method = "PUT"; + Requests[4514].Request.Path = "/subscriptions/99ad9b35-154b-/resourceGroups/5682f149-f5d5-482/providers/Microsoft.Sql/servers/b537b357-e/databases/faee1d23-1ac/geoBackupPolicies/e1bee0fe-f1c5-40e1-"; + Requests[4515] = new DefaultHttpContext(); + Requests[4515].RequestServices = CreateServices(); + Requests[4515].Request.Method = "GET"; + Requests[4515].Request.Path = "/subscriptions/4dedea09-4f27-/resourceGroups/aaee8bf2-fa1f-43e/providers/Microsoft.Sql/servers/2c763e91-4/databases/7df93deb-fd9/replicationLinks/7cc377"; + Requests[4516] = new DefaultHttpContext(); + Requests[4516].RequestServices = CreateServices(); + Requests[4516].Request.Method = "DELETE"; + Requests[4516].Request.Path = "/subscriptions/f2b6a1a9-81cb-/resourceGroups/2121e4c3-fd84-45c/providers/Microsoft.Sql/servers/870672d2-e/databases/3602174a-363/replicationLinks/098b45"; + Requests[4517] = new DefaultHttpContext(); + Requests[4517].RequestServices = CreateServices(); + Requests[4517].Request.Method = "DELETE"; + Requests[4517].Request.Path = "/subscriptions/1308755e-0c21-/resourceGroups/f89597f3-f535-44e/providers/Microsoft.Sql/servers/7b91a1b9-2/databases/516f5853-22f/restorePoints/f42ea6dc-2361-4f"; + Requests[4518] = new DefaultHttpContext(); + Requests[4518].RequestServices = CreateServices(); + Requests[4518].Request.Method = "GET"; + Requests[4518].Request.Path = "/subscriptions/39b49b16-0d55-/resourceGroups/f66d2eec-0c3a-4c6/providers/Microsoft.Sql/servers/4cfd0ea0-0/databases/e3628eac-877/restorePoints/0c46238a-339b-43"; + Requests[4519] = new DefaultHttpContext(); + Requests[4519].RequestServices = CreateServices(); + Requests[4519].Request.Method = "PUT"; + Requests[4519].Request.Path = "/subscriptions/51e4847d-0403-/resourceGroups/9f16b6b6-9b72-4ac/providers/Microsoft.Sql/servers/824c39d4-8/databases/9fc51aa9-4ce/securityAlertPolicies/c7920286-6399-4494-abf1"; + Requests[4520] = new DefaultHttpContext(); + Requests[4520].RequestServices = CreateServices(); + Requests[4520].Request.Method = "GET"; + Requests[4520].Request.Path = "/subscriptions/54fc9a41-7b78-/resourceGroups/727093dc-cc6c-4a4/providers/Microsoft.Sql/servers/6f90a8f5-a/databases/c6e56975-243/securityAlertPolicies/dfd51533-bb6b-4b61-b2ce"; + Requests[4521] = new DefaultHttpContext(); + Requests[4521].RequestServices = CreateServices(); + Requests[4521].Request.Method = "GET"; + Requests[4521].Request.Path = "/subscriptions/1167c9e6-20ba-/resourceGroups/b0d8d6e7-9fd5-443/providers/Microsoft.Sql/servers/baefe578-d/databases/6942b82c-9fd/serviceTierAdvisors/57578aff-ed17-441d-af3"; + Requests[4522] = new DefaultHttpContext(); + Requests[4522].RequestServices = CreateServices(); + Requests[4522].Request.Method = "GET"; + Requests[4522].Request.Path = "/subscriptions/dd1d6216-cceb-/resourceGroups/1552b142-b2aa-400/providers/Microsoft.Sql/servers/0c5fa366-b/databases/d4291900-390/syncGroups/74f83a44-37e0"; + Requests[4523] = new DefaultHttpContext(); + Requests[4523].RequestServices = CreateServices(); + Requests[4523].Request.Method = "PATCH"; + Requests[4523].Request.Path = "/subscriptions/dcb88a58-fa1a-/resourceGroups/8e434d35-27ed-416/providers/Microsoft.Sql/servers/d956a391-e/databases/0bbc995b-d46/syncGroups/4e309e41-8c64"; + Requests[4524] = new DefaultHttpContext(); + Requests[4524].RequestServices = CreateServices(); + Requests[4524].Request.Method = "DELETE"; + Requests[4524].Request.Path = "/subscriptions/fa75bdbd-84a4-/resourceGroups/bcb45b89-b296-444/providers/Microsoft.Sql/servers/25da84cb-a/databases/2759d491-827/syncGroups/b47f1421-0393"; + Requests[4525] = new DefaultHttpContext(); + Requests[4525].RequestServices = CreateServices(); + Requests[4525].Request.Method = "PUT"; + Requests[4525].Request.Path = "/subscriptions/046f9886-55b3-/resourceGroups/ecd3d628-a690-411/providers/Microsoft.Sql/servers/fd529180-3/databases/c3d44f9b-6b8/syncGroups/0c6438bb-8fb9"; + Requests[4526] = new DefaultHttpContext(); + Requests[4526].RequestServices = CreateServices(); + Requests[4526].Request.Method = "PUT"; + Requests[4526].Request.Path = "/subscriptions/9ff977ab-9b5f-/resourceGroups/fd3abce9-0c39-497/providers/Microsoft.Sql/servers/0e22ac00-2/databases/c93d9985-6bd/transparentDataEncryption/7003a46b-a9ab-423b-9424-c448d"; + Requests[4527] = new DefaultHttpContext(); + Requests[4527].RequestServices = CreateServices(); + Requests[4527].Request.Method = "GET"; + Requests[4527].Request.Path = "/subscriptions/e6253e97-aa3c-/resourceGroups/81b74a90-13b9-48f/providers/Microsoft.Sql/servers/5a9559cd-0/databases/3c745ee5-21b/transparentDataEncryption/8718aa71-6ca4-4128-b483-72050"; + Requests[4528] = new DefaultHttpContext(); + Requests[4528].RequestServices = CreateServices(); + Requests[4528].Request.Method = "PUT"; + Requests[4528].Request.Path = "/subscriptions/134403da-d180-/resourceGroups/6c7a4109-c70f-479/providers/Microsoft.Sql/servers/8eed49bc-e/databases/3c6e2eb1-515/vulnerabilityAssessments/1e232ed7-3aa2-4008-8b6c-83f"; + Requests[4529] = new DefaultHttpContext(); + Requests[4529].RequestServices = CreateServices(); + Requests[4529].Request.Method = "DELETE"; + Requests[4529].Request.Path = "/subscriptions/f6fcc18e-6b57-/resourceGroups/224fc884-553f-4eb/providers/Microsoft.Sql/servers/bf7ffb5d-7/databases/d445f03e-915/vulnerabilityAssessments/210021ca-6b48-433e-a66a-d47"; + Requests[4530] = new DefaultHttpContext(); + Requests[4530].RequestServices = CreateServices(); + Requests[4530].Request.Method = "GET"; + Requests[4530].Request.Path = "/subscriptions/9e70092f-a65b-/resourceGroups/ba976dee-a91d-4a9/providers/Microsoft.Sql/servers/2bc1c8e2-e/databases/e5bcafdd-5dc/vulnerabilityAssessments/4558f911-b93b-4f9a-9a2c-742"; + Requests[4531] = new DefaultHttpContext(); + Requests[4531].RequestServices = CreateServices(); + Requests[4531].Request.Method = "GET"; + Requests[4531].Request.Path = "/subscriptions/777139d3-7d35-/resourceGroups/790983e3-b9f9-437/providers/Microsoft.Sql/servers/a0c5af0e-9/elasticPools/27114879-8c3d-4/databases/f945eb02-42d"; + Requests[4532] = new DefaultHttpContext(); + Requests[4532].RequestServices = CreateServices(); + Requests[4532].Request.Method = "DELETE"; + Requests[4532].Request.Path = "/subscriptions/f6a8ecce-3c2a-/resourceGroups/ea088ef9-07b2-405/providers/Microsoft.Sql/servers/5f625b94-5/jobAgents/38d11e14-1e4/credentials/c8a4b146-1e53-"; + Requests[4533] = new DefaultHttpContext(); + Requests[4533].RequestServices = CreateServices(); + Requests[4533].Request.Method = "PUT"; + Requests[4533].Request.Path = "/subscriptions/82317178-bf09-/resourceGroups/be0fe157-1ab4-4bf/providers/Microsoft.Sql/servers/5b156814-9/jobAgents/325ad53f-b17/credentials/075f01dc-0cf2-"; + Requests[4534] = new DefaultHttpContext(); + Requests[4534].RequestServices = CreateServices(); + Requests[4534].Request.Method = "GET"; + Requests[4534].Request.Path = "/subscriptions/9dbe350d-66d9-/resourceGroups/f33f0a87-db9d-4b6/providers/Microsoft.Sql/servers/ee3c3094-7/jobAgents/0812ebc3-4d3/credentials/530fa450-9cae-"; + Requests[4535] = new DefaultHttpContext(); + Requests[4535].RequestServices = CreateServices(); + Requests[4535].Request.Method = "GET"; + Requests[4535].Request.Path = "/subscriptions/f1fc7b10-9b73-/resourceGroups/4c7fc6ed-e7f5-4eb/providers/Microsoft.Sql/servers/2454cd9a-6/jobAgents/08862a00-55e/jobs/eaab2d0"; + Requests[4536] = new DefaultHttpContext(); + Requests[4536].RequestServices = CreateServices(); + Requests[4536].Request.Method = "PUT"; + Requests[4536].Request.Path = "/subscriptions/f5e0ef43-82ce-/resourceGroups/7ebc2865-7808-4e3/providers/Microsoft.Sql/servers/557634c6-a/jobAgents/c8d0caa3-ef4/jobs/60aa1c8"; + Requests[4537] = new DefaultHttpContext(); + Requests[4537].RequestServices = CreateServices(); + Requests[4537].Request.Method = "DELETE"; + Requests[4537].Request.Path = "/subscriptions/03b89e4d-43f3-/resourceGroups/c7f2be20-2929-40f/providers/Microsoft.Sql/servers/73bb82fa-e/jobAgents/96ba982f-0df/jobs/cc0ab9a"; + Requests[4538] = new DefaultHttpContext(); + Requests[4538].RequestServices = CreateServices(); + Requests[4538].Request.Method = "PUT"; + Requests[4538].Request.Path = "/subscriptions/eab6d186-ee37-/resourceGroups/13bb68af-72da-474/providers/Microsoft.Sql/servers/8520a5dd-a/jobAgents/1e7c51e8-788/targetGroups/c90d4c5c-c5a3-4"; + Requests[4539] = new DefaultHttpContext(); + Requests[4539].RequestServices = CreateServices(); + Requests[4539].Request.Method = "DELETE"; + Requests[4539].Request.Path = "/subscriptions/5b5c0bc1-7f73-/resourceGroups/5516e4ae-f047-46e/providers/Microsoft.Sql/servers/2e1c142d-3/jobAgents/8193eff4-d27/targetGroups/626fde63-3295-4"; + Requests[4540] = new DefaultHttpContext(); + Requests[4540].RequestServices = CreateServices(); + Requests[4540].Request.Method = "GET"; + Requests[4540].Request.Path = "/subscriptions/fdb6b865-4477-/resourceGroups/a55b014b-544a-4ac/providers/Microsoft.Sql/servers/1dd448ca-a/jobAgents/bf669473-ee0/targetGroups/c3bf3231-83b2-4"; + Requests[4541] = new DefaultHttpContext(); + Requests[4541].RequestServices = CreateServices(); + Requests[4541].Request.Method = "GET"; + Requests[4541].Request.Path = "/subscriptions/23dfa115-fe08-/resourceGroups/55004a3a-086e-498/providers/Microsoft.Sql/servers/12af77cd-b/recommendedElasticPools/3be2fc56-e1bf-4e86-981e-27/databases/619a2d3a-7df"; + Requests[4542] = new DefaultHttpContext(); + Requests[4542].RequestServices = CreateServices(); + Requests[4542].Request.Method = "GET"; + Requests[4542].Request.Path = "/subscriptions/e9b0098c-e553-/resourceGroups/aae93ab6-80f4-45a/providers/Microsoft.StorSimple/managers/9ed8a879-01/devices/c452ae90-d/backupPolicies/8806fa21-0eee-47"; + Requests[4543] = new DefaultHttpContext(); + Requests[4543].RequestServices = CreateServices(); + Requests[4543].Request.Method = "PUT"; + Requests[4543].Request.Path = "/subscriptions/134af5d9-03d2-/resourceGroups/6832e6a7-deb0-4e4/providers/Microsoft.StorSimple/managers/9fc73d39-e0/devices/fc568390-c/backupPolicies/f49606ad-594e-45"; + Requests[4544] = new DefaultHttpContext(); + Requests[4544].RequestServices = CreateServices(); + Requests[4544].Request.Method = "DELETE"; + Requests[4544].Request.Path = "/subscriptions/bb9b3ea0-ef3c-/resourceGroups/146e7a23-dfaf-44a/providers/Microsoft.StorSimple/managers/b788d429-08/devices/357bb1fc-3/backupPolicies/f1ba325e-f118-4e"; + Requests[4545] = new DefaultHttpContext(); + Requests[4545].RequestServices = CreateServices(); + Requests[4545].Request.Method = "DELETE"; + Requests[4545].Request.Path = "/subscriptions/1a53ca10-a3e9-/resourceGroups/fa6c5b18-bc34-421/providers/Microsoft.StorSimple/managers/e1bd4232-1e/devices/71125bd0-d/backups/e1d37bf4-a"; + Requests[4546] = new DefaultHttpContext(); + Requests[4546].RequestServices = CreateServices(); + Requests[4546].Request.Method = "GET"; + Requests[4546].Request.Path = "/subscriptions/fc30bd36-b871-/resourceGroups/e3009f1e-aa7d-4f0/providers/Microsoft.StorSimple/managers/50859317-43/devices/771082e5-f/jobs/c43b6aa"; + Requests[4547] = new DefaultHttpContext(); + Requests[4547].RequestServices = CreateServices(); + Requests[4547].Request.Method = "DELETE"; + Requests[4547].Request.Path = "/subscriptions/dd9b4fb1-1acb-/resourceGroups/7e0e75d1-c4de-466/providers/Microsoft.StorSimple/managers/1fd71c47-48/devices/70595bf1-c/volumeContainers/3ca52d5d-8218-459f-"; + Requests[4548] = new DefaultHttpContext(); + Requests[4548].RequestServices = CreateServices(); + Requests[4548].Request.Method = "PUT"; + Requests[4548].Request.Path = "/subscriptions/bf0eef84-787d-/resourceGroups/86949a1f-5fe8-4b9/providers/Microsoft.StorSimple/managers/aad30150-f1/devices/1816f18b-8/volumeContainers/7841a8cf-dbcc-46e9-"; + Requests[4549] = new DefaultHttpContext(); + Requests[4549].RequestServices = CreateServices(); + Requests[4549].Request.Method = "GET"; + Requests[4549].Request.Path = "/subscriptions/2454e852-ad9f-/resourceGroups/61e37f65-da6d-4ab/providers/Microsoft.StorSimple/managers/8da5b4b4-03/devices/dc25aece-c/volumeContainers/3b8a133e-97eb-48a5-"; + Requests[4550] = new DefaultHttpContext(); + Requests[4550].RequestServices = CreateServices(); + Requests[4550].Request.Method = "GET"; + Requests[4550].Request.Path = "/subscriptions/7c4c311e-255c-/resourcegroups/27c547c5-f201-494/providers/Microsoft.Update.Admin/updateLocations/a160f3b4-d0d9-/updates/db5b0d27-9/updateRuns/6b5f323"; + Requests[4551] = new DefaultHttpContext(); + Requests[4551].RequestServices = CreateServices(); + Requests[4551].Request.Method = "GET"; + Requests[4551].Request.Path = "/subscriptions/8ccc44b2-7bbd-/resourceGroups/18599c76-ae04-4aa/providers/Microsoft.Web/serverfarms/9c34c/hybridConnectionNamespaces/3f5ee84c-981c/relays/65a5cee8-"; + Requests[4552] = new DefaultHttpContext(); + Requests[4552].RequestServices = CreateServices(); + Requests[4552].Request.Method = "DELETE"; + Requests[4552].Request.Path = "/subscriptions/16b81bed-2a95-/resourceGroups/99dc0c0a-e2bb-447/providers/Microsoft.Web/serverfarms/1a3a1/hybridConnectionNamespaces/63a3458f-256c/relays/b103f3eb-"; + Requests[4553] = new DefaultHttpContext(); + Requests[4553].RequestServices = CreateServices(); + Requests[4553].Request.Method = "GET"; + Requests[4553].Request.Path = "/subscriptions/02a28c4e-afe6-/resourceGroups/0c1722a5-2ff6-41f/providers/Microsoft.Web/serverfarms/91de0/virtualNetworkConnections/bb0d60b8/gateways/fd801e1a-97"; + Requests[4554] = new DefaultHttpContext(); + Requests[4554].RequestServices = CreateServices(); + Requests[4554].Request.Method = "PUT"; + Requests[4554].Request.Path = "/subscriptions/ab68a19c-a12d-/resourceGroups/8329e33a-1243-4d9/providers/Microsoft.Web/serverfarms/c4dae/virtualNetworkConnections/6a03d0f2/gateways/53428e36-bc"; + Requests[4555] = new DefaultHttpContext(); + Requests[4555].RequestServices = CreateServices(); + Requests[4555].Request.Method = "PATCH"; + Requests[4555].Request.Path = "/subscriptions/bc1ec11d-4ebb-/resourceGroups/281e510e-d4c3-471/providers/Microsoft.Web/serverfarms/05ade/virtualNetworkConnections/d0311fae/routes/b09cda9f-"; + Requests[4556] = new DefaultHttpContext(); + Requests[4556].RequestServices = CreateServices(); + Requests[4556].Request.Method = "GET"; + Requests[4556].Request.Path = "/subscriptions/0eca9e28-5da3-/resourceGroups/eacbecb1-598f-427/providers/Microsoft.Web/serverfarms/4cdc9/virtualNetworkConnections/66dd524d/routes/7490fcd3-"; + Requests[4557] = new DefaultHttpContext(); + Requests[4557].RequestServices = CreateServices(); + Requests[4557].Request.Method = "DELETE"; + Requests[4557].Request.Path = "/subscriptions/1f101410-0c7b-/resourceGroups/22d110c7-4371-47e/providers/Microsoft.Web/serverfarms/2c0e6/virtualNetworkConnections/127d0852/routes/18f0f4c1-"; + Requests[4558] = new DefaultHttpContext(); + Requests[4558].RequestServices = CreateServices(); + Requests[4558].Request.Method = "PUT"; + Requests[4558].Request.Path = "/subscriptions/e66d3e7f-4e68-/resourceGroups/656a1d4a-84e0-41c/providers/Microsoft.Web/serverfarms/a9df7/virtualNetworkConnections/22fdfce8/routes/a3d8dcce-"; + Requests[4559] = new DefaultHttpContext(); + Requests[4559].RequestServices = CreateServices(); + Requests[4559].Request.Method = "GET"; + Requests[4559].Request.Path = "/subscriptions/4bf9662f-1ae2-/resourceGroups/b1e9c924-31f2-459/providers/Microsoft.Web/sites/2f7cc/hybridConnectionNamespaces/e043d137-ff2a/relays/203f0589-"; + Requests[4560] = new DefaultHttpContext(); + Requests[4560].RequestServices = CreateServices(); + Requests[4560].Request.Method = "DELETE"; + Requests[4560].Request.Path = "/subscriptions/71572216-2a7e-/resourceGroups/28e0c593-d566-405/providers/Microsoft.Web/sites/ca1c0/hybridConnectionNamespaces/96b5b856-f94f/relays/a36bcd34-"; + Requests[4561] = new DefaultHttpContext(); + Requests[4561].RequestServices = CreateServices(); + Requests[4561].Request.Method = "PUT"; + Requests[4561].Request.Path = "/subscriptions/065959b4-00aa-/resourceGroups/9184f02a-4537-4f0/providers/Microsoft.Web/sites/41c69/hybridConnectionNamespaces/29f1b5ac-d229/relays/a4ee2098-"; + Requests[4562] = new DefaultHttpContext(); + Requests[4562].RequestServices = CreateServices(); + Requests[4562].Request.Method = "PATCH"; + Requests[4562].Request.Path = "/subscriptions/e9288c67-a224-/resourceGroups/769f7a44-c71e-4ca/providers/Microsoft.Web/sites/967e7/hybridConnectionNamespaces/a40df96a-af0b/relays/a09da9e0-"; + Requests[4563] = new DefaultHttpContext(); + Requests[4563].RequestServices = CreateServices(); + Requests[4563].Request.Method = "DELETE"; + Requests[4563].Request.Path = "/subscriptions/16577e4a-8f68-/resourceGroups/daf73c0f-7e05-400/providers/Microsoft.Web/sites/0c601/instances/4c592637-8/deployments/3efa9"; + Requests[4564] = new DefaultHttpContext(); + Requests[4564].RequestServices = CreateServices(); + Requests[4564].Request.Method = "GET"; + Requests[4564].Request.Path = "/subscriptions/a4a2f174-199b-/resourceGroups/8316df1c-8ab2-47e/providers/Microsoft.Web/sites/22c37/instances/13073901-1/deployments/77cab"; + Requests[4565] = new DefaultHttpContext(); + Requests[4565].RequestServices = CreateServices(); + Requests[4565].Request.Method = "PUT"; + Requests[4565].Request.Path = "/subscriptions/9aeff4d7-8b80-/resourceGroups/41dabbc3-26d6-469/providers/Microsoft.Web/sites/108f5/instances/2daac5cf-8/deployments/47b48"; + Requests[4566] = new DefaultHttpContext(); + Requests[4566].RequestServices = CreateServices(); + Requests[4566].Request.Method = "GET"; + Requests[4566].Request.Path = "/subscriptions/86167d36-a41d-/resourceGroups/9d07b603-59ea-45a/providers/Microsoft.Web/sites/65ddd/instances/e4d7b9cc-e/processes/773de4a5-"; + Requests[4567] = new DefaultHttpContext(); + Requests[4567].RequestServices = CreateServices(); + Requests[4567].Request.Method = "DELETE"; + Requests[4567].Request.Path = "/subscriptions/5bca078b-ec4a-/resourceGroups/10526fea-45fe-4bc/providers/Microsoft.Web/sites/e295b/instances/fe47870c-f/processes/cdb2697a-"; + Requests[4568] = new DefaultHttpContext(); + Requests[4568].RequestServices = CreateServices(); + Requests[4568].Request.Method = "GET"; + Requests[4568].Request.Path = "/subscriptions/683d8a88-4531-/resourceGroups/9d1ac3dc-f3aa-4c0/providers/Microsoft.Web/sites/14408/processes/3d01fa6f-/modules/03254486-75"; + Requests[4569] = new DefaultHttpContext(); + Requests[4569].RequestServices = CreateServices(); + Requests[4569].Request.Method = "GET"; + Requests[4569].Request.Path = "/subscriptions/dcb1def1-77a4-/resourceGroups/4e58ffb3-59da-4c7/providers/Microsoft.Web/sites/e3e4f/processes/ce118d36-/threads/853c4503"; + Requests[4570] = new DefaultHttpContext(); + Requests[4570].RequestServices = CreateServices(); + Requests[4570].Request.Method = "DELETE"; + Requests[4570].Request.Path = "/subscriptions/4bd13842-f3f1-/resourceGroups/f830c583-26ca-486/providers/Microsoft.Web/sites/2e4f7/slots/ddcbc/backups/e695d36e"; + Requests[4571] = new DefaultHttpContext(); + Requests[4571].RequestServices = CreateServices(); + Requests[4571].Request.Method = "GET"; + Requests[4571].Request.Path = "/subscriptions/e4b04022-13cf-/resourceGroups/56bb82ba-050e-414/providers/Microsoft.Web/sites/9ff49/slots/91118/backups/d8bf1ab9"; + Requests[4572] = new DefaultHttpContext(); + Requests[4572].RequestServices = CreateServices(); + Requests[4572].Request.Method = "GET"; + Requests[4572].Request.Path = "/subscriptions/7290dbbe-a447-/resourceGroups/ecfe6357-cc78-43f/providers/Microsoft.Web/sites/a5075/slots/35a61/continuouswebjobs/77820268-d"; + Requests[4573] = new DefaultHttpContext(); + Requests[4573].RequestServices = CreateServices(); + Requests[4573].Request.Method = "DELETE"; + Requests[4573].Request.Path = "/subscriptions/23fe0af1-bffa-/resourceGroups/76027531-555f-425/providers/Microsoft.Web/sites/ccd21/slots/1954e/continuouswebjobs/2369abb2-8"; + Requests[4574] = new DefaultHttpContext(); + Requests[4574].RequestServices = CreateServices(); + Requests[4574].Request.Method = "GET"; + Requests[4574].Request.Path = "/subscriptions/2aa18cad-5f1c-/resourceGroups/6bcce4dd-dc29-497/providers/Microsoft.Web/sites/6da7a/slots/581ae/deployments/0935f"; + Requests[4575] = new DefaultHttpContext(); + Requests[4575].RequestServices = CreateServices(); + Requests[4575].Request.Method = "PUT"; + Requests[4575].Request.Path = "/subscriptions/f2c9e740-cbd0-/resourceGroups/677a1275-4e52-4f8/providers/Microsoft.Web/sites/f3e76/slots/ab59f/deployments/d6531"; + Requests[4576] = new DefaultHttpContext(); + Requests[4576].RequestServices = CreateServices(); + Requests[4576].Request.Method = "DELETE"; + Requests[4576].Request.Path = "/subscriptions/f21c1bbe-c4d1-/resourceGroups/ccceb7f3-ccb0-4bc/providers/Microsoft.Web/sites/a6000/slots/918a6/deployments/fe983"; + Requests[4577] = new DefaultHttpContext(); + Requests[4577].RequestServices = CreateServices(); + Requests[4577].Request.Method = "PUT"; + Requests[4577].Request.Path = "/subscriptions/c8952bf5-94e9-/resourceGroups/e670e7aa-0b8a-40b/providers/Microsoft.Web/sites/b6679/slots/0926e/domainOwnershipIdentifiers/60455006-66f9-43e8-b085-43b2e"; + Requests[4578] = new DefaultHttpContext(); + Requests[4578].RequestServices = CreateServices(); + Requests[4578].Request.Method = "PATCH"; + Requests[4578].Request.Path = "/subscriptions/5c88e16d-2f5e-/resourceGroups/18a0294f-2acb-4e9/providers/Microsoft.Web/sites/38fc2/slots/dd532/domainOwnershipIdentifiers/ba49226f-fc1f-4f7f-bb06-1eb4c"; + Requests[4579] = new DefaultHttpContext(); + Requests[4579].RequestServices = CreateServices(); + Requests[4579].Request.Method = "DELETE"; + Requests[4579].Request.Path = "/subscriptions/1e5ba95b-1bc7-/resourceGroups/e4b9f1ce-0002-416/providers/Microsoft.Web/sites/91378/slots/3f42d/domainOwnershipIdentifiers/87b12425-9789-4517-bdfd-59057"; + Requests[4580] = new DefaultHttpContext(); + Requests[4580].RequestServices = CreateServices(); + Requests[4580].Request.Method = "GET"; + Requests[4580].Request.Path = "/subscriptions/6148a252-3427-/resourceGroups/5cb2651a-3565-4f9/providers/Microsoft.Web/sites/261f9/slots/355de/domainOwnershipIdentifiers/b4b14643-0cb0-49f9-a8d3-7c3e3"; + Requests[4581] = new DefaultHttpContext(); + Requests[4581].RequestServices = CreateServices(); + Requests[4581].Request.Method = "PUT"; + Requests[4581].Request.Path = "/subscriptions/64b127a8-316e-/resourceGroups/bc4c8305-1058-4c8/providers/Microsoft.Web/sites/fd8a7/slots/55c52/functions/68884b4b-756"; + Requests[4582] = new DefaultHttpContext(); + Requests[4582].RequestServices = CreateServices(); + Requests[4582].Request.Method = "GET"; + Requests[4582].Request.Path = "/subscriptions/79f8d6f3-f5c1-/resourceGroups/31dea9d0-6140-47e/providers/Microsoft.Web/sites/998a6/slots/1cc4d/functions/32ee21c8-b1a"; + Requests[4583] = new DefaultHttpContext(); + Requests[4583].RequestServices = CreateServices(); + Requests[4583].Request.Method = "DELETE"; + Requests[4583].Request.Path = "/subscriptions/247c6684-df17-/resourceGroups/ce9f4bd7-4c49-441/providers/Microsoft.Web/sites/93437/slots/3d932/functions/8636d20c-380"; + Requests[4584] = new DefaultHttpContext(); + Requests[4584].RequestServices = CreateServices(); + Requests[4584].Request.Method = "GET"; + Requests[4584].Request.Path = "/subscriptions/10ce481c-9799-/resourceGroups/f1e74413-3fb8-4a9/providers/Microsoft.Web/sites/2e87a/slots/aa8d4/hostNameBindings/3a60f5d5"; + Requests[4585] = new DefaultHttpContext(); + Requests[4585].RequestServices = CreateServices(); + Requests[4585].Request.Method = "PUT"; + Requests[4585].Request.Path = "/subscriptions/fbf9a11b-a558-/resourceGroups/c9cb330a-9e3b-461/providers/Microsoft.Web/sites/d29e1/slots/6e312/hostNameBindings/2a62bfc9"; + Requests[4586] = new DefaultHttpContext(); + Requests[4586].RequestServices = CreateServices(); + Requests[4586].Request.Method = "DELETE"; + Requests[4586].Request.Path = "/subscriptions/e77eed08-7020-/resourceGroups/f99f5322-693b-43e/providers/Microsoft.Web/sites/1d139/slots/f0886/hostNameBindings/4187e3c1"; + Requests[4587] = new DefaultHttpContext(); + Requests[4587].RequestServices = CreateServices(); + Requests[4587].Request.Method = "GET"; + Requests[4587].Request.Path = "/subscriptions/ece2b0d7-d41a-/resourceGroups/f574814d-2c41-4d9/providers/Microsoft.Web/sites/9f697/slots/3dc3f/hybridconnection/ff820818-b"; + Requests[4588] = new DefaultHttpContext(); + Requests[4588].RequestServices = CreateServices(); + Requests[4588].Request.Method = "PUT"; + Requests[4588].Request.Path = "/subscriptions/a59a0277-70bc-/resourceGroups/7dc8e73b-3595-443/providers/Microsoft.Web/sites/d9f43/slots/36556/hybridconnection/ec707d39-6"; + Requests[4589] = new DefaultHttpContext(); + Requests[4589].RequestServices = CreateServices(); + Requests[4589].Request.Method = "DELETE"; + Requests[4589].Request.Path = "/subscriptions/b2c30c33-5d0d-/resourceGroups/079da6fb-df48-48d/providers/Microsoft.Web/sites/7d66b/slots/5fa7a/hybridconnection/b6ee9be8-d"; + Requests[4590] = new DefaultHttpContext(); + Requests[4590].RequestServices = CreateServices(); + Requests[4590].Request.Method = "PATCH"; + Requests[4590].Request.Path = "/subscriptions/8451bce9-1425-/resourceGroups/f20c9b02-6922-47b/providers/Microsoft.Web/sites/c66fd/slots/e7b99/hybridconnection/e3f49a16-9"; + Requests[4591] = new DefaultHttpContext(); + Requests[4591].RequestServices = CreateServices(); + Requests[4591].Request.Method = "GET"; + Requests[4591].Request.Path = "/subscriptions/f1a995f9-6699-/resourceGroups/a87649db-6846-4e4/providers/Microsoft.Web/sites/2446d/slots/5d3d0/networkFeatures/ce2d9"; + Requests[4592] = new DefaultHttpContext(); + Requests[4592].RequestServices = CreateServices(); + Requests[4592].Request.Method = "GET"; + Requests[4592].Request.Path = "/subscriptions/cb235d84-8f4f-/resourceGroups/34c322e2-182f-4cf/providers/Microsoft.Web/sites/863ce/slots/d104e/operationresults/28e70d4d-af"; + Requests[4593] = new DefaultHttpContext(); + Requests[4593].RequestServices = CreateServices(); + Requests[4593].Request.Method = "DELETE"; + Requests[4593].Request.Path = "/subscriptions/ed896b9e-0959-/resourceGroups/e3edc4be-3baa-49e/providers/Microsoft.Web/sites/3b1ad/slots/cd84a/premieraddons/740f6262-2506-45"; + Requests[4594] = new DefaultHttpContext(); + Requests[4594].RequestServices = CreateServices(); + Requests[4594].Request.Method = "PUT"; + Requests[4594].Request.Path = "/subscriptions/08f8cad7-ca9c-/resourceGroups/a4a453a6-3a10-438/providers/Microsoft.Web/sites/1567c/slots/1ff48/premieraddons/a96b5d2e-ef8c-4f"; + Requests[4595] = new DefaultHttpContext(); + Requests[4595].RequestServices = CreateServices(); + Requests[4595].Request.Method = "GET"; + Requests[4595].Request.Path = "/subscriptions/4b1dc19b-9bdc-/resourceGroups/d8692c18-5ea9-446/providers/Microsoft.Web/sites/61cbe/slots/3dbb7/premieraddons/962e6a02-e883-42"; + Requests[4596] = new DefaultHttpContext(); + Requests[4596].RequestServices = CreateServices(); + Requests[4596].Request.Method = "DELETE"; + Requests[4596].Request.Path = "/subscriptions/4fbf8013-daf3-/resourceGroups/0e147d81-c585-4e2/providers/Microsoft.Web/sites/e5337/slots/2c00b/processes/99376403-"; + Requests[4597] = new DefaultHttpContext(); + Requests[4597].RequestServices = CreateServices(); + Requests[4597].Request.Method = "GET"; + Requests[4597].Request.Path = "/subscriptions/de888ba1-c339-/resourceGroups/b4d18007-7de7-464/providers/Microsoft.Web/sites/ffee2/slots/9b34e/processes/e558d153-"; + Requests[4598] = new DefaultHttpContext(); + Requests[4598].RequestServices = CreateServices(); + Requests[4598].Request.Method = "DELETE"; + Requests[4598].Request.Path = "/subscriptions/b1c961c5-1fa0-/resourceGroups/37ac507c-c2e1-466/providers/Microsoft.Web/sites/b7ba7/slots/45df2/publicCertificates/852195db-f17d-4af9-8c"; + Requests[4599] = new DefaultHttpContext(); + Requests[4599].RequestServices = CreateServices(); + Requests[4599].Request.Method = "PUT"; + Requests[4599].Request.Path = "/subscriptions/19e868ba-2b60-/resourceGroups/cd81327d-118a-4fa/providers/Microsoft.Web/sites/1b622/slots/97e67/publicCertificates/d15b43c6-95fe-420b-95"; + Requests[4600] = new DefaultHttpContext(); + Requests[4600].RequestServices = CreateServices(); + Requests[4600].Request.Method = "GET"; + Requests[4600].Request.Path = "/subscriptions/4150fd67-2add-/resourceGroups/474f5374-0d4f-4e0/providers/Microsoft.Web/sites/b6268/slots/01c72/publicCertificates/2500b811-c647-41ae-91"; + Requests[4601] = new DefaultHttpContext(); + Requests[4601].RequestServices = CreateServices(); + Requests[4601].Request.Method = "PUT"; + Requests[4601].Request.Path = "/subscriptions/be150fd5-da2e-/resourceGroups/67ec8879-58df-470/providers/Microsoft.Web/sites/0f85c/slots/ea767/siteextensions/3fb1c96b-1afd-4"; + Requests[4602] = new DefaultHttpContext(); + Requests[4602].RequestServices = CreateServices(); + Requests[4602].Request.Method = "GET"; + Requests[4602].Request.Path = "/subscriptions/482f456f-dd99-/resourceGroups/5b65d08f-f0ad-46d/providers/Microsoft.Web/sites/830b3/slots/e74f3/siteextensions/33bfaa78-9423-4"; + Requests[4603] = new DefaultHttpContext(); + Requests[4603].RequestServices = CreateServices(); + Requests[4603].Request.Method = "DELETE"; + Requests[4603].Request.Path = "/subscriptions/d29037ce-c7ba-/resourceGroups/21f0623c-a79c-46a/providers/Microsoft.Web/sites/6acfd/slots/7f6b3/siteextensions/dc5e107d-538a-4"; + Requests[4604] = new DefaultHttpContext(); + Requests[4604].RequestServices = CreateServices(); + Requests[4604].Request.Method = "GET"; + Requests[4604].Request.Path = "/subscriptions/5359afd6-5d97-/resourceGroups/e4375b42-246d-45f/providers/Microsoft.Web/sites/5e954/slots/dc2a3/triggeredwebjobs/cfaebbdd-f"; + Requests[4605] = new DefaultHttpContext(); + Requests[4605].RequestServices = CreateServices(); + Requests[4605].Request.Method = "DELETE"; + Requests[4605].Request.Path = "/subscriptions/ed6fcef2-1000-/resourceGroups/6b09c0ee-06c2-467/providers/Microsoft.Web/sites/bc0e9/slots/92a5f/triggeredwebjobs/95231cd5-6"; + Requests[4606] = new DefaultHttpContext(); + Requests[4606].RequestServices = CreateServices(); + Requests[4606].Request.Method = "PATCH"; + Requests[4606].Request.Path = "/subscriptions/ff5ddeb0-5302-/resourceGroups/61450bef-1ac8-433/providers/Microsoft.Web/sites/2a6df/slots/a3bc0/virtualNetworkConnections/2fdab763"; + Requests[4607] = new DefaultHttpContext(); + Requests[4607].RequestServices = CreateServices(); + Requests[4607].Request.Method = "DELETE"; + Requests[4607].Request.Path = "/subscriptions/785158fb-c47e-/resourceGroups/d02f0a9e-22cd-405/providers/Microsoft.Web/sites/d37fc/slots/73b8b/virtualNetworkConnections/220bf774"; + Requests[4608] = new DefaultHttpContext(); + Requests[4608].RequestServices = CreateServices(); + Requests[4608].Request.Method = "PUT"; + Requests[4608].Request.Path = "/subscriptions/9888e673-7dd5-/resourceGroups/404c35d1-9c15-405/providers/Microsoft.Web/sites/09ffc/slots/0768d/virtualNetworkConnections/a708b8fe"; + Requests[4609] = new DefaultHttpContext(); + Requests[4609].RequestServices = CreateServices(); + Requests[4609].Request.Method = "GET"; + Requests[4609].Request.Path = "/subscriptions/29883260-e3b9-/resourceGroups/d175fa98-6a2c-447/providers/Microsoft.Web/sites/5c77b/slots/6f140/virtualNetworkConnections/cb4ce436"; + Requests[4610] = new DefaultHttpContext(); + Requests[4610].RequestServices = CreateServices(); + Requests[4610].Request.Method = "GET"; + Requests[4610].Request.Path = "/subscriptions/5ba93901-2837-/resourceGroups/98cadafe-f685-4e2/providers/Microsoft.Web/sites/21a57/slots/b2a5c/webjobs/ab6406ac-8"; + Requests[4611] = new DefaultHttpContext(); + Requests[4611].RequestServices = CreateServices(); + Requests[4611].Request.Method = "GET"; + Requests[4611].Request.Path = "/subscriptions/fe9f3f35-f557-/resourceGroups/61a650a7-900a-454/providers/Microsoft.Web/sites/e144a/triggeredwebjobs/54e7f94d-b/history/3609d"; + Requests[4612] = new DefaultHttpContext(); + Requests[4612].RequestServices = CreateServices(); + Requests[4612].Request.Method = "GET"; + Requests[4612].Request.Path = "/subscriptions/7e77ecf3-c312-/resourceGroups/808b4175-5cb7-4db/providers/Microsoft.Web/sites/16300/virtualNetworkConnections/e96608d9/gateways/b90bfb7f-a8"; + Requests[4613] = new DefaultHttpContext(); + Requests[4613].RequestServices = CreateServices(); + Requests[4613].Request.Method = "PUT"; + Requests[4613].Request.Path = "/subscriptions/1f4c6c88-6d7a-/resourceGroups/f4645429-cac6-4e8/providers/Microsoft.Web/sites/345e4/virtualNetworkConnections/b71a6628/gateways/85141d67-f1"; + Requests[4614] = new DefaultHttpContext(); + Requests[4614].RequestServices = CreateServices(); + Requests[4614].Request.Method = "PATCH"; + Requests[4614].Request.Path = "/subscriptions/823f79b4-e70d-/resourceGroups/bf83f065-9947-472/providers/Microsoft.Web/sites/acb7b/virtualNetworkConnections/642a333f/gateways/3d7fba09-c4"; + Requests[4615] = new DefaultHttpContext(); + Requests[4615].RequestServices = CreateServices(); + Requests[4615].Request.Method = "GET"; + Requests[4615].Request.Path = "/subscriptions/ed870972-db93-/resourceGroups/6539e7e4-c445-4b4/providers/Microsoft.Web/sites/e211bed1/diagnostics/aa0472c0-7975-4c4c/analyses/5d871c08-9ed"; + Requests[4616] = new DefaultHttpContext(); + Requests[4616].RequestServices = CreateServices(); + Requests[4616].Request.Method = "GET"; + Requests[4616].Request.Path = "/subscriptions/20e51a72-3b29-/resourceGroups/390e9a83-cced-49b/providers/Microsoft.Web/sites/f37b756a/diagnostics/c4aaf014-4fa1-4970/detectors/1f8ac36e-c7b"; + Requests[4617] = new DefaultHttpContext(); + Requests[4617].RequestServices = CreateServices(); + Requests[4617].Request.Method = "GET"; + Requests[4617].Request.Path = "/subscriptions/6e36d8b9-41e7-/resourceGroups/84d0d63d-1985-450/providers/Microsoft.Web/sites/2254cbdd/slots/c2e91/detectors/0dde1c70-f99"; + Requests[4618] = new DefaultHttpContext(); + Requests[4618].RequestServices = CreateServices(); + Requests[4618].Request.Method = "GET"; + Requests[4618].Request.Path = "/subscriptions/7aaa83d3-e907-/resourceGroups/de61d3e3-0865-460/providers/Microsoft.Web/sites/c67b5a11/slots/02f73/diagnostics/64cdc8e5-5bca-4a7b"; + Requests[4619] = new DefaultHttpContext(); + Requests[4619].RequestServices = CreateServices(); + Requests[4619].Request.Method = "POST"; + Requests[4619].Request.Path = "/subscriptions/2a316c13-2f75-/resourceGroups/901ad935-/providers/Microsoft.DataMigration/services/b6c2b86e-82/projects/26b49766-2e/tasks/39e5b158/cancel"; + Requests[4620] = new DefaultHttpContext(); + Requests[4620].RequestServices = CreateServices(); + Requests[4620].Request.Method = "GET"; + Requests[4620].Request.Path = "/subscriptions/5e57a40c-bd9b-/resourceGroups/ed0859a2-a184-4a6/providers/Microsoft.ApiManagement/service/bb214a5e-cc/apis/9a587/diagnostics/043ed1c8-dc7/loggers"; + Requests[4621] = new DefaultHttpContext(); + Requests[4621].RequestServices = CreateServices(); + Requests[4621].Request.Method = "GET"; + Requests[4621].Request.Path = "/subscriptions/cc0d592e-da8a-/resourceGroups/0ce03460-8044-4ef/providers/Microsoft.ApiManagement/service/9cdc6ec4-ae/apis/9fb0d/issues/e6abb7b/attachments"; + Requests[4622] = new DefaultHttpContext(); + Requests[4622].RequestServices = CreateServices(); + Requests[4622].Request.Method = "GET"; + Requests[4622].Request.Path = "/subscriptions/678a1e0c-ad8e-/resourceGroups/56fa7705-4654-4b4/providers/Microsoft.ApiManagement/service/0558df17-7a/apis/ce611/issues/5e85a77/comments"; + Requests[4623] = new DefaultHttpContext(); + Requests[4623].RequestServices = CreateServices(); + Requests[4623].Request.Method = "GET"; + Requests[4623].Request.Path = "/subscriptions/eccc38f2-de22-/resourceGroups/bf1a7e17-97d3-45c/providers/Microsoft.ApiManagement/service/bd721139-56/apis/7ba1c/operations/d814d534-5d/policies"; + Requests[4624] = new DefaultHttpContext(); + Requests[4624].RequestServices = CreateServices(); + Requests[4624].Request.Method = "PUT"; + Requests[4624].Request.Path = "/subscriptions/4ea67935-f2df-/resourceGroups/5d960586-1088-423/providers/Microsoft.ApiManagement/service/7b5387a2-88/apis/a9bb2/operations/fe64242b-fc/policy"; + Requests[4625] = new DefaultHttpContext(); + Requests[4625].RequestServices = CreateServices(); + Requests[4625].Request.Method = "GET"; + Requests[4625].Request.Path = "/subscriptions/70ac1d0e-d736-/resourceGroups/aa7f14bb-614d-4a4/providers/Microsoft.ApiManagement/service/eb195c97-37/apis/1309a/operations/718d032f-34/policy"; + Requests[4626] = new DefaultHttpContext(); + Requests[4626].RequestServices = CreateServices(); + Requests[4626].Request.Method = "DELETE"; + Requests[4626].Request.Path = "/subscriptions/26aaed21-205f-/resourceGroups/38a2df36-337e-487/providers/Microsoft.ApiManagement/service/e5d4adab-cf/apis/c7960/operations/4fa149e0-f3/policy"; + Requests[4627] = new DefaultHttpContext(); + Requests[4627].RequestServices = CreateServices(); + Requests[4627].Request.Method = "GET"; + Requests[4627].Request.Path = "/subscriptions/c96856e6-5843-/resourceGroups/6f8771fc-556a-465/providers/Microsoft.ApiManagement/service/254a7370-9d/apis/af343/operations/67f710fb-9e/tags"; + Requests[4628] = new DefaultHttpContext(); + Requests[4628].RequestServices = CreateServices(); + Requests[4628].Request.Method = "GET"; + Requests[4628].Request.Path = "/subscriptions/b49afa26-1213-/resourceGroups/636f271d-d773-49b/providers/Microsoft.Automation/automationAccounts/a862d37f-07b0-4073-83/modules/711981e7-d/objectDataTypes/c5c50511/fields"; + Requests[4629] = new DefaultHttpContext(); + Requests[4629].RequestServices = CreateServices(); + Requests[4629].Request.Method = "GET"; + Requests[4629].Request.Path = "/subscriptions/a3a04081-cff3-/resourceGroups/ab362107-9b20-44a/providers/Microsoft.Automation/automationAccounts/77043c17-27b8-4964-bd/modules/c4eaab46-5/types/635a9ca7/fields"; + Requests[4630] = new DefaultHttpContext(); + Requests[4630].RequestServices = CreateServices(); + Requests[4630].Request.Method = "GET"; + Requests[4630].Request.Path = "/subscriptions/884a48eb-4ed5-/resourceGroups/a09994e4-f847-480/providers/Microsoft.Automation/automationAccounts/92e8ac8a-c95b-42e8-8b/nodes/2b4d19/reports/1fe50df2/content"; + Requests[4631] = new DefaultHttpContext(); + Requests[4631].RequestServices = CreateServices(); + Requests[4631].Request.Method = "GET"; + Requests[4631].Request.Path = "/subscriptions/678919d0-aa5c-/resourceGroups/dbcfbdae-92c4-455/providers/Microsoft.Automation/automationAccounts/026652d0-6071-43b7-8a/sourceControls/ae231b78-3d27-4d4/sourceControlSyncJobs/7563da3d-da1b-4a01-b51/streams"; + Requests[4632] = new DefaultHttpContext(); + Requests[4632].RequestServices = CreateServices(); + Requests[4632].Request.Method = "POST"; + Requests[4632].Request.Path = "/subscriptions/784da95c-3596-/resourceGroups/fd6d9dfe-5916-438/providers/Microsoft.Batch/batchAccounts/cc73dcc0-12/applications/175de30a-8f25/versions/c8674c6/activate"; + Requests[4633] = new DefaultHttpContext(); + Requests[4633].RequestServices = CreateServices(); + Requests[4633].Request.Method = "POST"; + Requests[4633].Request.Path = "/subscriptions/2b9d0055-af79-/resourceGroups/be52db09-8378-4de/providers/Microsoft.BatchAI/workspaces/643d8985-9881/experiments/1061cf2f-ae20-/jobs/7c9cf45/listOutputFiles"; + Requests[4634] = new DefaultHttpContext(); + Requests[4634].RequestServices = CreateServices(); + Requests[4634].Request.Method = "POST"; + Requests[4634].Request.Path = "/subscriptions/0a445623-51c0-/resourceGroups/65c2df20-3fd0-4d7/providers/Microsoft.BatchAI/workspaces/956bcfb1-a170/experiments/59cce4c5-bb7d-/jobs/32225fe/listRemoteLoginInformation"; + Requests[4635] = new DefaultHttpContext(); + Requests[4635].RequestServices = CreateServices(); + Requests[4635].Request.Method = "POST"; + Requests[4635].Request.Path = "/subscriptions/262ae6ab-a641-/resourceGroups/545fd887-56ce-4e1/providers/Microsoft.BatchAI/workspaces/f0da82e6-c0cf/experiments/76b98b18-f16f-/jobs/729e4af/terminate"; + Requests[4636] = new DefaultHttpContext(); + Requests[4636].RequestServices = CreateServices(); + Requests[4636].Request.Method = "POST"; + Requests[4636].Request.Path = "/subscriptions/a9ff0280-b67f-/resourceGroups/09b0b288-ba02-4fd/providers/Microsoft.Cdn/profiles/ebdbcc77-0a/endpoints/5fa2ee94-1bf/customDomains/36742a7a-834f-45/disableCustomHttps"; + Requests[4637] = new DefaultHttpContext(); + Requests[4637].RequestServices = CreateServices(); + Requests[4637].Request.Method = "POST"; + Requests[4637].Request.Path = "/subscriptions/fc12f3e0-ca95-/resourceGroups/499e19a5-c964-46e/providers/Microsoft.Cdn/profiles/2563cce7-28/endpoints/e60722c2-593/customDomains/6fc08f69-c1bc-4c/enableCustomHttps"; + Requests[4638] = new DefaultHttpContext(); + Requests[4638].RequestServices = CreateServices(); + Requests[4638].Request.Method = "GET"; + Requests[4638].Request.Path = "/subscriptions/474c69ea-ca47-/resourceGroups/3ded1517-20b2-4fd/providers/microsoft.Compute/virtualMachineScaleSets/2d75a9f9-3b1e-43e8-866f-1a/virtualMachines/357ee815-0798-45e9-/networkInterfaces/0f99f9ea-e602-4966-9/ipConfigurations"; + Requests[4639] = new DefaultHttpContext(); + Requests[4639].RequestServices = CreateServices(); + Requests[4639].Request.Method = "POST"; + Requests[4639].Request.Path = "/subscriptions/da1f0b6a-0d33-/resourceGroups/ff911d7b-276d-4e2/providers/Microsoft.ContainerRegistry/registries/2fb0e010-875/buildTasks/9bdd70a1-3b2d/steps/440ce127/listBuildArguments"; + Requests[4640] = new DefaultHttpContext(); + Requests[4640].RequestServices = CreateServices(); + Requests[4640].Request.Method = "POST"; + Requests[4640].Request.Path = "/subscriptions/9157eee2-c8e2-/resourceGroups/0b88d096-3bad-433/providers/Microsoft.DataFactory/factories/7bbe89be-84/integrationRuntimes/ea860637-732a-4345-b0d/nodes/06a750ff/ipAddress"; + Requests[4641] = new DefaultHttpContext(); + Requests[4641].RequestServices = CreateServices(); + Requests[4641].Request.Method = "POST"; + Requests[4641].Request.Path = "/subscriptions/41a69696-1fc2-/resourceGroups/8e610dfa-ffd9-4c5/providers/Microsoft.DataLakeAnalytics/accounts/1fd47faf-ed/storageAccounts/bfd221f9-2ec4-4f44/containers/d4d29c49-42c8/listSasTokens"; + Requests[4642] = new DefaultHttpContext(); + Requests[4642].RequestServices = CreateServices(); + Requests[4642].Request.Method = "POST"; + Requests[4642].Request.Path = "/subscriptions/aae4c8d2-4807-/resourceGroups/e380f542-52b4-463/providers/Microsoft.DevTestLab/labs/edde0e1/artifactsources/472d0d3e-7bb9-4ec8/artifacts/6d6c0/generateArmTemplate"; + Requests[4643] = new DefaultHttpContext(); + Requests[4643].RequestServices = CreateServices(); + Requests[4643].Request.Method = "POST"; + Requests[4643].Request.Path = "/subscriptions/0016b289-f138-/resourceGroups/62b144c9-49ea-40b/providers/Microsoft.DevTestLab/labs/cb81d45/users/31c3a41d/disks/eb9e8/attach"; + Requests[4644] = new DefaultHttpContext(); + Requests[4644].RequestServices = CreateServices(); + Requests[4644].Request.Method = "POST"; + Requests[4644].Request.Path = "/subscriptions/125f8b06-eaa0-/resourceGroups/17da6220-2bb9-4c7/providers/Microsoft.DevTestLab/labs/21e03c7/users/dcb89229/disks/5abf3/detach"; + Requests[4645] = new DefaultHttpContext(); + Requests[4645].RequestServices = CreateServices(); + Requests[4645].Request.Method = "POST"; + Requests[4645].Request.Path = "/subscriptions/7621f7c7-350e-/resourceGroups/0ef9b370-4142-4fc/providers/Microsoft.DevTestLab/labs/8acedc4/virtualmachines/906da87f-cba3-49aa/schedules/d3113/execute"; + Requests[4646] = new DefaultHttpContext(); + Requests[4646].RequestServices = CreateServices(); + Requests[4646].Request.Method = "GET"; + Requests[4646].Request.Path = "/subscriptions/5b14cf5b-e3e9-/resourceGroups/8afb3ce0-f16b-49d/providers/Microsoft.DocumentDB/databaseAccounts/f2882873-07/databases/305f2a42-70/collections/17e331c1-55ce/metricDefinitions"; + Requests[4647] = new DefaultHttpContext(); + Requests[4647].RequestServices = CreateServices(); + Requests[4647].Request.Method = "GET"; + Requests[4647].Request.Path = "/subscriptions/f23e7ead-6eac-/resourceGroups/17a4bdcf-eaaa-450/providers/Microsoft.DocumentDB/databaseAccounts/f9d2656e-7d/databases/d3ae8da4-f8/collections/a875001b-c083/metrics"; + Requests[4648] = new DefaultHttpContext(); + Requests[4648].RequestServices = CreateServices(); + Requests[4648].Request.Method = "GET"; + Requests[4648].Request.Path = "/subscriptions/65e1a259-19ed-/resourceGroups/515e01fa-92ef-4a9/providers/Microsoft.DocumentDB/databaseAccounts/7c53955c-6f/databases/bc5cc661-00/collections/07279bcd-2a78/usages"; + Requests[4649] = new DefaultHttpContext(); + Requests[4649].RequestServices = CreateServices(); + Requests[4649].Request.Method = "POST"; + Requests[4649].Request.Path = "/subscriptions/7c5edb0f-53f4-/resourceGroups/cf702679-907f-44b/providers/Microsoft.EventHub/namespaces/fffd0290-bc92/disasterRecoveryConfigs/010a8/AuthorizationRules/e2cd77a6-a86a-4ab5-8c/listKeys"; + Requests[4650] = new DefaultHttpContext(); + Requests[4650].RequestServices = CreateServices(); + Requests[4650].Request.Method = "POST"; + Requests[4650].Request.Path = "/subscriptions/7963ed7e-3a99-/resourceGroups/a2474553-f861-4d0/providers/Microsoft.EventHub/namespaces/9141bc12-e6e6/eventhubs/22dae399-ce5/authorizationRules/be7d1081-a946-437b-94/ListKeys"; + Requests[4651] = new DefaultHttpContext(); + Requests[4651].RequestServices = CreateServices(); + Requests[4651].Request.Method = "POST"; + Requests[4651].Request.Path = "/subscriptions/a3113c66-6749-/resourceGroups/01b773fb-c197-40d/providers/Microsoft.EventHub/namespaces/722d0e1b-76d7/eventhubs/c219d873-106/authorizationRules/119d43a2-a88e-4a82-b5/regenerateKeys"; + Requests[4652] = new DefaultHttpContext(); + Requests[4652].RequestServices = CreateServices(); + Requests[4652].Request.Method = "GET"; + Requests[4652].Request.Path = "/subscriptions/5def1ca9-9971-/resourceGroups/10ef1a53-8979-4b4/providers/Microsoft.Fabric.Admin/fabricLocations/66dcf053/storageSubSystems/9ce69a39-68c5-47/storagePools/ad2a80b9-05/volumes"; + Requests[4653] = new DefaultHttpContext(); + Requests[4653].RequestServices = CreateServices(); + Requests[4653].Request.Method = "POST"; + Requests[4653].Request.Path = "/subscriptions/63bbc153-b24f-/resourceGroups/14db5988-d13c-4eb/providers/Microsoft.Logic/workflows/fa5a2022-7c2/runs/ed19236/actions/75f1caec-8/listExpressionTraces"; + Requests[4654] = new DefaultHttpContext(); + Requests[4654].RequestServices = CreateServices(); + Requests[4654].Request.Method = "GET"; + Requests[4654].Request.Path = "/subscriptions/2d178029-846d-/resourceGroups/b7c9baad-5d58-45a/providers/Microsoft.Logic/workflows/ffe9bfaa-7bb/runs/9ad51bd/actions/d8dc37e2-3/repetitions"; + Requests[4655] = new DefaultHttpContext(); + Requests[4655].RequestServices = CreateServices(); + Requests[4655].Request.Method = "GET"; + Requests[4655].Request.Path = "/subscriptions/be93f2d2-54d5-/resourceGroups/595f1f7f-297f-400/providers/Microsoft.Logic/workflows/fec89924-c87/runs/13b51e1/actions/2a201158-3/scopeRepetitions"; + Requests[4656] = new DefaultHttpContext(); + Requests[4656].RequestServices = CreateServices(); + Requests[4656].Request.Method = "POST"; + Requests[4656].Request.Path = "/subscriptions/5fbe9fd3-ae90-/resourceGroups/bac0d39d-4e54-4a1/providers/Microsoft.Logic/workflows/1a4772f1-7ea/triggers/1cc22dcf-b6/histories/5b88bcac-84/resubmit"; + Requests[4657] = new DefaultHttpContext(); + Requests[4657].RequestServices = CreateServices(); + Requests[4657].Request.Method = "POST"; + Requests[4657].Request.Path = "/subscriptions/a53bdebb-dd89-/resourceGroups/5941e4e4-5c7f-46b/providers/Microsoft.Logic/workflows/7c38cf0f-62d/versions/0b4a2ded-/triggers/3e2876a5-ca/listCallbackUrl"; + Requests[4658] = new DefaultHttpContext(); + Requests[4658].RequestServices = CreateServices(); + Requests[4658].Request.Method = "POST"; + Requests[4658].Request.Path = "/subscriptions/2ee476fa-07b2-/resourceGroups/9b77e36b-025b-415/providers/Microsoft.Media/mediaServices/8c0bca80-0d/transforms/78d35721-8f7d/jobs/b2fd2a9/cancelJob"; + Requests[4659] = new DefaultHttpContext(); + Requests[4659].RequestServices = CreateServices(); + Requests[4659].Request.Method = "GET"; + Requests[4659].Request.Path = "/subscriptions/d0559ffd-fb60-/resourceGroups/3c43f589-fa33-4c7/providers/Microsoft.Migrate/projects/d04dd1a9-5d/groups/aac7f4e5-/assessments/03e5132b-633c-/assessedMachines"; + Requests[4660] = new DefaultHttpContext(); + Requests[4660].RequestServices = CreateServices(); + Requests[4660].Request.Method = "POST"; + Requests[4660].Request.Path = "/subscriptions/6fdb25c9-d215-/resourceGroups/e13b4287-d454-4a4/providers/Microsoft.Migrate/projects/9b9e97ea-b5/groups/9caa0903-/assessments/5e8e41c0-9e7d-/downloadUrl"; + Requests[4661] = new DefaultHttpContext(); + Requests[4661].RequestServices = CreateServices(); + Requests[4661].Request.Method = "POST"; + Requests[4661].Request.Path = "/subscriptions/65d7f796-ae90-/resourceGroups/353455e1-13ff-474/providers/Microsoft.NotificationHubs/namespaces/50c5512f-9aee/notificationHubs/82766c93-edc2-4826-/AuthorizationRules/ec2b873d-cc31-40fb-b5/listKeys"; + Requests[4662] = new DefaultHttpContext(); + Requests[4662].RequestServices = CreateServices(); + Requests[4662].Request.Method = "POST"; + Requests[4662].Request.Path = "/subscriptions/f969b351-dd03-/resourceGroups/6e44ae2f-0ba2-4b3/providers/Microsoft.NotificationHubs/namespaces/25b57d62-45d8/notificationHubs/e6fcd064-568a-452e-/AuthorizationRules/ef99ffaa-84af-4f26-a4/regenerateKeys"; + Requests[4663] = new DefaultHttpContext(); + Requests[4663].RequestServices = CreateServices(); + Requests[4663].Request.Method = "GET"; + Requests[4663].Request.Path = "/Subscriptions/6aba2340-370e-/resourceGroups/540e8d07-6a0f-4b7/providers/Microsoft.RecoveryServices/vaults/14da01ce-903/replicationFabrics/0ee159cc-7/replicationNetworks/39814117-ea/replicationNetworkMappings"; + Requests[4664] = new DefaultHttpContext(); + Requests[4664].RequestServices = CreateServices(); + Requests[4664].Request.Method = "POST"; + Requests[4664].Request.Path = "/Subscriptions/c5e215e2-2479-/resourceGroups/c8f01c00-9b6b-4bd/providers/Microsoft.RecoveryServices/vaults/8f74172e-546/replicationFabrics/82a320ff-0/replicationProtectionContainers/ab4b1efb-44b8-4e45-be4f/discoverProtectableItem"; + Requests[4665] = new DefaultHttpContext(); + Requests[4665].RequestServices = CreateServices(); + Requests[4665].Request.Method = "POST"; + Requests[4665].Request.Path = "/Subscriptions/8a2b05d1-81e4-/resourceGroups/0f282f9e-6ad2-4c1/providers/Microsoft.RecoveryServices/vaults/11b95254-473/replicationFabrics/c921516e-d/replicationProtectionContainers/3445708a-7acf-4ed9-8ea6/remove"; + Requests[4666] = new DefaultHttpContext(); + Requests[4666].RequestServices = CreateServices(); + Requests[4666].Request.Method = "GET"; + Requests[4666].Request.Path = "/Subscriptions/c4491098-ca46-/resourceGroups/7a88d262-efb1-40a/providers/Microsoft.RecoveryServices/vaults/3245de85-fd3/replicationFabrics/739c6549-5/replicationProtectionContainers/0dbbb1ca-de0a-4cb2-9b24/replicationProtectableItems"; + Requests[4667] = new DefaultHttpContext(); + Requests[4667].RequestServices = CreateServices(); + Requests[4667].Request.Method = "GET"; + Requests[4667].Request.Path = "/Subscriptions/822239b8-2ccf-/resourceGroups/0510ae5d-5328-454/providers/Microsoft.RecoveryServices/vaults/17defc1e-f9b/replicationFabrics/809eb86d-9/replicationProtectionContainers/d72128be-f428-4c62-9060/replicationProtectedItems"; + Requests[4668] = new DefaultHttpContext(); + Requests[4668].RequestServices = CreateServices(); + Requests[4668].Request.Method = "GET"; + Requests[4668].Request.Path = "/Subscriptions/c2ada439-4963-/resourceGroups/30c2206b-9656-465/providers/Microsoft.RecoveryServices/vaults/0c3ea38b-872/replicationFabrics/c739e896-e/replicationProtectionContainers/c8b3c5a0-6c20-4e95-bf78/replicationProtectionContainerMappings"; + Requests[4669] = new DefaultHttpContext(); + Requests[4669].RequestServices = CreateServices(); + Requests[4669].Request.Method = "POST"; + Requests[4669].Request.Path = "/Subscriptions/a3183be3-4daa-/resourceGroups/3052c27c-f8d1-4aa/providers/Microsoft.RecoveryServices/vaults/d8e2f4de-5b0/replicationFabrics/f04cd597-6/replicationProtectionContainers/e26674eb-ce54-4232-b8dc/switchprotection"; + Requests[4670] = new DefaultHttpContext(); + Requests[4670].RequestServices = CreateServices(); + Requests[4670].Request.Method = "POST"; + Requests[4670].Request.Path = "/Subscriptions/d5df6584-3e8d-/resourceGroups/4b53d401-d181-439/providers/Microsoft.RecoveryServices/vaults/3b1c5728-7df/replicationFabrics/48a66a92-9/replicationRecoveryServicesProviders/70ae3a32-684/refreshProvider"; + Requests[4671] = new DefaultHttpContext(); + Requests[4671].RequestServices = CreateServices(); + Requests[4671].Request.Method = "POST"; + Requests[4671].Request.Path = "/Subscriptions/cadf7c24-79a0-/resourceGroups/4d06de25-e340-47e/providers/Microsoft.RecoveryServices/vaults/768f1669-d24/replicationFabrics/e7cc6d57-9/replicationRecoveryServicesProviders/9db7ae9f-6be/remove"; + Requests[4672] = new DefaultHttpContext(); + Requests[4672].RequestServices = CreateServices(); + Requests[4672].Request.Method = "GET"; + Requests[4672].Request.Path = "/Subscriptions/d7de5254-537d-/resourceGroups/e4ebbfab-0790-47a/providers/Microsoft.RecoveryServices/vaults/420b6dee-c7d/replicationFabrics/8fe510b9-5/replicationStorageClassifications/5578070c-4b45-4a38-a9a5-0/replicationStorageClassificationMappings"; + Requests[4673] = new DefaultHttpContext(); + Requests[4673].RequestServices = CreateServices(); + Requests[4673].Request.Method = "POST"; + Requests[4673].Request.Path = "/Subscriptions/2070276f-b530-/resourceGroups/aa9d4eae-70a6-473/providers/Microsoft.RecoveryServices/vaults/29bfac61-/backupFabrics/0dcd26df-3/protectionContainers/cf529f27-790c/inquire"; + Requests[4674] = new DefaultHttpContext(); + Requests[4674].RequestServices = CreateServices(); + Requests[4674].Request.Method = "GET"; + Requests[4674].Request.Path = "/Subscriptions/11a4b573-3108-/resourceGroups/08333068-d245-468/providers/Microsoft.RecoveryServices/vaults/1839bbfd-/backupFabrics/f5786d7f-7/protectionContainers/52c6c31a-1580/items"; + Requests[4675] = new DefaultHttpContext(); + Requests[4675].RequestServices = CreateServices(); + Requests[4675].Request.Method = "POST"; + Requests[4675].Request.Path = "/subscriptions/911b869e-4422-/resourceGroups/8a924bad-2054-40f/providers/Microsoft.Relay/namespaces/6a7f006c-0fdf/hybridConnections/31ec8e46-7a8e-4294-a/authorizationRules/3a480abd-650b-46a2-a4/listKeys"; + Requests[4676] = new DefaultHttpContext(); + Requests[4676].RequestServices = CreateServices(); + Requests[4676].Request.Method = "POST"; + Requests[4676].Request.Path = "/subscriptions/586e199e-a833-/resourceGroups/db6be129-11c7-492/providers/Microsoft.Relay/namespaces/e6862172-9893/hybridConnections/c2a3d948-6908-424b-b/authorizationRules/be4af6b3-539c-43d9-86/regenerateKeys"; + Requests[4677] = new DefaultHttpContext(); + Requests[4677].RequestServices = CreateServices(); + Requests[4677].Request.Method = "POST"; + Requests[4677].Request.Path = "/subscriptions/83febe01-dafa-/resourceGroups/de5a1bb8-c4fb-4b6/providers/Microsoft.Relay/namespaces/2d8f8967-4f53/wcfRelays/6adce0eb-/authorizationRules/72f60aad-5d64-4521-98/listKeys"; + Requests[4678] = new DefaultHttpContext(); + Requests[4678].RequestServices = CreateServices(); + Requests[4678].Request.Method = "POST"; + Requests[4678].Request.Path = "/subscriptions/a50358e1-50af-/resourceGroups/211a65af-7149-473/providers/Microsoft.Relay/namespaces/68749888-ca4b/wcfRelays/23195713-/authorizationRules/81428a13-822c-4e55-8e/regenerateKeys"; + Requests[4679] = new DefaultHttpContext(); + Requests[4679].RequestServices = CreateServices(); + Requests[4679].Request.Method = "POST"; + Requests[4679].Request.Path = "/subscriptions/f102749f-6832-/resourceGroups/4f63ab82-a61a-4e7/providers/Microsoft.ServiceBus/namespaces/bd72599c-4cbf/disasterRecoveryConfigs/68f2c/AuthorizationRules/11c9058b-aeb9-49e5-82/listKeys"; + Requests[4680] = new DefaultHttpContext(); + Requests[4680].RequestServices = CreateServices(); + Requests[4680].Request.Method = "POST"; + Requests[4680].Request.Path = "/subscriptions/839cf181-8d06-/resourceGroups/b160f93f-e36a-400/providers/Microsoft.ServiceBus/namespaces/cdb9fceb-bb98/queues/f34a7b32-/authorizationRules/87a47e56-9718-448c-97/ListKeys"; + Requests[4681] = new DefaultHttpContext(); + Requests[4681].RequestServices = CreateServices(); + Requests[4681].Request.Method = "POST"; + Requests[4681].Request.Path = "/subscriptions/0780dc43-ac7f-/resourceGroups/1f8cdb8a-fcab-43b/providers/Microsoft.ServiceBus/namespaces/44521384-1e1f/queues/37b35271-/authorizationRules/16cbdb43-0e84-43e2-84/regenerateKeys"; + Requests[4682] = new DefaultHttpContext(); + Requests[4682].RequestServices = CreateServices(); + Requests[4682].Request.Method = "POST"; + Requests[4682].Request.Path = "/subscriptions/e98d13d9-e4da-/resourceGroups/1f7d8474-1eec-499/providers/Microsoft.ServiceBus/namespaces/b82b1d83-1b6a/topics/9da93e08-/authorizationRules/0fc1395b-05f9-447c-b2/ListKeys"; + Requests[4683] = new DefaultHttpContext(); + Requests[4683].RequestServices = CreateServices(); + Requests[4683].Request.Method = "POST"; + Requests[4683].Request.Path = "/subscriptions/9efcf109-3e5c-/resourceGroups/14c3fd92-161d-427/providers/Microsoft.ServiceBus/namespaces/e4577389-109c/topics/023f69bd-/authorizationRules/0502565c-2767-4592-82/regenerateKeys"; + Requests[4684] = new DefaultHttpContext(); + Requests[4684].RequestServices = CreateServices(); + Requests[4684].Request.Method = "GET"; + Requests[4684].Request.Path = "/subscriptions/3bc075d7-cd8d-/resourceGroups/7049c115-2ec8-4e0/providers/Microsoft.ServiceBus/namespaces/e600c3cd-927d/topics/fc070140-/subscriptions/086d6001-65ed-40/rules"; + Requests[4685] = new DefaultHttpContext(); + Requests[4685].RequestServices = CreateServices(); + Requests[4685].Request.Method = "GET"; + Requests[4685].Request.Path = "/subscriptions/aedeb6d2-21c0-/resourceGroups/34953713-7b7f-4ef/providers/Microsoft.Sql/servers/c4df2bd6-0/databases/4a169048-f2c/advisors/1a1b2c1a-ac/recommendedActions"; + Requests[4686] = new DefaultHttpContext(); + Requests[4686].RequestServices = CreateServices(); + Requests[4686].Request.Method = "GET"; + Requests[4686].Request.Path = "/subscriptions/6fdbca7e-60c7-/resourceGroups/427c759e-1c49-429/providers/Microsoft.Sql/servers/0ed65828-c/databases/ccd709a5-dde/dataMaskingPolicies/f6d3e26e-cabc-4f1b-b0/rules"; + Requests[4687] = new DefaultHttpContext(); + Requests[4687].RequestServices = CreateServices(); + Requests[4687].Request.Method = "POST"; + Requests[4687].Request.Path = "/subscriptions/19e9ce3c-e17a-/resourceGroups/418c3339-9395-46a/providers/Microsoft.Sql/servers/a0fcc753-b/databases/4873880d-b84/operations/5be1f5f6-7f/cancel"; + Requests[4688] = new DefaultHttpContext(); + Requests[4688].RequestServices = CreateServices(); + Requests[4688].Request.Method = "POST"; + Requests[4688].Request.Path = "/subscriptions/36155b64-2246-/resourceGroups/7f86d35b-e628-421/providers/Microsoft.Sql/servers/129c692f-1/databases/7c5ff197-d8c/replicationLinks/af1d4d/failover"; + Requests[4689] = new DefaultHttpContext(); + Requests[4689].RequestServices = CreateServices(); + Requests[4689].Request.Method = "POST"; + Requests[4689].Request.Path = "/subscriptions/5152d741-d7d7-/resourceGroups/cae16b1a-ebf3-416/providers/Microsoft.Sql/servers/cdbfdfbd-8/databases/56c862cb-0fc/replicationLinks/960110/forceFailoverAllowDataLoss"; + Requests[4690] = new DefaultHttpContext(); + Requests[4690].RequestServices = CreateServices(); + Requests[4690].Request.Method = "POST"; + Requests[4690].Request.Path = "/subscriptions/81f519a6-d79b-/resourceGroups/c17a1d72-71e5-423/providers/Microsoft.Sql/servers/3092aef9-6/databases/2b413165-141/syncGroups/ba4934a6-6465/cancelSync"; + Requests[4691] = new DefaultHttpContext(); + Requests[4691].RequestServices = CreateServices(); + Requests[4691].Request.Method = "GET"; + Requests[4691].Request.Path = "/subscriptions/34a145b0-828a-/resourceGroups/e87dfdb9-faac-4f8/providers/Microsoft.Sql/servers/a357d667-9/databases/01af54e7-0d4/syncGroups/22672162-3bf0/hubSchemas"; + Requests[4692] = new DefaultHttpContext(); + Requests[4692].RequestServices = CreateServices(); + Requests[4692].Request.Method = "GET"; + Requests[4692].Request.Path = "/subscriptions/bc699320-8c2f-/resourceGroups/cf551b05-e8ca-455/providers/Microsoft.Sql/servers/1858f3da-0/databases/8d7aa38f-7b6/syncGroups/aa2b86d3-b72c/logs"; + Requests[4693] = new DefaultHttpContext(); + Requests[4693].RequestServices = CreateServices(); + Requests[4693].Request.Method = "POST"; + Requests[4693].Request.Path = "/subscriptions/87fb2f4d-e98c-/resourceGroups/087d20c9-ec83-441/providers/Microsoft.Sql/servers/1bb5dbc5-6/databases/ed312cce-98d/syncGroups/f6fb9cbf-367c/refreshHubSchema"; + Requests[4694] = new DefaultHttpContext(); + Requests[4694].RequestServices = CreateServices(); + Requests[4694].Request.Method = "GET"; + Requests[4694].Request.Path = "/subscriptions/a0a15705-7d50-/resourceGroups/1313bc11-6f88-4bc/providers/Microsoft.Sql/servers/9ed52a25-a/databases/0fb56c7d-94a/syncGroups/3b40c86b-6ed1/syncMembers"; + Requests[4695] = new DefaultHttpContext(); + Requests[4695].RequestServices = CreateServices(); + Requests[4695].Request.Method = "POST"; + Requests[4695].Request.Path = "/subscriptions/bf546b78-a622-/resourceGroups/97a94277-9353-48a/providers/Microsoft.Sql/servers/b86952ec-5/databases/8533ff5f-b2d/syncGroups/bd10c679-03db/triggerSync"; + Requests[4696] = new DefaultHttpContext(); + Requests[4696].RequestServices = CreateServices(); + Requests[4696].Request.Method = "GET"; + Requests[4696].Request.Path = "/subscriptions/9569b722-d1f5-/resourceGroups/fb14475a-e9b5-4ad/providers/Microsoft.Sql/servers/545b6131-d/databases/51735829-b1a/topQueries/4d60dbb/queryText"; + Requests[4697] = new DefaultHttpContext(); + Requests[4697].RequestServices = CreateServices(); + Requests[4697].Request.Method = "GET"; + Requests[4697].Request.Path = "/subscriptions/015736d6-1004-/resourceGroups/36d23458-5aa0-459/providers/Microsoft.Sql/servers/1043a224-e/databases/688ef447-419/topQueries/2fc5629/statistics"; + Requests[4698] = new DefaultHttpContext(); + Requests[4698].RequestServices = CreateServices(); + Requests[4698].Request.Method = "GET"; + Requests[4698].Request.Path = "/subscriptions/367e3302-5492-/resourceGroups/adafaa8e-26ae-4db/providers/Microsoft.Sql/servers/cd4fda18-5/databases/cb5add52-2de/transparentDataEncryption/916708db-379f-48b3-8cde-c7727/operationResults"; + Requests[4699] = new DefaultHttpContext(); + Requests[4699].RequestServices = CreateServices(); + Requests[4699].Request.Method = "GET"; + Requests[4699].Request.Path = "/subscriptions/dfdf9316-9a28-/resourceGroups/80215e82-ca78-4d2/providers/Microsoft.Sql/servers/9dde9758-1/databases/ddd92c19-2d4/vulnerabilityAssessments/cda84e08-b380-46c8-a093-8b9/scans"; + Requests[4700] = new DefaultHttpContext(); + Requests[4700].RequestServices = CreateServices(); + Requests[4700].Request.Method = "POST"; + Requests[4700].Request.Path = "/subscriptions/0d1ff1d2-8dd6-/resourceGroups/3240aed3-63fd-4b2/providers/Microsoft.Sql/servers/6606e035-8/elasticPools/6eaca3f4-4ceb-4/operations/6d221ba7-7d/cancel"; + Requests[4701] = new DefaultHttpContext(); + Requests[4701].RequestServices = CreateServices(); + Requests[4701].Request.Method = "GET"; + Requests[4701].Request.Path = "/subscriptions/52206174-1433-/resourceGroups/0610659e-4e26-495/providers/Microsoft.Sql/servers/f1cd5251-6/jobAgents/bf9b650e-cca/jobs/6847231/executions"; + Requests[4702] = new DefaultHttpContext(); + Requests[4702].RequestServices = CreateServices(); + Requests[4702].Request.Method = "POST"; + Requests[4702].Request.Path = "/subscriptions/d9410692-ab84-/resourceGroups/5ca100f4-6a77-48a/providers/Microsoft.Sql/servers/29d26321-1/jobAgents/2fd617f5-495/jobs/67c2a19/start"; + Requests[4703] = new DefaultHttpContext(); + Requests[4703].RequestServices = CreateServices(); + Requests[4703].Request.Method = "GET"; + Requests[4703].Request.Path = "/subscriptions/cfa3a137-b6f3-/resourceGroups/862c4c6d-33ae-49f/providers/Microsoft.Sql/servers/ee23247d-c/jobAgents/feff4dd0-e0b/jobs/bd596a1/steps"; + Requests[4704] = new DefaultHttpContext(); + Requests[4704].RequestServices = CreateServices(); + Requests[4704].Request.Method = "GET"; + Requests[4704].Request.Path = "/subscriptions/5f8915c5-d7d6-/resourceGroups/6c4c8822-fa4c-4e2/providers/Microsoft.Sql/servers/12655a71-8/jobAgents/e2affdca-717/jobs/947c517/versions"; + Requests[4705] = new DefaultHttpContext(); + Requests[4705].RequestServices = CreateServices(); + Requests[4705].Request.Method = "POST"; + Requests[4705].Request.Path = "/subscriptions/7b3a2d90-0795-/resourceGroups/aa0cb78d-591a-413/providers/Microsoft.StorSimple/managers/f543da65-72/devices/52e059b0-3/backupPolicies/31bc03ee-7196-44/backup"; + Requests[4706] = new DefaultHttpContext(); + Requests[4706].RequestServices = CreateServices(); + Requests[4706].Request.Method = "GET"; + Requests[4706].Request.Path = "/subscriptions/01949470-483c-/resourceGroups/0e8bcb27-db14-45f/providers/Microsoft.StorSimple/managers/2b512ffe-1f/devices/51fa0967-a/backupPolicies/6db23787-2e1c-4b/schedules"; + Requests[4707] = new DefaultHttpContext(); + Requests[4707].RequestServices = CreateServices(); + Requests[4707].Request.Method = "POST"; + Requests[4707].Request.Path = "/subscriptions/072497e7-029f-/resourceGroups/d6515e9d-90c4-452/providers/Microsoft.StorSimple/managers/dcea5dc5-49/devices/b6ae51da-2/backups/58a77d65-c/restore"; + Requests[4708] = new DefaultHttpContext(); + Requests[4708].RequestServices = CreateServices(); + Requests[4708].Request.Method = "POST"; + Requests[4708].Request.Path = "/subscriptions/739c4b9c-c235-/resourceGroups/f1723b6c-2e0f-4a8/providers/Microsoft.StorSimple/managers/17f08e31-7a/devices/81c97e26-b/hardwareComponentGroups/e6101485-0b3c-42dd-ba82-be/changeControllerPowerState"; + Requests[4709] = new DefaultHttpContext(); + Requests[4709].RequestServices = CreateServices(); + Requests[4709].Request.Method = "POST"; + Requests[4709].Request.Path = "/subscriptions/662696f7-4e36-/resourceGroups/c1216f47-3765-495/providers/Microsoft.StorSimple/managers/a776a335-e1/devices/04c8f5db-8/jobs/93a0114/cancel"; + Requests[4710] = new DefaultHttpContext(); + Requests[4710].RequestServices = CreateServices(); + Requests[4710].Request.Method = "GET"; + Requests[4710].Request.Path = "/subscriptions/f3649e35-4dfc-/resourceGroups/2cdd1271-b176-497/providers/Microsoft.StorSimple/managers/721b2c59-91/devices/9dfe2b85-0/volumeContainers/1c83dfc3-2b94-47fb-/metrics"; + Requests[4711] = new DefaultHttpContext(); + Requests[4711].RequestServices = CreateServices(); + Requests[4711].Request.Method = "GET"; + Requests[4711].Request.Path = "/subscriptions/6620de1d-85da-/resourceGroups/bd9f7bd3-cfc7-4c2/providers/Microsoft.StorSimple/managers/ffb2c835-6f/devices/5d5961bc-2/volumeContainers/5f1bfdbd-049b-4951-/metricsDefinitions"; + Requests[4712] = new DefaultHttpContext(); + Requests[4712].RequestServices = CreateServices(); + Requests[4712].Request.Method = "GET"; + Requests[4712].Request.Path = "/subscriptions/c0e4fdfb-01bf-/resourceGroups/42efb110-8322-433/providers/Microsoft.StorSimple/managers/77be429d-c0/devices/32a3424f-3/volumeContainers/2ebebbfa-8539-4d73-/volumes"; + Requests[4713] = new DefaultHttpContext(); + Requests[4713].RequestServices = CreateServices(); + Requests[4713].Request.Method = "POST"; + Requests[4713].Request.Path = "/subscriptions/86b450fd-23cf-/resourcegroups/c4b95d5d-d6c8-43c/providers/Microsoft.Update.Admin/updateLocations/5304ee6c-ba34-/updates/00e5fa06-7/updateRuns/02499b7/rerun"; + Requests[4714] = new DefaultHttpContext(); + Requests[4714].RequestServices = CreateServices(); + Requests[4714].Request.Method = "GET"; + Requests[4714].Request.Path = "/subscriptions/971d74a6-f0e9-/resourceGroups/5e6e2cac-2fd0-438/providers/microsoft.visualstudio/account/cda5a7d1-4d80-42/project/cb3a7963-e20/subContainers/51bb20ec-7de9-43/status"; + Requests[4715] = new DefaultHttpContext(); + Requests[4715].RequestServices = CreateServices(); + Requests[4715].Request.Method = "GET"; + Requests[4715].Request.Path = "/subscriptions/abbccf32-0301-/resourceGroups/e55db8cf-51cf-49f/providers/Microsoft.Web/hostingEnvironments/9468c/workerPools/3c660201-dd20-/instances/fdf3659f/metricdefinitions"; + Requests[4716] = new DefaultHttpContext(); + Requests[4716].RequestServices = CreateServices(); + Requests[4716].Request.Method = "GET"; + Requests[4716].Request.Path = "/subscriptions/2df5af01-8525-/resourceGroups/c711fd37-cad2-4c5/providers/Microsoft.Web/hostingEnvironments/b1df8/workerPools/461b2366-7fa2-/instances/ddcc8870/metrics"; + Requests[4717] = new DefaultHttpContext(); + Requests[4717].RequestServices = CreateServices(); + Requests[4717].Request.Method = "POST"; + Requests[4717].Request.Path = "/subscriptions/e38db067-ea8f-/resourceGroups/5f3cbc7c-5cd1-4b8/providers/Microsoft.Web/serverfarms/c7309/hybridConnectionNamespaces/e202c0e2-3127/relays/82e4534d-/listKeys"; + Requests[4718] = new DefaultHttpContext(); + Requests[4718].RequestServices = CreateServices(); + Requests[4718].Request.Method = "GET"; + Requests[4718].Request.Path = "/subscriptions/73e734d2-2eed-/resourceGroups/26d9a2a9-7244-44c/providers/Microsoft.Web/serverfarms/77482/hybridConnectionNamespaces/a4c782de-9565/relays/0ddb6212-/sites"; + Requests[4719] = new DefaultHttpContext(); + Requests[4719].RequestServices = CreateServices(); + Requests[4719].Request.Method = "POST"; + Requests[4719].Request.Path = "/subscriptions/cc7a787c-804d-/resourceGroups/686d2d3b-bcb8-42d/providers/Microsoft.Web/sites/648c2/hybridConnectionNamespaces/e629aa62-2af1/relays/f8425431-/listKeys"; + Requests[4720] = new DefaultHttpContext(); + Requests[4720].RequestServices = CreateServices(); + Requests[4720].Request.Method = "GET"; + Requests[4720].Request.Path = "/subscriptions/3f4aaa95-0a00-/resourceGroups/292d992e-12f9-4b3/providers/Microsoft.Web/sites/a37a8/instances/576a2278-6/processes/8c34d123-/dump"; + Requests[4721] = new DefaultHttpContext(); + Requests[4721].RequestServices = CreateServices(); + Requests[4721].Request.Method = "GET"; + Requests[4721].Request.Path = "/subscriptions/7dbf9bd9-fab7-/resourceGroups/cdf64ec1-dde3-4a0/providers/Microsoft.Web/sites/49903/instances/7909d947-a/processes/7e207f2d-/modules"; + Requests[4722] = new DefaultHttpContext(); + Requests[4722].RequestServices = CreateServices(); + Requests[4722].Request.Method = "GET"; + Requests[4722].Request.Path = "/subscriptions/a2c1f3b1-98f1-/resourceGroups/f401e095-5d4a-4f7/providers/Microsoft.Web/sites/f33cf/instances/8bfa4ad5-a/processes/2dbd8d47-/threads"; + Requests[4723] = new DefaultHttpContext(); + Requests[4723].RequestServices = CreateServices(); + Requests[4723].Request.Method = "POST"; + Requests[4723].Request.Path = "/subscriptions/e63b8497-fa92-/resourceGroups/08625ecd-9a31-48f/providers/Microsoft.Web/sites/3b93b/slots/3a5f6/backups/c6f8a1ba/list"; + Requests[4724] = new DefaultHttpContext(); + Requests[4724].RequestServices = CreateServices(); + Requests[4724].Request.Method = "POST"; + Requests[4724].Request.Path = "/subscriptions/10e44171-3574-/resourceGroups/a49523f9-0d5a-427/providers/Microsoft.Web/sites/ad3fc/slots/28b1d/backups/d097a76b/restore"; + Requests[4725] = new DefaultHttpContext(); + Requests[4725].RequestServices = CreateServices(); + Requests[4725].Request.Method = "POST"; + Requests[4725].Request.Path = "/subscriptions/4eeef959-0aa4-/resourceGroups/cc65aaca-08a4-4ae/providers/Microsoft.Web/sites/fa177/slots/ab596/continuouswebjobs/987c1393-c/start"; + Requests[4726] = new DefaultHttpContext(); + Requests[4726].RequestServices = CreateServices(); + Requests[4726].Request.Method = "POST"; + Requests[4726].Request.Path = "/subscriptions/9c01ed79-4b96-/resourceGroups/a0166bab-31da-4bb/providers/Microsoft.Web/sites/c4be1/slots/247a9/continuouswebjobs/d9d64be0-d/stop"; + Requests[4727] = new DefaultHttpContext(); + Requests[4727].RequestServices = CreateServices(); + Requests[4727].Request.Method = "GET"; + Requests[4727].Request.Path = "/subscriptions/df2d8d91-66b8-/resourceGroups/7bac8d39-7716-469/providers/Microsoft.Web/sites/7e1c0/slots/d471f/deployments/ad62c/log"; + Requests[4728] = new DefaultHttpContext(); + Requests[4728].RequestServices = CreateServices(); + Requests[4728].Request.Method = "POST"; + Requests[4728].Request.Path = "/subscriptions/938c682b-ab5c-/resourceGroups/a74630b8-5e8c-412/providers/Microsoft.Web/sites/f4a94/slots/d4326/functions/5a31c99c-386/listsecrets"; + Requests[4729] = new DefaultHttpContext(); + Requests[4729].RequestServices = CreateServices(); + Requests[4729].Request.Method = "GET"; + Requests[4729].Request.Path = "/subscriptions/b5d60395-1f9b-/resourceGroups/1723f217-fa12-483/providers/Microsoft.Web/sites/c5c99/slots/748e5/instances/814ddb80-a/deployments"; + Requests[4730] = new DefaultHttpContext(); + Requests[4730].RequestServices = CreateServices(); + Requests[4730].Request.Method = "GET"; + Requests[4730].Request.Path = "/subscriptions/b5259ddb-18eb-/resourceGroups/62b0a6e8-2a00-4d0/providers/Microsoft.Web/sites/502bb/slots/5985e/instances/96923854-8/processes"; + Requests[4731] = new DefaultHttpContext(); + Requests[4731].RequestServices = CreateServices(); + Requests[4731].Request.Method = "GET"; + Requests[4731].Request.Path = "/subscriptions/7b7cc0e1-282b-/resourceGroups/c303567e-65cb-432/providers/Microsoft.Web/sites/3d550/slots/489e5/processes/67871ad8-/dump"; + Requests[4732] = new DefaultHttpContext(); + Requests[4732].RequestServices = CreateServices(); + Requests[4732].Request.Method = "GET"; + Requests[4732].Request.Path = "/subscriptions/1578dbc0-fdd4-/resourceGroups/75f948dd-81a6-4fb/providers/Microsoft.Web/sites/175bf/slots/b0778/processes/8fc3cdf7-/modules"; + Requests[4733] = new DefaultHttpContext(); + Requests[4733].RequestServices = CreateServices(); + Requests[4733].Request.Method = "GET"; + Requests[4733].Request.Path = "/subscriptions/d401ff72-7041-/resourceGroups/a14228c0-2e6c-4d2/providers/Microsoft.Web/sites/7ce52/slots/8d8f6/processes/23999d1b-/threads"; + Requests[4734] = new DefaultHttpContext(); + Requests[4734].RequestServices = CreateServices(); + Requests[4734].Request.Method = "GET"; + Requests[4734].Request.Path = "/subscriptions/a5265d51-6c8d-/resourceGroups/69b94a40-d07d-465/providers/Microsoft.Web/sites/2cbbb/slots/9a78d/triggeredwebjobs/9862a73b-2/history"; + Requests[4735] = new DefaultHttpContext(); + Requests[4735].RequestServices = CreateServices(); + Requests[4735].Request.Method = "POST"; + Requests[4735].Request.Path = "/subscriptions/7a4cc787-eb36-/resourceGroups/159e8375-52d5-482/providers/Microsoft.Web/sites/95ab2/slots/84be4/triggeredwebjobs/9acb76b5-0/run"; + Requests[4736] = new DefaultHttpContext(); + Requests[4736].RequestServices = CreateServices(); + Requests[4736].Request.Method = "POST"; + Requests[4736].Request.Path = "/subscriptions/813f6259-46c3-/resourceGroups/7c22e7f5-187c-4df/providers/Microsoft.Web/sites/8c4c6acf/diagnostics/4fe196df-5460-4dbb/analyses/25f2a823-d9d/execute"; + Requests[4737] = new DefaultHttpContext(); + Requests[4737].RequestServices = CreateServices(); + Requests[4737].Request.Method = "POST"; + Requests[4737].Request.Path = "/subscriptions/a75688e1-14dd-/resourceGroups/2a0184ae-ca5e-419/providers/Microsoft.Web/sites/9b2179fc/diagnostics/8cb065bd-f234-42d9/detectors/4a65baf6-9e9/execute"; + Requests[4738] = new DefaultHttpContext(); + Requests[4738].RequestServices = CreateServices(); + Requests[4738].Request.Method = "GET"; + Requests[4738].Request.Path = "/subscriptions/6dbb2bbe-a30c-/resourceGroups/d352c478-968c-40e/providers/Microsoft.Web/sites/adbcb251/slots/2ccaa/diagnostics/5075d801-30b0-4af5/analyses"; + Requests[4739] = new DefaultHttpContext(); + Requests[4739].RequestServices = CreateServices(); + Requests[4739].Request.Method = "GET"; + Requests[4739].Request.Path = "/subscriptions/d363edf9-84a5-/resourceGroups/b950f4b0-3a7d-4bc/providers/Microsoft.Web/sites/7c42d520/slots/f8a74/diagnostics/a07a5ffe-2432-4ae5/detectors"; + Requests[4740] = new DefaultHttpContext(); + Requests[4740].RequestServices = CreateServices(); + Requests[4740].Request.Method = "GET"; + Requests[4740].Request.Path = "/subscriptions/9b72213d-36ac-/resourceGroups/c7ab163f-db23-400/providers/Microsoft.DocumentDB/databaseAccounts/ab8566e6-09/databases/c2ffb20e-0d/collections/dec3f44d-822a/partitions/metrics"; + Requests[4741] = new DefaultHttpContext(); + Requests[4741].RequestServices = CreateServices(); + Requests[4741].Request.Method = "GET"; + Requests[4741].Request.Path = "/subscriptions/3b0351f3-aaf0-/resourceGroups/aab01426-9090-449/providers/Microsoft.DocumentDB/databaseAccounts/d348dddd-8b/databases/464544c1-9b/collections/7aaa1004-ba61/partitions/usages"; + Requests[4742] = new DefaultHttpContext(); + Requests[4742].RequestServices = CreateServices(); + Requests[4742].Request.Method = "GET"; + Requests[4742].Request.Path = "/subscriptions/937c34b3-6b48-/resourceGroups/ad343e0c-8a6e-484/providers/Microsoft.DocumentDB/databaseAccounts/c8e854a7-9a/sourceRegion/693e51cf-639/targetRegion/2f47c2d0-ed4/percentile/metrics"; + Requests[4743] = new DefaultHttpContext(); + Requests[4743].RequestServices = CreateServices(); + Requests[4743].Request.Method = "PUT"; + Requests[4743].Request.Path = "/subscriptions/59bc0d98-3608-/resourceGroups/4abfb1c5-f1cd-478/providers/Microsoft.Web/sites/f8b1d/slots/66dff/instances/d7d3c1c9-7/extensions/MSDeploy"; + Requests[4744] = new DefaultHttpContext(); + Requests[4744].RequestServices = CreateServices(); + Requests[4744].Request.Method = "GET"; + Requests[4744].Request.Path = "/subscriptions/a782917a-8cb2-/resourceGroups/89364626-1fd4-4bd/providers/Microsoft.Web/sites/a938a/slots/8fca2/instances/71cbb791-4/extensions/MSDeploy"; + Requests[4745] = new DefaultHttpContext(); + Requests[4745].RequestServices = CreateServices(); + Requests[4745].Request.Method = "GET"; + Requests[4745].Request.Path = "/subscriptions/18621338-a8f2-/resourceGroups/e437fea3-9687-4c4/providers/Microsoft.Web/sites/05d79/slots/b5d2f/instances/0512666b-a/extensions/MSDeploy/log"; + Requests[4746] = new DefaultHttpContext(); + Requests[4746].RequestServices = CreateServices(); + Requests[4746].Request.Method = "DELETE"; + Requests[4746].Request.Path = "/subscriptions/349cc4f8-65db-/resourceGroups/971713cf-c863-44a/providers/Microsoft.ApiManagement/service/fbf1680a-b9/apis/fa151/diagnostics/e43877d6-cf2/loggers/4a3439f7"; + Requests[4747] = new DefaultHttpContext(); + Requests[4747].RequestServices = CreateServices(); + Requests[4747].Request.Method = "PUT"; + Requests[4747].Request.Path = "/subscriptions/eb53272f-ac6a-/resourceGroups/f8290dc4-819a-448/providers/Microsoft.ApiManagement/service/dbc8cac1-cc/apis/91d27/diagnostics/34790a10-dce/loggers/b91dd92d"; + Requests[4748] = new DefaultHttpContext(); + Requests[4748].RequestServices = CreateServices(); + Requests[4748].Request.Method = "HEAD"; + Requests[4748].Request.Path = "/subscriptions/c1b45f81-eaee-/resourceGroups/64bd37ce-22b5-433/providers/Microsoft.ApiManagement/service/ba64efeb-29/apis/604e4/diagnostics/80d460eb-01a/loggers/3bf428ad"; + Requests[4749] = new DefaultHttpContext(); + Requests[4749].RequestServices = CreateServices(); + Requests[4749].Request.Method = "DELETE"; + Requests[4749].Request.Path = "/subscriptions/e7437b56-9aac-/resourceGroups/8ec3e2b0-5cc1-492/providers/Microsoft.ApiManagement/service/7f9f4427-ef/apis/d24e6/issues/e8e0801/attachments/d876621d-da9"; + Requests[4750] = new DefaultHttpContext(); + Requests[4750].RequestServices = CreateServices(); + Requests[4750].Request.Method = "PUT"; + Requests[4750].Request.Path = "/subscriptions/72e3928c-00ef-/resourceGroups/1eab03e0-d78d-423/providers/Microsoft.ApiManagement/service/d7639d3e-66/apis/e5a4e/issues/1494765/attachments/673601ad-71b"; + Requests[4751] = new DefaultHttpContext(); + Requests[4751].RequestServices = CreateServices(); + Requests[4751].Request.Method = "GET"; + Requests[4751].Request.Path = "/subscriptions/a4d600b5-d027-/resourceGroups/a27f5cfb-f8e1-47a/providers/Microsoft.ApiManagement/service/02139296-37/apis/8a245/issues/ef5d77b/attachments/1b162378-b2c"; + Requests[4752] = new DefaultHttpContext(); + Requests[4752].RequestServices = CreateServices(); + Requests[4752].Request.Method = "HEAD"; + Requests[4752].Request.Path = "/subscriptions/908eb58a-6183-/resourceGroups/cd6d16a9-f7cb-4aa/providers/Microsoft.ApiManagement/service/d704c8dc-7f/apis/74b95/issues/924cc6e/attachments/dd66a33e-a4a"; + Requests[4753] = new DefaultHttpContext(); + Requests[4753].RequestServices = CreateServices(); + Requests[4753].Request.Method = "HEAD"; + Requests[4753].Request.Path = "/subscriptions/62554447-6185-/resourceGroups/d7abf8f2-81bb-429/providers/Microsoft.ApiManagement/service/9970ab4d-8d/apis/77bb6/issues/3dd36f6/comments/40785c63-"; + Requests[4754] = new DefaultHttpContext(); + Requests[4754].RequestServices = CreateServices(); + Requests[4754].Request.Method = "DELETE"; + Requests[4754].Request.Path = "/subscriptions/803be9e1-35e1-/resourceGroups/0591e801-df6d-40f/providers/Microsoft.ApiManagement/service/087675fa-33/apis/815fb/issues/a97b609/comments/3828b636-"; + Requests[4755] = new DefaultHttpContext(); + Requests[4755].RequestServices = CreateServices(); + Requests[4755].Request.Method = "GET"; + Requests[4755].Request.Path = "/subscriptions/8fe9ad48-d441-/resourceGroups/11df3a8f-2bfb-450/providers/Microsoft.ApiManagement/service/e50b4f64-59/apis/23f73/issues/d786dcf/comments/caefd52a-"; + Requests[4756] = new DefaultHttpContext(); + Requests[4756].RequestServices = CreateServices(); + Requests[4756].Request.Method = "PUT"; + Requests[4756].Request.Path = "/subscriptions/91526a03-da36-/resourceGroups/10cdcd17-c920-463/providers/Microsoft.ApiManagement/service/4657e0d1-28/apis/ec72c/issues/1340396/comments/0f440a54-"; + Requests[4757] = new DefaultHttpContext(); + Requests[4757].RequestServices = CreateServices(); + Requests[4757].Request.Method = "GET"; + Requests[4757].Request.Path = "/subscriptions/08287950-64d1-/resourceGroups/8df4e939-f4fb-462/providers/Microsoft.ApiManagement/service/57dd4d64-33/apis/59d78/operations/36a278ea-80/policies/e2a68346"; + Requests[4758] = new DefaultHttpContext(); + Requests[4758].RequestServices = CreateServices(); + Requests[4758].Request.Method = "DELETE"; + Requests[4758].Request.Path = "/subscriptions/78d8485e-20ea-/resourceGroups/e75b983c-6d26-407/providers/Microsoft.ApiManagement/service/8c76a1bd-42/apis/feaae/operations/5c5098ff-fb/policies/eca3df56"; + Requests[4759] = new DefaultHttpContext(); + Requests[4759].RequestServices = CreateServices(); + Requests[4759].Request.Method = "PUT"; + Requests[4759].Request.Path = "/subscriptions/23359b2b-d635-/resourceGroups/edc14e4a-34b4-469/providers/Microsoft.ApiManagement/service/573d1b0e-06/apis/bbeb3/operations/f446cb42-64/policies/797ba76f"; + Requests[4760] = new DefaultHttpContext(); + Requests[4760].RequestServices = CreateServices(); + Requests[4760].Request.Method = "HEAD"; + Requests[4760].Request.Path = "/subscriptions/46806f56-7bae-/resourceGroups/ba7c65ab-340e-47a/providers/Microsoft.ApiManagement/service/8f26d53c-e4/apis/a4f7b/operations/1b30fc01-8f/policies/901c129a"; + Requests[4761] = new DefaultHttpContext(); + Requests[4761].RequestServices = CreateServices(); + Requests[4761].Request.Method = "DELETE"; + Requests[4761].Request.Path = "/subscriptions/21cf600e-7b2e-/resourceGroups/c52f0599-b7c6-4a4/providers/Microsoft.ApiManagement/service/d9562c9f-42/apis/08e9a/operations/f4c419f3-dd/tags/bde47"; + Requests[4762] = new DefaultHttpContext(); + Requests[4762].RequestServices = CreateServices(); + Requests[4762].Request.Method = "HEAD"; + Requests[4762].Request.Path = "/subscriptions/70dd1520-06fc-/resourceGroups/b4f08660-4781-43b/providers/Microsoft.ApiManagement/service/937757ee-44/apis/4b4f1/operations/1e456995-c2/tags/31d8b"; + Requests[4763] = new DefaultHttpContext(); + Requests[4763].RequestServices = CreateServices(); + Requests[4763].Request.Method = "GET"; + Requests[4763].Request.Path = "/subscriptions/ff0ed774-547e-/resourceGroups/8424b4e2-8693-4e3/providers/Microsoft.ApiManagement/service/3ae9a88f-c8/apis/e3e79/operations/827c0b9f-17/tags/5e7a8"; + Requests[4764] = new DefaultHttpContext(); + Requests[4764].RequestServices = CreateServices(); + Requests[4764].Request.Method = "PUT"; + Requests[4764].Request.Path = "/subscriptions/3ab04dd8-983d-/resourceGroups/813707af-c2b2-494/providers/Microsoft.ApiManagement/service/a50343d1-72/apis/d9a02/operations/6c901e09-c7/tags/62c6f"; + Requests[4765] = new DefaultHttpContext(); + Requests[4765].RequestServices = CreateServices(); + Requests[4765].Request.Method = "GET"; + Requests[4765].Request.Path = "/subscriptions/9a06d9ec-a4b0-/resourceGroups/72387a38-81c7-43b/providers/Microsoft.Automation/automationAccounts/90c17807-5b47-47a8-91/sourceControls/19846e35-9793-47e/sourceControlSyncJobs/eede4b06-cac1-4343-80f/streams/0c6144b2"; + Requests[4766] = new DefaultHttpContext(); + Requests[4766].RequestServices = CreateServices(); + Requests[4766].Request.Method = "GET"; + Requests[4766].Request.Path = "/subscriptions/45e854b1-eb16-/resourceGroups/ec2f3c8c-4305-456/providers/microsoft.Compute/virtualMachineScaleSets/20b8565d-6dd6-4b27-b25b-4b/virtualMachines/9c4848f2-3cd0-4d34-/networkInterfaces/d613c5b7-c1a0-4442-a/ipConfigurations/d047a990-2e09-4e5d-"; + Requests[4767] = new DefaultHttpContext(); + Requests[4767].RequestServices = CreateServices(); + Requests[4767].Request.Method = "GET"; + Requests[4767].Request.Path = "/subscriptions/23810bd9-bcb4-/resourceGroups/a0c1d8f9-ae8b-446/providers/Microsoft.Fabric.Admin/fabricLocations/aff278f7/storageSubSystems/99414968-964d-4a/storagePools/2c0bfbc5-3e/volumes/6ed7e6"; + Requests[4768] = new DefaultHttpContext(); + Requests[4768].RequestServices = CreateServices(); + Requests[4768].Request.Method = "GET"; + Requests[4768].Request.Path = "/subscriptions/eb2184a2-d88d-/resourceGroups/2207a5da-edc0-434/providers/Microsoft.Logic/workflows/365f0614-aa7/runs/beedc89/actions/66b52a1b-5/repetitions/0d1f91c1-4400-"; + Requests[4769] = new DefaultHttpContext(); + Requests[4769].RequestServices = CreateServices(); + Requests[4769].Request.Method = "GET"; + Requests[4769].Request.Path = "/subscriptions/97bf43c4-f607-/resourceGroups/1869fdc8-697a-46c/providers/Microsoft.Logic/workflows/63db5d76-225/runs/4199f86/actions/c841bc87-d/scopeRepetitions/2b9be8c2-a690-"; + Requests[4770] = new DefaultHttpContext(); + Requests[4770].RequestServices = CreateServices(); + Requests[4770].Request.Method = "GET"; + Requests[4770].Request.Path = "/subscriptions/71b5a0a7-f519-/resourceGroups/aa57f075-6f9d-4cb/providers/Microsoft.Migrate/projects/e07c74e1-77/groups/cfa5cd2d-/assessments/2a3ed42b-b698-/assessedMachines/009782ae-ba87-4f38-"; + Requests[4771] = new DefaultHttpContext(); + Requests[4771].RequestServices = CreateServices(); + Requests[4771].Request.Method = "GET"; + Requests[4771].Request.Path = "/Subscriptions/6b595f74-b1d8-/resourceGroups/6821f2ec-db69-4c5/providers/Microsoft.RecoveryServices/vaults/6682e677-f5e/replicationFabrics/2371e549-9/replicationNetworks/8de96dca-10/replicationNetworkMappings/30398f66-c05b-402b"; + Requests[4772] = new DefaultHttpContext(); + Requests[4772].RequestServices = CreateServices(); + Requests[4772].Request.Method = "DELETE"; + Requests[4772].Request.Path = "/Subscriptions/2a556a7e-3983-/resourceGroups/b15e9a5b-4375-403/providers/Microsoft.RecoveryServices/vaults/1e921340-fcf/replicationFabrics/c7fb4169-c/replicationNetworks/604f556a-bc/replicationNetworkMappings/606ef4cb-37b1-4fb8"; + Requests[4773] = new DefaultHttpContext(); + Requests[4773].RequestServices = CreateServices(); + Requests[4773].Request.Method = "PUT"; + Requests[4773].Request.Path = "/Subscriptions/043cf461-72ec-/resourceGroups/58bff61b-26d4-4eb/providers/Microsoft.RecoveryServices/vaults/f36af61e-7fd/replicationFabrics/3acdc4e4-b/replicationNetworks/1675be78-e1/replicationNetworkMappings/f790f9bb-9d17-4df6"; + Requests[4774] = new DefaultHttpContext(); + Requests[4774].RequestServices = CreateServices(); + Requests[4774].Request.Method = "PATCH"; + Requests[4774].Request.Path = "/Subscriptions/49bccff9-535c-/resourceGroups/a999a17d-1b85-405/providers/Microsoft.RecoveryServices/vaults/6c673dbf-47c/replicationFabrics/02ac9fbd-f/replicationNetworks/f13b955b-a1/replicationNetworkMappings/d6423d9a-7201-4efa"; + Requests[4775] = new DefaultHttpContext(); + Requests[4775].RequestServices = CreateServices(); + Requests[4775].Request.Method = "GET"; + Requests[4775].Request.Path = "/Subscriptions/ac8eb8e4-0adc-/resourceGroups/91d8a396-65e9-431/providers/Microsoft.RecoveryServices/vaults/1ae7bfe4-8ac/replicationFabrics/4bc939f8-4/replicationProtectionContainers/0f1fdf89-7915-40b4-a422/replicationProtectableItems/59bc86f2-77af-4527-"; + Requests[4776] = new DefaultHttpContext(); + Requests[4776].RequestServices = CreateServices(); + Requests[4776].Request.Method = "PATCH"; + Requests[4776].Request.Path = "/Subscriptions/79b2b752-2549-/resourceGroups/53c00112-8b0a-492/providers/Microsoft.RecoveryServices/vaults/0853cda0-a0a/replicationFabrics/1a95ba06-d/replicationProtectionContainers/b34cb868-ec87-4ad4-ad42/replicationProtectedItems/92c8b96d-34ce-49a0-81a6-1cc"; + Requests[4777] = new DefaultHttpContext(); + Requests[4777].RequestServices = CreateServices(); + Requests[4777].Request.Method = "DELETE"; + Requests[4777].Request.Path = "/Subscriptions/8de5eee2-df89-/resourceGroups/ed8a4fea-1e61-482/providers/Microsoft.RecoveryServices/vaults/a201ecce-6ab/replicationFabrics/6b21ffa8-c/replicationProtectionContainers/bf3e219e-21be-44b8-9ded/replicationProtectedItems/593a2bb1-fe17-4e75-896e-d93"; + Requests[4778] = new DefaultHttpContext(); + Requests[4778].RequestServices = CreateServices(); + Requests[4778].Request.Method = "PUT"; + Requests[4778].Request.Path = "/Subscriptions/62097457-bcfc-/resourceGroups/c7fbf5ae-49ec-4df/providers/Microsoft.RecoveryServices/vaults/203943eb-b0a/replicationFabrics/37f50b7a-0/replicationProtectionContainers/f1aedb60-277f-40a9-8336/replicationProtectedItems/fc7fdb4a-e4ba-40dc-86fd-aee"; + Requests[4779] = new DefaultHttpContext(); + Requests[4779].RequestServices = CreateServices(); + Requests[4779].Request.Method = "GET"; + Requests[4779].Request.Path = "/Subscriptions/6c4ad7f2-cf36-/resourceGroups/717d6d32-d3c3-46e/providers/Microsoft.RecoveryServices/vaults/0f9a0da6-91d/replicationFabrics/dc14e1e5-5/replicationProtectionContainers/8425814a-8e35-4551-afb0/replicationProtectedItems/8d7b10f5-eeff-4c4b-a345-5c6"; + Requests[4780] = new DefaultHttpContext(); + Requests[4780].RequestServices = CreateServices(); + Requests[4780].Request.Method = "DELETE"; + Requests[4780].Request.Path = "/Subscriptions/ba0c93fc-6bbe-/resourceGroups/b0e78a5e-9119-446/providers/Microsoft.RecoveryServices/vaults/a2b7ca10-4cf/replicationFabrics/f4cfa232-9/replicationProtectionContainers/b1197ebd-be52-4021-91b5/replicationProtectionContainerMappings/19607196-0b"; + Requests[4781] = new DefaultHttpContext(); + Requests[4781].RequestServices = CreateServices(); + Requests[4781].Request.Method = "PUT"; + Requests[4781].Request.Path = "/Subscriptions/bb94f09f-baad-/resourceGroups/c15c718a-1104-4b1/providers/Microsoft.RecoveryServices/vaults/d9eccc8b-5a4/replicationFabrics/f7b53597-a/replicationProtectionContainers/ac840670-55ab-4fbe-ab58/replicationProtectionContainerMappings/5d37306a-07"; + Requests[4782] = new DefaultHttpContext(); + Requests[4782].RequestServices = CreateServices(); + Requests[4782].Request.Method = "PATCH"; + Requests[4782].Request.Path = "/Subscriptions/dec90b2a-8352-/resourceGroups/20c00ee7-77ed-40d/providers/Microsoft.RecoveryServices/vaults/6be70a94-902/replicationFabrics/3bf284c0-6/replicationProtectionContainers/72a3c813-45fa-4511-a488/replicationProtectionContainerMappings/b47dd0a9-07"; + Requests[4783] = new DefaultHttpContext(); + Requests[4783].RequestServices = CreateServices(); + Requests[4783].Request.Method = "GET"; + Requests[4783].Request.Path = "/Subscriptions/b0fc73a1-dfbb-/resourceGroups/9e8d7ef5-3007-4b7/providers/Microsoft.RecoveryServices/vaults/90b86383-471/replicationFabrics/56187d73-0/replicationProtectionContainers/6f8239ed-8381-4ee0-99b8/replicationProtectionContainerMappings/ac261d5d-ae"; + Requests[4784] = new DefaultHttpContext(); + Requests[4784].RequestServices = CreateServices(); + Requests[4784].Request.Method = "PUT"; + Requests[4784].Request.Path = "/Subscriptions/2b5ee1f2-39f8-/resourceGroups/8a6a16b5-22f8-4fa/providers/Microsoft.RecoveryServices/vaults/37176276-15d/replicationFabrics/7b767eff-7/replicationStorageClassifications/3983546d-e668-436d-b20a-4/replicationStorageClassificationMappings/899cc569-870d-4a52-a191-c4960c23"; + Requests[4785] = new DefaultHttpContext(); + Requests[4785].RequestServices = CreateServices(); + Requests[4785].Request.Method = "GET"; + Requests[4785].Request.Path = "/Subscriptions/78879967-ff1e-/resourceGroups/b2e57593-9b74-4a0/providers/Microsoft.RecoveryServices/vaults/18268024-aea/replicationFabrics/875d2adf-b/replicationStorageClassifications/0f5bb834-4870-4acb-8fde-a/replicationStorageClassificationMappings/cfc9e271-f491-46a8-b696-e4812312"; + Requests[4786] = new DefaultHttpContext(); + Requests[4786].RequestServices = CreateServices(); + Requests[4786].Request.Method = "DELETE"; + Requests[4786].Request.Path = "/Subscriptions/5ae21222-235e-/resourceGroups/9fefa080-f1bd-4a8/providers/Microsoft.RecoveryServices/vaults/62a5fd23-7c9/replicationFabrics/182cb9bd-1/replicationStorageClassifications/fd2b16de-0a34-46ea-ac12-2/replicationStorageClassificationMappings/e6e327bd-91f3-4d4d-86e0-9a4a6843"; + Requests[4787] = new DefaultHttpContext(); + Requests[4787].RequestServices = CreateServices(); + Requests[4787].Request.Method = "GET"; + Requests[4787].Request.Path = "/Subscriptions/71b8736e-c3a3-/resourceGroups/c13f7d77-4980-4e9/providers/Microsoft.RecoveryServices/vaults/3edb4673-/backupFabrics/b4907fbf-0/protectionContainers/0b5d4ea1-84a1/operationResults/dbafe023-6d"; + Requests[4788] = new DefaultHttpContext(); + Requests[4788].RequestServices = CreateServices(); + Requests[4788].Request.Method = "PUT"; + Requests[4788].Request.Path = "/Subscriptions/9a5abdc2-a0a6-/resourceGroups/17e214b3-63c8-484/providers/Microsoft.RecoveryServices/vaults/da31c54e-/backupFabrics/9175981a-a/protectionContainers/d660d6a2-bad9/protectedItems/b1b7571f-6df1-424"; + Requests[4789] = new DefaultHttpContext(); + Requests[4789].RequestServices = CreateServices(); + Requests[4789].Request.Method = "GET"; + Requests[4789].Request.Path = "/Subscriptions/c2ddd589-91ce-/resourceGroups/0d93ae75-6f27-422/providers/Microsoft.RecoveryServices/vaults/944782a8-/backupFabrics/7ca58500-b/protectionContainers/c9b8934b-d4fd/protectedItems/3e14e5a6-82e4-40a"; + Requests[4790] = new DefaultHttpContext(); + Requests[4790].RequestServices = CreateServices(); + Requests[4790].Request.Method = "DELETE"; + Requests[4790].Request.Path = "/Subscriptions/a530fe7d-7c32-/resourceGroups/4a5b22e4-44b2-478/providers/Microsoft.RecoveryServices/vaults/1bc128b5-/backupFabrics/2acd5452-8/protectionContainers/5eb79be0-4671/protectedItems/28c806d7-b139-424"; + Requests[4791] = new DefaultHttpContext(); + Requests[4791].RequestServices = CreateServices(); + Requests[4791].Request.Method = "GET"; + Requests[4791].Request.Path = "/subscriptions/97db8f5b-48d6-/resourceGroups/ef930052-a068-4de/providers/Microsoft.ServiceBus/namespaces/efeff548-78cc/topics/2680bc0d-/subscriptions/439b98bb-f836-45/rules/73b0a692"; + Requests[4792] = new DefaultHttpContext(); + Requests[4792].RequestServices = CreateServices(); + Requests[4792].Request.Method = "DELETE"; + Requests[4792].Request.Path = "/subscriptions/d8af0f05-b327-/resourceGroups/5ad74fb5-a521-492/providers/Microsoft.ServiceBus/namespaces/d5fe154a-dd2d/topics/3339e92b-/subscriptions/650f6463-61a5-46/rules/ef206d80"; + Requests[4793] = new DefaultHttpContext(); + Requests[4793].RequestServices = CreateServices(); + Requests[4793].Request.Method = "PUT"; + Requests[4793].Request.Path = "/subscriptions/44b2b4ce-4f3d-/resourceGroups/a49f6dc1-6391-41b/providers/Microsoft.ServiceBus/namespaces/b551e3bf-23bd/topics/54c06f23-/subscriptions/ef154e8f-ec12-42/rules/440897a6"; + Requests[4794] = new DefaultHttpContext(); + Requests[4794].RequestServices = CreateServices(); + Requests[4794].Request.Method = "GET"; + Requests[4794].Request.Path = "/subscriptions/73ec4a74-67b4-/resourceGroups/2b940701-46af-43a/providers/Microsoft.Sql/servers/c7e2d90b-a/databases/a088558f-ae3/advisors/2e6f9664-e4/recommendedActions/34e851b4-fac2-4546-b6"; + Requests[4795] = new DefaultHttpContext(); + Requests[4795].RequestServices = CreateServices(); + Requests[4795].Request.Method = "PATCH"; + Requests[4795].Request.Path = "/subscriptions/376c56af-1487-/resourceGroups/c382c76b-0ee9-41f/providers/Microsoft.Sql/servers/cfe48345-d/databases/038f791e-b1f/advisors/b93e0292-92/recommendedActions/41108aaa-f2ae-4b72-ba"; + Requests[4796] = new DefaultHttpContext(); + Requests[4796].RequestServices = CreateServices(); + Requests[4796].Request.Method = "PUT"; + Requests[4796].Request.Path = "/subscriptions/c9d9d28a-021c-/resourceGroups/f894975a-0e58-48d/providers/Microsoft.Sql/servers/05be334b-a/databases/cf790ead-1a3/dataMaskingPolicies/897bae0c-7508-4864-85/rules/e9324a59-b78c-4227-"; + Requests[4797] = new DefaultHttpContext(); + Requests[4797].RequestServices = CreateServices(); + Requests[4797].Request.Method = "PUT"; + Requests[4797].Request.Path = "/subscriptions/2fa78db8-d5b7-/resourceGroups/d416534f-4ae8-4f3/providers/Microsoft.Sql/servers/5f88e82f-4/databases/f69a8411-19e/syncGroups/a8d1a670-ac00/syncMembers/d32ccc06-6f91-"; + Requests[4798] = new DefaultHttpContext(); + Requests[4798].RequestServices = CreateServices(); + Requests[4798].Request.Method = "PATCH"; + Requests[4798].Request.Path = "/subscriptions/40f00e02-0659-/resourceGroups/597aac6d-f163-4f4/providers/Microsoft.Sql/servers/c531e127-a/databases/0a5baf1a-c1b/syncGroups/caeda551-8ac2/syncMembers/ffb5b963-3a1d-"; + Requests[4799] = new DefaultHttpContext(); + Requests[4799].RequestServices = CreateServices(); + Requests[4799].Request.Method = "GET"; + Requests[4799].Request.Path = "/subscriptions/d91e89d1-9d90-/resourceGroups/f49f3d35-6eec-442/providers/Microsoft.Sql/servers/a4b01af2-4/databases/7e70bcfe-105/syncGroups/5cb207b9-2923/syncMembers/b51ba749-263f-"; + Requests[4800] = new DefaultHttpContext(); + Requests[4800].RequestServices = CreateServices(); + Requests[4800].Request.Method = "DELETE"; + Requests[4800].Request.Path = "/subscriptions/ca961892-8b53-/resourceGroups/510f30fe-6b70-4b8/providers/Microsoft.Sql/servers/10041bff-f/databases/60994ec9-65b/syncGroups/df3735c6-3e49/syncMembers/1cc8c056-3402-"; + Requests[4801] = new DefaultHttpContext(); + Requests[4801].RequestServices = CreateServices(); + Requests[4801].Request.Method = "GET"; + Requests[4801].Request.Path = "/subscriptions/4f41ccc0-84da-/resourceGroups/7e2dde4e-ed72-41b/providers/Microsoft.Sql/servers/925b8fae-8/databases/575b5d13-9dc/vulnerabilityAssessments/58789906-aac5-468b-bf1b-5de/scans/e18a4c"; + Requests[4802] = new DefaultHttpContext(); + Requests[4802].RequestServices = CreateServices(); + Requests[4802].Request.Method = "PUT"; + Requests[4802].Request.Path = "/subscriptions/f53d3a27-1ef3-/resourceGroups/ec0f177d-8830-430/providers/Microsoft.Sql/servers/7d731589-0/jobAgents/058eee1e-469/jobs/b427ec9/executions/fbda9f09-bca9-"; + Requests[4803] = new DefaultHttpContext(); + Requests[4803].RequestServices = CreateServices(); + Requests[4803].Request.Method = "GET"; + Requests[4803].Request.Path = "/subscriptions/6ae5ba09-8b24-/resourceGroups/c13e8391-7d17-45e/providers/Microsoft.Sql/servers/66221e4e-f/jobAgents/9710ba81-d1a/jobs/f53584e/executions/dc6b219f-275c-"; + Requests[4804] = new DefaultHttpContext(); + Requests[4804].RequestServices = CreateServices(); + Requests[4804].Request.Method = "DELETE"; + Requests[4804].Request.Path = "/subscriptions/fd7a1b76-12c8-/resourceGroups/b63e7400-5b66-41a/providers/Microsoft.Sql/servers/e7e3b6e7-4/jobAgents/375caab9-a43/jobs/cb65e84/steps/a1ea464f"; + Requests[4805] = new DefaultHttpContext(); + Requests[4805].RequestServices = CreateServices(); + Requests[4805].Request.Method = "PUT"; + Requests[4805].Request.Path = "/subscriptions/95f68017-e940-/resourceGroups/990063cc-2fe1-4d5/providers/Microsoft.Sql/servers/51eecd7b-4/jobAgents/c9f81f26-5e1/jobs/ecd43c7/steps/aebbf41a"; + Requests[4806] = new DefaultHttpContext(); + Requests[4806].RequestServices = CreateServices(); + Requests[4806].Request.Method = "GET"; + Requests[4806].Request.Path = "/subscriptions/98ce4ee9-0526-/resourceGroups/f11ce16d-a6bd-44b/providers/Microsoft.Sql/servers/d0e29a8e-4/jobAgents/e35017d8-397/jobs/999a791/steps/af8560be"; + Requests[4807] = new DefaultHttpContext(); + Requests[4807].RequestServices = CreateServices(); + Requests[4807].Request.Method = "GET"; + Requests[4807].Request.Path = "/subscriptions/708aff9f-3700-/resourceGroups/02f45450-06f5-42f/providers/Microsoft.Sql/servers/b407da56-0/jobAgents/391e52d2-a6d/jobs/6bc62c8/versions/37c4fc55-8"; + Requests[4808] = new DefaultHttpContext(); + Requests[4808].RequestServices = CreateServices(); + Requests[4808].Request.Method = "PUT"; + Requests[4808].Request.Path = "/subscriptions/4c575d98-2650-/resourceGroups/f3b4dd44-e573-4c1/providers/Microsoft.StorSimple/managers/11b9d896-f7/devices/04997e7e-3/backupPolicies/10a3a1b9-cda7-4e/schedules/15ce7dcc-94fe-4947"; + Requests[4809] = new DefaultHttpContext(); + Requests[4809].RequestServices = CreateServices(); + Requests[4809].Request.Method = "GET"; + Requests[4809].Request.Path = "/subscriptions/49bb5418-e965-/resourceGroups/e1f9448f-3024-4ac/providers/Microsoft.StorSimple/managers/5b312fb2-47/devices/0e809be6-2/backupPolicies/5fdd3ca0-bd69-49/schedules/a3f8996a-57fa-4a04"; + Requests[4810] = new DefaultHttpContext(); + Requests[4810].RequestServices = CreateServices(); + Requests[4810].Request.Method = "DELETE"; + Requests[4810].Request.Path = "/subscriptions/4a07387a-af87-/resourceGroups/170dce8f-2329-454/providers/Microsoft.StorSimple/managers/424beed7-4a/devices/cb69a133-c/backupPolicies/17ea77cf-e3e0-46/schedules/508353d2-9d1d-4e7e"; + Requests[4811] = new DefaultHttpContext(); + Requests[4811].RequestServices = CreateServices(); + Requests[4811].Request.Method = "GET"; + Requests[4811].Request.Path = "/subscriptions/a2ea88f9-edb1-/resourceGroups/597a02f4-8419-42f/providers/Microsoft.StorSimple/managers/ae0380f6-44/devices/4205de57-6/volumeContainers/4ba4ceac-90b5-462e-/volumes/f519884e-e"; + Requests[4812] = new DefaultHttpContext(); + Requests[4812].RequestServices = CreateServices(); + Requests[4812].Request.Method = "DELETE"; + Requests[4812].Request.Path = "/subscriptions/94757334-5599-/resourceGroups/47188b23-a522-4b3/providers/Microsoft.StorSimple/managers/8e0989fd-04/devices/9b3cec79-9/volumeContainers/5b69a90b-4435-4ec1-/volumes/a5c330c9-7"; + Requests[4813] = new DefaultHttpContext(); + Requests[4813].RequestServices = CreateServices(); + Requests[4813].Request.Method = "PUT"; + Requests[4813].Request.Path = "/subscriptions/3c9d12ec-897e-/resourceGroups/0b48bd88-50f8-448/providers/Microsoft.StorSimple/managers/494a827d-c1/devices/6d1a5414-8/volumeContainers/81f79809-b22c-4103-/volumes/81fd1341-6"; + Requests[4814] = new DefaultHttpContext(); + Requests[4814].RequestServices = CreateServices(); + Requests[4814].Request.Method = "GET"; + Requests[4814].Request.Path = "/subscriptions/8a078c61-6c17-/resourceGroups/52afe7b7-2f8d-47b/providers/Microsoft.Web/sites/a43a4/instances/5447bff2-c/processes/4b25f0df-/modules/1f5aa9d6-02"; + Requests[4815] = new DefaultHttpContext(); + Requests[4815].RequestServices = CreateServices(); + Requests[4815].Request.Method = "GET"; + Requests[4815].Request.Path = "/subscriptions/abbff461-fca9-/resourceGroups/91407f23-28f1-49d/providers/Microsoft.Web/sites/9bbe3/instances/3be43f67-e/processes/db9c1465-/threads/c13f6c14"; + Requests[4816] = new DefaultHttpContext(); + Requests[4816].RequestServices = CreateServices(); + Requests[4816].Request.Method = "GET"; + Requests[4816].Request.Path = "/subscriptions/eafb02ae-1716-/resourceGroups/37625667-e739-496/providers/Microsoft.Web/sites/4eab2/slots/b40d6/hybridConnectionNamespaces/060bccea-6698/relays/aa1d153b-"; + Requests[4817] = new DefaultHttpContext(); + Requests[4817].RequestServices = CreateServices(); + Requests[4817].Request.Method = "DELETE"; + Requests[4817].Request.Path = "/subscriptions/2d71cf6d-2149-/resourceGroups/16dc7dd9-c2c9-476/providers/Microsoft.Web/sites/c8e0b/slots/af50e/hybridConnectionNamespaces/c9e7dbb2-d64a/relays/bb6f5a31-"; + Requests[4818] = new DefaultHttpContext(); + Requests[4818].RequestServices = CreateServices(); + Requests[4818].Request.Method = "PUT"; + Requests[4818].Request.Path = "/subscriptions/e8c4db44-ea5b-/resourceGroups/8fa6d9b4-5e04-47b/providers/Microsoft.Web/sites/6ef23/slots/5a7bb/hybridConnectionNamespaces/9d62485a-3f97/relays/aca868ed-"; + Requests[4819] = new DefaultHttpContext(); + Requests[4819].RequestServices = CreateServices(); + Requests[4819].Request.Method = "PATCH"; + Requests[4819].Request.Path = "/subscriptions/c40ca2d3-cacc-/resourceGroups/90d30358-c462-475/providers/Microsoft.Web/sites/d4889/slots/85cb6/hybridConnectionNamespaces/0bb279cf-bc5f/relays/e762274d-"; + Requests[4820] = new DefaultHttpContext(); + Requests[4820].RequestServices = CreateServices(); + Requests[4820].Request.Method = "DELETE"; + Requests[4820].Request.Path = "/subscriptions/890be397-d1a7-/resourceGroups/40bae2f8-63ac-4f0/providers/Microsoft.Web/sites/1043f/slots/9f673/instances/22bc6fa7-2/deployments/d4426"; + Requests[4821] = new DefaultHttpContext(); + Requests[4821].RequestServices = CreateServices(); + Requests[4821].Request.Method = "GET"; + Requests[4821].Request.Path = "/subscriptions/9f004f96-9f53-/resourceGroups/9a7b3d2d-17ed-45c/providers/Microsoft.Web/sites/d21b5/slots/9a6e6/instances/ae57de8c-4/deployments/3bb75"; + Requests[4822] = new DefaultHttpContext(); + Requests[4822].RequestServices = CreateServices(); + Requests[4822].Request.Method = "PUT"; + Requests[4822].Request.Path = "/subscriptions/9c7e2ebe-1257-/resourceGroups/45cb9235-4f6b-4ee/providers/Microsoft.Web/sites/652d7/slots/d65e1/instances/a1c7f891-b/deployments/4b8fc"; + Requests[4823] = new DefaultHttpContext(); + Requests[4823].RequestServices = CreateServices(); + Requests[4823].Request.Method = "DELETE"; + Requests[4823].Request.Path = "/subscriptions/1958c56a-26b9-/resourceGroups/cf0b3452-b20e-456/providers/Microsoft.Web/sites/eb90c/slots/54309/instances/80b12fad-3/processes/151c7b95-"; + Requests[4824] = new DefaultHttpContext(); + Requests[4824].RequestServices = CreateServices(); + Requests[4824].Request.Method = "GET"; + Requests[4824].Request.Path = "/subscriptions/9e876ab8-dd90-/resourceGroups/073a4a9a-9749-481/providers/Microsoft.Web/sites/b89ea/slots/53832/instances/56907340-b/processes/841708bb-"; + Requests[4825] = new DefaultHttpContext(); + Requests[4825].RequestServices = CreateServices(); + Requests[4825].Request.Method = "GET"; + Requests[4825].Request.Path = "/subscriptions/d165113a-bfc6-/resourceGroups/8ef73b11-3521-4db/providers/Microsoft.Web/sites/e00e7/slots/9908d/processes/b895a65e-/modules/edf94b3f-32"; + Requests[4826] = new DefaultHttpContext(); + Requests[4826].RequestServices = CreateServices(); + Requests[4826].Request.Method = "GET"; + Requests[4826].Request.Path = "/subscriptions/0947f890-3f06-/resourceGroups/eb06a483-cb6e-496/providers/Microsoft.Web/sites/ebcae/slots/bde95/processes/1cd701d1-/threads/77be9a1d"; + Requests[4827] = new DefaultHttpContext(); + Requests[4827].RequestServices = CreateServices(); + Requests[4827].Request.Method = "GET"; + Requests[4827].Request.Path = "/subscriptions/a41079f3-09e7-/resourceGroups/cf18c677-4c7d-4d7/providers/Microsoft.Web/sites/9839d/slots/aa192/triggeredwebjobs/36a82f84-3/history/6af3e"; + Requests[4828] = new DefaultHttpContext(); + Requests[4828].RequestServices = CreateServices(); + Requests[4828].Request.Method = "GET"; + Requests[4828].Request.Path = "/subscriptions/2961fefc-8f08-/resourceGroups/6c15d8f0-147f-462/providers/Microsoft.Web/sites/94f45/slots/69d5c/virtualNetworkConnections/3da4e381/gateways/204e5334-4a"; + Requests[4829] = new DefaultHttpContext(); + Requests[4829].RequestServices = CreateServices(); + Requests[4829].Request.Method = "PUT"; + Requests[4829].Request.Path = "/subscriptions/92cf3f63-a7c1-/resourceGroups/5c39e6ee-fc73-4a7/providers/Microsoft.Web/sites/0d12e/slots/1300c/virtualNetworkConnections/7a3f3fae/gateways/785fd984-59"; + Requests[4830] = new DefaultHttpContext(); + Requests[4830].RequestServices = CreateServices(); + Requests[4830].Request.Method = "PATCH"; + Requests[4830].Request.Path = "/subscriptions/34b95a08-5a3b-/resourceGroups/c9452f2c-9256-4f8/providers/Microsoft.Web/sites/93282/slots/51822/virtualNetworkConnections/11f12acf/gateways/7c44d343-81"; + Requests[4831] = new DefaultHttpContext(); + Requests[4831].RequestServices = CreateServices(); + Requests[4831].Request.Method = "GET"; + Requests[4831].Request.Path = "/subscriptions/7ba531ed-0577-/resourceGroups/7e107482-dc1c-4f8/providers/Microsoft.Web/sites/e743ea08/slots/b5c93/diagnostics/6332ba08-eb13-41a1/analyses/2ed07335-6fd"; + Requests[4832] = new DefaultHttpContext(); + Requests[4832].RequestServices = CreateServices(); + Requests[4832].Request.Method = "GET"; + Requests[4832].Request.Path = "/subscriptions/5793b54c-a8d1-/resourceGroups/6568837e-daea-48d/providers/Microsoft.Web/sites/cf6e3dc4/slots/053cf/diagnostics/64088a0c-d775-4412/detectors/0a1196b0-68c"; + Requests[4833] = new DefaultHttpContext(); + Requests[4833].RequestServices = CreateServices(); + Requests[4833].Request.Method = "GET"; + Requests[4833].Request.Path = "/subscriptions/5719f8eb-19e3-/resourceGroups/f3f7eaea-8b45-49d/providers/Microsoft.Compute/virtualMachineScaleSets/d6c05dd2-8c9e-4eb0-9854-e4/virtualMachines/21052090-0956-4e12-/networkInterfaces/7299d819-7942-4449-8/ipconfigurations/126f4822-f783-4cfe-/publicipaddresses"; + Requests[4834] = new DefaultHttpContext(); + Requests[4834].RequestServices = CreateServices(); + Requests[4834].Request.Method = "GET"; + Requests[4834].Request.Path = "/subscriptions/8493053c-a43e-/resourceGroups/5108a04e-fb23-45d/providers/Microsoft.DocumentDB/databaseAccounts/920f6a78-24/databases/6606f3ac-f3/collections/21492caa-3aca/partitionKeyRangeId/e2ec81c9-690b-4951-/metrics"; + Requests[4835] = new DefaultHttpContext(); + Requests[4835].RequestServices = CreateServices(); + Requests[4835].Request.Method = "GET"; + Requests[4835].Request.Path = "/subscriptions/fa23b440-cde6-/resourceGroups/3ac3f357-ea35-4bb/providers/Microsoft.DocumentDB/databaseAccounts/bb099ccb-99/region/b95170/databases/9358c243-d1/collections/f8319173-129b/metrics"; + Requests[4836] = new DefaultHttpContext(); + Requests[4836].RequestServices = CreateServices(); + Requests[4836].Request.Method = "POST"; + Requests[4836].Request.Path = "/subscriptions/9a10741e-5e81-/resourceGroups/87148a37-dddf-4b1/providers/Microsoft.Logic/workflows/b3971922-c19/runs/37bf951/actions/28e826f6-4/repetitions/1df14005-6c15-/listExpressionTraces"; + Requests[4837] = new DefaultHttpContext(); + Requests[4837].RequestServices = CreateServices(); + Requests[4837].Request.Method = "POST"; + Requests[4837].Request.Path = "/Subscriptions/06a9d255-63c1-/resourceGroups/3372e527-ee65-444/providers/Microsoft.RecoveryServices/vaults/472b2bb0-6d8/replicationFabrics/935e0409-3/replicationProtectionContainers/e4ad0836-5785-462a-b5cd/replicationProtectedItems/cf09f006-4f5b-4c3f-b806-04b/applyRecoveryPoint"; + Requests[4838] = new DefaultHttpContext(); + Requests[4838].RequestServices = CreateServices(); + Requests[4838].Request.Method = "POST"; + Requests[4838].Request.Path = "/Subscriptions/7bf46ca9-b485-/resourceGroups/3a791acb-f68c-488/providers/Microsoft.RecoveryServices/vaults/e86013d8-58c/replicationFabrics/55ce84c4-1/replicationProtectionContainers/1266bd4e-a7c4-44c6-99ff/replicationProtectedItems/cda9006e-c050-4860-8b38-19e/failoverCommit"; + Requests[4839] = new DefaultHttpContext(); + Requests[4839].RequestServices = CreateServices(); + Requests[4839].Request.Method = "POST"; + Requests[4839].Request.Path = "/Subscriptions/bd884819-fa9e-/resourceGroups/bbca13f0-b68b-4ab/providers/Microsoft.RecoveryServices/vaults/9ad5e7be-d4c/replicationFabrics/ff25d36d-2/replicationProtectionContainers/73f12a2a-cd31-49fa-ad71/replicationProtectedItems/4d37a1f0-c2bf-4646-bfdd-ea2/plannedFailover"; + Requests[4840] = new DefaultHttpContext(); + Requests[4840].RequestServices = CreateServices(); + Requests[4840].Request.Method = "GET"; + Requests[4840].Request.Path = "/Subscriptions/a5874b40-cd5a-/resourceGroups/2f958594-c9e0-443/providers/Microsoft.RecoveryServices/vaults/60853498-ff4/replicationFabrics/c6607b47-a/replicationProtectionContainers/37fabbd3-a073-4ab9-ace9/replicationProtectedItems/17fde4c4-9509-47f5-abc8-a6d/recoveryPoints"; + Requests[4841] = new DefaultHttpContext(); + Requests[4841].RequestServices = CreateServices(); + Requests[4841].Request.Method = "POST"; + Requests[4841].Request.Path = "/Subscriptions/5234711b-4c71-/resourceGroups/27668957-2e12-4d6/providers/Microsoft.RecoveryServices/vaults/49bf29f0-f7a/replicationFabrics/58a9b4c9-0/replicationProtectionContainers/906c42ae-9d2b-411c-8233/replicationProtectedItems/d9477925-a2fa-4fb6-8a1b-022/remove"; + Requests[4842] = new DefaultHttpContext(); + Requests[4842].RequestServices = CreateServices(); + Requests[4842].Request.Method = "POST"; + Requests[4842].Request.Path = "/Subscriptions/369324aa-5d60-/resourceGroups/5b4598a8-cc65-480/providers/Microsoft.RecoveryServices/vaults/cbde71b3-9c2/replicationFabrics/742af5ba-7/replicationProtectionContainers/a8bb5594-203b-4e6d-a674/replicationProtectedItems/0469fdd4-2251-4e5a-aca2-e6c/repairReplication"; + Requests[4843] = new DefaultHttpContext(); + Requests[4843].RequestServices = CreateServices(); + Requests[4843].Request.Method = "POST"; + Requests[4843].Request.Path = "/Subscriptions/c02cd31b-0bd2-/resourceGroups/ec7643c6-922e-4bb/providers/Microsoft.RecoveryServices/vaults/aabd013a-0f7/replicationFabrics/96d82f71-c/replicationProtectionContainers/8dd50f84-673e-4165-afe8/replicationProtectedItems/2b6c41fc-b4aa-48c7-a84e-3d5/reProtect"; + Requests[4844] = new DefaultHttpContext(); + Requests[4844].RequestServices = CreateServices(); + Requests[4844].Request.Method = "GET"; + Requests[4844].Request.Path = "/Subscriptions/4925dd24-4fe0-/resourceGroups/72babfdc-d340-43f/providers/Microsoft.RecoveryServices/vaults/f8d53323-8a8/replicationFabrics/79687da8-b/replicationProtectionContainers/2e5f383e-9d41-4e10-a2ea/replicationProtectedItems/36fcfc28-ea41-491f-a325-6c9/targetComputeSizes"; + Requests[4845] = new DefaultHttpContext(); + Requests[4845].RequestServices = CreateServices(); + Requests[4845].Request.Method = "POST"; + Requests[4845].Request.Path = "/Subscriptions/0055cb9b-7477-/resourceGroups/baedbf5d-1c87-47b/providers/Microsoft.RecoveryServices/vaults/54451b6a-9ef/replicationFabrics/4c6522ff-2/replicationProtectionContainers/e212d6d7-b9a1-46f1-905d/replicationProtectedItems/b2536090-337d-445d-b482-faa/testFailover"; + Requests[4846] = new DefaultHttpContext(); + Requests[4846].RequestServices = CreateServices(); + Requests[4846].Request.Method = "POST"; + Requests[4846].Request.Path = "/Subscriptions/2c76d4e2-f8ba-/resourceGroups/f0509552-9342-41d/providers/Microsoft.RecoveryServices/vaults/797bccfd-2c0/replicationFabrics/aab360ea-9/replicationProtectionContainers/f55d641d-7473-465f-acc2/replicationProtectedItems/76600e51-f200-4c0f-a08e-56f/testFailoverCleanup"; + Requests[4847] = new DefaultHttpContext(); + Requests[4847].RequestServices = CreateServices(); + Requests[4847].Request.Method = "POST"; + Requests[4847].Request.Path = "/Subscriptions/0521897f-d743-/resourceGroups/e0377fe2-13b0-40f/providers/Microsoft.RecoveryServices/vaults/3d6412f1-96e/replicationFabrics/754ed692-e/replicationProtectionContainers/8821d830-2a9d-4367-b870/replicationProtectedItems/35d09198-4d7f-4abe-af86-fb5/unplannedFailover"; + Requests[4848] = new DefaultHttpContext(); + Requests[4848].RequestServices = CreateServices(); + Requests[4848].Request.Method = "POST"; + Requests[4848].Request.Path = "/Subscriptions/d35ce5a1-5d9c-/resourceGroups/6922c242-aa34-498/providers/Microsoft.RecoveryServices/vaults/42ad79f5-4ea/replicationFabrics/d62420df-f/replicationProtectionContainers/06988a8b-4c66-45b7-b204/replicationProtectedItems/1eab4382-a197-4eba-9544-e3c3/updateMobilityService"; + Requests[4849] = new DefaultHttpContext(); + Requests[4849].RequestServices = CreateServices(); + Requests[4849].Request.Method = "POST"; + Requests[4849].Request.Path = "/Subscriptions/23d6c3e9-42c9-/resourceGroups/3e22bd06-53f7-4c9/providers/Microsoft.RecoveryServices/vaults/9cbf8b80-059/replicationFabrics/154daa53-4/replicationProtectionContainers/7cf4eee0-0111-453a-aefd/replicationProtectionContainerMappings/55c3a270-e2/remove"; + Requests[4850] = new DefaultHttpContext(); + Requests[4850].RequestServices = CreateServices(); + Requests[4850].Request.Method = "POST"; + Requests[4850].Request.Path = "/Subscriptions/eda502e5-a57e-/resourceGroups/73463db3-4ae0-477/providers/Microsoft.RecoveryServices/vaults/f5ba8f50-/backupFabrics/6e691bbd-f/protectionContainers/cbce33c7-2019/protectedItems/ebb0f08a-316f-45f/backup"; + Requests[4851] = new DefaultHttpContext(); + Requests[4851].RequestServices = CreateServices(); + Requests[4851].Request.Method = "GET"; + Requests[4851].Request.Path = "/Subscriptions/30fd09a3-f6e6-/resourceGroups/f5a848ed-b29b-4cf/providers/Microsoft.RecoveryServices/vaults/b38d137f-/backupFabrics/1c36bf69-0/protectionContainers/7f1e8d95-f6fc/protectedItems/65ffece2-bed7-422/recoveryPoints"; + Requests[4852] = new DefaultHttpContext(); + Requests[4852].RequestServices = CreateServices(); + Requests[4852].Request.Method = "POST"; + Requests[4852].Request.Path = "/subscriptions/391905e8-5b5c-/resourceGroups/65fa04d8-a129-4e8/providers/Microsoft.Sql/servers/f695a6d9-8/databases/768fdab0-0e6/syncGroups/c3c11c75-d91e/syncMembers/993829c5-5604-/refreshSchema"; + Requests[4853] = new DefaultHttpContext(); + Requests[4853].RequestServices = CreateServices(); + Requests[4853].Request.Method = "GET"; + Requests[4853].Request.Path = "/subscriptions/a9de817e-aa31-/resourceGroups/c02b12fb-f101-41c/providers/Microsoft.Sql/servers/b663e1ca-1/databases/37fd3552-e95/syncGroups/a2f155ab-c374/syncMembers/10ebd1a2-510a-/schemas"; + Requests[4854] = new DefaultHttpContext(); + Requests[4854].RequestServices = CreateServices(); + Requests[4854].Request.Method = "POST"; + Requests[4854].Request.Path = "/subscriptions/254629fc-0aed-/resourceGroups/6601a249-4318-49c/providers/Microsoft.Sql/servers/df9f9ca5-2/databases/7437d02b-39d/vulnerabilityAssessments/3abea3c2-e452-4f89-a98c-41f/scans/ca7dc8/export"; + Requests[4855] = new DefaultHttpContext(); + Requests[4855].RequestServices = CreateServices(); + Requests[4855].Request.Method = "POST"; + Requests[4855].Request.Path = "/subscriptions/7d665301-90f0-/resourceGroups/9a78037f-535d-40d/providers/Microsoft.Sql/servers/402f0144-5/databases/9cc25988-13a/vulnerabilityAssessments/1ee62042-be63-44d6-8e91-3b3/scans/2da038/initiateScan"; + Requests[4856] = new DefaultHttpContext(); + Requests[4856].RequestServices = CreateServices(); + Requests[4856].Request.Method = "POST"; + Requests[4856].Request.Path = "/subscriptions/d5f266b8-ec93-/resourceGroups/a6ee57c4-819b-408/providers/Microsoft.Sql/servers/9eefd1dc-f/jobAgents/ad097ac8-fcf/jobs/cceae22/executions/fb66d8da-ad40-/cancel"; + Requests[4857] = new DefaultHttpContext(); + Requests[4857].RequestServices = CreateServices(); + Requests[4857].Request.Method = "GET"; + Requests[4857].Request.Path = "/subscriptions/17a70741-bd70-/resourceGroups/b1ebdbe7-649c-45c/providers/Microsoft.Sql/servers/c554d2dd-0/jobAgents/b7a99cca-38c/jobs/bcd8be8/executions/c9717eeb-a348-/steps"; + Requests[4858] = new DefaultHttpContext(); + Requests[4858].RequestServices = CreateServices(); + Requests[4858].Request.Method = "GET"; + Requests[4858].Request.Path = "/subscriptions/221f9c17-42b7-/resourceGroups/a9f262a7-469d-489/providers/Microsoft.Sql/servers/701f2745-3/jobAgents/4a7c771e-6bf/jobs/7a8ad07/executions/4f24d083-f5f4-/targets"; + Requests[4859] = new DefaultHttpContext(); + Requests[4859].RequestServices = CreateServices(); + Requests[4859].Request.Method = "GET"; + Requests[4859].Request.Path = "/subscriptions/471396e4-9005-/resourceGroups/afdfeefc-d0b5-42b/providers/Microsoft.Sql/servers/d6d97589-5/jobAgents/295a02b2-761/jobs/086d48f/versions/e64e88c8-f/steps"; + Requests[4860] = new DefaultHttpContext(); + Requests[4860].RequestServices = CreateServices(); + Requests[4860].Request.Method = "POST"; + Requests[4860].Request.Path = "/subscriptions/be3b8470-f6bb-/resourceGroups/d3310dcb-22ee-482/providers/Microsoft.StorSimple/managers/42575ffb-ce/devices/19211621-6/backups/4a9eb60c-b/elements/f5dfe0c7-ecd3-4f0/clone"; + Requests[4861] = new DefaultHttpContext(); + Requests[4861].RequestServices = CreateServices(); + Requests[4861].Request.Method = "GET"; + Requests[4861].Request.Path = "/subscriptions/0f681e4e-4aec-/resourceGroups/86180793-3a84-444/providers/Microsoft.StorSimple/managers/58e707fd-74/devices/1bb11b4c-6/volumeContainers/b60c591a-6c77-407a-/volumes/36cc19a4-5/metrics"; + Requests[4862] = new DefaultHttpContext(); + Requests[4862].RequestServices = CreateServices(); + Requests[4862].Request.Method = "GET"; + Requests[4862].Request.Path = "/subscriptions/960e4030-42cb-/resourceGroups/c51c2fc2-f368-4e7/providers/Microsoft.StorSimple/managers/f1229633-2e/devices/29f44f10-1/volumeContainers/e42ecc84-0bf1-465a-/volumes/3bf2b779-b/metricsDefinitions"; + Requests[4863] = new DefaultHttpContext(); + Requests[4863].RequestServices = CreateServices(); + Requests[4863].Request.Method = "POST"; + Requests[4863].Request.Path = "/subscriptions/f864bdcf-c08a-/resourceGroups/118bc2d3-8a91-46f/providers/Microsoft.Web/sites/ba4aa/slots/c8ec1/hybridConnectionNamespaces/ad5c59b0-82b3/relays/691cd166-/listKeys"; + Requests[4864] = new DefaultHttpContext(); + Requests[4864].RequestServices = CreateServices(); + Requests[4864].Request.Method = "GET"; + Requests[4864].Request.Path = "/subscriptions/385ca42d-1776-/resourceGroups/2ec6e320-7ace-4eb/providers/Microsoft.Web/sites/de1b9/slots/0add9/instances/3efb17b4-b/processes/2cbbf3ac-/dump"; + Requests[4865] = new DefaultHttpContext(); + Requests[4865].RequestServices = CreateServices(); + Requests[4865].Request.Method = "GET"; + Requests[4865].Request.Path = "/subscriptions/12049df9-b7a6-/resourceGroups/43946189-b4a8-491/providers/Microsoft.Web/sites/106d7/slots/cdc1b/instances/e19d537d-4/processes/75b77b12-/modules"; + Requests[4866] = new DefaultHttpContext(); + Requests[4866].RequestServices = CreateServices(); + Requests[4866].Request.Method = "GET"; + Requests[4866].Request.Path = "/subscriptions/7c4a0603-26c9-/resourceGroups/d779ffc0-d8ac-4ee/providers/Microsoft.Web/sites/bfada/slots/68aa6/instances/9897619f-5/processes/1491907d-/threads"; + Requests[4867] = new DefaultHttpContext(); + Requests[4867].RequestServices = CreateServices(); + Requests[4867].Request.Method = "POST"; + Requests[4867].Request.Path = "/subscriptions/6623a93c-6409-/resourceGroups/3a03e4e1-eddf-408/providers/Microsoft.Web/sites/6aa1156d/slots/bfff4/diagnostics/9246b672-9302-4bcd/analyses/49c587b0-905/execute"; + Requests[4868] = new DefaultHttpContext(); + Requests[4868].RequestServices = CreateServices(); + Requests[4868].Request.Method = "POST"; + Requests[4868].Request.Path = "/subscriptions/e0ace841-a12f-/resourceGroups/7ff9f836-ecb4-4fb/providers/Microsoft.Web/sites/7b5f856f/slots/9b370/diagnostics/093d3e3c-7e80-4e21/detectors/9c766090-bab/execute"; + Requests[4869] = new DefaultHttpContext(); + Requests[4869].RequestServices = CreateServices(); + Requests[4869].Request.Method = "GET"; + Requests[4869].Request.Path = "/subscriptions/a5f05d2f-3755-/resourceGroups/b843e1fd-5fb1-426/providers/Microsoft.DocumentDB/databaseAccounts/f9db29f8-39/region/706dfc/databases/e6fdd70e-46/collections/a799ba5c-f4e9/partitions/metrics"; + Requests[4870] = new DefaultHttpContext(); + Requests[4870].RequestServices = CreateServices(); + Requests[4870].Request.Method = "GET"; + Requests[4870].Request.Path = "/subscriptions/89dbf06e-76e5-/resourceGroups/2a120179-6370-46d/providers/Microsoft.Compute/virtualMachineScaleSets/f8d9fa6a-7972-4d5e-a464-0f/virtualMachines/1a16a298-4444-4a73-/networkInterfaces/e17d736a-a873-4e39-9/ipconfigurations/18143609-5069-4cac-/publicipaddresses/37df828d-4687-4a98-"; + Requests[4871] = new DefaultHttpContext(); + Requests[4871].RequestServices = CreateServices(); + Requests[4871].Request.Method = "GET"; + Requests[4871].Request.Path = "/Subscriptions/3806ba8d-6fe6-/resourceGroups/cccf1195-0e3f-4bf/providers/Microsoft.RecoveryServices/vaults/224e6d4f-508/replicationFabrics/b6e62e75-a/replicationProtectionContainers/77e0293e-f836-4797-afcf/replicationProtectedItems/dc38c64b-1de5-4d8d-8897-5b5/recoveryPoints/350010e2-47d4-41c"; + Requests[4872] = new DefaultHttpContext(); + Requests[4872].RequestServices = CreateServices(); + Requests[4872].Request.Method = "GET"; + Requests[4872].Request.Path = "/Subscriptions/12f9e1e0-fc71-/resourceGroups/777e9730-c029-4b9/providers/Microsoft.RecoveryServices/vaults/40cfe16a-/backupFabrics/b38da414-e/protectionContainers/e8df9145-af18/protectedItems/7106a542-06b9-469/operationResults/6f7e0af0-c4"; + Requests[4873] = new DefaultHttpContext(); + Requests[4873].RequestServices = CreateServices(); + Requests[4873].Request.Method = "GET"; + Requests[4873].Request.Path = "/Subscriptions/a8af64fb-188b-/resourceGroups/1cc7036f-1674-447/providers/Microsoft.RecoveryServices/vaults/3abfc3d1-/backupFabrics/2c41fbf5-d/protectionContainers/71e03a13-61f5/protectedItems/fa9f1784-e53a-4fb/operationsStatus/384df979-21"; + Requests[4874] = new DefaultHttpContext(); + Requests[4874].RequestServices = CreateServices(); + Requests[4874].Request.Method = "GET"; + Requests[4874].Request.Path = "/Subscriptions/84249155-b565-/resourceGroups/5c5eb050-f66e-4dc/providers/Microsoft.RecoveryServices/vaults/554c716f-/backupFabrics/d477250b-9/protectionContainers/21aaf720-1d84/protectedItems/7d5c013b-ded9-4da/recoveryPoints/ff870c43-1942-4"; + Requests[4875] = new DefaultHttpContext(); + Requests[4875].RequestServices = CreateServices(); + Requests[4875].Request.Method = "GET"; + Requests[4875].Request.Path = "/subscriptions/07d89ad1-f8f4-/resourceGroups/e9efc4c6-5a1d-459/providers/Microsoft.Sql/servers/05327fb6-4/databases/b6eedbb4-9a5/vulnerabilityAssessments/0963956d-34a5-4fd1-bd65-47b/rules/b0ffba/baselines/4e02e82b-4fd"; + Requests[4876] = new DefaultHttpContext(); + Requests[4876].RequestServices = CreateServices(); + Requests[4876].Request.Method = "PUT"; + Requests[4876].Request.Path = "/subscriptions/8981a5f0-309f-/resourceGroups/ad4ea3de-8624-451/providers/Microsoft.Sql/servers/87d23fdf-f/databases/074239fa-13a/vulnerabilityAssessments/dc25b714-3e44-4f3d-a189-a56/rules/7dfdee/baselines/78ff578e-cdd"; + Requests[4877] = new DefaultHttpContext(); + Requests[4877].RequestServices = CreateServices(); + Requests[4877].Request.Method = "DELETE"; + Requests[4877].Request.Path = "/subscriptions/34a0e23d-f356-/resourceGroups/e19d4e60-ba47-414/providers/Microsoft.Sql/servers/a5053f18-c/databases/babac6c1-c6c/vulnerabilityAssessments/e21ec65a-7d3a-47a1-995e-b81/rules/d1fe58/baselines/a3b69a42-ca2"; + Requests[4878] = new DefaultHttpContext(); + Requests[4878].RequestServices = CreateServices(); + Requests[4878].Request.Method = "GET"; + Requests[4878].Request.Path = "/subscriptions/03bdd021-4758-/resourceGroups/f1d12e65-1f76-4c3/providers/Microsoft.Sql/servers/0ff0eed4-2/jobAgents/d60db8ac-c67/jobs/3b79001/executions/8e915fd8-edfc-/steps/85ef4722"; + Requests[4879] = new DefaultHttpContext(); + Requests[4879].RequestServices = CreateServices(); + Requests[4879].Request.Method = "GET"; + Requests[4879].Request.Path = "/subscriptions/98372c8a-1723-/resourceGroups/7e3fe31c-dbcf-4d8/providers/Microsoft.Sql/servers/c476c371-d/jobAgents/7858cb68-271/jobs/46a59ea/versions/add685f5-4/steps/0fa82558"; + Requests[4880] = new DefaultHttpContext(); + Requests[4880].RequestServices = CreateServices(); + Requests[4880].Request.Method = "GET"; + Requests[4880].Request.Path = "/subscriptions/01371cab-3f2e-/resourceGroups/202e84e8-2506-473/providers/Microsoft.Web/sites/b650c/slots/87367/instances/6527d2b7-c/processes/27591635-/modules/e6bc387f-99"; + Requests[4881] = new DefaultHttpContext(); + Requests[4881].RequestServices = CreateServices(); + Requests[4881].Request.Method = "GET"; + Requests[4881].Request.Path = "/subscriptions/3cce76a4-2821-/resourceGroups/dd2bf3bb-191b-454/providers/Microsoft.Web/sites/351b6/slots/08e5c/instances/92c1b10a-e/processes/39e953e6-/threads/2c598ac2"; + Requests[4882] = new DefaultHttpContext(); + Requests[4882].RequestServices = CreateServices(); + Requests[4882].Request.Method = "GET"; + Requests[4882].Request.Path = "/subscriptions/4974afa0-f7b0-/resourceGroups/f6a0d7d4-d2c4-432/providers/Microsoft.DocumentDB/databaseAccounts/409aa4c6-bf/region/30f974/databases/d0a22e97-a2/collections/18ab21c1-f23c/partitionKeyRangeId/cb467676-7311-4c41-/metrics"; + Requests[4883] = new DefaultHttpContext(); + Requests[4883].RequestServices = CreateServices(); + Requests[4883].Request.Method = "POST"; + Requests[4883].Request.Path = "/Subscriptions/8404eb86-f9bc-/resourceGroups/88ad4779-9e35-490/providers/Microsoft.RecoveryServices/vaults/c6ed18c4-/backupFabrics/fac88ee8-7/protectionContainers/660682c8-aed8/protectedItems/bb7119a5-16fc-455/recoveryPoints/77155fb5-a789-4/provisionInstantItemRecovery"; + Requests[4884] = new DefaultHttpContext(); + Requests[4884].RequestServices = CreateServices(); + Requests[4884].Request.Method = "POST"; + Requests[4884].Request.Path = "/Subscriptions/7903a5bf-51c7-/resourceGroups/c0546013-9d9d-42c/providers/Microsoft.RecoveryServices/vaults/769cdf0e-/backupFabrics/9023c526-8/protectionContainers/52dadd72-4e94/protectedItems/20d7a386-1efe-45a/recoveryPoints/5b401f2b-d755-4/restore"; + Requests[4885] = new DefaultHttpContext(); + Requests[4885].RequestServices = CreateServices(); + Requests[4885].Request.Method = "POST"; + Requests[4885].Request.Path = "/Subscriptions/294899c1-8115-/resourceGroups/64c9c200-6e05-4a3/providers/Microsoft.RecoveryServices/vaults/9cec4132-/backupFabrics/84e887eb-b/protectionContainers/ad9d7103-ea2b/protectedItems/b95a72c5-c8ca-457/recoveryPoints/32b692e1-3a06-4/revokeInstantItemRecovery"; + Requests[4886] = new DefaultHttpContext(); + Requests[4886].RequestServices = CreateServices(); + Requests[4886].Request.Method = "GET"; + Requests[4886].Request.Path = "/subscriptions/8ef05ee2-781c-/resourceGroups/78f9c373-a686-404/providers/Microsoft.Sql/servers/312f41ef-2/jobAgents/2e8ab256-37e/jobs/9d1a102/executions/df235d4e-6b52-/steps/8216ce10/targets"; + Requests[4887] = new DefaultHttpContext(); + Requests[4887].RequestServices = CreateServices(); + Requests[4887].Request.Method = "GET"; + Requests[4887].Request.Path = "/subscriptions/47175220-f905-/resourceGroups/f31cbd83-463c-475/providers/Microsoft.Sql/servers/93e39bd7-a/jobAgents/692bd4f0-7da/jobs/e2acbe3/executions/2d417930-bdba-/steps/60d9cd32/targets/bc2c470e"; + Requests[4888] = new DefaultHttpContext(); + Requests[4888].RequestServices = CreateServices(); + Requests[4888].Request.Method = "GET"; + Requests[4888].Request.Path = "/subscriptions/10516263-3f7e-/resourceGroups/1bf8d1fa-8d07-491/providers/Microsoft.ApiManagement/service/8abe0ca6-f3/quotas/fdc8f7ad-68ea-4/c4f6b972-57e7-"; + Requests[4889] = new DefaultHttpContext(); + Requests[4889].RequestServices = CreateServices(); + Requests[4889].Request.Method = "PATCH"; + Requests[4889].Request.Path = "/subscriptions/139989cd-4c93-/resourceGroups/7329f758-a676-43b/providers/Microsoft.ApiManagement/service/ce71dc48-0b/quotas/09113d7e-b53b-4/b84538da-c0f7-"; + Requests[4890] = new DefaultHttpContext(); + Requests[4890].RequestServices = CreateServices(); + Requests[4890].Request.Method = "POST"; + Requests[4890].Request.Path = "/subscriptions/bebbca39-7129-/resourceGroups/ef380694-998a-4f2/providers/Microsoft.Security/locations/6286daec-c5/alerts/9ffca175-/7efdabd8-b923-4889-9f"; + Requests[4891] = new DefaultHttpContext(); + Requests[4891].RequestServices = CreateServices(); + Requests[4891].Request.Method = "POST"; + Requests[4891].Request.Path = "/subscriptions/6ee130bd-d040-/resourceGroups/618ad18a-c334-461/providers/Microsoft.Security/locations/8577d61f-7e/jitNetworkAccessPolicies/9882efd6-85ce-4f32-8284-be/c61f90c6-a4d2-4269-987c-12d977d8"; + Requests[4892] = new DefaultHttpContext(); + Requests[4892].RequestServices = CreateServices(); + Requests[4892].Request.Method = "POST"; + Requests[4892].Request.Path = "/subscriptions/4f0fda55-2e6d-/resourceGroups/81831a56-1777-474/providers/Microsoft.Security/locations/5c01f027-1a/tasks/f6d95d99/130cf9c8-3fa2-40c2-9"; + Requests[4893] = new DefaultHttpContext(); + Requests[4893].RequestServices = CreateServices(); + Requests[4893].Request.Method = "GET"; + Requests[4893].Request.Path = "/subscriptions/781d1560-c2b2-/resourceGroups/efb28a26-02cc-4ab/providers/microsoft.insights/components/b8e7b533-031/e62635a6-"; + Requests[4894] = new DefaultHttpContext(); + Requests[4894].RequestServices = CreateServices(); + Requests[4894].Request.Method = "GET"; + Requests[4894].Request.Path = "/subscriptions/6460ce03-3a13-/resourceGroups/56caf886-83db-463/providers/Microsoft.Network/dnsZones/16b2c706/1178a933-3"; + Requests[4895] = new DefaultHttpContext(); + Requests[4895].RequestServices = CreateServices(); + Requests[4895].Request.Method = "PUT"; + Requests[4895].Request.Path = "/subscriptions/e7295fec-c8d2-/resourceGroups/2a3fbd09-de1c-4f8/providers/microsoft.insights/components/95fcaeb6-dbc/d800ae67-/item"; + Requests[4896] = new DefaultHttpContext(); + Requests[4896].RequestServices = CreateServices(); + Requests[4896].Request.Method = "DELETE"; + Requests[4896].Request.Path = "/subscriptions/98fde1ef-5349-/resourceGroups/7aa9f7db-3064-487/providers/microsoft.insights/components/7a308ab3-f78/08d3cf9d-/item"; + Requests[4897] = new DefaultHttpContext(); + Requests[4897].RequestServices = CreateServices(); + Requests[4897].Request.Method = "GET"; + Requests[4897].Request.Path = "/subscriptions/fa32c24a-af64-/resourceGroups/3e1dfba9-695c-434/providers/microsoft.insights/components/f312f7b4-0dc/f2e2defe-/item"; + Requests[4898] = new DefaultHttpContext(); + Requests[4898].RequestServices = CreateServices(); + Requests[4898].Request.Method = "DELETE"; + Requests[4898].Request.Path = "/subscriptions/93df41b3-fc67-/resourceGroups/d520b710-03ae-48a/providers/Microsoft.Network/dnsZones/ce35f393/541714ab-1/fb26f6de-64fc-42bd-83"; + Requests[4899] = new DefaultHttpContext(); + Requests[4899].RequestServices = CreateServices(); + Requests[4899].Request.Method = "PUT"; + Requests[4899].Request.Path = "/subscriptions/965c9a6b-569a-/resourceGroups/196bb97b-64f0-412/providers/Microsoft.Network/dnsZones/6babb5bd/618803f9-3/5fbccdb7-2dd4-4bdf-84"; + Requests[4900] = new DefaultHttpContext(); + Requests[4900].RequestServices = CreateServices(); + Requests[4900].Request.Method = "GET"; + Requests[4900].Request.Path = "/subscriptions/cdbc08bb-e60c-/resourceGroups/a8bd0da5-1e37-4a9/providers/Microsoft.Network/dnsZones/c4dcb792/599675bc-c/501d9ae8-eea3-473c-a0"; + Requests[4901] = new DefaultHttpContext(); + Requests[4901].RequestServices = CreateServices(); + Requests[4901].Request.Method = "PATCH"; + Requests[4901].Request.Path = "/subscriptions/aac7f575-2574-/resourceGroups/360fd650-0c06-4df/providers/Microsoft.Network/dnsZones/80a15c4c/21658587-3/eb04c2c0-42b8-4393-8b"; + Requests[4902] = new DefaultHttpContext(); + Requests[4902].RequestServices = CreateServices(); + Requests[4902].Request.Method = "DELETE"; + Requests[4902].Request.Path = "/subscriptions/2b0b8b47-272a-/resourceGroups/c4cfd748-836f-40a/providers/Microsoft.Network/trafficmanagerprofiles/95da7bfe-8a/e57a6b8c-ebc/5d3607df-b75"; + Requests[4903] = new DefaultHttpContext(); + Requests[4903].RequestServices = CreateServices(); + Requests[4903].Request.Method = "PUT"; + Requests[4903].Request.Path = "/subscriptions/30aa405c-daed-/resourceGroups/05e61d9d-633f-42e/providers/Microsoft.Network/trafficmanagerprofiles/285791ed-46/d067f0ee-bd8/1408e0ed-fc3"; + Requests[4904] = new DefaultHttpContext(); + Requests[4904].RequestServices = CreateServices(); + Requests[4904].Request.Method = "GET"; + Requests[4904].Request.Path = "/subscriptions/3a5e0092-20bc-/resourceGroups/ff3263fc-17c8-4f0/providers/Microsoft.Network/trafficmanagerprofiles/e05c26bf-17/a0ce2c72-951/623e9e51-c90"; + Requests[4905] = new DefaultHttpContext(); + Requests[4905].RequestServices = CreateServices(); + Requests[4905].Request.Method = "PATCH"; + Requests[4905].Request.Path = "/subscriptions/5868afd5-497e-/resourceGroups/d1387aed-7d24-4ef/providers/Microsoft.Network/trafficmanagerprofiles/12a07228-c3/aa803c65-465/f895e1f3-6fc"; + Requests[4906] = new DefaultHttpContext(); + Requests[4906].RequestServices = CreateServices(); + Requests[4906].Request.Method = "PUT"; + Requests[4906].Request.Path = "/apis/513f5/operations/82d8cbc5-8e/policies/ce1cf724"; + Requests[4907] = new DefaultHttpContext(); + Requests[4907].RequestServices = CreateServices(); + Requests[4907].Request.Method = "GET"; + Requests[4907].Request.Path = "/apis/241b2/operations/b8a899d7-cf/policies/b439928c"; + Requests[4908] = new DefaultHttpContext(); + Requests[4908].RequestServices = CreateServices(); + Requests[4908].Request.Method = "DELETE"; + Requests[4908].Request.Path = "/apis/fb89b/operations/477c1598-f6/policies/dbe60b1a"; + Requests[4909] = new DefaultHttpContext(); + Requests[4909].RequestServices = CreateServices(); + Requests[4909].Request.Method = "PUT"; + Requests[4909].Request.Path = "/apps/8d0ce/versions/d95f8dde-/closedlists/e790e7da-d"; + Requests[4910] = new DefaultHttpContext(); + Requests[4910].RequestServices = CreateServices(); + Requests[4910].Request.Method = "GET"; + Requests[4910].Request.Path = "/apps/33ee0/versions/fdf9052c-/closedlists/bdcf2d17-9"; + Requests[4911] = new DefaultHttpContext(); + Requests[4911].RequestServices = CreateServices(); + Requests[4911].Request.Method = "DELETE"; + Requests[4911].Request.Path = "/apps/f71af/versions/72848dbc-/closedlists/d8365b20-d"; + Requests[4912] = new DefaultHttpContext(); + Requests[4912].RequestServices = CreateServices(); + Requests[4912].Request.Method = "PATCH"; + Requests[4912].Request.Path = "/apps/08c50/versions/430dba37-/closedlists/f98200ba-3"; + Requests[4913] = new DefaultHttpContext(); + Requests[4913].RequestServices = CreateServices(); + Requests[4913].Request.Method = "PUT"; + Requests[4913].Request.Path = "/apps/11190/versions/28869cce-/compositeentities/0a063510-"; + Requests[4914] = new DefaultHttpContext(); + Requests[4914].RequestServices = CreateServices(); + Requests[4914].Request.Method = "GET"; + Requests[4914].Request.Path = "/apps/79c0c/versions/6b0c5e98-/compositeentities/06ee5ee4-"; + Requests[4915] = new DefaultHttpContext(); + Requests[4915].RequestServices = CreateServices(); + Requests[4915].Request.Method = "DELETE"; + Requests[4915].Request.Path = "/apps/c9593/versions/0a7d01df-/compositeentities/06efb9fc-"; + Requests[4916] = new DefaultHttpContext(); + Requests[4916].RequestServices = CreateServices(); + Requests[4916].Request.Method = "DELETE"; + Requests[4916].Request.Path = "/apps/bb9c7/versions/4476452c-/customprebuiltdomains/a854413c-0"; + Requests[4917] = new DefaultHttpContext(); + Requests[4917].RequestServices = CreateServices(); + Requests[4917].Request.Method = "PUT"; + Requests[4917].Request.Path = "/apps/fb8e9/versions/190c27d8-/entities/c6cb4815"; + Requests[4918] = new DefaultHttpContext(); + Requests[4918].RequestServices = CreateServices(); + Requests[4918].Request.Method = "GET"; + Requests[4918].Request.Path = "/apps/83c5d/versions/1231a7c7-/entities/5a855ffe"; + Requests[4919] = new DefaultHttpContext(); + Requests[4919].RequestServices = CreateServices(); + Requests[4919].Request.Method = "DELETE"; + Requests[4919].Request.Path = "/apps/e1f0f/versions/9021c575-/entities/f4250272"; + Requests[4920] = new DefaultHttpContext(); + Requests[4920].RequestServices = CreateServices(); + Requests[4920].Request.Method = "DELETE"; + Requests[4920].Request.Path = "/apps/01fcd/versions/4d12d914-/examples/7912fbb1-"; + Requests[4921] = new DefaultHttpContext(); + Requests[4921].RequestServices = CreateServices(); + Requests[4921].Request.Method = "GET"; + Requests[4921].Request.Path = "/apps/2f459/versions/5ecb7b06-/hierarchicalentities/a1ec199f-"; + Requests[4922] = new DefaultHttpContext(); + Requests[4922].RequestServices = CreateServices(); + Requests[4922].Request.Method = "PUT"; + Requests[4922].Request.Path = "/apps/ccb5c/versions/6bdc7397-/hierarchicalentities/8ad2c293-"; + Requests[4923] = new DefaultHttpContext(); + Requests[4923].RequestServices = CreateServices(); + Requests[4923].Request.Method = "DELETE"; + Requests[4923].Request.Path = "/apps/a9c06/versions/97497c94-/hierarchicalentities/57dfd669-"; + Requests[4924] = new DefaultHttpContext(); + Requests[4924].RequestServices = CreateServices(); + Requests[4924].Request.Method = "PUT"; + Requests[4924].Request.Path = "/apps/1dc7e/versions/1f2523be-/intents/54cb2658"; + Requests[4925] = new DefaultHttpContext(); + Requests[4925].RequestServices = CreateServices(); + Requests[4925].Request.Method = "DELETE"; + Requests[4925].Request.Path = "/apps/56167/versions/20a9a4b4-/intents/ac15f564"; + Requests[4926] = new DefaultHttpContext(); + Requests[4926].RequestServices = CreateServices(); + Requests[4926].Request.Method = "GET"; + Requests[4926].Request.Path = "/apps/afb3f/versions/4e632218-/intents/15fb0650"; + Requests[4927] = new DefaultHttpContext(); + Requests[4927].RequestServices = CreateServices(); + Requests[4927].Request.Method = "GET"; + Requests[4927].Request.Path = "/apps/7b893/versions/7c7090bf-/patternanyentities/98457a87"; + Requests[4928] = new DefaultHttpContext(); + Requests[4928].RequestServices = CreateServices(); + Requests[4928].Request.Method = "PUT"; + Requests[4928].Request.Path = "/apps/deb56/versions/f0261165-/patternanyentities/f455956e"; + Requests[4929] = new DefaultHttpContext(); + Requests[4929].RequestServices = CreateServices(); + Requests[4929].Request.Method = "DELETE"; + Requests[4929].Request.Path = "/apps/5886f/versions/44c1838a-/patternanyentities/78469290"; + Requests[4930] = new DefaultHttpContext(); + Requests[4930].RequestServices = CreateServices(); + Requests[4930].Request.Method = "PUT"; + Requests[4930].Request.Path = "/apps/8a120/versions/cfafadc1-/patternrules/c20cc4bd-"; + Requests[4931] = new DefaultHttpContext(); + Requests[4931].RequestServices = CreateServices(); + Requests[4931].Request.Method = "DELETE"; + Requests[4931].Request.Path = "/apps/62ef2/versions/d006d772-/patternrules/f9d3478b-"; + Requests[4932] = new DefaultHttpContext(); + Requests[4932].RequestServices = CreateServices(); + Requests[4932].Request.Method = "DELETE"; + Requests[4932].Request.Path = "/apps/0aca5/versions/0973ee92-/patterns/14e1d8d3-"; + Requests[4933] = new DefaultHttpContext(); + Requests[4933].RequestServices = CreateServices(); + Requests[4933].Request.Method = "GET"; + Requests[4933].Request.Path = "/apps/5f1c7/versions/f81ffbf4-/patterns/f77ececd-"; + Requests[4934] = new DefaultHttpContext(); + Requests[4934].RequestServices = CreateServices(); + Requests[4934].Request.Method = "PUT"; + Requests[4934].Request.Path = "/apps/881e8/versions/eb3cdb2f-/patterns/6410c0e8-"; + Requests[4935] = new DefaultHttpContext(); + Requests[4935].RequestServices = CreateServices(); + Requests[4935].Request.Method = "GET"; + Requests[4935].Request.Path = "/apps/87459/versions/231abce1-/phraselists/f74a2608-b9e"; + Requests[4936] = new DefaultHttpContext(); + Requests[4936].RequestServices = CreateServices(); + Requests[4936].Request.Method = "DELETE"; + Requests[4936].Request.Path = "/apps/e9901/versions/bdfb8075-/phraselists/09d5483f-343"; + Requests[4937] = new DefaultHttpContext(); + Requests[4937].RequestServices = CreateServices(); + Requests[4937].Request.Method = "PUT"; + Requests[4937].Request.Path = "/apps/ebe37/versions/4966c96b-/phraselists/1ac342f9-617"; + Requests[4938] = new DefaultHttpContext(); + Requests[4938].RequestServices = CreateServices(); + Requests[4938].Request.Method = "DELETE"; + Requests[4938].Request.Path = "/apps/ab712/versions/455e7e97-/prebuilts/b7b8747e-7"; + Requests[4939] = new DefaultHttpContext(); + Requests[4939].RequestServices = CreateServices(); + Requests[4939].Request.Method = "GET"; + Requests[4939].Request.Path = "/apps/cbe09/versions/92caa256-/prebuilts/f40b3c83-7"; + Requests[4940] = new DefaultHttpContext(); + Requests[4940].RequestServices = CreateServices(); + Requests[4940].Request.Method = "GET"; + Requests[4940].Request.Path = "/apps/45afa/versions/d0f204aa-/regexentities/4f610950-454b"; + Requests[4941] = new DefaultHttpContext(); + Requests[4941].RequestServices = CreateServices(); + Requests[4941].Request.Method = "DELETE"; + Requests[4941].Request.Path = "/apps/799b0/versions/ede12146-/regexentities/50ee8a63-87f9"; + Requests[4942] = new DefaultHttpContext(); + Requests[4942].RequestServices = CreateServices(); + Requests[4942].Request.Method = "PUT"; + Requests[4942].Request.Path = "/apps/d79e9/versions/c3ee5796-/regexentities/b1455842-1804"; + Requests[4943] = new DefaultHttpContext(); + Requests[4943].RequestServices = CreateServices(); + Requests[4943].Request.Method = "GET"; + Requests[4943].Request.Path = "/jobs/2a3fc/tasks/7780a6/files/a9cec738"; + Requests[4944] = new DefaultHttpContext(); + Requests[4944].RequestServices = CreateServices(); + Requests[4944].Request.Method = "HEAD"; + Requests[4944].Request.Path = "/jobs/78da7/tasks/949653/files/8d67c742"; + Requests[4945] = new DefaultHttpContext(); + Requests[4945].RequestServices = CreateServices(); + Requests[4945].Request.Method = "DELETE"; + Requests[4945].Request.Path = "/jobs/204f4/tasks/172563/files/2fee5574"; + Requests[4946] = new DefaultHttpContext(); + Requests[4946].RequestServices = CreateServices(); + Requests[4946].Request.Method = "GET"; + Requests[4946].Request.Path = "/persongroups/857e54fc-4350/persons/5b186435/persistedFaces/977982f4-190f-4"; + Requests[4947] = new DefaultHttpContext(); + Requests[4947].RequestServices = CreateServices(); + Requests[4947].Request.Method = "DELETE"; + Requests[4947].Request.Path = "/persongroups/aa14cb16-af27/persons/f7b0f457/persistedFaces/bb539487-2023-4"; + Requests[4948] = new DefaultHttpContext(); + Requests[4948].RequestServices = CreateServices(); + Requests[4948].Request.Method = "PATCH"; + Requests[4948].Request.Path = "/persongroups/67d72e12-48c3/persons/93bd0ecb/persistedFaces/afe882c4-f74d-4"; + Requests[4949] = new DefaultHttpContext(); + Requests[4949].RequestServices = CreateServices(); + Requests[4949].Request.Method = "HEAD"; + Requests[4949].Request.Path = "/pools/fc4e31/nodes/c4c148/files/f3928014"; + Requests[4950] = new DefaultHttpContext(); + Requests[4950].RequestServices = CreateServices(); + Requests[4950].Request.Method = "DELETE"; + Requests[4950].Request.Path = "/pools/d687bd/nodes/e2c6e6/files/fc34c099"; + Requests[4951] = new DefaultHttpContext(); + Requests[4951].RequestServices = CreateServices(); + Requests[4951].Request.Method = "GET"; + Requests[4951].Request.Path = "/pools/6f9a58/nodes/5c6fc8/files/6f691424"; + Requests[4952] = new DefaultHttpContext(); + Requests[4952].RequestServices = CreateServices(); + Requests[4952].Request.Method = "PUT"; + Requests[4952].Request.Path = "/pools/d0224b/nodes/d031bf/users/f7f0d225"; + Requests[4953] = new DefaultHttpContext(); + Requests[4953].RequestServices = CreateServices(); + Requests[4953].Request.Method = "DELETE"; + Requests[4953].Request.Path = "/pools/d55a60/nodes/f42add/users/6c156708"; + Requests[4954] = new DefaultHttpContext(); + Requests[4954].RequestServices = CreateServices(); + Requests[4954].Request.Method = "DELETE"; + Requests[4954].Request.Path = "/subscriptions/59118636-503f-/tagNames/4bf538c/tagValues/39540536"; + Requests[4955] = new DefaultHttpContext(); + Requests[4955].RequestServices = CreateServices(); + Requests[4955].Request.Method = "PUT"; + Requests[4955].Request.Path = "/subscriptions/54d7bf4e-6836-/tagNames/3020c6f/tagValues/cd00b0fb"; + Requests[4956] = new DefaultHttpContext(); + Requests[4956].RequestServices = CreateServices(); + Requests[4956].Request.Method = "POST"; + Requests[4956].Request.Path = "/apps/9cfcd/versions/b058858b-/closedlists/6769ebd7-6/sublists"; + Requests[4957] = new DefaultHttpContext(); + Requests[4957].RequestServices = CreateServices(); + Requests[4957].Request.Method = "POST"; + Requests[4957].Request.Path = "/apps/ac654/versions/4168564a-/closedlists/08a8d948/roles"; + Requests[4958] = new DefaultHttpContext(); + Requests[4958].RequestServices = CreateServices(); + Requests[4958].Request.Method = "GET"; + Requests[4958].Request.Path = "/apps/4770d/versions/f554c2a5-/closedlists/46782ea8/roles"; + Requests[4959] = new DefaultHttpContext(); + Requests[4959].RequestServices = CreateServices(); + Requests[4959].Request.Method = "POST"; + Requests[4959].Request.Path = "/apps/e358a/versions/dbe3f466-/compositeentities/f4b37cbe-/children"; + Requests[4960] = new DefaultHttpContext(); + Requests[4960].RequestServices = CreateServices(); + Requests[4960].Request.Method = "POST"; + Requests[4960].Request.Path = "/apps/4ff32/versions/a02f5a8c-/compositeentities/49b935f0-/roles"; + Requests[4961] = new DefaultHttpContext(); + Requests[4961].RequestServices = CreateServices(); + Requests[4961].Request.Method = "GET"; + Requests[4961].Request.Path = "/apps/6f1c7/versions/88ea8074-/compositeentities/976cfeb6-/roles"; + Requests[4962] = new DefaultHttpContext(); + Requests[4962].RequestServices = CreateServices(); + Requests[4962].Request.Method = "GET"; + Requests[4962].Request.Path = "/apps/9f1aa/versions/4edca212-/customprebuiltentities/b9a9e93f/roles"; + Requests[4963] = new DefaultHttpContext(); + Requests[4963].RequestServices = CreateServices(); + Requests[4963].Request.Method = "POST"; + Requests[4963].Request.Path = "/apps/27086/versions/1275fbea-/customprebuiltentities/008b3d43/roles"; + Requests[4964] = new DefaultHttpContext(); + Requests[4964].RequestServices = CreateServices(); + Requests[4964].Request.Method = "GET"; + Requests[4964].Request.Path = "/apps/2fedd/versions/2973e55e-/entities/71306ee8/roles"; + Requests[4965] = new DefaultHttpContext(); + Requests[4965].RequestServices = CreateServices(); + Requests[4965].Request.Method = "POST"; + Requests[4965].Request.Path = "/apps/32345/versions/843aa7ba-/entities/3ca2fbb7/roles"; + Requests[4966] = new DefaultHttpContext(); + Requests[4966].RequestServices = CreateServices(); + Requests[4966].Request.Method = "GET"; + Requests[4966].Request.Path = "/apps/109cd/versions/dc33f23d-/entities/eb481b08/suggest"; + Requests[4967] = new DefaultHttpContext(); + Requests[4967].RequestServices = CreateServices(); + Requests[4967].Request.Method = "POST"; + Requests[4967].Request.Path = "/apps/44756/versions/6612fa28-/hierarchicalentities/659112ae-/children"; + Requests[4968] = new DefaultHttpContext(); + Requests[4968].RequestServices = CreateServices(); + Requests[4968].Request.Method = "POST"; + Requests[4968].Request.Path = "/apps/503a4/versions/3f96ae06-/hierarchicalentities/77d26a1c-/roles"; + Requests[4969] = new DefaultHttpContext(); + Requests[4969].RequestServices = CreateServices(); + Requests[4969].Request.Method = "GET"; + Requests[4969].Request.Path = "/apps/4b384/versions/6fc4ea30-/hierarchicalentities/142f7935-/roles"; + Requests[4970] = new DefaultHttpContext(); + Requests[4970].RequestServices = CreateServices(); + Requests[4970].Request.Method = "GET"; + Requests[4970].Request.Path = "/apps/d427b/versions/09389cc8-/intents/77698b76/patternrules"; + Requests[4971] = new DefaultHttpContext(); + Requests[4971].RequestServices = CreateServices(); + Requests[4971].Request.Method = "GET"; + Requests[4971].Request.Path = "/apps/51949/versions/b42f1245-/intents/68a76c06/suggest"; + Requests[4972] = new DefaultHttpContext(); + Requests[4972].RequestServices = CreateServices(); + Requests[4972].Request.Method = "GET"; + Requests[4972].Request.Path = "/apps/cc8a9/versions/371f1203-/models/635ea29/examples"; + Requests[4973] = new DefaultHttpContext(); + Requests[4973].RequestServices = CreateServices(); + Requests[4973].Request.Method = "GET"; + Requests[4973].Request.Path = "/apps/1986b/versions/827ede0e-/patternanyentities/32a3e3ff/explicitlist"; + Requests[4974] = new DefaultHttpContext(); + Requests[4974].RequestServices = CreateServices(); + Requests[4974].Request.Method = "POST"; + Requests[4974].Request.Path = "/apps/2d14b/versions/facb0c8c-/patternanyentities/3f381cab/explicitlist"; + Requests[4975] = new DefaultHttpContext(); + Requests[4975].RequestServices = CreateServices(); + Requests[4975].Request.Method = "POST"; + Requests[4975].Request.Path = "/apps/d8769/versions/e878fb2a-/patternanyentities/2f72569a/roles"; + Requests[4976] = new DefaultHttpContext(); + Requests[4976].RequestServices = CreateServices(); + Requests[4976].Request.Method = "GET"; + Requests[4976].Request.Path = "/apps/9716f/versions/56fa8516-/patternanyentities/36176239/roles"; + Requests[4977] = new DefaultHttpContext(); + Requests[4977].RequestServices = CreateServices(); + Requests[4977].Request.Method = "GET"; + Requests[4977].Request.Path = "/apps/32dca/versions/1a1c13d9-/prebuilts/90a7c512/roles"; + Requests[4978] = new DefaultHttpContext(); + Requests[4978].RequestServices = CreateServices(); + Requests[4978].Request.Method = "POST"; + Requests[4978].Request.Path = "/apps/a7377/versions/31cb93b4-/prebuilts/93f1a619/roles"; + Requests[4979] = new DefaultHttpContext(); + Requests[4979].RequestServices = CreateServices(); + Requests[4979].Request.Method = "GET"; + Requests[4979].Request.Path = "/apps/a1a07/versions/a50b7579-/regexentities/9118f3a1/roles"; + Requests[4980] = new DefaultHttpContext(); + Requests[4980].RequestServices = CreateServices(); + Requests[4980].Request.Method = "POST"; + Requests[4980].Request.Path = "/apps/4ce26/versions/77350f22-/regexentities/1d3ec769/roles"; + Requests[4981] = new DefaultHttpContext(); + Requests[4981].RequestServices = CreateServices(); + Requests[4981].Request.Method = "GET"; + Requests[4981].Request.Path = "/subscriptions/fe9bdacb-e66f-/resourcegroups/8ae62abb-8c61-434/deployments/931fea78-c988-/operations"; + Requests[4982] = new DefaultHttpContext(); + Requests[4982].RequestServices = CreateServices(); + Requests[4982].Request.Method = "POST"; + Requests[4982].Request.Path = "/subscriptions/47a153ca-ebcf-/providers/43a986b4-ef9d-43a3-8d1/policyAssignments/80593655-3c52-4b2f-9/providers/Microsoft.PolicyInsights/policyEvents/6e99d422-76ee-4729-b/queryResults"; + Requests[4983] = new DefaultHttpContext(); + Requests[4983].RequestServices = CreateServices(); + Requests[4983].Request.Method = "POST"; + Requests[4983].Request.Path = "/subscriptions/74dff5c6-eff2-/providers/0b394798-f9ca-4acc-85e/policyAssignments/f6900f5c-f118-4174-8/providers/Microsoft.PolicyInsights/policyStates/0371ca15-aab0-4940-a/queryResults"; + Requests[4984] = new DefaultHttpContext(); + Requests[4984].RequestServices = CreateServices(); + Requests[4984].Request.Method = "POST"; + Requests[4984].Request.Path = "/subscriptions/b538566f-7407-/providers/8d33d38d-6c2f-41c3-9e9/policyAssignments/08edf96a-d6d1-45b5-b/providers/Microsoft.PolicyInsights/policyStates/874eb626-5bcf-46d2-a580-024/summarize"; + Requests[4985] = new DefaultHttpContext(); + Requests[4985].RequestServices = CreateServices(); + Requests[4985].Request.Method = "POST"; + Requests[4985].Request.Path = "/subscriptions/906a30e2-8c52-/providers/d143741c-1a4f-4ae9-bbd/policyDefinitions/3430f279-4d2d-4b71-b/providers/Microsoft.PolicyInsights/policyEvents/4b28cc10-4da1-4c37-8/queryResults"; + Requests[4986] = new DefaultHttpContext(); + Requests[4986].RequestServices = CreateServices(); + Requests[4986].Request.Method = "POST"; + Requests[4986].Request.Path = "/subscriptions/9183f628-d864-/providers/4df7c50a-e8c1-4e27-88b/policyDefinitions/42a71756-ac96-4478-9/providers/Microsoft.PolicyInsights/policyStates/7b1ec2b6-2573-4f95-8/queryResults"; + Requests[4987] = new DefaultHttpContext(); + Requests[4987].RequestServices = CreateServices(); + Requests[4987].Request.Method = "POST"; + Requests[4987].Request.Path = "/subscriptions/83916afc-86c1-/providers/8a9a4fdc-f1b4-4a7b-ae6/policyDefinitions/be9c98dc-070c-4dc7-b/providers/Microsoft.PolicyInsights/policyStates/ddc5f035-2103-4691-8057-dd5/summarize"; + Requests[4988] = new DefaultHttpContext(); + Requests[4988].RequestServices = CreateServices(); + Requests[4988].Request.Method = "POST"; + Requests[4988].Request.Path = "/subscriptions/5b55e841-40d0-/providers/f142c058-e8f9-426e-867/policySetDefinitions/7da31f86-3b8b-4ff0-a744/providers/Microsoft.PolicyInsights/policyEvents/1e4a3e58-f94a-409f-b/queryResults"; + Requests[4989] = new DefaultHttpContext(); + Requests[4989].RequestServices = CreateServices(); + Requests[4989].Request.Method = "POST"; + Requests[4989].Request.Path = "/subscriptions/931f2f60-7e15-/providers/4beb2864-79e3-480e-83f/policySetDefinitions/48336faf-c7ee-4e10-8eb3/providers/Microsoft.PolicyInsights/policyStates/16dc7ac7-db30-4880-b/queryResults"; + Requests[4990] = new DefaultHttpContext(); + Requests[4990].RequestServices = CreateServices(); + Requests[4990].Request.Method = "POST"; + Requests[4990].Request.Path = "/subscriptions/60ff1159-889b-/providers/eb349cb7-c1d1-47fc-bd0/policySetDefinitions/29825e44-1752-406f-acaf/providers/Microsoft.PolicyInsights/policyStates/3696f01b-8a8d-42d2-b616-105/summarize"; + Requests[4991] = new DefaultHttpContext(); + Requests[4991].RequestServices = CreateServices(); + Requests[4991].Request.Method = "DELETE"; + Requests[4991].Request.Path = "/apps/edc59/versions/551a1c27-/closedlists/8c2412a8-2/sublists/83875052-"; + Requests[4992] = new DefaultHttpContext(); + Requests[4992].RequestServices = CreateServices(); + Requests[4992].Request.Method = "PUT"; + Requests[4992].Request.Path = "/apps/08ffc/versions/c9e12ad1-/closedlists/a95a45ca-3/sublists/068e5721-"; + Requests[4993] = new DefaultHttpContext(); + Requests[4993].RequestServices = CreateServices(); + Requests[4993].Request.Method = "GET"; + Requests[4993].Request.Path = "/apps/cc09a/versions/d70e2332-/closedlists/ce5ebbe3/roles/de9e81"; + Requests[4994] = new DefaultHttpContext(); + Requests[4994].RequestServices = CreateServices(); + Requests[4994].Request.Method = "PUT"; + Requests[4994].Request.Path = "/apps/75a08/versions/78ff5008-/closedlists/d6ddc1b9/roles/e927c4"; + Requests[4995] = new DefaultHttpContext(); + Requests[4995].RequestServices = CreateServices(); + Requests[4995].Request.Method = "DELETE"; + Requests[4995].Request.Path = "/apps/c9296/versions/2dbf6652-/closedlists/67a399ce/roles/806005"; + Requests[4996] = new DefaultHttpContext(); + Requests[4996].RequestServices = CreateServices(); + Requests[4996].Request.Method = "DELETE"; + Requests[4996].Request.Path = "/apps/20482/versions/91038f78-/compositeentities/072206ac-/children/575d7e4d"; + Requests[4997] = new DefaultHttpContext(); + Requests[4997].RequestServices = CreateServices(); + Requests[4997].Request.Method = "DELETE"; + Requests[4997].Request.Path = "/apps/79452/versions/afe535c2-/compositeentities/ea8ea533-/roles/693ea1"; + Requests[4998] = new DefaultHttpContext(); + Requests[4998].RequestServices = CreateServices(); + Requests[4998].Request.Method = "PUT"; + Requests[4998].Request.Path = "/apps/be496/versions/b9da6808-/compositeentities/36a34b7d-/roles/f52586"; + Requests[4999] = new DefaultHttpContext(); + Requests[4999].RequestServices = CreateServices(); + Requests[4999].Request.Method = "GET"; + Requests[4999].Request.Path = "/apps/f00b3/versions/53fd696b-/compositeentities/efb6b767-/roles/3f387b"; + Requests[5000] = new DefaultHttpContext(); + Requests[5000].RequestServices = CreateServices(); + Requests[5000].Request.Method = "GET"; + Requests[5000].Request.Path = "/apps/6bd08/versions/d98f0c88-/customprebuiltentities/478cea50/roles/d480dc"; + Requests[5001] = new DefaultHttpContext(); + Requests[5001].RequestServices = CreateServices(); + Requests[5001].Request.Method = "PUT"; + Requests[5001].Request.Path = "/apps/3a9ae/versions/0f6b151f-/customprebuiltentities/8ba5a3c3/roles/45b9c2"; + Requests[5002] = new DefaultHttpContext(); + Requests[5002].RequestServices = CreateServices(); + Requests[5002].Request.Method = "DELETE"; + Requests[5002].Request.Path = "/apps/f6b28/versions/49b2bab7-/customprebuiltentities/4c0d2e36/roles/0f5d03"; + Requests[5003] = new DefaultHttpContext(); + Requests[5003].RequestServices = CreateServices(); + Requests[5003].Request.Method = "DELETE"; + Requests[5003].Request.Path = "/apps/f4cbe/versions/afe14ea6-/entities/28e6c2de/roles/80ea17"; + Requests[5004] = new DefaultHttpContext(); + Requests[5004].RequestServices = CreateServices(); + Requests[5004].Request.Method = "GET"; + Requests[5004].Request.Path = "/apps/1a09d/versions/e29a2af3-/entities/e1ef95cb/roles/0a6ad2"; + Requests[5005] = new DefaultHttpContext(); + Requests[5005].RequestServices = CreateServices(); + Requests[5005].Request.Method = "PUT"; + Requests[5005].Request.Path = "/apps/3a82b/versions/825992db-/entities/b7865a80/roles/bfb58a"; + Requests[5006] = new DefaultHttpContext(); + Requests[5006].RequestServices = CreateServices(); + Requests[5006].Request.Method = "DELETE"; + Requests[5006].Request.Path = "/apps/46897/versions/532f9544-/hierarchicalentities/c05328c7-/children/9fc4adce"; + Requests[5007] = new DefaultHttpContext(); + Requests[5007].RequestServices = CreateServices(); + Requests[5007].Request.Method = "PUT"; + Requests[5007].Request.Path = "/apps/51dea/versions/160a594c-/hierarchicalentities/90a57acb-/children/84c0c425"; + Requests[5008] = new DefaultHttpContext(); + Requests[5008].RequestServices = CreateServices(); + Requests[5008].Request.Method = "GET"; + Requests[5008].Request.Path = "/apps/a7215/versions/03a0207e-/hierarchicalentities/251ba12d-/children/8608e422"; + Requests[5009] = new DefaultHttpContext(); + Requests[5009].RequestServices = CreateServices(); + Requests[5009].Request.Method = "DELETE"; + Requests[5009].Request.Path = "/apps/baa14/versions/2ec5e49c-/hierarchicalentities/fa5b7395-/roles/884d6d"; + Requests[5010] = new DefaultHttpContext(); + Requests[5010].RequestServices = CreateServices(); + Requests[5010].Request.Method = "PUT"; + Requests[5010].Request.Path = "/apps/bf0d3/versions/70695e1b-/hierarchicalentities/1d6ada09-/roles/498a98"; + Requests[5011] = new DefaultHttpContext(); + Requests[5011].RequestServices = CreateServices(); + Requests[5011].Request.Method = "GET"; + Requests[5011].Request.Path = "/apps/d0b43/versions/230196c4-/hierarchicalentities/c0b9543c-/roles/853491"; + Requests[5012] = new DefaultHttpContext(); + Requests[5012].RequestServices = CreateServices(); + Requests[5012].Request.Method = "PUT"; + Requests[5012].Request.Path = "/apps/1af84/versions/33e6b9c1-/patternanyentities/28d5a5d6/explicitlist/60557e"; + Requests[5013] = new DefaultHttpContext(); + Requests[5013].RequestServices = CreateServices(); + Requests[5013].Request.Method = "GET"; + Requests[5013].Request.Path = "/apps/6bc14/versions/ed5af8f8-/patternanyentities/b1244dcd/explicitlist/1f1f1b"; + Requests[5014] = new DefaultHttpContext(); + Requests[5014].RequestServices = CreateServices(); + Requests[5014].Request.Method = "DELETE"; + Requests[5014].Request.Path = "/apps/b3a3d/versions/3f2f37ab-/patternanyentities/5f6976c0/explicitlist/b53473"; + Requests[5015] = new DefaultHttpContext(); + Requests[5015].RequestServices = CreateServices(); + Requests[5015].Request.Method = "GET"; + Requests[5015].Request.Path = "/apps/ec879/versions/7b54beb5-/patternanyentities/b4710f47/roles/0f4614"; + Requests[5016] = new DefaultHttpContext(); + Requests[5016].RequestServices = CreateServices(); + Requests[5016].Request.Method = "DELETE"; + Requests[5016].Request.Path = "/apps/e3169/versions/af95ed6f-/patternanyentities/821e3388/roles/956530"; + Requests[5017] = new DefaultHttpContext(); + Requests[5017].RequestServices = CreateServices(); + Requests[5017].Request.Method = "PUT"; + Requests[5017].Request.Path = "/apps/d5d21/versions/14145059-/patternanyentities/7a38066f/roles/ca4430"; + Requests[5018] = new DefaultHttpContext(); + Requests[5018].RequestServices = CreateServices(); + Requests[5018].Request.Method = "DELETE"; + Requests[5018].Request.Path = "/apps/83814/versions/bac094a9-/prebuilts/b3f4d3c7/roles/49be97"; + Requests[5019] = new DefaultHttpContext(); + Requests[5019].RequestServices = CreateServices(); + Requests[5019].Request.Method = "PUT"; + Requests[5019].Request.Path = "/apps/c6959/versions/cb5e283a-/prebuilts/43017212/roles/0a6127"; + Requests[5020] = new DefaultHttpContext(); + Requests[5020].RequestServices = CreateServices(); + Requests[5020].Request.Method = "GET"; + Requests[5020].Request.Path = "/apps/f0057/versions/296d2204-/prebuilts/6e326b95/roles/bf9296"; + Requests[5021] = new DefaultHttpContext(); + Requests[5021].RequestServices = CreateServices(); + Requests[5021].Request.Method = "GET"; + Requests[5021].Request.Path = "/apps/6bb20/versions/0b280ee7-/regexentities/ef17de58/roles/c874d3"; + Requests[5022] = new DefaultHttpContext(); + Requests[5022].RequestServices = CreateServices(); + Requests[5022].Request.Method = "DELETE"; + Requests[5022].Request.Path = "/apps/021e8/versions/884491da-/regexentities/1497ccb5/roles/95490f"; + Requests[5023] = new DefaultHttpContext(); + Requests[5023].RequestServices = CreateServices(); + Requests[5023].Request.Method = "PUT"; + Requests[5023].Request.Path = "/apps/56bbd/versions/fac60968-/regexentities/38b5feb8/roles/d206af"; + Requests[5024] = new DefaultHttpContext(); + Requests[5024].RequestServices = CreateServices(); + Requests[5024].Request.Method = "GET"; + Requests[5024].Request.Path = "/subscriptions/13b8699a-bcd4-/resourcegroups/39ecad98-cc84-431/deployments/a8fb576e-68e9-/operations/568a987e-52"; + Requests[5025] = new DefaultHttpContext(); + Requests[5025].RequestServices = CreateServices(); + Requests[5025].Request.Method = "POST"; + Requests[5025].Request.Path = "/subscriptions/dedf2b20-f675-/resourcegroups/078dbccb-9ce1-4ee/providers/cf160766-6383-460e-94c/policyAssignments/601aca92-da9e-4798-8/providers/Microsoft.PolicyInsights/policyEvents/d62eb140-909d-47d2-b/queryResults"; + Requests[5026] = new DefaultHttpContext(); + Requests[5026].RequestServices = CreateServices(); + Requests[5026].Request.Method = "POST"; + Requests[5026].Request.Path = "/subscriptions/7810f743-b958-/resourcegroups/067b2667-bfb4-498/providers/41a8bed7-da8a-4294-8ec/policyAssignments/0db46310-7e9a-4da0-9/providers/Microsoft.PolicyInsights/policyStates/ccf8b029-97ff-4c39-9/queryResults"; + Requests[5027] = new DefaultHttpContext(); + Requests[5027].RequestServices = CreateServices(); + Requests[5027].Request.Method = "POST"; + Requests[5027].Request.Path = "/subscriptions/717927d0-dcbe-/resourcegroups/cf41613e-1c56-40b/providers/cc9c586f-3e1e-4df7-964/policyAssignments/a9048424-5989-42b4-a/providers/Microsoft.PolicyInsights/policyStates/b743ddc3-5159-48a2-aa7b-abc/summarize"; + Requests[5028] = new DefaultHttpContext(); + Requests[5028].RequestServices = CreateServices(); + Requests[5028].Request.Method = "GET"; + Requests[5028].Request.Path = "/subscriptions/1e3d2345-23ff-/resourceGroups/c34bd6e6-4530-45c/providers/f4778a3a-046c-4a2/ef4a3056-425d-4f/86159148-52a/providers/Microsoft.EventGrid/eventSubscriptions"; + Requests[5029] = new DefaultHttpContext(); + Requests[5029].RequestServices = CreateServices(); + Requests[5029].Request.Method = "GET"; + Requests[5029].Request.Path = "/subscriptions/aa61dfbd-2f53-/resourceGroups/f61158ad-c233-4a6/providers/5776c647-43a3-45b/44086290-2050-45/b29c60a9-07a/providers/Microsoft.EventGrid/eventTypes"; + Requests[5030] = new DefaultHttpContext(); + Requests[5030].RequestServices = CreateServices(); + Requests[5030].Request.Method = "GET"; + Requests[5030].Request.Path = "/subscriptions/1a4ccbe3-87f9-/resourcegroups/088e9732-d42a-42a/providers/3035e168-62e/de772962-480/458a2354-592/providers/Microsoft.OperationsManagement/ManagementAssociations/f5283bb4-813a-4bb2-a850-f"; + Requests[5031] = new DefaultHttpContext(); + Requests[5031].RequestServices = CreateServices(); + Requests[5031].Request.Method = "PUT"; + Requests[5031].Request.Path = "/subscriptions/8fb9e951-546d-/resourcegroups/f30da3ef-f202-4d8/providers/ee4a562c-c62/e350d53c-f0a/3caa805c-d78/providers/Microsoft.OperationsManagement/ManagementAssociations/113a7ef4-7dfe-4810-b3dd-2"; + Requests[5032] = new DefaultHttpContext(); + Requests[5032].RequestServices = CreateServices(); + Requests[5032].Request.Method = "DELETE"; + Requests[5032].Request.Path = "/subscriptions/36e108db-8e05-/resourcegroups/71638b37-01b5-4c0/providers/2e9073ec-f55/21a666b2-420/0c17f98d-7e5/providers/Microsoft.OperationsManagement/ManagementAssociations/6e2cddd5-0fc6-474d-b939-1"; + Requests[5033] = new DefaultHttpContext(); + Requests[5033].RequestServices = CreateServices(); + Requests[5033].Request.Method = "PUT"; + Requests[5033].Request.Path = "/subscriptions/74438ae1-fbdd-/resourcegroups/ab836d16-b3c5-471/providers/0d7c7b8d-db05-45a8-8b71-1/9ed702db-16ad-43c1/f139f812-713/af1f81f1-903"; + Requests[5034] = new DefaultHttpContext(); + Requests[5034].RequestServices = CreateServices(); + Requests[5034].Request.Method = "GET"; + Requests[5034].Request.Path = "/subscriptions/43dea823-907e-/resourcegroups/155ad3fc-2e75-4f7/providers/de9a1b74-e4e1-4d71-9c12-7/c6811194-c174-4ffe/a2d577b1-8db/d7ecebb8-760"; + Requests[5035] = new DefaultHttpContext(); + Requests[5035].RequestServices = CreateServices(); + Requests[5035].Request.Method = "PATCH"; + Requests[5035].Request.Path = "/subscriptions/439e900d-4744-/resourcegroups/5e82e31e-ec5d-4ea/providers/529335f9-2845-4bc1-bf2a-6/b06cc901-3097-4c74/e063a8ac-b59/bff8051c-fd2"; + Requests[5036] = new DefaultHttpContext(); + Requests[5036].RequestServices = CreateServices(); + Requests[5036].Request.Method = "DELETE"; + Requests[5036].Request.Path = "/subscriptions/36fc7f98-7327-/resourcegroups/d2ba89fa-e76a-4a9/providers/6bd39142-324a-4cb6-b3ee-c/d43e1ed1-a760-4c67/a6face59-553/d6a1a244-813"; + Requests[5037] = new DefaultHttpContext(); + Requests[5037].RequestServices = CreateServices(); + Requests[5037].Request.Method = "HEAD"; + Requests[5037].Request.Path = "/subscriptions/069c0934-25b6-/resourcegroups/5dd81c92-f5ee-407/providers/e1d26ff3-179a-4c50-891c-9/582ebc06-162e-46c1/8aa73949-24e/3badcda8-e9e"; + Requests[5038] = new DefaultHttpContext(); + Requests[5038].RequestServices = CreateServices(); + Requests[5038].Request.Method = "GET"; + Requests[5038].Request.Path = "/subscriptions/1219a54f-e6ac-/resourcegroups/362c2331-7ea0-47d/providers/2adeacbc-d255-43d5-b359-f/db78dbf6-bbb3-4897/9bf7b68b-a8d/018850fa-627/providers/Microsoft.Authorization/locks"; + Requests[5039] = new DefaultHttpContext(); + Requests[5039].RequestServices = CreateServices(); + Requests[5039].Request.Method = "GET"; + Requests[5039].Request.Path = "/subscriptions/83abee65-fdac-/resourcegroups/eb294e02-c047-4d6/providers/59f2401d-fa6f-470f-8822-3/5f573675-b2f1-4683/8a2661c5-7cb/ff79db51-cf2/providers/Microsoft.Authorization/permissions"; + Requests[5040] = new DefaultHttpContext(); + Requests[5040].RequestServices = CreateServices(); + Requests[5040].Request.Method = "GET"; + Requests[5040].Request.Path = "/subscriptions/7e361294-0a1f-/resourcegroups/40e8159f-4d7f-4da/providers/0fd28ae8-39f7-4df0-b0c5-4/9b12dda7-e61b-4ca8/bf092504-ee6/0ce51f44-616/providers/Microsoft.Authorization/policyAssignments"; + Requests[5041] = new DefaultHttpContext(); + Requests[5041].RequestServices = CreateServices(); + Requests[5041].Request.Method = "GET"; + Requests[5041].Request.Path = "/subscriptions/b178324c-582e-/resourcegroups/dee9ffb4-c4e4-40d/providers/e9dc806d-71e9-47d2-af6d-2/7b44ac52-5162-42c6/0dc29e96-686/5229078b-aa2/providers/Microsoft.Authorization/roleAssignments"; + Requests[5042] = new DefaultHttpContext(); + Requests[5042].RequestServices = CreateServices(); + Requests[5042].Request.Method = "DELETE"; + Requests[5042].Request.Path = "/subscriptions/c442eebe-78dd-/resourcegroups/d65b0944-1a30-411/providers/c54766cd-a5cd-462c-a4cc-3/0ef5349f-0b1b-4dbf/3f249cab-19c/8f91892f-fda/providers/Microsoft.Authorization/locks/55162ea5"; + Requests[5043] = new DefaultHttpContext(); + Requests[5043].RequestServices = CreateServices(); + Requests[5043].Request.Method = "GET"; + Requests[5043].Request.Path = "/subscriptions/1c30caf9-dac1-/resourcegroups/7e7ae60e-9e89-448/providers/5426257f-8edc-405c-994a-5/b9504741-9b13-4d16/2913b624-1a9/523b979d-e3d/providers/Microsoft.Authorization/locks/84b12a2b"; + Requests[5044] = new DefaultHttpContext(); + Requests[5044].RequestServices = CreateServices(); + Requests[5044].Request.Method = "PUT"; + Requests[5044].Request.Path = "/subscriptions/0ea6ef70-10d4-/resourcegroups/d63e828f-fb2a-4ec/providers/54a56cf4-28a6-4f07-aab2-2/7c859222-abfb-47db/36264697-da9/4d00ee65-59b/providers/Microsoft.Authorization/locks/f808e468"; + Requests[5045] = new DefaultHttpContext(); + Requests[5045].RequestServices = CreateServices(); + Requests[5045].Request.Method = "GET"; + Requests[5045].Request.Path = "/apps/a7ff8/events/bd4e75ce-/f4d58eb"; + Requests[5046] = new DefaultHttpContext(); + Requests[5046].RequestServices = CreateServices(); + Requests[5046].Request.Method = "PATCH"; + Requests[5046].Request.Path = "/certificates/bccd0cd0-3781-47/989d355c-33d4-4c88-"; + Requests[5047] = new DefaultHttpContext(); + Requests[5047].RequestServices = CreateServices(); + Requests[5047].Request.Method = "GET"; + Requests[5047].Request.Path = "/certificates/6cfef54f-17ed-4f/cb190d66-974b-4b36-"; + Requests[5048] = new DefaultHttpContext(); + Requests[5048].RequestServices = CreateServices(); + Requests[5048].Request.Method = "GET"; + Requests[5048].Request.Path = "/keys/aaa01248/55d587b4-e3"; + Requests[5049] = new DefaultHttpContext(); + Requests[5049].RequestServices = CreateServices(); + Requests[5049].Request.Method = "PATCH"; + Requests[5049].Request.Path = "/keys/6439a236/534e6909-3c"; + Requests[5050] = new DefaultHttpContext(); + Requests[5050].RequestServices = CreateServices(); + Requests[5050].Request.Method = "GET"; + Requests[5050].Request.Path = "/quotas/00809cfe-6030-4/9a95d29f-1dac-"; + Requests[5051] = new DefaultHttpContext(); + Requests[5051].RequestServices = CreateServices(); + Requests[5051].Request.Method = "PATCH"; + Requests[5051].Request.Path = "/quotas/624d8259-5166-4/fa9dd3b7-5e5f-"; + Requests[5052] = new DefaultHttpContext(); + Requests[5052].RequestServices = CreateServices(); + Requests[5052].Request.Method = "PATCH"; + Requests[5052].Request.Path = "/secrets/1859a1e2-67/4435e75a-b8fc-"; + Requests[5053] = new DefaultHttpContext(); + Requests[5053].RequestServices = CreateServices(); + Requests[5053].Request.Method = "GET"; + Requests[5053].Request.Path = "/secrets/ca624bcd-b6/a23372d7-fa68-"; + Requests[5054] = new DefaultHttpContext(); + Requests[5054].RequestServices = CreateServices(); + Requests[5054].Request.Method = "POST"; + Requests[5054].Request.Path = "/keys/6813d254/69f2e5df-b5/decrypt"; + Requests[5055] = new DefaultHttpContext(); + Requests[5055].RequestServices = CreateServices(); + Requests[5055].Request.Method = "POST"; + Requests[5055].Request.Path = "/keys/61b89e0f/282e27ea-23/encrypt"; + Requests[5056] = new DefaultHttpContext(); + Requests[5056].RequestServices = CreateServices(); + Requests[5056].Request.Method = "POST"; + Requests[5056].Request.Path = "/keys/a349c59c/9f616fd8-82/sign"; + Requests[5057] = new DefaultHttpContext(); + Requests[5057].RequestServices = CreateServices(); + Requests[5057].Request.Method = "POST"; + Requests[5057].Request.Path = "/keys/a74e6ac5/b142ac41-7c/unwrapkey"; + Requests[5058] = new DefaultHttpContext(); + Requests[5058].RequestServices = CreateServices(); + Requests[5058].Request.Method = "POST"; + Requests[5058].Request.Path = "/keys/905a052f/12a9ab53-45/verify"; + Requests[5059] = new DefaultHttpContext(); + Requests[5059].RequestServices = CreateServices(); + Requests[5059].Request.Method = "POST"; + Requests[5059].Request.Path = "/keys/4dc2a804/a934a0ac-05/wrapkey"; + Requests[5060] = new DefaultHttpContext(); + Requests[5060].RequestServices = CreateServices(); + Requests[5060].Request.Method = "POST"; + Requests[5060].Request.Path = "/eb9c0"; + Requests[5061] = new DefaultHttpContext(); + Requests[5061].RequestServices = CreateServices(); + Requests[5061].Request.Method = "DELETE"; + Requests[5061].Request.Path = "/a040db6f-8992-42a3-b45a"; + Requests[5062] = new DefaultHttpContext(); + Requests[5062].RequestServices = CreateServices(); + Requests[5062].Request.Method = "PUT"; + Requests[5062].Request.Path = "/9b53836f-a86e-4445-9d33"; + Requests[5063] = new DefaultHttpContext(); + Requests[5063].RequestServices = CreateServices(); + Requests[5063].Request.Method = "GET"; + Requests[5063].Request.Path = "/b5c159a7-25f1-4b1a-8fc9"; + Requests[5064] = new DefaultHttpContext(); + Requests[5064].RequestServices = CreateServices(); + Requests[5064].Request.Method = "PATCH"; + Requests[5064].Request.Path = "/df936d60-9832"; + Requests[5065] = new DefaultHttpContext(); + Requests[5065].RequestServices = CreateServices(); + Requests[5065].Request.Method = "HEAD"; + Requests[5065].Request.Path = "/c39de944-4"; + Requests[5066] = new DefaultHttpContext(); + Requests[5066].RequestServices = CreateServices(); + Requests[5066].Request.Method = "POST"; + Requests[5066].Request.Path = "/26e97936-/image"; + Requests[5067] = new DefaultHttpContext(); + Requests[5067].RequestServices = CreateServices(); + Requests[5067].Request.Method = "POST"; + Requests[5067].Request.Path = "/e448d1db-/url"; + Requests[5068] = new DefaultHttpContext(); + Requests[5068].RequestServices = CreateServices(); + Requests[5068].Request.Method = "GET"; + Requests[5068].Request.Path = "/6cca6ee6/applications"; + Requests[5069] = new DefaultHttpContext(); + Requests[5069].RequestServices = CreateServices(); + Requests[5069].Request.Method = "POST"; + Requests[5069].Request.Path = "/d613f0b5/applications"; + Requests[5070] = new DefaultHttpContext(); + Requests[5070].RequestServices = CreateServices(); + Requests[5070].Request.Method = "GET"; + Requests[5070].Request.Path = "/533dcddd/domains"; + Requests[5071] = new DefaultHttpContext(); + Requests[5071].RequestServices = CreateServices(); + Requests[5071].Request.Method = "POST"; + Requests[5071].Request.Path = "/5566b187/getObjectsByObjectIds"; + Requests[5072] = new DefaultHttpContext(); + Requests[5072].RequestServices = CreateServices(); + Requests[5072].Request.Method = "GET"; + Requests[5072].Request.Path = "/206424ea/groups"; + Requests[5073] = new DefaultHttpContext(); + Requests[5073].RequestServices = CreateServices(); + Requests[5073].Request.Method = "POST"; + Requests[5073].Request.Path = "/55892cc8/groups"; + Requests[5074] = new DefaultHttpContext(); + Requests[5074].RequestServices = CreateServices(); + Requests[5074].Request.Method = "POST"; + Requests[5074].Request.Path = "/bae8bf34/isMemberOf"; + Requests[5075] = new DefaultHttpContext(); + Requests[5075].RequestServices = CreateServices(); + Requests[5075].Request.Method = "GET"; + Requests[5075].Request.Path = "/a1c1ed4d/me"; + Requests[5076] = new DefaultHttpContext(); + Requests[5076].RequestServices = CreateServices(); + Requests[5076].Request.Method = "POST"; + Requests[5076].Request.Path = "/d2c050a6/servicePrincipals"; + Requests[5077] = new DefaultHttpContext(); + Requests[5077].RequestServices = CreateServices(); + Requests[5077].Request.Method = "GET"; + Requests[5077].Request.Path = "/faf07559/servicePrincipals"; + Requests[5078] = new DefaultHttpContext(); + Requests[5078].RequestServices = CreateServices(); + Requests[5078].Request.Method = "POST"; + Requests[5078].Request.Path = "/758073a8/users"; + Requests[5079] = new DefaultHttpContext(); + Requests[5079].RequestServices = CreateServices(); + Requests[5079].Request.Method = "GET"; + Requests[5079].Request.Path = "/d90b419c/users"; + Requests[5080] = new DefaultHttpContext(); + Requests[5080].RequestServices = CreateServices(); + Requests[5080].Request.Method = "POST"; + Requests[5080].Request.Path = "/2c7ad1ba-/image/nostore"; + Requests[5081] = new DefaultHttpContext(); + Requests[5081].RequestServices = CreateServices(); + Requests[5081].Request.Method = "POST"; + Requests[5081].Request.Path = "/0f8cedac-/url/nostore"; + Requests[5082] = new DefaultHttpContext(); + Requests[5082].RequestServices = CreateServices(); + Requests[5082].Request.Method = "POST"; + Requests[5082].Request.Path = "/d3a508a0-c9/providers/microsoft.insights/calculatebaseline"; + Requests[5083] = new DefaultHttpContext(); + Requests[5083].RequestServices = CreateServices(); + Requests[5083].Request.Method = "GET"; + Requests[5083].Request.Path = "/b2ef4c78-e8/providers/microsoft.insights/diagnosticSettings"; + Requests[5084] = new DefaultHttpContext(); + Requests[5084].RequestServices = CreateServices(); + Requests[5084].Request.Method = "GET"; + Requests[5084].Request.Path = "/8d9e6aa1-dc/providers/microsoft.insights/diagnosticSettingsCategories"; + Requests[5085] = new DefaultHttpContext(); + Requests[5085].RequestServices = CreateServices(); + Requests[5085].Request.Method = "GET"; + Requests[5085].Request.Path = "/d28d406c-8c/providers/microsoft.insights/metricDefinitions"; + Requests[5086] = new DefaultHttpContext(); + Requests[5086].RequestServices = CreateServices(); + Requests[5086].Request.Method = "GET"; + Requests[5086].Request.Path = "/4f593faf-73/providers/microsoft.insights/metrics"; + Requests[5087] = new DefaultHttpContext(); + Requests[5087].RequestServices = CreateServices(); + Requests[5087].Request.Method = "GET"; + Requests[5087].Request.Path = "/52668213-21/providers/Microsoft.ResourceHealth/availabilityStatuses"; + Requests[5088] = new DefaultHttpContext(); + Requests[5088].RequestServices = CreateServices(); + Requests[5088].Request.Method = "GET"; + Requests[5088].Request.Path = "/7b91c/providers/Microsoft.Authorization/policyAssignments"; + Requests[5089] = new DefaultHttpContext(); + Requests[5089].RequestServices = CreateServices(); + Requests[5089].Request.Method = "GET"; + Requests[5089].Request.Path = "/34ac8/providers/Microsoft.Authorization/roleAssignments"; + Requests[5090] = new DefaultHttpContext(); + Requests[5090].RequestServices = CreateServices(); + Requests[5090].Request.Method = "GET"; + Requests[5090].Request.Path = "/09f60/providers/Microsoft.Authorization/roleDefinitions"; + Requests[5091] = new DefaultHttpContext(); + Requests[5091].RequestServices = CreateServices(); + Requests[5091].Request.Method = "GET"; + Requests[5091].Request.Path = "/89a71/providers/Microsoft.Consumption/reservationDetails"; + Requests[5092] = new DefaultHttpContext(); + Requests[5092].RequestServices = CreateServices(); + Requests[5092].Request.Method = "GET"; + Requests[5092].Request.Path = "/584cd/providers/Microsoft.Consumption/reservationSummaries"; + Requests[5093] = new DefaultHttpContext(); + Requests[5093].RequestServices = CreateServices(); + Requests[5093].Request.Method = "GET"; + Requests[5093].Request.Path = "/9d134/providers/Microsoft.Consumption/usageDetails"; + Requests[5094] = new DefaultHttpContext(); + Requests[5094].RequestServices = CreateServices(); + Requests[5094].Request.Method = "GET"; + Requests[5094].Request.Path = "/44360/providers/Microsoft.Resources/links"; + Requests[5095] = new DefaultHttpContext(); + Requests[5095].RequestServices = CreateServices(); + Requests[5095].Request.Method = "GET"; + Requests[5095].Request.Path = "/058d9/providers/Microsoft.Security/compliances"; + Requests[5096] = new DefaultHttpContext(); + Requests[5096].RequestServices = CreateServices(); + Requests[5096].Request.Method = "PATCH"; + Requests[5096].Request.Path = "/34aa56a1-6d/providers/microsoft.insights/diagnosticSettings/service"; + Requests[5097] = new DefaultHttpContext(); + Requests[5097].RequestServices = CreateServices(); + Requests[5097].Request.Method = "PUT"; + Requests[5097].Request.Path = "/f63a3420-03/providers/microsoft.insights/diagnosticSettings/service"; + Requests[5098] = new DefaultHttpContext(); + Requests[5098].RequestServices = CreateServices(); + Requests[5098].Request.Method = "GET"; + Requests[5098].Request.Path = "/5a213cea-b4/providers/microsoft.insights/diagnosticSettings/service"; + Requests[5099] = new DefaultHttpContext(); + Requests[5099].RequestServices = CreateServices(); + Requests[5099].Request.Method = "GET"; + Requests[5099].Request.Path = "/83c8ebd4-5f/providers/Microsoft.ResourceHealth/availabilityStatuses/current"; + Requests[5100] = new DefaultHttpContext(); + Requests[5100].RequestServices = CreateServices(); + Requests[5100].Request.Method = "GET"; + Requests[5100].Request.Path = "/48463/providers/Microsoft.PolicyInsights/policyEvents/$metadata"; + Requests[5101] = new DefaultHttpContext(); + Requests[5101].RequestServices = CreateServices(); + Requests[5101].Request.Method = "GET"; + Requests[5101].Request.Path = "/0f498/providers/Microsoft.PolicyInsights/policyStates/$metadata"; + Requests[5102] = new DefaultHttpContext(); + Requests[5102].RequestServices = CreateServices(); + Requests[5102].Request.Method = "GET"; + Requests[5102].Request.Path = "/f051d5af-96/providers/Microsoft.Advisor/recommendations/f49c417e-2dc8-43"; + Requests[5103] = new DefaultHttpContext(); + Requests[5103].RequestServices = CreateServices(); + Requests[5103].Request.Method = "GET"; + Requests[5103].Request.Path = "/21326800-61/providers/microsoft.insights/baseline/750728ba-a"; + Requests[5104] = new DefaultHttpContext(); + Requests[5104].RequestServices = CreateServices(); + Requests[5104].Request.Method = "PUT"; + Requests[5104].Request.Path = "/9cb3c23f-b5/providers/microsoft.insights/diagnosticSettings/35e09"; + Requests[5105] = new DefaultHttpContext(); + Requests[5105].RequestServices = CreateServices(); + Requests[5105].Request.Method = "GET"; + Requests[5105].Request.Path = "/b6d270a7-06/providers/microsoft.insights/diagnosticSettings/35694"; + Requests[5106] = new DefaultHttpContext(); + Requests[5106].RequestServices = CreateServices(); + Requests[5106].Request.Method = "DELETE"; + Requests[5106].Request.Path = "/c8132eff-ed/providers/microsoft.insights/diagnosticSettings/2c90e"; + Requests[5107] = new DefaultHttpContext(); + Requests[5107].RequestServices = CreateServices(); + Requests[5107].Request.Method = "GET"; + Requests[5107].Request.Path = "/3ffd64f3-4c/providers/microsoft.insights/diagnosticSettingsCategories/59308"; + Requests[5108] = new DefaultHttpContext(); + Requests[5108].RequestServices = CreateServices(); + Requests[5108].Request.Method = "GET"; + Requests[5108].Request.Path = "/a47b3/providers/Microsoft.Authorization/locks/436eb91a"; + Requests[5109] = new DefaultHttpContext(); + Requests[5109].RequestServices = CreateServices(); + Requests[5109].Request.Method = "PUT"; + Requests[5109].Request.Path = "/dfdea/providers/Microsoft.Authorization/locks/7443d6f4"; + Requests[5110] = new DefaultHttpContext(); + Requests[5110].RequestServices = CreateServices(); + Requests[5110].Request.Method = "DELETE"; + Requests[5110].Request.Path = "/717ce/providers/Microsoft.Authorization/locks/32c03016"; + Requests[5111] = new DefaultHttpContext(); + Requests[5111].RequestServices = CreateServices(); + Requests[5111].Request.Method = "GET"; + Requests[5111].Request.Path = "/29986/providers/Microsoft.Authorization/policyAssignments/e5f7dc9b-a02d-47b0-a"; + Requests[5112] = new DefaultHttpContext(); + Requests[5112].RequestServices = CreateServices(); + Requests[5112].Request.Method = "PUT"; + Requests[5112].Request.Path = "/7a993/providers/Microsoft.Authorization/policyAssignments/0cb7396d-d47f-4b18-8"; + Requests[5113] = new DefaultHttpContext(); + Requests[5113].RequestServices = CreateServices(); + Requests[5113].Request.Method = "DELETE"; + Requests[5113].Request.Path = "/220cc/providers/Microsoft.Authorization/policyAssignments/09dd5597-76f9-40da-8"; + Requests[5114] = new DefaultHttpContext(); + Requests[5114].RequestServices = CreateServices(); + Requests[5114].Request.Method = "PUT"; + Requests[5114].Request.Path = "/0cb0e/providers/Microsoft.Authorization/roleAssignments/944179c6-5164-404c"; + Requests[5115] = new DefaultHttpContext(); + Requests[5115].RequestServices = CreateServices(); + Requests[5115].Request.Method = "GET"; + Requests[5115].Request.Path = "/9f9e8/providers/Microsoft.Authorization/roleAssignments/9ae5aea9-b398-4bf6"; + Requests[5116] = new DefaultHttpContext(); + Requests[5116].RequestServices = CreateServices(); + Requests[5116].Request.Method = "DELETE"; + Requests[5116].Request.Path = "/414f5/providers/Microsoft.Authorization/roleAssignments/59b5cef8-3d43-44ff"; + Requests[5117] = new DefaultHttpContext(); + Requests[5117].RequestServices = CreateServices(); + Requests[5117].Request.Method = "PUT"; + Requests[5117].Request.Path = "/fd6a3/providers/Microsoft.Authorization/roleDefinitions/1dee4cfb-41aa-48"; + Requests[5118] = new DefaultHttpContext(); + Requests[5118].RequestServices = CreateServices(); + Requests[5118].Request.Method = "GET"; + Requests[5118].Request.Path = "/88962/providers/Microsoft.Authorization/roleDefinitions/95550e91-14a6-4a"; + Requests[5119] = new DefaultHttpContext(); + Requests[5119].RequestServices = CreateServices(); + Requests[5119].Request.Method = "DELETE"; + Requests[5119].Request.Path = "/68123/providers/Microsoft.Authorization/roleDefinitions/6d249402-6f53-4c"; + Requests[5120] = new DefaultHttpContext(); + Requests[5120].RequestServices = CreateServices(); + Requests[5120].Request.Method = "PUT"; + Requests[5120].Request.Path = "/a5f62/providers/Microsoft.EventGrid/eventSubscriptions/594e6f54-6e92-44f2-93"; + Requests[5121] = new DefaultHttpContext(); + Requests[5121].RequestServices = CreateServices(); + Requests[5121].Request.Method = "GET"; + Requests[5121].Request.Path = "/f5473/providers/Microsoft.EventGrid/eventSubscriptions/4fa85313-8d9f-467c-b1"; + Requests[5122] = new DefaultHttpContext(); + Requests[5122].RequestServices = CreateServices(); + Requests[5122].Request.Method = "DELETE"; + Requests[5122].Request.Path = "/4c645/providers/Microsoft.EventGrid/eventSubscriptions/4634fbc5-d96b-4ef5-a7"; + Requests[5123] = new DefaultHttpContext(); + Requests[5123].RequestServices = CreateServices(); + Requests[5123].Request.Method = "PATCH"; + Requests[5123].Request.Path = "/84698/providers/Microsoft.EventGrid/eventSubscriptions/eb84cc63-1e01-4817-84"; + Requests[5124] = new DefaultHttpContext(); + Requests[5124].RequestServices = CreateServices(); + Requests[5124].Request.Method = "GET"; + Requests[5124].Request.Path = "/94e21/providers/Microsoft.Security/compliances/f7cbc736-c908-"; + Requests[5125] = new DefaultHttpContext(); + Requests[5125].RequestServices = CreateServices(); + Requests[5125].Request.Method = "POST"; + Requests[5125].Request.Path = "/1554af9e-5/providers/Microsoft.PolicyInsights/policyEvents/50033f1d-85d8-4297-9/queryResults"; + Requests[5126] = new DefaultHttpContext(); + Requests[5126].RequestServices = CreateServices(); + Requests[5126].Request.Method = "POST"; + Requests[5126].Request.Path = "/83810c7b-b/providers/Microsoft.PolicyInsights/policyStates/1fca322a-7854-490d-8/queryResults"; + Requests[5127] = new DefaultHttpContext(); + Requests[5127].RequestServices = CreateServices(); + Requests[5127].Request.Method = "POST"; + Requests[5127].Request.Path = "/53aec485-7/providers/Microsoft.PolicyInsights/policyStates/805ced9d-bbbf-46d2-a3d7-44c/summarize"; + Requests[5128] = new DefaultHttpContext(); + Requests[5128].RequestServices = CreateServices(); + Requests[5128].Request.Method = "POST"; + Requests[5128].Request.Path = "/48939/providers/Microsoft.EventGrid/eventSubscriptions/ee3d2958-3b99-4bb0-a2/getFullUrl"; + Requests[5129] = new DefaultHttpContext(); + Requests[5129].RequestServices = CreateServices(); + Requests[5129].Request.Method = "DELETE"; + Requests[5129].Request.Path = "/6f497c14-d5/providers/Microsoft.Advisor/recommendations/5e7f13b8-6a2c-44/suppressions/e23e5"; + Requests[5130] = new DefaultHttpContext(); + Requests[5130].RequestServices = CreateServices(); + Requests[5130].Request.Method = "PUT"; + Requests[5130].Request.Path = "/7cb414a5-ff/providers/Microsoft.Advisor/recommendations/44db4e18-5fc9-49/suppressions/b0dea"; + Requests[5131] = new DefaultHttpContext(); + Requests[5131].RequestServices = CreateServices(); + Requests[5131].Request.Method = "GET"; + Requests[5131].Request.Path = "/d1e793b7-e3/providers/Microsoft.Advisor/recommendations/781d6f78-9eb7-45/suppressions/886d9"; + Requests[5132] = new DefaultHttpContext(); + Requests[5132].RequestServices = CreateServices(); + Requests[5132].Request.Method = "PATCH"; + Requests[5132].Request.Path = "/19d78960/applications/ebf6b10b-e112-480b-"; + Requests[5133] = new DefaultHttpContext(); + Requests[5133].RequestServices = CreateServices(); + Requests[5133].Request.Method = "DELETE"; + Requests[5133].Request.Path = "/bc2205fb/applications/fcb65994-aa4c-41f6-"; + Requests[5134] = new DefaultHttpContext(); + Requests[5134].RequestServices = CreateServices(); + Requests[5134].Request.Method = "GET"; + Requests[5134].Request.Path = "/44e7851b/applications/c3b0e039-5bef-4291-"; + Requests[5135] = new DefaultHttpContext(); + Requests[5135].RequestServices = CreateServices(); + Requests[5135].Request.Method = "GET"; + Requests[5135].Request.Path = "/0b5ab206/domains/46d06d5b-f"; + Requests[5136] = new DefaultHttpContext(); + Requests[5136].RequestServices = CreateServices(); + Requests[5136].Request.Method = "GET"; + Requests[5136].Request.Path = "/c0177e65/groups/c600cde6"; + Requests[5137] = new DefaultHttpContext(); + Requests[5137].RequestServices = CreateServices(); + Requests[5137].Request.Method = "DELETE"; + Requests[5137].Request.Path = "/fe8b0cba/groups/9c9bf526"; + Requests[5138] = new DefaultHttpContext(); + Requests[5138].RequestServices = CreateServices(); + Requests[5138].Request.Method = "DELETE"; + Requests[5138].Request.Path = "/256857f2/servicePrincipals/566cc761"; + Requests[5139] = new DefaultHttpContext(); + Requests[5139].RequestServices = CreateServices(); + Requests[5139].Request.Method = "GET"; + Requests[5139].Request.Path = "/861f668b/servicePrincipals/6fb90b06"; + Requests[5140] = new DefaultHttpContext(); + Requests[5140].RequestServices = CreateServices(); + Requests[5140].Request.Method = "DELETE"; + Requests[5140].Request.Path = "/fb1866c5/users/f63284b7-54bc"; + Requests[5141] = new DefaultHttpContext(); + Requests[5141].RequestServices = CreateServices(); + Requests[5141].Request.Method = "GET"; + Requests[5141].Request.Path = "/b5ba8659/users/2df785f3-6b69"; + Requests[5142] = new DefaultHttpContext(); + Requests[5142].RequestServices = CreateServices(); + Requests[5142].Request.Method = "PATCH"; + Requests[5142].Request.Path = "/d3d0692e/users/1b2b55f4-2810"; + Requests[5143] = new DefaultHttpContext(); + Requests[5143].RequestServices = CreateServices(); + Requests[5143].Request.Method = "POST"; + Requests[5143].Request.Path = "/18a12f9e-/images/d830eae/regionproposals"; + Requests[5144] = new DefaultHttpContext(); + Requests[5144].RequestServices = CreateServices(); + Requests[5144].Request.Method = "GET"; + Requests[5144].Request.Path = "/a5f6ef50/applications/ba5c1d90-878c-42e0-/keyCredentials"; + Requests[5145] = new DefaultHttpContext(); + Requests[5145].RequestServices = CreateServices(); + Requests[5145].Request.Method = "PATCH"; + Requests[5145].Request.Path = "/a34c9ef6/applications/09614e73-905f-477d-/keyCredentials"; + Requests[5146] = new DefaultHttpContext(); + Requests[5146].RequestServices = CreateServices(); + Requests[5146].Request.Method = "GET"; + Requests[5146].Request.Path = "/ab97efeb/applications/f768000c-c7a0-4fe1-/owners"; + Requests[5147] = new DefaultHttpContext(); + Requests[5147].RequestServices = CreateServices(); + Requests[5147].Request.Method = "GET"; + Requests[5147].Request.Path = "/e8c9fff6/applications/8d89ff6e-fed5-499c-/passwordCredentials"; + Requests[5148] = new DefaultHttpContext(); + Requests[5148].RequestServices = CreateServices(); + Requests[5148].Request.Method = "PATCH"; + Requests[5148].Request.Path = "/b1393c92/applications/fc50cf9b-5cca-415b-/passwordCredentials"; + Requests[5149] = new DefaultHttpContext(); + Requests[5149].RequestServices = CreateServices(); + Requests[5149].Request.Method = "POST"; + Requests[5149].Request.Path = "/695dfecf/groups/8354343e/getMemberGroups"; + Requests[5150] = new DefaultHttpContext(); + Requests[5150].RequestServices = CreateServices(); + Requests[5150].Request.Method = "GET"; + Requests[5150].Request.Path = "/8008a9c8/groups/85722fdf/members"; + Requests[5151] = new DefaultHttpContext(); + Requests[5151].RequestServices = CreateServices(); + Requests[5151].Request.Method = "PATCH"; + Requests[5151].Request.Path = "/8a5b0e45/servicePrincipals/9f620f11/keyCredentials"; + Requests[5152] = new DefaultHttpContext(); + Requests[5152].RequestServices = CreateServices(); + Requests[5152].Request.Method = "GET"; + Requests[5152].Request.Path = "/1511f972/servicePrincipals/0c774cb3/keyCredentials"; + Requests[5153] = new DefaultHttpContext(); + Requests[5153].RequestServices = CreateServices(); + Requests[5153].Request.Method = "GET"; + Requests[5153].Request.Path = "/5d9f79bd/servicePrincipals/386a4838/owners"; + Requests[5154] = new DefaultHttpContext(); + Requests[5154].RequestServices = CreateServices(); + Requests[5154].Request.Method = "GET"; + Requests[5154].Request.Path = "/351b58e4/servicePrincipals/fa316d04/passwordCredentials"; + Requests[5155] = new DefaultHttpContext(); + Requests[5155].RequestServices = CreateServices(); + Requests[5155].Request.Method = "PATCH"; + Requests[5155].Request.Path = "/5456a10f/servicePrincipals/171c0d9d/passwordCredentials"; + Requests[5156] = new DefaultHttpContext(); + Requests[5156].RequestServices = CreateServices(); + Requests[5156].Request.Method = "POST"; + Requests[5156].Request.Path = "/5ac48b33/users/3fa883ab/getMemberGroups"; + Requests[5157] = new DefaultHttpContext(); + Requests[5157].RequestServices = CreateServices(); + Requests[5157].Request.Method = "POST"; + Requests[5157].Request.Path = "/4d828b45/applications/f6b9b435-fce7-4e14-/$links/owners"; + Requests[5158] = new DefaultHttpContext(); + Requests[5158].RequestServices = CreateServices(); + Requests[5158].Request.Method = "POST"; + Requests[5158].Request.Path = "/39b6b141/groups/6cf0f0bc-b1db/$links/members"; + Requests[5159] = new DefaultHttpContext(); + Requests[5159].RequestServices = CreateServices(); + Requests[5159].Request.Method = "DELETE"; + Requests[5159].Request.Path = "/67fb987d/groups/04d01a8c-6135/$links/members/71b75dbe-0076-"; + } + + private Matcher SetupMatcher(MatcherBuilder builder) + { + builder.AddEndpoint(Endpoints[0]); + builder.AddEndpoint(Endpoints[1]); + builder.AddEndpoint(Endpoints[2]); + builder.AddEndpoint(Endpoints[3]); + builder.AddEndpoint(Endpoints[4]); + builder.AddEndpoint(Endpoints[5]); + builder.AddEndpoint(Endpoints[6]); + builder.AddEndpoint(Endpoints[7]); + builder.AddEndpoint(Endpoints[8]); + builder.AddEndpoint(Endpoints[9]); + builder.AddEndpoint(Endpoints[10]); + builder.AddEndpoint(Endpoints[11]); + builder.AddEndpoint(Endpoints[12]); + builder.AddEndpoint(Endpoints[13]); + builder.AddEndpoint(Endpoints[14]); + builder.AddEndpoint(Endpoints[15]); + builder.AddEndpoint(Endpoints[16]); + builder.AddEndpoint(Endpoints[17]); + builder.AddEndpoint(Endpoints[18]); + builder.AddEndpoint(Endpoints[19]); + builder.AddEndpoint(Endpoints[20]); + builder.AddEndpoint(Endpoints[21]); + builder.AddEndpoint(Endpoints[22]); + builder.AddEndpoint(Endpoints[23]); + builder.AddEndpoint(Endpoints[24]); + builder.AddEndpoint(Endpoints[25]); + builder.AddEndpoint(Endpoints[26]); + builder.AddEndpoint(Endpoints[27]); + builder.AddEndpoint(Endpoints[28]); + builder.AddEndpoint(Endpoints[29]); + builder.AddEndpoint(Endpoints[30]); + builder.AddEndpoint(Endpoints[31]); + builder.AddEndpoint(Endpoints[32]); + builder.AddEndpoint(Endpoints[33]); + builder.AddEndpoint(Endpoints[34]); + builder.AddEndpoint(Endpoints[35]); + builder.AddEndpoint(Endpoints[36]); + builder.AddEndpoint(Endpoints[37]); + builder.AddEndpoint(Endpoints[38]); + builder.AddEndpoint(Endpoints[39]); + builder.AddEndpoint(Endpoints[40]); + builder.AddEndpoint(Endpoints[41]); + builder.AddEndpoint(Endpoints[42]); + builder.AddEndpoint(Endpoints[43]); + builder.AddEndpoint(Endpoints[44]); + builder.AddEndpoint(Endpoints[45]); + builder.AddEndpoint(Endpoints[46]); + builder.AddEndpoint(Endpoints[47]); + builder.AddEndpoint(Endpoints[48]); + builder.AddEndpoint(Endpoints[49]); + builder.AddEndpoint(Endpoints[50]); + builder.AddEndpoint(Endpoints[51]); + builder.AddEndpoint(Endpoints[52]); + builder.AddEndpoint(Endpoints[53]); + builder.AddEndpoint(Endpoints[54]); + builder.AddEndpoint(Endpoints[55]); + builder.AddEndpoint(Endpoints[56]); + builder.AddEndpoint(Endpoints[57]); + builder.AddEndpoint(Endpoints[58]); + builder.AddEndpoint(Endpoints[59]); + builder.AddEndpoint(Endpoints[60]); + builder.AddEndpoint(Endpoints[61]); + builder.AddEndpoint(Endpoints[62]); + builder.AddEndpoint(Endpoints[63]); + builder.AddEndpoint(Endpoints[64]); + builder.AddEndpoint(Endpoints[65]); + builder.AddEndpoint(Endpoints[66]); + builder.AddEndpoint(Endpoints[67]); + builder.AddEndpoint(Endpoints[68]); + builder.AddEndpoint(Endpoints[69]); + builder.AddEndpoint(Endpoints[70]); + builder.AddEndpoint(Endpoints[71]); + builder.AddEndpoint(Endpoints[72]); + builder.AddEndpoint(Endpoints[73]); + builder.AddEndpoint(Endpoints[74]); + builder.AddEndpoint(Endpoints[75]); + builder.AddEndpoint(Endpoints[76]); + builder.AddEndpoint(Endpoints[77]); + builder.AddEndpoint(Endpoints[78]); + builder.AddEndpoint(Endpoints[79]); + builder.AddEndpoint(Endpoints[80]); + builder.AddEndpoint(Endpoints[81]); + builder.AddEndpoint(Endpoints[82]); + builder.AddEndpoint(Endpoints[83]); + builder.AddEndpoint(Endpoints[84]); + builder.AddEndpoint(Endpoints[85]); + builder.AddEndpoint(Endpoints[86]); + builder.AddEndpoint(Endpoints[87]); + builder.AddEndpoint(Endpoints[88]); + builder.AddEndpoint(Endpoints[89]); + builder.AddEndpoint(Endpoints[90]); + builder.AddEndpoint(Endpoints[91]); + builder.AddEndpoint(Endpoints[92]); + builder.AddEndpoint(Endpoints[93]); + builder.AddEndpoint(Endpoints[94]); + builder.AddEndpoint(Endpoints[95]); + builder.AddEndpoint(Endpoints[96]); + builder.AddEndpoint(Endpoints[97]); + builder.AddEndpoint(Endpoints[98]); + builder.AddEndpoint(Endpoints[99]); + builder.AddEndpoint(Endpoints[100]); + builder.AddEndpoint(Endpoints[101]); + builder.AddEndpoint(Endpoints[102]); + builder.AddEndpoint(Endpoints[103]); + builder.AddEndpoint(Endpoints[104]); + builder.AddEndpoint(Endpoints[105]); + builder.AddEndpoint(Endpoints[106]); + builder.AddEndpoint(Endpoints[107]); + builder.AddEndpoint(Endpoints[108]); + builder.AddEndpoint(Endpoints[109]); + builder.AddEndpoint(Endpoints[110]); + builder.AddEndpoint(Endpoints[111]); + builder.AddEndpoint(Endpoints[112]); + builder.AddEndpoint(Endpoints[113]); + builder.AddEndpoint(Endpoints[114]); + builder.AddEndpoint(Endpoints[115]); + builder.AddEndpoint(Endpoints[116]); + builder.AddEndpoint(Endpoints[117]); + builder.AddEndpoint(Endpoints[118]); + builder.AddEndpoint(Endpoints[119]); + builder.AddEndpoint(Endpoints[120]); + builder.AddEndpoint(Endpoints[121]); + builder.AddEndpoint(Endpoints[122]); + builder.AddEndpoint(Endpoints[123]); + builder.AddEndpoint(Endpoints[124]); + builder.AddEndpoint(Endpoints[125]); + builder.AddEndpoint(Endpoints[126]); + builder.AddEndpoint(Endpoints[127]); + builder.AddEndpoint(Endpoints[128]); + builder.AddEndpoint(Endpoints[129]); + builder.AddEndpoint(Endpoints[130]); + builder.AddEndpoint(Endpoints[131]); + builder.AddEndpoint(Endpoints[132]); + builder.AddEndpoint(Endpoints[133]); + builder.AddEndpoint(Endpoints[134]); + builder.AddEndpoint(Endpoints[135]); + builder.AddEndpoint(Endpoints[136]); + builder.AddEndpoint(Endpoints[137]); + builder.AddEndpoint(Endpoints[138]); + builder.AddEndpoint(Endpoints[139]); + builder.AddEndpoint(Endpoints[140]); + builder.AddEndpoint(Endpoints[141]); + builder.AddEndpoint(Endpoints[142]); + builder.AddEndpoint(Endpoints[143]); + builder.AddEndpoint(Endpoints[144]); + builder.AddEndpoint(Endpoints[145]); + builder.AddEndpoint(Endpoints[146]); + builder.AddEndpoint(Endpoints[147]); + builder.AddEndpoint(Endpoints[148]); + builder.AddEndpoint(Endpoints[149]); + builder.AddEndpoint(Endpoints[150]); + builder.AddEndpoint(Endpoints[151]); + builder.AddEndpoint(Endpoints[152]); + builder.AddEndpoint(Endpoints[153]); + builder.AddEndpoint(Endpoints[154]); + builder.AddEndpoint(Endpoints[155]); + builder.AddEndpoint(Endpoints[156]); + builder.AddEndpoint(Endpoints[157]); + builder.AddEndpoint(Endpoints[158]); + builder.AddEndpoint(Endpoints[159]); + builder.AddEndpoint(Endpoints[160]); + builder.AddEndpoint(Endpoints[161]); + builder.AddEndpoint(Endpoints[162]); + builder.AddEndpoint(Endpoints[163]); + builder.AddEndpoint(Endpoints[164]); + builder.AddEndpoint(Endpoints[165]); + builder.AddEndpoint(Endpoints[166]); + builder.AddEndpoint(Endpoints[167]); + builder.AddEndpoint(Endpoints[168]); + builder.AddEndpoint(Endpoints[169]); + builder.AddEndpoint(Endpoints[170]); + builder.AddEndpoint(Endpoints[171]); + builder.AddEndpoint(Endpoints[172]); + builder.AddEndpoint(Endpoints[173]); + builder.AddEndpoint(Endpoints[174]); + builder.AddEndpoint(Endpoints[175]); + builder.AddEndpoint(Endpoints[176]); + builder.AddEndpoint(Endpoints[177]); + builder.AddEndpoint(Endpoints[178]); + builder.AddEndpoint(Endpoints[179]); + builder.AddEndpoint(Endpoints[180]); + builder.AddEndpoint(Endpoints[181]); + builder.AddEndpoint(Endpoints[182]); + builder.AddEndpoint(Endpoints[183]); + builder.AddEndpoint(Endpoints[184]); + builder.AddEndpoint(Endpoints[185]); + builder.AddEndpoint(Endpoints[186]); + builder.AddEndpoint(Endpoints[187]); + builder.AddEndpoint(Endpoints[188]); + builder.AddEndpoint(Endpoints[189]); + builder.AddEndpoint(Endpoints[190]); + builder.AddEndpoint(Endpoints[191]); + builder.AddEndpoint(Endpoints[192]); + builder.AddEndpoint(Endpoints[193]); + builder.AddEndpoint(Endpoints[194]); + builder.AddEndpoint(Endpoints[195]); + builder.AddEndpoint(Endpoints[196]); + builder.AddEndpoint(Endpoints[197]); + builder.AddEndpoint(Endpoints[198]); + builder.AddEndpoint(Endpoints[199]); + builder.AddEndpoint(Endpoints[200]); + builder.AddEndpoint(Endpoints[201]); + builder.AddEndpoint(Endpoints[202]); + builder.AddEndpoint(Endpoints[203]); + builder.AddEndpoint(Endpoints[204]); + builder.AddEndpoint(Endpoints[205]); + builder.AddEndpoint(Endpoints[206]); + builder.AddEndpoint(Endpoints[207]); + builder.AddEndpoint(Endpoints[208]); + builder.AddEndpoint(Endpoints[209]); + builder.AddEndpoint(Endpoints[210]); + builder.AddEndpoint(Endpoints[211]); + builder.AddEndpoint(Endpoints[212]); + builder.AddEndpoint(Endpoints[213]); + builder.AddEndpoint(Endpoints[214]); + builder.AddEndpoint(Endpoints[215]); + builder.AddEndpoint(Endpoints[216]); + builder.AddEndpoint(Endpoints[217]); + builder.AddEndpoint(Endpoints[218]); + builder.AddEndpoint(Endpoints[219]); + builder.AddEndpoint(Endpoints[220]); + builder.AddEndpoint(Endpoints[221]); + builder.AddEndpoint(Endpoints[222]); + builder.AddEndpoint(Endpoints[223]); + builder.AddEndpoint(Endpoints[224]); + builder.AddEndpoint(Endpoints[225]); + builder.AddEndpoint(Endpoints[226]); + builder.AddEndpoint(Endpoints[227]); + builder.AddEndpoint(Endpoints[228]); + builder.AddEndpoint(Endpoints[229]); + builder.AddEndpoint(Endpoints[230]); + builder.AddEndpoint(Endpoints[231]); + builder.AddEndpoint(Endpoints[232]); + builder.AddEndpoint(Endpoints[233]); + builder.AddEndpoint(Endpoints[234]); + builder.AddEndpoint(Endpoints[235]); + builder.AddEndpoint(Endpoints[236]); + builder.AddEndpoint(Endpoints[237]); + builder.AddEndpoint(Endpoints[238]); + builder.AddEndpoint(Endpoints[239]); + builder.AddEndpoint(Endpoints[240]); + builder.AddEndpoint(Endpoints[241]); + builder.AddEndpoint(Endpoints[242]); + builder.AddEndpoint(Endpoints[243]); + builder.AddEndpoint(Endpoints[244]); + builder.AddEndpoint(Endpoints[245]); + builder.AddEndpoint(Endpoints[246]); + builder.AddEndpoint(Endpoints[247]); + builder.AddEndpoint(Endpoints[248]); + builder.AddEndpoint(Endpoints[249]); + builder.AddEndpoint(Endpoints[250]); + builder.AddEndpoint(Endpoints[251]); + builder.AddEndpoint(Endpoints[252]); + builder.AddEndpoint(Endpoints[253]); + builder.AddEndpoint(Endpoints[254]); + builder.AddEndpoint(Endpoints[255]); + builder.AddEndpoint(Endpoints[256]); + builder.AddEndpoint(Endpoints[257]); + builder.AddEndpoint(Endpoints[258]); + builder.AddEndpoint(Endpoints[259]); + builder.AddEndpoint(Endpoints[260]); + builder.AddEndpoint(Endpoints[261]); + builder.AddEndpoint(Endpoints[262]); + builder.AddEndpoint(Endpoints[263]); + builder.AddEndpoint(Endpoints[264]); + builder.AddEndpoint(Endpoints[265]); + builder.AddEndpoint(Endpoints[266]); + builder.AddEndpoint(Endpoints[267]); + builder.AddEndpoint(Endpoints[268]); + builder.AddEndpoint(Endpoints[269]); + builder.AddEndpoint(Endpoints[270]); + builder.AddEndpoint(Endpoints[271]); + builder.AddEndpoint(Endpoints[272]); + builder.AddEndpoint(Endpoints[273]); + builder.AddEndpoint(Endpoints[274]); + builder.AddEndpoint(Endpoints[275]); + builder.AddEndpoint(Endpoints[276]); + builder.AddEndpoint(Endpoints[277]); + builder.AddEndpoint(Endpoints[278]); + builder.AddEndpoint(Endpoints[279]); + builder.AddEndpoint(Endpoints[280]); + builder.AddEndpoint(Endpoints[281]); + builder.AddEndpoint(Endpoints[282]); + builder.AddEndpoint(Endpoints[283]); + builder.AddEndpoint(Endpoints[284]); + builder.AddEndpoint(Endpoints[285]); + builder.AddEndpoint(Endpoints[286]); + builder.AddEndpoint(Endpoints[287]); + builder.AddEndpoint(Endpoints[288]); + builder.AddEndpoint(Endpoints[289]); + builder.AddEndpoint(Endpoints[290]); + builder.AddEndpoint(Endpoints[291]); + builder.AddEndpoint(Endpoints[292]); + builder.AddEndpoint(Endpoints[293]); + builder.AddEndpoint(Endpoints[294]); + builder.AddEndpoint(Endpoints[295]); + builder.AddEndpoint(Endpoints[296]); + builder.AddEndpoint(Endpoints[297]); + builder.AddEndpoint(Endpoints[298]); + builder.AddEndpoint(Endpoints[299]); + builder.AddEndpoint(Endpoints[300]); + builder.AddEndpoint(Endpoints[301]); + builder.AddEndpoint(Endpoints[302]); + builder.AddEndpoint(Endpoints[303]); + builder.AddEndpoint(Endpoints[304]); + builder.AddEndpoint(Endpoints[305]); + builder.AddEndpoint(Endpoints[306]); + builder.AddEndpoint(Endpoints[307]); + builder.AddEndpoint(Endpoints[308]); + builder.AddEndpoint(Endpoints[309]); + builder.AddEndpoint(Endpoints[310]); + builder.AddEndpoint(Endpoints[311]); + builder.AddEndpoint(Endpoints[312]); + builder.AddEndpoint(Endpoints[313]); + builder.AddEndpoint(Endpoints[314]); + builder.AddEndpoint(Endpoints[315]); + builder.AddEndpoint(Endpoints[316]); + builder.AddEndpoint(Endpoints[317]); + builder.AddEndpoint(Endpoints[318]); + builder.AddEndpoint(Endpoints[319]); + builder.AddEndpoint(Endpoints[320]); + builder.AddEndpoint(Endpoints[321]); + builder.AddEndpoint(Endpoints[322]); + builder.AddEndpoint(Endpoints[323]); + builder.AddEndpoint(Endpoints[324]); + builder.AddEndpoint(Endpoints[325]); + builder.AddEndpoint(Endpoints[326]); + builder.AddEndpoint(Endpoints[327]); + builder.AddEndpoint(Endpoints[328]); + builder.AddEndpoint(Endpoints[329]); + builder.AddEndpoint(Endpoints[330]); + builder.AddEndpoint(Endpoints[331]); + builder.AddEndpoint(Endpoints[332]); + builder.AddEndpoint(Endpoints[333]); + builder.AddEndpoint(Endpoints[334]); + builder.AddEndpoint(Endpoints[335]); + builder.AddEndpoint(Endpoints[336]); + builder.AddEndpoint(Endpoints[337]); + builder.AddEndpoint(Endpoints[338]); + builder.AddEndpoint(Endpoints[339]); + builder.AddEndpoint(Endpoints[340]); + builder.AddEndpoint(Endpoints[341]); + builder.AddEndpoint(Endpoints[342]); + builder.AddEndpoint(Endpoints[343]); + builder.AddEndpoint(Endpoints[344]); + builder.AddEndpoint(Endpoints[345]); + builder.AddEndpoint(Endpoints[346]); + builder.AddEndpoint(Endpoints[347]); + builder.AddEndpoint(Endpoints[348]); + builder.AddEndpoint(Endpoints[349]); + builder.AddEndpoint(Endpoints[350]); + builder.AddEndpoint(Endpoints[351]); + builder.AddEndpoint(Endpoints[352]); + builder.AddEndpoint(Endpoints[353]); + builder.AddEndpoint(Endpoints[354]); + builder.AddEndpoint(Endpoints[355]); + builder.AddEndpoint(Endpoints[356]); + builder.AddEndpoint(Endpoints[357]); + builder.AddEndpoint(Endpoints[358]); + builder.AddEndpoint(Endpoints[359]); + builder.AddEndpoint(Endpoints[360]); + builder.AddEndpoint(Endpoints[361]); + builder.AddEndpoint(Endpoints[362]); + builder.AddEndpoint(Endpoints[363]); + builder.AddEndpoint(Endpoints[364]); + builder.AddEndpoint(Endpoints[365]); + builder.AddEndpoint(Endpoints[366]); + builder.AddEndpoint(Endpoints[367]); + builder.AddEndpoint(Endpoints[368]); + builder.AddEndpoint(Endpoints[369]); + builder.AddEndpoint(Endpoints[370]); + builder.AddEndpoint(Endpoints[371]); + builder.AddEndpoint(Endpoints[372]); + builder.AddEndpoint(Endpoints[373]); + builder.AddEndpoint(Endpoints[374]); + builder.AddEndpoint(Endpoints[375]); + builder.AddEndpoint(Endpoints[376]); + builder.AddEndpoint(Endpoints[377]); + builder.AddEndpoint(Endpoints[378]); + builder.AddEndpoint(Endpoints[379]); + builder.AddEndpoint(Endpoints[380]); + builder.AddEndpoint(Endpoints[381]); + builder.AddEndpoint(Endpoints[382]); + builder.AddEndpoint(Endpoints[383]); + builder.AddEndpoint(Endpoints[384]); + builder.AddEndpoint(Endpoints[385]); + builder.AddEndpoint(Endpoints[386]); + builder.AddEndpoint(Endpoints[387]); + builder.AddEndpoint(Endpoints[388]); + builder.AddEndpoint(Endpoints[389]); + builder.AddEndpoint(Endpoints[390]); + builder.AddEndpoint(Endpoints[391]); + builder.AddEndpoint(Endpoints[392]); + builder.AddEndpoint(Endpoints[393]); + builder.AddEndpoint(Endpoints[394]); + builder.AddEndpoint(Endpoints[395]); + builder.AddEndpoint(Endpoints[396]); + builder.AddEndpoint(Endpoints[397]); + builder.AddEndpoint(Endpoints[398]); + builder.AddEndpoint(Endpoints[399]); + builder.AddEndpoint(Endpoints[400]); + builder.AddEndpoint(Endpoints[401]); + builder.AddEndpoint(Endpoints[402]); + builder.AddEndpoint(Endpoints[403]); + builder.AddEndpoint(Endpoints[404]); + builder.AddEndpoint(Endpoints[405]); + builder.AddEndpoint(Endpoints[406]); + builder.AddEndpoint(Endpoints[407]); + builder.AddEndpoint(Endpoints[408]); + builder.AddEndpoint(Endpoints[409]); + builder.AddEndpoint(Endpoints[410]); + builder.AddEndpoint(Endpoints[411]); + builder.AddEndpoint(Endpoints[412]); + builder.AddEndpoint(Endpoints[413]); + builder.AddEndpoint(Endpoints[414]); + builder.AddEndpoint(Endpoints[415]); + builder.AddEndpoint(Endpoints[416]); + builder.AddEndpoint(Endpoints[417]); + builder.AddEndpoint(Endpoints[418]); + builder.AddEndpoint(Endpoints[419]); + builder.AddEndpoint(Endpoints[420]); + builder.AddEndpoint(Endpoints[421]); + builder.AddEndpoint(Endpoints[422]); + builder.AddEndpoint(Endpoints[423]); + builder.AddEndpoint(Endpoints[424]); + builder.AddEndpoint(Endpoints[425]); + builder.AddEndpoint(Endpoints[426]); + builder.AddEndpoint(Endpoints[427]); + builder.AddEndpoint(Endpoints[428]); + builder.AddEndpoint(Endpoints[429]); + builder.AddEndpoint(Endpoints[430]); + builder.AddEndpoint(Endpoints[431]); + builder.AddEndpoint(Endpoints[432]); + builder.AddEndpoint(Endpoints[433]); + builder.AddEndpoint(Endpoints[434]); + builder.AddEndpoint(Endpoints[435]); + builder.AddEndpoint(Endpoints[436]); + builder.AddEndpoint(Endpoints[437]); + builder.AddEndpoint(Endpoints[438]); + builder.AddEndpoint(Endpoints[439]); + builder.AddEndpoint(Endpoints[440]); + builder.AddEndpoint(Endpoints[441]); + builder.AddEndpoint(Endpoints[442]); + builder.AddEndpoint(Endpoints[443]); + builder.AddEndpoint(Endpoints[444]); + builder.AddEndpoint(Endpoints[445]); + builder.AddEndpoint(Endpoints[446]); + builder.AddEndpoint(Endpoints[447]); + builder.AddEndpoint(Endpoints[448]); + builder.AddEndpoint(Endpoints[449]); + builder.AddEndpoint(Endpoints[450]); + builder.AddEndpoint(Endpoints[451]); + builder.AddEndpoint(Endpoints[452]); + builder.AddEndpoint(Endpoints[453]); + builder.AddEndpoint(Endpoints[454]); + builder.AddEndpoint(Endpoints[455]); + builder.AddEndpoint(Endpoints[456]); + builder.AddEndpoint(Endpoints[457]); + builder.AddEndpoint(Endpoints[458]); + builder.AddEndpoint(Endpoints[459]); + builder.AddEndpoint(Endpoints[460]); + builder.AddEndpoint(Endpoints[461]); + builder.AddEndpoint(Endpoints[462]); + builder.AddEndpoint(Endpoints[463]); + builder.AddEndpoint(Endpoints[464]); + builder.AddEndpoint(Endpoints[465]); + builder.AddEndpoint(Endpoints[466]); + builder.AddEndpoint(Endpoints[467]); + builder.AddEndpoint(Endpoints[468]); + builder.AddEndpoint(Endpoints[469]); + builder.AddEndpoint(Endpoints[470]); + builder.AddEndpoint(Endpoints[471]); + builder.AddEndpoint(Endpoints[472]); + builder.AddEndpoint(Endpoints[473]); + builder.AddEndpoint(Endpoints[474]); + builder.AddEndpoint(Endpoints[475]); + builder.AddEndpoint(Endpoints[476]); + builder.AddEndpoint(Endpoints[477]); + builder.AddEndpoint(Endpoints[478]); + builder.AddEndpoint(Endpoints[479]); + builder.AddEndpoint(Endpoints[480]); + builder.AddEndpoint(Endpoints[481]); + builder.AddEndpoint(Endpoints[482]); + builder.AddEndpoint(Endpoints[483]); + builder.AddEndpoint(Endpoints[484]); + builder.AddEndpoint(Endpoints[485]); + builder.AddEndpoint(Endpoints[486]); + builder.AddEndpoint(Endpoints[487]); + builder.AddEndpoint(Endpoints[488]); + builder.AddEndpoint(Endpoints[489]); + builder.AddEndpoint(Endpoints[490]); + builder.AddEndpoint(Endpoints[491]); + builder.AddEndpoint(Endpoints[492]); + builder.AddEndpoint(Endpoints[493]); + builder.AddEndpoint(Endpoints[494]); + builder.AddEndpoint(Endpoints[495]); + builder.AddEndpoint(Endpoints[496]); + builder.AddEndpoint(Endpoints[497]); + builder.AddEndpoint(Endpoints[498]); + builder.AddEndpoint(Endpoints[499]); + builder.AddEndpoint(Endpoints[500]); + builder.AddEndpoint(Endpoints[501]); + builder.AddEndpoint(Endpoints[502]); + builder.AddEndpoint(Endpoints[503]); + builder.AddEndpoint(Endpoints[504]); + builder.AddEndpoint(Endpoints[505]); + builder.AddEndpoint(Endpoints[506]); + builder.AddEndpoint(Endpoints[507]); + builder.AddEndpoint(Endpoints[508]); + builder.AddEndpoint(Endpoints[509]); + builder.AddEndpoint(Endpoints[510]); + builder.AddEndpoint(Endpoints[511]); + builder.AddEndpoint(Endpoints[512]); + builder.AddEndpoint(Endpoints[513]); + builder.AddEndpoint(Endpoints[514]); + builder.AddEndpoint(Endpoints[515]); + builder.AddEndpoint(Endpoints[516]); + builder.AddEndpoint(Endpoints[517]); + builder.AddEndpoint(Endpoints[518]); + builder.AddEndpoint(Endpoints[519]); + builder.AddEndpoint(Endpoints[520]); + builder.AddEndpoint(Endpoints[521]); + builder.AddEndpoint(Endpoints[522]); + builder.AddEndpoint(Endpoints[523]); + builder.AddEndpoint(Endpoints[524]); + builder.AddEndpoint(Endpoints[525]); + builder.AddEndpoint(Endpoints[526]); + builder.AddEndpoint(Endpoints[527]); + builder.AddEndpoint(Endpoints[528]); + builder.AddEndpoint(Endpoints[529]); + builder.AddEndpoint(Endpoints[530]); + builder.AddEndpoint(Endpoints[531]); + builder.AddEndpoint(Endpoints[532]); + builder.AddEndpoint(Endpoints[533]); + builder.AddEndpoint(Endpoints[534]); + builder.AddEndpoint(Endpoints[535]); + builder.AddEndpoint(Endpoints[536]); + builder.AddEndpoint(Endpoints[537]); + builder.AddEndpoint(Endpoints[538]); + builder.AddEndpoint(Endpoints[539]); + builder.AddEndpoint(Endpoints[540]); + builder.AddEndpoint(Endpoints[541]); + builder.AddEndpoint(Endpoints[542]); + builder.AddEndpoint(Endpoints[543]); + builder.AddEndpoint(Endpoints[544]); + builder.AddEndpoint(Endpoints[545]); + builder.AddEndpoint(Endpoints[546]); + builder.AddEndpoint(Endpoints[547]); + builder.AddEndpoint(Endpoints[548]); + builder.AddEndpoint(Endpoints[549]); + builder.AddEndpoint(Endpoints[550]); + builder.AddEndpoint(Endpoints[551]); + builder.AddEndpoint(Endpoints[552]); + builder.AddEndpoint(Endpoints[553]); + builder.AddEndpoint(Endpoints[554]); + builder.AddEndpoint(Endpoints[555]); + builder.AddEndpoint(Endpoints[556]); + builder.AddEndpoint(Endpoints[557]); + builder.AddEndpoint(Endpoints[558]); + builder.AddEndpoint(Endpoints[559]); + builder.AddEndpoint(Endpoints[560]); + builder.AddEndpoint(Endpoints[561]); + builder.AddEndpoint(Endpoints[562]); + builder.AddEndpoint(Endpoints[563]); + builder.AddEndpoint(Endpoints[564]); + builder.AddEndpoint(Endpoints[565]); + builder.AddEndpoint(Endpoints[566]); + builder.AddEndpoint(Endpoints[567]); + builder.AddEndpoint(Endpoints[568]); + builder.AddEndpoint(Endpoints[569]); + builder.AddEndpoint(Endpoints[570]); + builder.AddEndpoint(Endpoints[571]); + builder.AddEndpoint(Endpoints[572]); + builder.AddEndpoint(Endpoints[573]); + builder.AddEndpoint(Endpoints[574]); + builder.AddEndpoint(Endpoints[575]); + builder.AddEndpoint(Endpoints[576]); + builder.AddEndpoint(Endpoints[577]); + builder.AddEndpoint(Endpoints[578]); + builder.AddEndpoint(Endpoints[579]); + builder.AddEndpoint(Endpoints[580]); + builder.AddEndpoint(Endpoints[581]); + builder.AddEndpoint(Endpoints[582]); + builder.AddEndpoint(Endpoints[583]); + builder.AddEndpoint(Endpoints[584]); + builder.AddEndpoint(Endpoints[585]); + builder.AddEndpoint(Endpoints[586]); + builder.AddEndpoint(Endpoints[587]); + builder.AddEndpoint(Endpoints[588]); + builder.AddEndpoint(Endpoints[589]); + builder.AddEndpoint(Endpoints[590]); + builder.AddEndpoint(Endpoints[591]); + builder.AddEndpoint(Endpoints[592]); + builder.AddEndpoint(Endpoints[593]); + builder.AddEndpoint(Endpoints[594]); + builder.AddEndpoint(Endpoints[595]); + builder.AddEndpoint(Endpoints[596]); + builder.AddEndpoint(Endpoints[597]); + builder.AddEndpoint(Endpoints[598]); + builder.AddEndpoint(Endpoints[599]); + builder.AddEndpoint(Endpoints[600]); + builder.AddEndpoint(Endpoints[601]); + builder.AddEndpoint(Endpoints[602]); + builder.AddEndpoint(Endpoints[603]); + builder.AddEndpoint(Endpoints[604]); + builder.AddEndpoint(Endpoints[605]); + builder.AddEndpoint(Endpoints[606]); + builder.AddEndpoint(Endpoints[607]); + builder.AddEndpoint(Endpoints[608]); + builder.AddEndpoint(Endpoints[609]); + builder.AddEndpoint(Endpoints[610]); + builder.AddEndpoint(Endpoints[611]); + builder.AddEndpoint(Endpoints[612]); + builder.AddEndpoint(Endpoints[613]); + builder.AddEndpoint(Endpoints[614]); + builder.AddEndpoint(Endpoints[615]); + builder.AddEndpoint(Endpoints[616]); + builder.AddEndpoint(Endpoints[617]); + builder.AddEndpoint(Endpoints[618]); + builder.AddEndpoint(Endpoints[619]); + builder.AddEndpoint(Endpoints[620]); + builder.AddEndpoint(Endpoints[621]); + builder.AddEndpoint(Endpoints[622]); + builder.AddEndpoint(Endpoints[623]); + builder.AddEndpoint(Endpoints[624]); + builder.AddEndpoint(Endpoints[625]); + builder.AddEndpoint(Endpoints[626]); + builder.AddEndpoint(Endpoints[627]); + builder.AddEndpoint(Endpoints[628]); + builder.AddEndpoint(Endpoints[629]); + builder.AddEndpoint(Endpoints[630]); + builder.AddEndpoint(Endpoints[631]); + builder.AddEndpoint(Endpoints[632]); + builder.AddEndpoint(Endpoints[633]); + builder.AddEndpoint(Endpoints[634]); + builder.AddEndpoint(Endpoints[635]); + builder.AddEndpoint(Endpoints[636]); + builder.AddEndpoint(Endpoints[637]); + builder.AddEndpoint(Endpoints[638]); + builder.AddEndpoint(Endpoints[639]); + builder.AddEndpoint(Endpoints[640]); + builder.AddEndpoint(Endpoints[641]); + builder.AddEndpoint(Endpoints[642]); + builder.AddEndpoint(Endpoints[643]); + builder.AddEndpoint(Endpoints[644]); + builder.AddEndpoint(Endpoints[645]); + builder.AddEndpoint(Endpoints[646]); + builder.AddEndpoint(Endpoints[647]); + builder.AddEndpoint(Endpoints[648]); + builder.AddEndpoint(Endpoints[649]); + builder.AddEndpoint(Endpoints[650]); + builder.AddEndpoint(Endpoints[651]); + builder.AddEndpoint(Endpoints[652]); + builder.AddEndpoint(Endpoints[653]); + builder.AddEndpoint(Endpoints[654]); + builder.AddEndpoint(Endpoints[655]); + builder.AddEndpoint(Endpoints[656]); + builder.AddEndpoint(Endpoints[657]); + builder.AddEndpoint(Endpoints[658]); + builder.AddEndpoint(Endpoints[659]); + builder.AddEndpoint(Endpoints[660]); + builder.AddEndpoint(Endpoints[661]); + builder.AddEndpoint(Endpoints[662]); + builder.AddEndpoint(Endpoints[663]); + builder.AddEndpoint(Endpoints[664]); + builder.AddEndpoint(Endpoints[665]); + builder.AddEndpoint(Endpoints[666]); + builder.AddEndpoint(Endpoints[667]); + builder.AddEndpoint(Endpoints[668]); + builder.AddEndpoint(Endpoints[669]); + builder.AddEndpoint(Endpoints[670]); + builder.AddEndpoint(Endpoints[671]); + builder.AddEndpoint(Endpoints[672]); + builder.AddEndpoint(Endpoints[673]); + builder.AddEndpoint(Endpoints[674]); + builder.AddEndpoint(Endpoints[675]); + builder.AddEndpoint(Endpoints[676]); + builder.AddEndpoint(Endpoints[677]); + builder.AddEndpoint(Endpoints[678]); + builder.AddEndpoint(Endpoints[679]); + builder.AddEndpoint(Endpoints[680]); + builder.AddEndpoint(Endpoints[681]); + builder.AddEndpoint(Endpoints[682]); + builder.AddEndpoint(Endpoints[683]); + builder.AddEndpoint(Endpoints[684]); + builder.AddEndpoint(Endpoints[685]); + builder.AddEndpoint(Endpoints[686]); + builder.AddEndpoint(Endpoints[687]); + builder.AddEndpoint(Endpoints[688]); + builder.AddEndpoint(Endpoints[689]); + builder.AddEndpoint(Endpoints[690]); + builder.AddEndpoint(Endpoints[691]); + builder.AddEndpoint(Endpoints[692]); + builder.AddEndpoint(Endpoints[693]); + builder.AddEndpoint(Endpoints[694]); + builder.AddEndpoint(Endpoints[695]); + builder.AddEndpoint(Endpoints[696]); + builder.AddEndpoint(Endpoints[697]); + builder.AddEndpoint(Endpoints[698]); + builder.AddEndpoint(Endpoints[699]); + builder.AddEndpoint(Endpoints[700]); + builder.AddEndpoint(Endpoints[701]); + builder.AddEndpoint(Endpoints[702]); + builder.AddEndpoint(Endpoints[703]); + builder.AddEndpoint(Endpoints[704]); + builder.AddEndpoint(Endpoints[705]); + builder.AddEndpoint(Endpoints[706]); + builder.AddEndpoint(Endpoints[707]); + builder.AddEndpoint(Endpoints[708]); + builder.AddEndpoint(Endpoints[709]); + builder.AddEndpoint(Endpoints[710]); + builder.AddEndpoint(Endpoints[711]); + builder.AddEndpoint(Endpoints[712]); + builder.AddEndpoint(Endpoints[713]); + builder.AddEndpoint(Endpoints[714]); + builder.AddEndpoint(Endpoints[715]); + builder.AddEndpoint(Endpoints[716]); + builder.AddEndpoint(Endpoints[717]); + builder.AddEndpoint(Endpoints[718]); + builder.AddEndpoint(Endpoints[719]); + builder.AddEndpoint(Endpoints[720]); + builder.AddEndpoint(Endpoints[721]); + builder.AddEndpoint(Endpoints[722]); + builder.AddEndpoint(Endpoints[723]); + builder.AddEndpoint(Endpoints[724]); + builder.AddEndpoint(Endpoints[725]); + builder.AddEndpoint(Endpoints[726]); + builder.AddEndpoint(Endpoints[727]); + builder.AddEndpoint(Endpoints[728]); + builder.AddEndpoint(Endpoints[729]); + builder.AddEndpoint(Endpoints[730]); + builder.AddEndpoint(Endpoints[731]); + builder.AddEndpoint(Endpoints[732]); + builder.AddEndpoint(Endpoints[733]); + builder.AddEndpoint(Endpoints[734]); + builder.AddEndpoint(Endpoints[735]); + builder.AddEndpoint(Endpoints[736]); + builder.AddEndpoint(Endpoints[737]); + builder.AddEndpoint(Endpoints[738]); + builder.AddEndpoint(Endpoints[739]); + builder.AddEndpoint(Endpoints[740]); + builder.AddEndpoint(Endpoints[741]); + builder.AddEndpoint(Endpoints[742]); + builder.AddEndpoint(Endpoints[743]); + builder.AddEndpoint(Endpoints[744]); + builder.AddEndpoint(Endpoints[745]); + builder.AddEndpoint(Endpoints[746]); + builder.AddEndpoint(Endpoints[747]); + builder.AddEndpoint(Endpoints[748]); + builder.AddEndpoint(Endpoints[749]); + builder.AddEndpoint(Endpoints[750]); + builder.AddEndpoint(Endpoints[751]); + builder.AddEndpoint(Endpoints[752]); + builder.AddEndpoint(Endpoints[753]); + builder.AddEndpoint(Endpoints[754]); + builder.AddEndpoint(Endpoints[755]); + builder.AddEndpoint(Endpoints[756]); + builder.AddEndpoint(Endpoints[757]); + builder.AddEndpoint(Endpoints[758]); + builder.AddEndpoint(Endpoints[759]); + builder.AddEndpoint(Endpoints[760]); + builder.AddEndpoint(Endpoints[761]); + builder.AddEndpoint(Endpoints[762]); + builder.AddEndpoint(Endpoints[763]); + builder.AddEndpoint(Endpoints[764]); + builder.AddEndpoint(Endpoints[765]); + builder.AddEndpoint(Endpoints[766]); + builder.AddEndpoint(Endpoints[767]); + builder.AddEndpoint(Endpoints[768]); + builder.AddEndpoint(Endpoints[769]); + builder.AddEndpoint(Endpoints[770]); + builder.AddEndpoint(Endpoints[771]); + builder.AddEndpoint(Endpoints[772]); + builder.AddEndpoint(Endpoints[773]); + builder.AddEndpoint(Endpoints[774]); + builder.AddEndpoint(Endpoints[775]); + builder.AddEndpoint(Endpoints[776]); + builder.AddEndpoint(Endpoints[777]); + builder.AddEndpoint(Endpoints[778]); + builder.AddEndpoint(Endpoints[779]); + builder.AddEndpoint(Endpoints[780]); + builder.AddEndpoint(Endpoints[781]); + builder.AddEndpoint(Endpoints[782]); + builder.AddEndpoint(Endpoints[783]); + builder.AddEndpoint(Endpoints[784]); + builder.AddEndpoint(Endpoints[785]); + builder.AddEndpoint(Endpoints[786]); + builder.AddEndpoint(Endpoints[787]); + builder.AddEndpoint(Endpoints[788]); + builder.AddEndpoint(Endpoints[789]); + builder.AddEndpoint(Endpoints[790]); + builder.AddEndpoint(Endpoints[791]); + builder.AddEndpoint(Endpoints[792]); + builder.AddEndpoint(Endpoints[793]); + builder.AddEndpoint(Endpoints[794]); + builder.AddEndpoint(Endpoints[795]); + builder.AddEndpoint(Endpoints[796]); + builder.AddEndpoint(Endpoints[797]); + builder.AddEndpoint(Endpoints[798]); + builder.AddEndpoint(Endpoints[799]); + builder.AddEndpoint(Endpoints[800]); + builder.AddEndpoint(Endpoints[801]); + builder.AddEndpoint(Endpoints[802]); + builder.AddEndpoint(Endpoints[803]); + builder.AddEndpoint(Endpoints[804]); + builder.AddEndpoint(Endpoints[805]); + builder.AddEndpoint(Endpoints[806]); + builder.AddEndpoint(Endpoints[807]); + builder.AddEndpoint(Endpoints[808]); + builder.AddEndpoint(Endpoints[809]); + builder.AddEndpoint(Endpoints[810]); + builder.AddEndpoint(Endpoints[811]); + builder.AddEndpoint(Endpoints[812]); + builder.AddEndpoint(Endpoints[813]); + builder.AddEndpoint(Endpoints[814]); + builder.AddEndpoint(Endpoints[815]); + builder.AddEndpoint(Endpoints[816]); + builder.AddEndpoint(Endpoints[817]); + builder.AddEndpoint(Endpoints[818]); + builder.AddEndpoint(Endpoints[819]); + builder.AddEndpoint(Endpoints[820]); + builder.AddEndpoint(Endpoints[821]); + builder.AddEndpoint(Endpoints[822]); + builder.AddEndpoint(Endpoints[823]); + builder.AddEndpoint(Endpoints[824]); + builder.AddEndpoint(Endpoints[825]); + builder.AddEndpoint(Endpoints[826]); + builder.AddEndpoint(Endpoints[827]); + builder.AddEndpoint(Endpoints[828]); + builder.AddEndpoint(Endpoints[829]); + builder.AddEndpoint(Endpoints[830]); + builder.AddEndpoint(Endpoints[831]); + builder.AddEndpoint(Endpoints[832]); + builder.AddEndpoint(Endpoints[833]); + builder.AddEndpoint(Endpoints[834]); + builder.AddEndpoint(Endpoints[835]); + builder.AddEndpoint(Endpoints[836]); + builder.AddEndpoint(Endpoints[837]); + builder.AddEndpoint(Endpoints[838]); + builder.AddEndpoint(Endpoints[839]); + builder.AddEndpoint(Endpoints[840]); + builder.AddEndpoint(Endpoints[841]); + builder.AddEndpoint(Endpoints[842]); + builder.AddEndpoint(Endpoints[843]); + builder.AddEndpoint(Endpoints[844]); + builder.AddEndpoint(Endpoints[845]); + builder.AddEndpoint(Endpoints[846]); + builder.AddEndpoint(Endpoints[847]); + builder.AddEndpoint(Endpoints[848]); + builder.AddEndpoint(Endpoints[849]); + builder.AddEndpoint(Endpoints[850]); + builder.AddEndpoint(Endpoints[851]); + builder.AddEndpoint(Endpoints[852]); + builder.AddEndpoint(Endpoints[853]); + builder.AddEndpoint(Endpoints[854]); + builder.AddEndpoint(Endpoints[855]); + builder.AddEndpoint(Endpoints[856]); + builder.AddEndpoint(Endpoints[857]); + builder.AddEndpoint(Endpoints[858]); + builder.AddEndpoint(Endpoints[859]); + builder.AddEndpoint(Endpoints[860]); + builder.AddEndpoint(Endpoints[861]); + builder.AddEndpoint(Endpoints[862]); + builder.AddEndpoint(Endpoints[863]); + builder.AddEndpoint(Endpoints[864]); + builder.AddEndpoint(Endpoints[865]); + builder.AddEndpoint(Endpoints[866]); + builder.AddEndpoint(Endpoints[867]); + builder.AddEndpoint(Endpoints[868]); + builder.AddEndpoint(Endpoints[869]); + builder.AddEndpoint(Endpoints[870]); + builder.AddEndpoint(Endpoints[871]); + builder.AddEndpoint(Endpoints[872]); + builder.AddEndpoint(Endpoints[873]); + builder.AddEndpoint(Endpoints[874]); + builder.AddEndpoint(Endpoints[875]); + builder.AddEndpoint(Endpoints[876]); + builder.AddEndpoint(Endpoints[877]); + builder.AddEndpoint(Endpoints[878]); + builder.AddEndpoint(Endpoints[879]); + builder.AddEndpoint(Endpoints[880]); + builder.AddEndpoint(Endpoints[881]); + builder.AddEndpoint(Endpoints[882]); + builder.AddEndpoint(Endpoints[883]); + builder.AddEndpoint(Endpoints[884]); + builder.AddEndpoint(Endpoints[885]); + builder.AddEndpoint(Endpoints[886]); + builder.AddEndpoint(Endpoints[887]); + builder.AddEndpoint(Endpoints[888]); + builder.AddEndpoint(Endpoints[889]); + builder.AddEndpoint(Endpoints[890]); + builder.AddEndpoint(Endpoints[891]); + builder.AddEndpoint(Endpoints[892]); + builder.AddEndpoint(Endpoints[893]); + builder.AddEndpoint(Endpoints[894]); + builder.AddEndpoint(Endpoints[895]); + builder.AddEndpoint(Endpoints[896]); + builder.AddEndpoint(Endpoints[897]); + builder.AddEndpoint(Endpoints[898]); + builder.AddEndpoint(Endpoints[899]); + builder.AddEndpoint(Endpoints[900]); + builder.AddEndpoint(Endpoints[901]); + builder.AddEndpoint(Endpoints[902]); + builder.AddEndpoint(Endpoints[903]); + builder.AddEndpoint(Endpoints[904]); + builder.AddEndpoint(Endpoints[905]); + builder.AddEndpoint(Endpoints[906]); + builder.AddEndpoint(Endpoints[907]); + builder.AddEndpoint(Endpoints[908]); + builder.AddEndpoint(Endpoints[909]); + builder.AddEndpoint(Endpoints[910]); + builder.AddEndpoint(Endpoints[911]); + builder.AddEndpoint(Endpoints[912]); + builder.AddEndpoint(Endpoints[913]); + builder.AddEndpoint(Endpoints[914]); + builder.AddEndpoint(Endpoints[915]); + builder.AddEndpoint(Endpoints[916]); + builder.AddEndpoint(Endpoints[917]); + builder.AddEndpoint(Endpoints[918]); + builder.AddEndpoint(Endpoints[919]); + builder.AddEndpoint(Endpoints[920]); + builder.AddEndpoint(Endpoints[921]); + builder.AddEndpoint(Endpoints[922]); + builder.AddEndpoint(Endpoints[923]); + builder.AddEndpoint(Endpoints[924]); + builder.AddEndpoint(Endpoints[925]); + builder.AddEndpoint(Endpoints[926]); + builder.AddEndpoint(Endpoints[927]); + builder.AddEndpoint(Endpoints[928]); + builder.AddEndpoint(Endpoints[929]); + builder.AddEndpoint(Endpoints[930]); + builder.AddEndpoint(Endpoints[931]); + builder.AddEndpoint(Endpoints[932]); + builder.AddEndpoint(Endpoints[933]); + builder.AddEndpoint(Endpoints[934]); + builder.AddEndpoint(Endpoints[935]); + builder.AddEndpoint(Endpoints[936]); + builder.AddEndpoint(Endpoints[937]); + builder.AddEndpoint(Endpoints[938]); + builder.AddEndpoint(Endpoints[939]); + builder.AddEndpoint(Endpoints[940]); + builder.AddEndpoint(Endpoints[941]); + builder.AddEndpoint(Endpoints[942]); + builder.AddEndpoint(Endpoints[943]); + builder.AddEndpoint(Endpoints[944]); + builder.AddEndpoint(Endpoints[945]); + builder.AddEndpoint(Endpoints[946]); + builder.AddEndpoint(Endpoints[947]); + builder.AddEndpoint(Endpoints[948]); + builder.AddEndpoint(Endpoints[949]); + builder.AddEndpoint(Endpoints[950]); + builder.AddEndpoint(Endpoints[951]); + builder.AddEndpoint(Endpoints[952]); + builder.AddEndpoint(Endpoints[953]); + builder.AddEndpoint(Endpoints[954]); + builder.AddEndpoint(Endpoints[955]); + builder.AddEndpoint(Endpoints[956]); + builder.AddEndpoint(Endpoints[957]); + builder.AddEndpoint(Endpoints[958]); + builder.AddEndpoint(Endpoints[959]); + builder.AddEndpoint(Endpoints[960]); + builder.AddEndpoint(Endpoints[961]); + builder.AddEndpoint(Endpoints[962]); + builder.AddEndpoint(Endpoints[963]); + builder.AddEndpoint(Endpoints[964]); + builder.AddEndpoint(Endpoints[965]); + builder.AddEndpoint(Endpoints[966]); + builder.AddEndpoint(Endpoints[967]); + builder.AddEndpoint(Endpoints[968]); + builder.AddEndpoint(Endpoints[969]); + builder.AddEndpoint(Endpoints[970]); + builder.AddEndpoint(Endpoints[971]); + builder.AddEndpoint(Endpoints[972]); + builder.AddEndpoint(Endpoints[973]); + builder.AddEndpoint(Endpoints[974]); + builder.AddEndpoint(Endpoints[975]); + builder.AddEndpoint(Endpoints[976]); + builder.AddEndpoint(Endpoints[977]); + builder.AddEndpoint(Endpoints[978]); + builder.AddEndpoint(Endpoints[979]); + builder.AddEndpoint(Endpoints[980]); + builder.AddEndpoint(Endpoints[981]); + builder.AddEndpoint(Endpoints[982]); + builder.AddEndpoint(Endpoints[983]); + builder.AddEndpoint(Endpoints[984]); + builder.AddEndpoint(Endpoints[985]); + builder.AddEndpoint(Endpoints[986]); + builder.AddEndpoint(Endpoints[987]); + builder.AddEndpoint(Endpoints[988]); + builder.AddEndpoint(Endpoints[989]); + builder.AddEndpoint(Endpoints[990]); + builder.AddEndpoint(Endpoints[991]); + builder.AddEndpoint(Endpoints[992]); + builder.AddEndpoint(Endpoints[993]); + builder.AddEndpoint(Endpoints[994]); + builder.AddEndpoint(Endpoints[995]); + builder.AddEndpoint(Endpoints[996]); + builder.AddEndpoint(Endpoints[997]); + builder.AddEndpoint(Endpoints[998]); + builder.AddEndpoint(Endpoints[999]); + builder.AddEndpoint(Endpoints[1000]); + builder.AddEndpoint(Endpoints[1001]); + builder.AddEndpoint(Endpoints[1002]); + builder.AddEndpoint(Endpoints[1003]); + builder.AddEndpoint(Endpoints[1004]); + builder.AddEndpoint(Endpoints[1005]); + builder.AddEndpoint(Endpoints[1006]); + builder.AddEndpoint(Endpoints[1007]); + builder.AddEndpoint(Endpoints[1008]); + builder.AddEndpoint(Endpoints[1009]); + builder.AddEndpoint(Endpoints[1010]); + builder.AddEndpoint(Endpoints[1011]); + builder.AddEndpoint(Endpoints[1012]); + builder.AddEndpoint(Endpoints[1013]); + builder.AddEndpoint(Endpoints[1014]); + builder.AddEndpoint(Endpoints[1015]); + builder.AddEndpoint(Endpoints[1016]); + builder.AddEndpoint(Endpoints[1017]); + builder.AddEndpoint(Endpoints[1018]); + builder.AddEndpoint(Endpoints[1019]); + builder.AddEndpoint(Endpoints[1020]); + builder.AddEndpoint(Endpoints[1021]); + builder.AddEndpoint(Endpoints[1022]); + builder.AddEndpoint(Endpoints[1023]); + builder.AddEndpoint(Endpoints[1024]); + builder.AddEndpoint(Endpoints[1025]); + builder.AddEndpoint(Endpoints[1026]); + builder.AddEndpoint(Endpoints[1027]); + builder.AddEndpoint(Endpoints[1028]); + builder.AddEndpoint(Endpoints[1029]); + builder.AddEndpoint(Endpoints[1030]); + builder.AddEndpoint(Endpoints[1031]); + builder.AddEndpoint(Endpoints[1032]); + builder.AddEndpoint(Endpoints[1033]); + builder.AddEndpoint(Endpoints[1034]); + builder.AddEndpoint(Endpoints[1035]); + builder.AddEndpoint(Endpoints[1036]); + builder.AddEndpoint(Endpoints[1037]); + builder.AddEndpoint(Endpoints[1038]); + builder.AddEndpoint(Endpoints[1039]); + builder.AddEndpoint(Endpoints[1040]); + builder.AddEndpoint(Endpoints[1041]); + builder.AddEndpoint(Endpoints[1042]); + builder.AddEndpoint(Endpoints[1043]); + builder.AddEndpoint(Endpoints[1044]); + builder.AddEndpoint(Endpoints[1045]); + builder.AddEndpoint(Endpoints[1046]); + builder.AddEndpoint(Endpoints[1047]); + builder.AddEndpoint(Endpoints[1048]); + builder.AddEndpoint(Endpoints[1049]); + builder.AddEndpoint(Endpoints[1050]); + builder.AddEndpoint(Endpoints[1051]); + builder.AddEndpoint(Endpoints[1052]); + builder.AddEndpoint(Endpoints[1053]); + builder.AddEndpoint(Endpoints[1054]); + builder.AddEndpoint(Endpoints[1055]); + builder.AddEndpoint(Endpoints[1056]); + builder.AddEndpoint(Endpoints[1057]); + builder.AddEndpoint(Endpoints[1058]); + builder.AddEndpoint(Endpoints[1059]); + builder.AddEndpoint(Endpoints[1060]); + builder.AddEndpoint(Endpoints[1061]); + builder.AddEndpoint(Endpoints[1062]); + builder.AddEndpoint(Endpoints[1063]); + builder.AddEndpoint(Endpoints[1064]); + builder.AddEndpoint(Endpoints[1065]); + builder.AddEndpoint(Endpoints[1066]); + builder.AddEndpoint(Endpoints[1067]); + builder.AddEndpoint(Endpoints[1068]); + builder.AddEndpoint(Endpoints[1069]); + builder.AddEndpoint(Endpoints[1070]); + builder.AddEndpoint(Endpoints[1071]); + builder.AddEndpoint(Endpoints[1072]); + builder.AddEndpoint(Endpoints[1073]); + builder.AddEndpoint(Endpoints[1074]); + builder.AddEndpoint(Endpoints[1075]); + builder.AddEndpoint(Endpoints[1076]); + builder.AddEndpoint(Endpoints[1077]); + builder.AddEndpoint(Endpoints[1078]); + builder.AddEndpoint(Endpoints[1079]); + builder.AddEndpoint(Endpoints[1080]); + builder.AddEndpoint(Endpoints[1081]); + builder.AddEndpoint(Endpoints[1082]); + builder.AddEndpoint(Endpoints[1083]); + builder.AddEndpoint(Endpoints[1084]); + builder.AddEndpoint(Endpoints[1085]); + builder.AddEndpoint(Endpoints[1086]); + builder.AddEndpoint(Endpoints[1087]); + builder.AddEndpoint(Endpoints[1088]); + builder.AddEndpoint(Endpoints[1089]); + builder.AddEndpoint(Endpoints[1090]); + builder.AddEndpoint(Endpoints[1091]); + builder.AddEndpoint(Endpoints[1092]); + builder.AddEndpoint(Endpoints[1093]); + builder.AddEndpoint(Endpoints[1094]); + builder.AddEndpoint(Endpoints[1095]); + builder.AddEndpoint(Endpoints[1096]); + builder.AddEndpoint(Endpoints[1097]); + builder.AddEndpoint(Endpoints[1098]); + builder.AddEndpoint(Endpoints[1099]); + builder.AddEndpoint(Endpoints[1100]); + builder.AddEndpoint(Endpoints[1101]); + builder.AddEndpoint(Endpoints[1102]); + builder.AddEndpoint(Endpoints[1103]); + builder.AddEndpoint(Endpoints[1104]); + builder.AddEndpoint(Endpoints[1105]); + builder.AddEndpoint(Endpoints[1106]); + builder.AddEndpoint(Endpoints[1107]); + builder.AddEndpoint(Endpoints[1108]); + builder.AddEndpoint(Endpoints[1109]); + builder.AddEndpoint(Endpoints[1110]); + builder.AddEndpoint(Endpoints[1111]); + builder.AddEndpoint(Endpoints[1112]); + builder.AddEndpoint(Endpoints[1113]); + builder.AddEndpoint(Endpoints[1114]); + builder.AddEndpoint(Endpoints[1115]); + builder.AddEndpoint(Endpoints[1116]); + builder.AddEndpoint(Endpoints[1117]); + builder.AddEndpoint(Endpoints[1118]); + builder.AddEndpoint(Endpoints[1119]); + builder.AddEndpoint(Endpoints[1120]); + builder.AddEndpoint(Endpoints[1121]); + builder.AddEndpoint(Endpoints[1122]); + builder.AddEndpoint(Endpoints[1123]); + builder.AddEndpoint(Endpoints[1124]); + builder.AddEndpoint(Endpoints[1125]); + builder.AddEndpoint(Endpoints[1126]); + builder.AddEndpoint(Endpoints[1127]); + builder.AddEndpoint(Endpoints[1128]); + builder.AddEndpoint(Endpoints[1129]); + builder.AddEndpoint(Endpoints[1130]); + builder.AddEndpoint(Endpoints[1131]); + builder.AddEndpoint(Endpoints[1132]); + builder.AddEndpoint(Endpoints[1133]); + builder.AddEndpoint(Endpoints[1134]); + builder.AddEndpoint(Endpoints[1135]); + builder.AddEndpoint(Endpoints[1136]); + builder.AddEndpoint(Endpoints[1137]); + builder.AddEndpoint(Endpoints[1138]); + builder.AddEndpoint(Endpoints[1139]); + builder.AddEndpoint(Endpoints[1140]); + builder.AddEndpoint(Endpoints[1141]); + builder.AddEndpoint(Endpoints[1142]); + builder.AddEndpoint(Endpoints[1143]); + builder.AddEndpoint(Endpoints[1144]); + builder.AddEndpoint(Endpoints[1145]); + builder.AddEndpoint(Endpoints[1146]); + builder.AddEndpoint(Endpoints[1147]); + builder.AddEndpoint(Endpoints[1148]); + builder.AddEndpoint(Endpoints[1149]); + builder.AddEndpoint(Endpoints[1150]); + builder.AddEndpoint(Endpoints[1151]); + builder.AddEndpoint(Endpoints[1152]); + builder.AddEndpoint(Endpoints[1153]); + builder.AddEndpoint(Endpoints[1154]); + builder.AddEndpoint(Endpoints[1155]); + builder.AddEndpoint(Endpoints[1156]); + builder.AddEndpoint(Endpoints[1157]); + builder.AddEndpoint(Endpoints[1158]); + builder.AddEndpoint(Endpoints[1159]); + builder.AddEndpoint(Endpoints[1160]); + builder.AddEndpoint(Endpoints[1161]); + builder.AddEndpoint(Endpoints[1162]); + builder.AddEndpoint(Endpoints[1163]); + builder.AddEndpoint(Endpoints[1164]); + builder.AddEndpoint(Endpoints[1165]); + builder.AddEndpoint(Endpoints[1166]); + builder.AddEndpoint(Endpoints[1167]); + builder.AddEndpoint(Endpoints[1168]); + builder.AddEndpoint(Endpoints[1169]); + builder.AddEndpoint(Endpoints[1170]); + builder.AddEndpoint(Endpoints[1171]); + builder.AddEndpoint(Endpoints[1172]); + builder.AddEndpoint(Endpoints[1173]); + builder.AddEndpoint(Endpoints[1174]); + builder.AddEndpoint(Endpoints[1175]); + builder.AddEndpoint(Endpoints[1176]); + builder.AddEndpoint(Endpoints[1177]); + builder.AddEndpoint(Endpoints[1178]); + builder.AddEndpoint(Endpoints[1179]); + builder.AddEndpoint(Endpoints[1180]); + builder.AddEndpoint(Endpoints[1181]); + builder.AddEndpoint(Endpoints[1182]); + builder.AddEndpoint(Endpoints[1183]); + builder.AddEndpoint(Endpoints[1184]); + builder.AddEndpoint(Endpoints[1185]); + builder.AddEndpoint(Endpoints[1186]); + builder.AddEndpoint(Endpoints[1187]); + builder.AddEndpoint(Endpoints[1188]); + builder.AddEndpoint(Endpoints[1189]); + builder.AddEndpoint(Endpoints[1190]); + builder.AddEndpoint(Endpoints[1191]); + builder.AddEndpoint(Endpoints[1192]); + builder.AddEndpoint(Endpoints[1193]); + builder.AddEndpoint(Endpoints[1194]); + builder.AddEndpoint(Endpoints[1195]); + builder.AddEndpoint(Endpoints[1196]); + builder.AddEndpoint(Endpoints[1197]); + builder.AddEndpoint(Endpoints[1198]); + builder.AddEndpoint(Endpoints[1199]); + builder.AddEndpoint(Endpoints[1200]); + builder.AddEndpoint(Endpoints[1201]); + builder.AddEndpoint(Endpoints[1202]); + builder.AddEndpoint(Endpoints[1203]); + builder.AddEndpoint(Endpoints[1204]); + builder.AddEndpoint(Endpoints[1205]); + builder.AddEndpoint(Endpoints[1206]); + builder.AddEndpoint(Endpoints[1207]); + builder.AddEndpoint(Endpoints[1208]); + builder.AddEndpoint(Endpoints[1209]); + builder.AddEndpoint(Endpoints[1210]); + builder.AddEndpoint(Endpoints[1211]); + builder.AddEndpoint(Endpoints[1212]); + builder.AddEndpoint(Endpoints[1213]); + builder.AddEndpoint(Endpoints[1214]); + builder.AddEndpoint(Endpoints[1215]); + builder.AddEndpoint(Endpoints[1216]); + builder.AddEndpoint(Endpoints[1217]); + builder.AddEndpoint(Endpoints[1218]); + builder.AddEndpoint(Endpoints[1219]); + builder.AddEndpoint(Endpoints[1220]); + builder.AddEndpoint(Endpoints[1221]); + builder.AddEndpoint(Endpoints[1222]); + builder.AddEndpoint(Endpoints[1223]); + builder.AddEndpoint(Endpoints[1224]); + builder.AddEndpoint(Endpoints[1225]); + builder.AddEndpoint(Endpoints[1226]); + builder.AddEndpoint(Endpoints[1227]); + builder.AddEndpoint(Endpoints[1228]); + builder.AddEndpoint(Endpoints[1229]); + builder.AddEndpoint(Endpoints[1230]); + builder.AddEndpoint(Endpoints[1231]); + builder.AddEndpoint(Endpoints[1232]); + builder.AddEndpoint(Endpoints[1233]); + builder.AddEndpoint(Endpoints[1234]); + builder.AddEndpoint(Endpoints[1235]); + builder.AddEndpoint(Endpoints[1236]); + builder.AddEndpoint(Endpoints[1237]); + builder.AddEndpoint(Endpoints[1238]); + builder.AddEndpoint(Endpoints[1239]); + builder.AddEndpoint(Endpoints[1240]); + builder.AddEndpoint(Endpoints[1241]); + builder.AddEndpoint(Endpoints[1242]); + builder.AddEndpoint(Endpoints[1243]); + builder.AddEndpoint(Endpoints[1244]); + builder.AddEndpoint(Endpoints[1245]); + builder.AddEndpoint(Endpoints[1246]); + builder.AddEndpoint(Endpoints[1247]); + builder.AddEndpoint(Endpoints[1248]); + builder.AddEndpoint(Endpoints[1249]); + builder.AddEndpoint(Endpoints[1250]); + builder.AddEndpoint(Endpoints[1251]); + builder.AddEndpoint(Endpoints[1252]); + builder.AddEndpoint(Endpoints[1253]); + builder.AddEndpoint(Endpoints[1254]); + builder.AddEndpoint(Endpoints[1255]); + builder.AddEndpoint(Endpoints[1256]); + builder.AddEndpoint(Endpoints[1257]); + builder.AddEndpoint(Endpoints[1258]); + builder.AddEndpoint(Endpoints[1259]); + builder.AddEndpoint(Endpoints[1260]); + builder.AddEndpoint(Endpoints[1261]); + builder.AddEndpoint(Endpoints[1262]); + builder.AddEndpoint(Endpoints[1263]); + builder.AddEndpoint(Endpoints[1264]); + builder.AddEndpoint(Endpoints[1265]); + builder.AddEndpoint(Endpoints[1266]); + builder.AddEndpoint(Endpoints[1267]); + builder.AddEndpoint(Endpoints[1268]); + builder.AddEndpoint(Endpoints[1269]); + builder.AddEndpoint(Endpoints[1270]); + builder.AddEndpoint(Endpoints[1271]); + builder.AddEndpoint(Endpoints[1272]); + builder.AddEndpoint(Endpoints[1273]); + builder.AddEndpoint(Endpoints[1274]); + builder.AddEndpoint(Endpoints[1275]); + builder.AddEndpoint(Endpoints[1276]); + builder.AddEndpoint(Endpoints[1277]); + builder.AddEndpoint(Endpoints[1278]); + builder.AddEndpoint(Endpoints[1279]); + builder.AddEndpoint(Endpoints[1280]); + builder.AddEndpoint(Endpoints[1281]); + builder.AddEndpoint(Endpoints[1282]); + builder.AddEndpoint(Endpoints[1283]); + builder.AddEndpoint(Endpoints[1284]); + builder.AddEndpoint(Endpoints[1285]); + builder.AddEndpoint(Endpoints[1286]); + builder.AddEndpoint(Endpoints[1287]); + builder.AddEndpoint(Endpoints[1288]); + builder.AddEndpoint(Endpoints[1289]); + builder.AddEndpoint(Endpoints[1290]); + builder.AddEndpoint(Endpoints[1291]); + builder.AddEndpoint(Endpoints[1292]); + builder.AddEndpoint(Endpoints[1293]); + builder.AddEndpoint(Endpoints[1294]); + builder.AddEndpoint(Endpoints[1295]); + builder.AddEndpoint(Endpoints[1296]); + builder.AddEndpoint(Endpoints[1297]); + builder.AddEndpoint(Endpoints[1298]); + builder.AddEndpoint(Endpoints[1299]); + builder.AddEndpoint(Endpoints[1300]); + builder.AddEndpoint(Endpoints[1301]); + builder.AddEndpoint(Endpoints[1302]); + builder.AddEndpoint(Endpoints[1303]); + builder.AddEndpoint(Endpoints[1304]); + builder.AddEndpoint(Endpoints[1305]); + builder.AddEndpoint(Endpoints[1306]); + builder.AddEndpoint(Endpoints[1307]); + builder.AddEndpoint(Endpoints[1308]); + builder.AddEndpoint(Endpoints[1309]); + builder.AddEndpoint(Endpoints[1310]); + builder.AddEndpoint(Endpoints[1311]); + builder.AddEndpoint(Endpoints[1312]); + builder.AddEndpoint(Endpoints[1313]); + builder.AddEndpoint(Endpoints[1314]); + builder.AddEndpoint(Endpoints[1315]); + builder.AddEndpoint(Endpoints[1316]); + builder.AddEndpoint(Endpoints[1317]); + builder.AddEndpoint(Endpoints[1318]); + builder.AddEndpoint(Endpoints[1319]); + builder.AddEndpoint(Endpoints[1320]); + builder.AddEndpoint(Endpoints[1321]); + builder.AddEndpoint(Endpoints[1322]); + builder.AddEndpoint(Endpoints[1323]); + builder.AddEndpoint(Endpoints[1324]); + builder.AddEndpoint(Endpoints[1325]); + builder.AddEndpoint(Endpoints[1326]); + builder.AddEndpoint(Endpoints[1327]); + builder.AddEndpoint(Endpoints[1328]); + builder.AddEndpoint(Endpoints[1329]); + builder.AddEndpoint(Endpoints[1330]); + builder.AddEndpoint(Endpoints[1331]); + builder.AddEndpoint(Endpoints[1332]); + builder.AddEndpoint(Endpoints[1333]); + builder.AddEndpoint(Endpoints[1334]); + builder.AddEndpoint(Endpoints[1335]); + builder.AddEndpoint(Endpoints[1336]); + builder.AddEndpoint(Endpoints[1337]); + builder.AddEndpoint(Endpoints[1338]); + builder.AddEndpoint(Endpoints[1339]); + builder.AddEndpoint(Endpoints[1340]); + builder.AddEndpoint(Endpoints[1341]); + builder.AddEndpoint(Endpoints[1342]); + builder.AddEndpoint(Endpoints[1343]); + builder.AddEndpoint(Endpoints[1344]); + builder.AddEndpoint(Endpoints[1345]); + builder.AddEndpoint(Endpoints[1346]); + builder.AddEndpoint(Endpoints[1347]); + builder.AddEndpoint(Endpoints[1348]); + builder.AddEndpoint(Endpoints[1349]); + builder.AddEndpoint(Endpoints[1350]); + builder.AddEndpoint(Endpoints[1351]); + builder.AddEndpoint(Endpoints[1352]); + builder.AddEndpoint(Endpoints[1353]); + builder.AddEndpoint(Endpoints[1354]); + builder.AddEndpoint(Endpoints[1355]); + builder.AddEndpoint(Endpoints[1356]); + builder.AddEndpoint(Endpoints[1357]); + builder.AddEndpoint(Endpoints[1358]); + builder.AddEndpoint(Endpoints[1359]); + builder.AddEndpoint(Endpoints[1360]); + builder.AddEndpoint(Endpoints[1361]); + builder.AddEndpoint(Endpoints[1362]); + builder.AddEndpoint(Endpoints[1363]); + builder.AddEndpoint(Endpoints[1364]); + builder.AddEndpoint(Endpoints[1365]); + builder.AddEndpoint(Endpoints[1366]); + builder.AddEndpoint(Endpoints[1367]); + builder.AddEndpoint(Endpoints[1368]); + builder.AddEndpoint(Endpoints[1369]); + builder.AddEndpoint(Endpoints[1370]); + builder.AddEndpoint(Endpoints[1371]); + builder.AddEndpoint(Endpoints[1372]); + builder.AddEndpoint(Endpoints[1373]); + builder.AddEndpoint(Endpoints[1374]); + builder.AddEndpoint(Endpoints[1375]); + builder.AddEndpoint(Endpoints[1376]); + builder.AddEndpoint(Endpoints[1377]); + builder.AddEndpoint(Endpoints[1378]); + builder.AddEndpoint(Endpoints[1379]); + builder.AddEndpoint(Endpoints[1380]); + builder.AddEndpoint(Endpoints[1381]); + builder.AddEndpoint(Endpoints[1382]); + builder.AddEndpoint(Endpoints[1383]); + builder.AddEndpoint(Endpoints[1384]); + builder.AddEndpoint(Endpoints[1385]); + builder.AddEndpoint(Endpoints[1386]); + builder.AddEndpoint(Endpoints[1387]); + builder.AddEndpoint(Endpoints[1388]); + builder.AddEndpoint(Endpoints[1389]); + builder.AddEndpoint(Endpoints[1390]); + builder.AddEndpoint(Endpoints[1391]); + builder.AddEndpoint(Endpoints[1392]); + builder.AddEndpoint(Endpoints[1393]); + builder.AddEndpoint(Endpoints[1394]); + builder.AddEndpoint(Endpoints[1395]); + builder.AddEndpoint(Endpoints[1396]); + builder.AddEndpoint(Endpoints[1397]); + builder.AddEndpoint(Endpoints[1398]); + builder.AddEndpoint(Endpoints[1399]); + builder.AddEndpoint(Endpoints[1400]); + builder.AddEndpoint(Endpoints[1401]); + builder.AddEndpoint(Endpoints[1402]); + builder.AddEndpoint(Endpoints[1403]); + builder.AddEndpoint(Endpoints[1404]); + builder.AddEndpoint(Endpoints[1405]); + builder.AddEndpoint(Endpoints[1406]); + builder.AddEndpoint(Endpoints[1407]); + builder.AddEndpoint(Endpoints[1408]); + builder.AddEndpoint(Endpoints[1409]); + builder.AddEndpoint(Endpoints[1410]); + builder.AddEndpoint(Endpoints[1411]); + builder.AddEndpoint(Endpoints[1412]); + builder.AddEndpoint(Endpoints[1413]); + builder.AddEndpoint(Endpoints[1414]); + builder.AddEndpoint(Endpoints[1415]); + builder.AddEndpoint(Endpoints[1416]); + builder.AddEndpoint(Endpoints[1417]); + builder.AddEndpoint(Endpoints[1418]); + builder.AddEndpoint(Endpoints[1419]); + builder.AddEndpoint(Endpoints[1420]); + builder.AddEndpoint(Endpoints[1421]); + builder.AddEndpoint(Endpoints[1422]); + builder.AddEndpoint(Endpoints[1423]); + builder.AddEndpoint(Endpoints[1424]); + builder.AddEndpoint(Endpoints[1425]); + builder.AddEndpoint(Endpoints[1426]); + builder.AddEndpoint(Endpoints[1427]); + builder.AddEndpoint(Endpoints[1428]); + builder.AddEndpoint(Endpoints[1429]); + builder.AddEndpoint(Endpoints[1430]); + builder.AddEndpoint(Endpoints[1431]); + builder.AddEndpoint(Endpoints[1432]); + builder.AddEndpoint(Endpoints[1433]); + builder.AddEndpoint(Endpoints[1434]); + builder.AddEndpoint(Endpoints[1435]); + builder.AddEndpoint(Endpoints[1436]); + builder.AddEndpoint(Endpoints[1437]); + builder.AddEndpoint(Endpoints[1438]); + builder.AddEndpoint(Endpoints[1439]); + builder.AddEndpoint(Endpoints[1440]); + builder.AddEndpoint(Endpoints[1441]); + builder.AddEndpoint(Endpoints[1442]); + builder.AddEndpoint(Endpoints[1443]); + builder.AddEndpoint(Endpoints[1444]); + builder.AddEndpoint(Endpoints[1445]); + builder.AddEndpoint(Endpoints[1446]); + builder.AddEndpoint(Endpoints[1447]); + builder.AddEndpoint(Endpoints[1448]); + builder.AddEndpoint(Endpoints[1449]); + builder.AddEndpoint(Endpoints[1450]); + builder.AddEndpoint(Endpoints[1451]); + builder.AddEndpoint(Endpoints[1452]); + builder.AddEndpoint(Endpoints[1453]); + builder.AddEndpoint(Endpoints[1454]); + builder.AddEndpoint(Endpoints[1455]); + builder.AddEndpoint(Endpoints[1456]); + builder.AddEndpoint(Endpoints[1457]); + builder.AddEndpoint(Endpoints[1458]); + builder.AddEndpoint(Endpoints[1459]); + builder.AddEndpoint(Endpoints[1460]); + builder.AddEndpoint(Endpoints[1461]); + builder.AddEndpoint(Endpoints[1462]); + builder.AddEndpoint(Endpoints[1463]); + builder.AddEndpoint(Endpoints[1464]); + builder.AddEndpoint(Endpoints[1465]); + builder.AddEndpoint(Endpoints[1466]); + builder.AddEndpoint(Endpoints[1467]); + builder.AddEndpoint(Endpoints[1468]); + builder.AddEndpoint(Endpoints[1469]); + builder.AddEndpoint(Endpoints[1470]); + builder.AddEndpoint(Endpoints[1471]); + builder.AddEndpoint(Endpoints[1472]); + builder.AddEndpoint(Endpoints[1473]); + builder.AddEndpoint(Endpoints[1474]); + builder.AddEndpoint(Endpoints[1475]); + builder.AddEndpoint(Endpoints[1476]); + builder.AddEndpoint(Endpoints[1477]); + builder.AddEndpoint(Endpoints[1478]); + builder.AddEndpoint(Endpoints[1479]); + builder.AddEndpoint(Endpoints[1480]); + builder.AddEndpoint(Endpoints[1481]); + builder.AddEndpoint(Endpoints[1482]); + builder.AddEndpoint(Endpoints[1483]); + builder.AddEndpoint(Endpoints[1484]); + builder.AddEndpoint(Endpoints[1485]); + builder.AddEndpoint(Endpoints[1486]); + builder.AddEndpoint(Endpoints[1487]); + builder.AddEndpoint(Endpoints[1488]); + builder.AddEndpoint(Endpoints[1489]); + builder.AddEndpoint(Endpoints[1490]); + builder.AddEndpoint(Endpoints[1491]); + builder.AddEndpoint(Endpoints[1492]); + builder.AddEndpoint(Endpoints[1493]); + builder.AddEndpoint(Endpoints[1494]); + builder.AddEndpoint(Endpoints[1495]); + builder.AddEndpoint(Endpoints[1496]); + builder.AddEndpoint(Endpoints[1497]); + builder.AddEndpoint(Endpoints[1498]); + builder.AddEndpoint(Endpoints[1499]); + builder.AddEndpoint(Endpoints[1500]); + builder.AddEndpoint(Endpoints[1501]); + builder.AddEndpoint(Endpoints[1502]); + builder.AddEndpoint(Endpoints[1503]); + builder.AddEndpoint(Endpoints[1504]); + builder.AddEndpoint(Endpoints[1505]); + builder.AddEndpoint(Endpoints[1506]); + builder.AddEndpoint(Endpoints[1507]); + builder.AddEndpoint(Endpoints[1508]); + builder.AddEndpoint(Endpoints[1509]); + builder.AddEndpoint(Endpoints[1510]); + builder.AddEndpoint(Endpoints[1511]); + builder.AddEndpoint(Endpoints[1512]); + builder.AddEndpoint(Endpoints[1513]); + builder.AddEndpoint(Endpoints[1514]); + builder.AddEndpoint(Endpoints[1515]); + builder.AddEndpoint(Endpoints[1516]); + builder.AddEndpoint(Endpoints[1517]); + builder.AddEndpoint(Endpoints[1518]); + builder.AddEndpoint(Endpoints[1519]); + builder.AddEndpoint(Endpoints[1520]); + builder.AddEndpoint(Endpoints[1521]); + builder.AddEndpoint(Endpoints[1522]); + builder.AddEndpoint(Endpoints[1523]); + builder.AddEndpoint(Endpoints[1524]); + builder.AddEndpoint(Endpoints[1525]); + builder.AddEndpoint(Endpoints[1526]); + builder.AddEndpoint(Endpoints[1527]); + builder.AddEndpoint(Endpoints[1528]); + builder.AddEndpoint(Endpoints[1529]); + builder.AddEndpoint(Endpoints[1530]); + builder.AddEndpoint(Endpoints[1531]); + builder.AddEndpoint(Endpoints[1532]); + builder.AddEndpoint(Endpoints[1533]); + builder.AddEndpoint(Endpoints[1534]); + builder.AddEndpoint(Endpoints[1535]); + builder.AddEndpoint(Endpoints[1536]); + builder.AddEndpoint(Endpoints[1537]); + builder.AddEndpoint(Endpoints[1538]); + builder.AddEndpoint(Endpoints[1539]); + builder.AddEndpoint(Endpoints[1540]); + builder.AddEndpoint(Endpoints[1541]); + builder.AddEndpoint(Endpoints[1542]); + builder.AddEndpoint(Endpoints[1543]); + builder.AddEndpoint(Endpoints[1544]); + builder.AddEndpoint(Endpoints[1545]); + builder.AddEndpoint(Endpoints[1546]); + builder.AddEndpoint(Endpoints[1547]); + builder.AddEndpoint(Endpoints[1548]); + builder.AddEndpoint(Endpoints[1549]); + builder.AddEndpoint(Endpoints[1550]); + builder.AddEndpoint(Endpoints[1551]); + builder.AddEndpoint(Endpoints[1552]); + builder.AddEndpoint(Endpoints[1553]); + builder.AddEndpoint(Endpoints[1554]); + builder.AddEndpoint(Endpoints[1555]); + builder.AddEndpoint(Endpoints[1556]); + builder.AddEndpoint(Endpoints[1557]); + builder.AddEndpoint(Endpoints[1558]); + builder.AddEndpoint(Endpoints[1559]); + builder.AddEndpoint(Endpoints[1560]); + builder.AddEndpoint(Endpoints[1561]); + builder.AddEndpoint(Endpoints[1562]); + builder.AddEndpoint(Endpoints[1563]); + builder.AddEndpoint(Endpoints[1564]); + builder.AddEndpoint(Endpoints[1565]); + builder.AddEndpoint(Endpoints[1566]); + builder.AddEndpoint(Endpoints[1567]); + builder.AddEndpoint(Endpoints[1568]); + builder.AddEndpoint(Endpoints[1569]); + builder.AddEndpoint(Endpoints[1570]); + builder.AddEndpoint(Endpoints[1571]); + builder.AddEndpoint(Endpoints[1572]); + builder.AddEndpoint(Endpoints[1573]); + builder.AddEndpoint(Endpoints[1574]); + builder.AddEndpoint(Endpoints[1575]); + builder.AddEndpoint(Endpoints[1576]); + builder.AddEndpoint(Endpoints[1577]); + builder.AddEndpoint(Endpoints[1578]); + builder.AddEndpoint(Endpoints[1579]); + builder.AddEndpoint(Endpoints[1580]); + builder.AddEndpoint(Endpoints[1581]); + builder.AddEndpoint(Endpoints[1582]); + builder.AddEndpoint(Endpoints[1583]); + builder.AddEndpoint(Endpoints[1584]); + builder.AddEndpoint(Endpoints[1585]); + builder.AddEndpoint(Endpoints[1586]); + builder.AddEndpoint(Endpoints[1587]); + builder.AddEndpoint(Endpoints[1588]); + builder.AddEndpoint(Endpoints[1589]); + builder.AddEndpoint(Endpoints[1590]); + builder.AddEndpoint(Endpoints[1591]); + builder.AddEndpoint(Endpoints[1592]); + builder.AddEndpoint(Endpoints[1593]); + builder.AddEndpoint(Endpoints[1594]); + builder.AddEndpoint(Endpoints[1595]); + builder.AddEndpoint(Endpoints[1596]); + builder.AddEndpoint(Endpoints[1597]); + builder.AddEndpoint(Endpoints[1598]); + builder.AddEndpoint(Endpoints[1599]); + builder.AddEndpoint(Endpoints[1600]); + builder.AddEndpoint(Endpoints[1601]); + builder.AddEndpoint(Endpoints[1602]); + builder.AddEndpoint(Endpoints[1603]); + builder.AddEndpoint(Endpoints[1604]); + builder.AddEndpoint(Endpoints[1605]); + builder.AddEndpoint(Endpoints[1606]); + builder.AddEndpoint(Endpoints[1607]); + builder.AddEndpoint(Endpoints[1608]); + builder.AddEndpoint(Endpoints[1609]); + builder.AddEndpoint(Endpoints[1610]); + builder.AddEndpoint(Endpoints[1611]); + builder.AddEndpoint(Endpoints[1612]); + builder.AddEndpoint(Endpoints[1613]); + builder.AddEndpoint(Endpoints[1614]); + builder.AddEndpoint(Endpoints[1615]); + builder.AddEndpoint(Endpoints[1616]); + builder.AddEndpoint(Endpoints[1617]); + builder.AddEndpoint(Endpoints[1618]); + builder.AddEndpoint(Endpoints[1619]); + builder.AddEndpoint(Endpoints[1620]); + builder.AddEndpoint(Endpoints[1621]); + builder.AddEndpoint(Endpoints[1622]); + builder.AddEndpoint(Endpoints[1623]); + builder.AddEndpoint(Endpoints[1624]); + builder.AddEndpoint(Endpoints[1625]); + builder.AddEndpoint(Endpoints[1626]); + builder.AddEndpoint(Endpoints[1627]); + builder.AddEndpoint(Endpoints[1628]); + builder.AddEndpoint(Endpoints[1629]); + builder.AddEndpoint(Endpoints[1630]); + builder.AddEndpoint(Endpoints[1631]); + builder.AddEndpoint(Endpoints[1632]); + builder.AddEndpoint(Endpoints[1633]); + builder.AddEndpoint(Endpoints[1634]); + builder.AddEndpoint(Endpoints[1635]); + builder.AddEndpoint(Endpoints[1636]); + builder.AddEndpoint(Endpoints[1637]); + builder.AddEndpoint(Endpoints[1638]); + builder.AddEndpoint(Endpoints[1639]); + builder.AddEndpoint(Endpoints[1640]); + builder.AddEndpoint(Endpoints[1641]); + builder.AddEndpoint(Endpoints[1642]); + builder.AddEndpoint(Endpoints[1643]); + builder.AddEndpoint(Endpoints[1644]); + builder.AddEndpoint(Endpoints[1645]); + builder.AddEndpoint(Endpoints[1646]); + builder.AddEndpoint(Endpoints[1647]); + builder.AddEndpoint(Endpoints[1648]); + builder.AddEndpoint(Endpoints[1649]); + builder.AddEndpoint(Endpoints[1650]); + builder.AddEndpoint(Endpoints[1651]); + builder.AddEndpoint(Endpoints[1652]); + builder.AddEndpoint(Endpoints[1653]); + builder.AddEndpoint(Endpoints[1654]); + builder.AddEndpoint(Endpoints[1655]); + builder.AddEndpoint(Endpoints[1656]); + builder.AddEndpoint(Endpoints[1657]); + builder.AddEndpoint(Endpoints[1658]); + builder.AddEndpoint(Endpoints[1659]); + builder.AddEndpoint(Endpoints[1660]); + builder.AddEndpoint(Endpoints[1661]); + builder.AddEndpoint(Endpoints[1662]); + builder.AddEndpoint(Endpoints[1663]); + builder.AddEndpoint(Endpoints[1664]); + builder.AddEndpoint(Endpoints[1665]); + builder.AddEndpoint(Endpoints[1666]); + builder.AddEndpoint(Endpoints[1667]); + builder.AddEndpoint(Endpoints[1668]); + builder.AddEndpoint(Endpoints[1669]); + builder.AddEndpoint(Endpoints[1670]); + builder.AddEndpoint(Endpoints[1671]); + builder.AddEndpoint(Endpoints[1672]); + builder.AddEndpoint(Endpoints[1673]); + builder.AddEndpoint(Endpoints[1674]); + builder.AddEndpoint(Endpoints[1675]); + builder.AddEndpoint(Endpoints[1676]); + builder.AddEndpoint(Endpoints[1677]); + builder.AddEndpoint(Endpoints[1678]); + builder.AddEndpoint(Endpoints[1679]); + builder.AddEndpoint(Endpoints[1680]); + builder.AddEndpoint(Endpoints[1681]); + builder.AddEndpoint(Endpoints[1682]); + builder.AddEndpoint(Endpoints[1683]); + builder.AddEndpoint(Endpoints[1684]); + builder.AddEndpoint(Endpoints[1685]); + builder.AddEndpoint(Endpoints[1686]); + builder.AddEndpoint(Endpoints[1687]); + builder.AddEndpoint(Endpoints[1688]); + builder.AddEndpoint(Endpoints[1689]); + builder.AddEndpoint(Endpoints[1690]); + builder.AddEndpoint(Endpoints[1691]); + builder.AddEndpoint(Endpoints[1692]); + builder.AddEndpoint(Endpoints[1693]); + builder.AddEndpoint(Endpoints[1694]); + builder.AddEndpoint(Endpoints[1695]); + builder.AddEndpoint(Endpoints[1696]); + builder.AddEndpoint(Endpoints[1697]); + builder.AddEndpoint(Endpoints[1698]); + builder.AddEndpoint(Endpoints[1699]); + builder.AddEndpoint(Endpoints[1700]); + builder.AddEndpoint(Endpoints[1701]); + builder.AddEndpoint(Endpoints[1702]); + builder.AddEndpoint(Endpoints[1703]); + builder.AddEndpoint(Endpoints[1704]); + builder.AddEndpoint(Endpoints[1705]); + builder.AddEndpoint(Endpoints[1706]); + builder.AddEndpoint(Endpoints[1707]); + builder.AddEndpoint(Endpoints[1708]); + builder.AddEndpoint(Endpoints[1709]); + builder.AddEndpoint(Endpoints[1710]); + builder.AddEndpoint(Endpoints[1711]); + builder.AddEndpoint(Endpoints[1712]); + builder.AddEndpoint(Endpoints[1713]); + builder.AddEndpoint(Endpoints[1714]); + builder.AddEndpoint(Endpoints[1715]); + builder.AddEndpoint(Endpoints[1716]); + builder.AddEndpoint(Endpoints[1717]); + builder.AddEndpoint(Endpoints[1718]); + builder.AddEndpoint(Endpoints[1719]); + builder.AddEndpoint(Endpoints[1720]); + builder.AddEndpoint(Endpoints[1721]); + builder.AddEndpoint(Endpoints[1722]); + builder.AddEndpoint(Endpoints[1723]); + builder.AddEndpoint(Endpoints[1724]); + builder.AddEndpoint(Endpoints[1725]); + builder.AddEndpoint(Endpoints[1726]); + builder.AddEndpoint(Endpoints[1727]); + builder.AddEndpoint(Endpoints[1728]); + builder.AddEndpoint(Endpoints[1729]); + builder.AddEndpoint(Endpoints[1730]); + builder.AddEndpoint(Endpoints[1731]); + builder.AddEndpoint(Endpoints[1732]); + builder.AddEndpoint(Endpoints[1733]); + builder.AddEndpoint(Endpoints[1734]); + builder.AddEndpoint(Endpoints[1735]); + builder.AddEndpoint(Endpoints[1736]); + builder.AddEndpoint(Endpoints[1737]); + builder.AddEndpoint(Endpoints[1738]); + builder.AddEndpoint(Endpoints[1739]); + builder.AddEndpoint(Endpoints[1740]); + builder.AddEndpoint(Endpoints[1741]); + builder.AddEndpoint(Endpoints[1742]); + builder.AddEndpoint(Endpoints[1743]); + builder.AddEndpoint(Endpoints[1744]); + builder.AddEndpoint(Endpoints[1745]); + builder.AddEndpoint(Endpoints[1746]); + builder.AddEndpoint(Endpoints[1747]); + builder.AddEndpoint(Endpoints[1748]); + builder.AddEndpoint(Endpoints[1749]); + builder.AddEndpoint(Endpoints[1750]); + builder.AddEndpoint(Endpoints[1751]); + builder.AddEndpoint(Endpoints[1752]); + builder.AddEndpoint(Endpoints[1753]); + builder.AddEndpoint(Endpoints[1754]); + builder.AddEndpoint(Endpoints[1755]); + builder.AddEndpoint(Endpoints[1756]); + builder.AddEndpoint(Endpoints[1757]); + builder.AddEndpoint(Endpoints[1758]); + builder.AddEndpoint(Endpoints[1759]); + builder.AddEndpoint(Endpoints[1760]); + builder.AddEndpoint(Endpoints[1761]); + builder.AddEndpoint(Endpoints[1762]); + builder.AddEndpoint(Endpoints[1763]); + builder.AddEndpoint(Endpoints[1764]); + builder.AddEndpoint(Endpoints[1765]); + builder.AddEndpoint(Endpoints[1766]); + builder.AddEndpoint(Endpoints[1767]); + builder.AddEndpoint(Endpoints[1768]); + builder.AddEndpoint(Endpoints[1769]); + builder.AddEndpoint(Endpoints[1770]); + builder.AddEndpoint(Endpoints[1771]); + builder.AddEndpoint(Endpoints[1772]); + builder.AddEndpoint(Endpoints[1773]); + builder.AddEndpoint(Endpoints[1774]); + builder.AddEndpoint(Endpoints[1775]); + builder.AddEndpoint(Endpoints[1776]); + builder.AddEndpoint(Endpoints[1777]); + builder.AddEndpoint(Endpoints[1778]); + builder.AddEndpoint(Endpoints[1779]); + builder.AddEndpoint(Endpoints[1780]); + builder.AddEndpoint(Endpoints[1781]); + builder.AddEndpoint(Endpoints[1782]); + builder.AddEndpoint(Endpoints[1783]); + builder.AddEndpoint(Endpoints[1784]); + builder.AddEndpoint(Endpoints[1785]); + builder.AddEndpoint(Endpoints[1786]); + builder.AddEndpoint(Endpoints[1787]); + builder.AddEndpoint(Endpoints[1788]); + builder.AddEndpoint(Endpoints[1789]); + builder.AddEndpoint(Endpoints[1790]); + builder.AddEndpoint(Endpoints[1791]); + builder.AddEndpoint(Endpoints[1792]); + builder.AddEndpoint(Endpoints[1793]); + builder.AddEndpoint(Endpoints[1794]); + builder.AddEndpoint(Endpoints[1795]); + builder.AddEndpoint(Endpoints[1796]); + builder.AddEndpoint(Endpoints[1797]); + builder.AddEndpoint(Endpoints[1798]); + builder.AddEndpoint(Endpoints[1799]); + builder.AddEndpoint(Endpoints[1800]); + builder.AddEndpoint(Endpoints[1801]); + builder.AddEndpoint(Endpoints[1802]); + builder.AddEndpoint(Endpoints[1803]); + builder.AddEndpoint(Endpoints[1804]); + builder.AddEndpoint(Endpoints[1805]); + builder.AddEndpoint(Endpoints[1806]); + builder.AddEndpoint(Endpoints[1807]); + builder.AddEndpoint(Endpoints[1808]); + builder.AddEndpoint(Endpoints[1809]); + builder.AddEndpoint(Endpoints[1810]); + builder.AddEndpoint(Endpoints[1811]); + builder.AddEndpoint(Endpoints[1812]); + builder.AddEndpoint(Endpoints[1813]); + builder.AddEndpoint(Endpoints[1814]); + builder.AddEndpoint(Endpoints[1815]); + builder.AddEndpoint(Endpoints[1816]); + builder.AddEndpoint(Endpoints[1817]); + builder.AddEndpoint(Endpoints[1818]); + builder.AddEndpoint(Endpoints[1819]); + builder.AddEndpoint(Endpoints[1820]); + builder.AddEndpoint(Endpoints[1821]); + builder.AddEndpoint(Endpoints[1822]); + builder.AddEndpoint(Endpoints[1823]); + builder.AddEndpoint(Endpoints[1824]); + builder.AddEndpoint(Endpoints[1825]); + builder.AddEndpoint(Endpoints[1826]); + builder.AddEndpoint(Endpoints[1827]); + builder.AddEndpoint(Endpoints[1828]); + builder.AddEndpoint(Endpoints[1829]); + builder.AddEndpoint(Endpoints[1830]); + builder.AddEndpoint(Endpoints[1831]); + builder.AddEndpoint(Endpoints[1832]); + builder.AddEndpoint(Endpoints[1833]); + builder.AddEndpoint(Endpoints[1834]); + builder.AddEndpoint(Endpoints[1835]); + builder.AddEndpoint(Endpoints[1836]); + builder.AddEndpoint(Endpoints[1837]); + builder.AddEndpoint(Endpoints[1838]); + builder.AddEndpoint(Endpoints[1839]); + builder.AddEndpoint(Endpoints[1840]); + builder.AddEndpoint(Endpoints[1841]); + builder.AddEndpoint(Endpoints[1842]); + builder.AddEndpoint(Endpoints[1843]); + builder.AddEndpoint(Endpoints[1844]); + builder.AddEndpoint(Endpoints[1845]); + builder.AddEndpoint(Endpoints[1846]); + builder.AddEndpoint(Endpoints[1847]); + builder.AddEndpoint(Endpoints[1848]); + builder.AddEndpoint(Endpoints[1849]); + builder.AddEndpoint(Endpoints[1850]); + builder.AddEndpoint(Endpoints[1851]); + builder.AddEndpoint(Endpoints[1852]); + builder.AddEndpoint(Endpoints[1853]); + builder.AddEndpoint(Endpoints[1854]); + builder.AddEndpoint(Endpoints[1855]); + builder.AddEndpoint(Endpoints[1856]); + builder.AddEndpoint(Endpoints[1857]); + builder.AddEndpoint(Endpoints[1858]); + builder.AddEndpoint(Endpoints[1859]); + builder.AddEndpoint(Endpoints[1860]); + builder.AddEndpoint(Endpoints[1861]); + builder.AddEndpoint(Endpoints[1862]); + builder.AddEndpoint(Endpoints[1863]); + builder.AddEndpoint(Endpoints[1864]); + builder.AddEndpoint(Endpoints[1865]); + builder.AddEndpoint(Endpoints[1866]); + builder.AddEndpoint(Endpoints[1867]); + builder.AddEndpoint(Endpoints[1868]); + builder.AddEndpoint(Endpoints[1869]); + builder.AddEndpoint(Endpoints[1870]); + builder.AddEndpoint(Endpoints[1871]); + builder.AddEndpoint(Endpoints[1872]); + builder.AddEndpoint(Endpoints[1873]); + builder.AddEndpoint(Endpoints[1874]); + builder.AddEndpoint(Endpoints[1875]); + builder.AddEndpoint(Endpoints[1876]); + builder.AddEndpoint(Endpoints[1877]); + builder.AddEndpoint(Endpoints[1878]); + builder.AddEndpoint(Endpoints[1879]); + builder.AddEndpoint(Endpoints[1880]); + builder.AddEndpoint(Endpoints[1881]); + builder.AddEndpoint(Endpoints[1882]); + builder.AddEndpoint(Endpoints[1883]); + builder.AddEndpoint(Endpoints[1884]); + builder.AddEndpoint(Endpoints[1885]); + builder.AddEndpoint(Endpoints[1886]); + builder.AddEndpoint(Endpoints[1887]); + builder.AddEndpoint(Endpoints[1888]); + builder.AddEndpoint(Endpoints[1889]); + builder.AddEndpoint(Endpoints[1890]); + builder.AddEndpoint(Endpoints[1891]); + builder.AddEndpoint(Endpoints[1892]); + builder.AddEndpoint(Endpoints[1893]); + builder.AddEndpoint(Endpoints[1894]); + builder.AddEndpoint(Endpoints[1895]); + builder.AddEndpoint(Endpoints[1896]); + builder.AddEndpoint(Endpoints[1897]); + builder.AddEndpoint(Endpoints[1898]); + builder.AddEndpoint(Endpoints[1899]); + builder.AddEndpoint(Endpoints[1900]); + builder.AddEndpoint(Endpoints[1901]); + builder.AddEndpoint(Endpoints[1902]); + builder.AddEndpoint(Endpoints[1903]); + builder.AddEndpoint(Endpoints[1904]); + builder.AddEndpoint(Endpoints[1905]); + builder.AddEndpoint(Endpoints[1906]); + builder.AddEndpoint(Endpoints[1907]); + builder.AddEndpoint(Endpoints[1908]); + builder.AddEndpoint(Endpoints[1909]); + builder.AddEndpoint(Endpoints[1910]); + builder.AddEndpoint(Endpoints[1911]); + builder.AddEndpoint(Endpoints[1912]); + builder.AddEndpoint(Endpoints[1913]); + builder.AddEndpoint(Endpoints[1914]); + builder.AddEndpoint(Endpoints[1915]); + builder.AddEndpoint(Endpoints[1916]); + builder.AddEndpoint(Endpoints[1917]); + builder.AddEndpoint(Endpoints[1918]); + builder.AddEndpoint(Endpoints[1919]); + builder.AddEndpoint(Endpoints[1920]); + builder.AddEndpoint(Endpoints[1921]); + builder.AddEndpoint(Endpoints[1922]); + builder.AddEndpoint(Endpoints[1923]); + builder.AddEndpoint(Endpoints[1924]); + builder.AddEndpoint(Endpoints[1925]); + builder.AddEndpoint(Endpoints[1926]); + builder.AddEndpoint(Endpoints[1927]); + builder.AddEndpoint(Endpoints[1928]); + builder.AddEndpoint(Endpoints[1929]); + builder.AddEndpoint(Endpoints[1930]); + builder.AddEndpoint(Endpoints[1931]); + builder.AddEndpoint(Endpoints[1932]); + builder.AddEndpoint(Endpoints[1933]); + builder.AddEndpoint(Endpoints[1934]); + builder.AddEndpoint(Endpoints[1935]); + builder.AddEndpoint(Endpoints[1936]); + builder.AddEndpoint(Endpoints[1937]); + builder.AddEndpoint(Endpoints[1938]); + builder.AddEndpoint(Endpoints[1939]); + builder.AddEndpoint(Endpoints[1940]); + builder.AddEndpoint(Endpoints[1941]); + builder.AddEndpoint(Endpoints[1942]); + builder.AddEndpoint(Endpoints[1943]); + builder.AddEndpoint(Endpoints[1944]); + builder.AddEndpoint(Endpoints[1945]); + builder.AddEndpoint(Endpoints[1946]); + builder.AddEndpoint(Endpoints[1947]); + builder.AddEndpoint(Endpoints[1948]); + builder.AddEndpoint(Endpoints[1949]); + builder.AddEndpoint(Endpoints[1950]); + builder.AddEndpoint(Endpoints[1951]); + builder.AddEndpoint(Endpoints[1952]); + builder.AddEndpoint(Endpoints[1953]); + builder.AddEndpoint(Endpoints[1954]); + builder.AddEndpoint(Endpoints[1955]); + builder.AddEndpoint(Endpoints[1956]); + builder.AddEndpoint(Endpoints[1957]); + builder.AddEndpoint(Endpoints[1958]); + builder.AddEndpoint(Endpoints[1959]); + builder.AddEndpoint(Endpoints[1960]); + builder.AddEndpoint(Endpoints[1961]); + builder.AddEndpoint(Endpoints[1962]); + builder.AddEndpoint(Endpoints[1963]); + builder.AddEndpoint(Endpoints[1964]); + builder.AddEndpoint(Endpoints[1965]); + builder.AddEndpoint(Endpoints[1966]); + builder.AddEndpoint(Endpoints[1967]); + builder.AddEndpoint(Endpoints[1968]); + builder.AddEndpoint(Endpoints[1969]); + builder.AddEndpoint(Endpoints[1970]); + builder.AddEndpoint(Endpoints[1971]); + builder.AddEndpoint(Endpoints[1972]); + builder.AddEndpoint(Endpoints[1973]); + builder.AddEndpoint(Endpoints[1974]); + builder.AddEndpoint(Endpoints[1975]); + builder.AddEndpoint(Endpoints[1976]); + builder.AddEndpoint(Endpoints[1977]); + builder.AddEndpoint(Endpoints[1978]); + builder.AddEndpoint(Endpoints[1979]); + builder.AddEndpoint(Endpoints[1980]); + builder.AddEndpoint(Endpoints[1981]); + builder.AddEndpoint(Endpoints[1982]); + builder.AddEndpoint(Endpoints[1983]); + builder.AddEndpoint(Endpoints[1984]); + builder.AddEndpoint(Endpoints[1985]); + builder.AddEndpoint(Endpoints[1986]); + builder.AddEndpoint(Endpoints[1987]); + builder.AddEndpoint(Endpoints[1988]); + builder.AddEndpoint(Endpoints[1989]); + builder.AddEndpoint(Endpoints[1990]); + builder.AddEndpoint(Endpoints[1991]); + builder.AddEndpoint(Endpoints[1992]); + builder.AddEndpoint(Endpoints[1993]); + builder.AddEndpoint(Endpoints[1994]); + builder.AddEndpoint(Endpoints[1995]); + builder.AddEndpoint(Endpoints[1996]); + builder.AddEndpoint(Endpoints[1997]); + builder.AddEndpoint(Endpoints[1998]); + builder.AddEndpoint(Endpoints[1999]); + builder.AddEndpoint(Endpoints[2000]); + builder.AddEndpoint(Endpoints[2001]); + builder.AddEndpoint(Endpoints[2002]); + builder.AddEndpoint(Endpoints[2003]); + builder.AddEndpoint(Endpoints[2004]); + builder.AddEndpoint(Endpoints[2005]); + builder.AddEndpoint(Endpoints[2006]); + builder.AddEndpoint(Endpoints[2007]); + builder.AddEndpoint(Endpoints[2008]); + builder.AddEndpoint(Endpoints[2009]); + builder.AddEndpoint(Endpoints[2010]); + builder.AddEndpoint(Endpoints[2011]); + builder.AddEndpoint(Endpoints[2012]); + builder.AddEndpoint(Endpoints[2013]); + builder.AddEndpoint(Endpoints[2014]); + builder.AddEndpoint(Endpoints[2015]); + builder.AddEndpoint(Endpoints[2016]); + builder.AddEndpoint(Endpoints[2017]); + builder.AddEndpoint(Endpoints[2018]); + builder.AddEndpoint(Endpoints[2019]); + builder.AddEndpoint(Endpoints[2020]); + builder.AddEndpoint(Endpoints[2021]); + builder.AddEndpoint(Endpoints[2022]); + builder.AddEndpoint(Endpoints[2023]); + builder.AddEndpoint(Endpoints[2024]); + builder.AddEndpoint(Endpoints[2025]); + builder.AddEndpoint(Endpoints[2026]); + builder.AddEndpoint(Endpoints[2027]); + builder.AddEndpoint(Endpoints[2028]); + builder.AddEndpoint(Endpoints[2029]); + builder.AddEndpoint(Endpoints[2030]); + builder.AddEndpoint(Endpoints[2031]); + builder.AddEndpoint(Endpoints[2032]); + builder.AddEndpoint(Endpoints[2033]); + builder.AddEndpoint(Endpoints[2034]); + builder.AddEndpoint(Endpoints[2035]); + builder.AddEndpoint(Endpoints[2036]); + builder.AddEndpoint(Endpoints[2037]); + builder.AddEndpoint(Endpoints[2038]); + builder.AddEndpoint(Endpoints[2039]); + builder.AddEndpoint(Endpoints[2040]); + builder.AddEndpoint(Endpoints[2041]); + builder.AddEndpoint(Endpoints[2042]); + builder.AddEndpoint(Endpoints[2043]); + builder.AddEndpoint(Endpoints[2044]); + builder.AddEndpoint(Endpoints[2045]); + builder.AddEndpoint(Endpoints[2046]); + builder.AddEndpoint(Endpoints[2047]); + builder.AddEndpoint(Endpoints[2048]); + builder.AddEndpoint(Endpoints[2049]); + builder.AddEndpoint(Endpoints[2050]); + builder.AddEndpoint(Endpoints[2051]); + builder.AddEndpoint(Endpoints[2052]); + builder.AddEndpoint(Endpoints[2053]); + builder.AddEndpoint(Endpoints[2054]); + builder.AddEndpoint(Endpoints[2055]); + builder.AddEndpoint(Endpoints[2056]); + builder.AddEndpoint(Endpoints[2057]); + builder.AddEndpoint(Endpoints[2058]); + builder.AddEndpoint(Endpoints[2059]); + builder.AddEndpoint(Endpoints[2060]); + builder.AddEndpoint(Endpoints[2061]); + builder.AddEndpoint(Endpoints[2062]); + builder.AddEndpoint(Endpoints[2063]); + builder.AddEndpoint(Endpoints[2064]); + builder.AddEndpoint(Endpoints[2065]); + builder.AddEndpoint(Endpoints[2066]); + builder.AddEndpoint(Endpoints[2067]); + builder.AddEndpoint(Endpoints[2068]); + builder.AddEndpoint(Endpoints[2069]); + builder.AddEndpoint(Endpoints[2070]); + builder.AddEndpoint(Endpoints[2071]); + builder.AddEndpoint(Endpoints[2072]); + builder.AddEndpoint(Endpoints[2073]); + builder.AddEndpoint(Endpoints[2074]); + builder.AddEndpoint(Endpoints[2075]); + builder.AddEndpoint(Endpoints[2076]); + builder.AddEndpoint(Endpoints[2077]); + builder.AddEndpoint(Endpoints[2078]); + builder.AddEndpoint(Endpoints[2079]); + builder.AddEndpoint(Endpoints[2080]); + builder.AddEndpoint(Endpoints[2081]); + builder.AddEndpoint(Endpoints[2082]); + builder.AddEndpoint(Endpoints[2083]); + builder.AddEndpoint(Endpoints[2084]); + builder.AddEndpoint(Endpoints[2085]); + builder.AddEndpoint(Endpoints[2086]); + builder.AddEndpoint(Endpoints[2087]); + builder.AddEndpoint(Endpoints[2088]); + builder.AddEndpoint(Endpoints[2089]); + builder.AddEndpoint(Endpoints[2090]); + builder.AddEndpoint(Endpoints[2091]); + builder.AddEndpoint(Endpoints[2092]); + builder.AddEndpoint(Endpoints[2093]); + builder.AddEndpoint(Endpoints[2094]); + builder.AddEndpoint(Endpoints[2095]); + builder.AddEndpoint(Endpoints[2096]); + builder.AddEndpoint(Endpoints[2097]); + builder.AddEndpoint(Endpoints[2098]); + builder.AddEndpoint(Endpoints[2099]); + builder.AddEndpoint(Endpoints[2100]); + builder.AddEndpoint(Endpoints[2101]); + builder.AddEndpoint(Endpoints[2102]); + builder.AddEndpoint(Endpoints[2103]); + builder.AddEndpoint(Endpoints[2104]); + builder.AddEndpoint(Endpoints[2105]); + builder.AddEndpoint(Endpoints[2106]); + builder.AddEndpoint(Endpoints[2107]); + builder.AddEndpoint(Endpoints[2108]); + builder.AddEndpoint(Endpoints[2109]); + builder.AddEndpoint(Endpoints[2110]); + builder.AddEndpoint(Endpoints[2111]); + builder.AddEndpoint(Endpoints[2112]); + builder.AddEndpoint(Endpoints[2113]); + builder.AddEndpoint(Endpoints[2114]); + builder.AddEndpoint(Endpoints[2115]); + builder.AddEndpoint(Endpoints[2116]); + builder.AddEndpoint(Endpoints[2117]); + builder.AddEndpoint(Endpoints[2118]); + builder.AddEndpoint(Endpoints[2119]); + builder.AddEndpoint(Endpoints[2120]); + builder.AddEndpoint(Endpoints[2121]); + builder.AddEndpoint(Endpoints[2122]); + builder.AddEndpoint(Endpoints[2123]); + builder.AddEndpoint(Endpoints[2124]); + builder.AddEndpoint(Endpoints[2125]); + builder.AddEndpoint(Endpoints[2126]); + builder.AddEndpoint(Endpoints[2127]); + builder.AddEndpoint(Endpoints[2128]); + builder.AddEndpoint(Endpoints[2129]); + builder.AddEndpoint(Endpoints[2130]); + builder.AddEndpoint(Endpoints[2131]); + builder.AddEndpoint(Endpoints[2132]); + builder.AddEndpoint(Endpoints[2133]); + builder.AddEndpoint(Endpoints[2134]); + builder.AddEndpoint(Endpoints[2135]); + builder.AddEndpoint(Endpoints[2136]); + builder.AddEndpoint(Endpoints[2137]); + builder.AddEndpoint(Endpoints[2138]); + builder.AddEndpoint(Endpoints[2139]); + builder.AddEndpoint(Endpoints[2140]); + builder.AddEndpoint(Endpoints[2141]); + builder.AddEndpoint(Endpoints[2142]); + builder.AddEndpoint(Endpoints[2143]); + builder.AddEndpoint(Endpoints[2144]); + builder.AddEndpoint(Endpoints[2145]); + builder.AddEndpoint(Endpoints[2146]); + builder.AddEndpoint(Endpoints[2147]); + builder.AddEndpoint(Endpoints[2148]); + builder.AddEndpoint(Endpoints[2149]); + builder.AddEndpoint(Endpoints[2150]); + builder.AddEndpoint(Endpoints[2151]); + builder.AddEndpoint(Endpoints[2152]); + builder.AddEndpoint(Endpoints[2153]); + builder.AddEndpoint(Endpoints[2154]); + builder.AddEndpoint(Endpoints[2155]); + builder.AddEndpoint(Endpoints[2156]); + builder.AddEndpoint(Endpoints[2157]); + builder.AddEndpoint(Endpoints[2158]); + builder.AddEndpoint(Endpoints[2159]); + builder.AddEndpoint(Endpoints[2160]); + builder.AddEndpoint(Endpoints[2161]); + builder.AddEndpoint(Endpoints[2162]); + builder.AddEndpoint(Endpoints[2163]); + builder.AddEndpoint(Endpoints[2164]); + builder.AddEndpoint(Endpoints[2165]); + builder.AddEndpoint(Endpoints[2166]); + builder.AddEndpoint(Endpoints[2167]); + builder.AddEndpoint(Endpoints[2168]); + builder.AddEndpoint(Endpoints[2169]); + builder.AddEndpoint(Endpoints[2170]); + builder.AddEndpoint(Endpoints[2171]); + builder.AddEndpoint(Endpoints[2172]); + builder.AddEndpoint(Endpoints[2173]); + builder.AddEndpoint(Endpoints[2174]); + builder.AddEndpoint(Endpoints[2175]); + builder.AddEndpoint(Endpoints[2176]); + builder.AddEndpoint(Endpoints[2177]); + builder.AddEndpoint(Endpoints[2178]); + builder.AddEndpoint(Endpoints[2179]); + builder.AddEndpoint(Endpoints[2180]); + builder.AddEndpoint(Endpoints[2181]); + builder.AddEndpoint(Endpoints[2182]); + builder.AddEndpoint(Endpoints[2183]); + builder.AddEndpoint(Endpoints[2184]); + builder.AddEndpoint(Endpoints[2185]); + builder.AddEndpoint(Endpoints[2186]); + builder.AddEndpoint(Endpoints[2187]); + builder.AddEndpoint(Endpoints[2188]); + builder.AddEndpoint(Endpoints[2189]); + builder.AddEndpoint(Endpoints[2190]); + builder.AddEndpoint(Endpoints[2191]); + builder.AddEndpoint(Endpoints[2192]); + builder.AddEndpoint(Endpoints[2193]); + builder.AddEndpoint(Endpoints[2194]); + builder.AddEndpoint(Endpoints[2195]); + builder.AddEndpoint(Endpoints[2196]); + builder.AddEndpoint(Endpoints[2197]); + builder.AddEndpoint(Endpoints[2198]); + builder.AddEndpoint(Endpoints[2199]); + builder.AddEndpoint(Endpoints[2200]); + builder.AddEndpoint(Endpoints[2201]); + builder.AddEndpoint(Endpoints[2202]); + builder.AddEndpoint(Endpoints[2203]); + builder.AddEndpoint(Endpoints[2204]); + builder.AddEndpoint(Endpoints[2205]); + builder.AddEndpoint(Endpoints[2206]); + builder.AddEndpoint(Endpoints[2207]); + builder.AddEndpoint(Endpoints[2208]); + builder.AddEndpoint(Endpoints[2209]); + builder.AddEndpoint(Endpoints[2210]); + builder.AddEndpoint(Endpoints[2211]); + builder.AddEndpoint(Endpoints[2212]); + builder.AddEndpoint(Endpoints[2213]); + builder.AddEndpoint(Endpoints[2214]); + builder.AddEndpoint(Endpoints[2215]); + builder.AddEndpoint(Endpoints[2216]); + builder.AddEndpoint(Endpoints[2217]); + builder.AddEndpoint(Endpoints[2218]); + builder.AddEndpoint(Endpoints[2219]); + builder.AddEndpoint(Endpoints[2220]); + builder.AddEndpoint(Endpoints[2221]); + builder.AddEndpoint(Endpoints[2222]); + builder.AddEndpoint(Endpoints[2223]); + builder.AddEndpoint(Endpoints[2224]); + builder.AddEndpoint(Endpoints[2225]); + builder.AddEndpoint(Endpoints[2226]); + builder.AddEndpoint(Endpoints[2227]); + builder.AddEndpoint(Endpoints[2228]); + builder.AddEndpoint(Endpoints[2229]); + builder.AddEndpoint(Endpoints[2230]); + builder.AddEndpoint(Endpoints[2231]); + builder.AddEndpoint(Endpoints[2232]); + builder.AddEndpoint(Endpoints[2233]); + builder.AddEndpoint(Endpoints[2234]); + builder.AddEndpoint(Endpoints[2235]); + builder.AddEndpoint(Endpoints[2236]); + builder.AddEndpoint(Endpoints[2237]); + builder.AddEndpoint(Endpoints[2238]); + builder.AddEndpoint(Endpoints[2239]); + builder.AddEndpoint(Endpoints[2240]); + builder.AddEndpoint(Endpoints[2241]); + builder.AddEndpoint(Endpoints[2242]); + builder.AddEndpoint(Endpoints[2243]); + builder.AddEndpoint(Endpoints[2244]); + builder.AddEndpoint(Endpoints[2245]); + builder.AddEndpoint(Endpoints[2246]); + builder.AddEndpoint(Endpoints[2247]); + builder.AddEndpoint(Endpoints[2248]); + builder.AddEndpoint(Endpoints[2249]); + builder.AddEndpoint(Endpoints[2250]); + builder.AddEndpoint(Endpoints[2251]); + builder.AddEndpoint(Endpoints[2252]); + builder.AddEndpoint(Endpoints[2253]); + builder.AddEndpoint(Endpoints[2254]); + builder.AddEndpoint(Endpoints[2255]); + builder.AddEndpoint(Endpoints[2256]); + builder.AddEndpoint(Endpoints[2257]); + builder.AddEndpoint(Endpoints[2258]); + builder.AddEndpoint(Endpoints[2259]); + builder.AddEndpoint(Endpoints[2260]); + builder.AddEndpoint(Endpoints[2261]); + builder.AddEndpoint(Endpoints[2262]); + builder.AddEndpoint(Endpoints[2263]); + builder.AddEndpoint(Endpoints[2264]); + builder.AddEndpoint(Endpoints[2265]); + builder.AddEndpoint(Endpoints[2266]); + builder.AddEndpoint(Endpoints[2267]); + builder.AddEndpoint(Endpoints[2268]); + builder.AddEndpoint(Endpoints[2269]); + builder.AddEndpoint(Endpoints[2270]); + builder.AddEndpoint(Endpoints[2271]); + builder.AddEndpoint(Endpoints[2272]); + builder.AddEndpoint(Endpoints[2273]); + builder.AddEndpoint(Endpoints[2274]); + builder.AddEndpoint(Endpoints[2275]); + builder.AddEndpoint(Endpoints[2276]); + builder.AddEndpoint(Endpoints[2277]); + builder.AddEndpoint(Endpoints[2278]); + builder.AddEndpoint(Endpoints[2279]); + builder.AddEndpoint(Endpoints[2280]); + builder.AddEndpoint(Endpoints[2281]); + builder.AddEndpoint(Endpoints[2282]); + builder.AddEndpoint(Endpoints[2283]); + builder.AddEndpoint(Endpoints[2284]); + builder.AddEndpoint(Endpoints[2285]); + builder.AddEndpoint(Endpoints[2286]); + builder.AddEndpoint(Endpoints[2287]); + builder.AddEndpoint(Endpoints[2288]); + builder.AddEndpoint(Endpoints[2289]); + builder.AddEndpoint(Endpoints[2290]); + builder.AddEndpoint(Endpoints[2291]); + builder.AddEndpoint(Endpoints[2292]); + builder.AddEndpoint(Endpoints[2293]); + builder.AddEndpoint(Endpoints[2294]); + builder.AddEndpoint(Endpoints[2295]); + builder.AddEndpoint(Endpoints[2296]); + builder.AddEndpoint(Endpoints[2297]); + builder.AddEndpoint(Endpoints[2298]); + builder.AddEndpoint(Endpoints[2299]); + builder.AddEndpoint(Endpoints[2300]); + builder.AddEndpoint(Endpoints[2301]); + builder.AddEndpoint(Endpoints[2302]); + builder.AddEndpoint(Endpoints[2303]); + builder.AddEndpoint(Endpoints[2304]); + builder.AddEndpoint(Endpoints[2305]); + builder.AddEndpoint(Endpoints[2306]); + builder.AddEndpoint(Endpoints[2307]); + builder.AddEndpoint(Endpoints[2308]); + builder.AddEndpoint(Endpoints[2309]); + builder.AddEndpoint(Endpoints[2310]); + builder.AddEndpoint(Endpoints[2311]); + builder.AddEndpoint(Endpoints[2312]); + builder.AddEndpoint(Endpoints[2313]); + builder.AddEndpoint(Endpoints[2314]); + builder.AddEndpoint(Endpoints[2315]); + builder.AddEndpoint(Endpoints[2316]); + builder.AddEndpoint(Endpoints[2317]); + builder.AddEndpoint(Endpoints[2318]); + builder.AddEndpoint(Endpoints[2319]); + builder.AddEndpoint(Endpoints[2320]); + builder.AddEndpoint(Endpoints[2321]); + builder.AddEndpoint(Endpoints[2322]); + builder.AddEndpoint(Endpoints[2323]); + builder.AddEndpoint(Endpoints[2324]); + builder.AddEndpoint(Endpoints[2325]); + builder.AddEndpoint(Endpoints[2326]); + builder.AddEndpoint(Endpoints[2327]); + builder.AddEndpoint(Endpoints[2328]); + builder.AddEndpoint(Endpoints[2329]); + builder.AddEndpoint(Endpoints[2330]); + builder.AddEndpoint(Endpoints[2331]); + builder.AddEndpoint(Endpoints[2332]); + builder.AddEndpoint(Endpoints[2333]); + builder.AddEndpoint(Endpoints[2334]); + builder.AddEndpoint(Endpoints[2335]); + builder.AddEndpoint(Endpoints[2336]); + builder.AddEndpoint(Endpoints[2337]); + builder.AddEndpoint(Endpoints[2338]); + builder.AddEndpoint(Endpoints[2339]); + builder.AddEndpoint(Endpoints[2340]); + builder.AddEndpoint(Endpoints[2341]); + builder.AddEndpoint(Endpoints[2342]); + builder.AddEndpoint(Endpoints[2343]); + builder.AddEndpoint(Endpoints[2344]); + builder.AddEndpoint(Endpoints[2345]); + builder.AddEndpoint(Endpoints[2346]); + builder.AddEndpoint(Endpoints[2347]); + builder.AddEndpoint(Endpoints[2348]); + builder.AddEndpoint(Endpoints[2349]); + builder.AddEndpoint(Endpoints[2350]); + builder.AddEndpoint(Endpoints[2351]); + builder.AddEndpoint(Endpoints[2352]); + builder.AddEndpoint(Endpoints[2353]); + builder.AddEndpoint(Endpoints[2354]); + builder.AddEndpoint(Endpoints[2355]); + builder.AddEndpoint(Endpoints[2356]); + builder.AddEndpoint(Endpoints[2357]); + builder.AddEndpoint(Endpoints[2358]); + builder.AddEndpoint(Endpoints[2359]); + builder.AddEndpoint(Endpoints[2360]); + builder.AddEndpoint(Endpoints[2361]); + builder.AddEndpoint(Endpoints[2362]); + builder.AddEndpoint(Endpoints[2363]); + builder.AddEndpoint(Endpoints[2364]); + builder.AddEndpoint(Endpoints[2365]); + builder.AddEndpoint(Endpoints[2366]); + builder.AddEndpoint(Endpoints[2367]); + builder.AddEndpoint(Endpoints[2368]); + builder.AddEndpoint(Endpoints[2369]); + builder.AddEndpoint(Endpoints[2370]); + builder.AddEndpoint(Endpoints[2371]); + builder.AddEndpoint(Endpoints[2372]); + builder.AddEndpoint(Endpoints[2373]); + builder.AddEndpoint(Endpoints[2374]); + builder.AddEndpoint(Endpoints[2375]); + builder.AddEndpoint(Endpoints[2376]); + builder.AddEndpoint(Endpoints[2377]); + builder.AddEndpoint(Endpoints[2378]); + builder.AddEndpoint(Endpoints[2379]); + builder.AddEndpoint(Endpoints[2380]); + builder.AddEndpoint(Endpoints[2381]); + builder.AddEndpoint(Endpoints[2382]); + builder.AddEndpoint(Endpoints[2383]); + builder.AddEndpoint(Endpoints[2384]); + builder.AddEndpoint(Endpoints[2385]); + builder.AddEndpoint(Endpoints[2386]); + builder.AddEndpoint(Endpoints[2387]); + builder.AddEndpoint(Endpoints[2388]); + builder.AddEndpoint(Endpoints[2389]); + builder.AddEndpoint(Endpoints[2390]); + builder.AddEndpoint(Endpoints[2391]); + builder.AddEndpoint(Endpoints[2392]); + builder.AddEndpoint(Endpoints[2393]); + builder.AddEndpoint(Endpoints[2394]); + builder.AddEndpoint(Endpoints[2395]); + builder.AddEndpoint(Endpoints[2396]); + builder.AddEndpoint(Endpoints[2397]); + builder.AddEndpoint(Endpoints[2398]); + builder.AddEndpoint(Endpoints[2399]); + builder.AddEndpoint(Endpoints[2400]); + builder.AddEndpoint(Endpoints[2401]); + builder.AddEndpoint(Endpoints[2402]); + builder.AddEndpoint(Endpoints[2403]); + builder.AddEndpoint(Endpoints[2404]); + builder.AddEndpoint(Endpoints[2405]); + builder.AddEndpoint(Endpoints[2406]); + builder.AddEndpoint(Endpoints[2407]); + builder.AddEndpoint(Endpoints[2408]); + builder.AddEndpoint(Endpoints[2409]); + builder.AddEndpoint(Endpoints[2410]); + builder.AddEndpoint(Endpoints[2411]); + builder.AddEndpoint(Endpoints[2412]); + builder.AddEndpoint(Endpoints[2413]); + builder.AddEndpoint(Endpoints[2414]); + builder.AddEndpoint(Endpoints[2415]); + builder.AddEndpoint(Endpoints[2416]); + builder.AddEndpoint(Endpoints[2417]); + builder.AddEndpoint(Endpoints[2418]); + builder.AddEndpoint(Endpoints[2419]); + builder.AddEndpoint(Endpoints[2420]); + builder.AddEndpoint(Endpoints[2421]); + builder.AddEndpoint(Endpoints[2422]); + builder.AddEndpoint(Endpoints[2423]); + builder.AddEndpoint(Endpoints[2424]); + builder.AddEndpoint(Endpoints[2425]); + builder.AddEndpoint(Endpoints[2426]); + builder.AddEndpoint(Endpoints[2427]); + builder.AddEndpoint(Endpoints[2428]); + builder.AddEndpoint(Endpoints[2429]); + builder.AddEndpoint(Endpoints[2430]); + builder.AddEndpoint(Endpoints[2431]); + builder.AddEndpoint(Endpoints[2432]); + builder.AddEndpoint(Endpoints[2433]); + builder.AddEndpoint(Endpoints[2434]); + builder.AddEndpoint(Endpoints[2435]); + builder.AddEndpoint(Endpoints[2436]); + builder.AddEndpoint(Endpoints[2437]); + builder.AddEndpoint(Endpoints[2438]); + builder.AddEndpoint(Endpoints[2439]); + builder.AddEndpoint(Endpoints[2440]); + builder.AddEndpoint(Endpoints[2441]); + builder.AddEndpoint(Endpoints[2442]); + builder.AddEndpoint(Endpoints[2443]); + builder.AddEndpoint(Endpoints[2444]); + builder.AddEndpoint(Endpoints[2445]); + builder.AddEndpoint(Endpoints[2446]); + builder.AddEndpoint(Endpoints[2447]); + builder.AddEndpoint(Endpoints[2448]); + builder.AddEndpoint(Endpoints[2449]); + builder.AddEndpoint(Endpoints[2450]); + builder.AddEndpoint(Endpoints[2451]); + builder.AddEndpoint(Endpoints[2452]); + builder.AddEndpoint(Endpoints[2453]); + builder.AddEndpoint(Endpoints[2454]); + builder.AddEndpoint(Endpoints[2455]); + builder.AddEndpoint(Endpoints[2456]); + builder.AddEndpoint(Endpoints[2457]); + builder.AddEndpoint(Endpoints[2458]); + builder.AddEndpoint(Endpoints[2459]); + builder.AddEndpoint(Endpoints[2460]); + builder.AddEndpoint(Endpoints[2461]); + builder.AddEndpoint(Endpoints[2462]); + builder.AddEndpoint(Endpoints[2463]); + builder.AddEndpoint(Endpoints[2464]); + builder.AddEndpoint(Endpoints[2465]); + builder.AddEndpoint(Endpoints[2466]); + builder.AddEndpoint(Endpoints[2467]); + builder.AddEndpoint(Endpoints[2468]); + builder.AddEndpoint(Endpoints[2469]); + builder.AddEndpoint(Endpoints[2470]); + builder.AddEndpoint(Endpoints[2471]); + builder.AddEndpoint(Endpoints[2472]); + builder.AddEndpoint(Endpoints[2473]); + builder.AddEndpoint(Endpoints[2474]); + builder.AddEndpoint(Endpoints[2475]); + builder.AddEndpoint(Endpoints[2476]); + builder.AddEndpoint(Endpoints[2477]); + builder.AddEndpoint(Endpoints[2478]); + builder.AddEndpoint(Endpoints[2479]); + builder.AddEndpoint(Endpoints[2480]); + builder.AddEndpoint(Endpoints[2481]); + builder.AddEndpoint(Endpoints[2482]); + builder.AddEndpoint(Endpoints[2483]); + builder.AddEndpoint(Endpoints[2484]); + builder.AddEndpoint(Endpoints[2485]); + builder.AddEndpoint(Endpoints[2486]); + builder.AddEndpoint(Endpoints[2487]); + builder.AddEndpoint(Endpoints[2488]); + builder.AddEndpoint(Endpoints[2489]); + builder.AddEndpoint(Endpoints[2490]); + builder.AddEndpoint(Endpoints[2491]); + builder.AddEndpoint(Endpoints[2492]); + builder.AddEndpoint(Endpoints[2493]); + builder.AddEndpoint(Endpoints[2494]); + builder.AddEndpoint(Endpoints[2495]); + builder.AddEndpoint(Endpoints[2496]); + builder.AddEndpoint(Endpoints[2497]); + builder.AddEndpoint(Endpoints[2498]); + builder.AddEndpoint(Endpoints[2499]); + builder.AddEndpoint(Endpoints[2500]); + builder.AddEndpoint(Endpoints[2501]); + builder.AddEndpoint(Endpoints[2502]); + builder.AddEndpoint(Endpoints[2503]); + builder.AddEndpoint(Endpoints[2504]); + builder.AddEndpoint(Endpoints[2505]); + builder.AddEndpoint(Endpoints[2506]); + builder.AddEndpoint(Endpoints[2507]); + builder.AddEndpoint(Endpoints[2508]); + builder.AddEndpoint(Endpoints[2509]); + builder.AddEndpoint(Endpoints[2510]); + builder.AddEndpoint(Endpoints[2511]); + builder.AddEndpoint(Endpoints[2512]); + builder.AddEndpoint(Endpoints[2513]); + builder.AddEndpoint(Endpoints[2514]); + builder.AddEndpoint(Endpoints[2515]); + builder.AddEndpoint(Endpoints[2516]); + builder.AddEndpoint(Endpoints[2517]); + builder.AddEndpoint(Endpoints[2518]); + builder.AddEndpoint(Endpoints[2519]); + builder.AddEndpoint(Endpoints[2520]); + builder.AddEndpoint(Endpoints[2521]); + builder.AddEndpoint(Endpoints[2522]); + builder.AddEndpoint(Endpoints[2523]); + builder.AddEndpoint(Endpoints[2524]); + builder.AddEndpoint(Endpoints[2525]); + builder.AddEndpoint(Endpoints[2526]); + builder.AddEndpoint(Endpoints[2527]); + builder.AddEndpoint(Endpoints[2528]); + builder.AddEndpoint(Endpoints[2529]); + builder.AddEndpoint(Endpoints[2530]); + builder.AddEndpoint(Endpoints[2531]); + builder.AddEndpoint(Endpoints[2532]); + builder.AddEndpoint(Endpoints[2533]); + builder.AddEndpoint(Endpoints[2534]); + builder.AddEndpoint(Endpoints[2535]); + builder.AddEndpoint(Endpoints[2536]); + builder.AddEndpoint(Endpoints[2537]); + builder.AddEndpoint(Endpoints[2538]); + builder.AddEndpoint(Endpoints[2539]); + builder.AddEndpoint(Endpoints[2540]); + builder.AddEndpoint(Endpoints[2541]); + builder.AddEndpoint(Endpoints[2542]); + builder.AddEndpoint(Endpoints[2543]); + builder.AddEndpoint(Endpoints[2544]); + builder.AddEndpoint(Endpoints[2545]); + builder.AddEndpoint(Endpoints[2546]); + builder.AddEndpoint(Endpoints[2547]); + builder.AddEndpoint(Endpoints[2548]); + builder.AddEndpoint(Endpoints[2549]); + builder.AddEndpoint(Endpoints[2550]); + builder.AddEndpoint(Endpoints[2551]); + builder.AddEndpoint(Endpoints[2552]); + builder.AddEndpoint(Endpoints[2553]); + builder.AddEndpoint(Endpoints[2554]); + builder.AddEndpoint(Endpoints[2555]); + builder.AddEndpoint(Endpoints[2556]); + builder.AddEndpoint(Endpoints[2557]); + builder.AddEndpoint(Endpoints[2558]); + builder.AddEndpoint(Endpoints[2559]); + builder.AddEndpoint(Endpoints[2560]); + builder.AddEndpoint(Endpoints[2561]); + builder.AddEndpoint(Endpoints[2562]); + builder.AddEndpoint(Endpoints[2563]); + builder.AddEndpoint(Endpoints[2564]); + builder.AddEndpoint(Endpoints[2565]); + builder.AddEndpoint(Endpoints[2566]); + builder.AddEndpoint(Endpoints[2567]); + builder.AddEndpoint(Endpoints[2568]); + builder.AddEndpoint(Endpoints[2569]); + builder.AddEndpoint(Endpoints[2570]); + builder.AddEndpoint(Endpoints[2571]); + builder.AddEndpoint(Endpoints[2572]); + builder.AddEndpoint(Endpoints[2573]); + builder.AddEndpoint(Endpoints[2574]); + builder.AddEndpoint(Endpoints[2575]); + builder.AddEndpoint(Endpoints[2576]); + builder.AddEndpoint(Endpoints[2577]); + builder.AddEndpoint(Endpoints[2578]); + builder.AddEndpoint(Endpoints[2579]); + builder.AddEndpoint(Endpoints[2580]); + builder.AddEndpoint(Endpoints[2581]); + builder.AddEndpoint(Endpoints[2582]); + builder.AddEndpoint(Endpoints[2583]); + builder.AddEndpoint(Endpoints[2584]); + builder.AddEndpoint(Endpoints[2585]); + builder.AddEndpoint(Endpoints[2586]); + builder.AddEndpoint(Endpoints[2587]); + builder.AddEndpoint(Endpoints[2588]); + builder.AddEndpoint(Endpoints[2589]); + builder.AddEndpoint(Endpoints[2590]); + builder.AddEndpoint(Endpoints[2591]); + builder.AddEndpoint(Endpoints[2592]); + builder.AddEndpoint(Endpoints[2593]); + builder.AddEndpoint(Endpoints[2594]); + builder.AddEndpoint(Endpoints[2595]); + builder.AddEndpoint(Endpoints[2596]); + builder.AddEndpoint(Endpoints[2597]); + builder.AddEndpoint(Endpoints[2598]); + builder.AddEndpoint(Endpoints[2599]); + builder.AddEndpoint(Endpoints[2600]); + builder.AddEndpoint(Endpoints[2601]); + builder.AddEndpoint(Endpoints[2602]); + builder.AddEndpoint(Endpoints[2603]); + builder.AddEndpoint(Endpoints[2604]); + builder.AddEndpoint(Endpoints[2605]); + builder.AddEndpoint(Endpoints[2606]); + builder.AddEndpoint(Endpoints[2607]); + builder.AddEndpoint(Endpoints[2608]); + builder.AddEndpoint(Endpoints[2609]); + builder.AddEndpoint(Endpoints[2610]); + builder.AddEndpoint(Endpoints[2611]); + builder.AddEndpoint(Endpoints[2612]); + builder.AddEndpoint(Endpoints[2613]); + builder.AddEndpoint(Endpoints[2614]); + builder.AddEndpoint(Endpoints[2615]); + builder.AddEndpoint(Endpoints[2616]); + builder.AddEndpoint(Endpoints[2617]); + builder.AddEndpoint(Endpoints[2618]); + builder.AddEndpoint(Endpoints[2619]); + builder.AddEndpoint(Endpoints[2620]); + builder.AddEndpoint(Endpoints[2621]); + builder.AddEndpoint(Endpoints[2622]); + builder.AddEndpoint(Endpoints[2623]); + builder.AddEndpoint(Endpoints[2624]); + builder.AddEndpoint(Endpoints[2625]); + builder.AddEndpoint(Endpoints[2626]); + builder.AddEndpoint(Endpoints[2627]); + builder.AddEndpoint(Endpoints[2628]); + builder.AddEndpoint(Endpoints[2629]); + builder.AddEndpoint(Endpoints[2630]); + builder.AddEndpoint(Endpoints[2631]); + builder.AddEndpoint(Endpoints[2632]); + builder.AddEndpoint(Endpoints[2633]); + builder.AddEndpoint(Endpoints[2634]); + builder.AddEndpoint(Endpoints[2635]); + builder.AddEndpoint(Endpoints[2636]); + builder.AddEndpoint(Endpoints[2637]); + builder.AddEndpoint(Endpoints[2638]); + builder.AddEndpoint(Endpoints[2639]); + builder.AddEndpoint(Endpoints[2640]); + builder.AddEndpoint(Endpoints[2641]); + builder.AddEndpoint(Endpoints[2642]); + builder.AddEndpoint(Endpoints[2643]); + builder.AddEndpoint(Endpoints[2644]); + builder.AddEndpoint(Endpoints[2645]); + builder.AddEndpoint(Endpoints[2646]); + builder.AddEndpoint(Endpoints[2647]); + builder.AddEndpoint(Endpoints[2648]); + builder.AddEndpoint(Endpoints[2649]); + builder.AddEndpoint(Endpoints[2650]); + builder.AddEndpoint(Endpoints[2651]); + builder.AddEndpoint(Endpoints[2652]); + builder.AddEndpoint(Endpoints[2653]); + builder.AddEndpoint(Endpoints[2654]); + builder.AddEndpoint(Endpoints[2655]); + builder.AddEndpoint(Endpoints[2656]); + builder.AddEndpoint(Endpoints[2657]); + builder.AddEndpoint(Endpoints[2658]); + builder.AddEndpoint(Endpoints[2659]); + builder.AddEndpoint(Endpoints[2660]); + builder.AddEndpoint(Endpoints[2661]); + builder.AddEndpoint(Endpoints[2662]); + builder.AddEndpoint(Endpoints[2663]); + builder.AddEndpoint(Endpoints[2664]); + builder.AddEndpoint(Endpoints[2665]); + builder.AddEndpoint(Endpoints[2666]); + builder.AddEndpoint(Endpoints[2667]); + builder.AddEndpoint(Endpoints[2668]); + builder.AddEndpoint(Endpoints[2669]); + builder.AddEndpoint(Endpoints[2670]); + builder.AddEndpoint(Endpoints[2671]); + builder.AddEndpoint(Endpoints[2672]); + builder.AddEndpoint(Endpoints[2673]); + builder.AddEndpoint(Endpoints[2674]); + builder.AddEndpoint(Endpoints[2675]); + builder.AddEndpoint(Endpoints[2676]); + builder.AddEndpoint(Endpoints[2677]); + builder.AddEndpoint(Endpoints[2678]); + builder.AddEndpoint(Endpoints[2679]); + builder.AddEndpoint(Endpoints[2680]); + builder.AddEndpoint(Endpoints[2681]); + builder.AddEndpoint(Endpoints[2682]); + builder.AddEndpoint(Endpoints[2683]); + builder.AddEndpoint(Endpoints[2684]); + builder.AddEndpoint(Endpoints[2685]); + builder.AddEndpoint(Endpoints[2686]); + builder.AddEndpoint(Endpoints[2687]); + builder.AddEndpoint(Endpoints[2688]); + builder.AddEndpoint(Endpoints[2689]); + builder.AddEndpoint(Endpoints[2690]); + builder.AddEndpoint(Endpoints[2691]); + builder.AddEndpoint(Endpoints[2692]); + builder.AddEndpoint(Endpoints[2693]); + builder.AddEndpoint(Endpoints[2694]); + builder.AddEndpoint(Endpoints[2695]); + builder.AddEndpoint(Endpoints[2696]); + builder.AddEndpoint(Endpoints[2697]); + builder.AddEndpoint(Endpoints[2698]); + builder.AddEndpoint(Endpoints[2699]); + builder.AddEndpoint(Endpoints[2700]); + builder.AddEndpoint(Endpoints[2701]); + builder.AddEndpoint(Endpoints[2702]); + builder.AddEndpoint(Endpoints[2703]); + builder.AddEndpoint(Endpoints[2704]); + builder.AddEndpoint(Endpoints[2705]); + builder.AddEndpoint(Endpoints[2706]); + builder.AddEndpoint(Endpoints[2707]); + builder.AddEndpoint(Endpoints[2708]); + builder.AddEndpoint(Endpoints[2709]); + builder.AddEndpoint(Endpoints[2710]); + builder.AddEndpoint(Endpoints[2711]); + builder.AddEndpoint(Endpoints[2712]); + builder.AddEndpoint(Endpoints[2713]); + builder.AddEndpoint(Endpoints[2714]); + builder.AddEndpoint(Endpoints[2715]); + builder.AddEndpoint(Endpoints[2716]); + builder.AddEndpoint(Endpoints[2717]); + builder.AddEndpoint(Endpoints[2718]); + builder.AddEndpoint(Endpoints[2719]); + builder.AddEndpoint(Endpoints[2720]); + builder.AddEndpoint(Endpoints[2721]); + builder.AddEndpoint(Endpoints[2722]); + builder.AddEndpoint(Endpoints[2723]); + builder.AddEndpoint(Endpoints[2724]); + builder.AddEndpoint(Endpoints[2725]); + builder.AddEndpoint(Endpoints[2726]); + builder.AddEndpoint(Endpoints[2727]); + builder.AddEndpoint(Endpoints[2728]); + builder.AddEndpoint(Endpoints[2729]); + builder.AddEndpoint(Endpoints[2730]); + builder.AddEndpoint(Endpoints[2731]); + builder.AddEndpoint(Endpoints[2732]); + builder.AddEndpoint(Endpoints[2733]); + builder.AddEndpoint(Endpoints[2734]); + builder.AddEndpoint(Endpoints[2735]); + builder.AddEndpoint(Endpoints[2736]); + builder.AddEndpoint(Endpoints[2737]); + builder.AddEndpoint(Endpoints[2738]); + builder.AddEndpoint(Endpoints[2739]); + builder.AddEndpoint(Endpoints[2740]); + builder.AddEndpoint(Endpoints[2741]); + builder.AddEndpoint(Endpoints[2742]); + builder.AddEndpoint(Endpoints[2743]); + builder.AddEndpoint(Endpoints[2744]); + builder.AddEndpoint(Endpoints[2745]); + builder.AddEndpoint(Endpoints[2746]); + builder.AddEndpoint(Endpoints[2747]); + builder.AddEndpoint(Endpoints[2748]); + builder.AddEndpoint(Endpoints[2749]); + builder.AddEndpoint(Endpoints[2750]); + builder.AddEndpoint(Endpoints[2751]); + builder.AddEndpoint(Endpoints[2752]); + builder.AddEndpoint(Endpoints[2753]); + builder.AddEndpoint(Endpoints[2754]); + builder.AddEndpoint(Endpoints[2755]); + builder.AddEndpoint(Endpoints[2756]); + builder.AddEndpoint(Endpoints[2757]); + builder.AddEndpoint(Endpoints[2758]); + builder.AddEndpoint(Endpoints[2759]); + builder.AddEndpoint(Endpoints[2760]); + builder.AddEndpoint(Endpoints[2761]); + builder.AddEndpoint(Endpoints[2762]); + builder.AddEndpoint(Endpoints[2763]); + builder.AddEndpoint(Endpoints[2764]); + builder.AddEndpoint(Endpoints[2765]); + builder.AddEndpoint(Endpoints[2766]); + builder.AddEndpoint(Endpoints[2767]); + builder.AddEndpoint(Endpoints[2768]); + builder.AddEndpoint(Endpoints[2769]); + builder.AddEndpoint(Endpoints[2770]); + builder.AddEndpoint(Endpoints[2771]); + builder.AddEndpoint(Endpoints[2772]); + builder.AddEndpoint(Endpoints[2773]); + builder.AddEndpoint(Endpoints[2774]); + builder.AddEndpoint(Endpoints[2775]); + builder.AddEndpoint(Endpoints[2776]); + builder.AddEndpoint(Endpoints[2777]); + builder.AddEndpoint(Endpoints[2778]); + builder.AddEndpoint(Endpoints[2779]); + builder.AddEndpoint(Endpoints[2780]); + builder.AddEndpoint(Endpoints[2781]); + builder.AddEndpoint(Endpoints[2782]); + builder.AddEndpoint(Endpoints[2783]); + builder.AddEndpoint(Endpoints[2784]); + builder.AddEndpoint(Endpoints[2785]); + builder.AddEndpoint(Endpoints[2786]); + builder.AddEndpoint(Endpoints[2787]); + builder.AddEndpoint(Endpoints[2788]); + builder.AddEndpoint(Endpoints[2789]); + builder.AddEndpoint(Endpoints[2790]); + builder.AddEndpoint(Endpoints[2791]); + builder.AddEndpoint(Endpoints[2792]); + builder.AddEndpoint(Endpoints[2793]); + builder.AddEndpoint(Endpoints[2794]); + builder.AddEndpoint(Endpoints[2795]); + builder.AddEndpoint(Endpoints[2796]); + builder.AddEndpoint(Endpoints[2797]); + builder.AddEndpoint(Endpoints[2798]); + builder.AddEndpoint(Endpoints[2799]); + builder.AddEndpoint(Endpoints[2800]); + builder.AddEndpoint(Endpoints[2801]); + builder.AddEndpoint(Endpoints[2802]); + builder.AddEndpoint(Endpoints[2803]); + builder.AddEndpoint(Endpoints[2804]); + builder.AddEndpoint(Endpoints[2805]); + builder.AddEndpoint(Endpoints[2806]); + builder.AddEndpoint(Endpoints[2807]); + builder.AddEndpoint(Endpoints[2808]); + builder.AddEndpoint(Endpoints[2809]); + builder.AddEndpoint(Endpoints[2810]); + builder.AddEndpoint(Endpoints[2811]); + builder.AddEndpoint(Endpoints[2812]); + builder.AddEndpoint(Endpoints[2813]); + builder.AddEndpoint(Endpoints[2814]); + builder.AddEndpoint(Endpoints[2815]); + builder.AddEndpoint(Endpoints[2816]); + builder.AddEndpoint(Endpoints[2817]); + builder.AddEndpoint(Endpoints[2818]); + builder.AddEndpoint(Endpoints[2819]); + builder.AddEndpoint(Endpoints[2820]); + builder.AddEndpoint(Endpoints[2821]); + builder.AddEndpoint(Endpoints[2822]); + builder.AddEndpoint(Endpoints[2823]); + builder.AddEndpoint(Endpoints[2824]); + builder.AddEndpoint(Endpoints[2825]); + builder.AddEndpoint(Endpoints[2826]); + builder.AddEndpoint(Endpoints[2827]); + builder.AddEndpoint(Endpoints[2828]); + builder.AddEndpoint(Endpoints[2829]); + builder.AddEndpoint(Endpoints[2830]); + builder.AddEndpoint(Endpoints[2831]); + builder.AddEndpoint(Endpoints[2832]); + builder.AddEndpoint(Endpoints[2833]); + builder.AddEndpoint(Endpoints[2834]); + builder.AddEndpoint(Endpoints[2835]); + builder.AddEndpoint(Endpoints[2836]); + builder.AddEndpoint(Endpoints[2837]); + builder.AddEndpoint(Endpoints[2838]); + builder.AddEndpoint(Endpoints[2839]); + builder.AddEndpoint(Endpoints[2840]); + builder.AddEndpoint(Endpoints[2841]); + builder.AddEndpoint(Endpoints[2842]); + builder.AddEndpoint(Endpoints[2843]); + builder.AddEndpoint(Endpoints[2844]); + builder.AddEndpoint(Endpoints[2845]); + builder.AddEndpoint(Endpoints[2846]); + builder.AddEndpoint(Endpoints[2847]); + builder.AddEndpoint(Endpoints[2848]); + builder.AddEndpoint(Endpoints[2849]); + builder.AddEndpoint(Endpoints[2850]); + builder.AddEndpoint(Endpoints[2851]); + builder.AddEndpoint(Endpoints[2852]); + builder.AddEndpoint(Endpoints[2853]); + builder.AddEndpoint(Endpoints[2854]); + builder.AddEndpoint(Endpoints[2855]); + builder.AddEndpoint(Endpoints[2856]); + builder.AddEndpoint(Endpoints[2857]); + builder.AddEndpoint(Endpoints[2858]); + builder.AddEndpoint(Endpoints[2859]); + builder.AddEndpoint(Endpoints[2860]); + builder.AddEndpoint(Endpoints[2861]); + builder.AddEndpoint(Endpoints[2862]); + builder.AddEndpoint(Endpoints[2863]); + builder.AddEndpoint(Endpoints[2864]); + builder.AddEndpoint(Endpoints[2865]); + builder.AddEndpoint(Endpoints[2866]); + builder.AddEndpoint(Endpoints[2867]); + builder.AddEndpoint(Endpoints[2868]); + builder.AddEndpoint(Endpoints[2869]); + builder.AddEndpoint(Endpoints[2870]); + builder.AddEndpoint(Endpoints[2871]); + builder.AddEndpoint(Endpoints[2872]); + builder.AddEndpoint(Endpoints[2873]); + builder.AddEndpoint(Endpoints[2874]); + builder.AddEndpoint(Endpoints[2875]); + builder.AddEndpoint(Endpoints[2876]); + builder.AddEndpoint(Endpoints[2877]); + builder.AddEndpoint(Endpoints[2878]); + builder.AddEndpoint(Endpoints[2879]); + builder.AddEndpoint(Endpoints[2880]); + builder.AddEndpoint(Endpoints[2881]); + builder.AddEndpoint(Endpoints[2882]); + builder.AddEndpoint(Endpoints[2883]); + builder.AddEndpoint(Endpoints[2884]); + builder.AddEndpoint(Endpoints[2885]); + builder.AddEndpoint(Endpoints[2886]); + builder.AddEndpoint(Endpoints[2887]); + builder.AddEndpoint(Endpoints[2888]); + builder.AddEndpoint(Endpoints[2889]); + builder.AddEndpoint(Endpoints[2890]); + builder.AddEndpoint(Endpoints[2891]); + builder.AddEndpoint(Endpoints[2892]); + builder.AddEndpoint(Endpoints[2893]); + builder.AddEndpoint(Endpoints[2894]); + builder.AddEndpoint(Endpoints[2895]); + builder.AddEndpoint(Endpoints[2896]); + builder.AddEndpoint(Endpoints[2897]); + builder.AddEndpoint(Endpoints[2898]); + builder.AddEndpoint(Endpoints[2899]); + builder.AddEndpoint(Endpoints[2900]); + builder.AddEndpoint(Endpoints[2901]); + builder.AddEndpoint(Endpoints[2902]); + builder.AddEndpoint(Endpoints[2903]); + builder.AddEndpoint(Endpoints[2904]); + builder.AddEndpoint(Endpoints[2905]); + builder.AddEndpoint(Endpoints[2906]); + builder.AddEndpoint(Endpoints[2907]); + builder.AddEndpoint(Endpoints[2908]); + builder.AddEndpoint(Endpoints[2909]); + builder.AddEndpoint(Endpoints[2910]); + builder.AddEndpoint(Endpoints[2911]); + builder.AddEndpoint(Endpoints[2912]); + builder.AddEndpoint(Endpoints[2913]); + builder.AddEndpoint(Endpoints[2914]); + builder.AddEndpoint(Endpoints[2915]); + builder.AddEndpoint(Endpoints[2916]); + builder.AddEndpoint(Endpoints[2917]); + builder.AddEndpoint(Endpoints[2918]); + builder.AddEndpoint(Endpoints[2919]); + builder.AddEndpoint(Endpoints[2920]); + builder.AddEndpoint(Endpoints[2921]); + builder.AddEndpoint(Endpoints[2922]); + builder.AddEndpoint(Endpoints[2923]); + builder.AddEndpoint(Endpoints[2924]); + builder.AddEndpoint(Endpoints[2925]); + builder.AddEndpoint(Endpoints[2926]); + builder.AddEndpoint(Endpoints[2927]); + builder.AddEndpoint(Endpoints[2928]); + builder.AddEndpoint(Endpoints[2929]); + builder.AddEndpoint(Endpoints[2930]); + builder.AddEndpoint(Endpoints[2931]); + builder.AddEndpoint(Endpoints[2932]); + builder.AddEndpoint(Endpoints[2933]); + builder.AddEndpoint(Endpoints[2934]); + builder.AddEndpoint(Endpoints[2935]); + builder.AddEndpoint(Endpoints[2936]); + builder.AddEndpoint(Endpoints[2937]); + builder.AddEndpoint(Endpoints[2938]); + builder.AddEndpoint(Endpoints[2939]); + builder.AddEndpoint(Endpoints[2940]); + builder.AddEndpoint(Endpoints[2941]); + builder.AddEndpoint(Endpoints[2942]); + builder.AddEndpoint(Endpoints[2943]); + builder.AddEndpoint(Endpoints[2944]); + builder.AddEndpoint(Endpoints[2945]); + builder.AddEndpoint(Endpoints[2946]); + builder.AddEndpoint(Endpoints[2947]); + builder.AddEndpoint(Endpoints[2948]); + builder.AddEndpoint(Endpoints[2949]); + builder.AddEndpoint(Endpoints[2950]); + builder.AddEndpoint(Endpoints[2951]); + builder.AddEndpoint(Endpoints[2952]); + builder.AddEndpoint(Endpoints[2953]); + builder.AddEndpoint(Endpoints[2954]); + builder.AddEndpoint(Endpoints[2955]); + builder.AddEndpoint(Endpoints[2956]); + builder.AddEndpoint(Endpoints[2957]); + builder.AddEndpoint(Endpoints[2958]); + builder.AddEndpoint(Endpoints[2959]); + builder.AddEndpoint(Endpoints[2960]); + builder.AddEndpoint(Endpoints[2961]); + builder.AddEndpoint(Endpoints[2962]); + builder.AddEndpoint(Endpoints[2963]); + builder.AddEndpoint(Endpoints[2964]); + builder.AddEndpoint(Endpoints[2965]); + builder.AddEndpoint(Endpoints[2966]); + builder.AddEndpoint(Endpoints[2967]); + builder.AddEndpoint(Endpoints[2968]); + builder.AddEndpoint(Endpoints[2969]); + builder.AddEndpoint(Endpoints[2970]); + builder.AddEndpoint(Endpoints[2971]); + builder.AddEndpoint(Endpoints[2972]); + builder.AddEndpoint(Endpoints[2973]); + builder.AddEndpoint(Endpoints[2974]); + builder.AddEndpoint(Endpoints[2975]); + builder.AddEndpoint(Endpoints[2976]); + builder.AddEndpoint(Endpoints[2977]); + builder.AddEndpoint(Endpoints[2978]); + builder.AddEndpoint(Endpoints[2979]); + builder.AddEndpoint(Endpoints[2980]); + builder.AddEndpoint(Endpoints[2981]); + builder.AddEndpoint(Endpoints[2982]); + builder.AddEndpoint(Endpoints[2983]); + builder.AddEndpoint(Endpoints[2984]); + builder.AddEndpoint(Endpoints[2985]); + builder.AddEndpoint(Endpoints[2986]); + builder.AddEndpoint(Endpoints[2987]); + builder.AddEndpoint(Endpoints[2988]); + builder.AddEndpoint(Endpoints[2989]); + builder.AddEndpoint(Endpoints[2990]); + builder.AddEndpoint(Endpoints[2991]); + builder.AddEndpoint(Endpoints[2992]); + builder.AddEndpoint(Endpoints[2993]); + builder.AddEndpoint(Endpoints[2994]); + builder.AddEndpoint(Endpoints[2995]); + builder.AddEndpoint(Endpoints[2996]); + builder.AddEndpoint(Endpoints[2997]); + builder.AddEndpoint(Endpoints[2998]); + builder.AddEndpoint(Endpoints[2999]); + builder.AddEndpoint(Endpoints[3000]); + builder.AddEndpoint(Endpoints[3001]); + builder.AddEndpoint(Endpoints[3002]); + builder.AddEndpoint(Endpoints[3003]); + builder.AddEndpoint(Endpoints[3004]); + builder.AddEndpoint(Endpoints[3005]); + builder.AddEndpoint(Endpoints[3006]); + builder.AddEndpoint(Endpoints[3007]); + builder.AddEndpoint(Endpoints[3008]); + builder.AddEndpoint(Endpoints[3009]); + builder.AddEndpoint(Endpoints[3010]); + builder.AddEndpoint(Endpoints[3011]); + builder.AddEndpoint(Endpoints[3012]); + builder.AddEndpoint(Endpoints[3013]); + builder.AddEndpoint(Endpoints[3014]); + builder.AddEndpoint(Endpoints[3015]); + builder.AddEndpoint(Endpoints[3016]); + builder.AddEndpoint(Endpoints[3017]); + builder.AddEndpoint(Endpoints[3018]); + builder.AddEndpoint(Endpoints[3019]); + builder.AddEndpoint(Endpoints[3020]); + builder.AddEndpoint(Endpoints[3021]); + builder.AddEndpoint(Endpoints[3022]); + builder.AddEndpoint(Endpoints[3023]); + builder.AddEndpoint(Endpoints[3024]); + builder.AddEndpoint(Endpoints[3025]); + builder.AddEndpoint(Endpoints[3026]); + builder.AddEndpoint(Endpoints[3027]); + builder.AddEndpoint(Endpoints[3028]); + builder.AddEndpoint(Endpoints[3029]); + builder.AddEndpoint(Endpoints[3030]); + builder.AddEndpoint(Endpoints[3031]); + builder.AddEndpoint(Endpoints[3032]); + builder.AddEndpoint(Endpoints[3033]); + builder.AddEndpoint(Endpoints[3034]); + builder.AddEndpoint(Endpoints[3035]); + builder.AddEndpoint(Endpoints[3036]); + builder.AddEndpoint(Endpoints[3037]); + builder.AddEndpoint(Endpoints[3038]); + builder.AddEndpoint(Endpoints[3039]); + builder.AddEndpoint(Endpoints[3040]); + builder.AddEndpoint(Endpoints[3041]); + builder.AddEndpoint(Endpoints[3042]); + builder.AddEndpoint(Endpoints[3043]); + builder.AddEndpoint(Endpoints[3044]); + builder.AddEndpoint(Endpoints[3045]); + builder.AddEndpoint(Endpoints[3046]); + builder.AddEndpoint(Endpoints[3047]); + builder.AddEndpoint(Endpoints[3048]); + builder.AddEndpoint(Endpoints[3049]); + builder.AddEndpoint(Endpoints[3050]); + builder.AddEndpoint(Endpoints[3051]); + builder.AddEndpoint(Endpoints[3052]); + builder.AddEndpoint(Endpoints[3053]); + builder.AddEndpoint(Endpoints[3054]); + builder.AddEndpoint(Endpoints[3055]); + builder.AddEndpoint(Endpoints[3056]); + builder.AddEndpoint(Endpoints[3057]); + builder.AddEndpoint(Endpoints[3058]); + builder.AddEndpoint(Endpoints[3059]); + builder.AddEndpoint(Endpoints[3060]); + builder.AddEndpoint(Endpoints[3061]); + builder.AddEndpoint(Endpoints[3062]); + builder.AddEndpoint(Endpoints[3063]); + builder.AddEndpoint(Endpoints[3064]); + builder.AddEndpoint(Endpoints[3065]); + builder.AddEndpoint(Endpoints[3066]); + builder.AddEndpoint(Endpoints[3067]); + builder.AddEndpoint(Endpoints[3068]); + builder.AddEndpoint(Endpoints[3069]); + builder.AddEndpoint(Endpoints[3070]); + builder.AddEndpoint(Endpoints[3071]); + builder.AddEndpoint(Endpoints[3072]); + builder.AddEndpoint(Endpoints[3073]); + builder.AddEndpoint(Endpoints[3074]); + builder.AddEndpoint(Endpoints[3075]); + builder.AddEndpoint(Endpoints[3076]); + builder.AddEndpoint(Endpoints[3077]); + builder.AddEndpoint(Endpoints[3078]); + builder.AddEndpoint(Endpoints[3079]); + builder.AddEndpoint(Endpoints[3080]); + builder.AddEndpoint(Endpoints[3081]); + builder.AddEndpoint(Endpoints[3082]); + builder.AddEndpoint(Endpoints[3083]); + builder.AddEndpoint(Endpoints[3084]); + builder.AddEndpoint(Endpoints[3085]); + builder.AddEndpoint(Endpoints[3086]); + builder.AddEndpoint(Endpoints[3087]); + builder.AddEndpoint(Endpoints[3088]); + builder.AddEndpoint(Endpoints[3089]); + builder.AddEndpoint(Endpoints[3090]); + builder.AddEndpoint(Endpoints[3091]); + builder.AddEndpoint(Endpoints[3092]); + builder.AddEndpoint(Endpoints[3093]); + builder.AddEndpoint(Endpoints[3094]); + builder.AddEndpoint(Endpoints[3095]); + builder.AddEndpoint(Endpoints[3096]); + builder.AddEndpoint(Endpoints[3097]); + builder.AddEndpoint(Endpoints[3098]); + builder.AddEndpoint(Endpoints[3099]); + builder.AddEndpoint(Endpoints[3100]); + builder.AddEndpoint(Endpoints[3101]); + builder.AddEndpoint(Endpoints[3102]); + builder.AddEndpoint(Endpoints[3103]); + builder.AddEndpoint(Endpoints[3104]); + builder.AddEndpoint(Endpoints[3105]); + builder.AddEndpoint(Endpoints[3106]); + builder.AddEndpoint(Endpoints[3107]); + builder.AddEndpoint(Endpoints[3108]); + builder.AddEndpoint(Endpoints[3109]); + builder.AddEndpoint(Endpoints[3110]); + builder.AddEndpoint(Endpoints[3111]); + builder.AddEndpoint(Endpoints[3112]); + builder.AddEndpoint(Endpoints[3113]); + builder.AddEndpoint(Endpoints[3114]); + builder.AddEndpoint(Endpoints[3115]); + builder.AddEndpoint(Endpoints[3116]); + builder.AddEndpoint(Endpoints[3117]); + builder.AddEndpoint(Endpoints[3118]); + builder.AddEndpoint(Endpoints[3119]); + builder.AddEndpoint(Endpoints[3120]); + builder.AddEndpoint(Endpoints[3121]); + builder.AddEndpoint(Endpoints[3122]); + builder.AddEndpoint(Endpoints[3123]); + builder.AddEndpoint(Endpoints[3124]); + builder.AddEndpoint(Endpoints[3125]); + builder.AddEndpoint(Endpoints[3126]); + builder.AddEndpoint(Endpoints[3127]); + builder.AddEndpoint(Endpoints[3128]); + builder.AddEndpoint(Endpoints[3129]); + builder.AddEndpoint(Endpoints[3130]); + builder.AddEndpoint(Endpoints[3131]); + builder.AddEndpoint(Endpoints[3132]); + builder.AddEndpoint(Endpoints[3133]); + builder.AddEndpoint(Endpoints[3134]); + builder.AddEndpoint(Endpoints[3135]); + builder.AddEndpoint(Endpoints[3136]); + builder.AddEndpoint(Endpoints[3137]); + builder.AddEndpoint(Endpoints[3138]); + builder.AddEndpoint(Endpoints[3139]); + builder.AddEndpoint(Endpoints[3140]); + builder.AddEndpoint(Endpoints[3141]); + builder.AddEndpoint(Endpoints[3142]); + builder.AddEndpoint(Endpoints[3143]); + builder.AddEndpoint(Endpoints[3144]); + builder.AddEndpoint(Endpoints[3145]); + builder.AddEndpoint(Endpoints[3146]); + builder.AddEndpoint(Endpoints[3147]); + builder.AddEndpoint(Endpoints[3148]); + builder.AddEndpoint(Endpoints[3149]); + builder.AddEndpoint(Endpoints[3150]); + builder.AddEndpoint(Endpoints[3151]); + builder.AddEndpoint(Endpoints[3152]); + builder.AddEndpoint(Endpoints[3153]); + builder.AddEndpoint(Endpoints[3154]); + builder.AddEndpoint(Endpoints[3155]); + builder.AddEndpoint(Endpoints[3156]); + builder.AddEndpoint(Endpoints[3157]); + builder.AddEndpoint(Endpoints[3158]); + builder.AddEndpoint(Endpoints[3159]); + builder.AddEndpoint(Endpoints[3160]); + builder.AddEndpoint(Endpoints[3161]); + builder.AddEndpoint(Endpoints[3162]); + builder.AddEndpoint(Endpoints[3163]); + builder.AddEndpoint(Endpoints[3164]); + builder.AddEndpoint(Endpoints[3165]); + builder.AddEndpoint(Endpoints[3166]); + builder.AddEndpoint(Endpoints[3167]); + builder.AddEndpoint(Endpoints[3168]); + builder.AddEndpoint(Endpoints[3169]); + builder.AddEndpoint(Endpoints[3170]); + builder.AddEndpoint(Endpoints[3171]); + builder.AddEndpoint(Endpoints[3172]); + builder.AddEndpoint(Endpoints[3173]); + builder.AddEndpoint(Endpoints[3174]); + builder.AddEndpoint(Endpoints[3175]); + builder.AddEndpoint(Endpoints[3176]); + builder.AddEndpoint(Endpoints[3177]); + builder.AddEndpoint(Endpoints[3178]); + builder.AddEndpoint(Endpoints[3179]); + builder.AddEndpoint(Endpoints[3180]); + builder.AddEndpoint(Endpoints[3181]); + builder.AddEndpoint(Endpoints[3182]); + builder.AddEndpoint(Endpoints[3183]); + builder.AddEndpoint(Endpoints[3184]); + builder.AddEndpoint(Endpoints[3185]); + builder.AddEndpoint(Endpoints[3186]); + builder.AddEndpoint(Endpoints[3187]); + builder.AddEndpoint(Endpoints[3188]); + builder.AddEndpoint(Endpoints[3189]); + builder.AddEndpoint(Endpoints[3190]); + builder.AddEndpoint(Endpoints[3191]); + builder.AddEndpoint(Endpoints[3192]); + builder.AddEndpoint(Endpoints[3193]); + builder.AddEndpoint(Endpoints[3194]); + builder.AddEndpoint(Endpoints[3195]); + builder.AddEndpoint(Endpoints[3196]); + builder.AddEndpoint(Endpoints[3197]); + builder.AddEndpoint(Endpoints[3198]); + builder.AddEndpoint(Endpoints[3199]); + builder.AddEndpoint(Endpoints[3200]); + builder.AddEndpoint(Endpoints[3201]); + builder.AddEndpoint(Endpoints[3202]); + builder.AddEndpoint(Endpoints[3203]); + builder.AddEndpoint(Endpoints[3204]); + builder.AddEndpoint(Endpoints[3205]); + builder.AddEndpoint(Endpoints[3206]); + builder.AddEndpoint(Endpoints[3207]); + builder.AddEndpoint(Endpoints[3208]); + builder.AddEndpoint(Endpoints[3209]); + builder.AddEndpoint(Endpoints[3210]); + builder.AddEndpoint(Endpoints[3211]); + builder.AddEndpoint(Endpoints[3212]); + builder.AddEndpoint(Endpoints[3213]); + builder.AddEndpoint(Endpoints[3214]); + builder.AddEndpoint(Endpoints[3215]); + builder.AddEndpoint(Endpoints[3216]); + builder.AddEndpoint(Endpoints[3217]); + builder.AddEndpoint(Endpoints[3218]); + builder.AddEndpoint(Endpoints[3219]); + builder.AddEndpoint(Endpoints[3220]); + builder.AddEndpoint(Endpoints[3221]); + builder.AddEndpoint(Endpoints[3222]); + builder.AddEndpoint(Endpoints[3223]); + builder.AddEndpoint(Endpoints[3224]); + builder.AddEndpoint(Endpoints[3225]); + builder.AddEndpoint(Endpoints[3226]); + builder.AddEndpoint(Endpoints[3227]); + builder.AddEndpoint(Endpoints[3228]); + builder.AddEndpoint(Endpoints[3229]); + builder.AddEndpoint(Endpoints[3230]); + builder.AddEndpoint(Endpoints[3231]); + builder.AddEndpoint(Endpoints[3232]); + builder.AddEndpoint(Endpoints[3233]); + builder.AddEndpoint(Endpoints[3234]); + builder.AddEndpoint(Endpoints[3235]); + builder.AddEndpoint(Endpoints[3236]); + builder.AddEndpoint(Endpoints[3237]); + builder.AddEndpoint(Endpoints[3238]); + builder.AddEndpoint(Endpoints[3239]); + builder.AddEndpoint(Endpoints[3240]); + builder.AddEndpoint(Endpoints[3241]); + builder.AddEndpoint(Endpoints[3242]); + builder.AddEndpoint(Endpoints[3243]); + builder.AddEndpoint(Endpoints[3244]); + builder.AddEndpoint(Endpoints[3245]); + builder.AddEndpoint(Endpoints[3246]); + builder.AddEndpoint(Endpoints[3247]); + builder.AddEndpoint(Endpoints[3248]); + builder.AddEndpoint(Endpoints[3249]); + builder.AddEndpoint(Endpoints[3250]); + builder.AddEndpoint(Endpoints[3251]); + builder.AddEndpoint(Endpoints[3252]); + builder.AddEndpoint(Endpoints[3253]); + builder.AddEndpoint(Endpoints[3254]); + builder.AddEndpoint(Endpoints[3255]); + builder.AddEndpoint(Endpoints[3256]); + builder.AddEndpoint(Endpoints[3257]); + builder.AddEndpoint(Endpoints[3258]); + builder.AddEndpoint(Endpoints[3259]); + builder.AddEndpoint(Endpoints[3260]); + builder.AddEndpoint(Endpoints[3261]); + builder.AddEndpoint(Endpoints[3262]); + builder.AddEndpoint(Endpoints[3263]); + builder.AddEndpoint(Endpoints[3264]); + builder.AddEndpoint(Endpoints[3265]); + builder.AddEndpoint(Endpoints[3266]); + builder.AddEndpoint(Endpoints[3267]); + builder.AddEndpoint(Endpoints[3268]); + builder.AddEndpoint(Endpoints[3269]); + builder.AddEndpoint(Endpoints[3270]); + builder.AddEndpoint(Endpoints[3271]); + builder.AddEndpoint(Endpoints[3272]); + builder.AddEndpoint(Endpoints[3273]); + builder.AddEndpoint(Endpoints[3274]); + builder.AddEndpoint(Endpoints[3275]); + builder.AddEndpoint(Endpoints[3276]); + builder.AddEndpoint(Endpoints[3277]); + builder.AddEndpoint(Endpoints[3278]); + builder.AddEndpoint(Endpoints[3279]); + builder.AddEndpoint(Endpoints[3280]); + builder.AddEndpoint(Endpoints[3281]); + builder.AddEndpoint(Endpoints[3282]); + builder.AddEndpoint(Endpoints[3283]); + builder.AddEndpoint(Endpoints[3284]); + builder.AddEndpoint(Endpoints[3285]); + builder.AddEndpoint(Endpoints[3286]); + builder.AddEndpoint(Endpoints[3287]); + builder.AddEndpoint(Endpoints[3288]); + builder.AddEndpoint(Endpoints[3289]); + builder.AddEndpoint(Endpoints[3290]); + builder.AddEndpoint(Endpoints[3291]); + builder.AddEndpoint(Endpoints[3292]); + builder.AddEndpoint(Endpoints[3293]); + builder.AddEndpoint(Endpoints[3294]); + builder.AddEndpoint(Endpoints[3295]); + builder.AddEndpoint(Endpoints[3296]); + builder.AddEndpoint(Endpoints[3297]); + builder.AddEndpoint(Endpoints[3298]); + builder.AddEndpoint(Endpoints[3299]); + builder.AddEndpoint(Endpoints[3300]); + builder.AddEndpoint(Endpoints[3301]); + builder.AddEndpoint(Endpoints[3302]); + builder.AddEndpoint(Endpoints[3303]); + builder.AddEndpoint(Endpoints[3304]); + builder.AddEndpoint(Endpoints[3305]); + builder.AddEndpoint(Endpoints[3306]); + builder.AddEndpoint(Endpoints[3307]); + builder.AddEndpoint(Endpoints[3308]); + builder.AddEndpoint(Endpoints[3309]); + builder.AddEndpoint(Endpoints[3310]); + builder.AddEndpoint(Endpoints[3311]); + builder.AddEndpoint(Endpoints[3312]); + builder.AddEndpoint(Endpoints[3313]); + builder.AddEndpoint(Endpoints[3314]); + builder.AddEndpoint(Endpoints[3315]); + builder.AddEndpoint(Endpoints[3316]); + builder.AddEndpoint(Endpoints[3317]); + builder.AddEndpoint(Endpoints[3318]); + builder.AddEndpoint(Endpoints[3319]); + builder.AddEndpoint(Endpoints[3320]); + builder.AddEndpoint(Endpoints[3321]); + builder.AddEndpoint(Endpoints[3322]); + builder.AddEndpoint(Endpoints[3323]); + builder.AddEndpoint(Endpoints[3324]); + builder.AddEndpoint(Endpoints[3325]); + builder.AddEndpoint(Endpoints[3326]); + builder.AddEndpoint(Endpoints[3327]); + builder.AddEndpoint(Endpoints[3328]); + builder.AddEndpoint(Endpoints[3329]); + builder.AddEndpoint(Endpoints[3330]); + builder.AddEndpoint(Endpoints[3331]); + builder.AddEndpoint(Endpoints[3332]); + builder.AddEndpoint(Endpoints[3333]); + builder.AddEndpoint(Endpoints[3334]); + builder.AddEndpoint(Endpoints[3335]); + builder.AddEndpoint(Endpoints[3336]); + builder.AddEndpoint(Endpoints[3337]); + builder.AddEndpoint(Endpoints[3338]); + builder.AddEndpoint(Endpoints[3339]); + builder.AddEndpoint(Endpoints[3340]); + builder.AddEndpoint(Endpoints[3341]); + builder.AddEndpoint(Endpoints[3342]); + builder.AddEndpoint(Endpoints[3343]); + builder.AddEndpoint(Endpoints[3344]); + builder.AddEndpoint(Endpoints[3345]); + builder.AddEndpoint(Endpoints[3346]); + builder.AddEndpoint(Endpoints[3347]); + builder.AddEndpoint(Endpoints[3348]); + builder.AddEndpoint(Endpoints[3349]); + builder.AddEndpoint(Endpoints[3350]); + builder.AddEndpoint(Endpoints[3351]); + builder.AddEndpoint(Endpoints[3352]); + builder.AddEndpoint(Endpoints[3353]); + builder.AddEndpoint(Endpoints[3354]); + builder.AddEndpoint(Endpoints[3355]); + builder.AddEndpoint(Endpoints[3356]); + builder.AddEndpoint(Endpoints[3357]); + builder.AddEndpoint(Endpoints[3358]); + builder.AddEndpoint(Endpoints[3359]); + builder.AddEndpoint(Endpoints[3360]); + builder.AddEndpoint(Endpoints[3361]); + builder.AddEndpoint(Endpoints[3362]); + builder.AddEndpoint(Endpoints[3363]); + builder.AddEndpoint(Endpoints[3364]); + builder.AddEndpoint(Endpoints[3365]); + builder.AddEndpoint(Endpoints[3366]); + builder.AddEndpoint(Endpoints[3367]); + builder.AddEndpoint(Endpoints[3368]); + builder.AddEndpoint(Endpoints[3369]); + builder.AddEndpoint(Endpoints[3370]); + builder.AddEndpoint(Endpoints[3371]); + builder.AddEndpoint(Endpoints[3372]); + builder.AddEndpoint(Endpoints[3373]); + builder.AddEndpoint(Endpoints[3374]); + builder.AddEndpoint(Endpoints[3375]); + builder.AddEndpoint(Endpoints[3376]); + builder.AddEndpoint(Endpoints[3377]); + builder.AddEndpoint(Endpoints[3378]); + builder.AddEndpoint(Endpoints[3379]); + builder.AddEndpoint(Endpoints[3380]); + builder.AddEndpoint(Endpoints[3381]); + builder.AddEndpoint(Endpoints[3382]); + builder.AddEndpoint(Endpoints[3383]); + builder.AddEndpoint(Endpoints[3384]); + builder.AddEndpoint(Endpoints[3385]); + builder.AddEndpoint(Endpoints[3386]); + builder.AddEndpoint(Endpoints[3387]); + builder.AddEndpoint(Endpoints[3388]); + builder.AddEndpoint(Endpoints[3389]); + builder.AddEndpoint(Endpoints[3390]); + builder.AddEndpoint(Endpoints[3391]); + builder.AddEndpoint(Endpoints[3392]); + builder.AddEndpoint(Endpoints[3393]); + builder.AddEndpoint(Endpoints[3394]); + builder.AddEndpoint(Endpoints[3395]); + builder.AddEndpoint(Endpoints[3396]); + builder.AddEndpoint(Endpoints[3397]); + builder.AddEndpoint(Endpoints[3398]); + builder.AddEndpoint(Endpoints[3399]); + builder.AddEndpoint(Endpoints[3400]); + builder.AddEndpoint(Endpoints[3401]); + builder.AddEndpoint(Endpoints[3402]); + builder.AddEndpoint(Endpoints[3403]); + builder.AddEndpoint(Endpoints[3404]); + builder.AddEndpoint(Endpoints[3405]); + builder.AddEndpoint(Endpoints[3406]); + builder.AddEndpoint(Endpoints[3407]); + builder.AddEndpoint(Endpoints[3408]); + builder.AddEndpoint(Endpoints[3409]); + builder.AddEndpoint(Endpoints[3410]); + builder.AddEndpoint(Endpoints[3411]); + builder.AddEndpoint(Endpoints[3412]); + builder.AddEndpoint(Endpoints[3413]); + builder.AddEndpoint(Endpoints[3414]); + builder.AddEndpoint(Endpoints[3415]); + builder.AddEndpoint(Endpoints[3416]); + builder.AddEndpoint(Endpoints[3417]); + builder.AddEndpoint(Endpoints[3418]); + builder.AddEndpoint(Endpoints[3419]); + builder.AddEndpoint(Endpoints[3420]); + builder.AddEndpoint(Endpoints[3421]); + builder.AddEndpoint(Endpoints[3422]); + builder.AddEndpoint(Endpoints[3423]); + builder.AddEndpoint(Endpoints[3424]); + builder.AddEndpoint(Endpoints[3425]); + builder.AddEndpoint(Endpoints[3426]); + builder.AddEndpoint(Endpoints[3427]); + builder.AddEndpoint(Endpoints[3428]); + builder.AddEndpoint(Endpoints[3429]); + builder.AddEndpoint(Endpoints[3430]); + builder.AddEndpoint(Endpoints[3431]); + builder.AddEndpoint(Endpoints[3432]); + builder.AddEndpoint(Endpoints[3433]); + builder.AddEndpoint(Endpoints[3434]); + builder.AddEndpoint(Endpoints[3435]); + builder.AddEndpoint(Endpoints[3436]); + builder.AddEndpoint(Endpoints[3437]); + builder.AddEndpoint(Endpoints[3438]); + builder.AddEndpoint(Endpoints[3439]); + builder.AddEndpoint(Endpoints[3440]); + builder.AddEndpoint(Endpoints[3441]); + builder.AddEndpoint(Endpoints[3442]); + builder.AddEndpoint(Endpoints[3443]); + builder.AddEndpoint(Endpoints[3444]); + builder.AddEndpoint(Endpoints[3445]); + builder.AddEndpoint(Endpoints[3446]); + builder.AddEndpoint(Endpoints[3447]); + builder.AddEndpoint(Endpoints[3448]); + builder.AddEndpoint(Endpoints[3449]); + builder.AddEndpoint(Endpoints[3450]); + builder.AddEndpoint(Endpoints[3451]); + builder.AddEndpoint(Endpoints[3452]); + builder.AddEndpoint(Endpoints[3453]); + builder.AddEndpoint(Endpoints[3454]); + builder.AddEndpoint(Endpoints[3455]); + builder.AddEndpoint(Endpoints[3456]); + builder.AddEndpoint(Endpoints[3457]); + builder.AddEndpoint(Endpoints[3458]); + builder.AddEndpoint(Endpoints[3459]); + builder.AddEndpoint(Endpoints[3460]); + builder.AddEndpoint(Endpoints[3461]); + builder.AddEndpoint(Endpoints[3462]); + builder.AddEndpoint(Endpoints[3463]); + builder.AddEndpoint(Endpoints[3464]); + builder.AddEndpoint(Endpoints[3465]); + builder.AddEndpoint(Endpoints[3466]); + builder.AddEndpoint(Endpoints[3467]); + builder.AddEndpoint(Endpoints[3468]); + builder.AddEndpoint(Endpoints[3469]); + builder.AddEndpoint(Endpoints[3470]); + builder.AddEndpoint(Endpoints[3471]); + builder.AddEndpoint(Endpoints[3472]); + builder.AddEndpoint(Endpoints[3473]); + builder.AddEndpoint(Endpoints[3474]); + builder.AddEndpoint(Endpoints[3475]); + builder.AddEndpoint(Endpoints[3476]); + builder.AddEndpoint(Endpoints[3477]); + builder.AddEndpoint(Endpoints[3478]); + builder.AddEndpoint(Endpoints[3479]); + builder.AddEndpoint(Endpoints[3480]); + builder.AddEndpoint(Endpoints[3481]); + builder.AddEndpoint(Endpoints[3482]); + builder.AddEndpoint(Endpoints[3483]); + builder.AddEndpoint(Endpoints[3484]); + builder.AddEndpoint(Endpoints[3485]); + builder.AddEndpoint(Endpoints[3486]); + builder.AddEndpoint(Endpoints[3487]); + builder.AddEndpoint(Endpoints[3488]); + builder.AddEndpoint(Endpoints[3489]); + builder.AddEndpoint(Endpoints[3490]); + builder.AddEndpoint(Endpoints[3491]); + builder.AddEndpoint(Endpoints[3492]); + builder.AddEndpoint(Endpoints[3493]); + builder.AddEndpoint(Endpoints[3494]); + builder.AddEndpoint(Endpoints[3495]); + builder.AddEndpoint(Endpoints[3496]); + builder.AddEndpoint(Endpoints[3497]); + builder.AddEndpoint(Endpoints[3498]); + builder.AddEndpoint(Endpoints[3499]); + builder.AddEndpoint(Endpoints[3500]); + builder.AddEndpoint(Endpoints[3501]); + builder.AddEndpoint(Endpoints[3502]); + builder.AddEndpoint(Endpoints[3503]); + builder.AddEndpoint(Endpoints[3504]); + builder.AddEndpoint(Endpoints[3505]); + builder.AddEndpoint(Endpoints[3506]); + builder.AddEndpoint(Endpoints[3507]); + builder.AddEndpoint(Endpoints[3508]); + builder.AddEndpoint(Endpoints[3509]); + builder.AddEndpoint(Endpoints[3510]); + builder.AddEndpoint(Endpoints[3511]); + builder.AddEndpoint(Endpoints[3512]); + builder.AddEndpoint(Endpoints[3513]); + builder.AddEndpoint(Endpoints[3514]); + builder.AddEndpoint(Endpoints[3515]); + builder.AddEndpoint(Endpoints[3516]); + builder.AddEndpoint(Endpoints[3517]); + builder.AddEndpoint(Endpoints[3518]); + builder.AddEndpoint(Endpoints[3519]); + builder.AddEndpoint(Endpoints[3520]); + builder.AddEndpoint(Endpoints[3521]); + builder.AddEndpoint(Endpoints[3522]); + builder.AddEndpoint(Endpoints[3523]); + builder.AddEndpoint(Endpoints[3524]); + builder.AddEndpoint(Endpoints[3525]); + builder.AddEndpoint(Endpoints[3526]); + builder.AddEndpoint(Endpoints[3527]); + builder.AddEndpoint(Endpoints[3528]); + builder.AddEndpoint(Endpoints[3529]); + builder.AddEndpoint(Endpoints[3530]); + builder.AddEndpoint(Endpoints[3531]); + builder.AddEndpoint(Endpoints[3532]); + builder.AddEndpoint(Endpoints[3533]); + builder.AddEndpoint(Endpoints[3534]); + builder.AddEndpoint(Endpoints[3535]); + builder.AddEndpoint(Endpoints[3536]); + builder.AddEndpoint(Endpoints[3537]); + builder.AddEndpoint(Endpoints[3538]); + builder.AddEndpoint(Endpoints[3539]); + builder.AddEndpoint(Endpoints[3540]); + builder.AddEndpoint(Endpoints[3541]); + builder.AddEndpoint(Endpoints[3542]); + builder.AddEndpoint(Endpoints[3543]); + builder.AddEndpoint(Endpoints[3544]); + builder.AddEndpoint(Endpoints[3545]); + builder.AddEndpoint(Endpoints[3546]); + builder.AddEndpoint(Endpoints[3547]); + builder.AddEndpoint(Endpoints[3548]); + builder.AddEndpoint(Endpoints[3549]); + builder.AddEndpoint(Endpoints[3550]); + builder.AddEndpoint(Endpoints[3551]); + builder.AddEndpoint(Endpoints[3552]); + builder.AddEndpoint(Endpoints[3553]); + builder.AddEndpoint(Endpoints[3554]); + builder.AddEndpoint(Endpoints[3555]); + builder.AddEndpoint(Endpoints[3556]); + builder.AddEndpoint(Endpoints[3557]); + builder.AddEndpoint(Endpoints[3558]); + builder.AddEndpoint(Endpoints[3559]); + builder.AddEndpoint(Endpoints[3560]); + builder.AddEndpoint(Endpoints[3561]); + builder.AddEndpoint(Endpoints[3562]); + builder.AddEndpoint(Endpoints[3563]); + builder.AddEndpoint(Endpoints[3564]); + builder.AddEndpoint(Endpoints[3565]); + builder.AddEndpoint(Endpoints[3566]); + builder.AddEndpoint(Endpoints[3567]); + builder.AddEndpoint(Endpoints[3568]); + builder.AddEndpoint(Endpoints[3569]); + builder.AddEndpoint(Endpoints[3570]); + builder.AddEndpoint(Endpoints[3571]); + builder.AddEndpoint(Endpoints[3572]); + builder.AddEndpoint(Endpoints[3573]); + builder.AddEndpoint(Endpoints[3574]); + builder.AddEndpoint(Endpoints[3575]); + builder.AddEndpoint(Endpoints[3576]); + builder.AddEndpoint(Endpoints[3577]); + builder.AddEndpoint(Endpoints[3578]); + builder.AddEndpoint(Endpoints[3579]); + builder.AddEndpoint(Endpoints[3580]); + builder.AddEndpoint(Endpoints[3581]); + builder.AddEndpoint(Endpoints[3582]); + builder.AddEndpoint(Endpoints[3583]); + builder.AddEndpoint(Endpoints[3584]); + builder.AddEndpoint(Endpoints[3585]); + builder.AddEndpoint(Endpoints[3586]); + builder.AddEndpoint(Endpoints[3587]); + builder.AddEndpoint(Endpoints[3588]); + builder.AddEndpoint(Endpoints[3589]); + builder.AddEndpoint(Endpoints[3590]); + builder.AddEndpoint(Endpoints[3591]); + builder.AddEndpoint(Endpoints[3592]); + builder.AddEndpoint(Endpoints[3593]); + builder.AddEndpoint(Endpoints[3594]); + builder.AddEndpoint(Endpoints[3595]); + builder.AddEndpoint(Endpoints[3596]); + builder.AddEndpoint(Endpoints[3597]); + builder.AddEndpoint(Endpoints[3598]); + builder.AddEndpoint(Endpoints[3599]); + builder.AddEndpoint(Endpoints[3600]); + builder.AddEndpoint(Endpoints[3601]); + builder.AddEndpoint(Endpoints[3602]); + builder.AddEndpoint(Endpoints[3603]); + builder.AddEndpoint(Endpoints[3604]); + builder.AddEndpoint(Endpoints[3605]); + builder.AddEndpoint(Endpoints[3606]); + builder.AddEndpoint(Endpoints[3607]); + builder.AddEndpoint(Endpoints[3608]); + builder.AddEndpoint(Endpoints[3609]); + builder.AddEndpoint(Endpoints[3610]); + builder.AddEndpoint(Endpoints[3611]); + builder.AddEndpoint(Endpoints[3612]); + builder.AddEndpoint(Endpoints[3613]); + builder.AddEndpoint(Endpoints[3614]); + builder.AddEndpoint(Endpoints[3615]); + builder.AddEndpoint(Endpoints[3616]); + builder.AddEndpoint(Endpoints[3617]); + builder.AddEndpoint(Endpoints[3618]); + builder.AddEndpoint(Endpoints[3619]); + builder.AddEndpoint(Endpoints[3620]); + builder.AddEndpoint(Endpoints[3621]); + builder.AddEndpoint(Endpoints[3622]); + builder.AddEndpoint(Endpoints[3623]); + builder.AddEndpoint(Endpoints[3624]); + builder.AddEndpoint(Endpoints[3625]); + builder.AddEndpoint(Endpoints[3626]); + builder.AddEndpoint(Endpoints[3627]); + builder.AddEndpoint(Endpoints[3628]); + builder.AddEndpoint(Endpoints[3629]); + builder.AddEndpoint(Endpoints[3630]); + builder.AddEndpoint(Endpoints[3631]); + builder.AddEndpoint(Endpoints[3632]); + builder.AddEndpoint(Endpoints[3633]); + builder.AddEndpoint(Endpoints[3634]); + builder.AddEndpoint(Endpoints[3635]); + builder.AddEndpoint(Endpoints[3636]); + builder.AddEndpoint(Endpoints[3637]); + builder.AddEndpoint(Endpoints[3638]); + builder.AddEndpoint(Endpoints[3639]); + builder.AddEndpoint(Endpoints[3640]); + builder.AddEndpoint(Endpoints[3641]); + builder.AddEndpoint(Endpoints[3642]); + builder.AddEndpoint(Endpoints[3643]); + builder.AddEndpoint(Endpoints[3644]); + builder.AddEndpoint(Endpoints[3645]); + builder.AddEndpoint(Endpoints[3646]); + builder.AddEndpoint(Endpoints[3647]); + builder.AddEndpoint(Endpoints[3648]); + builder.AddEndpoint(Endpoints[3649]); + builder.AddEndpoint(Endpoints[3650]); + builder.AddEndpoint(Endpoints[3651]); + builder.AddEndpoint(Endpoints[3652]); + builder.AddEndpoint(Endpoints[3653]); + builder.AddEndpoint(Endpoints[3654]); + builder.AddEndpoint(Endpoints[3655]); + builder.AddEndpoint(Endpoints[3656]); + builder.AddEndpoint(Endpoints[3657]); + builder.AddEndpoint(Endpoints[3658]); + builder.AddEndpoint(Endpoints[3659]); + builder.AddEndpoint(Endpoints[3660]); + builder.AddEndpoint(Endpoints[3661]); + builder.AddEndpoint(Endpoints[3662]); + builder.AddEndpoint(Endpoints[3663]); + builder.AddEndpoint(Endpoints[3664]); + builder.AddEndpoint(Endpoints[3665]); + builder.AddEndpoint(Endpoints[3666]); + builder.AddEndpoint(Endpoints[3667]); + builder.AddEndpoint(Endpoints[3668]); + builder.AddEndpoint(Endpoints[3669]); + builder.AddEndpoint(Endpoints[3670]); + builder.AddEndpoint(Endpoints[3671]); + builder.AddEndpoint(Endpoints[3672]); + builder.AddEndpoint(Endpoints[3673]); + builder.AddEndpoint(Endpoints[3674]); + builder.AddEndpoint(Endpoints[3675]); + builder.AddEndpoint(Endpoints[3676]); + builder.AddEndpoint(Endpoints[3677]); + builder.AddEndpoint(Endpoints[3678]); + builder.AddEndpoint(Endpoints[3679]); + builder.AddEndpoint(Endpoints[3680]); + builder.AddEndpoint(Endpoints[3681]); + builder.AddEndpoint(Endpoints[3682]); + builder.AddEndpoint(Endpoints[3683]); + builder.AddEndpoint(Endpoints[3684]); + builder.AddEndpoint(Endpoints[3685]); + builder.AddEndpoint(Endpoints[3686]); + builder.AddEndpoint(Endpoints[3687]); + builder.AddEndpoint(Endpoints[3688]); + builder.AddEndpoint(Endpoints[3689]); + builder.AddEndpoint(Endpoints[3690]); + builder.AddEndpoint(Endpoints[3691]); + builder.AddEndpoint(Endpoints[3692]); + builder.AddEndpoint(Endpoints[3693]); + builder.AddEndpoint(Endpoints[3694]); + builder.AddEndpoint(Endpoints[3695]); + builder.AddEndpoint(Endpoints[3696]); + builder.AddEndpoint(Endpoints[3697]); + builder.AddEndpoint(Endpoints[3698]); + builder.AddEndpoint(Endpoints[3699]); + builder.AddEndpoint(Endpoints[3700]); + builder.AddEndpoint(Endpoints[3701]); + builder.AddEndpoint(Endpoints[3702]); + builder.AddEndpoint(Endpoints[3703]); + builder.AddEndpoint(Endpoints[3704]); + builder.AddEndpoint(Endpoints[3705]); + builder.AddEndpoint(Endpoints[3706]); + builder.AddEndpoint(Endpoints[3707]); + builder.AddEndpoint(Endpoints[3708]); + builder.AddEndpoint(Endpoints[3709]); + builder.AddEndpoint(Endpoints[3710]); + builder.AddEndpoint(Endpoints[3711]); + builder.AddEndpoint(Endpoints[3712]); + builder.AddEndpoint(Endpoints[3713]); + builder.AddEndpoint(Endpoints[3714]); + builder.AddEndpoint(Endpoints[3715]); + builder.AddEndpoint(Endpoints[3716]); + builder.AddEndpoint(Endpoints[3717]); + builder.AddEndpoint(Endpoints[3718]); + builder.AddEndpoint(Endpoints[3719]); + builder.AddEndpoint(Endpoints[3720]); + builder.AddEndpoint(Endpoints[3721]); + builder.AddEndpoint(Endpoints[3722]); + builder.AddEndpoint(Endpoints[3723]); + builder.AddEndpoint(Endpoints[3724]); + builder.AddEndpoint(Endpoints[3725]); + builder.AddEndpoint(Endpoints[3726]); + builder.AddEndpoint(Endpoints[3727]); + builder.AddEndpoint(Endpoints[3728]); + builder.AddEndpoint(Endpoints[3729]); + builder.AddEndpoint(Endpoints[3730]); + builder.AddEndpoint(Endpoints[3731]); + builder.AddEndpoint(Endpoints[3732]); + builder.AddEndpoint(Endpoints[3733]); + builder.AddEndpoint(Endpoints[3734]); + builder.AddEndpoint(Endpoints[3735]); + builder.AddEndpoint(Endpoints[3736]); + builder.AddEndpoint(Endpoints[3737]); + builder.AddEndpoint(Endpoints[3738]); + builder.AddEndpoint(Endpoints[3739]); + builder.AddEndpoint(Endpoints[3740]); + builder.AddEndpoint(Endpoints[3741]); + builder.AddEndpoint(Endpoints[3742]); + builder.AddEndpoint(Endpoints[3743]); + builder.AddEndpoint(Endpoints[3744]); + builder.AddEndpoint(Endpoints[3745]); + builder.AddEndpoint(Endpoints[3746]); + builder.AddEndpoint(Endpoints[3747]); + builder.AddEndpoint(Endpoints[3748]); + builder.AddEndpoint(Endpoints[3749]); + builder.AddEndpoint(Endpoints[3750]); + builder.AddEndpoint(Endpoints[3751]); + builder.AddEndpoint(Endpoints[3752]); + builder.AddEndpoint(Endpoints[3753]); + builder.AddEndpoint(Endpoints[3754]); + builder.AddEndpoint(Endpoints[3755]); + builder.AddEndpoint(Endpoints[3756]); + builder.AddEndpoint(Endpoints[3757]); + builder.AddEndpoint(Endpoints[3758]); + builder.AddEndpoint(Endpoints[3759]); + builder.AddEndpoint(Endpoints[3760]); + builder.AddEndpoint(Endpoints[3761]); + builder.AddEndpoint(Endpoints[3762]); + builder.AddEndpoint(Endpoints[3763]); + builder.AddEndpoint(Endpoints[3764]); + builder.AddEndpoint(Endpoints[3765]); + builder.AddEndpoint(Endpoints[3766]); + builder.AddEndpoint(Endpoints[3767]); + builder.AddEndpoint(Endpoints[3768]); + builder.AddEndpoint(Endpoints[3769]); + builder.AddEndpoint(Endpoints[3770]); + builder.AddEndpoint(Endpoints[3771]); + builder.AddEndpoint(Endpoints[3772]); + builder.AddEndpoint(Endpoints[3773]); + builder.AddEndpoint(Endpoints[3774]); + builder.AddEndpoint(Endpoints[3775]); + builder.AddEndpoint(Endpoints[3776]); + builder.AddEndpoint(Endpoints[3777]); + builder.AddEndpoint(Endpoints[3778]); + builder.AddEndpoint(Endpoints[3779]); + builder.AddEndpoint(Endpoints[3780]); + builder.AddEndpoint(Endpoints[3781]); + builder.AddEndpoint(Endpoints[3782]); + builder.AddEndpoint(Endpoints[3783]); + builder.AddEndpoint(Endpoints[3784]); + builder.AddEndpoint(Endpoints[3785]); + builder.AddEndpoint(Endpoints[3786]); + builder.AddEndpoint(Endpoints[3787]); + builder.AddEndpoint(Endpoints[3788]); + builder.AddEndpoint(Endpoints[3789]); + builder.AddEndpoint(Endpoints[3790]); + builder.AddEndpoint(Endpoints[3791]); + builder.AddEndpoint(Endpoints[3792]); + builder.AddEndpoint(Endpoints[3793]); + builder.AddEndpoint(Endpoints[3794]); + builder.AddEndpoint(Endpoints[3795]); + builder.AddEndpoint(Endpoints[3796]); + builder.AddEndpoint(Endpoints[3797]); + builder.AddEndpoint(Endpoints[3798]); + builder.AddEndpoint(Endpoints[3799]); + builder.AddEndpoint(Endpoints[3800]); + builder.AddEndpoint(Endpoints[3801]); + builder.AddEndpoint(Endpoints[3802]); + builder.AddEndpoint(Endpoints[3803]); + builder.AddEndpoint(Endpoints[3804]); + builder.AddEndpoint(Endpoints[3805]); + builder.AddEndpoint(Endpoints[3806]); + builder.AddEndpoint(Endpoints[3807]); + builder.AddEndpoint(Endpoints[3808]); + builder.AddEndpoint(Endpoints[3809]); + builder.AddEndpoint(Endpoints[3810]); + builder.AddEndpoint(Endpoints[3811]); + builder.AddEndpoint(Endpoints[3812]); + builder.AddEndpoint(Endpoints[3813]); + builder.AddEndpoint(Endpoints[3814]); + builder.AddEndpoint(Endpoints[3815]); + builder.AddEndpoint(Endpoints[3816]); + builder.AddEndpoint(Endpoints[3817]); + builder.AddEndpoint(Endpoints[3818]); + builder.AddEndpoint(Endpoints[3819]); + builder.AddEndpoint(Endpoints[3820]); + builder.AddEndpoint(Endpoints[3821]); + builder.AddEndpoint(Endpoints[3822]); + builder.AddEndpoint(Endpoints[3823]); + builder.AddEndpoint(Endpoints[3824]); + builder.AddEndpoint(Endpoints[3825]); + builder.AddEndpoint(Endpoints[3826]); + builder.AddEndpoint(Endpoints[3827]); + builder.AddEndpoint(Endpoints[3828]); + builder.AddEndpoint(Endpoints[3829]); + builder.AddEndpoint(Endpoints[3830]); + builder.AddEndpoint(Endpoints[3831]); + builder.AddEndpoint(Endpoints[3832]); + builder.AddEndpoint(Endpoints[3833]); + builder.AddEndpoint(Endpoints[3834]); + builder.AddEndpoint(Endpoints[3835]); + builder.AddEndpoint(Endpoints[3836]); + builder.AddEndpoint(Endpoints[3837]); + builder.AddEndpoint(Endpoints[3838]); + builder.AddEndpoint(Endpoints[3839]); + builder.AddEndpoint(Endpoints[3840]); + builder.AddEndpoint(Endpoints[3841]); + builder.AddEndpoint(Endpoints[3842]); + builder.AddEndpoint(Endpoints[3843]); + builder.AddEndpoint(Endpoints[3844]); + builder.AddEndpoint(Endpoints[3845]); + builder.AddEndpoint(Endpoints[3846]); + builder.AddEndpoint(Endpoints[3847]); + builder.AddEndpoint(Endpoints[3848]); + builder.AddEndpoint(Endpoints[3849]); + builder.AddEndpoint(Endpoints[3850]); + builder.AddEndpoint(Endpoints[3851]); + builder.AddEndpoint(Endpoints[3852]); + builder.AddEndpoint(Endpoints[3853]); + builder.AddEndpoint(Endpoints[3854]); + builder.AddEndpoint(Endpoints[3855]); + builder.AddEndpoint(Endpoints[3856]); + builder.AddEndpoint(Endpoints[3857]); + builder.AddEndpoint(Endpoints[3858]); + builder.AddEndpoint(Endpoints[3859]); + builder.AddEndpoint(Endpoints[3860]); + builder.AddEndpoint(Endpoints[3861]); + builder.AddEndpoint(Endpoints[3862]); + builder.AddEndpoint(Endpoints[3863]); + builder.AddEndpoint(Endpoints[3864]); + builder.AddEndpoint(Endpoints[3865]); + builder.AddEndpoint(Endpoints[3866]); + builder.AddEndpoint(Endpoints[3867]); + builder.AddEndpoint(Endpoints[3868]); + builder.AddEndpoint(Endpoints[3869]); + builder.AddEndpoint(Endpoints[3870]); + builder.AddEndpoint(Endpoints[3871]); + builder.AddEndpoint(Endpoints[3872]); + builder.AddEndpoint(Endpoints[3873]); + builder.AddEndpoint(Endpoints[3874]); + builder.AddEndpoint(Endpoints[3875]); + builder.AddEndpoint(Endpoints[3876]); + builder.AddEndpoint(Endpoints[3877]); + builder.AddEndpoint(Endpoints[3878]); + builder.AddEndpoint(Endpoints[3879]); + builder.AddEndpoint(Endpoints[3880]); + builder.AddEndpoint(Endpoints[3881]); + builder.AddEndpoint(Endpoints[3882]); + builder.AddEndpoint(Endpoints[3883]); + builder.AddEndpoint(Endpoints[3884]); + builder.AddEndpoint(Endpoints[3885]); + builder.AddEndpoint(Endpoints[3886]); + builder.AddEndpoint(Endpoints[3887]); + builder.AddEndpoint(Endpoints[3888]); + builder.AddEndpoint(Endpoints[3889]); + builder.AddEndpoint(Endpoints[3890]); + builder.AddEndpoint(Endpoints[3891]); + builder.AddEndpoint(Endpoints[3892]); + builder.AddEndpoint(Endpoints[3893]); + builder.AddEndpoint(Endpoints[3894]); + builder.AddEndpoint(Endpoints[3895]); + builder.AddEndpoint(Endpoints[3896]); + builder.AddEndpoint(Endpoints[3897]); + builder.AddEndpoint(Endpoints[3898]); + builder.AddEndpoint(Endpoints[3899]); + builder.AddEndpoint(Endpoints[3900]); + builder.AddEndpoint(Endpoints[3901]); + builder.AddEndpoint(Endpoints[3902]); + builder.AddEndpoint(Endpoints[3903]); + builder.AddEndpoint(Endpoints[3904]); + builder.AddEndpoint(Endpoints[3905]); + builder.AddEndpoint(Endpoints[3906]); + builder.AddEndpoint(Endpoints[3907]); + builder.AddEndpoint(Endpoints[3908]); + builder.AddEndpoint(Endpoints[3909]); + builder.AddEndpoint(Endpoints[3910]); + builder.AddEndpoint(Endpoints[3911]); + builder.AddEndpoint(Endpoints[3912]); + builder.AddEndpoint(Endpoints[3913]); + builder.AddEndpoint(Endpoints[3914]); + builder.AddEndpoint(Endpoints[3915]); + builder.AddEndpoint(Endpoints[3916]); + builder.AddEndpoint(Endpoints[3917]); + builder.AddEndpoint(Endpoints[3918]); + builder.AddEndpoint(Endpoints[3919]); + builder.AddEndpoint(Endpoints[3920]); + builder.AddEndpoint(Endpoints[3921]); + builder.AddEndpoint(Endpoints[3922]); + builder.AddEndpoint(Endpoints[3923]); + builder.AddEndpoint(Endpoints[3924]); + builder.AddEndpoint(Endpoints[3925]); + builder.AddEndpoint(Endpoints[3926]); + builder.AddEndpoint(Endpoints[3927]); + builder.AddEndpoint(Endpoints[3928]); + builder.AddEndpoint(Endpoints[3929]); + builder.AddEndpoint(Endpoints[3930]); + builder.AddEndpoint(Endpoints[3931]); + builder.AddEndpoint(Endpoints[3932]); + builder.AddEndpoint(Endpoints[3933]); + builder.AddEndpoint(Endpoints[3934]); + builder.AddEndpoint(Endpoints[3935]); + builder.AddEndpoint(Endpoints[3936]); + builder.AddEndpoint(Endpoints[3937]); + builder.AddEndpoint(Endpoints[3938]); + builder.AddEndpoint(Endpoints[3939]); + builder.AddEndpoint(Endpoints[3940]); + builder.AddEndpoint(Endpoints[3941]); + builder.AddEndpoint(Endpoints[3942]); + builder.AddEndpoint(Endpoints[3943]); + builder.AddEndpoint(Endpoints[3944]); + builder.AddEndpoint(Endpoints[3945]); + builder.AddEndpoint(Endpoints[3946]); + builder.AddEndpoint(Endpoints[3947]); + builder.AddEndpoint(Endpoints[3948]); + builder.AddEndpoint(Endpoints[3949]); + builder.AddEndpoint(Endpoints[3950]); + builder.AddEndpoint(Endpoints[3951]); + builder.AddEndpoint(Endpoints[3952]); + builder.AddEndpoint(Endpoints[3953]); + builder.AddEndpoint(Endpoints[3954]); + builder.AddEndpoint(Endpoints[3955]); + builder.AddEndpoint(Endpoints[3956]); + builder.AddEndpoint(Endpoints[3957]); + builder.AddEndpoint(Endpoints[3958]); + builder.AddEndpoint(Endpoints[3959]); + builder.AddEndpoint(Endpoints[3960]); + builder.AddEndpoint(Endpoints[3961]); + builder.AddEndpoint(Endpoints[3962]); + builder.AddEndpoint(Endpoints[3963]); + builder.AddEndpoint(Endpoints[3964]); + builder.AddEndpoint(Endpoints[3965]); + builder.AddEndpoint(Endpoints[3966]); + builder.AddEndpoint(Endpoints[3967]); + builder.AddEndpoint(Endpoints[3968]); + builder.AddEndpoint(Endpoints[3969]); + builder.AddEndpoint(Endpoints[3970]); + builder.AddEndpoint(Endpoints[3971]); + builder.AddEndpoint(Endpoints[3972]); + builder.AddEndpoint(Endpoints[3973]); + builder.AddEndpoint(Endpoints[3974]); + builder.AddEndpoint(Endpoints[3975]); + builder.AddEndpoint(Endpoints[3976]); + builder.AddEndpoint(Endpoints[3977]); + builder.AddEndpoint(Endpoints[3978]); + builder.AddEndpoint(Endpoints[3979]); + builder.AddEndpoint(Endpoints[3980]); + builder.AddEndpoint(Endpoints[3981]); + builder.AddEndpoint(Endpoints[3982]); + builder.AddEndpoint(Endpoints[3983]); + builder.AddEndpoint(Endpoints[3984]); + builder.AddEndpoint(Endpoints[3985]); + builder.AddEndpoint(Endpoints[3986]); + builder.AddEndpoint(Endpoints[3987]); + builder.AddEndpoint(Endpoints[3988]); + builder.AddEndpoint(Endpoints[3989]); + builder.AddEndpoint(Endpoints[3990]); + builder.AddEndpoint(Endpoints[3991]); + builder.AddEndpoint(Endpoints[3992]); + builder.AddEndpoint(Endpoints[3993]); + builder.AddEndpoint(Endpoints[3994]); + builder.AddEndpoint(Endpoints[3995]); + builder.AddEndpoint(Endpoints[3996]); + builder.AddEndpoint(Endpoints[3997]); + builder.AddEndpoint(Endpoints[3998]); + builder.AddEndpoint(Endpoints[3999]); + builder.AddEndpoint(Endpoints[4000]); + builder.AddEndpoint(Endpoints[4001]); + builder.AddEndpoint(Endpoints[4002]); + builder.AddEndpoint(Endpoints[4003]); + builder.AddEndpoint(Endpoints[4004]); + builder.AddEndpoint(Endpoints[4005]); + builder.AddEndpoint(Endpoints[4006]); + builder.AddEndpoint(Endpoints[4007]); + builder.AddEndpoint(Endpoints[4008]); + builder.AddEndpoint(Endpoints[4009]); + builder.AddEndpoint(Endpoints[4010]); + builder.AddEndpoint(Endpoints[4011]); + builder.AddEndpoint(Endpoints[4012]); + builder.AddEndpoint(Endpoints[4013]); + builder.AddEndpoint(Endpoints[4014]); + builder.AddEndpoint(Endpoints[4015]); + builder.AddEndpoint(Endpoints[4016]); + builder.AddEndpoint(Endpoints[4017]); + builder.AddEndpoint(Endpoints[4018]); + builder.AddEndpoint(Endpoints[4019]); + builder.AddEndpoint(Endpoints[4020]); + builder.AddEndpoint(Endpoints[4021]); + builder.AddEndpoint(Endpoints[4022]); + builder.AddEndpoint(Endpoints[4023]); + builder.AddEndpoint(Endpoints[4024]); + builder.AddEndpoint(Endpoints[4025]); + builder.AddEndpoint(Endpoints[4026]); + builder.AddEndpoint(Endpoints[4027]); + builder.AddEndpoint(Endpoints[4028]); + builder.AddEndpoint(Endpoints[4029]); + builder.AddEndpoint(Endpoints[4030]); + builder.AddEndpoint(Endpoints[4031]); + builder.AddEndpoint(Endpoints[4032]); + builder.AddEndpoint(Endpoints[4033]); + builder.AddEndpoint(Endpoints[4034]); + builder.AddEndpoint(Endpoints[4035]); + builder.AddEndpoint(Endpoints[4036]); + builder.AddEndpoint(Endpoints[4037]); + builder.AddEndpoint(Endpoints[4038]); + builder.AddEndpoint(Endpoints[4039]); + builder.AddEndpoint(Endpoints[4040]); + builder.AddEndpoint(Endpoints[4041]); + builder.AddEndpoint(Endpoints[4042]); + builder.AddEndpoint(Endpoints[4043]); + builder.AddEndpoint(Endpoints[4044]); + builder.AddEndpoint(Endpoints[4045]); + builder.AddEndpoint(Endpoints[4046]); + builder.AddEndpoint(Endpoints[4047]); + builder.AddEndpoint(Endpoints[4048]); + builder.AddEndpoint(Endpoints[4049]); + builder.AddEndpoint(Endpoints[4050]); + builder.AddEndpoint(Endpoints[4051]); + builder.AddEndpoint(Endpoints[4052]); + builder.AddEndpoint(Endpoints[4053]); + builder.AddEndpoint(Endpoints[4054]); + builder.AddEndpoint(Endpoints[4055]); + builder.AddEndpoint(Endpoints[4056]); + builder.AddEndpoint(Endpoints[4057]); + builder.AddEndpoint(Endpoints[4058]); + builder.AddEndpoint(Endpoints[4059]); + builder.AddEndpoint(Endpoints[4060]); + builder.AddEndpoint(Endpoints[4061]); + builder.AddEndpoint(Endpoints[4062]); + builder.AddEndpoint(Endpoints[4063]); + builder.AddEndpoint(Endpoints[4064]); + builder.AddEndpoint(Endpoints[4065]); + builder.AddEndpoint(Endpoints[4066]); + builder.AddEndpoint(Endpoints[4067]); + builder.AddEndpoint(Endpoints[4068]); + builder.AddEndpoint(Endpoints[4069]); + builder.AddEndpoint(Endpoints[4070]); + builder.AddEndpoint(Endpoints[4071]); + builder.AddEndpoint(Endpoints[4072]); + builder.AddEndpoint(Endpoints[4073]); + builder.AddEndpoint(Endpoints[4074]); + builder.AddEndpoint(Endpoints[4075]); + builder.AddEndpoint(Endpoints[4076]); + builder.AddEndpoint(Endpoints[4077]); + builder.AddEndpoint(Endpoints[4078]); + builder.AddEndpoint(Endpoints[4079]); + builder.AddEndpoint(Endpoints[4080]); + builder.AddEndpoint(Endpoints[4081]); + builder.AddEndpoint(Endpoints[4082]); + builder.AddEndpoint(Endpoints[4083]); + builder.AddEndpoint(Endpoints[4084]); + builder.AddEndpoint(Endpoints[4085]); + builder.AddEndpoint(Endpoints[4086]); + builder.AddEndpoint(Endpoints[4087]); + builder.AddEndpoint(Endpoints[4088]); + builder.AddEndpoint(Endpoints[4089]); + builder.AddEndpoint(Endpoints[4090]); + builder.AddEndpoint(Endpoints[4091]); + builder.AddEndpoint(Endpoints[4092]); + builder.AddEndpoint(Endpoints[4093]); + builder.AddEndpoint(Endpoints[4094]); + builder.AddEndpoint(Endpoints[4095]); + builder.AddEndpoint(Endpoints[4096]); + builder.AddEndpoint(Endpoints[4097]); + builder.AddEndpoint(Endpoints[4098]); + builder.AddEndpoint(Endpoints[4099]); + builder.AddEndpoint(Endpoints[4100]); + builder.AddEndpoint(Endpoints[4101]); + builder.AddEndpoint(Endpoints[4102]); + builder.AddEndpoint(Endpoints[4103]); + builder.AddEndpoint(Endpoints[4104]); + builder.AddEndpoint(Endpoints[4105]); + builder.AddEndpoint(Endpoints[4106]); + builder.AddEndpoint(Endpoints[4107]); + builder.AddEndpoint(Endpoints[4108]); + builder.AddEndpoint(Endpoints[4109]); + builder.AddEndpoint(Endpoints[4110]); + builder.AddEndpoint(Endpoints[4111]); + builder.AddEndpoint(Endpoints[4112]); + builder.AddEndpoint(Endpoints[4113]); + builder.AddEndpoint(Endpoints[4114]); + builder.AddEndpoint(Endpoints[4115]); + builder.AddEndpoint(Endpoints[4116]); + builder.AddEndpoint(Endpoints[4117]); + builder.AddEndpoint(Endpoints[4118]); + builder.AddEndpoint(Endpoints[4119]); + builder.AddEndpoint(Endpoints[4120]); + builder.AddEndpoint(Endpoints[4121]); + builder.AddEndpoint(Endpoints[4122]); + builder.AddEndpoint(Endpoints[4123]); + builder.AddEndpoint(Endpoints[4124]); + builder.AddEndpoint(Endpoints[4125]); + builder.AddEndpoint(Endpoints[4126]); + builder.AddEndpoint(Endpoints[4127]); + builder.AddEndpoint(Endpoints[4128]); + builder.AddEndpoint(Endpoints[4129]); + builder.AddEndpoint(Endpoints[4130]); + builder.AddEndpoint(Endpoints[4131]); + builder.AddEndpoint(Endpoints[4132]); + builder.AddEndpoint(Endpoints[4133]); + builder.AddEndpoint(Endpoints[4134]); + builder.AddEndpoint(Endpoints[4135]); + builder.AddEndpoint(Endpoints[4136]); + builder.AddEndpoint(Endpoints[4137]); + builder.AddEndpoint(Endpoints[4138]); + builder.AddEndpoint(Endpoints[4139]); + builder.AddEndpoint(Endpoints[4140]); + builder.AddEndpoint(Endpoints[4141]); + builder.AddEndpoint(Endpoints[4142]); + builder.AddEndpoint(Endpoints[4143]); + builder.AddEndpoint(Endpoints[4144]); + builder.AddEndpoint(Endpoints[4145]); + builder.AddEndpoint(Endpoints[4146]); + builder.AddEndpoint(Endpoints[4147]); + builder.AddEndpoint(Endpoints[4148]); + builder.AddEndpoint(Endpoints[4149]); + builder.AddEndpoint(Endpoints[4150]); + builder.AddEndpoint(Endpoints[4151]); + builder.AddEndpoint(Endpoints[4152]); + builder.AddEndpoint(Endpoints[4153]); + builder.AddEndpoint(Endpoints[4154]); + builder.AddEndpoint(Endpoints[4155]); + builder.AddEndpoint(Endpoints[4156]); + builder.AddEndpoint(Endpoints[4157]); + builder.AddEndpoint(Endpoints[4158]); + builder.AddEndpoint(Endpoints[4159]); + builder.AddEndpoint(Endpoints[4160]); + builder.AddEndpoint(Endpoints[4161]); + builder.AddEndpoint(Endpoints[4162]); + builder.AddEndpoint(Endpoints[4163]); + builder.AddEndpoint(Endpoints[4164]); + builder.AddEndpoint(Endpoints[4165]); + builder.AddEndpoint(Endpoints[4166]); + builder.AddEndpoint(Endpoints[4167]); + builder.AddEndpoint(Endpoints[4168]); + builder.AddEndpoint(Endpoints[4169]); + builder.AddEndpoint(Endpoints[4170]); + builder.AddEndpoint(Endpoints[4171]); + builder.AddEndpoint(Endpoints[4172]); + builder.AddEndpoint(Endpoints[4173]); + builder.AddEndpoint(Endpoints[4174]); + builder.AddEndpoint(Endpoints[4175]); + builder.AddEndpoint(Endpoints[4176]); + builder.AddEndpoint(Endpoints[4177]); + builder.AddEndpoint(Endpoints[4178]); + builder.AddEndpoint(Endpoints[4179]); + builder.AddEndpoint(Endpoints[4180]); + builder.AddEndpoint(Endpoints[4181]); + builder.AddEndpoint(Endpoints[4182]); + builder.AddEndpoint(Endpoints[4183]); + builder.AddEndpoint(Endpoints[4184]); + builder.AddEndpoint(Endpoints[4185]); + builder.AddEndpoint(Endpoints[4186]); + builder.AddEndpoint(Endpoints[4187]); + builder.AddEndpoint(Endpoints[4188]); + builder.AddEndpoint(Endpoints[4189]); + builder.AddEndpoint(Endpoints[4190]); + builder.AddEndpoint(Endpoints[4191]); + builder.AddEndpoint(Endpoints[4192]); + builder.AddEndpoint(Endpoints[4193]); + builder.AddEndpoint(Endpoints[4194]); + builder.AddEndpoint(Endpoints[4195]); + builder.AddEndpoint(Endpoints[4196]); + builder.AddEndpoint(Endpoints[4197]); + builder.AddEndpoint(Endpoints[4198]); + builder.AddEndpoint(Endpoints[4199]); + builder.AddEndpoint(Endpoints[4200]); + builder.AddEndpoint(Endpoints[4201]); + builder.AddEndpoint(Endpoints[4202]); + builder.AddEndpoint(Endpoints[4203]); + builder.AddEndpoint(Endpoints[4204]); + builder.AddEndpoint(Endpoints[4205]); + builder.AddEndpoint(Endpoints[4206]); + builder.AddEndpoint(Endpoints[4207]); + builder.AddEndpoint(Endpoints[4208]); + builder.AddEndpoint(Endpoints[4209]); + builder.AddEndpoint(Endpoints[4210]); + builder.AddEndpoint(Endpoints[4211]); + builder.AddEndpoint(Endpoints[4212]); + builder.AddEndpoint(Endpoints[4213]); + builder.AddEndpoint(Endpoints[4214]); + builder.AddEndpoint(Endpoints[4215]); + builder.AddEndpoint(Endpoints[4216]); + builder.AddEndpoint(Endpoints[4217]); + builder.AddEndpoint(Endpoints[4218]); + builder.AddEndpoint(Endpoints[4219]); + builder.AddEndpoint(Endpoints[4220]); + builder.AddEndpoint(Endpoints[4221]); + builder.AddEndpoint(Endpoints[4222]); + builder.AddEndpoint(Endpoints[4223]); + builder.AddEndpoint(Endpoints[4224]); + builder.AddEndpoint(Endpoints[4225]); + builder.AddEndpoint(Endpoints[4226]); + builder.AddEndpoint(Endpoints[4227]); + builder.AddEndpoint(Endpoints[4228]); + builder.AddEndpoint(Endpoints[4229]); + builder.AddEndpoint(Endpoints[4230]); + builder.AddEndpoint(Endpoints[4231]); + builder.AddEndpoint(Endpoints[4232]); + builder.AddEndpoint(Endpoints[4233]); + builder.AddEndpoint(Endpoints[4234]); + builder.AddEndpoint(Endpoints[4235]); + builder.AddEndpoint(Endpoints[4236]); + builder.AddEndpoint(Endpoints[4237]); + builder.AddEndpoint(Endpoints[4238]); + builder.AddEndpoint(Endpoints[4239]); + builder.AddEndpoint(Endpoints[4240]); + builder.AddEndpoint(Endpoints[4241]); + builder.AddEndpoint(Endpoints[4242]); + builder.AddEndpoint(Endpoints[4243]); + builder.AddEndpoint(Endpoints[4244]); + builder.AddEndpoint(Endpoints[4245]); + builder.AddEndpoint(Endpoints[4246]); + builder.AddEndpoint(Endpoints[4247]); + builder.AddEndpoint(Endpoints[4248]); + builder.AddEndpoint(Endpoints[4249]); + builder.AddEndpoint(Endpoints[4250]); + builder.AddEndpoint(Endpoints[4251]); + builder.AddEndpoint(Endpoints[4252]); + builder.AddEndpoint(Endpoints[4253]); + builder.AddEndpoint(Endpoints[4254]); + builder.AddEndpoint(Endpoints[4255]); + builder.AddEndpoint(Endpoints[4256]); + builder.AddEndpoint(Endpoints[4257]); + builder.AddEndpoint(Endpoints[4258]); + builder.AddEndpoint(Endpoints[4259]); + builder.AddEndpoint(Endpoints[4260]); + builder.AddEndpoint(Endpoints[4261]); + builder.AddEndpoint(Endpoints[4262]); + builder.AddEndpoint(Endpoints[4263]); + builder.AddEndpoint(Endpoints[4264]); + builder.AddEndpoint(Endpoints[4265]); + builder.AddEndpoint(Endpoints[4266]); + builder.AddEndpoint(Endpoints[4267]); + builder.AddEndpoint(Endpoints[4268]); + builder.AddEndpoint(Endpoints[4269]); + builder.AddEndpoint(Endpoints[4270]); + builder.AddEndpoint(Endpoints[4271]); + builder.AddEndpoint(Endpoints[4272]); + builder.AddEndpoint(Endpoints[4273]); + builder.AddEndpoint(Endpoints[4274]); + builder.AddEndpoint(Endpoints[4275]); + builder.AddEndpoint(Endpoints[4276]); + builder.AddEndpoint(Endpoints[4277]); + builder.AddEndpoint(Endpoints[4278]); + builder.AddEndpoint(Endpoints[4279]); + builder.AddEndpoint(Endpoints[4280]); + builder.AddEndpoint(Endpoints[4281]); + builder.AddEndpoint(Endpoints[4282]); + builder.AddEndpoint(Endpoints[4283]); + builder.AddEndpoint(Endpoints[4284]); + builder.AddEndpoint(Endpoints[4285]); + builder.AddEndpoint(Endpoints[4286]); + builder.AddEndpoint(Endpoints[4287]); + builder.AddEndpoint(Endpoints[4288]); + builder.AddEndpoint(Endpoints[4289]); + builder.AddEndpoint(Endpoints[4290]); + builder.AddEndpoint(Endpoints[4291]); + builder.AddEndpoint(Endpoints[4292]); + builder.AddEndpoint(Endpoints[4293]); + builder.AddEndpoint(Endpoints[4294]); + builder.AddEndpoint(Endpoints[4295]); + builder.AddEndpoint(Endpoints[4296]); + builder.AddEndpoint(Endpoints[4297]); + builder.AddEndpoint(Endpoints[4298]); + builder.AddEndpoint(Endpoints[4299]); + builder.AddEndpoint(Endpoints[4300]); + builder.AddEndpoint(Endpoints[4301]); + builder.AddEndpoint(Endpoints[4302]); + builder.AddEndpoint(Endpoints[4303]); + builder.AddEndpoint(Endpoints[4304]); + builder.AddEndpoint(Endpoints[4305]); + builder.AddEndpoint(Endpoints[4306]); + builder.AddEndpoint(Endpoints[4307]); + builder.AddEndpoint(Endpoints[4308]); + builder.AddEndpoint(Endpoints[4309]); + builder.AddEndpoint(Endpoints[4310]); + builder.AddEndpoint(Endpoints[4311]); + builder.AddEndpoint(Endpoints[4312]); + builder.AddEndpoint(Endpoints[4313]); + builder.AddEndpoint(Endpoints[4314]); + builder.AddEndpoint(Endpoints[4315]); + builder.AddEndpoint(Endpoints[4316]); + builder.AddEndpoint(Endpoints[4317]); + builder.AddEndpoint(Endpoints[4318]); + builder.AddEndpoint(Endpoints[4319]); + builder.AddEndpoint(Endpoints[4320]); + builder.AddEndpoint(Endpoints[4321]); + builder.AddEndpoint(Endpoints[4322]); + builder.AddEndpoint(Endpoints[4323]); + builder.AddEndpoint(Endpoints[4324]); + builder.AddEndpoint(Endpoints[4325]); + builder.AddEndpoint(Endpoints[4326]); + builder.AddEndpoint(Endpoints[4327]); + builder.AddEndpoint(Endpoints[4328]); + builder.AddEndpoint(Endpoints[4329]); + builder.AddEndpoint(Endpoints[4330]); + builder.AddEndpoint(Endpoints[4331]); + builder.AddEndpoint(Endpoints[4332]); + builder.AddEndpoint(Endpoints[4333]); + builder.AddEndpoint(Endpoints[4334]); + builder.AddEndpoint(Endpoints[4335]); + builder.AddEndpoint(Endpoints[4336]); + builder.AddEndpoint(Endpoints[4337]); + builder.AddEndpoint(Endpoints[4338]); + builder.AddEndpoint(Endpoints[4339]); + builder.AddEndpoint(Endpoints[4340]); + builder.AddEndpoint(Endpoints[4341]); + builder.AddEndpoint(Endpoints[4342]); + builder.AddEndpoint(Endpoints[4343]); + builder.AddEndpoint(Endpoints[4344]); + builder.AddEndpoint(Endpoints[4345]); + builder.AddEndpoint(Endpoints[4346]); + builder.AddEndpoint(Endpoints[4347]); + builder.AddEndpoint(Endpoints[4348]); + builder.AddEndpoint(Endpoints[4349]); + builder.AddEndpoint(Endpoints[4350]); + builder.AddEndpoint(Endpoints[4351]); + builder.AddEndpoint(Endpoints[4352]); + builder.AddEndpoint(Endpoints[4353]); + builder.AddEndpoint(Endpoints[4354]); + builder.AddEndpoint(Endpoints[4355]); + builder.AddEndpoint(Endpoints[4356]); + builder.AddEndpoint(Endpoints[4357]); + builder.AddEndpoint(Endpoints[4358]); + builder.AddEndpoint(Endpoints[4359]); + builder.AddEndpoint(Endpoints[4360]); + builder.AddEndpoint(Endpoints[4361]); + builder.AddEndpoint(Endpoints[4362]); + builder.AddEndpoint(Endpoints[4363]); + builder.AddEndpoint(Endpoints[4364]); + builder.AddEndpoint(Endpoints[4365]); + builder.AddEndpoint(Endpoints[4366]); + builder.AddEndpoint(Endpoints[4367]); + builder.AddEndpoint(Endpoints[4368]); + builder.AddEndpoint(Endpoints[4369]); + builder.AddEndpoint(Endpoints[4370]); + builder.AddEndpoint(Endpoints[4371]); + builder.AddEndpoint(Endpoints[4372]); + builder.AddEndpoint(Endpoints[4373]); + builder.AddEndpoint(Endpoints[4374]); + builder.AddEndpoint(Endpoints[4375]); + builder.AddEndpoint(Endpoints[4376]); + builder.AddEndpoint(Endpoints[4377]); + builder.AddEndpoint(Endpoints[4378]); + builder.AddEndpoint(Endpoints[4379]); + builder.AddEndpoint(Endpoints[4380]); + builder.AddEndpoint(Endpoints[4381]); + builder.AddEndpoint(Endpoints[4382]); + builder.AddEndpoint(Endpoints[4383]); + builder.AddEndpoint(Endpoints[4384]); + builder.AddEndpoint(Endpoints[4385]); + builder.AddEndpoint(Endpoints[4386]); + builder.AddEndpoint(Endpoints[4387]); + builder.AddEndpoint(Endpoints[4388]); + builder.AddEndpoint(Endpoints[4389]); + builder.AddEndpoint(Endpoints[4390]); + builder.AddEndpoint(Endpoints[4391]); + builder.AddEndpoint(Endpoints[4392]); + builder.AddEndpoint(Endpoints[4393]); + builder.AddEndpoint(Endpoints[4394]); + builder.AddEndpoint(Endpoints[4395]); + builder.AddEndpoint(Endpoints[4396]); + builder.AddEndpoint(Endpoints[4397]); + builder.AddEndpoint(Endpoints[4398]); + builder.AddEndpoint(Endpoints[4399]); + builder.AddEndpoint(Endpoints[4400]); + builder.AddEndpoint(Endpoints[4401]); + builder.AddEndpoint(Endpoints[4402]); + builder.AddEndpoint(Endpoints[4403]); + builder.AddEndpoint(Endpoints[4404]); + builder.AddEndpoint(Endpoints[4405]); + builder.AddEndpoint(Endpoints[4406]); + builder.AddEndpoint(Endpoints[4407]); + builder.AddEndpoint(Endpoints[4408]); + builder.AddEndpoint(Endpoints[4409]); + builder.AddEndpoint(Endpoints[4410]); + builder.AddEndpoint(Endpoints[4411]); + builder.AddEndpoint(Endpoints[4412]); + builder.AddEndpoint(Endpoints[4413]); + builder.AddEndpoint(Endpoints[4414]); + builder.AddEndpoint(Endpoints[4415]); + builder.AddEndpoint(Endpoints[4416]); + builder.AddEndpoint(Endpoints[4417]); + builder.AddEndpoint(Endpoints[4418]); + builder.AddEndpoint(Endpoints[4419]); + builder.AddEndpoint(Endpoints[4420]); + builder.AddEndpoint(Endpoints[4421]); + builder.AddEndpoint(Endpoints[4422]); + builder.AddEndpoint(Endpoints[4423]); + builder.AddEndpoint(Endpoints[4424]); + builder.AddEndpoint(Endpoints[4425]); + builder.AddEndpoint(Endpoints[4426]); + builder.AddEndpoint(Endpoints[4427]); + builder.AddEndpoint(Endpoints[4428]); + builder.AddEndpoint(Endpoints[4429]); + builder.AddEndpoint(Endpoints[4430]); + builder.AddEndpoint(Endpoints[4431]); + builder.AddEndpoint(Endpoints[4432]); + builder.AddEndpoint(Endpoints[4433]); + builder.AddEndpoint(Endpoints[4434]); + builder.AddEndpoint(Endpoints[4435]); + builder.AddEndpoint(Endpoints[4436]); + builder.AddEndpoint(Endpoints[4437]); + builder.AddEndpoint(Endpoints[4438]); + builder.AddEndpoint(Endpoints[4439]); + builder.AddEndpoint(Endpoints[4440]); + builder.AddEndpoint(Endpoints[4441]); + builder.AddEndpoint(Endpoints[4442]); + builder.AddEndpoint(Endpoints[4443]); + builder.AddEndpoint(Endpoints[4444]); + builder.AddEndpoint(Endpoints[4445]); + builder.AddEndpoint(Endpoints[4446]); + builder.AddEndpoint(Endpoints[4447]); + builder.AddEndpoint(Endpoints[4448]); + builder.AddEndpoint(Endpoints[4449]); + builder.AddEndpoint(Endpoints[4450]); + builder.AddEndpoint(Endpoints[4451]); + builder.AddEndpoint(Endpoints[4452]); + builder.AddEndpoint(Endpoints[4453]); + builder.AddEndpoint(Endpoints[4454]); + builder.AddEndpoint(Endpoints[4455]); + builder.AddEndpoint(Endpoints[4456]); + builder.AddEndpoint(Endpoints[4457]); + builder.AddEndpoint(Endpoints[4458]); + builder.AddEndpoint(Endpoints[4459]); + builder.AddEndpoint(Endpoints[4460]); + builder.AddEndpoint(Endpoints[4461]); + builder.AddEndpoint(Endpoints[4462]); + builder.AddEndpoint(Endpoints[4463]); + builder.AddEndpoint(Endpoints[4464]); + builder.AddEndpoint(Endpoints[4465]); + builder.AddEndpoint(Endpoints[4466]); + builder.AddEndpoint(Endpoints[4467]); + builder.AddEndpoint(Endpoints[4468]); + builder.AddEndpoint(Endpoints[4469]); + builder.AddEndpoint(Endpoints[4470]); + builder.AddEndpoint(Endpoints[4471]); + builder.AddEndpoint(Endpoints[4472]); + builder.AddEndpoint(Endpoints[4473]); + builder.AddEndpoint(Endpoints[4474]); + builder.AddEndpoint(Endpoints[4475]); + builder.AddEndpoint(Endpoints[4476]); + builder.AddEndpoint(Endpoints[4477]); + builder.AddEndpoint(Endpoints[4478]); + builder.AddEndpoint(Endpoints[4479]); + builder.AddEndpoint(Endpoints[4480]); + builder.AddEndpoint(Endpoints[4481]); + builder.AddEndpoint(Endpoints[4482]); + builder.AddEndpoint(Endpoints[4483]); + builder.AddEndpoint(Endpoints[4484]); + builder.AddEndpoint(Endpoints[4485]); + builder.AddEndpoint(Endpoints[4486]); + builder.AddEndpoint(Endpoints[4487]); + builder.AddEndpoint(Endpoints[4488]); + builder.AddEndpoint(Endpoints[4489]); + builder.AddEndpoint(Endpoints[4490]); + builder.AddEndpoint(Endpoints[4491]); + builder.AddEndpoint(Endpoints[4492]); + builder.AddEndpoint(Endpoints[4493]); + builder.AddEndpoint(Endpoints[4494]); + builder.AddEndpoint(Endpoints[4495]); + builder.AddEndpoint(Endpoints[4496]); + builder.AddEndpoint(Endpoints[4497]); + builder.AddEndpoint(Endpoints[4498]); + builder.AddEndpoint(Endpoints[4499]); + builder.AddEndpoint(Endpoints[4500]); + builder.AddEndpoint(Endpoints[4501]); + builder.AddEndpoint(Endpoints[4502]); + builder.AddEndpoint(Endpoints[4503]); + builder.AddEndpoint(Endpoints[4504]); + builder.AddEndpoint(Endpoints[4505]); + builder.AddEndpoint(Endpoints[4506]); + builder.AddEndpoint(Endpoints[4507]); + builder.AddEndpoint(Endpoints[4508]); + builder.AddEndpoint(Endpoints[4509]); + builder.AddEndpoint(Endpoints[4510]); + builder.AddEndpoint(Endpoints[4511]); + builder.AddEndpoint(Endpoints[4512]); + builder.AddEndpoint(Endpoints[4513]); + builder.AddEndpoint(Endpoints[4514]); + builder.AddEndpoint(Endpoints[4515]); + builder.AddEndpoint(Endpoints[4516]); + builder.AddEndpoint(Endpoints[4517]); + builder.AddEndpoint(Endpoints[4518]); + builder.AddEndpoint(Endpoints[4519]); + builder.AddEndpoint(Endpoints[4520]); + builder.AddEndpoint(Endpoints[4521]); + builder.AddEndpoint(Endpoints[4522]); + builder.AddEndpoint(Endpoints[4523]); + builder.AddEndpoint(Endpoints[4524]); + builder.AddEndpoint(Endpoints[4525]); + builder.AddEndpoint(Endpoints[4526]); + builder.AddEndpoint(Endpoints[4527]); + builder.AddEndpoint(Endpoints[4528]); + builder.AddEndpoint(Endpoints[4529]); + builder.AddEndpoint(Endpoints[4530]); + builder.AddEndpoint(Endpoints[4531]); + builder.AddEndpoint(Endpoints[4532]); + builder.AddEndpoint(Endpoints[4533]); + builder.AddEndpoint(Endpoints[4534]); + builder.AddEndpoint(Endpoints[4535]); + builder.AddEndpoint(Endpoints[4536]); + builder.AddEndpoint(Endpoints[4537]); + builder.AddEndpoint(Endpoints[4538]); + builder.AddEndpoint(Endpoints[4539]); + builder.AddEndpoint(Endpoints[4540]); + builder.AddEndpoint(Endpoints[4541]); + builder.AddEndpoint(Endpoints[4542]); + builder.AddEndpoint(Endpoints[4543]); + builder.AddEndpoint(Endpoints[4544]); + builder.AddEndpoint(Endpoints[4545]); + builder.AddEndpoint(Endpoints[4546]); + builder.AddEndpoint(Endpoints[4547]); + builder.AddEndpoint(Endpoints[4548]); + builder.AddEndpoint(Endpoints[4549]); + builder.AddEndpoint(Endpoints[4550]); + builder.AddEndpoint(Endpoints[4551]); + builder.AddEndpoint(Endpoints[4552]); + builder.AddEndpoint(Endpoints[4553]); + builder.AddEndpoint(Endpoints[4554]); + builder.AddEndpoint(Endpoints[4555]); + builder.AddEndpoint(Endpoints[4556]); + builder.AddEndpoint(Endpoints[4557]); + builder.AddEndpoint(Endpoints[4558]); + builder.AddEndpoint(Endpoints[4559]); + builder.AddEndpoint(Endpoints[4560]); + builder.AddEndpoint(Endpoints[4561]); + builder.AddEndpoint(Endpoints[4562]); + builder.AddEndpoint(Endpoints[4563]); + builder.AddEndpoint(Endpoints[4564]); + builder.AddEndpoint(Endpoints[4565]); + builder.AddEndpoint(Endpoints[4566]); + builder.AddEndpoint(Endpoints[4567]); + builder.AddEndpoint(Endpoints[4568]); + builder.AddEndpoint(Endpoints[4569]); + builder.AddEndpoint(Endpoints[4570]); + builder.AddEndpoint(Endpoints[4571]); + builder.AddEndpoint(Endpoints[4572]); + builder.AddEndpoint(Endpoints[4573]); + builder.AddEndpoint(Endpoints[4574]); + builder.AddEndpoint(Endpoints[4575]); + builder.AddEndpoint(Endpoints[4576]); + builder.AddEndpoint(Endpoints[4577]); + builder.AddEndpoint(Endpoints[4578]); + builder.AddEndpoint(Endpoints[4579]); + builder.AddEndpoint(Endpoints[4580]); + builder.AddEndpoint(Endpoints[4581]); + builder.AddEndpoint(Endpoints[4582]); + builder.AddEndpoint(Endpoints[4583]); + builder.AddEndpoint(Endpoints[4584]); + builder.AddEndpoint(Endpoints[4585]); + builder.AddEndpoint(Endpoints[4586]); + builder.AddEndpoint(Endpoints[4587]); + builder.AddEndpoint(Endpoints[4588]); + builder.AddEndpoint(Endpoints[4589]); + builder.AddEndpoint(Endpoints[4590]); + builder.AddEndpoint(Endpoints[4591]); + builder.AddEndpoint(Endpoints[4592]); + builder.AddEndpoint(Endpoints[4593]); + builder.AddEndpoint(Endpoints[4594]); + builder.AddEndpoint(Endpoints[4595]); + builder.AddEndpoint(Endpoints[4596]); + builder.AddEndpoint(Endpoints[4597]); + builder.AddEndpoint(Endpoints[4598]); + builder.AddEndpoint(Endpoints[4599]); + builder.AddEndpoint(Endpoints[4600]); + builder.AddEndpoint(Endpoints[4601]); + builder.AddEndpoint(Endpoints[4602]); + builder.AddEndpoint(Endpoints[4603]); + builder.AddEndpoint(Endpoints[4604]); + builder.AddEndpoint(Endpoints[4605]); + builder.AddEndpoint(Endpoints[4606]); + builder.AddEndpoint(Endpoints[4607]); + builder.AddEndpoint(Endpoints[4608]); + builder.AddEndpoint(Endpoints[4609]); + builder.AddEndpoint(Endpoints[4610]); + builder.AddEndpoint(Endpoints[4611]); + builder.AddEndpoint(Endpoints[4612]); + builder.AddEndpoint(Endpoints[4613]); + builder.AddEndpoint(Endpoints[4614]); + builder.AddEndpoint(Endpoints[4615]); + builder.AddEndpoint(Endpoints[4616]); + builder.AddEndpoint(Endpoints[4617]); + builder.AddEndpoint(Endpoints[4618]); + builder.AddEndpoint(Endpoints[4619]); + builder.AddEndpoint(Endpoints[4620]); + builder.AddEndpoint(Endpoints[4621]); + builder.AddEndpoint(Endpoints[4622]); + builder.AddEndpoint(Endpoints[4623]); + builder.AddEndpoint(Endpoints[4624]); + builder.AddEndpoint(Endpoints[4625]); + builder.AddEndpoint(Endpoints[4626]); + builder.AddEndpoint(Endpoints[4627]); + builder.AddEndpoint(Endpoints[4628]); + builder.AddEndpoint(Endpoints[4629]); + builder.AddEndpoint(Endpoints[4630]); + builder.AddEndpoint(Endpoints[4631]); + builder.AddEndpoint(Endpoints[4632]); + builder.AddEndpoint(Endpoints[4633]); + builder.AddEndpoint(Endpoints[4634]); + builder.AddEndpoint(Endpoints[4635]); + builder.AddEndpoint(Endpoints[4636]); + builder.AddEndpoint(Endpoints[4637]); + builder.AddEndpoint(Endpoints[4638]); + builder.AddEndpoint(Endpoints[4639]); + builder.AddEndpoint(Endpoints[4640]); + builder.AddEndpoint(Endpoints[4641]); + builder.AddEndpoint(Endpoints[4642]); + builder.AddEndpoint(Endpoints[4643]); + builder.AddEndpoint(Endpoints[4644]); + builder.AddEndpoint(Endpoints[4645]); + builder.AddEndpoint(Endpoints[4646]); + builder.AddEndpoint(Endpoints[4647]); + builder.AddEndpoint(Endpoints[4648]); + builder.AddEndpoint(Endpoints[4649]); + builder.AddEndpoint(Endpoints[4650]); + builder.AddEndpoint(Endpoints[4651]); + builder.AddEndpoint(Endpoints[4652]); + builder.AddEndpoint(Endpoints[4653]); + builder.AddEndpoint(Endpoints[4654]); + builder.AddEndpoint(Endpoints[4655]); + builder.AddEndpoint(Endpoints[4656]); + builder.AddEndpoint(Endpoints[4657]); + builder.AddEndpoint(Endpoints[4658]); + builder.AddEndpoint(Endpoints[4659]); + builder.AddEndpoint(Endpoints[4660]); + builder.AddEndpoint(Endpoints[4661]); + builder.AddEndpoint(Endpoints[4662]); + builder.AddEndpoint(Endpoints[4663]); + builder.AddEndpoint(Endpoints[4664]); + builder.AddEndpoint(Endpoints[4665]); + builder.AddEndpoint(Endpoints[4666]); + builder.AddEndpoint(Endpoints[4667]); + builder.AddEndpoint(Endpoints[4668]); + builder.AddEndpoint(Endpoints[4669]); + builder.AddEndpoint(Endpoints[4670]); + builder.AddEndpoint(Endpoints[4671]); + builder.AddEndpoint(Endpoints[4672]); + builder.AddEndpoint(Endpoints[4673]); + builder.AddEndpoint(Endpoints[4674]); + builder.AddEndpoint(Endpoints[4675]); + builder.AddEndpoint(Endpoints[4676]); + builder.AddEndpoint(Endpoints[4677]); + builder.AddEndpoint(Endpoints[4678]); + builder.AddEndpoint(Endpoints[4679]); + builder.AddEndpoint(Endpoints[4680]); + builder.AddEndpoint(Endpoints[4681]); + builder.AddEndpoint(Endpoints[4682]); + builder.AddEndpoint(Endpoints[4683]); + builder.AddEndpoint(Endpoints[4684]); + builder.AddEndpoint(Endpoints[4685]); + builder.AddEndpoint(Endpoints[4686]); + builder.AddEndpoint(Endpoints[4687]); + builder.AddEndpoint(Endpoints[4688]); + builder.AddEndpoint(Endpoints[4689]); + builder.AddEndpoint(Endpoints[4690]); + builder.AddEndpoint(Endpoints[4691]); + builder.AddEndpoint(Endpoints[4692]); + builder.AddEndpoint(Endpoints[4693]); + builder.AddEndpoint(Endpoints[4694]); + builder.AddEndpoint(Endpoints[4695]); + builder.AddEndpoint(Endpoints[4696]); + builder.AddEndpoint(Endpoints[4697]); + builder.AddEndpoint(Endpoints[4698]); + builder.AddEndpoint(Endpoints[4699]); + builder.AddEndpoint(Endpoints[4700]); + builder.AddEndpoint(Endpoints[4701]); + builder.AddEndpoint(Endpoints[4702]); + builder.AddEndpoint(Endpoints[4703]); + builder.AddEndpoint(Endpoints[4704]); + builder.AddEndpoint(Endpoints[4705]); + builder.AddEndpoint(Endpoints[4706]); + builder.AddEndpoint(Endpoints[4707]); + builder.AddEndpoint(Endpoints[4708]); + builder.AddEndpoint(Endpoints[4709]); + builder.AddEndpoint(Endpoints[4710]); + builder.AddEndpoint(Endpoints[4711]); + builder.AddEndpoint(Endpoints[4712]); + builder.AddEndpoint(Endpoints[4713]); + builder.AddEndpoint(Endpoints[4714]); + builder.AddEndpoint(Endpoints[4715]); + builder.AddEndpoint(Endpoints[4716]); + builder.AddEndpoint(Endpoints[4717]); + builder.AddEndpoint(Endpoints[4718]); + builder.AddEndpoint(Endpoints[4719]); + builder.AddEndpoint(Endpoints[4720]); + builder.AddEndpoint(Endpoints[4721]); + builder.AddEndpoint(Endpoints[4722]); + builder.AddEndpoint(Endpoints[4723]); + builder.AddEndpoint(Endpoints[4724]); + builder.AddEndpoint(Endpoints[4725]); + builder.AddEndpoint(Endpoints[4726]); + builder.AddEndpoint(Endpoints[4727]); + builder.AddEndpoint(Endpoints[4728]); + builder.AddEndpoint(Endpoints[4729]); + builder.AddEndpoint(Endpoints[4730]); + builder.AddEndpoint(Endpoints[4731]); + builder.AddEndpoint(Endpoints[4732]); + builder.AddEndpoint(Endpoints[4733]); + builder.AddEndpoint(Endpoints[4734]); + builder.AddEndpoint(Endpoints[4735]); + builder.AddEndpoint(Endpoints[4736]); + builder.AddEndpoint(Endpoints[4737]); + builder.AddEndpoint(Endpoints[4738]); + builder.AddEndpoint(Endpoints[4739]); + builder.AddEndpoint(Endpoints[4740]); + builder.AddEndpoint(Endpoints[4741]); + builder.AddEndpoint(Endpoints[4742]); + builder.AddEndpoint(Endpoints[4743]); + builder.AddEndpoint(Endpoints[4744]); + builder.AddEndpoint(Endpoints[4745]); + builder.AddEndpoint(Endpoints[4746]); + builder.AddEndpoint(Endpoints[4747]); + builder.AddEndpoint(Endpoints[4748]); + builder.AddEndpoint(Endpoints[4749]); + builder.AddEndpoint(Endpoints[4750]); + builder.AddEndpoint(Endpoints[4751]); + builder.AddEndpoint(Endpoints[4752]); + builder.AddEndpoint(Endpoints[4753]); + builder.AddEndpoint(Endpoints[4754]); + builder.AddEndpoint(Endpoints[4755]); + builder.AddEndpoint(Endpoints[4756]); + builder.AddEndpoint(Endpoints[4757]); + builder.AddEndpoint(Endpoints[4758]); + builder.AddEndpoint(Endpoints[4759]); + builder.AddEndpoint(Endpoints[4760]); + builder.AddEndpoint(Endpoints[4761]); + builder.AddEndpoint(Endpoints[4762]); + builder.AddEndpoint(Endpoints[4763]); + builder.AddEndpoint(Endpoints[4764]); + builder.AddEndpoint(Endpoints[4765]); + builder.AddEndpoint(Endpoints[4766]); + builder.AddEndpoint(Endpoints[4767]); + builder.AddEndpoint(Endpoints[4768]); + builder.AddEndpoint(Endpoints[4769]); + builder.AddEndpoint(Endpoints[4770]); + builder.AddEndpoint(Endpoints[4771]); + builder.AddEndpoint(Endpoints[4772]); + builder.AddEndpoint(Endpoints[4773]); + builder.AddEndpoint(Endpoints[4774]); + builder.AddEndpoint(Endpoints[4775]); + builder.AddEndpoint(Endpoints[4776]); + builder.AddEndpoint(Endpoints[4777]); + builder.AddEndpoint(Endpoints[4778]); + builder.AddEndpoint(Endpoints[4779]); + builder.AddEndpoint(Endpoints[4780]); + builder.AddEndpoint(Endpoints[4781]); + builder.AddEndpoint(Endpoints[4782]); + builder.AddEndpoint(Endpoints[4783]); + builder.AddEndpoint(Endpoints[4784]); + builder.AddEndpoint(Endpoints[4785]); + builder.AddEndpoint(Endpoints[4786]); + builder.AddEndpoint(Endpoints[4787]); + builder.AddEndpoint(Endpoints[4788]); + builder.AddEndpoint(Endpoints[4789]); + builder.AddEndpoint(Endpoints[4790]); + builder.AddEndpoint(Endpoints[4791]); + builder.AddEndpoint(Endpoints[4792]); + builder.AddEndpoint(Endpoints[4793]); + builder.AddEndpoint(Endpoints[4794]); + builder.AddEndpoint(Endpoints[4795]); + builder.AddEndpoint(Endpoints[4796]); + builder.AddEndpoint(Endpoints[4797]); + builder.AddEndpoint(Endpoints[4798]); + builder.AddEndpoint(Endpoints[4799]); + builder.AddEndpoint(Endpoints[4800]); + builder.AddEndpoint(Endpoints[4801]); + builder.AddEndpoint(Endpoints[4802]); + builder.AddEndpoint(Endpoints[4803]); + builder.AddEndpoint(Endpoints[4804]); + builder.AddEndpoint(Endpoints[4805]); + builder.AddEndpoint(Endpoints[4806]); + builder.AddEndpoint(Endpoints[4807]); + builder.AddEndpoint(Endpoints[4808]); + builder.AddEndpoint(Endpoints[4809]); + builder.AddEndpoint(Endpoints[4810]); + builder.AddEndpoint(Endpoints[4811]); + builder.AddEndpoint(Endpoints[4812]); + builder.AddEndpoint(Endpoints[4813]); + builder.AddEndpoint(Endpoints[4814]); + builder.AddEndpoint(Endpoints[4815]); + builder.AddEndpoint(Endpoints[4816]); + builder.AddEndpoint(Endpoints[4817]); + builder.AddEndpoint(Endpoints[4818]); + builder.AddEndpoint(Endpoints[4819]); + builder.AddEndpoint(Endpoints[4820]); + builder.AddEndpoint(Endpoints[4821]); + builder.AddEndpoint(Endpoints[4822]); + builder.AddEndpoint(Endpoints[4823]); + builder.AddEndpoint(Endpoints[4824]); + builder.AddEndpoint(Endpoints[4825]); + builder.AddEndpoint(Endpoints[4826]); + builder.AddEndpoint(Endpoints[4827]); + builder.AddEndpoint(Endpoints[4828]); + builder.AddEndpoint(Endpoints[4829]); + builder.AddEndpoint(Endpoints[4830]); + builder.AddEndpoint(Endpoints[4831]); + builder.AddEndpoint(Endpoints[4832]); + builder.AddEndpoint(Endpoints[4833]); + builder.AddEndpoint(Endpoints[4834]); + builder.AddEndpoint(Endpoints[4835]); + builder.AddEndpoint(Endpoints[4836]); + builder.AddEndpoint(Endpoints[4837]); + builder.AddEndpoint(Endpoints[4838]); + builder.AddEndpoint(Endpoints[4839]); + builder.AddEndpoint(Endpoints[4840]); + builder.AddEndpoint(Endpoints[4841]); + builder.AddEndpoint(Endpoints[4842]); + builder.AddEndpoint(Endpoints[4843]); + builder.AddEndpoint(Endpoints[4844]); + builder.AddEndpoint(Endpoints[4845]); + builder.AddEndpoint(Endpoints[4846]); + builder.AddEndpoint(Endpoints[4847]); + builder.AddEndpoint(Endpoints[4848]); + builder.AddEndpoint(Endpoints[4849]); + builder.AddEndpoint(Endpoints[4850]); + builder.AddEndpoint(Endpoints[4851]); + builder.AddEndpoint(Endpoints[4852]); + builder.AddEndpoint(Endpoints[4853]); + builder.AddEndpoint(Endpoints[4854]); + builder.AddEndpoint(Endpoints[4855]); + builder.AddEndpoint(Endpoints[4856]); + builder.AddEndpoint(Endpoints[4857]); + builder.AddEndpoint(Endpoints[4858]); + builder.AddEndpoint(Endpoints[4859]); + builder.AddEndpoint(Endpoints[4860]); + builder.AddEndpoint(Endpoints[4861]); + builder.AddEndpoint(Endpoints[4862]); + builder.AddEndpoint(Endpoints[4863]); + builder.AddEndpoint(Endpoints[4864]); + builder.AddEndpoint(Endpoints[4865]); + builder.AddEndpoint(Endpoints[4866]); + builder.AddEndpoint(Endpoints[4867]); + builder.AddEndpoint(Endpoints[4868]); + builder.AddEndpoint(Endpoints[4869]); + builder.AddEndpoint(Endpoints[4870]); + builder.AddEndpoint(Endpoints[4871]); + builder.AddEndpoint(Endpoints[4872]); + builder.AddEndpoint(Endpoints[4873]); + builder.AddEndpoint(Endpoints[4874]); + builder.AddEndpoint(Endpoints[4875]); + builder.AddEndpoint(Endpoints[4876]); + builder.AddEndpoint(Endpoints[4877]); + builder.AddEndpoint(Endpoints[4878]); + builder.AddEndpoint(Endpoints[4879]); + builder.AddEndpoint(Endpoints[4880]); + builder.AddEndpoint(Endpoints[4881]); + builder.AddEndpoint(Endpoints[4882]); + builder.AddEndpoint(Endpoints[4883]); + builder.AddEndpoint(Endpoints[4884]); + builder.AddEndpoint(Endpoints[4885]); + builder.AddEndpoint(Endpoints[4886]); + builder.AddEndpoint(Endpoints[4887]); + builder.AddEndpoint(Endpoints[4888]); + builder.AddEndpoint(Endpoints[4889]); + builder.AddEndpoint(Endpoints[4890]); + builder.AddEndpoint(Endpoints[4891]); + builder.AddEndpoint(Endpoints[4892]); + builder.AddEndpoint(Endpoints[4893]); + builder.AddEndpoint(Endpoints[4894]); + builder.AddEndpoint(Endpoints[4895]); + builder.AddEndpoint(Endpoints[4896]); + builder.AddEndpoint(Endpoints[4897]); + builder.AddEndpoint(Endpoints[4898]); + builder.AddEndpoint(Endpoints[4899]); + builder.AddEndpoint(Endpoints[4900]); + builder.AddEndpoint(Endpoints[4901]); + builder.AddEndpoint(Endpoints[4902]); + builder.AddEndpoint(Endpoints[4903]); + builder.AddEndpoint(Endpoints[4904]); + builder.AddEndpoint(Endpoints[4905]); + builder.AddEndpoint(Endpoints[4906]); + builder.AddEndpoint(Endpoints[4907]); + builder.AddEndpoint(Endpoints[4908]); + builder.AddEndpoint(Endpoints[4909]); + builder.AddEndpoint(Endpoints[4910]); + builder.AddEndpoint(Endpoints[4911]); + builder.AddEndpoint(Endpoints[4912]); + builder.AddEndpoint(Endpoints[4913]); + builder.AddEndpoint(Endpoints[4914]); + builder.AddEndpoint(Endpoints[4915]); + builder.AddEndpoint(Endpoints[4916]); + builder.AddEndpoint(Endpoints[4917]); + builder.AddEndpoint(Endpoints[4918]); + builder.AddEndpoint(Endpoints[4919]); + builder.AddEndpoint(Endpoints[4920]); + builder.AddEndpoint(Endpoints[4921]); + builder.AddEndpoint(Endpoints[4922]); + builder.AddEndpoint(Endpoints[4923]); + builder.AddEndpoint(Endpoints[4924]); + builder.AddEndpoint(Endpoints[4925]); + builder.AddEndpoint(Endpoints[4926]); + builder.AddEndpoint(Endpoints[4927]); + builder.AddEndpoint(Endpoints[4928]); + builder.AddEndpoint(Endpoints[4929]); + builder.AddEndpoint(Endpoints[4930]); + builder.AddEndpoint(Endpoints[4931]); + builder.AddEndpoint(Endpoints[4932]); + builder.AddEndpoint(Endpoints[4933]); + builder.AddEndpoint(Endpoints[4934]); + builder.AddEndpoint(Endpoints[4935]); + builder.AddEndpoint(Endpoints[4936]); + builder.AddEndpoint(Endpoints[4937]); + builder.AddEndpoint(Endpoints[4938]); + builder.AddEndpoint(Endpoints[4939]); + builder.AddEndpoint(Endpoints[4940]); + builder.AddEndpoint(Endpoints[4941]); + builder.AddEndpoint(Endpoints[4942]); + builder.AddEndpoint(Endpoints[4943]); + builder.AddEndpoint(Endpoints[4944]); + builder.AddEndpoint(Endpoints[4945]); + builder.AddEndpoint(Endpoints[4946]); + builder.AddEndpoint(Endpoints[4947]); + builder.AddEndpoint(Endpoints[4948]); + builder.AddEndpoint(Endpoints[4949]); + builder.AddEndpoint(Endpoints[4950]); + builder.AddEndpoint(Endpoints[4951]); + builder.AddEndpoint(Endpoints[4952]); + builder.AddEndpoint(Endpoints[4953]); + builder.AddEndpoint(Endpoints[4954]); + builder.AddEndpoint(Endpoints[4955]); + builder.AddEndpoint(Endpoints[4956]); + builder.AddEndpoint(Endpoints[4957]); + builder.AddEndpoint(Endpoints[4958]); + builder.AddEndpoint(Endpoints[4959]); + builder.AddEndpoint(Endpoints[4960]); + builder.AddEndpoint(Endpoints[4961]); + builder.AddEndpoint(Endpoints[4962]); + builder.AddEndpoint(Endpoints[4963]); + builder.AddEndpoint(Endpoints[4964]); + builder.AddEndpoint(Endpoints[4965]); + builder.AddEndpoint(Endpoints[4966]); + builder.AddEndpoint(Endpoints[4967]); + builder.AddEndpoint(Endpoints[4968]); + builder.AddEndpoint(Endpoints[4969]); + builder.AddEndpoint(Endpoints[4970]); + builder.AddEndpoint(Endpoints[4971]); + builder.AddEndpoint(Endpoints[4972]); + builder.AddEndpoint(Endpoints[4973]); + builder.AddEndpoint(Endpoints[4974]); + builder.AddEndpoint(Endpoints[4975]); + builder.AddEndpoint(Endpoints[4976]); + builder.AddEndpoint(Endpoints[4977]); + builder.AddEndpoint(Endpoints[4978]); + builder.AddEndpoint(Endpoints[4979]); + builder.AddEndpoint(Endpoints[4980]); + builder.AddEndpoint(Endpoints[4981]); + builder.AddEndpoint(Endpoints[4982]); + builder.AddEndpoint(Endpoints[4983]); + builder.AddEndpoint(Endpoints[4984]); + builder.AddEndpoint(Endpoints[4985]); + builder.AddEndpoint(Endpoints[4986]); + builder.AddEndpoint(Endpoints[4987]); + builder.AddEndpoint(Endpoints[4988]); + builder.AddEndpoint(Endpoints[4989]); + builder.AddEndpoint(Endpoints[4990]); + builder.AddEndpoint(Endpoints[4991]); + builder.AddEndpoint(Endpoints[4992]); + builder.AddEndpoint(Endpoints[4993]); + builder.AddEndpoint(Endpoints[4994]); + builder.AddEndpoint(Endpoints[4995]); + builder.AddEndpoint(Endpoints[4996]); + builder.AddEndpoint(Endpoints[4997]); + builder.AddEndpoint(Endpoints[4998]); + builder.AddEndpoint(Endpoints[4999]); + builder.AddEndpoint(Endpoints[5000]); + builder.AddEndpoint(Endpoints[5001]); + builder.AddEndpoint(Endpoints[5002]); + builder.AddEndpoint(Endpoints[5003]); + builder.AddEndpoint(Endpoints[5004]); + builder.AddEndpoint(Endpoints[5005]); + builder.AddEndpoint(Endpoints[5006]); + builder.AddEndpoint(Endpoints[5007]); + builder.AddEndpoint(Endpoints[5008]); + builder.AddEndpoint(Endpoints[5009]); + builder.AddEndpoint(Endpoints[5010]); + builder.AddEndpoint(Endpoints[5011]); + builder.AddEndpoint(Endpoints[5012]); + builder.AddEndpoint(Endpoints[5013]); + builder.AddEndpoint(Endpoints[5014]); + builder.AddEndpoint(Endpoints[5015]); + builder.AddEndpoint(Endpoints[5016]); + builder.AddEndpoint(Endpoints[5017]); + builder.AddEndpoint(Endpoints[5018]); + builder.AddEndpoint(Endpoints[5019]); + builder.AddEndpoint(Endpoints[5020]); + builder.AddEndpoint(Endpoints[5021]); + builder.AddEndpoint(Endpoints[5022]); + builder.AddEndpoint(Endpoints[5023]); + builder.AddEndpoint(Endpoints[5024]); + builder.AddEndpoint(Endpoints[5025]); + builder.AddEndpoint(Endpoints[5026]); + builder.AddEndpoint(Endpoints[5027]); + builder.AddEndpoint(Endpoints[5028]); + builder.AddEndpoint(Endpoints[5029]); + builder.AddEndpoint(Endpoints[5030]); + builder.AddEndpoint(Endpoints[5031]); + builder.AddEndpoint(Endpoints[5032]); + builder.AddEndpoint(Endpoints[5033]); + builder.AddEndpoint(Endpoints[5034]); + builder.AddEndpoint(Endpoints[5035]); + builder.AddEndpoint(Endpoints[5036]); + builder.AddEndpoint(Endpoints[5037]); + builder.AddEndpoint(Endpoints[5038]); + builder.AddEndpoint(Endpoints[5039]); + builder.AddEndpoint(Endpoints[5040]); + builder.AddEndpoint(Endpoints[5041]); + builder.AddEndpoint(Endpoints[5042]); + builder.AddEndpoint(Endpoints[5043]); + builder.AddEndpoint(Endpoints[5044]); + builder.AddEndpoint(Endpoints[5045]); + builder.AddEndpoint(Endpoints[5046]); + builder.AddEndpoint(Endpoints[5047]); + builder.AddEndpoint(Endpoints[5048]); + builder.AddEndpoint(Endpoints[5049]); + builder.AddEndpoint(Endpoints[5050]); + builder.AddEndpoint(Endpoints[5051]); + builder.AddEndpoint(Endpoints[5052]); + builder.AddEndpoint(Endpoints[5053]); + builder.AddEndpoint(Endpoints[5054]); + builder.AddEndpoint(Endpoints[5055]); + builder.AddEndpoint(Endpoints[5056]); + builder.AddEndpoint(Endpoints[5057]); + builder.AddEndpoint(Endpoints[5058]); + builder.AddEndpoint(Endpoints[5059]); + builder.AddEndpoint(Endpoints[5060]); + builder.AddEndpoint(Endpoints[5061]); + builder.AddEndpoint(Endpoints[5062]); + builder.AddEndpoint(Endpoints[5063]); + builder.AddEndpoint(Endpoints[5064]); + builder.AddEndpoint(Endpoints[5065]); + builder.AddEndpoint(Endpoints[5066]); + builder.AddEndpoint(Endpoints[5067]); + builder.AddEndpoint(Endpoints[5068]); + builder.AddEndpoint(Endpoints[5069]); + builder.AddEndpoint(Endpoints[5070]); + builder.AddEndpoint(Endpoints[5071]); + builder.AddEndpoint(Endpoints[5072]); + builder.AddEndpoint(Endpoints[5073]); + builder.AddEndpoint(Endpoints[5074]); + builder.AddEndpoint(Endpoints[5075]); + builder.AddEndpoint(Endpoints[5076]); + builder.AddEndpoint(Endpoints[5077]); + builder.AddEndpoint(Endpoints[5078]); + builder.AddEndpoint(Endpoints[5079]); + builder.AddEndpoint(Endpoints[5080]); + builder.AddEndpoint(Endpoints[5081]); + builder.AddEndpoint(Endpoints[5082]); + builder.AddEndpoint(Endpoints[5083]); + builder.AddEndpoint(Endpoints[5084]); + builder.AddEndpoint(Endpoints[5085]); + builder.AddEndpoint(Endpoints[5086]); + builder.AddEndpoint(Endpoints[5087]); + builder.AddEndpoint(Endpoints[5088]); + builder.AddEndpoint(Endpoints[5089]); + builder.AddEndpoint(Endpoints[5090]); + builder.AddEndpoint(Endpoints[5091]); + builder.AddEndpoint(Endpoints[5092]); + builder.AddEndpoint(Endpoints[5093]); + builder.AddEndpoint(Endpoints[5094]); + builder.AddEndpoint(Endpoints[5095]); + builder.AddEndpoint(Endpoints[5096]); + builder.AddEndpoint(Endpoints[5097]); + builder.AddEndpoint(Endpoints[5098]); + builder.AddEndpoint(Endpoints[5099]); + builder.AddEndpoint(Endpoints[5100]); + builder.AddEndpoint(Endpoints[5101]); + builder.AddEndpoint(Endpoints[5102]); + builder.AddEndpoint(Endpoints[5103]); + builder.AddEndpoint(Endpoints[5104]); + builder.AddEndpoint(Endpoints[5105]); + builder.AddEndpoint(Endpoints[5106]); + builder.AddEndpoint(Endpoints[5107]); + builder.AddEndpoint(Endpoints[5108]); + builder.AddEndpoint(Endpoints[5109]); + builder.AddEndpoint(Endpoints[5110]); + builder.AddEndpoint(Endpoints[5111]); + builder.AddEndpoint(Endpoints[5112]); + builder.AddEndpoint(Endpoints[5113]); + builder.AddEndpoint(Endpoints[5114]); + builder.AddEndpoint(Endpoints[5115]); + builder.AddEndpoint(Endpoints[5116]); + builder.AddEndpoint(Endpoints[5117]); + builder.AddEndpoint(Endpoints[5118]); + builder.AddEndpoint(Endpoints[5119]); + builder.AddEndpoint(Endpoints[5120]); + builder.AddEndpoint(Endpoints[5121]); + builder.AddEndpoint(Endpoints[5122]); + builder.AddEndpoint(Endpoints[5123]); + builder.AddEndpoint(Endpoints[5124]); + builder.AddEndpoint(Endpoints[5125]); + builder.AddEndpoint(Endpoints[5126]); + builder.AddEndpoint(Endpoints[5127]); + builder.AddEndpoint(Endpoints[5128]); + builder.AddEndpoint(Endpoints[5129]); + builder.AddEndpoint(Endpoints[5130]); + builder.AddEndpoint(Endpoints[5131]); + builder.AddEndpoint(Endpoints[5132]); + builder.AddEndpoint(Endpoints[5133]); + builder.AddEndpoint(Endpoints[5134]); + builder.AddEndpoint(Endpoints[5135]); + builder.AddEndpoint(Endpoints[5136]); + builder.AddEndpoint(Endpoints[5137]); + builder.AddEndpoint(Endpoints[5138]); + builder.AddEndpoint(Endpoints[5139]); + builder.AddEndpoint(Endpoints[5140]); + builder.AddEndpoint(Endpoints[5141]); + builder.AddEndpoint(Endpoints[5142]); + builder.AddEndpoint(Endpoints[5143]); + builder.AddEndpoint(Endpoints[5144]); + builder.AddEndpoint(Endpoints[5145]); + builder.AddEndpoint(Endpoints[5146]); + builder.AddEndpoint(Endpoints[5147]); + builder.AddEndpoint(Endpoints[5148]); + builder.AddEndpoint(Endpoints[5149]); + builder.AddEndpoint(Endpoints[5150]); + builder.AddEndpoint(Endpoints[5151]); + builder.AddEndpoint(Endpoints[5152]); + builder.AddEndpoint(Endpoints[5153]); + builder.AddEndpoint(Endpoints[5154]); + builder.AddEndpoint(Endpoints[5155]); + builder.AddEndpoint(Endpoints[5156]); + builder.AddEndpoint(Endpoints[5157]); + builder.AddEndpoint(Endpoints[5158]); + builder.AddEndpoint(Endpoints[5159]); + return builder.Build(); + } + } +} \ No newline at end of file diff --git a/benchmarks/Microsoft.AspNetCore.Routing.Performance/Matchers/MatcherBenchmarkBase.cs b/benchmarks/Microsoft.AspNetCore.Routing.Performance/Matchers/MatcherBenchmarkBase.cs index 2e10ed2397..9bdc2b0f1d 100644 --- a/benchmarks/Microsoft.AspNetCore.Routing.Performance/Matchers/MatcherBenchmarkBase.cs +++ b/benchmarks/Microsoft.AspNetCore.Routing.Performance/Matchers/MatcherBenchmarkBase.cs @@ -14,18 +14,18 @@ namespace Microsoft.AspNetCore.Routing.Matchers { public abstract class MatcherBenchmarkBase { - internal MatcherEndpoint[] _endpoints; - internal HttpContext[] _requests; + private protected MatcherEndpoint[] Endpoints; + private protected HttpContext[] Requests; // The older routing implementations retrieve services when they first execute. - internal static IServiceProvider CreateServices() + private protected static IServiceProvider CreateServices() { var services = new ServiceCollection(); services.AddLogging(); return services.BuildServiceProvider(); } - internal static MatcherEndpoint CreateEndpoint(string template, string httpMethod = null) + private protected static MatcherEndpoint CreateEndpoint(string template, string httpMethod = null) { var metadata = new List(); if (httpMethod != null) @@ -40,11 +40,11 @@ namespace Microsoft.AspNetCore.Routing.Matchers new RouteValueDictionary(), new List(), 0, - EndpointMetadataCollection.Empty, + new EndpointMetadataCollection(metadata), template); } - internal static int[] SampleRequests(int endpointCount, int count) + private protected static int[] SampleRequests(int endpointCount, int count) { // This isn't very high tech, but it's at least regular distribution. // We sort the route templates by precedence, so this should result in @@ -67,12 +67,12 @@ namespace Microsoft.AspNetCore.Routing.Matchers } [MethodImpl(MethodImplOptions.NoInlining)] - internal void Validate(HttpContext httpContext, Endpoint expected, Endpoint actual) + private protected void Validate(HttpContext httpContext, Endpoint expected, Endpoint actual) { if (!object.ReferenceEquals(expected, actual)) { var message = new StringBuilder(); - message.AppendLine($"Validation failed for request {Array.IndexOf(_requests, httpContext)}"); + message.AppendLine($"Validation failed for request {Array.IndexOf(Requests, httpContext)}"); message.AppendLine($"{httpContext.Request.Method} {httpContext.Request.Path}"); message.AppendLine($"expected: '{((MatcherEndpoint)expected)?.DisplayName ?? "null"}'"); message.AppendLine($"actual: '{((MatcherEndpoint)actual)?.DisplayName ?? "null"}'"); diff --git a/benchmarks/Microsoft.AspNetCore.Routing.Performance/Matchers/GithubMatcherBenchmark.cs b/benchmarks/Microsoft.AspNetCore.Routing.Performance/Matchers/MatcherGithubBenchmark.cs similarity index 62% rename from benchmarks/Microsoft.AspNetCore.Routing.Performance/Matchers/GithubMatcherBenchmark.cs rename to benchmarks/Microsoft.AspNetCore.Routing.Performance/Matchers/MatcherGithubBenchmark.cs index 58b4906006..59916da3e8 100644 --- a/benchmarks/Microsoft.AspNetCore.Routing.Performance/Matchers/GithubMatcherBenchmark.cs +++ b/benchmarks/Microsoft.AspNetCore.Routing.Performance/Matchers/MatcherGithubBenchmark.cs @@ -1,7 +1,6 @@ // Copyright (c) .NET Foundation. All rights reserved. // Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information. -using System; using System.Threading.Tasks; using BenchmarkDotNet.Attributes; @@ -9,11 +8,10 @@ namespace Microsoft.AspNetCore.Routing.Matchers { // Generated from https://github.com/APIs-guru/openapi-directory // Use https://editor2.swagger.io/ to convert from yaml to json- - public partial class GithubMatcherBenchmark : MatcherBenchmarkBase + public partial class MatcherGithubBenchmark : MatcherBenchmarkBase { private BarebonesMatcher _baseline; private Matcher _dfa; - private Matcher _route; private Matcher _tree; private EndpointFeature _feature; @@ -27,7 +25,6 @@ namespace Microsoft.AspNetCore.Routing.Matchers _baseline = (BarebonesMatcher)SetupMatcher(new BarebonesMatcherBuilder()); _dfa = SetupMatcher(new DfaMatcherBuilder()); - _route = SetupMatcher(new RouteMatcherBuilder()); _tree = SetupMatcher(new TreeRouterMatcherBuilder()); _feature = new EndpointFeature(); @@ -39,9 +36,9 @@ namespace Microsoft.AspNetCore.Routing.Matchers var feature = _feature; for (var i = 0; i < EndpointCount; i++) { - var httpContext = _requests[i]; - await _baseline._matchers[i].MatchAsync(httpContext, feature); - Validate(httpContext, _endpoints[i], feature.Endpoint); + var httpContext = Requests[i]; + await _baseline.Matchers[i].MatchAsync(httpContext, feature); + Validate(httpContext, Endpoints[i], feature.Endpoint); } } @@ -51,25 +48,9 @@ namespace Microsoft.AspNetCore.Routing.Matchers var feature = _feature; for (var i = 0; i < EndpointCount; i++) { - var httpContext = _requests[i]; + var httpContext = Requests[i]; await _dfa.MatchAsync(httpContext, feature); - Validate(httpContext, _endpoints[i], feature.Endpoint); - } - } - - [Benchmark(OperationsPerInvoke = EndpointCount)] - public async Task LegacyRoute() - { - var feature = _feature; - for (var i = 0; i < EndpointCount; i++) - { - var httpContext = _requests[i]; - - // This is required to make the legacy router implementation work with dispatcher. - httpContext.Features.Set(feature); - - await _route.MatchAsync(httpContext, feature); - Validate(httpContext, _endpoints[i], feature.Endpoint); + Validate(httpContext, Endpoints[i], feature.Endpoint); } } @@ -79,13 +60,13 @@ namespace Microsoft.AspNetCore.Routing.Matchers var feature = _feature; for (var i = 0; i < EndpointCount; i++) { - var httpContext = _requests[i]; + var httpContext = Requests[i]; // This is required to make the legacy router implementation work with dispatcher. httpContext.Features.Set(feature); await _tree.MatchAsync(httpContext, feature); - Validate(httpContext, _endpoints[i], feature.Endpoint); + Validate(httpContext, Endpoints[i], feature.Endpoint); } } } diff --git a/benchmarks/Microsoft.AspNetCore.Routing.Performance/Matchers/MatcherGithubBenchmark.generated.cs b/benchmarks/Microsoft.AspNetCore.Routing.Performance/Matchers/MatcherGithubBenchmark.generated.cs new file mode 100644 index 0000000000..1de9e9f993 --- /dev/null +++ b/benchmarks/Microsoft.AspNetCore.Routing.Performance/Matchers/MatcherGithubBenchmark.generated.cs @@ -0,0 +1,1487 @@ + +// Copyright (c) .NET Foundation. All rights reserved. +// Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information. + +using Microsoft.AspNetCore.Http; + +namespace Microsoft.AspNetCore.Routing.Matchers +{ + // This code was generated by the Swaggatherer + public partial class MatcherGithubBenchmark : MatcherBenchmarkBase + { + private const int EndpointCount = 243; + + private void SetupEndpoints() + { + Endpoints = new MatcherEndpoint[243]; + Endpoints[0] = CreateEndpoint("/emojis", "GET"); + Endpoints[1] = CreateEndpoint("/events", "GET"); + Endpoints[2] = CreateEndpoint("/feeds", "GET"); + Endpoints[3] = CreateEndpoint("/gists", "GET"); + Endpoints[4] = CreateEndpoint("/gists", "POST"); + Endpoints[5] = CreateEndpoint("/issues", "GET"); + Endpoints[6] = CreateEndpoint("/markdown", "POST"); + Endpoints[7] = CreateEndpoint("/meta", "GET"); + Endpoints[8] = CreateEndpoint("/notifications", "GET"); + Endpoints[9] = CreateEndpoint("/notifications", "PUT"); + Endpoints[10] = CreateEndpoint("/rate_limit", "GET"); + Endpoints[11] = CreateEndpoint("/repositories", "GET"); + Endpoints[12] = CreateEndpoint("/user", "GET"); + Endpoints[13] = CreateEndpoint("/user", "PATCH"); + Endpoints[14] = CreateEndpoint("/users", "GET"); + Endpoints[15] = CreateEndpoint("/gists/public", "GET"); + Endpoints[16] = CreateEndpoint("/gists/starred", "GET"); + Endpoints[17] = CreateEndpoint("/gitignore/templates", "GET"); + Endpoints[18] = CreateEndpoint("/markdown/raw", "POST"); + Endpoints[19] = CreateEndpoint("/search/code", "GET"); + Endpoints[20] = CreateEndpoint("/search/issues", "GET"); + Endpoints[21] = CreateEndpoint("/search/repositories", "GET"); + Endpoints[22] = CreateEndpoint("/search/users", "GET"); + Endpoints[23] = CreateEndpoint("/user/emails", "GET"); + Endpoints[24] = CreateEndpoint("/user/emails", "DELETE"); + Endpoints[25] = CreateEndpoint("/user/emails", "POST"); + Endpoints[26] = CreateEndpoint("/user/followers", "GET"); + Endpoints[27] = CreateEndpoint("/user/following", "GET"); + Endpoints[28] = CreateEndpoint("/user/issues", "GET"); + Endpoints[29] = CreateEndpoint("/user/keys", "POST"); + Endpoints[30] = CreateEndpoint("/user/keys", "GET"); + Endpoints[31] = CreateEndpoint("/user/orgs", "GET"); + Endpoints[32] = CreateEndpoint("/user/repos", "GET"); + Endpoints[33] = CreateEndpoint("/user/repos", "POST"); + Endpoints[34] = CreateEndpoint("/user/starred", "GET"); + Endpoints[35] = CreateEndpoint("/user/subscriptions", "GET"); + Endpoints[36] = CreateEndpoint("/user/teams", "GET"); + Endpoints[37] = CreateEndpoint("/legacy/repos/search/{keyword}", "GET"); + Endpoints[38] = CreateEndpoint("/legacy/user/email/{email}", "GET"); + Endpoints[39] = CreateEndpoint("/legacy/user/search/{keyword}", "GET"); + Endpoints[40] = CreateEndpoint("/legacy/issues/search/{owner}/{repository}/{state}/{keyword}", "GET"); + Endpoints[41] = CreateEndpoint("/gitignore/templates/{language}", "GET"); + Endpoints[42] = CreateEndpoint("/notifications/threads/{id}", "GET"); + Endpoints[43] = CreateEndpoint("/notifications/threads/{id}", "PATCH"); + Endpoints[44] = CreateEndpoint("/user/following/{username}", "DELETE"); + Endpoints[45] = CreateEndpoint("/user/following/{username}", "GET"); + Endpoints[46] = CreateEndpoint("/user/following/{username}", "PUT"); + Endpoints[47] = CreateEndpoint("/user/keys/{keyId}", "DELETE"); + Endpoints[48] = CreateEndpoint("/user/keys/{keyId}", "GET"); + Endpoints[49] = CreateEndpoint("/notifications/threads/{id}/subscription", "DELETE"); + Endpoints[50] = CreateEndpoint("/notifications/threads/{id}/subscription", "GET"); + Endpoints[51] = CreateEndpoint("/notifications/threads/{id}/subscription", "PUT"); + Endpoints[52] = CreateEndpoint("/user/starred/{owner}/{repo}", "PUT"); + Endpoints[53] = CreateEndpoint("/user/starred/{owner}/{repo}", "GET"); + Endpoints[54] = CreateEndpoint("/user/starred/{owner}/{repo}", "DELETE"); + Endpoints[55] = CreateEndpoint("/user/subscriptions/{owner}/{repo}", "PUT"); + Endpoints[56] = CreateEndpoint("/user/subscriptions/{owner}/{repo}", "GET"); + Endpoints[57] = CreateEndpoint("/user/subscriptions/{owner}/{repo}", "DELETE"); + Endpoints[58] = CreateEndpoint("/gists/{id}", "GET"); + Endpoints[59] = CreateEndpoint("/gists/{id}", "PATCH"); + Endpoints[60] = CreateEndpoint("/gists/{id}", "DELETE"); + Endpoints[61] = CreateEndpoint("/orgs/{org}", "PATCH"); + Endpoints[62] = CreateEndpoint("/orgs/{org}", "GET"); + Endpoints[63] = CreateEndpoint("/teams/{teamId}", "PATCH"); + Endpoints[64] = CreateEndpoint("/teams/{teamId}", "GET"); + Endpoints[65] = CreateEndpoint("/teams/{teamId}", "DELETE"); + Endpoints[66] = CreateEndpoint("/users/{username}", "GET"); + Endpoints[67] = CreateEndpoint("/gists/{id}/comments", "GET"); + Endpoints[68] = CreateEndpoint("/gists/{id}/comments", "POST"); + Endpoints[69] = CreateEndpoint("/gists/{id}/forks", "POST"); + Endpoints[70] = CreateEndpoint("/gists/{id}/star", "DELETE"); + Endpoints[71] = CreateEndpoint("/gists/{id}/star", "GET"); + Endpoints[72] = CreateEndpoint("/gists/{id}/star", "PUT"); + Endpoints[73] = CreateEndpoint("/orgs/{org}/events", "GET"); + Endpoints[74] = CreateEndpoint("/orgs/{org}/issues", "GET"); + Endpoints[75] = CreateEndpoint("/orgs/{org}/members", "GET"); + Endpoints[76] = CreateEndpoint("/orgs/{org}/public_members", "GET"); + Endpoints[77] = CreateEndpoint("/orgs/{org}/repos", "GET"); + Endpoints[78] = CreateEndpoint("/orgs/{org}/repos", "POST"); + Endpoints[79] = CreateEndpoint("/orgs/{org}/teams", "POST"); + Endpoints[80] = CreateEndpoint("/orgs/{org}/teams", "GET"); + Endpoints[81] = CreateEndpoint("/teams/{teamId}/members", "GET"); + Endpoints[82] = CreateEndpoint("/teams/{teamId}/repos", "GET"); + Endpoints[83] = CreateEndpoint("/users/{username}/events", "GET"); + Endpoints[84] = CreateEndpoint("/users/{username}/followers", "GET"); + Endpoints[85] = CreateEndpoint("/users/{username}/gists", "GET"); + Endpoints[86] = CreateEndpoint("/users/{username}/keys", "GET"); + Endpoints[87] = CreateEndpoint("/users/{username}/orgs", "GET"); + Endpoints[88] = CreateEndpoint("/users/{username}/received_events", "GET"); + Endpoints[89] = CreateEndpoint("/users/{username}/repos", "GET"); + Endpoints[90] = CreateEndpoint("/users/{username}/starred", "GET"); + Endpoints[91] = CreateEndpoint("/users/{username}/subscriptions", "GET"); + Endpoints[92] = CreateEndpoint("/users/{username}/received_events/public", "GET"); + Endpoints[93] = CreateEndpoint("/users/{username}/events/orgs/{org}", "GET"); + Endpoints[94] = CreateEndpoint("/gists/{id}/comments/{commentId}", "DELETE"); + Endpoints[95] = CreateEndpoint("/gists/{id}/comments/{commentId}", "GET"); + Endpoints[96] = CreateEndpoint("/gists/{id}/comments/{commentId}", "PATCH"); + Endpoints[97] = CreateEndpoint("/orgs/{org}/members/{username}", "DELETE"); + Endpoints[98] = CreateEndpoint("/orgs/{org}/members/{username}", "GET"); + Endpoints[99] = CreateEndpoint("/orgs/{org}/public_members/{username}", "PUT"); + Endpoints[100] = CreateEndpoint("/orgs/{org}/public_members/{username}", "GET"); + Endpoints[101] = CreateEndpoint("/orgs/{org}/public_members/{username}", "DELETE"); + Endpoints[102] = CreateEndpoint("/teams/{teamId}/members/{username}", "GET"); + Endpoints[103] = CreateEndpoint("/teams/{teamId}/members/{username}", "PUT"); + Endpoints[104] = CreateEndpoint("/teams/{teamId}/members/{username}", "DELETE"); + Endpoints[105] = CreateEndpoint("/teams/{teamId}/memberships/{username}", "DELETE"); + Endpoints[106] = CreateEndpoint("/teams/{teamId}/memberships/{username}", "PUT"); + Endpoints[107] = CreateEndpoint("/teams/{teamId}/memberships/{username}", "GET"); + Endpoints[108] = CreateEndpoint("/users/{username}/following/{targetUser}", "GET"); + Endpoints[109] = CreateEndpoint("/teams/{teamId}/repos/{org}/{repo}", "PUT"); + Endpoints[110] = CreateEndpoint("/teams/{teamId}/repos/{owner}/{repo}", "DELETE"); + Endpoints[111] = CreateEndpoint("/teams/{teamId}/repos/{owner}/{repo}", "GET"); + Endpoints[112] = CreateEndpoint("/repos/{owner}/{repo}", "PATCH"); + Endpoints[113] = CreateEndpoint("/repos/{owner}/{repo}", "DELETE"); + Endpoints[114] = CreateEndpoint("/repos/{owner}/{repo}", "GET"); + Endpoints[115] = CreateEndpoint("/networks/{owner}/{repo}/events", "GET"); + Endpoints[116] = CreateEndpoint("/repos/{owner}/{repo}/assignees", "GET"); + Endpoints[117] = CreateEndpoint("/repos/{owner}/{repo}/branches", "GET"); + Endpoints[118] = CreateEndpoint("/repos/{owner}/{repo}/collaborators", "GET"); + Endpoints[119] = CreateEndpoint("/repos/{owner}/{repo}/comments", "GET"); + Endpoints[120] = CreateEndpoint("/repos/{owner}/{repo}/commits", "GET"); + Endpoints[121] = CreateEndpoint("/repos/{owner}/{repo}/contributors", "GET"); + Endpoints[122] = CreateEndpoint("/repos/{owner}/{repo}/deployments", "GET"); + Endpoints[123] = CreateEndpoint("/repos/{owner}/{repo}/deployments", "POST"); + Endpoints[124] = CreateEndpoint("/repos/{owner}/{repo}/downloads", "GET"); + Endpoints[125] = CreateEndpoint("/repos/{owner}/{repo}/events", "GET"); + Endpoints[126] = CreateEndpoint("/repos/{owner}/{repo}/forks", "GET"); + Endpoints[127] = CreateEndpoint("/repos/{owner}/{repo}/forks", "POST"); + Endpoints[128] = CreateEndpoint("/repos/{owner}/{repo}/hooks", "POST"); + Endpoints[129] = CreateEndpoint("/repos/{owner}/{repo}/hooks", "GET"); + Endpoints[130] = CreateEndpoint("/repos/{owner}/{repo}/issues", "GET"); + Endpoints[131] = CreateEndpoint("/repos/{owner}/{repo}/issues", "POST"); + Endpoints[132] = CreateEndpoint("/repos/{owner}/{repo}/keys", "GET"); + Endpoints[133] = CreateEndpoint("/repos/{owner}/{repo}/keys", "POST"); + Endpoints[134] = CreateEndpoint("/repos/{owner}/{repo}/labels", "GET"); + Endpoints[135] = CreateEndpoint("/repos/{owner}/{repo}/labels", "POST"); + Endpoints[136] = CreateEndpoint("/repos/{owner}/{repo}/languages", "GET"); + Endpoints[137] = CreateEndpoint("/repos/{owner}/{repo}/merges", "POST"); + Endpoints[138] = CreateEndpoint("/repos/{owner}/{repo}/milestones", "GET"); + Endpoints[139] = CreateEndpoint("/repos/{owner}/{repo}/milestones", "POST"); + Endpoints[140] = CreateEndpoint("/repos/{owner}/{repo}/notifications", "PUT"); + Endpoints[141] = CreateEndpoint("/repos/{owner}/{repo}/notifications", "GET"); + Endpoints[142] = CreateEndpoint("/repos/{owner}/{repo}/pulls", "POST"); + Endpoints[143] = CreateEndpoint("/repos/{owner}/{repo}/pulls", "GET"); + Endpoints[144] = CreateEndpoint("/repos/{owner}/{repo}/readme", "GET"); + Endpoints[145] = CreateEndpoint("/repos/{owner}/{repo}/releases", "POST"); + Endpoints[146] = CreateEndpoint("/repos/{owner}/{repo}/releases", "GET"); + Endpoints[147] = CreateEndpoint("/repos/{owner}/{repo}/stargazers", "GET"); + Endpoints[148] = CreateEndpoint("/repos/{owner}/{repo}/subscribers", "GET"); + Endpoints[149] = CreateEndpoint("/repos/{owner}/{repo}/subscription", "PUT"); + Endpoints[150] = CreateEndpoint("/repos/{owner}/{repo}/subscription", "GET"); + Endpoints[151] = CreateEndpoint("/repos/{owner}/{repo}/subscription", "DELETE"); + Endpoints[152] = CreateEndpoint("/repos/{owner}/{repo}/tags", "GET"); + Endpoints[153] = CreateEndpoint("/repos/{owner}/{repo}/teams", "GET"); + Endpoints[154] = CreateEndpoint("/repos/{owner}/{repo}/watchers", "GET"); + Endpoints[155] = CreateEndpoint("/repos/{owner}/{repo}/git/blobs", "POST"); + Endpoints[156] = CreateEndpoint("/repos/{owner}/{repo}/git/commits", "POST"); + Endpoints[157] = CreateEndpoint("/repos/{owner}/{repo}/git/refs", "GET"); + Endpoints[158] = CreateEndpoint("/repos/{owner}/{repo}/git/refs", "POST"); + Endpoints[159] = CreateEndpoint("/repos/{owner}/{repo}/git/tags", "POST"); + Endpoints[160] = CreateEndpoint("/repos/{owner}/{repo}/git/trees", "POST"); + Endpoints[161] = CreateEndpoint("/repos/{owner}/{repo}/issues/comments", "GET"); + Endpoints[162] = CreateEndpoint("/repos/{owner}/{repo}/issues/events", "GET"); + Endpoints[163] = CreateEndpoint("/repos/{owner}/{repo}/pulls/comments", "GET"); + Endpoints[164] = CreateEndpoint("/repos/{owner}/{repo}/stats/code_frequency", "GET"); + Endpoints[165] = CreateEndpoint("/repos/{owner}/{repo}/stats/commit_activity", "GET"); + Endpoints[166] = CreateEndpoint("/repos/{owner}/{repo}/stats/contributors", "GET"); + Endpoints[167] = CreateEndpoint("/repos/{owner}/{repo}/stats/participation", "GET"); + Endpoints[168] = CreateEndpoint("/repos/{owner}/{repo}/stats/punch_card", "GET"); + Endpoints[169] = CreateEndpoint("/repos/{owner}/{repo}/git/blobs/{shaCode}", "GET"); + Endpoints[170] = CreateEndpoint("/repos/{owner}/{repo}/git/commits/{shaCode}", "GET"); + Endpoints[171] = CreateEndpoint("/repos/{owner}/{repo}/git/refs/{ref}", "DELETE"); + Endpoints[172] = CreateEndpoint("/repos/{owner}/{repo}/git/refs/{ref}", "PATCH"); + Endpoints[173] = CreateEndpoint("/repos/{owner}/{repo}/git/refs/{ref}", "GET"); + Endpoints[174] = CreateEndpoint("/repos/{owner}/{repo}/git/tags/{shaCode}", "GET"); + Endpoints[175] = CreateEndpoint("/repos/{owner}/{repo}/git/trees/{shaCode}", "GET"); + Endpoints[176] = CreateEndpoint("/repos/{owner}/{repo}/issues/comments/{commentId}", "GET"); + Endpoints[177] = CreateEndpoint("/repos/{owner}/{repo}/issues/comments/{commentId}", "PATCH"); + Endpoints[178] = CreateEndpoint("/repos/{owner}/{repo}/issues/comments/{commentId}", "DELETE"); + Endpoints[179] = CreateEndpoint("/repos/{owner}/{repo}/issues/events/{eventId}", "GET"); + Endpoints[180] = CreateEndpoint("/repos/{owner}/{repo}/pulls/comments/{commentId}", "PATCH"); + Endpoints[181] = CreateEndpoint("/repos/{owner}/{repo}/pulls/comments/{commentId}", "GET"); + Endpoints[182] = CreateEndpoint("/repos/{owner}/{repo}/pulls/comments/{commentId}", "DELETE"); + Endpoints[183] = CreateEndpoint("/repos/{owner}/{repo}/releases/assets/{id}", "PATCH"); + Endpoints[184] = CreateEndpoint("/repos/{owner}/{repo}/releases/assets/{id}", "DELETE"); + Endpoints[185] = CreateEndpoint("/repos/{owner}/{repo}/releases/assets/{id}", "GET"); + Endpoints[186] = CreateEndpoint("/repos/{owner}/{repo}/assignees/{assignee}", "GET"); + Endpoints[187] = CreateEndpoint("/repos/{owner}/{repo}/branches/{branch}", "GET"); + Endpoints[188] = CreateEndpoint("/repos/{owner}/{repo}/collaborators/{user}", "PUT"); + Endpoints[189] = CreateEndpoint("/repos/{owner}/{repo}/collaborators/{user}", "DELETE"); + Endpoints[190] = CreateEndpoint("/repos/{owner}/{repo}/collaborators/{user}", "GET"); + Endpoints[191] = CreateEndpoint("/repos/{owner}/{repo}/comments/{commentId}", "DELETE"); + Endpoints[192] = CreateEndpoint("/repos/{owner}/{repo}/comments/{commentId}", "GET"); + Endpoints[193] = CreateEndpoint("/repos/{owner}/{repo}/comments/{commentId}", "PATCH"); + Endpoints[194] = CreateEndpoint("/repos/{owner}/{repo}/commits/{shaCode}", "GET"); + Endpoints[195] = CreateEndpoint("/repos/{owner}/{repo}/contents/{path}", "GET"); + Endpoints[196] = CreateEndpoint("/repos/{owner}/{repo}/contents/{path}", "DELETE"); + Endpoints[197] = CreateEndpoint("/repos/{owner}/{repo}/contents/{path}", "PUT"); + Endpoints[198] = CreateEndpoint("/repos/{owner}/{repo}/downloads/{downloadId}", "GET"); + Endpoints[199] = CreateEndpoint("/repos/{owner}/{repo}/downloads/{downloadId}", "DELETE"); + Endpoints[200] = CreateEndpoint("/repos/{owner}/{repo}/hooks/{hookId}", "DELETE"); + Endpoints[201] = CreateEndpoint("/repos/{owner}/{repo}/hooks/{hookId}", "GET"); + Endpoints[202] = CreateEndpoint("/repos/{owner}/{repo}/hooks/{hookId}", "PATCH"); + Endpoints[203] = CreateEndpoint("/repos/{owner}/{repo}/issues/{number}", "GET"); + Endpoints[204] = CreateEndpoint("/repos/{owner}/{repo}/issues/{number}", "PATCH"); + Endpoints[205] = CreateEndpoint("/repos/{owner}/{repo}/keys/{keyId}", "GET"); + Endpoints[206] = CreateEndpoint("/repos/{owner}/{repo}/keys/{keyId}", "DELETE"); + Endpoints[207] = CreateEndpoint("/repos/{owner}/{repo}/labels/{name}", "GET"); + Endpoints[208] = CreateEndpoint("/repos/{owner}/{repo}/labels/{name}", "PATCH"); + Endpoints[209] = CreateEndpoint("/repos/{owner}/{repo}/labels/{name}", "DELETE"); + Endpoints[210] = CreateEndpoint("/repos/{owner}/{repo}/milestones/{number}", "PATCH"); + Endpoints[211] = CreateEndpoint("/repos/{owner}/{repo}/milestones/{number}", "GET"); + Endpoints[212] = CreateEndpoint("/repos/{owner}/{repo}/milestones/{number}", "DELETE"); + Endpoints[213] = CreateEndpoint("/repos/{owner}/{repo}/pulls/{number}", "GET"); + Endpoints[214] = CreateEndpoint("/repos/{owner}/{repo}/pulls/{number}", "PATCH"); + Endpoints[215] = CreateEndpoint("/repos/{owner}/{repo}/releases/{id}", "PATCH"); + Endpoints[216] = CreateEndpoint("/repos/{owner}/{repo}/releases/{id}", "GET"); + Endpoints[217] = CreateEndpoint("/repos/{owner}/{repo}/releases/{id}", "DELETE"); + Endpoints[218] = CreateEndpoint("/repos/{owner}/{repo}/statuses/{ref}", "GET"); + Endpoints[219] = CreateEndpoint("/repos/{owner}/{repo}/statuses/{ref}", "POST"); + Endpoints[220] = CreateEndpoint("/repos/{owner}/{repo}/commits/{ref}/status", "GET"); + Endpoints[221] = CreateEndpoint("/repos/{owner}/{repo}/commits/{shaCode}/comments", "GET"); + Endpoints[222] = CreateEndpoint("/repos/{owner}/{repo}/commits/{shaCode}/comments", "POST"); + Endpoints[223] = CreateEndpoint("/repos/{owner}/{repo}/deployments/{id}/statuses", "GET"); + Endpoints[224] = CreateEndpoint("/repos/{owner}/{repo}/deployments/{id}/statuses", "POST"); + Endpoints[225] = CreateEndpoint("/repos/{owner}/{repo}/hooks/{hookId}/tests", "POST"); + Endpoints[226] = CreateEndpoint("/repos/{owner}/{repo}/issues/{number}/comments", "POST"); + Endpoints[227] = CreateEndpoint("/repos/{owner}/{repo}/issues/{number}/comments", "GET"); + Endpoints[228] = CreateEndpoint("/repos/{owner}/{repo}/issues/{number}/events", "GET"); + Endpoints[229] = CreateEndpoint("/repos/{owner}/{repo}/issues/{number}/labels", "POST"); + Endpoints[230] = CreateEndpoint("/repos/{owner}/{repo}/issues/{number}/labels", "GET"); + Endpoints[231] = CreateEndpoint("/repos/{owner}/{repo}/issues/{number}/labels", "PUT"); + Endpoints[232] = CreateEndpoint("/repos/{owner}/{repo}/issues/{number}/labels", "DELETE"); + Endpoints[233] = CreateEndpoint("/repos/{owner}/{repo}/milestones/{number}/labels", "GET"); + Endpoints[234] = CreateEndpoint("/repos/{owner}/{repo}/pulls/{number}/comments", "GET"); + Endpoints[235] = CreateEndpoint("/repos/{owner}/{repo}/pulls/{number}/comments", "POST"); + Endpoints[236] = CreateEndpoint("/repos/{owner}/{repo}/pulls/{number}/commits", "GET"); + Endpoints[237] = CreateEndpoint("/repos/{owner}/{repo}/pulls/{number}/files", "GET"); + Endpoints[238] = CreateEndpoint("/repos/{owner}/{repo}/pulls/{number}/merge", "PUT"); + Endpoints[239] = CreateEndpoint("/repos/{owner}/{repo}/pulls/{number}/merge", "GET"); + Endpoints[240] = CreateEndpoint("/repos/{owner}/{repo}/releases/{id}/assets", "GET"); + Endpoints[241] = CreateEndpoint("/repos/{owner}/{repo}/issues/{number}/labels/{name}", "DELETE"); + Endpoints[242] = CreateEndpoint("/repos/{owner}/{repo}/{archive_format}/{path}", "GET"); + } + + private void SetupRequests() + { + Requests = new HttpContext[243]; + Requests[0] = new DefaultHttpContext(); + Requests[0].RequestServices = CreateServices(); + Requests[0].Request.Method = "GET"; + Requests[0].Request.Path = "/emojis"; + Requests[1] = new DefaultHttpContext(); + Requests[1].RequestServices = CreateServices(); + Requests[1].Request.Method = "GET"; + Requests[1].Request.Path = "/events"; + Requests[2] = new DefaultHttpContext(); + Requests[2].RequestServices = CreateServices(); + Requests[2].Request.Method = "GET"; + Requests[2].Request.Path = "/feeds"; + Requests[3] = new DefaultHttpContext(); + Requests[3].RequestServices = CreateServices(); + Requests[3].Request.Method = "GET"; + Requests[3].Request.Path = "/gists"; + Requests[4] = new DefaultHttpContext(); + Requests[4].RequestServices = CreateServices(); + Requests[4].Request.Method = "POST"; + Requests[4].Request.Path = "/gists"; + Requests[5] = new DefaultHttpContext(); + Requests[5].RequestServices = CreateServices(); + Requests[5].Request.Method = "GET"; + Requests[5].Request.Path = "/issues"; + Requests[6] = new DefaultHttpContext(); + Requests[6].RequestServices = CreateServices(); + Requests[6].Request.Method = "POST"; + Requests[6].Request.Path = "/markdown"; + Requests[7] = new DefaultHttpContext(); + Requests[7].RequestServices = CreateServices(); + Requests[7].Request.Method = "GET"; + Requests[7].Request.Path = "/meta"; + Requests[8] = new DefaultHttpContext(); + Requests[8].RequestServices = CreateServices(); + Requests[8].Request.Method = "GET"; + Requests[8].Request.Path = "/notifications"; + Requests[9] = new DefaultHttpContext(); + Requests[9].RequestServices = CreateServices(); + Requests[9].Request.Method = "PUT"; + Requests[9].Request.Path = "/notifications"; + Requests[10] = new DefaultHttpContext(); + Requests[10].RequestServices = CreateServices(); + Requests[10].Request.Method = "GET"; + Requests[10].Request.Path = "/rate_limit"; + Requests[11] = new DefaultHttpContext(); + Requests[11].RequestServices = CreateServices(); + Requests[11].Request.Method = "GET"; + Requests[11].Request.Path = "/repositories"; + Requests[12] = new DefaultHttpContext(); + Requests[12].RequestServices = CreateServices(); + Requests[12].Request.Method = "GET"; + Requests[12].Request.Path = "/user"; + Requests[13] = new DefaultHttpContext(); + Requests[13].RequestServices = CreateServices(); + Requests[13].Request.Method = "PATCH"; + Requests[13].Request.Path = "/user"; + Requests[14] = new DefaultHttpContext(); + Requests[14].RequestServices = CreateServices(); + Requests[14].Request.Method = "GET"; + Requests[14].Request.Path = "/users"; + Requests[15] = new DefaultHttpContext(); + Requests[15].RequestServices = CreateServices(); + Requests[15].Request.Method = "GET"; + Requests[15].Request.Path = "/gists/public"; + Requests[16] = new DefaultHttpContext(); + Requests[16].RequestServices = CreateServices(); + Requests[16].Request.Method = "GET"; + Requests[16].Request.Path = "/gists/starred"; + Requests[17] = new DefaultHttpContext(); + Requests[17].RequestServices = CreateServices(); + Requests[17].Request.Method = "GET"; + Requests[17].Request.Path = "/gitignore/templates"; + Requests[18] = new DefaultHttpContext(); + Requests[18].RequestServices = CreateServices(); + Requests[18].Request.Method = "POST"; + Requests[18].Request.Path = "/markdown/raw"; + Requests[19] = new DefaultHttpContext(); + Requests[19].RequestServices = CreateServices(); + Requests[19].Request.Method = "GET"; + Requests[19].Request.Path = "/search/code"; + Requests[20] = new DefaultHttpContext(); + Requests[20].RequestServices = CreateServices(); + Requests[20].Request.Method = "GET"; + Requests[20].Request.Path = "/search/issues"; + Requests[21] = new DefaultHttpContext(); + Requests[21].RequestServices = CreateServices(); + Requests[21].Request.Method = "GET"; + Requests[21].Request.Path = "/search/repositories"; + Requests[22] = new DefaultHttpContext(); + Requests[22].RequestServices = CreateServices(); + Requests[22].Request.Method = "GET"; + Requests[22].Request.Path = "/search/users"; + Requests[23] = new DefaultHttpContext(); + Requests[23].RequestServices = CreateServices(); + Requests[23].Request.Method = "GET"; + Requests[23].Request.Path = "/user/emails"; + Requests[24] = new DefaultHttpContext(); + Requests[24].RequestServices = CreateServices(); + Requests[24].Request.Method = "DELETE"; + Requests[24].Request.Path = "/user/emails"; + Requests[25] = new DefaultHttpContext(); + Requests[25].RequestServices = CreateServices(); + Requests[25].Request.Method = "POST"; + Requests[25].Request.Path = "/user/emails"; + Requests[26] = new DefaultHttpContext(); + Requests[26].RequestServices = CreateServices(); + Requests[26].Request.Method = "GET"; + Requests[26].Request.Path = "/user/followers"; + Requests[27] = new DefaultHttpContext(); + Requests[27].RequestServices = CreateServices(); + Requests[27].Request.Method = "GET"; + Requests[27].Request.Path = "/user/following"; + Requests[28] = new DefaultHttpContext(); + Requests[28].RequestServices = CreateServices(); + Requests[28].Request.Method = "GET"; + Requests[28].Request.Path = "/user/issues"; + Requests[29] = new DefaultHttpContext(); + Requests[29].RequestServices = CreateServices(); + Requests[29].Request.Method = "POST"; + Requests[29].Request.Path = "/user/keys"; + Requests[30] = new DefaultHttpContext(); + Requests[30].RequestServices = CreateServices(); + Requests[30].Request.Method = "GET"; + Requests[30].Request.Path = "/user/keys"; + Requests[31] = new DefaultHttpContext(); + Requests[31].RequestServices = CreateServices(); + Requests[31].Request.Method = "GET"; + Requests[31].Request.Path = "/user/orgs"; + Requests[32] = new DefaultHttpContext(); + Requests[32].RequestServices = CreateServices(); + Requests[32].Request.Method = "GET"; + Requests[32].Request.Path = "/user/repos"; + Requests[33] = new DefaultHttpContext(); + Requests[33].RequestServices = CreateServices(); + Requests[33].Request.Method = "POST"; + Requests[33].Request.Path = "/user/repos"; + Requests[34] = new DefaultHttpContext(); + Requests[34].RequestServices = CreateServices(); + Requests[34].Request.Method = "GET"; + Requests[34].Request.Path = "/user/starred"; + Requests[35] = new DefaultHttpContext(); + Requests[35].RequestServices = CreateServices(); + Requests[35].Request.Method = "GET"; + Requests[35].Request.Path = "/user/subscriptions"; + Requests[36] = new DefaultHttpContext(); + Requests[36].RequestServices = CreateServices(); + Requests[36].Request.Method = "GET"; + Requests[36].Request.Path = "/user/teams"; + Requests[37] = new DefaultHttpContext(); + Requests[37].RequestServices = CreateServices(); + Requests[37].Request.Method = "GET"; + Requests[37].Request.Path = "/legacy/repos/search/7651dbb"; + Requests[38] = new DefaultHttpContext(); + Requests[38].RequestServices = CreateServices(); + Requests[38].Request.Method = "GET"; + Requests[38].Request.Path = "/legacy/user/email/04193"; + Requests[39] = new DefaultHttpContext(); + Requests[39].RequestServices = CreateServices(); + Requests[39].Request.Method = "GET"; + Requests[39].Request.Path = "/legacy/user/search/83cd044"; + Requests[40] = new DefaultHttpContext(); + Requests[40].RequestServices = CreateServices(); + Requests[40].Request.Method = "GET"; + Requests[40].Request.Path = "/legacy/issues/search/2badf/dc2f3c98-c/2d6bc/61d4c54"; + Requests[41] = new DefaultHttpContext(); + Requests[41].RequestServices = CreateServices(); + Requests[41].Request.Method = "GET"; + Requests[41].Request.Path = "/gitignore/templates/e4789e94"; + Requests[42] = new DefaultHttpContext(); + Requests[42].RequestServices = CreateServices(); + Requests[42].Request.Method = "GET"; + Requests[42].Request.Path = "/notifications/threads/54db8"; + Requests[43] = new DefaultHttpContext(); + Requests[43].RequestServices = CreateServices(); + Requests[43].Request.Method = "PATCH"; + Requests[43].Request.Path = "/notifications/threads/a9ccb"; + Requests[44] = new DefaultHttpContext(); + Requests[44].RequestServices = CreateServices(); + Requests[44].Request.Method = "DELETE"; + Requests[44].Request.Path = "/user/following/5a73d521"; + Requests[45] = new DefaultHttpContext(); + Requests[45].RequestServices = CreateServices(); + Requests[45].Request.Method = "GET"; + Requests[45].Request.Path = "/user/following/77cb2864"; + Requests[46] = new DefaultHttpContext(); + Requests[46].RequestServices = CreateServices(); + Requests[46].Request.Method = "PUT"; + Requests[46].Request.Path = "/user/following/91b65e36"; + Requests[47] = new DefaultHttpContext(); + Requests[47].RequestServices = CreateServices(); + Requests[47].Request.Method = "DELETE"; + Requests[47].Request.Path = "/user/keys/27092"; + Requests[48] = new DefaultHttpContext(); + Requests[48].RequestServices = CreateServices(); + Requests[48].Request.Method = "GET"; + Requests[48].Request.Path = "/user/keys/a0882"; + Requests[49] = new DefaultHttpContext(); + Requests[49].RequestServices = CreateServices(); + Requests[49].Request.Method = "DELETE"; + Requests[49].Request.Path = "/notifications/threads/0b0be/subscription"; + Requests[50] = new DefaultHttpContext(); + Requests[50].RequestServices = CreateServices(); + Requests[50].Request.Method = "GET"; + Requests[50].Request.Path = "/notifications/threads/9b0d8/subscription"; + Requests[51] = new DefaultHttpContext(); + Requests[51].RequestServices = CreateServices(); + Requests[51].Request.Method = "PUT"; + Requests[51].Request.Path = "/notifications/threads/8a23f/subscription"; + Requests[52] = new DefaultHttpContext(); + Requests[52].RequestServices = CreateServices(); + Requests[52].Request.Method = "PUT"; + Requests[52].Request.Path = "/user/starred/ec9c4/16da5"; + Requests[53] = new DefaultHttpContext(); + Requests[53].RequestServices = CreateServices(); + Requests[53].Request.Method = "GET"; + Requests[53].Request.Path = "/user/starred/59cdd/1bec4"; + Requests[54] = new DefaultHttpContext(); + Requests[54].RequestServices = CreateServices(); + Requests[54].Request.Method = "DELETE"; + Requests[54].Request.Path = "/user/starred/14da3/8c4b5"; + Requests[55] = new DefaultHttpContext(); + Requests[55].RequestServices = CreateServices(); + Requests[55].Request.Method = "PUT"; + Requests[55].Request.Path = "/user/subscriptions/b6bea/ba79d"; + Requests[56] = new DefaultHttpContext(); + Requests[56].RequestServices = CreateServices(); + Requests[56].Request.Method = "GET"; + Requests[56].Request.Path = "/user/subscriptions/83c9a/b83ce"; + Requests[57] = new DefaultHttpContext(); + Requests[57].RequestServices = CreateServices(); + Requests[57].Request.Method = "DELETE"; + Requests[57].Request.Path = "/user/subscriptions/10903/f415b"; + Requests[58] = new DefaultHttpContext(); + Requests[58].RequestServices = CreateServices(); + Requests[58].Request.Method = "GET"; + Requests[58].Request.Path = "/gists/c78b2"; + Requests[59] = new DefaultHttpContext(); + Requests[59].RequestServices = CreateServices(); + Requests[59].Request.Method = "PATCH"; + Requests[59].Request.Path = "/gists/7316d"; + Requests[60] = new DefaultHttpContext(); + Requests[60].RequestServices = CreateServices(); + Requests[60].Request.Method = "DELETE"; + Requests[60].Request.Path = "/gists/dac3c"; + Requests[61] = new DefaultHttpContext(); + Requests[61].RequestServices = CreateServices(); + Requests[61].Request.Method = "PATCH"; + Requests[61].Request.Path = "/orgs/f93c4"; + Requests[62] = new DefaultHttpContext(); + Requests[62].RequestServices = CreateServices(); + Requests[62].Request.Method = "GET"; + Requests[62].Request.Path = "/orgs/278c1"; + Requests[63] = new DefaultHttpContext(); + Requests[63].RequestServices = CreateServices(); + Requests[63].Request.Method = "PATCH"; + Requests[63].Request.Path = "/teams/14c0dc"; + Requests[64] = new DefaultHttpContext(); + Requests[64].RequestServices = CreateServices(); + Requests[64].Request.Method = "GET"; + Requests[64].Request.Path = "/teams/71f13b"; + Requests[65] = new DefaultHttpContext(); + Requests[65].RequestServices = CreateServices(); + Requests[65].Request.Method = "DELETE"; + Requests[65].Request.Path = "/teams/ca53db"; + Requests[66] = new DefaultHttpContext(); + Requests[66].RequestServices = CreateServices(); + Requests[66].Request.Method = "GET"; + Requests[66].Request.Path = "/users/fa9c6dc9"; + Requests[67] = new DefaultHttpContext(); + Requests[67].RequestServices = CreateServices(); + Requests[67].Request.Method = "GET"; + Requests[67].Request.Path = "/gists/2f9f8/comments"; + Requests[68] = new DefaultHttpContext(); + Requests[68].RequestServices = CreateServices(); + Requests[68].Request.Method = "POST"; + Requests[68].Request.Path = "/gists/618f7/comments"; + Requests[69] = new DefaultHttpContext(); + Requests[69].RequestServices = CreateServices(); + Requests[69].Request.Method = "POST"; + Requests[69].Request.Path = "/gists/6313c/forks"; + Requests[70] = new DefaultHttpContext(); + Requests[70].RequestServices = CreateServices(); + Requests[70].Request.Method = "DELETE"; + Requests[70].Request.Path = "/gists/9034d/star"; + Requests[71] = new DefaultHttpContext(); + Requests[71].RequestServices = CreateServices(); + Requests[71].Request.Method = "GET"; + Requests[71].Request.Path = "/gists/b571d/star"; + Requests[72] = new DefaultHttpContext(); + Requests[72].RequestServices = CreateServices(); + Requests[72].Request.Method = "PUT"; + Requests[72].Request.Path = "/gists/83ab8/star"; + Requests[73] = new DefaultHttpContext(); + Requests[73].RequestServices = CreateServices(); + Requests[73].Request.Method = "GET"; + Requests[73].Request.Path = "/orgs/9be14/events"; + Requests[74] = new DefaultHttpContext(); + Requests[74].RequestServices = CreateServices(); + Requests[74].Request.Method = "GET"; + Requests[74].Request.Path = "/orgs/b014e/issues"; + Requests[75] = new DefaultHttpContext(); + Requests[75].RequestServices = CreateServices(); + Requests[75].Request.Method = "GET"; + Requests[75].Request.Path = "/orgs/a4856/members"; + Requests[76] = new DefaultHttpContext(); + Requests[76].RequestServices = CreateServices(); + Requests[76].Request.Method = "GET"; + Requests[76].Request.Path = "/orgs/764a9/public_members"; + Requests[77] = new DefaultHttpContext(); + Requests[77].RequestServices = CreateServices(); + Requests[77].Request.Method = "GET"; + Requests[77].Request.Path = "/orgs/7749d/repos"; + Requests[78] = new DefaultHttpContext(); + Requests[78].RequestServices = CreateServices(); + Requests[78].Request.Method = "POST"; + Requests[78].Request.Path = "/orgs/2289c/repos"; + Requests[79] = new DefaultHttpContext(); + Requests[79].RequestServices = CreateServices(); + Requests[79].Request.Method = "POST"; + Requests[79].Request.Path = "/orgs/42198/teams"; + Requests[80] = new DefaultHttpContext(); + Requests[80].RequestServices = CreateServices(); + Requests[80].Request.Method = "GET"; + Requests[80].Request.Path = "/orgs/5d0bc/teams"; + Requests[81] = new DefaultHttpContext(); + Requests[81].RequestServices = CreateServices(); + Requests[81].Request.Method = "GET"; + Requests[81].Request.Path = "/teams/b8f729/members"; + Requests[82] = new DefaultHttpContext(); + Requests[82].RequestServices = CreateServices(); + Requests[82].Request.Method = "GET"; + Requests[82].Request.Path = "/teams/03b619/repos"; + Requests[83] = new DefaultHttpContext(); + Requests[83].RequestServices = CreateServices(); + Requests[83].Request.Method = "GET"; + Requests[83].Request.Path = "/users/999f39df/events"; + Requests[84] = new DefaultHttpContext(); + Requests[84].RequestServices = CreateServices(); + Requests[84].Request.Method = "GET"; + Requests[84].Request.Path = "/users/bbecc307/followers"; + Requests[85] = new DefaultHttpContext(); + Requests[85].RequestServices = CreateServices(); + Requests[85].Request.Method = "GET"; + Requests[85].Request.Path = "/users/9127792b/gists"; + Requests[86] = new DefaultHttpContext(); + Requests[86].RequestServices = CreateServices(); + Requests[86].Request.Method = "GET"; + Requests[86].Request.Path = "/users/a81cf3db/keys"; + Requests[87] = new DefaultHttpContext(); + Requests[87].RequestServices = CreateServices(); + Requests[87].Request.Method = "GET"; + Requests[87].Request.Path = "/users/575556d6/orgs"; + Requests[88] = new DefaultHttpContext(); + Requests[88].RequestServices = CreateServices(); + Requests[88].Request.Method = "GET"; + Requests[88].Request.Path = "/users/0ef07cfe/received_events"; + Requests[89] = new DefaultHttpContext(); + Requests[89].RequestServices = CreateServices(); + Requests[89].Request.Method = "GET"; + Requests[89].Request.Path = "/users/fa4901d4/repos"; + Requests[90] = new DefaultHttpContext(); + Requests[90].RequestServices = CreateServices(); + Requests[90].Request.Method = "GET"; + Requests[90].Request.Path = "/users/7a88b2ac/starred"; + Requests[91] = new DefaultHttpContext(); + Requests[91].RequestServices = CreateServices(); + Requests[91].Request.Method = "GET"; + Requests[91].Request.Path = "/users/4d8b04d1/subscriptions"; + Requests[92] = new DefaultHttpContext(); + Requests[92].RequestServices = CreateServices(); + Requests[92].Request.Method = "GET"; + Requests[92].Request.Path = "/users/73e28d52/received_events/public"; + Requests[93] = new DefaultHttpContext(); + Requests[93].RequestServices = CreateServices(); + Requests[93].Request.Method = "GET"; + Requests[93].Request.Path = "/users/f98f2363/events/orgs/51c95"; + Requests[94] = new DefaultHttpContext(); + Requests[94].RequestServices = CreateServices(); + Requests[94].Request.Method = "DELETE"; + Requests[94].Request.Path = "/gists/f8720/comments/b56cd8ff-"; + Requests[95] = new DefaultHttpContext(); + Requests[95].RequestServices = CreateServices(); + Requests[95].Request.Method = "GET"; + Requests[95].Request.Path = "/gists/40327/comments/11594715-"; + Requests[96] = new DefaultHttpContext(); + Requests[96].RequestServices = CreateServices(); + Requests[96].Request.Method = "PATCH"; + Requests[96].Request.Path = "/gists/fb063/comments/1da04881-"; + Requests[97] = new DefaultHttpContext(); + Requests[97].RequestServices = CreateServices(); + Requests[97].Request.Method = "DELETE"; + Requests[97].Request.Path = "/orgs/15419/members/9d03051d"; + Requests[98] = new DefaultHttpContext(); + Requests[98].RequestServices = CreateServices(); + Requests[98].Request.Method = "GET"; + Requests[98].Request.Path = "/orgs/3cbe7/members/4045509c"; + Requests[99] = new DefaultHttpContext(); + Requests[99].RequestServices = CreateServices(); + Requests[99].Request.Method = "PUT"; + Requests[99].Request.Path = "/orgs/72f1a/public_members/6163704c"; + Requests[100] = new DefaultHttpContext(); + Requests[100].RequestServices = CreateServices(); + Requests[100].Request.Method = "GET"; + Requests[100].Request.Path = "/orgs/bae66/public_members/c1aef66c"; + Requests[101] = new DefaultHttpContext(); + Requests[101].RequestServices = CreateServices(); + Requests[101].Request.Method = "DELETE"; + Requests[101].Request.Path = "/orgs/d8648/public_members/2319ad3d"; + Requests[102] = new DefaultHttpContext(); + Requests[102].RequestServices = CreateServices(); + Requests[102].Request.Method = "GET"; + Requests[102].Request.Path = "/teams/262658/members/5dac9fc5"; + Requests[103] = new DefaultHttpContext(); + Requests[103].RequestServices = CreateServices(); + Requests[103].Request.Method = "PUT"; + Requests[103].Request.Path = "/teams/430633/members/795406c6"; + Requests[104] = new DefaultHttpContext(); + Requests[104].RequestServices = CreateServices(); + Requests[104].Request.Method = "DELETE"; + Requests[104].Request.Path = "/teams/7e9f66/members/919df774"; + Requests[105] = new DefaultHttpContext(); + Requests[105].RequestServices = CreateServices(); + Requests[105].Request.Method = "DELETE"; + Requests[105].Request.Path = "/teams/b34a3b/memberships/33fdb8ad"; + Requests[106] = new DefaultHttpContext(); + Requests[106].RequestServices = CreateServices(); + Requests[106].Request.Method = "PUT"; + Requests[106].Request.Path = "/teams/a0f9ea/memberships/dcb115d9"; + Requests[107] = new DefaultHttpContext(); + Requests[107].RequestServices = CreateServices(); + Requests[107].Request.Method = "GET"; + Requests[107].Request.Path = "/teams/e43785/memberships/2f601a63"; + Requests[108] = new DefaultHttpContext(); + Requests[108].RequestServices = CreateServices(); + Requests[108].Request.Method = "GET"; + Requests[108].Request.Path = "/users/44263c00/following/a7887e00-7"; + Requests[109] = new DefaultHttpContext(); + Requests[109].RequestServices = CreateServices(); + Requests[109].Request.Method = "PUT"; + Requests[109].Request.Path = "/teams/451dd6/repos/7b326/00b51"; + Requests[110] = new DefaultHttpContext(); + Requests[110].RequestServices = CreateServices(); + Requests[110].Request.Method = "DELETE"; + Requests[110].Request.Path = "/teams/b01088/repos/41fc2/f54bc"; + Requests[111] = new DefaultHttpContext(); + Requests[111].RequestServices = CreateServices(); + Requests[111].Request.Method = "GET"; + Requests[111].Request.Path = "/teams/91eed9/repos/189dd/35f6c"; + Requests[112] = new DefaultHttpContext(); + Requests[112].RequestServices = CreateServices(); + Requests[112].Request.Method = "PATCH"; + Requests[112].Request.Path = "/repos/c8d69/5a51a"; + Requests[113] = new DefaultHttpContext(); + Requests[113].RequestServices = CreateServices(); + Requests[113].Request.Method = "DELETE"; + Requests[113].Request.Path = "/repos/a6b70/56c66"; + Requests[114] = new DefaultHttpContext(); + Requests[114].RequestServices = CreateServices(); + Requests[114].Request.Method = "GET"; + Requests[114].Request.Path = "/repos/ba9a3/cad23"; + Requests[115] = new DefaultHttpContext(); + Requests[115].RequestServices = CreateServices(); + Requests[115].Request.Method = "GET"; + Requests[115].Request.Path = "/networks/fcaf8/84422/events"; + Requests[116] = new DefaultHttpContext(); + Requests[116].RequestServices = CreateServices(); + Requests[116].Request.Method = "GET"; + Requests[116].Request.Path = "/repos/673e0/f8701/assignees"; + Requests[117] = new DefaultHttpContext(); + Requests[117].RequestServices = CreateServices(); + Requests[117].Request.Method = "GET"; + Requests[117].Request.Path = "/repos/a0209/62a33/branches"; + Requests[118] = new DefaultHttpContext(); + Requests[118].RequestServices = CreateServices(); + Requests[118].Request.Method = "GET"; + Requests[118].Request.Path = "/repos/9bb2b/64afd/collaborators"; + Requests[119] = new DefaultHttpContext(); + Requests[119].RequestServices = CreateServices(); + Requests[119].Request.Method = "GET"; + Requests[119].Request.Path = "/repos/88841/14fcf/comments"; + Requests[120] = new DefaultHttpContext(); + Requests[120].RequestServices = CreateServices(); + Requests[120].Request.Method = "GET"; + Requests[120].Request.Path = "/repos/c3a42/f3621/commits"; + Requests[121] = new DefaultHttpContext(); + Requests[121].RequestServices = CreateServices(); + Requests[121].Request.Method = "GET"; + Requests[121].Request.Path = "/repos/c97ea/02516/contributors"; + Requests[122] = new DefaultHttpContext(); + Requests[122].RequestServices = CreateServices(); + Requests[122].Request.Method = "GET"; + Requests[122].Request.Path = "/repos/0e145/74ac8/deployments"; + Requests[123] = new DefaultHttpContext(); + Requests[123].RequestServices = CreateServices(); + Requests[123].Request.Method = "POST"; + Requests[123].Request.Path = "/repos/98ad0/1b957/deployments"; + Requests[124] = new DefaultHttpContext(); + Requests[124].RequestServices = CreateServices(); + Requests[124].Request.Method = "GET"; + Requests[124].Request.Path = "/repos/024a2/1eb41/downloads"; + Requests[125] = new DefaultHttpContext(); + Requests[125].RequestServices = CreateServices(); + Requests[125].Request.Method = "GET"; + Requests[125].Request.Path = "/repos/d5cad/f8231/events"; + Requests[126] = new DefaultHttpContext(); + Requests[126].RequestServices = CreateServices(); + Requests[126].Request.Method = "GET"; + Requests[126].Request.Path = "/repos/d371c/72b82/forks"; + Requests[127] = new DefaultHttpContext(); + Requests[127].RequestServices = CreateServices(); + Requests[127].Request.Method = "POST"; + Requests[127].Request.Path = "/repos/f0086/e005d/forks"; + Requests[128] = new DefaultHttpContext(); + Requests[128].RequestServices = CreateServices(); + Requests[128].Request.Method = "POST"; + Requests[128].Request.Path = "/repos/3a68f/edfc1/hooks"; + Requests[129] = new DefaultHttpContext(); + Requests[129].RequestServices = CreateServices(); + Requests[129].Request.Method = "GET"; + Requests[129].Request.Path = "/repos/4f5aa/5f2cd/hooks"; + Requests[130] = new DefaultHttpContext(); + Requests[130].RequestServices = CreateServices(); + Requests[130].Request.Method = "GET"; + Requests[130].Request.Path = "/repos/5a7bb/3f08b/issues"; + Requests[131] = new DefaultHttpContext(); + Requests[131].RequestServices = CreateServices(); + Requests[131].Request.Method = "POST"; + Requests[131].Request.Path = "/repos/38084/699f9/issues"; + Requests[132] = new DefaultHttpContext(); + Requests[132].RequestServices = CreateServices(); + Requests[132].Request.Method = "GET"; + Requests[132].Request.Path = "/repos/764dd/f916c/keys"; + Requests[133] = new DefaultHttpContext(); + Requests[133].RequestServices = CreateServices(); + Requests[133].Request.Method = "POST"; + Requests[133].Request.Path = "/repos/cb0f8/a2bf4/keys"; + Requests[134] = new DefaultHttpContext(); + Requests[134].RequestServices = CreateServices(); + Requests[134].Request.Method = "GET"; + Requests[134].Request.Path = "/repos/669bb/04383/labels"; + Requests[135] = new DefaultHttpContext(); + Requests[135].RequestServices = CreateServices(); + Requests[135].Request.Method = "POST"; + Requests[135].Request.Path = "/repos/8d707/02782/labels"; + Requests[136] = new DefaultHttpContext(); + Requests[136].RequestServices = CreateServices(); + Requests[136].Request.Method = "GET"; + Requests[136].Request.Path = "/repos/b5333/4a0e6/languages"; + Requests[137] = new DefaultHttpContext(); + Requests[137].RequestServices = CreateServices(); + Requests[137].Request.Method = "POST"; + Requests[137].Request.Path = "/repos/c7d7a/1e2d3/merges"; + Requests[138] = new DefaultHttpContext(); + Requests[138].RequestServices = CreateServices(); + Requests[138].Request.Method = "GET"; + Requests[138].Request.Path = "/repos/04ef4/de9d2/milestones"; + Requests[139] = new DefaultHttpContext(); + Requests[139].RequestServices = CreateServices(); + Requests[139].Request.Method = "POST"; + Requests[139].Request.Path = "/repos/a6a19/65d59/milestones"; + Requests[140] = new DefaultHttpContext(); + Requests[140].RequestServices = CreateServices(); + Requests[140].Request.Method = "PUT"; + Requests[140].Request.Path = "/repos/3f065/88c9f/notifications"; + Requests[141] = new DefaultHttpContext(); + Requests[141].RequestServices = CreateServices(); + Requests[141].Request.Method = "GET"; + Requests[141].Request.Path = "/repos/1f9f5/58bc1/notifications"; + Requests[142] = new DefaultHttpContext(); + Requests[142].RequestServices = CreateServices(); + Requests[142].Request.Method = "POST"; + Requests[142].Request.Path = "/repos/b5cf9/09870/pulls"; + Requests[143] = new DefaultHttpContext(); + Requests[143].RequestServices = CreateServices(); + Requests[143].Request.Method = "GET"; + Requests[143].Request.Path = "/repos/9d7c9/73349/pulls"; + Requests[144] = new DefaultHttpContext(); + Requests[144].RequestServices = CreateServices(); + Requests[144].Request.Method = "GET"; + Requests[144].Request.Path = "/repos/681e6/51b96/readme"; + Requests[145] = new DefaultHttpContext(); + Requests[145].RequestServices = CreateServices(); + Requests[145].Request.Method = "POST"; + Requests[145].Request.Path = "/repos/995e7/0fc05/releases"; + Requests[146] = new DefaultHttpContext(); + Requests[146].RequestServices = CreateServices(); + Requests[146].Request.Method = "GET"; + Requests[146].Request.Path = "/repos/70706/4db75/releases"; + Requests[147] = new DefaultHttpContext(); + Requests[147].RequestServices = CreateServices(); + Requests[147].Request.Method = "GET"; + Requests[147].Request.Path = "/repos/ed8e4/2ac9a/stargazers"; + Requests[148] = new DefaultHttpContext(); + Requests[148].RequestServices = CreateServices(); + Requests[148].Request.Method = "GET"; + Requests[148].Request.Path = "/repos/2ce98/61a4f/subscribers"; + Requests[149] = new DefaultHttpContext(); + Requests[149].RequestServices = CreateServices(); + Requests[149].Request.Method = "PUT"; + Requests[149].Request.Path = "/repos/8e47e/73aea/subscription"; + Requests[150] = new DefaultHttpContext(); + Requests[150].RequestServices = CreateServices(); + Requests[150].Request.Method = "GET"; + Requests[150].Request.Path = "/repos/89a1e/ff66d/subscription"; + Requests[151] = new DefaultHttpContext(); + Requests[151].RequestServices = CreateServices(); + Requests[151].Request.Method = "DELETE"; + Requests[151].Request.Path = "/repos/4ef88/cea09/subscription"; + Requests[152] = new DefaultHttpContext(); + Requests[152].RequestServices = CreateServices(); + Requests[152].Request.Method = "GET"; + Requests[152].Request.Path = "/repos/15949/8ac47/tags"; + Requests[153] = new DefaultHttpContext(); + Requests[153].RequestServices = CreateServices(); + Requests[153].Request.Method = "GET"; + Requests[153].Request.Path = "/repos/dae74/c0aa0/teams"; + Requests[154] = new DefaultHttpContext(); + Requests[154].RequestServices = CreateServices(); + Requests[154].Request.Method = "GET"; + Requests[154].Request.Path = "/repos/1f052/3f5dd/watchers"; + Requests[155] = new DefaultHttpContext(); + Requests[155].RequestServices = CreateServices(); + Requests[155].Request.Method = "POST"; + Requests[155].Request.Path = "/repos/3813a/cd329/git/blobs"; + Requests[156] = new DefaultHttpContext(); + Requests[156].RequestServices = CreateServices(); + Requests[156].Request.Method = "POST"; + Requests[156].Request.Path = "/repos/3190b/d3733/git/commits"; + Requests[157] = new DefaultHttpContext(); + Requests[157].RequestServices = CreateServices(); + Requests[157].Request.Method = "GET"; + Requests[157].Request.Path = "/repos/b5096/6079c/git/refs"; + Requests[158] = new DefaultHttpContext(); + Requests[158].RequestServices = CreateServices(); + Requests[158].Request.Method = "POST"; + Requests[158].Request.Path = "/repos/1047a/b3551/git/refs"; + Requests[159] = new DefaultHttpContext(); + Requests[159].RequestServices = CreateServices(); + Requests[159].Request.Method = "POST"; + Requests[159].Request.Path = "/repos/5af5c/8e748/git/tags"; + Requests[160] = new DefaultHttpContext(); + Requests[160].RequestServices = CreateServices(); + Requests[160].Request.Method = "POST"; + Requests[160].Request.Path = "/repos/d6e7d/015bf/git/trees"; + Requests[161] = new DefaultHttpContext(); + Requests[161].RequestServices = CreateServices(); + Requests[161].Request.Method = "GET"; + Requests[161].Request.Path = "/repos/e720a/8355c/issues/comments"; + Requests[162] = new DefaultHttpContext(); + Requests[162].RequestServices = CreateServices(); + Requests[162].Request.Method = "GET"; + Requests[162].Request.Path = "/repos/521c1/6efee/issues/events"; + Requests[163] = new DefaultHttpContext(); + Requests[163].RequestServices = CreateServices(); + Requests[163].Request.Method = "GET"; + Requests[163].Request.Path = "/repos/8a335/9b409/pulls/comments"; + Requests[164] = new DefaultHttpContext(); + Requests[164].RequestServices = CreateServices(); + Requests[164].Request.Method = "GET"; + Requests[164].Request.Path = "/repos/e8356/20c39/stats/code_frequency"; + Requests[165] = new DefaultHttpContext(); + Requests[165].RequestServices = CreateServices(); + Requests[165].Request.Method = "GET"; + Requests[165].Request.Path = "/repos/0272d/2c8c3/stats/commit_activity"; + Requests[166] = new DefaultHttpContext(); + Requests[166].RequestServices = CreateServices(); + Requests[166].Request.Method = "GET"; + Requests[166].Request.Path = "/repos/7073c/cb35a/stats/contributors"; + Requests[167] = new DefaultHttpContext(); + Requests[167].RequestServices = CreateServices(); + Requests[167].Request.Method = "GET"; + Requests[167].Request.Path = "/repos/86066/0134f/stats/participation"; + Requests[168] = new DefaultHttpContext(); + Requests[168].RequestServices = CreateServices(); + Requests[168].Request.Method = "GET"; + Requests[168].Request.Path = "/repos/b8add/8d26a/stats/punch_card"; + Requests[169] = new DefaultHttpContext(); + Requests[169].RequestServices = CreateServices(); + Requests[169].Request.Method = "GET"; + Requests[169].Request.Path = "/repos/6ea45/b6794/git/blobs/5c33fac"; + Requests[170] = new DefaultHttpContext(); + Requests[170].RequestServices = CreateServices(); + Requests[170].Request.Method = "GET"; + Requests[170].Request.Path = "/repos/cb558/705ee/git/commits/171b566"; + Requests[171] = new DefaultHttpContext(); + Requests[171].RequestServices = CreateServices(); + Requests[171].Request.Method = "DELETE"; + Requests[171].Request.Path = "/repos/8345e/91f8c/git/refs/b5e99"; + Requests[172] = new DefaultHttpContext(); + Requests[172].RequestServices = CreateServices(); + Requests[172].Request.Method = "PATCH"; + Requests[172].Request.Path = "/repos/3192a/5c61a/git/refs/60e61"; + Requests[173] = new DefaultHttpContext(); + Requests[173].RequestServices = CreateServices(); + Requests[173].Request.Method = "GET"; + Requests[173].Request.Path = "/repos/09c5f/76bd4/git/refs/16c1b"; + Requests[174] = new DefaultHttpContext(); + Requests[174].RequestServices = CreateServices(); + Requests[174].Request.Method = "GET"; + Requests[174].Request.Path = "/repos/49157/59ca0/git/tags/183d0ef"; + Requests[175] = new DefaultHttpContext(); + Requests[175].RequestServices = CreateServices(); + Requests[175].Request.Method = "GET"; + Requests[175].Request.Path = "/repos/a20a3/cd8cd/git/trees/1a6c7ca"; + Requests[176] = new DefaultHttpContext(); + Requests[176].RequestServices = CreateServices(); + Requests[176].Request.Method = "GET"; + Requests[176].Request.Path = "/repos/67d82/01158/issues/comments/b7d4fa80-"; + Requests[177] = new DefaultHttpContext(); + Requests[177].RequestServices = CreateServices(); + Requests[177].Request.Method = "PATCH"; + Requests[177].Request.Path = "/repos/d1159/092ba/issues/comments/4f2d0804-"; + Requests[178] = new DefaultHttpContext(); + Requests[178].RequestServices = CreateServices(); + Requests[178].Request.Method = "DELETE"; + Requests[178].Request.Path = "/repos/f1531/7ae3a/issues/comments/e3bf963c-"; + Requests[179] = new DefaultHttpContext(); + Requests[179].RequestServices = CreateServices(); + Requests[179].Request.Method = "GET"; + Requests[179].Request.Path = "/repos/57816/f1144/issues/events/081002b"; + Requests[180] = new DefaultHttpContext(); + Requests[180].RequestServices = CreateServices(); + Requests[180].Request.Method = "PATCH"; + Requests[180].Request.Path = "/repos/56ad9/b972d/pulls/comments/942cbd65-"; + Requests[181] = new DefaultHttpContext(); + Requests[181].RequestServices = CreateServices(); + Requests[181].Request.Method = "GET"; + Requests[181].Request.Path = "/repos/ed712/2c9ee/pulls/comments/a6a82a40-"; + Requests[182] = new DefaultHttpContext(); + Requests[182].RequestServices = CreateServices(); + Requests[182].Request.Method = "DELETE"; + Requests[182].Request.Path = "/repos/f447b/83a3c/pulls/comments/546f821d-"; + Requests[183] = new DefaultHttpContext(); + Requests[183].RequestServices = CreateServices(); + Requests[183].Request.Method = "PATCH"; + Requests[183].Request.Path = "/repos/7d270/354b6/releases/assets/28c26"; + Requests[184] = new DefaultHttpContext(); + Requests[184].RequestServices = CreateServices(); + Requests[184].Request.Method = "DELETE"; + Requests[184].Request.Path = "/repos/89d11/4446a/releases/assets/85ca4"; + Requests[185] = new DefaultHttpContext(); + Requests[185].RequestServices = CreateServices(); + Requests[185].Request.Method = "GET"; + Requests[185].Request.Path = "/repos/1007a/dea4d/releases/assets/a791d"; + Requests[186] = new DefaultHttpContext(); + Requests[186].RequestServices = CreateServices(); + Requests[186].Request.Method = "GET"; + Requests[186].Request.Path = "/repos/19707/4461f/assignees/1b0f6997"; + Requests[187] = new DefaultHttpContext(); + Requests[187].RequestServices = CreateServices(); + Requests[187].Request.Method = "GET"; + Requests[187].Request.Path = "/repos/b52e7/f3620/branches/53b3b2"; + Requests[188] = new DefaultHttpContext(); + Requests[188].RequestServices = CreateServices(); + Requests[188].Request.Method = "PUT"; + Requests[188].Request.Path = "/repos/89924/ab7d1/collaborators/d9e5f"; + Requests[189] = new DefaultHttpContext(); + Requests[189].RequestServices = CreateServices(); + Requests[189].Request.Method = "DELETE"; + Requests[189].Request.Path = "/repos/75619/6718d/collaborators/b3f56"; + Requests[190] = new DefaultHttpContext(); + Requests[190].RequestServices = CreateServices(); + Requests[190].Request.Method = "GET"; + Requests[190].Request.Path = "/repos/860b7/f702b/collaborators/b501c"; + Requests[191] = new DefaultHttpContext(); + Requests[191].RequestServices = CreateServices(); + Requests[191].Request.Method = "DELETE"; + Requests[191].Request.Path = "/repos/24eb6/d74db/comments/67f29b88-"; + Requests[192] = new DefaultHttpContext(); + Requests[192].RequestServices = CreateServices(); + Requests[192].Request.Method = "GET"; + Requests[192].Request.Path = "/repos/56f6e/b594f/comments/333ad754-"; + Requests[193] = new DefaultHttpContext(); + Requests[193].RequestServices = CreateServices(); + Requests[193].Request.Method = "PATCH"; + Requests[193].Request.Path = "/repos/1936e/266d9/comments/32f61601-"; + Requests[194] = new DefaultHttpContext(); + Requests[194].RequestServices = CreateServices(); + Requests[194].Request.Method = "GET"; + Requests[194].Request.Path = "/repos/bf0c5/04d97/commits/8f2cd44"; + Requests[195] = new DefaultHttpContext(); + Requests[195].RequestServices = CreateServices(); + Requests[195].Request.Method = "GET"; + Requests[195].Request.Path = "/repos/50be2/cb7dc/contents/ca557"; + Requests[196] = new DefaultHttpContext(); + Requests[196].RequestServices = CreateServices(); + Requests[196].Request.Method = "DELETE"; + Requests[196].Request.Path = "/repos/0d9fe/35d38/contents/6c1b5"; + Requests[197] = new DefaultHttpContext(); + Requests[197].RequestServices = CreateServices(); + Requests[197].Request.Method = "PUT"; + Requests[197].Request.Path = "/repos/91795/2625e/contents/b9b80"; + Requests[198] = new DefaultHttpContext(); + Requests[198].RequestServices = CreateServices(); + Requests[198].Request.Method = "GET"; + Requests[198].Request.Path = "/repos/d6d50/39fb7/downloads/214cb182-a"; + Requests[199] = new DefaultHttpContext(); + Requests[199].RequestServices = CreateServices(); + Requests[199].Request.Method = "DELETE"; + Requests[199].Request.Path = "/repos/20bbe/b4263/downloads/d65ce00c-d"; + Requests[200] = new DefaultHttpContext(); + Requests[200].RequestServices = CreateServices(); + Requests[200].Request.Method = "DELETE"; + Requests[200].Request.Path = "/repos/b838e/a0ce0/hooks/1e7f13"; + Requests[201] = new DefaultHttpContext(); + Requests[201].RequestServices = CreateServices(); + Requests[201].Request.Method = "GET"; + Requests[201].Request.Path = "/repos/3be3d/23c37/hooks/f9ad9a"; + Requests[202] = new DefaultHttpContext(); + Requests[202].RequestServices = CreateServices(); + Requests[202].Request.Method = "PATCH"; + Requests[202].Request.Path = "/repos/2c3a4/bb9af/hooks/84ffe1"; + Requests[203] = new DefaultHttpContext(); + Requests[203].RequestServices = CreateServices(); + Requests[203].Request.Method = "GET"; + Requests[203].Request.Path = "/repos/cfcc9/2afa8/issues/9ea5f8"; + Requests[204] = new DefaultHttpContext(); + Requests[204].RequestServices = CreateServices(); + Requests[204].Request.Method = "PATCH"; + Requests[204].Request.Path = "/repos/9618e/f75de/issues/54bede"; + Requests[205] = new DefaultHttpContext(); + Requests[205].RequestServices = CreateServices(); + Requests[205].Request.Method = "GET"; + Requests[205].Request.Path = "/repos/581a6/d7149/keys/9f082"; + Requests[206] = new DefaultHttpContext(); + Requests[206].RequestServices = CreateServices(); + Requests[206].Request.Method = "DELETE"; + Requests[206].Request.Path = "/repos/c8f51/b1a21/keys/83bf2"; + Requests[207] = new DefaultHttpContext(); + Requests[207].RequestServices = CreateServices(); + Requests[207].Request.Method = "GET"; + Requests[207].Request.Path = "/repos/8f89a/70673/labels/c8963"; + Requests[208] = new DefaultHttpContext(); + Requests[208].RequestServices = CreateServices(); + Requests[208].Request.Method = "PATCH"; + Requests[208].Request.Path = "/repos/7fbdf/8ead3/labels/fa2d6"; + Requests[209] = new DefaultHttpContext(); + Requests[209].RequestServices = CreateServices(); + Requests[209].Request.Method = "DELETE"; + Requests[209].Request.Path = "/repos/9fa74/e74bc/labels/772b0"; + Requests[210] = new DefaultHttpContext(); + Requests[210].RequestServices = CreateServices(); + Requests[210].Request.Method = "PATCH"; + Requests[210].Request.Path = "/repos/09fd5/3e300/milestones/976fc4"; + Requests[211] = new DefaultHttpContext(); + Requests[211].RequestServices = CreateServices(); + Requests[211].Request.Method = "GET"; + Requests[211].Request.Path = "/repos/1435a/d9b7e/milestones/9f0a34"; + Requests[212] = new DefaultHttpContext(); + Requests[212].RequestServices = CreateServices(); + Requests[212].Request.Method = "DELETE"; + Requests[212].Request.Path = "/repos/3c95f/84454/milestones/549440"; + Requests[213] = new DefaultHttpContext(); + Requests[213].RequestServices = CreateServices(); + Requests[213].Request.Method = "GET"; + Requests[213].Request.Path = "/repos/eeb3d/51b0c/pulls/ad7440"; + Requests[214] = new DefaultHttpContext(); + Requests[214].RequestServices = CreateServices(); + Requests[214].Request.Method = "PATCH"; + Requests[214].Request.Path = "/repos/5f14f/457de/pulls/cd4607"; + Requests[215] = new DefaultHttpContext(); + Requests[215].RequestServices = CreateServices(); + Requests[215].Request.Method = "PATCH"; + Requests[215].Request.Path = "/repos/11832/78737/releases/959f7"; + Requests[216] = new DefaultHttpContext(); + Requests[216].RequestServices = CreateServices(); + Requests[216].Request.Method = "GET"; + Requests[216].Request.Path = "/repos/ccb9f/de1bc/releases/ad071"; + Requests[217] = new DefaultHttpContext(); + Requests[217].RequestServices = CreateServices(); + Requests[217].Request.Method = "DELETE"; + Requests[217].Request.Path = "/repos/f15aa/e63b6/releases/1369d"; + Requests[218] = new DefaultHttpContext(); + Requests[218].RequestServices = CreateServices(); + Requests[218].Request.Method = "GET"; + Requests[218].Request.Path = "/repos/7452e/dcd51/statuses/b478e"; + Requests[219] = new DefaultHttpContext(); + Requests[219].RequestServices = CreateServices(); + Requests[219].Request.Method = "POST"; + Requests[219].Request.Path = "/repos/d30d7/fe97d/statuses/62682"; + Requests[220] = new DefaultHttpContext(); + Requests[220].RequestServices = CreateServices(); + Requests[220].Request.Method = "GET"; + Requests[220].Request.Path = "/repos/227bd/07245/commits/a6c05/status"; + Requests[221] = new DefaultHttpContext(); + Requests[221].RequestServices = CreateServices(); + Requests[221].Request.Method = "GET"; + Requests[221].Request.Path = "/repos/b55dd/cf212/commits/ad1d5c8/comments"; + Requests[222] = new DefaultHttpContext(); + Requests[222].RequestServices = CreateServices(); + Requests[222].Request.Method = "POST"; + Requests[222].Request.Path = "/repos/77112/723f5/commits/14b857c/comments"; + Requests[223] = new DefaultHttpContext(); + Requests[223].RequestServices = CreateServices(); + Requests[223].Request.Method = "GET"; + Requests[223].Request.Path = "/repos/c22d7/a0574/deployments/61d58/statuses"; + Requests[224] = new DefaultHttpContext(); + Requests[224].RequestServices = CreateServices(); + Requests[224].Request.Method = "POST"; + Requests[224].Request.Path = "/repos/286ce/dca61/deployments/184d0/statuses"; + Requests[225] = new DefaultHttpContext(); + Requests[225].RequestServices = CreateServices(); + Requests[225].Request.Method = "POST"; + Requests[225].Request.Path = "/repos/7f5a4/2398d/hooks/266f33/tests"; + Requests[226] = new DefaultHttpContext(); + Requests[226].RequestServices = CreateServices(); + Requests[226].Request.Method = "POST"; + Requests[226].Request.Path = "/repos/99172/650ce/issues/924319/comments"; + Requests[227] = new DefaultHttpContext(); + Requests[227].RequestServices = CreateServices(); + Requests[227].Request.Method = "GET"; + Requests[227].Request.Path = "/repos/de2d1/af156/issues/b5697c/comments"; + Requests[228] = new DefaultHttpContext(); + Requests[228].RequestServices = CreateServices(); + Requests[228].Request.Method = "GET"; + Requests[228].Request.Path = "/repos/d8ae8/f45f3/issues/275689/events"; + Requests[229] = new DefaultHttpContext(); + Requests[229].RequestServices = CreateServices(); + Requests[229].Request.Method = "POST"; + Requests[229].Request.Path = "/repos/7a71d/c9cbc/issues/ec14d8/labels"; + Requests[230] = new DefaultHttpContext(); + Requests[230].RequestServices = CreateServices(); + Requests[230].Request.Method = "GET"; + Requests[230].Request.Path = "/repos/01a16/e4c7a/issues/7d2ede/labels"; + Requests[231] = new DefaultHttpContext(); + Requests[231].RequestServices = CreateServices(); + Requests[231].Request.Method = "PUT"; + Requests[231].Request.Path = "/repos/24669/5fa5c/issues/255b9b/labels"; + Requests[232] = new DefaultHttpContext(); + Requests[232].RequestServices = CreateServices(); + Requests[232].Request.Method = "DELETE"; + Requests[232].Request.Path = "/repos/75c85/698e1/issues/9a1cde/labels"; + Requests[233] = new DefaultHttpContext(); + Requests[233].RequestServices = CreateServices(); + Requests[233].Request.Method = "GET"; + Requests[233].Request.Path = "/repos/9e801/94a85/milestones/5803ca/labels"; + Requests[234] = new DefaultHttpContext(); + Requests[234].RequestServices = CreateServices(); + Requests[234].Request.Method = "GET"; + Requests[234].Request.Path = "/repos/992d0/3d73f/pulls/6b0862/comments"; + Requests[235] = new DefaultHttpContext(); + Requests[235].RequestServices = CreateServices(); + Requests[235].Request.Method = "POST"; + Requests[235].Request.Path = "/repos/78a07/d7376/pulls/131151/comments"; + Requests[236] = new DefaultHttpContext(); + Requests[236].RequestServices = CreateServices(); + Requests[236].Request.Method = "GET"; + Requests[236].Request.Path = "/repos/4dd6e/584c9/pulls/937b3d/commits"; + Requests[237] = new DefaultHttpContext(); + Requests[237].RequestServices = CreateServices(); + Requests[237].Request.Method = "GET"; + Requests[237].Request.Path = "/repos/d442a/baba7/pulls/15f0a9/files"; + Requests[238] = new DefaultHttpContext(); + Requests[238].RequestServices = CreateServices(); + Requests[238].Request.Method = "PUT"; + Requests[238].Request.Path = "/repos/7a478/342f4/pulls/784bbf/merge"; + Requests[239] = new DefaultHttpContext(); + Requests[239].RequestServices = CreateServices(); + Requests[239].Request.Method = "GET"; + Requests[239].Request.Path = "/repos/0b7c9/15aaa/pulls/aed5dd/merge"; + Requests[240] = new DefaultHttpContext(); + Requests[240].RequestServices = CreateServices(); + Requests[240].Request.Method = "GET"; + Requests[240].Request.Path = "/repos/923b1/a897d/releases/2e13f/assets"; + Requests[241] = new DefaultHttpContext(); + Requests[241].RequestServices = CreateServices(); + Requests[241].Request.Method = "DELETE"; + Requests[241].Request.Path = "/repos/2ed7f/43848/issues/c67851/labels/498e1"; + Requests[242] = new DefaultHttpContext(); + Requests[242].RequestServices = CreateServices(); + Requests[242].Request.Method = "GET"; + Requests[242].Request.Path = "/repos/21a74/f36c8/805b0492-b723-/680ad"; + } + + private Matcher SetupMatcher(MatcherBuilder builder) + { + builder.AddEndpoint(Endpoints[0]); + builder.AddEndpoint(Endpoints[1]); + builder.AddEndpoint(Endpoints[2]); + builder.AddEndpoint(Endpoints[3]); + builder.AddEndpoint(Endpoints[4]); + builder.AddEndpoint(Endpoints[5]); + builder.AddEndpoint(Endpoints[6]); + builder.AddEndpoint(Endpoints[7]); + builder.AddEndpoint(Endpoints[8]); + builder.AddEndpoint(Endpoints[9]); + builder.AddEndpoint(Endpoints[10]); + builder.AddEndpoint(Endpoints[11]); + builder.AddEndpoint(Endpoints[12]); + builder.AddEndpoint(Endpoints[13]); + builder.AddEndpoint(Endpoints[14]); + builder.AddEndpoint(Endpoints[15]); + builder.AddEndpoint(Endpoints[16]); + builder.AddEndpoint(Endpoints[17]); + builder.AddEndpoint(Endpoints[18]); + builder.AddEndpoint(Endpoints[19]); + builder.AddEndpoint(Endpoints[20]); + builder.AddEndpoint(Endpoints[21]); + builder.AddEndpoint(Endpoints[22]); + builder.AddEndpoint(Endpoints[23]); + builder.AddEndpoint(Endpoints[24]); + builder.AddEndpoint(Endpoints[25]); + builder.AddEndpoint(Endpoints[26]); + builder.AddEndpoint(Endpoints[27]); + builder.AddEndpoint(Endpoints[28]); + builder.AddEndpoint(Endpoints[29]); + builder.AddEndpoint(Endpoints[30]); + builder.AddEndpoint(Endpoints[31]); + builder.AddEndpoint(Endpoints[32]); + builder.AddEndpoint(Endpoints[33]); + builder.AddEndpoint(Endpoints[34]); + builder.AddEndpoint(Endpoints[35]); + builder.AddEndpoint(Endpoints[36]); + builder.AddEndpoint(Endpoints[37]); + builder.AddEndpoint(Endpoints[38]); + builder.AddEndpoint(Endpoints[39]); + builder.AddEndpoint(Endpoints[40]); + builder.AddEndpoint(Endpoints[41]); + builder.AddEndpoint(Endpoints[42]); + builder.AddEndpoint(Endpoints[43]); + builder.AddEndpoint(Endpoints[44]); + builder.AddEndpoint(Endpoints[45]); + builder.AddEndpoint(Endpoints[46]); + builder.AddEndpoint(Endpoints[47]); + builder.AddEndpoint(Endpoints[48]); + builder.AddEndpoint(Endpoints[49]); + builder.AddEndpoint(Endpoints[50]); + builder.AddEndpoint(Endpoints[51]); + builder.AddEndpoint(Endpoints[52]); + builder.AddEndpoint(Endpoints[53]); + builder.AddEndpoint(Endpoints[54]); + builder.AddEndpoint(Endpoints[55]); + builder.AddEndpoint(Endpoints[56]); + builder.AddEndpoint(Endpoints[57]); + builder.AddEndpoint(Endpoints[58]); + builder.AddEndpoint(Endpoints[59]); + builder.AddEndpoint(Endpoints[60]); + builder.AddEndpoint(Endpoints[61]); + builder.AddEndpoint(Endpoints[62]); + builder.AddEndpoint(Endpoints[63]); + builder.AddEndpoint(Endpoints[64]); + builder.AddEndpoint(Endpoints[65]); + builder.AddEndpoint(Endpoints[66]); + builder.AddEndpoint(Endpoints[67]); + builder.AddEndpoint(Endpoints[68]); + builder.AddEndpoint(Endpoints[69]); + builder.AddEndpoint(Endpoints[70]); + builder.AddEndpoint(Endpoints[71]); + builder.AddEndpoint(Endpoints[72]); + builder.AddEndpoint(Endpoints[73]); + builder.AddEndpoint(Endpoints[74]); + builder.AddEndpoint(Endpoints[75]); + builder.AddEndpoint(Endpoints[76]); + builder.AddEndpoint(Endpoints[77]); + builder.AddEndpoint(Endpoints[78]); + builder.AddEndpoint(Endpoints[79]); + builder.AddEndpoint(Endpoints[80]); + builder.AddEndpoint(Endpoints[81]); + builder.AddEndpoint(Endpoints[82]); + builder.AddEndpoint(Endpoints[83]); + builder.AddEndpoint(Endpoints[84]); + builder.AddEndpoint(Endpoints[85]); + builder.AddEndpoint(Endpoints[86]); + builder.AddEndpoint(Endpoints[87]); + builder.AddEndpoint(Endpoints[88]); + builder.AddEndpoint(Endpoints[89]); + builder.AddEndpoint(Endpoints[90]); + builder.AddEndpoint(Endpoints[91]); + builder.AddEndpoint(Endpoints[92]); + builder.AddEndpoint(Endpoints[93]); + builder.AddEndpoint(Endpoints[94]); + builder.AddEndpoint(Endpoints[95]); + builder.AddEndpoint(Endpoints[96]); + builder.AddEndpoint(Endpoints[97]); + builder.AddEndpoint(Endpoints[98]); + builder.AddEndpoint(Endpoints[99]); + builder.AddEndpoint(Endpoints[100]); + builder.AddEndpoint(Endpoints[101]); + builder.AddEndpoint(Endpoints[102]); + builder.AddEndpoint(Endpoints[103]); + builder.AddEndpoint(Endpoints[104]); + builder.AddEndpoint(Endpoints[105]); + builder.AddEndpoint(Endpoints[106]); + builder.AddEndpoint(Endpoints[107]); + builder.AddEndpoint(Endpoints[108]); + builder.AddEndpoint(Endpoints[109]); + builder.AddEndpoint(Endpoints[110]); + builder.AddEndpoint(Endpoints[111]); + builder.AddEndpoint(Endpoints[112]); + builder.AddEndpoint(Endpoints[113]); + builder.AddEndpoint(Endpoints[114]); + builder.AddEndpoint(Endpoints[115]); + builder.AddEndpoint(Endpoints[116]); + builder.AddEndpoint(Endpoints[117]); + builder.AddEndpoint(Endpoints[118]); + builder.AddEndpoint(Endpoints[119]); + builder.AddEndpoint(Endpoints[120]); + builder.AddEndpoint(Endpoints[121]); + builder.AddEndpoint(Endpoints[122]); + builder.AddEndpoint(Endpoints[123]); + builder.AddEndpoint(Endpoints[124]); + builder.AddEndpoint(Endpoints[125]); + builder.AddEndpoint(Endpoints[126]); + builder.AddEndpoint(Endpoints[127]); + builder.AddEndpoint(Endpoints[128]); + builder.AddEndpoint(Endpoints[129]); + builder.AddEndpoint(Endpoints[130]); + builder.AddEndpoint(Endpoints[131]); + builder.AddEndpoint(Endpoints[132]); + builder.AddEndpoint(Endpoints[133]); + builder.AddEndpoint(Endpoints[134]); + builder.AddEndpoint(Endpoints[135]); + builder.AddEndpoint(Endpoints[136]); + builder.AddEndpoint(Endpoints[137]); + builder.AddEndpoint(Endpoints[138]); + builder.AddEndpoint(Endpoints[139]); + builder.AddEndpoint(Endpoints[140]); + builder.AddEndpoint(Endpoints[141]); + builder.AddEndpoint(Endpoints[142]); + builder.AddEndpoint(Endpoints[143]); + builder.AddEndpoint(Endpoints[144]); + builder.AddEndpoint(Endpoints[145]); + builder.AddEndpoint(Endpoints[146]); + builder.AddEndpoint(Endpoints[147]); + builder.AddEndpoint(Endpoints[148]); + builder.AddEndpoint(Endpoints[149]); + builder.AddEndpoint(Endpoints[150]); + builder.AddEndpoint(Endpoints[151]); + builder.AddEndpoint(Endpoints[152]); + builder.AddEndpoint(Endpoints[153]); + builder.AddEndpoint(Endpoints[154]); + builder.AddEndpoint(Endpoints[155]); + builder.AddEndpoint(Endpoints[156]); + builder.AddEndpoint(Endpoints[157]); + builder.AddEndpoint(Endpoints[158]); + builder.AddEndpoint(Endpoints[159]); + builder.AddEndpoint(Endpoints[160]); + builder.AddEndpoint(Endpoints[161]); + builder.AddEndpoint(Endpoints[162]); + builder.AddEndpoint(Endpoints[163]); + builder.AddEndpoint(Endpoints[164]); + builder.AddEndpoint(Endpoints[165]); + builder.AddEndpoint(Endpoints[166]); + builder.AddEndpoint(Endpoints[167]); + builder.AddEndpoint(Endpoints[168]); + builder.AddEndpoint(Endpoints[169]); + builder.AddEndpoint(Endpoints[170]); + builder.AddEndpoint(Endpoints[171]); + builder.AddEndpoint(Endpoints[172]); + builder.AddEndpoint(Endpoints[173]); + builder.AddEndpoint(Endpoints[174]); + builder.AddEndpoint(Endpoints[175]); + builder.AddEndpoint(Endpoints[176]); + builder.AddEndpoint(Endpoints[177]); + builder.AddEndpoint(Endpoints[178]); + builder.AddEndpoint(Endpoints[179]); + builder.AddEndpoint(Endpoints[180]); + builder.AddEndpoint(Endpoints[181]); + builder.AddEndpoint(Endpoints[182]); + builder.AddEndpoint(Endpoints[183]); + builder.AddEndpoint(Endpoints[184]); + builder.AddEndpoint(Endpoints[185]); + builder.AddEndpoint(Endpoints[186]); + builder.AddEndpoint(Endpoints[187]); + builder.AddEndpoint(Endpoints[188]); + builder.AddEndpoint(Endpoints[189]); + builder.AddEndpoint(Endpoints[190]); + builder.AddEndpoint(Endpoints[191]); + builder.AddEndpoint(Endpoints[192]); + builder.AddEndpoint(Endpoints[193]); + builder.AddEndpoint(Endpoints[194]); + builder.AddEndpoint(Endpoints[195]); + builder.AddEndpoint(Endpoints[196]); + builder.AddEndpoint(Endpoints[197]); + builder.AddEndpoint(Endpoints[198]); + builder.AddEndpoint(Endpoints[199]); + builder.AddEndpoint(Endpoints[200]); + builder.AddEndpoint(Endpoints[201]); + builder.AddEndpoint(Endpoints[202]); + builder.AddEndpoint(Endpoints[203]); + builder.AddEndpoint(Endpoints[204]); + builder.AddEndpoint(Endpoints[205]); + builder.AddEndpoint(Endpoints[206]); + builder.AddEndpoint(Endpoints[207]); + builder.AddEndpoint(Endpoints[208]); + builder.AddEndpoint(Endpoints[209]); + builder.AddEndpoint(Endpoints[210]); + builder.AddEndpoint(Endpoints[211]); + builder.AddEndpoint(Endpoints[212]); + builder.AddEndpoint(Endpoints[213]); + builder.AddEndpoint(Endpoints[214]); + builder.AddEndpoint(Endpoints[215]); + builder.AddEndpoint(Endpoints[216]); + builder.AddEndpoint(Endpoints[217]); + builder.AddEndpoint(Endpoints[218]); + builder.AddEndpoint(Endpoints[219]); + builder.AddEndpoint(Endpoints[220]); + builder.AddEndpoint(Endpoints[221]); + builder.AddEndpoint(Endpoints[222]); + builder.AddEndpoint(Endpoints[223]); + builder.AddEndpoint(Endpoints[224]); + builder.AddEndpoint(Endpoints[225]); + builder.AddEndpoint(Endpoints[226]); + builder.AddEndpoint(Endpoints[227]); + builder.AddEndpoint(Endpoints[228]); + builder.AddEndpoint(Endpoints[229]); + builder.AddEndpoint(Endpoints[230]); + builder.AddEndpoint(Endpoints[231]); + builder.AddEndpoint(Endpoints[232]); + builder.AddEndpoint(Endpoints[233]); + builder.AddEndpoint(Endpoints[234]); + builder.AddEndpoint(Endpoints[235]); + builder.AddEndpoint(Endpoints[236]); + builder.AddEndpoint(Endpoints[237]); + builder.AddEndpoint(Endpoints[238]); + builder.AddEndpoint(Endpoints[239]); + builder.AddEndpoint(Endpoints[240]); + builder.AddEndpoint(Endpoints[241]); + builder.AddEndpoint(Endpoints[242]); + return builder.Build(); + } + } +} \ No newline at end of file diff --git a/benchmarks/Microsoft.AspNetCore.Routing.Performance/Matchers/MatcherSelectCandidatesAzureBenchmark.cs b/benchmarks/Microsoft.AspNetCore.Routing.Performance/Matchers/MatcherSelectCandidatesAzureBenchmark.cs new file mode 100644 index 0000000000..14749a95f1 --- /dev/null +++ b/benchmarks/Microsoft.AspNetCore.Routing.Performance/Matchers/MatcherSelectCandidatesAzureBenchmark.cs @@ -0,0 +1,71 @@ +// Copyright (c) .NET Foundation. All rights reserved. +// Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information. + +using System; +using BenchmarkDotNet.Attributes; + +namespace Microsoft.AspNetCore.Routing.Matchers +{ + // Generated from https://github.com/Azure/azure-rest-api-specs + public partial class MatcherSelectCandidatesAzureBenchmark : MatcherBenchmarkBase + { + private const int SampleCount = 100; + + private BarebonesMatcher _baseline; + private DfaMatcher _dfa; + + private int[] _samples; + + [GlobalSetup] + public void Setup() + { + SetupEndpoints(); + + SetupRequests(); + + // The perf is kinda slow for these benchmarks, so we do some sampling + // of the request data. + _samples = SampleRequests(EndpointCount, SampleCount); + + _baseline = (BarebonesMatcher)SetupMatcher(new BarebonesMatcherBuilder()); + _dfa = (DfaMatcher)SetupMatcher(new DfaMatcherBuilder()); + } + + [Benchmark(Baseline = true, OperationsPerInvoke = SampleCount)] + public void Baseline() + { + for (var i = 0; i < SampleCount; i++) + { + var sample = _samples[i]; + var httpContext = Requests[sample]; + + var path = httpContext.Request.Path.Value; + var segments = new ReadOnlySpan(Array.Empty()); + + var candidates = _baseline.Matchers[sample].SelectCandidates(path, segments); + + var endpoint = candidates.Candidates[0].Endpoint; + Validate(httpContext, Endpoints[sample], endpoint); + } + } + + [Benchmark(OperationsPerInvoke = SampleCount)] + public void Dfa() + { + for (var i = 0; i < SampleCount; i++) + { + var sample = _samples[i]; + var httpContext = Requests[sample]; + + var path = httpContext.Request.Path.Value; + Span segments = stackalloc PathSegment[FastPathTokenizer.DefaultSegmentCount]; + var count = FastPathTokenizer.Tokenize(path, segments); + + var candidates = _dfa.SelectCandidates(path, segments.Slice(0, count)); + + var endpoint = candidates.Candidates[0].Endpoint; + Validate(httpContext, Endpoints[sample], endpoint); + } + } + } +} \ No newline at end of file diff --git a/benchmarks/Microsoft.AspNetCore.Routing.Performance/Matchers/MatcherSelectCandidatesAzureBenchmark.generated.cs b/benchmarks/Microsoft.AspNetCore.Routing.Performance/Matchers/MatcherSelectCandidatesAzureBenchmark.generated.cs new file mode 100644 index 0000000000..65bea532fd --- /dev/null +++ b/benchmarks/Microsoft.AspNetCore.Routing.Performance/Matchers/MatcherSelectCandidatesAzureBenchmark.generated.cs @@ -0,0 +1,21131 @@ + +// Copyright (c) .NET Foundation. All rights reserved. +// Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information. + +using Microsoft.AspNetCore.Http; + +namespace Microsoft.AspNetCore.Routing.Matchers +{ + // This code was generated by the Swaggatherer + public partial class MatcherSelectCandidatesAzureBenchmark : MatcherBenchmarkBase + { + private const int EndpointCount = 3517; + + private void SetupEndpoints() + { + Endpoints = new MatcherEndpoint[3517]; + Endpoints[0] = CreateEndpoint("/account"); + Endpoints[1] = CreateEndpoint("/analyze"); + Endpoints[2] = CreateEndpoint("/apis"); + Endpoints[3] = CreateEndpoint("/Applications"); + Endpoints[4] = CreateEndpoint("/ApplicationTypes"); + Endpoints[5] = CreateEndpoint("/apps/"); + Endpoints[6] = CreateEndpoint("/authorizationServers"); + Endpoints[7] = CreateEndpoint("/backends"); + Endpoints[8] = CreateEndpoint("/BuildJob"); + Endpoints[9] = CreateEndpoint("/certificates"); + Endpoints[10] = CreateEndpoint("/ComposeDeployments"); + Endpoints[11] = CreateEndpoint("/datasources"); + Endpoints[12] = CreateEndpoint("/deletedcertificates"); + Endpoints[13] = CreateEndpoint("/deletedkeys"); + Endpoints[14] = CreateEndpoint("/deletedsecrets"); + Endpoints[15] = CreateEndpoint("/deletedstorage"); + Endpoints[16] = CreateEndpoint("/describe"); + Endpoints[17] = CreateEndpoint("/detect"); + Endpoints[18] = CreateEndpoint("/domains"); + Endpoints[19] = CreateEndpoint("/entities"); + Endpoints[20] = CreateEndpoint("/facelists"); + Endpoints[21] = CreateEndpoint("/Faults/"); + Endpoints[22] = CreateEndpoint("/findsimilars"); + Endpoints[23] = CreateEndpoint("/generateThumbnail"); + Endpoints[24] = CreateEndpoint("/group"); + Endpoints[25] = CreateEndpoint("/groups"); + Endpoints[26] = CreateEndpoint("/identify"); + Endpoints[27] = CreateEndpoint("/identityProviders"); + Endpoints[28] = CreateEndpoint("/ImageStore"); + Endpoints[29] = CreateEndpoint("/indexers"); + Endpoints[30] = CreateEndpoint("/indexes"); + Endpoints[31] = CreateEndpoint("/Jobs"); + Endpoints[32] = CreateEndpoint("/jobschedules"); + Endpoints[33] = CreateEndpoint("/keys"); + Endpoints[34] = CreateEndpoint("/lifetimejobstats"); + Endpoints[35] = CreateEndpoint("/lifetimepoolstats"); + Endpoints[36] = CreateEndpoint("/loggers"); + Endpoints[37] = CreateEndpoint("/models"); + Endpoints[38] = CreateEndpoint("/news"); + Endpoints[39] = CreateEndpoint("/nodeagentskus"); + Endpoints[40] = CreateEndpoint("/nodecounts"); + Endpoints[41] = CreateEndpoint("/Nodes"); + Endpoints[42] = CreateEndpoint("/ocr"); + Endpoints[43] = CreateEndpoint("/offers"); + Endpoints[44] = CreateEndpoint("/openidConnectProviders"); + Endpoints[45] = CreateEndpoint("/persongroups"); + Endpoints[46] = CreateEndpoint("/pipelines"); + Endpoints[47] = CreateEndpoint("/policies"); + Endpoints[48] = CreateEndpoint("/policySnippets"); + Endpoints[49] = CreateEndpoint("/pools"); + Endpoints[50] = CreateEndpoint("/poolusagemetrics"); + Endpoints[51] = CreateEndpoint("/products"); + Endpoints[52] = CreateEndpoint("/projects"); + Endpoints[53] = CreateEndpoint("/properties"); + Endpoints[54] = CreateEndpoint("/recognizeText"); + Endpoints[55] = CreateEndpoint("/recurrences"); + Endpoints[56] = CreateEndpoint("/regions"); + Endpoints[57] = CreateEndpoint("/search"); + Endpoints[58] = CreateEndpoint("/secrets"); + Endpoints[59] = CreateEndpoint("/servicestats"); + Endpoints[60] = CreateEndpoint("/spellcheck"); + Endpoints[61] = CreateEndpoint("/storage"); + Endpoints[62] = CreateEndpoint("/subscriptions"); + Endpoints[63] = CreateEndpoint("/synonymmaps"); + Endpoints[64] = CreateEndpoint("/tag"); + Endpoints[65] = CreateEndpoint("/templates"); + Endpoints[66] = CreateEndpoint("/tenants"); + Endpoints[67] = CreateEndpoint("/users"); + Endpoints[68] = CreateEndpoint("/verify"); + Endpoints[69] = CreateEndpoint("/$/CancelRepairTask"); + Endpoints[70] = CreateEndpoint("/$/CreateRepairTask"); + Endpoints[71] = CreateEndpoint("/$/DeleteRepairTask"); + Endpoints[72] = CreateEndpoint("/$/ForceApproveRepairTask"); + Endpoints[73] = CreateEndpoint("/$/GetAadMetadata"); + Endpoints[74] = CreateEndpoint("/$/GetClusterConfiguration"); + Endpoints[75] = CreateEndpoint("/$/GetClusterConfigurationUpgradeStatus"); + Endpoints[76] = CreateEndpoint("/$/GetClusterHealth"); + Endpoints[77] = CreateEndpoint("/$/GetClusterHealthChunk"); + Endpoints[78] = CreateEndpoint("/$/GetClusterManifest"); + Endpoints[79] = CreateEndpoint("/$/GetLoadInformation"); + Endpoints[80] = CreateEndpoint("/$/GetProvisionedCodeVersions"); + Endpoints[81] = CreateEndpoint("/$/GetProvisionedConfigVersions"); + Endpoints[82] = CreateEndpoint("/$/GetRepairTaskList"); + Endpoints[83] = CreateEndpoint("/$/GetUpgradeOrchestrationServiceState"); + Endpoints[84] = CreateEndpoint("/$/GetUpgradeProgress"); + Endpoints[85] = CreateEndpoint("/$/InvokeInfrastructureCommand"); + Endpoints[86] = CreateEndpoint("/$/InvokeInfrastructureQuery"); + Endpoints[87] = CreateEndpoint("/$/MoveToNextUpgradeDomain"); + Endpoints[88] = CreateEndpoint("/$/Provision"); + Endpoints[89] = CreateEndpoint("/$/RecoverAllPartitions"); + Endpoints[90] = CreateEndpoint("/$/RecoverSystemPartitions"); + Endpoints[91] = CreateEndpoint("/$/ReportClusterHealth"); + Endpoints[92] = CreateEndpoint("/$/RollbackUpgrade"); + Endpoints[93] = CreateEndpoint("/$/SetUpgradeOrchestrationServiceState"); + Endpoints[94] = CreateEndpoint("/$/StartClusterConfigurationUpgrade"); + Endpoints[95] = CreateEndpoint("/$/Unprovision"); + Endpoints[96] = CreateEndpoint("/$/UpdateRepairExecutionState"); + Endpoints[97] = CreateEndpoint("/$/UpdateRepairTaskHealthPolicy"); + Endpoints[98] = CreateEndpoint("/$/UpdateUpgrade"); + Endpoints[99] = CreateEndpoint("/$/Upgrade"); + Endpoints[100] = CreateEndpoint("/api/events"); + Endpoints[101] = CreateEndpoint("/apps/assistants"); + Endpoints[102] = CreateEndpoint("/apps/cultures"); + Endpoints[103] = CreateEndpoint("/apps/customprebuiltdomains"); + Endpoints[104] = CreateEndpoint("/apps/domains"); + Endpoints[105] = CreateEndpoint("/apps/import"); + Endpoints[106] = CreateEndpoint("/apps/usagescenarios"); + Endpoints[107] = CreateEndpoint("/BackupRestore/BackupPolicies"); + Endpoints[108] = CreateEndpoint("/certificates/contacts"); + Endpoints[109] = CreateEndpoint("/certificates/issuers"); + Endpoints[110] = CreateEndpoint("/docs/$count"); + Endpoints[111] = CreateEndpoint("/docs/autocomplete"); + Endpoints[112] = CreateEndpoint("/images/details"); + Endpoints[113] = CreateEndpoint("/images/search"); + Endpoints[114] = CreateEndpoint("/images/trending"); + Endpoints[115] = CreateEndpoint("/images/visualsearch"); + Endpoints[116] = CreateEndpoint("/keys/restore"); + Endpoints[117] = CreateEndpoint("/news/search"); + Endpoints[118] = CreateEndpoint("/news/trendingtopics"); + Endpoints[119] = CreateEndpoint("/portalsettings/delegation"); + Endpoints[120] = CreateEndpoint("/portalsettings/signin"); + Endpoints[121] = CreateEndpoint("/portalsettings/signup"); + Endpoints[122] = CreateEndpoint("/reports/byApi"); + Endpoints[123] = CreateEndpoint("/reports/byGeo"); + Endpoints[124] = CreateEndpoint("/reports/byOperation"); + Endpoints[125] = CreateEndpoint("/reports/byProduct"); + Endpoints[126] = CreateEndpoint("/reports/byRequest"); + Endpoints[127] = CreateEndpoint("/reports/bySubscription"); + Endpoints[128] = CreateEndpoint("/reports/byTime"); + Endpoints[129] = CreateEndpoint("/reports/byUser"); + Endpoints[130] = CreateEndpoint("/secrets/restore"); + Endpoints[131] = CreateEndpoint("/storage/restore"); + Endpoints[132] = CreateEndpoint("/Tools/Chaos"); + Endpoints[133] = CreateEndpoint("/v2.0/entities"); + Endpoints[134] = CreateEndpoint("/v2.0/keyPhrases"); + Endpoints[135] = CreateEndpoint("/v2.0/languages"); + Endpoints[136] = CreateEndpoint("/v2.0/sentiment"); + Endpoints[137] = CreateEndpoint("/videos/details"); + Endpoints[138] = CreateEndpoint("/videos/search"); + Endpoints[139] = CreateEndpoint("/videos/trending"); + Endpoints[140] = CreateEndpoint("/Applications/$/Create"); + Endpoints[141] = CreateEndpoint("/ApplicationTypes/$/Provision"); + Endpoints[142] = CreateEndpoint("/BackupRestore/$/GetBackups"); + Endpoints[143] = CreateEndpoint("/catalog/usql/acl"); + Endpoints[144] = CreateEndpoint("/catalog/usql/databases"); + Endpoints[145] = CreateEndpoint("/ComposeDeployments/$/Create"); + Endpoints[146] = CreateEndpoint("/EventsStore/Applications/Events"); + Endpoints[147] = CreateEndpoint("/EventsStore/Cluster/Events"); + Endpoints[148] = CreateEndpoint("/EventsStore/Containers/Events"); + Endpoints[149] = CreateEndpoint("/EventsStore/Nodes/Events"); + Endpoints[150] = CreateEndpoint("/EventsStore/Partitions/Events"); + Endpoints[151] = CreateEndpoint("/EventsStore/Services/Events"); + Endpoints[152] = CreateEndpoint("/Faults/$/Cancel"); + Endpoints[153] = CreateEndpoint("/ImageStore/$/CommitUploadSession"); + Endpoints[154] = CreateEndpoint("/ImageStore/$/Copy"); + Endpoints[155] = CreateEndpoint("/ImageStore/$/DeleteUploadSession"); + Endpoints[156] = CreateEndpoint("/ImageStore/$/GetUploadSession"); + Endpoints[157] = CreateEndpoint("/Names/$/Create"); + Endpoints[158] = CreateEndpoint("/providers/Microsoft.AAD/operations"); + Endpoints[159] = CreateEndpoint("/providers/Microsoft.Addons/operations"); + Endpoints[160] = CreateEndpoint("/providers/Microsoft.ADHybridHealthService/addsservices"); + Endpoints[161] = CreateEndpoint("/providers/Microsoft.ADHybridHealthService/configuration"); + Endpoints[162] = CreateEndpoint("/providers/Microsoft.ADHybridHealthService/operations"); + Endpoints[163] = CreateEndpoint("/providers/Microsoft.ADHybridHealthService/services"); + Endpoints[164] = CreateEndpoint("/providers/Microsoft.Advisor/operations"); + Endpoints[165] = CreateEndpoint("/providers/Microsoft.AnalysisServices/operations"); + Endpoints[166] = CreateEndpoint("/providers/Microsoft.ApiManagement/operations"); + Endpoints[167] = CreateEndpoint("/providers/Microsoft.Authorization/policyDefinitions"); + Endpoints[168] = CreateEndpoint("/providers/Microsoft.Authorization/policySetDefinitions"); + Endpoints[169] = CreateEndpoint("/providers/Microsoft.Authorization/providerOperations"); + Endpoints[170] = CreateEndpoint("/providers/Microsoft.Automation/operations"); + Endpoints[171] = CreateEndpoint("/providers/Microsoft.AzureStack/operations"); + Endpoints[172] = CreateEndpoint("/providers/Microsoft.Backup.Admin/operations"); + Endpoints[173] = CreateEndpoint("/providers/Microsoft.Batch/operations"); + Endpoints[174] = CreateEndpoint("/providers/Microsoft.BatchAI/operations"); + Endpoints[175] = CreateEndpoint("/providers/Microsoft.Billing/enrollmentAccounts"); + Endpoints[176] = CreateEndpoint("/providers/Microsoft.Billing/operations"); + Endpoints[177] = CreateEndpoint("/providers/Microsoft.BotService/operations"); + Endpoints[178] = CreateEndpoint("/providers/Microsoft.Cache/operations"); + Endpoints[179] = CreateEndpoint("/providers/Microsoft.Capacity/operations"); + Endpoints[180] = CreateEndpoint("/providers/Microsoft.Capacity/reservationOrders"); + Endpoints[181] = CreateEndpoint("/providers/Microsoft.Cdn/checkNameAvailability"); + Endpoints[182] = CreateEndpoint("/providers/Microsoft.Cdn/edgenodes"); + Endpoints[183] = CreateEndpoint("/providers/Microsoft.Cdn/operations"); + Endpoints[184] = CreateEndpoint("/providers/Microsoft.CertificateRegistration/operations"); + Endpoints[185] = CreateEndpoint("/providers/Microsoft.CognitiveServices/operations"); + Endpoints[186] = CreateEndpoint("/providers/Microsoft.Commerce.Admin/operations"); + Endpoints[187] = CreateEndpoint("/providers/Microsoft.Compute.Admin/operations"); + Endpoints[188] = CreateEndpoint("/providers/Microsoft.Compute/operations"); + Endpoints[189] = CreateEndpoint("/providers/Microsoft.Consumption/operations"); + Endpoints[190] = CreateEndpoint("/providers/Microsoft.ContainerInstance/operations"); + Endpoints[191] = CreateEndpoint("/providers/Microsoft.ContainerRegistry/operations"); + Endpoints[192] = CreateEndpoint("/providers/Microsoft.ContainerService/operations"); + Endpoints[193] = CreateEndpoint("/providers/Microsoft.CustomerInsights/operations"); + Endpoints[194] = CreateEndpoint("/providers/Microsoft.DataBox/operations"); + Endpoints[195] = CreateEndpoint("/providers/Microsoft.Databricks/operations"); + Endpoints[196] = CreateEndpoint("/providers/Microsoft.DataCatalog/operations"); + Endpoints[197] = CreateEndpoint("/providers/Microsoft.DataFactory/operations"); + Endpoints[198] = CreateEndpoint("/providers/Microsoft.DataLakeAnalytics/operations"); + Endpoints[199] = CreateEndpoint("/providers/Microsoft.DataLakeStore/operations"); + Endpoints[200] = CreateEndpoint("/providers/Microsoft.DataMigration/operations"); + Endpoints[201] = CreateEndpoint("/providers/Microsoft.DBforMySQL/operations"); + Endpoints[202] = CreateEndpoint("/providers/Microsoft.DBforPostgreSQL/operations"); + Endpoints[203] = CreateEndpoint("/providers/Microsoft.Devices/operations"); + Endpoints[204] = CreateEndpoint("/providers/Microsoft.DevTestLab/operations"); + Endpoints[205] = CreateEndpoint("/providers/Microsoft.DocumentDB/operations"); + Endpoints[206] = CreateEndpoint("/providers/Microsoft.DomainRegistration/operations"); + Endpoints[207] = CreateEndpoint("/providers/Microsoft.EventGrid/operations"); + Endpoints[208] = CreateEndpoint("/providers/Microsoft.EventGrid/topicTypes"); + Endpoints[209] = CreateEndpoint("/providers/Microsoft.EventHub/operations"); + Endpoints[210] = CreateEndpoint("/providers/Microsoft.Fabric.Admin/operations"); + Endpoints[211] = CreateEndpoint("/providers/Microsoft.Gallery.Admin/operations"); + Endpoints[212] = CreateEndpoint("/providers/Microsoft.HanaOnAzure/operations"); + Endpoints[213] = CreateEndpoint("/providers/Microsoft.HDInsight/operations"); + Endpoints[214] = CreateEndpoint("/providers/Microsoft.ImportExport/locations"); + Endpoints[215] = CreateEndpoint("/providers/Microsoft.ImportExport/operations"); + Endpoints[216] = CreateEndpoint("/providers/Microsoft.InfrastructureInsights.Admin/operations"); + Endpoints[217] = CreateEndpoint("/providers/microsoft.insights/eventcategories"); + Endpoints[218] = CreateEndpoint("/providers/microsoft.insights/operations"); + Endpoints[219] = CreateEndpoint("/providers/Microsoft.Intune/locations"); + Endpoints[220] = CreateEndpoint("/providers/Microsoft.IoTCentral/operations"); + Endpoints[221] = CreateEndpoint("/providers/Microsoft.IoTSpaces/operations"); + Endpoints[222] = CreateEndpoint("/providers/Microsoft.KeyVault.Admin/operations"); + Endpoints[223] = CreateEndpoint("/providers/Microsoft.KeyVault/operations"); + Endpoints[224] = CreateEndpoint("/providers/Microsoft.Logic/operations"); + Endpoints[225] = CreateEndpoint("/providers/Microsoft.MachineLearning/operations"); + Endpoints[226] = CreateEndpoint("/providers/Microsoft.MachineLearningCompute/operations"); + Endpoints[227] = CreateEndpoint("/providers/Microsoft.MachineLearningExperimentation/operations"); + Endpoints[228] = CreateEndpoint("/providers/Microsoft.MachineLearningServices/operations"); + Endpoints[229] = CreateEndpoint("/providers/Microsoft.ManagedIdentity/operations"); + Endpoints[230] = CreateEndpoint("/providers/Microsoft.Management/checkNameAvailability"); + Endpoints[231] = CreateEndpoint("/providers/Microsoft.Management/getEntities"); + Endpoints[232] = CreateEndpoint("/providers/Microsoft.Management/managementGroups"); + Endpoints[233] = CreateEndpoint("/providers/Microsoft.Management/operations"); + Endpoints[234] = CreateEndpoint("/providers/Microsoft.Management/startTenantBackfill"); + Endpoints[235] = CreateEndpoint("/providers/Microsoft.Management/tenantBackfillStatus"); + Endpoints[236] = CreateEndpoint("/providers/Microsoft.ManagementPartner/operations"); + Endpoints[237] = CreateEndpoint("/providers/Microsoft.Maps/operations"); + Endpoints[238] = CreateEndpoint("/providers/Microsoft.MarketplaceOrdering/operations"); + Endpoints[239] = CreateEndpoint("/providers/Microsoft.Media/operations"); + Endpoints[240] = CreateEndpoint("/providers/Microsoft.Migrate/operations"); + Endpoints[241] = CreateEndpoint("/providers/Microsoft.Network/checkTrafficManagerNameAvailability"); + Endpoints[242] = CreateEndpoint("/providers/Microsoft.Network/operations"); + Endpoints[243] = CreateEndpoint("/providers/Microsoft.NotificationHubs/operations"); + Endpoints[244] = CreateEndpoint("/providers/Microsoft.OperationalInsights/operations"); + Endpoints[245] = CreateEndpoint("/providers/Microsoft.OperationsManagement/operations"); + Endpoints[246] = CreateEndpoint("/providers/Microsoft.PolicyInsights/operations"); + Endpoints[247] = CreateEndpoint("/providers/Microsoft.PowerBI/operations"); + Endpoints[248] = CreateEndpoint("/providers/Microsoft.PowerBIDedicated/operations"); + Endpoints[249] = CreateEndpoint("/providers/Microsoft.RecoveryServices/operations"); + Endpoints[250] = CreateEndpoint("/providers/Microsoft.Relay/operations"); + Endpoints[251] = CreateEndpoint("/providers/Microsoft.ResourceHealth/operations"); + Endpoints[252] = CreateEndpoint("/providers/Microsoft.Search/operations"); + Endpoints[253] = CreateEndpoint("/providers/Microsoft.Security/operations"); + Endpoints[254] = CreateEndpoint("/providers/Microsoft.ServiceBus/operations"); + Endpoints[255] = CreateEndpoint("/providers/Microsoft.ServiceFabric/operations"); + Endpoints[256] = CreateEndpoint("/providers/Microsoft.SignalRService/operations"); + Endpoints[257] = CreateEndpoint("/providers/Microsoft.Sql/operations"); + Endpoints[258] = CreateEndpoint("/providers/Microsoft.Storage.Admin/operations"); + Endpoints[259] = CreateEndpoint("/providers/Microsoft.Storage/operations"); + Endpoints[260] = CreateEndpoint("/providers/Microsoft.StorSimple/operations"); + Endpoints[261] = CreateEndpoint("/providers/Microsoft.StreamAnalytics/operations"); + Endpoints[262] = CreateEndpoint("/providers/Microsoft.Subscription/operations"); + Endpoints[263] = CreateEndpoint("/providers/Microsoft.Subscription/subscriptionDefinitions"); + Endpoints[264] = CreateEndpoint("/providers/Microsoft.Subscription/subscriptionOperations"); + Endpoints[265] = CreateEndpoint("/providers/Microsoft.Subscriptions.Admin/operations"); + Endpoints[266] = CreateEndpoint("/providers/Microsoft.Subscriptions/operations"); + Endpoints[267] = CreateEndpoint("/providers/Microsoft.TimeSeriesInsights/operations"); + Endpoints[268] = CreateEndpoint("/providers/Microsoft.Update.Admin/operations"); + Endpoints[269] = CreateEndpoint("/providers/microsoft.visualstudio/operations"); + Endpoints[270] = CreateEndpoint("/providers/Microsoft.Web/availableStacks"); + Endpoints[271] = CreateEndpoint("/providers/Microsoft.Web/operations"); + Endpoints[272] = CreateEndpoint("/providers/Microsoft.Web/sourcecontrols"); + Endpoints[273] = CreateEndpoint("/Tools/Chaos/Events"); + Endpoints[274] = CreateEndpoint("/Tools/Chaos/Schedule"); + Endpoints[275] = CreateEndpoint("/BackupRestore/BackupPolicies/$/Create"); + Endpoints[276] = CreateEndpoint("/contentmoderator/lists/v1.0/imagelists"); + Endpoints[277] = CreateEndpoint("/contentmoderator/lists/v1.0/termlists"); + Endpoints[278] = CreateEndpoint("/providers/Microsoft.ADHybridHealthService/addsservices/premiumCheck"); + Endpoints[279] = CreateEndpoint("/providers/Microsoft.ADHybridHealthService/services/premiumCheck"); + Endpoints[280] = CreateEndpoint("/providers/Microsoft.BotService/botServices/checkNameAvailability"); + Endpoints[281] = CreateEndpoint("/providers/Microsoft.Intune/locations/hostName"); + Endpoints[282] = CreateEndpoint("/providers/Microsoft.Network/trafficManagerGeographicHierarchies/default"); + Endpoints[283] = CreateEndpoint("/providers/Microsoft.Web/publishingUsers/web"); + Endpoints[284] = CreateEndpoint("/Tools/Chaos/$/Report"); + Endpoints[285] = CreateEndpoint("/Tools/Chaos/$/Start"); + Endpoints[286] = CreateEndpoint("/Tools/Chaos/$/Stop"); + Endpoints[287] = CreateEndpoint("/contentmoderator/moderate/v1.0/ProcessImage/Evaluate"); + Endpoints[288] = CreateEndpoint("/contentmoderator/moderate/v1.0/ProcessImage/FindFaces"); + Endpoints[289] = CreateEndpoint("/contentmoderator/moderate/v1.0/ProcessImage/Match"); + Endpoints[290] = CreateEndpoint("/contentmoderator/moderate/v1.0/ProcessImage/OCR"); + Endpoints[291] = CreateEndpoint("/contentmoderator/moderate/v1.0/ProcessText/DetectLanguage"); + Endpoints[292] = CreateEndpoint("/contentmoderator/moderate/v1.0/ProcessText/Screen/"); + Endpoints[293] = CreateEndpoint("/providers/microsoft.insights/eventtypes/management/values"); + Endpoints[294] = CreateEndpoint("/contentmoderator/lists/v1.0/imagelists/{listId}"); + Endpoints[295] = CreateEndpoint("/contentmoderator/lists/v1.0/termlists/{listId}"); + Endpoints[296] = CreateEndpoint("/contentmoderator/lists/v1.0/imagelists/{listId}/images"); + Endpoints[297] = CreateEndpoint("/contentmoderator/lists/v1.0/imagelists/{listId}/RefreshIndex"); + Endpoints[298] = CreateEndpoint("/contentmoderator/lists/v1.0/termlists/{listId}/RefreshIndex"); + Endpoints[299] = CreateEndpoint("/contentmoderator/lists/v1.0/termlists/{listId}/terms"); + Endpoints[300] = CreateEndpoint("/contentmoderator/review/v1.0/teams/{teamName}/jobs"); + Endpoints[301] = CreateEndpoint("/contentmoderator/review/v1.0/teams/{teamName}/reviews"); + Endpoints[302] = CreateEndpoint("/contentmoderator/lists/v1.0/imagelists/{listId}/images/{ImageId}"); + Endpoints[303] = CreateEndpoint("/contentmoderator/lists/v1.0/termlists/{listId}/terms/{term}"); + Endpoints[304] = CreateEndpoint("/contentmoderator/review/v1.0/teams/{teamName}/jobs/{JobId}"); + Endpoints[305] = CreateEndpoint("/contentmoderator/review/v1.0/teams/{teamName}/reviews/{reviewId}"); + Endpoints[306] = CreateEndpoint("/contentmoderator/review/v1.0/teams/{teamName}/reviews/{reviewId}/frames"); + Endpoints[307] = CreateEndpoint("/contentmoderator/review/v1.0/teams/{teamName}/reviews/{reviewId}/publish"); + Endpoints[308] = CreateEndpoint("/contentmoderator/review/v1.0/teams/{teamName}/reviews/{reviewId}/transcript"); + Endpoints[309] = CreateEndpoint("/contentmoderator/review/v1.0/teams/{teamName}/reviews/{reviewId}/transcriptmoderationresult"); + Endpoints[310] = CreateEndpoint("/catalog/usql/databases/{databaseName}"); + Endpoints[311] = CreateEndpoint("/providers/Microsoft.ADHybridHealthService/addsservices/{serviceName}"); + Endpoints[312] = CreateEndpoint("/providers/Microsoft.ADHybridHealthService/services/{serviceName}"); + Endpoints[313] = CreateEndpoint("/providers/Microsoft.Authorization/policyDefinitions/{policyDefinitionName}"); + Endpoints[314] = CreateEndpoint("/providers/Microsoft.Authorization/policySetDefinitions/{policySetDefinitionName}"); + Endpoints[315] = CreateEndpoint("/providers/Microsoft.Authorization/providerOperations/{resourceProviderNamespace}"); + Endpoints[316] = CreateEndpoint("/providers/Microsoft.Billing/enrollmentAccounts/{name}"); + Endpoints[317] = CreateEndpoint("/providers/Microsoft.Capacity/reservationOrders/{reservationOrderId}"); + Endpoints[318] = CreateEndpoint("/providers/Microsoft.DocumentDB/databaseAccountNames/{accountName}"); + Endpoints[319] = CreateEndpoint("/providers/Microsoft.EventGrid/topicTypes/{topicTypeName}"); + Endpoints[320] = CreateEndpoint("/providers/Microsoft.ImportExport/locations/{locationName}"); + Endpoints[321] = CreateEndpoint("/providers/Microsoft.Management/managementGroups/{groupId}"); + Endpoints[322] = CreateEndpoint("/providers/Microsoft.ManagementPartner/partners/{partnerId}"); + Endpoints[323] = CreateEndpoint("/providers/Microsoft.Subscription/subscriptionDefinitions/{subscriptionDefinitionName}"); + Endpoints[324] = CreateEndpoint("/providers/Microsoft.Subscription/subscriptionOperations/{operationId}"); + Endpoints[325] = CreateEndpoint("/providers/Microsoft.Web/sourcecontrols/{sourceControlType}"); + Endpoints[326] = CreateEndpoint("/catalog/usql/databases/{databaseName}/acl"); + Endpoints[327] = CreateEndpoint("/catalog/usql/databases/{databaseName}/assemblies"); + Endpoints[328] = CreateEndpoint("/catalog/usql/databases/{databaseName}/credentials"); + Endpoints[329] = CreateEndpoint("/catalog/usql/databases/{databaseName}/externaldatasources"); + Endpoints[330] = CreateEndpoint("/catalog/usql/databases/{databaseName}/schemas"); + Endpoints[331] = CreateEndpoint("/catalog/usql/databases/{databaseName}/secrets"); + Endpoints[332] = CreateEndpoint("/catalog/usql/databases/{databaseName}/statistics"); + Endpoints[333] = CreateEndpoint("/catalog/usql/databases/{databaseName}/tables"); + Endpoints[334] = CreateEndpoint("/catalog/usql/databases/{databaseName}/tablevaluedfunctions"); + Endpoints[335] = CreateEndpoint("/catalog/usql/databases/{databaseName}/views"); + Endpoints[336] = CreateEndpoint("/providers/Microsoft.ADHybridHealthService/addsservices/{serviceName}/addomainservicemembers"); + Endpoints[337] = CreateEndpoint("/providers/Microsoft.ADHybridHealthService/addsservices/{serviceName}/addsservicemembers"); + Endpoints[338] = CreateEndpoint("/providers/Microsoft.ADHybridHealthService/addsservices/{serviceName}/alerts"); + Endpoints[339] = CreateEndpoint("/providers/Microsoft.ADHybridHealthService/addsservices/{serviceName}/configuration"); + Endpoints[340] = CreateEndpoint("/providers/Microsoft.ADHybridHealthService/addsservices/{serviceName}/forestsummary"); + Endpoints[341] = CreateEndpoint("/providers/Microsoft.ADHybridHealthService/addsservices/{serviceName}/metricmetadata"); + Endpoints[342] = CreateEndpoint("/providers/Microsoft.ADHybridHealthService/addsservices/{serviceName}/replicationstatus"); + Endpoints[343] = CreateEndpoint("/providers/Microsoft.ADHybridHealthService/addsservices/{serviceName}/replicationsummary"); + Endpoints[344] = CreateEndpoint("/providers/Microsoft.ADHybridHealthService/services/{serviceName}/alerts"); + Endpoints[345] = CreateEndpoint("/providers/Microsoft.ADHybridHealthService/services/{serviceName}/exportstatus"); + Endpoints[346] = CreateEndpoint("/providers/Microsoft.ADHybridHealthService/services/{serviceName}/metricmetadata"); + Endpoints[347] = CreateEndpoint("/providers/Microsoft.ADHybridHealthService/services/{serviceName}/monitoringconfiguration"); + Endpoints[348] = CreateEndpoint("/providers/Microsoft.ADHybridHealthService/services/{serviceName}/monitoringconfigurations"); + Endpoints[349] = CreateEndpoint("/providers/Microsoft.ADHybridHealthService/services/{serviceName}/servicemembers"); + Endpoints[350] = CreateEndpoint("/providers/Microsoft.Capacity/reservationOrders/{reservationOrderId}/merge"); + Endpoints[351] = CreateEndpoint("/providers/Microsoft.Capacity/reservationOrders/{reservationOrderId}/reservations"); + Endpoints[352] = CreateEndpoint("/providers/Microsoft.Capacity/reservationOrders/{reservationOrderId}/split"); + Endpoints[353] = CreateEndpoint("/providers/Microsoft.EventGrid/topicTypes/{topicTypeName}/eventTypes"); + Endpoints[354] = CreateEndpoint("/providers/Microsoft.Intune/locations/{hostName}/androidPolicies"); + Endpoints[355] = CreateEndpoint("/providers/Microsoft.Intune/locations/{hostName}/apps"); + Endpoints[356] = CreateEndpoint("/providers/Microsoft.Intune/locations/{hostName}/flaggedUsers"); + Endpoints[357] = CreateEndpoint("/providers/Microsoft.Intune/locations/{hostName}/iosPolicies"); + Endpoints[358] = CreateEndpoint("/providers/Microsoft.Intune/locations/{hostName}/operationResults"); + Endpoints[359] = CreateEndpoint("/providers/Microsoft.ADHybridHealthService/services/{serviceName}/exporterrors/counts"); + Endpoints[360] = CreateEndpoint("/providers/Microsoft.ADHybridHealthService/services/{serviceName}/exporterrors/listV2"); + Endpoints[361] = CreateEndpoint("/providers/Microsoft.Intune/locations/{hostName}/statuses/default"); + Endpoints[362] = CreateEndpoint("/providers/Microsoft.ADHybridHealthService/services/{serviceName}/feedbacktype/alerts/feedback"); + Endpoints[363] = CreateEndpoint("/providers/Microsoft.Billing/billingAccounts/{billingAccountId}/providers/Microsoft.Consumption/balances"); + Endpoints[364] = CreateEndpoint("/providers/Microsoft.Billing/billingAccounts/{billingAccountId}/providers/Microsoft.Consumption/costTags"); + Endpoints[365] = CreateEndpoint("/providers/Microsoft.Billing/billingAccounts/{billingAccountId}/providers/Microsoft.Consumption/marketplaces"); + Endpoints[366] = CreateEndpoint("/providers/Microsoft.Billing/billingAccounts/{billingAccountId}/providers/Microsoft.Consumption/usageDetails"); + Endpoints[367] = CreateEndpoint("/providers/Microsoft.Billing/departments/{departmentId}/providers/Microsoft.Consumption/marketplaces"); + Endpoints[368] = CreateEndpoint("/providers/Microsoft.Billing/departments/{departmentId}/providers/Microsoft.Consumption/usageDetails"); + Endpoints[369] = CreateEndpoint("/providers/Microsoft.Billing/enrollmentAccounts/{enrollmentAccountId}/providers/Microsoft.Consumption/marketplaces"); + Endpoints[370] = CreateEndpoint("/providers/Microsoft.Billing/enrollmentAccounts/{enrollmentAccountId}/providers/Microsoft.Consumption/usageDetails"); + Endpoints[371] = CreateEndpoint("/providers/Microsoft.Billing/enrollmentAccounts/{enrollmentAccountName}/providers/Microsoft.Subscription/createSubscription"); + Endpoints[372] = CreateEndpoint("/providers/Microsoft.Capacity/reservationorders/{reservationOrderId}/providers/Microsoft.Consumption/reservationDetails"); + Endpoints[373] = CreateEndpoint("/providers/Microsoft.Capacity/reservationorders/{reservationOrderId}/providers/Microsoft.Consumption/reservationSummaries"); + Endpoints[374] = CreateEndpoint("/providers/Microsoft.CostManagement/billingAccounts/{billingAccountId}/providers/Microsoft.Consumption/tags"); + Endpoints[375] = CreateEndpoint("/providers/Microsoft.Management/managementgroups/{managementGroupId}/providers/Microsoft.Authorization/policyDefinitions"); + Endpoints[376] = CreateEndpoint("/providers/Microsoft.Management/managementgroups/{managementGroupId}/providers/Microsoft.Authorization/policySetDefinitions"); + Endpoints[377] = CreateEndpoint("/providers/Microsoft.ADHybridHealthService/services/{serviceName}/reports/badpassword/details/user"); + Endpoints[378] = CreateEndpoint("/providers/Microsoft.Management/managementgroups/{managementGroupId}/providers/Microsoft.Authorization/policyDefinitions/{policyDefinitionName}"); + Endpoints[379] = CreateEndpoint("/providers/Microsoft.Management/managementgroups/{managementGroupId}/providers/Microsoft.Authorization/policySetDefinitions/{policySetDefinitionName}"); + Endpoints[380] = CreateEndpoint("/providers/Microsoft.Billing/billingAccounts/{billingAccountId}/providers/Microsoft.Billing/billingPeriods/{billingPeriodName}/providers/Microsoft.Consumption/balances"); + Endpoints[381] = CreateEndpoint("/providers/Microsoft.Billing/billingAccounts/{billingAccountId}/providers/Microsoft.Billing/billingPeriods/{billingPeriodName}/providers/Microsoft.Consumption/marketplaces"); + Endpoints[382] = CreateEndpoint("/providers/Microsoft.Billing/billingAccounts/{billingAccountId}/providers/Microsoft.Billing/billingPeriods/{billingPeriodName}/providers/Microsoft.Consumption/usageDetails"); + Endpoints[383] = CreateEndpoint("/providers/Microsoft.Billing/departments/{departmentId}/providers/Microsoft.Billing/billingPeriods/{billingPeriodName}/providers/Microsoft.Consumption/marketplaces"); + Endpoints[384] = CreateEndpoint("/providers/Microsoft.Billing/departments/{departmentId}/providers/Microsoft.Billing/billingPeriods/{billingPeriodName}/providers/Microsoft.Consumption/usageDetails"); + Endpoints[385] = CreateEndpoint("/providers/Microsoft.Billing/enrollmentAccounts/{enrollmentAccountId}/providers/Microsoft.Billing/billingPeriods/{billingPeriodName}/providers/Microsoft.Consumption/marketplaces"); + Endpoints[386] = CreateEndpoint("/providers/Microsoft.Billing/enrollmentAccounts/{enrollmentAccountId}/providers/Microsoft.Billing/billingPeriods/{billingPeriodName}/providers/Microsoft.Consumption/usageDetails"); + Endpoints[387] = CreateEndpoint("/providers/Microsoft.ADHybridHealthService/services/{serviceName}/feedbacktype/alerts/{shortName}/alertfeedback"); + Endpoints[388] = CreateEndpoint("/catalog/usql/databases/{databaseName}/assemblies/{assemblyName}"); + Endpoints[389] = CreateEndpoint("/catalog/usql/databases/{databaseName}/credentials/{credentialName}"); + Endpoints[390] = CreateEndpoint("/catalog/usql/databases/{databaseName}/externaldatasources/{externalDataSourceName}"); + Endpoints[391] = CreateEndpoint("/catalog/usql/databases/{databaseName}/schemas/{schemaName}"); + Endpoints[392] = CreateEndpoint("/catalog/usql/databases/{databaseName}/secrets/{secretName}"); + Endpoints[393] = CreateEndpoint("/providers/Microsoft.ADHybridHealthService/addsservices/{serviceName}/dimensions/{dimension}"); + Endpoints[394] = CreateEndpoint("/providers/Microsoft.ADHybridHealthService/addsservices/{serviceName}/metricmetadata/{metricName}"); + Endpoints[395] = CreateEndpoint("/providers/Microsoft.ADHybridHealthService/services/{serviceName}/checkServiceFeatureAvailibility/{featureName}"); + Endpoints[396] = CreateEndpoint("/providers/Microsoft.ADHybridHealthService/services/{serviceName}/metricmetadata/{metricName}"); + Endpoints[397] = CreateEndpoint("/providers/Microsoft.ADHybridHealthService/services/{serviceName}/servicemembers/{serviceMemberId}"); + Endpoints[398] = CreateEndpoint("/providers/Microsoft.ADHybridHealthService/services/{serviceName}/TenantWhitelisting/{featureName}"); + Endpoints[399] = CreateEndpoint("/providers/Microsoft.Capacity/reservationOrders/{reservationOrderId}/reservations/{reservationId}"); + Endpoints[400] = CreateEndpoint("/providers/Microsoft.Intune/locations/{hostName}/androidPolicies/{policyName}"); + Endpoints[401] = CreateEndpoint("/providers/Microsoft.Intune/locations/{hostName}/flaggedUsers/{userName}"); + Endpoints[402] = CreateEndpoint("/providers/Microsoft.Intune/locations/{hostName}/iosPolicies/{policyName}"); + Endpoints[403] = CreateEndpoint("/providers/Microsoft.Management/managementGroups/{groupId}/subscriptions/{subscriptionId}"); + Endpoints[404] = CreateEndpoint("/catalog/usql/databases/{databaseName}/schemas/{schemaName}/packages"); + Endpoints[405] = CreateEndpoint("/catalog/usql/databases/{databaseName}/schemas/{schemaName}/procedures"); + Endpoints[406] = CreateEndpoint("/catalog/usql/databases/{databaseName}/schemas/{schemaName}/statistics"); + Endpoints[407] = CreateEndpoint("/catalog/usql/databases/{databaseName}/schemas/{schemaName}/tables"); + Endpoints[408] = CreateEndpoint("/catalog/usql/databases/{databaseName}/schemas/{schemaName}/tabletypes"); + Endpoints[409] = CreateEndpoint("/catalog/usql/databases/{databaseName}/schemas/{schemaName}/tablevaluedfunctions"); + Endpoints[410] = CreateEndpoint("/catalog/usql/databases/{databaseName}/schemas/{schemaName}/types"); + Endpoints[411] = CreateEndpoint("/catalog/usql/databases/{databaseName}/schemas/{schemaName}/views"); + Endpoints[412] = CreateEndpoint("/providers/Microsoft.ADHybridHealthService/addsservices/{serviceName}/servicemembers/{serviceMemberId}/alerts"); + Endpoints[413] = CreateEndpoint("/providers/Microsoft.ADHybridHealthService/service/{serviceName}/servicemembers/{serviceMemberId}/connectors"); + Endpoints[414] = CreateEndpoint("/providers/Microsoft.ADHybridHealthService/services/{serviceName}/servicemembers/{serviceMemberId}/alerts"); + Endpoints[415] = CreateEndpoint("/providers/Microsoft.ADHybridHealthService/services/{serviceName}/servicemembers/{serviceMemberId}/credentials"); + Endpoints[416] = CreateEndpoint("/providers/Microsoft.ADHybridHealthService/services/{serviceName}/servicemembers/{serviceMemberId}/data"); + Endpoints[417] = CreateEndpoint("/providers/Microsoft.ADHybridHealthService/services/{serviceName}/servicemembers/{serviceMemberId}/datafreshness"); + Endpoints[418] = CreateEndpoint("/providers/Microsoft.ADHybridHealthService/services/{serviceName}/servicemembers/{serviceMemberId}/exportstatus"); + Endpoints[419] = CreateEndpoint("/providers/Microsoft.ADHybridHealthService/services/{serviceName}/servicemembers/{serviceMemberId}/globalconfiguration"); + Endpoints[420] = CreateEndpoint("/providers/Microsoft.ADHybridHealthService/services/{serviceName}/servicemembers/{serviceMemberId}/serviceconfiguration"); + Endpoints[421] = CreateEndpoint("/providers/Microsoft.Capacity/reservationOrders/{reservationOrderId}/reservations/{reservationId}/revisions"); + Endpoints[422] = CreateEndpoint("/providers/Microsoft.Intune/locations/{hostName}/AndroidPolicies/{policyName}/apps"); + Endpoints[423] = CreateEndpoint("/providers/Microsoft.Intune/locations/{hostName}/androidPolicies/{policyName}/groups"); + Endpoints[424] = CreateEndpoint("/providers/Microsoft.Intune/locations/{hostName}/flaggedUsers/{userName}/flaggedEnrolledApps"); + Endpoints[425] = CreateEndpoint("/providers/Microsoft.Intune/locations/{hostName}/iosPolicies/{policyName}/apps"); + Endpoints[426] = CreateEndpoint("/providers/Microsoft.Intune/locations/{hostName}/iosPolicies/{policyName}/groups"); + Endpoints[427] = CreateEndpoint("/providers/Microsoft.Intune/locations/{hostName}/users/{userName}/devices"); + Endpoints[428] = CreateEndpoint("/providers/Microsoft.Capacity/reservationorders/{reservationOrderId}/reservations/{reservationId}/providers/Microsoft.Consumption/reservationDetails"); + Endpoints[429] = CreateEndpoint("/providers/Microsoft.Capacity/reservationorders/{reservationOrderId}/reservations/{reservationId}/providers/Microsoft.Consumption/reservationSummaries"); + Endpoints[430] = CreateEndpoint("/catalog/usql/databases/{databaseName}/schemas/{schemaName}/packages/{packageName}"); + Endpoints[431] = CreateEndpoint("/catalog/usql/databases/{databaseName}/schemas/{schemaName}/procedures/{procedureName}"); + Endpoints[432] = CreateEndpoint("/catalog/usql/databases/{databaseName}/schemas/{schemaName}/tables/{tableName}"); + Endpoints[433] = CreateEndpoint("/catalog/usql/databases/{databaseName}/schemas/{schemaName}/tabletypes/{tableTypeName}"); + Endpoints[434] = CreateEndpoint("/catalog/usql/databases/{databaseName}/schemas/{schemaName}/tablevaluedfunctions/{tableValuedFunctionName}"); + Endpoints[435] = CreateEndpoint("/catalog/usql/databases/{databaseName}/schemas/{schemaName}/views/{viewName}"); + Endpoints[436] = CreateEndpoint("/providers/Microsoft.ADHybridHealthService/addsservices/{serviceName}/metricmetadata/{metricName}/groups/{groupName}"); + Endpoints[437] = CreateEndpoint("/providers/Microsoft.ADHybridHealthService/services/{serviceName}/metricmetadata/{metricName}/groups/{groupName}"); + Endpoints[438] = CreateEndpoint("/providers/Microsoft.Intune/locations/{hostName}/androidPolicies/{policyName}/apps/{appName}"); + Endpoints[439] = CreateEndpoint("/providers/Microsoft.Intune/locations/{hostName}/androidPolicies/{policyName}/groups/{groupId}"); + Endpoints[440] = CreateEndpoint("/providers/Microsoft.Intune/locations/{hostName}/iosPolicies/{policyName}/apps/{appName}"); + Endpoints[441] = CreateEndpoint("/providers/Microsoft.Intune/locations/{hostName}/iosPolicies/{policyName}/groups/{groupId}"); + Endpoints[442] = CreateEndpoint("/providers/Microsoft.Intune/locations/{hostName}/users/{userName}/devices/{deviceName}"); + Endpoints[443] = CreateEndpoint("/catalog/usql/databases/{databaseName}/schemas/{schemaName}/tables/{tableName}/partitions"); + Endpoints[444] = CreateEndpoint("/catalog/usql/databases/{databaseName}/schemas/{schemaName}/tables/{tableName}/previewrows"); + Endpoints[445] = CreateEndpoint("/catalog/usql/databases/{databaseName}/schemas/{schemaName}/tables/{tableName}/statistics"); + Endpoints[446] = CreateEndpoint("/catalog/usql/databases/{databaseName}/schemas/{schemaName}/tables/{tableName}/tablefragments"); + Endpoints[447] = CreateEndpoint("/providers/Microsoft.ADHybridHealthService/addsservices/{serviceName}/metrics/{metricName}/groups/{groupName}/average"); + Endpoints[448] = CreateEndpoint("/providers/Microsoft.ADHybridHealthService/addsservices/{serviceName}/metrics/{metricName}/groups/{groupName}/sum"); + Endpoints[449] = CreateEndpoint("/providers/Microsoft.ADHybridHealthService/services/{serviceName}/metrics/{metricName}/groups/{groupName}/average"); + Endpoints[450] = CreateEndpoint("/providers/Microsoft.ADHybridHealthService/services/{serviceName}/metrics/{metricName}/groups/{groupName}/sum"); + Endpoints[451] = CreateEndpoint("/providers/Microsoft.Intune/locations/{hostName}/users/{userName}/devices/{deviceName}/wipe"); + Endpoints[452] = CreateEndpoint("/catalog/usql/databases/{databaseName}/schemas/{schemaName}/tables/{tableName}/partitions/{partitionName}"); + Endpoints[453] = CreateEndpoint("/catalog/usql/databases/{databaseName}/schemas/{schemaName}/tables/{tableName}/statistics/{statisticsName}"); + Endpoints[454] = CreateEndpoint("/providers/Microsoft.ADHybridHealthService/services/{serviceName}/servicemembers/{serviceMemberId}/metrics/{metricName}/groups/{groupName}"); + Endpoints[455] = CreateEndpoint("/catalog/usql/databases/{databaseName}/schemas/{schemaName}/tables/{tableName}/partitions/{partitionName}/previewrows"); + Endpoints[456] = CreateEndpoint("/apps/customprebuiltdomains/{culture}"); + Endpoints[457] = CreateEndpoint("/BackupRestore/BackupPolicies/{backupPolicyName}"); + Endpoints[458] = CreateEndpoint("/certificates/issuers/{issuer-name}"); + Endpoints[459] = CreateEndpoint("/webhdfs/v1/{path}"); + Endpoints[460] = CreateEndpoint("/webhdfs/va/{getContentSummaryFilePath}"); + Endpoints[461] = CreateEndpoint("/BackupRestore/BackupPolicies/{backupPolicyName}/$/Delete"); + Endpoints[462] = CreateEndpoint("/BackupRestore/BackupPolicies/{backupPolicyName}/$/GetBackupEnabledEntities"); + Endpoints[463] = CreateEndpoint("/BackupRestore/BackupPolicies/{backupPolicyName}/$/Update"); + Endpoints[464] = CreateEndpoint("/EventsStore/Applications/{applicationId}/$/Events"); + Endpoints[465] = CreateEndpoint("/EventsStore/CorrelatedEvents/{eventInstanceId}/$/Events"); + Endpoints[466] = CreateEndpoint("/EventsStore/Nodes/{nodeName}/$/Events"); + Endpoints[467] = CreateEndpoint("/EventsStore/Partitions/{partitionId}/$/Events"); + Endpoints[468] = CreateEndpoint("/EventsStore/Services/{serviceId}/$/Events"); + Endpoints[469] = CreateEndpoint("/Faults/Nodes/{nodeName}/$/GetTransitionProgress"); + Endpoints[470] = CreateEndpoint("/Faults/Nodes/{nodeName}/$/StartTransition/"); + Endpoints[471] = CreateEndpoint("/EventsStore/Partitions/{partitionId}/$/Replicas/Events"); + Endpoints[472] = CreateEndpoint("/Services/$/{serviceId}/$/GetPartitions/$/Recover"); + Endpoints[473] = CreateEndpoint("/EventsStore/Partitions/{partitionId}/$/Replicas/{replicaId}/$/Events"); + Endpoints[474] = CreateEndpoint("/Faults/Services/{serviceId}/$/GetPartitions/{partitionId}/$/GetDataLossProgress"); + Endpoints[475] = CreateEndpoint("/Faults/Services/{serviceId}/$/GetPartitions/{partitionId}/$/GetQuorumLossProgress"); + Endpoints[476] = CreateEndpoint("/Faults/Services/{serviceId}/$/GetPartitions/{partitionId}/$/GetRestartProgress"); + Endpoints[477] = CreateEndpoint("/Faults/Services/{serviceId}/$/GetPartitions/{partitionId}/$/StartDataLoss"); + Endpoints[478] = CreateEndpoint("/Faults/Services/{serviceId}/$/GetPartitions/{partitionId}/$/StartQuorumLoss"); + Endpoints[479] = CreateEndpoint("/Faults/Services/{serviceId}/$/GetPartitions/{partitionId}/$/StartRestart"); + Endpoints[480] = CreateEndpoint("/apis/{apiId}"); + Endpoints[481] = CreateEndpoint("/Applications/{applicationId}"); + Endpoints[482] = CreateEndpoint("/ApplicationTypes/{applicationTypeName}"); + Endpoints[483] = CreateEndpoint("/apps/{appId}"); + Endpoints[484] = CreateEndpoint("/authorizationServers/{authsid}"); + Endpoints[485] = CreateEndpoint("/backends/{backendid}"); + Endpoints[486] = CreateEndpoint("/certificates/{certificate-name}"); + Endpoints[487] = CreateEndpoint("/ComposeDeployments/{deploymentName}"); + Endpoints[488] = CreateEndpoint("/deletedcertificates/{certificate-name}"); + Endpoints[489] = CreateEndpoint("/deletedkeys/{key-name}"); + Endpoints[490] = CreateEndpoint("/deletedsecrets/{secret-name}"); + Endpoints[491] = CreateEndpoint("/deletedstorage/{storage-account-name}"); + Endpoints[492] = CreateEndpoint("/domains/{domainId}"); + Endpoints[493] = CreateEndpoint("/facelists/{faceListId}"); + Endpoints[494] = CreateEndpoint("/groups/{groupId}"); + Endpoints[495] = CreateEndpoint("/identityProviders/{identityProviderName}"); + Endpoints[496] = CreateEndpoint("/ImageStore/{contentPath}"); + Endpoints[497] = CreateEndpoint("/Jobs/{jobIdentity}"); + Endpoints[498] = CreateEndpoint("/jobschedules/{jobScheduleId}"); + Endpoints[499] = CreateEndpoint("/keys/{key-name}"); + Endpoints[500] = CreateEndpoint("/loggers/{loggerid}"); + Endpoints[501] = CreateEndpoint("/Names/{nameId}"); + Endpoints[502] = CreateEndpoint("/Nodes/{nodeName}"); + Endpoints[503] = CreateEndpoint("/openidConnectProviders/{opid}"); + Endpoints[504] = CreateEndpoint("/Partitions/{partitionId}"); + Endpoints[505] = CreateEndpoint("/persongroups/{personGroupId}"); + Endpoints[506] = CreateEndpoint("/pipelines/{pipelineIdentity}"); + Endpoints[507] = CreateEndpoint("/policies/{policyId}"); + Endpoints[508] = CreateEndpoint("/pools/{poolId}"); + Endpoints[509] = CreateEndpoint("/products/{productId}"); + Endpoints[510] = CreateEndpoint("/projects/{projectId}"); + Endpoints[511] = CreateEndpoint("/properties/{propId}"); + Endpoints[512] = CreateEndpoint("/quotas/{quotaCounterKey}"); + Endpoints[513] = CreateEndpoint("/recurrences/{recurrenceIdentity}"); + Endpoints[514] = CreateEndpoint("/secrets/{secret-name}"); + Endpoints[515] = CreateEndpoint("/storage/{storage-account-name}"); + Endpoints[516] = CreateEndpoint("/subscriptions/{subscriptionId}"); + Endpoints[517] = CreateEndpoint("/templates/{templateName}"); + Endpoints[518] = CreateEndpoint("/tenant/{accessName}"); + Endpoints[519] = CreateEndpoint("/textOperations/{operationId}"); + Endpoints[520] = CreateEndpoint("/users/{uid}"); + Endpoints[521] = CreateEndpoint("/WebHdfsExt/{path}"); + Endpoints[522] = CreateEndpoint("/apis/{apiId}/operations"); + Endpoints[523] = CreateEndpoint("/apis/{apiId}/policies"); + Endpoints[524] = CreateEndpoint("/apis/{apiId}/products"); + Endpoints[525] = CreateEndpoint("/apis/{apiId}/schemas"); + Endpoints[526] = CreateEndpoint("/apps/{appId}/endpoints"); + Endpoints[527] = CreateEndpoint("/apps/{appId}/metrics"); + Endpoints[528] = CreateEndpoint("/apps/{appId}/permissions"); + Endpoints[529] = CreateEndpoint("/apps/{appId}/publish"); + Endpoints[530] = CreateEndpoint("/apps/{appId}/publishsettings"); + Endpoints[531] = CreateEndpoint("/apps/{appId}/query"); + Endpoints[532] = CreateEndpoint("/apps/{appId}/querylogs"); + Endpoints[533] = CreateEndpoint("/apps/{appId}/settings"); + Endpoints[534] = CreateEndpoint("/apps/{appId}/versions"); + Endpoints[535] = CreateEndpoint("/certificates/{certificate-name}/create"); + Endpoints[536] = CreateEndpoint("/certificates/{certificate-name}/import"); + Endpoints[537] = CreateEndpoint("/certificates/{certificate-name}/pending"); + Endpoints[538] = CreateEndpoint("/certificates/{certificate-name}/policy"); + Endpoints[539] = CreateEndpoint("/certificates/{certificate-name}/versions"); + Endpoints[540] = CreateEndpoint("/delegatedProviders/{delegatedProviderId}/offers"); + Endpoints[541] = CreateEndpoint("/deletedcertificates/{certificate-name}/recover"); + Endpoints[542] = CreateEndpoint("/deletedkeys/{key-name}/recover"); + Endpoints[543] = CreateEndpoint("/deletedsecrets/{secret-name}/recover"); + Endpoints[544] = CreateEndpoint("/deletedstorage/{storage-account-name}/recover"); + Endpoints[545] = CreateEndpoint("/deletedstorage/{storage-account-name}/sas"); + Endpoints[546] = CreateEndpoint("/facelists/{faceListId}/persistedFaces"); + Endpoints[547] = CreateEndpoint("/groups/{groupId}/users"); + Endpoints[548] = CreateEndpoint("/jobs/{jobId}/addtaskcollection"); + Endpoints[549] = CreateEndpoint("/jobs/{jobId}/disable"); + Endpoints[550] = CreateEndpoint("/jobs/{jobId}/enable"); + Endpoints[551] = CreateEndpoint("/jobs/{jobId}/jobpreparationandreleasetaskstatus"); + Endpoints[552] = CreateEndpoint("/jobs/{jobId}/taskcounts"); + Endpoints[553] = CreateEndpoint("/jobs/{jobId}/tasks"); + Endpoints[554] = CreateEndpoint("/jobs/{jobId}/terminate"); + Endpoints[555] = CreateEndpoint("/Jobs/{jobIdentity}/CancelJob"); + Endpoints[556] = CreateEndpoint("/Jobs/{jobIdentity}/GetDebugDataPath"); + Endpoints[557] = CreateEndpoint("/Jobs/{jobIdentity}/GetStatistics"); + Endpoints[558] = CreateEndpoint("/jobs/{jobIdentity}/YieldJob"); + Endpoints[559] = CreateEndpoint("/jobschedules/{jobScheduleId}/disable"); + Endpoints[560] = CreateEndpoint("/jobschedules/{jobScheduleId}/enable"); + Endpoints[561] = CreateEndpoint("/jobschedules/{jobScheduleId}/jobs"); + Endpoints[562] = CreateEndpoint("/jobschedules/{jobScheduleId}/terminate"); + Endpoints[563] = CreateEndpoint("/keys/{key-name}/backup"); + Endpoints[564] = CreateEndpoint("/keys/{key-name}/create"); + Endpoints[565] = CreateEndpoint("/keys/{key-name}/versions"); + Endpoints[566] = CreateEndpoint("/models/{model}/analyze"); + Endpoints[567] = CreateEndpoint("/persongroups/{personGroupId}/persons"); + Endpoints[568] = CreateEndpoint("/persongroups/{personGroupId}/train"); + Endpoints[569] = CreateEndpoint("/persongroups/{personGroupId}/training"); + Endpoints[570] = CreateEndpoint("/pools/{poolId}/disableautoscale"); + Endpoints[571] = CreateEndpoint("/pools/{poolId}/enableautoscale"); + Endpoints[572] = CreateEndpoint("/pools/{poolId}/evaluateautoscale"); + Endpoints[573] = CreateEndpoint("/pools/{poolId}/nodes"); + Endpoints[574] = CreateEndpoint("/pools/{poolId}/removenodes"); + Endpoints[575] = CreateEndpoint("/pools/{poolId}/resize"); + Endpoints[576] = CreateEndpoint("/pools/{poolId}/stopresize"); + Endpoints[577] = CreateEndpoint("/pools/{poolId}/updateproperties"); + Endpoints[578] = CreateEndpoint("/pools/{poolId}/upgradeos"); + Endpoints[579] = CreateEndpoint("/products/{productId}/apis"); + Endpoints[580] = CreateEndpoint("/products/{productId}/groups"); + Endpoints[581] = CreateEndpoint("/products/{productId}/policies"); + Endpoints[582] = CreateEndpoint("/products/{productId}/subscriptions"); + Endpoints[583] = CreateEndpoint("/projects/{projectId}/images"); + Endpoints[584] = CreateEndpoint("/projects/{projectId}/iterations"); + Endpoints[585] = CreateEndpoint("/projects/{projectId}/predictions"); + Endpoints[586] = CreateEndpoint("/projects/{projectId}/tags"); + Endpoints[587] = CreateEndpoint("/projects/{projectId}/train"); + Endpoints[588] = CreateEndpoint("/providers/{resourceProviderNamespace}/operations"); + Endpoints[589] = CreateEndpoint("/secrets/{secret-name}/backup"); + Endpoints[590] = CreateEndpoint("/secrets/{secret-name}/versions"); + Endpoints[591] = CreateEndpoint("/storage/{storage-account-name}/backup"); + Endpoints[592] = CreateEndpoint("/storage/{storage-account-name}/regeneratekey"); + Endpoints[593] = CreateEndpoint("/storage/{storage-account-name}/sas"); + Endpoints[594] = CreateEndpoint("/subscriptions/{sid}/regeneratePrimaryKey"); + Endpoints[595] = CreateEndpoint("/subscriptions/{sid}/regenerateSecondaryKey"); + Endpoints[596] = CreateEndpoint("/subscriptions/{subscriptionId}/locations"); + Endpoints[597] = CreateEndpoint("/subscriptions/{subscriptionId}/providers"); + Endpoints[598] = CreateEndpoint("/subscriptions/{subscriptionId}/resourcegroups"); + Endpoints[599] = CreateEndpoint("/subscriptions/{subscriptionId}/resources"); + Endpoints[600] = CreateEndpoint("/subscriptions/{subscriptionId}/tagNames"); + Endpoints[601] = CreateEndpoint("/tenant/{accessName}/git"); + Endpoints[602] = CreateEndpoint("/tenant/{accessName}/regeneratePrimaryKey"); + Endpoints[603] = CreateEndpoint("/tenant/{accessName}/regenerateSecondaryKey"); + Endpoints[604] = CreateEndpoint("/tenant/{configurationName}/deploy"); + Endpoints[605] = CreateEndpoint("/tenant/{configurationName}/save"); + Endpoints[606] = CreateEndpoint("/tenant/{configurationName}/syncState"); + Endpoints[607] = CreateEndpoint("/tenant/{configurationName}/validate"); + Endpoints[608] = CreateEndpoint("/users/{uid}/generateSsoUrl"); + Endpoints[609] = CreateEndpoint("/users/{uid}/groups"); + Endpoints[610] = CreateEndpoint("/users/{uid}/identities"); + Endpoints[611] = CreateEndpoint("/users/{uid}/subscriptions"); + Endpoints[612] = CreateEndpoint("/users/{uid}/token"); + Endpoints[613] = CreateEndpoint("/workspaces/{workspaceId}/query"); + Endpoints[614] = CreateEndpoint("/Applications/{applicationId}/$/Delete"); + Endpoints[615] = CreateEndpoint("/Applications/{applicationId}/$/DisableBackup"); + Endpoints[616] = CreateEndpoint("/Applications/{applicationId}/$/EnableBackup"); + Endpoints[617] = CreateEndpoint("/Applications/{applicationId}/$/GetBackupConfigurationInfo"); + Endpoints[618] = CreateEndpoint("/Applications/{applicationId}/$/GetBackups"); + Endpoints[619] = CreateEndpoint("/Applications/{applicationId}/$/GetHealth"); + Endpoints[620] = CreateEndpoint("/Applications/{applicationId}/$/GetLoadInformation"); + Endpoints[621] = CreateEndpoint("/Applications/{applicationId}/$/GetServices"); + Endpoints[622] = CreateEndpoint("/Applications/{applicationId}/$/GetUpgradeProgress"); + Endpoints[623] = CreateEndpoint("/Applications/{applicationId}/$/MoveToNextUpgradeDomain"); + Endpoints[624] = CreateEndpoint("/Applications/{applicationId}/$/ReportHealth"); + Endpoints[625] = CreateEndpoint("/Applications/{applicationId}/$/ResumeBackup"); + Endpoints[626] = CreateEndpoint("/Applications/{applicationId}/$/RollbackUpgrade"); + Endpoints[627] = CreateEndpoint("/Applications/{applicationId}/$/SuspendBackup"); + Endpoints[628] = CreateEndpoint("/Applications/{applicationId}/$/UpdateUpgrade"); + Endpoints[629] = CreateEndpoint("/Applications/{applicationId}/$/Upgrade"); + Endpoints[630] = CreateEndpoint("/Applications/{applicationName}/$/MoveNextUpgradeDomain"); + Endpoints[631] = CreateEndpoint("/ApplicationTypes/{applicationTypeName}/$/GetApplicationManifest"); + Endpoints[632] = CreateEndpoint("/ApplicationTypes/{applicationTypeName}/$/GetServiceManifest"); + Endpoints[633] = CreateEndpoint("/ApplicationTypes/{applicationTypeName}/$/GetServiceTypes"); + Endpoints[634] = CreateEndpoint("/ApplicationTypes/{applicationTypeName}/$/Unprovision"); + Endpoints[635] = CreateEndpoint("/apps/{appId}/events/$metadata"); + Endpoints[636] = CreateEndpoint("/apps/{appId}/metrics/metadata"); + Endpoints[637] = CreateEndpoint("/apps/{appId}/query/schema"); + Endpoints[638] = CreateEndpoint("/apps/{appId}/versions/import"); + Endpoints[639] = CreateEndpoint("/certificates/{certificate-name}/pending/merge"); + Endpoints[640] = CreateEndpoint("/ComposeDeployments/{deploymentName}/$/Delete"); + Endpoints[641] = CreateEndpoint("/ComposeDeployments/{deploymentName}/$/GetUpgradeProgress"); + Endpoints[642] = CreateEndpoint("/ComposeDeployments/{deploymentName}/$/Upgrade"); + Endpoints[643] = CreateEndpoint("/ImageStore/{contentPath}/$/GetUploadSession"); + Endpoints[644] = CreateEndpoint("/ImageStore/{contentPath}/$/UploadChunk"); + Endpoints[645] = CreateEndpoint("/Names/{nameId}/$/GetProperties"); + Endpoints[646] = CreateEndpoint("/Names/{nameId}/$/GetProperty"); + Endpoints[647] = CreateEndpoint("/Names/{nameId}/$/GetSubNames"); + Endpoints[648] = CreateEndpoint("/Nodes/{nodeName}/$/Activate"); + Endpoints[649] = CreateEndpoint("/Nodes/{nodeName}/$/Deactivate"); + Endpoints[650] = CreateEndpoint("/Nodes/{nodeName}/$/DeployServicePackage"); + Endpoints[651] = CreateEndpoint("/Nodes/{nodeName}/$/GetApplications"); + Endpoints[652] = CreateEndpoint("/Nodes/{nodeName}/$/GetHealth"); + Endpoints[653] = CreateEndpoint("/Nodes/{nodeName}/$/GetLoadInformation"); + Endpoints[654] = CreateEndpoint("/Nodes/{nodeName}/$/RemoveNodeState"); + Endpoints[655] = CreateEndpoint("/Nodes/{nodeName}/$/ReportHealth"); + Endpoints[656] = CreateEndpoint("/Nodes/{nodeName}/$/Restart"); + Endpoints[657] = CreateEndpoint("/Nodes/{nodeName}/$/Start"); + Endpoints[658] = CreateEndpoint("/Nodes/{nodeName}/$/Stop"); + Endpoints[659] = CreateEndpoint("/Partitions/{partitionId}/$/Backup"); + Endpoints[660] = CreateEndpoint("/Partitions/{partitionId}/$/DisableBackup"); + Endpoints[661] = CreateEndpoint("/Partitions/{partitionId}/$/EnableBackup"); + Endpoints[662] = CreateEndpoint("/Partitions/{partitionId}/$/GetBackupConfigurationInfo"); + Endpoints[663] = CreateEndpoint("/Partitions/{partitionId}/$/GetBackupProgress"); + Endpoints[664] = CreateEndpoint("/Partitions/{partitionId}/$/GetBackups"); + Endpoints[665] = CreateEndpoint("/Partitions/{partitionId}/$/GetHealth"); + Endpoints[666] = CreateEndpoint("/Partitions/{partitionId}/$/GetLoadInformation"); + Endpoints[667] = CreateEndpoint("/Partitions/{partitionId}/$/GetReplicas"); + Endpoints[668] = CreateEndpoint("/Partitions/{partitionId}/$/GetRestoreProgress"); + Endpoints[669] = CreateEndpoint("/Partitions/{partitionId}/$/GetServiceName"); + Endpoints[670] = CreateEndpoint("/Partitions/{partitionId}/$/Recover"); + Endpoints[671] = CreateEndpoint("/Partitions/{partitionId}/$/ReportHealth"); + Endpoints[672] = CreateEndpoint("/Partitions/{partitionId}/$/ResetLoad"); + Endpoints[673] = CreateEndpoint("/Partitions/{partitionId}/$/Restore"); + Endpoints[674] = CreateEndpoint("/Partitions/{partitionId}/$/ResumeBackup"); + Endpoints[675] = CreateEndpoint("/Partitions/{partitionId}/$/SuspendBackup"); + Endpoints[676] = CreateEndpoint("/projects/{projectId}/images/files"); + Endpoints[677] = CreateEndpoint("/projects/{projectId}/images/id"); + Endpoints[678] = CreateEndpoint("/projects/{projectId}/images/predictions"); + Endpoints[679] = CreateEndpoint("/projects/{projectId}/images/regions"); + Endpoints[680] = CreateEndpoint("/projects/{projectId}/images/tagged"); + Endpoints[681] = CreateEndpoint("/projects/{projectId}/images/tags"); + Endpoints[682] = CreateEndpoint("/projects/{projectId}/images/untagged"); + Endpoints[683] = CreateEndpoint("/projects/{projectId}/images/urls"); + Endpoints[684] = CreateEndpoint("/projects/{projectId}/predictions/query"); + Endpoints[685] = CreateEndpoint("/projects/{projectId}/quicktest/image"); + Endpoints[686] = CreateEndpoint("/projects/{projectId}/quicktest/url"); + Endpoints[687] = CreateEndpoint("/Services/{serviceId}/$/Delete"); + Endpoints[688] = CreateEndpoint("/Services/{serviceId}/$/DisableBackup"); + Endpoints[689] = CreateEndpoint("/Services/{serviceId}/$/EnableBackup"); + Endpoints[690] = CreateEndpoint("/Services/{serviceId}/$/GetApplicationName"); + Endpoints[691] = CreateEndpoint("/Services/{serviceId}/$/GetBackupConfigurationInfo"); + Endpoints[692] = CreateEndpoint("/Services/{serviceId}/$/GetBackups"); + Endpoints[693] = CreateEndpoint("/Services/{serviceId}/$/GetDescription"); + Endpoints[694] = CreateEndpoint("/Services/{serviceId}/$/GetHealth"); + Endpoints[695] = CreateEndpoint("/Services/{serviceId}/$/GetPartitions"); + Endpoints[696] = CreateEndpoint("/Services/{serviceId}/$/ReportHealth"); + Endpoints[697] = CreateEndpoint("/Services/{serviceId}/$/ResolvePartition"); + Endpoints[698] = CreateEndpoint("/Services/{serviceId}/$/ResumeBackup"); + Endpoints[699] = CreateEndpoint("/Services/{serviceId}/$/SuspendBackup"); + Endpoints[700] = CreateEndpoint("/Services/{serviceId}/$/Update"); + Endpoints[701] = CreateEndpoint("/tenant/{accessName}/git/regeneratePrimaryKey"); + Endpoints[702] = CreateEndpoint("/tenant/{accessName}/git/regenerateSecondaryKey"); + Endpoints[703] = CreateEndpoint("/projects/{projectId}/images/tagged/count"); + Endpoints[704] = CreateEndpoint("/projects/{projectId}/images/untagged/count"); + Endpoints[705] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.AAD/domainServices"); + Endpoints[706] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.Advisor/configurations"); + Endpoints[707] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.Advisor/generateRecommendations"); + Endpoints[708] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.Advisor/recommendations"); + Endpoints[709] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.Advisor/suppressions"); + Endpoints[710] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.AnalysisServices/servers"); + Endpoints[711] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.AnalysisServices/skus"); + Endpoints[712] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.ApiManagement/checkNameAvailability"); + Endpoints[713] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.ApiManagement/service"); + Endpoints[714] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.Authorization/classicAdministrators"); + Endpoints[715] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.Authorization/locks"); + Endpoints[716] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.Authorization/policyAssignments"); + Endpoints[717] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.Authorization/policyDefinitions"); + Endpoints[718] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.Authorization/policySetDefinitions"); + Endpoints[719] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.Authorization/roleAssignments"); + Endpoints[720] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.Automation/automationAccounts"); + Endpoints[721] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.Batch/batchAccounts"); + Endpoints[722] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.BatchAI/clusters"); + Endpoints[723] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.BatchAI/fileServers"); + Endpoints[724] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.BatchAI/jobs"); + Endpoints[725] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.BatchAI/workspaces"); + Endpoints[726] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.Billing/billingPeriods"); + Endpoints[727] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.Billing/invoices"); + Endpoints[728] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.BotService/botServices"); + Endpoints[729] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.Cache/CheckNameAvailability"); + Endpoints[730] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.Cache/Redis"); + Endpoints[731] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.Capacity/appliedReservations"); + Endpoints[732] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.Capacity/catalogs"); + Endpoints[733] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.Cdn/checkNameAvailability"); + Endpoints[734] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.Cdn/checkResourceUsage"); + Endpoints[735] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.Cdn/profiles"); + Endpoints[736] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.Cdn/validateProbe"); + Endpoints[737] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.CertificateRegistration/certificateOrders"); + Endpoints[738] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.CertificateRegistration/validateCertificateRegistrationInformation"); + Endpoints[739] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.CognitiveServices/accounts"); + Endpoints[740] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.CognitiveServices/skus"); + Endpoints[741] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.Commerce.Admin/subscriberUsageAggregates"); + Endpoints[742] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.Commerce.Admin/updateEncryption"); + Endpoints[743] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.Commerce/RateCard"); + Endpoints[744] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.Commerce/UsageAggregates"); + Endpoints[745] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.Compute/disks"); + Endpoints[746] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.Compute/galleries"); + Endpoints[747] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.Compute/images"); + Endpoints[748] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.Compute/skus"); + Endpoints[749] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.Compute/snapshots"); + Endpoints[750] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.Compute/virtualMachines"); + Endpoints[751] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.Compute/virtualMachineScaleSets"); + Endpoints[752] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.Consumption/budgets"); + Endpoints[753] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.Consumption/forecasts"); + Endpoints[754] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.Consumption/marketplaces"); + Endpoints[755] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.Consumption/reservationRecommendations"); + Endpoints[756] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.Consumption/usageDetails"); + Endpoints[757] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.ContainerInstance/containerGroups"); + Endpoints[758] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.ContainerRegistry/checkNameAvailability"); + Endpoints[759] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.ContainerRegistry/registries"); + Endpoints[760] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.ContainerService/containerServices"); + Endpoints[761] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.ContainerService/managedClusters"); + Endpoints[762] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.CustomerInsights/hubs"); + Endpoints[763] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.DataBox/jobs"); + Endpoints[764] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.Databricks/workspaces"); + Endpoints[765] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.DataFactory/factories"); + Endpoints[766] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.DataLakeAnalytics/accounts"); + Endpoints[767] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.DataLakeStore/accounts"); + Endpoints[768] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.DataMigration/services"); + Endpoints[769] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.DataMigration/skus"); + Endpoints[770] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.DBforMySQL/checkNameAvailability"); + Endpoints[771] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.DBforMySQL/performanceTiers"); + Endpoints[772] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.DBforMySQL/servers"); + Endpoints[773] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.DBforPostgreSQL/checkNameAvailability"); + Endpoints[774] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.DBforPostgreSQL/performanceTiers"); + Endpoints[775] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.DBforPostgreSQL/servers"); + Endpoints[776] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.Devices/checkNameAvailability"); + Endpoints[777] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.Devices/checkProvisioningServiceNameAvailability"); + Endpoints[778] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.Devices/IotHubs"); + Endpoints[779] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.Devices/provisioningServices"); + Endpoints[780] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.Devices/usages"); + Endpoints[781] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.DevTestLab/labs"); + Endpoints[782] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.DevTestLab/schedules"); + Endpoints[783] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.DocumentDB/databaseAccounts"); + Endpoints[784] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.DomainRegistration/checkDomainAvailability"); + Endpoints[785] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.DomainRegistration/domains"); + Endpoints[786] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.DomainRegistration/generateSsoRequest"); + Endpoints[787] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.DomainRegistration/listDomainRecommendations"); + Endpoints[788] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.DomainRegistration/topLevelDomains"); + Endpoints[789] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.DomainRegistration/validateDomainRegistrationInformation"); + Endpoints[790] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.EventGrid/eventSubscriptions"); + Endpoints[791] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.EventGrid/topics"); + Endpoints[792] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.EventHub/CheckNameAvailability"); + Endpoints[793] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.EventHub/CheckNamespaceAvailability"); + Endpoints[794] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.EventHub/namespaces"); + Endpoints[795] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.Features/features"); + Endpoints[796] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/microsoft.gallery.admin/galleryItems"); + Endpoints[797] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.HanaOnAzure/hanaInstances"); + Endpoints[798] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.HDInsight/clusters"); + Endpoints[799] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.ImportExport/jobs"); + Endpoints[800] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/microsoft.insights/actionGroups"); + Endpoints[801] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/microsoft.insights/activityLogAlerts"); + Endpoints[802] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.Insights/components"); + Endpoints[803] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/microsoft.insights/listMigrationdate"); + Endpoints[804] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/microsoft.insights/logprofiles"); + Endpoints[805] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.Insights/metricAlerts"); + Endpoints[806] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/microsoft.insights/migrateToNewPricingModel"); + Endpoints[807] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/microsoft.insights/rollbackToLegacyPricingModel"); + Endpoints[808] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/microsoft.insights/scheduledQueryRules"); + Endpoints[809] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.Insights/webtests"); + Endpoints[810] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.IoTCentral/checkNameAvailability"); + Endpoints[811] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.IoTCentral/IoTApps"); + Endpoints[812] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.IoTSpaces/checkNameAvailability"); + Endpoints[813] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.IoTSpaces/Graph"); + Endpoints[814] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.KeyVault/checkNameAvailability"); + Endpoints[815] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.KeyVault/deletedVaults"); + Endpoints[816] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.KeyVault/vaults"); + Endpoints[817] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.Logic/integrationAccounts"); + Endpoints[818] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.Logic/workflows"); + Endpoints[819] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.MachineLearning/commitmentPlans"); + Endpoints[820] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.MachineLearning/skus"); + Endpoints[821] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.MachineLearning/webServices"); + Endpoints[822] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.MachineLearning/workspaces"); + Endpoints[823] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.MachineLearningCompute/operationalizationClusters"); + Endpoints[824] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.MachineLearningExperimentation/accounts"); + Endpoints[825] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.MachineLearningServices/workspaces"); + Endpoints[826] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.ManagedIdentity/userAssignedIdentities"); + Endpoints[827] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.Maps/accounts"); + Endpoints[828] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.Media/CheckNameAvailability"); + Endpoints[829] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.Media/mediaservices"); + Endpoints[830] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.Network.Admin/adminLoadBalancers"); + Endpoints[831] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.Network.Admin/adminOverview"); + Endpoints[832] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.Network.Admin/adminPublicIpAddresses"); + Endpoints[833] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.Network.Admin/adminVirtualNetworks"); + Endpoints[834] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.Network/applicationGatewayAvailableWafRuleSets"); + Endpoints[835] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.Network/applicationGateways"); + Endpoints[836] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.Network/applicationSecurityGroups"); + Endpoints[837] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.Network/bgpServiceCommunities"); + Endpoints[838] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.Network/ddosProtectionPlans"); + Endpoints[839] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.Network/dnszones"); + Endpoints[840] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.Network/expressRouteCircuits"); + Endpoints[841] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.Network/expressRouteCrossConnections"); + Endpoints[842] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.Network/expressRouteServiceProviders"); + Endpoints[843] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.Network/loadBalancers"); + Endpoints[844] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.Network/networkInterfaces"); + Endpoints[845] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.Network/networkSecurityGroups"); + Endpoints[846] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.Network/networkWatchers"); + Endpoints[847] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.Network/publicIPAddresses"); + Endpoints[848] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.Network/routeFilters"); + Endpoints[849] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.Network/routeTables"); + Endpoints[850] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.Network/trafficmanagerprofiles"); + Endpoints[851] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.Network/trafficManagerUserMetricsKeys"); + Endpoints[852] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.Network/virtualNetworks"); + Endpoints[853] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.NotificationHubs/checkNamespaceAvailability"); + Endpoints[854] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.NotificationHubs/namespaces"); + Endpoints[855] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.OperationalInsights/linkTargets"); + Endpoints[856] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.OperationalInsights/workspaces"); + Endpoints[857] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.OperationsManagement/ManagementAssociations"); + Endpoints[858] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.OperationsManagement/ManagementConfigurations"); + Endpoints[859] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.OperationsManagement/solutions"); + Endpoints[860] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.PowerBI/workspaceCollections"); + Endpoints[861] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.PowerBIDedicated/capacities"); + Endpoints[862] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.PowerBIDedicated/skus"); + Endpoints[863] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.RecoveryServices/vaults"); + Endpoints[864] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.Relay/checkNameAvailability"); + Endpoints[865] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.Relay/namespaces"); + Endpoints[866] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.ResourceHealth/availabilityStatuses"); + Endpoints[867] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.Resources/links"); + Endpoints[868] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.Scheduler/jobCollections"); + Endpoints[869] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.Search/checkNameAvailability"); + Endpoints[870] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.Security/alerts"); + Endpoints[871] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.Security/autoProvisioningSettings"); + Endpoints[872] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.Security/discoveredSecuritySolutions"); + Endpoints[873] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.Security/externalSecuritySolutions"); + Endpoints[874] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.Security/jitNetworkAccessPolicies"); + Endpoints[875] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.Security/locations"); + Endpoints[876] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.Security/pricings"); + Endpoints[877] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.Security/securityContacts"); + Endpoints[878] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.Security/tasks"); + Endpoints[879] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.Security/workspaceSettings"); + Endpoints[880] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.ServerManagement/gateways"); + Endpoints[881] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.ServerManagement/nodes"); + Endpoints[882] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.ServiceBus/CheckNameAvailability"); + Endpoints[883] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.ServiceBus/CheckNameSpaceAvailability"); + Endpoints[884] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.ServiceBus/namespaces"); + Endpoints[885] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.ServiceBus/premiumMessagingRegions"); + Endpoints[886] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.ServiceFabric/clusters"); + Endpoints[887] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.SignalRService/SignalR"); + Endpoints[888] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.Solutions/appliances"); + Endpoints[889] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.Solutions/applications"); + Endpoints[890] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.Sql/checkNameAvailability"); + Endpoints[891] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.Sql/managedInstances"); + Endpoints[892] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.Sql/servers"); + Endpoints[893] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.Storage/checkNameAvailability"); + Endpoints[894] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.Storage/skus"); + Endpoints[895] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.Storage/storageAccounts"); + Endpoints[896] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.Storage/usages"); + Endpoints[897] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.StorSimple/managers"); + Endpoints[898] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.StreamAnalytics/streamingjobs"); + Endpoints[899] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.Subscriptions.Admin/checkNameAvailability"); + Endpoints[900] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.Subscriptions.Admin/delegatedProviders"); + Endpoints[901] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.Subscriptions.Admin/locations"); + Endpoints[902] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.Subscriptions.Admin/moveSubscriptions"); + Endpoints[903] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.Subscriptions.Admin/offers"); + Endpoints[904] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.Subscriptions.Admin/plans"); + Endpoints[905] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.Subscriptions.Admin/restoreData"); + Endpoints[906] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.Subscriptions.Admin/subscriptions"); + Endpoints[907] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.Subscriptions.Admin/updateEncryption"); + Endpoints[908] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.Subscriptions.Admin/validateMoveSubscriptions"); + Endpoints[909] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.TimeSeriesInsights/environments"); + Endpoints[910] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/microsoft.visualstudio/checkNameAvailability"); + Endpoints[911] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.Web/availableStacks"); + Endpoints[912] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.Web/billingMeters"); + Endpoints[913] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.Web/certificates"); + Endpoints[914] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.Web/checknameavailability"); + Endpoints[915] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.Web/classicMobileServices"); + Endpoints[916] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.Web/connectionGateways"); + Endpoints[917] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.Web/customApis"); + Endpoints[918] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.Web/deletedSites"); + Endpoints[919] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.Web/deploymentLocations"); + Endpoints[920] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.Web/geoRegions"); + Endpoints[921] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.Web/hostingEnvironments"); + Endpoints[922] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.Web/ishostingenvironmentnameavailable"); + Endpoints[923] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.Web/listSitesAssignedToHostName"); + Endpoints[924] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.Web/managedHostingEnvironments"); + Endpoints[925] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.Web/premieraddonoffers"); + Endpoints[926] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.Web/publishingCredentials"); + Endpoints[927] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.Web/recommendations"); + Endpoints[928] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.Web/resourceHealthMetadata"); + Endpoints[929] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.Web/serverfarms"); + Endpoints[930] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.Web/sites"); + Endpoints[931] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.Web/skus"); + Endpoints[932] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.Web/verifyHostingEnvironmentVnet"); + Endpoints[933] = CreateEndpoint("/Applications/{applicationId}/$/GetServices/$/Create"); + Endpoints[934] = CreateEndpoint("/Applications/{applicationId}/$/GetServices/$/CreateFromTemplate"); + Endpoints[935] = CreateEndpoint("/Applications/{applicationName}/$/GetServiceGroups/$/CreateServiceGroupFromTemplate"); + Endpoints[936] = CreateEndpoint("/Applications/{applicationName}/$/GetServices/$/CreateServiceGroup"); + Endpoints[937] = CreateEndpoint("/Names/{nameId}/$/GetProperties/$/SubmitBatch"); + Endpoints[938] = CreateEndpoint("/Services/{serviceName}/$/GetPartitions/$/Recover"); + Endpoints[939] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.Billing/invoices/latest"); + Endpoints[940] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.Consumption/pricesheets/default"); + Endpoints[941] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.Network/applicationGatewayAvailableSslOptions/default"); + Endpoints[942] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.Web/recommendations/reset"); + Endpoints[943] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.Addons/supportProviders/canonical/listSupportPlanInfo"); + Endpoints[944] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/microsoft.insights/eventtypes/management/values"); + Endpoints[945] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.Network/applicationGatewayAvailableSslOptions/default/predefinedPolicies"); + Endpoints[946] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.Network/applicationGatewayAvailableSslOptions/default/predefinedPolicies/{predefinedPolicyName}"); + Endpoints[947] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.Advisor/generateRecommendations/{operationId}"); + Endpoints[948] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.Authorization/locks/{lockName}"); + Endpoints[949] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.Authorization/policydefinitions/{policyDefinitionName}"); + Endpoints[950] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.Authorization/policySetDefinitions/{policySetDefinitionName}"); + Endpoints[951] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.Billing/billingPeriods/{billingPeriodName}"); + Endpoints[952] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.Billing/invoices/{invoiceName}"); + Endpoints[953] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.Consumption/budgets/{budgetName}"); + Endpoints[954] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.DomainRegistration/topLevelDomains/{name}"); + Endpoints[955] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/microsoft.gallery.admin/galleryItems/{galleryItemName}"); + Endpoints[956] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/microsoft.insights/logprofiles/{logProfileName}"); + Endpoints[957] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.Media/mediaservices/{accountName}"); + Endpoints[958] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.Security/autoProvisioningSettings/{settingName}"); + Endpoints[959] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.Security/locations/{ascLocation}"); + Endpoints[960] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.Security/pricings/{pricingName}"); + Endpoints[961] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.Security/workspaceSettings/{workspaceSettingName}"); + Endpoints[962] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.Subscriptions.Admin/delegatedProviders/{delegatedProvider}"); + Endpoints[963] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.Subscriptions.Admin/locations/{location}"); + Endpoints[964] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.Subscriptions.Admin/subscriptions/{subscription}"); + Endpoints[965] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.Web/ishostingenvironmentnameavailable/{name}"); + Endpoints[966] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.Addons/supportProviders/{providerName}/supportPlanTypes"); + Endpoints[967] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.AnalysisServices/locations/{location}/checkNameAvailability"); + Endpoints[968] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.Batch/locations/{locationName}/checkNameAvailability"); + Endpoints[969] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.Batch/locations/{locationName}/quotas"); + Endpoints[970] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.BatchAI/locations/{location}/usages"); + Endpoints[971] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.CognitiveServices/locations/{location}/checkSkuAvailability"); + Endpoints[972] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.Compute.Admin/locations/{location}/quotas"); + Endpoints[973] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.Compute/locations/{location}/publishers"); + Endpoints[974] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.Compute/locations/{location}/runCommands"); + Endpoints[975] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.Compute/locations/{location}/usages"); + Endpoints[976] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.Compute/locations/{location}/vmSizes"); + Endpoints[977] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.ContainerInstance/locations/{location}/usages"); + Endpoints[978] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.ContainerService/locations/{location}/orchestrators"); + Endpoints[979] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.DataBox/locations/{location}/availableSkus"); + Endpoints[980] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.DataBox/locations/{location}/validateAddress"); + Endpoints[981] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.DataFactory/locations/{locationId}/configureFactoryRepo"); + Endpoints[982] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.DataLakeAnalytics/locations/{location}/capability"); + Endpoints[983] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.DataLakeAnalytics/locations/{location}/checkNameAvailability"); + Endpoints[984] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.DataLakeStore/locations/{location}/capability"); + Endpoints[985] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.DataLakeStore/locations/{location}/checkNameAvailability"); + Endpoints[986] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.DataMigration/locations/{location}/checkNameAvailability"); + Endpoints[987] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.DataMigration/locations/{location}/usages"); + Endpoints[988] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.DBforMySQL/locations/{locationName}/performanceTiers"); + Endpoints[989] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.DBforPostgreSQL/locations/{locationName}/performanceTiers"); + Endpoints[990] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.DomainRegistration/topLevelDomains/{name}/listAgreements"); + Endpoints[991] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.EventGrid/locations/{location}/eventSubscriptions"); + Endpoints[992] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.EventGrid/topicTypes/{topicTypeName}/eventSubscriptions"); + Endpoints[993] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.EventHub/sku/{sku}/regions"); + Endpoints[994] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.Features/providers/{resourceProviderNamespace}/features"); + Endpoints[995] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.HDInsight/locations/{location}/capabilities"); + Endpoints[996] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.KeyVault.Admin/locations/{location}/quotas"); + Endpoints[997] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.Media/locations/{locationName}/checkNameAvailability"); + Endpoints[998] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.Network.Admin/locations/{location}/quotas"); + Endpoints[999] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.Network/locations/{location}/CheckDnsNameAvailability"); + Endpoints[1000] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.Network/locations/{location}/usages"); + Endpoints[1001] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.Network/locations/{location}/virtualNetworkAvailableEndpointServices"); + Endpoints[1002] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.PolicyInsights/policyEvents/{policyEventsResource}/queryResults"); + Endpoints[1003] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.PolicyInsights/policyStates/{policyStatesResource}/queryResults"); + Endpoints[1004] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.PolicyInsights/policyStates/{policyStatesSummaryResource}/summarize"); + Endpoints[1005] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.PowerBI/locations/{location}/checkNameAvailability"); + Endpoints[1006] = CreateEndpoint("/Subscriptions/{subscriptionId}/providers/Microsoft.RecoveryServices/locations/{azureRegion}/backupPreValidateProtection"); + Endpoints[1007] = CreateEndpoint("/Subscriptions/{subscriptionId}/providers/Microsoft.RecoveryServices/locations/{azureRegion}/backupStatus"); + Endpoints[1008] = CreateEndpoint("/Subscriptions/{subscriptionId}/providers/Microsoft.RecoveryServices/locations/{azureRegion}/backupValidateFeatures"); + Endpoints[1009] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.Security/locations/{ascLocation}/alerts"); + Endpoints[1010] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.Security/locations/{ascLocation}/discoveredSecuritySolutions"); + Endpoints[1011] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.Security/locations/{ascLocation}/ExternalSecuritySolutions"); + Endpoints[1012] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.Security/locations/{ascLocation}/jitNetworkAccessPolicies"); + Endpoints[1013] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.Security/locations/{ascLocation}/tasks"); + Endpoints[1014] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.ServiceBus/sku/{sku}/regions"); + Endpoints[1015] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.ServiceFabric/locations/{location}/clusterVersions"); + Endpoints[1016] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.SignalRService/locations/{location}/checkNameAvailability"); + Endpoints[1017] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.Sql/locations/{locationName}/capabilities"); + Endpoints[1018] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.Sql/locations/{locationName}/longTermRetentionBackups"); + Endpoints[1019] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.Sql/locations/{locationName}/syncDatabaseIds"); + Endpoints[1020] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.Sql/locations/{locationName}/usages"); + Endpoints[1021] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.Storage.Admin/locations/{location}/quotas"); + Endpoints[1022] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.Storage/locations/{location}/usages"); + Endpoints[1023] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.StreamAnalytics/locations/{location}/quotas"); + Endpoints[1024] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.Subscriptions.Admin/delegatedProviders/{delegatedProviderSubscriptionId}/offers"); + Endpoints[1025] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.Subscriptions.Admin/locations/{location}/quotas"); + Endpoints[1026] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.Subscriptions.Admin/subscriptions/{targetSubscriptionId}/acquiredPlans"); + Endpoints[1027] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.Web/locations/{location}/connectionGatewayInstallations"); + Endpoints[1028] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.Web/locations/{location}/extractApiDefinitionFromWsdl"); + Endpoints[1029] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.Web/locations/{location}/listWsdlInterfaces"); + Endpoints[1030] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.Web/locations/{location}/managedApis"); + Endpoints[1031] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.Web/recommendations/{name}/disable"); + Endpoints[1032] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.Compute.Admin/locations/{location}/artifactTypes/platformImage"); + Endpoints[1033] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.Compute.Admin/locations/{location}/artifactTypes/VMExtension"); + Endpoints[1034] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.Billing/billingPeriods/{billingPeriodName}/providers/Microsoft.Consumption/marketplaces"); + Endpoints[1035] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.Billing/billingPeriods/{billingPeriodName}/providers/Microsoft.Consumption/usageDetails"); + Endpoints[1036] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.Compute/locations/{location}/logAnalytics/apiAccess/getRequestRateByInterval"); + Endpoints[1037] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.Compute/locations/{location}/logAnalytics/apiAccess/getThrottledRequests"); + Endpoints[1038] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.Billing/billingPeriods/{billingPeriodName}/providers/Microsoft.Consumption/pricesheets/default"); + Endpoints[1039] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.Compute.Admin/locations/{location}/artifactTypes/VMExtension/publishers/{publisher}/types/{type}/versions/{version}"); + Endpoints[1040] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.Compute.Admin/locations/{location}/artifactTypes/platformImage/publishers/{publisher}/offers/{offer}/skus/{sku}/versions/{version}"); + Endpoints[1041] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.Addons/supportProviders/{providerName}/supportPlanTypes/{planTypeName}"); + Endpoints[1042] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.AnalysisServices/locations/{location}/operationresults/{operationId}"); + Endpoints[1043] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.AnalysisServices/locations/{location}/operationstatuses/{operationId}"); + Endpoints[1044] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.Compute.Admin/locations/{location}/quotas/{quotaName}"); + Endpoints[1045] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.Compute/locations/{location}/runCommands/{commandId}"); + Endpoints[1046] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.DevTestLab/locations/{locationName}/operations/{name}"); + Endpoints[1047] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.Features/providers/{resourceProviderNamespace}/features/{featureName}"); + Endpoints[1048] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.KeyVault/locations/{location}/deletedVaults/{vaultName}"); + Endpoints[1049] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.Network.Admin/locations/{location}/quotas/{resourceName}"); + Endpoints[1050] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.Security/locations/{ascLocation}/alerts/{alertName}"); + Endpoints[1051] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.Security/locations/{ascLocation}/tasks/{taskName}"); + Endpoints[1052] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.ServiceFabric/locations/{location}/clusterVersions/{clusterVersion}"); + Endpoints[1053] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.Sql/locations/{locationName}/usages/{usageName}"); + Endpoints[1054] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.Storage.Admin/locations/{location}/quotas/{quotaName}"); + Endpoints[1055] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.Subscriptions.Admin/delegatedProviders/{delegatedProviderSubscriptionId}/offers/{offer}"); + Endpoints[1056] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.Subscriptions.Admin/locations/{location}/quotas/{quota}"); + Endpoints[1057] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.Subscriptions.Admin/subscriptions/{targetSubscriptionId}/acquiredPlans/{planAcquisitionId}"); + Endpoints[1058] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.Web/locations/{location}/connectionGatewayInstallations/{gatewayId}"); + Endpoints[1059] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.Web/locations/{location}/managedApis/{apiName}"); + Endpoints[1060] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.EventGrid/locations/{location}/topicTypes/{topicTypeName}/eventSubscriptions"); + Endpoints[1061] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.Features/providers/{resourceProviderNamespace}/features/{featureName}/register"); + Endpoints[1062] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.KeyVault/locations/{location}/deletedVaults/{vaultName}/purge"); + Endpoints[1063] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.ServiceFabric/locations/{location}/environments/{environment}/clusterVersions"); + Endpoints[1064] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.Sql/locations/{locationName}/longTermRetentionServers/{longTermRetentionServerName}/longTermRetentionBackups"); + Endpoints[1065] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.Sql/locations/{locationName}/managedDatabaseRestoreAzureAsyncOperation/{operationId}/completeRestore"); + Endpoints[1066] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.Compute/locations/{location}/publishers/{publisherName}/artifacttypes/vmextension/types"); + Endpoints[1067] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.Compute/locations/{location}/publishers/{publisherName}/artifacttypes/vmimage/offers"); + Endpoints[1068] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.Compute/locations/{location}/publishers/{publisherName}/artifacttypes/vmextension/types/{type}/versions"); + Endpoints[1069] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.Compute/locations/{location}/publishers/{publisherName}/artifacttypes/vmimage/offers/{offer}/skus"); + Endpoints[1070] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.Compute/locations/{location}/publishers/{publisherName}/artifacttypes/vmextension/types/{type}/versions/{version}"); + Endpoints[1071] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.Compute/locations/{location}/publishers/{publisherName}/artifacttypes/vmimage/offers/{offer}/skus/{skus}/versions"); + Endpoints[1072] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.Compute/locations/{location}/publishers/{publisherName}/artifacttypes/vmimage/offers/{offer}/skus/{skus}/versions/{version}"); + Endpoints[1073] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.ServiceFabric/locations/{location}/environments/{environment}/clusterVersions/{clusterVersion}"); + Endpoints[1074] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.Sql/locations/{locationName}/longTermRetentionServers/{longTermRetentionServerName}/longTermRetentionDatabases/{longTermRetentionDatabaseName}/longTermRetentionBackups"); + Endpoints[1075] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.Sql/locations/{locationName}/longTermRetentionServers/{longTermRetentionServerName}/longTermRetentionDatabases/{longTermRetentionDatabaseName}/longTermRetentionBackups/{backupName}"); + Endpoints[1076] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.MarketplaceOrdering/offerTypes/{offerType}/publishers/{publisherId}/offers/{offerId}/plans/{planId}/agreements/current"); + Endpoints[1077] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.Security/locations/{ascLocation}/alerts/{alertName}/{alertUpdateActionType}"); + Endpoints[1078] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.Security/locations/{ascLocation}/tasks/{taskName}/{taskUpdateActionType}"); + Endpoints[1079] = CreateEndpoint("/Applications/{applicationId}/$/GetServices/{serviceId}"); + Endpoints[1080] = CreateEndpoint("/ApplicationTypes/{applicationTypeName}/$/GetServiceTypes/{serviceTypeName}"); + Endpoints[1081] = CreateEndpoint("/Nodes/{nodeName}/$/GetApplications/{applicationId}"); + Endpoints[1082] = CreateEndpoint("/Partitions/{partitionId}/$/GetReplicas/{replicaId}"); + Endpoints[1083] = CreateEndpoint("/Services/{serviceName}/$/GetPartitions/{partitionId}"); + Endpoints[1084] = CreateEndpoint("/Applications/{applicationName}/$/GetServiceGroups/{serviceName}/$/Delete"); + Endpoints[1085] = CreateEndpoint("/Applications/{applicationName}/$/GetServices/{serviceName}/$/GetServiceGroupDescription"); + Endpoints[1086] = CreateEndpoint("/Applications/{applicationName}/$/GetServices/{serviceName}/$/GetServiceGroupMembers"); + Endpoints[1087] = CreateEndpoint("/Applications/{applicationName}/$/GetServices/{serviceName}/$/UpdateServiceGroup"); + Endpoints[1088] = CreateEndpoint("/Nodes/{nodeName}/$/GetApplications/{applicationId}/$/GetCodePackages"); + Endpoints[1089] = CreateEndpoint("/Nodes/{nodeName}/$/GetApplications/{applicationId}/$/GetHealth"); + Endpoints[1090] = CreateEndpoint("/Nodes/{nodeName}/$/GetApplications/{applicationId}/$/GetReplicas"); + Endpoints[1091] = CreateEndpoint("/Nodes/{nodeName}/$/GetApplications/{applicationId}/$/GetServicePackages"); + Endpoints[1092] = CreateEndpoint("/Nodes/{nodeName}/$/GetApplications/{applicationId}/$/GetServiceTypes"); + Endpoints[1093] = CreateEndpoint("/Nodes/{nodeName}/$/GetApplications/{applicationId}/$/ReportHealth"); + Endpoints[1094] = CreateEndpoint("/Nodes/{nodeName}/$/GetPartitions/{partitionId}/$/GetReplicas"); + Endpoints[1095] = CreateEndpoint("/Partitions/{partitionId}/$/GetReplicas/{replicaId}/$/GetHealth"); + Endpoints[1096] = CreateEndpoint("/Partitions/{partitionId}/$/GetReplicas/{replicaId}/$/GetLoadInformation"); + Endpoints[1097] = CreateEndpoint("/Partitions/{partitionId}/$/GetReplicas/{replicaId}/$/ReportHealth"); + Endpoints[1098] = CreateEndpoint("/Nodes/{nodeName}/$/GetApplications/{applicationId}/$/GetCodePackages/$/ContainerApi"); + Endpoints[1099] = CreateEndpoint("/Nodes/{nodeName}/$/GetApplications/{applicationId}/$/GetCodePackages/$/ContainerLogs"); + Endpoints[1100] = CreateEndpoint("/Nodes/{nodeName}/$/GetApplications/{applicationId}/$/GetCodePackages/$/Restart"); + Endpoints[1101] = CreateEndpoint("/Nodes/{nodeName}/$/GetApplications/{applicationId}/$/GetServicePackages/{servicePackageName}"); + Endpoints[1102] = CreateEndpoint("/Nodes/{nodeName}/$/GetApplications/{applicationId}/$/GetServiceTypes/{serviceTypeName}"); + Endpoints[1103] = CreateEndpoint("/Nodes/{nodeName}/$/GetApplications/{applicationId}/$/GetServicePackages/{servicePackageName}/$/GetHealth"); + Endpoints[1104] = CreateEndpoint("/Nodes/{nodeName}/$/GetApplications/{applicationId}/$/GetServicePackages/{servicePackageName}/$/ReportHealth"); + Endpoints[1105] = CreateEndpoint("/Nodes/{nodeName}/$/GetPartitions/{partitionId}/$/GetReplicas/{replicaId}/$/Delete"); + Endpoints[1106] = CreateEndpoint("/Nodes/{nodeName}/$/GetPartitions/{partitionId}/$/GetReplicas/{replicaId}/$/GetDetail"); + Endpoints[1107] = CreateEndpoint("/Nodes/{nodeName}/$/GetPartitions/{partitionId}/$/GetReplicas/{replicaId}/$/Restart"); + Endpoints[1108] = CreateEndpoint("/apis/{apiId}/operations/{operationId}"); + Endpoints[1109] = CreateEndpoint("/apis/{apiId}/policies/{policyId}"); + Endpoints[1110] = CreateEndpoint("/apis/{apiId}/schemas/{schemaId}"); + Endpoints[1111] = CreateEndpoint("/apps/{appId}/events/{eventType}"); + Endpoints[1112] = CreateEndpoint("/apps/{appId}/metrics/{metricId}"); + Endpoints[1113] = CreateEndpoint("/apps/{appId}/versions/{versionId}/"); + Endpoints[1114] = CreateEndpoint("/delegatedProviders/{delegatedProviderId}/offers/{offerName}"); + Endpoints[1115] = CreateEndpoint("/deletedstorage/{storage-account-name}/sas/{sas-definition-name}"); + Endpoints[1116] = CreateEndpoint("/facelists/{faceListId}/persistedFaces/{persistedFaceId}"); + Endpoints[1117] = CreateEndpoint("/groups/{groupId}/users/{uid}"); + Endpoints[1118] = CreateEndpoint("/jobs/{jobId}/tasks/{taskId}"); + Endpoints[1119] = CreateEndpoint("/persongroups/{personGroupId}/persons/{personId}"); + Endpoints[1120] = CreateEndpoint("/pools/{poolId}/nodes/{nodeId}"); + Endpoints[1121] = CreateEndpoint("/products/{productId}/apis/{apiId}"); + Endpoints[1122] = CreateEndpoint("/products/{productId}/groups/{groupId}"); + Endpoints[1123] = CreateEndpoint("/products/{productId}/policies/{policyId}"); + Endpoints[1124] = CreateEndpoint("/projects/{projectId}/iterations/{iterationId}"); + Endpoints[1125] = CreateEndpoint("/projects/{projectId}/tags/{tagId}"); + Endpoints[1126] = CreateEndpoint("/storage/{storage-account-name}/sas/{sas-definition-name}"); + Endpoints[1127] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/{resourceProviderNamespace}"); + Endpoints[1128] = CreateEndpoint("/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}"); + Endpoints[1129] = CreateEndpoint("/subscriptions/{subscriptionId}/tagNames/{tagName}"); + Endpoints[1130] = CreateEndpoint("/apis/{apiId}/operations/{operationId}/policies"); + Endpoints[1131] = CreateEndpoint("/apps/{appId}/versions/{versionId}/clone"); + Endpoints[1132] = CreateEndpoint("/apps/{appId}/versions/{versionId}/closedlists"); + Endpoints[1133] = CreateEndpoint("/apps/{appId}/versions/{versionId}/compositeentities"); + Endpoints[1134] = CreateEndpoint("/apps/{appId}/versions/{versionId}/customprebuiltdomains"); + Endpoints[1135] = CreateEndpoint("/apps/{appId}/versions/{versionId}/customprebuiltentities"); + Endpoints[1136] = CreateEndpoint("/apps/{appId}/versions/{versionId}/customprebuiltintents"); + Endpoints[1137] = CreateEndpoint("/apps/{appId}/versions/{versionId}/customprebuiltmodels"); + Endpoints[1138] = CreateEndpoint("/apps/{appId}/versions/{versionId}/entities"); + Endpoints[1139] = CreateEndpoint("/apps/{appId}/versions/{versionId}/example"); + Endpoints[1140] = CreateEndpoint("/apps/{appId}/versions/{versionId}/examples"); + Endpoints[1141] = CreateEndpoint("/apps/{appId}/versions/{versionId}/export"); + Endpoints[1142] = CreateEndpoint("/apps/{appId}/versions/{versionId}/features"); + Endpoints[1143] = CreateEndpoint("/apps/{appId}/versions/{versionId}/hierarchicalentities"); + Endpoints[1144] = CreateEndpoint("/apps/{appId}/versions/{versionId}/intents"); + Endpoints[1145] = CreateEndpoint("/apps/{appId}/versions/{versionId}/listprebuilts"); + Endpoints[1146] = CreateEndpoint("/apps/{appId}/versions/{versionId}/models"); + Endpoints[1147] = CreateEndpoint("/apps/{appId}/versions/{versionId}/patternanyentities"); + Endpoints[1148] = CreateEndpoint("/apps/{appId}/versions/{versionId}/patternrule"); + Endpoints[1149] = CreateEndpoint("/apps/{appId}/versions/{versionId}/patternrules"); + Endpoints[1150] = CreateEndpoint("/apps/{appId}/versions/{versionId}/patterns"); + Endpoints[1151] = CreateEndpoint("/apps/{appId}/versions/{versionId}/phraselists"); + Endpoints[1152] = CreateEndpoint("/apps/{appId}/versions/{versionId}/prebuilts"); + Endpoints[1153] = CreateEndpoint("/apps/{appId}/versions/{versionId}/regexentities"); + Endpoints[1154] = CreateEndpoint("/apps/{appId}/versions/{versionId}/suggest"); + Endpoints[1155] = CreateEndpoint("/apps/{appId}/versions/{versionId}/train"); + Endpoints[1156] = CreateEndpoint("/deletedstorage/{storage-account-name}/sas/{sas-definition-name}/recover"); + Endpoints[1157] = CreateEndpoint("/jobs/{jobId}/tasks/{taskId}/files"); + Endpoints[1158] = CreateEndpoint("/jobs/{jobId}/tasks/{taskId}/reactivate"); + Endpoints[1159] = CreateEndpoint("/jobs/{jobId}/tasks/{taskId}/subtasksinfo"); + Endpoints[1160] = CreateEndpoint("/jobs/{jobId}/tasks/{taskId}/terminate"); + Endpoints[1161] = CreateEndpoint("/persongroups/{personGroupId}/persons/{personId}/persistedFaces"); + Endpoints[1162] = CreateEndpoint("/pools/{poolId}/nodes/{nodeId}/disablescheduling"); + Endpoints[1163] = CreateEndpoint("/pools/{poolId}/nodes/{nodeId}/enablescheduling"); + Endpoints[1164] = CreateEndpoint("/pools/{poolId}/nodes/{nodeId}/files"); + Endpoints[1165] = CreateEndpoint("/pools/{poolId}/nodes/{nodeId}/rdp"); + Endpoints[1166] = CreateEndpoint("/pools/{poolId}/nodes/{nodeId}/reboot"); + Endpoints[1167] = CreateEndpoint("/pools/{poolId}/nodes/{nodeId}/reimage"); + Endpoints[1168] = CreateEndpoint("/pools/{poolId}/nodes/{nodeId}/remoteloginsettings"); + Endpoints[1169] = CreateEndpoint("/pools/{poolId}/nodes/{nodeId}/uploadbatchservicelogs"); + Endpoints[1170] = CreateEndpoint("/pools/{poolId}/nodes/{nodeId}/users"); + Endpoints[1171] = CreateEndpoint("/projects/{projectId}/iterations/{iterationId}/export"); + Endpoints[1172] = CreateEndpoint("/projects/{projectId}/iterations/{iterationId}/performance"); + Endpoints[1173] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/{resourceProviderNamespace}/register"); + Endpoints[1174] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/{resourceProviderNamespace}/unregister"); + Endpoints[1175] = CreateEndpoint("/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/exportTemplate"); + Endpoints[1176] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/moveResources"); + Endpoints[1177] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/resources"); + Endpoints[1178] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/validateMoveResources"); + Endpoints[1179] = CreateEndpoint("/projects/{projectId}/iterations/{iterationId}/performance/images"); + Endpoints[1180] = CreateEndpoint("/projects/{projectId}/iterations/{iterationId}/performance/images/count"); + Endpoints[1181] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroup/{resourceGroupName}/providers/microsoft.insights/workbooks"); + Endpoints[1182] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{groupName}/providers/Microsoft.DataMigration/services"); + Endpoints[1183] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroup}/providers/Microsoft.Advisor/configurations"); + Endpoints[1184] = CreateEndpoint("/subscriptions/{subscriptionId}/resourcegroups/{resourceGroup}/providers/Microsoft.AzureBridge.Admin/activations"); + Endpoints[1185] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroup}/providers/Microsoft.AzureStack/registrations"); + Endpoints[1186] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AAD/domainServices"); + Endpoints[1187] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AnalysisServices/servers"); + Endpoints[1188] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service"); + Endpoints[1189] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Authorization/locks"); + Endpoints[1190] = CreateEndpoint("/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.Authorization/permissions"); + Endpoints[1191] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Authorization/policyAssignments"); + Endpoints[1192] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Authorization/roleAssignments"); + Endpoints[1193] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Automation/automationAccounts"); + Endpoints[1194] = CreateEndpoint("/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.Backup.Admin/backupLocations"); + Endpoints[1195] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Batch/batchAccounts"); + Endpoints[1196] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.BatchAI/clusters"); + Endpoints[1197] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.BatchAI/fileServers"); + Endpoints[1198] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.BatchAI/jobs"); + Endpoints[1199] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.BatchAI/workspaces"); + Endpoints[1200] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.BotService/botServices"); + Endpoints[1201] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Cache/Redis"); + Endpoints[1202] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Cdn/profiles"); + Endpoints[1203] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.CertificateRegistration/certificateOrders"); + Endpoints[1204] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.CognitiveServices/accounts"); + Endpoints[1205] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/availabilitySets"); + Endpoints[1206] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/disks"); + Endpoints[1207] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/galleries"); + Endpoints[1208] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/images"); + Endpoints[1209] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/snapshots"); + Endpoints[1210] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/virtualMachines"); + Endpoints[1211] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/virtualMachineScaleSets"); + Endpoints[1212] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Consumption/budgets"); + Endpoints[1213] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerInstance/containerGroups"); + Endpoints[1214] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerRegistry/registries"); + Endpoints[1215] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/containerServices"); + Endpoints[1216] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters"); + Endpoints[1217] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.CustomerInsights/hubs"); + Endpoints[1218] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataBox/jobs"); + Endpoints[1219] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Databricks/workspaces"); + Endpoints[1220] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataCatalog/catalogs"); + Endpoints[1221] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataFactory/factories"); + Endpoints[1222] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataLakeAnalytics/accounts"); + Endpoints[1223] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataLakeStore/accounts"); + Endpoints[1224] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBforMySQL/servers"); + Endpoints[1225] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBforPostgreSQL/servers"); + Endpoints[1226] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Devices/IotHubs"); + Endpoints[1227] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Devices/provisioningServices"); + Endpoints[1228] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DevTestLab/labs"); + Endpoints[1229] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DevTestLab/schedules"); + Endpoints[1230] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts"); + Endpoints[1231] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DomainRegistration/domains"); + Endpoints[1232] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.EventGrid/eventSubscriptions"); + Endpoints[1233] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.EventGrid/topics"); + Endpoints[1234] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.EventHub/clusters"); + Endpoints[1235] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.EventHub/namespaces"); + Endpoints[1236] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Fabric.Admin/fabricLocations"); + Endpoints[1237] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.HanaOnAzure/hanaInstances"); + Endpoints[1238] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.HDInsight/clusters"); + Endpoints[1239] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ImportExport/jobs"); + Endpoints[1240] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.InfrastructureInsights.Admin/regionHealths"); + Endpoints[1241] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/microsoft.insights/actionGroups"); + Endpoints[1242] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/microsoft.insights/activityLogAlerts"); + Endpoints[1243] = CreateEndpoint("/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/microsoft.insights/alertrules"); + Endpoints[1244] = CreateEndpoint("/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/microsoft.insights/autoscalesettings"); + Endpoints[1245] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Insights/components"); + Endpoints[1246] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Insights/metricAlerts"); + Endpoints[1247] = CreateEndpoint("/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/microsoft.insights/scheduledQueryRules"); + Endpoints[1248] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Insights/webtests"); + Endpoints[1249] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.IoTCentral/IoTApps"); + Endpoints[1250] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.IoTSpaces/Graph"); + Endpoints[1251] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.KeyVault/vaults"); + Endpoints[1252] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Logic/integrationAccounts"); + Endpoints[1253] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Logic/workflows"); + Endpoints[1254] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.MachineLearning/commitmentPlans"); + Endpoints[1255] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.MachineLearning/webServices"); + Endpoints[1256] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.MachineLearning/workspaces"); + Endpoints[1257] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.MachineLearningCompute/operationalizationClusters"); + Endpoints[1258] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.MachineLearningExperimentation/accounts"); + Endpoints[1259] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.MachineLearningServices/workspaces"); + Endpoints[1260] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ManagedIdentity/userAssignedIdentities"); + Endpoints[1261] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Maps/accounts"); + Endpoints[1262] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Media/mediaservices"); + Endpoints[1263] = CreateEndpoint("/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.Migrate/projects"); + Endpoints[1264] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/applicationGateways"); + Endpoints[1265] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/applicationSecurityGroups"); + Endpoints[1266] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/connections"); + Endpoints[1267] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/ddosProtectionPlans"); + Endpoints[1268] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/dnsZones"); + Endpoints[1269] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/expressRouteCircuits"); + Endpoints[1270] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/expressRouteCrossConnections"); + Endpoints[1271] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/loadBalancers"); + Endpoints[1272] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/localNetworkGateways"); + Endpoints[1273] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkInterfaces"); + Endpoints[1274] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkSecurityGroups"); + Endpoints[1275] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkWatchers"); + Endpoints[1276] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/publicIPAddresses"); + Endpoints[1277] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/routeFilters"); + Endpoints[1278] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/routeTables"); + Endpoints[1279] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/trafficmanagerprofiles"); + Endpoints[1280] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworkGateways"); + Endpoints[1281] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworks"); + Endpoints[1282] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.NotificationHubs/namespaces"); + Endpoints[1283] = CreateEndpoint("/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.OperationalInsights/workspaces"); + Endpoints[1284] = CreateEndpoint("/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.OperationsManagement/solutions"); + Endpoints[1285] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.PowerBI/workspaceCollections"); + Endpoints[1286] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.PowerBIDedicated/capacities"); + Endpoints[1287] = CreateEndpoint("/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/operations"); + Endpoints[1288] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults"); + Endpoints[1289] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Relay/namespaces"); + Endpoints[1290] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ResourceHealth/availabilityStatuses"); + Endpoints[1291] = CreateEndpoint("/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.Resources/deployments/"); + Endpoints[1292] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Scheduler/jobCollections"); + Endpoints[1293] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Search/searchServices"); + Endpoints[1294] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Security/alerts"); + Endpoints[1295] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Security/jitNetworkAccessPolicies"); + Endpoints[1296] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Security/pricings"); + Endpoints[1297] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Security/securityContacts"); + Endpoints[1298] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Security/workspaceSettings"); + Endpoints[1299] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ServerManagement/gateways"); + Endpoints[1300] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ServerManagement/nodes"); + Endpoints[1301] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ServiceBus/namespaces"); + Endpoints[1302] = CreateEndpoint("/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.ServiceFabric/clusters"); + Endpoints[1303] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.SignalRService/SignalR"); + Endpoints[1304] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Solutions/applianceDefinitions"); + Endpoints[1305] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Solutions/appliances"); + Endpoints[1306] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Solutions/applicationDefinitions"); + Endpoints[1307] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Solutions/applications"); + Endpoints[1308] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/managedInstances"); + Endpoints[1309] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers"); + Endpoints[1310] = CreateEndpoint("/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.Storage.Admin/farms"); + Endpoints[1311] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Storage/storageAccounts"); + Endpoints[1312] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.StorSimple/managers"); + Endpoints[1313] = CreateEndpoint("/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.StreamAnalytics/streamingjobs"); + Endpoints[1314] = CreateEndpoint("/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.Subscriptions.Admin/directoryTenants"); + Endpoints[1315] = CreateEndpoint("/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.Subscriptions.Admin/offers"); + Endpoints[1316] = CreateEndpoint("/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.Subscriptions.Admin/plans"); + Endpoints[1317] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.TimeSeriesInsights/environments"); + Endpoints[1318] = CreateEndpoint("/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.Update.Admin/updateLocations/"); + Endpoints[1319] = CreateEndpoint("/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/microsoft.visualstudio/account"); + Endpoints[1320] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/certificates"); + Endpoints[1321] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/classicMobileServices"); + Endpoints[1322] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/connectionGateways"); + Endpoints[1323] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/connections"); + Endpoints[1324] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/csrs"); + Endpoints[1325] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/customApis"); + Endpoints[1326] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/deletedSites"); + Endpoints[1327] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/hostingEnvironments"); + Endpoints[1328] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/managedHostingEnvironments"); + Endpoints[1329] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/resourceHealthMetadata"); + Endpoints[1330] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/serverfarms"); + Endpoints[1331] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites"); + Endpoints[1332] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/validate"); + Endpoints[1333] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.BotService/BotServices/listServiceProviders"); + Endpoints[1334] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroup/{resourceGroupName}/providers/microsoft.insights/workbooks/{resourceName}"); + Endpoints[1335] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{groupName}/providers/Microsoft.DataMigration/services/{serviceName}"); + Endpoints[1336] = CreateEndpoint("/subscriptions/{subscriptionId}/resourcegroups/{resourceGroup}/providers/Microsoft.AzureBridge.Admin/activations/{activationName}"); + Endpoints[1337] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroup}/providers/Microsoft.AzureStack/registrations/{registrationName}"); + Endpoints[1338] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AAD/domainServices/{domainServiceName}"); + Endpoints[1339] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AnalysisServices/servers/{serverName}"); + Endpoints[1340] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}"); + Endpoints[1341] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Authorization/locks/{lockName}"); + Endpoints[1342] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Automation/automationAccounts/{automationAccountName}"); + Endpoints[1343] = CreateEndpoint("/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.Backup.Admin/backupLocations/{location}"); + Endpoints[1344] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Batch/batchAccounts/{accountName}"); + Endpoints[1345] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.BatchAI/clusters/{clusterName}"); + Endpoints[1346] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.BatchAI/fileServers/{fileServerName}"); + Endpoints[1347] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.BatchAI/jobs/{jobName}"); + Endpoints[1348] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.BatchAI/workspaces/{workspaceName}"); + Endpoints[1349] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.BotService/botServices/{resourceName}"); + Endpoints[1350] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Cache/Redis/{name}"); + Endpoints[1351] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Cdn/profiles/{profileName}"); + Endpoints[1352] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.CertificateRegistration/certificateOrders/{name}"); + Endpoints[1353] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.CognitiveServices/accounts/{accountName}"); + Endpoints[1354] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/availabilitySets/{availabilitySetName}"); + Endpoints[1355] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/disks/{diskName}"); + Endpoints[1356] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/galleries/{galleryName}"); + Endpoints[1357] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/images/{imageName}"); + Endpoints[1358] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/snapshots/{snapshotName}"); + Endpoints[1359] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/virtualMachines/{vmName}"); + Endpoints[1360] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/virtualMachineScaleSets/{vmScaleSetName}"); + Endpoints[1361] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Consumption/budgets/{budgetName}"); + Endpoints[1362] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerInstance/containerGroups/{containerGroupName}"); + Endpoints[1363] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerRegistry/registries/{registryName}"); + Endpoints[1364] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/containerServices/{containerServiceName}"); + Endpoints[1365] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}"); + Endpoints[1366] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.CustomerInsights/hubs/{hubName}"); + Endpoints[1367] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataBox/jobs/{jobName}"); + Endpoints[1368] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Databricks/workspaces/{workspaceName}"); + Endpoints[1369] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataCatalog/catalogs/{catalogName}"); + Endpoints[1370] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataFactory/factories/{factoryName}"); + Endpoints[1371] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataLakeAnalytics/accounts/{accountName}"); + Endpoints[1372] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataLakeStore/accounts/{accountName}"); + Endpoints[1373] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBforMySQL/servers/{serverName}"); + Endpoints[1374] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBforPostgreSQL/servers/{serverName}"); + Endpoints[1375] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Devices/IotHubs/{resourceName}"); + Endpoints[1376] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Devices/provisioningServices/{provisioningServiceName}"); + Endpoints[1377] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DevTestLab/labs/{name}"); + Endpoints[1378] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DevTestLab/schedules/{name}"); + Endpoints[1379] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}"); + Endpoints[1380] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DomainRegistration/domains/{domainName}"); + Endpoints[1381] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.EventGrid/topics/{topicName}"); + Endpoints[1382] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.EventHub/clusters/{clusterName}"); + Endpoints[1383] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.EventHub/namespaces/{namespaceName}"); + Endpoints[1384] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Fabric.Admin/fabricLocations/{fabricLocation}"); + Endpoints[1385] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.HanaOnAzure/hanaInstances/{hanaInstanceName}"); + Endpoints[1386] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.HDInsight/clusters/{clusterName}"); + Endpoints[1387] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ImportExport/jobs/{jobName}"); + Endpoints[1388] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.InfrastructureInsights.Admin/regionHealths/{location}"); + Endpoints[1389] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/microsoft.insights/actionGroups/{actionGroupName}"); + Endpoints[1390] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/microsoft.insights/activityLogAlerts/{activityLogAlertName}"); + Endpoints[1391] = CreateEndpoint("/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/microsoft.insights/alertrules/{ruleName}"); + Endpoints[1392] = CreateEndpoint("/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/microsoft.insights/autoscalesettings/{autoscaleSettingName}"); + Endpoints[1393] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Insights/components/{resourceName}"); + Endpoints[1394] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Insights/metricAlerts/{ruleName}"); + Endpoints[1395] = CreateEndpoint("/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/microsoft.insights/scheduledQueryRules/{ruleName}"); + Endpoints[1396] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Insights/webtests/{webTestName}"); + Endpoints[1397] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.IoTCentral/IoTApps/{resourceName}"); + Endpoints[1398] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.IoTSpaces/Graph/{resourceName}"); + Endpoints[1399] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.KeyVault/vaults/{vaultName}"); + Endpoints[1400] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Logic/integrationAccounts/{integrationAccountName}"); + Endpoints[1401] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Logic/workflows/{workflowName}"); + Endpoints[1402] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.MachineLearning/commitmentPlans/{commitmentPlanName}"); + Endpoints[1403] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.MachineLearning/webServices/{webServiceName}"); + Endpoints[1404] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.MachineLearning/workspaces/{workspaceName}"); + Endpoints[1405] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.MachineLearningCompute/operationalizationClusters/{clusterName}"); + Endpoints[1406] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.MachineLearningExperimentation/accounts/{accountName}"); + Endpoints[1407] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.MachineLearningServices/workspaces/{workspaceName}"); + Endpoints[1408] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ManagedIdentity/userAssignedIdentities/{resourceName}"); + Endpoints[1409] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Maps/accounts/{accountName}"); + Endpoints[1410] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Media/mediaservices/{mediaServiceName}"); + Endpoints[1411] = CreateEndpoint("/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.Migrate/projects/{projectName}"); + Endpoints[1412] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/applicationGateways/{applicationGatewayName}"); + Endpoints[1413] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/applicationSecurityGroups/{applicationSecurityGroupName}"); + Endpoints[1414] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/connections/{virtualNetworkGatewayConnectionName}"); + Endpoints[1415] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/ddosProtectionPlans/{ddosProtectionPlanName}"); + Endpoints[1416] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/dnsZones/{zoneName}"); + Endpoints[1417] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/expressRouteCircuits/{circuitName}"); + Endpoints[1418] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/expressRouteCrossConnections/{crossConnectionName}"); + Endpoints[1419] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/loadBalancers/{loadBalancerName}"); + Endpoints[1420] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/localNetworkGateways/{localNetworkGatewayName}"); + Endpoints[1421] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkInterfaces/{networkInterfaceName}"); + Endpoints[1422] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkSecurityGroups/{networkSecurityGroupName}"); + Endpoints[1423] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkWatchers/{networkWatcherName}"); + Endpoints[1424] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/publicIPAddresses/{publicIpAddressName}"); + Endpoints[1425] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/routeFilters/{routeFilterName}"); + Endpoints[1426] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/routeTables/{routeTableName}"); + Endpoints[1427] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/trafficmanagerprofiles/{profileName}"); + Endpoints[1428] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworkGateways/{virtualNetworkGatewayName}"); + Endpoints[1429] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworks/{virtualNetworkName}"); + Endpoints[1430] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.NotificationHubs/namespaces/{namespaceName}"); + Endpoints[1431] = CreateEndpoint("/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.OperationalInsights/workspaces/{workspaceName}"); + Endpoints[1432] = CreateEndpoint("/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.OperationsManagement/ManagementConfigurations/{managementConfigurationName}"); + Endpoints[1433] = CreateEndpoint("/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.OperationsManagement/solutions/{solutionName}"); + Endpoints[1434] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.PowerBI/workspaceCollections/{workspaceCollectionName}"); + Endpoints[1435] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.PowerBIDedicated/capacities/{dedicatedCapacityName}"); + Endpoints[1436] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}"); + Endpoints[1437] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Relay/namespaces/{namespaceName}"); + Endpoints[1438] = CreateEndpoint("/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.Resources/deployments/{deploymentName}"); + Endpoints[1439] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Scheduler/jobCollections/{jobCollectionName}"); + Endpoints[1440] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Search/searchServices/{searchServiceName}"); + Endpoints[1441] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Security/pricings/{pricingName}"); + Endpoints[1442] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Security/securityContacts/{securityContactName}"); + Endpoints[1443] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Security/workspaceSettings/{workspaceSettingName}"); + Endpoints[1444] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ServerManagement/gateways/{gatewayName}"); + Endpoints[1445] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ServerManagement/nodes/{nodeName}"); + Endpoints[1446] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ServiceBus/namespaces/{namespaceName}"); + Endpoints[1447] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ServiceFabric/clusters/{clusterName}"); + Endpoints[1448] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.SignalRService/SignalR/{resourceName}"); + Endpoints[1449] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Solutions/applianceDefinitions/{applianceDefinitionName}"); + Endpoints[1450] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Solutions/appliances/{applianceName}"); + Endpoints[1451] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Solutions/applicationDefinitions/{applicationDefinitionName}"); + Endpoints[1452] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Solutions/applications/{applicationName}"); + Endpoints[1453] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/managedInstances/{managedInstanceName}"); + Endpoints[1454] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}"); + Endpoints[1455] = CreateEndpoint("/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.Storage.Admin/farms/{farmId}"); + Endpoints[1456] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Storage/storageAccounts/{accountName}"); + Endpoints[1457] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.StorSimple/managers/{managerName}"); + Endpoints[1458] = CreateEndpoint("/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.StreamAnalytics/streamingjobs/{jobName}"); + Endpoints[1459] = CreateEndpoint("/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.Subscriptions.Admin/directoryTenants/{tenant}"); + Endpoints[1460] = CreateEndpoint("/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.Subscriptions.Admin/offers/{offer}"); + Endpoints[1461] = CreateEndpoint("/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.Subscriptions.Admin/plans/{plan}"); + Endpoints[1462] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.TimeSeriesInsights/environments/{environmentName}"); + Endpoints[1463] = CreateEndpoint("/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.Update.Admin/updateLocations/{updateLocation}"); + Endpoints[1464] = CreateEndpoint("/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/microsoft.visualstudio/account/{resourceName}"); + Endpoints[1465] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/certificates/{name}"); + Endpoints[1466] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/classicMobileServices/{name}"); + Endpoints[1467] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/connectionGateways/{connectionGatewayName}"); + Endpoints[1468] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/connections/{connectionName}"); + Endpoints[1469] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/csrs/{name}"); + Endpoints[1470] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/customApis/{apiName}"); + Endpoints[1471] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/hostingEnvironments/{name}"); + Endpoints[1472] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/managedHostingEnvironments/{name}"); + Endpoints[1473] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/serverfarms/{name}"); + Endpoints[1474] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}"); + Endpoints[1475] = CreateEndpoint("/providers/{managementGroupsNamespace}/managementGroups/{managementGroupName}/providers/Microsoft.PolicyInsights/policyEvents/{policyEventsResource}/queryResults"); + Endpoints[1476] = CreateEndpoint("/providers/{managementGroupsNamespace}/managementGroups/{managementGroupName}/providers/Microsoft.PolicyInsights/policyStates/{policyStatesResource}/queryResults"); + Endpoints[1477] = CreateEndpoint("/providers/{managementGroupsNamespace}/managementGroups/{managementGroupName}/providers/Microsoft.PolicyInsights/policyStates/{policyStatesSummaryResource}/summarize"); + Endpoints[1478] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroup/{resourceGroupName}/providers/Microsoft.MachineLearningServices/workspaces/{workspaceName}/computes"); + Endpoints[1479] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{groupName}/providers/Microsoft.DataMigration/services/{serviceName}/checkNameAvailability"); + Endpoints[1480] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{groupName}/providers/Microsoft.DataMigration/services/{serviceName}/checkStatus"); + Endpoints[1481] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{groupName}/providers/Microsoft.DataMigration/services/{serviceName}/projects"); + Endpoints[1482] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{groupName}/providers/Microsoft.DataMigration/services/{serviceName}/skus"); + Endpoints[1483] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{groupName}/providers/Microsoft.DataMigration/services/{serviceName}/start"); + Endpoints[1484] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{groupName}/providers/Microsoft.DataMigration/services/{serviceName}/stop"); + Endpoints[1485] = CreateEndpoint("/subscriptions/{subscriptionId}/resourcegroups/{resourceGroup}/providers/Microsoft.AzureBridge.Admin/activations/{activationName}/downloadedProducts"); + Endpoints[1486] = CreateEndpoint("/subscriptions/{subscriptionId}/resourcegroups/{resourceGroup}/providers/Microsoft.AzureBridge.Admin/activations/{activationName}/products"); + Endpoints[1487] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroup}/providers/Microsoft.AzureStack/registrations/{registrationName}/customerSubscriptions"); + Endpoints[1488] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroup}/providers/Microsoft.AzureStack/registrations/{registrationName}/getactivationkey"); + Endpoints[1489] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroup}/providers/Microsoft.AzureStack/registrations/{registrationName}/products"); + Endpoints[1490] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AnalysisServices/servers/{serverName}/dissociateGateway"); + Endpoints[1491] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AnalysisServices/servers/{serverName}/listGatewayStatus"); + Endpoints[1492] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AnalysisServices/servers/{serverName}/resume"); + Endpoints[1493] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AnalysisServices/servers/{serverName}/skus"); + Endpoints[1494] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AnalysisServices/servers/{serverName}/suspend"); + Endpoints[1495] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/apis"); + Endpoints[1496] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/apisByTags"); + Endpoints[1497] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/api-version-sets"); + Endpoints[1498] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/applynetworkconfigurationupdates"); + Endpoints[1499] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/authorizationServers"); + Endpoints[1500] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/backends"); + Endpoints[1501] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/backup"); + Endpoints[1502] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/certificates"); + Endpoints[1503] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/diagnostics"); + Endpoints[1504] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/getssotoken"); + Endpoints[1505] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/groups"); + Endpoints[1506] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/identityProviders"); + Endpoints[1507] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/issues"); + Endpoints[1508] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/loggers"); + Endpoints[1509] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/managedeployments"); + Endpoints[1510] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/networkstatus"); + Endpoints[1511] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/notifications"); + Endpoints[1512] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/openidConnectProviders"); + Endpoints[1513] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/policies"); + Endpoints[1514] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/policySnippets"); + Endpoints[1515] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/products"); + Endpoints[1516] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/properties"); + Endpoints[1517] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/regions"); + Endpoints[1518] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/restore"); + Endpoints[1519] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/subscriptions"); + Endpoints[1520] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/tagResources"); + Endpoints[1521] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/tags"); + Endpoints[1522] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/templates"); + Endpoints[1523] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/updatecertificate"); + Endpoints[1524] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/updatehostname"); + Endpoints[1525] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/uploadcertificate"); + Endpoints[1526] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/users"); + Endpoints[1527] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Automation/automationAccounts/{automationAccountName}/agentRegistrationInformation"); + Endpoints[1528] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Automation/automationAccounts/{automationAccountName}/certificates"); + Endpoints[1529] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Automation/automationAccounts/{automationAccountName}/compilationjobs"); + Endpoints[1530] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Automation/automationAccounts/{automationAccountName}/configurations"); + Endpoints[1531] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Automation/automationAccounts/{automationAccountName}/connections"); + Endpoints[1532] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Automation/automationAccounts/{automationAccountName}/connectionTypes"); + Endpoints[1533] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Automation/automationAccounts/{automationAccountName}/credentials"); + Endpoints[1534] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Automation/automationAccounts/{automationAccountName}/hybridRunbookWorkerGroups"); + Endpoints[1535] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Automation/automationAccounts/{automationAccountName}/jobs"); + Endpoints[1536] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Automation/automationAccounts/{automationAccountName}/jobSchedules"); + Endpoints[1537] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Automation/automationAccounts/{automationAccountName}/linkedWorkspace"); + Endpoints[1538] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Automation/automationAccounts/{automationAccountName}/listKeys"); + Endpoints[1539] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Automation/automationAccounts/{automationAccountName}/modules"); + Endpoints[1540] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Automation/automationAccounts/{automationAccountName}/nodeConfigurations"); + Endpoints[1541] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Automation/automationAccounts/{automationAccountName}/nodes"); + Endpoints[1542] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Automation/automationAccounts/{automationAccountName}/runbooks"); + Endpoints[1543] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Automation/automationAccounts/{automationAccountName}/schedules"); + Endpoints[1544] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Automation/automationAccounts/{automationAccountName}/softwareUpdateConfigurationMachineRuns"); + Endpoints[1545] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Automation/automationAccounts/{automationAccountName}/softwareUpdateConfigurationRuns"); + Endpoints[1546] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Automation/automationAccounts/{automationAccountName}/softwareUpdateConfigurations"); + Endpoints[1547] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Automation/automationAccounts/{automationAccountName}/sourceControls"); + Endpoints[1548] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Automation/automationAccounts/{automationAccountName}/statistics"); + Endpoints[1549] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Automation/automationAccounts/{automationAccountName}/usages"); + Endpoints[1550] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Automation/automationAccounts/{automationAccountName}/variables"); + Endpoints[1551] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Automation/automationAccounts/{automationAccountName}/watchers"); + Endpoints[1552] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Automation/automationAccounts/{automationAccountName}/webhooks"); + Endpoints[1553] = CreateEndpoint("/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.Backup.Admin/backupLocations/{location}/backups"); + Endpoints[1554] = CreateEndpoint("/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.Backup.Admin/backupLocations/{location}/createBackup"); + Endpoints[1555] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Batch/batchAccounts/{accountName}/applications"); + Endpoints[1556] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Batch/batchAccounts/{accountName}/certificates"); + Endpoints[1557] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Batch/batchAccounts/{accountName}/listKeys"); + Endpoints[1558] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Batch/batchAccounts/{accountName}/pools"); + Endpoints[1559] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Batch/batchAccounts/{accountName}/regenerateKeys"); + Endpoints[1560] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Batch/batchAccounts/{accountName}/syncAutoStorageKeys"); + Endpoints[1561] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.BatchAI/clusters/{clusterName}/listRemoteLoginInformation"); + Endpoints[1562] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.BatchAI/jobs/{jobName}/listOutputFiles"); + Endpoints[1563] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.BatchAI/jobs/{jobName}/listRemoteLoginInformation"); + Endpoints[1564] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.BatchAI/jobs/{jobName}/terminate"); + Endpoints[1565] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.BatchAI/workspaces/{workspaceName}/clusters"); + Endpoints[1566] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.BatchAI/workspaces/{workspaceName}/experiments"); + Endpoints[1567] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.BatchAI/workspaces/{workspaceName}/fileServers"); + Endpoints[1568] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.BotService/botServices/{resourceName}/channels"); + Endpoints[1569] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.BotService/botServices/{resourceName}/connections"); + Endpoints[1570] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Cache/Redis/{cacheName}/firewallRules"); + Endpoints[1571] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Cache/Redis/{cacheName}/patchSchedules"); + Endpoints[1572] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Cache/Redis/{name}/export"); + Endpoints[1573] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Cache/Redis/{name}/forceReboot"); + Endpoints[1574] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Cache/Redis/{name}/import"); + Endpoints[1575] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Cache/Redis/{name}/linkedServers"); + Endpoints[1576] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Cache/Redis/{name}/listKeys"); + Endpoints[1577] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Cache/Redis/{name}/listUpgradeNotifications"); + Endpoints[1578] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Cache/Redis/{name}/regenerateKey"); + Endpoints[1579] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Cdn/profiles/{profileName}/checkResourceUsage"); + Endpoints[1580] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Cdn/profiles/{profileName}/endpoints"); + Endpoints[1581] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Cdn/profiles/{profileName}/generateSsoUri"); + Endpoints[1582] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Cdn/profiles/{profileName}/getSupportedOptimizationTypes"); + Endpoints[1583] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.CertificateRegistration/certificateOrders/{certificateOrderName}/certificates"); + Endpoints[1584] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.CertificateRegistration/certificateOrders/{certificateOrderName}/resendRequestEmails"); + Endpoints[1585] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.CertificateRegistration/certificateOrders/{certificateOrderName}/retrieveSiteSeal"); + Endpoints[1586] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.CertificateRegistration/certificateOrders/{name}/reissue"); + Endpoints[1587] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.CertificateRegistration/certificateOrders/{name}/renew"); + Endpoints[1588] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.CertificateRegistration/certificateOrders/{name}/resendEmail"); + Endpoints[1589] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.CertificateRegistration/certificateOrders/{name}/retrieveCertificateActions"); + Endpoints[1590] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.CertificateRegistration/certificateOrders/{name}/retrieveEmailHistory"); + Endpoints[1591] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.CertificateRegistration/certificateOrders/{name}/verifyDomainOwnership"); + Endpoints[1592] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.CognitiveServices/accounts/{accountName}/listKeys"); + Endpoints[1593] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.CognitiveServices/accounts/{accountName}/regenerateKey"); + Endpoints[1594] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.CognitiveServices/accounts/{accountName}/skus"); + Endpoints[1595] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.CognitiveServices/accounts/{accountName}/usages"); + Endpoints[1596] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/availabilitySets/{availabilitySetName}/vmSizes"); + Endpoints[1597] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/disks/{diskName}/beginGetAccess"); + Endpoints[1598] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/disks/{diskName}/endGetAccess"); + Endpoints[1599] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/galleries/{galleryName}/images"); + Endpoints[1600] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/snapshots/{snapshotName}/beginGetAccess"); + Endpoints[1601] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/snapshots/{snapshotName}/endGetAccess"); + Endpoints[1602] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/virtualMachines/{vmName}/capture"); + Endpoints[1603] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/virtualMachines/{vmName}/convertToManagedDisks"); + Endpoints[1604] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/virtualMachines/{vmName}/deallocate"); + Endpoints[1605] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/virtualMachines/{vmName}/extensions"); + Endpoints[1606] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/virtualMachines/{vmName}/generalize"); + Endpoints[1607] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/virtualMachines/{vmName}/instanceView"); + Endpoints[1608] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/virtualMachines/{vmName}/performMaintenance"); + Endpoints[1609] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/virtualMachines/{vmName}/powerOff"); + Endpoints[1610] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/virtualMachines/{vmName}/redeploy"); + Endpoints[1611] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/virtualMachines/{vmName}/restart"); + Endpoints[1612] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/virtualMachines/{vmName}/runCommand"); + Endpoints[1613] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/virtualMachines/{vmName}/start"); + Endpoints[1614] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/virtualMachines/{vmName}/vmSizes"); + Endpoints[1615] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/microsoft.Compute/virtualMachineScaleSets/{virtualMachineScaleSetName}/networkInterfaces"); + Endpoints[1616] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/virtualMachineScaleSets/{virtualMachineScaleSetName}/publicipaddresses"); + Endpoints[1617] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/virtualMachineScaleSets/{virtualMachineScaleSetName}/virtualMachines"); + Endpoints[1618] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/virtualMachineScaleSets/{vmScaleSetName}/deallocate"); + Endpoints[1619] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/virtualMachineScaleSets/{vmScaleSetName}/delete"); + Endpoints[1620] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/virtualMachineScaleSets/{vmScaleSetName}/extensions"); + Endpoints[1621] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/virtualMachineScaleSets/{vmScaleSetName}/forceRecoveryServiceFabricPlatformUpdateDomainWalk"); + Endpoints[1622] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/virtualMachineScaleSets/{vmScaleSetName}/instanceView"); + Endpoints[1623] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/virtualMachineScaleSets/{vmScaleSetName}/manualupgrade"); + Endpoints[1624] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/virtualMachineScaleSets/{vmScaleSetName}/osRollingUpgrade"); + Endpoints[1625] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/virtualMachineScaleSets/{vmScaleSetName}/osUpgradeHistory"); + Endpoints[1626] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/virtualMachineScaleSets/{vmScaleSetName}/performMaintenance"); + Endpoints[1627] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/virtualMachineScaleSets/{vmScaleSetName}/poweroff"); + Endpoints[1628] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/virtualMachineScaleSets/{vmScaleSetName}/redeploy"); + Endpoints[1629] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/virtualMachineScaleSets/{vmScaleSetName}/reimage"); + Endpoints[1630] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/virtualMachineScaleSets/{vmScaleSetName}/reimageall"); + Endpoints[1631] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/virtualMachineScaleSets/{vmScaleSetName}/restart"); + Endpoints[1632] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/virtualMachineScaleSets/{vmScaleSetName}/skus"); + Endpoints[1633] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/virtualMachineScaleSets/{vmScaleSetName}/start"); + Endpoints[1634] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerRegistry/registries/{registryName}/builds"); + Endpoints[1635] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerRegistry/registries/{registryName}/buildTasks"); + Endpoints[1636] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerRegistry/registries/{registryName}/getBuildSourceUploadUrl"); + Endpoints[1637] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerRegistry/registries/{registryName}/getCredentials"); + Endpoints[1638] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerRegistry/registries/{registryName}/importImage"); + Endpoints[1639] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerRegistry/registries/{registryName}/listCredentials"); + Endpoints[1640] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerRegistry/registries/{registryName}/listUsages"); + Endpoints[1641] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerRegistry/registries/{registryName}/queueBuild"); + Endpoints[1642] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerRegistry/registries/{registryName}/regenerateCredential"); + Endpoints[1643] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerRegistry/registries/{registryName}/regenerateCredentials"); + Endpoints[1644] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerRegistry/registries/{registryName}/replications"); + Endpoints[1645] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerRegistry/registries/{registryName}/webhooks"); + Endpoints[1646] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.CustomerInsights/hubs/{hubName}/authorizationPolicies"); + Endpoints[1647] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.CustomerInsights/hubs/{hubName}/connectors"); + Endpoints[1648] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.CustomerInsights/hubs/{hubName}/interactions"); + Endpoints[1649] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.CustomerInsights/hubs/{hubName}/kpi"); + Endpoints[1650] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.CustomerInsights/hubs/{hubName}/links"); + Endpoints[1651] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.CustomerInsights/hubs/{hubName}/predictions"); + Endpoints[1652] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.CustomerInsights/hubs/{hubName}/profiles"); + Endpoints[1653] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.CustomerInsights/hubs/{hubName}/relationshipLinks"); + Endpoints[1654] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.CustomerInsights/hubs/{hubName}/relationships"); + Endpoints[1655] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.CustomerInsights/hubs/{hubName}/roleAssignments"); + Endpoints[1656] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.CustomerInsights/hubs/{hubName}/roles"); + Endpoints[1657] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.CustomerInsights/hubs/{hubName}/views"); + Endpoints[1658] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.CustomerInsights/hubs/{hubName}/widgetTypes"); + Endpoints[1659] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataBox/jobs/{jobName}/bookShipmentPickUp"); + Endpoints[1660] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataBox/jobs/{jobName}/cancel"); + Endpoints[1661] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataBox/jobs/{jobName}/copyLogsUri"); + Endpoints[1662] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataBox/jobs/{jobName}/downloadShippingLabel"); + Endpoints[1663] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataBox/jobs/{jobName}/listSecrets"); + Endpoints[1664] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataBox/jobs/{jobName}/reportIssue"); + Endpoints[1665] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataFactory/factories/{factoryName}/datasets"); + Endpoints[1666] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataFactory/factories/{factoryName}/integrationRuntimes"); + Endpoints[1667] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataFactory/factories/{factoryName}/linkedservices"); + Endpoints[1668] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataFactory/factories/{factoryName}/pipelineruns"); + Endpoints[1669] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataFactory/factories/{factoryName}/pipelines"); + Endpoints[1670] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataFactory/factories/{factoryName}/triggers"); + Endpoints[1671] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataLakeAnalytics/accounts/{accountName}/computePolicies"); + Endpoints[1672] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataLakeAnalytics/accounts/{accountName}/dataLakeStoreAccounts"); + Endpoints[1673] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataLakeAnalytics/accounts/{accountName}/firewallRules"); + Endpoints[1674] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataLakeAnalytics/accounts/{accountName}/storageAccounts"); + Endpoints[1675] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataLakeStore/accounts/{accountName}/enableKeyVault"); + Endpoints[1676] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataLakeStore/accounts/{accountName}/firewallRules"); + Endpoints[1677] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataLakeStore/accounts/{accountName}/trustedIdProviders"); + Endpoints[1678] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataLakeStore/accounts/{accountName}/virtualNetworkRules"); + Endpoints[1679] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBforMySQL/servers/{serverName}/configurations"); + Endpoints[1680] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBforMySQL/servers/{serverName}/databases"); + Endpoints[1681] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBforMySQL/servers/{serverName}/firewallRules"); + Endpoints[1682] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBforMySQL/servers/{serverName}/logFiles"); + Endpoints[1683] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBforMySQL/servers/{serverName}/virtualNetworkRules"); + Endpoints[1684] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBforPostgreSQL/servers/{serverName}/configurations"); + Endpoints[1685] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBforPostgreSQL/servers/{serverName}/databases"); + Endpoints[1686] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBforPostgreSQL/servers/{serverName}/firewallRules"); + Endpoints[1687] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBforPostgreSQL/servers/{serverName}/logFiles"); + Endpoints[1688] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBforPostgreSQL/servers/{serverName}/virtualNetworkRules"); + Endpoints[1689] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Devices/IotHubs/{iotHubName}/routingEndpointsHealth"); + Endpoints[1690] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Devices/IotHubs/{resourceName}/certificates"); + Endpoints[1691] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Devices/IotHubs/{resourceName}/exportDevices"); + Endpoints[1692] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Devices/IotHubs/{resourceName}/importDevices"); + Endpoints[1693] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Devices/IotHubs/{resourceName}/IotHubStats"); + Endpoints[1694] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Devices/IotHubs/{resourceName}/jobs"); + Endpoints[1695] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Devices/IotHubs/{resourceName}/listkeys"); + Endpoints[1696] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Devices/IotHubs/{resourceName}/quotaMetrics"); + Endpoints[1697] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Devices/IotHubs/{resourceName}/skus"); + Endpoints[1698] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Devices/provisioningServices/{provisioningServiceName}/certificates"); + Endpoints[1699] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Devices/provisioningServices/{provisioningServiceName}/listkeys"); + Endpoints[1700] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Devices/provisioningServices/{provisioningServiceName}/skus"); + Endpoints[1701] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DevTestLab/labs/{labName}/artifactsources"); + Endpoints[1702] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DevTestLab/labs/{labName}/costinsights"); + Endpoints[1703] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DevTestLab/labs/{labName}/costs"); + Endpoints[1704] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DevTestLab/labs/{labName}/customimages"); + Endpoints[1705] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DevTestLab/labs/{labName}/formulas"); + Endpoints[1706] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DevTestLab/labs/{labName}/galleryimages"); + Endpoints[1707] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DevTestLab/labs/{labName}/notificationchannels"); + Endpoints[1708] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DevTestLab/labs/{labName}/schedules"); + Endpoints[1709] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DevTestLab/labs/{labName}/servicerunners"); + Endpoints[1710] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DevTestLab/labs/{labName}/users"); + Endpoints[1711] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DevTestLab/labs/{labName}/virtualmachines"); + Endpoints[1712] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DevTestLab/labs/{labName}/virtualnetworks"); + Endpoints[1713] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DevTestLab/labs/{name}/claimAnyVm"); + Endpoints[1714] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DevTestLab/labs/{name}/createEnvironment"); + Endpoints[1715] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DevTestLab/labs/{name}/exportResourceUsage"); + Endpoints[1716] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DevTestLab/labs/{name}/generateUploadUri"); + Endpoints[1717] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DevTestLab/labs/{name}/listVhds"); + Endpoints[1718] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DevTestLab/schedules/{name}/execute"); + Endpoints[1719] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DevTestLab/schedules/{name}/retarget"); + Endpoints[1720] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/failoverPriorityChange"); + Endpoints[1721] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/listConnectionStrings"); + Endpoints[1722] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/listKeys"); + Endpoints[1723] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/metricDefinitions"); + Endpoints[1724] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/metrics"); + Endpoints[1725] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/offlineRegion"); + Endpoints[1726] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/onlineRegion"); + Endpoints[1727] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/readonlykeys"); + Endpoints[1728] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/regenerateKey"); + Endpoints[1729] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/usages"); + Endpoints[1730] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DomainRegistration/domains/{domainName}/domainOwnershipIdentifiers"); + Endpoints[1731] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DomainRegistration/domains/{domainName}/renew"); + Endpoints[1732] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.EventGrid/locations/{location}/eventSubscriptions"); + Endpoints[1733] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.EventGrid/topics/{topicName}/listKeys"); + Endpoints[1734] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.EventGrid/topics/{topicName}/regenerateKey"); + Endpoints[1735] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.EventGrid/topicTypes/{topicTypeName}/eventSubscriptions"); + Endpoints[1736] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.EventHub/namespaces/{namespaceName}/AuthorizationRules"); + Endpoints[1737] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.EventHub/namespaces/{namespaceName}/disasterRecoveryConfigs"); + Endpoints[1738] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.EventHub/namespaces/{namespaceName}/eventhubs"); + Endpoints[1739] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.EventHub/namespaces/{namespaceName}/messagingplan"); + Endpoints[1740] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Fabric.Admin/fabricLocations/{location}/edgeGatewayPools"); + Endpoints[1741] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Fabric.Admin/fabricLocations/{location}/edgeGateways"); + Endpoints[1742] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Fabric.Admin/fabricLocations/{location}/fileShares"); + Endpoints[1743] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Fabric.Admin/fabricLocations/{location}/infraRoleInstances"); + Endpoints[1744] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Fabric.Admin/fabricLocations/{location}/infraRoles"); + Endpoints[1745] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Fabric.Admin/fabricLocations/{location}/ipPools"); + Endpoints[1746] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Fabric.Admin/fabricLocations/{location}/logicalNetworks"); + Endpoints[1747] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Fabric.Admin/fabricLocations/{location}/macAddressPools"); + Endpoints[1748] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Fabric.Admin/fabricLocations/{location}/scaleUnitNodes"); + Endpoints[1749] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Fabric.Admin/fabricLocations/{location}/scaleUnits"); + Endpoints[1750] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Fabric.Admin/fabricLocations/{location}/slbMuxInstances"); + Endpoints[1751] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Fabric.Admin/fabricLocations/{location}/storageSubSystems"); + Endpoints[1752] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.HDInsight/clusters/{clusterName}/applications"); + Endpoints[1753] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.HDInsight/clusters/{clusterName}/executeScriptActions"); + Endpoints[1754] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.HDInsight/clusters/{clusterName}/scriptActions"); + Endpoints[1755] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.HDInsight/clusters/{clusterName}/scriptExecutionHistory"); + Endpoints[1756] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ImportExport/jobs/{jobName}/listBitLockerKeys"); + Endpoints[1757] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.InfrastructureInsights.Admin/regionHealths/{location}/alerts"); + Endpoints[1758] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.InfrastructureInsights.Admin/regionHealths/{location}/serviceHealths"); + Endpoints[1759] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/microsoft.insights/actionGroups/{actionGroupName}/subscribe"); + Endpoints[1760] = CreateEndpoint("/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/microsoft.insights/alertrules/{ruleName}/incidents"); + Endpoints[1761] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Insights/components/{componentName}/webtests"); + Endpoints[1762] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Insights/components/{resourceName}/Annotations"); + Endpoints[1763] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Insights/components/{resourceName}/ApiKeys"); + Endpoints[1764] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Insights/components/{resourceName}/currentbillingfeatures"); + Endpoints[1765] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Insights/components/{resourceName}/DefaultWorkItemConfig"); + Endpoints[1766] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Insights/components/{resourceName}/exportconfiguration"); + Endpoints[1767] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Insights/components/{resourceName}/favorites"); + Endpoints[1768] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Insights/components/{resourceName}/featurecapabilities"); + Endpoints[1769] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Insights/components/{resourceName}/getavailablebillingfeatures"); + Endpoints[1770] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Insights/components/{resourceName}/ProactiveDetectionConfigs"); + Endpoints[1771] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Insights/components/{resourceName}/purge"); + Endpoints[1772] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Insights/components/{resourceName}/quotastatus"); + Endpoints[1773] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Insights/components/{resourceName}/syntheticmonitorlocations"); + Endpoints[1774] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Insights/components/{resourceName}/WorkItemConfigs"); + Endpoints[1775] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Insights/metricAlerts/{ruleName}/status"); + Endpoints[1776] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.KeyVault/vaults/{vaultName}/secrets"); + Endpoints[1777] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Logic/integrationAccounts/{integrationAccountName}/agreements"); + Endpoints[1778] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Logic/integrationAccounts/{integrationAccountName}/assemblies"); + Endpoints[1779] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Logic/integrationAccounts/{integrationAccountName}/batchConfigurations"); + Endpoints[1780] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Logic/integrationAccounts/{integrationAccountName}/certificates"); + Endpoints[1781] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Logic/integrationAccounts/{integrationAccountName}/listCallbackUrl"); + Endpoints[1782] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Logic/integrationAccounts/{integrationAccountName}/listKeyVaultKeys"); + Endpoints[1783] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Logic/integrationAccounts/{integrationAccountName}/logTrackingEvents"); + Endpoints[1784] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Logic/integrationAccounts/{integrationAccountName}/maps"); + Endpoints[1785] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Logic/integrationAccounts/{integrationAccountName}/partners"); + Endpoints[1786] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Logic/integrationAccounts/{integrationAccountName}/regenerateAccessKey"); + Endpoints[1787] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Logic/integrationAccounts/{integrationAccountName}/schemas"); + Endpoints[1788] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Logic/integrationAccounts/{integrationAccountName}/sessions"); + Endpoints[1789] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Logic/workflows/{workflowName}/accessKeys"); + Endpoints[1790] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Logic/workflows/{workflowName}/disable"); + Endpoints[1791] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Logic/workflows/{workflowName}/enable"); + Endpoints[1792] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Logic/workflows/{workflowName}/generateUpgradedDefinition"); + Endpoints[1793] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Logic/workflows/{workflowName}/listCallbackUrl"); + Endpoints[1794] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Logic/workflows/{workflowName}/listSwagger"); + Endpoints[1795] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Logic/workflows/{workflowName}/move"); + Endpoints[1796] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Logic/workflows/{workflowName}/regenerateAccessKey"); + Endpoints[1797] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Logic/workflows/{workflowName}/run"); + Endpoints[1798] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Logic/workflows/{workflowName}/runs"); + Endpoints[1799] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Logic/workflows/{workflowName}/triggers/"); + Endpoints[1800] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Logic/workflows/{workflowName}/validate"); + Endpoints[1801] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Logic/workflows/{workflowName}/versions"); + Endpoints[1802] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.MachineLearning/commitmentPlans/{commitmentPlanName}/commitmentAssociations"); + Endpoints[1803] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.MachineLearning/commitmentPlans/{commitmentPlanName}/usageHistory"); + Endpoints[1804] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.MachineLearning/webServices/{webServiceName}/CreateRegionalBlob"); + Endpoints[1805] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.MachineLearning/webServices/{webServiceName}/listKeys"); + Endpoints[1806] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.MachineLearning/workspaces/{workspaceName}/listWorkspaceKeys"); + Endpoints[1807] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.MachineLearning/workspaces/{workspaceName}/resyncStorageKeys"); + Endpoints[1808] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.MachineLearningCompute/operationalizationClusters/{clusterName}/checkSystemServicesUpdatesAvailable"); + Endpoints[1809] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.MachineLearningCompute/operationalizationClusters/{clusterName}/checkUpdate"); + Endpoints[1810] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.MachineLearningCompute/operationalizationClusters/{clusterName}/listKeys"); + Endpoints[1811] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.MachineLearningCompute/operationalizationClusters/{clusterName}/updateSystem"); + Endpoints[1812] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.MachineLearningCompute/operationalizationClusters/{clusterName}/updateSystemServices"); + Endpoints[1813] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.MachineLearningExperimentation/accounts/{accountName}/workspaces"); + Endpoints[1814] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.MachineLearningServices/workspaces/{workspaceName}/listKeys"); + Endpoints[1815] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.MachineLearningServices/workspaces/{workspaceName}/resyncKeys"); + Endpoints[1816] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Maps/accounts/{accountName}/listKeys"); + Endpoints[1817] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Maps/accounts/{accountName}/regenerateKey"); + Endpoints[1818] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Media/mediaServices/{accountName}/assets"); + Endpoints[1819] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Media/mediaServices/{accountName}/contentKeyPolicies"); + Endpoints[1820] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Media/mediaservices/{accountName}/liveEvents"); + Endpoints[1821] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Media/mediaservices/{accountName}/streamingEndpoints"); + Endpoints[1822] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Media/mediaServices/{accountName}/streamingLocators"); + Endpoints[1823] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Media/mediaServices/{accountName}/streamingPolicies"); + Endpoints[1824] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Media/mediaServices/{accountName}/transforms"); + Endpoints[1825] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Media/mediaservices/{mediaServiceName}/listKeys"); + Endpoints[1826] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Media/mediaservices/{mediaServiceName}/regenerateKey"); + Endpoints[1827] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Media/mediaservices/{mediaServiceName}/syncStorageKeys"); + Endpoints[1828] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Migrate/projects/{projectName}/assessments"); + Endpoints[1829] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Migrate/projects/{projectName}/groups"); + Endpoints[1830] = CreateEndpoint("/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.Migrate/projects/{projectName}/keys"); + Endpoints[1831] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Migrate/projects/{projectName}/machines"); + Endpoints[1832] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/applicationGateways/{applicationGatewayName}/backendhealth"); + Endpoints[1833] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/applicationGateways/{applicationGatewayName}/start"); + Endpoints[1834] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/applicationGateways/{applicationGatewayName}/stop"); + Endpoints[1835] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/connections/{virtualNetworkGatewayConnectionName}/sharedkey"); + Endpoints[1836] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/connections/{virtualNetworkGatewayConnectionName}/vpndeviceconfigurationscript"); + Endpoints[1837] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/dnsZones/{zoneName}/all"); + Endpoints[1838] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/dnsZones/{zoneName}/recordsets"); + Endpoints[1839] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/expressRouteCircuits/{circuitName}/arpTable"); + Endpoints[1840] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/expressRouteCircuits/{circuitName}/authorizations"); + Endpoints[1841] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/expressRouteCircuits/{circuitName}/peerings"); + Endpoints[1842] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/expressRouteCircuits/{circuitName}/routesTable"); + Endpoints[1843] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/expressRouteCircuits/{circuitName}/stats"); + Endpoints[1844] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/expressRouteCrossConnections/{crossConnectionName}/peerings"); + Endpoints[1845] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/loadBalancers/{loadBalancerName}/backendAddressPools"); + Endpoints[1846] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/loadBalancers/{loadBalancerName}/frontendIPConfigurations"); + Endpoints[1847] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/loadBalancers/{loadBalancerName}/inboundNatRules"); + Endpoints[1848] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/loadBalancers/{loadBalancerName}/loadBalancingRules"); + Endpoints[1849] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/loadBalancers/{loadBalancerName}/networkInterfaces"); + Endpoints[1850] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/loadBalancers/{loadBalancerName}/probes"); + Endpoints[1851] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkInterfaces/{networkInterfaceName}/effectiveNetworkSecurityGroups"); + Endpoints[1852] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkInterfaces/{networkInterfaceName}/effectiveRouteTable"); + Endpoints[1853] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkInterfaces/{networkInterfaceName}/ipConfigurations"); + Endpoints[1854] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkInterfaces/{networkInterfaceName}/loadBalancers"); + Endpoints[1855] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkSecurityGroups/{networkSecurityGroupName}/defaultSecurityRules"); + Endpoints[1856] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkSecurityGroups/{networkSecurityGroupName}/securityRules"); + Endpoints[1857] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkWatchers/{networkWatcherName}/availableProvidersList"); + Endpoints[1858] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkWatchers/{networkWatcherName}/azureReachabilityReport"); + Endpoints[1859] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkWatchers/{networkWatcherName}/configureFlowLog"); + Endpoints[1860] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkWatchers/{networkWatcherName}/connectionMonitors"); + Endpoints[1861] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkWatchers/{networkWatcherName}/connectivityCheck"); + Endpoints[1862] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkWatchers/{networkWatcherName}/ipFlowVerify"); + Endpoints[1863] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkWatchers/{networkWatcherName}/nextHop"); + Endpoints[1864] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkWatchers/{networkWatcherName}/packetCaptures"); + Endpoints[1865] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkWatchers/{networkWatcherName}/queryFlowLogStatus"); + Endpoints[1866] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkWatchers/{networkWatcherName}/queryTroubleshootResult"); + Endpoints[1867] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkWatchers/{networkWatcherName}/securityGroupView"); + Endpoints[1868] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkWatchers/{networkWatcherName}/topology"); + Endpoints[1869] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkWatchers/{networkWatcherName}/troubleshoot"); + Endpoints[1870] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/routeFilters/{routeFilterName}/routeFilterRules"); + Endpoints[1871] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/routeTables/{routeTableName}/routes"); + Endpoints[1872] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworkGateways/{virtualNetworkGatewayName}/connections"); + Endpoints[1873] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworkGateways/{virtualNetworkGatewayName}/generatevpnclientpackage"); + Endpoints[1874] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworkGateways/{virtualNetworkGatewayName}/generatevpnprofile"); + Endpoints[1875] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworkGateways/{virtualNetworkGatewayName}/getAdvertisedRoutes"); + Endpoints[1876] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworkGateways/{virtualNetworkGatewayName}/getBgpPeerStatus"); + Endpoints[1877] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworkGateways/{virtualNetworkGatewayName}/getLearnedRoutes"); + Endpoints[1878] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworkGateways/{virtualNetworkGatewayName}/getvpnclientipsecparameters"); + Endpoints[1879] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworkGateways/{virtualNetworkGatewayName}/getvpnprofilepackageurl"); + Endpoints[1880] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworkGateways/{virtualNetworkGatewayName}/reset"); + Endpoints[1881] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworkGateways/{virtualNetworkGatewayName}/setvpnclientipsecparameters"); + Endpoints[1882] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworkGateways/{virtualNetworkGatewayName}/supportedvpndevices"); + Endpoints[1883] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworks/{virtualNetworkName}/CheckIPAddressAvailability"); + Endpoints[1884] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworks/{virtualNetworkName}/subnets"); + Endpoints[1885] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworks/{virtualNetworkName}/usages"); + Endpoints[1886] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworks/{virtualNetworkName}/virtualNetworkPeerings"); + Endpoints[1887] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.NotificationHubs/namespaces/{namespaceName}/AuthorizationRules"); + Endpoints[1888] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.NotificationHubs/namespaces/{namespaceName}/checkNotificationHubAvailability"); + Endpoints[1889] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.NotificationHubs/namespaces/{namespaceName}/notificationHubs"); + Endpoints[1890] = CreateEndpoint("/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.OperationalInsights/workspaces/{workspaceName}/dataSources"); + Endpoints[1891] = CreateEndpoint("/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.OperationalInsights/workspaces/{workspaceName}/intelligencePacks"); + Endpoints[1892] = CreateEndpoint("/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.OperationalInsights/workspaces/{workspaceName}/linkedServices"); + Endpoints[1893] = CreateEndpoint("/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.OperationalInsights/workspaces/{workspaceName}/managementGroups"); + Endpoints[1894] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.OperationalInsights/workspaces/{workspaceName}/purge"); + Endpoints[1895] = CreateEndpoint("/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.OperationalInsights/workspaces/{workspaceName}/savedSearches"); + Endpoints[1896] = CreateEndpoint("/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.OperationalInsights/workspaces/{workspaceName}/schema"); + Endpoints[1897] = CreateEndpoint("/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.OperationalInsights/workspaces/{workspaceName}/search"); + Endpoints[1898] = CreateEndpoint("/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.OperationalInsights/workspaces/{workspaceName}/sharedKeys"); + Endpoints[1899] = CreateEndpoint("/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.OperationalInsights/workspaces/{workspaceName}/storageInsightConfigs"); + Endpoints[1900] = CreateEndpoint("/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.OperationalInsights/workspaces/{workspaceName}/usages"); + Endpoints[1901] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.PolicyInsights/policyEvents/{policyEventsResource}/queryResults"); + Endpoints[1902] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.PolicyInsights/policyStates/{policyStatesResource}/queryResults"); + Endpoints[1903] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.PolicyInsights/policyStates/{policyStatesSummaryResource}/summarize"); + Endpoints[1904] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.PowerBI/workspaceCollections/{workspaceCollectionName}/listKeys"); + Endpoints[1905] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.PowerBI/workspaceCollections/{workspaceCollectionName}/regenerateKey"); + Endpoints[1906] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.PowerBI/workspaceCollections/{workspaceCollectionName}/workspaces"); + Endpoints[1907] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.PowerBIDedicated/capacities/{dedicatedCapacityName}/resume"); + Endpoints[1908] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.PowerBIDedicated/capacities/{dedicatedCapacityName}/skus"); + Endpoints[1909] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.PowerBIDedicated/capacities/{dedicatedCapacityName}/suspend"); + Endpoints[1910] = CreateEndpoint("/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationAlertSettings"); + Endpoints[1911] = CreateEndpoint("/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationEvents"); + Endpoints[1912] = CreateEndpoint("/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationFabrics"); + Endpoints[1913] = CreateEndpoint("/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationJobs"); + Endpoints[1914] = CreateEndpoint("/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationNetworkMappings"); + Endpoints[1915] = CreateEndpoint("/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationNetworks"); + Endpoints[1916] = CreateEndpoint("/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationPolicies"); + Endpoints[1917] = CreateEndpoint("/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationProtectedItems"); + Endpoints[1918] = CreateEndpoint("/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationProtectionContainerMappings"); + Endpoints[1919] = CreateEndpoint("/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationProtectionContainers"); + Endpoints[1920] = CreateEndpoint("/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationRecoveryPlans"); + Endpoints[1921] = CreateEndpoint("/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationRecoveryServicesProviders"); + Endpoints[1922] = CreateEndpoint("/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationStorageClassificationMappings"); + Endpoints[1923] = CreateEndpoint("/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationStorageClassifications"); + Endpoints[1924] = CreateEndpoint("/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationVaultHealth"); + Endpoints[1925] = CreateEndpoint("/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationvCenters"); + Endpoints[1926] = CreateEndpoint("/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupEngines"); + Endpoints[1927] = CreateEndpoint("/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupJobs"); + Endpoints[1928] = CreateEndpoint("/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupJobsExport"); + Endpoints[1929] = CreateEndpoint("/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupPolicies"); + Endpoints[1930] = CreateEndpoint("/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupProtectableItems"); + Endpoints[1931] = CreateEndpoint("/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupProtectedItems"); + Endpoints[1932] = CreateEndpoint("/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupProtectionContainers"); + Endpoints[1933] = CreateEndpoint("/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupSecurityPIN"); + Endpoints[1934] = CreateEndpoint("/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupUsageSummaries"); + Endpoints[1935] = CreateEndpoint("/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/replicationUsages"); + Endpoints[1936] = CreateEndpoint("/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/usages"); + Endpoints[1937] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Relay/namespaces/{namespaceName}/authorizationRules"); + Endpoints[1938] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Relay/namespaces/{namespaceName}/hybridConnections"); + Endpoints[1939] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Relay/namespaces/{namespaceName}/wcfRelays"); + Endpoints[1940] = CreateEndpoint("/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.Resources/deployments/{deploymentName}/cancel"); + Endpoints[1941] = CreateEndpoint("/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.Resources/deployments/{deploymentName}/exportTemplate"); + Endpoints[1942] = CreateEndpoint("/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.Resources/deployments/{deploymentName}/validate"); + Endpoints[1943] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Scheduler/jobCollections/{jobCollectionName}/disable"); + Endpoints[1944] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Scheduler/jobCollections/{jobCollectionName}/enable"); + Endpoints[1945] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Scheduler/jobCollections/{jobCollectionName}/jobs"); + Endpoints[1946] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Search/searchServices/{searchServiceName}/listAdminKeys"); + Endpoints[1947] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Search/searchServices/{searchServiceName}/listQueryKeys"); + Endpoints[1948] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Security/locations/{ascLocation}/alerts"); + Endpoints[1949] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Security/locations/{ascLocation}/jitNetworkAccessPolicies"); + Endpoints[1950] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Security/locations/{ascLocation}/tasks"); + Endpoints[1951] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ServerManagement/gateways/{gatewayName}/profile"); + Endpoints[1952] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ServerManagement/gateways/{gatewayName}/regenerateprofile"); + Endpoints[1953] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ServerManagement/gateways/{gatewayName}/upgradetolatest"); + Endpoints[1954] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ServiceBus/namespaces/{namespaceName}/AuthorizationRules"); + Endpoints[1955] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ServiceBus/namespaces/{namespaceName}/disasterRecoveryConfigs"); + Endpoints[1956] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ServiceBus/namespaces/{namespaceName}/eventhubs"); + Endpoints[1957] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ServiceBus/namespaces/{namespaceName}/messagingplan"); + Endpoints[1958] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ServiceBus/namespaces/{namespaceName}/migrationConfigurations"); + Endpoints[1959] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ServiceBus/namespaces/{namespaceName}/queues"); + Endpoints[1960] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ServiceBus/namespaces/{namespaceName}/topics"); + Endpoints[1961] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ServiceFabric/clusters/{clusterName}/applications"); + Endpoints[1962] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ServiceFabric/clusters/{clusterName}/applicationTypes"); + Endpoints[1963] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.SignalRService/SignalR/{resourceName}/listKeys"); + Endpoints[1964] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.SignalRService/SignalR/{resourceName}/regenerateKey"); + Endpoints[1965] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/locations/{locationName}/instanceFailoverGroups"); + Endpoints[1966] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/managedInstances/{managedInstanceName}/databases"); + Endpoints[1967] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/administrators"); + Endpoints[1968] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/advisors"); + Endpoints[1969] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/auditingPolicies"); + Endpoints[1970] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/backupLongTermRetentionVaults"); + Endpoints[1971] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/communicationLinks"); + Endpoints[1972] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/databases"); + Endpoints[1973] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/disasterRecoveryConfiguration"); + Endpoints[1974] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/dnsAliases"); + Endpoints[1975] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/elasticPools"); + Endpoints[1976] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/encryptionProtector"); + Endpoints[1977] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/failoverGroups"); + Endpoints[1978] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/firewallRules"); + Endpoints[1979] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/import"); + Endpoints[1980] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/jobAgents"); + Endpoints[1981] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/keys"); + Endpoints[1982] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/recommendedElasticPools"); + Endpoints[1983] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/recoverableDatabases"); + Endpoints[1984] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/restorableDroppedDatabases"); + Endpoints[1985] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/serviceObjectives"); + Endpoints[1986] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/syncAgents"); + Endpoints[1987] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/usages"); + Endpoints[1988] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/virtualNetworkRules"); + Endpoints[1989] = CreateEndpoint("/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.Storage.Admin/farms/{farmId}/acquisitions"); + Endpoints[1990] = CreateEndpoint("/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.Storage.Admin/farms/{farmId}/metricdefinitions"); + Endpoints[1991] = CreateEndpoint("/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.Storage.Admin/farms/{farmId}/metrics"); + Endpoints[1992] = CreateEndpoint("/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.Storage.Admin/farms/{farmId}/ondemandgc"); + Endpoints[1993] = CreateEndpoint("/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.Storage.Admin/farms/{farmId}/shares"); + Endpoints[1994] = CreateEndpoint("/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.Storage.Admin/farms/{farmId}/storageaccounts"); + Endpoints[1995] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Storage/storageAccounts/{accountName}/ListAccountSas"); + Endpoints[1996] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Storage/storageAccounts/{accountName}/listKeys"); + Endpoints[1997] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Storage/storageAccounts/{accountName}/ListServiceSas"); + Endpoints[1998] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Storage/storageAccounts/{accountName}/regenerateKey"); + Endpoints[1999] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.StorSimple/managers/{managerName}/accessControlRecords"); + Endpoints[2000] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.StorSimple/managers/{managerName}/alerts"); + Endpoints[2001] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.StorSimple/managers/{managerName}/bandwidthSettings"); + Endpoints[2002] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.StorSimple/managers/{managerName}/clearAlerts"); + Endpoints[2003] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.StorSimple/managers/{managerName}/cloudApplianceConfigurations"); + Endpoints[2004] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.StorSimple/managers/{managerName}/configureDevice"); + Endpoints[2005] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.StorSimple/managers/{managerName}/devices"); + Endpoints[2006] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.StorSimple/managers/{managerName}/features"); + Endpoints[2007] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.StorSimple/managers/{managerName}/jobs"); + Endpoints[2008] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.StorSimple/managers/{managerName}/listActivationKey"); + Endpoints[2009] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.StorSimple/managers/{managerName}/listPublicEncryptionKey"); + Endpoints[2010] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.StorSimple/managers/{managerName}/metrics"); + Endpoints[2011] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.StorSimple/managers/{managerName}/metricsDefinitions"); + Endpoints[2012] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.StorSimple/managers/{managerName}/provisionCloudAppliance"); + Endpoints[2013] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.StorSimple/managers/{managerName}/regenerateActivationKey"); + Endpoints[2014] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.StorSimple/managers/{managerName}/storageAccountCredentials"); + Endpoints[2015] = CreateEndpoint("/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.StreamAnalytics/streamingjobs/{jobName}/functions"); + Endpoints[2016] = CreateEndpoint("/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.StreamAnalytics/streamingjobs/{jobName}/inputs"); + Endpoints[2017] = CreateEndpoint("/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.StreamAnalytics/streamingjobs/{jobName}/outputs"); + Endpoints[2018] = CreateEndpoint("/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.StreamAnalytics/streamingjobs/{jobName}/start"); + Endpoints[2019] = CreateEndpoint("/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.StreamAnalytics/streamingjobs/{jobName}/stop"); + Endpoints[2020] = CreateEndpoint("/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.Subscriptions.Admin/offers/{offer}/link"); + Endpoints[2021] = CreateEndpoint("/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.Subscriptions.Admin/offers/{offer}/MetricDefinitions"); + Endpoints[2022] = CreateEndpoint("/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.Subscriptions.Admin/offers/{offer}/Metrics"); + Endpoints[2023] = CreateEndpoint("/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.Subscriptions.Admin/offers/{offer}/offerDelegations"); + Endpoints[2024] = CreateEndpoint("/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.Subscriptions.Admin/offers/{offer}/unlink"); + Endpoints[2025] = CreateEndpoint("/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.Subscriptions.Admin/plans/{plan}/MetricDefinitions"); + Endpoints[2026] = CreateEndpoint("/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.Subscriptions.Admin/plans/{plan}/Metrics"); + Endpoints[2027] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.TimeSeriesInsights/environments/{environmentName}/accessPolicies"); + Endpoints[2028] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.TimeSeriesInsights/environments/{environmentName}/eventSources"); + Endpoints[2029] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.TimeSeriesInsights/environments/{environmentName}/referenceDataSets"); + Endpoints[2030] = CreateEndpoint("/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.Update.Admin/updateLocations/{updateLocation}/updates"); + Endpoints[2031] = CreateEndpoint("/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/microsoft.visualstudio/account/{accountResourceName}/extension"); + Endpoints[2032] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/microsoft.visualstudio/account/{rootResourceName}/project"); + Endpoints[2033] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web.Admin/environments/{environmentName}/usage"); + Endpoints[2034] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/connections/{connectionName}/confirmConsentCode"); + Endpoints[2035] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/connections/{connectionName}/listConnectionKeys"); + Endpoints[2036] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/connections/{connectionName}/listConsentLinks"); + Endpoints[2037] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/customApis/{apiName}/move"); + Endpoints[2038] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/hostingEnvironments/{name}/changeVirtualNetwork"); + Endpoints[2039] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/hostingEnvironments/{name}/detectors"); + Endpoints[2040] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/hostingEnvironments/{name}/diagnostics"); + Endpoints[2041] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/hostingEnvironments/{name}/metricdefinitions"); + Endpoints[2042] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/hostingEnvironments/{name}/metrics"); + Endpoints[2043] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/hostingEnvironments/{name}/multiRolePools"); + Endpoints[2044] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/hostingEnvironments/{name}/operations"); + Endpoints[2045] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/hostingEnvironments/{name}/reboot"); + Endpoints[2046] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/hostingEnvironments/{name}/resume"); + Endpoints[2047] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/hostingEnvironments/{name}/serverfarms"); + Endpoints[2048] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/hostingEnvironments/{name}/sites"); + Endpoints[2049] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/hostingEnvironments/{name}/suspend"); + Endpoints[2050] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/hostingEnvironments/{name}/syncVirtualNetwork"); + Endpoints[2051] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/hostingEnvironments/{name}/usages"); + Endpoints[2052] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/hostingEnvironments/{name}/webhostingplans"); + Endpoints[2053] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/hostingEnvironments/{name}/workerPools"); + Endpoints[2054] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/managedHostingEnvironments/{name}/serverfarms"); + Endpoints[2055] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/managedHostingEnvironments/{name}/sites"); + Endpoints[2056] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/managedHostingEnvironments/{name}/webhostingplans"); + Endpoints[2057] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/serverfarms/{name}/capabilities"); + Endpoints[2058] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/serverfarms/{name}/hybridConnectionRelays"); + Endpoints[2059] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/serverfarms/{name}/metricdefinitions"); + Endpoints[2060] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/serverfarms/{name}/metrics"); + Endpoints[2061] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/serverfarms/{name}/restartSites"); + Endpoints[2062] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/serverfarms/{name}/sites"); + Endpoints[2063] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/serverfarms/{name}/skus"); + Endpoints[2064] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/serverfarms/{name}/usages"); + Endpoints[2065] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/serverfarms/{name}/virtualNetworkConnections"); + Endpoints[2066] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/analyzeCustomHostname"); + Endpoints[2067] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/applySlotConfig"); + Endpoints[2068] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/backup"); + Endpoints[2069] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/backups"); + Endpoints[2070] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/config"); + Endpoints[2071] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/containerlogs"); + Endpoints[2072] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/continuouswebjobs"); + Endpoints[2073] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/deployments"); + Endpoints[2074] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/domainOwnershipIdentifiers"); + Endpoints[2075] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/functions"); + Endpoints[2076] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/hostNameBindings"); + Endpoints[2077] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/hybridconnection"); + Endpoints[2078] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/hybridConnectionRelays"); + Endpoints[2079] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/instances"); + Endpoints[2080] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/iscloneable"); + Endpoints[2081] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/listsyncfunctiontriggerstatus"); + Endpoints[2082] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/metricdefinitions"); + Endpoints[2083] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/metrics"); + Endpoints[2084] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/migrate"); + Endpoints[2085] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/migratemysql"); + Endpoints[2086] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/newpassword"); + Endpoints[2087] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/perfcounters"); + Endpoints[2088] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/phplogging"); + Endpoints[2089] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/premieraddons"); + Endpoints[2090] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/processes"); + Endpoints[2091] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/publicCertificates"); + Endpoints[2092] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/publishxml"); + Endpoints[2093] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/recover"); + Endpoints[2094] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/resetSlotConfig"); + Endpoints[2095] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/resourceHealthMetadata"); + Endpoints[2096] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/restart"); + Endpoints[2097] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/restoreFromBackupBlob"); + Endpoints[2098] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/restoreFromDeletedApp"); + Endpoints[2099] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/restoreSnapshot"); + Endpoints[2100] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/siteextensions"); + Endpoints[2101] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots"); + Endpoints[2102] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slotsdiffs"); + Endpoints[2103] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slotsswap"); + Endpoints[2104] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/snapshots"); + Endpoints[2105] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/start"); + Endpoints[2106] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/stop"); + Endpoints[2107] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/sync"); + Endpoints[2108] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/syncfunctiontriggers"); + Endpoints[2109] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/triggeredwebjobs"); + Endpoints[2110] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/usages"); + Endpoints[2111] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/virtualNetworkConnections"); + Endpoints[2112] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/webjobs"); + Endpoints[2113] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{siteName}/detectors"); + Endpoints[2114] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{siteName}/diagnostics"); + Endpoints[2115] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{siteName}/recommendationHistory"); + Endpoints[2116] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{siteName}/recommendations"); + Endpoints[2117] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/portalsettings/delegation"); + Endpoints[2118] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/portalsettings/signin"); + Endpoints[2119] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/portalsettings/signup"); + Endpoints[2120] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/reports/byApi"); + Endpoints[2121] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/reports/byGeo"); + Endpoints[2122] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/reports/byOperation"); + Endpoints[2123] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/reports/byProduct"); + Endpoints[2124] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/reports/byRequest"); + Endpoints[2125] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/reports/bySubscription"); + Endpoints[2126] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/reports/byTime"); + Endpoints[2127] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/reports/byUser"); + Endpoints[2128] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/tenant/access"); + Endpoints[2129] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/tenant/policy"); + Endpoints[2130] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Automation/automationAccounts/{automationAccountName}/agentRegistrationInformation/regenerateKey"); + Endpoints[2131] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Automation/automationAccounts/{automationAccountName}/webhooks/generateUri"); + Endpoints[2132] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Cache/Redis/{name}/patchSchedules/default"); + Endpoints[2133] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/virtualMachineScaleSets/{vmScaleSetName}/rollingUpgrades/cancel"); + Endpoints[2134] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/virtualMachineScaleSets/{vmScaleSetName}/rollingUpgrades/latest"); + Endpoints[2135] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}/upgradeProfiles/default"); + Endpoints[2136] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.CustomerInsights/hubs/{hubName}/images/getDataImageUploadUrl"); + Endpoints[2137] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.CustomerInsights/hubs/{hubName}/images/getEntityTypeImageUploadUrl"); + Endpoints[2138] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/percentile/metrics"); + Endpoints[2139] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.EventHub/clusters/{clusterName}/quotaConfiguration/default"); + Endpoints[2140] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.EventHub/namespaces/{namespaceName}/disasterRecoveryConfigs/CheckNameAvailability"); + Endpoints[2141] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.HDInsight/clusters/{clusterName}/extensions/clustermonitoring"); + Endpoints[2142] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/microsoft.insights/components/{resourceName}/pricingPlans/current"); + Endpoints[2143] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/connections/{virtualNetworkGatewayConnectionName}/sharedkey/reset"); + Endpoints[2144] = CreateEndpoint("/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationJobs/export"); + Endpoints[2145] = CreateEndpoint("/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupconfig/vaultconfig"); + Endpoints[2146] = CreateEndpoint("/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupstorageconfig/vaultstorageconfig"); + Endpoints[2147] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/extendedInformation/vaultExtendedInfo"); + Endpoints[2148] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ServiceBus/namespaces/{namespaceName}/disasterRecoveryConfigs/CheckNameAvailability"); + Endpoints[2149] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/automaticTuning/current"); + Endpoints[2150] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.StorSimple/managers/{managerName}/encryptionSettings/default"); + Endpoints[2151] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.StorSimple/managers/{managerName}/extendedInformation/vaultExtendedInfo"); + Endpoints[2152] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/hostingEnvironments/{name}/capacities/compute"); + Endpoints[2153] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/hostingEnvironments/{name}/capacities/virtualip"); + Endpoints[2154] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/hostingEnvironments/{name}/multiRolePools/default"); + Endpoints[2155] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/managedHostingEnvironments/{name}/capacities/virtualip"); + Endpoints[2156] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/serverfarms/{name}/hybridConnectionPlanLimits/limit"); + Endpoints[2157] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/backups/discover"); + Endpoints[2158] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/config/appsettings"); + Endpoints[2159] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/config/authsettings"); + Endpoints[2160] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/config/backup"); + Endpoints[2161] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/config/connectionstrings"); + Endpoints[2162] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/config/logs"); + Endpoints[2163] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/config/metadata"); + Endpoints[2164] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/config/pushsettings"); + Endpoints[2165] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/config/slotConfigNames"); + Endpoints[2166] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/config/web"); + Endpoints[2167] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/extensions/MSDeploy"); + Endpoints[2168] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/migratemysql/status"); + Endpoints[2169] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/networkTrace/start"); + Endpoints[2170] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/networkTrace/stop"); + Endpoints[2171] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/privateAccess/virtualNetworks"); + Endpoints[2172] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/resourceHealthMetadata/default"); + Endpoints[2173] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/sourcecontrols/web"); + Endpoints[2174] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{siteName}/recommendations/disable"); + Endpoints[2175] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{siteName}/recommendations/reset"); + Endpoints[2176] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/tenant/access/git"); + Endpoints[2177] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/tenant/access/regeneratePrimaryKey"); + Endpoints[2178] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/tenant/access/regenerateSecondaryKey"); + Endpoints[2179] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/tenant/configuration/deploy"); + Endpoints[2180] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/tenant/configuration/save"); + Endpoints[2181] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/tenant/configuration/syncState"); + Endpoints[2182] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/tenant/configuration/validate"); + Endpoints[2183] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Devices/IotHubs/{iotHubName}/routing/routes/$testall"); + Endpoints[2184] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Devices/IotHubs/{iotHubName}/routing/routes/$testnew"); + Endpoints[2185] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.OperationalInsights/workspaces/{workspaceName}/features/serviceMap/generateMap"); + Endpoints[2186] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.OperationalInsights/workspaces/{workspaceName}/features/serviceMap/machineGroups"); + Endpoints[2187] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.OperationalInsights/workspaces/{workspaceName}/features/serviceMap/machines"); + Endpoints[2188] = CreateEndpoint("/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationVaultHealth/default/refresh"); + Endpoints[2189] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Storage/storageAccounts/{accountName}/blobServices/default/containers"); + Endpoints[2190] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/hostingEnvironments/{name}/multiRolePools/default/metricdefinitions"); + Endpoints[2191] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/hostingEnvironments/{name}/multiRolePools/default/metrics"); + Endpoints[2192] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/hostingEnvironments/{name}/multiRolePools/default/skus"); + Endpoints[2193] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/hostingEnvironments/{name}/multiRolePools/default/usages"); + Endpoints[2194] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/config/appsettings/list"); + Endpoints[2195] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/config/authsettings/list"); + Endpoints[2196] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/config/backup/list"); + Endpoints[2197] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/config/connectionstrings/list"); + Endpoints[2198] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/config/metadata/list"); + Endpoints[2199] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/config/publishingcredentials/list"); + Endpoints[2200] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/config/pushsettings/list"); + Endpoints[2201] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/config/web/snapshots"); + Endpoints[2202] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/containerlogs/zip/download"); + Endpoints[2203] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/extensions/MSDeploy/log"); + Endpoints[2204] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/functions/admin/token"); + Endpoints[2205] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/tenant/access/git/regeneratePrimaryKey"); + Endpoints[2206] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/tenant/access/git/regenerateSecondaryKey"); + Endpoints[2207] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.OperationalInsights/workspaces/{workspaceName}/features/serviceMap/summaries/machines"); + Endpoints[2208] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.OperationalInsights/workspaces/{workspaceName}/features/serviceMap/clientGroups/{clientGroupName}"); + Endpoints[2209] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.OperationalInsights/workspaces/{workspaceName}/features/serviceMap/machineGroups/{machineGroupName}"); + Endpoints[2210] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.OperationalInsights/workspaces/{workspaceName}/features/serviceMap/machines/{machineName}"); + Endpoints[2211] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Storage/storageAccounts/{accountName}/blobServices/default/containers/{containerName}"); + Endpoints[2212] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/config/web/snapshots/{snapshotId}"); + Endpoints[2213] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.OperationalInsights/workspaces/{workspaceName}/features/serviceMap/clientGroups/{clientGroupName}/members"); + Endpoints[2214] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.OperationalInsights/workspaces/{workspaceName}/features/serviceMap/clientGroups/{clientGroupName}/membersCount"); + Endpoints[2215] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.OperationalInsights/workspaces/{workspaceName}/features/serviceMap/machines/{machineName}/connections"); + Endpoints[2216] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.OperationalInsights/workspaces/{workspaceName}/features/serviceMap/machines/{machineName}/liveness"); + Endpoints[2217] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.OperationalInsights/workspaces/{workspaceName}/features/serviceMap/machines/{machineName}/machineGroups"); + Endpoints[2218] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.OperationalInsights/workspaces/{workspaceName}/features/serviceMap/machines/{machineName}/ports"); + Endpoints[2219] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.OperationalInsights/workspaces/{workspaceName}/features/serviceMap/machines/{machineName}/processes"); + Endpoints[2220] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Storage/storageAccounts/{accountName}/blobServices/default/containers/{containerName}/clearLegalHold"); + Endpoints[2221] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Storage/storageAccounts/{accountName}/blobServices/default/containers/{containerName}/setLegalHold"); + Endpoints[2222] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/hostingEnvironments/{name}/multiRolePools/default/instances/{instance}/metricdefinitions"); + Endpoints[2223] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/hostingEnvironments/{name}/multiRolePools/default/instances/{instance}/metrics"); + Endpoints[2224] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/config/web/snapshots/{snapshotId}/recover"); + Endpoints[2225] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Storage/storageAccounts/{accountName}/blobServices/default/containers/{containerName}/immutabilityPolicies/default/extend"); + Endpoints[2226] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Storage/storageAccounts/{accountName}/blobServices/default/containers/{containerName}/immutabilityPolicies/default/lock"); + Endpoints[2227] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.OperationalInsights/workspaces/{workspaceName}/features/serviceMap/machines/{machineName}/ports/{portName}"); + Endpoints[2228] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.OperationalInsights/workspaces/{workspaceName}/features/serviceMap/machines/{machineName}/processes/{processName}"); + Endpoints[2229] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Storage/storageAccounts/{accountName}/blobServices/default/containers/{containerName}/immutabilityPolicies/{immutabilityPolicyName}"); + Endpoints[2230] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.OperationalInsights/workspaces/{workspaceName}/features/serviceMap/machines/{machineName}/ports/{portName}/acceptingProcesses"); + Endpoints[2231] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.OperationalInsights/workspaces/{workspaceName}/features/serviceMap/machines/{machineName}/ports/{portName}/connections"); + Endpoints[2232] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.OperationalInsights/workspaces/{workspaceName}/features/serviceMap/machines/{machineName}/ports/{portName}/liveness"); + Endpoints[2233] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.OperationalInsights/workspaces/{workspaceName}/features/serviceMap/machines/{machineName}/processes/{processName}/acceptingPorts"); + Endpoints[2234] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.OperationalInsights/workspaces/{workspaceName}/features/serviceMap/machines/{machineName}/processes/{processName}/connections"); + Endpoints[2235] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.OperationalInsights/workspaces/{workspaceName}/features/serviceMap/machines/{machineName}/processes/{processName}/liveness"); + Endpoints[2236] = CreateEndpoint("/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupJobs/operationResults/{operationId}"); + Endpoints[2237] = CreateEndpoint("/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.Storage.Admin/farms/{farmId}/shares/operationresults/{operationId}"); + Endpoints[2238] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroup/{resourceGroupName}/providers/Microsoft.MachineLearningServices/workspaces/{workspaceName}/computes/{computeName}"); + Endpoints[2239] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{groupName}/providers/Microsoft.DataMigration/services/{serviceName}/projects/{projectName}"); + Endpoints[2240] = CreateEndpoint("/subscriptions/{subscriptionId}/resourcegroups/{resourceGroup}/providers/Microsoft.AzureBridge.Admin/activations/{activationName}/downloadedProducts/{productName}"); + Endpoints[2241] = CreateEndpoint("/subscriptions/{subscriptionId}/resourcegroups/{resourceGroup}/providers/Microsoft.AzureBridge.Admin/activations/{activationName}/products/{productName}"); + Endpoints[2242] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroup}/providers/Microsoft.AzureStack/registrations/{registrationName}/customerSubscriptions/{customerSubscriptionName}"); + Endpoints[2243] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroup}/providers/Microsoft.AzureStack/registrations/{registrationName}/products/{productName}"); + Endpoints[2244] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/apis/{apiId}"); + Endpoints[2245] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/api-version-sets/{versionSetId}"); + Endpoints[2246] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/authorizationServers/{authsid}"); + Endpoints[2247] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/backends/{backendid}"); + Endpoints[2248] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/certificates/{certificateId}"); + Endpoints[2249] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/diagnostics/{diagnosticId}"); + Endpoints[2250] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/groups/{groupId}"); + Endpoints[2251] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/identityProviders/{identityProviderName}"); + Endpoints[2252] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/loggers/{loggerid}"); + Endpoints[2253] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/notifications/{notificationName}"); + Endpoints[2254] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/openidConnectProviders/{opid}"); + Endpoints[2255] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/policies/{policyId}"); + Endpoints[2256] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/products/{productId}"); + Endpoints[2257] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/properties/{propId}"); + Endpoints[2258] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/quotas/{quotaCounterKey}"); + Endpoints[2259] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/reports/{aggregation}"); + Endpoints[2260] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/subscriptions/{sid}"); + Endpoints[2261] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/tags/{tagId}"); + Endpoints[2262] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/templates/{templateName}"); + Endpoints[2263] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/tenant/{accessName}"); + Endpoints[2264] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/users/{uid}"); + Endpoints[2265] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Automation/automationAccounts/{automationAccountName}/certificates/{certificateName}"); + Endpoints[2266] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Automation/automationAccounts/{automationAccountName}/compilationjobs/{compilationJobName}"); + Endpoints[2267] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Automation/automationAccounts/{automationAccountName}/configurations/{configurationName}"); + Endpoints[2268] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Automation/automationAccounts/{automationAccountName}/connections/{connectionName}"); + Endpoints[2269] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Automation/automationAccounts/{automationAccountName}/connectionTypes/{connectionTypeName}"); + Endpoints[2270] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Automation/automationAccounts/{automationAccountName}/credentials/{credentialName}"); + Endpoints[2271] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Automation/automationAccounts/{automationAccountName}/hybridRunbookWorkerGroups/{hybridRunbookWorkerGroupName}"); + Endpoints[2272] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Automation/automationAccounts/{automationAccountName}/jobs/{jobId}"); + Endpoints[2273] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Automation/automationAccounts/{automationAccountName}/jobSchedules/{jobScheduleId}"); + Endpoints[2274] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Automation/automationAccounts/{automationAccountName}/modules/{moduleName}"); + Endpoints[2275] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Automation/automationAccounts/{automationAccountName}/nodeConfigurations/{nodeConfigurationName}"); + Endpoints[2276] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Automation/automationAccounts/{automationAccountName}/nodecounts/{countType}"); + Endpoints[2277] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Automation/automationAccounts/{automationAccountName}/nodes/{nodeId}"); + Endpoints[2278] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Automation/automationAccounts/{automationAccountName}/runbooks/{runbookName}"); + Endpoints[2279] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Automation/automationAccounts/{automationAccountName}/schedules/{scheduleName}"); + Endpoints[2280] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Automation/automationAccounts/{automationAccountName}/softwareUpdateConfigurationMachineRuns/{softwareUpdateConfigurationMachineRunId}"); + Endpoints[2281] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Automation/automationAccounts/{automationAccountName}/softwareUpdateConfigurationRuns/{softwareUpdateConfigurationRunId}"); + Endpoints[2282] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Automation/automationAccounts/{automationAccountName}/softwareUpdateConfigurations/{softwareUpdateConfigurationName}"); + Endpoints[2283] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Automation/automationAccounts/{automationAccountName}/sourceControls/{sourceControlName}"); + Endpoints[2284] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Automation/automationAccounts/{automationAccountName}/variables/{variableName}"); + Endpoints[2285] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Automation/automationAccounts/{automationAccountName}/watchers/{watcherName}"); + Endpoints[2286] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Automation/automationAccounts/{automationAccountName}/webhooks/{webhookName}"); + Endpoints[2287] = CreateEndpoint("/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.Backup.Admin/backupLocations/{location}/backups/{backup}"); + Endpoints[2288] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Batch/batchAccounts/{accountName}/applications/{applicationId}"); + Endpoints[2289] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Batch/batchAccounts/{accountName}/certificates/{certificateName}"); + Endpoints[2290] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Batch/batchAccounts/{accountName}/pools/{poolName}"); + Endpoints[2291] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.BatchAI/workspaces/{workspaceName}/clusters/{clusterName}"); + Endpoints[2292] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.BatchAI/workspaces/{workspaceName}/experiments/{experimentName}"); + Endpoints[2293] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.BatchAI/workspaces/{workspaceName}/fileServers/{fileServerName}"); + Endpoints[2294] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.BotService/botServices/{resourceName}/channels/{channelName}"); + Endpoints[2295] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.BotService/botServices/{resourceName}/Connections/{connectionName}"); + Endpoints[2296] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Cache/Redis/{cacheName}/firewallRules/{ruleName}"); + Endpoints[2297] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Cache/Redis/{name}/linkedServers/{linkedServerName}"); + Endpoints[2298] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Cache/Redis/{name}/patchSchedules/{default}"); + Endpoints[2299] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Cdn/profiles/{profileName}/endpoints/{endpointName}"); + Endpoints[2300] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.CertificateRegistration/certificateOrders/{certificateOrderName}/certificates/{name}"); + Endpoints[2301] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/galleries/{galleryName}/images/{galleryImageName}"); + Endpoints[2302] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/virtualMachines/{vmName}/extensions/{vmExtensionName}"); + Endpoints[2303] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/virtualMachineScaleSets/{vmScaleSetName}/extensions/{vmssExtensionName}"); + Endpoints[2304] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/virtualMachineScaleSets/{vmScaleSetName}/virtualmachines/{instanceId}"); + Endpoints[2305] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerRegistry/registries/{registryName}/builds/{buildId}"); + Endpoints[2306] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerRegistry/registries/{registryName}/buildTasks/{buildTaskName}"); + Endpoints[2307] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerRegistry/registries/{registryName}/replications/{replicationName}"); + Endpoints[2308] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerRegistry/registries/{registryName}/webhooks/{webhookName}"); + Endpoints[2309] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}/accessProfiles/{roleName}"); + Endpoints[2310] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.CustomerInsights/hubs/{hubName}/authorizationPolicies/{authorizationPolicyName}"); + Endpoints[2311] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.CustomerInsights/hubs/{hubName}/connectors/{connectorName}"); + Endpoints[2312] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.CustomerInsights/hubs/{hubName}/interactions/{interactionName}"); + Endpoints[2313] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.CustomerInsights/hubs/{hubName}/kpi/{kpiName}"); + Endpoints[2314] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.CustomerInsights/hubs/{hubName}/links/{linkName}"); + Endpoints[2315] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.CustomerInsights/hubs/{hubName}/predictions/{predictionName}"); + Endpoints[2316] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.CustomerInsights/hubs/{hubName}/profiles/{profileName}"); + Endpoints[2317] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.CustomerInsights/hubs/{hubName}/relationshipLinks/{relationshipLinkName}"); + Endpoints[2318] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.CustomerInsights/hubs/{hubName}/relationships/{relationshipName}"); + Endpoints[2319] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.CustomerInsights/hubs/{hubName}/roleAssignments/{assignmentName}"); + Endpoints[2320] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.CustomerInsights/hubs/{hubName}/views/{viewName}"); + Endpoints[2321] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.CustomerInsights/hubs/{hubName}/widgetTypes/{widgetTypeName}"); + Endpoints[2322] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataFactory/factories/{factoryName}/cancelpipelinerun/{runId}"); + Endpoints[2323] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataFactory/factories/{factoryName}/datasets/{datasetName}"); + Endpoints[2324] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataFactory/factories/{factoryName}/integrationRuntimes/{integrationRuntimeName}"); + Endpoints[2325] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataFactory/factories/{factoryName}/linkedservices/{linkedServiceName}"); + Endpoints[2326] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataFactory/factories/{factoryName}/pipelineruns/{runId}"); + Endpoints[2327] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataFactory/factories/{factoryName}/pipelines/{pipelineName}"); + Endpoints[2328] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataFactory/factories/{factoryName}/triggers/{triggerName}"); + Endpoints[2329] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataLakeAnalytics/accounts/{accountName}/computePolicies/{computePolicyName}"); + Endpoints[2330] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataLakeAnalytics/accounts/{accountName}/dataLakeStoreAccounts/{dataLakeStoreAccountName}"); + Endpoints[2331] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataLakeAnalytics/accounts/{accountName}/firewallRules/{firewallRuleName}"); + Endpoints[2332] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataLakeAnalytics/accounts/{accountName}/storageAccounts/{storageAccountName}"); + Endpoints[2333] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataLakeStore/accounts/{accountName}/firewallRules/{firewallRuleName}"); + Endpoints[2334] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataLakeStore/accounts/{accountName}/trustedIdProviders/{trustedIdProviderName}"); + Endpoints[2335] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataLakeStore/accounts/{accountName}/virtualNetworkRules/{virtualNetworkRuleName}"); + Endpoints[2336] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBforMySQL/servers/{serverName}/configurations/{configurationName}"); + Endpoints[2337] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBforMySQL/servers/{serverName}/databases/{databaseName}"); + Endpoints[2338] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBforMySQL/servers/{serverName}/firewallRules/{firewallRuleName}"); + Endpoints[2339] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBforMySQL/servers/{serverName}/virtualNetworkRules/{virtualNetworkRuleName}"); + Endpoints[2340] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBforPostgreSQL/servers/{serverName}/configurations/{configurationName}"); + Endpoints[2341] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBforPostgreSQL/servers/{serverName}/databases/{databaseName}"); + Endpoints[2342] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBforPostgreSQL/servers/{serverName}/firewallRules/{firewallRuleName}"); + Endpoints[2343] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBforPostgreSQL/servers/{serverName}/securityAlertPolicies/{securityAlertPolicyName}"); + Endpoints[2344] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBforPostgreSQL/servers/{serverName}/virtualNetworkRules/{virtualNetworkRuleName}"); + Endpoints[2345] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Devices/IotHubs/{resourceName}/certificates/{certificateName}"); + Endpoints[2346] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Devices/IotHubs/{resourceName}/jobs/{jobId}"); + Endpoints[2347] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Devices/provisioningServices/{provisioningServiceName}/certificates/{certificateName}"); + Endpoints[2348] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Devices/provisioningServices/{provisioningServiceName}/operationresults/{operationId}"); + Endpoints[2349] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DevTestLab/labs/{labName}/artifactsources/{name}"); + Endpoints[2350] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DevTestLab/labs/{labName}/costinsights/{name}"); + Endpoints[2351] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DevTestLab/labs/{labName}/costs/{name}"); + Endpoints[2352] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DevTestLab/labs/{labName}/customimages/{name}"); + Endpoints[2353] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DevTestLab/labs/{labName}/formulas/{name}"); + Endpoints[2354] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DevTestLab/labs/{labName}/notificationchannels/{name}"); + Endpoints[2355] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DevTestLab/labs/{labName}/schedules/{name}"); + Endpoints[2356] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DevTestLab/labs/{labName}/servicerunners/{name}"); + Endpoints[2357] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DevTestLab/labs/{labName}/users/{name}"); + Endpoints[2358] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DevTestLab/labs/{labName}/virtualmachines/{name}"); + Endpoints[2359] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DevTestLab/labs/{labName}/virtualnetworks/{name}"); + Endpoints[2360] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DomainRegistration/domains/{domainName}/domainOwnershipIdentifiers/{name}"); + Endpoints[2361] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DomainRegistration/domains/{domainName}/operationresults/{operationId}"); + Endpoints[2362] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.EventHub/namespaces/{namespaceName}/AuthorizationRules/{authorizationRuleName}"); + Endpoints[2363] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.EventHub/namespaces/{namespaceName}/disasterRecoveryConfigs/{alias}"); + Endpoints[2364] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.EventHub/namespaces/{namespaceName}/eventhubs/{eventHubName}"); + Endpoints[2365] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Fabric.Admin/fabricLocations/{location}/edgeGatewayPools/{edgeGatewayPool}"); + Endpoints[2366] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Fabric.Admin/fabricLocations/{location}/edgeGateways/{edgeGateway}"); + Endpoints[2367] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Fabric.Admin/fabricLocations/{location}/fileShares/{fileShare}"); + Endpoints[2368] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Fabric.Admin/fabricLocations/{location}/infraRoleInstances/{infraRoleInstance}"); + Endpoints[2369] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Fabric.Admin/fabricLocations/{location}/infraRoles/{infraRole}"); + Endpoints[2370] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Fabric.Admin/fabricLocations/{location}/ipPools/{ipPool}"); + Endpoints[2371] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Fabric.Admin/fabricLocations/{location}/logicalNetworks/{logicalNetwork}"); + Endpoints[2372] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Fabric.Admin/fabricLocations/{location}/macAddressPools/{macAddressPool}"); + Endpoints[2373] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Fabric.Admin/fabricLocations/{location}/scaleUnitNodes/{scaleUnitNode}"); + Endpoints[2374] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Fabric.Admin/fabricLocations/{location}/scaleUnits/{scaleUnit}"); + Endpoints[2375] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Fabric.Admin/fabricLocations/{location}/slbMuxInstances/{slbMuxInstance}"); + Endpoints[2376] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Fabric.Admin/fabricLocations/{location}/storageSubSystems/{storageSubSystem}"); + Endpoints[2377] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.HDInsight/clusters/{clusterName}/applications/{applicationName}"); + Endpoints[2378] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.HDInsight/clusters/{clusterName}/configurations/{configurationName}"); + Endpoints[2379] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.HDInsight/clusters/{clusterName}/extensions/{extensionName}"); + Endpoints[2380] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.HDInsight/clusters/{clusterName}/scriptActions/{scriptName}"); + Endpoints[2381] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.HDInsight/clusters/{clusterName}/scriptExecutionHistory/{scriptExecutionId}"); + Endpoints[2382] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.InfrastructureInsights.Admin/regionHealths/{location}/alerts/{alertName}"); + Endpoints[2383] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.InfrastructureInsights.Admin/regionHealths/{location}/serviceHealths/{serviceHealth}"); + Endpoints[2384] = CreateEndpoint("/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/microsoft.insights/alertrules/{ruleName}/incidents/{incidentName}"); + Endpoints[2385] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Insights/components/{resourceName}/Annotations/{annotationId}"); + Endpoints[2386] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Insights/components/{resourceName}/APIKeys/{keyId}"); + Endpoints[2387] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Insights/components/{resourceName}/exportconfiguration/{exportId}"); + Endpoints[2388] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Insights/components/{resourceName}/favorites/{favoriteId}"); + Endpoints[2389] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Insights/components/{resourceName}/ProactiveDetectionConfigs/{ConfigurationId}"); + Endpoints[2390] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Insights/components/{resourceName}/WorkItemConfigs/{workItemConfigId}"); + Endpoints[2391] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Insights/metricAlerts/{ruleName}/status/{statusName}"); + Endpoints[2392] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.KeyVault/vaults/{vaultName}/accessPolicies/{operationKind}"); + Endpoints[2393] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.KeyVault/vaults/{vaultName}/secrets/{secretName}"); + Endpoints[2394] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Logic/integrationAccounts/{integrationAccountName}/agreements/{agreementName}"); + Endpoints[2395] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Logic/integrationAccounts/{integrationAccountName}/assemblies/{assemblyArtifactName}"); + Endpoints[2396] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Logic/integrationAccounts/{integrationAccountName}/batchConfigurations/{batchConfigurationName}"); + Endpoints[2397] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Logic/integrationAccounts/{integrationAccountName}/certificates/{certificateName}"); + Endpoints[2398] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Logic/integrationAccounts/{integrationAccountName}/maps/{mapName}"); + Endpoints[2399] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Logic/integrationAccounts/{integrationAccountName}/partners/{partnerName}"); + Endpoints[2400] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Logic/integrationAccounts/{integrationAccountName}/schemas/{schemaName}"); + Endpoints[2401] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Logic/integrationAccounts/{integrationAccountName}/sessions/{sessionName}"); + Endpoints[2402] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Logic/workflows/{workflowName}/accessKeys/{accessKeyName}"); + Endpoints[2403] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Logic/workflows/{workflowName}/runs/{runName}"); + Endpoints[2404] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Logic/workflows/{workflowName}/triggers/{triggerName}"); + Endpoints[2405] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Logic/workflows/{workflowName}/versions/{versionId}"); + Endpoints[2406] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.MachineLearning/commitmentPlans/{commitmentPlanName}/commitmentAssociations/{commitmentAssociationName}"); + Endpoints[2407] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.MachineLearningExperimentation/accounts/{accountName}/workspaces/{workspaceName}"); + Endpoints[2408] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Media/mediaServices/{accountName}/assets/{assetName}"); + Endpoints[2409] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Media/mediaServices/{accountName}/contentKeyPolicies/{contentKeyPolicyName}"); + Endpoints[2410] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Media/mediaservices/{accountName}/liveEvents/{liveEventName}"); + Endpoints[2411] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Media/mediaservices/{accountName}/streamingEndpoints/{streamingEndpointName}"); + Endpoints[2412] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Media/mediaServices/{accountName}/streamingLocators/{streamingLocatorName}"); + Endpoints[2413] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Media/mediaServices/{accountName}/streamingPolicies/{streamingPolicyName}"); + Endpoints[2414] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Media/mediaServices/{accountName}/transforms/{transformName}"); + Endpoints[2415] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Migrate/projects/{projectName}/groups/{groupName}"); + Endpoints[2416] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Migrate/projects/{projectName}/machines/{machineName}"); + Endpoints[2417] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/expressRouteCircuits/{circuitName}/authorizations/{authorizationName}"); + Endpoints[2418] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/expressRouteCircuits/{circuitName}/peerings/{peeringName}"); + Endpoints[2419] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/expressRouteCrossConnections/{crossConnectionName}/peerings/{peeringName}"); + Endpoints[2420] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/loadBalancers/{loadBalancerName}/backendAddressPools/{backendAddressPoolName}"); + Endpoints[2421] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/loadBalancers/{loadBalancerName}/frontendIPConfigurations/{frontendIPConfigurationName}"); + Endpoints[2422] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/loadBalancers/{loadBalancerName}/inboundNatRules/{inboundNatRuleName}"); + Endpoints[2423] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/loadBalancers/{loadBalancerName}/loadBalancingRules/{loadBalancingRuleName}"); + Endpoints[2424] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/loadBalancers/{loadBalancerName}/probes/{probeName}"); + Endpoints[2425] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkInterfaces/{networkInterfaceName}/ipConfigurations/{ipConfigurationName}"); + Endpoints[2426] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkSecurityGroups/{networkSecurityGroupName}/defaultSecurityRules/{defaultSecurityRuleName}"); + Endpoints[2427] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkSecurityGroups/{networkSecurityGroupName}/securityRules/{securityRuleName}"); + Endpoints[2428] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkWatchers/{networkWatcherName}/connectionMonitors/{connectionMonitorName}"); + Endpoints[2429] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkWatchers/{networkWatcherName}/packetCaptures/{packetCaptureName}"); + Endpoints[2430] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/routeFilters/{routeFilterName}/routeFilterRules/{ruleName}"); + Endpoints[2431] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/routeTables/{routeTableName}/routes/{routeName}"); + Endpoints[2432] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/trafficmanagerprofiles/{profileName}/heatMaps/{heatMapType}"); + Endpoints[2433] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworks/{virtualNetworkName}/subnets/{subnetName}"); + Endpoints[2434] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworks/{virtualNetworkName}/virtualNetworkPeerings/{virtualNetworkPeeringName}"); + Endpoints[2435] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.NotificationHubs/namespaces/{namespaceName}/AuthorizationRules/{authorizationRuleName}"); + Endpoints[2436] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.NotificationHubs/namespaces/{namespaceName}/notificationHubs/{notificationHubName}"); + Endpoints[2437] = CreateEndpoint("/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.OperationalInsights/workspaces/{workspaceName}/dataSources/{dataSourceName}"); + Endpoints[2438] = CreateEndpoint("/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.OperationalInsights/workspaces/{workspaceName}/linkedServices/{linkedServiceName}"); + Endpoints[2439] = CreateEndpoint("/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.OperationalInsights/workspaces/{workspaceName}/savedSearches/{savedSearchName}"); + Endpoints[2440] = CreateEndpoint("/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.OperationalInsights/workspaces/{workspaceName}/search/{id}"); + Endpoints[2441] = CreateEndpoint("/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.OperationalInsights/workspaces/{workspaceName}/storageInsightConfigs/{storageInsightName}"); + Endpoints[2442] = CreateEndpoint("/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationAlertSettings/{alertSettingName}"); + Endpoints[2443] = CreateEndpoint("/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationEvents/{eventName}"); + Endpoints[2444] = CreateEndpoint("/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationFabrics/{fabricName}"); + Endpoints[2445] = CreateEndpoint("/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationJobs/{jobName}"); + Endpoints[2446] = CreateEndpoint("/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationPolicies/{policyName}"); + Endpoints[2447] = CreateEndpoint("/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationRecoveryPlans/{recoveryPlanName}"); + Endpoints[2448] = CreateEndpoint("/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupEngines/{backupEngineName}"); + Endpoints[2449] = CreateEndpoint("/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupJobs/{jobName}"); + Endpoints[2450] = CreateEndpoint("/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupOperationResults/{operationId}"); + Endpoints[2451] = CreateEndpoint("/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupOperations/{operationId}"); + Endpoints[2452] = CreateEndpoint("/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupPolicies/{policyName}"); + Endpoints[2453] = CreateEndpoint("/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/certificates/{certificateName}"); + Endpoints[2454] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/registeredIdentities/{identityName}"); + Endpoints[2455] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Relay/namespaces/{namespaceName}/authorizationRules/{authorizationRuleName}"); + Endpoints[2456] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Relay/namespaces/{namespaceName}/hybridConnections/{hybridConnectionName}"); + Endpoints[2457] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Relay/namespaces/{namespaceName}/wcfRelays/{relayName}"); + Endpoints[2458] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Scheduler/jobCollections/{jobCollectionName}/jobs/{jobName}"); + Endpoints[2459] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Search/searchServices/{searchServiceName}/createQueryKey/{name}"); + Endpoints[2460] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Search/searchServices/{searchServiceName}/deleteQueryKey/{key}"); + Endpoints[2461] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Search/searchServices/{searchServiceName}/regenerateAdminKey/{keyKind}"); + Endpoints[2462] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Security/locations/{ascLocation}/alerts/{alertName}"); + Endpoints[2463] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Security/locations/{ascLocation}/discoveredSecuritySolutions/{discoveredSecuritySolutionName}"); + Endpoints[2464] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Security/locations/{ascLocation}/ExternalSecuritySolutions/{externalSecuritySolutionsName}"); + Endpoints[2465] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Security/locations/{ascLocation}/jitNetworkAccessPolicies/{jitNetworkAccessPolicyName}"); + Endpoints[2466] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Security/locations/{ascLocation}/tasks/{taskName}"); + Endpoints[2467] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ServerManagement/nodes/{nodeName}/sessions/{session}"); + Endpoints[2468] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ServiceBus/namespaces/{namespaceName}/AuthorizationRules/{authorizationRuleName}"); + Endpoints[2469] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ServiceBus/namespaces/{namespaceName}/disasterRecoveryConfigs/{alias}"); + Endpoints[2470] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ServiceBus/namespaces/{namespaceName}/migrationConfigurations/{configName}"); + Endpoints[2471] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ServiceBus/namespaces/{namespaceName}/queues/{queueName}"); + Endpoints[2472] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ServiceBus/namespaces/{namespaceName}/topics/{topicName}"); + Endpoints[2473] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ServiceFabric/clusters/{clusterName}/applications/{applicationName}"); + Endpoints[2474] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ServiceFabric/clusters/{clusterName}/applicationTypes/{applicationTypeName}"); + Endpoints[2475] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/locations/{locationName}/instanceFailoverGroups/{failoverGroupName}"); + Endpoints[2476] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/managedInstances/{managedInstanceName}/databases/{databaseName}"); + Endpoints[2477] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/administrators/{administratorName}"); + Endpoints[2478] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/advisors/{advisorName}"); + Endpoints[2479] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/auditingPolicies/{tableAuditingPolicyName}"); + Endpoints[2480] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/backupLongTermRetentionVaults/{backupLongTermRetentionVaultName}"); + Endpoints[2481] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/communicationLinks/{communicationLinkName}"); + Endpoints[2482] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/connectionPolicies/{connectionPolicyName}"); + Endpoints[2483] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/databases/{databaseName}"); + Endpoints[2484] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/disasterRecoveryConfiguration/{disasterRecoveryConfigurationName}"); + Endpoints[2485] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/dnsAliases/{dnsAliasName}"); + Endpoints[2486] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/elasticPools/{elasticPoolName}"); + Endpoints[2487] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/encryptionProtector/{encryptionProtectorName}"); + Endpoints[2488] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/failoverGroups/{failoverGroupName}"); + Endpoints[2489] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/firewallRules/{firewallRuleName}"); + Endpoints[2490] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/jobAgents/{jobAgentName}"); + Endpoints[2491] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/keys/{keyName}"); + Endpoints[2492] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/recommendedElasticPools/{recommendedElasticPoolName}"); + Endpoints[2493] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/recoverableDatabases/{databaseName}"); + Endpoints[2494] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/restorableDroppedDatabases/{restorableDroppededDatabaseId}"); + Endpoints[2495] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/serviceObjectives/{serviceObjectiveName}"); + Endpoints[2496] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/syncAgents/{syncAgentName}"); + Endpoints[2497] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/virtualNetworkRules/{virtualNetworkRuleName}"); + Endpoints[2498] = CreateEndpoint("/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.Storage.Admin/farms/{farmId}/blobservices/{serviceType}"); + Endpoints[2499] = CreateEndpoint("/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.Storage.Admin/farms/{farmId}/operationresults/{operationId}"); + Endpoints[2500] = CreateEndpoint("/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.Storage.Admin/farms/{farmId}/queueservices/{serviceType}"); + Endpoints[2501] = CreateEndpoint("/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.Storage.Admin/farms/{farmId}/shares/{shareName}"); + Endpoints[2502] = CreateEndpoint("/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.Storage.Admin/farms/{farmId}/storageaccounts/{accountId}"); + Endpoints[2503] = CreateEndpoint("/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.Storage.Admin/farms/{farmId}/tableservices/{serviceType}"); + Endpoints[2504] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Storage/storageAccounts/{accountName}/managementPolicies/{managementPolicyName}"); + Endpoints[2505] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.StorSimple/managers/{managerName}/accessControlRecords/{accessControlRecordName}"); + Endpoints[2506] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.StorSimple/managers/{managerName}/bandwidthSettings/{bandwidthSettingName}"); + Endpoints[2507] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.StorSimple/managers/{managerName}/devices/{deviceName}"); + Endpoints[2508] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.StorSimple/managers/{managerName}/storageAccountCredentials/{storageAccountCredentialName}"); + Endpoints[2509] = CreateEndpoint("/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.StreamAnalytics/streamingjobs/{jobName}/functions/{functionName}"); + Endpoints[2510] = CreateEndpoint("/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.StreamAnalytics/streamingjobs/{jobName}/inputs/{inputName}"); + Endpoints[2511] = CreateEndpoint("/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.StreamAnalytics/streamingjobs/{jobName}/outputs/{outputName}"); + Endpoints[2512] = CreateEndpoint("/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.StreamAnalytics/streamingjobs/{jobName}/transformations/{transformationName}"); + Endpoints[2513] = CreateEndpoint("/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.Subscriptions.Admin/offers/{offer}/offerDelegations/{offerDelegationName}"); + Endpoints[2514] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.TimeSeriesInsights/environments/{environmentName}/accessPolicies/{accessPolicyName}"); + Endpoints[2515] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.TimeSeriesInsights/environments/{environmentName}/eventSources/{eventSourceName}"); + Endpoints[2516] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.TimeSeriesInsights/environments/{environmentName}/referenceDataSets/{referenceDataSetName}"); + Endpoints[2517] = CreateEndpoint("/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.Update.Admin/updateLocations/{updateLocation}/updates/{updateName}"); + Endpoints[2518] = CreateEndpoint("/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/microsoft.visualstudio/account/{accountResourceName}/extension/{extensionResourceName}"); + Endpoints[2519] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/microsoft.visualstudio/account/{rootResourceName}/project/{resourceName}"); + Endpoints[2520] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/hostingEnvironments/{name}/detectors/{detectorName}"); + Endpoints[2521] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/hostingEnvironments/{name}/diagnostics/{diagnosticsName}"); + Endpoints[2522] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/hostingEnvironments/{name}/operations/{operationId}"); + Endpoints[2523] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/hostingEnvironments/{name}/workerPools/{workerPoolName}"); + Endpoints[2524] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/managedHostingEnvironments/{name}/operations/{operationId}"); + Endpoints[2525] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/serverfarms/{name}/operationresults/{operationId}"); + Endpoints[2526] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/serverfarms/{name}/virtualNetworkConnections/{vnetName}"); + Endpoints[2527] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/backups/{backupId}"); + Endpoints[2528] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/continuouswebjobs/{webJobName}"); + Endpoints[2529] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/deployments/{id}"); + Endpoints[2530] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/domainOwnershipIdentifiers/{domainOwnershipIdentifierName}"); + Endpoints[2531] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/functions/{functionName}"); + Endpoints[2532] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/hostNameBindings/{hostName}"); + Endpoints[2533] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/hybridconnection/{entityName}"); + Endpoints[2534] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/networkFeatures/{view}"); + Endpoints[2535] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/operationresults/{operationId}"); + Endpoints[2536] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/premieraddons/{premierAddOnName}"); + Endpoints[2537] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/processes/{processId}"); + Endpoints[2538] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/publicCertificates/{publicCertificateName}"); + Endpoints[2539] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/siteextensions/{siteExtensionId}"); + Endpoints[2540] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}"); + Endpoints[2541] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/triggeredwebjobs/{webJobName}"); + Endpoints[2542] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/virtualNetworkConnections/{vnetName}"); + Endpoints[2543] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/webjobs/{webJobName}"); + Endpoints[2544] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{siteName}/detectors/{detectorName}"); + Endpoints[2545] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{siteName}/diagnostics/{diagnosticCategory}"); + Endpoints[2546] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{siteName}/recommendations/{name}"); + Endpoints[2547] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroup/{resourceGroupName}/providers/Microsoft.MachineLearningServices/workspaces/{workspaceName}/computes/{computeName}/listKeys"); + Endpoints[2548] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{groupName}/providers/Microsoft.DataMigration/services/{serviceName}/projects/{projectName}/tasks"); + Endpoints[2549] = CreateEndpoint("/subscriptions/{subscriptionId}/resourcegroups/{resourceGroup}/providers/Microsoft.AzureBridge.Admin/activations/{activationName}/products/{productName}/download"); + Endpoints[2550] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroup}/providers/Microsoft.AzureStack/registrations/{registrationName}/products/{productName}/listDetails"); + Endpoints[2551] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/apis/{apiId}/diagnostics"); + Endpoints[2552] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/apis/{apiId}/issues"); + Endpoints[2553] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/apis/{apiId}/operations"); + Endpoints[2554] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/apis/{apiId}/operationsByTags"); + Endpoints[2555] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/apis/{apiId}/policies"); + Endpoints[2556] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/apis/{apiId}/policy"); + Endpoints[2557] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/apis/{apiId}/products"); + Endpoints[2558] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/apis/{apiId}/releases"); + Endpoints[2559] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/apis/{apiId}/revisions"); + Endpoints[2560] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/apis/{apiId}/schemas"); + Endpoints[2561] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/apis/{apiId}/tagDescriptions"); + Endpoints[2562] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/apis/{apiId}/tags"); + Endpoints[2563] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/backends/{backendid}/reconnect"); + Endpoints[2564] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/diagnostics/{diagnosticId}/loggers"); + Endpoints[2565] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/groups/{groupId}/users"); + Endpoints[2566] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/locations/{locationName}/networkstatus"); + Endpoints[2567] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/notifications/{notificationName}/recipientEmails"); + Endpoints[2568] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/notifications/{notificationName}/recipientUsers"); + Endpoints[2569] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/products/{productId}/apis"); + Endpoints[2570] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/products/{productId}/groups"); + Endpoints[2571] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/products/{productId}/policies"); + Endpoints[2572] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/products/{productId}/policy"); + Endpoints[2573] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/products/{productId}/subscriptions"); + Endpoints[2574] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/products/{productId}/tags"); + Endpoints[2575] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/subscriptions/{sid}/regeneratePrimaryKey"); + Endpoints[2576] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/subscriptions/{sid}/regenerateSecondaryKey"); + Endpoints[2577] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/tenant/{accessName}/git"); + Endpoints[2578] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/tenant/{accessName}/regeneratePrimaryKey"); + Endpoints[2579] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/tenant/{accessName}/regenerateSecondaryKey"); + Endpoints[2580] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/tenant/{configurationName}/deploy"); + Endpoints[2581] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/tenant/{configurationName}/save"); + Endpoints[2582] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/tenant/{configurationName}/syncState"); + Endpoints[2583] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/tenant/{configurationName}/validate"); + Endpoints[2584] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/users/{uid}/generateSsoUrl"); + Endpoints[2585] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/users/{uid}/groups"); + Endpoints[2586] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/users/{uid}/identities"); + Endpoints[2587] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/users/{uid}/subscriptions"); + Endpoints[2588] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/users/{uid}/token"); + Endpoints[2589] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Automation/automationAccounts/{automationAccountName}/compilationjobs/{jobId}/streams"); + Endpoints[2590] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Automation/automationAccounts/{automationAccountName}/configurations/{configurationName}/content"); + Endpoints[2591] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Automation/automationAccounts/{automationAccountName}/jobs/{jobId}/output"); + Endpoints[2592] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Automation/automationAccounts/{automationAccountName}/jobs/{jobId}/resume"); + Endpoints[2593] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Automation/automationAccounts/{automationAccountName}/jobs/{jobId}/runbookContent"); + Endpoints[2594] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Automation/automationAccounts/{automationAccountName}/jobs/{jobId}/stop"); + Endpoints[2595] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Automation/automationAccounts/{automationAccountName}/jobs/{jobId}/streams"); + Endpoints[2596] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Automation/automationAccounts/{automationAccountName}/jobs/{jobId}/suspend"); + Endpoints[2597] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Automation/automationAccounts/{automationAccountName}/modules/{moduleName}/activities"); + Endpoints[2598] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Automation/automationAccounts/{automationAccountName}/nodes/{nodeId}/reports"); + Endpoints[2599] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Automation/automationAccounts/{automationAccountName}/objectDataTypes/{typeName}/fields"); + Endpoints[2600] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Automation/automationAccounts/{automationAccountName}/runbooks/{runbookName}/content"); + Endpoints[2601] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Automation/automationAccounts/{automationAccountName}/runbooks/{runbookName}/draft"); + Endpoints[2602] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Automation/automationAccounts/{automationAccountName}/sourceControls/{sourceControlName}/sourceControlSyncJobs"); + Endpoints[2603] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Automation/automationAccounts/{automationAccountName}/watchers/{watcherName}/start"); + Endpoints[2604] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Automation/automationAccounts/{automationAccountName}/watchers/{watcherName}/stop"); + Endpoints[2605] = CreateEndpoint("/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.Backup.Admin/backupLocations/{location}/backups/{backup}/restore"); + Endpoints[2606] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Batch/batchAccounts/{accountName}/certificates/{certificateName}/cancelDelete"); + Endpoints[2607] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Batch/batchAccounts/{accountName}/pools/{poolName}/disableAutoScale"); + Endpoints[2608] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Batch/batchAccounts/{accountName}/pools/{poolName}/stopResize"); + Endpoints[2609] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.BatchAI/workspaces/{workspaceName}/clusters/{clusterName}/listRemoteLoginInformation"); + Endpoints[2610] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.BatchAI/workspaces/{workspaceName}/experiments/{experimentName}/jobs"); + Endpoints[2611] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.BotService/botServices/{resourceName}/channels/{channelName}/listChannelWithKeys"); + Endpoints[2612] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.BotService/botServices/{resourceName}/Connections/{connectionName}/listWithSecrets"); + Endpoints[2613] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Cdn/profiles/{profileName}/endpoints/{endpointName}/checkResourceUsage"); + Endpoints[2614] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Cdn/profiles/{profileName}/endpoints/{endpointName}/customDomains"); + Endpoints[2615] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Cdn/profiles/{profileName}/endpoints/{endpointName}/load"); + Endpoints[2616] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Cdn/profiles/{profileName}/endpoints/{endpointName}/origins"); + Endpoints[2617] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Cdn/profiles/{profileName}/endpoints/{endpointName}/purge"); + Endpoints[2618] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Cdn/profiles/{profileName}/endpoints/{endpointName}/start"); + Endpoints[2619] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Cdn/profiles/{profileName}/endpoints/{endpointName}/stop"); + Endpoints[2620] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Cdn/profiles/{profileName}/endpoints/{endpointName}/validateCustomDomain"); + Endpoints[2621] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/galleries/{galleryName}/images/{galleryImageName}/versions"); + Endpoints[2622] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/microsoft.Compute/virtualMachineScaleSets/{virtualMachineScaleSetName}/virtualMachines/{virtualmachineIndex}/networkInterfaces"); + Endpoints[2623] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/virtualMachineScaleSets/{vmScaleSetName}/virtualmachines/{instanceId}/deallocate"); + Endpoints[2624] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/virtualMachineScaleSets/{vmScaleSetName}/virtualmachines/{instanceId}/instanceView"); + Endpoints[2625] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/virtualMachineScaleSets/{vmScaleSetName}/virtualmachines/{instanceId}/performMaintenance"); + Endpoints[2626] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/virtualMachineScaleSets/{vmScaleSetName}/virtualmachines/{instanceId}/poweroff"); + Endpoints[2627] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/virtualMachineScaleSets/{vmScaleSetName}/virtualmachines/{instanceId}/redeploy"); + Endpoints[2628] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/virtualMachineScaleSets/{vmScaleSetName}/virtualmachines/{instanceId}/reimage"); + Endpoints[2629] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/virtualMachineScaleSets/{vmScaleSetName}/virtualmachines/{instanceId}/reimageall"); + Endpoints[2630] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/virtualMachineScaleSets/{vmScaleSetName}/virtualmachines/{instanceId}/restart"); + Endpoints[2631] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/virtualMachineScaleSets/{vmScaleSetName}/virtualmachines/{instanceId}/start"); + Endpoints[2632] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerInstance/containerGroups/{containerGroupName}/containers/{containerName}/exec"); + Endpoints[2633] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerInstance/containerGroups/{containerGroupName}/containers/{containerName}/logs"); + Endpoints[2634] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerRegistry/registries/{registryName}/builds/{buildId}/cancel"); + Endpoints[2635] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerRegistry/registries/{registryName}/builds/{buildId}/getLogLink"); + Endpoints[2636] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerRegistry/registries/{registryName}/buildTasks/{buildTaskName}/listSourceRepositoryProperties"); + Endpoints[2637] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerRegistry/registries/{registryName}/buildTasks/{buildTaskName}/steps"); + Endpoints[2638] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerRegistry/registries/{registryName}/webhooks/{webhookName}/getCallbackConfig"); + Endpoints[2639] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerRegistry/registries/{registryName}/webhooks/{webhookName}/listEvents"); + Endpoints[2640] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerRegistry/registries/{registryName}/webhooks/{webhookName}/ping"); + Endpoints[2641] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}/accessProfiles/{roleName}/listCredential"); + Endpoints[2642] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.CustomerInsights/hubs/{hubName}/authorizationPolicies/{authorizationPolicyName}/regeneratePrimaryKey"); + Endpoints[2643] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.CustomerInsights/hubs/{hubName}/authorizationPolicies/{authorizationPolicyName}/regenerateSecondaryKey"); + Endpoints[2644] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.CustomerInsights/hubs/{hubName}/connectors/{connectorName}/mappings"); + Endpoints[2645] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.CustomerInsights/hubs/{hubName}/interactions/{interactionName}/suggestRelationshipLinks"); + Endpoints[2646] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.CustomerInsights/hubs/{hubName}/kpi/{kpiName}/reprocess"); + Endpoints[2647] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.CustomerInsights/hubs/{hubName}/predictions/{predictionName}/getModelStatus"); + Endpoints[2648] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.CustomerInsights/hubs/{hubName}/predictions/{predictionName}/getTrainingResults"); + Endpoints[2649] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.CustomerInsights/hubs/{hubName}/predictions/{predictionName}/modelStatus"); + Endpoints[2650] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.CustomerInsights/hubs/{hubName}/profiles/{profileName}/getEnrichingKpis"); + Endpoints[2651] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataFactory/factories/{factoryName}/integrationRuntimes/{integrationRuntimeName}/getConnectionInfo"); + Endpoints[2652] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataFactory/factories/{factoryName}/integrationRuntimes/{integrationRuntimeName}/getStatus"); + Endpoints[2653] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataFactory/factories/{factoryName}/integrationRuntimes/{integrationRuntimeName}/listAuthKeys"); + Endpoints[2654] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataFactory/factories/{factoryName}/integrationRuntimes/{integrationRuntimeName}/monitoringData"); + Endpoints[2655] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataFactory/factories/{factoryName}/integrationRuntimes/{integrationRuntimeName}/regenerateAuthKey"); + Endpoints[2656] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataFactory/factories/{factoryName}/integrationRuntimes/{integrationRuntimeName}/removeNode"); + Endpoints[2657] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataFactory/factories/{factoryName}/integrationRuntimes/{integrationRuntimeName}/start"); + Endpoints[2658] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataFactory/factories/{factoryName}/integrationRuntimes/{integrationRuntimeName}/stop"); + Endpoints[2659] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataFactory/factories/{factoryName}/integrationRuntimes/{integrationRuntimeName}/syncCredentials"); + Endpoints[2660] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataFactory/factories/{factoryName}/integrationRuntimes/{integrationRuntimeName}/upgrade"); + Endpoints[2661] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataFactory/factories/{factoryName}/pipelineruns/{runId}/activityruns"); + Endpoints[2662] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataFactory/factories/{factoryName}/pipelines/{pipelineName}/createRun"); + Endpoints[2663] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataFactory/factories/{factoryName}/triggers/{triggerName}/start"); + Endpoints[2664] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataFactory/factories/{factoryName}/triggers/{triggerName}/stop"); + Endpoints[2665] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataFactory/factories/{factoryName}/triggers/{triggerName}/triggerruns"); + Endpoints[2666] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataLakeAnalytics/accounts/{accountName}/storageAccounts/{storageAccountName}/containers"); + Endpoints[2667] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Devices/IotHubs/{resourceName}/certificates/{certificateName}/generateVerificationCode"); + Endpoints[2668] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Devices/IotHubs/{resourceName}/certificates/{certificateName}/verify"); + Endpoints[2669] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Devices/IotHubs/{resourceName}/eventHubEndpoints/{eventHubEndpointName}/ConsumerGroups"); + Endpoints[2670] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Devices/IotHubs/{resourceName}/IotHubKeys/{keyName}/listkeys"); + Endpoints[2671] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Devices/provisioningServices/{provisioningServiceName}/certificates/{certificateName}/generateVerificationCode"); + Endpoints[2672] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Devices/provisioningServices/{provisioningServiceName}/certificates/{certificateName}/verify"); + Endpoints[2673] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Devices/provisioningServices/{provisioningServiceName}/keys/{keyName}/listkeys"); + Endpoints[2674] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DevTestLab/labs/{labName}/artifactsources/{artifactSourceName}/armtemplates"); + Endpoints[2675] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DevTestLab/labs/{labName}/artifactsources/{artifactSourceName}/artifacts"); + Endpoints[2676] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DevTestLab/labs/{labName}/costinsights/{name}/refreshData"); + Endpoints[2677] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DevTestLab/labs/{labName}/costs/{name}/refreshData"); + Endpoints[2678] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DevTestLab/labs/{labName}/notificationchannels/{name}/notify"); + Endpoints[2679] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DevTestLab/labs/{labName}/policysets/{name}/evaluatePolicies"); + Endpoints[2680] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DevTestLab/labs/{labName}/policysets/{policySetName}/policies"); + Endpoints[2681] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DevTestLab/labs/{labName}/schedules/{name}/execute"); + Endpoints[2682] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DevTestLab/labs/{labName}/schedules/{name}/listApplicable"); + Endpoints[2683] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DevTestLab/labs/{labName}/users/{userName}/disks"); + Endpoints[2684] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DevTestLab/labs/{labName}/users/{userName}/environments"); + Endpoints[2685] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DevTestLab/labs/{labName}/users/{userName}/secrets"); + Endpoints[2686] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DevTestLab/labs/{labName}/virtualmachines/{name}/addDataDisk"); + Endpoints[2687] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DevTestLab/labs/{labName}/virtualmachines/{name}/applyArtifacts"); + Endpoints[2688] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DevTestLab/labs/{labName}/virtualmachines/{name}/claim"); + Endpoints[2689] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DevTestLab/labs/{labName}/virtualmachines/{name}/detachDataDisk"); + Endpoints[2690] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DevTestLab/labs/{labName}/virtualmachines/{name}/listApplicableSchedules"); + Endpoints[2691] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DevTestLab/labs/{labName}/virtualmachines/{name}/start"); + Endpoints[2692] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DevTestLab/labs/{labName}/virtualmachines/{name}/stop"); + Endpoints[2693] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DevTestLab/labs/{labName}/virtualmachines/{virtualMachineName}/schedules"); + Endpoints[2694] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/databases/{databaseRid}/metricDefinitions"); + Endpoints[2695] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/databases/{databaseRid}/metrics"); + Endpoints[2696] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/databases/{databaseRid}/usages"); + Endpoints[2697] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/region/{region}/metrics"); + Endpoints[2698] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.EventGrid/locations/{location}/topicTypes/{topicTypeName}/eventSubscriptions"); + Endpoints[2699] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.EventHub/namespaces/{namespaceName}/AuthorizationRules/{authorizationRuleName}/listKeys"); + Endpoints[2700] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.EventHub/namespaces/{namespaceName}/AuthorizationRules/{authorizationRuleName}/regenerateKeys"); + Endpoints[2701] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.EventHub/namespaces/{namespaceName}/disasterRecoveryConfigs/{alias}/AuthorizationRules"); + Endpoints[2702] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.EventHub/namespaces/{namespaceName}/disasterRecoveryConfigs/{alias}/breakPairing"); + Endpoints[2703] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.EventHub/namespaces/{namespaceName}/disasterRecoveryConfigs/{alias}/failover"); + Endpoints[2704] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.EventHub/namespaces/{namespaceName}/eventhubs/{eventHubName}/authorizationRules"); + Endpoints[2705] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.EventHub/namespaces/{namespaceName}/eventhubs/{eventHubName}/consumergroups"); + Endpoints[2706] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Fabric.Admin/fabricLocations/{location}/infraRoleInstances/{infraRoleInstance}/PowerOff"); + Endpoints[2707] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Fabric.Admin/fabricLocations/{location}/infraRoleInstances/{infraRoleInstance}/PowerOn"); + Endpoints[2708] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Fabric.Admin/fabricLocations/{location}/infraRoleInstances/{infraRoleInstance}/Reboot"); + Endpoints[2709] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Fabric.Admin/fabricLocations/{location}/infraRoleInstances/{infraRoleInstance}/Shutdown"); + Endpoints[2710] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Fabric.Admin/fabricLocations/{location}/infraRoles/{infraRole}/Restart"); + Endpoints[2711] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Fabric.Admin/fabricLocations/{location}/logicalNetworks/{logicalNetwork}/logicalSubnets"); + Endpoints[2712] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Fabric.Admin/fabricLocations/{location}/scaleUnitNodes/{scaleUnitNode}/PowerOff"); + Endpoints[2713] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Fabric.Admin/fabricLocations/{location}/scaleUnitNodes/{scaleUnitNode}/PowerOn"); + Endpoints[2714] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Fabric.Admin/fabricLocations/{location}/scaleUnitNodes/{scaleUnitNode}/Repair"); + Endpoints[2715] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Fabric.Admin/fabricLocations/{location}/scaleUnitNodes/{scaleUnitNode}/Shutdown"); + Endpoints[2716] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Fabric.Admin/fabricLocations/{location}/scaleUnitNodes/{scaleUnitNode}/StartMaintenanceMode"); + Endpoints[2717] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Fabric.Admin/fabricLocations/{location}/scaleUnitNodes/{scaleUnitNode}/StopMaintenanceMode"); + Endpoints[2718] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Fabric.Admin/fabricLocations/{location}/scaleUnits/{scaleUnit}/ScaleOut"); + Endpoints[2719] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Fabric.Admin/fabricLocations/{location}/storageSubSystems/{storageSubSystem}/storagePools"); + Endpoints[2720] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.HDInsight/clusters/{clusterName}/roles/{roleName}/resize"); + Endpoints[2721] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.HDInsight/clusters/{clusterName}/scriptExecutionHistory/{scriptExecutionId}/promote"); + Endpoints[2722] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.InfrastructureInsights.Admin/regionHealths/{location}/serviceHealths/{serviceRegistrationId}/resourceHealths"); + Endpoints[2723] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Logic/integrationAccounts/{integrationAccountName}/agreements/{agreementName}/listContentCallbackUrl"); + Endpoints[2724] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Logic/integrationAccounts/{integrationAccountName}/assemblies/{assemblyArtifactName}/listContentCallbackUrl"); + Endpoints[2725] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Logic/integrationAccounts/{integrationAccountName}/maps/{mapName}/listContentCallbackUrl"); + Endpoints[2726] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Logic/integrationAccounts/{integrationAccountName}/partners/{partnerName}/listContentCallbackUrl"); + Endpoints[2727] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Logic/integrationAccounts/{integrationAccountName}/schemas/{schemaName}/listContentCallbackUrl"); + Endpoints[2728] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Logic/locations/{location}/workflows/{workflowName}/validate"); + Endpoints[2729] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Logic/workflows/{workflowName}/accessKeys/{accessKeyName}/list"); + Endpoints[2730] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Logic/workflows/{workflowName}/accessKeys/{accessKeyName}/regenerate"); + Endpoints[2731] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Logic/workflows/{workflowName}/runs/{runName}/actions"); + Endpoints[2732] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Logic/workflows/{workflowName}/runs/{runName}/cancel"); + Endpoints[2733] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Logic/workflows/{workflowName}/triggers/{triggerName}/histories"); + Endpoints[2734] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Logic/workflows/{workflowName}/triggers/{triggerName}/listCallbackUrl"); + Endpoints[2735] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Logic/workflows/{workflowName}/triggers/{triggerName}/reset"); + Endpoints[2736] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Logic/workflows/{workflowName}/triggers/{triggerName}/run"); + Endpoints[2737] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Logic/workflows/{workflowName}/triggers/{triggerName}/setState"); + Endpoints[2738] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.MachineLearning/commitmentPlans/{commitmentPlanName}/commitmentAssociations/{commitmentAssociationName}/move"); + Endpoints[2739] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Media/mediaServices/{accountName}/assets/{assetName}/getEncryptionKey"); + Endpoints[2740] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Media/mediaServices/{accountName}/assets/{assetName}/listContainerSas"); + Endpoints[2741] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Media/mediaServices/{accountName}/contentKeyPolicies/{contentKeyPolicyName}/getPolicyPropertiesWithSecrets"); + Endpoints[2742] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Media/mediaservices/{accountName}/liveEvents/{liveEventName}/liveOutputs"); + Endpoints[2743] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Media/mediaservices/{accountName}/liveEvents/{liveEventName}/reset"); + Endpoints[2744] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Media/mediaservices/{accountName}/liveEvents/{liveEventName}/start"); + Endpoints[2745] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Media/mediaservices/{accountName}/liveEvents/{liveEventName}/stop"); + Endpoints[2746] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Media/mediaservices/{accountName}/streamingEndpoints/{streamingEndpointName}/scale"); + Endpoints[2747] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Media/mediaservices/{accountName}/streamingEndpoints/{streamingEndpointName}/start"); + Endpoints[2748] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Media/mediaservices/{accountName}/streamingEndpoints/{streamingEndpointName}/stop"); + Endpoints[2749] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Media/mediaServices/{accountName}/streamingLocators/{streamingLocatorName}/listContentKeys"); + Endpoints[2750] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Media/mediaServices/{accountName}/streamingLocators/{streamingLocatorName}/listPaths"); + Endpoints[2751] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Media/mediaServices/{accountName}/transforms/{transformName}/jobs"); + Endpoints[2752] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Migrate/projects/{projectName}/groups/{groupName}/assessments"); + Endpoints[2753] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/expressRouteCircuits/{circuitName}/peerings/{peeringName}/stats"); + Endpoints[2754] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkWatchers/{networkWatcherName}/connectionMonitors/{connectionMonitorName}/query"); + Endpoints[2755] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkWatchers/{networkWatcherName}/connectionMonitors/{connectionMonitorName}/start"); + Endpoints[2756] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkWatchers/{networkWatcherName}/connectionMonitors/{connectionMonitorName}/stop"); + Endpoints[2757] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkWatchers/{networkWatcherName}/packetCaptures/{packetCaptureName}/queryStatus"); + Endpoints[2758] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkWatchers/{networkWatcherName}/packetCaptures/{packetCaptureName}/stop"); + Endpoints[2759] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.NotificationHubs/namespaces/{namespaceName}/AuthorizationRules/{authorizationRuleName}/listKeys"); + Endpoints[2760] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.NotificationHubs/namespaces/{namespaceName}/AuthorizationRules/{authorizationRuleName}/regenerateKeys"); + Endpoints[2761] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.NotificationHubs/namespaces/{namespaceName}/notificationHubs/{notificationHubName}/AuthorizationRules"); + Endpoints[2762] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.NotificationHubs/namespaces/{namespaceName}/notificationHubs/{notificationHubName}/pnsCredentials"); + Endpoints[2763] = CreateEndpoint("/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.OperationalInsights/workspaces/{workspaceName}/intelligencePacks/{intelligencePackName}/Disable"); + Endpoints[2764] = CreateEndpoint("/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.OperationalInsights/workspaces/{workspaceName}/intelligencePacks/{intelligencePackName}/Enable"); + Endpoints[2765] = CreateEndpoint("/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.OperationalInsights/workspaces/{workspaceName}/savedSearches/{savedSearchName}/results"); + Endpoints[2766] = CreateEndpoint("/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationFabrics/{fabricName}/checkConsistency"); + Endpoints[2767] = CreateEndpoint("/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationFabrics/{fabricName}/migratetoaad"); + Endpoints[2768] = CreateEndpoint("/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationFabrics/{fabricName}/reassociateGateway"); + Endpoints[2769] = CreateEndpoint("/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationFabrics/{fabricName}/remove"); + Endpoints[2770] = CreateEndpoint("/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationFabrics/{fabricName}/renewCertificate"); + Endpoints[2771] = CreateEndpoint("/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationFabrics/{fabricName}/replicationLogicalNetworks"); + Endpoints[2772] = CreateEndpoint("/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationFabrics/{fabricName}/replicationNetworks"); + Endpoints[2773] = CreateEndpoint("/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationFabrics/{fabricName}/replicationProtectionContainers"); + Endpoints[2774] = CreateEndpoint("/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationFabrics/{fabricName}/replicationRecoveryServicesProviders"); + Endpoints[2775] = CreateEndpoint("/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationFabrics/{fabricName}/replicationStorageClassifications"); + Endpoints[2776] = CreateEndpoint("/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationFabrics/{fabricName}/replicationvCenters"); + Endpoints[2777] = CreateEndpoint("/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationJobs/{jobName}/cancel"); + Endpoints[2778] = CreateEndpoint("/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationJobs/{jobName}/restart"); + Endpoints[2779] = CreateEndpoint("/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationJobs/{jobName}/resume"); + Endpoints[2780] = CreateEndpoint("/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationRecoveryPlans/{recoveryPlanName}/failoverCommit"); + Endpoints[2781] = CreateEndpoint("/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationRecoveryPlans/{recoveryPlanName}/plannedFailover"); + Endpoints[2782] = CreateEndpoint("/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationRecoveryPlans/{recoveryPlanName}/reProtect"); + Endpoints[2783] = CreateEndpoint("/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationRecoveryPlans/{recoveryPlanName}/testFailover"); + Endpoints[2784] = CreateEndpoint("/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationRecoveryPlans/{recoveryPlanName}/testFailoverCleanup"); + Endpoints[2785] = CreateEndpoint("/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationRecoveryPlans/{recoveryPlanName}/unplannedFailover"); + Endpoints[2786] = CreateEndpoint("/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupFabrics/{fabricName}/protectableContainers"); + Endpoints[2787] = CreateEndpoint("/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupFabrics/{fabricName}/refreshContainers"); + Endpoints[2788] = CreateEndpoint("/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupJobs/{jobName}/cancel"); + Endpoints[2789] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Relay/namespaces/{namespaceName}/authorizationRules/{authorizationRuleName}/listKeys"); + Endpoints[2790] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Relay/namespaces/{namespaceName}/authorizationRules/{authorizationRuleName}/regenerateKeys"); + Endpoints[2791] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Relay/namespaces/{namespaceName}/hybridConnections/{hybridConnectionName}/authorizationRules"); + Endpoints[2792] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Relay/namespaces/{namespaceName}/wcfRelays/{relayName}/authorizationRules"); + Endpoints[2793] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Scheduler/jobCollections/{jobCollectionName}/jobs/{jobName}/history"); + Endpoints[2794] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Scheduler/jobCollections/{jobCollectionName}/jobs/{jobName}/run"); + Endpoints[2795] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ServiceBus/namespaces/{namespaceName}/AuthorizationRules/{authorizationRuleName}/listKeys"); + Endpoints[2796] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ServiceBus/namespaces/{namespaceName}/AuthorizationRules/{authorizationRuleName}/regenerateKeys"); + Endpoints[2797] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ServiceBus/namespaces/{namespaceName}/disasterRecoveryConfigs/{alias}/AuthorizationRules"); + Endpoints[2798] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ServiceBus/namespaces/{namespaceName}/disasterRecoveryConfigs/{alias}/breakPairing"); + Endpoints[2799] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ServiceBus/namespaces/{namespaceName}/disasterRecoveryConfigs/{alias}/failover"); + Endpoints[2800] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ServiceBus/namespaces/{namespaceName}/eventhubs/{eventhubName}/authorizationRules"); + Endpoints[2801] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ServiceBus/namespaces/{namespaceName}/migrationConfigurations/{configName}/revert"); + Endpoints[2802] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ServiceBus/namespaces/{namespaceName}/migrationConfigurations/{configName}/upgrade"); + Endpoints[2803] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ServiceBus/namespaces/{namespaceName}/queues/{queueName}/authorizationRules"); + Endpoints[2804] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ServiceBus/namespaces/{namespaceName}/topics/{topicName}/authorizationRules"); + Endpoints[2805] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ServiceBus/namespaces/{namespaceName}/topics/{topicName}/subscriptions"); + Endpoints[2806] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ServiceFabric/clusters/{clusterName}/applications/{applicationName}/services"); + Endpoints[2807] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ServiceFabric/clusters/{clusterName}/applicationTypes/{applicationTypeName}/versions"); + Endpoints[2808] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/locations/{locationName}/instanceFailoverGroups/{failoverGroupName}/failover"); + Endpoints[2809] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/locations/{locationName}/instanceFailoverGroups/{failoverGroupName}/forceFailoverAllowDataLoss"); + Endpoints[2810] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/databases/{databaseName}/advisors"); + Endpoints[2811] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/databases/{databaseName}/auditingPolicies"); + Endpoints[2812] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/databases/{databaseName}/backupLongTermRetentionPolicies"); + Endpoints[2813] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/databases/{databaseName}/export"); + Endpoints[2814] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/databases/{databaseName}/extensions"); + Endpoints[2815] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/databases/{databaseName}/geoBackupPolicies"); + Endpoints[2816] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/databases/{databaseName}/metricDefinitions"); + Endpoints[2817] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/databases/{databaseName}/metrics"); + Endpoints[2818] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/databases/{databaseName}/move"); + Endpoints[2819] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/databases/{databaseName}/operations"); + Endpoints[2820] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/databases/{databaseName}/pause"); + Endpoints[2821] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/databases/{databaseName}/replicationLinks"); + Endpoints[2822] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/databases/{databaseName}/restorePoints"); + Endpoints[2823] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/databases/{databaseName}/resume"); + Endpoints[2824] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/databases/{databaseName}/serviceTierAdvisors"); + Endpoints[2825] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/databases/{databaseName}/syncGroups"); + Endpoints[2826] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/databases/{databaseName}/topQueries"); + Endpoints[2827] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/databases/{databaseName}/transparentDataEncryption"); + Endpoints[2828] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/databases/{databaseName}/upgradeDataWarehouse"); + Endpoints[2829] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/databases/{databaseName}/usages"); + Endpoints[2830] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/disasterRecoveryConfiguration/{disasterRecoveryConfigurationName}/failover"); + Endpoints[2831] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/disasterRecoveryConfiguration/{disasterRecoveryConfigurationName}/forceFailoverAllowDataLoss"); + Endpoints[2832] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/dnsAliases/{dnsAliasName}/acquire"); + Endpoints[2833] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/elasticPools/{elasticPoolName}/databases"); + Endpoints[2834] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/elasticPools/{elasticPoolName}/elasticPoolActivity"); + Endpoints[2835] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/elasticPools/{elasticPoolName}/elasticPoolDatabaseActivity"); + Endpoints[2836] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/elasticPools/{elasticPoolName}/metricDefinitions"); + Endpoints[2837] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/elasticPools/{elasticPoolName}/metrics"); + Endpoints[2838] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/elasticPools/{elasticPoolName}/operations"); + Endpoints[2839] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/failoverGroups/{failoverGroupName}/failover"); + Endpoints[2840] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/failoverGroups/{failoverGroupName}/forceFailoverAllowDataLoss"); + Endpoints[2841] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/jobAgents/{jobAgentName}/credentials"); + Endpoints[2842] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/jobAgents/{jobAgentName}/executions"); + Endpoints[2843] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/jobAgents/{jobAgentName}/jobs"); + Endpoints[2844] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/jobAgents/{jobAgentName}/targetGroups"); + Endpoints[2845] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/recommendedElasticPools/{recommendedElasticPoolName}/databases"); + Endpoints[2846] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/recommendedElasticPools/{recommendedElasticPoolName}/metrics"); + Endpoints[2847] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/syncAgents/{syncAgentName}/generateKey"); + Endpoints[2848] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/syncAgents/{syncAgentName}/linkedDatabases"); + Endpoints[2849] = CreateEndpoint("/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.Storage.Admin/farms/{farmId}/blobservices/{serviceType}/metricdefinitions"); + Endpoints[2850] = CreateEndpoint("/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.Storage.Admin/farms/{farmId}/blobservices/{serviceType}/metrics"); + Endpoints[2851] = CreateEndpoint("/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.Storage.Admin/farms/{farmId}/queueservices/{serviceType}/metricdefinitions"); + Endpoints[2852] = CreateEndpoint("/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.Storage.Admin/farms/{farmId}/queueservices/{serviceType}/metrics"); + Endpoints[2853] = CreateEndpoint("/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.Storage.Admin/farms/{farmId}/shares/{shareName}/containers"); + Endpoints[2854] = CreateEndpoint("/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.Storage.Admin/farms/{farmId}/shares/{shareName}/destinationshares"); + Endpoints[2855] = CreateEndpoint("/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.Storage.Admin/farms/{farmId}/shares/{shareName}/metricdefinitions"); + Endpoints[2856] = CreateEndpoint("/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.Storage.Admin/farms/{farmId}/shares/{shareName}/metrics"); + Endpoints[2857] = CreateEndpoint("/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.Storage.Admin/farms/{farmId}/shares/{shareName}/migrate"); + Endpoints[2858] = CreateEndpoint("/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.Storage.Admin/farms/{farmId}/tableservices/{serviceType}/metricdefinitions"); + Endpoints[2859] = CreateEndpoint("/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.Storage.Admin/farms/{farmId}/tableservices/{serviceType}/metrics"); + Endpoints[2860] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.StorSimple/managers/{managerName}/devices/{deviceName}/authorizeForServiceEncryptionKeyRollover"); + Endpoints[2861] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.StorSimple/managers/{managerName}/devices/{deviceName}/backupPolicies"); + Endpoints[2862] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.StorSimple/managers/{managerName}/devices/{deviceName}/backups"); + Endpoints[2863] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.StorSimple/managers/{managerName}/devices/{deviceName}/deactivate"); + Endpoints[2864] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.StorSimple/managers/{managerName}/devices/{deviceName}/hardwareComponentGroups"); + Endpoints[2865] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.StorSimple/managers/{managerName}/devices/{deviceName}/installUpdates"); + Endpoints[2866] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.StorSimple/managers/{managerName}/devices/{deviceName}/jobs"); + Endpoints[2867] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.StorSimple/managers/{managerName}/devices/{deviceName}/listFailoverSets"); + Endpoints[2868] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.StorSimple/managers/{managerName}/devices/{deviceName}/metrics"); + Endpoints[2869] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.StorSimple/managers/{managerName}/devices/{deviceName}/metricsDefinitions"); + Endpoints[2870] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.StorSimple/managers/{managerName}/devices/{deviceName}/publicEncryptionKey"); + Endpoints[2871] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.StorSimple/managers/{managerName}/devices/{deviceName}/scanForUpdates"); + Endpoints[2872] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.StorSimple/managers/{managerName}/devices/{deviceName}/sendTestAlertEmail"); + Endpoints[2873] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.StorSimple/managers/{managerName}/devices/{deviceName}/volumeContainers"); + Endpoints[2874] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.StorSimple/managers/{managerName}/devices/{deviceName}/volumes"); + Endpoints[2875] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.StorSimple/managers/{managerName}/devices/{sourceDeviceName}/failover"); + Endpoints[2876] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.StorSimple/managers/{managerName}/devices/{sourceDeviceName}/listFailoverTargets"); + Endpoints[2877] = CreateEndpoint("/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.StreamAnalytics/streamingjobs/{jobName}/functions/{functionName}/RetrieveDefaultDefinition"); + Endpoints[2878] = CreateEndpoint("/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.StreamAnalytics/streamingjobs/{jobName}/functions/{functionName}/test"); + Endpoints[2879] = CreateEndpoint("/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.StreamAnalytics/streamingjobs/{jobName}/inputs/{inputName}/test"); + Endpoints[2880] = CreateEndpoint("/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.StreamAnalytics/streamingjobs/{jobName}/outputs/{outputName}/test"); + Endpoints[2881] = CreateEndpoint("/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.Update.Admin/updateLocations/{updateLocation}/updates/{updateName}/Apply"); + Endpoints[2882] = CreateEndpoint("/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.Update.Admin/updateLocations/{updateLocation}/updates/{updateName}/updateRuns"); + Endpoints[2883] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/hostingEnvironments/{name}/workerPools/{workerPoolName}/metricdefinitions"); + Endpoints[2884] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/hostingEnvironments/{name}/workerPools/{workerPoolName}/metrics"); + Endpoints[2885] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/hostingEnvironments/{name}/workerPools/{workerPoolName}/skus"); + Endpoints[2886] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/hostingEnvironments/{name}/workerPools/{workerPoolName}/usages"); + Endpoints[2887] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/serverfarms/{name}/virtualNetworkConnections/{vnetName}/routes"); + Endpoints[2888] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/serverfarms/{name}/workers/{workerName}/reboot"); + Endpoints[2889] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/backups/{backupId}/list"); + Endpoints[2890] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/backups/{backupId}/restore"); + Endpoints[2891] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/continuouswebjobs/{webJobName}/start"); + Endpoints[2892] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/continuouswebjobs/{webJobName}/stop"); + Endpoints[2893] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/deployments/{id}/log"); + Endpoints[2894] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/functions/{functionName}/listsecrets"); + Endpoints[2895] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/instances/{instanceId}/deployments"); + Endpoints[2896] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/instances/{instanceId}/processes"); + Endpoints[2897] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/processes/{processId}/dump"); + Endpoints[2898] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/processes/{processId}/modules"); + Endpoints[2899] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/processes/{processId}/threads"); + Endpoints[2900] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/analyzeCustomHostname"); + Endpoints[2901] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/applySlotConfig"); + Endpoints[2902] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/backup"); + Endpoints[2903] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/backups"); + Endpoints[2904] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/config"); + Endpoints[2905] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/containerlogs"); + Endpoints[2906] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/continuouswebjobs"); + Endpoints[2907] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/deployments"); + Endpoints[2908] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/domainOwnershipIdentifiers"); + Endpoints[2909] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/functions"); + Endpoints[2910] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/hostNameBindings"); + Endpoints[2911] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/hybridconnection"); + Endpoints[2912] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/hybridConnectionRelays"); + Endpoints[2913] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/instances"); + Endpoints[2914] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/iscloneable"); + Endpoints[2915] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/listsyncfunctiontriggerstatus"); + Endpoints[2916] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/metricdefinitions"); + Endpoints[2917] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/metrics"); + Endpoints[2918] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/newpassword"); + Endpoints[2919] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/perfcounters"); + Endpoints[2920] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/phplogging"); + Endpoints[2921] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/premieraddons"); + Endpoints[2922] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/processes"); + Endpoints[2923] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/publicCertificates"); + Endpoints[2924] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/publishxml"); + Endpoints[2925] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/recover"); + Endpoints[2926] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/resetSlotConfig"); + Endpoints[2927] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/resourceHealthMetadata"); + Endpoints[2928] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/restart"); + Endpoints[2929] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/restoreFromBackupBlob"); + Endpoints[2930] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/restoreFromDeletedApp"); + Endpoints[2931] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/restoreSnapshot"); + Endpoints[2932] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/siteextensions"); + Endpoints[2933] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/slotsdiffs"); + Endpoints[2934] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/slotsswap"); + Endpoints[2935] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/snapshots"); + Endpoints[2936] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/start"); + Endpoints[2937] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/stop"); + Endpoints[2938] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/sync"); + Endpoints[2939] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/syncfunctiontriggers"); + Endpoints[2940] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/triggeredwebjobs"); + Endpoints[2941] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/usages"); + Endpoints[2942] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/virtualNetworkConnections"); + Endpoints[2943] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/webjobs"); + Endpoints[2944] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/triggeredwebjobs/{webJobName}/history"); + Endpoints[2945] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/triggeredwebjobs/{webJobName}/run"); + Endpoints[2946] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{siteName}/diagnostics/{diagnosticCategory}/analyses"); + Endpoints[2947] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{siteName}/diagnostics/{diagnosticCategory}/detectors"); + Endpoints[2948] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{siteName}/recommendations/{name}/disable"); + Endpoints[2949] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{siteName}/slots/{slot}/detectors"); + Endpoints[2950] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{siteName}/slots/{slot}/diagnostics"); + Endpoints[2951] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/tenant/{accessName}/git/regeneratePrimaryKey"); + Endpoints[2952] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/tenant/{accessName}/git/regenerateSecondaryKey"); + Endpoints[2953] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Automation/automationAccounts/{automationAccountName}/runbooks/{runbookName}/draft/content"); + Endpoints[2954] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Automation/automationAccounts/{automationAccountName}/runbooks/{runbookName}/draft/publish"); + Endpoints[2955] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Automation/automationAccounts/{automationAccountName}/runbooks/{runbookName}/draft/testJob"); + Endpoints[2956] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Automation/automationAccounts/{automationAccountName}/runbooks/{runbookName}/draft/undoEdit"); + Endpoints[2957] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/targetRegion/{targetRegion}/percentile/metrics"); + Endpoints[2958] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Logic/workflows/{workflowName}/triggers/{triggerName}/schemas/json"); + Endpoints[2959] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/databases/{databaseName}/automaticTuning/current"); + Endpoints[2960] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.StorSimple/managers/{managerName}/devices/{deviceName}/alertSettings/default"); + Endpoints[2961] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.StorSimple/managers/{managerName}/devices/{deviceName}/networkSettings/default"); + Endpoints[2962] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.StorSimple/managers/{managerName}/devices/{deviceName}/securitySettings/default"); + Endpoints[2963] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.StorSimple/managers/{managerName}/devices/{deviceName}/timeSettings/default"); + Endpoints[2964] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.StorSimple/managers/{managerName}/devices/{deviceName}/updateSummary/default"); + Endpoints[2965] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/instances/{instanceId}/extensions/MSDeploy"); + Endpoints[2966] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/backups/discover"); + Endpoints[2967] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/config/appsettings"); + Endpoints[2968] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/config/authsettings"); + Endpoints[2969] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/config/backup"); + Endpoints[2970] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/config/connectionstrings"); + Endpoints[2971] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/config/logs"); + Endpoints[2972] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/config/metadata"); + Endpoints[2973] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/config/pushsettings"); + Endpoints[2974] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/config/web"); + Endpoints[2975] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/extensions/MSDeploy"); + Endpoints[2976] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/migratemysql/status"); + Endpoints[2977] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/networkTrace/start"); + Endpoints[2978] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/networkTrace/stop"); + Endpoints[2979] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/privateAccess/virtualNetworks"); + Endpoints[2980] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/resourceHealthMetadata/default"); + Endpoints[2981] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/sourcecontrols/web"); + Endpoints[2982] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Automation/automationAccounts/{automationAccountName}/runbooks/{runbookName}/draft/testJob/resume"); + Endpoints[2983] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Automation/automationAccounts/{automationAccountName}/runbooks/{runbookName}/draft/testJob/stop"); + Endpoints[2984] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Automation/automationAccounts/{automationAccountName}/runbooks/{runbookName}/draft/testJob/streams"); + Endpoints[2985] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Automation/automationAccounts/{automationAccountName}/runbooks/{runbookName}/draft/testJob/suspend"); + Endpoints[2986] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ServerManagement/nodes/{nodeName}/sessions/{session}/features/powerShellConsole/pssessions"); + Endpoints[2987] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.StorSimple/managers/{managerName}/devices/{deviceName}/securitySettings/default/syncRemoteManagementCertificate"); + Endpoints[2988] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/instances/{instanceId}/extensions/MSDeploy/log"); + Endpoints[2989] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/config/appsettings/list"); + Endpoints[2990] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/config/authsettings/list"); + Endpoints[2991] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/config/backup/list"); + Endpoints[2992] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/config/connectionstrings/list"); + Endpoints[2993] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/config/metadata/list"); + Endpoints[2994] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/config/publishingcredentials/list"); + Endpoints[2995] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/config/pushsettings/list"); + Endpoints[2996] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/config/web/snapshots"); + Endpoints[2997] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/containerlogs/zip/download"); + Endpoints[2998] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/extensions/MSDeploy/log"); + Endpoints[2999] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/functions/admin/token"); + Endpoints[3000] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Automation/automationAccounts/{automationAccountName}/runbooks/{runbookName}/draft/testJob/streams/{jobStreamId}"); + Endpoints[3001] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ServerManagement/nodes/{nodeName}/sessions/{session}/features/powerShellConsole/pssessions/{pssession}"); + Endpoints[3002] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/config/web/snapshots/{snapshotId}"); + Endpoints[3003] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ServerManagement/nodes/{nodeName}/sessions/{session}/features/powerShellConsole/pssessions/{pssession}/cancel"); + Endpoints[3004] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ServerManagement/nodes/{nodeName}/sessions/{session}/features/powerShellConsole/pssessions/{pssession}/invokeCommand"); + Endpoints[3005] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ServerManagement/nodes/{nodeName}/sessions/{session}/features/powerShellConsole/pssessions/{pssession}/tab"); + Endpoints[3006] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/config/web/snapshots/{snapshotId}/recover"); + Endpoints[3007] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{groupName}/providers/Microsoft.DataMigration/services/{serviceName}/projects/{projectName}/tasks/{taskName}"); + Endpoints[3008] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/apis/{apiId}/diagnostics/{diagnosticId}"); + Endpoints[3009] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/apis/{apiId}/issues/{issueId}"); + Endpoints[3010] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/apis/{apiId}/operations/{operationId}"); + Endpoints[3011] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/apis/{apiId}/policies/{policyId}"); + Endpoints[3012] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/apis/{apiId}/releases/{releaseId}"); + Endpoints[3013] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/apis/{apiId}/schemas/{schemaId}"); + Endpoints[3014] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/apis/{apiId}/tagDescriptions/{tagId}"); + Endpoints[3015] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/apis/{apiId}/tags/{tagId}"); + Endpoints[3016] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/diagnostics/{diagnosticId}/loggers/{loggerid}"); + Endpoints[3017] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/groups/{groupId}/users/{uid}"); + Endpoints[3018] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/notifications/{notificationName}/recipientEmails/{email}"); + Endpoints[3019] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/notifications/{notificationName}/recipientUsers/{uid}"); + Endpoints[3020] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/products/{productId}/apis/{apiId}"); + Endpoints[3021] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/products/{productId}/groups/{groupId}"); + Endpoints[3022] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/products/{productId}/policies/{policyId}"); + Endpoints[3023] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/products/{productId}/tags/{tagId}"); + Endpoints[3024] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/quotas/{quotaCounterKey}/periods/{quotaPeriodKey}"); + Endpoints[3025] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Automation/automationAccounts/{automationAccountName}/compilationjobs/{jobId}/streams/{jobStreamId}"); + Endpoints[3026] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Automation/automationAccounts/{automationAccountName}/jobs/{jobId}/streams/{jobStreamId}"); + Endpoints[3027] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Automation/automationAccounts/{automationAccountName}/modules/{moduleName}/activities/{activityName}"); + Endpoints[3028] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Automation/automationAccounts/{automationAccountName}/nodes/{nodeId}/reports/{reportId}"); + Endpoints[3029] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Automation/automationAccounts/{automationAccountName}/sourceControls/{sourceControlName}/sourceControlSyncJobs/{sourceControlSyncJobId}"); + Endpoints[3030] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Batch/batchAccounts/{accountName}/applications/{applicationId}/versions/{version}"); + Endpoints[3031] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.BatchAI/workspaces/{workspaceName}/experiments/{experimentName}/jobs/{jobName}"); + Endpoints[3032] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Cdn/profiles/{profileName}/endpoints/{endpointName}/customDomains/{customDomainName}"); + Endpoints[3033] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Cdn/profiles/{profileName}/endpoints/{endpointName}/origins/{originName}"); + Endpoints[3034] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/galleries/{galleryName}/images/{galleryImageName}/versions/{galleryImageVersionName}"); + Endpoints[3035] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/microsoft.Compute/virtualMachineScaleSets/{virtualMachineScaleSetName}/virtualMachines/{virtualmachineIndex}/networkInterfaces/{networkInterfaceName}"); + Endpoints[3036] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerRegistry/registries/{registryName}/buildTasks/{buildTaskName}/steps/{stepName}"); + Endpoints[3037] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.CustomerInsights/hubs/{hubName}/connectors/{connectorName}/mappings/{mappingName}"); + Endpoints[3038] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataFactory/factories/{factoryName}/integrationRuntimes/{integrationRuntimeName}/nodes/{nodeName}"); + Endpoints[3039] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataLakeAnalytics/accounts/{accountName}/storageAccounts/{storageAccountName}/containers/{containerName}"); + Endpoints[3040] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Devices/IotHubs/{resourceName}/eventHubEndpoints/{eventHubEndpointName}/ConsumerGroups/{name}"); + Endpoints[3041] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DevTestLab/labs/{labName}/artifactsources/{artifactSourceName}/armtemplates/{name}"); + Endpoints[3042] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DevTestLab/labs/{labName}/artifactsources/{artifactSourceName}/artifacts/{name}"); + Endpoints[3043] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DevTestLab/labs/{labName}/policysets/{policySetName}/policies/{name}"); + Endpoints[3044] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DevTestLab/labs/{labName}/users/{userName}/disks/{name}"); + Endpoints[3045] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DevTestLab/labs/{labName}/users/{userName}/environments/{name}"); + Endpoints[3046] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DevTestLab/labs/{labName}/users/{userName}/secrets/{name}"); + Endpoints[3047] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DevTestLab/labs/{labName}/virtualmachines/{virtualMachineName}/schedules/{name}"); + Endpoints[3048] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.EventHub/namespaces/{namespaceName}/disasterRecoveryConfigs/{alias}/AuthorizationRules/{authorizationRuleName}"); + Endpoints[3049] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.EventHub/namespaces/{namespaceName}/eventhubs/{eventHubName}/authorizationRules/{authorizationRuleName}"); + Endpoints[3050] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.EventHub/namespaces/{namespaceName}/eventhubs/{eventHubName}/consumergroups/{consumerGroupName}"); + Endpoints[3051] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Fabric.Admin/fabricLocations/{location}/logicalNetworks/{logicalNetwork}/logicalSubnets/{logicalSubnet}"); + Endpoints[3052] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Fabric.Admin/fabricLocations/{location}/storageSubSystems/{storageSubSystem}/storagePools/{storagePool}"); + Endpoints[3053] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.InfrastructureInsights.Admin/regionHealths/{location}/serviceHealths/{serviceRegistrationId}/resourceHealths/{resourceRegistrationId}"); + Endpoints[3054] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Logic/workflows/{workflowName}/runs/{runName}/actions/{actionName}"); + Endpoints[3055] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Logic/workflows/{workflowName}/runs/{runName}/operations/{operationId}"); + Endpoints[3056] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Logic/workflows/{workflowName}/triggers/{triggerName}/histories/{historyName}"); + Endpoints[3057] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.MachineLearningExperimentation/accounts/{accountName}/workspaces/{workspaceName}/projects/{projectName}"); + Endpoints[3058] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Media/mediaservices/{accountName}/liveEvents/{liveEventName}/liveOutputs/{liveOutputName}"); + Endpoints[3059] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Media/mediaServices/{accountName}/transforms/{transformName}/jobs/{jobName}"); + Endpoints[3060] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Migrate/projects/{projectName}/groups/{groupName}/assessments/{assessmentName}"); + Endpoints[3061] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/expressRouteCircuits/{circuitName}/peerings/{peeringName}/arpTables/{devicePath}"); + Endpoints[3062] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/expressRouteCircuits/{circuitName}/peerings/{peeringName}/connections/{connectionName}"); + Endpoints[3063] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/expressRouteCircuits/{circuitName}/peerings/{peeringName}/routeTables/{devicePath}"); + Endpoints[3064] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/expressRouteCircuits/{circuitName}/peerings/{peeringName}/routeTablesSummary/{devicePath}"); + Endpoints[3065] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/expressRouteCrossConnections/{crossConnectionName}/peerings/{peeringName}/arpTables/{devicePath}"); + Endpoints[3066] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/expressRouteCrossConnections/{crossConnectionName}/peerings/{peeringName}/routeTables/{devicePath}"); + Endpoints[3067] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/expressRouteCrossConnections/{crossConnectionName}/peerings/{peeringName}/routeTablesSummary/{devicePath}"); + Endpoints[3068] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.NotificationHubs/namespaces/{namespaceName}/notificationHubs/{notificationHubName}/AuthorizationRules/{authorizationRuleName}"); + Endpoints[3069] = CreateEndpoint("/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationFabrics/{fabricName}/replicationLogicalNetworks/{logicalNetworkName}"); + Endpoints[3070] = CreateEndpoint("/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationFabrics/{fabricName}/replicationNetworks/{networkName}"); + Endpoints[3071] = CreateEndpoint("/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationFabrics/{fabricName}/replicationProtectionContainers/{protectionContainerName}"); + Endpoints[3072] = CreateEndpoint("/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationFabrics/{fabricName}/replicationRecoveryServicesProviders/{providerName}"); + Endpoints[3073] = CreateEndpoint("/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationFabrics/{fabricName}/replicationStorageClassifications/{storageClassificationName}"); + Endpoints[3074] = CreateEndpoint("/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationFabrics/{fabricName}/replicationvCenters/{vCenterName}"); + Endpoints[3075] = CreateEndpoint("/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupFabrics/{fabricName}/backupProtectionIntent/{intentObjectName}"); + Endpoints[3076] = CreateEndpoint("/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupFabrics/{fabricName}/operationResults/{operationId}"); + Endpoints[3077] = CreateEndpoint("/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupFabrics/{fabricName}/protectionContainers/{containerName}"); + Endpoints[3078] = CreateEndpoint("/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupJobs/{jobName}/operationResults/{operationId}"); + Endpoints[3079] = CreateEndpoint("/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupPolicies/{policyName}/operationResults/{operationId}"); + Endpoints[3080] = CreateEndpoint("/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupPolicies/{policyName}/operations/{operationId}"); + Endpoints[3081] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Relay/namespaces/{namespaceName}/hybridConnections/{hybridConnectionName}/authorizationRules/{authorizationRuleName}"); + Endpoints[3082] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Relay/namespaces/{namespaceName}/wcfRelays/{relayName}/authorizationRules/{authorizationRuleName}"); + Endpoints[3083] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ServiceBus/namespaces/{namespaceName}/disasterRecoveryConfigs/{alias}/AuthorizationRules/{authorizationRuleName}"); + Endpoints[3084] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ServiceBus/namespaces/{namespaceName}/eventhubs/{eventhubName}/authorizationRules/{authorizationRuleName}"); + Endpoints[3085] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ServiceBus/namespaces/{namespaceName}/queues/{queueName}/authorizationRules/{authorizationRuleName}"); + Endpoints[3086] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ServiceBus/namespaces/{namespaceName}/topics/{topicName}/authorizationRules/{authorizationRuleName}"); + Endpoints[3087] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ServiceBus/namespaces/{namespaceName}/topics/{topicName}/subscriptions/{subscriptionName}"); + Endpoints[3088] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ServiceFabric/clusters/{clusterName}/applications/{applicationName}/services/{serviceName}"); + Endpoints[3089] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ServiceFabric/clusters/{clusterName}/applicationTypes/{applicationTypeName}/versions/{version}"); + Endpoints[3090] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/databases/{databaseName}/advisors/{advisorName}"); + Endpoints[3091] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/databases/{databaseName}/auditingPolicies/{tableAuditingPolicyName}"); + Endpoints[3092] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/databases/{databaseName}/auditingSettings/{blobAuditingPolicyName}"); + Endpoints[3093] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/databases/{databaseName}/backupLongTermRetentionPolicies/{backupLongTermRetentionPolicyName}"); + Endpoints[3094] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/databases/{databaseName}/backupShortTermRetentionPolicies/{policyName}"); + Endpoints[3095] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/databases/{databaseName}/connectionPolicies/{connectionPolicyName}"); + Endpoints[3096] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/databases/{databaseName}/dataMaskingPolicies/{dataMaskingPolicyName}"); + Endpoints[3097] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/databases/{databaseName}/dataWarehouseUserActivities/{dataWarehouseUserActivityName}"); + Endpoints[3098] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/databases/{databaseName}/extensions/{extensionName}"); + Endpoints[3099] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/databases/{databaseName}/geoBackupPolicies/{geoBackupPolicyName}"); + Endpoints[3100] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/databases/{databaseName}/replicationLinks/{linkId}"); + Endpoints[3101] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/databases/{databaseName}/restorePoints/{restorePointName}"); + Endpoints[3102] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/databases/{databaseName}/securityAlertPolicies/{securityAlertPolicyName}"); + Endpoints[3103] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/databases/{databaseName}/serviceTierAdvisors/{serviceTierAdvisorName}"); + Endpoints[3104] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/databases/{databaseName}/syncGroups/{syncGroupName}"); + Endpoints[3105] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/databases/{databaseName}/transparentDataEncryption/{transparentDataEncryptionName}"); + Endpoints[3106] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/databases/{databaseName}/vulnerabilityAssessments/{vulnerabilityAssessmentName}"); + Endpoints[3107] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/elasticPools/{elasticPoolName}/databases/{databaseName}"); + Endpoints[3108] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/jobAgents/{jobAgentName}/credentials/{credentialName}"); + Endpoints[3109] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/jobAgents/{jobAgentName}/jobs/{jobName}"); + Endpoints[3110] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/jobAgents/{jobAgentName}/targetGroups/{targetGroupName}"); + Endpoints[3111] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/recommendedElasticPools/{recommendedElasticPoolName}/databases/{databaseName}"); + Endpoints[3112] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.StorSimple/managers/{managerName}/devices/{deviceName}/backupPolicies/{backupPolicyName}"); + Endpoints[3113] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.StorSimple/managers/{managerName}/devices/{deviceName}/backups/{backupName}"); + Endpoints[3114] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.StorSimple/managers/{managerName}/devices/{deviceName}/jobs/{jobName}"); + Endpoints[3115] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.StorSimple/managers/{managerName}/devices/{deviceName}/volumeContainers/{volumeContainerName}"); + Endpoints[3116] = CreateEndpoint("/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.Update.Admin/updateLocations/{updateLocation}/updates/{updateName}/updateRuns/{runName}"); + Endpoints[3117] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/serverfarms/{name}/hybridConnectionNamespaces/{namespaceName}/relays/{relayName}"); + Endpoints[3118] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/serverfarms/{name}/virtualNetworkConnections/{vnetName}/gateways/{gatewayName}"); + Endpoints[3119] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/serverfarms/{name}/virtualNetworkConnections/{vnetName}/routes/{routeName}"); + Endpoints[3120] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/hybridConnectionNamespaces/{namespaceName}/relays/{relayName}"); + Endpoints[3121] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/instances/{instanceId}/deployments/{id}"); + Endpoints[3122] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/instances/{instanceId}/processes/{processId}"); + Endpoints[3123] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/processes/{processId}/modules/{baseAddress}"); + Endpoints[3124] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/processes/{processId}/threads/{threadId}"); + Endpoints[3125] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/backups/{backupId}"); + Endpoints[3126] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/continuouswebjobs/{webJobName}"); + Endpoints[3127] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/deployments/{id}"); + Endpoints[3128] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/domainOwnershipIdentifiers/{domainOwnershipIdentifierName}"); + Endpoints[3129] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/functions/{functionName}"); + Endpoints[3130] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/hostNameBindings/{hostName}"); + Endpoints[3131] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/hybridconnection/{entityName}"); + Endpoints[3132] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/networkFeatures/{view}"); + Endpoints[3133] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/operationresults/{operationId}"); + Endpoints[3134] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/premieraddons/{premierAddOnName}"); + Endpoints[3135] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/processes/{processId}"); + Endpoints[3136] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/publicCertificates/{publicCertificateName}"); + Endpoints[3137] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/siteextensions/{siteExtensionId}"); + Endpoints[3138] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/triggeredwebjobs/{webJobName}"); + Endpoints[3139] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/virtualNetworkConnections/{vnetName}"); + Endpoints[3140] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/webjobs/{webJobName}"); + Endpoints[3141] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/triggeredwebjobs/{webJobName}/history/{id}"); + Endpoints[3142] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/virtualNetworkConnections/{vnetName}/gateways/{gatewayName}"); + Endpoints[3143] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{siteName}/diagnostics/{diagnosticCategory}/analyses/{analysisName}"); + Endpoints[3144] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{siteName}/diagnostics/{diagnosticCategory}/detectors/{detectorName}"); + Endpoints[3145] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{siteName}/slots/{slot}/detectors/{detectorName}"); + Endpoints[3146] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{siteName}/slots/{slot}/diagnostics/{diagnosticCategory}"); + Endpoints[3147] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{groupName}/providers/Microsoft.DataMigration/services/{serviceName}/projects/{projectName}/tasks/{taskName}/cancel"); + Endpoints[3148] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/apis/{apiId}/diagnostics/{diagnosticId}/loggers"); + Endpoints[3149] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/apis/{apiId}/issues/{issueId}/attachments"); + Endpoints[3150] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/apis/{apiId}/issues/{issueId}/comments"); + Endpoints[3151] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/apis/{apiId}/operations/{operationId}/policies"); + Endpoints[3152] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/apis/{apiId}/operations/{operationId}/policy"); + Endpoints[3153] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/apis/{apiId}/operations/{operationId}/tags"); + Endpoints[3154] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Automation/automationAccounts/{automationAccountName}/modules/{moduleName}/objectDataTypes/{typeName}/fields"); + Endpoints[3155] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Automation/automationAccounts/{automationAccountName}/modules/{moduleName}/types/{typeName}/fields"); + Endpoints[3156] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Automation/automationAccounts/{automationAccountName}/nodes/{nodeId}/reports/{reportId}/content"); + Endpoints[3157] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Automation/automationAccounts/{automationAccountName}/sourceControls/{sourceControlName}/sourceControlSyncJobs/{sourceControlSyncJobId}/streams"); + Endpoints[3158] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Batch/batchAccounts/{accountName}/applications/{applicationId}/versions/{version}/activate"); + Endpoints[3159] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.BatchAI/workspaces/{workspaceName}/experiments/{experimentName}/jobs/{jobName}/listOutputFiles"); + Endpoints[3160] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.BatchAI/workspaces/{workspaceName}/experiments/{experimentName}/jobs/{jobName}/listRemoteLoginInformation"); + Endpoints[3161] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.BatchAI/workspaces/{workspaceName}/experiments/{experimentName}/jobs/{jobName}/terminate"); + Endpoints[3162] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Cdn/profiles/{profileName}/endpoints/{endpointName}/customDomains/{customDomainName}/disableCustomHttps"); + Endpoints[3163] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Cdn/profiles/{profileName}/endpoints/{endpointName}/customDomains/{customDomainName}/enableCustomHttps"); + Endpoints[3164] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/microsoft.Compute/virtualMachineScaleSets/{virtualMachineScaleSetName}/virtualMachines/{virtualmachineIndex}/networkInterfaces/{networkInterfaceName}/ipConfigurations"); + Endpoints[3165] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerRegistry/registries/{registryName}/buildTasks/{buildTaskName}/steps/{stepName}/listBuildArguments"); + Endpoints[3166] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataFactory/factories/{factoryName}/integrationRuntimes/{integrationRuntimeName}/nodes/{nodeName}/ipAddress"); + Endpoints[3167] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataLakeAnalytics/accounts/{accountName}/storageAccounts/{storageAccountName}/containers/{containerName}/listSasTokens"); + Endpoints[3168] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DevTestLab/labs/{labName}/artifactsources/{artifactSourceName}/artifacts/{name}/generateArmTemplate"); + Endpoints[3169] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DevTestLab/labs/{labName}/users/{userName}/disks/{name}/attach"); + Endpoints[3170] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DevTestLab/labs/{labName}/users/{userName}/disks/{name}/detach"); + Endpoints[3171] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DevTestLab/labs/{labName}/virtualmachines/{virtualMachineName}/schedules/{name}/execute"); + Endpoints[3172] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/databases/{databaseRid}/collections/{collectionRid}/metricDefinitions"); + Endpoints[3173] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/databases/{databaseRid}/collections/{collectionRid}/metrics"); + Endpoints[3174] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/databases/{databaseRid}/collections/{collectionRid}/usages"); + Endpoints[3175] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.EventHub/namespaces/{namespaceName}/disasterRecoveryConfigs/{alias}/AuthorizationRules/{authorizationRuleName}/listKeys"); + Endpoints[3176] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.EventHub/namespaces/{namespaceName}/eventhubs/{eventHubName}/authorizationRules/{authorizationRuleName}/ListKeys"); + Endpoints[3177] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.EventHub/namespaces/{namespaceName}/eventhubs/{eventHubName}/authorizationRules/{authorizationRuleName}/regenerateKeys"); + Endpoints[3178] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Fabric.Admin/fabricLocations/{location}/storageSubSystems/{storageSubSystem}/storagePools/{storagePool}/volumes"); + Endpoints[3179] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Logic/workflows/{workflowName}/runs/{runName}/actions/{actionName}/listExpressionTraces"); + Endpoints[3180] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Logic/workflows/{workflowName}/runs/{runName}/actions/{actionName}/repetitions"); + Endpoints[3181] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Logic/workflows/{workflowName}/runs/{runName}/actions/{actionName}/scopeRepetitions"); + Endpoints[3182] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Logic/workflows/{workflowName}/triggers/{triggerName}/histories/{historyName}/resubmit"); + Endpoints[3183] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Logic/workflows/{workflowName}/versions/{versionId}/triggers/{triggerName}/listCallbackUrl"); + Endpoints[3184] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Media/mediaServices/{accountName}/transforms/{transformName}/jobs/{jobName}/cancelJob"); + Endpoints[3185] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Migrate/projects/{projectName}/groups/{groupName}/assessments/{assessmentName}/assessedMachines"); + Endpoints[3186] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Migrate/projects/{projectName}/groups/{groupName}/assessments/{assessmentName}/downloadUrl"); + Endpoints[3187] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.NotificationHubs/namespaces/{namespaceName}/notificationHubs/{notificationHubName}/AuthorizationRules/{authorizationRuleName}/listKeys"); + Endpoints[3188] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.NotificationHubs/namespaces/{namespaceName}/notificationHubs/{notificationHubName}/AuthorizationRules/{authorizationRuleName}/regenerateKeys"); + Endpoints[3189] = CreateEndpoint("/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationFabrics/{fabricName}/replicationNetworks/{networkName}/replicationNetworkMappings"); + Endpoints[3190] = CreateEndpoint("/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationFabrics/{fabricName}/replicationProtectionContainers/{protectionContainerName}/discoverProtectableItem"); + Endpoints[3191] = CreateEndpoint("/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationFabrics/{fabricName}/replicationProtectionContainers/{protectionContainerName}/remove"); + Endpoints[3192] = CreateEndpoint("/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationFabrics/{fabricName}/replicationProtectionContainers/{protectionContainerName}/replicationProtectableItems"); + Endpoints[3193] = CreateEndpoint("/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationFabrics/{fabricName}/replicationProtectionContainers/{protectionContainerName}/replicationProtectedItems"); + Endpoints[3194] = CreateEndpoint("/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationFabrics/{fabricName}/replicationProtectionContainers/{protectionContainerName}/replicationProtectionContainerMappings"); + Endpoints[3195] = CreateEndpoint("/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationFabrics/{fabricName}/replicationProtectionContainers/{protectionContainerName}/switchprotection"); + Endpoints[3196] = CreateEndpoint("/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationFabrics/{fabricName}/replicationRecoveryServicesProviders/{providerName}/refreshProvider"); + Endpoints[3197] = CreateEndpoint("/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationFabrics/{fabricName}/replicationRecoveryServicesProviders/{providerName}/remove"); + Endpoints[3198] = CreateEndpoint("/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationFabrics/{fabricName}/replicationStorageClassifications/{storageClassificationName}/replicationStorageClassificationMappings"); + Endpoints[3199] = CreateEndpoint("/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupFabrics/{fabricName}/protectionContainers/{containerName}/inquire"); + Endpoints[3200] = CreateEndpoint("/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupFabrics/{fabricName}/protectionContainers/{containerName}/items"); + Endpoints[3201] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Relay/namespaces/{namespaceName}/hybridConnections/{hybridConnectionName}/authorizationRules/{authorizationRuleName}/listKeys"); + Endpoints[3202] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Relay/namespaces/{namespaceName}/hybridConnections/{hybridConnectionName}/authorizationRules/{authorizationRuleName}/regenerateKeys"); + Endpoints[3203] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Relay/namespaces/{namespaceName}/wcfRelays/{relayName}/authorizationRules/{authorizationRuleName}/listKeys"); + Endpoints[3204] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Relay/namespaces/{namespaceName}/wcfRelays/{relayName}/authorizationRules/{authorizationRuleName}/regenerateKeys"); + Endpoints[3205] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ServiceBus/namespaces/{namespaceName}/disasterRecoveryConfigs/{alias}/AuthorizationRules/{authorizationRuleName}/listKeys"); + Endpoints[3206] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ServiceBus/namespaces/{namespaceName}/queues/{queueName}/authorizationRules/{authorizationRuleName}/ListKeys"); + Endpoints[3207] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ServiceBus/namespaces/{namespaceName}/queues/{queueName}/authorizationRules/{authorizationRuleName}/regenerateKeys"); + Endpoints[3208] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ServiceBus/namespaces/{namespaceName}/topics/{topicName}/authorizationRules/{authorizationRuleName}/ListKeys"); + Endpoints[3209] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ServiceBus/namespaces/{namespaceName}/topics/{topicName}/authorizationRules/{authorizationRuleName}/regenerateKeys"); + Endpoints[3210] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ServiceBus/namespaces/{namespaceName}/topics/{topicName}/subscriptions/{subscriptionName}/rules"); + Endpoints[3211] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/databases/{databaseName}/advisors/{advisorName}/recommendedActions"); + Endpoints[3212] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/databases/{databaseName}/dataMaskingPolicies/{dataMaskingPolicyName}/rules"); + Endpoints[3213] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/databases/{databaseName}/operations/{operationId}/cancel"); + Endpoints[3214] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/databases/{databaseName}/replicationLinks/{linkId}/failover"); + Endpoints[3215] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/databases/{databaseName}/replicationLinks/{linkId}/forceFailoverAllowDataLoss"); + Endpoints[3216] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/databases/{databaseName}/syncGroups/{syncGroupName}/cancelSync"); + Endpoints[3217] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/databases/{databaseName}/syncGroups/{syncGroupName}/hubSchemas"); + Endpoints[3218] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/databases/{databaseName}/syncGroups/{syncGroupName}/logs"); + Endpoints[3219] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/databases/{databaseName}/syncGroups/{syncGroupName}/refreshHubSchema"); + Endpoints[3220] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/databases/{databaseName}/syncGroups/{syncGroupName}/syncMembers"); + Endpoints[3221] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/databases/{databaseName}/syncGroups/{syncGroupName}/triggerSync"); + Endpoints[3222] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/databases/{databaseName}/topQueries/{queryId}/queryText"); + Endpoints[3223] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/databases/{databaseName}/topQueries/{queryId}/statistics"); + Endpoints[3224] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/databases/{databaseName}/transparentDataEncryption/{transparentDataEncryptionName}/operationResults"); + Endpoints[3225] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/databases/{databaseName}/vulnerabilityAssessments/{vulnerabilityAssessmentName}/scans"); + Endpoints[3226] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/elasticPools/{elasticPoolName}/operations/{operationId}/cancel"); + Endpoints[3227] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/jobAgents/{jobAgentName}/jobs/{jobName}/executions"); + Endpoints[3228] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/jobAgents/{jobAgentName}/jobs/{jobName}/start"); + Endpoints[3229] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/jobAgents/{jobAgentName}/jobs/{jobName}/steps"); + Endpoints[3230] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/jobAgents/{jobAgentName}/jobs/{jobName}/versions"); + Endpoints[3231] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.StorSimple/managers/{managerName}/devices/{deviceName}/backupPolicies/{backupPolicyName}/backup"); + Endpoints[3232] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.StorSimple/managers/{managerName}/devices/{deviceName}/backupPolicies/{backupPolicyName}/schedules"); + Endpoints[3233] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.StorSimple/managers/{managerName}/devices/{deviceName}/backups/{backupName}/restore"); + Endpoints[3234] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.StorSimple/managers/{managerName}/devices/{deviceName}/hardwareComponentGroups/{hardwareComponentGroupName}/changeControllerPowerState"); + Endpoints[3235] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.StorSimple/managers/{managerName}/devices/{deviceName}/jobs/{jobName}/cancel"); + Endpoints[3236] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.StorSimple/managers/{managerName}/devices/{deviceName}/volumeContainers/{volumeContainerName}/metrics"); + Endpoints[3237] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.StorSimple/managers/{managerName}/devices/{deviceName}/volumeContainers/{volumeContainerName}/metricsDefinitions"); + Endpoints[3238] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.StorSimple/managers/{managerName}/devices/{deviceName}/volumeContainers/{volumeContainerName}/volumes"); + Endpoints[3239] = CreateEndpoint("/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.Update.Admin/updateLocations/{updateLocation}/updates/{updateName}/updateRuns/{runName}/rerun"); + Endpoints[3240] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/microsoft.visualstudio/account/{rootResourceName}/project/{resourceName}/subContainers/{subContainerName}/status"); + Endpoints[3241] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/hostingEnvironments/{name}/workerPools/{workerPoolName}/instances/{instance}/metricdefinitions"); + Endpoints[3242] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/hostingEnvironments/{name}/workerPools/{workerPoolName}/instances/{instance}/metrics"); + Endpoints[3243] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/serverfarms/{name}/hybridConnectionNamespaces/{namespaceName}/relays/{relayName}/listKeys"); + Endpoints[3244] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/serverfarms/{name}/hybridConnectionNamespaces/{namespaceName}/relays/{relayName}/sites"); + Endpoints[3245] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/hybridConnectionNamespaces/{namespaceName}/relays/{relayName}/listKeys"); + Endpoints[3246] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/instances/{instanceId}/processes/{processId}/dump"); + Endpoints[3247] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/instances/{instanceId}/processes/{processId}/modules"); + Endpoints[3248] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/instances/{instanceId}/processes/{processId}/threads"); + Endpoints[3249] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/backups/{backupId}/list"); + Endpoints[3250] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/backups/{backupId}/restore"); + Endpoints[3251] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/continuouswebjobs/{webJobName}/start"); + Endpoints[3252] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/continuouswebjobs/{webJobName}/stop"); + Endpoints[3253] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/deployments/{id}/log"); + Endpoints[3254] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/functions/{functionName}/listsecrets"); + Endpoints[3255] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/instances/{instanceId}/deployments"); + Endpoints[3256] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/instances/{instanceId}/processes"); + Endpoints[3257] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/processes/{processId}/dump"); + Endpoints[3258] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/processes/{processId}/modules"); + Endpoints[3259] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/processes/{processId}/threads"); + Endpoints[3260] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/triggeredwebjobs/{webJobName}/history"); + Endpoints[3261] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/triggeredwebjobs/{webJobName}/run"); + Endpoints[3262] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{siteName}/diagnostics/{diagnosticCategory}/analyses/{analysisName}/execute"); + Endpoints[3263] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{siteName}/diagnostics/{diagnosticCategory}/detectors/{detectorName}/execute"); + Endpoints[3264] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{siteName}/slots/{slot}/diagnostics/{diagnosticCategory}/analyses"); + Endpoints[3265] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{siteName}/slots/{slot}/diagnostics/{diagnosticCategory}/detectors"); + Endpoints[3266] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/databases/{databaseRid}/collections/{collectionRid}/partitions/metrics"); + Endpoints[3267] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/databases/{databaseRid}/collections/{collectionRid}/partitions/usages"); + Endpoints[3268] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/sourceRegion/{sourceRegion}/targetRegion/{targetRegion}/percentile/metrics"); + Endpoints[3269] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/instances/{instanceId}/extensions/MSDeploy"); + Endpoints[3270] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/instances/{instanceId}/extensions/MSDeploy/log"); + Endpoints[3271] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/apis/{apiId}/diagnostics/{diagnosticId}/loggers/{loggerid}"); + Endpoints[3272] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/apis/{apiId}/issues/{issueId}/attachments/{attachmentId}"); + Endpoints[3273] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/apis/{apiId}/issues/{issueId}/comments/{commentId}"); + Endpoints[3274] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/apis/{apiId}/operations/{operationId}/policies/{policyId}"); + Endpoints[3275] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/apis/{apiId}/operations/{operationId}/tags/{tagId}"); + Endpoints[3276] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Automation/automationAccounts/{automationAccountName}/sourceControls/{sourceControlName}/sourceControlSyncJobs/{sourceControlSyncJobId}/streams/{streamId}"); + Endpoints[3277] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/microsoft.Compute/virtualMachineScaleSets/{virtualMachineScaleSetName}/virtualMachines/{virtualmachineIndex}/networkInterfaces/{networkInterfaceName}/ipConfigurations/{ipConfigurationName}"); + Endpoints[3278] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Fabric.Admin/fabricLocations/{location}/storageSubSystems/{storageSubSystem}/storagePools/{storagePool}/volumes/{volume}"); + Endpoints[3279] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Logic/workflows/{workflowName}/runs/{runName}/actions/{actionName}/repetitions/{repetitionName}"); + Endpoints[3280] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Logic/workflows/{workflowName}/runs/{runName}/actions/{actionName}/scopeRepetitions/{repetitionName}"); + Endpoints[3281] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Migrate/projects/{projectName}/groups/{groupName}/assessments/{assessmentName}/assessedMachines/{assessedMachineName}"); + Endpoints[3282] = CreateEndpoint("/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationFabrics/{fabricName}/replicationNetworks/{networkName}/replicationNetworkMappings/{networkMappingName}"); + Endpoints[3283] = CreateEndpoint("/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationFabrics/{fabricName}/replicationProtectionContainers/{protectionContainerName}/replicationProtectableItems/{protectableItemName}"); + Endpoints[3284] = CreateEndpoint("/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationFabrics/{fabricName}/replicationProtectionContainers/{protectionContainerName}/replicationProtectedItems/{replicatedProtectedItemName}"); + Endpoints[3285] = CreateEndpoint("/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationFabrics/{fabricName}/replicationProtectionContainers/{protectionContainerName}/replicationProtectionContainerMappings/{mappingName}"); + Endpoints[3286] = CreateEndpoint("/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationFabrics/{fabricName}/replicationStorageClassifications/{storageClassificationName}/replicationStorageClassificationMappings/{storageClassificationMappingName}"); + Endpoints[3287] = CreateEndpoint("/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupFabrics/{fabricName}/protectionContainers/{containerName}/operationResults/{operationId}"); + Endpoints[3288] = CreateEndpoint("/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupFabrics/{fabricName}/protectionContainers/{containerName}/protectedItems/{protectedItemName}"); + Endpoints[3289] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ServiceBus/namespaces/{namespaceName}/topics/{topicName}/subscriptions/{subscriptionName}/rules/{ruleName}"); + Endpoints[3290] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/databases/{databaseName}/advisors/{advisorName}/recommendedActions/{recommendedActionName}"); + Endpoints[3291] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/databases/{databaseName}/dataMaskingPolicies/{dataMaskingPolicyName}/rules/{dataMaskingRuleName}"); + Endpoints[3292] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/databases/{databaseName}/syncGroups/{syncGroupName}/syncMembers/{syncMemberName}"); + Endpoints[3293] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/databases/{databaseName}/vulnerabilityAssessments/{vulnerabilityAssessmentName}/scans/{scanId}"); + Endpoints[3294] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/jobAgents/{jobAgentName}/jobs/{jobName}/executions/{jobExecutionId}"); + Endpoints[3295] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/jobAgents/{jobAgentName}/jobs/{jobName}/steps/{stepName}"); + Endpoints[3296] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/jobAgents/{jobAgentName}/jobs/{jobName}/versions/{jobVersion}"); + Endpoints[3297] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.StorSimple/managers/{managerName}/devices/{deviceName}/backupPolicies/{backupPolicyName}/schedules/{backupScheduleName}"); + Endpoints[3298] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.StorSimple/managers/{managerName}/devices/{deviceName}/volumeContainers/{volumeContainerName}/volumes/{volumeName}"); + Endpoints[3299] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/instances/{instanceId}/processes/{processId}/modules/{baseAddress}"); + Endpoints[3300] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/instances/{instanceId}/processes/{processId}/threads/{threadId}"); + Endpoints[3301] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/hybridConnectionNamespaces/{namespaceName}/relays/{relayName}"); + Endpoints[3302] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/instances/{instanceId}/deployments/{id}"); + Endpoints[3303] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/instances/{instanceId}/processes/{processId}"); + Endpoints[3304] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/processes/{processId}/modules/{baseAddress}"); + Endpoints[3305] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/processes/{processId}/threads/{threadId}"); + Endpoints[3306] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/triggeredwebjobs/{webJobName}/history/{id}"); + Endpoints[3307] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/virtualNetworkConnections/{vnetName}/gateways/{gatewayName}"); + Endpoints[3308] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{siteName}/slots/{slot}/diagnostics/{diagnosticCategory}/analyses/{analysisName}"); + Endpoints[3309] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{siteName}/slots/{slot}/diagnostics/{diagnosticCategory}/detectors/{detectorName}"); + Endpoints[3310] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/virtualMachineScaleSets/{virtualMachineScaleSetName}/virtualMachines/{virtualmachineIndex}/networkInterfaces/{networkInterfaceName}/ipconfigurations/{ipConfigurationName}/publicipaddresses"); + Endpoints[3311] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/databases/{databaseRid}/collections/{collectionRid}/partitionKeyRangeId/{partitionKeyRangeId}/metrics"); + Endpoints[3312] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/region/{region}/databases/{databaseRid}/collections/{collectionRid}/metrics"); + Endpoints[3313] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Logic/workflows/{workflowName}/runs/{runName}/actions/{actionName}/repetitions/{repetitionName}/listExpressionTraces"); + Endpoints[3314] = CreateEndpoint("/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationFabrics/{fabricName}/replicationProtectionContainers/{protectionContainerName}/replicationProtectedItems/{replicatedProtectedItemName}/applyRecoveryPoint"); + Endpoints[3315] = CreateEndpoint("/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationFabrics/{fabricName}/replicationProtectionContainers/{protectionContainerName}/replicationProtectedItems/{replicatedProtectedItemName}/failoverCommit"); + Endpoints[3316] = CreateEndpoint("/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationFabrics/{fabricName}/replicationProtectionContainers/{protectionContainerName}/replicationProtectedItems/{replicatedProtectedItemName}/plannedFailover"); + Endpoints[3317] = CreateEndpoint("/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationFabrics/{fabricName}/replicationProtectionContainers/{protectionContainerName}/replicationProtectedItems/{replicatedProtectedItemName}/recoveryPoints"); + Endpoints[3318] = CreateEndpoint("/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationFabrics/{fabricName}/replicationProtectionContainers/{protectionContainerName}/replicationProtectedItems/{replicatedProtectedItemName}/remove"); + Endpoints[3319] = CreateEndpoint("/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationFabrics/{fabricName}/replicationProtectionContainers/{protectionContainerName}/replicationProtectedItems/{replicatedProtectedItemName}/repairReplication"); + Endpoints[3320] = CreateEndpoint("/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationFabrics/{fabricName}/replicationProtectionContainers/{protectionContainerName}/replicationProtectedItems/{replicatedProtectedItemName}/reProtect"); + Endpoints[3321] = CreateEndpoint("/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationFabrics/{fabricName}/replicationProtectionContainers/{protectionContainerName}/replicationProtectedItems/{replicatedProtectedItemName}/targetComputeSizes"); + Endpoints[3322] = CreateEndpoint("/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationFabrics/{fabricName}/replicationProtectionContainers/{protectionContainerName}/replicationProtectedItems/{replicatedProtectedItemName}/testFailover"); + Endpoints[3323] = CreateEndpoint("/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationFabrics/{fabricName}/replicationProtectionContainers/{protectionContainerName}/replicationProtectedItems/{replicatedProtectedItemName}/testFailoverCleanup"); + Endpoints[3324] = CreateEndpoint("/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationFabrics/{fabricName}/replicationProtectionContainers/{protectionContainerName}/replicationProtectedItems/{replicatedProtectedItemName}/unplannedFailover"); + Endpoints[3325] = CreateEndpoint("/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationFabrics/{fabricName}/replicationProtectionContainers/{protectionContainerName}/replicationProtectedItems/{replicationProtectedItemName}/updateMobilityService"); + Endpoints[3326] = CreateEndpoint("/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationFabrics/{fabricName}/replicationProtectionContainers/{protectionContainerName}/replicationProtectionContainerMappings/{mappingName}/remove"); + Endpoints[3327] = CreateEndpoint("/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupFabrics/{fabricName}/protectionContainers/{containerName}/protectedItems/{protectedItemName}/backup"); + Endpoints[3328] = CreateEndpoint("/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupFabrics/{fabricName}/protectionContainers/{containerName}/protectedItems/{protectedItemName}/recoveryPoints"); + Endpoints[3329] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/databases/{databaseName}/syncGroups/{syncGroupName}/syncMembers/{syncMemberName}/refreshSchema"); + Endpoints[3330] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/databases/{databaseName}/syncGroups/{syncGroupName}/syncMembers/{syncMemberName}/schemas"); + Endpoints[3331] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/databases/{databaseName}/vulnerabilityAssessments/{vulnerabilityAssessmentName}/scans/{scanId}/export"); + Endpoints[3332] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/databases/{databaseName}/vulnerabilityAssessments/{vulnerabilityAssessmentName}/scans/{scanId}/initiateScan"); + Endpoints[3333] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/jobAgents/{jobAgentName}/jobs/{jobName}/executions/{jobExecutionId}/cancel"); + Endpoints[3334] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/jobAgents/{jobAgentName}/jobs/{jobName}/executions/{jobExecutionId}/steps"); + Endpoints[3335] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/jobAgents/{jobAgentName}/jobs/{jobName}/executions/{jobExecutionId}/targets"); + Endpoints[3336] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/jobAgents/{jobAgentName}/jobs/{jobName}/versions/{jobVersion}/steps"); + Endpoints[3337] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.StorSimple/managers/{managerName}/devices/{deviceName}/backups/{backupName}/elements/{backupElementName}/clone"); + Endpoints[3338] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.StorSimple/managers/{managerName}/devices/{deviceName}/volumeContainers/{volumeContainerName}/volumes/{volumeName}/metrics"); + Endpoints[3339] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.StorSimple/managers/{managerName}/devices/{deviceName}/volumeContainers/{volumeContainerName}/volumes/{volumeName}/metricsDefinitions"); + Endpoints[3340] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/hybridConnectionNamespaces/{namespaceName}/relays/{relayName}/listKeys"); + Endpoints[3341] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/instances/{instanceId}/processes/{processId}/dump"); + Endpoints[3342] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/instances/{instanceId}/processes/{processId}/modules"); + Endpoints[3343] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/instances/{instanceId}/processes/{processId}/threads"); + Endpoints[3344] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{siteName}/slots/{slot}/diagnostics/{diagnosticCategory}/analyses/{analysisName}/execute"); + Endpoints[3345] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{siteName}/slots/{slot}/diagnostics/{diagnosticCategory}/detectors/{detectorName}/execute"); + Endpoints[3346] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/region/{region}/databases/{databaseRid}/collections/{collectionRid}/partitions/metrics"); + Endpoints[3347] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/virtualMachineScaleSets/{virtualMachineScaleSetName}/virtualMachines/{virtualmachineIndex}/networkInterfaces/{networkInterfaceName}/ipconfigurations/{ipConfigurationName}/publicipaddresses/{publicIpAddressName}"); + Endpoints[3348] = CreateEndpoint("/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationFabrics/{fabricName}/replicationProtectionContainers/{protectionContainerName}/replicationProtectedItems/{replicatedProtectedItemName}/recoveryPoints/{recoveryPointName}"); + Endpoints[3349] = CreateEndpoint("/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupFabrics/{fabricName}/protectionContainers/{containerName}/protectedItems/{protectedItemName}/operationResults/{operationId}"); + Endpoints[3350] = CreateEndpoint("/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupFabrics/{fabricName}/protectionContainers/{containerName}/protectedItems/{protectedItemName}/operationsStatus/{operationId}"); + Endpoints[3351] = CreateEndpoint("/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupFabrics/{fabricName}/protectionContainers/{containerName}/protectedItems/{protectedItemName}/recoveryPoints/{recoveryPointId}"); + Endpoints[3352] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/databases/{databaseName}/vulnerabilityAssessments/{vulnerabilityAssessmentName}/rules/{ruleId}/baselines/{baselineName}"); + Endpoints[3353] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/jobAgents/{jobAgentName}/jobs/{jobName}/executions/{jobExecutionId}/steps/{stepName}"); + Endpoints[3354] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/jobAgents/{jobAgentName}/jobs/{jobName}/versions/{jobVersion}/steps/{stepName}"); + Endpoints[3355] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/instances/{instanceId}/processes/{processId}/modules/{baseAddress}"); + Endpoints[3356] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/instances/{instanceId}/processes/{processId}/threads/{threadId}"); + Endpoints[3357] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/region/{region}/databases/{databaseRid}/collections/{collectionRid}/partitionKeyRangeId/{partitionKeyRangeId}/metrics"); + Endpoints[3358] = CreateEndpoint("/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupFabrics/{fabricName}/protectionContainers/{containerName}/protectedItems/{protectedItemName}/recoveryPoints/{recoveryPointId}/provisionInstantItemRecovery"); + Endpoints[3359] = CreateEndpoint("/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupFabrics/{fabricName}/protectionContainers/{containerName}/protectedItems/{protectedItemName}/recoveryPoints/{recoveryPointId}/restore"); + Endpoints[3360] = CreateEndpoint("/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupFabrics/{fabricName}/protectionContainers/{containerName}/protectedItems/{protectedItemName}/recoveryPoints/{recoveryPointId}/revokeInstantItemRecovery"); + Endpoints[3361] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/jobAgents/{jobAgentName}/jobs/{jobName}/executions/{jobExecutionId}/steps/{stepName}/targets"); + Endpoints[3362] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/jobAgents/{jobAgentName}/jobs/{jobName}/executions/{jobExecutionId}/steps/{stepName}/targets/{targetId}"); + Endpoints[3363] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/quotas/{quotaCounterKey}/{quotaPeriodKey}"); + Endpoints[3364] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Security/locations/{ascLocation}/alerts/{alertName}/{alertUpdateActionType}"); + Endpoints[3365] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Security/locations/{ascLocation}/jitNetworkAccessPolicies/{jitNetworkAccessPolicyName}/{jitNetworkAccessPolicyActionType}"); + Endpoints[3366] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Security/locations/{ascLocation}/tasks/{taskName}/{taskUpdateActionType}"); + Endpoints[3367] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/microsoft.insights/components/{resourceName}/{scopePath}"); + Endpoints[3368] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/dnsZones/{zoneName}/{recordType}"); + Endpoints[3369] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/microsoft.insights/components/{resourceName}/{scopePath}/item"); + Endpoints[3370] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/dnsZones/{zoneName}/{recordType}/{relativeRecordSetName}"); + Endpoints[3371] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/trafficmanagerprofiles/{profileName}/{endpointType}/{endpointName}"); + Endpoints[3372] = CreateEndpoint("/apis/{apiId}/operations/{operationId}/policies/{policyId}"); + Endpoints[3373] = CreateEndpoint("/apps/{appId}/versions/{versionId}/closedlists/{clEntityId}"); + Endpoints[3374] = CreateEndpoint("/apps/{appId}/versions/{versionId}/compositeentities/{cEntityId}"); + Endpoints[3375] = CreateEndpoint("/apps/{appId}/versions/{versionId}/customprebuiltdomains/{domainName}"); + Endpoints[3376] = CreateEndpoint("/apps/{appId}/versions/{versionId}/entities/{entityId}"); + Endpoints[3377] = CreateEndpoint("/apps/{appId}/versions/{versionId}/examples/{exampleId}"); + Endpoints[3378] = CreateEndpoint("/apps/{appId}/versions/{versionId}/hierarchicalentities/{hEntityId}"); + Endpoints[3379] = CreateEndpoint("/apps/{appId}/versions/{versionId}/intents/{intentId}"); + Endpoints[3380] = CreateEndpoint("/apps/{appId}/versions/{versionId}/patternanyentities/{entityId}"); + Endpoints[3381] = CreateEndpoint("/apps/{appId}/versions/{versionId}/patternrules/{patternId}"); + Endpoints[3382] = CreateEndpoint("/apps/{appId}/versions/{versionId}/patterns/{patternId}"); + Endpoints[3383] = CreateEndpoint("/apps/{appId}/versions/{versionId}/phraselists/{phraselistId}"); + Endpoints[3384] = CreateEndpoint("/apps/{appId}/versions/{versionId}/prebuilts/{prebuiltId}"); + Endpoints[3385] = CreateEndpoint("/apps/{appId}/versions/{versionId}/regexentities/{regexEntityId}"); + Endpoints[3386] = CreateEndpoint("/jobs/{jobId}/tasks/{taskId}/files/{filePath}"); + Endpoints[3387] = CreateEndpoint("/persongroups/{personGroupId}/persons/{personId}/persistedFaces/{persistedFaceId}"); + Endpoints[3388] = CreateEndpoint("/pools/{poolId}/nodes/{nodeId}/files/{filePath}"); + Endpoints[3389] = CreateEndpoint("/pools/{poolId}/nodes/{nodeId}/users/{userName}"); + Endpoints[3390] = CreateEndpoint("/subscriptions/{subscriptionId}/tagNames/{tagName}/tagValues/{tagValue}"); + Endpoints[3391] = CreateEndpoint("/apps/{appId}/versions/{versionId}/closedlists/{clEntityId}/sublists"); + Endpoints[3392] = CreateEndpoint("/apps/{appId}/versions/{versionId}/closedlists/{entityId}/roles"); + Endpoints[3393] = CreateEndpoint("/apps/{appId}/versions/{versionId}/compositeentities/{cEntityId}/children"); + Endpoints[3394] = CreateEndpoint("/apps/{appId}/versions/{versionId}/compositeentities/{cEntityId}/roles"); + Endpoints[3395] = CreateEndpoint("/apps/{appId}/versions/{versionId}/customprebuiltentities/{entityId}/roles"); + Endpoints[3396] = CreateEndpoint("/apps/{appId}/versions/{versionId}/entities/{entityId}/roles"); + Endpoints[3397] = CreateEndpoint("/apps/{appId}/versions/{versionId}/entities/{entityId}/suggest"); + Endpoints[3398] = CreateEndpoint("/apps/{appId}/versions/{versionId}/hierarchicalentities/{hEntityId}/children"); + Endpoints[3399] = CreateEndpoint("/apps/{appId}/versions/{versionId}/hierarchicalentities/{hEntityId}/roles"); + Endpoints[3400] = CreateEndpoint("/apps/{appId}/versions/{versionId}/intents/{intentId}/patternrules"); + Endpoints[3401] = CreateEndpoint("/apps/{appId}/versions/{versionId}/intents/{intentId}/suggest"); + Endpoints[3402] = CreateEndpoint("/apps/{appId}/versions/{versionId}/models/{modelId}/examples"); + Endpoints[3403] = CreateEndpoint("/apps/{appId}/versions/{versionId}/patternanyentities/{entityId}/explicitlist"); + Endpoints[3404] = CreateEndpoint("/apps/{appId}/versions/{versionId}/patternanyentities/{entityId}/roles"); + Endpoints[3405] = CreateEndpoint("/apps/{appId}/versions/{versionId}/prebuilts/{entityId}/roles"); + Endpoints[3406] = CreateEndpoint("/apps/{appId}/versions/{versionId}/regexentities/{entityId}/roles"); + Endpoints[3407] = CreateEndpoint("/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/deployments/{deploymentName}/operations"); + Endpoints[3408] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/{authorizationNamespace}/policyAssignments/{policyAssignmentName}/providers/Microsoft.PolicyInsights/policyEvents/{policyEventsResource}/queryResults"); + Endpoints[3409] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/{authorizationNamespace}/policyAssignments/{policyAssignmentName}/providers/Microsoft.PolicyInsights/policyStates/{policyStatesResource}/queryResults"); + Endpoints[3410] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/{authorizationNamespace}/policyAssignments/{policyAssignmentName}/providers/Microsoft.PolicyInsights/policyStates/{policyStatesSummaryResource}/summarize"); + Endpoints[3411] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/{authorizationNamespace}/policyDefinitions/{policyDefinitionName}/providers/Microsoft.PolicyInsights/policyEvents/{policyEventsResource}/queryResults"); + Endpoints[3412] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/{authorizationNamespace}/policyDefinitions/{policyDefinitionName}/providers/Microsoft.PolicyInsights/policyStates/{policyStatesResource}/queryResults"); + Endpoints[3413] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/{authorizationNamespace}/policyDefinitions/{policyDefinitionName}/providers/Microsoft.PolicyInsights/policyStates/{policyStatesSummaryResource}/summarize"); + Endpoints[3414] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/{authorizationNamespace}/policySetDefinitions/{policySetDefinitionName}/providers/Microsoft.PolicyInsights/policyEvents/{policyEventsResource}/queryResults"); + Endpoints[3415] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/{authorizationNamespace}/policySetDefinitions/{policySetDefinitionName}/providers/Microsoft.PolicyInsights/policyStates/{policyStatesResource}/queryResults"); + Endpoints[3416] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/{authorizationNamespace}/policySetDefinitions/{policySetDefinitionName}/providers/Microsoft.PolicyInsights/policyStates/{policyStatesSummaryResource}/summarize"); + Endpoints[3417] = CreateEndpoint("/apps/{appId}/versions/{versionId}/closedlists/{clEntityId}/sublists/{subListId}"); + Endpoints[3418] = CreateEndpoint("/apps/{appId}/versions/{versionId}/closedlists/{entityId}/roles/{roleId}"); + Endpoints[3419] = CreateEndpoint("/apps/{appId}/versions/{versionId}/compositeentities/{cEntityId}/children/{cChildId}"); + Endpoints[3420] = CreateEndpoint("/apps/{appId}/versions/{versionId}/compositeentities/{cEntityId}/roles/{roleId}"); + Endpoints[3421] = CreateEndpoint("/apps/{appId}/versions/{versionId}/customprebuiltentities/{entityId}/roles/{roleId}"); + Endpoints[3422] = CreateEndpoint("/apps/{appId}/versions/{versionId}/entities/{entityId}/roles/{roleId}"); + Endpoints[3423] = CreateEndpoint("/apps/{appId}/versions/{versionId}/hierarchicalentities/{hEntityId}/children/{hChildId}"); + Endpoints[3424] = CreateEndpoint("/apps/{appId}/versions/{versionId}/hierarchicalentities/{hEntityId}/roles/{roleId}"); + Endpoints[3425] = CreateEndpoint("/apps/{appId}/versions/{versionId}/patternanyentities/{entityId}/explicitlist/{itemId}"); + Endpoints[3426] = CreateEndpoint("/apps/{appId}/versions/{versionId}/patternanyentities/{entityId}/roles/{roleId}"); + Endpoints[3427] = CreateEndpoint("/apps/{appId}/versions/{versionId}/prebuilts/{entityId}/roles/{roleId}"); + Endpoints[3428] = CreateEndpoint("/apps/{appId}/versions/{versionId}/regexentities/{entityId}/roles/{roleId}"); + Endpoints[3429] = CreateEndpoint("/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/deployments/{deploymentName}/operations/{operationId}"); + Endpoints[3430] = CreateEndpoint("/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/{authorizationNamespace}/policyAssignments/{policyAssignmentName}/providers/Microsoft.PolicyInsights/policyEvents/{policyEventsResource}/queryResults"); + Endpoints[3431] = CreateEndpoint("/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/{authorizationNamespace}/policyAssignments/{policyAssignmentName}/providers/Microsoft.PolicyInsights/policyStates/{policyStatesResource}/queryResults"); + Endpoints[3432] = CreateEndpoint("/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/{authorizationNamespace}/policyAssignments/{policyAssignmentName}/providers/Microsoft.PolicyInsights/policyStates/{policyStatesSummaryResource}/summarize"); + Endpoints[3433] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{providerNamespace}/{resourceTypeName}/{resourceName}/providers/Microsoft.EventGrid/eventSubscriptions"); + Endpoints[3434] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{providerNamespace}/{resourceTypeName}/{resourceName}/providers/Microsoft.EventGrid/eventTypes"); + Endpoints[3435] = CreateEndpoint("/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/{providerName}/{resourceType}/{resourceName}/providers/Microsoft.OperationsManagement/ManagementAssociations/{managementAssociationName}"); + Endpoints[3436] = CreateEndpoint("/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{parentResourcePath}/{resourceType}/{resourceName}"); + Endpoints[3437] = CreateEndpoint("/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{parentResourcePath}/{resourceType}/{resourceName}/providers/Microsoft.Authorization/locks"); + Endpoints[3438] = CreateEndpoint("/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{parentResourcePath}/{resourceType}/{resourceName}/providers/Microsoft.Authorization/permissions"); + Endpoints[3439] = CreateEndpoint("/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{parentResourcePath}/{resourceType}/{resourceName}/providers/Microsoft.Authorization/policyAssignments"); + Endpoints[3440] = CreateEndpoint("/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{parentResourcePath}/{resourceType}/{resourceName}/providers/Microsoft.Authorization/roleAssignments"); + Endpoints[3441] = CreateEndpoint("/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{parentResourcePath}/{resourceType}/{resourceName}/providers/Microsoft.Authorization/locks/{lockName}"); + Endpoints[3442] = CreateEndpoint("/apps/{appId}/events/{eventType}/{eventId}"); + Endpoints[3443] = CreateEndpoint("/certificates/{certificate-name}/{certificate-version}"); + Endpoints[3444] = CreateEndpoint("/keys/{key-name}/{key-version}"); + Endpoints[3445] = CreateEndpoint("/quotas/{quotaCounterKey}/{quotaPeriodKey}"); + Endpoints[3446] = CreateEndpoint("/secrets/{secret-name}/{secret-version}"); + Endpoints[3447] = CreateEndpoint("/keys/{key-name}/{key-version}/decrypt"); + Endpoints[3448] = CreateEndpoint("/keys/{key-name}/{key-version}/encrypt"); + Endpoints[3449] = CreateEndpoint("/keys/{key-name}/{key-version}/sign"); + Endpoints[3450] = CreateEndpoint("/keys/{key-name}/{key-version}/unwrapkey"); + Endpoints[3451] = CreateEndpoint("/keys/{key-name}/{key-version}/verify"); + Endpoints[3452] = CreateEndpoint("/keys/{key-name}/{key-version}/wrapkey"); + Endpoints[3453] = CreateEndpoint("/{applicationDefinitionId}"); + Endpoints[3454] = CreateEndpoint("/{projectId}/image"); + Endpoints[3455] = CreateEndpoint("/{projectId}/url"); + Endpoints[3456] = CreateEndpoint("/{tenantID}/applications"); + Endpoints[3457] = CreateEndpoint("/{tenantID}/domains"); + Endpoints[3458] = CreateEndpoint("/{tenantID}/getObjectsByObjectIds"); + Endpoints[3459] = CreateEndpoint("/{tenantID}/groups"); + Endpoints[3460] = CreateEndpoint("/{tenantID}/isMemberOf"); + Endpoints[3461] = CreateEndpoint("/{tenantID}/me"); + Endpoints[3462] = CreateEndpoint("/{tenantID}/servicePrincipals"); + Endpoints[3463] = CreateEndpoint("/{tenantID}/users"); + Endpoints[3464] = CreateEndpoint("/{projectId}/image/nostore"); + Endpoints[3465] = CreateEndpoint("/{projectId}/url/nostore"); + Endpoints[3466] = CreateEndpoint("/{resourceUri}/providers/microsoft.insights/calculatebaseline"); + Endpoints[3467] = CreateEndpoint("/{resourceUri}/providers/microsoft.insights/diagnosticSettings"); + Endpoints[3468] = CreateEndpoint("/{resourceUri}/providers/microsoft.insights/diagnosticSettingsCategories"); + Endpoints[3469] = CreateEndpoint("/{resourceUri}/providers/microsoft.insights/metricDefinitions"); + Endpoints[3470] = CreateEndpoint("/{resourceUri}/providers/microsoft.insights/metrics"); + Endpoints[3471] = CreateEndpoint("/{resourceUri}/providers/Microsoft.ResourceHealth/availabilityStatuses"); + Endpoints[3472] = CreateEndpoint("/{scope}/providers/Microsoft.Authorization/policyAssignments"); + Endpoints[3473] = CreateEndpoint("/{scope}/providers/Microsoft.Authorization/roleAssignments"); + Endpoints[3474] = CreateEndpoint("/{scope}/providers/Microsoft.Authorization/roleDefinitions"); + Endpoints[3475] = CreateEndpoint("/{scope}/providers/Microsoft.Consumption/reservationDetails"); + Endpoints[3476] = CreateEndpoint("/{scope}/providers/Microsoft.Consumption/reservationSummaries"); + Endpoints[3477] = CreateEndpoint("/{scope}/providers/Microsoft.Consumption/usageDetails"); + Endpoints[3478] = CreateEndpoint("/{scope}/providers/Microsoft.Resources/links"); + Endpoints[3479] = CreateEndpoint("/{scope}/providers/Microsoft.Security/compliances"); + Endpoints[3480] = CreateEndpoint("/{resourceUri}/providers/microsoft.insights/diagnosticSettings/service"); + Endpoints[3481] = CreateEndpoint("/{resourceUri}/providers/Microsoft.ResourceHealth/availabilityStatuses/current"); + Endpoints[3482] = CreateEndpoint("/{scope}/providers/Microsoft.PolicyInsights/policyEvents/$metadata"); + Endpoints[3483] = CreateEndpoint("/{scope}/providers/Microsoft.PolicyInsights/policyStates/$metadata"); + Endpoints[3484] = CreateEndpoint("/{resourceUri}/providers/Microsoft.Advisor/recommendations/{recommendationId}"); + Endpoints[3485] = CreateEndpoint("/{resourceUri}/providers/microsoft.insights/baseline/{metricName}"); + Endpoints[3486] = CreateEndpoint("/{resourceUri}/providers/microsoft.insights/diagnosticSettings/{name}"); + Endpoints[3487] = CreateEndpoint("/{resourceUri}/providers/microsoft.insights/diagnosticSettingsCategories/{name}"); + Endpoints[3488] = CreateEndpoint("/{scope}/providers/Microsoft.Authorization/locks/{lockName}"); + Endpoints[3489] = CreateEndpoint("/{scope}/providers/Microsoft.Authorization/policyAssignments/{policyAssignmentName}"); + Endpoints[3490] = CreateEndpoint("/{scope}/providers/Microsoft.Authorization/roleAssignments/{roleAssignmentName}"); + Endpoints[3491] = CreateEndpoint("/{scope}/providers/Microsoft.Authorization/roleDefinitions/{roleDefinitionId}"); + Endpoints[3492] = CreateEndpoint("/{scope}/providers/Microsoft.EventGrid/eventSubscriptions/{eventSubscriptionName}"); + Endpoints[3493] = CreateEndpoint("/{scope}/providers/Microsoft.Security/compliances/{complianceName}"); + Endpoints[3494] = CreateEndpoint("/{resourceId}/providers/Microsoft.PolicyInsights/policyEvents/{policyEventsResource}/queryResults"); + Endpoints[3495] = CreateEndpoint("/{resourceId}/providers/Microsoft.PolicyInsights/policyStates/{policyStatesResource}/queryResults"); + Endpoints[3496] = CreateEndpoint("/{resourceId}/providers/Microsoft.PolicyInsights/policyStates/{policyStatesSummaryResource}/summarize"); + Endpoints[3497] = CreateEndpoint("/{scope}/providers/Microsoft.EventGrid/eventSubscriptions/{eventSubscriptionName}/getFullUrl"); + Endpoints[3498] = CreateEndpoint("/{resourceUri}/providers/Microsoft.Advisor/recommendations/{recommendationId}/suppressions/{name}"); + Endpoints[3499] = CreateEndpoint("/{tenantID}/applications/{applicationObjectId}"); + Endpoints[3500] = CreateEndpoint("/{tenantID}/domains/{domainName}"); + Endpoints[3501] = CreateEndpoint("/{tenantID}/groups/{objectId}"); + Endpoints[3502] = CreateEndpoint("/{tenantID}/servicePrincipals/{objectId}"); + Endpoints[3503] = CreateEndpoint("/{tenantID}/users/{upnOrObjectId}"); + Endpoints[3504] = CreateEndpoint("/{projectId}/images/{imageId}/regionproposals"); + Endpoints[3505] = CreateEndpoint("/{tenantID}/applications/{applicationObjectId}/keyCredentials"); + Endpoints[3506] = CreateEndpoint("/{tenantID}/applications/{applicationObjectId}/owners"); + Endpoints[3507] = CreateEndpoint("/{tenantID}/applications/{applicationObjectId}/passwordCredentials"); + Endpoints[3508] = CreateEndpoint("/{tenantID}/groups/{objectId}/getMemberGroups"); + Endpoints[3509] = CreateEndpoint("/{tenantID}/groups/{objectId}/members"); + Endpoints[3510] = CreateEndpoint("/{tenantID}/servicePrincipals/{objectId}/keyCredentials"); + Endpoints[3511] = CreateEndpoint("/{tenantID}/servicePrincipals/{objectId}/owners"); + Endpoints[3512] = CreateEndpoint("/{tenantID}/servicePrincipals/{objectId}/passwordCredentials"); + Endpoints[3513] = CreateEndpoint("/{tenantID}/users/{objectId}/getMemberGroups"); + Endpoints[3514] = CreateEndpoint("/{tenantID}/applications/{applicationObjectId}/$links/owners"); + Endpoints[3515] = CreateEndpoint("/{tenantID}/groups/{groupObjectId}/$links/members"); + Endpoints[3516] = CreateEndpoint("/{tenantID}/groups/{groupObjectId}/$links/members/{memberObjectId}"); + } + + private void SetupRequests() + { + Requests = new HttpContext[3517]; + Requests[0] = new DefaultHttpContext(); + Requests[0].RequestServices = CreateServices(); + Requests[0].Request.Method = "GET"; + Requests[0].Request.Path = "/account"; + Requests[1] = new DefaultHttpContext(); + Requests[1].RequestServices = CreateServices(); + Requests[1].Request.Method = "POST"; + Requests[1].Request.Path = "/analyze"; + Requests[2] = new DefaultHttpContext(); + Requests[2].RequestServices = CreateServices(); + Requests[2].Request.Method = "GET"; + Requests[2].Request.Path = "/apis"; + Requests[3] = new DefaultHttpContext(); + Requests[3].RequestServices = CreateServices(); + Requests[3].Request.Method = "GET"; + Requests[3].Request.Path = "/Applications"; + Requests[4] = new DefaultHttpContext(); + Requests[4].RequestServices = CreateServices(); + Requests[4].Request.Method = "GET"; + Requests[4].Request.Path = "/ApplicationTypes"; + Requests[5] = new DefaultHttpContext(); + Requests[5].RequestServices = CreateServices(); + Requests[5].Request.Method = "GET"; + Requests[5].Request.Path = "/apps"; + Requests[6] = new DefaultHttpContext(); + Requests[6].RequestServices = CreateServices(); + Requests[6].Request.Method = "GET"; + Requests[6].Request.Path = "/authorizationServers"; + Requests[7] = new DefaultHttpContext(); + Requests[7].RequestServices = CreateServices(); + Requests[7].Request.Method = "GET"; + Requests[7].Request.Path = "/backends"; + Requests[8] = new DefaultHttpContext(); + Requests[8].RequestServices = CreateServices(); + Requests[8].Request.Method = "POST"; + Requests[8].Request.Path = "/BuildJob"; + Requests[9] = new DefaultHttpContext(); + Requests[9].RequestServices = CreateServices(); + Requests[9].Request.Method = "GET"; + Requests[9].Request.Path = "/certificates"; + Requests[10] = new DefaultHttpContext(); + Requests[10].RequestServices = CreateServices(); + Requests[10].Request.Method = "GET"; + Requests[10].Request.Path = "/ComposeDeployments"; + Requests[11] = new DefaultHttpContext(); + Requests[11].RequestServices = CreateServices(); + Requests[11].Request.Method = "POST"; + Requests[11].Request.Path = "/datasources"; + Requests[12] = new DefaultHttpContext(); + Requests[12].RequestServices = CreateServices(); + Requests[12].Request.Method = "GET"; + Requests[12].Request.Path = "/deletedcertificates"; + Requests[13] = new DefaultHttpContext(); + Requests[13].RequestServices = CreateServices(); + Requests[13].Request.Method = "GET"; + Requests[13].Request.Path = "/deletedkeys"; + Requests[14] = new DefaultHttpContext(); + Requests[14].RequestServices = CreateServices(); + Requests[14].Request.Method = "GET"; + Requests[14].Request.Path = "/deletedsecrets"; + Requests[15] = new DefaultHttpContext(); + Requests[15].RequestServices = CreateServices(); + Requests[15].Request.Method = "GET"; + Requests[15].Request.Path = "/deletedstorage"; + Requests[16] = new DefaultHttpContext(); + Requests[16].RequestServices = CreateServices(); + Requests[16].Request.Method = "POST"; + Requests[16].Request.Path = "/describe"; + Requests[17] = new DefaultHttpContext(); + Requests[17].RequestServices = CreateServices(); + Requests[17].Request.Method = "POST"; + Requests[17].Request.Path = "/detect"; + Requests[18] = new DefaultHttpContext(); + Requests[18].RequestServices = CreateServices(); + Requests[18].Request.Method = "GET"; + Requests[18].Request.Path = "/domains"; + Requests[19] = new DefaultHttpContext(); + Requests[19].RequestServices = CreateServices(); + Requests[19].Request.Method = "GET"; + Requests[19].Request.Path = "/entities"; + Requests[20] = new DefaultHttpContext(); + Requests[20].RequestServices = CreateServices(); + Requests[20].Request.Method = "GET"; + Requests[20].Request.Path = "/facelists"; + Requests[21] = new DefaultHttpContext(); + Requests[21].RequestServices = CreateServices(); + Requests[21].Request.Method = "GET"; + Requests[21].Request.Path = "/Faults"; + Requests[22] = new DefaultHttpContext(); + Requests[22].RequestServices = CreateServices(); + Requests[22].Request.Method = "POST"; + Requests[22].Request.Path = "/findsimilars"; + Requests[23] = new DefaultHttpContext(); + Requests[23].RequestServices = CreateServices(); + Requests[23].Request.Method = "POST"; + Requests[23].Request.Path = "/generateThumbnail"; + Requests[24] = new DefaultHttpContext(); + Requests[24].RequestServices = CreateServices(); + Requests[24].Request.Method = "POST"; + Requests[24].Request.Path = "/group"; + Requests[25] = new DefaultHttpContext(); + Requests[25].RequestServices = CreateServices(); + Requests[25].Request.Method = "GET"; + Requests[25].Request.Path = "/groups"; + Requests[26] = new DefaultHttpContext(); + Requests[26].RequestServices = CreateServices(); + Requests[26].Request.Method = "POST"; + Requests[26].Request.Path = "/identify"; + Requests[27] = new DefaultHttpContext(); + Requests[27].RequestServices = CreateServices(); + Requests[27].Request.Method = "GET"; + Requests[27].Request.Path = "/identityProviders"; + Requests[28] = new DefaultHttpContext(); + Requests[28].RequestServices = CreateServices(); + Requests[28].Request.Method = "GET"; + Requests[28].Request.Path = "/ImageStore"; + Requests[29] = new DefaultHttpContext(); + Requests[29].RequestServices = CreateServices(); + Requests[29].Request.Method = "POST"; + Requests[29].Request.Path = "/indexers"; + Requests[30] = new DefaultHttpContext(); + Requests[30].RequestServices = CreateServices(); + Requests[30].Request.Method = "GET"; + Requests[30].Request.Path = "/indexes"; + Requests[31] = new DefaultHttpContext(); + Requests[31].RequestServices = CreateServices(); + Requests[31].Request.Method = "GET"; + Requests[31].Request.Path = "/Jobs"; + Requests[32] = new DefaultHttpContext(); + Requests[32].RequestServices = CreateServices(); + Requests[32].Request.Method = "GET"; + Requests[32].Request.Path = "/jobschedules"; + Requests[33] = new DefaultHttpContext(); + Requests[33].RequestServices = CreateServices(); + Requests[33].Request.Method = "GET"; + Requests[33].Request.Path = "/keys"; + Requests[34] = new DefaultHttpContext(); + Requests[34].RequestServices = CreateServices(); + Requests[34].Request.Method = "GET"; + Requests[34].Request.Path = "/lifetimejobstats"; + Requests[35] = new DefaultHttpContext(); + Requests[35].RequestServices = CreateServices(); + Requests[35].Request.Method = "GET"; + Requests[35].Request.Path = "/lifetimepoolstats"; + Requests[36] = new DefaultHttpContext(); + Requests[36].RequestServices = CreateServices(); + Requests[36].Request.Method = "GET"; + Requests[36].Request.Path = "/loggers"; + Requests[37] = new DefaultHttpContext(); + Requests[37].RequestServices = CreateServices(); + Requests[37].Request.Method = "GET"; + Requests[37].Request.Path = "/models"; + Requests[38] = new DefaultHttpContext(); + Requests[38].RequestServices = CreateServices(); + Requests[38].Request.Method = "GET"; + Requests[38].Request.Path = "/news"; + Requests[39] = new DefaultHttpContext(); + Requests[39].RequestServices = CreateServices(); + Requests[39].Request.Method = "GET"; + Requests[39].Request.Path = "/nodeagentskus"; + Requests[40] = new DefaultHttpContext(); + Requests[40].RequestServices = CreateServices(); + Requests[40].Request.Method = "GET"; + Requests[40].Request.Path = "/nodecounts"; + Requests[41] = new DefaultHttpContext(); + Requests[41].RequestServices = CreateServices(); + Requests[41].Request.Method = "GET"; + Requests[41].Request.Path = "/Nodes"; + Requests[42] = new DefaultHttpContext(); + Requests[42].RequestServices = CreateServices(); + Requests[42].Request.Method = "POST"; + Requests[42].Request.Path = "/ocr"; + Requests[43] = new DefaultHttpContext(); + Requests[43].RequestServices = CreateServices(); + Requests[43].Request.Method = "GET"; + Requests[43].Request.Path = "/offers"; + Requests[44] = new DefaultHttpContext(); + Requests[44].RequestServices = CreateServices(); + Requests[44].Request.Method = "GET"; + Requests[44].Request.Path = "/openidConnectProviders"; + Requests[45] = new DefaultHttpContext(); + Requests[45].RequestServices = CreateServices(); + Requests[45].Request.Method = "GET"; + Requests[45].Request.Path = "/persongroups"; + Requests[46] = new DefaultHttpContext(); + Requests[46].RequestServices = CreateServices(); + Requests[46].Request.Method = "GET"; + Requests[46].Request.Path = "/pipelines"; + Requests[47] = new DefaultHttpContext(); + Requests[47].RequestServices = CreateServices(); + Requests[47].Request.Method = "GET"; + Requests[47].Request.Path = "/policies"; + Requests[48] = new DefaultHttpContext(); + Requests[48].RequestServices = CreateServices(); + Requests[48].Request.Method = "GET"; + Requests[48].Request.Path = "/policySnippets"; + Requests[49] = new DefaultHttpContext(); + Requests[49].RequestServices = CreateServices(); + Requests[49].Request.Method = "GET"; + Requests[49].Request.Path = "/pools"; + Requests[50] = new DefaultHttpContext(); + Requests[50].RequestServices = CreateServices(); + Requests[50].Request.Method = "GET"; + Requests[50].Request.Path = "/poolusagemetrics"; + Requests[51] = new DefaultHttpContext(); + Requests[51].RequestServices = CreateServices(); + Requests[51].Request.Method = "GET"; + Requests[51].Request.Path = "/products"; + Requests[52] = new DefaultHttpContext(); + Requests[52].RequestServices = CreateServices(); + Requests[52].Request.Method = "POST"; + Requests[52].Request.Path = "/projects"; + Requests[53] = new DefaultHttpContext(); + Requests[53].RequestServices = CreateServices(); + Requests[53].Request.Method = "GET"; + Requests[53].Request.Path = "/properties"; + Requests[54] = new DefaultHttpContext(); + Requests[54].RequestServices = CreateServices(); + Requests[54].Request.Method = "POST"; + Requests[54].Request.Path = "/recognizeText"; + Requests[55] = new DefaultHttpContext(); + Requests[55].RequestServices = CreateServices(); + Requests[55].Request.Method = "GET"; + Requests[55].Request.Path = "/recurrences"; + Requests[56] = new DefaultHttpContext(); + Requests[56].RequestServices = CreateServices(); + Requests[56].Request.Method = "GET"; + Requests[56].Request.Path = "/regions"; + Requests[57] = new DefaultHttpContext(); + Requests[57].RequestServices = CreateServices(); + Requests[57].Request.Method = "GET"; + Requests[57].Request.Path = "/search"; + Requests[58] = new DefaultHttpContext(); + Requests[58].RequestServices = CreateServices(); + Requests[58].Request.Method = "GET"; + Requests[58].Request.Path = "/secrets"; + Requests[59] = new DefaultHttpContext(); + Requests[59].RequestServices = CreateServices(); + Requests[59].Request.Method = "GET"; + Requests[59].Request.Path = "/servicestats"; + Requests[60] = new DefaultHttpContext(); + Requests[60].RequestServices = CreateServices(); + Requests[60].Request.Method = "POST"; + Requests[60].Request.Path = "/spellcheck"; + Requests[61] = new DefaultHttpContext(); + Requests[61].RequestServices = CreateServices(); + Requests[61].Request.Method = "GET"; + Requests[61].Request.Path = "/storage"; + Requests[62] = new DefaultHttpContext(); + Requests[62].RequestServices = CreateServices(); + Requests[62].Request.Method = "GET"; + Requests[62].Request.Path = "/subscriptions"; + Requests[63] = new DefaultHttpContext(); + Requests[63].RequestServices = CreateServices(); + Requests[63].Request.Method = "POST"; + Requests[63].Request.Path = "/synonymmaps"; + Requests[64] = new DefaultHttpContext(); + Requests[64].RequestServices = CreateServices(); + Requests[64].Request.Method = "POST"; + Requests[64].Request.Path = "/tag"; + Requests[65] = new DefaultHttpContext(); + Requests[65].RequestServices = CreateServices(); + Requests[65].Request.Method = "GET"; + Requests[65].Request.Path = "/templates"; + Requests[66] = new DefaultHttpContext(); + Requests[66].RequestServices = CreateServices(); + Requests[66].Request.Method = "GET"; + Requests[66].Request.Path = "/tenants"; + Requests[67] = new DefaultHttpContext(); + Requests[67].RequestServices = CreateServices(); + Requests[67].Request.Method = "GET"; + Requests[67].Request.Path = "/users"; + Requests[68] = new DefaultHttpContext(); + Requests[68].RequestServices = CreateServices(); + Requests[68].Request.Method = "POST"; + Requests[68].Request.Path = "/verify"; + Requests[69] = new DefaultHttpContext(); + Requests[69].RequestServices = CreateServices(); + Requests[69].Request.Method = "POST"; + Requests[69].Request.Path = "/$/CancelRepairTask"; + Requests[70] = new DefaultHttpContext(); + Requests[70].RequestServices = CreateServices(); + Requests[70].Request.Method = "POST"; + Requests[70].Request.Path = "/$/CreateRepairTask"; + Requests[71] = new DefaultHttpContext(); + Requests[71].RequestServices = CreateServices(); + Requests[71].Request.Method = "POST"; + Requests[71].Request.Path = "/$/DeleteRepairTask"; + Requests[72] = new DefaultHttpContext(); + Requests[72].RequestServices = CreateServices(); + Requests[72].Request.Method = "POST"; + Requests[72].Request.Path = "/$/ForceApproveRepairTask"; + Requests[73] = new DefaultHttpContext(); + Requests[73].RequestServices = CreateServices(); + Requests[73].Request.Method = "GET"; + Requests[73].Request.Path = "/$/GetAadMetadata"; + Requests[74] = new DefaultHttpContext(); + Requests[74].RequestServices = CreateServices(); + Requests[74].Request.Method = "GET"; + Requests[74].Request.Path = "/$/GetClusterConfiguration"; + Requests[75] = new DefaultHttpContext(); + Requests[75].RequestServices = CreateServices(); + Requests[75].Request.Method = "GET"; + Requests[75].Request.Path = "/$/GetClusterConfigurationUpgradeStatus"; + Requests[76] = new DefaultHttpContext(); + Requests[76].RequestServices = CreateServices(); + Requests[76].Request.Method = "POST"; + Requests[76].Request.Path = "/$/GetClusterHealth"; + Requests[77] = new DefaultHttpContext(); + Requests[77].RequestServices = CreateServices(); + Requests[77].Request.Method = "POST"; + Requests[77].Request.Path = "/$/GetClusterHealthChunk"; + Requests[78] = new DefaultHttpContext(); + Requests[78].RequestServices = CreateServices(); + Requests[78].Request.Method = "GET"; + Requests[78].Request.Path = "/$/GetClusterManifest"; + Requests[79] = new DefaultHttpContext(); + Requests[79].RequestServices = CreateServices(); + Requests[79].Request.Method = "GET"; + Requests[79].Request.Path = "/$/GetLoadInformation"; + Requests[80] = new DefaultHttpContext(); + Requests[80].RequestServices = CreateServices(); + Requests[80].Request.Method = "GET"; + Requests[80].Request.Path = "/$/GetProvisionedCodeVersions"; + Requests[81] = new DefaultHttpContext(); + Requests[81].RequestServices = CreateServices(); + Requests[81].Request.Method = "GET"; + Requests[81].Request.Path = "/$/GetProvisionedConfigVersions"; + Requests[82] = new DefaultHttpContext(); + Requests[82].RequestServices = CreateServices(); + Requests[82].Request.Method = "GET"; + Requests[82].Request.Path = "/$/GetRepairTaskList"; + Requests[83] = new DefaultHttpContext(); + Requests[83].RequestServices = CreateServices(); + Requests[83].Request.Method = "GET"; + Requests[83].Request.Path = "/$/GetUpgradeOrchestrationServiceState"; + Requests[84] = new DefaultHttpContext(); + Requests[84].RequestServices = CreateServices(); + Requests[84].Request.Method = "GET"; + Requests[84].Request.Path = "/$/GetUpgradeProgress"; + Requests[85] = new DefaultHttpContext(); + Requests[85].RequestServices = CreateServices(); + Requests[85].Request.Method = "POST"; + Requests[85].Request.Path = "/$/InvokeInfrastructureCommand"; + Requests[86] = new DefaultHttpContext(); + Requests[86].RequestServices = CreateServices(); + Requests[86].Request.Method = "GET"; + Requests[86].Request.Path = "/$/InvokeInfrastructureQuery"; + Requests[87] = new DefaultHttpContext(); + Requests[87].RequestServices = CreateServices(); + Requests[87].Request.Method = "POST"; + Requests[87].Request.Path = "/$/MoveToNextUpgradeDomain"; + Requests[88] = new DefaultHttpContext(); + Requests[88].RequestServices = CreateServices(); + Requests[88].Request.Method = "POST"; + Requests[88].Request.Path = "/$/Provision"; + Requests[89] = new DefaultHttpContext(); + Requests[89].RequestServices = CreateServices(); + Requests[89].Request.Method = "POST"; + Requests[89].Request.Path = "/$/RecoverAllPartitions"; + Requests[90] = new DefaultHttpContext(); + Requests[90].RequestServices = CreateServices(); + Requests[90].Request.Method = "POST"; + Requests[90].Request.Path = "/$/RecoverSystemPartitions"; + Requests[91] = new DefaultHttpContext(); + Requests[91].RequestServices = CreateServices(); + Requests[91].Request.Method = "POST"; + Requests[91].Request.Path = "/$/ReportClusterHealth"; + Requests[92] = new DefaultHttpContext(); + Requests[92].RequestServices = CreateServices(); + Requests[92].Request.Method = "POST"; + Requests[92].Request.Path = "/$/RollbackUpgrade"; + Requests[93] = new DefaultHttpContext(); + Requests[93].RequestServices = CreateServices(); + Requests[93].Request.Method = "POST"; + Requests[93].Request.Path = "/$/SetUpgradeOrchestrationServiceState"; + Requests[94] = new DefaultHttpContext(); + Requests[94].RequestServices = CreateServices(); + Requests[94].Request.Method = "POST"; + Requests[94].Request.Path = "/$/StartClusterConfigurationUpgrade"; + Requests[95] = new DefaultHttpContext(); + Requests[95].RequestServices = CreateServices(); + Requests[95].Request.Method = "POST"; + Requests[95].Request.Path = "/$/Unprovision"; + Requests[96] = new DefaultHttpContext(); + Requests[96].RequestServices = CreateServices(); + Requests[96].Request.Method = "POST"; + Requests[96].Request.Path = "/$/UpdateRepairExecutionState"; + Requests[97] = new DefaultHttpContext(); + Requests[97].RequestServices = CreateServices(); + Requests[97].Request.Method = "POST"; + Requests[97].Request.Path = "/$/UpdateRepairTaskHealthPolicy"; + Requests[98] = new DefaultHttpContext(); + Requests[98].RequestServices = CreateServices(); + Requests[98].Request.Method = "POST"; + Requests[98].Request.Path = "/$/UpdateUpgrade"; + Requests[99] = new DefaultHttpContext(); + Requests[99].RequestServices = CreateServices(); + Requests[99].Request.Method = "POST"; + Requests[99].Request.Path = "/$/Upgrade"; + Requests[100] = new DefaultHttpContext(); + Requests[100].RequestServices = CreateServices(); + Requests[100].Request.Method = "POST"; + Requests[100].Request.Path = "/api/events"; + Requests[101] = new DefaultHttpContext(); + Requests[101].RequestServices = CreateServices(); + Requests[101].Request.Method = "GET"; + Requests[101].Request.Path = "/apps/assistants"; + Requests[102] = new DefaultHttpContext(); + Requests[102].RequestServices = CreateServices(); + Requests[102].Request.Method = "GET"; + Requests[102].Request.Path = "/apps/cultures"; + Requests[103] = new DefaultHttpContext(); + Requests[103].RequestServices = CreateServices(); + Requests[103].Request.Method = "POST"; + Requests[103].Request.Path = "/apps/customprebuiltdomains"; + Requests[104] = new DefaultHttpContext(); + Requests[104].RequestServices = CreateServices(); + Requests[104].Request.Method = "GET"; + Requests[104].Request.Path = "/apps/domains"; + Requests[105] = new DefaultHttpContext(); + Requests[105].RequestServices = CreateServices(); + Requests[105].Request.Method = "POST"; + Requests[105].Request.Path = "/apps/import"; + Requests[106] = new DefaultHttpContext(); + Requests[106].RequestServices = CreateServices(); + Requests[106].Request.Method = "GET"; + Requests[106].Request.Path = "/apps/usagescenarios"; + Requests[107] = new DefaultHttpContext(); + Requests[107].RequestServices = CreateServices(); + Requests[107].Request.Method = "GET"; + Requests[107].Request.Path = "/BackupRestore/BackupPolicies"; + Requests[108] = new DefaultHttpContext(); + Requests[108].RequestServices = CreateServices(); + Requests[108].Request.Method = "DELETE"; + Requests[108].Request.Path = "/certificates/contacts"; + Requests[109] = new DefaultHttpContext(); + Requests[109].RequestServices = CreateServices(); + Requests[109].Request.Method = "GET"; + Requests[109].Request.Path = "/certificates/issuers"; + Requests[110] = new DefaultHttpContext(); + Requests[110].RequestServices = CreateServices(); + Requests[110].Request.Method = "GET"; + Requests[110].Request.Path = "/docs/$count"; + Requests[111] = new DefaultHttpContext(); + Requests[111].RequestServices = CreateServices(); + Requests[111].Request.Method = "POST"; + Requests[111].Request.Path = "/docs/autocomplete"; + Requests[112] = new DefaultHttpContext(); + Requests[112].RequestServices = CreateServices(); + Requests[112].Request.Method = "GET"; + Requests[112].Request.Path = "/images/details"; + Requests[113] = new DefaultHttpContext(); + Requests[113].RequestServices = CreateServices(); + Requests[113].Request.Method = "GET"; + Requests[113].Request.Path = "/images/search"; + Requests[114] = new DefaultHttpContext(); + Requests[114].RequestServices = CreateServices(); + Requests[114].Request.Method = "GET"; + Requests[114].Request.Path = "/images/trending"; + Requests[115] = new DefaultHttpContext(); + Requests[115].RequestServices = CreateServices(); + Requests[115].Request.Method = "POST"; + Requests[115].Request.Path = "/images/visualsearch"; + Requests[116] = new DefaultHttpContext(); + Requests[116].RequestServices = CreateServices(); + Requests[116].Request.Method = "POST"; + Requests[116].Request.Path = "/keys/restore"; + Requests[117] = new DefaultHttpContext(); + Requests[117].RequestServices = CreateServices(); + Requests[117].Request.Method = "GET"; + Requests[117].Request.Path = "/news/search"; + Requests[118] = new DefaultHttpContext(); + Requests[118].RequestServices = CreateServices(); + Requests[118].Request.Method = "GET"; + Requests[118].Request.Path = "/news/trendingtopics"; + Requests[119] = new DefaultHttpContext(); + Requests[119].RequestServices = CreateServices(); + Requests[119].Request.Method = "PUT"; + Requests[119].Request.Path = "/portalsettings/delegation"; + Requests[120] = new DefaultHttpContext(); + Requests[120].RequestServices = CreateServices(); + Requests[120].Request.Method = "PUT"; + Requests[120].Request.Path = "/portalsettings/signin"; + Requests[121] = new DefaultHttpContext(); + Requests[121].RequestServices = CreateServices(); + Requests[121].Request.Method = "PUT"; + Requests[121].Request.Path = "/portalsettings/signup"; + Requests[122] = new DefaultHttpContext(); + Requests[122].RequestServices = CreateServices(); + Requests[122].Request.Method = "GET"; + Requests[122].Request.Path = "/reports/byApi"; + Requests[123] = new DefaultHttpContext(); + Requests[123].RequestServices = CreateServices(); + Requests[123].Request.Method = "GET"; + Requests[123].Request.Path = "/reports/byGeo"; + Requests[124] = new DefaultHttpContext(); + Requests[124].RequestServices = CreateServices(); + Requests[124].Request.Method = "GET"; + Requests[124].Request.Path = "/reports/byOperation"; + Requests[125] = new DefaultHttpContext(); + Requests[125].RequestServices = CreateServices(); + Requests[125].Request.Method = "GET"; + Requests[125].Request.Path = "/reports/byProduct"; + Requests[126] = new DefaultHttpContext(); + Requests[126].RequestServices = CreateServices(); + Requests[126].Request.Method = "GET"; + Requests[126].Request.Path = "/reports/byRequest"; + Requests[127] = new DefaultHttpContext(); + Requests[127].RequestServices = CreateServices(); + Requests[127].Request.Method = "GET"; + Requests[127].Request.Path = "/reports/bySubscription"; + Requests[128] = new DefaultHttpContext(); + Requests[128].RequestServices = CreateServices(); + Requests[128].Request.Method = "GET"; + Requests[128].Request.Path = "/reports/byTime"; + Requests[129] = new DefaultHttpContext(); + Requests[129].RequestServices = CreateServices(); + Requests[129].Request.Method = "GET"; + Requests[129].Request.Path = "/reports/byUser"; + Requests[130] = new DefaultHttpContext(); + Requests[130].RequestServices = CreateServices(); + Requests[130].Request.Method = "POST"; + Requests[130].Request.Path = "/secrets/restore"; + Requests[131] = new DefaultHttpContext(); + Requests[131].RequestServices = CreateServices(); + Requests[131].Request.Method = "POST"; + Requests[131].Request.Path = "/storage/restore"; + Requests[132] = new DefaultHttpContext(); + Requests[132].RequestServices = CreateServices(); + Requests[132].Request.Method = "GET"; + Requests[132].Request.Path = "/Tools/Chaos"; + Requests[133] = new DefaultHttpContext(); + Requests[133].RequestServices = CreateServices(); + Requests[133].Request.Method = "POST"; + Requests[133].Request.Path = "/v2.0/entities"; + Requests[134] = new DefaultHttpContext(); + Requests[134].RequestServices = CreateServices(); + Requests[134].Request.Method = "POST"; + Requests[134].Request.Path = "/v2.0/keyPhrases"; + Requests[135] = new DefaultHttpContext(); + Requests[135].RequestServices = CreateServices(); + Requests[135].Request.Method = "POST"; + Requests[135].Request.Path = "/v2.0/languages"; + Requests[136] = new DefaultHttpContext(); + Requests[136].RequestServices = CreateServices(); + Requests[136].Request.Method = "POST"; + Requests[136].Request.Path = "/v2.0/sentiment"; + Requests[137] = new DefaultHttpContext(); + Requests[137].RequestServices = CreateServices(); + Requests[137].Request.Method = "GET"; + Requests[137].Request.Path = "/videos/details"; + Requests[138] = new DefaultHttpContext(); + Requests[138].RequestServices = CreateServices(); + Requests[138].Request.Method = "GET"; + Requests[138].Request.Path = "/videos/search"; + Requests[139] = new DefaultHttpContext(); + Requests[139].RequestServices = CreateServices(); + Requests[139].Request.Method = "GET"; + Requests[139].Request.Path = "/videos/trending"; + Requests[140] = new DefaultHttpContext(); + Requests[140].RequestServices = CreateServices(); + Requests[140].Request.Method = "POST"; + Requests[140].Request.Path = "/Applications/$/Create"; + Requests[141] = new DefaultHttpContext(); + Requests[141].RequestServices = CreateServices(); + Requests[141].Request.Method = "POST"; + Requests[141].Request.Path = "/ApplicationTypes/$/Provision"; + Requests[142] = new DefaultHttpContext(); + Requests[142].RequestServices = CreateServices(); + Requests[142].Request.Method = "POST"; + Requests[142].Request.Path = "/BackupRestore/$/GetBackups"; + Requests[143] = new DefaultHttpContext(); + Requests[143].RequestServices = CreateServices(); + Requests[143].Request.Method = "GET"; + Requests[143].Request.Path = "/catalog/usql/acl"; + Requests[144] = new DefaultHttpContext(); + Requests[144].RequestServices = CreateServices(); + Requests[144].Request.Method = "GET"; + Requests[144].Request.Path = "/catalog/usql/databases"; + Requests[145] = new DefaultHttpContext(); + Requests[145].RequestServices = CreateServices(); + Requests[145].Request.Method = "PUT"; + Requests[145].Request.Path = "/ComposeDeployments/$/Create"; + Requests[146] = new DefaultHttpContext(); + Requests[146].RequestServices = CreateServices(); + Requests[146].Request.Method = "GET"; + Requests[146].Request.Path = "/EventsStore/Applications/Events"; + Requests[147] = new DefaultHttpContext(); + Requests[147].RequestServices = CreateServices(); + Requests[147].Request.Method = "GET"; + Requests[147].Request.Path = "/EventsStore/Cluster/Events"; + Requests[148] = new DefaultHttpContext(); + Requests[148].RequestServices = CreateServices(); + Requests[148].Request.Method = "GET"; + Requests[148].Request.Path = "/EventsStore/Containers/Events"; + Requests[149] = new DefaultHttpContext(); + Requests[149].RequestServices = CreateServices(); + Requests[149].Request.Method = "GET"; + Requests[149].Request.Path = "/EventsStore/Nodes/Events"; + Requests[150] = new DefaultHttpContext(); + Requests[150].RequestServices = CreateServices(); + Requests[150].Request.Method = "GET"; + Requests[150].Request.Path = "/EventsStore/Partitions/Events"; + Requests[151] = new DefaultHttpContext(); + Requests[151].RequestServices = CreateServices(); + Requests[151].Request.Method = "GET"; + Requests[151].Request.Path = "/EventsStore/Services/Events"; + Requests[152] = new DefaultHttpContext(); + Requests[152].RequestServices = CreateServices(); + Requests[152].Request.Method = "POST"; + Requests[152].Request.Path = "/Faults/$/Cancel"; + Requests[153] = new DefaultHttpContext(); + Requests[153].RequestServices = CreateServices(); + Requests[153].Request.Method = "POST"; + Requests[153].Request.Path = "/ImageStore/$/CommitUploadSession"; + Requests[154] = new DefaultHttpContext(); + Requests[154].RequestServices = CreateServices(); + Requests[154].Request.Method = "POST"; + Requests[154].Request.Path = "/ImageStore/$/Copy"; + Requests[155] = new DefaultHttpContext(); + Requests[155].RequestServices = CreateServices(); + Requests[155].Request.Method = "DELETE"; + Requests[155].Request.Path = "/ImageStore/$/DeleteUploadSession"; + Requests[156] = new DefaultHttpContext(); + Requests[156].RequestServices = CreateServices(); + Requests[156].Request.Method = "GET"; + Requests[156].Request.Path = "/ImageStore/$/GetUploadSession"; + Requests[157] = new DefaultHttpContext(); + Requests[157].RequestServices = CreateServices(); + Requests[157].Request.Method = "POST"; + Requests[157].Request.Path = "/Names/$/Create"; + Requests[158] = new DefaultHttpContext(); + Requests[158].RequestServices = CreateServices(); + Requests[158].Request.Method = "GET"; + Requests[158].Request.Path = "/providers/Microsoft.AAD/operations"; + Requests[159] = new DefaultHttpContext(); + Requests[159].RequestServices = CreateServices(); + Requests[159].Request.Method = "GET"; + Requests[159].Request.Path = "/providers/Microsoft.Addons/operations"; + Requests[160] = new DefaultHttpContext(); + Requests[160].RequestServices = CreateServices(); + Requests[160].Request.Method = "POST"; + Requests[160].Request.Path = "/providers/Microsoft.ADHybridHealthService/addsservices"; + Requests[161] = new DefaultHttpContext(); + Requests[161].RequestServices = CreateServices(); + Requests[161].Request.Method = "PATCH"; + Requests[161].Request.Path = "/providers/Microsoft.ADHybridHealthService/configuration"; + Requests[162] = new DefaultHttpContext(); + Requests[162].RequestServices = CreateServices(); + Requests[162].Request.Method = "GET"; + Requests[162].Request.Path = "/providers/Microsoft.ADHybridHealthService/operations"; + Requests[163] = new DefaultHttpContext(); + Requests[163].RequestServices = CreateServices(); + Requests[163].Request.Method = "POST"; + Requests[163].Request.Path = "/providers/Microsoft.ADHybridHealthService/services"; + Requests[164] = new DefaultHttpContext(); + Requests[164].RequestServices = CreateServices(); + Requests[164].Request.Method = "GET"; + Requests[164].Request.Path = "/providers/Microsoft.Advisor/operations"; + Requests[165] = new DefaultHttpContext(); + Requests[165].RequestServices = CreateServices(); + Requests[165].Request.Method = "GET"; + Requests[165].Request.Path = "/providers/Microsoft.AnalysisServices/operations"; + Requests[166] = new DefaultHttpContext(); + Requests[166].RequestServices = CreateServices(); + Requests[166].Request.Method = "GET"; + Requests[166].Request.Path = "/providers/Microsoft.ApiManagement/operations"; + Requests[167] = new DefaultHttpContext(); + Requests[167].RequestServices = CreateServices(); + Requests[167].Request.Method = "GET"; + Requests[167].Request.Path = "/providers/Microsoft.Authorization/policyDefinitions"; + Requests[168] = new DefaultHttpContext(); + Requests[168].RequestServices = CreateServices(); + Requests[168].Request.Method = "GET"; + Requests[168].Request.Path = "/providers/Microsoft.Authorization/policySetDefinitions"; + Requests[169] = new DefaultHttpContext(); + Requests[169].RequestServices = CreateServices(); + Requests[169].Request.Method = "GET"; + Requests[169].Request.Path = "/providers/Microsoft.Authorization/providerOperations"; + Requests[170] = new DefaultHttpContext(); + Requests[170].RequestServices = CreateServices(); + Requests[170].Request.Method = "GET"; + Requests[170].Request.Path = "/providers/Microsoft.Automation/operations"; + Requests[171] = new DefaultHttpContext(); + Requests[171].RequestServices = CreateServices(); + Requests[171].Request.Method = "GET"; + Requests[171].Request.Path = "/providers/Microsoft.AzureStack/operations"; + Requests[172] = new DefaultHttpContext(); + Requests[172].RequestServices = CreateServices(); + Requests[172].Request.Method = "GET"; + Requests[172].Request.Path = "/providers/Microsoft.Backup.Admin/operations"; + Requests[173] = new DefaultHttpContext(); + Requests[173].RequestServices = CreateServices(); + Requests[173].Request.Method = "GET"; + Requests[173].Request.Path = "/providers/Microsoft.Batch/operations"; + Requests[174] = new DefaultHttpContext(); + Requests[174].RequestServices = CreateServices(); + Requests[174].Request.Method = "GET"; + Requests[174].Request.Path = "/providers/Microsoft.BatchAI/operations"; + Requests[175] = new DefaultHttpContext(); + Requests[175].RequestServices = CreateServices(); + Requests[175].Request.Method = "GET"; + Requests[175].Request.Path = "/providers/Microsoft.Billing/enrollmentAccounts"; + Requests[176] = new DefaultHttpContext(); + Requests[176].RequestServices = CreateServices(); + Requests[176].Request.Method = "GET"; + Requests[176].Request.Path = "/providers/Microsoft.Billing/operations"; + Requests[177] = new DefaultHttpContext(); + Requests[177].RequestServices = CreateServices(); + Requests[177].Request.Method = "GET"; + Requests[177].Request.Path = "/providers/Microsoft.BotService/operations"; + Requests[178] = new DefaultHttpContext(); + Requests[178].RequestServices = CreateServices(); + Requests[178].Request.Method = "GET"; + Requests[178].Request.Path = "/providers/Microsoft.Cache/operations"; + Requests[179] = new DefaultHttpContext(); + Requests[179].RequestServices = CreateServices(); + Requests[179].Request.Method = "GET"; + Requests[179].Request.Path = "/providers/Microsoft.Capacity/operations"; + Requests[180] = new DefaultHttpContext(); + Requests[180].RequestServices = CreateServices(); + Requests[180].Request.Method = "GET"; + Requests[180].Request.Path = "/providers/Microsoft.Capacity/reservationOrders"; + Requests[181] = new DefaultHttpContext(); + Requests[181].RequestServices = CreateServices(); + Requests[181].Request.Method = "POST"; + Requests[181].Request.Path = "/providers/Microsoft.Cdn/checkNameAvailability"; + Requests[182] = new DefaultHttpContext(); + Requests[182].RequestServices = CreateServices(); + Requests[182].Request.Method = "GET"; + Requests[182].Request.Path = "/providers/Microsoft.Cdn/edgenodes"; + Requests[183] = new DefaultHttpContext(); + Requests[183].RequestServices = CreateServices(); + Requests[183].Request.Method = "GET"; + Requests[183].Request.Path = "/providers/Microsoft.Cdn/operations"; + Requests[184] = new DefaultHttpContext(); + Requests[184].RequestServices = CreateServices(); + Requests[184].Request.Method = "GET"; + Requests[184].Request.Path = "/providers/Microsoft.CertificateRegistration/operations"; + Requests[185] = new DefaultHttpContext(); + Requests[185].RequestServices = CreateServices(); + Requests[185].Request.Method = "GET"; + Requests[185].Request.Path = "/providers/Microsoft.CognitiveServices/operations"; + Requests[186] = new DefaultHttpContext(); + Requests[186].RequestServices = CreateServices(); + Requests[186].Request.Method = "GET"; + Requests[186].Request.Path = "/providers/Microsoft.Commerce.Admin/operations"; + Requests[187] = new DefaultHttpContext(); + Requests[187].RequestServices = CreateServices(); + Requests[187].Request.Method = "GET"; + Requests[187].Request.Path = "/providers/Microsoft.Compute.Admin/operations"; + Requests[188] = new DefaultHttpContext(); + Requests[188].RequestServices = CreateServices(); + Requests[188].Request.Method = "GET"; + Requests[188].Request.Path = "/providers/Microsoft.Compute/operations"; + Requests[189] = new DefaultHttpContext(); + Requests[189].RequestServices = CreateServices(); + Requests[189].Request.Method = "GET"; + Requests[189].Request.Path = "/providers/Microsoft.Consumption/operations"; + Requests[190] = new DefaultHttpContext(); + Requests[190].RequestServices = CreateServices(); + Requests[190].Request.Method = "GET"; + Requests[190].Request.Path = "/providers/Microsoft.ContainerInstance/operations"; + Requests[191] = new DefaultHttpContext(); + Requests[191].RequestServices = CreateServices(); + Requests[191].Request.Method = "GET"; + Requests[191].Request.Path = "/providers/Microsoft.ContainerRegistry/operations"; + Requests[192] = new DefaultHttpContext(); + Requests[192].RequestServices = CreateServices(); + Requests[192].Request.Method = "GET"; + Requests[192].Request.Path = "/providers/Microsoft.ContainerService/operations"; + Requests[193] = new DefaultHttpContext(); + Requests[193].RequestServices = CreateServices(); + Requests[193].Request.Method = "GET"; + Requests[193].Request.Path = "/providers/Microsoft.CustomerInsights/operations"; + Requests[194] = new DefaultHttpContext(); + Requests[194].RequestServices = CreateServices(); + Requests[194].Request.Method = "GET"; + Requests[194].Request.Path = "/providers/Microsoft.DataBox/operations"; + Requests[195] = new DefaultHttpContext(); + Requests[195].RequestServices = CreateServices(); + Requests[195].Request.Method = "GET"; + Requests[195].Request.Path = "/providers/Microsoft.Databricks/operations"; + Requests[196] = new DefaultHttpContext(); + Requests[196].RequestServices = CreateServices(); + Requests[196].Request.Method = "GET"; + Requests[196].Request.Path = "/providers/Microsoft.DataCatalog/operations"; + Requests[197] = new DefaultHttpContext(); + Requests[197].RequestServices = CreateServices(); + Requests[197].Request.Method = "GET"; + Requests[197].Request.Path = "/providers/Microsoft.DataFactory/operations"; + Requests[198] = new DefaultHttpContext(); + Requests[198].RequestServices = CreateServices(); + Requests[198].Request.Method = "GET"; + Requests[198].Request.Path = "/providers/Microsoft.DataLakeAnalytics/operations"; + Requests[199] = new DefaultHttpContext(); + Requests[199].RequestServices = CreateServices(); + Requests[199].Request.Method = "GET"; + Requests[199].Request.Path = "/providers/Microsoft.DataLakeStore/operations"; + Requests[200] = new DefaultHttpContext(); + Requests[200].RequestServices = CreateServices(); + Requests[200].Request.Method = "GET"; + Requests[200].Request.Path = "/providers/Microsoft.DataMigration/operations"; + Requests[201] = new DefaultHttpContext(); + Requests[201].RequestServices = CreateServices(); + Requests[201].Request.Method = "GET"; + Requests[201].Request.Path = "/providers/Microsoft.DBforMySQL/operations"; + Requests[202] = new DefaultHttpContext(); + Requests[202].RequestServices = CreateServices(); + Requests[202].Request.Method = "GET"; + Requests[202].Request.Path = "/providers/Microsoft.DBforPostgreSQL/operations"; + Requests[203] = new DefaultHttpContext(); + Requests[203].RequestServices = CreateServices(); + Requests[203].Request.Method = "GET"; + Requests[203].Request.Path = "/providers/Microsoft.Devices/operations"; + Requests[204] = new DefaultHttpContext(); + Requests[204].RequestServices = CreateServices(); + Requests[204].Request.Method = "GET"; + Requests[204].Request.Path = "/providers/Microsoft.DevTestLab/operations"; + Requests[205] = new DefaultHttpContext(); + Requests[205].RequestServices = CreateServices(); + Requests[205].Request.Method = "GET"; + Requests[205].Request.Path = "/providers/Microsoft.DocumentDB/operations"; + Requests[206] = new DefaultHttpContext(); + Requests[206].RequestServices = CreateServices(); + Requests[206].Request.Method = "GET"; + Requests[206].Request.Path = "/providers/Microsoft.DomainRegistration/operations"; + Requests[207] = new DefaultHttpContext(); + Requests[207].RequestServices = CreateServices(); + Requests[207].Request.Method = "GET"; + Requests[207].Request.Path = "/providers/Microsoft.EventGrid/operations"; + Requests[208] = new DefaultHttpContext(); + Requests[208].RequestServices = CreateServices(); + Requests[208].Request.Method = "GET"; + Requests[208].Request.Path = "/providers/Microsoft.EventGrid/topicTypes"; + Requests[209] = new DefaultHttpContext(); + Requests[209].RequestServices = CreateServices(); + Requests[209].Request.Method = "GET"; + Requests[209].Request.Path = "/providers/Microsoft.EventHub/operations"; + Requests[210] = new DefaultHttpContext(); + Requests[210].RequestServices = CreateServices(); + Requests[210].Request.Method = "GET"; + Requests[210].Request.Path = "/providers/Microsoft.Fabric.Admin/operations"; + Requests[211] = new DefaultHttpContext(); + Requests[211].RequestServices = CreateServices(); + Requests[211].Request.Method = "GET"; + Requests[211].Request.Path = "/providers/Microsoft.Gallery.Admin/operations"; + Requests[212] = new DefaultHttpContext(); + Requests[212].RequestServices = CreateServices(); + Requests[212].Request.Method = "GET"; + Requests[212].Request.Path = "/providers/Microsoft.HanaOnAzure/operations"; + Requests[213] = new DefaultHttpContext(); + Requests[213].RequestServices = CreateServices(); + Requests[213].Request.Method = "GET"; + Requests[213].Request.Path = "/providers/Microsoft.HDInsight/operations"; + Requests[214] = new DefaultHttpContext(); + Requests[214].RequestServices = CreateServices(); + Requests[214].Request.Method = "GET"; + Requests[214].Request.Path = "/providers/Microsoft.ImportExport/locations"; + Requests[215] = new DefaultHttpContext(); + Requests[215].RequestServices = CreateServices(); + Requests[215].Request.Method = "GET"; + Requests[215].Request.Path = "/providers/Microsoft.ImportExport/operations"; + Requests[216] = new DefaultHttpContext(); + Requests[216].RequestServices = CreateServices(); + Requests[216].Request.Method = "GET"; + Requests[216].Request.Path = "/providers/Microsoft.InfrastructureInsights.Admin/operations"; + Requests[217] = new DefaultHttpContext(); + Requests[217].RequestServices = CreateServices(); + Requests[217].Request.Method = "GET"; + Requests[217].Request.Path = "/providers/microsoft.insights/eventcategories"; + Requests[218] = new DefaultHttpContext(); + Requests[218].RequestServices = CreateServices(); + Requests[218].Request.Method = "GET"; + Requests[218].Request.Path = "/providers/microsoft.insights/operations"; + Requests[219] = new DefaultHttpContext(); + Requests[219].RequestServices = CreateServices(); + Requests[219].Request.Method = "GET"; + Requests[219].Request.Path = "/providers/Microsoft.Intune/locations"; + Requests[220] = new DefaultHttpContext(); + Requests[220].RequestServices = CreateServices(); + Requests[220].Request.Method = "GET"; + Requests[220].Request.Path = "/providers/Microsoft.IoTCentral/operations"; + Requests[221] = new DefaultHttpContext(); + Requests[221].RequestServices = CreateServices(); + Requests[221].Request.Method = "GET"; + Requests[221].Request.Path = "/providers/Microsoft.IoTSpaces/operations"; + Requests[222] = new DefaultHttpContext(); + Requests[222].RequestServices = CreateServices(); + Requests[222].Request.Method = "GET"; + Requests[222].Request.Path = "/providers/Microsoft.KeyVault.Admin/operations"; + Requests[223] = new DefaultHttpContext(); + Requests[223].RequestServices = CreateServices(); + Requests[223].Request.Method = "GET"; + Requests[223].Request.Path = "/providers/Microsoft.KeyVault/operations"; + Requests[224] = new DefaultHttpContext(); + Requests[224].RequestServices = CreateServices(); + Requests[224].Request.Method = "GET"; + Requests[224].Request.Path = "/providers/Microsoft.Logic/operations"; + Requests[225] = new DefaultHttpContext(); + Requests[225].RequestServices = CreateServices(); + Requests[225].Request.Method = "GET"; + Requests[225].Request.Path = "/providers/Microsoft.MachineLearning/operations"; + Requests[226] = new DefaultHttpContext(); + Requests[226].RequestServices = CreateServices(); + Requests[226].Request.Method = "GET"; + Requests[226].Request.Path = "/providers/Microsoft.MachineLearningCompute/operations"; + Requests[227] = new DefaultHttpContext(); + Requests[227].RequestServices = CreateServices(); + Requests[227].Request.Method = "GET"; + Requests[227].Request.Path = "/providers/Microsoft.MachineLearningExperimentation/operations"; + Requests[228] = new DefaultHttpContext(); + Requests[228].RequestServices = CreateServices(); + Requests[228].Request.Method = "GET"; + Requests[228].Request.Path = "/providers/Microsoft.MachineLearningServices/operations"; + Requests[229] = new DefaultHttpContext(); + Requests[229].RequestServices = CreateServices(); + Requests[229].Request.Method = "GET"; + Requests[229].Request.Path = "/providers/Microsoft.ManagedIdentity/operations"; + Requests[230] = new DefaultHttpContext(); + Requests[230].RequestServices = CreateServices(); + Requests[230].Request.Method = "POST"; + Requests[230].Request.Path = "/providers/Microsoft.Management/checkNameAvailability"; + Requests[231] = new DefaultHttpContext(); + Requests[231].RequestServices = CreateServices(); + Requests[231].Request.Method = "POST"; + Requests[231].Request.Path = "/providers/Microsoft.Management/getEntities"; + Requests[232] = new DefaultHttpContext(); + Requests[232].RequestServices = CreateServices(); + Requests[232].Request.Method = "GET"; + Requests[232].Request.Path = "/providers/Microsoft.Management/managementGroups"; + Requests[233] = new DefaultHttpContext(); + Requests[233].RequestServices = CreateServices(); + Requests[233].Request.Method = "GET"; + Requests[233].Request.Path = "/providers/Microsoft.Management/operations"; + Requests[234] = new DefaultHttpContext(); + Requests[234].RequestServices = CreateServices(); + Requests[234].Request.Method = "POST"; + Requests[234].Request.Path = "/providers/Microsoft.Management/startTenantBackfill"; + Requests[235] = new DefaultHttpContext(); + Requests[235].RequestServices = CreateServices(); + Requests[235].Request.Method = "POST"; + Requests[235].Request.Path = "/providers/Microsoft.Management/tenantBackfillStatus"; + Requests[236] = new DefaultHttpContext(); + Requests[236].RequestServices = CreateServices(); + Requests[236].Request.Method = "GET"; + Requests[236].Request.Path = "/providers/Microsoft.ManagementPartner/operations"; + Requests[237] = new DefaultHttpContext(); + Requests[237].RequestServices = CreateServices(); + Requests[237].Request.Method = "GET"; + Requests[237].Request.Path = "/providers/Microsoft.Maps/operations"; + Requests[238] = new DefaultHttpContext(); + Requests[238].RequestServices = CreateServices(); + Requests[238].Request.Method = "GET"; + Requests[238].Request.Path = "/providers/Microsoft.MarketplaceOrdering/operations"; + Requests[239] = new DefaultHttpContext(); + Requests[239].RequestServices = CreateServices(); + Requests[239].Request.Method = "GET"; + Requests[239].Request.Path = "/providers/Microsoft.Media/operations"; + Requests[240] = new DefaultHttpContext(); + Requests[240].RequestServices = CreateServices(); + Requests[240].Request.Method = "GET"; + Requests[240].Request.Path = "/providers/Microsoft.Migrate/operations"; + Requests[241] = new DefaultHttpContext(); + Requests[241].RequestServices = CreateServices(); + Requests[241].Request.Method = "POST"; + Requests[241].Request.Path = "/providers/Microsoft.Network/checkTrafficManagerNameAvailability"; + Requests[242] = new DefaultHttpContext(); + Requests[242].RequestServices = CreateServices(); + Requests[242].Request.Method = "GET"; + Requests[242].Request.Path = "/providers/Microsoft.Network/operations"; + Requests[243] = new DefaultHttpContext(); + Requests[243].RequestServices = CreateServices(); + Requests[243].Request.Method = "GET"; + Requests[243].Request.Path = "/providers/Microsoft.NotificationHubs/operations"; + Requests[244] = new DefaultHttpContext(); + Requests[244].RequestServices = CreateServices(); + Requests[244].Request.Method = "GET"; + Requests[244].Request.Path = "/providers/Microsoft.OperationalInsights/operations"; + Requests[245] = new DefaultHttpContext(); + Requests[245].RequestServices = CreateServices(); + Requests[245].Request.Method = "GET"; + Requests[245].Request.Path = "/providers/Microsoft.OperationsManagement/operations"; + Requests[246] = new DefaultHttpContext(); + Requests[246].RequestServices = CreateServices(); + Requests[246].Request.Method = "GET"; + Requests[246].Request.Path = "/providers/Microsoft.PolicyInsights/operations"; + Requests[247] = new DefaultHttpContext(); + Requests[247].RequestServices = CreateServices(); + Requests[247].Request.Method = "GET"; + Requests[247].Request.Path = "/providers/Microsoft.PowerBI/operations"; + Requests[248] = new DefaultHttpContext(); + Requests[248].RequestServices = CreateServices(); + Requests[248].Request.Method = "GET"; + Requests[248].Request.Path = "/providers/Microsoft.PowerBIDedicated/operations"; + Requests[249] = new DefaultHttpContext(); + Requests[249].RequestServices = CreateServices(); + Requests[249].Request.Method = "GET"; + Requests[249].Request.Path = "/providers/Microsoft.RecoveryServices/operations"; + Requests[250] = new DefaultHttpContext(); + Requests[250].RequestServices = CreateServices(); + Requests[250].Request.Method = "GET"; + Requests[250].Request.Path = "/providers/Microsoft.Relay/operations"; + Requests[251] = new DefaultHttpContext(); + Requests[251].RequestServices = CreateServices(); + Requests[251].Request.Method = "GET"; + Requests[251].Request.Path = "/providers/Microsoft.ResourceHealth/operations"; + Requests[252] = new DefaultHttpContext(); + Requests[252].RequestServices = CreateServices(); + Requests[252].Request.Method = "GET"; + Requests[252].Request.Path = "/providers/Microsoft.Search/operations"; + Requests[253] = new DefaultHttpContext(); + Requests[253].RequestServices = CreateServices(); + Requests[253].Request.Method = "GET"; + Requests[253].Request.Path = "/providers/Microsoft.Security/operations"; + Requests[254] = new DefaultHttpContext(); + Requests[254].RequestServices = CreateServices(); + Requests[254].Request.Method = "GET"; + Requests[254].Request.Path = "/providers/Microsoft.ServiceBus/operations"; + Requests[255] = new DefaultHttpContext(); + Requests[255].RequestServices = CreateServices(); + Requests[255].Request.Method = "GET"; + Requests[255].Request.Path = "/providers/Microsoft.ServiceFabric/operations"; + Requests[256] = new DefaultHttpContext(); + Requests[256].RequestServices = CreateServices(); + Requests[256].Request.Method = "GET"; + Requests[256].Request.Path = "/providers/Microsoft.SignalRService/operations"; + Requests[257] = new DefaultHttpContext(); + Requests[257].RequestServices = CreateServices(); + Requests[257].Request.Method = "GET"; + Requests[257].Request.Path = "/providers/Microsoft.Sql/operations"; + Requests[258] = new DefaultHttpContext(); + Requests[258].RequestServices = CreateServices(); + Requests[258].Request.Method = "GET"; + Requests[258].Request.Path = "/providers/Microsoft.Storage.Admin/operations"; + Requests[259] = new DefaultHttpContext(); + Requests[259].RequestServices = CreateServices(); + Requests[259].Request.Method = "GET"; + Requests[259].Request.Path = "/providers/Microsoft.Storage/operations"; + Requests[260] = new DefaultHttpContext(); + Requests[260].RequestServices = CreateServices(); + Requests[260].Request.Method = "GET"; + Requests[260].Request.Path = "/providers/Microsoft.StorSimple/operations"; + Requests[261] = new DefaultHttpContext(); + Requests[261].RequestServices = CreateServices(); + Requests[261].Request.Method = "GET"; + Requests[261].Request.Path = "/providers/Microsoft.StreamAnalytics/operations"; + Requests[262] = new DefaultHttpContext(); + Requests[262].RequestServices = CreateServices(); + Requests[262].Request.Method = "GET"; + Requests[262].Request.Path = "/providers/Microsoft.Subscription/operations"; + Requests[263] = new DefaultHttpContext(); + Requests[263].RequestServices = CreateServices(); + Requests[263].Request.Method = "GET"; + Requests[263].Request.Path = "/providers/Microsoft.Subscription/subscriptionDefinitions"; + Requests[264] = new DefaultHttpContext(); + Requests[264].RequestServices = CreateServices(); + Requests[264].Request.Method = "GET"; + Requests[264].Request.Path = "/providers/Microsoft.Subscription/subscriptionOperations"; + Requests[265] = new DefaultHttpContext(); + Requests[265].RequestServices = CreateServices(); + Requests[265].Request.Method = "GET"; + Requests[265].Request.Path = "/providers/Microsoft.Subscriptions.Admin/operations"; + Requests[266] = new DefaultHttpContext(); + Requests[266].RequestServices = CreateServices(); + Requests[266].Request.Method = "GET"; + Requests[266].Request.Path = "/providers/Microsoft.Subscriptions/operations"; + Requests[267] = new DefaultHttpContext(); + Requests[267].RequestServices = CreateServices(); + Requests[267].Request.Method = "GET"; + Requests[267].Request.Path = "/providers/Microsoft.TimeSeriesInsights/operations"; + Requests[268] = new DefaultHttpContext(); + Requests[268].RequestServices = CreateServices(); + Requests[268].Request.Method = "GET"; + Requests[268].Request.Path = "/providers/Microsoft.Update.Admin/operations"; + Requests[269] = new DefaultHttpContext(); + Requests[269].RequestServices = CreateServices(); + Requests[269].Request.Method = "GET"; + Requests[269].Request.Path = "/providers/microsoft.visualstudio/operations"; + Requests[270] = new DefaultHttpContext(); + Requests[270].RequestServices = CreateServices(); + Requests[270].Request.Method = "GET"; + Requests[270].Request.Path = "/providers/Microsoft.Web/availableStacks"; + Requests[271] = new DefaultHttpContext(); + Requests[271].RequestServices = CreateServices(); + Requests[271].Request.Method = "GET"; + Requests[271].Request.Path = "/providers/Microsoft.Web/operations"; + Requests[272] = new DefaultHttpContext(); + Requests[272].RequestServices = CreateServices(); + Requests[272].Request.Method = "GET"; + Requests[272].Request.Path = "/providers/Microsoft.Web/sourcecontrols"; + Requests[273] = new DefaultHttpContext(); + Requests[273].RequestServices = CreateServices(); + Requests[273].Request.Method = "GET"; + Requests[273].Request.Path = "/Tools/Chaos/Events"; + Requests[274] = new DefaultHttpContext(); + Requests[274].RequestServices = CreateServices(); + Requests[274].Request.Method = "POST"; + Requests[274].Request.Path = "/Tools/Chaos/Schedule"; + Requests[275] = new DefaultHttpContext(); + Requests[275].RequestServices = CreateServices(); + Requests[275].Request.Method = "POST"; + Requests[275].Request.Path = "/BackupRestore/BackupPolicies/$/Create"; + Requests[276] = new DefaultHttpContext(); + Requests[276].RequestServices = CreateServices(); + Requests[276].Request.Method = "GET"; + Requests[276].Request.Path = "/contentmoderator/lists/v1.0/imagelists"; + Requests[277] = new DefaultHttpContext(); + Requests[277].RequestServices = CreateServices(); + Requests[277].Request.Method = "GET"; + Requests[277].Request.Path = "/contentmoderator/lists/v1.0/termlists"; + Requests[278] = new DefaultHttpContext(); + Requests[278].RequestServices = CreateServices(); + Requests[278].Request.Method = "GET"; + Requests[278].Request.Path = "/providers/Microsoft.ADHybridHealthService/addsservices/premiumCheck"; + Requests[279] = new DefaultHttpContext(); + Requests[279].RequestServices = CreateServices(); + Requests[279].Request.Method = "GET"; + Requests[279].Request.Path = "/providers/Microsoft.ADHybridHealthService/services/premiumCheck"; + Requests[280] = new DefaultHttpContext(); + Requests[280].RequestServices = CreateServices(); + Requests[280].Request.Method = "GET"; + Requests[280].Request.Path = "/providers/Microsoft.BotService/botServices/checkNameAvailability"; + Requests[281] = new DefaultHttpContext(); + Requests[281].RequestServices = CreateServices(); + Requests[281].Request.Method = "GET"; + Requests[281].Request.Path = "/providers/Microsoft.Intune/locations/hostName"; + Requests[282] = new DefaultHttpContext(); + Requests[282].RequestServices = CreateServices(); + Requests[282].Request.Method = "GET"; + Requests[282].Request.Path = "/providers/Microsoft.Network/trafficManagerGeographicHierarchies/default"; + Requests[283] = new DefaultHttpContext(); + Requests[283].RequestServices = CreateServices(); + Requests[283].Request.Method = "PUT"; + Requests[283].Request.Path = "/providers/Microsoft.Web/publishingUsers/web"; + Requests[284] = new DefaultHttpContext(); + Requests[284].RequestServices = CreateServices(); + Requests[284].Request.Method = "GET"; + Requests[284].Request.Path = "/Tools/Chaos/$/Report"; + Requests[285] = new DefaultHttpContext(); + Requests[285].RequestServices = CreateServices(); + Requests[285].Request.Method = "POST"; + Requests[285].Request.Path = "/Tools/Chaos/$/Start"; + Requests[286] = new DefaultHttpContext(); + Requests[286].RequestServices = CreateServices(); + Requests[286].Request.Method = "POST"; + Requests[286].Request.Path = "/Tools/Chaos/$/Stop"; + Requests[287] = new DefaultHttpContext(); + Requests[287].RequestServices = CreateServices(); + Requests[287].Request.Method = "POST"; + Requests[287].Request.Path = "/contentmoderator/moderate/v1.0/ProcessImage/Evaluate"; + Requests[288] = new DefaultHttpContext(); + Requests[288].RequestServices = CreateServices(); + Requests[288].Request.Method = "POST"; + Requests[288].Request.Path = "/contentmoderator/moderate/v1.0/ProcessImage/FindFaces"; + Requests[289] = new DefaultHttpContext(); + Requests[289].RequestServices = CreateServices(); + Requests[289].Request.Method = "POST"; + Requests[289].Request.Path = "/contentmoderator/moderate/v1.0/ProcessImage/Match"; + Requests[290] = new DefaultHttpContext(); + Requests[290].RequestServices = CreateServices(); + Requests[290].Request.Method = "POST"; + Requests[290].Request.Path = "/contentmoderator/moderate/v1.0/ProcessImage/OCR"; + Requests[291] = new DefaultHttpContext(); + Requests[291].RequestServices = CreateServices(); + Requests[291].Request.Method = "POST"; + Requests[291].Request.Path = "/contentmoderator/moderate/v1.0/ProcessText/DetectLanguage"; + Requests[292] = new DefaultHttpContext(); + Requests[292].RequestServices = CreateServices(); + Requests[292].Request.Method = "POST"; + Requests[292].Request.Path = "/contentmoderator/moderate/v1.0/ProcessText/Screen"; + Requests[293] = new DefaultHttpContext(); + Requests[293].RequestServices = CreateServices(); + Requests[293].Request.Method = "GET"; + Requests[293].Request.Path = "/providers/microsoft.insights/eventtypes/management/values"; + Requests[294] = new DefaultHttpContext(); + Requests[294].RequestServices = CreateServices(); + Requests[294].Request.Method = "PUT"; + Requests[294].Request.Path = "/contentmoderator/lists/v1.0/imagelists/172635"; + Requests[295] = new DefaultHttpContext(); + Requests[295].RequestServices = CreateServices(); + Requests[295].Request.Method = "PUT"; + Requests[295].Request.Path = "/contentmoderator/lists/v1.0/termlists/9d9dfc"; + Requests[296] = new DefaultHttpContext(); + Requests[296].RequestServices = CreateServices(); + Requests[296].Request.Method = "GET"; + Requests[296].Request.Path = "/contentmoderator/lists/v1.0/imagelists/084f88/images"; + Requests[297] = new DefaultHttpContext(); + Requests[297].RequestServices = CreateServices(); + Requests[297].Request.Method = "POST"; + Requests[297].Request.Path = "/contentmoderator/lists/v1.0/imagelists/1c04c5/RefreshIndex"; + Requests[298] = new DefaultHttpContext(); + Requests[298].RequestServices = CreateServices(); + Requests[298].Request.Method = "POST"; + Requests[298].Request.Path = "/contentmoderator/lists/v1.0/termlists/43730d/RefreshIndex"; + Requests[299] = new DefaultHttpContext(); + Requests[299].RequestServices = CreateServices(); + Requests[299].Request.Method = "DELETE"; + Requests[299].Request.Path = "/contentmoderator/lists/v1.0/termlists/d6f5ef/terms"; + Requests[300] = new DefaultHttpContext(); + Requests[300].RequestServices = CreateServices(); + Requests[300].Request.Method = "POST"; + Requests[300].Request.Path = "/contentmoderator/review/v1.0/teams/8c966d1f/jobs"; + Requests[301] = new DefaultHttpContext(); + Requests[301].RequestServices = CreateServices(); + Requests[301].Request.Method = "POST"; + Requests[301].Request.Path = "/contentmoderator/review/v1.0/teams/4c94ce93/reviews"; + Requests[302] = new DefaultHttpContext(); + Requests[302].RequestServices = CreateServices(); + Requests[302].Request.Method = "DELETE"; + Requests[302].Request.Path = "/contentmoderator/lists/v1.0/imagelists/cd4dc8/images/9460228"; + Requests[303] = new DefaultHttpContext(); + Requests[303].RequestServices = CreateServices(); + Requests[303].Request.Method = "DELETE"; + Requests[303].Request.Path = "/contentmoderator/lists/v1.0/termlists/ba5988/terms/4d510"; + Requests[304] = new DefaultHttpContext(); + Requests[304].RequestServices = CreateServices(); + Requests[304].Request.Method = "GET"; + Requests[304].Request.Path = "/contentmoderator/review/v1.0/teams/c49a45c8/jobs/b54cf"; + Requests[305] = new DefaultHttpContext(); + Requests[305].RequestServices = CreateServices(); + Requests[305].Request.Method = "GET"; + Requests[305].Request.Path = "/contentmoderator/review/v1.0/teams/8e3916fa/reviews/1bc53a13"; + Requests[306] = new DefaultHttpContext(); + Requests[306].RequestServices = CreateServices(); + Requests[306].Request.Method = "GET"; + Requests[306].Request.Path = "/contentmoderator/review/v1.0/teams/7aacdabd/reviews/dd17a58f/frames"; + Requests[307] = new DefaultHttpContext(); + Requests[307].RequestServices = CreateServices(); + Requests[307].Request.Method = "POST"; + Requests[307].Request.Path = "/contentmoderator/review/v1.0/teams/27f1b614/reviews/b2bc7494/publish"; + Requests[308] = new DefaultHttpContext(); + Requests[308].RequestServices = CreateServices(); + Requests[308].Request.Method = "PUT"; + Requests[308].Request.Path = "/contentmoderator/review/v1.0/teams/2de63c82/reviews/090a8a7e/transcript"; + Requests[309] = new DefaultHttpContext(); + Requests[309].RequestServices = CreateServices(); + Requests[309].Request.Method = "PUT"; + Requests[309].Request.Path = "/contentmoderator/review/v1.0/teams/06a9ee5d/reviews/af5fa279/transcriptmoderationresult"; + Requests[310] = new DefaultHttpContext(); + Requests[310].RequestServices = CreateServices(); + Requests[310].Request.Method = "GET"; + Requests[310].Request.Path = "/catalog/usql/databases/067402ce-404"; + Requests[311] = new DefaultHttpContext(); + Requests[311].RequestServices = CreateServices(); + Requests[311].Request.Method = "PATCH"; + Requests[311].Request.Path = "/providers/Microsoft.ADHybridHealthService/addsservices/e4053092-b5"; + Requests[312] = new DefaultHttpContext(); + Requests[312].RequestServices = CreateServices(); + Requests[312].Request.Method = "PATCH"; + Requests[312].Request.Path = "/providers/Microsoft.ADHybridHealthService/services/537db418-5a"; + Requests[313] = new DefaultHttpContext(); + Requests[313].RequestServices = CreateServices(); + Requests[313].Request.Method = "GET"; + Requests[313].Request.Path = "/providers/Microsoft.Authorization/policyDefinitions/ae041de3-8d8a-40ea-a"; + Requests[314] = new DefaultHttpContext(); + Requests[314].RequestServices = CreateServices(); + Requests[314].Request.Method = "GET"; + Requests[314].Request.Path = "/providers/Microsoft.Authorization/policySetDefinitions/d9da8a62-8975-4aed-b898"; + Requests[315] = new DefaultHttpContext(); + Requests[315].RequestServices = CreateServices(); + Requests[315].Request.Method = "GET"; + Requests[315].Request.Path = "/providers/Microsoft.Authorization/providerOperations/7502f3dc-3911-4388-a106-7"; + Requests[316] = new DefaultHttpContext(); + Requests[316].RequestServices = CreateServices(); + Requests[316].Request.Method = "GET"; + Requests[316].Request.Path = "/providers/Microsoft.Billing/enrollmentAccounts/d60f6"; + Requests[317] = new DefaultHttpContext(); + Requests[317].RequestServices = CreateServices(); + Requests[317].Request.Method = "GET"; + Requests[317].Request.Path = "/providers/Microsoft.Capacity/reservationOrders/a46ebea3-838b-4454"; + Requests[318] = new DefaultHttpContext(); + Requests[318].RequestServices = CreateServices(); + Requests[318].Request.Method = "HEAD"; + Requests[318].Request.Path = "/providers/Microsoft.DocumentDB/databaseAccountNames/ef9dd149-d3"; + Requests[319] = new DefaultHttpContext(); + Requests[319].RequestServices = CreateServices(); + Requests[319].Request.Method = "GET"; + Requests[319].Request.Path = "/providers/Microsoft.EventGrid/topicTypes/7840b780-3d8d"; + Requests[320] = new DefaultHttpContext(); + Requests[320].RequestServices = CreateServices(); + Requests[320].Request.Method = "GET"; + Requests[320].Request.Path = "/providers/Microsoft.ImportExport/locations/9dbdc85e-b95"; + Requests[321] = new DefaultHttpContext(); + Requests[321].RequestServices = CreateServices(); + Requests[321].Request.Method = "DELETE"; + Requests[321].Request.Path = "/providers/Microsoft.Management/managementGroups/8e9fcd5"; + Requests[322] = new DefaultHttpContext(); + Requests[322].RequestServices = CreateServices(); + Requests[322].Request.Method = "DELETE"; + Requests[322].Request.Path = "/providers/Microsoft.ManagementPartner/partners/a599e232-"; + Requests[323] = new DefaultHttpContext(); + Requests[323].RequestServices = CreateServices(); + Requests[323].Request.Method = "GET"; + Requests[323].Request.Path = "/providers/Microsoft.Subscription/subscriptionDefinitions/ede25e54-8877-4900-83fd-5c"; + Requests[324] = new DefaultHttpContext(); + Requests[324].RequestServices = CreateServices(); + Requests[324].Request.Method = "GET"; + Requests[324].Request.Path = "/providers/Microsoft.Subscription/subscriptionOperations/78184818-21"; + Requests[325] = new DefaultHttpContext(); + Requests[325].RequestServices = CreateServices(); + Requests[325].Request.Method = "PUT"; + Requests[325].Request.Path = "/providers/Microsoft.Web/sourcecontrols/36de2cb7-1d03-441"; + Requests[326] = new DefaultHttpContext(); + Requests[326].RequestServices = CreateServices(); + Requests[326].Request.Method = "GET"; + Requests[326].Request.Path = "/catalog/usql/databases/fab751f5-5b3/acl"; + Requests[327] = new DefaultHttpContext(); + Requests[327].RequestServices = CreateServices(); + Requests[327].Request.Method = "GET"; + Requests[327].Request.Path = "/catalog/usql/databases/8e64a79c-8e7/assemblies"; + Requests[328] = new DefaultHttpContext(); + Requests[328].RequestServices = CreateServices(); + Requests[328].Request.Method = "GET"; + Requests[328].Request.Path = "/catalog/usql/databases/ed3857d2-c04/credentials"; + Requests[329] = new DefaultHttpContext(); + Requests[329].RequestServices = CreateServices(); + Requests[329].Request.Method = "GET"; + Requests[329].Request.Path = "/catalog/usql/databases/d5d129b9-5be/externaldatasources"; + Requests[330] = new DefaultHttpContext(); + Requests[330].RequestServices = CreateServices(); + Requests[330].Request.Method = "GET"; + Requests[330].Request.Path = "/catalog/usql/databases/7ea64a28-39e/schemas"; + Requests[331] = new DefaultHttpContext(); + Requests[331].RequestServices = CreateServices(); + Requests[331].Request.Method = "DELETE"; + Requests[331].Request.Path = "/catalog/usql/databases/57ad1786-0bc/secrets"; + Requests[332] = new DefaultHttpContext(); + Requests[332].RequestServices = CreateServices(); + Requests[332].Request.Method = "GET"; + Requests[332].Request.Path = "/catalog/usql/databases/5b336b33-37a/statistics"; + Requests[333] = new DefaultHttpContext(); + Requests[333].RequestServices = CreateServices(); + Requests[333].Request.Method = "GET"; + Requests[333].Request.Path = "/catalog/usql/databases/f4bf868b-455/tables"; + Requests[334] = new DefaultHttpContext(); + Requests[334].RequestServices = CreateServices(); + Requests[334].Request.Method = "GET"; + Requests[334].Request.Path = "/catalog/usql/databases/cfebe9a3-c8a/tablevaluedfunctions"; + Requests[335] = new DefaultHttpContext(); + Requests[335].RequestServices = CreateServices(); + Requests[335].Request.Method = "GET"; + Requests[335].Request.Path = "/catalog/usql/databases/636a3238-370/views"; + Requests[336] = new DefaultHttpContext(); + Requests[336].RequestServices = CreateServices(); + Requests[336].Request.Method = "GET"; + Requests[336].Request.Path = "/providers/Microsoft.ADHybridHealthService/addsservices/8663b0d5-15/addomainservicemembers"; + Requests[337] = new DefaultHttpContext(); + Requests[337].RequestServices = CreateServices(); + Requests[337].Request.Method = "GET"; + Requests[337].Request.Path = "/providers/Microsoft.ADHybridHealthService/addsservices/9af34e2b-6d/addsservicemembers"; + Requests[338] = new DefaultHttpContext(); + Requests[338].RequestServices = CreateServices(); + Requests[338].Request.Method = "GET"; + Requests[338].Request.Path = "/providers/Microsoft.ADHybridHealthService/addsservices/d1af149f-71/alerts"; + Requests[339] = new DefaultHttpContext(); + Requests[339].RequestServices = CreateServices(); + Requests[339].Request.Method = "GET"; + Requests[339].Request.Path = "/providers/Microsoft.ADHybridHealthService/addsservices/904ef7ca-90/configuration"; + Requests[340] = new DefaultHttpContext(); + Requests[340].RequestServices = CreateServices(); + Requests[340].Request.Method = "GET"; + Requests[340].Request.Path = "/providers/Microsoft.ADHybridHealthService/addsservices/0539b471-9d/forestsummary"; + Requests[341] = new DefaultHttpContext(); + Requests[341].RequestServices = CreateServices(); + Requests[341].Request.Method = "GET"; + Requests[341].Request.Path = "/providers/Microsoft.ADHybridHealthService/addsservices/94d78827-11/metricmetadata"; + Requests[342] = new DefaultHttpContext(); + Requests[342].RequestServices = CreateServices(); + Requests[342].Request.Method = "GET"; + Requests[342].Request.Path = "/providers/Microsoft.ADHybridHealthService/addsservices/b332b07d-2b/replicationstatus"; + Requests[343] = new DefaultHttpContext(); + Requests[343].RequestServices = CreateServices(); + Requests[343].Request.Method = "GET"; + Requests[343].Request.Path = "/providers/Microsoft.ADHybridHealthService/addsservices/4e828015-2e/replicationsummary"; + Requests[344] = new DefaultHttpContext(); + Requests[344].RequestServices = CreateServices(); + Requests[344].Request.Method = "GET"; + Requests[344].Request.Path = "/providers/Microsoft.ADHybridHealthService/services/c1e0b57c-ba/alerts"; + Requests[345] = new DefaultHttpContext(); + Requests[345].RequestServices = CreateServices(); + Requests[345].Request.Method = "GET"; + Requests[345].Request.Path = "/providers/Microsoft.ADHybridHealthService/services/107acd29-a5/exportstatus"; + Requests[346] = new DefaultHttpContext(); + Requests[346].RequestServices = CreateServices(); + Requests[346].Request.Method = "GET"; + Requests[346].Request.Path = "/providers/Microsoft.ADHybridHealthService/services/df8a5a4c-d5/metricmetadata"; + Requests[347] = new DefaultHttpContext(); + Requests[347].RequestServices = CreateServices(); + Requests[347].Request.Method = "PATCH"; + Requests[347].Request.Path = "/providers/Microsoft.ADHybridHealthService/services/164a138b-7f/monitoringconfiguration"; + Requests[348] = new DefaultHttpContext(); + Requests[348].RequestServices = CreateServices(); + Requests[348].Request.Method = "GET"; + Requests[348].Request.Path = "/providers/Microsoft.ADHybridHealthService/services/68d5b01a-5f/monitoringconfigurations"; + Requests[349] = new DefaultHttpContext(); + Requests[349].RequestServices = CreateServices(); + Requests[349].Request.Method = "POST"; + Requests[349].Request.Path = "/providers/Microsoft.ADHybridHealthService/services/db455f04-72/servicemembers"; + Requests[350] = new DefaultHttpContext(); + Requests[350].RequestServices = CreateServices(); + Requests[350].Request.Method = "POST"; + Requests[350].Request.Path = "/providers/Microsoft.Capacity/reservationOrders/fb225ad6-6d05-430a/merge"; + Requests[351] = new DefaultHttpContext(); + Requests[351].RequestServices = CreateServices(); + Requests[351].Request.Method = "GET"; + Requests[351].Request.Path = "/providers/Microsoft.Capacity/reservationOrders/2b9094e5-138d-4158/reservations"; + Requests[352] = new DefaultHttpContext(); + Requests[352].RequestServices = CreateServices(); + Requests[352].Request.Method = "POST"; + Requests[352].Request.Path = "/providers/Microsoft.Capacity/reservationOrders/c1c30656-bea9-42f2/split"; + Requests[353] = new DefaultHttpContext(); + Requests[353].RequestServices = CreateServices(); + Requests[353].Request.Method = "GET"; + Requests[353].Request.Path = "/providers/Microsoft.EventGrid/topicTypes/3769d8fb-cd23/eventTypes"; + Requests[354] = new DefaultHttpContext(); + Requests[354].RequestServices = CreateServices(); + Requests[354].Request.Method = "GET"; + Requests[354].Request.Path = "/providers/Microsoft.Intune/locations/33dee284/androidPolicies"; + Requests[355] = new DefaultHttpContext(); + Requests[355].RequestServices = CreateServices(); + Requests[355].Request.Method = "GET"; + Requests[355].Request.Path = "/providers/Microsoft.Intune/locations/94731d94/apps"; + Requests[356] = new DefaultHttpContext(); + Requests[356].RequestServices = CreateServices(); + Requests[356].Request.Method = "GET"; + Requests[356].Request.Path = "/providers/Microsoft.Intune/locations/2c99d7cb/flaggedUsers"; + Requests[357] = new DefaultHttpContext(); + Requests[357].RequestServices = CreateServices(); + Requests[357].Request.Method = "GET"; + Requests[357].Request.Path = "/providers/Microsoft.Intune/locations/437ca3b8/iosPolicies"; + Requests[358] = new DefaultHttpContext(); + Requests[358].RequestServices = CreateServices(); + Requests[358].Request.Method = "GET"; + Requests[358].Request.Path = "/providers/Microsoft.Intune/locations/ff66f6db/operationResults"; + Requests[359] = new DefaultHttpContext(); + Requests[359].RequestServices = CreateServices(); + Requests[359].Request.Method = "GET"; + Requests[359].Request.Path = "/providers/Microsoft.ADHybridHealthService/services/7db9fe83-10/exporterrors/counts"; + Requests[360] = new DefaultHttpContext(); + Requests[360].RequestServices = CreateServices(); + Requests[360].Request.Method = "GET"; + Requests[360].Request.Path = "/providers/Microsoft.ADHybridHealthService/services/73301abe-83/exporterrors/listV2"; + Requests[361] = new DefaultHttpContext(); + Requests[361].RequestServices = CreateServices(); + Requests[361].Request.Method = "GET"; + Requests[361].Request.Path = "/providers/Microsoft.Intune/locations/9c672c51/statuses/default"; + Requests[362] = new DefaultHttpContext(); + Requests[362].RequestServices = CreateServices(); + Requests[362].Request.Method = "POST"; + Requests[362].Request.Path = "/providers/Microsoft.ADHybridHealthService/services/9b40a590-ce/feedbacktype/alerts/feedback"; + Requests[363] = new DefaultHttpContext(); + Requests[363].RequestServices = CreateServices(); + Requests[363].Request.Method = "GET"; + Requests[363].Request.Path = "/providers/Microsoft.Billing/billingAccounts/47f15d08-814b-42/providers/Microsoft.Consumption/balances"; + Requests[364] = new DefaultHttpContext(); + Requests[364].RequestServices = CreateServices(); + Requests[364].Request.Method = "PUT"; + Requests[364].Request.Path = "/providers/Microsoft.Billing/billingAccounts/0c4ab794-5f1f-4e/providers/Microsoft.Consumption/costTags"; + Requests[365] = new DefaultHttpContext(); + Requests[365].RequestServices = CreateServices(); + Requests[365].Request.Method = "GET"; + Requests[365].Request.Path = "/providers/Microsoft.Billing/billingAccounts/b0160589-0035-48/providers/Microsoft.Consumption/marketplaces"; + Requests[366] = new DefaultHttpContext(); + Requests[366].RequestServices = CreateServices(); + Requests[366].Request.Method = "GET"; + Requests[366].Request.Path = "/providers/Microsoft.Billing/billingAccounts/9f163d97-8044-4d/providers/Microsoft.Consumption/usageDetails"; + Requests[367] = new DefaultHttpContext(); + Requests[367].RequestServices = CreateServices(); + Requests[367].Request.Method = "GET"; + Requests[367].Request.Path = "/providers/Microsoft.Billing/departments/e6d0c6b1-7f2/providers/Microsoft.Consumption/marketplaces"; + Requests[368] = new DefaultHttpContext(); + Requests[368].RequestServices = CreateServices(); + Requests[368].Request.Method = "GET"; + Requests[368].Request.Path = "/providers/Microsoft.Billing/departments/65e44e7b-827/providers/Microsoft.Consumption/usageDetails"; + Requests[369] = new DefaultHttpContext(); + Requests[369].RequestServices = CreateServices(); + Requests[369].Request.Method = "GET"; + Requests[369].Request.Path = "/providers/Microsoft.Billing/enrollmentAccounts/15e3d840-6d8e-40a7-/providers/Microsoft.Consumption/marketplaces"; + Requests[370] = new DefaultHttpContext(); + Requests[370].RequestServices = CreateServices(); + Requests[370].Request.Method = "GET"; + Requests[370].Request.Path = "/providers/Microsoft.Billing/enrollmentAccounts/2727fb41-6b23-487e-/providers/Microsoft.Consumption/usageDetails"; + Requests[371] = new DefaultHttpContext(); + Requests[371].RequestServices = CreateServices(); + Requests[371].Request.Method = "POST"; + Requests[371].Request.Path = "/providers/Microsoft.Billing/enrollmentAccounts/5ae2bbd7-b759-4ef3-a9/providers/Microsoft.Subscription/createSubscription"; + Requests[372] = new DefaultHttpContext(); + Requests[372].RequestServices = CreateServices(); + Requests[372].Request.Method = "GET"; + Requests[372].Request.Path = "/providers/Microsoft.Capacity/reservationorders/b05f9e65-fd32-4756/providers/Microsoft.Consumption/reservationDetails"; + Requests[373] = new DefaultHttpContext(); + Requests[373].RequestServices = CreateServices(); + Requests[373].Request.Method = "GET"; + Requests[373].Request.Path = "/providers/Microsoft.Capacity/reservationorders/6a82a288-133d-41a2/providers/Microsoft.Consumption/reservationSummaries"; + Requests[374] = new DefaultHttpContext(); + Requests[374].RequestServices = CreateServices(); + Requests[374].Request.Method = "GET"; + Requests[374].Request.Path = "/providers/Microsoft.CostManagement/billingAccounts/10e3ee6c-d564-42/providers/Microsoft.Consumption/tags"; + Requests[375] = new DefaultHttpContext(); + Requests[375].RequestServices = CreateServices(); + Requests[375].Request.Method = "GET"; + Requests[375].Request.Path = "/providers/Microsoft.Management/managementgroups/1d35558d-f208-4b6/providers/Microsoft.Authorization/policyDefinitions"; + Requests[376] = new DefaultHttpContext(); + Requests[376].RequestServices = CreateServices(); + Requests[376].Request.Method = "GET"; + Requests[376].Request.Path = "/providers/Microsoft.Management/managementgroups/04e647bb-bec1-4f5/providers/Microsoft.Authorization/policySetDefinitions"; + Requests[377] = new DefaultHttpContext(); + Requests[377].RequestServices = CreateServices(); + Requests[377].Request.Method = "GET"; + Requests[377].Request.Path = "/providers/Microsoft.ADHybridHealthService/services/babc1908-48/reports/badpassword/details/user"; + Requests[378] = new DefaultHttpContext(); + Requests[378].RequestServices = CreateServices(); + Requests[378].Request.Method = "GET"; + Requests[378].Request.Path = "/providers/Microsoft.Management/managementgroups/5ef7f363-d532-45d/providers/Microsoft.Authorization/policyDefinitions/afba486a-a94a-4c14-9"; + Requests[379] = new DefaultHttpContext(); + Requests[379].RequestServices = CreateServices(); + Requests[379].Request.Method = "GET"; + Requests[379].Request.Path = "/providers/Microsoft.Management/managementgroups/5805140c-1e0a-4e5/providers/Microsoft.Authorization/policySetDefinitions/026f2beb-05ce-4761-b0b3"; + Requests[380] = new DefaultHttpContext(); + Requests[380].RequestServices = CreateServices(); + Requests[380].Request.Method = "GET"; + Requests[380].Request.Path = "/providers/Microsoft.Billing/billingAccounts/0aa79401-7f95-40/providers/Microsoft.Billing/billingPeriods/acae24b4-fa87-4c4/providers/Microsoft.Consumption/balances"; + Requests[381] = new DefaultHttpContext(); + Requests[381].RequestServices = CreateServices(); + Requests[381].Request.Method = "GET"; + Requests[381].Request.Path = "/providers/Microsoft.Billing/billingAccounts/2ce6b1ce-6fa5-44/providers/Microsoft.Billing/billingPeriods/af14f6c4-cdae-40d/providers/Microsoft.Consumption/marketplaces"; + Requests[382] = new DefaultHttpContext(); + Requests[382].RequestServices = CreateServices(); + Requests[382].Request.Method = "GET"; + Requests[382].Request.Path = "/providers/Microsoft.Billing/billingAccounts/c692be09-0656-4b/providers/Microsoft.Billing/billingPeriods/4dc3834a-85d8-40f/providers/Microsoft.Consumption/usageDetails"; + Requests[383] = new DefaultHttpContext(); + Requests[383].RequestServices = CreateServices(); + Requests[383].Request.Method = "GET"; + Requests[383].Request.Path = "/providers/Microsoft.Billing/departments/f15b4906-822/providers/Microsoft.Billing/billingPeriods/acf42839-77aa-478/providers/Microsoft.Consumption/marketplaces"; + Requests[384] = new DefaultHttpContext(); + Requests[384].RequestServices = CreateServices(); + Requests[384].Request.Method = "GET"; + Requests[384].Request.Path = "/providers/Microsoft.Billing/departments/6e06e21c-ee8/providers/Microsoft.Billing/billingPeriods/22471482-c58a-418/providers/Microsoft.Consumption/usageDetails"; + Requests[385] = new DefaultHttpContext(); + Requests[385].RequestServices = CreateServices(); + Requests[385].Request.Method = "GET"; + Requests[385].Request.Path = "/providers/Microsoft.Billing/enrollmentAccounts/3707e463-6482-4c55-/providers/Microsoft.Billing/billingPeriods/33b22cc2-67a1-49b/providers/Microsoft.Consumption/marketplaces"; + Requests[386] = new DefaultHttpContext(); + Requests[386].RequestServices = CreateServices(); + Requests[386].Request.Method = "GET"; + Requests[386].Request.Path = "/providers/Microsoft.Billing/enrollmentAccounts/4daaebb7-b44e-40a6-/providers/Microsoft.Billing/billingPeriods/5e7b6785-0408-430/providers/Microsoft.Consumption/usageDetails"; + Requests[387] = new DefaultHttpContext(); + Requests[387].RequestServices = CreateServices(); + Requests[387].Request.Method = "GET"; + Requests[387].Request.Path = "/providers/Microsoft.ADHybridHealthService/services/bdd7be34-e9/feedbacktype/alerts/55282d96-/alertfeedback"; + Requests[388] = new DefaultHttpContext(); + Requests[388].RequestServices = CreateServices(); + Requests[388].Request.Method = "GET"; + Requests[388].Request.Path = "/catalog/usql/databases/1ee3f0db-8e2/assemblies/7298b770-468"; + Requests[389] = new DefaultHttpContext(); + Requests[389].RequestServices = CreateServices(); + Requests[389].Request.Method = "POST"; + Requests[389].Request.Path = "/catalog/usql/databases/9ef0996f-dba/credentials/47be49fe-49f7-"; + Requests[390] = new DefaultHttpContext(); + Requests[390].RequestServices = CreateServices(); + Requests[390].Request.Method = "GET"; + Requests[390].Request.Path = "/catalog/usql/databases/c0a08d2e-934/externaldatasources/0a42a41a-a8f6-4ad0-b12"; + Requests[391] = new DefaultHttpContext(); + Requests[391].RequestServices = CreateServices(); + Requests[391].Request.Method = "GET"; + Requests[391].Request.Path = "/catalog/usql/databases/191a0d1b-cd7/schemas/6b9bee9e-1"; + Requests[392] = new DefaultHttpContext(); + Requests[392].RequestServices = CreateServices(); + Requests[392].Request.Method = "DELETE"; + Requests[392].Request.Path = "/catalog/usql/databases/cdbc440a-ca2/secrets/374b0aa7-4"; + Requests[393] = new DefaultHttpContext(); + Requests[393].RequestServices = CreateServices(); + Requests[393].Request.Method = "GET"; + Requests[393].Request.Path = "/providers/Microsoft.ADHybridHealthService/addsservices/3fba0274-c2/dimensions/8728a096-"; + Requests[394] = new DefaultHttpContext(); + Requests[394].RequestServices = CreateServices(); + Requests[394].Request.Method = "GET"; + Requests[394].Request.Path = "/providers/Microsoft.ADHybridHealthService/addsservices/6eebc390-75/metricmetadata/daff08fd-9"; + Requests[395] = new DefaultHttpContext(); + Requests[395].RequestServices = CreateServices(); + Requests[395].Request.Method = "GET"; + Requests[395].Request.Path = "/providers/Microsoft.ADHybridHealthService/services/5fb7eaf9-de/checkServiceFeatureAvailibility/62fba665-a1"; + Requests[396] = new DefaultHttpContext(); + Requests[396].RequestServices = CreateServices(); + Requests[396].Request.Method = "GET"; + Requests[396].Request.Path = "/providers/Microsoft.ADHybridHealthService/services/d21c9e41-b4/metricmetadata/82c9cbb8-d"; + Requests[397] = new DefaultHttpContext(); + Requests[397].RequestServices = CreateServices(); + Requests[397].Request.Method = "DELETE"; + Requests[397].Request.Path = "/providers/Microsoft.ADHybridHealthService/services/db3b1d6c-64/servicemembers/15e5fd84-71cc-4"; + Requests[398] = new DefaultHttpContext(); + Requests[398].RequestServices = CreateServices(); + Requests[398].Request.Method = "GET"; + Requests[398].Request.Path = "/providers/Microsoft.ADHybridHealthService/services/08f64e6d-7d/TenantWhitelisting/a395130d-9f"; + Requests[399] = new DefaultHttpContext(); + Requests[399].RequestServices = CreateServices(); + Requests[399].Request.Method = "PATCH"; + Requests[399].Request.Path = "/providers/Microsoft.Capacity/reservationOrders/50bf12fa-1c96-4ecf/reservations/26e1794d-165d"; + Requests[400] = new DefaultHttpContext(); + Requests[400].RequestServices = CreateServices(); + Requests[400].Request.Method = "DELETE"; + Requests[400].Request.Path = "/providers/Microsoft.Intune/locations/ce422055/androidPolicies/5da74243-2"; + Requests[401] = new DefaultHttpContext(); + Requests[401].RequestServices = CreateServices(); + Requests[401].Request.Method = "GET"; + Requests[401].Request.Path = "/providers/Microsoft.Intune/locations/ddcf871a/flaggedUsers/92436145"; + Requests[402] = new DefaultHttpContext(); + Requests[402].RequestServices = CreateServices(); + Requests[402].Request.Method = "DELETE"; + Requests[402].Request.Path = "/providers/Microsoft.Intune/locations/6bf6d937/iosPolicies/1096e807-1"; + Requests[403] = new DefaultHttpContext(); + Requests[403].RequestServices = CreateServices(); + Requests[403].Request.Method = "DELETE"; + Requests[403].Request.Path = "/providers/Microsoft.Management/managementGroups/926702c/subscriptions/a09ac2dc-3e05-"; + Requests[404] = new DefaultHttpContext(); + Requests[404].RequestServices = CreateServices(); + Requests[404].Request.Method = "GET"; + Requests[404].Request.Path = "/catalog/usql/databases/c6a1cb7d-554/schemas/3abe551b-b/packages"; + Requests[405] = new DefaultHttpContext(); + Requests[405].RequestServices = CreateServices(); + Requests[405].Request.Method = "GET"; + Requests[405].Request.Path = "/catalog/usql/databases/370e8972-15a/schemas/6a5d0b9d-0/procedures"; + Requests[406] = new DefaultHttpContext(); + Requests[406].RequestServices = CreateServices(); + Requests[406].Request.Method = "GET"; + Requests[406].Request.Path = "/catalog/usql/databases/20d42a0e-173/schemas/fbe4d1c6-b/statistics"; + Requests[407] = new DefaultHttpContext(); + Requests[407].RequestServices = CreateServices(); + Requests[407].Request.Method = "GET"; + Requests[407].Request.Path = "/catalog/usql/databases/3475cf00-2a2/schemas/c64792e1-2/tables"; + Requests[408] = new DefaultHttpContext(); + Requests[408].RequestServices = CreateServices(); + Requests[408].Request.Method = "GET"; + Requests[408].Request.Path = "/catalog/usql/databases/51f2167b-534/schemas/c3a76415-b/tabletypes"; + Requests[409] = new DefaultHttpContext(); + Requests[409].RequestServices = CreateServices(); + Requests[409].Request.Method = "GET"; + Requests[409].Request.Path = "/catalog/usql/databases/6ed6d657-ec1/schemas/21c217fb-1/tablevaluedfunctions"; + Requests[410] = new DefaultHttpContext(); + Requests[410].RequestServices = CreateServices(); + Requests[410].Request.Method = "GET"; + Requests[410].Request.Path = "/catalog/usql/databases/9698214e-ff6/schemas/fce2d2e9-8/types"; + Requests[411] = new DefaultHttpContext(); + Requests[411].RequestServices = CreateServices(); + Requests[411].Request.Method = "GET"; + Requests[411].Request.Path = "/catalog/usql/databases/4e8d1cde-bff/schemas/43cb0cd9-1/views"; + Requests[412] = new DefaultHttpContext(); + Requests[412].RequestServices = CreateServices(); + Requests[412].Request.Method = "GET"; + Requests[412].Request.Path = "/providers/Microsoft.ADHybridHealthService/addsservices/b7cc2683-ef/servicemembers/0f27120a-2c20-4/alerts"; + Requests[413] = new DefaultHttpContext(); + Requests[413].RequestServices = CreateServices(); + Requests[413].Request.Method = "GET"; + Requests[413].Request.Path = "/providers/Microsoft.ADHybridHealthService/service/e7cdb36e-1f/servicemembers/87d4ce05-c877-4/connectors"; + Requests[414] = new DefaultHttpContext(); + Requests[414].RequestServices = CreateServices(); + Requests[414].Request.Method = "GET"; + Requests[414].Request.Path = "/providers/Microsoft.ADHybridHealthService/services/5807cd3a-e1/servicemembers/53a134c2-cb20-4/alerts"; + Requests[415] = new DefaultHttpContext(); + Requests[415].RequestServices = CreateServices(); + Requests[415].Request.Method = "GET"; + Requests[415].Request.Path = "/providers/Microsoft.ADHybridHealthService/services/eac9259c-0f/servicemembers/4232c432-432d-4/credentials"; + Requests[416] = new DefaultHttpContext(); + Requests[416].RequestServices = CreateServices(); + Requests[416].Request.Method = "DELETE"; + Requests[416].Request.Path = "/providers/Microsoft.ADHybridHealthService/services/aed8d8d2-3e/servicemembers/1ce1bab0-e159-4/data"; + Requests[417] = new DefaultHttpContext(); + Requests[417].RequestServices = CreateServices(); + Requests[417].Request.Method = "GET"; + Requests[417].Request.Path = "/providers/Microsoft.ADHybridHealthService/services/9a7a1e08-78/servicemembers/e4c4ee12-676e-4/datafreshness"; + Requests[418] = new DefaultHttpContext(); + Requests[418].RequestServices = CreateServices(); + Requests[418].Request.Method = "GET"; + Requests[418].Request.Path = "/providers/Microsoft.ADHybridHealthService/services/7f1a8eb7-2c/servicemembers/e58d1b8a-67db-4/exportstatus"; + Requests[419] = new DefaultHttpContext(); + Requests[419].RequestServices = CreateServices(); + Requests[419].Request.Method = "GET"; + Requests[419].Request.Path = "/providers/Microsoft.ADHybridHealthService/services/1492e382-54/servicemembers/f334402d-44ca-4/globalconfiguration"; + Requests[420] = new DefaultHttpContext(); + Requests[420].RequestServices = CreateServices(); + Requests[420].Request.Method = "GET"; + Requests[420].Request.Path = "/providers/Microsoft.ADHybridHealthService/services/514bd75d-36/servicemembers/dfe5afb7-1c69-4/serviceconfiguration"; + Requests[421] = new DefaultHttpContext(); + Requests[421].RequestServices = CreateServices(); + Requests[421].Request.Method = "GET"; + Requests[421].Request.Path = "/providers/Microsoft.Capacity/reservationOrders/42dd424b-7eba-421c/reservations/781460b2-a4e9/revisions"; + Requests[422] = new DefaultHttpContext(); + Requests[422].RequestServices = CreateServices(); + Requests[422].Request.Method = "GET"; + Requests[422].Request.Path = "/providers/Microsoft.Intune/locations/82f1ce00/AndroidPolicies/4ff634bc-4/apps"; + Requests[423] = new DefaultHttpContext(); + Requests[423].RequestServices = CreateServices(); + Requests[423].Request.Method = "GET"; + Requests[423].Request.Path = "/providers/Microsoft.Intune/locations/7053c9a6/androidPolicies/73201c8c-c/groups"; + Requests[424] = new DefaultHttpContext(); + Requests[424].RequestServices = CreateServices(); + Requests[424].Request.Method = "GET"; + Requests[424].Request.Path = "/providers/Microsoft.Intune/locations/0ec07284/flaggedUsers/0ea259be/flaggedEnrolledApps"; + Requests[425] = new DefaultHttpContext(); + Requests[425].RequestServices = CreateServices(); + Requests[425].Request.Method = "GET"; + Requests[425].Request.Path = "/providers/Microsoft.Intune/locations/8c1b1923/iosPolicies/eb06c25a-c/apps"; + Requests[426] = new DefaultHttpContext(); + Requests[426].RequestServices = CreateServices(); + Requests[426].Request.Method = "GET"; + Requests[426].Request.Path = "/providers/Microsoft.Intune/locations/6b9d978e/iosPolicies/102cb2e0-d/groups"; + Requests[427] = new DefaultHttpContext(); + Requests[427].RequestServices = CreateServices(); + Requests[427].Request.Method = "GET"; + Requests[427].Request.Path = "/providers/Microsoft.Intune/locations/01fd39da/users/797ffb0d/devices"; + Requests[428] = new DefaultHttpContext(); + Requests[428].RequestServices = CreateServices(); + Requests[428].Request.Method = "GET"; + Requests[428].Request.Path = "/providers/Microsoft.Capacity/reservationorders/d4012ed3-8bec-4b26/reservations/7eb98072-218a/providers/Microsoft.Consumption/reservationDetails"; + Requests[429] = new DefaultHttpContext(); + Requests[429].RequestServices = CreateServices(); + Requests[429].Request.Method = "GET"; + Requests[429].Request.Path = "/providers/Microsoft.Capacity/reservationorders/6e66219f-224e-4e8a/reservations/8d6f8096-785c/providers/Microsoft.Consumption/reservationSummaries"; + Requests[430] = new DefaultHttpContext(); + Requests[430].RequestServices = CreateServices(); + Requests[430].Request.Method = "GET"; + Requests[430].Request.Path = "/catalog/usql/databases/08fd535e-274/schemas/a8b4fd14-a/packages/f572fd5c-9a"; + Requests[431] = new DefaultHttpContext(); + Requests[431].RequestServices = CreateServices(); + Requests[431].Request.Method = "GET"; + Requests[431].Request.Path = "/catalog/usql/databases/f52f7a23-44a/schemas/3fe84abb-e/procedures/e20a0932-7780"; + Requests[432] = new DefaultHttpContext(); + Requests[432].RequestServices = CreateServices(); + Requests[432].Request.Method = "GET"; + Requests[432].Request.Path = "/catalog/usql/databases/a8871e72-05a/schemas/42dab0de-c/tables/19165984-"; + Requests[433] = new DefaultHttpContext(); + Requests[433].RequestServices = CreateServices(); + Requests[433].Request.Method = "GET"; + Requests[433].Request.Path = "/catalog/usql/databases/691e92f7-a74/schemas/f8b9434d-5/tabletypes/b0cb44a2-65ef"; + Requests[434] = new DefaultHttpContext(); + Requests[434].RequestServices = CreateServices(); + Requests[434].Request.Method = "GET"; + Requests[434].Request.Path = "/catalog/usql/databases/d646e95e-b13/schemas/b919ee62-a/tablevaluedfunctions/035d1efd-967b-4c70-8a03"; + Requests[435] = new DefaultHttpContext(); + Requests[435].RequestServices = CreateServices(); + Requests[435].Request.Method = "GET"; + Requests[435].Request.Path = "/catalog/usql/databases/6a325af8-5bc/schemas/7a1a756a-c/views/6a1d0fd7"; + Requests[436] = new DefaultHttpContext(); + Requests[436].RequestServices = CreateServices(); + Requests[436].Request.Method = "GET"; + Requests[436].Request.Path = "/providers/Microsoft.ADHybridHealthService/addsservices/f45e74a3-5d/metricmetadata/717e951a-d/groups/4bc43b1f-"; + Requests[437] = new DefaultHttpContext(); + Requests[437].RequestServices = CreateServices(); + Requests[437].Request.Method = "GET"; + Requests[437].Request.Path = "/providers/Microsoft.ADHybridHealthService/services/6bb2374e-92/metricmetadata/0fe3a01f-0/groups/c1b64632-"; + Requests[438] = new DefaultHttpContext(); + Requests[438].RequestServices = CreateServices(); + Requests[438].Request.Method = "DELETE"; + Requests[438].Request.Path = "/providers/Microsoft.Intune/locations/71625769/androidPolicies/e4ffba4c-4/apps/4293883"; + Requests[439] = new DefaultHttpContext(); + Requests[439].RequestServices = CreateServices(); + Requests[439].Request.Method = "DELETE"; + Requests[439].Request.Path = "/providers/Microsoft.Intune/locations/9273bbe3/androidPolicies/3f892ebc-6/groups/d052597"; + Requests[440] = new DefaultHttpContext(); + Requests[440].RequestServices = CreateServices(); + Requests[440].Request.Method = "DELETE"; + Requests[440].Request.Path = "/providers/Microsoft.Intune/locations/b708beeb/iosPolicies/7e608bc0-c/apps/3c90f48"; + Requests[441] = new DefaultHttpContext(); + Requests[441].RequestServices = CreateServices(); + Requests[441].Request.Method = "DELETE"; + Requests[441].Request.Path = "/providers/Microsoft.Intune/locations/c4f0a13e/iosPolicies/9b9ce7c5-e/groups/5b2aa0d"; + Requests[442] = new DefaultHttpContext(); + Requests[442].RequestServices = CreateServices(); + Requests[442].Request.Method = "GET"; + Requests[442].Request.Path = "/providers/Microsoft.Intune/locations/daf6c43f/users/bc881d61/devices/61cbaddf-8"; + Requests[443] = new DefaultHttpContext(); + Requests[443].RequestServices = CreateServices(); + Requests[443].Request.Method = "GET"; + Requests[443].Request.Path = "/catalog/usql/databases/b048fa5e-d96/schemas/fd93d313-c/tables/ff69afce-/partitions"; + Requests[444] = new DefaultHttpContext(); + Requests[444].RequestServices = CreateServices(); + Requests[444].Request.Method = "GET"; + Requests[444].Request.Path = "/catalog/usql/databases/1a9de872-8f0/schemas/180fa8eb-c/tables/3e390733-/previewrows"; + Requests[445] = new DefaultHttpContext(); + Requests[445].RequestServices = CreateServices(); + Requests[445].Request.Method = "GET"; + Requests[445].Request.Path = "/catalog/usql/databases/f2a8d23d-e4d/schemas/e558836d-c/tables/18f4336a-/statistics"; + Requests[446] = new DefaultHttpContext(); + Requests[446].RequestServices = CreateServices(); + Requests[446].Request.Method = "GET"; + Requests[446].Request.Path = "/catalog/usql/databases/9cbadefd-0bf/schemas/6b801a9a-4/tables/8f92cdd2-/tablefragments"; + Requests[447] = new DefaultHttpContext(); + Requests[447].RequestServices = CreateServices(); + Requests[447].Request.Method = "GET"; + Requests[447].Request.Path = "/providers/Microsoft.ADHybridHealthService/addsservices/80c12b07-89/metrics/4c15cadd-e/groups/068b811b-/average"; + Requests[448] = new DefaultHttpContext(); + Requests[448].RequestServices = CreateServices(); + Requests[448].Request.Method = "GET"; + Requests[448].Request.Path = "/providers/Microsoft.ADHybridHealthService/addsservices/dfe89e05-a5/metrics/1c13b631-d/groups/172a0eb3-/sum"; + Requests[449] = new DefaultHttpContext(); + Requests[449].RequestServices = CreateServices(); + Requests[449].Request.Method = "GET"; + Requests[449].Request.Path = "/providers/Microsoft.ADHybridHealthService/services/5784171a-e9/metrics/eccba1df-e/groups/b779e3bf-/average"; + Requests[450] = new DefaultHttpContext(); + Requests[450].RequestServices = CreateServices(); + Requests[450].Request.Method = "GET"; + Requests[450].Request.Path = "/providers/Microsoft.ADHybridHealthService/services/7c23333f-71/metrics/5ed2854e-a/groups/fa072227-/sum"; + Requests[451] = new DefaultHttpContext(); + Requests[451].RequestServices = CreateServices(); + Requests[451].Request.Method = "POST"; + Requests[451].Request.Path = "/providers/Microsoft.Intune/locations/5417e3f9/users/365be18f/devices/7a20f36c-c/wipe"; + Requests[452] = new DefaultHttpContext(); + Requests[452].RequestServices = CreateServices(); + Requests[452].Request.Method = "GET"; + Requests[452].Request.Path = "/catalog/usql/databases/1d170225-673/schemas/77b9c96f-7/tables/474bc498-/partitions/a69c2709-2b55"; + Requests[453] = new DefaultHttpContext(); + Requests[453].RequestServices = CreateServices(); + Requests[453].Request.Method = "GET"; + Requests[453].Request.Path = "/catalog/usql/databases/63692112-ac4/schemas/dac31bb4-a/tables/7c6fa990-/statistics/dd6790d4-9b0a-"; + Requests[454] = new DefaultHttpContext(); + Requests[454].RequestServices = CreateServices(); + Requests[454].Request.Method = "GET"; + Requests[454].Request.Path = "/providers/Microsoft.ADHybridHealthService/services/b01770b6-d4/servicemembers/be95dfa1-8707-4/metrics/65c8b990-4/groups/50836f65-"; + Requests[455] = new DefaultHttpContext(); + Requests[455].RequestServices = CreateServices(); + Requests[455].Request.Method = "GET"; + Requests[455].Request.Path = "/catalog/usql/databases/e518c33f-734/schemas/783e19fe-6/tables/e94b5332-/partitions/c24c5eca-be27/previewrows"; + Requests[456] = new DefaultHttpContext(); + Requests[456].RequestServices = CreateServices(); + Requests[456].Request.Method = "GET"; + Requests[456].Request.Path = "/apps/customprebuiltdomains/4e926de"; + Requests[457] = new DefaultHttpContext(); + Requests[457].RequestServices = CreateServices(); + Requests[457].Request.Method = "GET"; + Requests[457].Request.Path = "/BackupRestore/BackupPolicies/d60f5cf6-6fb3-45"; + Requests[458] = new DefaultHttpContext(); + Requests[458].RequestServices = CreateServices(); + Requests[458].Request.Method = "DELETE"; + Requests[458].Request.Path = "/certificates/issuers/bfc8c19c-1a"; + Requests[459] = new DefaultHttpContext(); + Requests[459].RequestServices = CreateServices(); + Requests[459].Request.Method = "GET"; + Requests[459].Request.Path = "/webhdfs/v1/11dc9"; + Requests[460] = new DefaultHttpContext(); + Requests[460].RequestServices = CreateServices(); + Requests[460].Request.Method = "GET"; + Requests[460].Request.Path = "/webhdfs/va/210ab758-6446-48be-8dc2-e"; + Requests[461] = new DefaultHttpContext(); + Requests[461].RequestServices = CreateServices(); + Requests[461].Request.Method = "POST"; + Requests[461].Request.Path = "/BackupRestore/BackupPolicies/47e8aff2-4a5b-4c/$/Delete"; + Requests[462] = new DefaultHttpContext(); + Requests[462].RequestServices = CreateServices(); + Requests[462].Request.Method = "GET"; + Requests[462].Request.Path = "/BackupRestore/BackupPolicies/61e589e5-a57a-45/$/GetBackupEnabledEntities"; + Requests[463] = new DefaultHttpContext(); + Requests[463].RequestServices = CreateServices(); + Requests[463].Request.Method = "POST"; + Requests[463].Request.Path = "/BackupRestore/BackupPolicies/d4ce00a5-59ad-4d/$/Update"; + Requests[464] = new DefaultHttpContext(); + Requests[464].RequestServices = CreateServices(); + Requests[464].Request.Method = "GET"; + Requests[464].Request.Path = "/EventsStore/Applications/a6df2a1a-e4a4/$/Events"; + Requests[465] = new DefaultHttpContext(); + Requests[465].RequestServices = CreateServices(); + Requests[465].Request.Method = "GET"; + Requests[465].Request.Path = "/EventsStore/CorrelatedEvents/0b6ea255-130d-4/$/Events"; + Requests[466] = new DefaultHttpContext(); + Requests[466].RequestServices = CreateServices(); + Requests[466].Request.Method = "GET"; + Requests[466].Request.Path = "/EventsStore/Nodes/cf6b34dd/$/Events"; + Requests[467] = new DefaultHttpContext(); + Requests[467].RequestServices = CreateServices(); + Requests[467].Request.Method = "GET"; + Requests[467].Request.Path = "/EventsStore/Partitions/15418af7-ad/$/Events"; + Requests[468] = new DefaultHttpContext(); + Requests[468].RequestServices = CreateServices(); + Requests[468].Request.Method = "GET"; + Requests[468].Request.Path = "/EventsStore/Services/6067c5ec-/$/Events"; + Requests[469] = new DefaultHttpContext(); + Requests[469].RequestServices = CreateServices(); + Requests[469].Request.Method = "GET"; + Requests[469].Request.Path = "/Faults/Nodes/7cc8bc57/$/GetTransitionProgress"; + Requests[470] = new DefaultHttpContext(); + Requests[470].RequestServices = CreateServices(); + Requests[470].Request.Method = "POST"; + Requests[470].Request.Path = "/Faults/Nodes/83694d49/$/StartTransition"; + Requests[471] = new DefaultHttpContext(); + Requests[471].RequestServices = CreateServices(); + Requests[471].Request.Method = "GET"; + Requests[471].Request.Path = "/EventsStore/Partitions/cee88c66-4f/$/Replicas/Events"; + Requests[472] = new DefaultHttpContext(); + Requests[472].RequestServices = CreateServices(); + Requests[472].Request.Method = "POST"; + Requests[472].Request.Path = "/Services/$/5b61fa9e-/$/GetPartitions/$/Recover"; + Requests[473] = new DefaultHttpContext(); + Requests[473].RequestServices = CreateServices(); + Requests[473].Request.Method = "GET"; + Requests[473].Request.Path = "/EventsStore/Partitions/0478c5c5-b2/$/Replicas/38eabc47-/$/Events"; + Requests[474] = new DefaultHttpContext(); + Requests[474].RequestServices = CreateServices(); + Requests[474].Request.Method = "GET"; + Requests[474].Request.Path = "/Faults/Services/27f25bb1-/$/GetPartitions/8a6e14c3-e7/$/GetDataLossProgress"; + Requests[475] = new DefaultHttpContext(); + Requests[475].RequestServices = CreateServices(); + Requests[475].Request.Method = "GET"; + Requests[475].Request.Path = "/Faults/Services/dbb93690-/$/GetPartitions/c443b4b4-9c/$/GetQuorumLossProgress"; + Requests[476] = new DefaultHttpContext(); + Requests[476].RequestServices = CreateServices(); + Requests[476].Request.Method = "GET"; + Requests[476].Request.Path = "/Faults/Services/ec27920c-/$/GetPartitions/17a1ca55-42/$/GetRestartProgress"; + Requests[477] = new DefaultHttpContext(); + Requests[477].RequestServices = CreateServices(); + Requests[477].Request.Method = "POST"; + Requests[477].Request.Path = "/Faults/Services/703a7a03-/$/GetPartitions/5f62dedc-39/$/StartDataLoss"; + Requests[478] = new DefaultHttpContext(); + Requests[478].RequestServices = CreateServices(); + Requests[478].Request.Method = "POST"; + Requests[478].Request.Path = "/Faults/Services/51c11c63-/$/GetPartitions/fd1151c6-3f/$/StartQuorumLoss"; + Requests[479] = new DefaultHttpContext(); + Requests[479].RequestServices = CreateServices(); + Requests[479].Request.Method = "POST"; + Requests[479].Request.Path = "/Faults/Services/60a355a3-/$/GetPartitions/210feded-86/$/StartRestart"; + Requests[480] = new DefaultHttpContext(); + Requests[480].RequestServices = CreateServices(); + Requests[480].Request.Method = "DELETE"; + Requests[480].Request.Path = "/apis/850ef"; + Requests[481] = new DefaultHttpContext(); + Requests[481].RequestServices = CreateServices(); + Requests[481].Request.Method = "GET"; + Requests[481].Request.Path = "/Applications/bdaa32f6-87c8"; + Requests[482] = new DefaultHttpContext(); + Requests[482].RequestServices = CreateServices(); + Requests[482].Request.Method = "GET"; + Requests[482].Request.Path = "/ApplicationTypes/8e29cc26-3a32-47b0-"; + Requests[483] = new DefaultHttpContext(); + Requests[483].RequestServices = CreateServices(); + Requests[483].Request.Method = "DELETE"; + Requests[483].Request.Path = "/apps/13ec1"; + Requests[484] = new DefaultHttpContext(); + Requests[484].RequestServices = CreateServices(); + Requests[484].Request.Method = "DELETE"; + Requests[484].Request.Path = "/authorizationServers/de8969e"; + Requests[485] = new DefaultHttpContext(); + Requests[485].RequestServices = CreateServices(); + Requests[485].Request.Method = "DELETE"; + Requests[485].Request.Path = "/backends/9920b6f6-"; + Requests[486] = new DefaultHttpContext(); + Requests[486].RequestServices = CreateServices(); + Requests[486].Request.Method = "DELETE"; + Requests[486].Request.Path = "/certificates/5df2842c-e779-4f"; + Requests[487] = new DefaultHttpContext(); + Requests[487].RequestServices = CreateServices(); + Requests[487].Request.Method = "GET"; + Requests[487].Request.Path = "/ComposeDeployments/e46fad02-4cdb-"; + Requests[488] = new DefaultHttpContext(); + Requests[488].RequestServices = CreateServices(); + Requests[488].Request.Method = "DELETE"; + Requests[488].Request.Path = "/deletedcertificates/af4fde9e-01e7-48"; + Requests[489] = new DefaultHttpContext(); + Requests[489].RequestServices = CreateServices(); + Requests[489].Request.Method = "DELETE"; + Requests[489].Request.Path = "/deletedkeys/e974a855"; + Requests[490] = new DefaultHttpContext(); + Requests[490].RequestServices = CreateServices(); + Requests[490].Request.Method = "DELETE"; + Requests[490].Request.Path = "/deletedsecrets/1f8fd6f2-71"; + Requests[491] = new DefaultHttpContext(); + Requests[491].RequestServices = CreateServices(); + Requests[491].Request.Method = "DELETE"; + Requests[491].Request.Path = "/deletedstorage/bf7929b5-3343-4904-9"; + Requests[492] = new DefaultHttpContext(); + Requests[492].RequestServices = CreateServices(); + Requests[492].Request.Method = "GET"; + Requests[492].Request.Path = "/domains/1ab570e2"; + Requests[493] = new DefaultHttpContext(); + Requests[493].RequestServices = CreateServices(); + Requests[493].Request.Method = "DELETE"; + Requests[493].Request.Path = "/facelists/99840564-f"; + Requests[494] = new DefaultHttpContext(); + Requests[494].RequestServices = CreateServices(); + Requests[494].Request.Method = "DELETE"; + Requests[494].Request.Path = "/groups/fff438c"; + Requests[495] = new DefaultHttpContext(); + Requests[495].RequestServices = CreateServices(); + Requests[495].Request.Method = "DELETE"; + Requests[495].Request.Path = "/identityProviders/cfdc1ad7-d7ab-494a-a"; + Requests[496] = new DefaultHttpContext(); + Requests[496].RequestServices = CreateServices(); + Requests[496].Request.Method = "DELETE"; + Requests[496].Request.Path = "/ImageStore/0ef2ec99-79"; + Requests[497] = new DefaultHttpContext(); + Requests[497].RequestServices = CreateServices(); + Requests[497].Request.Method = "GET"; + Requests[497].Request.Path = "/Jobs/47bcec7d-d7"; + Requests[498] = new DefaultHttpContext(); + Requests[498].RequestServices = CreateServices(); + Requests[498].Request.Method = "PUT"; + Requests[498].Request.Path = "/jobschedules/1573c9b0-081f"; + Requests[499] = new DefaultHttpContext(); + Requests[499].RequestServices = CreateServices(); + Requests[499].Request.Method = "DELETE"; + Requests[499].Request.Path = "/keys/b196e548"; + Requests[500] = new DefaultHttpContext(); + Requests[500].RequestServices = CreateServices(); + Requests[500].Request.Method = "DELETE"; + Requests[500].Request.Path = "/loggers/c7b5f1e5"; + Requests[501] = new DefaultHttpContext(); + Requests[501].RequestServices = CreateServices(); + Requests[501].Request.Method = "DELETE"; + Requests[501].Request.Path = "/Names/bc65e2"; + Requests[502] = new DefaultHttpContext(); + Requests[502].RequestServices = CreateServices(); + Requests[502].Request.Method = "GET"; + Requests[502].Request.Path = "/Nodes/6f7ab6d3"; + Requests[503] = new DefaultHttpContext(); + Requests[503].RequestServices = CreateServices(); + Requests[503].Request.Method = "DELETE"; + Requests[503].Request.Path = "/openidConnectProviders/e307f"; + Requests[504] = new DefaultHttpContext(); + Requests[504].RequestServices = CreateServices(); + Requests[504].Request.Method = "GET"; + Requests[504].Request.Path = "/Partitions/149d4ef0-e3"; + Requests[505] = new DefaultHttpContext(); + Requests[505].RequestServices = CreateServices(); + Requests[505].Request.Method = "PATCH"; + Requests[505].Request.Path = "/persongroups/59a1d231-c20d"; + Requests[506] = new DefaultHttpContext(); + Requests[506].RequestServices = CreateServices(); + Requests[506].Request.Method = "GET"; + Requests[506].Request.Path = "/pipelines/91bf4183-c1e9-48"; + Requests[507] = new DefaultHttpContext(); + Requests[507].RequestServices = CreateServices(); + Requests[507].Request.Method = "DELETE"; + Requests[507].Request.Path = "/policies/0d0158ae"; + Requests[508] = new DefaultHttpContext(); + Requests[508].RequestServices = CreateServices(); + Requests[508].Request.Method = "PATCH"; + Requests[508].Request.Path = "/pools/10d43b"; + Requests[509] = new DefaultHttpContext(); + Requests[509].RequestServices = CreateServices(); + Requests[509].Request.Method = "DELETE"; + Requests[509].Request.Path = "/products/a2bacb4b-"; + Requests[510] = new DefaultHttpContext(); + Requests[510].RequestServices = CreateServices(); + Requests[510].Request.Method = "PATCH"; + Requests[510].Request.Path = "/projects/3954a953-"; + Requests[511] = new DefaultHttpContext(); + Requests[511].RequestServices = CreateServices(); + Requests[511].Request.Method = "DELETE"; + Requests[511].Request.Path = "/properties/a3066c"; + Requests[512] = new DefaultHttpContext(); + Requests[512].RequestServices = CreateServices(); + Requests[512].Request.Method = "PATCH"; + Requests[512].Request.Path = "/quotas/0d3aa318-d1aa-4"; + Requests[513] = new DefaultHttpContext(); + Requests[513].RequestServices = CreateServices(); + Requests[513].Request.Method = "GET"; + Requests[513].Request.Path = "/recurrences/ae68c5a6-dd24-49ab"; + Requests[514] = new DefaultHttpContext(); + Requests[514].RequestServices = CreateServices(); + Requests[514].Request.Method = "DELETE"; + Requests[514].Request.Path = "/secrets/0cfa283a-b6"; + Requests[515] = new DefaultHttpContext(); + Requests[515].RequestServices = CreateServices(); + Requests[515].Request.Method = "PATCH"; + Requests[515].Request.Path = "/storage/77b376e7-bd83-4f3c-8"; + Requests[516] = new DefaultHttpContext(); + Requests[516].RequestServices = CreateServices(); + Requests[516].Request.Method = "GET"; + Requests[516].Request.Path = "/subscriptions/d0a85eaa-6bcb-"; + Requests[517] = new DefaultHttpContext(); + Requests[517].RequestServices = CreateServices(); + Requests[517].Request.Method = "DELETE"; + Requests[517].Request.Path = "/templates/3bab255d-8df"; + Requests[518] = new DefaultHttpContext(); + Requests[518].RequestServices = CreateServices(); + Requests[518].Request.Method = "PATCH"; + Requests[518].Request.Path = "/tenant/190693c5-9"; + Requests[519] = new DefaultHttpContext(); + Requests[519].RequestServices = CreateServices(); + Requests[519].Request.Method = "GET"; + Requests[519].Request.Path = "/textOperations/0a945aae-dd"; + Requests[520] = new DefaultHttpContext(); + Requests[520].RequestServices = CreateServices(); + Requests[520].Request.Method = "DELETE"; + Requests[520].Request.Path = "/users/06fff"; + Requests[521] = new DefaultHttpContext(); + Requests[521].RequestServices = CreateServices(); + Requests[521].Request.Method = "POST"; + Requests[521].Request.Path = "/WebHdfsExt/0a64a"; + Requests[522] = new DefaultHttpContext(); + Requests[522].RequestServices = CreateServices(); + Requests[522].Request.Method = "GET"; + Requests[522].Request.Path = "/apis/e77e3/operations"; + Requests[523] = new DefaultHttpContext(); + Requests[523].RequestServices = CreateServices(); + Requests[523].Request.Method = "GET"; + Requests[523].Request.Path = "/apis/8e91a/policies"; + Requests[524] = new DefaultHttpContext(); + Requests[524].RequestServices = CreateServices(); + Requests[524].Request.Method = "GET"; + Requests[524].Request.Path = "/apis/79edd/products"; + Requests[525] = new DefaultHttpContext(); + Requests[525].RequestServices = CreateServices(); + Requests[525].Request.Method = "GET"; + Requests[525].Request.Path = "/apis/c134a/schemas"; + Requests[526] = new DefaultHttpContext(); + Requests[526].RequestServices = CreateServices(); + Requests[526].Request.Method = "GET"; + Requests[526].Request.Path = "/apps/477aa/endpoints"; + Requests[527] = new DefaultHttpContext(); + Requests[527].RequestServices = CreateServices(); + Requests[527].Request.Method = "POST"; + Requests[527].Request.Path = "/apps/6fe2a/metrics"; + Requests[528] = new DefaultHttpContext(); + Requests[528].RequestServices = CreateServices(); + Requests[528].Request.Method = "PUT"; + Requests[528].Request.Path = "/apps/18b9d/permissions"; + Requests[529] = new DefaultHttpContext(); + Requests[529].RequestServices = CreateServices(); + Requests[529].Request.Method = "POST"; + Requests[529].Request.Path = "/apps/e0d3a/publish"; + Requests[530] = new DefaultHttpContext(); + Requests[530].RequestServices = CreateServices(); + Requests[530].Request.Method = "PUT"; + Requests[530].Request.Path = "/apps/02a22/publishsettings"; + Requests[531] = new DefaultHttpContext(); + Requests[531].RequestServices = CreateServices(); + Requests[531].Request.Method = "POST"; + Requests[531].Request.Path = "/apps/3842f/query"; + Requests[532] = new DefaultHttpContext(); + Requests[532].RequestServices = CreateServices(); + Requests[532].Request.Method = "GET"; + Requests[532].Request.Path = "/apps/7ff07/querylogs"; + Requests[533] = new DefaultHttpContext(); + Requests[533].RequestServices = CreateServices(); + Requests[533].Request.Method = "PUT"; + Requests[533].Request.Path = "/apps/1302d/settings"; + Requests[534] = new DefaultHttpContext(); + Requests[534].RequestServices = CreateServices(); + Requests[534].Request.Method = "GET"; + Requests[534].Request.Path = "/apps/93d8a/versions"; + Requests[535] = new DefaultHttpContext(); + Requests[535].RequestServices = CreateServices(); + Requests[535].Request.Method = "POST"; + Requests[535].Request.Path = "/certificates/cfd227e8-4693-43/create"; + Requests[536] = new DefaultHttpContext(); + Requests[536].RequestServices = CreateServices(); + Requests[536].Request.Method = "POST"; + Requests[536].Request.Path = "/certificates/b6f5c07c-2fab-49/import"; + Requests[537] = new DefaultHttpContext(); + Requests[537].RequestServices = CreateServices(); + Requests[537].Request.Method = "DELETE"; + Requests[537].Request.Path = "/certificates/689feeb3-be4b-4f/pending"; + Requests[538] = new DefaultHttpContext(); + Requests[538].RequestServices = CreateServices(); + Requests[538].Request.Method = "PATCH"; + Requests[538].Request.Path = "/certificates/fe7083ec-5b2d-42/policy"; + Requests[539] = new DefaultHttpContext(); + Requests[539].RequestServices = CreateServices(); + Requests[539].Request.Method = "GET"; + Requests[539].Request.Path = "/certificates/324c4615-6393-4d/versions"; + Requests[540] = new DefaultHttpContext(); + Requests[540].RequestServices = CreateServices(); + Requests[540].Request.Method = "GET"; + Requests[540].Request.Path = "/delegatedProviders/2b1d711c-1a3a-4332-/offers"; + Requests[541] = new DefaultHttpContext(); + Requests[541].RequestServices = CreateServices(); + Requests[541].Request.Method = "POST"; + Requests[541].Request.Path = "/deletedcertificates/74df663d-ba39-48/recover"; + Requests[542] = new DefaultHttpContext(); + Requests[542].RequestServices = CreateServices(); + Requests[542].Request.Method = "POST"; + Requests[542].Request.Path = "/deletedkeys/044e1242/recover"; + Requests[543] = new DefaultHttpContext(); + Requests[543].RequestServices = CreateServices(); + Requests[543].Request.Method = "POST"; + Requests[543].Request.Path = "/deletedsecrets/31e54952-d3/recover"; + Requests[544] = new DefaultHttpContext(); + Requests[544].RequestServices = CreateServices(); + Requests[544].Request.Method = "POST"; + Requests[544].Request.Path = "/deletedstorage/f683219d-2950-4aa7-b/recover"; + Requests[545] = new DefaultHttpContext(); + Requests[545].RequestServices = CreateServices(); + Requests[545].Request.Method = "GET"; + Requests[545].Request.Path = "/deletedstorage/37ae37c9-b948-4a15-b/sas"; + Requests[546] = new DefaultHttpContext(); + Requests[546].RequestServices = CreateServices(); + Requests[546].Request.Method = "POST"; + Requests[546].Request.Path = "/facelists/9bbcd4fd-b/persistedFaces"; + Requests[547] = new DefaultHttpContext(); + Requests[547].RequestServices = CreateServices(); + Requests[547].Request.Method = "GET"; + Requests[547].Request.Path = "/groups/50200c8/users"; + Requests[548] = new DefaultHttpContext(); + Requests[548].RequestServices = CreateServices(); + Requests[548].Request.Method = "POST"; + Requests[548].Request.Path = "/jobs/4c92b/addtaskcollection"; + Requests[549] = new DefaultHttpContext(); + Requests[549].RequestServices = CreateServices(); + Requests[549].Request.Method = "POST"; + Requests[549].Request.Path = "/jobs/1c210/disable"; + Requests[550] = new DefaultHttpContext(); + Requests[550].RequestServices = CreateServices(); + Requests[550].Request.Method = "POST"; + Requests[550].Request.Path = "/jobs/38186/enable"; + Requests[551] = new DefaultHttpContext(); + Requests[551].RequestServices = CreateServices(); + Requests[551].Request.Method = "GET"; + Requests[551].Request.Path = "/jobs/2fbf8/jobpreparationandreleasetaskstatus"; + Requests[552] = new DefaultHttpContext(); + Requests[552].RequestServices = CreateServices(); + Requests[552].Request.Method = "GET"; + Requests[552].Request.Path = "/jobs/3f983/taskcounts"; + Requests[553] = new DefaultHttpContext(); + Requests[553].RequestServices = CreateServices(); + Requests[553].Request.Method = "GET"; + Requests[553].Request.Path = "/jobs/f07be/tasks"; + Requests[554] = new DefaultHttpContext(); + Requests[554].RequestServices = CreateServices(); + Requests[554].Request.Method = "POST"; + Requests[554].Request.Path = "/jobs/9959b/terminate"; + Requests[555] = new DefaultHttpContext(); + Requests[555].RequestServices = CreateServices(); + Requests[555].Request.Method = "POST"; + Requests[555].Request.Path = "/Jobs/ffc62a95-e9/CancelJob"; + Requests[556] = new DefaultHttpContext(); + Requests[556].RequestServices = CreateServices(); + Requests[556].Request.Method = "GET"; + Requests[556].Request.Path = "/Jobs/e1ae6fc1-b0/GetDebugDataPath"; + Requests[557] = new DefaultHttpContext(); + Requests[557].RequestServices = CreateServices(); + Requests[557].Request.Method = "GET"; + Requests[557].Request.Path = "/Jobs/3e2f5475-0b/GetStatistics"; + Requests[558] = new DefaultHttpContext(); + Requests[558].RequestServices = CreateServices(); + Requests[558].Request.Method = "POST"; + Requests[558].Request.Path = "/jobs/35ea2353-12/YieldJob"; + Requests[559] = new DefaultHttpContext(); + Requests[559].RequestServices = CreateServices(); + Requests[559].Request.Method = "POST"; + Requests[559].Request.Path = "/jobschedules/f6ab65ca-d352/disable"; + Requests[560] = new DefaultHttpContext(); + Requests[560].RequestServices = CreateServices(); + Requests[560].Request.Method = "POST"; + Requests[560].Request.Path = "/jobschedules/e0aabb4b-4110/enable"; + Requests[561] = new DefaultHttpContext(); + Requests[561].RequestServices = CreateServices(); + Requests[561].Request.Method = "GET"; + Requests[561].Request.Path = "/jobschedules/523132fd-c8dc/jobs"; + Requests[562] = new DefaultHttpContext(); + Requests[562].RequestServices = CreateServices(); + Requests[562].Request.Method = "POST"; + Requests[562].Request.Path = "/jobschedules/54eb3346-30e4/terminate"; + Requests[563] = new DefaultHttpContext(); + Requests[563].RequestServices = CreateServices(); + Requests[563].Request.Method = "POST"; + Requests[563].Request.Path = "/keys/dada2587/backup"; + Requests[564] = new DefaultHttpContext(); + Requests[564].RequestServices = CreateServices(); + Requests[564].Request.Method = "POST"; + Requests[564].Request.Path = "/keys/636e475f/create"; + Requests[565] = new DefaultHttpContext(); + Requests[565].RequestServices = CreateServices(); + Requests[565].Request.Method = "GET"; + Requests[565].Request.Path = "/keys/f7bf3842/versions"; + Requests[566] = new DefaultHttpContext(); + Requests[566].RequestServices = CreateServices(); + Requests[566].Request.Method = "POST"; + Requests[566].Request.Path = "/models/2740d/analyze"; + Requests[567] = new DefaultHttpContext(); + Requests[567].RequestServices = CreateServices(); + Requests[567].Request.Method = "GET"; + Requests[567].Request.Path = "/persongroups/c1be82e8-689a/persons"; + Requests[568] = new DefaultHttpContext(); + Requests[568].RequestServices = CreateServices(); + Requests[568].Request.Method = "POST"; + Requests[568].Request.Path = "/persongroups/b65b76c8-3d96/train"; + Requests[569] = new DefaultHttpContext(); + Requests[569].RequestServices = CreateServices(); + Requests[569].Request.Method = "GET"; + Requests[569].Request.Path = "/persongroups/335c9ca3-4495/training"; + Requests[570] = new DefaultHttpContext(); + Requests[570].RequestServices = CreateServices(); + Requests[570].Request.Method = "POST"; + Requests[570].Request.Path = "/pools/97e163/disableautoscale"; + Requests[571] = new DefaultHttpContext(); + Requests[571].RequestServices = CreateServices(); + Requests[571].Request.Method = "POST"; + Requests[571].Request.Path = "/pools/c92a0f/enableautoscale"; + Requests[572] = new DefaultHttpContext(); + Requests[572].RequestServices = CreateServices(); + Requests[572].Request.Method = "POST"; + Requests[572].Request.Path = "/pools/0592fa/evaluateautoscale"; + Requests[573] = new DefaultHttpContext(); + Requests[573].RequestServices = CreateServices(); + Requests[573].Request.Method = "GET"; + Requests[573].Request.Path = "/pools/0cd1ed/nodes"; + Requests[574] = new DefaultHttpContext(); + Requests[574].RequestServices = CreateServices(); + Requests[574].Request.Method = "POST"; + Requests[574].Request.Path = "/pools/4ea275/removenodes"; + Requests[575] = new DefaultHttpContext(); + Requests[575].RequestServices = CreateServices(); + Requests[575].Request.Method = "POST"; + Requests[575].Request.Path = "/pools/5f1ec1/resize"; + Requests[576] = new DefaultHttpContext(); + Requests[576].RequestServices = CreateServices(); + Requests[576].Request.Method = "POST"; + Requests[576].Request.Path = "/pools/ca6ce7/stopresize"; + Requests[577] = new DefaultHttpContext(); + Requests[577].RequestServices = CreateServices(); + Requests[577].Request.Method = "POST"; + Requests[577].Request.Path = "/pools/9bc8cb/updateproperties"; + Requests[578] = new DefaultHttpContext(); + Requests[578].RequestServices = CreateServices(); + Requests[578].Request.Method = "POST"; + Requests[578].Request.Path = "/pools/720965/upgradeos"; + Requests[579] = new DefaultHttpContext(); + Requests[579].RequestServices = CreateServices(); + Requests[579].Request.Method = "GET"; + Requests[579].Request.Path = "/products/c0eb0cb5-/apis"; + Requests[580] = new DefaultHttpContext(); + Requests[580].RequestServices = CreateServices(); + Requests[580].Request.Method = "GET"; + Requests[580].Request.Path = "/products/6c984fe0-/groups"; + Requests[581] = new DefaultHttpContext(); + Requests[581].RequestServices = CreateServices(); + Requests[581].Request.Method = "GET"; + Requests[581].Request.Path = "/products/a3e7b5aa-/policies"; + Requests[582] = new DefaultHttpContext(); + Requests[582].RequestServices = CreateServices(); + Requests[582].Request.Method = "GET"; + Requests[582].Request.Path = "/products/0653c953-/subscriptions"; + Requests[583] = new DefaultHttpContext(); + Requests[583].RequestServices = CreateServices(); + Requests[583].Request.Method = "DELETE"; + Requests[583].Request.Path = "/projects/55d556bc-/images"; + Requests[584] = new DefaultHttpContext(); + Requests[584].RequestServices = CreateServices(); + Requests[584].Request.Method = "GET"; + Requests[584].Request.Path = "/projects/ae3c3264-/iterations"; + Requests[585] = new DefaultHttpContext(); + Requests[585].RequestServices = CreateServices(); + Requests[585].Request.Method = "DELETE"; + Requests[585].Request.Path = "/projects/add231e4-/predictions"; + Requests[586] = new DefaultHttpContext(); + Requests[586].RequestServices = CreateServices(); + Requests[586].Request.Method = "POST"; + Requests[586].Request.Path = "/projects/299047ef-/tags"; + Requests[587] = new DefaultHttpContext(); + Requests[587].RequestServices = CreateServices(); + Requests[587].Request.Method = "POST"; + Requests[587].Request.Path = "/projects/ba68c06c-/train"; + Requests[588] = new DefaultHttpContext(); + Requests[588].RequestServices = CreateServices(); + Requests[588].Request.Method = "GET"; + Requests[588].Request.Path = "/providers/8d17ddde-fb26-4379-83de-8/operations"; + Requests[589] = new DefaultHttpContext(); + Requests[589].RequestServices = CreateServices(); + Requests[589].Request.Method = "POST"; + Requests[589].Request.Path = "/secrets/83f8e567-84/backup"; + Requests[590] = new DefaultHttpContext(); + Requests[590].RequestServices = CreateServices(); + Requests[590].Request.Method = "GET"; + Requests[590].Request.Path = "/secrets/8ecd653a-5d/versions"; + Requests[591] = new DefaultHttpContext(); + Requests[591].RequestServices = CreateServices(); + Requests[591].Request.Method = "POST"; + Requests[591].Request.Path = "/storage/52a74144-18f2-4dfd-a/backup"; + Requests[592] = new DefaultHttpContext(); + Requests[592].RequestServices = CreateServices(); + Requests[592].Request.Method = "POST"; + Requests[592].Request.Path = "/storage/2e7f4357-4e1f-4244-8/regeneratekey"; + Requests[593] = new DefaultHttpContext(); + Requests[593].RequestServices = CreateServices(); + Requests[593].Request.Method = "GET"; + Requests[593].Request.Path = "/storage/095563f5-3af3-4e76-8/sas"; + Requests[594] = new DefaultHttpContext(); + Requests[594].RequestServices = CreateServices(); + Requests[594].Request.Method = "POST"; + Requests[594].Request.Path = "/subscriptions/dcd58/regeneratePrimaryKey"; + Requests[595] = new DefaultHttpContext(); + Requests[595].RequestServices = CreateServices(); + Requests[595].Request.Method = "POST"; + Requests[595].Request.Path = "/subscriptions/60293/regenerateSecondaryKey"; + Requests[596] = new DefaultHttpContext(); + Requests[596].RequestServices = CreateServices(); + Requests[596].Request.Method = "GET"; + Requests[596].Request.Path = "/subscriptions/eaeea686-96a7-/locations"; + Requests[597] = new DefaultHttpContext(); + Requests[597].RequestServices = CreateServices(); + Requests[597].Request.Method = "GET"; + Requests[597].Request.Path = "/subscriptions/3cdd4344-b16d-/providers"; + Requests[598] = new DefaultHttpContext(); + Requests[598].RequestServices = CreateServices(); + Requests[598].Request.Method = "GET"; + Requests[598].Request.Path = "/subscriptions/f42790b4-3cff-/resourcegroups"; + Requests[599] = new DefaultHttpContext(); + Requests[599].RequestServices = CreateServices(); + Requests[599].Request.Method = "GET"; + Requests[599].Request.Path = "/subscriptions/727042a1-5bdc-/resources"; + Requests[600] = new DefaultHttpContext(); + Requests[600].RequestServices = CreateServices(); + Requests[600].Request.Method = "GET"; + Requests[600].Request.Path = "/subscriptions/26f5cc57-72ff-/tagNames"; + Requests[601] = new DefaultHttpContext(); + Requests[601].RequestServices = CreateServices(); + Requests[601].Request.Method = "GET"; + Requests[601].Request.Path = "/tenant/a57756ff-8/git"; + Requests[602] = new DefaultHttpContext(); + Requests[602].RequestServices = CreateServices(); + Requests[602].Request.Method = "POST"; + Requests[602].Request.Path = "/tenant/71f7ce95-3/regeneratePrimaryKey"; + Requests[603] = new DefaultHttpContext(); + Requests[603].RequestServices = CreateServices(); + Requests[603].Request.Method = "POST"; + Requests[603].Request.Path = "/tenant/099efc7c-0/regenerateSecondaryKey"; + Requests[604] = new DefaultHttpContext(); + Requests[604].RequestServices = CreateServices(); + Requests[604].Request.Method = "POST"; + Requests[604].Request.Path = "/tenant/49ad643a-0c08-4b0/deploy"; + Requests[605] = new DefaultHttpContext(); + Requests[605].RequestServices = CreateServices(); + Requests[605].Request.Method = "POST"; + Requests[605].Request.Path = "/tenant/83a61898-982d-417/save"; + Requests[606] = new DefaultHttpContext(); + Requests[606].RequestServices = CreateServices(); + Requests[606].Request.Method = "GET"; + Requests[606].Request.Path = "/tenant/72ae3e46-5330-4ad/syncState"; + Requests[607] = new DefaultHttpContext(); + Requests[607].RequestServices = CreateServices(); + Requests[607].Request.Method = "POST"; + Requests[607].Request.Path = "/tenant/8d42bb52-6018-408/validate"; + Requests[608] = new DefaultHttpContext(); + Requests[608].RequestServices = CreateServices(); + Requests[608].Request.Method = "POST"; + Requests[608].Request.Path = "/users/6c075/generateSsoUrl"; + Requests[609] = new DefaultHttpContext(); + Requests[609].RequestServices = CreateServices(); + Requests[609].Request.Method = "GET"; + Requests[609].Request.Path = "/users/cb332/groups"; + Requests[610] = new DefaultHttpContext(); + Requests[610].RequestServices = CreateServices(); + Requests[610].Request.Method = "GET"; + Requests[610].Request.Path = "/users/9543b/identities"; + Requests[611] = new DefaultHttpContext(); + Requests[611].RequestServices = CreateServices(); + Requests[611].Request.Method = "GET"; + Requests[611].Request.Path = "/users/70253/subscriptions"; + Requests[612] = new DefaultHttpContext(); + Requests[612].RequestServices = CreateServices(); + Requests[612].Request.Method = "POST"; + Requests[612].Request.Path = "/users/dd340/token"; + Requests[613] = new DefaultHttpContext(); + Requests[613].RequestServices = CreateServices(); + Requests[613].Request.Method = "POST"; + Requests[613].Request.Path = "/workspaces/5927e433-6e/query"; + Requests[614] = new DefaultHttpContext(); + Requests[614].RequestServices = CreateServices(); + Requests[614].Request.Method = "POST"; + Requests[614].Request.Path = "/Applications/cab3de12-435e/$/Delete"; + Requests[615] = new DefaultHttpContext(); + Requests[615].RequestServices = CreateServices(); + Requests[615].Request.Method = "POST"; + Requests[615].Request.Path = "/Applications/b68ce4fa-0a8c/$/DisableBackup"; + Requests[616] = new DefaultHttpContext(); + Requests[616].RequestServices = CreateServices(); + Requests[616].Request.Method = "POST"; + Requests[616].Request.Path = "/Applications/4c0a67dc-21e3/$/EnableBackup"; + Requests[617] = new DefaultHttpContext(); + Requests[617].RequestServices = CreateServices(); + Requests[617].Request.Method = "GET"; + Requests[617].Request.Path = "/Applications/6424037e-9ec5/$/GetBackupConfigurationInfo"; + Requests[618] = new DefaultHttpContext(); + Requests[618].RequestServices = CreateServices(); + Requests[618].Request.Method = "GET"; + Requests[618].Request.Path = "/Applications/2ce014d9-1615/$/GetBackups"; + Requests[619] = new DefaultHttpContext(); + Requests[619].RequestServices = CreateServices(); + Requests[619].Request.Method = "POST"; + Requests[619].Request.Path = "/Applications/4d0a729a-845b/$/GetHealth"; + Requests[620] = new DefaultHttpContext(); + Requests[620].RequestServices = CreateServices(); + Requests[620].Request.Method = "GET"; + Requests[620].Request.Path = "/Applications/1dc83459-5385/$/GetLoadInformation"; + Requests[621] = new DefaultHttpContext(); + Requests[621].RequestServices = CreateServices(); + Requests[621].Request.Method = "GET"; + Requests[621].Request.Path = "/Applications/84b0d3d6-1655/$/GetServices"; + Requests[622] = new DefaultHttpContext(); + Requests[622].RequestServices = CreateServices(); + Requests[622].Request.Method = "GET"; + Requests[622].Request.Path = "/Applications/60ac881f-5b7a/$/GetUpgradeProgress"; + Requests[623] = new DefaultHttpContext(); + Requests[623].RequestServices = CreateServices(); + Requests[623].Request.Method = "POST"; + Requests[623].Request.Path = "/Applications/9e66c7cd-18e2/$/MoveToNextUpgradeDomain"; + Requests[624] = new DefaultHttpContext(); + Requests[624].RequestServices = CreateServices(); + Requests[624].Request.Method = "POST"; + Requests[624].Request.Path = "/Applications/53da93e0-97dd/$/ReportHealth"; + Requests[625] = new DefaultHttpContext(); + Requests[625].RequestServices = CreateServices(); + Requests[625].Request.Method = "POST"; + Requests[625].Request.Path = "/Applications/81a0d308-4385/$/ResumeBackup"; + Requests[626] = new DefaultHttpContext(); + Requests[626].RequestServices = CreateServices(); + Requests[626].Request.Method = "POST"; + Requests[626].Request.Path = "/Applications/bdc3b37b-7f23/$/RollbackUpgrade"; + Requests[627] = new DefaultHttpContext(); + Requests[627].RequestServices = CreateServices(); + Requests[627].Request.Method = "POST"; + Requests[627].Request.Path = "/Applications/0059e7f3-3e39/$/SuspendBackup"; + Requests[628] = new DefaultHttpContext(); + Requests[628].RequestServices = CreateServices(); + Requests[628].Request.Method = "POST"; + Requests[628].Request.Path = "/Applications/ff422fda-2887/$/UpdateUpgrade"; + Requests[629] = new DefaultHttpContext(); + Requests[629].RequestServices = CreateServices(); + Requests[629].Request.Method = "POST"; + Requests[629].Request.Path = "/Applications/fe9b6661-248f/$/Upgrade"; + Requests[630] = new DefaultHttpContext(); + Requests[630].RequestServices = CreateServices(); + Requests[630].Request.Method = "POST"; + Requests[630].Request.Path = "/Applications/c4f0a8c4-6ce2-4/$/MoveNextUpgradeDomain"; + Requests[631] = new DefaultHttpContext(); + Requests[631].RequestServices = CreateServices(); + Requests[631].Request.Method = "GET"; + Requests[631].Request.Path = "/ApplicationTypes/78c5e510-713e-4c1b-/$/GetApplicationManifest"; + Requests[632] = new DefaultHttpContext(); + Requests[632].RequestServices = CreateServices(); + Requests[632].Request.Method = "GET"; + Requests[632].Request.Path = "/ApplicationTypes/0406e307-cb2c-42f6-/$/GetServiceManifest"; + Requests[633] = new DefaultHttpContext(); + Requests[633].RequestServices = CreateServices(); + Requests[633].Request.Method = "GET"; + Requests[633].Request.Path = "/ApplicationTypes/1f5c746b-0a99-45d3-/$/GetServiceTypes"; + Requests[634] = new DefaultHttpContext(); + Requests[634].RequestServices = CreateServices(); + Requests[634].Request.Method = "POST"; + Requests[634].Request.Path = "/ApplicationTypes/654998e4-4d8d-4b32-/$/Unprovision"; + Requests[635] = new DefaultHttpContext(); + Requests[635].RequestServices = CreateServices(); + Requests[635].Request.Method = "GET"; + Requests[635].Request.Path = "/apps/10f8f/events/$metadata"; + Requests[636] = new DefaultHttpContext(); + Requests[636].RequestServices = CreateServices(); + Requests[636].Request.Method = "GET"; + Requests[636].Request.Path = "/apps/afae3/metrics/metadata"; + Requests[637] = new DefaultHttpContext(); + Requests[637].RequestServices = CreateServices(); + Requests[637].Request.Method = "GET"; + Requests[637].Request.Path = "/apps/f343b/query/schema"; + Requests[638] = new DefaultHttpContext(); + Requests[638].RequestServices = CreateServices(); + Requests[638].Request.Method = "POST"; + Requests[638].Request.Path = "/apps/b2845/versions/import"; + Requests[639] = new DefaultHttpContext(); + Requests[639].RequestServices = CreateServices(); + Requests[639].Request.Method = "POST"; + Requests[639].Request.Path = "/certificates/4808d2d8-7fca-4f/pending/merge"; + Requests[640] = new DefaultHttpContext(); + Requests[640].RequestServices = CreateServices(); + Requests[640].Request.Method = "POST"; + Requests[640].Request.Path = "/ComposeDeployments/4c3b8802-4593-/$/Delete"; + Requests[641] = new DefaultHttpContext(); + Requests[641].RequestServices = CreateServices(); + Requests[641].Request.Method = "GET"; + Requests[641].Request.Path = "/ComposeDeployments/03cd380c-caf5-/$/GetUpgradeProgress"; + Requests[642] = new DefaultHttpContext(); + Requests[642].RequestServices = CreateServices(); + Requests[642].Request.Method = "POST"; + Requests[642].Request.Path = "/ComposeDeployments/feb4a661-ab53-/$/Upgrade"; + Requests[643] = new DefaultHttpContext(); + Requests[643].RequestServices = CreateServices(); + Requests[643].Request.Method = "GET"; + Requests[643].Request.Path = "/ImageStore/dfde590e-cf/$/GetUploadSession"; + Requests[644] = new DefaultHttpContext(); + Requests[644].RequestServices = CreateServices(); + Requests[644].Request.Method = "PUT"; + Requests[644].Request.Path = "/ImageStore/c4727e43-12/$/UploadChunk"; + Requests[645] = new DefaultHttpContext(); + Requests[645].RequestServices = CreateServices(); + Requests[645].Request.Method = "GET"; + Requests[645].Request.Path = "/Names/f46427/$/GetProperties"; + Requests[646] = new DefaultHttpContext(); + Requests[646].RequestServices = CreateServices(); + Requests[646].Request.Method = "DELETE"; + Requests[646].Request.Path = "/Names/105f45/$/GetProperty"; + Requests[647] = new DefaultHttpContext(); + Requests[647].RequestServices = CreateServices(); + Requests[647].Request.Method = "GET"; + Requests[647].Request.Path = "/Names/917398/$/GetSubNames"; + Requests[648] = new DefaultHttpContext(); + Requests[648].RequestServices = CreateServices(); + Requests[648].Request.Method = "POST"; + Requests[648].Request.Path = "/Nodes/0571faf5/$/Activate"; + Requests[649] = new DefaultHttpContext(); + Requests[649].RequestServices = CreateServices(); + Requests[649].Request.Method = "POST"; + Requests[649].Request.Path = "/Nodes/603c39f2/$/Deactivate"; + Requests[650] = new DefaultHttpContext(); + Requests[650].RequestServices = CreateServices(); + Requests[650].Request.Method = "POST"; + Requests[650].Request.Path = "/Nodes/209a342a/$/DeployServicePackage"; + Requests[651] = new DefaultHttpContext(); + Requests[651].RequestServices = CreateServices(); + Requests[651].Request.Method = "GET"; + Requests[651].Request.Path = "/Nodes/fc8ce00f/$/GetApplications"; + Requests[652] = new DefaultHttpContext(); + Requests[652].RequestServices = CreateServices(); + Requests[652].Request.Method = "POST"; + Requests[652].Request.Path = "/Nodes/6257d021/$/GetHealth"; + Requests[653] = new DefaultHttpContext(); + Requests[653].RequestServices = CreateServices(); + Requests[653].Request.Method = "GET"; + Requests[653].Request.Path = "/Nodes/72aa7290/$/GetLoadInformation"; + Requests[654] = new DefaultHttpContext(); + Requests[654].RequestServices = CreateServices(); + Requests[654].Request.Method = "POST"; + Requests[654].Request.Path = "/Nodes/a5285681/$/RemoveNodeState"; + Requests[655] = new DefaultHttpContext(); + Requests[655].RequestServices = CreateServices(); + Requests[655].Request.Method = "POST"; + Requests[655].Request.Path = "/Nodes/b05e53e8/$/ReportHealth"; + Requests[656] = new DefaultHttpContext(); + Requests[656].RequestServices = CreateServices(); + Requests[656].Request.Method = "POST"; + Requests[656].Request.Path = "/Nodes/aa164292/$/Restart"; + Requests[657] = new DefaultHttpContext(); + Requests[657].RequestServices = CreateServices(); + Requests[657].Request.Method = "POST"; + Requests[657].Request.Path = "/Nodes/4e65cfe3/$/Start"; + Requests[658] = new DefaultHttpContext(); + Requests[658].RequestServices = CreateServices(); + Requests[658].Request.Method = "POST"; + Requests[658].Request.Path = "/Nodes/359e70a5/$/Stop"; + Requests[659] = new DefaultHttpContext(); + Requests[659].RequestServices = CreateServices(); + Requests[659].Request.Method = "POST"; + Requests[659].Request.Path = "/Partitions/02ec5952-1a/$/Backup"; + Requests[660] = new DefaultHttpContext(); + Requests[660].RequestServices = CreateServices(); + Requests[660].Request.Method = "POST"; + Requests[660].Request.Path = "/Partitions/0a24bef6-c8/$/DisableBackup"; + Requests[661] = new DefaultHttpContext(); + Requests[661].RequestServices = CreateServices(); + Requests[661].Request.Method = "POST"; + Requests[661].Request.Path = "/Partitions/1594f7f0-d1/$/EnableBackup"; + Requests[662] = new DefaultHttpContext(); + Requests[662].RequestServices = CreateServices(); + Requests[662].Request.Method = "GET"; + Requests[662].Request.Path = "/Partitions/107a2228-12/$/GetBackupConfigurationInfo"; + Requests[663] = new DefaultHttpContext(); + Requests[663].RequestServices = CreateServices(); + Requests[663].Request.Method = "GET"; + Requests[663].Request.Path = "/Partitions/ec7ecb0c-71/$/GetBackupProgress"; + Requests[664] = new DefaultHttpContext(); + Requests[664].RequestServices = CreateServices(); + Requests[664].Request.Method = "GET"; + Requests[664].Request.Path = "/Partitions/0198e4a6-e0/$/GetBackups"; + Requests[665] = new DefaultHttpContext(); + Requests[665].RequestServices = CreateServices(); + Requests[665].Request.Method = "POST"; + Requests[665].Request.Path = "/Partitions/daed4973-d5/$/GetHealth"; + Requests[666] = new DefaultHttpContext(); + Requests[666].RequestServices = CreateServices(); + Requests[666].Request.Method = "GET"; + Requests[666].Request.Path = "/Partitions/e33cfd42-3f/$/GetLoadInformation"; + Requests[667] = new DefaultHttpContext(); + Requests[667].RequestServices = CreateServices(); + Requests[667].Request.Method = "GET"; + Requests[667].Request.Path = "/Partitions/170d6b38-5f/$/GetReplicas"; + Requests[668] = new DefaultHttpContext(); + Requests[668].RequestServices = CreateServices(); + Requests[668].Request.Method = "GET"; + Requests[668].Request.Path = "/Partitions/9077dc0f-b8/$/GetRestoreProgress"; + Requests[669] = new DefaultHttpContext(); + Requests[669].RequestServices = CreateServices(); + Requests[669].Request.Method = "GET"; + Requests[669].Request.Path = "/Partitions/82cddeac-ac/$/GetServiceName"; + Requests[670] = new DefaultHttpContext(); + Requests[670].RequestServices = CreateServices(); + Requests[670].Request.Method = "POST"; + Requests[670].Request.Path = "/Partitions/e6352ccd-a3/$/Recover"; + Requests[671] = new DefaultHttpContext(); + Requests[671].RequestServices = CreateServices(); + Requests[671].Request.Method = "POST"; + Requests[671].Request.Path = "/Partitions/14d749db-12/$/ReportHealth"; + Requests[672] = new DefaultHttpContext(); + Requests[672].RequestServices = CreateServices(); + Requests[672].Request.Method = "POST"; + Requests[672].Request.Path = "/Partitions/5fe12a6f-79/$/ResetLoad"; + Requests[673] = new DefaultHttpContext(); + Requests[673].RequestServices = CreateServices(); + Requests[673].Request.Method = "POST"; + Requests[673].Request.Path = "/Partitions/7ded09a1-ca/$/Restore"; + Requests[674] = new DefaultHttpContext(); + Requests[674].RequestServices = CreateServices(); + Requests[674].Request.Method = "POST"; + Requests[674].Request.Path = "/Partitions/5c3b605e-4f/$/ResumeBackup"; + Requests[675] = new DefaultHttpContext(); + Requests[675].RequestServices = CreateServices(); + Requests[675].Request.Method = "POST"; + Requests[675].Request.Path = "/Partitions/3e5a9a73-90/$/SuspendBackup"; + Requests[676] = new DefaultHttpContext(); + Requests[676].RequestServices = CreateServices(); + Requests[676].Request.Method = "POST"; + Requests[676].Request.Path = "/projects/172d04bb-/images/files"; + Requests[677] = new DefaultHttpContext(); + Requests[677].RequestServices = CreateServices(); + Requests[677].Request.Method = "GET"; + Requests[677].Request.Path = "/projects/02949f98-/images/id"; + Requests[678] = new DefaultHttpContext(); + Requests[678].RequestServices = CreateServices(); + Requests[678].Request.Method = "POST"; + Requests[678].Request.Path = "/projects/8cb0ed0e-/images/predictions"; + Requests[679] = new DefaultHttpContext(); + Requests[679].RequestServices = CreateServices(); + Requests[679].Request.Method = "DELETE"; + Requests[679].Request.Path = "/projects/3d1bf5c7-/images/regions"; + Requests[680] = new DefaultHttpContext(); + Requests[680].RequestServices = CreateServices(); + Requests[680].Request.Method = "GET"; + Requests[680].Request.Path = "/projects/69813896-/images/tagged"; + Requests[681] = new DefaultHttpContext(); + Requests[681].RequestServices = CreateServices(); + Requests[681].Request.Method = "DELETE"; + Requests[681].Request.Path = "/projects/6d8f1595-/images/tags"; + Requests[682] = new DefaultHttpContext(); + Requests[682].RequestServices = CreateServices(); + Requests[682].Request.Method = "GET"; + Requests[682].Request.Path = "/projects/a8e6273f-/images/untagged"; + Requests[683] = new DefaultHttpContext(); + Requests[683].RequestServices = CreateServices(); + Requests[683].Request.Method = "POST"; + Requests[683].Request.Path = "/projects/1071b4d8-/images/urls"; + Requests[684] = new DefaultHttpContext(); + Requests[684].RequestServices = CreateServices(); + Requests[684].Request.Method = "POST"; + Requests[684].Request.Path = "/projects/bc22f722-/predictions/query"; + Requests[685] = new DefaultHttpContext(); + Requests[685].RequestServices = CreateServices(); + Requests[685].Request.Method = "POST"; + Requests[685].Request.Path = "/projects/61a51da1-/quicktest/image"; + Requests[686] = new DefaultHttpContext(); + Requests[686].RequestServices = CreateServices(); + Requests[686].Request.Method = "POST"; + Requests[686].Request.Path = "/projects/24a40dc2-/quicktest/url"; + Requests[687] = new DefaultHttpContext(); + Requests[687].RequestServices = CreateServices(); + Requests[687].Request.Method = "POST"; + Requests[687].Request.Path = "/Services/4e5bf29a-/$/Delete"; + Requests[688] = new DefaultHttpContext(); + Requests[688].RequestServices = CreateServices(); + Requests[688].Request.Method = "POST"; + Requests[688].Request.Path = "/Services/abd8c772-/$/DisableBackup"; + Requests[689] = new DefaultHttpContext(); + Requests[689].RequestServices = CreateServices(); + Requests[689].Request.Method = "POST"; + Requests[689].Request.Path = "/Services/46b4b417-/$/EnableBackup"; + Requests[690] = new DefaultHttpContext(); + Requests[690].RequestServices = CreateServices(); + Requests[690].Request.Method = "GET"; + Requests[690].Request.Path = "/Services/1d8f00f9-/$/GetApplicationName"; + Requests[691] = new DefaultHttpContext(); + Requests[691].RequestServices = CreateServices(); + Requests[691].Request.Method = "GET"; + Requests[691].Request.Path = "/Services/a739bae4-/$/GetBackupConfigurationInfo"; + Requests[692] = new DefaultHttpContext(); + Requests[692].RequestServices = CreateServices(); + Requests[692].Request.Method = "GET"; + Requests[692].Request.Path = "/Services/0bebcaa0-/$/GetBackups"; + Requests[693] = new DefaultHttpContext(); + Requests[693].RequestServices = CreateServices(); + Requests[693].Request.Method = "GET"; + Requests[693].Request.Path = "/Services/2df47850-/$/GetDescription"; + Requests[694] = new DefaultHttpContext(); + Requests[694].RequestServices = CreateServices(); + Requests[694].Request.Method = "POST"; + Requests[694].Request.Path = "/Services/b47abe8a-/$/GetHealth"; + Requests[695] = new DefaultHttpContext(); + Requests[695].RequestServices = CreateServices(); + Requests[695].Request.Method = "GET"; + Requests[695].Request.Path = "/Services/6b7a2c24-/$/GetPartitions"; + Requests[696] = new DefaultHttpContext(); + Requests[696].RequestServices = CreateServices(); + Requests[696].Request.Method = "POST"; + Requests[696].Request.Path = "/Services/be1ce61f-/$/ReportHealth"; + Requests[697] = new DefaultHttpContext(); + Requests[697].RequestServices = CreateServices(); + Requests[697].Request.Method = "GET"; + Requests[697].Request.Path = "/Services/baf50bf0-/$/ResolvePartition"; + Requests[698] = new DefaultHttpContext(); + Requests[698].RequestServices = CreateServices(); + Requests[698].Request.Method = "POST"; + Requests[698].Request.Path = "/Services/68e5e366-/$/ResumeBackup"; + Requests[699] = new DefaultHttpContext(); + Requests[699].RequestServices = CreateServices(); + Requests[699].Request.Method = "POST"; + Requests[699].Request.Path = "/Services/ee1db6d3-/$/SuspendBackup"; + Requests[700] = new DefaultHttpContext(); + Requests[700].RequestServices = CreateServices(); + Requests[700].Request.Method = "POST"; + Requests[700].Request.Path = "/Services/6804a873-/$/Update"; + Requests[701] = new DefaultHttpContext(); + Requests[701].RequestServices = CreateServices(); + Requests[701].Request.Method = "POST"; + Requests[701].Request.Path = "/tenant/d32883b0-0/git/regeneratePrimaryKey"; + Requests[702] = new DefaultHttpContext(); + Requests[702].RequestServices = CreateServices(); + Requests[702].Request.Method = "POST"; + Requests[702].Request.Path = "/tenant/1a3f8c7e-f/git/regenerateSecondaryKey"; + Requests[703] = new DefaultHttpContext(); + Requests[703].RequestServices = CreateServices(); + Requests[703].Request.Method = "GET"; + Requests[703].Request.Path = "/projects/7dd68689-/images/tagged/count"; + Requests[704] = new DefaultHttpContext(); + Requests[704].RequestServices = CreateServices(); + Requests[704].Request.Method = "GET"; + Requests[704].Request.Path = "/projects/1e087cb9-/images/untagged/count"; + Requests[705] = new DefaultHttpContext(); + Requests[705].RequestServices = CreateServices(); + Requests[705].Request.Method = "GET"; + Requests[705].Request.Path = "/subscriptions/8bc7e92e-b485-/providers/Microsoft.AAD/domainServices"; + Requests[706] = new DefaultHttpContext(); + Requests[706].RequestServices = CreateServices(); + Requests[706].Request.Method = "PUT"; + Requests[706].Request.Path = "/subscriptions/9176b6b9-99ea-/providers/Microsoft.Advisor/configurations"; + Requests[707] = new DefaultHttpContext(); + Requests[707].RequestServices = CreateServices(); + Requests[707].Request.Method = "POST"; + Requests[707].Request.Path = "/subscriptions/a4a3c485-277b-/providers/Microsoft.Advisor/generateRecommendations"; + Requests[708] = new DefaultHttpContext(); + Requests[708].RequestServices = CreateServices(); + Requests[708].Request.Method = "GET"; + Requests[708].Request.Path = "/subscriptions/615eb97d-ce44-/providers/Microsoft.Advisor/recommendations"; + Requests[709] = new DefaultHttpContext(); + Requests[709].RequestServices = CreateServices(); + Requests[709].Request.Method = "GET"; + Requests[709].Request.Path = "/subscriptions/dd3878fe-26a0-/providers/Microsoft.Advisor/suppressions"; + Requests[710] = new DefaultHttpContext(); + Requests[710].RequestServices = CreateServices(); + Requests[710].Request.Method = "GET"; + Requests[710].Request.Path = "/subscriptions/5aff4d6e-8cfc-/providers/Microsoft.AnalysisServices/servers"; + Requests[711] = new DefaultHttpContext(); + Requests[711].RequestServices = CreateServices(); + Requests[711].Request.Method = "GET"; + Requests[711].Request.Path = "/subscriptions/eb87958c-d33f-/providers/Microsoft.AnalysisServices/skus"; + Requests[712] = new DefaultHttpContext(); + Requests[712].RequestServices = CreateServices(); + Requests[712].Request.Method = "POST"; + Requests[712].Request.Path = "/subscriptions/80594cd3-b762-/providers/Microsoft.ApiManagement/checkNameAvailability"; + Requests[713] = new DefaultHttpContext(); + Requests[713].RequestServices = CreateServices(); + Requests[713].Request.Method = "GET"; + Requests[713].Request.Path = "/subscriptions/48db1c63-025a-/providers/Microsoft.ApiManagement/service"; + Requests[714] = new DefaultHttpContext(); + Requests[714].RequestServices = CreateServices(); + Requests[714].Request.Method = "GET"; + Requests[714].Request.Path = "/subscriptions/5927821b-97d2-/providers/Microsoft.Authorization/classicAdministrators"; + Requests[715] = new DefaultHttpContext(); + Requests[715].RequestServices = CreateServices(); + Requests[715].Request.Method = "GET"; + Requests[715].Request.Path = "/subscriptions/870aada7-28b8-/providers/Microsoft.Authorization/locks"; + Requests[716] = new DefaultHttpContext(); + Requests[716].RequestServices = CreateServices(); + Requests[716].Request.Method = "GET"; + Requests[716].Request.Path = "/subscriptions/1037c3fa-85c0-/providers/Microsoft.Authorization/policyAssignments"; + Requests[717] = new DefaultHttpContext(); + Requests[717].RequestServices = CreateServices(); + Requests[717].Request.Method = "GET"; + Requests[717].Request.Path = "/subscriptions/ca7136c9-8f80-/providers/Microsoft.Authorization/policyDefinitions"; + Requests[718] = new DefaultHttpContext(); + Requests[718].RequestServices = CreateServices(); + Requests[718].Request.Method = "GET"; + Requests[718].Request.Path = "/subscriptions/74d3ceb3-497a-/providers/Microsoft.Authorization/policySetDefinitions"; + Requests[719] = new DefaultHttpContext(); + Requests[719].RequestServices = CreateServices(); + Requests[719].Request.Method = "GET"; + Requests[719].Request.Path = "/subscriptions/9e4d06ae-d272-/providers/Microsoft.Authorization/roleAssignments"; + Requests[720] = new DefaultHttpContext(); + Requests[720].RequestServices = CreateServices(); + Requests[720].Request.Method = "GET"; + Requests[720].Request.Path = "/subscriptions/0f7b265a-3fe2-/providers/Microsoft.Automation/automationAccounts"; + Requests[721] = new DefaultHttpContext(); + Requests[721].RequestServices = CreateServices(); + Requests[721].Request.Method = "GET"; + Requests[721].Request.Path = "/subscriptions/58885f88-6155-/providers/Microsoft.Batch/batchAccounts"; + Requests[722] = new DefaultHttpContext(); + Requests[722].RequestServices = CreateServices(); + Requests[722].Request.Method = "GET"; + Requests[722].Request.Path = "/subscriptions/7b17e548-88d8-/providers/Microsoft.BatchAI/clusters"; + Requests[723] = new DefaultHttpContext(); + Requests[723].RequestServices = CreateServices(); + Requests[723].Request.Method = "GET"; + Requests[723].Request.Path = "/subscriptions/91f60922-63bc-/providers/Microsoft.BatchAI/fileServers"; + Requests[724] = new DefaultHttpContext(); + Requests[724].RequestServices = CreateServices(); + Requests[724].Request.Method = "GET"; + Requests[724].Request.Path = "/subscriptions/b4e63745-b794-/providers/Microsoft.BatchAI/jobs"; + Requests[725] = new DefaultHttpContext(); + Requests[725].RequestServices = CreateServices(); + Requests[725].Request.Method = "GET"; + Requests[725].Request.Path = "/subscriptions/e7dbcedb-14d8-/providers/Microsoft.BatchAI/workspaces"; + Requests[726] = new DefaultHttpContext(); + Requests[726].RequestServices = CreateServices(); + Requests[726].Request.Method = "GET"; + Requests[726].Request.Path = "/subscriptions/5fe214a6-6b9d-/providers/Microsoft.Billing/billingPeriods"; + Requests[727] = new DefaultHttpContext(); + Requests[727].RequestServices = CreateServices(); + Requests[727].Request.Method = "GET"; + Requests[727].Request.Path = "/subscriptions/57d75d22-1e76-/providers/Microsoft.Billing/invoices"; + Requests[728] = new DefaultHttpContext(); + Requests[728].RequestServices = CreateServices(); + Requests[728].Request.Method = "GET"; + Requests[728].Request.Path = "/subscriptions/967ed4b3-43b2-/providers/Microsoft.BotService/botServices"; + Requests[729] = new DefaultHttpContext(); + Requests[729].RequestServices = CreateServices(); + Requests[729].Request.Method = "POST"; + Requests[729].Request.Path = "/subscriptions/e0f734c8-c212-/providers/Microsoft.Cache/CheckNameAvailability"; + Requests[730] = new DefaultHttpContext(); + Requests[730].RequestServices = CreateServices(); + Requests[730].Request.Method = "GET"; + Requests[730].Request.Path = "/subscriptions/cc92ff4a-3e3b-/providers/Microsoft.Cache/Redis"; + Requests[731] = new DefaultHttpContext(); + Requests[731].RequestServices = CreateServices(); + Requests[731].Request.Method = "GET"; + Requests[731].Request.Path = "/subscriptions/7f4b0554-7098-/providers/Microsoft.Capacity/appliedReservations"; + Requests[732] = new DefaultHttpContext(); + Requests[732].RequestServices = CreateServices(); + Requests[732].Request.Method = "GET"; + Requests[732].Request.Path = "/subscriptions/9ce44aa4-10c8-/providers/Microsoft.Capacity/catalogs"; + Requests[733] = new DefaultHttpContext(); + Requests[733].RequestServices = CreateServices(); + Requests[733].Request.Method = "POST"; + Requests[733].Request.Path = "/subscriptions/46551088-ed53-/providers/Microsoft.Cdn/checkNameAvailability"; + Requests[734] = new DefaultHttpContext(); + Requests[734].RequestServices = CreateServices(); + Requests[734].Request.Method = "POST"; + Requests[734].Request.Path = "/subscriptions/c92dba15-9bb1-/providers/Microsoft.Cdn/checkResourceUsage"; + Requests[735] = new DefaultHttpContext(); + Requests[735].RequestServices = CreateServices(); + Requests[735].Request.Method = "GET"; + Requests[735].Request.Path = "/subscriptions/aba0d95a-ef24-/providers/Microsoft.Cdn/profiles"; + Requests[736] = new DefaultHttpContext(); + Requests[736].RequestServices = CreateServices(); + Requests[736].Request.Method = "POST"; + Requests[736].Request.Path = "/subscriptions/8d4a5122-f7a8-/providers/Microsoft.Cdn/validateProbe"; + Requests[737] = new DefaultHttpContext(); + Requests[737].RequestServices = CreateServices(); + Requests[737].Request.Method = "GET"; + Requests[737].Request.Path = "/subscriptions/befa1ad0-e655-/providers/Microsoft.CertificateRegistration/certificateOrders"; + Requests[738] = new DefaultHttpContext(); + Requests[738].RequestServices = CreateServices(); + Requests[738].Request.Method = "POST"; + Requests[738].Request.Path = "/subscriptions/92b78fd7-d025-/providers/Microsoft.CertificateRegistration/validateCertificateRegistrationInformation"; + Requests[739] = new DefaultHttpContext(); + Requests[739].RequestServices = CreateServices(); + Requests[739].Request.Method = "GET"; + Requests[739].Request.Path = "/subscriptions/fa88ca87-2467-/providers/Microsoft.CognitiveServices/accounts"; + Requests[740] = new DefaultHttpContext(); + Requests[740].RequestServices = CreateServices(); + Requests[740].Request.Method = "GET"; + Requests[740].Request.Path = "/subscriptions/8083ab2e-3d98-/providers/Microsoft.CognitiveServices/skus"; + Requests[741] = new DefaultHttpContext(); + Requests[741].RequestServices = CreateServices(); + Requests[741].Request.Method = "GET"; + Requests[741].Request.Path = "/subscriptions/a8631cf2-d2d6-/providers/Microsoft.Commerce.Admin/subscriberUsageAggregates"; + Requests[742] = new DefaultHttpContext(); + Requests[742].RequestServices = CreateServices(); + Requests[742].Request.Method = "POST"; + Requests[742].Request.Path = "/subscriptions/bd65da69-c9d7-/providers/Microsoft.Commerce.Admin/updateEncryption"; + Requests[743] = new DefaultHttpContext(); + Requests[743].RequestServices = CreateServices(); + Requests[743].Request.Method = "GET"; + Requests[743].Request.Path = "/subscriptions/0b46f867-051f-/providers/Microsoft.Commerce/RateCard"; + Requests[744] = new DefaultHttpContext(); + Requests[744].RequestServices = CreateServices(); + Requests[744].Request.Method = "GET"; + Requests[744].Request.Path = "/subscriptions/f61f218c-6ac7-/providers/Microsoft.Commerce/UsageAggregates"; + Requests[745] = new DefaultHttpContext(); + Requests[745].RequestServices = CreateServices(); + Requests[745].Request.Method = "GET"; + Requests[745].Request.Path = "/subscriptions/0fb30a77-c7cb-/providers/Microsoft.Compute/disks"; + Requests[746] = new DefaultHttpContext(); + Requests[746].RequestServices = CreateServices(); + Requests[746].Request.Method = "GET"; + Requests[746].Request.Path = "/subscriptions/0dafe3ca-2af1-/providers/Microsoft.Compute/galleries"; + Requests[747] = new DefaultHttpContext(); + Requests[747].RequestServices = CreateServices(); + Requests[747].Request.Method = "GET"; + Requests[747].Request.Path = "/subscriptions/33184cd8-7a20-/providers/Microsoft.Compute/images"; + Requests[748] = new DefaultHttpContext(); + Requests[748].RequestServices = CreateServices(); + Requests[748].Request.Method = "GET"; + Requests[748].Request.Path = "/subscriptions/3d73df7b-aacd-/providers/Microsoft.Compute/skus"; + Requests[749] = new DefaultHttpContext(); + Requests[749].RequestServices = CreateServices(); + Requests[749].Request.Method = "GET"; + Requests[749].Request.Path = "/subscriptions/b8042e59-ccdc-/providers/Microsoft.Compute/snapshots"; + Requests[750] = new DefaultHttpContext(); + Requests[750].RequestServices = CreateServices(); + Requests[750].Request.Method = "GET"; + Requests[750].Request.Path = "/subscriptions/7ab91fe1-0986-/providers/Microsoft.Compute/virtualMachines"; + Requests[751] = new DefaultHttpContext(); + Requests[751].RequestServices = CreateServices(); + Requests[751].Request.Method = "GET"; + Requests[751].Request.Path = "/subscriptions/17580482-5357-/providers/Microsoft.Compute/virtualMachineScaleSets"; + Requests[752] = new DefaultHttpContext(); + Requests[752].RequestServices = CreateServices(); + Requests[752].Request.Method = "GET"; + Requests[752].Request.Path = "/subscriptions/8234ece3-d0a1-/providers/Microsoft.Consumption/budgets"; + Requests[753] = new DefaultHttpContext(); + Requests[753].RequestServices = CreateServices(); + Requests[753].Request.Method = "GET"; + Requests[753].Request.Path = "/subscriptions/ee477fa5-da9c-/providers/Microsoft.Consumption/forecasts"; + Requests[754] = new DefaultHttpContext(); + Requests[754].RequestServices = CreateServices(); + Requests[754].Request.Method = "GET"; + Requests[754].Request.Path = "/subscriptions/64170771-eea8-/providers/Microsoft.Consumption/marketplaces"; + Requests[755] = new DefaultHttpContext(); + Requests[755].RequestServices = CreateServices(); + Requests[755].Request.Method = "GET"; + Requests[755].Request.Path = "/subscriptions/e27201e5-bef7-/providers/Microsoft.Consumption/reservationRecommendations"; + Requests[756] = new DefaultHttpContext(); + Requests[756].RequestServices = CreateServices(); + Requests[756].Request.Method = "GET"; + Requests[756].Request.Path = "/subscriptions/2bb93916-2c7e-/providers/Microsoft.Consumption/usageDetails"; + Requests[757] = new DefaultHttpContext(); + Requests[757].RequestServices = CreateServices(); + Requests[757].Request.Method = "GET"; + Requests[757].Request.Path = "/subscriptions/636e627a-35e1-/providers/Microsoft.ContainerInstance/containerGroups"; + Requests[758] = new DefaultHttpContext(); + Requests[758].RequestServices = CreateServices(); + Requests[758].Request.Method = "POST"; + Requests[758].Request.Path = "/subscriptions/2bc8b3f9-24be-/providers/Microsoft.ContainerRegistry/checkNameAvailability"; + Requests[759] = new DefaultHttpContext(); + Requests[759].RequestServices = CreateServices(); + Requests[759].Request.Method = "GET"; + Requests[759].Request.Path = "/subscriptions/9802eb2e-be78-/providers/Microsoft.ContainerRegistry/registries"; + Requests[760] = new DefaultHttpContext(); + Requests[760].RequestServices = CreateServices(); + Requests[760].Request.Method = "GET"; + Requests[760].Request.Path = "/subscriptions/d2d99182-aecd-/providers/Microsoft.ContainerService/containerServices"; + Requests[761] = new DefaultHttpContext(); + Requests[761].RequestServices = CreateServices(); + Requests[761].Request.Method = "GET"; + Requests[761].Request.Path = "/subscriptions/dbc1faae-ea4a-/providers/Microsoft.ContainerService/managedClusters"; + Requests[762] = new DefaultHttpContext(); + Requests[762].RequestServices = CreateServices(); + Requests[762].Request.Method = "GET"; + Requests[762].Request.Path = "/subscriptions/a5d200f0-da4c-/providers/Microsoft.CustomerInsights/hubs"; + Requests[763] = new DefaultHttpContext(); + Requests[763].RequestServices = CreateServices(); + Requests[763].Request.Method = "GET"; + Requests[763].Request.Path = "/subscriptions/bb1750ad-e574-/providers/Microsoft.DataBox/jobs"; + Requests[764] = new DefaultHttpContext(); + Requests[764].RequestServices = CreateServices(); + Requests[764].Request.Method = "GET"; + Requests[764].Request.Path = "/subscriptions/33973c0e-0153-/providers/Microsoft.Databricks/workspaces"; + Requests[765] = new DefaultHttpContext(); + Requests[765].RequestServices = CreateServices(); + Requests[765].Request.Method = "GET"; + Requests[765].Request.Path = "/subscriptions/8faad50a-804f-/providers/Microsoft.DataFactory/factories"; + Requests[766] = new DefaultHttpContext(); + Requests[766].RequestServices = CreateServices(); + Requests[766].Request.Method = "GET"; + Requests[766].Request.Path = "/subscriptions/88260abd-f7dc-/providers/Microsoft.DataLakeAnalytics/accounts"; + Requests[767] = new DefaultHttpContext(); + Requests[767].RequestServices = CreateServices(); + Requests[767].Request.Method = "GET"; + Requests[767].Request.Path = "/subscriptions/b45bd676-236c-/providers/Microsoft.DataLakeStore/accounts"; + Requests[768] = new DefaultHttpContext(); + Requests[768].RequestServices = CreateServices(); + Requests[768].Request.Method = "GET"; + Requests[768].Request.Path = "/subscriptions/98e87df1-8df8-/providers/Microsoft.DataMigration/services"; + Requests[769] = new DefaultHttpContext(); + Requests[769].RequestServices = CreateServices(); + Requests[769].Request.Method = "GET"; + Requests[769].Request.Path = "/subscriptions/e74b9bec-e154-/providers/Microsoft.DataMigration/skus"; + Requests[770] = new DefaultHttpContext(); + Requests[770].RequestServices = CreateServices(); + Requests[770].Request.Method = "POST"; + Requests[770].Request.Path = "/subscriptions/62537978-f167-/providers/Microsoft.DBforMySQL/checkNameAvailability"; + Requests[771] = new DefaultHttpContext(); + Requests[771].RequestServices = CreateServices(); + Requests[771].Request.Method = "GET"; + Requests[771].Request.Path = "/subscriptions/1555bf9f-7420-/providers/Microsoft.DBforMySQL/performanceTiers"; + Requests[772] = new DefaultHttpContext(); + Requests[772].RequestServices = CreateServices(); + Requests[772].Request.Method = "GET"; + Requests[772].Request.Path = "/subscriptions/bec87bd8-d6c1-/providers/Microsoft.DBforMySQL/servers"; + Requests[773] = new DefaultHttpContext(); + Requests[773].RequestServices = CreateServices(); + Requests[773].Request.Method = "POST"; + Requests[773].Request.Path = "/subscriptions/c085e785-1f4d-/providers/Microsoft.DBforPostgreSQL/checkNameAvailability"; + Requests[774] = new DefaultHttpContext(); + Requests[774].RequestServices = CreateServices(); + Requests[774].Request.Method = "GET"; + Requests[774].Request.Path = "/subscriptions/6cf10bb9-9f34-/providers/Microsoft.DBforPostgreSQL/performanceTiers"; + Requests[775] = new DefaultHttpContext(); + Requests[775].RequestServices = CreateServices(); + Requests[775].Request.Method = "GET"; + Requests[775].Request.Path = "/subscriptions/5b11a5aa-ea79-/providers/Microsoft.DBforPostgreSQL/servers"; + Requests[776] = new DefaultHttpContext(); + Requests[776].RequestServices = CreateServices(); + Requests[776].Request.Method = "POST"; + Requests[776].Request.Path = "/subscriptions/c2eb98f9-3313-/providers/Microsoft.Devices/checkNameAvailability"; + Requests[777] = new DefaultHttpContext(); + Requests[777].RequestServices = CreateServices(); + Requests[777].Request.Method = "POST"; + Requests[777].Request.Path = "/subscriptions/2970fc31-9808-/providers/Microsoft.Devices/checkProvisioningServiceNameAvailability"; + Requests[778] = new DefaultHttpContext(); + Requests[778].RequestServices = CreateServices(); + Requests[778].Request.Method = "GET"; + Requests[778].Request.Path = "/subscriptions/5103cd0a-5451-/providers/Microsoft.Devices/IotHubs"; + Requests[779] = new DefaultHttpContext(); + Requests[779].RequestServices = CreateServices(); + Requests[779].Request.Method = "GET"; + Requests[779].Request.Path = "/subscriptions/d2405a78-9e89-/providers/Microsoft.Devices/provisioningServices"; + Requests[780] = new DefaultHttpContext(); + Requests[780].RequestServices = CreateServices(); + Requests[780].Request.Method = "GET"; + Requests[780].Request.Path = "/subscriptions/7f873e87-edf4-/providers/Microsoft.Devices/usages"; + Requests[781] = new DefaultHttpContext(); + Requests[781].RequestServices = CreateServices(); + Requests[781].Request.Method = "GET"; + Requests[781].Request.Path = "/subscriptions/9ff3627c-0d6c-/providers/Microsoft.DevTestLab/labs"; + Requests[782] = new DefaultHttpContext(); + Requests[782].RequestServices = CreateServices(); + Requests[782].Request.Method = "GET"; + Requests[782].Request.Path = "/subscriptions/5bf9b2cd-dac5-/providers/Microsoft.DevTestLab/schedules"; + Requests[783] = new DefaultHttpContext(); + Requests[783].RequestServices = CreateServices(); + Requests[783].Request.Method = "GET"; + Requests[783].Request.Path = "/subscriptions/8f7b240f-c831-/providers/Microsoft.DocumentDB/databaseAccounts"; + Requests[784] = new DefaultHttpContext(); + Requests[784].RequestServices = CreateServices(); + Requests[784].Request.Method = "POST"; + Requests[784].Request.Path = "/subscriptions/e1e000b4-47e1-/providers/Microsoft.DomainRegistration/checkDomainAvailability"; + Requests[785] = new DefaultHttpContext(); + Requests[785].RequestServices = CreateServices(); + Requests[785].Request.Method = "GET"; + Requests[785].Request.Path = "/subscriptions/768eeefa-c766-/providers/Microsoft.DomainRegistration/domains"; + Requests[786] = new DefaultHttpContext(); + Requests[786].RequestServices = CreateServices(); + Requests[786].Request.Method = "POST"; + Requests[786].Request.Path = "/subscriptions/fb7b3427-245c-/providers/Microsoft.DomainRegistration/generateSsoRequest"; + Requests[787] = new DefaultHttpContext(); + Requests[787].RequestServices = CreateServices(); + Requests[787].Request.Method = "POST"; + Requests[787].Request.Path = "/subscriptions/4f68f98f-9901-/providers/Microsoft.DomainRegistration/listDomainRecommendations"; + Requests[788] = new DefaultHttpContext(); + Requests[788].RequestServices = CreateServices(); + Requests[788].Request.Method = "GET"; + Requests[788].Request.Path = "/subscriptions/97b5ed5d-c5d9-/providers/Microsoft.DomainRegistration/topLevelDomains"; + Requests[789] = new DefaultHttpContext(); + Requests[789].RequestServices = CreateServices(); + Requests[789].Request.Method = "POST"; + Requests[789].Request.Path = "/subscriptions/75b623c8-4d7c-/providers/Microsoft.DomainRegistration/validateDomainRegistrationInformation"; + Requests[790] = new DefaultHttpContext(); + Requests[790].RequestServices = CreateServices(); + Requests[790].Request.Method = "GET"; + Requests[790].Request.Path = "/subscriptions/3d196972-2ba4-/providers/Microsoft.EventGrid/eventSubscriptions"; + Requests[791] = new DefaultHttpContext(); + Requests[791].RequestServices = CreateServices(); + Requests[791].Request.Method = "GET"; + Requests[791].Request.Path = "/subscriptions/609bdda8-99c0-/providers/Microsoft.EventGrid/topics"; + Requests[792] = new DefaultHttpContext(); + Requests[792].RequestServices = CreateServices(); + Requests[792].Request.Method = "POST"; + Requests[792].Request.Path = "/subscriptions/891c510f-6b4e-/providers/Microsoft.EventHub/CheckNameAvailability"; + Requests[793] = new DefaultHttpContext(); + Requests[793].RequestServices = CreateServices(); + Requests[793].Request.Method = "POST"; + Requests[793].Request.Path = "/subscriptions/8d9c0fc5-e89a-/providers/Microsoft.EventHub/CheckNamespaceAvailability"; + Requests[794] = new DefaultHttpContext(); + Requests[794].RequestServices = CreateServices(); + Requests[794].Request.Method = "GET"; + Requests[794].Request.Path = "/subscriptions/9a6f311a-7497-/providers/Microsoft.EventHub/namespaces"; + Requests[795] = new DefaultHttpContext(); + Requests[795].RequestServices = CreateServices(); + Requests[795].Request.Method = "GET"; + Requests[795].Request.Path = "/subscriptions/4a06088c-f1b2-/providers/Microsoft.Features/features"; + Requests[796] = new DefaultHttpContext(); + Requests[796].RequestServices = CreateServices(); + Requests[796].Request.Method = "POST"; + Requests[796].Request.Path = "/subscriptions/bbbf891f-7dda-/providers/microsoft.gallery.admin/galleryItems"; + Requests[797] = new DefaultHttpContext(); + Requests[797].RequestServices = CreateServices(); + Requests[797].Request.Method = "GET"; + Requests[797].Request.Path = "/subscriptions/81a6db1a-3ff7-/providers/Microsoft.HanaOnAzure/hanaInstances"; + Requests[798] = new DefaultHttpContext(); + Requests[798].RequestServices = CreateServices(); + Requests[798].Request.Method = "GET"; + Requests[798].Request.Path = "/subscriptions/7c49b216-4cb5-/providers/Microsoft.HDInsight/clusters"; + Requests[799] = new DefaultHttpContext(); + Requests[799].RequestServices = CreateServices(); + Requests[799].Request.Method = "GET"; + Requests[799].Request.Path = "/subscriptions/14d3d32c-f1b2-/providers/Microsoft.ImportExport/jobs"; + Requests[800] = new DefaultHttpContext(); + Requests[800].RequestServices = CreateServices(); + Requests[800].Request.Method = "GET"; + Requests[800].Request.Path = "/subscriptions/2121bee5-0298-/providers/microsoft.insights/actionGroups"; + Requests[801] = new DefaultHttpContext(); + Requests[801].RequestServices = CreateServices(); + Requests[801].Request.Method = "GET"; + Requests[801].Request.Path = "/subscriptions/f8cb584a-cb9c-/providers/microsoft.insights/activityLogAlerts"; + Requests[802] = new DefaultHttpContext(); + Requests[802].RequestServices = CreateServices(); + Requests[802].Request.Method = "GET"; + Requests[802].Request.Path = "/subscriptions/a5673e08-5e86-/providers/Microsoft.Insights/components"; + Requests[803] = new DefaultHttpContext(); + Requests[803].RequestServices = CreateServices(); + Requests[803].Request.Method = "POST"; + Requests[803].Request.Path = "/subscriptions/60057e41-eb4d-/providers/microsoft.insights/listMigrationdate"; + Requests[804] = new DefaultHttpContext(); + Requests[804].RequestServices = CreateServices(); + Requests[804].Request.Method = "GET"; + Requests[804].Request.Path = "/subscriptions/8a1476f5-3202-/providers/microsoft.insights/logprofiles"; + Requests[805] = new DefaultHttpContext(); + Requests[805].RequestServices = CreateServices(); + Requests[805].Request.Method = "GET"; + Requests[805].Request.Path = "/subscriptions/5fb3e070-af05-/providers/Microsoft.Insights/metricAlerts"; + Requests[806] = new DefaultHttpContext(); + Requests[806].RequestServices = CreateServices(); + Requests[806].Request.Method = "POST"; + Requests[806].Request.Path = "/subscriptions/50147e4d-450a-/providers/microsoft.insights/migrateToNewPricingModel"; + Requests[807] = new DefaultHttpContext(); + Requests[807].RequestServices = CreateServices(); + Requests[807].Request.Method = "POST"; + Requests[807].Request.Path = "/subscriptions/612ca439-18f2-/providers/microsoft.insights/rollbackToLegacyPricingModel"; + Requests[808] = new DefaultHttpContext(); + Requests[808].RequestServices = CreateServices(); + Requests[808].Request.Method = "GET"; + Requests[808].Request.Path = "/subscriptions/755a29b3-df80-/providers/microsoft.insights/scheduledQueryRules"; + Requests[809] = new DefaultHttpContext(); + Requests[809].RequestServices = CreateServices(); + Requests[809].Request.Method = "GET"; + Requests[809].Request.Path = "/subscriptions/4536ae26-09ca-/providers/Microsoft.Insights/webtests"; + Requests[810] = new DefaultHttpContext(); + Requests[810].RequestServices = CreateServices(); + Requests[810].Request.Method = "POST"; + Requests[810].Request.Path = "/subscriptions/03156760-97cc-/providers/Microsoft.IoTCentral/checkNameAvailability"; + Requests[811] = new DefaultHttpContext(); + Requests[811].RequestServices = CreateServices(); + Requests[811].Request.Method = "GET"; + Requests[811].Request.Path = "/subscriptions/26b31fed-5ec6-/providers/Microsoft.IoTCentral/IoTApps"; + Requests[812] = new DefaultHttpContext(); + Requests[812].RequestServices = CreateServices(); + Requests[812].Request.Method = "POST"; + Requests[812].Request.Path = "/subscriptions/52a492ad-99a8-/providers/Microsoft.IoTSpaces/checkNameAvailability"; + Requests[813] = new DefaultHttpContext(); + Requests[813].RequestServices = CreateServices(); + Requests[813].Request.Method = "GET"; + Requests[813].Request.Path = "/subscriptions/35643cc4-ed5d-/providers/Microsoft.IoTSpaces/Graph"; + Requests[814] = new DefaultHttpContext(); + Requests[814].RequestServices = CreateServices(); + Requests[814].Request.Method = "POST"; + Requests[814].Request.Path = "/subscriptions/71c4ff01-52f3-/providers/Microsoft.KeyVault/checkNameAvailability"; + Requests[815] = new DefaultHttpContext(); + Requests[815].RequestServices = CreateServices(); + Requests[815].Request.Method = "GET"; + Requests[815].Request.Path = "/subscriptions/1daaf85e-2044-/providers/Microsoft.KeyVault/deletedVaults"; + Requests[816] = new DefaultHttpContext(); + Requests[816].RequestServices = CreateServices(); + Requests[816].Request.Method = "GET"; + Requests[816].Request.Path = "/subscriptions/decfd92e-2d7b-/providers/Microsoft.KeyVault/vaults"; + Requests[817] = new DefaultHttpContext(); + Requests[817].RequestServices = CreateServices(); + Requests[817].Request.Method = "GET"; + Requests[817].Request.Path = "/subscriptions/35893eed-68e6-/providers/Microsoft.Logic/integrationAccounts"; + Requests[818] = new DefaultHttpContext(); + Requests[818].RequestServices = CreateServices(); + Requests[818].Request.Method = "GET"; + Requests[818].Request.Path = "/subscriptions/4534f271-a003-/providers/Microsoft.Logic/workflows"; + Requests[819] = new DefaultHttpContext(); + Requests[819].RequestServices = CreateServices(); + Requests[819].Request.Method = "GET"; + Requests[819].Request.Path = "/subscriptions/647011ae-9bb6-/providers/Microsoft.MachineLearning/commitmentPlans"; + Requests[820] = new DefaultHttpContext(); + Requests[820].RequestServices = CreateServices(); + Requests[820].Request.Method = "GET"; + Requests[820].Request.Path = "/subscriptions/2f920cc8-2af0-/providers/Microsoft.MachineLearning/skus"; + Requests[821] = new DefaultHttpContext(); + Requests[821].RequestServices = CreateServices(); + Requests[821].Request.Method = "GET"; + Requests[821].Request.Path = "/subscriptions/c703941e-ea68-/providers/Microsoft.MachineLearning/webServices"; + Requests[822] = new DefaultHttpContext(); + Requests[822].RequestServices = CreateServices(); + Requests[822].Request.Method = "GET"; + Requests[822].Request.Path = "/subscriptions/e3eebd00-72ed-/providers/Microsoft.MachineLearning/workspaces"; + Requests[823] = new DefaultHttpContext(); + Requests[823].RequestServices = CreateServices(); + Requests[823].Request.Method = "GET"; + Requests[823].Request.Path = "/subscriptions/42831f3e-5ccb-/providers/Microsoft.MachineLearningCompute/operationalizationClusters"; + Requests[824] = new DefaultHttpContext(); + Requests[824].RequestServices = CreateServices(); + Requests[824].Request.Method = "GET"; + Requests[824].Request.Path = "/subscriptions/ad50d895-4bd0-/providers/Microsoft.MachineLearningExperimentation/accounts"; + Requests[825] = new DefaultHttpContext(); + Requests[825].RequestServices = CreateServices(); + Requests[825].Request.Method = "GET"; + Requests[825].Request.Path = "/subscriptions/146075aa-1dc7-/providers/Microsoft.MachineLearningServices/workspaces"; + Requests[826] = new DefaultHttpContext(); + Requests[826].RequestServices = CreateServices(); + Requests[826].Request.Method = "GET"; + Requests[826].Request.Path = "/subscriptions/fa76eeda-6fe6-/providers/Microsoft.ManagedIdentity/userAssignedIdentities"; + Requests[827] = new DefaultHttpContext(); + Requests[827].RequestServices = CreateServices(); + Requests[827].Request.Method = "GET"; + Requests[827].Request.Path = "/subscriptions/6b76123c-9e4f-/providers/Microsoft.Maps/accounts"; + Requests[828] = new DefaultHttpContext(); + Requests[828].RequestServices = CreateServices(); + Requests[828].Request.Method = "POST"; + Requests[828].Request.Path = "/subscriptions/71fc57d4-8681-/providers/Microsoft.Media/CheckNameAvailability"; + Requests[829] = new DefaultHttpContext(); + Requests[829].RequestServices = CreateServices(); + Requests[829].Request.Method = "GET"; + Requests[829].Request.Path = "/subscriptions/709db38f-6be1-/providers/Microsoft.Media/mediaservices"; + Requests[830] = new DefaultHttpContext(); + Requests[830].RequestServices = CreateServices(); + Requests[830].Request.Method = "GET"; + Requests[830].Request.Path = "/subscriptions/994367da-75c2-/providers/Microsoft.Network.Admin/adminLoadBalancers"; + Requests[831] = new DefaultHttpContext(); + Requests[831].RequestServices = CreateServices(); + Requests[831].Request.Method = "GET"; + Requests[831].Request.Path = "/subscriptions/3df31c19-b839-/providers/Microsoft.Network.Admin/adminOverview"; + Requests[832] = new DefaultHttpContext(); + Requests[832].RequestServices = CreateServices(); + Requests[832].Request.Method = "GET"; + Requests[832].Request.Path = "/subscriptions/91fa87cf-d2a6-/providers/Microsoft.Network.Admin/adminPublicIpAddresses"; + Requests[833] = new DefaultHttpContext(); + Requests[833].RequestServices = CreateServices(); + Requests[833].Request.Method = "GET"; + Requests[833].Request.Path = "/subscriptions/fd8405a4-3d67-/providers/Microsoft.Network.Admin/adminVirtualNetworks"; + Requests[834] = new DefaultHttpContext(); + Requests[834].RequestServices = CreateServices(); + Requests[834].Request.Method = "GET"; + Requests[834].Request.Path = "/subscriptions/0ceccf92-b1bd-/providers/Microsoft.Network/applicationGatewayAvailableWafRuleSets"; + Requests[835] = new DefaultHttpContext(); + Requests[835].RequestServices = CreateServices(); + Requests[835].Request.Method = "GET"; + Requests[835].Request.Path = "/subscriptions/036cecf4-5fb9-/providers/Microsoft.Network/applicationGateways"; + Requests[836] = new DefaultHttpContext(); + Requests[836].RequestServices = CreateServices(); + Requests[836].Request.Method = "GET"; + Requests[836].Request.Path = "/subscriptions/8a90e39d-f124-/providers/Microsoft.Network/applicationSecurityGroups"; + Requests[837] = new DefaultHttpContext(); + Requests[837].RequestServices = CreateServices(); + Requests[837].Request.Method = "GET"; + Requests[837].Request.Path = "/subscriptions/c0494119-7a89-/providers/Microsoft.Network/bgpServiceCommunities"; + Requests[838] = new DefaultHttpContext(); + Requests[838].RequestServices = CreateServices(); + Requests[838].Request.Method = "GET"; + Requests[838].Request.Path = "/subscriptions/cf6fa08e-11a6-/providers/Microsoft.Network/ddosProtectionPlans"; + Requests[839] = new DefaultHttpContext(); + Requests[839].RequestServices = CreateServices(); + Requests[839].Request.Method = "GET"; + Requests[839].Request.Path = "/subscriptions/cd7c28e4-6c4f-/providers/Microsoft.Network/dnszones"; + Requests[840] = new DefaultHttpContext(); + Requests[840].RequestServices = CreateServices(); + Requests[840].Request.Method = "GET"; + Requests[840].Request.Path = "/subscriptions/2cf9a6aa-4ee8-/providers/Microsoft.Network/expressRouteCircuits"; + Requests[841] = new DefaultHttpContext(); + Requests[841].RequestServices = CreateServices(); + Requests[841].Request.Method = "GET"; + Requests[841].Request.Path = "/subscriptions/eb89805f-e486-/providers/Microsoft.Network/expressRouteCrossConnections"; + Requests[842] = new DefaultHttpContext(); + Requests[842].RequestServices = CreateServices(); + Requests[842].Request.Method = "GET"; + Requests[842].Request.Path = "/subscriptions/27550b55-ab53-/providers/Microsoft.Network/expressRouteServiceProviders"; + Requests[843] = new DefaultHttpContext(); + Requests[843].RequestServices = CreateServices(); + Requests[843].Request.Method = "GET"; + Requests[843].Request.Path = "/subscriptions/462dcccb-0b92-/providers/Microsoft.Network/loadBalancers"; + Requests[844] = new DefaultHttpContext(); + Requests[844].RequestServices = CreateServices(); + Requests[844].Request.Method = "GET"; + Requests[844].Request.Path = "/subscriptions/04c5bb01-0837-/providers/Microsoft.Network/networkInterfaces"; + Requests[845] = new DefaultHttpContext(); + Requests[845].RequestServices = CreateServices(); + Requests[845].Request.Method = "GET"; + Requests[845].Request.Path = "/subscriptions/41bd7f4c-22f1-/providers/Microsoft.Network/networkSecurityGroups"; + Requests[846] = new DefaultHttpContext(); + Requests[846].RequestServices = CreateServices(); + Requests[846].Request.Method = "GET"; + Requests[846].Request.Path = "/subscriptions/3bdfd676-5727-/providers/Microsoft.Network/networkWatchers"; + Requests[847] = new DefaultHttpContext(); + Requests[847].RequestServices = CreateServices(); + Requests[847].Request.Method = "GET"; + Requests[847].Request.Path = "/subscriptions/d62cfe1a-36d0-/providers/Microsoft.Network/publicIPAddresses"; + Requests[848] = new DefaultHttpContext(); + Requests[848].RequestServices = CreateServices(); + Requests[848].Request.Method = "GET"; + Requests[848].Request.Path = "/subscriptions/b5453a2a-357f-/providers/Microsoft.Network/routeFilters"; + Requests[849] = new DefaultHttpContext(); + Requests[849].RequestServices = CreateServices(); + Requests[849].Request.Method = "GET"; + Requests[849].Request.Path = "/subscriptions/ca5f741f-811d-/providers/Microsoft.Network/routeTables"; + Requests[850] = new DefaultHttpContext(); + Requests[850].RequestServices = CreateServices(); + Requests[850].Request.Method = "GET"; + Requests[850].Request.Path = "/subscriptions/aff3ccb1-4849-/providers/Microsoft.Network/trafficmanagerprofiles"; + Requests[851] = new DefaultHttpContext(); + Requests[851].RequestServices = CreateServices(); + Requests[851].Request.Method = "DELETE"; + Requests[851].Request.Path = "/subscriptions/af65814f-bf1d-/providers/Microsoft.Network/trafficManagerUserMetricsKeys"; + Requests[852] = new DefaultHttpContext(); + Requests[852].RequestServices = CreateServices(); + Requests[852].Request.Method = "GET"; + Requests[852].Request.Path = "/subscriptions/309226fb-6558-/providers/Microsoft.Network/virtualNetworks"; + Requests[853] = new DefaultHttpContext(); + Requests[853].RequestServices = CreateServices(); + Requests[853].Request.Method = "POST"; + Requests[853].Request.Path = "/subscriptions/77b16c80-12c4-/providers/Microsoft.NotificationHubs/checkNamespaceAvailability"; + Requests[854] = new DefaultHttpContext(); + Requests[854].RequestServices = CreateServices(); + Requests[854].Request.Method = "GET"; + Requests[854].Request.Path = "/subscriptions/fbe29c02-1937-/providers/Microsoft.NotificationHubs/namespaces"; + Requests[855] = new DefaultHttpContext(); + Requests[855].RequestServices = CreateServices(); + Requests[855].Request.Method = "GET"; + Requests[855].Request.Path = "/subscriptions/d2ee7122-264d-/providers/Microsoft.OperationalInsights/linkTargets"; + Requests[856] = new DefaultHttpContext(); + Requests[856].RequestServices = CreateServices(); + Requests[856].Request.Method = "GET"; + Requests[856].Request.Path = "/subscriptions/c400ab10-ea6a-/providers/Microsoft.OperationalInsights/workspaces"; + Requests[857] = new DefaultHttpContext(); + Requests[857].RequestServices = CreateServices(); + Requests[857].Request.Method = "GET"; + Requests[857].Request.Path = "/subscriptions/21704bdf-e867-/providers/Microsoft.OperationsManagement/ManagementAssociations"; + Requests[858] = new DefaultHttpContext(); + Requests[858].RequestServices = CreateServices(); + Requests[858].Request.Method = "GET"; + Requests[858].Request.Path = "/subscriptions/64d5cb0f-8d97-/providers/Microsoft.OperationsManagement/ManagementConfigurations"; + Requests[859] = new DefaultHttpContext(); + Requests[859].RequestServices = CreateServices(); + Requests[859].Request.Method = "GET"; + Requests[859].Request.Path = "/subscriptions/2cce7754-92ca-/providers/Microsoft.OperationsManagement/solutions"; + Requests[860] = new DefaultHttpContext(); + Requests[860].RequestServices = CreateServices(); + Requests[860].Request.Method = "GET"; + Requests[860].Request.Path = "/subscriptions/b71e3e5a-91da-/providers/Microsoft.PowerBI/workspaceCollections"; + Requests[861] = new DefaultHttpContext(); + Requests[861].RequestServices = CreateServices(); + Requests[861].Request.Method = "GET"; + Requests[861].Request.Path = "/subscriptions/74c57f5e-f392-/providers/Microsoft.PowerBIDedicated/capacities"; + Requests[862] = new DefaultHttpContext(); + Requests[862].RequestServices = CreateServices(); + Requests[862].Request.Method = "GET"; + Requests[862].Request.Path = "/subscriptions/0ec4277e-253a-/providers/Microsoft.PowerBIDedicated/skus"; + Requests[863] = new DefaultHttpContext(); + Requests[863].RequestServices = CreateServices(); + Requests[863].Request.Method = "GET"; + Requests[863].Request.Path = "/subscriptions/c75358bc-c94a-/providers/Microsoft.RecoveryServices/vaults"; + Requests[864] = new DefaultHttpContext(); + Requests[864].RequestServices = CreateServices(); + Requests[864].Request.Method = "POST"; + Requests[864].Request.Path = "/subscriptions/890c77a5-2da7-/providers/Microsoft.Relay/checkNameAvailability"; + Requests[865] = new DefaultHttpContext(); + Requests[865].RequestServices = CreateServices(); + Requests[865].Request.Method = "GET"; + Requests[865].Request.Path = "/subscriptions/ed7d237e-fc87-/providers/Microsoft.Relay/namespaces"; + Requests[866] = new DefaultHttpContext(); + Requests[866].RequestServices = CreateServices(); + Requests[866].Request.Method = "GET"; + Requests[866].Request.Path = "/subscriptions/20e4d3f3-a822-/providers/Microsoft.ResourceHealth/availabilityStatuses"; + Requests[867] = new DefaultHttpContext(); + Requests[867].RequestServices = CreateServices(); + Requests[867].Request.Method = "GET"; + Requests[867].Request.Path = "/subscriptions/e981dac3-b80e-/providers/Microsoft.Resources/links"; + Requests[868] = new DefaultHttpContext(); + Requests[868].RequestServices = CreateServices(); + Requests[868].Request.Method = "GET"; + Requests[868].Request.Path = "/subscriptions/21a6453c-7fb2-/providers/Microsoft.Scheduler/jobCollections"; + Requests[869] = new DefaultHttpContext(); + Requests[869].RequestServices = CreateServices(); + Requests[869].Request.Method = "POST"; + Requests[869].Request.Path = "/subscriptions/ca932b6c-2be6-/providers/Microsoft.Search/checkNameAvailability"; + Requests[870] = new DefaultHttpContext(); + Requests[870].RequestServices = CreateServices(); + Requests[870].Request.Method = "GET"; + Requests[870].Request.Path = "/subscriptions/6affb4f0-24ab-/providers/Microsoft.Security/alerts"; + Requests[871] = new DefaultHttpContext(); + Requests[871].RequestServices = CreateServices(); + Requests[871].Request.Method = "GET"; + Requests[871].Request.Path = "/subscriptions/8ad9b2e7-ebc1-/providers/Microsoft.Security/autoProvisioningSettings"; + Requests[872] = new DefaultHttpContext(); + Requests[872].RequestServices = CreateServices(); + Requests[872].Request.Method = "GET"; + Requests[872].Request.Path = "/subscriptions/7de5740f-4632-/providers/Microsoft.Security/discoveredSecuritySolutions"; + Requests[873] = new DefaultHttpContext(); + Requests[873].RequestServices = CreateServices(); + Requests[873].Request.Method = "GET"; + Requests[873].Request.Path = "/subscriptions/3f660e7c-257b-/providers/Microsoft.Security/externalSecuritySolutions"; + Requests[874] = new DefaultHttpContext(); + Requests[874].RequestServices = CreateServices(); + Requests[874].Request.Method = "GET"; + Requests[874].Request.Path = "/subscriptions/921e4c75-e5f3-/providers/Microsoft.Security/jitNetworkAccessPolicies"; + Requests[875] = new DefaultHttpContext(); + Requests[875].RequestServices = CreateServices(); + Requests[875].Request.Method = "GET"; + Requests[875].Request.Path = "/subscriptions/c68754ac-d230-/providers/Microsoft.Security/locations"; + Requests[876] = new DefaultHttpContext(); + Requests[876].RequestServices = CreateServices(); + Requests[876].Request.Method = "GET"; + Requests[876].Request.Path = "/subscriptions/8c163a09-b7f0-/providers/Microsoft.Security/pricings"; + Requests[877] = new DefaultHttpContext(); + Requests[877].RequestServices = CreateServices(); + Requests[877].Request.Method = "GET"; + Requests[877].Request.Path = "/subscriptions/53b03151-8680-/providers/Microsoft.Security/securityContacts"; + Requests[878] = new DefaultHttpContext(); + Requests[878].RequestServices = CreateServices(); + Requests[878].Request.Method = "GET"; + Requests[878].Request.Path = "/subscriptions/c544c1fb-f9e3-/providers/Microsoft.Security/tasks"; + Requests[879] = new DefaultHttpContext(); + Requests[879].RequestServices = CreateServices(); + Requests[879].Request.Method = "GET"; + Requests[879].Request.Path = "/subscriptions/3f1a29ec-0fc9-/providers/Microsoft.Security/workspaceSettings"; + Requests[880] = new DefaultHttpContext(); + Requests[880].RequestServices = CreateServices(); + Requests[880].Request.Method = "GET"; + Requests[880].Request.Path = "/subscriptions/fa1fa440-43e8-/providers/Microsoft.ServerManagement/gateways"; + Requests[881] = new DefaultHttpContext(); + Requests[881].RequestServices = CreateServices(); + Requests[881].Request.Method = "GET"; + Requests[881].Request.Path = "/subscriptions/f92447dd-5229-/providers/Microsoft.ServerManagement/nodes"; + Requests[882] = new DefaultHttpContext(); + Requests[882].RequestServices = CreateServices(); + Requests[882].Request.Method = "POST"; + Requests[882].Request.Path = "/subscriptions/f0de8e27-9c51-/providers/Microsoft.ServiceBus/CheckNameAvailability"; + Requests[883] = new DefaultHttpContext(); + Requests[883].RequestServices = CreateServices(); + Requests[883].Request.Method = "POST"; + Requests[883].Request.Path = "/subscriptions/9eb0b7f1-8646-/providers/Microsoft.ServiceBus/CheckNameSpaceAvailability"; + Requests[884] = new DefaultHttpContext(); + Requests[884].RequestServices = CreateServices(); + Requests[884].Request.Method = "GET"; + Requests[884].Request.Path = "/subscriptions/5b43a5d4-176d-/providers/Microsoft.ServiceBus/namespaces"; + Requests[885] = new DefaultHttpContext(); + Requests[885].RequestServices = CreateServices(); + Requests[885].Request.Method = "GET"; + Requests[885].Request.Path = "/subscriptions/487cc931-c9d5-/providers/Microsoft.ServiceBus/premiumMessagingRegions"; + Requests[886] = new DefaultHttpContext(); + Requests[886].RequestServices = CreateServices(); + Requests[886].Request.Method = "GET"; + Requests[886].Request.Path = "/subscriptions/f585bed4-08ea-/providers/Microsoft.ServiceFabric/clusters"; + Requests[887] = new DefaultHttpContext(); + Requests[887].RequestServices = CreateServices(); + Requests[887].Request.Method = "GET"; + Requests[887].Request.Path = "/subscriptions/039acba1-a6ff-/providers/Microsoft.SignalRService/SignalR"; + Requests[888] = new DefaultHttpContext(); + Requests[888].RequestServices = CreateServices(); + Requests[888].Request.Method = "GET"; + Requests[888].Request.Path = "/subscriptions/18e86dd1-0fb9-/providers/Microsoft.Solutions/appliances"; + Requests[889] = new DefaultHttpContext(); + Requests[889].RequestServices = CreateServices(); + Requests[889].Request.Method = "GET"; + Requests[889].Request.Path = "/subscriptions/5c743960-8691-/providers/Microsoft.Solutions/applications"; + Requests[890] = new DefaultHttpContext(); + Requests[890].RequestServices = CreateServices(); + Requests[890].Request.Method = "POST"; + Requests[890].Request.Path = "/subscriptions/8d92b24d-0aee-/providers/Microsoft.Sql/checkNameAvailability"; + Requests[891] = new DefaultHttpContext(); + Requests[891].RequestServices = CreateServices(); + Requests[891].Request.Method = "GET"; + Requests[891].Request.Path = "/subscriptions/e469254a-b5b4-/providers/Microsoft.Sql/managedInstances"; + Requests[892] = new DefaultHttpContext(); + Requests[892].RequestServices = CreateServices(); + Requests[892].Request.Method = "GET"; + Requests[892].Request.Path = "/subscriptions/9c901ced-5a7c-/providers/Microsoft.Sql/servers"; + Requests[893] = new DefaultHttpContext(); + Requests[893].RequestServices = CreateServices(); + Requests[893].Request.Method = "POST"; + Requests[893].Request.Path = "/subscriptions/0b10ea1a-21c7-/providers/Microsoft.Storage/checkNameAvailability"; + Requests[894] = new DefaultHttpContext(); + Requests[894].RequestServices = CreateServices(); + Requests[894].Request.Method = "GET"; + Requests[894].Request.Path = "/subscriptions/737090ba-4bbc-/providers/Microsoft.Storage/skus"; + Requests[895] = new DefaultHttpContext(); + Requests[895].RequestServices = CreateServices(); + Requests[895].Request.Method = "GET"; + Requests[895].Request.Path = "/subscriptions/5851a59e-4918-/providers/Microsoft.Storage/storageAccounts"; + Requests[896] = new DefaultHttpContext(); + Requests[896].RequestServices = CreateServices(); + Requests[896].Request.Method = "GET"; + Requests[896].Request.Path = "/subscriptions/4564af67-e5e9-/providers/Microsoft.Storage/usages"; + Requests[897] = new DefaultHttpContext(); + Requests[897].RequestServices = CreateServices(); + Requests[897].Request.Method = "GET"; + Requests[897].Request.Path = "/subscriptions/2b0b44cf-5f5d-/providers/Microsoft.StorSimple/managers"; + Requests[898] = new DefaultHttpContext(); + Requests[898].RequestServices = CreateServices(); + Requests[898].Request.Method = "GET"; + Requests[898].Request.Path = "/subscriptions/ddbd8b79-a493-/providers/Microsoft.StreamAnalytics/streamingjobs"; + Requests[899] = new DefaultHttpContext(); + Requests[899].RequestServices = CreateServices(); + Requests[899].Request.Method = "POST"; + Requests[899].Request.Path = "/subscriptions/ccec1836-6e07-/providers/Microsoft.Subscriptions.Admin/checkNameAvailability"; + Requests[900] = new DefaultHttpContext(); + Requests[900].RequestServices = CreateServices(); + Requests[900].Request.Method = "GET"; + Requests[900].Request.Path = "/subscriptions/6ad386f2-b031-/providers/Microsoft.Subscriptions.Admin/delegatedProviders"; + Requests[901] = new DefaultHttpContext(); + Requests[901].RequestServices = CreateServices(); + Requests[901].Request.Method = "GET"; + Requests[901].Request.Path = "/subscriptions/e2e8e43a-3cfa-/providers/Microsoft.Subscriptions.Admin/locations"; + Requests[902] = new DefaultHttpContext(); + Requests[902].RequestServices = CreateServices(); + Requests[902].Request.Method = "POST"; + Requests[902].Request.Path = "/subscriptions/769567c0-a3e4-/providers/Microsoft.Subscriptions.Admin/moveSubscriptions"; + Requests[903] = new DefaultHttpContext(); + Requests[903].RequestServices = CreateServices(); + Requests[903].Request.Method = "GET"; + Requests[903].Request.Path = "/subscriptions/c4a21ada-c8d5-/providers/Microsoft.Subscriptions.Admin/offers"; + Requests[904] = new DefaultHttpContext(); + Requests[904].RequestServices = CreateServices(); + Requests[904].Request.Method = "GET"; + Requests[904].Request.Path = "/subscriptions/a3196582-aba2-/providers/Microsoft.Subscriptions.Admin/plans"; + Requests[905] = new DefaultHttpContext(); + Requests[905].RequestServices = CreateServices(); + Requests[905].Request.Method = "POST"; + Requests[905].Request.Path = "/subscriptions/4ce2c307-62da-/providers/Microsoft.Subscriptions.Admin/restoreData"; + Requests[906] = new DefaultHttpContext(); + Requests[906].RequestServices = CreateServices(); + Requests[906].Request.Method = "GET"; + Requests[906].Request.Path = "/subscriptions/d2f46427-fdb8-/providers/Microsoft.Subscriptions.Admin/subscriptions"; + Requests[907] = new DefaultHttpContext(); + Requests[907].RequestServices = CreateServices(); + Requests[907].Request.Method = "POST"; + Requests[907].Request.Path = "/subscriptions/9abfa71c-6689-/providers/Microsoft.Subscriptions.Admin/updateEncryption"; + Requests[908] = new DefaultHttpContext(); + Requests[908].RequestServices = CreateServices(); + Requests[908].Request.Method = "POST"; + Requests[908].Request.Path = "/subscriptions/92fb0ff8-ab5c-/providers/Microsoft.Subscriptions.Admin/validateMoveSubscriptions"; + Requests[909] = new DefaultHttpContext(); + Requests[909].RequestServices = CreateServices(); + Requests[909].Request.Method = "GET"; + Requests[909].Request.Path = "/subscriptions/8c5d7e15-a506-/providers/Microsoft.TimeSeriesInsights/environments"; + Requests[910] = new DefaultHttpContext(); + Requests[910].RequestServices = CreateServices(); + Requests[910].Request.Method = "POST"; + Requests[910].Request.Path = "/subscriptions/2a39253f-ed6f-/providers/microsoft.visualstudio/checkNameAvailability"; + Requests[911] = new DefaultHttpContext(); + Requests[911].RequestServices = CreateServices(); + Requests[911].Request.Method = "GET"; + Requests[911].Request.Path = "/subscriptions/8cf0174f-496f-/providers/Microsoft.Web/availableStacks"; + Requests[912] = new DefaultHttpContext(); + Requests[912].RequestServices = CreateServices(); + Requests[912].Request.Method = "GET"; + Requests[912].Request.Path = "/subscriptions/0a88782f-70e9-/providers/Microsoft.Web/billingMeters"; + Requests[913] = new DefaultHttpContext(); + Requests[913].RequestServices = CreateServices(); + Requests[913].Request.Method = "GET"; + Requests[913].Request.Path = "/subscriptions/9014f46d-f72f-/providers/Microsoft.Web/certificates"; + Requests[914] = new DefaultHttpContext(); + Requests[914].RequestServices = CreateServices(); + Requests[914].Request.Method = "POST"; + Requests[914].Request.Path = "/subscriptions/effb48cb-0453-/providers/Microsoft.Web/checknameavailability"; + Requests[915] = new DefaultHttpContext(); + Requests[915].RequestServices = CreateServices(); + Requests[915].Request.Method = "GET"; + Requests[915].Request.Path = "/subscriptions/fb838064-cfc4-/providers/Microsoft.Web/classicMobileServices"; + Requests[916] = new DefaultHttpContext(); + Requests[916].RequestServices = CreateServices(); + Requests[916].Request.Method = "GET"; + Requests[916].Request.Path = "/subscriptions/38450d8e-a7aa-/providers/Microsoft.Web/connectionGateways"; + Requests[917] = new DefaultHttpContext(); + Requests[917].RequestServices = CreateServices(); + Requests[917].Request.Method = "GET"; + Requests[917].Request.Path = "/subscriptions/42dcf53a-262e-/providers/Microsoft.Web/customApis"; + Requests[918] = new DefaultHttpContext(); + Requests[918].RequestServices = CreateServices(); + Requests[918].Request.Method = "GET"; + Requests[918].Request.Path = "/subscriptions/2417dde8-283c-/providers/Microsoft.Web/deletedSites"; + Requests[919] = new DefaultHttpContext(); + Requests[919].RequestServices = CreateServices(); + Requests[919].Request.Method = "GET"; + Requests[919].Request.Path = "/subscriptions/2ccbd0fa-a4f8-/providers/Microsoft.Web/deploymentLocations"; + Requests[920] = new DefaultHttpContext(); + Requests[920].RequestServices = CreateServices(); + Requests[920].Request.Method = "GET"; + Requests[920].Request.Path = "/subscriptions/9ed74014-c346-/providers/Microsoft.Web/geoRegions"; + Requests[921] = new DefaultHttpContext(); + Requests[921].RequestServices = CreateServices(); + Requests[921].Request.Method = "GET"; + Requests[921].Request.Path = "/subscriptions/a60f81bc-4fc2-/providers/Microsoft.Web/hostingEnvironments"; + Requests[922] = new DefaultHttpContext(); + Requests[922].RequestServices = CreateServices(); + Requests[922].Request.Method = "GET"; + Requests[922].Request.Path = "/subscriptions/9f2c3f0e-8693-/providers/Microsoft.Web/ishostingenvironmentnameavailable"; + Requests[923] = new DefaultHttpContext(); + Requests[923].RequestServices = CreateServices(); + Requests[923].Request.Method = "POST"; + Requests[923].Request.Path = "/subscriptions/6ec6c940-09a7-/providers/Microsoft.Web/listSitesAssignedToHostName"; + Requests[924] = new DefaultHttpContext(); + Requests[924].RequestServices = CreateServices(); + Requests[924].Request.Method = "GET"; + Requests[924].Request.Path = "/subscriptions/0290e878-b5b8-/providers/Microsoft.Web/managedHostingEnvironments"; + Requests[925] = new DefaultHttpContext(); + Requests[925].RequestServices = CreateServices(); + Requests[925].Request.Method = "GET"; + Requests[925].Request.Path = "/subscriptions/1e7ab3f2-ac8a-/providers/Microsoft.Web/premieraddonoffers"; + Requests[926] = new DefaultHttpContext(); + Requests[926].RequestServices = CreateServices(); + Requests[926].Request.Method = "PUT"; + Requests[926].Request.Path = "/subscriptions/6774519c-4e3d-/providers/Microsoft.Web/publishingCredentials"; + Requests[927] = new DefaultHttpContext(); + Requests[927].RequestServices = CreateServices(); + Requests[927].Request.Method = "GET"; + Requests[927].Request.Path = "/subscriptions/76fe7714-58c4-/providers/Microsoft.Web/recommendations"; + Requests[928] = new DefaultHttpContext(); + Requests[928].RequestServices = CreateServices(); + Requests[928].Request.Method = "GET"; + Requests[928].Request.Path = "/subscriptions/78309ffd-3eee-/providers/Microsoft.Web/resourceHealthMetadata"; + Requests[929] = new DefaultHttpContext(); + Requests[929].RequestServices = CreateServices(); + Requests[929].Request.Method = "GET"; + Requests[929].Request.Path = "/subscriptions/fdc7d996-7b8d-/providers/Microsoft.Web/serverfarms"; + Requests[930] = new DefaultHttpContext(); + Requests[930].RequestServices = CreateServices(); + Requests[930].Request.Method = "GET"; + Requests[930].Request.Path = "/subscriptions/72a5a2dd-d2cb-/providers/Microsoft.Web/sites"; + Requests[931] = new DefaultHttpContext(); + Requests[931].RequestServices = CreateServices(); + Requests[931].Request.Method = "GET"; + Requests[931].Request.Path = "/subscriptions/0efe3621-919d-/providers/Microsoft.Web/skus"; + Requests[932] = new DefaultHttpContext(); + Requests[932].RequestServices = CreateServices(); + Requests[932].Request.Method = "POST"; + Requests[932].Request.Path = "/subscriptions/69c7c5df-0646-/providers/Microsoft.Web/verifyHostingEnvironmentVnet"; + Requests[933] = new DefaultHttpContext(); + Requests[933].RequestServices = CreateServices(); + Requests[933].Request.Method = "POST"; + Requests[933].Request.Path = "/Applications/3b7866fa-0388/$/GetServices/$/Create"; + Requests[934] = new DefaultHttpContext(); + Requests[934].RequestServices = CreateServices(); + Requests[934].Request.Method = "POST"; + Requests[934].Request.Path = "/Applications/0e883a3a-bbad/$/GetServices/$/CreateFromTemplate"; + Requests[935] = new DefaultHttpContext(); + Requests[935].RequestServices = CreateServices(); + Requests[935].Request.Method = "POST"; + Requests[935].Request.Path = "/Applications/ea0c85ad-fbfe-4/$/GetServiceGroups/$/CreateServiceGroupFromTemplate"; + Requests[936] = new DefaultHttpContext(); + Requests[936].RequestServices = CreateServices(); + Requests[936].Request.Method = "POST"; + Requests[936].Request.Path = "/Applications/24334e80-9989-4/$/GetServices/$/CreateServiceGroup"; + Requests[937] = new DefaultHttpContext(); + Requests[937].RequestServices = CreateServices(); + Requests[937].Request.Method = "POST"; + Requests[937].Request.Path = "/Names/5253ff/$/GetProperties/$/SubmitBatch"; + Requests[938] = new DefaultHttpContext(); + Requests[938].RequestServices = CreateServices(); + Requests[938].Request.Method = "POST"; + Requests[938].Request.Path = "/Services/e19c7769-6f/$/GetPartitions/$/Recover"; + Requests[939] = new DefaultHttpContext(); + Requests[939].RequestServices = CreateServices(); + Requests[939].Request.Method = "GET"; + Requests[939].Request.Path = "/subscriptions/ac951d2d-124c-/providers/Microsoft.Billing/invoices/latest"; + Requests[940] = new DefaultHttpContext(); + Requests[940].RequestServices = CreateServices(); + Requests[940].Request.Method = "GET"; + Requests[940].Request.Path = "/subscriptions/9ec1697b-b0a1-/providers/Microsoft.Consumption/pricesheets/default"; + Requests[941] = new DefaultHttpContext(); + Requests[941].RequestServices = CreateServices(); + Requests[941].Request.Method = "GET"; + Requests[941].Request.Path = "/subscriptions/25d8ec71-7176-/providers/Microsoft.Network/applicationGatewayAvailableSslOptions/default"; + Requests[942] = new DefaultHttpContext(); + Requests[942].RequestServices = CreateServices(); + Requests[942].Request.Method = "POST"; + Requests[942].Request.Path = "/subscriptions/bfc66a7a-f1f2-/providers/Microsoft.Web/recommendations/reset"; + Requests[943] = new DefaultHttpContext(); + Requests[943].RequestServices = CreateServices(); + Requests[943].Request.Method = "POST"; + Requests[943].Request.Path = "/subscriptions/a67a0e8a-9b9d-/providers/Microsoft.Addons/supportProviders/canonical/listSupportPlanInfo"; + Requests[944] = new DefaultHttpContext(); + Requests[944].RequestServices = CreateServices(); + Requests[944].Request.Method = "GET"; + Requests[944].Request.Path = "/subscriptions/0d41808d-2cb9-/providers/microsoft.insights/eventtypes/management/values"; + Requests[945] = new DefaultHttpContext(); + Requests[945].RequestServices = CreateServices(); + Requests[945].Request.Method = "GET"; + Requests[945].Request.Path = "/subscriptions/19676ac9-f5d4-/providers/Microsoft.Network/applicationGatewayAvailableSslOptions/default/predefinedPolicies"; + Requests[946] = new DefaultHttpContext(); + Requests[946].RequestServices = CreateServices(); + Requests[946].Request.Method = "GET"; + Requests[946].Request.Path = "/subscriptions/45f1c4fa-5b7c-/providers/Microsoft.Network/applicationGatewayAvailableSslOptions/default/predefinedPolicies/f060079a-e82b-4dbd-a"; + Requests[947] = new DefaultHttpContext(); + Requests[947].RequestServices = CreateServices(); + Requests[947].Request.Method = "GET"; + Requests[947].Request.Path = "/subscriptions/70412fd1-adf7-/providers/Microsoft.Advisor/generateRecommendations/51f5a916-d0"; + Requests[948] = new DefaultHttpContext(); + Requests[948].RequestServices = CreateServices(); + Requests[948].Request.Method = "GET"; + Requests[948].Request.Path = "/subscriptions/cc008cb4-0da0-/providers/Microsoft.Authorization/locks/ee7ee867"; + Requests[949] = new DefaultHttpContext(); + Requests[949].RequestServices = CreateServices(); + Requests[949].Request.Method = "DELETE"; + Requests[949].Request.Path = "/subscriptions/485a00f8-58e8-/providers/Microsoft.Authorization/policydefinitions/a3596b6a-8e40-4a2b-a"; + Requests[950] = new DefaultHttpContext(); + Requests[950].RequestServices = CreateServices(); + Requests[950].Request.Method = "GET"; + Requests[950].Request.Path = "/subscriptions/fa9956d2-7479-/providers/Microsoft.Authorization/policySetDefinitions/c357e038-5cc2-4cc8-aac6"; + Requests[951] = new DefaultHttpContext(); + Requests[951].RequestServices = CreateServices(); + Requests[951].Request.Method = "GET"; + Requests[951].Request.Path = "/subscriptions/ab782db1-c8bb-/providers/Microsoft.Billing/billingPeriods/45174cec-3a23-4bf"; + Requests[952] = new DefaultHttpContext(); + Requests[952].RequestServices = CreateServices(); + Requests[952].Request.Method = "GET"; + Requests[952].Request.Path = "/subscriptions/c48f12ce-80f0-/providers/Microsoft.Billing/invoices/8048214d-e7"; + Requests[953] = new DefaultHttpContext(); + Requests[953].RequestServices = CreateServices(); + Requests[953].Request.Method = "DELETE"; + Requests[953].Request.Path = "/subscriptions/2e14982d-955d-/providers/Microsoft.Consumption/budgets/d5f23242-b"; + Requests[954] = new DefaultHttpContext(); + Requests[954].RequestServices = CreateServices(); + Requests[954].Request.Method = "GET"; + Requests[954].Request.Path = "/subscriptions/02b57a97-15ca-/providers/Microsoft.DomainRegistration/topLevelDomains/35135"; + Requests[955] = new DefaultHttpContext(); + Requests[955].RequestServices = CreateServices(); + Requests[955].Request.Method = "DELETE"; + Requests[955].Request.Path = "/subscriptions/8ac0d74f-5fce-/providers/microsoft.gallery.admin/galleryItems/d289f52c-7cba-4"; + Requests[956] = new DefaultHttpContext(); + Requests[956].RequestServices = CreateServices(); + Requests[956].Request.Method = "PATCH"; + Requests[956].Request.Path = "/subscriptions/91d2b7dc-843f-/providers/microsoft.insights/logprofiles/e832e917-466f-"; + Requests[957] = new DefaultHttpContext(); + Requests[957].RequestServices = CreateServices(); + Requests[957].Request.Method = "GET"; + Requests[957].Request.Path = "/subscriptions/da23414d-1c73-/providers/Microsoft.Media/mediaservices/eb00a947-ac"; + Requests[958] = new DefaultHttpContext(); + Requests[958].RequestServices = CreateServices(); + Requests[958].Request.Method = "PUT"; + Requests[958].Request.Path = "/subscriptions/445a0321-25f4-/providers/Microsoft.Security/autoProvisioningSettings/9847fb5d-82"; + Requests[959] = new DefaultHttpContext(); + Requests[959].RequestServices = CreateServices(); + Requests[959].Request.Method = "GET"; + Requests[959].Request.Path = "/subscriptions/56fd6eca-2ba0-/providers/Microsoft.Security/locations/409dc3f5-21"; + Requests[960] = new DefaultHttpContext(); + Requests[960].RequestServices = CreateServices(); + Requests[960].Request.Method = "PUT"; + Requests[960].Request.Path = "/subscriptions/cf3da7d1-7e7b-/providers/Microsoft.Security/pricings/10ed36d8-e2"; + Requests[961] = new DefaultHttpContext(); + Requests[961].RequestServices = CreateServices(); + Requests[961].Request.Method = "PATCH"; + Requests[961].Request.Path = "/subscriptions/1e5a1121-8757-/providers/Microsoft.Security/workspaceSettings/8a12ca1e-410c-41a4-9"; + Requests[962] = new DefaultHttpContext(); + Requests[962].RequestServices = CreateServices(); + Requests[962].Request.Method = "GET"; + Requests[962].Request.Path = "/subscriptions/7971808e-c096-/providers/Microsoft.Subscriptions.Admin/delegatedProviders/6e35b73e-be16-472"; + Requests[963] = new DefaultHttpContext(); + Requests[963].RequestServices = CreateServices(); + Requests[963].Request.Method = "DELETE"; + Requests[963].Request.Path = "/subscriptions/0eaad5af-688b-/providers/Microsoft.Subscriptions.Admin/locations/c286eec6"; + Requests[964] = new DefaultHttpContext(); + Requests[964].RequestServices = CreateServices(); + Requests[964].Request.Method = "DELETE"; + Requests[964].Request.Path = "/subscriptions/a41c02d3-50a8-/providers/Microsoft.Subscriptions.Admin/subscriptions/8c91893f-6cd"; + Requests[965] = new DefaultHttpContext(); + Requests[965].RequestServices = CreateServices(); + Requests[965].Request.Method = "GET"; + Requests[965].Request.Path = "/subscriptions/08750a41-93ba-/providers/Microsoft.Web/ishostingenvironmentnameavailable/693e6"; + Requests[966] = new DefaultHttpContext(); + Requests[966].RequestServices = CreateServices(); + Requests[966].Request.Method = "GET"; + Requests[966].Request.Path = "/subscriptions/950a44e7-158b-/providers/Microsoft.Addons/supportProviders/b4aa3b70-c4e/supportPlanTypes"; + Requests[967] = new DefaultHttpContext(); + Requests[967].RequestServices = CreateServices(); + Requests[967].Request.Method = "POST"; + Requests[967].Request.Path = "/subscriptions/4c7de496-e6e8-/providers/Microsoft.AnalysisServices/locations/3dbd5f65/checkNameAvailability"; + Requests[968] = new DefaultHttpContext(); + Requests[968].RequestServices = CreateServices(); + Requests[968].Request.Method = "POST"; + Requests[968].Request.Path = "/subscriptions/d43b7ef8-383c-/providers/Microsoft.Batch/locations/5acbb9d3-d26/checkNameAvailability"; + Requests[969] = new DefaultHttpContext(); + Requests[969].RequestServices = CreateServices(); + Requests[969].Request.Method = "GET"; + Requests[969].Request.Path = "/subscriptions/3138c33c-2bf4-/providers/Microsoft.Batch/locations/41d1ed2a-e92/quotas"; + Requests[970] = new DefaultHttpContext(); + Requests[970].RequestServices = CreateServices(); + Requests[970].Request.Method = "GET"; + Requests[970].Request.Path = "/subscriptions/393734e1-4372-/providers/Microsoft.BatchAI/locations/18c562e5/usages"; + Requests[971] = new DefaultHttpContext(); + Requests[971].RequestServices = CreateServices(); + Requests[971].Request.Method = "POST"; + Requests[971].Request.Path = "/subscriptions/37ab8912-78ba-/providers/Microsoft.CognitiveServices/locations/0516373c/checkSkuAvailability"; + Requests[972] = new DefaultHttpContext(); + Requests[972].RequestServices = CreateServices(); + Requests[972].Request.Method = "GET"; + Requests[972].Request.Path = "/subscriptions/b55fc591-3752-/providers/Microsoft.Compute.Admin/locations/4020fc48/quotas"; + Requests[973] = new DefaultHttpContext(); + Requests[973].RequestServices = CreateServices(); + Requests[973].Request.Method = "GET"; + Requests[973].Request.Path = "/subscriptions/c65ef556-1d76-/providers/Microsoft.Compute/locations/3450a11d/publishers"; + Requests[974] = new DefaultHttpContext(); + Requests[974].RequestServices = CreateServices(); + Requests[974].Request.Method = "GET"; + Requests[974].Request.Path = "/subscriptions/5e5ef054-dd0c-/providers/Microsoft.Compute/locations/869fd981/runCommands"; + Requests[975] = new DefaultHttpContext(); + Requests[975].RequestServices = CreateServices(); + Requests[975].Request.Method = "GET"; + Requests[975].Request.Path = "/subscriptions/a08f7db2-72a0-/providers/Microsoft.Compute/locations/cabb71c3/usages"; + Requests[976] = new DefaultHttpContext(); + Requests[976].RequestServices = CreateServices(); + Requests[976].Request.Method = "GET"; + Requests[976].Request.Path = "/subscriptions/d9a12bcd-0209-/providers/Microsoft.Compute/locations/8b3551ee/vmSizes"; + Requests[977] = new DefaultHttpContext(); + Requests[977].RequestServices = CreateServices(); + Requests[977].Request.Method = "GET"; + Requests[977].Request.Path = "/subscriptions/5393940e-ed89-/providers/Microsoft.ContainerInstance/locations/e0ac5ad1/usages"; + Requests[978] = new DefaultHttpContext(); + Requests[978].RequestServices = CreateServices(); + Requests[978].Request.Method = "GET"; + Requests[978].Request.Path = "/subscriptions/62d58fd9-d699-/providers/Microsoft.ContainerService/locations/796ab946/orchestrators"; + Requests[979] = new DefaultHttpContext(); + Requests[979].RequestServices = CreateServices(); + Requests[979].Request.Method = "POST"; + Requests[979].Request.Path = "/subscriptions/c618f18a-346f-/providers/Microsoft.DataBox/locations/f2a1041f/availableSkus"; + Requests[980] = new DefaultHttpContext(); + Requests[980].RequestServices = CreateServices(); + Requests[980].Request.Method = "POST"; + Requests[980].Request.Path = "/subscriptions/355f3a19-468f-/providers/Microsoft.DataBox/locations/16e75bbf/validateAddress"; + Requests[981] = new DefaultHttpContext(); + Requests[981].RequestServices = CreateServices(); + Requests[981].Request.Method = "POST"; + Requests[981].Request.Path = "/subscriptions/3ea82b72-9577-/providers/Microsoft.DataFactory/locations/61922f97-5/configureFactoryRepo"; + Requests[982] = new DefaultHttpContext(); + Requests[982].RequestServices = CreateServices(); + Requests[982].Request.Method = "GET"; + Requests[982].Request.Path = "/subscriptions/3a2cd8e8-4b7f-/providers/Microsoft.DataLakeAnalytics/locations/5fe2050f/capability"; + Requests[983] = new DefaultHttpContext(); + Requests[983].RequestServices = CreateServices(); + Requests[983].Request.Method = "POST"; + Requests[983].Request.Path = "/subscriptions/d62876fe-7d5f-/providers/Microsoft.DataLakeAnalytics/locations/9efbe55b/checkNameAvailability"; + Requests[984] = new DefaultHttpContext(); + Requests[984].RequestServices = CreateServices(); + Requests[984].Request.Method = "GET"; + Requests[984].Request.Path = "/subscriptions/86f0feaf-a53a-/providers/Microsoft.DataLakeStore/locations/27354a2f/capability"; + Requests[985] = new DefaultHttpContext(); + Requests[985].RequestServices = CreateServices(); + Requests[985].Request.Method = "POST"; + Requests[985].Request.Path = "/subscriptions/931a015b-6c61-/providers/Microsoft.DataLakeStore/locations/2deec4c4/checkNameAvailability"; + Requests[986] = new DefaultHttpContext(); + Requests[986].RequestServices = CreateServices(); + Requests[986].Request.Method = "POST"; + Requests[986].Request.Path = "/subscriptions/2791102c-7b17-/providers/Microsoft.DataMigration/locations/dd68352b/checkNameAvailability"; + Requests[987] = new DefaultHttpContext(); + Requests[987].RequestServices = CreateServices(); + Requests[987].Request.Method = "GET"; + Requests[987].Request.Path = "/subscriptions/eb439f55-1b3c-/providers/Microsoft.DataMigration/locations/9a10e96b/usages"; + Requests[988] = new DefaultHttpContext(); + Requests[988].RequestServices = CreateServices(); + Requests[988].Request.Method = "GET"; + Requests[988].Request.Path = "/subscriptions/4597e99d-b21a-/providers/Microsoft.DBforMySQL/locations/f5c78f5d-50b/performanceTiers"; + Requests[989] = new DefaultHttpContext(); + Requests[989].RequestServices = CreateServices(); + Requests[989].Request.Method = "GET"; + Requests[989].Request.Path = "/subscriptions/8845a777-318d-/providers/Microsoft.DBforPostgreSQL/locations/42b7b661-6e1/performanceTiers"; + Requests[990] = new DefaultHttpContext(); + Requests[990].RequestServices = CreateServices(); + Requests[990].Request.Method = "POST"; + Requests[990].Request.Path = "/subscriptions/d5afe895-6a7b-/providers/Microsoft.DomainRegistration/topLevelDomains/85ad8/listAgreements"; + Requests[991] = new DefaultHttpContext(); + Requests[991].RequestServices = CreateServices(); + Requests[991].Request.Method = "GET"; + Requests[991].Request.Path = "/subscriptions/daedc125-6dc2-/providers/Microsoft.EventGrid/locations/ac436753/eventSubscriptions"; + Requests[992] = new DefaultHttpContext(); + Requests[992].RequestServices = CreateServices(); + Requests[992].Request.Method = "GET"; + Requests[992].Request.Path = "/subscriptions/744f5ab1-f57b-/providers/Microsoft.EventGrid/topicTypes/a72a71ca-88e4/eventSubscriptions"; + Requests[993] = new DefaultHttpContext(); + Requests[993].RequestServices = CreateServices(); + Requests[993].Request.Method = "GET"; + Requests[993].Request.Path = "/subscriptions/a7dfc7f3-334a-/providers/Microsoft.EventHub/sku/58612/regions"; + Requests[994] = new DefaultHttpContext(); + Requests[994].RequestServices = CreateServices(); + Requests[994].Request.Method = "GET"; + Requests[994].Request.Path = "/subscriptions/25d7d9f7-b306-/providers/Microsoft.Features/providers/90f74f00-ee3e-4929-bf82-8/features"; + Requests[995] = new DefaultHttpContext(); + Requests[995].RequestServices = CreateServices(); + Requests[995].Request.Method = "GET"; + Requests[995].Request.Path = "/subscriptions/d198b236-1cf3-/providers/Microsoft.HDInsight/locations/5383c818/capabilities"; + Requests[996] = new DefaultHttpContext(); + Requests[996].RequestServices = CreateServices(); + Requests[996].Request.Method = "GET"; + Requests[996].Request.Path = "/subscriptions/800b7b4f-f2e4-/providers/Microsoft.KeyVault.Admin/locations/06de6308/quotas"; + Requests[997] = new DefaultHttpContext(); + Requests[997].RequestServices = CreateServices(); + Requests[997].Request.Method = "POST"; + Requests[997].Request.Path = "/subscriptions/98227f0f-4cfa-/providers/Microsoft.Media/locations/1bdd8047-50d/checkNameAvailability"; + Requests[998] = new DefaultHttpContext(); + Requests[998].RequestServices = CreateServices(); + Requests[998].Request.Method = "GET"; + Requests[998].Request.Path = "/subscriptions/b60f5664-2623-/providers/Microsoft.Network.Admin/locations/67a07ac8/quotas"; + Requests[999] = new DefaultHttpContext(); + Requests[999].RequestServices = CreateServices(); + Requests[999].Request.Method = "GET"; + Requests[999].Request.Path = "/subscriptions/91a13751-253d-/providers/Microsoft.Network/locations/2c83ac13/CheckDnsNameAvailability"; + Requests[1000] = new DefaultHttpContext(); + Requests[1000].RequestServices = CreateServices(); + Requests[1000].Request.Method = "GET"; + Requests[1000].Request.Path = "/subscriptions/0403c39a-9b12-/providers/Microsoft.Network/locations/6a12060d/usages"; + Requests[1001] = new DefaultHttpContext(); + Requests[1001].RequestServices = CreateServices(); + Requests[1001].Request.Method = "GET"; + Requests[1001].Request.Path = "/subscriptions/d500d8a6-79cb-/providers/Microsoft.Network/locations/908c9475/virtualNetworkAvailableEndpointServices"; + Requests[1002] = new DefaultHttpContext(); + Requests[1002].RequestServices = CreateServices(); + Requests[1002].Request.Method = "POST"; + Requests[1002].Request.Path = "/subscriptions/49aaf657-a9f4-/providers/Microsoft.PolicyInsights/policyEvents/89b1d585-e840-44f3-9/queryResults"; + Requests[1003] = new DefaultHttpContext(); + Requests[1003].RequestServices = CreateServices(); + Requests[1003].Request.Method = "POST"; + Requests[1003].Request.Path = "/subscriptions/972e93e9-e534-/providers/Microsoft.PolicyInsights/policyStates/5506645e-6300-469e-9/queryResults"; + Requests[1004] = new DefaultHttpContext(); + Requests[1004].RequestServices = CreateServices(); + Requests[1004].Request.Method = "POST"; + Requests[1004].Request.Path = "/subscriptions/1061ea3b-ee14-/providers/Microsoft.PolicyInsights/policyStates/88f4235e-acb4-4b65-b91e-add/summarize"; + Requests[1005] = new DefaultHttpContext(); + Requests[1005].RequestServices = CreateServices(); + Requests[1005].Request.Method = "POST"; + Requests[1005].Request.Path = "/subscriptions/2a210692-bf68-/providers/Microsoft.PowerBI/locations/3af68df0/checkNameAvailability"; + Requests[1006] = new DefaultHttpContext(); + Requests[1006].RequestServices = CreateServices(); + Requests[1006].Request.Method = "POST"; + Requests[1006].Request.Path = "/Subscriptions/88ac251c-9d6d-/providers/Microsoft.RecoveryServices/locations/92150cf0-cd/backupPreValidateProtection"; + Requests[1007] = new DefaultHttpContext(); + Requests[1007].RequestServices = CreateServices(); + Requests[1007].Request.Method = "POST"; + Requests[1007].Request.Path = "/Subscriptions/48c74ac3-0637-/providers/Microsoft.RecoveryServices/locations/03fc281a-f3/backupStatus"; + Requests[1008] = new DefaultHttpContext(); + Requests[1008].RequestServices = CreateServices(); + Requests[1008].Request.Method = "POST"; + Requests[1008].Request.Path = "/Subscriptions/78b27b55-d3e6-/providers/Microsoft.RecoveryServices/locations/2b35e179-c0/backupValidateFeatures"; + Requests[1009] = new DefaultHttpContext(); + Requests[1009].RequestServices = CreateServices(); + Requests[1009].Request.Method = "GET"; + Requests[1009].Request.Path = "/subscriptions/23002a8a-55e6-/providers/Microsoft.Security/locations/a2a03d91-a4/alerts"; + Requests[1010] = new DefaultHttpContext(); + Requests[1010].RequestServices = CreateServices(); + Requests[1010].Request.Method = "GET"; + Requests[1010].Request.Path = "/subscriptions/5c76c76a-db7d-/providers/Microsoft.Security/locations/dd93e508-46/discoveredSecuritySolutions"; + Requests[1011] = new DefaultHttpContext(); + Requests[1011].RequestServices = CreateServices(); + Requests[1011].Request.Method = "GET"; + Requests[1011].Request.Path = "/subscriptions/da4b7c0f-e08d-/providers/Microsoft.Security/locations/c02ae921-e3/ExternalSecuritySolutions"; + Requests[1012] = new DefaultHttpContext(); + Requests[1012].RequestServices = CreateServices(); + Requests[1012].Request.Method = "GET"; + Requests[1012].Request.Path = "/subscriptions/b3888a03-89c0-/providers/Microsoft.Security/locations/2158dd85-16/jitNetworkAccessPolicies"; + Requests[1013] = new DefaultHttpContext(); + Requests[1013].RequestServices = CreateServices(); + Requests[1013].Request.Method = "GET"; + Requests[1013].Request.Path = "/subscriptions/6c416a01-88a5-/providers/Microsoft.Security/locations/cde57dcb-3d/tasks"; + Requests[1014] = new DefaultHttpContext(); + Requests[1014].RequestServices = CreateServices(); + Requests[1014].Request.Method = "GET"; + Requests[1014].Request.Path = "/subscriptions/a6ad91cb-6683-/providers/Microsoft.ServiceBus/sku/540be/regions"; + Requests[1015] = new DefaultHttpContext(); + Requests[1015].RequestServices = CreateServices(); + Requests[1015].Request.Method = "GET"; + Requests[1015].Request.Path = "/subscriptions/21753633-2bf3-/providers/Microsoft.ServiceFabric/locations/a1af0597/clusterVersions"; + Requests[1016] = new DefaultHttpContext(); + Requests[1016].RequestServices = CreateServices(); + Requests[1016].Request.Method = "POST"; + Requests[1016].Request.Path = "/subscriptions/25cda38f-f8da-/providers/Microsoft.SignalRService/locations/0b8e60a7/checkNameAvailability"; + Requests[1017] = new DefaultHttpContext(); + Requests[1017].RequestServices = CreateServices(); + Requests[1017].Request.Method = "GET"; + Requests[1017].Request.Path = "/subscriptions/ce1b9666-ead7-/providers/Microsoft.Sql/locations/97e5932b-499/capabilities"; + Requests[1018] = new DefaultHttpContext(); + Requests[1018].RequestServices = CreateServices(); + Requests[1018].Request.Method = "GET"; + Requests[1018].Request.Path = "/subscriptions/6447e7c1-cf20-/providers/Microsoft.Sql/locations/2f23de22-cb8/longTermRetentionBackups"; + Requests[1019] = new DefaultHttpContext(); + Requests[1019].RequestServices = CreateServices(); + Requests[1019].Request.Method = "GET"; + Requests[1019].Request.Path = "/subscriptions/eb6b12b2-797f-/providers/Microsoft.Sql/locations/59eb1cc8-75c/syncDatabaseIds"; + Requests[1020] = new DefaultHttpContext(); + Requests[1020].RequestServices = CreateServices(); + Requests[1020].Request.Method = "GET"; + Requests[1020].Request.Path = "/subscriptions/e1f23ed4-32bf-/providers/Microsoft.Sql/locations/820312c4-869/usages"; + Requests[1021] = new DefaultHttpContext(); + Requests[1021].RequestServices = CreateServices(); + Requests[1021].Request.Method = "GET"; + Requests[1021].Request.Path = "/subscriptions/1ac6cc08-c1dd-/providers/Microsoft.Storage.Admin/locations/1ad7213c/quotas"; + Requests[1022] = new DefaultHttpContext(); + Requests[1022].RequestServices = CreateServices(); + Requests[1022].Request.Method = "GET"; + Requests[1022].Request.Path = "/subscriptions/995c57b3-d868-/providers/Microsoft.Storage/locations/02a9292a/usages"; + Requests[1023] = new DefaultHttpContext(); + Requests[1023].RequestServices = CreateServices(); + Requests[1023].Request.Method = "GET"; + Requests[1023].Request.Path = "/subscriptions/71445ad4-8cdb-/providers/Microsoft.StreamAnalytics/locations/ba16c227/quotas"; + Requests[1024] = new DefaultHttpContext(); + Requests[1024].RequestServices = CreateServices(); + Requests[1024].Request.Method = "GET"; + Requests[1024].Request.Path = "/subscriptions/87767591-152d-/providers/Microsoft.Subscriptions.Admin/delegatedProviders/9b8db00b-28ee-411c-83c9-0e9ccdc/offers"; + Requests[1025] = new DefaultHttpContext(); + Requests[1025].RequestServices = CreateServices(); + Requests[1025].Request.Method = "GET"; + Requests[1025].Request.Path = "/subscriptions/61e2883d-7d4e-/providers/Microsoft.Subscriptions.Admin/locations/b7a9635b/quotas"; + Requests[1026] = new DefaultHttpContext(); + Requests[1026].RequestServices = CreateServices(); + Requests[1026].Request.Method = "GET"; + Requests[1026].Request.Path = "/subscriptions/9cbc8dfc-3066-/providers/Microsoft.Subscriptions.Admin/subscriptions/625f4be2-e9d3-4ed7-8/acquiredPlans"; + Requests[1027] = new DefaultHttpContext(); + Requests[1027].RequestServices = CreateServices(); + Requests[1027].Request.Method = "GET"; + Requests[1027].Request.Path = "/subscriptions/c98733ca-7c6a-/providers/Microsoft.Web/locations/c3dbd830/connectionGatewayInstallations"; + Requests[1028] = new DefaultHttpContext(); + Requests[1028].RequestServices = CreateServices(); + Requests[1028].Request.Method = "POST"; + Requests[1028].Request.Path = "/subscriptions/1bd90659-8300-/providers/Microsoft.Web/locations/07d79cc3/extractApiDefinitionFromWsdl"; + Requests[1029] = new DefaultHttpContext(); + Requests[1029].RequestServices = CreateServices(); + Requests[1029].Request.Method = "POST"; + Requests[1029].Request.Path = "/subscriptions/ac52a266-acc3-/providers/Microsoft.Web/locations/7ec1af5c/listWsdlInterfaces"; + Requests[1030] = new DefaultHttpContext(); + Requests[1030].RequestServices = CreateServices(); + Requests[1030].Request.Method = "GET"; + Requests[1030].Request.Path = "/subscriptions/25c160b3-82ee-/providers/Microsoft.Web/locations/a9de8f44/managedApis"; + Requests[1031] = new DefaultHttpContext(); + Requests[1031].RequestServices = CreateServices(); + Requests[1031].Request.Method = "POST"; + Requests[1031].Request.Path = "/subscriptions/e7412d09-083f-/providers/Microsoft.Web/recommendations/1888b/disable"; + Requests[1032] = new DefaultHttpContext(); + Requests[1032].RequestServices = CreateServices(); + Requests[1032].Request.Method = "GET"; + Requests[1032].Request.Path = "/subscriptions/2807769a-ae39-/providers/Microsoft.Compute.Admin/locations/6364f2bb/artifactTypes/platformImage"; + Requests[1033] = new DefaultHttpContext(); + Requests[1033].RequestServices = CreateServices(); + Requests[1033].Request.Method = "GET"; + Requests[1033].Request.Path = "/subscriptions/a75e9a08-9ffe-/providers/Microsoft.Compute.Admin/locations/3e7e7077/artifactTypes/VMExtension"; + Requests[1034] = new DefaultHttpContext(); + Requests[1034].RequestServices = CreateServices(); + Requests[1034].Request.Method = "GET"; + Requests[1034].Request.Path = "/subscriptions/b3212722-ff6e-/providers/Microsoft.Billing/billingPeriods/40442af4-e46f-4d8/providers/Microsoft.Consumption/marketplaces"; + Requests[1035] = new DefaultHttpContext(); + Requests[1035].RequestServices = CreateServices(); + Requests[1035].Request.Method = "GET"; + Requests[1035].Request.Path = "/subscriptions/9230000a-0e91-/providers/Microsoft.Billing/billingPeriods/a9957a57-979f-4c2/providers/Microsoft.Consumption/usageDetails"; + Requests[1036] = new DefaultHttpContext(); + Requests[1036].RequestServices = CreateServices(); + Requests[1036].Request.Method = "POST"; + Requests[1036].Request.Path = "/subscriptions/24a46526-7870-/providers/Microsoft.Compute/locations/87cd55e7/logAnalytics/apiAccess/getRequestRateByInterval"; + Requests[1037] = new DefaultHttpContext(); + Requests[1037].RequestServices = CreateServices(); + Requests[1037].Request.Method = "POST"; + Requests[1037].Request.Path = "/subscriptions/a8ade649-6030-/providers/Microsoft.Compute/locations/b851f467/logAnalytics/apiAccess/getThrottledRequests"; + Requests[1038] = new DefaultHttpContext(); + Requests[1038].RequestServices = CreateServices(); + Requests[1038].Request.Method = "GET"; + Requests[1038].Request.Path = "/subscriptions/7de84de2-fa6b-/providers/Microsoft.Billing/billingPeriods/12edae5f-9032-4bf/providers/Microsoft.Consumption/pricesheets/default"; + Requests[1039] = new DefaultHttpContext(); + Requests[1039].RequestServices = CreateServices(); + Requests[1039].Request.Method = "DELETE"; + Requests[1039].Request.Path = "/subscriptions/a6e9af26-ff71-/providers/Microsoft.Compute.Admin/locations/bc0655d9/artifactTypes/VMExtension/publishers/54bd0d7a-/types/db65f/versions/fd8509d"; + Requests[1040] = new DefaultHttpContext(); + Requests[1040].RequestServices = CreateServices(); + Requests[1040].Request.Method = "DELETE"; + Requests[1040].Request.Path = "/subscriptions/27a14cb3-5c23-/providers/Microsoft.Compute.Admin/locations/70fb6d72/artifactTypes/platformImage/publishers/00a74968-/offers/dcef6/skus/3b76f/versions/69f4c61"; + Requests[1041] = new DefaultHttpContext(); + Requests[1041].RequestServices = CreateServices(); + Requests[1041].Request.Method = "DELETE"; + Requests[1041].Request.Path = "/subscriptions/6a0b0cb4-8a26-/providers/Microsoft.Addons/supportProviders/c6f0a589-4c2/supportPlanTypes/6977c131-ae1"; + Requests[1042] = new DefaultHttpContext(); + Requests[1042].RequestServices = CreateServices(); + Requests[1042].Request.Method = "GET"; + Requests[1042].Request.Path = "/subscriptions/78effe94-62fd-/providers/Microsoft.AnalysisServices/locations/63fbe07e/operationresults/7dfbc4a2-97"; + Requests[1043] = new DefaultHttpContext(); + Requests[1043].RequestServices = CreateServices(); + Requests[1043].Request.Method = "GET"; + Requests[1043].Request.Path = "/subscriptions/aafc1f57-2719-/providers/Microsoft.AnalysisServices/locations/a6cd7722/operationstatuses/2b630aa5-91"; + Requests[1044] = new DefaultHttpContext(); + Requests[1044].RequestServices = CreateServices(); + Requests[1044].Request.Method = "DELETE"; + Requests[1044].Request.Path = "/subscriptions/3ffb7b60-2d72-/providers/Microsoft.Compute.Admin/locations/23cf164d/quotas/cbd4fb6b-"; + Requests[1045] = new DefaultHttpContext(); + Requests[1045].RequestServices = CreateServices(); + Requests[1045].Request.Method = "GET"; + Requests[1045].Request.Path = "/subscriptions/9d367136-65dd-/providers/Microsoft.Compute/locations/2bb1c0d6/runCommands/317f87cc-"; + Requests[1046] = new DefaultHttpContext(); + Requests[1046].RequestServices = CreateServices(); + Requests[1046].Request.Method = "GET"; + Requests[1046].Request.Path = "/subscriptions/1ad07071-90c0-/providers/Microsoft.DevTestLab/locations/e075f8ba-198/operations/7a9c0"; + Requests[1047] = new DefaultHttpContext(); + Requests[1047].RequestServices = CreateServices(); + Requests[1047].Request.Method = "GET"; + Requests[1047].Request.Path = "/subscriptions/975148b8-1adf-/providers/Microsoft.Features/providers/f9a1e3b0-9d49-48ae-afc4-e/features/6a4c1461-ef"; + Requests[1048] = new DefaultHttpContext(); + Requests[1048].RequestServices = CreateServices(); + Requests[1048].Request.Method = "GET"; + Requests[1048].Request.Path = "/subscriptions/0ab90b29-6fa6-/providers/Microsoft.KeyVault/locations/f2b7f091/deletedVaults/4a64a310-"; + Requests[1049] = new DefaultHttpContext(); + Requests[1049].RequestServices = CreateServices(); + Requests[1049].Request.Method = "DELETE"; + Requests[1049].Request.Path = "/subscriptions/1b084c4d-56a3-/providers/Microsoft.Network.Admin/locations/f1f82417/quotas/72e5a7ac-1bf"; + Requests[1050] = new DefaultHttpContext(); + Requests[1050].RequestServices = CreateServices(); + Requests[1050].Request.Method = "GET"; + Requests[1050].Request.Path = "/subscriptions/c6e907f0-146e-/providers/Microsoft.Security/locations/b9ce869b-d5/alerts/a3311cbc-"; + Requests[1051] = new DefaultHttpContext(); + Requests[1051].RequestServices = CreateServices(); + Requests[1051].Request.Method = "GET"; + Requests[1051].Request.Path = "/subscriptions/cfef26e8-0123-/providers/Microsoft.Security/locations/0fd19151-36/tasks/6f73b565"; + Requests[1052] = new DefaultHttpContext(); + Requests[1052].RequestServices = CreateServices(); + Requests[1052].Request.Method = "GET"; + Requests[1052].Request.Path = "/subscriptions/4ffeb5eb-00b7-/providers/Microsoft.ServiceFabric/locations/51caf0d2/clusterVersions/5ca43149-5d74-"; + Requests[1053] = new DefaultHttpContext(); + Requests[1053].RequestServices = CreateServices(); + Requests[1053].Request.Method = "GET"; + Requests[1053].Request.Path = "/subscriptions/53b48aad-6db7-/providers/Microsoft.Sql/locations/e7bd0111-30c/usages/edda67ee-"; + Requests[1054] = new DefaultHttpContext(); + Requests[1054].RequestServices = CreateServices(); + Requests[1054].Request.Method = "GET"; + Requests[1054].Request.Path = "/subscriptions/b9150f20-bb7e-/providers/Microsoft.Storage.Admin/locations/849447a8/quotas/be4446e6-"; + Requests[1055] = new DefaultHttpContext(); + Requests[1055].RequestServices = CreateServices(); + Requests[1055].Request.Method = "GET"; + Requests[1055].Request.Path = "/subscriptions/fc863c9e-23b7-/providers/Microsoft.Subscriptions.Admin/delegatedProviders/d9fc8e5a-12c1-49e4-a06a-1c38bc7/offers/42f62"; + Requests[1056] = new DefaultHttpContext(); + Requests[1056].RequestServices = CreateServices(); + Requests[1056].Request.Method = "GET"; + Requests[1056].Request.Path = "/subscriptions/e555ebe3-4d72-/providers/Microsoft.Subscriptions.Admin/locations/0a892509/quotas/9e204"; + Requests[1057] = new DefaultHttpContext(); + Requests[1057].RequestServices = CreateServices(); + Requests[1057].Request.Method = "PUT"; + Requests[1057].Request.Path = "/subscriptions/56a8d90a-95a7-/providers/Microsoft.Subscriptions.Admin/subscriptions/4117ae22-0f46-4172-b/acquiredPlans/3ee433d9-1127-43f"; + Requests[1058] = new DefaultHttpContext(); + Requests[1058].RequestServices = CreateServices(); + Requests[1058].Request.Method = "GET"; + Requests[1058].Request.Path = "/subscriptions/e91bab00-dd84-/providers/Microsoft.Web/locations/6de5266f/connectionGatewayInstallations/79296ec1-"; + Requests[1059] = new DefaultHttpContext(); + Requests[1059].RequestServices = CreateServices(); + Requests[1059].Request.Method = "GET"; + Requests[1059].Request.Path = "/subscriptions/43883240-8952-/providers/Microsoft.Web/locations/7601db91/managedApis/4a37ba7"; + Requests[1060] = new DefaultHttpContext(); + Requests[1060].RequestServices = CreateServices(); + Requests[1060].Request.Method = "GET"; + Requests[1060].Request.Path = "/subscriptions/58efb8dd-38ba-/providers/Microsoft.EventGrid/locations/1a17b12d/topicTypes/1cac2cdb-c79c/eventSubscriptions"; + Requests[1061] = new DefaultHttpContext(); + Requests[1061].RequestServices = CreateServices(); + Requests[1061].Request.Method = "POST"; + Requests[1061].Request.Path = "/subscriptions/ade23068-fd5a-/providers/Microsoft.Features/providers/a93d8cca-7826-4249-a4e7-a/features/27db9d98-da/register"; + Requests[1062] = new DefaultHttpContext(); + Requests[1062].RequestServices = CreateServices(); + Requests[1062].Request.Method = "POST"; + Requests[1062].Request.Path = "/subscriptions/2fa7431b-bfcf-/providers/Microsoft.KeyVault/locations/4dcbfdf5/deletedVaults/2a1e4dc1-/purge"; + Requests[1063] = new DefaultHttpContext(); + Requests[1063].RequestServices = CreateServices(); + Requests[1063].Request.Method = "GET"; + Requests[1063].Request.Path = "/subscriptions/d42c7888-51b9-/providers/Microsoft.ServiceFabric/locations/f63e924c/environments/aaf1e828-36/clusterVersions"; + Requests[1064] = new DefaultHttpContext(); + Requests[1064].RequestServices = CreateServices(); + Requests[1064].Request.Method = "GET"; + Requests[1064].Request.Path = "/subscriptions/283b5e2f-1762-/providers/Microsoft.Sql/locations/1704115a-9f3/longTermRetentionServers/55a45d01-ce71-41ba-b245-fde/longTermRetentionBackups"; + Requests[1065] = new DefaultHttpContext(); + Requests[1065].RequestServices = CreateServices(); + Requests[1065].Request.Method = "POST"; + Requests[1065].Request.Path = "/subscriptions/3a994a68-edbd-/providers/Microsoft.Sql/locations/aa24e23b-b9a/managedDatabaseRestoreAzureAsyncOperation/66d1099c-95/completeRestore"; + Requests[1066] = new DefaultHttpContext(); + Requests[1066].RequestServices = CreateServices(); + Requests[1066].Request.Method = "GET"; + Requests[1066].Request.Path = "/subscriptions/2ee937e1-9407-/providers/Microsoft.Compute/locations/3f4e76d8/publishers/bcaa5dbd-6e37/artifacttypes/vmextension/types"; + Requests[1067] = new DefaultHttpContext(); + Requests[1067].RequestServices = CreateServices(); + Requests[1067].Request.Method = "GET"; + Requests[1067].Request.Path = "/subscriptions/d6c557a8-1a23-/providers/Microsoft.Compute/locations/5b6aebea/publishers/a3342438-a516/artifacttypes/vmimage/offers"; + Requests[1068] = new DefaultHttpContext(); + Requests[1068].RequestServices = CreateServices(); + Requests[1068].Request.Method = "GET"; + Requests[1068].Request.Path = "/subscriptions/2828de71-2f8a-/providers/Microsoft.Compute/locations/0e6b8685/publishers/b96d8694-85fd/artifacttypes/vmextension/types/16e17/versions"; + Requests[1069] = new DefaultHttpContext(); + Requests[1069].RequestServices = CreateServices(); + Requests[1069].Request.Method = "GET"; + Requests[1069].Request.Path = "/subscriptions/02dfde39-1fcb-/providers/Microsoft.Compute/locations/bafe0263/publishers/b9a797d7-e816/artifacttypes/vmimage/offers/9f68d/skus"; + Requests[1070] = new DefaultHttpContext(); + Requests[1070].RequestServices = CreateServices(); + Requests[1070].Request.Method = "GET"; + Requests[1070].Request.Path = "/subscriptions/9749bc18-8199-/providers/Microsoft.Compute/locations/fff656f0/publishers/2489c6de-35e3/artifacttypes/vmextension/types/91db8/versions/333462e"; + Requests[1071] = new DefaultHttpContext(); + Requests[1071].RequestServices = CreateServices(); + Requests[1071].Request.Method = "GET"; + Requests[1071].Request.Path = "/subscriptions/2fa4ea40-50fd-/providers/Microsoft.Compute/locations/06a03a4f/publishers/beeffe03-c3b7/artifacttypes/vmimage/offers/91835/skus/58133/versions"; + Requests[1072] = new DefaultHttpContext(); + Requests[1072].RequestServices = CreateServices(); + Requests[1072].Request.Method = "GET"; + Requests[1072].Request.Path = "/subscriptions/81d2fc9e-983b-/providers/Microsoft.Compute/locations/ddb6f9c1/publishers/52bb3c15-77ff/artifacttypes/vmimage/offers/390c1/skus/8cfa8/versions/469f15f"; + Requests[1073] = new DefaultHttpContext(); + Requests[1073].RequestServices = CreateServices(); + Requests[1073].Request.Method = "GET"; + Requests[1073].Request.Path = "/subscriptions/73c10ad4-e402-/providers/Microsoft.ServiceFabric/locations/668b84c8/environments/bd5ee44f-b3/clusterVersions/a90a1054-b9d3-"; + Requests[1074] = new DefaultHttpContext(); + Requests[1074].RequestServices = CreateServices(); + Requests[1074].Request.Method = "GET"; + Requests[1074].Request.Path = "/subscriptions/175008f6-af98-/providers/Microsoft.Sql/locations/d02683b1-03c/longTermRetentionServers/6bc680ad-db2d-430f-9553-256/longTermRetentionDatabases/9500527b-9938-4a1a-b9e2-3afdb/longTermRetentionBackups"; + Requests[1075] = new DefaultHttpContext(); + Requests[1075].RequestServices = CreateServices(); + Requests[1075].Request.Method = "DELETE"; + Requests[1075].Request.Path = "/subscriptions/aa9a5523-a048-/providers/Microsoft.Sql/locations/138c5775-d08/longTermRetentionServers/0a9576d2-2bad-49b3-81ed-76e/longTermRetentionDatabases/293eea6c-8289-43fa-aa28-3f3af/longTermRetentionBackups/4113be41-1"; + Requests[1076] = new DefaultHttpContext(); + Requests[1076].RequestServices = CreateServices(); + Requests[1076].Request.Method = "PUT"; + Requests[1076].Request.Path = "/subscriptions/d00b2a62-d7d6-/providers/Microsoft.MarketplaceOrdering/offerTypes/c355fada-/publishers/19725d9c-76/offers/326080b/plans/7c3031/agreements/current"; + Requests[1077] = new DefaultHttpContext(); + Requests[1077].RequestServices = CreateServices(); + Requests[1077].Request.Method = "POST"; + Requests[1077].Request.Path = "/subscriptions/50d17f8b-20fe-/providers/Microsoft.Security/locations/48cdaeb5-23/alerts/119b3564-/db4b0516-16c8-4e75-bb"; + Requests[1078] = new DefaultHttpContext(); + Requests[1078].RequestServices = CreateServices(); + Requests[1078].Request.Method = "POST"; + Requests[1078].Request.Path = "/subscriptions/fcdf126b-c1c9-/providers/Microsoft.Security/locations/56c7dc51-47/tasks/dffef75b/fbeb59dd-ae1a-41de-b"; + Requests[1079] = new DefaultHttpContext(); + Requests[1079].RequestServices = CreateServices(); + Requests[1079].Request.Method = "GET"; + Requests[1079].Request.Path = "/Applications/0235e670-82a7/$/GetServices/dcbcfd94-"; + Requests[1080] = new DefaultHttpContext(); + Requests[1080].RequestServices = CreateServices(); + Requests[1080].Request.Method = "GET"; + Requests[1080].Request.Path = "/ApplicationTypes/fb4d158f-301a-44d0-/$/GetServiceTypes/6ef9eec5-db09-4"; + Requests[1081] = new DefaultHttpContext(); + Requests[1081].RequestServices = CreateServices(); + Requests[1081].Request.Method = "GET"; + Requests[1081].Request.Path = "/Nodes/f8b5b7ea/$/GetApplications/2e978687-7952"; + Requests[1082] = new DefaultHttpContext(); + Requests[1082].RequestServices = CreateServices(); + Requests[1082].Request.Method = "GET"; + Requests[1082].Request.Path = "/Partitions/7d5cafc1-30/$/GetReplicas/ef1fa42b-"; + Requests[1083] = new DefaultHttpContext(); + Requests[1083].RequestServices = CreateServices(); + Requests[1083].Request.Method = "GET"; + Requests[1083].Request.Path = "/Services/13128331-ca/$/GetPartitions/12d83953-80"; + Requests[1084] = new DefaultHttpContext(); + Requests[1084].RequestServices = CreateServices(); + Requests[1084].Request.Method = "POST"; + Requests[1084].Request.Path = "/Applications/ad9de2f2-eaa1-4/$/GetServiceGroups/9cc66da6-3f/$/Delete"; + Requests[1085] = new DefaultHttpContext(); + Requests[1085].RequestServices = CreateServices(); + Requests[1085].Request.Method = "GET"; + Requests[1085].Request.Path = "/Applications/4e4e27be-d78c-4/$/GetServices/398cc8bb-1c/$/GetServiceGroupDescription"; + Requests[1086] = new DefaultHttpContext(); + Requests[1086].RequestServices = CreateServices(); + Requests[1086].Request.Method = "GET"; + Requests[1086].Request.Path = "/Applications/5d12202d-b8e4-4/$/GetServices/bdbfeec9-06/$/GetServiceGroupMembers"; + Requests[1087] = new DefaultHttpContext(); + Requests[1087].RequestServices = CreateServices(); + Requests[1087].Request.Method = "POST"; + Requests[1087].Request.Path = "/Applications/fee72229-a395-4/$/GetServices/bb89fe35-20/$/UpdateServiceGroup"; + Requests[1088] = new DefaultHttpContext(); + Requests[1088].RequestServices = CreateServices(); + Requests[1088].Request.Method = "GET"; + Requests[1088].Request.Path = "/Nodes/5c3bc85b/$/GetApplications/a584dc9e-67d7/$/GetCodePackages"; + Requests[1089] = new DefaultHttpContext(); + Requests[1089].RequestServices = CreateServices(); + Requests[1089].Request.Method = "POST"; + Requests[1089].Request.Path = "/Nodes/58d3efad/$/GetApplications/a799201d-6ab9/$/GetHealth"; + Requests[1090] = new DefaultHttpContext(); + Requests[1090].RequestServices = CreateServices(); + Requests[1090].Request.Method = "GET"; + Requests[1090].Request.Path = "/Nodes/d6e61260/$/GetApplications/04f81f70-0cdd/$/GetReplicas"; + Requests[1091] = new DefaultHttpContext(); + Requests[1091].RequestServices = CreateServices(); + Requests[1091].Request.Method = "GET"; + Requests[1091].Request.Path = "/Nodes/64bd7237/$/GetApplications/31f3a9c3-6b30/$/GetServicePackages"; + Requests[1092] = new DefaultHttpContext(); + Requests[1092].RequestServices = CreateServices(); + Requests[1092].Request.Method = "GET"; + Requests[1092].Request.Path = "/Nodes/19277341/$/GetApplications/c639b559-12f4/$/GetServiceTypes"; + Requests[1093] = new DefaultHttpContext(); + Requests[1093].RequestServices = CreateServices(); + Requests[1093].Request.Method = "POST"; + Requests[1093].Request.Path = "/Nodes/0daace32/$/GetApplications/938ec2f8-77bf/$/ReportHealth"; + Requests[1094] = new DefaultHttpContext(); + Requests[1094].RequestServices = CreateServices(); + Requests[1094].Request.Method = "GET"; + Requests[1094].Request.Path = "/Nodes/308fed20/$/GetPartitions/5f3f6f2c-5c/$/GetReplicas"; + Requests[1095] = new DefaultHttpContext(); + Requests[1095].RequestServices = CreateServices(); + Requests[1095].Request.Method = "POST"; + Requests[1095].Request.Path = "/Partitions/823e91ce-42/$/GetReplicas/ffa759b2-/$/GetHealth"; + Requests[1096] = new DefaultHttpContext(); + Requests[1096].RequestServices = CreateServices(); + Requests[1096].Request.Method = "GET"; + Requests[1096].Request.Path = "/Partitions/e0531ecb-44/$/GetReplicas/f31d8bf5-/$/GetLoadInformation"; + Requests[1097] = new DefaultHttpContext(); + Requests[1097].RequestServices = CreateServices(); + Requests[1097].Request.Method = "POST"; + Requests[1097].Request.Path = "/Partitions/b2799fbf-51/$/GetReplicas/e768f5ea-/$/ReportHealth"; + Requests[1098] = new DefaultHttpContext(); + Requests[1098].RequestServices = CreateServices(); + Requests[1098].Request.Method = "POST"; + Requests[1098].Request.Path = "/Nodes/c609ec46/$/GetApplications/ebf5d2c8-7034/$/GetCodePackages/$/ContainerApi"; + Requests[1099] = new DefaultHttpContext(); + Requests[1099].RequestServices = CreateServices(); + Requests[1099].Request.Method = "GET"; + Requests[1099].Request.Path = "/Nodes/536d6daf/$/GetApplications/e3d08ef1-34f0/$/GetCodePackages/$/ContainerLogs"; + Requests[1100] = new DefaultHttpContext(); + Requests[1100].RequestServices = CreateServices(); + Requests[1100].Request.Method = "POST"; + Requests[1100].Request.Path = "/Nodes/2ce55aa4/$/GetApplications/011bca95-9ac5/$/GetCodePackages/$/Restart"; + Requests[1101] = new DefaultHttpContext(); + Requests[1101].RequestServices = CreateServices(); + Requests[1101].Request.Method = "GET"; + Requests[1101].Request.Path = "/Nodes/b39a2fdf/$/GetApplications/0a54f4e2-d24c/$/GetServicePackages/0a7791c6-7c11-4efe"; + Requests[1102] = new DefaultHttpContext(); + Requests[1102].RequestServices = CreateServices(); + Requests[1102].Request.Method = "GET"; + Requests[1102].Request.Path = "/Nodes/2197edd5/$/GetApplications/474cafcb-a3e7/$/GetServiceTypes/89599760-ba1c-4"; + Requests[1103] = new DefaultHttpContext(); + Requests[1103].RequestServices = CreateServices(); + Requests[1103].Request.Method = "POST"; + Requests[1103].Request.Path = "/Nodes/d7876101/$/GetApplications/a62f25ca-78b6/$/GetServicePackages/b430e986-a341-43d4/$/GetHealth"; + Requests[1104] = new DefaultHttpContext(); + Requests[1104].RequestServices = CreateServices(); + Requests[1104].Request.Method = "POST"; + Requests[1104].Request.Path = "/Nodes/ca558975/$/GetApplications/f92ad576-38d6/$/GetServicePackages/b0018a68-71d7-4e4f/$/ReportHealth"; + Requests[1105] = new DefaultHttpContext(); + Requests[1105].RequestServices = CreateServices(); + Requests[1105].Request.Method = "POST"; + Requests[1105].Request.Path = "/Nodes/1d8e462f/$/GetPartitions/191def83-2e/$/GetReplicas/6d8f291c-/$/Delete"; + Requests[1106] = new DefaultHttpContext(); + Requests[1106].RequestServices = CreateServices(); + Requests[1106].Request.Method = "GET"; + Requests[1106].Request.Path = "/Nodes/67c1e2ba/$/GetPartitions/0efa81cb-8f/$/GetReplicas/da15adad-/$/GetDetail"; + Requests[1107] = new DefaultHttpContext(); + Requests[1107].RequestServices = CreateServices(); + Requests[1107].Request.Method = "POST"; + Requests[1107].Request.Path = "/Nodes/963a0f23/$/GetPartitions/8f54f9ed-b2/$/GetReplicas/902d19d0-/$/Restart"; + Requests[1108] = new DefaultHttpContext(); + Requests[1108].RequestServices = CreateServices(); + Requests[1108].Request.Method = "DELETE"; + Requests[1108].Request.Path = "/apis/25296/operations/4eafac6a-a5"; + Requests[1109] = new DefaultHttpContext(); + Requests[1109].RequestServices = CreateServices(); + Requests[1109].Request.Method = "DELETE"; + Requests[1109].Request.Path = "/apis/9f2ef/policies/4ab5e1dd"; + Requests[1110] = new DefaultHttpContext(); + Requests[1110].RequestServices = CreateServices(); + Requests[1110].Request.Method = "DELETE"; + Requests[1110].Request.Path = "/apis/389a6/schemas/84c0f52b"; + Requests[1111] = new DefaultHttpContext(); + Requests[1111].RequestServices = CreateServices(); + Requests[1111].Request.Method = "GET"; + Requests[1111].Request.Path = "/apps/fd7db/events/542abd5e-"; + Requests[1112] = new DefaultHttpContext(); + Requests[1112].RequestServices = CreateServices(); + Requests[1112].Request.Method = "GET"; + Requests[1112].Request.Path = "/apps/aaf28/metrics/879965ad"; + Requests[1113] = new DefaultHttpContext(); + Requests[1113].RequestServices = CreateServices(); + Requests[1113].Request.Method = "DELETE"; + Requests[1113].Request.Path = "/apps/083f0/versions/41ec72d7-"; + Requests[1114] = new DefaultHttpContext(); + Requests[1114].RequestServices = CreateServices(); + Requests[1114].Request.Method = "GET"; + Requests[1114].Request.Path = "/delegatedProviders/3498b80c-926b-420c-/offers/fbe84b08-"; + Requests[1115] = new DefaultHttpContext(); + Requests[1115].RequestServices = CreateServices(); + Requests[1115].Request.Method = "GET"; + Requests[1115].Request.Path = "/deletedstorage/bf1dd9c3-9147-4bb9-8/sas/2d4c0136-dc39-42e0-"; + Requests[1116] = new DefaultHttpContext(); + Requests[1116].RequestServices = CreateServices(); + Requests[1116].Request.Method = "DELETE"; + Requests[1116].Request.Path = "/facelists/52cb0d95-b/persistedFaces/5ae52f7c-2bbb-4"; + Requests[1117] = new DefaultHttpContext(); + Requests[1117].RequestServices = CreateServices(); + Requests[1117].Request.Method = "DELETE"; + Requests[1117].Request.Path = "/groups/02ef9f1/users/adf61"; + Requests[1118] = new DefaultHttpContext(); + Requests[1118].RequestServices = CreateServices(); + Requests[1118].Request.Method = "PUT"; + Requests[1118].Request.Path = "/jobs/c605d/tasks/e23d38"; + Requests[1119] = new DefaultHttpContext(); + Requests[1119].RequestServices = CreateServices(); + Requests[1119].Request.Method = "PATCH"; + Requests[1119].Request.Path = "/persongroups/dfbdd24a-e7fe/persons/80d81b53"; + Requests[1120] = new DefaultHttpContext(); + Requests[1120].RequestServices = CreateServices(); + Requests[1120].Request.Method = "GET"; + Requests[1120].Request.Path = "/pools/f671c2/nodes/2aa836"; + Requests[1121] = new DefaultHttpContext(); + Requests[1121].RequestServices = CreateServices(); + Requests[1121].Request.Method = "DELETE"; + Requests[1121].Request.Path = "/products/72d90812-/apis/2ccb2"; + Requests[1122] = new DefaultHttpContext(); + Requests[1122].RequestServices = CreateServices(); + Requests[1122].Request.Method = "DELETE"; + Requests[1122].Request.Path = "/products/2e50fa11-/groups/b522812"; + Requests[1123] = new DefaultHttpContext(); + Requests[1123].RequestServices = CreateServices(); + Requests[1123].Request.Method = "DELETE"; + Requests[1123].Request.Path = "/products/ba9fb698-/policies/e35ba32c"; + Requests[1124] = new DefaultHttpContext(); + Requests[1124].RequestServices = CreateServices(); + Requests[1124].Request.Method = "PATCH"; + Requests[1124].Request.Path = "/projects/8771bd4e-/iterations/1e99061f-71"; + Requests[1125] = new DefaultHttpContext(); + Requests[1125].RequestServices = CreateServices(); + Requests[1125].Request.Method = "PATCH"; + Requests[1125].Request.Path = "/projects/26aac258-/tags/f7948"; + Requests[1126] = new DefaultHttpContext(); + Requests[1126].RequestServices = CreateServices(); + Requests[1126].Request.Method = "PATCH"; + Requests[1126].Request.Path = "/storage/75d66fb9-593d-42a4-a/sas/5efae349-5545-4718-"; + Requests[1127] = new DefaultHttpContext(); + Requests[1127].RequestServices = CreateServices(); + Requests[1127].Request.Method = "GET"; + Requests[1127].Request.Path = "/subscriptions/d9091435-1ec2-/providers/5ab30aa3-329a-4749-9837-4"; + Requests[1128] = new DefaultHttpContext(); + Requests[1128].RequestServices = CreateServices(); + Requests[1128].Request.Method = "PATCH"; + Requests[1128].Request.Path = "/subscriptions/58ceec8e-0c00-/resourcegroups/c6fe0bde-a469-44f"; + Requests[1129] = new DefaultHttpContext(); + Requests[1129].RequestServices = CreateServices(); + Requests[1129].Request.Method = "DELETE"; + Requests[1129].Request.Path = "/subscriptions/449c988f-baa5-/tagNames/f5349b5"; + Requests[1130] = new DefaultHttpContext(); + Requests[1130].RequestServices = CreateServices(); + Requests[1130].Request.Method = "GET"; + Requests[1130].Request.Path = "/apis/9741d/operations/ea9e58d7-7d/policies"; + Requests[1131] = new DefaultHttpContext(); + Requests[1131].RequestServices = CreateServices(); + Requests[1131].Request.Method = "POST"; + Requests[1131].Request.Path = "/apps/5e436/versions/3866e46c-/clone"; + Requests[1132] = new DefaultHttpContext(); + Requests[1132].RequestServices = CreateServices(); + Requests[1132].Request.Method = "POST"; + Requests[1132].Request.Path = "/apps/df141/versions/8ffe54b3-/closedlists"; + Requests[1133] = new DefaultHttpContext(); + Requests[1133].RequestServices = CreateServices(); + Requests[1133].Request.Method = "GET"; + Requests[1133].Request.Path = "/apps/4d7ea/versions/b43a8b51-/compositeentities"; + Requests[1134] = new DefaultHttpContext(); + Requests[1134].RequestServices = CreateServices(); + Requests[1134].Request.Method = "POST"; + Requests[1134].Request.Path = "/apps/175a5/versions/178cb58f-/customprebuiltdomains"; + Requests[1135] = new DefaultHttpContext(); + Requests[1135].RequestServices = CreateServices(); + Requests[1135].Request.Method = "GET"; + Requests[1135].Request.Path = "/apps/d67f9/versions/8d9e28a0-/customprebuiltentities"; + Requests[1136] = new DefaultHttpContext(); + Requests[1136].RequestServices = CreateServices(); + Requests[1136].Request.Method = "GET"; + Requests[1136].Request.Path = "/apps/065f7/versions/00df14ed-/customprebuiltintents"; + Requests[1137] = new DefaultHttpContext(); + Requests[1137].RequestServices = CreateServices(); + Requests[1137].Request.Method = "GET"; + Requests[1137].Request.Path = "/apps/532a8/versions/9e21bc16-/customprebuiltmodels"; + Requests[1138] = new DefaultHttpContext(); + Requests[1138].RequestServices = CreateServices(); + Requests[1138].Request.Method = "GET"; + Requests[1138].Request.Path = "/apps/a9318/versions/1e5d16f4-/entities"; + Requests[1139] = new DefaultHttpContext(); + Requests[1139].RequestServices = CreateServices(); + Requests[1139].Request.Method = "POST"; + Requests[1139].Request.Path = "/apps/f9038/versions/40b68af8-/example"; + Requests[1140] = new DefaultHttpContext(); + Requests[1140].RequestServices = CreateServices(); + Requests[1140].Request.Method = "GET"; + Requests[1140].Request.Path = "/apps/9106b/versions/c698b05b-/examples"; + Requests[1141] = new DefaultHttpContext(); + Requests[1141].RequestServices = CreateServices(); + Requests[1141].Request.Method = "GET"; + Requests[1141].Request.Path = "/apps/47dcd/versions/494a815f-/export"; + Requests[1142] = new DefaultHttpContext(); + Requests[1142].RequestServices = CreateServices(); + Requests[1142].Request.Method = "GET"; + Requests[1142].Request.Path = "/apps/5d0ee/versions/2b9ef7b1-/features"; + Requests[1143] = new DefaultHttpContext(); + Requests[1143].RequestServices = CreateServices(); + Requests[1143].Request.Method = "GET"; + Requests[1143].Request.Path = "/apps/4008a/versions/a86947de-/hierarchicalentities"; + Requests[1144] = new DefaultHttpContext(); + Requests[1144].RequestServices = CreateServices(); + Requests[1144].Request.Method = "GET"; + Requests[1144].Request.Path = "/apps/b445b/versions/fd647c90-/intents"; + Requests[1145] = new DefaultHttpContext(); + Requests[1145].RequestServices = CreateServices(); + Requests[1145].Request.Method = "GET"; + Requests[1145].Request.Path = "/apps/50450/versions/96a45b30-/listprebuilts"; + Requests[1146] = new DefaultHttpContext(); + Requests[1146].RequestServices = CreateServices(); + Requests[1146].Request.Method = "GET"; + Requests[1146].Request.Path = "/apps/ce1a5/versions/c2113630-/models"; + Requests[1147] = new DefaultHttpContext(); + Requests[1147].RequestServices = CreateServices(); + Requests[1147].Request.Method = "POST"; + Requests[1147].Request.Path = "/apps/63d8e/versions/eb021164-/patternanyentities"; + Requests[1148] = new DefaultHttpContext(); + Requests[1148].RequestServices = CreateServices(); + Requests[1148].Request.Method = "POST"; + Requests[1148].Request.Path = "/apps/57297/versions/57c1bcda-/patternrule"; + Requests[1149] = new DefaultHttpContext(); + Requests[1149].RequestServices = CreateServices(); + Requests[1149].Request.Method = "DELETE"; + Requests[1149].Request.Path = "/apps/521f1/versions/05d51a1e-/patternrules"; + Requests[1150] = new DefaultHttpContext(); + Requests[1150].RequestServices = CreateServices(); + Requests[1150].Request.Method = "GET"; + Requests[1150].Request.Path = "/apps/516fb/versions/0c88edff-/patterns"; + Requests[1151] = new DefaultHttpContext(); + Requests[1151].RequestServices = CreateServices(); + Requests[1151].Request.Method = "GET"; + Requests[1151].Request.Path = "/apps/857d9/versions/a306dd5a-/phraselists"; + Requests[1152] = new DefaultHttpContext(); + Requests[1152].RequestServices = CreateServices(); + Requests[1152].Request.Method = "GET"; + Requests[1152].Request.Path = "/apps/6fdba/versions/2f9d6a9c-/prebuilts"; + Requests[1153] = new DefaultHttpContext(); + Requests[1153].RequestServices = CreateServices(); + Requests[1153].Request.Method = "POST"; + Requests[1153].Request.Path = "/apps/7ffd6/versions/5bf210d7-/regexentities"; + Requests[1154] = new DefaultHttpContext(); + Requests[1154].RequestServices = CreateServices(); + Requests[1154].Request.Method = "DELETE"; + Requests[1154].Request.Path = "/apps/8c9ff/versions/831a3205-/suggest"; + Requests[1155] = new DefaultHttpContext(); + Requests[1155].RequestServices = CreateServices(); + Requests[1155].Request.Method = "GET"; + Requests[1155].Request.Path = "/apps/693c8/versions/c241067e-/train"; + Requests[1156] = new DefaultHttpContext(); + Requests[1156].RequestServices = CreateServices(); + Requests[1156].Request.Method = "POST"; + Requests[1156].Request.Path = "/deletedstorage/cb1a70db-89b2-455b-9/sas/70b3797b-4f30-4d31-/recover"; + Requests[1157] = new DefaultHttpContext(); + Requests[1157].RequestServices = CreateServices(); + Requests[1157].Request.Method = "GET"; + Requests[1157].Request.Path = "/jobs/0e108/tasks/88d58e/files"; + Requests[1158] = new DefaultHttpContext(); + Requests[1158].RequestServices = CreateServices(); + Requests[1158].Request.Method = "POST"; + Requests[1158].Request.Path = "/jobs/18466/tasks/63c04d/reactivate"; + Requests[1159] = new DefaultHttpContext(); + Requests[1159].RequestServices = CreateServices(); + Requests[1159].Request.Method = "GET"; + Requests[1159].Request.Path = "/jobs/9b951/tasks/2265ff/subtasksinfo"; + Requests[1160] = new DefaultHttpContext(); + Requests[1160].RequestServices = CreateServices(); + Requests[1160].Request.Method = "POST"; + Requests[1160].Request.Path = "/jobs/d5c44/tasks/9a9754/terminate"; + Requests[1161] = new DefaultHttpContext(); + Requests[1161].RequestServices = CreateServices(); + Requests[1161].Request.Method = "POST"; + Requests[1161].Request.Path = "/persongroups/dcf47d82-5815/persons/d5081906/persistedFaces"; + Requests[1162] = new DefaultHttpContext(); + Requests[1162].RequestServices = CreateServices(); + Requests[1162].Request.Method = "POST"; + Requests[1162].Request.Path = "/pools/2bc514/nodes/cbf9e7/disablescheduling"; + Requests[1163] = new DefaultHttpContext(); + Requests[1163].RequestServices = CreateServices(); + Requests[1163].Request.Method = "POST"; + Requests[1163].Request.Path = "/pools/2254d4/nodes/f1200b/enablescheduling"; + Requests[1164] = new DefaultHttpContext(); + Requests[1164].RequestServices = CreateServices(); + Requests[1164].Request.Method = "GET"; + Requests[1164].Request.Path = "/pools/a10321/nodes/a4bb4c/files"; + Requests[1165] = new DefaultHttpContext(); + Requests[1165].RequestServices = CreateServices(); + Requests[1165].Request.Method = "GET"; + Requests[1165].Request.Path = "/pools/ce11db/nodes/c2fe80/rdp"; + Requests[1166] = new DefaultHttpContext(); + Requests[1166].RequestServices = CreateServices(); + Requests[1166].Request.Method = "POST"; + Requests[1166].Request.Path = "/pools/6bae41/nodes/03edcf/reboot"; + Requests[1167] = new DefaultHttpContext(); + Requests[1167].RequestServices = CreateServices(); + Requests[1167].Request.Method = "POST"; + Requests[1167].Request.Path = "/pools/f544e3/nodes/1d8cbe/reimage"; + Requests[1168] = new DefaultHttpContext(); + Requests[1168].RequestServices = CreateServices(); + Requests[1168].Request.Method = "GET"; + Requests[1168].Request.Path = "/pools/3d2f64/nodes/649e75/remoteloginsettings"; + Requests[1169] = new DefaultHttpContext(); + Requests[1169].RequestServices = CreateServices(); + Requests[1169].Request.Method = "POST"; + Requests[1169].Request.Path = "/pools/38833a/nodes/75f2dd/uploadbatchservicelogs"; + Requests[1170] = new DefaultHttpContext(); + Requests[1170].RequestServices = CreateServices(); + Requests[1170].Request.Method = "POST"; + Requests[1170].Request.Path = "/pools/538578/nodes/8d1705/users"; + Requests[1171] = new DefaultHttpContext(); + Requests[1171].RequestServices = CreateServices(); + Requests[1171].Request.Method = "POST"; + Requests[1171].Request.Path = "/projects/1c956b4c-/iterations/45669eb1-65/export"; + Requests[1172] = new DefaultHttpContext(); + Requests[1172].RequestServices = CreateServices(); + Requests[1172].Request.Method = "GET"; + Requests[1172].Request.Path = "/projects/ccf181f1-/iterations/689d726b-51/performance"; + Requests[1173] = new DefaultHttpContext(); + Requests[1173].RequestServices = CreateServices(); + Requests[1173].Request.Method = "POST"; + Requests[1173].Request.Path = "/subscriptions/6d4709ff-9f06-/providers/ad930340-206f-4759-bf97-d/register"; + Requests[1174] = new DefaultHttpContext(); + Requests[1174].RequestServices = CreateServices(); + Requests[1174].Request.Method = "POST"; + Requests[1174].Request.Path = "/subscriptions/e571b869-cb98-/providers/121c5fd7-0bb0-4788-8438-9/unregister"; + Requests[1175] = new DefaultHttpContext(); + Requests[1175].RequestServices = CreateServices(); + Requests[1175].Request.Method = "POST"; + Requests[1175].Request.Path = "/subscriptions/e00d42cf-92cb-/resourcegroups/c1e7b1ba-4946-470/exportTemplate"; + Requests[1176] = new DefaultHttpContext(); + Requests[1176].RequestServices = CreateServices(); + Requests[1176].Request.Method = "POST"; + Requests[1176].Request.Path = "/subscriptions/8659c95b-be45-/resourceGroups/981f02b6-b2b2-4f1/moveResources"; + Requests[1177] = new DefaultHttpContext(); + Requests[1177].RequestServices = CreateServices(); + Requests[1177].Request.Method = "GET"; + Requests[1177].Request.Path = "/subscriptions/2f86c3ff-2755-/resourceGroups/52615dd5-49eb-40a/resources"; + Requests[1178] = new DefaultHttpContext(); + Requests[1178].RequestServices = CreateServices(); + Requests[1178].Request.Method = "POST"; + Requests[1178].Request.Path = "/subscriptions/a37b5feb-2336-/resourceGroups/36f1804b-cdd4-4aa/validateMoveResources"; + Requests[1179] = new DefaultHttpContext(); + Requests[1179].RequestServices = CreateServices(); + Requests[1179].Request.Method = "GET"; + Requests[1179].Request.Path = "/projects/62679b4f-/iterations/046acfe4-ba/performance/images"; + Requests[1180] = new DefaultHttpContext(); + Requests[1180].RequestServices = CreateServices(); + Requests[1180].Request.Method = "GET"; + Requests[1180].Request.Path = "/projects/d08c6e49-/iterations/43dca4e5-80/performance/images/count"; + Requests[1181] = new DefaultHttpContext(); + Requests[1181].RequestServices = CreateServices(); + Requests[1181].Request.Method = "GET"; + Requests[1181].Request.Path = "/subscriptions/1a87abcf-14d2-/resourceGroup/1e7e1fca-eec0-4da/providers/microsoft.insights/workbooks"; + Requests[1182] = new DefaultHttpContext(); + Requests[1182].RequestServices = CreateServices(); + Requests[1182].Request.Method = "GET"; + Requests[1182].Request.Path = "/subscriptions/16d36dbd-fef5-/resourceGroups/1cb47c8b-/providers/Microsoft.DataMigration/services"; + Requests[1183] = new DefaultHttpContext(); + Requests[1183].RequestServices = CreateServices(); + Requests[1183].Request.Method = "PUT"; + Requests[1183].Request.Path = "/subscriptions/68332ca9-7e3e-/resourceGroups/52734d14-25c0/providers/Microsoft.Advisor/configurations"; + Requests[1184] = new DefaultHttpContext(); + Requests[1184].RequestServices = CreateServices(); + Requests[1184].Request.Method = "GET"; + Requests[1184].Request.Path = "/subscriptions/d3d41ab1-5cae-/resourcegroups/aa4fb920-3866/providers/Microsoft.AzureBridge.Admin/activations"; + Requests[1185] = new DefaultHttpContext(); + Requests[1185].RequestServices = CreateServices(); + Requests[1185].Request.Method = "GET"; + Requests[1185].Request.Path = "/subscriptions/42d8fc74-6ee6-/resourceGroups/91e8811c-06fc/providers/Microsoft.AzureStack/registrations"; + Requests[1186] = new DefaultHttpContext(); + Requests[1186].RequestServices = CreateServices(); + Requests[1186].Request.Method = "GET"; + Requests[1186].Request.Path = "/subscriptions/1787cecf-c83e-/resourceGroups/577435bb-d6f9-48d/providers/Microsoft.AAD/domainServices"; + Requests[1187] = new DefaultHttpContext(); + Requests[1187].RequestServices = CreateServices(); + Requests[1187].Request.Method = "GET"; + Requests[1187].Request.Path = "/subscriptions/953056a4-8c58-/resourceGroups/cd24b46f-ca8e-4f0/providers/Microsoft.AnalysisServices/servers"; + Requests[1188] = new DefaultHttpContext(); + Requests[1188].RequestServices = CreateServices(); + Requests[1188].Request.Method = "GET"; + Requests[1188].Request.Path = "/subscriptions/25275695-5a8f-/resourceGroups/12278910-c572-497/providers/Microsoft.ApiManagement/service"; + Requests[1189] = new DefaultHttpContext(); + Requests[1189].RequestServices = CreateServices(); + Requests[1189].Request.Method = "GET"; + Requests[1189].Request.Path = "/subscriptions/18187bd6-4efc-/resourceGroups/2acad2e1-36b1-40a/providers/Microsoft.Authorization/locks"; + Requests[1190] = new DefaultHttpContext(); + Requests[1190].RequestServices = CreateServices(); + Requests[1190].Request.Method = "GET"; + Requests[1190].Request.Path = "/subscriptions/af628ae2-3fa6-/resourcegroups/a23d3377-a9f1-4b8/providers/Microsoft.Authorization/permissions"; + Requests[1191] = new DefaultHttpContext(); + Requests[1191].RequestServices = CreateServices(); + Requests[1191].Request.Method = "GET"; + Requests[1191].Request.Path = "/subscriptions/6b1db4a0-5904-/resourceGroups/5bc3723f-ceca-435/providers/Microsoft.Authorization/policyAssignments"; + Requests[1192] = new DefaultHttpContext(); + Requests[1192].RequestServices = CreateServices(); + Requests[1192].Request.Method = "GET"; + Requests[1192].Request.Path = "/subscriptions/6e0f2c31-6297-/resourceGroups/67a4d528-f06b-448/providers/Microsoft.Authorization/roleAssignments"; + Requests[1193] = new DefaultHttpContext(); + Requests[1193].RequestServices = CreateServices(); + Requests[1193].Request.Method = "GET"; + Requests[1193].Request.Path = "/subscriptions/531323ae-8757-/resourceGroups/a8740389-46f8-466/providers/Microsoft.Automation/automationAccounts"; + Requests[1194] = new DefaultHttpContext(); + Requests[1194].RequestServices = CreateServices(); + Requests[1194].Request.Method = "GET"; + Requests[1194].Request.Path = "/subscriptions/bf493720-10a6-/resourcegroups/1b954090-38fe-48d/providers/Microsoft.Backup.Admin/backupLocations"; + Requests[1195] = new DefaultHttpContext(); + Requests[1195].RequestServices = CreateServices(); + Requests[1195].Request.Method = "GET"; + Requests[1195].Request.Path = "/subscriptions/5ab346f0-a0b5-/resourceGroups/bca5bf7e-0ab6-4fe/providers/Microsoft.Batch/batchAccounts"; + Requests[1196] = new DefaultHttpContext(); + Requests[1196].RequestServices = CreateServices(); + Requests[1196].Request.Method = "GET"; + Requests[1196].Request.Path = "/subscriptions/3b809873-9882-/resourceGroups/29cc70fa-c27a-425/providers/Microsoft.BatchAI/clusters"; + Requests[1197] = new DefaultHttpContext(); + Requests[1197].RequestServices = CreateServices(); + Requests[1197].Request.Method = "GET"; + Requests[1197].Request.Path = "/subscriptions/26856e5b-dd0d-/resourceGroups/34646087-81ab-409/providers/Microsoft.BatchAI/fileServers"; + Requests[1198] = new DefaultHttpContext(); + Requests[1198].RequestServices = CreateServices(); + Requests[1198].Request.Method = "GET"; + Requests[1198].Request.Path = "/subscriptions/3433626e-9aba-/resourceGroups/2c01809f-e22e-494/providers/Microsoft.BatchAI/jobs"; + Requests[1199] = new DefaultHttpContext(); + Requests[1199].RequestServices = CreateServices(); + Requests[1199].Request.Method = "GET"; + Requests[1199].Request.Path = "/subscriptions/00d05550-8b8a-/resourceGroups/43a4debc-a57a-4dd/providers/Microsoft.BatchAI/workspaces"; + Requests[1200] = new DefaultHttpContext(); + Requests[1200].RequestServices = CreateServices(); + Requests[1200].Request.Method = "GET"; + Requests[1200].Request.Path = "/subscriptions/b7889ffe-8687-/resourceGroups/c93ec405-c008-497/providers/Microsoft.BotService/botServices"; + Requests[1201] = new DefaultHttpContext(); + Requests[1201].RequestServices = CreateServices(); + Requests[1201].Request.Method = "GET"; + Requests[1201].Request.Path = "/subscriptions/3a902c5a-2c6a-/resourceGroups/f260f9a7-b269-459/providers/Microsoft.Cache/Redis"; + Requests[1202] = new DefaultHttpContext(); + Requests[1202].RequestServices = CreateServices(); + Requests[1202].Request.Method = "GET"; + Requests[1202].Request.Path = "/subscriptions/b0269cb3-5022-/resourceGroups/acf79ffa-ef39-453/providers/Microsoft.Cdn/profiles"; + Requests[1203] = new DefaultHttpContext(); + Requests[1203].RequestServices = CreateServices(); + Requests[1203].Request.Method = "GET"; + Requests[1203].Request.Path = "/subscriptions/ece5c766-5528-/resourceGroups/21db8770-29a4-433/providers/Microsoft.CertificateRegistration/certificateOrders"; + Requests[1204] = new DefaultHttpContext(); + Requests[1204].RequestServices = CreateServices(); + Requests[1204].Request.Method = "GET"; + Requests[1204].Request.Path = "/subscriptions/f5319a41-4b71-/resourceGroups/4e59842e-5154-498/providers/Microsoft.CognitiveServices/accounts"; + Requests[1205] = new DefaultHttpContext(); + Requests[1205].RequestServices = CreateServices(); + Requests[1205].Request.Method = "GET"; + Requests[1205].Request.Path = "/subscriptions/150febfe-f149-/resourceGroups/34503c4e-5fde-469/providers/Microsoft.Compute/availabilitySets"; + Requests[1206] = new DefaultHttpContext(); + Requests[1206].RequestServices = CreateServices(); + Requests[1206].Request.Method = "GET"; + Requests[1206].Request.Path = "/subscriptions/6a8a4b2b-9385-/resourceGroups/b4b2fa73-fb6b-420/providers/Microsoft.Compute/disks"; + Requests[1207] = new DefaultHttpContext(); + Requests[1207].RequestServices = CreateServices(); + Requests[1207].Request.Method = "GET"; + Requests[1207].Request.Path = "/subscriptions/a9c785b3-10ed-/resourceGroups/bb9d826a-412e-4ca/providers/Microsoft.Compute/galleries"; + Requests[1208] = new DefaultHttpContext(); + Requests[1208].RequestServices = CreateServices(); + Requests[1208].Request.Method = "GET"; + Requests[1208].Request.Path = "/subscriptions/4a248e72-eecf-/resourceGroups/e83064d0-2c6c-487/providers/Microsoft.Compute/images"; + Requests[1209] = new DefaultHttpContext(); + Requests[1209].RequestServices = CreateServices(); + Requests[1209].Request.Method = "GET"; + Requests[1209].Request.Path = "/subscriptions/acd865a6-a06d-/resourceGroups/81000088-936b-4aa/providers/Microsoft.Compute/snapshots"; + Requests[1210] = new DefaultHttpContext(); + Requests[1210].RequestServices = CreateServices(); + Requests[1210].Request.Method = "GET"; + Requests[1210].Request.Path = "/subscriptions/042cd01b-4ee2-/resourceGroups/3df06421-b98d-4f9/providers/Microsoft.Compute/virtualMachines"; + Requests[1211] = new DefaultHttpContext(); + Requests[1211].RequestServices = CreateServices(); + Requests[1211].Request.Method = "GET"; + Requests[1211].Request.Path = "/subscriptions/b824d05f-25aa-/resourceGroups/5c97081c-b8ae-436/providers/Microsoft.Compute/virtualMachineScaleSets"; + Requests[1212] = new DefaultHttpContext(); + Requests[1212].RequestServices = CreateServices(); + Requests[1212].Request.Method = "GET"; + Requests[1212].Request.Path = "/subscriptions/f6196b02-e304-/resourceGroups/32b706ed-7449-413/providers/Microsoft.Consumption/budgets"; + Requests[1213] = new DefaultHttpContext(); + Requests[1213].RequestServices = CreateServices(); + Requests[1213].Request.Method = "GET"; + Requests[1213].Request.Path = "/subscriptions/79905abb-5336-/resourceGroups/9a874946-08e3-4c6/providers/Microsoft.ContainerInstance/containerGroups"; + Requests[1214] = new DefaultHttpContext(); + Requests[1214].RequestServices = CreateServices(); + Requests[1214].Request.Method = "GET"; + Requests[1214].Request.Path = "/subscriptions/389ad012-cc1a-/resourceGroups/3af762f9-f47e-43b/providers/Microsoft.ContainerRegistry/registries"; + Requests[1215] = new DefaultHttpContext(); + Requests[1215].RequestServices = CreateServices(); + Requests[1215].Request.Method = "GET"; + Requests[1215].Request.Path = "/subscriptions/cbdeedef-b8a4-/resourceGroups/cd81fe05-617a-415/providers/Microsoft.ContainerService/containerServices"; + Requests[1216] = new DefaultHttpContext(); + Requests[1216].RequestServices = CreateServices(); + Requests[1216].Request.Method = "GET"; + Requests[1216].Request.Path = "/subscriptions/3f5263a9-5dfe-/resourceGroups/05d484f5-cc28-4af/providers/Microsoft.ContainerService/managedClusters"; + Requests[1217] = new DefaultHttpContext(); + Requests[1217].RequestServices = CreateServices(); + Requests[1217].Request.Method = "GET"; + Requests[1217].Request.Path = "/subscriptions/f6342c6e-bfdd-/resourceGroups/ff2efcc2-61e2-42f/providers/Microsoft.CustomerInsights/hubs"; + Requests[1218] = new DefaultHttpContext(); + Requests[1218].RequestServices = CreateServices(); + Requests[1218].Request.Method = "GET"; + Requests[1218].Request.Path = "/subscriptions/46ef41ac-4401-/resourceGroups/faac4547-54ec-4ce/providers/Microsoft.DataBox/jobs"; + Requests[1219] = new DefaultHttpContext(); + Requests[1219].RequestServices = CreateServices(); + Requests[1219].Request.Method = "GET"; + Requests[1219].Request.Path = "/subscriptions/1a6c99b5-b0d7-/resourceGroups/73b547fe-318c-462/providers/Microsoft.Databricks/workspaces"; + Requests[1220] = new DefaultHttpContext(); + Requests[1220].RequestServices = CreateServices(); + Requests[1220].Request.Method = "GET"; + Requests[1220].Request.Path = "/subscriptions/14643394-f9a3-/resourceGroups/b220db38-9f95-450/providers/Microsoft.DataCatalog/catalogs"; + Requests[1221] = new DefaultHttpContext(); + Requests[1221].RequestServices = CreateServices(); + Requests[1221].Request.Method = "GET"; + Requests[1221].Request.Path = "/subscriptions/22a34586-afc3-/resourceGroups/9935f3eb-bb68-41d/providers/Microsoft.DataFactory/factories"; + Requests[1222] = new DefaultHttpContext(); + Requests[1222].RequestServices = CreateServices(); + Requests[1222].Request.Method = "GET"; + Requests[1222].Request.Path = "/subscriptions/86da8c24-af75-/resourceGroups/584a6a98-a37b-49f/providers/Microsoft.DataLakeAnalytics/accounts"; + Requests[1223] = new DefaultHttpContext(); + Requests[1223].RequestServices = CreateServices(); + Requests[1223].Request.Method = "GET"; + Requests[1223].Request.Path = "/subscriptions/52a46a7c-79c2-/resourceGroups/2eae0716-d403-4e5/providers/Microsoft.DataLakeStore/accounts"; + Requests[1224] = new DefaultHttpContext(); + Requests[1224].RequestServices = CreateServices(); + Requests[1224].Request.Method = "GET"; + Requests[1224].Request.Path = "/subscriptions/18325335-e5f3-/resourceGroups/b102d1c0-141d-4ba/providers/Microsoft.DBforMySQL/servers"; + Requests[1225] = new DefaultHttpContext(); + Requests[1225].RequestServices = CreateServices(); + Requests[1225].Request.Method = "GET"; + Requests[1225].Request.Path = "/subscriptions/2f1a561f-72d4-/resourceGroups/b405e3f1-8b9a-4f9/providers/Microsoft.DBforPostgreSQL/servers"; + Requests[1226] = new DefaultHttpContext(); + Requests[1226].RequestServices = CreateServices(); + Requests[1226].Request.Method = "GET"; + Requests[1226].Request.Path = "/subscriptions/ff672dfd-afb0-/resourceGroups/41849e9c-002f-421/providers/Microsoft.Devices/IotHubs"; + Requests[1227] = new DefaultHttpContext(); + Requests[1227].RequestServices = CreateServices(); + Requests[1227].Request.Method = "GET"; + Requests[1227].Request.Path = "/subscriptions/c5b5dbec-69bf-/resourceGroups/35f27c20-7337-434/providers/Microsoft.Devices/provisioningServices"; + Requests[1228] = new DefaultHttpContext(); + Requests[1228].RequestServices = CreateServices(); + Requests[1228].Request.Method = "GET"; + Requests[1228].Request.Path = "/subscriptions/b566fb6c-a2a7-/resourceGroups/c2a27d96-b00b-435/providers/Microsoft.DevTestLab/labs"; + Requests[1229] = new DefaultHttpContext(); + Requests[1229].RequestServices = CreateServices(); + Requests[1229].Request.Method = "GET"; + Requests[1229].Request.Path = "/subscriptions/ac2a5b27-7986-/resourceGroups/80f80cc2-b012-44d/providers/Microsoft.DevTestLab/schedules"; + Requests[1230] = new DefaultHttpContext(); + Requests[1230].RequestServices = CreateServices(); + Requests[1230].Request.Method = "GET"; + Requests[1230].Request.Path = "/subscriptions/a6f9149a-c5d9-/resourceGroups/b183fb6f-4265-4e4/providers/Microsoft.DocumentDB/databaseAccounts"; + Requests[1231] = new DefaultHttpContext(); + Requests[1231].RequestServices = CreateServices(); + Requests[1231].Request.Method = "GET"; + Requests[1231].Request.Path = "/subscriptions/d0973a18-8d34-/resourceGroups/30904cef-f333-405/providers/Microsoft.DomainRegistration/domains"; + Requests[1232] = new DefaultHttpContext(); + Requests[1232].RequestServices = CreateServices(); + Requests[1232].Request.Method = "GET"; + Requests[1232].Request.Path = "/subscriptions/c0ebe51c-0677-/resourceGroups/6e283f4c-6a39-498/providers/Microsoft.EventGrid/eventSubscriptions"; + Requests[1233] = new DefaultHttpContext(); + Requests[1233].RequestServices = CreateServices(); + Requests[1233].Request.Method = "GET"; + Requests[1233].Request.Path = "/subscriptions/a8506573-d37d-/resourceGroups/b34c71f5-fbda-4a1/providers/Microsoft.EventGrid/topics"; + Requests[1234] = new DefaultHttpContext(); + Requests[1234].RequestServices = CreateServices(); + Requests[1234].Request.Method = "GET"; + Requests[1234].Request.Path = "/subscriptions/3148c771-0ced-/resourceGroups/ce0a911c-2c34-45a/providers/Microsoft.EventHub/clusters"; + Requests[1235] = new DefaultHttpContext(); + Requests[1235].RequestServices = CreateServices(); + Requests[1235].Request.Method = "GET"; + Requests[1235].Request.Path = "/subscriptions/dd07c381-221f-/resourceGroups/4d470412-5400-433/providers/Microsoft.EventHub/namespaces"; + Requests[1236] = new DefaultHttpContext(); + Requests[1236].RequestServices = CreateServices(); + Requests[1236].Request.Method = "PUT"; + Requests[1236].Request.Path = "/subscriptions/f0618325-695f-/resourceGroups/97807d4a-91da-4fe/providers/Microsoft.Fabric.Admin/fabricLocations"; + Requests[1237] = new DefaultHttpContext(); + Requests[1237].RequestServices = CreateServices(); + Requests[1237].Request.Method = "GET"; + Requests[1237].Request.Path = "/subscriptions/e61816de-246a-/resourceGroups/065d002c-741b-42b/providers/Microsoft.HanaOnAzure/hanaInstances"; + Requests[1238] = new DefaultHttpContext(); + Requests[1238].RequestServices = CreateServices(); + Requests[1238].Request.Method = "GET"; + Requests[1238].Request.Path = "/subscriptions/1751d637-5178-/resourceGroups/f3462b87-ce46-413/providers/Microsoft.HDInsight/clusters"; + Requests[1239] = new DefaultHttpContext(); + Requests[1239].RequestServices = CreateServices(); + Requests[1239].Request.Method = "GET"; + Requests[1239].Request.Path = "/subscriptions/ecfb48f0-5896-/resourceGroups/9523f627-5667-43b/providers/Microsoft.ImportExport/jobs"; + Requests[1240] = new DefaultHttpContext(); + Requests[1240].RequestServices = CreateServices(); + Requests[1240].Request.Method = "GET"; + Requests[1240].Request.Path = "/subscriptions/0b32f3b8-68aa-/resourceGroups/a36d9239-56d8-4a0/providers/Microsoft.InfrastructureInsights.Admin/regionHealths"; + Requests[1241] = new DefaultHttpContext(); + Requests[1241].RequestServices = CreateServices(); + Requests[1241].Request.Method = "GET"; + Requests[1241].Request.Path = "/subscriptions/a9268007-a5e4-/resourceGroups/5051e2f7-26c9-460/providers/microsoft.insights/actionGroups"; + Requests[1242] = new DefaultHttpContext(); + Requests[1242].RequestServices = CreateServices(); + Requests[1242].Request.Method = "GET"; + Requests[1242].Request.Path = "/subscriptions/cfbbaff7-60a3-/resourceGroups/235b1959-37a1-4a8/providers/microsoft.insights/activityLogAlerts"; + Requests[1243] = new DefaultHttpContext(); + Requests[1243].RequestServices = CreateServices(); + Requests[1243].Request.Method = "GET"; + Requests[1243].Request.Path = "/subscriptions/9edc865f-694f-/resourcegroups/ff51624e-2a2b-45c/providers/microsoft.insights/alertrules"; + Requests[1244] = new DefaultHttpContext(); + Requests[1244].RequestServices = CreateServices(); + Requests[1244].Request.Method = "GET"; + Requests[1244].Request.Path = "/subscriptions/2c0da8e2-9127-/resourcegroups/1ba65ef9-852c-4f0/providers/microsoft.insights/autoscalesettings"; + Requests[1245] = new DefaultHttpContext(); + Requests[1245].RequestServices = CreateServices(); + Requests[1245].Request.Method = "GET"; + Requests[1245].Request.Path = "/subscriptions/9e187b9f-1995-/resourceGroups/59bf01cc-22b1-424/providers/Microsoft.Insights/components"; + Requests[1246] = new DefaultHttpContext(); + Requests[1246].RequestServices = CreateServices(); + Requests[1246].Request.Method = "GET"; + Requests[1246].Request.Path = "/subscriptions/2d037583-e87f-/resourceGroups/0a2f36c1-0680-4f8/providers/Microsoft.Insights/metricAlerts"; + Requests[1247] = new DefaultHttpContext(); + Requests[1247].RequestServices = CreateServices(); + Requests[1247].Request.Method = "GET"; + Requests[1247].Request.Path = "/subscriptions/db5a2e59-524f-/resourcegroups/b4df6724-b958-417/providers/microsoft.insights/scheduledQueryRules"; + Requests[1248] = new DefaultHttpContext(); + Requests[1248].RequestServices = CreateServices(); + Requests[1248].Request.Method = "GET"; + Requests[1248].Request.Path = "/subscriptions/89ad49ed-e83e-/resourceGroups/25a9d85c-d8b0-417/providers/Microsoft.Insights/webtests"; + Requests[1249] = new DefaultHttpContext(); + Requests[1249].RequestServices = CreateServices(); + Requests[1249].Request.Method = "GET"; + Requests[1249].Request.Path = "/subscriptions/6502c925-4334-/resourceGroups/b9e5f912-5f91-418/providers/Microsoft.IoTCentral/IoTApps"; + Requests[1250] = new DefaultHttpContext(); + Requests[1250].RequestServices = CreateServices(); + Requests[1250].Request.Method = "GET"; + Requests[1250].Request.Path = "/subscriptions/1c0cb55f-a6ae-/resourceGroups/304b9162-8f2b-408/providers/Microsoft.IoTSpaces/Graph"; + Requests[1251] = new DefaultHttpContext(); + Requests[1251].RequestServices = CreateServices(); + Requests[1251].Request.Method = "GET"; + Requests[1251].Request.Path = "/subscriptions/e46ac7e7-795b-/resourceGroups/45d2fb29-3291-498/providers/Microsoft.KeyVault/vaults"; + Requests[1252] = new DefaultHttpContext(); + Requests[1252].RequestServices = CreateServices(); + Requests[1252].Request.Method = "GET"; + Requests[1252].Request.Path = "/subscriptions/167ca4c9-3672-/resourceGroups/1441208e-c8b9-4ff/providers/Microsoft.Logic/integrationAccounts"; + Requests[1253] = new DefaultHttpContext(); + Requests[1253].RequestServices = CreateServices(); + Requests[1253].Request.Method = "GET"; + Requests[1253].Request.Path = "/subscriptions/e4178fb4-e27c-/resourceGroups/89656195-ef36-4f5/providers/Microsoft.Logic/workflows"; + Requests[1254] = new DefaultHttpContext(); + Requests[1254].RequestServices = CreateServices(); + Requests[1254].Request.Method = "GET"; + Requests[1254].Request.Path = "/subscriptions/574591eb-2596-/resourceGroups/29936e07-0722-441/providers/Microsoft.MachineLearning/commitmentPlans"; + Requests[1255] = new DefaultHttpContext(); + Requests[1255].RequestServices = CreateServices(); + Requests[1255].Request.Method = "GET"; + Requests[1255].Request.Path = "/subscriptions/a2ded099-7019-/resourceGroups/385f4561-7c09-476/providers/Microsoft.MachineLearning/webServices"; + Requests[1256] = new DefaultHttpContext(); + Requests[1256].RequestServices = CreateServices(); + Requests[1256].Request.Method = "GET"; + Requests[1256].Request.Path = "/subscriptions/7d449075-0295-/resourceGroups/d0620f6a-25e6-4d3/providers/Microsoft.MachineLearning/workspaces"; + Requests[1257] = new DefaultHttpContext(); + Requests[1257].RequestServices = CreateServices(); + Requests[1257].Request.Method = "GET"; + Requests[1257].Request.Path = "/subscriptions/76e0f487-693c-/resourceGroups/18b6b5e0-5b5f-446/providers/Microsoft.MachineLearningCompute/operationalizationClusters"; + Requests[1258] = new DefaultHttpContext(); + Requests[1258].RequestServices = CreateServices(); + Requests[1258].Request.Method = "GET"; + Requests[1258].Request.Path = "/subscriptions/37dee06d-c936-/resourceGroups/e2ff6a5a-c3d2-4a8/providers/Microsoft.MachineLearningExperimentation/accounts"; + Requests[1259] = new DefaultHttpContext(); + Requests[1259].RequestServices = CreateServices(); + Requests[1259].Request.Method = "GET"; + Requests[1259].Request.Path = "/subscriptions/637e3eca-27e3-/resourceGroups/c9c20681-a00b-4f3/providers/Microsoft.MachineLearningServices/workspaces"; + Requests[1260] = new DefaultHttpContext(); + Requests[1260].RequestServices = CreateServices(); + Requests[1260].Request.Method = "GET"; + Requests[1260].Request.Path = "/subscriptions/39e98be4-1048-/resourceGroups/3e9694f2-9201-4a5/providers/Microsoft.ManagedIdentity/userAssignedIdentities"; + Requests[1261] = new DefaultHttpContext(); + Requests[1261].RequestServices = CreateServices(); + Requests[1261].Request.Method = "GET"; + Requests[1261].Request.Path = "/subscriptions/78e39128-ec4c-/resourceGroups/1b1899e6-ef07-428/providers/Microsoft.Maps/accounts"; + Requests[1262] = new DefaultHttpContext(); + Requests[1262].RequestServices = CreateServices(); + Requests[1262].Request.Method = "GET"; + Requests[1262].Request.Path = "/subscriptions/2d3afae5-7f23-/resourceGroups/6f322b80-a914-4a9/providers/Microsoft.Media/mediaservices"; + Requests[1263] = new DefaultHttpContext(); + Requests[1263].RequestServices = CreateServices(); + Requests[1263].Request.Method = "GET"; + Requests[1263].Request.Path = "/subscriptions/3d2963ff-8480-/resourcegroups/cf6ae158-e5af-4a5/providers/Microsoft.Migrate/projects"; + Requests[1264] = new DefaultHttpContext(); + Requests[1264].RequestServices = CreateServices(); + Requests[1264].Request.Method = "GET"; + Requests[1264].Request.Path = "/subscriptions/e4c08a77-0247-/resourceGroups/37743bb1-3f9f-49b/providers/Microsoft.Network/applicationGateways"; + Requests[1265] = new DefaultHttpContext(); + Requests[1265].RequestServices = CreateServices(); + Requests[1265].Request.Method = "GET"; + Requests[1265].Request.Path = "/subscriptions/bf33695a-38d4-/resourceGroups/35fbaf39-68a4-4c0/providers/Microsoft.Network/applicationSecurityGroups"; + Requests[1266] = new DefaultHttpContext(); + Requests[1266].RequestServices = CreateServices(); + Requests[1266].Request.Method = "GET"; + Requests[1266].Request.Path = "/subscriptions/5501a4cd-ba43-/resourceGroups/c2c3ae77-7b2b-4a8/providers/Microsoft.Network/connections"; + Requests[1267] = new DefaultHttpContext(); + Requests[1267].RequestServices = CreateServices(); + Requests[1267].Request.Method = "GET"; + Requests[1267].Request.Path = "/subscriptions/f3c38994-3875-/resourceGroups/7850c9c0-cb7b-4bf/providers/Microsoft.Network/ddosProtectionPlans"; + Requests[1268] = new DefaultHttpContext(); + Requests[1268].RequestServices = CreateServices(); + Requests[1268].Request.Method = "GET"; + Requests[1268].Request.Path = "/subscriptions/9418d858-647f-/resourceGroups/18b82e96-92b2-4ea/providers/Microsoft.Network/dnsZones"; + Requests[1269] = new DefaultHttpContext(); + Requests[1269].RequestServices = CreateServices(); + Requests[1269].Request.Method = "GET"; + Requests[1269].Request.Path = "/subscriptions/23b006b0-81bb-/resourceGroups/6ecd10ac-9875-413/providers/Microsoft.Network/expressRouteCircuits"; + Requests[1270] = new DefaultHttpContext(); + Requests[1270].RequestServices = CreateServices(); + Requests[1270].Request.Method = "GET"; + Requests[1270].Request.Path = "/subscriptions/76e4bcf5-5e74-/resourceGroups/8fa2a50c-d609-4f7/providers/Microsoft.Network/expressRouteCrossConnections"; + Requests[1271] = new DefaultHttpContext(); + Requests[1271].RequestServices = CreateServices(); + Requests[1271].Request.Method = "GET"; + Requests[1271].Request.Path = "/subscriptions/e2da5504-2c5b-/resourceGroups/bedca001-d183-4a9/providers/Microsoft.Network/loadBalancers"; + Requests[1272] = new DefaultHttpContext(); + Requests[1272].RequestServices = CreateServices(); + Requests[1272].Request.Method = "GET"; + Requests[1272].Request.Path = "/subscriptions/0e946a5a-bddc-/resourceGroups/d4a03e81-929c-49f/providers/Microsoft.Network/localNetworkGateways"; + Requests[1273] = new DefaultHttpContext(); + Requests[1273].RequestServices = CreateServices(); + Requests[1273].Request.Method = "GET"; + Requests[1273].Request.Path = "/subscriptions/0a938dd9-a4b5-/resourceGroups/da2af416-93f1-478/providers/Microsoft.Network/networkInterfaces"; + Requests[1274] = new DefaultHttpContext(); + Requests[1274].RequestServices = CreateServices(); + Requests[1274].Request.Method = "GET"; + Requests[1274].Request.Path = "/subscriptions/006749ed-a012-/resourceGroups/3673aedf-2b78-49a/providers/Microsoft.Network/networkSecurityGroups"; + Requests[1275] = new DefaultHttpContext(); + Requests[1275].RequestServices = CreateServices(); + Requests[1275].Request.Method = "GET"; + Requests[1275].Request.Path = "/subscriptions/8896ef10-e4cc-/resourceGroups/58b5c66b-dc05-49a/providers/Microsoft.Network/networkWatchers"; + Requests[1276] = new DefaultHttpContext(); + Requests[1276].RequestServices = CreateServices(); + Requests[1276].Request.Method = "GET"; + Requests[1276].Request.Path = "/subscriptions/d1f03bc5-d92d-/resourceGroups/e82c5fa2-578b-48c/providers/Microsoft.Network/publicIPAddresses"; + Requests[1277] = new DefaultHttpContext(); + Requests[1277].RequestServices = CreateServices(); + Requests[1277].Request.Method = "GET"; + Requests[1277].Request.Path = "/subscriptions/c6479086-8d2b-/resourceGroups/0c200e0f-7dcb-42e/providers/Microsoft.Network/routeFilters"; + Requests[1278] = new DefaultHttpContext(); + Requests[1278].RequestServices = CreateServices(); + Requests[1278].Request.Method = "GET"; + Requests[1278].Request.Path = "/subscriptions/98cff5d0-b407-/resourceGroups/66422938-b32b-4c2/providers/Microsoft.Network/routeTables"; + Requests[1279] = new DefaultHttpContext(); + Requests[1279].RequestServices = CreateServices(); + Requests[1279].Request.Method = "GET"; + Requests[1279].Request.Path = "/subscriptions/e2f9015f-2c64-/resourceGroups/33d1d8ea-a273-46f/providers/Microsoft.Network/trafficmanagerprofiles"; + Requests[1280] = new DefaultHttpContext(); + Requests[1280].RequestServices = CreateServices(); + Requests[1280].Request.Method = "GET"; + Requests[1280].Request.Path = "/subscriptions/8afc8d57-fc63-/resourceGroups/ec0ffa3f-c8bb-48a/providers/Microsoft.Network/virtualNetworkGateways"; + Requests[1281] = new DefaultHttpContext(); + Requests[1281].RequestServices = CreateServices(); + Requests[1281].Request.Method = "GET"; + Requests[1281].Request.Path = "/subscriptions/2b4bf9b6-2a64-/resourceGroups/5f0246e3-efef-487/providers/Microsoft.Network/virtualNetworks"; + Requests[1282] = new DefaultHttpContext(); + Requests[1282].RequestServices = CreateServices(); + Requests[1282].Request.Method = "GET"; + Requests[1282].Request.Path = "/subscriptions/8525363a-914b-/resourceGroups/c8792e1d-c845-416/providers/Microsoft.NotificationHubs/namespaces"; + Requests[1283] = new DefaultHttpContext(); + Requests[1283].RequestServices = CreateServices(); + Requests[1283].Request.Method = "GET"; + Requests[1283].Request.Path = "/subscriptions/4616fc74-97c1-/resourcegroups/96ccfe5e-ec73-46f/providers/Microsoft.OperationalInsights/workspaces"; + Requests[1284] = new DefaultHttpContext(); + Requests[1284].RequestServices = CreateServices(); + Requests[1284].Request.Method = "GET"; + Requests[1284].Request.Path = "/subscriptions/58dcfb4f-f140-/resourcegroups/09ac8467-352a-4fb/providers/Microsoft.OperationsManagement/solutions"; + Requests[1285] = new DefaultHttpContext(); + Requests[1285].RequestServices = CreateServices(); + Requests[1285].Request.Method = "GET"; + Requests[1285].Request.Path = "/subscriptions/7249362d-6103-/resourceGroups/0399ea3f-f37f-497/providers/Microsoft.PowerBI/workspaceCollections"; + Requests[1286] = new DefaultHttpContext(); + Requests[1286].RequestServices = CreateServices(); + Requests[1286].Request.Method = "GET"; + Requests[1286].Request.Path = "/subscriptions/b6bd2100-af0a-/resourceGroups/eb2e32fc-e0e3-48f/providers/Microsoft.PowerBIDedicated/capacities"; + Requests[1287] = new DefaultHttpContext(); + Requests[1287].RequestServices = CreateServices(); + Requests[1287].Request.Method = "GET"; + Requests[1287].Request.Path = "/Subscriptions/f065de3b-03dd-/resourceGroups/a14115d9-ea8b-48d/providers/Microsoft.RecoveryServices/operations"; + Requests[1288] = new DefaultHttpContext(); + Requests[1288].RequestServices = CreateServices(); + Requests[1288].Request.Method = "GET"; + Requests[1288].Request.Path = "/subscriptions/b42eb485-ffd9-/resourceGroups/1446cb59-c069-4c9/providers/Microsoft.RecoveryServices/vaults"; + Requests[1289] = new DefaultHttpContext(); + Requests[1289].RequestServices = CreateServices(); + Requests[1289].Request.Method = "GET"; + Requests[1289].Request.Path = "/subscriptions/f4fc6481-71a3-/resourceGroups/6980e77f-9869-46e/providers/Microsoft.Relay/namespaces"; + Requests[1290] = new DefaultHttpContext(); + Requests[1290].RequestServices = CreateServices(); + Requests[1290].Request.Method = "GET"; + Requests[1290].Request.Path = "/subscriptions/9c794e72-b87c-/resourceGroups/bd3327ac-a2ff-4d4/providers/Microsoft.ResourceHealth/availabilityStatuses"; + Requests[1291] = new DefaultHttpContext(); + Requests[1291].RequestServices = CreateServices(); + Requests[1291].Request.Method = "GET"; + Requests[1291].Request.Path = "/subscriptions/4c8562af-ed4b-/resourcegroups/e52e19d2-aed6-4a7/providers/Microsoft.Resources/deployments"; + Requests[1292] = new DefaultHttpContext(); + Requests[1292].RequestServices = CreateServices(); + Requests[1292].Request.Method = "GET"; + Requests[1292].Request.Path = "/subscriptions/602e2b10-332f-/resourceGroups/fe868954-c4a6-4a3/providers/Microsoft.Scheduler/jobCollections"; + Requests[1293] = new DefaultHttpContext(); + Requests[1293].RequestServices = CreateServices(); + Requests[1293].Request.Method = "GET"; + Requests[1293].Request.Path = "/subscriptions/48613778-0015-/resourceGroups/b1370d9b-bd40-48c/providers/Microsoft.Search/searchServices"; + Requests[1294] = new DefaultHttpContext(); + Requests[1294].RequestServices = CreateServices(); + Requests[1294].Request.Method = "GET"; + Requests[1294].Request.Path = "/subscriptions/ac195450-c529-/resourceGroups/4f9db8ed-98fd-475/providers/Microsoft.Security/alerts"; + Requests[1295] = new DefaultHttpContext(); + Requests[1295].RequestServices = CreateServices(); + Requests[1295].Request.Method = "GET"; + Requests[1295].Request.Path = "/subscriptions/c54b1ec6-3054-/resourceGroups/381abc28-e2e4-417/providers/Microsoft.Security/jitNetworkAccessPolicies"; + Requests[1296] = new DefaultHttpContext(); + Requests[1296].RequestServices = CreateServices(); + Requests[1296].Request.Method = "GET"; + Requests[1296].Request.Path = "/subscriptions/4dbf7447-55aa-/resourceGroups/be8d3997-5dfc-438/providers/Microsoft.Security/pricings"; + Requests[1297] = new DefaultHttpContext(); + Requests[1297].RequestServices = CreateServices(); + Requests[1297].Request.Method = "GET"; + Requests[1297].Request.Path = "/subscriptions/81669e61-441f-/resourceGroups/7f0da9e6-3942-47b/providers/Microsoft.Security/securityContacts"; + Requests[1298] = new DefaultHttpContext(); + Requests[1298].RequestServices = CreateServices(); + Requests[1298].Request.Method = "GET"; + Requests[1298].Request.Path = "/subscriptions/3f62fd31-3004-/resourceGroups/66497d83-93af-4b8/providers/Microsoft.Security/workspaceSettings"; + Requests[1299] = new DefaultHttpContext(); + Requests[1299].RequestServices = CreateServices(); + Requests[1299].Request.Method = "GET"; + Requests[1299].Request.Path = "/subscriptions/dc9aa27e-04bd-/resourceGroups/c0f408c4-976c-4b8/providers/Microsoft.ServerManagement/gateways"; + Requests[1300] = new DefaultHttpContext(); + Requests[1300].RequestServices = CreateServices(); + Requests[1300].Request.Method = "GET"; + Requests[1300].Request.Path = "/subscriptions/108655ea-f84f-/resourceGroups/a998b2fc-e7d9-4f5/providers/Microsoft.ServerManagement/nodes"; + Requests[1301] = new DefaultHttpContext(); + Requests[1301].RequestServices = CreateServices(); + Requests[1301].Request.Method = "GET"; + Requests[1301].Request.Path = "/subscriptions/0bd197e4-0f70-/resourceGroups/b3a683df-34cf-427/providers/Microsoft.ServiceBus/namespaces"; + Requests[1302] = new DefaultHttpContext(); + Requests[1302].RequestServices = CreateServices(); + Requests[1302].Request.Method = "GET"; + Requests[1302].Request.Path = "/subscriptions/e0a8ee49-f819-/resourcegroups/30a5a6ce-e45e-4c0/providers/Microsoft.ServiceFabric/clusters"; + Requests[1303] = new DefaultHttpContext(); + Requests[1303].RequestServices = CreateServices(); + Requests[1303].Request.Method = "GET"; + Requests[1303].Request.Path = "/subscriptions/3859e0d2-dc4c-/resourceGroups/0888d931-8fba-437/providers/Microsoft.SignalRService/SignalR"; + Requests[1304] = new DefaultHttpContext(); + Requests[1304].RequestServices = CreateServices(); + Requests[1304].Request.Method = "GET"; + Requests[1304].Request.Path = "/subscriptions/1d95cbb9-e24a-/resourceGroups/ed25ee12-c091-47d/providers/Microsoft.Solutions/applianceDefinitions"; + Requests[1305] = new DefaultHttpContext(); + Requests[1305].RequestServices = CreateServices(); + Requests[1305].Request.Method = "GET"; + Requests[1305].Request.Path = "/subscriptions/4ef441c7-ccde-/resourceGroups/8bdc45b2-2b53-411/providers/Microsoft.Solutions/appliances"; + Requests[1306] = new DefaultHttpContext(); + Requests[1306].RequestServices = CreateServices(); + Requests[1306].Request.Method = "GET"; + Requests[1306].Request.Path = "/subscriptions/960e5c7c-3d45-/resourceGroups/6196ced3-c339-42c/providers/Microsoft.Solutions/applicationDefinitions"; + Requests[1307] = new DefaultHttpContext(); + Requests[1307].RequestServices = CreateServices(); + Requests[1307].Request.Method = "GET"; + Requests[1307].Request.Path = "/subscriptions/ee1d9e98-f02b-/resourceGroups/208941c0-377a-4e2/providers/Microsoft.Solutions/applications"; + Requests[1308] = new DefaultHttpContext(); + Requests[1308].RequestServices = CreateServices(); + Requests[1308].Request.Method = "GET"; + Requests[1308].Request.Path = "/subscriptions/fd850ce4-6f1a-/resourceGroups/54492495-f64b-47a/providers/Microsoft.Sql/managedInstances"; + Requests[1309] = new DefaultHttpContext(); + Requests[1309].RequestServices = CreateServices(); + Requests[1309].Request.Method = "GET"; + Requests[1309].Request.Path = "/subscriptions/7858eadb-4005-/resourceGroups/31d0c12f-fcfb-49a/providers/Microsoft.Sql/servers"; + Requests[1310] = new DefaultHttpContext(); + Requests[1310].RequestServices = CreateServices(); + Requests[1310].Request.Method = "GET"; + Requests[1310].Request.Path = "/subscriptions/79ef7c72-1050-/resourcegroups/3810870f-6103-455/providers/Microsoft.Storage.Admin/farms"; + Requests[1311] = new DefaultHttpContext(); + Requests[1311].RequestServices = CreateServices(); + Requests[1311].Request.Method = "GET"; + Requests[1311].Request.Path = "/subscriptions/27220928-227f-/resourceGroups/865dda6d-2523-477/providers/Microsoft.Storage/storageAccounts"; + Requests[1312] = new DefaultHttpContext(); + Requests[1312].RequestServices = CreateServices(); + Requests[1312].Request.Method = "GET"; + Requests[1312].Request.Path = "/subscriptions/59e1b819-7861-/resourceGroups/fc358a33-5955-466/providers/Microsoft.StorSimple/managers"; + Requests[1313] = new DefaultHttpContext(); + Requests[1313].RequestServices = CreateServices(); + Requests[1313].Request.Method = "GET"; + Requests[1313].Request.Path = "/subscriptions/4873365c-5102-/resourcegroups/a2b2baff-7111-407/providers/Microsoft.StreamAnalytics/streamingjobs"; + Requests[1314] = new DefaultHttpContext(); + Requests[1314].RequestServices = CreateServices(); + Requests[1314].Request.Method = "GET"; + Requests[1314].Request.Path = "/subscriptions/ee53c771-c767-/resourcegroups/61d9e16f-cf1e-400/providers/Microsoft.Subscriptions.Admin/directoryTenants"; + Requests[1315] = new DefaultHttpContext(); + Requests[1315].RequestServices = CreateServices(); + Requests[1315].Request.Method = "GET"; + Requests[1315].Request.Path = "/subscriptions/a7d7512d-1d1a-/resourcegroups/cf9c2748-284c-4d8/providers/Microsoft.Subscriptions.Admin/offers"; + Requests[1316] = new DefaultHttpContext(); + Requests[1316].RequestServices = CreateServices(); + Requests[1316].Request.Method = "GET"; + Requests[1316].Request.Path = "/subscriptions/4d21c24b-e0ad-/resourcegroups/030982b7-4052-4dd/providers/Microsoft.Subscriptions.Admin/plans"; + Requests[1317] = new DefaultHttpContext(); + Requests[1317].RequestServices = CreateServices(); + Requests[1317].Request.Method = "GET"; + Requests[1317].Request.Path = "/subscriptions/7482b29e-eece-/resourceGroups/c0ac6df9-9352-42b/providers/Microsoft.TimeSeriesInsights/environments"; + Requests[1318] = new DefaultHttpContext(); + Requests[1318].RequestServices = CreateServices(); + Requests[1318].Request.Method = "GET"; + Requests[1318].Request.Path = "/subscriptions/afd6d3cd-6443-/resourcegroups/26f0dfa0-6518-47c/providers/Microsoft.Update.Admin/updateLocations"; + Requests[1319] = new DefaultHttpContext(); + Requests[1319].RequestServices = CreateServices(); + Requests[1319].Request.Method = "GET"; + Requests[1319].Request.Path = "/subscriptions/43b6e6e2-e5f1-/resourcegroups/243aa268-da70-4d8/providers/microsoft.visualstudio/account"; + Requests[1320] = new DefaultHttpContext(); + Requests[1320].RequestServices = CreateServices(); + Requests[1320].Request.Method = "GET"; + Requests[1320].Request.Path = "/subscriptions/46edd6ff-44df-/resourceGroups/2657f165-ead9-4d0/providers/Microsoft.Web/certificates"; + Requests[1321] = new DefaultHttpContext(); + Requests[1321].RequestServices = CreateServices(); + Requests[1321].Request.Method = "GET"; + Requests[1321].Request.Path = "/subscriptions/e5ff3182-5ac0-/resourceGroups/f67b7f2f-4c31-4f1/providers/Microsoft.Web/classicMobileServices"; + Requests[1322] = new DefaultHttpContext(); + Requests[1322].RequestServices = CreateServices(); + Requests[1322].Request.Method = "GET"; + Requests[1322].Request.Path = "/subscriptions/56de45a9-cc5f-/resourceGroups/fbcf6988-f3e6-493/providers/Microsoft.Web/connectionGateways"; + Requests[1323] = new DefaultHttpContext(); + Requests[1323].RequestServices = CreateServices(); + Requests[1323].Request.Method = "GET"; + Requests[1323].Request.Path = "/subscriptions/6ff9483d-7538-/resourceGroups/d2533740-a424-493/providers/Microsoft.Web/connections"; + Requests[1324] = new DefaultHttpContext(); + Requests[1324].RequestServices = CreateServices(); + Requests[1324].Request.Method = "GET"; + Requests[1324].Request.Path = "/subscriptions/f2faab0c-4485-/resourceGroups/ff77b4ad-016a-4c2/providers/Microsoft.Web/csrs"; + Requests[1325] = new DefaultHttpContext(); + Requests[1325].RequestServices = CreateServices(); + Requests[1325].Request.Method = "GET"; + Requests[1325].Request.Path = "/subscriptions/a51b750c-99a9-/resourceGroups/792b88b7-0312-4d4/providers/Microsoft.Web/customApis"; + Requests[1326] = new DefaultHttpContext(); + Requests[1326].RequestServices = CreateServices(); + Requests[1326].Request.Method = "GET"; + Requests[1326].Request.Path = "/subscriptions/6246aa04-9b46-/resourceGroups/e82ad96d-9fe4-496/providers/Microsoft.Web/deletedSites"; + Requests[1327] = new DefaultHttpContext(); + Requests[1327].RequestServices = CreateServices(); + Requests[1327].Request.Method = "GET"; + Requests[1327].Request.Path = "/subscriptions/3e2db9cb-fbf0-/resourceGroups/b46dc0cb-4152-4b6/providers/Microsoft.Web/hostingEnvironments"; + Requests[1328] = new DefaultHttpContext(); + Requests[1328].RequestServices = CreateServices(); + Requests[1328].Request.Method = "GET"; + Requests[1328].Request.Path = "/subscriptions/7e41cf48-4ff1-/resourceGroups/6aa56f8f-5485-499/providers/Microsoft.Web/managedHostingEnvironments"; + Requests[1329] = new DefaultHttpContext(); + Requests[1329].RequestServices = CreateServices(); + Requests[1329].Request.Method = "GET"; + Requests[1329].Request.Path = "/subscriptions/50a9f1dd-889b-/resourceGroups/6a5cdaa5-fe4f-426/providers/Microsoft.Web/resourceHealthMetadata"; + Requests[1330] = new DefaultHttpContext(); + Requests[1330].RequestServices = CreateServices(); + Requests[1330].Request.Method = "GET"; + Requests[1330].Request.Path = "/subscriptions/da38d786-ab2e-/resourceGroups/4236e614-9801-43a/providers/Microsoft.Web/serverfarms"; + Requests[1331] = new DefaultHttpContext(); + Requests[1331].RequestServices = CreateServices(); + Requests[1331].Request.Method = "GET"; + Requests[1331].Request.Path = "/subscriptions/faca8af9-eadb-/resourceGroups/90480097-2a5f-4f8/providers/Microsoft.Web/sites"; + Requests[1332] = new DefaultHttpContext(); + Requests[1332].RequestServices = CreateServices(); + Requests[1332].Request.Method = "POST"; + Requests[1332].Request.Path = "/subscriptions/7a3defbe-7b0b-/resourceGroups/d674498d-fdac-42b/providers/Microsoft.Web/validate"; + Requests[1333] = new DefaultHttpContext(); + Requests[1333].RequestServices = CreateServices(); + Requests[1333].Request.Method = "POST"; + Requests[1333].Request.Path = "/subscriptions/75a9ec55-74ea-/resourceGroups/2ed0db4d-bde1-4ff/providers/Microsoft.BotService/BotServices/listServiceProviders"; + Requests[1334] = new DefaultHttpContext(); + Requests[1334].RequestServices = CreateServices(); + Requests[1334].Request.Method = "PATCH"; + Requests[1334].Request.Path = "/subscriptions/3ab88d53-e4ee-/resourceGroup/f7fad144-70cf-48b/providers/microsoft.insights/workbooks/f2930a94-e97"; + Requests[1335] = new DefaultHttpContext(); + Requests[1335].RequestServices = CreateServices(); + Requests[1335].Request.Method = "PATCH"; + Requests[1335].Request.Path = "/subscriptions/0861f6cc-1abb-/resourceGroups/b00107ee-/providers/Microsoft.DataMigration/services/29a10dd4-08"; + Requests[1336] = new DefaultHttpContext(); + Requests[1336].RequestServices = CreateServices(); + Requests[1336].Request.Method = "DELETE"; + Requests[1336].Request.Path = "/subscriptions/3a925bc0-2398-/resourcegroups/a25c1afd-9404/providers/Microsoft.AzureBridge.Admin/activations/d40f2bf2-b2d2-"; + Requests[1337] = new DefaultHttpContext(); + Requests[1337].RequestServices = CreateServices(); + Requests[1337].Request.Method = "PUT"; + Requests[1337].Request.Path = "/subscriptions/40daddee-0136-/resourceGroups/351d330c-3de5/providers/Microsoft.AzureStack/registrations/6523d045-1be3-42"; + Requests[1338] = new DefaultHttpContext(); + Requests[1338].RequestServices = CreateServices(); + Requests[1338].Request.Method = "PATCH"; + Requests[1338].Request.Path = "/subscriptions/a131f6c6-4b5b-/resourceGroups/44ebe978-086b-437/providers/Microsoft.AAD/domainServices/fa2df088-21a4-4c1"; + Requests[1339] = new DefaultHttpContext(); + Requests[1339].RequestServices = CreateServices(); + Requests[1339].Request.Method = "PATCH"; + Requests[1339].Request.Path = "/subscriptions/56536728-d0d4-/resourceGroups/64683739-bdf4-42e/providers/Microsoft.AnalysisServices/servers/13f685a8-5"; + Requests[1340] = new DefaultHttpContext(); + Requests[1340].RequestServices = CreateServices(); + Requests[1340].Request.Method = "DELETE"; + Requests[1340].Request.Path = "/subscriptions/5a1e5fc3-b11b-/resourceGroups/e2b88c21-89cd-441/providers/Microsoft.ApiManagement/service/26456f4d-ae"; + Requests[1341] = new DefaultHttpContext(); + Requests[1341].RequestServices = CreateServices(); + Requests[1341].Request.Method = "GET"; + Requests[1341].Request.Path = "/subscriptions/ba6ef263-fced-/resourceGroups/a64d4c31-e30d-49f/providers/Microsoft.Authorization/locks/242169ed"; + Requests[1342] = new DefaultHttpContext(); + Requests[1342].RequestServices = CreateServices(); + Requests[1342].Request.Method = "GET"; + Requests[1342].Request.Path = "/subscriptions/9f65b1ae-fc83-/resourceGroups/1f94a89c-6ec0-452/providers/Microsoft.Automation/automationAccounts/69c9a5d1-b70c-45b2-8f"; + Requests[1343] = new DefaultHttpContext(); + Requests[1343].RequestServices = CreateServices(); + Requests[1343].Request.Method = "PUT"; + Requests[1343].Request.Path = "/subscriptions/1e3a817d-a644-/resourcegroups/640d85fd-0c6f-489/providers/Microsoft.Backup.Admin/backupLocations/181ae94f"; + Requests[1344] = new DefaultHttpContext(); + Requests[1344].RequestServices = CreateServices(); + Requests[1344].Request.Method = "GET"; + Requests[1344].Request.Path = "/subscriptions/f167f783-c056-/resourceGroups/1b970a6e-dea8-460/providers/Microsoft.Batch/batchAccounts/6089a6d1-db"; + Requests[1345] = new DefaultHttpContext(); + Requests[1345].RequestServices = CreateServices(); + Requests[1345].Request.Method = "GET"; + Requests[1345].Request.Path = "/subscriptions/b7e16b54-b8e7-/resourceGroups/c32ba33e-5e3a-4e5/providers/Microsoft.BatchAI/clusters/f9e3024d-a5"; + Requests[1346] = new DefaultHttpContext(); + Requests[1346].RequestServices = CreateServices(); + Requests[1346].Request.Method = "GET"; + Requests[1346].Request.Path = "/subscriptions/12fb909b-5013-/resourceGroups/4ab56901-e16a-440/providers/Microsoft.BatchAI/fileServers/69bf1072-85d2-"; + Requests[1347] = new DefaultHttpContext(); + Requests[1347].RequestServices = CreateServices(); + Requests[1347].Request.Method = "GET"; + Requests[1347].Request.Path = "/subscriptions/0fa8901f-f6a0-/resourceGroups/0d1e537a-fdd6-4cd/providers/Microsoft.BatchAI/jobs/a8f4439"; + Requests[1348] = new DefaultHttpContext(); + Requests[1348].RequestServices = CreateServices(); + Requests[1348].Request.Method = "GET"; + Requests[1348].Request.Path = "/subscriptions/791e84eb-2630-/resourceGroups/68b99ebb-393f-4ba/providers/Microsoft.BatchAI/workspaces/97cf620a-d521"; + Requests[1349] = new DefaultHttpContext(); + Requests[1349].RequestServices = CreateServices(); + Requests[1349].Request.Method = "GET"; + Requests[1349].Request.Path = "/subscriptions/4deb81b7-9410-/resourceGroups/b72f1c59-990a-491/providers/Microsoft.BotService/botServices/c494bc01-a5b"; + Requests[1350] = new DefaultHttpContext(); + Requests[1350].RequestServices = CreateServices(); + Requests[1350].Request.Method = "GET"; + Requests[1350].Request.Path = "/subscriptions/838c8f90-33a4-/resourceGroups/59cb6668-45e9-4d0/providers/Microsoft.Cache/Redis/b0e49"; + Requests[1351] = new DefaultHttpContext(); + Requests[1351].RequestServices = CreateServices(); + Requests[1351].Request.Method = "DELETE"; + Requests[1351].Request.Path = "/subscriptions/41d8d0f5-1650-/resourceGroups/86dc3c2f-cd8b-435/providers/Microsoft.Cdn/profiles/07f850d8-cc"; + Requests[1352] = new DefaultHttpContext(); + Requests[1352].RequestServices = CreateServices(); + Requests[1352].Request.Method = "PATCH"; + Requests[1352].Request.Path = "/subscriptions/c2745dd2-b610-/resourceGroups/77ef005e-2239-427/providers/Microsoft.CertificateRegistration/certificateOrders/28218"; + Requests[1353] = new DefaultHttpContext(); + Requests[1353].RequestServices = CreateServices(); + Requests[1353].Request.Method = "GET"; + Requests[1353].Request.Path = "/subscriptions/c73a1046-57f0-/resourceGroups/b29283ec-b3b1-40d/providers/Microsoft.CognitiveServices/accounts/d7bd875d-bd"; + Requests[1354] = new DefaultHttpContext(); + Requests[1354].RequestServices = CreateServices(); + Requests[1354].Request.Method = "GET"; + Requests[1354].Request.Path = "/subscriptions/3fe24fb6-d76b-/resourceGroups/9e62d78d-072c-4bc/providers/Microsoft.Compute/availabilitySets/da1cdd62-4886-4105-"; + Requests[1355] = new DefaultHttpContext(); + Requests[1355].RequestServices = CreateServices(); + Requests[1355].Request.Method = "DELETE"; + Requests[1355].Request.Path = "/subscriptions/2e34ef2b-895b-/resourceGroups/4bb48601-ae53-41f/providers/Microsoft.Compute/disks/fcbac7a5"; + Requests[1356] = new DefaultHttpContext(); + Requests[1356].RequestServices = CreateServices(); + Requests[1356].Request.Method = "DELETE"; + Requests[1356].Request.Path = "/subscriptions/6627569d-0561-/resourceGroups/dd427210-771b-442/providers/Microsoft.Compute/galleries/4a058edf-da"; + Requests[1357] = new DefaultHttpContext(); + Requests[1357].RequestServices = CreateServices(); + Requests[1357].Request.Method = "GET"; + Requests[1357].Request.Path = "/subscriptions/6c7b8a40-bedb-/resourceGroups/f4e58237-fb98-49b/providers/Microsoft.Compute/images/c6d952b7-"; + Requests[1358] = new DefaultHttpContext(); + Requests[1358].RequestServices = CreateServices(); + Requests[1358].Request.Method = "DELETE"; + Requests[1358].Request.Path = "/subscriptions/05726b70-04a7-/resourceGroups/74b22219-bf43-460/providers/Microsoft.Compute/snapshots/7347a895-dec"; + Requests[1359] = new DefaultHttpContext(); + Requests[1359].RequestServices = CreateServices(); + Requests[1359].Request.Method = "GET"; + Requests[1359].Request.Path = "/subscriptions/cfb1dc9a-95d4-/resourceGroups/cfb8539d-9936-46e/providers/Microsoft.Compute/virtualMachines/a64b75"; + Requests[1360] = new DefaultHttpContext(); + Requests[1360].RequestServices = CreateServices(); + Requests[1360].Request.Method = "GET"; + Requests[1360].Request.Path = "/subscriptions/a4a8e0c0-0c54-/resourceGroups/a5bd0c15-789f-425/providers/Microsoft.Compute/virtualMachineScaleSets/535361ce-c7e7-"; + Requests[1361] = new DefaultHttpContext(); + Requests[1361].RequestServices = CreateServices(); + Requests[1361].Request.Method = "DELETE"; + Requests[1361].Request.Path = "/subscriptions/dae05721-f7fe-/resourceGroups/72b2d39c-3566-46d/providers/Microsoft.Consumption/budgets/008ee7d3-b"; + Requests[1362] = new DefaultHttpContext(); + Requests[1362].RequestServices = CreateServices(); + Requests[1362].Request.Method = "DELETE"; + Requests[1362].Request.Path = "/subscriptions/9ac014ac-a4f0-/resourceGroups/ba40bf1d-1e29-4bd/providers/Microsoft.ContainerInstance/containerGroups/ba3852af-7378-4e51"; + Requests[1363] = new DefaultHttpContext(); + Requests[1363].RequestServices = CreateServices(); + Requests[1363].Request.Method = "PATCH"; + Requests[1363].Request.Path = "/subscriptions/8c1c3efa-1b59-/resourceGroups/c5534a39-5385-4fa/providers/Microsoft.ContainerRegistry/registries/84aee8bf-068"; + Requests[1364] = new DefaultHttpContext(); + Requests[1364].RequestServices = CreateServices(); + Requests[1364].Request.Method = "DELETE"; + Requests[1364].Request.Path = "/subscriptions/602f6013-00f5-/resourceGroups/3fdfa9ec-6c07-437/providers/Microsoft.ContainerService/containerServices/67f000bd-4ff2-43de-b"; + Requests[1365] = new DefaultHttpContext(); + Requests[1365].RequestServices = CreateServices(); + Requests[1365].Request.Method = "DELETE"; + Requests[1365].Request.Path = "/subscriptions/069984d5-5501-/resourceGroups/77756d6f-1cb2-40b/providers/Microsoft.ContainerService/managedClusters/9e0aba87-8d7"; + Requests[1366] = new DefaultHttpContext(); + Requests[1366].RequestServices = CreateServices(); + Requests[1366].Request.Method = "GET"; + Requests[1366].Request.Path = "/subscriptions/7d029d0f-df7c-/resourceGroups/f109bd73-02fb-447/providers/Microsoft.CustomerInsights/hubs/64129f9"; + Requests[1367] = new DefaultHttpContext(); + Requests[1367].RequestServices = CreateServices(); + Requests[1367].Request.Method = "PATCH"; + Requests[1367].Request.Path = "/subscriptions/4e0f3c17-0dac-/resourceGroups/5571fd88-f472-408/providers/Microsoft.DataBox/jobs/e56db5e"; + Requests[1368] = new DefaultHttpContext(); + Requests[1368].RequestServices = CreateServices(); + Requests[1368].Request.Method = "PATCH"; + Requests[1368].Request.Path = "/subscriptions/bf5c2ad2-cc53-/resourceGroups/aa79b34f-f052-4b4/providers/Microsoft.Databricks/workspaces/4252970d-6c10"; + Requests[1369] = new DefaultHttpContext(); + Requests[1369].RequestServices = CreateServices(); + Requests[1369].Request.Method = "PATCH"; + Requests[1369].Request.Path = "/subscriptions/a469ed0d-e29b-/resourceGroups/bde50cd6-cd8e-4bb/providers/Microsoft.DataCatalog/catalogs/0f90c507-ab"; + Requests[1370] = new DefaultHttpContext(); + Requests[1370].RequestServices = CreateServices(); + Requests[1370].Request.Method = "DELETE"; + Requests[1370].Request.Path = "/subscriptions/0f3d6564-31ed-/resourceGroups/ef96a7cc-156b-48d/providers/Microsoft.DataFactory/factories/7bd09b59-10"; + Requests[1371] = new DefaultHttpContext(); + Requests[1371].RequestServices = CreateServices(); + Requests[1371].Request.Method = "DELETE"; + Requests[1371].Request.Path = "/subscriptions/1569254f-8d15-/resourceGroups/2c8582c6-f38a-4ae/providers/Microsoft.DataLakeAnalytics/accounts/ac82eb8f-0b"; + Requests[1372] = new DefaultHttpContext(); + Requests[1372].RequestServices = CreateServices(); + Requests[1372].Request.Method = "DELETE"; + Requests[1372].Request.Path = "/subscriptions/05fcc97d-74bc-/resourceGroups/5f1b1432-1167-476/providers/Microsoft.DataLakeStore/accounts/9c5aaf9b-92"; + Requests[1373] = new DefaultHttpContext(); + Requests[1373].RequestServices = CreateServices(); + Requests[1373].Request.Method = "GET"; + Requests[1373].Request.Path = "/subscriptions/17bc7038-1f05-/resourceGroups/8436181b-b2f1-4e5/providers/Microsoft.DBforMySQL/servers/0fb95329-1"; + Requests[1374] = new DefaultHttpContext(); + Requests[1374].RequestServices = CreateServices(); + Requests[1374].Request.Method = "GET"; + Requests[1374].Request.Path = "/subscriptions/f792b6a9-527e-/resourceGroups/6404ecf9-ae30-4e3/providers/Microsoft.DBforPostgreSQL/servers/fe47e6e0-f"; + Requests[1375] = new DefaultHttpContext(); + Requests[1375].RequestServices = CreateServices(); + Requests[1375].Request.Method = "DELETE"; + Requests[1375].Request.Path = "/subscriptions/fe6eacfd-7501-/resourceGroups/e202ff4f-fa93-40a/providers/Microsoft.Devices/IotHubs/7bab075a-745"; + Requests[1376] = new DefaultHttpContext(); + Requests[1376].RequestServices = CreateServices(); + Requests[1376].Request.Method = "DELETE"; + Requests[1376].Request.Path = "/subscriptions/bb546ef6-7ef8-/resourceGroups/dc7b4148-c1e5-46e/providers/Microsoft.Devices/provisioningServices/41f30963-0cf3-4628-aa6d"; + Requests[1377] = new DefaultHttpContext(); + Requests[1377].RequestServices = CreateServices(); + Requests[1377].Request.Method = "PATCH"; + Requests[1377].Request.Path = "/subscriptions/842332ef-615b-/resourceGroups/e86181a7-6c65-41e/providers/Microsoft.DevTestLab/labs/d3d1a"; + Requests[1378] = new DefaultHttpContext(); + Requests[1378].RequestServices = CreateServices(); + Requests[1378].Request.Method = "PATCH"; + Requests[1378].Request.Path = "/subscriptions/b37795ad-2c7f-/resourceGroups/7ab24a17-0bd3-49e/providers/Microsoft.DevTestLab/schedules/32930"; + Requests[1379] = new DefaultHttpContext(); + Requests[1379].RequestServices = CreateServices(); + Requests[1379].Request.Method = "DELETE"; + Requests[1379].Request.Path = "/subscriptions/4683dc1a-2da1-/resourceGroups/8eda5cb7-f1fc-4c9/providers/Microsoft.DocumentDB/databaseAccounts/6a7e66c3-dc"; + Requests[1380] = new DefaultHttpContext(); + Requests[1380].RequestServices = CreateServices(); + Requests[1380].Request.Method = "PATCH"; + Requests[1380].Request.Path = "/subscriptions/df74f0cd-3087-/resourceGroups/addca7c3-74c9-4e6/providers/Microsoft.DomainRegistration/domains/9d1e34e9-8"; + Requests[1381] = new DefaultHttpContext(); + Requests[1381].RequestServices = CreateServices(); + Requests[1381].Request.Method = "PATCH"; + Requests[1381].Request.Path = "/subscriptions/33b5fb54-da3a-/resourceGroups/770f7d30-ad14-41b/providers/Microsoft.EventGrid/topics/332017d7-"; + Requests[1382] = new DefaultHttpContext(); + Requests[1382].RequestServices = CreateServices(); + Requests[1382].Request.Method = "PATCH"; + Requests[1382].Request.Path = "/subscriptions/48c6b3c0-a190-/resourceGroups/a2bcc8b8-284f-488/providers/Microsoft.EventHub/clusters/5170a8cf-df"; + Requests[1383] = new DefaultHttpContext(); + Requests[1383].RequestServices = CreateServices(); + Requests[1383].Request.Method = "PATCH"; + Requests[1383].Request.Path = "/subscriptions/d2634370-0d5d-/resourceGroups/5043ef26-152d-416/providers/Microsoft.EventHub/namespaces/f1cd8d8e-6948"; + Requests[1384] = new DefaultHttpContext(); + Requests[1384].RequestServices = CreateServices(); + Requests[1384].Request.Method = "GET"; + Requests[1384].Request.Path = "/subscriptions/cb6176ef-701e-/resourceGroups/36852b24-2b2d-443/providers/Microsoft.Fabric.Admin/fabricLocations/d677484c-f156-"; + Requests[1385] = new DefaultHttpContext(); + Requests[1385].RequestServices = CreateServices(); + Requests[1385].Request.Method = "GET"; + Requests[1385].Request.Path = "/subscriptions/e409f89f-27c9-/resourceGroups/51479c73-ac07-4b2/providers/Microsoft.HanaOnAzure/hanaInstances/7b288305-2c47-45"; + Requests[1386] = new DefaultHttpContext(); + Requests[1386].RequestServices = CreateServices(); + Requests[1386].Request.Method = "GET"; + Requests[1386].Request.Path = "/subscriptions/736d278f-e862-/resourceGroups/a6207992-4806-488/providers/Microsoft.HDInsight/clusters/2ee853e6-80"; + Requests[1387] = new DefaultHttpContext(); + Requests[1387].RequestServices = CreateServices(); + Requests[1387].Request.Method = "DELETE"; + Requests[1387].Request.Path = "/subscriptions/17afb31b-2e24-/resourceGroups/f9f23159-583b-429/providers/Microsoft.ImportExport/jobs/ed3c86e"; + Requests[1388] = new DefaultHttpContext(); + Requests[1388].RequestServices = CreateServices(); + Requests[1388].Request.Method = "GET"; + Requests[1388].Request.Path = "/subscriptions/df7067e9-5aa3-/resourceGroups/9bd68aa8-87ca-4c7/providers/Microsoft.InfrastructureInsights.Admin/regionHealths/53270cd6"; + Requests[1389] = new DefaultHttpContext(); + Requests[1389].RequestServices = CreateServices(); + Requests[1389].Request.Method = "PATCH"; + Requests[1389].Request.Path = "/subscriptions/d3aadab1-b567-/resourceGroups/42e42b9e-f958-42d/providers/microsoft.insights/actionGroups/60ef8964-7770-4"; + Requests[1390] = new DefaultHttpContext(); + Requests[1390].RequestServices = CreateServices(); + Requests[1390].Request.Method = "PATCH"; + Requests[1390].Request.Path = "/subscriptions/518a2c91-6752-/resourceGroups/55c601ff-5a11-4f6/providers/microsoft.insights/activityLogAlerts/a1cc29fe-cfb9-4392-b"; + Requests[1391] = new DefaultHttpContext(); + Requests[1391].RequestServices = CreateServices(); + Requests[1391].Request.Method = "PATCH"; + Requests[1391].Request.Path = "/subscriptions/c00aeb8e-ae35-/resourcegroups/b69f52a8-5bd0-4a4/providers/microsoft.insights/alertrules/906488c8"; + Requests[1392] = new DefaultHttpContext(); + Requests[1392].RequestServices = CreateServices(); + Requests[1392].Request.Method = "PATCH"; + Requests[1392].Request.Path = "/subscriptions/17374bbd-85da-/resourcegroups/78116756-4ffc-44f/providers/microsoft.insights/autoscalesettings/b32074dc-349b-4eba-9"; + Requests[1393] = new DefaultHttpContext(); + Requests[1393].RequestServices = CreateServices(); + Requests[1393].Request.Method = "PATCH"; + Requests[1393].Request.Path = "/subscriptions/ccb9751b-c5d4-/resourceGroups/c5b843cc-8b94-4ca/providers/Microsoft.Insights/components/218f15d5-38e"; + Requests[1394] = new DefaultHttpContext(); + Requests[1394].RequestServices = CreateServices(); + Requests[1394].Request.Method = "DELETE"; + Requests[1394].Request.Path = "/subscriptions/dbf2b620-35ee-/resourceGroups/a6c73e59-03ce-4b4/providers/Microsoft.Insights/metricAlerts/b751fff3"; + Requests[1395] = new DefaultHttpContext(); + Requests[1395].RequestServices = CreateServices(); + Requests[1395].Request.Method = "DELETE"; + Requests[1395].Request.Path = "/subscriptions/0325606c-529d-/resourcegroups/02553922-507f-42d/providers/microsoft.insights/scheduledQueryRules/a66663a2"; + Requests[1396] = new DefaultHttpContext(); + Requests[1396].RequestServices = CreateServices(); + Requests[1396].Request.Method = "DELETE"; + Requests[1396].Request.Path = "/subscriptions/56ac598e-e97b-/resourceGroups/4f8cf665-48b1-4e7/providers/Microsoft.Insights/webtests/084c0356-df"; + Requests[1397] = new DefaultHttpContext(); + Requests[1397].RequestServices = CreateServices(); + Requests[1397].Request.Method = "DELETE"; + Requests[1397].Request.Path = "/subscriptions/fc05a876-517b-/resourceGroups/9a118c2b-9fc5-4c1/providers/Microsoft.IoTCentral/IoTApps/679bf88e-d3b"; + Requests[1398] = new DefaultHttpContext(); + Requests[1398].RequestServices = CreateServices(); + Requests[1398].Request.Method = "DELETE"; + Requests[1398].Request.Path = "/subscriptions/e0169818-fff6-/resourceGroups/9d6d3de8-31e4-44d/providers/Microsoft.IoTSpaces/Graph/8f268af2-420"; + Requests[1399] = new DefaultHttpContext(); + Requests[1399].RequestServices = CreateServices(); + Requests[1399].Request.Method = "GET"; + Requests[1399].Request.Path = "/subscriptions/27ac4227-fc3f-/resourceGroups/cb5fb44e-bca7-452/providers/Microsoft.KeyVault/vaults/19e679c0-"; + Requests[1400] = new DefaultHttpContext(); + Requests[1400].RequestServices = CreateServices(); + Requests[1400].Request.Method = "DELETE"; + Requests[1400].Request.Path = "/subscriptions/65f77acb-7945-/resourceGroups/d46fd3cd-5354-4fd/providers/Microsoft.Logic/integrationAccounts/5498e9a2-507e-407c-bbb"; + Requests[1401] = new DefaultHttpContext(); + Requests[1401].RequestServices = CreateServices(); + Requests[1401].Request.Method = "DELETE"; + Requests[1401].Request.Path = "/subscriptions/4e126f94-fdea-/resourceGroups/5ecb051c-b44d-485/providers/Microsoft.Logic/workflows/7abfda60-a97"; + Requests[1402] = new DefaultHttpContext(); + Requests[1402].RequestServices = CreateServices(); + Requests[1402].Request.Method = "PARAMETERS"; + Requests[1402].Request.Path = "/subscriptions/de1f1a54-1ef5-/resourceGroups/cc1e5d0d-b5e7-40b/providers/Microsoft.MachineLearning/commitmentPlans/872bda94-b817-4a69"; + Requests[1403] = new DefaultHttpContext(); + Requests[1403].RequestServices = CreateServices(); + Requests[1403].Request.Method = "DELETE"; + Requests[1403].Request.Path = "/subscriptions/ed631721-6c3a-/resourceGroups/b72625d6-c5ae-439/providers/Microsoft.MachineLearning/webServices/6e98ee4e-dfe0-"; + Requests[1404] = new DefaultHttpContext(); + Requests[1404].RequestServices = CreateServices(); + Requests[1404].Request.Method = "PATCH"; + Requests[1404].Request.Path = "/subscriptions/e1c2c4e9-8caf-/resourceGroups/dad9e064-6354-432/providers/Microsoft.MachineLearning/workspaces/1f33b208-29c0"; + Requests[1405] = new DefaultHttpContext(); + Requests[1405].RequestServices = CreateServices(); + Requests[1405].Request.Method = "DELETE"; + Requests[1405].Request.Path = "/subscriptions/f640eb28-b3a0-/resourceGroups/a5a7934f-b5a9-4e7/providers/Microsoft.MachineLearningCompute/operationalizationClusters/4b43b5f3-41"; + Requests[1406] = new DefaultHttpContext(); + Requests[1406].RequestServices = CreateServices(); + Requests[1406].Request.Method = "PATCH"; + Requests[1406].Request.Path = "/subscriptions/709323a7-26c1-/resourceGroups/51340a02-0471-46c/providers/Microsoft.MachineLearningExperimentation/accounts/83e01e96-eb"; + Requests[1407] = new DefaultHttpContext(); + Requests[1407].RequestServices = CreateServices(); + Requests[1407].Request.Method = "PATCH"; + Requests[1407].Request.Path = "/subscriptions/352262d7-875a-/resourceGroups/7ce7c05e-f5f3-407/providers/Microsoft.MachineLearningServices/workspaces/e6dad685-c929"; + Requests[1408] = new DefaultHttpContext(); + Requests[1408].RequestServices = CreateServices(); + Requests[1408].Request.Method = "DELETE"; + Requests[1408].Request.Path = "/subscriptions/da3268b9-c9a1-/resourceGroups/02f51e07-bf57-408/providers/Microsoft.ManagedIdentity/userAssignedIdentities/c674899b-822"; + Requests[1409] = new DefaultHttpContext(); + Requests[1409].RequestServices = CreateServices(); + Requests[1409].Request.Method = "GET"; + Requests[1409].Request.Path = "/subscriptions/c2ea7e68-cff1-/resourceGroups/be2af193-a1e4-452/providers/Microsoft.Maps/accounts/c55a3c77-dc"; + Requests[1410] = new DefaultHttpContext(); + Requests[1410].RequestServices = CreateServices(); + Requests[1410].Request.Method = "PATCH"; + Requests[1410].Request.Path = "/subscriptions/a0b93e34-2734-/resourceGroups/7187ba76-49c6-489/providers/Microsoft.Media/mediaservices/ff52fdc0-d8f2-47"; + Requests[1411] = new DefaultHttpContext(); + Requests[1411].RequestServices = CreateServices(); + Requests[1411].Request.Method = "DELETE"; + Requests[1411].Request.Path = "/subscriptions/8ebdb3a7-bdb2-/resourcegroups/0e93b769-4cd6-4e0/providers/Microsoft.Migrate/projects/ae630259-06"; + Requests[1412] = new DefaultHttpContext(); + Requests[1412].RequestServices = CreateServices(); + Requests[1412].Request.Method = "PATCH"; + Requests[1412].Request.Path = "/subscriptions/ecb10c61-b542-/resourceGroups/28ad036e-067e-4d6/providers/Microsoft.Network/applicationGateways/18893bfc-8472-4255-b96"; + Requests[1413] = new DefaultHttpContext(); + Requests[1413].RequestServices = CreateServices(); + Requests[1413].Request.Method = "PUT"; + Requests[1413].Request.Path = "/subscriptions/6fe6049b-b7c3-/resourceGroups/483ef43c-198e-40f/providers/Microsoft.Network/applicationSecurityGroups/d78f3620-bb14-4deb-b940-3245"; + Requests[1414] = new DefaultHttpContext(); + Requests[1414].RequestServices = CreateServices(); + Requests[1414].Request.Method = "PATCH"; + Requests[1414].Request.Path = "/subscriptions/6cb76ce4-0750-/resourceGroups/1752900e-6cdb-41d/providers/Microsoft.Network/connections/6c1c6272-a47c-449f-9f84-a577e9616f3"; + Requests[1415] = new DefaultHttpContext(); + Requests[1415].RequestServices = CreateServices(); + Requests[1415].Request.Method = "PUT"; + Requests[1415].Request.Path = "/subscriptions/20d2e215-776d-/resourceGroups/4b83ebe8-4e21-45b/providers/Microsoft.Network/ddosProtectionPlans/efc89548-e8a9-486a-91b"; + Requests[1416] = new DefaultHttpContext(); + Requests[1416].RequestServices = CreateServices(); + Requests[1416].Request.Method = "PATCH"; + Requests[1416].Request.Path = "/subscriptions/2ec8accf-349d-/resourceGroups/447d73c5-b495-4aa/providers/Microsoft.Network/dnsZones/08e072cb"; + Requests[1417] = new DefaultHttpContext(); + Requests[1417].RequestServices = CreateServices(); + Requests[1417].Request.Method = "PATCH"; + Requests[1417].Request.Path = "/subscriptions/4d074c60-f304-/resourceGroups/329c2294-1087-49a/providers/Microsoft.Network/expressRouteCircuits/f0736974-f3"; + Requests[1418] = new DefaultHttpContext(); + Requests[1418].RequestServices = CreateServices(); + Requests[1418].Request.Method = "PATCH"; + Requests[1418].Request.Path = "/subscriptions/8e0de7cb-91d1-/resourceGroups/8ee3541c-4658-415/providers/Microsoft.Network/expressRouteCrossConnections/0172603f-20d9-4aa4-"; + Requests[1419] = new DefaultHttpContext(); + Requests[1419].RequestServices = CreateServices(); + Requests[1419].Request.Method = "PATCH"; + Requests[1419].Request.Path = "/subscriptions/5ac639d8-930a-/resourceGroups/c5a2b796-db09-4de/providers/Microsoft.Network/loadBalancers/bee1828b-d43d-4a"; + Requests[1420] = new DefaultHttpContext(); + Requests[1420].RequestServices = CreateServices(); + Requests[1420].Request.Method = "PATCH"; + Requests[1420].Request.Path = "/subscriptions/a36e6661-75d8-/resourceGroups/04857458-e2ce-4e3/providers/Microsoft.Network/localNetworkGateways/c0788647-ce3c-4f53-b776"; + Requests[1421] = new DefaultHttpContext(); + Requests[1421].RequestServices = CreateServices(); + Requests[1421].Request.Method = "PATCH"; + Requests[1421].Request.Path = "/subscriptions/81153c52-7d97-/resourceGroups/aeb9b704-e472-43a/providers/Microsoft.Network/networkInterfaces/7d0815cf-adc5-414c-8"; + Requests[1422] = new DefaultHttpContext(); + Requests[1422].RequestServices = CreateServices(); + Requests[1422].Request.Method = "PATCH"; + Requests[1422].Request.Path = "/subscriptions/b02ffbeb-7771-/resourceGroups/28ea21ea-984d-4b3/providers/Microsoft.Network/networkSecurityGroups/ca3ece8f-9e29-4090-812e-"; + Requests[1423] = new DefaultHttpContext(); + Requests[1423].RequestServices = CreateServices(); + Requests[1423].Request.Method = "PATCH"; + Requests[1423].Request.Path = "/subscriptions/f5a9ffa6-9b5e-/resourceGroups/629c7ec5-417b-480/providers/Microsoft.Network/networkWatchers/54b3f696-1d73-4fbf"; + Requests[1424] = new DefaultHttpContext(); + Requests[1424].RequestServices = CreateServices(); + Requests[1424].Request.Method = "PATCH"; + Requests[1424].Request.Path = "/subscriptions/05d33c8e-4f4c-/resourceGroups/ce3710ae-43f3-47f/providers/Microsoft.Network/publicIPAddresses/72095a21-9bc0-40d0-"; + Requests[1425] = new DefaultHttpContext(); + Requests[1425].RequestServices = CreateServices(); + Requests[1425].Request.Method = "PATCH"; + Requests[1425].Request.Path = "/subscriptions/0a21f404-bf66-/resourceGroups/59ab462b-fdb1-408/providers/Microsoft.Network/routeFilters/d9acbb5c-2873-4"; + Requests[1426] = new DefaultHttpContext(); + Requests[1426].RequestServices = CreateServices(); + Requests[1426].Request.Method = "PATCH"; + Requests[1426].Request.Path = "/subscriptions/9430afe8-c60f-/resourceGroups/35322b19-34c2-4db/providers/Microsoft.Network/routeTables/72ad6684-165c-"; + Requests[1427] = new DefaultHttpContext(); + Requests[1427].RequestServices = CreateServices(); + Requests[1427].Request.Method = "PATCH"; + Requests[1427].Request.Path = "/subscriptions/a758d8d4-d26b-/resourceGroups/6a65646d-9f95-4ed/providers/Microsoft.Network/trafficmanagerprofiles/9e50c36d-9f"; + Requests[1428] = new DefaultHttpContext(); + Requests[1428].RequestServices = CreateServices(); + Requests[1428].Request.Method = "PATCH"; + Requests[1428].Request.Path = "/subscriptions/70c09d34-8bcc-/resourceGroups/e6f31a13-ec29-470/providers/Microsoft.Network/virtualNetworkGateways/4825c117-a558-43e8-8477-3"; + Requests[1429] = new DefaultHttpContext(); + Requests[1429].RequestServices = CreateServices(); + Requests[1429].Request.Method = "PATCH"; + Requests[1429].Request.Path = "/subscriptions/c850e109-8bd2-/resourceGroups/20acccd9-d7d6-448/providers/Microsoft.Network/virtualNetworks/ad4ba2f3-f9a7-4996"; + Requests[1430] = new DefaultHttpContext(); + Requests[1430].RequestServices = CreateServices(); + Requests[1430].Request.Method = "GET"; + Requests[1430].Request.Path = "/subscriptions/4d4d7367-72d7-/resourceGroups/6c89eb20-8782-438/providers/Microsoft.NotificationHubs/namespaces/10b89170-f934"; + Requests[1431] = new DefaultHttpContext(); + Requests[1431].RequestServices = CreateServices(); + Requests[1431].Request.Method = "PATCH"; + Requests[1431].Request.Path = "/subscriptions/f6dfba18-cb52-/resourcegroups/7012f0d2-fcb7-4ee/providers/Microsoft.OperationalInsights/workspaces/5550994e-0ade"; + Requests[1432] = new DefaultHttpContext(); + Requests[1432].RequestServices = CreateServices(); + Requests[1432].Request.Method = "GET"; + Requests[1432].Request.Path = "/subscriptions/c961be4f-4ca4-/resourcegroups/99b102c9-e3cf-442/providers/Microsoft.OperationsManagement/ManagementConfigurations/fefa6692-0c7e-45d9-b65e-0fc"; + Requests[1433] = new DefaultHttpContext(); + Requests[1433].RequestServices = CreateServices(); + Requests[1433].Request.Method = "GET"; + Requests[1433].Request.Path = "/subscriptions/0055c872-6f53-/resourcegroups/35d7ade1-602e-4d9/providers/Microsoft.OperationsManagement/solutions/23878b5d-e36"; + Requests[1434] = new DefaultHttpContext(); + Requests[1434].RequestServices = CreateServices(); + Requests[1434].Request.Method = "DELETE"; + Requests[1434].Request.Path = "/subscriptions/90091fab-0e1e-/resourceGroups/cd595e9b-f49b-442/providers/Microsoft.PowerBI/workspaceCollections/b8d00aa6-229e-42f9-88ed"; + Requests[1435] = new DefaultHttpContext(); + Requests[1435].RequestServices = CreateServices(); + Requests[1435].Request.Method = "PATCH"; + Requests[1435].Request.Path = "/subscriptions/58e81ca8-568f-/resourceGroups/4411c821-a9a2-45e/providers/Microsoft.PowerBIDedicated/capacities/89f2c91d-3a61-4738-ba"; + Requests[1436] = new DefaultHttpContext(); + Requests[1436].RequestServices = CreateServices(); + Requests[1436].Request.Method = "PATCH"; + Requests[1436].Request.Path = "/subscriptions/9403d47d-cb65-/resourceGroups/4c31245b-59ac-4ff/providers/Microsoft.RecoveryServices/vaults/011631c4-"; + Requests[1437] = new DefaultHttpContext(); + Requests[1437].RequestServices = CreateServices(); + Requests[1437].Request.Method = "PATCH"; + Requests[1437].Request.Path = "/subscriptions/2c165938-4a83-/resourceGroups/713bab5d-4de2-461/providers/Microsoft.Relay/namespaces/6668e4c0-abc8"; + Requests[1438] = new DefaultHttpContext(); + Requests[1438].RequestServices = CreateServices(); + Requests[1438].Request.Method = "GET"; + Requests[1438].Request.Path = "/subscriptions/135433d3-120a-/resourcegroups/df3ea1e8-c66e-45f/providers/Microsoft.Resources/deployments/a0b4e3ab-be3a-"; + Requests[1439] = new DefaultHttpContext(); + Requests[1439].RequestServices = CreateServices(); + Requests[1439].Request.Method = "DELETE"; + Requests[1439].Request.Path = "/subscriptions/18efd3d8-2341-/resourceGroups/f9445bde-e0ba-4ef/providers/Microsoft.Scheduler/jobCollections/44779061-c49b-4a0"; + Requests[1440] = new DefaultHttpContext(); + Requests[1440].RequestServices = CreateServices(); + Requests[1440].Request.Method = "DELETE"; + Requests[1440].Request.Path = "/subscriptions/dda2d11e-1352-/resourceGroups/b8147fc8-f8de-462/providers/Microsoft.Search/searchServices/1a9d81e3-2209-4ac"; + Requests[1441] = new DefaultHttpContext(); + Requests[1441].RequestServices = CreateServices(); + Requests[1441].Request.Method = "PUT"; + Requests[1441].Request.Path = "/subscriptions/868c2158-ed58-/resourceGroups/cc4feda1-fde5-480/providers/Microsoft.Security/pricings/4cf81c08-e6"; + Requests[1442] = new DefaultHttpContext(); + Requests[1442].RequestServices = CreateServices(); + Requests[1442].Request.Method = "PATCH"; + Requests[1442].Request.Path = "/subscriptions/a0148516-2e4e-/resourceGroups/14473da4-9aaf-411/providers/Microsoft.Security/securityContacts/ae44ccb9-14b3-4638-"; + Requests[1443] = new DefaultHttpContext(); + Requests[1443].RequestServices = CreateServices(); + Requests[1443].Request.Method = "PATCH"; + Requests[1443].Request.Path = "/subscriptions/def5357f-3b0d-/resourceGroups/f1c99d2d-85ec-433/providers/Microsoft.Security/workspaceSettings/5c0b5f68-7bab-47f0-a"; + Requests[1444] = new DefaultHttpContext(); + Requests[1444].RequestServices = CreateServices(); + Requests[1444].Request.Method = "GET"; + Requests[1444].Request.Path = "/subscriptions/36a66f55-126f-/resourceGroups/da0b9a70-a778-448/providers/Microsoft.ServerManagement/gateways/2dae84d3-03"; + Requests[1445] = new DefaultHttpContext(); + Requests[1445].RequestServices = CreateServices(); + Requests[1445].Request.Method = "GET"; + Requests[1445].Request.Path = "/subscriptions/6162edc3-ae5c-/resourceGroups/cdec2caa-74a0-483/providers/Microsoft.ServerManagement/nodes/4ad1ada5"; + Requests[1446] = new DefaultHttpContext(); + Requests[1446].RequestServices = CreateServices(); + Requests[1446].Request.Method = "PATCH"; + Requests[1446].Request.Path = "/subscriptions/bd052e83-2283-/resourceGroups/06d9dcc2-2850-4c3/providers/Microsoft.ServiceBus/namespaces/2f858585-c04a"; + Requests[1447] = new DefaultHttpContext(); + Requests[1447].RequestServices = CreateServices(); + Requests[1447].Request.Method = "DELETE"; + Requests[1447].Request.Path = "/subscriptions/52a466bc-6913-/resourceGroups/e0ec40e3-3945-413/providers/Microsoft.ServiceFabric/clusters/302b7ff2-85"; + Requests[1448] = new DefaultHttpContext(); + Requests[1448].RequestServices = CreateServices(); + Requests[1448].Request.Method = "PATCH"; + Requests[1448].Request.Path = "/subscriptions/c34094df-2fca-/resourceGroups/0a84b271-0764-4a3/providers/Microsoft.SignalRService/SignalR/8ba173a3-f23"; + Requests[1449] = new DefaultHttpContext(); + Requests[1449].RequestServices = CreateServices(); + Requests[1449].Request.Method = "PUT"; + Requests[1449].Request.Path = "/subscriptions/052daf06-8ba2-/resourceGroups/866427d6-a4f4-4b8/providers/Microsoft.Solutions/applianceDefinitions/e2d96271-34a1-4169-bb1c"; + Requests[1450] = new DefaultHttpContext(); + Requests[1450].RequestServices = CreateServices(); + Requests[1450].Request.Method = "PATCH"; + Requests[1450].Request.Path = "/subscriptions/cda1c24f-1044-/resourceGroups/71faa6c3-2e0e-49b/providers/Microsoft.Solutions/appliances/4907f95d-7319"; + Requests[1451] = new DefaultHttpContext(); + Requests[1451].RequestServices = CreateServices(); + Requests[1451].Request.Method = "PUT"; + Requests[1451].Request.Path = "/subscriptions/0e8d2e06-4456-/resourceGroups/bbc89f53-49ac-43f/providers/Microsoft.Solutions/applicationDefinitions/18a84463-410a-40db-aff3-8"; + Requests[1452] = new DefaultHttpContext(); + Requests[1452].RequestServices = CreateServices(); + Requests[1452].Request.Method = "PATCH"; + Requests[1452].Request.Path = "/subscriptions/83c7d0d0-204e-/resourceGroups/74d41bc9-3687-4e4/providers/Microsoft.Solutions/applications/d7a78b27-5f42-4"; + Requests[1453] = new DefaultHttpContext(); + Requests[1453].RequestServices = CreateServices(); + Requests[1453].Request.Method = "PATCH"; + Requests[1453].Request.Path = "/subscriptions/c0da4c72-fe64-/resourceGroups/b52b9a52-e613-4df/providers/Microsoft.Sql/managedInstances/5ae319a6-694d-4983-"; + Requests[1454] = new DefaultHttpContext(); + Requests[1454].RequestServices = CreateServices(); + Requests[1454].Request.Method = "GET"; + Requests[1454].Request.Path = "/subscriptions/581c6f45-acf2-/resourceGroups/6666356b-77ec-475/providers/Microsoft.Sql/servers/fbd8b12c-b"; + Requests[1455] = new DefaultHttpContext(); + Requests[1455].RequestServices = CreateServices(); + Requests[1455].Request.Method = "PATCH"; + Requests[1455].Request.Path = "/subscriptions/551214a6-3c23-/resourcegroups/ada3ceb8-f6e6-468/providers/Microsoft.Storage.Admin/farms/5058e0"; + Requests[1456] = new DefaultHttpContext(); + Requests[1456].RequestServices = CreateServices(); + Requests[1456].Request.Method = "PATCH"; + Requests[1456].Request.Path = "/subscriptions/de651d75-57ac-/resourceGroups/a06dd946-566b-4d6/providers/Microsoft.Storage/storageAccounts/592e04ab-68"; + Requests[1457] = new DefaultHttpContext(); + Requests[1457].RequestServices = CreateServices(); + Requests[1457].Request.Method = "PATCH"; + Requests[1457].Request.Path = "/subscriptions/bfa7b1f0-0e3c-/resourceGroups/efa197aa-24ed-432/providers/Microsoft.StorSimple/managers/8d7f23b5-c7"; + Requests[1458] = new DefaultHttpContext(); + Requests[1458].RequestServices = CreateServices(); + Requests[1458].Request.Method = "GET"; + Requests[1458].Request.Path = "/subscriptions/4c7f4f11-09ee-/resourcegroups/5e891334-1b4e-4e9/providers/Microsoft.StreamAnalytics/streamingjobs/0e0233c"; + Requests[1459] = new DefaultHttpContext(); + Requests[1459].RequestServices = CreateServices(); + Requests[1459].Request.Method = "PUT"; + Requests[1459].Request.Path = "/subscriptions/b5ac0202-9ea5-/resourcegroups/59b6aa0b-9b74-4d7/providers/Microsoft.Subscriptions.Admin/directoryTenants/081598"; + Requests[1460] = new DefaultHttpContext(); + Requests[1460].RequestServices = CreateServices(); + Requests[1460].Request.Method = "DELETE"; + Requests[1460].Request.Path = "/subscriptions/b448090b-a406-/resourcegroups/50f4cfae-cdd4-4a1/providers/Microsoft.Subscriptions.Admin/offers/7dcd8"; + Requests[1461] = new DefaultHttpContext(); + Requests[1461].RequestServices = CreateServices(); + Requests[1461].Request.Method = "DELETE"; + Requests[1461].Request.Path = "/subscriptions/86009bc8-bb38-/resourcegroups/126a432d-068f-453/providers/Microsoft.Subscriptions.Admin/plans/4964e"; + Requests[1462] = new DefaultHttpContext(); + Requests[1462].RequestServices = CreateServices(); + Requests[1462].Request.Method = "DELETE"; + Requests[1462].Request.Path = "/subscriptions/e2ef62f1-e665-/resourceGroups/06d8596b-734f-436/providers/Microsoft.TimeSeriesInsights/environments/722ec89b-95ed-4"; + Requests[1463] = new DefaultHttpContext(); + Requests[1463].RequestServices = CreateServices(); + Requests[1463].Request.Method = "GET"; + Requests[1463].Request.Path = "/subscriptions/bbfef2ac-c84b-/resourcegroups/72f612b2-81d0-48f/providers/Microsoft.Update.Admin/updateLocations/f08ac070-be41-"; + Requests[1464] = new DefaultHttpContext(); + Requests[1464].RequestServices = CreateServices(); + Requests[1464].Request.Method = "GET"; + Requests[1464].Request.Path = "/subscriptions/431f12c4-108e-/resourcegroups/80fb72e9-7dde-4ec/providers/microsoft.visualstudio/account/f1183f84-8fa"; + Requests[1465] = new DefaultHttpContext(); + Requests[1465].RequestServices = CreateServices(); + Requests[1465].Request.Method = "PATCH"; + Requests[1465].Request.Path = "/subscriptions/b66213c9-1d95-/resourceGroups/83ea1d76-5fc5-4e4/providers/Microsoft.Web/certificates/bd7b2"; + Requests[1466] = new DefaultHttpContext(); + Requests[1466].RequestServices = CreateServices(); + Requests[1466].Request.Method = "DELETE"; + Requests[1466].Request.Path = "/subscriptions/e9452b9e-8416-/resourceGroups/12bf5fbb-882e-427/providers/Microsoft.Web/classicMobileServices/c72b2"; + Requests[1467] = new DefaultHttpContext(); + Requests[1467].RequestServices = CreateServices(); + Requests[1467].Request.Method = "DELETE"; + Requests[1467].Request.Path = "/subscriptions/2860dbf5-5d5f-/resourceGroups/e55fa755-e4dd-434/providers/Microsoft.Web/connectionGateways/37348ca8-40b6-4f6c-88"; + Requests[1468] = new DefaultHttpContext(); + Requests[1468].RequestServices = CreateServices(); + Requests[1468].Request.Method = "DELETE"; + Requests[1468].Request.Path = "/subscriptions/ce899493-24af-/resourceGroups/62950159-e7e1-4a8/providers/Microsoft.Web/connections/34338653-6da5-"; + Requests[1469] = new DefaultHttpContext(); + Requests[1469].RequestServices = CreateServices(); + Requests[1469].Request.Method = "PATCH"; + Requests[1469].Request.Path = "/subscriptions/69ff748a-af59-/resourceGroups/5dd8c110-adb6-466/providers/Microsoft.Web/csrs/ee049"; + Requests[1470] = new DefaultHttpContext(); + Requests[1470].RequestServices = CreateServices(); + Requests[1470].Request.Method = "DELETE"; + Requests[1470].Request.Path = "/subscriptions/af986fb8-8b7d-/resourceGroups/772e22ec-7450-455/providers/Microsoft.Web/customApis/971a432"; + Requests[1471] = new DefaultHttpContext(); + Requests[1471].RequestServices = CreateServices(); + Requests[1471].Request.Method = "PATCH"; + Requests[1471].Request.Path = "/subscriptions/56082173-8c17-/resourceGroups/9f7814c5-2089-4f2/providers/Microsoft.Web/hostingEnvironments/b6802"; + Requests[1472] = new DefaultHttpContext(); + Requests[1472].RequestServices = CreateServices(); + Requests[1472].Request.Method = "DELETE"; + Requests[1472].Request.Path = "/subscriptions/9f567f2a-4ca7-/resourceGroups/c4602504-968a-4a1/providers/Microsoft.Web/managedHostingEnvironments/03023"; + Requests[1473] = new DefaultHttpContext(); + Requests[1473].RequestServices = CreateServices(); + Requests[1473].Request.Method = "PATCH"; + Requests[1473].Request.Path = "/subscriptions/e9218db3-d998-/resourceGroups/cfd042d0-17d7-4f0/providers/Microsoft.Web/serverfarms/e17c2"; + Requests[1474] = new DefaultHttpContext(); + Requests[1474].RequestServices = CreateServices(); + Requests[1474].Request.Method = "PATCH"; + Requests[1474].Request.Path = "/subscriptions/a04b32ac-02d8-/resourceGroups/ebf8f564-ea09-44c/providers/Microsoft.Web/sites/308cf"; + Requests[1475] = new DefaultHttpContext(); + Requests[1475].RequestServices = CreateServices(); + Requests[1475].Request.Method = "POST"; + Requests[1475].Request.Path = "/providers/86a83e32-b655-4b0a-a103-f/managementGroups/f849432b-573a-40f7-/providers/Microsoft.PolicyInsights/policyEvents/2e855bfb-0546-4b82-a/queryResults"; + Requests[1476] = new DefaultHttpContext(); + Requests[1476].RequestServices = CreateServices(); + Requests[1476].Request.Method = "POST"; + Requests[1476].Request.Path = "/providers/f9b2fe03-1179-4b47-b909-7/managementGroups/452e51d9-f88d-45e5-/providers/Microsoft.PolicyInsights/policyStates/39b5ae2a-011d-414e-a/queryResults"; + Requests[1477] = new DefaultHttpContext(); + Requests[1477].RequestServices = CreateServices(); + Requests[1477].Request.Method = "POST"; + Requests[1477].Request.Path = "/providers/cf437586-0435-4c43-9503-4/managementGroups/4b63af36-d573-4246-/providers/Microsoft.PolicyInsights/policyStates/a955c58c-2c58-4f9c-9719-4ee/summarize"; + Requests[1478] = new DefaultHttpContext(); + Requests[1478].RequestServices = CreateServices(); + Requests[1478].Request.Method = "GET"; + Requests[1478].Request.Path = "/subscriptions/16b7959f-355a-/resourceGroup/903d7fc0-9bac-47c/providers/Microsoft.MachineLearningServices/workspaces/c3ed20cb-996f/computes"; + Requests[1479] = new DefaultHttpContext(); + Requests[1479].RequestServices = CreateServices(); + Requests[1479].Request.Method = "POST"; + Requests[1479].Request.Path = "/subscriptions/6a1226d5-2593-/resourceGroups/f63a742e-/providers/Microsoft.DataMigration/services/be64f5cc-25/checkNameAvailability"; + Requests[1480] = new DefaultHttpContext(); + Requests[1480].RequestServices = CreateServices(); + Requests[1480].Request.Method = "POST"; + Requests[1480].Request.Path = "/subscriptions/cfe1b1f6-25a7-/resourceGroups/3274a3d9-/providers/Microsoft.DataMigration/services/b6025546-31/checkStatus"; + Requests[1481] = new DefaultHttpContext(); + Requests[1481].RequestServices = CreateServices(); + Requests[1481].Request.Method = "GET"; + Requests[1481].Request.Path = "/subscriptions/eaf4f4b8-6098-/resourceGroups/8cce9494-/providers/Microsoft.DataMigration/services/342bc8d3-0e/projects"; + Requests[1482] = new DefaultHttpContext(); + Requests[1482].RequestServices = CreateServices(); + Requests[1482].Request.Method = "GET"; + Requests[1482].Request.Path = "/subscriptions/52256091-28e8-/resourceGroups/8cdd2ac7-/providers/Microsoft.DataMigration/services/6c110ccf-07/skus"; + Requests[1483] = new DefaultHttpContext(); + Requests[1483].RequestServices = CreateServices(); + Requests[1483].Request.Method = "POST"; + Requests[1483].Request.Path = "/subscriptions/731c5b29-0284-/resourceGroups/91210aee-/providers/Microsoft.DataMigration/services/9a38319d-52/start"; + Requests[1484] = new DefaultHttpContext(); + Requests[1484].RequestServices = CreateServices(); + Requests[1484].Request.Method = "POST"; + Requests[1484].Request.Path = "/subscriptions/01afcbba-c2f6-/resourceGroups/d6d3e6d9-/providers/Microsoft.DataMigration/services/b98552e1-c6/stop"; + Requests[1485] = new DefaultHttpContext(); + Requests[1485].RequestServices = CreateServices(); + Requests[1485].Request.Method = "GET"; + Requests[1485].Request.Path = "/subscriptions/01f28308-6792-/resourcegroups/79802600-f07e/providers/Microsoft.AzureBridge.Admin/activations/6405af37-ecd2-/downloadedProducts"; + Requests[1486] = new DefaultHttpContext(); + Requests[1486].RequestServices = CreateServices(); + Requests[1486].Request.Method = "GET"; + Requests[1486].Request.Path = "/subscriptions/98bd0513-28da-/resourcegroups/c64b89ce-e6f8/providers/Microsoft.AzureBridge.Admin/activations/b0a032b0-2e5d-/products"; + Requests[1487] = new DefaultHttpContext(); + Requests[1487].RequestServices = CreateServices(); + Requests[1487].Request.Method = "GET"; + Requests[1487].Request.Path = "/subscriptions/fa887f82-195a-/resourceGroups/07567f96-fa51/providers/Microsoft.AzureStack/registrations/107a99da-3b9a-49/customerSubscriptions"; + Requests[1488] = new DefaultHttpContext(); + Requests[1488].RequestServices = CreateServices(); + Requests[1488].Request.Method = "POST"; + Requests[1488].Request.Path = "/subscriptions/92ac0c94-cad0-/resourceGroups/ceae7ad6-d7b0/providers/Microsoft.AzureStack/registrations/94240925-fb83-41/getactivationkey"; + Requests[1489] = new DefaultHttpContext(); + Requests[1489].RequestServices = CreateServices(); + Requests[1489].Request.Method = "GET"; + Requests[1489].Request.Path = "/subscriptions/a5b2e4a5-93e7-/resourceGroups/f99e05b2-7e20/providers/Microsoft.AzureStack/registrations/f0d17d8f-eff9-4a/products"; + Requests[1490] = new DefaultHttpContext(); + Requests[1490].RequestServices = CreateServices(); + Requests[1490].Request.Method = "POST"; + Requests[1490].Request.Path = "/subscriptions/7d9c6360-dbaa-/resourceGroups/0a4e5575-83e4-4c9/providers/Microsoft.AnalysisServices/servers/2db0328d-3/dissociateGateway"; + Requests[1491] = new DefaultHttpContext(); + Requests[1491].RequestServices = CreateServices(); + Requests[1491].Request.Method = "POST"; + Requests[1491].Request.Path = "/subscriptions/8709a0fb-51ee-/resourceGroups/1c871bba-5c8b-4ea/providers/Microsoft.AnalysisServices/servers/2ad56d7e-0/listGatewayStatus"; + Requests[1492] = new DefaultHttpContext(); + Requests[1492].RequestServices = CreateServices(); + Requests[1492].Request.Method = "POST"; + Requests[1492].Request.Path = "/subscriptions/852b3e79-ea87-/resourceGroups/433301eb-b2f3-49e/providers/Microsoft.AnalysisServices/servers/0f0a1c47-b/resume"; + Requests[1493] = new DefaultHttpContext(); + Requests[1493].RequestServices = CreateServices(); + Requests[1493].Request.Method = "GET"; + Requests[1493].Request.Path = "/subscriptions/6e113f71-7f6b-/resourceGroups/b7879425-4525-467/providers/Microsoft.AnalysisServices/servers/08ae77e1-9/skus"; + Requests[1494] = new DefaultHttpContext(); + Requests[1494].RequestServices = CreateServices(); + Requests[1494].Request.Method = "POST"; + Requests[1494].Request.Path = "/subscriptions/23ba3ead-c689-/resourceGroups/fd183e5f-7c9c-46b/providers/Microsoft.AnalysisServices/servers/49fd7388-1/suspend"; + Requests[1495] = new DefaultHttpContext(); + Requests[1495].RequestServices = CreateServices(); + Requests[1495].Request.Method = "GET"; + Requests[1495].Request.Path = "/subscriptions/dff82d78-cd7e-/resourceGroups/cc712e1f-d6a7-4c6/providers/Microsoft.ApiManagement/service/df91b154-5d/apis"; + Requests[1496] = new DefaultHttpContext(); + Requests[1496].RequestServices = CreateServices(); + Requests[1496].Request.Method = "GET"; + Requests[1496].Request.Path = "/subscriptions/05f14cd1-dc1c-/resourceGroups/edf65c55-78d5-46f/providers/Microsoft.ApiManagement/service/97054896-18/apisByTags"; + Requests[1497] = new DefaultHttpContext(); + Requests[1497].RequestServices = CreateServices(); + Requests[1497].Request.Method = "GET"; + Requests[1497].Request.Path = "/subscriptions/e294d5d5-e277-/resourceGroups/45df0d1e-cb31-425/providers/Microsoft.ApiManagement/service/1b9b88b7-8a/api-version-sets"; + Requests[1498] = new DefaultHttpContext(); + Requests[1498].RequestServices = CreateServices(); + Requests[1498].Request.Method = "POST"; + Requests[1498].Request.Path = "/subscriptions/fca9b1cf-d9fe-/resourceGroups/7daf8f90-0592-4af/providers/Microsoft.ApiManagement/service/6b2f38d9-e7/applynetworkconfigurationupdates"; + Requests[1499] = new DefaultHttpContext(); + Requests[1499].RequestServices = CreateServices(); + Requests[1499].Request.Method = "GET"; + Requests[1499].Request.Path = "/subscriptions/587ed8d9-a577-/resourceGroups/2699e306-f481-42b/providers/Microsoft.ApiManagement/service/e39d3fa0-3e/authorizationServers"; + Requests[1500] = new DefaultHttpContext(); + Requests[1500].RequestServices = CreateServices(); + Requests[1500].Request.Method = "GET"; + Requests[1500].Request.Path = "/subscriptions/fc3bf1f5-3263-/resourceGroups/f0b8e486-b671-463/providers/Microsoft.ApiManagement/service/6ae48338-eb/backends"; + Requests[1501] = new DefaultHttpContext(); + Requests[1501].RequestServices = CreateServices(); + Requests[1501].Request.Method = "POST"; + Requests[1501].Request.Path = "/subscriptions/e5d3b135-e16f-/resourceGroups/44d1cd17-b85e-47c/providers/Microsoft.ApiManagement/service/dfdb071b-4d/backup"; + Requests[1502] = new DefaultHttpContext(); + Requests[1502].RequestServices = CreateServices(); + Requests[1502].Request.Method = "GET"; + Requests[1502].Request.Path = "/subscriptions/ff017815-83f3-/resourceGroups/f4d78c71-beac-4b2/providers/Microsoft.ApiManagement/service/c7415e48-bc/certificates"; + Requests[1503] = new DefaultHttpContext(); + Requests[1503].RequestServices = CreateServices(); + Requests[1503].Request.Method = "GET"; + Requests[1503].Request.Path = "/subscriptions/b57d14fa-c179-/resourceGroups/e2b58c01-f3fe-4a6/providers/Microsoft.ApiManagement/service/e0f3fc53-26/diagnostics"; + Requests[1504] = new DefaultHttpContext(); + Requests[1504].RequestServices = CreateServices(); + Requests[1504].Request.Method = "POST"; + Requests[1504].Request.Path = "/subscriptions/58f2ff60-848d-/resourceGroups/52afa199-d279-417/providers/Microsoft.ApiManagement/service/eaeca541-ff/getssotoken"; + Requests[1505] = new DefaultHttpContext(); + Requests[1505].RequestServices = CreateServices(); + Requests[1505].Request.Method = "GET"; + Requests[1505].Request.Path = "/subscriptions/00ca7a85-3608-/resourceGroups/1f1f1f07-ebd0-4be/providers/Microsoft.ApiManagement/service/8e4edb82-9d/groups"; + Requests[1506] = new DefaultHttpContext(); + Requests[1506].RequestServices = CreateServices(); + Requests[1506].Request.Method = "GET"; + Requests[1506].Request.Path = "/subscriptions/6663a44b-f5d2-/resourceGroups/ddd697a6-a5b0-46c/providers/Microsoft.ApiManagement/service/cb87682e-af/identityProviders"; + Requests[1507] = new DefaultHttpContext(); + Requests[1507].RequestServices = CreateServices(); + Requests[1507].Request.Method = "GET"; + Requests[1507].Request.Path = "/subscriptions/1f3480bd-4304-/resourceGroups/4e7b7354-dcb9-48c/providers/Microsoft.ApiManagement/service/90140c83-8f/issues"; + Requests[1508] = new DefaultHttpContext(); + Requests[1508].RequestServices = CreateServices(); + Requests[1508].Request.Method = "GET"; + Requests[1508].Request.Path = "/subscriptions/21568c40-f014-/resourceGroups/c279ec12-8594-47a/providers/Microsoft.ApiManagement/service/2c66291b-fb/loggers"; + Requests[1509] = new DefaultHttpContext(); + Requests[1509].RequestServices = CreateServices(); + Requests[1509].Request.Method = "POST"; + Requests[1509].Request.Path = "/subscriptions/2b0ee9af-4441-/resourceGroups/3181a170-c467-443/providers/Microsoft.ApiManagement/service/f7178c06-4a/managedeployments"; + Requests[1510] = new DefaultHttpContext(); + Requests[1510].RequestServices = CreateServices(); + Requests[1510].Request.Method = "GET"; + Requests[1510].Request.Path = "/subscriptions/8e850fe8-3157-/resourceGroups/5a66fad7-9a5d-4b5/providers/Microsoft.ApiManagement/service/6061ef65-8b/networkstatus"; + Requests[1511] = new DefaultHttpContext(); + Requests[1511].RequestServices = CreateServices(); + Requests[1511].Request.Method = "GET"; + Requests[1511].Request.Path = "/subscriptions/3097ab30-81a5-/resourceGroups/db24069e-1e78-4df/providers/Microsoft.ApiManagement/service/b972c9ab-41/notifications"; + Requests[1512] = new DefaultHttpContext(); + Requests[1512].RequestServices = CreateServices(); + Requests[1512].Request.Method = "GET"; + Requests[1512].Request.Path = "/subscriptions/92884ce7-3c0d-/resourceGroups/a81582fa-839e-4a7/providers/Microsoft.ApiManagement/service/70fa7510-d1/openidConnectProviders"; + Requests[1513] = new DefaultHttpContext(); + Requests[1513].RequestServices = CreateServices(); + Requests[1513].Request.Method = "GET"; + Requests[1513].Request.Path = "/subscriptions/9569bb0e-b511-/resourceGroups/84cb9395-ff24-4f0/providers/Microsoft.ApiManagement/service/2ee90aaf-56/policies"; + Requests[1514] = new DefaultHttpContext(); + Requests[1514].RequestServices = CreateServices(); + Requests[1514].Request.Method = "GET"; + Requests[1514].Request.Path = "/subscriptions/e7493acd-78df-/resourceGroups/f35d7b86-48d5-452/providers/Microsoft.ApiManagement/service/cb3704b1-05/policySnippets"; + Requests[1515] = new DefaultHttpContext(); + Requests[1515].RequestServices = CreateServices(); + Requests[1515].Request.Method = "GET"; + Requests[1515].Request.Path = "/subscriptions/27773d5f-4d89-/resourceGroups/51bebab1-63c2-426/providers/Microsoft.ApiManagement/service/d3b441f9-c9/products"; + Requests[1516] = new DefaultHttpContext(); + Requests[1516].RequestServices = CreateServices(); + Requests[1516].Request.Method = "GET"; + Requests[1516].Request.Path = "/subscriptions/0dd2ab29-db25-/resourceGroups/3b4f2938-4fd4-492/providers/Microsoft.ApiManagement/service/0810be3a-74/properties"; + Requests[1517] = new DefaultHttpContext(); + Requests[1517].RequestServices = CreateServices(); + Requests[1517].Request.Method = "GET"; + Requests[1517].Request.Path = "/subscriptions/fb996776-3231-/resourceGroups/ffd4c747-2406-403/providers/Microsoft.ApiManagement/service/6877b0cf-d9/regions"; + Requests[1518] = new DefaultHttpContext(); + Requests[1518].RequestServices = CreateServices(); + Requests[1518].Request.Method = "POST"; + Requests[1518].Request.Path = "/subscriptions/b598175a-c6f9-/resourceGroups/5d207520-de32-46b/providers/Microsoft.ApiManagement/service/327bcbd9-e7/restore"; + Requests[1519] = new DefaultHttpContext(); + Requests[1519].RequestServices = CreateServices(); + Requests[1519].Request.Method = "GET"; + Requests[1519].Request.Path = "/subscriptions/c8146f52-8514-/resourceGroups/0d05679f-890f-4be/providers/Microsoft.ApiManagement/service/a8b260be-c0/subscriptions"; + Requests[1520] = new DefaultHttpContext(); + Requests[1520].RequestServices = CreateServices(); + Requests[1520].Request.Method = "GET"; + Requests[1520].Request.Path = "/subscriptions/62ad29f0-a02e-/resourceGroups/b92c7e5b-9b99-4c2/providers/Microsoft.ApiManagement/service/b5619c48-f6/tagResources"; + Requests[1521] = new DefaultHttpContext(); + Requests[1521].RequestServices = CreateServices(); + Requests[1521].Request.Method = "GET"; + Requests[1521].Request.Path = "/subscriptions/985f7a95-7d1a-/resourceGroups/a37ea568-a4d3-434/providers/Microsoft.ApiManagement/service/4eaaa35b-41/tags"; + Requests[1522] = new DefaultHttpContext(); + Requests[1522].RequestServices = CreateServices(); + Requests[1522].Request.Method = "GET"; + Requests[1522].Request.Path = "/subscriptions/72eca5a6-d1aa-/resourceGroups/a8b2e6a4-9404-4ed/providers/Microsoft.ApiManagement/service/6dbd914a-a9/templates"; + Requests[1523] = new DefaultHttpContext(); + Requests[1523].RequestServices = CreateServices(); + Requests[1523].Request.Method = "POST"; + Requests[1523].Request.Path = "/subscriptions/b626e6e2-84b2-/resourceGroups/49d22e42-d917-4d4/providers/Microsoft.ApiManagement/service/4a75835f-75/updatecertificate"; + Requests[1524] = new DefaultHttpContext(); + Requests[1524].RequestServices = CreateServices(); + Requests[1524].Request.Method = "POST"; + Requests[1524].Request.Path = "/subscriptions/715abb84-0340-/resourceGroups/4ca262b1-99bc-4f3/providers/Microsoft.ApiManagement/service/c6954a5d-5e/updatehostname"; + Requests[1525] = new DefaultHttpContext(); + Requests[1525].RequestServices = CreateServices(); + Requests[1525].Request.Method = "POST"; + Requests[1525].Request.Path = "/subscriptions/fb6e353b-f49f-/resourceGroups/ad82ee6f-699a-4c4/providers/Microsoft.ApiManagement/service/89fa14ef-1a/uploadcertificate"; + Requests[1526] = new DefaultHttpContext(); + Requests[1526].RequestServices = CreateServices(); + Requests[1526].Request.Method = "GET"; + Requests[1526].Request.Path = "/subscriptions/b67b5738-6ca5-/resourceGroups/57f3e639-b41b-4d5/providers/Microsoft.ApiManagement/service/c333433d-2b/users"; + Requests[1527] = new DefaultHttpContext(); + Requests[1527].RequestServices = CreateServices(); + Requests[1527].Request.Method = "GET"; + Requests[1527].Request.Path = "/subscriptions/9b3489a8-de02-/resourceGroups/966706ab-c6a2-4f8/providers/Microsoft.Automation/automationAccounts/e6ed495e-a248-48b0-b9/agentRegistrationInformation"; + Requests[1528] = new DefaultHttpContext(); + Requests[1528].RequestServices = CreateServices(); + Requests[1528].Request.Method = "GET"; + Requests[1528].Request.Path = "/subscriptions/e78da591-0ed3-/resourceGroups/851207dd-edde-435/providers/Microsoft.Automation/automationAccounts/2ebfe6ec-2f8a-4fd0-b1/certificates"; + Requests[1529] = new DefaultHttpContext(); + Requests[1529].RequestServices = CreateServices(); + Requests[1529].Request.Method = "GET"; + Requests[1529].Request.Path = "/subscriptions/2708f247-5a1e-/resourceGroups/8ba35d49-699f-4ba/providers/Microsoft.Automation/automationAccounts/bb400cf3-a97a-4f0c-a8/compilationjobs"; + Requests[1530] = new DefaultHttpContext(); + Requests[1530].RequestServices = CreateServices(); + Requests[1530].Request.Method = "GET"; + Requests[1530].Request.Path = "/subscriptions/63d29509-41ec-/resourceGroups/778f741e-b6c4-435/providers/Microsoft.Automation/automationAccounts/7709223d-cf7a-4654-88/configurations"; + Requests[1531] = new DefaultHttpContext(); + Requests[1531].RequestServices = CreateServices(); + Requests[1531].Request.Method = "GET"; + Requests[1531].Request.Path = "/subscriptions/c18a30a1-2aab-/resourceGroups/0a212edc-45f6-480/providers/Microsoft.Automation/automationAccounts/71da0b6b-f80a-441d-8b/connections"; + Requests[1532] = new DefaultHttpContext(); + Requests[1532].RequestServices = CreateServices(); + Requests[1532].Request.Method = "GET"; + Requests[1532].Request.Path = "/subscriptions/0001f9a9-e624-/resourceGroups/666011c8-75b4-4b0/providers/Microsoft.Automation/automationAccounts/c7f3929e-9aee-428a-b1/connectionTypes"; + Requests[1533] = new DefaultHttpContext(); + Requests[1533].RequestServices = CreateServices(); + Requests[1533].Request.Method = "GET"; + Requests[1533].Request.Path = "/subscriptions/82a5a2e8-9e8b-/resourceGroups/cd6a9ee5-7538-4e9/providers/Microsoft.Automation/automationAccounts/9cddceb4-afee-406b-af/credentials"; + Requests[1534] = new DefaultHttpContext(); + Requests[1534].RequestServices = CreateServices(); + Requests[1534].Request.Method = "GET"; + Requests[1534].Request.Path = "/subscriptions/ddc603d6-1fe5-/resourceGroups/079672da-202b-43b/providers/Microsoft.Automation/automationAccounts/ad8b0416-2012-40be-87/hybridRunbookWorkerGroups"; + Requests[1535] = new DefaultHttpContext(); + Requests[1535].RequestServices = CreateServices(); + Requests[1535].Request.Method = "GET"; + Requests[1535].Request.Path = "/subscriptions/336f5be0-5547-/resourceGroups/62eb807c-8b14-4a8/providers/Microsoft.Automation/automationAccounts/a0c916a0-bbf0-453e-b9/jobs"; + Requests[1536] = new DefaultHttpContext(); + Requests[1536].RequestServices = CreateServices(); + Requests[1536].Request.Method = "GET"; + Requests[1536].Request.Path = "/subscriptions/87a01b1b-2a04-/resourceGroups/639511ad-c548-416/providers/Microsoft.Automation/automationAccounts/4e2acc58-8b12-4b21-93/jobSchedules"; + Requests[1537] = new DefaultHttpContext(); + Requests[1537].RequestServices = CreateServices(); + Requests[1537].Request.Method = "GET"; + Requests[1537].Request.Path = "/subscriptions/557fe1f7-ae92-/resourceGroups/b3c655a8-488c-409/providers/Microsoft.Automation/automationAccounts/b5102668-208e-4ace-83/linkedWorkspace"; + Requests[1538] = new DefaultHttpContext(); + Requests[1538].RequestServices = CreateServices(); + Requests[1538].Request.Method = "POST"; + Requests[1538].Request.Path = "/subscriptions/5c0adc65-48d1-/resourceGroups/77bc693b-53bc-40a/providers/Microsoft.Automation/automationAccounts/dbb84a01-f419-4161-af/listKeys"; + Requests[1539] = new DefaultHttpContext(); + Requests[1539].RequestServices = CreateServices(); + Requests[1539].Request.Method = "GET"; + Requests[1539].Request.Path = "/subscriptions/09d465c9-4cf7-/resourceGroups/e3beee26-b45f-46f/providers/Microsoft.Automation/automationAccounts/0e14e01a-1fa4-426a-84/modules"; + Requests[1540] = new DefaultHttpContext(); + Requests[1540].RequestServices = CreateServices(); + Requests[1540].Request.Method = "GET"; + Requests[1540].Request.Path = "/subscriptions/7e100e13-4343-/resourceGroups/0ab37a54-d9b4-457/providers/Microsoft.Automation/automationAccounts/ba2f55b5-a4a0-4eba-aa/nodeConfigurations"; + Requests[1541] = new DefaultHttpContext(); + Requests[1541].RequestServices = CreateServices(); + Requests[1541].Request.Method = "GET"; + Requests[1541].Request.Path = "/subscriptions/2c2464a3-d4b6-/resourceGroups/f6a3de77-9f32-422/providers/Microsoft.Automation/automationAccounts/d62e6dd4-a155-43d6-b0/nodes"; + Requests[1542] = new DefaultHttpContext(); + Requests[1542].RequestServices = CreateServices(); + Requests[1542].Request.Method = "GET"; + Requests[1542].Request.Path = "/subscriptions/803d970a-07e8-/resourceGroups/630f24b8-3c1f-4e8/providers/Microsoft.Automation/automationAccounts/94576571-49d8-4051-84/runbooks"; + Requests[1543] = new DefaultHttpContext(); + Requests[1543].RequestServices = CreateServices(); + Requests[1543].Request.Method = "GET"; + Requests[1543].Request.Path = "/subscriptions/2f7e87d2-a953-/resourceGroups/30b21721-6df2-4ba/providers/Microsoft.Automation/automationAccounts/c803c518-59c1-4dd4-98/schedules"; + Requests[1544] = new DefaultHttpContext(); + Requests[1544].RequestServices = CreateServices(); + Requests[1544].Request.Method = "GET"; + Requests[1544].Request.Path = "/subscriptions/5e35855c-bac9-/resourceGroups/544bc510-cd9b-4f2/providers/Microsoft.Automation/automationAccounts/379d69d8-941e-4599-aa/softwareUpdateConfigurationMachineRuns"; + Requests[1545] = new DefaultHttpContext(); + Requests[1545].RequestServices = CreateServices(); + Requests[1545].Request.Method = "GET"; + Requests[1545].Request.Path = "/subscriptions/e73df8d6-6687-/resourceGroups/34bb43c6-9305-4a4/providers/Microsoft.Automation/automationAccounts/ee5633db-3a6a-4b21-aa/softwareUpdateConfigurationRuns"; + Requests[1546] = new DefaultHttpContext(); + Requests[1546].RequestServices = CreateServices(); + Requests[1546].Request.Method = "GET"; + Requests[1546].Request.Path = "/subscriptions/5f9b36bb-1985-/resourceGroups/f0a3c68f-5964-45b/providers/Microsoft.Automation/automationAccounts/750a9ca5-810b-4051-b7/softwareUpdateConfigurations"; + Requests[1547] = new DefaultHttpContext(); + Requests[1547].RequestServices = CreateServices(); + Requests[1547].Request.Method = "GET"; + Requests[1547].Request.Path = "/subscriptions/afe52ddc-7e5b-/resourceGroups/db5ab9cf-9cf7-41a/providers/Microsoft.Automation/automationAccounts/54d4f59a-5fc0-438c-aa/sourceControls"; + Requests[1548] = new DefaultHttpContext(); + Requests[1548].RequestServices = CreateServices(); + Requests[1548].Request.Method = "GET"; + Requests[1548].Request.Path = "/subscriptions/480ec8aa-18c1-/resourceGroups/a4609bc5-4161-4e6/providers/Microsoft.Automation/automationAccounts/bf4bc188-73aa-4c84-a6/statistics"; + Requests[1549] = new DefaultHttpContext(); + Requests[1549].RequestServices = CreateServices(); + Requests[1549].Request.Method = "GET"; + Requests[1549].Request.Path = "/subscriptions/f519d8d8-dd19-/resourceGroups/7e5e2bc5-8091-4a4/providers/Microsoft.Automation/automationAccounts/40729a51-9ce7-4e83-af/usages"; + Requests[1550] = new DefaultHttpContext(); + Requests[1550].RequestServices = CreateServices(); + Requests[1550].Request.Method = "GET"; + Requests[1550].Request.Path = "/subscriptions/120350ba-40c1-/resourceGroups/6bbf9092-e24d-4eb/providers/Microsoft.Automation/automationAccounts/f66ef767-bf20-4647-98/variables"; + Requests[1551] = new DefaultHttpContext(); + Requests[1551].RequestServices = CreateServices(); + Requests[1551].Request.Method = "GET"; + Requests[1551].Request.Path = "/subscriptions/1639969f-574a-/resourceGroups/a97f9fca-3eeb-469/providers/Microsoft.Automation/automationAccounts/b545267b-3163-48ff-99/watchers"; + Requests[1552] = new DefaultHttpContext(); + Requests[1552].RequestServices = CreateServices(); + Requests[1552].Request.Method = "GET"; + Requests[1552].Request.Path = "/subscriptions/effe2e5a-b8c3-/resourceGroups/b1aabfbd-3344-403/providers/Microsoft.Automation/automationAccounts/1ef1b173-1c12-4b91-b5/webhooks"; + Requests[1553] = new DefaultHttpContext(); + Requests[1553].RequestServices = CreateServices(); + Requests[1553].Request.Method = "GET"; + Requests[1553].Request.Path = "/subscriptions/e5d72d3f-7b89-/resourcegroups/0ff94d18-8603-477/providers/Microsoft.Backup.Admin/backupLocations/e73ef0a9/backups"; + Requests[1554] = new DefaultHttpContext(); + Requests[1554].RequestServices = CreateServices(); + Requests[1554].Request.Method = "POST"; + Requests[1554].Request.Path = "/subscriptions/98154fa1-06e6-/resourcegroups/723200d6-aa84-455/providers/Microsoft.Backup.Admin/backupLocations/2077eb9c/createBackup"; + Requests[1555] = new DefaultHttpContext(); + Requests[1555].RequestServices = CreateServices(); + Requests[1555].Request.Method = "GET"; + Requests[1555].Request.Path = "/subscriptions/89e01353-e76b-/resourceGroups/a78f1d51-9361-4b6/providers/Microsoft.Batch/batchAccounts/1eed5d73-3e/applications"; + Requests[1556] = new DefaultHttpContext(); + Requests[1556].RequestServices = CreateServices(); + Requests[1556].Request.Method = "GET"; + Requests[1556].Request.Path = "/subscriptions/0a1a5ce7-2925-/resourceGroups/ea1a58d0-3df8-434/providers/Microsoft.Batch/batchAccounts/ca0379c4-5f/certificates"; + Requests[1557] = new DefaultHttpContext(); + Requests[1557].RequestServices = CreateServices(); + Requests[1557].Request.Method = "POST"; + Requests[1557].Request.Path = "/subscriptions/d737a19d-2a39-/resourceGroups/1e1d08f2-7370-404/providers/Microsoft.Batch/batchAccounts/35a5dbe3-35/listKeys"; + Requests[1558] = new DefaultHttpContext(); + Requests[1558].RequestServices = CreateServices(); + Requests[1558].Request.Method = "GET"; + Requests[1558].Request.Path = "/subscriptions/f2575b65-4f2e-/resourceGroups/717ec546-bb10-440/providers/Microsoft.Batch/batchAccounts/5759338c-cb/pools"; + Requests[1559] = new DefaultHttpContext(); + Requests[1559].RequestServices = CreateServices(); + Requests[1559].Request.Method = "POST"; + Requests[1559].Request.Path = "/subscriptions/9d755c84-bc87-/resourceGroups/d9fca1c1-2a43-42e/providers/Microsoft.Batch/batchAccounts/a09e49ff-9a/regenerateKeys"; + Requests[1560] = new DefaultHttpContext(); + Requests[1560].RequestServices = CreateServices(); + Requests[1560].Request.Method = "POST"; + Requests[1560].Request.Path = "/subscriptions/959ee08b-f03c-/resourceGroups/bb8276f7-d82d-439/providers/Microsoft.Batch/batchAccounts/87df4fb0-da/syncAutoStorageKeys"; + Requests[1561] = new DefaultHttpContext(); + Requests[1561].RequestServices = CreateServices(); + Requests[1561].Request.Method = "POST"; + Requests[1561].Request.Path = "/subscriptions/8b545d23-34eb-/resourceGroups/50a1ff89-088c-45c/providers/Microsoft.BatchAI/clusters/d609c51d-52/listRemoteLoginInformation"; + Requests[1562] = new DefaultHttpContext(); + Requests[1562].RequestServices = CreateServices(); + Requests[1562].Request.Method = "POST"; + Requests[1562].Request.Path = "/subscriptions/424143b1-7362-/resourceGroups/fd6f86ba-b43a-4ef/providers/Microsoft.BatchAI/jobs/73c0da4/listOutputFiles"; + Requests[1563] = new DefaultHttpContext(); + Requests[1563].RequestServices = CreateServices(); + Requests[1563].Request.Method = "POST"; + Requests[1563].Request.Path = "/subscriptions/a0a60fa5-a5ab-/resourceGroups/63e82ee5-2831-418/providers/Microsoft.BatchAI/jobs/bfb828e/listRemoteLoginInformation"; + Requests[1564] = new DefaultHttpContext(); + Requests[1564].RequestServices = CreateServices(); + Requests[1564].Request.Method = "POST"; + Requests[1564].Request.Path = "/subscriptions/16aec6a0-74fc-/resourceGroups/fa535c19-aad4-48c/providers/Microsoft.BatchAI/jobs/01aed27/terminate"; + Requests[1565] = new DefaultHttpContext(); + Requests[1565].RequestServices = CreateServices(); + Requests[1565].Request.Method = "GET"; + Requests[1565].Request.Path = "/subscriptions/f649d314-af33-/resourceGroups/8d0b5d27-1506-406/providers/Microsoft.BatchAI/workspaces/f1dae7bc-3c5d/clusters"; + Requests[1566] = new DefaultHttpContext(); + Requests[1566].RequestServices = CreateServices(); + Requests[1566].Request.Method = "GET"; + Requests[1566].Request.Path = "/subscriptions/fd296a01-5960-/resourceGroups/f62fd50f-cf10-451/providers/Microsoft.BatchAI/workspaces/717350e8-d428/experiments"; + Requests[1567] = new DefaultHttpContext(); + Requests[1567].RequestServices = CreateServices(); + Requests[1567].Request.Method = "GET"; + Requests[1567].Request.Path = "/subscriptions/c1b331ca-7835-/resourceGroups/413f50cc-cab0-4d8/providers/Microsoft.BatchAI/workspaces/79b32c57-3ffb/fileServers"; + Requests[1568] = new DefaultHttpContext(); + Requests[1568].RequestServices = CreateServices(); + Requests[1568].Request.Method = "GET"; + Requests[1568].Request.Path = "/subscriptions/e76ebfc3-faef-/resourceGroups/47b46ad1-7c80-471/providers/Microsoft.BotService/botServices/7599fdf0-095/channels"; + Requests[1569] = new DefaultHttpContext(); + Requests[1569].RequestServices = CreateServices(); + Requests[1569].Request.Method = "GET"; + Requests[1569].Request.Path = "/subscriptions/60bab74a-333b-/resourceGroups/1b76b5b7-5377-425/providers/Microsoft.BotService/botServices/965c8565-201/connections"; + Requests[1570] = new DefaultHttpContext(); + Requests[1570].RequestServices = CreateServices(); + Requests[1570].Request.Method = "GET"; + Requests[1570].Request.Path = "/subscriptions/b81b685a-7cbc-/resourceGroups/6aa33aa2-9096-40a/providers/Microsoft.Cache/Redis/6a6be7fc-/firewallRules"; + Requests[1571] = new DefaultHttpContext(); + Requests[1571].RequestServices = CreateServices(); + Requests[1571].Request.Method = "GET"; + Requests[1571].Request.Path = "/subscriptions/af4a7fe5-d865-/resourceGroups/042b45fb-4843-475/providers/Microsoft.Cache/Redis/0baac0fc-/patchSchedules"; + Requests[1572] = new DefaultHttpContext(); + Requests[1572].RequestServices = CreateServices(); + Requests[1572].Request.Method = "POST"; + Requests[1572].Request.Path = "/subscriptions/2ffa1d4f-bc2b-/resourceGroups/4ed49301-ef4c-404/providers/Microsoft.Cache/Redis/23017/export"; + Requests[1573] = new DefaultHttpContext(); + Requests[1573].RequestServices = CreateServices(); + Requests[1573].Request.Method = "POST"; + Requests[1573].Request.Path = "/subscriptions/f02f23b2-cd11-/resourceGroups/c27b7784-b39b-411/providers/Microsoft.Cache/Redis/747ea/forceReboot"; + Requests[1574] = new DefaultHttpContext(); + Requests[1574].RequestServices = CreateServices(); + Requests[1574].Request.Method = "POST"; + Requests[1574].Request.Path = "/subscriptions/2d2a0b08-cc7d-/resourceGroups/34e60c3d-6d3a-414/providers/Microsoft.Cache/Redis/a96fe/import"; + Requests[1575] = new DefaultHttpContext(); + Requests[1575].RequestServices = CreateServices(); + Requests[1575].Request.Method = "GET"; + Requests[1575].Request.Path = "/subscriptions/e471388e-869b-/resourceGroups/a6056ecb-2805-462/providers/Microsoft.Cache/Redis/8c2ac/linkedServers"; + Requests[1576] = new DefaultHttpContext(); + Requests[1576].RequestServices = CreateServices(); + Requests[1576].Request.Method = "POST"; + Requests[1576].Request.Path = "/subscriptions/341d618f-aa04-/resourceGroups/313b0c8e-6f9d-46b/providers/Microsoft.Cache/Redis/7e5b1/listKeys"; + Requests[1577] = new DefaultHttpContext(); + Requests[1577].RequestServices = CreateServices(); + Requests[1577].Request.Method = "GET"; + Requests[1577].Request.Path = "/subscriptions/19a5a993-c26c-/resourceGroups/1883c1e0-f7d5-4a7/providers/Microsoft.Cache/Redis/7fbf5/listUpgradeNotifications"; + Requests[1578] = new DefaultHttpContext(); + Requests[1578].RequestServices = CreateServices(); + Requests[1578].Request.Method = "POST"; + Requests[1578].Request.Path = "/subscriptions/105f064a-078e-/resourceGroups/259679d8-0f07-4b6/providers/Microsoft.Cache/Redis/36cdd/regenerateKey"; + Requests[1579] = new DefaultHttpContext(); + Requests[1579].RequestServices = CreateServices(); + Requests[1579].Request.Method = "POST"; + Requests[1579].Request.Path = "/subscriptions/f5184e4c-80ba-/resourceGroups/124c9ea6-561b-458/providers/Microsoft.Cdn/profiles/4a8c57ce-55/checkResourceUsage"; + Requests[1580] = new DefaultHttpContext(); + Requests[1580].RequestServices = CreateServices(); + Requests[1580].Request.Method = "GET"; + Requests[1580].Request.Path = "/subscriptions/5cad99f8-f66d-/resourceGroups/d704e7ee-d001-4aa/providers/Microsoft.Cdn/profiles/7044cab4-89/endpoints"; + Requests[1581] = new DefaultHttpContext(); + Requests[1581].RequestServices = CreateServices(); + Requests[1581].Request.Method = "POST"; + Requests[1581].Request.Path = "/subscriptions/946b59b4-2a5f-/resourceGroups/e0c70970-a48a-489/providers/Microsoft.Cdn/profiles/29a52e43-c4/generateSsoUri"; + Requests[1582] = new DefaultHttpContext(); + Requests[1582].RequestServices = CreateServices(); + Requests[1582].Request.Method = "POST"; + Requests[1582].Request.Path = "/subscriptions/2de3d09c-5b24-/resourceGroups/ea42eb14-c62d-43c/providers/Microsoft.Cdn/profiles/c6737a67-c8/getSupportedOptimizationTypes"; + Requests[1583] = new DefaultHttpContext(); + Requests[1583].RequestServices = CreateServices(); + Requests[1583].Request.Method = "GET"; + Requests[1583].Request.Path = "/subscriptions/37ce4dc4-0fe9-/resourceGroups/fe59f042-6db1-420/providers/Microsoft.CertificateRegistration/certificateOrders/b1ee7716-3e77-41a3-b/certificates"; + Requests[1584] = new DefaultHttpContext(); + Requests[1584].RequestServices = CreateServices(); + Requests[1584].Request.Method = "POST"; + Requests[1584].Request.Path = "/subscriptions/50131bb5-d3a9-/resourceGroups/d9e2a095-3809-465/providers/Microsoft.CertificateRegistration/certificateOrders/f8f98e5c-33fa-4e5d-b/resendRequestEmails"; + Requests[1585] = new DefaultHttpContext(); + Requests[1585].RequestServices = CreateServices(); + Requests[1585].Request.Method = "POST"; + Requests[1585].Request.Path = "/subscriptions/c0d64a25-7599-/resourceGroups/ce338188-619f-4f4/providers/Microsoft.CertificateRegistration/certificateOrders/8d72e86a-c522-47d6-9/retrieveSiteSeal"; + Requests[1586] = new DefaultHttpContext(); + Requests[1586].RequestServices = CreateServices(); + Requests[1586].Request.Method = "POST"; + Requests[1586].Request.Path = "/subscriptions/cf9377d5-f69e-/resourceGroups/1121933d-aac1-467/providers/Microsoft.CertificateRegistration/certificateOrders/4357b/reissue"; + Requests[1587] = new DefaultHttpContext(); + Requests[1587].RequestServices = CreateServices(); + Requests[1587].Request.Method = "POST"; + Requests[1587].Request.Path = "/subscriptions/b8f150e6-dfc1-/resourceGroups/81843a39-c533-42f/providers/Microsoft.CertificateRegistration/certificateOrders/e2b1a/renew"; + Requests[1588] = new DefaultHttpContext(); + Requests[1588].RequestServices = CreateServices(); + Requests[1588].Request.Method = "POST"; + Requests[1588].Request.Path = "/subscriptions/9f13eb29-fd9d-/resourceGroups/e047cc8e-e568-49f/providers/Microsoft.CertificateRegistration/certificateOrders/94ad8/resendEmail"; + Requests[1589] = new DefaultHttpContext(); + Requests[1589].RequestServices = CreateServices(); + Requests[1589].Request.Method = "POST"; + Requests[1589].Request.Path = "/subscriptions/7194312a-9bf7-/resourceGroups/dae7c45c-c7aa-43d/providers/Microsoft.CertificateRegistration/certificateOrders/3bba3/retrieveCertificateActions"; + Requests[1590] = new DefaultHttpContext(); + Requests[1590].RequestServices = CreateServices(); + Requests[1590].Request.Method = "POST"; + Requests[1590].Request.Path = "/subscriptions/a7d963f4-b8f5-/resourceGroups/759230d5-43b3-414/providers/Microsoft.CertificateRegistration/certificateOrders/df888/retrieveEmailHistory"; + Requests[1591] = new DefaultHttpContext(); + Requests[1591].RequestServices = CreateServices(); + Requests[1591].Request.Method = "POST"; + Requests[1591].Request.Path = "/subscriptions/a420b4b5-05a6-/resourceGroups/c40eb74b-8a58-439/providers/Microsoft.CertificateRegistration/certificateOrders/9eb87/verifyDomainOwnership"; + Requests[1592] = new DefaultHttpContext(); + Requests[1592].RequestServices = CreateServices(); + Requests[1592].Request.Method = "POST"; + Requests[1592].Request.Path = "/subscriptions/77cc7f6d-5196-/resourceGroups/b2c15ee1-6691-41a/providers/Microsoft.CognitiveServices/accounts/b9506207-60/listKeys"; + Requests[1593] = new DefaultHttpContext(); + Requests[1593].RequestServices = CreateServices(); + Requests[1593].Request.Method = "POST"; + Requests[1593].Request.Path = "/subscriptions/5294b75d-893d-/resourceGroups/d328ed43-7191-4b2/providers/Microsoft.CognitiveServices/accounts/f27daa85-21/regenerateKey"; + Requests[1594] = new DefaultHttpContext(); + Requests[1594].RequestServices = CreateServices(); + Requests[1594].Request.Method = "GET"; + Requests[1594].Request.Path = "/subscriptions/abece642-1ced-/resourceGroups/5a50d1bc-bb98-481/providers/Microsoft.CognitiveServices/accounts/230178d5-6e/skus"; + Requests[1595] = new DefaultHttpContext(); + Requests[1595].RequestServices = CreateServices(); + Requests[1595].Request.Method = "GET"; + Requests[1595].Request.Path = "/subscriptions/5610b5aa-0b3f-/resourceGroups/a3291c8d-31b7-4c6/providers/Microsoft.CognitiveServices/accounts/7584cc72-2d/usages"; + Requests[1596] = new DefaultHttpContext(); + Requests[1596].RequestServices = CreateServices(); + Requests[1596].Request.Method = "GET"; + Requests[1596].Request.Path = "/subscriptions/79bb2731-a1ec-/resourceGroups/7ccebd13-87af-4c5/providers/Microsoft.Compute/availabilitySets/776d05d2-0cd1-4c00-/vmSizes"; + Requests[1597] = new DefaultHttpContext(); + Requests[1597].RequestServices = CreateServices(); + Requests[1597].Request.Method = "POST"; + Requests[1597].Request.Path = "/subscriptions/2e194bca-b6c8-/resourceGroups/bb50eb20-5424-40e/providers/Microsoft.Compute/disks/b9b3a0c7/beginGetAccess"; + Requests[1598] = new DefaultHttpContext(); + Requests[1598].RequestServices = CreateServices(); + Requests[1598].Request.Method = "POST"; + Requests[1598].Request.Path = "/subscriptions/25c7473d-ec94-/resourceGroups/598a3445-a894-4e1/providers/Microsoft.Compute/disks/47414db3/endGetAccess"; + Requests[1599] = new DefaultHttpContext(); + Requests[1599].RequestServices = CreateServices(); + Requests[1599].Request.Method = "GET"; + Requests[1599].Request.Path = "/subscriptions/33950299-16c1-/resourceGroups/0d8d8ff4-2584-440/providers/Microsoft.Compute/galleries/18de2366-d3/images"; + Requests[1600] = new DefaultHttpContext(); + Requests[1600].RequestServices = CreateServices(); + Requests[1600].Request.Method = "POST"; + Requests[1600].Request.Path = "/subscriptions/b307e549-f9eb-/resourceGroups/ea0c9a75-d938-499/providers/Microsoft.Compute/snapshots/cbf872f3-ace/beginGetAccess"; + Requests[1601] = new DefaultHttpContext(); + Requests[1601].RequestServices = CreateServices(); + Requests[1601].Request.Method = "POST"; + Requests[1601].Request.Path = "/subscriptions/55c13099-132a-/resourceGroups/32838655-5ce3-4d6/providers/Microsoft.Compute/snapshots/a40afda7-97e/endGetAccess"; + Requests[1602] = new DefaultHttpContext(); + Requests[1602].RequestServices = CreateServices(); + Requests[1602].Request.Method = "POST"; + Requests[1602].Request.Path = "/subscriptions/ff3cb6e8-cb82-/resourceGroups/b17b3cbc-8dc0-47b/providers/Microsoft.Compute/virtualMachines/e15c83/capture"; + Requests[1603] = new DefaultHttpContext(); + Requests[1603].RequestServices = CreateServices(); + Requests[1603].Request.Method = "POST"; + Requests[1603].Request.Path = "/subscriptions/37680225-fd4f-/resourceGroups/714bea6a-f69e-49e/providers/Microsoft.Compute/virtualMachines/61321e/convertToManagedDisks"; + Requests[1604] = new DefaultHttpContext(); + Requests[1604].RequestServices = CreateServices(); + Requests[1604].Request.Method = "POST"; + Requests[1604].Request.Path = "/subscriptions/1def0ef3-7468-/resourceGroups/80c6688f-86aa-4a0/providers/Microsoft.Compute/virtualMachines/dcf463/deallocate"; + Requests[1605] = new DefaultHttpContext(); + Requests[1605].RequestServices = CreateServices(); + Requests[1605].Request.Method = "GET"; + Requests[1605].Request.Path = "/subscriptions/c6788d90-927f-/resourceGroups/93a960f6-5eed-44c/providers/Microsoft.Compute/virtualMachines/2696c1/extensions"; + Requests[1606] = new DefaultHttpContext(); + Requests[1606].RequestServices = CreateServices(); + Requests[1606].Request.Method = "POST"; + Requests[1606].Request.Path = "/subscriptions/8267f971-41fb-/resourceGroups/70a60581-7443-4a2/providers/Microsoft.Compute/virtualMachines/db4f2f/generalize"; + Requests[1607] = new DefaultHttpContext(); + Requests[1607].RequestServices = CreateServices(); + Requests[1607].Request.Method = "GET"; + Requests[1607].Request.Path = "/subscriptions/c01b1523-9637-/resourceGroups/19fb5d0a-b823-437/providers/Microsoft.Compute/virtualMachines/7f1e96/instanceView"; + Requests[1608] = new DefaultHttpContext(); + Requests[1608].RequestServices = CreateServices(); + Requests[1608].Request.Method = "POST"; + Requests[1608].Request.Path = "/subscriptions/976a5a21-ce56-/resourceGroups/5923d67f-83fa-4a0/providers/Microsoft.Compute/virtualMachines/ea82e5/performMaintenance"; + Requests[1609] = new DefaultHttpContext(); + Requests[1609].RequestServices = CreateServices(); + Requests[1609].Request.Method = "POST"; + Requests[1609].Request.Path = "/subscriptions/77f5a19d-d77c-/resourceGroups/869e1aa1-2d46-457/providers/Microsoft.Compute/virtualMachines/527509/powerOff"; + Requests[1610] = new DefaultHttpContext(); + Requests[1610].RequestServices = CreateServices(); + Requests[1610].Request.Method = "POST"; + Requests[1610].Request.Path = "/subscriptions/2e8bcff2-48e5-/resourceGroups/ba410b1d-3e5d-4ee/providers/Microsoft.Compute/virtualMachines/9f3dbd/redeploy"; + Requests[1611] = new DefaultHttpContext(); + Requests[1611].RequestServices = CreateServices(); + Requests[1611].Request.Method = "POST"; + Requests[1611].Request.Path = "/subscriptions/143cce93-34cb-/resourceGroups/8dd82508-2986-4f3/providers/Microsoft.Compute/virtualMachines/8930cd/restart"; + Requests[1612] = new DefaultHttpContext(); + Requests[1612].RequestServices = CreateServices(); + Requests[1612].Request.Method = "POST"; + Requests[1612].Request.Path = "/subscriptions/8f449f37-48b1-/resourceGroups/fe35ac35-84ef-4a7/providers/Microsoft.Compute/virtualMachines/0037b3/runCommand"; + Requests[1613] = new DefaultHttpContext(); + Requests[1613].RequestServices = CreateServices(); + Requests[1613].Request.Method = "POST"; + Requests[1613].Request.Path = "/subscriptions/85afddef-43ab-/resourceGroups/c61a8099-7e1d-4d2/providers/Microsoft.Compute/virtualMachines/31807f/start"; + Requests[1614] = new DefaultHttpContext(); + Requests[1614].RequestServices = CreateServices(); + Requests[1614].Request.Method = "GET"; + Requests[1614].Request.Path = "/subscriptions/b7defe70-9a90-/resourceGroups/823d8043-04fb-4a6/providers/Microsoft.Compute/virtualMachines/7f6d7e/vmSizes"; + Requests[1615] = new DefaultHttpContext(); + Requests[1615].RequestServices = CreateServices(); + Requests[1615].Request.Method = "GET"; + Requests[1615].Request.Path = "/subscriptions/15ed2e5b-076b-/resourceGroups/eaa75ca8-4e08-402/providers/microsoft.Compute/virtualMachineScaleSets/40d01389-f77d-4f0b-8763-80/networkInterfaces"; + Requests[1616] = new DefaultHttpContext(); + Requests[1616].RequestServices = CreateServices(); + Requests[1616].Request.Method = "GET"; + Requests[1616].Request.Path = "/subscriptions/c3ca6b1c-2ea4-/resourceGroups/1b73d156-a704-459/providers/Microsoft.Compute/virtualMachineScaleSets/31f2a2a7-1d9c-4e7c-b15f-67/publicipaddresses"; + Requests[1617] = new DefaultHttpContext(); + Requests[1617].RequestServices = CreateServices(); + Requests[1617].Request.Method = "GET"; + Requests[1617].Request.Path = "/subscriptions/d3459809-8838-/resourceGroups/50e4974d-bf94-45a/providers/Microsoft.Compute/virtualMachineScaleSets/cf9b615c-3623-41a4-a342-33/virtualMachines"; + Requests[1618] = new DefaultHttpContext(); + Requests[1618].RequestServices = CreateServices(); + Requests[1618].Request.Method = "POST"; + Requests[1618].Request.Path = "/subscriptions/0ff90d24-ebf6-/resourceGroups/bf648259-8e90-468/providers/Microsoft.Compute/virtualMachineScaleSets/a9fd3888-9d7a-/deallocate"; + Requests[1619] = new DefaultHttpContext(); + Requests[1619].RequestServices = CreateServices(); + Requests[1619].Request.Method = "POST"; + Requests[1619].Request.Path = "/subscriptions/bf77306a-cdec-/resourceGroups/c8379a3f-d1e2-4ec/providers/Microsoft.Compute/virtualMachineScaleSets/49d24726-3d45-/delete"; + Requests[1620] = new DefaultHttpContext(); + Requests[1620].RequestServices = CreateServices(); + Requests[1620].Request.Method = "GET"; + Requests[1620].Request.Path = "/subscriptions/6945e1de-9e31-/resourceGroups/3dae8213-398c-4ac/providers/Microsoft.Compute/virtualMachineScaleSets/1ba3d29e-137b-/extensions"; + Requests[1621] = new DefaultHttpContext(); + Requests[1621].RequestServices = CreateServices(); + Requests[1621].Request.Method = "POST"; + Requests[1621].Request.Path = "/subscriptions/3450bdd3-386a-/resourceGroups/b47b69da-4481-42a/providers/Microsoft.Compute/virtualMachineScaleSets/7d7b3c3c-f6b8-/forceRecoveryServiceFabricPlatformUpdateDomainWalk"; + Requests[1622] = new DefaultHttpContext(); + Requests[1622].RequestServices = CreateServices(); + Requests[1622].Request.Method = "GET"; + Requests[1622].Request.Path = "/subscriptions/bd119471-9bee-/resourceGroups/cd39dfe6-08fb-4d4/providers/Microsoft.Compute/virtualMachineScaleSets/70f4cee4-53cf-/instanceView"; + Requests[1623] = new DefaultHttpContext(); + Requests[1623].RequestServices = CreateServices(); + Requests[1623].Request.Method = "POST"; + Requests[1623].Request.Path = "/subscriptions/938762bd-f7a5-/resourceGroups/a97b03f0-3d6a-45e/providers/Microsoft.Compute/virtualMachineScaleSets/1598090c-d875-/manualupgrade"; + Requests[1624] = new DefaultHttpContext(); + Requests[1624].RequestServices = CreateServices(); + Requests[1624].Request.Method = "POST"; + Requests[1624].Request.Path = "/subscriptions/60ce7899-ad6f-/resourceGroups/fa09b50d-f14c-4b8/providers/Microsoft.Compute/virtualMachineScaleSets/839b42f1-ad1d-/osRollingUpgrade"; + Requests[1625] = new DefaultHttpContext(); + Requests[1625].RequestServices = CreateServices(); + Requests[1625].Request.Method = "GET"; + Requests[1625].Request.Path = "/subscriptions/da30c62b-71d8-/resourceGroups/7a5d63b5-b958-47f/providers/Microsoft.Compute/virtualMachineScaleSets/e1be6862-d1dc-/osUpgradeHistory"; + Requests[1626] = new DefaultHttpContext(); + Requests[1626].RequestServices = CreateServices(); + Requests[1626].Request.Method = "POST"; + Requests[1626].Request.Path = "/subscriptions/4591f199-911b-/resourceGroups/c2e8ba1d-eef1-49b/providers/Microsoft.Compute/virtualMachineScaleSets/4e95e65d-b2e6-/performMaintenance"; + Requests[1627] = new DefaultHttpContext(); + Requests[1627].RequestServices = CreateServices(); + Requests[1627].Request.Method = "POST"; + Requests[1627].Request.Path = "/subscriptions/3033963d-6f49-/resourceGroups/01f6a945-20b1-4df/providers/Microsoft.Compute/virtualMachineScaleSets/55d7909a-a2a5-/poweroff"; + Requests[1628] = new DefaultHttpContext(); + Requests[1628].RequestServices = CreateServices(); + Requests[1628].Request.Method = "POST"; + Requests[1628].Request.Path = "/subscriptions/3d115f0c-2184-/resourceGroups/f950c8d6-15a8-427/providers/Microsoft.Compute/virtualMachineScaleSets/086abfb8-9d01-/redeploy"; + Requests[1629] = new DefaultHttpContext(); + Requests[1629].RequestServices = CreateServices(); + Requests[1629].Request.Method = "POST"; + Requests[1629].Request.Path = "/subscriptions/e5b04d6c-4123-/resourceGroups/3f87ea40-d609-4f6/providers/Microsoft.Compute/virtualMachineScaleSets/7a1f0d6b-86f9-/reimage"; + Requests[1630] = new DefaultHttpContext(); + Requests[1630].RequestServices = CreateServices(); + Requests[1630].Request.Method = "POST"; + Requests[1630].Request.Path = "/subscriptions/dcfe1263-b831-/resourceGroups/ced5e649-6e78-4ba/providers/Microsoft.Compute/virtualMachineScaleSets/bd46a0da-7d0d-/reimageall"; + Requests[1631] = new DefaultHttpContext(); + Requests[1631].RequestServices = CreateServices(); + Requests[1631].Request.Method = "POST"; + Requests[1631].Request.Path = "/subscriptions/f6fbc85c-5722-/resourceGroups/96a2ae94-65b3-484/providers/Microsoft.Compute/virtualMachineScaleSets/12fc12ad-c10b-/restart"; + Requests[1632] = new DefaultHttpContext(); + Requests[1632].RequestServices = CreateServices(); + Requests[1632].Request.Method = "GET"; + Requests[1632].Request.Path = "/subscriptions/0a673f59-ab9c-/resourceGroups/2cedd528-31b4-4ae/providers/Microsoft.Compute/virtualMachineScaleSets/20ed4bef-9d4b-/skus"; + Requests[1633] = new DefaultHttpContext(); + Requests[1633].RequestServices = CreateServices(); + Requests[1633].Request.Method = "POST"; + Requests[1633].Request.Path = "/subscriptions/9e32f12f-e89a-/resourceGroups/df583066-f021-460/providers/Microsoft.Compute/virtualMachineScaleSets/f5238599-ee77-/start"; + Requests[1634] = new DefaultHttpContext(); + Requests[1634].RequestServices = CreateServices(); + Requests[1634].Request.Method = "GET"; + Requests[1634].Request.Path = "/subscriptions/f9ed3930-2340-/resourceGroups/44baec17-e438-46b/providers/Microsoft.ContainerRegistry/registries/3b8e9165-99b/builds"; + Requests[1635] = new DefaultHttpContext(); + Requests[1635].RequestServices = CreateServices(); + Requests[1635].Request.Method = "GET"; + Requests[1635].Request.Path = "/subscriptions/5e39d9a7-678e-/resourceGroups/f07eb1ee-151c-4be/providers/Microsoft.ContainerRegistry/registries/fe3a0292-f89/buildTasks"; + Requests[1636] = new DefaultHttpContext(); + Requests[1636].RequestServices = CreateServices(); + Requests[1636].Request.Method = "POST"; + Requests[1636].Request.Path = "/subscriptions/461f51e9-ec22-/resourceGroups/712442d4-806c-4ce/providers/Microsoft.ContainerRegistry/registries/b459d982-824/getBuildSourceUploadUrl"; + Requests[1637] = new DefaultHttpContext(); + Requests[1637].RequestServices = CreateServices(); + Requests[1637].Request.Method = "POST"; + Requests[1637].Request.Path = "/subscriptions/552d3125-9239-/resourceGroups/2b3e0b3f-6e5c-449/providers/Microsoft.ContainerRegistry/registries/de969142-ee5/getCredentials"; + Requests[1638] = new DefaultHttpContext(); + Requests[1638].RequestServices = CreateServices(); + Requests[1638].Request.Method = "POST"; + Requests[1638].Request.Path = "/subscriptions/96533f92-a7b6-/resourceGroups/219c3221-9f10-442/providers/Microsoft.ContainerRegistry/registries/2875494f-9be/importImage"; + Requests[1639] = new DefaultHttpContext(); + Requests[1639].RequestServices = CreateServices(); + Requests[1639].Request.Method = "POST"; + Requests[1639].Request.Path = "/subscriptions/de2611c2-e264-/resourceGroups/9b04de0f-b651-4cb/providers/Microsoft.ContainerRegistry/registries/48d06f7b-882/listCredentials"; + Requests[1640] = new DefaultHttpContext(); + Requests[1640].RequestServices = CreateServices(); + Requests[1640].Request.Method = "GET"; + Requests[1640].Request.Path = "/subscriptions/5d8f9be6-7f6f-/resourceGroups/0d84b8b0-c471-407/providers/Microsoft.ContainerRegistry/registries/047f4c13-d84/listUsages"; + Requests[1641] = new DefaultHttpContext(); + Requests[1641].RequestServices = CreateServices(); + Requests[1641].Request.Method = "POST"; + Requests[1641].Request.Path = "/subscriptions/ea9144bc-d40d-/resourceGroups/b443e48d-e14d-4e6/providers/Microsoft.ContainerRegistry/registries/cb8f1c5b-3fe/queueBuild"; + Requests[1642] = new DefaultHttpContext(); + Requests[1642].RequestServices = CreateServices(); + Requests[1642].Request.Method = "POST"; + Requests[1642].Request.Path = "/subscriptions/5bae28e3-12b0-/resourceGroups/fceb97fd-40ef-41e/providers/Microsoft.ContainerRegistry/registries/621873d1-257/regenerateCredential"; + Requests[1643] = new DefaultHttpContext(); + Requests[1643].RequestServices = CreateServices(); + Requests[1643].Request.Method = "POST"; + Requests[1643].Request.Path = "/subscriptions/3225da48-c2ac-/resourceGroups/68dc2902-0f73-4c6/providers/Microsoft.ContainerRegistry/registries/9ba2061b-f63/regenerateCredentials"; + Requests[1644] = new DefaultHttpContext(); + Requests[1644].RequestServices = CreateServices(); + Requests[1644].Request.Method = "GET"; + Requests[1644].Request.Path = "/subscriptions/198f6134-0dc0-/resourceGroups/e10bf1f5-4629-485/providers/Microsoft.ContainerRegistry/registries/36f19306-4dc/replications"; + Requests[1645] = new DefaultHttpContext(); + Requests[1645].RequestServices = CreateServices(); + Requests[1645].Request.Method = "GET"; + Requests[1645].Request.Path = "/subscriptions/c786be8b-4fd4-/resourceGroups/9625388d-ac04-424/providers/Microsoft.ContainerRegistry/registries/9fcecec4-072/webhooks"; + Requests[1646] = new DefaultHttpContext(); + Requests[1646].RequestServices = CreateServices(); + Requests[1646].Request.Method = "GET"; + Requests[1646].Request.Path = "/subscriptions/758bf5cf-c780-/resourceGroups/da0ea8b8-8ff8-43b/providers/Microsoft.CustomerInsights/hubs/85eaf98/authorizationPolicies"; + Requests[1647] = new DefaultHttpContext(); + Requests[1647].RequestServices = CreateServices(); + Requests[1647].Request.Method = "GET"; + Requests[1647].Request.Path = "/subscriptions/4250a4ad-a89f-/resourceGroups/ce1d4498-ff39-424/providers/Microsoft.CustomerInsights/hubs/45ab975/connectors"; + Requests[1648] = new DefaultHttpContext(); + Requests[1648].RequestServices = CreateServices(); + Requests[1648].Request.Method = "GET"; + Requests[1648].Request.Path = "/subscriptions/afdefaca-8aaf-/resourceGroups/d16c2d4c-26d4-425/providers/Microsoft.CustomerInsights/hubs/2cab18f/interactions"; + Requests[1649] = new DefaultHttpContext(); + Requests[1649].RequestServices = CreateServices(); + Requests[1649].Request.Method = "GET"; + Requests[1649].Request.Path = "/subscriptions/b67b3ac6-3a88-/resourceGroups/e34502b1-bf64-462/providers/Microsoft.CustomerInsights/hubs/4500a0b/kpi"; + Requests[1650] = new DefaultHttpContext(); + Requests[1650].RequestServices = CreateServices(); + Requests[1650].Request.Method = "GET"; + Requests[1650].Request.Path = "/subscriptions/f738af59-121d-/resourceGroups/51909e2c-0191-48d/providers/Microsoft.CustomerInsights/hubs/52d7fc3/links"; + Requests[1651] = new DefaultHttpContext(); + Requests[1651].RequestServices = CreateServices(); + Requests[1651].Request.Method = "GET"; + Requests[1651].Request.Path = "/subscriptions/606f2d67-d76d-/resourceGroups/3296b0d3-afd6-413/providers/Microsoft.CustomerInsights/hubs/98e0faa/predictions"; + Requests[1652] = new DefaultHttpContext(); + Requests[1652].RequestServices = CreateServices(); + Requests[1652].Request.Method = "GET"; + Requests[1652].Request.Path = "/subscriptions/7c5a9a8a-1e01-/resourceGroups/7800e8fc-2f0f-406/providers/Microsoft.CustomerInsights/hubs/61daf76/profiles"; + Requests[1653] = new DefaultHttpContext(); + Requests[1653].RequestServices = CreateServices(); + Requests[1653].Request.Method = "GET"; + Requests[1653].Request.Path = "/subscriptions/11104193-f94e-/resourceGroups/0355e34e-152f-4e0/providers/Microsoft.CustomerInsights/hubs/2408c60/relationshipLinks"; + Requests[1654] = new DefaultHttpContext(); + Requests[1654].RequestServices = CreateServices(); + Requests[1654].Request.Method = "GET"; + Requests[1654].Request.Path = "/subscriptions/3fbb84b6-de68-/resourceGroups/bd43ebc5-8834-413/providers/Microsoft.CustomerInsights/hubs/16cd7dc/relationships"; + Requests[1655] = new DefaultHttpContext(); + Requests[1655].RequestServices = CreateServices(); + Requests[1655].Request.Method = "GET"; + Requests[1655].Request.Path = "/subscriptions/c4358cc0-d8f5-/resourceGroups/74c95ab0-d6e3-407/providers/Microsoft.CustomerInsights/hubs/a46aab5/roleAssignments"; + Requests[1656] = new DefaultHttpContext(); + Requests[1656].RequestServices = CreateServices(); + Requests[1656].Request.Method = "GET"; + Requests[1656].Request.Path = "/subscriptions/4e8b085d-f9aa-/resourceGroups/6a23670d-00eb-48c/providers/Microsoft.CustomerInsights/hubs/b5d6902/roles"; + Requests[1657] = new DefaultHttpContext(); + Requests[1657].RequestServices = CreateServices(); + Requests[1657].Request.Method = "GET"; + Requests[1657].Request.Path = "/subscriptions/79a88d69-8709-/resourceGroups/7aa84a18-179d-4a3/providers/Microsoft.CustomerInsights/hubs/e58329d/views"; + Requests[1658] = new DefaultHttpContext(); + Requests[1658].RequestServices = CreateServices(); + Requests[1658].Request.Method = "GET"; + Requests[1658].Request.Path = "/subscriptions/b4ecf599-85fc-/resourceGroups/efac23ec-0c94-4f9/providers/Microsoft.CustomerInsights/hubs/30883e6/widgetTypes"; + Requests[1659] = new DefaultHttpContext(); + Requests[1659].RequestServices = CreateServices(); + Requests[1659].Request.Method = "POST"; + Requests[1659].Request.Path = "/subscriptions/3fa5672b-1ad5-/resourceGroups/404e707e-bcc8-430/providers/Microsoft.DataBox/jobs/b6a586c/bookShipmentPickUp"; + Requests[1660] = new DefaultHttpContext(); + Requests[1660].RequestServices = CreateServices(); + Requests[1660].Request.Method = "POST"; + Requests[1660].Request.Path = "/subscriptions/952fde98-e26c-/resourceGroups/88ac30dc-7d34-4ee/providers/Microsoft.DataBox/jobs/3ce2ae6/cancel"; + Requests[1661] = new DefaultHttpContext(); + Requests[1661].RequestServices = CreateServices(); + Requests[1661].Request.Method = "POST"; + Requests[1661].Request.Path = "/subscriptions/b100b68c-0236-/resourceGroups/4b5ae0db-5ab6-493/providers/Microsoft.DataBox/jobs/b30b9e9/copyLogsUri"; + Requests[1662] = new DefaultHttpContext(); + Requests[1662].RequestServices = CreateServices(); + Requests[1662].Request.Method = "POST"; + Requests[1662].Request.Path = "/subscriptions/69f20c8f-2759-/resourceGroups/0030a34b-e89b-47d/providers/Microsoft.DataBox/jobs/777c200/downloadShippingLabel"; + Requests[1663] = new DefaultHttpContext(); + Requests[1663].RequestServices = CreateServices(); + Requests[1663].Request.Method = "POST"; + Requests[1663].Request.Path = "/subscriptions/59ed9ebc-a70e-/resourceGroups/0a7bc8cc-1314-460/providers/Microsoft.DataBox/jobs/ae9b1c5/listSecrets"; + Requests[1664] = new DefaultHttpContext(); + Requests[1664].RequestServices = CreateServices(); + Requests[1664].Request.Method = "POST"; + Requests[1664].Request.Path = "/subscriptions/bd0d8987-a3d6-/resourceGroups/c604d3e0-1b4f-414/providers/Microsoft.DataBox/jobs/901990b/reportIssue"; + Requests[1665] = new DefaultHttpContext(); + Requests[1665].RequestServices = CreateServices(); + Requests[1665].Request.Method = "GET"; + Requests[1665].Request.Path = "/subscriptions/3e2a1900-2621-/resourceGroups/cb0d0f31-d6a5-47f/providers/Microsoft.DataFactory/factories/cf0ed08f-10/datasets"; + Requests[1666] = new DefaultHttpContext(); + Requests[1666].RequestServices = CreateServices(); + Requests[1666].Request.Method = "GET"; + Requests[1666].Request.Path = "/subscriptions/cd5768ef-61e5-/resourceGroups/4f8269a5-78a3-4d1/providers/Microsoft.DataFactory/factories/9a7ae3dd-1a/integrationRuntimes"; + Requests[1667] = new DefaultHttpContext(); + Requests[1667].RequestServices = CreateServices(); + Requests[1667].Request.Method = "GET"; + Requests[1667].Request.Path = "/subscriptions/ad64aac8-513b-/resourceGroups/fe419a93-22e3-477/providers/Microsoft.DataFactory/factories/c892b9ad-b1/linkedservices"; + Requests[1668] = new DefaultHttpContext(); + Requests[1668].RequestServices = CreateServices(); + Requests[1668].Request.Method = "POST"; + Requests[1668].Request.Path = "/subscriptions/54148621-8a58-/resourceGroups/37f7adba-60cd-4e7/providers/Microsoft.DataFactory/factories/3657b9cf-c6/pipelineruns"; + Requests[1669] = new DefaultHttpContext(); + Requests[1669].RequestServices = CreateServices(); + Requests[1669].Request.Method = "GET"; + Requests[1669].Request.Path = "/subscriptions/958f094b-6c0f-/resourceGroups/42953364-c79e-4ee/providers/Microsoft.DataFactory/factories/31120246-82/pipelines"; + Requests[1670] = new DefaultHttpContext(); + Requests[1670].RequestServices = CreateServices(); + Requests[1670].Request.Method = "GET"; + Requests[1670].Request.Path = "/subscriptions/3541afd9-034e-/resourceGroups/5d62db6e-e097-420/providers/Microsoft.DataFactory/factories/e71ff6f4-8b/triggers"; + Requests[1671] = new DefaultHttpContext(); + Requests[1671].RequestServices = CreateServices(); + Requests[1671].Request.Method = "GET"; + Requests[1671].Request.Path = "/subscriptions/349b3bd1-7d29-/resourceGroups/fceca62e-e039-45f/providers/Microsoft.DataLakeAnalytics/accounts/56e265f3-76/computePolicies"; + Requests[1672] = new DefaultHttpContext(); + Requests[1672].RequestServices = CreateServices(); + Requests[1672].Request.Method = "GET"; + Requests[1672].Request.Path = "/subscriptions/d1f0af2b-e995-/resourceGroups/06a3bb37-51b1-4c0/providers/Microsoft.DataLakeAnalytics/accounts/2e749a1c-12/dataLakeStoreAccounts"; + Requests[1673] = new DefaultHttpContext(); + Requests[1673].RequestServices = CreateServices(); + Requests[1673].Request.Method = "GET"; + Requests[1673].Request.Path = "/subscriptions/c1855f9e-85be-/resourceGroups/42a0528c-9a5b-4d9/providers/Microsoft.DataLakeAnalytics/accounts/84f2479a-af/firewallRules"; + Requests[1674] = new DefaultHttpContext(); + Requests[1674].RequestServices = CreateServices(); + Requests[1674].Request.Method = "GET"; + Requests[1674].Request.Path = "/subscriptions/c9ece2ed-a985-/resourceGroups/e13b8efc-4668-438/providers/Microsoft.DataLakeAnalytics/accounts/37a3bdd1-5f/storageAccounts"; + Requests[1675] = new DefaultHttpContext(); + Requests[1675].RequestServices = CreateServices(); + Requests[1675].Request.Method = "POST"; + Requests[1675].Request.Path = "/subscriptions/ced3d6ce-a324-/resourceGroups/d9521b78-0886-4f0/providers/Microsoft.DataLakeStore/accounts/0f64d201-eb/enableKeyVault"; + Requests[1676] = new DefaultHttpContext(); + Requests[1676].RequestServices = CreateServices(); + Requests[1676].Request.Method = "GET"; + Requests[1676].Request.Path = "/subscriptions/4829cc66-a4e6-/resourceGroups/df4d6835-94c0-45a/providers/Microsoft.DataLakeStore/accounts/e14f7b6b-a6/firewallRules"; + Requests[1677] = new DefaultHttpContext(); + Requests[1677].RequestServices = CreateServices(); + Requests[1677].Request.Method = "GET"; + Requests[1677].Request.Path = "/subscriptions/bc6a5b4c-a2b1-/resourceGroups/40525f89-612a-417/providers/Microsoft.DataLakeStore/accounts/86202e17-d1/trustedIdProviders"; + Requests[1678] = new DefaultHttpContext(); + Requests[1678].RequestServices = CreateServices(); + Requests[1678].Request.Method = "GET"; + Requests[1678].Request.Path = "/subscriptions/1fe13a68-51ea-/resourceGroups/267ed658-f5a9-453/providers/Microsoft.DataLakeStore/accounts/fcec99a8-5b/virtualNetworkRules"; + Requests[1679] = new DefaultHttpContext(); + Requests[1679].RequestServices = CreateServices(); + Requests[1679].Request.Method = "GET"; + Requests[1679].Request.Path = "/subscriptions/fac7bc06-b2a2-/resourceGroups/be4a7840-ec7c-400/providers/Microsoft.DBforMySQL/servers/bbac970f-0/configurations"; + Requests[1680] = new DefaultHttpContext(); + Requests[1680].RequestServices = CreateServices(); + Requests[1680].Request.Method = "GET"; + Requests[1680].Request.Path = "/subscriptions/790d2a5a-4278-/resourceGroups/c792a9f5-c9ee-4fa/providers/Microsoft.DBforMySQL/servers/ea6f1284-5/databases"; + Requests[1681] = new DefaultHttpContext(); + Requests[1681].RequestServices = CreateServices(); + Requests[1681].Request.Method = "GET"; + Requests[1681].Request.Path = "/subscriptions/b5d54e36-3c0a-/resourceGroups/b2ebc5f2-9c07-462/providers/Microsoft.DBforMySQL/servers/6898516e-b/firewallRules"; + Requests[1682] = new DefaultHttpContext(); + Requests[1682].RequestServices = CreateServices(); + Requests[1682].Request.Method = "GET"; + Requests[1682].Request.Path = "/subscriptions/8ae4b182-d8a2-/resourceGroups/9a27f303-b888-4ed/providers/Microsoft.DBforMySQL/servers/5f3499fb-0/logFiles"; + Requests[1683] = new DefaultHttpContext(); + Requests[1683].RequestServices = CreateServices(); + Requests[1683].Request.Method = "GET"; + Requests[1683].Request.Path = "/subscriptions/b8de2536-21e2-/resourceGroups/fa2bdb93-154c-4b1/providers/Microsoft.DBforMySQL/servers/bb7d2126-8/virtualNetworkRules"; + Requests[1684] = new DefaultHttpContext(); + Requests[1684].RequestServices = CreateServices(); + Requests[1684].Request.Method = "GET"; + Requests[1684].Request.Path = "/subscriptions/98532b03-37f8-/resourceGroups/316fa149-a4c1-4de/providers/Microsoft.DBforPostgreSQL/servers/4dfe3610-e/configurations"; + Requests[1685] = new DefaultHttpContext(); + Requests[1685].RequestServices = CreateServices(); + Requests[1685].Request.Method = "GET"; + Requests[1685].Request.Path = "/subscriptions/5a5b0fbd-e9a2-/resourceGroups/0a801b41-8959-4fd/providers/Microsoft.DBforPostgreSQL/servers/582274cc-9/databases"; + Requests[1686] = new DefaultHttpContext(); + Requests[1686].RequestServices = CreateServices(); + Requests[1686].Request.Method = "GET"; + Requests[1686].Request.Path = "/subscriptions/9e01b565-aadd-/resourceGroups/7b156dcd-3990-40d/providers/Microsoft.DBforPostgreSQL/servers/fd97d1cc-4/firewallRules"; + Requests[1687] = new DefaultHttpContext(); + Requests[1687].RequestServices = CreateServices(); + Requests[1687].Request.Method = "GET"; + Requests[1687].Request.Path = "/subscriptions/1b3e5a58-89bd-/resourceGroups/ee2ada13-4767-461/providers/Microsoft.DBforPostgreSQL/servers/bdc4caef-3/logFiles"; + Requests[1688] = new DefaultHttpContext(); + Requests[1688].RequestServices = CreateServices(); + Requests[1688].Request.Method = "GET"; + Requests[1688].Request.Path = "/subscriptions/73f08883-0dc4-/resourceGroups/23510aea-79dc-471/providers/Microsoft.DBforPostgreSQL/servers/0d29eb91-3/virtualNetworkRules"; + Requests[1689] = new DefaultHttpContext(); + Requests[1689].RequestServices = CreateServices(); + Requests[1689].Request.Method = "GET"; + Requests[1689].Request.Path = "/subscriptions/cfea6607-fcc8-/resourceGroups/361fe189-3a43-4d7/providers/Microsoft.Devices/IotHubs/187999ae-c/routingEndpointsHealth"; + Requests[1690] = new DefaultHttpContext(); + Requests[1690].RequestServices = CreateServices(); + Requests[1690].Request.Method = "GET"; + Requests[1690].Request.Path = "/subscriptions/1f8071d6-ac33-/resourceGroups/67fd36d4-3971-437/providers/Microsoft.Devices/IotHubs/0be14169-db1/certificates"; + Requests[1691] = new DefaultHttpContext(); + Requests[1691].RequestServices = CreateServices(); + Requests[1691].Request.Method = "POST"; + Requests[1691].Request.Path = "/subscriptions/3c41d973-c018-/resourceGroups/45552e8f-a643-4b3/providers/Microsoft.Devices/IotHubs/c6824078-a49/exportDevices"; + Requests[1692] = new DefaultHttpContext(); + Requests[1692].RequestServices = CreateServices(); + Requests[1692].Request.Method = "POST"; + Requests[1692].Request.Path = "/subscriptions/bc924be0-457e-/resourceGroups/6e5fd657-c38d-44e/providers/Microsoft.Devices/IotHubs/34cd9dd8-33d/importDevices"; + Requests[1693] = new DefaultHttpContext(); + Requests[1693].RequestServices = CreateServices(); + Requests[1693].Request.Method = "GET"; + Requests[1693].Request.Path = "/subscriptions/4a3c9d4e-981e-/resourceGroups/fcf7bb39-627c-4a3/providers/Microsoft.Devices/IotHubs/fee45629-d16/IotHubStats"; + Requests[1694] = new DefaultHttpContext(); + Requests[1694].RequestServices = CreateServices(); + Requests[1694].Request.Method = "GET"; + Requests[1694].Request.Path = "/subscriptions/9ef63680-c4d3-/resourceGroups/e20a4649-8d4e-419/providers/Microsoft.Devices/IotHubs/3e221463-936/jobs"; + Requests[1695] = new DefaultHttpContext(); + Requests[1695].RequestServices = CreateServices(); + Requests[1695].Request.Method = "POST"; + Requests[1695].Request.Path = "/subscriptions/de7821b7-ff8e-/resourceGroups/d7a83753-c310-491/providers/Microsoft.Devices/IotHubs/045a6ba7-9b6/listkeys"; + Requests[1696] = new DefaultHttpContext(); + Requests[1696].RequestServices = CreateServices(); + Requests[1696].Request.Method = "GET"; + Requests[1696].Request.Path = "/subscriptions/144de93f-7317-/resourceGroups/8645e07d-945f-469/providers/Microsoft.Devices/IotHubs/0c4c026e-388/quotaMetrics"; + Requests[1697] = new DefaultHttpContext(); + Requests[1697].RequestServices = CreateServices(); + Requests[1697].Request.Method = "GET"; + Requests[1697].Request.Path = "/subscriptions/b46c0624-378a-/resourceGroups/37e57355-3cbb-40b/providers/Microsoft.Devices/IotHubs/c35d9447-e08/skus"; + Requests[1698] = new DefaultHttpContext(); + Requests[1698].RequestServices = CreateServices(); + Requests[1698].Request.Method = "GET"; + Requests[1698].Request.Path = "/subscriptions/a0aafb21-0f21-/resourceGroups/d176964e-8f87-412/providers/Microsoft.Devices/provisioningServices/3a1afd2d-dffc-449a-a141/certificates"; + Requests[1699] = new DefaultHttpContext(); + Requests[1699].RequestServices = CreateServices(); + Requests[1699].Request.Method = "POST"; + Requests[1699].Request.Path = "/subscriptions/7a86191f-7cfc-/resourceGroups/57a967f1-76c2-479/providers/Microsoft.Devices/provisioningServices/a1c24f45-9c8e-4e7f-ab1f/listkeys"; + Requests[1700] = new DefaultHttpContext(); + Requests[1700].RequestServices = CreateServices(); + Requests[1700].Request.Method = "GET"; + Requests[1700].Request.Path = "/subscriptions/7347c3f8-556c-/resourceGroups/b7ce6d97-2d73-493/providers/Microsoft.Devices/provisioningServices/f9e93bab-cabe-411d-8f7a/skus"; + Requests[1701] = new DefaultHttpContext(); + Requests[1701].RequestServices = CreateServices(); + Requests[1701].Request.Method = "GET"; + Requests[1701].Request.Path = "/subscriptions/e7ae99ad-6997-/resourceGroups/5faac96b-bbbd-4bf/providers/Microsoft.DevTestLab/labs/4baca89/artifactsources"; + Requests[1702] = new DefaultHttpContext(); + Requests[1702].RequestServices = CreateServices(); + Requests[1702].Request.Method = "GET"; + Requests[1702].Request.Path = "/subscriptions/84c6253e-bcd0-/resourceGroups/15c825c4-c8e1-4b8/providers/Microsoft.DevTestLab/labs/d9be4c6/costinsights"; + Requests[1703] = new DefaultHttpContext(); + Requests[1703].RequestServices = CreateServices(); + Requests[1703].Request.Method = "GET"; + Requests[1703].Request.Path = "/subscriptions/c77d5f66-d159-/resourceGroups/0a59f41d-5822-4b5/providers/Microsoft.DevTestLab/labs/de6b693/costs"; + Requests[1704] = new DefaultHttpContext(); + Requests[1704].RequestServices = CreateServices(); + Requests[1704].Request.Method = "GET"; + Requests[1704].Request.Path = "/subscriptions/fdcf2619-8ce1-/resourceGroups/3c8559ac-515e-48f/providers/Microsoft.DevTestLab/labs/bb62f1b/customimages"; + Requests[1705] = new DefaultHttpContext(); + Requests[1705].RequestServices = CreateServices(); + Requests[1705].Request.Method = "GET"; + Requests[1705].Request.Path = "/subscriptions/fa06c47a-cc01-/resourceGroups/1ec40c05-2bbe-482/providers/Microsoft.DevTestLab/labs/cc68f43/formulas"; + Requests[1706] = new DefaultHttpContext(); + Requests[1706].RequestServices = CreateServices(); + Requests[1706].Request.Method = "GET"; + Requests[1706].Request.Path = "/subscriptions/49997d56-b3f2-/resourceGroups/d6a7790e-3872-4e0/providers/Microsoft.DevTestLab/labs/9504481/galleryimages"; + Requests[1707] = new DefaultHttpContext(); + Requests[1707].RequestServices = CreateServices(); + Requests[1707].Request.Method = "GET"; + Requests[1707].Request.Path = "/subscriptions/b7103056-b5c5-/resourceGroups/a220c9ff-8a28-470/providers/Microsoft.DevTestLab/labs/489691c/notificationchannels"; + Requests[1708] = new DefaultHttpContext(); + Requests[1708].RequestServices = CreateServices(); + Requests[1708].Request.Method = "GET"; + Requests[1708].Request.Path = "/subscriptions/40312af4-64b4-/resourceGroups/bc8f85fe-9bd8-47f/providers/Microsoft.DevTestLab/labs/45f333a/schedules"; + Requests[1709] = new DefaultHttpContext(); + Requests[1709].RequestServices = CreateServices(); + Requests[1709].Request.Method = "GET"; + Requests[1709].Request.Path = "/subscriptions/fab8f2d3-58e0-/resourceGroups/98dd929a-2dd9-420/providers/Microsoft.DevTestLab/labs/c9e64a4/servicerunners"; + Requests[1710] = new DefaultHttpContext(); + Requests[1710].RequestServices = CreateServices(); + Requests[1710].Request.Method = "GET"; + Requests[1710].Request.Path = "/subscriptions/939b86d9-0509-/resourceGroups/a53b01d6-487e-4cd/providers/Microsoft.DevTestLab/labs/64556d4/users"; + Requests[1711] = new DefaultHttpContext(); + Requests[1711].RequestServices = CreateServices(); + Requests[1711].Request.Method = "GET"; + Requests[1711].Request.Path = "/subscriptions/8474b3eb-a5c5-/resourceGroups/94c243b8-9752-47a/providers/Microsoft.DevTestLab/labs/63e7623/virtualmachines"; + Requests[1712] = new DefaultHttpContext(); + Requests[1712].RequestServices = CreateServices(); + Requests[1712].Request.Method = "GET"; + Requests[1712].Request.Path = "/subscriptions/e578cd96-ba6a-/resourceGroups/da93ffce-4caa-40f/providers/Microsoft.DevTestLab/labs/cf1ae19/virtualnetworks"; + Requests[1713] = new DefaultHttpContext(); + Requests[1713].RequestServices = CreateServices(); + Requests[1713].Request.Method = "POST"; + Requests[1713].Request.Path = "/subscriptions/20fcf4c1-fbb8-/resourceGroups/76acf505-4f19-4d3/providers/Microsoft.DevTestLab/labs/1def8/claimAnyVm"; + Requests[1714] = new DefaultHttpContext(); + Requests[1714].RequestServices = CreateServices(); + Requests[1714].Request.Method = "POST"; + Requests[1714].Request.Path = "/subscriptions/1757a2fb-96e2-/resourceGroups/70317207-8151-4b5/providers/Microsoft.DevTestLab/labs/7fa0d/createEnvironment"; + Requests[1715] = new DefaultHttpContext(); + Requests[1715].RequestServices = CreateServices(); + Requests[1715].Request.Method = "POST"; + Requests[1715].Request.Path = "/subscriptions/6017ea56-0d1f-/resourceGroups/10ba5529-6e50-4c0/providers/Microsoft.DevTestLab/labs/84b9f/exportResourceUsage"; + Requests[1716] = new DefaultHttpContext(); + Requests[1716].RequestServices = CreateServices(); + Requests[1716].Request.Method = "POST"; + Requests[1716].Request.Path = "/subscriptions/d06b360c-4057-/resourceGroups/05e9a676-6575-40c/providers/Microsoft.DevTestLab/labs/91604/generateUploadUri"; + Requests[1717] = new DefaultHttpContext(); + Requests[1717].RequestServices = CreateServices(); + Requests[1717].Request.Method = "POST"; + Requests[1717].Request.Path = "/subscriptions/6cce448f-c272-/resourceGroups/d24dc18d-8d59-4f9/providers/Microsoft.DevTestLab/labs/eb396/listVhds"; + Requests[1718] = new DefaultHttpContext(); + Requests[1718].RequestServices = CreateServices(); + Requests[1718].Request.Method = "POST"; + Requests[1718].Request.Path = "/subscriptions/e484b10f-b4ee-/resourceGroups/c52fa079-6fa6-480/providers/Microsoft.DevTestLab/schedules/e8cbd/execute"; + Requests[1719] = new DefaultHttpContext(); + Requests[1719].RequestServices = CreateServices(); + Requests[1719].Request.Method = "POST"; + Requests[1719].Request.Path = "/subscriptions/357df322-33f4-/resourceGroups/087a4b1f-e0e8-42f/providers/Microsoft.DevTestLab/schedules/3aa59/retarget"; + Requests[1720] = new DefaultHttpContext(); + Requests[1720].RequestServices = CreateServices(); + Requests[1720].Request.Method = "POST"; + Requests[1720].Request.Path = "/subscriptions/9f921df1-2e62-/resourceGroups/b5bbe978-3acb-451/providers/Microsoft.DocumentDB/databaseAccounts/dc3446db-3e/failoverPriorityChange"; + Requests[1721] = new DefaultHttpContext(); + Requests[1721].RequestServices = CreateServices(); + Requests[1721].Request.Method = "POST"; + Requests[1721].Request.Path = "/subscriptions/bee6b242-2c82-/resourceGroups/0ff78aa9-a850-4a9/providers/Microsoft.DocumentDB/databaseAccounts/e8f0257a-40/listConnectionStrings"; + Requests[1722] = new DefaultHttpContext(); + Requests[1722].RequestServices = CreateServices(); + Requests[1722].Request.Method = "POST"; + Requests[1722].Request.Path = "/subscriptions/953eb631-3acc-/resourceGroups/fb05824f-43c6-492/providers/Microsoft.DocumentDB/databaseAccounts/40de3c20-57/listKeys"; + Requests[1723] = new DefaultHttpContext(); + Requests[1723].RequestServices = CreateServices(); + Requests[1723].Request.Method = "GET"; + Requests[1723].Request.Path = "/subscriptions/b6edbb18-6249-/resourceGroups/76094aad-3cb7-404/providers/Microsoft.DocumentDB/databaseAccounts/bcb17202-5d/metricDefinitions"; + Requests[1724] = new DefaultHttpContext(); + Requests[1724].RequestServices = CreateServices(); + Requests[1724].Request.Method = "GET"; + Requests[1724].Request.Path = "/subscriptions/c32e3995-4390-/resourceGroups/28fba584-68f8-437/providers/Microsoft.DocumentDB/databaseAccounts/11c19060-cf/metrics"; + Requests[1725] = new DefaultHttpContext(); + Requests[1725].RequestServices = CreateServices(); + Requests[1725].Request.Method = "POST"; + Requests[1725].Request.Path = "/subscriptions/5a4741b4-3792-/resourceGroups/d1760d1b-ce1b-40f/providers/Microsoft.DocumentDB/databaseAccounts/5d788561-9e/offlineRegion"; + Requests[1726] = new DefaultHttpContext(); + Requests[1726].RequestServices = CreateServices(); + Requests[1726].Request.Method = "POST"; + Requests[1726].Request.Path = "/subscriptions/17a5bd17-9be1-/resourceGroups/dd55d344-da99-472/providers/Microsoft.DocumentDB/databaseAccounts/d008d391-d1/onlineRegion"; + Requests[1727] = new DefaultHttpContext(); + Requests[1727].RequestServices = CreateServices(); + Requests[1727].Request.Method = "GET"; + Requests[1727].Request.Path = "/subscriptions/1decb3f7-6e4c-/resourceGroups/96c866f2-4a9f-4ea/providers/Microsoft.DocumentDB/databaseAccounts/3bbfa870-fd/readonlykeys"; + Requests[1728] = new DefaultHttpContext(); + Requests[1728].RequestServices = CreateServices(); + Requests[1728].Request.Method = "POST"; + Requests[1728].Request.Path = "/subscriptions/a273b191-ef86-/resourceGroups/8b28f256-3539-4c0/providers/Microsoft.DocumentDB/databaseAccounts/49548db8-0a/regenerateKey"; + Requests[1729] = new DefaultHttpContext(); + Requests[1729].RequestServices = CreateServices(); + Requests[1729].Request.Method = "GET"; + Requests[1729].Request.Path = "/subscriptions/eac3d184-532f-/resourceGroups/a16c9330-351d-40d/providers/Microsoft.DocumentDB/databaseAccounts/ec426f5d-10/usages"; + Requests[1730] = new DefaultHttpContext(); + Requests[1730].RequestServices = CreateServices(); + Requests[1730].Request.Method = "GET"; + Requests[1730].Request.Path = "/subscriptions/6417ad94-81ea-/resourceGroups/b5792483-8dd1-495/providers/Microsoft.DomainRegistration/domains/efd05557-e/domainOwnershipIdentifiers"; + Requests[1731] = new DefaultHttpContext(); + Requests[1731].RequestServices = CreateServices(); + Requests[1731].Request.Method = "POST"; + Requests[1731].Request.Path = "/subscriptions/ef478f19-f511-/resourceGroups/50c235ed-a2a0-42b/providers/Microsoft.DomainRegistration/domains/e88ac183-a/renew"; + Requests[1732] = new DefaultHttpContext(); + Requests[1732].RequestServices = CreateServices(); + Requests[1732].Request.Method = "GET"; + Requests[1732].Request.Path = "/subscriptions/f2f424d9-0d92-/resourceGroups/e9dc471e-e2c9-48f/providers/Microsoft.EventGrid/locations/3be5d73e/eventSubscriptions"; + Requests[1733] = new DefaultHttpContext(); + Requests[1733].RequestServices = CreateServices(); + Requests[1733].Request.Method = "POST"; + Requests[1733].Request.Path = "/subscriptions/0915a492-f3cb-/resourceGroups/50b8f6ab-0a0c-448/providers/Microsoft.EventGrid/topics/e58113f2-/listKeys"; + Requests[1734] = new DefaultHttpContext(); + Requests[1734].RequestServices = CreateServices(); + Requests[1734].Request.Method = "POST"; + Requests[1734].Request.Path = "/subscriptions/ba9109da-f57a-/resourceGroups/8c011e6b-89c9-4bd/providers/Microsoft.EventGrid/topics/1ecab9aa-/regenerateKey"; + Requests[1735] = new DefaultHttpContext(); + Requests[1735].RequestServices = CreateServices(); + Requests[1735].Request.Method = "GET"; + Requests[1735].Request.Path = "/subscriptions/415457f4-b218-/resourceGroups/3c618fc5-6828-42d/providers/Microsoft.EventGrid/topicTypes/b15e8105-9a0e/eventSubscriptions"; + Requests[1736] = new DefaultHttpContext(); + Requests[1736].RequestServices = CreateServices(); + Requests[1736].Request.Method = "GET"; + Requests[1736].Request.Path = "/subscriptions/6fd8ae55-1e44-/resourceGroups/0d96abbb-bcf8-443/providers/Microsoft.EventHub/namespaces/3f765945-6f99/AuthorizationRules"; + Requests[1737] = new DefaultHttpContext(); + Requests[1737].RequestServices = CreateServices(); + Requests[1737].Request.Method = "GET"; + Requests[1737].Request.Path = "/subscriptions/a21c6bce-ac29-/resourceGroups/89980a64-3257-4b2/providers/Microsoft.EventHub/namespaces/ef22bdd0-054c/disasterRecoveryConfigs"; + Requests[1738] = new DefaultHttpContext(); + Requests[1738].RequestServices = CreateServices(); + Requests[1738].Request.Method = "GET"; + Requests[1738].Request.Path = "/subscriptions/6e551fa4-5e77-/resourceGroups/7ea8fd3e-e317-4ac/providers/Microsoft.EventHub/namespaces/dda4d796-31e1/eventhubs"; + Requests[1739] = new DefaultHttpContext(); + Requests[1739].RequestServices = CreateServices(); + Requests[1739].Request.Method = "GET"; + Requests[1739].Request.Path = "/subscriptions/c3174576-ac92-/resourceGroups/029e09b5-f481-400/providers/Microsoft.EventHub/namespaces/2c215e4d-dc0c/messagingplan"; + Requests[1740] = new DefaultHttpContext(); + Requests[1740].RequestServices = CreateServices(); + Requests[1740].Request.Method = "GET"; + Requests[1740].Request.Path = "/subscriptions/e67944a4-9e35-/resourceGroups/bc6c369a-5d3c-457/providers/Microsoft.Fabric.Admin/fabricLocations/18a6a445/edgeGatewayPools"; + Requests[1741] = new DefaultHttpContext(); + Requests[1741].RequestServices = CreateServices(); + Requests[1741].Request.Method = "GET"; + Requests[1741].Request.Path = "/subscriptions/ba591929-e1be-/resourceGroups/db28218f-cc7e-420/providers/Microsoft.Fabric.Admin/fabricLocations/2b01ba1a/edgeGateways"; + Requests[1742] = new DefaultHttpContext(); + Requests[1742].RequestServices = CreateServices(); + Requests[1742].Request.Method = "GET"; + Requests[1742].Request.Path = "/subscriptions/9350dcfc-16e1-/resourceGroups/356ca89b-dcb2-433/providers/Microsoft.Fabric.Admin/fabricLocations/cf370e34/fileShares"; + Requests[1743] = new DefaultHttpContext(); + Requests[1743].RequestServices = CreateServices(); + Requests[1743].Request.Method = "GET"; + Requests[1743].Request.Path = "/subscriptions/7f8eb6c2-4616-/resourceGroups/86f254f6-acbb-4c5/providers/Microsoft.Fabric.Admin/fabricLocations/a6d51b7a/infraRoleInstances"; + Requests[1744] = new DefaultHttpContext(); + Requests[1744].RequestServices = CreateServices(); + Requests[1744].Request.Method = "GET"; + Requests[1744].Request.Path = "/subscriptions/2c1e1fc0-1140-/resourceGroups/70c2c02e-7da6-415/providers/Microsoft.Fabric.Admin/fabricLocations/3689672e/infraRoles"; + Requests[1745] = new DefaultHttpContext(); + Requests[1745].RequestServices = CreateServices(); + Requests[1745].Request.Method = "GET"; + Requests[1745].Request.Path = "/subscriptions/ebf4e31a-6eea-/resourceGroups/95788bbd-3607-46d/providers/Microsoft.Fabric.Admin/fabricLocations/103c2c28/ipPools"; + Requests[1746] = new DefaultHttpContext(); + Requests[1746].RequestServices = CreateServices(); + Requests[1746].Request.Method = "GET"; + Requests[1746].Request.Path = "/subscriptions/86e8ca1a-beda-/resourceGroups/9a897eb8-f28c-42c/providers/Microsoft.Fabric.Admin/fabricLocations/856001ed/logicalNetworks"; + Requests[1747] = new DefaultHttpContext(); + Requests[1747].RequestServices = CreateServices(); + Requests[1747].Request.Method = "GET"; + Requests[1747].Request.Path = "/subscriptions/fd0efc3a-473f-/resourceGroups/38a140df-1946-47b/providers/Microsoft.Fabric.Admin/fabricLocations/8ac18027/macAddressPools"; + Requests[1748] = new DefaultHttpContext(); + Requests[1748].RequestServices = CreateServices(); + Requests[1748].Request.Method = "GET"; + Requests[1748].Request.Path = "/subscriptions/2690537c-c6a0-/resourceGroups/2b61a2bc-689f-4ae/providers/Microsoft.Fabric.Admin/fabricLocations/2a85c410/scaleUnitNodes"; + Requests[1749] = new DefaultHttpContext(); + Requests[1749].RequestServices = CreateServices(); + Requests[1749].Request.Method = "GET"; + Requests[1749].Request.Path = "/subscriptions/8636b2ce-666b-/resourceGroups/72637b25-3a6b-47f/providers/Microsoft.Fabric.Admin/fabricLocations/19a492de/scaleUnits"; + Requests[1750] = new DefaultHttpContext(); + Requests[1750].RequestServices = CreateServices(); + Requests[1750].Request.Method = "GET"; + Requests[1750].Request.Path = "/subscriptions/e8311e90-b684-/resourceGroups/86041b1b-c1a0-454/providers/Microsoft.Fabric.Admin/fabricLocations/a95ff28e/slbMuxInstances"; + Requests[1751] = new DefaultHttpContext(); + Requests[1751].RequestServices = CreateServices(); + Requests[1751].Request.Method = "GET"; + Requests[1751].Request.Path = "/subscriptions/da869b96-6f80-/resourceGroups/63ae2128-02b3-478/providers/Microsoft.Fabric.Admin/fabricLocations/3e5ada7c/storageSubSystems"; + Requests[1752] = new DefaultHttpContext(); + Requests[1752].RequestServices = CreateServices(); + Requests[1752].Request.Method = "GET"; + Requests[1752].Request.Path = "/subscriptions/49233787-de1a-/resourceGroups/62c2f02c-8823-45e/providers/Microsoft.HDInsight/clusters/a885df1f-a6/applications"; + Requests[1753] = new DefaultHttpContext(); + Requests[1753].RequestServices = CreateServices(); + Requests[1753].Request.Method = "POST"; + Requests[1753].Request.Path = "/subscriptions/c02ec982-af3d-/resourceGroups/849ae9aa-9c21-41e/providers/Microsoft.HDInsight/clusters/55e35ee5-0a/executeScriptActions"; + Requests[1754] = new DefaultHttpContext(); + Requests[1754].RequestServices = CreateServices(); + Requests[1754].Request.Method = "GET"; + Requests[1754].Request.Path = "/subscriptions/a0b02b55-df8e-/resourceGroups/857c2a00-7a45-42f/providers/Microsoft.HDInsight/clusters/bc3db9ee-97/scriptActions"; + Requests[1755] = new DefaultHttpContext(); + Requests[1755].RequestServices = CreateServices(); + Requests[1755].Request.Method = "GET"; + Requests[1755].Request.Path = "/subscriptions/92a04739-752a-/resourceGroups/ae699050-005f-4a9/providers/Microsoft.HDInsight/clusters/6f0ead36-90/scriptExecutionHistory"; + Requests[1756] = new DefaultHttpContext(); + Requests[1756].RequestServices = CreateServices(); + Requests[1756].Request.Method = "POST"; + Requests[1756].Request.Path = "/subscriptions/7eab68c4-44c0-/resourceGroups/e51a929a-35ef-4ca/providers/Microsoft.ImportExport/jobs/dfbf049/listBitLockerKeys"; + Requests[1757] = new DefaultHttpContext(); + Requests[1757].RequestServices = CreateServices(); + Requests[1757].Request.Method = "GET"; + Requests[1757].Request.Path = "/subscriptions/0b5f2b35-d285-/resourceGroups/2bcae9cf-701e-482/providers/Microsoft.InfrastructureInsights.Admin/regionHealths/ca39c653/alerts"; + Requests[1758] = new DefaultHttpContext(); + Requests[1758].RequestServices = CreateServices(); + Requests[1758].Request.Method = "GET"; + Requests[1758].Request.Path = "/subscriptions/4ccc8808-f09c-/resourceGroups/f36b6be0-20e9-4dd/providers/Microsoft.InfrastructureInsights.Admin/regionHealths/eb0de761/serviceHealths"; + Requests[1759] = new DefaultHttpContext(); + Requests[1759].RequestServices = CreateServices(); + Requests[1759].Request.Method = "POST"; + Requests[1759].Request.Path = "/subscriptions/e3a55f57-b9b7-/resourceGroups/b6e87603-f353-46d/providers/microsoft.insights/actionGroups/ed0d45b9-4c6e-4/subscribe"; + Requests[1760] = new DefaultHttpContext(); + Requests[1760].RequestServices = CreateServices(); + Requests[1760].Request.Method = "GET"; + Requests[1760].Request.Path = "/subscriptions/a3898b75-779c-/resourcegroups/8cbc5b0a-6c41-447/providers/microsoft.insights/alertrules/b83e09df/incidents"; + Requests[1761] = new DefaultHttpContext(); + Requests[1761].RequestServices = CreateServices(); + Requests[1761].Request.Method = "GET"; + Requests[1761].Request.Path = "/subscriptions/cad3ab37-1091-/resourceGroups/51a3ac1d-b473-48d/providers/Microsoft.Insights/components/22cdfc00-c88a/webtests"; + Requests[1762] = new DefaultHttpContext(); + Requests[1762].RequestServices = CreateServices(); + Requests[1762].Request.Method = "PUT"; + Requests[1762].Request.Path = "/subscriptions/27d94d5d-11d6-/resourceGroups/ac1250ed-8f7c-4e1/providers/Microsoft.Insights/components/cbad7efb-a83/Annotations"; + Requests[1763] = new DefaultHttpContext(); + Requests[1763].RequestServices = CreateServices(); + Requests[1763].Request.Method = "POST"; + Requests[1763].Request.Path = "/subscriptions/5d095849-2bb8-/resourceGroups/94044847-aa09-465/providers/Microsoft.Insights/components/a5e78080-1ea/ApiKeys"; + Requests[1764] = new DefaultHttpContext(); + Requests[1764].RequestServices = CreateServices(); + Requests[1764].Request.Method = "PUT"; + Requests[1764].Request.Path = "/subscriptions/c0346606-964c-/resourceGroups/7023cd5a-f2b8-4da/providers/Microsoft.Insights/components/0554e19e-516/currentbillingfeatures"; + Requests[1765] = new DefaultHttpContext(); + Requests[1765].RequestServices = CreateServices(); + Requests[1765].Request.Method = "GET"; + Requests[1765].Request.Path = "/subscriptions/6ffbfc7d-a276-/resourceGroups/ffe6c51d-4d0b-4af/providers/Microsoft.Insights/components/b956ba27-0bc/DefaultWorkItemConfig"; + Requests[1766] = new DefaultHttpContext(); + Requests[1766].RequestServices = CreateServices(); + Requests[1766].Request.Method = "POST"; + Requests[1766].Request.Path = "/subscriptions/1ff2993a-d07c-/resourceGroups/90cb61bd-ba2a-43a/providers/Microsoft.Insights/components/a9dddb90-cff/exportconfiguration"; + Requests[1767] = new DefaultHttpContext(); + Requests[1767].RequestServices = CreateServices(); + Requests[1767].Request.Method = "GET"; + Requests[1767].Request.Path = "/subscriptions/93ba6073-d80e-/resourceGroups/10541adb-2bfe-42f/providers/Microsoft.Insights/components/f6ff551b-9a5/favorites"; + Requests[1768] = new DefaultHttpContext(); + Requests[1768].RequestServices = CreateServices(); + Requests[1768].Request.Method = "GET"; + Requests[1768].Request.Path = "/subscriptions/97cefd59-e6fa-/resourceGroups/6f77d013-4e56-479/providers/Microsoft.Insights/components/7d485de2-f50/featurecapabilities"; + Requests[1769] = new DefaultHttpContext(); + Requests[1769].RequestServices = CreateServices(); + Requests[1769].Request.Method = "GET"; + Requests[1769].Request.Path = "/subscriptions/87e7d752-29d8-/resourceGroups/69bbac32-f6e7-4e2/providers/Microsoft.Insights/components/0abd0df3-749/getavailablebillingfeatures"; + Requests[1770] = new DefaultHttpContext(); + Requests[1770].RequestServices = CreateServices(); + Requests[1770].Request.Method = "GET"; + Requests[1770].Request.Path = "/subscriptions/d7f985da-3fa7-/resourceGroups/b8addd6b-bc58-4a6/providers/Microsoft.Insights/components/b8b9057e-af7/ProactiveDetectionConfigs"; + Requests[1771] = new DefaultHttpContext(); + Requests[1771].RequestServices = CreateServices(); + Requests[1771].Request.Method = "POST"; + Requests[1771].Request.Path = "/subscriptions/fe917f52-0478-/resourceGroups/c52d1e61-b760-4b1/providers/Microsoft.Insights/components/0ec466a8-b5f/purge"; + Requests[1772] = new DefaultHttpContext(); + Requests[1772].RequestServices = CreateServices(); + Requests[1772].Request.Method = "GET"; + Requests[1772].Request.Path = "/subscriptions/aeacf970-de01-/resourceGroups/11988699-d622-476/providers/Microsoft.Insights/components/8f085c78-69c/quotastatus"; + Requests[1773] = new DefaultHttpContext(); + Requests[1773].RequestServices = CreateServices(); + Requests[1773].Request.Method = "GET"; + Requests[1773].Request.Path = "/subscriptions/e62ccef1-f408-/resourceGroups/cecd6d63-a068-423/providers/Microsoft.Insights/components/0b6d4691-2f0/syntheticmonitorlocations"; + Requests[1774] = new DefaultHttpContext(); + Requests[1774].RequestServices = CreateServices(); + Requests[1774].Request.Method = "POST"; + Requests[1774].Request.Path = "/subscriptions/5adca834-624f-/resourceGroups/95980869-d30d-4ce/providers/Microsoft.Insights/components/308c2be2-633/WorkItemConfigs"; + Requests[1775] = new DefaultHttpContext(); + Requests[1775].RequestServices = CreateServices(); + Requests[1775].Request.Method = "GET"; + Requests[1775].Request.Path = "/subscriptions/dc63cc0f-4e0a-/resourceGroups/f8b2156a-c5eb-4b2/providers/Microsoft.Insights/metricAlerts/e748dc95/status"; + Requests[1776] = new DefaultHttpContext(); + Requests[1776].RequestServices = CreateServices(); + Requests[1776].Request.Method = "GET"; + Requests[1776].Request.Path = "/subscriptions/ac7b5d7b-7f66-/resourceGroups/4c1eceff-f8fb-4cc/providers/Microsoft.KeyVault/vaults/207472ed-/secrets"; + Requests[1777] = new DefaultHttpContext(); + Requests[1777].RequestServices = CreateServices(); + Requests[1777].Request.Method = "GET"; + Requests[1777].Request.Path = "/subscriptions/d253144e-410d-/resourceGroups/d75d50aa-0c7a-466/providers/Microsoft.Logic/integrationAccounts/3b989c4b-de79-4a76-893/agreements"; + Requests[1778] = new DefaultHttpContext(); + Requests[1778].RequestServices = CreateServices(); + Requests[1778].Request.Method = "GET"; + Requests[1778].Request.Path = "/subscriptions/0c8d5dd8-aa63-/resourceGroups/d0050f6c-4205-4a7/providers/Microsoft.Logic/integrationAccounts/1b060cf6-caa2-4bce-be2/assemblies"; + Requests[1779] = new DefaultHttpContext(); + Requests[1779].RequestServices = CreateServices(); + Requests[1779].Request.Method = "GET"; + Requests[1779].Request.Path = "/subscriptions/bab4e512-c621-/resourceGroups/43b1e8ba-1f34-49b/providers/Microsoft.Logic/integrationAccounts/a44cc45e-5323-44ad-919/batchConfigurations"; + Requests[1780] = new DefaultHttpContext(); + Requests[1780].RequestServices = CreateServices(); + Requests[1780].Request.Method = "GET"; + Requests[1780].Request.Path = "/subscriptions/3d388532-52e1-/resourceGroups/f5ed92a2-f9aa-4bc/providers/Microsoft.Logic/integrationAccounts/08bc4bea-53d4-437d-8fa/certificates"; + Requests[1781] = new DefaultHttpContext(); + Requests[1781].RequestServices = CreateServices(); + Requests[1781].Request.Method = "POST"; + Requests[1781].Request.Path = "/subscriptions/b111eee8-6031-/resourceGroups/e4492d2c-5cfc-45f/providers/Microsoft.Logic/integrationAccounts/6c7a9319-2dd9-4f61-b78/listCallbackUrl"; + Requests[1782] = new DefaultHttpContext(); + Requests[1782].RequestServices = CreateServices(); + Requests[1782].Request.Method = "POST"; + Requests[1782].Request.Path = "/subscriptions/d44de62c-b100-/resourceGroups/dd40bedf-d80b-4eb/providers/Microsoft.Logic/integrationAccounts/0805040c-c748-4ea3-b21/listKeyVaultKeys"; + Requests[1783] = new DefaultHttpContext(); + Requests[1783].RequestServices = CreateServices(); + Requests[1783].Request.Method = "POST"; + Requests[1783].Request.Path = "/subscriptions/d3e4ed67-0869-/resourceGroups/1db3a43c-3fef-49a/providers/Microsoft.Logic/integrationAccounts/d76cf060-29a6-420a-ad5/logTrackingEvents"; + Requests[1784] = new DefaultHttpContext(); + Requests[1784].RequestServices = CreateServices(); + Requests[1784].Request.Method = "GET"; + Requests[1784].Request.Path = "/subscriptions/86067336-24b9-/resourceGroups/658354b1-a21a-4b9/providers/Microsoft.Logic/integrationAccounts/1bf8e8fe-c116-4efb-810/maps"; + Requests[1785] = new DefaultHttpContext(); + Requests[1785].RequestServices = CreateServices(); + Requests[1785].Request.Method = "GET"; + Requests[1785].Request.Path = "/subscriptions/ed242917-8178-/resourceGroups/264a1a5d-400c-461/providers/Microsoft.Logic/integrationAccounts/fb4c8eaf-1cf7-47c3-a99/partners"; + Requests[1786] = new DefaultHttpContext(); + Requests[1786].RequestServices = CreateServices(); + Requests[1786].Request.Method = "POST"; + Requests[1786].Request.Path = "/subscriptions/26c56061-7c90-/resourceGroups/48d9e275-f195-4b3/providers/Microsoft.Logic/integrationAccounts/a59047b2-ad45-42a5-b29/regenerateAccessKey"; + Requests[1787] = new DefaultHttpContext(); + Requests[1787].RequestServices = CreateServices(); + Requests[1787].Request.Method = "GET"; + Requests[1787].Request.Path = "/subscriptions/e3c01ea9-a31f-/resourceGroups/12e27842-c698-474/providers/Microsoft.Logic/integrationAccounts/3b9095ae-d9be-4ba6-9ad/schemas"; + Requests[1788] = new DefaultHttpContext(); + Requests[1788].RequestServices = CreateServices(); + Requests[1788].Request.Method = "GET"; + Requests[1788].Request.Path = "/subscriptions/14b2c5a4-9fc4-/resourceGroups/0508ed33-9a10-470/providers/Microsoft.Logic/integrationAccounts/2e0f6608-4527-4555-952/sessions"; + Requests[1789] = new DefaultHttpContext(); + Requests[1789].RequestServices = CreateServices(); + Requests[1789].Request.Method = "GET"; + Requests[1789].Request.Path = "/subscriptions/f38420fb-b029-/resourceGroups/e703b000-4a2b-4e2/providers/Microsoft.Logic/workflows/c2b93f2e-7b6/accessKeys"; + Requests[1790] = new DefaultHttpContext(); + Requests[1790].RequestServices = CreateServices(); + Requests[1790].Request.Method = "POST"; + Requests[1790].Request.Path = "/subscriptions/4f82dae4-f76d-/resourceGroups/9a5decae-a75d-4bc/providers/Microsoft.Logic/workflows/5fa4b019-062/disable"; + Requests[1791] = new DefaultHttpContext(); + Requests[1791].RequestServices = CreateServices(); + Requests[1791].Request.Method = "POST"; + Requests[1791].Request.Path = "/subscriptions/f05c0de7-1c88-/resourceGroups/23a41567-8f3c-40f/providers/Microsoft.Logic/workflows/0066533f-d55/enable"; + Requests[1792] = new DefaultHttpContext(); + Requests[1792].RequestServices = CreateServices(); + Requests[1792].Request.Method = "POST"; + Requests[1792].Request.Path = "/subscriptions/ae7d5dc7-51b1-/resourceGroups/5b949d33-7b19-46b/providers/Microsoft.Logic/workflows/50866315-f0e/generateUpgradedDefinition"; + Requests[1793] = new DefaultHttpContext(); + Requests[1793].RequestServices = CreateServices(); + Requests[1793].Request.Method = "POST"; + Requests[1793].Request.Path = "/subscriptions/4aec748b-9380-/resourceGroups/9d3ee8b9-0c97-447/providers/Microsoft.Logic/workflows/e5c9d3a6-db0/listCallbackUrl"; + Requests[1794] = new DefaultHttpContext(); + Requests[1794].RequestServices = CreateServices(); + Requests[1794].Request.Method = "POST"; + Requests[1794].Request.Path = "/subscriptions/c836231c-4d91-/resourceGroups/74a317da-4cad-4d1/providers/Microsoft.Logic/workflows/3fadeee1-0d5/listSwagger"; + Requests[1795] = new DefaultHttpContext(); + Requests[1795].RequestServices = CreateServices(); + Requests[1795].Request.Method = "POST"; + Requests[1795].Request.Path = "/subscriptions/290bc17a-5801-/resourceGroups/c8b2f17e-2062-42e/providers/Microsoft.Logic/workflows/04215abf-0cd/move"; + Requests[1796] = new DefaultHttpContext(); + Requests[1796].RequestServices = CreateServices(); + Requests[1796].Request.Method = "POST"; + Requests[1796].Request.Path = "/subscriptions/cb7011a1-1bbc-/resourceGroups/1030af06-ec56-4cc/providers/Microsoft.Logic/workflows/acf5674d-bf6/regenerateAccessKey"; + Requests[1797] = new DefaultHttpContext(); + Requests[1797].RequestServices = CreateServices(); + Requests[1797].Request.Method = "POST"; + Requests[1797].Request.Path = "/subscriptions/ba0e76e0-47aa-/resourceGroups/a009387f-463e-4bc/providers/Microsoft.Logic/workflows/c5671ec7-f3b/run"; + Requests[1798] = new DefaultHttpContext(); + Requests[1798].RequestServices = CreateServices(); + Requests[1798].Request.Method = "GET"; + Requests[1798].Request.Path = "/subscriptions/00d66c67-b578-/resourceGroups/8ab0e924-1e23-43f/providers/Microsoft.Logic/workflows/737f7d31-901/runs"; + Requests[1799] = new DefaultHttpContext(); + Requests[1799].RequestServices = CreateServices(); + Requests[1799].Request.Method = "GET"; + Requests[1799].Request.Path = "/subscriptions/53adae6d-cabb-/resourceGroups/bab07d33-bf74-4e6/providers/Microsoft.Logic/workflows/86f06e82-daa/triggers"; + Requests[1800] = new DefaultHttpContext(); + Requests[1800].RequestServices = CreateServices(); + Requests[1800].Request.Method = "POST"; + Requests[1800].Request.Path = "/subscriptions/aad46dcd-b1a9-/resourceGroups/822ec19b-59ad-45e/providers/Microsoft.Logic/workflows/13725662-4f4/validate"; + Requests[1801] = new DefaultHttpContext(); + Requests[1801].RequestServices = CreateServices(); + Requests[1801].Request.Method = "GET"; + Requests[1801].Request.Path = "/subscriptions/323b9280-e587-/resourceGroups/ee22570c-503f-4cd/providers/Microsoft.Logic/workflows/9593bc51-f21/versions"; + Requests[1802] = new DefaultHttpContext(); + Requests[1802].RequestServices = CreateServices(); + Requests[1802].Request.Method = "GET"; + Requests[1802].Request.Path = "/subscriptions/35ce6fb1-3cf1-/resourceGroups/e5a46043-bd0a-4b4/providers/Microsoft.MachineLearning/commitmentPlans/76af8f64-5240-427a/commitmentAssociations"; + Requests[1803] = new DefaultHttpContext(); + Requests[1803].RequestServices = CreateServices(); + Requests[1803].Request.Method = "GET"; + Requests[1803].Request.Path = "/subscriptions/6cf73511-88b4-/resourceGroups/116362dc-5a81-4e6/providers/Microsoft.MachineLearning/commitmentPlans/16161b38-4ec6-40de/usageHistory"; + Requests[1804] = new DefaultHttpContext(); + Requests[1804].RequestServices = CreateServices(); + Requests[1804].Request.Method = "POST"; + Requests[1804].Request.Path = "/subscriptions/270aa7ec-43b0-/resourceGroups/3a0e68e3-bef6-4bf/providers/Microsoft.MachineLearning/webServices/d675ad20-9e3c-/CreateRegionalBlob"; + Requests[1805] = new DefaultHttpContext(); + Requests[1805].RequestServices = CreateServices(); + Requests[1805].Request.Method = "GET"; + Requests[1805].Request.Path = "/subscriptions/56766f2d-2834-/resourceGroups/77f35025-086e-447/providers/Microsoft.MachineLearning/webServices/023a65b3-4323-/listKeys"; + Requests[1806] = new DefaultHttpContext(); + Requests[1806].RequestServices = CreateServices(); + Requests[1806].Request.Method = "POST"; + Requests[1806].Request.Path = "/subscriptions/258e5294-0fcb-/resourceGroups/3a1fd3d8-9a10-433/providers/Microsoft.MachineLearning/workspaces/6aa43e82-099b/listWorkspaceKeys"; + Requests[1807] = new DefaultHttpContext(); + Requests[1807].RequestServices = CreateServices(); + Requests[1807].Request.Method = "POST"; + Requests[1807].Request.Path = "/subscriptions/19371cf3-610f-/resourceGroups/ac332ca8-b851-473/providers/Microsoft.MachineLearning/workspaces/19585809-7d0e/resyncStorageKeys"; + Requests[1808] = new DefaultHttpContext(); + Requests[1808].RequestServices = CreateServices(); + Requests[1808].Request.Method = "POST"; + Requests[1808].Request.Path = "/subscriptions/1803f290-2af6-/resourceGroups/8c853844-b93a-465/providers/Microsoft.MachineLearningCompute/operationalizationClusters/7ad7fee6-71/checkSystemServicesUpdatesAvailable"; + Requests[1809] = new DefaultHttpContext(); + Requests[1809].RequestServices = CreateServices(); + Requests[1809].Request.Method = "POST"; + Requests[1809].Request.Path = "/subscriptions/aac5fe80-f6ed-/resourceGroups/144d19fc-eda7-45c/providers/Microsoft.MachineLearningCompute/operationalizationClusters/1999d150-0d/checkUpdate"; + Requests[1810] = new DefaultHttpContext(); + Requests[1810].RequestServices = CreateServices(); + Requests[1810].Request.Method = "POST"; + Requests[1810].Request.Path = "/subscriptions/dbddfddc-3d40-/resourceGroups/f0f8c0cd-be84-440/providers/Microsoft.MachineLearningCompute/operationalizationClusters/2aa84392-15/listKeys"; + Requests[1811] = new DefaultHttpContext(); + Requests[1811].RequestServices = CreateServices(); + Requests[1811].Request.Method = "POST"; + Requests[1811].Request.Path = "/subscriptions/73ceab92-5d20-/resourceGroups/7113c96a-cb8f-41e/providers/Microsoft.MachineLearningCompute/operationalizationClusters/1082c6cc-35/updateSystem"; + Requests[1812] = new DefaultHttpContext(); + Requests[1812].RequestServices = CreateServices(); + Requests[1812].Request.Method = "POST"; + Requests[1812].Request.Path = "/subscriptions/4e4977fd-cc30-/resourceGroups/a0beae29-4546-468/providers/Microsoft.MachineLearningCompute/operationalizationClusters/38282d1a-73/updateSystemServices"; + Requests[1813] = new DefaultHttpContext(); + Requests[1813].RequestServices = CreateServices(); + Requests[1813].Request.Method = "GET"; + Requests[1813].Request.Path = "/subscriptions/fb5e7f08-a4d7-/resourceGroups/a277e0a8-5258-4bd/providers/Microsoft.MachineLearningExperimentation/accounts/4fa46e8b-58/workspaces"; + Requests[1814] = new DefaultHttpContext(); + Requests[1814].RequestServices = CreateServices(); + Requests[1814].Request.Method = "POST"; + Requests[1814].Request.Path = "/subscriptions/a1fa1451-751b-/resourceGroups/603d8e14-08d0-4b6/providers/Microsoft.MachineLearningServices/workspaces/dddc8abd-440d/listKeys"; + Requests[1815] = new DefaultHttpContext(); + Requests[1815].RequestServices = CreateServices(); + Requests[1815].Request.Method = "POST"; + Requests[1815].Request.Path = "/subscriptions/1e8e013b-bb5b-/resourceGroups/df549bad-055c-476/providers/Microsoft.MachineLearningServices/workspaces/e804bf6a-5c87/resyncKeys"; + Requests[1816] = new DefaultHttpContext(); + Requests[1816].RequestServices = CreateServices(); + Requests[1816].Request.Method = "POST"; + Requests[1816].Request.Path = "/subscriptions/bf57d796-be6a-/resourceGroups/da6b4f37-f2ee-4d1/providers/Microsoft.Maps/accounts/3e38a14e-05/listKeys"; + Requests[1817] = new DefaultHttpContext(); + Requests[1817].RequestServices = CreateServices(); + Requests[1817].Request.Method = "POST"; + Requests[1817].Request.Path = "/subscriptions/6834048e-35b1-/resourceGroups/c367c412-76a2-483/providers/Microsoft.Maps/accounts/9fba2045-ce/regenerateKey"; + Requests[1818] = new DefaultHttpContext(); + Requests[1818].RequestServices = CreateServices(); + Requests[1818].Request.Method = "GET"; + Requests[1818].Request.Path = "/subscriptions/362b0cbd-89af-/resourceGroups/f87569eb-b628-487/providers/Microsoft.Media/mediaServices/3cfb96b5-6b/assets"; + Requests[1819] = new DefaultHttpContext(); + Requests[1819].RequestServices = CreateServices(); + Requests[1819].Request.Method = "GET"; + Requests[1819].Request.Path = "/subscriptions/7f236a15-eeb9-/resourceGroups/8aa012fb-94c3-408/providers/Microsoft.Media/mediaServices/dd00094d-cb/contentKeyPolicies"; + Requests[1820] = new DefaultHttpContext(); + Requests[1820].RequestServices = CreateServices(); + Requests[1820].Request.Method = "GET"; + Requests[1820].Request.Path = "/subscriptions/c86e1fc6-2554-/resourceGroups/18f82331-9974-406/providers/Microsoft.Media/mediaservices/709224ed-3b/liveEvents"; + Requests[1821] = new DefaultHttpContext(); + Requests[1821].RequestServices = CreateServices(); + Requests[1821].Request.Method = "GET"; + Requests[1821].Request.Path = "/subscriptions/4d851ea9-d8d2-/resourceGroups/a12cd631-1596-4a0/providers/Microsoft.Media/mediaservices/7914848d-b3/streamingEndpoints"; + Requests[1822] = new DefaultHttpContext(); + Requests[1822].RequestServices = CreateServices(); + Requests[1822].Request.Method = "GET"; + Requests[1822].Request.Path = "/subscriptions/9bef8c2c-1f2d-/resourceGroups/f95ddf40-37e1-415/providers/Microsoft.Media/mediaServices/7dc02450-fe/streamingLocators"; + Requests[1823] = new DefaultHttpContext(); + Requests[1823].RequestServices = CreateServices(); + Requests[1823].Request.Method = "GET"; + Requests[1823].Request.Path = "/subscriptions/e1dd5470-ef47-/resourceGroups/12c49441-ae45-471/providers/Microsoft.Media/mediaServices/7d9ea5ef-a1/streamingPolicies"; + Requests[1824] = new DefaultHttpContext(); + Requests[1824].RequestServices = CreateServices(); + Requests[1824].Request.Method = "GET"; + Requests[1824].Request.Path = "/subscriptions/f961b92e-9e47-/resourceGroups/210dda96-e94d-4d8/providers/Microsoft.Media/mediaServices/574fb9c4-f9/transforms"; + Requests[1825] = new DefaultHttpContext(); + Requests[1825].RequestServices = CreateServices(); + Requests[1825].Request.Method = "POST"; + Requests[1825].Request.Path = "/subscriptions/0a494043-5025-/resourceGroups/5bafee91-9f74-470/providers/Microsoft.Media/mediaservices/ba7fbe5b-c97b-40/listKeys"; + Requests[1826] = new DefaultHttpContext(); + Requests[1826].RequestServices = CreateServices(); + Requests[1826].Request.Method = "POST"; + Requests[1826].Request.Path = "/subscriptions/8e099958-aa47-/resourceGroups/b3ebe2ff-5af1-492/providers/Microsoft.Media/mediaservices/0a09e766-7129-4b/regenerateKey"; + Requests[1827] = new DefaultHttpContext(); + Requests[1827].RequestServices = CreateServices(); + Requests[1827].Request.Method = "POST"; + Requests[1827].Request.Path = "/subscriptions/23b3c209-0de6-/resourceGroups/f3538f5c-75f6-45d/providers/Microsoft.Media/mediaservices/3ab7788a-4088-4f/syncStorageKeys"; + Requests[1828] = new DefaultHttpContext(); + Requests[1828].RequestServices = CreateServices(); + Requests[1828].Request.Method = "GET"; + Requests[1828].Request.Path = "/subscriptions/15ead37f-7f00-/resourceGroups/f609d9d3-0d6f-41f/providers/Microsoft.Migrate/projects/6665cd61-46/assessments"; + Requests[1829] = new DefaultHttpContext(); + Requests[1829].RequestServices = CreateServices(); + Requests[1829].Request.Method = "GET"; + Requests[1829].Request.Path = "/subscriptions/dcc47c0a-f86a-/resourceGroups/f60dc653-805e-4cc/providers/Microsoft.Migrate/projects/2d7798dc-62/groups"; + Requests[1830] = new DefaultHttpContext(); + Requests[1830].RequestServices = CreateServices(); + Requests[1830].Request.Method = "POST"; + Requests[1830].Request.Path = "/subscriptions/588fc1f1-7906-/resourcegroups/18f0cdc2-afba-4dc/providers/Microsoft.Migrate/projects/ead36493-95/keys"; + Requests[1831] = new DefaultHttpContext(); + Requests[1831].RequestServices = CreateServices(); + Requests[1831].Request.Method = "GET"; + Requests[1831].Request.Path = "/subscriptions/5a583629-e9b7-/resourceGroups/cf2d6803-6b07-4d7/providers/Microsoft.Migrate/projects/65f06c24-87/machines"; + Requests[1832] = new DefaultHttpContext(); + Requests[1832].RequestServices = CreateServices(); + Requests[1832].Request.Method = "POST"; + Requests[1832].Request.Path = "/subscriptions/54acae32-0dcb-/resourceGroups/4bba7b95-aa2d-46e/providers/Microsoft.Network/applicationGateways/2660b75b-a863-4e77-b81/backendhealth"; + Requests[1833] = new DefaultHttpContext(); + Requests[1833].RequestServices = CreateServices(); + Requests[1833].Request.Method = "POST"; + Requests[1833].Request.Path = "/subscriptions/9de6f16f-67ab-/resourceGroups/ce32acaf-0827-430/providers/Microsoft.Network/applicationGateways/6ea71da4-f799-4667-bd5/start"; + Requests[1834] = new DefaultHttpContext(); + Requests[1834].RequestServices = CreateServices(); + Requests[1834].Request.Method = "POST"; + Requests[1834].Request.Path = "/subscriptions/fd8bb0dc-460c-/resourceGroups/061dcad4-f859-4e3/providers/Microsoft.Network/applicationGateways/d3bf9493-0f91-4aa4-836/stop"; + Requests[1835] = new DefaultHttpContext(); + Requests[1835].RequestServices = CreateServices(); + Requests[1835].Request.Method = "GET"; + Requests[1835].Request.Path = "/subscriptions/45ac01f2-eb2e-/resourceGroups/2862b226-36df-4e5/providers/Microsoft.Network/connections/619b3ee2-a03d-4d53-8169-604fbcd0555/sharedkey"; + Requests[1836] = new DefaultHttpContext(); + Requests[1836].RequestServices = CreateServices(); + Requests[1836].Request.Method = "POST"; + Requests[1836].Request.Path = "/subscriptions/e356f991-96ce-/resourceGroups/ea4a3c7a-3a32-403/providers/Microsoft.Network/connections/9a44444e-ac2b-4c1d-8c4c-c14f5645fcd/vpndeviceconfigurationscript"; + Requests[1837] = new DefaultHttpContext(); + Requests[1837].RequestServices = CreateServices(); + Requests[1837].Request.Method = "GET"; + Requests[1837].Request.Path = "/subscriptions/855128ce-62a5-/resourceGroups/2be6ae97-066c-423/providers/Microsoft.Network/dnsZones/d4be5b68/all"; + Requests[1838] = new DefaultHttpContext(); + Requests[1838].RequestServices = CreateServices(); + Requests[1838].Request.Method = "GET"; + Requests[1838].Request.Path = "/subscriptions/bda801e9-b07d-/resourceGroups/a71bf706-0976-4d4/providers/Microsoft.Network/dnsZones/f00ce391/recordsets"; + Requests[1839] = new DefaultHttpContext(); + Requests[1839].RequestServices = CreateServices(); + Requests[1839].Request.Method = "GET"; + Requests[1839].Request.Path = "/subscriptions/b8402d51-ce9d-/resourceGroups/52f8bf48-adfa-4dd/providers/Microsoft.Network/expressRouteCircuits/38c4a427-42/arpTable"; + Requests[1840] = new DefaultHttpContext(); + Requests[1840].RequestServices = CreateServices(); + Requests[1840].Request.Method = "GET"; + Requests[1840].Request.Path = "/subscriptions/30e94b59-d2ed-/resourceGroups/210df218-698c-400/providers/Microsoft.Network/expressRouteCircuits/424c2f45-1a/authorizations"; + Requests[1841] = new DefaultHttpContext(); + Requests[1841].RequestServices = CreateServices(); + Requests[1841].Request.Method = "GET"; + Requests[1841].Request.Path = "/subscriptions/e114b043-27f9-/resourceGroups/bf4e6f8e-ed2e-49e/providers/Microsoft.Network/expressRouteCircuits/e2bd5f6b-ca/peerings"; + Requests[1842] = new DefaultHttpContext(); + Requests[1842].RequestServices = CreateServices(); + Requests[1842].Request.Method = "GET"; + Requests[1842].Request.Path = "/subscriptions/9ecd55c3-0e47-/resourceGroups/97cc5a71-b390-434/providers/Microsoft.Network/expressRouteCircuits/ccfda239-22/routesTable"; + Requests[1843] = new DefaultHttpContext(); + Requests[1843].RequestServices = CreateServices(); + Requests[1843].Request.Method = "GET"; + Requests[1843].Request.Path = "/subscriptions/d18cea97-297f-/resourceGroups/1a1c2581-432f-43d/providers/Microsoft.Network/expressRouteCircuits/376722a2-40/stats"; + Requests[1844] = new DefaultHttpContext(); + Requests[1844].RequestServices = CreateServices(); + Requests[1844].Request.Method = "GET"; + Requests[1844].Request.Path = "/subscriptions/cfe5d927-403a-/resourceGroups/308de58b-29a5-42d/providers/Microsoft.Network/expressRouteCrossConnections/7051be3d-e3c3-491e-/peerings"; + Requests[1845] = new DefaultHttpContext(); + Requests[1845].RequestServices = CreateServices(); + Requests[1845].Request.Method = "GET"; + Requests[1845].Request.Path = "/subscriptions/ebdab568-fd4d-/resourceGroups/9d3e50d5-339f-471/providers/Microsoft.Network/loadBalancers/9c93e8fd-5e58-4b/backendAddressPools"; + Requests[1846] = new DefaultHttpContext(); + Requests[1846].RequestServices = CreateServices(); + Requests[1846].Request.Method = "GET"; + Requests[1846].Request.Path = "/subscriptions/93028f79-6229-/resourceGroups/44df3ee5-a678-428/providers/Microsoft.Network/loadBalancers/d98b35e6-d195-42/frontendIPConfigurations"; + Requests[1847] = new DefaultHttpContext(); + Requests[1847].RequestServices = CreateServices(); + Requests[1847].Request.Method = "GET"; + Requests[1847].Request.Path = "/subscriptions/76493f8e-f29a-/resourceGroups/bad10ddb-3d63-4c3/providers/Microsoft.Network/loadBalancers/2b9e131c-bf7d-4e/inboundNatRules"; + Requests[1848] = new DefaultHttpContext(); + Requests[1848].RequestServices = CreateServices(); + Requests[1848].Request.Method = "GET"; + Requests[1848].Request.Path = "/subscriptions/6547d965-9655-/resourceGroups/66b3afa4-a53c-48e/providers/Microsoft.Network/loadBalancers/6a0ba0ad-33ef-41/loadBalancingRules"; + Requests[1849] = new DefaultHttpContext(); + Requests[1849].RequestServices = CreateServices(); + Requests[1849].Request.Method = "GET"; + Requests[1849].Request.Path = "/subscriptions/f5d18b87-c471-/resourceGroups/ccaca29f-20c3-46e/providers/Microsoft.Network/loadBalancers/05bde30b-6b13-48/networkInterfaces"; + Requests[1850] = new DefaultHttpContext(); + Requests[1850].RequestServices = CreateServices(); + Requests[1850].Request.Method = "GET"; + Requests[1850].Request.Path = "/subscriptions/91282629-702b-/resourceGroups/dab1fdd8-f17b-476/providers/Microsoft.Network/loadBalancers/55bd0f7f-0254-45/probes"; + Requests[1851] = new DefaultHttpContext(); + Requests[1851].RequestServices = CreateServices(); + Requests[1851].Request.Method = "POST"; + Requests[1851].Request.Path = "/subscriptions/af7a5441-3ff3-/resourceGroups/812fe483-374f-4a9/providers/Microsoft.Network/networkInterfaces/d1398cbf-53ca-4d86-a/effectiveNetworkSecurityGroups"; + Requests[1852] = new DefaultHttpContext(); + Requests[1852].RequestServices = CreateServices(); + Requests[1852].Request.Method = "POST"; + Requests[1852].Request.Path = "/subscriptions/722fdde9-9d83-/resourceGroups/be354a40-6ab0-4f7/providers/Microsoft.Network/networkInterfaces/bab2ac36-e380-4174-a/effectiveRouteTable"; + Requests[1853] = new DefaultHttpContext(); + Requests[1853].RequestServices = CreateServices(); + Requests[1853].Request.Method = "GET"; + Requests[1853].Request.Path = "/subscriptions/85805d31-a4cf-/resourceGroups/54c076c3-94e9-411/providers/Microsoft.Network/networkInterfaces/513ff4fd-ca40-473d-a/ipConfigurations"; + Requests[1854] = new DefaultHttpContext(); + Requests[1854].RequestServices = CreateServices(); + Requests[1854].Request.Method = "GET"; + Requests[1854].Request.Path = "/subscriptions/2794ebc0-008d-/resourceGroups/514b0914-81f9-480/providers/Microsoft.Network/networkInterfaces/0e1b0084-8acb-453c-8/loadBalancers"; + Requests[1855] = new DefaultHttpContext(); + Requests[1855].RequestServices = CreateServices(); + Requests[1855].Request.Method = "GET"; + Requests[1855].Request.Path = "/subscriptions/700f0f4d-705b-/resourceGroups/9e66d0c4-6de0-497/providers/Microsoft.Network/networkSecurityGroups/d06f6add-652b-44e0-aa0b-/defaultSecurityRules"; + Requests[1856] = new DefaultHttpContext(); + Requests[1856].RequestServices = CreateServices(); + Requests[1856].Request.Method = "GET"; + Requests[1856].Request.Path = "/subscriptions/5437fd80-82fb-/resourceGroups/f2709126-97ec-469/providers/Microsoft.Network/networkSecurityGroups/005d76d8-eb1c-4a42-897c-/securityRules"; + Requests[1857] = new DefaultHttpContext(); + Requests[1857].RequestServices = CreateServices(); + Requests[1857].Request.Method = "POST"; + Requests[1857].Request.Path = "/subscriptions/1494a721-1686-/resourceGroups/f33be386-969e-465/providers/Microsoft.Network/networkWatchers/97a10314-a67c-4dad/availableProvidersList"; + Requests[1858] = new DefaultHttpContext(); + Requests[1858].RequestServices = CreateServices(); + Requests[1858].Request.Method = "POST"; + Requests[1858].Request.Path = "/subscriptions/f450f55a-d1b7-/resourceGroups/9d2e6ebd-c52c-4be/providers/Microsoft.Network/networkWatchers/39cd8742-e77c-4c15/azureReachabilityReport"; + Requests[1859] = new DefaultHttpContext(); + Requests[1859].RequestServices = CreateServices(); + Requests[1859].Request.Method = "POST"; + Requests[1859].Request.Path = "/subscriptions/a31e1670-d126-/resourceGroups/8d14ddcf-186b-4f1/providers/Microsoft.Network/networkWatchers/26e782d1-ae1f-4528/configureFlowLog"; + Requests[1860] = new DefaultHttpContext(); + Requests[1860].RequestServices = CreateServices(); + Requests[1860].Request.Method = "GET"; + Requests[1860].Request.Path = "/subscriptions/cf829075-e370-/resourceGroups/185f29a0-cf5c-44b/providers/Microsoft.Network/networkWatchers/8d2524d6-37c5-40b7/connectionMonitors"; + Requests[1861] = new DefaultHttpContext(); + Requests[1861].RequestServices = CreateServices(); + Requests[1861].Request.Method = "POST"; + Requests[1861].Request.Path = "/subscriptions/ea711249-b5cd-/resourceGroups/37158d70-244e-4c2/providers/Microsoft.Network/networkWatchers/18dbcb25-cad7-4669/connectivityCheck"; + Requests[1862] = new DefaultHttpContext(); + Requests[1862].RequestServices = CreateServices(); + Requests[1862].Request.Method = "POST"; + Requests[1862].Request.Path = "/subscriptions/1d688e7e-2a06-/resourceGroups/b9be48d6-286f-439/providers/Microsoft.Network/networkWatchers/98e94cde-fefd-4c36/ipFlowVerify"; + Requests[1863] = new DefaultHttpContext(); + Requests[1863].RequestServices = CreateServices(); + Requests[1863].Request.Method = "POST"; + Requests[1863].Request.Path = "/subscriptions/d4733a65-05f1-/resourceGroups/7650378a-d4aa-4e8/providers/Microsoft.Network/networkWatchers/6e24a727-3cd3-43f3/nextHop"; + Requests[1864] = new DefaultHttpContext(); + Requests[1864].RequestServices = CreateServices(); + Requests[1864].Request.Method = "GET"; + Requests[1864].Request.Path = "/subscriptions/d2c5a858-6379-/resourceGroups/ea69426c-8c21-4ce/providers/Microsoft.Network/networkWatchers/db6ffb9c-0cd3-443b/packetCaptures"; + Requests[1865] = new DefaultHttpContext(); + Requests[1865].RequestServices = CreateServices(); + Requests[1865].Request.Method = "POST"; + Requests[1865].Request.Path = "/subscriptions/02865741-7974-/resourceGroups/88573ec4-15de-49d/providers/Microsoft.Network/networkWatchers/9e82ce9a-51ce-40ee/queryFlowLogStatus"; + Requests[1866] = new DefaultHttpContext(); + Requests[1866].RequestServices = CreateServices(); + Requests[1866].Request.Method = "POST"; + Requests[1866].Request.Path = "/subscriptions/abba9219-0efe-/resourceGroups/28196c39-4528-451/providers/Microsoft.Network/networkWatchers/cefd60e9-9b9d-4d42/queryTroubleshootResult"; + Requests[1867] = new DefaultHttpContext(); + Requests[1867].RequestServices = CreateServices(); + Requests[1867].Request.Method = "POST"; + Requests[1867].Request.Path = "/subscriptions/f1cc97a0-aa62-/resourceGroups/08a7b72f-6b4c-457/providers/Microsoft.Network/networkWatchers/40f33513-f9ef-463e/securityGroupView"; + Requests[1868] = new DefaultHttpContext(); + Requests[1868].RequestServices = CreateServices(); + Requests[1868].Request.Method = "POST"; + Requests[1868].Request.Path = "/subscriptions/b726d259-2f74-/resourceGroups/2f5a7ef3-c6e2-4a5/providers/Microsoft.Network/networkWatchers/201e752f-888b-44c1/topology"; + Requests[1869] = new DefaultHttpContext(); + Requests[1869].RequestServices = CreateServices(); + Requests[1869].Request.Method = "POST"; + Requests[1869].Request.Path = "/subscriptions/2b4fd191-a43f-/resourceGroups/129c89bd-10c2-401/providers/Microsoft.Network/networkWatchers/c78b7300-d47e-4b4f/troubleshoot"; + Requests[1870] = new DefaultHttpContext(); + Requests[1870].RequestServices = CreateServices(); + Requests[1870].Request.Method = "GET"; + Requests[1870].Request.Path = "/subscriptions/771a340e-981b-/resourceGroups/bf14d1e9-118a-486/providers/Microsoft.Network/routeFilters/58ed57c9-d55f-4/routeFilterRules"; + Requests[1871] = new DefaultHttpContext(); + Requests[1871].RequestServices = CreateServices(); + Requests[1871].Request.Method = "GET"; + Requests[1871].Request.Path = "/subscriptions/d794fcd9-5e6f-/resourceGroups/882c3419-e3bf-4d1/providers/Microsoft.Network/routeTables/961040b0-3dce-/routes"; + Requests[1872] = new DefaultHttpContext(); + Requests[1872].RequestServices = CreateServices(); + Requests[1872].Request.Method = "GET"; + Requests[1872].Request.Path = "/subscriptions/9d82ce4d-2755-/resourceGroups/fc1b712a-8154-4a1/providers/Microsoft.Network/virtualNetworkGateways/087d44b6-fe62-4377-acd9-b/connections"; + Requests[1873] = new DefaultHttpContext(); + Requests[1873].RequestServices = CreateServices(); + Requests[1873].Request.Method = "POST"; + Requests[1873].Request.Path = "/subscriptions/8506902f-7f71-/resourceGroups/edf4ed63-8b49-4ed/providers/Microsoft.Network/virtualNetworkGateways/2ea7490b-0163-4500-8e08-1/generatevpnclientpackage"; + Requests[1874] = new DefaultHttpContext(); + Requests[1874].RequestServices = CreateServices(); + Requests[1874].Request.Method = "POST"; + Requests[1874].Request.Path = "/subscriptions/361a43c2-d346-/resourceGroups/ca856f14-7fc3-400/providers/Microsoft.Network/virtualNetworkGateways/301f9fa4-5189-40f0-bc83-d/generatevpnprofile"; + Requests[1875] = new DefaultHttpContext(); + Requests[1875].RequestServices = CreateServices(); + Requests[1875].Request.Method = "POST"; + Requests[1875].Request.Path = "/subscriptions/6ea23920-2ca2-/resourceGroups/149947c6-e4f9-4a2/providers/Microsoft.Network/virtualNetworkGateways/24069211-6b90-454a-9c71-2/getAdvertisedRoutes"; + Requests[1876] = new DefaultHttpContext(); + Requests[1876].RequestServices = CreateServices(); + Requests[1876].Request.Method = "POST"; + Requests[1876].Request.Path = "/subscriptions/a5da221c-9d75-/resourceGroups/b0f2d726-e21f-42e/providers/Microsoft.Network/virtualNetworkGateways/dc2b4c93-fb51-4adb-87c9-b/getBgpPeerStatus"; + Requests[1877] = new DefaultHttpContext(); + Requests[1877].RequestServices = CreateServices(); + Requests[1877].Request.Method = "POST"; + Requests[1877].Request.Path = "/subscriptions/e168f5af-9a43-/resourceGroups/edb8448a-3031-416/providers/Microsoft.Network/virtualNetworkGateways/147c5a99-6606-4119-b22b-a/getLearnedRoutes"; + Requests[1878] = new DefaultHttpContext(); + Requests[1878].RequestServices = CreateServices(); + Requests[1878].Request.Method = "POST"; + Requests[1878].Request.Path = "/subscriptions/8d649fff-7975-/resourceGroups/72ff9c77-3547-489/providers/Microsoft.Network/virtualNetworkGateways/00d42826-35fe-4107-9e7e-f/getvpnclientipsecparameters"; + Requests[1879] = new DefaultHttpContext(); + Requests[1879].RequestServices = CreateServices(); + Requests[1879].Request.Method = "POST"; + Requests[1879].Request.Path = "/subscriptions/6996f97b-04c9-/resourceGroups/3102501e-0dd3-4f8/providers/Microsoft.Network/virtualNetworkGateways/1ea340ae-9241-46d4-93dd-0/getvpnprofilepackageurl"; + Requests[1880] = new DefaultHttpContext(); + Requests[1880].RequestServices = CreateServices(); + Requests[1880].Request.Method = "POST"; + Requests[1880].Request.Path = "/subscriptions/09601fa0-7f9d-/resourceGroups/00edc92f-0f4d-4ef/providers/Microsoft.Network/virtualNetworkGateways/25c47985-f4d4-4797-b6e2-1/reset"; + Requests[1881] = new DefaultHttpContext(); + Requests[1881].RequestServices = CreateServices(); + Requests[1881].Request.Method = "POST"; + Requests[1881].Request.Path = "/subscriptions/6ea32930-c3ad-/resourceGroups/72772467-40bb-455/providers/Microsoft.Network/virtualNetworkGateways/068003cf-00c1-4a1a-a422-e/setvpnclientipsecparameters"; + Requests[1882] = new DefaultHttpContext(); + Requests[1882].RequestServices = CreateServices(); + Requests[1882].Request.Method = "POST"; + Requests[1882].Request.Path = "/subscriptions/404f6374-1679-/resourceGroups/ae58f31a-ba5b-458/providers/Microsoft.Network/virtualNetworkGateways/da71541e-bfae-4e2f-8f88-3/supportedvpndevices"; + Requests[1883] = new DefaultHttpContext(); + Requests[1883].RequestServices = CreateServices(); + Requests[1883].Request.Method = "GET"; + Requests[1883].Request.Path = "/subscriptions/1361d3f8-dd2c-/resourceGroups/141d5727-436f-4a4/providers/Microsoft.Network/virtualNetworks/138bf236-ab50-4ac0/CheckIPAddressAvailability"; + Requests[1884] = new DefaultHttpContext(); + Requests[1884].RequestServices = CreateServices(); + Requests[1884].Request.Method = "GET"; + Requests[1884].Request.Path = "/subscriptions/4cc7087a-9733-/resourceGroups/1138ca4b-9318-4ce/providers/Microsoft.Network/virtualNetworks/2351947b-7fde-4aa8/subnets"; + Requests[1885] = new DefaultHttpContext(); + Requests[1885].RequestServices = CreateServices(); + Requests[1885].Request.Method = "GET"; + Requests[1885].Request.Path = "/subscriptions/c7eb5b0e-8eb2-/resourceGroups/61cf90db-fdca-422/providers/Microsoft.Network/virtualNetworks/0c678bbe-a30b-4826/usages"; + Requests[1886] = new DefaultHttpContext(); + Requests[1886].RequestServices = CreateServices(); + Requests[1886].Request.Method = "GET"; + Requests[1886].Request.Path = "/subscriptions/cd01bcf9-af46-/resourceGroups/c53912ae-6f63-4d6/providers/Microsoft.Network/virtualNetworks/768985ad-612a-464a/virtualNetworkPeerings"; + Requests[1887] = new DefaultHttpContext(); + Requests[1887].RequestServices = CreateServices(); + Requests[1887].Request.Method = "GET"; + Requests[1887].Request.Path = "/subscriptions/cb3efaf4-7870-/resourceGroups/8b465326-4591-464/providers/Microsoft.NotificationHubs/namespaces/51a1829f-44c7/AuthorizationRules"; + Requests[1888] = new DefaultHttpContext(); + Requests[1888].RequestServices = CreateServices(); + Requests[1888].Request.Method = "POST"; + Requests[1888].Request.Path = "/subscriptions/e414a610-58fa-/resourceGroups/cc52d4f4-3e94-424/providers/Microsoft.NotificationHubs/namespaces/67189805-ff3a/checkNotificationHubAvailability"; + Requests[1889] = new DefaultHttpContext(); + Requests[1889].RequestServices = CreateServices(); + Requests[1889].Request.Method = "GET"; + Requests[1889].Request.Path = "/subscriptions/36119f1a-ba8f-/resourceGroups/325032dd-261b-481/providers/Microsoft.NotificationHubs/namespaces/fc27ea40-cb18/notificationHubs"; + Requests[1890] = new DefaultHttpContext(); + Requests[1890].RequestServices = CreateServices(); + Requests[1890].Request.Method = "GET"; + Requests[1890].Request.Path = "/subscriptions/649426d2-aa99-/resourcegroups/fdb59bbf-62ea-41f/providers/Microsoft.OperationalInsights/workspaces/bfa1f715-549c/dataSources"; + Requests[1891] = new DefaultHttpContext(); + Requests[1891].RequestServices = CreateServices(); + Requests[1891].Request.Method = "GET"; + Requests[1891].Request.Path = "/subscriptions/e37205b7-1fab-/resourcegroups/cbbb9e77-35e4-4f2/providers/Microsoft.OperationalInsights/workspaces/82c6c987-eb72/intelligencePacks"; + Requests[1892] = new DefaultHttpContext(); + Requests[1892].RequestServices = CreateServices(); + Requests[1892].Request.Method = "GET"; + Requests[1892].Request.Path = "/subscriptions/a96c2519-c65d-/resourcegroups/d80cb8dd-14a8-4f0/providers/Microsoft.OperationalInsights/workspaces/95995303-bf2e/linkedServices"; + Requests[1893] = new DefaultHttpContext(); + Requests[1893].RequestServices = CreateServices(); + Requests[1893].Request.Method = "GET"; + Requests[1893].Request.Path = "/subscriptions/08b4e49e-a6fe-/resourcegroups/53610fae-259e-460/providers/Microsoft.OperationalInsights/workspaces/69624efd-8cfc/managementGroups"; + Requests[1894] = new DefaultHttpContext(); + Requests[1894].RequestServices = CreateServices(); + Requests[1894].Request.Method = "POST"; + Requests[1894].Request.Path = "/subscriptions/837931f5-9878-/resourceGroups/2c0387c7-84ee-4c7/providers/Microsoft.OperationalInsights/workspaces/207b0293-1a56/purge"; + Requests[1895] = new DefaultHttpContext(); + Requests[1895].RequestServices = CreateServices(); + Requests[1895].Request.Method = "GET"; + Requests[1895].Request.Path = "/subscriptions/fd257c15-51d9-/resourcegroups/bfa9306f-dab3-4bd/providers/Microsoft.OperationalInsights/workspaces/2f3a97b6-9241/savedSearches"; + Requests[1896] = new DefaultHttpContext(); + Requests[1896].RequestServices = CreateServices(); + Requests[1896].Request.Method = "POST"; + Requests[1896].Request.Path = "/subscriptions/69d7404a-d6c0-/resourcegroups/776cdddb-1262-439/providers/Microsoft.OperationalInsights/workspaces/799773be-553d/schema"; + Requests[1897] = new DefaultHttpContext(); + Requests[1897].RequestServices = CreateServices(); + Requests[1897].Request.Method = "POST"; + Requests[1897].Request.Path = "/subscriptions/c71c183a-028b-/resourcegroups/a5c30854-8965-4f7/providers/Microsoft.OperationalInsights/workspaces/d938bb7b-a0cb/search"; + Requests[1898] = new DefaultHttpContext(); + Requests[1898].RequestServices = CreateServices(); + Requests[1898].Request.Method = "POST"; + Requests[1898].Request.Path = "/subscriptions/9c2958d3-eff1-/resourcegroups/0ef969cc-bd1e-474/providers/Microsoft.OperationalInsights/workspaces/b6f81d29-27e6/sharedKeys"; + Requests[1899] = new DefaultHttpContext(); + Requests[1899].RequestServices = CreateServices(); + Requests[1899].Request.Method = "GET"; + Requests[1899].Request.Path = "/subscriptions/6835ce91-b8c5-/resourcegroups/35831768-f167-4a5/providers/Microsoft.OperationalInsights/workspaces/e895bf74-3f9a/storageInsightConfigs"; + Requests[1900] = new DefaultHttpContext(); + Requests[1900].RequestServices = CreateServices(); + Requests[1900].Request.Method = "GET"; + Requests[1900].Request.Path = "/subscriptions/8ba83dde-a2e3-/resourcegroups/727f640c-dce6-448/providers/Microsoft.OperationalInsights/workspaces/c3939575-5e52/usages"; + Requests[1901] = new DefaultHttpContext(); + Requests[1901].RequestServices = CreateServices(); + Requests[1901].Request.Method = "POST"; + Requests[1901].Request.Path = "/subscriptions/fc1f10a0-17ba-/resourceGroups/a6c39364-6d5b-4ec/providers/Microsoft.PolicyInsights/policyEvents/4f2b72f1-ce53-4365-a/queryResults"; + Requests[1902] = new DefaultHttpContext(); + Requests[1902].RequestServices = CreateServices(); + Requests[1902].Request.Method = "POST"; + Requests[1902].Request.Path = "/subscriptions/3d1904b3-a4d6-/resourceGroups/b79e97c5-afc7-47c/providers/Microsoft.PolicyInsights/policyStates/e87ee7db-d520-4557-8/queryResults"; + Requests[1903] = new DefaultHttpContext(); + Requests[1903].RequestServices = CreateServices(); + Requests[1903].Request.Method = "POST"; + Requests[1903].Request.Path = "/subscriptions/deaa2672-32d5-/resourceGroups/275482c3-0598-412/providers/Microsoft.PolicyInsights/policyStates/683f6db7-cbb1-468a-8979-2bd/summarize"; + Requests[1904] = new DefaultHttpContext(); + Requests[1904].RequestServices = CreateServices(); + Requests[1904].Request.Method = "POST"; + Requests[1904].Request.Path = "/subscriptions/d3ac08cb-477b-/resourceGroups/7e559183-36d8-439/providers/Microsoft.PowerBI/workspaceCollections/257f1d85-5d91-47d0-93df/listKeys"; + Requests[1905] = new DefaultHttpContext(); + Requests[1905].RequestServices = CreateServices(); + Requests[1905].Request.Method = "POST"; + Requests[1905].Request.Path = "/subscriptions/94a17623-382b-/resourceGroups/04eb290e-6ef8-406/providers/Microsoft.PowerBI/workspaceCollections/a343a7c4-c263-450d-b22e/regenerateKey"; + Requests[1906] = new DefaultHttpContext(); + Requests[1906].RequestServices = CreateServices(); + Requests[1906].Request.Method = "GET"; + Requests[1906].Request.Path = "/subscriptions/048fd0ce-25fe-/resourceGroups/d72d674f-f9f3-4de/providers/Microsoft.PowerBI/workspaceCollections/b91fb0a0-681f-4ca7-865a/workspaces"; + Requests[1907] = new DefaultHttpContext(); + Requests[1907].RequestServices = CreateServices(); + Requests[1907].Request.Method = "POST"; + Requests[1907].Request.Path = "/subscriptions/acf1580b-26a6-/resourceGroups/e3309b5a-f8f0-46f/providers/Microsoft.PowerBIDedicated/capacities/6253bf38-5cd0-4ef2-9d/resume"; + Requests[1908] = new DefaultHttpContext(); + Requests[1908].RequestServices = CreateServices(); + Requests[1908].Request.Method = "GET"; + Requests[1908].Request.Path = "/subscriptions/fcf9802f-8688-/resourceGroups/de2c6d34-7844-462/providers/Microsoft.PowerBIDedicated/capacities/409d8cfa-2cf7-4da5-a2/skus"; + Requests[1909] = new DefaultHttpContext(); + Requests[1909].RequestServices = CreateServices(); + Requests[1909].Request.Method = "POST"; + Requests[1909].Request.Path = "/subscriptions/7c3df1da-2016-/resourceGroups/d8555441-8d98-4bc/providers/Microsoft.PowerBIDedicated/capacities/59a6ded7-537c-41fd-82/suspend"; + Requests[1910] = new DefaultHttpContext(); + Requests[1910].RequestServices = CreateServices(); + Requests[1910].Request.Method = "GET"; + Requests[1910].Request.Path = "/Subscriptions/18f781ca-c525-/resourceGroups/550d3796-bce1-41e/providers/Microsoft.RecoveryServices/vaults/66dcf507-3c5/replicationAlertSettings"; + Requests[1911] = new DefaultHttpContext(); + Requests[1911].RequestServices = CreateServices(); + Requests[1911].Request.Method = "GET"; + Requests[1911].Request.Path = "/Subscriptions/32f2e7ef-5fef-/resourceGroups/32e8e2fa-4f85-41d/providers/Microsoft.RecoveryServices/vaults/645a9958-abe/replicationEvents"; + Requests[1912] = new DefaultHttpContext(); + Requests[1912].RequestServices = CreateServices(); + Requests[1912].Request.Method = "GET"; + Requests[1912].Request.Path = "/Subscriptions/40d97085-567c-/resourceGroups/d279f0c0-1d45-421/providers/Microsoft.RecoveryServices/vaults/9b931578-859/replicationFabrics"; + Requests[1913] = new DefaultHttpContext(); + Requests[1913].RequestServices = CreateServices(); + Requests[1913].Request.Method = "GET"; + Requests[1913].Request.Path = "/Subscriptions/3a5ab734-f17e-/resourceGroups/d5c34d97-cbc2-4e4/providers/Microsoft.RecoveryServices/vaults/da7a79ce-cd1/replicationJobs"; + Requests[1914] = new DefaultHttpContext(); + Requests[1914].RequestServices = CreateServices(); + Requests[1914].Request.Method = "GET"; + Requests[1914].Request.Path = "/Subscriptions/f5558a6b-09d2-/resourceGroups/52353849-c241-40d/providers/Microsoft.RecoveryServices/vaults/a280c920-187/replicationNetworkMappings"; + Requests[1915] = new DefaultHttpContext(); + Requests[1915].RequestServices = CreateServices(); + Requests[1915].Request.Method = "GET"; + Requests[1915].Request.Path = "/Subscriptions/9fc245df-5e82-/resourceGroups/24b2b7a9-272f-415/providers/Microsoft.RecoveryServices/vaults/54c8f184-09f/replicationNetworks"; + Requests[1916] = new DefaultHttpContext(); + Requests[1916].RequestServices = CreateServices(); + Requests[1916].Request.Method = "GET"; + Requests[1916].Request.Path = "/Subscriptions/97e8d2b2-5f0f-/resourceGroups/cb77f9ce-aadb-4b7/providers/Microsoft.RecoveryServices/vaults/a9676e52-ce2/replicationPolicies"; + Requests[1917] = new DefaultHttpContext(); + Requests[1917].RequestServices = CreateServices(); + Requests[1917].Request.Method = "GET"; + Requests[1917].Request.Path = "/Subscriptions/97fcb6c2-92f1-/resourceGroups/edec178c-173c-49f/providers/Microsoft.RecoveryServices/vaults/47bbf289-256/replicationProtectedItems"; + Requests[1918] = new DefaultHttpContext(); + Requests[1918].RequestServices = CreateServices(); + Requests[1918].Request.Method = "GET"; + Requests[1918].Request.Path = "/Subscriptions/f59181d5-a09d-/resourceGroups/d1bc3ed9-379a-495/providers/Microsoft.RecoveryServices/vaults/35ff5535-6ee/replicationProtectionContainerMappings"; + Requests[1919] = new DefaultHttpContext(); + Requests[1919].RequestServices = CreateServices(); + Requests[1919].Request.Method = "GET"; + Requests[1919].Request.Path = "/Subscriptions/8189ef87-f7c6-/resourceGroups/2b7161f3-43df-42f/providers/Microsoft.RecoveryServices/vaults/cec2f3aa-c3f/replicationProtectionContainers"; + Requests[1920] = new DefaultHttpContext(); + Requests[1920].RequestServices = CreateServices(); + Requests[1920].Request.Method = "GET"; + Requests[1920].Request.Path = "/Subscriptions/462072e7-4e6a-/resourceGroups/afb883e7-4ba2-4c9/providers/Microsoft.RecoveryServices/vaults/24ba0504-e61/replicationRecoveryPlans"; + Requests[1921] = new DefaultHttpContext(); + Requests[1921].RequestServices = CreateServices(); + Requests[1921].Request.Method = "GET"; + Requests[1921].Request.Path = "/Subscriptions/569f4fe3-75a6-/resourceGroups/1a6cc3af-eeee-4c5/providers/Microsoft.RecoveryServices/vaults/62dd9705-c0e/replicationRecoveryServicesProviders"; + Requests[1922] = new DefaultHttpContext(); + Requests[1922].RequestServices = CreateServices(); + Requests[1922].Request.Method = "GET"; + Requests[1922].Request.Path = "/Subscriptions/66599e71-0119-/resourceGroups/462c31f8-f459-455/providers/Microsoft.RecoveryServices/vaults/eed8f761-5e2/replicationStorageClassificationMappings"; + Requests[1923] = new DefaultHttpContext(); + Requests[1923].RequestServices = CreateServices(); + Requests[1923].Request.Method = "GET"; + Requests[1923].Request.Path = "/Subscriptions/7d357ce4-4a18-/resourceGroups/db1d19f4-1753-42f/providers/Microsoft.RecoveryServices/vaults/35296352-813/replicationStorageClassifications"; + Requests[1924] = new DefaultHttpContext(); + Requests[1924].RequestServices = CreateServices(); + Requests[1924].Request.Method = "GET"; + Requests[1924].Request.Path = "/Subscriptions/55a99d9d-8d0c-/resourceGroups/850ed33b-06de-4cf/providers/Microsoft.RecoveryServices/vaults/ce7a22a3-42e/replicationVaultHealth"; + Requests[1925] = new DefaultHttpContext(); + Requests[1925].RequestServices = CreateServices(); + Requests[1925].Request.Method = "GET"; + Requests[1925].Request.Path = "/Subscriptions/d22d24c1-4ca4-/resourceGroups/fe35bece-ca41-43d/providers/Microsoft.RecoveryServices/vaults/fc1128c8-4b9/replicationvCenters"; + Requests[1926] = new DefaultHttpContext(); + Requests[1926].RequestServices = CreateServices(); + Requests[1926].Request.Method = "GET"; + Requests[1926].Request.Path = "/Subscriptions/b81b33c2-8cd2-/resourceGroups/04236ecb-d3fc-4ed/providers/Microsoft.RecoveryServices/vaults/2a61c0a7-/backupEngines"; + Requests[1927] = new DefaultHttpContext(); + Requests[1927].RequestServices = CreateServices(); + Requests[1927].Request.Method = "GET"; + Requests[1927].Request.Path = "/Subscriptions/74a00c97-6837-/resourceGroups/0e8895b8-25f3-488/providers/Microsoft.RecoveryServices/vaults/564e37b3-/backupJobs"; + Requests[1928] = new DefaultHttpContext(); + Requests[1928].RequestServices = CreateServices(); + Requests[1928].Request.Method = "POST"; + Requests[1928].Request.Path = "/Subscriptions/a584f54d-c8bb-/resourceGroups/cedfe797-30f0-4e3/providers/Microsoft.RecoveryServices/vaults/804b03d1-/backupJobsExport"; + Requests[1929] = new DefaultHttpContext(); + Requests[1929].RequestServices = CreateServices(); + Requests[1929].Request.Method = "GET"; + Requests[1929].Request.Path = "/Subscriptions/4709bdf4-21de-/resourceGroups/1241514b-77c5-4f1/providers/Microsoft.RecoveryServices/vaults/809a5984-/backupPolicies"; + Requests[1930] = new DefaultHttpContext(); + Requests[1930].RequestServices = CreateServices(); + Requests[1930].Request.Method = "GET"; + Requests[1930].Request.Path = "/Subscriptions/1a9f7b66-7546-/resourceGroups/4b5e7f64-044c-489/providers/Microsoft.RecoveryServices/vaults/3ce3a6db-/backupProtectableItems"; + Requests[1931] = new DefaultHttpContext(); + Requests[1931].RequestServices = CreateServices(); + Requests[1931].Request.Method = "GET"; + Requests[1931].Request.Path = "/Subscriptions/3f71e2fe-d3a8-/resourceGroups/6dbc1994-fbb2-430/providers/Microsoft.RecoveryServices/vaults/97752310-/backupProtectedItems"; + Requests[1932] = new DefaultHttpContext(); + Requests[1932].RequestServices = CreateServices(); + Requests[1932].Request.Method = "GET"; + Requests[1932].Request.Path = "/Subscriptions/9ed6819f-3b26-/resourceGroups/0d211ae2-ae92-4ec/providers/Microsoft.RecoveryServices/vaults/cc6a772d-/backupProtectionContainers"; + Requests[1933] = new DefaultHttpContext(); + Requests[1933].RequestServices = CreateServices(); + Requests[1933].Request.Method = "POST"; + Requests[1933].Request.Path = "/Subscriptions/1003540a-24a8-/resourceGroups/8607379d-6fe1-432/providers/Microsoft.RecoveryServices/vaults/134b0430-/backupSecurityPIN"; + Requests[1934] = new DefaultHttpContext(); + Requests[1934].RequestServices = CreateServices(); + Requests[1934].Request.Method = "GET"; + Requests[1934].Request.Path = "/Subscriptions/0d6585b6-c417-/resourceGroups/b57939f9-d710-4c3/providers/Microsoft.RecoveryServices/vaults/929d1b23-/backupUsageSummaries"; + Requests[1935] = new DefaultHttpContext(); + Requests[1935].RequestServices = CreateServices(); + Requests[1935].Request.Method = "GET"; + Requests[1935].Request.Path = "/Subscriptions/8629411e-ae76-/resourceGroups/f6ccffe3-57d6-425/providers/Microsoft.RecoveryServices/vaults/8ecd2dc6-/replicationUsages"; + Requests[1936] = new DefaultHttpContext(); + Requests[1936].RequestServices = CreateServices(); + Requests[1936].Request.Method = "GET"; + Requests[1936].Request.Path = "/Subscriptions/7af96ee3-d4c6-/resourceGroups/405b95b1-ecc5-496/providers/Microsoft.RecoveryServices/vaults/01f6fd7d-/usages"; + Requests[1937] = new DefaultHttpContext(); + Requests[1937].RequestServices = CreateServices(); + Requests[1937].Request.Method = "GET"; + Requests[1937].Request.Path = "/subscriptions/980cffda-5ae6-/resourceGroups/581721cf-0307-483/providers/Microsoft.Relay/namespaces/d4dba7e6-6580/authorizationRules"; + Requests[1938] = new DefaultHttpContext(); + Requests[1938].RequestServices = CreateServices(); + Requests[1938].Request.Method = "GET"; + Requests[1938].Request.Path = "/subscriptions/17459d36-76a2-/resourceGroups/ba66c2c7-9145-4d8/providers/Microsoft.Relay/namespaces/2fa38cef-6ab9/hybridConnections"; + Requests[1939] = new DefaultHttpContext(); + Requests[1939].RequestServices = CreateServices(); + Requests[1939].Request.Method = "GET"; + Requests[1939].Request.Path = "/subscriptions/93f56450-399c-/resourceGroups/1228cc43-93e0-446/providers/Microsoft.Relay/namespaces/8427cf03-9408/wcfRelays"; + Requests[1940] = new DefaultHttpContext(); + Requests[1940].RequestServices = CreateServices(); + Requests[1940].Request.Method = "POST"; + Requests[1940].Request.Path = "/subscriptions/7b43867f-85b7-/resourcegroups/1757ccba-950a-440/providers/Microsoft.Resources/deployments/c621e7ed-075d-/cancel"; + Requests[1941] = new DefaultHttpContext(); + Requests[1941].RequestServices = CreateServices(); + Requests[1941].Request.Method = "POST"; + Requests[1941].Request.Path = "/subscriptions/cea4ec20-0002-/resourcegroups/150dbe23-00c6-472/providers/Microsoft.Resources/deployments/73d10056-48b0-/exportTemplate"; + Requests[1942] = new DefaultHttpContext(); + Requests[1942].RequestServices = CreateServices(); + Requests[1942].Request.Method = "POST"; + Requests[1942].Request.Path = "/subscriptions/a1eb8b18-5db1-/resourcegroups/c241ad35-6810-4e7/providers/Microsoft.Resources/deployments/e1bc3783-432a-/validate"; + Requests[1943] = new DefaultHttpContext(); + Requests[1943].RequestServices = CreateServices(); + Requests[1943].Request.Method = "POST"; + Requests[1943].Request.Path = "/subscriptions/42a1f09b-1a89-/resourceGroups/8b05b02a-bab8-47a/providers/Microsoft.Scheduler/jobCollections/5d35fb6b-bf7a-4d3/disable"; + Requests[1944] = new DefaultHttpContext(); + Requests[1944].RequestServices = CreateServices(); + Requests[1944].Request.Method = "POST"; + Requests[1944].Request.Path = "/subscriptions/dd82e39b-8e5c-/resourceGroups/47b5e910-2d95-425/providers/Microsoft.Scheduler/jobCollections/5f3e2777-1911-41f/enable"; + Requests[1945] = new DefaultHttpContext(); + Requests[1945].RequestServices = CreateServices(); + Requests[1945].Request.Method = "GET"; + Requests[1945].Request.Path = "/subscriptions/e9421aea-0f6b-/resourceGroups/aab540dc-ac4d-474/providers/Microsoft.Scheduler/jobCollections/27ae310f-be29-494/jobs"; + Requests[1946] = new DefaultHttpContext(); + Requests[1946].RequestServices = CreateServices(); + Requests[1946].Request.Method = "POST"; + Requests[1946].Request.Path = "/subscriptions/feea945e-aacb-/resourceGroups/4abf1285-d4ec-4ff/providers/Microsoft.Search/searchServices/3c6ae2a2-f21e-4e8/listAdminKeys"; + Requests[1947] = new DefaultHttpContext(); + Requests[1947].RequestServices = CreateServices(); + Requests[1947].Request.Method = "GET"; + Requests[1947].Request.Path = "/subscriptions/0f31105d-c3dd-/resourceGroups/089df606-423f-482/providers/Microsoft.Search/searchServices/2ab31df5-0113-435/listQueryKeys"; + Requests[1948] = new DefaultHttpContext(); + Requests[1948].RequestServices = CreateServices(); + Requests[1948].Request.Method = "GET"; + Requests[1948].Request.Path = "/subscriptions/f4698aff-39ea-/resourceGroups/df2fec72-c585-466/providers/Microsoft.Security/locations/a7a59ef7-cd/alerts"; + Requests[1949] = new DefaultHttpContext(); + Requests[1949].RequestServices = CreateServices(); + Requests[1949].Request.Method = "GET"; + Requests[1949].Request.Path = "/subscriptions/fde28efb-31b0-/resourceGroups/6a05c277-6533-4be/providers/Microsoft.Security/locations/c0066ad3-4a/jitNetworkAccessPolicies"; + Requests[1950] = new DefaultHttpContext(); + Requests[1950].RequestServices = CreateServices(); + Requests[1950].Request.Method = "GET"; + Requests[1950].Request.Path = "/subscriptions/ed999245-1e4a-/resourceGroups/eaed7cb9-d28f-4c5/providers/Microsoft.Security/locations/0f41168f-a0/tasks"; + Requests[1951] = new DefaultHttpContext(); + Requests[1951].RequestServices = CreateServices(); + Requests[1951].Request.Method = "POST"; + Requests[1951].Request.Path = "/subscriptions/32af5639-7d28-/resourceGroups/664bd947-717f-456/providers/Microsoft.ServerManagement/gateways/0ae9b270-1e/profile"; + Requests[1952] = new DefaultHttpContext(); + Requests[1952].RequestServices = CreateServices(); + Requests[1952].Request.Method = "POST"; + Requests[1952].Request.Path = "/subscriptions/10c61351-aa61-/resourceGroups/3de6c8b4-7e42-46f/providers/Microsoft.ServerManagement/gateways/06a02e07-96/regenerateprofile"; + Requests[1953] = new DefaultHttpContext(); + Requests[1953].RequestServices = CreateServices(); + Requests[1953].Request.Method = "POST"; + Requests[1953].Request.Path = "/subscriptions/c0089034-45ed-/resourceGroups/bfa7de97-4cf9-402/providers/Microsoft.ServerManagement/gateways/4fb0df26-8e/upgradetolatest"; + Requests[1954] = new DefaultHttpContext(); + Requests[1954].RequestServices = CreateServices(); + Requests[1954].Request.Method = "GET"; + Requests[1954].Request.Path = "/subscriptions/b803bcce-f030-/resourceGroups/515b379d-c465-49c/providers/Microsoft.ServiceBus/namespaces/4485a612-c9b8/AuthorizationRules"; + Requests[1955] = new DefaultHttpContext(); + Requests[1955].RequestServices = CreateServices(); + Requests[1955].Request.Method = "GET"; + Requests[1955].Request.Path = "/subscriptions/72415ae0-3a00-/resourceGroups/d62699b8-c981-45d/providers/Microsoft.ServiceBus/namespaces/40cddda1-8945/disasterRecoveryConfigs"; + Requests[1956] = new DefaultHttpContext(); + Requests[1956].RequestServices = CreateServices(); + Requests[1956].Request.Method = "GET"; + Requests[1956].Request.Path = "/subscriptions/46d9261c-f273-/resourceGroups/86b86c14-3550-4b4/providers/Microsoft.ServiceBus/namespaces/b6c84343-51ff/eventhubs"; + Requests[1957] = new DefaultHttpContext(); + Requests[1957].RequestServices = CreateServices(); + Requests[1957].Request.Method = "GET"; + Requests[1957].Request.Path = "/subscriptions/32aeb101-6b4e-/resourceGroups/5316d617-1733-4f6/providers/Microsoft.ServiceBus/namespaces/e33f8a14-6045/messagingplan"; + Requests[1958] = new DefaultHttpContext(); + Requests[1958].RequestServices = CreateServices(); + Requests[1958].Request.Method = "GET"; + Requests[1958].Request.Path = "/subscriptions/c2855c22-b09a-/resourceGroups/d8689a09-1531-4b6/providers/Microsoft.ServiceBus/namespaces/caa402b6-c770/migrationConfigurations"; + Requests[1959] = new DefaultHttpContext(); + Requests[1959].RequestServices = CreateServices(); + Requests[1959].Request.Method = "GET"; + Requests[1959].Request.Path = "/subscriptions/76af5ed4-5ae3-/resourceGroups/d559d666-8c9d-47c/providers/Microsoft.ServiceBus/namespaces/c8345f41-e303/queues"; + Requests[1960] = new DefaultHttpContext(); + Requests[1960].RequestServices = CreateServices(); + Requests[1960].Request.Method = "GET"; + Requests[1960].Request.Path = "/subscriptions/b34d9952-c569-/resourceGroups/eceefcbb-59b9-421/providers/Microsoft.ServiceBus/namespaces/3d96810a-2598/topics"; + Requests[1961] = new DefaultHttpContext(); + Requests[1961].RequestServices = CreateServices(); + Requests[1961].Request.Method = "GET"; + Requests[1961].Request.Path = "/subscriptions/ddcbfae9-d247-/resourceGroups/12032e8e-b317-483/providers/Microsoft.ServiceFabric/clusters/d9fda65c-a9/applications"; + Requests[1962] = new DefaultHttpContext(); + Requests[1962].RequestServices = CreateServices(); + Requests[1962].Request.Method = "GET"; + Requests[1962].Request.Path = "/subscriptions/0b7aa011-c857-/resourceGroups/e8f40e00-f343-435/providers/Microsoft.ServiceFabric/clusters/54df23ae-3d/applicationTypes"; + Requests[1963] = new DefaultHttpContext(); + Requests[1963].RequestServices = CreateServices(); + Requests[1963].Request.Method = "POST"; + Requests[1963].Request.Path = "/subscriptions/54bfa796-40cb-/resourceGroups/c80ccb88-f9c5-4d3/providers/Microsoft.SignalRService/SignalR/8f97b7a2-c92/listKeys"; + Requests[1964] = new DefaultHttpContext(); + Requests[1964].RequestServices = CreateServices(); + Requests[1964].Request.Method = "POST"; + Requests[1964].Request.Path = "/subscriptions/26f33900-25a0-/resourceGroups/7d3d98b5-8b9a-42c/providers/Microsoft.SignalRService/SignalR/f7fe6f19-c34/regenerateKey"; + Requests[1965] = new DefaultHttpContext(); + Requests[1965].RequestServices = CreateServices(); + Requests[1965].Request.Method = "GET"; + Requests[1965].Request.Path = "/subscriptions/e40340ea-4702-/resourceGroups/1ff112c5-269a-4aa/providers/Microsoft.Sql/locations/3b4f5c0d-535/instanceFailoverGroups"; + Requests[1966] = new DefaultHttpContext(); + Requests[1966].RequestServices = CreateServices(); + Requests[1966].Request.Method = "GET"; + Requests[1966].Request.Path = "/subscriptions/53a6dccc-1bf0-/resourceGroups/f1ef1172-db63-497/providers/Microsoft.Sql/managedInstances/4a129714-e4fe-4f94-/databases"; + Requests[1967] = new DefaultHttpContext(); + Requests[1967].RequestServices = CreateServices(); + Requests[1967].Request.Method = "GET"; + Requests[1967].Request.Path = "/subscriptions/e13c3263-0c8e-/resourceGroups/23d3c938-2b51-440/providers/Microsoft.Sql/servers/078630e5-6/administrators"; + Requests[1968] = new DefaultHttpContext(); + Requests[1968].RequestServices = CreateServices(); + Requests[1968].Request.Method = "GET"; + Requests[1968].Request.Path = "/subscriptions/2ccfd1b4-9ef0-/resourceGroups/f20bd80f-32b3-4b4/providers/Microsoft.Sql/servers/eec787f7-8/advisors"; + Requests[1969] = new DefaultHttpContext(); + Requests[1969].RequestServices = CreateServices(); + Requests[1969].Request.Method = "GET"; + Requests[1969].Request.Path = "/subscriptions/8afee96b-4b08-/resourceGroups/2231e3ae-9d73-478/providers/Microsoft.Sql/servers/9962cb8e-b/auditingPolicies"; + Requests[1970] = new DefaultHttpContext(); + Requests[1970].RequestServices = CreateServices(); + Requests[1970].Request.Method = "GET"; + Requests[1970].Request.Path = "/subscriptions/af6d777b-e1fa-/resourceGroups/6e2e5814-c385-495/providers/Microsoft.Sql/servers/ecd3b0b4-1/backupLongTermRetentionVaults"; + Requests[1971] = new DefaultHttpContext(); + Requests[1971].RequestServices = CreateServices(); + Requests[1971].Request.Method = "GET"; + Requests[1971].Request.Path = "/subscriptions/4cee87f2-aab0-/resourceGroups/3253ae97-671a-47d/providers/Microsoft.Sql/servers/75d22926-2/communicationLinks"; + Requests[1972] = new DefaultHttpContext(); + Requests[1972].RequestServices = CreateServices(); + Requests[1972].Request.Method = "GET"; + Requests[1972].Request.Path = "/subscriptions/3c2d67b3-c753-/resourceGroups/b2dc3039-3b22-4a1/providers/Microsoft.Sql/servers/81c3a2d4-7/databases"; + Requests[1973] = new DefaultHttpContext(); + Requests[1973].RequestServices = CreateServices(); + Requests[1973].Request.Method = "GET"; + Requests[1973].Request.Path = "/subscriptions/9be558a9-aa89-/resourceGroups/fbe5e564-a373-482/providers/Microsoft.Sql/servers/6aa894ea-d/disasterRecoveryConfiguration"; + Requests[1974] = new DefaultHttpContext(); + Requests[1974].RequestServices = CreateServices(); + Requests[1974].Request.Method = "GET"; + Requests[1974].Request.Path = "/subscriptions/2603e94d-0b4a-/resourceGroups/d44b5e1f-2dfb-487/providers/Microsoft.Sql/servers/c629e7c0-6/dnsAliases"; + Requests[1975] = new DefaultHttpContext(); + Requests[1975].RequestServices = CreateServices(); + Requests[1975].Request.Method = "GET"; + Requests[1975].Request.Path = "/subscriptions/40baf910-023d-/resourceGroups/c54f6b1e-f02d-41a/providers/Microsoft.Sql/servers/342529b0-a/elasticPools"; + Requests[1976] = new DefaultHttpContext(); + Requests[1976].RequestServices = CreateServices(); + Requests[1976].Request.Method = "GET"; + Requests[1976].Request.Path = "/subscriptions/33fd4b9a-798c-/resourceGroups/58afd50d-630c-473/providers/Microsoft.Sql/servers/c28f894a-2/encryptionProtector"; + Requests[1977] = new DefaultHttpContext(); + Requests[1977].RequestServices = CreateServices(); + Requests[1977].Request.Method = "GET"; + Requests[1977].Request.Path = "/subscriptions/4e5694e1-e3d0-/resourceGroups/445cd04d-f39a-40f/providers/Microsoft.Sql/servers/c6b0f0a1-c/failoverGroups"; + Requests[1978] = new DefaultHttpContext(); + Requests[1978].RequestServices = CreateServices(); + Requests[1978].Request.Method = "GET"; + Requests[1978].Request.Path = "/subscriptions/c422216d-8bcd-/resourceGroups/56949c0c-b289-471/providers/Microsoft.Sql/servers/d353f503-e/firewallRules"; + Requests[1979] = new DefaultHttpContext(); + Requests[1979].RequestServices = CreateServices(); + Requests[1979].Request.Method = "POST"; + Requests[1979].Request.Path = "/subscriptions/587e58db-e15c-/resourceGroups/a56739e3-0489-411/providers/Microsoft.Sql/servers/f101e9c4-b/import"; + Requests[1980] = new DefaultHttpContext(); + Requests[1980].RequestServices = CreateServices(); + Requests[1980].Request.Method = "GET"; + Requests[1980].Request.Path = "/subscriptions/6dd839c4-c933-/resourceGroups/75423539-5570-4f0/providers/Microsoft.Sql/servers/f07191ef-1/jobAgents"; + Requests[1981] = new DefaultHttpContext(); + Requests[1981].RequestServices = CreateServices(); + Requests[1981].Request.Method = "GET"; + Requests[1981].Request.Path = "/subscriptions/bbd769a3-9d3b-/resourceGroups/09b909af-4c7a-47d/providers/Microsoft.Sql/servers/49abdf4d-a/keys"; + Requests[1982] = new DefaultHttpContext(); + Requests[1982].RequestServices = CreateServices(); + Requests[1982].Request.Method = "GET"; + Requests[1982].Request.Path = "/subscriptions/d1c4f6b9-45df-/resourceGroups/be2c5a05-4bfc-428/providers/Microsoft.Sql/servers/4eae23cb-5/recommendedElasticPools"; + Requests[1983] = new DefaultHttpContext(); + Requests[1983].RequestServices = CreateServices(); + Requests[1983].Request.Method = "GET"; + Requests[1983].Request.Path = "/subscriptions/c68e2307-336c-/resourceGroups/9bb70a49-380f-432/providers/Microsoft.Sql/servers/ad9e3951-4/recoverableDatabases"; + Requests[1984] = new DefaultHttpContext(); + Requests[1984].RequestServices = CreateServices(); + Requests[1984].Request.Method = "GET"; + Requests[1984].Request.Path = "/subscriptions/8b61f891-e7d6-/resourceGroups/5ac76720-8f20-419/providers/Microsoft.Sql/servers/9b4ab6d6-8/restorableDroppedDatabases"; + Requests[1985] = new DefaultHttpContext(); + Requests[1985].RequestServices = CreateServices(); + Requests[1985].Request.Method = "GET"; + Requests[1985].Request.Path = "/subscriptions/a636a4dd-c1ff-/resourceGroups/754d6429-8912-453/providers/Microsoft.Sql/servers/409f8710-1/serviceObjectives"; + Requests[1986] = new DefaultHttpContext(); + Requests[1986].RequestServices = CreateServices(); + Requests[1986].Request.Method = "GET"; + Requests[1986].Request.Path = "/subscriptions/bee17475-4490-/resourceGroups/df853377-bef2-479/providers/Microsoft.Sql/servers/c8628b39-b/syncAgents"; + Requests[1987] = new DefaultHttpContext(); + Requests[1987].RequestServices = CreateServices(); + Requests[1987].Request.Method = "GET"; + Requests[1987].Request.Path = "/subscriptions/2fdb39f7-a1a9-/resourceGroups/51aba79e-3c6f-44f/providers/Microsoft.Sql/servers/0adbc94f-a/usages"; + Requests[1988] = new DefaultHttpContext(); + Requests[1988].RequestServices = CreateServices(); + Requests[1988].Request.Method = "GET"; + Requests[1988].Request.Path = "/subscriptions/0beb17f7-e3bf-/resourceGroups/3bf672b3-4860-41d/providers/Microsoft.Sql/servers/d383e4b4-5/virtualNetworkRules"; + Requests[1989] = new DefaultHttpContext(); + Requests[1989].RequestServices = CreateServices(); + Requests[1989].Request.Method = "GET"; + Requests[1989].Request.Path = "/subscriptions/b766be27-70d2-/resourcegroups/8a31f1e4-4af9-422/providers/Microsoft.Storage.Admin/farms/f3b104/acquisitions"; + Requests[1990] = new DefaultHttpContext(); + Requests[1990].RequestServices = CreateServices(); + Requests[1990].Request.Method = "GET"; + Requests[1990].Request.Path = "/subscriptions/f5b3916f-cf4a-/resourcegroups/1ee7bd3a-503d-406/providers/Microsoft.Storage.Admin/farms/aefb07/metricdefinitions"; + Requests[1991] = new DefaultHttpContext(); + Requests[1991].RequestServices = CreateServices(); + Requests[1991].Request.Method = "GET"; + Requests[1991].Request.Path = "/subscriptions/0b70448b-8b60-/resourcegroups/93adb5c9-e05d-46e/providers/Microsoft.Storage.Admin/farms/765e5d/metrics"; + Requests[1992] = new DefaultHttpContext(); + Requests[1992].RequestServices = CreateServices(); + Requests[1992].Request.Method = "POST"; + Requests[1992].Request.Path = "/subscriptions/ad2b4e3d-5ed4-/resourcegroups/62d7e442-9af0-40b/providers/Microsoft.Storage.Admin/farms/01d1d2/ondemandgc"; + Requests[1993] = new DefaultHttpContext(); + Requests[1993].RequestServices = CreateServices(); + Requests[1993].Request.Method = "GET"; + Requests[1993].Request.Path = "/subscriptions/470e0d21-7ed6-/resourcegroups/b53126e8-cee0-485/providers/Microsoft.Storage.Admin/farms/1b0884/shares"; + Requests[1994] = new DefaultHttpContext(); + Requests[1994].RequestServices = CreateServices(); + Requests[1994].Request.Method = "GET"; + Requests[1994].Request.Path = "/subscriptions/8f339795-22da-/resourcegroups/d288ac4c-7fd0-4e3/providers/Microsoft.Storage.Admin/farms/f8f593/storageaccounts"; + Requests[1995] = new DefaultHttpContext(); + Requests[1995].RequestServices = CreateServices(); + Requests[1995].Request.Method = "POST"; + Requests[1995].Request.Path = "/subscriptions/8d3ca180-e5ae-/resourceGroups/d8bf8929-ad8a-440/providers/Microsoft.Storage/storageAccounts/d4d7c018-f2/ListAccountSas"; + Requests[1996] = new DefaultHttpContext(); + Requests[1996].RequestServices = CreateServices(); + Requests[1996].Request.Method = "POST"; + Requests[1996].Request.Path = "/subscriptions/f1b042e0-9f16-/resourceGroups/5ba7a2d0-4a1f-426/providers/Microsoft.Storage/storageAccounts/43c187a6-67/listKeys"; + Requests[1997] = new DefaultHttpContext(); + Requests[1997].RequestServices = CreateServices(); + Requests[1997].Request.Method = "POST"; + Requests[1997].Request.Path = "/subscriptions/6c1c146d-252a-/resourceGroups/8efeba6e-5631-46a/providers/Microsoft.Storage/storageAccounts/fd78e376-34/ListServiceSas"; + Requests[1998] = new DefaultHttpContext(); + Requests[1998].RequestServices = CreateServices(); + Requests[1998].Request.Method = "POST"; + Requests[1998].Request.Path = "/subscriptions/08feb004-84f0-/resourceGroups/6afc733b-2783-4dd/providers/Microsoft.Storage/storageAccounts/f5ab2d04-93/regenerateKey"; + Requests[1999] = new DefaultHttpContext(); + Requests[1999].RequestServices = CreateServices(); + Requests[1999].Request.Method = "GET"; + Requests[1999].Request.Path = "/subscriptions/b16d2683-7e59-/resourceGroups/f5b53673-1d87-4bf/providers/Microsoft.StorSimple/managers/656eafb0-16/accessControlRecords"; + Requests[2000] = new DefaultHttpContext(); + Requests[2000].RequestServices = CreateServices(); + Requests[2000].Request.Method = "GET"; + Requests[2000].Request.Path = "/subscriptions/ba80f4bb-4b6a-/resourceGroups/c40132ff-0615-408/providers/Microsoft.StorSimple/managers/740259a1-b4/alerts"; + Requests[2001] = new DefaultHttpContext(); + Requests[2001].RequestServices = CreateServices(); + Requests[2001].Request.Method = "GET"; + Requests[2001].Request.Path = "/subscriptions/8d98090e-fd41-/resourceGroups/90847f99-818d-4aa/providers/Microsoft.StorSimple/managers/077f3c3c-2a/bandwidthSettings"; + Requests[2002] = new DefaultHttpContext(); + Requests[2002].RequestServices = CreateServices(); + Requests[2002].Request.Method = "POST"; + Requests[2002].Request.Path = "/subscriptions/b4379429-eec7-/resourceGroups/b0edb442-80aa-413/providers/Microsoft.StorSimple/managers/94eace56-a2/clearAlerts"; + Requests[2003] = new DefaultHttpContext(); + Requests[2003].RequestServices = CreateServices(); + Requests[2003].Request.Method = "GET"; + Requests[2003].Request.Path = "/subscriptions/40add273-9ef9-/resourceGroups/ceb40004-77fb-41f/providers/Microsoft.StorSimple/managers/32127f21-05/cloudApplianceConfigurations"; + Requests[2004] = new DefaultHttpContext(); + Requests[2004].RequestServices = CreateServices(); + Requests[2004].Request.Method = "POST"; + Requests[2004].Request.Path = "/subscriptions/6ec06c3c-922b-/resourceGroups/243ba88d-681a-41f/providers/Microsoft.StorSimple/managers/fdd72f65-c0/configureDevice"; + Requests[2005] = new DefaultHttpContext(); + Requests[2005].RequestServices = CreateServices(); + Requests[2005].Request.Method = "GET"; + Requests[2005].Request.Path = "/subscriptions/c8eb00bf-ca13-/resourceGroups/720528c8-5d07-4d0/providers/Microsoft.StorSimple/managers/569a28ce-22/devices"; + Requests[2006] = new DefaultHttpContext(); + Requests[2006].RequestServices = CreateServices(); + Requests[2006].Request.Method = "GET"; + Requests[2006].Request.Path = "/subscriptions/895dcb6e-fa15-/resourceGroups/e4902b88-76da-41a/providers/Microsoft.StorSimple/managers/94ee110b-1b/features"; + Requests[2007] = new DefaultHttpContext(); + Requests[2007].RequestServices = CreateServices(); + Requests[2007].Request.Method = "GET"; + Requests[2007].Request.Path = "/subscriptions/836a8494-5b8f-/resourceGroups/4f00473f-9fa0-477/providers/Microsoft.StorSimple/managers/58439a25-70/jobs"; + Requests[2008] = new DefaultHttpContext(); + Requests[2008].RequestServices = CreateServices(); + Requests[2008].Request.Method = "POST"; + Requests[2008].Request.Path = "/subscriptions/b2bcf92b-38e2-/resourceGroups/72ab8b4d-b580-46e/providers/Microsoft.StorSimple/managers/ea25d0cd-11/listActivationKey"; + Requests[2009] = new DefaultHttpContext(); + Requests[2009].RequestServices = CreateServices(); + Requests[2009].Request.Method = "POST"; + Requests[2009].Request.Path = "/subscriptions/f1004056-44e4-/resourceGroups/245d69ab-7978-40f/providers/Microsoft.StorSimple/managers/82eacea0-4b/listPublicEncryptionKey"; + Requests[2010] = new DefaultHttpContext(); + Requests[2010].RequestServices = CreateServices(); + Requests[2010].Request.Method = "GET"; + Requests[2010].Request.Path = "/subscriptions/1adb0d7a-395a-/resourceGroups/85746ee1-1cab-489/providers/Microsoft.StorSimple/managers/669c3d05-dd/metrics"; + Requests[2011] = new DefaultHttpContext(); + Requests[2011].RequestServices = CreateServices(); + Requests[2011].Request.Method = "GET"; + Requests[2011].Request.Path = "/subscriptions/7ea3951a-3f1f-/resourceGroups/e166a9b4-2917-4ae/providers/Microsoft.StorSimple/managers/4a6e9953-87/metricsDefinitions"; + Requests[2012] = new DefaultHttpContext(); + Requests[2012].RequestServices = CreateServices(); + Requests[2012].Request.Method = "POST"; + Requests[2012].Request.Path = "/subscriptions/ad74c23b-7df3-/resourceGroups/1d4779f7-92a8-495/providers/Microsoft.StorSimple/managers/3d3a80d8-a2/provisionCloudAppliance"; + Requests[2013] = new DefaultHttpContext(); + Requests[2013].RequestServices = CreateServices(); + Requests[2013].Request.Method = "POST"; + Requests[2013].Request.Path = "/subscriptions/a0103439-4e9f-/resourceGroups/fd3a5152-322e-425/providers/Microsoft.StorSimple/managers/39500ed0-17/regenerateActivationKey"; + Requests[2014] = new DefaultHttpContext(); + Requests[2014].RequestServices = CreateServices(); + Requests[2014].Request.Method = "GET"; + Requests[2014].Request.Path = "/subscriptions/d28e87ae-44fc-/resourceGroups/ec93f77e-034d-401/providers/Microsoft.StorSimple/managers/4382aa6b-e9/storageAccountCredentials"; + Requests[2015] = new DefaultHttpContext(); + Requests[2015].RequestServices = CreateServices(); + Requests[2015].Request.Method = "GET"; + Requests[2015].Request.Path = "/subscriptions/63991be9-787e-/resourcegroups/f1fb3dca-531d-44d/providers/Microsoft.StreamAnalytics/streamingjobs/eeb2894/functions"; + Requests[2016] = new DefaultHttpContext(); + Requests[2016].RequestServices = CreateServices(); + Requests[2016].Request.Method = "GET"; + Requests[2016].Request.Path = "/subscriptions/c1d9733e-8a4a-/resourcegroups/2216c802-b5fe-40a/providers/Microsoft.StreamAnalytics/streamingjobs/ec9ed23/inputs"; + Requests[2017] = new DefaultHttpContext(); + Requests[2017].RequestServices = CreateServices(); + Requests[2017].Request.Method = "GET"; + Requests[2017].Request.Path = "/subscriptions/1f210bee-b6ee-/resourcegroups/c14aee0d-d71b-408/providers/Microsoft.StreamAnalytics/streamingjobs/2b03e15/outputs"; + Requests[2018] = new DefaultHttpContext(); + Requests[2018].RequestServices = CreateServices(); + Requests[2018].Request.Method = "POST"; + Requests[2018].Request.Path = "/subscriptions/2522a66d-27a1-/resourcegroups/32c0b93c-e67e-410/providers/Microsoft.StreamAnalytics/streamingjobs/bf226f6/start"; + Requests[2019] = new DefaultHttpContext(); + Requests[2019].RequestServices = CreateServices(); + Requests[2019].Request.Method = "POST"; + Requests[2019].Request.Path = "/subscriptions/36ccb8ca-669e-/resourcegroups/1aed7662-2b44-447/providers/Microsoft.StreamAnalytics/streamingjobs/9bc1636/stop"; + Requests[2020] = new DefaultHttpContext(); + Requests[2020].RequestServices = CreateServices(); + Requests[2020].Request.Method = "POST"; + Requests[2020].Request.Path = "/subscriptions/775846fd-96fd-/resourcegroups/54df82e6-2402-4c5/providers/Microsoft.Subscriptions.Admin/offers/b886b/link"; + Requests[2021] = new DefaultHttpContext(); + Requests[2021].RequestServices = CreateServices(); + Requests[2021].Request.Method = "GET"; + Requests[2021].Request.Path = "/subscriptions/9adc47ce-b5c8-/resourcegroups/589a4762-a8fe-411/providers/Microsoft.Subscriptions.Admin/offers/0604e/MetricDefinitions"; + Requests[2022] = new DefaultHttpContext(); + Requests[2022].RequestServices = CreateServices(); + Requests[2022].Request.Method = "GET"; + Requests[2022].Request.Path = "/subscriptions/94110ae8-43e0-/resourcegroups/0f9e41ed-18c6-4ee/providers/Microsoft.Subscriptions.Admin/offers/983f9/Metrics"; + Requests[2023] = new DefaultHttpContext(); + Requests[2023].RequestServices = CreateServices(); + Requests[2023].Request.Method = "GET"; + Requests[2023].Request.Path = "/subscriptions/575dd54c-d73e-/resourcegroups/f3825239-d8c4-47b/providers/Microsoft.Subscriptions.Admin/offers/f3fa2/offerDelegations"; + Requests[2024] = new DefaultHttpContext(); + Requests[2024].RequestServices = CreateServices(); + Requests[2024].Request.Method = "POST"; + Requests[2024].Request.Path = "/subscriptions/5c81ed9d-a44f-/resourcegroups/6e5b82f2-7c96-479/providers/Microsoft.Subscriptions.Admin/offers/f8fd4/unlink"; + Requests[2025] = new DefaultHttpContext(); + Requests[2025].RequestServices = CreateServices(); + Requests[2025].Request.Method = "GET"; + Requests[2025].Request.Path = "/subscriptions/27b4db01-8668-/resourcegroups/155fbac3-c6bc-4f5/providers/Microsoft.Subscriptions.Admin/plans/aeae7/MetricDefinitions"; + Requests[2026] = new DefaultHttpContext(); + Requests[2026].RequestServices = CreateServices(); + Requests[2026].Request.Method = "GET"; + Requests[2026].Request.Path = "/subscriptions/b84340cf-b926-/resourcegroups/0149d4be-1121-42a/providers/Microsoft.Subscriptions.Admin/plans/07d74/Metrics"; + Requests[2027] = new DefaultHttpContext(); + Requests[2027].RequestServices = CreateServices(); + Requests[2027].Request.Method = "GET"; + Requests[2027].Request.Path = "/subscriptions/11fa186b-a608-/resourceGroups/ca6977e3-ef97-400/providers/Microsoft.TimeSeriesInsights/environments/5cf0103e-97ff-4/accessPolicies"; + Requests[2028] = new DefaultHttpContext(); + Requests[2028].RequestServices = CreateServices(); + Requests[2028].Request.Method = "GET"; + Requests[2028].Request.Path = "/subscriptions/ef596a21-932c-/resourceGroups/6e4fa800-0071-4a6/providers/Microsoft.TimeSeriesInsights/environments/1cf7d694-fe9a-4/eventSources"; + Requests[2029] = new DefaultHttpContext(); + Requests[2029].RequestServices = CreateServices(); + Requests[2029].Request.Method = "GET"; + Requests[2029].Request.Path = "/subscriptions/f387ba78-f8ce-/resourceGroups/e345308d-e31f-4bd/providers/Microsoft.TimeSeriesInsights/environments/ba2c96ad-dc2f-4/referenceDataSets"; + Requests[2030] = new DefaultHttpContext(); + Requests[2030].RequestServices = CreateServices(); + Requests[2030].Request.Method = "GET"; + Requests[2030].Request.Path = "/subscriptions/a2451755-f24c-/resourcegroups/508a5123-3751-466/providers/Microsoft.Update.Admin/updateLocations/7cce9290-869e-/updates"; + Requests[2031] = new DefaultHttpContext(); + Requests[2031].RequestServices = CreateServices(); + Requests[2031].Request.Method = "GET"; + Requests[2031].Request.Path = "/subscriptions/08b80da0-7e68-/resourcegroups/84b14d4f-df93-40c/providers/microsoft.visualstudio/account/82dc50ee-8d8a-4ffd-/extension"; + Requests[2032] = new DefaultHttpContext(); + Requests[2032].RequestServices = CreateServices(); + Requests[2032].Request.Method = "GET"; + Requests[2032].Request.Path = "/subscriptions/4ae43c00-bfaa-/resourceGroups/45bf1a58-1f10-447/providers/microsoft.visualstudio/account/63786a5f-2387-47/project"; + Requests[2033] = new DefaultHttpContext(); + Requests[2033].RequestServices = CreateServices(); + Requests[2033].Request.Method = "GET"; + Requests[2033].Request.Path = "/subscriptions/eea59ed1-4231-/resourceGroups/22613641-a3ac-4b0/providers/Microsoft.Web.Admin/environments/4f436035-0d92-4/usage"; + Requests[2034] = new DefaultHttpContext(); + Requests[2034].RequestServices = CreateServices(); + Requests[2034].Request.Method = "POST"; + Requests[2034].Request.Path = "/subscriptions/7b65d2a5-9e24-/resourceGroups/5cc31034-f5d7-419/providers/Microsoft.Web/connections/0103dd8d-a0c7-/confirmConsentCode"; + Requests[2035] = new DefaultHttpContext(); + Requests[2035].RequestServices = CreateServices(); + Requests[2035].Request.Method = "POST"; + Requests[2035].Request.Path = "/subscriptions/9093eb03-c6c3-/resourceGroups/b2102cbf-e20d-4fe/providers/Microsoft.Web/connections/86eadd30-8193-/listConnectionKeys"; + Requests[2036] = new DefaultHttpContext(); + Requests[2036].RequestServices = CreateServices(); + Requests[2036].Request.Method = "POST"; + Requests[2036].Request.Path = "/subscriptions/22191b2d-6c42-/resourceGroups/b2162f61-a4da-421/providers/Microsoft.Web/connections/4b25dae4-1c48-/listConsentLinks"; + Requests[2037] = new DefaultHttpContext(); + Requests[2037].RequestServices = CreateServices(); + Requests[2037].Request.Method = "POST"; + Requests[2037].Request.Path = "/subscriptions/3b67d76a-b975-/resourceGroups/caa431be-6c7a-4de/providers/Microsoft.Web/customApis/8577579/move"; + Requests[2038] = new DefaultHttpContext(); + Requests[2038].RequestServices = CreateServices(); + Requests[2038].Request.Method = "POST"; + Requests[2038].Request.Path = "/subscriptions/7656e1be-7c5f-/resourceGroups/09e92c1b-1738-407/providers/Microsoft.Web/hostingEnvironments/ebb4d/changeVirtualNetwork"; + Requests[2039] = new DefaultHttpContext(); + Requests[2039].RequestServices = CreateServices(); + Requests[2039].Request.Method = "GET"; + Requests[2039].Request.Path = "/subscriptions/e37aa550-3557-/resourceGroups/bbc61fda-1556-4d6/providers/Microsoft.Web/hostingEnvironments/8813f/detectors"; + Requests[2040] = new DefaultHttpContext(); + Requests[2040].RequestServices = CreateServices(); + Requests[2040].Request.Method = "GET"; + Requests[2040].Request.Path = "/subscriptions/b16c4ccb-2c7b-/resourceGroups/433a4d31-7a37-409/providers/Microsoft.Web/hostingEnvironments/f5847/diagnostics"; + Requests[2041] = new DefaultHttpContext(); + Requests[2041].RequestServices = CreateServices(); + Requests[2041].Request.Method = "GET"; + Requests[2041].Request.Path = "/subscriptions/e9f98a9a-0910-/resourceGroups/785d541c-4271-44d/providers/Microsoft.Web/hostingEnvironments/4ec58/metricdefinitions"; + Requests[2042] = new DefaultHttpContext(); + Requests[2042].RequestServices = CreateServices(); + Requests[2042].Request.Method = "GET"; + Requests[2042].Request.Path = "/subscriptions/df3cc147-7db9-/resourceGroups/3b785d84-58fc-4ff/providers/Microsoft.Web/hostingEnvironments/bbede/metrics"; + Requests[2043] = new DefaultHttpContext(); + Requests[2043].RequestServices = CreateServices(); + Requests[2043].Request.Method = "GET"; + Requests[2043].Request.Path = "/subscriptions/17ae7fae-821d-/resourceGroups/78880559-6e90-4e7/providers/Microsoft.Web/hostingEnvironments/7fe16/multiRolePools"; + Requests[2044] = new DefaultHttpContext(); + Requests[2044].RequestServices = CreateServices(); + Requests[2044].Request.Method = "GET"; + Requests[2044].Request.Path = "/subscriptions/51f3be98-02f1-/resourceGroups/3c96f599-3c16-4c6/providers/Microsoft.Web/hostingEnvironments/c1c31/operations"; + Requests[2045] = new DefaultHttpContext(); + Requests[2045].RequestServices = CreateServices(); + Requests[2045].Request.Method = "POST"; + Requests[2045].Request.Path = "/subscriptions/bb9f0089-a6a3-/resourceGroups/ea8da1b0-f449-40d/providers/Microsoft.Web/hostingEnvironments/f994a/reboot"; + Requests[2046] = new DefaultHttpContext(); + Requests[2046].RequestServices = CreateServices(); + Requests[2046].Request.Method = "POST"; + Requests[2046].Request.Path = "/subscriptions/9a128200-1188-/resourceGroups/d44dbd88-39f3-4d6/providers/Microsoft.Web/hostingEnvironments/1c26a/resume"; + Requests[2047] = new DefaultHttpContext(); + Requests[2047].RequestServices = CreateServices(); + Requests[2047].Request.Method = "GET"; + Requests[2047].Request.Path = "/subscriptions/e1fa0dac-dbc0-/resourceGroups/4b753aec-afe2-484/providers/Microsoft.Web/hostingEnvironments/9e515/serverfarms"; + Requests[2048] = new DefaultHttpContext(); + Requests[2048].RequestServices = CreateServices(); + Requests[2048].Request.Method = "GET"; + Requests[2048].Request.Path = "/subscriptions/3d66a8b3-419f-/resourceGroups/8e35a537-500b-4a4/providers/Microsoft.Web/hostingEnvironments/d216d/sites"; + Requests[2049] = new DefaultHttpContext(); + Requests[2049].RequestServices = CreateServices(); + Requests[2049].Request.Method = "POST"; + Requests[2049].Request.Path = "/subscriptions/98c5d406-a9f1-/resourceGroups/c7f68736-1e48-4b0/providers/Microsoft.Web/hostingEnvironments/694d1/suspend"; + Requests[2050] = new DefaultHttpContext(); + Requests[2050].RequestServices = CreateServices(); + Requests[2050].Request.Method = "POST"; + Requests[2050].Request.Path = "/subscriptions/5a9fac64-4551-/resourceGroups/45311efc-cee8-498/providers/Microsoft.Web/hostingEnvironments/953f9/syncVirtualNetwork"; + Requests[2051] = new DefaultHttpContext(); + Requests[2051].RequestServices = CreateServices(); + Requests[2051].Request.Method = "GET"; + Requests[2051].Request.Path = "/subscriptions/588abac9-0a4e-/resourceGroups/8a748bea-e929-408/providers/Microsoft.Web/hostingEnvironments/8ddf6/usages"; + Requests[2052] = new DefaultHttpContext(); + Requests[2052].RequestServices = CreateServices(); + Requests[2052].Request.Method = "GET"; + Requests[2052].Request.Path = "/subscriptions/1c2bd481-f719-/resourceGroups/86d97dff-c73a-40b/providers/Microsoft.Web/hostingEnvironments/767f3/webhostingplans"; + Requests[2053] = new DefaultHttpContext(); + Requests[2053].RequestServices = CreateServices(); + Requests[2053].Request.Method = "GET"; + Requests[2053].Request.Path = "/subscriptions/d947bd92-ec04-/resourceGroups/6c35f742-5e1c-488/providers/Microsoft.Web/hostingEnvironments/cb5bd/workerPools"; + Requests[2054] = new DefaultHttpContext(); + Requests[2054].RequestServices = CreateServices(); + Requests[2054].Request.Method = "GET"; + Requests[2054].Request.Path = "/subscriptions/a9033262-a12f-/resourceGroups/f017d6b7-4b94-42a/providers/Microsoft.Web/managedHostingEnvironments/94903/serverfarms"; + Requests[2055] = new DefaultHttpContext(); + Requests[2055].RequestServices = CreateServices(); + Requests[2055].Request.Method = "GET"; + Requests[2055].Request.Path = "/subscriptions/d988eeb9-f6ef-/resourceGroups/574ad9bc-9298-486/providers/Microsoft.Web/managedHostingEnvironments/be55d/sites"; + Requests[2056] = new DefaultHttpContext(); + Requests[2056].RequestServices = CreateServices(); + Requests[2056].Request.Method = "GET"; + Requests[2056].Request.Path = "/subscriptions/1b5fb30e-3adc-/resourceGroups/9c8f75aa-1410-499/providers/Microsoft.Web/managedHostingEnvironments/6fb25/webhostingplans"; + Requests[2057] = new DefaultHttpContext(); + Requests[2057].RequestServices = CreateServices(); + Requests[2057].Request.Method = "GET"; + Requests[2057].Request.Path = "/subscriptions/8534725e-442e-/resourceGroups/bb85a645-3748-45b/providers/Microsoft.Web/serverfarms/a8d96/capabilities"; + Requests[2058] = new DefaultHttpContext(); + Requests[2058].RequestServices = CreateServices(); + Requests[2058].Request.Method = "GET"; + Requests[2058].Request.Path = "/subscriptions/ffd769ac-c53f-/resourceGroups/c5c32563-3fea-465/providers/Microsoft.Web/serverfarms/5d6d7/hybridConnectionRelays"; + Requests[2059] = new DefaultHttpContext(); + Requests[2059].RequestServices = CreateServices(); + Requests[2059].Request.Method = "GET"; + Requests[2059].Request.Path = "/subscriptions/ecf46896-495c-/resourceGroups/640bcfeb-76c5-4dd/providers/Microsoft.Web/serverfarms/44fea/metricdefinitions"; + Requests[2060] = new DefaultHttpContext(); + Requests[2060].RequestServices = CreateServices(); + Requests[2060].Request.Method = "GET"; + Requests[2060].Request.Path = "/subscriptions/504999c9-c6a0-/resourceGroups/bf66e2e9-9ceb-478/providers/Microsoft.Web/serverfarms/ab77f/metrics"; + Requests[2061] = new DefaultHttpContext(); + Requests[2061].RequestServices = CreateServices(); + Requests[2061].Request.Method = "POST"; + Requests[2061].Request.Path = "/subscriptions/f7afefbe-482f-/resourceGroups/177d72cf-a9a7-4ca/providers/Microsoft.Web/serverfarms/c0c27/restartSites"; + Requests[2062] = new DefaultHttpContext(); + Requests[2062].RequestServices = CreateServices(); + Requests[2062].Request.Method = "GET"; + Requests[2062].Request.Path = "/subscriptions/ac4f1fb2-8415-/resourceGroups/ea479f77-ff72-4f1/providers/Microsoft.Web/serverfarms/a4edb/sites"; + Requests[2063] = new DefaultHttpContext(); + Requests[2063].RequestServices = CreateServices(); + Requests[2063].Request.Method = "GET"; + Requests[2063].Request.Path = "/subscriptions/e0248f1b-0d25-/resourceGroups/4df76daf-436a-457/providers/Microsoft.Web/serverfarms/b4e81/skus"; + Requests[2064] = new DefaultHttpContext(); + Requests[2064].RequestServices = CreateServices(); + Requests[2064].Request.Method = "GET"; + Requests[2064].Request.Path = "/subscriptions/e0e9d255-9f1b-/resourceGroups/1c2bc62d-97ce-426/providers/Microsoft.Web/serverfarms/72ad0/usages"; + Requests[2065] = new DefaultHttpContext(); + Requests[2065].RequestServices = CreateServices(); + Requests[2065].Request.Method = "GET"; + Requests[2065].Request.Path = "/subscriptions/171e6521-fbcd-/resourceGroups/e8a14600-5948-413/providers/Microsoft.Web/serverfarms/d869c/virtualNetworkConnections"; + Requests[2066] = new DefaultHttpContext(); + Requests[2066].RequestServices = CreateServices(); + Requests[2066].Request.Method = "GET"; + Requests[2066].Request.Path = "/subscriptions/0c49de46-a668-/resourceGroups/72013f5b-f163-411/providers/Microsoft.Web/sites/5fea3/analyzeCustomHostname"; + Requests[2067] = new DefaultHttpContext(); + Requests[2067].RequestServices = CreateServices(); + Requests[2067].Request.Method = "POST"; + Requests[2067].Request.Path = "/subscriptions/111df73f-5a0c-/resourceGroups/37d87706-dc3d-4bb/providers/Microsoft.Web/sites/57ad1/applySlotConfig"; + Requests[2068] = new DefaultHttpContext(); + Requests[2068].RequestServices = CreateServices(); + Requests[2068].Request.Method = "POST"; + Requests[2068].Request.Path = "/subscriptions/9d9305e5-ed11-/resourceGroups/8ae19f9f-6dc8-473/providers/Microsoft.Web/sites/22957/backup"; + Requests[2069] = new DefaultHttpContext(); + Requests[2069].RequestServices = CreateServices(); + Requests[2069].Request.Method = "GET"; + Requests[2069].Request.Path = "/subscriptions/7eb598e0-29d3-/resourceGroups/d6318514-3450-473/providers/Microsoft.Web/sites/9efc1/backups"; + Requests[2070] = new DefaultHttpContext(); + Requests[2070].RequestServices = CreateServices(); + Requests[2070].Request.Method = "GET"; + Requests[2070].Request.Path = "/subscriptions/4a0bdf13-275e-/resourceGroups/ae443de3-3241-460/providers/Microsoft.Web/sites/668bb/config"; + Requests[2071] = new DefaultHttpContext(); + Requests[2071].RequestServices = CreateServices(); + Requests[2071].Request.Method = "POST"; + Requests[2071].Request.Path = "/subscriptions/99511279-de8e-/resourceGroups/7220fd73-81b1-4f1/providers/Microsoft.Web/sites/8a420/containerlogs"; + Requests[2072] = new DefaultHttpContext(); + Requests[2072].RequestServices = CreateServices(); + Requests[2072].Request.Method = "GET"; + Requests[2072].Request.Path = "/subscriptions/cf939c7b-39fb-/resourceGroups/7502f222-661f-4d2/providers/Microsoft.Web/sites/eb888/continuouswebjobs"; + Requests[2073] = new DefaultHttpContext(); + Requests[2073].RequestServices = CreateServices(); + Requests[2073].Request.Method = "GET"; + Requests[2073].Request.Path = "/subscriptions/a3ec9161-3920-/resourceGroups/b2130544-e71d-427/providers/Microsoft.Web/sites/020e7/deployments"; + Requests[2074] = new DefaultHttpContext(); + Requests[2074].RequestServices = CreateServices(); + Requests[2074].Request.Method = "GET"; + Requests[2074].Request.Path = "/subscriptions/44c9156b-bbdd-/resourceGroups/a187ddca-922d-48b/providers/Microsoft.Web/sites/07ab5/domainOwnershipIdentifiers"; + Requests[2075] = new DefaultHttpContext(); + Requests[2075].RequestServices = CreateServices(); + Requests[2075].Request.Method = "GET"; + Requests[2075].Request.Path = "/subscriptions/8207a56a-c3ef-/resourceGroups/4a3aa734-d8c9-467/providers/Microsoft.Web/sites/bb406/functions"; + Requests[2076] = new DefaultHttpContext(); + Requests[2076].RequestServices = CreateServices(); + Requests[2076].Request.Method = "GET"; + Requests[2076].Request.Path = "/subscriptions/bc77ee45-85c0-/resourceGroups/75a9b570-cf85-47d/providers/Microsoft.Web/sites/120c6/hostNameBindings"; + Requests[2077] = new DefaultHttpContext(); + Requests[2077].RequestServices = CreateServices(); + Requests[2077].Request.Method = "GET"; + Requests[2077].Request.Path = "/subscriptions/23f82d5c-d9e9-/resourceGroups/9472e3de-3746-4f5/providers/Microsoft.Web/sites/24909/hybridconnection"; + Requests[2078] = new DefaultHttpContext(); + Requests[2078].RequestServices = CreateServices(); + Requests[2078].Request.Method = "GET"; + Requests[2078].Request.Path = "/subscriptions/207e611d-7d5d-/resourceGroups/19a50cf8-c06b-4d3/providers/Microsoft.Web/sites/38bce/hybridConnectionRelays"; + Requests[2079] = new DefaultHttpContext(); + Requests[2079].RequestServices = CreateServices(); + Requests[2079].Request.Method = "GET"; + Requests[2079].Request.Path = "/subscriptions/a6348637-a6da-/resourceGroups/86f5e1fd-61da-404/providers/Microsoft.Web/sites/99c93/instances"; + Requests[2080] = new DefaultHttpContext(); + Requests[2080].RequestServices = CreateServices(); + Requests[2080].Request.Method = "POST"; + Requests[2080].Request.Path = "/subscriptions/89d4f9a2-f51f-/resourceGroups/a6293ea1-e375-490/providers/Microsoft.Web/sites/925c4/iscloneable"; + Requests[2081] = new DefaultHttpContext(); + Requests[2081].RequestServices = CreateServices(); + Requests[2081].Request.Method = "POST"; + Requests[2081].Request.Path = "/subscriptions/6725bb42-d67a-/resourceGroups/45d93753-c629-4f0/providers/Microsoft.Web/sites/631a0/listsyncfunctiontriggerstatus"; + Requests[2082] = new DefaultHttpContext(); + Requests[2082].RequestServices = CreateServices(); + Requests[2082].Request.Method = "GET"; + Requests[2082].Request.Path = "/subscriptions/d013d1d4-ec8a-/resourceGroups/b7faa72e-a3f5-49f/providers/Microsoft.Web/sites/c3165/metricdefinitions"; + Requests[2083] = new DefaultHttpContext(); + Requests[2083].RequestServices = CreateServices(); + Requests[2083].Request.Method = "GET"; + Requests[2083].Request.Path = "/subscriptions/67335c53-08ba-/resourceGroups/5791acf8-1aff-4cb/providers/Microsoft.Web/sites/6f16a/metrics"; + Requests[2084] = new DefaultHttpContext(); + Requests[2084].RequestServices = CreateServices(); + Requests[2084].Request.Method = "PUT"; + Requests[2084].Request.Path = "/subscriptions/85deab0f-f1cc-/resourceGroups/608c43e3-3076-44a/providers/Microsoft.Web/sites/96695/migrate"; + Requests[2085] = new DefaultHttpContext(); + Requests[2085].RequestServices = CreateServices(); + Requests[2085].Request.Method = "POST"; + Requests[2085].Request.Path = "/subscriptions/d9a673d5-836d-/resourceGroups/35162448-bb73-4c9/providers/Microsoft.Web/sites/f0cdc/migratemysql"; + Requests[2086] = new DefaultHttpContext(); + Requests[2086].RequestServices = CreateServices(); + Requests[2086].Request.Method = "POST"; + Requests[2086].Request.Path = "/subscriptions/86e45c9d-bf7b-/resourceGroups/cf0d1971-6cf3-447/providers/Microsoft.Web/sites/85f40/newpassword"; + Requests[2087] = new DefaultHttpContext(); + Requests[2087].RequestServices = CreateServices(); + Requests[2087].Request.Method = "GET"; + Requests[2087].Request.Path = "/subscriptions/2180f9af-3c5f-/resourceGroups/aa077761-ddc6-46f/providers/Microsoft.Web/sites/275f5/perfcounters"; + Requests[2088] = new DefaultHttpContext(); + Requests[2088].RequestServices = CreateServices(); + Requests[2088].Request.Method = "GET"; + Requests[2088].Request.Path = "/subscriptions/e6253672-59ed-/resourceGroups/fb934ad2-bb52-455/providers/Microsoft.Web/sites/2520a/phplogging"; + Requests[2089] = new DefaultHttpContext(); + Requests[2089].RequestServices = CreateServices(); + Requests[2089].Request.Method = "GET"; + Requests[2089].Request.Path = "/subscriptions/f3439876-afc8-/resourceGroups/c038fa3a-e59a-46c/providers/Microsoft.Web/sites/f1429/premieraddons"; + Requests[2090] = new DefaultHttpContext(); + Requests[2090].RequestServices = CreateServices(); + Requests[2090].Request.Method = "GET"; + Requests[2090].Request.Path = "/subscriptions/3768005e-28b6-/resourceGroups/470af607-6404-466/providers/Microsoft.Web/sites/55b57/processes"; + Requests[2091] = new DefaultHttpContext(); + Requests[2091].RequestServices = CreateServices(); + Requests[2091].Request.Method = "GET"; + Requests[2091].Request.Path = "/subscriptions/aa65d89b-b8b6-/resourceGroups/52241e6b-0402-49d/providers/Microsoft.Web/sites/889f4/publicCertificates"; + Requests[2092] = new DefaultHttpContext(); + Requests[2092].RequestServices = CreateServices(); + Requests[2092].Request.Method = "POST"; + Requests[2092].Request.Path = "/subscriptions/c535d011-d0b2-/resourceGroups/f027386e-8360-457/providers/Microsoft.Web/sites/f923c/publishxml"; + Requests[2093] = new DefaultHttpContext(); + Requests[2093].RequestServices = CreateServices(); + Requests[2093].Request.Method = "POST"; + Requests[2093].Request.Path = "/subscriptions/489e2b63-c6cd-/resourceGroups/85b1242e-a8f0-4ec/providers/Microsoft.Web/sites/c5ff9/recover"; + Requests[2094] = new DefaultHttpContext(); + Requests[2094].RequestServices = CreateServices(); + Requests[2094].Request.Method = "POST"; + Requests[2094].Request.Path = "/subscriptions/df8c14ab-3c2b-/resourceGroups/27e45d97-3d99-402/providers/Microsoft.Web/sites/78b29/resetSlotConfig"; + Requests[2095] = new DefaultHttpContext(); + Requests[2095].RequestServices = CreateServices(); + Requests[2095].Request.Method = "GET"; + Requests[2095].Request.Path = "/subscriptions/2eebf365-c46b-/resourceGroups/e75e454f-04af-4ca/providers/Microsoft.Web/sites/9e540/resourceHealthMetadata"; + Requests[2096] = new DefaultHttpContext(); + Requests[2096].RequestServices = CreateServices(); + Requests[2096].Request.Method = "POST"; + Requests[2096].Request.Path = "/subscriptions/55a9a895-c07b-/resourceGroups/df376796-7ce3-4be/providers/Microsoft.Web/sites/eb417/restart"; + Requests[2097] = new DefaultHttpContext(); + Requests[2097].RequestServices = CreateServices(); + Requests[2097].Request.Method = "POST"; + Requests[2097].Request.Path = "/subscriptions/373f156e-0708-/resourceGroups/2675e96c-ae35-40d/providers/Microsoft.Web/sites/ad3a9/restoreFromBackupBlob"; + Requests[2098] = new DefaultHttpContext(); + Requests[2098].RequestServices = CreateServices(); + Requests[2098].Request.Method = "POST"; + Requests[2098].Request.Path = "/subscriptions/d692c906-5cc1-/resourceGroups/0bc05c24-9834-49b/providers/Microsoft.Web/sites/876d1/restoreFromDeletedApp"; + Requests[2099] = new DefaultHttpContext(); + Requests[2099].RequestServices = CreateServices(); + Requests[2099].Request.Method = "POST"; + Requests[2099].Request.Path = "/subscriptions/14451d8e-f55a-/resourceGroups/e59c69c3-e232-4d8/providers/Microsoft.Web/sites/31975/restoreSnapshot"; + Requests[2100] = new DefaultHttpContext(); + Requests[2100].RequestServices = CreateServices(); + Requests[2100].Request.Method = "GET"; + Requests[2100].Request.Path = "/subscriptions/d324a5ab-3ac3-/resourceGroups/b7f98a8c-cc0e-4f3/providers/Microsoft.Web/sites/f62e2/siteextensions"; + Requests[2101] = new DefaultHttpContext(); + Requests[2101].RequestServices = CreateServices(); + Requests[2101].Request.Method = "GET"; + Requests[2101].Request.Path = "/subscriptions/50efa429-2643-/resourceGroups/c2a81810-8542-4b4/providers/Microsoft.Web/sites/106d3/slots"; + Requests[2102] = new DefaultHttpContext(); + Requests[2102].RequestServices = CreateServices(); + Requests[2102].Request.Method = "POST"; + Requests[2102].Request.Path = "/subscriptions/332c2d99-f26b-/resourceGroups/bd712819-a76e-43b/providers/Microsoft.Web/sites/ebdbb/slotsdiffs"; + Requests[2103] = new DefaultHttpContext(); + Requests[2103].RequestServices = CreateServices(); + Requests[2103].Request.Method = "POST"; + Requests[2103].Request.Path = "/subscriptions/62f71fd6-dbd1-/resourceGroups/c6a46c3b-4679-40e/providers/Microsoft.Web/sites/f60fb/slotsswap"; + Requests[2104] = new DefaultHttpContext(); + Requests[2104].RequestServices = CreateServices(); + Requests[2104].Request.Method = "GET"; + Requests[2104].Request.Path = "/subscriptions/2f364b64-bae3-/resourceGroups/cb1a75de-a512-458/providers/Microsoft.Web/sites/4b456/snapshots"; + Requests[2105] = new DefaultHttpContext(); + Requests[2105].RequestServices = CreateServices(); + Requests[2105].Request.Method = "POST"; + Requests[2105].Request.Path = "/subscriptions/95a34872-54d3-/resourceGroups/cb5cd6c1-684e-472/providers/Microsoft.Web/sites/6419f/start"; + Requests[2106] = new DefaultHttpContext(); + Requests[2106].RequestServices = CreateServices(); + Requests[2106].Request.Method = "POST"; + Requests[2106].Request.Path = "/subscriptions/10ea1c2e-a092-/resourceGroups/6b1eee2f-9529-4e6/providers/Microsoft.Web/sites/ec93c/stop"; + Requests[2107] = new DefaultHttpContext(); + Requests[2107].RequestServices = CreateServices(); + Requests[2107].Request.Method = "POST"; + Requests[2107].Request.Path = "/subscriptions/7d52ef61-769b-/resourceGroups/daa9d773-e679-48b/providers/Microsoft.Web/sites/f486e/sync"; + Requests[2108] = new DefaultHttpContext(); + Requests[2108].RequestServices = CreateServices(); + Requests[2108].Request.Method = "POST"; + Requests[2108].Request.Path = "/subscriptions/9c64fb34-df53-/resourceGroups/3768f8e0-2dd5-41a/providers/Microsoft.Web/sites/26ec6/syncfunctiontriggers"; + Requests[2109] = new DefaultHttpContext(); + Requests[2109].RequestServices = CreateServices(); + Requests[2109].Request.Method = "GET"; + Requests[2109].Request.Path = "/subscriptions/fb82d9c1-8006-/resourceGroups/d14f6dba-4d45-406/providers/Microsoft.Web/sites/ea3e5/triggeredwebjobs"; + Requests[2110] = new DefaultHttpContext(); + Requests[2110].RequestServices = CreateServices(); + Requests[2110].Request.Method = "GET"; + Requests[2110].Request.Path = "/subscriptions/4def67fb-696e-/resourceGroups/dd3763d2-d53f-480/providers/Microsoft.Web/sites/7395b/usages"; + Requests[2111] = new DefaultHttpContext(); + Requests[2111].RequestServices = CreateServices(); + Requests[2111].Request.Method = "GET"; + Requests[2111].Request.Path = "/subscriptions/e3dd01e5-af0d-/resourceGroups/72ba3312-57c4-49b/providers/Microsoft.Web/sites/6b035/virtualNetworkConnections"; + Requests[2112] = new DefaultHttpContext(); + Requests[2112].RequestServices = CreateServices(); + Requests[2112].Request.Method = "GET"; + Requests[2112].Request.Path = "/subscriptions/95b8bcb7-a489-/resourceGroups/0d33710a-e825-4b6/providers/Microsoft.Web/sites/85f5f/webjobs"; + Requests[2113] = new DefaultHttpContext(); + Requests[2113].RequestServices = CreateServices(); + Requests[2113].Request.Method = "GET"; + Requests[2113].Request.Path = "/subscriptions/a3ab67c2-0f0f-/resourceGroups/6577481a-054d-45f/providers/Microsoft.Web/sites/7377e575/detectors"; + Requests[2114] = new DefaultHttpContext(); + Requests[2114].RequestServices = CreateServices(); + Requests[2114].Request.Method = "GET"; + Requests[2114].Request.Path = "/subscriptions/abb65895-5323-/resourceGroups/15dd0f63-5df2-47c/providers/Microsoft.Web/sites/dd8bb1d5/diagnostics"; + Requests[2115] = new DefaultHttpContext(); + Requests[2115].RequestServices = CreateServices(); + Requests[2115].Request.Method = "GET"; + Requests[2115].Request.Path = "/subscriptions/6c34c17c-d2fb-/resourceGroups/473265e5-8b64-40b/providers/Microsoft.Web/sites/0f6b6ab0/recommendationHistory"; + Requests[2116] = new DefaultHttpContext(); + Requests[2116].RequestServices = CreateServices(); + Requests[2116].Request.Method = "GET"; + Requests[2116].Request.Path = "/subscriptions/dc3d7d78-8681-/resourceGroups/60ab8351-d02f-4ba/providers/Microsoft.Web/sites/954e87d4/recommendations"; + Requests[2117] = new DefaultHttpContext(); + Requests[2117].RequestServices = CreateServices(); + Requests[2117].Request.Method = "PUT"; + Requests[2117].Request.Path = "/subscriptions/f4109c83-f7b5-/resourceGroups/55648edc-254a-435/providers/Microsoft.ApiManagement/service/035638a4-08/portalsettings/delegation"; + Requests[2118] = new DefaultHttpContext(); + Requests[2118].RequestServices = CreateServices(); + Requests[2118].Request.Method = "PUT"; + Requests[2118].Request.Path = "/subscriptions/ac24688d-20da-/resourceGroups/1c63031c-7481-480/providers/Microsoft.ApiManagement/service/6a6bb572-3f/portalsettings/signin"; + Requests[2119] = new DefaultHttpContext(); + Requests[2119].RequestServices = CreateServices(); + Requests[2119].Request.Method = "PUT"; + Requests[2119].Request.Path = "/subscriptions/1f968418-401d-/resourceGroups/95d4807e-0970-4ca/providers/Microsoft.ApiManagement/service/b8fd85aa-23/portalsettings/signup"; + Requests[2120] = new DefaultHttpContext(); + Requests[2120].RequestServices = CreateServices(); + Requests[2120].Request.Method = "GET"; + Requests[2120].Request.Path = "/subscriptions/3ef69060-1414-/resourceGroups/2b391c27-ccd4-41c/providers/Microsoft.ApiManagement/service/5b6e721a-ba/reports/byApi"; + Requests[2121] = new DefaultHttpContext(); + Requests[2121].RequestServices = CreateServices(); + Requests[2121].Request.Method = "GET"; + Requests[2121].Request.Path = "/subscriptions/28c81bf7-a999-/resourceGroups/0991d758-8941-422/providers/Microsoft.ApiManagement/service/792f96ce-50/reports/byGeo"; + Requests[2122] = new DefaultHttpContext(); + Requests[2122].RequestServices = CreateServices(); + Requests[2122].Request.Method = "GET"; + Requests[2122].Request.Path = "/subscriptions/aab5d90a-3d2a-/resourceGroups/2216f545-15c8-40d/providers/Microsoft.ApiManagement/service/819e35c1-13/reports/byOperation"; + Requests[2123] = new DefaultHttpContext(); + Requests[2123].RequestServices = CreateServices(); + Requests[2123].Request.Method = "GET"; + Requests[2123].Request.Path = "/subscriptions/5f49c6f8-0560-/resourceGroups/7238683b-3dcb-46f/providers/Microsoft.ApiManagement/service/687e4cf8-ee/reports/byProduct"; + Requests[2124] = new DefaultHttpContext(); + Requests[2124].RequestServices = CreateServices(); + Requests[2124].Request.Method = "GET"; + Requests[2124].Request.Path = "/subscriptions/8e7853d3-7f56-/resourceGroups/ee40f5e5-c672-437/providers/Microsoft.ApiManagement/service/f2107e17-d1/reports/byRequest"; + Requests[2125] = new DefaultHttpContext(); + Requests[2125].RequestServices = CreateServices(); + Requests[2125].Request.Method = "GET"; + Requests[2125].Request.Path = "/subscriptions/4839125f-751a-/resourceGroups/d4ff5a2d-671a-4e8/providers/Microsoft.ApiManagement/service/42b2cf05-ce/reports/bySubscription"; + Requests[2126] = new DefaultHttpContext(); + Requests[2126].RequestServices = CreateServices(); + Requests[2126].Request.Method = "GET"; + Requests[2126].Request.Path = "/subscriptions/3084203f-3db3-/resourceGroups/367000b7-7948-4f2/providers/Microsoft.ApiManagement/service/3882ac37-38/reports/byTime"; + Requests[2127] = new DefaultHttpContext(); + Requests[2127].RequestServices = CreateServices(); + Requests[2127].Request.Method = "GET"; + Requests[2127].Request.Path = "/subscriptions/76bd79d3-8221-/resourceGroups/f54726c9-6541-456/providers/Microsoft.ApiManagement/service/9727a8e3-4f/reports/byUser"; + Requests[2128] = new DefaultHttpContext(); + Requests[2128].RequestServices = CreateServices(); + Requests[2128].Request.Method = "PATCH"; + Requests[2128].Request.Path = "/subscriptions/6abaddd4-a373-/resourceGroups/b2d1b5d5-bd37-4e2/providers/Microsoft.ApiManagement/service/0236f296-f7/tenant/access"; + Requests[2129] = new DefaultHttpContext(); + Requests[2129].RequestServices = CreateServices(); + Requests[2129].Request.Method = "DELETE"; + Requests[2129].Request.Path = "/subscriptions/2569936d-e5c5-/resourceGroups/05b17ff6-76f0-461/providers/Microsoft.ApiManagement/service/0bab606e-2d/tenant/policy"; + Requests[2130] = new DefaultHttpContext(); + Requests[2130].RequestServices = CreateServices(); + Requests[2130].Request.Method = "POST"; + Requests[2130].Request.Path = "/subscriptions/506e86b4-d3c6-/resourceGroups/4893545e-6d53-47b/providers/Microsoft.Automation/automationAccounts/58e393ee-c3ab-4001-95/agentRegistrationInformation/regenerateKey"; + Requests[2131] = new DefaultHttpContext(); + Requests[2131].RequestServices = CreateServices(); + Requests[2131].Request.Method = "POST"; + Requests[2131].Request.Path = "/subscriptions/1b8e65e6-5506-/resourceGroups/e7b3340d-4cd6-40e/providers/Microsoft.Automation/automationAccounts/362f933b-cf8d-4483-bb/webhooks/generateUri"; + Requests[2132] = new DefaultHttpContext(); + Requests[2132].RequestServices = CreateServices(); + Requests[2132].Request.Method = "GET"; + Requests[2132].Request.Path = "/subscriptions/ce86d20b-933a-/resourceGroups/3b2cfd91-83cc-477/providers/Microsoft.Cache/Redis/52a2b/patchSchedules/default"; + Requests[2133] = new DefaultHttpContext(); + Requests[2133].RequestServices = CreateServices(); + Requests[2133].Request.Method = "POST"; + Requests[2133].Request.Path = "/subscriptions/13c28530-ef73-/resourceGroups/b4a02115-43ad-4ac/providers/Microsoft.Compute/virtualMachineScaleSets/18947782-df97-/rollingUpgrades/cancel"; + Requests[2134] = new DefaultHttpContext(); + Requests[2134].RequestServices = CreateServices(); + Requests[2134].Request.Method = "GET"; + Requests[2134].Request.Path = "/subscriptions/3ff10ee5-e6fc-/resourceGroups/d95d8025-ee8d-4da/providers/Microsoft.Compute/virtualMachineScaleSets/95d69f98-b848-/rollingUpgrades/latest"; + Requests[2135] = new DefaultHttpContext(); + Requests[2135].RequestServices = CreateServices(); + Requests[2135].Request.Method = "GET"; + Requests[2135].Request.Path = "/subscriptions/a8c66ff9-fd87-/resourceGroups/a4e89dd8-214d-45c/providers/Microsoft.ContainerService/managedClusters/f846c03e-c98/upgradeProfiles/default"; + Requests[2136] = new DefaultHttpContext(); + Requests[2136].RequestServices = CreateServices(); + Requests[2136].Request.Method = "POST"; + Requests[2136].Request.Path = "/subscriptions/f7b9c5bb-237a-/resourceGroups/335238a2-536e-454/providers/Microsoft.CustomerInsights/hubs/9a5e6fa/images/getDataImageUploadUrl"; + Requests[2137] = new DefaultHttpContext(); + Requests[2137].RequestServices = CreateServices(); + Requests[2137].Request.Method = "POST"; + Requests[2137].Request.Path = "/subscriptions/9a155f88-b364-/resourceGroups/75143391-a127-4d6/providers/Microsoft.CustomerInsights/hubs/a4648db/images/getEntityTypeImageUploadUrl"; + Requests[2138] = new DefaultHttpContext(); + Requests[2138].RequestServices = CreateServices(); + Requests[2138].Request.Method = "GET"; + Requests[2138].Request.Path = "/subscriptions/436bef24-ea66-/resourceGroups/a8df8f08-0c6c-4ac/providers/Microsoft.DocumentDB/databaseAccounts/c94c9e7a-bb/percentile/metrics"; + Requests[2139] = new DefaultHttpContext(); + Requests[2139].RequestServices = CreateServices(); + Requests[2139].Request.Method = "GET"; + Requests[2139].Request.Path = "/subscriptions/2a8089ca-06a4-/resourceGroups/7e5973aa-0f85-4a5/providers/Microsoft.EventHub/clusters/b7fedc2a-bb/quotaConfiguration/default"; + Requests[2140] = new DefaultHttpContext(); + Requests[2140].RequestServices = CreateServices(); + Requests[2140].Request.Method = "POST"; + Requests[2140].Request.Path = "/subscriptions/0f481eef-16cb-/resourceGroups/a1dd13b1-dd0d-436/providers/Microsoft.EventHub/namespaces/21e1b18d-5ac4/disasterRecoveryConfigs/CheckNameAvailability"; + Requests[2141] = new DefaultHttpContext(); + Requests[2141].RequestServices = CreateServices(); + Requests[2141].Request.Method = "DELETE"; + Requests[2141].Request.Path = "/subscriptions/c3c24c72-9feb-/resourceGroups/badf33fc-cdcf-481/providers/Microsoft.HDInsight/clusters/11bd3ae4-f5/extensions/clustermonitoring"; + Requests[2142] = new DefaultHttpContext(); + Requests[2142].RequestServices = CreateServices(); + Requests[2142].Request.Method = "PATCH"; + Requests[2142].Request.Path = "/subscriptions/387a9fdf-22d1-/resourceGroups/a8eb2ab7-0a30-499/providers/microsoft.insights/components/3ceafe0d-558/pricingPlans/current"; + Requests[2143] = new DefaultHttpContext(); + Requests[2143].RequestServices = CreateServices(); + Requests[2143].Request.Method = "POST"; + Requests[2143].Request.Path = "/subscriptions/d558b3aa-9a57-/resourceGroups/e2540f7c-eb42-4d6/providers/Microsoft.Network/connections/fa05c5f2-6fce-47e5-bc7d-652447b1ebc/sharedkey/reset"; + Requests[2144] = new DefaultHttpContext(); + Requests[2144].RequestServices = CreateServices(); + Requests[2144].Request.Method = "POST"; + Requests[2144].Request.Path = "/Subscriptions/558e4a62-214c-/resourceGroups/11e32291-cae6-45d/providers/Microsoft.RecoveryServices/vaults/88121126-a11/replicationJobs/export"; + Requests[2145] = new DefaultHttpContext(); + Requests[2145].RequestServices = CreateServices(); + Requests[2145].Request.Method = "PATCH"; + Requests[2145].Request.Path = "/Subscriptions/ba0f56e9-7882-/resourceGroups/fe5889f5-b083-448/providers/Microsoft.RecoveryServices/vaults/8b7e8f70-/backupconfig/vaultconfig"; + Requests[2146] = new DefaultHttpContext(); + Requests[2146].RequestServices = CreateServices(); + Requests[2146].Request.Method = "PATCH"; + Requests[2146].Request.Path = "/Subscriptions/68e85649-4b10-/resourceGroups/f4ce0552-54fc-40e/providers/Microsoft.RecoveryServices/vaults/33490016-/backupstorageconfig/vaultstorageconfig"; + Requests[2147] = new DefaultHttpContext(); + Requests[2147].RequestServices = CreateServices(); + Requests[2147].Request.Method = "PATCH"; + Requests[2147].Request.Path = "/subscriptions/72ba0277-1be8-/resourceGroups/df89eb81-2964-463/providers/Microsoft.RecoveryServices/vaults/195ca639-/extendedInformation/vaultExtendedInfo"; + Requests[2148] = new DefaultHttpContext(); + Requests[2148].RequestServices = CreateServices(); + Requests[2148].Request.Method = "POST"; + Requests[2148].Request.Path = "/subscriptions/648ca8ec-4b62-/resourceGroups/051a0645-285e-4f7/providers/Microsoft.ServiceBus/namespaces/3f0eba6c-f527/disasterRecoveryConfigs/CheckNameAvailability"; + Requests[2149] = new DefaultHttpContext(); + Requests[2149].RequestServices = CreateServices(); + Requests[2149].Request.Method = "PATCH"; + Requests[2149].Request.Path = "/subscriptions/9a4976f1-131c-/resourceGroups/91160154-58bf-45d/providers/Microsoft.Sql/servers/489096f6-d/automaticTuning/current"; + Requests[2150] = new DefaultHttpContext(); + Requests[2150].RequestServices = CreateServices(); + Requests[2150].Request.Method = "GET"; + Requests[2150].Request.Path = "/subscriptions/db7fa657-1f38-/resourceGroups/a9241ca2-c91f-46b/providers/Microsoft.StorSimple/managers/d2eb8531-db/encryptionSettings/default"; + Requests[2151] = new DefaultHttpContext(); + Requests[2151].RequestServices = CreateServices(); + Requests[2151].Request.Method = "PATCH"; + Requests[2151].Request.Path = "/subscriptions/12480295-e686-/resourceGroups/089ba1a5-c9b2-469/providers/Microsoft.StorSimple/managers/ad7167d2-88/extendedInformation/vaultExtendedInfo"; + Requests[2152] = new DefaultHttpContext(); + Requests[2152].RequestServices = CreateServices(); + Requests[2152].Request.Method = "GET"; + Requests[2152].Request.Path = "/subscriptions/7dcfd231-a157-/resourceGroups/d281a555-64d0-48b/providers/Microsoft.Web/hostingEnvironments/7acb2/capacities/compute"; + Requests[2153] = new DefaultHttpContext(); + Requests[2153].RequestServices = CreateServices(); + Requests[2153].Request.Method = "GET"; + Requests[2153].Request.Path = "/subscriptions/2388b588-fbe7-/resourceGroups/ebcaf64e-77f1-4a2/providers/Microsoft.Web/hostingEnvironments/ac3dd/capacities/virtualip"; + Requests[2154] = new DefaultHttpContext(); + Requests[2154].RequestServices = CreateServices(); + Requests[2154].Request.Method = "PATCH"; + Requests[2154].Request.Path = "/subscriptions/73efed12-3998-/resourceGroups/4b303e35-788f-470/providers/Microsoft.Web/hostingEnvironments/98efb/multiRolePools/default"; + Requests[2155] = new DefaultHttpContext(); + Requests[2155].RequestServices = CreateServices(); + Requests[2155].Request.Method = "GET"; + Requests[2155].Request.Path = "/subscriptions/ed790f3b-db36-/resourceGroups/de0653e1-e7a0-4d9/providers/Microsoft.Web/managedHostingEnvironments/684fa/capacities/virtualip"; + Requests[2156] = new DefaultHttpContext(); + Requests[2156].RequestServices = CreateServices(); + Requests[2156].Request.Method = "GET"; + Requests[2156].Request.Path = "/subscriptions/6e541207-1bef-/resourceGroups/07fd559c-4c33-452/providers/Microsoft.Web/serverfarms/5a87a/hybridConnectionPlanLimits/limit"; + Requests[2157] = new DefaultHttpContext(); + Requests[2157].RequestServices = CreateServices(); + Requests[2157].Request.Method = "PUT"; + Requests[2157].Request.Path = "/subscriptions/3fe834fc-b8dc-/resourceGroups/610e7863-9420-451/providers/Microsoft.Web/sites/47187/backups/discover"; + Requests[2158] = new DefaultHttpContext(); + Requests[2158].RequestServices = CreateServices(); + Requests[2158].Request.Method = "PUT"; + Requests[2158].Request.Path = "/subscriptions/0b26f61f-8613-/resourceGroups/24854d9e-3ecc-4b7/providers/Microsoft.Web/sites/147b7/config/appsettings"; + Requests[2159] = new DefaultHttpContext(); + Requests[2159].RequestServices = CreateServices(); + Requests[2159].Request.Method = "PUT"; + Requests[2159].Request.Path = "/subscriptions/0202a7a2-4a5a-/resourceGroups/adfb399c-ab54-4ef/providers/Microsoft.Web/sites/2ba0e/config/authsettings"; + Requests[2160] = new DefaultHttpContext(); + Requests[2160].RequestServices = CreateServices(); + Requests[2160].Request.Method = "DELETE"; + Requests[2160].Request.Path = "/subscriptions/8b4468b1-b008-/resourceGroups/8857ac5a-3eb4-496/providers/Microsoft.Web/sites/636b0/config/backup"; + Requests[2161] = new DefaultHttpContext(); + Requests[2161].RequestServices = CreateServices(); + Requests[2161].Request.Method = "PUT"; + Requests[2161].Request.Path = "/subscriptions/61c0b0fc-33f2-/resourceGroups/7d750f0f-2555-494/providers/Microsoft.Web/sites/effc6/config/connectionstrings"; + Requests[2162] = new DefaultHttpContext(); + Requests[2162].RequestServices = CreateServices(); + Requests[2162].Request.Method = "PUT"; + Requests[2162].Request.Path = "/subscriptions/546ac75f-a1e6-/resourceGroups/c3bdac44-e2f9-4b5/providers/Microsoft.Web/sites/edf85/config/logs"; + Requests[2163] = new DefaultHttpContext(); + Requests[2163].RequestServices = CreateServices(); + Requests[2163].Request.Method = "PUT"; + Requests[2163].Request.Path = "/subscriptions/d9fd5d4f-1057-/resourceGroups/132f32b7-fb3c-428/providers/Microsoft.Web/sites/7a2fb/config/metadata"; + Requests[2164] = new DefaultHttpContext(); + Requests[2164].RequestServices = CreateServices(); + Requests[2164].Request.Method = "PUT"; + Requests[2164].Request.Path = "/subscriptions/2f2e123f-287d-/resourceGroups/d30ff09b-f740-460/providers/Microsoft.Web/sites/df2f0/config/pushsettings"; + Requests[2165] = new DefaultHttpContext(); + Requests[2165].RequestServices = CreateServices(); + Requests[2165].Request.Method = "PUT"; + Requests[2165].Request.Path = "/subscriptions/e19ec785-0452-/resourceGroups/a055ba94-77bf-4a4/providers/Microsoft.Web/sites/60a7a/config/slotConfigNames"; + Requests[2166] = new DefaultHttpContext(); + Requests[2166].RequestServices = CreateServices(); + Requests[2166].Request.Method = "PATCH"; + Requests[2166].Request.Path = "/subscriptions/a07b176e-42a6-/resourceGroups/005fb80e-4998-45e/providers/Microsoft.Web/sites/4ff93/config/web"; + Requests[2167] = new DefaultHttpContext(); + Requests[2167].RequestServices = CreateServices(); + Requests[2167].Request.Method = "PUT"; + Requests[2167].Request.Path = "/subscriptions/e07ccb82-40ac-/resourceGroups/829c910b-1a93-4b0/providers/Microsoft.Web/sites/6f8dd/extensions/MSDeploy"; + Requests[2168] = new DefaultHttpContext(); + Requests[2168].RequestServices = CreateServices(); + Requests[2168].Request.Method = "GET"; + Requests[2168].Request.Path = "/subscriptions/220bbe91-a678-/resourceGroups/2c299444-d419-49c/providers/Microsoft.Web/sites/618eb/migratemysql/status"; + Requests[2169] = new DefaultHttpContext(); + Requests[2169].RequestServices = CreateServices(); + Requests[2169].Request.Method = "POST"; + Requests[2169].Request.Path = "/subscriptions/e759b6ca-a265-/resourceGroups/fb6b071a-e5aa-4b3/providers/Microsoft.Web/sites/a50ab/networkTrace/start"; + Requests[2170] = new DefaultHttpContext(); + Requests[2170].RequestServices = CreateServices(); + Requests[2170].Request.Method = "POST"; + Requests[2170].Request.Path = "/subscriptions/d331b77e-53df-/resourceGroups/70500736-2e41-458/providers/Microsoft.Web/sites/85c70/networkTrace/stop"; + Requests[2171] = new DefaultHttpContext(); + Requests[2171].RequestServices = CreateServices(); + Requests[2171].Request.Method = "PUT"; + Requests[2171].Request.Path = "/subscriptions/9c3488aa-92b7-/resourceGroups/4c561fd5-f212-434/providers/Microsoft.Web/sites/1a17d/privateAccess/virtualNetworks"; + Requests[2172] = new DefaultHttpContext(); + Requests[2172].RequestServices = CreateServices(); + Requests[2172].Request.Method = "GET"; + Requests[2172].Request.Path = "/subscriptions/47daba3c-499a-/resourceGroups/c791ea15-8ce2-46e/providers/Microsoft.Web/sites/2ee44/resourceHealthMetadata/default"; + Requests[2173] = new DefaultHttpContext(); + Requests[2173].RequestServices = CreateServices(); + Requests[2173].Request.Method = "PATCH"; + Requests[2173].Request.Path = "/subscriptions/b4d547fd-95e4-/resourceGroups/ba212cdd-7cef-4ed/providers/Microsoft.Web/sites/d61d8/sourcecontrols/web"; + Requests[2174] = new DefaultHttpContext(); + Requests[2174].RequestServices = CreateServices(); + Requests[2174].Request.Method = "POST"; + Requests[2174].Request.Path = "/subscriptions/fb7f48f7-77e8-/resourceGroups/3e1ff61a-9cc3-42b/providers/Microsoft.Web/sites/d9d155ef/recommendations/disable"; + Requests[2175] = new DefaultHttpContext(); + Requests[2175].RequestServices = CreateServices(); + Requests[2175].Request.Method = "POST"; + Requests[2175].Request.Path = "/subscriptions/c5ae4649-f49e-/resourceGroups/50b766fa-19b1-4f8/providers/Microsoft.Web/sites/c709a80f/recommendations/reset"; + Requests[2176] = new DefaultHttpContext(); + Requests[2176].RequestServices = CreateServices(); + Requests[2176].Request.Method = "GET"; + Requests[2176].Request.Path = "/subscriptions/2a57afba-4eeb-/resourceGroups/52d682ac-4e3d-475/providers/Microsoft.ApiManagement/service/3f51e40a-3d/tenant/access/git"; + Requests[2177] = new DefaultHttpContext(); + Requests[2177].RequestServices = CreateServices(); + Requests[2177].Request.Method = "POST"; + Requests[2177].Request.Path = "/subscriptions/7d8e99ed-1476-/resourceGroups/321dded1-d0eb-42b/providers/Microsoft.ApiManagement/service/755a83aa-d4/tenant/access/regeneratePrimaryKey"; + Requests[2178] = new DefaultHttpContext(); + Requests[2178].RequestServices = CreateServices(); + Requests[2178].Request.Method = "POST"; + Requests[2178].Request.Path = "/subscriptions/5767696f-fabc-/resourceGroups/98f811b1-c34b-491/providers/Microsoft.ApiManagement/service/aa7577cb-25/tenant/access/regenerateSecondaryKey"; + Requests[2179] = new DefaultHttpContext(); + Requests[2179].RequestServices = CreateServices(); + Requests[2179].Request.Method = "POST"; + Requests[2179].Request.Path = "/subscriptions/23ed24ec-fea4-/resourceGroups/7eebbdcb-9778-401/providers/Microsoft.ApiManagement/service/e262fce6-1c/tenant/configuration/deploy"; + Requests[2180] = new DefaultHttpContext(); + Requests[2180].RequestServices = CreateServices(); + Requests[2180].Request.Method = "POST"; + Requests[2180].Request.Path = "/subscriptions/6cd235a8-38b5-/resourceGroups/1f8c7a63-ef10-462/providers/Microsoft.ApiManagement/service/e2b9cb61-19/tenant/configuration/save"; + Requests[2181] = new DefaultHttpContext(); + Requests[2181].RequestServices = CreateServices(); + Requests[2181].Request.Method = "GET"; + Requests[2181].Request.Path = "/subscriptions/642b7686-ee9e-/resourceGroups/6167cc59-dafa-4d4/providers/Microsoft.ApiManagement/service/630f815f-55/tenant/configuration/syncState"; + Requests[2182] = new DefaultHttpContext(); + Requests[2182].RequestServices = CreateServices(); + Requests[2182].Request.Method = "POST"; + Requests[2182].Request.Path = "/subscriptions/2f4ac671-c221-/resourceGroups/0b0a7d2f-bfe2-4bc/providers/Microsoft.ApiManagement/service/026eb4ab-b0/tenant/configuration/validate"; + Requests[2183] = new DefaultHttpContext(); + Requests[2183].RequestServices = CreateServices(); + Requests[2183].Request.Method = "POST"; + Requests[2183].Request.Path = "/subscriptions/19c026d8-3fb8-/resourceGroups/f6bd7802-752c-48d/providers/Microsoft.Devices/IotHubs/7d86ad24-f/routing/routes/$testall"; + Requests[2184] = new DefaultHttpContext(); + Requests[2184].RequestServices = CreateServices(); + Requests[2184].Request.Method = "POST"; + Requests[2184].Request.Path = "/subscriptions/27554727-5556-/resourceGroups/736f82f3-2d4a-4f2/providers/Microsoft.Devices/IotHubs/ad4ce50c-4/routing/routes/$testnew"; + Requests[2185] = new DefaultHttpContext(); + Requests[2185].RequestServices = CreateServices(); + Requests[2185].Request.Method = "POST"; + Requests[2185].Request.Path = "/subscriptions/f8a5e7a2-564f-/resourceGroups/30ff7da3-3f8d-438/providers/Microsoft.OperationalInsights/workspaces/32b759d1-fcb7/features/serviceMap/generateMap"; + Requests[2186] = new DefaultHttpContext(); + Requests[2186].RequestServices = CreateServices(); + Requests[2186].Request.Method = "POST"; + Requests[2186].Request.Path = "/subscriptions/03bf007a-c24c-/resourceGroups/b096e575-3469-447/providers/Microsoft.OperationalInsights/workspaces/6e4eaeda-7f2f/features/serviceMap/machineGroups"; + Requests[2187] = new DefaultHttpContext(); + Requests[2187].RequestServices = CreateServices(); + Requests[2187].Request.Method = "GET"; + Requests[2187].Request.Path = "/subscriptions/78da60d6-ba4f-/resourceGroups/826adf51-da59-4a1/providers/Microsoft.OperationalInsights/workspaces/d72f8133-e240/features/serviceMap/machines"; + Requests[2188] = new DefaultHttpContext(); + Requests[2188].RequestServices = CreateServices(); + Requests[2188].Request.Method = "POST"; + Requests[2188].Request.Path = "/Subscriptions/a20db1d2-ac2d-/resourceGroups/814cff4a-a7b7-41e/providers/Microsoft.RecoveryServices/vaults/714c63ea-7f7/replicationVaultHealth/default/refresh"; + Requests[2189] = new DefaultHttpContext(); + Requests[2189].RequestServices = CreateServices(); + Requests[2189].Request.Method = "GET"; + Requests[2189].Request.Path = "/subscriptions/ff8850c8-ffd9-/resourceGroups/60cbd492-74a5-4e1/providers/Microsoft.Storage/storageAccounts/dc83cd81-d0/blobServices/default/containers"; + Requests[2190] = new DefaultHttpContext(); + Requests[2190].RequestServices = CreateServices(); + Requests[2190].Request.Method = "GET"; + Requests[2190].Request.Path = "/subscriptions/27ab6350-b86e-/resourceGroups/1a30327d-44cf-48a/providers/Microsoft.Web/hostingEnvironments/434b5/multiRolePools/default/metricdefinitions"; + Requests[2191] = new DefaultHttpContext(); + Requests[2191].RequestServices = CreateServices(); + Requests[2191].Request.Method = "GET"; + Requests[2191].Request.Path = "/subscriptions/01cd854a-a174-/resourceGroups/e4ed130f-9d5c-448/providers/Microsoft.Web/hostingEnvironments/fd820/multiRolePools/default/metrics"; + Requests[2192] = new DefaultHttpContext(); + Requests[2192].RequestServices = CreateServices(); + Requests[2192].Request.Method = "GET"; + Requests[2192].Request.Path = "/subscriptions/db032805-3477-/resourceGroups/bd8b925b-ec47-487/providers/Microsoft.Web/hostingEnvironments/c1d04/multiRolePools/default/skus"; + Requests[2193] = new DefaultHttpContext(); + Requests[2193].RequestServices = CreateServices(); + Requests[2193].Request.Method = "GET"; + Requests[2193].Request.Path = "/subscriptions/c9ca54ad-5c43-/resourceGroups/7707413f-4a00-497/providers/Microsoft.Web/hostingEnvironments/bd34a/multiRolePools/default/usages"; + Requests[2194] = new DefaultHttpContext(); + Requests[2194].RequestServices = CreateServices(); + Requests[2194].Request.Method = "POST"; + Requests[2194].Request.Path = "/subscriptions/ffbbafb9-82bb-/resourceGroups/9156c30f-0dcc-437/providers/Microsoft.Web/sites/2d86f/config/appsettings/list"; + Requests[2195] = new DefaultHttpContext(); + Requests[2195].RequestServices = CreateServices(); + Requests[2195].Request.Method = "POST"; + Requests[2195].Request.Path = "/subscriptions/c5e65aa7-7941-/resourceGroups/767b7913-9e15-45e/providers/Microsoft.Web/sites/8cd95/config/authsettings/list"; + Requests[2196] = new DefaultHttpContext(); + Requests[2196].RequestServices = CreateServices(); + Requests[2196].Request.Method = "POST"; + Requests[2196].Request.Path = "/subscriptions/c3aff4c8-89c6-/resourceGroups/c5d82629-0b85-49e/providers/Microsoft.Web/sites/d5bd4/config/backup/list"; + Requests[2197] = new DefaultHttpContext(); + Requests[2197].RequestServices = CreateServices(); + Requests[2197].Request.Method = "POST"; + Requests[2197].Request.Path = "/subscriptions/ff91f1e4-4025-/resourceGroups/a335ae85-d835-4f6/providers/Microsoft.Web/sites/fd43e/config/connectionstrings/list"; + Requests[2198] = new DefaultHttpContext(); + Requests[2198].RequestServices = CreateServices(); + Requests[2198].Request.Method = "POST"; + Requests[2198].Request.Path = "/subscriptions/34f7932a-858b-/resourceGroups/27fefd82-e2ab-412/providers/Microsoft.Web/sites/f19b8/config/metadata/list"; + Requests[2199] = new DefaultHttpContext(); + Requests[2199].RequestServices = CreateServices(); + Requests[2199].Request.Method = "POST"; + Requests[2199].Request.Path = "/subscriptions/2fdeeb76-2ba1-/resourceGroups/e47ed9c1-df96-4b1/providers/Microsoft.Web/sites/44bcd/config/publishingcredentials/list"; + Requests[2200] = new DefaultHttpContext(); + Requests[2200].RequestServices = CreateServices(); + Requests[2200].Request.Method = "POST"; + Requests[2200].Request.Path = "/subscriptions/6f706c5c-b29e-/resourceGroups/a6e67c64-02d7-4f2/providers/Microsoft.Web/sites/f96cb/config/pushsettings/list"; + Requests[2201] = new DefaultHttpContext(); + Requests[2201].RequestServices = CreateServices(); + Requests[2201].Request.Method = "GET"; + Requests[2201].Request.Path = "/subscriptions/7a75a34f-e2fd-/resourceGroups/8c5bc65c-f24d-4e6/providers/Microsoft.Web/sites/51513/config/web/snapshots"; + Requests[2202] = new DefaultHttpContext(); + Requests[2202].RequestServices = CreateServices(); + Requests[2202].Request.Method = "POST"; + Requests[2202].Request.Path = "/subscriptions/42259e17-aa1c-/resourceGroups/74c445dc-f9e2-4ee/providers/Microsoft.Web/sites/04d64/containerlogs/zip/download"; + Requests[2203] = new DefaultHttpContext(); + Requests[2203].RequestServices = CreateServices(); + Requests[2203].Request.Method = "GET"; + Requests[2203].Request.Path = "/subscriptions/b710cd00-4782-/resourceGroups/1ae8d582-ebf7-4c4/providers/Microsoft.Web/sites/21051/extensions/MSDeploy/log"; + Requests[2204] = new DefaultHttpContext(); + Requests[2204].RequestServices = CreateServices(); + Requests[2204].Request.Method = "GET"; + Requests[2204].Request.Path = "/subscriptions/77f89e63-ac35-/resourceGroups/c8079511-9629-441/providers/Microsoft.Web/sites/2c534/functions/admin/token"; + Requests[2205] = new DefaultHttpContext(); + Requests[2205].RequestServices = CreateServices(); + Requests[2205].Request.Method = "POST"; + Requests[2205].Request.Path = "/subscriptions/49200238-ef1e-/resourceGroups/6bc16636-362c-458/providers/Microsoft.ApiManagement/service/00ce2bb8-6b/tenant/access/git/regeneratePrimaryKey"; + Requests[2206] = new DefaultHttpContext(); + Requests[2206].RequestServices = CreateServices(); + Requests[2206].Request.Method = "POST"; + Requests[2206].Request.Path = "/subscriptions/73af1d28-c405-/resourceGroups/8c980a4b-6a60-4cd/providers/Microsoft.ApiManagement/service/8eec06b0-86/tenant/access/git/regenerateSecondaryKey"; + Requests[2207] = new DefaultHttpContext(); + Requests[2207].RequestServices = CreateServices(); + Requests[2207].Request.Method = "GET"; + Requests[2207].Request.Path = "/subscriptions/35686525-4022-/resourceGroups/8044ba6f-eaf4-44c/providers/Microsoft.OperationalInsights/workspaces/d763e6ba-96cb/features/serviceMap/summaries/machines"; + Requests[2208] = new DefaultHttpContext(); + Requests[2208].RequestServices = CreateServices(); + Requests[2208].Request.Method = "GET"; + Requests[2208].Request.Path = "/subscriptions/fa1b5253-4dd5-/resourceGroups/b867371f-890b-430/providers/Microsoft.OperationalInsights/workspaces/8d8fb075-9262/features/serviceMap/clientGroups/26137626-3811-4"; + Requests[2209] = new DefaultHttpContext(); + Requests[2209].RequestServices = CreateServices(); + Requests[2209].Request.Method = "DELETE"; + Requests[2209].Request.Path = "/subscriptions/b63f24dd-9f3a-/resourceGroups/6129f0a0-695e-4bf/providers/Microsoft.OperationalInsights/workspaces/32c631e4-3635/features/serviceMap/machineGroups/fe1ec22c-3afd-42"; + Requests[2210] = new DefaultHttpContext(); + Requests[2210].RequestServices = CreateServices(); + Requests[2210].Request.Method = "GET"; + Requests[2210].Request.Path = "/subscriptions/ac55db6c-2390-/resourceGroups/a3c16b9c-4d3a-404/providers/Microsoft.OperationalInsights/workspaces/72e939af-80a5/features/serviceMap/machines/5c7909aa-93"; + Requests[2211] = new DefaultHttpContext(); + Requests[2211].RequestServices = CreateServices(); + Requests[2211].Request.Method = "DELETE"; + Requests[2211].Request.Path = "/subscriptions/9911e313-bc9c-/resourceGroups/a48b83d5-d45a-46f/providers/Microsoft.Storage/storageAccounts/4a6248f1-c4/blobServices/default/containers/17327fc3-0954"; + Requests[2212] = new DefaultHttpContext(); + Requests[2212].RequestServices = CreateServices(); + Requests[2212].Request.Method = "GET"; + Requests[2212].Request.Path = "/subscriptions/9ec7ab0b-8bf3-/resourceGroups/e1fc0845-8c5b-401/providers/Microsoft.Web/sites/030d2/config/web/snapshots/06ba1f9d-d"; + Requests[2213] = new DefaultHttpContext(); + Requests[2213].RequestServices = CreateServices(); + Requests[2213].Request.Method = "GET"; + Requests[2213].Request.Path = "/subscriptions/ae1964b4-1e1d-/resourceGroups/819c3cbb-ca40-4cb/providers/Microsoft.OperationalInsights/workspaces/b9b9b859-1d08/features/serviceMap/clientGroups/f24c8a85-cf3b-4/members"; + Requests[2214] = new DefaultHttpContext(); + Requests[2214].RequestServices = CreateServices(); + Requests[2214].Request.Method = "GET"; + Requests[2214].Request.Path = "/subscriptions/b6f9eb3e-82c7-/resourceGroups/5e461004-a6d3-449/providers/Microsoft.OperationalInsights/workspaces/0ea349ab-e8bf/features/serviceMap/clientGroups/11cecb6f-fab5-4/membersCount"; + Requests[2215] = new DefaultHttpContext(); + Requests[2215].RequestServices = CreateServices(); + Requests[2215].Request.Method = "GET"; + Requests[2215].Request.Path = "/subscriptions/57b27411-3eaa-/resourceGroups/2684932d-01f9-41f/providers/Microsoft.OperationalInsights/workspaces/9b237290-7475/features/serviceMap/machines/270342b5-41/connections"; + Requests[2216] = new DefaultHttpContext(); + Requests[2216].RequestServices = CreateServices(); + Requests[2216].Request.Method = "GET"; + Requests[2216].Request.Path = "/subscriptions/2fac163a-29fe-/resourceGroups/7a056ea0-e5d0-49b/providers/Microsoft.OperationalInsights/workspaces/cafa1ba6-32cd/features/serviceMap/machines/8b45d0bc-a7/liveness"; + Requests[2217] = new DefaultHttpContext(); + Requests[2217].RequestServices = CreateServices(); + Requests[2217].Request.Method = "GET"; + Requests[2217].Request.Path = "/subscriptions/21e015fa-3735-/resourceGroups/a31a5d51-c05d-455/providers/Microsoft.OperationalInsights/workspaces/ef123449-3089/features/serviceMap/machines/8c32160d-df/machineGroups"; + Requests[2218] = new DefaultHttpContext(); + Requests[2218].RequestServices = CreateServices(); + Requests[2218].Request.Method = "GET"; + Requests[2218].Request.Path = "/subscriptions/68424949-5bc2-/resourceGroups/9b623008-e2a5-45c/providers/Microsoft.OperationalInsights/workspaces/fb9ed023-b74e/features/serviceMap/machines/cdfa4b14-12/ports"; + Requests[2219] = new DefaultHttpContext(); + Requests[2219].RequestServices = CreateServices(); + Requests[2219].Request.Method = "GET"; + Requests[2219].Request.Path = "/subscriptions/fa52e9c8-693d-/resourceGroups/92a6fb54-7057-48d/providers/Microsoft.OperationalInsights/workspaces/cf5bdf86-bb70/features/serviceMap/machines/6d8ef085-11/processes"; + Requests[2220] = new DefaultHttpContext(); + Requests[2220].RequestServices = CreateServices(); + Requests[2220].Request.Method = "POST"; + Requests[2220].Request.Path = "/subscriptions/3fe3151c-45ee-/resourceGroups/bf775833-8e5e-4b0/providers/Microsoft.Storage/storageAccounts/8e4d91e9-ec/blobServices/default/containers/cf4e7522-8526/clearLegalHold"; + Requests[2221] = new DefaultHttpContext(); + Requests[2221].RequestServices = CreateServices(); + Requests[2221].Request.Method = "POST"; + Requests[2221].Request.Path = "/subscriptions/436c9c74-b899-/resourceGroups/8386c07f-468e-475/providers/Microsoft.Storage/storageAccounts/57be9860-92/blobServices/default/containers/83a52191-f014/setLegalHold"; + Requests[2222] = new DefaultHttpContext(); + Requests[2222].RequestServices = CreateServices(); + Requests[2222].Request.Method = "GET"; + Requests[2222].Request.Path = "/subscriptions/21543f70-3622-/resourceGroups/ab653975-dc32-4e3/providers/Microsoft.Web/hostingEnvironments/6d8c9/multiRolePools/default/instances/5bd2ca85/metricdefinitions"; + Requests[2223] = new DefaultHttpContext(); + Requests[2223].RequestServices = CreateServices(); + Requests[2223].Request.Method = "GET"; + Requests[2223].Request.Path = "/subscriptions/ef528602-f940-/resourceGroups/258157e9-4d15-45d/providers/Microsoft.Web/hostingEnvironments/07467/multiRolePools/default/instances/8dbf6b80/metrics"; + Requests[2224] = new DefaultHttpContext(); + Requests[2224].RequestServices = CreateServices(); + Requests[2224].Request.Method = "POST"; + Requests[2224].Request.Path = "/subscriptions/7d9a013c-7bfe-/resourceGroups/be682afe-6a11-4d5/providers/Microsoft.Web/sites/a582d/config/web/snapshots/c8e52b88-5/recover"; + Requests[2225] = new DefaultHttpContext(); + Requests[2225].RequestServices = CreateServices(); + Requests[2225].Request.Method = "POST"; + Requests[2225].Request.Path = "/subscriptions/8c08fe55-a040-/resourceGroups/84d5251a-a5c1-4f9/providers/Microsoft.Storage/storageAccounts/fe7fc620-8c/blobServices/default/containers/dfe7004f-53dd/immutabilityPolicies/default/extend"; + Requests[2226] = new DefaultHttpContext(); + Requests[2226].RequestServices = CreateServices(); + Requests[2226].Request.Method = "POST"; + Requests[2226].Request.Path = "/subscriptions/a3711790-fc7c-/resourceGroups/f065a00e-911b-4c6/providers/Microsoft.Storage/storageAccounts/2c1b1509-eb/blobServices/default/containers/e4df955f-b8a3/immutabilityPolicies/default/lock"; + Requests[2227] = new DefaultHttpContext(); + Requests[2227].RequestServices = CreateServices(); + Requests[2227].Request.Method = "GET"; + Requests[2227].Request.Path = "/subscriptions/d6b58149-4c87-/resourceGroups/a8b0affe-e2f2-431/providers/Microsoft.OperationalInsights/workspaces/87897b9e-fef8/features/serviceMap/machines/412d598e-15/ports/1bb68c2e"; + Requests[2228] = new DefaultHttpContext(); + Requests[2228].RequestServices = CreateServices(); + Requests[2228].Request.Method = "GET"; + Requests[2228].Request.Path = "/subscriptions/907f2389-2bdc-/resourceGroups/04e6ba29-3904-422/providers/Microsoft.OperationalInsights/workspaces/37bc6438-0a05/features/serviceMap/machines/8b6d3339-36/processes/070e546e-31"; + Requests[2229] = new DefaultHttpContext(); + Requests[2229].RequestServices = CreateServices(); + Requests[2229].Request.Method = "DELETE"; + Requests[2229].Request.Path = "/subscriptions/36791325-f989-/resourceGroups/d436cb1a-1c00-410/providers/Microsoft.Storage/storageAccounts/daf488ec-00/blobServices/default/containers/40419c6f-5a44/immutabilityPolicies/ef1658af-2949-4e81-ba0"; + Requests[2230] = new DefaultHttpContext(); + Requests[2230].RequestServices = CreateServices(); + Requests[2230].Request.Method = "GET"; + Requests[2230].Request.Path = "/subscriptions/0ba318dd-4bde-/resourceGroups/78de34a1-baa1-4c4/providers/Microsoft.OperationalInsights/workspaces/37b46289-7edc/features/serviceMap/machines/92ea8946-d6/ports/0f0ab4e3/acceptingProcesses"; + Requests[2231] = new DefaultHttpContext(); + Requests[2231].RequestServices = CreateServices(); + Requests[2231].Request.Method = "GET"; + Requests[2231].Request.Path = "/subscriptions/567a4aeb-ffd9-/resourceGroups/afad1f24-186b-406/providers/Microsoft.OperationalInsights/workspaces/6d5296a0-10f7/features/serviceMap/machines/00b394e2-ea/ports/6e5e57e5/connections"; + Requests[2232] = new DefaultHttpContext(); + Requests[2232].RequestServices = CreateServices(); + Requests[2232].Request.Method = "GET"; + Requests[2232].Request.Path = "/subscriptions/e3192af0-745b-/resourceGroups/4955f9af-15e8-450/providers/Microsoft.OperationalInsights/workspaces/aa31aabb-90ba/features/serviceMap/machines/8bedec71-ba/ports/c66d3ee4/liveness"; + Requests[2233] = new DefaultHttpContext(); + Requests[2233].RequestServices = CreateServices(); + Requests[2233].Request.Method = "GET"; + Requests[2233].Request.Path = "/subscriptions/6113adf3-33da-/resourceGroups/270502cb-48b4-42a/providers/Microsoft.OperationalInsights/workspaces/35e0d3b1-28cf/features/serviceMap/machines/706b5719-dd/processes/912dcc87-99/acceptingPorts"; + Requests[2234] = new DefaultHttpContext(); + Requests[2234].RequestServices = CreateServices(); + Requests[2234].Request.Method = "GET"; + Requests[2234].Request.Path = "/subscriptions/d5675f55-f411-/resourceGroups/7059ab2b-ad5b-463/providers/Microsoft.OperationalInsights/workspaces/ef58ec3c-7a71/features/serviceMap/machines/f13c6401-91/processes/eee145d1-90/connections"; + Requests[2235] = new DefaultHttpContext(); + Requests[2235].RequestServices = CreateServices(); + Requests[2235].Request.Method = "GET"; + Requests[2235].Request.Path = "/subscriptions/3e6c8eec-5bcf-/resourceGroups/36cfb436-144e-4c0/providers/Microsoft.OperationalInsights/workspaces/ccbc89ba-dce5/features/serviceMap/machines/a39119d6-cf/processes/78456fa6-e0/liveness"; + Requests[2236] = new DefaultHttpContext(); + Requests[2236].RequestServices = CreateServices(); + Requests[2236].Request.Method = "GET"; + Requests[2236].Request.Path = "/Subscriptions/36498ec7-ac22-/resourceGroups/b95a146b-0cc0-471/providers/Microsoft.RecoveryServices/vaults/1a411d57-/backupJobs/operationResults/ebaa103c-00"; + Requests[2237] = new DefaultHttpContext(); + Requests[2237].RequestServices = CreateServices(); + Requests[2237].Request.Method = "GET"; + Requests[2237].Request.Path = "/subscriptions/4ac072be-0b06-/resourcegroups/e988ebf6-e8af-4dd/providers/Microsoft.Storage.Admin/farms/fd776c/shares/operationresults/817b3e32-f3"; + Requests[2238] = new DefaultHttpContext(); + Requests[2238].RequestServices = CreateServices(); + Requests[2238].Request.Method = "DELETE"; + Requests[2238].Request.Path = "/subscriptions/7f6e1bd9-c6c9-/resourceGroup/e81e3a8d-9276-4cb/providers/Microsoft.MachineLearningServices/workspaces/2a4e3708-9b35/computes/8ce42711-7f"; + Requests[2239] = new DefaultHttpContext(); + Requests[2239].RequestServices = CreateServices(); + Requests[2239].Request.Method = "PATCH"; + Requests[2239].Request.Path = "/subscriptions/2638106b-1d78-/resourceGroups/a4af4bc5-/providers/Microsoft.DataMigration/services/d8afbb01-ba/projects/0ea37efa-7a"; + Requests[2240] = new DefaultHttpContext(); + Requests[2240].RequestServices = CreateServices(); + Requests[2240].Request.Method = "DELETE"; + Requests[2240].Request.Path = "/subscriptions/d07784f4-88bf-/resourcegroups/188ffa96-f680/providers/Microsoft.AzureBridge.Admin/activations/db3c17b8-e4eb-/downloadedProducts/b3762caa-1f"; + Requests[2241] = new DefaultHttpContext(); + Requests[2241].RequestServices = CreateServices(); + Requests[2241].Request.Method = "GET"; + Requests[2241].Request.Path = "/subscriptions/4d224bd5-6422-/resourcegroups/7c1b626e-fecb/providers/Microsoft.AzureBridge.Admin/activations/f5e83074-2922-/products/0d0b7262-d9"; + Requests[2242] = new DefaultHttpContext(); + Requests[2242].RequestServices = CreateServices(); + Requests[2242].Request.Method = "PUT"; + Requests[2242].Request.Path = "/subscriptions/c4b549a8-8dac-/resourceGroups/ce2bcd97-85fa/providers/Microsoft.AzureStack/registrations/031331a5-f8e0-41/customerSubscriptions/c352bae5-c38d-4a84-b0c8-"; + Requests[2243] = new DefaultHttpContext(); + Requests[2243].RequestServices = CreateServices(); + Requests[2243].Request.Method = "GET"; + Requests[2243].Request.Path = "/subscriptions/cd9ce674-cc77-/resourceGroups/6e202d81-277c/providers/Microsoft.AzureStack/registrations/35501ecb-a832-49/products/1a7881c1-7f"; + Requests[2244] = new DefaultHttpContext(); + Requests[2244].RequestServices = CreateServices(); + Requests[2244].Request.Method = "DELETE"; + Requests[2244].Request.Path = "/subscriptions/514495cb-e7f2-/resourceGroups/b701f6a7-42a3-436/providers/Microsoft.ApiManagement/service/d2ffd5c2-96/apis/12a78"; + Requests[2245] = new DefaultHttpContext(); + Requests[2245].RequestServices = CreateServices(); + Requests[2245].Request.Method = "DELETE"; + Requests[2245].Request.Path = "/subscriptions/6fad412a-e76d-/resourceGroups/08765695-6d12-4a0/providers/Microsoft.ApiManagement/service/37fe1d87-41/api-version-sets/c87b0f23-ff1"; + Requests[2246] = new DefaultHttpContext(); + Requests[2246].RequestServices = CreateServices(); + Requests[2246].Request.Method = "DELETE"; + Requests[2246].Request.Path = "/subscriptions/9e1078d6-e27d-/resourceGroups/139aa9a6-c60b-46b/providers/Microsoft.ApiManagement/service/666e026f-20/authorizationServers/cdfd2a3"; + Requests[2247] = new DefaultHttpContext(); + Requests[2247].RequestServices = CreateServices(); + Requests[2247].Request.Method = "DELETE"; + Requests[2247].Request.Path = "/subscriptions/ce369e17-1c10-/resourceGroups/4e39002f-0517-4f7/providers/Microsoft.ApiManagement/service/45605001-a0/backends/c920ddc3-"; + Requests[2248] = new DefaultHttpContext(); + Requests[2248].RequestServices = CreateServices(); + Requests[2248].Request.Method = "DELETE"; + Requests[2248].Request.Path = "/subscriptions/1dcce671-28d0-/resourceGroups/1df09992-51db-4ca/providers/Microsoft.ApiManagement/service/d1ef35c5-50/certificates/ba198320-b385"; + Requests[2249] = new DefaultHttpContext(); + Requests[2249].RequestServices = CreateServices(); + Requests[2249].Request.Method = "DELETE"; + Requests[2249].Request.Path = "/subscriptions/223b077c-b098-/resourceGroups/4f41bc84-f038-488/providers/Microsoft.ApiManagement/service/ed11e076-c6/diagnostics/e25a5432-503"; + Requests[2250] = new DefaultHttpContext(); + Requests[2250].RequestServices = CreateServices(); + Requests[2250].Request.Method = "DELETE"; + Requests[2250].Request.Path = "/subscriptions/49580d92-20dd-/resourceGroups/10aa6fe4-0d55-460/providers/Microsoft.ApiManagement/service/b0cfdecd-d9/groups/de853ff"; + Requests[2251] = new DefaultHttpContext(); + Requests[2251].RequestServices = CreateServices(); + Requests[2251].Request.Method = "DELETE"; + Requests[2251].Request.Path = "/subscriptions/0bf442eb-4c03-/resourceGroups/8cfd8b95-846c-4cb/providers/Microsoft.ApiManagement/service/abd8d6a1-c6/identityProviders/9e0792a4-ed18-4175-8"; + Requests[2252] = new DefaultHttpContext(); + Requests[2252].RequestServices = CreateServices(); + Requests[2252].Request.Method = "DELETE"; + Requests[2252].Request.Path = "/subscriptions/32162419-0078-/resourceGroups/1a1c6180-56ee-425/providers/Microsoft.ApiManagement/service/9ce5d1ad-9f/loggers/a0c1f4b6"; + Requests[2253] = new DefaultHttpContext(); + Requests[2253].RequestServices = CreateServices(); + Requests[2253].Request.Method = "PUT"; + Requests[2253].Request.Path = "/subscriptions/2254ae15-134f-/resourceGroups/4291b3ae-6ec4-44c/providers/Microsoft.ApiManagement/service/cdd2d301-e4/notifications/6d715272-80c3-44"; + Requests[2254] = new DefaultHttpContext(); + Requests[2254].RequestServices = CreateServices(); + Requests[2254].Request.Method = "DELETE"; + Requests[2254].Request.Path = "/subscriptions/d21d537b-3cb0-/resourceGroups/4ca2bf27-fe0f-4f4/providers/Microsoft.ApiManagement/service/02350bba-c2/openidConnectProviders/cdaf5"; + Requests[2255] = new DefaultHttpContext(); + Requests[2255].RequestServices = CreateServices(); + Requests[2255].Request.Method = "DELETE"; + Requests[2255].Request.Path = "/subscriptions/f8945052-fb77-/resourceGroups/676ef230-7585-480/providers/Microsoft.ApiManagement/service/9bbb6298-6b/policies/3a2914c2"; + Requests[2256] = new DefaultHttpContext(); + Requests[2256].RequestServices = CreateServices(); + Requests[2256].Request.Method = "DELETE"; + Requests[2256].Request.Path = "/subscriptions/4243af05-ca85-/resourceGroups/43346355-703a-4ff/providers/Microsoft.ApiManagement/service/e14f7bef-2c/products/e8594cab-"; + Requests[2257] = new DefaultHttpContext(); + Requests[2257].RequestServices = CreateServices(); + Requests[2257].Request.Method = "DELETE"; + Requests[2257].Request.Path = "/subscriptions/93eeb554-0773-/resourceGroups/28e10f14-6706-433/providers/Microsoft.ApiManagement/service/0ad89691-1d/properties/602089"; + Requests[2258] = new DefaultHttpContext(); + Requests[2258].RequestServices = CreateServices(); + Requests[2258].Request.Method = "PATCH"; + Requests[2258].Request.Path = "/subscriptions/73e44278-e4d2-/resourceGroups/00708e62-0298-4a7/providers/Microsoft.ApiManagement/service/3b413d0f-38/quotas/888ce569-941f-4"; + Requests[2259] = new DefaultHttpContext(); + Requests[2259].RequestServices = CreateServices(); + Requests[2259].Request.Method = "GET"; + Requests[2259].Request.Path = "/subscriptions/649f660f-b7f7-/resourceGroups/0b3e0993-9309-4f5/providers/Microsoft.ApiManagement/service/fe241494-b8/reports/c292fb2c-8b"; + Requests[2260] = new DefaultHttpContext(); + Requests[2260].RequestServices = CreateServices(); + Requests[2260].Request.Method = "DELETE"; + Requests[2260].Request.Path = "/subscriptions/f6f666c2-7c5d-/resourceGroups/12616e41-de6c-456/providers/Microsoft.ApiManagement/service/b8de0096-8c/subscriptions/92abd"; + Requests[2261] = new DefaultHttpContext(); + Requests[2261].RequestServices = CreateServices(); + Requests[2261].Request.Method = "DELETE"; + Requests[2261].Request.Path = "/subscriptions/f3a94596-5b6e-/resourceGroups/05a599fa-d8a2-42b/providers/Microsoft.ApiManagement/service/c1c523e2-d8/tags/72071"; + Requests[2262] = new DefaultHttpContext(); + Requests[2262].RequestServices = CreateServices(); + Requests[2262].Request.Method = "DELETE"; + Requests[2262].Request.Path = "/subscriptions/f642c54b-f61a-/resourceGroups/082bae98-54ad-4bd/providers/Microsoft.ApiManagement/service/19be2e50-9f/templates/0a19f249-a9c"; + Requests[2263] = new DefaultHttpContext(); + Requests[2263].RequestServices = CreateServices(); + Requests[2263].Request.Method = "PATCH"; + Requests[2263].Request.Path = "/subscriptions/e581e6b0-10a4-/resourceGroups/fcaa7125-95bf-481/providers/Microsoft.ApiManagement/service/49ec983a-55/tenant/8f402d99-0"; + Requests[2264] = new DefaultHttpContext(); + Requests[2264].RequestServices = CreateServices(); + Requests[2264].Request.Method = "DELETE"; + Requests[2264].Request.Path = "/subscriptions/c3c4849e-fa20-/resourceGroups/39d370b7-2368-431/providers/Microsoft.ApiManagement/service/72342ae5-84/users/702a6"; + Requests[2265] = new DefaultHttpContext(); + Requests[2265].RequestServices = CreateServices(); + Requests[2265].Request.Method = "PATCH"; + Requests[2265].Request.Path = "/subscriptions/345662f7-ef80-/resourceGroups/807c07f7-2d73-40b/providers/Microsoft.Automation/automationAccounts/7a4b7141-d700-4017-82/certificates/f6c51a0b-62c4-4"; + Requests[2266] = new DefaultHttpContext(); + Requests[2266].RequestServices = CreateServices(); + Requests[2266].Request.Method = "GET"; + Requests[2266].Request.Path = "/subscriptions/cff4aca5-7adf-/resourceGroups/7b44ecf1-24e9-48f/providers/Microsoft.Automation/automationAccounts/e6fc0e25-3ec8-4d46-a0/compilationjobs/707bb467-4b28-4e2e"; + Requests[2267] = new DefaultHttpContext(); + Requests[2267].RequestServices = CreateServices(); + Requests[2267].Request.Method = "PATCH"; + Requests[2267].Request.Path = "/subscriptions/2ff752b3-2f7b-/resourceGroups/9123f209-fe86-423/providers/Microsoft.Automation/automationAccounts/1bbd7c82-a57d-4ed3-be/configurations/79c69d9c-377c-4e3"; + Requests[2268] = new DefaultHttpContext(); + Requests[2268].RequestServices = CreateServices(); + Requests[2268].Request.Method = "PATCH"; + Requests[2268].Request.Path = "/subscriptions/f09ae139-31c2-/resourceGroups/fff4f9ee-ad9f-40b/providers/Microsoft.Automation/automationAccounts/5b9d036a-13b8-4ca1-a3/connections/7747da7d-daf8-"; + Requests[2269] = new DefaultHttpContext(); + Requests[2269].RequestServices = CreateServices(); + Requests[2269].Request.Method = "PUT"; + Requests[2269].Request.Path = "/subscriptions/f67681d3-0186-/resourceGroups/32f8ad0c-ac95-4e9/providers/Microsoft.Automation/automationAccounts/06780393-1c48-4215-ac/connectionTypes/2487e7f5-7896-42d2"; + Requests[2270] = new DefaultHttpContext(); + Requests[2270].RequestServices = CreateServices(); + Requests[2270].Request.Method = "PATCH"; + Requests[2270].Request.Path = "/subscriptions/f29a821f-0510-/resourceGroups/15ac1d3e-a969-4b9/providers/Microsoft.Automation/automationAccounts/bd4a9f4d-ee29-4fe7-80/credentials/aa92ceaa-b2a0-"; + Requests[2271] = new DefaultHttpContext(); + Requests[2271].RequestServices = CreateServices(); + Requests[2271].Request.Method = "PATCH"; + Requests[2271].Request.Path = "/subscriptions/25df9efd-513f-/resourceGroups/19e57fc0-1a57-4d7/providers/Microsoft.Automation/automationAccounts/ce9e5731-3ea9-4a6c-95/hybridRunbookWorkerGroups/7a97ff7b-d07a-4763-814f-f53c"; + Requests[2272] = new DefaultHttpContext(); + Requests[2272].RequestServices = CreateServices(); + Requests[2272].Request.Method = "PUT"; + Requests[2272].Request.Path = "/subscriptions/c0556e94-eb70-/resourceGroups/98571a72-9cde-444/providers/Microsoft.Automation/automationAccounts/0d07870b-f41d-4fad-8c/jobs/b28f4"; + Requests[2273] = new DefaultHttpContext(); + Requests[2273].RequestServices = CreateServices(); + Requests[2273].Request.Method = "PUT"; + Requests[2273].Request.Path = "/subscriptions/8a32c406-1c63-/resourceGroups/7e480bf6-98f8-4f7/providers/Microsoft.Automation/automationAccounts/79fa9ab0-5fc2-4caf-85/jobSchedules/10b99f2d-5ad4"; + Requests[2274] = new DefaultHttpContext(); + Requests[2274].RequestServices = CreateServices(); + Requests[2274].Request.Method = "PATCH"; + Requests[2274].Request.Path = "/subscriptions/d2eb0c61-b720-/resourceGroups/d893cdbc-233b-423/providers/Microsoft.Automation/automationAccounts/636a2e03-4145-4b64-94/modules/9ab14285-a"; + Requests[2275] = new DefaultHttpContext(); + Requests[2275].RequestServices = CreateServices(); + Requests[2275].Request.Method = "PUT"; + Requests[2275].Request.Path = "/subscriptions/4e365c7d-7cab-/resourceGroups/526a40af-31bc-41f/providers/Microsoft.Automation/automationAccounts/fedd2abf-dac5-4d1e-9f/nodeConfigurations/d94e31ac-e289-4fd3-82"; + Requests[2276] = new DefaultHttpContext(); + Requests[2276].RequestServices = CreateServices(); + Requests[2276].Request.Method = "GET"; + Requests[2276].Request.Path = "/subscriptions/5bd22594-5658-/resourceGroups/41e04111-9bff-4b5/providers/Microsoft.Automation/automationAccounts/164621d4-0237-48ea-a7/nodecounts/4d9361e9-"; + Requests[2277] = new DefaultHttpContext(); + Requests[2277].RequestServices = CreateServices(); + Requests[2277].Request.Method = "PATCH"; + Requests[2277].Request.Path = "/subscriptions/83c8582a-8f39-/resourceGroups/3b54c6e6-3591-4e5/providers/Microsoft.Automation/automationAccounts/55bfba79-a221-4902-b9/nodes/a3ef0d"; + Requests[2278] = new DefaultHttpContext(); + Requests[2278].RequestServices = CreateServices(); + Requests[2278].Request.Method = "DELETE"; + Requests[2278].Request.Path = "/subscriptions/e9e95b14-07f5-/resourceGroups/504e71bd-cb63-4b3/providers/Microsoft.Automation/automationAccounts/654fd95a-4c55-4f46-a5/runbooks/585789ec-be"; + Requests[2279] = new DefaultHttpContext(); + Requests[2279].RequestServices = CreateServices(); + Requests[2279].Request.Method = "DELETE"; + Requests[2279].Request.Path = "/subscriptions/3bedf388-6e33-/resourceGroups/8c407693-9ceb-4f7/providers/Microsoft.Automation/automationAccounts/0edebe2e-60d5-432a-9a/schedules/c9212659-1bf"; + Requests[2280] = new DefaultHttpContext(); + Requests[2280].RequestServices = CreateServices(); + Requests[2280].Request.Method = "GET"; + Requests[2280].Request.Path = "/subscriptions/3da069c4-2189-/resourceGroups/cd545fee-50b4-49d/providers/Microsoft.Automation/automationAccounts/f233a9ee-42c0-457c-81/softwareUpdateConfigurationMachineRuns/a3345645-5be2-4dac-b44e-8fcb9be2fa50"; + Requests[2281] = new DefaultHttpContext(); + Requests[2281].RequestServices = CreateServices(); + Requests[2281].Request.Method = "GET"; + Requests[2281].Request.Path = "/subscriptions/a6957a4b-7eb7-/resourceGroups/ef6d8ac5-2470-4e5/providers/Microsoft.Automation/automationAccounts/4827e900-c705-4959-a8/softwareUpdateConfigurationRuns/6af47c09-5b2b-4b00-a216-0a361ea3"; + Requests[2282] = new DefaultHttpContext(); + Requests[2282].RequestServices = CreateServices(); + Requests[2282].Request.Method = "DELETE"; + Requests[2282].Request.Path = "/subscriptions/de332ca0-305a-/resourceGroups/5c3d4434-9953-453/providers/Microsoft.Automation/automationAccounts/6aef4397-990f-4252-98/softwareUpdateConfigurations/48fdb3b2-767a-4eba-b77a-da7e41c"; + Requests[2283] = new DefaultHttpContext(); + Requests[2283].RequestServices = CreateServices(); + Requests[2283].Request.Method = "GET"; + Requests[2283].Request.Path = "/subscriptions/f6cbc1c5-0b1b-/resourceGroups/f37d34cc-d103-47d/providers/Microsoft.Automation/automationAccounts/613ca7d2-b9ec-42d3-88/sourceControls/61f6f3cb-5ce4-4a7"; + Requests[2284] = new DefaultHttpContext(); + Requests[2284].RequestServices = CreateServices(); + Requests[2284].Request.Method = "GET"; + Requests[2284].Request.Path = "/subscriptions/d0e6126a-d064-/resourceGroups/d6fd1afa-def0-4a2/providers/Microsoft.Automation/automationAccounts/ca33dd2d-ce3b-4ef8-88/variables/5f0ad2c2-823"; + Requests[2285] = new DefaultHttpContext(); + Requests[2285].RequestServices = CreateServices(); + Requests[2285].Request.Method = "DELETE"; + Requests[2285].Request.Path = "/subscriptions/c4f52e74-5560-/resourceGroups/8396cd66-0bdb-42b/providers/Microsoft.Automation/automationAccounts/4c262bc4-8b0d-4f2f-81/watchers/81b184a7-e6"; + Requests[2286] = new DefaultHttpContext(); + Requests[2286].RequestServices = CreateServices(); + Requests[2286].Request.Method = "PATCH"; + Requests[2286].Request.Path = "/subscriptions/7785cc61-164e-/resourceGroups/78452aa8-1501-4de/providers/Microsoft.Automation/automationAccounts/c5fcffd4-73a3-48b4-85/webhooks/0295f8f1-1c"; + Requests[2287] = new DefaultHttpContext(); + Requests[2287].RequestServices = CreateServices(); + Requests[2287].Request.Method = "GET"; + Requests[2287].Request.Path = "/subscriptions/93678f01-9a57-/resourcegroups/4435aef2-352e-463/providers/Microsoft.Backup.Admin/backupLocations/7d28aabf/backups/9d5f73"; + Requests[2288] = new DefaultHttpContext(); + Requests[2288].RequestServices = CreateServices(); + Requests[2288].Request.Method = "PATCH"; + Requests[2288].Request.Path = "/subscriptions/07e7dfbc-4c90-/resourceGroups/81289643-5a85-439/providers/Microsoft.Batch/batchAccounts/73c84e09-61/applications/eba69074-2614"; + Requests[2289] = new DefaultHttpContext(); + Requests[2289].RequestServices = CreateServices(); + Requests[2289].Request.Method = "GET"; + Requests[2289].Request.Path = "/subscriptions/863bb491-fa7e-/resourceGroups/cfa4b713-8f81-402/providers/Microsoft.Batch/batchAccounts/305f990c-70/certificates/97e9752d-bd00-4"; + Requests[2290] = new DefaultHttpContext(); + Requests[2290].RequestServices = CreateServices(); + Requests[2290].Request.Method = "GET"; + Requests[2290].Request.Path = "/subscriptions/9d9115f7-a979-/resourceGroups/858145b4-c6aa-4e6/providers/Microsoft.Batch/batchAccounts/c59db6a3-ab/pools/dd8029f4"; + Requests[2291] = new DefaultHttpContext(); + Requests[2291].RequestServices = CreateServices(); + Requests[2291].Request.Method = "GET"; + Requests[2291].Request.Path = "/subscriptions/b9980ab7-9510-/resourceGroups/02f55dc3-9f70-48c/providers/Microsoft.BatchAI/workspaces/186c0eeb-3d4d/clusters/4970898e-9f"; + Requests[2292] = new DefaultHttpContext(); + Requests[2292].RequestServices = CreateServices(); + Requests[2292].Request.Method = "GET"; + Requests[2292].Request.Path = "/subscriptions/c00f48c0-cd3f-/resourceGroups/517a8254-bb11-4b0/providers/Microsoft.BatchAI/workspaces/75f8e0f5-b3eb/experiments/b592d298-62cf-"; + Requests[2293] = new DefaultHttpContext(); + Requests[2293].RequestServices = CreateServices(); + Requests[2293].Request.Method = "GET"; + Requests[2293].Request.Path = "/subscriptions/a15bb8da-85a5-/resourceGroups/4b8759c5-176a-4d3/providers/Microsoft.BatchAI/workspaces/68504f56-5242/fileServers/f04e77d7-c8d4-"; + Requests[2294] = new DefaultHttpContext(); + Requests[2294].RequestServices = CreateServices(); + Requests[2294].Request.Method = "GET"; + Requests[2294].Request.Path = "/subscriptions/178d04fc-191b-/resourceGroups/2a1c92b7-3f83-445/providers/Microsoft.BotService/botServices/00ba84e4-508/channels/2c44f2fd-25"; + Requests[2295] = new DefaultHttpContext(); + Requests[2295].RequestServices = CreateServices(); + Requests[2295].Request.Method = "DELETE"; + Requests[2295].Request.Path = "/subscriptions/1013e59f-6472-/resourceGroups/490d07d2-cfb5-404/providers/Microsoft.BotService/botServices/66dd6d10-e34/Connections/49a0eff4-ef7f-"; + Requests[2296] = new DefaultHttpContext(); + Requests[2296].RequestServices = CreateServices(); + Requests[2296].Request.Method = "DELETE"; + Requests[2296].Request.Path = "/subscriptions/20ea7d4b-c7f3-/resourceGroups/403eeb62-8254-4fd/providers/Microsoft.Cache/Redis/00a1a2cb-/firewallRules/27e8cbee"; + Requests[2297] = new DefaultHttpContext(); + Requests[2297].RequestServices = CreateServices(); + Requests[2297].Request.Method = "GET"; + Requests[2297].Request.Path = "/subscriptions/a578bb0f-06cd-/resourceGroups/38436a0a-66f8-41e/providers/Microsoft.Cache/Redis/3ebf6/linkedServers/a9418f0b-5f2a-47"; + Requests[2298] = new DefaultHttpContext(); + Requests[2298].RequestServices = CreateServices(); + Requests[2298].Request.Method = "GET"; + Requests[2298].Request.Path = "/subscriptions/1376c163-e819-/resourceGroups/5a9b8cfd-fe79-46e/providers/Microsoft.Cache/Redis/1dc79/patchSchedules/11116d3"; + Requests[2299] = new DefaultHttpContext(); + Requests[2299].RequestServices = CreateServices(); + Requests[2299].Request.Method = "DELETE"; + Requests[2299].Request.Path = "/subscriptions/0d0f8878-aee8-/resourceGroups/7e55fc21-aa37-4b1/providers/Microsoft.Cdn/profiles/ed25291d-7d/endpoints/a770dd9f-ea3"; + Requests[2300] = new DefaultHttpContext(); + Requests[2300].RequestServices = CreateServices(); + Requests[2300].Request.Method = "PATCH"; + Requests[2300].Request.Path = "/subscriptions/49933aeb-3d3b-/resourceGroups/066e9977-e30b-47f/providers/Microsoft.CertificateRegistration/certificateOrders/688d88cc-bed1-4fb9-b/certificates/85f50"; + Requests[2301] = new DefaultHttpContext(); + Requests[2301].RequestServices = CreateServices(); + Requests[2301].Request.Method = "DELETE"; + Requests[2301].Request.Path = "/subscriptions/d6c6451e-c11f-/resourceGroups/7dd4cbe1-5716-4c6/providers/Microsoft.Compute/galleries/97384e84-88/images/640ae678-cb76-49"; + Requests[2302] = new DefaultHttpContext(); + Requests[2302].RequestServices = CreateServices(); + Requests[2302].Request.Method = "GET"; + Requests[2302].Request.Path = "/subscriptions/30a9a0ac-18f2-/resourceGroups/8da28de7-a4db-4d2/providers/Microsoft.Compute/virtualMachines/bef596/extensions/98bddfe5-14e3-4"; + Requests[2303] = new DefaultHttpContext(); + Requests[2303].RequestServices = CreateServices(); + Requests[2303].Request.Method = "GET"; + Requests[2303].Request.Path = "/subscriptions/3ecf5c55-a325-/resourceGroups/b558bfe1-53f2-4e1/providers/Microsoft.Compute/virtualMachineScaleSets/0e70994c-0bbb-/extensions/19e21dcd-e528-4cd"; + Requests[2304] = new DefaultHttpContext(); + Requests[2304].RequestServices = CreateServices(); + Requests[2304].Request.Method = "GET"; + Requests[2304].Request.Path = "/subscriptions/50a26639-1e9d-/resourceGroups/6e6334a2-ef50-4af/providers/Microsoft.Compute/virtualMachineScaleSets/0a5277ca-f34d-/virtualmachines/849aa54b-0"; + Requests[2305] = new DefaultHttpContext(); + Requests[2305].RequestServices = CreateServices(); + Requests[2305].Request.Method = "PATCH"; + Requests[2305].Request.Path = "/subscriptions/42fe8995-00a7-/resourceGroups/9924e82e-fda1-4d5/providers/Microsoft.ContainerRegistry/registries/9f1b5a81-f11/builds/523871b"; + Requests[2306] = new DefaultHttpContext(); + Requests[2306].RequestServices = CreateServices(); + Requests[2306].Request.Method = "PATCH"; + Requests[2306].Request.Path = "/subscriptions/bdd2f145-1558-/resourceGroups/bc3f2bf3-7370-440/providers/Microsoft.ContainerRegistry/registries/6493e194-6e0/buildTasks/d4225527-6669"; + Requests[2307] = new DefaultHttpContext(); + Requests[2307].RequestServices = CreateServices(); + Requests[2307].Request.Method = "PATCH"; + Requests[2307].Request.Path = "/subscriptions/8d6d13d9-6f51-/resourceGroups/23116c3a-67da-4f3/providers/Microsoft.ContainerRegistry/registries/18f7d059-849/replications/b38373b0-8b9b-4"; + Requests[2308] = new DefaultHttpContext(); + Requests[2308].RequestServices = CreateServices(); + Requests[2308].Request.Method = "PATCH"; + Requests[2308].Request.Path = "/subscriptions/e72e7f57-3206-/resourceGroups/da71c96e-922a-400/providers/Microsoft.ContainerRegistry/registries/034f7ff4-33c/webhooks/4b2a8fa5-b8"; + Requests[2309] = new DefaultHttpContext(); + Requests[2309].RequestServices = CreateServices(); + Requests[2309].Request.Method = "GET"; + Requests[2309].Request.Path = "/subscriptions/365b7957-3345-/resourceGroups/e8eaee3f-c670-4cc/providers/Microsoft.ContainerService/managedClusters/77792236-ac3/accessProfiles/b3558c36"; + Requests[2310] = new DefaultHttpContext(); + Requests[2310].RequestServices = CreateServices(); + Requests[2310].Request.Method = "GET"; + Requests[2310].Request.Path = "/subscriptions/70eca8ae-e7c4-/resourceGroups/602fa126-7c50-434/providers/Microsoft.CustomerInsights/hubs/d7ecde0/authorizationPolicies/f9d37fdd-22fc-4c63-be41"; + Requests[2311] = new DefaultHttpContext(); + Requests[2311].RequestServices = CreateServices(); + Requests[2311].Request.Method = "DELETE"; + Requests[2311].Request.Path = "/subscriptions/2570359f-5ef6-/resourceGroups/2a76ce51-8704-467/providers/Microsoft.CustomerInsights/hubs/2f43778/connectors/be9e574b-07aa"; + Requests[2312] = new DefaultHttpContext(); + Requests[2312].RequestServices = CreateServices(); + Requests[2312].Request.Method = "GET"; + Requests[2312].Request.Path = "/subscriptions/9c28af5f-6dd6-/resourceGroups/c2470aa4-8529-4e6/providers/Microsoft.CustomerInsights/hubs/1d10030/interactions/b342eb1a-972f-4"; + Requests[2313] = new DefaultHttpContext(); + Requests[2313].RequestServices = CreateServices(); + Requests[2313].Request.Method = "DELETE"; + Requests[2313].Request.Path = "/subscriptions/2f4b3f1b-a1d2-/resourceGroups/2a6858aa-5cd3-4da/providers/Microsoft.CustomerInsights/hubs/d7cefc2/kpi/21b29ce"; + Requests[2314] = new DefaultHttpContext(); + Requests[2314].RequestServices = CreateServices(); + Requests[2314].Request.Method = "DELETE"; + Requests[2314].Request.Path = "/subscriptions/2bd3fed1-32c9-/resourceGroups/970e0d2e-8a19-411/providers/Microsoft.CustomerInsights/hubs/ace26bc/links/cb9ca73d"; + Requests[2315] = new DefaultHttpContext(); + Requests[2315].RequestServices = CreateServices(); + Requests[2315].Request.Method = "DELETE"; + Requests[2315].Request.Path = "/subscriptions/18dc3306-a4de-/resourceGroups/b2d0d479-d8a3-475/providers/Microsoft.CustomerInsights/hubs/6b0ae1e/predictions/39ce3e83-78e3-"; + Requests[2316] = new DefaultHttpContext(); + Requests[2316].RequestServices = CreateServices(); + Requests[2316].Request.Method = "DELETE"; + Requests[2316].Request.Path = "/subscriptions/a11e7235-cb1c-/resourceGroups/ee943441-a113-412/providers/Microsoft.CustomerInsights/hubs/04c8dd5/profiles/6f22422d-bd"; + Requests[2317] = new DefaultHttpContext(); + Requests[2317].RequestServices = CreateServices(); + Requests[2317].Request.Method = "DELETE"; + Requests[2317].Request.Path = "/subscriptions/f319b39f-e1b3-/resourceGroups/d1f21f42-f3fe-477/providers/Microsoft.CustomerInsights/hubs/05b5d59/relationshipLinks/e6bb6198-2f7f-41dc-a"; + Requests[2318] = new DefaultHttpContext(); + Requests[2318].RequestServices = CreateServices(); + Requests[2318].Request.Method = "DELETE"; + Requests[2318].Request.Path = "/subscriptions/08311e05-e775-/resourceGroups/27d8312c-9a70-40f/providers/Microsoft.CustomerInsights/hubs/53ee8d3/relationships/0a0930e6-2e33-42"; + Requests[2319] = new DefaultHttpContext(); + Requests[2319].RequestServices = CreateServices(); + Requests[2319].Request.Method = "DELETE"; + Requests[2319].Request.Path = "/subscriptions/f5f8efdb-0776-/resourceGroups/543bea93-e616-47a/providers/Microsoft.CustomerInsights/hubs/0a72de8/roleAssignments/7e932fd0-53c4-"; + Requests[2320] = new DefaultHttpContext(); + Requests[2320].RequestServices = CreateServices(); + Requests[2320].Request.Method = "DELETE"; + Requests[2320].Request.Path = "/subscriptions/dd397b7e-782c-/resourceGroups/d3790c19-dd48-416/providers/Microsoft.CustomerInsights/hubs/4ec8a50/views/e0c9248b"; + Requests[2321] = new DefaultHttpContext(); + Requests[2321].RequestServices = CreateServices(); + Requests[2321].Request.Method = "GET"; + Requests[2321].Request.Path = "/subscriptions/4f16afe6-5d68-/resourceGroups/bdb2fddf-02b4-405/providers/Microsoft.CustomerInsights/hubs/25b8e85/widgetTypes/365ed6d0-f37b-"; + Requests[2322] = new DefaultHttpContext(); + Requests[2322].RequestServices = CreateServices(); + Requests[2322].Request.Method = "POST"; + Requests[2322].Request.Path = "/subscriptions/f3cd2c72-c728-/resourceGroups/3dff966a-542b-4e6/providers/Microsoft.DataFactory/factories/0f04d98e-6b/cancelpipelinerun/1a5b0"; + Requests[2323] = new DefaultHttpContext(); + Requests[2323].RequestServices = CreateServices(); + Requests[2323].Request.Method = "DELETE"; + Requests[2323].Request.Path = "/subscriptions/302e1c78-a8a8-/resourceGroups/7dfb9683-d4f1-440/providers/Microsoft.DataFactory/factories/36202344-8d/datasets/27e02c1b-21"; + Requests[2324] = new DefaultHttpContext(); + Requests[2324].RequestServices = CreateServices(); + Requests[2324].Request.Method = "DELETE"; + Requests[2324].Request.Path = "/subscriptions/f9d56e42-f3f2-/resourceGroups/9339213e-f71b-47f/providers/Microsoft.DataFactory/factories/a4e6c20a-06/integrationRuntimes/69fe69d4-155a-4e5c-b64"; + Requests[2325] = new DefaultHttpContext(); + Requests[2325].RequestServices = CreateServices(); + Requests[2325].Request.Method = "DELETE"; + Requests[2325].Request.Path = "/subscriptions/dfb49601-dfc1-/resourceGroups/b1d48eab-06ab-4bd/providers/Microsoft.DataFactory/factories/2202b95a-d1/linkedservices/98593dcb-15ac-408"; + Requests[2326] = new DefaultHttpContext(); + Requests[2326].RequestServices = CreateServices(); + Requests[2326].Request.Method = "GET"; + Requests[2326].Request.Path = "/subscriptions/556947ae-55f4-/resourceGroups/d408edbd-d9d2-4b9/providers/Microsoft.DataFactory/factories/429f3b54-ae/pipelineruns/44f49"; + Requests[2327] = new DefaultHttpContext(); + Requests[2327].RequestServices = CreateServices(); + Requests[2327].Request.Method = "DELETE"; + Requests[2327].Request.Path = "/subscriptions/2adf2f76-b589-/resourceGroups/def7ee37-a332-4d0/providers/Microsoft.DataFactory/factories/5353c460-e0/pipelines/60cb0e35-260"; + Requests[2328] = new DefaultHttpContext(); + Requests[2328].RequestServices = CreateServices(); + Requests[2328].Request.Method = "DELETE"; + Requests[2328].Request.Path = "/subscriptions/55f1fda5-b64c-/resourceGroups/67c3b277-c005-41a/providers/Microsoft.DataFactory/factories/d589370a-a8/triggers/912beaf8-03"; + Requests[2329] = new DefaultHttpContext(); + Requests[2329].RequestServices = CreateServices(); + Requests[2329].Request.Method = "DELETE"; + Requests[2329].Request.Path = "/subscriptions/27695180-b048-/resourceGroups/3971d700-e894-4f3/providers/Microsoft.DataLakeAnalytics/accounts/faf17395-da/computePolicies/c0626ee8-e4ec-4b0"; + Requests[2330] = new DefaultHttpContext(); + Requests[2330].RequestServices = CreateServices(); + Requests[2330].Request.Method = "DELETE"; + Requests[2330].Request.Path = "/subscriptions/600f08d7-11c2-/resourceGroups/732c1179-3579-45c/providers/Microsoft.DataLakeAnalytics/accounts/d3b54530-a8/dataLakeStoreAccounts/c25d4222-4152-434d-9092-"; + Requests[2331] = new DefaultHttpContext(); + Requests[2331].RequestServices = CreateServices(); + Requests[2331].Request.Method = "DELETE"; + Requests[2331].Request.Path = "/subscriptions/41104be3-95f7-/resourceGroups/dbc10998-9dba-420/providers/Microsoft.DataLakeAnalytics/accounts/c9de945f-4f/firewallRules/5b1e0191-2a2e-4a"; + Requests[2332] = new DefaultHttpContext(); + Requests[2332].RequestServices = CreateServices(); + Requests[2332].Request.Method = "DELETE"; + Requests[2332].Request.Path = "/subscriptions/9fc567a0-5c4e-/resourceGroups/efd54ee7-106d-482/providers/Microsoft.DataLakeAnalytics/accounts/6c6f90eb-d6/storageAccounts/fb8a0330-5600-46d6"; + Requests[2333] = new DefaultHttpContext(); + Requests[2333].RequestServices = CreateServices(); + Requests[2333].Request.Method = "DELETE"; + Requests[2333].Request.Path = "/subscriptions/80681fd1-d67c-/resourceGroups/ed71e12b-719c-4ff/providers/Microsoft.DataLakeStore/accounts/90e96c92-79/firewallRules/3625dd35-7243-4c"; + Requests[2334] = new DefaultHttpContext(); + Requests[2334].RequestServices = CreateServices(); + Requests[2334].Request.Method = "DELETE"; + Requests[2334].Request.Path = "/subscriptions/0ccee45d-7824-/resourceGroups/ff8a3bd1-5b39-454/providers/Microsoft.DataLakeStore/accounts/dcb16f43-ad/trustedIdProviders/e5694c37-469f-45b1-9d"; + Requests[2335] = new DefaultHttpContext(); + Requests[2335].RequestServices = CreateServices(); + Requests[2335].Request.Method = "DELETE"; + Requests[2335].Request.Path = "/subscriptions/41e05e5e-321d-/resourceGroups/c664f0a5-38de-4d6/providers/Microsoft.DataLakeStore/accounts/d31b04b7-27/virtualNetworkRules/eb044754-89ea-433c-920"; + Requests[2336] = new DefaultHttpContext(); + Requests[2336].RequestServices = CreateServices(); + Requests[2336].Request.Method = "GET"; + Requests[2336].Request.Path = "/subscriptions/996b338e-f27e-/resourceGroups/0293ba9e-570d-418/providers/Microsoft.DBforMySQL/servers/c4249b9f-4/configurations/bc748339-c316-468"; + Requests[2337] = new DefaultHttpContext(); + Requests[2337].RequestServices = CreateServices(); + Requests[2337].Request.Method = "GET"; + Requests[2337].Request.Path = "/subscriptions/a308a405-0ccc-/resourceGroups/faedfa64-2470-47a/providers/Microsoft.DBforMySQL/servers/bf3fe3fc-9/databases/5c4c7e32-271"; + Requests[2338] = new DefaultHttpContext(); + Requests[2338].RequestServices = CreateServices(); + Requests[2338].Request.Method = "GET"; + Requests[2338].Request.Path = "/subscriptions/3502194f-97fb-/resourceGroups/8949c640-f2b1-448/providers/Microsoft.DBforMySQL/servers/010b1fb8-5/firewallRules/523cc9c4-26fa-41"; + Requests[2339] = new DefaultHttpContext(); + Requests[2339].RequestServices = CreateServices(); + Requests[2339].Request.Method = "DELETE"; + Requests[2339].Request.Path = "/subscriptions/debef3a6-ff3a-/resourceGroups/a7ebc8bc-f1d2-4bd/providers/Microsoft.DBforMySQL/servers/6b5a465b-5/virtualNetworkRules/d47e6186-a52d-43e9-b74"; + Requests[2340] = new DefaultHttpContext(); + Requests[2340].RequestServices = CreateServices(); + Requests[2340].Request.Method = "GET"; + Requests[2340].Request.Path = "/subscriptions/eaf1324d-ab0a-/resourceGroups/179d7395-925b-4fe/providers/Microsoft.DBforPostgreSQL/servers/50246d31-3/configurations/88f80bf0-9d7a-4d0"; + Requests[2341] = new DefaultHttpContext(); + Requests[2341].RequestServices = CreateServices(); + Requests[2341].Request.Method = "GET"; + Requests[2341].Request.Path = "/subscriptions/d598c0ac-8cc8-/resourceGroups/c4c69cc2-b184-427/providers/Microsoft.DBforPostgreSQL/servers/02c91d6f-7/databases/ed881f37-74e"; + Requests[2342] = new DefaultHttpContext(); + Requests[2342].RequestServices = CreateServices(); + Requests[2342].Request.Method = "GET"; + Requests[2342].Request.Path = "/subscriptions/6d11c7a3-4673-/resourceGroups/a0223f60-8140-4da/providers/Microsoft.DBforPostgreSQL/servers/37412ca3-3/firewallRules/3816a724-8c13-4c"; + Requests[2343] = new DefaultHttpContext(); + Requests[2343].RequestServices = CreateServices(); + Requests[2343].Request.Method = "PUT"; + Requests[2343].Request.Path = "/subscriptions/b74d502f-a97d-/resourceGroups/b28ce222-7807-434/providers/Microsoft.DBforPostgreSQL/servers/a5670d28-4/securityAlertPolicies/d1b00995-2a63-40e2-a6d9"; + Requests[2344] = new DefaultHttpContext(); + Requests[2344].RequestServices = CreateServices(); + Requests[2344].Request.Method = "DELETE"; + Requests[2344].Request.Path = "/subscriptions/494f1ea3-c24e-/resourceGroups/73f25cd2-83b7-40a/providers/Microsoft.DBforPostgreSQL/servers/9c849adc-1/virtualNetworkRules/dda99a7d-e671-412b-aa8"; + Requests[2345] = new DefaultHttpContext(); + Requests[2345].RequestServices = CreateServices(); + Requests[2345].Request.Method = "DELETE"; + Requests[2345].Request.Path = "/subscriptions/b1c02d08-9def-/resourceGroups/83841cff-dee4-4ba/providers/Microsoft.Devices/IotHubs/26bdbc65-5b0/certificates/b3d498b9-6742-4"; + Requests[2346] = new DefaultHttpContext(); + Requests[2346].RequestServices = CreateServices(); + Requests[2346].Request.Method = "GET"; + Requests[2346].Request.Path = "/subscriptions/7457c15c-2b14-/resourceGroups/a6ede4f1-2b41-484/providers/Microsoft.Devices/IotHubs/530e5b9f-dae/jobs/f4cc0"; + Requests[2347] = new DefaultHttpContext(); + Requests[2347].RequestServices = CreateServices(); + Requests[2347].Request.Method = "DELETE"; + Requests[2347].Request.Path = "/subscriptions/76ae6866-7e72-/resourceGroups/f54a3785-5474-4a5/providers/Microsoft.Devices/provisioningServices/eab959b1-6efa-4019-9027/certificates/c0b7f489-eb6a-4"; + Requests[2348] = new DefaultHttpContext(); + Requests[2348].RequestServices = CreateServices(); + Requests[2348].Request.Method = "GET"; + Requests[2348].Request.Path = "/subscriptions/696a5d06-2409-/resourceGroups/485d993a-342f-44d/providers/Microsoft.Devices/provisioningServices/c5ff500a-ca0a-414c-810f/operationresults/1371ef18-d4"; + Requests[2349] = new DefaultHttpContext(); + Requests[2349].RequestServices = CreateServices(); + Requests[2349].Request.Method = "PATCH"; + Requests[2349].Request.Path = "/subscriptions/807fbcff-56fc-/resourceGroups/0871f49c-ad4b-466/providers/Microsoft.DevTestLab/labs/3d666e9/artifactsources/645fc"; + Requests[2350] = new DefaultHttpContext(); + Requests[2350].RequestServices = CreateServices(); + Requests[2350].Request.Method = "GET"; + Requests[2350].Request.Path = "/subscriptions/058c3244-38fd-/resourceGroups/7e01ad4c-c5af-48a/providers/Microsoft.DevTestLab/labs/4512648/costinsights/8eb34"; + Requests[2351] = new DefaultHttpContext(); + Requests[2351].RequestServices = CreateServices(); + Requests[2351].Request.Method = "PUT"; + Requests[2351].Request.Path = "/subscriptions/894dfac4-b69a-/resourceGroups/3caf0167-860c-486/providers/Microsoft.DevTestLab/labs/608bf5a/costs/d9a3c"; + Requests[2352] = new DefaultHttpContext(); + Requests[2352].RequestServices = CreateServices(); + Requests[2352].Request.Method = "DELETE"; + Requests[2352].Request.Path = "/subscriptions/02d2fa15-93db-/resourceGroups/bda5e6b2-133d-4f3/providers/Microsoft.DevTestLab/labs/4d1deca/customimages/753ec"; + Requests[2353] = new DefaultHttpContext(); + Requests[2353].RequestServices = CreateServices(); + Requests[2353].Request.Method = "DELETE"; + Requests[2353].Request.Path = "/subscriptions/a750b43d-643a-/resourceGroups/df6e59dc-8181-4e5/providers/Microsoft.DevTestLab/labs/2fffe53/formulas/1bf37"; + Requests[2354] = new DefaultHttpContext(); + Requests[2354].RequestServices = CreateServices(); + Requests[2354].Request.Method = "PATCH"; + Requests[2354].Request.Path = "/subscriptions/95c0fee0-92a3-/resourceGroups/8d6cfe97-75ca-4fb/providers/Microsoft.DevTestLab/labs/7258fd4/notificationchannels/fe0e0"; + Requests[2355] = new DefaultHttpContext(); + Requests[2355].RequestServices = CreateServices(); + Requests[2355].Request.Method = "PATCH"; + Requests[2355].Request.Path = "/subscriptions/723f41aa-984f-/resourceGroups/cb7afe59-bfa1-4bf/providers/Microsoft.DevTestLab/labs/87353c1/schedules/378d0"; + Requests[2356] = new DefaultHttpContext(); + Requests[2356].RequestServices = CreateServices(); + Requests[2356].Request.Method = "DELETE"; + Requests[2356].Request.Path = "/subscriptions/6b9ee367-e8b0-/resourceGroups/507f5688-393c-444/providers/Microsoft.DevTestLab/labs/d6fbada/servicerunners/6bf38"; + Requests[2357] = new DefaultHttpContext(); + Requests[2357].RequestServices = CreateServices(); + Requests[2357].Request.Method = "PATCH"; + Requests[2357].Request.Path = "/subscriptions/bb2f17af-8a24-/resourceGroups/27ff64e9-e53d-4d2/providers/Microsoft.DevTestLab/labs/dce0707/users/a9c74"; + Requests[2358] = new DefaultHttpContext(); + Requests[2358].RequestServices = CreateServices(); + Requests[2358].Request.Method = "PATCH"; + Requests[2358].Request.Path = "/subscriptions/93f9a48e-8ca1-/resourceGroups/c4347e9d-1108-4f9/providers/Microsoft.DevTestLab/labs/49fe762/virtualmachines/f664d"; + Requests[2359] = new DefaultHttpContext(); + Requests[2359].RequestServices = CreateServices(); + Requests[2359].Request.Method = "PATCH"; + Requests[2359].Request.Path = "/subscriptions/ccb72d11-ff53-/resourceGroups/e26fa2a9-8d17-4f5/providers/Microsoft.DevTestLab/labs/ef3c525/virtualnetworks/006a6"; + Requests[2360] = new DefaultHttpContext(); + Requests[2360].RequestServices = CreateServices(); + Requests[2360].Request.Method = "PATCH"; + Requests[2360].Request.Path = "/subscriptions/f3f9d5b7-5087-/resourceGroups/b61ee469-e0bd-4ae/providers/Microsoft.DomainRegistration/domains/c7751802-4/domainOwnershipIdentifiers/16098"; + Requests[2361] = new DefaultHttpContext(); + Requests[2361].RequestServices = CreateServices(); + Requests[2361].Request.Method = "GET"; + Requests[2361].Request.Path = "/subscriptions/3df2abb8-6fa8-/resourceGroups/3d9ad9c3-c6d4-44e/providers/Microsoft.DomainRegistration/domains/2050c7a8-e/operationresults/ae1ae908-8a"; + Requests[2362] = new DefaultHttpContext(); + Requests[2362].RequestServices = CreateServices(); + Requests[2362].Request.Method = "GET"; + Requests[2362].Request.Path = "/subscriptions/b6f4bb71-e069-/resourceGroups/a21a8972-bb22-45a/providers/Microsoft.EventHub/namespaces/9645d36a-02a6/AuthorizationRules/f2744b53-ae2c-4ab5-97"; + Requests[2363] = new DefaultHttpContext(); + Requests[2363].RequestServices = CreateServices(); + Requests[2363].Request.Method = "GET"; + Requests[2363].Request.Path = "/subscriptions/c0e0db28-8a61-/resourceGroups/f9b31486-b4a3-460/providers/Microsoft.EventHub/namespaces/70c7fc29-8a67/disasterRecoveryConfigs/b8eeb"; + Requests[2364] = new DefaultHttpContext(); + Requests[2364].RequestServices = CreateServices(); + Requests[2364].Request.Method = "GET"; + Requests[2364].Request.Path = "/subscriptions/62f02175-9947-/resourceGroups/e2e74e53-8a97-4c3/providers/Microsoft.EventHub/namespaces/0860ad1f-3220/eventhubs/5626a8df-8da"; + Requests[2365] = new DefaultHttpContext(); + Requests[2365].RequestServices = CreateServices(); + Requests[2365].Request.Method = "GET"; + Requests[2365].Request.Path = "/subscriptions/f6c0bd9f-0a6f-/resourceGroups/c8e6e615-a0b4-448/providers/Microsoft.Fabric.Admin/fabricLocations/1437c8bf/edgeGatewayPools/1006fe59-3dc1-4"; + Requests[2366] = new DefaultHttpContext(); + Requests[2366].RequestServices = CreateServices(); + Requests[2366].Request.Method = "GET"; + Requests[2366].Request.Path = "/subscriptions/2bb3f6fd-3bdd-/resourceGroups/389f62cf-5ca2-482/providers/Microsoft.Fabric.Admin/fabricLocations/64544a65/edgeGateways/bf9db153-de"; + Requests[2367] = new DefaultHttpContext(); + Requests[2367].RequestServices = CreateServices(); + Requests[2367].Request.Method = "GET"; + Requests[2367].Request.Path = "/subscriptions/a67703fb-5626-/resourceGroups/ec66b5c3-854d-469/providers/Microsoft.Fabric.Admin/fabricLocations/d58c000e/fileShares/3975ab81-"; + Requests[2368] = new DefaultHttpContext(); + Requests[2368].RequestServices = CreateServices(); + Requests[2368].Request.Method = "GET"; + Requests[2368].Request.Path = "/subscriptions/8c71f229-a5ce-/resourceGroups/21449182-ab2e-443/providers/Microsoft.Fabric.Admin/fabricLocations/8ab2eda3/infraRoleInstances/3f0e87d8-0418-468"; + Requests[2369] = new DefaultHttpContext(); + Requests[2369].RequestServices = CreateServices(); + Requests[2369].Request.Method = "GET"; + Requests[2369].Request.Path = "/subscriptions/0930992a-d0fd-/resourceGroups/bbc2f2d8-950f-495/providers/Microsoft.Fabric.Admin/fabricLocations/7ce28575/infraRoles/f018f649-"; + Requests[2370] = new DefaultHttpContext(); + Requests[2370].RequestServices = CreateServices(); + Requests[2370].Request.Method = "PUT"; + Requests[2370].Request.Path = "/subscriptions/251fefad-0350-/resourceGroups/c2f9c306-fff9-4b6/providers/Microsoft.Fabric.Admin/fabricLocations/86602410/ipPools/ce530c"; + Requests[2371] = new DefaultHttpContext(); + Requests[2371].RequestServices = CreateServices(); + Requests[2371].Request.Method = "GET"; + Requests[2371].Request.Path = "/subscriptions/caa0a1a0-437d-/resourceGroups/35f84b8f-e879-476/providers/Microsoft.Fabric.Admin/fabricLocations/abbcdc2f/logicalNetworks/1a531428-dd27-"; + Requests[2372] = new DefaultHttpContext(); + Requests[2372].RequestServices = CreateServices(); + Requests[2372].Request.Method = "GET"; + Requests[2372].Request.Path = "/subscriptions/9b92f784-4676-/resourceGroups/5e96e4e9-6ba3-416/providers/Microsoft.Fabric.Admin/fabricLocations/2b0841f6/macAddressPools/2adc2f42-d9dd-"; + Requests[2373] = new DefaultHttpContext(); + Requests[2373].RequestServices = CreateServices(); + Requests[2373].Request.Method = "GET"; + Requests[2373].Request.Path = "/subscriptions/58d15911-701c-/resourceGroups/88ea7c7d-cb30-4e7/providers/Microsoft.Fabric.Admin/fabricLocations/2054e7c5/scaleUnitNodes/7c78a792-e014"; + Requests[2374] = new DefaultHttpContext(); + Requests[2374].RequestServices = CreateServices(); + Requests[2374].Request.Method = "GET"; + Requests[2374].Request.Path = "/subscriptions/e4b39e80-6852-/resourceGroups/b13387e1-0676-440/providers/Microsoft.Fabric.Admin/fabricLocations/8f0724ed/scaleUnits/6eea35eb-"; + Requests[2375] = new DefaultHttpContext(); + Requests[2375].RequestServices = CreateServices(); + Requests[2375].Request.Method = "GET"; + Requests[2375].Request.Path = "/subscriptions/f386e5de-66ae-/resourceGroups/17750981-5ba2-429/providers/Microsoft.Fabric.Admin/fabricLocations/38dae645/slbMuxInstances/cc375262-0ea7-"; + Requests[2376] = new DefaultHttpContext(); + Requests[2376].RequestServices = CreateServices(); + Requests[2376].Request.Method = "GET"; + Requests[2376].Request.Path = "/subscriptions/dd4a181d-15dd-/resourceGroups/7960e2f4-aacc-431/providers/Microsoft.Fabric.Admin/fabricLocations/a71109c6/storageSubSystems/47c86e85-a089-45"; + Requests[2377] = new DefaultHttpContext(); + Requests[2377].RequestServices = CreateServices(); + Requests[2377].Request.Method = "DELETE"; + Requests[2377].Request.Path = "/subscriptions/120acf8b-81f7-/resourceGroups/0a288bfb-ef88-451/providers/Microsoft.HDInsight/clusters/9f7c3914-6e/applications/b7663aa4-9c64-4"; + Requests[2378] = new DefaultHttpContext(); + Requests[2378].RequestServices = CreateServices(); + Requests[2378].Request.Method = "GET"; + Requests[2378].Request.Path = "/subscriptions/639fbb23-b3ec-/resourceGroups/f54178c0-3472-499/providers/Microsoft.HDInsight/clusters/88a67d80-83/configurations/483a0e56-548d-4dd"; + Requests[2379] = new DefaultHttpContext(); + Requests[2379].RequestServices = CreateServices(); + Requests[2379].Request.Method = "DELETE"; + Requests[2379].Request.Path = "/subscriptions/0d8960be-a94c-/resourceGroups/8bd9db9c-cfbe-490/providers/Microsoft.HDInsight/clusters/bf01fea5-8b/extensions/4eaadbf4-3f53"; + Requests[2380] = new DefaultHttpContext(); + Requests[2380].RequestServices = CreateServices(); + Requests[2380].Request.Method = "DELETE"; + Requests[2380].Request.Path = "/subscriptions/4b922402-3f63-/resourceGroups/55224718-0ea8-47e/providers/Microsoft.HDInsight/clusters/84810593-2e/scriptActions/25198bec-5"; + Requests[2381] = new DefaultHttpContext(); + Requests[2381].RequestServices = CreateServices(); + Requests[2381].Request.Method = "GET"; + Requests[2381].Request.Path = "/subscriptions/ef80fa7b-efb5-/resourceGroups/35b3a32f-bdd3-4f8/providers/Microsoft.HDInsight/clusters/f1592e4d-dc/scriptExecutionHistory/c787afc3-b2d7-47d"; + Requests[2382] = new DefaultHttpContext(); + Requests[2382].RequestServices = CreateServices(); + Requests[2382].Request.Method = "PUT"; + Requests[2382].Request.Path = "/subscriptions/6c7253ed-a253-/resourceGroups/8a801c33-e80c-4a5/providers/Microsoft.InfrastructureInsights.Admin/regionHealths/06baf012/alerts/6d9c1f11-"; + Requests[2383] = new DefaultHttpContext(); + Requests[2383].RequestServices = CreateServices(); + Requests[2383].Request.Method = "GET"; + Requests[2383].Request.Path = "/subscriptions/1d367374-c854-/resourceGroups/ff2d8ad1-e4ec-465/providers/Microsoft.InfrastructureInsights.Admin/regionHealths/be118d73/serviceHealths/397c7c7e-8e23"; + Requests[2384] = new DefaultHttpContext(); + Requests[2384].RequestServices = CreateServices(); + Requests[2384].Request.Method = "GET"; + Requests[2384].Request.Path = "/subscriptions/55da9520-6e8d-/resourcegroups/ddc2bca6-b314-446/providers/microsoft.insights/alertrules/73b4d527/incidents/5c2a00c1-62d"; + Requests[2385] = new DefaultHttpContext(); + Requests[2385].RequestServices = CreateServices(); + Requests[2385].Request.Method = "GET"; + Requests[2385].Request.Path = "/subscriptions/1636bbfc-710c-/resourceGroups/4db2f040-081e-4d3/providers/Microsoft.Insights/components/50adede6-622/Annotations/8574cae1-1bb"; + Requests[2386] = new DefaultHttpContext(); + Requests[2386].RequestServices = CreateServices(); + Requests[2386].Request.Method = "GET"; + Requests[2386].Request.Path = "/subscriptions/7a90fe57-6701-/resourceGroups/900866df-27eb-4d2/providers/Microsoft.Insights/components/828b7837-020/APIKeys/d9201"; + Requests[2387] = new DefaultHttpContext(); + Requests[2387].RequestServices = CreateServices(); + Requests[2387].Request.Method = "PUT"; + Requests[2387].Request.Path = "/subscriptions/2732dbbf-ead3-/resourceGroups/ef5bbe1c-9987-4fc/providers/Microsoft.Insights/components/8d3541a7-ab8/exportconfiguration/b6240d45"; + Requests[2388] = new DefaultHttpContext(); + Requests[2388].RequestServices = CreateServices(); + Requests[2388].Request.Method = "DELETE"; + Requests[2388].Request.Path = "/subscriptions/c228f55c-4fbe-/resourceGroups/84e9a126-f85d-4f7/providers/Microsoft.Insights/components/603241d2-b1f/favorites/9cad034f-b"; + Requests[2389] = new DefaultHttpContext(); + Requests[2389].RequestServices = CreateServices(); + Requests[2389].Request.Method = "PUT"; + Requests[2389].Request.Path = "/subscriptions/5ec56181-6472-/resourceGroups/f710bfd2-f403-47e/providers/Microsoft.Insights/components/8a265f1d-8f5/ProactiveDetectionConfigs/8ec2d32d-160a-4"; + Requests[2390] = new DefaultHttpContext(); + Requests[2390].RequestServices = CreateServices(); + Requests[2390].Request.Method = "DELETE"; + Requests[2390].Request.Path = "/subscriptions/1d32a7ca-b2cd-/resourceGroups/853abcfd-de8e-4ff/providers/Microsoft.Insights/components/cf33bc0a-0d7/WorkItemConfigs/1ff990f7-0325-44"; + Requests[2391] = new DefaultHttpContext(); + Requests[2391].RequestServices = CreateServices(); + Requests[2391].Request.Method = "GET"; + Requests[2391].Request.Path = "/subscriptions/75e97d55-f531-/resourceGroups/4a5218e9-788c-467/providers/Microsoft.Insights/metricAlerts/e9ab9b38/status/df1940d4-4"; + Requests[2392] = new DefaultHttpContext(); + Requests[2392].RequestServices = CreateServices(); + Requests[2392].Request.Method = "PUT"; + Requests[2392].Request.Path = "/subscriptions/8acf5ef1-31e2-/resourceGroups/d8dfe619-7c92-4bd/providers/Microsoft.KeyVault/vaults/6f1ce4a0-/accessPolicies/514791c0-374c"; + Requests[2393] = new DefaultHttpContext(); + Requests[2393].RequestServices = CreateServices(); + Requests[2393].Request.Method = "GET"; + Requests[2393].Request.Path = "/subscriptions/d5965057-ec25-/resourceGroups/a41b5f98-b1ad-48d/providers/Microsoft.KeyVault/vaults/8f5bb811-/secrets/287c19c8-2"; + Requests[2394] = new DefaultHttpContext(); + Requests[2394].RequestServices = CreateServices(); + Requests[2394].Request.Method = "DELETE"; + Requests[2394].Request.Path = "/subscriptions/38941204-0408-/resourceGroups/a0350016-a579-455/providers/Microsoft.Logic/integrationAccounts/64e1d6e5-8031-430a-ac1/agreements/c4845088-60eb"; + Requests[2395] = new DefaultHttpContext(); + Requests[2395].RequestServices = CreateServices(); + Requests[2395].Request.Method = "DELETE"; + Requests[2395].Request.Path = "/subscriptions/1d9be18b-7b53-/resourceGroups/e78f2732-63fa-459/providers/Microsoft.Logic/integrationAccounts/eb39e4da-9176-4d77-89c/assemblies/61a06cbc-28cb-4a92-b"; + Requests[2396] = new DefaultHttpContext(); + Requests[2396].RequestServices = CreateServices(); + Requests[2396].Request.Method = "DELETE"; + Requests[2396].Request.Path = "/subscriptions/d80757d6-7ba8-/resourceGroups/18f70cff-3e9c-42f/providers/Microsoft.Logic/integrationAccounts/535a0795-ef33-493f-bff/batchConfigurations/5f0f722b-0aac-40e4-99a"; + Requests[2397] = new DefaultHttpContext(); + Requests[2397].RequestServices = CreateServices(); + Requests[2397].Request.Method = "DELETE"; + Requests[2397].Request.Path = "/subscriptions/51111330-eaa7-/resourceGroups/ed33b2f1-c1ca-4ec/providers/Microsoft.Logic/integrationAccounts/6bfdefc0-efc7-4f11-a6b/certificates/1c83f70b-f5c9-4"; + Requests[2398] = new DefaultHttpContext(); + Requests[2398].RequestServices = CreateServices(); + Requests[2398].Request.Method = "DELETE"; + Requests[2398].Request.Path = "/subscriptions/b3a30350-8473-/resourceGroups/e1afd431-905d-47d/providers/Microsoft.Logic/integrationAccounts/8b10236b-9af7-4790-af5/maps/43bee1f"; + Requests[2399] = new DefaultHttpContext(); + Requests[2399].RequestServices = CreateServices(); + Requests[2399].Request.Method = "DELETE"; + Requests[2399].Request.Path = "/subscriptions/1b5e085c-0b07-/resourceGroups/ed7b5a7c-1855-476/providers/Microsoft.Logic/integrationAccounts/266a93ef-a061-4c98-a53/partners/64c08541-94"; + Requests[2400] = new DefaultHttpContext(); + Requests[2400].RequestServices = CreateServices(); + Requests[2400].Request.Method = "DELETE"; + Requests[2400].Request.Path = "/subscriptions/8d606594-0a4d-/resourceGroups/b0738ce5-5f80-4a1/providers/Microsoft.Logic/integrationAccounts/19d08eb1-1dbc-4f78-829/schemas/a36bbe25-d"; + Requests[2401] = new DefaultHttpContext(); + Requests[2401].RequestServices = CreateServices(); + Requests[2401].Request.Method = "DELETE"; + Requests[2401].Request.Path = "/subscriptions/3c570952-c35f-/resourceGroups/9db66adf-44c4-4a2/providers/Microsoft.Logic/integrationAccounts/84842a10-a559-44e5-9af/sessions/9917abc1-24"; + Requests[2402] = new DefaultHttpContext(); + Requests[2402].RequestServices = CreateServices(); + Requests[2402].Request.Method = "DELETE"; + Requests[2402].Request.Path = "/subscriptions/487d3785-f42d-/resourceGroups/72841226-d225-4b4/providers/Microsoft.Logic/workflows/84009e97-90d/accessKeys/9625e88a-5e1a"; + Requests[2403] = new DefaultHttpContext(); + Requests[2403].RequestServices = CreateServices(); + Requests[2403].Request.Method = "GET"; + Requests[2403].Request.Path = "/subscriptions/e80930a0-d1c8-/resourceGroups/65dba194-6858-4e2/providers/Microsoft.Logic/workflows/b0704056-ca6/runs/5fef1f6"; + Requests[2404] = new DefaultHttpContext(); + Requests[2404].RequestServices = CreateServices(); + Requests[2404].Request.Method = "GET"; + Requests[2404].Request.Path = "/subscriptions/f63694ef-c74a-/resourceGroups/79d62b98-7797-476/providers/Microsoft.Logic/workflows/d91c98e2-fea/triggers/76e3c8d8-dc"; + Requests[2405] = new DefaultHttpContext(); + Requests[2405].RequestServices = CreateServices(); + Requests[2405].Request.Method = "GET"; + Requests[2405].Request.Path = "/subscriptions/015779f6-a103-/resourceGroups/f3e29dfe-71d9-44e/providers/Microsoft.Logic/workflows/21512f37-036/versions/94972ae5-"; + Requests[2406] = new DefaultHttpContext(); + Requests[2406].RequestServices = CreateServices(); + Requests[2406].Request.Method = "GET"; + Requests[2406].Request.Path = "/subscriptions/f329c920-1786-/resourceGroups/03d74d5c-7eaf-4ac/providers/Microsoft.MachineLearning/commitmentPlans/6bc278d2-d397-41c2/commitmentAssociations/4f1cf150-ab6e-4a82-9a19-8"; + Requests[2407] = new DefaultHttpContext(); + Requests[2407].RequestServices = CreateServices(); + Requests[2407].Request.Method = "PATCH"; + Requests[2407].Request.Path = "/subscriptions/9c7692ff-2a96-/resourceGroups/6386846a-a34c-473/providers/Microsoft.MachineLearningExperimentation/accounts/3791db73-f8/workspaces/e7c0fd88-68e1"; + Requests[2408] = new DefaultHttpContext(); + Requests[2408].RequestServices = CreateServices(); + Requests[2408].Request.Method = "PATCH"; + Requests[2408].Request.Path = "/subscriptions/57b16930-aeca-/resourceGroups/103c373d-be61-4e6/providers/Microsoft.Media/mediaServices/3b2f3dfe-7e/assets/df07d31e-"; + Requests[2409] = new DefaultHttpContext(); + Requests[2409].RequestServices = CreateServices(); + Requests[2409].Request.Method = "PATCH"; + Requests[2409].Request.Path = "/subscriptions/b4d18cef-dac9-/resourceGroups/88b91f25-0c58-45e/providers/Microsoft.Media/mediaServices/c3a84410-da/contentKeyPolicies/e816bd56-fe64-4624-8"; + Requests[2410] = new DefaultHttpContext(); + Requests[2410].RequestServices = CreateServices(); + Requests[2410].Request.Method = "DELETE"; + Requests[2410].Request.Path = "/subscriptions/f1796375-219f-/resourceGroups/d7c2d566-3786-46a/providers/Microsoft.Media/mediaservices/438e1e61-d8/liveEvents/18847797-060d"; + Requests[2411] = new DefaultHttpContext(); + Requests[2411].RequestServices = CreateServices(); + Requests[2411].Request.Method = "DELETE"; + Requests[2411].Request.Path = "/subscriptions/dd0c934a-5f49-/resourceGroups/5287c131-f6e7-4c3/providers/Microsoft.Media/mediaservices/c8a8602a-fd/streamingEndpoints/e51945a4-e6c6-481f-aa"; + Requests[2412] = new DefaultHttpContext(); + Requests[2412].RequestServices = CreateServices(); + Requests[2412].Request.Method = "DELETE"; + Requests[2412].Request.Path = "/subscriptions/a5c6b258-2c2e-/resourceGroups/1b41fa59-c1e7-409/providers/Microsoft.Media/mediaServices/5397d0c5-40/streamingLocators/bc25354a-c891-437d-b"; + Requests[2413] = new DefaultHttpContext(); + Requests[2413].RequestServices = CreateServices(); + Requests[2413].Request.Method = "DELETE"; + Requests[2413].Request.Path = "/subscriptions/e4d8f6a4-140f-/resourceGroups/2292d3f7-e7a7-44a/providers/Microsoft.Media/mediaServices/3c1b90df-f4/streamingPolicies/6dbeb69b-275d-4421-"; + Requests[2414] = new DefaultHttpContext(); + Requests[2414].RequestServices = CreateServices(); + Requests[2414].Request.Method = "PATCH"; + Requests[2414].Request.Path = "/subscriptions/c5dbf00a-dd6d-/resourceGroups/bfda12bc-7969-426/providers/Microsoft.Media/mediaServices/dc650ac2-2a/transforms/8044e67c-6ae9"; + Requests[2415] = new DefaultHttpContext(); + Requests[2415].RequestServices = CreateServices(); + Requests[2415].Request.Method = "DELETE"; + Requests[2415].Request.Path = "/subscriptions/ef47a39b-1c4b-/resourceGroups/64c370c0-0a2c-400/providers/Microsoft.Migrate/projects/1bfb03ba-b1/groups/62c43570-"; + Requests[2416] = new DefaultHttpContext(); + Requests[2416].RequestServices = CreateServices(); + Requests[2416].Request.Method = "GET"; + Requests[2416].Request.Path = "/subscriptions/774a04cf-e6e6-/resourceGroups/c75a7454-093c-4e7/providers/Microsoft.Migrate/projects/52c59666-36/machines/16a7d78b-1a"; + Requests[2417] = new DefaultHttpContext(); + Requests[2417].RequestServices = CreateServices(); + Requests[2417].Request.Method = "PUT"; + Requests[2417].Request.Path = "/subscriptions/2e20acfc-5cd5-/resourceGroups/25f75c93-706b-445/providers/Microsoft.Network/expressRouteCircuits/26f5eef2-75/authorizations/8e78000e-c3d0-4c7"; + Requests[2418] = new DefaultHttpContext(); + Requests[2418].RequestServices = CreateServices(); + Requests[2418].Request.Method = "PUT"; + Requests[2418].Request.Path = "/subscriptions/3b16f5ef-dd47-/resourceGroups/2f777f94-1728-46e/providers/Microsoft.Network/expressRouteCircuits/cdefeb93-5a/peerings/bc9ad17e-8f"; + Requests[2419] = new DefaultHttpContext(); + Requests[2419].RequestServices = CreateServices(); + Requests[2419].Request.Method = "PUT"; + Requests[2419].Request.Path = "/subscriptions/8f061b10-df89-/resourceGroups/bb17f0d4-e629-453/providers/Microsoft.Network/expressRouteCrossConnections/c5e3d82c-4263-4920-/peerings/0c5d1c91-e0"; + Requests[2420] = new DefaultHttpContext(); + Requests[2420].RequestServices = CreateServices(); + Requests[2420].Request.Method = "GET"; + Requests[2420].Request.Path = "/subscriptions/4619e9ac-1bc6-/resourceGroups/16431962-2b93-438/providers/Microsoft.Network/loadBalancers/9d14c951-836b-4b/backendAddressPools/3876deb6-5bd9-4121-812"; + Requests[2421] = new DefaultHttpContext(); + Requests[2421].RequestServices = CreateServices(); + Requests[2421].Request.Method = "GET"; + Requests[2421].Request.Path = "/subscriptions/6991fc6c-cb9c-/resourceGroups/b00fbbb6-b80a-4fb/providers/Microsoft.Network/loadBalancers/d803cbd0-6674-43/frontendIPConfigurations/5d18df29-43f4-451e-9001-b27"; + Requests[2422] = new DefaultHttpContext(); + Requests[2422].RequestServices = CreateServices(); + Requests[2422].Request.Method = "PUT"; + Requests[2422].Request.Path = "/subscriptions/e90c890b-2985-/resourceGroups/938ea0dc-651d-4d3/providers/Microsoft.Network/loadBalancers/534f812d-74d8-4e/inboundNatRules/61756ab6-0cfc-425e"; + Requests[2423] = new DefaultHttpContext(); + Requests[2423].RequestServices = CreateServices(); + Requests[2423].Request.Method = "GET"; + Requests[2423].Request.Path = "/subscriptions/f1fd6063-302d-/resourceGroups/515b82eb-ce9f-4f9/providers/Microsoft.Network/loadBalancers/6a281b7b-065b-44/loadBalancingRules/2067d23b-7674-484e-8e"; + Requests[2424] = new DefaultHttpContext(); + Requests[2424].RequestServices = CreateServices(); + Requests[2424].Request.Method = "GET"; + Requests[2424].Request.Path = "/subscriptions/665cfb71-4c28-/resourceGroups/c3256318-d1f0-478/providers/Microsoft.Network/loadBalancers/ee122adf-a4cb-4b/probes/e746b0b2-"; + Requests[2425] = new DefaultHttpContext(); + Requests[2425].RequestServices = CreateServices(); + Requests[2425].Request.Method = "GET"; + Requests[2425].Request.Path = "/subscriptions/1dbfd908-4171-/resourceGroups/a13d3ee9-8877-415/providers/Microsoft.Network/networkInterfaces/3ef4b4f1-6a66-4759-8/ipConfigurations/7f8bb67c-cce3-40a8-"; + Requests[2426] = new DefaultHttpContext(); + Requests[2426].RequestServices = CreateServices(); + Requests[2426].Request.Method = "GET"; + Requests[2426].Request.Path = "/subscriptions/350e2eea-764d-/resourceGroups/eeca171b-8418-4af/providers/Microsoft.Network/networkSecurityGroups/e0febdc5-4a14-46f0-a820-/defaultSecurityRules/d87a2180-8f77-4a1f-af38"; + Requests[2427] = new DefaultHttpContext(); + Requests[2427].RequestServices = CreateServices(); + Requests[2427].Request.Method = "PUT"; + Requests[2427].Request.Path = "/subscriptions/44e9fe8c-d566-/resourceGroups/141e96af-e088-472/providers/Microsoft.Network/networkSecurityGroups/f009ea65-af5b-4cea-be8b-/securityRules/dd29fe1b-2f46-44"; + Requests[2428] = new DefaultHttpContext(); + Requests[2428].RequestServices = CreateServices(); + Requests[2428].Request.Method = "DELETE"; + Requests[2428].Request.Path = "/subscriptions/56359f0b-a113-/resourceGroups/c49bd5ea-a45c-493/providers/Microsoft.Network/networkWatchers/efe43df9-7b65-4368/connectionMonitors/17c8edbf-3e8d-4182-a1"; + Requests[2429] = new DefaultHttpContext(); + Requests[2429].RequestServices = CreateServices(); + Requests[2429].Request.Method = "DELETE"; + Requests[2429].Request.Path = "/subscriptions/aad5e6ed-3cd4-/resourceGroups/faf9af3a-9042-408/providers/Microsoft.Network/networkWatchers/31df7f48-634b-4dd6/packetCaptures/361253df-4626-439"; + Requests[2430] = new DefaultHttpContext(); + Requests[2430].RequestServices = CreateServices(); + Requests[2430].Request.Method = "PATCH"; + Requests[2430].Request.Path = "/subscriptions/8a7042ab-720d-/resourceGroups/399b98d3-566f-404/providers/Microsoft.Network/routeFilters/607b4ae2-bfb0-4/routeFilterRules/747a8763"; + Requests[2431] = new DefaultHttpContext(); + Requests[2431].RequestServices = CreateServices(); + Requests[2431].Request.Method = "PUT"; + Requests[2431].Request.Path = "/subscriptions/a91b6a6c-f03d-/resourceGroups/7aac77d3-567b-4dc/providers/Microsoft.Network/routeTables/fa49c3d5-80df-/routes/06720a12-"; + Requests[2432] = new DefaultHttpContext(); + Requests[2432].RequestServices = CreateServices(); + Requests[2432].Request.Method = "GET"; + Requests[2432].Request.Path = "/subscriptions/91745a72-6bec-/resourceGroups/88257be2-e83e-4cc/providers/Microsoft.Network/trafficmanagerprofiles/11767a43-20/heatMaps/ff24d473-c6"; + Requests[2433] = new DefaultHttpContext(); + Requests[2433].RequestServices = CreateServices(); + Requests[2433].Request.Method = "PUT"; + Requests[2433].Request.Path = "/subscriptions/a2286fd5-887c-/resourceGroups/1f1e85d5-12f8-491/providers/Microsoft.Network/virtualNetworks/0fd5dd69-8db2-4eae/subnets/37da8a14-5"; + Requests[2434] = new DefaultHttpContext(); + Requests[2434].RequestServices = CreateServices(); + Requests[2434].Request.Method = "PUT"; + Requests[2434].Request.Path = "/subscriptions/7e185384-b72b-/resourceGroups/eade2ab7-cbc8-484/providers/Microsoft.Network/virtualNetworks/8de643e8-cefb-472e/virtualNetworkPeerings/5d679b6e-1657-45c9-b85e-5"; + Requests[2435] = new DefaultHttpContext(); + Requests[2435].RequestServices = CreateServices(); + Requests[2435].Request.Method = "GET"; + Requests[2435].Request.Path = "/subscriptions/53efdcad-8ba1-/resourceGroups/eac48ca3-e0da-477/providers/Microsoft.NotificationHubs/namespaces/5e8b48cb-d56a/AuthorizationRules/77aa2d94-c8cc-40c2-a1"; + Requests[2436] = new DefaultHttpContext(); + Requests[2436].RequestServices = CreateServices(); + Requests[2436].Request.Method = "GET"; + Requests[2436].Request.Path = "/subscriptions/9386548b-20aa-/resourceGroups/d9d60111-9bb6-4be/providers/Microsoft.NotificationHubs/namespaces/cb5a7684-ff3d/notificationHubs/127e7c94-4bad-4108-"; + Requests[2437] = new DefaultHttpContext(); + Requests[2437].RequestServices = CreateServices(); + Requests[2437].Request.Method = "GET"; + Requests[2437].Request.Path = "/subscriptions/0a09ce83-9a54-/resourcegroups/9ae2124f-e7ca-463/providers/Microsoft.OperationalInsights/workspaces/c971341d-902f/dataSources/983f939c-b3c2-"; + Requests[2438] = new DefaultHttpContext(); + Requests[2438].RequestServices = CreateServices(); + Requests[2438].Request.Method = "GET"; + Requests[2438].Request.Path = "/subscriptions/739e20b4-3a13-/resourcegroups/7accf356-1e46-45d/providers/Microsoft.OperationalInsights/workspaces/4ea2ad6a-fe66/linkedServices/690d2573-cbe1-493"; + Requests[2439] = new DefaultHttpContext(); + Requests[2439].RequestServices = CreateServices(); + Requests[2439].Request.Method = "GET"; + Requests[2439].Request.Path = "/subscriptions/96a452a9-d2c7-/resourcegroups/99c75739-0764-403/providers/Microsoft.OperationalInsights/workspaces/4c5cb484-059c/savedSearches/eb6679eb-2be0-4"; + Requests[2440] = new DefaultHttpContext(); + Requests[2440].RequestServices = CreateServices(); + Requests[2440].Request.Method = "POST"; + Requests[2440].Request.Path = "/subscriptions/2ad94015-a0be-/resourcegroups/e976b412-9342-4a2/providers/Microsoft.OperationalInsights/workspaces/debecc9f-005d/search/a299b"; + Requests[2441] = new DefaultHttpContext(); + Requests[2441].RequestServices = CreateServices(); + Requests[2441].Request.Method = "DELETE"; + Requests[2441].Request.Path = "/subscriptions/1da643d4-e99d-/resourcegroups/5d1c09bc-65b5-49e/providers/Microsoft.OperationalInsights/workspaces/c46f4506-917e/storageInsightConfigs/a87f823d-0f65-4e43"; + Requests[2442] = new DefaultHttpContext(); + Requests[2442].RequestServices = CreateServices(); + Requests[2442].Request.Method = "PUT"; + Requests[2442].Request.Path = "/Subscriptions/6f7e1fbb-6919-/resourceGroups/4e6e061a-03eb-4a2/providers/Microsoft.RecoveryServices/vaults/a584c66d-cfc/replicationAlertSettings/e25663c0-a78d-4d"; + Requests[2443] = new DefaultHttpContext(); + Requests[2443].RequestServices = CreateServices(); + Requests[2443].Request.Method = "GET"; + Requests[2443].Request.Path = "/Subscriptions/66de8c14-4e19-/resourceGroups/ceb8b99c-24a3-41a/providers/Microsoft.RecoveryServices/vaults/be019a9d-949/replicationEvents/49be487a-"; + Requests[2444] = new DefaultHttpContext(); + Requests[2444].RequestServices = CreateServices(); + Requests[2444].Request.Method = "DELETE"; + Requests[2444].Request.Path = "/Subscriptions/19971825-e100-/resourceGroups/af8b0d75-ac27-436/providers/Microsoft.RecoveryServices/vaults/42b6418a-7d1/replicationFabrics/cd00e3bf-3"; + Requests[2445] = new DefaultHttpContext(); + Requests[2445].RequestServices = CreateServices(); + Requests[2445].Request.Method = "GET"; + Requests[2445].Request.Path = "/Subscriptions/1b2ce57e-9c46-/resourceGroups/fed4fed8-9f6f-4f5/providers/Microsoft.RecoveryServices/vaults/dd7a4489-fce/replicationJobs/cc47357"; + Requests[2446] = new DefaultHttpContext(); + Requests[2446].RequestServices = CreateServices(); + Requests[2446].Request.Method = "PATCH"; + Requests[2446].Request.Path = "/Subscriptions/76b98120-f344-/resourceGroups/a147e19b-aa56-469/providers/Microsoft.RecoveryServices/vaults/349d54fb-43e/replicationPolicies/0288510b-7"; + Requests[2447] = new DefaultHttpContext(); + Requests[2447].RequestServices = CreateServices(); + Requests[2447].Request.Method = "PATCH"; + Requests[2447].Request.Path = "/Subscriptions/91f0fee1-9343-/resourceGroups/94948d61-68df-45c/providers/Microsoft.RecoveryServices/vaults/d6edceb9-edb/replicationRecoveryPlans/f00792c7-711e-40"; + Requests[2448] = new DefaultHttpContext(); + Requests[2448].RequestServices = CreateServices(); + Requests[2448].Request.Method = "GET"; + Requests[2448].Request.Path = "/Subscriptions/8da1450d-ee50-/resourceGroups/8d2eec9c-591f-42f/providers/Microsoft.RecoveryServices/vaults/bf2adf8a-/backupEngines/a0a7e821-286d-4c"; + Requests[2449] = new DefaultHttpContext(); + Requests[2449].RequestServices = CreateServices(); + Requests[2449].Request.Method = "GET"; + Requests[2449].Request.Path = "/Subscriptions/0e35bbb4-f13f-/resourceGroups/51ccdd95-3863-4d3/providers/Microsoft.RecoveryServices/vaults/50f6040f-/backupJobs/d45e0b8"; + Requests[2450] = new DefaultHttpContext(); + Requests[2450].RequestServices = CreateServices(); + Requests[2450].Request.Method = "GET"; + Requests[2450].Request.Path = "/Subscriptions/aa1c2e64-e4ef-/resourceGroups/0a363f73-eb3e-4a7/providers/Microsoft.RecoveryServices/vaults/6ffd6d8e-/backupOperationResults/4649c314-d7"; + Requests[2451] = new DefaultHttpContext(); + Requests[2451].RequestServices = CreateServices(); + Requests[2451].Request.Method = "GET"; + Requests[2451].Request.Path = "/Subscriptions/1e9e37b0-10c0-/resourceGroups/be43e211-b602-4ff/providers/Microsoft.RecoveryServices/vaults/e1d12fca-/backupOperations/6de4d5c4-74"; + Requests[2452] = new DefaultHttpContext(); + Requests[2452].RequestServices = CreateServices(); + Requests[2452].Request.Method = "DELETE"; + Requests[2452].Request.Path = "/Subscriptions/6a886af5-c60b-/resourceGroups/d074c0e3-096a-402/providers/Microsoft.RecoveryServices/vaults/9f981c9b-/backupPolicies/4b05acf8-2"; + Requests[2453] = new DefaultHttpContext(); + Requests[2453].RequestServices = CreateServices(); + Requests[2453].Request.Method = "PUT"; + Requests[2453].Request.Path = "/Subscriptions/02c223ac-901d-/resourceGroups/aacf7736-97e8-488/providers/Microsoft.RecoveryServices/vaults/b8b61806-/certificates/a950825d-f967-4"; + Requests[2454] = new DefaultHttpContext(); + Requests[2454].RequestServices = CreateServices(); + Requests[2454].Request.Method = "DELETE"; + Requests[2454].Request.Path = "/subscriptions/2c42a1a2-3502-/resourceGroups/16da4343-6b62-486/providers/Microsoft.RecoveryServices/vaults/3a2ff201-/registeredIdentities/15439a05-184"; + Requests[2455] = new DefaultHttpContext(); + Requests[2455].RequestServices = CreateServices(); + Requests[2455].Request.Method = "GET"; + Requests[2455].Request.Path = "/subscriptions/1a9873ea-7ae6-/resourceGroups/e61c8253-a076-4f0/providers/Microsoft.Relay/namespaces/49536cc6-b5e7/authorizationRules/6f41ef79-0985-42de-b6"; + Requests[2456] = new DefaultHttpContext(); + Requests[2456].RequestServices = CreateServices(); + Requests[2456].Request.Method = "GET"; + Requests[2456].Request.Path = "/subscriptions/62f3d436-b6c0-/resourceGroups/2af25ecc-c8f6-4b5/providers/Microsoft.Relay/namespaces/ef80ccb9-9ea8/hybridConnections/4a447fec-401e-4165-9"; + Requests[2457] = new DefaultHttpContext(); + Requests[2457].RequestServices = CreateServices(); + Requests[2457].Request.Method = "GET"; + Requests[2457].Request.Path = "/subscriptions/11beaeb4-f899-/resourceGroups/b4543eda-808d-4a5/providers/Microsoft.Relay/namespaces/d2953da7-feb1/wcfRelays/db671ccd-"; + Requests[2458] = new DefaultHttpContext(); + Requests[2458].RequestServices = CreateServices(); + Requests[2458].Request.Method = "DELETE"; + Requests[2458].Request.Path = "/subscriptions/74d576c8-cba6-/resourceGroups/9b28bde1-9896-49d/providers/Microsoft.Scheduler/jobCollections/2c8a53e1-aa42-49a/jobs/80cef5f"; + Requests[2459] = new DefaultHttpContext(); + Requests[2459].RequestServices = CreateServices(); + Requests[2459].Request.Method = "POST"; + Requests[2459].Request.Path = "/subscriptions/1d994ecf-6d3b-/resourceGroups/485fd85e-d4fd-47c/providers/Microsoft.Search/searchServices/9434380b-d27f-45e/createQueryKey/a22ec"; + Requests[2460] = new DefaultHttpContext(); + Requests[2460].RequestServices = CreateServices(); + Requests[2460].Request.Method = "DELETE"; + Requests[2460].Request.Path = "/subscriptions/2f136d1a-cf2b-/resourceGroups/02fb06bb-57a2-406/providers/Microsoft.Search/searchServices/bcc2c7d8-2440-4c4/deleteQueryKey/991cc"; + Requests[2461] = new DefaultHttpContext(); + Requests[2461].RequestServices = CreateServices(); + Requests[2461].Request.Method = "POST"; + Requests[2461].Request.Path = "/subscriptions/c318f934-6474-/resourceGroups/901b5d5a-509b-4ed/providers/Microsoft.Search/searchServices/96de22f1-aee2-46b/regenerateAdminKey/6a0c9e6"; + Requests[2462] = new DefaultHttpContext(); + Requests[2462].RequestServices = CreateServices(); + Requests[2462].Request.Method = "GET"; + Requests[2462].Request.Path = "/subscriptions/21107930-bc05-/resourceGroups/47d77ee2-49ee-447/providers/Microsoft.Security/locations/25c8cebb-32/alerts/b51b2e02-"; + Requests[2463] = new DefaultHttpContext(); + Requests[2463].RequestServices = CreateServices(); + Requests[2463].Request.Method = "GET"; + Requests[2463].Request.Path = "/subscriptions/458030dc-5188-/resourceGroups/d154bdd7-1cb0-4e4/providers/Microsoft.Security/locations/0b21856c-43/discoveredSecuritySolutions/5721aa2f-fdcb-4d43-bb92-1bcd04"; + Requests[2464] = new DefaultHttpContext(); + Requests[2464].RequestServices = CreateServices(); + Requests[2464].Request.Method = "GET"; + Requests[2464].Request.Path = "/subscriptions/b38fa1d2-3e86-/resourceGroups/609da5ca-1236-482/providers/Microsoft.Security/locations/9bcb9568-98/ExternalSecuritySolutions/fd1490a9-dcf4-4ea9-80a5-a894e"; + Requests[2465] = new DefaultHttpContext(); + Requests[2465].RequestServices = CreateServices(); + Requests[2465].Request.Method = "DELETE"; + Requests[2465].Request.Path = "/subscriptions/a25f28b9-58dd-/resourceGroups/54a0a4c1-2b2f-4fb/providers/Microsoft.Security/locations/62edd22c-f1/jitNetworkAccessPolicies/8b5fb967-5eea-44f0-99a5-01"; + Requests[2466] = new DefaultHttpContext(); + Requests[2466].RequestServices = CreateServices(); + Requests[2466].Request.Method = "GET"; + Requests[2466].Request.Path = "/subscriptions/112eac8e-f9cd-/resourceGroups/b9c6dc8f-6a97-4a1/providers/Microsoft.Security/locations/a5334756-56/tasks/f9cb84d4"; + Requests[2467] = new DefaultHttpContext(); + Requests[2467].RequestServices = CreateServices(); + Requests[2467].Request.Method = "GET"; + Requests[2467].Request.Path = "/subscriptions/da565a91-28b5-/resourceGroups/7afa0fce-b12f-43c/providers/Microsoft.ServerManagement/nodes/440df9d5/sessions/76ef994"; + Requests[2468] = new DefaultHttpContext(); + Requests[2468].RequestServices = CreateServices(); + Requests[2468].Request.Method = "GET"; + Requests[2468].Request.Path = "/subscriptions/494f5124-390a-/resourceGroups/145193d5-3e2b-4df/providers/Microsoft.ServiceBus/namespaces/b56b7854-2dba/AuthorizationRules/5c963160-0e64-41f0-85"; + Requests[2469] = new DefaultHttpContext(); + Requests[2469].RequestServices = CreateServices(); + Requests[2469].Request.Method = "GET"; + Requests[2469].Request.Path = "/subscriptions/3d5c5bbc-6b27-/resourceGroups/505f5933-2ba9-495/providers/Microsoft.ServiceBus/namespaces/fcc45739-04a4/disasterRecoveryConfigs/3db47"; + Requests[2470] = new DefaultHttpContext(); + Requests[2470].RequestServices = CreateServices(); + Requests[2470].Request.Method = "GET"; + Requests[2470].Request.Path = "/subscriptions/7886e188-1b35-/resourceGroups/e79ae5bd-4bf6-4b1/providers/Microsoft.ServiceBus/namespaces/8129eee8-352e/migrationConfigurations/6947c2bb-d"; + Requests[2471] = new DefaultHttpContext(); + Requests[2471].RequestServices = CreateServices(); + Requests[2471].Request.Method = "GET"; + Requests[2471].Request.Path = "/subscriptions/494fdadd-7629-/resourceGroups/303438c6-b962-4da/providers/Microsoft.ServiceBus/namespaces/2c16b361-9380/queues/d97253ae-"; + Requests[2472] = new DefaultHttpContext(); + Requests[2472].RequestServices = CreateServices(); + Requests[2472].Request.Method = "GET"; + Requests[2472].Request.Path = "/subscriptions/d17c9535-4054-/resourceGroups/55356bc6-4a02-48e/providers/Microsoft.ServiceBus/namespaces/358b4c6d-d649/topics/6a111448-"; + Requests[2473] = new DefaultHttpContext(); + Requests[2473].RequestServices = CreateServices(); + Requests[2473].Request.Method = "DELETE"; + Requests[2473].Request.Path = "/subscriptions/10241fd8-70b8-/resourceGroups/fd00cf15-5b3c-4a3/providers/Microsoft.ServiceFabric/clusters/fd39aa2e-a5/applications/9057dfad-760e-4"; + Requests[2474] = new DefaultHttpContext(); + Requests[2474].RequestServices = CreateServices(); + Requests[2474].Request.Method = "DELETE"; + Requests[2474].Request.Path = "/subscriptions/55a9deae-b574-/resourceGroups/8b622c8e-550e-419/providers/Microsoft.ServiceFabric/clusters/e4cdd9e1-4a/applicationTypes/8a3fb6d4-1f99-417d-"; + Requests[2475] = new DefaultHttpContext(); + Requests[2475].RequestServices = CreateServices(); + Requests[2475].Request.Method = "DELETE"; + Requests[2475].Request.Path = "/subscriptions/ebf9c648-3833-/resourceGroups/40e57739-346d-4fc/providers/Microsoft.Sql/locations/31353027-797/instanceFailoverGroups/1058234b-8c25-4fd"; + Requests[2476] = new DefaultHttpContext(); + Requests[2476].RequestServices = CreateServices(); + Requests[2476].Request.Method = "PATCH"; + Requests[2476].Request.Path = "/subscriptions/a2203bd5-d397-/resourceGroups/b64ca1ca-7d93-4d7/providers/Microsoft.Sql/managedInstances/ae438582-af79-4419-/databases/a4146500-87e"; + Requests[2477] = new DefaultHttpContext(); + Requests[2477].RequestServices = CreateServices(); + Requests[2477].Request.Method = "GET"; + Requests[2477].Request.Path = "/subscriptions/bfa19bc9-f33a-/resourceGroups/d266e2d0-f211-42f/providers/Microsoft.Sql/servers/474cdf5a-7/administrators/bc19f0f1-c050-47f"; + Requests[2478] = new DefaultHttpContext(); + Requests[2478].RequestServices = CreateServices(); + Requests[2478].Request.Method = "PUT"; + Requests[2478].Request.Path = "/subscriptions/c35ba94c-d360-/resourceGroups/5b172ddb-3ead-4ea/providers/Microsoft.Sql/servers/ab045caa-9/advisors/77337dac-b8"; + Requests[2479] = new DefaultHttpContext(); + Requests[2479].RequestServices = CreateServices(); + Requests[2479].Request.Method = "PUT"; + Requests[2479].Request.Path = "/subscriptions/419d4757-8395-/resourceGroups/0f70abfa-4139-476/providers/Microsoft.Sql/servers/843e97a2-5/auditingPolicies/932db353-c5bb-40ff-944e"; + Requests[2480] = new DefaultHttpContext(); + Requests[2480].RequestServices = CreateServices(); + Requests[2480].Request.Method = "PUT"; + Requests[2480].Request.Path = "/subscriptions/ae7a7964-8bac-/resourceGroups/924cca12-7b8a-44b/providers/Microsoft.Sql/servers/3282d71b-4/backupLongTermRetentionVaults/c6a51320-39e4-42cc-adb9-086a5010"; + Requests[2481] = new DefaultHttpContext(); + Requests[2481].RequestServices = CreateServices(); + Requests[2481].Request.Method = "PUT"; + Requests[2481].Request.Path = "/subscriptions/c68f8930-347d-/resourceGroups/450a47dd-7edd-4c3/providers/Microsoft.Sql/servers/d37c8d3f-3/communicationLinks/c9bd68ef-d979-44a4-ab"; + Requests[2482] = new DefaultHttpContext(); + Requests[2482].RequestServices = CreateServices(); + Requests[2482].Request.Method = "GET"; + Requests[2482].Request.Path = "/subscriptions/a8eb3e4d-3e36-/resourceGroups/8c5f20bf-d604-455/providers/Microsoft.Sql/servers/a7c5834e-5/connectionPolicies/6f725331-02ac-4daf-9"; + Requests[2483] = new DefaultHttpContext(); + Requests[2483].RequestServices = CreateServices(); + Requests[2483].Request.Method = "GET"; + Requests[2483].Request.Path = "/subscriptions/34502b1b-6954-/resourceGroups/3b5469ce-8635-4c6/providers/Microsoft.Sql/servers/e5ecbf33-4/databases/f7962f2d-f6b"; + Requests[2484] = new DefaultHttpContext(); + Requests[2484].RequestServices = CreateServices(); + Requests[2484].Request.Method = "GET"; + Requests[2484].Request.Path = "/subscriptions/0d4225ee-0c6a-/resourceGroups/08230208-da60-4dc/providers/Microsoft.Sql/servers/260ad1ec-3/disasterRecoveryConfiguration/ee8fb315-12bf-4081-bd85-09de906c4"; + Requests[2485] = new DefaultHttpContext(); + Requests[2485].RequestServices = CreateServices(); + Requests[2485].Request.Method = "DELETE"; + Requests[2485].Request.Path = "/subscriptions/231aaefe-8621-/resourceGroups/11e7212b-319d-4d3/providers/Microsoft.Sql/servers/6e8fb536-a/dnsAliases/ebae7139-51d"; + Requests[2486] = new DefaultHttpContext(); + Requests[2486].RequestServices = CreateServices(); + Requests[2486].Request.Method = "GET"; + Requests[2486].Request.Path = "/subscriptions/53a9f040-e97b-/resourceGroups/73fcd376-ee68-41a/providers/Microsoft.Sql/servers/a5d62b23-6/elasticPools/e567d2d4-4d2a-4"; + Requests[2487] = new DefaultHttpContext(); + Requests[2487].RequestServices = CreateServices(); + Requests[2487].Request.Method = "PUT"; + Requests[2487].Request.Path = "/subscriptions/d68102aa-d093-/resourceGroups/7ddb3911-0afb-49f/providers/Microsoft.Sql/servers/da2ccc94-e/encryptionProtector/9002e16a-d1f7-452f-b975"; + Requests[2488] = new DefaultHttpContext(); + Requests[2488].RequestServices = CreateServices(); + Requests[2488].Request.Method = "PATCH"; + Requests[2488].Request.Path = "/subscriptions/0a0ec3d6-e5ee-/resourceGroups/48ab2a8f-eb81-43c/providers/Microsoft.Sql/servers/d69fd1c6-5/failoverGroups/e1f3d178-f21d-457"; + Requests[2489] = new DefaultHttpContext(); + Requests[2489].RequestServices = CreateServices(); + Requests[2489].Request.Method = "GET"; + Requests[2489].Request.Path = "/subscriptions/69355a0e-9fc7-/resourceGroups/217dbfff-b72c-4c9/providers/Microsoft.Sql/servers/88943f15-9/firewallRules/1050f684-d2c3-43"; + Requests[2490] = new DefaultHttpContext(); + Requests[2490].RequestServices = CreateServices(); + Requests[2490].Request.Method = "PATCH"; + Requests[2490].Request.Path = "/subscriptions/28da6039-eb04-/resourceGroups/e56e5fca-758b-476/providers/Microsoft.Sql/servers/42e3272c-e/jobAgents/5e8709f9-5b7"; + Requests[2491] = new DefaultHttpContext(); + Requests[2491].RequestServices = CreateServices(); + Requests[2491].Request.Method = "DELETE"; + Requests[2491].Request.Path = "/subscriptions/f0fcb595-69ed-/resourceGroups/7117cf96-4746-468/providers/Microsoft.Sql/servers/4ef70aaf-e/keys/574f79a"; + Requests[2492] = new DefaultHttpContext(); + Requests[2492].RequestServices = CreateServices(); + Requests[2492].Request.Method = "GET"; + Requests[2492].Request.Path = "/subscriptions/73ecf4a0-b2f8-/resourceGroups/e00ef593-cf02-4f6/providers/Microsoft.Sql/servers/ecb13536-d/recommendedElasticPools/27149a7d-7cad-45b3-b522-21"; + Requests[2493] = new DefaultHttpContext(); + Requests[2493].RequestServices = CreateServices(); + Requests[2493].Request.Method = "GET"; + Requests[2493].Request.Path = "/subscriptions/cea63442-58dc-/resourceGroups/edaa1acf-fbda-47b/providers/Microsoft.Sql/servers/509dff17-6/recoverableDatabases/ab783884-d34"; + Requests[2494] = new DefaultHttpContext(); + Requests[2494].RequestServices = CreateServices(); + Requests[2494].Request.Method = "GET"; + Requests[2494].Request.Path = "/subscriptions/5c5a1fa1-14c4-/resourceGroups/c14c96e5-47f9-4a4/providers/Microsoft.Sql/servers/8c5c74ee-1/restorableDroppedDatabases/74757228-f55a-4554-bf4f-b6fa7"; + Requests[2495] = new DefaultHttpContext(); + Requests[2495].RequestServices = CreateServices(); + Requests[2495].Request.Method = "GET"; + Requests[2495].Request.Path = "/subscriptions/85e2ae70-99fa-/resourceGroups/5c37c370-8a3e-483/providers/Microsoft.Sql/servers/1e3f9607-3/serviceObjectives/4066fd6c-f102-42eb-9"; + Requests[2496] = new DefaultHttpContext(); + Requests[2496].RequestServices = CreateServices(); + Requests[2496].Request.Method = "DELETE"; + Requests[2496].Request.Path = "/subscriptions/50565897-f6cf-/resourceGroups/a2ee552b-fff7-4b1/providers/Microsoft.Sql/servers/692e008b-a/syncAgents/aa54c505-2314"; + Requests[2497] = new DefaultHttpContext(); + Requests[2497].RequestServices = CreateServices(); + Requests[2497].Request.Method = "DELETE"; + Requests[2497].Request.Path = "/subscriptions/0d3e8e5e-3d6b-/resourceGroups/2219353b-e19a-4a6/providers/Microsoft.Sql/servers/7803e7b1-1/virtualNetworkRules/7609d436-e52a-479b-a02"; + Requests[2498] = new DefaultHttpContext(); + Requests[2498].RequestServices = CreateServices(); + Requests[2498].Request.Method = "GET"; + Requests[2498].Request.Path = "/subscriptions/0b19bc5e-85c2-/resourcegroups/f8b18caf-1dfb-438/providers/Microsoft.Storage.Admin/farms/a47b49/blobservices/1a68c069-44"; + Requests[2499] = new DefaultHttpContext(); + Requests[2499].RequestServices = CreateServices(); + Requests[2499].Request.Method = "GET"; + Requests[2499].Request.Path = "/subscriptions/e58bf1a9-697e-/resourcegroups/bf5dcb1e-bdc1-45c/providers/Microsoft.Storage.Admin/farms/492153/operationresults/deddada9-bf"; + Requests[2500] = new DefaultHttpContext(); + Requests[2500].RequestServices = CreateServices(); + Requests[2500].Request.Method = "GET"; + Requests[2500].Request.Path = "/subscriptions/79a3dc4b-4e42-/resourcegroups/7e40ab6d-a10f-430/providers/Microsoft.Storage.Admin/farms/a76fcc/queueservices/e000da36-68"; + Requests[2501] = new DefaultHttpContext(); + Requests[2501].RequestServices = CreateServices(); + Requests[2501].Request.Method = "GET"; + Requests[2501].Request.Path = "/subscriptions/1a3d784f-73a8-/resourcegroups/52dce6ef-86e2-4ad/providers/Microsoft.Storage.Admin/farms/815d62/shares/7100d9b9-"; + Requests[2502] = new DefaultHttpContext(); + Requests[2502].RequestServices = CreateServices(); + Requests[2502].Request.Method = "POST"; + Requests[2502].Request.Path = "/subscriptions/dbb0fa00-946e-/resourcegroups/e3cfbb8d-82f0-4b8/providers/Microsoft.Storage.Admin/farms/e1b025/storageaccounts/6554235e-"; + Requests[2503] = new DefaultHttpContext(); + Requests[2503].RequestServices = CreateServices(); + Requests[2503].Request.Method = "GET"; + Requests[2503].Request.Path = "/subscriptions/eceb8126-6dca-/resourcegroups/2ab2ad4d-9a30-43e/providers/Microsoft.Storage.Admin/farms/a846de/tableservices/705f63ec-f7"; + Requests[2504] = new DefaultHttpContext(); + Requests[2504].RequestServices = CreateServices(); + Requests[2504].Request.Method = "DELETE"; + Requests[2504].Request.Path = "/subscriptions/d88ff7fe-1974-/resourceGroups/f5a827d1-b8da-4fc/providers/Microsoft.Storage/storageAccounts/cf43ba24-9a/managementPolicies/670a0e05-8f94-44ff-b"; + Requests[2505] = new DefaultHttpContext(); + Requests[2505].RequestServices = CreateServices(); + Requests[2505].Request.Method = "DELETE"; + Requests[2505].Request.Path = "/subscriptions/dc323bb1-3c18-/resourceGroups/580d494b-972c-4f3/providers/Microsoft.StorSimple/managers/e92eab8a-fb/accessControlRecords/116567bc-21eb-4761-80a0"; + Requests[2506] = new DefaultHttpContext(); + Requests[2506].RequestServices = CreateServices(); + Requests[2506].Request.Method = "DELETE"; + Requests[2506].Request.Path = "/subscriptions/4ad64c59-bdbd-/resourceGroups/8d73e21d-fba0-413/providers/Microsoft.StorSimple/managers/6cf4771d-1c/bandwidthSettings/4470b25a-5fea-488e-b"; + Requests[2507] = new DefaultHttpContext(); + Requests[2507].RequestServices = CreateServices(); + Requests[2507].Request.Method = "PATCH"; + Requests[2507].Request.Path = "/subscriptions/3eef8ced-385b-/resourceGroups/36142ad6-84ab-46e/providers/Microsoft.StorSimple/managers/65fcad84-c5/devices/fa68c747-4"; + Requests[2508] = new DefaultHttpContext(); + Requests[2508].RequestServices = CreateServices(); + Requests[2508].Request.Method = "DELETE"; + Requests[2508].Request.Path = "/subscriptions/20fd940a-e0dc-/resourceGroups/9ae80493-013f-436/providers/Microsoft.StorSimple/managers/dcd6e626-5e/storageAccountCredentials/aca388d6-0978-4c12-b560-f98a"; + Requests[2509] = new DefaultHttpContext(); + Requests[2509].RequestServices = CreateServices(); + Requests[2509].Request.Method = "GET"; + Requests[2509].Request.Path = "/subscriptions/f818319e-35f6-/resourcegroups/baced707-dd6a-415/providers/Microsoft.StreamAnalytics/streamingjobs/1bb12a9/functions/1d500add-fb9"; + Requests[2510] = new DefaultHttpContext(); + Requests[2510].RequestServices = CreateServices(); + Requests[2510].Request.Method = "GET"; + Requests[2510].Request.Path = "/subscriptions/e17dad04-4266-/resourcegroups/694261ed-8d1c-4ef/providers/Microsoft.StreamAnalytics/streamingjobs/408746e/inputs/a5c91704-"; + Requests[2511] = new DefaultHttpContext(); + Requests[2511].RequestServices = CreateServices(); + Requests[2511].Request.Method = "GET"; + Requests[2511].Request.Path = "/subscriptions/8acd7dcd-073b-/resourcegroups/f83f47a1-b571-412/providers/Microsoft.StreamAnalytics/streamingjobs/db44e92/outputs/56a31135-6"; + Requests[2512] = new DefaultHttpContext(); + Requests[2512].RequestServices = CreateServices(); + Requests[2512].Request.Method = "GET"; + Requests[2512].Request.Path = "/subscriptions/f40714e1-d510-/resourcegroups/3fdb52fd-2572-403/providers/Microsoft.StreamAnalytics/streamingjobs/fc6acdf/transformations/099a87a2-aa88-4e3a"; + Requests[2513] = new DefaultHttpContext(); + Requests[2513].RequestServices = CreateServices(); + Requests[2513].Request.Method = "DELETE"; + Requests[2513].Request.Path = "/subscriptions/d6c3a871-4c7d-/resourcegroups/24b43492-f219-4a7/providers/Microsoft.Subscriptions.Admin/offers/33d55/offerDelegations/e0f86e8b-c7a5-4b4f-"; + Requests[2514] = new DefaultHttpContext(); + Requests[2514].RequestServices = CreateServices(); + Requests[2514].Request.Method = "DELETE"; + Requests[2514].Request.Path = "/subscriptions/c95bd039-9bf4-/resourceGroups/70a3eca2-dd8d-472/providers/Microsoft.TimeSeriesInsights/environments/dc6733c6-4a69-4/accessPolicies/7c800e80-5804-46"; + Requests[2515] = new DefaultHttpContext(); + Requests[2515].RequestServices = CreateServices(); + Requests[2515].Request.Method = "DELETE"; + Requests[2515].Request.Path = "/subscriptions/53df27d8-0da3-/resourceGroups/9b0380d5-2c58-450/providers/Microsoft.TimeSeriesInsights/environments/f2b08d66-55f2-4/eventSources/89f15693-68cb-4"; + Requests[2516] = new DefaultHttpContext(); + Requests[2516].RequestServices = CreateServices(); + Requests[2516].Request.Method = "DELETE"; + Requests[2516].Request.Path = "/subscriptions/b5d5b3fe-f245-/resourceGroups/80a26728-2fb7-458/providers/Microsoft.TimeSeriesInsights/environments/9fa5d52a-f2f2-4/referenceDataSets/90d9143f-492c-49c4-8"; + Requests[2517] = new DefaultHttpContext(); + Requests[2517].RequestServices = CreateServices(); + Requests[2517].Request.Method = "GET"; + Requests[2517].Request.Path = "/subscriptions/d1442fad-3247-/resourcegroups/fc5206ba-18b3-4ec/providers/Microsoft.Update.Admin/updateLocations/d287d5a6-bcbe-/updates/c81197b1-a"; + Requests[2518] = new DefaultHttpContext(); + Requests[2518].RequestServices = CreateServices(); + Requests[2518].Request.Method = "PATCH"; + Requests[2518].Request.Path = "/subscriptions/b70bb196-5d2f-/resourcegroups/201cfc1e-ec18-47e/providers/microsoft.visualstudio/account/9eb7abc0-3816-436e-/extension/8eb2be1a-b5d5-4532-8c"; + Requests[2519] = new DefaultHttpContext(); + Requests[2519].RequestServices = CreateServices(); + Requests[2519].Request.Method = "PATCH"; + Requests[2519].Request.Path = "/subscriptions/3178ace2-6fe2-/resourceGroups/45e8328e-a40f-4ac/providers/microsoft.visualstudio/account/499df704-cd3f-43/project/3d28102d-537"; + Requests[2520] = new DefaultHttpContext(); + Requests[2520].RequestServices = CreateServices(); + Requests[2520].Request.Method = "GET"; + Requests[2520].Request.Path = "/subscriptions/84e419f1-f2f5-/resourceGroups/5cb73c3f-fafa-4f6/providers/Microsoft.Web/hostingEnvironments/d7ebd/detectors/9faa8c9d-99a"; + Requests[2521] = new DefaultHttpContext(); + Requests[2521].RequestServices = CreateServices(); + Requests[2521].Request.Method = "GET"; + Requests[2521].Request.Path = "/subscriptions/b9de9432-8e0e-/resourceGroups/859f4d2b-b3f5-41a/providers/Microsoft.Web/hostingEnvironments/d17a9/diagnostics/58f2d5f4-8a53-4"; + Requests[2522] = new DefaultHttpContext(); + Requests[2522].RequestServices = CreateServices(); + Requests[2522].Request.Method = "GET"; + Requests[2522].Request.Path = "/subscriptions/5da19b96-21c6-/resourceGroups/90072128-3255-416/providers/Microsoft.Web/hostingEnvironments/b75c6/operations/02480e83-64"; + Requests[2523] = new DefaultHttpContext(); + Requests[2523].RequestServices = CreateServices(); + Requests[2523].Request.Method = "PATCH"; + Requests[2523].Request.Path = "/subscriptions/669cd973-4868-/resourceGroups/9b8dc972-fff6-46f/providers/Microsoft.Web/hostingEnvironments/d6596/workerPools/3edad689-5bca-"; + Requests[2524] = new DefaultHttpContext(); + Requests[2524].RequestServices = CreateServices(); + Requests[2524].Request.Method = "GET"; + Requests[2524].Request.Path = "/subscriptions/c2b32deb-f3ad-/resourceGroups/9644b7b4-c190-4fb/providers/Microsoft.Web/managedHostingEnvironments/60dad/operations/3303f771-f3"; + Requests[2525] = new DefaultHttpContext(); + Requests[2525].RequestServices = CreateServices(); + Requests[2525].Request.Method = "GET"; + Requests[2525].Request.Path = "/subscriptions/d2b7fead-f512-/resourceGroups/71543445-ac22-40e/providers/Microsoft.Web/serverfarms/bf630/operationresults/a5ac36e0-5c"; + Requests[2526] = new DefaultHttpContext(); + Requests[2526].RequestServices = CreateServices(); + Requests[2526].Request.Method = "GET"; + Requests[2526].Request.Path = "/subscriptions/e9a74bdb-eb53-/resourceGroups/b7e948c6-0784-4fa/providers/Microsoft.Web/serverfarms/02caa/virtualNetworkConnections/bb7f96b1"; + Requests[2527] = new DefaultHttpContext(); + Requests[2527].RequestServices = CreateServices(); + Requests[2527].Request.Method = "DELETE"; + Requests[2527].Request.Path = "/subscriptions/4a4325f9-28ff-/resourceGroups/22134dd0-e4d4-460/providers/Microsoft.Web/sites/60002/backups/65417496"; + Requests[2528] = new DefaultHttpContext(); + Requests[2528].RequestServices = CreateServices(); + Requests[2528].Request.Method = "DELETE"; + Requests[2528].Request.Path = "/subscriptions/c6b53608-9aff-/resourceGroups/95a0e22c-9a1e-4a4/providers/Microsoft.Web/sites/461ca/continuouswebjobs/fcf42710-3"; + Requests[2529] = new DefaultHttpContext(); + Requests[2529].RequestServices = CreateServices(); + Requests[2529].Request.Method = "DELETE"; + Requests[2529].Request.Path = "/subscriptions/1a5a64dd-89c2-/resourceGroups/e7df0a66-da00-4d1/providers/Microsoft.Web/sites/f2eef/deployments/69fe3"; + Requests[2530] = new DefaultHttpContext(); + Requests[2530].RequestServices = CreateServices(); + Requests[2530].Request.Method = "PATCH"; + Requests[2530].Request.Path = "/subscriptions/15aaddc2-06f2-/resourceGroups/dd1e3123-77de-486/providers/Microsoft.Web/sites/f70eb/domainOwnershipIdentifiers/742459a5-89d5-4085-a5c3-20512"; + Requests[2531] = new DefaultHttpContext(); + Requests[2531].RequestServices = CreateServices(); + Requests[2531].Request.Method = "DELETE"; + Requests[2531].Request.Path = "/subscriptions/2258004c-1930-/resourceGroups/631837b9-93ed-4f1/providers/Microsoft.Web/sites/b5e39/functions/aeb5b917-a44"; + Requests[2532] = new DefaultHttpContext(); + Requests[2532].RequestServices = CreateServices(); + Requests[2532].Request.Method = "DELETE"; + Requests[2532].Request.Path = "/subscriptions/e45c5921-070a-/resourceGroups/c3746dc9-bcd7-4bf/providers/Microsoft.Web/sites/393ad/hostNameBindings/624485ca"; + Requests[2533] = new DefaultHttpContext(); + Requests[2533].RequestServices = CreateServices(); + Requests[2533].Request.Method = "PATCH"; + Requests[2533].Request.Path = "/subscriptions/d50073c9-9d9b-/resourceGroups/c8504e0a-5168-434/providers/Microsoft.Web/sites/ab624/hybridconnection/9c311902-c"; + Requests[2534] = new DefaultHttpContext(); + Requests[2534].RequestServices = CreateServices(); + Requests[2534].Request.Method = "GET"; + Requests[2534].Request.Path = "/subscriptions/02d1abed-ed13-/resourceGroups/30a84f5d-6d24-4b6/providers/Microsoft.Web/sites/8c94b/networkFeatures/01d1c"; + Requests[2535] = new DefaultHttpContext(); + Requests[2535].RequestServices = CreateServices(); + Requests[2535].Request.Method = "GET"; + Requests[2535].Request.Path = "/subscriptions/49c17d0a-4e23-/resourceGroups/a151467c-a9ac-430/providers/Microsoft.Web/sites/4669f/operationresults/60762f9f-2e"; + Requests[2536] = new DefaultHttpContext(); + Requests[2536].RequestServices = CreateServices(); + Requests[2536].Request.Method = "DELETE"; + Requests[2536].Request.Path = "/subscriptions/4685f686-836b-/resourceGroups/bee8442c-94c6-4f0/providers/Microsoft.Web/sites/6ca95/premieraddons/66ae8d03-b24e-44"; + Requests[2537] = new DefaultHttpContext(); + Requests[2537].RequestServices = CreateServices(); + Requests[2537].Request.Method = "DELETE"; + Requests[2537].Request.Path = "/subscriptions/856e1b43-66b4-/resourceGroups/01e3b988-7727-4f8/providers/Microsoft.Web/sites/08f4b/processes/27fe5890-"; + Requests[2538] = new DefaultHttpContext(); + Requests[2538].RequestServices = CreateServices(); + Requests[2538].Request.Method = "DELETE"; + Requests[2538].Request.Path = "/subscriptions/75fc939b-34f9-/resourceGroups/88ee691a-11cd-45e/providers/Microsoft.Web/sites/8eb80/publicCertificates/3a37fe63-199e-4d60-a7"; + Requests[2539] = new DefaultHttpContext(); + Requests[2539].RequestServices = CreateServices(); + Requests[2539].Request.Method = "DELETE"; + Requests[2539].Request.Path = "/subscriptions/24277be5-5e2c-/resourceGroups/ef179744-d855-4e8/providers/Microsoft.Web/sites/70af9/siteextensions/96f45cd3-1c03-4"; + Requests[2540] = new DefaultHttpContext(); + Requests[2540].RequestServices = CreateServices(); + Requests[2540].Request.Method = "PATCH"; + Requests[2540].Request.Path = "/subscriptions/70f1f590-7073-/resourceGroups/6baaaf8a-3367-464/providers/Microsoft.Web/sites/2ad55/slots/34b37"; + Requests[2541] = new DefaultHttpContext(); + Requests[2541].RequestServices = CreateServices(); + Requests[2541].Request.Method = "DELETE"; + Requests[2541].Request.Path = "/subscriptions/3cfd8d25-1cee-/resourceGroups/250b9e13-3a1d-4c7/providers/Microsoft.Web/sites/e882b/triggeredwebjobs/57d8185e-9"; + Requests[2542] = new DefaultHttpContext(); + Requests[2542].RequestServices = CreateServices(); + Requests[2542].Request.Method = "PATCH"; + Requests[2542].Request.Path = "/subscriptions/b6b3f1bc-202c-/resourceGroups/a9de7beb-a2cc-4fe/providers/Microsoft.Web/sites/6ce4f/virtualNetworkConnections/f354a0bc"; + Requests[2543] = new DefaultHttpContext(); + Requests[2543].RequestServices = CreateServices(); + Requests[2543].Request.Method = "GET"; + Requests[2543].Request.Path = "/subscriptions/1ad8cbf4-8145-/resourceGroups/0ceaf946-0ef0-4c8/providers/Microsoft.Web/sites/7ae5c/webjobs/7d7faab5-a"; + Requests[2544] = new DefaultHttpContext(); + Requests[2544].RequestServices = CreateServices(); + Requests[2544].Request.Method = "GET"; + Requests[2544].Request.Path = "/subscriptions/4e013fc0-3ad9-/resourceGroups/db23b0f4-6f74-424/providers/Microsoft.Web/sites/739fb4df/detectors/6467de1e-ab4"; + Requests[2545] = new DefaultHttpContext(); + Requests[2545].RequestServices = CreateServices(); + Requests[2545].Request.Method = "GET"; + Requests[2545].Request.Path = "/subscriptions/202c7903-3fec-/resourceGroups/849808b0-5176-469/providers/Microsoft.Web/sites/7eec8bb3/diagnostics/a5bb4c11-a054-481d"; + Requests[2546] = new DefaultHttpContext(); + Requests[2546].RequestServices = CreateServices(); + Requests[2546].Request.Method = "GET"; + Requests[2546].Request.Path = "/subscriptions/ea29692c-192b-/resourceGroups/02b6cf92-28a1-4c5/providers/Microsoft.Web/sites/f56a2066/recommendations/3e443"; + Requests[2547] = new DefaultHttpContext(); + Requests[2547].RequestServices = CreateServices(); + Requests[2547].Request.Method = "POST"; + Requests[2547].Request.Path = "/subscriptions/02fbfba3-2b70-/resourceGroup/04720358-2e6e-405/providers/Microsoft.MachineLearningServices/workspaces/046fccc4-5151/computes/c4fdcfb7-56/listKeys"; + Requests[2548] = new DefaultHttpContext(); + Requests[2548].RequestServices = CreateServices(); + Requests[2548].Request.Method = "GET"; + Requests[2548].Request.Path = "/subscriptions/50f6cf35-8fa3-/resourceGroups/24751947-/providers/Microsoft.DataMigration/services/b94b2431-28/projects/8ed78364-52/tasks"; + Requests[2549] = new DefaultHttpContext(); + Requests[2549].RequestServices = CreateServices(); + Requests[2549].Request.Method = "POST"; + Requests[2549].Request.Path = "/subscriptions/e91bedaa-f3e7-/resourcegroups/5a3adc05-d987/providers/Microsoft.AzureBridge.Admin/activations/19836397-384d-/products/3d3ed4fc-d3/download"; + Requests[2550] = new DefaultHttpContext(); + Requests[2550].RequestServices = CreateServices(); + Requests[2550].Request.Method = "POST"; + Requests[2550].Request.Path = "/subscriptions/e867e977-965d-/resourceGroups/8eaeff6a-bb90/providers/Microsoft.AzureStack/registrations/44868916-b2ac-42/products/24219a29-35/listDetails"; + Requests[2551] = new DefaultHttpContext(); + Requests[2551].RequestServices = CreateServices(); + Requests[2551].Request.Method = "GET"; + Requests[2551].Request.Path = "/subscriptions/472cfd27-2da6-/resourceGroups/a614e081-8746-41a/providers/Microsoft.ApiManagement/service/416be490-60/apis/77fca/diagnostics"; + Requests[2552] = new DefaultHttpContext(); + Requests[2552].RequestServices = CreateServices(); + Requests[2552].Request.Method = "GET"; + Requests[2552].Request.Path = "/subscriptions/6cbfd7cb-d2bd-/resourceGroups/eace3039-f55a-438/providers/Microsoft.ApiManagement/service/8d91517b-00/apis/28355/issues"; + Requests[2553] = new DefaultHttpContext(); + Requests[2553].RequestServices = CreateServices(); + Requests[2553].Request.Method = "GET"; + Requests[2553].Request.Path = "/subscriptions/e2e6b621-4246-/resourceGroups/8ac7ab0d-4264-470/providers/Microsoft.ApiManagement/service/14320a99-ce/apis/82eb7/operations"; + Requests[2554] = new DefaultHttpContext(); + Requests[2554].RequestServices = CreateServices(); + Requests[2554].Request.Method = "GET"; + Requests[2554].Request.Path = "/subscriptions/800c35c1-9169-/resourceGroups/5b12d1b4-a060-400/providers/Microsoft.ApiManagement/service/cedcd067-1b/apis/3a210/operationsByTags"; + Requests[2555] = new DefaultHttpContext(); + Requests[2555].RequestServices = CreateServices(); + Requests[2555].Request.Method = "GET"; + Requests[2555].Request.Path = "/subscriptions/8d0e4228-7303-/resourceGroups/6bd951c6-7914-455/providers/Microsoft.ApiManagement/service/5809d752-da/apis/0f9b4/policies"; + Requests[2556] = new DefaultHttpContext(); + Requests[2556].RequestServices = CreateServices(); + Requests[2556].Request.Method = "DELETE"; + Requests[2556].Request.Path = "/subscriptions/582cbb9b-7568-/resourceGroups/18cd5edd-d148-4ea/providers/Microsoft.ApiManagement/service/c9029afc-c8/apis/3c003/policy"; + Requests[2557] = new DefaultHttpContext(); + Requests[2557].RequestServices = CreateServices(); + Requests[2557].Request.Method = "GET"; + Requests[2557].Request.Path = "/subscriptions/c69764a3-996f-/resourceGroups/3b06c65f-d274-43d/providers/Microsoft.ApiManagement/service/fd248064-ff/apis/11690/products"; + Requests[2558] = new DefaultHttpContext(); + Requests[2558].RequestServices = CreateServices(); + Requests[2558].Request.Method = "GET"; + Requests[2558].Request.Path = "/subscriptions/96cbe5f0-0d27-/resourceGroups/f6f60a41-7a6e-474/providers/Microsoft.ApiManagement/service/5acaddf3-d5/apis/e63b2/releases"; + Requests[2559] = new DefaultHttpContext(); + Requests[2559].RequestServices = CreateServices(); + Requests[2559].Request.Method = "GET"; + Requests[2559].Request.Path = "/subscriptions/4349f1d1-0c69-/resourceGroups/b7a68ec9-1db9-489/providers/Microsoft.ApiManagement/service/c4bbdaca-24/apis/4de88/revisions"; + Requests[2560] = new DefaultHttpContext(); + Requests[2560].RequestServices = CreateServices(); + Requests[2560].Request.Method = "GET"; + Requests[2560].Request.Path = "/subscriptions/1fef62fd-7d79-/resourceGroups/3a3fe9e1-c620-44e/providers/Microsoft.ApiManagement/service/9c152290-3d/apis/6ad34/schemas"; + Requests[2561] = new DefaultHttpContext(); + Requests[2561].RequestServices = CreateServices(); + Requests[2561].Request.Method = "GET"; + Requests[2561].Request.Path = "/subscriptions/653f2643-0145-/resourceGroups/0415fc4f-335d-48c/providers/Microsoft.ApiManagement/service/ab56c5e0-8e/apis/42f53/tagDescriptions"; + Requests[2562] = new DefaultHttpContext(); + Requests[2562].RequestServices = CreateServices(); + Requests[2562].Request.Method = "GET"; + Requests[2562].Request.Path = "/subscriptions/020cd39a-bf0b-/resourceGroups/8db7caf9-b80b-4a0/providers/Microsoft.ApiManagement/service/4445d7e4-be/apis/18b08/tags"; + Requests[2563] = new DefaultHttpContext(); + Requests[2563].RequestServices = CreateServices(); + Requests[2563].Request.Method = "POST"; + Requests[2563].Request.Path = "/subscriptions/ccdbf8e6-fb82-/resourceGroups/6da6ce66-7d6a-430/providers/Microsoft.ApiManagement/service/bc9b33d3-3d/backends/844f2e80-/reconnect"; + Requests[2564] = new DefaultHttpContext(); + Requests[2564].RequestServices = CreateServices(); + Requests[2564].Request.Method = "GET"; + Requests[2564].Request.Path = "/subscriptions/caec0cfa-a9d0-/resourceGroups/554575aa-25b9-456/providers/Microsoft.ApiManagement/service/fe7dd1e0-7a/diagnostics/de288dff-78f/loggers"; + Requests[2565] = new DefaultHttpContext(); + Requests[2565].RequestServices = CreateServices(); + Requests[2565].Request.Method = "GET"; + Requests[2565].Request.Path = "/subscriptions/cb6d205f-84e8-/resourceGroups/2ebdc0f1-2544-40d/providers/Microsoft.ApiManagement/service/121d1a6f-94/groups/0287db3/users"; + Requests[2566] = new DefaultHttpContext(); + Requests[2566].RequestServices = CreateServices(); + Requests[2566].Request.Method = "GET"; + Requests[2566].Request.Path = "/subscriptions/05d9fe37-3a58-/resourceGroups/5bc7c5fc-fe34-455/providers/Microsoft.ApiManagement/service/7a6bf63f-65/locations/15052bc9-289/networkstatus"; + Requests[2567] = new DefaultHttpContext(); + Requests[2567].RequestServices = CreateServices(); + Requests[2567].Request.Method = "GET"; + Requests[2567].Request.Path = "/subscriptions/6ff9de64-a2eb-/resourceGroups/7b9e51fa-9ab9-406/providers/Microsoft.ApiManagement/service/d647b7f4-11/notifications/f989bbf2-61b9-44/recipientEmails"; + Requests[2568] = new DefaultHttpContext(); + Requests[2568].RequestServices = CreateServices(); + Requests[2568].Request.Method = "GET"; + Requests[2568].Request.Path = "/subscriptions/fb8af335-5543-/resourceGroups/04a366d7-2e01-48d/providers/Microsoft.ApiManagement/service/e2b3a31a-a1/notifications/f126410a-1f87-4d/recipientUsers"; + Requests[2569] = new DefaultHttpContext(); + Requests[2569].RequestServices = CreateServices(); + Requests[2569].Request.Method = "GET"; + Requests[2569].Request.Path = "/subscriptions/32be4987-49f9-/resourceGroups/3a2d1f48-73d1-4d0/providers/Microsoft.ApiManagement/service/bc867a92-43/products/34be31c1-/apis"; + Requests[2570] = new DefaultHttpContext(); + Requests[2570].RequestServices = CreateServices(); + Requests[2570].Request.Method = "GET"; + Requests[2570].Request.Path = "/subscriptions/50dc9c3f-ff92-/resourceGroups/51927182-f257-422/providers/Microsoft.ApiManagement/service/71896d85-5d/products/7137b4b8-/groups"; + Requests[2571] = new DefaultHttpContext(); + Requests[2571].RequestServices = CreateServices(); + Requests[2571].Request.Method = "GET"; + Requests[2571].Request.Path = "/subscriptions/27a8f069-f10c-/resourceGroups/9253de8c-300a-42d/providers/Microsoft.ApiManagement/service/b083279f-50/products/672890a6-/policies"; + Requests[2572] = new DefaultHttpContext(); + Requests[2572].RequestServices = CreateServices(); + Requests[2572].Request.Method = "DELETE"; + Requests[2572].Request.Path = "/subscriptions/cb80df61-b3d8-/resourceGroups/2417e55e-f434-42e/providers/Microsoft.ApiManagement/service/980d7f8a-30/products/b03c4ca7-/policy"; + Requests[2573] = new DefaultHttpContext(); + Requests[2573].RequestServices = CreateServices(); + Requests[2573].Request.Method = "GET"; + Requests[2573].Request.Path = "/subscriptions/2e8ab9e6-06f1-/resourceGroups/e5be5024-88cf-42f/providers/Microsoft.ApiManagement/service/ab5c588e-80/products/53ca5a3f-/subscriptions"; + Requests[2574] = new DefaultHttpContext(); + Requests[2574].RequestServices = CreateServices(); + Requests[2574].Request.Method = "GET"; + Requests[2574].Request.Path = "/subscriptions/95a21975-41af-/resourceGroups/8f0dd7d0-b575-499/providers/Microsoft.ApiManagement/service/2ff5aa66-c1/products/226a5d25-/tags"; + Requests[2575] = new DefaultHttpContext(); + Requests[2575].RequestServices = CreateServices(); + Requests[2575].Request.Method = "POST"; + Requests[2575].Request.Path = "/subscriptions/7eb07e7d-f35f-/resourceGroups/a27f5565-409b-41d/providers/Microsoft.ApiManagement/service/b8457014-be/subscriptions/1c39d/regeneratePrimaryKey"; + Requests[2576] = new DefaultHttpContext(); + Requests[2576].RequestServices = CreateServices(); + Requests[2576].Request.Method = "POST"; + Requests[2576].Request.Path = "/subscriptions/417eaa6f-b0a5-/resourceGroups/fab150eb-9509-40f/providers/Microsoft.ApiManagement/service/7d8919bc-33/subscriptions/53e13/regenerateSecondaryKey"; + Requests[2577] = new DefaultHttpContext(); + Requests[2577].RequestServices = CreateServices(); + Requests[2577].Request.Method = "GET"; + Requests[2577].Request.Path = "/subscriptions/5f9a5aa1-02bc-/resourceGroups/37be930c-7ffa-401/providers/Microsoft.ApiManagement/service/abdb0573-6a/tenant/c403e86c-5/git"; + Requests[2578] = new DefaultHttpContext(); + Requests[2578].RequestServices = CreateServices(); + Requests[2578].Request.Method = "POST"; + Requests[2578].Request.Path = "/subscriptions/515a9c85-0d38-/resourceGroups/93849134-d722-457/providers/Microsoft.ApiManagement/service/698c2e3f-d6/tenant/6093faf1-9/regeneratePrimaryKey"; + Requests[2579] = new DefaultHttpContext(); + Requests[2579].RequestServices = CreateServices(); + Requests[2579].Request.Method = "POST"; + Requests[2579].Request.Path = "/subscriptions/20102025-23f3-/resourceGroups/e4e7ee63-5b21-477/providers/Microsoft.ApiManagement/service/b1b456f5-45/tenant/1aabcf2b-8/regenerateSecondaryKey"; + Requests[2580] = new DefaultHttpContext(); + Requests[2580].RequestServices = CreateServices(); + Requests[2580].Request.Method = "POST"; + Requests[2580].Request.Path = "/subscriptions/a1628112-2bf7-/resourceGroups/35fe6351-d897-4c1/providers/Microsoft.ApiManagement/service/4900830d-9d/tenant/ce20fd5a-536f-417/deploy"; + Requests[2581] = new DefaultHttpContext(); + Requests[2581].RequestServices = CreateServices(); + Requests[2581].Request.Method = "POST"; + Requests[2581].Request.Path = "/subscriptions/7b771888-a01f-/resourceGroups/93b87f2d-1394-441/providers/Microsoft.ApiManagement/service/892794de-51/tenant/f763558f-1ac1-477/save"; + Requests[2582] = new DefaultHttpContext(); + Requests[2582].RequestServices = CreateServices(); + Requests[2582].Request.Method = "GET"; + Requests[2582].Request.Path = "/subscriptions/8a9cc09a-4cae-/resourceGroups/a2e17c1d-e3b2-472/providers/Microsoft.ApiManagement/service/85072040-66/tenant/9ad45d67-b4cb-4fd/syncState"; + Requests[2583] = new DefaultHttpContext(); + Requests[2583].RequestServices = CreateServices(); + Requests[2583].Request.Method = "POST"; + Requests[2583].Request.Path = "/subscriptions/ca6dbc29-8519-/resourceGroups/8cf6b774-3bb2-4c3/providers/Microsoft.ApiManagement/service/af24d6a0-69/tenant/0c390843-4785-41a/validate"; + Requests[2584] = new DefaultHttpContext(); + Requests[2584].RequestServices = CreateServices(); + Requests[2584].Request.Method = "POST"; + Requests[2584].Request.Path = "/subscriptions/fec8a480-9f49-/resourceGroups/1e7f811e-c3fd-4e6/providers/Microsoft.ApiManagement/service/58649660-d6/users/3ae04/generateSsoUrl"; + Requests[2585] = new DefaultHttpContext(); + Requests[2585].RequestServices = CreateServices(); + Requests[2585].Request.Method = "GET"; + Requests[2585].Request.Path = "/subscriptions/3af66f63-bf6f-/resourceGroups/2e7120cf-b24b-4ef/providers/Microsoft.ApiManagement/service/48c39255-7f/users/29b10/groups"; + Requests[2586] = new DefaultHttpContext(); + Requests[2586].RequestServices = CreateServices(); + Requests[2586].Request.Method = "GET"; + Requests[2586].Request.Path = "/subscriptions/3f871e8f-6e52-/resourceGroups/50408d8a-cfdb-46a/providers/Microsoft.ApiManagement/service/d05d2036-9c/users/7af60/identities"; + Requests[2587] = new DefaultHttpContext(); + Requests[2587].RequestServices = CreateServices(); + Requests[2587].Request.Method = "GET"; + Requests[2587].Request.Path = "/subscriptions/57f76836-5c03-/resourceGroups/6e59b11e-423f-491/providers/Microsoft.ApiManagement/service/b070a1b3-eb/users/83bf2/subscriptions"; + Requests[2588] = new DefaultHttpContext(); + Requests[2588].RequestServices = CreateServices(); + Requests[2588].Request.Method = "POST"; + Requests[2588].Request.Path = "/subscriptions/9d2b6cd3-f6fd-/resourceGroups/23e8d375-b077-46f/providers/Microsoft.ApiManagement/service/164cdba9-c9/users/3f797/token"; + Requests[2589] = new DefaultHttpContext(); + Requests[2589].RequestServices = CreateServices(); + Requests[2589].Request.Method = "GET"; + Requests[2589].Request.Path = "/subscriptions/b11fd4a1-11d7-/resourceGroups/9f809b78-a35c-41c/providers/Microsoft.Automation/automationAccounts/dc29566b-9e64-4a9b-b8/compilationjobs/84874/streams"; + Requests[2590] = new DefaultHttpContext(); + Requests[2590].RequestServices = CreateServices(); + Requests[2590].Request.Method = "GET"; + Requests[2590].Request.Path = "/subscriptions/df099880-cfd7-/resourceGroups/0e052eb8-c028-478/providers/Microsoft.Automation/automationAccounts/b76ab86c-4f77-4c8d-a5/configurations/83516823-d2af-41d/content"; + Requests[2591] = new DefaultHttpContext(); + Requests[2591].RequestServices = CreateServices(); + Requests[2591].Request.Method = "GET"; + Requests[2591].Request.Path = "/subscriptions/d00d869d-095b-/resourceGroups/43f2280a-3670-49c/providers/Microsoft.Automation/automationAccounts/6b0d366d-d8ac-4036-85/jobs/9c5d3/output"; + Requests[2592] = new DefaultHttpContext(); + Requests[2592].RequestServices = CreateServices(); + Requests[2592].Request.Method = "POST"; + Requests[2592].Request.Path = "/subscriptions/dce424d7-dcf8-/resourceGroups/c0dbebd5-3e67-495/providers/Microsoft.Automation/automationAccounts/18662910-1163-425c-b2/jobs/fdb08/resume"; + Requests[2593] = new DefaultHttpContext(); + Requests[2593].RequestServices = CreateServices(); + Requests[2593].Request.Method = "GET"; + Requests[2593].Request.Path = "/subscriptions/2276ccec-d5d0-/resourceGroups/db771516-6cfb-49c/providers/Microsoft.Automation/automationAccounts/c84f077a-8134-4495-8f/jobs/50712/runbookContent"; + Requests[2594] = new DefaultHttpContext(); + Requests[2594].RequestServices = CreateServices(); + Requests[2594].Request.Method = "POST"; + Requests[2594].Request.Path = "/subscriptions/61fbcd93-4839-/resourceGroups/26715397-68d1-41c/providers/Microsoft.Automation/automationAccounts/ac5ad4f2-6295-4a7e-a7/jobs/da4c6/stop"; + Requests[2595] = new DefaultHttpContext(); + Requests[2595].RequestServices = CreateServices(); + Requests[2595].Request.Method = "GET"; + Requests[2595].Request.Path = "/subscriptions/9b6c9b6e-1531-/resourceGroups/b5f8ffec-fb63-47f/providers/Microsoft.Automation/automationAccounts/bf7e560e-7cd2-4fcf-bb/jobs/037dd/streams"; + Requests[2596] = new DefaultHttpContext(); + Requests[2596].RequestServices = CreateServices(); + Requests[2596].Request.Method = "POST"; + Requests[2596].Request.Path = "/subscriptions/89ec4caa-1b0a-/resourceGroups/a7bf623f-faa6-41c/providers/Microsoft.Automation/automationAccounts/cb020820-c15e-4fb1-83/jobs/549e4/suspend"; + Requests[2597] = new DefaultHttpContext(); + Requests[2597].RequestServices = CreateServices(); + Requests[2597].Request.Method = "GET"; + Requests[2597].Request.Path = "/subscriptions/6909db94-f64e-/resourceGroups/522ad111-af5d-412/providers/Microsoft.Automation/automationAccounts/a7658a75-0ab5-49ea-9c/modules/9b7eba80-d/activities"; + Requests[2598] = new DefaultHttpContext(); + Requests[2598].RequestServices = CreateServices(); + Requests[2598].Request.Method = "GET"; + Requests[2598].Request.Path = "/subscriptions/316c1d8a-3c92-/resourceGroups/aeb4801f-7c29-47a/providers/Microsoft.Automation/automationAccounts/35faa5d4-8b84-4508-93/nodes/53b7e1/reports"; + Requests[2599] = new DefaultHttpContext(); + Requests[2599].RequestServices = CreateServices(); + Requests[2599].Request.Method = "GET"; + Requests[2599].Request.Path = "/subscriptions/5d83a3c6-852c-/resourceGroups/1cc86819-78f3-4d6/providers/Microsoft.Automation/automationAccounts/fe3f6326-c743-4cbe-b3/objectDataTypes/4359a5d2/fields"; + Requests[2600] = new DefaultHttpContext(); + Requests[2600].RequestServices = CreateServices(); + Requests[2600].Request.Method = "GET"; + Requests[2600].Request.Path = "/subscriptions/66cb68f0-c098-/resourceGroups/421fa6dd-9c62-49e/providers/Microsoft.Automation/automationAccounts/751d2b64-dadf-4233-a6/runbooks/cde3a39e-11/content"; + Requests[2601] = new DefaultHttpContext(); + Requests[2601].RequestServices = CreateServices(); + Requests[2601].Request.Method = "GET"; + Requests[2601].Request.Path = "/subscriptions/a3559404-da89-/resourceGroups/67d87c53-6ff5-4a5/providers/Microsoft.Automation/automationAccounts/15a3ba19-4653-425e-ba/runbooks/bb9c9972-b0/draft"; + Requests[2602] = new DefaultHttpContext(); + Requests[2602].RequestServices = CreateServices(); + Requests[2602].Request.Method = "GET"; + Requests[2602].Request.Path = "/subscriptions/743dbf6f-b3c3-/resourceGroups/43fcc4ce-cadf-47a/providers/Microsoft.Automation/automationAccounts/7609894e-cb13-4f00-8d/sourceControls/2ca4dcd7-a370-44d/sourceControlSyncJobs"; + Requests[2603] = new DefaultHttpContext(); + Requests[2603].RequestServices = CreateServices(); + Requests[2603].Request.Method = "POST"; + Requests[2603].Request.Path = "/subscriptions/97e6ce9f-8299-/resourceGroups/0e17cfa2-ad2a-4c1/providers/Microsoft.Automation/automationAccounts/cc1b438f-040f-4b43-9e/watchers/b6657b95-be/start"; + Requests[2604] = new DefaultHttpContext(); + Requests[2604].RequestServices = CreateServices(); + Requests[2604].Request.Method = "POST"; + Requests[2604].Request.Path = "/subscriptions/2d253235-ce08-/resourceGroups/6e4e6712-4815-495/providers/Microsoft.Automation/automationAccounts/0446c1a5-46b3-4d34-b7/watchers/ecb3fb45-05/stop"; + Requests[2605] = new DefaultHttpContext(); + Requests[2605].RequestServices = CreateServices(); + Requests[2605].Request.Method = "POST"; + Requests[2605].Request.Path = "/subscriptions/38136fcd-55b5-/resourcegroups/6b690f86-94e8-45c/providers/Microsoft.Backup.Admin/backupLocations/9415205d/backups/548f6a/restore"; + Requests[2606] = new DefaultHttpContext(); + Requests[2606].RequestServices = CreateServices(); + Requests[2606].Request.Method = "POST"; + Requests[2606].Request.Path = "/subscriptions/45ca795e-61da-/resourceGroups/6e6e12ab-4810-420/providers/Microsoft.Batch/batchAccounts/60f5a1ad-34/certificates/d18c727c-f736-4/cancelDelete"; + Requests[2607] = new DefaultHttpContext(); + Requests[2607].RequestServices = CreateServices(); + Requests[2607].Request.Method = "POST"; + Requests[2607].Request.Path = "/subscriptions/5345908e-6eb3-/resourceGroups/bf5b1c0f-6c9d-4e6/providers/Microsoft.Batch/batchAccounts/2269541b-47/pools/56d2b1f6/disableAutoScale"; + Requests[2608] = new DefaultHttpContext(); + Requests[2608].RequestServices = CreateServices(); + Requests[2608].Request.Method = "POST"; + Requests[2608].Request.Path = "/subscriptions/43d34b4b-975d-/resourceGroups/d7926aa1-0eb7-4e2/providers/Microsoft.Batch/batchAccounts/351becc5-b2/pools/d3a8b07d/stopResize"; + Requests[2609] = new DefaultHttpContext(); + Requests[2609].RequestServices = CreateServices(); + Requests[2609].Request.Method = "POST"; + Requests[2609].Request.Path = "/subscriptions/6cedf9bf-37ed-/resourceGroups/12c0e70f-7ef5-45d/providers/Microsoft.BatchAI/workspaces/a163e65f-0591/clusters/90790fea-ed/listRemoteLoginInformation"; + Requests[2610] = new DefaultHttpContext(); + Requests[2610].RequestServices = CreateServices(); + Requests[2610].Request.Method = "GET"; + Requests[2610].Request.Path = "/subscriptions/c113fad5-f36e-/resourceGroups/5aaa8790-ae11-4dc/providers/Microsoft.BatchAI/workspaces/ad2ba958-940d/experiments/6352ca09-1eb6-/jobs"; + Requests[2611] = new DefaultHttpContext(); + Requests[2611].RequestServices = CreateServices(); + Requests[2611].Request.Method = "POST"; + Requests[2611].Request.Path = "/subscriptions/d9896346-097e-/resourceGroups/87448240-a2e2-49c/providers/Microsoft.BotService/botServices/1599fee4-108/channels/f28e344e-33/listChannelWithKeys"; + Requests[2612] = new DefaultHttpContext(); + Requests[2612].RequestServices = CreateServices(); + Requests[2612].Request.Method = "POST"; + Requests[2612].Request.Path = "/subscriptions/7753cdb6-e894-/resourceGroups/be481f0f-979b-481/providers/Microsoft.BotService/botServices/58e10fae-6f5/Connections/7ffabc3d-ca30-/listWithSecrets"; + Requests[2613] = new DefaultHttpContext(); + Requests[2613].RequestServices = CreateServices(); + Requests[2613].Request.Method = "POST"; + Requests[2613].Request.Path = "/subscriptions/bcd69ad5-5057-/resourceGroups/0dded720-b714-464/providers/Microsoft.Cdn/profiles/335da9d7-c4/endpoints/f18a2bcd-6b6/checkResourceUsage"; + Requests[2614] = new DefaultHttpContext(); + Requests[2614].RequestServices = CreateServices(); + Requests[2614].Request.Method = "GET"; + Requests[2614].Request.Path = "/subscriptions/7cda9a78-2d5b-/resourceGroups/e098628f-849b-45e/providers/Microsoft.Cdn/profiles/72256ad6-cd/endpoints/24bd626c-5ee/customDomains"; + Requests[2615] = new DefaultHttpContext(); + Requests[2615].RequestServices = CreateServices(); + Requests[2615].Request.Method = "POST"; + Requests[2615].Request.Path = "/subscriptions/69336c70-ef91-/resourceGroups/2e221732-b4a1-441/providers/Microsoft.Cdn/profiles/2a1243ed-61/endpoints/15b2add3-958/load"; + Requests[2616] = new DefaultHttpContext(); + Requests[2616].RequestServices = CreateServices(); + Requests[2616].Request.Method = "GET"; + Requests[2616].Request.Path = "/subscriptions/16cb16d0-5755-/resourceGroups/99965994-d2fa-43f/providers/Microsoft.Cdn/profiles/5a067c9d-04/endpoints/62af92a0-db4/origins"; + Requests[2617] = new DefaultHttpContext(); + Requests[2617].RequestServices = CreateServices(); + Requests[2617].Request.Method = "POST"; + Requests[2617].Request.Path = "/subscriptions/112a3dd3-acab-/resourceGroups/3d95ed31-900f-42f/providers/Microsoft.Cdn/profiles/127d2c9e-6e/endpoints/d3c49d07-767/purge"; + Requests[2618] = new DefaultHttpContext(); + Requests[2618].RequestServices = CreateServices(); + Requests[2618].Request.Method = "POST"; + Requests[2618].Request.Path = "/subscriptions/e64ff3fd-30fa-/resourceGroups/f2d74b2a-4f83-440/providers/Microsoft.Cdn/profiles/8410fd99-b8/endpoints/9e6b9bd2-728/start"; + Requests[2619] = new DefaultHttpContext(); + Requests[2619].RequestServices = CreateServices(); + Requests[2619].Request.Method = "POST"; + Requests[2619].Request.Path = "/subscriptions/ca81c3b3-41e0-/resourceGroups/e45476c8-e779-4fe/providers/Microsoft.Cdn/profiles/1c501e83-07/endpoints/fab4b5e9-d88/stop"; + Requests[2620] = new DefaultHttpContext(); + Requests[2620].RequestServices = CreateServices(); + Requests[2620].Request.Method = "POST"; + Requests[2620].Request.Path = "/subscriptions/cb0e80ac-73ca-/resourceGroups/1833bb62-7de7-4f8/providers/Microsoft.Cdn/profiles/99f8a28a-2b/endpoints/f7b9da2d-8bb/validateCustomDomain"; + Requests[2621] = new DefaultHttpContext(); + Requests[2621].RequestServices = CreateServices(); + Requests[2621].Request.Method = "GET"; + Requests[2621].Request.Path = "/subscriptions/b3a1283e-146b-/resourceGroups/c5045141-24e6-41f/providers/Microsoft.Compute/galleries/be122350-c6/images/0046a732-c41d-4b/versions"; + Requests[2622] = new DefaultHttpContext(); + Requests[2622].RequestServices = CreateServices(); + Requests[2622].Request.Method = "GET"; + Requests[2622].Request.Path = "/subscriptions/25ba8516-4c69-/resourceGroups/9c5975d4-5804-47c/providers/microsoft.Compute/virtualMachineScaleSets/8ea7349a-e367-4416-8328-5f/virtualMachines/8968d5d3-aaad-45d2-/networkInterfaces"; + Requests[2623] = new DefaultHttpContext(); + Requests[2623].RequestServices = CreateServices(); + Requests[2623].Request.Method = "POST"; + Requests[2623].Request.Path = "/subscriptions/083f8679-bb6d-/resourceGroups/fcc5adda-b04c-4ec/providers/Microsoft.Compute/virtualMachineScaleSets/1f2fd4d9-62ad-/virtualmachines/10dfc6c2-1/deallocate"; + Requests[2624] = new DefaultHttpContext(); + Requests[2624].RequestServices = CreateServices(); + Requests[2624].Request.Method = "GET"; + Requests[2624].Request.Path = "/subscriptions/8d5b5f70-b8f7-/resourceGroups/cfc159c3-988a-4df/providers/Microsoft.Compute/virtualMachineScaleSets/bc5e2576-8458-/virtualmachines/a6e04d41-a/instanceView"; + Requests[2625] = new DefaultHttpContext(); + Requests[2625].RequestServices = CreateServices(); + Requests[2625].Request.Method = "POST"; + Requests[2625].Request.Path = "/subscriptions/bd909810-a0bb-/resourceGroups/99d17f40-6bbb-468/providers/Microsoft.Compute/virtualMachineScaleSets/9d8f2c25-cbb9-/virtualmachines/adf333fd-a/performMaintenance"; + Requests[2626] = new DefaultHttpContext(); + Requests[2626].RequestServices = CreateServices(); + Requests[2626].Request.Method = "POST"; + Requests[2626].Request.Path = "/subscriptions/b9b6c823-6ca8-/resourceGroups/42696f38-59b9-40d/providers/Microsoft.Compute/virtualMachineScaleSets/51b6f5d9-cbb2-/virtualmachines/c9973b92-4/poweroff"; + Requests[2627] = new DefaultHttpContext(); + Requests[2627].RequestServices = CreateServices(); + Requests[2627].Request.Method = "POST"; + Requests[2627].Request.Path = "/subscriptions/0047543e-5c43-/resourceGroups/02d901b7-00fd-4e5/providers/Microsoft.Compute/virtualMachineScaleSets/dc025b41-aab7-/virtualmachines/726143e6-4/redeploy"; + Requests[2628] = new DefaultHttpContext(); + Requests[2628].RequestServices = CreateServices(); + Requests[2628].Request.Method = "POST"; + Requests[2628].Request.Path = "/subscriptions/b7fa40b0-aebf-/resourceGroups/64a8f9e5-b339-46a/providers/Microsoft.Compute/virtualMachineScaleSets/6c98c66c-0cb0-/virtualmachines/806b40c4-b/reimage"; + Requests[2629] = new DefaultHttpContext(); + Requests[2629].RequestServices = CreateServices(); + Requests[2629].Request.Method = "POST"; + Requests[2629].Request.Path = "/subscriptions/358c396c-6f36-/resourceGroups/f4e5b4eb-7333-45e/providers/Microsoft.Compute/virtualMachineScaleSets/a1613271-59ca-/virtualmachines/2bb4062c-1/reimageall"; + Requests[2630] = new DefaultHttpContext(); + Requests[2630].RequestServices = CreateServices(); + Requests[2630].Request.Method = "POST"; + Requests[2630].Request.Path = "/subscriptions/e6ffb763-f504-/resourceGroups/35cff6e4-da24-460/providers/Microsoft.Compute/virtualMachineScaleSets/f5d79cea-0bb7-/virtualmachines/15c55510-2/restart"; + Requests[2631] = new DefaultHttpContext(); + Requests[2631].RequestServices = CreateServices(); + Requests[2631].Request.Method = "POST"; + Requests[2631].Request.Path = "/subscriptions/3e3684e4-3035-/resourceGroups/1d7014aa-89e1-470/providers/Microsoft.Compute/virtualMachineScaleSets/6f079ccb-27aa-/virtualmachines/429fe1a1-c/start"; + Requests[2632] = new DefaultHttpContext(); + Requests[2632].RequestServices = CreateServices(); + Requests[2632].Request.Method = "POST"; + Requests[2632].Request.Path = "/subscriptions/89736891-e66e-/resourceGroups/4ae11546-da05-46f/providers/Microsoft.ContainerInstance/containerGroups/f350645a-d329-461f/containers/e7904c60-b1ff/exec"; + Requests[2633] = new DefaultHttpContext(); + Requests[2633].RequestServices = CreateServices(); + Requests[2633].Request.Method = "GET"; + Requests[2633].Request.Path = "/subscriptions/2213b1bc-3772-/resourceGroups/9576f662-7627-490/providers/Microsoft.ContainerInstance/containerGroups/faf0f9e8-8bf5-4881/containers/c2e99d8c-c582/logs"; + Requests[2634] = new DefaultHttpContext(); + Requests[2634].RequestServices = CreateServices(); + Requests[2634].Request.Method = "POST"; + Requests[2634].Request.Path = "/subscriptions/39906f3c-1f6d-/resourceGroups/ff869968-bd5f-4c7/providers/Microsoft.ContainerRegistry/registries/ba76971d-7c5/builds/dc6853c/cancel"; + Requests[2635] = new DefaultHttpContext(); + Requests[2635].RequestServices = CreateServices(); + Requests[2635].Request.Method = "POST"; + Requests[2635].Request.Path = "/subscriptions/506c3ee2-89f8-/resourceGroups/22043120-6e2c-403/providers/Microsoft.ContainerRegistry/registries/1172de5b-c1c/builds/fdb9b5c/getLogLink"; + Requests[2636] = new DefaultHttpContext(); + Requests[2636].RequestServices = CreateServices(); + Requests[2636].Request.Method = "POST"; + Requests[2636].Request.Path = "/subscriptions/30b965cc-6632-/resourceGroups/52e4a5d8-086a-4cc/providers/Microsoft.ContainerRegistry/registries/ef950dd2-009/buildTasks/b14493bf-39a8/listSourceRepositoryProperties"; + Requests[2637] = new DefaultHttpContext(); + Requests[2637].RequestServices = CreateServices(); + Requests[2637].Request.Method = "GET"; + Requests[2637].Request.Path = "/subscriptions/1a1dc2d3-d13c-/resourceGroups/b2bbc449-e8ee-428/providers/Microsoft.ContainerRegistry/registries/2e980daa-421/buildTasks/69fed525-04c8/steps"; + Requests[2638] = new DefaultHttpContext(); + Requests[2638].RequestServices = CreateServices(); + Requests[2638].Request.Method = "POST"; + Requests[2638].Request.Path = "/subscriptions/73a6c112-01f1-/resourceGroups/8117fa06-bc1e-4a7/providers/Microsoft.ContainerRegistry/registries/fc54cabe-34d/webhooks/4d5158e6-18/getCallbackConfig"; + Requests[2639] = new DefaultHttpContext(); + Requests[2639].RequestServices = CreateServices(); + Requests[2639].Request.Method = "POST"; + Requests[2639].Request.Path = "/subscriptions/30c9f14f-431f-/resourceGroups/c2a380b2-f524-485/providers/Microsoft.ContainerRegistry/registries/d12f5bc4-42b/webhooks/a4107b28-5a/listEvents"; + Requests[2640] = new DefaultHttpContext(); + Requests[2640].RequestServices = CreateServices(); + Requests[2640].Request.Method = "POST"; + Requests[2640].Request.Path = "/subscriptions/fcda7da1-385c-/resourceGroups/1472ff8f-996d-42e/providers/Microsoft.ContainerRegistry/registries/3c68f9e8-f67/webhooks/0c154e4f-2b/ping"; + Requests[2641] = new DefaultHttpContext(); + Requests[2641].RequestServices = CreateServices(); + Requests[2641].Request.Method = "POST"; + Requests[2641].Request.Path = "/subscriptions/2d0f8be6-19a6-/resourceGroups/a18cb895-80af-4cd/providers/Microsoft.ContainerService/managedClusters/911b11d6-4aa/accessProfiles/deb2f9f4/listCredential"; + Requests[2642] = new DefaultHttpContext(); + Requests[2642].RequestServices = CreateServices(); + Requests[2642].Request.Method = "POST"; + Requests[2642].Request.Path = "/subscriptions/ba9a9604-513d-/resourceGroups/90aa6540-e1a4-449/providers/Microsoft.CustomerInsights/hubs/224a79d/authorizationPolicies/8f10fae5-eaa1-4df4-81f6/regeneratePrimaryKey"; + Requests[2643] = new DefaultHttpContext(); + Requests[2643].RequestServices = CreateServices(); + Requests[2643].Request.Method = "POST"; + Requests[2643].Request.Path = "/subscriptions/52787f1d-830b-/resourceGroups/a0de82d1-cd20-4ca/providers/Microsoft.CustomerInsights/hubs/b1605ba/authorizationPolicies/f8099d1b-2b75-4478-9f9e/regenerateSecondaryKey"; + Requests[2644] = new DefaultHttpContext(); + Requests[2644].RequestServices = CreateServices(); + Requests[2644].Request.Method = "GET"; + Requests[2644].Request.Path = "/subscriptions/d801c700-5d52-/resourceGroups/dd177550-560e-49e/providers/Microsoft.CustomerInsights/hubs/53a4a36/connectors/31ba2eac-4897/mappings"; + Requests[2645] = new DefaultHttpContext(); + Requests[2645].RequestServices = CreateServices(); + Requests[2645].Request.Method = "POST"; + Requests[2645].Request.Path = "/subscriptions/128a177d-a482-/resourceGroups/0fc8529f-4f11-453/providers/Microsoft.CustomerInsights/hubs/ace0bab/interactions/6b85d72f-cf61-4/suggestRelationshipLinks"; + Requests[2646] = new DefaultHttpContext(); + Requests[2646].RequestServices = CreateServices(); + Requests[2646].Request.Method = "POST"; + Requests[2646].Request.Path = "/subscriptions/68cd1afe-3350-/resourceGroups/68d23ff6-8ae5-463/providers/Microsoft.CustomerInsights/hubs/dcaac4c/kpi/9794822/reprocess"; + Requests[2647] = new DefaultHttpContext(); + Requests[2647].RequestServices = CreateServices(); + Requests[2647].Request.Method = "POST"; + Requests[2647].Request.Path = "/subscriptions/add249a6-eac7-/resourceGroups/43a41cef-12ea-40c/providers/Microsoft.CustomerInsights/hubs/9eb5c17/predictions/e9324b33-0d70-/getModelStatus"; + Requests[2648] = new DefaultHttpContext(); + Requests[2648].RequestServices = CreateServices(); + Requests[2648].Request.Method = "POST"; + Requests[2648].Request.Path = "/subscriptions/7c71e9f7-5ba1-/resourceGroups/3b498cdd-02df-447/providers/Microsoft.CustomerInsights/hubs/0853642/predictions/7a80723e-3cd9-/getTrainingResults"; + Requests[2649] = new DefaultHttpContext(); + Requests[2649].RequestServices = CreateServices(); + Requests[2649].Request.Method = "POST"; + Requests[2649].Request.Path = "/subscriptions/c1d02591-0303-/resourceGroups/295fec68-e578-49a/providers/Microsoft.CustomerInsights/hubs/78ae257/predictions/3f6d8e00-03d9-/modelStatus"; + Requests[2650] = new DefaultHttpContext(); + Requests[2650].RequestServices = CreateServices(); + Requests[2650].Request.Method = "POST"; + Requests[2650].Request.Path = "/subscriptions/cc6d9900-02ca-/resourceGroups/fb046a2a-45f4-4a2/providers/Microsoft.CustomerInsights/hubs/2f31513/profiles/83b81ab7-f1/getEnrichingKpis"; + Requests[2651] = new DefaultHttpContext(); + Requests[2651].RequestServices = CreateServices(); + Requests[2651].Request.Method = "POST"; + Requests[2651].Request.Path = "/subscriptions/cb54ab64-3b21-/resourceGroups/e49b74c8-b771-4a0/providers/Microsoft.DataFactory/factories/9a8d8b60-ff/integrationRuntimes/c206c0ea-398e-4877-8a0/getConnectionInfo"; + Requests[2652] = new DefaultHttpContext(); + Requests[2652].RequestServices = CreateServices(); + Requests[2652].Request.Method = "POST"; + Requests[2652].Request.Path = "/subscriptions/b8064811-2559-/resourceGroups/40fd0b40-335e-4db/providers/Microsoft.DataFactory/factories/f9cf57d5-3b/integrationRuntimes/2ec5925f-eac7-4080-b4d/getStatus"; + Requests[2653] = new DefaultHttpContext(); + Requests[2653].RequestServices = CreateServices(); + Requests[2653].Request.Method = "POST"; + Requests[2653].Request.Path = "/subscriptions/bb4a2c57-8723-/resourceGroups/9323deb7-a920-475/providers/Microsoft.DataFactory/factories/7719b720-a8/integrationRuntimes/8162d3ef-c789-4912-8b3/listAuthKeys"; + Requests[2654] = new DefaultHttpContext(); + Requests[2654].RequestServices = CreateServices(); + Requests[2654].Request.Method = "POST"; + Requests[2654].Request.Path = "/subscriptions/6f6a0933-0927-/resourceGroups/5fd5ab00-29f6-4c9/providers/Microsoft.DataFactory/factories/b5fece04-0d/integrationRuntimes/f484dfef-96a3-48e1-8f8/monitoringData"; + Requests[2655] = new DefaultHttpContext(); + Requests[2655].RequestServices = CreateServices(); + Requests[2655].Request.Method = "POST"; + Requests[2655].Request.Path = "/subscriptions/431a07eb-9e7d-/resourceGroups/5c6d7b00-2258-439/providers/Microsoft.DataFactory/factories/991d192c-19/integrationRuntimes/d250a799-6c52-40cc-84f/regenerateAuthKey"; + Requests[2656] = new DefaultHttpContext(); + Requests[2656].RequestServices = CreateServices(); + Requests[2656].Request.Method = "POST"; + Requests[2656].Request.Path = "/subscriptions/c8d43e9f-abcd-/resourceGroups/710b7e73-5f14-4de/providers/Microsoft.DataFactory/factories/c17da2ce-07/integrationRuntimes/5734b580-6452-4052-84c/removeNode"; + Requests[2657] = new DefaultHttpContext(); + Requests[2657].RequestServices = CreateServices(); + Requests[2657].Request.Method = "POST"; + Requests[2657].Request.Path = "/subscriptions/5e20ecee-0de0-/resourceGroups/53b7ebb6-3f69-4a8/providers/Microsoft.DataFactory/factories/0202f465-06/integrationRuntimes/0e2208c1-6f39-4d57-b58/start"; + Requests[2658] = new DefaultHttpContext(); + Requests[2658].RequestServices = CreateServices(); + Requests[2658].Request.Method = "POST"; + Requests[2658].Request.Path = "/subscriptions/5a0b5bb1-8bf6-/resourceGroups/422b2e62-359c-431/providers/Microsoft.DataFactory/factories/f9055b5f-94/integrationRuntimes/230c087d-9aba-4245-9f2/stop"; + Requests[2659] = new DefaultHttpContext(); + Requests[2659].RequestServices = CreateServices(); + Requests[2659].Request.Method = "POST"; + Requests[2659].Request.Path = "/subscriptions/48abf61c-3830-/resourceGroups/4cc4fa66-efd0-4d1/providers/Microsoft.DataFactory/factories/a509419e-a0/integrationRuntimes/6f38903a-c405-42c2-84f/syncCredentials"; + Requests[2660] = new DefaultHttpContext(); + Requests[2660].RequestServices = CreateServices(); + Requests[2660].Request.Method = "POST"; + Requests[2660].Request.Path = "/subscriptions/b040f6e8-597a-/resourceGroups/3257098b-c1d2-421/providers/Microsoft.DataFactory/factories/3bc560ad-08/integrationRuntimes/69e6040e-ac49-4ddb-ada/upgrade"; + Requests[2661] = new DefaultHttpContext(); + Requests[2661].RequestServices = CreateServices(); + Requests[2661].Request.Method = "GET"; + Requests[2661].Request.Path = "/subscriptions/93c0dd54-d255-/resourceGroups/2fd2bbfd-a4eb-416/providers/Microsoft.DataFactory/factories/7ef4c4a0-4f/pipelineruns/6dcd9/activityruns"; + Requests[2662] = new DefaultHttpContext(); + Requests[2662].RequestServices = CreateServices(); + Requests[2662].Request.Method = "POST"; + Requests[2662].Request.Path = "/subscriptions/c073a2f9-58b4-/resourceGroups/3c5658c8-4dd5-4f9/providers/Microsoft.DataFactory/factories/526e8962-96/pipelines/f124fbad-3bb/createRun"; + Requests[2663] = new DefaultHttpContext(); + Requests[2663].RequestServices = CreateServices(); + Requests[2663].Request.Method = "POST"; + Requests[2663].Request.Path = "/subscriptions/bfc61440-42aa-/resourceGroups/785eda26-161d-467/providers/Microsoft.DataFactory/factories/cd40b2f0-64/triggers/a787e349-61/start"; + Requests[2664] = new DefaultHttpContext(); + Requests[2664].RequestServices = CreateServices(); + Requests[2664].Request.Method = "POST"; + Requests[2664].Request.Path = "/subscriptions/85138195-078e-/resourceGroups/4c55549e-5c4b-4d9/providers/Microsoft.DataFactory/factories/4c742bbb-76/triggers/ac3fd5c7-0a/stop"; + Requests[2665] = new DefaultHttpContext(); + Requests[2665].RequestServices = CreateServices(); + Requests[2665].Request.Method = "GET"; + Requests[2665].Request.Path = "/subscriptions/aa71b827-4db5-/resourceGroups/a01e3c38-06ae-48c/providers/Microsoft.DataFactory/factories/6d502619-6c/triggers/6a3ca3bf-63/triggerruns"; + Requests[2666] = new DefaultHttpContext(); + Requests[2666].RequestServices = CreateServices(); + Requests[2666].Request.Method = "GET"; + Requests[2666].Request.Path = "/subscriptions/136c107b-f61b-/resourceGroups/5f641336-bb16-44a/providers/Microsoft.DataLakeAnalytics/accounts/9f9f6df7-f9/storageAccounts/49af8ee1-27d3-4602/containers"; + Requests[2667] = new DefaultHttpContext(); + Requests[2667].RequestServices = CreateServices(); + Requests[2667].Request.Method = "POST"; + Requests[2667].Request.Path = "/subscriptions/75fb4b9b-4241-/resourceGroups/9ef774c3-87b0-440/providers/Microsoft.Devices/IotHubs/d09c7bab-717/certificates/627af162-39f8-4/generateVerificationCode"; + Requests[2668] = new DefaultHttpContext(); + Requests[2668].RequestServices = CreateServices(); + Requests[2668].Request.Method = "POST"; + Requests[2668].Request.Path = "/subscriptions/66ae4e45-570f-/resourceGroups/05943f22-14cb-4a5/providers/Microsoft.Devices/IotHubs/ebb84b1d-90d/certificates/106d1733-9ab4-4/verify"; + Requests[2669] = new DefaultHttpContext(); + Requests[2669].RequestServices = CreateServices(); + Requests[2669].Request.Method = "GET"; + Requests[2669].Request.Path = "/subscriptions/a4ecf38d-20a6-/resourceGroups/85385937-9f1b-4e7/providers/Microsoft.Devices/IotHubs/dd71afd6-198/eventHubEndpoints/f6242815-1d0e-4a4e-9/ConsumerGroups"; + Requests[2670] = new DefaultHttpContext(); + Requests[2670].RequestServices = CreateServices(); + Requests[2670].Request.Method = "POST"; + Requests[2670].Request.Path = "/subscriptions/2b2b1eb5-bef9-/resourceGroups/093bb0cf-1985-472/providers/Microsoft.Devices/IotHubs/e96f3a5a-bf2/IotHubKeys/86be57f/listkeys"; + Requests[2671] = new DefaultHttpContext(); + Requests[2671].RequestServices = CreateServices(); + Requests[2671].Request.Method = "POST"; + Requests[2671].Request.Path = "/subscriptions/609bceb5-bda3-/resourceGroups/3c33907b-e15d-40b/providers/Microsoft.Devices/provisioningServices/e9b4ac51-3e93-4817-9b93/certificates/4e53a62e-efac-4/generateVerificationCode"; + Requests[2672] = new DefaultHttpContext(); + Requests[2672].RequestServices = CreateServices(); + Requests[2672].Request.Method = "POST"; + Requests[2672].Request.Path = "/subscriptions/c892f67a-7a05-/resourceGroups/6e29f375-1822-490/providers/Microsoft.Devices/provisioningServices/abf87799-db7d-4315-abee/certificates/1f68f0f3-54c5-4/verify"; + Requests[2673] = new DefaultHttpContext(); + Requests[2673].RequestServices = CreateServices(); + Requests[2673].Request.Method = "POST"; + Requests[2673].Request.Path = "/subscriptions/181cc535-1c26-/resourceGroups/38bfa40c-efc9-4f7/providers/Microsoft.Devices/provisioningServices/a26365ea-67d7-4f33-86ed/keys/8af0479/listkeys"; + Requests[2674] = new DefaultHttpContext(); + Requests[2674].RequestServices = CreateServices(); + Requests[2674].Request.Method = "GET"; + Requests[2674].Request.Path = "/subscriptions/43bbb7f2-6593-/resourceGroups/f005e638-e0fa-4ca/providers/Microsoft.DevTestLab/labs/e33cacf/artifactsources/671b74b4-8d9d-427d/armtemplates"; + Requests[2675] = new DefaultHttpContext(); + Requests[2675].RequestServices = CreateServices(); + Requests[2675].Request.Method = "GET"; + Requests[2675].Request.Path = "/subscriptions/27014891-471c-/resourceGroups/0f0d3750-27e8-43d/providers/Microsoft.DevTestLab/labs/c5c784d/artifactsources/abc0f694-3f9d-4acf/artifacts"; + Requests[2676] = new DefaultHttpContext(); + Requests[2676].RequestServices = CreateServices(); + Requests[2676].Request.Method = "POST"; + Requests[2676].Request.Path = "/subscriptions/2485e745-0441-/resourceGroups/58faec3c-35a1-432/providers/Microsoft.DevTestLab/labs/4ad932a/costinsights/f2107/refreshData"; + Requests[2677] = new DefaultHttpContext(); + Requests[2677].RequestServices = CreateServices(); + Requests[2677].Request.Method = "POST"; + Requests[2677].Request.Path = "/subscriptions/c6862253-8fa5-/resourceGroups/dd4e5302-2479-413/providers/Microsoft.DevTestLab/labs/fb3ebd1/costs/9cf21/refreshData"; + Requests[2678] = new DefaultHttpContext(); + Requests[2678].RequestServices = CreateServices(); + Requests[2678].Request.Method = "POST"; + Requests[2678].Request.Path = "/subscriptions/d8888773-f395-/resourceGroups/1d7f598d-1291-4aa/providers/Microsoft.DevTestLab/labs/746fc84/notificationchannels/6b3a4/notify"; + Requests[2679] = new DefaultHttpContext(); + Requests[2679].RequestServices = CreateServices(); + Requests[2679].Request.Method = "POST"; + Requests[2679].Request.Path = "/subscriptions/a554b4db-a997-/resourceGroups/44f31f37-f531-412/providers/Microsoft.DevTestLab/labs/fa8c3b2/policysets/ea358/evaluatePolicies"; + Requests[2680] = new DefaultHttpContext(); + Requests[2680].RequestServices = CreateServices(); + Requests[2680].Request.Method = "GET"; + Requests[2680].Request.Path = "/subscriptions/1d40125f-58ee-/resourceGroups/16f081b9-4eb5-4ea/providers/Microsoft.DevTestLab/labs/5407ada/policysets/b32df4f8-4930/policies"; + Requests[2681] = new DefaultHttpContext(); + Requests[2681].RequestServices = CreateServices(); + Requests[2681].Request.Method = "POST"; + Requests[2681].Request.Path = "/subscriptions/613adc65-219e-/resourceGroups/664371df-b403-453/providers/Microsoft.DevTestLab/labs/65b1796/schedules/fe34f/execute"; + Requests[2682] = new DefaultHttpContext(); + Requests[2682].RequestServices = CreateServices(); + Requests[2682].Request.Method = "POST"; + Requests[2682].Request.Path = "/subscriptions/a0c76901-4264-/resourceGroups/2e84720c-c274-4cd/providers/Microsoft.DevTestLab/labs/4577b19/schedules/6fd49/listApplicable"; + Requests[2683] = new DefaultHttpContext(); + Requests[2683].RequestServices = CreateServices(); + Requests[2683].Request.Method = "GET"; + Requests[2683].Request.Path = "/subscriptions/a6f1ff6d-a331-/resourceGroups/44efe6e0-3317-407/providers/Microsoft.DevTestLab/labs/f70eada/users/2b5959b9/disks"; + Requests[2684] = new DefaultHttpContext(); + Requests[2684].RequestServices = CreateServices(); + Requests[2684].Request.Method = "GET"; + Requests[2684].Request.Path = "/subscriptions/42ff051f-c81b-/resourceGroups/1a888ecd-888f-484/providers/Microsoft.DevTestLab/labs/47e3897/users/7cfbb7cc/environments"; + Requests[2685] = new DefaultHttpContext(); + Requests[2685].RequestServices = CreateServices(); + Requests[2685].Request.Method = "GET"; + Requests[2685].Request.Path = "/subscriptions/d329f966-906b-/resourceGroups/e5284fdd-2c10-4e0/providers/Microsoft.DevTestLab/labs/b810eef/users/808cebc1/secrets"; + Requests[2686] = new DefaultHttpContext(); + Requests[2686].RequestServices = CreateServices(); + Requests[2686].Request.Method = "POST"; + Requests[2686].Request.Path = "/subscriptions/951d4819-1442-/resourceGroups/0318096e-5425-464/providers/Microsoft.DevTestLab/labs/33e42fb/virtualmachines/c363a/addDataDisk"; + Requests[2687] = new DefaultHttpContext(); + Requests[2687].RequestServices = CreateServices(); + Requests[2687].Request.Method = "POST"; + Requests[2687].Request.Path = "/subscriptions/7f46ca96-54dc-/resourceGroups/cb90212e-f496-464/providers/Microsoft.DevTestLab/labs/ad90471/virtualmachines/69a27/applyArtifacts"; + Requests[2688] = new DefaultHttpContext(); + Requests[2688].RequestServices = CreateServices(); + Requests[2688].Request.Method = "POST"; + Requests[2688].Request.Path = "/subscriptions/00f5c52c-65fd-/resourceGroups/3dcd4e15-6bd9-455/providers/Microsoft.DevTestLab/labs/7f9f680/virtualmachines/e3596/claim"; + Requests[2689] = new DefaultHttpContext(); + Requests[2689].RequestServices = CreateServices(); + Requests[2689].Request.Method = "POST"; + Requests[2689].Request.Path = "/subscriptions/cb5303c6-1ae2-/resourceGroups/9d728c24-cb3f-46b/providers/Microsoft.DevTestLab/labs/fe40994/virtualmachines/e4fdb/detachDataDisk"; + Requests[2690] = new DefaultHttpContext(); + Requests[2690].RequestServices = CreateServices(); + Requests[2690].Request.Method = "POST"; + Requests[2690].Request.Path = "/subscriptions/3f25f3c2-158c-/resourceGroups/2f908289-1fe6-4dc/providers/Microsoft.DevTestLab/labs/c19f965/virtualmachines/a2dd2/listApplicableSchedules"; + Requests[2691] = new DefaultHttpContext(); + Requests[2691].RequestServices = CreateServices(); + Requests[2691].Request.Method = "POST"; + Requests[2691].Request.Path = "/subscriptions/392fa8bc-c101-/resourceGroups/02c21c98-0492-47e/providers/Microsoft.DevTestLab/labs/0a6783b/virtualmachines/23639/start"; + Requests[2692] = new DefaultHttpContext(); + Requests[2692].RequestServices = CreateServices(); + Requests[2692].Request.Method = "POST"; + Requests[2692].Request.Path = "/subscriptions/019c1fcb-5699-/resourceGroups/0620a703-5141-4a3/providers/Microsoft.DevTestLab/labs/c4ec65e/virtualmachines/e3512/stop"; + Requests[2693] = new DefaultHttpContext(); + Requests[2693].RequestServices = CreateServices(); + Requests[2693].Request.Method = "GET"; + Requests[2693].Request.Path = "/subscriptions/a1e45fcd-8b3f-/resourceGroups/4830d5db-bbe3-43e/providers/Microsoft.DevTestLab/labs/92a9dc8/virtualmachines/0ae5ff59-e5a6-4c10/schedules"; + Requests[2694] = new DefaultHttpContext(); + Requests[2694].RequestServices = CreateServices(); + Requests[2694].Request.Method = "GET"; + Requests[2694].Request.Path = "/subscriptions/74e7471c-02a5-/resourceGroups/37b97447-d54b-4de/providers/Microsoft.DocumentDB/databaseAccounts/84e753e7-e8/databases/bc58ad6c-a8/metricDefinitions"; + Requests[2695] = new DefaultHttpContext(); + Requests[2695].RequestServices = CreateServices(); + Requests[2695].Request.Method = "GET"; + Requests[2695].Request.Path = "/subscriptions/4331c961-b821-/resourceGroups/b09dcea5-539a-417/providers/Microsoft.DocumentDB/databaseAccounts/991e9d66-1e/databases/288b872a-63/metrics"; + Requests[2696] = new DefaultHttpContext(); + Requests[2696].RequestServices = CreateServices(); + Requests[2696].Request.Method = "GET"; + Requests[2696].Request.Path = "/subscriptions/398054a8-c6bf-/resourceGroups/08b44855-652b-47b/providers/Microsoft.DocumentDB/databaseAccounts/a6280cdc-ee/databases/1c059321-ba/usages"; + Requests[2697] = new DefaultHttpContext(); + Requests[2697].RequestServices = CreateServices(); + Requests[2697].Request.Method = "GET"; + Requests[2697].Request.Path = "/subscriptions/79206e29-02bb-/resourceGroups/7ccf5e82-d848-4b2/providers/Microsoft.DocumentDB/databaseAccounts/0e4fcdaf-81/region/6c8164/metrics"; + Requests[2698] = new DefaultHttpContext(); + Requests[2698].RequestServices = CreateServices(); + Requests[2698].Request.Method = "GET"; + Requests[2698].Request.Path = "/subscriptions/796981e9-06d0-/resourceGroups/553385ee-9099-42c/providers/Microsoft.EventGrid/locations/6070550b/topicTypes/887928a5-8960/eventSubscriptions"; + Requests[2699] = new DefaultHttpContext(); + Requests[2699].RequestServices = CreateServices(); + Requests[2699].Request.Method = "POST"; + Requests[2699].Request.Path = "/subscriptions/901a9adc-8eaa-/resourceGroups/b906b869-351b-43c/providers/Microsoft.EventHub/namespaces/740bc23c-b2e3/AuthorizationRules/1933f519-7076-4753-ae/listKeys"; + Requests[2700] = new DefaultHttpContext(); + Requests[2700].RequestServices = CreateServices(); + Requests[2700].Request.Method = "POST"; + Requests[2700].Request.Path = "/subscriptions/65da6763-9ce0-/resourceGroups/f5238436-e13c-475/providers/Microsoft.EventHub/namespaces/249b2719-e1a5/AuthorizationRules/4ca17c8c-6b03-47b6-bf/regenerateKeys"; + Requests[2701] = new DefaultHttpContext(); + Requests[2701].RequestServices = CreateServices(); + Requests[2701].Request.Method = "GET"; + Requests[2701].Request.Path = "/subscriptions/cc5f7140-9d2f-/resourceGroups/dc140554-5eb6-47a/providers/Microsoft.EventHub/namespaces/09a1c36a-1005/disasterRecoveryConfigs/c843e/AuthorizationRules"; + Requests[2702] = new DefaultHttpContext(); + Requests[2702].RequestServices = CreateServices(); + Requests[2702].Request.Method = "POST"; + Requests[2702].Request.Path = "/subscriptions/ee3288dd-8ed5-/resourceGroups/37484c0e-3ca1-42f/providers/Microsoft.EventHub/namespaces/bcfe59ff-1980/disasterRecoveryConfigs/d7377/breakPairing"; + Requests[2703] = new DefaultHttpContext(); + Requests[2703].RequestServices = CreateServices(); + Requests[2703].Request.Method = "POST"; + Requests[2703].Request.Path = "/subscriptions/a238678e-ea0b-/resourceGroups/087e531a-9f1d-4e7/providers/Microsoft.EventHub/namespaces/634b7ed6-2d35/disasterRecoveryConfigs/c2f04/failover"; + Requests[2704] = new DefaultHttpContext(); + Requests[2704].RequestServices = CreateServices(); + Requests[2704].Request.Method = "GET"; + Requests[2704].Request.Path = "/subscriptions/1ee477ab-ed4a-/resourceGroups/411ffa40-6264-4c0/providers/Microsoft.EventHub/namespaces/cc62e480-0803/eventhubs/f69552e9-c05/authorizationRules"; + Requests[2705] = new DefaultHttpContext(); + Requests[2705].RequestServices = CreateServices(); + Requests[2705].Request.Method = "GET"; + Requests[2705].Request.Path = "/subscriptions/b8b40046-6204-/resourceGroups/f6a7ca83-4f4a-449/providers/Microsoft.EventHub/namespaces/53f6892c-68ae/eventhubs/4f1ca596-bba/consumergroups"; + Requests[2706] = new DefaultHttpContext(); + Requests[2706].RequestServices = CreateServices(); + Requests[2706].Request.Method = "POST"; + Requests[2706].Request.Path = "/subscriptions/577760fa-9942-/resourceGroups/af070a4c-ae82-41b/providers/Microsoft.Fabric.Admin/fabricLocations/dbb12fa4/infraRoleInstances/952fce9a-bb76-484/PowerOff"; + Requests[2707] = new DefaultHttpContext(); + Requests[2707].RequestServices = CreateServices(); + Requests[2707].Request.Method = "POST"; + Requests[2707].Request.Path = "/subscriptions/83c2dc42-6694-/resourceGroups/062b19cb-c2ed-49b/providers/Microsoft.Fabric.Admin/fabricLocations/70e8fda4/infraRoleInstances/6c78d079-f70d-47a/PowerOn"; + Requests[2708] = new DefaultHttpContext(); + Requests[2708].RequestServices = CreateServices(); + Requests[2708].Request.Method = "POST"; + Requests[2708].Request.Path = "/subscriptions/90de848a-21c4-/resourceGroups/8f0cd137-2733-43e/providers/Microsoft.Fabric.Admin/fabricLocations/45b0aa49/infraRoleInstances/556b27dc-54b9-48c/Reboot"; + Requests[2709] = new DefaultHttpContext(); + Requests[2709].RequestServices = CreateServices(); + Requests[2709].Request.Method = "POST"; + Requests[2709].Request.Path = "/subscriptions/04da4b94-8879-/resourceGroups/d1c2de26-8db6-483/providers/Microsoft.Fabric.Admin/fabricLocations/62da5dca/infraRoleInstances/6cd47edf-9bf3-47d/Shutdown"; + Requests[2710] = new DefaultHttpContext(); + Requests[2710].RequestServices = CreateServices(); + Requests[2710].Request.Method = "POST"; + Requests[2710].Request.Path = "/subscriptions/c59376d4-53ca-/resourceGroups/aeaa1ad4-bfd3-447/providers/Microsoft.Fabric.Admin/fabricLocations/ced507a5/infraRoles/71309c61-/Restart"; + Requests[2711] = new DefaultHttpContext(); + Requests[2711].RequestServices = CreateServices(); + Requests[2711].Request.Method = "GET"; + Requests[2711].Request.Path = "/subscriptions/e8a0aa14-7c5c-/resourceGroups/dd7ca232-3e31-4df/providers/Microsoft.Fabric.Admin/fabricLocations/d40ac352/logicalNetworks/69a849e8-3afd-/logicalSubnets"; + Requests[2712] = new DefaultHttpContext(); + Requests[2712].RequestServices = CreateServices(); + Requests[2712].Request.Method = "POST"; + Requests[2712].Request.Path = "/subscriptions/77e71cab-4593-/resourceGroups/b8b2e6fa-8ac7-45d/providers/Microsoft.Fabric.Admin/fabricLocations/627d74b1/scaleUnitNodes/7c0aea70-3ed4/PowerOff"; + Requests[2713] = new DefaultHttpContext(); + Requests[2713].RequestServices = CreateServices(); + Requests[2713].Request.Method = "POST"; + Requests[2713].Request.Path = "/subscriptions/0c294c0f-be7c-/resourceGroups/468bd2bf-ea90-438/providers/Microsoft.Fabric.Admin/fabricLocations/8ee5ea25/scaleUnitNodes/20ed3e8f-c8ce/PowerOn"; + Requests[2714] = new DefaultHttpContext(); + Requests[2714].RequestServices = CreateServices(); + Requests[2714].Request.Method = "POST"; + Requests[2714].Request.Path = "/subscriptions/c19bbf18-2a56-/resourceGroups/f0d4981d-8a08-443/providers/Microsoft.Fabric.Admin/fabricLocations/a913348d/scaleUnitNodes/8d485342-3e01/Repair"; + Requests[2715] = new DefaultHttpContext(); + Requests[2715].RequestServices = CreateServices(); + Requests[2715].Request.Method = "POST"; + Requests[2715].Request.Path = "/subscriptions/6112b696-13eb-/resourceGroups/d9ba8157-1fe7-4e6/providers/Microsoft.Fabric.Admin/fabricLocations/9e63eaa4/scaleUnitNodes/4f24bcbb-520a/Shutdown"; + Requests[2716] = new DefaultHttpContext(); + Requests[2716].RequestServices = CreateServices(); + Requests[2716].Request.Method = "POST"; + Requests[2716].Request.Path = "/subscriptions/d504bd57-b203-/resourceGroups/d58f5799-4ded-4d0/providers/Microsoft.Fabric.Admin/fabricLocations/435ceca0/scaleUnitNodes/4bfe6137-a088/StartMaintenanceMode"; + Requests[2717] = new DefaultHttpContext(); + Requests[2717].RequestServices = CreateServices(); + Requests[2717].Request.Method = "POST"; + Requests[2717].Request.Path = "/subscriptions/30485d61-de85-/resourceGroups/721d07cb-feeb-41c/providers/Microsoft.Fabric.Admin/fabricLocations/f1ef9669/scaleUnitNodes/99deae6f-f083/StopMaintenanceMode"; + Requests[2718] = new DefaultHttpContext(); + Requests[2718].RequestServices = CreateServices(); + Requests[2718].Request.Method = "POST"; + Requests[2718].Request.Path = "/subscriptions/e39f1b00-06ed-/resourceGroups/7ade10fd-e59a-456/providers/Microsoft.Fabric.Admin/fabricLocations/d40ec008/scaleUnits/9d8a56a9-/ScaleOut"; + Requests[2719] = new DefaultHttpContext(); + Requests[2719].RequestServices = CreateServices(); + Requests[2719].Request.Method = "GET"; + Requests[2719].Request.Path = "/subscriptions/19c8d319-5474-/resourceGroups/24a8d33c-a784-43b/providers/Microsoft.Fabric.Admin/fabricLocations/5a9a2d25/storageSubSystems/21181ae6-bad2-44/storagePools"; + Requests[2720] = new DefaultHttpContext(); + Requests[2720].RequestServices = CreateServices(); + Requests[2720].Request.Method = "POST"; + Requests[2720].Request.Path = "/subscriptions/3eedc10f-74ac-/resourceGroups/f89b0ba0-4ab1-47b/providers/Microsoft.HDInsight/clusters/70d0732c-ce/roles/640a0443/resize"; + Requests[2721] = new DefaultHttpContext(); + Requests[2721].RequestServices = CreateServices(); + Requests[2721].Request.Method = "POST"; + Requests[2721].Request.Path = "/subscriptions/31ffebaf-7cce-/resourceGroups/af2508c6-32ee-419/providers/Microsoft.HDInsight/clusters/32533558-9b/scriptExecutionHistory/c84e974c-46cd-46b/promote"; + Requests[2722] = new DefaultHttpContext(); + Requests[2722].RequestServices = CreateServices(); + Requests[2722].Request.Method = "GET"; + Requests[2722].Request.Path = "/subscriptions/2c41f153-fc33-/resourceGroups/c2d04d81-7924-4e2/providers/Microsoft.InfrastructureInsights.Admin/regionHealths/92ad702e/serviceHealths/468db43c-90c9-457b-80/resourceHealths"; + Requests[2723] = new DefaultHttpContext(); + Requests[2723].RequestServices = CreateServices(); + Requests[2723].Request.Method = "POST"; + Requests[2723].Request.Path = "/subscriptions/4ffacbf4-5216-/resourceGroups/747d5a62-0b7d-4e1/providers/Microsoft.Logic/integrationAccounts/91017f92-485c-4dba-9ba/agreements/3ca42828-a443/listContentCallbackUrl"; + Requests[2724] = new DefaultHttpContext(); + Requests[2724].RequestServices = CreateServices(); + Requests[2724].Request.Method = "POST"; + Requests[2724].Request.Path = "/subscriptions/6a5a962c-df04-/resourceGroups/594d252b-3de7-43e/providers/Microsoft.Logic/integrationAccounts/96188607-9be0-4403-bdb/assemblies/7cd8735b-a93d-433d-8/listContentCallbackUrl"; + Requests[2725] = new DefaultHttpContext(); + Requests[2725].RequestServices = CreateServices(); + Requests[2725].Request.Method = "POST"; + Requests[2725].Request.Path = "/subscriptions/8cff1128-79d6-/resourceGroups/4c7e5916-952f-49b/providers/Microsoft.Logic/integrationAccounts/594ea183-cdaf-42a0-943/maps/2d3636e/listContentCallbackUrl"; + Requests[2726] = new DefaultHttpContext(); + Requests[2726].RequestServices = CreateServices(); + Requests[2726].Request.Method = "POST"; + Requests[2726].Request.Path = "/subscriptions/2d414ee1-eb86-/resourceGroups/155c0d9f-a1ff-4fd/providers/Microsoft.Logic/integrationAccounts/3d6abf81-d42d-45c8-987/partners/a6fa73ff-1b/listContentCallbackUrl"; + Requests[2727] = new DefaultHttpContext(); + Requests[2727].RequestServices = CreateServices(); + Requests[2727].Request.Method = "POST"; + Requests[2727].Request.Path = "/subscriptions/82b08c2c-0923-/resourceGroups/33f9a2d0-b6a8-479/providers/Microsoft.Logic/integrationAccounts/ec84d6b9-0be3-432c-a48/schemas/81633cd1-9/listContentCallbackUrl"; + Requests[2728] = new DefaultHttpContext(); + Requests[2728].RequestServices = CreateServices(); + Requests[2728].Request.Method = "POST"; + Requests[2728].Request.Path = "/subscriptions/891356b1-8236-/resourceGroups/28c59c1e-ec34-4ad/providers/Microsoft.Logic/locations/89f11b60/workflows/7be12abe-d19/validate"; + Requests[2729] = new DefaultHttpContext(); + Requests[2729].RequestServices = CreateServices(); + Requests[2729].Request.Method = "POST"; + Requests[2729].Request.Path = "/subscriptions/74a7b243-a04a-/resourceGroups/35d848cd-8ace-4bf/providers/Microsoft.Logic/workflows/bf036f4b-50b/accessKeys/ed8f9c8c-b141/list"; + Requests[2730] = new DefaultHttpContext(); + Requests[2730].RequestServices = CreateServices(); + Requests[2730].Request.Method = "POST"; + Requests[2730].Request.Path = "/subscriptions/63cdd394-a407-/resourceGroups/1bfbe78c-8861-4e7/providers/Microsoft.Logic/workflows/429e3bc2-607/accessKeys/04928fc2-d735/regenerate"; + Requests[2731] = new DefaultHttpContext(); + Requests[2731].RequestServices = CreateServices(); + Requests[2731].Request.Method = "GET"; + Requests[2731].Request.Path = "/subscriptions/4b63627d-f924-/resourceGroups/d58b1a1a-d77c-4db/providers/Microsoft.Logic/workflows/773e7d67-e88/runs/518d0f6/actions"; + Requests[2732] = new DefaultHttpContext(); + Requests[2732].RequestServices = CreateServices(); + Requests[2732].Request.Method = "POST"; + Requests[2732].Request.Path = "/subscriptions/84d94f47-24e4-/resourceGroups/ab483cbc-ee9a-460/providers/Microsoft.Logic/workflows/89c851ec-aa7/runs/c684eec/cancel"; + Requests[2733] = new DefaultHttpContext(); + Requests[2733].RequestServices = CreateServices(); + Requests[2733].Request.Method = "GET"; + Requests[2733].Request.Path = "/subscriptions/dfe5fc7e-d15e-/resourceGroups/24159632-869d-4a1/providers/Microsoft.Logic/workflows/9bc06408-fb7/triggers/6d98fba0-18/histories"; + Requests[2734] = new DefaultHttpContext(); + Requests[2734].RequestServices = CreateServices(); + Requests[2734].Request.Method = "POST"; + Requests[2734].Request.Path = "/subscriptions/408b8850-9683-/resourceGroups/8596afbe-10ca-441/providers/Microsoft.Logic/workflows/53d5cd16-430/triggers/2b9af42e-6e/listCallbackUrl"; + Requests[2735] = new DefaultHttpContext(); + Requests[2735].RequestServices = CreateServices(); + Requests[2735].Request.Method = "POST"; + Requests[2735].Request.Path = "/subscriptions/a4c147e1-fd7a-/resourceGroups/b26b7273-ca32-47b/providers/Microsoft.Logic/workflows/3b287224-36c/triggers/f8e54047-7b/reset"; + Requests[2736] = new DefaultHttpContext(); + Requests[2736].RequestServices = CreateServices(); + Requests[2736].Request.Method = "POST"; + Requests[2736].Request.Path = "/subscriptions/7ebc8d97-da9c-/resourceGroups/e10b53eb-62af-4db/providers/Microsoft.Logic/workflows/f802d940-ef2/triggers/97a7bfb0-e1/run"; + Requests[2737] = new DefaultHttpContext(); + Requests[2737].RequestServices = CreateServices(); + Requests[2737].Request.Method = "POST"; + Requests[2737].Request.Path = "/subscriptions/11d26ca8-7ca1-/resourceGroups/3a3b29d0-002f-42d/providers/Microsoft.Logic/workflows/2946b606-bf8/triggers/a03d41cf-12/setState"; + Requests[2738] = new DefaultHttpContext(); + Requests[2738].RequestServices = CreateServices(); + Requests[2738].Request.Method = "POST"; + Requests[2738].Request.Path = "/subscriptions/7e0bc692-f556-/resourceGroups/ab4ebca7-3ce9-44b/providers/Microsoft.MachineLearning/commitmentPlans/a0365b88-0a54-4720/commitmentAssociations/80f689d4-a503-4af4-915a-6/move"; + Requests[2739] = new DefaultHttpContext(); + Requests[2739].RequestServices = CreateServices(); + Requests[2739].Request.Method = "POST"; + Requests[2739].Request.Path = "/subscriptions/14311e4f-482f-/resourceGroups/16610ae9-5710-41d/providers/Microsoft.Media/mediaServices/6629a449-3b/assets/8106bc6c-/getEncryptionKey"; + Requests[2740] = new DefaultHttpContext(); + Requests[2740].RequestServices = CreateServices(); + Requests[2740].Request.Method = "POST"; + Requests[2740].Request.Path = "/subscriptions/82ff8553-1b5f-/resourceGroups/e7f2c2a8-a555-4fd/providers/Microsoft.Media/mediaServices/570853c6-66/assets/e549645c-/listContainerSas"; + Requests[2741] = new DefaultHttpContext(); + Requests[2741].RequestServices = CreateServices(); + Requests[2741].Request.Method = "POST"; + Requests[2741].Request.Path = "/subscriptions/ac723cc6-906c-/resourceGroups/dbd02bd5-9128-40b/providers/Microsoft.Media/mediaServices/9700b273-e9/contentKeyPolicies/2ffa05dc-5648-4aeb-a/getPolicyPropertiesWithSecrets"; + Requests[2742] = new DefaultHttpContext(); + Requests[2742].RequestServices = CreateServices(); + Requests[2742].Request.Method = "GET"; + Requests[2742].Request.Path = "/subscriptions/59d601dd-be32-/resourceGroups/7d8f419c-4b26-41c/providers/Microsoft.Media/mediaservices/17d51641-2e/liveEvents/f6dc9dcf-0566/liveOutputs"; + Requests[2743] = new DefaultHttpContext(); + Requests[2743].RequestServices = CreateServices(); + Requests[2743].Request.Method = "POST"; + Requests[2743].Request.Path = "/subscriptions/2f4282fd-704b-/resourceGroups/f63700c2-95ce-4fb/providers/Microsoft.Media/mediaservices/eab6601a-ee/liveEvents/a6c9a21a-40c9/reset"; + Requests[2744] = new DefaultHttpContext(); + Requests[2744].RequestServices = CreateServices(); + Requests[2744].Request.Method = "POST"; + Requests[2744].Request.Path = "/subscriptions/5ea62f18-5abf-/resourceGroups/33f147be-0116-433/providers/Microsoft.Media/mediaservices/5710789a-fe/liveEvents/64dd9553-e6df/start"; + Requests[2745] = new DefaultHttpContext(); + Requests[2745].RequestServices = CreateServices(); + Requests[2745].Request.Method = "POST"; + Requests[2745].Request.Path = "/subscriptions/2307f0b9-c4a3-/resourceGroups/f73a1fd9-073a-4ca/providers/Microsoft.Media/mediaservices/18cc2892-23/liveEvents/4cdd3def-a1c3/stop"; + Requests[2746] = new DefaultHttpContext(); + Requests[2746].RequestServices = CreateServices(); + Requests[2746].Request.Method = "POST"; + Requests[2746].Request.Path = "/subscriptions/f9eda551-4444-/resourceGroups/e02d4f50-6942-43f/providers/Microsoft.Media/mediaservices/c833a6b6-f4/streamingEndpoints/f438489f-f3c4-4299-bd/scale"; + Requests[2747] = new DefaultHttpContext(); + Requests[2747].RequestServices = CreateServices(); + Requests[2747].Request.Method = "POST"; + Requests[2747].Request.Path = "/subscriptions/5831926e-d129-/resourceGroups/9628798b-0478-44f/providers/Microsoft.Media/mediaservices/14abda4a-5b/streamingEndpoints/3989098e-8453-4d94-8e/start"; + Requests[2748] = new DefaultHttpContext(); + Requests[2748].RequestServices = CreateServices(); + Requests[2748].Request.Method = "POST"; + Requests[2748].Request.Path = "/subscriptions/2de35a02-c7c2-/resourceGroups/395a84e0-f578-421/providers/Microsoft.Media/mediaservices/01568e34-bf/streamingEndpoints/7d16d900-fc24-4e11-86/stop"; + Requests[2749] = new DefaultHttpContext(); + Requests[2749].RequestServices = CreateServices(); + Requests[2749].Request.Method = "POST"; + Requests[2749].Request.Path = "/subscriptions/399c8d4e-47ba-/resourceGroups/db9517db-b613-445/providers/Microsoft.Media/mediaServices/7fb95641-a3/streamingLocators/4d4f050d-5d83-4ee3-a/listContentKeys"; + Requests[2750] = new DefaultHttpContext(); + Requests[2750].RequestServices = CreateServices(); + Requests[2750].Request.Method = "POST"; + Requests[2750].Request.Path = "/subscriptions/f0261196-6c8b-/resourceGroups/335233c2-b9be-458/providers/Microsoft.Media/mediaServices/eef8e66f-b3/streamingLocators/9efb7d99-8506-4e25-a/listPaths"; + Requests[2751] = new DefaultHttpContext(); + Requests[2751].RequestServices = CreateServices(); + Requests[2751].Request.Method = "GET"; + Requests[2751].Request.Path = "/subscriptions/612b1af0-8891-/resourceGroups/89602fcc-bb20-47b/providers/Microsoft.Media/mediaServices/1be53670-02/transforms/18712144-d56f/jobs"; + Requests[2752] = new DefaultHttpContext(); + Requests[2752].RequestServices = CreateServices(); + Requests[2752].Request.Method = "GET"; + Requests[2752].Request.Path = "/subscriptions/420852f6-2c40-/resourceGroups/fe956d80-17c3-44f/providers/Microsoft.Migrate/projects/7fbd1b4b-31/groups/5fa700c7-/assessments"; + Requests[2753] = new DefaultHttpContext(); + Requests[2753].RequestServices = CreateServices(); + Requests[2753].Request.Method = "GET"; + Requests[2753].Request.Path = "/subscriptions/74f7ff79-7a5f-/resourceGroups/ebcb5f0a-461a-4a5/providers/Microsoft.Network/expressRouteCircuits/8f8d8396-de/peerings/683f8027-64/stats"; + Requests[2754] = new DefaultHttpContext(); + Requests[2754].RequestServices = CreateServices(); + Requests[2754].Request.Method = "POST"; + Requests[2754].Request.Path = "/subscriptions/27db1e46-8114-/resourceGroups/950f5dbe-e8c3-45a/providers/Microsoft.Network/networkWatchers/ec42533b-30fb-48e8/connectionMonitors/23e88e5a-7d4f-4442-ac/query"; + Requests[2755] = new DefaultHttpContext(); + Requests[2755].RequestServices = CreateServices(); + Requests[2755].Request.Method = "POST"; + Requests[2755].Request.Path = "/subscriptions/8de63a0d-8331-/resourceGroups/fd3be36c-ec0c-4ae/providers/Microsoft.Network/networkWatchers/14a526ea-a6e6-4898/connectionMonitors/3ab26a2e-3a3e-409b-a0/start"; + Requests[2756] = new DefaultHttpContext(); + Requests[2756].RequestServices = CreateServices(); + Requests[2756].Request.Method = "POST"; + Requests[2756].Request.Path = "/subscriptions/ea9e0994-c405-/resourceGroups/f4ee506b-2a70-4ab/providers/Microsoft.Network/networkWatchers/1251cf49-aaba-419d/connectionMonitors/9638aaf5-41ab-4b58-a2/stop"; + Requests[2757] = new DefaultHttpContext(); + Requests[2757].RequestServices = CreateServices(); + Requests[2757].Request.Method = "POST"; + Requests[2757].Request.Path = "/subscriptions/afa46c19-bba3-/resourceGroups/b15cfee9-0fc3-48a/providers/Microsoft.Network/networkWatchers/828f6e86-a29e-4a16/packetCaptures/85782d20-7476-44e/queryStatus"; + Requests[2758] = new DefaultHttpContext(); + Requests[2758].RequestServices = CreateServices(); + Requests[2758].Request.Method = "POST"; + Requests[2758].Request.Path = "/subscriptions/880f3b49-7044-/resourceGroups/f2c47489-aa06-4fd/providers/Microsoft.Network/networkWatchers/fc4038ee-debe-45bd/packetCaptures/d75c72b1-6971-402/stop"; + Requests[2759] = new DefaultHttpContext(); + Requests[2759].RequestServices = CreateServices(); + Requests[2759].Request.Method = "POST"; + Requests[2759].Request.Path = "/subscriptions/922ec167-d025-/resourceGroups/d8a856fd-7bcd-4eb/providers/Microsoft.NotificationHubs/namespaces/4c290530-08f0/AuthorizationRules/4ee0c914-16e8-44a0-ba/listKeys"; + Requests[2760] = new DefaultHttpContext(); + Requests[2760].RequestServices = CreateServices(); + Requests[2760].Request.Method = "POST"; + Requests[2760].Request.Path = "/subscriptions/ef6033c9-8475-/resourceGroups/25b49fcb-5aac-4b6/providers/Microsoft.NotificationHubs/namespaces/e8e38268-9713/AuthorizationRules/6ba4944a-df7a-4f8f-bb/regenerateKeys"; + Requests[2761] = new DefaultHttpContext(); + Requests[2761].RequestServices = CreateServices(); + Requests[2761].Request.Method = "GET"; + Requests[2761].Request.Path = "/subscriptions/29be5f0f-4a3e-/resourceGroups/cd851676-7a69-48d/providers/Microsoft.NotificationHubs/namespaces/f26c0bad-b677/notificationHubs/d60ce2de-e0aa-4cad-/AuthorizationRules"; + Requests[2762] = new DefaultHttpContext(); + Requests[2762].RequestServices = CreateServices(); + Requests[2762].Request.Method = "POST"; + Requests[2762].Request.Path = "/subscriptions/e24e8e14-47b1-/resourceGroups/ea10f96c-c74d-4ac/providers/Microsoft.NotificationHubs/namespaces/3e0f20c6-2d9d/notificationHubs/e11f2afb-06e1-430b-/pnsCredentials"; + Requests[2763] = new DefaultHttpContext(); + Requests[2763].RequestServices = CreateServices(); + Requests[2763].Request.Method = "POST"; + Requests[2763].Request.Path = "/subscriptions/37a5d3d3-b8b0-/resourcegroups/8d3e03e2-350d-4ef/providers/Microsoft.OperationalInsights/workspaces/d519f127-4963/intelligencePacks/81889a61-10ea-42a9-9/Disable"; + Requests[2764] = new DefaultHttpContext(); + Requests[2764].RequestServices = CreateServices(); + Requests[2764].Request.Method = "POST"; + Requests[2764].Request.Path = "/subscriptions/b231067c-7152-/resourcegroups/85cc2ec2-6559-4c5/providers/Microsoft.OperationalInsights/workspaces/f9831685-a432/intelligencePacks/21c3a560-7ee7-43a7-a/Enable"; + Requests[2765] = new DefaultHttpContext(); + Requests[2765].RequestServices = CreateServices(); + Requests[2765].Request.Method = "GET"; + Requests[2765].Request.Path = "/subscriptions/489d362b-4fa0-/resourcegroups/69669b52-2da8-48d/providers/Microsoft.OperationalInsights/workspaces/1d312b82-5d23/savedSearches/26a074a1-7f41-4/results"; + Requests[2766] = new DefaultHttpContext(); + Requests[2766].RequestServices = CreateServices(); + Requests[2766].Request.Method = "POST"; + Requests[2766].Request.Path = "/Subscriptions/fd7a0fa2-1234-/resourceGroups/5a74b826-2e22-438/providers/Microsoft.RecoveryServices/vaults/be60493a-6c5/replicationFabrics/74432df4-f/checkConsistency"; + Requests[2767] = new DefaultHttpContext(); + Requests[2767].RequestServices = CreateServices(); + Requests[2767].Request.Method = "POST"; + Requests[2767].Request.Path = "/Subscriptions/bdc767ac-0732-/resourceGroups/4b806354-0a71-403/providers/Microsoft.RecoveryServices/vaults/7f52f1fc-dbe/replicationFabrics/d890e5b0-9/migratetoaad"; + Requests[2768] = new DefaultHttpContext(); + Requests[2768].RequestServices = CreateServices(); + Requests[2768].Request.Method = "POST"; + Requests[2768].Request.Path = "/Subscriptions/33f54bc6-f13e-/resourceGroups/9de0641c-0a7f-4ef/providers/Microsoft.RecoveryServices/vaults/51f9e2d3-952/replicationFabrics/7e3f1070-d/reassociateGateway"; + Requests[2769] = new DefaultHttpContext(); + Requests[2769].RequestServices = CreateServices(); + Requests[2769].Request.Method = "POST"; + Requests[2769].Request.Path = "/Subscriptions/a2620054-0603-/resourceGroups/dd22a8b6-6577-49d/providers/Microsoft.RecoveryServices/vaults/c3100e56-522/replicationFabrics/96e21391-a/remove"; + Requests[2770] = new DefaultHttpContext(); + Requests[2770].RequestServices = CreateServices(); + Requests[2770].Request.Method = "POST"; + Requests[2770].Request.Path = "/Subscriptions/4555eee5-cd31-/resourceGroups/4c9c4edd-fcdf-433/providers/Microsoft.RecoveryServices/vaults/1a3f75c1-9d5/replicationFabrics/24aa6f28-d/renewCertificate"; + Requests[2771] = new DefaultHttpContext(); + Requests[2771].RequestServices = CreateServices(); + Requests[2771].Request.Method = "GET"; + Requests[2771].Request.Path = "/Subscriptions/2a94abec-aeb7-/resourceGroups/9a2be0da-63f4-479/providers/Microsoft.RecoveryServices/vaults/5d87958e-8f1/replicationFabrics/9f44c4bb-c/replicationLogicalNetworks"; + Requests[2772] = new DefaultHttpContext(); + Requests[2772].RequestServices = CreateServices(); + Requests[2772].Request.Method = "GET"; + Requests[2772].Request.Path = "/Subscriptions/65f857f7-35cc-/resourceGroups/b3d9b943-804c-49f/providers/Microsoft.RecoveryServices/vaults/c62349e6-06d/replicationFabrics/0b5a828a-6/replicationNetworks"; + Requests[2773] = new DefaultHttpContext(); + Requests[2773].RequestServices = CreateServices(); + Requests[2773].Request.Method = "GET"; + Requests[2773].Request.Path = "/Subscriptions/ec3f1bde-52cc-/resourceGroups/de68851a-072f-438/providers/Microsoft.RecoveryServices/vaults/0107babc-796/replicationFabrics/9d211766-5/replicationProtectionContainers"; + Requests[2774] = new DefaultHttpContext(); + Requests[2774].RequestServices = CreateServices(); + Requests[2774].Request.Method = "GET"; + Requests[2774].Request.Path = "/Subscriptions/5c24e1c6-8206-/resourceGroups/82ccc42f-3c19-467/providers/Microsoft.RecoveryServices/vaults/f53d126e-12f/replicationFabrics/e79cec3a-4/replicationRecoveryServicesProviders"; + Requests[2775] = new DefaultHttpContext(); + Requests[2775].RequestServices = CreateServices(); + Requests[2775].Request.Method = "GET"; + Requests[2775].Request.Path = "/Subscriptions/4d19cdef-4c15-/resourceGroups/12fb3d76-837f-4c6/providers/Microsoft.RecoveryServices/vaults/22e42100-53f/replicationFabrics/109c3d0b-9/replicationStorageClassifications"; + Requests[2776] = new DefaultHttpContext(); + Requests[2776].RequestServices = CreateServices(); + Requests[2776].Request.Method = "GET"; + Requests[2776].Request.Path = "/Subscriptions/b94698f9-1ea3-/resourceGroups/79d972db-5100-47f/providers/Microsoft.RecoveryServices/vaults/e243b246-114/replicationFabrics/4ba2a05c-1/replicationvCenters"; + Requests[2777] = new DefaultHttpContext(); + Requests[2777].RequestServices = CreateServices(); + Requests[2777].Request.Method = "POST"; + Requests[2777].Request.Path = "/Subscriptions/298537bd-6648-/resourceGroups/013c8823-5b97-448/providers/Microsoft.RecoveryServices/vaults/3170ee15-11a/replicationJobs/0ea9d94/cancel"; + Requests[2778] = new DefaultHttpContext(); + Requests[2778].RequestServices = CreateServices(); + Requests[2778].Request.Method = "POST"; + Requests[2778].Request.Path = "/Subscriptions/affbff95-4565-/resourceGroups/41290400-3bba-47a/providers/Microsoft.RecoveryServices/vaults/25950666-5ed/replicationJobs/ebedf33/restart"; + Requests[2779] = new DefaultHttpContext(); + Requests[2779].RequestServices = CreateServices(); + Requests[2779].Request.Method = "POST"; + Requests[2779].Request.Path = "/Subscriptions/e369229a-9f7d-/resourceGroups/fe6c8690-da97-449/providers/Microsoft.RecoveryServices/vaults/0930a5b0-8bb/replicationJobs/d3b9e74/resume"; + Requests[2780] = new DefaultHttpContext(); + Requests[2780].RequestServices = CreateServices(); + Requests[2780].Request.Method = "POST"; + Requests[2780].Request.Path = "/Subscriptions/9d4d6f10-3ac8-/resourceGroups/2479d05a-6a68-4da/providers/Microsoft.RecoveryServices/vaults/66644d3c-2c9/replicationRecoveryPlans/1e1b65a9-3862-4e/failoverCommit"; + Requests[2781] = new DefaultHttpContext(); + Requests[2781].RequestServices = CreateServices(); + Requests[2781].Request.Method = "POST"; + Requests[2781].Request.Path = "/Subscriptions/f6947ff8-7311-/resourceGroups/a6b2a269-f573-4b8/providers/Microsoft.RecoveryServices/vaults/2c7a8a37-afb/replicationRecoveryPlans/0e0d9dfa-9c7e-4a/plannedFailover"; + Requests[2782] = new DefaultHttpContext(); + Requests[2782].RequestServices = CreateServices(); + Requests[2782].Request.Method = "POST"; + Requests[2782].Request.Path = "/Subscriptions/003b0b80-da95-/resourceGroups/85195fbd-8662-421/providers/Microsoft.RecoveryServices/vaults/f4c31885-2a7/replicationRecoveryPlans/33033237-3078-47/reProtect"; + Requests[2783] = new DefaultHttpContext(); + Requests[2783].RequestServices = CreateServices(); + Requests[2783].Request.Method = "POST"; + Requests[2783].Request.Path = "/Subscriptions/309a44fc-7ab5-/resourceGroups/f361e2c2-676e-4e4/providers/Microsoft.RecoveryServices/vaults/ce122c52-3fc/replicationRecoveryPlans/19b75928-f2f2-43/testFailover"; + Requests[2784] = new DefaultHttpContext(); + Requests[2784].RequestServices = CreateServices(); + Requests[2784].Request.Method = "POST"; + Requests[2784].Request.Path = "/Subscriptions/3476ca88-b6c5-/resourceGroups/2749038a-f178-4dd/providers/Microsoft.RecoveryServices/vaults/72c585a8-199/replicationRecoveryPlans/0f0e6647-99f0-48/testFailoverCleanup"; + Requests[2785] = new DefaultHttpContext(); + Requests[2785].RequestServices = CreateServices(); + Requests[2785].Request.Method = "POST"; + Requests[2785].Request.Path = "/Subscriptions/578cab33-6ae6-/resourceGroups/e7dece75-ff55-434/providers/Microsoft.RecoveryServices/vaults/db975aa8-46b/replicationRecoveryPlans/1b66d1c1-e6c0-45/unplannedFailover"; + Requests[2786] = new DefaultHttpContext(); + Requests[2786].RequestServices = CreateServices(); + Requests[2786].Request.Method = "GET"; + Requests[2786].Request.Path = "/Subscriptions/0c5e5bc0-6958-/resourceGroups/03a401af-5b7c-45b/providers/Microsoft.RecoveryServices/vaults/8958b062-/backupFabrics/79ba52e9-2/protectableContainers"; + Requests[2787] = new DefaultHttpContext(); + Requests[2787].RequestServices = CreateServices(); + Requests[2787].Request.Method = "POST"; + Requests[2787].Request.Path = "/Subscriptions/6f7d6f72-7981-/resourceGroups/c1e0f96c-1131-449/providers/Microsoft.RecoveryServices/vaults/83ca663b-/backupFabrics/f3c91fee-4/refreshContainers"; + Requests[2788] = new DefaultHttpContext(); + Requests[2788].RequestServices = CreateServices(); + Requests[2788].Request.Method = "POST"; + Requests[2788].Request.Path = "/Subscriptions/72e9543e-92fa-/resourceGroups/c3d25315-f195-414/providers/Microsoft.RecoveryServices/vaults/d0505965-/backupJobs/e6a87c8/cancel"; + Requests[2789] = new DefaultHttpContext(); + Requests[2789].RequestServices = CreateServices(); + Requests[2789].Request.Method = "POST"; + Requests[2789].Request.Path = "/subscriptions/830b7f08-978b-/resourceGroups/7e6afa87-fde9-46f/providers/Microsoft.Relay/namespaces/eb7c25a3-ff7d/authorizationRules/25cc75e4-3a7c-452f-b6/listKeys"; + Requests[2790] = new DefaultHttpContext(); + Requests[2790].RequestServices = CreateServices(); + Requests[2790].Request.Method = "POST"; + Requests[2790].Request.Path = "/subscriptions/e94f293f-b976-/resourceGroups/e165685a-a825-420/providers/Microsoft.Relay/namespaces/029e9e36-50a3/authorizationRules/97d55480-77a6-4cf6-99/regenerateKeys"; + Requests[2791] = new DefaultHttpContext(); + Requests[2791].RequestServices = CreateServices(); + Requests[2791].Request.Method = "GET"; + Requests[2791].Request.Path = "/subscriptions/c12218ac-bb8e-/resourceGroups/de4ecda0-537c-4b6/providers/Microsoft.Relay/namespaces/1a2a446e-92f3/hybridConnections/38093b06-6cf6-43fc-a/authorizationRules"; + Requests[2792] = new DefaultHttpContext(); + Requests[2792].RequestServices = CreateServices(); + Requests[2792].Request.Method = "GET"; + Requests[2792].Request.Path = "/subscriptions/67f802f3-a5b7-/resourceGroups/e87adde2-4aa7-4b7/providers/Microsoft.Relay/namespaces/e54dbbba-0dd1/wcfRelays/bf7a843e-/authorizationRules"; + Requests[2793] = new DefaultHttpContext(); + Requests[2793].RequestServices = CreateServices(); + Requests[2793].Request.Method = "GET"; + Requests[2793].Request.Path = "/subscriptions/63f5760f-c1eb-/resourceGroups/2a186190-e9b3-47d/providers/Microsoft.Scheduler/jobCollections/ec322229-910b-468/jobs/3094906/history"; + Requests[2794] = new DefaultHttpContext(); + Requests[2794].RequestServices = CreateServices(); + Requests[2794].Request.Method = "POST"; + Requests[2794].Request.Path = "/subscriptions/58dcafbe-a479-/resourceGroups/f29f4c3e-8949-470/providers/Microsoft.Scheduler/jobCollections/c8124d4b-726b-478/jobs/fa50505/run"; + Requests[2795] = new DefaultHttpContext(); + Requests[2795].RequestServices = CreateServices(); + Requests[2795].Request.Method = "POST"; + Requests[2795].Request.Path = "/subscriptions/2f901bd1-df0e-/resourceGroups/3ef64836-f64a-4ce/providers/Microsoft.ServiceBus/namespaces/72e663f0-666e/AuthorizationRules/09eeb30a-d18c-41e7-9c/listKeys"; + Requests[2796] = new DefaultHttpContext(); + Requests[2796].RequestServices = CreateServices(); + Requests[2796].Request.Method = "POST"; + Requests[2796].Request.Path = "/subscriptions/c8cf1afe-bbb0-/resourceGroups/e49a5357-8dcd-4a5/providers/Microsoft.ServiceBus/namespaces/eb1d159a-1738/AuthorizationRules/c04dbc28-abda-45ab-95/regenerateKeys"; + Requests[2797] = new DefaultHttpContext(); + Requests[2797].RequestServices = CreateServices(); + Requests[2797].Request.Method = "GET"; + Requests[2797].Request.Path = "/subscriptions/b01559fc-96cd-/resourceGroups/39b55c74-fbc7-4ee/providers/Microsoft.ServiceBus/namespaces/aa959640-328a/disasterRecoveryConfigs/3652a/AuthorizationRules"; + Requests[2798] = new DefaultHttpContext(); + Requests[2798].RequestServices = CreateServices(); + Requests[2798].Request.Method = "POST"; + Requests[2798].Request.Path = "/subscriptions/b0d355fc-b80a-/resourceGroups/6577eeb7-b836-4fa/providers/Microsoft.ServiceBus/namespaces/023d9dd4-cd5c/disasterRecoveryConfigs/53d25/breakPairing"; + Requests[2799] = new DefaultHttpContext(); + Requests[2799].RequestServices = CreateServices(); + Requests[2799].Request.Method = "POST"; + Requests[2799].Request.Path = "/subscriptions/a11f86a9-b965-/resourceGroups/d0f5d463-fe9f-44b/providers/Microsoft.ServiceBus/namespaces/6cc555bd-84d3/disasterRecoveryConfigs/cd386/failover"; + Requests[2800] = new DefaultHttpContext(); + Requests[2800].RequestServices = CreateServices(); + Requests[2800].Request.Method = "GET"; + Requests[2800].Request.Path = "/subscriptions/480cc29f-1559-/resourceGroups/c2c9b06a-a25c-4cc/providers/Microsoft.ServiceBus/namespaces/e1473b18-8369/eventhubs/cc1643d3-780/authorizationRules"; + Requests[2801] = new DefaultHttpContext(); + Requests[2801].RequestServices = CreateServices(); + Requests[2801].Request.Method = "POST"; + Requests[2801].Request.Path = "/subscriptions/ad31756f-9b3b-/resourceGroups/d7df18b2-25f5-45b/providers/Microsoft.ServiceBus/namespaces/56a7ada0-b3a3/migrationConfigurations/060f51c3-d/revert"; + Requests[2802] = new DefaultHttpContext(); + Requests[2802].RequestServices = CreateServices(); + Requests[2802].Request.Method = "POST"; + Requests[2802].Request.Path = "/subscriptions/4ebb451a-cbfb-/resourceGroups/9b9959ba-dc81-47f/providers/Microsoft.ServiceBus/namespaces/c6f39d0d-78da/migrationConfigurations/7e6daaf5-e/upgrade"; + Requests[2803] = new DefaultHttpContext(); + Requests[2803].RequestServices = CreateServices(); + Requests[2803].Request.Method = "GET"; + Requests[2803].Request.Path = "/subscriptions/19df00e5-c936-/resourceGroups/412c9b32-6f59-482/providers/Microsoft.ServiceBus/namespaces/0e241ffd-6481/queues/359ffb64-/authorizationRules"; + Requests[2804] = new DefaultHttpContext(); + Requests[2804].RequestServices = CreateServices(); + Requests[2804].Request.Method = "GET"; + Requests[2804].Request.Path = "/subscriptions/ca426be8-898e-/resourceGroups/7e4cf31c-5e31-490/providers/Microsoft.ServiceBus/namespaces/cb44820f-04a6/topics/93fbf5a9-/authorizationRules"; + Requests[2805] = new DefaultHttpContext(); + Requests[2805].RequestServices = CreateServices(); + Requests[2805].Request.Method = "GET"; + Requests[2805].Request.Path = "/subscriptions/ee03e8a5-6ab7-/resourceGroups/5e2969be-8c51-438/providers/Microsoft.ServiceBus/namespaces/58ab88d2-2c69/topics/0ca89b08-/subscriptions"; + Requests[2806] = new DefaultHttpContext(); + Requests[2806].RequestServices = CreateServices(); + Requests[2806].Request.Method = "GET"; + Requests[2806].Request.Path = "/subscriptions/003863bd-4775-/resourceGroups/7ddc017b-fee7-490/providers/Microsoft.ServiceFabric/clusters/a99fdad5-44/applications/4f059889-e68d-4/services"; + Requests[2807] = new DefaultHttpContext(); + Requests[2807].RequestServices = CreateServices(); + Requests[2807].Request.Method = "GET"; + Requests[2807].Request.Path = "/subscriptions/796a4e88-d218-/resourceGroups/63351c04-363d-451/providers/Microsoft.ServiceFabric/clusters/bd48212c-38/applicationTypes/4857d800-cb15-4687-/versions"; + Requests[2808] = new DefaultHttpContext(); + Requests[2808].RequestServices = CreateServices(); + Requests[2808].Request.Method = "POST"; + Requests[2808].Request.Path = "/subscriptions/de9271b1-37b9-/resourceGroups/f0d9dd42-7cee-477/providers/Microsoft.Sql/locations/43ddd522-cb2/instanceFailoverGroups/566f85ab-0eb6-455/failover"; + Requests[2809] = new DefaultHttpContext(); + Requests[2809].RequestServices = CreateServices(); + Requests[2809].Request.Method = "POST"; + Requests[2809].Request.Path = "/subscriptions/631582ff-2293-/resourceGroups/5337ebe7-25f3-45e/providers/Microsoft.Sql/locations/383bdb8a-0df/instanceFailoverGroups/38f1dc08-a9be-4b2/forceFailoverAllowDataLoss"; + Requests[2810] = new DefaultHttpContext(); + Requests[2810].RequestServices = CreateServices(); + Requests[2810].Request.Method = "GET"; + Requests[2810].Request.Path = "/subscriptions/93a4234f-3c7d-/resourceGroups/4b7fcdc9-ad40-4c6/providers/Microsoft.Sql/servers/5aadecb5-e/databases/826d2661-ccd/advisors"; + Requests[2811] = new DefaultHttpContext(); + Requests[2811].RequestServices = CreateServices(); + Requests[2811].Request.Method = "GET"; + Requests[2811].Request.Path = "/subscriptions/403b28ce-fe02-/resourceGroups/1d02c79b-10c8-405/providers/Microsoft.Sql/servers/7788e252-8/databases/535e1f95-647/auditingPolicies"; + Requests[2812] = new DefaultHttpContext(); + Requests[2812].RequestServices = CreateServices(); + Requests[2812].Request.Method = "GET"; + Requests[2812].Request.Path = "/subscriptions/5a1a9697-cb43-/resourceGroups/8b59c47d-9cad-4ce/providers/Microsoft.Sql/servers/e1d8eaf9-2/databases/12132c90-3eb/backupLongTermRetentionPolicies"; + Requests[2813] = new DefaultHttpContext(); + Requests[2813].RequestServices = CreateServices(); + Requests[2813].Request.Method = "POST"; + Requests[2813].Request.Path = "/subscriptions/4d398902-bf48-/resourceGroups/3937bba5-ddd1-4f3/providers/Microsoft.Sql/servers/a49525ef-9/databases/499fa9ae-5e6/export"; + Requests[2814] = new DefaultHttpContext(); + Requests[2814].RequestServices = CreateServices(); + Requests[2814].Request.Method = "GET"; + Requests[2814].Request.Path = "/subscriptions/d3c2ec0d-b019-/resourceGroups/4d70695a-b413-431/providers/Microsoft.Sql/servers/458f5dfc-9/databases/fb2fe210-fb0/extensions"; + Requests[2815] = new DefaultHttpContext(); + Requests[2815].RequestServices = CreateServices(); + Requests[2815].Request.Method = "GET"; + Requests[2815].Request.Path = "/subscriptions/94b5ed0c-4ff0-/resourceGroups/6fcba039-c161-4be/providers/Microsoft.Sql/servers/687c836e-4/databases/93f59c6f-508/geoBackupPolicies"; + Requests[2816] = new DefaultHttpContext(); + Requests[2816].RequestServices = CreateServices(); + Requests[2816].Request.Method = "GET"; + Requests[2816].Request.Path = "/subscriptions/d05ca290-cf2f-/resourceGroups/86bf7a0c-e86a-4e8/providers/Microsoft.Sql/servers/63ae3c81-3/databases/05fda1c2-180/metricDefinitions"; + Requests[2817] = new DefaultHttpContext(); + Requests[2817].RequestServices = CreateServices(); + Requests[2817].Request.Method = "GET"; + Requests[2817].Request.Path = "/subscriptions/5f9ba35b-5f88-/resourceGroups/bef2f8a2-a9a4-432/providers/Microsoft.Sql/servers/35a763dc-9/databases/2e3227f7-dab/metrics"; + Requests[2818] = new DefaultHttpContext(); + Requests[2818].RequestServices = CreateServices(); + Requests[2818].Request.Method = "POST"; + Requests[2818].Request.Path = "/subscriptions/5b1e7695-1362-/resourceGroups/939d3fce-760c-478/providers/Microsoft.Sql/servers/c37bf3fc-0/databases/ca9a4c62-47e/move"; + Requests[2819] = new DefaultHttpContext(); + Requests[2819].RequestServices = CreateServices(); + Requests[2819].Request.Method = "GET"; + Requests[2819].Request.Path = "/subscriptions/978646ab-b3b6-/resourceGroups/8696c230-aa08-43c/providers/Microsoft.Sql/servers/e7c817f0-f/databases/a2dde691-ffa/operations"; + Requests[2820] = new DefaultHttpContext(); + Requests[2820].RequestServices = CreateServices(); + Requests[2820].Request.Method = "POST"; + Requests[2820].Request.Path = "/subscriptions/a492ccf4-0ed8-/resourceGroups/ba9b12a9-8d77-4f6/providers/Microsoft.Sql/servers/9967dec3-0/databases/50edbc01-abc/pause"; + Requests[2821] = new DefaultHttpContext(); + Requests[2821].RequestServices = CreateServices(); + Requests[2821].Request.Method = "GET"; + Requests[2821].Request.Path = "/subscriptions/75ec910f-53e0-/resourceGroups/7fb3cdd2-8441-4c7/providers/Microsoft.Sql/servers/ffc409da-b/databases/49f5fad9-ad4/replicationLinks"; + Requests[2822] = new DefaultHttpContext(); + Requests[2822].RequestServices = CreateServices(); + Requests[2822].Request.Method = "GET"; + Requests[2822].Request.Path = "/subscriptions/dcaf6a7c-efd0-/resourceGroups/b2bf41eb-46c2-46f/providers/Microsoft.Sql/servers/131b425b-f/databases/fb224a91-dbb/restorePoints"; + Requests[2823] = new DefaultHttpContext(); + Requests[2823].RequestServices = CreateServices(); + Requests[2823].Request.Method = "POST"; + Requests[2823].Request.Path = "/subscriptions/64f648dc-7173-/resourceGroups/8ca3de04-06fc-403/providers/Microsoft.Sql/servers/e5958dd8-f/databases/49ce97d8-cac/resume"; + Requests[2824] = new DefaultHttpContext(); + Requests[2824].RequestServices = CreateServices(); + Requests[2824].Request.Method = "GET"; + Requests[2824].Request.Path = "/subscriptions/7ea5d858-a267-/resourceGroups/6fa32c46-3e17-455/providers/Microsoft.Sql/servers/f1db7f16-4/databases/daa70e13-30e/serviceTierAdvisors"; + Requests[2825] = new DefaultHttpContext(); + Requests[2825].RequestServices = CreateServices(); + Requests[2825].Request.Method = "GET"; + Requests[2825].Request.Path = "/subscriptions/5597b4d5-6597-/resourceGroups/b0810f28-ab34-404/providers/Microsoft.Sql/servers/c0ba261b-5/databases/7fc00aaf-d12/syncGroups"; + Requests[2826] = new DefaultHttpContext(); + Requests[2826].RequestServices = CreateServices(); + Requests[2826].Request.Method = "GET"; + Requests[2826].Request.Path = "/subscriptions/a3fdadb5-6f5c-/resourceGroups/636b6c53-aa06-4c9/providers/Microsoft.Sql/servers/075c2728-f/databases/349703e2-7b0/topQueries"; + Requests[2827] = new DefaultHttpContext(); + Requests[2827].RequestServices = CreateServices(); + Requests[2827].Request.Method = "GET"; + Requests[2827].Request.Path = "/subscriptions/03e3659d-fa09-/resourceGroups/c9c4e5a1-5813-439/providers/Microsoft.Sql/servers/02fb34ac-d/databases/189ece16-dd3/transparentDataEncryption"; + Requests[2828] = new DefaultHttpContext(); + Requests[2828].RequestServices = CreateServices(); + Requests[2828].Request.Method = "POST"; + Requests[2828].Request.Path = "/subscriptions/b847552c-9d14-/resourceGroups/d8e2093d-0d6a-444/providers/Microsoft.Sql/servers/131b90c0-0/databases/7a837b98-fd3/upgradeDataWarehouse"; + Requests[2829] = new DefaultHttpContext(); + Requests[2829].RequestServices = CreateServices(); + Requests[2829].Request.Method = "GET"; + Requests[2829].Request.Path = "/subscriptions/cf593e30-c978-/resourceGroups/f49c0571-5f60-4dc/providers/Microsoft.Sql/servers/1f920c41-b/databases/5a46e0b0-31c/usages"; + Requests[2830] = new DefaultHttpContext(); + Requests[2830].RequestServices = CreateServices(); + Requests[2830].Request.Method = "POST"; + Requests[2830].Request.Path = "/subscriptions/62ac6c6c-29bf-/resourceGroups/802e3dc4-7d78-408/providers/Microsoft.Sql/servers/21752cb9-b/disasterRecoveryConfiguration/f10eb220-b7dc-4585-a8a1-e4311df2a/failover"; + Requests[2831] = new DefaultHttpContext(); + Requests[2831].RequestServices = CreateServices(); + Requests[2831].Request.Method = "POST"; + Requests[2831].Request.Path = "/subscriptions/751af0e2-1fa7-/resourceGroups/a194f7d9-c98b-431/providers/Microsoft.Sql/servers/ec985a1a-4/disasterRecoveryConfiguration/16efad4b-9baa-473d-882b-f7059f49c/forceFailoverAllowDataLoss"; + Requests[2832] = new DefaultHttpContext(); + Requests[2832].RequestServices = CreateServices(); + Requests[2832].Request.Method = "POST"; + Requests[2832].Request.Path = "/subscriptions/5c2c96cf-722b-/resourceGroups/d16de2d0-ea23-449/providers/Microsoft.Sql/servers/3f3a432a-2/dnsAliases/3677c4c7-a4b/acquire"; + Requests[2833] = new DefaultHttpContext(); + Requests[2833].RequestServices = CreateServices(); + Requests[2833].Request.Method = "GET"; + Requests[2833].Request.Path = "/subscriptions/ca408602-3ad9-/resourceGroups/ebe2725d-932e-4ad/providers/Microsoft.Sql/servers/80f1a5ab-f/elasticPools/e3742f15-9b20-4/databases"; + Requests[2834] = new DefaultHttpContext(); + Requests[2834].RequestServices = CreateServices(); + Requests[2834].Request.Method = "GET"; + Requests[2834].Request.Path = "/subscriptions/bddc6b1c-df14-/resourceGroups/a2382fc9-ff0b-4b3/providers/Microsoft.Sql/servers/b0beddf9-7/elasticPools/15f8894d-1381-4/elasticPoolActivity"; + Requests[2835] = new DefaultHttpContext(); + Requests[2835].RequestServices = CreateServices(); + Requests[2835].Request.Method = "GET"; + Requests[2835].Request.Path = "/subscriptions/14b1fdd2-e68a-/resourceGroups/c74483db-08e7-4ea/providers/Microsoft.Sql/servers/afa0fd5e-a/elasticPools/80f80fe7-b3d2-4/elasticPoolDatabaseActivity"; + Requests[2836] = new DefaultHttpContext(); + Requests[2836].RequestServices = CreateServices(); + Requests[2836].Request.Method = "GET"; + Requests[2836].Request.Path = "/subscriptions/a8cd36c6-3218-/resourceGroups/477c2f07-996e-454/providers/Microsoft.Sql/servers/7503a7ee-e/elasticPools/65bfed72-06ff-4/metricDefinitions"; + Requests[2837] = new DefaultHttpContext(); + Requests[2837].RequestServices = CreateServices(); + Requests[2837].Request.Method = "GET"; + Requests[2837].Request.Path = "/subscriptions/1cacc69a-114b-/resourceGroups/a8691f8e-bb78-427/providers/Microsoft.Sql/servers/ef6aade4-c/elasticPools/97b725f7-543a-4/metrics"; + Requests[2838] = new DefaultHttpContext(); + Requests[2838].RequestServices = CreateServices(); + Requests[2838].Request.Method = "GET"; + Requests[2838].Request.Path = "/subscriptions/3a74118e-236c-/resourceGroups/53e14ec2-0d32-4e7/providers/Microsoft.Sql/servers/4e2af26a-2/elasticPools/851dcf18-7beb-4/operations"; + Requests[2839] = new DefaultHttpContext(); + Requests[2839].RequestServices = CreateServices(); + Requests[2839].Request.Method = "POST"; + Requests[2839].Request.Path = "/subscriptions/616f2ee4-f961-/resourceGroups/9009cbd8-6449-4fd/providers/Microsoft.Sql/servers/3ac2caee-f/failoverGroups/c3a0f5bd-8ebd-4df/failover"; + Requests[2840] = new DefaultHttpContext(); + Requests[2840].RequestServices = CreateServices(); + Requests[2840].Request.Method = "POST"; + Requests[2840].Request.Path = "/subscriptions/ab702966-0a8b-/resourceGroups/13a92a60-67fa-423/providers/Microsoft.Sql/servers/49da31c9-8/failoverGroups/e1858542-0e8e-4b2/forceFailoverAllowDataLoss"; + Requests[2841] = new DefaultHttpContext(); + Requests[2841].RequestServices = CreateServices(); + Requests[2841].Request.Method = "GET"; + Requests[2841].Request.Path = "/subscriptions/f4dc674e-19b6-/resourceGroups/72557c4e-b70c-4ec/providers/Microsoft.Sql/servers/270381a0-1/jobAgents/63ef2192-b91/credentials"; + Requests[2842] = new DefaultHttpContext(); + Requests[2842].RequestServices = CreateServices(); + Requests[2842].Request.Method = "GET"; + Requests[2842].Request.Path = "/subscriptions/bb986460-983c-/resourceGroups/d60f4eda-4f8a-438/providers/Microsoft.Sql/servers/31852393-b/jobAgents/ce098994-22e/executions"; + Requests[2843] = new DefaultHttpContext(); + Requests[2843].RequestServices = CreateServices(); + Requests[2843].Request.Method = "GET"; + Requests[2843].Request.Path = "/subscriptions/8fbd3c3f-a901-/resourceGroups/8f80bfcc-50e0-496/providers/Microsoft.Sql/servers/8ae5ab06-5/jobAgents/95ac962e-204/jobs"; + Requests[2844] = new DefaultHttpContext(); + Requests[2844].RequestServices = CreateServices(); + Requests[2844].Request.Method = "GET"; + Requests[2844].Request.Path = "/subscriptions/01688718-dcc7-/resourceGroups/bdf433c6-c5ad-4b5/providers/Microsoft.Sql/servers/e33b96e8-9/jobAgents/586a0cf9-9e1/targetGroups"; + Requests[2845] = new DefaultHttpContext(); + Requests[2845].RequestServices = CreateServices(); + Requests[2845].Request.Method = "GET"; + Requests[2845].Request.Path = "/subscriptions/e7d8541e-4d82-/resourceGroups/1cabe4cc-66f5-437/providers/Microsoft.Sql/servers/5cd43403-2/recommendedElasticPools/6d4066fe-8bd4-4a25-882c-97/databases"; + Requests[2846] = new DefaultHttpContext(); + Requests[2846].RequestServices = CreateServices(); + Requests[2846].Request.Method = "GET"; + Requests[2846].Request.Path = "/subscriptions/233a7186-9f8e-/resourceGroups/0023f940-c623-49f/providers/Microsoft.Sql/servers/5585ff3a-3/recommendedElasticPools/d6ff5617-2cb4-49e7-8290-ca/metrics"; + Requests[2847] = new DefaultHttpContext(); + Requests[2847].RequestServices = CreateServices(); + Requests[2847].Request.Method = "POST"; + Requests[2847].Request.Path = "/subscriptions/3262b27d-70de-/resourceGroups/4a9f9f12-2002-4c8/providers/Microsoft.Sql/servers/c9615c3b-2/syncAgents/45c73964-db42/generateKey"; + Requests[2848] = new DefaultHttpContext(); + Requests[2848].RequestServices = CreateServices(); + Requests[2848].Request.Method = "GET"; + Requests[2848].Request.Path = "/subscriptions/d3bab9c2-2875-/resourceGroups/879dc311-0e0e-47e/providers/Microsoft.Sql/servers/fc98b67f-a/syncAgents/947e46e3-7ad2/linkedDatabases"; + Requests[2849] = new DefaultHttpContext(); + Requests[2849].RequestServices = CreateServices(); + Requests[2849].Request.Method = "GET"; + Requests[2849].Request.Path = "/subscriptions/1daa71cb-5cc5-/resourcegroups/b74f19b3-149d-45e/providers/Microsoft.Storage.Admin/farms/6bb430/blobservices/5e062a18-07/metricdefinitions"; + Requests[2850] = new DefaultHttpContext(); + Requests[2850].RequestServices = CreateServices(); + Requests[2850].Request.Method = "GET"; + Requests[2850].Request.Path = "/subscriptions/50295e14-5250-/resourcegroups/04cdf30b-a154-4d7/providers/Microsoft.Storage.Admin/farms/77aaa6/blobservices/df8f616c-ce/metrics"; + Requests[2851] = new DefaultHttpContext(); + Requests[2851].RequestServices = CreateServices(); + Requests[2851].Request.Method = "GET"; + Requests[2851].Request.Path = "/subscriptions/48038655-2df4-/resourcegroups/17b5fe33-ccd0-4ec/providers/Microsoft.Storage.Admin/farms/0985b8/queueservices/4e58076c-93/metricdefinitions"; + Requests[2852] = new DefaultHttpContext(); + Requests[2852].RequestServices = CreateServices(); + Requests[2852].Request.Method = "GET"; + Requests[2852].Request.Path = "/subscriptions/f8a70024-8cd5-/resourcegroups/27c28825-af54-4e9/providers/Microsoft.Storage.Admin/farms/43e9e1/queueservices/c8b2d9bd-00/metrics"; + Requests[2853] = new DefaultHttpContext(); + Requests[2853].RequestServices = CreateServices(); + Requests[2853].Request.Method = "GET"; + Requests[2853].Request.Path = "/subscriptions/281db66e-e6b7-/resourcegroups/ba6d35eb-d6e7-477/providers/Microsoft.Storage.Admin/farms/171906/shares/6d9595cc-/containers"; + Requests[2854] = new DefaultHttpContext(); + Requests[2854].RequestServices = CreateServices(); + Requests[2854].Request.Method = "GET"; + Requests[2854].Request.Path = "/subscriptions/b03e7162-c7a4-/resourcegroups/826b4758-0354-4df/providers/Microsoft.Storage.Admin/farms/ef2b92/shares/1db84109-/destinationshares"; + Requests[2855] = new DefaultHttpContext(); + Requests[2855].RequestServices = CreateServices(); + Requests[2855].Request.Method = "GET"; + Requests[2855].Request.Path = "/subscriptions/ab1c3314-9463-/resourcegroups/58520155-9327-4fe/providers/Microsoft.Storage.Admin/farms/431c10/shares/ecd27f05-/metricdefinitions"; + Requests[2856] = new DefaultHttpContext(); + Requests[2856].RequestServices = CreateServices(); + Requests[2856].Request.Method = "GET"; + Requests[2856].Request.Path = "/subscriptions/2f51d525-52b2-/resourcegroups/59ca9b80-d2f1-447/providers/Microsoft.Storage.Admin/farms/55cb80/shares/2dde7026-/metrics"; + Requests[2857] = new DefaultHttpContext(); + Requests[2857].RequestServices = CreateServices(); + Requests[2857].Request.Method = "POST"; + Requests[2857].Request.Path = "/subscriptions/d022e588-4964-/resourcegroups/c4a6e085-6a6a-4c8/providers/Microsoft.Storage.Admin/farms/45ac96/shares/2cd6939b-/migrate"; + Requests[2858] = new DefaultHttpContext(); + Requests[2858].RequestServices = CreateServices(); + Requests[2858].Request.Method = "GET"; + Requests[2858].Request.Path = "/subscriptions/0ea9c3e4-3a42-/resourcegroups/926db905-a0fc-484/providers/Microsoft.Storage.Admin/farms/90a14b/tableservices/5f8c780e-cb/metricdefinitions"; + Requests[2859] = new DefaultHttpContext(); + Requests[2859].RequestServices = CreateServices(); + Requests[2859].Request.Method = "GET"; + Requests[2859].Request.Path = "/subscriptions/b3fe55da-ea7e-/resourcegroups/279e9118-7129-453/providers/Microsoft.Storage.Admin/farms/d4c16e/tableservices/72ea3d4f-37/metrics"; + Requests[2860] = new DefaultHttpContext(); + Requests[2860].RequestServices = CreateServices(); + Requests[2860].Request.Method = "POST"; + Requests[2860].Request.Path = "/subscriptions/035f3de1-a83a-/resourceGroups/1dd0e306-9794-437/providers/Microsoft.StorSimple/managers/8df3fe74-8a/devices/ea79f1ba-f/authorizeForServiceEncryptionKeyRollover"; + Requests[2861] = new DefaultHttpContext(); + Requests[2861].RequestServices = CreateServices(); + Requests[2861].Request.Method = "GET"; + Requests[2861].Request.Path = "/subscriptions/22e6a05c-9e76-/resourceGroups/eaa36012-3737-40c/providers/Microsoft.StorSimple/managers/f964f0be-6f/devices/2d366138-9/backupPolicies"; + Requests[2862] = new DefaultHttpContext(); + Requests[2862].RequestServices = CreateServices(); + Requests[2862].Request.Method = "GET"; + Requests[2862].Request.Path = "/subscriptions/96ecc72e-9f3d-/resourceGroups/df6a6c88-3419-471/providers/Microsoft.StorSimple/managers/62063046-f5/devices/b4b9e331-5/backups"; + Requests[2863] = new DefaultHttpContext(); + Requests[2863].RequestServices = CreateServices(); + Requests[2863].Request.Method = "POST"; + Requests[2863].Request.Path = "/subscriptions/9be2e41b-89a5-/resourceGroups/bf6295d9-6c33-438/providers/Microsoft.StorSimple/managers/50145ef8-dd/devices/aa1a389c-3/deactivate"; + Requests[2864] = new DefaultHttpContext(); + Requests[2864].RequestServices = CreateServices(); + Requests[2864].Request.Method = "GET"; + Requests[2864].Request.Path = "/subscriptions/e3935674-fe1c-/resourceGroups/a46f4354-6150-4d3/providers/Microsoft.StorSimple/managers/20e976cb-5c/devices/2ece05cd-1/hardwareComponentGroups"; + Requests[2865] = new DefaultHttpContext(); + Requests[2865].RequestServices = CreateServices(); + Requests[2865].Request.Method = "POST"; + Requests[2865].Request.Path = "/subscriptions/13f49d11-7a6b-/resourceGroups/4b870d97-6e1a-406/providers/Microsoft.StorSimple/managers/83e0aa67-e8/devices/e3d36d4a-e/installUpdates"; + Requests[2866] = new DefaultHttpContext(); + Requests[2866].RequestServices = CreateServices(); + Requests[2866].Request.Method = "GET"; + Requests[2866].Request.Path = "/subscriptions/4c986cca-37d0-/resourceGroups/56d3e43a-a852-4d7/providers/Microsoft.StorSimple/managers/184bcded-d1/devices/78ea6bee-3/jobs"; + Requests[2867] = new DefaultHttpContext(); + Requests[2867].RequestServices = CreateServices(); + Requests[2867].Request.Method = "POST"; + Requests[2867].Request.Path = "/subscriptions/303af855-9ad8-/resourceGroups/c316a57a-3bb8-4ea/providers/Microsoft.StorSimple/managers/ac58741b-80/devices/5a76010d-a/listFailoverSets"; + Requests[2868] = new DefaultHttpContext(); + Requests[2868].RequestServices = CreateServices(); + Requests[2868].Request.Method = "GET"; + Requests[2868].Request.Path = "/subscriptions/e52dfe05-73da-/resourceGroups/642a2d3c-ef86-40d/providers/Microsoft.StorSimple/managers/27efb4e4-cd/devices/f8a5eb35-0/metrics"; + Requests[2869] = new DefaultHttpContext(); + Requests[2869].RequestServices = CreateServices(); + Requests[2869].Request.Method = "GET"; + Requests[2869].Request.Path = "/subscriptions/e5b6fb0f-7695-/resourceGroups/be8a84b0-1ce7-4ee/providers/Microsoft.StorSimple/managers/9ca455d2-ee/devices/13235126-a/metricsDefinitions"; + Requests[2870] = new DefaultHttpContext(); + Requests[2870].RequestServices = CreateServices(); + Requests[2870].Request.Method = "POST"; + Requests[2870].Request.Path = "/subscriptions/ab5de3cd-d959-/resourceGroups/11e96c0e-e7a6-455/providers/Microsoft.StorSimple/managers/99d60176-83/devices/a2285e7d-1/publicEncryptionKey"; + Requests[2871] = new DefaultHttpContext(); + Requests[2871].RequestServices = CreateServices(); + Requests[2871].Request.Method = "POST"; + Requests[2871].Request.Path = "/subscriptions/10069333-83bd-/resourceGroups/9fa0fb51-35f7-42a/providers/Microsoft.StorSimple/managers/fda8ce25-6b/devices/3a7e4a80-3/scanForUpdates"; + Requests[2872] = new DefaultHttpContext(); + Requests[2872].RequestServices = CreateServices(); + Requests[2872].Request.Method = "POST"; + Requests[2872].Request.Path = "/subscriptions/5294d077-15e1-/resourceGroups/82f3599d-3f9d-41b/providers/Microsoft.StorSimple/managers/6bb7c91f-06/devices/63a7fe70-1/sendTestAlertEmail"; + Requests[2873] = new DefaultHttpContext(); + Requests[2873].RequestServices = CreateServices(); + Requests[2873].Request.Method = "GET"; + Requests[2873].Request.Path = "/subscriptions/4fbf8c57-9a7c-/resourceGroups/c82475cf-2e87-42f/providers/Microsoft.StorSimple/managers/c1812d4e-b4/devices/9f8484a1-e/volumeContainers"; + Requests[2874] = new DefaultHttpContext(); + Requests[2874].RequestServices = CreateServices(); + Requests[2874].Request.Method = "GET"; + Requests[2874].Request.Path = "/subscriptions/bd96ebfb-dd36-/resourceGroups/00383f9a-201c-4a2/providers/Microsoft.StorSimple/managers/bb72261d-ca/devices/47ff3046-8/volumes"; + Requests[2875] = new DefaultHttpContext(); + Requests[2875].RequestServices = CreateServices(); + Requests[2875].Request.Method = "POST"; + Requests[2875].Request.Path = "/subscriptions/7a64102e-612f-/resourceGroups/52c2c18f-802b-4a7/providers/Microsoft.StorSimple/managers/1f62ad77-71/devices/eef19fc7-b31d-48/failover"; + Requests[2876] = new DefaultHttpContext(); + Requests[2876].RequestServices = CreateServices(); + Requests[2876].Request.Method = "POST"; + Requests[2876].Request.Path = "/subscriptions/ce140f3f-c460-/resourceGroups/eb5c5244-dda8-41f/providers/Microsoft.StorSimple/managers/e90b5422-7e/devices/a429364f-5e1b-4f/listFailoverTargets"; + Requests[2877] = new DefaultHttpContext(); + Requests[2877].RequestServices = CreateServices(); + Requests[2877].Request.Method = "POST"; + Requests[2877].Request.Path = "/subscriptions/79ed76bc-962a-/resourcegroups/a7db1a5c-0e46-481/providers/Microsoft.StreamAnalytics/streamingjobs/db78bd7/functions/045c64eb-222/RetrieveDefaultDefinition"; + Requests[2878] = new DefaultHttpContext(); + Requests[2878].RequestServices = CreateServices(); + Requests[2878].Request.Method = "POST"; + Requests[2878].Request.Path = "/subscriptions/e6034e4e-c305-/resourcegroups/d87f9dbc-e9cb-463/providers/Microsoft.StreamAnalytics/streamingjobs/0cdb8cb/functions/7d5257b7-226/test"; + Requests[2879] = new DefaultHttpContext(); + Requests[2879].RequestServices = CreateServices(); + Requests[2879].Request.Method = "POST"; + Requests[2879].Request.Path = "/subscriptions/2bbf4b3c-d3cb-/resourcegroups/35c618a4-a6bc-4ed/providers/Microsoft.StreamAnalytics/streamingjobs/4155bf4/inputs/4d0bf789-/test"; + Requests[2880] = new DefaultHttpContext(); + Requests[2880].RequestServices = CreateServices(); + Requests[2880].Request.Method = "POST"; + Requests[2880].Request.Path = "/subscriptions/9ada051a-60f2-/resourcegroups/b4f90a75-4082-4c8/providers/Microsoft.StreamAnalytics/streamingjobs/242c4e2/outputs/19cf70ee-a/test"; + Requests[2881] = new DefaultHttpContext(); + Requests[2881].RequestServices = CreateServices(); + Requests[2881].Request.Method = "POST"; + Requests[2881].Request.Path = "/subscriptions/42e4fc70-f92e-/resourcegroups/d6fed138-f9df-4ea/providers/Microsoft.Update.Admin/updateLocations/efce7cc5-7aa4-/updates/aed3df52-a/Apply"; + Requests[2882] = new DefaultHttpContext(); + Requests[2882].RequestServices = CreateServices(); + Requests[2882].Request.Method = "GET"; + Requests[2882].Request.Path = "/subscriptions/f6863c52-6641-/resourcegroups/efd46449-9dd6-49b/providers/Microsoft.Update.Admin/updateLocations/674d88e5-099d-/updates/3ef2722c-5/updateRuns"; + Requests[2883] = new DefaultHttpContext(); + Requests[2883].RequestServices = CreateServices(); + Requests[2883].Request.Method = "GET"; + Requests[2883].Request.Path = "/subscriptions/203dd3f9-46f6-/resourceGroups/c30275ba-47f2-496/providers/Microsoft.Web/hostingEnvironments/aab9d/workerPools/c42377c7-a039-/metricdefinitions"; + Requests[2884] = new DefaultHttpContext(); + Requests[2884].RequestServices = CreateServices(); + Requests[2884].Request.Method = "GET"; + Requests[2884].Request.Path = "/subscriptions/0e7b668b-32e9-/resourceGroups/37393f55-bb2b-44b/providers/Microsoft.Web/hostingEnvironments/aeb27/workerPools/0e11281c-379d-/metrics"; + Requests[2885] = new DefaultHttpContext(); + Requests[2885].RequestServices = CreateServices(); + Requests[2885].Request.Method = "GET"; + Requests[2885].Request.Path = "/subscriptions/7db24aef-f952-/resourceGroups/c554faf1-5105-43a/providers/Microsoft.Web/hostingEnvironments/1e884/workerPools/49cf7717-6a95-/skus"; + Requests[2886] = new DefaultHttpContext(); + Requests[2886].RequestServices = CreateServices(); + Requests[2886].Request.Method = "GET"; + Requests[2886].Request.Path = "/subscriptions/21295e59-e2b2-/resourceGroups/6a67edb7-96fa-47d/providers/Microsoft.Web/hostingEnvironments/c54f3/workerPools/5c9e0d24-d782-/usages"; + Requests[2887] = new DefaultHttpContext(); + Requests[2887].RequestServices = CreateServices(); + Requests[2887].Request.Method = "GET"; + Requests[2887].Request.Path = "/subscriptions/f6cde3af-000b-/resourceGroups/e1b09659-ff0a-4b7/providers/Microsoft.Web/serverfarms/9b87c/virtualNetworkConnections/d93f98ea/routes"; + Requests[2888] = new DefaultHttpContext(); + Requests[2888].RequestServices = CreateServices(); + Requests[2888].Request.Method = "POST"; + Requests[2888].Request.Path = "/subscriptions/65473a76-3969-/resourceGroups/2b2fc8e1-67e1-45c/providers/Microsoft.Web/serverfarms/71b31/workers/da77e25d-c/reboot"; + Requests[2889] = new DefaultHttpContext(); + Requests[2889].RequestServices = CreateServices(); + Requests[2889].Request.Method = "POST"; + Requests[2889].Request.Path = "/subscriptions/8af605c1-27a0-/resourceGroups/3e85e283-91da-403/providers/Microsoft.Web/sites/bfcb1/backups/6ebb5f05/list"; + Requests[2890] = new DefaultHttpContext(); + Requests[2890].RequestServices = CreateServices(); + Requests[2890].Request.Method = "POST"; + Requests[2890].Request.Path = "/subscriptions/9b40556f-9035-/resourceGroups/1cc0717a-bc42-466/providers/Microsoft.Web/sites/81794/backups/a55c8738/restore"; + Requests[2891] = new DefaultHttpContext(); + Requests[2891].RequestServices = CreateServices(); + Requests[2891].Request.Method = "POST"; + Requests[2891].Request.Path = "/subscriptions/84b1b9ff-0467-/resourceGroups/3665313a-2dc8-416/providers/Microsoft.Web/sites/a4a1b/continuouswebjobs/96dcd63b-5/start"; + Requests[2892] = new DefaultHttpContext(); + Requests[2892].RequestServices = CreateServices(); + Requests[2892].Request.Method = "POST"; + Requests[2892].Request.Path = "/subscriptions/d1fd12cd-7691-/resourceGroups/318e4658-5d4c-426/providers/Microsoft.Web/sites/0feb5/continuouswebjobs/68a00084-d/stop"; + Requests[2893] = new DefaultHttpContext(); + Requests[2893].RequestServices = CreateServices(); + Requests[2893].Request.Method = "GET"; + Requests[2893].Request.Path = "/subscriptions/34d04af3-0d02-/resourceGroups/fa58c7ae-cec9-45f/providers/Microsoft.Web/sites/f4a54/deployments/9ba35/log"; + Requests[2894] = new DefaultHttpContext(); + Requests[2894].RequestServices = CreateServices(); + Requests[2894].Request.Method = "POST"; + Requests[2894].Request.Path = "/subscriptions/d2090f84-d7b5-/resourceGroups/6b164d62-0959-444/providers/Microsoft.Web/sites/07f4f/functions/c5a392f2-56a/listsecrets"; + Requests[2895] = new DefaultHttpContext(); + Requests[2895].RequestServices = CreateServices(); + Requests[2895].Request.Method = "GET"; + Requests[2895].Request.Path = "/subscriptions/55fea9cb-9950-/resourceGroups/0eafbebe-4847-44c/providers/Microsoft.Web/sites/e7254/instances/8c9dd6c4-0/deployments"; + Requests[2896] = new DefaultHttpContext(); + Requests[2896].RequestServices = CreateServices(); + Requests[2896].Request.Method = "GET"; + Requests[2896].Request.Path = "/subscriptions/75b7f3cd-26d8-/resourceGroups/83631384-5103-448/providers/Microsoft.Web/sites/b33bc/instances/397bb0a9-c/processes"; + Requests[2897] = new DefaultHttpContext(); + Requests[2897].RequestServices = CreateServices(); + Requests[2897].Request.Method = "GET"; + Requests[2897].Request.Path = "/subscriptions/90162705-6949-/resourceGroups/1ecc7103-1ff6-421/providers/Microsoft.Web/sites/6d183/processes/aee070da-/dump"; + Requests[2898] = new DefaultHttpContext(); + Requests[2898].RequestServices = CreateServices(); + Requests[2898].Request.Method = "GET"; + Requests[2898].Request.Path = "/subscriptions/a6623512-d57c-/resourceGroups/ca1511e6-b95e-47b/providers/Microsoft.Web/sites/f1e10/processes/55c61dcb-/modules"; + Requests[2899] = new DefaultHttpContext(); + Requests[2899].RequestServices = CreateServices(); + Requests[2899].Request.Method = "GET"; + Requests[2899].Request.Path = "/subscriptions/b0188764-eadd-/resourceGroups/c1d6aa77-2a02-4e4/providers/Microsoft.Web/sites/d8583/processes/208588c6-/threads"; + Requests[2900] = new DefaultHttpContext(); + Requests[2900].RequestServices = CreateServices(); + Requests[2900].Request.Method = "GET"; + Requests[2900].Request.Path = "/subscriptions/88f04956-654c-/resourceGroups/dc8461b4-1739-4f9/providers/Microsoft.Web/sites/43ef6/slots/ddd96/analyzeCustomHostname"; + Requests[2901] = new DefaultHttpContext(); + Requests[2901].RequestServices = CreateServices(); + Requests[2901].Request.Method = "POST"; + Requests[2901].Request.Path = "/subscriptions/82757803-df0a-/resourceGroups/b33d3074-70ca-4d7/providers/Microsoft.Web/sites/9a077/slots/f88cb/applySlotConfig"; + Requests[2902] = new DefaultHttpContext(); + Requests[2902].RequestServices = CreateServices(); + Requests[2902].Request.Method = "POST"; + Requests[2902].Request.Path = "/subscriptions/b7e25a90-aa87-/resourceGroups/2c9f226f-aae2-434/providers/Microsoft.Web/sites/d9643/slots/73bf9/backup"; + Requests[2903] = new DefaultHttpContext(); + Requests[2903].RequestServices = CreateServices(); + Requests[2903].Request.Method = "GET"; + Requests[2903].Request.Path = "/subscriptions/d2adb2e0-9eed-/resourceGroups/1bf68b27-a556-402/providers/Microsoft.Web/sites/af8eb/slots/0b399/backups"; + Requests[2904] = new DefaultHttpContext(); + Requests[2904].RequestServices = CreateServices(); + Requests[2904].Request.Method = "GET"; + Requests[2904].Request.Path = "/subscriptions/19090c0a-a7b1-/resourceGroups/c8626a59-dd6d-4ab/providers/Microsoft.Web/sites/6ebf2/slots/35f24/config"; + Requests[2905] = new DefaultHttpContext(); + Requests[2905].RequestServices = CreateServices(); + Requests[2905].Request.Method = "POST"; + Requests[2905].Request.Path = "/subscriptions/54840c18-182f-/resourceGroups/cfd1b544-894d-4fa/providers/Microsoft.Web/sites/90d8d/slots/eb607/containerlogs"; + Requests[2906] = new DefaultHttpContext(); + Requests[2906].RequestServices = CreateServices(); + Requests[2906].Request.Method = "GET"; + Requests[2906].Request.Path = "/subscriptions/0b47b6ab-f11c-/resourceGroups/23719840-0797-460/providers/Microsoft.Web/sites/0febd/slots/bc5a8/continuouswebjobs"; + Requests[2907] = new DefaultHttpContext(); + Requests[2907].RequestServices = CreateServices(); + Requests[2907].Request.Method = "GET"; + Requests[2907].Request.Path = "/subscriptions/1969d3e1-644e-/resourceGroups/1c712067-e3ec-464/providers/Microsoft.Web/sites/33286/slots/64780/deployments"; + Requests[2908] = new DefaultHttpContext(); + Requests[2908].RequestServices = CreateServices(); + Requests[2908].Request.Method = "GET"; + Requests[2908].Request.Path = "/subscriptions/058c3aa1-c524-/resourceGroups/a0086e84-263a-4b1/providers/Microsoft.Web/sites/ab3a1/slots/48613/domainOwnershipIdentifiers"; + Requests[2909] = new DefaultHttpContext(); + Requests[2909].RequestServices = CreateServices(); + Requests[2909].Request.Method = "GET"; + Requests[2909].Request.Path = "/subscriptions/a67f89c7-1ea8-/resourceGroups/bab56720-a60f-470/providers/Microsoft.Web/sites/88380/slots/48e71/functions"; + Requests[2910] = new DefaultHttpContext(); + Requests[2910].RequestServices = CreateServices(); + Requests[2910].Request.Method = "GET"; + Requests[2910].Request.Path = "/subscriptions/021f7ffc-372b-/resourceGroups/3b76b4d0-e726-4bb/providers/Microsoft.Web/sites/11622/slots/a36ac/hostNameBindings"; + Requests[2911] = new DefaultHttpContext(); + Requests[2911].RequestServices = CreateServices(); + Requests[2911].Request.Method = "GET"; + Requests[2911].Request.Path = "/subscriptions/c53c0317-8fdc-/resourceGroups/800ea246-a4fe-411/providers/Microsoft.Web/sites/7b226/slots/c2ff2/hybridconnection"; + Requests[2912] = new DefaultHttpContext(); + Requests[2912].RequestServices = CreateServices(); + Requests[2912].Request.Method = "GET"; + Requests[2912].Request.Path = "/subscriptions/35880b7a-2570-/resourceGroups/744b543a-38e3-464/providers/Microsoft.Web/sites/8e992/slots/57962/hybridConnectionRelays"; + Requests[2913] = new DefaultHttpContext(); + Requests[2913].RequestServices = CreateServices(); + Requests[2913].Request.Method = "GET"; + Requests[2913].Request.Path = "/subscriptions/227eace7-7be5-/resourceGroups/45b61ed6-67ca-44a/providers/Microsoft.Web/sites/85b66/slots/cbc7f/instances"; + Requests[2914] = new DefaultHttpContext(); + Requests[2914].RequestServices = CreateServices(); + Requests[2914].Request.Method = "POST"; + Requests[2914].Request.Path = "/subscriptions/6cee3282-6683-/resourceGroups/0dd536a4-2455-414/providers/Microsoft.Web/sites/bcc65/slots/525a0/iscloneable"; + Requests[2915] = new DefaultHttpContext(); + Requests[2915].RequestServices = CreateServices(); + Requests[2915].Request.Method = "POST"; + Requests[2915].Request.Path = "/subscriptions/df53b19a-5c08-/resourceGroups/451b14e6-091f-4c7/providers/Microsoft.Web/sites/3d39b/slots/2c83f/listsyncfunctiontriggerstatus"; + Requests[2916] = new DefaultHttpContext(); + Requests[2916].RequestServices = CreateServices(); + Requests[2916].Request.Method = "GET"; + Requests[2916].Request.Path = "/subscriptions/1b045d54-5d4b-/resourceGroups/1c4d4fbb-78ae-42a/providers/Microsoft.Web/sites/127cd/slots/4458a/metricdefinitions"; + Requests[2917] = new DefaultHttpContext(); + Requests[2917].RequestServices = CreateServices(); + Requests[2917].Request.Method = "GET"; + Requests[2917].Request.Path = "/subscriptions/63a38feb-8042-/resourceGroups/668a5bc4-333a-497/providers/Microsoft.Web/sites/febcd/slots/4b568/metrics"; + Requests[2918] = new DefaultHttpContext(); + Requests[2918].RequestServices = CreateServices(); + Requests[2918].Request.Method = "POST"; + Requests[2918].Request.Path = "/subscriptions/4c97f308-aadd-/resourceGroups/5a03e727-5ac8-4f1/providers/Microsoft.Web/sites/90113/slots/e3141/newpassword"; + Requests[2919] = new DefaultHttpContext(); + Requests[2919].RequestServices = CreateServices(); + Requests[2919].Request.Method = "GET"; + Requests[2919].Request.Path = "/subscriptions/9a06b351-2db0-/resourceGroups/65efc537-b721-41d/providers/Microsoft.Web/sites/9ab18/slots/3f270/perfcounters"; + Requests[2920] = new DefaultHttpContext(); + Requests[2920].RequestServices = CreateServices(); + Requests[2920].Request.Method = "GET"; + Requests[2920].Request.Path = "/subscriptions/edc11cc4-60ad-/resourceGroups/2aa89909-ffa6-421/providers/Microsoft.Web/sites/5f979/slots/9e919/phplogging"; + Requests[2921] = new DefaultHttpContext(); + Requests[2921].RequestServices = CreateServices(); + Requests[2921].Request.Method = "GET"; + Requests[2921].Request.Path = "/subscriptions/f9a773f2-9329-/resourceGroups/ffb33bd4-b9aa-498/providers/Microsoft.Web/sites/2dbed/slots/7cf12/premieraddons"; + Requests[2922] = new DefaultHttpContext(); + Requests[2922].RequestServices = CreateServices(); + Requests[2922].Request.Method = "GET"; + Requests[2922].Request.Path = "/subscriptions/4d4252a7-8d19-/resourceGroups/6f06cbe7-b51a-453/providers/Microsoft.Web/sites/24207/slots/3c9d7/processes"; + Requests[2923] = new DefaultHttpContext(); + Requests[2923].RequestServices = CreateServices(); + Requests[2923].Request.Method = "GET"; + Requests[2923].Request.Path = "/subscriptions/865af1fb-4b18-/resourceGroups/fd5834fa-2f67-41d/providers/Microsoft.Web/sites/3f84b/slots/b281f/publicCertificates"; + Requests[2924] = new DefaultHttpContext(); + Requests[2924].RequestServices = CreateServices(); + Requests[2924].Request.Method = "POST"; + Requests[2924].Request.Path = "/subscriptions/dbd142a6-6c40-/resourceGroups/127e4e15-e6dd-48f/providers/Microsoft.Web/sites/14d7d/slots/fb533/publishxml"; + Requests[2925] = new DefaultHttpContext(); + Requests[2925].RequestServices = CreateServices(); + Requests[2925].Request.Method = "POST"; + Requests[2925].Request.Path = "/subscriptions/d198be7e-5abf-/resourceGroups/b90733ff-5d11-438/providers/Microsoft.Web/sites/c4468/slots/375e8/recover"; + Requests[2926] = new DefaultHttpContext(); + Requests[2926].RequestServices = CreateServices(); + Requests[2926].Request.Method = "POST"; + Requests[2926].Request.Path = "/subscriptions/71e68862-9b81-/resourceGroups/88a854ad-f99a-4d4/providers/Microsoft.Web/sites/31193/slots/a2a04/resetSlotConfig"; + Requests[2927] = new DefaultHttpContext(); + Requests[2927].RequestServices = CreateServices(); + Requests[2927].Request.Method = "GET"; + Requests[2927].Request.Path = "/subscriptions/39e701a3-4fda-/resourceGroups/ba695903-d9df-445/providers/Microsoft.Web/sites/5db7b/slots/7e22f/resourceHealthMetadata"; + Requests[2928] = new DefaultHttpContext(); + Requests[2928].RequestServices = CreateServices(); + Requests[2928].Request.Method = "POST"; + Requests[2928].Request.Path = "/subscriptions/450500fc-8e89-/resourceGroups/d48930a2-33b6-419/providers/Microsoft.Web/sites/1a816/slots/352a5/restart"; + Requests[2929] = new DefaultHttpContext(); + Requests[2929].RequestServices = CreateServices(); + Requests[2929].Request.Method = "POST"; + Requests[2929].Request.Path = "/subscriptions/780c5936-f5f0-/resourceGroups/8569bdcc-b980-4a5/providers/Microsoft.Web/sites/a0c0a/slots/bd85d/restoreFromBackupBlob"; + Requests[2930] = new DefaultHttpContext(); + Requests[2930].RequestServices = CreateServices(); + Requests[2930].Request.Method = "POST"; + Requests[2930].Request.Path = "/subscriptions/1588c4c6-cb64-/resourceGroups/ce2253ef-2046-4df/providers/Microsoft.Web/sites/a6682/slots/0e532/restoreFromDeletedApp"; + Requests[2931] = new DefaultHttpContext(); + Requests[2931].RequestServices = CreateServices(); + Requests[2931].Request.Method = "POST"; + Requests[2931].Request.Path = "/subscriptions/276b8f0c-7a0c-/resourceGroups/eb7dd802-cd6a-4cf/providers/Microsoft.Web/sites/662d3/slots/4597c/restoreSnapshot"; + Requests[2932] = new DefaultHttpContext(); + Requests[2932].RequestServices = CreateServices(); + Requests[2932].Request.Method = "GET"; + Requests[2932].Request.Path = "/subscriptions/526d6b87-3594-/resourceGroups/543764ca-e05e-4a0/providers/Microsoft.Web/sites/25433/slots/a649b/siteextensions"; + Requests[2933] = new DefaultHttpContext(); + Requests[2933].RequestServices = CreateServices(); + Requests[2933].Request.Method = "POST"; + Requests[2933].Request.Path = "/subscriptions/cf961d50-0142-/resourceGroups/31e45165-4bf4-444/providers/Microsoft.Web/sites/7200a/slots/6e497/slotsdiffs"; + Requests[2934] = new DefaultHttpContext(); + Requests[2934].RequestServices = CreateServices(); + Requests[2934].Request.Method = "POST"; + Requests[2934].Request.Path = "/subscriptions/c181eb41-58a4-/resourceGroups/61e770c2-68e2-401/providers/Microsoft.Web/sites/56f96/slots/41c00/slotsswap"; + Requests[2935] = new DefaultHttpContext(); + Requests[2935].RequestServices = CreateServices(); + Requests[2935].Request.Method = "GET"; + Requests[2935].Request.Path = "/subscriptions/c7419565-e7cc-/resourceGroups/01f0b3b5-2d4b-42a/providers/Microsoft.Web/sites/9ffe0/slots/277ca/snapshots"; + Requests[2936] = new DefaultHttpContext(); + Requests[2936].RequestServices = CreateServices(); + Requests[2936].Request.Method = "POST"; + Requests[2936].Request.Path = "/subscriptions/cb3771bd-a417-/resourceGroups/295864f1-b87f-4cc/providers/Microsoft.Web/sites/b632b/slots/5ec14/start"; + Requests[2937] = new DefaultHttpContext(); + Requests[2937].RequestServices = CreateServices(); + Requests[2937].Request.Method = "POST"; + Requests[2937].Request.Path = "/subscriptions/99aa2ead-a446-/resourceGroups/642fe8ee-168b-43c/providers/Microsoft.Web/sites/f248d/slots/30d66/stop"; + Requests[2938] = new DefaultHttpContext(); + Requests[2938].RequestServices = CreateServices(); + Requests[2938].Request.Method = "POST"; + Requests[2938].Request.Path = "/subscriptions/3aff382f-67cb-/resourceGroups/2899d9b0-62d5-452/providers/Microsoft.Web/sites/94d88/slots/46612/sync"; + Requests[2939] = new DefaultHttpContext(); + Requests[2939].RequestServices = CreateServices(); + Requests[2939].Request.Method = "POST"; + Requests[2939].Request.Path = "/subscriptions/8fd066db-6f53-/resourceGroups/05b8f82c-7ba3-4c0/providers/Microsoft.Web/sites/3317d/slots/cbfe2/syncfunctiontriggers"; + Requests[2940] = new DefaultHttpContext(); + Requests[2940].RequestServices = CreateServices(); + Requests[2940].Request.Method = "GET"; + Requests[2940].Request.Path = "/subscriptions/b4b74a1b-9867-/resourceGroups/20d57cd8-93a7-48f/providers/Microsoft.Web/sites/c2b8c/slots/575bd/triggeredwebjobs"; + Requests[2941] = new DefaultHttpContext(); + Requests[2941].RequestServices = CreateServices(); + Requests[2941].Request.Method = "GET"; + Requests[2941].Request.Path = "/subscriptions/d6a9e0a2-8c73-/resourceGroups/824bf856-c788-433/providers/Microsoft.Web/sites/b0b84/slots/11e69/usages"; + Requests[2942] = new DefaultHttpContext(); + Requests[2942].RequestServices = CreateServices(); + Requests[2942].Request.Method = "GET"; + Requests[2942].Request.Path = "/subscriptions/fe21d00b-5cdf-/resourceGroups/05f38fac-08af-465/providers/Microsoft.Web/sites/eb52e/slots/59432/virtualNetworkConnections"; + Requests[2943] = new DefaultHttpContext(); + Requests[2943].RequestServices = CreateServices(); + Requests[2943].Request.Method = "GET"; + Requests[2943].Request.Path = "/subscriptions/56773e42-3828-/resourceGroups/c8487312-28fc-458/providers/Microsoft.Web/sites/d546f/slots/9fa9c/webjobs"; + Requests[2944] = new DefaultHttpContext(); + Requests[2944].RequestServices = CreateServices(); + Requests[2944].Request.Method = "GET"; + Requests[2944].Request.Path = "/subscriptions/e1645937-3d5c-/resourceGroups/88aea403-1881-44e/providers/Microsoft.Web/sites/ba516/triggeredwebjobs/5f29834d-b/history"; + Requests[2945] = new DefaultHttpContext(); + Requests[2945].RequestServices = CreateServices(); + Requests[2945].Request.Method = "POST"; + Requests[2945].Request.Path = "/subscriptions/51a6cd61-24ce-/resourceGroups/454f7fc6-3086-4f0/providers/Microsoft.Web/sites/e290f/triggeredwebjobs/7a1e3c56-6/run"; + Requests[2946] = new DefaultHttpContext(); + Requests[2946].RequestServices = CreateServices(); + Requests[2946].Request.Method = "GET"; + Requests[2946].Request.Path = "/subscriptions/e275f4ec-6b75-/resourceGroups/1f27413b-9ac4-483/providers/Microsoft.Web/sites/22969643/diagnostics/d72678d5-af1a-44d0/analyses"; + Requests[2947] = new DefaultHttpContext(); + Requests[2947].RequestServices = CreateServices(); + Requests[2947].Request.Method = "GET"; + Requests[2947].Request.Path = "/subscriptions/9be516e3-a8f3-/resourceGroups/b790b834-9b7f-46b/providers/Microsoft.Web/sites/8be27e75/diagnostics/743815a6-8f32-45ca/detectors"; + Requests[2948] = new DefaultHttpContext(); + Requests[2948].RequestServices = CreateServices(); + Requests[2948].Request.Method = "POST"; + Requests[2948].Request.Path = "/subscriptions/a9d1d875-c50e-/resourceGroups/0b467861-0570-46c/providers/Microsoft.Web/sites/d0a26d8f/recommendations/a15ac/disable"; + Requests[2949] = new DefaultHttpContext(); + Requests[2949].RequestServices = CreateServices(); + Requests[2949].Request.Method = "GET"; + Requests[2949].Request.Path = "/subscriptions/36bd64a5-6c93-/resourceGroups/8088a29f-04f4-4c7/providers/Microsoft.Web/sites/d49f3730/slots/7ac65/detectors"; + Requests[2950] = new DefaultHttpContext(); + Requests[2950].RequestServices = CreateServices(); + Requests[2950].Request.Method = "GET"; + Requests[2950].Request.Path = "/subscriptions/ec11dc82-2e49-/resourceGroups/47cf9e14-15b7-43c/providers/Microsoft.Web/sites/550274fc/slots/ead28/diagnostics"; + Requests[2951] = new DefaultHttpContext(); + Requests[2951].RequestServices = CreateServices(); + Requests[2951].Request.Method = "POST"; + Requests[2951].Request.Path = "/subscriptions/be19ca51-7147-/resourceGroups/1924d1e7-f330-439/providers/Microsoft.ApiManagement/service/2d923c05-fa/tenant/ed4817fa-8/git/regeneratePrimaryKey"; + Requests[2952] = new DefaultHttpContext(); + Requests[2952].RequestServices = CreateServices(); + Requests[2952].Request.Method = "POST"; + Requests[2952].Request.Path = "/subscriptions/b5f0101d-e65c-/resourceGroups/e897e457-112c-426/providers/Microsoft.ApiManagement/service/2a4d9f85-2e/tenant/45ebaff6-0/git/regenerateSecondaryKey"; + Requests[2953] = new DefaultHttpContext(); + Requests[2953].RequestServices = CreateServices(); + Requests[2953].Request.Method = "PUT"; + Requests[2953].Request.Path = "/subscriptions/94065339-06e9-/resourceGroups/01df056c-2266-46e/providers/Microsoft.Automation/automationAccounts/5bb9b64c-4de8-4b8d-ae/runbooks/9ef9601d-fd/draft/content"; + Requests[2954] = new DefaultHttpContext(); + Requests[2954].RequestServices = CreateServices(); + Requests[2954].Request.Method = "POST"; + Requests[2954].Request.Path = "/subscriptions/5afab22e-779b-/resourceGroups/b02647d0-aa86-42d/providers/Microsoft.Automation/automationAccounts/d48435e8-ff02-4b4c-95/runbooks/ab873d65-91/draft/publish"; + Requests[2955] = new DefaultHttpContext(); + Requests[2955].RequestServices = CreateServices(); + Requests[2955].Request.Method = "GET"; + Requests[2955].Request.Path = "/subscriptions/b656c592-4273-/resourceGroups/5decbde2-aeec-428/providers/Microsoft.Automation/automationAccounts/8aec46d4-4e17-4746-a4/runbooks/b4c1252c-35/draft/testJob"; + Requests[2956] = new DefaultHttpContext(); + Requests[2956].RequestServices = CreateServices(); + Requests[2956].Request.Method = "POST"; + Requests[2956].Request.Path = "/subscriptions/302c6447-480d-/resourceGroups/52c06393-9994-46b/providers/Microsoft.Automation/automationAccounts/2d7b388a-fd1f-48d7-a5/runbooks/fbc5e985-2a/draft/undoEdit"; + Requests[2957] = new DefaultHttpContext(); + Requests[2957].RequestServices = CreateServices(); + Requests[2957].Request.Method = "GET"; + Requests[2957].Request.Path = "/subscriptions/132c59ef-ea9a-/resourceGroups/77bcb214-8647-4ec/providers/Microsoft.DocumentDB/databaseAccounts/6c1ce2a5-c1/targetRegion/efc9e383-a62/percentile/metrics"; + Requests[2958] = new DefaultHttpContext(); + Requests[2958].RequestServices = CreateServices(); + Requests[2958].Request.Method = "GET"; + Requests[2958].Request.Path = "/subscriptions/7be471e7-ee20-/resourceGroups/c9ca523e-5064-4ce/providers/Microsoft.Logic/workflows/b6340db1-cda/triggers/b56f9d64-7b/schemas/json"; + Requests[2959] = new DefaultHttpContext(); + Requests[2959].RequestServices = CreateServices(); + Requests[2959].Request.Method = "PATCH"; + Requests[2959].Request.Path = "/subscriptions/f35b0085-25b2-/resourceGroups/d491e609-f67c-47e/providers/Microsoft.Sql/servers/85cf7288-8/databases/f0b30448-21c/automaticTuning/current"; + Requests[2960] = new DefaultHttpContext(); + Requests[2960].RequestServices = CreateServices(); + Requests[2960].Request.Method = "PUT"; + Requests[2960].Request.Path = "/subscriptions/d365ae33-b6f5-/resourceGroups/974550f6-6662-402/providers/Microsoft.StorSimple/managers/768b1836-72/devices/0c411672-5/alertSettings/default"; + Requests[2961] = new DefaultHttpContext(); + Requests[2961].RequestServices = CreateServices(); + Requests[2961].Request.Method = "PATCH"; + Requests[2961].Request.Path = "/subscriptions/7b4d4c42-71b7-/resourceGroups/16d7325b-3681-45e/providers/Microsoft.StorSimple/managers/0de2c196-61/devices/be3c324f-2/networkSettings/default"; + Requests[2962] = new DefaultHttpContext(); + Requests[2962].RequestServices = CreateServices(); + Requests[2962].Request.Method = "PATCH"; + Requests[2962].Request.Path = "/subscriptions/56f86b63-84de-/resourceGroups/3d60ea90-b4f0-44e/providers/Microsoft.StorSimple/managers/ac6e2f0e-00/devices/9e12715c-9/securitySettings/default"; + Requests[2963] = new DefaultHttpContext(); + Requests[2963].RequestServices = CreateServices(); + Requests[2963].Request.Method = "PUT"; + Requests[2963].Request.Path = "/subscriptions/9628ce78-1a11-/resourceGroups/4982a0ea-45f6-4bd/providers/Microsoft.StorSimple/managers/d1c1a1be-b4/devices/437f610c-1/timeSettings/default"; + Requests[2964] = new DefaultHttpContext(); + Requests[2964].RequestServices = CreateServices(); + Requests[2964].Request.Method = "GET"; + Requests[2964].Request.Path = "/subscriptions/0c33b923-501b-/resourceGroups/033b2fec-e604-40e/providers/Microsoft.StorSimple/managers/09d0eae0-3a/devices/fbf84d75-6/updateSummary/default"; + Requests[2965] = new DefaultHttpContext(); + Requests[2965].RequestServices = CreateServices(); + Requests[2965].Request.Method = "PUT"; + Requests[2965].Request.Path = "/subscriptions/63a347ac-6f6d-/resourceGroups/3df3d4b5-ceb2-42a/providers/Microsoft.Web/sites/4c844/instances/feae796f-d/extensions/MSDeploy"; + Requests[2966] = new DefaultHttpContext(); + Requests[2966].RequestServices = CreateServices(); + Requests[2966].Request.Method = "PUT"; + Requests[2966].Request.Path = "/subscriptions/6aaf9ab9-68e8-/resourceGroups/34c4a12c-f8d2-4b2/providers/Microsoft.Web/sites/0c5e0/slots/98f0e/backups/discover"; + Requests[2967] = new DefaultHttpContext(); + Requests[2967].RequestServices = CreateServices(); + Requests[2967].Request.Method = "PUT"; + Requests[2967].Request.Path = "/subscriptions/1070d7e2-67f9-/resourceGroups/ad457739-d05d-419/providers/Microsoft.Web/sites/9d754/slots/0dabd/config/appsettings"; + Requests[2968] = new DefaultHttpContext(); + Requests[2968].RequestServices = CreateServices(); + Requests[2968].Request.Method = "PUT"; + Requests[2968].Request.Path = "/subscriptions/2b43b361-6304-/resourceGroups/3d595aad-3e3b-41e/providers/Microsoft.Web/sites/8a2c5/slots/6d92f/config/authsettings"; + Requests[2969] = new DefaultHttpContext(); + Requests[2969].RequestServices = CreateServices(); + Requests[2969].Request.Method = "DELETE"; + Requests[2969].Request.Path = "/subscriptions/fcd42e71-4cba-/resourceGroups/4e432e7a-0c39-47b/providers/Microsoft.Web/sites/fbb9f/slots/7b5a9/config/backup"; + Requests[2970] = new DefaultHttpContext(); + Requests[2970].RequestServices = CreateServices(); + Requests[2970].Request.Method = "PUT"; + Requests[2970].Request.Path = "/subscriptions/9d851075-8ed2-/resourceGroups/8929fda1-4e55-46c/providers/Microsoft.Web/sites/d4538/slots/07e24/config/connectionstrings"; + Requests[2971] = new DefaultHttpContext(); + Requests[2971].RequestServices = CreateServices(); + Requests[2971].Request.Method = "PUT"; + Requests[2971].Request.Path = "/subscriptions/6f41259f-51e1-/resourceGroups/4d569e52-701b-4d6/providers/Microsoft.Web/sites/33745/slots/b645d/config/logs"; + Requests[2972] = new DefaultHttpContext(); + Requests[2972].RequestServices = CreateServices(); + Requests[2972].Request.Method = "PUT"; + Requests[2972].Request.Path = "/subscriptions/e39cdaad-da66-/resourceGroups/677cd4eb-c444-457/providers/Microsoft.Web/sites/19e84/slots/f5681/config/metadata"; + Requests[2973] = new DefaultHttpContext(); + Requests[2973].RequestServices = CreateServices(); + Requests[2973].Request.Method = "PUT"; + Requests[2973].Request.Path = "/subscriptions/26dd709d-19a9-/resourceGroups/a693fc29-fd07-4d2/providers/Microsoft.Web/sites/8a481/slots/47964/config/pushsettings"; + Requests[2974] = new DefaultHttpContext(); + Requests[2974].RequestServices = CreateServices(); + Requests[2974].Request.Method = "PATCH"; + Requests[2974].Request.Path = "/subscriptions/5f16432f-b620-/resourceGroups/0a92f299-4761-48c/providers/Microsoft.Web/sites/54aa2/slots/79523/config/web"; + Requests[2975] = new DefaultHttpContext(); + Requests[2975].RequestServices = CreateServices(); + Requests[2975].Request.Method = "PUT"; + Requests[2975].Request.Path = "/subscriptions/71dc29b8-b650-/resourceGroups/190c7021-e1df-436/providers/Microsoft.Web/sites/261de/slots/a05d4/extensions/MSDeploy"; + Requests[2976] = new DefaultHttpContext(); + Requests[2976].RequestServices = CreateServices(); + Requests[2976].Request.Method = "GET"; + Requests[2976].Request.Path = "/subscriptions/ed70b1e8-506a-/resourceGroups/c4f41854-0902-403/providers/Microsoft.Web/sites/86544/slots/25ade/migratemysql/status"; + Requests[2977] = new DefaultHttpContext(); + Requests[2977].RequestServices = CreateServices(); + Requests[2977].Request.Method = "POST"; + Requests[2977].Request.Path = "/subscriptions/e2d8e62b-4a65-/resourceGroups/080dc83c-8e26-4d8/providers/Microsoft.Web/sites/c9b4e/slots/a222c/networkTrace/start"; + Requests[2978] = new DefaultHttpContext(); + Requests[2978].RequestServices = CreateServices(); + Requests[2978].Request.Method = "POST"; + Requests[2978].Request.Path = "/subscriptions/baf2bcc9-e939-/resourceGroups/c800da59-235f-473/providers/Microsoft.Web/sites/26ae8/slots/08932/networkTrace/stop"; + Requests[2979] = new DefaultHttpContext(); + Requests[2979].RequestServices = CreateServices(); + Requests[2979].Request.Method = "PUT"; + Requests[2979].Request.Path = "/subscriptions/9c8d0e79-269f-/resourceGroups/e5d8c9dc-532f-4cc/providers/Microsoft.Web/sites/e0700/slots/39b3d/privateAccess/virtualNetworks"; + Requests[2980] = new DefaultHttpContext(); + Requests[2980].RequestServices = CreateServices(); + Requests[2980].Request.Method = "GET"; + Requests[2980].Request.Path = "/subscriptions/b6ad1c62-f874-/resourceGroups/bfc158c6-6ea2-400/providers/Microsoft.Web/sites/54560/slots/61a72/resourceHealthMetadata/default"; + Requests[2981] = new DefaultHttpContext(); + Requests[2981].RequestServices = CreateServices(); + Requests[2981].Request.Method = "PATCH"; + Requests[2981].Request.Path = "/subscriptions/d15f6cd7-7a04-/resourceGroups/369f8672-386a-4cd/providers/Microsoft.Web/sites/473df/slots/31339/sourcecontrols/web"; + Requests[2982] = new DefaultHttpContext(); + Requests[2982].RequestServices = CreateServices(); + Requests[2982].Request.Method = "POST"; + Requests[2982].Request.Path = "/subscriptions/94e89d7a-7923-/resourceGroups/2a9d2ea8-41a6-482/providers/Microsoft.Automation/automationAccounts/c7e6ad97-a042-4340-8e/runbooks/7a31a3bc-06/draft/testJob/resume"; + Requests[2983] = new DefaultHttpContext(); + Requests[2983].RequestServices = CreateServices(); + Requests[2983].Request.Method = "POST"; + Requests[2983].Request.Path = "/subscriptions/c800a00c-3d35-/resourceGroups/47a2b407-c08a-495/providers/Microsoft.Automation/automationAccounts/e411ce46-c6db-4690-8f/runbooks/904175c2-dd/draft/testJob/stop"; + Requests[2984] = new DefaultHttpContext(); + Requests[2984].RequestServices = CreateServices(); + Requests[2984].Request.Method = "GET"; + Requests[2984].Request.Path = "/subscriptions/40d6c94d-40e2-/resourceGroups/a8decb45-b9ef-4d2/providers/Microsoft.Automation/automationAccounts/0dec404d-effa-4c77-b2/runbooks/c4ea323b-18/draft/testJob/streams"; + Requests[2985] = new DefaultHttpContext(); + Requests[2985].RequestServices = CreateServices(); + Requests[2985].Request.Method = "POST"; + Requests[2985].Request.Path = "/subscriptions/2c9df469-76d5-/resourceGroups/c00792ee-9090-408/providers/Microsoft.Automation/automationAccounts/be8ef34e-6b58-46bf-a1/runbooks/8a574214-ce/draft/testJob/suspend"; + Requests[2986] = new DefaultHttpContext(); + Requests[2986].RequestServices = CreateServices(); + Requests[2986].Request.Method = "GET"; + Requests[2986].Request.Path = "/subscriptions/a629b00d-f515-/resourceGroups/0f76ef70-e84b-470/providers/Microsoft.ServerManagement/nodes/313656fa/sessions/93e97be/features/powerShellConsole/pssessions"; + Requests[2987] = new DefaultHttpContext(); + Requests[2987].RequestServices = CreateServices(); + Requests[2987].Request.Method = "POST"; + Requests[2987].Request.Path = "/subscriptions/048fe860-9d69-/resourceGroups/d2f9cb33-47d7-444/providers/Microsoft.StorSimple/managers/acfae581-59/devices/1fe54673-4/securitySettings/default/syncRemoteManagementCertificate"; + Requests[2988] = new DefaultHttpContext(); + Requests[2988].RequestServices = CreateServices(); + Requests[2988].Request.Method = "GET"; + Requests[2988].Request.Path = "/subscriptions/2bdbf209-ef5d-/resourceGroups/330841b7-487e-46d/providers/Microsoft.Web/sites/c552d/instances/6e0a1150-9/extensions/MSDeploy/log"; + Requests[2989] = new DefaultHttpContext(); + Requests[2989].RequestServices = CreateServices(); + Requests[2989].Request.Method = "POST"; + Requests[2989].Request.Path = "/subscriptions/cd927a73-1084-/resourceGroups/d2cad287-b5c2-477/providers/Microsoft.Web/sites/a31a4/slots/bbcee/config/appsettings/list"; + Requests[2990] = new DefaultHttpContext(); + Requests[2990].RequestServices = CreateServices(); + Requests[2990].Request.Method = "POST"; + Requests[2990].Request.Path = "/subscriptions/5440693a-ff2f-/resourceGroups/735e5c17-5ce9-470/providers/Microsoft.Web/sites/f32bb/slots/52655/config/authsettings/list"; + Requests[2991] = new DefaultHttpContext(); + Requests[2991].RequestServices = CreateServices(); + Requests[2991].Request.Method = "POST"; + Requests[2991].Request.Path = "/subscriptions/a7e26e91-eeed-/resourceGroups/43a3ccf4-96ce-489/providers/Microsoft.Web/sites/d0870/slots/b6018/config/backup/list"; + Requests[2992] = new DefaultHttpContext(); + Requests[2992].RequestServices = CreateServices(); + Requests[2992].Request.Method = "POST"; + Requests[2992].Request.Path = "/subscriptions/b70915d0-6a9e-/resourceGroups/3cec45dd-0110-4d8/providers/Microsoft.Web/sites/8ea3b/slots/8fa2f/config/connectionstrings/list"; + Requests[2993] = new DefaultHttpContext(); + Requests[2993].RequestServices = CreateServices(); + Requests[2993].Request.Method = "POST"; + Requests[2993].Request.Path = "/subscriptions/7f690c48-6dc8-/resourceGroups/ff8aca89-2c84-445/providers/Microsoft.Web/sites/23358/slots/37816/config/metadata/list"; + Requests[2994] = new DefaultHttpContext(); + Requests[2994].RequestServices = CreateServices(); + Requests[2994].Request.Method = "POST"; + Requests[2994].Request.Path = "/subscriptions/ba3acace-b1f0-/resourceGroups/836a514a-14c6-44c/providers/Microsoft.Web/sites/45017/slots/0238f/config/publishingcredentials/list"; + Requests[2995] = new DefaultHttpContext(); + Requests[2995].RequestServices = CreateServices(); + Requests[2995].Request.Method = "POST"; + Requests[2995].Request.Path = "/subscriptions/7b17190d-2772-/resourceGroups/9afd4923-3beb-464/providers/Microsoft.Web/sites/f1a51/slots/685ec/config/pushsettings/list"; + Requests[2996] = new DefaultHttpContext(); + Requests[2996].RequestServices = CreateServices(); + Requests[2996].Request.Method = "GET"; + Requests[2996].Request.Path = "/subscriptions/e548e1cb-4eb5-/resourceGroups/560776a0-a90d-488/providers/Microsoft.Web/sites/9b604/slots/abde2/config/web/snapshots"; + Requests[2997] = new DefaultHttpContext(); + Requests[2997].RequestServices = CreateServices(); + Requests[2997].Request.Method = "POST"; + Requests[2997].Request.Path = "/subscriptions/d924f306-d64d-/resourceGroups/2dcb57ca-8da4-443/providers/Microsoft.Web/sites/a0906/slots/24a7e/containerlogs/zip/download"; + Requests[2998] = new DefaultHttpContext(); + Requests[2998].RequestServices = CreateServices(); + Requests[2998].Request.Method = "GET"; + Requests[2998].Request.Path = "/subscriptions/bc432d5f-3dfa-/resourceGroups/8e32e28c-185f-477/providers/Microsoft.Web/sites/3cd2b/slots/ee98e/extensions/MSDeploy/log"; + Requests[2999] = new DefaultHttpContext(); + Requests[2999].RequestServices = CreateServices(); + Requests[2999].Request.Method = "GET"; + Requests[2999].Request.Path = "/subscriptions/bb2a537e-84e7-/resourceGroups/3cade790-cd2e-4a9/providers/Microsoft.Web/sites/8919d/slots/d4dd6/functions/admin/token"; + Requests[3000] = new DefaultHttpContext(); + Requests[3000].RequestServices = CreateServices(); + Requests[3000].Request.Method = "GET"; + Requests[3000].Request.Path = "/subscriptions/bdbe08dc-634a-/resourceGroups/9d299d87-5e0e-4c2/providers/Microsoft.Automation/automationAccounts/74df257c-b486-49a3-a1/runbooks/f60caf93-e3/draft/testJob/streams/886235f9-3f"; + Requests[3001] = new DefaultHttpContext(); + Requests[3001].RequestServices = CreateServices(); + Requests[3001].Request.Method = "PATCH"; + Requests[3001].Request.Path = "/subscriptions/17106536-f838-/resourceGroups/ca53a477-3f8f-4a9/providers/Microsoft.ServerManagement/nodes/c6b44529/sessions/e89ffb0/features/powerShellConsole/pssessions/4305809e-"; + Requests[3002] = new DefaultHttpContext(); + Requests[3002].RequestServices = CreateServices(); + Requests[3002].Request.Method = "GET"; + Requests[3002].Request.Path = "/subscriptions/f7a85246-f53b-/resourceGroups/f07e40f1-8154-45b/providers/Microsoft.Web/sites/2f76b/slots/07ec0/config/web/snapshots/7000ee81-c"; + Requests[3003] = new DefaultHttpContext(); + Requests[3003].RequestServices = CreateServices(); + Requests[3003].Request.Method = "POST"; + Requests[3003].Request.Path = "/subscriptions/0eca0a28-2ff8-/resourceGroups/457dfe37-cc31-4ec/providers/Microsoft.ServerManagement/nodes/f38ac0db/sessions/1212c06/features/powerShellConsole/pssessions/e8347d29-/cancel"; + Requests[3004] = new DefaultHttpContext(); + Requests[3004].RequestServices = CreateServices(); + Requests[3004].Request.Method = "POST"; + Requests[3004].Request.Path = "/subscriptions/a3d7c573-99f9-/resourceGroups/0897bba2-5e84-4d2/providers/Microsoft.ServerManagement/nodes/bfe0e506/sessions/f7f6043/features/powerShellConsole/pssessions/dbab6bd7-/invokeCommand"; + Requests[3005] = new DefaultHttpContext(); + Requests[3005].RequestServices = CreateServices(); + Requests[3005].Request.Method = "POST"; + Requests[3005].Request.Path = "/subscriptions/81122d65-6a25-/resourceGroups/73234128-56fe-4a5/providers/Microsoft.ServerManagement/nodes/28a7ce35/sessions/7ecf7ab/features/powerShellConsole/pssessions/b5ad9d4c-/tab"; + Requests[3006] = new DefaultHttpContext(); + Requests[3006].RequestServices = CreateServices(); + Requests[3006].Request.Method = "POST"; + Requests[3006].Request.Path = "/subscriptions/152860e7-c844-/resourceGroups/b9d1d2a0-e3e7-41b/providers/Microsoft.Web/sites/4e8c5/slots/c4d36/config/web/snapshots/18f48d0c-a/recover"; + Requests[3007] = new DefaultHttpContext(); + Requests[3007].RequestServices = CreateServices(); + Requests[3007].Request.Method = "PATCH"; + Requests[3007].Request.Path = "/subscriptions/80fad015-63e8-/resourceGroups/7fa4cfbe-/providers/Microsoft.DataMigration/services/0b0d6307-3b/projects/ac677ddf-86/tasks/09449a75"; + Requests[3008] = new DefaultHttpContext(); + Requests[3008].RequestServices = CreateServices(); + Requests[3008].Request.Method = "DELETE"; + Requests[3008].Request.Path = "/subscriptions/5a7881d7-ef5b-/resourceGroups/7c45c324-2de4-4c0/providers/Microsoft.ApiManagement/service/1ae34605-02/apis/0e675/diagnostics/47a9cc0a-1e9"; + Requests[3009] = new DefaultHttpContext(); + Requests[3009].RequestServices = CreateServices(); + Requests[3009].Request.Method = "DELETE"; + Requests[3009].Request.Path = "/subscriptions/05628035-9d02-/resourceGroups/c68b4a0e-eee6-4e5/providers/Microsoft.ApiManagement/service/c9315ffa-27/apis/a6c12/issues/d56de24"; + Requests[3010] = new DefaultHttpContext(); + Requests[3010].RequestServices = CreateServices(); + Requests[3010].Request.Method = "DELETE"; + Requests[3010].Request.Path = "/subscriptions/d28a6b8d-4952-/resourceGroups/eba4e352-be93-430/providers/Microsoft.ApiManagement/service/d6019c62-38/apis/7549e/operations/67a373e0-0d"; + Requests[3011] = new DefaultHttpContext(); + Requests[3011].RequestServices = CreateServices(); + Requests[3011].Request.Method = "DELETE"; + Requests[3011].Request.Path = "/subscriptions/e6e65b3f-1b81-/resourceGroups/3fc2d511-7847-4cb/providers/Microsoft.ApiManagement/service/8779b527-ce/apis/cf358/policies/40f730e9"; + Requests[3012] = new DefaultHttpContext(); + Requests[3012].RequestServices = CreateServices(); + Requests[3012].Request.Method = "DELETE"; + Requests[3012].Request.Path = "/subscriptions/033a276e-ccf5-/resourceGroups/93219f9f-3f6d-446/providers/Microsoft.ApiManagement/service/ca019299-80/apis/65164/releases/d411b6dc-"; + Requests[3013] = new DefaultHttpContext(); + Requests[3013].RequestServices = CreateServices(); + Requests[3013].Request.Method = "DELETE"; + Requests[3013].Request.Path = "/subscriptions/58471891-77c6-/resourceGroups/906eed81-f6d3-46d/providers/Microsoft.ApiManagement/service/9d316d38-ec/apis/a1d4d/schemas/e9102421"; + Requests[3014] = new DefaultHttpContext(); + Requests[3014].RequestServices = CreateServices(); + Requests[3014].Request.Method = "DELETE"; + Requests[3014].Request.Path = "/subscriptions/842ae3c4-e419-/resourceGroups/a5448c78-b1cc-4e1/providers/Microsoft.ApiManagement/service/2b27bc00-9b/apis/0a0ae/tagDescriptions/e3132"; + Requests[3015] = new DefaultHttpContext(); + Requests[3015].RequestServices = CreateServices(); + Requests[3015].Request.Method = "DELETE"; + Requests[3015].Request.Path = "/subscriptions/e85e7075-6930-/resourceGroups/ae0c3deb-c09a-47c/providers/Microsoft.ApiManagement/service/b418e37c-ed/apis/57026/tags/ee7f4"; + Requests[3016] = new DefaultHttpContext(); + Requests[3016].RequestServices = CreateServices(); + Requests[3016].Request.Method = "DELETE"; + Requests[3016].Request.Path = "/subscriptions/9cad8092-c19d-/resourceGroups/f7ab6d0a-8d13-4b7/providers/Microsoft.ApiManagement/service/4aefcfd0-95/diagnostics/6ba216b9-c90/loggers/9061de3d"; + Requests[3017] = new DefaultHttpContext(); + Requests[3017].RequestServices = CreateServices(); + Requests[3017].Request.Method = "DELETE"; + Requests[3017].Request.Path = "/subscriptions/aa341cbb-64c8-/resourceGroups/1cb92e30-3bfd-415/providers/Microsoft.ApiManagement/service/b11b3b9f-2a/groups/a94a2af/users/d2d6a"; + Requests[3018] = new DefaultHttpContext(); + Requests[3018].RequestServices = CreateServices(); + Requests[3018].Request.Method = "DELETE"; + Requests[3018].Request.Path = "/subscriptions/1510738e-1d2c-/resourceGroups/ecd78f1f-5a9e-402/providers/Microsoft.ApiManagement/service/36911d06-72/notifications/536d60de-4502-4d/recipientEmails/c5477"; + Requests[3019] = new DefaultHttpContext(); + Requests[3019].RequestServices = CreateServices(); + Requests[3019].Request.Method = "DELETE"; + Requests[3019].Request.Path = "/subscriptions/6c79a8c9-11a3-/resourceGroups/dbead4d8-f2b9-468/providers/Microsoft.ApiManagement/service/8b6b2329-02/notifications/308681b9-d50c-44/recipientUsers/2c915"; + Requests[3020] = new DefaultHttpContext(); + Requests[3020].RequestServices = CreateServices(); + Requests[3020].Request.Method = "DELETE"; + Requests[3020].Request.Path = "/subscriptions/ebec682f-6a85-/resourceGroups/1bcbec20-41ab-4b8/providers/Microsoft.ApiManagement/service/2c327778-c5/products/48652b52-/apis/2415a"; + Requests[3021] = new DefaultHttpContext(); + Requests[3021].RequestServices = CreateServices(); + Requests[3021].Request.Method = "DELETE"; + Requests[3021].Request.Path = "/subscriptions/70c7d372-2990-/resourceGroups/619e3164-b254-4d2/providers/Microsoft.ApiManagement/service/4d0ca280-69/products/3125f8b8-/groups/2c961eb"; + Requests[3022] = new DefaultHttpContext(); + Requests[3022].RequestServices = CreateServices(); + Requests[3022].Request.Method = "DELETE"; + Requests[3022].Request.Path = "/subscriptions/5527a0b7-df11-/resourceGroups/ca059ada-4d41-4d3/providers/Microsoft.ApiManagement/service/3a1174cf-eb/products/eec09e8a-/policies/7420c584"; + Requests[3023] = new DefaultHttpContext(); + Requests[3023].RequestServices = CreateServices(); + Requests[3023].Request.Method = "DELETE"; + Requests[3023].Request.Path = "/subscriptions/7f5569da-13a1-/resourceGroups/6c2e1f46-17a9-4c6/providers/Microsoft.ApiManagement/service/3453b7d9-6d/products/941667c0-/tags/31a4b"; + Requests[3024] = new DefaultHttpContext(); + Requests[3024].RequestServices = CreateServices(); + Requests[3024].Request.Method = "PATCH"; + Requests[3024].Request.Path = "/subscriptions/d7c11794-ccde-/resourceGroups/ca107fde-7254-49e/providers/Microsoft.ApiManagement/service/841dad2a-1b/quotas/229fd337-46f3-4/periods/f5c9b41a-6d4f-"; + Requests[3025] = new DefaultHttpContext(); + Requests[3025].RequestServices = CreateServices(); + Requests[3025].Request.Method = "GET"; + Requests[3025].Request.Path = "/subscriptions/79a6e91f-7319-/resourceGroups/4cd2bb52-4838-437/providers/Microsoft.Automation/automationAccounts/78a192ed-b864-41f4-ad/compilationjobs/94a25/streams/5249a002-47"; + Requests[3026] = new DefaultHttpContext(); + Requests[3026].RequestServices = CreateServices(); + Requests[3026].Request.Method = "GET"; + Requests[3026].Request.Path = "/subscriptions/3b1ebe63-4ae3-/resourceGroups/4eccc3cb-ac0b-486/providers/Microsoft.Automation/automationAccounts/0892befa-e697-4e8c-ab/jobs/9cc91/streams/d320a682-f0"; + Requests[3027] = new DefaultHttpContext(); + Requests[3027].RequestServices = CreateServices(); + Requests[3027].Request.Method = "GET"; + Requests[3027].Request.Path = "/subscriptions/f37a4350-4d55-/resourceGroups/ea7f0cb5-b404-4e2/providers/Microsoft.Automation/automationAccounts/70098a37-980a-4949-a2/modules/0c2a59b7-4/activities/0eafb220-da1"; + Requests[3028] = new DefaultHttpContext(); + Requests[3028].RequestServices = CreateServices(); + Requests[3028].Request.Method = "GET"; + Requests[3028].Request.Path = "/subscriptions/677208a9-7196-/resourceGroups/b383008f-f4f4-494/providers/Microsoft.Automation/automationAccounts/c2ea301d-def4-4b1d-97/nodes/86a110/reports/5136c2f8"; + Requests[3029] = new DefaultHttpContext(); + Requests[3029].RequestServices = CreateServices(); + Requests[3029].Request.Method = "GET"; + Requests[3029].Request.Path = "/subscriptions/c200845d-78dd-/resourceGroups/10e01da1-b4b9-4b8/providers/Microsoft.Automation/automationAccounts/7104c133-30c2-437d-b7/sourceControls/1f3bef65-71e1-411/sourceControlSyncJobs/f78dd9e4-3c89-4b74-803"; + Requests[3030] = new DefaultHttpContext(); + Requests[3030].RequestServices = CreateServices(); + Requests[3030].Request.Method = "GET"; + Requests[3030].Request.Path = "/subscriptions/dc1de632-78b5-/resourceGroups/909696c1-c935-4c6/providers/Microsoft.Batch/batchAccounts/13e19c5c-a0/applications/f4acc9aa-e309/versions/eb89e1f"; + Requests[3031] = new DefaultHttpContext(); + Requests[3031].RequestServices = CreateServices(); + Requests[3031].Request.Method = "GET"; + Requests[3031].Request.Path = "/subscriptions/081f5739-02a7-/resourceGroups/c60f5003-3113-4e4/providers/Microsoft.BatchAI/workspaces/2f66e61b-9305/experiments/3c8078a6-dc3b-/jobs/2138e2f"; + Requests[3032] = new DefaultHttpContext(); + Requests[3032].RequestServices = CreateServices(); + Requests[3032].Request.Method = "DELETE"; + Requests[3032].Request.Path = "/subscriptions/83aa885b-660d-/resourceGroups/957ece21-926a-454/providers/Microsoft.Cdn/profiles/06a45908-ee/endpoints/83e2e101-f80/customDomains/9f3c3dde-82be-44"; + Requests[3033] = new DefaultHttpContext(); + Requests[3033].RequestServices = CreateServices(); + Requests[3033].Request.Method = "PATCH"; + Requests[3033].Request.Path = "/subscriptions/f1860a01-341d-/resourceGroups/3cd42b73-0e0c-460/providers/Microsoft.Cdn/profiles/0c35c594-34/endpoints/8c9ffbda-48e/origins/0d1ed660-3"; + Requests[3034] = new DefaultHttpContext(); + Requests[3034].RequestServices = CreateServices(); + Requests[3034].Request.Method = "DELETE"; + Requests[3034].Request.Path = "/subscriptions/a7f82e38-6285-/resourceGroups/bf6873df-5fff-40f/providers/Microsoft.Compute/galleries/5b361303-9c/images/e5e17571-0fdf-4b/versions/2858ec2f-418c-48f3-a1e3"; + Requests[3035] = new DefaultHttpContext(); + Requests[3035].RequestServices = CreateServices(); + Requests[3035].Request.Method = "GET"; + Requests[3035].Request.Path = "/subscriptions/56e039b1-9507-/resourceGroups/f68e5341-8901-4e6/providers/microsoft.Compute/virtualMachineScaleSets/5b3f2061-0d2c-4af4-b370-ac/virtualMachines/e7ccce82-a150-483f-/networkInterfaces/379df0c4-1fdd-459e-b"; + Requests[3036] = new DefaultHttpContext(); + Requests[3036].RequestServices = CreateServices(); + Requests[3036].Request.Method = "PATCH"; + Requests[3036].Request.Path = "/subscriptions/ab5f23ee-0fc3-/resourceGroups/f2163727-b22d-46e/providers/Microsoft.ContainerRegistry/registries/0b02b1fb-f17/buildTasks/99bcfeef-0601/steps/01c9c586"; + Requests[3037] = new DefaultHttpContext(); + Requests[3037].RequestServices = CreateServices(); + Requests[3037].Request.Method = "DELETE"; + Requests[3037].Request.Path = "/subscriptions/fa3ef0b6-ae85-/resourceGroups/b915a307-2d21-46e/providers/Microsoft.CustomerInsights/hubs/59f263a/connectors/7a38d92f-3048/mappings/c4cfa9a5-46"; + Requests[3038] = new DefaultHttpContext(); + Requests[3038].RequestServices = CreateServices(); + Requests[3038].Request.Method = "PATCH"; + Requests[3038].Request.Path = "/subscriptions/cf7ef6ab-2321-/resourceGroups/e77ef2f7-f14d-4f2/providers/Microsoft.DataFactory/factories/461fb560-01/integrationRuntimes/0ef3230b-b11b-4263-8de/nodes/ef12db8f"; + Requests[3039] = new DefaultHttpContext(); + Requests[3039].RequestServices = CreateServices(); + Requests[3039].Request.Method = "GET"; + Requests[3039].Request.Path = "/subscriptions/be36dea2-c648-/resourceGroups/e6a50469-dae6-440/providers/Microsoft.DataLakeAnalytics/accounts/20dc790a-98/storageAccounts/00783306-b7c3-45ba/containers/9526c97f-9c62"; + Requests[3040] = new DefaultHttpContext(); + Requests[3040].RequestServices = CreateServices(); + Requests[3040].Request.Method = "DELETE"; + Requests[3040].Request.Path = "/subscriptions/250c1886-e4ed-/resourceGroups/118896cb-6029-475/providers/Microsoft.Devices/IotHubs/933e5a34-022/eventHubEndpoints/5710edb4-7b74-414b-8/ConsumerGroups/cbeb6"; + Requests[3041] = new DefaultHttpContext(); + Requests[3041].RequestServices = CreateServices(); + Requests[3041].Request.Method = "GET"; + Requests[3041].Request.Path = "/subscriptions/b11583b5-7e07-/resourceGroups/23b53f39-e57b-4d5/providers/Microsoft.DevTestLab/labs/92b2f1b/artifactsources/536f6676-81b4-47d5/armtemplates/ac76d"; + Requests[3042] = new DefaultHttpContext(); + Requests[3042].RequestServices = CreateServices(); + Requests[3042].Request.Method = "GET"; + Requests[3042].Request.Path = "/subscriptions/389754a9-124f-/resourceGroups/bed957f2-6561-4a4/providers/Microsoft.DevTestLab/labs/8b1bef4/artifactsources/162048bc-86c8-4f70/artifacts/02141"; + Requests[3043] = new DefaultHttpContext(); + Requests[3043].RequestServices = CreateServices(); + Requests[3043].Request.Method = "PATCH"; + Requests[3043].Request.Path = "/subscriptions/f2043874-87da-/resourceGroups/24726e92-faa0-4a6/providers/Microsoft.DevTestLab/labs/c0db5c3/policysets/1a1d1c97-d1d6/policies/097d3"; + Requests[3044] = new DefaultHttpContext(); + Requests[3044].RequestServices = CreateServices(); + Requests[3044].Request.Method = "DELETE"; + Requests[3044].Request.Path = "/subscriptions/ac593fa0-9588-/resourceGroups/170de0d9-d3fa-41f/providers/Microsoft.DevTestLab/labs/048dce7/users/309270f2/disks/6cf68"; + Requests[3045] = new DefaultHttpContext(); + Requests[3045].RequestServices = CreateServices(); + Requests[3045].Request.Method = "DELETE"; + Requests[3045].Request.Path = "/subscriptions/bf95f472-1d9f-/resourceGroups/96b277cf-6a9a-4cf/providers/Microsoft.DevTestLab/labs/2f9b9cd/users/c3a3c555/environments/e079c"; + Requests[3046] = new DefaultHttpContext(); + Requests[3046].RequestServices = CreateServices(); + Requests[3046].Request.Method = "DELETE"; + Requests[3046].Request.Path = "/subscriptions/7a59b7ab-bc3b-/resourceGroups/6400374d-d687-425/providers/Microsoft.DevTestLab/labs/55b7231/users/70d0db08/secrets/14391"; + Requests[3047] = new DefaultHttpContext(); + Requests[3047].RequestServices = CreateServices(); + Requests[3047].Request.Method = "PATCH"; + Requests[3047].Request.Path = "/subscriptions/28f0a978-b18f-/resourceGroups/50ea527c-7d21-429/providers/Microsoft.DevTestLab/labs/c8b9980/virtualmachines/44be3fe4-deb6-4ddf/schedules/4b99d"; + Requests[3048] = new DefaultHttpContext(); + Requests[3048].RequestServices = CreateServices(); + Requests[3048].Request.Method = "GET"; + Requests[3048].Request.Path = "/subscriptions/99fca47e-9bee-/resourceGroups/922e7d9e-ffd6-48a/providers/Microsoft.EventHub/namespaces/ff09d4d8-d20b/disasterRecoveryConfigs/ce3b0/AuthorizationRules/28250148-488d-432a-90"; + Requests[3049] = new DefaultHttpContext(); + Requests[3049].RequestServices = CreateServices(); + Requests[3049].Request.Method = "DELETE"; + Requests[3049].Request.Path = "/subscriptions/7466ad2c-5427-/resourceGroups/f909a281-0118-4c5/providers/Microsoft.EventHub/namespaces/15732393-b801/eventhubs/5f0e6525-70b/authorizationRules/e10b043a-4c8d-4cb9-89"; + Requests[3050] = new DefaultHttpContext(); + Requests[3050].RequestServices = CreateServices(); + Requests[3050].Request.Method = "GET"; + Requests[3050].Request.Path = "/subscriptions/728aa120-2928-/resourceGroups/18a0a904-85cf-4e4/providers/Microsoft.EventHub/namespaces/7c33b3fd-a1b5/eventhubs/f03de963-e80/consumergroups/4c7d6df3-76bb-4a5"; + Requests[3051] = new DefaultHttpContext(); + Requests[3051].RequestServices = CreateServices(); + Requests[3051].Request.Method = "GET"; + Requests[3051].Request.Path = "/subscriptions/98e662dd-7d2f-/resourceGroups/bfc63957-752b-486/providers/Microsoft.Fabric.Admin/fabricLocations/c1da3115/logicalNetworks/d55693de-bc99-/logicalSubnets/ee8a58a1-8e58"; + Requests[3052] = new DefaultHttpContext(); + Requests[3052].RequestServices = CreateServices(); + Requests[3052].Request.Method = "GET"; + Requests[3052].Request.Path = "/subscriptions/d9396dc9-d3ff-/resourceGroups/9d26af45-64a6-4c0/providers/Microsoft.Fabric.Admin/fabricLocations/63752883/storageSubSystems/514e0bd9-4087-42/storagePools/0f0abc53-fa"; + Requests[3053] = new DefaultHttpContext(); + Requests[3053].RequestServices = CreateServices(); + Requests[3053].Request.Method = "GET"; + Requests[3053].Request.Path = "/subscriptions/d38d1742-c5dd-/resourceGroups/c942d42e-761b-44c/providers/Microsoft.InfrastructureInsights.Admin/regionHealths/d0b2ec09/serviceHealths/c5d6e154-2555-4d80-a1/resourceHealths/6032c69d-c262-444d-b69"; + Requests[3054] = new DefaultHttpContext(); + Requests[3054].RequestServices = CreateServices(); + Requests[3054].Request.Method = "GET"; + Requests[3054].Request.Path = "/subscriptions/d7c169b0-220d-/resourceGroups/3aa1fe66-5299-47b/providers/Microsoft.Logic/workflows/45c1e234-f4c/runs/5f0f15f/actions/95e6ab47-e"; + Requests[3055] = new DefaultHttpContext(); + Requests[3055].RequestServices = CreateServices(); + Requests[3055].Request.Method = "GET"; + Requests[3055].Request.Path = "/subscriptions/9d9ce14f-e03b-/resourceGroups/9be1c153-764a-42f/providers/Microsoft.Logic/workflows/85b06849-d83/runs/7022880/operations/01db8652-3c"; + Requests[3056] = new DefaultHttpContext(); + Requests[3056].RequestServices = CreateServices(); + Requests[3056].Request.Method = "GET"; + Requests[3056].Request.Path = "/subscriptions/b2000e21-aecd-/resourceGroups/e02e6f5e-5ec2-406/providers/Microsoft.Logic/workflows/7a151111-612/triggers/40939c33-2f/histories/36d58d3f-a2"; + Requests[3057] = new DefaultHttpContext(); + Requests[3057].RequestServices = CreateServices(); + Requests[3057].Request.Method = "PATCH"; + Requests[3057].Request.Path = "/subscriptions/3e2eb183-bbfb-/resourceGroups/93063827-9fec-47f/providers/Microsoft.MachineLearningExperimentation/accounts/fe69ddd8-36/workspaces/670a349e-dbd1/projects/02fd65fd-11"; + Requests[3058] = new DefaultHttpContext(); + Requests[3058].RequestServices = CreateServices(); + Requests[3058].Request.Method = "DELETE"; + Requests[3058].Request.Path = "/subscriptions/a8d97f29-7fe9-/resourceGroups/feacff41-68c2-454/providers/Microsoft.Media/mediaservices/95991c71-04/liveEvents/352b3007-e9d1/liveOutputs/0fc939d2-a52a-"; + Requests[3059] = new DefaultHttpContext(); + Requests[3059].RequestServices = CreateServices(); + Requests[3059].Request.Method = "DELETE"; + Requests[3059].Request.Path = "/subscriptions/473892a2-768f-/resourceGroups/6b281ade-029c-428/providers/Microsoft.Media/mediaServices/60d0bc04-2d/transforms/a9500539-c9cd/jobs/1cddd2f"; + Requests[3060] = new DefaultHttpContext(); + Requests[3060].RequestServices = CreateServices(); + Requests[3060].Request.Method = "DELETE"; + Requests[3060].Request.Path = "/subscriptions/9dadcf11-b18a-/resourceGroups/86da777c-a099-461/providers/Microsoft.Migrate/projects/66235d39-98/groups/640fa603-/assessments/4eabf6bb-7865-"; + Requests[3061] = new DefaultHttpContext(); + Requests[3061].RequestServices = CreateServices(); + Requests[3061].Request.Method = "POST"; + Requests[3061].Request.Path = "/subscriptions/a2798c9a-4db9-/resourceGroups/ddd0d53a-3f02-4e6/providers/Microsoft.Network/expressRouteCircuits/a73ec04b-48/peerings/1df1cf0a-de/arpTables/1b27a665-8"; + Requests[3062] = new DefaultHttpContext(); + Requests[3062].RequestServices = CreateServices(); + Requests[3062].Request.Method = "PUT"; + Requests[3062].Request.Path = "/subscriptions/c327fb37-5088-/resourceGroups/1c425013-2700-422/providers/Microsoft.Network/expressRouteCircuits/6c5b593d-44/peerings/732e5484-d6/connections/ff037404-3128-"; + Requests[3063] = new DefaultHttpContext(); + Requests[3063].RequestServices = CreateServices(); + Requests[3063].Request.Method = "POST"; + Requests[3063].Request.Path = "/subscriptions/4d404997-1985-/resourceGroups/c94cd2bb-e123-4f6/providers/Microsoft.Network/expressRouteCircuits/7173e9e5-43/peerings/b7d073e7-09/routeTables/21c5b0f7-f"; + Requests[3064] = new DefaultHttpContext(); + Requests[3064].RequestServices = CreateServices(); + Requests[3064].Request.Method = "POST"; + Requests[3064].Request.Path = "/subscriptions/ce92d675-96dd-/resourceGroups/73fca6ec-8428-4e7/providers/Microsoft.Network/expressRouteCircuits/313b112d-a5/peerings/8c126420-dd/routeTablesSummary/d8bda50b-8"; + Requests[3065] = new DefaultHttpContext(); + Requests[3065].RequestServices = CreateServices(); + Requests[3065].Request.Method = "POST"; + Requests[3065].Request.Path = "/subscriptions/a5f3b098-bf76-/resourceGroups/4cf47e48-20b2-4d8/providers/Microsoft.Network/expressRouteCrossConnections/7a862778-b593-43ff-/peerings/14636cb7-92/arpTables/2a581fd6-1"; + Requests[3066] = new DefaultHttpContext(); + Requests[3066].RequestServices = CreateServices(); + Requests[3066].Request.Method = "POST"; + Requests[3066].Request.Path = "/subscriptions/e79045b7-f8f4-/resourceGroups/6c072bf5-9b6d-42d/providers/Microsoft.Network/expressRouteCrossConnections/7b0bca1c-01c9-4ad9-/peerings/15d1aefa-5f/routeTables/edbb6351-3"; + Requests[3067] = new DefaultHttpContext(); + Requests[3067].RequestServices = CreateServices(); + Requests[3067].Request.Method = "POST"; + Requests[3067].Request.Path = "/subscriptions/4c151b17-32d1-/resourceGroups/66f565a3-846d-474/providers/Microsoft.Network/expressRouteCrossConnections/139d7e3e-af68-4b31-/peerings/51857c65-03/routeTablesSummary/7920b8dd-2"; + Requests[3068] = new DefaultHttpContext(); + Requests[3068].RequestServices = CreateServices(); + Requests[3068].Request.Method = "GET"; + Requests[3068].Request.Path = "/subscriptions/c6502712-805a-/resourceGroups/96750e90-1fd7-499/providers/Microsoft.NotificationHubs/namespaces/ec970cbb-aed8/notificationHubs/b7435461-e84a-41dc-/AuthorizationRules/ab3a2969-8357-4e2a-b2"; + Requests[3069] = new DefaultHttpContext(); + Requests[3069].RequestServices = CreateServices(); + Requests[3069].Request.Method = "GET"; + Requests[3069].Request.Path = "/Subscriptions/f286c26e-6dbb-/resourceGroups/52d3b044-5c25-470/providers/Microsoft.RecoveryServices/vaults/47a7b10c-05e/replicationFabrics/ed8a961b-7/replicationLogicalNetworks/5a57a09b-4281-4c35"; + Requests[3070] = new DefaultHttpContext(); + Requests[3070].RequestServices = CreateServices(); + Requests[3070].Request.Method = "GET"; + Requests[3070].Request.Path = "/Subscriptions/1a952906-2347-/resourceGroups/825922e3-4ec1-45b/providers/Microsoft.RecoveryServices/vaults/774ac781-7fc/replicationFabrics/d365d3a9-3/replicationNetworks/eda5bb72-d8"; + Requests[3071] = new DefaultHttpContext(); + Requests[3071].RequestServices = CreateServices(); + Requests[3071].Request.Method = "PUT"; + Requests[3071].Request.Path = "/Subscriptions/81410221-5227-/resourceGroups/45b79b0a-4aee-4bc/providers/Microsoft.RecoveryServices/vaults/29315998-252/replicationFabrics/4397a3dc-8/replicationProtectionContainers/9433c8e1-3522-40ca-b126"; + Requests[3072] = new DefaultHttpContext(); + Requests[3072].RequestServices = CreateServices(); + Requests[3072].Request.Method = "DELETE"; + Requests[3072].Request.Path = "/Subscriptions/abd2bbf8-92c9-/resourceGroups/b79d1c6f-eb36-4b3/providers/Microsoft.RecoveryServices/vaults/50de7d8c-bc2/replicationFabrics/b0d8f517-b/replicationRecoveryServicesProviders/44e11da5-108"; + Requests[3073] = new DefaultHttpContext(); + Requests[3073].RequestServices = CreateServices(); + Requests[3073].Request.Method = "GET"; + Requests[3073].Request.Path = "/Subscriptions/3b5d310d-4a8b-/resourceGroups/1fb438d5-77f4-44a/providers/Microsoft.RecoveryServices/vaults/09cc97f2-f04/replicationFabrics/383de25a-c/replicationStorageClassifications/5eddfba8-eced-4888-97ab-6"; + Requests[3074] = new DefaultHttpContext(); + Requests[3074].RequestServices = CreateServices(); + Requests[3074].Request.Method = "PATCH"; + Requests[3074].Request.Path = "/Subscriptions/8db13153-23a6-/resourceGroups/5a3a3319-c97f-41f/providers/Microsoft.RecoveryServices/vaults/f8b1d121-938/replicationFabrics/78fbc14a-c/replicationvCenters/ce0a550a-8c"; + Requests[3075] = new DefaultHttpContext(); + Requests[3075].RequestServices = CreateServices(); + Requests[3075].Request.Method = "PUT"; + Requests[3075].Request.Path = "/Subscriptions/ed5be468-fb25-/resourceGroups/b22557c0-58b4-4c7/providers/Microsoft.RecoveryServices/vaults/4a6bc0b8-/backupFabrics/ef20928a-d/backupProtectionIntent/5171cd2e-403b-42"; + Requests[3076] = new DefaultHttpContext(); + Requests[3076].RequestServices = CreateServices(); + Requests[3076].Request.Method = "GET"; + Requests[3076].Request.Path = "/Subscriptions/3028a99a-70ba-/resourceGroups/b5ffe13e-1b91-4e8/providers/Microsoft.RecoveryServices/vaults/92c3c21a-/backupFabrics/7aa38d0b-7/operationResults/dce1a78a-39"; + Requests[3077] = new DefaultHttpContext(); + Requests[3077].RequestServices = CreateServices(); + Requests[3077].Request.Method = "DELETE"; + Requests[3077].Request.Path = "/Subscriptions/951fc907-4824-/resourceGroups/ff73011b-4ab9-474/providers/Microsoft.RecoveryServices/vaults/c1c877ac-/backupFabrics/f308c224-a/protectionContainers/eb42755f-0bf1"; + Requests[3078] = new DefaultHttpContext(); + Requests[3078].RequestServices = CreateServices(); + Requests[3078].Request.Method = "GET"; + Requests[3078].Request.Path = "/Subscriptions/cfe72f80-c416-/resourceGroups/011f50eb-a64f-41c/providers/Microsoft.RecoveryServices/vaults/3495678f-/backupJobs/4ecd355/operationResults/efbe33d5-48"; + Requests[3079] = new DefaultHttpContext(); + Requests[3079].RequestServices = CreateServices(); + Requests[3079].Request.Method = "GET"; + Requests[3079].Request.Path = "/Subscriptions/41db3f3d-1afd-/resourceGroups/2cd17238-6cdf-403/providers/Microsoft.RecoveryServices/vaults/586d3330-/backupPolicies/1d753651-5/operationResults/12023253-f1"; + Requests[3080] = new DefaultHttpContext(); + Requests[3080].RequestServices = CreateServices(); + Requests[3080].Request.Method = "GET"; + Requests[3080].Request.Path = "/Subscriptions/2d0e51ca-ade4-/resourceGroups/8f277965-3534-41f/providers/Microsoft.RecoveryServices/vaults/76caa76e-/backupPolicies/1f1f58e4-5/operations/745ffb35-13"; + Requests[3081] = new DefaultHttpContext(); + Requests[3081].RequestServices = CreateServices(); + Requests[3081].Request.Method = "GET"; + Requests[3081].Request.Path = "/subscriptions/d26bfb6d-2434-/resourceGroups/b24e13f4-031a-479/providers/Microsoft.Relay/namespaces/4d859141-5b1b/hybridConnections/e69e246d-a383-4a95-b/authorizationRules/4a806c82-2f7d-486a-ab"; + Requests[3082] = new DefaultHttpContext(); + Requests[3082].RequestServices = CreateServices(); + Requests[3082].Request.Method = "GET"; + Requests[3082].Request.Path = "/subscriptions/6c7a80d5-68a0-/resourceGroups/a4b4ec8f-f0ae-4b6/providers/Microsoft.Relay/namespaces/6097ae8c-e0e9/wcfRelays/a2cd7ad4-/authorizationRules/f3ab7606-f23e-4135-a6"; + Requests[3083] = new DefaultHttpContext(); + Requests[3083].RequestServices = CreateServices(); + Requests[3083].Request.Method = "GET"; + Requests[3083].Request.Path = "/subscriptions/71bf8ab2-2205-/resourceGroups/f1b450c0-699e-480/providers/Microsoft.ServiceBus/namespaces/d862cee4-097c/disasterRecoveryConfigs/0938e/AuthorizationRules/64b14c7d-b2d2-4d32-97"; + Requests[3084] = new DefaultHttpContext(); + Requests[3084].RequestServices = CreateServices(); + Requests[3084].Request.Method = "GET"; + Requests[3084].Request.Path = "/subscriptions/7608ebb5-3db4-/resourceGroups/7662e07c-9171-4fa/providers/Microsoft.ServiceBus/namespaces/0f13fb6c-f881/eventhubs/311550ec-ea6/authorizationRules/76dae799-8bcc-41ee-b4"; + Requests[3085] = new DefaultHttpContext(); + Requests[3085].RequestServices = CreateServices(); + Requests[3085].Request.Method = "GET"; + Requests[3085].Request.Path = "/subscriptions/3d2bcde4-31ad-/resourceGroups/5226a3a7-67ab-4c0/providers/Microsoft.ServiceBus/namespaces/e9d150f3-d1ce/queues/3793898d-/authorizationRules/0e7ffb8e-a230-4727-8c"; + Requests[3086] = new DefaultHttpContext(); + Requests[3086].RequestServices = CreateServices(); + Requests[3086].Request.Method = "DELETE"; + Requests[3086].Request.Path = "/subscriptions/255a00c4-3b16-/resourceGroups/b158be90-c45b-416/providers/Microsoft.ServiceBus/namespaces/dfb4be56-21fd/topics/f6999671-/authorizationRules/b85ff215-0abf-42b3-bd"; + Requests[3087] = new DefaultHttpContext(); + Requests[3087].RequestServices = CreateServices(); + Requests[3087].Request.Method = "GET"; + Requests[3087].Request.Path = "/subscriptions/da8e28b2-6a54-/resourceGroups/f0f9151a-409f-4be/providers/Microsoft.ServiceBus/namespaces/2d0501ce-e8ff/topics/0c5c4b2a-/subscriptions/09556b3c-2371-4f"; + Requests[3088] = new DefaultHttpContext(); + Requests[3088].RequestServices = CreateServices(); + Requests[3088].Request.Method = "DELETE"; + Requests[3088].Request.Path = "/subscriptions/d8f72a79-6437-/resourceGroups/456b0de2-6442-419/providers/Microsoft.ServiceFabric/clusters/4209bdd3-ec/applications/2b2681f7-e71c-4/services/456d590b-76"; + Requests[3089] = new DefaultHttpContext(); + Requests[3089].RequestServices = CreateServices(); + Requests[3089].Request.Method = "DELETE"; + Requests[3089].Request.Path = "/subscriptions/2834f500-cca8-/resourceGroups/06818806-f832-4ee/providers/Microsoft.ServiceFabric/clusters/bdc5bd82-f3/applicationTypes/c563ffc8-cd2a-4cbf-/versions/6942a6c"; + Requests[3090] = new DefaultHttpContext(); + Requests[3090].RequestServices = CreateServices(); + Requests[3090].Request.Method = "PUT"; + Requests[3090].Request.Path = "/subscriptions/5f1cf18a-9f41-/resourceGroups/939749aa-6a11-4a1/providers/Microsoft.Sql/servers/ef7a21c9-7/databases/4605839c-df0/advisors/adee97cc-b9"; + Requests[3091] = new DefaultHttpContext(); + Requests[3091].RequestServices = CreateServices(); + Requests[3091].Request.Method = "PUT"; + Requests[3091].Request.Path = "/subscriptions/bc0df08f-7bb5-/resourceGroups/f4c30d0d-b433-49f/providers/Microsoft.Sql/servers/8c051e14-9/databases/aae15fdb-9d5/auditingPolicies/bacbf767-03cc-4cce-b524"; + Requests[3092] = new DefaultHttpContext(); + Requests[3092].RequestServices = CreateServices(); + Requests[3092].Request.Method = "PUT"; + Requests[3092].Request.Path = "/subscriptions/5acd414f-5bd6-/resourceGroups/f13e1f8c-682a-4f5/providers/Microsoft.Sql/servers/b94b36d1-d/databases/9a8e82b6-2ad/auditingSettings/c279611f-37c9-4de0-8f5"; + Requests[3093] = new DefaultHttpContext(); + Requests[3093].RequestServices = CreateServices(); + Requests[3093].Request.Method = "PUT"; + Requests[3093].Request.Path = "/subscriptions/cdbf61b8-defc-/resourceGroups/d0dbd2a3-46e3-43b/providers/Microsoft.Sql/servers/df64333b-f/databases/d875057e-c92/backupLongTermRetentionPolicies/fe18e93e-ad59-40a3-ba69-e5bd4583d"; + Requests[3094] = new DefaultHttpContext(); + Requests[3094].RequestServices = CreateServices(); + Requests[3094].Request.Method = "PATCH"; + Requests[3094].Request.Path = "/subscriptions/7f6ffe43-7239-/resourceGroups/a148ba10-4d20-42c/providers/Microsoft.Sql/servers/71899b7c-7/databases/56bb4951-d70/backupShortTermRetentionPolicies/952fa9d7-0"; + Requests[3095] = new DefaultHttpContext(); + Requests[3095].RequestServices = CreateServices(); + Requests[3095].Request.Method = "PUT"; + Requests[3095].Request.Path = "/subscriptions/0ad4fd3a-1568-/resourceGroups/7c09f213-7d0a-4c3/providers/Microsoft.Sql/servers/a108983c-d/databases/d9758df8-eec/connectionPolicies/2438e265-3459-493c-b"; + Requests[3096] = new DefaultHttpContext(); + Requests[3096].RequestServices = CreateServices(); + Requests[3096].Request.Method = "GET"; + Requests[3096].Request.Path = "/subscriptions/aeeebf56-8162-/resourceGroups/2a681613-9b6c-4f4/providers/Microsoft.Sql/servers/5dfa7eeb-d/databases/7f98df54-707/dataMaskingPolicies/01e5cacd-9d72-4055-89"; + Requests[3097] = new DefaultHttpContext(); + Requests[3097].RequestServices = CreateServices(); + Requests[3097].Request.Method = "GET"; + Requests[3097].Request.Path = "/subscriptions/6b8adff9-80f9-/resourceGroups/aae3c159-fe1b-4db/providers/Microsoft.Sql/servers/114108ad-0/databases/e6590dc2-8ae/dataWarehouseUserActivities/65804174-1d17-4501-bc4c-a3539"; + Requests[3098] = new DefaultHttpContext(); + Requests[3098].RequestServices = CreateServices(); + Requests[3098].Request.Method = "PUT"; + Requests[3098].Request.Path = "/subscriptions/c4a4d781-1829-/resourceGroups/86ffb389-1ba1-493/providers/Microsoft.Sql/servers/993a3389-e/databases/4ebc2e2f-e1e/extensions/a0c7b430-6c37"; + Requests[3099] = new DefaultHttpContext(); + Requests[3099].RequestServices = CreateServices(); + Requests[3099].Request.Method = "GET"; + Requests[3099].Request.Path = "/subscriptions/ef88b83e-6fa9-/resourceGroups/b582fc24-ea88-460/providers/Microsoft.Sql/servers/6d237372-c/databases/d4e97db6-f4a/geoBackupPolicies/bba607cb-70fd-408a-"; + Requests[3100] = new DefaultHttpContext(); + Requests[3100].RequestServices = CreateServices(); + Requests[3100].Request.Method = "GET"; + Requests[3100].Request.Path = "/subscriptions/469c6229-1e64-/resourceGroups/2f98a35d-d4b0-4b6/providers/Microsoft.Sql/servers/583797dc-8/databases/093f5475-02d/replicationLinks/fd1e4f"; + Requests[3101] = new DefaultHttpContext(); + Requests[3101].RequestServices = CreateServices(); + Requests[3101].Request.Method = "DELETE"; + Requests[3101].Request.Path = "/subscriptions/cb003028-1904-/resourceGroups/d940b84b-c387-4b7/providers/Microsoft.Sql/servers/5bad277b-8/databases/77697309-0f2/restorePoints/fd100c19-d9f2-49"; + Requests[3102] = new DefaultHttpContext(); + Requests[3102].RequestServices = CreateServices(); + Requests[3102].Request.Method = "PUT"; + Requests[3102].Request.Path = "/subscriptions/11f481fc-1b7d-/resourceGroups/8ad5cfbf-101e-47a/providers/Microsoft.Sql/servers/dd8cf9dd-7/databases/73c2a023-1a2/securityAlertPolicies/3da3fdae-01be-4152-b682"; + Requests[3103] = new DefaultHttpContext(); + Requests[3103].RequestServices = CreateServices(); + Requests[3103].Request.Method = "GET"; + Requests[3103].Request.Path = "/subscriptions/dc803419-c56f-/resourceGroups/816ec242-ed2f-489/providers/Microsoft.Sql/servers/5ab6352d-2/databases/648886fa-255/serviceTierAdvisors/3f377bac-4303-4389-a6c"; + Requests[3104] = new DefaultHttpContext(); + Requests[3104].RequestServices = CreateServices(); + Requests[3104].Request.Method = "PATCH"; + Requests[3104].Request.Path = "/subscriptions/d81c38a7-4713-/resourceGroups/6b4e3458-f944-4f1/providers/Microsoft.Sql/servers/c792f710-8/databases/a6b6f30d-a90/syncGroups/53353b3b-12e4"; + Requests[3105] = new DefaultHttpContext(); + Requests[3105].RequestServices = CreateServices(); + Requests[3105].Request.Method = "GET"; + Requests[3105].Request.Path = "/subscriptions/4edbd719-6fc1-/resourceGroups/7cf3acb0-e264-429/providers/Microsoft.Sql/servers/68edce3e-5/databases/a5b6c64f-305/transparentDataEncryption/13c70152-7c95-481c-9f91-7949e"; + Requests[3106] = new DefaultHttpContext(); + Requests[3106].RequestServices = CreateServices(); + Requests[3106].Request.Method = "DELETE"; + Requests[3106].Request.Path = "/subscriptions/f4ade4b5-7a16-/resourceGroups/81a5d11f-b57b-46d/providers/Microsoft.Sql/servers/04d48bdc-d/databases/76a494e1-cdf/vulnerabilityAssessments/026ac4cc-b46d-4cda-8301-87c"; + Requests[3107] = new DefaultHttpContext(); + Requests[3107].RequestServices = CreateServices(); + Requests[3107].Request.Method = "GET"; + Requests[3107].Request.Path = "/subscriptions/a5e5cbb1-5e48-/resourceGroups/a2b770cf-89af-42b/providers/Microsoft.Sql/servers/af2923e8-a/elasticPools/12d73ff7-621c-4/databases/717341b8-18a"; + Requests[3108] = new DefaultHttpContext(); + Requests[3108].RequestServices = CreateServices(); + Requests[3108].Request.Method = "DELETE"; + Requests[3108].Request.Path = "/subscriptions/ccce0607-8024-/resourceGroups/467ea7c1-f0db-4ad/providers/Microsoft.Sql/servers/85144eb0-2/jobAgents/29c7bc2d-a3a/credentials/e82da0ee-d3d6-"; + Requests[3109] = new DefaultHttpContext(); + Requests[3109].RequestServices = CreateServices(); + Requests[3109].Request.Method = "DELETE"; + Requests[3109].Request.Path = "/subscriptions/f276db31-6a0f-/resourceGroups/04cb3140-e58b-438/providers/Microsoft.Sql/servers/22623f05-a/jobAgents/464e18c1-6eb/jobs/aa50990"; + Requests[3110] = new DefaultHttpContext(); + Requests[3110].RequestServices = CreateServices(); + Requests[3110].Request.Method = "DELETE"; + Requests[3110].Request.Path = "/subscriptions/fb93039b-ab64-/resourceGroups/d50e2335-f9f1-4f6/providers/Microsoft.Sql/servers/21dbf2c7-e/jobAgents/884f639e-6eb/targetGroups/1084ea5d-8ce7-4"; + Requests[3111] = new DefaultHttpContext(); + Requests[3111].RequestServices = CreateServices(); + Requests[3111].Request.Method = "GET"; + Requests[3111].Request.Path = "/subscriptions/85a0eda7-091d-/resourceGroups/86b9fd14-5bb1-48b/providers/Microsoft.Sql/servers/d9c1ce4e-4/recommendedElasticPools/da1feaf4-3ae9-4cf9-b35f-32/databases/09e954a0-d5f"; + Requests[3112] = new DefaultHttpContext(); + Requests[3112].RequestServices = CreateServices(); + Requests[3112].Request.Method = "DELETE"; + Requests[3112].Request.Path = "/subscriptions/7033c945-8bfc-/resourceGroups/315cc56f-409a-490/providers/Microsoft.StorSimple/managers/b767cbe8-0e/devices/b7838434-8/backupPolicies/f496a036-b9c7-4b"; + Requests[3113] = new DefaultHttpContext(); + Requests[3113].RequestServices = CreateServices(); + Requests[3113].Request.Method = "DELETE"; + Requests[3113].Request.Path = "/subscriptions/6483328f-f30e-/resourceGroups/fc47e485-d26f-423/providers/Microsoft.StorSimple/managers/42cb17a9-a9/devices/9dba68d4-a/backups/071d6e12-b"; + Requests[3114] = new DefaultHttpContext(); + Requests[3114].RequestServices = CreateServices(); + Requests[3114].Request.Method = "GET"; + Requests[3114].Request.Path = "/subscriptions/c9a6dd60-c394-/resourceGroups/4b555f27-b46d-467/providers/Microsoft.StorSimple/managers/17c17aef-c6/devices/e1feb116-2/jobs/7a63442"; + Requests[3115] = new DefaultHttpContext(); + Requests[3115].RequestServices = CreateServices(); + Requests[3115].Request.Method = "DELETE"; + Requests[3115].Request.Path = "/subscriptions/34f4cad5-dfdd-/resourceGroups/e3b188a6-b45d-4e5/providers/Microsoft.StorSimple/managers/b9231a88-26/devices/c2dd8062-2/volumeContainers/3de471f3-586d-4f4d-"; + Requests[3116] = new DefaultHttpContext(); + Requests[3116].RequestServices = CreateServices(); + Requests[3116].Request.Method = "GET"; + Requests[3116].Request.Path = "/subscriptions/f3aef894-2b1f-/resourcegroups/3b04f91e-187b-41f/providers/Microsoft.Update.Admin/updateLocations/171421eb-aaef-/updates/0df70637-5/updateRuns/bea2fa7"; + Requests[3117] = new DefaultHttpContext(); + Requests[3117].RequestServices = CreateServices(); + Requests[3117].Request.Method = "DELETE"; + Requests[3117].Request.Path = "/subscriptions/9784f090-c524-/resourceGroups/adbb8e24-75c9-4ad/providers/Microsoft.Web/serverfarms/61ec1/hybridConnectionNamespaces/e7b96ac5-4692/relays/168c9edf-"; + Requests[3118] = new DefaultHttpContext(); + Requests[3118].RequestServices = CreateServices(); + Requests[3118].Request.Method = "PUT"; + Requests[3118].Request.Path = "/subscriptions/b80a38a0-1a2a-/resourceGroups/848f7dff-2bfb-4e7/providers/Microsoft.Web/serverfarms/3db65/virtualNetworkConnections/bfb3d55c/gateways/7465ea94-79"; + Requests[3119] = new DefaultHttpContext(); + Requests[3119].RequestServices = CreateServices(); + Requests[3119].Request.Method = "PATCH"; + Requests[3119].Request.Path = "/subscriptions/bc4a158d-d04a-/resourceGroups/a3998953-cc8f-48b/providers/Microsoft.Web/serverfarms/4758f/virtualNetworkConnections/00ebd6d1/routes/73586d66-"; + Requests[3120] = new DefaultHttpContext(); + Requests[3120].RequestServices = CreateServices(); + Requests[3120].Request.Method = "PATCH"; + Requests[3120].Request.Path = "/subscriptions/e2342c3a-d76a-/resourceGroups/1e691792-a6c9-4e8/providers/Microsoft.Web/sites/cd195/hybridConnectionNamespaces/a9f06f44-840f/relays/869a1068-"; + Requests[3121] = new DefaultHttpContext(); + Requests[3121].RequestServices = CreateServices(); + Requests[3121].Request.Method = "DELETE"; + Requests[3121].Request.Path = "/subscriptions/a2dd9267-fa2b-/resourceGroups/0f290132-49d2-411/providers/Microsoft.Web/sites/9a7d0/instances/5f725c70-7/deployments/9f936"; + Requests[3122] = new DefaultHttpContext(); + Requests[3122].RequestServices = CreateServices(); + Requests[3122].Request.Method = "DELETE"; + Requests[3122].Request.Path = "/subscriptions/e8da6bb2-bda2-/resourceGroups/6f124deb-7e8f-4b7/providers/Microsoft.Web/sites/805e2/instances/5af24eeb-2/processes/91af76b3-"; + Requests[3123] = new DefaultHttpContext(); + Requests[3123].RequestServices = CreateServices(); + Requests[3123].Request.Method = "GET"; + Requests[3123].Request.Path = "/subscriptions/15bcc39a-61a8-/resourceGroups/abcdd0a4-d7dd-47b/providers/Microsoft.Web/sites/86e66/processes/66e28303-/modules/7e56c83d-92"; + Requests[3124] = new DefaultHttpContext(); + Requests[3124].RequestServices = CreateServices(); + Requests[3124].Request.Method = "GET"; + Requests[3124].Request.Path = "/subscriptions/bba8e723-ed19-/resourceGroups/b63bc281-dd8a-408/providers/Microsoft.Web/sites/99fda/processes/59117efc-/threads/20089e1a"; + Requests[3125] = new DefaultHttpContext(); + Requests[3125].RequestServices = CreateServices(); + Requests[3125].Request.Method = "DELETE"; + Requests[3125].Request.Path = "/subscriptions/c30b5f17-8349-/resourceGroups/fbd85af2-8126-444/providers/Microsoft.Web/sites/00e8c/slots/2da79/backups/d1d09669"; + Requests[3126] = new DefaultHttpContext(); + Requests[3126].RequestServices = CreateServices(); + Requests[3126].Request.Method = "DELETE"; + Requests[3126].Request.Path = "/subscriptions/f871c3fd-3530-/resourceGroups/f809a001-f8d4-427/providers/Microsoft.Web/sites/0d70b/slots/7972c/continuouswebjobs/d7447762-9"; + Requests[3127] = new DefaultHttpContext(); + Requests[3127].RequestServices = CreateServices(); + Requests[3127].Request.Method = "DELETE"; + Requests[3127].Request.Path = "/subscriptions/87d19243-18fa-/resourceGroups/20c2333f-8257-4d9/providers/Microsoft.Web/sites/6fad4/slots/9d56e/deployments/21449"; + Requests[3128] = new DefaultHttpContext(); + Requests[3128].RequestServices = CreateServices(); + Requests[3128].Request.Method = "PATCH"; + Requests[3128].Request.Path = "/subscriptions/89218eb3-49e8-/resourceGroups/cbe2768f-d75a-43b/providers/Microsoft.Web/sites/f9052/slots/aea86/domainOwnershipIdentifiers/a8b9d896-6738-44d4-abc3-a89e1"; + Requests[3129] = new DefaultHttpContext(); + Requests[3129].RequestServices = CreateServices(); + Requests[3129].Request.Method = "DELETE"; + Requests[3129].Request.Path = "/subscriptions/01ceac2e-7ebc-/resourceGroups/e54393dc-6693-4f9/providers/Microsoft.Web/sites/c2ceb/slots/7849d/functions/b0a024cb-0ed"; + Requests[3130] = new DefaultHttpContext(); + Requests[3130].RequestServices = CreateServices(); + Requests[3130].Request.Method = "DELETE"; + Requests[3130].Request.Path = "/subscriptions/f7455ff9-1447-/resourceGroups/41f2f4ad-ccd9-417/providers/Microsoft.Web/sites/9d91c/slots/ca011/hostNameBindings/88ab5253"; + Requests[3131] = new DefaultHttpContext(); + Requests[3131].RequestServices = CreateServices(); + Requests[3131].Request.Method = "PATCH"; + Requests[3131].Request.Path = "/subscriptions/4e0b3385-96ca-/resourceGroups/d5e45750-cc10-456/providers/Microsoft.Web/sites/777de/slots/c03b9/hybridconnection/d90fec27-8"; + Requests[3132] = new DefaultHttpContext(); + Requests[3132].RequestServices = CreateServices(); + Requests[3132].Request.Method = "GET"; + Requests[3132].Request.Path = "/subscriptions/418e14f3-c313-/resourceGroups/40e2a937-f77e-4b1/providers/Microsoft.Web/sites/a6c76/slots/3a4a6/networkFeatures/9ca79"; + Requests[3133] = new DefaultHttpContext(); + Requests[3133].RequestServices = CreateServices(); + Requests[3133].Request.Method = "GET"; + Requests[3133].Request.Path = "/subscriptions/08c428c3-35c1-/resourceGroups/7b1a5a65-37a9-41e/providers/Microsoft.Web/sites/8d1e7/slots/4c2af/operationresults/1b5ee8f5-18"; + Requests[3134] = new DefaultHttpContext(); + Requests[3134].RequestServices = CreateServices(); + Requests[3134].Request.Method = "DELETE"; + Requests[3134].Request.Path = "/subscriptions/a3a4755c-9484-/resourceGroups/2db6e9a1-7072-426/providers/Microsoft.Web/sites/e3357/slots/04b1d/premieraddons/3051d09d-17a1-41"; + Requests[3135] = new DefaultHttpContext(); + Requests[3135].RequestServices = CreateServices(); + Requests[3135].Request.Method = "DELETE"; + Requests[3135].Request.Path = "/subscriptions/ca7b16a4-a469-/resourceGroups/bb9ca8e8-358a-472/providers/Microsoft.Web/sites/ce806/slots/5c563/processes/cd0eb04e-"; + Requests[3136] = new DefaultHttpContext(); + Requests[3136].RequestServices = CreateServices(); + Requests[3136].Request.Method = "DELETE"; + Requests[3136].Request.Path = "/subscriptions/08453196-7941-/resourceGroups/92409a69-f783-40f/providers/Microsoft.Web/sites/f899a/slots/eaa1c/publicCertificates/469eb6d2-4f35-4d1e-bc"; + Requests[3137] = new DefaultHttpContext(); + Requests[3137].RequestServices = CreateServices(); + Requests[3137].Request.Method = "DELETE"; + Requests[3137].Request.Path = "/subscriptions/9250f60a-9208-/resourceGroups/15d2439b-9b37-411/providers/Microsoft.Web/sites/fd159/slots/d6d1f/siteextensions/f2a9e367-48d7-4"; + Requests[3138] = new DefaultHttpContext(); + Requests[3138].RequestServices = CreateServices(); + Requests[3138].Request.Method = "DELETE"; + Requests[3138].Request.Path = "/subscriptions/ea82d60f-ee75-/resourceGroups/6137e016-1df1-498/providers/Microsoft.Web/sites/c3c50/slots/5aa8c/triggeredwebjobs/e334d80f-9"; + Requests[3139] = new DefaultHttpContext(); + Requests[3139].RequestServices = CreateServices(); + Requests[3139].Request.Method = "PATCH"; + Requests[3139].Request.Path = "/subscriptions/7b750c1f-7e11-/resourceGroups/daca79cf-f1ab-48f/providers/Microsoft.Web/sites/d40dd/slots/6fad0/virtualNetworkConnections/d151a0e1"; + Requests[3140] = new DefaultHttpContext(); + Requests[3140].RequestServices = CreateServices(); + Requests[3140].Request.Method = "GET"; + Requests[3140].Request.Path = "/subscriptions/1d0a4752-ef7d-/resourceGroups/e812ddc9-6041-49b/providers/Microsoft.Web/sites/fc7d5/slots/7d968/webjobs/ee0262cb-5"; + Requests[3141] = new DefaultHttpContext(); + Requests[3141].RequestServices = CreateServices(); + Requests[3141].Request.Method = "GET"; + Requests[3141].Request.Path = "/subscriptions/8855e7fd-9d92-/resourceGroups/422c8bc4-2ba6-485/providers/Microsoft.Web/sites/2bc07/triggeredwebjobs/cca55f6f-3/history/68322"; + Requests[3142] = new DefaultHttpContext(); + Requests[3142].RequestServices = CreateServices(); + Requests[3142].Request.Method = "PATCH"; + Requests[3142].Request.Path = "/subscriptions/ccfd940d-50ac-/resourceGroups/bf7ee06f-6806-4fd/providers/Microsoft.Web/sites/5228d/virtualNetworkConnections/fe727704/gateways/d02b62f3-a1"; + Requests[3143] = new DefaultHttpContext(); + Requests[3143].RequestServices = CreateServices(); + Requests[3143].Request.Method = "GET"; + Requests[3143].Request.Path = "/subscriptions/aa922183-0398-/resourceGroups/902ba857-386c-4c1/providers/Microsoft.Web/sites/dd4dddc5/diagnostics/f0a09141-6281-422c/analyses/a55b4396-d86"; + Requests[3144] = new DefaultHttpContext(); + Requests[3144].RequestServices = CreateServices(); + Requests[3144].Request.Method = "GET"; + Requests[3144].Request.Path = "/subscriptions/c2f38c45-6673-/resourceGroups/fc84f282-d699-477/providers/Microsoft.Web/sites/84bb995f/diagnostics/0c87a0fa-a864-45b8/detectors/5026ca36-084"; + Requests[3145] = new DefaultHttpContext(); + Requests[3145].RequestServices = CreateServices(); + Requests[3145].Request.Method = "GET"; + Requests[3145].Request.Path = "/subscriptions/0641c8d3-9d84-/resourceGroups/7da5fc24-9c99-4fe/providers/Microsoft.Web/sites/b33967fe/slots/15c4c/detectors/e91e4e3b-c91"; + Requests[3146] = new DefaultHttpContext(); + Requests[3146].RequestServices = CreateServices(); + Requests[3146].Request.Method = "GET"; + Requests[3146].Request.Path = "/subscriptions/d6a5a4df-accf-/resourceGroups/0b49d97c-5c97-433/providers/Microsoft.Web/sites/0c55c383/slots/c9493/diagnostics/7279476b-7ff3-4e3f"; + Requests[3147] = new DefaultHttpContext(); + Requests[3147].RequestServices = CreateServices(); + Requests[3147].Request.Method = "POST"; + Requests[3147].Request.Path = "/subscriptions/92a7f2d8-bdf1-/resourceGroups/176874bb-/providers/Microsoft.DataMigration/services/9762b4b5-fc/projects/d62e2770-9c/tasks/2e6847f3/cancel"; + Requests[3148] = new DefaultHttpContext(); + Requests[3148].RequestServices = CreateServices(); + Requests[3148].Request.Method = "GET"; + Requests[3148].Request.Path = "/subscriptions/8229d1cf-64f8-/resourceGroups/e3de7ec6-8656-491/providers/Microsoft.ApiManagement/service/2a2bb982-a2/apis/d5f82/diagnostics/de26ae49-6c9/loggers"; + Requests[3149] = new DefaultHttpContext(); + Requests[3149].RequestServices = CreateServices(); + Requests[3149].Request.Method = "GET"; + Requests[3149].Request.Path = "/subscriptions/3941748a-6738-/resourceGroups/503479fd-cfc3-44a/providers/Microsoft.ApiManagement/service/11b0f249-0a/apis/5f393/issues/f61d8a6/attachments"; + Requests[3150] = new DefaultHttpContext(); + Requests[3150].RequestServices = CreateServices(); + Requests[3150].Request.Method = "GET"; + Requests[3150].Request.Path = "/subscriptions/41c43424-e464-/resourceGroups/66b206fc-84d5-4e2/providers/Microsoft.ApiManagement/service/5a4804ff-a4/apis/37d11/issues/ef06f4f/comments"; + Requests[3151] = new DefaultHttpContext(); + Requests[3151].RequestServices = CreateServices(); + Requests[3151].Request.Method = "GET"; + Requests[3151].Request.Path = "/subscriptions/28328fd0-99f7-/resourceGroups/c1c9dae0-a28f-459/providers/Microsoft.ApiManagement/service/0bcfa557-ba/apis/846da/operations/550e1359-d6/policies"; + Requests[3152] = new DefaultHttpContext(); + Requests[3152].RequestServices = CreateServices(); + Requests[3152].Request.Method = "DELETE"; + Requests[3152].Request.Path = "/subscriptions/cae3f346-848e-/resourceGroups/bfce666f-0e38-403/providers/Microsoft.ApiManagement/service/f2335a2f-94/apis/afe3c/operations/68eff19c-15/policy"; + Requests[3153] = new DefaultHttpContext(); + Requests[3153].RequestServices = CreateServices(); + Requests[3153].Request.Method = "GET"; + Requests[3153].Request.Path = "/subscriptions/07e72f2c-5723-/resourceGroups/30ae0e09-d19b-437/providers/Microsoft.ApiManagement/service/ea4a5a75-3c/apis/531ca/operations/0073a9a1-8f/tags"; + Requests[3154] = new DefaultHttpContext(); + Requests[3154].RequestServices = CreateServices(); + Requests[3154].Request.Method = "GET"; + Requests[3154].Request.Path = "/subscriptions/335fda13-a9d6-/resourceGroups/7b28bda1-eeb2-4e4/providers/Microsoft.Automation/automationAccounts/e6e0e88e-ef52-4c10-91/modules/89babab9-9/objectDataTypes/42a50802/fields"; + Requests[3155] = new DefaultHttpContext(); + Requests[3155].RequestServices = CreateServices(); + Requests[3155].Request.Method = "GET"; + Requests[3155].Request.Path = "/subscriptions/3fc331b3-a27d-/resourceGroups/595db88b-8075-496/providers/Microsoft.Automation/automationAccounts/8241a8db-b1f8-43c0-99/modules/860fa7a6-0/types/efe53e55/fields"; + Requests[3156] = new DefaultHttpContext(); + Requests[3156].RequestServices = CreateServices(); + Requests[3156].Request.Method = "GET"; + Requests[3156].Request.Path = "/subscriptions/967825ff-5842-/resourceGroups/0cb8754b-eecd-4b1/providers/Microsoft.Automation/automationAccounts/99ebb61e-6996-44d7-ab/nodes/35fe9e/reports/5936e4e1/content"; + Requests[3157] = new DefaultHttpContext(); + Requests[3157].RequestServices = CreateServices(); + Requests[3157].Request.Method = "GET"; + Requests[3157].Request.Path = "/subscriptions/f849a305-283a-/resourceGroups/7c265dc2-6516-485/providers/Microsoft.Automation/automationAccounts/a3b96bac-e49e-4056-81/sourceControls/0f28dd0c-cd3f-454/sourceControlSyncJobs/a809aa2f-25e2-4763-862/streams"; + Requests[3158] = new DefaultHttpContext(); + Requests[3158].RequestServices = CreateServices(); + Requests[3158].Request.Method = "POST"; + Requests[3158].Request.Path = "/subscriptions/22ece011-497c-/resourceGroups/087653a5-2736-44a/providers/Microsoft.Batch/batchAccounts/5c384523-8b/applications/0440cb54-854b/versions/794c36f/activate"; + Requests[3159] = new DefaultHttpContext(); + Requests[3159].RequestServices = CreateServices(); + Requests[3159].Request.Method = "POST"; + Requests[3159].Request.Path = "/subscriptions/d47dd402-d779-/resourceGroups/5e548636-3c9e-49e/providers/Microsoft.BatchAI/workspaces/fd52e9fe-9c47/experiments/f2df516b-a21e-/jobs/efc87bb/listOutputFiles"; + Requests[3160] = new DefaultHttpContext(); + Requests[3160].RequestServices = CreateServices(); + Requests[3160].Request.Method = "POST"; + Requests[3160].Request.Path = "/subscriptions/355ac358-d398-/resourceGroups/3ea9e2ee-c96d-405/providers/Microsoft.BatchAI/workspaces/b016c468-808f/experiments/aac86576-0871-/jobs/9475ec8/listRemoteLoginInformation"; + Requests[3161] = new DefaultHttpContext(); + Requests[3161].RequestServices = CreateServices(); + Requests[3161].Request.Method = "POST"; + Requests[3161].Request.Path = "/subscriptions/fa4c3134-525a-/resourceGroups/ca8a9656-5e45-42d/providers/Microsoft.BatchAI/workspaces/0e495358-1c93/experiments/c7740d10-636e-/jobs/025e1f2/terminate"; + Requests[3162] = new DefaultHttpContext(); + Requests[3162].RequestServices = CreateServices(); + Requests[3162].Request.Method = "POST"; + Requests[3162].Request.Path = "/subscriptions/c577352b-7b5c-/resourceGroups/af567410-da0c-4b8/providers/Microsoft.Cdn/profiles/7ec62a0d-60/endpoints/9f6c96f7-115/customDomains/a49498c3-4bbc-4b/disableCustomHttps"; + Requests[3163] = new DefaultHttpContext(); + Requests[3163].RequestServices = CreateServices(); + Requests[3163].Request.Method = "POST"; + Requests[3163].Request.Path = "/subscriptions/906a8099-e534-/resourceGroups/b85523b4-9951-405/providers/Microsoft.Cdn/profiles/01ad1b82-07/endpoints/bdee03d8-fb8/customDomains/84a2e439-856c-43/enableCustomHttps"; + Requests[3164] = new DefaultHttpContext(); + Requests[3164].RequestServices = CreateServices(); + Requests[3164].Request.Method = "GET"; + Requests[3164].Request.Path = "/subscriptions/f9319e26-1ada-/resourceGroups/10c1062d-d820-436/providers/microsoft.Compute/virtualMachineScaleSets/03c37563-f38e-42b7-9541-e7/virtualMachines/532748e4-c288-4eda-/networkInterfaces/6f36f9d2-77d9-448d-b/ipConfigurations"; + Requests[3165] = new DefaultHttpContext(); + Requests[3165].RequestServices = CreateServices(); + Requests[3165].Request.Method = "POST"; + Requests[3165].Request.Path = "/subscriptions/d4bde3d5-2e93-/resourceGroups/d84bd5b5-3eb8-4c5/providers/Microsoft.ContainerRegistry/registries/e6fd6f02-8bc/buildTasks/7c5cde69-b8e7/steps/c90c855f/listBuildArguments"; + Requests[3166] = new DefaultHttpContext(); + Requests[3166].RequestServices = CreateServices(); + Requests[3166].Request.Method = "POST"; + Requests[3166].Request.Path = "/subscriptions/13f2753a-e61d-/resourceGroups/63c2d34b-4339-461/providers/Microsoft.DataFactory/factories/95cb25a5-cd/integrationRuntimes/37651e55-46b9-49b4-b6d/nodes/b365671f/ipAddress"; + Requests[3167] = new DefaultHttpContext(); + Requests[3167].RequestServices = CreateServices(); + Requests[3167].Request.Method = "POST"; + Requests[3167].Request.Path = "/subscriptions/1cd7bcf1-ac84-/resourceGroups/6fe51b19-672d-480/providers/Microsoft.DataLakeAnalytics/accounts/0fe35a14-05/storageAccounts/45f76c91-e775-477e/containers/ec0698f9-6d8c/listSasTokens"; + Requests[3168] = new DefaultHttpContext(); + Requests[3168].RequestServices = CreateServices(); + Requests[3168].Request.Method = "POST"; + Requests[3168].Request.Path = "/subscriptions/35785bd6-3f87-/resourceGroups/80c8c5a0-fcde-4cf/providers/Microsoft.DevTestLab/labs/204ff40/artifactsources/095d83f9-4e05-48c4/artifacts/c50b7/generateArmTemplate"; + Requests[3169] = new DefaultHttpContext(); + Requests[3169].RequestServices = CreateServices(); + Requests[3169].Request.Method = "POST"; + Requests[3169].Request.Path = "/subscriptions/ff09ebe6-1f11-/resourceGroups/ca498471-e3f6-43a/providers/Microsoft.DevTestLab/labs/e2488e3/users/57cc6d01/disks/cc74f/attach"; + Requests[3170] = new DefaultHttpContext(); + Requests[3170].RequestServices = CreateServices(); + Requests[3170].Request.Method = "POST"; + Requests[3170].Request.Path = "/subscriptions/e7eb968c-e20b-/resourceGroups/f74c2f30-f9f6-4c4/providers/Microsoft.DevTestLab/labs/4c5b782/users/d36c4404/disks/293c4/detach"; + Requests[3171] = new DefaultHttpContext(); + Requests[3171].RequestServices = CreateServices(); + Requests[3171].Request.Method = "POST"; + Requests[3171].Request.Path = "/subscriptions/da67ed92-c8dd-/resourceGroups/d20843aa-2a46-4b0/providers/Microsoft.DevTestLab/labs/c9f0184/virtualmachines/e74ab966-6467-4b19/schedules/de470/execute"; + Requests[3172] = new DefaultHttpContext(); + Requests[3172].RequestServices = CreateServices(); + Requests[3172].Request.Method = "GET"; + Requests[3172].Request.Path = "/subscriptions/a7ea2862-93f1-/resourceGroups/bee49f2b-2723-45e/providers/Microsoft.DocumentDB/databaseAccounts/31cbd97d-73/databases/be69ac7c-20/collections/6c00d25c-dfd0/metricDefinitions"; + Requests[3173] = new DefaultHttpContext(); + Requests[3173].RequestServices = CreateServices(); + Requests[3173].Request.Method = "GET"; + Requests[3173].Request.Path = "/subscriptions/3b4db71f-21b3-/resourceGroups/58d5977a-819a-471/providers/Microsoft.DocumentDB/databaseAccounts/3e7f569e-cf/databases/13fd4d75-7f/collections/860a95ed-6b23/metrics"; + Requests[3174] = new DefaultHttpContext(); + Requests[3174].RequestServices = CreateServices(); + Requests[3174].Request.Method = "GET"; + Requests[3174].Request.Path = "/subscriptions/bd9cf725-8ad3-/resourceGroups/28413a14-e5eb-496/providers/Microsoft.DocumentDB/databaseAccounts/5b9b1f71-86/databases/aaa4736e-23/collections/2c82d939-2803/usages"; + Requests[3175] = new DefaultHttpContext(); + Requests[3175].RequestServices = CreateServices(); + Requests[3175].Request.Method = "POST"; + Requests[3175].Request.Path = "/subscriptions/3644f811-7563-/resourceGroups/2e2d4558-ba7b-43a/providers/Microsoft.EventHub/namespaces/59737c7a-a218/disasterRecoveryConfigs/106b1/AuthorizationRules/d557b786-9313-4332-a8/listKeys"; + Requests[3176] = new DefaultHttpContext(); + Requests[3176].RequestServices = CreateServices(); + Requests[3176].Request.Method = "POST"; + Requests[3176].Request.Path = "/subscriptions/1353cee4-06e3-/resourceGroups/eb07c9ad-eb56-43b/providers/Microsoft.EventHub/namespaces/c3359845-84cd/eventhubs/4b32eb7d-67c/authorizationRules/06ac873c-2a8e-4320-ac/ListKeys"; + Requests[3177] = new DefaultHttpContext(); + Requests[3177].RequestServices = CreateServices(); + Requests[3177].Request.Method = "POST"; + Requests[3177].Request.Path = "/subscriptions/c10a246a-7bde-/resourceGroups/05675ac4-ebaf-492/providers/Microsoft.EventHub/namespaces/1289e445-f4d2/eventhubs/e6a565b4-698/authorizationRules/44f6d5c4-df93-425c-96/regenerateKeys"; + Requests[3178] = new DefaultHttpContext(); + Requests[3178].RequestServices = CreateServices(); + Requests[3178].Request.Method = "GET"; + Requests[3178].Request.Path = "/subscriptions/c3e638bf-2791-/resourceGroups/857cc8eb-c9b6-467/providers/Microsoft.Fabric.Admin/fabricLocations/c5d88f62/storageSubSystems/3ccb4bf4-b4a8-4d/storagePools/9444164b-7f/volumes"; + Requests[3179] = new DefaultHttpContext(); + Requests[3179].RequestServices = CreateServices(); + Requests[3179].Request.Method = "POST"; + Requests[3179].Request.Path = "/subscriptions/78815346-4099-/resourceGroups/d42863aa-de9c-49c/providers/Microsoft.Logic/workflows/a0fb2ea2-802/runs/b848195/actions/14a6c4fb-5/listExpressionTraces"; + Requests[3180] = new DefaultHttpContext(); + Requests[3180].RequestServices = CreateServices(); + Requests[3180].Request.Method = "GET"; + Requests[3180].Request.Path = "/subscriptions/e09bd6c7-8628-/resourceGroups/e818357d-d0b1-4d8/providers/Microsoft.Logic/workflows/c2333816-a0e/runs/7e22adf/actions/7582f492-e/repetitions"; + Requests[3181] = new DefaultHttpContext(); + Requests[3181].RequestServices = CreateServices(); + Requests[3181].Request.Method = "GET"; + Requests[3181].Request.Path = "/subscriptions/d10b0c6b-684b-/resourceGroups/62d85864-48e2-4dd/providers/Microsoft.Logic/workflows/793fca3f-b26/runs/f130fb0/actions/8b5ac3f4-0/scopeRepetitions"; + Requests[3182] = new DefaultHttpContext(); + Requests[3182].RequestServices = CreateServices(); + Requests[3182].Request.Method = "POST"; + Requests[3182].Request.Path = "/subscriptions/58dc5812-db37-/resourceGroups/40a647f4-d333-40b/providers/Microsoft.Logic/workflows/bffc222b-af9/triggers/d1e98d76-00/histories/b78a4b1a-5d/resubmit"; + Requests[3183] = new DefaultHttpContext(); + Requests[3183].RequestServices = CreateServices(); + Requests[3183].Request.Method = "POST"; + Requests[3183].Request.Path = "/subscriptions/88f45a90-4a8c-/resourceGroups/56323c6d-b2e3-49a/providers/Microsoft.Logic/workflows/1854ae76-cd4/versions/3a4171f3-/triggers/958534f7-fe/listCallbackUrl"; + Requests[3184] = new DefaultHttpContext(); + Requests[3184].RequestServices = CreateServices(); + Requests[3184].Request.Method = "POST"; + Requests[3184].Request.Path = "/subscriptions/6d93b3ad-1203-/resourceGroups/4e1467c5-54fd-485/providers/Microsoft.Media/mediaServices/ce5b02bf-4d/transforms/0c577d7c-9383/jobs/3d805cf/cancelJob"; + Requests[3185] = new DefaultHttpContext(); + Requests[3185].RequestServices = CreateServices(); + Requests[3185].Request.Method = "GET"; + Requests[3185].Request.Path = "/subscriptions/bd3cc624-b33a-/resourceGroups/93688598-aefc-44f/providers/Microsoft.Migrate/projects/fe145cd0-5d/groups/eedd371b-/assessments/d12e63e3-b755-/assessedMachines"; + Requests[3186] = new DefaultHttpContext(); + Requests[3186].RequestServices = CreateServices(); + Requests[3186].Request.Method = "POST"; + Requests[3186].Request.Path = "/subscriptions/9e35dcb8-2fcc-/resourceGroups/3a41c989-f5c1-40a/providers/Microsoft.Migrate/projects/3ad8a9e1-fc/groups/99c2b29a-/assessments/5bb4f3e8-da0e-/downloadUrl"; + Requests[3187] = new DefaultHttpContext(); + Requests[3187].RequestServices = CreateServices(); + Requests[3187].Request.Method = "POST"; + Requests[3187].Request.Path = "/subscriptions/7bc7a5b3-d06c-/resourceGroups/b03decfb-a00a-41f/providers/Microsoft.NotificationHubs/namespaces/08b8eab7-5602/notificationHubs/19f03389-85d0-445a-/AuthorizationRules/253f8189-2a96-466b-94/listKeys"; + Requests[3188] = new DefaultHttpContext(); + Requests[3188].RequestServices = CreateServices(); + Requests[3188].Request.Method = "POST"; + Requests[3188].Request.Path = "/subscriptions/e822b437-f1b7-/resourceGroups/575de95c-9400-407/providers/Microsoft.NotificationHubs/namespaces/c583a79a-f54d/notificationHubs/dc10c64f-21a3-40ed-/AuthorizationRules/74f534dd-2c06-4773-9a/regenerateKeys"; + Requests[3189] = new DefaultHttpContext(); + Requests[3189].RequestServices = CreateServices(); + Requests[3189].Request.Method = "GET"; + Requests[3189].Request.Path = "/Subscriptions/a2d8973c-7c1b-/resourceGroups/9a71f0e6-7b98-45c/providers/Microsoft.RecoveryServices/vaults/5de8808d-466/replicationFabrics/f154a9a5-9/replicationNetworks/68dfc8d4-05/replicationNetworkMappings"; + Requests[3190] = new DefaultHttpContext(); + Requests[3190].RequestServices = CreateServices(); + Requests[3190].Request.Method = "POST"; + Requests[3190].Request.Path = "/Subscriptions/badab4f8-1e31-/resourceGroups/7c841495-f190-404/providers/Microsoft.RecoveryServices/vaults/3c8367a8-615/replicationFabrics/f80a9871-1/replicationProtectionContainers/8c193946-40aa-472a-9d6b/discoverProtectableItem"; + Requests[3191] = new DefaultHttpContext(); + Requests[3191].RequestServices = CreateServices(); + Requests[3191].Request.Method = "POST"; + Requests[3191].Request.Path = "/Subscriptions/eaac5dc9-589a-/resourceGroups/6e064e1f-a0bf-47d/providers/Microsoft.RecoveryServices/vaults/93a7b9b1-d01/replicationFabrics/34865ca4-b/replicationProtectionContainers/29c03985-e941-4687-8916/remove"; + Requests[3192] = new DefaultHttpContext(); + Requests[3192].RequestServices = CreateServices(); + Requests[3192].Request.Method = "GET"; + Requests[3192].Request.Path = "/Subscriptions/157d11a1-7156-/resourceGroups/498e85a4-5707-4cb/providers/Microsoft.RecoveryServices/vaults/35dd3b4a-449/replicationFabrics/e6922171-5/replicationProtectionContainers/99a5def6-e2b7-49f7-8c97/replicationProtectableItems"; + Requests[3193] = new DefaultHttpContext(); + Requests[3193].RequestServices = CreateServices(); + Requests[3193].Request.Method = "GET"; + Requests[3193].Request.Path = "/Subscriptions/90d59166-8e40-/resourceGroups/ee386572-f930-413/providers/Microsoft.RecoveryServices/vaults/8fcee624-c36/replicationFabrics/8001f347-4/replicationProtectionContainers/55114eec-9133-448b-8efc/replicationProtectedItems"; + Requests[3194] = new DefaultHttpContext(); + Requests[3194].RequestServices = CreateServices(); + Requests[3194].Request.Method = "GET"; + Requests[3194].Request.Path = "/Subscriptions/6415bca8-1a38-/resourceGroups/a90ad8b8-7b4c-4ef/providers/Microsoft.RecoveryServices/vaults/454de207-052/replicationFabrics/c2af73b9-3/replicationProtectionContainers/51779d63-fa54-4106-9ae4/replicationProtectionContainerMappings"; + Requests[3195] = new DefaultHttpContext(); + Requests[3195].RequestServices = CreateServices(); + Requests[3195].Request.Method = "POST"; + Requests[3195].Request.Path = "/Subscriptions/ccf11884-05ed-/resourceGroups/bf808105-f575-460/providers/Microsoft.RecoveryServices/vaults/e09a3fe9-34a/replicationFabrics/108af255-0/replicationProtectionContainers/891feb1f-8837-4329-a734/switchprotection"; + Requests[3196] = new DefaultHttpContext(); + Requests[3196].RequestServices = CreateServices(); + Requests[3196].Request.Method = "POST"; + Requests[3196].Request.Path = "/Subscriptions/f9939ff3-ed08-/resourceGroups/7448cdef-7b35-4c4/providers/Microsoft.RecoveryServices/vaults/99e4aa34-83b/replicationFabrics/78635b81-b/replicationRecoveryServicesProviders/24e13330-827/refreshProvider"; + Requests[3197] = new DefaultHttpContext(); + Requests[3197].RequestServices = CreateServices(); + Requests[3197].Request.Method = "POST"; + Requests[3197].Request.Path = "/Subscriptions/6c0fec7f-f6f1-/resourceGroups/29d30888-8395-4dd/providers/Microsoft.RecoveryServices/vaults/049d1bd6-d59/replicationFabrics/2995f9d1-9/replicationRecoveryServicesProviders/8adb2fd8-241/remove"; + Requests[3198] = new DefaultHttpContext(); + Requests[3198].RequestServices = CreateServices(); + Requests[3198].Request.Method = "GET"; + Requests[3198].Request.Path = "/Subscriptions/3d26f02d-c38b-/resourceGroups/0b4f68c8-0077-42d/providers/Microsoft.RecoveryServices/vaults/55770fbd-2a1/replicationFabrics/f34f96b3-3/replicationStorageClassifications/249467f8-f8bc-4ead-9467-7/replicationStorageClassificationMappings"; + Requests[3199] = new DefaultHttpContext(); + Requests[3199].RequestServices = CreateServices(); + Requests[3199].Request.Method = "POST"; + Requests[3199].Request.Path = "/Subscriptions/1a24ac3a-2b55-/resourceGroups/601e3954-e091-4c8/providers/Microsoft.RecoveryServices/vaults/cbc5743a-/backupFabrics/7b10a4d7-d/protectionContainers/086308cd-a420/inquire"; + Requests[3200] = new DefaultHttpContext(); + Requests[3200].RequestServices = CreateServices(); + Requests[3200].Request.Method = "GET"; + Requests[3200].Request.Path = "/Subscriptions/65d217c9-e453-/resourceGroups/5413b300-8b09-466/providers/Microsoft.RecoveryServices/vaults/352f6ad7-/backupFabrics/250794b3-f/protectionContainers/68c8a111-a2bc/items"; + Requests[3201] = new DefaultHttpContext(); + Requests[3201].RequestServices = CreateServices(); + Requests[3201].Request.Method = "POST"; + Requests[3201].Request.Path = "/subscriptions/5f88459e-a804-/resourceGroups/1adb9fde-521a-452/providers/Microsoft.Relay/namespaces/9dc2dfb2-868d/hybridConnections/1036ccb8-02a1-42de-b/authorizationRules/53774ff3-ded3-4a20-81/listKeys"; + Requests[3202] = new DefaultHttpContext(); + Requests[3202].RequestServices = CreateServices(); + Requests[3202].Request.Method = "POST"; + Requests[3202].Request.Path = "/subscriptions/f9b66600-39de-/resourceGroups/9c5cdbd3-2ed4-4e4/providers/Microsoft.Relay/namespaces/f6bb9c7c-bf24/hybridConnections/092e7bf5-e036-4597-b/authorizationRules/83dfcca3-c5a0-4358-9b/regenerateKeys"; + Requests[3203] = new DefaultHttpContext(); + Requests[3203].RequestServices = CreateServices(); + Requests[3203].Request.Method = "POST"; + Requests[3203].Request.Path = "/subscriptions/c033e767-281f-/resourceGroups/70a5970e-525e-4c5/providers/Microsoft.Relay/namespaces/a94cc460-327e/wcfRelays/bdb972e9-/authorizationRules/1875328a-c769-4ad7-bd/listKeys"; + Requests[3204] = new DefaultHttpContext(); + Requests[3204].RequestServices = CreateServices(); + Requests[3204].Request.Method = "POST"; + Requests[3204].Request.Path = "/subscriptions/db41cc12-e9b2-/resourceGroups/42e19dd0-2b62-4b4/providers/Microsoft.Relay/namespaces/a2d4214d-07c1/wcfRelays/3a7b5a3f-/authorizationRules/b249f954-3c0e-4573-95/regenerateKeys"; + Requests[3205] = new DefaultHttpContext(); + Requests[3205].RequestServices = CreateServices(); + Requests[3205].Request.Method = "POST"; + Requests[3205].Request.Path = "/subscriptions/aaf4c64d-418c-/resourceGroups/f0d86f94-9a0e-4ca/providers/Microsoft.ServiceBus/namespaces/497e9628-76ef/disasterRecoveryConfigs/21785/AuthorizationRules/36529d6b-1300-4f03-aa/listKeys"; + Requests[3206] = new DefaultHttpContext(); + Requests[3206].RequestServices = CreateServices(); + Requests[3206].Request.Method = "POST"; + Requests[3206].Request.Path = "/subscriptions/3861bf46-5fd6-/resourceGroups/f3e73b1b-56c3-4df/providers/Microsoft.ServiceBus/namespaces/299d8e59-a2f4/queues/01d31797-/authorizationRules/be0431c8-8a4a-4786-86/ListKeys"; + Requests[3207] = new DefaultHttpContext(); + Requests[3207].RequestServices = CreateServices(); + Requests[3207].Request.Method = "POST"; + Requests[3207].Request.Path = "/subscriptions/21ec1a45-f0ec-/resourceGroups/8e09ed3e-98ee-4f2/providers/Microsoft.ServiceBus/namespaces/fe24d747-46a3/queues/837c22ed-/authorizationRules/d8805cad-f677-4851-a3/regenerateKeys"; + Requests[3208] = new DefaultHttpContext(); + Requests[3208].RequestServices = CreateServices(); + Requests[3208].Request.Method = "POST"; + Requests[3208].Request.Path = "/subscriptions/82f37d2b-0e0a-/resourceGroups/736ca858-3de4-443/providers/Microsoft.ServiceBus/namespaces/c92cdbcf-c826/topics/9e31c104-/authorizationRules/69cd4208-addd-4b23-b4/ListKeys"; + Requests[3209] = new DefaultHttpContext(); + Requests[3209].RequestServices = CreateServices(); + Requests[3209].Request.Method = "POST"; + Requests[3209].Request.Path = "/subscriptions/61736b67-5815-/resourceGroups/5933dca1-66c8-411/providers/Microsoft.ServiceBus/namespaces/3c242dde-d7af/topics/18e0f2e7-/authorizationRules/55098e8b-63a3-42e2-b5/regenerateKeys"; + Requests[3210] = new DefaultHttpContext(); + Requests[3210].RequestServices = CreateServices(); + Requests[3210].Request.Method = "GET"; + Requests[3210].Request.Path = "/subscriptions/8710ef24-ab2e-/resourceGroups/df6c49de-00c3-49d/providers/Microsoft.ServiceBus/namespaces/aab10e91-6815/topics/6ae006ac-/subscriptions/73ee1334-be2d-4c/rules"; + Requests[3211] = new DefaultHttpContext(); + Requests[3211].RequestServices = CreateServices(); + Requests[3211].Request.Method = "GET"; + Requests[3211].Request.Path = "/subscriptions/4b34abfe-7ae3-/resourceGroups/e04e30cf-5bcf-486/providers/Microsoft.Sql/servers/fe1da22b-3/databases/6ee7af6a-a02/advisors/4c9e30e9-ad/recommendedActions"; + Requests[3212] = new DefaultHttpContext(); + Requests[3212].RequestServices = CreateServices(); + Requests[3212].Request.Method = "GET"; + Requests[3212].Request.Path = "/subscriptions/e2c1a546-ce39-/resourceGroups/7e15b121-8a9b-484/providers/Microsoft.Sql/servers/ac57ee35-9/databases/5cdd4705-207/dataMaskingPolicies/bbcc0195-def3-4fbf-80/rules"; + Requests[3213] = new DefaultHttpContext(); + Requests[3213].RequestServices = CreateServices(); + Requests[3213].Request.Method = "POST"; + Requests[3213].Request.Path = "/subscriptions/3167a609-45bb-/resourceGroups/bb6f31ec-3afd-4e3/providers/Microsoft.Sql/servers/9ad65f69-8/databases/a3ca0d86-f94/operations/df73d77d-dc/cancel"; + Requests[3214] = new DefaultHttpContext(); + Requests[3214].RequestServices = CreateServices(); + Requests[3214].Request.Method = "POST"; + Requests[3214].Request.Path = "/subscriptions/7fb87148-ba02-/resourceGroups/66daf275-9602-420/providers/Microsoft.Sql/servers/7838a0f2-2/databases/4d105ff2-57b/replicationLinks/f71329/failover"; + Requests[3215] = new DefaultHttpContext(); + Requests[3215].RequestServices = CreateServices(); + Requests[3215].Request.Method = "POST"; + Requests[3215].Request.Path = "/subscriptions/a1565e34-4a6b-/resourceGroups/82245fd4-5dff-431/providers/Microsoft.Sql/servers/13649433-c/databases/eb82f8b0-787/replicationLinks/d17c83/forceFailoverAllowDataLoss"; + Requests[3216] = new DefaultHttpContext(); + Requests[3216].RequestServices = CreateServices(); + Requests[3216].Request.Method = "POST"; + Requests[3216].Request.Path = "/subscriptions/f606a548-1881-/resourceGroups/88f7f4e5-87ea-4fc/providers/Microsoft.Sql/servers/9a469627-8/databases/e68dabfe-463/syncGroups/ab2ab270-30d4/cancelSync"; + Requests[3217] = new DefaultHttpContext(); + Requests[3217].RequestServices = CreateServices(); + Requests[3217].Request.Method = "GET"; + Requests[3217].Request.Path = "/subscriptions/eb41620c-de55-/resourceGroups/66d7bb00-eefe-424/providers/Microsoft.Sql/servers/f65c2876-1/databases/ea0424ab-7dc/syncGroups/42a68f1d-d759/hubSchemas"; + Requests[3218] = new DefaultHttpContext(); + Requests[3218].RequestServices = CreateServices(); + Requests[3218].Request.Method = "GET"; + Requests[3218].Request.Path = "/subscriptions/cd615992-bfee-/resourceGroups/aabc2e10-6897-402/providers/Microsoft.Sql/servers/89e44895-2/databases/bdb9bbeb-036/syncGroups/b0f30d77-06a6/logs"; + Requests[3219] = new DefaultHttpContext(); + Requests[3219].RequestServices = CreateServices(); + Requests[3219].Request.Method = "POST"; + Requests[3219].Request.Path = "/subscriptions/5d0756bd-def9-/resourceGroups/62e3803b-9e5f-4be/providers/Microsoft.Sql/servers/a2981797-6/databases/5bae3efb-0d1/syncGroups/f35c9226-bd15/refreshHubSchema"; + Requests[3220] = new DefaultHttpContext(); + Requests[3220].RequestServices = CreateServices(); + Requests[3220].Request.Method = "GET"; + Requests[3220].Request.Path = "/subscriptions/7da97309-5bd8-/resourceGroups/96ce84e6-18f3-4da/providers/Microsoft.Sql/servers/6eae5644-f/databases/d2d814b7-154/syncGroups/4ef269d3-3a8a/syncMembers"; + Requests[3221] = new DefaultHttpContext(); + Requests[3221].RequestServices = CreateServices(); + Requests[3221].Request.Method = "POST"; + Requests[3221].Request.Path = "/subscriptions/7b1b3bf8-cbab-/resourceGroups/c6d408c1-dd5e-476/providers/Microsoft.Sql/servers/ee469617-5/databases/64de68f7-f07/syncGroups/183402c9-2ae6/triggerSync"; + Requests[3222] = new DefaultHttpContext(); + Requests[3222].RequestServices = CreateServices(); + Requests[3222].Request.Method = "GET"; + Requests[3222].Request.Path = "/subscriptions/ae5a2084-1967-/resourceGroups/e0abb65e-7f5c-4de/providers/Microsoft.Sql/servers/bdc00381-8/databases/5a30d8b7-9b3/topQueries/3a07e51/queryText"; + Requests[3223] = new DefaultHttpContext(); + Requests[3223].RequestServices = CreateServices(); + Requests[3223].Request.Method = "GET"; + Requests[3223].Request.Path = "/subscriptions/734bf2a1-15d7-/resourceGroups/7baa772a-d9d9-4ae/providers/Microsoft.Sql/servers/a8bd4519-5/databases/317d469a-8f5/topQueries/a5065ab/statistics"; + Requests[3224] = new DefaultHttpContext(); + Requests[3224].RequestServices = CreateServices(); + Requests[3224].Request.Method = "GET"; + Requests[3224].Request.Path = "/subscriptions/9c76e756-cdd6-/resourceGroups/1a1bebea-c2f7-409/providers/Microsoft.Sql/servers/a935a60f-3/databases/3010f1b2-716/transparentDataEncryption/769b6d15-acce-4be8-b39c-d1d40/operationResults"; + Requests[3225] = new DefaultHttpContext(); + Requests[3225].RequestServices = CreateServices(); + Requests[3225].Request.Method = "GET"; + Requests[3225].Request.Path = "/subscriptions/e6dc81c4-f374-/resourceGroups/c7e807b3-e183-43e/providers/Microsoft.Sql/servers/0bfa579a-6/databases/d24b7597-c0c/vulnerabilityAssessments/dfe547ce-b85a-4049-af82-234/scans"; + Requests[3226] = new DefaultHttpContext(); + Requests[3226].RequestServices = CreateServices(); + Requests[3226].Request.Method = "POST"; + Requests[3226].Request.Path = "/subscriptions/aadaf7f3-63bd-/resourceGroups/ddb12f08-4fe2-476/providers/Microsoft.Sql/servers/a9799200-9/elasticPools/78c71edd-b96c-4/operations/936b7b34-8f/cancel"; + Requests[3227] = new DefaultHttpContext(); + Requests[3227].RequestServices = CreateServices(); + Requests[3227].Request.Method = "GET"; + Requests[3227].Request.Path = "/subscriptions/52bdb3b4-3129-/resourceGroups/25b48256-4328-427/providers/Microsoft.Sql/servers/921708df-f/jobAgents/56df2c9d-d55/jobs/96404c0/executions"; + Requests[3228] = new DefaultHttpContext(); + Requests[3228].RequestServices = CreateServices(); + Requests[3228].Request.Method = "POST"; + Requests[3228].Request.Path = "/subscriptions/4e3d6451-7b94-/resourceGroups/b9a25250-5f31-432/providers/Microsoft.Sql/servers/1c91678f-0/jobAgents/5410c3fb-19a/jobs/414b1d8/start"; + Requests[3229] = new DefaultHttpContext(); + Requests[3229].RequestServices = CreateServices(); + Requests[3229].Request.Method = "GET"; + Requests[3229].Request.Path = "/subscriptions/65350674-c6a1-/resourceGroups/731ebc1a-1a43-4f9/providers/Microsoft.Sql/servers/214bf5ef-d/jobAgents/81ef5363-48f/jobs/5622c20/steps"; + Requests[3230] = new DefaultHttpContext(); + Requests[3230].RequestServices = CreateServices(); + Requests[3230].Request.Method = "GET"; + Requests[3230].Request.Path = "/subscriptions/68335768-c537-/resourceGroups/40c1d0c0-50a4-485/providers/Microsoft.Sql/servers/7425f1e0-d/jobAgents/e6eb55e6-0bf/jobs/32cb39a/versions"; + Requests[3231] = new DefaultHttpContext(); + Requests[3231].RequestServices = CreateServices(); + Requests[3231].Request.Method = "POST"; + Requests[3231].Request.Path = "/subscriptions/2d19d47f-88c2-/resourceGroups/224a8610-4a38-48c/providers/Microsoft.StorSimple/managers/682a8d5b-b2/devices/5c4b293a-6/backupPolicies/4f29a07a-e95b-43/backup"; + Requests[3232] = new DefaultHttpContext(); + Requests[3232].RequestServices = CreateServices(); + Requests[3232].Request.Method = "GET"; + Requests[3232].Request.Path = "/subscriptions/09540528-fc97-/resourceGroups/fec980c5-be89-421/providers/Microsoft.StorSimple/managers/552cd02a-c5/devices/e2717bdd-d/backupPolicies/fb32d6c2-3631-42/schedules"; + Requests[3233] = new DefaultHttpContext(); + Requests[3233].RequestServices = CreateServices(); + Requests[3233].Request.Method = "POST"; + Requests[3233].Request.Path = "/subscriptions/7aba571d-2132-/resourceGroups/8869e197-b8e0-412/providers/Microsoft.StorSimple/managers/721fa476-8f/devices/5b9d90f3-c/backups/76f131af-f/restore"; + Requests[3234] = new DefaultHttpContext(); + Requests[3234].RequestServices = CreateServices(); + Requests[3234].Request.Method = "POST"; + Requests[3234].Request.Path = "/subscriptions/f3a25184-d377-/resourceGroups/27a29243-4dff-481/providers/Microsoft.StorSimple/managers/3d792ffb-11/devices/bf25aa12-3/hardwareComponentGroups/2cff9445-8b93-4d22-9fdc-37/changeControllerPowerState"; + Requests[3235] = new DefaultHttpContext(); + Requests[3235].RequestServices = CreateServices(); + Requests[3235].Request.Method = "POST"; + Requests[3235].Request.Path = "/subscriptions/48b99687-3ca5-/resourceGroups/3212b21b-3715-45d/providers/Microsoft.StorSimple/managers/abf5aeec-3c/devices/be2dbb2a-f/jobs/16952db/cancel"; + Requests[3236] = new DefaultHttpContext(); + Requests[3236].RequestServices = CreateServices(); + Requests[3236].Request.Method = "GET"; + Requests[3236].Request.Path = "/subscriptions/78724a36-7415-/resourceGroups/471b5f9c-7fe0-4aa/providers/Microsoft.StorSimple/managers/28b8450f-c5/devices/abcef751-f/volumeContainers/57eb6a88-1d1d-4707-/metrics"; + Requests[3237] = new DefaultHttpContext(); + Requests[3237].RequestServices = CreateServices(); + Requests[3237].Request.Method = "GET"; + Requests[3237].Request.Path = "/subscriptions/e5960681-f855-/resourceGroups/85c8a4ff-8748-439/providers/Microsoft.StorSimple/managers/8eb1d73d-14/devices/7482ed86-9/volumeContainers/45486520-2ffa-4fcd-/metricsDefinitions"; + Requests[3238] = new DefaultHttpContext(); + Requests[3238].RequestServices = CreateServices(); + Requests[3238].Request.Method = "GET"; + Requests[3238].Request.Path = "/subscriptions/1895ea2b-3433-/resourceGroups/b1373a4f-fa36-4d3/providers/Microsoft.StorSimple/managers/73a8c75b-09/devices/444c34e9-b/volumeContainers/07475839-08b4-4830-/volumes"; + Requests[3239] = new DefaultHttpContext(); + Requests[3239].RequestServices = CreateServices(); + Requests[3239].Request.Method = "POST"; + Requests[3239].Request.Path = "/subscriptions/13904e73-be02-/resourcegroups/790f8797-8533-427/providers/Microsoft.Update.Admin/updateLocations/53942faa-0300-/updates/42312ea6-b/updateRuns/9019e5e/rerun"; + Requests[3240] = new DefaultHttpContext(); + Requests[3240].RequestServices = CreateServices(); + Requests[3240].Request.Method = "GET"; + Requests[3240].Request.Path = "/subscriptions/895d605c-e42b-/resourceGroups/a692cbfb-22de-49a/providers/microsoft.visualstudio/account/94d3f46d-d36e-4c/project/db8dc482-e8a/subContainers/c82ef049-2740-4d/status"; + Requests[3241] = new DefaultHttpContext(); + Requests[3241].RequestServices = CreateServices(); + Requests[3241].Request.Method = "GET"; + Requests[3241].Request.Path = "/subscriptions/9337ec0c-b023-/resourceGroups/5c80c3eb-833d-4d1/providers/Microsoft.Web/hostingEnvironments/05f69/workerPools/fe73fa06-71b8-/instances/5f599767/metricdefinitions"; + Requests[3242] = new DefaultHttpContext(); + Requests[3242].RequestServices = CreateServices(); + Requests[3242].Request.Method = "GET"; + Requests[3242].Request.Path = "/subscriptions/35268876-7679-/resourceGroups/ddbd2aa1-ce3e-49b/providers/Microsoft.Web/hostingEnvironments/a8164/workerPools/37c5e33e-f984-/instances/f60df3b3/metrics"; + Requests[3243] = new DefaultHttpContext(); + Requests[3243].RequestServices = CreateServices(); + Requests[3243].Request.Method = "POST"; + Requests[3243].Request.Path = "/subscriptions/f743a7e3-d26e-/resourceGroups/17a5888f-2014-430/providers/Microsoft.Web/serverfarms/708d3/hybridConnectionNamespaces/44a50c34-24fa/relays/a266bbd5-/listKeys"; + Requests[3244] = new DefaultHttpContext(); + Requests[3244].RequestServices = CreateServices(); + Requests[3244].Request.Method = "GET"; + Requests[3244].Request.Path = "/subscriptions/0cda6793-6c67-/resourceGroups/c4293037-4903-49b/providers/Microsoft.Web/serverfarms/389a7/hybridConnectionNamespaces/822184ef-c59c/relays/f922d311-/sites"; + Requests[3245] = new DefaultHttpContext(); + Requests[3245].RequestServices = CreateServices(); + Requests[3245].Request.Method = "POST"; + Requests[3245].Request.Path = "/subscriptions/2d5c0bba-1705-/resourceGroups/4a491a94-85af-4c1/providers/Microsoft.Web/sites/bb1b7/hybridConnectionNamespaces/0800f08c-e283/relays/0558f7fe-/listKeys"; + Requests[3246] = new DefaultHttpContext(); + Requests[3246].RequestServices = CreateServices(); + Requests[3246].Request.Method = "GET"; + Requests[3246].Request.Path = "/subscriptions/19b04acd-7cd7-/resourceGroups/9c3ced54-d794-41d/providers/Microsoft.Web/sites/95ff3/instances/4ea15e60-1/processes/4a772059-/dump"; + Requests[3247] = new DefaultHttpContext(); + Requests[3247].RequestServices = CreateServices(); + Requests[3247].Request.Method = "GET"; + Requests[3247].Request.Path = "/subscriptions/482fc90a-6a6a-/resourceGroups/289b7d9a-e975-48f/providers/Microsoft.Web/sites/77f8f/instances/9b7bb695-4/processes/52a67fae-/modules"; + Requests[3248] = new DefaultHttpContext(); + Requests[3248].RequestServices = CreateServices(); + Requests[3248].Request.Method = "GET"; + Requests[3248].Request.Path = "/subscriptions/72b1a945-e099-/resourceGroups/7520f37e-d7a0-45b/providers/Microsoft.Web/sites/e7122/instances/9cc076c5-4/processes/1516d44c-/threads"; + Requests[3249] = new DefaultHttpContext(); + Requests[3249].RequestServices = CreateServices(); + Requests[3249].Request.Method = "POST"; + Requests[3249].Request.Path = "/subscriptions/ccefe605-93da-/resourceGroups/ad6b82ab-06f1-495/providers/Microsoft.Web/sites/f68b3/slots/5d821/backups/3f281a97/list"; + Requests[3250] = new DefaultHttpContext(); + Requests[3250].RequestServices = CreateServices(); + Requests[3250].Request.Method = "POST"; + Requests[3250].Request.Path = "/subscriptions/b5d0cd11-81d7-/resourceGroups/ae300437-049e-44a/providers/Microsoft.Web/sites/408b5/slots/3aa1a/backups/aa3d191b/restore"; + Requests[3251] = new DefaultHttpContext(); + Requests[3251].RequestServices = CreateServices(); + Requests[3251].Request.Method = "POST"; + Requests[3251].Request.Path = "/subscriptions/0fe93553-1991-/resourceGroups/7077246f-41bc-42a/providers/Microsoft.Web/sites/c70df/slots/d2110/continuouswebjobs/9703aeaf-4/start"; + Requests[3252] = new DefaultHttpContext(); + Requests[3252].RequestServices = CreateServices(); + Requests[3252].Request.Method = "POST"; + Requests[3252].Request.Path = "/subscriptions/a9f64799-a019-/resourceGroups/5a64c8fb-fcf3-4ad/providers/Microsoft.Web/sites/91371/slots/b09f7/continuouswebjobs/5db4bb25-a/stop"; + Requests[3253] = new DefaultHttpContext(); + Requests[3253].RequestServices = CreateServices(); + Requests[3253].Request.Method = "GET"; + Requests[3253].Request.Path = "/subscriptions/5e8b2785-e846-/resourceGroups/27cad519-4842-4ee/providers/Microsoft.Web/sites/db27c/slots/80a4f/deployments/dd73b/log"; + Requests[3254] = new DefaultHttpContext(); + Requests[3254].RequestServices = CreateServices(); + Requests[3254].Request.Method = "POST"; + Requests[3254].Request.Path = "/subscriptions/9f180fb7-a46d-/resourceGroups/5d22366c-c201-4a0/providers/Microsoft.Web/sites/e99e8/slots/e1f7d/functions/f478bde6-890/listsecrets"; + Requests[3255] = new DefaultHttpContext(); + Requests[3255].RequestServices = CreateServices(); + Requests[3255].Request.Method = "GET"; + Requests[3255].Request.Path = "/subscriptions/5e912b4c-6db1-/resourceGroups/1637e4dc-134f-4bb/providers/Microsoft.Web/sites/9f0cd/slots/35abb/instances/b146ecf6-0/deployments"; + Requests[3256] = new DefaultHttpContext(); + Requests[3256].RequestServices = CreateServices(); + Requests[3256].Request.Method = "GET"; + Requests[3256].Request.Path = "/subscriptions/32777f6f-416c-/resourceGroups/7fc6a1c5-7cb0-4fd/providers/Microsoft.Web/sites/5c9fb/slots/59ce7/instances/2edcef8a-5/processes"; + Requests[3257] = new DefaultHttpContext(); + Requests[3257].RequestServices = CreateServices(); + Requests[3257].Request.Method = "GET"; + Requests[3257].Request.Path = "/subscriptions/9f27d826-fc69-/resourceGroups/1b2d3921-fc62-44a/providers/Microsoft.Web/sites/7c6a0/slots/f438f/processes/4bdb517d-/dump"; + Requests[3258] = new DefaultHttpContext(); + Requests[3258].RequestServices = CreateServices(); + Requests[3258].Request.Method = "GET"; + Requests[3258].Request.Path = "/subscriptions/40b5ec97-c05e-/resourceGroups/533efe38-ba69-43c/providers/Microsoft.Web/sites/bcc4a/slots/eab85/processes/9f8389a8-/modules"; + Requests[3259] = new DefaultHttpContext(); + Requests[3259].RequestServices = CreateServices(); + Requests[3259].Request.Method = "GET"; + Requests[3259].Request.Path = "/subscriptions/654c9b26-5f51-/resourceGroups/332662fa-3ed6-42a/providers/Microsoft.Web/sites/e99ea/slots/ff21b/processes/018049a8-/threads"; + Requests[3260] = new DefaultHttpContext(); + Requests[3260].RequestServices = CreateServices(); + Requests[3260].Request.Method = "GET"; + Requests[3260].Request.Path = "/subscriptions/5be6bd47-2be7-/resourceGroups/0483e947-0efb-4c3/providers/Microsoft.Web/sites/305a4/slots/42768/triggeredwebjobs/f99256db-b/history"; + Requests[3261] = new DefaultHttpContext(); + Requests[3261].RequestServices = CreateServices(); + Requests[3261].Request.Method = "POST"; + Requests[3261].Request.Path = "/subscriptions/59a57df1-8098-/resourceGroups/432050a9-3059-42e/providers/Microsoft.Web/sites/e3d86/slots/523a3/triggeredwebjobs/fea833ba-9/run"; + Requests[3262] = new DefaultHttpContext(); + Requests[3262].RequestServices = CreateServices(); + Requests[3262].Request.Method = "POST"; + Requests[3262].Request.Path = "/subscriptions/c42c19b9-38a7-/resourceGroups/c5a5913e-1b07-4e5/providers/Microsoft.Web/sites/2ecbc170/diagnostics/aac3040a-64d9-4eb3/analyses/98d56af7-e5c/execute"; + Requests[3263] = new DefaultHttpContext(); + Requests[3263].RequestServices = CreateServices(); + Requests[3263].Request.Method = "POST"; + Requests[3263].Request.Path = "/subscriptions/99b9da81-5a3d-/resourceGroups/8d73bdb3-d58e-4fc/providers/Microsoft.Web/sites/1ce620e7/diagnostics/421e668f-b62c-485f/detectors/45b9ddd0-f86/execute"; + Requests[3264] = new DefaultHttpContext(); + Requests[3264].RequestServices = CreateServices(); + Requests[3264].Request.Method = "GET"; + Requests[3264].Request.Path = "/subscriptions/cd3b05ee-6321-/resourceGroups/0c308bb8-a782-44e/providers/Microsoft.Web/sites/56d75ab7/slots/3f037/diagnostics/8d4d4bcd-e50b-4205/analyses"; + Requests[3265] = new DefaultHttpContext(); + Requests[3265].RequestServices = CreateServices(); + Requests[3265].Request.Method = "GET"; + Requests[3265].Request.Path = "/subscriptions/4ae6a113-4987-/resourceGroups/24cd8d74-9256-4ac/providers/Microsoft.Web/sites/8c882451/slots/e33f5/diagnostics/6268321b-f1a2-4855/detectors"; + Requests[3266] = new DefaultHttpContext(); + Requests[3266].RequestServices = CreateServices(); + Requests[3266].Request.Method = "GET"; + Requests[3266].Request.Path = "/subscriptions/3c1d3a2e-9b3e-/resourceGroups/ee7cceff-904f-4c6/providers/Microsoft.DocumentDB/databaseAccounts/928dd46f-3a/databases/1fd826e9-a9/collections/c9cdf95e-f9f3/partitions/metrics"; + Requests[3267] = new DefaultHttpContext(); + Requests[3267].RequestServices = CreateServices(); + Requests[3267].Request.Method = "GET"; + Requests[3267].Request.Path = "/subscriptions/b32d4eeb-a632-/resourceGroups/1a6ef57c-8fc8-415/providers/Microsoft.DocumentDB/databaseAccounts/57322eea-f8/databases/7fb0d785-33/collections/8dc0ac50-0a1d/partitions/usages"; + Requests[3268] = new DefaultHttpContext(); + Requests[3268].RequestServices = CreateServices(); + Requests[3268].Request.Method = "GET"; + Requests[3268].Request.Path = "/subscriptions/45de3e6c-0929-/resourceGroups/42fb9696-b71b-41a/providers/Microsoft.DocumentDB/databaseAccounts/f9dcc9cc-86/sourceRegion/01d1728e-b9d/targetRegion/384f2a11-2cf/percentile/metrics"; + Requests[3269] = new DefaultHttpContext(); + Requests[3269].RequestServices = CreateServices(); + Requests[3269].Request.Method = "PUT"; + Requests[3269].Request.Path = "/subscriptions/c79f0ca7-6132-/resourceGroups/e13fff10-6613-4c6/providers/Microsoft.Web/sites/af42a/slots/75fa4/instances/69dcf1d9-2/extensions/MSDeploy"; + Requests[3270] = new DefaultHttpContext(); + Requests[3270].RequestServices = CreateServices(); + Requests[3270].Request.Method = "GET"; + Requests[3270].Request.Path = "/subscriptions/345bc160-cc55-/resourceGroups/11cf83ba-69dc-454/providers/Microsoft.Web/sites/512b8/slots/e4f48/instances/a57fcf68-c/extensions/MSDeploy/log"; + Requests[3271] = new DefaultHttpContext(); + Requests[3271].RequestServices = CreateServices(); + Requests[3271].Request.Method = "DELETE"; + Requests[3271].Request.Path = "/subscriptions/82e24228-41be-/resourceGroups/840d9fba-74d8-496/providers/Microsoft.ApiManagement/service/0770ad61-78/apis/93887/diagnostics/65e652e0-3c7/loggers/9ac763ba"; + Requests[3272] = new DefaultHttpContext(); + Requests[3272].RequestServices = CreateServices(); + Requests[3272].Request.Method = "DELETE"; + Requests[3272].Request.Path = "/subscriptions/ab94d6ce-edb3-/resourceGroups/a2b0e770-b7e6-419/providers/Microsoft.ApiManagement/service/e3e7e0c2-8d/apis/0d4a8/issues/4d42fc5/attachments/f078b643-962"; + Requests[3273] = new DefaultHttpContext(); + Requests[3273].RequestServices = CreateServices(); + Requests[3273].Request.Method = "DELETE"; + Requests[3273].Request.Path = "/subscriptions/f54662cc-2644-/resourceGroups/cf4cc797-768b-442/providers/Microsoft.ApiManagement/service/b697a61d-0a/apis/9b937/issues/82aa7f2/comments/8bb9cd94-"; + Requests[3274] = new DefaultHttpContext(); + Requests[3274].RequestServices = CreateServices(); + Requests[3274].Request.Method = "DELETE"; + Requests[3274].Request.Path = "/subscriptions/7b21f798-401c-/resourceGroups/e0f22333-4b38-46c/providers/Microsoft.ApiManagement/service/3b33879e-1d/apis/f3539/operations/2e0496aa-a6/policies/6d55532f"; + Requests[3275] = new DefaultHttpContext(); + Requests[3275].RequestServices = CreateServices(); + Requests[3275].Request.Method = "DELETE"; + Requests[3275].Request.Path = "/subscriptions/d73d8056-13e5-/resourceGroups/85dade2d-952c-447/providers/Microsoft.ApiManagement/service/244b0a0a-d1/apis/998a2/operations/de042803-5b/tags/12629"; + Requests[3276] = new DefaultHttpContext(); + Requests[3276].RequestServices = CreateServices(); + Requests[3276].Request.Method = "GET"; + Requests[3276].Request.Path = "/subscriptions/34b937a8-2a52-/resourceGroups/4c1660a0-30c0-456/providers/Microsoft.Automation/automationAccounts/2291cbf4-690e-4792-81/sourceControls/a25483d1-a4a5-437/sourceControlSyncJobs/296e1a65-516e-44bf-a68/streams/1c6d7507"; + Requests[3277] = new DefaultHttpContext(); + Requests[3277].RequestServices = CreateServices(); + Requests[3277].Request.Method = "GET"; + Requests[3277].Request.Path = "/subscriptions/dfbae508-68ba-/resourceGroups/8611fddb-96c7-42d/providers/microsoft.Compute/virtualMachineScaleSets/2da159b2-48b2-4f8c-938a-4f/virtualMachines/4e85bc78-2d40-4a78-/networkInterfaces/cb0b2634-2231-4c7f-8/ipConfigurations/e537b81b-a9e2-404e-"; + Requests[3278] = new DefaultHttpContext(); + Requests[3278].RequestServices = CreateServices(); + Requests[3278].Request.Method = "GET"; + Requests[3278].Request.Path = "/subscriptions/08daef3a-7321-/resourceGroups/b6355243-074c-400/providers/Microsoft.Fabric.Admin/fabricLocations/44c7af1b/storageSubSystems/e8e89cff-6290-40/storagePools/3cd583f3-25/volumes/a25a0c"; + Requests[3279] = new DefaultHttpContext(); + Requests[3279].RequestServices = CreateServices(); + Requests[3279].Request.Method = "GET"; + Requests[3279].Request.Path = "/subscriptions/240ba9e5-afdb-/resourceGroups/4b3af8a0-6e3f-449/providers/Microsoft.Logic/workflows/0953c643-1fe/runs/08b45f7/actions/40c2edab-e/repetitions/bb1261d8-194d-"; + Requests[3280] = new DefaultHttpContext(); + Requests[3280].RequestServices = CreateServices(); + Requests[3280].Request.Method = "GET"; + Requests[3280].Request.Path = "/subscriptions/5d5ea090-1f99-/resourceGroups/e45256c6-9c37-42a/providers/Microsoft.Logic/workflows/b17fb4a4-27b/runs/5178f2d/actions/0e142afd-5/scopeRepetitions/44915f53-7c0f-"; + Requests[3281] = new DefaultHttpContext(); + Requests[3281].RequestServices = CreateServices(); + Requests[3281].Request.Method = "GET"; + Requests[3281].Request.Path = "/subscriptions/37adecac-b931-/resourceGroups/ed135a8b-7bad-4ff/providers/Microsoft.Migrate/projects/863c2681-97/groups/e6ba707c-/assessments/324b73c8-e942-/assessedMachines/82fb11b6-45ae-417c-"; + Requests[3282] = new DefaultHttpContext(); + Requests[3282].RequestServices = CreateServices(); + Requests[3282].Request.Method = "PATCH"; + Requests[3282].Request.Path = "/Subscriptions/e3677787-5ee9-/resourceGroups/8e62012c-7823-482/providers/Microsoft.RecoveryServices/vaults/2b12516d-d67/replicationFabrics/9596f4d9-7/replicationNetworks/3f5e53f0-c3/replicationNetworkMappings/261f4e38-cb80-4e4c"; + Requests[3283] = new DefaultHttpContext(); + Requests[3283].RequestServices = CreateServices(); + Requests[3283].Request.Method = "GET"; + Requests[3283].Request.Path = "/Subscriptions/429f2bc3-edd3-/resourceGroups/9ea8c7eb-d9e7-49b/providers/Microsoft.RecoveryServices/vaults/9ee8ad32-336/replicationFabrics/2da6b264-f/replicationProtectionContainers/bf6594b5-0145-430f-9e1a/replicationProtectableItems/cacdef6d-0279-4434-"; + Requests[3284] = new DefaultHttpContext(); + Requests[3284].RequestServices = CreateServices(); + Requests[3284].Request.Method = "PATCH"; + Requests[3284].Request.Path = "/Subscriptions/006a9691-7400-/resourceGroups/5da91516-5c7b-48f/providers/Microsoft.RecoveryServices/vaults/7c1f6ce0-df9/replicationFabrics/a9a80053-5/replicationProtectionContainers/5bcd8252-d4b0-4d7d-a9a0/replicationProtectedItems/e53738ff-ca70-4489-b4e8-803"; + Requests[3285] = new DefaultHttpContext(); + Requests[3285].RequestServices = CreateServices(); + Requests[3285].Request.Method = "PATCH"; + Requests[3285].Request.Path = "/Subscriptions/e196729e-a67b-/resourceGroups/772987c3-9cef-478/providers/Microsoft.RecoveryServices/vaults/2a7dca5f-a34/replicationFabrics/5ba7242d-1/replicationProtectionContainers/4229ae6f-71f3-45e6-977c/replicationProtectionContainerMappings/20851fbe-3a"; + Requests[3286] = new DefaultHttpContext(); + Requests[3286].RequestServices = CreateServices(); + Requests[3286].Request.Method = "DELETE"; + Requests[3286].Request.Path = "/Subscriptions/409eeb58-a61e-/resourceGroups/ebff00a4-5fcd-4bd/providers/Microsoft.RecoveryServices/vaults/1a5ced79-df2/replicationFabrics/6d582550-0/replicationStorageClassifications/5d9fbafd-1971-458c-839c-7/replicationStorageClassificationMappings/78d9c540-fcb7-4ad2-8ece-0382b1ad"; + Requests[3287] = new DefaultHttpContext(); + Requests[3287].RequestServices = CreateServices(); + Requests[3287].Request.Method = "GET"; + Requests[3287].Request.Path = "/Subscriptions/57736cd2-37e8-/resourceGroups/ddfdde18-c291-49b/providers/Microsoft.RecoveryServices/vaults/af63fb48-/backupFabrics/567a7463-d/protectionContainers/9c2eabea-2ea5/operationResults/7ddcbefc-c9"; + Requests[3288] = new DefaultHttpContext(); + Requests[3288].RequestServices = CreateServices(); + Requests[3288].Request.Method = "DELETE"; + Requests[3288].Request.Path = "/Subscriptions/950dd074-5023-/resourceGroups/cb00f173-a8ef-44e/providers/Microsoft.RecoveryServices/vaults/cba8805e-/backupFabrics/984a85d4-2/protectionContainers/94327993-4652/protectedItems/16d4b02b-c12f-492"; + Requests[3289] = new DefaultHttpContext(); + Requests[3289].RequestServices = CreateServices(); + Requests[3289].Request.Method = "GET"; + Requests[3289].Request.Path = "/subscriptions/b10b1c55-a7e3-/resourceGroups/dd1e8046-1727-47e/providers/Microsoft.ServiceBus/namespaces/574186c3-2f95/topics/c67ebfff-/subscriptions/a759a0b7-5746-4e/rules/2fdf0611"; + Requests[3290] = new DefaultHttpContext(); + Requests[3290].RequestServices = CreateServices(); + Requests[3290].Request.Method = "PATCH"; + Requests[3290].Request.Path = "/subscriptions/ecad8de6-2841-/resourceGroups/d76cc264-1be9-4d7/providers/Microsoft.Sql/servers/c86b8e91-6/databases/9651f331-230/advisors/6c956b5e-e3/recommendedActions/061914a6-9323-4c8f-94"; + Requests[3291] = new DefaultHttpContext(); + Requests[3291].RequestServices = CreateServices(); + Requests[3291].Request.Method = "PUT"; + Requests[3291].Request.Path = "/subscriptions/524e79ff-ab5e-/resourceGroups/95f6f9e0-2039-46e/providers/Microsoft.Sql/servers/89d04b35-9/databases/677dd0b1-ba8/dataMaskingPolicies/32885f92-530b-4eca-91/rules/4e9ccb5f-2753-4f6c-"; + Requests[3292] = new DefaultHttpContext(); + Requests[3292].RequestServices = CreateServices(); + Requests[3292].Request.Method = "PATCH"; + Requests[3292].Request.Path = "/subscriptions/d74c5cb2-2efe-/resourceGroups/bbebb15c-a959-432/providers/Microsoft.Sql/servers/8dbfb356-5/databases/262cf280-28d/syncGroups/7d240c7c-75cd/syncMembers/9f8fe93c-0083-"; + Requests[3293] = new DefaultHttpContext(); + Requests[3293].RequestServices = CreateServices(); + Requests[3293].Request.Method = "GET"; + Requests[3293].Request.Path = "/subscriptions/58cbac75-2c8e-/resourceGroups/99444cd3-d9cb-47f/providers/Microsoft.Sql/servers/742e1c76-5/databases/36e8b892-5d6/vulnerabilityAssessments/33323411-4a91-4f24-b158-400/scans/9df655"; + Requests[3294] = new DefaultHttpContext(); + Requests[3294].RequestServices = CreateServices(); + Requests[3294].Request.Method = "PUT"; + Requests[3294].Request.Path = "/subscriptions/0e0c37f7-51a4-/resourceGroups/113705e0-2ced-4ac/providers/Microsoft.Sql/servers/6c6e15d5-1/jobAgents/7a54a56f-27c/jobs/178f1bb/executions/d5744014-498c-"; + Requests[3295] = new DefaultHttpContext(); + Requests[3295].RequestServices = CreateServices(); + Requests[3295].Request.Method = "DELETE"; + Requests[3295].Request.Path = "/subscriptions/24b61a6e-a0e0-/resourceGroups/fd0506a9-23ac-4a6/providers/Microsoft.Sql/servers/dc2cc613-8/jobAgents/2a3d1308-819/jobs/f9e89a6/steps/5c52ab40"; + Requests[3296] = new DefaultHttpContext(); + Requests[3296].RequestServices = CreateServices(); + Requests[3296].Request.Method = "GET"; + Requests[3296].Request.Path = "/subscriptions/77bea82e-9a09-/resourceGroups/213f008f-3d19-4cb/providers/Microsoft.Sql/servers/60299e17-d/jobAgents/47724f77-68f/jobs/e11f415/versions/3a251be1-a"; + Requests[3297] = new DefaultHttpContext(); + Requests[3297].RequestServices = CreateServices(); + Requests[3297].Request.Method = "DELETE"; + Requests[3297].Request.Path = "/subscriptions/2614854f-b6e9-/resourceGroups/dc2a38c4-80fc-4bb/providers/Microsoft.StorSimple/managers/62ac2c3e-49/devices/977bb1d9-7/backupPolicies/75dfa573-936c-4f/schedules/8c293e10-9a93-4280"; + Requests[3298] = new DefaultHttpContext(); + Requests[3298].RequestServices = CreateServices(); + Requests[3298].Request.Method = "DELETE"; + Requests[3298].Request.Path = "/subscriptions/c7238f0e-8ba1-/resourceGroups/7d290464-d42b-46a/providers/Microsoft.StorSimple/managers/eee104ad-d5/devices/2b99fb47-5/volumeContainers/3cdbfef9-062a-4e5b-/volumes/c35d93de-e"; + Requests[3299] = new DefaultHttpContext(); + Requests[3299].RequestServices = CreateServices(); + Requests[3299].Request.Method = "GET"; + Requests[3299].Request.Path = "/subscriptions/d923d8ed-ad12-/resourceGroups/716f6f40-dd50-415/providers/Microsoft.Web/sites/29336/instances/8eb0af75-c/processes/19ef260d-/modules/af3f8078-69"; + Requests[3300] = new DefaultHttpContext(); + Requests[3300].RequestServices = CreateServices(); + Requests[3300].Request.Method = "GET"; + Requests[3300].Request.Path = "/subscriptions/bf32ee96-fa54-/resourceGroups/c65e0dca-9be6-4ef/providers/Microsoft.Web/sites/9de5f/instances/1a87e388-9/processes/13823742-/threads/7496bdac"; + Requests[3301] = new DefaultHttpContext(); + Requests[3301].RequestServices = CreateServices(); + Requests[3301].Request.Method = "PATCH"; + Requests[3301].Request.Path = "/subscriptions/6a0bdc1e-cbbf-/resourceGroups/1bb32325-0371-488/providers/Microsoft.Web/sites/08dc9/slots/3cd22/hybridConnectionNamespaces/6446c1a4-a34e/relays/653e2f6c-"; + Requests[3302] = new DefaultHttpContext(); + Requests[3302].RequestServices = CreateServices(); + Requests[3302].Request.Method = "DELETE"; + Requests[3302].Request.Path = "/subscriptions/24837b3c-b76d-/resourceGroups/463a1799-8760-40a/providers/Microsoft.Web/sites/d5398/slots/064aa/instances/8d0e4a04-b/deployments/92ac7"; + Requests[3303] = new DefaultHttpContext(); + Requests[3303].RequestServices = CreateServices(); + Requests[3303].Request.Method = "DELETE"; + Requests[3303].Request.Path = "/subscriptions/3cb0a997-c2b5-/resourceGroups/9dfc9631-5112-481/providers/Microsoft.Web/sites/13765/slots/41c42/instances/f23bcc37-3/processes/18257212-"; + Requests[3304] = new DefaultHttpContext(); + Requests[3304].RequestServices = CreateServices(); + Requests[3304].Request.Method = "GET"; + Requests[3304].Request.Path = "/subscriptions/c01aa2f5-822e-/resourceGroups/9afdaf3e-b3f0-41f/providers/Microsoft.Web/sites/ab233/slots/a6d98/processes/110f5a92-/modules/40247590-24"; + Requests[3305] = new DefaultHttpContext(); + Requests[3305].RequestServices = CreateServices(); + Requests[3305].Request.Method = "GET"; + Requests[3305].Request.Path = "/subscriptions/7737067d-b186-/resourceGroups/77c17f0d-220d-49e/providers/Microsoft.Web/sites/51dec/slots/7f74b/processes/63541419-/threads/6d98d173"; + Requests[3306] = new DefaultHttpContext(); + Requests[3306].RequestServices = CreateServices(); + Requests[3306].Request.Method = "GET"; + Requests[3306].Request.Path = "/subscriptions/3d671d37-3ea6-/resourceGroups/1aa3ec40-1f39-465/providers/Microsoft.Web/sites/27c4f/slots/2c5c6/triggeredwebjobs/1fce5928-f/history/78e04"; + Requests[3307] = new DefaultHttpContext(); + Requests[3307].RequestServices = CreateServices(); + Requests[3307].Request.Method = "PATCH"; + Requests[3307].Request.Path = "/subscriptions/fba113c8-5c02-/resourceGroups/4ce9bc60-1024-465/providers/Microsoft.Web/sites/491a2/slots/25c7b/virtualNetworkConnections/5ae26e60/gateways/134d3ae4-9d"; + Requests[3308] = new DefaultHttpContext(); + Requests[3308].RequestServices = CreateServices(); + Requests[3308].Request.Method = "GET"; + Requests[3308].Request.Path = "/subscriptions/6d2864d2-693d-/resourceGroups/863f98c2-e254-464/providers/Microsoft.Web/sites/e2934230/slots/6e7fa/diagnostics/dfa8ec17-a357-4974/analyses/43442a7a-46a"; + Requests[3309] = new DefaultHttpContext(); + Requests[3309].RequestServices = CreateServices(); + Requests[3309].Request.Method = "GET"; + Requests[3309].Request.Path = "/subscriptions/a3b7271d-49f6-/resourceGroups/2d9108d4-47b7-4ec/providers/Microsoft.Web/sites/75414acb/slots/c44e2/diagnostics/5211737b-2e81-4026/detectors/cb2a1b88-7a0"; + Requests[3310] = new DefaultHttpContext(); + Requests[3310].RequestServices = CreateServices(); + Requests[3310].Request.Method = "GET"; + Requests[3310].Request.Path = "/subscriptions/b5ae4868-9589-/resourceGroups/d2e7f64f-cd54-485/providers/Microsoft.Compute/virtualMachineScaleSets/675714cb-af6a-4728-ab7c-7a/virtualMachines/65a3cee6-d72d-4934-/networkInterfaces/39edf72a-b992-408b-9/ipconfigurations/ff2bdb08-f2dd-46f0-/publicipaddresses"; + Requests[3311] = new DefaultHttpContext(); + Requests[3311].RequestServices = CreateServices(); + Requests[3311].Request.Method = "GET"; + Requests[3311].Request.Path = "/subscriptions/740df3eb-bff3-/resourceGroups/6ff989a0-cabd-4e2/providers/Microsoft.DocumentDB/databaseAccounts/61e9d98d-86/databases/f47b6047-72/collections/a7f7701f-45d7/partitionKeyRangeId/48bb26af-fc6e-41ca-/metrics"; + Requests[3312] = new DefaultHttpContext(); + Requests[3312].RequestServices = CreateServices(); + Requests[3312].Request.Method = "GET"; + Requests[3312].Request.Path = "/subscriptions/e601dba0-8d78-/resourceGroups/58a4b8a5-11d4-4e8/providers/Microsoft.DocumentDB/databaseAccounts/e9b6c14a-06/region/7503dc/databases/d8a99531-e3/collections/4e8a809f-e913/metrics"; + Requests[3313] = new DefaultHttpContext(); + Requests[3313].RequestServices = CreateServices(); + Requests[3313].Request.Method = "POST"; + Requests[3313].Request.Path = "/subscriptions/67fbaeb4-3ae2-/resourceGroups/3dd62024-0fb9-496/providers/Microsoft.Logic/workflows/cae6df12-a33/runs/e602b73/actions/7a5f2679-1/repetitions/5b390a45-65cd-/listExpressionTraces"; + Requests[3314] = new DefaultHttpContext(); + Requests[3314].RequestServices = CreateServices(); + Requests[3314].Request.Method = "POST"; + Requests[3314].Request.Path = "/Subscriptions/f4437b9f-1af8-/resourceGroups/1e1dab76-5b98-427/providers/Microsoft.RecoveryServices/vaults/0c3a07bf-6c8/replicationFabrics/1084bb37-0/replicationProtectionContainers/0b91d102-a436-4082-8c6a/replicationProtectedItems/984ce354-abdb-4a59-a591-289/applyRecoveryPoint"; + Requests[3315] = new DefaultHttpContext(); + Requests[3315].RequestServices = CreateServices(); + Requests[3315].Request.Method = "POST"; + Requests[3315].Request.Path = "/Subscriptions/44c9d123-c1ed-/resourceGroups/299514f7-d3e3-405/providers/Microsoft.RecoveryServices/vaults/cf0ad826-b81/replicationFabrics/1607bc50-7/replicationProtectionContainers/00162745-7009-406a-b466/replicationProtectedItems/334845a4-bb8c-4dc5-a622-5e7/failoverCommit"; + Requests[3316] = new DefaultHttpContext(); + Requests[3316].RequestServices = CreateServices(); + Requests[3316].Request.Method = "POST"; + Requests[3316].Request.Path = "/Subscriptions/a2aa4e86-f045-/resourceGroups/3b06dcd1-9373-41b/providers/Microsoft.RecoveryServices/vaults/26b230aa-46f/replicationFabrics/19238e14-3/replicationProtectionContainers/b2b819f4-6feb-42f0-9241/replicationProtectedItems/b75aa069-c74d-47fd-b73e-329/plannedFailover"; + Requests[3317] = new DefaultHttpContext(); + Requests[3317].RequestServices = CreateServices(); + Requests[3317].Request.Method = "GET"; + Requests[3317].Request.Path = "/Subscriptions/f4b3a1bf-ec92-/resourceGroups/80039306-3124-41a/providers/Microsoft.RecoveryServices/vaults/17cd76b5-699/replicationFabrics/be6d9dce-a/replicationProtectionContainers/8e1b1d63-9780-47e0-a7d8/replicationProtectedItems/b19b73a1-5b2f-4421-a3fc-a72/recoveryPoints"; + Requests[3318] = new DefaultHttpContext(); + Requests[3318].RequestServices = CreateServices(); + Requests[3318].Request.Method = "POST"; + Requests[3318].Request.Path = "/Subscriptions/7d25e136-4700-/resourceGroups/f83f7ea4-ed46-481/providers/Microsoft.RecoveryServices/vaults/9a998233-368/replicationFabrics/1bb787a9-f/replicationProtectionContainers/e7d50d6f-2b7d-4c67-80a0/replicationProtectedItems/0273cca0-240c-4337-a2c9-473/remove"; + Requests[3319] = new DefaultHttpContext(); + Requests[3319].RequestServices = CreateServices(); + Requests[3319].Request.Method = "POST"; + Requests[3319].Request.Path = "/Subscriptions/1168c4f8-2883-/resourceGroups/68395a89-d223-4ef/providers/Microsoft.RecoveryServices/vaults/734dc0f1-a84/replicationFabrics/5b2ec911-2/replicationProtectionContainers/5d31d8bb-0400-431c-a520/replicationProtectedItems/d163ff99-2740-4630-8951-a63/repairReplication"; + Requests[3320] = new DefaultHttpContext(); + Requests[3320].RequestServices = CreateServices(); + Requests[3320].Request.Method = "POST"; + Requests[3320].Request.Path = "/Subscriptions/b74acef7-e719-/resourceGroups/3c17b9bc-163b-463/providers/Microsoft.RecoveryServices/vaults/fa1edc2a-cba/replicationFabrics/9b451627-0/replicationProtectionContainers/2bfb69fe-6c95-4b4a-8561/replicationProtectedItems/e32b62fe-b864-4ee7-a2a7-92d/reProtect"; + Requests[3321] = new DefaultHttpContext(); + Requests[3321].RequestServices = CreateServices(); + Requests[3321].Request.Method = "GET"; + Requests[3321].Request.Path = "/Subscriptions/09ff3c84-79f8-/resourceGroups/7909bed4-9eb0-47e/providers/Microsoft.RecoveryServices/vaults/2f6297b3-a09/replicationFabrics/b7cf502c-6/replicationProtectionContainers/0ecbc388-1555-4af7-b531/replicationProtectedItems/51eb215e-6ee3-4bc8-8d1b-f2e/targetComputeSizes"; + Requests[3322] = new DefaultHttpContext(); + Requests[3322].RequestServices = CreateServices(); + Requests[3322].Request.Method = "POST"; + Requests[3322].Request.Path = "/Subscriptions/54ccab10-4207-/resourceGroups/794fed85-9c9c-4ab/providers/Microsoft.RecoveryServices/vaults/4c3b8d81-797/replicationFabrics/7d0e01ca-5/replicationProtectionContainers/427babe8-ecf5-4932-a715/replicationProtectedItems/10ecaa92-9a4b-44f7-bfc0-7d8/testFailover"; + Requests[3323] = new DefaultHttpContext(); + Requests[3323].RequestServices = CreateServices(); + Requests[3323].Request.Method = "POST"; + Requests[3323].Request.Path = "/Subscriptions/8aefd5bc-4738-/resourceGroups/496ecc53-288b-443/providers/Microsoft.RecoveryServices/vaults/54b23c0c-ada/replicationFabrics/d4056a87-7/replicationProtectionContainers/236acd74-c035-45ec-a7ae/replicationProtectedItems/70b7265a-868c-4934-b731-48e/testFailoverCleanup"; + Requests[3324] = new DefaultHttpContext(); + Requests[3324].RequestServices = CreateServices(); + Requests[3324].Request.Method = "POST"; + Requests[3324].Request.Path = "/Subscriptions/20b73baf-4352-/resourceGroups/e917b66d-9447-466/providers/Microsoft.RecoveryServices/vaults/fbea88a2-209/replicationFabrics/bbcef4de-3/replicationProtectionContainers/4648c443-f9a1-4298-bb87/replicationProtectedItems/5f1bf33e-5cd0-474e-b052-30b/unplannedFailover"; + Requests[3325] = new DefaultHttpContext(); + Requests[3325].RequestServices = CreateServices(); + Requests[3325].Request.Method = "POST"; + Requests[3325].Request.Path = "/Subscriptions/50c7d952-98e5-/resourceGroups/fb912506-c3c2-4f8/providers/Microsoft.RecoveryServices/vaults/406260ff-300/replicationFabrics/10b2f0d3-4/replicationProtectionContainers/05e846e5-4d75-4e25-9858/replicationProtectedItems/7c454545-641f-4ee4-9912-8ab2/updateMobilityService"; + Requests[3326] = new DefaultHttpContext(); + Requests[3326].RequestServices = CreateServices(); + Requests[3326].Request.Method = "POST"; + Requests[3326].Request.Path = "/Subscriptions/ec26c501-8bfe-/resourceGroups/1ca64684-afdb-48c/providers/Microsoft.RecoveryServices/vaults/ae6c0dc7-b76/replicationFabrics/c1ad6574-8/replicationProtectionContainers/347629b8-236d-4ed5-bf9c/replicationProtectionContainerMappings/80b828e9-7f/remove"; + Requests[3327] = new DefaultHttpContext(); + Requests[3327].RequestServices = CreateServices(); + Requests[3327].Request.Method = "POST"; + Requests[3327].Request.Path = "/Subscriptions/79239821-f471-/resourceGroups/e9c8528b-5c27-464/providers/Microsoft.RecoveryServices/vaults/d9cd73f7-/backupFabrics/03f6ddda-f/protectionContainers/c7b20206-e270/protectedItems/1705ba7e-616d-405/backup"; + Requests[3328] = new DefaultHttpContext(); + Requests[3328].RequestServices = CreateServices(); + Requests[3328].Request.Method = "GET"; + Requests[3328].Request.Path = "/Subscriptions/d350ebea-c14a-/resourceGroups/1df9eb7d-6464-412/providers/Microsoft.RecoveryServices/vaults/cfecd5dc-/backupFabrics/962899ef-b/protectionContainers/2b12bd65-9a35/protectedItems/0a59032f-e8bc-4ab/recoveryPoints"; + Requests[3329] = new DefaultHttpContext(); + Requests[3329].RequestServices = CreateServices(); + Requests[3329].Request.Method = "POST"; + Requests[3329].Request.Path = "/subscriptions/0387c309-e324-/resourceGroups/a4bed76f-5747-401/providers/Microsoft.Sql/servers/20d462e1-8/databases/c4f356c9-a3e/syncGroups/4492f9e6-7643/syncMembers/ea288412-a084-/refreshSchema"; + Requests[3330] = new DefaultHttpContext(); + Requests[3330].RequestServices = CreateServices(); + Requests[3330].Request.Method = "GET"; + Requests[3330].Request.Path = "/subscriptions/c36ea357-127a-/resourceGroups/e1f0954e-4741-440/providers/Microsoft.Sql/servers/f523a608-b/databases/b6208672-2fa/syncGroups/d7940877-3904/syncMembers/5227df95-4324-/schemas"; + Requests[3331] = new DefaultHttpContext(); + Requests[3331].RequestServices = CreateServices(); + Requests[3331].Request.Method = "POST"; + Requests[3331].Request.Path = "/subscriptions/65612d78-cc72-/resourceGroups/8c84464d-27b6-4d0/providers/Microsoft.Sql/servers/ac4014ed-c/databases/9e8bb8f9-0ba/vulnerabilityAssessments/fb25dea2-6be1-4dfe-9073-b13/scans/572fff/export"; + Requests[3332] = new DefaultHttpContext(); + Requests[3332].RequestServices = CreateServices(); + Requests[3332].Request.Method = "POST"; + Requests[3332].Request.Path = "/subscriptions/21f6d6f7-bed4-/resourceGroups/6098d1e9-b78e-4f4/providers/Microsoft.Sql/servers/9b38b4ca-8/databases/ae365826-0f0/vulnerabilityAssessments/5802d0f7-71b4-470d-833c-3f1/scans/a242b1/initiateScan"; + Requests[3333] = new DefaultHttpContext(); + Requests[3333].RequestServices = CreateServices(); + Requests[3333].Request.Method = "POST"; + Requests[3333].Request.Path = "/subscriptions/fa554164-0886-/resourceGroups/180dff8e-df29-438/providers/Microsoft.Sql/servers/9f07fad8-7/jobAgents/34f36d07-229/jobs/76d3100/executions/3873a46e-ebe6-/cancel"; + Requests[3334] = new DefaultHttpContext(); + Requests[3334].RequestServices = CreateServices(); + Requests[3334].Request.Method = "GET"; + Requests[3334].Request.Path = "/subscriptions/30da1538-e8e8-/resourceGroups/849d07e7-caee-4d9/providers/Microsoft.Sql/servers/51b5ef34-2/jobAgents/ee619707-d4c/jobs/4206801/executions/d7e71646-c316-/steps"; + Requests[3335] = new DefaultHttpContext(); + Requests[3335].RequestServices = CreateServices(); + Requests[3335].Request.Method = "GET"; + Requests[3335].Request.Path = "/subscriptions/2093149a-5611-/resourceGroups/d66ec9b6-9833-4d0/providers/Microsoft.Sql/servers/d8bbfe52-1/jobAgents/8c0f7df8-856/jobs/1f56a59/executions/5a7fe312-ea49-/targets"; + Requests[3336] = new DefaultHttpContext(); + Requests[3336].RequestServices = CreateServices(); + Requests[3336].Request.Method = "GET"; + Requests[3336].Request.Path = "/subscriptions/8b7658f5-d6d6-/resourceGroups/cea9eb0f-33c7-493/providers/Microsoft.Sql/servers/dd078d3b-e/jobAgents/780dadec-a03/jobs/d288b9c/versions/e12bf2aa-f/steps"; + Requests[3337] = new DefaultHttpContext(); + Requests[3337].RequestServices = CreateServices(); + Requests[3337].Request.Method = "POST"; + Requests[3337].Request.Path = "/subscriptions/a0aff11b-71c3-/resourceGroups/a1434846-a9c9-4e0/providers/Microsoft.StorSimple/managers/7ba09545-c2/devices/7763b448-4/backups/aa949ecd-b/elements/2ffc06e1-e6e6-451/clone"; + Requests[3338] = new DefaultHttpContext(); + Requests[3338].RequestServices = CreateServices(); + Requests[3338].Request.Method = "GET"; + Requests[3338].Request.Path = "/subscriptions/2e1285b8-6205-/resourceGroups/b3c4d752-07bc-4a8/providers/Microsoft.StorSimple/managers/2d720a29-9b/devices/021aff1b-7/volumeContainers/36a6bc90-f8d6-4867-/volumes/378005bb-6/metrics"; + Requests[3339] = new DefaultHttpContext(); + Requests[3339].RequestServices = CreateServices(); + Requests[3339].Request.Method = "GET"; + Requests[3339].Request.Path = "/subscriptions/c07d2fe6-335b-/resourceGroups/cd8b4db5-8467-4e0/providers/Microsoft.StorSimple/managers/994a320c-f4/devices/75fe40c5-2/volumeContainers/76d2dec6-8d60-4a9d-/volumes/f0ada419-b/metricsDefinitions"; + Requests[3340] = new DefaultHttpContext(); + Requests[3340].RequestServices = CreateServices(); + Requests[3340].Request.Method = "POST"; + Requests[3340].Request.Path = "/subscriptions/e87fe54a-992b-/resourceGroups/d57e8546-5ce5-4e9/providers/Microsoft.Web/sites/5e5ea/slots/27fb2/hybridConnectionNamespaces/26a9420d-fe5f/relays/3394922e-/listKeys"; + Requests[3341] = new DefaultHttpContext(); + Requests[3341].RequestServices = CreateServices(); + Requests[3341].Request.Method = "GET"; + Requests[3341].Request.Path = "/subscriptions/6a2ad59a-f0f8-/resourceGroups/c0026c88-fc99-493/providers/Microsoft.Web/sites/df82b/slots/ff543/instances/592e551b-d/processes/563e8541-/dump"; + Requests[3342] = new DefaultHttpContext(); + Requests[3342].RequestServices = CreateServices(); + Requests[3342].Request.Method = "GET"; + Requests[3342].Request.Path = "/subscriptions/a475d82b-90a5-/resourceGroups/b8294c64-4196-45c/providers/Microsoft.Web/sites/4b11d/slots/c3a1a/instances/206acb99-b/processes/63578249-/modules"; + Requests[3343] = new DefaultHttpContext(); + Requests[3343].RequestServices = CreateServices(); + Requests[3343].Request.Method = "GET"; + Requests[3343].Request.Path = "/subscriptions/77b9da39-0072-/resourceGroups/0c185702-9070-407/providers/Microsoft.Web/sites/07eb1/slots/73ea7/instances/e9e3d49d-4/processes/43c50822-/threads"; + Requests[3344] = new DefaultHttpContext(); + Requests[3344].RequestServices = CreateServices(); + Requests[3344].Request.Method = "POST"; + Requests[3344].Request.Path = "/subscriptions/09610d32-5b63-/resourceGroups/51cc44cb-17b5-457/providers/Microsoft.Web/sites/03a8d13f/slots/ca034/diagnostics/0f1ed38d-88e8-49e1/analyses/49846bc0-c64/execute"; + Requests[3345] = new DefaultHttpContext(); + Requests[3345].RequestServices = CreateServices(); + Requests[3345].Request.Method = "POST"; + Requests[3345].Request.Path = "/subscriptions/a11b6724-2b53-/resourceGroups/3dac4894-4065-431/providers/Microsoft.Web/sites/73cf6653/slots/e3363/diagnostics/a146f66c-827e-456d/detectors/29a09b68-e7d/execute"; + Requests[3346] = new DefaultHttpContext(); + Requests[3346].RequestServices = CreateServices(); + Requests[3346].Request.Method = "GET"; + Requests[3346].Request.Path = "/subscriptions/83f9e57f-728f-/resourceGroups/a45a242d-3f27-4d4/providers/Microsoft.DocumentDB/databaseAccounts/58e67e8d-42/region/fe5a5e/databases/019cad52-20/collections/2d5dbc83-d869/partitions/metrics"; + Requests[3347] = new DefaultHttpContext(); + Requests[3347].RequestServices = CreateServices(); + Requests[3347].Request.Method = "GET"; + Requests[3347].Request.Path = "/subscriptions/89703c2b-9084-/resourceGroups/b1f2484b-54c6-421/providers/Microsoft.Compute/virtualMachineScaleSets/e0fb629d-95cf-4d92-b042-20/virtualMachines/3530ca09-8360-4aa9-/networkInterfaces/86879691-b70e-40ca-9/ipconfigurations/19b46d02-e404-4595-/publicipaddresses/39eab1ae-93ad-487a-"; + Requests[3348] = new DefaultHttpContext(); + Requests[3348].RequestServices = CreateServices(); + Requests[3348].Request.Method = "GET"; + Requests[3348].Request.Path = "/Subscriptions/10f4019e-0f99-/resourceGroups/2070ada2-9121-44b/providers/Microsoft.RecoveryServices/vaults/952efc2c-108/replicationFabrics/96f5fe05-8/replicationProtectionContainers/b3162673-24ea-430a-a5d0/replicationProtectedItems/50283ac7-a1ff-42c1-9891-6c4/recoveryPoints/5a815704-55d9-4d0"; + Requests[3349] = new DefaultHttpContext(); + Requests[3349].RequestServices = CreateServices(); + Requests[3349].Request.Method = "GET"; + Requests[3349].Request.Path = "/Subscriptions/fcffe3b8-8c6c-/resourceGroups/e04910c3-eb7c-424/providers/Microsoft.RecoveryServices/vaults/3c1810ef-/backupFabrics/5484b342-5/protectionContainers/58015482-26d3/protectedItems/68434c34-c3ef-49d/operationResults/bd77a203-72"; + Requests[3350] = new DefaultHttpContext(); + Requests[3350].RequestServices = CreateServices(); + Requests[3350].Request.Method = "GET"; + Requests[3350].Request.Path = "/Subscriptions/eae38ea8-8149-/resourceGroups/dab26b6a-a69c-40e/providers/Microsoft.RecoveryServices/vaults/12b839d5-/backupFabrics/95724839-3/protectionContainers/3862234f-bcd7/protectedItems/aea1f9fe-d581-49b/operationsStatus/44bddabb-37"; + Requests[3351] = new DefaultHttpContext(); + Requests[3351].RequestServices = CreateServices(); + Requests[3351].Request.Method = "GET"; + Requests[3351].Request.Path = "/Subscriptions/afb90108-93a7-/resourceGroups/d0e2f3eb-3e08-40e/providers/Microsoft.RecoveryServices/vaults/334660c9-/backupFabrics/c7e5e626-b/protectionContainers/afbaedd2-4e2d/protectedItems/4c9a32c8-82be-47d/recoveryPoints/bee86c8e-5414-4"; + Requests[3352] = new DefaultHttpContext(); + Requests[3352].RequestServices = CreateServices(); + Requests[3352].Request.Method = "DELETE"; + Requests[3352].Request.Path = "/subscriptions/3b8e08d3-954a-/resourceGroups/43eebb41-640b-4d6/providers/Microsoft.Sql/servers/e31bf5ca-b/databases/03048e25-1fe/vulnerabilityAssessments/96b20ebb-ba01-4d4b-b757-629/rules/8c0b98/baselines/d11c3d34-314"; + Requests[3353] = new DefaultHttpContext(); + Requests[3353].RequestServices = CreateServices(); + Requests[3353].Request.Method = "GET"; + Requests[3353].Request.Path = "/subscriptions/f953eb45-80e7-/resourceGroups/7c4094d6-1187-435/providers/Microsoft.Sql/servers/49fc4cca-3/jobAgents/1826dc1d-4c1/jobs/cef14da/executions/ae3312ca-8ea6-/steps/678234bc"; + Requests[3354] = new DefaultHttpContext(); + Requests[3354].RequestServices = CreateServices(); + Requests[3354].Request.Method = "GET"; + Requests[3354].Request.Path = "/subscriptions/68002e64-1172-/resourceGroups/62cd2cc6-9a8c-4ff/providers/Microsoft.Sql/servers/8c51f255-4/jobAgents/63845d8e-860/jobs/28b6c49/versions/8587c87b-0/steps/3ed07b68"; + Requests[3355] = new DefaultHttpContext(); + Requests[3355].RequestServices = CreateServices(); + Requests[3355].Request.Method = "GET"; + Requests[3355].Request.Path = "/subscriptions/ed36a7d8-0f47-/resourceGroups/391c0264-f377-46c/providers/Microsoft.Web/sites/e709b/slots/9ad03/instances/4968e96d-0/processes/e8e63d1e-/modules/d9297efe-29"; + Requests[3356] = new DefaultHttpContext(); + Requests[3356].RequestServices = CreateServices(); + Requests[3356].Request.Method = "GET"; + Requests[3356].Request.Path = "/subscriptions/a8f1a267-91c0-/resourceGroups/0e729b57-d441-488/providers/Microsoft.Web/sites/d22a7/slots/c9eb0/instances/03e9e78e-1/processes/26fd1003-/threads/06eb96c1"; + Requests[3357] = new DefaultHttpContext(); + Requests[3357].RequestServices = CreateServices(); + Requests[3357].Request.Method = "GET"; + Requests[3357].Request.Path = "/subscriptions/1ba28092-3346-/resourceGroups/ab434a79-f606-41d/providers/Microsoft.DocumentDB/databaseAccounts/e0ff4f87-2c/region/7c2510/databases/99c5c92c-5c/collections/ffa1a61c-ec55/partitionKeyRangeId/b2e7a5bd-6eaf-4665-/metrics"; + Requests[3358] = new DefaultHttpContext(); + Requests[3358].RequestServices = CreateServices(); + Requests[3358].Request.Method = "POST"; + Requests[3358].Request.Path = "/Subscriptions/3b385596-3ea8-/resourceGroups/5128b3d6-09e4-410/providers/Microsoft.RecoveryServices/vaults/eb3d6fea-/backupFabrics/26ebf1fb-1/protectionContainers/2c18d577-d37a/protectedItems/9c8d0a66-0559-4fc/recoveryPoints/bd5c2b39-963f-4/provisionInstantItemRecovery"; + Requests[3359] = new DefaultHttpContext(); + Requests[3359].RequestServices = CreateServices(); + Requests[3359].Request.Method = "POST"; + Requests[3359].Request.Path = "/Subscriptions/7500a143-b4d5-/resourceGroups/3a57b155-778e-40c/providers/Microsoft.RecoveryServices/vaults/bd604402-/backupFabrics/4b3ca6bb-0/protectionContainers/04a70e63-4548/protectedItems/c1201388-5aec-41a/recoveryPoints/25f12862-8223-4/restore"; + Requests[3360] = new DefaultHttpContext(); + Requests[3360].RequestServices = CreateServices(); + Requests[3360].Request.Method = "POST"; + Requests[3360].Request.Path = "/Subscriptions/f76a4f9c-3311-/resourceGroups/7dbfdff1-32ab-47c/providers/Microsoft.RecoveryServices/vaults/ba1ad6ed-/backupFabrics/d3b6b7a8-9/protectionContainers/53deb142-e03b/protectedItems/a2f65632-05d7-4c2/recoveryPoints/ea8a4fd8-eb78-4/revokeInstantItemRecovery"; + Requests[3361] = new DefaultHttpContext(); + Requests[3361].RequestServices = CreateServices(); + Requests[3361].Request.Method = "GET"; + Requests[3361].Request.Path = "/subscriptions/b7a101b4-106c-/resourceGroups/305cb8e8-f19a-4a0/providers/Microsoft.Sql/servers/1563e30e-4/jobAgents/86e0bd85-d75/jobs/0870c68/executions/ab7fedf4-6fe7-/steps/f3da8d7f/targets"; + Requests[3362] = new DefaultHttpContext(); + Requests[3362].RequestServices = CreateServices(); + Requests[3362].Request.Method = "GET"; + Requests[3362].Request.Path = "/subscriptions/24e8e8b4-9456-/resourceGroups/7c9dcae8-e666-400/providers/Microsoft.Sql/servers/4962edb4-f/jobAgents/350c51cb-22f/jobs/edbe163/executions/2af7c3fb-261e-/steps/cb0e0a68/targets/5711eb1d"; + Requests[3363] = new DefaultHttpContext(); + Requests[3363].RequestServices = CreateServices(); + Requests[3363].Request.Method = "PATCH"; + Requests[3363].Request.Path = "/subscriptions/21d9d400-5eb7-/resourceGroups/265adefe-3b4f-4e4/providers/Microsoft.ApiManagement/service/ff3f1a0b-ca/quotas/103a08aa-e369-4/b0efe65e-e15c-"; + Requests[3364] = new DefaultHttpContext(); + Requests[3364].RequestServices = CreateServices(); + Requests[3364].Request.Method = "POST"; + Requests[3364].Request.Path = "/subscriptions/a8cbd9fe-5d02-/resourceGroups/060083ed-d2ad-4bd/providers/Microsoft.Security/locations/f37d0189-ea/alerts/2804ac06-/766fbc46-5183-4b55-af"; + Requests[3365] = new DefaultHttpContext(); + Requests[3365].RequestServices = CreateServices(); + Requests[3365].Request.Method = "POST"; + Requests[3365].Request.Path = "/subscriptions/59833094-3fcc-/resourceGroups/15e3dfa5-a237-4e7/providers/Microsoft.Security/locations/e9ff2f85-f6/jitNetworkAccessPolicies/9a22419c-4314-477f-a92a-44/b619a0fe-0779-467c-aef0-7050c1aa"; + Requests[3366] = new DefaultHttpContext(); + Requests[3366].RequestServices = CreateServices(); + Requests[3366].Request.Method = "POST"; + Requests[3366].Request.Path = "/subscriptions/094908a0-ade8-/resourceGroups/34785a2d-ee85-420/providers/Microsoft.Security/locations/bd1e43e8-49/tasks/46d74b02/a5ab2ab3-0073-44da-9"; + Requests[3367] = new DefaultHttpContext(); + Requests[3367].RequestServices = CreateServices(); + Requests[3367].Request.Method = "GET"; + Requests[3367].Request.Path = "/subscriptions/ca78ff97-e2ad-/resourceGroups/3a697383-3f18-477/providers/microsoft.insights/components/56a0e360-4f2/63057615-"; + Requests[3368] = new DefaultHttpContext(); + Requests[3368].RequestServices = CreateServices(); + Requests[3368].Request.Method = "GET"; + Requests[3368].Request.Path = "/subscriptions/bee2385f-de5f-/resourceGroups/efe1e7b7-62ac-49c/providers/Microsoft.Network/dnsZones/10be54ef/9b025ac9-c"; + Requests[3369] = new DefaultHttpContext(); + Requests[3369].RequestServices = CreateServices(); + Requests[3369].Request.Method = "DELETE"; + Requests[3369].Request.Path = "/subscriptions/5ee97344-ef05-/resourceGroups/3a7c6b3d-1152-46e/providers/microsoft.insights/components/54b1c6c3-8b8/2af0bfea-/item"; + Requests[3370] = new DefaultHttpContext(); + Requests[3370].RequestServices = CreateServices(); + Requests[3370].Request.Method = "GET"; + Requests[3370].Request.Path = "/subscriptions/d641db12-2b56-/resourceGroups/bdbdfb60-1f98-465/providers/Microsoft.Network/dnsZones/5c5aa3f7/911b01b8-c/ac1f3b63-1c78-4e27-ac"; + Requests[3371] = new DefaultHttpContext(); + Requests[3371].RequestServices = CreateServices(); + Requests[3371].Request.Method = "DELETE"; + Requests[3371].Request.Path = "/subscriptions/5f8fdc6d-8304-/resourceGroups/89e271a9-1b99-47e/providers/Microsoft.Network/trafficmanagerprofiles/ac358470-b3/5d0ebcc3-e30/03ab7a58-e6b"; + Requests[3372] = new DefaultHttpContext(); + Requests[3372].RequestServices = CreateServices(); + Requests[3372].Request.Method = "DELETE"; + Requests[3372].Request.Path = "/apis/4d35b/operations/c2dee1f0-b9/policies/7f9604af"; + Requests[3373] = new DefaultHttpContext(); + Requests[3373].RequestServices = CreateServices(); + Requests[3373].Request.Method = "DELETE"; + Requests[3373].Request.Path = "/apps/d3693/versions/9f43faaf-/closedlists/085e2998-4"; + Requests[3374] = new DefaultHttpContext(); + Requests[3374].RequestServices = CreateServices(); + Requests[3374].Request.Method = "DELETE"; + Requests[3374].Request.Path = "/apps/bf328/versions/c0af449e-/compositeentities/ffadd711-"; + Requests[3375] = new DefaultHttpContext(); + Requests[3375].RequestServices = CreateServices(); + Requests[3375].Request.Method = "DELETE"; + Requests[3375].Request.Path = "/apps/857d2/versions/830f7471-/customprebuiltdomains/784b84a5-8"; + Requests[3376] = new DefaultHttpContext(); + Requests[3376].RequestServices = CreateServices(); + Requests[3376].Request.Method = "DELETE"; + Requests[3376].Request.Path = "/apps/c434a/versions/0d9ae1b4-/entities/e66be5c6"; + Requests[3377] = new DefaultHttpContext(); + Requests[3377].RequestServices = CreateServices(); + Requests[3377].Request.Method = "DELETE"; + Requests[3377].Request.Path = "/apps/c26b1/versions/873285d9-/examples/712813c7-"; + Requests[3378] = new DefaultHttpContext(); + Requests[3378].RequestServices = CreateServices(); + Requests[3378].Request.Method = "DELETE"; + Requests[3378].Request.Path = "/apps/586f7/versions/fd327d6f-/hierarchicalentities/fb81f323-"; + Requests[3379] = new DefaultHttpContext(); + Requests[3379].RequestServices = CreateServices(); + Requests[3379].Request.Method = "DELETE"; + Requests[3379].Request.Path = "/apps/24ac3/versions/10da2bdf-/intents/205bd0c5"; + Requests[3380] = new DefaultHttpContext(); + Requests[3380].RequestServices = CreateServices(); + Requests[3380].Request.Method = "DELETE"; + Requests[3380].Request.Path = "/apps/f2190/versions/19e08aae-/patternanyentities/5a7129ad"; + Requests[3381] = new DefaultHttpContext(); + Requests[3381].RequestServices = CreateServices(); + Requests[3381].Request.Method = "DELETE"; + Requests[3381].Request.Path = "/apps/56715/versions/fbef6bd3-/patternrules/87b483fa-"; + Requests[3382] = new DefaultHttpContext(); + Requests[3382].RequestServices = CreateServices(); + Requests[3382].Request.Method = "DELETE"; + Requests[3382].Request.Path = "/apps/c7377/versions/50afb2c7-/patterns/6ed05835-"; + Requests[3383] = new DefaultHttpContext(); + Requests[3383].RequestServices = CreateServices(); + Requests[3383].Request.Method = "DELETE"; + Requests[3383].Request.Path = "/apps/6ab5e/versions/1584397b-/phraselists/60558de4-7e6"; + Requests[3384] = new DefaultHttpContext(); + Requests[3384].RequestServices = CreateServices(); + Requests[3384].Request.Method = "DELETE"; + Requests[3384].Request.Path = "/apps/a8312/versions/f58f6a3b-/prebuilts/332a1cea-a"; + Requests[3385] = new DefaultHttpContext(); + Requests[3385].RequestServices = CreateServices(); + Requests[3385].Request.Method = "DELETE"; + Requests[3385].Request.Path = "/apps/3f2ea/versions/000b5eaf-/regexentities/9ca96f68-7b8c"; + Requests[3386] = new DefaultHttpContext(); + Requests[3386].RequestServices = CreateServices(); + Requests[3386].Request.Method = "HEAD"; + Requests[3386].Request.Path = "/jobs/0a7f6/tasks/c65388/files/6400f9b6"; + Requests[3387] = new DefaultHttpContext(); + Requests[3387].RequestServices = CreateServices(); + Requests[3387].Request.Method = "PATCH"; + Requests[3387].Request.Path = "/persongroups/1e3f30e2-f640/persons/acf60416/persistedFaces/e92698f9-c416-4"; + Requests[3388] = new DefaultHttpContext(); + Requests[3388].RequestServices = CreateServices(); + Requests[3388].Request.Method = "HEAD"; + Requests[3388].Request.Path = "/pools/fa7888/nodes/4b0b7a/files/99c0c906"; + Requests[3389] = new DefaultHttpContext(); + Requests[3389].RequestServices = CreateServices(); + Requests[3389].Request.Method = "PUT"; + Requests[3389].Request.Path = "/pools/3135bd/nodes/190a35/users/ed7133df"; + Requests[3390] = new DefaultHttpContext(); + Requests[3390].RequestServices = CreateServices(); + Requests[3390].Request.Method = "PUT"; + Requests[3390].Request.Path = "/subscriptions/afc275a5-57d7-/tagNames/622610b/tagValues/fc1537ce"; + Requests[3391] = new DefaultHttpContext(); + Requests[3391].RequestServices = CreateServices(); + Requests[3391].Request.Method = "POST"; + Requests[3391].Request.Path = "/apps/630c1/versions/4e7ca368-/closedlists/ac210979-d/sublists"; + Requests[3392] = new DefaultHttpContext(); + Requests[3392].RequestServices = CreateServices(); + Requests[3392].Request.Method = "POST"; + Requests[3392].Request.Path = "/apps/bd201/versions/510fd6e0-/closedlists/1a21d27c/roles"; + Requests[3393] = new DefaultHttpContext(); + Requests[3393].RequestServices = CreateServices(); + Requests[3393].Request.Method = "POST"; + Requests[3393].Request.Path = "/apps/88023/versions/5e2dd292-/compositeentities/b382467a-/children"; + Requests[3394] = new DefaultHttpContext(); + Requests[3394].RequestServices = CreateServices(); + Requests[3394].Request.Method = "POST"; + Requests[3394].Request.Path = "/apps/4c936/versions/4fd50486-/compositeentities/7eeeba5a-/roles"; + Requests[3395] = new DefaultHttpContext(); + Requests[3395].RequestServices = CreateServices(); + Requests[3395].Request.Method = "POST"; + Requests[3395].Request.Path = "/apps/2f260/versions/e09f3a8d-/customprebuiltentities/dc3c3082/roles"; + Requests[3396] = new DefaultHttpContext(); + Requests[3396].RequestServices = CreateServices(); + Requests[3396].Request.Method = "POST"; + Requests[3396].Request.Path = "/apps/98ea3/versions/31ace458-/entities/601633fa/roles"; + Requests[3397] = new DefaultHttpContext(); + Requests[3397].RequestServices = CreateServices(); + Requests[3397].Request.Method = "GET"; + Requests[3397].Request.Path = "/apps/d2ac5/versions/10a67109-/entities/f5a8855b/suggest"; + Requests[3398] = new DefaultHttpContext(); + Requests[3398].RequestServices = CreateServices(); + Requests[3398].Request.Method = "POST"; + Requests[3398].Request.Path = "/apps/b403c/versions/b917b4a6-/hierarchicalentities/68c6995c-/children"; + Requests[3399] = new DefaultHttpContext(); + Requests[3399].RequestServices = CreateServices(); + Requests[3399].Request.Method = "POST"; + Requests[3399].Request.Path = "/apps/6a24a/versions/6aced2a5-/hierarchicalentities/124adbbc-/roles"; + Requests[3400] = new DefaultHttpContext(); + Requests[3400].RequestServices = CreateServices(); + Requests[3400].Request.Method = "GET"; + Requests[3400].Request.Path = "/apps/bb884/versions/fbc7cda3-/intents/f1bcb1c9/patternrules"; + Requests[3401] = new DefaultHttpContext(); + Requests[3401].RequestServices = CreateServices(); + Requests[3401].Request.Method = "GET"; + Requests[3401].Request.Path = "/apps/94c77/versions/1b67dd10-/intents/7014e75c/suggest"; + Requests[3402] = new DefaultHttpContext(); + Requests[3402].RequestServices = CreateServices(); + Requests[3402].Request.Method = "GET"; + Requests[3402].Request.Path = "/apps/bdd4f/versions/d02eb849-/models/fe51bca/examples"; + Requests[3403] = new DefaultHttpContext(); + Requests[3403].RequestServices = CreateServices(); + Requests[3403].Request.Method = "POST"; + Requests[3403].Request.Path = "/apps/3767e/versions/0e05d672-/patternanyentities/80579903/explicitlist"; + Requests[3404] = new DefaultHttpContext(); + Requests[3404].RequestServices = CreateServices(); + Requests[3404].Request.Method = "POST"; + Requests[3404].Request.Path = "/apps/5ee91/versions/05df7bf8-/patternanyentities/942827fc/roles"; + Requests[3405] = new DefaultHttpContext(); + Requests[3405].RequestServices = CreateServices(); + Requests[3405].Request.Method = "POST"; + Requests[3405].Request.Path = "/apps/47ebe/versions/8673e4cf-/prebuilts/2cd4f13a/roles"; + Requests[3406] = new DefaultHttpContext(); + Requests[3406].RequestServices = CreateServices(); + Requests[3406].Request.Method = "POST"; + Requests[3406].Request.Path = "/apps/37c70/versions/ca5a8efe-/regexentities/27bdeb1e/roles"; + Requests[3407] = new DefaultHttpContext(); + Requests[3407].RequestServices = CreateServices(); + Requests[3407].Request.Method = "GET"; + Requests[3407].Request.Path = "/subscriptions/7259ebd1-3746-/resourcegroups/13430ca8-57d0-47c/deployments/421256df-1aa9-/operations"; + Requests[3408] = new DefaultHttpContext(); + Requests[3408].RequestServices = CreateServices(); + Requests[3408].Request.Method = "POST"; + Requests[3408].Request.Path = "/subscriptions/b844d95b-74dc-/providers/838157da-7333-44d3-9db/policyAssignments/ed0897a2-c020-4599-b/providers/Microsoft.PolicyInsights/policyEvents/e3051d3b-f236-418d-8/queryResults"; + Requests[3409] = new DefaultHttpContext(); + Requests[3409].RequestServices = CreateServices(); + Requests[3409].Request.Method = "POST"; + Requests[3409].Request.Path = "/subscriptions/fd0f3cc0-3c9d-/providers/5a91b97f-9efa-44d6-ac0/policyAssignments/10a3c3f3-7288-4ca0-9/providers/Microsoft.PolicyInsights/policyStates/387fdd4b-7110-4c97-a/queryResults"; + Requests[3410] = new DefaultHttpContext(); + Requests[3410].RequestServices = CreateServices(); + Requests[3410].Request.Method = "POST"; + Requests[3410].Request.Path = "/subscriptions/4e5552dd-0aee-/providers/d33cc9b3-a7c6-4258-841/policyAssignments/df317e64-239f-4636-8/providers/Microsoft.PolicyInsights/policyStates/9e6b9cea-f2db-45a7-af8d-091/summarize"; + Requests[3411] = new DefaultHttpContext(); + Requests[3411].RequestServices = CreateServices(); + Requests[3411].Request.Method = "POST"; + Requests[3411].Request.Path = "/subscriptions/84d938b6-cdc1-/providers/f9b44198-c535-411e-837/policyDefinitions/50665ad7-6440-4a26-a/providers/Microsoft.PolicyInsights/policyEvents/5533de8c-3e1c-418b-9/queryResults"; + Requests[3412] = new DefaultHttpContext(); + Requests[3412].RequestServices = CreateServices(); + Requests[3412].Request.Method = "POST"; + Requests[3412].Request.Path = "/subscriptions/fb4f0fc9-9697-/providers/dfd28320-ec7f-4c22-b8e/policyDefinitions/fcd39a7d-ed60-49e3-9/providers/Microsoft.PolicyInsights/policyStates/874f4ca5-0750-4bb0-b/queryResults"; + Requests[3413] = new DefaultHttpContext(); + Requests[3413].RequestServices = CreateServices(); + Requests[3413].Request.Method = "POST"; + Requests[3413].Request.Path = "/subscriptions/b8683f31-c620-/providers/306188e6-90c8-4ed5-839/policyDefinitions/f63d9b51-6d54-4b56-a/providers/Microsoft.PolicyInsights/policyStates/8c378b02-3cc3-4407-a7a2-db8/summarize"; + Requests[3414] = new DefaultHttpContext(); + Requests[3414].RequestServices = CreateServices(); + Requests[3414].Request.Method = "POST"; + Requests[3414].Request.Path = "/subscriptions/50456f52-d3ea-/providers/c2aba201-c693-43ca-ab6/policySetDefinitions/bcd2155f-83fc-48dc-a887/providers/Microsoft.PolicyInsights/policyEvents/43ff0f56-8fbf-4e00-9/queryResults"; + Requests[3415] = new DefaultHttpContext(); + Requests[3415].RequestServices = CreateServices(); + Requests[3415].Request.Method = "POST"; + Requests[3415].Request.Path = "/subscriptions/c734ded9-1a7d-/providers/6aa5f295-90ba-4f92-91a/policySetDefinitions/9a176a2a-c1cc-4804-bd85/providers/Microsoft.PolicyInsights/policyStates/6cd756ea-133f-4b04-b/queryResults"; + Requests[3416] = new DefaultHttpContext(); + Requests[3416].RequestServices = CreateServices(); + Requests[3416].Request.Method = "POST"; + Requests[3416].Request.Path = "/subscriptions/5619c476-3b50-/providers/c5ecfecf-6578-475c-90a/policySetDefinitions/e3ed3a4f-ddc4-4d0f-a698/providers/Microsoft.PolicyInsights/policyStates/8ee9fdd3-e8fa-4dd6-bf73-d9a/summarize"; + Requests[3417] = new DefaultHttpContext(); + Requests[3417].RequestServices = CreateServices(); + Requests[3417].Request.Method = "PUT"; + Requests[3417].Request.Path = "/apps/a3137/versions/29168240-/closedlists/0dd9e001-5/sublists/0b899be2-"; + Requests[3418] = new DefaultHttpContext(); + Requests[3418].RequestServices = CreateServices(); + Requests[3418].Request.Method = "DELETE"; + Requests[3418].Request.Path = "/apps/dd170/versions/7411785b-/closedlists/9ba38295/roles/322c67"; + Requests[3419] = new DefaultHttpContext(); + Requests[3419].RequestServices = CreateServices(); + Requests[3419].Request.Method = "DELETE"; + Requests[3419].Request.Path = "/apps/9cd96/versions/061bead6-/compositeentities/d5380e23-/children/f31677e1"; + Requests[3420] = new DefaultHttpContext(); + Requests[3420].RequestServices = CreateServices(); + Requests[3420].Request.Method = "DELETE"; + Requests[3420].Request.Path = "/apps/48a34/versions/83530774-/compositeentities/ea07ba9e-/roles/6d51cc"; + Requests[3421] = new DefaultHttpContext(); + Requests[3421].RequestServices = CreateServices(); + Requests[3421].Request.Method = "DELETE"; + Requests[3421].Request.Path = "/apps/36ec9/versions/aca7eaa9-/customprebuiltentities/6bcb32ac/roles/5de2d8"; + Requests[3422] = new DefaultHttpContext(); + Requests[3422].RequestServices = CreateServices(); + Requests[3422].Request.Method = "DELETE"; + Requests[3422].Request.Path = "/apps/d542f/versions/54d6dbc8-/entities/8c449a88/roles/af217f"; + Requests[3423] = new DefaultHttpContext(); + Requests[3423].RequestServices = CreateServices(); + Requests[3423].Request.Method = "DELETE"; + Requests[3423].Request.Path = "/apps/96253/versions/1f5399bb-/hierarchicalentities/ffa7382d-/children/6b7cff75"; + Requests[3424] = new DefaultHttpContext(); + Requests[3424].RequestServices = CreateServices(); + Requests[3424].Request.Method = "DELETE"; + Requests[3424].Request.Path = "/apps/bdb67/versions/c805b596-/hierarchicalentities/c450ed73-/roles/3c4623"; + Requests[3425] = new DefaultHttpContext(); + Requests[3425].RequestServices = CreateServices(); + Requests[3425].Request.Method = "DELETE"; + Requests[3425].Request.Path = "/apps/437a5/versions/ad44341d-/patternanyentities/258f3feb/explicitlist/d9f51b"; + Requests[3426] = new DefaultHttpContext(); + Requests[3426].RequestServices = CreateServices(); + Requests[3426].Request.Method = "DELETE"; + Requests[3426].Request.Path = "/apps/7e293/versions/a8d28ab6-/patternanyentities/838a8099/roles/95a55f"; + Requests[3427] = new DefaultHttpContext(); + Requests[3427].RequestServices = CreateServices(); + Requests[3427].Request.Method = "DELETE"; + Requests[3427].Request.Path = "/apps/1293c/versions/ae22fdf0-/prebuilts/d76f5f3c/roles/aaf517"; + Requests[3428] = new DefaultHttpContext(); + Requests[3428].RequestServices = CreateServices(); + Requests[3428].Request.Method = "DELETE"; + Requests[3428].Request.Path = "/apps/dec36/versions/86d51d48-/regexentities/3cfe5d39/roles/673cab"; + Requests[3429] = new DefaultHttpContext(); + Requests[3429].RequestServices = CreateServices(); + Requests[3429].Request.Method = "GET"; + Requests[3429].Request.Path = "/subscriptions/99f01c50-9f79-/resourcegroups/cfa62b44-b873-486/deployments/97eea82a-6f14-/operations/88059381-6f"; + Requests[3430] = new DefaultHttpContext(); + Requests[3430].RequestServices = CreateServices(); + Requests[3430].Request.Method = "POST"; + Requests[3430].Request.Path = "/subscriptions/d401124e-1459-/resourcegroups/dd8532cc-656f-498/providers/92aca556-491d-4617-8ff/policyAssignments/e5433f1a-768e-4f5d-9/providers/Microsoft.PolicyInsights/policyEvents/877d98bf-fba0-4219-8/queryResults"; + Requests[3431] = new DefaultHttpContext(); + Requests[3431].RequestServices = CreateServices(); + Requests[3431].Request.Method = "POST"; + Requests[3431].Request.Path = "/subscriptions/c8d4a51d-146b-/resourcegroups/1942d1cd-d6a4-459/providers/2ff564fc-6286-43ee-b0f/policyAssignments/a46ec1d3-aa93-47fb-8/providers/Microsoft.PolicyInsights/policyStates/2e9a906b-8ed1-4fa3-8/queryResults"; + Requests[3432] = new DefaultHttpContext(); + Requests[3432].RequestServices = CreateServices(); + Requests[3432].Request.Method = "POST"; + Requests[3432].Request.Path = "/subscriptions/3288be26-0da7-/resourcegroups/cae3a1bd-e62c-44c/providers/207fb85c-c7e8-4a97-81f/policyAssignments/7db5c558-8019-45f5-b/providers/Microsoft.PolicyInsights/policyStates/e4366bd8-67f1-4a90-ba86-7f5/summarize"; + Requests[3433] = new DefaultHttpContext(); + Requests[3433].RequestServices = CreateServices(); + Requests[3433].Request.Method = "GET"; + Requests[3433].Request.Path = "/subscriptions/06f8b472-cd93-/resourceGroups/f5ba84cc-f082-4b5/providers/85f3cc9e-b438-413/e329c23f-dee6-46/19a392d8-791/providers/Microsoft.EventGrid/eventSubscriptions"; + Requests[3434] = new DefaultHttpContext(); + Requests[3434].RequestServices = CreateServices(); + Requests[3434].Request.Method = "GET"; + Requests[3434].Request.Path = "/subscriptions/6ca5c211-2bdb-/resourceGroups/5134ad71-cbc6-42a/providers/f3858386-206a-467/1a601212-7a09-4f/e73cf087-9f5/providers/Microsoft.EventGrid/eventTypes"; + Requests[3435] = new DefaultHttpContext(); + Requests[3435].RequestServices = CreateServices(); + Requests[3435].Request.Method = "GET"; + Requests[3435].Request.Path = "/subscriptions/e4bb9c6d-e841-/resourcegroups/c7f96a4e-fd9d-405/providers/9881e69a-7fb/c2fabab6-eaa/7ccca89a-229/providers/Microsoft.OperationsManagement/ManagementAssociations/a3ed9791-20fc-43d9-af72-5"; + Requests[3436] = new DefaultHttpContext(); + Requests[3436].RequestServices = CreateServices(); + Requests[3436].Request.Method = "GET"; + Requests[3436].Request.Path = "/subscriptions/f8602411-ac77-/resourcegroups/c67a9d21-45f0-4b5/providers/5af6e4af-edcc-4975-a76c-a/56811225-1eb3-4160/66256656-354/7cba89bd-55a"; + Requests[3437] = new DefaultHttpContext(); + Requests[3437].RequestServices = CreateServices(); + Requests[3437].Request.Method = "GET"; + Requests[3437].Request.Path = "/subscriptions/e6d9450d-c442-/resourcegroups/d3173b51-5656-47b/providers/062c2b09-be89-4c9b-89a2-2/23226c2d-951c-4418/76bcacfe-b45/5a0d957d-09e/providers/Microsoft.Authorization/locks"; + Requests[3438] = new DefaultHttpContext(); + Requests[3438].RequestServices = CreateServices(); + Requests[3438].Request.Method = "GET"; + Requests[3438].Request.Path = "/subscriptions/3b187206-14e9-/resourcegroups/bdc1f1ee-4afe-441/providers/34f524ed-b3a0-4698-9dae-7/ba817d17-2d44-4316/6856c958-dd8/d752ba19-753/providers/Microsoft.Authorization/permissions"; + Requests[3439] = new DefaultHttpContext(); + Requests[3439].RequestServices = CreateServices(); + Requests[3439].Request.Method = "GET"; + Requests[3439].Request.Path = "/subscriptions/66fe2d16-5e80-/resourcegroups/c6a2cb1e-45fb-43d/providers/394befcd-a239-45d5-9d2f-0/1b50afc8-4e65-4e3e/9c5fcc06-feb/0b55eebb-763/providers/Microsoft.Authorization/policyAssignments"; + Requests[3440] = new DefaultHttpContext(); + Requests[3440].RequestServices = CreateServices(); + Requests[3440].Request.Method = "GET"; + Requests[3440].Request.Path = "/subscriptions/6e9f14ab-1faa-/resourcegroups/4b6d7b6e-81f5-45f/providers/5462f2bf-b249-48d5-9e7c-5/a04aaf71-6e68-4d55/020ef8ba-d4b/313c1370-7b9/providers/Microsoft.Authorization/roleAssignments"; + Requests[3441] = new DefaultHttpContext(); + Requests[3441].RequestServices = CreateServices(); + Requests[3441].Request.Method = "GET"; + Requests[3441].Request.Path = "/subscriptions/0e0b8f14-fad4-/resourcegroups/a67f550d-fdc8-42b/providers/e68ff4d2-10c1-4c9c-82d8-f/b1689285-0750-4eb8/2ed223b8-c67/dd2c9821-2f7/providers/Microsoft.Authorization/locks/84a9ae91"; + Requests[3442] = new DefaultHttpContext(); + Requests[3442].RequestServices = CreateServices(); + Requests[3442].Request.Method = "GET"; + Requests[3442].Request.Path = "/apps/5f68b/events/89f50ec1-/66ce49b"; + Requests[3443] = new DefaultHttpContext(); + Requests[3443].RequestServices = CreateServices(); + Requests[3443].Request.Method = "GET"; + Requests[3443].Request.Path = "/certificates/72742049-2d02-48/241ae955-db05-48a4-"; + Requests[3444] = new DefaultHttpContext(); + Requests[3444].RequestServices = CreateServices(); + Requests[3444].Request.Method = "GET"; + Requests[3444].Request.Path = "/keys/051ccaba/fdbe8776-25"; + Requests[3445] = new DefaultHttpContext(); + Requests[3445].RequestServices = CreateServices(); + Requests[3445].Request.Method = "PATCH"; + Requests[3445].Request.Path = "/quotas/8186e47c-d50c-4/130f53a6-44aa-"; + Requests[3446] = new DefaultHttpContext(); + Requests[3446].RequestServices = CreateServices(); + Requests[3446].Request.Method = "GET"; + Requests[3446].Request.Path = "/secrets/64244ad1-c2/2874dd6e-e80c-"; + Requests[3447] = new DefaultHttpContext(); + Requests[3447].RequestServices = CreateServices(); + Requests[3447].Request.Method = "POST"; + Requests[3447].Request.Path = "/keys/2ece3b8a/70e39e1f-71/decrypt"; + Requests[3448] = new DefaultHttpContext(); + Requests[3448].RequestServices = CreateServices(); + Requests[3448].Request.Method = "POST"; + Requests[3448].Request.Path = "/keys/182433da/20e2a813-0f/encrypt"; + Requests[3449] = new DefaultHttpContext(); + Requests[3449].RequestServices = CreateServices(); + Requests[3449].Request.Method = "POST"; + Requests[3449].Request.Path = "/keys/4612b2c8/2f1e7d40-a6/sign"; + Requests[3450] = new DefaultHttpContext(); + Requests[3450].RequestServices = CreateServices(); + Requests[3450].Request.Method = "POST"; + Requests[3450].Request.Path = "/keys/69b994c8/f38e4356-24/unwrapkey"; + Requests[3451] = new DefaultHttpContext(); + Requests[3451].RequestServices = CreateServices(); + Requests[3451].Request.Method = "POST"; + Requests[3451].Request.Path = "/keys/ca8e9477/40651d14-e8/verify"; + Requests[3452] = new DefaultHttpContext(); + Requests[3452].RequestServices = CreateServices(); + Requests[3452].Request.Method = "POST"; + Requests[3452].Request.Path = "/keys/f069329f/be730578-63/wrapkey"; + Requests[3453] = new DefaultHttpContext(); + Requests[3453].RequestServices = CreateServices(); + Requests[3453].Request.Method = "PUT"; + Requests[3453].Request.Path = "/45e31c03-5fc1-4665-8c53"; + Requests[3454] = new DefaultHttpContext(); + Requests[3454].RequestServices = CreateServices(); + Requests[3454].Request.Method = "POST"; + Requests[3454].Request.Path = "/d42d5b71-/image"; + Requests[3455] = new DefaultHttpContext(); + Requests[3455].RequestServices = CreateServices(); + Requests[3455].Request.Method = "POST"; + Requests[3455].Request.Path = "/897d5bb5-/url"; + Requests[3456] = new DefaultHttpContext(); + Requests[3456].RequestServices = CreateServices(); + Requests[3456].Request.Method = "GET"; + Requests[3456].Request.Path = "/8a356c94/applications"; + Requests[3457] = new DefaultHttpContext(); + Requests[3457].RequestServices = CreateServices(); + Requests[3457].Request.Method = "GET"; + Requests[3457].Request.Path = "/88e8cdbe/domains"; + Requests[3458] = new DefaultHttpContext(); + Requests[3458].RequestServices = CreateServices(); + Requests[3458].Request.Method = "POST"; + Requests[3458].Request.Path = "/dce82364/getObjectsByObjectIds"; + Requests[3459] = new DefaultHttpContext(); + Requests[3459].RequestServices = CreateServices(); + Requests[3459].Request.Method = "GET"; + Requests[3459].Request.Path = "/817188d6/groups"; + Requests[3460] = new DefaultHttpContext(); + Requests[3460].RequestServices = CreateServices(); + Requests[3460].Request.Method = "POST"; + Requests[3460].Request.Path = "/6d3a1ebf/isMemberOf"; + Requests[3461] = new DefaultHttpContext(); + Requests[3461].RequestServices = CreateServices(); + Requests[3461].Request.Method = "GET"; + Requests[3461].Request.Path = "/1b4de1d8/me"; + Requests[3462] = new DefaultHttpContext(); + Requests[3462].RequestServices = CreateServices(); + Requests[3462].Request.Method = "GET"; + Requests[3462].Request.Path = "/822bf4c0/servicePrincipals"; + Requests[3463] = new DefaultHttpContext(); + Requests[3463].RequestServices = CreateServices(); + Requests[3463].Request.Method = "GET"; + Requests[3463].Request.Path = "/5a924531/users"; + Requests[3464] = new DefaultHttpContext(); + Requests[3464].RequestServices = CreateServices(); + Requests[3464].Request.Method = "POST"; + Requests[3464].Request.Path = "/3f3b987e-/image/nostore"; + Requests[3465] = new DefaultHttpContext(); + Requests[3465].RequestServices = CreateServices(); + Requests[3465].Request.Method = "POST"; + Requests[3465].Request.Path = "/ada93636-/url/nostore"; + Requests[3466] = new DefaultHttpContext(); + Requests[3466].RequestServices = CreateServices(); + Requests[3466].Request.Method = "POST"; + Requests[3466].Request.Path = "/ebb382d8-c3/providers/microsoft.insights/calculatebaseline"; + Requests[3467] = new DefaultHttpContext(); + Requests[3467].RequestServices = CreateServices(); + Requests[3467].Request.Method = "GET"; + Requests[3467].Request.Path = "/3c6dbcb6-77/providers/microsoft.insights/diagnosticSettings"; + Requests[3468] = new DefaultHttpContext(); + Requests[3468].RequestServices = CreateServices(); + Requests[3468].Request.Method = "GET"; + Requests[3468].Request.Path = "/ab7e5025-57/providers/microsoft.insights/diagnosticSettingsCategories"; + Requests[3469] = new DefaultHttpContext(); + Requests[3469].RequestServices = CreateServices(); + Requests[3469].Request.Method = "GET"; + Requests[3469].Request.Path = "/23f87d0e-41/providers/microsoft.insights/metricDefinitions"; + Requests[3470] = new DefaultHttpContext(); + Requests[3470].RequestServices = CreateServices(); + Requests[3470].Request.Method = "GET"; + Requests[3470].Request.Path = "/0c9f420b-47/providers/microsoft.insights/metrics"; + Requests[3471] = new DefaultHttpContext(); + Requests[3471].RequestServices = CreateServices(); + Requests[3471].Request.Method = "GET"; + Requests[3471].Request.Path = "/59f13b9c-65/providers/Microsoft.ResourceHealth/availabilityStatuses"; + Requests[3472] = new DefaultHttpContext(); + Requests[3472].RequestServices = CreateServices(); + Requests[3472].Request.Method = "GET"; + Requests[3472].Request.Path = "/b2724/providers/Microsoft.Authorization/policyAssignments"; + Requests[3473] = new DefaultHttpContext(); + Requests[3473].RequestServices = CreateServices(); + Requests[3473].Request.Method = "GET"; + Requests[3473].Request.Path = "/53f0b/providers/Microsoft.Authorization/roleAssignments"; + Requests[3474] = new DefaultHttpContext(); + Requests[3474].RequestServices = CreateServices(); + Requests[3474].Request.Method = "GET"; + Requests[3474].Request.Path = "/9f6ba/providers/Microsoft.Authorization/roleDefinitions"; + Requests[3475] = new DefaultHttpContext(); + Requests[3475].RequestServices = CreateServices(); + Requests[3475].Request.Method = "GET"; + Requests[3475].Request.Path = "/f36c3/providers/Microsoft.Consumption/reservationDetails"; + Requests[3476] = new DefaultHttpContext(); + Requests[3476].RequestServices = CreateServices(); + Requests[3476].Request.Method = "GET"; + Requests[3476].Request.Path = "/74f1f/providers/Microsoft.Consumption/reservationSummaries"; + Requests[3477] = new DefaultHttpContext(); + Requests[3477].RequestServices = CreateServices(); + Requests[3477].Request.Method = "GET"; + Requests[3477].Request.Path = "/31cd7/providers/Microsoft.Consumption/usageDetails"; + Requests[3478] = new DefaultHttpContext(); + Requests[3478].RequestServices = CreateServices(); + Requests[3478].Request.Method = "GET"; + Requests[3478].Request.Path = "/216f3/providers/Microsoft.Resources/links"; + Requests[3479] = new DefaultHttpContext(); + Requests[3479].RequestServices = CreateServices(); + Requests[3479].Request.Method = "GET"; + Requests[3479].Request.Path = "/cf5d9/providers/Microsoft.Security/compliances"; + Requests[3480] = new DefaultHttpContext(); + Requests[3480].RequestServices = CreateServices(); + Requests[3480].Request.Method = "PATCH"; + Requests[3480].Request.Path = "/704d76c5-53/providers/microsoft.insights/diagnosticSettings/service"; + Requests[3481] = new DefaultHttpContext(); + Requests[3481].RequestServices = CreateServices(); + Requests[3481].Request.Method = "GET"; + Requests[3481].Request.Path = "/9fdaded0-9f/providers/Microsoft.ResourceHealth/availabilityStatuses/current"; + Requests[3482] = new DefaultHttpContext(); + Requests[3482].RequestServices = CreateServices(); + Requests[3482].Request.Method = "GET"; + Requests[3482].Request.Path = "/48737/providers/Microsoft.PolicyInsights/policyEvents/$metadata"; + Requests[3483] = new DefaultHttpContext(); + Requests[3483].RequestServices = CreateServices(); + Requests[3483].Request.Method = "GET"; + Requests[3483].Request.Path = "/24282/providers/Microsoft.PolicyInsights/policyStates/$metadata"; + Requests[3484] = new DefaultHttpContext(); + Requests[3484].RequestServices = CreateServices(); + Requests[3484].Request.Method = "GET"; + Requests[3484].Request.Path = "/adb75c31-35/providers/Microsoft.Advisor/recommendations/34d554ee-a445-4b"; + Requests[3485] = new DefaultHttpContext(); + Requests[3485].RequestServices = CreateServices(); + Requests[3485].Request.Method = "GET"; + Requests[3485].Request.Path = "/cca35c40-23/providers/microsoft.insights/baseline/8f4f4722-e"; + Requests[3486] = new DefaultHttpContext(); + Requests[3486].RequestServices = CreateServices(); + Requests[3486].Request.Method = "DELETE"; + Requests[3486].Request.Path = "/e6938032-7a/providers/microsoft.insights/diagnosticSettings/f54e3"; + Requests[3487] = new DefaultHttpContext(); + Requests[3487].RequestServices = CreateServices(); + Requests[3487].Request.Method = "GET"; + Requests[3487].Request.Path = "/c42f8c3c-98/providers/microsoft.insights/diagnosticSettingsCategories/f4711"; + Requests[3488] = new DefaultHttpContext(); + Requests[3488].RequestServices = CreateServices(); + Requests[3488].Request.Method = "GET"; + Requests[3488].Request.Path = "/1fa2a/providers/Microsoft.Authorization/locks/12802ef8"; + Requests[3489] = new DefaultHttpContext(); + Requests[3489].RequestServices = CreateServices(); + Requests[3489].Request.Method = "GET"; + Requests[3489].Request.Path = "/cdfe6/providers/Microsoft.Authorization/policyAssignments/f6729358-5ff4-4857-8"; + Requests[3490] = new DefaultHttpContext(); + Requests[3490].RequestServices = CreateServices(); + Requests[3490].Request.Method = "GET"; + Requests[3490].Request.Path = "/4f5b8/providers/Microsoft.Authorization/roleAssignments/a435df57-0449-424e"; + Requests[3491] = new DefaultHttpContext(); + Requests[3491].RequestServices = CreateServices(); + Requests[3491].Request.Method = "PUT"; + Requests[3491].Request.Path = "/2c2f1/providers/Microsoft.Authorization/roleDefinitions/9d9cd928-84db-43"; + Requests[3492] = new DefaultHttpContext(); + Requests[3492].RequestServices = CreateServices(); + Requests[3492].Request.Method = "PATCH"; + Requests[3492].Request.Path = "/6acab/providers/Microsoft.EventGrid/eventSubscriptions/e852a59a-80b3-4b68-8b"; + Requests[3493] = new DefaultHttpContext(); + Requests[3493].RequestServices = CreateServices(); + Requests[3493].Request.Method = "GET"; + Requests[3493].Request.Path = "/ab5d9/providers/Microsoft.Security/compliances/f573d92b-8ad7-"; + Requests[3494] = new DefaultHttpContext(); + Requests[3494].RequestServices = CreateServices(); + Requests[3494].Request.Method = "POST"; + Requests[3494].Request.Path = "/32bda496-b/providers/Microsoft.PolicyInsights/policyEvents/ef17c09a-fffa-44d9-8/queryResults"; + Requests[3495] = new DefaultHttpContext(); + Requests[3495].RequestServices = CreateServices(); + Requests[3495].Request.Method = "POST"; + Requests[3495].Request.Path = "/28dc0c02-d/providers/Microsoft.PolicyInsights/policyStates/d812321f-7636-4847-8/queryResults"; + Requests[3496] = new DefaultHttpContext(); + Requests[3496].RequestServices = CreateServices(); + Requests[3496].Request.Method = "POST"; + Requests[3496].Request.Path = "/2a9d83b2-c/providers/Microsoft.PolicyInsights/policyStates/09cac66b-b27f-41e4-b959-55b/summarize"; + Requests[3497] = new DefaultHttpContext(); + Requests[3497].RequestServices = CreateServices(); + Requests[3497].Request.Method = "POST"; + Requests[3497].Request.Path = "/3e0dd/providers/Microsoft.EventGrid/eventSubscriptions/12732c1a-4e88-4778-a8/getFullUrl"; + Requests[3498] = new DefaultHttpContext(); + Requests[3498].RequestServices = CreateServices(); + Requests[3498].Request.Method = "DELETE"; + Requests[3498].Request.Path = "/9c373a03-99/providers/Microsoft.Advisor/recommendations/943eb968-fb25-41/suppressions/e1c3c"; + Requests[3499] = new DefaultHttpContext(); + Requests[3499].RequestServices = CreateServices(); + Requests[3499].Request.Method = "PATCH"; + Requests[3499].Request.Path = "/e89fd75e/applications/a3ab94b7-c2c4-45c7-"; + Requests[3500] = new DefaultHttpContext(); + Requests[3500].RequestServices = CreateServices(); + Requests[3500].Request.Method = "GET"; + Requests[3500].Request.Path = "/c124b8d8/domains/5b8eb28f-8"; + Requests[3501] = new DefaultHttpContext(); + Requests[3501].RequestServices = CreateServices(); + Requests[3501].Request.Method = "DELETE"; + Requests[3501].Request.Path = "/647f6b48/groups/2740afb7"; + Requests[3502] = new DefaultHttpContext(); + Requests[3502].RequestServices = CreateServices(); + Requests[3502].Request.Method = "GET"; + Requests[3502].Request.Path = "/73f263a0/servicePrincipals/2ec4199c"; + Requests[3503] = new DefaultHttpContext(); + Requests[3503].RequestServices = CreateServices(); + Requests[3503].Request.Method = "DELETE"; + Requests[3503].Request.Path = "/b71204f8/users/c9b64f97-dfc3"; + Requests[3504] = new DefaultHttpContext(); + Requests[3504].RequestServices = CreateServices(); + Requests[3504].Request.Method = "POST"; + Requests[3504].Request.Path = "/2909b454-/images/ad0e646/regionproposals"; + Requests[3505] = new DefaultHttpContext(); + Requests[3505].RequestServices = CreateServices(); + Requests[3505].Request.Method = "PATCH"; + Requests[3505].Request.Path = "/7a98e4ea/applications/1b406dfb-df0e-41aa-/keyCredentials"; + Requests[3506] = new DefaultHttpContext(); + Requests[3506].RequestServices = CreateServices(); + Requests[3506].Request.Method = "GET"; + Requests[3506].Request.Path = "/0f49b4bb/applications/f80fc76b-76b1-4f14-/owners"; + Requests[3507] = new DefaultHttpContext(); + Requests[3507].RequestServices = CreateServices(); + Requests[3507].Request.Method = "PATCH"; + Requests[3507].Request.Path = "/cb2ede39/applications/967b4702-9475-49af-/passwordCredentials"; + Requests[3508] = new DefaultHttpContext(); + Requests[3508].RequestServices = CreateServices(); + Requests[3508].Request.Method = "POST"; + Requests[3508].Request.Path = "/2a351f2b/groups/07886aaa/getMemberGroups"; + Requests[3509] = new DefaultHttpContext(); + Requests[3509].RequestServices = CreateServices(); + Requests[3509].Request.Method = "GET"; + Requests[3509].Request.Path = "/4fe717b1/groups/3c6c5bc7/members"; + Requests[3510] = new DefaultHttpContext(); + Requests[3510].RequestServices = CreateServices(); + Requests[3510].Request.Method = "PATCH"; + Requests[3510].Request.Path = "/cbcc6477/servicePrincipals/eb16edb7/keyCredentials"; + Requests[3511] = new DefaultHttpContext(); + Requests[3511].RequestServices = CreateServices(); + Requests[3511].Request.Method = "GET"; + Requests[3511].Request.Path = "/5713409d/servicePrincipals/d3544887/owners"; + Requests[3512] = new DefaultHttpContext(); + Requests[3512].RequestServices = CreateServices(); + Requests[3512].Request.Method = "PATCH"; + Requests[3512].Request.Path = "/cef92b8b/servicePrincipals/243f61fa/passwordCredentials"; + Requests[3513] = new DefaultHttpContext(); + Requests[3513].RequestServices = CreateServices(); + Requests[3513].Request.Method = "POST"; + Requests[3513].Request.Path = "/55be107a/users/ef077f0c/getMemberGroups"; + Requests[3514] = new DefaultHttpContext(); + Requests[3514].RequestServices = CreateServices(); + Requests[3514].Request.Method = "POST"; + Requests[3514].Request.Path = "/f6ee17b3/applications/78d16559-a4b9-4b07-/$links/owners"; + Requests[3515] = new DefaultHttpContext(); + Requests[3515].RequestServices = CreateServices(); + Requests[3515].Request.Method = "POST"; + Requests[3515].Request.Path = "/394c49c2/groups/36a7a085-a426/$links/members"; + Requests[3516] = new DefaultHttpContext(); + Requests[3516].RequestServices = CreateServices(); + Requests[3516].Request.Method = "DELETE"; + Requests[3516].Request.Path = "/50150593/groups/3b69edb3-5a85/$links/members/e508b10d-3e11-"; + } + + private Matcher SetupMatcher(MatcherBuilder builder) + { + builder.AddEndpoint(Endpoints[0]); + builder.AddEndpoint(Endpoints[1]); + builder.AddEndpoint(Endpoints[2]); + builder.AddEndpoint(Endpoints[3]); + builder.AddEndpoint(Endpoints[4]); + builder.AddEndpoint(Endpoints[5]); + builder.AddEndpoint(Endpoints[6]); + builder.AddEndpoint(Endpoints[7]); + builder.AddEndpoint(Endpoints[8]); + builder.AddEndpoint(Endpoints[9]); + builder.AddEndpoint(Endpoints[10]); + builder.AddEndpoint(Endpoints[11]); + builder.AddEndpoint(Endpoints[12]); + builder.AddEndpoint(Endpoints[13]); + builder.AddEndpoint(Endpoints[14]); + builder.AddEndpoint(Endpoints[15]); + builder.AddEndpoint(Endpoints[16]); + builder.AddEndpoint(Endpoints[17]); + builder.AddEndpoint(Endpoints[18]); + builder.AddEndpoint(Endpoints[19]); + builder.AddEndpoint(Endpoints[20]); + builder.AddEndpoint(Endpoints[21]); + builder.AddEndpoint(Endpoints[22]); + builder.AddEndpoint(Endpoints[23]); + builder.AddEndpoint(Endpoints[24]); + builder.AddEndpoint(Endpoints[25]); + builder.AddEndpoint(Endpoints[26]); + builder.AddEndpoint(Endpoints[27]); + builder.AddEndpoint(Endpoints[28]); + builder.AddEndpoint(Endpoints[29]); + builder.AddEndpoint(Endpoints[30]); + builder.AddEndpoint(Endpoints[31]); + builder.AddEndpoint(Endpoints[32]); + builder.AddEndpoint(Endpoints[33]); + builder.AddEndpoint(Endpoints[34]); + builder.AddEndpoint(Endpoints[35]); + builder.AddEndpoint(Endpoints[36]); + builder.AddEndpoint(Endpoints[37]); + builder.AddEndpoint(Endpoints[38]); + builder.AddEndpoint(Endpoints[39]); + builder.AddEndpoint(Endpoints[40]); + builder.AddEndpoint(Endpoints[41]); + builder.AddEndpoint(Endpoints[42]); + builder.AddEndpoint(Endpoints[43]); + builder.AddEndpoint(Endpoints[44]); + builder.AddEndpoint(Endpoints[45]); + builder.AddEndpoint(Endpoints[46]); + builder.AddEndpoint(Endpoints[47]); + builder.AddEndpoint(Endpoints[48]); + builder.AddEndpoint(Endpoints[49]); + builder.AddEndpoint(Endpoints[50]); + builder.AddEndpoint(Endpoints[51]); + builder.AddEndpoint(Endpoints[52]); + builder.AddEndpoint(Endpoints[53]); + builder.AddEndpoint(Endpoints[54]); + builder.AddEndpoint(Endpoints[55]); + builder.AddEndpoint(Endpoints[56]); + builder.AddEndpoint(Endpoints[57]); + builder.AddEndpoint(Endpoints[58]); + builder.AddEndpoint(Endpoints[59]); + builder.AddEndpoint(Endpoints[60]); + builder.AddEndpoint(Endpoints[61]); + builder.AddEndpoint(Endpoints[62]); + builder.AddEndpoint(Endpoints[63]); + builder.AddEndpoint(Endpoints[64]); + builder.AddEndpoint(Endpoints[65]); + builder.AddEndpoint(Endpoints[66]); + builder.AddEndpoint(Endpoints[67]); + builder.AddEndpoint(Endpoints[68]); + builder.AddEndpoint(Endpoints[69]); + builder.AddEndpoint(Endpoints[70]); + builder.AddEndpoint(Endpoints[71]); + builder.AddEndpoint(Endpoints[72]); + builder.AddEndpoint(Endpoints[73]); + builder.AddEndpoint(Endpoints[74]); + builder.AddEndpoint(Endpoints[75]); + builder.AddEndpoint(Endpoints[76]); + builder.AddEndpoint(Endpoints[77]); + builder.AddEndpoint(Endpoints[78]); + builder.AddEndpoint(Endpoints[79]); + builder.AddEndpoint(Endpoints[80]); + builder.AddEndpoint(Endpoints[81]); + builder.AddEndpoint(Endpoints[82]); + builder.AddEndpoint(Endpoints[83]); + builder.AddEndpoint(Endpoints[84]); + builder.AddEndpoint(Endpoints[85]); + builder.AddEndpoint(Endpoints[86]); + builder.AddEndpoint(Endpoints[87]); + builder.AddEndpoint(Endpoints[88]); + builder.AddEndpoint(Endpoints[89]); + builder.AddEndpoint(Endpoints[90]); + builder.AddEndpoint(Endpoints[91]); + builder.AddEndpoint(Endpoints[92]); + builder.AddEndpoint(Endpoints[93]); + builder.AddEndpoint(Endpoints[94]); + builder.AddEndpoint(Endpoints[95]); + builder.AddEndpoint(Endpoints[96]); + builder.AddEndpoint(Endpoints[97]); + builder.AddEndpoint(Endpoints[98]); + builder.AddEndpoint(Endpoints[99]); + builder.AddEndpoint(Endpoints[100]); + builder.AddEndpoint(Endpoints[101]); + builder.AddEndpoint(Endpoints[102]); + builder.AddEndpoint(Endpoints[103]); + builder.AddEndpoint(Endpoints[104]); + builder.AddEndpoint(Endpoints[105]); + builder.AddEndpoint(Endpoints[106]); + builder.AddEndpoint(Endpoints[107]); + builder.AddEndpoint(Endpoints[108]); + builder.AddEndpoint(Endpoints[109]); + builder.AddEndpoint(Endpoints[110]); + builder.AddEndpoint(Endpoints[111]); + builder.AddEndpoint(Endpoints[112]); + builder.AddEndpoint(Endpoints[113]); + builder.AddEndpoint(Endpoints[114]); + builder.AddEndpoint(Endpoints[115]); + builder.AddEndpoint(Endpoints[116]); + builder.AddEndpoint(Endpoints[117]); + builder.AddEndpoint(Endpoints[118]); + builder.AddEndpoint(Endpoints[119]); + builder.AddEndpoint(Endpoints[120]); + builder.AddEndpoint(Endpoints[121]); + builder.AddEndpoint(Endpoints[122]); + builder.AddEndpoint(Endpoints[123]); + builder.AddEndpoint(Endpoints[124]); + builder.AddEndpoint(Endpoints[125]); + builder.AddEndpoint(Endpoints[126]); + builder.AddEndpoint(Endpoints[127]); + builder.AddEndpoint(Endpoints[128]); + builder.AddEndpoint(Endpoints[129]); + builder.AddEndpoint(Endpoints[130]); + builder.AddEndpoint(Endpoints[131]); + builder.AddEndpoint(Endpoints[132]); + builder.AddEndpoint(Endpoints[133]); + builder.AddEndpoint(Endpoints[134]); + builder.AddEndpoint(Endpoints[135]); + builder.AddEndpoint(Endpoints[136]); + builder.AddEndpoint(Endpoints[137]); + builder.AddEndpoint(Endpoints[138]); + builder.AddEndpoint(Endpoints[139]); + builder.AddEndpoint(Endpoints[140]); + builder.AddEndpoint(Endpoints[141]); + builder.AddEndpoint(Endpoints[142]); + builder.AddEndpoint(Endpoints[143]); + builder.AddEndpoint(Endpoints[144]); + builder.AddEndpoint(Endpoints[145]); + builder.AddEndpoint(Endpoints[146]); + builder.AddEndpoint(Endpoints[147]); + builder.AddEndpoint(Endpoints[148]); + builder.AddEndpoint(Endpoints[149]); + builder.AddEndpoint(Endpoints[150]); + builder.AddEndpoint(Endpoints[151]); + builder.AddEndpoint(Endpoints[152]); + builder.AddEndpoint(Endpoints[153]); + builder.AddEndpoint(Endpoints[154]); + builder.AddEndpoint(Endpoints[155]); + builder.AddEndpoint(Endpoints[156]); + builder.AddEndpoint(Endpoints[157]); + builder.AddEndpoint(Endpoints[158]); + builder.AddEndpoint(Endpoints[159]); + builder.AddEndpoint(Endpoints[160]); + builder.AddEndpoint(Endpoints[161]); + builder.AddEndpoint(Endpoints[162]); + builder.AddEndpoint(Endpoints[163]); + builder.AddEndpoint(Endpoints[164]); + builder.AddEndpoint(Endpoints[165]); + builder.AddEndpoint(Endpoints[166]); + builder.AddEndpoint(Endpoints[167]); + builder.AddEndpoint(Endpoints[168]); + builder.AddEndpoint(Endpoints[169]); + builder.AddEndpoint(Endpoints[170]); + builder.AddEndpoint(Endpoints[171]); + builder.AddEndpoint(Endpoints[172]); + builder.AddEndpoint(Endpoints[173]); + builder.AddEndpoint(Endpoints[174]); + builder.AddEndpoint(Endpoints[175]); + builder.AddEndpoint(Endpoints[176]); + builder.AddEndpoint(Endpoints[177]); + builder.AddEndpoint(Endpoints[178]); + builder.AddEndpoint(Endpoints[179]); + builder.AddEndpoint(Endpoints[180]); + builder.AddEndpoint(Endpoints[181]); + builder.AddEndpoint(Endpoints[182]); + builder.AddEndpoint(Endpoints[183]); + builder.AddEndpoint(Endpoints[184]); + builder.AddEndpoint(Endpoints[185]); + builder.AddEndpoint(Endpoints[186]); + builder.AddEndpoint(Endpoints[187]); + builder.AddEndpoint(Endpoints[188]); + builder.AddEndpoint(Endpoints[189]); + builder.AddEndpoint(Endpoints[190]); + builder.AddEndpoint(Endpoints[191]); + builder.AddEndpoint(Endpoints[192]); + builder.AddEndpoint(Endpoints[193]); + builder.AddEndpoint(Endpoints[194]); + builder.AddEndpoint(Endpoints[195]); + builder.AddEndpoint(Endpoints[196]); + builder.AddEndpoint(Endpoints[197]); + builder.AddEndpoint(Endpoints[198]); + builder.AddEndpoint(Endpoints[199]); + builder.AddEndpoint(Endpoints[200]); + builder.AddEndpoint(Endpoints[201]); + builder.AddEndpoint(Endpoints[202]); + builder.AddEndpoint(Endpoints[203]); + builder.AddEndpoint(Endpoints[204]); + builder.AddEndpoint(Endpoints[205]); + builder.AddEndpoint(Endpoints[206]); + builder.AddEndpoint(Endpoints[207]); + builder.AddEndpoint(Endpoints[208]); + builder.AddEndpoint(Endpoints[209]); + builder.AddEndpoint(Endpoints[210]); + builder.AddEndpoint(Endpoints[211]); + builder.AddEndpoint(Endpoints[212]); + builder.AddEndpoint(Endpoints[213]); + builder.AddEndpoint(Endpoints[214]); + builder.AddEndpoint(Endpoints[215]); + builder.AddEndpoint(Endpoints[216]); + builder.AddEndpoint(Endpoints[217]); + builder.AddEndpoint(Endpoints[218]); + builder.AddEndpoint(Endpoints[219]); + builder.AddEndpoint(Endpoints[220]); + builder.AddEndpoint(Endpoints[221]); + builder.AddEndpoint(Endpoints[222]); + builder.AddEndpoint(Endpoints[223]); + builder.AddEndpoint(Endpoints[224]); + builder.AddEndpoint(Endpoints[225]); + builder.AddEndpoint(Endpoints[226]); + builder.AddEndpoint(Endpoints[227]); + builder.AddEndpoint(Endpoints[228]); + builder.AddEndpoint(Endpoints[229]); + builder.AddEndpoint(Endpoints[230]); + builder.AddEndpoint(Endpoints[231]); + builder.AddEndpoint(Endpoints[232]); + builder.AddEndpoint(Endpoints[233]); + builder.AddEndpoint(Endpoints[234]); + builder.AddEndpoint(Endpoints[235]); + builder.AddEndpoint(Endpoints[236]); + builder.AddEndpoint(Endpoints[237]); + builder.AddEndpoint(Endpoints[238]); + builder.AddEndpoint(Endpoints[239]); + builder.AddEndpoint(Endpoints[240]); + builder.AddEndpoint(Endpoints[241]); + builder.AddEndpoint(Endpoints[242]); + builder.AddEndpoint(Endpoints[243]); + builder.AddEndpoint(Endpoints[244]); + builder.AddEndpoint(Endpoints[245]); + builder.AddEndpoint(Endpoints[246]); + builder.AddEndpoint(Endpoints[247]); + builder.AddEndpoint(Endpoints[248]); + builder.AddEndpoint(Endpoints[249]); + builder.AddEndpoint(Endpoints[250]); + builder.AddEndpoint(Endpoints[251]); + builder.AddEndpoint(Endpoints[252]); + builder.AddEndpoint(Endpoints[253]); + builder.AddEndpoint(Endpoints[254]); + builder.AddEndpoint(Endpoints[255]); + builder.AddEndpoint(Endpoints[256]); + builder.AddEndpoint(Endpoints[257]); + builder.AddEndpoint(Endpoints[258]); + builder.AddEndpoint(Endpoints[259]); + builder.AddEndpoint(Endpoints[260]); + builder.AddEndpoint(Endpoints[261]); + builder.AddEndpoint(Endpoints[262]); + builder.AddEndpoint(Endpoints[263]); + builder.AddEndpoint(Endpoints[264]); + builder.AddEndpoint(Endpoints[265]); + builder.AddEndpoint(Endpoints[266]); + builder.AddEndpoint(Endpoints[267]); + builder.AddEndpoint(Endpoints[268]); + builder.AddEndpoint(Endpoints[269]); + builder.AddEndpoint(Endpoints[270]); + builder.AddEndpoint(Endpoints[271]); + builder.AddEndpoint(Endpoints[272]); + builder.AddEndpoint(Endpoints[273]); + builder.AddEndpoint(Endpoints[274]); + builder.AddEndpoint(Endpoints[275]); + builder.AddEndpoint(Endpoints[276]); + builder.AddEndpoint(Endpoints[277]); + builder.AddEndpoint(Endpoints[278]); + builder.AddEndpoint(Endpoints[279]); + builder.AddEndpoint(Endpoints[280]); + builder.AddEndpoint(Endpoints[281]); + builder.AddEndpoint(Endpoints[282]); + builder.AddEndpoint(Endpoints[283]); + builder.AddEndpoint(Endpoints[284]); + builder.AddEndpoint(Endpoints[285]); + builder.AddEndpoint(Endpoints[286]); + builder.AddEndpoint(Endpoints[287]); + builder.AddEndpoint(Endpoints[288]); + builder.AddEndpoint(Endpoints[289]); + builder.AddEndpoint(Endpoints[290]); + builder.AddEndpoint(Endpoints[291]); + builder.AddEndpoint(Endpoints[292]); + builder.AddEndpoint(Endpoints[293]); + builder.AddEndpoint(Endpoints[294]); + builder.AddEndpoint(Endpoints[295]); + builder.AddEndpoint(Endpoints[296]); + builder.AddEndpoint(Endpoints[297]); + builder.AddEndpoint(Endpoints[298]); + builder.AddEndpoint(Endpoints[299]); + builder.AddEndpoint(Endpoints[300]); + builder.AddEndpoint(Endpoints[301]); + builder.AddEndpoint(Endpoints[302]); + builder.AddEndpoint(Endpoints[303]); + builder.AddEndpoint(Endpoints[304]); + builder.AddEndpoint(Endpoints[305]); + builder.AddEndpoint(Endpoints[306]); + builder.AddEndpoint(Endpoints[307]); + builder.AddEndpoint(Endpoints[308]); + builder.AddEndpoint(Endpoints[309]); + builder.AddEndpoint(Endpoints[310]); + builder.AddEndpoint(Endpoints[311]); + builder.AddEndpoint(Endpoints[312]); + builder.AddEndpoint(Endpoints[313]); + builder.AddEndpoint(Endpoints[314]); + builder.AddEndpoint(Endpoints[315]); + builder.AddEndpoint(Endpoints[316]); + builder.AddEndpoint(Endpoints[317]); + builder.AddEndpoint(Endpoints[318]); + builder.AddEndpoint(Endpoints[319]); + builder.AddEndpoint(Endpoints[320]); + builder.AddEndpoint(Endpoints[321]); + builder.AddEndpoint(Endpoints[322]); + builder.AddEndpoint(Endpoints[323]); + builder.AddEndpoint(Endpoints[324]); + builder.AddEndpoint(Endpoints[325]); + builder.AddEndpoint(Endpoints[326]); + builder.AddEndpoint(Endpoints[327]); + builder.AddEndpoint(Endpoints[328]); + builder.AddEndpoint(Endpoints[329]); + builder.AddEndpoint(Endpoints[330]); + builder.AddEndpoint(Endpoints[331]); + builder.AddEndpoint(Endpoints[332]); + builder.AddEndpoint(Endpoints[333]); + builder.AddEndpoint(Endpoints[334]); + builder.AddEndpoint(Endpoints[335]); + builder.AddEndpoint(Endpoints[336]); + builder.AddEndpoint(Endpoints[337]); + builder.AddEndpoint(Endpoints[338]); + builder.AddEndpoint(Endpoints[339]); + builder.AddEndpoint(Endpoints[340]); + builder.AddEndpoint(Endpoints[341]); + builder.AddEndpoint(Endpoints[342]); + builder.AddEndpoint(Endpoints[343]); + builder.AddEndpoint(Endpoints[344]); + builder.AddEndpoint(Endpoints[345]); + builder.AddEndpoint(Endpoints[346]); + builder.AddEndpoint(Endpoints[347]); + builder.AddEndpoint(Endpoints[348]); + builder.AddEndpoint(Endpoints[349]); + builder.AddEndpoint(Endpoints[350]); + builder.AddEndpoint(Endpoints[351]); + builder.AddEndpoint(Endpoints[352]); + builder.AddEndpoint(Endpoints[353]); + builder.AddEndpoint(Endpoints[354]); + builder.AddEndpoint(Endpoints[355]); + builder.AddEndpoint(Endpoints[356]); + builder.AddEndpoint(Endpoints[357]); + builder.AddEndpoint(Endpoints[358]); + builder.AddEndpoint(Endpoints[359]); + builder.AddEndpoint(Endpoints[360]); + builder.AddEndpoint(Endpoints[361]); + builder.AddEndpoint(Endpoints[362]); + builder.AddEndpoint(Endpoints[363]); + builder.AddEndpoint(Endpoints[364]); + builder.AddEndpoint(Endpoints[365]); + builder.AddEndpoint(Endpoints[366]); + builder.AddEndpoint(Endpoints[367]); + builder.AddEndpoint(Endpoints[368]); + builder.AddEndpoint(Endpoints[369]); + builder.AddEndpoint(Endpoints[370]); + builder.AddEndpoint(Endpoints[371]); + builder.AddEndpoint(Endpoints[372]); + builder.AddEndpoint(Endpoints[373]); + builder.AddEndpoint(Endpoints[374]); + builder.AddEndpoint(Endpoints[375]); + builder.AddEndpoint(Endpoints[376]); + builder.AddEndpoint(Endpoints[377]); + builder.AddEndpoint(Endpoints[378]); + builder.AddEndpoint(Endpoints[379]); + builder.AddEndpoint(Endpoints[380]); + builder.AddEndpoint(Endpoints[381]); + builder.AddEndpoint(Endpoints[382]); + builder.AddEndpoint(Endpoints[383]); + builder.AddEndpoint(Endpoints[384]); + builder.AddEndpoint(Endpoints[385]); + builder.AddEndpoint(Endpoints[386]); + builder.AddEndpoint(Endpoints[387]); + builder.AddEndpoint(Endpoints[388]); + builder.AddEndpoint(Endpoints[389]); + builder.AddEndpoint(Endpoints[390]); + builder.AddEndpoint(Endpoints[391]); + builder.AddEndpoint(Endpoints[392]); + builder.AddEndpoint(Endpoints[393]); + builder.AddEndpoint(Endpoints[394]); + builder.AddEndpoint(Endpoints[395]); + builder.AddEndpoint(Endpoints[396]); + builder.AddEndpoint(Endpoints[397]); + builder.AddEndpoint(Endpoints[398]); + builder.AddEndpoint(Endpoints[399]); + builder.AddEndpoint(Endpoints[400]); + builder.AddEndpoint(Endpoints[401]); + builder.AddEndpoint(Endpoints[402]); + builder.AddEndpoint(Endpoints[403]); + builder.AddEndpoint(Endpoints[404]); + builder.AddEndpoint(Endpoints[405]); + builder.AddEndpoint(Endpoints[406]); + builder.AddEndpoint(Endpoints[407]); + builder.AddEndpoint(Endpoints[408]); + builder.AddEndpoint(Endpoints[409]); + builder.AddEndpoint(Endpoints[410]); + builder.AddEndpoint(Endpoints[411]); + builder.AddEndpoint(Endpoints[412]); + builder.AddEndpoint(Endpoints[413]); + builder.AddEndpoint(Endpoints[414]); + builder.AddEndpoint(Endpoints[415]); + builder.AddEndpoint(Endpoints[416]); + builder.AddEndpoint(Endpoints[417]); + builder.AddEndpoint(Endpoints[418]); + builder.AddEndpoint(Endpoints[419]); + builder.AddEndpoint(Endpoints[420]); + builder.AddEndpoint(Endpoints[421]); + builder.AddEndpoint(Endpoints[422]); + builder.AddEndpoint(Endpoints[423]); + builder.AddEndpoint(Endpoints[424]); + builder.AddEndpoint(Endpoints[425]); + builder.AddEndpoint(Endpoints[426]); + builder.AddEndpoint(Endpoints[427]); + builder.AddEndpoint(Endpoints[428]); + builder.AddEndpoint(Endpoints[429]); + builder.AddEndpoint(Endpoints[430]); + builder.AddEndpoint(Endpoints[431]); + builder.AddEndpoint(Endpoints[432]); + builder.AddEndpoint(Endpoints[433]); + builder.AddEndpoint(Endpoints[434]); + builder.AddEndpoint(Endpoints[435]); + builder.AddEndpoint(Endpoints[436]); + builder.AddEndpoint(Endpoints[437]); + builder.AddEndpoint(Endpoints[438]); + builder.AddEndpoint(Endpoints[439]); + builder.AddEndpoint(Endpoints[440]); + builder.AddEndpoint(Endpoints[441]); + builder.AddEndpoint(Endpoints[442]); + builder.AddEndpoint(Endpoints[443]); + builder.AddEndpoint(Endpoints[444]); + builder.AddEndpoint(Endpoints[445]); + builder.AddEndpoint(Endpoints[446]); + builder.AddEndpoint(Endpoints[447]); + builder.AddEndpoint(Endpoints[448]); + builder.AddEndpoint(Endpoints[449]); + builder.AddEndpoint(Endpoints[450]); + builder.AddEndpoint(Endpoints[451]); + builder.AddEndpoint(Endpoints[452]); + builder.AddEndpoint(Endpoints[453]); + builder.AddEndpoint(Endpoints[454]); + builder.AddEndpoint(Endpoints[455]); + builder.AddEndpoint(Endpoints[456]); + builder.AddEndpoint(Endpoints[457]); + builder.AddEndpoint(Endpoints[458]); + builder.AddEndpoint(Endpoints[459]); + builder.AddEndpoint(Endpoints[460]); + builder.AddEndpoint(Endpoints[461]); + builder.AddEndpoint(Endpoints[462]); + builder.AddEndpoint(Endpoints[463]); + builder.AddEndpoint(Endpoints[464]); + builder.AddEndpoint(Endpoints[465]); + builder.AddEndpoint(Endpoints[466]); + builder.AddEndpoint(Endpoints[467]); + builder.AddEndpoint(Endpoints[468]); + builder.AddEndpoint(Endpoints[469]); + builder.AddEndpoint(Endpoints[470]); + builder.AddEndpoint(Endpoints[471]); + builder.AddEndpoint(Endpoints[472]); + builder.AddEndpoint(Endpoints[473]); + builder.AddEndpoint(Endpoints[474]); + builder.AddEndpoint(Endpoints[475]); + builder.AddEndpoint(Endpoints[476]); + builder.AddEndpoint(Endpoints[477]); + builder.AddEndpoint(Endpoints[478]); + builder.AddEndpoint(Endpoints[479]); + builder.AddEndpoint(Endpoints[480]); + builder.AddEndpoint(Endpoints[481]); + builder.AddEndpoint(Endpoints[482]); + builder.AddEndpoint(Endpoints[483]); + builder.AddEndpoint(Endpoints[484]); + builder.AddEndpoint(Endpoints[485]); + builder.AddEndpoint(Endpoints[486]); + builder.AddEndpoint(Endpoints[487]); + builder.AddEndpoint(Endpoints[488]); + builder.AddEndpoint(Endpoints[489]); + builder.AddEndpoint(Endpoints[490]); + builder.AddEndpoint(Endpoints[491]); + builder.AddEndpoint(Endpoints[492]); + builder.AddEndpoint(Endpoints[493]); + builder.AddEndpoint(Endpoints[494]); + builder.AddEndpoint(Endpoints[495]); + builder.AddEndpoint(Endpoints[496]); + builder.AddEndpoint(Endpoints[497]); + builder.AddEndpoint(Endpoints[498]); + builder.AddEndpoint(Endpoints[499]); + builder.AddEndpoint(Endpoints[500]); + builder.AddEndpoint(Endpoints[501]); + builder.AddEndpoint(Endpoints[502]); + builder.AddEndpoint(Endpoints[503]); + builder.AddEndpoint(Endpoints[504]); + builder.AddEndpoint(Endpoints[505]); + builder.AddEndpoint(Endpoints[506]); + builder.AddEndpoint(Endpoints[507]); + builder.AddEndpoint(Endpoints[508]); + builder.AddEndpoint(Endpoints[509]); + builder.AddEndpoint(Endpoints[510]); + builder.AddEndpoint(Endpoints[511]); + builder.AddEndpoint(Endpoints[512]); + builder.AddEndpoint(Endpoints[513]); + builder.AddEndpoint(Endpoints[514]); + builder.AddEndpoint(Endpoints[515]); + builder.AddEndpoint(Endpoints[516]); + builder.AddEndpoint(Endpoints[517]); + builder.AddEndpoint(Endpoints[518]); + builder.AddEndpoint(Endpoints[519]); + builder.AddEndpoint(Endpoints[520]); + builder.AddEndpoint(Endpoints[521]); + builder.AddEndpoint(Endpoints[522]); + builder.AddEndpoint(Endpoints[523]); + builder.AddEndpoint(Endpoints[524]); + builder.AddEndpoint(Endpoints[525]); + builder.AddEndpoint(Endpoints[526]); + builder.AddEndpoint(Endpoints[527]); + builder.AddEndpoint(Endpoints[528]); + builder.AddEndpoint(Endpoints[529]); + builder.AddEndpoint(Endpoints[530]); + builder.AddEndpoint(Endpoints[531]); + builder.AddEndpoint(Endpoints[532]); + builder.AddEndpoint(Endpoints[533]); + builder.AddEndpoint(Endpoints[534]); + builder.AddEndpoint(Endpoints[535]); + builder.AddEndpoint(Endpoints[536]); + builder.AddEndpoint(Endpoints[537]); + builder.AddEndpoint(Endpoints[538]); + builder.AddEndpoint(Endpoints[539]); + builder.AddEndpoint(Endpoints[540]); + builder.AddEndpoint(Endpoints[541]); + builder.AddEndpoint(Endpoints[542]); + builder.AddEndpoint(Endpoints[543]); + builder.AddEndpoint(Endpoints[544]); + builder.AddEndpoint(Endpoints[545]); + builder.AddEndpoint(Endpoints[546]); + builder.AddEndpoint(Endpoints[547]); + builder.AddEndpoint(Endpoints[548]); + builder.AddEndpoint(Endpoints[549]); + builder.AddEndpoint(Endpoints[550]); + builder.AddEndpoint(Endpoints[551]); + builder.AddEndpoint(Endpoints[552]); + builder.AddEndpoint(Endpoints[553]); + builder.AddEndpoint(Endpoints[554]); + builder.AddEndpoint(Endpoints[555]); + builder.AddEndpoint(Endpoints[556]); + builder.AddEndpoint(Endpoints[557]); + builder.AddEndpoint(Endpoints[558]); + builder.AddEndpoint(Endpoints[559]); + builder.AddEndpoint(Endpoints[560]); + builder.AddEndpoint(Endpoints[561]); + builder.AddEndpoint(Endpoints[562]); + builder.AddEndpoint(Endpoints[563]); + builder.AddEndpoint(Endpoints[564]); + builder.AddEndpoint(Endpoints[565]); + builder.AddEndpoint(Endpoints[566]); + builder.AddEndpoint(Endpoints[567]); + builder.AddEndpoint(Endpoints[568]); + builder.AddEndpoint(Endpoints[569]); + builder.AddEndpoint(Endpoints[570]); + builder.AddEndpoint(Endpoints[571]); + builder.AddEndpoint(Endpoints[572]); + builder.AddEndpoint(Endpoints[573]); + builder.AddEndpoint(Endpoints[574]); + builder.AddEndpoint(Endpoints[575]); + builder.AddEndpoint(Endpoints[576]); + builder.AddEndpoint(Endpoints[577]); + builder.AddEndpoint(Endpoints[578]); + builder.AddEndpoint(Endpoints[579]); + builder.AddEndpoint(Endpoints[580]); + builder.AddEndpoint(Endpoints[581]); + builder.AddEndpoint(Endpoints[582]); + builder.AddEndpoint(Endpoints[583]); + builder.AddEndpoint(Endpoints[584]); + builder.AddEndpoint(Endpoints[585]); + builder.AddEndpoint(Endpoints[586]); + builder.AddEndpoint(Endpoints[587]); + builder.AddEndpoint(Endpoints[588]); + builder.AddEndpoint(Endpoints[589]); + builder.AddEndpoint(Endpoints[590]); + builder.AddEndpoint(Endpoints[591]); + builder.AddEndpoint(Endpoints[592]); + builder.AddEndpoint(Endpoints[593]); + builder.AddEndpoint(Endpoints[594]); + builder.AddEndpoint(Endpoints[595]); + builder.AddEndpoint(Endpoints[596]); + builder.AddEndpoint(Endpoints[597]); + builder.AddEndpoint(Endpoints[598]); + builder.AddEndpoint(Endpoints[599]); + builder.AddEndpoint(Endpoints[600]); + builder.AddEndpoint(Endpoints[601]); + builder.AddEndpoint(Endpoints[602]); + builder.AddEndpoint(Endpoints[603]); + builder.AddEndpoint(Endpoints[604]); + builder.AddEndpoint(Endpoints[605]); + builder.AddEndpoint(Endpoints[606]); + builder.AddEndpoint(Endpoints[607]); + builder.AddEndpoint(Endpoints[608]); + builder.AddEndpoint(Endpoints[609]); + builder.AddEndpoint(Endpoints[610]); + builder.AddEndpoint(Endpoints[611]); + builder.AddEndpoint(Endpoints[612]); + builder.AddEndpoint(Endpoints[613]); + builder.AddEndpoint(Endpoints[614]); + builder.AddEndpoint(Endpoints[615]); + builder.AddEndpoint(Endpoints[616]); + builder.AddEndpoint(Endpoints[617]); + builder.AddEndpoint(Endpoints[618]); + builder.AddEndpoint(Endpoints[619]); + builder.AddEndpoint(Endpoints[620]); + builder.AddEndpoint(Endpoints[621]); + builder.AddEndpoint(Endpoints[622]); + builder.AddEndpoint(Endpoints[623]); + builder.AddEndpoint(Endpoints[624]); + builder.AddEndpoint(Endpoints[625]); + builder.AddEndpoint(Endpoints[626]); + builder.AddEndpoint(Endpoints[627]); + builder.AddEndpoint(Endpoints[628]); + builder.AddEndpoint(Endpoints[629]); + builder.AddEndpoint(Endpoints[630]); + builder.AddEndpoint(Endpoints[631]); + builder.AddEndpoint(Endpoints[632]); + builder.AddEndpoint(Endpoints[633]); + builder.AddEndpoint(Endpoints[634]); + builder.AddEndpoint(Endpoints[635]); + builder.AddEndpoint(Endpoints[636]); + builder.AddEndpoint(Endpoints[637]); + builder.AddEndpoint(Endpoints[638]); + builder.AddEndpoint(Endpoints[639]); + builder.AddEndpoint(Endpoints[640]); + builder.AddEndpoint(Endpoints[641]); + builder.AddEndpoint(Endpoints[642]); + builder.AddEndpoint(Endpoints[643]); + builder.AddEndpoint(Endpoints[644]); + builder.AddEndpoint(Endpoints[645]); + builder.AddEndpoint(Endpoints[646]); + builder.AddEndpoint(Endpoints[647]); + builder.AddEndpoint(Endpoints[648]); + builder.AddEndpoint(Endpoints[649]); + builder.AddEndpoint(Endpoints[650]); + builder.AddEndpoint(Endpoints[651]); + builder.AddEndpoint(Endpoints[652]); + builder.AddEndpoint(Endpoints[653]); + builder.AddEndpoint(Endpoints[654]); + builder.AddEndpoint(Endpoints[655]); + builder.AddEndpoint(Endpoints[656]); + builder.AddEndpoint(Endpoints[657]); + builder.AddEndpoint(Endpoints[658]); + builder.AddEndpoint(Endpoints[659]); + builder.AddEndpoint(Endpoints[660]); + builder.AddEndpoint(Endpoints[661]); + builder.AddEndpoint(Endpoints[662]); + builder.AddEndpoint(Endpoints[663]); + builder.AddEndpoint(Endpoints[664]); + builder.AddEndpoint(Endpoints[665]); + builder.AddEndpoint(Endpoints[666]); + builder.AddEndpoint(Endpoints[667]); + builder.AddEndpoint(Endpoints[668]); + builder.AddEndpoint(Endpoints[669]); + builder.AddEndpoint(Endpoints[670]); + builder.AddEndpoint(Endpoints[671]); + builder.AddEndpoint(Endpoints[672]); + builder.AddEndpoint(Endpoints[673]); + builder.AddEndpoint(Endpoints[674]); + builder.AddEndpoint(Endpoints[675]); + builder.AddEndpoint(Endpoints[676]); + builder.AddEndpoint(Endpoints[677]); + builder.AddEndpoint(Endpoints[678]); + builder.AddEndpoint(Endpoints[679]); + builder.AddEndpoint(Endpoints[680]); + builder.AddEndpoint(Endpoints[681]); + builder.AddEndpoint(Endpoints[682]); + builder.AddEndpoint(Endpoints[683]); + builder.AddEndpoint(Endpoints[684]); + builder.AddEndpoint(Endpoints[685]); + builder.AddEndpoint(Endpoints[686]); + builder.AddEndpoint(Endpoints[687]); + builder.AddEndpoint(Endpoints[688]); + builder.AddEndpoint(Endpoints[689]); + builder.AddEndpoint(Endpoints[690]); + builder.AddEndpoint(Endpoints[691]); + builder.AddEndpoint(Endpoints[692]); + builder.AddEndpoint(Endpoints[693]); + builder.AddEndpoint(Endpoints[694]); + builder.AddEndpoint(Endpoints[695]); + builder.AddEndpoint(Endpoints[696]); + builder.AddEndpoint(Endpoints[697]); + builder.AddEndpoint(Endpoints[698]); + builder.AddEndpoint(Endpoints[699]); + builder.AddEndpoint(Endpoints[700]); + builder.AddEndpoint(Endpoints[701]); + builder.AddEndpoint(Endpoints[702]); + builder.AddEndpoint(Endpoints[703]); + builder.AddEndpoint(Endpoints[704]); + builder.AddEndpoint(Endpoints[705]); + builder.AddEndpoint(Endpoints[706]); + builder.AddEndpoint(Endpoints[707]); + builder.AddEndpoint(Endpoints[708]); + builder.AddEndpoint(Endpoints[709]); + builder.AddEndpoint(Endpoints[710]); + builder.AddEndpoint(Endpoints[711]); + builder.AddEndpoint(Endpoints[712]); + builder.AddEndpoint(Endpoints[713]); + builder.AddEndpoint(Endpoints[714]); + builder.AddEndpoint(Endpoints[715]); + builder.AddEndpoint(Endpoints[716]); + builder.AddEndpoint(Endpoints[717]); + builder.AddEndpoint(Endpoints[718]); + builder.AddEndpoint(Endpoints[719]); + builder.AddEndpoint(Endpoints[720]); + builder.AddEndpoint(Endpoints[721]); + builder.AddEndpoint(Endpoints[722]); + builder.AddEndpoint(Endpoints[723]); + builder.AddEndpoint(Endpoints[724]); + builder.AddEndpoint(Endpoints[725]); + builder.AddEndpoint(Endpoints[726]); + builder.AddEndpoint(Endpoints[727]); + builder.AddEndpoint(Endpoints[728]); + builder.AddEndpoint(Endpoints[729]); + builder.AddEndpoint(Endpoints[730]); + builder.AddEndpoint(Endpoints[731]); + builder.AddEndpoint(Endpoints[732]); + builder.AddEndpoint(Endpoints[733]); + builder.AddEndpoint(Endpoints[734]); + builder.AddEndpoint(Endpoints[735]); + builder.AddEndpoint(Endpoints[736]); + builder.AddEndpoint(Endpoints[737]); + builder.AddEndpoint(Endpoints[738]); + builder.AddEndpoint(Endpoints[739]); + builder.AddEndpoint(Endpoints[740]); + builder.AddEndpoint(Endpoints[741]); + builder.AddEndpoint(Endpoints[742]); + builder.AddEndpoint(Endpoints[743]); + builder.AddEndpoint(Endpoints[744]); + builder.AddEndpoint(Endpoints[745]); + builder.AddEndpoint(Endpoints[746]); + builder.AddEndpoint(Endpoints[747]); + builder.AddEndpoint(Endpoints[748]); + builder.AddEndpoint(Endpoints[749]); + builder.AddEndpoint(Endpoints[750]); + builder.AddEndpoint(Endpoints[751]); + builder.AddEndpoint(Endpoints[752]); + builder.AddEndpoint(Endpoints[753]); + builder.AddEndpoint(Endpoints[754]); + builder.AddEndpoint(Endpoints[755]); + builder.AddEndpoint(Endpoints[756]); + builder.AddEndpoint(Endpoints[757]); + builder.AddEndpoint(Endpoints[758]); + builder.AddEndpoint(Endpoints[759]); + builder.AddEndpoint(Endpoints[760]); + builder.AddEndpoint(Endpoints[761]); + builder.AddEndpoint(Endpoints[762]); + builder.AddEndpoint(Endpoints[763]); + builder.AddEndpoint(Endpoints[764]); + builder.AddEndpoint(Endpoints[765]); + builder.AddEndpoint(Endpoints[766]); + builder.AddEndpoint(Endpoints[767]); + builder.AddEndpoint(Endpoints[768]); + builder.AddEndpoint(Endpoints[769]); + builder.AddEndpoint(Endpoints[770]); + builder.AddEndpoint(Endpoints[771]); + builder.AddEndpoint(Endpoints[772]); + builder.AddEndpoint(Endpoints[773]); + builder.AddEndpoint(Endpoints[774]); + builder.AddEndpoint(Endpoints[775]); + builder.AddEndpoint(Endpoints[776]); + builder.AddEndpoint(Endpoints[777]); + builder.AddEndpoint(Endpoints[778]); + builder.AddEndpoint(Endpoints[779]); + builder.AddEndpoint(Endpoints[780]); + builder.AddEndpoint(Endpoints[781]); + builder.AddEndpoint(Endpoints[782]); + builder.AddEndpoint(Endpoints[783]); + builder.AddEndpoint(Endpoints[784]); + builder.AddEndpoint(Endpoints[785]); + builder.AddEndpoint(Endpoints[786]); + builder.AddEndpoint(Endpoints[787]); + builder.AddEndpoint(Endpoints[788]); + builder.AddEndpoint(Endpoints[789]); + builder.AddEndpoint(Endpoints[790]); + builder.AddEndpoint(Endpoints[791]); + builder.AddEndpoint(Endpoints[792]); + builder.AddEndpoint(Endpoints[793]); + builder.AddEndpoint(Endpoints[794]); + builder.AddEndpoint(Endpoints[795]); + builder.AddEndpoint(Endpoints[796]); + builder.AddEndpoint(Endpoints[797]); + builder.AddEndpoint(Endpoints[798]); + builder.AddEndpoint(Endpoints[799]); + builder.AddEndpoint(Endpoints[800]); + builder.AddEndpoint(Endpoints[801]); + builder.AddEndpoint(Endpoints[802]); + builder.AddEndpoint(Endpoints[803]); + builder.AddEndpoint(Endpoints[804]); + builder.AddEndpoint(Endpoints[805]); + builder.AddEndpoint(Endpoints[806]); + builder.AddEndpoint(Endpoints[807]); + builder.AddEndpoint(Endpoints[808]); + builder.AddEndpoint(Endpoints[809]); + builder.AddEndpoint(Endpoints[810]); + builder.AddEndpoint(Endpoints[811]); + builder.AddEndpoint(Endpoints[812]); + builder.AddEndpoint(Endpoints[813]); + builder.AddEndpoint(Endpoints[814]); + builder.AddEndpoint(Endpoints[815]); + builder.AddEndpoint(Endpoints[816]); + builder.AddEndpoint(Endpoints[817]); + builder.AddEndpoint(Endpoints[818]); + builder.AddEndpoint(Endpoints[819]); + builder.AddEndpoint(Endpoints[820]); + builder.AddEndpoint(Endpoints[821]); + builder.AddEndpoint(Endpoints[822]); + builder.AddEndpoint(Endpoints[823]); + builder.AddEndpoint(Endpoints[824]); + builder.AddEndpoint(Endpoints[825]); + builder.AddEndpoint(Endpoints[826]); + builder.AddEndpoint(Endpoints[827]); + builder.AddEndpoint(Endpoints[828]); + builder.AddEndpoint(Endpoints[829]); + builder.AddEndpoint(Endpoints[830]); + builder.AddEndpoint(Endpoints[831]); + builder.AddEndpoint(Endpoints[832]); + builder.AddEndpoint(Endpoints[833]); + builder.AddEndpoint(Endpoints[834]); + builder.AddEndpoint(Endpoints[835]); + builder.AddEndpoint(Endpoints[836]); + builder.AddEndpoint(Endpoints[837]); + builder.AddEndpoint(Endpoints[838]); + builder.AddEndpoint(Endpoints[839]); + builder.AddEndpoint(Endpoints[840]); + builder.AddEndpoint(Endpoints[841]); + builder.AddEndpoint(Endpoints[842]); + builder.AddEndpoint(Endpoints[843]); + builder.AddEndpoint(Endpoints[844]); + builder.AddEndpoint(Endpoints[845]); + builder.AddEndpoint(Endpoints[846]); + builder.AddEndpoint(Endpoints[847]); + builder.AddEndpoint(Endpoints[848]); + builder.AddEndpoint(Endpoints[849]); + builder.AddEndpoint(Endpoints[850]); + builder.AddEndpoint(Endpoints[851]); + builder.AddEndpoint(Endpoints[852]); + builder.AddEndpoint(Endpoints[853]); + builder.AddEndpoint(Endpoints[854]); + builder.AddEndpoint(Endpoints[855]); + builder.AddEndpoint(Endpoints[856]); + builder.AddEndpoint(Endpoints[857]); + builder.AddEndpoint(Endpoints[858]); + builder.AddEndpoint(Endpoints[859]); + builder.AddEndpoint(Endpoints[860]); + builder.AddEndpoint(Endpoints[861]); + builder.AddEndpoint(Endpoints[862]); + builder.AddEndpoint(Endpoints[863]); + builder.AddEndpoint(Endpoints[864]); + builder.AddEndpoint(Endpoints[865]); + builder.AddEndpoint(Endpoints[866]); + builder.AddEndpoint(Endpoints[867]); + builder.AddEndpoint(Endpoints[868]); + builder.AddEndpoint(Endpoints[869]); + builder.AddEndpoint(Endpoints[870]); + builder.AddEndpoint(Endpoints[871]); + builder.AddEndpoint(Endpoints[872]); + builder.AddEndpoint(Endpoints[873]); + builder.AddEndpoint(Endpoints[874]); + builder.AddEndpoint(Endpoints[875]); + builder.AddEndpoint(Endpoints[876]); + builder.AddEndpoint(Endpoints[877]); + builder.AddEndpoint(Endpoints[878]); + builder.AddEndpoint(Endpoints[879]); + builder.AddEndpoint(Endpoints[880]); + builder.AddEndpoint(Endpoints[881]); + builder.AddEndpoint(Endpoints[882]); + builder.AddEndpoint(Endpoints[883]); + builder.AddEndpoint(Endpoints[884]); + builder.AddEndpoint(Endpoints[885]); + builder.AddEndpoint(Endpoints[886]); + builder.AddEndpoint(Endpoints[887]); + builder.AddEndpoint(Endpoints[888]); + builder.AddEndpoint(Endpoints[889]); + builder.AddEndpoint(Endpoints[890]); + builder.AddEndpoint(Endpoints[891]); + builder.AddEndpoint(Endpoints[892]); + builder.AddEndpoint(Endpoints[893]); + builder.AddEndpoint(Endpoints[894]); + builder.AddEndpoint(Endpoints[895]); + builder.AddEndpoint(Endpoints[896]); + builder.AddEndpoint(Endpoints[897]); + builder.AddEndpoint(Endpoints[898]); + builder.AddEndpoint(Endpoints[899]); + builder.AddEndpoint(Endpoints[900]); + builder.AddEndpoint(Endpoints[901]); + builder.AddEndpoint(Endpoints[902]); + builder.AddEndpoint(Endpoints[903]); + builder.AddEndpoint(Endpoints[904]); + builder.AddEndpoint(Endpoints[905]); + builder.AddEndpoint(Endpoints[906]); + builder.AddEndpoint(Endpoints[907]); + builder.AddEndpoint(Endpoints[908]); + builder.AddEndpoint(Endpoints[909]); + builder.AddEndpoint(Endpoints[910]); + builder.AddEndpoint(Endpoints[911]); + builder.AddEndpoint(Endpoints[912]); + builder.AddEndpoint(Endpoints[913]); + builder.AddEndpoint(Endpoints[914]); + builder.AddEndpoint(Endpoints[915]); + builder.AddEndpoint(Endpoints[916]); + builder.AddEndpoint(Endpoints[917]); + builder.AddEndpoint(Endpoints[918]); + builder.AddEndpoint(Endpoints[919]); + builder.AddEndpoint(Endpoints[920]); + builder.AddEndpoint(Endpoints[921]); + builder.AddEndpoint(Endpoints[922]); + builder.AddEndpoint(Endpoints[923]); + builder.AddEndpoint(Endpoints[924]); + builder.AddEndpoint(Endpoints[925]); + builder.AddEndpoint(Endpoints[926]); + builder.AddEndpoint(Endpoints[927]); + builder.AddEndpoint(Endpoints[928]); + builder.AddEndpoint(Endpoints[929]); + builder.AddEndpoint(Endpoints[930]); + builder.AddEndpoint(Endpoints[931]); + builder.AddEndpoint(Endpoints[932]); + builder.AddEndpoint(Endpoints[933]); + builder.AddEndpoint(Endpoints[934]); + builder.AddEndpoint(Endpoints[935]); + builder.AddEndpoint(Endpoints[936]); + builder.AddEndpoint(Endpoints[937]); + builder.AddEndpoint(Endpoints[938]); + builder.AddEndpoint(Endpoints[939]); + builder.AddEndpoint(Endpoints[940]); + builder.AddEndpoint(Endpoints[941]); + builder.AddEndpoint(Endpoints[942]); + builder.AddEndpoint(Endpoints[943]); + builder.AddEndpoint(Endpoints[944]); + builder.AddEndpoint(Endpoints[945]); + builder.AddEndpoint(Endpoints[946]); + builder.AddEndpoint(Endpoints[947]); + builder.AddEndpoint(Endpoints[948]); + builder.AddEndpoint(Endpoints[949]); + builder.AddEndpoint(Endpoints[950]); + builder.AddEndpoint(Endpoints[951]); + builder.AddEndpoint(Endpoints[952]); + builder.AddEndpoint(Endpoints[953]); + builder.AddEndpoint(Endpoints[954]); + builder.AddEndpoint(Endpoints[955]); + builder.AddEndpoint(Endpoints[956]); + builder.AddEndpoint(Endpoints[957]); + builder.AddEndpoint(Endpoints[958]); + builder.AddEndpoint(Endpoints[959]); + builder.AddEndpoint(Endpoints[960]); + builder.AddEndpoint(Endpoints[961]); + builder.AddEndpoint(Endpoints[962]); + builder.AddEndpoint(Endpoints[963]); + builder.AddEndpoint(Endpoints[964]); + builder.AddEndpoint(Endpoints[965]); + builder.AddEndpoint(Endpoints[966]); + builder.AddEndpoint(Endpoints[967]); + builder.AddEndpoint(Endpoints[968]); + builder.AddEndpoint(Endpoints[969]); + builder.AddEndpoint(Endpoints[970]); + builder.AddEndpoint(Endpoints[971]); + builder.AddEndpoint(Endpoints[972]); + builder.AddEndpoint(Endpoints[973]); + builder.AddEndpoint(Endpoints[974]); + builder.AddEndpoint(Endpoints[975]); + builder.AddEndpoint(Endpoints[976]); + builder.AddEndpoint(Endpoints[977]); + builder.AddEndpoint(Endpoints[978]); + builder.AddEndpoint(Endpoints[979]); + builder.AddEndpoint(Endpoints[980]); + builder.AddEndpoint(Endpoints[981]); + builder.AddEndpoint(Endpoints[982]); + builder.AddEndpoint(Endpoints[983]); + builder.AddEndpoint(Endpoints[984]); + builder.AddEndpoint(Endpoints[985]); + builder.AddEndpoint(Endpoints[986]); + builder.AddEndpoint(Endpoints[987]); + builder.AddEndpoint(Endpoints[988]); + builder.AddEndpoint(Endpoints[989]); + builder.AddEndpoint(Endpoints[990]); + builder.AddEndpoint(Endpoints[991]); + builder.AddEndpoint(Endpoints[992]); + builder.AddEndpoint(Endpoints[993]); + builder.AddEndpoint(Endpoints[994]); + builder.AddEndpoint(Endpoints[995]); + builder.AddEndpoint(Endpoints[996]); + builder.AddEndpoint(Endpoints[997]); + builder.AddEndpoint(Endpoints[998]); + builder.AddEndpoint(Endpoints[999]); + builder.AddEndpoint(Endpoints[1000]); + builder.AddEndpoint(Endpoints[1001]); + builder.AddEndpoint(Endpoints[1002]); + builder.AddEndpoint(Endpoints[1003]); + builder.AddEndpoint(Endpoints[1004]); + builder.AddEndpoint(Endpoints[1005]); + builder.AddEndpoint(Endpoints[1006]); + builder.AddEndpoint(Endpoints[1007]); + builder.AddEndpoint(Endpoints[1008]); + builder.AddEndpoint(Endpoints[1009]); + builder.AddEndpoint(Endpoints[1010]); + builder.AddEndpoint(Endpoints[1011]); + builder.AddEndpoint(Endpoints[1012]); + builder.AddEndpoint(Endpoints[1013]); + builder.AddEndpoint(Endpoints[1014]); + builder.AddEndpoint(Endpoints[1015]); + builder.AddEndpoint(Endpoints[1016]); + builder.AddEndpoint(Endpoints[1017]); + builder.AddEndpoint(Endpoints[1018]); + builder.AddEndpoint(Endpoints[1019]); + builder.AddEndpoint(Endpoints[1020]); + builder.AddEndpoint(Endpoints[1021]); + builder.AddEndpoint(Endpoints[1022]); + builder.AddEndpoint(Endpoints[1023]); + builder.AddEndpoint(Endpoints[1024]); + builder.AddEndpoint(Endpoints[1025]); + builder.AddEndpoint(Endpoints[1026]); + builder.AddEndpoint(Endpoints[1027]); + builder.AddEndpoint(Endpoints[1028]); + builder.AddEndpoint(Endpoints[1029]); + builder.AddEndpoint(Endpoints[1030]); + builder.AddEndpoint(Endpoints[1031]); + builder.AddEndpoint(Endpoints[1032]); + builder.AddEndpoint(Endpoints[1033]); + builder.AddEndpoint(Endpoints[1034]); + builder.AddEndpoint(Endpoints[1035]); + builder.AddEndpoint(Endpoints[1036]); + builder.AddEndpoint(Endpoints[1037]); + builder.AddEndpoint(Endpoints[1038]); + builder.AddEndpoint(Endpoints[1039]); + builder.AddEndpoint(Endpoints[1040]); + builder.AddEndpoint(Endpoints[1041]); + builder.AddEndpoint(Endpoints[1042]); + builder.AddEndpoint(Endpoints[1043]); + builder.AddEndpoint(Endpoints[1044]); + builder.AddEndpoint(Endpoints[1045]); + builder.AddEndpoint(Endpoints[1046]); + builder.AddEndpoint(Endpoints[1047]); + builder.AddEndpoint(Endpoints[1048]); + builder.AddEndpoint(Endpoints[1049]); + builder.AddEndpoint(Endpoints[1050]); + builder.AddEndpoint(Endpoints[1051]); + builder.AddEndpoint(Endpoints[1052]); + builder.AddEndpoint(Endpoints[1053]); + builder.AddEndpoint(Endpoints[1054]); + builder.AddEndpoint(Endpoints[1055]); + builder.AddEndpoint(Endpoints[1056]); + builder.AddEndpoint(Endpoints[1057]); + builder.AddEndpoint(Endpoints[1058]); + builder.AddEndpoint(Endpoints[1059]); + builder.AddEndpoint(Endpoints[1060]); + builder.AddEndpoint(Endpoints[1061]); + builder.AddEndpoint(Endpoints[1062]); + builder.AddEndpoint(Endpoints[1063]); + builder.AddEndpoint(Endpoints[1064]); + builder.AddEndpoint(Endpoints[1065]); + builder.AddEndpoint(Endpoints[1066]); + builder.AddEndpoint(Endpoints[1067]); + builder.AddEndpoint(Endpoints[1068]); + builder.AddEndpoint(Endpoints[1069]); + builder.AddEndpoint(Endpoints[1070]); + builder.AddEndpoint(Endpoints[1071]); + builder.AddEndpoint(Endpoints[1072]); + builder.AddEndpoint(Endpoints[1073]); + builder.AddEndpoint(Endpoints[1074]); + builder.AddEndpoint(Endpoints[1075]); + builder.AddEndpoint(Endpoints[1076]); + builder.AddEndpoint(Endpoints[1077]); + builder.AddEndpoint(Endpoints[1078]); + builder.AddEndpoint(Endpoints[1079]); + builder.AddEndpoint(Endpoints[1080]); + builder.AddEndpoint(Endpoints[1081]); + builder.AddEndpoint(Endpoints[1082]); + builder.AddEndpoint(Endpoints[1083]); + builder.AddEndpoint(Endpoints[1084]); + builder.AddEndpoint(Endpoints[1085]); + builder.AddEndpoint(Endpoints[1086]); + builder.AddEndpoint(Endpoints[1087]); + builder.AddEndpoint(Endpoints[1088]); + builder.AddEndpoint(Endpoints[1089]); + builder.AddEndpoint(Endpoints[1090]); + builder.AddEndpoint(Endpoints[1091]); + builder.AddEndpoint(Endpoints[1092]); + builder.AddEndpoint(Endpoints[1093]); + builder.AddEndpoint(Endpoints[1094]); + builder.AddEndpoint(Endpoints[1095]); + builder.AddEndpoint(Endpoints[1096]); + builder.AddEndpoint(Endpoints[1097]); + builder.AddEndpoint(Endpoints[1098]); + builder.AddEndpoint(Endpoints[1099]); + builder.AddEndpoint(Endpoints[1100]); + builder.AddEndpoint(Endpoints[1101]); + builder.AddEndpoint(Endpoints[1102]); + builder.AddEndpoint(Endpoints[1103]); + builder.AddEndpoint(Endpoints[1104]); + builder.AddEndpoint(Endpoints[1105]); + builder.AddEndpoint(Endpoints[1106]); + builder.AddEndpoint(Endpoints[1107]); + builder.AddEndpoint(Endpoints[1108]); + builder.AddEndpoint(Endpoints[1109]); + builder.AddEndpoint(Endpoints[1110]); + builder.AddEndpoint(Endpoints[1111]); + builder.AddEndpoint(Endpoints[1112]); + builder.AddEndpoint(Endpoints[1113]); + builder.AddEndpoint(Endpoints[1114]); + builder.AddEndpoint(Endpoints[1115]); + builder.AddEndpoint(Endpoints[1116]); + builder.AddEndpoint(Endpoints[1117]); + builder.AddEndpoint(Endpoints[1118]); + builder.AddEndpoint(Endpoints[1119]); + builder.AddEndpoint(Endpoints[1120]); + builder.AddEndpoint(Endpoints[1121]); + builder.AddEndpoint(Endpoints[1122]); + builder.AddEndpoint(Endpoints[1123]); + builder.AddEndpoint(Endpoints[1124]); + builder.AddEndpoint(Endpoints[1125]); + builder.AddEndpoint(Endpoints[1126]); + builder.AddEndpoint(Endpoints[1127]); + builder.AddEndpoint(Endpoints[1128]); + builder.AddEndpoint(Endpoints[1129]); + builder.AddEndpoint(Endpoints[1130]); + builder.AddEndpoint(Endpoints[1131]); + builder.AddEndpoint(Endpoints[1132]); + builder.AddEndpoint(Endpoints[1133]); + builder.AddEndpoint(Endpoints[1134]); + builder.AddEndpoint(Endpoints[1135]); + builder.AddEndpoint(Endpoints[1136]); + builder.AddEndpoint(Endpoints[1137]); + builder.AddEndpoint(Endpoints[1138]); + builder.AddEndpoint(Endpoints[1139]); + builder.AddEndpoint(Endpoints[1140]); + builder.AddEndpoint(Endpoints[1141]); + builder.AddEndpoint(Endpoints[1142]); + builder.AddEndpoint(Endpoints[1143]); + builder.AddEndpoint(Endpoints[1144]); + builder.AddEndpoint(Endpoints[1145]); + builder.AddEndpoint(Endpoints[1146]); + builder.AddEndpoint(Endpoints[1147]); + builder.AddEndpoint(Endpoints[1148]); + builder.AddEndpoint(Endpoints[1149]); + builder.AddEndpoint(Endpoints[1150]); + builder.AddEndpoint(Endpoints[1151]); + builder.AddEndpoint(Endpoints[1152]); + builder.AddEndpoint(Endpoints[1153]); + builder.AddEndpoint(Endpoints[1154]); + builder.AddEndpoint(Endpoints[1155]); + builder.AddEndpoint(Endpoints[1156]); + builder.AddEndpoint(Endpoints[1157]); + builder.AddEndpoint(Endpoints[1158]); + builder.AddEndpoint(Endpoints[1159]); + builder.AddEndpoint(Endpoints[1160]); + builder.AddEndpoint(Endpoints[1161]); + builder.AddEndpoint(Endpoints[1162]); + builder.AddEndpoint(Endpoints[1163]); + builder.AddEndpoint(Endpoints[1164]); + builder.AddEndpoint(Endpoints[1165]); + builder.AddEndpoint(Endpoints[1166]); + builder.AddEndpoint(Endpoints[1167]); + builder.AddEndpoint(Endpoints[1168]); + builder.AddEndpoint(Endpoints[1169]); + builder.AddEndpoint(Endpoints[1170]); + builder.AddEndpoint(Endpoints[1171]); + builder.AddEndpoint(Endpoints[1172]); + builder.AddEndpoint(Endpoints[1173]); + builder.AddEndpoint(Endpoints[1174]); + builder.AddEndpoint(Endpoints[1175]); + builder.AddEndpoint(Endpoints[1176]); + builder.AddEndpoint(Endpoints[1177]); + builder.AddEndpoint(Endpoints[1178]); + builder.AddEndpoint(Endpoints[1179]); + builder.AddEndpoint(Endpoints[1180]); + builder.AddEndpoint(Endpoints[1181]); + builder.AddEndpoint(Endpoints[1182]); + builder.AddEndpoint(Endpoints[1183]); + builder.AddEndpoint(Endpoints[1184]); + builder.AddEndpoint(Endpoints[1185]); + builder.AddEndpoint(Endpoints[1186]); + builder.AddEndpoint(Endpoints[1187]); + builder.AddEndpoint(Endpoints[1188]); + builder.AddEndpoint(Endpoints[1189]); + builder.AddEndpoint(Endpoints[1190]); + builder.AddEndpoint(Endpoints[1191]); + builder.AddEndpoint(Endpoints[1192]); + builder.AddEndpoint(Endpoints[1193]); + builder.AddEndpoint(Endpoints[1194]); + builder.AddEndpoint(Endpoints[1195]); + builder.AddEndpoint(Endpoints[1196]); + builder.AddEndpoint(Endpoints[1197]); + builder.AddEndpoint(Endpoints[1198]); + builder.AddEndpoint(Endpoints[1199]); + builder.AddEndpoint(Endpoints[1200]); + builder.AddEndpoint(Endpoints[1201]); + builder.AddEndpoint(Endpoints[1202]); + builder.AddEndpoint(Endpoints[1203]); + builder.AddEndpoint(Endpoints[1204]); + builder.AddEndpoint(Endpoints[1205]); + builder.AddEndpoint(Endpoints[1206]); + builder.AddEndpoint(Endpoints[1207]); + builder.AddEndpoint(Endpoints[1208]); + builder.AddEndpoint(Endpoints[1209]); + builder.AddEndpoint(Endpoints[1210]); + builder.AddEndpoint(Endpoints[1211]); + builder.AddEndpoint(Endpoints[1212]); + builder.AddEndpoint(Endpoints[1213]); + builder.AddEndpoint(Endpoints[1214]); + builder.AddEndpoint(Endpoints[1215]); + builder.AddEndpoint(Endpoints[1216]); + builder.AddEndpoint(Endpoints[1217]); + builder.AddEndpoint(Endpoints[1218]); + builder.AddEndpoint(Endpoints[1219]); + builder.AddEndpoint(Endpoints[1220]); + builder.AddEndpoint(Endpoints[1221]); + builder.AddEndpoint(Endpoints[1222]); + builder.AddEndpoint(Endpoints[1223]); + builder.AddEndpoint(Endpoints[1224]); + builder.AddEndpoint(Endpoints[1225]); + builder.AddEndpoint(Endpoints[1226]); + builder.AddEndpoint(Endpoints[1227]); + builder.AddEndpoint(Endpoints[1228]); + builder.AddEndpoint(Endpoints[1229]); + builder.AddEndpoint(Endpoints[1230]); + builder.AddEndpoint(Endpoints[1231]); + builder.AddEndpoint(Endpoints[1232]); + builder.AddEndpoint(Endpoints[1233]); + builder.AddEndpoint(Endpoints[1234]); + builder.AddEndpoint(Endpoints[1235]); + builder.AddEndpoint(Endpoints[1236]); + builder.AddEndpoint(Endpoints[1237]); + builder.AddEndpoint(Endpoints[1238]); + builder.AddEndpoint(Endpoints[1239]); + builder.AddEndpoint(Endpoints[1240]); + builder.AddEndpoint(Endpoints[1241]); + builder.AddEndpoint(Endpoints[1242]); + builder.AddEndpoint(Endpoints[1243]); + builder.AddEndpoint(Endpoints[1244]); + builder.AddEndpoint(Endpoints[1245]); + builder.AddEndpoint(Endpoints[1246]); + builder.AddEndpoint(Endpoints[1247]); + builder.AddEndpoint(Endpoints[1248]); + builder.AddEndpoint(Endpoints[1249]); + builder.AddEndpoint(Endpoints[1250]); + builder.AddEndpoint(Endpoints[1251]); + builder.AddEndpoint(Endpoints[1252]); + builder.AddEndpoint(Endpoints[1253]); + builder.AddEndpoint(Endpoints[1254]); + builder.AddEndpoint(Endpoints[1255]); + builder.AddEndpoint(Endpoints[1256]); + builder.AddEndpoint(Endpoints[1257]); + builder.AddEndpoint(Endpoints[1258]); + builder.AddEndpoint(Endpoints[1259]); + builder.AddEndpoint(Endpoints[1260]); + builder.AddEndpoint(Endpoints[1261]); + builder.AddEndpoint(Endpoints[1262]); + builder.AddEndpoint(Endpoints[1263]); + builder.AddEndpoint(Endpoints[1264]); + builder.AddEndpoint(Endpoints[1265]); + builder.AddEndpoint(Endpoints[1266]); + builder.AddEndpoint(Endpoints[1267]); + builder.AddEndpoint(Endpoints[1268]); + builder.AddEndpoint(Endpoints[1269]); + builder.AddEndpoint(Endpoints[1270]); + builder.AddEndpoint(Endpoints[1271]); + builder.AddEndpoint(Endpoints[1272]); + builder.AddEndpoint(Endpoints[1273]); + builder.AddEndpoint(Endpoints[1274]); + builder.AddEndpoint(Endpoints[1275]); + builder.AddEndpoint(Endpoints[1276]); + builder.AddEndpoint(Endpoints[1277]); + builder.AddEndpoint(Endpoints[1278]); + builder.AddEndpoint(Endpoints[1279]); + builder.AddEndpoint(Endpoints[1280]); + builder.AddEndpoint(Endpoints[1281]); + builder.AddEndpoint(Endpoints[1282]); + builder.AddEndpoint(Endpoints[1283]); + builder.AddEndpoint(Endpoints[1284]); + builder.AddEndpoint(Endpoints[1285]); + builder.AddEndpoint(Endpoints[1286]); + builder.AddEndpoint(Endpoints[1287]); + builder.AddEndpoint(Endpoints[1288]); + builder.AddEndpoint(Endpoints[1289]); + builder.AddEndpoint(Endpoints[1290]); + builder.AddEndpoint(Endpoints[1291]); + builder.AddEndpoint(Endpoints[1292]); + builder.AddEndpoint(Endpoints[1293]); + builder.AddEndpoint(Endpoints[1294]); + builder.AddEndpoint(Endpoints[1295]); + builder.AddEndpoint(Endpoints[1296]); + builder.AddEndpoint(Endpoints[1297]); + builder.AddEndpoint(Endpoints[1298]); + builder.AddEndpoint(Endpoints[1299]); + builder.AddEndpoint(Endpoints[1300]); + builder.AddEndpoint(Endpoints[1301]); + builder.AddEndpoint(Endpoints[1302]); + builder.AddEndpoint(Endpoints[1303]); + builder.AddEndpoint(Endpoints[1304]); + builder.AddEndpoint(Endpoints[1305]); + builder.AddEndpoint(Endpoints[1306]); + builder.AddEndpoint(Endpoints[1307]); + builder.AddEndpoint(Endpoints[1308]); + builder.AddEndpoint(Endpoints[1309]); + builder.AddEndpoint(Endpoints[1310]); + builder.AddEndpoint(Endpoints[1311]); + builder.AddEndpoint(Endpoints[1312]); + builder.AddEndpoint(Endpoints[1313]); + builder.AddEndpoint(Endpoints[1314]); + builder.AddEndpoint(Endpoints[1315]); + builder.AddEndpoint(Endpoints[1316]); + builder.AddEndpoint(Endpoints[1317]); + builder.AddEndpoint(Endpoints[1318]); + builder.AddEndpoint(Endpoints[1319]); + builder.AddEndpoint(Endpoints[1320]); + builder.AddEndpoint(Endpoints[1321]); + builder.AddEndpoint(Endpoints[1322]); + builder.AddEndpoint(Endpoints[1323]); + builder.AddEndpoint(Endpoints[1324]); + builder.AddEndpoint(Endpoints[1325]); + builder.AddEndpoint(Endpoints[1326]); + builder.AddEndpoint(Endpoints[1327]); + builder.AddEndpoint(Endpoints[1328]); + builder.AddEndpoint(Endpoints[1329]); + builder.AddEndpoint(Endpoints[1330]); + builder.AddEndpoint(Endpoints[1331]); + builder.AddEndpoint(Endpoints[1332]); + builder.AddEndpoint(Endpoints[1333]); + builder.AddEndpoint(Endpoints[1334]); + builder.AddEndpoint(Endpoints[1335]); + builder.AddEndpoint(Endpoints[1336]); + builder.AddEndpoint(Endpoints[1337]); + builder.AddEndpoint(Endpoints[1338]); + builder.AddEndpoint(Endpoints[1339]); + builder.AddEndpoint(Endpoints[1340]); + builder.AddEndpoint(Endpoints[1341]); + builder.AddEndpoint(Endpoints[1342]); + builder.AddEndpoint(Endpoints[1343]); + builder.AddEndpoint(Endpoints[1344]); + builder.AddEndpoint(Endpoints[1345]); + builder.AddEndpoint(Endpoints[1346]); + builder.AddEndpoint(Endpoints[1347]); + builder.AddEndpoint(Endpoints[1348]); + builder.AddEndpoint(Endpoints[1349]); + builder.AddEndpoint(Endpoints[1350]); + builder.AddEndpoint(Endpoints[1351]); + builder.AddEndpoint(Endpoints[1352]); + builder.AddEndpoint(Endpoints[1353]); + builder.AddEndpoint(Endpoints[1354]); + builder.AddEndpoint(Endpoints[1355]); + builder.AddEndpoint(Endpoints[1356]); + builder.AddEndpoint(Endpoints[1357]); + builder.AddEndpoint(Endpoints[1358]); + builder.AddEndpoint(Endpoints[1359]); + builder.AddEndpoint(Endpoints[1360]); + builder.AddEndpoint(Endpoints[1361]); + builder.AddEndpoint(Endpoints[1362]); + builder.AddEndpoint(Endpoints[1363]); + builder.AddEndpoint(Endpoints[1364]); + builder.AddEndpoint(Endpoints[1365]); + builder.AddEndpoint(Endpoints[1366]); + builder.AddEndpoint(Endpoints[1367]); + builder.AddEndpoint(Endpoints[1368]); + builder.AddEndpoint(Endpoints[1369]); + builder.AddEndpoint(Endpoints[1370]); + builder.AddEndpoint(Endpoints[1371]); + builder.AddEndpoint(Endpoints[1372]); + builder.AddEndpoint(Endpoints[1373]); + builder.AddEndpoint(Endpoints[1374]); + builder.AddEndpoint(Endpoints[1375]); + builder.AddEndpoint(Endpoints[1376]); + builder.AddEndpoint(Endpoints[1377]); + builder.AddEndpoint(Endpoints[1378]); + builder.AddEndpoint(Endpoints[1379]); + builder.AddEndpoint(Endpoints[1380]); + builder.AddEndpoint(Endpoints[1381]); + builder.AddEndpoint(Endpoints[1382]); + builder.AddEndpoint(Endpoints[1383]); + builder.AddEndpoint(Endpoints[1384]); + builder.AddEndpoint(Endpoints[1385]); + builder.AddEndpoint(Endpoints[1386]); + builder.AddEndpoint(Endpoints[1387]); + builder.AddEndpoint(Endpoints[1388]); + builder.AddEndpoint(Endpoints[1389]); + builder.AddEndpoint(Endpoints[1390]); + builder.AddEndpoint(Endpoints[1391]); + builder.AddEndpoint(Endpoints[1392]); + builder.AddEndpoint(Endpoints[1393]); + builder.AddEndpoint(Endpoints[1394]); + builder.AddEndpoint(Endpoints[1395]); + builder.AddEndpoint(Endpoints[1396]); + builder.AddEndpoint(Endpoints[1397]); + builder.AddEndpoint(Endpoints[1398]); + builder.AddEndpoint(Endpoints[1399]); + builder.AddEndpoint(Endpoints[1400]); + builder.AddEndpoint(Endpoints[1401]); + builder.AddEndpoint(Endpoints[1402]); + builder.AddEndpoint(Endpoints[1403]); + builder.AddEndpoint(Endpoints[1404]); + builder.AddEndpoint(Endpoints[1405]); + builder.AddEndpoint(Endpoints[1406]); + builder.AddEndpoint(Endpoints[1407]); + builder.AddEndpoint(Endpoints[1408]); + builder.AddEndpoint(Endpoints[1409]); + builder.AddEndpoint(Endpoints[1410]); + builder.AddEndpoint(Endpoints[1411]); + builder.AddEndpoint(Endpoints[1412]); + builder.AddEndpoint(Endpoints[1413]); + builder.AddEndpoint(Endpoints[1414]); + builder.AddEndpoint(Endpoints[1415]); + builder.AddEndpoint(Endpoints[1416]); + builder.AddEndpoint(Endpoints[1417]); + builder.AddEndpoint(Endpoints[1418]); + builder.AddEndpoint(Endpoints[1419]); + builder.AddEndpoint(Endpoints[1420]); + builder.AddEndpoint(Endpoints[1421]); + builder.AddEndpoint(Endpoints[1422]); + builder.AddEndpoint(Endpoints[1423]); + builder.AddEndpoint(Endpoints[1424]); + builder.AddEndpoint(Endpoints[1425]); + builder.AddEndpoint(Endpoints[1426]); + builder.AddEndpoint(Endpoints[1427]); + builder.AddEndpoint(Endpoints[1428]); + builder.AddEndpoint(Endpoints[1429]); + builder.AddEndpoint(Endpoints[1430]); + builder.AddEndpoint(Endpoints[1431]); + builder.AddEndpoint(Endpoints[1432]); + builder.AddEndpoint(Endpoints[1433]); + builder.AddEndpoint(Endpoints[1434]); + builder.AddEndpoint(Endpoints[1435]); + builder.AddEndpoint(Endpoints[1436]); + builder.AddEndpoint(Endpoints[1437]); + builder.AddEndpoint(Endpoints[1438]); + builder.AddEndpoint(Endpoints[1439]); + builder.AddEndpoint(Endpoints[1440]); + builder.AddEndpoint(Endpoints[1441]); + builder.AddEndpoint(Endpoints[1442]); + builder.AddEndpoint(Endpoints[1443]); + builder.AddEndpoint(Endpoints[1444]); + builder.AddEndpoint(Endpoints[1445]); + builder.AddEndpoint(Endpoints[1446]); + builder.AddEndpoint(Endpoints[1447]); + builder.AddEndpoint(Endpoints[1448]); + builder.AddEndpoint(Endpoints[1449]); + builder.AddEndpoint(Endpoints[1450]); + builder.AddEndpoint(Endpoints[1451]); + builder.AddEndpoint(Endpoints[1452]); + builder.AddEndpoint(Endpoints[1453]); + builder.AddEndpoint(Endpoints[1454]); + builder.AddEndpoint(Endpoints[1455]); + builder.AddEndpoint(Endpoints[1456]); + builder.AddEndpoint(Endpoints[1457]); + builder.AddEndpoint(Endpoints[1458]); + builder.AddEndpoint(Endpoints[1459]); + builder.AddEndpoint(Endpoints[1460]); + builder.AddEndpoint(Endpoints[1461]); + builder.AddEndpoint(Endpoints[1462]); + builder.AddEndpoint(Endpoints[1463]); + builder.AddEndpoint(Endpoints[1464]); + builder.AddEndpoint(Endpoints[1465]); + builder.AddEndpoint(Endpoints[1466]); + builder.AddEndpoint(Endpoints[1467]); + builder.AddEndpoint(Endpoints[1468]); + builder.AddEndpoint(Endpoints[1469]); + builder.AddEndpoint(Endpoints[1470]); + builder.AddEndpoint(Endpoints[1471]); + builder.AddEndpoint(Endpoints[1472]); + builder.AddEndpoint(Endpoints[1473]); + builder.AddEndpoint(Endpoints[1474]); + builder.AddEndpoint(Endpoints[1475]); + builder.AddEndpoint(Endpoints[1476]); + builder.AddEndpoint(Endpoints[1477]); + builder.AddEndpoint(Endpoints[1478]); + builder.AddEndpoint(Endpoints[1479]); + builder.AddEndpoint(Endpoints[1480]); + builder.AddEndpoint(Endpoints[1481]); + builder.AddEndpoint(Endpoints[1482]); + builder.AddEndpoint(Endpoints[1483]); + builder.AddEndpoint(Endpoints[1484]); + builder.AddEndpoint(Endpoints[1485]); + builder.AddEndpoint(Endpoints[1486]); + builder.AddEndpoint(Endpoints[1487]); + builder.AddEndpoint(Endpoints[1488]); + builder.AddEndpoint(Endpoints[1489]); + builder.AddEndpoint(Endpoints[1490]); + builder.AddEndpoint(Endpoints[1491]); + builder.AddEndpoint(Endpoints[1492]); + builder.AddEndpoint(Endpoints[1493]); + builder.AddEndpoint(Endpoints[1494]); + builder.AddEndpoint(Endpoints[1495]); + builder.AddEndpoint(Endpoints[1496]); + builder.AddEndpoint(Endpoints[1497]); + builder.AddEndpoint(Endpoints[1498]); + builder.AddEndpoint(Endpoints[1499]); + builder.AddEndpoint(Endpoints[1500]); + builder.AddEndpoint(Endpoints[1501]); + builder.AddEndpoint(Endpoints[1502]); + builder.AddEndpoint(Endpoints[1503]); + builder.AddEndpoint(Endpoints[1504]); + builder.AddEndpoint(Endpoints[1505]); + builder.AddEndpoint(Endpoints[1506]); + builder.AddEndpoint(Endpoints[1507]); + builder.AddEndpoint(Endpoints[1508]); + builder.AddEndpoint(Endpoints[1509]); + builder.AddEndpoint(Endpoints[1510]); + builder.AddEndpoint(Endpoints[1511]); + builder.AddEndpoint(Endpoints[1512]); + builder.AddEndpoint(Endpoints[1513]); + builder.AddEndpoint(Endpoints[1514]); + builder.AddEndpoint(Endpoints[1515]); + builder.AddEndpoint(Endpoints[1516]); + builder.AddEndpoint(Endpoints[1517]); + builder.AddEndpoint(Endpoints[1518]); + builder.AddEndpoint(Endpoints[1519]); + builder.AddEndpoint(Endpoints[1520]); + builder.AddEndpoint(Endpoints[1521]); + builder.AddEndpoint(Endpoints[1522]); + builder.AddEndpoint(Endpoints[1523]); + builder.AddEndpoint(Endpoints[1524]); + builder.AddEndpoint(Endpoints[1525]); + builder.AddEndpoint(Endpoints[1526]); + builder.AddEndpoint(Endpoints[1527]); + builder.AddEndpoint(Endpoints[1528]); + builder.AddEndpoint(Endpoints[1529]); + builder.AddEndpoint(Endpoints[1530]); + builder.AddEndpoint(Endpoints[1531]); + builder.AddEndpoint(Endpoints[1532]); + builder.AddEndpoint(Endpoints[1533]); + builder.AddEndpoint(Endpoints[1534]); + builder.AddEndpoint(Endpoints[1535]); + builder.AddEndpoint(Endpoints[1536]); + builder.AddEndpoint(Endpoints[1537]); + builder.AddEndpoint(Endpoints[1538]); + builder.AddEndpoint(Endpoints[1539]); + builder.AddEndpoint(Endpoints[1540]); + builder.AddEndpoint(Endpoints[1541]); + builder.AddEndpoint(Endpoints[1542]); + builder.AddEndpoint(Endpoints[1543]); + builder.AddEndpoint(Endpoints[1544]); + builder.AddEndpoint(Endpoints[1545]); + builder.AddEndpoint(Endpoints[1546]); + builder.AddEndpoint(Endpoints[1547]); + builder.AddEndpoint(Endpoints[1548]); + builder.AddEndpoint(Endpoints[1549]); + builder.AddEndpoint(Endpoints[1550]); + builder.AddEndpoint(Endpoints[1551]); + builder.AddEndpoint(Endpoints[1552]); + builder.AddEndpoint(Endpoints[1553]); + builder.AddEndpoint(Endpoints[1554]); + builder.AddEndpoint(Endpoints[1555]); + builder.AddEndpoint(Endpoints[1556]); + builder.AddEndpoint(Endpoints[1557]); + builder.AddEndpoint(Endpoints[1558]); + builder.AddEndpoint(Endpoints[1559]); + builder.AddEndpoint(Endpoints[1560]); + builder.AddEndpoint(Endpoints[1561]); + builder.AddEndpoint(Endpoints[1562]); + builder.AddEndpoint(Endpoints[1563]); + builder.AddEndpoint(Endpoints[1564]); + builder.AddEndpoint(Endpoints[1565]); + builder.AddEndpoint(Endpoints[1566]); + builder.AddEndpoint(Endpoints[1567]); + builder.AddEndpoint(Endpoints[1568]); + builder.AddEndpoint(Endpoints[1569]); + builder.AddEndpoint(Endpoints[1570]); + builder.AddEndpoint(Endpoints[1571]); + builder.AddEndpoint(Endpoints[1572]); + builder.AddEndpoint(Endpoints[1573]); + builder.AddEndpoint(Endpoints[1574]); + builder.AddEndpoint(Endpoints[1575]); + builder.AddEndpoint(Endpoints[1576]); + builder.AddEndpoint(Endpoints[1577]); + builder.AddEndpoint(Endpoints[1578]); + builder.AddEndpoint(Endpoints[1579]); + builder.AddEndpoint(Endpoints[1580]); + builder.AddEndpoint(Endpoints[1581]); + builder.AddEndpoint(Endpoints[1582]); + builder.AddEndpoint(Endpoints[1583]); + builder.AddEndpoint(Endpoints[1584]); + builder.AddEndpoint(Endpoints[1585]); + builder.AddEndpoint(Endpoints[1586]); + builder.AddEndpoint(Endpoints[1587]); + builder.AddEndpoint(Endpoints[1588]); + builder.AddEndpoint(Endpoints[1589]); + builder.AddEndpoint(Endpoints[1590]); + builder.AddEndpoint(Endpoints[1591]); + builder.AddEndpoint(Endpoints[1592]); + builder.AddEndpoint(Endpoints[1593]); + builder.AddEndpoint(Endpoints[1594]); + builder.AddEndpoint(Endpoints[1595]); + builder.AddEndpoint(Endpoints[1596]); + builder.AddEndpoint(Endpoints[1597]); + builder.AddEndpoint(Endpoints[1598]); + builder.AddEndpoint(Endpoints[1599]); + builder.AddEndpoint(Endpoints[1600]); + builder.AddEndpoint(Endpoints[1601]); + builder.AddEndpoint(Endpoints[1602]); + builder.AddEndpoint(Endpoints[1603]); + builder.AddEndpoint(Endpoints[1604]); + builder.AddEndpoint(Endpoints[1605]); + builder.AddEndpoint(Endpoints[1606]); + builder.AddEndpoint(Endpoints[1607]); + builder.AddEndpoint(Endpoints[1608]); + builder.AddEndpoint(Endpoints[1609]); + builder.AddEndpoint(Endpoints[1610]); + builder.AddEndpoint(Endpoints[1611]); + builder.AddEndpoint(Endpoints[1612]); + builder.AddEndpoint(Endpoints[1613]); + builder.AddEndpoint(Endpoints[1614]); + builder.AddEndpoint(Endpoints[1615]); + builder.AddEndpoint(Endpoints[1616]); + builder.AddEndpoint(Endpoints[1617]); + builder.AddEndpoint(Endpoints[1618]); + builder.AddEndpoint(Endpoints[1619]); + builder.AddEndpoint(Endpoints[1620]); + builder.AddEndpoint(Endpoints[1621]); + builder.AddEndpoint(Endpoints[1622]); + builder.AddEndpoint(Endpoints[1623]); + builder.AddEndpoint(Endpoints[1624]); + builder.AddEndpoint(Endpoints[1625]); + builder.AddEndpoint(Endpoints[1626]); + builder.AddEndpoint(Endpoints[1627]); + builder.AddEndpoint(Endpoints[1628]); + builder.AddEndpoint(Endpoints[1629]); + builder.AddEndpoint(Endpoints[1630]); + builder.AddEndpoint(Endpoints[1631]); + builder.AddEndpoint(Endpoints[1632]); + builder.AddEndpoint(Endpoints[1633]); + builder.AddEndpoint(Endpoints[1634]); + builder.AddEndpoint(Endpoints[1635]); + builder.AddEndpoint(Endpoints[1636]); + builder.AddEndpoint(Endpoints[1637]); + builder.AddEndpoint(Endpoints[1638]); + builder.AddEndpoint(Endpoints[1639]); + builder.AddEndpoint(Endpoints[1640]); + builder.AddEndpoint(Endpoints[1641]); + builder.AddEndpoint(Endpoints[1642]); + builder.AddEndpoint(Endpoints[1643]); + builder.AddEndpoint(Endpoints[1644]); + builder.AddEndpoint(Endpoints[1645]); + builder.AddEndpoint(Endpoints[1646]); + builder.AddEndpoint(Endpoints[1647]); + builder.AddEndpoint(Endpoints[1648]); + builder.AddEndpoint(Endpoints[1649]); + builder.AddEndpoint(Endpoints[1650]); + builder.AddEndpoint(Endpoints[1651]); + builder.AddEndpoint(Endpoints[1652]); + builder.AddEndpoint(Endpoints[1653]); + builder.AddEndpoint(Endpoints[1654]); + builder.AddEndpoint(Endpoints[1655]); + builder.AddEndpoint(Endpoints[1656]); + builder.AddEndpoint(Endpoints[1657]); + builder.AddEndpoint(Endpoints[1658]); + builder.AddEndpoint(Endpoints[1659]); + builder.AddEndpoint(Endpoints[1660]); + builder.AddEndpoint(Endpoints[1661]); + builder.AddEndpoint(Endpoints[1662]); + builder.AddEndpoint(Endpoints[1663]); + builder.AddEndpoint(Endpoints[1664]); + builder.AddEndpoint(Endpoints[1665]); + builder.AddEndpoint(Endpoints[1666]); + builder.AddEndpoint(Endpoints[1667]); + builder.AddEndpoint(Endpoints[1668]); + builder.AddEndpoint(Endpoints[1669]); + builder.AddEndpoint(Endpoints[1670]); + builder.AddEndpoint(Endpoints[1671]); + builder.AddEndpoint(Endpoints[1672]); + builder.AddEndpoint(Endpoints[1673]); + builder.AddEndpoint(Endpoints[1674]); + builder.AddEndpoint(Endpoints[1675]); + builder.AddEndpoint(Endpoints[1676]); + builder.AddEndpoint(Endpoints[1677]); + builder.AddEndpoint(Endpoints[1678]); + builder.AddEndpoint(Endpoints[1679]); + builder.AddEndpoint(Endpoints[1680]); + builder.AddEndpoint(Endpoints[1681]); + builder.AddEndpoint(Endpoints[1682]); + builder.AddEndpoint(Endpoints[1683]); + builder.AddEndpoint(Endpoints[1684]); + builder.AddEndpoint(Endpoints[1685]); + builder.AddEndpoint(Endpoints[1686]); + builder.AddEndpoint(Endpoints[1687]); + builder.AddEndpoint(Endpoints[1688]); + builder.AddEndpoint(Endpoints[1689]); + builder.AddEndpoint(Endpoints[1690]); + builder.AddEndpoint(Endpoints[1691]); + builder.AddEndpoint(Endpoints[1692]); + builder.AddEndpoint(Endpoints[1693]); + builder.AddEndpoint(Endpoints[1694]); + builder.AddEndpoint(Endpoints[1695]); + builder.AddEndpoint(Endpoints[1696]); + builder.AddEndpoint(Endpoints[1697]); + builder.AddEndpoint(Endpoints[1698]); + builder.AddEndpoint(Endpoints[1699]); + builder.AddEndpoint(Endpoints[1700]); + builder.AddEndpoint(Endpoints[1701]); + builder.AddEndpoint(Endpoints[1702]); + builder.AddEndpoint(Endpoints[1703]); + builder.AddEndpoint(Endpoints[1704]); + builder.AddEndpoint(Endpoints[1705]); + builder.AddEndpoint(Endpoints[1706]); + builder.AddEndpoint(Endpoints[1707]); + builder.AddEndpoint(Endpoints[1708]); + builder.AddEndpoint(Endpoints[1709]); + builder.AddEndpoint(Endpoints[1710]); + builder.AddEndpoint(Endpoints[1711]); + builder.AddEndpoint(Endpoints[1712]); + builder.AddEndpoint(Endpoints[1713]); + builder.AddEndpoint(Endpoints[1714]); + builder.AddEndpoint(Endpoints[1715]); + builder.AddEndpoint(Endpoints[1716]); + builder.AddEndpoint(Endpoints[1717]); + builder.AddEndpoint(Endpoints[1718]); + builder.AddEndpoint(Endpoints[1719]); + builder.AddEndpoint(Endpoints[1720]); + builder.AddEndpoint(Endpoints[1721]); + builder.AddEndpoint(Endpoints[1722]); + builder.AddEndpoint(Endpoints[1723]); + builder.AddEndpoint(Endpoints[1724]); + builder.AddEndpoint(Endpoints[1725]); + builder.AddEndpoint(Endpoints[1726]); + builder.AddEndpoint(Endpoints[1727]); + builder.AddEndpoint(Endpoints[1728]); + builder.AddEndpoint(Endpoints[1729]); + builder.AddEndpoint(Endpoints[1730]); + builder.AddEndpoint(Endpoints[1731]); + builder.AddEndpoint(Endpoints[1732]); + builder.AddEndpoint(Endpoints[1733]); + builder.AddEndpoint(Endpoints[1734]); + builder.AddEndpoint(Endpoints[1735]); + builder.AddEndpoint(Endpoints[1736]); + builder.AddEndpoint(Endpoints[1737]); + builder.AddEndpoint(Endpoints[1738]); + builder.AddEndpoint(Endpoints[1739]); + builder.AddEndpoint(Endpoints[1740]); + builder.AddEndpoint(Endpoints[1741]); + builder.AddEndpoint(Endpoints[1742]); + builder.AddEndpoint(Endpoints[1743]); + builder.AddEndpoint(Endpoints[1744]); + builder.AddEndpoint(Endpoints[1745]); + builder.AddEndpoint(Endpoints[1746]); + builder.AddEndpoint(Endpoints[1747]); + builder.AddEndpoint(Endpoints[1748]); + builder.AddEndpoint(Endpoints[1749]); + builder.AddEndpoint(Endpoints[1750]); + builder.AddEndpoint(Endpoints[1751]); + builder.AddEndpoint(Endpoints[1752]); + builder.AddEndpoint(Endpoints[1753]); + builder.AddEndpoint(Endpoints[1754]); + builder.AddEndpoint(Endpoints[1755]); + builder.AddEndpoint(Endpoints[1756]); + builder.AddEndpoint(Endpoints[1757]); + builder.AddEndpoint(Endpoints[1758]); + builder.AddEndpoint(Endpoints[1759]); + builder.AddEndpoint(Endpoints[1760]); + builder.AddEndpoint(Endpoints[1761]); + builder.AddEndpoint(Endpoints[1762]); + builder.AddEndpoint(Endpoints[1763]); + builder.AddEndpoint(Endpoints[1764]); + builder.AddEndpoint(Endpoints[1765]); + builder.AddEndpoint(Endpoints[1766]); + builder.AddEndpoint(Endpoints[1767]); + builder.AddEndpoint(Endpoints[1768]); + builder.AddEndpoint(Endpoints[1769]); + builder.AddEndpoint(Endpoints[1770]); + builder.AddEndpoint(Endpoints[1771]); + builder.AddEndpoint(Endpoints[1772]); + builder.AddEndpoint(Endpoints[1773]); + builder.AddEndpoint(Endpoints[1774]); + builder.AddEndpoint(Endpoints[1775]); + builder.AddEndpoint(Endpoints[1776]); + builder.AddEndpoint(Endpoints[1777]); + builder.AddEndpoint(Endpoints[1778]); + builder.AddEndpoint(Endpoints[1779]); + builder.AddEndpoint(Endpoints[1780]); + builder.AddEndpoint(Endpoints[1781]); + builder.AddEndpoint(Endpoints[1782]); + builder.AddEndpoint(Endpoints[1783]); + builder.AddEndpoint(Endpoints[1784]); + builder.AddEndpoint(Endpoints[1785]); + builder.AddEndpoint(Endpoints[1786]); + builder.AddEndpoint(Endpoints[1787]); + builder.AddEndpoint(Endpoints[1788]); + builder.AddEndpoint(Endpoints[1789]); + builder.AddEndpoint(Endpoints[1790]); + builder.AddEndpoint(Endpoints[1791]); + builder.AddEndpoint(Endpoints[1792]); + builder.AddEndpoint(Endpoints[1793]); + builder.AddEndpoint(Endpoints[1794]); + builder.AddEndpoint(Endpoints[1795]); + builder.AddEndpoint(Endpoints[1796]); + builder.AddEndpoint(Endpoints[1797]); + builder.AddEndpoint(Endpoints[1798]); + builder.AddEndpoint(Endpoints[1799]); + builder.AddEndpoint(Endpoints[1800]); + builder.AddEndpoint(Endpoints[1801]); + builder.AddEndpoint(Endpoints[1802]); + builder.AddEndpoint(Endpoints[1803]); + builder.AddEndpoint(Endpoints[1804]); + builder.AddEndpoint(Endpoints[1805]); + builder.AddEndpoint(Endpoints[1806]); + builder.AddEndpoint(Endpoints[1807]); + builder.AddEndpoint(Endpoints[1808]); + builder.AddEndpoint(Endpoints[1809]); + builder.AddEndpoint(Endpoints[1810]); + builder.AddEndpoint(Endpoints[1811]); + builder.AddEndpoint(Endpoints[1812]); + builder.AddEndpoint(Endpoints[1813]); + builder.AddEndpoint(Endpoints[1814]); + builder.AddEndpoint(Endpoints[1815]); + builder.AddEndpoint(Endpoints[1816]); + builder.AddEndpoint(Endpoints[1817]); + builder.AddEndpoint(Endpoints[1818]); + builder.AddEndpoint(Endpoints[1819]); + builder.AddEndpoint(Endpoints[1820]); + builder.AddEndpoint(Endpoints[1821]); + builder.AddEndpoint(Endpoints[1822]); + builder.AddEndpoint(Endpoints[1823]); + builder.AddEndpoint(Endpoints[1824]); + builder.AddEndpoint(Endpoints[1825]); + builder.AddEndpoint(Endpoints[1826]); + builder.AddEndpoint(Endpoints[1827]); + builder.AddEndpoint(Endpoints[1828]); + builder.AddEndpoint(Endpoints[1829]); + builder.AddEndpoint(Endpoints[1830]); + builder.AddEndpoint(Endpoints[1831]); + builder.AddEndpoint(Endpoints[1832]); + builder.AddEndpoint(Endpoints[1833]); + builder.AddEndpoint(Endpoints[1834]); + builder.AddEndpoint(Endpoints[1835]); + builder.AddEndpoint(Endpoints[1836]); + builder.AddEndpoint(Endpoints[1837]); + builder.AddEndpoint(Endpoints[1838]); + builder.AddEndpoint(Endpoints[1839]); + builder.AddEndpoint(Endpoints[1840]); + builder.AddEndpoint(Endpoints[1841]); + builder.AddEndpoint(Endpoints[1842]); + builder.AddEndpoint(Endpoints[1843]); + builder.AddEndpoint(Endpoints[1844]); + builder.AddEndpoint(Endpoints[1845]); + builder.AddEndpoint(Endpoints[1846]); + builder.AddEndpoint(Endpoints[1847]); + builder.AddEndpoint(Endpoints[1848]); + builder.AddEndpoint(Endpoints[1849]); + builder.AddEndpoint(Endpoints[1850]); + builder.AddEndpoint(Endpoints[1851]); + builder.AddEndpoint(Endpoints[1852]); + builder.AddEndpoint(Endpoints[1853]); + builder.AddEndpoint(Endpoints[1854]); + builder.AddEndpoint(Endpoints[1855]); + builder.AddEndpoint(Endpoints[1856]); + builder.AddEndpoint(Endpoints[1857]); + builder.AddEndpoint(Endpoints[1858]); + builder.AddEndpoint(Endpoints[1859]); + builder.AddEndpoint(Endpoints[1860]); + builder.AddEndpoint(Endpoints[1861]); + builder.AddEndpoint(Endpoints[1862]); + builder.AddEndpoint(Endpoints[1863]); + builder.AddEndpoint(Endpoints[1864]); + builder.AddEndpoint(Endpoints[1865]); + builder.AddEndpoint(Endpoints[1866]); + builder.AddEndpoint(Endpoints[1867]); + builder.AddEndpoint(Endpoints[1868]); + builder.AddEndpoint(Endpoints[1869]); + builder.AddEndpoint(Endpoints[1870]); + builder.AddEndpoint(Endpoints[1871]); + builder.AddEndpoint(Endpoints[1872]); + builder.AddEndpoint(Endpoints[1873]); + builder.AddEndpoint(Endpoints[1874]); + builder.AddEndpoint(Endpoints[1875]); + builder.AddEndpoint(Endpoints[1876]); + builder.AddEndpoint(Endpoints[1877]); + builder.AddEndpoint(Endpoints[1878]); + builder.AddEndpoint(Endpoints[1879]); + builder.AddEndpoint(Endpoints[1880]); + builder.AddEndpoint(Endpoints[1881]); + builder.AddEndpoint(Endpoints[1882]); + builder.AddEndpoint(Endpoints[1883]); + builder.AddEndpoint(Endpoints[1884]); + builder.AddEndpoint(Endpoints[1885]); + builder.AddEndpoint(Endpoints[1886]); + builder.AddEndpoint(Endpoints[1887]); + builder.AddEndpoint(Endpoints[1888]); + builder.AddEndpoint(Endpoints[1889]); + builder.AddEndpoint(Endpoints[1890]); + builder.AddEndpoint(Endpoints[1891]); + builder.AddEndpoint(Endpoints[1892]); + builder.AddEndpoint(Endpoints[1893]); + builder.AddEndpoint(Endpoints[1894]); + builder.AddEndpoint(Endpoints[1895]); + builder.AddEndpoint(Endpoints[1896]); + builder.AddEndpoint(Endpoints[1897]); + builder.AddEndpoint(Endpoints[1898]); + builder.AddEndpoint(Endpoints[1899]); + builder.AddEndpoint(Endpoints[1900]); + builder.AddEndpoint(Endpoints[1901]); + builder.AddEndpoint(Endpoints[1902]); + builder.AddEndpoint(Endpoints[1903]); + builder.AddEndpoint(Endpoints[1904]); + builder.AddEndpoint(Endpoints[1905]); + builder.AddEndpoint(Endpoints[1906]); + builder.AddEndpoint(Endpoints[1907]); + builder.AddEndpoint(Endpoints[1908]); + builder.AddEndpoint(Endpoints[1909]); + builder.AddEndpoint(Endpoints[1910]); + builder.AddEndpoint(Endpoints[1911]); + builder.AddEndpoint(Endpoints[1912]); + builder.AddEndpoint(Endpoints[1913]); + builder.AddEndpoint(Endpoints[1914]); + builder.AddEndpoint(Endpoints[1915]); + builder.AddEndpoint(Endpoints[1916]); + builder.AddEndpoint(Endpoints[1917]); + builder.AddEndpoint(Endpoints[1918]); + builder.AddEndpoint(Endpoints[1919]); + builder.AddEndpoint(Endpoints[1920]); + builder.AddEndpoint(Endpoints[1921]); + builder.AddEndpoint(Endpoints[1922]); + builder.AddEndpoint(Endpoints[1923]); + builder.AddEndpoint(Endpoints[1924]); + builder.AddEndpoint(Endpoints[1925]); + builder.AddEndpoint(Endpoints[1926]); + builder.AddEndpoint(Endpoints[1927]); + builder.AddEndpoint(Endpoints[1928]); + builder.AddEndpoint(Endpoints[1929]); + builder.AddEndpoint(Endpoints[1930]); + builder.AddEndpoint(Endpoints[1931]); + builder.AddEndpoint(Endpoints[1932]); + builder.AddEndpoint(Endpoints[1933]); + builder.AddEndpoint(Endpoints[1934]); + builder.AddEndpoint(Endpoints[1935]); + builder.AddEndpoint(Endpoints[1936]); + builder.AddEndpoint(Endpoints[1937]); + builder.AddEndpoint(Endpoints[1938]); + builder.AddEndpoint(Endpoints[1939]); + builder.AddEndpoint(Endpoints[1940]); + builder.AddEndpoint(Endpoints[1941]); + builder.AddEndpoint(Endpoints[1942]); + builder.AddEndpoint(Endpoints[1943]); + builder.AddEndpoint(Endpoints[1944]); + builder.AddEndpoint(Endpoints[1945]); + builder.AddEndpoint(Endpoints[1946]); + builder.AddEndpoint(Endpoints[1947]); + builder.AddEndpoint(Endpoints[1948]); + builder.AddEndpoint(Endpoints[1949]); + builder.AddEndpoint(Endpoints[1950]); + builder.AddEndpoint(Endpoints[1951]); + builder.AddEndpoint(Endpoints[1952]); + builder.AddEndpoint(Endpoints[1953]); + builder.AddEndpoint(Endpoints[1954]); + builder.AddEndpoint(Endpoints[1955]); + builder.AddEndpoint(Endpoints[1956]); + builder.AddEndpoint(Endpoints[1957]); + builder.AddEndpoint(Endpoints[1958]); + builder.AddEndpoint(Endpoints[1959]); + builder.AddEndpoint(Endpoints[1960]); + builder.AddEndpoint(Endpoints[1961]); + builder.AddEndpoint(Endpoints[1962]); + builder.AddEndpoint(Endpoints[1963]); + builder.AddEndpoint(Endpoints[1964]); + builder.AddEndpoint(Endpoints[1965]); + builder.AddEndpoint(Endpoints[1966]); + builder.AddEndpoint(Endpoints[1967]); + builder.AddEndpoint(Endpoints[1968]); + builder.AddEndpoint(Endpoints[1969]); + builder.AddEndpoint(Endpoints[1970]); + builder.AddEndpoint(Endpoints[1971]); + builder.AddEndpoint(Endpoints[1972]); + builder.AddEndpoint(Endpoints[1973]); + builder.AddEndpoint(Endpoints[1974]); + builder.AddEndpoint(Endpoints[1975]); + builder.AddEndpoint(Endpoints[1976]); + builder.AddEndpoint(Endpoints[1977]); + builder.AddEndpoint(Endpoints[1978]); + builder.AddEndpoint(Endpoints[1979]); + builder.AddEndpoint(Endpoints[1980]); + builder.AddEndpoint(Endpoints[1981]); + builder.AddEndpoint(Endpoints[1982]); + builder.AddEndpoint(Endpoints[1983]); + builder.AddEndpoint(Endpoints[1984]); + builder.AddEndpoint(Endpoints[1985]); + builder.AddEndpoint(Endpoints[1986]); + builder.AddEndpoint(Endpoints[1987]); + builder.AddEndpoint(Endpoints[1988]); + builder.AddEndpoint(Endpoints[1989]); + builder.AddEndpoint(Endpoints[1990]); + builder.AddEndpoint(Endpoints[1991]); + builder.AddEndpoint(Endpoints[1992]); + builder.AddEndpoint(Endpoints[1993]); + builder.AddEndpoint(Endpoints[1994]); + builder.AddEndpoint(Endpoints[1995]); + builder.AddEndpoint(Endpoints[1996]); + builder.AddEndpoint(Endpoints[1997]); + builder.AddEndpoint(Endpoints[1998]); + builder.AddEndpoint(Endpoints[1999]); + builder.AddEndpoint(Endpoints[2000]); + builder.AddEndpoint(Endpoints[2001]); + builder.AddEndpoint(Endpoints[2002]); + builder.AddEndpoint(Endpoints[2003]); + builder.AddEndpoint(Endpoints[2004]); + builder.AddEndpoint(Endpoints[2005]); + builder.AddEndpoint(Endpoints[2006]); + builder.AddEndpoint(Endpoints[2007]); + builder.AddEndpoint(Endpoints[2008]); + builder.AddEndpoint(Endpoints[2009]); + builder.AddEndpoint(Endpoints[2010]); + builder.AddEndpoint(Endpoints[2011]); + builder.AddEndpoint(Endpoints[2012]); + builder.AddEndpoint(Endpoints[2013]); + builder.AddEndpoint(Endpoints[2014]); + builder.AddEndpoint(Endpoints[2015]); + builder.AddEndpoint(Endpoints[2016]); + builder.AddEndpoint(Endpoints[2017]); + builder.AddEndpoint(Endpoints[2018]); + builder.AddEndpoint(Endpoints[2019]); + builder.AddEndpoint(Endpoints[2020]); + builder.AddEndpoint(Endpoints[2021]); + builder.AddEndpoint(Endpoints[2022]); + builder.AddEndpoint(Endpoints[2023]); + builder.AddEndpoint(Endpoints[2024]); + builder.AddEndpoint(Endpoints[2025]); + builder.AddEndpoint(Endpoints[2026]); + builder.AddEndpoint(Endpoints[2027]); + builder.AddEndpoint(Endpoints[2028]); + builder.AddEndpoint(Endpoints[2029]); + builder.AddEndpoint(Endpoints[2030]); + builder.AddEndpoint(Endpoints[2031]); + builder.AddEndpoint(Endpoints[2032]); + builder.AddEndpoint(Endpoints[2033]); + builder.AddEndpoint(Endpoints[2034]); + builder.AddEndpoint(Endpoints[2035]); + builder.AddEndpoint(Endpoints[2036]); + builder.AddEndpoint(Endpoints[2037]); + builder.AddEndpoint(Endpoints[2038]); + builder.AddEndpoint(Endpoints[2039]); + builder.AddEndpoint(Endpoints[2040]); + builder.AddEndpoint(Endpoints[2041]); + builder.AddEndpoint(Endpoints[2042]); + builder.AddEndpoint(Endpoints[2043]); + builder.AddEndpoint(Endpoints[2044]); + builder.AddEndpoint(Endpoints[2045]); + builder.AddEndpoint(Endpoints[2046]); + builder.AddEndpoint(Endpoints[2047]); + builder.AddEndpoint(Endpoints[2048]); + builder.AddEndpoint(Endpoints[2049]); + builder.AddEndpoint(Endpoints[2050]); + builder.AddEndpoint(Endpoints[2051]); + builder.AddEndpoint(Endpoints[2052]); + builder.AddEndpoint(Endpoints[2053]); + builder.AddEndpoint(Endpoints[2054]); + builder.AddEndpoint(Endpoints[2055]); + builder.AddEndpoint(Endpoints[2056]); + builder.AddEndpoint(Endpoints[2057]); + builder.AddEndpoint(Endpoints[2058]); + builder.AddEndpoint(Endpoints[2059]); + builder.AddEndpoint(Endpoints[2060]); + builder.AddEndpoint(Endpoints[2061]); + builder.AddEndpoint(Endpoints[2062]); + builder.AddEndpoint(Endpoints[2063]); + builder.AddEndpoint(Endpoints[2064]); + builder.AddEndpoint(Endpoints[2065]); + builder.AddEndpoint(Endpoints[2066]); + builder.AddEndpoint(Endpoints[2067]); + builder.AddEndpoint(Endpoints[2068]); + builder.AddEndpoint(Endpoints[2069]); + builder.AddEndpoint(Endpoints[2070]); + builder.AddEndpoint(Endpoints[2071]); + builder.AddEndpoint(Endpoints[2072]); + builder.AddEndpoint(Endpoints[2073]); + builder.AddEndpoint(Endpoints[2074]); + builder.AddEndpoint(Endpoints[2075]); + builder.AddEndpoint(Endpoints[2076]); + builder.AddEndpoint(Endpoints[2077]); + builder.AddEndpoint(Endpoints[2078]); + builder.AddEndpoint(Endpoints[2079]); + builder.AddEndpoint(Endpoints[2080]); + builder.AddEndpoint(Endpoints[2081]); + builder.AddEndpoint(Endpoints[2082]); + builder.AddEndpoint(Endpoints[2083]); + builder.AddEndpoint(Endpoints[2084]); + builder.AddEndpoint(Endpoints[2085]); + builder.AddEndpoint(Endpoints[2086]); + builder.AddEndpoint(Endpoints[2087]); + builder.AddEndpoint(Endpoints[2088]); + builder.AddEndpoint(Endpoints[2089]); + builder.AddEndpoint(Endpoints[2090]); + builder.AddEndpoint(Endpoints[2091]); + builder.AddEndpoint(Endpoints[2092]); + builder.AddEndpoint(Endpoints[2093]); + builder.AddEndpoint(Endpoints[2094]); + builder.AddEndpoint(Endpoints[2095]); + builder.AddEndpoint(Endpoints[2096]); + builder.AddEndpoint(Endpoints[2097]); + builder.AddEndpoint(Endpoints[2098]); + builder.AddEndpoint(Endpoints[2099]); + builder.AddEndpoint(Endpoints[2100]); + builder.AddEndpoint(Endpoints[2101]); + builder.AddEndpoint(Endpoints[2102]); + builder.AddEndpoint(Endpoints[2103]); + builder.AddEndpoint(Endpoints[2104]); + builder.AddEndpoint(Endpoints[2105]); + builder.AddEndpoint(Endpoints[2106]); + builder.AddEndpoint(Endpoints[2107]); + builder.AddEndpoint(Endpoints[2108]); + builder.AddEndpoint(Endpoints[2109]); + builder.AddEndpoint(Endpoints[2110]); + builder.AddEndpoint(Endpoints[2111]); + builder.AddEndpoint(Endpoints[2112]); + builder.AddEndpoint(Endpoints[2113]); + builder.AddEndpoint(Endpoints[2114]); + builder.AddEndpoint(Endpoints[2115]); + builder.AddEndpoint(Endpoints[2116]); + builder.AddEndpoint(Endpoints[2117]); + builder.AddEndpoint(Endpoints[2118]); + builder.AddEndpoint(Endpoints[2119]); + builder.AddEndpoint(Endpoints[2120]); + builder.AddEndpoint(Endpoints[2121]); + builder.AddEndpoint(Endpoints[2122]); + builder.AddEndpoint(Endpoints[2123]); + builder.AddEndpoint(Endpoints[2124]); + builder.AddEndpoint(Endpoints[2125]); + builder.AddEndpoint(Endpoints[2126]); + builder.AddEndpoint(Endpoints[2127]); + builder.AddEndpoint(Endpoints[2128]); + builder.AddEndpoint(Endpoints[2129]); + builder.AddEndpoint(Endpoints[2130]); + builder.AddEndpoint(Endpoints[2131]); + builder.AddEndpoint(Endpoints[2132]); + builder.AddEndpoint(Endpoints[2133]); + builder.AddEndpoint(Endpoints[2134]); + builder.AddEndpoint(Endpoints[2135]); + builder.AddEndpoint(Endpoints[2136]); + builder.AddEndpoint(Endpoints[2137]); + builder.AddEndpoint(Endpoints[2138]); + builder.AddEndpoint(Endpoints[2139]); + builder.AddEndpoint(Endpoints[2140]); + builder.AddEndpoint(Endpoints[2141]); + builder.AddEndpoint(Endpoints[2142]); + builder.AddEndpoint(Endpoints[2143]); + builder.AddEndpoint(Endpoints[2144]); + builder.AddEndpoint(Endpoints[2145]); + builder.AddEndpoint(Endpoints[2146]); + builder.AddEndpoint(Endpoints[2147]); + builder.AddEndpoint(Endpoints[2148]); + builder.AddEndpoint(Endpoints[2149]); + builder.AddEndpoint(Endpoints[2150]); + builder.AddEndpoint(Endpoints[2151]); + builder.AddEndpoint(Endpoints[2152]); + builder.AddEndpoint(Endpoints[2153]); + builder.AddEndpoint(Endpoints[2154]); + builder.AddEndpoint(Endpoints[2155]); + builder.AddEndpoint(Endpoints[2156]); + builder.AddEndpoint(Endpoints[2157]); + builder.AddEndpoint(Endpoints[2158]); + builder.AddEndpoint(Endpoints[2159]); + builder.AddEndpoint(Endpoints[2160]); + builder.AddEndpoint(Endpoints[2161]); + builder.AddEndpoint(Endpoints[2162]); + builder.AddEndpoint(Endpoints[2163]); + builder.AddEndpoint(Endpoints[2164]); + builder.AddEndpoint(Endpoints[2165]); + builder.AddEndpoint(Endpoints[2166]); + builder.AddEndpoint(Endpoints[2167]); + builder.AddEndpoint(Endpoints[2168]); + builder.AddEndpoint(Endpoints[2169]); + builder.AddEndpoint(Endpoints[2170]); + builder.AddEndpoint(Endpoints[2171]); + builder.AddEndpoint(Endpoints[2172]); + builder.AddEndpoint(Endpoints[2173]); + builder.AddEndpoint(Endpoints[2174]); + builder.AddEndpoint(Endpoints[2175]); + builder.AddEndpoint(Endpoints[2176]); + builder.AddEndpoint(Endpoints[2177]); + builder.AddEndpoint(Endpoints[2178]); + builder.AddEndpoint(Endpoints[2179]); + builder.AddEndpoint(Endpoints[2180]); + builder.AddEndpoint(Endpoints[2181]); + builder.AddEndpoint(Endpoints[2182]); + builder.AddEndpoint(Endpoints[2183]); + builder.AddEndpoint(Endpoints[2184]); + builder.AddEndpoint(Endpoints[2185]); + builder.AddEndpoint(Endpoints[2186]); + builder.AddEndpoint(Endpoints[2187]); + builder.AddEndpoint(Endpoints[2188]); + builder.AddEndpoint(Endpoints[2189]); + builder.AddEndpoint(Endpoints[2190]); + builder.AddEndpoint(Endpoints[2191]); + builder.AddEndpoint(Endpoints[2192]); + builder.AddEndpoint(Endpoints[2193]); + builder.AddEndpoint(Endpoints[2194]); + builder.AddEndpoint(Endpoints[2195]); + builder.AddEndpoint(Endpoints[2196]); + builder.AddEndpoint(Endpoints[2197]); + builder.AddEndpoint(Endpoints[2198]); + builder.AddEndpoint(Endpoints[2199]); + builder.AddEndpoint(Endpoints[2200]); + builder.AddEndpoint(Endpoints[2201]); + builder.AddEndpoint(Endpoints[2202]); + builder.AddEndpoint(Endpoints[2203]); + builder.AddEndpoint(Endpoints[2204]); + builder.AddEndpoint(Endpoints[2205]); + builder.AddEndpoint(Endpoints[2206]); + builder.AddEndpoint(Endpoints[2207]); + builder.AddEndpoint(Endpoints[2208]); + builder.AddEndpoint(Endpoints[2209]); + builder.AddEndpoint(Endpoints[2210]); + builder.AddEndpoint(Endpoints[2211]); + builder.AddEndpoint(Endpoints[2212]); + builder.AddEndpoint(Endpoints[2213]); + builder.AddEndpoint(Endpoints[2214]); + builder.AddEndpoint(Endpoints[2215]); + builder.AddEndpoint(Endpoints[2216]); + builder.AddEndpoint(Endpoints[2217]); + builder.AddEndpoint(Endpoints[2218]); + builder.AddEndpoint(Endpoints[2219]); + builder.AddEndpoint(Endpoints[2220]); + builder.AddEndpoint(Endpoints[2221]); + builder.AddEndpoint(Endpoints[2222]); + builder.AddEndpoint(Endpoints[2223]); + builder.AddEndpoint(Endpoints[2224]); + builder.AddEndpoint(Endpoints[2225]); + builder.AddEndpoint(Endpoints[2226]); + builder.AddEndpoint(Endpoints[2227]); + builder.AddEndpoint(Endpoints[2228]); + builder.AddEndpoint(Endpoints[2229]); + builder.AddEndpoint(Endpoints[2230]); + builder.AddEndpoint(Endpoints[2231]); + builder.AddEndpoint(Endpoints[2232]); + builder.AddEndpoint(Endpoints[2233]); + builder.AddEndpoint(Endpoints[2234]); + builder.AddEndpoint(Endpoints[2235]); + builder.AddEndpoint(Endpoints[2236]); + builder.AddEndpoint(Endpoints[2237]); + builder.AddEndpoint(Endpoints[2238]); + builder.AddEndpoint(Endpoints[2239]); + builder.AddEndpoint(Endpoints[2240]); + builder.AddEndpoint(Endpoints[2241]); + builder.AddEndpoint(Endpoints[2242]); + builder.AddEndpoint(Endpoints[2243]); + builder.AddEndpoint(Endpoints[2244]); + builder.AddEndpoint(Endpoints[2245]); + builder.AddEndpoint(Endpoints[2246]); + builder.AddEndpoint(Endpoints[2247]); + builder.AddEndpoint(Endpoints[2248]); + builder.AddEndpoint(Endpoints[2249]); + builder.AddEndpoint(Endpoints[2250]); + builder.AddEndpoint(Endpoints[2251]); + builder.AddEndpoint(Endpoints[2252]); + builder.AddEndpoint(Endpoints[2253]); + builder.AddEndpoint(Endpoints[2254]); + builder.AddEndpoint(Endpoints[2255]); + builder.AddEndpoint(Endpoints[2256]); + builder.AddEndpoint(Endpoints[2257]); + builder.AddEndpoint(Endpoints[2258]); + builder.AddEndpoint(Endpoints[2259]); + builder.AddEndpoint(Endpoints[2260]); + builder.AddEndpoint(Endpoints[2261]); + builder.AddEndpoint(Endpoints[2262]); + builder.AddEndpoint(Endpoints[2263]); + builder.AddEndpoint(Endpoints[2264]); + builder.AddEndpoint(Endpoints[2265]); + builder.AddEndpoint(Endpoints[2266]); + builder.AddEndpoint(Endpoints[2267]); + builder.AddEndpoint(Endpoints[2268]); + builder.AddEndpoint(Endpoints[2269]); + builder.AddEndpoint(Endpoints[2270]); + builder.AddEndpoint(Endpoints[2271]); + builder.AddEndpoint(Endpoints[2272]); + builder.AddEndpoint(Endpoints[2273]); + builder.AddEndpoint(Endpoints[2274]); + builder.AddEndpoint(Endpoints[2275]); + builder.AddEndpoint(Endpoints[2276]); + builder.AddEndpoint(Endpoints[2277]); + builder.AddEndpoint(Endpoints[2278]); + builder.AddEndpoint(Endpoints[2279]); + builder.AddEndpoint(Endpoints[2280]); + builder.AddEndpoint(Endpoints[2281]); + builder.AddEndpoint(Endpoints[2282]); + builder.AddEndpoint(Endpoints[2283]); + builder.AddEndpoint(Endpoints[2284]); + builder.AddEndpoint(Endpoints[2285]); + builder.AddEndpoint(Endpoints[2286]); + builder.AddEndpoint(Endpoints[2287]); + builder.AddEndpoint(Endpoints[2288]); + builder.AddEndpoint(Endpoints[2289]); + builder.AddEndpoint(Endpoints[2290]); + builder.AddEndpoint(Endpoints[2291]); + builder.AddEndpoint(Endpoints[2292]); + builder.AddEndpoint(Endpoints[2293]); + builder.AddEndpoint(Endpoints[2294]); + builder.AddEndpoint(Endpoints[2295]); + builder.AddEndpoint(Endpoints[2296]); + builder.AddEndpoint(Endpoints[2297]); + builder.AddEndpoint(Endpoints[2298]); + builder.AddEndpoint(Endpoints[2299]); + builder.AddEndpoint(Endpoints[2300]); + builder.AddEndpoint(Endpoints[2301]); + builder.AddEndpoint(Endpoints[2302]); + builder.AddEndpoint(Endpoints[2303]); + builder.AddEndpoint(Endpoints[2304]); + builder.AddEndpoint(Endpoints[2305]); + builder.AddEndpoint(Endpoints[2306]); + builder.AddEndpoint(Endpoints[2307]); + builder.AddEndpoint(Endpoints[2308]); + builder.AddEndpoint(Endpoints[2309]); + builder.AddEndpoint(Endpoints[2310]); + builder.AddEndpoint(Endpoints[2311]); + builder.AddEndpoint(Endpoints[2312]); + builder.AddEndpoint(Endpoints[2313]); + builder.AddEndpoint(Endpoints[2314]); + builder.AddEndpoint(Endpoints[2315]); + builder.AddEndpoint(Endpoints[2316]); + builder.AddEndpoint(Endpoints[2317]); + builder.AddEndpoint(Endpoints[2318]); + builder.AddEndpoint(Endpoints[2319]); + builder.AddEndpoint(Endpoints[2320]); + builder.AddEndpoint(Endpoints[2321]); + builder.AddEndpoint(Endpoints[2322]); + builder.AddEndpoint(Endpoints[2323]); + builder.AddEndpoint(Endpoints[2324]); + builder.AddEndpoint(Endpoints[2325]); + builder.AddEndpoint(Endpoints[2326]); + builder.AddEndpoint(Endpoints[2327]); + builder.AddEndpoint(Endpoints[2328]); + builder.AddEndpoint(Endpoints[2329]); + builder.AddEndpoint(Endpoints[2330]); + builder.AddEndpoint(Endpoints[2331]); + builder.AddEndpoint(Endpoints[2332]); + builder.AddEndpoint(Endpoints[2333]); + builder.AddEndpoint(Endpoints[2334]); + builder.AddEndpoint(Endpoints[2335]); + builder.AddEndpoint(Endpoints[2336]); + builder.AddEndpoint(Endpoints[2337]); + builder.AddEndpoint(Endpoints[2338]); + builder.AddEndpoint(Endpoints[2339]); + builder.AddEndpoint(Endpoints[2340]); + builder.AddEndpoint(Endpoints[2341]); + builder.AddEndpoint(Endpoints[2342]); + builder.AddEndpoint(Endpoints[2343]); + builder.AddEndpoint(Endpoints[2344]); + builder.AddEndpoint(Endpoints[2345]); + builder.AddEndpoint(Endpoints[2346]); + builder.AddEndpoint(Endpoints[2347]); + builder.AddEndpoint(Endpoints[2348]); + builder.AddEndpoint(Endpoints[2349]); + builder.AddEndpoint(Endpoints[2350]); + builder.AddEndpoint(Endpoints[2351]); + builder.AddEndpoint(Endpoints[2352]); + builder.AddEndpoint(Endpoints[2353]); + builder.AddEndpoint(Endpoints[2354]); + builder.AddEndpoint(Endpoints[2355]); + builder.AddEndpoint(Endpoints[2356]); + builder.AddEndpoint(Endpoints[2357]); + builder.AddEndpoint(Endpoints[2358]); + builder.AddEndpoint(Endpoints[2359]); + builder.AddEndpoint(Endpoints[2360]); + builder.AddEndpoint(Endpoints[2361]); + builder.AddEndpoint(Endpoints[2362]); + builder.AddEndpoint(Endpoints[2363]); + builder.AddEndpoint(Endpoints[2364]); + builder.AddEndpoint(Endpoints[2365]); + builder.AddEndpoint(Endpoints[2366]); + builder.AddEndpoint(Endpoints[2367]); + builder.AddEndpoint(Endpoints[2368]); + builder.AddEndpoint(Endpoints[2369]); + builder.AddEndpoint(Endpoints[2370]); + builder.AddEndpoint(Endpoints[2371]); + builder.AddEndpoint(Endpoints[2372]); + builder.AddEndpoint(Endpoints[2373]); + builder.AddEndpoint(Endpoints[2374]); + builder.AddEndpoint(Endpoints[2375]); + builder.AddEndpoint(Endpoints[2376]); + builder.AddEndpoint(Endpoints[2377]); + builder.AddEndpoint(Endpoints[2378]); + builder.AddEndpoint(Endpoints[2379]); + builder.AddEndpoint(Endpoints[2380]); + builder.AddEndpoint(Endpoints[2381]); + builder.AddEndpoint(Endpoints[2382]); + builder.AddEndpoint(Endpoints[2383]); + builder.AddEndpoint(Endpoints[2384]); + builder.AddEndpoint(Endpoints[2385]); + builder.AddEndpoint(Endpoints[2386]); + builder.AddEndpoint(Endpoints[2387]); + builder.AddEndpoint(Endpoints[2388]); + builder.AddEndpoint(Endpoints[2389]); + builder.AddEndpoint(Endpoints[2390]); + builder.AddEndpoint(Endpoints[2391]); + builder.AddEndpoint(Endpoints[2392]); + builder.AddEndpoint(Endpoints[2393]); + builder.AddEndpoint(Endpoints[2394]); + builder.AddEndpoint(Endpoints[2395]); + builder.AddEndpoint(Endpoints[2396]); + builder.AddEndpoint(Endpoints[2397]); + builder.AddEndpoint(Endpoints[2398]); + builder.AddEndpoint(Endpoints[2399]); + builder.AddEndpoint(Endpoints[2400]); + builder.AddEndpoint(Endpoints[2401]); + builder.AddEndpoint(Endpoints[2402]); + builder.AddEndpoint(Endpoints[2403]); + builder.AddEndpoint(Endpoints[2404]); + builder.AddEndpoint(Endpoints[2405]); + builder.AddEndpoint(Endpoints[2406]); + builder.AddEndpoint(Endpoints[2407]); + builder.AddEndpoint(Endpoints[2408]); + builder.AddEndpoint(Endpoints[2409]); + builder.AddEndpoint(Endpoints[2410]); + builder.AddEndpoint(Endpoints[2411]); + builder.AddEndpoint(Endpoints[2412]); + builder.AddEndpoint(Endpoints[2413]); + builder.AddEndpoint(Endpoints[2414]); + builder.AddEndpoint(Endpoints[2415]); + builder.AddEndpoint(Endpoints[2416]); + builder.AddEndpoint(Endpoints[2417]); + builder.AddEndpoint(Endpoints[2418]); + builder.AddEndpoint(Endpoints[2419]); + builder.AddEndpoint(Endpoints[2420]); + builder.AddEndpoint(Endpoints[2421]); + builder.AddEndpoint(Endpoints[2422]); + builder.AddEndpoint(Endpoints[2423]); + builder.AddEndpoint(Endpoints[2424]); + builder.AddEndpoint(Endpoints[2425]); + builder.AddEndpoint(Endpoints[2426]); + builder.AddEndpoint(Endpoints[2427]); + builder.AddEndpoint(Endpoints[2428]); + builder.AddEndpoint(Endpoints[2429]); + builder.AddEndpoint(Endpoints[2430]); + builder.AddEndpoint(Endpoints[2431]); + builder.AddEndpoint(Endpoints[2432]); + builder.AddEndpoint(Endpoints[2433]); + builder.AddEndpoint(Endpoints[2434]); + builder.AddEndpoint(Endpoints[2435]); + builder.AddEndpoint(Endpoints[2436]); + builder.AddEndpoint(Endpoints[2437]); + builder.AddEndpoint(Endpoints[2438]); + builder.AddEndpoint(Endpoints[2439]); + builder.AddEndpoint(Endpoints[2440]); + builder.AddEndpoint(Endpoints[2441]); + builder.AddEndpoint(Endpoints[2442]); + builder.AddEndpoint(Endpoints[2443]); + builder.AddEndpoint(Endpoints[2444]); + builder.AddEndpoint(Endpoints[2445]); + builder.AddEndpoint(Endpoints[2446]); + builder.AddEndpoint(Endpoints[2447]); + builder.AddEndpoint(Endpoints[2448]); + builder.AddEndpoint(Endpoints[2449]); + builder.AddEndpoint(Endpoints[2450]); + builder.AddEndpoint(Endpoints[2451]); + builder.AddEndpoint(Endpoints[2452]); + builder.AddEndpoint(Endpoints[2453]); + builder.AddEndpoint(Endpoints[2454]); + builder.AddEndpoint(Endpoints[2455]); + builder.AddEndpoint(Endpoints[2456]); + builder.AddEndpoint(Endpoints[2457]); + builder.AddEndpoint(Endpoints[2458]); + builder.AddEndpoint(Endpoints[2459]); + builder.AddEndpoint(Endpoints[2460]); + builder.AddEndpoint(Endpoints[2461]); + builder.AddEndpoint(Endpoints[2462]); + builder.AddEndpoint(Endpoints[2463]); + builder.AddEndpoint(Endpoints[2464]); + builder.AddEndpoint(Endpoints[2465]); + builder.AddEndpoint(Endpoints[2466]); + builder.AddEndpoint(Endpoints[2467]); + builder.AddEndpoint(Endpoints[2468]); + builder.AddEndpoint(Endpoints[2469]); + builder.AddEndpoint(Endpoints[2470]); + builder.AddEndpoint(Endpoints[2471]); + builder.AddEndpoint(Endpoints[2472]); + builder.AddEndpoint(Endpoints[2473]); + builder.AddEndpoint(Endpoints[2474]); + builder.AddEndpoint(Endpoints[2475]); + builder.AddEndpoint(Endpoints[2476]); + builder.AddEndpoint(Endpoints[2477]); + builder.AddEndpoint(Endpoints[2478]); + builder.AddEndpoint(Endpoints[2479]); + builder.AddEndpoint(Endpoints[2480]); + builder.AddEndpoint(Endpoints[2481]); + builder.AddEndpoint(Endpoints[2482]); + builder.AddEndpoint(Endpoints[2483]); + builder.AddEndpoint(Endpoints[2484]); + builder.AddEndpoint(Endpoints[2485]); + builder.AddEndpoint(Endpoints[2486]); + builder.AddEndpoint(Endpoints[2487]); + builder.AddEndpoint(Endpoints[2488]); + builder.AddEndpoint(Endpoints[2489]); + builder.AddEndpoint(Endpoints[2490]); + builder.AddEndpoint(Endpoints[2491]); + builder.AddEndpoint(Endpoints[2492]); + builder.AddEndpoint(Endpoints[2493]); + builder.AddEndpoint(Endpoints[2494]); + builder.AddEndpoint(Endpoints[2495]); + builder.AddEndpoint(Endpoints[2496]); + builder.AddEndpoint(Endpoints[2497]); + builder.AddEndpoint(Endpoints[2498]); + builder.AddEndpoint(Endpoints[2499]); + builder.AddEndpoint(Endpoints[2500]); + builder.AddEndpoint(Endpoints[2501]); + builder.AddEndpoint(Endpoints[2502]); + builder.AddEndpoint(Endpoints[2503]); + builder.AddEndpoint(Endpoints[2504]); + builder.AddEndpoint(Endpoints[2505]); + builder.AddEndpoint(Endpoints[2506]); + builder.AddEndpoint(Endpoints[2507]); + builder.AddEndpoint(Endpoints[2508]); + builder.AddEndpoint(Endpoints[2509]); + builder.AddEndpoint(Endpoints[2510]); + builder.AddEndpoint(Endpoints[2511]); + builder.AddEndpoint(Endpoints[2512]); + builder.AddEndpoint(Endpoints[2513]); + builder.AddEndpoint(Endpoints[2514]); + builder.AddEndpoint(Endpoints[2515]); + builder.AddEndpoint(Endpoints[2516]); + builder.AddEndpoint(Endpoints[2517]); + builder.AddEndpoint(Endpoints[2518]); + builder.AddEndpoint(Endpoints[2519]); + builder.AddEndpoint(Endpoints[2520]); + builder.AddEndpoint(Endpoints[2521]); + builder.AddEndpoint(Endpoints[2522]); + builder.AddEndpoint(Endpoints[2523]); + builder.AddEndpoint(Endpoints[2524]); + builder.AddEndpoint(Endpoints[2525]); + builder.AddEndpoint(Endpoints[2526]); + builder.AddEndpoint(Endpoints[2527]); + builder.AddEndpoint(Endpoints[2528]); + builder.AddEndpoint(Endpoints[2529]); + builder.AddEndpoint(Endpoints[2530]); + builder.AddEndpoint(Endpoints[2531]); + builder.AddEndpoint(Endpoints[2532]); + builder.AddEndpoint(Endpoints[2533]); + builder.AddEndpoint(Endpoints[2534]); + builder.AddEndpoint(Endpoints[2535]); + builder.AddEndpoint(Endpoints[2536]); + builder.AddEndpoint(Endpoints[2537]); + builder.AddEndpoint(Endpoints[2538]); + builder.AddEndpoint(Endpoints[2539]); + builder.AddEndpoint(Endpoints[2540]); + builder.AddEndpoint(Endpoints[2541]); + builder.AddEndpoint(Endpoints[2542]); + builder.AddEndpoint(Endpoints[2543]); + builder.AddEndpoint(Endpoints[2544]); + builder.AddEndpoint(Endpoints[2545]); + builder.AddEndpoint(Endpoints[2546]); + builder.AddEndpoint(Endpoints[2547]); + builder.AddEndpoint(Endpoints[2548]); + builder.AddEndpoint(Endpoints[2549]); + builder.AddEndpoint(Endpoints[2550]); + builder.AddEndpoint(Endpoints[2551]); + builder.AddEndpoint(Endpoints[2552]); + builder.AddEndpoint(Endpoints[2553]); + builder.AddEndpoint(Endpoints[2554]); + builder.AddEndpoint(Endpoints[2555]); + builder.AddEndpoint(Endpoints[2556]); + builder.AddEndpoint(Endpoints[2557]); + builder.AddEndpoint(Endpoints[2558]); + builder.AddEndpoint(Endpoints[2559]); + builder.AddEndpoint(Endpoints[2560]); + builder.AddEndpoint(Endpoints[2561]); + builder.AddEndpoint(Endpoints[2562]); + builder.AddEndpoint(Endpoints[2563]); + builder.AddEndpoint(Endpoints[2564]); + builder.AddEndpoint(Endpoints[2565]); + builder.AddEndpoint(Endpoints[2566]); + builder.AddEndpoint(Endpoints[2567]); + builder.AddEndpoint(Endpoints[2568]); + builder.AddEndpoint(Endpoints[2569]); + builder.AddEndpoint(Endpoints[2570]); + builder.AddEndpoint(Endpoints[2571]); + builder.AddEndpoint(Endpoints[2572]); + builder.AddEndpoint(Endpoints[2573]); + builder.AddEndpoint(Endpoints[2574]); + builder.AddEndpoint(Endpoints[2575]); + builder.AddEndpoint(Endpoints[2576]); + builder.AddEndpoint(Endpoints[2577]); + builder.AddEndpoint(Endpoints[2578]); + builder.AddEndpoint(Endpoints[2579]); + builder.AddEndpoint(Endpoints[2580]); + builder.AddEndpoint(Endpoints[2581]); + builder.AddEndpoint(Endpoints[2582]); + builder.AddEndpoint(Endpoints[2583]); + builder.AddEndpoint(Endpoints[2584]); + builder.AddEndpoint(Endpoints[2585]); + builder.AddEndpoint(Endpoints[2586]); + builder.AddEndpoint(Endpoints[2587]); + builder.AddEndpoint(Endpoints[2588]); + builder.AddEndpoint(Endpoints[2589]); + builder.AddEndpoint(Endpoints[2590]); + builder.AddEndpoint(Endpoints[2591]); + builder.AddEndpoint(Endpoints[2592]); + builder.AddEndpoint(Endpoints[2593]); + builder.AddEndpoint(Endpoints[2594]); + builder.AddEndpoint(Endpoints[2595]); + builder.AddEndpoint(Endpoints[2596]); + builder.AddEndpoint(Endpoints[2597]); + builder.AddEndpoint(Endpoints[2598]); + builder.AddEndpoint(Endpoints[2599]); + builder.AddEndpoint(Endpoints[2600]); + builder.AddEndpoint(Endpoints[2601]); + builder.AddEndpoint(Endpoints[2602]); + builder.AddEndpoint(Endpoints[2603]); + builder.AddEndpoint(Endpoints[2604]); + builder.AddEndpoint(Endpoints[2605]); + builder.AddEndpoint(Endpoints[2606]); + builder.AddEndpoint(Endpoints[2607]); + builder.AddEndpoint(Endpoints[2608]); + builder.AddEndpoint(Endpoints[2609]); + builder.AddEndpoint(Endpoints[2610]); + builder.AddEndpoint(Endpoints[2611]); + builder.AddEndpoint(Endpoints[2612]); + builder.AddEndpoint(Endpoints[2613]); + builder.AddEndpoint(Endpoints[2614]); + builder.AddEndpoint(Endpoints[2615]); + builder.AddEndpoint(Endpoints[2616]); + builder.AddEndpoint(Endpoints[2617]); + builder.AddEndpoint(Endpoints[2618]); + builder.AddEndpoint(Endpoints[2619]); + builder.AddEndpoint(Endpoints[2620]); + builder.AddEndpoint(Endpoints[2621]); + builder.AddEndpoint(Endpoints[2622]); + builder.AddEndpoint(Endpoints[2623]); + builder.AddEndpoint(Endpoints[2624]); + builder.AddEndpoint(Endpoints[2625]); + builder.AddEndpoint(Endpoints[2626]); + builder.AddEndpoint(Endpoints[2627]); + builder.AddEndpoint(Endpoints[2628]); + builder.AddEndpoint(Endpoints[2629]); + builder.AddEndpoint(Endpoints[2630]); + builder.AddEndpoint(Endpoints[2631]); + builder.AddEndpoint(Endpoints[2632]); + builder.AddEndpoint(Endpoints[2633]); + builder.AddEndpoint(Endpoints[2634]); + builder.AddEndpoint(Endpoints[2635]); + builder.AddEndpoint(Endpoints[2636]); + builder.AddEndpoint(Endpoints[2637]); + builder.AddEndpoint(Endpoints[2638]); + builder.AddEndpoint(Endpoints[2639]); + builder.AddEndpoint(Endpoints[2640]); + builder.AddEndpoint(Endpoints[2641]); + builder.AddEndpoint(Endpoints[2642]); + builder.AddEndpoint(Endpoints[2643]); + builder.AddEndpoint(Endpoints[2644]); + builder.AddEndpoint(Endpoints[2645]); + builder.AddEndpoint(Endpoints[2646]); + builder.AddEndpoint(Endpoints[2647]); + builder.AddEndpoint(Endpoints[2648]); + builder.AddEndpoint(Endpoints[2649]); + builder.AddEndpoint(Endpoints[2650]); + builder.AddEndpoint(Endpoints[2651]); + builder.AddEndpoint(Endpoints[2652]); + builder.AddEndpoint(Endpoints[2653]); + builder.AddEndpoint(Endpoints[2654]); + builder.AddEndpoint(Endpoints[2655]); + builder.AddEndpoint(Endpoints[2656]); + builder.AddEndpoint(Endpoints[2657]); + builder.AddEndpoint(Endpoints[2658]); + builder.AddEndpoint(Endpoints[2659]); + builder.AddEndpoint(Endpoints[2660]); + builder.AddEndpoint(Endpoints[2661]); + builder.AddEndpoint(Endpoints[2662]); + builder.AddEndpoint(Endpoints[2663]); + builder.AddEndpoint(Endpoints[2664]); + builder.AddEndpoint(Endpoints[2665]); + builder.AddEndpoint(Endpoints[2666]); + builder.AddEndpoint(Endpoints[2667]); + builder.AddEndpoint(Endpoints[2668]); + builder.AddEndpoint(Endpoints[2669]); + builder.AddEndpoint(Endpoints[2670]); + builder.AddEndpoint(Endpoints[2671]); + builder.AddEndpoint(Endpoints[2672]); + builder.AddEndpoint(Endpoints[2673]); + builder.AddEndpoint(Endpoints[2674]); + builder.AddEndpoint(Endpoints[2675]); + builder.AddEndpoint(Endpoints[2676]); + builder.AddEndpoint(Endpoints[2677]); + builder.AddEndpoint(Endpoints[2678]); + builder.AddEndpoint(Endpoints[2679]); + builder.AddEndpoint(Endpoints[2680]); + builder.AddEndpoint(Endpoints[2681]); + builder.AddEndpoint(Endpoints[2682]); + builder.AddEndpoint(Endpoints[2683]); + builder.AddEndpoint(Endpoints[2684]); + builder.AddEndpoint(Endpoints[2685]); + builder.AddEndpoint(Endpoints[2686]); + builder.AddEndpoint(Endpoints[2687]); + builder.AddEndpoint(Endpoints[2688]); + builder.AddEndpoint(Endpoints[2689]); + builder.AddEndpoint(Endpoints[2690]); + builder.AddEndpoint(Endpoints[2691]); + builder.AddEndpoint(Endpoints[2692]); + builder.AddEndpoint(Endpoints[2693]); + builder.AddEndpoint(Endpoints[2694]); + builder.AddEndpoint(Endpoints[2695]); + builder.AddEndpoint(Endpoints[2696]); + builder.AddEndpoint(Endpoints[2697]); + builder.AddEndpoint(Endpoints[2698]); + builder.AddEndpoint(Endpoints[2699]); + builder.AddEndpoint(Endpoints[2700]); + builder.AddEndpoint(Endpoints[2701]); + builder.AddEndpoint(Endpoints[2702]); + builder.AddEndpoint(Endpoints[2703]); + builder.AddEndpoint(Endpoints[2704]); + builder.AddEndpoint(Endpoints[2705]); + builder.AddEndpoint(Endpoints[2706]); + builder.AddEndpoint(Endpoints[2707]); + builder.AddEndpoint(Endpoints[2708]); + builder.AddEndpoint(Endpoints[2709]); + builder.AddEndpoint(Endpoints[2710]); + builder.AddEndpoint(Endpoints[2711]); + builder.AddEndpoint(Endpoints[2712]); + builder.AddEndpoint(Endpoints[2713]); + builder.AddEndpoint(Endpoints[2714]); + builder.AddEndpoint(Endpoints[2715]); + builder.AddEndpoint(Endpoints[2716]); + builder.AddEndpoint(Endpoints[2717]); + builder.AddEndpoint(Endpoints[2718]); + builder.AddEndpoint(Endpoints[2719]); + builder.AddEndpoint(Endpoints[2720]); + builder.AddEndpoint(Endpoints[2721]); + builder.AddEndpoint(Endpoints[2722]); + builder.AddEndpoint(Endpoints[2723]); + builder.AddEndpoint(Endpoints[2724]); + builder.AddEndpoint(Endpoints[2725]); + builder.AddEndpoint(Endpoints[2726]); + builder.AddEndpoint(Endpoints[2727]); + builder.AddEndpoint(Endpoints[2728]); + builder.AddEndpoint(Endpoints[2729]); + builder.AddEndpoint(Endpoints[2730]); + builder.AddEndpoint(Endpoints[2731]); + builder.AddEndpoint(Endpoints[2732]); + builder.AddEndpoint(Endpoints[2733]); + builder.AddEndpoint(Endpoints[2734]); + builder.AddEndpoint(Endpoints[2735]); + builder.AddEndpoint(Endpoints[2736]); + builder.AddEndpoint(Endpoints[2737]); + builder.AddEndpoint(Endpoints[2738]); + builder.AddEndpoint(Endpoints[2739]); + builder.AddEndpoint(Endpoints[2740]); + builder.AddEndpoint(Endpoints[2741]); + builder.AddEndpoint(Endpoints[2742]); + builder.AddEndpoint(Endpoints[2743]); + builder.AddEndpoint(Endpoints[2744]); + builder.AddEndpoint(Endpoints[2745]); + builder.AddEndpoint(Endpoints[2746]); + builder.AddEndpoint(Endpoints[2747]); + builder.AddEndpoint(Endpoints[2748]); + builder.AddEndpoint(Endpoints[2749]); + builder.AddEndpoint(Endpoints[2750]); + builder.AddEndpoint(Endpoints[2751]); + builder.AddEndpoint(Endpoints[2752]); + builder.AddEndpoint(Endpoints[2753]); + builder.AddEndpoint(Endpoints[2754]); + builder.AddEndpoint(Endpoints[2755]); + builder.AddEndpoint(Endpoints[2756]); + builder.AddEndpoint(Endpoints[2757]); + builder.AddEndpoint(Endpoints[2758]); + builder.AddEndpoint(Endpoints[2759]); + builder.AddEndpoint(Endpoints[2760]); + builder.AddEndpoint(Endpoints[2761]); + builder.AddEndpoint(Endpoints[2762]); + builder.AddEndpoint(Endpoints[2763]); + builder.AddEndpoint(Endpoints[2764]); + builder.AddEndpoint(Endpoints[2765]); + builder.AddEndpoint(Endpoints[2766]); + builder.AddEndpoint(Endpoints[2767]); + builder.AddEndpoint(Endpoints[2768]); + builder.AddEndpoint(Endpoints[2769]); + builder.AddEndpoint(Endpoints[2770]); + builder.AddEndpoint(Endpoints[2771]); + builder.AddEndpoint(Endpoints[2772]); + builder.AddEndpoint(Endpoints[2773]); + builder.AddEndpoint(Endpoints[2774]); + builder.AddEndpoint(Endpoints[2775]); + builder.AddEndpoint(Endpoints[2776]); + builder.AddEndpoint(Endpoints[2777]); + builder.AddEndpoint(Endpoints[2778]); + builder.AddEndpoint(Endpoints[2779]); + builder.AddEndpoint(Endpoints[2780]); + builder.AddEndpoint(Endpoints[2781]); + builder.AddEndpoint(Endpoints[2782]); + builder.AddEndpoint(Endpoints[2783]); + builder.AddEndpoint(Endpoints[2784]); + builder.AddEndpoint(Endpoints[2785]); + builder.AddEndpoint(Endpoints[2786]); + builder.AddEndpoint(Endpoints[2787]); + builder.AddEndpoint(Endpoints[2788]); + builder.AddEndpoint(Endpoints[2789]); + builder.AddEndpoint(Endpoints[2790]); + builder.AddEndpoint(Endpoints[2791]); + builder.AddEndpoint(Endpoints[2792]); + builder.AddEndpoint(Endpoints[2793]); + builder.AddEndpoint(Endpoints[2794]); + builder.AddEndpoint(Endpoints[2795]); + builder.AddEndpoint(Endpoints[2796]); + builder.AddEndpoint(Endpoints[2797]); + builder.AddEndpoint(Endpoints[2798]); + builder.AddEndpoint(Endpoints[2799]); + builder.AddEndpoint(Endpoints[2800]); + builder.AddEndpoint(Endpoints[2801]); + builder.AddEndpoint(Endpoints[2802]); + builder.AddEndpoint(Endpoints[2803]); + builder.AddEndpoint(Endpoints[2804]); + builder.AddEndpoint(Endpoints[2805]); + builder.AddEndpoint(Endpoints[2806]); + builder.AddEndpoint(Endpoints[2807]); + builder.AddEndpoint(Endpoints[2808]); + builder.AddEndpoint(Endpoints[2809]); + builder.AddEndpoint(Endpoints[2810]); + builder.AddEndpoint(Endpoints[2811]); + builder.AddEndpoint(Endpoints[2812]); + builder.AddEndpoint(Endpoints[2813]); + builder.AddEndpoint(Endpoints[2814]); + builder.AddEndpoint(Endpoints[2815]); + builder.AddEndpoint(Endpoints[2816]); + builder.AddEndpoint(Endpoints[2817]); + builder.AddEndpoint(Endpoints[2818]); + builder.AddEndpoint(Endpoints[2819]); + builder.AddEndpoint(Endpoints[2820]); + builder.AddEndpoint(Endpoints[2821]); + builder.AddEndpoint(Endpoints[2822]); + builder.AddEndpoint(Endpoints[2823]); + builder.AddEndpoint(Endpoints[2824]); + builder.AddEndpoint(Endpoints[2825]); + builder.AddEndpoint(Endpoints[2826]); + builder.AddEndpoint(Endpoints[2827]); + builder.AddEndpoint(Endpoints[2828]); + builder.AddEndpoint(Endpoints[2829]); + builder.AddEndpoint(Endpoints[2830]); + builder.AddEndpoint(Endpoints[2831]); + builder.AddEndpoint(Endpoints[2832]); + builder.AddEndpoint(Endpoints[2833]); + builder.AddEndpoint(Endpoints[2834]); + builder.AddEndpoint(Endpoints[2835]); + builder.AddEndpoint(Endpoints[2836]); + builder.AddEndpoint(Endpoints[2837]); + builder.AddEndpoint(Endpoints[2838]); + builder.AddEndpoint(Endpoints[2839]); + builder.AddEndpoint(Endpoints[2840]); + builder.AddEndpoint(Endpoints[2841]); + builder.AddEndpoint(Endpoints[2842]); + builder.AddEndpoint(Endpoints[2843]); + builder.AddEndpoint(Endpoints[2844]); + builder.AddEndpoint(Endpoints[2845]); + builder.AddEndpoint(Endpoints[2846]); + builder.AddEndpoint(Endpoints[2847]); + builder.AddEndpoint(Endpoints[2848]); + builder.AddEndpoint(Endpoints[2849]); + builder.AddEndpoint(Endpoints[2850]); + builder.AddEndpoint(Endpoints[2851]); + builder.AddEndpoint(Endpoints[2852]); + builder.AddEndpoint(Endpoints[2853]); + builder.AddEndpoint(Endpoints[2854]); + builder.AddEndpoint(Endpoints[2855]); + builder.AddEndpoint(Endpoints[2856]); + builder.AddEndpoint(Endpoints[2857]); + builder.AddEndpoint(Endpoints[2858]); + builder.AddEndpoint(Endpoints[2859]); + builder.AddEndpoint(Endpoints[2860]); + builder.AddEndpoint(Endpoints[2861]); + builder.AddEndpoint(Endpoints[2862]); + builder.AddEndpoint(Endpoints[2863]); + builder.AddEndpoint(Endpoints[2864]); + builder.AddEndpoint(Endpoints[2865]); + builder.AddEndpoint(Endpoints[2866]); + builder.AddEndpoint(Endpoints[2867]); + builder.AddEndpoint(Endpoints[2868]); + builder.AddEndpoint(Endpoints[2869]); + builder.AddEndpoint(Endpoints[2870]); + builder.AddEndpoint(Endpoints[2871]); + builder.AddEndpoint(Endpoints[2872]); + builder.AddEndpoint(Endpoints[2873]); + builder.AddEndpoint(Endpoints[2874]); + builder.AddEndpoint(Endpoints[2875]); + builder.AddEndpoint(Endpoints[2876]); + builder.AddEndpoint(Endpoints[2877]); + builder.AddEndpoint(Endpoints[2878]); + builder.AddEndpoint(Endpoints[2879]); + builder.AddEndpoint(Endpoints[2880]); + builder.AddEndpoint(Endpoints[2881]); + builder.AddEndpoint(Endpoints[2882]); + builder.AddEndpoint(Endpoints[2883]); + builder.AddEndpoint(Endpoints[2884]); + builder.AddEndpoint(Endpoints[2885]); + builder.AddEndpoint(Endpoints[2886]); + builder.AddEndpoint(Endpoints[2887]); + builder.AddEndpoint(Endpoints[2888]); + builder.AddEndpoint(Endpoints[2889]); + builder.AddEndpoint(Endpoints[2890]); + builder.AddEndpoint(Endpoints[2891]); + builder.AddEndpoint(Endpoints[2892]); + builder.AddEndpoint(Endpoints[2893]); + builder.AddEndpoint(Endpoints[2894]); + builder.AddEndpoint(Endpoints[2895]); + builder.AddEndpoint(Endpoints[2896]); + builder.AddEndpoint(Endpoints[2897]); + builder.AddEndpoint(Endpoints[2898]); + builder.AddEndpoint(Endpoints[2899]); + builder.AddEndpoint(Endpoints[2900]); + builder.AddEndpoint(Endpoints[2901]); + builder.AddEndpoint(Endpoints[2902]); + builder.AddEndpoint(Endpoints[2903]); + builder.AddEndpoint(Endpoints[2904]); + builder.AddEndpoint(Endpoints[2905]); + builder.AddEndpoint(Endpoints[2906]); + builder.AddEndpoint(Endpoints[2907]); + builder.AddEndpoint(Endpoints[2908]); + builder.AddEndpoint(Endpoints[2909]); + builder.AddEndpoint(Endpoints[2910]); + builder.AddEndpoint(Endpoints[2911]); + builder.AddEndpoint(Endpoints[2912]); + builder.AddEndpoint(Endpoints[2913]); + builder.AddEndpoint(Endpoints[2914]); + builder.AddEndpoint(Endpoints[2915]); + builder.AddEndpoint(Endpoints[2916]); + builder.AddEndpoint(Endpoints[2917]); + builder.AddEndpoint(Endpoints[2918]); + builder.AddEndpoint(Endpoints[2919]); + builder.AddEndpoint(Endpoints[2920]); + builder.AddEndpoint(Endpoints[2921]); + builder.AddEndpoint(Endpoints[2922]); + builder.AddEndpoint(Endpoints[2923]); + builder.AddEndpoint(Endpoints[2924]); + builder.AddEndpoint(Endpoints[2925]); + builder.AddEndpoint(Endpoints[2926]); + builder.AddEndpoint(Endpoints[2927]); + builder.AddEndpoint(Endpoints[2928]); + builder.AddEndpoint(Endpoints[2929]); + builder.AddEndpoint(Endpoints[2930]); + builder.AddEndpoint(Endpoints[2931]); + builder.AddEndpoint(Endpoints[2932]); + builder.AddEndpoint(Endpoints[2933]); + builder.AddEndpoint(Endpoints[2934]); + builder.AddEndpoint(Endpoints[2935]); + builder.AddEndpoint(Endpoints[2936]); + builder.AddEndpoint(Endpoints[2937]); + builder.AddEndpoint(Endpoints[2938]); + builder.AddEndpoint(Endpoints[2939]); + builder.AddEndpoint(Endpoints[2940]); + builder.AddEndpoint(Endpoints[2941]); + builder.AddEndpoint(Endpoints[2942]); + builder.AddEndpoint(Endpoints[2943]); + builder.AddEndpoint(Endpoints[2944]); + builder.AddEndpoint(Endpoints[2945]); + builder.AddEndpoint(Endpoints[2946]); + builder.AddEndpoint(Endpoints[2947]); + builder.AddEndpoint(Endpoints[2948]); + builder.AddEndpoint(Endpoints[2949]); + builder.AddEndpoint(Endpoints[2950]); + builder.AddEndpoint(Endpoints[2951]); + builder.AddEndpoint(Endpoints[2952]); + builder.AddEndpoint(Endpoints[2953]); + builder.AddEndpoint(Endpoints[2954]); + builder.AddEndpoint(Endpoints[2955]); + builder.AddEndpoint(Endpoints[2956]); + builder.AddEndpoint(Endpoints[2957]); + builder.AddEndpoint(Endpoints[2958]); + builder.AddEndpoint(Endpoints[2959]); + builder.AddEndpoint(Endpoints[2960]); + builder.AddEndpoint(Endpoints[2961]); + builder.AddEndpoint(Endpoints[2962]); + builder.AddEndpoint(Endpoints[2963]); + builder.AddEndpoint(Endpoints[2964]); + builder.AddEndpoint(Endpoints[2965]); + builder.AddEndpoint(Endpoints[2966]); + builder.AddEndpoint(Endpoints[2967]); + builder.AddEndpoint(Endpoints[2968]); + builder.AddEndpoint(Endpoints[2969]); + builder.AddEndpoint(Endpoints[2970]); + builder.AddEndpoint(Endpoints[2971]); + builder.AddEndpoint(Endpoints[2972]); + builder.AddEndpoint(Endpoints[2973]); + builder.AddEndpoint(Endpoints[2974]); + builder.AddEndpoint(Endpoints[2975]); + builder.AddEndpoint(Endpoints[2976]); + builder.AddEndpoint(Endpoints[2977]); + builder.AddEndpoint(Endpoints[2978]); + builder.AddEndpoint(Endpoints[2979]); + builder.AddEndpoint(Endpoints[2980]); + builder.AddEndpoint(Endpoints[2981]); + builder.AddEndpoint(Endpoints[2982]); + builder.AddEndpoint(Endpoints[2983]); + builder.AddEndpoint(Endpoints[2984]); + builder.AddEndpoint(Endpoints[2985]); + builder.AddEndpoint(Endpoints[2986]); + builder.AddEndpoint(Endpoints[2987]); + builder.AddEndpoint(Endpoints[2988]); + builder.AddEndpoint(Endpoints[2989]); + builder.AddEndpoint(Endpoints[2990]); + builder.AddEndpoint(Endpoints[2991]); + builder.AddEndpoint(Endpoints[2992]); + builder.AddEndpoint(Endpoints[2993]); + builder.AddEndpoint(Endpoints[2994]); + builder.AddEndpoint(Endpoints[2995]); + builder.AddEndpoint(Endpoints[2996]); + builder.AddEndpoint(Endpoints[2997]); + builder.AddEndpoint(Endpoints[2998]); + builder.AddEndpoint(Endpoints[2999]); + builder.AddEndpoint(Endpoints[3000]); + builder.AddEndpoint(Endpoints[3001]); + builder.AddEndpoint(Endpoints[3002]); + builder.AddEndpoint(Endpoints[3003]); + builder.AddEndpoint(Endpoints[3004]); + builder.AddEndpoint(Endpoints[3005]); + builder.AddEndpoint(Endpoints[3006]); + builder.AddEndpoint(Endpoints[3007]); + builder.AddEndpoint(Endpoints[3008]); + builder.AddEndpoint(Endpoints[3009]); + builder.AddEndpoint(Endpoints[3010]); + builder.AddEndpoint(Endpoints[3011]); + builder.AddEndpoint(Endpoints[3012]); + builder.AddEndpoint(Endpoints[3013]); + builder.AddEndpoint(Endpoints[3014]); + builder.AddEndpoint(Endpoints[3015]); + builder.AddEndpoint(Endpoints[3016]); + builder.AddEndpoint(Endpoints[3017]); + builder.AddEndpoint(Endpoints[3018]); + builder.AddEndpoint(Endpoints[3019]); + builder.AddEndpoint(Endpoints[3020]); + builder.AddEndpoint(Endpoints[3021]); + builder.AddEndpoint(Endpoints[3022]); + builder.AddEndpoint(Endpoints[3023]); + builder.AddEndpoint(Endpoints[3024]); + builder.AddEndpoint(Endpoints[3025]); + builder.AddEndpoint(Endpoints[3026]); + builder.AddEndpoint(Endpoints[3027]); + builder.AddEndpoint(Endpoints[3028]); + builder.AddEndpoint(Endpoints[3029]); + builder.AddEndpoint(Endpoints[3030]); + builder.AddEndpoint(Endpoints[3031]); + builder.AddEndpoint(Endpoints[3032]); + builder.AddEndpoint(Endpoints[3033]); + builder.AddEndpoint(Endpoints[3034]); + builder.AddEndpoint(Endpoints[3035]); + builder.AddEndpoint(Endpoints[3036]); + builder.AddEndpoint(Endpoints[3037]); + builder.AddEndpoint(Endpoints[3038]); + builder.AddEndpoint(Endpoints[3039]); + builder.AddEndpoint(Endpoints[3040]); + builder.AddEndpoint(Endpoints[3041]); + builder.AddEndpoint(Endpoints[3042]); + builder.AddEndpoint(Endpoints[3043]); + builder.AddEndpoint(Endpoints[3044]); + builder.AddEndpoint(Endpoints[3045]); + builder.AddEndpoint(Endpoints[3046]); + builder.AddEndpoint(Endpoints[3047]); + builder.AddEndpoint(Endpoints[3048]); + builder.AddEndpoint(Endpoints[3049]); + builder.AddEndpoint(Endpoints[3050]); + builder.AddEndpoint(Endpoints[3051]); + builder.AddEndpoint(Endpoints[3052]); + builder.AddEndpoint(Endpoints[3053]); + builder.AddEndpoint(Endpoints[3054]); + builder.AddEndpoint(Endpoints[3055]); + builder.AddEndpoint(Endpoints[3056]); + builder.AddEndpoint(Endpoints[3057]); + builder.AddEndpoint(Endpoints[3058]); + builder.AddEndpoint(Endpoints[3059]); + builder.AddEndpoint(Endpoints[3060]); + builder.AddEndpoint(Endpoints[3061]); + builder.AddEndpoint(Endpoints[3062]); + builder.AddEndpoint(Endpoints[3063]); + builder.AddEndpoint(Endpoints[3064]); + builder.AddEndpoint(Endpoints[3065]); + builder.AddEndpoint(Endpoints[3066]); + builder.AddEndpoint(Endpoints[3067]); + builder.AddEndpoint(Endpoints[3068]); + builder.AddEndpoint(Endpoints[3069]); + builder.AddEndpoint(Endpoints[3070]); + builder.AddEndpoint(Endpoints[3071]); + builder.AddEndpoint(Endpoints[3072]); + builder.AddEndpoint(Endpoints[3073]); + builder.AddEndpoint(Endpoints[3074]); + builder.AddEndpoint(Endpoints[3075]); + builder.AddEndpoint(Endpoints[3076]); + builder.AddEndpoint(Endpoints[3077]); + builder.AddEndpoint(Endpoints[3078]); + builder.AddEndpoint(Endpoints[3079]); + builder.AddEndpoint(Endpoints[3080]); + builder.AddEndpoint(Endpoints[3081]); + builder.AddEndpoint(Endpoints[3082]); + builder.AddEndpoint(Endpoints[3083]); + builder.AddEndpoint(Endpoints[3084]); + builder.AddEndpoint(Endpoints[3085]); + builder.AddEndpoint(Endpoints[3086]); + builder.AddEndpoint(Endpoints[3087]); + builder.AddEndpoint(Endpoints[3088]); + builder.AddEndpoint(Endpoints[3089]); + builder.AddEndpoint(Endpoints[3090]); + builder.AddEndpoint(Endpoints[3091]); + builder.AddEndpoint(Endpoints[3092]); + builder.AddEndpoint(Endpoints[3093]); + builder.AddEndpoint(Endpoints[3094]); + builder.AddEndpoint(Endpoints[3095]); + builder.AddEndpoint(Endpoints[3096]); + builder.AddEndpoint(Endpoints[3097]); + builder.AddEndpoint(Endpoints[3098]); + builder.AddEndpoint(Endpoints[3099]); + builder.AddEndpoint(Endpoints[3100]); + builder.AddEndpoint(Endpoints[3101]); + builder.AddEndpoint(Endpoints[3102]); + builder.AddEndpoint(Endpoints[3103]); + builder.AddEndpoint(Endpoints[3104]); + builder.AddEndpoint(Endpoints[3105]); + builder.AddEndpoint(Endpoints[3106]); + builder.AddEndpoint(Endpoints[3107]); + builder.AddEndpoint(Endpoints[3108]); + builder.AddEndpoint(Endpoints[3109]); + builder.AddEndpoint(Endpoints[3110]); + builder.AddEndpoint(Endpoints[3111]); + builder.AddEndpoint(Endpoints[3112]); + builder.AddEndpoint(Endpoints[3113]); + builder.AddEndpoint(Endpoints[3114]); + builder.AddEndpoint(Endpoints[3115]); + builder.AddEndpoint(Endpoints[3116]); + builder.AddEndpoint(Endpoints[3117]); + builder.AddEndpoint(Endpoints[3118]); + builder.AddEndpoint(Endpoints[3119]); + builder.AddEndpoint(Endpoints[3120]); + builder.AddEndpoint(Endpoints[3121]); + builder.AddEndpoint(Endpoints[3122]); + builder.AddEndpoint(Endpoints[3123]); + builder.AddEndpoint(Endpoints[3124]); + builder.AddEndpoint(Endpoints[3125]); + builder.AddEndpoint(Endpoints[3126]); + builder.AddEndpoint(Endpoints[3127]); + builder.AddEndpoint(Endpoints[3128]); + builder.AddEndpoint(Endpoints[3129]); + builder.AddEndpoint(Endpoints[3130]); + builder.AddEndpoint(Endpoints[3131]); + builder.AddEndpoint(Endpoints[3132]); + builder.AddEndpoint(Endpoints[3133]); + builder.AddEndpoint(Endpoints[3134]); + builder.AddEndpoint(Endpoints[3135]); + builder.AddEndpoint(Endpoints[3136]); + builder.AddEndpoint(Endpoints[3137]); + builder.AddEndpoint(Endpoints[3138]); + builder.AddEndpoint(Endpoints[3139]); + builder.AddEndpoint(Endpoints[3140]); + builder.AddEndpoint(Endpoints[3141]); + builder.AddEndpoint(Endpoints[3142]); + builder.AddEndpoint(Endpoints[3143]); + builder.AddEndpoint(Endpoints[3144]); + builder.AddEndpoint(Endpoints[3145]); + builder.AddEndpoint(Endpoints[3146]); + builder.AddEndpoint(Endpoints[3147]); + builder.AddEndpoint(Endpoints[3148]); + builder.AddEndpoint(Endpoints[3149]); + builder.AddEndpoint(Endpoints[3150]); + builder.AddEndpoint(Endpoints[3151]); + builder.AddEndpoint(Endpoints[3152]); + builder.AddEndpoint(Endpoints[3153]); + builder.AddEndpoint(Endpoints[3154]); + builder.AddEndpoint(Endpoints[3155]); + builder.AddEndpoint(Endpoints[3156]); + builder.AddEndpoint(Endpoints[3157]); + builder.AddEndpoint(Endpoints[3158]); + builder.AddEndpoint(Endpoints[3159]); + builder.AddEndpoint(Endpoints[3160]); + builder.AddEndpoint(Endpoints[3161]); + builder.AddEndpoint(Endpoints[3162]); + builder.AddEndpoint(Endpoints[3163]); + builder.AddEndpoint(Endpoints[3164]); + builder.AddEndpoint(Endpoints[3165]); + builder.AddEndpoint(Endpoints[3166]); + builder.AddEndpoint(Endpoints[3167]); + builder.AddEndpoint(Endpoints[3168]); + builder.AddEndpoint(Endpoints[3169]); + builder.AddEndpoint(Endpoints[3170]); + builder.AddEndpoint(Endpoints[3171]); + builder.AddEndpoint(Endpoints[3172]); + builder.AddEndpoint(Endpoints[3173]); + builder.AddEndpoint(Endpoints[3174]); + builder.AddEndpoint(Endpoints[3175]); + builder.AddEndpoint(Endpoints[3176]); + builder.AddEndpoint(Endpoints[3177]); + builder.AddEndpoint(Endpoints[3178]); + builder.AddEndpoint(Endpoints[3179]); + builder.AddEndpoint(Endpoints[3180]); + builder.AddEndpoint(Endpoints[3181]); + builder.AddEndpoint(Endpoints[3182]); + builder.AddEndpoint(Endpoints[3183]); + builder.AddEndpoint(Endpoints[3184]); + builder.AddEndpoint(Endpoints[3185]); + builder.AddEndpoint(Endpoints[3186]); + builder.AddEndpoint(Endpoints[3187]); + builder.AddEndpoint(Endpoints[3188]); + builder.AddEndpoint(Endpoints[3189]); + builder.AddEndpoint(Endpoints[3190]); + builder.AddEndpoint(Endpoints[3191]); + builder.AddEndpoint(Endpoints[3192]); + builder.AddEndpoint(Endpoints[3193]); + builder.AddEndpoint(Endpoints[3194]); + builder.AddEndpoint(Endpoints[3195]); + builder.AddEndpoint(Endpoints[3196]); + builder.AddEndpoint(Endpoints[3197]); + builder.AddEndpoint(Endpoints[3198]); + builder.AddEndpoint(Endpoints[3199]); + builder.AddEndpoint(Endpoints[3200]); + builder.AddEndpoint(Endpoints[3201]); + builder.AddEndpoint(Endpoints[3202]); + builder.AddEndpoint(Endpoints[3203]); + builder.AddEndpoint(Endpoints[3204]); + builder.AddEndpoint(Endpoints[3205]); + builder.AddEndpoint(Endpoints[3206]); + builder.AddEndpoint(Endpoints[3207]); + builder.AddEndpoint(Endpoints[3208]); + builder.AddEndpoint(Endpoints[3209]); + builder.AddEndpoint(Endpoints[3210]); + builder.AddEndpoint(Endpoints[3211]); + builder.AddEndpoint(Endpoints[3212]); + builder.AddEndpoint(Endpoints[3213]); + builder.AddEndpoint(Endpoints[3214]); + builder.AddEndpoint(Endpoints[3215]); + builder.AddEndpoint(Endpoints[3216]); + builder.AddEndpoint(Endpoints[3217]); + builder.AddEndpoint(Endpoints[3218]); + builder.AddEndpoint(Endpoints[3219]); + builder.AddEndpoint(Endpoints[3220]); + builder.AddEndpoint(Endpoints[3221]); + builder.AddEndpoint(Endpoints[3222]); + builder.AddEndpoint(Endpoints[3223]); + builder.AddEndpoint(Endpoints[3224]); + builder.AddEndpoint(Endpoints[3225]); + builder.AddEndpoint(Endpoints[3226]); + builder.AddEndpoint(Endpoints[3227]); + builder.AddEndpoint(Endpoints[3228]); + builder.AddEndpoint(Endpoints[3229]); + builder.AddEndpoint(Endpoints[3230]); + builder.AddEndpoint(Endpoints[3231]); + builder.AddEndpoint(Endpoints[3232]); + builder.AddEndpoint(Endpoints[3233]); + builder.AddEndpoint(Endpoints[3234]); + builder.AddEndpoint(Endpoints[3235]); + builder.AddEndpoint(Endpoints[3236]); + builder.AddEndpoint(Endpoints[3237]); + builder.AddEndpoint(Endpoints[3238]); + builder.AddEndpoint(Endpoints[3239]); + builder.AddEndpoint(Endpoints[3240]); + builder.AddEndpoint(Endpoints[3241]); + builder.AddEndpoint(Endpoints[3242]); + builder.AddEndpoint(Endpoints[3243]); + builder.AddEndpoint(Endpoints[3244]); + builder.AddEndpoint(Endpoints[3245]); + builder.AddEndpoint(Endpoints[3246]); + builder.AddEndpoint(Endpoints[3247]); + builder.AddEndpoint(Endpoints[3248]); + builder.AddEndpoint(Endpoints[3249]); + builder.AddEndpoint(Endpoints[3250]); + builder.AddEndpoint(Endpoints[3251]); + builder.AddEndpoint(Endpoints[3252]); + builder.AddEndpoint(Endpoints[3253]); + builder.AddEndpoint(Endpoints[3254]); + builder.AddEndpoint(Endpoints[3255]); + builder.AddEndpoint(Endpoints[3256]); + builder.AddEndpoint(Endpoints[3257]); + builder.AddEndpoint(Endpoints[3258]); + builder.AddEndpoint(Endpoints[3259]); + builder.AddEndpoint(Endpoints[3260]); + builder.AddEndpoint(Endpoints[3261]); + builder.AddEndpoint(Endpoints[3262]); + builder.AddEndpoint(Endpoints[3263]); + builder.AddEndpoint(Endpoints[3264]); + builder.AddEndpoint(Endpoints[3265]); + builder.AddEndpoint(Endpoints[3266]); + builder.AddEndpoint(Endpoints[3267]); + builder.AddEndpoint(Endpoints[3268]); + builder.AddEndpoint(Endpoints[3269]); + builder.AddEndpoint(Endpoints[3270]); + builder.AddEndpoint(Endpoints[3271]); + builder.AddEndpoint(Endpoints[3272]); + builder.AddEndpoint(Endpoints[3273]); + builder.AddEndpoint(Endpoints[3274]); + builder.AddEndpoint(Endpoints[3275]); + builder.AddEndpoint(Endpoints[3276]); + builder.AddEndpoint(Endpoints[3277]); + builder.AddEndpoint(Endpoints[3278]); + builder.AddEndpoint(Endpoints[3279]); + builder.AddEndpoint(Endpoints[3280]); + builder.AddEndpoint(Endpoints[3281]); + builder.AddEndpoint(Endpoints[3282]); + builder.AddEndpoint(Endpoints[3283]); + builder.AddEndpoint(Endpoints[3284]); + builder.AddEndpoint(Endpoints[3285]); + builder.AddEndpoint(Endpoints[3286]); + builder.AddEndpoint(Endpoints[3287]); + builder.AddEndpoint(Endpoints[3288]); + builder.AddEndpoint(Endpoints[3289]); + builder.AddEndpoint(Endpoints[3290]); + builder.AddEndpoint(Endpoints[3291]); + builder.AddEndpoint(Endpoints[3292]); + builder.AddEndpoint(Endpoints[3293]); + builder.AddEndpoint(Endpoints[3294]); + builder.AddEndpoint(Endpoints[3295]); + builder.AddEndpoint(Endpoints[3296]); + builder.AddEndpoint(Endpoints[3297]); + builder.AddEndpoint(Endpoints[3298]); + builder.AddEndpoint(Endpoints[3299]); + builder.AddEndpoint(Endpoints[3300]); + builder.AddEndpoint(Endpoints[3301]); + builder.AddEndpoint(Endpoints[3302]); + builder.AddEndpoint(Endpoints[3303]); + builder.AddEndpoint(Endpoints[3304]); + builder.AddEndpoint(Endpoints[3305]); + builder.AddEndpoint(Endpoints[3306]); + builder.AddEndpoint(Endpoints[3307]); + builder.AddEndpoint(Endpoints[3308]); + builder.AddEndpoint(Endpoints[3309]); + builder.AddEndpoint(Endpoints[3310]); + builder.AddEndpoint(Endpoints[3311]); + builder.AddEndpoint(Endpoints[3312]); + builder.AddEndpoint(Endpoints[3313]); + builder.AddEndpoint(Endpoints[3314]); + builder.AddEndpoint(Endpoints[3315]); + builder.AddEndpoint(Endpoints[3316]); + builder.AddEndpoint(Endpoints[3317]); + builder.AddEndpoint(Endpoints[3318]); + builder.AddEndpoint(Endpoints[3319]); + builder.AddEndpoint(Endpoints[3320]); + builder.AddEndpoint(Endpoints[3321]); + builder.AddEndpoint(Endpoints[3322]); + builder.AddEndpoint(Endpoints[3323]); + builder.AddEndpoint(Endpoints[3324]); + builder.AddEndpoint(Endpoints[3325]); + builder.AddEndpoint(Endpoints[3326]); + builder.AddEndpoint(Endpoints[3327]); + builder.AddEndpoint(Endpoints[3328]); + builder.AddEndpoint(Endpoints[3329]); + builder.AddEndpoint(Endpoints[3330]); + builder.AddEndpoint(Endpoints[3331]); + builder.AddEndpoint(Endpoints[3332]); + builder.AddEndpoint(Endpoints[3333]); + builder.AddEndpoint(Endpoints[3334]); + builder.AddEndpoint(Endpoints[3335]); + builder.AddEndpoint(Endpoints[3336]); + builder.AddEndpoint(Endpoints[3337]); + builder.AddEndpoint(Endpoints[3338]); + builder.AddEndpoint(Endpoints[3339]); + builder.AddEndpoint(Endpoints[3340]); + builder.AddEndpoint(Endpoints[3341]); + builder.AddEndpoint(Endpoints[3342]); + builder.AddEndpoint(Endpoints[3343]); + builder.AddEndpoint(Endpoints[3344]); + builder.AddEndpoint(Endpoints[3345]); + builder.AddEndpoint(Endpoints[3346]); + builder.AddEndpoint(Endpoints[3347]); + builder.AddEndpoint(Endpoints[3348]); + builder.AddEndpoint(Endpoints[3349]); + builder.AddEndpoint(Endpoints[3350]); + builder.AddEndpoint(Endpoints[3351]); + builder.AddEndpoint(Endpoints[3352]); + builder.AddEndpoint(Endpoints[3353]); + builder.AddEndpoint(Endpoints[3354]); + builder.AddEndpoint(Endpoints[3355]); + builder.AddEndpoint(Endpoints[3356]); + builder.AddEndpoint(Endpoints[3357]); + builder.AddEndpoint(Endpoints[3358]); + builder.AddEndpoint(Endpoints[3359]); + builder.AddEndpoint(Endpoints[3360]); + builder.AddEndpoint(Endpoints[3361]); + builder.AddEndpoint(Endpoints[3362]); + builder.AddEndpoint(Endpoints[3363]); + builder.AddEndpoint(Endpoints[3364]); + builder.AddEndpoint(Endpoints[3365]); + builder.AddEndpoint(Endpoints[3366]); + builder.AddEndpoint(Endpoints[3367]); + builder.AddEndpoint(Endpoints[3368]); + builder.AddEndpoint(Endpoints[3369]); + builder.AddEndpoint(Endpoints[3370]); + builder.AddEndpoint(Endpoints[3371]); + builder.AddEndpoint(Endpoints[3372]); + builder.AddEndpoint(Endpoints[3373]); + builder.AddEndpoint(Endpoints[3374]); + builder.AddEndpoint(Endpoints[3375]); + builder.AddEndpoint(Endpoints[3376]); + builder.AddEndpoint(Endpoints[3377]); + builder.AddEndpoint(Endpoints[3378]); + builder.AddEndpoint(Endpoints[3379]); + builder.AddEndpoint(Endpoints[3380]); + builder.AddEndpoint(Endpoints[3381]); + builder.AddEndpoint(Endpoints[3382]); + builder.AddEndpoint(Endpoints[3383]); + builder.AddEndpoint(Endpoints[3384]); + builder.AddEndpoint(Endpoints[3385]); + builder.AddEndpoint(Endpoints[3386]); + builder.AddEndpoint(Endpoints[3387]); + builder.AddEndpoint(Endpoints[3388]); + builder.AddEndpoint(Endpoints[3389]); + builder.AddEndpoint(Endpoints[3390]); + builder.AddEndpoint(Endpoints[3391]); + builder.AddEndpoint(Endpoints[3392]); + builder.AddEndpoint(Endpoints[3393]); + builder.AddEndpoint(Endpoints[3394]); + builder.AddEndpoint(Endpoints[3395]); + builder.AddEndpoint(Endpoints[3396]); + builder.AddEndpoint(Endpoints[3397]); + builder.AddEndpoint(Endpoints[3398]); + builder.AddEndpoint(Endpoints[3399]); + builder.AddEndpoint(Endpoints[3400]); + builder.AddEndpoint(Endpoints[3401]); + builder.AddEndpoint(Endpoints[3402]); + builder.AddEndpoint(Endpoints[3403]); + builder.AddEndpoint(Endpoints[3404]); + builder.AddEndpoint(Endpoints[3405]); + builder.AddEndpoint(Endpoints[3406]); + builder.AddEndpoint(Endpoints[3407]); + builder.AddEndpoint(Endpoints[3408]); + builder.AddEndpoint(Endpoints[3409]); + builder.AddEndpoint(Endpoints[3410]); + builder.AddEndpoint(Endpoints[3411]); + builder.AddEndpoint(Endpoints[3412]); + builder.AddEndpoint(Endpoints[3413]); + builder.AddEndpoint(Endpoints[3414]); + builder.AddEndpoint(Endpoints[3415]); + builder.AddEndpoint(Endpoints[3416]); + builder.AddEndpoint(Endpoints[3417]); + builder.AddEndpoint(Endpoints[3418]); + builder.AddEndpoint(Endpoints[3419]); + builder.AddEndpoint(Endpoints[3420]); + builder.AddEndpoint(Endpoints[3421]); + builder.AddEndpoint(Endpoints[3422]); + builder.AddEndpoint(Endpoints[3423]); + builder.AddEndpoint(Endpoints[3424]); + builder.AddEndpoint(Endpoints[3425]); + builder.AddEndpoint(Endpoints[3426]); + builder.AddEndpoint(Endpoints[3427]); + builder.AddEndpoint(Endpoints[3428]); + builder.AddEndpoint(Endpoints[3429]); + builder.AddEndpoint(Endpoints[3430]); + builder.AddEndpoint(Endpoints[3431]); + builder.AddEndpoint(Endpoints[3432]); + builder.AddEndpoint(Endpoints[3433]); + builder.AddEndpoint(Endpoints[3434]); + builder.AddEndpoint(Endpoints[3435]); + builder.AddEndpoint(Endpoints[3436]); + builder.AddEndpoint(Endpoints[3437]); + builder.AddEndpoint(Endpoints[3438]); + builder.AddEndpoint(Endpoints[3439]); + builder.AddEndpoint(Endpoints[3440]); + builder.AddEndpoint(Endpoints[3441]); + builder.AddEndpoint(Endpoints[3442]); + builder.AddEndpoint(Endpoints[3443]); + builder.AddEndpoint(Endpoints[3444]); + builder.AddEndpoint(Endpoints[3445]); + builder.AddEndpoint(Endpoints[3446]); + builder.AddEndpoint(Endpoints[3447]); + builder.AddEndpoint(Endpoints[3448]); + builder.AddEndpoint(Endpoints[3449]); + builder.AddEndpoint(Endpoints[3450]); + builder.AddEndpoint(Endpoints[3451]); + builder.AddEndpoint(Endpoints[3452]); + builder.AddEndpoint(Endpoints[3453]); + builder.AddEndpoint(Endpoints[3454]); + builder.AddEndpoint(Endpoints[3455]); + builder.AddEndpoint(Endpoints[3456]); + builder.AddEndpoint(Endpoints[3457]); + builder.AddEndpoint(Endpoints[3458]); + builder.AddEndpoint(Endpoints[3459]); + builder.AddEndpoint(Endpoints[3460]); + builder.AddEndpoint(Endpoints[3461]); + builder.AddEndpoint(Endpoints[3462]); + builder.AddEndpoint(Endpoints[3463]); + builder.AddEndpoint(Endpoints[3464]); + builder.AddEndpoint(Endpoints[3465]); + builder.AddEndpoint(Endpoints[3466]); + builder.AddEndpoint(Endpoints[3467]); + builder.AddEndpoint(Endpoints[3468]); + builder.AddEndpoint(Endpoints[3469]); + builder.AddEndpoint(Endpoints[3470]); + builder.AddEndpoint(Endpoints[3471]); + builder.AddEndpoint(Endpoints[3472]); + builder.AddEndpoint(Endpoints[3473]); + builder.AddEndpoint(Endpoints[3474]); + builder.AddEndpoint(Endpoints[3475]); + builder.AddEndpoint(Endpoints[3476]); + builder.AddEndpoint(Endpoints[3477]); + builder.AddEndpoint(Endpoints[3478]); + builder.AddEndpoint(Endpoints[3479]); + builder.AddEndpoint(Endpoints[3480]); + builder.AddEndpoint(Endpoints[3481]); + builder.AddEndpoint(Endpoints[3482]); + builder.AddEndpoint(Endpoints[3483]); + builder.AddEndpoint(Endpoints[3484]); + builder.AddEndpoint(Endpoints[3485]); + builder.AddEndpoint(Endpoints[3486]); + builder.AddEndpoint(Endpoints[3487]); + builder.AddEndpoint(Endpoints[3488]); + builder.AddEndpoint(Endpoints[3489]); + builder.AddEndpoint(Endpoints[3490]); + builder.AddEndpoint(Endpoints[3491]); + builder.AddEndpoint(Endpoints[3492]); + builder.AddEndpoint(Endpoints[3493]); + builder.AddEndpoint(Endpoints[3494]); + builder.AddEndpoint(Endpoints[3495]); + builder.AddEndpoint(Endpoints[3496]); + builder.AddEndpoint(Endpoints[3497]); + builder.AddEndpoint(Endpoints[3498]); + builder.AddEndpoint(Endpoints[3499]); + builder.AddEndpoint(Endpoints[3500]); + builder.AddEndpoint(Endpoints[3501]); + builder.AddEndpoint(Endpoints[3502]); + builder.AddEndpoint(Endpoints[3503]); + builder.AddEndpoint(Endpoints[3504]); + builder.AddEndpoint(Endpoints[3505]); + builder.AddEndpoint(Endpoints[3506]); + builder.AddEndpoint(Endpoints[3507]); + builder.AddEndpoint(Endpoints[3508]); + builder.AddEndpoint(Endpoints[3509]); + builder.AddEndpoint(Endpoints[3510]); + builder.AddEndpoint(Endpoints[3511]); + builder.AddEndpoint(Endpoints[3512]); + builder.AddEndpoint(Endpoints[3513]); + builder.AddEndpoint(Endpoints[3514]); + builder.AddEndpoint(Endpoints[3515]); + builder.AddEndpoint(Endpoints[3516]); + return builder.Build(); + } + } +} \ No newline at end of file diff --git a/benchmarks/Microsoft.AspNetCore.Routing.Performance/Matchers/MatcherSelectCandidatesGithubBenchmark.cs b/benchmarks/Microsoft.AspNetCore.Routing.Performance/Matchers/MatcherSelectCandidatesGithubBenchmark.cs new file mode 100644 index 0000000000..a9aee41044 --- /dev/null +++ b/benchmarks/Microsoft.AspNetCore.Routing.Performance/Matchers/MatcherSelectCandidatesGithubBenchmark.cs @@ -0,0 +1,63 @@ +// Copyright (c) .NET Foundation. All rights reserved. +// Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information. + +using System; +using System.Threading.Tasks; +using BenchmarkDotNet.Attributes; + +namespace Microsoft.AspNetCore.Routing.Matchers +{ + // Generated from https://github.com/APIs-guru/openapi-directory + // Use https://editor2.swagger.io/ to convert from yaml to json- + public partial class MatcherSelectCandidatesGithubBenchmark : MatcherBenchmarkBase + { + private BarebonesMatcher _baseline; + private DfaMatcher _dfa; + + [GlobalSetup] + public void Setup() + { + SetupEndpoints(); + + SetupRequests(); + + _baseline = (BarebonesMatcher)SetupMatcher(new BarebonesMatcherBuilder()); + _dfa = (DfaMatcher)SetupMatcher(new DfaMatcherBuilder()); + } + + [Benchmark(Baseline = true, OperationsPerInvoke = EndpointCount)] + public void Baseline() + { + for (var i = 0; i < EndpointCount; i++) + { + var httpContext = Requests[i]; + + var path = httpContext.Request.Path.Value; + var segments = new ReadOnlySpan(Array.Empty()); + + var candidates = _baseline.Matchers[i].SelectCandidates(path, segments); + + var endpoint = candidates.Candidates[0].Endpoint; + Validate(httpContext, Endpoints[i], endpoint); + } + } + + [Benchmark( OperationsPerInvoke = EndpointCount)] + public void Dfa() + { + for (var i = 0; i < EndpointCount; i++) + { + var httpContext = Requests[i]; + + var path = httpContext.Request.Path.Value; + Span segments = stackalloc PathSegment[FastPathTokenizer.DefaultSegmentCount]; + var count = FastPathTokenizer.Tokenize(path, segments); + + var candidates = _dfa.SelectCandidates(path, segments.Slice(0, count)); + + var endpoint = candidates.Candidates[0].Endpoint; + Validate(httpContext, Endpoints[i], endpoint); + } + } + } +} \ No newline at end of file diff --git a/benchmarks/Microsoft.AspNetCore.Routing.Performance/Matchers/MatcherSelectCandidatesGithubBenchmark.generated.cs b/benchmarks/Microsoft.AspNetCore.Routing.Performance/Matchers/MatcherSelectCandidatesGithubBenchmark.generated.cs new file mode 100644 index 0000000000..2326b6bd8a --- /dev/null +++ b/benchmarks/Microsoft.AspNetCore.Routing.Performance/Matchers/MatcherSelectCandidatesGithubBenchmark.generated.cs @@ -0,0 +1,959 @@ + +// Copyright (c) .NET Foundation. All rights reserved. +// Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information. + +using Microsoft.AspNetCore.Http; + +namespace Microsoft.AspNetCore.Routing.Matchers +{ + // This code was generated by the Swaggatherer + public partial class MatcherSelectCandidatesGithubBenchmark : MatcherBenchmarkBase + { + private const int EndpointCount = 155; + + private void SetupEndpoints() + { + Endpoints = new MatcherEndpoint[155]; + Endpoints[0] = CreateEndpoint("/emojis"); + Endpoints[1] = CreateEndpoint("/events"); + Endpoints[2] = CreateEndpoint("/feeds"); + Endpoints[3] = CreateEndpoint("/gists"); + Endpoints[4] = CreateEndpoint("/issues"); + Endpoints[5] = CreateEndpoint("/markdown"); + Endpoints[6] = CreateEndpoint("/meta"); + Endpoints[7] = CreateEndpoint("/notifications"); + Endpoints[8] = CreateEndpoint("/rate_limit"); + Endpoints[9] = CreateEndpoint("/repositories"); + Endpoints[10] = CreateEndpoint("/user"); + Endpoints[11] = CreateEndpoint("/users"); + Endpoints[12] = CreateEndpoint("/gists/public"); + Endpoints[13] = CreateEndpoint("/gists/starred"); + Endpoints[14] = CreateEndpoint("/gitignore/templates"); + Endpoints[15] = CreateEndpoint("/markdown/raw"); + Endpoints[16] = CreateEndpoint("/search/code"); + Endpoints[17] = CreateEndpoint("/search/issues"); + Endpoints[18] = CreateEndpoint("/search/repositories"); + Endpoints[19] = CreateEndpoint("/search/users"); + Endpoints[20] = CreateEndpoint("/user/emails"); + Endpoints[21] = CreateEndpoint("/user/followers"); + Endpoints[22] = CreateEndpoint("/user/following"); + Endpoints[23] = CreateEndpoint("/user/issues"); + Endpoints[24] = CreateEndpoint("/user/keys"); + Endpoints[25] = CreateEndpoint("/user/orgs"); + Endpoints[26] = CreateEndpoint("/user/repos"); + Endpoints[27] = CreateEndpoint("/user/starred"); + Endpoints[28] = CreateEndpoint("/user/subscriptions"); + Endpoints[29] = CreateEndpoint("/user/teams"); + Endpoints[30] = CreateEndpoint("/legacy/repos/search/{keyword}"); + Endpoints[31] = CreateEndpoint("/legacy/user/email/{email}"); + Endpoints[32] = CreateEndpoint("/legacy/user/search/{keyword}"); + Endpoints[33] = CreateEndpoint("/legacy/issues/search/{owner}/{repository}/{state}/{keyword}"); + Endpoints[34] = CreateEndpoint("/gitignore/templates/{language}"); + Endpoints[35] = CreateEndpoint("/notifications/threads/{id}"); + Endpoints[36] = CreateEndpoint("/user/following/{username}"); + Endpoints[37] = CreateEndpoint("/user/keys/{keyId}"); + Endpoints[38] = CreateEndpoint("/notifications/threads/{id}/subscription"); + Endpoints[39] = CreateEndpoint("/user/starred/{owner}/{repo}"); + Endpoints[40] = CreateEndpoint("/user/subscriptions/{owner}/{repo}"); + Endpoints[41] = CreateEndpoint("/gists/{id}"); + Endpoints[42] = CreateEndpoint("/orgs/{org}"); + Endpoints[43] = CreateEndpoint("/teams/{teamId}"); + Endpoints[44] = CreateEndpoint("/users/{username}"); + Endpoints[45] = CreateEndpoint("/gists/{id}/comments"); + Endpoints[46] = CreateEndpoint("/gists/{id}/forks"); + Endpoints[47] = CreateEndpoint("/gists/{id}/star"); + Endpoints[48] = CreateEndpoint("/orgs/{org}/events"); + Endpoints[49] = CreateEndpoint("/orgs/{org}/issues"); + Endpoints[50] = CreateEndpoint("/orgs/{org}/members"); + Endpoints[51] = CreateEndpoint("/orgs/{org}/public_members"); + Endpoints[52] = CreateEndpoint("/orgs/{org}/repos"); + Endpoints[53] = CreateEndpoint("/orgs/{org}/teams"); + Endpoints[54] = CreateEndpoint("/teams/{teamId}/members"); + Endpoints[55] = CreateEndpoint("/teams/{teamId}/repos"); + Endpoints[56] = CreateEndpoint("/users/{username}/events"); + Endpoints[57] = CreateEndpoint("/users/{username}/followers"); + Endpoints[58] = CreateEndpoint("/users/{username}/gists"); + Endpoints[59] = CreateEndpoint("/users/{username}/keys"); + Endpoints[60] = CreateEndpoint("/users/{username}/orgs"); + Endpoints[61] = CreateEndpoint("/users/{username}/received_events"); + Endpoints[62] = CreateEndpoint("/users/{username}/repos"); + Endpoints[63] = CreateEndpoint("/users/{username}/starred"); + Endpoints[64] = CreateEndpoint("/users/{username}/subscriptions"); + Endpoints[65] = CreateEndpoint("/users/{username}/received_events/public"); + Endpoints[66] = CreateEndpoint("/users/{username}/events/orgs/{org}"); + Endpoints[67] = CreateEndpoint("/gists/{id}/comments/{commentId}"); + Endpoints[68] = CreateEndpoint("/orgs/{org}/members/{username}"); + Endpoints[69] = CreateEndpoint("/orgs/{org}/public_members/{username}"); + Endpoints[70] = CreateEndpoint("/teams/{teamId}/members/{username}"); + Endpoints[71] = CreateEndpoint("/teams/{teamId}/memberships/{username}"); + Endpoints[72] = CreateEndpoint("/users/{username}/following/{targetUser}"); + Endpoints[73] = CreateEndpoint("/teams/{teamId}/repos/{owner}/{repo}"); + Endpoints[74] = CreateEndpoint("/repos/{owner}/{repo}"); + Endpoints[75] = CreateEndpoint("/networks/{owner}/{repo}/events"); + Endpoints[76] = CreateEndpoint("/repos/{owner}/{repo}/assignees"); + Endpoints[77] = CreateEndpoint("/repos/{owner}/{repo}/branches"); + Endpoints[78] = CreateEndpoint("/repos/{owner}/{repo}/collaborators"); + Endpoints[79] = CreateEndpoint("/repos/{owner}/{repo}/comments"); + Endpoints[80] = CreateEndpoint("/repos/{owner}/{repo}/commits"); + Endpoints[81] = CreateEndpoint("/repos/{owner}/{repo}/contributors"); + Endpoints[82] = CreateEndpoint("/repos/{owner}/{repo}/deployments"); + Endpoints[83] = CreateEndpoint("/repos/{owner}/{repo}/downloads"); + Endpoints[84] = CreateEndpoint("/repos/{owner}/{repo}/events"); + Endpoints[85] = CreateEndpoint("/repos/{owner}/{repo}/forks"); + Endpoints[86] = CreateEndpoint("/repos/{owner}/{repo}/hooks"); + Endpoints[87] = CreateEndpoint("/repos/{owner}/{repo}/issues"); + Endpoints[88] = CreateEndpoint("/repos/{owner}/{repo}/keys"); + Endpoints[89] = CreateEndpoint("/repos/{owner}/{repo}/labels"); + Endpoints[90] = CreateEndpoint("/repos/{owner}/{repo}/languages"); + Endpoints[91] = CreateEndpoint("/repos/{owner}/{repo}/merges"); + Endpoints[92] = CreateEndpoint("/repos/{owner}/{repo}/milestones"); + Endpoints[93] = CreateEndpoint("/repos/{owner}/{repo}/notifications"); + Endpoints[94] = CreateEndpoint("/repos/{owner}/{repo}/pulls"); + Endpoints[95] = CreateEndpoint("/repos/{owner}/{repo}/readme"); + Endpoints[96] = CreateEndpoint("/repos/{owner}/{repo}/releases"); + Endpoints[97] = CreateEndpoint("/repos/{owner}/{repo}/stargazers"); + Endpoints[98] = CreateEndpoint("/repos/{owner}/{repo}/subscribers"); + Endpoints[99] = CreateEndpoint("/repos/{owner}/{repo}/subscription"); + Endpoints[100] = CreateEndpoint("/repos/{owner}/{repo}/tags"); + Endpoints[101] = CreateEndpoint("/repos/{owner}/{repo}/teams"); + Endpoints[102] = CreateEndpoint("/repos/{owner}/{repo}/watchers"); + Endpoints[103] = CreateEndpoint("/repos/{owner}/{repo}/git/blobs"); + Endpoints[104] = CreateEndpoint("/repos/{owner}/{repo}/git/commits"); + Endpoints[105] = CreateEndpoint("/repos/{owner}/{repo}/git/refs"); + Endpoints[106] = CreateEndpoint("/repos/{owner}/{repo}/git/tags"); + Endpoints[107] = CreateEndpoint("/repos/{owner}/{repo}/git/trees"); + Endpoints[108] = CreateEndpoint("/repos/{owner}/{repo}/issues/comments"); + Endpoints[109] = CreateEndpoint("/repos/{owner}/{repo}/issues/events"); + Endpoints[110] = CreateEndpoint("/repos/{owner}/{repo}/pulls/comments"); + Endpoints[111] = CreateEndpoint("/repos/{owner}/{repo}/stats/code_frequency"); + Endpoints[112] = CreateEndpoint("/repos/{owner}/{repo}/stats/commit_activity"); + Endpoints[113] = CreateEndpoint("/repos/{owner}/{repo}/stats/contributors"); + Endpoints[114] = CreateEndpoint("/repos/{owner}/{repo}/stats/participation"); + Endpoints[115] = CreateEndpoint("/repos/{owner}/{repo}/stats/punch_card"); + Endpoints[116] = CreateEndpoint("/repos/{owner}/{repo}/git/blobs/{shaCode}"); + Endpoints[117] = CreateEndpoint("/repos/{owner}/{repo}/git/commits/{shaCode}"); + Endpoints[118] = CreateEndpoint("/repos/{owner}/{repo}/git/refs/{ref}"); + Endpoints[119] = CreateEndpoint("/repos/{owner}/{repo}/git/tags/{shaCode}"); + Endpoints[120] = CreateEndpoint("/repos/{owner}/{repo}/git/trees/{shaCode}"); + Endpoints[121] = CreateEndpoint("/repos/{owner}/{repo}/issues/comments/{commentId}"); + Endpoints[122] = CreateEndpoint("/repos/{owner}/{repo}/issues/events/{eventId}"); + Endpoints[123] = CreateEndpoint("/repos/{owner}/{repo}/pulls/comments/{commentId}"); + Endpoints[124] = CreateEndpoint("/repos/{owner}/{repo}/releases/assets/{id}"); + Endpoints[125] = CreateEndpoint("/repos/{owner}/{repo}/assignees/{assignee}"); + Endpoints[126] = CreateEndpoint("/repos/{owner}/{repo}/branches/{branch}"); + Endpoints[127] = CreateEndpoint("/repos/{owner}/{repo}/collaborators/{user}"); + Endpoints[128] = CreateEndpoint("/repos/{owner}/{repo}/comments/{commentId}"); + Endpoints[129] = CreateEndpoint("/repos/{owner}/{repo}/commits/{shaCode}"); + Endpoints[130] = CreateEndpoint("/repos/{owner}/{repo}/contents/{path}"); + Endpoints[131] = CreateEndpoint("/repos/{owner}/{repo}/downloads/{downloadId}"); + Endpoints[132] = CreateEndpoint("/repos/{owner}/{repo}/hooks/{hookId}"); + Endpoints[133] = CreateEndpoint("/repos/{owner}/{repo}/issues/{number}"); + Endpoints[134] = CreateEndpoint("/repos/{owner}/{repo}/keys/{keyId}"); + Endpoints[135] = CreateEndpoint("/repos/{owner}/{repo}/labels/{name}"); + Endpoints[136] = CreateEndpoint("/repos/{owner}/{repo}/milestones/{number}"); + Endpoints[137] = CreateEndpoint("/repos/{owner}/{repo}/pulls/{number}"); + Endpoints[138] = CreateEndpoint("/repos/{owner}/{repo}/releases/{id}"); + Endpoints[139] = CreateEndpoint("/repos/{owner}/{repo}/statuses/{ref}"); + Endpoints[140] = CreateEndpoint("/repos/{owner}/{repo}/commits/{ref}/status"); + Endpoints[141] = CreateEndpoint("/repos/{owner}/{repo}/commits/{shaCode}/comments"); + Endpoints[142] = CreateEndpoint("/repos/{owner}/{repo}/deployments/{id}/statuses"); + Endpoints[143] = CreateEndpoint("/repos/{owner}/{repo}/hooks/{hookId}/tests"); + Endpoints[144] = CreateEndpoint("/repos/{owner}/{repo}/issues/{number}/comments"); + Endpoints[145] = CreateEndpoint("/repos/{owner}/{repo}/issues/{number}/events"); + Endpoints[146] = CreateEndpoint("/repos/{owner}/{repo}/issues/{number}/labels"); + Endpoints[147] = CreateEndpoint("/repos/{owner}/{repo}/milestones/{number}/labels"); + Endpoints[148] = CreateEndpoint("/repos/{owner}/{repo}/pulls/{number}/comments"); + Endpoints[149] = CreateEndpoint("/repos/{owner}/{repo}/pulls/{number}/commits"); + Endpoints[150] = CreateEndpoint("/repos/{owner}/{repo}/pulls/{number}/files"); + Endpoints[151] = CreateEndpoint("/repos/{owner}/{repo}/pulls/{number}/merge"); + Endpoints[152] = CreateEndpoint("/repos/{owner}/{repo}/releases/{id}/assets"); + Endpoints[153] = CreateEndpoint("/repos/{owner}/{repo}/issues/{number}/labels/{name}"); + Endpoints[154] = CreateEndpoint("/repos/{owner}/{repo}/{archive_format}/{path}"); + } + + private void SetupRequests() + { + Requests = new HttpContext[155]; + Requests[0] = new DefaultHttpContext(); + Requests[0].RequestServices = CreateServices(); + Requests[0].Request.Method = "GET"; + Requests[0].Request.Path = "/emojis"; + Requests[1] = new DefaultHttpContext(); + Requests[1].RequestServices = CreateServices(); + Requests[1].Request.Method = "GET"; + Requests[1].Request.Path = "/events"; + Requests[2] = new DefaultHttpContext(); + Requests[2].RequestServices = CreateServices(); + Requests[2].Request.Method = "GET"; + Requests[2].Request.Path = "/feeds"; + Requests[3] = new DefaultHttpContext(); + Requests[3].RequestServices = CreateServices(); + Requests[3].Request.Method = "POST"; + Requests[3].Request.Path = "/gists"; + Requests[4] = new DefaultHttpContext(); + Requests[4].RequestServices = CreateServices(); + Requests[4].Request.Method = "GET"; + Requests[4].Request.Path = "/issues"; + Requests[5] = new DefaultHttpContext(); + Requests[5].RequestServices = CreateServices(); + Requests[5].Request.Method = "POST"; + Requests[5].Request.Path = "/markdown"; + Requests[6] = new DefaultHttpContext(); + Requests[6].RequestServices = CreateServices(); + Requests[6].Request.Method = "GET"; + Requests[6].Request.Path = "/meta"; + Requests[7] = new DefaultHttpContext(); + Requests[7].RequestServices = CreateServices(); + Requests[7].Request.Method = "PUT"; + Requests[7].Request.Path = "/notifications"; + Requests[8] = new DefaultHttpContext(); + Requests[8].RequestServices = CreateServices(); + Requests[8].Request.Method = "GET"; + Requests[8].Request.Path = "/rate_limit"; + Requests[9] = new DefaultHttpContext(); + Requests[9].RequestServices = CreateServices(); + Requests[9].Request.Method = "GET"; + Requests[9].Request.Path = "/repositories"; + Requests[10] = new DefaultHttpContext(); + Requests[10].RequestServices = CreateServices(); + Requests[10].Request.Method = "PATCH"; + Requests[10].Request.Path = "/user"; + Requests[11] = new DefaultHttpContext(); + Requests[11].RequestServices = CreateServices(); + Requests[11].Request.Method = "GET"; + Requests[11].Request.Path = "/users"; + Requests[12] = new DefaultHttpContext(); + Requests[12].RequestServices = CreateServices(); + Requests[12].Request.Method = "GET"; + Requests[12].Request.Path = "/gists/public"; + Requests[13] = new DefaultHttpContext(); + Requests[13].RequestServices = CreateServices(); + Requests[13].Request.Method = "GET"; + Requests[13].Request.Path = "/gists/starred"; + Requests[14] = new DefaultHttpContext(); + Requests[14].RequestServices = CreateServices(); + Requests[14].Request.Method = "GET"; + Requests[14].Request.Path = "/gitignore/templates"; + Requests[15] = new DefaultHttpContext(); + Requests[15].RequestServices = CreateServices(); + Requests[15].Request.Method = "POST"; + Requests[15].Request.Path = "/markdown/raw"; + Requests[16] = new DefaultHttpContext(); + Requests[16].RequestServices = CreateServices(); + Requests[16].Request.Method = "GET"; + Requests[16].Request.Path = "/search/code"; + Requests[17] = new DefaultHttpContext(); + Requests[17].RequestServices = CreateServices(); + Requests[17].Request.Method = "GET"; + Requests[17].Request.Path = "/search/issues"; + Requests[18] = new DefaultHttpContext(); + Requests[18].RequestServices = CreateServices(); + Requests[18].Request.Method = "GET"; + Requests[18].Request.Path = "/search/repositories"; + Requests[19] = new DefaultHttpContext(); + Requests[19].RequestServices = CreateServices(); + Requests[19].Request.Method = "GET"; + Requests[19].Request.Path = "/search/users"; + Requests[20] = new DefaultHttpContext(); + Requests[20].RequestServices = CreateServices(); + Requests[20].Request.Method = "POST"; + Requests[20].Request.Path = "/user/emails"; + Requests[21] = new DefaultHttpContext(); + Requests[21].RequestServices = CreateServices(); + Requests[21].Request.Method = "GET"; + Requests[21].Request.Path = "/user/followers"; + Requests[22] = new DefaultHttpContext(); + Requests[22].RequestServices = CreateServices(); + Requests[22].Request.Method = "GET"; + Requests[22].Request.Path = "/user/following"; + Requests[23] = new DefaultHttpContext(); + Requests[23].RequestServices = CreateServices(); + Requests[23].Request.Method = "GET"; + Requests[23].Request.Path = "/user/issues"; + Requests[24] = new DefaultHttpContext(); + Requests[24].RequestServices = CreateServices(); + Requests[24].Request.Method = "POST"; + Requests[24].Request.Path = "/user/keys"; + Requests[25] = new DefaultHttpContext(); + Requests[25].RequestServices = CreateServices(); + Requests[25].Request.Method = "GET"; + Requests[25].Request.Path = "/user/orgs"; + Requests[26] = new DefaultHttpContext(); + Requests[26].RequestServices = CreateServices(); + Requests[26].Request.Method = "POST"; + Requests[26].Request.Path = "/user/repos"; + Requests[27] = new DefaultHttpContext(); + Requests[27].RequestServices = CreateServices(); + Requests[27].Request.Method = "GET"; + Requests[27].Request.Path = "/user/starred"; + Requests[28] = new DefaultHttpContext(); + Requests[28].RequestServices = CreateServices(); + Requests[28].Request.Method = "GET"; + Requests[28].Request.Path = "/user/subscriptions"; + Requests[29] = new DefaultHttpContext(); + Requests[29].RequestServices = CreateServices(); + Requests[29].Request.Method = "GET"; + Requests[29].Request.Path = "/user/teams"; + Requests[30] = new DefaultHttpContext(); + Requests[30].RequestServices = CreateServices(); + Requests[30].Request.Method = "GET"; + Requests[30].Request.Path = "/legacy/repos/search/98f2805"; + Requests[31] = new DefaultHttpContext(); + Requests[31].RequestServices = CreateServices(); + Requests[31].Request.Method = "GET"; + Requests[31].Request.Path = "/legacy/user/email/d65b3"; + Requests[32] = new DefaultHttpContext(); + Requests[32].RequestServices = CreateServices(); + Requests[32].Request.Method = "GET"; + Requests[32].Request.Path = "/legacy/user/search/edc2298"; + Requests[33] = new DefaultHttpContext(); + Requests[33].RequestServices = CreateServices(); + Requests[33].Request.Method = "GET"; + Requests[33].Request.Path = "/legacy/issues/search/7f959/b12ea0da-b/49a3b/b371d06"; + Requests[34] = new DefaultHttpContext(); + Requests[34].RequestServices = CreateServices(); + Requests[34].Request.Method = "GET"; + Requests[34].Request.Path = "/gitignore/templates/0cb5dc32"; + Requests[35] = new DefaultHttpContext(); + Requests[35].RequestServices = CreateServices(); + Requests[35].Request.Method = "PATCH"; + Requests[35].Request.Path = "/notifications/threads/4bd8e"; + Requests[36] = new DefaultHttpContext(); + Requests[36].RequestServices = CreateServices(); + Requests[36].Request.Method = "PUT"; + Requests[36].Request.Path = "/user/following/e2c3a018"; + Requests[37] = new DefaultHttpContext(); + Requests[37].RequestServices = CreateServices(); + Requests[37].Request.Method = "GET"; + Requests[37].Request.Path = "/user/keys/7d82b"; + Requests[38] = new DefaultHttpContext(); + Requests[38].RequestServices = CreateServices(); + Requests[38].Request.Method = "PUT"; + Requests[38].Request.Path = "/notifications/threads/dd67d/subscription"; + Requests[39] = new DefaultHttpContext(); + Requests[39].RequestServices = CreateServices(); + Requests[39].Request.Method = "PUT"; + Requests[39].Request.Path = "/user/starred/0b99c/8783e"; + Requests[40] = new DefaultHttpContext(); + Requests[40].RequestServices = CreateServices(); + Requests[40].Request.Method = "PUT"; + Requests[40].Request.Path = "/user/subscriptions/384c7/2c13f"; + Requests[41] = new DefaultHttpContext(); + Requests[41].RequestServices = CreateServices(); + Requests[41].Request.Method = "PATCH"; + Requests[41].Request.Path = "/gists/e6d49"; + Requests[42] = new DefaultHttpContext(); + Requests[42].RequestServices = CreateServices(); + Requests[42].Request.Method = "PATCH"; + Requests[42].Request.Path = "/orgs/8ae9c"; + Requests[43] = new DefaultHttpContext(); + Requests[43].RequestServices = CreateServices(); + Requests[43].Request.Method = "PATCH"; + Requests[43].Request.Path = "/teams/4a7cc7"; + Requests[44] = new DefaultHttpContext(); + Requests[44].RequestServices = CreateServices(); + Requests[44].Request.Method = "GET"; + Requests[44].Request.Path = "/users/0a04d291"; + Requests[45] = new DefaultHttpContext(); + Requests[45].RequestServices = CreateServices(); + Requests[45].Request.Method = "POST"; + Requests[45].Request.Path = "/gists/08da6/comments"; + Requests[46] = new DefaultHttpContext(); + Requests[46].RequestServices = CreateServices(); + Requests[46].Request.Method = "POST"; + Requests[46].Request.Path = "/gists/fca54/forks"; + Requests[47] = new DefaultHttpContext(); + Requests[47].RequestServices = CreateServices(); + Requests[47].Request.Method = "PUT"; + Requests[47].Request.Path = "/gists/31f75/star"; + Requests[48] = new DefaultHttpContext(); + Requests[48].RequestServices = CreateServices(); + Requests[48].Request.Method = "GET"; + Requests[48].Request.Path = "/orgs/2b352/events"; + Requests[49] = new DefaultHttpContext(); + Requests[49].RequestServices = CreateServices(); + Requests[49].Request.Method = "GET"; + Requests[49].Request.Path = "/orgs/e08a9/issues"; + Requests[50] = new DefaultHttpContext(); + Requests[50].RequestServices = CreateServices(); + Requests[50].Request.Method = "GET"; + Requests[50].Request.Path = "/orgs/fddd5/members"; + Requests[51] = new DefaultHttpContext(); + Requests[51].RequestServices = CreateServices(); + Requests[51].Request.Method = "GET"; + Requests[51].Request.Path = "/orgs/a0018/public_members"; + Requests[52] = new DefaultHttpContext(); + Requests[52].RequestServices = CreateServices(); + Requests[52].Request.Method = "POST"; + Requests[52].Request.Path = "/orgs/459e6/repos"; + Requests[53] = new DefaultHttpContext(); + Requests[53].RequestServices = CreateServices(); + Requests[53].Request.Method = "POST"; + Requests[53].Request.Path = "/orgs/c50a3/teams"; + Requests[54] = new DefaultHttpContext(); + Requests[54].RequestServices = CreateServices(); + Requests[54].Request.Method = "GET"; + Requests[54].Request.Path = "/teams/6d7c70/members"; + Requests[55] = new DefaultHttpContext(); + Requests[55].RequestServices = CreateServices(); + Requests[55].Request.Method = "GET"; + Requests[55].Request.Path = "/teams/2c72a5/repos"; + Requests[56] = new DefaultHttpContext(); + Requests[56].RequestServices = CreateServices(); + Requests[56].Request.Method = "GET"; + Requests[56].Request.Path = "/users/0d7c82bc/events"; + Requests[57] = new DefaultHttpContext(); + Requests[57].RequestServices = CreateServices(); + Requests[57].Request.Method = "GET"; + Requests[57].Request.Path = "/users/dad59333/followers"; + Requests[58] = new DefaultHttpContext(); + Requests[58].RequestServices = CreateServices(); + Requests[58].Request.Method = "GET"; + Requests[58].Request.Path = "/users/d3cfc2f7/gists"; + Requests[59] = new DefaultHttpContext(); + Requests[59].RequestServices = CreateServices(); + Requests[59].Request.Method = "GET"; + Requests[59].Request.Path = "/users/74de59eb/keys"; + Requests[60] = new DefaultHttpContext(); + Requests[60].RequestServices = CreateServices(); + Requests[60].Request.Method = "GET"; + Requests[60].Request.Path = "/users/c8078ace/orgs"; + Requests[61] = new DefaultHttpContext(); + Requests[61].RequestServices = CreateServices(); + Requests[61].Request.Method = "GET"; + Requests[61].Request.Path = "/users/7bb096ec/received_events"; + Requests[62] = new DefaultHttpContext(); + Requests[62].RequestServices = CreateServices(); + Requests[62].Request.Method = "GET"; + Requests[62].Request.Path = "/users/8208dce8/repos"; + Requests[63] = new DefaultHttpContext(); + Requests[63].RequestServices = CreateServices(); + Requests[63].Request.Method = "GET"; + Requests[63].Request.Path = "/users/8da3e05c/starred"; + Requests[64] = new DefaultHttpContext(); + Requests[64].RequestServices = CreateServices(); + Requests[64].Request.Method = "GET"; + Requests[64].Request.Path = "/users/ddcd1749/subscriptions"; + Requests[65] = new DefaultHttpContext(); + Requests[65].RequestServices = CreateServices(); + Requests[65].Request.Method = "GET"; + Requests[65].Request.Path = "/users/528d35ef/received_events/public"; + Requests[66] = new DefaultHttpContext(); + Requests[66].RequestServices = CreateServices(); + Requests[66].Request.Method = "GET"; + Requests[66].Request.Path = "/users/9a36a9de/events/orgs/3864a"; + Requests[67] = new DefaultHttpContext(); + Requests[67].RequestServices = CreateServices(); + Requests[67].Request.Method = "PATCH"; + Requests[67].Request.Path = "/gists/29a38/comments/f955540b-"; + Requests[68] = new DefaultHttpContext(); + Requests[68].RequestServices = CreateServices(); + Requests[68].Request.Method = "GET"; + Requests[68].Request.Path = "/orgs/7b33c/members/fa7c6147"; + Requests[69] = new DefaultHttpContext(); + Requests[69].RequestServices = CreateServices(); + Requests[69].Request.Method = "PUT"; + Requests[69].Request.Path = "/orgs/97a4b/public_members/35fecf7f"; + Requests[70] = new DefaultHttpContext(); + Requests[70].RequestServices = CreateServices(); + Requests[70].Request.Method = "PUT"; + Requests[70].Request.Path = "/teams/969145/members/194d27ad"; + Requests[71] = new DefaultHttpContext(); + Requests[71].RequestServices = CreateServices(); + Requests[71].Request.Method = "PUT"; + Requests[71].Request.Path = "/teams/90a622/memberships/88477f8b"; + Requests[72] = new DefaultHttpContext(); + Requests[72].RequestServices = CreateServices(); + Requests[72].Request.Method = "GET"; + Requests[72].Request.Path = "/users/efc0aad4/following/bc58bd8c-7"; + Requests[73] = new DefaultHttpContext(); + Requests[73].RequestServices = CreateServices(); + Requests[73].Request.Method = "GET"; + Requests[73].Request.Path = "/teams/98d389/repos/74b04/05c77"; + Requests[74] = new DefaultHttpContext(); + Requests[74].RequestServices = CreateServices(); + Requests[74].Request.Method = "PATCH"; + Requests[74].Request.Path = "/repos/fbc82/446db"; + Requests[75] = new DefaultHttpContext(); + Requests[75].RequestServices = CreateServices(); + Requests[75].Request.Method = "GET"; + Requests[75].Request.Path = "/networks/d914d/57c64/events"; + Requests[76] = new DefaultHttpContext(); + Requests[76].RequestServices = CreateServices(); + Requests[76].Request.Method = "GET"; + Requests[76].Request.Path = "/repos/67afd/b1bc5/assignees"; + Requests[77] = new DefaultHttpContext(); + Requests[77].RequestServices = CreateServices(); + Requests[77].Request.Method = "GET"; + Requests[77].Request.Path = "/repos/b2f87/ced1b/branches"; + Requests[78] = new DefaultHttpContext(); + Requests[78].RequestServices = CreateServices(); + Requests[78].Request.Method = "GET"; + Requests[78].Request.Path = "/repos/4c0cd/a3d94/collaborators"; + Requests[79] = new DefaultHttpContext(); + Requests[79].RequestServices = CreateServices(); + Requests[79].Request.Method = "GET"; + Requests[79].Request.Path = "/repos/1eab2/4cbac/comments"; + Requests[80] = new DefaultHttpContext(); + Requests[80].RequestServices = CreateServices(); + Requests[80].Request.Method = "GET"; + Requests[80].Request.Path = "/repos/5981b/de5a8/commits"; + Requests[81] = new DefaultHttpContext(); + Requests[81].RequestServices = CreateServices(); + Requests[81].Request.Method = "GET"; + Requests[81].Request.Path = "/repos/7ad40/db6ee/contributors"; + Requests[82] = new DefaultHttpContext(); + Requests[82].RequestServices = CreateServices(); + Requests[82].Request.Method = "POST"; + Requests[82].Request.Path = "/repos/8972a/86bb7/deployments"; + Requests[83] = new DefaultHttpContext(); + Requests[83].RequestServices = CreateServices(); + Requests[83].Request.Method = "GET"; + Requests[83].Request.Path = "/repos/c619b/d8f5a/downloads"; + Requests[84] = new DefaultHttpContext(); + Requests[84].RequestServices = CreateServices(); + Requests[84].Request.Method = "GET"; + Requests[84].Request.Path = "/repos/91509/bb53c/events"; + Requests[85] = new DefaultHttpContext(); + Requests[85].RequestServices = CreateServices(); + Requests[85].Request.Method = "POST"; + Requests[85].Request.Path = "/repos/9da59/f78cd/forks"; + Requests[86] = new DefaultHttpContext(); + Requests[86].RequestServices = CreateServices(); + Requests[86].Request.Method = "POST"; + Requests[86].Request.Path = "/repos/1484a/4e077/hooks"; + Requests[87] = new DefaultHttpContext(); + Requests[87].RequestServices = CreateServices(); + Requests[87].Request.Method = "POST"; + Requests[87].Request.Path = "/repos/c5793/4f77e/issues"; + Requests[88] = new DefaultHttpContext(); + Requests[88].RequestServices = CreateServices(); + Requests[88].Request.Method = "POST"; + Requests[88].Request.Path = "/repos/d4e39/2dd22/keys"; + Requests[89] = new DefaultHttpContext(); + Requests[89].RequestServices = CreateServices(); + Requests[89].Request.Method = "POST"; + Requests[89].Request.Path = "/repos/bd4f0/9cc66/labels"; + Requests[90] = new DefaultHttpContext(); + Requests[90].RequestServices = CreateServices(); + Requests[90].Request.Method = "GET"; + Requests[90].Request.Path = "/repos/6b934/aa4bd/languages"; + Requests[91] = new DefaultHttpContext(); + Requests[91].RequestServices = CreateServices(); + Requests[91].Request.Method = "POST"; + Requests[91].Request.Path = "/repos/8830a/88a98/merges"; + Requests[92] = new DefaultHttpContext(); + Requests[92].RequestServices = CreateServices(); + Requests[92].Request.Method = "POST"; + Requests[92].Request.Path = "/repos/9ce99/29222/milestones"; + Requests[93] = new DefaultHttpContext(); + Requests[93].RequestServices = CreateServices(); + Requests[93].Request.Method = "PUT"; + Requests[93].Request.Path = "/repos/a106c/ac6a4/notifications"; + Requests[94] = new DefaultHttpContext(); + Requests[94].RequestServices = CreateServices(); + Requests[94].Request.Method = "POST"; + Requests[94].Request.Path = "/repos/0e52f/ca9e5/pulls"; + Requests[95] = new DefaultHttpContext(); + Requests[95].RequestServices = CreateServices(); + Requests[95].Request.Method = "GET"; + Requests[95].Request.Path = "/repos/37e7a/7aa03/readme"; + Requests[96] = new DefaultHttpContext(); + Requests[96].RequestServices = CreateServices(); + Requests[96].Request.Method = "POST"; + Requests[96].Request.Path = "/repos/cf543/a26e5/releases"; + Requests[97] = new DefaultHttpContext(); + Requests[97].RequestServices = CreateServices(); + Requests[97].Request.Method = "GET"; + Requests[97].Request.Path = "/repos/26330/2998f/stargazers"; + Requests[98] = new DefaultHttpContext(); + Requests[98].RequestServices = CreateServices(); + Requests[98].Request.Method = "GET"; + Requests[98].Request.Path = "/repos/4192a/8d012/subscribers"; + Requests[99] = new DefaultHttpContext(); + Requests[99].RequestServices = CreateServices(); + Requests[99].Request.Method = "PUT"; + Requests[99].Request.Path = "/repos/7bf2f/ec3e8/subscription"; + Requests[100] = new DefaultHttpContext(); + Requests[100].RequestServices = CreateServices(); + Requests[100].Request.Method = "GET"; + Requests[100].Request.Path = "/repos/9285d/2386a/tags"; + Requests[101] = new DefaultHttpContext(); + Requests[101].RequestServices = CreateServices(); + Requests[101].Request.Method = "GET"; + Requests[101].Request.Path = "/repos/ba9c2/c995c/teams"; + Requests[102] = new DefaultHttpContext(); + Requests[102].RequestServices = CreateServices(); + Requests[102].Request.Method = "GET"; + Requests[102].Request.Path = "/repos/15c8d/35395/watchers"; + Requests[103] = new DefaultHttpContext(); + Requests[103].RequestServices = CreateServices(); + Requests[103].Request.Method = "POST"; + Requests[103].Request.Path = "/repos/3e849/531ef/git/blobs"; + Requests[104] = new DefaultHttpContext(); + Requests[104].RequestServices = CreateServices(); + Requests[104].Request.Method = "POST"; + Requests[104].Request.Path = "/repos/3bcbc/5d8bc/git/commits"; + Requests[105] = new DefaultHttpContext(); + Requests[105].RequestServices = CreateServices(); + Requests[105].Request.Method = "POST"; + Requests[105].Request.Path = "/repos/65917/4297b/git/refs"; + Requests[106] = new DefaultHttpContext(); + Requests[106].RequestServices = CreateServices(); + Requests[106].Request.Method = "POST"; + Requests[106].Request.Path = "/repos/5aadb/450d4/git/tags"; + Requests[107] = new DefaultHttpContext(); + Requests[107].RequestServices = CreateServices(); + Requests[107].Request.Method = "POST"; + Requests[107].Request.Path = "/repos/4c306/f056f/git/trees"; + Requests[108] = new DefaultHttpContext(); + Requests[108].RequestServices = CreateServices(); + Requests[108].Request.Method = "GET"; + Requests[108].Request.Path = "/repos/9da82/d041c/issues/comments"; + Requests[109] = new DefaultHttpContext(); + Requests[109].RequestServices = CreateServices(); + Requests[109].Request.Method = "GET"; + Requests[109].Request.Path = "/repos/06bb5/1352f/issues/events"; + Requests[110] = new DefaultHttpContext(); + Requests[110].RequestServices = CreateServices(); + Requests[110].Request.Method = "GET"; + Requests[110].Request.Path = "/repos/f87fb/e0543/pulls/comments"; + Requests[111] = new DefaultHttpContext(); + Requests[111].RequestServices = CreateServices(); + Requests[111].Request.Method = "GET"; + Requests[111].Request.Path = "/repos/b6d34/d0b39/stats/code_frequency"; + Requests[112] = new DefaultHttpContext(); + Requests[112].RequestServices = CreateServices(); + Requests[112].Request.Method = "GET"; + Requests[112].Request.Path = "/repos/e8d05/4707e/stats/commit_activity"; + Requests[113] = new DefaultHttpContext(); + Requests[113].RequestServices = CreateServices(); + Requests[113].Request.Method = "GET"; + Requests[113].Request.Path = "/repos/48d7e/0ecd3/stats/contributors"; + Requests[114] = new DefaultHttpContext(); + Requests[114].RequestServices = CreateServices(); + Requests[114].Request.Method = "GET"; + Requests[114].Request.Path = "/repos/8964b/6e8f5/stats/participation"; + Requests[115] = new DefaultHttpContext(); + Requests[115].RequestServices = CreateServices(); + Requests[115].Request.Method = "GET"; + Requests[115].Request.Path = "/repos/37374/f039d/stats/punch_card"; + Requests[116] = new DefaultHttpContext(); + Requests[116].RequestServices = CreateServices(); + Requests[116].Request.Method = "GET"; + Requests[116].Request.Path = "/repos/14566/a474b/git/blobs/04b85a8"; + Requests[117] = new DefaultHttpContext(); + Requests[117].RequestServices = CreateServices(); + Requests[117].Request.Method = "GET"; + Requests[117].Request.Path = "/repos/31a30/3ea34/git/commits/27948b9"; + Requests[118] = new DefaultHttpContext(); + Requests[118].RequestServices = CreateServices(); + Requests[118].Request.Method = "PATCH"; + Requests[118].Request.Path = "/repos/2c8ad/e2765/git/refs/67cc5"; + Requests[119] = new DefaultHttpContext(); + Requests[119].RequestServices = CreateServices(); + Requests[119].Request.Method = "GET"; + Requests[119].Request.Path = "/repos/739be/3acb7/git/tags/6c6430c"; + Requests[120] = new DefaultHttpContext(); + Requests[120].RequestServices = CreateServices(); + Requests[120].Request.Method = "GET"; + Requests[120].Request.Path = "/repos/5a112/21ae4/git/trees/fe88304"; + Requests[121] = new DefaultHttpContext(); + Requests[121].RequestServices = CreateServices(); + Requests[121].Request.Method = "PATCH"; + Requests[121].Request.Path = "/repos/76ed1/51c63/issues/comments/c9208b29-"; + Requests[122] = new DefaultHttpContext(); + Requests[122].RequestServices = CreateServices(); + Requests[122].Request.Method = "GET"; + Requests[122].Request.Path = "/repos/8230d/17f20/issues/events/5e4ea0f"; + Requests[123] = new DefaultHttpContext(); + Requests[123].RequestServices = CreateServices(); + Requests[123].Request.Method = "PATCH"; + Requests[123].Request.Path = "/repos/fa5f3/b4ecf/pulls/comments/1e93db69-"; + Requests[124] = new DefaultHttpContext(); + Requests[124].RequestServices = CreateServices(); + Requests[124].Request.Method = "PATCH"; + Requests[124].Request.Path = "/repos/f3b86/5793e/releases/assets/b21e5"; + Requests[125] = new DefaultHttpContext(); + Requests[125].RequestServices = CreateServices(); + Requests[125].Request.Method = "GET"; + Requests[125].Request.Path = "/repos/0df2f/f1d8e/assignees/87a41d15"; + Requests[126] = new DefaultHttpContext(); + Requests[126].RequestServices = CreateServices(); + Requests[126].Request.Method = "GET"; + Requests[126].Request.Path = "/repos/f0062/df752/branches/d18f91"; + Requests[127] = new DefaultHttpContext(); + Requests[127].RequestServices = CreateServices(); + Requests[127].Request.Method = "PUT"; + Requests[127].Request.Path = "/repos/022eb/1696a/collaborators/59494"; + Requests[128] = new DefaultHttpContext(); + Requests[128].RequestServices = CreateServices(); + Requests[128].Request.Method = "PATCH"; + Requests[128].Request.Path = "/repos/0f74c/4f864/comments/5a8b1f18-"; + Requests[129] = new DefaultHttpContext(); + Requests[129].RequestServices = CreateServices(); + Requests[129].Request.Method = "GET"; + Requests[129].Request.Path = "/repos/08262/d4859/commits/0459132"; + Requests[130] = new DefaultHttpContext(); + Requests[130].RequestServices = CreateServices(); + Requests[130].Request.Method = "PUT"; + Requests[130].Request.Path = "/repos/9e587/5da72/contents/3b37c"; + Requests[131] = new DefaultHttpContext(); + Requests[131].RequestServices = CreateServices(); + Requests[131].Request.Method = "GET"; + Requests[131].Request.Path = "/repos/aeabf/fb931/downloads/928b7eef-a"; + Requests[132] = new DefaultHttpContext(); + Requests[132].RequestServices = CreateServices(); + Requests[132].Request.Method = "PATCH"; + Requests[132].Request.Path = "/repos/cb76c/71512/hooks/e0a971"; + Requests[133] = new DefaultHttpContext(); + Requests[133].RequestServices = CreateServices(); + Requests[133].Request.Method = "PATCH"; + Requests[133].Request.Path = "/repos/a44e1/81a70/issues/fedabf"; + Requests[134] = new DefaultHttpContext(); + Requests[134].RequestServices = CreateServices(); + Requests[134].Request.Method = "GET"; + Requests[134].Request.Path = "/repos/d776f/19a02/keys/9e5b3"; + Requests[135] = new DefaultHttpContext(); + Requests[135].RequestServices = CreateServices(); + Requests[135].Request.Method = "PATCH"; + Requests[135].Request.Path = "/repos/b8532/04123/labels/d3c1d"; + Requests[136] = new DefaultHttpContext(); + Requests[136].RequestServices = CreateServices(); + Requests[136].Request.Method = "PATCH"; + Requests[136].Request.Path = "/repos/1d10a/9efd4/milestones/f673c2"; + Requests[137] = new DefaultHttpContext(); + Requests[137].RequestServices = CreateServices(); + Requests[137].Request.Method = "PATCH"; + Requests[137].Request.Path = "/repos/3aa16/84330/pulls/6dcd1f"; + Requests[138] = new DefaultHttpContext(); + Requests[138].RequestServices = CreateServices(); + Requests[138].Request.Method = "PATCH"; + Requests[138].Request.Path = "/repos/eb98f/fd492/releases/a070f"; + Requests[139] = new DefaultHttpContext(); + Requests[139].RequestServices = CreateServices(); + Requests[139].Request.Method = "POST"; + Requests[139].Request.Path = "/repos/f1040/ca625/statuses/a1554"; + Requests[140] = new DefaultHttpContext(); + Requests[140].RequestServices = CreateServices(); + Requests[140].Request.Method = "GET"; + Requests[140].Request.Path = "/repos/5e573/09410/commits/740ca/status"; + Requests[141] = new DefaultHttpContext(); + Requests[141].RequestServices = CreateServices(); + Requests[141].Request.Method = "POST"; + Requests[141].Request.Path = "/repos/25dd0/256a3/commits/088d12d/comments"; + Requests[142] = new DefaultHttpContext(); + Requests[142].RequestServices = CreateServices(); + Requests[142].Request.Method = "POST"; + Requests[142].Request.Path = "/repos/50b76/80795/deployments/faedd/statuses"; + Requests[143] = new DefaultHttpContext(); + Requests[143].RequestServices = CreateServices(); + Requests[143].Request.Method = "POST"; + Requests[143].Request.Path = "/repos/0c54e/6485c/hooks/82463a/tests"; + Requests[144] = new DefaultHttpContext(); + Requests[144].RequestServices = CreateServices(); + Requests[144].Request.Method = "POST"; + Requests[144].Request.Path = "/repos/07cf6/23b13/issues/f0dd8f/comments"; + Requests[145] = new DefaultHttpContext(); + Requests[145].RequestServices = CreateServices(); + Requests[145].Request.Method = "GET"; + Requests[145].Request.Path = "/repos/23f9b/f2fd8/issues/3fe64f/events"; + Requests[146] = new DefaultHttpContext(); + Requests[146].RequestServices = CreateServices(); + Requests[146].Request.Method = "PUT"; + Requests[146].Request.Path = "/repos/5b3d7/ca96e/issues/936334/labels"; + Requests[147] = new DefaultHttpContext(); + Requests[147].RequestServices = CreateServices(); + Requests[147].Request.Method = "GET"; + Requests[147].Request.Path = "/repos/cd644/3304a/milestones/166fae/labels"; + Requests[148] = new DefaultHttpContext(); + Requests[148].RequestServices = CreateServices(); + Requests[148].Request.Method = "POST"; + Requests[148].Request.Path = "/repos/33da8/9f808/pulls/f1e922/comments"; + Requests[149] = new DefaultHttpContext(); + Requests[149].RequestServices = CreateServices(); + Requests[149].Request.Method = "GET"; + Requests[149].Request.Path = "/repos/be208/fc905/pulls/7e240f/commits"; + Requests[150] = new DefaultHttpContext(); + Requests[150].RequestServices = CreateServices(); + Requests[150].Request.Method = "GET"; + Requests[150].Request.Path = "/repos/3c706/a56bc/pulls/651d9a/files"; + Requests[151] = new DefaultHttpContext(); + Requests[151].RequestServices = CreateServices(); + Requests[151].Request.Method = "PUT"; + Requests[151].Request.Path = "/repos/ea5a0/36e73/pulls/760f68/merge"; + Requests[152] = new DefaultHttpContext(); + Requests[152].RequestServices = CreateServices(); + Requests[152].Request.Method = "GET"; + Requests[152].Request.Path = "/repos/9362e/2a504/releases/4105d/assets"; + Requests[153] = new DefaultHttpContext(); + Requests[153].RequestServices = CreateServices(); + Requests[153].Request.Method = "DELETE"; + Requests[153].Request.Path = "/repos/39dc3/47180/issues/5b5277/labels/fc82a"; + Requests[154] = new DefaultHttpContext(); + Requests[154].RequestServices = CreateServices(); + Requests[154].Request.Method = "GET"; + Requests[154].Request.Path = "/repos/91437/d62a4/5582f507-3991-/3e89b"; + } + + private Matcher SetupMatcher(MatcherBuilder builder) + { + builder.AddEndpoint(Endpoints[0]); + builder.AddEndpoint(Endpoints[1]); + builder.AddEndpoint(Endpoints[2]); + builder.AddEndpoint(Endpoints[3]); + builder.AddEndpoint(Endpoints[4]); + builder.AddEndpoint(Endpoints[5]); + builder.AddEndpoint(Endpoints[6]); + builder.AddEndpoint(Endpoints[7]); + builder.AddEndpoint(Endpoints[8]); + builder.AddEndpoint(Endpoints[9]); + builder.AddEndpoint(Endpoints[10]); + builder.AddEndpoint(Endpoints[11]); + builder.AddEndpoint(Endpoints[12]); + builder.AddEndpoint(Endpoints[13]); + builder.AddEndpoint(Endpoints[14]); + builder.AddEndpoint(Endpoints[15]); + builder.AddEndpoint(Endpoints[16]); + builder.AddEndpoint(Endpoints[17]); + builder.AddEndpoint(Endpoints[18]); + builder.AddEndpoint(Endpoints[19]); + builder.AddEndpoint(Endpoints[20]); + builder.AddEndpoint(Endpoints[21]); + builder.AddEndpoint(Endpoints[22]); + builder.AddEndpoint(Endpoints[23]); + builder.AddEndpoint(Endpoints[24]); + builder.AddEndpoint(Endpoints[25]); + builder.AddEndpoint(Endpoints[26]); + builder.AddEndpoint(Endpoints[27]); + builder.AddEndpoint(Endpoints[28]); + builder.AddEndpoint(Endpoints[29]); + builder.AddEndpoint(Endpoints[30]); + builder.AddEndpoint(Endpoints[31]); + builder.AddEndpoint(Endpoints[32]); + builder.AddEndpoint(Endpoints[33]); + builder.AddEndpoint(Endpoints[34]); + builder.AddEndpoint(Endpoints[35]); + builder.AddEndpoint(Endpoints[36]); + builder.AddEndpoint(Endpoints[37]); + builder.AddEndpoint(Endpoints[38]); + builder.AddEndpoint(Endpoints[39]); + builder.AddEndpoint(Endpoints[40]); + builder.AddEndpoint(Endpoints[41]); + builder.AddEndpoint(Endpoints[42]); + builder.AddEndpoint(Endpoints[43]); + builder.AddEndpoint(Endpoints[44]); + builder.AddEndpoint(Endpoints[45]); + builder.AddEndpoint(Endpoints[46]); + builder.AddEndpoint(Endpoints[47]); + builder.AddEndpoint(Endpoints[48]); + builder.AddEndpoint(Endpoints[49]); + builder.AddEndpoint(Endpoints[50]); + builder.AddEndpoint(Endpoints[51]); + builder.AddEndpoint(Endpoints[52]); + builder.AddEndpoint(Endpoints[53]); + builder.AddEndpoint(Endpoints[54]); + builder.AddEndpoint(Endpoints[55]); + builder.AddEndpoint(Endpoints[56]); + builder.AddEndpoint(Endpoints[57]); + builder.AddEndpoint(Endpoints[58]); + builder.AddEndpoint(Endpoints[59]); + builder.AddEndpoint(Endpoints[60]); + builder.AddEndpoint(Endpoints[61]); + builder.AddEndpoint(Endpoints[62]); + builder.AddEndpoint(Endpoints[63]); + builder.AddEndpoint(Endpoints[64]); + builder.AddEndpoint(Endpoints[65]); + builder.AddEndpoint(Endpoints[66]); + builder.AddEndpoint(Endpoints[67]); + builder.AddEndpoint(Endpoints[68]); + builder.AddEndpoint(Endpoints[69]); + builder.AddEndpoint(Endpoints[70]); + builder.AddEndpoint(Endpoints[71]); + builder.AddEndpoint(Endpoints[72]); + builder.AddEndpoint(Endpoints[73]); + builder.AddEndpoint(Endpoints[74]); + builder.AddEndpoint(Endpoints[75]); + builder.AddEndpoint(Endpoints[76]); + builder.AddEndpoint(Endpoints[77]); + builder.AddEndpoint(Endpoints[78]); + builder.AddEndpoint(Endpoints[79]); + builder.AddEndpoint(Endpoints[80]); + builder.AddEndpoint(Endpoints[81]); + builder.AddEndpoint(Endpoints[82]); + builder.AddEndpoint(Endpoints[83]); + builder.AddEndpoint(Endpoints[84]); + builder.AddEndpoint(Endpoints[85]); + builder.AddEndpoint(Endpoints[86]); + builder.AddEndpoint(Endpoints[87]); + builder.AddEndpoint(Endpoints[88]); + builder.AddEndpoint(Endpoints[89]); + builder.AddEndpoint(Endpoints[90]); + builder.AddEndpoint(Endpoints[91]); + builder.AddEndpoint(Endpoints[92]); + builder.AddEndpoint(Endpoints[93]); + builder.AddEndpoint(Endpoints[94]); + builder.AddEndpoint(Endpoints[95]); + builder.AddEndpoint(Endpoints[96]); + builder.AddEndpoint(Endpoints[97]); + builder.AddEndpoint(Endpoints[98]); + builder.AddEndpoint(Endpoints[99]); + builder.AddEndpoint(Endpoints[100]); + builder.AddEndpoint(Endpoints[101]); + builder.AddEndpoint(Endpoints[102]); + builder.AddEndpoint(Endpoints[103]); + builder.AddEndpoint(Endpoints[104]); + builder.AddEndpoint(Endpoints[105]); + builder.AddEndpoint(Endpoints[106]); + builder.AddEndpoint(Endpoints[107]); + builder.AddEndpoint(Endpoints[108]); + builder.AddEndpoint(Endpoints[109]); + builder.AddEndpoint(Endpoints[110]); + builder.AddEndpoint(Endpoints[111]); + builder.AddEndpoint(Endpoints[112]); + builder.AddEndpoint(Endpoints[113]); + builder.AddEndpoint(Endpoints[114]); + builder.AddEndpoint(Endpoints[115]); + builder.AddEndpoint(Endpoints[116]); + builder.AddEndpoint(Endpoints[117]); + builder.AddEndpoint(Endpoints[118]); + builder.AddEndpoint(Endpoints[119]); + builder.AddEndpoint(Endpoints[120]); + builder.AddEndpoint(Endpoints[121]); + builder.AddEndpoint(Endpoints[122]); + builder.AddEndpoint(Endpoints[123]); + builder.AddEndpoint(Endpoints[124]); + builder.AddEndpoint(Endpoints[125]); + builder.AddEndpoint(Endpoints[126]); + builder.AddEndpoint(Endpoints[127]); + builder.AddEndpoint(Endpoints[128]); + builder.AddEndpoint(Endpoints[129]); + builder.AddEndpoint(Endpoints[130]); + builder.AddEndpoint(Endpoints[131]); + builder.AddEndpoint(Endpoints[132]); + builder.AddEndpoint(Endpoints[133]); + builder.AddEndpoint(Endpoints[134]); + builder.AddEndpoint(Endpoints[135]); + builder.AddEndpoint(Endpoints[136]); + builder.AddEndpoint(Endpoints[137]); + builder.AddEndpoint(Endpoints[138]); + builder.AddEndpoint(Endpoints[139]); + builder.AddEndpoint(Endpoints[140]); + builder.AddEndpoint(Endpoints[141]); + builder.AddEndpoint(Endpoints[142]); + builder.AddEndpoint(Endpoints[143]); + builder.AddEndpoint(Endpoints[144]); + builder.AddEndpoint(Endpoints[145]); + builder.AddEndpoint(Endpoints[146]); + builder.AddEndpoint(Endpoints[147]); + builder.AddEndpoint(Endpoints[148]); + builder.AddEndpoint(Endpoints[149]); + builder.AddEndpoint(Endpoints[150]); + builder.AddEndpoint(Endpoints[151]); + builder.AddEndpoint(Endpoints[152]); + builder.AddEndpoint(Endpoints[153]); + builder.AddEndpoint(Endpoints[154]); + return builder.Build(); + } + } +} \ No newline at end of file diff --git a/benchmarks/Microsoft.AspNetCore.Routing.Performance/Matchers/MatcherSelectCandidatesSingleEntryBenchmark.cs b/benchmarks/Microsoft.AspNetCore.Routing.Performance/Matchers/MatcherSelectCandidatesSingleEntryBenchmark.cs new file mode 100644 index 0000000000..a04925b3b1 --- /dev/null +++ b/benchmarks/Microsoft.AspNetCore.Routing.Performance/Matchers/MatcherSelectCandidatesSingleEntryBenchmark.cs @@ -0,0 +1,63 @@ +// Copyright (c) .NET Foundation. All rights reserved. +// Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information. + +using System; +using BenchmarkDotNet.Attributes; +using Microsoft.AspNetCore.Http; + +namespace Microsoft.AspNetCore.Routing.Matchers +{ + public class MatcherSelectCandidatesSingleEntryBenchmark : MatcherBenchmarkBase + { + private TrivialMatcher _baseline; + private DfaMatcher _dfa; + + [GlobalSetup] + public void Setup() + { + Endpoints = new MatcherEndpoint[1]; + Endpoints[0] = CreateEndpoint("/plaintext"); + + Requests = new HttpContext[1]; + Requests[0] = new DefaultHttpContext(); + Requests[0].RequestServices = CreateServices(); + Requests[0].Request.Path = "/plaintext"; + + _baseline = (TrivialMatcher)SetupMatcher(new TrivialMatcherBuilder()); + _dfa = (DfaMatcher)SetupMatcher(new DfaMatcherBuilder()); + } + + private Matcher SetupMatcher(MatcherBuilder builder) + { + builder.AddEndpoint(Endpoints[0]); + return builder.Build(); + } + + [Benchmark(Baseline = true)] + public void Baseline() + { + var httpContext = Requests[0]; + var path = httpContext.Request.Path.Value; + var segments = new ReadOnlySpan(Array.Empty()); + + var candidates = _baseline.SelectCandidates(path, segments); + + var endpoint = candidates.Candidates[0].Endpoint; + Validate(Requests[0], Endpoints[0], endpoint); + } + + [Benchmark] + public void Dfa() + { + var httpContext = Requests[0]; + var path = httpContext.Request.Path.Value; + Span segments = stackalloc PathSegment[FastPathTokenizer.DefaultSegmentCount]; + var count = FastPathTokenizer.Tokenize(path, segments); + + var candidates = _dfa.SelectCandidates(path, segments.Slice(0, count)); + + var endpoint = candidates.Candidates[0].Endpoint; + Validate(Requests[0], Endpoints[0], endpoint); + } + } +} diff --git a/benchmarks/Microsoft.AspNetCore.Routing.Performance/Matchers/MatcherSelectCandidatesSmallEntryCountBenchmark.cs b/benchmarks/Microsoft.AspNetCore.Routing.Performance/Matchers/MatcherSelectCandidatesSmallEntryCountBenchmark.cs new file mode 100644 index 0000000000..491a64a61f --- /dev/null +++ b/benchmarks/Microsoft.AspNetCore.Routing.Performance/Matchers/MatcherSelectCandidatesSmallEntryCountBenchmark.cs @@ -0,0 +1,99 @@ +// Copyright (c) .NET Foundation. All rights reserved. +// Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information. + +using System; +using BenchmarkDotNet.Attributes; +using Microsoft.AspNetCore.Http; + +namespace Microsoft.AspNetCore.Routing.Matchers +{ + public class MatcherSelectCandidatesSmallEntryCountBenchmark : MatcherBenchmarkBase + { + private TrivialMatcher _baseline; + private DfaMatcher _dfa; + + private EndpointFeature _feature; + + [GlobalSetup] + public void Setup() + { + SetupEndpoints(); + + SetupRequests(); + + _baseline = (TrivialMatcher)SetupMatcher(new TrivialMatcherBuilder()); + _dfa = (DfaMatcher)SetupMatcher(new DfaMatcherBuilder()); + + _feature = new EndpointFeature(); + } + + private void SetupEndpoints() + { + Endpoints = new MatcherEndpoint[10]; + Endpoints[0] = CreateEndpoint("/another-really-cool-entry"); + Endpoints[1] = CreateEndpoint("/Some-Entry"); + Endpoints[2] = CreateEndpoint("/a/path/with/more/segments"); + Endpoints[3] = CreateEndpoint("/random/name"); + Endpoints[4] = CreateEndpoint("/random/name2"); + Endpoints[5] = CreateEndpoint("/random/name3"); + Endpoints[6] = CreateEndpoint("/random/name4"); + Endpoints[7] = CreateEndpoint("/plaintext1"); + Endpoints[8] = CreateEndpoint("/plaintext2"); + Endpoints[9] = CreateEndpoint("/plaintext"); + } + + private void SetupRequests() + { + Requests = new HttpContext[1]; + Requests[0] = new DefaultHttpContext(); + Requests[0].RequestServices = CreateServices(); + Requests[0].Request.Path = "/plaintext"; + } + + // For this case we're specifically targeting the last entry to hit 'worst case' + // performance for the matchers that scale linearly. + private Matcher SetupMatcher(MatcherBuilder builder) + { + builder.AddEndpoint(Endpoints[0]); + builder.AddEndpoint(Endpoints[1]); + builder.AddEndpoint(Endpoints[2]); + builder.AddEndpoint(Endpoints[3]); + builder.AddEndpoint(Endpoints[4]); + builder.AddEndpoint(Endpoints[5]); + builder.AddEndpoint(Endpoints[6]); + builder.AddEndpoint(Endpoints[7]); + builder.AddEndpoint(Endpoints[8]); + builder.AddEndpoint(Endpoints[9]); + return builder.Build(); + } + + [Benchmark(Baseline = true)] + public void Baseline() + { + var httpContext = Requests[0]; + var path = httpContext.Request.Path.Value; + + var segments = new ReadOnlySpan(Array.Empty()); + + var candidates = _baseline.SelectCandidates(path, segments); + + var endpoint = candidates.Candidates[0].Endpoint; + Validate(Requests[0], Endpoints[9], endpoint); + } + + [Benchmark] + public void Dfa() + { + var httpContext = Requests[0]; + var path = httpContext.Request.Path.Value; + + Span segments = stackalloc PathSegment[FastPathTokenizer.DefaultSegmentCount]; + var count = FastPathTokenizer.Tokenize(path, segments); + + var candidates = _dfa.SelectCandidates(path, segments.Slice(0, count)); + + var endpoint = candidates.Candidates[0].Endpoint; + Validate(Requests[0], Endpoints[9], endpoint); + } + } +} diff --git a/benchmarks/Microsoft.AspNetCore.Routing.Performance/Matchers/MatcherSingleEntryBenchmark.cs b/benchmarks/Microsoft.AspNetCore.Routing.Performance/Matchers/MatcherSingleEntryBenchmark.cs new file mode 100644 index 0000000000..9da2025ccf --- /dev/null +++ b/benchmarks/Microsoft.AspNetCore.Routing.Performance/Matchers/MatcherSingleEntryBenchmark.cs @@ -0,0 +1,94 @@ +// Copyright (c) .NET Foundation. All rights reserved. +// Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information. + +using System.Threading.Tasks; +using BenchmarkDotNet.Attributes; +using Microsoft.AspNetCore.Http; + +namespace Microsoft.AspNetCore.Routing.Matchers +{ + // Just like TechEmpower Plaintext + public partial class MatcherSingleEntryBenchmark : MatcherBenchmarkBase + { + private const int SampleCount = 100; + + private BarebonesMatcher _baseline; + private Matcher _dfa; + private Matcher _route; + private Matcher _tree; + + private EndpointFeature _feature; + + [GlobalSetup] + public void Setup() + { + Endpoints = new MatcherEndpoint[1]; + Endpoints[0] = CreateEndpoint("/plaintext"); + + Requests = new HttpContext[1]; + Requests[0] = new DefaultHttpContext(); + Requests[0].RequestServices = CreateServices(); + Requests[0].Request.Path = "/plaintext"; + + _baseline = (BarebonesMatcher)SetupMatcher(new BarebonesMatcherBuilder()); + _dfa = SetupMatcher(new DfaMatcherBuilder()); + _route = SetupMatcher(new RouteMatcherBuilder()); + _tree = SetupMatcher(new TreeRouterMatcherBuilder()); + + _feature = new EndpointFeature(); + } + + private Matcher SetupMatcher(MatcherBuilder builder) + { + builder.AddEndpoint(Endpoints[0]); + return builder.Build(); + } + + [Benchmark(Baseline = true)] + public async Task Baseline() + { + var feature = _feature; + var httpContext = Requests[0]; + + await _baseline.MatchAsync(httpContext, feature); + Validate(httpContext, Endpoints[0], feature.Endpoint); + } + + [Benchmark] + public async Task Dfa() + { + var feature = _feature; + var httpContext = Requests[0]; + + await _dfa.MatchAsync(httpContext, feature); + Validate(httpContext, Endpoints[0], feature.Endpoint); + } + + [Benchmark] + public async Task LegacyTreeRouter() + { + var feature = _feature; + + var httpContext = Requests[0]; + + // This is required to make the legacy router implementation work with dispatcher. + httpContext.Features.Set(feature); + + await _tree.MatchAsync(httpContext, feature); + Validate(httpContext, Endpoints[0], feature.Endpoint); + } + + [Benchmark] + public async Task LegacyRouter() + { + var feature = _feature; + var httpContext = Requests[0]; + + // This is required to make the legacy router implementation work with dispatcher. + httpContext.Features.Set(feature); + + await _route.MatchAsync(httpContext, feature); + Validate(httpContext, Endpoints[0], feature.Endpoint); + } + } +} \ No newline at end of file diff --git a/benchmarks/Microsoft.AspNetCore.Routing.Performance/Matchers/SingleEntryMatcherBenchmark.cs b/benchmarks/Microsoft.AspNetCore.Routing.Performance/Matchers/SingleEntryMatcherBenchmark.cs deleted file mode 100644 index 278597b30e..0000000000 --- a/benchmarks/Microsoft.AspNetCore.Routing.Performance/Matchers/SingleEntryMatcherBenchmark.cs +++ /dev/null @@ -1,84 +0,0 @@ -// Copyright (c) .NET Foundation. All rights reserved. -// Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information. - -using System.Threading.Tasks; -using BenchmarkDotNet.Attributes; -using Microsoft.AspNetCore.Http; - -namespace Microsoft.AspNetCore.Routing.Matchers -{ - public class SingleEntryMatcherBenchmark : MatcherBenchmarkBase - { - private Matcher _baseline; - private Matcher _dfa; - private Matcher _route; - private Matcher _tree; - - private EndpointFeature _feature; - - [GlobalSetup] - public void Setup() - { - _endpoints = new MatcherEndpoint[1]; - _endpoints[0] = CreateEndpoint("/plaintext"); - - _requests = new HttpContext[1]; - _requests[0] = new DefaultHttpContext(); - _requests[0].RequestServices = CreateServices(); - _requests[0].Request.Path = "/plaintext"; - - _baseline = SetupMatcher(new TrivialMatcherBuilder()); - _dfa = SetupMatcher(new DfaMatcherBuilder()); - _route = SetupMatcher(new RouteMatcherBuilder()); - _tree = SetupMatcher(new TreeRouterMatcherBuilder()); - - _feature = new EndpointFeature(); - } - - private Matcher SetupMatcher(MatcherBuilder builder) - { - builder.AddEndpoint(_endpoints[0]); - return builder.Build(); - } - - [Benchmark(Baseline = true)] - public async Task Baseline() - { - var feature = _feature; - await _baseline.MatchAsync(_requests[0], feature); - Validate(_requests[0], _endpoints[0], feature.Endpoint); - } - - [Benchmark] - public async Task Dfa() - { - var feature = _feature; - await _dfa.MatchAsync(_requests[0], feature); - Validate(_requests[0], _endpoints[0], feature.Endpoint); - } - - [Benchmark] - public async Task LegacyRoute() - { - var feature = _feature; - - // This is required to make the legacy router implementation work with dispatcher. - _requests[0].Features.Set(feature); - - await _route.MatchAsync(_requests[0], feature); - Validate(_requests[0], _endpoints[0], feature.Endpoint); - } - - [Benchmark] - public async Task LegacyTreeRouter() - { - var feature = _feature; - - // This is required to make the legacy router implementation work with dispatcher. - _requests[0].Features.Set(feature); - - await _tree.MatchAsync(_requests[0], feature); - Validate(_requests[0], _endpoints[0], feature.Endpoint); - } - } -} diff --git a/benchmarks/Microsoft.AspNetCore.Routing.Performance/Matchers/SmallEntryCountLiteralMatcherBenchark.cs b/benchmarks/Microsoft.AspNetCore.Routing.Performance/Matchers/SmallEntryCountLiteralMatcherBenchark.cs deleted file mode 100644 index ed88e69693..0000000000 --- a/benchmarks/Microsoft.AspNetCore.Routing.Performance/Matchers/SmallEntryCountLiteralMatcherBenchark.cs +++ /dev/null @@ -1,114 +0,0 @@ -// Copyright (c) .NET Foundation. All rights reserved. -// Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information. - -using System.Threading.Tasks; -using BenchmarkDotNet.Attributes; -using Microsoft.AspNetCore.Http; - -namespace Microsoft.AspNetCore.Routing.Matchers -{ - public class SmallEntryCountLiteralMatcherBenchark : MatcherBenchmarkBase - { - private Matcher _baseline; - private Matcher _dfa; - private Matcher _route; - private Matcher _tree; - - private EndpointFeature _feature; - - [GlobalSetup] - public void Setup() - { - SetupEndpoints(); - - SetupRequests(); - - _baseline = SetupMatcher(new TrivialMatcherBuilder()); - _dfa = SetupMatcher(new DfaMatcherBuilder()); - _route = SetupMatcher(new RouteMatcherBuilder()); - _tree = SetupMatcher(new TreeRouterMatcherBuilder()); - - _feature = new EndpointFeature(); - } - - private void SetupEndpoints() - { - _endpoints = new MatcherEndpoint[10]; - _endpoints[0] = CreateEndpoint("/another-really-cool-entry"); - _endpoints[1] = CreateEndpoint("/Some-Entry"); - _endpoints[2] = CreateEndpoint("/a/path/with/more/segments"); - _endpoints[3] = CreateEndpoint("/random/name"); - _endpoints[4] = CreateEndpoint("/random/name2"); - _endpoints[5] = CreateEndpoint("/random/name3"); - _endpoints[6] = CreateEndpoint("/random/name4"); - _endpoints[7] = CreateEndpoint("/plaintext1"); - _endpoints[8] = CreateEndpoint("/plaintext2"); - _endpoints[9] = CreateEndpoint("/plaintext"); - } - - private void SetupRequests() - { - _requests = new HttpContext[1]; - _requests[0] = new DefaultHttpContext(); - _requests[0].RequestServices = CreateServices(); - _requests[0].Request.Path = "/plaintext"; - } - - // For this case we're specifically targeting the last entry to hit 'worst case' - // performance for the matchers that scale linearly. - private Matcher SetupMatcher(MatcherBuilder builder) - { - builder.AddEndpoint(_endpoints[0]); - builder.AddEndpoint(_endpoints[1]); - builder.AddEndpoint(_endpoints[2]); - builder.AddEndpoint(_endpoints[3]); - builder.AddEndpoint(_endpoints[4]); - builder.AddEndpoint(_endpoints[5]); - builder.AddEndpoint(_endpoints[6]); - builder.AddEndpoint(_endpoints[7]); - builder.AddEndpoint(_endpoints[8]); - builder.AddEndpoint(_endpoints[9]); - return builder.Build(); - } - - [Benchmark(Baseline = true)] - public async Task Baseline() - { - var feature = _feature; - await _baseline.MatchAsync(_requests[0], feature); - Validate(_requests[0], _endpoints[9], feature.Endpoint); - } - - [Benchmark] - public async Task Dfa() - { - var feature = _feature; - await _dfa.MatchAsync(_requests[0], feature); - Validate(_requests[0], _endpoints[9], feature.Endpoint); - } - - [Benchmark] - public async Task LegacyRoute() - { - var feature = _feature; - - // This is required to make the legacy router implementation work with dispatcher. - _requests[0].Features.Set(feature); - - await _route.MatchAsync(_requests[0], feature); - Validate(_requests[0], _endpoints[9], feature.Endpoint); - } - - [Benchmark] - public async Task LegacyTreeRouter() - { - var feature = _feature; - - // This is required to make the legacy router implementation work with dispatcher. - _requests[0].Features.Set(feature); - - await _tree.MatchAsync(_requests[0], feature); - Validate(_requests[0], _endpoints[9], feature.Endpoint); - } - } -} diff --git a/benchmarks/Microsoft.AspNetCore.Routing.Performance/Matchers/TrivialMatcher.cs b/benchmarks/Microsoft.AspNetCore.Routing.Performance/Matchers/TrivialMatcher.cs index da9aa5fe34..6784f2b190 100644 --- a/benchmarks/Microsoft.AspNetCore.Routing.Performance/Matchers/TrivialMatcher.cs +++ b/benchmarks/Microsoft.AspNetCore.Routing.Performance/Matchers/TrivialMatcher.cs @@ -10,16 +10,23 @@ namespace Microsoft.AspNetCore.Routing.Matchers // A test-only matcher implementation - used as a baseline for simpler // perf tests. The idea with this matcher is that we can cheat on the requirements // to establish a lower bound for perf comparisons. - internal class TrivialMatcher : Matcher + internal sealed class TrivialMatcher : Matcher { private readonly MatcherEndpoint _endpoint; + private readonly CandidateSet _candidates; public TrivialMatcher(MatcherEndpoint endpoint) { _endpoint = endpoint; + + _candidates = new CandidateSet( + new Candidate[] { new Candidate(endpoint), }, + + // Single candidate group that contains one entry. + CandidateSet.MakeGroups(new[] { 1 })); } - public override Task MatchAsync(HttpContext httpContext, IEndpointFeature feature) + public sealed override Task MatchAsync(HttpContext httpContext, IEndpointFeature feature) { if (httpContext == null) { @@ -40,5 +47,16 @@ namespace Microsoft.AspNetCore.Routing.Matchers return Task.CompletedTask; } + + // This is here so this can be tested alongside DFA matcher. + internal CandidateSet SelectCandidates(string path, ReadOnlySpan segments) + { + if (string.Equals(_endpoint.Template, path, StringComparison.OrdinalIgnoreCase)) + { + return _candidates; + } + + return CandidateSet.Empty; + } } } diff --git a/benchmarks/Microsoft.AspNetCore.Routing.Performance/Microsoft.AspNetCore.Routing.Performance.csproj b/benchmarks/Microsoft.AspNetCore.Routing.Performance/Microsoft.AspNetCore.Routing.Performance.csproj index 145966eafb..17f2c89904 100644 --- a/benchmarks/Microsoft.AspNetCore.Routing.Performance/Microsoft.AspNetCore.Routing.Performance.csproj +++ b/benchmarks/Microsoft.AspNetCore.Routing.Performance/Microsoft.AspNetCore.Routing.Performance.csproj @@ -18,6 +18,7 @@ for perf comparisons. --> + Matchers\MatcherBuilder.cs @@ -33,6 +34,7 @@ Matchers\DfaMatcherBuilder.cs + Matchers\RouteMatcher.cs diff --git a/src/Microsoft.AspNetCore.Routing/Matchers/FastPathTokenizer.cs b/src/Microsoft.AspNetCore.Routing/Matchers/FastPathTokenizer.cs index f245748e43..98ed984795 100644 --- a/src/Microsoft.AspNetCore.Routing/Matchers/FastPathTokenizer.cs +++ b/src/Microsoft.AspNetCore.Routing/Matchers/FastPathTokenizer.cs @@ -9,18 +9,28 @@ namespace Microsoft.AspNetCore.Routing.Matchers // to PathTokenizer. internal static class FastPathTokenizer { + // The default limit for the number of segments we tokenize. + // + // Historically the limit on the number of segments routing supports is 28. + // RoutePrecedence computes precedence based on a decimal, which supports 28 + // or 29 digits. + // + // So setting this limit to 32 should work pretty well. We also expect the tokenizer + // to be used with stackalloc, so we want a small number. + public const int DefaultSegmentCount = 32; + // This section tokenizes the path by marking the sequence of slashes, and their // and the length of the text between them. // // If there is residue (text after last slash) then the length of the segment will // computed based on the string length. - public static unsafe int Tokenize(string path, PathSegment* segments, int maxCount) + public static int Tokenize(string path, Span segments) { int count = 0; int start = 1; // Paths always start with a leading / int end; var span = path.AsSpan(start); - while ((end = span.IndexOf('/')) >= 0 && count < maxCount) + while ((end = span.IndexOf('/')) >= 0 && count < segments.Length) { segments[count++] = new PathSegment(start, end); start += end + 1; // resume search after the current character @@ -29,7 +39,7 @@ namespace Microsoft.AspNetCore.Routing.Matchers // Residue var length = span.Length; - if (length > 0 && count < maxCount) + if (length > 0 && count < segments.Length) { segments[count++] = new PathSegment(start, length); } diff --git a/src/Microsoft.AspNetCore.Routing/Matchers/ZeroEntryJumpTable.cs b/src/Microsoft.AspNetCore.Routing/Matchers/ZeroEntryJumpTable.cs index a809801a9f..2c5e271a29 100644 --- a/src/Microsoft.AspNetCore.Routing/Matchers/ZeroEntryJumpTable.cs +++ b/src/Microsoft.AspNetCore.Routing/Matchers/ZeroEntryJumpTable.cs @@ -14,7 +14,7 @@ namespace Microsoft.AspNetCore.Routing.Matchers _exitDestination = exitDestination; } - public unsafe override int GetDestination(string path, PathSegment segment) + public override int GetDestination(string path, PathSegment segment) { return segment.Length == 0 ? _exitDestination : _defaultDestination; } diff --git a/test/Microsoft.AspNetCore.Routing.Tests/Matchers/BarebonesMatcher.cs b/test/Microsoft.AspNetCore.Routing.Tests/Matchers/BarebonesMatcher.cs index 9a29897fe5..68a6763606 100644 --- a/test/Microsoft.AspNetCore.Routing.Tests/Matchers/BarebonesMatcher.cs +++ b/test/Microsoft.AspNetCore.Routing.Tests/Matchers/BarebonesMatcher.cs @@ -12,11 +12,11 @@ namespace Microsoft.AspNetCore.Routing.Matchers // to establish a lower bound for perf comparisons. internal class BarebonesMatcher : Matcher { - public readonly InnerMatcher[] _matchers; + public readonly InnerMatcher[] Matchers; public BarebonesMatcher(InnerMatcher[] matchers) { - _matchers = matchers; + Matchers = matchers; } public override Task MatchAsync(HttpContext httpContext, IEndpointFeature feature) @@ -31,11 +31,11 @@ namespace Microsoft.AspNetCore.Routing.Matchers throw new ArgumentNullException(nameof(feature)); } - for (var i = 0; i < _matchers.Length; i++) + for (var i = 0; i < Matchers.Length; i++) { - if (_matchers[i].TryMatch(httpContext, feature)) + if (Matchers[i].TryMatch(httpContext.Request.Path.Value)) { - feature.Endpoint = _matchers[i]._endpoint; + feature.Endpoint = Matchers[i].Endpoint; feature.Values = new RouteValueDictionary(); } } @@ -45,21 +45,27 @@ namespace Microsoft.AspNetCore.Routing.Matchers public sealed class InnerMatcher : Matcher { + public readonly MatcherEndpoint Endpoint; + private readonly string[] _segments; - public readonly MatcherEndpoint _endpoint; + private readonly CandidateSet _candidates; public InnerMatcher(string[] segments, MatcherEndpoint endpoint) { _segments = segments; - _endpoint = endpoint; + Endpoint = endpoint; + + _candidates = new CandidateSet( + new Candidate[] { new Candidate(endpoint), }, + + // Single candidate group that contains one entry. + CandidateSet.MakeGroups(new[] { 1 })); } - public bool TryMatch(HttpContext httpContext, IEndpointFeature feature) + public bool TryMatch(string path) { var segment = 0; - var path = httpContext.Request.Path.Value; - var start = 1; // PathString always has a leading slash var end = 0; while ((end = path.IndexOf('/', start)) >= 0) @@ -67,7 +73,7 @@ namespace Microsoft.AspNetCore.Routing.Matchers var comparand = _segments.Length > segment ? _segments[segment] : null; if ((comparand == null && end - start == 0) || (comparand != null && - (comparand.Length != end - start || + (comparand.Length != end - start || string.Compare( path, start, @@ -78,7 +84,7 @@ namespace Microsoft.AspNetCore.Routing.Matchers { return false; } - + start = end + 1; segment++; } @@ -107,11 +113,21 @@ namespace Microsoft.AspNetCore.Routing.Matchers return segment == _segments.Length; } + internal CandidateSet SelectCandidates(string path, ReadOnlySpan segments) + { + if (TryMatch(path)) + { + return _candidates; + } + + return CandidateSet.Empty; + } + public override Task MatchAsync(HttpContext httpContext, IEndpointFeature feature) { - if (TryMatch(httpContext, feature)) + if (TryMatch(httpContext.Request.Path.Value)) { - feature.Endpoint = _endpoint; + feature.Endpoint = Endpoint; feature.Values = new RouteValueDictionary(); } @@ -119,4 +135,4 @@ namespace Microsoft.AspNetCore.Routing.Matchers } } } -} +} \ No newline at end of file diff --git a/test/Microsoft.AspNetCore.Routing.Tests/Matchers/Candidate.cs b/test/Microsoft.AspNetCore.Routing.Tests/Matchers/Candidate.cs new file mode 100644 index 0000000000..dc768ef113 --- /dev/null +++ b/test/Microsoft.AspNetCore.Routing.Tests/Matchers/Candidate.cs @@ -0,0 +1,28 @@ +// Copyright (c) .NET Foundation. All rights reserved. +// Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information. + +using System; + +namespace Microsoft.AspNetCore.Routing.Matchers +{ + // This is not yet fleshed out - consider this part of the + // work-in-progress definition of CandidateSet. + internal readonly struct Candidate + { + public readonly MatcherEndpoint Endpoint; + + public readonly string[] Parameters; + + public Candidate(MatcherEndpoint endpoint) + { + Endpoint = endpoint; + Parameters = Array.Empty(); + } + + public Candidate(MatcherEndpoint endpoint, string[] parameters) + { + Endpoint = endpoint; + Parameters = parameters; + } + } +} diff --git a/test/Microsoft.AspNetCore.Routing.Tests/Matchers/CandidateSet.cs b/test/Microsoft.AspNetCore.Routing.Tests/Matchers/CandidateSet.cs new file mode 100644 index 0000000000..4814082eb7 --- /dev/null +++ b/test/Microsoft.AspNetCore.Routing.Tests/Matchers/CandidateSet.cs @@ -0,0 +1,59 @@ +// Copyright (c) .NET Foundation. All rights reserved. +// Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information. + +using System; + +namespace Microsoft.AspNetCore.Routing.Matchers +{ + // This is not yet fleshed out - this is a work in progress to + // unblock the benchmarks. + internal class CandidateSet + { + public static readonly CandidateSet Empty = new CandidateSet(Array.Empty(), Array.Empty()); + + // The array of candidates. + public readonly Candidate[] Candidates; + + // The number of groups. + public readonly int GroupCount; + + // The array of groups. Groups define a contiguous sets of indices into + // the candidates array. + // + // The groups array always contains N+1 entries where N is the number of groups. + // The extra array entry is there to make indexing easier, so we can lookup the 'end' + // of the last group without branching. + // + // Example: + // Group0: Candidates[0], Candidates[1] + // Group1: Candidates[2], Candidates[3], Candidates[4] + // + // The groups array would look like: { 0, 2, 5, } + public readonly int[] Groups; + + public CandidateSet(Candidate[] candidates, int[] groups) + { + Candidates = candidates; + Groups = groups; + + GroupCount = groups.Length == 0 ? 0 : groups.Length - 1; + } + + // See description on Groups. + public static int[] MakeGroups(int[] lengths) + { + var groups = new int[lengths.Length + 1]; + + var sum = 0; + for (var i = 0; i < lengths.Length; i++) + { + groups[i] = sum; + sum += lengths[i]; + } + + groups[lengths.Length] = sum; + + return groups; + } + } +} diff --git a/test/Microsoft.AspNetCore.Routing.Tests/Matchers/DfaMatcher.cs b/test/Microsoft.AspNetCore.Routing.Tests/Matchers/DfaMatcher.cs index 58808ab857..429c34f07e 100644 --- a/test/Microsoft.AspNetCore.Routing.Tests/Matchers/DfaMatcher.cs +++ b/test/Microsoft.AspNetCore.Routing.Tests/Matchers/DfaMatcher.cs @@ -3,8 +3,10 @@ using System; using System.Collections.Generic; +using System.Diagnostics; using System.Threading.Tasks; using Microsoft.AspNetCore.Http; +using Microsoft.AspNetCore.Routing.EndpointConstraints; namespace Microsoft.AspNetCore.Routing.Matchers { @@ -17,7 +19,7 @@ namespace Microsoft.AspNetCore.Routing.Matchers _states = states; } - public unsafe override Task MatchAsync(HttpContext httpContext, IEndpointFeature feature) + public override Task MatchAsync(HttpContext httpContext, IEndpointFeature feature) { if (httpContext == null) { @@ -29,45 +31,52 @@ namespace Microsoft.AspNetCore.Routing.Matchers throw new ArgumentNullException(nameof(feature)); } - var states = _states; - var current = 0; - var path = httpContext.Request.Path.Value; - var buffer = stackalloc PathSegment[32]; - var count = FastPathTokenizer.Tokenize(path, buffer, 32); - - for (var i = 0; i < count; i++) - { - current = states[current].Transitions.GetDestination(path, buffer[i]); - } + Span segments = stackalloc PathSegment[FastPathTokenizer.DefaultSegmentCount]; + var count = FastPathTokenizer.Tokenize(path, segments); + + var candidates = SelectCandidates(path, segments.Slice(0, count)); var matches = new List<(Endpoint, RouteValueDictionary)>(); - var candidates = states[current].Matches; - for (var i = 0; i < candidates.Length; i++) + // This code ignores groups for right now. + for (var i = 0; i < candidates.Candidates.Length; i++) { + var isMatch = true; + + var candidate = candidates.Candidates[i]; var values = new RouteValueDictionary(); - var parameters = candidates[i].Parameters; + var parameters = candidate.Parameters; if (parameters != null) { for (var j = 0; j < parameters.Length; j++) { var parameter = parameters[j]; - if (parameter != null && buffer[j].Length == 0) + if (parameter != null && segments[j].Length == 0) { - goto notmatch; + isMatch = false; + break; } else if (parameter != null) { - var value = path.Substring(buffer[j].Start, buffer[j].Length); + var value = path.Substring(segments[j].Start, segments[j].Length); values.Add(parameter, value); } } } - matches.Add((candidates[i].Endpoint, values)); + // This is some super super temporary code so we can pass the benchmarks + // that do HTTP method matching. + var httpMethodConstraint = candidate.Endpoint.Metadata.GetMetadata(); + if (httpMethodConstraint != null && !MatchHttpMethod(httpContext.Request.Method, httpMethodConstraint)) + { + isMatch = false; + } - notmatch: ; + if (isMatch) + { + matches.Add((candidate.Endpoint, values)); + } } feature.Endpoint = matches.Count == 0 ? null : matches[0].Item1; @@ -76,17 +85,50 @@ namespace Microsoft.AspNetCore.Routing.Matchers return Task.CompletedTask; } - public struct State + // This is some super super temporary code so we can pass the benchmarks + // that do HTTP method matching. + private bool MatchHttpMethod(string httpMethod, HttpMethodEndpointConstraint constraint) { - public bool IsAccepting; - public Candidate[] Matches; - public JumpTable Transitions; + foreach (var supportedHttpMethod in constraint.HttpMethods) + { + if (string.Equals(supportedHttpMethod, httpMethod, StringComparison.OrdinalIgnoreCase)) + { + return true; + } + } + + return false; } - public struct Candidate + public CandidateSet SelectCandidates(string path, ReadOnlySpan segments) { - public Endpoint Endpoint; - public string[] Parameters; + var states = _states; + var current = 0; + + for (var i = 0; i < segments.Length; i++) + { + current = states[current].Transitions.GetDestination(path, segments[i]); + } + + return states[current].Candidates; + } + + [DebuggerDisplay("{DebuggerToString(),nq}")] + public readonly struct State + { + public readonly CandidateSet Candidates; + public readonly JumpTable Transitions; + + public State(CandidateSet candidates, JumpTable transitions) + { + Candidates = candidates; + Transitions = transitions; + } + + public string DebuggerToString() + { + return $"m: {Candidates.Candidates?.Length ?? 0}, j: ({Transitions?.DebuggerToString()})"; + } } } } diff --git a/test/Microsoft.AspNetCore.Routing.Tests/Matchers/DfaMatcherBuilder.cs b/test/Microsoft.AspNetCore.Routing.Tests/Matchers/DfaMatcherBuilder.cs index 092aa8b96b..cdfe233a7d 100644 --- a/test/Microsoft.AspNetCore.Routing.Tests/Matchers/DfaMatcherBuilder.cs +++ b/test/Microsoft.AspNetCore.Routing.Tests/Matchers/DfaMatcherBuilder.cs @@ -13,23 +13,17 @@ namespace Microsoft.AspNetCore.Routing.Matchers { internal class DfaMatcherBuilder : MatcherBuilder { - private List _entries = new List(); + private List _entries = new List(); public override void AddEndpoint(MatcherEndpoint endpoint) { var parsed = TemplateParser.Parse(endpoint.Template); - _entries.Add(new Entry() - { - Order = 0, - Pattern = parsed, - Precedence = RoutePrecedence.ComputeInbound(parsed), - Endpoint = endpoint, - }); + _entries.Add(new MatcherBuilderEntry(endpoint)); } public override Matcher Build() { - Sort(_entries); + _entries.Sort(); var root = new Node() { Depth = -1 }; @@ -108,7 +102,7 @@ namespace Microsoft.AspNetCore.Routing.Matchers AddNode(root, states, tables); var exit = states.Count; - states.Add(new State() { IsAccepting = false, Matches = Array.Empty(), }); + states.Add(new State(CandidateSet.Empty, null)); tables.Add(new JumpTableBuilder() { DefaultDestination = exit, ExitDestination = exit, }); for (var i = 0; i < tables.Count; i++) @@ -126,12 +120,7 @@ namespace Microsoft.AspNetCore.Routing.Matchers for (var i = 0; i < states.Count; i++) { - states[i] = new State() - { - IsAccepting = states[i].IsAccepting, - Matches = states[i].Matches, - Transitions = tables[i].Build(), - }; + states[i] = new State(states[i].Candidates, tables[i].Build()); } return new DfaMatcher(states.ToArray()); @@ -154,14 +143,18 @@ namespace Microsoft.AspNetCore.Routing.Matchers private static int AddNode(Node node, List states, List tables) { - Sort(node.Matches); + node.Matches.Sort(); var index = states.Count; - states.Add(new State() - { - Matches = node.Matches.Select(CreateCandidate).ToArray(), - IsAccepting = node.Matches.Count > 0, - }); + + // This is just temporary. This code ignores groups for now, and creates + // a single group with all matches. + var candidates = new CandidateSet( + node.Matches.Select(CreateCandidate).ToArray(), + CandidateSet.MakeGroups(new int[] { node.Matches.Count, })); + + // JumpTable temporarily null. Will be patched later. + states.Add(new State(candidates, null)); var table = new JumpTableBuilder(); tables.Add(table); @@ -187,33 +180,12 @@ namespace Microsoft.AspNetCore.Routing.Matchers return index; } - private static Candidate CreateCandidate(Entry entry) + private static Candidate CreateCandidate(MatcherBuilderEntry entry) { - return new Candidate() - { - Endpoint = entry.Endpoint, - Parameters = entry.Pattern.Segments.Select(s => s.IsSimple && s.Parts[0].IsParameter ? s.Parts[0].Name : null).ToArray(), - }; - } - - private static void Sort(List entries) - { - entries.Sort((x, y) => - { - var comparison = x.Order.CompareTo(y.Order); - if (comparison != 0) - { - return comparison; - } - - comparison = x.Precedence.CompareTo(y.Precedence); - if (comparison != 0) - { - return comparison; - } - - return x.Pattern.TemplateText.CompareTo(y.Pattern.TemplateText); - }); + var parameters = entry.Pattern.Segments + .Select(s => s.IsSimple && s.Parts[0].IsParameter ? s.Parts[0].Name : null) + .ToArray(); + return new Candidate(entry.Endpoint, parameters); } private static Node DeepCopy(Node node) @@ -229,20 +201,12 @@ namespace Microsoft.AspNetCore.Routing.Matchers return node; } - private class Entry - { - public int Order; - public decimal Precedence; - public RouteTemplate Pattern; - public Endpoint Endpoint; - } - [DebuggerDisplay("{DebuggerToString(),nq}")] private class Node { public int Depth { get; set; } - public List Matches { get; } = new List(); + public List Matches { get; } = new List(); public Dictionary Literals { get; } = new Dictionary(StringComparer.OrdinalIgnoreCase); diff --git a/test/Microsoft.AspNetCore.Routing.Tests/Matchers/FastPathTokenizerTest.cs b/test/Microsoft.AspNetCore.Routing.Tests/Matchers/FastPathTokenizerTest.cs index c13b72bd71..325e1c5489 100644 --- a/test/Microsoft.AspNetCore.Routing.Tests/Matchers/FastPathTokenizerTest.cs +++ b/test/Microsoft.AspNetCore.Routing.Tests/Matchers/FastPathTokenizerTest.cs @@ -1,20 +1,21 @@ // Copyright (c) .NET Foundation. All rights reserved. // Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information. +using System; using Xunit; namespace Microsoft.AspNetCore.Routing.Matchers { - public unsafe class FastPathTokenizerTest + public class FastPathTokenizerTest { [Fact] // Note: tokenizing a truly empty string is undefined. public void Tokenize_EmptyPath() { // Arrange - var segments = stackalloc PathSegment[32]; + Span segments = stackalloc PathSegment[1]; // Act - var count = FastPathTokenizer.Tokenize("/", segments, 1); + var count = FastPathTokenizer.Tokenize("/", segments); // Assert Assert.Equal(0, count); @@ -24,10 +25,10 @@ namespace Microsoft.AspNetCore.Routing.Matchers public void Tokenize_SingleSegment() { // Arrange - var segments = stackalloc PathSegment[32]; + Span segments = stackalloc PathSegment[1]; // Act - var count = FastPathTokenizer.Tokenize("/abc", segments, 1); + var count = FastPathTokenizer.Tokenize("/abc", segments); // Assert Assert.Equal(1, count); @@ -38,10 +39,10 @@ namespace Microsoft.AspNetCore.Routing.Matchers public void Tokenize_WithSomeSegments() { // Arrange - var segments = stackalloc PathSegment[32]; + Span segments = stackalloc PathSegment[3]; // Act - var count = FastPathTokenizer.Tokenize("/a/b/c", segments, 3); + var count = FastPathTokenizer.Tokenize("/a/b/c", segments); // Assert Assert.Equal(3, count); @@ -54,10 +55,10 @@ namespace Microsoft.AspNetCore.Routing.Matchers public void Tokenize_WithSomeSegments_TrailingSlash() { // Arrange - var segments = stackalloc PathSegment[32]; + Span segments = stackalloc PathSegment[3]; // Act - var count = FastPathTokenizer.Tokenize("/a/b/c/", segments, 3); + var count = FastPathTokenizer.Tokenize("/a/b/c/", segments); // Assert Assert.Equal(3, count); @@ -70,10 +71,10 @@ namespace Microsoft.AspNetCore.Routing.Matchers public void Tokenize_LongerSegments() { // Arrange - var segments = stackalloc PathSegment[32]; + Span segments = stackalloc PathSegment[3]; // Act - var count = FastPathTokenizer.Tokenize("/aaa/bb/ccccc", segments, 3); + var count = FastPathTokenizer.Tokenize("/aaa/bb/ccccc", segments); // Assert Assert.Equal(3, count); @@ -86,10 +87,10 @@ namespace Microsoft.AspNetCore.Routing.Matchers public void Tokenize_EmptySegments() { // Arrange - var segments = stackalloc PathSegment[32]; + Span segments = stackalloc PathSegment[3]; // Act - var count = FastPathTokenizer.Tokenize("///c", segments, 3); + var count = FastPathTokenizer.Tokenize("///c", segments); // Assert Assert.Equal(3, count); @@ -102,10 +103,10 @@ namespace Microsoft.AspNetCore.Routing.Matchers public void Tokenize_TooManySegments() { // Arrange - var segments = stackalloc PathSegment[32]; + Span segments = stackalloc PathSegment[3]; // Act - var count = FastPathTokenizer.Tokenize("/a/b/c/d", segments, 3); + var count = FastPathTokenizer.Tokenize("/a/b/c/d", segments); // Assert Assert.Equal(3, count); diff --git a/test/Microsoft.AspNetCore.Routing.Tests/Matchers/MatcherBuilderEntry.cs b/test/Microsoft.AspNetCore.Routing.Tests/Matchers/MatcherBuilderEntry.cs new file mode 100644 index 0000000000..ba84ac7b44 --- /dev/null +++ b/test/Microsoft.AspNetCore.Routing.Tests/Matchers/MatcherBuilderEntry.cs @@ -0,0 +1,58 @@ +// Copyright (c) .NET Foundation. All rights reserved. +// Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information. + +using System; +using System.Linq; +using Microsoft.AspNetCore.Routing.EndpointConstraints; +using Microsoft.AspNetCore.Routing.Template; + +namespace Microsoft.AspNetCore.Routing.Matchers +{ + internal class MatcherBuilderEntry : IComparable + { + public MatcherBuilderEntry(MatcherEndpoint endpoint) + { + Endpoint = endpoint; + + HttpMethod = endpoint.Metadata + .OfType() + .FirstOrDefault()?.HttpMethods.Single(); + Precedence = RoutePrecedence.ComputeInbound(endpoint.ParsedTemplate); + } + + public MatcherEndpoint Endpoint { get; } + + public string HttpMethod { get; } + + public int Order => Endpoint.Order; + + public RouteTemplate Pattern => Endpoint.ParsedTemplate; + + public decimal Precedence { get; } + + public int CompareTo(MatcherBuilderEntry other) + { + var comparison = Order.CompareTo(other.Order); + if (comparison != 0) + { + return comparison; + } + + comparison = Precedence.CompareTo(other.Precedence); + if (comparison != 0) + { + return comparison; + } + + // Treat the presence of an HttpMethod as a boolean for the purposes of + // comparison. We want HttpMethod != null to mean *more specific*. + comparison = (HttpMethod == null).CompareTo(other.HttpMethod == null); + if (comparison != 0) + { + return comparison; + } + + return Pattern.TemplateText.CompareTo(other.Pattern.TemplateText); + } + } +} \ No newline at end of file diff --git a/test/Microsoft.AspNetCore.Routing.Tests/Matchers/RouteMatcherBuilder.cs b/test/Microsoft.AspNetCore.Routing.Tests/Matchers/RouteMatcherBuilder.cs index 7ce7613fe5..523a899b57 100644 --- a/test/Microsoft.AspNetCore.Routing.Tests/Matchers/RouteMatcherBuilder.cs +++ b/test/Microsoft.AspNetCore.Routing.Tests/Matchers/RouteMatcherBuilder.cs @@ -3,8 +3,11 @@ using System; using System.Collections.Generic; +using System.Linq; using System.Threading.Tasks; +using Microsoft.AspNetCore.Routing.EndpointConstraints; using Microsoft.AspNetCore.Routing.Template; +using Microsoft.Extensions.Logging.Abstractions; using Microsoft.Extensions.Options; namespace Microsoft.AspNetCore.Routing.Matchers @@ -12,80 +15,90 @@ namespace Microsoft.AspNetCore.Routing.Matchers internal class RouteMatcherBuilder : MatcherBuilder { private readonly IInlineConstraintResolver _constraintResolver; - private readonly List _entries; + private readonly List _entries; public RouteMatcherBuilder() { _constraintResolver = new DefaultInlineConstraintResolver(Options.Create(new RouteOptions())); - _entries = new List(); + _entries = new List(); } public override void AddEndpoint(MatcherEndpoint endpoint) { - var handler = new RouteHandler(c => - { - c.Features.Get().Endpoint = endpoint; - return Task.CompletedTask; - }); - - // MatcherEndpoint.Values contains the default values parsed from the template - // as well as those specified with a literal. We need to separate those - // for legacy cases. - var defaults = endpoint.Defaults; - for (var i = 0; i < endpoint.ParsedTemplate.Parameters.Count; i++) - { - var parameter = endpoint.ParsedTemplate.Parameters[i]; - if (parameter.DefaultValue != null) - { - defaults.Remove(parameter.Name); - } - } - - _entries.Add(new Entry() - { - Endpoint = endpoint, - Route = new Route( - handler, - endpoint.Template, - defaults, - new Dictionary(), - new RouteValueDictionary(), - _constraintResolver), - }); + _entries.Add(new MatcherBuilderEntry(endpoint)); } public override Matcher Build() { _entries.Sort(); + + var cache = new EndpointConstraintCache( + new CompositeEndpointDataSource(Array.Empty()), + new[] { new DefaultEndpointConstraintProvider(), }); + var selector = new EndpointSelector(null, cache, NullLoggerFactory.Instance); + + var groups = _entries + .GroupBy(e => (e.Order, e.Precedence, e.Endpoint.Template)) + .OrderBy(g => g.Key.Order) + .ThenBy(g => g.Key.Precedence); + var routes = new RouteCollection(); - for (var i = 0; i < _entries.Count; i++) + + foreach (var group in groups) { - routes.Add(_entries[i].Route); + var candidates = group.Select(e => e.Endpoint).ToArray(); + + // MatcherEndpoint.Values contains the default values parsed from the template + // as well as those specified with a literal. We need to separate those + // for legacy cases. + var endpoint = group.First().Endpoint; + var defaults = new RouteValueDictionary(endpoint.Defaults); + for (var i = 0; i < endpoint.ParsedTemplate.Parameters.Count; i++) + { + var parameter = endpoint.ParsedTemplate.Parameters[i]; + if (parameter.DefaultValue != null) + { + defaults.Remove(parameter.Name); + } + } + + routes.Add(new Route( + new SelectorRouter(selector, candidates), + endpoint.Template, + defaults, + new Dictionary(), + new RouteValueDictionary(), + _constraintResolver)); } return new RouteMatcher(routes); } - private struct Entry : IComparable + private class SelectorRouter : IRouter { - public MatcherEndpoint Endpoint; - public Route Route; + private readonly EndpointSelector _selector; + private readonly Endpoint[] _candidates; - public int CompareTo(Entry other) + public SelectorRouter(EndpointSelector selector, Endpoint[] candidates) { - var comparison = Endpoint.Order.CompareTo(other.Endpoint.Order); - if (comparison != 0) - { - return comparison; - } + _selector = selector; + _candidates = candidates; + } - comparison = RoutePrecedence.ComputeInbound(Endpoint.ParsedTemplate).CompareTo(RoutePrecedence.ComputeInbound(other.Endpoint.ParsedTemplate)); - if (comparison != 0) - { - return comparison; - } + public VirtualPathData GetVirtualPath(VirtualPathContext context) + { + throw new NotImplementedException(); + } - return Endpoint.Template.CompareTo(other.Endpoint.Template); + public Task RouteAsync(RouteContext context) + { + var endpoint = _selector.SelectBestCandidate(context.HttpContext, _candidates); + if (endpoint != null) + { + context.HttpContext.Features.Get().Endpoint = endpoint; + context.Handler = (_) => Task.CompletedTask; + } + return Task.CompletedTask; } } } diff --git a/test/Microsoft.AspNetCore.Routing.Tests/Matchers/TreeRouterMatcherBuilder.cs b/test/Microsoft.AspNetCore.Routing.Tests/Matchers/TreeRouterMatcherBuilder.cs index c9f100439f..f6645374eb 100644 --- a/test/Microsoft.AspNetCore.Routing.Tests/Matchers/TreeRouterMatcherBuilder.cs +++ b/test/Microsoft.AspNetCore.Routing.Tests/Matchers/TreeRouterMatcherBuilder.cs @@ -2,8 +2,12 @@ // Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information. using System; +using System.Collections.Generic; +using System.Linq; using System.Threading.Tasks; +using Microsoft.AspNetCore.Routing.EndpointConstraints; using Microsoft.AspNetCore.Routing.Internal; +using Microsoft.AspNetCore.Routing.Template; using Microsoft.AspNetCore.Routing.Tree; using Microsoft.Extensions.Logging.Abstractions; using Microsoft.Extensions.ObjectPool; @@ -13,51 +17,93 @@ namespace Microsoft.AspNetCore.Routing.Matchers { internal class TreeRouterMatcherBuilder : MatcherBuilder { - private readonly TreeRouteBuilder _inner; + private readonly List _entries; public TreeRouterMatcherBuilder() { - _inner = new TreeRouteBuilder( - NullLoggerFactory.Instance, - new DefaultObjectPool(new UriBuilderContextPooledObjectPolicy()), - new DefaultInlineConstraintResolver(Options.Create(new RouteOptions()))); + _entries = new List(); } public override void AddEndpoint(MatcherEndpoint endpoint) { - var handler = new RouteHandler(c => - { - var feature = c.Features.Get(); - feature.Endpoint = endpoint; - feature.Invoker = MatcherEndpoint.EmptyInvoker; - - return Task.CompletedTask; - }); - - // MatcherEndpoint.Values contains the default values parsed from the template - // as well as those specified with a literal. We need to separate those - // for legacy cases. - var defaults = endpoint.Defaults; - for (var i = 0; i < endpoint.ParsedTemplate.Parameters.Count; i++) - { - var parameter = endpoint.ParsedTemplate.Parameters[i]; - if (parameter.DefaultValue == null && defaults.ContainsKey(parameter.Name)) - { - throw new InvalidOperationException( - "The TreeRouter does not support non-inline default values."); - } - } - - _inner.MapInbound( - handler, - endpoint.ParsedTemplate, - routeName: null, - order: endpoint.Order); + _entries.Add(new MatcherBuilderEntry(endpoint)); } public override Matcher Build() { - return new TreeRouterMatcher(_inner.Build()); + _entries.Sort(); + + var builder = new TreeRouteBuilder( + NullLoggerFactory.Instance, + new DefaultObjectPool(new UriBuilderContextPooledObjectPolicy()), + new DefaultInlineConstraintResolver(Options.Create(new RouteOptions()))); + + var cache = new EndpointConstraintCache( + new CompositeEndpointDataSource(Array.Empty()), + new[] { new DefaultEndpointConstraintProvider(), }); + var selector = new EndpointSelector(null, cache, NullLoggerFactory.Instance); + + var groups = _entries + .GroupBy(e => (e.Order, e.Precedence, e.Endpoint.Template)) + .OrderBy(g => g.Key.Order) + .ThenBy(g => g.Key.Precedence); + + var routes = new RouteCollection(); + + foreach (var group in groups) + { + var candidates = group.Select(e => e.Endpoint).ToArray(); + + // MatcherEndpoint.Values contains the default values parsed from the template + // as well as those specified with a literal. We need to separate those + // for legacy cases. + var endpoint = group.First().Endpoint; + var defaults = new RouteValueDictionary(endpoint.Defaults); + for (var i = 0; i < endpoint.ParsedTemplate.Parameters.Count; i++) + { + var parameter = endpoint.ParsedTemplate.Parameters[i]; + if (parameter.DefaultValue != null) + { + defaults.Remove(parameter.Name); + } + } + + builder.MapInbound( + new SelectorRouter(selector, candidates), + endpoint.ParsedTemplate, + routeName: null, + order: endpoint.Order); + } + + return new TreeRouterMatcher(builder.Build()); + } + + private class SelectorRouter : IRouter + { + private readonly EndpointSelector _selector; + private readonly Endpoint[] _candidates; + + public SelectorRouter(EndpointSelector selector, Endpoint[] candidates) + { + _selector = selector; + _candidates = candidates; + } + + public VirtualPathData GetVirtualPath(VirtualPathContext context) + { + throw new NotImplementedException(); + } + + public Task RouteAsync(RouteContext context) + { + var endpoint = _selector.SelectBestCandidate(context.HttpContext, _candidates); + if (endpoint != null) + { + context.HttpContext.Features.Get().Endpoint = endpoint; + context.Handler = (_) => Task.CompletedTask; + } + return Task.CompletedTask; + } } } } From 0cd41c5544dd8cd8ac0b519bf0c65a23e4a46dd1 Mon Sep 17 00:00:00 2001 From: "ASP.NET CI" Date: Sun, 15 Jul 2018 12:26:23 -0700 Subject: [PATCH 070/221] Update dependencies.props [auto-updated: dependencies] --- build/dependencies.props | 58 ++++++++++++++++++++-------------------- 1 file changed, 29 insertions(+), 29 deletions(-) diff --git a/build/dependencies.props b/build/dependencies.props index 27239660c2..63fec59131 100644 --- a/build/dependencies.props +++ b/build/dependencies.props @@ -5,40 +5,40 @@ 0.10.13 2.2.0-preview1-17099 - 2.2.0-preview1-34640 - 2.2.0-preview1-34640 - 2.2.0-preview1-34640 - 2.2.0-preview1-34640 - 2.2.0-preview1-34640 - 2.2.0-preview1-34640 - 2.2.0-preview1-34640 - 2.2.0-preview1-34640 - 2.2.0-preview1-34640 - 2.2.0-preview1-34640 - 2.2.0-preview1-34640 - 2.2.0-preview1-34640 - 2.2.0-preview1-34640 - 2.2.0-preview1-34640 - 2.2.0-preview1-34640 - 2.2.0-preview1-34640 - 2.2.0-preview1-34640 - 2.2.0-preview1-34640 - 2.2.0-preview1-34640 - 2.2.0-preview1-34640 - 2.2.0-preview1-34640 - 2.2.0-preview1-34640 - 2.2.0-preview1-34640 - 2.2.0-preview1-34640 - 2.2.0-preview1-34640 - 2.2.0-preview1-34640 - 2.0.7 - 2.1.1 + 2.2.0-preview1-34694 + 2.2.0-preview1-34694 + 2.2.0-preview1-34694 + 2.2.0-preview1-34694 + 2.2.0-preview1-34694 + 2.2.0-preview1-34694 + 2.2.0-preview1-34694 + 2.2.0-preview1-34694 + 2.2.0-preview1-34694 + 2.2.0-preview1-34694 + 2.2.0-preview1-34694 + 2.2.0-preview1-34694 + 2.2.0-preview1-34694 + 2.2.0-preview1-34694 + 2.2.0-preview1-34694 + 2.2.0-preview1-34694 + 2.2.0-preview1-34694 + 2.2.0-preview1-34694 + 2.2.0-preview1-34694 + 2.2.0-preview1-34694 + 2.2.0-preview1-34694 + 2.2.0-preview1-34694 + 2.2.0-preview1-34694 + 2.2.0-preview1-34694 + 2.2.0-preview1-34694 + 2.2.0-preview1-34694 + 2.0.9 + 2.1.2 2.2.0-preview1-26618-02 15.6.1 4.7.49 2.0.3 11.0.2 - 0.8.0 + 0.9.0 2.3.1 2.4.0-rc.1.build4038 From ad3497dfb906852df80a1ec2be947d97d709429e Mon Sep 17 00:00:00 2001 From: "ASP.NET CI" Date: Sun, 15 Jul 2018 20:10:49 +0000 Subject: [PATCH 071/221] Update dependencies.props [auto-updated: dependencies] --- build/dependencies.props | 60 ++++++++++++++++++++-------------------- korebuild-lock.txt | 4 +-- 2 files changed, 32 insertions(+), 32 deletions(-) diff --git a/build/dependencies.props b/build/dependencies.props index 84b1cd9d49..371d16a6ba 100644 --- a/build/dependencies.props +++ b/build/dependencies.props @@ -4,41 +4,41 @@ 0.10.13 - 3.0.0-alpha1-10005 - 3.0.0-alpha1-10044 - 3.0.0-alpha1-10044 - 3.0.0-alpha1-10044 - 3.0.0-alpha1-10044 - 3.0.0-alpha1-10044 - 3.0.0-alpha1-10044 - 3.0.0-alpha1-10044 - 3.0.0-alpha1-10044 - 3.0.0-alpha1-10044 - 3.0.0-alpha1-10044 - 3.0.0-alpha1-10044 - 3.0.0-alpha1-10044 - 3.0.0-alpha1-10044 - 3.0.0-alpha1-10044 - 3.0.0-alpha1-10044 - 3.0.0-alpha1-10044 - 3.0.0-alpha1-10044 - 3.0.0-alpha1-10044 - 3.0.0-alpha1-10044 - 3.0.0-alpha1-10044 - 3.0.0-alpha1-10044 - 3.0.0-alpha1-10044 - 3.0.0-alpha1-10044 - 3.0.0-alpha1-10044 - 3.0.0-alpha1-10044 - 3.0.0-alpha1-10044 - 2.0.0 - 2.1.0 + 3.0.0-alpha1-10009 + 3.0.0-alpha1-10081 + 3.0.0-alpha1-10081 + 3.0.0-alpha1-10081 + 3.0.0-alpha1-10081 + 3.0.0-alpha1-10081 + 3.0.0-alpha1-10081 + 3.0.0-alpha1-10081 + 3.0.0-alpha1-10081 + 3.0.0-alpha1-10081 + 3.0.0-alpha1-10081 + 3.0.0-alpha1-10081 + 3.0.0-alpha1-10081 + 3.0.0-alpha1-10081 + 3.0.0-alpha1-10081 + 3.0.0-alpha1-10081 + 3.0.0-alpha1-10081 + 3.0.0-alpha1-10081 + 3.0.0-alpha1-10081 + 3.0.0-alpha1-10081 + 3.0.0-alpha1-10081 + 3.0.0-alpha1-10081 + 3.0.0-alpha1-10081 + 3.0.0-alpha1-10081 + 3.0.0-alpha1-10081 + 3.0.0-alpha1-10081 + 3.0.0-alpha1-10081 + 2.0.9 + 2.1.2 2.2.0-preview1-26618-02 15.6.1 4.7.49 2.0.3 11.0.2 - 0.8.0 + 0.9.0 2.3.1 2.4.0-rc.1.build4038 diff --git a/korebuild-lock.txt b/korebuild-lock.txt index f357ac9f7d..4db537685b 100644 --- a/korebuild-lock.txt +++ b/korebuild-lock.txt @@ -1,2 +1,2 @@ -version:3.0.0-alpha1-10005 -commithash:05570853de976a526462ca140a55b1ac59d9a351 +version:3.0.0-alpha1-10009 +commithash:86be4707e47d2f1930a982f2b59eacfc4196da33 From 5f29e8b0627992a79259e3942a1ad5c083bd0340 Mon Sep 17 00:00:00 2001 From: Ryan Nowak Date: Mon, 16 Jul 2018 20:35:55 -0700 Subject: [PATCH 072/221] Hoist path out of loop in BarebonesMatcher This is an oopsie from a previous change. --- .../Matchers/BarebonesMatcher.cs | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/test/Microsoft.AspNetCore.Routing.Tests/Matchers/BarebonesMatcher.cs b/test/Microsoft.AspNetCore.Routing.Tests/Matchers/BarebonesMatcher.cs index 68a6763606..d70cd6eece 100644 --- a/test/Microsoft.AspNetCore.Routing.Tests/Matchers/BarebonesMatcher.cs +++ b/test/Microsoft.AspNetCore.Routing.Tests/Matchers/BarebonesMatcher.cs @@ -31,9 +31,10 @@ namespace Microsoft.AspNetCore.Routing.Matchers throw new ArgumentNullException(nameof(feature)); } + var path = httpContext.Request.Path.Value; for (var i = 0; i < Matchers.Length; i++) { - if (Matchers[i].TryMatch(httpContext.Request.Path.Value)) + if (Matchers[i].TryMatch(path)) { feature.Endpoint = Matchers[i].Endpoint; feature.Values = new RouteValueDictionary(); From 02e1d783191d4983a237300c8fb174a4dd576081 Mon Sep 17 00:00:00 2001 From: Ryan Nowak Date: Mon, 16 Jul 2018 20:29:41 -0700 Subject: [PATCH 073/221] Minor fixes for MatchProcessorFactory Fixing minor issues found doing DFA integration. --- .../Matchers/DefaultMatchProcessorFactory.cs | 20 +++++++++++++------ .../DefaultLinkGeneratorTest.cs | 1 - .../DefaultMatchProcessorFactoryTest.cs | 15 +++++++++++++- .../Matchers/TreeMatcherTests.cs | 1 - 4 files changed, 28 insertions(+), 9 deletions(-) diff --git a/src/Microsoft.AspNetCore.Routing/Matchers/DefaultMatchProcessorFactory.cs b/src/Microsoft.AspNetCore.Routing/Matchers/DefaultMatchProcessorFactory.cs index 5226683626..f4acb68f78 100644 --- a/src/Microsoft.AspNetCore.Routing/Matchers/DefaultMatchProcessorFactory.cs +++ b/src/Microsoft.AspNetCore.Routing/Matchers/DefaultMatchProcessorFactory.cs @@ -3,7 +3,6 @@ using System; using Microsoft.Extensions.DependencyInjection; -using Microsoft.Extensions.Logging; using Microsoft.Extensions.Options; namespace Microsoft.AspNetCore.Routing.Matchers @@ -11,16 +10,13 @@ namespace Microsoft.AspNetCore.Routing.Matchers internal class DefaultMatchProcessorFactory : MatchProcessorFactory { private readonly RouteOptions _options; - private readonly ILogger _logger; private readonly IServiceProvider _serviceProvider; public DefaultMatchProcessorFactory( IOptions options, - ILogger logger, IServiceProvider serviceProvider) { _options = options.Value; - _logger = logger; _serviceProvider = serviceProvider; } @@ -67,13 +63,16 @@ namespace Microsoft.AspNetCore.Routing.Matchers { throw new InvalidOperationException( Resources.FormatDefaultInlineConstraintResolver_TypeNotConstraint( - constraintType, constraintName, typeof(IRouteConstraint).Name)); + constraintType, + constraintName, + typeof(IRouteConstraint).Name)); } try { return CreateMatchProcessorFromRouteConstraint( matchProcessorReference.ParameterName, + matchProcessorReference.Optional, constraintType, constraintArgument); } @@ -91,11 +90,20 @@ namespace Microsoft.AspNetCore.Routing.Matchers private MatchProcessor CreateMatchProcessorFromRouteConstraint( string parameterName, + bool optional, Type constraintType, string constraintArgument) { var routeConstraint = DefaultInlineConstraintResolver.CreateConstraint(constraintType, constraintArgument); - return (new MatchProcessorReference(parameterName, routeConstraint)).MatchProcessor; + var matchProcessor = new MatchProcessorReference(parameterName, routeConstraint).MatchProcessor; + if (optional) + { + matchProcessor = new OptionalMatchProcessor(matchProcessor); + } + + matchProcessor.Initialize(parameterName, constraintArgument); + + return matchProcessor; } private MatchProcessor ResolveMatchProcessor( diff --git a/test/Microsoft.AspNetCore.Routing.Tests/DefaultLinkGeneratorTest.cs b/test/Microsoft.AspNetCore.Routing.Tests/DefaultLinkGeneratorTest.cs index db93c930c5..d73352a9c5 100644 --- a/test/Microsoft.AspNetCore.Routing.Tests/DefaultLinkGeneratorTest.cs +++ b/test/Microsoft.AspNetCore.Routing.Tests/DefaultLinkGeneratorTest.cs @@ -801,7 +801,6 @@ namespace Microsoft.AspNetCore.Routing return new DefaultLinkGenerator( new DefaultMatchProcessorFactory( Options.Create(new RouteOptions()), - NullLogger.Instance, Mock.Of()), new DefaultObjectPool(new UriBuilderContextPooledObjectPolicy()), NullLogger.Instance); diff --git a/test/Microsoft.AspNetCore.Routing.Tests/Matchers/DefaultMatchProcessorFactoryTest.cs b/test/Microsoft.AspNetCore.Routing.Tests/Matchers/DefaultMatchProcessorFactoryTest.cs index 1f89aa1928..5207607531 100644 --- a/test/Microsoft.AspNetCore.Routing.Tests/Matchers/DefaultMatchProcessorFactoryTest.cs +++ b/test/Microsoft.AspNetCore.Routing.Tests/Matchers/DefaultMatchProcessorFactoryTest.cs @@ -56,6 +56,20 @@ namespace Microsoft.AspNetCore.Routing.Matchers Assert.False(isMatch); } + [Fact] + public void Create_CreatesMatchProcessor_FromConstraintText_AndRouteConstraint_Optional() + { + // Arrange + var factory = GetMatchProcessorFactory(); + var matchProcessorReference = new MatchProcessorReference("id", true, "int"); + + // Act + var processor = factory.Create(matchProcessorReference); + + // Assert + Assert.IsType(processor); + } + [Fact] public void Create_CreatesMatchProcessor_FromConstraintText_AndCustomMatchProcessor() { @@ -143,7 +157,6 @@ namespace Microsoft.AspNetCore.Routing.Matchers return new DefaultMatchProcessorFactory( Options.Create(options), - NullLogger.Instance, services.BuildServiceProvider()); } diff --git a/test/Microsoft.AspNetCore.Routing.Tests/Matchers/TreeMatcherTests.cs b/test/Microsoft.AspNetCore.Routing.Tests/Matchers/TreeMatcherTests.cs index e32d4aed76..30639f9e57 100644 --- a/test/Microsoft.AspNetCore.Routing.Tests/Matchers/TreeMatcherTests.cs +++ b/test/Microsoft.AspNetCore.Routing.Tests/Matchers/TreeMatcherTests.cs @@ -33,7 +33,6 @@ namespace Microsoft.AspNetCore.Routing.Matchers var compositeDataSource = new CompositeEndpointDataSource(new[] { endpointDataSource }); var defaultInlineConstraintResolver = new DefaultMatchProcessorFactory( Options.Create(new RouteOptions()), - NullLogger.Instance, Mock.Of()); var endpointSelector = new EndpointSelector( compositeDataSource, From aed2e244831f4aeb3ef5b3b5c33f4a053f70a9a2 Mon Sep 17 00:00:00 2001 From: Kiran Challa Date: Mon, 16 Jul 2018 12:42:03 -0700 Subject: [PATCH 074/221] Allow to pass in HttpContext when generating links --- .../{ILinkGenerator.cs => LinkGenerator.cs} | 9 +- .../DefaultLinkGenerator.cs | 20 +++-- .../DispatcherServiceCollectionExtensions.cs | 2 +- .../DefaultLinkGeneratorTest.cs | 90 +++++++++++++++---- 4 files changed, 93 insertions(+), 28 deletions(-) rename src/Microsoft.AspNetCore.Routing.Abstractions/{ILinkGenerator.cs => LinkGenerator.cs} (71%) diff --git a/src/Microsoft.AspNetCore.Routing.Abstractions/ILinkGenerator.cs b/src/Microsoft.AspNetCore.Routing.Abstractions/LinkGenerator.cs similarity index 71% rename from src/Microsoft.AspNetCore.Routing.Abstractions/ILinkGenerator.cs rename to src/Microsoft.AspNetCore.Routing.Abstractions/LinkGenerator.cs index 22f8547e9c..c507434429 100644 --- a/src/Microsoft.AspNetCore.Routing.Abstractions/ILinkGenerator.cs +++ b/src/Microsoft.AspNetCore.Routing.Abstractions/LinkGenerator.cs @@ -2,18 +2,21 @@ // Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information. using System.Collections.Generic; +using Microsoft.AspNetCore.Http; namespace Microsoft.AspNetCore.Routing { - public interface ILinkGenerator + public abstract class LinkGenerator { - bool TryGetLink( + public abstract bool TryGetLink( + HttpContext httpContext, IEnumerable endpoints, RouteValueDictionary explicitValues, RouteValueDictionary ambientValues, out string link); - string GetLink( + public abstract string GetLink( + HttpContext httpContext, IEnumerable endpoints, RouteValueDictionary explicitValues, RouteValueDictionary ambientValues); diff --git a/src/Microsoft.AspNetCore.Routing/DefaultLinkGenerator.cs b/src/Microsoft.AspNetCore.Routing/DefaultLinkGenerator.cs index e5b5f4ea93..d29b05edcd 100644 --- a/src/Microsoft.AspNetCore.Routing/DefaultLinkGenerator.cs +++ b/src/Microsoft.AspNetCore.Routing/DefaultLinkGenerator.cs @@ -5,6 +5,7 @@ using System; using System.Collections.Generic; using System.Linq; using System.Text.Encodings.Web; +using Microsoft.AspNetCore.Http; using Microsoft.AspNetCore.Routing.Internal; using Microsoft.AspNetCore.Routing.Matchers; using Microsoft.AspNetCore.Routing.Template; @@ -13,7 +14,7 @@ using Microsoft.Extensions.ObjectPool; namespace Microsoft.AspNetCore.Routing { - internal class DefaultLinkGenerator : ILinkGenerator + internal class DefaultLinkGenerator : LinkGenerator { private readonly MatchProcessorFactory _matchProcessorFactory; private readonly ObjectPool _uriBuildingContextPool; @@ -29,12 +30,13 @@ namespace Microsoft.AspNetCore.Routing _logger = logger; } - public string GetLink( + public override string GetLink( + HttpContext httpContext, IEnumerable endpoints, RouteValueDictionary explicitValues, RouteValueDictionary ambientValues) { - if (TryGetLink(endpoints, explicitValues, ambientValues, out var link)) + if (TryGetLink(httpContext, endpoints, explicitValues, ambientValues, out var link)) { return link; } @@ -42,7 +44,8 @@ namespace Microsoft.AspNetCore.Routing throw new InvalidOperationException("Could not find a matching endpoint to generate a link."); } - public bool TryGetLink( + public override bool TryGetLink( + HttpContext httpContext, IEnumerable endpoints, RouteValueDictionary explicitValues, RouteValueDictionary ambientValues, @@ -64,7 +67,7 @@ namespace Microsoft.AspNetCore.Routing foreach (var endpoint in matcherEndpoints) { - link = GetLink(endpoint, explicitValues, ambientValues); + link = GetLink(httpContext, endpoint, explicitValues, ambientValues); if (link != null) { return true; @@ -75,6 +78,7 @@ namespace Microsoft.AspNetCore.Routing } private string GetLink( + HttpContext httpContext, MatcherEndpoint endpoint, RouteValueDictionary explicitValues, RouteValueDictionary ambientValues) @@ -92,7 +96,7 @@ namespace Microsoft.AspNetCore.Routing return null; } - if (!Match(endpoint, templateValuesResult.CombinedValues)) + if (!Match(httpContext, endpoint, templateValuesResult.CombinedValues)) { return null; } @@ -100,7 +104,7 @@ namespace Microsoft.AspNetCore.Routing return templateBinder.BindValues(templateValuesResult.AcceptedValues); } - private bool Match(MatcherEndpoint endpoint, RouteValueDictionary routeValues) + private bool Match(HttpContext httpContext, MatcherEndpoint endpoint, RouteValueDictionary routeValues) { if (routeValues == null) { @@ -117,7 +121,7 @@ namespace Microsoft.AspNetCore.Routing } var matchProcessor = _matchProcessorFactory.Create(matchProcessorReference); - if (!matchProcessor.ProcessOutbound(httpContext: null, routeValues)) + if (!matchProcessor.ProcessOutbound(httpContext, routeValues)) { return false; } diff --git a/src/Microsoft.AspNetCore.Routing/DependencyInjection/DispatcherServiceCollectionExtensions.cs b/src/Microsoft.AspNetCore.Routing/DependencyInjection/DispatcherServiceCollectionExtensions.cs index afd9a4a4b0..b17150e784 100644 --- a/src/Microsoft.AspNetCore.Routing/DependencyInjection/DispatcherServiceCollectionExtensions.cs +++ b/src/Microsoft.AspNetCore.Routing/DependencyInjection/DispatcherServiceCollectionExtensions.cs @@ -41,7 +41,7 @@ namespace Microsoft.Extensions.DependencyInjection // Link generation related services services.TryAddSingleton, NameBasedEndpointFinder>(); services.TryAddSingleton, RouteValuesBasedEndpointFinder>(); - services.TryAddSingleton(); + services.TryAddSingleton(); // // Endpoint Selection // diff --git a/test/Microsoft.AspNetCore.Routing.Tests/DefaultLinkGeneratorTest.cs b/test/Microsoft.AspNetCore.Routing.Tests/DefaultLinkGeneratorTest.cs index d73352a9c5..4416256954 100644 --- a/test/Microsoft.AspNetCore.Routing.Tests/DefaultLinkGeneratorTest.cs +++ b/test/Microsoft.AspNetCore.Routing.Tests/DefaultLinkGeneratorTest.cs @@ -7,7 +7,6 @@ using System.Threading.Tasks; using Microsoft.AspNetCore.Routing.EndpointFinders; using Microsoft.AspNetCore.Routing.Internal; using Microsoft.AspNetCore.Routing.Matchers; -using Microsoft.Extensions.Logging; using Microsoft.Extensions.Logging.Abstractions; using Microsoft.Extensions.ObjectPool; using Microsoft.Extensions.Options; @@ -27,7 +26,11 @@ namespace Microsoft.AspNetCore.Routing var context = CreateRouteValuesContext(new { controller = "Home" }); // Act - var link = linkGenerator.GetLink(new[] { endpoint }, context.ExplicitValues, context.AmbientValues); + var link = linkGenerator.GetLink( + httpContext: null, + new[] { endpoint }, + context.ExplicitValues, + context.AmbientValues); // Assert Assert.Equal("/Home", link); @@ -44,7 +47,11 @@ namespace Microsoft.AspNetCore.Routing // Act & Assert var exception = Assert.Throws( - () => linkGenerator.GetLink(new[] { endpoint }, context.ExplicitValues, context.AmbientValues)); + () => linkGenerator.GetLink( + httpContext: null, + new[] { endpoint }, + context.ExplicitValues, + context.AmbientValues)); Assert.Equal(expectedMessage, exception.Message); } @@ -58,6 +65,7 @@ namespace Microsoft.AspNetCore.Routing // Act var canGenerateLink = linkGenerator.TryGetLink( + httpContext: null, new[] { endpoint }, context.ExplicitValues, context.AmbientValues, @@ -80,6 +88,7 @@ namespace Microsoft.AspNetCore.Routing // Act var link = linkGenerator.GetLink( + httpContext: null, new[] { endpoint1, endpoint2, endpoint3 }, context.ExplicitValues, context.AmbientValues); @@ -100,6 +109,7 @@ namespace Microsoft.AspNetCore.Routing // Act var link = linkGenerator.GetLink( + httpContext: null, new[] { endpoint1, endpoint2, endpoint3 }, context.ExplicitValues, context.AmbientValues); @@ -119,7 +129,11 @@ namespace Microsoft.AspNetCore.Routing ambientValues: new { controller = "Home", action = "Index" }); // Act - var link = linkGenerator.GetLink(new[] { endpoint }, context.ExplicitValues, context.AmbientValues); + var link = linkGenerator.GetLink( + httpContext: null, + new[] { endpoint }, + context.ExplicitValues, + context.AmbientValues); // Assert Assert.Equal("/Home/Index?name=name%20with%20%25special%20%23characters", link); @@ -136,7 +150,11 @@ namespace Microsoft.AspNetCore.Routing new { controller = "Home", action = "Index" }); // Act - var link = linkGenerator.GetLink(new[] { endpoint }, context.ExplicitValues, context.AmbientValues); + var link = linkGenerator.GetLink( + httpContext: null, + new[] { endpoint }, + context.ExplicitValues, + context.AmbientValues); // Assert Assert.Equal("/Home/Index?color=red&color=green&color=blue", link); @@ -153,7 +171,11 @@ namespace Microsoft.AspNetCore.Routing new { controller = "Home", action = "Index" }); // Act - var link = linkGenerator.GetLink(new[] { endpoint }, context.ExplicitValues, context.AmbientValues); + var link = linkGenerator.GetLink( + httpContext: null, + new[] { endpoint }, + context.ExplicitValues, + context.AmbientValues); // Assert Assert.Equal("/Home/Index?items=10&items=20&items=30", link); @@ -170,7 +192,11 @@ namespace Microsoft.AspNetCore.Routing new { controller = "Home", action = "Index" }); // Act - var link = linkGenerator.GetLink(new[] { endpoint }, context.ExplicitValues, context.AmbientValues); + var link = linkGenerator.GetLink( + httpContext: null, + new[] { endpoint }, + context.ExplicitValues, + context.AmbientValues); // Assert Assert.Equal("/Home/Index", link); @@ -187,7 +213,11 @@ namespace Microsoft.AspNetCore.Routing new { controller = "Home", action = "Index" }); // Act - var link = linkGenerator.GetLink(new[] { endpoint }, context.ExplicitValues, context.AmbientValues); + var link = linkGenerator.GetLink( + httpContext: null, + new[] { endpoint }, + context.ExplicitValues, + context.AmbientValues); // Assert Assert.Equal("/Home/Index?page=1&color=red&color=green&color=blue&message=textfortest", link); @@ -204,7 +234,11 @@ namespace Microsoft.AspNetCore.Routing ambientValues: new { controller = "Home" }); // Act - var link = linkGenerator.GetLink(new[] { endpoint }, context.ExplicitValues, context.AmbientValues); + var link = linkGenerator.GetLink( + httpContext: null, + new[] { endpoint }, + context.ExplicitValues, + context.AmbientValues); // Assert Assert.Equal("/Home/Index", link); @@ -582,7 +616,11 @@ namespace Microsoft.AspNetCore.Routing suppliedValues: new { action = "Index", controller = "Home", name = "products" }); // Act - var link = linkGenerator.GetLink(new[] { endpoint }, context.ExplicitValues, context.AmbientValues); + var link = linkGenerator.GetLink( + httpContext: null, + new[] { endpoint }, + context.ExplicitValues, + context.AmbientValues); // Assert Assert.Equal("/Home/Index/products", link); @@ -598,7 +636,11 @@ namespace Microsoft.AspNetCore.Routing suppliedValues: new { action = "Index", controller = "Home" }); // Act - var link = linkGenerator.GetLink(new[] { endpoint }, context.ExplicitValues, context.AmbientValues); + var link = linkGenerator.GetLink( + httpContext: null, + new[] { endpoint }, + context.ExplicitValues, + context.AmbientValues); // Assert Assert.Equal("/Home/Index", link); @@ -616,7 +658,11 @@ namespace Microsoft.AspNetCore.Routing suppliedValues: new { action = "Index", controller = "Home", name = "products" }); // Act - var link = linkGenerator.GetLink(new[] { endpoint }, context.ExplicitValues, context.AmbientValues); + var link = linkGenerator.GetLink( + httpContext: null, + new[] { endpoint }, + context.ExplicitValues, + context.AmbientValues); // Assert Assert.Equal("/Home/Index/products", link); @@ -634,7 +680,11 @@ namespace Microsoft.AspNetCore.Routing suppliedValues: new { action = "Index", controller = "Home" }); // Act - var link = linkGenerator.GetLink(new[] { endpoint }, context.ExplicitValues, context.AmbientValues); + var link = linkGenerator.GetLink( + httpContext: null, + new[] { endpoint }, + context.ExplicitValues, + context.AmbientValues); // Assert Assert.Equal("/Home/Index", link); @@ -650,7 +700,11 @@ namespace Microsoft.AspNetCore.Routing suppliedValues: new { action = "Index", controller = "Home", name = "products", format = "json" }); // Act - var link = linkGenerator.GetLink(new[] { endpoint }, context.ExplicitValues, context.AmbientValues); + var link = linkGenerator.GetLink( + httpContext: null, + new[] { endpoint }, + context.ExplicitValues, + context.AmbientValues); // Assert Assert.Equal("/Home/Index/products?format=json", link); @@ -710,7 +764,11 @@ namespace Microsoft.AspNetCore.Routing suppliedValues: new { action = "Index", controller = "Home" }); // Act - var link = linkGenerator.GetLink(new[] { endpoint }, context.ExplicitValues, context.AmbientValues); + var link = linkGenerator.GetLink( + httpContext: null, + new[] { endpoint }, + context.ExplicitValues, + context.AmbientValues); // Assert Assert.Equal("/Home/Index", link); @@ -796,7 +854,7 @@ namespace Microsoft.AspNetCore.Routing null); } - private ILinkGenerator CreateLinkGenerator() + private LinkGenerator CreateLinkGenerator() { return new DefaultLinkGenerator( new DefaultMatchProcessorFactory( From 1196349bf497516c330aad2cb9ca2eb2935bb287 Mon Sep 17 00:00:00 2001 From: Kiran Challa Date: Wed, 11 Jul 2018 08:47:05 -0700 Subject: [PATCH 075/221] [Fixes #583] Handle change events in RouteValueBaseEndpointFinder --- .../CompositeEndpointDataSource.cs | 52 +++- .../RouteValuesBasedEndpointFinder.cs | 30 +- .../CompositeEndpointDataSourceTest.cs | 183 +++++++++++++ .../RouteValueBasedEndpointFinderTest.cs | 256 ++++++++++++++++++ .../TestObjects/DynamicEndpointDataSource.cs | 53 ++++ 5 files changed, 563 insertions(+), 11 deletions(-) create mode 100644 test/Microsoft.AspNetCore.Routing.Tests/CompositeEndpointDataSourceTest.cs create mode 100644 test/Microsoft.AspNetCore.Routing.Tests/RouteValueBasedEndpointFinderTest.cs create mode 100644 test/Microsoft.AspNetCore.Routing.Tests/TestObjects/DynamicEndpointDataSource.cs diff --git a/src/Microsoft.AspNetCore.Routing/CompositeEndpointDataSource.cs b/src/Microsoft.AspNetCore.Routing/CompositeEndpointDataSource.cs index 93fd595ede..75e5360d47 100644 --- a/src/Microsoft.AspNetCore.Routing/CompositeEndpointDataSource.cs +++ b/src/Microsoft.AspNetCore.Routing/CompositeEndpointDataSource.cs @@ -4,6 +4,7 @@ using System; using System.Collections.Generic; using System.Linq; +using System.Threading; using Microsoft.Extensions.Primitives; namespace Microsoft.AspNetCore.Routing @@ -12,9 +13,9 @@ namespace Microsoft.AspNetCore.Routing { private readonly EndpointDataSource[] _dataSources; private readonly object _lock; - - private IChangeToken _changeToken; private IReadOnlyList _endpoints; + private IChangeToken _consumerChangeToken; + private CancellationTokenSource _cts; internal CompositeEndpointDataSource(IEnumerable dataSources) { @@ -23,6 +24,7 @@ namespace Microsoft.AspNetCore.Routing throw new ArgumentNullException(nameof(dataSources)); } + CreateChangeToken(); _dataSources = dataSources.ToArray(); _lock = new object(); } @@ -32,7 +34,7 @@ namespace Microsoft.AspNetCore.Routing get { EnsureInitialized(); - return _changeToken; + return _consumerChangeToken; } } @@ -48,7 +50,7 @@ namespace Microsoft.AspNetCore.Routing // Defer initialization to avoid doing lots of reflection on startup. private void EnsureInitialized() { - if (_changeToken == null) + if (_endpoints == null) { Initialize(); } @@ -60,11 +62,49 @@ namespace Microsoft.AspNetCore.Routing { lock (_lock) { - _changeToken = new CompositeChangeToken(_dataSources.Select(d => d.ChangeToken).ToArray()); + if (_endpoints == null) + { + _endpoints = _dataSources.SelectMany(d => d.Endpoints).ToArray(); + + foreach (var dataSource in _dataSources) + { + Extensions.Primitives.ChangeToken.OnChange( + () => dataSource.ChangeToken, + () => HandleChange()); + } + } + } + } + + private void HandleChange() + { + lock (_lock) + { + // Refresh the endpoints from datasource so that callbacks can get the latest endpoints _endpoints = _dataSources.SelectMany(d => d.Endpoints).ToArray(); - _changeToken.RegisterChangeCallback((state) => Initialize(), null); + // Prevent consumers from re-registering callback to inflight events as that can + // cause a stackoverflow + // Example: + // 1. B registers A + // 2. A fires event causing B's callback to get called + // 3. B executes some code in its callback, but needs to re-register callback + // in the same callback + var oldTokenSource = _cts; + var oldToken = _consumerChangeToken; + + CreateChangeToken(); + + // Raise consumer callbacks. Any new callback registration would happen on the new token + // created in earlier step. + oldTokenSource.Cancel(); } } + + private void CreateChangeToken() + { + _cts = new CancellationTokenSource(); + _consumerChangeToken = new CancellationChangeToken(_cts.Token); + } } } diff --git a/src/Microsoft.AspNetCore.Routing/RouteValuesBasedEndpointFinder.cs b/src/Microsoft.AspNetCore.Routing/RouteValuesBasedEndpointFinder.cs index 0b0fee9edd..d9add483aa 100644 --- a/src/Microsoft.AspNetCore.Routing/RouteValuesBasedEndpointFinder.cs +++ b/src/Microsoft.AspNetCore.Routing/RouteValuesBasedEndpointFinder.cs @@ -27,7 +27,13 @@ namespace Microsoft.AspNetCore.Routing _endpointDataSource = endpointDataSource; _objectPool = objectPool; + // Build initial matches BuildOutboundMatches(); + + // Register for changes in endpoints + Extensions.Primitives.ChangeToken.OnChange( + () => _endpointDataSource.ChangeToken, + () => HandleChange()); } public IEnumerable FindEndpoints(RouteValuesBasedEndpointFinderContext context) @@ -56,14 +62,28 @@ namespace Microsoft.AspNetCore.Routing .Select(match => (MatcherEndpoint)match.Entry.Data); } - private void BuildOutboundMatches() + private void HandleChange() { - var (allOutboundMatches, namedOutboundMatches) = GetOutboundMatches(); - _namedMatches = GetNamedMatches(namedOutboundMatches); - _allMatchesLinkGenerationTree = new LinkGenerationDecisionTree(allOutboundMatches.ToArray()); + // rebuild the matches + BuildOutboundMatches(); + + // re-register the callback as the change token is one time use only and a new change token + // is produced every time + Extensions.Primitives.ChangeToken.OnChange( + () => _endpointDataSource.ChangeToken, + () => HandleChange()); } - private (IEnumerable, IDictionary>) GetOutboundMatches() + private void BuildOutboundMatches() + { + // Refresh the matches in the case where a datasource's endpoints changes. The following is OK to do + // as refresh of new endpoints happens within a lock and also these fields are not publicly accessible. + var (allMatches, namedMatches) = GetOutboundMatches(); + _namedMatches = GetNamedMatches(namedMatches); + _allMatchesLinkGenerationTree = new LinkGenerationDecisionTree(allMatches.ToArray()); + } + + protected virtual (IEnumerable, IDictionary>) GetOutboundMatches() { var allOutboundMatches = new List(); var namedOutboundMatches = new Dictionary>(StringComparer.OrdinalIgnoreCase); diff --git a/test/Microsoft.AspNetCore.Routing.Tests/CompositeEndpointDataSourceTest.cs b/test/Microsoft.AspNetCore.Routing.Tests/CompositeEndpointDataSourceTest.cs new file mode 100644 index 0000000000..6f5978af52 --- /dev/null +++ b/test/Microsoft.AspNetCore.Routing.Tests/CompositeEndpointDataSourceTest.cs @@ -0,0 +1,183 @@ +// Copyright (c) .NET Foundation. All rights reserved. +// Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information. + +using System; +using System.Collections.Generic; +using System.Threading; +using System.Threading.Tasks; +using Microsoft.AspNetCore.Routing.Matchers; +using Microsoft.AspNetCore.Routing.TestObjects; +using Microsoft.Extensions.Primitives; +using Xunit; + +namespace Microsoft.AspNetCore.Routing +{ + public class CompositeEndpointDataSourceTest + { + [Fact] + public void CreatesShallowCopyOf_ListOfEndpoints() + { + // Arrange + var endpoint1 = CreateEndpoint("/a"); + var endpoint2 = CreateEndpoint("/b"); + var dataSource = new DefaultEndpointDataSource(new Endpoint[] { endpoint1, endpoint2 }); + var compositeDataSource = new CompositeEndpointDataSource(new[] { dataSource }); + + // Act + var endpoints = compositeDataSource.Endpoints; + + // Assert + Assert.NotSame(endpoints, dataSource.Endpoints); + Assert.Equal(endpoints, dataSource.Endpoints); + } + + [Fact] + public void Endpoints_ReturnsAllEndpoints_FromMultipleDataSources() + { + // Arrange + var endpoint1 = CreateEndpoint("/a"); + var endpoint2 = CreateEndpoint("/b"); + var endpoint3 = CreateEndpoint("/c"); + var endpoint4 = CreateEndpoint("/d"); + var endpoint5 = CreateEndpoint("/e"); + var compositeDataSource = new CompositeEndpointDataSource(new[] + { + new DefaultEndpointDataSource(new Endpoint[] { endpoint1, endpoint2 }), + new DefaultEndpointDataSource(new Endpoint[] { endpoint3, endpoint4 }), + new DefaultEndpointDataSource(new Endpoint[] { endpoint5 }), + }); + + // Act + var endpoints = compositeDataSource.Endpoints; + + // Assert + Assert.Collection( + endpoints, + (ep) => Assert.Same(endpoint1, ep), + (ep) => Assert.Same(endpoint2, ep), + (ep) => Assert.Same(endpoint3, ep), + (ep) => Assert.Same(endpoint4, ep), + (ep) => Assert.Same(endpoint5, ep)); + } + + [Fact] + public void DataSourceChanges_AreReflected_InEndpoints() + { + // Arrange1 + var endpoint1 = CreateEndpoint("/a"); + var dataSource1 = new DynamicEndpointDataSource(endpoint1); + var compositeDataSource = new CompositeEndpointDataSource(new[] { dataSource1 }); + + // Act1 + var endpoints = compositeDataSource.Endpoints; + + // Assert1 + var endpoint = Assert.Single(endpoints); + Assert.Same(endpoint1, endpoint); + + // Arrange2 + var endpoint2 = CreateEndpoint("/b"); + + // Act2 + dataSource1.AddEndpoint(endpoint2); + + // Assert2 + Assert.Collection( + compositeDataSource.Endpoints, + (ep) => Assert.Same(endpoint1, ep), + (ep) => Assert.Same(endpoint2, ep)); + + // Arrange3 + var endpoint3 = CreateEndpoint("/c"); + + // Act2 + dataSource1.AddEndpoint(endpoint3); + + // Assert2 + Assert.Collection( + compositeDataSource.Endpoints, + (ep) => Assert.Same(endpoint1, ep), + (ep) => Assert.Same(endpoint2, ep), + (ep) => Assert.Same(endpoint3, ep)); + } + + [Fact] + public void ConsumerChangeToken_IsRefreshed_WhenDataSourceCallbackFires() + { + // Arrange1 + var endpoint1 = CreateEndpoint("/a"); + var dataSource1 = new DynamicEndpointDataSource(endpoint1); + var compositeDataSource = new CompositeEndpointDataSource(new[] { dataSource1 }); + + // Act1 + var endpoints = compositeDataSource.Endpoints; + + // Assert1 + var changeToken1 = compositeDataSource.ChangeToken; + var token = Assert.IsType(changeToken1); + Assert.False(token.HasChanged); // initial state + + // Arrange2 + var endpoint2 = CreateEndpoint("/b"); + + // Act2 + dataSource1.AddEndpoint(endpoint2); + + // Assert2 + Assert.True(changeToken1.HasChanged); // old token is expected to be changed + var changeToken2 = compositeDataSource.ChangeToken; // new token is in a unchanged state + Assert.NotSame(changeToken2, changeToken1); + token = Assert.IsType(changeToken2); + Assert.False(token.HasChanged); + + // Arrange3 + var endpoint3 = CreateEndpoint("/c"); + + // Act2 + dataSource1.AddEndpoint(endpoint3); + + // Assert2 + Assert.True(changeToken2.HasChanged); // old token is expected to be changed + var changeToken3 = compositeDataSource.ChangeToken; // new token is in a unchanged state + Assert.NotSame(changeToken3, changeToken2); + Assert.NotSame(changeToken3, changeToken1); + token = Assert.IsType(changeToken3); + Assert.False(token.HasChanged); + } + + private MatcherEndpoint CreateEndpoint( + string template, + object defaultValues = null, + object requiredValues = null, + int order = 0, + string routeName = null) + { + var defaults = defaultValues == null ? new RouteValueDictionary() : new RouteValueDictionary(defaultValues); + var required = requiredValues == null ? new RouteValueDictionary() : new RouteValueDictionary(requiredValues); + + return new MatcherEndpoint( + next => (httpContext) => Task.CompletedTask, + template, + defaults, + required, + order, + EndpointMetadataCollection.Empty, + null); + } + + private class CustomEndpointDataSource : EndpointDataSource + { + private readonly CancellationTokenSource _cts; + private readonly CancellationChangeToken _token; + + public CustomEndpointDataSource() + { + _cts = new CancellationTokenSource(); + _token = new CancellationChangeToken(_cts.Token); + } + + public override IChangeToken ChangeToken => _token; + public override IReadOnlyList Endpoints => Array.Empty(); + } + } +} \ No newline at end of file diff --git a/test/Microsoft.AspNetCore.Routing.Tests/RouteValueBasedEndpointFinderTest.cs b/test/Microsoft.AspNetCore.Routing.Tests/RouteValueBasedEndpointFinderTest.cs new file mode 100644 index 0000000000..aff35c2fa3 --- /dev/null +++ b/test/Microsoft.AspNetCore.Routing.Tests/RouteValueBasedEndpointFinderTest.cs @@ -0,0 +1,256 @@ +// Copyright (c) .NET Foundation. All rights reserved. +// Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information. + +using System.Collections.Generic; +using System.Linq; +using System.Threading.Tasks; +using Microsoft.AspNetCore.Routing.Internal; +using Microsoft.AspNetCore.Routing.Matchers; +using Microsoft.AspNetCore.Routing.TestObjects; +using Microsoft.AspNetCore.Routing.Tree; +using Microsoft.Extensions.ObjectPool; +using Microsoft.Extensions.Options; +using Xunit; + +namespace Microsoft.AspNetCore.Routing +{ + public class RouteValueBasedEndpointFinderTest + { + [Fact] + public void GetOutboundMatches_GetsNamedMatchesFor_EndpointsHaving_IRouteNameMetadata() + { + // Arrange + var endpoint1 = CreateEndpoint("/a"); + var endpoint2 = CreateEndpoint("/a", routeName: "named"); + + // Act + var finder = CreateEndpointFinder(endpoint1, endpoint2); + + // Assert + Assert.NotNull(finder.AllMatches); + Assert.Equal(2, finder.AllMatches.Count()); + Assert.NotNull(finder.NamedMatches); + Assert.True(finder.NamedMatches.TryGetValue("named", out var namedMatches)); + var namedMatch = Assert.Single(namedMatches); + var actual = Assert.IsType(namedMatch.Entry.Data); + Assert.Same(endpoint2, actual); + } + + [Fact] + public void GetOutboundMatches_GroupsMultipleEndpoints_WithSameName() + { + // Arrange + var endpoint1 = CreateEndpoint("/a"); + var endpoint2 = CreateEndpoint("/a", routeName: "named"); + var endpoint3 = CreateEndpoint("/b", routeName: "named"); + + // Act + var finder = CreateEndpointFinder(endpoint1, endpoint2, endpoint3); + + // Assert + Assert.NotNull(finder.AllMatches); + Assert.Equal(3, finder.AllMatches.Count()); + Assert.NotNull(finder.NamedMatches); + Assert.True(finder.NamedMatches.TryGetValue("named", out var namedMatches)); + Assert.Equal(2, namedMatches.Count); + Assert.Same(endpoint2, Assert.IsType(namedMatches[0].Entry.Data)); + Assert.Same(endpoint3, Assert.IsType(namedMatches[1].Entry.Data)); + } + + [Fact] + public void GetOutboundMatches_GroupsMultipleEndpoints_WithSameName_IgnoringCase() + { + // Arrange + var endpoint1 = CreateEndpoint("/a"); + var endpoint2 = CreateEndpoint("/a", routeName: "named"); + var endpoint3 = CreateEndpoint("/b", routeName: "NaMed"); + + // Act + var finder = CreateEndpointFinder(endpoint1, endpoint2, endpoint3); + + // Assert + Assert.NotNull(finder.AllMatches); + Assert.Equal(3, finder.AllMatches.Count()); + Assert.NotNull(finder.NamedMatches); + Assert.True(finder.NamedMatches.TryGetValue("named", out var namedMatches)); + Assert.Equal(2, namedMatches.Count); + Assert.Same(endpoint2, Assert.IsType(namedMatches[0].Entry.Data)); + Assert.Same(endpoint3, Assert.IsType(namedMatches[1].Entry.Data)); + } + + [Fact] + public void GetOutboundMatches_DoesNotGetNamedMatchesFor_EndpointsHaving_INameMetadata() + { + // Arrange + var endpoint1 = CreateEndpoint("/a"); + var endpoint2 = CreateEndpoint("/a", routeName: "named"); + var endpoint3 = CreateEndpoint( + "/b", + metadataCollection: new EndpointMetadataCollection(new[] { new NameMetadata("named") })); + + // Act + var finder = CreateEndpointFinder(endpoint1, endpoint2); + + // Assert + Assert.NotNull(finder.AllMatches); + Assert.Equal(2, finder.AllMatches.Count()); + Assert.NotNull(finder.NamedMatches); + Assert.True(finder.NamedMatches.TryGetValue("named", out var namedMatches)); + var namedMatch = Assert.Single(namedMatches); + var actual = Assert.IsType(namedMatch.Entry.Data); + Assert.Same(endpoint2, actual); + } + + [Fact] + public void EndpointDataSource_ChangeCallback_Refreshes_OutboundMatches() + { + // Arrange 1 + var endpoint1 = CreateEndpoint("/a"); + var dynamicDataSource = new DynamicEndpointDataSource(new[] { endpoint1 }); + var objectPoolProvider = new DefaultObjectPoolProvider(); + var objectPool = objectPoolProvider.Create(new UriBuilderContextPooledObjectPolicy()); + + // Act 1 + var finder = new CustomRouteValuesBasedEndpointFinder( + new CompositeEndpointDataSource(new[] { dynamicDataSource }), + objectPool); + + // Assert 1 + Assert.NotNull(finder.AllMatches); + var match = Assert.Single(finder.AllMatches); + var actual = Assert.IsType(match.Entry.Data); + Assert.Same(endpoint1, actual); + + // Arrange 2 + var endpoint2 = CreateEndpoint("/b"); + + // Act 2 + // Trigger change + dynamicDataSource.AddEndpoint(endpoint2); + + // Arrange 2 + var endpoint3 = CreateEndpoint("/c"); + + // Act 2 + // Trigger change + dynamicDataSource.AddEndpoint(endpoint3); + + // Arrange 3 + var endpoint4 = CreateEndpoint("/d"); + + // Act 3 + // Trigger change + dynamicDataSource.AddEndpoint(endpoint4); + + // Assert 3 + Assert.NotNull(finder.AllMatches); + Assert.Collection( + finder.AllMatches, + (m) => + { + actual = Assert.IsType(m.Entry.Data); + Assert.Same(endpoint1, actual); + }, + (m) => + { + actual = Assert.IsType(m.Entry.Data); + Assert.Same(endpoint2, actual); + }, + (m) => + { + actual = Assert.IsType(m.Entry.Data); + Assert.Same(endpoint3, actual); + }, + (m) => + { + actual = Assert.IsType(m.Entry.Data); + Assert.Same(endpoint4, actual); + }); + } + + private CustomRouteValuesBasedEndpointFinder CreateEndpointFinder(params Endpoint[] endpoints) + { + return CreateEndpointFinder(new DefaultEndpointDataSource(endpoints)); + } + + private CustomRouteValuesBasedEndpointFinder CreateEndpointFinder(params EndpointDataSource[] endpointDataSources) + { + var objectPoolProvider = new DefaultObjectPoolProvider(); + var objectPool = objectPoolProvider.Create(new UriBuilderContextPooledObjectPolicy()); + + return new CustomRouteValuesBasedEndpointFinder( + new CompositeEndpointDataSource(endpointDataSources), + objectPool); + } + + private MatcherEndpoint CreateEndpoint( + string template, + object defaultValues = null, + object requiredValues = null, + int order = 0, + string routeName = null, + EndpointMetadataCollection metadataCollection = null) + { + var defaults = defaultValues == null ? new RouteValueDictionary() : new RouteValueDictionary(defaultValues); + var required = requiredValues == null ? new RouteValueDictionary() : new RouteValueDictionary(requiredValues); + + if (metadataCollection == null) + { + metadataCollection = EndpointMetadataCollection.Empty; + if (!string.IsNullOrEmpty(routeName)) + { + metadataCollection = new EndpointMetadataCollection(new[] { new RouteNameMetadata(routeName) }); + } + } + + return new MatcherEndpoint( + next => (httpContext) => Task.CompletedTask, + template, + defaults, + required, + order, + metadataCollection, + null); + } + + private class RouteNameMetadata : IRouteNameMetadata + { + public RouteNameMetadata(string name) + { + Name = name; + } + public string Name { get; } + } + + private class NameMetadata : INameMetadata + { + public NameMetadata(string name) + { + Name = name; + } + public string Name { get; } + } + + private class CustomRouteValuesBasedEndpointFinder : RouteValuesBasedEndpointFinder + { + public CustomRouteValuesBasedEndpointFinder( + CompositeEndpointDataSource endpointDataSource, + ObjectPool objectPool) + : base(endpointDataSource, objectPool) + { + } + + public IEnumerable AllMatches { get; private set; } + + public IDictionary> NamedMatches { get; private set; } + + protected override (IEnumerable, IDictionary>) GetOutboundMatches() + { + var matches = base.GetOutboundMatches(); + AllMatches = matches.Item1; + NamedMatches = matches.Item2; + return matches; + } + } + } +} diff --git a/test/Microsoft.AspNetCore.Routing.Tests/TestObjects/DynamicEndpointDataSource.cs b/test/Microsoft.AspNetCore.Routing.Tests/TestObjects/DynamicEndpointDataSource.cs new file mode 100644 index 0000000000..d434b9c924 --- /dev/null +++ b/test/Microsoft.AspNetCore.Routing.Tests/TestObjects/DynamicEndpointDataSource.cs @@ -0,0 +1,53 @@ +// Copyright (c) .NET Foundation. All rights reserved. +// Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information. + +using System.Collections.Generic; +using System.Threading; +using Microsoft.Extensions.Primitives; + +namespace Microsoft.AspNetCore.Routing.TestObjects +{ + public class DynamicEndpointDataSource : EndpointDataSource + { + private readonly List _endpoints; + private CancellationTokenSource _cts; + private CancellationChangeToken _changeToken; + private readonly object _lock; + + public DynamicEndpointDataSource(params Endpoint[] endpoints) + { + _endpoints = new List(); + _endpoints.AddRange(endpoints); + _lock = new object(); + + CreateChangeToken(); + } + + public override IChangeToken ChangeToken => _changeToken; + + public override IReadOnlyList Endpoints => _endpoints; + + // Trigger change + public void AddEndpoint(Endpoint endpoint) + { + _endpoints.Add(endpoint); + + // Capture the old tokens so that we can raise the callbacks on them. This is important so that + // consumers do not register callbacks on an inflight event causing a stackoverflow. + var oldTokenSource = _cts; + var oldToken = _changeToken; + + CreateChangeToken(); + + // Raise consumer callbacks. Any new callback registration would happen on the new token + // created in earlier step. + oldTokenSource.Cancel(); + } + + private void CreateChangeToken() + { + _cts = new CancellationTokenSource(); + _changeToken = new CancellationChangeToken(_cts.Token); + } + } +} \ No newline at end of file From 400d243f42bf1bbc715968ad86aa956191b3dc96 Mon Sep 17 00:00:00 2001 From: Ryan Nowak Date: Tue, 17 Jul 2018 19:22:46 -0700 Subject: [PATCH 076/221] Fix remaining feature gaps in DfaMatcher (#621) * Fix remaining feature gaps in DfaMatcher * addressed minor feedback * missed one --- .../Matchers/Candidate.cs | 28 - .../Matchers/MatcherAzureBenchmark.cs | 2 +- .../Matchers/MatcherBenchmarkBase.cs | 9 + .../Matchers/MatcherGithubBenchmark.cs | 2 +- .../MatcherSelectCandidatesAzureBenchmark.cs | 2 +- .../MatcherSelectCandidatesGithubBenchmark.cs | 2 +- ...herSelectCandidatesSingleEntryBenchmark.cs | 2 +- ...electCandidatesSmallEntryCountBenchmark.cs | 2 +- .../Matchers/MatcherSingleEntryBenchmark.cs | 2 +- ...soft.AspNetCore.Routing.Performance.csproj | 11 - .../Properties/AssemblyInfo.cs | 3 +- .../RouteValueDictionary.cs | 56 +- .../Matchers/Candidate.cs | 108 +++ .../Matchers/CandidateSet.cs | 4 +- .../Matchers/DfaMatcher.cs | 290 ++++++++ .../Matchers/DfaMatcherBuilder.cs | 435 ++++++++++++ .../Matchers/DfaNode.cs | 56 ++ .../Matchers/DfaState.cs | 25 + .../Matchers/MatcherBuilder.cs | 0 .../Matchers/MatcherBuilderEntry.cs | 19 +- .../Patterns/RoutePatternMatcher.cs | 15 +- .../Properties/AssemblyInfo.cs | 1 + .../RouteValueDictionaryTests.cs | 70 ++ .../Matchers/Candidate.cs | 28 - .../Matchers/DfaMatcher.cs | 134 ---- .../Matchers/DfaMatcherBuilder.cs | 226 ------- .../Matchers/DfaMatcherBuilderTest.cs | 626 ++++++++++++++++++ .../Matchers/DfaMatcherConformanceTest.cs | 30 +- .../FullFeaturedMatcherConformanceTest.cs | 15 +- .../Matchers/TreeRouterMatcherBuilder.cs | 1 - 30 files changed, 1736 insertions(+), 468 deletions(-) delete mode 100644 benchmarks/Microsoft.AspNetCore.Routing.Performance/Matchers/Candidate.cs create mode 100644 src/Microsoft.AspNetCore.Routing/Matchers/Candidate.cs rename {test/Microsoft.AspNetCore.Routing.Tests => src/Microsoft.AspNetCore.Routing}/Matchers/CandidateSet.cs (94%) create mode 100644 src/Microsoft.AspNetCore.Routing/Matchers/DfaMatcher.cs create mode 100644 src/Microsoft.AspNetCore.Routing/Matchers/DfaMatcherBuilder.cs create mode 100644 src/Microsoft.AspNetCore.Routing/Matchers/DfaNode.cs create mode 100644 src/Microsoft.AspNetCore.Routing/Matchers/DfaState.cs rename {test/Microsoft.AspNetCore.Routing.Tests => src/Microsoft.AspNetCore.Routing}/Matchers/MatcherBuilder.cs (100%) rename {test/Microsoft.AspNetCore.Routing.Tests => src/Microsoft.AspNetCore.Routing}/Matchers/MatcherBuilderEntry.cs (73%) delete mode 100644 test/Microsoft.AspNetCore.Routing.Tests/Matchers/Candidate.cs delete mode 100644 test/Microsoft.AspNetCore.Routing.Tests/Matchers/DfaMatcher.cs delete mode 100644 test/Microsoft.AspNetCore.Routing.Tests/Matchers/DfaMatcherBuilder.cs create mode 100644 test/Microsoft.AspNetCore.Routing.Tests/Matchers/DfaMatcherBuilderTest.cs diff --git a/benchmarks/Microsoft.AspNetCore.Routing.Performance/Matchers/Candidate.cs b/benchmarks/Microsoft.AspNetCore.Routing.Performance/Matchers/Candidate.cs deleted file mode 100644 index dc768ef113..0000000000 --- a/benchmarks/Microsoft.AspNetCore.Routing.Performance/Matchers/Candidate.cs +++ /dev/null @@ -1,28 +0,0 @@ -// Copyright (c) .NET Foundation. All rights reserved. -// Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information. - -using System; - -namespace Microsoft.AspNetCore.Routing.Matchers -{ - // This is not yet fleshed out - consider this part of the - // work-in-progress definition of CandidateSet. - internal readonly struct Candidate - { - public readonly MatcherEndpoint Endpoint; - - public readonly string[] Parameters; - - public Candidate(MatcherEndpoint endpoint) - { - Endpoint = endpoint; - Parameters = Array.Empty(); - } - - public Candidate(MatcherEndpoint endpoint, string[] parameters) - { - Endpoint = endpoint; - Parameters = parameters; - } - } -} diff --git a/benchmarks/Microsoft.AspNetCore.Routing.Performance/Matchers/MatcherAzureBenchmark.cs b/benchmarks/Microsoft.AspNetCore.Routing.Performance/Matchers/MatcherAzureBenchmark.cs index 979309e912..8e2a114137 100644 --- a/benchmarks/Microsoft.AspNetCore.Routing.Performance/Matchers/MatcherAzureBenchmark.cs +++ b/benchmarks/Microsoft.AspNetCore.Routing.Performance/Matchers/MatcherAzureBenchmark.cs @@ -30,7 +30,7 @@ namespace Microsoft.AspNetCore.Routing.Matchers _samples = SampleRequests(EndpointCount, SampleCount); _baseline = (BarebonesMatcher)SetupMatcher(new BarebonesMatcherBuilder()); - _dfa = SetupMatcher(new DfaMatcherBuilder()); + _dfa = SetupMatcher(CreateDfaMatcherBuilder()); _tree = SetupMatcher(new TreeRouterMatcherBuilder()); _feature = new EndpointFeature(); diff --git a/benchmarks/Microsoft.AspNetCore.Routing.Performance/Matchers/MatcherBenchmarkBase.cs b/benchmarks/Microsoft.AspNetCore.Routing.Performance/Matchers/MatcherBenchmarkBase.cs index 9bdc2b0f1d..f13c36e9d2 100644 --- a/benchmarks/Microsoft.AspNetCore.Routing.Performance/Matchers/MatcherBenchmarkBase.cs +++ b/benchmarks/Microsoft.AspNetCore.Routing.Performance/Matchers/MatcherBenchmarkBase.cs @@ -22,9 +22,18 @@ namespace Microsoft.AspNetCore.Routing.Matchers { var services = new ServiceCollection(); services.AddLogging(); + services.AddOptions(); + services.AddRouting(); + services.AddDispatcher(); return services.BuildServiceProvider(); } + private protected DfaMatcherBuilder CreateDfaMatcherBuilder() + { + var services = CreateServices(); + return ActivatorUtilities.CreateInstance(services); + } + private protected static MatcherEndpoint CreateEndpoint(string template, string httpMethod = null) { var metadata = new List(); diff --git a/benchmarks/Microsoft.AspNetCore.Routing.Performance/Matchers/MatcherGithubBenchmark.cs b/benchmarks/Microsoft.AspNetCore.Routing.Performance/Matchers/MatcherGithubBenchmark.cs index 59916da3e8..4aeb9a3a02 100644 --- a/benchmarks/Microsoft.AspNetCore.Routing.Performance/Matchers/MatcherGithubBenchmark.cs +++ b/benchmarks/Microsoft.AspNetCore.Routing.Performance/Matchers/MatcherGithubBenchmark.cs @@ -24,7 +24,7 @@ namespace Microsoft.AspNetCore.Routing.Matchers SetupRequests(); _baseline = (BarebonesMatcher)SetupMatcher(new BarebonesMatcherBuilder()); - _dfa = SetupMatcher(new DfaMatcherBuilder()); + _dfa = SetupMatcher(CreateDfaMatcherBuilder()); _tree = SetupMatcher(new TreeRouterMatcherBuilder()); _feature = new EndpointFeature(); diff --git a/benchmarks/Microsoft.AspNetCore.Routing.Performance/Matchers/MatcherSelectCandidatesAzureBenchmark.cs b/benchmarks/Microsoft.AspNetCore.Routing.Performance/Matchers/MatcherSelectCandidatesAzureBenchmark.cs index 14749a95f1..edf73d6a48 100644 --- a/benchmarks/Microsoft.AspNetCore.Routing.Performance/Matchers/MatcherSelectCandidatesAzureBenchmark.cs +++ b/benchmarks/Microsoft.AspNetCore.Routing.Performance/Matchers/MatcherSelectCandidatesAzureBenchmark.cs @@ -28,7 +28,7 @@ namespace Microsoft.AspNetCore.Routing.Matchers _samples = SampleRequests(EndpointCount, SampleCount); _baseline = (BarebonesMatcher)SetupMatcher(new BarebonesMatcherBuilder()); - _dfa = (DfaMatcher)SetupMatcher(new DfaMatcherBuilder()); + _dfa = (DfaMatcher)SetupMatcher(CreateDfaMatcherBuilder()); } [Benchmark(Baseline = true, OperationsPerInvoke = SampleCount)] diff --git a/benchmarks/Microsoft.AspNetCore.Routing.Performance/Matchers/MatcherSelectCandidatesGithubBenchmark.cs b/benchmarks/Microsoft.AspNetCore.Routing.Performance/Matchers/MatcherSelectCandidatesGithubBenchmark.cs index a9aee41044..f40382dd5d 100644 --- a/benchmarks/Microsoft.AspNetCore.Routing.Performance/Matchers/MatcherSelectCandidatesGithubBenchmark.cs +++ b/benchmarks/Microsoft.AspNetCore.Routing.Performance/Matchers/MatcherSelectCandidatesGithubBenchmark.cs @@ -22,7 +22,7 @@ namespace Microsoft.AspNetCore.Routing.Matchers SetupRequests(); _baseline = (BarebonesMatcher)SetupMatcher(new BarebonesMatcherBuilder()); - _dfa = (DfaMatcher)SetupMatcher(new DfaMatcherBuilder()); + _dfa = (DfaMatcher)SetupMatcher(CreateDfaMatcherBuilder()); } [Benchmark(Baseline = true, OperationsPerInvoke = EndpointCount)] diff --git a/benchmarks/Microsoft.AspNetCore.Routing.Performance/Matchers/MatcherSelectCandidatesSingleEntryBenchmark.cs b/benchmarks/Microsoft.AspNetCore.Routing.Performance/Matchers/MatcherSelectCandidatesSingleEntryBenchmark.cs index a04925b3b1..1769ae37b9 100644 --- a/benchmarks/Microsoft.AspNetCore.Routing.Performance/Matchers/MatcherSelectCandidatesSingleEntryBenchmark.cs +++ b/benchmarks/Microsoft.AspNetCore.Routing.Performance/Matchers/MatcherSelectCandidatesSingleEntryBenchmark.cs @@ -24,7 +24,7 @@ namespace Microsoft.AspNetCore.Routing.Matchers Requests[0].Request.Path = "/plaintext"; _baseline = (TrivialMatcher)SetupMatcher(new TrivialMatcherBuilder()); - _dfa = (DfaMatcher)SetupMatcher(new DfaMatcherBuilder()); + _dfa = (DfaMatcher)SetupMatcher(CreateDfaMatcherBuilder()); } private Matcher SetupMatcher(MatcherBuilder builder) diff --git a/benchmarks/Microsoft.AspNetCore.Routing.Performance/Matchers/MatcherSelectCandidatesSmallEntryCountBenchmark.cs b/benchmarks/Microsoft.AspNetCore.Routing.Performance/Matchers/MatcherSelectCandidatesSmallEntryCountBenchmark.cs index 491a64a61f..790c8993f3 100644 --- a/benchmarks/Microsoft.AspNetCore.Routing.Performance/Matchers/MatcherSelectCandidatesSmallEntryCountBenchmark.cs +++ b/benchmarks/Microsoft.AspNetCore.Routing.Performance/Matchers/MatcherSelectCandidatesSmallEntryCountBenchmark.cs @@ -22,7 +22,7 @@ namespace Microsoft.AspNetCore.Routing.Matchers SetupRequests(); _baseline = (TrivialMatcher)SetupMatcher(new TrivialMatcherBuilder()); - _dfa = (DfaMatcher)SetupMatcher(new DfaMatcherBuilder()); + _dfa = (DfaMatcher)SetupMatcher(CreateDfaMatcherBuilder()); _feature = new EndpointFeature(); } diff --git a/benchmarks/Microsoft.AspNetCore.Routing.Performance/Matchers/MatcherSingleEntryBenchmark.cs b/benchmarks/Microsoft.AspNetCore.Routing.Performance/Matchers/MatcherSingleEntryBenchmark.cs index 9da2025ccf..c13f0a9abf 100644 --- a/benchmarks/Microsoft.AspNetCore.Routing.Performance/Matchers/MatcherSingleEntryBenchmark.cs +++ b/benchmarks/Microsoft.AspNetCore.Routing.Performance/Matchers/MatcherSingleEntryBenchmark.cs @@ -31,7 +31,7 @@ namespace Microsoft.AspNetCore.Routing.Matchers Requests[0].Request.Path = "/plaintext"; _baseline = (BarebonesMatcher)SetupMatcher(new BarebonesMatcherBuilder()); - _dfa = SetupMatcher(new DfaMatcherBuilder()); + _dfa = SetupMatcher(CreateDfaMatcherBuilder()); _route = SetupMatcher(new RouteMatcherBuilder()); _tree = SetupMatcher(new TreeRouterMatcherBuilder()); diff --git a/benchmarks/Microsoft.AspNetCore.Routing.Performance/Microsoft.AspNetCore.Routing.Performance.csproj b/benchmarks/Microsoft.AspNetCore.Routing.Performance/Microsoft.AspNetCore.Routing.Performance.csproj index 17f2c89904..e3ee4a1f6a 100644 --- a/benchmarks/Microsoft.AspNetCore.Routing.Performance/Microsoft.AspNetCore.Routing.Performance.csproj +++ b/benchmarks/Microsoft.AspNetCore.Routing.Performance/Microsoft.AspNetCore.Routing.Performance.csproj @@ -18,23 +18,12 @@ for perf comparisons. --> - - - Matchers\MatcherBuilder.cs - Matchers\BarebonesMatcher.cs Matchers\BarebonesMatcherBuilder.cs - - Matchers\DfaMatcher.cs - - - Matchers\DfaMatcherBuilder.cs - - Matchers\RouteMatcher.cs diff --git a/src/Microsoft.AspNetCore.Routing.Abstractions/Properties/AssemblyInfo.cs b/src/Microsoft.AspNetCore.Routing.Abstractions/Properties/AssemblyInfo.cs index 848ab925ed..fc39ed7ef2 100644 --- a/src/Microsoft.AspNetCore.Routing.Abstractions/Properties/AssemblyInfo.cs +++ b/src/Microsoft.AspNetCore.Routing.Abstractions/Properties/AssemblyInfo.cs @@ -3,4 +3,5 @@ using System.Runtime.CompilerServices; -[assembly: InternalsVisibleTo("Microsoft.AspNetCore.Mvc.Routing.Abstractions.Tests, PublicKey=0024000004800000940000000602000000240000525341310004000001000100f33a29044fa9d740c9b3213a93e57c84b472c84e0b8a0e1ae48e67a9f8f6de9d5f7f3d52ac23e48ac51801f1dc950abe901da34d2a9e3baadb141a17c77ef3c565dd5ee5054b91cf63bb3c6ab83f72ab3aafe93d0fc3c2348b764fafb0b1c0733de51459aeab46580384bf9d74c4e28164b7cde247f891ba07891c9d872ad2bb")] \ No newline at end of file +[assembly: InternalsVisibleTo("Microsoft.AspNetCore.Mvc.Routing.Abstractions.Tests, PublicKey=0024000004800000940000000602000000240000525341310004000001000100f33a29044fa9d740c9b3213a93e57c84b472c84e0b8a0e1ae48e67a9f8f6de9d5f7f3d52ac23e48ac51801f1dc950abe901da34d2a9e3baadb141a17c77ef3c565dd5ee5054b91cf63bb3c6ab83f72ab3aafe93d0fc3c2348b764fafb0b1c0733de51459aeab46580384bf9d74c4e28164b7cde247f891ba07891c9d872ad2bb")] +[assembly: InternalsVisibleTo("DynamicProxyGenAssembly2, PublicKey=0024000004800000940000000602000000240000525341310004000001000100c547cac37abd99c8db225ef2f6c8a3602f3b3606cc9891605d02baa56104f4cfc0734aa39b93bf7852f7d9266654753cc297e7d2edfe0bac1cdcf9f717241550e0a7b191195b7667bb4f64bcb8e2121380fd1d9d46ad2d92d2d15605093924cceaf74c4861eff62abf69b9291ed0a340e113be11e6a7d3113e92484cf7045cc7")] diff --git a/src/Microsoft.AspNetCore.Routing.Abstractions/RouteValueDictionary.cs b/src/Microsoft.AspNetCore.Routing.Abstractions/RouteValueDictionary.cs index ad3da79e3e..182147b9af 100644 --- a/src/Microsoft.AspNetCore.Routing.Abstractions/RouteValueDictionary.cs +++ b/src/Microsoft.AspNetCore.Routing.Abstractions/RouteValueDictionary.cs @@ -24,6 +24,57 @@ namespace Microsoft.AspNetCore.Routing internal PropertyStorage _propertyStorage; private int _count; + /// + /// Creates a new from the provided array. + /// The new instance will take ownership of the array, and may mutate it. + /// + /// The items array. + /// A new . + public static RouteValueDictionary FromArray(KeyValuePair[] items) + { + if (items == null) + { + throw new ArgumentNullException(nameof(items)); + } + + // We need to compress the array by removing non-contiguous items. We + // typically have a very small number of items to process. We don't need + // to preserve order. + var start = 0; + var end = items.Length - 1; + + // We walk forwards from the beginning of the array and fill in 'null' slots. + // We walk backwards from the end of the array end move items in non-null' slots + // into whatever start is pointing to. O(n) + while (start <= end) + { + if (items[start].Key != null) + { + start++; + } + else if (items[end].Key != null) + { + // Swap this item into start and advance + items[start] = items[end]; + items[end] = default; + start++; + end--; + } + else + { + // Both null, we need to hold on 'start' since we + // still need to fill it with something. + end--; + } + } + + return new RouteValueDictionary() + { + _arrayStorage = items, + _count = start, + }; + } + /// /// Creates an empty . /// @@ -134,7 +185,6 @@ namespace Microsoft.AspNetCore.Routing } else { - _arrayStorage[index] = new KeyValuePair(key, value); } } @@ -325,7 +375,7 @@ namespace Microsoft.AspNetCore.Routing EnsureCapacity(Count); var index = FindInArray(item.Key); - var array = _arrayStorage; + var array = _arrayStorage; if (index >= 0 && EqualityComparer.Default.Equals(array[index].Value, item.Value)) { Array.Copy(array, index + 1, array, index, _count - index); @@ -426,7 +476,7 @@ namespace Microsoft.AspNetCore.Routing var property = storage.Properties[i]; array[i] = new KeyValuePair(property.Name, property.GetValue(storage.Value)); } - + _arrayStorage = array; _propertyStorage = null; return; diff --git a/src/Microsoft.AspNetCore.Routing/Matchers/Candidate.cs b/src/Microsoft.AspNetCore.Routing/Matchers/Candidate.cs new file mode 100644 index 0000000000..857baa24cc --- /dev/null +++ b/src/Microsoft.AspNetCore.Routing/Matchers/Candidate.cs @@ -0,0 +1,108 @@ +// Copyright (c) .NET Foundation. All rights reserved. +// Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information. + +using System; +using System.Collections.Generic; +using Microsoft.AspNetCore.Routing.Patterns; + +namespace Microsoft.AspNetCore.Routing.Matchers +{ + internal readonly struct Candidate + { + public readonly MatcherEndpoint Endpoint; + + // Used to optimize out operations that modify route values. + public readonly CandidateFlags Flags; + + // Data for creating the RouteValueDictionary. We assign each key its own slot + // and we fill the values array with all of the default values. + // + // Then when we process parameters, we don't need to operate on the RouteValueDictionary + // we can just operate on an array, which is much much faster. + public readonly KeyValuePair[] Slots; + + // List of parameters to capture. Segment is the segment index, index is the + // index into the values array. + public readonly (string parameterName, int segmentIndex, int slotIndex)[] Captures; + + // Catchall parameter to capture (limit one per template). + public readonly (string parameterName, int segmentIndex, int slotIndex) CatchAll; + + // Complex segments are processed in a separate pass because they require a + // RouteValueDictionary. + public readonly (RoutePatternPathSegment pathSegment, int segmentIndex)[] ComplexSegments; + + public readonly MatchProcessor[] MatchProcessors; + + // Used in tests. + public Candidate(MatcherEndpoint endpoint) + { + Endpoint = endpoint; + + Slots = Array.Empty>(); + Captures = Array.Empty<(string parameterName, int segmentIndex, int slotIndex)>(); + CatchAll = default; + ComplexSegments = Array.Empty<(RoutePatternPathSegment pathSegment, int segmentIndex)>(); + MatchProcessors = Array.Empty(); + + Flags = CandidateFlags.None; + } + + public Candidate( + MatcherEndpoint endpoint, + KeyValuePair[] slots, + (string parameterName, int segmentIndex, int slotIndex)[] captures, + (string parameterName, int segmentIndex, int slotIndex) catchAll, + (RoutePatternPathSegment pathSegment, int segmentIndex)[] complexSegments, + MatchProcessor[] matchProcessors) + { + Endpoint = endpoint; + Slots = slots; + Captures = captures; + CatchAll = catchAll; + ComplexSegments = complexSegments; + MatchProcessors = matchProcessors; + + Flags = CandidateFlags.None; + for (var i = 0; i < slots.Length; i++) + { + if (slots[i].Key != null) + { + Flags |= CandidateFlags.HasDefaults; + } + } + + if (captures.Length > 0) + { + Flags |= CandidateFlags.HasCaptures; + } + + if (catchAll.parameterName != null) + { + Flags |= CandidateFlags.HasCatchAll; + } + + if (complexSegments.Length > 0) + { + Flags |= CandidateFlags.HasComplexSegments; + } + + if (matchProcessors.Length > 0) + { + Flags |= CandidateFlags.HasMatchProcessors; + } + } + + [Flags] + public enum CandidateFlags + { + None = 0, + HasDefaults = 1, + HasCaptures = 2, + HasCatchAll = 4, + HasSlots = HasDefaults | HasCaptures | HasCatchAll, + HasComplexSegments = 8, + HasMatchProcessors = 16, + } + } +} diff --git a/test/Microsoft.AspNetCore.Routing.Tests/Matchers/CandidateSet.cs b/src/Microsoft.AspNetCore.Routing/Matchers/CandidateSet.cs similarity index 94% rename from test/Microsoft.AspNetCore.Routing.Tests/Matchers/CandidateSet.cs rename to src/Microsoft.AspNetCore.Routing/Matchers/CandidateSet.cs index 4814082eb7..ad85378f5c 100644 --- a/test/Microsoft.AspNetCore.Routing.Tests/Matchers/CandidateSet.cs +++ b/src/Microsoft.AspNetCore.Routing/Matchers/CandidateSet.cs @@ -5,8 +5,6 @@ using System; namespace Microsoft.AspNetCore.Routing.Matchers { - // This is not yet fleshed out - this is a work in progress to - // unblock the benchmarks. internal class CandidateSet { public static readonly CandidateSet Empty = new CandidateSet(Array.Empty(), Array.Empty()); @@ -56,4 +54,4 @@ namespace Microsoft.AspNetCore.Routing.Matchers return groups; } } -} +} \ No newline at end of file diff --git a/src/Microsoft.AspNetCore.Routing/Matchers/DfaMatcher.cs b/src/Microsoft.AspNetCore.Routing/Matchers/DfaMatcher.cs new file mode 100644 index 0000000000..75a700a02b --- /dev/null +++ b/src/Microsoft.AspNetCore.Routing/Matchers/DfaMatcher.cs @@ -0,0 +1,290 @@ +// Copyright (c) .NET Foundation. All rights reserved. +// Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information. + +using System; +using System.Collections; +using System.Collections.Generic; +using System.Diagnostics; +using System.Linq; +using System.Threading.Tasks; +using Microsoft.AspNetCore.Http; +using Microsoft.AspNetCore.Routing.EndpointConstraints; +using Microsoft.AspNetCore.Routing.Patterns; + +namespace Microsoft.AspNetCore.Routing.Matchers +{ + internal sealed class DfaMatcher : Matcher + { + private readonly EndpointSelector _endpointSelector; + private readonly DfaState[] _states; + + public DfaMatcher(EndpointSelector endpointSelector, DfaState[] states) + { + _endpointSelector = endpointSelector; + _states = states; + } + + public sealed override Task MatchAsync(HttpContext httpContext, IEndpointFeature feature) + { + if (httpContext == null) + { + throw new ArgumentNullException(nameof(httpContext)); + } + + if (feature == null) + { + throw new ArgumentNullException(nameof(feature)); + } + + // The sequence of actions we take is optimized to avoid doing expensive work + // like creating substrings, creating route value dictionaries, and calling + // into policies like versioning. + var path = httpContext.Request.Path.Value; + + // First tokenize the path into series of segments. + Span buffer = stackalloc PathSegment[FastPathTokenizer.DefaultSegmentCount]; + var count = FastPathTokenizer.Tokenize(path, buffer); + var segments = buffer.Slice(0, count); + + // SelectCandidates will process the DFA and return a candidate set. This does + // some preliminary matching of the URL (mostly the literal segments). + var candidates = SelectCandidates(path, segments); + if (candidates.GroupCount == 0) + { + return Task.CompletedTask; + } + + // At this point we have a candidate set, defined as a list of groups + // of candidates. Each member of a given group has the same priority + // (priority is defined by order, precedence and other factors like http method + // or version). + // + // We don't yet know that any candidate can be considered a match, because + // we haven't processed things like route constraints and complex segments. + // + // Now we'll go group by group to capture route values, process constraints, + // and process complex segments. + // + // Perf: using groups.Length - 1 here to elide the bounds check. We're relying + // on assumptions of how Groups works. + var candidatesArray = candidates.Candidates; + var groups = candidates.Groups; + + for (var i = 0; i < groups.Length - 1; i++) + { + var start = groups[i]; + var length = groups[i + 1] - groups[i]; + var group = candidatesArray.AsSpan(start, length); + + // Yes, these allocate. We should revise how this interaction works exactly + // once the extensibility is more locked down. + // + // Would could produce a fast path for a small number of members in + // a group. + var members = new BitArray(group.Length); + var groupValues = new RouteValueDictionary[group.Length]; + + if (FilterGroup( + httpContext, + path, + segments, + group, + members, + groupValues)) + { + // We must have some matches because FilterGroup returned true. + + // So: this code is SUPER SUPER temporary. We don't intent to keep + // EndpointSelector around for very long. + var candidatesForEndpointSelector = new List(); + for (var j = 0; j < group.Length; j++) + { + if (members.Get(j)) + { + candidatesForEndpointSelector.Add(group[j].Endpoint); + } + } + + var result = _endpointSelector.SelectBestCandidate(httpContext, candidatesForEndpointSelector); + if (result != null) + { + // Find the route values, based on which endpoint was selected. We have + // to do this because the endpoint selector returns an endpoint + // instead of mutating the feature. + for (var j = 0; j < group.Length; j++) + { + if (ReferenceEquals(result, group[j].Endpoint)) + { + feature.Endpoint = result; + feature.Invoker = ((MatcherEndpoint)result).Invoker; + feature.Values = groupValues[j]; + return Task.CompletedTask; + } + } + } + + // End super temporary code + } + } + + return Task.CompletedTask; + } + + internal CandidateSet SelectCandidates(string path, ReadOnlySpan segments) + { + var states = _states; + + var destination = 0; + for (var i = 0; i < segments.Length; i++) + { + destination = states[destination].Transitions.GetDestination(path, segments[i]); + } + + return states[destination].Candidates; + } + + private bool FilterGroup( + HttpContext httpContext, + string path, + ReadOnlySpan segments, + ReadOnlySpan group, + BitArray members, + RouteValueDictionary[] groupValues) + { + var hasMatch = false; + for (var i = 0; i < group.Length; i++) + { + // PERF: specifically not copying group[i] into a local. It's a relatively + // fat struct and we don't want to eagerly copy it. + var flags = group[i].Flags; + + // First process all of the parameters and defaults. + RouteValueDictionary values; + if ((flags & Candidate.CandidateFlags.HasSlots) == 0) + { + values = new RouteValueDictionary(); + } + else + { + // The Slots array has the default values of the route values in it. + // + // We want to create a new array for the route values based on Slots + // as a prototype. + var prototype = group[i].Slots; + var slots = new KeyValuePair[prototype.Length]; + + if ((flags & Candidate.CandidateFlags.HasDefaults) != 0) + { + Array.Copy(prototype, 0, slots, 0, prototype.Length); + } + + if ((flags & Candidate.CandidateFlags.HasCaptures) != 0) + { + ProcessCaptures(slots, group[i].Captures, path, segments); + } + + if ((flags & Candidate.CandidateFlags.HasCatchAll) != 0) + { + ProcessCatchAll(slots, group[i].CatchAll, path, segments); + } + + values = RouteValueDictionary.FromArray(slots); + } + + groupValues[i] = values; + + // Now that we have the route values, we need to process complex segments. + // Complex segments go through an old API that requires a fully-materialized + // route value dictionary. + var isMatch = true; + if ((flags & Candidate.CandidateFlags.HasComplexSegments) != 0) + { + isMatch &= ProcessComplexSegments(group[i].ComplexSegments, path, segments, values); + } + + if ((flags & Candidate.CandidateFlags.HasMatchProcessors) != 0) + { + isMatch &= ProcessMatchProcessors(group[i].MatchProcessors, httpContext, values); + } + + members.Set(i, isMatch); + hasMatch |= isMatch; + } + + return hasMatch; + } + + private void ProcessCaptures( + KeyValuePair[] slots, + (string parameterName, int segmentIndex, int slotIndex)[] captures, + string path, + ReadOnlySpan segments) + { + for (var i = 0; i < captures.Length; i++) + { + var parameterName = captures[i].parameterName; + if (segments.Length > captures[i].segmentIndex) + { + var segment = segments[captures[i].segmentIndex]; + if (parameterName != null && segment.Length > 0) + { + slots[captures[i].slotIndex] = new KeyValuePair( + parameterName, + path.Substring(segment.Start, segment.Length)); + } + } + } + } + + private void ProcessCatchAll( + KeyValuePair[] slots, + (string parameterName, int segmentIndex, int slotIndex) catchAll, + string path, + ReadOnlySpan segments) + { + if (segments.Length > catchAll.segmentIndex) + { + var segment = segments[catchAll.segmentIndex]; + slots[catchAll.slotIndex] = new KeyValuePair( + catchAll.parameterName, + path.Substring(segment.Start)); + } + } + + private bool ProcessComplexSegments( + (RoutePatternPathSegment pathSegment, int segmentIndex)[] complexSegments, + string path, + ReadOnlySpan segments, + RouteValueDictionary values) + { + for (var i = 0; i < complexSegments.Length; i++) + { + var segment = segments[complexSegments[i].segmentIndex]; + var text = path.Substring(segment.Start, segment.Length); + if (!RoutePatternMatcher.MatchComplexSegment(complexSegments[i].pathSegment, text, values)) + { + return false; + } + } + + return true; + } + + private bool ProcessMatchProcessors( + MatchProcessor[] matchProcessors, + HttpContext httpContext, + RouteValueDictionary values) + { + for (var i = 0; i < matchProcessors.Length; i++) + { + var matchProcessor = matchProcessors[i]; + if (!matchProcessor.ProcessInbound(httpContext, values)) + { + return false; + } + } + + return true; + } + } +} diff --git a/src/Microsoft.AspNetCore.Routing/Matchers/DfaMatcherBuilder.cs b/src/Microsoft.AspNetCore.Routing/Matchers/DfaMatcherBuilder.cs new file mode 100644 index 0000000000..36f4b2c6fe --- /dev/null +++ b/src/Microsoft.AspNetCore.Routing/Matchers/DfaMatcherBuilder.cs @@ -0,0 +1,435 @@ +// Copyright (c) .NET Foundation. All rights reserved. +// Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information. + +using System; +using System.Collections.Generic; +using System.Linq; +using Microsoft.AspNetCore.Routing.EndpointConstraints; +using Microsoft.AspNetCore.Routing.Patterns; +using Microsoft.AspNetCore.Routing.Template; +using Microsoft.Extensions.Options; + +namespace Microsoft.AspNetCore.Routing.Matchers +{ + internal class DfaMatcherBuilder : MatcherBuilder + { + private readonly List _entries = new List(); + private readonly IInlineConstraintResolver _constraintResolver = new DefaultInlineConstraintResolver(Options.Create(new RouteOptions())); + + private readonly MatchProcessorFactory _matchProcessorFactory; + private readonly EndpointSelector _endpointSelector; + + public DfaMatcherBuilder( + MatchProcessorFactory matchProcessorFactory, + EndpointSelector endpointSelector) + { + _matchProcessorFactory = matchProcessorFactory ?? throw new ArgumentNullException(nameof(matchProcessorFactory)); + _endpointSelector = endpointSelector ?? throw new ArgumentNullException(nameof(endpointSelector)); + } + + public override void AddEndpoint(MatcherEndpoint endpoint) + { + _entries.Add(new MatcherBuilderEntry(endpoint)); + } + + public DfaNode BuildDfaTree() + { + // We build the tree by doing a BFS over the list of entries. This is important + // because a 'parameter' node can also traverse the same paths that literal nodes + // traverse. This means that we need to order the entries first, or else we will + // miss possible edges in the DFA. + _entries.Sort(); + + // Since we're doing a BFS we will process each 'level' of the tree in stages + // this list will hold the set of items we need to process at the current + // stage. + var work = new List<(MatcherBuilderEntry entry, List parents)>(); + + var root = new DfaNode() { Depth = 0, Label = "/" }; + + // To prepare for this we need to compute the max depth, as well as + // a seed list of items to process (entry, root). + var maxDepth = 0; + for (var i = 0; i < _entries.Count; i++) + { + var entry = _entries[i]; + maxDepth = Math.Max(maxDepth, entry.Pattern.Segments.Count); + + work.Add((entry, new List() { root, })); + } + + // Now we process the entries a level at a time. + for (var depth = 0; depth <= maxDepth; depth++) + { + // As we process items, collect the next set of items. + var nextWork = new List<(MatcherBuilderEntry entry, List parents)>(); + + for (var i = 0; i < work.Count; i++) + { + var (entry, parents) = work[i]; + + if (!HasAdditionalRequiredSegments(entry, depth)) + { + for (var j = 0; j < parents.Count; j++) + { + var parent = parents[j]; + parent.Matches.Add(entry); + } + } + + // Find the parents of this edge at the current depth + var nextParents = new List(); + var segment = GetCurrentSegment(entry, depth); + if (segment == null) + { + continue; + } + + for (var j = 0; j < parents.Count; j++) + { + var parent = parents[j]; + if (segment.IsSimple && segment.Parts[0].IsLiteral) + { + var literal = segment.Parts[0].Text; + if (!parent.Literals.TryGetValue(literal, out var next)) + { + next = new DfaNode() + { + Depth = parent.Depth + 1, + Label = parent.Label + literal + "/", + }; + parent.Literals.Add(literal, next); + } + + nextParents.Add(next); + } + else if (segment.IsSimple && segment.Parts[0].IsCatchAll) + { + // A catch all should traverse all literal nodes as well as parameter nodes + // we don't need to create the parameter node here because of ordering + // all catchalls will be processed after all parameters. + nextParents.AddRange(parent.Literals.Values); + if (parent.Parameters != null) + { + nextParents.Add(parent.Parameters); + } + + // We also create a 'catchall' here. We don't do further traversals + // on the catchall node because only catchalls can end up here. The + // catchall node allows us to capture an unlimited amount of segments + // and also to match a zero-length segment, which a parameter node + // doesn't allow. + if (parent.CatchAll == null) + { + parent.CatchAll = new DfaNode() + { + Depth = parent.Depth + 1, + Label = parent.Label + "{*...}/", + }; + + // The catchall node just loops. + parent.CatchAll.Parameters = parent.CatchAll; + parent.CatchAll.CatchAll = parent.CatchAll; + } + + parent.CatchAll.Matches.Add(entry); + } + else if (segment.IsSimple && segment.Parts[0].IsParameter) + { + if (parent.Parameters == null) + { + parent.Parameters = new DfaNode() + { + Depth = parent.Depth + 1, + Label = parent.Label + "{...}/", + }; + } + + // A parameter should traverse all literal nodes as well as the parameter node + nextParents.AddRange(parent.Literals.Values); + nextParents.Add(parent.Parameters); + } + else + { + // Complex segment - we treat these are parameters here and do the + // expensive processing later. We don't want to spend time processing + // complex segments unless they are the best match, and treating them + // like parameters in the DFA allows us to do just that. + if (parent.Parameters == null) + { + parent.Parameters = new DfaNode() + { + Depth = parent.Depth + 1, + Label = parent.Label + "{...}/", + }; + } + + nextParents.AddRange(parent.Literals.Values); + nextParents.Add(parent.Parameters); + } + } + + if (nextParents.Count > 0) + { + nextWork.Add((entry, nextParents)); + } + } + + // Prepare the process the next stage. + work = nextWork; + } + + return root; + } + + private TemplateSegment GetCurrentSegment(MatcherBuilderEntry entry, int depth) + { + if (depth < entry.Pattern.Segments.Count) + { + return entry.Pattern.Segments[depth]; + } + + if (entry.Pattern.Segments.Count == 0) + { + return null; + } + + var lastSegment = entry.Pattern.Segments[entry.Pattern.Segments.Count - 1]; + if (lastSegment.IsSimple && lastSegment.Parts[0].IsCatchAll) + { + return lastSegment; + } + + return null; + } + + public override Matcher Build() + { + var root = BuildDfaTree(); + + var states = new List(); + var tables = new List(); + AddNode(root, states, tables); + + var exit = states.Count; + states.Add(new DfaState(CandidateSet.Empty, null)); + tables.Add(new JumpTableBuilder() { DefaultDestination = exit, ExitDestination = exit, }); + + for (var i = 0; i < tables.Count; i++) + { + if (tables[i].DefaultDestination == JumpTableBuilder.InvalidDestination) + { + tables[i].DefaultDestination = exit; + } + + if (tables[i].ExitDestination == JumpTableBuilder.InvalidDestination) + { + tables[i].ExitDestination = exit; + } + } + + for (var i = 0; i < states.Count; i++) + { + states[i] = new DfaState(states[i].Candidates, tables[i].Build()); + } + + return new DfaMatcher(_endpointSelector, states.ToArray()); + } + + private int AddNode(DfaNode node, List states, List tables) + { + node.Matches.Sort(); + + var stateIndex = states.Count; + var candidates = new CandidateSet( + node.Matches.Select(CreateCandidate).ToArray(), + CandidateSet.MakeGroups(GetGroupLengths(node))); + states.Add(new DfaState(candidates, null)); + + var table = new JumpTableBuilder(); + tables.Add(table); + + foreach (var kvp in node.Literals) + { + if (kvp.Key == null) + { + continue; + } + + var transition = Transition(kvp.Value); + table.AddEntry(kvp.Key, transition); + } + + if (node.Parameters != null && + node.CatchAll != null && + ReferenceEquals(node.Parameters, node.CatchAll)) + { + // This node has a single transition to but it should accept zero-width segments + // this can happen when a node only has catchall parameters. + table.DefaultDestination = Transition(node.Parameters); + table.ExitDestination = table.DefaultDestination; + } + else if (node.Parameters != null && node.CatchAll != null) + { + // This node has a separate transition for zero-width segments + // this can happen when a node has both parameters and catchall parameters. + table.DefaultDestination = Transition(node.Parameters); + table.ExitDestination = Transition(node.CatchAll); + } + else if (node.Parameters != null) + { + // This node has paramters but no catchall. + table.DefaultDestination = Transition(node.Parameters); + } + else if (node.CatchAll != null) + { + // This node has a catchall but no parameters + table.DefaultDestination = Transition(node.CatchAll); + table.ExitDestination = table.DefaultDestination; + } + + return stateIndex; + + int Transition(DfaNode next) + { + // Break cycles + return ReferenceEquals(node, next) ? stateIndex : AddNode(next, states, tables); + } + } + + // internal for tests + internal Candidate CreateCandidate(MatcherBuilderEntry entry) + { + var assignments = new Dictionary(StringComparer.OrdinalIgnoreCase); + var slots = new List>(); + var captures = new List<(string parameterName, int segmentIndex, int slotIndex)>(); + (string parameterName, int segmentIndex, int slotIndex) catchAll = default; + + foreach (var kvp in entry.Endpoint.Defaults) + { + assignments.Add(kvp.Key, assignments.Count); + slots.Add(kvp); + } + + for (var i = 0; i < entry.Pattern.Segments.Count; i++) + { + var segment = entry.Pattern.Segments[i]; + if (!segment.IsSimple) + { + continue; + } + + var part = segment.Parts[0]; + if (!part.IsParameter) + { + continue; + } + + if (!assignments.TryGetValue(part.Name, out var slotIndex)) + { + slotIndex = assignments.Count; + assignments.Add(part.Name, slotIndex); + + var hasDefaultValue = part.DefaultValue != null || part.IsCatchAll; + slots.Add(hasDefaultValue ? new KeyValuePair(part.Name, part.DefaultValue) : default); + } + + if (part.IsCatchAll) + { + catchAll = (part.Name, i, slotIndex); + } + else + { + captures.Add((part.Name, i, slotIndex)); + } + } + + var complexSegments = new List<(RoutePatternPathSegment pathSegment, int segmentIndex)>(); + for (var i = 0; i < entry.Pattern.Segments.Count; i++) + { + var segment = entry.Pattern.Segments[i]; + if (segment.IsSimple) + { + continue; + } + + complexSegments.Add((segment.ToRoutePatternPathSegment(), i)); + } + + var matchProcessors = new List(); + for (var i = 0; i < entry.Endpoint.MatchProcessorReferences.Count; i++) + { + var reference = entry.Endpoint.MatchProcessorReferences[i]; + var processor = _matchProcessorFactory.Create(reference); + matchProcessors.Add(processor); + } + + return new Candidate( + entry.Endpoint, + slots.ToArray(), + captures.ToArray(), + catchAll, + complexSegments.ToArray(), + matchProcessors.ToArray()); + } + + private int[] GetGroupLengths(DfaNode node) + { + if (node.Matches.Count == 0) + { + return Array.Empty(); + } + + var groups = new List(); + + var length = 1; + var exemplar = node.Matches[0]; + + for (var i = 1; i < node.Matches.Count; i++) + { + if (!exemplar.PriorityEquals(node.Matches[i])) + { + groups.Add(length); + length = 0; + + exemplar = node.Matches[i]; + } + + length++; + } + + groups.Add(length); + + return groups.ToArray(); + } + + private static bool HasAdditionalRequiredSegments(MatcherBuilderEntry entry, int depth) + { + for (var i = depth; i < entry.Pattern.Segments.Count; i++) + { + var segment = entry.Pattern.Segments[i]; + if (!segment.IsSimple) + { + // Complex segments always require more processing + return true; + } + + var part = segment.Parts[0]; + if (part.IsLiteral) + { + return true; + } + + if (!part.IsOptional && + !part.IsCatchAll && + part.DefaultValue == null && + !entry.Endpoint.Defaults.ContainsKey(part.Name)) + { + return true; + } + } + + return false; + } + } +} diff --git a/src/Microsoft.AspNetCore.Routing/Matchers/DfaNode.cs b/src/Microsoft.AspNetCore.Routing/Matchers/DfaNode.cs new file mode 100644 index 0000000000..bf16975db8 --- /dev/null +++ b/src/Microsoft.AspNetCore.Routing/Matchers/DfaNode.cs @@ -0,0 +1,56 @@ +// Copyright (c) .NET Foundation. All rights reserved. +// Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information. + +using System; +using System.Collections.Generic; +using System.Diagnostics; +using System.Linq; +using System.Text; + +namespace Microsoft.AspNetCore.Routing.Matchers +{ + // Intermediate data structure used to build the DFA. Not used at runtime. + [DebuggerDisplay("{DebuggerToString(),nq}")] + internal class DfaNode + { + public DfaNode() + { + Literals = new Dictionary(StringComparer.OrdinalIgnoreCase); + Matches = new List(); + } + + // The depth of the node. The depth indicates the number of segments + // that must be processed to arrive at this node. + public int Depth { get; set; } + + // Just for diagnostics and debugging + public string Label { get; set; } + + public List Matches { get; } + + public Dictionary Literals { get; } + + public DfaNode Parameters { get; set; } + + public DfaNode CatchAll { get; set; } + + private string DebuggerToString() + { + var builder = new StringBuilder(); + builder.Append(Label); + builder.Append(" d:"); + builder.Append(Depth); + builder.Append(" m:"); + builder.Append(Matches.Count); + builder.Append(" c: "); + builder.Append(string.Join(", ", Literals.Select(kvp => $"{kvp.Key}->({FormatNode(kvp.Value)})"))); + return builder.ToString(); + + // DfaNodes can be self-referential, don't traverse cycles. + string FormatNode(DfaNode other) + { + return ReferenceEquals(this, other) ? "this" : other.DebuggerToString(); + } + } + } +} diff --git a/src/Microsoft.AspNetCore.Routing/Matchers/DfaState.cs b/src/Microsoft.AspNetCore.Routing/Matchers/DfaState.cs new file mode 100644 index 0000000000..cdab988567 --- /dev/null +++ b/src/Microsoft.AspNetCore.Routing/Matchers/DfaState.cs @@ -0,0 +1,25 @@ +// Copyright (c) .NET Foundation. All rights reserved. +// Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information. + +using System.Diagnostics; + +namespace Microsoft.AspNetCore.Routing.Matchers +{ + [DebuggerDisplay("{DebuggerToString(),nq}")] + internal readonly struct DfaState + { + public readonly CandidateSet Candidates; + public readonly JumpTable Transitions; + + public DfaState(CandidateSet candidates, JumpTable transitions) + { + Candidates = candidates; + Transitions = transitions; + } + + public string DebuggerToString() + { + return $"m: {Candidates.Candidates?.Length ?? 0}, j: ({Transitions?.DebuggerToString()})"; + } + } +} diff --git a/test/Microsoft.AspNetCore.Routing.Tests/Matchers/MatcherBuilder.cs b/src/Microsoft.AspNetCore.Routing/Matchers/MatcherBuilder.cs similarity index 100% rename from test/Microsoft.AspNetCore.Routing.Tests/Matchers/MatcherBuilder.cs rename to src/Microsoft.AspNetCore.Routing/Matchers/MatcherBuilder.cs diff --git a/test/Microsoft.AspNetCore.Routing.Tests/Matchers/MatcherBuilderEntry.cs b/src/Microsoft.AspNetCore.Routing/Matchers/MatcherBuilderEntry.cs similarity index 73% rename from test/Microsoft.AspNetCore.Routing.Tests/Matchers/MatcherBuilderEntry.cs rename to src/Microsoft.AspNetCore.Routing/Matchers/MatcherBuilderEntry.cs index ba84ac7b44..f6cca216ee 100644 --- a/test/Microsoft.AspNetCore.Routing.Tests/Matchers/MatcherBuilderEntry.cs +++ b/src/Microsoft.AspNetCore.Routing/Matchers/MatcherBuilderEntry.cs @@ -14,9 +14,7 @@ namespace Microsoft.AspNetCore.Routing.Matchers { Endpoint = endpoint; - HttpMethod = endpoint.Metadata - .OfType() - .FirstOrDefault()?.HttpMethods.Single(); + HttpMethod = endpoint.Metadata.OfType().FirstOrDefault()?.HttpMethods.Single(); Precedence = RoutePrecedence.ComputeInbound(endpoint.ParsedTemplate); } @@ -44,15 +42,12 @@ namespace Microsoft.AspNetCore.Routing.Matchers return comparison; } - // Treat the presence of an HttpMethod as a boolean for the purposes of - // comparison. We want HttpMethod != null to mean *more specific*. - comparison = (HttpMethod == null).CompareTo(other.HttpMethod == null); - if (comparison != 0) - { - return comparison; - } - return Pattern.TemplateText.CompareTo(other.Pattern.TemplateText); } + + public bool PriorityEquals(MatcherBuilderEntry other) + { + return Order == other.Order && Precedence == other.Precedence; + } } -} \ No newline at end of file +} diff --git a/src/Microsoft.AspNetCore.Routing/Patterns/RoutePatternMatcher.cs b/src/Microsoft.AspNetCore.Routing/Patterns/RoutePatternMatcher.cs index 9ac6d9b90c..6855b8a518 100644 --- a/src/Microsoft.AspNetCore.Routing/Patterns/RoutePatternMatcher.cs +++ b/src/Microsoft.AspNetCore.Routing/Patterns/RoutePatternMatcher.cs @@ -161,7 +161,7 @@ namespace Microsoft.AspNetCore.Routing } if (!pathSegment.IsSimple) { - if (!MatchComplexSegment(pathSegment, requestSegment.ToString(), Defaults, values)) + if (!MatchComplexSegment(pathSegment, requestSegment.ToString(), values)) { return false; } @@ -287,10 +287,9 @@ namespace Microsoft.AspNetCore.Routing return false; } - private bool MatchComplexSegment( + internal static bool MatchComplexSegment( RoutePatternPathSegment routeSegment, string requestSegment, - IReadOnlyDictionary defaults, RouteValueDictionary values) { var indexOfLastSegment = routeSegment.Parts.Count - 1; @@ -307,7 +306,7 @@ namespace Microsoft.AspNetCore.Routing if (routeSegment.Parts[indexOfLastSegment] is RoutePatternParameterPart parameter && parameter.IsOptional && routeSegment.Parts[indexOfLastSegment - 1].IsSeparator) { - if (MatchComplexSegmentCore(routeSegment, requestSegment, Defaults, values, indexOfLastSegment)) + if (MatchComplexSegmentCore(routeSegment, requestSegment, values, indexOfLastSegment)) { return true; } @@ -322,21 +321,19 @@ namespace Microsoft.AspNetCore.Routing return MatchComplexSegmentCore( routeSegment, requestSegment, - Defaults, values, indexOfLastSegment - 2); } } else { - return MatchComplexSegmentCore(routeSegment, requestSegment, Defaults, values, indexOfLastSegment); + return MatchComplexSegmentCore(routeSegment, requestSegment, values, indexOfLastSegment); } } - private bool MatchComplexSegmentCore( + private static bool MatchComplexSegmentCore( RoutePatternPathSegment routeSegment, string requestSegment, - IReadOnlyDictionary defaults, RouteValueDictionary values, int indexOfLastSegmentUsed) { @@ -499,7 +496,7 @@ namespace Microsoft.AspNetCore.Routing { foreach (var item in outValues) { - values.Add(item.Key, item.Value); + values[item.Key] = item.Value; } return true; diff --git a/src/Microsoft.AspNetCore.Routing/Properties/AssemblyInfo.cs b/src/Microsoft.AspNetCore.Routing/Properties/AssemblyInfo.cs index b654ae0cdf..1da3395469 100644 --- a/src/Microsoft.AspNetCore.Routing/Properties/AssemblyInfo.cs +++ b/src/Microsoft.AspNetCore.Routing/Properties/AssemblyInfo.cs @@ -5,3 +5,4 @@ using System.Runtime.CompilerServices; [assembly: InternalsVisibleTo("Microsoft.AspNetCore.Routing.Performance, PublicKey=0024000004800000940000000602000000240000525341310004000001000100f33a29044fa9d740c9b3213a93e57c84b472c84e0b8a0e1ae48e67a9f8f6de9d5f7f3d52ac23e48ac51801f1dc950abe901da34d2a9e3baadb141a17c77ef3c565dd5ee5054b91cf63bb3c6ab83f72ab3aafe93d0fc3c2348b764fafb0b1c0733de51459aeab46580384bf9d74c4e28164b7cde247f891ba07891c9d872ad2bb")] [assembly: InternalsVisibleTo("Microsoft.AspNetCore.Routing.Tests, PublicKey=0024000004800000940000000602000000240000525341310004000001000100f33a29044fa9d740c9b3213a93e57c84b472c84e0b8a0e1ae48e67a9f8f6de9d5f7f3d52ac23e48ac51801f1dc950abe901da34d2a9e3baadb141a17c77ef3c565dd5ee5054b91cf63bb3c6ab83f72ab3aafe93d0fc3c2348b764fafb0b1c0733de51459aeab46580384bf9d74c4e28164b7cde247f891ba07891c9d872ad2bb")] +[assembly: InternalsVisibleTo("DynamicProxyGenAssembly2, PublicKey=0024000004800000940000000602000000240000525341310004000001000100c547cac37abd99c8db225ef2f6c8a3602f3b3606cc9891605d02baa56104f4cfc0734aa39b93bf7852f7d9266654753cc297e7d2edfe0bac1cdcf9f717241550e0a7b191195b7667bb4f64bcb8e2121380fd1d9d46ad2d92d2d15605093924cceaf74c4861eff62abf69b9291ed0a340e113be11e6a7d3113e92484cf7045cc7")] diff --git a/test/Microsoft.AspNetCore.Mvc.Routing.Abstractions.Tests/RouteValueDictionaryTests.cs b/test/Microsoft.AspNetCore.Mvc.Routing.Abstractions.Tests/RouteValueDictionaryTests.cs index 294e034131..5cb45fc14c 100644 --- a/test/Microsoft.AspNetCore.Mvc.Routing.Abstractions.Tests/RouteValueDictionaryTests.cs +++ b/test/Microsoft.AspNetCore.Mvc.Routing.Abstractions.Tests/RouteValueDictionaryTests.cs @@ -1489,6 +1489,76 @@ namespace Microsoft.AspNetCore.Routing.Tests Assert.Equal("value3", storage[1].Value); } + [Fact] + public void FromArray_TakesOwnershipOfArray() + { + // Arrange + var array = new KeyValuePair[] + { + new KeyValuePair("a", 0), + new KeyValuePair("b", 1), + new KeyValuePair("c", 2), + }; + + var dictionary = RouteValueDictionary.FromArray(array); + + // Act - modifying the array should modify the dictionary + array[0] = new KeyValuePair("aa", 10); + + // Assert + Assert.Equal(3, dictionary.Count); + Assert.Equal(10, dictionary["aa"]); + } + + [Fact] + public void FromArray_EmptyArray() + { + // Arrange + var array = Array.Empty>(); + + // Act + var dictionary = RouteValueDictionary.FromArray(array); + + // Assert + Assert.Empty(dictionary); + } + + [Fact] + public void FromArray_RemovesGapsInArray() + { + // Arrange + var array = new KeyValuePair[] + { + new KeyValuePair(null, null), + new KeyValuePair("a", 0), + new KeyValuePair(null, null), + new KeyValuePair(null, null), + new KeyValuePair("b", 1), + new KeyValuePair("c", 2), + new KeyValuePair("d", 3), + new KeyValuePair(null, null), + }; + + // Act - calling From should modify the array + var dictionary = RouteValueDictionary.FromArray(array); + + // Assert + Assert.Equal(4, dictionary.Count); + Assert.Equal( + new KeyValuePair[] + { + new KeyValuePair("d", 3), + new KeyValuePair("a", 0), + new KeyValuePair("c", 2), + new KeyValuePair("b", 1), + new KeyValuePair(null, null), + new KeyValuePair(null, null), + new KeyValuePair(null, null), + new KeyValuePair(null, null), + }, + array); + } + private class RegularType { public bool IsAwesome { get; set; } diff --git a/test/Microsoft.AspNetCore.Routing.Tests/Matchers/Candidate.cs b/test/Microsoft.AspNetCore.Routing.Tests/Matchers/Candidate.cs deleted file mode 100644 index dc768ef113..0000000000 --- a/test/Microsoft.AspNetCore.Routing.Tests/Matchers/Candidate.cs +++ /dev/null @@ -1,28 +0,0 @@ -// Copyright (c) .NET Foundation. All rights reserved. -// Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information. - -using System; - -namespace Microsoft.AspNetCore.Routing.Matchers -{ - // This is not yet fleshed out - consider this part of the - // work-in-progress definition of CandidateSet. - internal readonly struct Candidate - { - public readonly MatcherEndpoint Endpoint; - - public readonly string[] Parameters; - - public Candidate(MatcherEndpoint endpoint) - { - Endpoint = endpoint; - Parameters = Array.Empty(); - } - - public Candidate(MatcherEndpoint endpoint, string[] parameters) - { - Endpoint = endpoint; - Parameters = parameters; - } - } -} diff --git a/test/Microsoft.AspNetCore.Routing.Tests/Matchers/DfaMatcher.cs b/test/Microsoft.AspNetCore.Routing.Tests/Matchers/DfaMatcher.cs deleted file mode 100644 index 429c34f07e..0000000000 --- a/test/Microsoft.AspNetCore.Routing.Tests/Matchers/DfaMatcher.cs +++ /dev/null @@ -1,134 +0,0 @@ -// Copyright (c) .NET Foundation. All rights reserved. -// Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information. - -using System; -using System.Collections.Generic; -using System.Diagnostics; -using System.Threading.Tasks; -using Microsoft.AspNetCore.Http; -using Microsoft.AspNetCore.Routing.EndpointConstraints; - -namespace Microsoft.AspNetCore.Routing.Matchers -{ - internal class DfaMatcher : Matcher - { - private readonly State[] _states; - - public DfaMatcher(State[] states) - { - _states = states; - } - - public override Task MatchAsync(HttpContext httpContext, IEndpointFeature feature) - { - if (httpContext == null) - { - throw new ArgumentNullException(nameof(httpContext)); - } - - if (feature == null) - { - throw new ArgumentNullException(nameof(feature)); - } - - var path = httpContext.Request.Path.Value; - Span segments = stackalloc PathSegment[FastPathTokenizer.DefaultSegmentCount]; - var count = FastPathTokenizer.Tokenize(path, segments); - - var candidates = SelectCandidates(path, segments.Slice(0, count)); - - var matches = new List<(Endpoint, RouteValueDictionary)>(); - - // This code ignores groups for right now. - for (var i = 0; i < candidates.Candidates.Length; i++) - { - var isMatch = true; - - var candidate = candidates.Candidates[i]; - var values = new RouteValueDictionary(); - var parameters = candidate.Parameters; - if (parameters != null) - { - for (var j = 0; j < parameters.Length; j++) - { - var parameter = parameters[j]; - if (parameter != null && segments[j].Length == 0) - { - isMatch = false; - break; - } - else if (parameter != null) - { - var value = path.Substring(segments[j].Start, segments[j].Length); - values.Add(parameter, value); - } - } - } - - // This is some super super temporary code so we can pass the benchmarks - // that do HTTP method matching. - var httpMethodConstraint = candidate.Endpoint.Metadata.GetMetadata(); - if (httpMethodConstraint != null && !MatchHttpMethod(httpContext.Request.Method, httpMethodConstraint)) - { - isMatch = false; - } - - if (isMatch) - { - matches.Add((candidate.Endpoint, values)); - } - } - - feature.Endpoint = matches.Count == 0 ? null : matches[0].Item1; - feature.Values = matches.Count == 0 ? null : matches[0].Item2; - - return Task.CompletedTask; - } - - // This is some super super temporary code so we can pass the benchmarks - // that do HTTP method matching. - private bool MatchHttpMethod(string httpMethod, HttpMethodEndpointConstraint constraint) - { - foreach (var supportedHttpMethod in constraint.HttpMethods) - { - if (string.Equals(supportedHttpMethod, httpMethod, StringComparison.OrdinalIgnoreCase)) - { - return true; - } - } - - return false; - } - - public CandidateSet SelectCandidates(string path, ReadOnlySpan segments) - { - var states = _states; - var current = 0; - - for (var i = 0; i < segments.Length; i++) - { - current = states[current].Transitions.GetDestination(path, segments[i]); - } - - return states[current].Candidates; - } - - [DebuggerDisplay("{DebuggerToString(),nq}")] - public readonly struct State - { - public readonly CandidateSet Candidates; - public readonly JumpTable Transitions; - - public State(CandidateSet candidates, JumpTable transitions) - { - Candidates = candidates; - Transitions = transitions; - } - - public string DebuggerToString() - { - return $"m: {Candidates.Candidates?.Length ?? 0}, j: ({Transitions?.DebuggerToString()})"; - } - } - } -} diff --git a/test/Microsoft.AspNetCore.Routing.Tests/Matchers/DfaMatcherBuilder.cs b/test/Microsoft.AspNetCore.Routing.Tests/Matchers/DfaMatcherBuilder.cs deleted file mode 100644 index cdfe233a7d..0000000000 --- a/test/Microsoft.AspNetCore.Routing.Tests/Matchers/DfaMatcherBuilder.cs +++ /dev/null @@ -1,226 +0,0 @@ -// Copyright (c) .NET Foundation. All rights reserved. -// Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information. - -using System; -using System.Collections.Generic; -using System.Diagnostics; -using System.Linq; -using System.Text; -using Microsoft.AspNetCore.Routing.Template; -using static Microsoft.AspNetCore.Routing.Matchers.DfaMatcher; - -namespace Microsoft.AspNetCore.Routing.Matchers -{ - internal class DfaMatcherBuilder : MatcherBuilder - { - private List _entries = new List(); - - public override void AddEndpoint(MatcherEndpoint endpoint) - { - var parsed = TemplateParser.Parse(endpoint.Template); - _entries.Add(new MatcherBuilderEntry(endpoint)); - } - - public override Matcher Build() - { - _entries.Sort(); - - var root = new Node() { Depth = -1 }; - - // We build the tree by doing a BFS over the list of entries. This is important - // because a 'parameter' node can also traverse the same paths that literal nodes traverse. - var maxDepth = 0; - for (var i = 0; i < _entries.Count; i++) - { - maxDepth = Math.Max(maxDepth, _entries[i].Pattern.Segments.Count); - } - - for (var depth = 0; depth <= maxDepth; depth++) - { - for (var i = 0; i < _entries.Count; i++) - { - var entry = _entries[i]; - if (entry.Pattern.Segments.Count < depth) - { - continue; - } - - // Find the parents of this edge at the current depth - var parents = new List() { root }; - for (var j = 0; j < depth; j++) - { - var next = new List(); - for (var k = 0; k < parents.Count; k++) - { - next.Add(Traverse(parents[k], entry.Pattern.Segments[j])); - } - - parents = next; - } - - if (entry.Pattern.Segments.Count == depth) - { - for (var j = 0; j < parents.Count; j++) - { - var parent = parents[j]; - parent.Matches.Add(entry); - } - - continue; - } - - var segment = entry.Pattern.Segments[depth]; - for (var j = 0; j < parents.Count; j++) - { - var parent = parents[j]; - if (segment.IsSimple && segment.Parts[0].IsLiteral) - { - if (!parent.Literals.TryGetValue(segment.Parts[0].Text, out var next)) - { - next = new Node() { Depth = depth, }; - parent.Literals.Add(segment.Parts[0].Text, next); - } - } - else if (segment.IsSimple && segment.Parts[0].IsParameter) - { - if (!parent.Literals.TryGetValue("*", out var next)) - { - next = new Node() { Depth = depth, }; - parent.Literals.Add("*", next); - } - } - else - { - throw new InvalidOperationException("We only support simple segments."); - } - } - } - } - - var states = new List(); - var tables = new List(); - AddNode(root, states, tables); - - var exit = states.Count; - states.Add(new State(CandidateSet.Empty, null)); - tables.Add(new JumpTableBuilder() { DefaultDestination = exit, ExitDestination = exit, }); - - for (var i = 0; i < tables.Count; i++) - { - if (tables[i].DefaultDestination == JumpTableBuilder.InvalidDestination) - { - tables[i].DefaultDestination = exit; - } - - if (tables[i].ExitDestination == JumpTableBuilder.InvalidDestination) - { - tables[i].ExitDestination = exit; - } - } - - for (var i = 0; i < states.Count; i++) - { - states[i] = new State(states[i].Candidates, tables[i].Build()); - } - - return new DfaMatcher(states.ToArray()); - } - - private Node Traverse(Node node, TemplateSegment segment) - { - if (!segment.IsSimple) - { - throw new InvalidOperationException("We only support simple segments."); - } - - if (segment.Parts[0].IsLiteral) - { - return node.Literals[segment.Parts[0].Text]; - } - - return node.Literals["*"]; - } - - private static int AddNode(Node node, List states, List tables) - { - node.Matches.Sort(); - - var index = states.Count; - - // This is just temporary. This code ignores groups for now, and creates - // a single group with all matches. - var candidates = new CandidateSet( - node.Matches.Select(CreateCandidate).ToArray(), - CandidateSet.MakeGroups(new int[] { node.Matches.Count, })); - - // JumpTable temporarily null. Will be patched later. - states.Add(new State(candidates, null)); - - var table = new JumpTableBuilder(); - tables.Add(table); - - foreach (var kvp in node.Literals) - { - if (kvp.Key == "*") - { - continue; - } - - var transition = AddNode(kvp.Value, states, tables); - table.AddEntry(kvp.Key, transition); - } - - var defaultIndex = -1; - if (node.Literals.TryGetValue("*", out var exit)) - { - defaultIndex = AddNode(exit, states, tables); - } - - table.DefaultDestination = defaultIndex; - return index; - } - - private static Candidate CreateCandidate(MatcherBuilderEntry entry) - { - var parameters = entry.Pattern.Segments - .Select(s => s.IsSimple && s.Parts[0].IsParameter ? s.Parts[0].Name : null) - .ToArray(); - return new Candidate(entry.Endpoint, parameters); - } - - private static Node DeepCopy(Node node) - { - var copy = new Node() { Depth = node.Depth, }; - copy.Matches.AddRange(node.Matches); - - foreach (var kvp in node.Literals) - { - copy.Literals.Add(kvp.Key, DeepCopy(kvp.Value)); - } - - return node; - } - - [DebuggerDisplay("{DebuggerToString(),nq}")] - private class Node - { - public int Depth { get; set; } - - public List Matches { get; } = new List(); - - public Dictionary Literals { get; } = new Dictionary(StringComparer.OrdinalIgnoreCase); - - private string DebuggerToString() - { - var builder = new StringBuilder(); - builder.Append("d:"); - builder.Append(Depth); - builder.Append(" m:"); - builder.Append(Matches.Count); - builder.Append(" c: "); - builder.Append(string.Join(", ", Literals.Select(kvp => $"{kvp.Key}->({kvp.Value.DebuggerToString()})"))); - return builder.ToString(); - } - } - } -} diff --git a/test/Microsoft.AspNetCore.Routing.Tests/Matchers/DfaMatcherBuilderTest.cs b/test/Microsoft.AspNetCore.Routing.Tests/Matchers/DfaMatcherBuilderTest.cs new file mode 100644 index 0000000000..5cbc613562 --- /dev/null +++ b/test/Microsoft.AspNetCore.Routing.Tests/Matchers/DfaMatcherBuilderTest.cs @@ -0,0 +1,626 @@ +// Copyright (c) .NET Foundation. All rights reserved. +// Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information. + +using System; +using System.Collections.Generic; +using System.Linq; +using Microsoft.AspNetCore.Routing.Constraints; +using Microsoft.AspNetCore.Routing.EndpointConstraints; +using Microsoft.Extensions.Logging.Abstractions; +using Moq; +using Xunit; + +namespace Microsoft.AspNetCore.Routing.Matchers +{ + public class DfaMatcherBuilderTest + { + [Fact] + public void BuildDfaTree_SingleEndpoint_Empty() + { + // Arrange + var builder = CreateDfaMatcherBuilder(); + + var endpoint = CreateEndpoint("/"); + builder.AddEndpoint(endpoint); + + // Act + var root = builder.BuildDfaTree(); + + // Assert + Assert.Same(endpoint, Assert.Single(root.Matches).Endpoint); + Assert.Null(root.Parameters); + Assert.Empty(root.Literals); + } + + [Fact] + public void BuildDfaTree_SingleEndpoint_Literals() + { + // Arrange + var builder = CreateDfaMatcherBuilder(); + + var endpoint = CreateEndpoint("a/b/c"); + builder.AddEndpoint(endpoint); + + // Act + var root = builder.BuildDfaTree(); + + // Assert + Assert.Empty(root.Matches); + Assert.Null(root.Parameters); + + var next = Assert.Single(root.Literals); + Assert.Equal("a", next.Key); + + var a = next.Value; + Assert.Empty(a.Matches); + Assert.Null(a.Parameters); + + next = Assert.Single(a.Literals); + Assert.Equal("b", next.Key); + + var b = next.Value; + Assert.Empty(b.Matches); + Assert.Null(b.Parameters); + + next = Assert.Single(b.Literals); + Assert.Equal("c", next.Key); + + var c = next.Value; + Assert.Same(endpoint, Assert.Single(c.Matches).Endpoint); + Assert.Null(c.Parameters); + Assert.Empty(c.Literals); + } + + [Fact] + public void BuildDfaTree_SingleEndpoint_Parameters() + { + // Arrange + var builder = CreateDfaMatcherBuilder(); + + var endpoint = CreateEndpoint("{a}/{b}/{c}"); + builder.AddEndpoint(endpoint); + + // Act + var root = builder.BuildDfaTree(); + + // Assert + Assert.Empty(root.Matches); + Assert.Empty(root.Literals); + + var a = root.Parameters; + Assert.Empty(a.Matches); + Assert.Empty(a.Literals); + + var b = a.Parameters; + Assert.Empty(b.Matches); + Assert.Empty(b.Literals); + + var c = b.Parameters; + Assert.Same(endpoint, Assert.Single(c.Matches).Endpoint); + Assert.Null(c.Parameters); + Assert.Empty(c.Literals); + } + + [Fact] + public void BuildDfaTree_SingleEndpoint_CatchAll() + { + // Arrange + var builder = CreateDfaMatcherBuilder(); + + var endpoint = CreateEndpoint("{a}/{*b}"); + builder.AddEndpoint(endpoint); + + // Act + var root = builder.BuildDfaTree(); + + // Assert + Assert.Empty(root.Matches); + Assert.Empty(root.Literals); + + var a = root.Parameters; + + // The catch all can match a path like '/a' + Assert.Same(endpoint, Assert.Single(a.Matches).Endpoint); + Assert.Empty(a.Literals); + Assert.Null(a.Parameters); + + // Catch-all nodes include an extra transition that loops to process + // extra segments. + var catchAll = a.CatchAll; + Assert.Same(endpoint, Assert.Single(catchAll.Matches).Endpoint); + Assert.Empty(catchAll.Literals); + Assert.Same(catchAll, catchAll.Parameters); + Assert.Same(catchAll, catchAll.CatchAll); + } + + [Fact] + public void BuildDfaTree_SingleEndpoint_CatchAllAtRoot() + { + // Arrange + var builder = CreateDfaMatcherBuilder(); + + var endpoint = CreateEndpoint("{*a}"); + builder.AddEndpoint(endpoint); + + // Act + var root = builder.BuildDfaTree(); + + // Assert + Assert.Same(endpoint, Assert.Single(root.Matches).Endpoint); + Assert.Empty(root.Literals); + + // Catch-all nodes include an extra transition that loops to process + // extra segments. + var catchAll = root.CatchAll; + Assert.Same(endpoint, Assert.Single(catchAll.Matches).Endpoint); + Assert.Empty(catchAll.Literals); + Assert.Same(catchAll, catchAll.Parameters); + } + + [Fact] + public void BuildDfaTree_MultipleEndpoint_LiteralAndLiteral() + { + // Arrange + var builder = CreateDfaMatcherBuilder(); + + var endpoint1 = CreateEndpoint("a/b1/c"); + builder.AddEndpoint(endpoint1); + + var endpoint2 = CreateEndpoint("a/b2/c"); + builder.AddEndpoint(endpoint2); + + // Act + var root = builder.BuildDfaTree(); + + // Assert + Assert.Empty(root.Matches); + Assert.Null(root.Parameters); + + var next = Assert.Single(root.Literals); + Assert.Equal("a", next.Key); + + var a = next.Value; + Assert.Empty(a.Matches); + + Assert.Equal(2, a.Literals.Count); + + var b1 = a.Literals["b1"]; + Assert.Empty(b1.Matches); + Assert.Null(b1.Parameters); + + next = Assert.Single(b1.Literals); + Assert.Equal("c", next.Key); + + var c1 = next.Value; + Assert.Same(endpoint1, Assert.Single(c1.Matches).Endpoint); + Assert.Null(c1.Parameters); + Assert.Empty(c1.Literals); + + var b2 = a.Literals["b2"]; + Assert.Empty(b2.Matches); + Assert.Null(b2.Parameters); + + next = Assert.Single(b2.Literals); + Assert.Equal("c", next.Key); + + var c2 = next.Value; + Assert.Same(endpoint2, Assert.Single(c2.Matches).Endpoint); + Assert.Null(c2.Parameters); + Assert.Empty(c2.Literals); + } + + [Fact] + public void BuildDfaTree_MultipleEndpoint_LiteralAndParameter() + { + // Arrange + var builder = CreateDfaMatcherBuilder(); + + var endpoint1 = CreateEndpoint("a/b/c"); + builder.AddEndpoint(endpoint1); + + var endpoint2 = CreateEndpoint("a/{b}/c"); + builder.AddEndpoint(endpoint2); + + // Act + var root = builder.BuildDfaTree(); + + // Assert + Assert.Empty(root.Matches); + Assert.Null(root.Parameters); + + var next = Assert.Single(root.Literals); + Assert.Equal("a", next.Key); + + var a = next.Value; + Assert.Empty(a.Matches); + + next = Assert.Single(a.Literals); + Assert.Equal("b", next.Key); + + var b = next.Value; + Assert.Empty(b.Matches); + Assert.Null(b.Parameters); + + next = Assert.Single(b.Literals); + Assert.Equal("c", next.Key); + + var c1 = next.Value; + Assert.Collection( + c1.Matches, + e => Assert.Same(endpoint1, e.Endpoint), + e => Assert.Same(endpoint2, e.Endpoint)); + Assert.Null(c1.Parameters); + Assert.Empty(c1.Literals); + + var b2 = a.Parameters; + Assert.Empty(b2.Matches); + Assert.Null(b2.Parameters); + + next = Assert.Single(b2.Literals); + Assert.Equal("c", next.Key); + + var c2 = next.Value; + Assert.Same(endpoint2, Assert.Single(c2.Matches).Endpoint); + Assert.Null(c2.Parameters); + Assert.Empty(c2.Literals); + } + + [Fact] + public void BuildDfaTree_MultipleEndpoint_ParameterAndParameter() + { + // Arrange + var builder = CreateDfaMatcherBuilder(); + + var endpoint1 = CreateEndpoint("a/{b1}/c"); + builder.AddEndpoint(endpoint1); + + var endpoint2 = CreateEndpoint("a/{b2}/c"); + builder.AddEndpoint(endpoint2); + + // Act + var root = builder.BuildDfaTree(); + + // Assert + Assert.Empty(root.Matches); + Assert.Null(root.Parameters); + + var next = Assert.Single(root.Literals); + Assert.Equal("a", next.Key); + + var a = next.Value; + Assert.Empty(a.Matches); + Assert.Empty(a.Literals); + + var b = a.Parameters; + Assert.Empty(b.Matches); + Assert.Null(b.Parameters); + + next = Assert.Single(b.Literals); + Assert.Equal("c", next.Key); + + var c = next.Value; + Assert.Collection( + c.Matches, + e => Assert.Same(endpoint1, e.Endpoint), + e => Assert.Same(endpoint2, e.Endpoint)); + Assert.Null(c.Parameters); + Assert.Empty(c.Literals); + } + + [Fact] + public void BuildDfaTree_MultipleEndpoint_LiteralAndCatchAll() + { + // Arrange + var builder = CreateDfaMatcherBuilder(); + + var endpoint1 = CreateEndpoint("a/b/c"); + builder.AddEndpoint(endpoint1); + + var endpoint2 = CreateEndpoint("a/{*b}"); + builder.AddEndpoint(endpoint2); + + // Act + var root = builder.BuildDfaTree(); + + // Assert + Assert.Empty(root.Matches); + Assert.Null(root.Parameters); + + var next = Assert.Single(root.Literals); + Assert.Equal("a", next.Key); + + var a = next.Value; + Assert.Same(endpoint2, Assert.Single(a.Matches).Endpoint); + + next = Assert.Single(a.Literals); + Assert.Equal("b", next.Key); + + var b1 = next.Value; + Assert.Same(endpoint2, Assert.Single(a.Matches).Endpoint); + Assert.Null(b1.Parameters); + + next = Assert.Single(b1.Literals); + Assert.Equal("c", next.Key); + + var c1 = next.Value; + Assert.Collection( + c1.Matches, + e => Assert.Same(endpoint1, e.Endpoint), + e => Assert.Same(endpoint2, e.Endpoint)); + Assert.Null(c1.Parameters); + Assert.Empty(c1.Literals); + + var catchAll = a.CatchAll; + Assert.Same(endpoint2, Assert.Single(catchAll.Matches).Endpoint); + Assert.Same(catchAll, catchAll.Parameters); + Assert.Same(catchAll, catchAll.CatchAll); + } + + [Fact] + public void BuildDfaTree_MultipleEndpoint_ParameterAndCatchAll() + { + // Arrange + var builder = CreateDfaMatcherBuilder(); + + var endpoint1 = CreateEndpoint("a/{b}/c"); + builder.AddEndpoint(endpoint1); + + var endpoint2 = CreateEndpoint("a/{*b}"); + builder.AddEndpoint(endpoint2); + + // Act + var root = builder.BuildDfaTree(); + + // Assert + Assert.Empty(root.Matches); + Assert.Null(root.Parameters); + + var next = Assert.Single(root.Literals); + Assert.Equal("a", next.Key); + + var a = next.Value; + Assert.Same(endpoint2, Assert.Single(a.Matches).Endpoint); + Assert.Empty(a.Literals); + + var b1 = a.Parameters; + Assert.Same(endpoint2, Assert.Single(a.Matches).Endpoint); + Assert.Null(b1.Parameters); + + next = Assert.Single(b1.Literals); + Assert.Equal("c", next.Key); + + var c1 = next.Value; + Assert.Collection( + c1.Matches, + e => Assert.Same(endpoint1, e.Endpoint), + e => Assert.Same(endpoint2, e.Endpoint)); + Assert.Null(c1.Parameters); + Assert.Empty(c1.Literals); + + var catchAll = a.CatchAll; + Assert.Same(endpoint2, Assert.Single(catchAll.Matches).Endpoint); + Assert.Same(catchAll, catchAll.Parameters); + Assert.Same(catchAll, catchAll.CatchAll); + } + + [Fact] + public void CreateCandidate_JustLiterals() + { + // Arrange + var endpoint = CreateEndpoint("/a/b/c"); + + var builder = CreateDfaMatcherBuilder(); + + // Act + var candidate = builder.CreateCandidate(new MatcherBuilderEntry(endpoint)); + + // Assert + Assert.Equal(Candidate.CandidateFlags.None, candidate.Flags); + Assert.Empty(candidate.Slots); + Assert.Empty(candidate.Captures); + Assert.Equal(default, candidate.CatchAll); + Assert.Empty(candidate.ComplexSegments); + Assert.Empty(candidate.MatchProcessors); + } + + [Fact] + public void CreateCandidate_Parameters() + { + // Arrange + var endpoint = CreateEndpoint("/{a}/{b}/{c}"); + + var builder = CreateDfaMatcherBuilder(); + + // Act + var candidate = builder.CreateCandidate(new MatcherBuilderEntry(endpoint)); + + // Assert + Assert.Equal(Candidate.CandidateFlags.HasCaptures, candidate.Flags); + Assert.Equal(3, candidate.Slots.Length); + Assert.Collection( + candidate.Captures, + c => Assert.Equal(("a", 0, 0), c), + c => Assert.Equal(("b", 1, 1), c), + c => Assert.Equal(("c", 2, 2), c)); + Assert.Equal(default, candidate.CatchAll); + Assert.Empty(candidate.ComplexSegments); + Assert.Empty(candidate.MatchProcessors); + } + + [Fact] + public void CreateCandidate_Parameters_WithDefaults() + { + // Arrange + var endpoint = CreateEndpoint("/{a=aa}/{b=bb}/{c=cc}"); + + var builder = CreateDfaMatcherBuilder(); + + // Act + var candidate = builder.CreateCandidate(new MatcherBuilderEntry(endpoint)); + + // Assert + Assert.Equal( + Candidate.CandidateFlags.HasDefaults | Candidate.CandidateFlags.HasCaptures, + candidate.Flags); + Assert.Collection( + candidate.Slots, + s => Assert.Equal(new KeyValuePair("a", "aa"), s), + s => Assert.Equal(new KeyValuePair("b", "bb"), s), + s => Assert.Equal(new KeyValuePair("c", "cc"), s)); + Assert.Collection( + candidate.Captures, + c => Assert.Equal(("a", 0, 0), c), + c => Assert.Equal(("b", 1, 1), c), + c => Assert.Equal(("c", 2, 2), c)); + Assert.Equal(default, candidate.CatchAll); + Assert.Empty(candidate.ComplexSegments); + Assert.Empty(candidate.MatchProcessors); + } + + [Fact] + public void CreateCandidate_Parameters_CatchAll() + { + // Arrange + var endpoint = CreateEndpoint("/{a}/{b}/{*c=cc}"); + + var builder = CreateDfaMatcherBuilder(); + + // Act + var candidate = builder.CreateCandidate(new MatcherBuilderEntry(endpoint)); + + // Assert + Assert.Equal( + Candidate.CandidateFlags.HasDefaults | + Candidate.CandidateFlags.HasCaptures | + Candidate.CandidateFlags.HasCatchAll, + candidate.Flags); + Assert.Collection( + candidate.Slots, + s => Assert.Equal(new KeyValuePair("c", "cc"), s), + s => Assert.Equal(new KeyValuePair(null, null), s), + s => Assert.Equal(new KeyValuePair(null, null), s)); + Assert.Collection( + candidate.Captures, + c => Assert.Equal(("a", 0, 1), c), + c => Assert.Equal(("b", 1, 2), c)); + Assert.Equal(("c", 2, 0), candidate.CatchAll); + Assert.Empty(candidate.ComplexSegments); + Assert.Empty(candidate.MatchProcessors); + } + + // Defaults are processed first, which affects the slot ordering. + [Fact] + public void CreateCandidate_Parameters_OutOfLineDefaults() + { + // Arrange + var endpoint = CreateEndpoint("/{a}/{b}/{c=cc}", new { a = "aa", d = "dd", }); + + var builder = CreateDfaMatcherBuilder(); + + // Act + var candidate = builder.CreateCandidate(new MatcherBuilderEntry(endpoint)); + + // Assert + Assert.Equal( + Candidate.CandidateFlags.HasDefaults | Candidate.CandidateFlags.HasCaptures, + candidate.Flags); + Assert.Collection( + candidate.Slots, + s => Assert.Equal(new KeyValuePair("a", "aa"), s), + s => Assert.Equal(new KeyValuePair("d", "dd"), s), + s => Assert.Equal(new KeyValuePair("c", "cc"), s), + s => Assert.Equal(new KeyValuePair(null, null), s)); + Assert.Collection( + candidate.Captures, + c => Assert.Equal(("a", 0, 0), c), + c => Assert.Equal(("b", 1, 3), c), + c => Assert.Equal(("c", 2, 2), c)); + Assert.Equal(default, candidate.CatchAll); + Assert.Empty(candidate.ComplexSegments); + Assert.Empty(candidate.MatchProcessors); + } + + [Fact] + public void CreateCandidate_Parameters_ComplexSegments() + { + // Arrange + var endpoint = CreateEndpoint("/{a}-{b=bb}/{c}"); + + var builder = CreateDfaMatcherBuilder(); + + // Act + var candidate = builder.CreateCandidate(new MatcherBuilderEntry(endpoint)); + + // Assert + Assert.Equal( + Candidate.CandidateFlags.HasDefaults | + Candidate.CandidateFlags.HasCaptures | + Candidate.CandidateFlags.HasComplexSegments, + candidate.Flags); + Assert.Collection( + candidate.Slots, + s => Assert.Equal(new KeyValuePair("b", "bb"), s), + s => Assert.Equal(new KeyValuePair(null, null), s)); + Assert.Collection( + candidate.Captures, + c => Assert.Equal(("c", 1, 1), c)); + Assert.Equal(default, candidate.CatchAll); + Assert.Collection( + candidate.ComplexSegments, + s => Assert.Equal(0, s.segmentIndex)); + Assert.Empty(candidate.MatchProcessors); + } + + [Fact] + public void CreateCandidate_MatchProcessors() + { + // Arrange + var endpoint = CreateEndpoint("/a/b/c", matchProcessors: new MatchProcessorReference[] + { + new MatchProcessorReference("a", new IntRouteConstraint()), + }); + + var builder = CreateDfaMatcherBuilder(); + + // Act + var candidate = builder.CreateCandidate(new MatcherBuilderEntry(endpoint)); + + // Assert + Assert.Equal( Candidate.CandidateFlags.HasMatchProcessors, candidate.Flags); + Assert.Empty(candidate.Slots); + Assert.Empty(candidate.Captures); + Assert.Equal(default, candidate.CatchAll); + Assert.Empty(candidate.ComplexSegments); + Assert.Single(candidate.MatchProcessors); + } + + private static DfaMatcherBuilder CreateDfaMatcherBuilder() + { + var dataSource = new CompositeEndpointDataSource(Array.Empty()); + return new DfaMatcherBuilder( + Mock.Of(), + new EndpointSelector( + dataSource, + new EndpointConstraintCache(dataSource, Array.Empty()), + NullLoggerFactory.Instance)); + } + + private MatcherEndpoint CreateEndpoint( + string template, + object defaults = null, + IEnumerable matchProcessors = null) + { + matchProcessors = matchProcessors ?? Array.Empty(); + + return new MatcherEndpoint( + MatcherEndpoint.EmptyInvoker, + template, + new RouteValueDictionary(defaults), + new RouteValueDictionary(), + matchProcessors.ToList(), + 0, + new EndpointMetadataCollection(Array.Empty()), + "test"); + } + } +} diff --git a/test/Microsoft.AspNetCore.Routing.Tests/Matchers/DfaMatcherConformanceTest.cs b/test/Microsoft.AspNetCore.Routing.Tests/Matchers/DfaMatcherConformanceTest.cs index 07431ea51d..d8e05d3ae8 100644 --- a/test/Microsoft.AspNetCore.Routing.Tests/Matchers/DfaMatcherConformanceTest.cs +++ b/test/Microsoft.AspNetCore.Routing.Tests/Matchers/DfaMatcherConformanceTest.cs @@ -1,13 +1,39 @@ // Copyright (c) .NET Foundation. All rights reserved. // Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information. +using System.Threading.Tasks; +using Microsoft.Extensions.DependencyInjection; + namespace Microsoft.AspNetCore.Routing.Matchers { - public class DfaMatcherConformanceTest : MatcherConformanceTest + public class DfaMatcherConformanceTest : FullFeaturedMatcherConformanceTest { + // See the comments in the base class. DfaMatcher fixes a long-standing bug + // with catchall parameters and empty segments. + public override async Task Quirks_CatchAllParameter(string template, string path, string[] keys, string[] values) + { + // Arrange + var (matcher, endpoint) = CreateMatcher(template); + var (httpContext, feature) = CreateContext(path); + + // Act + await matcher.MatchAsync(httpContext, feature); + + // Assert + DispatcherAssert.AssertMatch(feature, endpoint, keys, values); + } + internal override Matcher CreateMatcher(params MatcherEndpoint[] endpoints) { - var builder = new DfaMatcherBuilder(); + var services = new ServiceCollection() + .AddLogging() + .AddOptions() + .AddRouting() + .AddDispatcher() + .AddTransient() + .BuildServiceProvider(); + + var builder = services.GetRequiredService(); for (int i = 0; i < endpoints.Length; i++) { builder.AddEndpoint(endpoints[i]); diff --git a/test/Microsoft.AspNetCore.Routing.Tests/Matchers/FullFeaturedMatcherConformanceTest.cs b/test/Microsoft.AspNetCore.Routing.Tests/Matchers/FullFeaturedMatcherConformanceTest.cs index a3fa0bee46..0bed93f541 100644 --- a/test/Microsoft.AspNetCore.Routing.Tests/Matchers/FullFeaturedMatcherConformanceTest.cs +++ b/test/Microsoft.AspNetCore.Routing.Tests/Matchers/FullFeaturedMatcherConformanceTest.cs @@ -171,10 +171,14 @@ namespace Microsoft.AspNetCore.Routing.Matchers DispatcherAssert.AssertMatch(feature, endpoint, keys, values); } + // Historically catchall segments don't match an empty segment, but only if it's + // the first one. So `/a/b//` would match, but `/a//` would not. This is pretty + // wierd and inconsistent with the intent of using a catch all. The DfaMatcher + // fixes this issue. [Theory] - [InlineData("/{a}/{*b=b}", "/a///")] - [InlineData("/{a}/{*b=b}", "/a//c/")] - public virtual async Task NotMatch_CatchAllParameter(string template, string path) + [InlineData("/{a}/{*b=b}", "/a///", new[] { "a", "b", }, new[] { "a", "//" })] + [InlineData("/{a}/{*b=b}", "/a//c/", new[] { "a", "b", }, new[] { "a", "/c/" })] + public virtual async Task Quirks_CatchAllParameter(string template, string path, string[] keys, string[] values) { // Arrange var (matcher, endpoint) = CreateMatcher(template); @@ -185,6 +189,11 @@ namespace Microsoft.AspNetCore.Routing.Matchers // Assert DispatcherAssert.AssertNotMatch(feature); + + // Need to access these to prevent a warning from the xUnit analyzer. + // Some of these tests will match (and process the values) and some will not. + GC.KeepAlive(keys); + GC.KeepAlive(values); } [Theory] diff --git a/test/Microsoft.AspNetCore.Routing.Tests/Matchers/TreeRouterMatcherBuilder.cs b/test/Microsoft.AspNetCore.Routing.Tests/Matchers/TreeRouterMatcherBuilder.cs index f6645374eb..6f0cba2f23 100644 --- a/test/Microsoft.AspNetCore.Routing.Tests/Matchers/TreeRouterMatcherBuilder.cs +++ b/test/Microsoft.AspNetCore.Routing.Tests/Matchers/TreeRouterMatcherBuilder.cs @@ -7,7 +7,6 @@ using System.Linq; using System.Threading.Tasks; using Microsoft.AspNetCore.Routing.EndpointConstraints; using Microsoft.AspNetCore.Routing.Internal; -using Microsoft.AspNetCore.Routing.Template; using Microsoft.AspNetCore.Routing.Tree; using Microsoft.Extensions.Logging.Abstractions; using Microsoft.Extensions.ObjectPool; From 477296a3cce3a0810d97fd8ad3b4431d0aaac077 Mon Sep 17 00:00:00 2001 From: Ryan Nowak Date: Tue, 17 Jul 2018 20:28:51 -0700 Subject: [PATCH 077/221] Make DFA matcher the default --- .../Matchers/MatcherBenchmarkBase.cs | 3 +- .../CompositeEndpointDataSource.cs | 2 +- ...ntCache.cs => DataSourceDependentCache.cs} | 6 +- .../DispatcherServiceCollectionExtensions.cs | 3 +- .../Matchers/DataSourceDependentMatcher.cs | 52 +++ .../Matchers/DfaMatcherFactory.cs | 38 ++ .../Matchers/FastPathTokenizer.cs | 6 + .../Matchers/MatcherBuilderEntry.cs | 3 - .../Matchers/TreeMatcher.cs | 354 ------------------ .../Matchers/TreeMatcherFactory.cs | 51 --- .../DataSourceDependentCacheTest.cs | 80 ++++ .../DataSourceDependentMatcherTest.cs | 122 ++++++ .../Matchers/DfaMatcherConformanceTest.cs | 1 - ...{TreeMatcherTests.cs => DfaMatcherTest.cs} | 36 +- .../Matchers/FastPathTokenizerTest.cs | 19 +- 15 files changed, 341 insertions(+), 435 deletions(-) rename src/Microsoft.AspNetCore.Routing/{Internal/DataSourceDependantCache.cs => DataSourceDependentCache.cs} (91%) create mode 100644 src/Microsoft.AspNetCore.Routing/Matchers/DataSourceDependentMatcher.cs create mode 100644 src/Microsoft.AspNetCore.Routing/Matchers/DfaMatcherFactory.cs delete mode 100644 src/Microsoft.AspNetCore.Routing/Matchers/TreeMatcher.cs delete mode 100644 src/Microsoft.AspNetCore.Routing/Matchers/TreeMatcherFactory.cs create mode 100644 test/Microsoft.AspNetCore.Routing.Tests/DataSourceDependentCacheTest.cs create mode 100644 test/Microsoft.AspNetCore.Routing.Tests/Matchers/DataSourceDependentMatcherTest.cs rename test/Microsoft.AspNetCore.Routing.Tests/Matchers/{TreeMatcherTests.cs => DfaMatcherTest.cs} (76%) diff --git a/benchmarks/Microsoft.AspNetCore.Routing.Performance/Matchers/MatcherBenchmarkBase.cs b/benchmarks/Microsoft.AspNetCore.Routing.Performance/Matchers/MatcherBenchmarkBase.cs index f13c36e9d2..fb12d507a7 100644 --- a/benchmarks/Microsoft.AspNetCore.Routing.Performance/Matchers/MatcherBenchmarkBase.cs +++ b/benchmarks/Microsoft.AspNetCore.Routing.Performance/Matchers/MatcherBenchmarkBase.cs @@ -30,8 +30,7 @@ namespace Microsoft.AspNetCore.Routing.Matchers private protected DfaMatcherBuilder CreateDfaMatcherBuilder() { - var services = CreateServices(); - return ActivatorUtilities.CreateInstance(services); + return CreateServices().GetRequiredService(); } private protected static MatcherEndpoint CreateEndpoint(string template, string httpMethod = null) diff --git a/src/Microsoft.AspNetCore.Routing/CompositeEndpointDataSource.cs b/src/Microsoft.AspNetCore.Routing/CompositeEndpointDataSource.cs index 75e5360d47..a0009a7091 100644 --- a/src/Microsoft.AspNetCore.Routing/CompositeEndpointDataSource.cs +++ b/src/Microsoft.AspNetCore.Routing/CompositeEndpointDataSource.cs @@ -56,7 +56,7 @@ namespace Microsoft.AspNetCore.Routing } } - // Note: we can't use DataSourceDependantCache here because we also need to handle a list of change + // Note: we can't use DataSourceDependentCache here because we also need to handle a list of change // tokens, which is a complication most of our code doesn't have. private void Initialize() { diff --git a/src/Microsoft.AspNetCore.Routing/Internal/DataSourceDependantCache.cs b/src/Microsoft.AspNetCore.Routing/DataSourceDependentCache.cs similarity index 91% rename from src/Microsoft.AspNetCore.Routing/Internal/DataSourceDependantCache.cs rename to src/Microsoft.AspNetCore.Routing/DataSourceDependentCache.cs index 4be08e1402..46ecba5fd2 100644 --- a/src/Microsoft.AspNetCore.Routing/Internal/DataSourceDependantCache.cs +++ b/src/Microsoft.AspNetCore.Routing/DataSourceDependentCache.cs @@ -5,9 +5,9 @@ using System; using System.Collections.Generic; using System.Threading; -namespace Microsoft.AspNetCore.Routing.Internal +namespace Microsoft.AspNetCore.Routing { - internal class DataSourceDependantCache where T : class + internal class DataSourceDependentCache where T : class { private readonly EndpointDataSource _dataSource; private readonly Func, T> _initializeCore; @@ -18,7 +18,7 @@ namespace Microsoft.AspNetCore.Routing.Internal private bool _initialized; private T _value; - public DataSourceDependantCache(EndpointDataSource dataSource, Func, T> initialize) + public DataSourceDependentCache(EndpointDataSource dataSource, Func, T> initialize) { if (dataSource == null) { diff --git a/src/Microsoft.AspNetCore.Routing/DependencyInjection/DispatcherServiceCollectionExtensions.cs b/src/Microsoft.AspNetCore.Routing/DependencyInjection/DispatcherServiceCollectionExtensions.cs index b17150e784..8fb75c8351 100644 --- a/src/Microsoft.AspNetCore.Routing/DependencyInjection/DispatcherServiceCollectionExtensions.cs +++ b/src/Microsoft.AspNetCore.Routing/DependencyInjection/DispatcherServiceCollectionExtensions.cs @@ -36,7 +36,8 @@ namespace Microsoft.Extensions.DependencyInjection // Default matcher implementation // services.TryAddSingleton(); - services.TryAddSingleton(); + services.TryAddSingleton(); + services.TryAddTransient(); // Link generation related services services.TryAddSingleton, NameBasedEndpointFinder>(); diff --git a/src/Microsoft.AspNetCore.Routing/Matchers/DataSourceDependentMatcher.cs b/src/Microsoft.AspNetCore.Routing/Matchers/DataSourceDependentMatcher.cs new file mode 100644 index 0000000000..07f9361a16 --- /dev/null +++ b/src/Microsoft.AspNetCore.Routing/Matchers/DataSourceDependentMatcher.cs @@ -0,0 +1,52 @@ +// Copyright (c) .NET Foundation. All rights reserved. +// Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information. + +using System; +using System.Collections.Generic; +using System.Threading.Tasks; +using Microsoft.AspNetCore.Http; + +namespace Microsoft.AspNetCore.Routing.Matchers +{ + internal class DataSourceDependentMatcher : Matcher + { + private readonly Func _matcherBuilderFactory; + private readonly DataSourceDependentCache _cache; + + public DataSourceDependentMatcher( + EndpointDataSource dataSource, + Func matcherBuilderFactory) + { + _matcherBuilderFactory = matcherBuilderFactory; + + _cache = new DataSourceDependentCache(dataSource, CreateMatcher); + _cache.EnsureInitialized(); + } + + // Used in tests + internal Matcher CurrentMatcher => _cache.Value; + + public override Task MatchAsync(HttpContext httpContext, IEndpointFeature feature) + { + return CurrentMatcher.MatchAsync(httpContext, feature); + } + + private Matcher CreateMatcher(IReadOnlyList endpoints) + { + var builder = _matcherBuilderFactory(); + for (var i = 0; i < endpoints.Count; i++) + { + // By design we only look at MatcherEndpoint here. It's possible to + // register other endpoint types, which are non-routable, and it's + // ok that we won't route to them. + var endpoint = endpoints[i] as MatcherEndpoint; + if (endpoint != null) + { + builder.AddEndpoint(endpoint); + } + } + + return builder.Build(); + } + } +} diff --git a/src/Microsoft.AspNetCore.Routing/Matchers/DfaMatcherFactory.cs b/src/Microsoft.AspNetCore.Routing/Matchers/DfaMatcherFactory.cs new file mode 100644 index 0000000000..2e5dc8a3f2 --- /dev/null +++ b/src/Microsoft.AspNetCore.Routing/Matchers/DfaMatcherFactory.cs @@ -0,0 +1,38 @@ +// Copyright (c) .NET Foundation. All rights reserved. +// Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information. + +using System; +using Microsoft.Extensions.DependencyInjection; + +namespace Microsoft.AspNetCore.Routing.Matchers +{ + internal class DfaMatcherFactory : MatcherFactory + { + private readonly IServiceProvider _services; + + // Using the service provider here so we can avoid coupling to the dependencies + // of DfaMatcherBuilder. + public DfaMatcherFactory(IServiceProvider services) + { + if (services == null) + { + throw new ArgumentNullException(nameof(services)); + } + + _services = services; + } + + public override Matcher CreateMatcher(EndpointDataSource dataSource) + { + if (dataSource == null) + { + throw new ArgumentNullException(nameof(dataSource)); + } + + return new DataSourceDependentMatcher(dataSource, () => + { + return _services.GetRequiredService(); + }); + } + } +} diff --git a/src/Microsoft.AspNetCore.Routing/Matchers/FastPathTokenizer.cs b/src/Microsoft.AspNetCore.Routing/Matchers/FastPathTokenizer.cs index 98ed984795..f561ae0ee2 100644 --- a/src/Microsoft.AspNetCore.Routing/Matchers/FastPathTokenizer.cs +++ b/src/Microsoft.AspNetCore.Routing/Matchers/FastPathTokenizer.cs @@ -26,6 +26,12 @@ namespace Microsoft.AspNetCore.Routing.Matchers // computed based on the string length. public static int Tokenize(string path, Span segments) { + // This can happen in test scenarios. + if (path == string.Empty) + { + return 0; + } + int count = 0; int start = 1; // Paths always start with a leading / int end; diff --git a/src/Microsoft.AspNetCore.Routing/Matchers/MatcherBuilderEntry.cs b/src/Microsoft.AspNetCore.Routing/Matchers/MatcherBuilderEntry.cs index f6cca216ee..a9e3a6d3b8 100644 --- a/src/Microsoft.AspNetCore.Routing/Matchers/MatcherBuilderEntry.cs +++ b/src/Microsoft.AspNetCore.Routing/Matchers/MatcherBuilderEntry.cs @@ -14,14 +14,11 @@ namespace Microsoft.AspNetCore.Routing.Matchers { Endpoint = endpoint; - HttpMethod = endpoint.Metadata.OfType().FirstOrDefault()?.HttpMethods.Single(); Precedence = RoutePrecedence.ComputeInbound(endpoint.ParsedTemplate); } public MatcherEndpoint Endpoint { get; } - public string HttpMethod { get; } - public int Order => Endpoint.Order; public RouteTemplate Pattern => Endpoint.ParsedTemplate; diff --git a/src/Microsoft.AspNetCore.Routing/Matchers/TreeMatcher.cs b/src/Microsoft.AspNetCore.Routing/Matchers/TreeMatcher.cs deleted file mode 100644 index 72fc5c9f6c..0000000000 --- a/src/Microsoft.AspNetCore.Routing/Matchers/TreeMatcher.cs +++ /dev/null @@ -1,354 +0,0 @@ -// Copyright (c) .NET Foundation. All rights reserved. -// Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information. - -using System; -using System.Collections.Generic; -using System.Linq; -using System.Threading.Tasks; -using Microsoft.AspNetCore.Http; -using Microsoft.AspNetCore.Routing.EndpointConstraints; -using Microsoft.AspNetCore.Routing.Internal; -using Microsoft.AspNetCore.Routing.Template; -using Microsoft.AspNetCore.Routing.Tree; -using Microsoft.Extensions.Internal; -using Microsoft.Extensions.Logging; - -namespace Microsoft.AspNetCore.Routing.Matchers -{ - internal class TreeMatcher : Matcher - { - private readonly MatchProcessorFactory _matchProcessorFactory; - private readonly ILogger _logger; - private readonly EndpointSelector _endpointSelector; - private readonly DataSourceDependantCache _cache; - - public TreeMatcher( - MatchProcessorFactory matchProcessorFactory, - ILogger logger, - EndpointDataSource dataSource, - EndpointSelector endpointSelector) - { - if (matchProcessorFactory == null) - { - throw new ArgumentNullException(nameof(matchProcessorFactory)); - } - - if (logger == null) - { - throw new ArgumentNullException(nameof(logger)); - } - - if (dataSource == null) - { - throw new ArgumentNullException(nameof(dataSource)); - } - - _matchProcessorFactory = matchProcessorFactory; - _logger = logger; - _endpointSelector = endpointSelector; - _cache = new DataSourceDependantCache(dataSource, CreateTrees); - _cache.EnsureInitialized(); - } - - public override Task MatchAsync(HttpContext httpContext, IEndpointFeature feature) - { - if (httpContext == null) - { - throw new ArgumentNullException(nameof(httpContext)); - } - - if (feature == null) - { - throw new ArgumentNullException(nameof(feature)); - } - - var values = new RouteValueDictionary(); - feature.Values = values; - - var cache = _cache.Value; - for (var i = 0; i < cache.Length; i++) - { - var tree = cache[i]; - var tokenizer = new PathTokenizer(httpContext.Request.Path); - - var treenumerator = new TreeEnumerator(tree.Root, tokenizer); - - while (treenumerator.MoveNext()) - { - var node = treenumerator.Current; - foreach (var item in node.Matches) - { - var entry = item.Entry; - var tagData = (InboundEntryTagData)entry.Tag; - var matcher = item.TemplateMatcher; - - values.Clear(); - if (!matcher.TryMatch(httpContext.Request.Path, values)) - { - continue; - } - - Log.MatchedTemplate(_logger, httpContext, entry.RouteTemplate); - - if (!MatchConstraints(httpContext, values, tagData.MatchProcessors)) - { - continue; - } - - SelectEndpoint(httpContext, feature, tagData.Endpoints); - - if (feature.Endpoint != null) - { - if (feature.Endpoint is MatcherEndpoint endpoint) - { - foreach (var kvp in endpoint.Defaults) - { - if (!feature.Values.ContainsKey(kvp.Key)) - { - feature.Values[kvp.Key] = kvp.Value; - } - } - } - - // Found a matching endpoint - return Task.CompletedTask; - } - } - } - } - - // No match found - return Task.CompletedTask; - } - - private bool MatchConstraints( - HttpContext httpContext, - RouteValueDictionary values, - IList matchProcessors) - { - if (matchProcessors != null) - { - foreach (var processor in matchProcessors) - { - if (!processor.ProcessInbound(httpContext, values)) - { - return false; - } - } - } - - return true; - } - - private class DummyRouter : IRouter - { - public VirtualPathData GetVirtualPath(VirtualPathContext context) - { - throw new NotImplementedException(); - } - - public Task RouteAsync(RouteContext context) - { - return Task.CompletedTask; - } - } - - private void SelectEndpoint(HttpContext httpContext, IEndpointFeature feature, IReadOnlyList endpoints) - { - var endpoint = (MatcherEndpoint)_endpointSelector.SelectBestCandidate(httpContext, endpoints); - - if (endpoint == null) - { - Log.MatchFailed(_logger, httpContext); - } - else - { - Log.MatchSuccess(_logger, httpContext, endpoint); - - feature.Endpoint = endpoint; - feature.Invoker = endpoint.Invoker; - } - } - - private UrlMatchingTree[] CreateTrees(IReadOnlyList endpoints) - { - var groups = new Dictionary>(); - - for (var i = 0; i < endpoints.Count; i++) - { - var endpoint = endpoints[i] as MatcherEndpoint; - if (endpoint == null) - { - continue; - } - - var order = endpoint.Order; - if (!groups.TryGetValue(new Key(order, endpoint.Template), out var group)) - { - group = new List(); - groups.Add(new Key(order, endpoint.Template), group); - } - - group.Add(endpoint); - } - - var entries = new List(); - foreach (var group in groups) - { - var template = TemplateParser.Parse(group.Key.Template); - var entryExists = entries.Any(item => item.RouteTemplate.TemplateText == template.TemplateText && item.Order == group.Key.Order); - if (!entryExists) - { - entries.Add(MapInbound(template, group.Value.ToArray(), group.Key.Order)); - } - } - - var trees = new List(); - for (var i = 0; i < entries.Count; i++) - { - var entry = entries[i]; - - while (trees.Count <= entry.Order) - { - trees.Add(new UrlMatchingTree(entry.Order)); - } - - var tree = trees[entry.Order]; - tree.AddEntry(entry); - } - - return trees.ToArray(); - } - - private InboundRouteEntry MapInbound(RouteTemplate template, MatcherEndpoint[] endpoints, int order) - { - if (template == null) - { - throw new ArgumentNullException(nameof(template)); - } - - var entry = new InboundRouteEntry() - { - Precedence = RoutePrecedence.ComputeInbound(template), - RouteTemplate = template, - Order = order, - }; - - // Since all endpoints within a group are expected to have same template and same constraints, - // get the first endpoint which has the processor references - var endpoint = endpoints[0]; - - var matchProcessors = new List(); - foreach (var matchProcessorReference in endpoint.MatchProcessorReferences) - { - var matchProcessor = _matchProcessorFactory.Create(matchProcessorReference); - matchProcessors.Add(matchProcessor); - } - - entry.Tag = new InboundEntryTagData() - { - Endpoints = endpoints, - MatchProcessors = matchProcessors, - }; - - entry.Defaults = new RouteValueDictionary(); - foreach (var parameter in entry.RouteTemplate.Parameters) - { - if (parameter.DefaultValue != null) - { - entry.Defaults.Add(parameter.Name, parameter.DefaultValue); - } - } - return entry; - } - - private readonly struct Key : IEquatable - { - public readonly int Order; - public readonly string Template; - - public Key(int order, string routePattern) - { - Order = order; - Template = routePattern; - } - - public bool Equals(Key other) - { - return Order == other.Order && string.Equals(Template, other.Template, StringComparison.OrdinalIgnoreCase); - } - - public override bool Equals(object obj) - { - return obj is Key ? Equals((Key)obj) : false; - } - - public override int GetHashCode() - { - var hash = new HashCodeCombiner(); - hash.Add(Order); - hash.Add(Template, StringComparer.OrdinalIgnoreCase); - return hash; - } - } - - private static class Log - { - private static readonly Action _matchSuccess = LoggerMessage.Define( - LogLevel.Debug, - new EventId(1, "MatchSuccess"), - "Request matched endpoint '{EndpointName}' for request path '{Path}'."); - - private static readonly Action _matchFailed = LoggerMessage.Define( - LogLevel.Debug, - new EventId(2, "MatchFailed"), - "No endpoints matched request path '{Path}'."); - - private static readonly Action, Exception> _matchAmbiguous = LoggerMessage.Define>( - LogLevel.Error, - new EventId(3, "MatchAmbiguous"), - "Request matched multiple endpoints for request path '{Path}'. Matching endpoints: {AmbiguousEndpoints}"); - - private static readonly Action _constraintFailed = LoggerMessage.Define( - LogLevel.Debug, - new EventId(4, "ContraintFailed"), - "Route value '{RouteValue}' with key '{RouteKey}' did not match the constraint '{RouteConstraint}'."); - - private static readonly Action _matchedTemplate = LoggerMessage.Define( - LogLevel.Debug, - new EventId(5, "MatchedTemplate"), - "Request matched the route pattern '{RouteTemplate}' for request path '{Path}'."); - - public static void MatchSuccess(ILogger logger, HttpContext httpContext, Endpoint endpoint) - { - _matchSuccess(logger, endpoint.DisplayName, httpContext.Request.Path, null); - } - - public static void MatchFailed(ILogger logger, HttpContext httpContext) - { - _matchFailed(logger, httpContext.Request.Path, null); - } - - public static void MatchAmbiguous(ILogger logger, HttpContext httpContext, IEnumerable endpoints) - { - _matchAmbiguous(logger, httpContext.Request.Path, endpoints.Select(e => e.DisplayName), null); - } - - public static void ConstraintFailed(ILogger logger, object routeValue, string routeKey, IRouteConstraint routeConstraint) - { - _constraintFailed(logger, routeValue, routeKey, routeConstraint, null); - } - - public static void MatchedTemplate(ILogger logger, HttpContext httpContext, RouteTemplate template) - { - _matchedTemplate(logger, template.TemplateText, httpContext.Request.Path, null); - } - } - - private class InboundEntryTagData - { - public MatcherEndpoint[] Endpoints { get; set; } - public List MatchProcessors { get; set; } - } - } -} diff --git a/src/Microsoft.AspNetCore.Routing/Matchers/TreeMatcherFactory.cs b/src/Microsoft.AspNetCore.Routing/Matchers/TreeMatcherFactory.cs deleted file mode 100644 index 39171909a2..0000000000 --- a/src/Microsoft.AspNetCore.Routing/Matchers/TreeMatcherFactory.cs +++ /dev/null @@ -1,51 +0,0 @@ -// Copyright (c) .NET Foundation. All rights reserved. -// Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information. - -using System; -using Microsoft.AspNetCore.Routing.EndpointConstraints; -using Microsoft.Extensions.Logging; - -namespace Microsoft.AspNetCore.Routing.Matchers -{ - internal class TreeMatcherFactory : MatcherFactory - { - private readonly MatchProcessorFactory _matchProcessorFactory; - private readonly ILogger _logger; - private readonly EndpointSelector _endpointSelector; - - public TreeMatcherFactory( - MatchProcessorFactory matchProcessorFactory, - ILogger logger, - EndpointSelector endpointSelector) - { - if (matchProcessorFactory == null) - { - throw new ArgumentNullException(nameof(matchProcessorFactory)); - } - - if (logger == null) - { - throw new ArgumentNullException(nameof(logger)); - } - - if (endpointSelector == null) - { - throw new ArgumentNullException(nameof(endpointSelector)); - } - - _matchProcessorFactory = matchProcessorFactory; - _logger = logger; - _endpointSelector = endpointSelector; - } - - public override Matcher CreateMatcher(EndpointDataSource dataSource) - { - if (dataSource == null) - { - throw new ArgumentNullException(nameof(dataSource)); - } - - return new TreeMatcher(_matchProcessorFactory, _logger, dataSource, _endpointSelector); - } - } -} diff --git a/test/Microsoft.AspNetCore.Routing.Tests/DataSourceDependentCacheTest.cs b/test/Microsoft.AspNetCore.Routing.Tests/DataSourceDependentCacheTest.cs new file mode 100644 index 0000000000..33da589661 --- /dev/null +++ b/test/Microsoft.AspNetCore.Routing.Tests/DataSourceDependentCacheTest.cs @@ -0,0 +1,80 @@ +// Copyright (c) .NET Foundation. All rights reserved. +// Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information. + +using System; +using System.Collections.Generic; +using System.Text; +using Microsoft.AspNetCore.Routing.TestObjects; +using Xunit; + +namespace Microsoft.AspNetCore.Routing +{ + public class DataSourceDependentCacheTest + { + [Fact] + public void Cache_Initializes_WhenEnsureInitializedCalled() + { + // Arrange + var called = false; + + var dataSource = new DynamicEndpointDataSource(); + var cache = new DataSourceDependentCache(dataSource, (endpoints) => + { + called = true; + return "hello, world!"; + }); + + // Act + cache.EnsureInitialized(); + + // Assert + Assert.True(called); + Assert.Equal("hello, world!", cache.Value); + } + + [Fact] + public void Cache_DoesNotInitialize_WhenValueCalled() + { + // Arrange + var called = false; + + var dataSource = new DynamicEndpointDataSource(); + var cache = new DataSourceDependentCache(dataSource, (endpoints) => + { + called = true; + return "hello, world!"; + }); + + // Act + GC.KeepAlive(cache.Value); + + // Assert + Assert.False(called); + Assert.Null(cache.Value); + } + + [Fact] + public void Cache_Reinitializes_WhenDataSourceChanges() + { + // Arrange + var count = 0; + + var dataSource = new DynamicEndpointDataSource(); + var cache = new DataSourceDependentCache(dataSource, (endpoints) => + { + count++; + return $"hello, {count}!"; + }); + + cache.EnsureInitialized(); + Assert.Equal("hello, 1!", cache.Value); + + // Act + dataSource.AddEndpoint(null); + + // Assert + Assert.Equal(2, count); + Assert.Equal("hello, 2!", cache.Value); + } + } +} diff --git a/test/Microsoft.AspNetCore.Routing.Tests/Matchers/DataSourceDependentMatcherTest.cs b/test/Microsoft.AspNetCore.Routing.Tests/Matchers/DataSourceDependentMatcherTest.cs new file mode 100644 index 0000000000..e165f65cb5 --- /dev/null +++ b/test/Microsoft.AspNetCore.Routing.Tests/Matchers/DataSourceDependentMatcherTest.cs @@ -0,0 +1,122 @@ +// Copyright (c) .NET Foundation. All rights reserved. +// Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information. + +using System; +using System.Collections.Generic; +using System.Threading.Tasks; +using Microsoft.AspNetCore.Http; +using Microsoft.AspNetCore.Routing.TestObjects; +using Xunit; + +namespace Microsoft.AspNetCore.Routing.Matchers +{ + public class DataSourceDependentMatcherTest + { + [Fact] + public void Matcher_Initializes_InConstructor() + { + // Arrange + var dataSource = new DynamicEndpointDataSource(); + + // Act + var matcher = new DataSourceDependentMatcher(dataSource, TestMatcherBuilder.Create); + + // Assert + var inner = Assert.IsType(matcher.CurrentMatcher); + Assert.Empty(inner.Endpoints); + } + + [Fact] + public void Matcher_Reinitializes_WhenDataSourceChanges() + { + // Arrange + var dataSource = new DynamicEndpointDataSource(); + var matcher = new DataSourceDependentMatcher(dataSource, TestMatcherBuilder.Create); + + var endpoint = new MatcherEndpoint( + MatcherEndpoint.EmptyInvoker, + "a/b/c", + new RouteValueDictionary(), + new RouteValueDictionary(), + 0, + EndpointMetadataCollection.Empty, + "test"); + + // Act + dataSource.AddEndpoint(endpoint); + + // Assert + var inner = Assert.IsType(matcher.CurrentMatcher); + Assert.Collection( + inner.Endpoints, + e => Assert.Same(endpoint, e)); + } + + [Fact] + public void Matcher_Ignores_NonMatcherEndpoint() + { + // Arrange + var dataSource = new DynamicEndpointDataSource(); + var endpoint = new TestEndpoint(EndpointMetadataCollection.Empty, "test"); + dataSource.AddEndpoint(endpoint); + + // Act + var matcher = new DataSourceDependentMatcher(dataSource, TestMatcherBuilder.Create); + + // Assert + var inner = Assert.IsType(matcher.CurrentMatcher); + Assert.Empty(inner.Endpoints); + } + + [Fact] + public void Cache_Reinitializes_WhenDataSourceChanges() + { + // Arrange + var count = 0; + + var dataSource = new DynamicEndpointDataSource(); + var cache = new DataSourceDependentCache(dataSource, (endpoints) => + { + count++; + return $"hello, {count}!"; + }); + + cache.EnsureInitialized(); + Assert.Equal("hello, 1!", cache.Value); + + // Act + dataSource.AddEndpoint(null); + + // Assert + Assert.Equal(2, count); + Assert.Equal("hello, 2!", cache.Value); + } + + private class TestMatcherBuilder : MatcherBuilder + { + public static Func Create = () => new TestMatcherBuilder(); + + private List Endpoints { get; } = new List(); + + public override void AddEndpoint(MatcherEndpoint endpoint) + { + Endpoints.Add(endpoint); + } + + public override Matcher Build() + { + return new TestMatcher() { Endpoints = Endpoints, }; + } + } + + private class TestMatcher : Matcher + { + public IReadOnlyList Endpoints { get; set; } + + public override Task MatchAsync(HttpContext httpContext, IEndpointFeature feature) + { + throw new NotImplementedException(); + } + } + } +} diff --git a/test/Microsoft.AspNetCore.Routing.Tests/Matchers/DfaMatcherConformanceTest.cs b/test/Microsoft.AspNetCore.Routing.Tests/Matchers/DfaMatcherConformanceTest.cs index d8e05d3ae8..5d3893c653 100644 --- a/test/Microsoft.AspNetCore.Routing.Tests/Matchers/DfaMatcherConformanceTest.cs +++ b/test/Microsoft.AspNetCore.Routing.Tests/Matchers/DfaMatcherConformanceTest.cs @@ -30,7 +30,6 @@ namespace Microsoft.AspNetCore.Routing.Matchers .AddOptions() .AddRouting() .AddDispatcher() - .AddTransient() .BuildServiceProvider(); var builder = services.GetRequiredService(); diff --git a/test/Microsoft.AspNetCore.Routing.Tests/Matchers/TreeMatcherTests.cs b/test/Microsoft.AspNetCore.Routing.Tests/Matchers/DfaMatcherTest.cs similarity index 76% rename from test/Microsoft.AspNetCore.Routing.Tests/Matchers/TreeMatcherTests.cs rename to test/Microsoft.AspNetCore.Routing.Tests/Matchers/DfaMatcherTest.cs index 30639f9e57..7157147960 100644 --- a/test/Microsoft.AspNetCore.Routing.Tests/Matchers/TreeMatcherTests.cs +++ b/test/Microsoft.AspNetCore.Routing.Tests/Matchers/DfaMatcherTest.cs @@ -6,6 +6,7 @@ using System.Collections.Generic; using System.Threading.Tasks; using Microsoft.AspNetCore.Http; using Microsoft.AspNetCore.Routing.EndpointConstraints; +using Microsoft.Extensions.DependencyInjection; using Microsoft.Extensions.Logging.Abstractions; using Microsoft.Extensions.Options; using Moq; @@ -13,14 +14,16 @@ using Xunit; namespace Microsoft.AspNetCore.Routing.Matchers { - public class TreeMatcherTests + // Many of these are integration tests that exercise the system end to end, + // so we're reusing the services here. + public class DfaMatcherTest { private MatcherEndpoint CreateEndpoint(string template, int order, object defaultValues = null, EndpointMetadataCollection metadata = null) { - var defaults = defaultValues == null ? new RouteValueDictionary() : new RouteValueDictionary(defaultValues); return new MatcherEndpoint( (next) => null, - template, defaults, + template, + new RouteValueDictionary(defaultValues), new RouteValueDictionary(), new List(), order, @@ -28,18 +31,17 @@ namespace Microsoft.AspNetCore.Routing.Matchers template); } - private TreeMatcher CreateTreeMatcher(EndpointDataSource endpointDataSource) + private Matcher CreateDfaMatcher(EndpointDataSource dataSource) { - var compositeDataSource = new CompositeEndpointDataSource(new[] { endpointDataSource }); - var defaultInlineConstraintResolver = new DefaultMatchProcessorFactory( - Options.Create(new RouteOptions()), - Mock.Of()); - var endpointSelector = new EndpointSelector( - compositeDataSource, - new EndpointConstraintCache(compositeDataSource, new IEndpointConstraintProvider[] { new DefaultEndpointConstraintProvider() }), - NullLoggerFactory.Instance); + var services = new ServiceCollection() + .AddLogging() + .AddOptions() + .AddRouting() + .AddDispatcher() + .BuildServiceProvider(); - return new TreeMatcher(defaultInlineConstraintResolver, NullLogger.Instance, endpointDataSource, endpointSelector); + var factory = services.GetRequiredService(); + return Assert.IsType(factory.CreateMatcher(dataSource)); } [Fact] @@ -51,7 +53,7 @@ namespace Microsoft.AspNetCore.Routing.Matchers CreateEndpoint("/{p:int}", 0) }); - var treeMatcher = CreateTreeMatcher(endpointDataSource); + var treeMatcher = CreateDfaMatcher(endpointDataSource); var httpContext = new DefaultHttpContext(); httpContext.Request.Path = "/1"; @@ -74,7 +76,7 @@ namespace Microsoft.AspNetCore.Routing.Matchers CreateEndpoint("/{p:int}", 0) }); - var treeMatcher = CreateTreeMatcher(endpointDataSource); + var treeMatcher = CreateDfaMatcher(endpointDataSource); var httpContext = new DefaultHttpContext(); httpContext.Request.Path = "/One"; @@ -101,7 +103,7 @@ namespace Microsoft.AspNetCore.Routing.Matchers lowerOrderEndpoint }); - var treeMatcher = CreateTreeMatcher(endpointDataSource); + var treeMatcher = CreateDfaMatcher(endpointDataSource); var httpContext = new DefaultHttpContext(); httpContext.Request.Path = "/Teams"; @@ -131,7 +133,7 @@ namespace Microsoft.AspNetCore.Routing.Matchers endpointWithConstraint }); - var treeMatcher = CreateTreeMatcher(endpointDataSource); + var treeMatcher = CreateDfaMatcher(endpointDataSource); var httpContext = new DefaultHttpContext(); httpContext.Request.Method = "POST"; diff --git a/test/Microsoft.AspNetCore.Routing.Tests/Matchers/FastPathTokenizerTest.cs b/test/Microsoft.AspNetCore.Routing.Tests/Matchers/FastPathTokenizerTest.cs index 325e1c5489..121ed45b0e 100644 --- a/test/Microsoft.AspNetCore.Routing.Tests/Matchers/FastPathTokenizerTest.cs +++ b/test/Microsoft.AspNetCore.Routing.Tests/Matchers/FastPathTokenizerTest.cs @@ -8,8 +8,23 @@ namespace Microsoft.AspNetCore.Routing.Matchers { public class FastPathTokenizerTest { - [Fact] // Note: tokenizing a truly empty string is undefined. - public void Tokenize_EmptyPath() + // Generally this will only happen in tests when the HttpContext hasn't been + // initialized. We still don't want to crash in this case. + [Fact] + public void Tokenize_EmptyString() + { + // Arrange + Span segments = stackalloc PathSegment[1]; + + // Act + var count = FastPathTokenizer.Tokenize("", segments); + + // Assert + Assert.Equal(0, count); + } + + [Fact] + public void Tokenize_RootPath() { // Arrange Span segments = stackalloc PathSegment[1]; From 41f56dbbeddb8ac0376b86d9088633f19be1ab56 Mon Sep 17 00:00:00 2001 From: Kiran Challa Date: Tue, 17 Jul 2018 10:46:26 -0700 Subject: [PATCH 078/221] Minor fix to DefaultLinkGenerator and enabled constraint related tests in DefaultLinkGeneratorTest --- .../DefaultLinkGenerator.cs | 2 +- .../DefaultLinkGeneratorTest.cs | 1055 ++++++++++------- .../RouteTest.cs | 17 +- .../TestObjects/CapturingConstraint.cs | 24 + 4 files changed, 630 insertions(+), 468 deletions(-) create mode 100644 test/Microsoft.AspNetCore.Routing.Tests/TestObjects/CapturingConstraint.cs diff --git a/src/Microsoft.AspNetCore.Routing/DefaultLinkGenerator.cs b/src/Microsoft.AspNetCore.Routing/DefaultLinkGenerator.cs index d29b05edcd..cef493c3db 100644 --- a/src/Microsoft.AspNetCore.Routing/DefaultLinkGenerator.cs +++ b/src/Microsoft.AspNetCore.Routing/DefaultLinkGenerator.cs @@ -115,7 +115,7 @@ namespace Microsoft.AspNetCore.Routing { var matchProcessorReference = endpoint.MatchProcessorReferences[i]; var parameter = endpoint.ParsedTemplate.GetParameter(matchProcessorReference.ParameterName); - if (parameter.IsOptional && !routeValues.ContainsKey(parameter.Name)) + if (parameter != null && parameter.IsOptional && !routeValues.ContainsKey(parameter.Name)) { continue; } diff --git a/test/Microsoft.AspNetCore.Routing.Tests/DefaultLinkGeneratorTest.cs b/test/Microsoft.AspNetCore.Routing.Tests/DefaultLinkGeneratorTest.cs index 4416256954..66397121d3 100644 --- a/test/Microsoft.AspNetCore.Routing.Tests/DefaultLinkGeneratorTest.cs +++ b/test/Microsoft.AspNetCore.Routing.Tests/DefaultLinkGeneratorTest.cs @@ -3,10 +3,14 @@ using System; using System.Collections.Generic; +using System.Linq; using System.Threading.Tasks; +using Microsoft.AspNetCore.Http; +using Microsoft.AspNetCore.Routing.Constraints; using Microsoft.AspNetCore.Routing.EndpointFinders; using Microsoft.AspNetCore.Routing.Internal; using Microsoft.AspNetCore.Routing.Matchers; +using Microsoft.AspNetCore.Routing.TestObjects; using Microsoft.Extensions.Logging.Abstractions; using Microsoft.Extensions.ObjectPool; using Microsoft.Extensions.Options; @@ -244,367 +248,502 @@ namespace Microsoft.AspNetCore.Routing Assert.Equal("/Home/Index", link); } - //[Fact] - //public void RouteGenerationRejectsConstraints() - //{ - // // Arrange - // var context = CreateRouteValuesContext(new { p1 = "abcd" }); - - // var endpoint = CreateEndpoints( - // "{p1}/{p2}", - // new { p2 = "catchall" }, - // true, - // new RouteValueDictionary(new { p2 = "\\d{4}" })); - - // // Act - // var virtualPath = route.GetLink(context); - - // // Assert - // Assert.Null(virtualPath); - //} - - //[Fact] - //public void RouteGenerationAcceptsConstraints() - //{ - // // Arrange - // var context = CreateRouteValuesContext(new { p1 = "hello", p2 = "1234" }); - - // var endpoint = CreateEndpoints( - // "{p1}/{p2}", - // new { p2 = "catchall" }, - // true, - // new RouteValueDictionary(new { p2 = "\\d{4}" })); - - // // Act - // var link = linkGenerator.GetLink(new[] { endpoint }, context.ExplicitValues, context.AmbientValues); - - // // Assert - // Assert.NotNull(pathData); - // Assert.Equal("/hello/1234", link); - // - // - //} - - //[Fact] - //public void RouteWithCatchAllRejectsConstraints() - //{ - // // Arrange - // var context = CreateRouteValuesContext(new { p1 = "abcd" }); - - // var endpoint = CreateEndpoints( - // "{p1}/{*p2}", - // new { p2 = "catchall" }, - // true, - // new RouteValueDictionary(new { p2 = "\\d{4}" })); - - // // Act - // var virtualPath = route.GetLink(context); - - // // Assert - // Assert.Null(virtualPath); - //} - - //[Fact] - //public void RouteWithCatchAllAcceptsConstraints() - //{ - // // Arrange - // var context = CreateRouteValuesContext(new { p1 = "hello", p2 = "1234" }); - - // var endpoint = CreateEndpoints( - // "{p1}/{*p2}", - // new { p2 = "catchall" }, - // true, - // new RouteValueDictionary(new { p2 = "\\d{4}" })); - - // // Act - // var link = linkGenerator.GetLink(new[] { endpoint }, context.ExplicitValues, context.AmbientValues); - - // // Assert - // Assert.NotNull(pathData); - // Assert.Equal("/hello/1234", link); - // - // - //} - - //[Fact] - //public void GetLinkWithNonParameterConstraintReturnsUrlWithoutQueryString() - //{ - // // Arrange - // var context = CreateRouteValuesContext(new { p1 = "hello", p2 = "1234" }); - - // var target = new Mock(); - // target - // .Setup( - // e => e.Match( - // It.IsAny(), - // It.IsAny(), - // It.IsAny(), - // It.IsAny(), - // It.IsAny())) - // .Returns(true) - // .Verifiable(); - - // var endpoint = CreateEndpoints( - // "{p1}/{p2}", - // new { p2 = "catchall" }, - // true, - // new RouteValueDictionary(new { p2 = target.Object })); - - // // Act - // var link = linkGenerator.GetLink(new[] { endpoint }, context.ExplicitValues, context.AmbientValues); - - // // Assert - // Assert.NotNull(pathData); - // Assert.Equal("/hello/1234", link); - // - // - - // target.VerifyAll(); - //} - - //// Any ambient values from the current request should be visible to constraint, even - //// if they have nothing to do with the route generating a link - //[Fact] - //public void GetLink_ConstraintsSeeAmbientValues() - //{ - // // Arrange - // var constraint = new CapturingConstraint(); - // var endpoint = CreateEndpoints( - // template: "slug/{controller}/{action}", - // defaultValues: null, - // handleRequest: true, - // constraints: new { c = constraint }); - - // var context = CreateRouteValuesContext( - // values: new { action = "Store" }, - // ambientValues: new { Controller = "Home", action = "Blog", extra = "42" }); - - // var expectedValues = new RouteValueDictionary( - // new { controller = "Home", action = "Store", extra = "42" }); - - // // Act - // var link = linkGenerator.GetLink(new[] { endpoint }, context.ExplicitValues, context.AmbientValues); - - // // Assert - // Assert.Equal("/slug/Home/Store", link); - // - // - - // Assert.Equal(expectedValues, constraint.Values); - //} - - //// Non-parameter default values from the routing generating a link are not in the 'values' - //// collection when constraints are processed. - //[Fact] - //public void GetLink_ConstraintsDontSeeDefaults_WhenTheyArentParameters() - //{ - // // Arrange - // var constraint = new CapturingConstraint(); - // var endpoint = CreateEndpoints( - // template: "slug/{controller}/{action}", - // defaultValues: new { otherthing = "17" }, - // handleRequest: true, - // constraints: new { c = constraint }); - - // var context = CreateRouteValuesContext( - // values: new { action = "Store" }, - // ambientValues: new { Controller = "Home", action = "Blog" }); - - // var expectedValues = new RouteValueDictionary( - // new { controller = "Home", action = "Store" }); - - // // Act - // var link = linkGenerator.GetLink(new[] { endpoint }, context.ExplicitValues, context.AmbientValues); - - // // Assert - // Assert.Equal("/slug/Home/Store", link); - // - // - - // Assert.Equal(expectedValues, constraint.Values); - //} - - //// Default values are visible to the constraint when they are used to fill a parameter. - //[Fact] - //public void GetLink_ConstraintsSeesDefault_WhenThereItsAParamter() - //{ - // // Arrange - // var constraint = new CapturingConstraint(); - // var endpoint = CreateEndpoints( - // template: "slug/{controller}/{action}", - // defaultValues: new { action = "Index" }, - // handleRequest: true, - // constraints: new { c = constraint }); - - // var context = CreateRouteValuesContext( - // values: new { controller = "Shopping" }, - // ambientValues: new { Controller = "Home", action = "Blog" }); - - // var expectedValues = new RouteValueDictionary( - // new { controller = "Shopping", action = "Index" }); - - // // Act - // var link = linkGenerator.GetLink(new[] { endpoint }, context.ExplicitValues, context.AmbientValues); - - // // Assert - // Assert.Equal("/slug/Shopping", link); - // - // - - // Assert.Equal(expectedValues, constraint.Values); - //} - - //// Default values from the routing generating a link are in the 'values' collection when - //// constraints are processed - IFF they are specified as values or ambient values. - //[Fact] - //public void GetLink_ConstraintsSeeDefaults_IfTheyAreSpecifiedOrAmbient() - //{ - // // Arrange - // var constraint = new CapturingConstraint(); - // var endpoint = CreateEndpoints( - // template: "slug/{controller}/{action}", - // defaultValues: new { otherthing = "17", thirdthing = "13" }, - // handleRequest: true, - // constraints: new { c = constraint }); - - // var context = CreateRouteValuesContext( - // values: new { action = "Store", thirdthing = "13" }, - // ambientValues: new { Controller = "Home", action = "Blog", otherthing = "17" }); - - // var expectedValues = new RouteValueDictionary( - // new { controller = "Home", action = "Store", otherthing = "17", thirdthing = "13" }); - - // // Act - // var link = linkGenerator.GetLink(new[] { endpoint }, context.ExplicitValues, context.AmbientValues); - - // // Assert - // Assert.Equal("/slug/Home/Store", link); - // - // - - // Assert.Equal(expectedValues.OrderBy(kvp => kvp.Key), constraint.Values.OrderBy(kvp => kvp.Key)); - //} - - //[Fact] - //public void GetLink_InlineConstraints_Success() - //{ - // // Arrange - // var endpoint = CreateEndpoints("{controller}/{action}/{id:int}"); - // var context = CreateRouteValuesContext( - // values: new { action = "Index", controller = "Home", id = 4 }); - - // // Act - // var link = linkGenerator.GetLink(new[] { endpoint }, context.ExplicitValues, context.AmbientValues); - - // // Assert - // Assert.Equal("/Home/Index/4", link); - // - // - //} - - //[Fact] - //public void GetLink_InlineConstraints_NonMatchingvalue() - //{ - // // Arrange - // var endpoint = CreateEndpoints("{controller}/{action}/{id:int}"); - // var context = CreateRouteValuesContext( - // values: new { action = "Index", controller = "Home", id = "asf" }); - - // // Act - // var path = route.GetLink(context); - - // // Assert - // Assert.Null(path); - //} - - //[Fact] - //public void GetLink_InlineConstraints_OptionalParameter_ValuePresent() - //{ - // // Arrange - // var endpoint = CreateEndpoints("{controller}/{action}/{id:int?}"); - // var context = CreateRouteValuesContext( - // values: new { action = "Index", controller = "Home", id = 98 }); - - // // Act - // var link = linkGenerator.GetLink(new[] { endpoint }, context.ExplicitValues, context.AmbientValues); - - // // Assert - // Assert.Equal("/Home/Index/98", link); - // - // - //} - - //[Fact] - //public void GetLink_InlineConstraints_OptionalParameter_ValueNotPresent() - //{ - // // Arrange - // var endpoint = CreateEndpoints("{controller}/{action}/{id:int?}"); - // var context = CreateRouteValuesContext( - // values: new { action = "Index", controller = "Home" }); - - // // Act - // var link = linkGenerator.GetLink(new[] { endpoint }, context.ExplicitValues, context.AmbientValues); - - // // Assert - // Assert.Equal("/Home/Index", link); - // - // - //} - - //[Fact] - //public void GetLink_InlineConstraints_OptionalParameter_ValuePresent_ConstraintFails() - //{ - // // Arrange - // var endpoint = CreateEndpoints("{controller}/{action}/{id:int?}"); - // var context = CreateRouteValuesContext( - // values: new { action = "Index", controller = "Home", id = "sdfd" }); - - // // Act - // var path = route.GetLink(context); - - // // Assert - // Assert.Null(path); - //} - - //[Fact] - //public void GetLink_InlineConstraints_CompositeInlineConstraint() - //{ - // // Arrange - // var endpoint = CreateEndpoints("{controller}/{action}/{id:int:range(1,20)}"); - // var context = CreateRouteValuesContext( - // values: new { action = "Index", controller = "Home", id = 14 }); - - // // Act - // var link = linkGenerator.GetLink(new[] { endpoint }, context.ExplicitValues, context.AmbientValues); - - // // Assert - // Assert.Equal("/Home/Index/14", link); - // - // - //} - - //[Fact] - //public void GetLink_InlineConstraints_CompositeConstraint_FromConstructor() - //{ - // // Arrange - // var constraint = new MaxLengthRouteConstraint(20); - // var endpoint = CreateEndpoints( - // template: "{controller}/{action}/{name:alpha}", - // defaultValues: null, - // handleRequest: true, - // constraints: new { name = constraint }); - - // var context = CreateRouteValuesContext( - // values: new { action = "Index", controller = "Home", name = "products" }); - - // // Act - // var link = linkGenerator.GetLink(new[] { endpoint }, context.ExplicitValues, context.AmbientValues); - - // // Assert - // Assert.Equal("/Home/Index/products", link); - // - // - //} + [Fact] + public void RouteGenerationRejectsConstraints() + { + // Arrange + var context = CreateRouteValuesContext(new { p1 = "abcd" }); + var linkGenerator = CreateLinkGenerator(); + var matchProcessorReferences = new List(); + matchProcessorReferences.Add(new MatchProcessorReference("p2", new RegexRouteConstraint("\\d{4}"))); + var endpoint = CreateEndpoint( + "{p1}/{p2}", + new { p2 = "catchall" }, + matchProcessorReferences: matchProcessorReferences); + + // Act + var canGenerateLink = linkGenerator.TryGetLink( + new DefaultHttpContext(), + new[] { endpoint }, + context.ExplicitValues, + context.AmbientValues, + out var link); + + // Assert + Assert.False(canGenerateLink); + } + + [Fact] + public void RouteGenerationAcceptsConstraints() + { + // Arrange + var context = CreateRouteValuesContext(new { p1 = "hello", p2 = "1234" }); + var linkGenerator = CreateLinkGenerator(); + var matchProcessorReferences = new List(); + matchProcessorReferences.Add(new MatchProcessorReference("p2", new RegexRouteConstraint("\\d{4}"))); + var endpoint = CreateEndpoint( + "{p1}/{p2}", + new { p2 = "catchall" }, + matchProcessorReferences); + + // Act + var canGenerateLink = linkGenerator.TryGetLink( + new DefaultHttpContext(), + new[] { endpoint }, + context.ExplicitValues, + context.AmbientValues, + out var link); + + // Assert + Assert.True(canGenerateLink); + Assert.Equal("/hello/1234", link); + } + + [Fact] + public void RouteWithCatchAllRejectsConstraints() + { + // Arrange + var context = CreateRouteValuesContext(new { p1 = "abcd" }); + var linkGenerator = CreateLinkGenerator(); + var matchProcessorReferences = new List(); + matchProcessorReferences.Add(new MatchProcessorReference("p2", new RegexRouteConstraint("\\d{4}"))); + var endpoint = CreateEndpoint( + "{p1}/{*p2}", + new { p2 = "catchall" }, + matchProcessorReferences: matchProcessorReferences); + + // Act + var canGenerateLink = linkGenerator.TryGetLink( + new DefaultHttpContext(), + new[] { endpoint }, + context.ExplicitValues, + context.AmbientValues, + out var link); + + // Assert + Assert.False(canGenerateLink); + } + + [Fact] + public void RouteWithCatchAllAcceptsConstraints() + { + // Arrange + var context = CreateRouteValuesContext(new { p1 = "hello", p2 = "1234" }); + var linkGenerator = CreateLinkGenerator(); + var matchProcessorReferences = new List(); + matchProcessorReferences.Add(new MatchProcessorReference("p2", new RegexRouteConstraint("\\d{4}"))); + var endpoint = CreateEndpoint( + "{p1}/{*p2}", + new { p2 = "catchall" }, + matchProcessorReferences); + + // Act + var canGenerateLink = linkGenerator.TryGetLink( + new DefaultHttpContext(), + new[] { endpoint }, + context.ExplicitValues, + context.AmbientValues, + out var link); + + // Assert + Assert.True(canGenerateLink); + Assert.Equal("/hello/1234", link); + } + + [Fact] + public void GetLinkWithNonParameterConstraintReturnsUrlWithoutQueryString() + { + // Arrange + var context = CreateRouteValuesContext(new { p1 = "hello", p2 = "1234" }); + var linkGenerator = CreateLinkGenerator(); + var target = new Mock(); + target + .Setup( + e => e.Match( + It.IsAny(), + It.IsAny(), + It.IsAny(), + It.IsAny(), + It.IsAny())) + .Returns(true) + .Verifiable(); + + var endpoint = CreateEndpoint( + "{p1}/{p2}", + defaultValues: new { p2 = "catchall" }, + matchProcessorReferences: new List + { + new MatchProcessorReference("p2", target.Object) + }); + + // Act + var canGenerateLink = linkGenerator.TryGetLink( + new DefaultHttpContext(), + new[] { endpoint }, + context.ExplicitValues, + context.AmbientValues, + out var link); + + // Assert + Assert.True(canGenerateLink); + Assert.Equal("/hello/1234", link); + target.VerifyAll(); + } + + // Any ambient values from the current request should be visible to constraint, even + // if they have nothing to do with the route generating a link + [Fact] + public void GetLink_ConstraintsSeeAmbientValues() + { + // Arrange + var constraint = new CapturingConstraint(); + var linkGenerator = CreateLinkGenerator(); + var endpoint = CreateEndpoint( + template: "slug/Home/Store", + defaultValues: new { controller = "Home", action = "Store" }, + matchProcessorReferences: new List() + { + new MatchProcessorReference("c", constraint) + }); + + var context = CreateRouteValuesContext( + suppliedValues: new { action = "Store" }, + ambientValues: new { controller = "Home", action = "Blog", extra = "42" }); + + var expectedValues = new RouteValueDictionary( + new { controller = "Home", action = "Store", extra = "42" }); + + // Act + var canGenerateLink = linkGenerator.TryGetLink( + new DefaultHttpContext(), + new[] { endpoint }, + context.ExplicitValues, + context.AmbientValues, + out var link); + + // Assert + Assert.True(canGenerateLink); + Assert.Equal("/slug/Home/Store", link); + Assert.Equal(expectedValues.OrderBy(kvp => kvp.Key), constraint.Values.OrderBy(kvp => kvp.Key)); + } + + // Non-parameter default values from the routing generating a link are not in the 'values' + // collection when constraints are processed. + [Fact] + public void GetLink_ConstraintsDontSeeDefaults_WhenTheyArentParameters() + { + // Arrange + var constraint = new CapturingConstraint(); + var linkGenerator = CreateLinkGenerator(); + var endpoint = CreateEndpoint( + template: "slug/Home/Store", + defaultValues: new { controller = "Home", action = "Store", otherthing = "17" }, + matchProcessorReferences: new List() + { + new MatchProcessorReference("c", constraint) + }); + + var context = CreateRouteValuesContext( + suppliedValues: new { action = "Store" }, + ambientValues: new { controller = "Home", action = "Blog" }); + + var expectedValues = new RouteValueDictionary( + new { controller = "Home", action = "Store" }); + + // Act + var link = linkGenerator.GetLink( + new DefaultHttpContext(), + new[] { endpoint }, + context.ExplicitValues, + context.AmbientValues); + + // Assert + Assert.Equal("/slug/Home/Store", link); + Assert.Equal(expectedValues.OrderBy(kvp => kvp.Key), constraint.Values.OrderBy(kvp => kvp.Key)); + } + + // Default values are visible to the constraint when they are used to fill a parameter. + [Fact] + public void GetLink_ConstraintsSeesDefault_WhenThereItsAParamter() + { + // Arrange + var constraint = new CapturingConstraint(); + var linkGenerator = CreateLinkGenerator(); + var endpoint = CreateEndpoint( + template: "slug/{controller}/{action}", + defaultValues: new { action = "Index" }, + matchProcessorReferences: new List() + { + new MatchProcessorReference("c", constraint) + }); + + var context = CreateRouteValuesContext( + suppliedValues: new { controller = "Shopping" }, + ambientValues: new { controller = "Home", action = "Blog" }); + + var expectedValues = new RouteValueDictionary( + new { controller = "Shopping", action = "Index" }); + + // Act + var link = linkGenerator.GetLink( + new DefaultHttpContext(), + new[] { endpoint }, + context.ExplicitValues, + context.AmbientValues); + + // Assert + Assert.Equal("/slug/Shopping", link); + Assert.Equal(expectedValues, constraint.Values); + } + + // Default values from the routing generating a link are in the 'values' collection when + // constraints are processed - IFF they are specified as values or ambient values. + [Fact] + public void GetLink_ConstraintsSeeDefaults_IfTheyAreSpecifiedOrAmbient() + { + // Arrange + var constraint = new CapturingConstraint(); + var linkGenerator = CreateLinkGenerator(); + var endpoint = CreateEndpoint( + template: "slug/Home/Store", + defaultValues: new { controller = "Home", action = "Store", otherthing = "17", thirdthing = "13" }, + matchProcessorReferences: new List() + { + new MatchProcessorReference("c", constraint) + }); + + var context = CreateRouteValuesContext( + suppliedValues: new { action = "Store", thirdthing = "13" }, + ambientValues: new { controller = "Home", action = "Blog", otherthing = "17" }); + + var expectedValues = new RouteValueDictionary( + new { controller = "Home", action = "Store", otherthing = "17", thirdthing = "13" }); + + // Act + var link = linkGenerator.GetLink( + new DefaultHttpContext(), + new[] { endpoint }, + context.ExplicitValues, + context.AmbientValues); + + // Assert + Assert.Equal("/slug/Home/Store", link); + Assert.Equal(expectedValues.OrderBy(kvp => kvp.Key), constraint.Values.OrderBy(kvp => kvp.Key)); + } + + [Fact] + public void GetLink_InlineConstraints_Success() + { + // Arrange + var linkGenerator = CreateLinkGenerator(); + var endpoint = CreateEndpoint( + template: "Home/Index/{id}", + defaultValues: new { controller = "Home", action = "Index" }, + matchProcessorReferences: new List() + { + new MatchProcessorReference("id", "int") + }); + var context = CreateRouteValuesContext( + suppliedValues: new { action = "Index", controller = "Home", id = 4 }); + + // Act + var link = linkGenerator.GetLink( + new DefaultHttpContext(), + new[] { endpoint }, + context.ExplicitValues, + context.AmbientValues); + + // Assert + Assert.Equal("/Home/Index/4", link); + } + + [Fact] + public void GetLink_InlineConstraints_NonMatchingvalue() + { + // Arrange + var linkGenerator = CreateLinkGenerator(); + var endpoint = CreateEndpoint( + template: "Home/Index/{id}", + defaultValues: new { controller = "Home", action = "Index" }, + matchProcessorReferences: new List() + { + new MatchProcessorReference("id", "int") + }); + var context = CreateRouteValuesContext( + suppliedValues: new { action = "Index", controller = "Home", id = "not-an-integer" }); + + // Act + var canGenerateLink = linkGenerator.TryGetLink( + new DefaultHttpContext(), + new[] { endpoint }, + context.ExplicitValues, + context.AmbientValues, + out var link); + + // Assert + Assert.False(canGenerateLink); + } + + [Fact] + public void GetLink_InlineConstraints_OptionalParameter_ValuePresent() + { + // Arrange + var linkGenerator = CreateLinkGenerator(); + var endpoint = CreateEndpoint( + template: "Home/Index/{id}", + defaultValues: new { controller = "Home", action = "Index" }, + matchProcessorReferences: new List() + { + new MatchProcessorReference("id", optional: true, "int") + }); + var context = CreateRouteValuesContext( + suppliedValues: new { action = "Index", controller = "Home", id = 98 }); + + // Act + var link = linkGenerator.GetLink( + new DefaultHttpContext(), + new[] { endpoint }, + context.ExplicitValues, + context.AmbientValues); + + // Assert + Assert.Equal("/Home/Index/98", link); + } + + [Fact] + public void GetLink_InlineConstraints_OptionalParameter_ValueNotPresent() + { + // Arrange + var linkGenerator = CreateLinkGenerator(); + var endpoint = CreateEndpoint( + template: "Home/Index/{id?}", + defaultValues: new { controller = "Home", action = "Index" }, + matchProcessorReferences: new List() + { + new MatchProcessorReference("id", optional: true, "int") + }); + var context = CreateRouteValuesContext( + suppliedValues: new { action = "Index", controller = "Home" }); + + // Act + var link = linkGenerator.GetLink( + new DefaultHttpContext(), + new[] { endpoint }, + context.ExplicitValues, + context.AmbientValues); + + // Assert + Assert.Equal("/Home/Index", link); + } + + [Fact] + public void GetLink_InlineConstraints_OptionalParameter_ValuePresent_ConstraintFails() + { + // Arrange + var linkGenerator = CreateLinkGenerator(); + var endpoint = CreateEndpoint( + template: "Home/Index/{id}", + defaultValues: new { controller = "Home", action = "Index" }, + matchProcessorReferences: new List() + { + new MatchProcessorReference("id", optional: true, "int") + }); + var context = CreateRouteValuesContext( + suppliedValues: new { action = "Index", controller = "Home", id = "not-an-integer" }); + + // Act + var canGenerateLink = linkGenerator.TryGetLink( + new DefaultHttpContext(), + new[] { endpoint }, + context.ExplicitValues, + context.AmbientValues, + out var link); + + // Assert + Assert.False(canGenerateLink); + } + + [Fact] + public void GetLink_InlineConstraints_CompositeInlineConstraint() + { + // Arrange + var linkGenerator = CreateLinkGenerator(); + var endpoint = CreateEndpoint( + template: "Home/Index/{id}", + defaultValues: new { controller = "Home", action = "Index" }, + matchProcessorReferences: new List() + { + new MatchProcessorReference("id", "int"), + new MatchProcessorReference("id", "range(1,20)") + }); + var context = CreateRouteValuesContext( + suppliedValues: new { action = "Index", controller = "Home", id = 14 }); + + // Act + var link = linkGenerator.GetLink( + new DefaultHttpContext(), + new[] { endpoint }, + context.ExplicitValues, + context.AmbientValues); + + // Assert + Assert.Equal("/Home/Index/14", link); + } + + [Fact] + public void GetLink_InlineConstraints_CompositeInlineConstraint_Fails() + { + // Arrange + var linkGenerator = CreateLinkGenerator(); + var endpoint = CreateEndpoint( + template: "Home/Index/{id}", + defaultValues: new { controller = "Home", action = "Index" }, + matchProcessorReferences: new List() + { + new MatchProcessorReference("id", "int"), + new MatchProcessorReference("id", "range(1,20)") + }); + var context = CreateRouteValuesContext( + suppliedValues: new { action = "Index", controller = "Home", id = 50 }); + + // Act + var canGenerateLink = linkGenerator.TryGetLink( + new DefaultHttpContext(), + new[] { endpoint }, + context.ExplicitValues, + context.AmbientValues, + out var link); + + // Assert + Assert.False(canGenerateLink); + } + + [Fact] + public void GetLink_InlineConstraints_CompositeConstraint_FromConstructor() + { + // Arrange + var constraint = new MaxLengthRouteConstraint(20); + var linkGenerator = CreateLinkGenerator(); + var endpoint = CreateEndpoint( + template: "Home/Index/{name}", + defaultValues: new { controller = "Home", action = "Index" }, + matchProcessorReferences: new List() + { + new MatchProcessorReference("name", constraint) + }); + var context = CreateRouteValuesContext( + suppliedValues: new { action = "Index", controller = "Home", name = "products" }); + + // Act + var link = linkGenerator.GetLink( + new DefaultHttpContext(), + new[] { endpoint }, + context.ExplicitValues, + context.AmbientValues); + + // Assert + Assert.Equal("/Home/Index/products", link); + } [Fact] public void GetLink_OptionalParameter_ParameterPresentInValues() @@ -710,49 +849,48 @@ namespace Microsoft.AspNetCore.Routing Assert.Equal("/Home/Index/products?format=json", link); } - //[Fact] - //public void GetLink_OptionalParameter_FollowedByDotAfterSlash_ParameterPresent() - //{ - // // Arrange - // var endpoint = CreateEndpoints( - // template: "{controller}/{action}/.{name?}", - // defaultValues: null, - // handleRequest: true, - // constraints: null); + [Fact] + public void GetLink_OptionalParameter_FollowedByDotAfterSlash_ParameterPresent() + { + // Arrange + var linkGenerator = CreateLinkGenerator(); + var endpoint = CreateEndpoint( + template: "{controller}/{action}/.{name?}"); - // var context = CreateRouteValuesContext( - // values: new { action = "Index", controller = "Home", name = "products" }); + var context = CreateRouteValuesContext( + suppliedValues: new { action = "Index", controller = "Home", name = "products" }); - // // Act - // var link = linkGenerator.GetLink(new[] { endpoint }, context.ExplicitValues, context.AmbientValues); + // Act + var link = linkGenerator.GetLink( + new DefaultHttpContext(), + new[] { endpoint }, + context.ExplicitValues, + context.AmbientValues); - // // Assert - // Assert.Equal("/Home/Index/.products", link); - // - // - //} + // Assert + Assert.Equal("/Home/Index/.products", link); + } - //[Fact] - //public void GetLink_OptionalParameter_FollowedByDotAfterSlash_ParameterNotPresent() - //{ - // // Arrange - // var endpoint = CreateEndpoints( - // template: "{controller}/{action}/.{name?}", - // defaultValues: null, - // handleRequest: true, - // constraints: null); + [Fact] + public void GetLink_OptionalParameter_FollowedByDotAfterSlash_ParameterNotPresent() + { + // Arrange + var linkGenerator = CreateLinkGenerator(); + var endpoint = CreateEndpoint("{controller}/{action}/.{name?}"); - // var context = CreateRouteValuesContext( - // values: new { action = "Index", controller = "Home" }); + var context = CreateRouteValuesContext( + suppliedValues: new { action = "Index", controller = "Home" }); - // // Act - // var link = linkGenerator.GetLink(new[] { endpoint }, context.ExplicitValues, context.AmbientValues); + // Act + var link = linkGenerator.GetLink( + new DefaultHttpContext(), + new[] { endpoint }, + context.ExplicitValues, + context.AmbientValues); - // // Assert - // Assert.Equal("/Home/Index/", link); - // - // - //} + // Assert + Assert.Equal("/Home/Index/", link); + } [Fact] public void GetLink_OptionalParameter_InSimpleSegment() @@ -774,63 +912,68 @@ namespace Microsoft.AspNetCore.Routing Assert.Equal("/Home/Index", link); } - //[Fact] - //public void GetLink_TwoOptionalParameters_OneValueFromAmbientValues() - //{ - // // Arrange - // var endpoint = CreateEndpoints("a/{b=15}/{c?}/{d?}"); - // var linkGenerator = CreateLinkGenerator(); - // var context = CreateRouteValuesContext( - // suppliedValues: new { }, - // ambientValues: new { c = "17" }); + [Fact] + public void GetLink_TwoOptionalParameters_OneValueFromAmbientValues() + { + // Arrange + var endpoint = CreateEndpoint("a/{b=15}/{c?}/{d?}"); + var linkGenerator = CreateLinkGenerator(); + var context = CreateRouteValuesContext( + suppliedValues: new { }, + ambientValues: new { c = "17" }); - // // Act - // var link = linkGenerator.GetLink(new[] { endpoint }, context.ExplicitValues, context.AmbientValues); + // Act + var link = linkGenerator.GetLink( + httpContext: null, + new[] { endpoint }, + context.ExplicitValues, + context.AmbientValues); - // // Assert - // Assert.Equal("/a/15/17", link); - //} + // Assert + Assert.Equal("/a/15/17", link); + } - //[Fact] - //public void GetLink_OptionalParameterAfterDefault_OneValueFromAmbientValues() - //{ - // // Arrange - // var endpoint = CreateEndpoints("a/{b=15}/{c?}"); - // var linkGenerator = CreateLinkGenerator(); - // var context = CreateRouteValuesContext( - // suppliedValues: new { }, - // ambientValues: new { c = "17" }); + [Fact] + public void GetLink_OptionalParameterAfterDefault_OneValueFromAmbientValues() + { + // Arrange + var endpoint = CreateEndpoint("a/{b=15}/{c?}"); + var linkGenerator = CreateLinkGenerator(); + var context = CreateRouteValuesContext( + suppliedValues: new { }, + ambientValues: new { c = "17" }); - // // Act - // var link = linkGenerator.GetLink(new[] { endpoint }, context.ExplicitValues, context.AmbientValues); + // Act + var link = linkGenerator.GetLink( + httpContext: null, + new[] { endpoint }, + context.ExplicitValues, + context.AmbientValues); - // // Assert - // Assert.Equal("/a/15/17", link); - //} + // Assert + Assert.Equal("/a/15/17", link); + } - //[Fact] - //public void GetLink_TwoOptionalParametersAfterDefault_LastValueFromAmbientValues() - //{ - // // Arrange - // var endpoint = CreateEndpoints( - // template: "a/{b=15}/{c?}/{d?}", - // defaultValues: null, - // handleRequest: true, - // constraints: null); + [Fact] + public void GetLink_TwoOptionalParametersAfterDefault_LastValueFromAmbientValues() + { + // Arrange + var endpoint = CreateEndpoint("a/{b=15}/{c?}/{d?}", defaultValues: new { }); + var linkGenerator = CreateLinkGenerator(); + var context = CreateRouteValuesContext( + suppliedValues: new { }, + ambientValues: new { d = "17" }); - // var context = CreateRouteValuesContext( - // values: new { }, - // ambientValues: new { d = "17" }); + // Act + var link = linkGenerator.GetLink( + httpContext: null, + new[] { endpoint }, + context.ExplicitValues, + context.AmbientValues); - // // Act - // var link = linkGenerator.GetLink(new[] { endpoint }, context.ExplicitValues, context.AmbientValues); - - // // Assert - // Assert.NotNull(pathData); - // Assert.Equal("/a", link); - // - // - //} + // Assert + Assert.Equal("/a", link); + } private RouteValuesBasedEndpointFinderContext CreateRouteValuesContext(object suppliedValues, object ambientValues = null) { @@ -840,17 +983,27 @@ namespace Microsoft.AspNetCore.Routing return context; } - private MatcherEndpoint CreateEndpoint(string template, object defaultValues = null) + private MatcherEndpoint CreateEndpoint( + string template, + object defaultValues = null, + object requiredValues = null, + List matchProcessorReferences = null, + int order = 0, + EndpointMetadataCollection metadata = null) { var defaults = defaultValues == null ? new RouteValueDictionary() : new RouteValueDictionary(defaultValues); + var required = requiredValues == null ? new RouteValueDictionary() : new RouteValueDictionary(requiredValues); + metadata = metadata ?? EndpointMetadataCollection.Empty; + matchProcessorReferences = matchProcessorReferences ?? new List(); + return new MatcherEndpoint( next => (httpContext) => Task.CompletedTask, template, defaults, - new RouteValueDictionary(), - new List(), - 0, - EndpointMetadataCollection.Empty, + required, + matchProcessorReferences, + order, + metadata, null); } diff --git a/test/Microsoft.AspNetCore.Routing.Tests/RouteTest.cs b/test/Microsoft.AspNetCore.Routing.Tests/RouteTest.cs index a09935fcd5..805fed68bc 100644 --- a/test/Microsoft.AspNetCore.Routing.Tests/RouteTest.cs +++ b/test/Microsoft.AspNetCore.Routing.Tests/RouteTest.cs @@ -9,6 +9,7 @@ using Microsoft.AspNetCore.Builder; using Microsoft.AspNetCore.Http; using Microsoft.AspNetCore.Routing.Constraints; using Microsoft.AspNetCore.Routing.Internal; +using Microsoft.AspNetCore.Routing.TestObjects; using Microsoft.AspNetCore.Testing; using Microsoft.Extensions.DependencyInjection; using Microsoft.Extensions.Logging; @@ -1843,21 +1844,5 @@ namespace Microsoft.AspNetCore.Routing return new DefaultInlineConstraintResolver(routeOptions.Object); } - - private class CapturingConstraint : IRouteConstraint - { - public IDictionary Values { get; private set; } - - public bool Match( - HttpContext httpContext, - IRouter route, - string routeKey, - RouteValueDictionary values, - RouteDirection routeDirection) - { - Values = new RouteValueDictionary(values); - return true; - } - } } } diff --git a/test/Microsoft.AspNetCore.Routing.Tests/TestObjects/CapturingConstraint.cs b/test/Microsoft.AspNetCore.Routing.Tests/TestObjects/CapturingConstraint.cs new file mode 100644 index 0000000000..94834493df --- /dev/null +++ b/test/Microsoft.AspNetCore.Routing.Tests/TestObjects/CapturingConstraint.cs @@ -0,0 +1,24 @@ +// Copyright (c) .NET Foundation. All rights reserved. +// Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information. + +using System.Collections.Generic; +using Microsoft.AspNetCore.Http; + +namespace Microsoft.AspNetCore.Routing.TestObjects +{ + internal class CapturingConstraint : IRouteConstraint + { + public IDictionary Values { get; private set; } + + public bool Match( + HttpContext httpContext, + IRouter route, + string routeKey, + RouteValueDictionary values, + RouteDirection routeDirection) + { + Values = new RouteValueDictionary(values); + return true; + } + } +} From 90395c933dee94859d6cf551d5073a8a0ee2413b Mon Sep 17 00:00:00 2001 From: James Newton-King Date: Fri, 20 Jul 2018 18:23:14 +1200 Subject: [PATCH 079/221] Implement IRoutingFeature on EndpointFeature for back-compat (#641) --- .../RouteData.cs | 16 +++++++++- .../DispatcherMiddleware.cs | 3 ++ .../EndpointFeature.cs | 31 +++++++++++++++++-- .../DispatcherMiddlewareTest.cs | 24 ++++++++++++++ .../TestObjects/TestMatcher.cs | 1 + 5 files changed, 72 insertions(+), 3 deletions(-) diff --git a/src/Microsoft.AspNetCore.Routing.Abstractions/RouteData.cs b/src/Microsoft.AspNetCore.Routing.Abstractions/RouteData.cs index 0ece2b91de..e0628dc1bb 100644 --- a/src/Microsoft.AspNetCore.Routing.Abstractions/RouteData.cs +++ b/src/Microsoft.AspNetCore.Routing.Abstractions/RouteData.cs @@ -51,6 +51,20 @@ namespace Microsoft.AspNetCore.Routing } } + /// + /// Creates a new instance with the specified values. + /// + /// The values. + public RouteData(RouteValueDictionary values) + { + if (values == null) + { + throw new ArgumentNullException(nameof(values)); + } + + _values = values; + } + /// /// Gets the data tokens produced by routes on the current routing path. /// @@ -84,7 +98,7 @@ namespace Microsoft.AspNetCore.Routing } /// - /// Gets the set of values produced by routes on the current routing path. + /// Gets the values produced by routes on the current routing path. /// public RouteValueDictionary Values { diff --git a/src/Microsoft.AspNetCore.Routing/DispatcherMiddleware.cs b/src/Microsoft.AspNetCore.Routing/DispatcherMiddleware.cs index cccebfe7b1..6dd9cbed16 100644 --- a/src/Microsoft.AspNetCore.Routing/DispatcherMiddleware.cs +++ b/src/Microsoft.AspNetCore.Routing/DispatcherMiddleware.cs @@ -57,6 +57,9 @@ namespace Microsoft.AspNetCore.Routing var feature = new EndpointFeature(); httpContext.Features.Set(feature); + // Back compat support for users of IRoutingFeature + httpContext.Features.Set(feature); + // There's an inherent race condition between waiting for init and accessing the matcher // this is OK because once `_matcher` is initialized, it will not be set to null again. var matcher = await InitializeAsync(); diff --git a/src/Microsoft.AspNetCore.Routing/EndpointFeature.cs b/src/Microsoft.AspNetCore.Routing/EndpointFeature.cs index 62d943ca84..99e5709867 100644 --- a/src/Microsoft.AspNetCore.Routing/EndpointFeature.cs +++ b/src/Microsoft.AspNetCore.Routing/EndpointFeature.cs @@ -6,12 +6,39 @@ using Microsoft.AspNetCore.Http; namespace Microsoft.AspNetCore.Routing { - public sealed class EndpointFeature : IEndpointFeature + public sealed class EndpointFeature : IEndpointFeature, IRoutingFeature { + private RouteData _routeData; + private RouteValueDictionary _values; + public Endpoint Endpoint { get; set; } public Func Invoker { get; set; } - public RouteValueDictionary Values { get; set; } + public RouteValueDictionary Values + { + get => _values; + set + { + _values = value; + + // RouteData will be created next get with new Values + _routeData = null; + } + } + + RouteData IRoutingFeature.RouteData + { + get + { + if (_routeData == null) + { + _routeData = new RouteData(_values); + } + + return _routeData; + } + set => throw new NotSupportedException(); + } } } diff --git a/test/Microsoft.AspNetCore.Routing.Tests/DispatcherMiddlewareTest.cs b/test/Microsoft.AspNetCore.Routing.Tests/DispatcherMiddlewareTest.cs index 4f5b72de8d..26fb753c38 100644 --- a/test/Microsoft.AspNetCore.Routing.Tests/DispatcherMiddlewareTest.cs +++ b/test/Microsoft.AspNetCore.Routing.Tests/DispatcherMiddlewareTest.cs @@ -58,6 +58,30 @@ namespace Microsoft.AspNetCore.Routing Assert.Equal(expectedMessage, write.State?.ToString()); } + [Fact] + public async Task Invoke_BackCompatGetRouteValue_ValueUsedFromEndpointFeature() + { + // Arrange + var httpContext = new DefaultHttpContext(); + httpContext.RequestServices = new TestServiceProvider(); + + var middleware = CreateMiddleware(); + + // Act + await middleware.Invoke(httpContext); + var routeData = httpContext.GetRouteData(); + var routeValue = httpContext.GetRouteValue("controller"); + var endpointFeature = httpContext.Features.Get(); + + // Assert + Assert.NotNull(routeData); + Assert.Equal("Home", (string)routeValue); + + // changing route data value is reflected in endpoint feature values + routeData.Values["testKey"] = "testValue"; + Assert.Equal("testValue", endpointFeature.Values["testKey"]); + } + private DispatcherMiddleware CreateMiddleware(Logger logger = null) { RequestDelegate next = (c) => Task.FromResult(null); diff --git a/test/Microsoft.AspNetCore.Routing.Tests/TestObjects/TestMatcher.cs b/test/Microsoft.AspNetCore.Routing.Tests/TestObjects/TestMatcher.cs index 58b8f37840..4994cdd008 100644 --- a/test/Microsoft.AspNetCore.Routing.Tests/TestObjects/TestMatcher.cs +++ b/test/Microsoft.AspNetCore.Routing.Tests/TestObjects/TestMatcher.cs @@ -20,6 +20,7 @@ namespace Microsoft.AspNetCore.Routing.TestObjects { if (_isHandled) { + feature.Values = new RouteValueDictionary(new { controller = "Home", action = "Index" }); feature.Endpoint = new TestEndpoint(EndpointMetadataCollection.Empty, "Test endpoint"); } From f1c060bf3d2569a2ccc5147d5e8b78b86860cedb Mon Sep 17 00:00:00 2001 From: Ryan Nowak Date: Thu, 19 Jul 2018 13:34:18 -0700 Subject: [PATCH 080/221] RoutePattern everywhere --- .../Benchmarks/StartupUsingDispatcher.cs | 5 +- .../Matchers/MatcherBenchmarkBase.cs | 7 +- .../Matchers/TrivialMatcher.cs | 4 +- samples/DispatcherSample.Web/Startup.cs | 19 +- .../DefaultLinkGenerator.cs | 27 +- .../Matchers/DefaultMatchProcessorFactory.cs | 164 +++++------- .../Matchers/DfaMatcherBuilder.cs | 82 +++--- .../Matchers/MatchProcessorFactory.cs | 38 ++- .../Matchers/MatchProcessorReference.cs | 86 ------ .../Matchers/MatcherBuilderEntry.cs | 9 +- .../Matchers/MatcherEndpoint.cs | 101 +------ .../Matchers/RouteConstraintMatchProcessor.cs | 61 +++++ .../Patterns/RouteParameterParser.cs | 16 +- .../RoutePatternConstraintReference.cs | 16 +- .../Patterns/RoutePatternFactory.cs | 53 ++-- .../Properties/Resources.Designer.cs | 56 ++++ .../Resources.resx | 12 + .../RouteValuesBasedEndpointFinder.cs | 8 +- .../Template/RoutePrecedence.cs | 106 ++++++++ .../Template/TemplatePart.cs | 2 +- .../CompositeEndpointDataSourceTest.cs | 13 +- .../DefaultLinkGeneratorTest.cs | 201 ++++---------- .../Matchers/BarebonesMatcherBuilder.cs | 9 +- .../DataSourceDependentMatcherTest.cs | 4 +- .../DefaultMatchProcessorFactoryTest.cs | 249 ++++++++++++------ .../Matchers/DfaMatcherBuilderTest.cs | 16 +- .../Matchers/DfaMatcherTest.cs | 9 +- .../Matchers/MatcherConformanceTest.cs | 9 +- .../RouteConstraintMatchProcessorTest.cs | 62 +++++ .../Matchers/RouteMatcherBuilder.cs | 20 +- .../Matchers/TreeRouterMatcherBuilder.cs | 13 +- .../Patterns/RoutePatternFactoryTest.cs | 41 ++- .../Patterns/RoutePatternParserTest.cs | 3 +- .../RouteValueBasedEndpointFinderTest.cs | 13 +- 34 files changed, 859 insertions(+), 675 deletions(-) delete mode 100644 src/Microsoft.AspNetCore.Routing/Matchers/MatchProcessorReference.cs create mode 100644 src/Microsoft.AspNetCore.Routing/Matchers/RouteConstraintMatchProcessor.cs create mode 100644 test/Microsoft.AspNetCore.Routing.Tests/Matchers/RouteConstraintMatchProcessorTest.cs diff --git a/benchmarkapps/Benchmarks/StartupUsingDispatcher.cs b/benchmarkapps/Benchmarks/StartupUsingDispatcher.cs index 1351a20689..f8c739eab1 100644 --- a/benchmarkapps/Benchmarks/StartupUsingDispatcher.cs +++ b/benchmarkapps/Benchmarks/StartupUsingDispatcher.cs @@ -5,6 +5,7 @@ using System.Text; using Microsoft.AspNetCore.Builder; using Microsoft.AspNetCore.Routing; using Microsoft.AspNetCore.Routing.Matchers; +using Microsoft.AspNetCore.Routing.Patterns; using Microsoft.Extensions.DependencyInjection; namespace Benchmarks @@ -31,10 +32,8 @@ namespace Benchmarks response.ContentLength = payloadLength; return response.Body.WriteAsync(_helloWorldPayload, 0, payloadLength); }, - template: "/plaintext", - defaults: new RouteValueDictionary(), + routePattern: RoutePatternFactory.Parse("/plaintext"), requiredValues: new RouteValueDictionary(), - nonInlineMatchProcessorReferences: null, order: 0, metadata: EndpointMetadataCollection.Empty, displayName: "Plaintext"), diff --git a/benchmarks/Microsoft.AspNetCore.Routing.Performance/Matchers/MatcherBenchmarkBase.cs b/benchmarks/Microsoft.AspNetCore.Routing.Performance/Matchers/MatcherBenchmarkBase.cs index fb12d507a7..ada2c02857 100644 --- a/benchmarks/Microsoft.AspNetCore.Routing.Performance/Matchers/MatcherBenchmarkBase.cs +++ b/benchmarks/Microsoft.AspNetCore.Routing.Performance/Matchers/MatcherBenchmarkBase.cs @@ -8,6 +8,7 @@ using System.Text; using System.Threading.Tasks; using Microsoft.AspNetCore.Http; using Microsoft.AspNetCore.Routing.EndpointConstraints; +using Microsoft.AspNetCore.Routing.Patterns; using Microsoft.Extensions.DependencyInjection; namespace Microsoft.AspNetCore.Routing.Matchers @@ -42,11 +43,9 @@ namespace Microsoft.AspNetCore.Routing.Matchers } return new MatcherEndpoint( - (next) => (context) => Task.CompletedTask, - template, + MatcherEndpoint.EmptyInvoker, + RoutePatternFactory.Parse(template), new RouteValueDictionary(), - new RouteValueDictionary(), - new List(), 0, new EndpointMetadataCollection(metadata), template); diff --git a/benchmarks/Microsoft.AspNetCore.Routing.Performance/Matchers/TrivialMatcher.cs b/benchmarks/Microsoft.AspNetCore.Routing.Performance/Matchers/TrivialMatcher.cs index 6784f2b190..0483a0b5a9 100644 --- a/benchmarks/Microsoft.AspNetCore.Routing.Performance/Matchers/TrivialMatcher.cs +++ b/benchmarks/Microsoft.AspNetCore.Routing.Performance/Matchers/TrivialMatcher.cs @@ -39,7 +39,7 @@ namespace Microsoft.AspNetCore.Routing.Matchers } var path = httpContext.Request.Path.Value; - if (string.Equals(_endpoint.Template, path, StringComparison.OrdinalIgnoreCase)) + if (string.Equals(_endpoint.RoutePattern.RawText, path, StringComparison.OrdinalIgnoreCase)) { feature.Endpoint = _endpoint; feature.Values = new RouteValueDictionary(); @@ -51,7 +51,7 @@ namespace Microsoft.AspNetCore.Routing.Matchers // This is here so this can be tested alongside DFA matcher. internal CandidateSet SelectCandidates(string path, ReadOnlySpan segments) { - if (string.Equals(_endpoint.Template, path, StringComparison.OrdinalIgnoreCase)) + if (string.Equals(_endpoint.RoutePattern.RawText, path, StringComparison.OrdinalIgnoreCase)) { return _candidates; } diff --git a/samples/DispatcherSample.Web/Startup.cs b/samples/DispatcherSample.Web/Startup.cs index 9f8747310f..4cbebd1e89 100644 --- a/samples/DispatcherSample.Web/Startup.cs +++ b/samples/DispatcherSample.Web/Startup.cs @@ -8,6 +8,7 @@ using Microsoft.AspNetCore.Builder; using Microsoft.AspNetCore.Http; using Microsoft.AspNetCore.Routing; using Microsoft.AspNetCore.Routing.Matchers; +using Microsoft.AspNetCore.Routing.Patterns; using Microsoft.Extensions.DependencyInjection; namespace DispatcherSample.Web @@ -39,10 +40,8 @@ namespace DispatcherSample.Web response.ContentLength = payloadLength; return response.Body.WriteAsync(_homePayload, 0, payloadLength); }, - "/", + RoutePatternFactory.Parse("/"), new RouteValueDictionary(), - new RouteValueDictionary(), - new List(), 0, EndpointMetadataCollection.Empty, "Home"), @@ -55,10 +54,8 @@ namespace DispatcherSample.Web response.ContentLength = payloadLength; return response.Body.WriteAsync(_helloWorldPayload, 0, payloadLength); }, - "/plaintext", - new RouteValueDictionary(), - new RouteValueDictionary(), - new List(), + RoutePatternFactory.Parse("/plaintext"), + new RouteValueDictionary(), 0, EndpointMetadataCollection.Empty, "Plaintext"), @@ -69,10 +66,8 @@ namespace DispatcherSample.Web response.ContentType = "text/plain"; return response.WriteAsync("WithConstraints"); }, - "/withconstraints/{id:endsWith(_001)}", + RoutePatternFactory.Parse("/withconstraints/{id:endsWith(_001)}"), new RouteValueDictionary(), - new RouteValueDictionary(), - new List(), 0, EndpointMetadataCollection.Empty, "withconstraints"), @@ -83,10 +78,8 @@ namespace DispatcherSample.Web response.ContentType = "text/plain"; return response.WriteAsync("withoptionalconstraints"); }, - "/withoptionalconstraints/{id:endsWith(_001)?}", + RoutePatternFactory.Parse("/withoptionalconstraints/{id:endsWith(_001)?}"), new RouteValueDictionary(), - new RouteValueDictionary(), - new List(), 0, EndpointMetadataCollection.Empty, "withoptionalconstraints"), diff --git a/src/Microsoft.AspNetCore.Routing/DefaultLinkGenerator.cs b/src/Microsoft.AspNetCore.Routing/DefaultLinkGenerator.cs index cef493c3db..a52382e50d 100644 --- a/src/Microsoft.AspNetCore.Routing/DefaultLinkGenerator.cs +++ b/src/Microsoft.AspNetCore.Routing/DefaultLinkGenerator.cs @@ -86,8 +86,8 @@ namespace Microsoft.AspNetCore.Routing var templateBinder = new TemplateBinder( UrlEncoder.Default, _uriBuildingContextPool, - endpoint.ParsedTemplate, - endpoint.Defaults); + new RouteTemplate(endpoint.RoutePattern), + new RouteValueDictionary(endpoint.RoutePattern.Defaults)); var templateValuesResult = templateBinder.GetValues(ambientValues, explicitValues); if (templateValuesResult == null) @@ -110,20 +110,19 @@ namespace Microsoft.AspNetCore.Routing { throw new ArgumentNullException(nameof(routeValues)); } - - for (var i = 0; i < endpoint.MatchProcessorReferences.Count; i++) + + foreach (var kvp in endpoint.RoutePattern.Constraints) { - var matchProcessorReference = endpoint.MatchProcessorReferences[i]; - var parameter = endpoint.ParsedTemplate.GetParameter(matchProcessorReference.ParameterName); - if (parameter != null && parameter.IsOptional && !routeValues.ContainsKey(parameter.Name)) + var parameter = endpoint.RoutePattern.GetParameter(kvp.Key); // may be null, that's ok + var constraintReferences = kvp.Value; + for (var i = 0; i < constraintReferences.Count; i++) { - continue; - } - - var matchProcessor = _matchProcessorFactory.Create(matchProcessorReference); - if (!matchProcessor.ProcessOutbound(httpContext, routeValues)) - { - return false; + var constraintReference = constraintReferences[i]; + var matchProcessor = _matchProcessorFactory.Create(parameter, constraintReference); + if (!matchProcessor.ProcessOutbound(httpContext, routeValues)) + { + return false; + } } } diff --git a/src/Microsoft.AspNetCore.Routing/Matchers/DefaultMatchProcessorFactory.cs b/src/Microsoft.AspNetCore.Routing/Matchers/DefaultMatchProcessorFactory.cs index f4acb68f78..d515df57da 100644 --- a/src/Microsoft.AspNetCore.Routing/Matchers/DefaultMatchProcessorFactory.cs +++ b/src/Microsoft.AspNetCore.Routing/Matchers/DefaultMatchProcessorFactory.cs @@ -20,145 +20,113 @@ namespace Microsoft.AspNetCore.Routing.Matchers _serviceProvider = serviceProvider; } - public override MatchProcessor Create(MatchProcessorReference matchProcessorReference) + public override MatchProcessor Create(string parameterName, IRouteConstraint value, bool optional) { - if (matchProcessorReference == null) + if (value == null) { - throw new ArgumentNullException(nameof(matchProcessorReference)); + throw new ArgumentNullException(nameof(value)); } - if (matchProcessorReference.MatchProcessor != null) + return InitializeMatchProcessor(parameterName, optional, value, argument: null); + } + + public override MatchProcessor Create(string parameterName, MatchProcessor value, bool optional) + { + if (value == null) { - return matchProcessorReference.MatchProcessor; + throw new ArgumentNullException(nameof(value)); + } + + return InitializeMatchProcessor(parameterName, optional, value, argument: null); + } + + public override MatchProcessor Create(string parameterName, string value, bool optional) + { + if (value == null) + { + throw new ArgumentNullException(nameof(value)); } // Example: // {productId:regex(\d+)} // // ParameterName: productId - // ConstraintText: regex(\d+) - // ConstraintName: regex - // ConstraintArgument: \d+ + // value: regex(\d+) + // name: regex + // argument: \d+ + (var name, var argument) = Parse(value); - (var constraintName, var constraintArgument) = Parse(matchProcessorReference.ConstraintText); - - if (!_options.ConstraintMap.TryGetValue(constraintName, out var constraintType)) + if (!_options.ConstraintMap.TryGetValue(name, out var type)) { - throw new InvalidOperationException( - $"No constraint has been registered with name '{constraintName}'."); + throw new InvalidOperationException(Resources.FormatRoutePattern_ConstraintReferenceNotFound( + name, + typeof(RouteOptions), + nameof(RouteOptions.ConstraintMap))); } - var processor = ResolveMatchProcessor( - matchProcessorReference.ParameterName, - matchProcessorReference.Optional, - constraintType, - constraintArgument); - - if (processor != null) + if (typeof(MatchProcessor).IsAssignableFrom(type)) { - return processor; + var matchProcessor = (MatchProcessor)_serviceProvider.GetRequiredService(type); + return InitializeMatchProcessor(parameterName, optional, matchProcessor, argument); } - if (!typeof(IRouteConstraint).IsAssignableFrom(constraintType)) + if (typeof(IRouteConstraint).IsAssignableFrom(type)) { - throw new InvalidOperationException( - Resources.FormatDefaultInlineConstraintResolver_TypeNotConstraint( - constraintType, - constraintName, - typeof(IRouteConstraint).Name)); + var constraint = DefaultInlineConstraintResolver.CreateConstraint(type, argument); + return InitializeMatchProcessor(parameterName, optional, constraint, argument); } - try - { - return CreateMatchProcessorFromRouteConstraint( - matchProcessorReference.ParameterName, - matchProcessorReference.Optional, - constraintType, - constraintArgument); - } - catch (RouteCreationException) - { - throw; - } - catch (Exception exception) - { - throw new InvalidOperationException( - $"An error occurred while trying to create an instance of route constraint '{constraintType.FullName}'.", - exception); - } + var message = Resources.FormatRoutePattern_InvalidStringConstraintReference( + type, + name, + typeof(IRouteConstraint), + typeof(MatchProcessor)); + throw new InvalidOperationException(message); } - private MatchProcessor CreateMatchProcessorFromRouteConstraint( + private MatchProcessor InitializeMatchProcessor( string parameterName, bool optional, - Type constraintType, - string constraintArgument) + IRouteConstraint constraint, + string argument) + { + var matchProcessor = (MatchProcessor)new RouteConstraintMatchProcessor(parameterName, constraint); + return InitializeMatchProcessor(parameterName, optional, matchProcessor, argument); + } + + private MatchProcessor InitializeMatchProcessor( + string parameterName, + bool optional, + MatchProcessor matchProcessor, + string argument) { - var routeConstraint = DefaultInlineConstraintResolver.CreateConstraint(constraintType, constraintArgument); - var matchProcessor = new MatchProcessorReference(parameterName, routeConstraint).MatchProcessor; if (optional) { matchProcessor = new OptionalMatchProcessor(matchProcessor); } - matchProcessor.Initialize(parameterName, constraintArgument); - + matchProcessor.Initialize(parameterName, argument); return matchProcessor; } - private MatchProcessor ResolveMatchProcessor( - string parameterName, - bool optional, - Type constraintType, - string constraintArgument) + private (string name, string argument) Parse(string text) { - if (constraintType == null) + string name; + string argument; + var indexOfFirstOpenParens = text.IndexOf('('); + if (indexOfFirstOpenParens >= 0 && text.EndsWith(")", StringComparison.Ordinal)) { - throw new ArgumentNullException(nameof(constraintType)); - } - - if (!typeof(MatchProcessor).IsAssignableFrom(constraintType)) - { - // Since a constraint type could be of type IRouteConstraint, do not throw - return null; - } - - var registeredProcessor = _serviceProvider.GetRequiredService(constraintType); - if (registeredProcessor is MatchProcessor matchProcessor) - { - if (optional) - { - matchProcessor = new OptionalMatchProcessor(matchProcessor); - } - - matchProcessor.Initialize(parameterName, constraintArgument); - return matchProcessor; - } - else - { - throw new InvalidOperationException( - $"Registered constraint type '{constraintType}' is not of type '{typeof(MatchProcessor)}'."); - } - } - - private (string constraintName, string constraintArgument) Parse(string constraintText) - { - string constraintName; - string constraintArgument; - var indexOfFirstOpenParens = constraintText.IndexOf('('); - if (indexOfFirstOpenParens >= 0 && constraintText.EndsWith(")", StringComparison.Ordinal)) - { - constraintName = constraintText.Substring(0, indexOfFirstOpenParens); - constraintArgument = constraintText.Substring( + name = text.Substring(0, indexOfFirstOpenParens); + argument = text.Substring( indexOfFirstOpenParens + 1, - constraintText.Length - indexOfFirstOpenParens - 2); + text.Length - indexOfFirstOpenParens - 2); } else { - constraintName = constraintText; - constraintArgument = null; + name = text; + argument = null; } - return (constraintName, constraintArgument); + return (name, argument); } } } diff --git a/src/Microsoft.AspNetCore.Routing/Matchers/DfaMatcherBuilder.cs b/src/Microsoft.AspNetCore.Routing/Matchers/DfaMatcherBuilder.cs index 36f4b2c6fe..ab9936ed06 100644 --- a/src/Microsoft.AspNetCore.Routing/Matchers/DfaMatcherBuilder.cs +++ b/src/Microsoft.AspNetCore.Routing/Matchers/DfaMatcherBuilder.cs @@ -53,7 +53,7 @@ namespace Microsoft.AspNetCore.Routing.Matchers for (var i = 0; i < _entries.Count; i++) { var entry = _entries[i]; - maxDepth = Math.Max(maxDepth, entry.Pattern.Segments.Count); + maxDepth = Math.Max(maxDepth, entry.RoutePattern.PathSegments.Count); work.Add((entry, new List() { root, })); } @@ -88,9 +88,10 @@ namespace Microsoft.AspNetCore.Routing.Matchers for (var j = 0; j < parents.Count; j++) { var parent = parents[j]; - if (segment.IsSimple && segment.Parts[0].IsLiteral) + var part = segment.Parts[0]; + if (segment.IsSimple && part is RoutePatternLiteralPart literalPart) { - var literal = segment.Parts[0].Text; + var literal = literalPart.Content; if (!parent.Literals.TryGetValue(literal, out var next)) { next = new DfaNode() @@ -103,7 +104,7 @@ namespace Microsoft.AspNetCore.Routing.Matchers nextParents.Add(next); } - else if (segment.IsSimple && segment.Parts[0].IsCatchAll) + else if (segment.IsSimple && part is RoutePatternParameterPart parameterPart && parameterPart.IsCatchAll) { // A catch all should traverse all literal nodes as well as parameter nodes // we don't need to create the parameter node here because of ordering @@ -134,7 +135,7 @@ namespace Microsoft.AspNetCore.Routing.Matchers parent.CatchAll.Matches.Add(entry); } - else if (segment.IsSimple && segment.Parts[0].IsParameter) + else if (segment.IsSimple && part.IsParameter) { if (parent.Parameters == null) { @@ -182,20 +183,20 @@ namespace Microsoft.AspNetCore.Routing.Matchers return root; } - private TemplateSegment GetCurrentSegment(MatcherBuilderEntry entry, int depth) + private RoutePatternPathSegment GetCurrentSegment(MatcherBuilderEntry entry, int depth) { - if (depth < entry.Pattern.Segments.Count) + if (depth < entry.RoutePattern.PathSegments.Count) { - return entry.Pattern.Segments[depth]; + return entry.RoutePattern.PathSegments[depth]; } - if (entry.Pattern.Segments.Count == 0) + if (entry.RoutePattern.PathSegments.Count == 0) { return null; } - var lastSegment = entry.Pattern.Segments[entry.Pattern.Segments.Count - 1]; - if (lastSegment.IsSimple && lastSegment.Parts[0].IsCatchAll) + var lastSegment = entry.RoutePattern.PathSegments[entry.RoutePattern.PathSegments.Count - 1]; + if (lastSegment.IsSimple && lastSegment.Parts[0] is RoutePatternParameterPart parameterPart && parameterPart.IsCatchAll) { return lastSegment; } @@ -305,63 +306,68 @@ namespace Microsoft.AspNetCore.Routing.Matchers var captures = new List<(string parameterName, int segmentIndex, int slotIndex)>(); (string parameterName, int segmentIndex, int slotIndex) catchAll = default; - foreach (var kvp in entry.Endpoint.Defaults) + foreach (var kvp in entry.Endpoint.RoutePattern.Defaults) { assignments.Add(kvp.Key, assignments.Count); slots.Add(kvp); } - for (var i = 0; i < entry.Pattern.Segments.Count; i++) + for (var i = 0; i < entry.Endpoint.RoutePattern.PathSegments.Count; i++) { - var segment = entry.Pattern.Segments[i]; + var segment = entry.Endpoint.RoutePattern.PathSegments[i]; if (!segment.IsSimple) { continue; } - var part = segment.Parts[0]; - if (!part.IsParameter) + var parameterPart = segment.Parts[0] as RoutePatternParameterPart; + if (parameterPart == null) { continue; } - if (!assignments.TryGetValue(part.Name, out var slotIndex)) + if (!assignments.TryGetValue(parameterPart.Name, out var slotIndex)) { slotIndex = assignments.Count; - assignments.Add(part.Name, slotIndex); + assignments.Add(parameterPart.Name, slotIndex); - var hasDefaultValue = part.DefaultValue != null || part.IsCatchAll; - slots.Add(hasDefaultValue ? new KeyValuePair(part.Name, part.DefaultValue) : default); + var hasDefaultValue = parameterPart.Default != null || parameterPart.IsCatchAll; + slots.Add(hasDefaultValue ? new KeyValuePair(parameterPart.Name, parameterPart.Default) : default); } - if (part.IsCatchAll) + if (parameterPart.IsCatchAll) { - catchAll = (part.Name, i, slotIndex); + catchAll = (parameterPart.Name, i, slotIndex); } else { - captures.Add((part.Name, i, slotIndex)); + captures.Add((parameterPart.Name, i, slotIndex)); } } var complexSegments = new List<(RoutePatternPathSegment pathSegment, int segmentIndex)>(); - for (var i = 0; i < entry.Pattern.Segments.Count; i++) + for (var i = 0; i < entry.RoutePattern.PathSegments.Count; i++) { - var segment = entry.Pattern.Segments[i]; + var segment = entry.RoutePattern.PathSegments[i]; if (segment.IsSimple) { continue; } - complexSegments.Add((segment.ToRoutePatternPathSegment(), i)); + complexSegments.Add((segment, i)); } var matchProcessors = new List(); - for (var i = 0; i < entry.Endpoint.MatchProcessorReferences.Count; i++) + foreach (var kvp in entry.Endpoint.RoutePattern.Constraints) { - var reference = entry.Endpoint.MatchProcessorReferences[i]; - var processor = _matchProcessorFactory.Create(reference); - matchProcessors.Add(processor); + var parameter = entry.Endpoint.RoutePattern.GetParameter(kvp.Key); // may be null, that's ok + var constraintReferences = kvp.Value; + for (var i = 0; i < constraintReferences.Count; i++) + { + var constraintReference = constraintReferences[i]; + var matchProcessor = _matchProcessorFactory.Create(parameter, constraintReference); + matchProcessors.Add(matchProcessor); + } } return new Candidate( @@ -405,25 +411,25 @@ namespace Microsoft.AspNetCore.Routing.Matchers private static bool HasAdditionalRequiredSegments(MatcherBuilderEntry entry, int depth) { - for (var i = depth; i < entry.Pattern.Segments.Count; i++) + for (var i = depth; i < entry.RoutePattern.PathSegments.Count; i++) { - var segment = entry.Pattern.Segments[i]; + var segment = entry.RoutePattern.PathSegments[i]; if (!segment.IsSimple) { // Complex segments always require more processing return true; } - var part = segment.Parts[0]; - if (part.IsLiteral) + var parameterPart = segment.Parts[0] as RoutePatternParameterPart; + if (parameterPart == null) { + // It's a literal return true; } - if (!part.IsOptional && - !part.IsCatchAll && - part.DefaultValue == null && - !entry.Endpoint.Defaults.ContainsKey(part.Name)) + if (!parameterPart.IsOptional && + !parameterPart.IsCatchAll && + parameterPart.Default == null) { return true; } diff --git a/src/Microsoft.AspNetCore.Routing/Matchers/MatchProcessorFactory.cs b/src/Microsoft.AspNetCore.Routing/Matchers/MatchProcessorFactory.cs index 95624ea420..e21d3bd6ea 100644 --- a/src/Microsoft.AspNetCore.Routing/Matchers/MatchProcessorFactory.cs +++ b/src/Microsoft.AspNetCore.Routing/Matchers/MatchProcessorFactory.cs @@ -1,10 +1,46 @@ // Copyright (c) .NET Foundation. All rights reserved. // Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information. +using System; +using System.Diagnostics; +using Microsoft.AspNetCore.Routing.Patterns; + namespace Microsoft.AspNetCore.Routing.Matchers { internal abstract class MatchProcessorFactory { - public abstract MatchProcessor Create(MatchProcessorReference matchProcessorReference); + public abstract MatchProcessor Create(string parameterName, string value, bool optional); + + public abstract MatchProcessor Create(string parameterName, IRouteConstraint value, bool optional); + + public abstract MatchProcessor Create(string parameterName, MatchProcessor value, bool optional); + + public MatchProcessor Create(RoutePatternParameterPart parameter, RoutePatternConstraintReference reference) + { + if (reference == null) + { + throw new ArgumentNullException(nameof(reference)); + } + + Debug.Assert(reference.MatchProcessor != null || reference.Constraint != null || reference.Content != null); + + if (reference.MatchProcessor != null) + { + return Create(parameter?.Name, reference.MatchProcessor, parameter?.IsOptional ?? false); + } + + if (reference.Constraint != null) + { + return Create(parameter?.Name, reference.Constraint, parameter?.IsOptional ?? false); + } + + if (reference.Content != null) + { + return Create(parameter?.Name, reference.Content, parameter?.IsOptional ?? false); + } + + // Unreachable + throw new NotSupportedException(); + } } } diff --git a/src/Microsoft.AspNetCore.Routing/Matchers/MatchProcessorReference.cs b/src/Microsoft.AspNetCore.Routing/Matchers/MatchProcessorReference.cs deleted file mode 100644 index 6266bb22e1..0000000000 --- a/src/Microsoft.AspNetCore.Routing/Matchers/MatchProcessorReference.cs +++ /dev/null @@ -1,86 +0,0 @@ -// Copyright (c) .NET Foundation. All rights reserved. -// Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information. - -using Microsoft.AspNetCore.Http; - -namespace Microsoft.AspNetCore.Routing.Matchers -{ - public sealed class MatchProcessorReference - { - // Example: - // api/products/{productId:regex(\d+)} - // - // ParameterName = productId - // ConstraintText = regex(\d+) - // ConstraintArgument = \d+ - - public MatchProcessorReference(string parameterName, string constraintText) - { - ParameterName = parameterName; - ConstraintText = constraintText; - } - - public MatchProcessorReference(string parameterName, bool optional, string constraintText) - { - ParameterName = parameterName; - Optional = optional; - ConstraintText = constraintText; - } - - public MatchProcessorReference(string parameterName, MatchProcessor matchProcessor) - { - ParameterName = parameterName; - MatchProcessor = matchProcessor; - } - - internal MatchProcessor MatchProcessor { get; private set; } - - internal string ConstraintText { get; private set; } - - internal string ParameterName { get; private set; } - - internal bool Optional { get; private set; } - - public MatchProcessorReference(string parameterName, IRouteConstraint routeConstraint) - : this(parameterName, new RouteConstraintMatchProcessorAdapter(parameterName, routeConstraint)) - { - } - - private class RouteConstraintMatchProcessorAdapter : MatchProcessor - { - public string ParameterName { get; private set; } - - public IRouteConstraint RouteConstraint { get; } - - public RouteConstraintMatchProcessorAdapter(string parameterName, IRouteConstraint routeConstraint) - { - ParameterName = parameterName; - RouteConstraint = routeConstraint; - } - - public override void Initialize(string parameterName, string constraintArgument) - { - } - - public override bool ProcessInbound(HttpContext httpContext, RouteValueDictionary routeValues) - { - return RouteConstraint.Match( - httpContext, - NullRouter.Instance, - ParameterName, - routeValues, - RouteDirection.IncomingRequest); - } - - public override bool ProcessOutbound(HttpContext httpContext, RouteValueDictionary values) - { - return RouteConstraint.Match( - httpContext, - NullRouter.Instance, - ParameterName, - values, - RouteDirection.UrlGeneration); - } - } - } -} diff --git a/src/Microsoft.AspNetCore.Routing/Matchers/MatcherBuilderEntry.cs b/src/Microsoft.AspNetCore.Routing/Matchers/MatcherBuilderEntry.cs index a9e3a6d3b8..d1aed77693 100644 --- a/src/Microsoft.AspNetCore.Routing/Matchers/MatcherBuilderEntry.cs +++ b/src/Microsoft.AspNetCore.Routing/Matchers/MatcherBuilderEntry.cs @@ -2,8 +2,7 @@ // Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information. using System; -using System.Linq; -using Microsoft.AspNetCore.Routing.EndpointConstraints; +using Microsoft.AspNetCore.Routing.Patterns; using Microsoft.AspNetCore.Routing.Template; namespace Microsoft.AspNetCore.Routing.Matchers @@ -14,14 +13,14 @@ namespace Microsoft.AspNetCore.Routing.Matchers { Endpoint = endpoint; - Precedence = RoutePrecedence.ComputeInbound(endpoint.ParsedTemplate); + Precedence = RoutePrecedence.ComputeInbound(endpoint.RoutePattern); } public MatcherEndpoint Endpoint { get; } public int Order => Endpoint.Order; - public RouteTemplate Pattern => Endpoint.ParsedTemplate; + public RoutePattern RoutePattern => Endpoint.RoutePattern; public decimal Precedence { get; } @@ -39,7 +38,7 @@ namespace Microsoft.AspNetCore.Routing.Matchers return comparison; } - return Pattern.TemplateText.CompareTo(other.Pattern.TemplateText); + return RoutePattern.RawText.CompareTo(other.RoutePattern.RawText); } public bool PriorityEquals(MatcherBuilderEntry other) diff --git a/src/Microsoft.AspNetCore.Routing/Matchers/MatcherEndpoint.cs b/src/Microsoft.AspNetCore.Routing/Matchers/MatcherEndpoint.cs index 591c98bac4..4311a28ee7 100644 --- a/src/Microsoft.AspNetCore.Routing/Matchers/MatcherEndpoint.cs +++ b/src/Microsoft.AspNetCore.Routing/Matchers/MatcherEndpoint.cs @@ -5,7 +5,7 @@ using System; using System.Collections.Generic; using System.Threading.Tasks; using Microsoft.AspNetCore.Http; -using Microsoft.AspNetCore.Routing.Template; +using Microsoft.AspNetCore.Routing.Patterns; namespace Microsoft.AspNetCore.Routing.Matchers { @@ -18,25 +18,11 @@ namespace Microsoft.AspNetCore.Routing.Matchers public MatcherEndpoint( Func invoker, - string template, - RouteValueDictionary defaults, + RoutePattern routePattern, RouteValueDictionary requiredValues, int order, EndpointMetadataCollection metadata, string displayName) - : this(invoker, template, defaults, requiredValues, new List(), order, metadata, displayName) - { - } - - public MatcherEndpoint( - Func invoker, - string template, - RouteValueDictionary defaults, - RouteValueDictionary requiredValues, - List nonInlineMatchProcessorReferences, - int order, - EndpointMetadataCollection metadata, - string displayName) : base(metadata, displayName) { if (invoker == null) @@ -44,89 +30,24 @@ namespace Microsoft.AspNetCore.Routing.Matchers throw new ArgumentNullException(nameof(invoker)); } - if (template == null) + if (routePattern == null) { - throw new ArgumentNullException(nameof(template)); + throw new ArgumentNullException(nameof(routePattern)); } Invoker = invoker; - Order = order; - - Template = template; - ParsedTemplate = TemplateParser.Parse(template); - + RoutePattern = routePattern; RequiredValues = requiredValues; - var mergedDefaults = GetDefaults(ParsedTemplate, defaults); - Defaults = mergedDefaults; - - var mergedReferences = MergeMatchProcessorReferences(ParsedTemplate, nonInlineMatchProcessorReferences); - MatchProcessorReferences = mergedReferences.AsReadOnly(); + Order = order; } + public Func Invoker { get; } + public int Order { get; } - public Func Invoker { get; } - public string Template { get; } - public RouteValueDictionary Defaults { get; } - + // Values required by an endpoint for it to be successfully matched on link generation - public RouteValueDictionary RequiredValues { get; } + public IReadOnlyDictionary RequiredValues { get; } - // Todo: needs review - public RouteTemplate ParsedTemplate { get; } - - public IReadOnlyList MatchProcessorReferences { get; } - - // Merge inline and non inline defaults into one - private RouteValueDictionary GetDefaults(RouteTemplate parsedTemplate, RouteValueDictionary nonInlineDefaults) - { - var result = nonInlineDefaults == null ? new RouteValueDictionary() : new RouteValueDictionary(nonInlineDefaults); - - foreach (var parameter in parsedTemplate.Parameters) - { - if (parameter.DefaultValue != null) - { - if (result.ContainsKey(parameter.Name)) - { - throw new InvalidOperationException( - Resources.FormatTemplateRoute_CannotHaveDefaultValueSpecifiedInlineAndExplicitly( - parameter.Name)); - } - else - { - result.Add(parameter.Name, parameter.DefaultValue); - } - } - } - - return result; - } - - private List MergeMatchProcessorReferences( - RouteTemplate parsedTemplate, - List nonInlineReferences) - { - var matchProcessorReferences = new List(); - - if (nonInlineReferences != null) - { - matchProcessorReferences.AddRange(nonInlineReferences); - } - - foreach (var parameter in parsedTemplate.Parameters) - { - if (parameter.InlineConstraints != null) - { - foreach (var constraint in parameter.InlineConstraints) - { - matchProcessorReferences.Add( - new MatchProcessorReference( - parameter.Name, - optional: parameter.IsOptional, - constraintText: constraint.Constraint)); - } - } - } - return matchProcessorReferences; - } + public RoutePattern RoutePattern { get; } } } diff --git a/src/Microsoft.AspNetCore.Routing/Matchers/RouteConstraintMatchProcessor.cs b/src/Microsoft.AspNetCore.Routing/Matchers/RouteConstraintMatchProcessor.cs new file mode 100644 index 0000000000..16fd9d0a84 --- /dev/null +++ b/src/Microsoft.AspNetCore.Routing/Matchers/RouteConstraintMatchProcessor.cs @@ -0,0 +1,61 @@ +// Copyright (c) .NET Foundation. All rights reserved. +// Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information. + +using System; +using Microsoft.AspNetCore.Http; + +namespace Microsoft.AspNetCore.Routing.Matchers +{ + internal class RouteConstraintMatchProcessor : MatchProcessor + { + public RouteConstraintMatchProcessor(string parameterName, IRouteConstraint constraint) + { + ParameterName = parameterName; + Constraint = constraint; + } + + public string ParameterName { get; } + + public IRouteConstraint Constraint { get; } + + public override bool ProcessInbound(HttpContext httpContext, RouteValueDictionary values) + { + if (httpContext == null) + { + throw new ArgumentNullException(nameof(httpContext)); + } + + if (values == null) + { + throw new ArgumentNullException(nameof(values)); + } + + return Constraint.Match( + httpContext, + NullRouter.Instance, + ParameterName, + values, + RouteDirection.IncomingRequest); + } + + public override bool ProcessOutbound(HttpContext httpContext, RouteValueDictionary values) + { + if (httpContext == null) + { + throw new ArgumentNullException(nameof(httpContext)); + } + + if (values == null) + { + throw new ArgumentNullException(nameof(values)); + } + + return Constraint.Match( + httpContext, + NullRouter.Instance, + ParameterName, + values, + RouteDirection.UrlGeneration); + } + } +} diff --git a/src/Microsoft.AspNetCore.Routing/Patterns/RouteParameterParser.cs b/src/Microsoft.AspNetCore.Routing/Patterns/RouteParameterParser.cs index c5b1a008e1..885f77481c 100644 --- a/src/Microsoft.AspNetCore.Routing/Patterns/RouteParameterParser.cs +++ b/src/Microsoft.AspNetCore.Routing/Patterns/RouteParameterParser.cs @@ -121,7 +121,7 @@ namespace Microsoft.AspNetCore.Routing.Patterns case null: state = ParseState.End; var constraintText = text.Substring(startIndex, currentIndex - startIndex); - constraints.Add(RoutePatternFactory.Constraint(parameterName, constraintText)); + constraints.Add(RoutePatternFactory.Constraint(constraintText)); break; case ')': // Only consume a ')' token if @@ -135,18 +135,18 @@ namespace Microsoft.AspNetCore.Routing.Patterns case null: state = ParseState.End; constraintText = text.Substring(startIndex, currentIndex - startIndex + 1); - constraints.Add(RoutePatternFactory.Constraint(parameterName, constraintText)); + constraints.Add(RoutePatternFactory.Constraint(constraintText)); break; case ':': state = ParseState.Start; constraintText = text.Substring(startIndex, currentIndex - startIndex + 1); - constraints.Add(RoutePatternFactory.Constraint(parameterName, constraintText)); + constraints.Add(RoutePatternFactory.Constraint(constraintText)); startIndex = currentIndex + 1; break; case '=': state = ParseState.End; constraintText = text.Substring(startIndex, currentIndex - startIndex + 1); - constraints.Add(RoutePatternFactory.Constraint(parameterName, constraintText)); + constraints.Add(RoutePatternFactory.Constraint(constraintText)); break; } break; @@ -161,7 +161,7 @@ namespace Microsoft.AspNetCore.Routing.Patterns if (indexOfClosingParantheses == -1) { constraintText = text.Substring(startIndex, currentIndex - startIndex); - constraints.Add(RoutePatternFactory.Constraint(parameterName, constraintText)); + constraints.Add(RoutePatternFactory.Constraint(constraintText)); if (currentChar == ':') { @@ -190,14 +190,14 @@ namespace Microsoft.AspNetCore.Routing.Patterns var constraintText = text.Substring(startIndex, currentIndex - startIndex); if (constraintText.Length > 0) { - constraints.Add(RoutePatternFactory.Constraint(parameterName, constraintText)); + constraints.Add(RoutePatternFactory.Constraint(constraintText)); } break; case ':': constraintText = text.Substring(startIndex, currentIndex - startIndex); if (constraintText.Length > 0) { - constraints.Add(RoutePatternFactory.Constraint(parameterName, constraintText)); + constraints.Add(RoutePatternFactory.Constraint(constraintText)); } startIndex = currentIndex + 1; break; @@ -209,7 +209,7 @@ namespace Microsoft.AspNetCore.Routing.Patterns constraintText = text.Substring(startIndex, currentIndex - startIndex); if (constraintText.Length > 0) { - constraints.Add(RoutePatternFactory.Constraint(parameterName, constraintText)); + constraints.Add(RoutePatternFactory.Constraint(constraintText)); } currentIndex--; break; diff --git a/src/Microsoft.AspNetCore.Routing/Patterns/RoutePatternConstraintReference.cs b/src/Microsoft.AspNetCore.Routing/Patterns/RoutePatternConstraintReference.cs index 272282a63f..0d8c9810bc 100644 --- a/src/Microsoft.AspNetCore.Routing/Patterns/RoutePatternConstraintReference.cs +++ b/src/Microsoft.AspNetCore.Routing/Patterns/RoutePatternConstraintReference.cs @@ -2,6 +2,7 @@ // Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information. using System.Diagnostics; +using Microsoft.AspNetCore.Routing.Matchers; namespace Microsoft.AspNetCore.Routing.Patterns { @@ -11,18 +12,21 @@ namespace Microsoft.AspNetCore.Routing.Patterns [DebuggerDisplay("{DebuggerToString()}")] public sealed class RoutePatternConstraintReference { - internal RoutePatternConstraintReference(string parameterName, string content) + internal RoutePatternConstraintReference(string content) { - ParameterName = parameterName; Content = content; } - internal RoutePatternConstraintReference(string parameterName, IRouteConstraint constraint) + internal RoutePatternConstraintReference(IRouteConstraint constraint) { - ParameterName = parameterName; Constraint = constraint; } + internal RoutePatternConstraintReference(MatchProcessor matchProcessor) + { + MatchProcessor = matchProcessor; + } + /// /// Gets the constraint text. /// @@ -34,9 +38,9 @@ namespace Microsoft.AspNetCore.Routing.Patterns public IRouteConstraint Constraint { get; } /// - /// Gets the parameter name associated with the constraint. + /// Gets a pre-existing that was used to construct this reference. /// - public string ParameterName { get; } + public MatchProcessor MatchProcessor { get; } private string DebuggerToString() { diff --git a/src/Microsoft.AspNetCore.Routing/Patterns/RoutePatternFactory.cs b/src/Microsoft.AspNetCore.Routing/Patterns/RoutePatternFactory.cs index e653845f87..de0b11e889 100644 --- a/src/Microsoft.AspNetCore.Routing/Patterns/RoutePatternFactory.cs +++ b/src/Microsoft.AspNetCore.Routing/Patterns/RoutePatternFactory.cs @@ -5,6 +5,7 @@ using System; using System.Collections.Generic; using System.Linq; using Microsoft.AspNetCore.Routing.Constraints; +using Microsoft.AspNetCore.Routing.Matchers; namespace Microsoft.AspNetCore.Routing.Patterns { @@ -158,7 +159,7 @@ namespace Microsoft.AspNetCore.Routing.Patterns { updatedConstraints.Add(kvp.Key, new List() { - Constraint(kvp.Key, kvp.Value), + Constraint(kvp.Value), }); } } @@ -450,55 +451,73 @@ namespace Microsoft.AspNetCore.Routing.Patterns return new RoutePatternParameterPart(parameterName, @default, parameterKind, constraints.ToArray()); } - public static RoutePatternConstraintReference Constraint(string parameterName, object constraint) + public static RoutePatternConstraintReference Constraint(object constraint) { // Similar to RouteConstraintBuilder if (constraint is IRouteConstraint routeConstraint) { - return ConstraintCore(parameterName, routeConstraint); + return ConstraintCore(routeConstraint); + } + else if (constraint is MatchProcessor matchProcessor) + { + return ConstraintCore(matchProcessor); } else if (constraint is string content) { - return ConstraintCore(parameterName, new RegexRouteConstraint("^(" + content + ")$")); + return ConstraintCore(new RegexRouteConstraint("^(" + content + ")$")); } else { - throw new InvalidOperationException(Resources.FormatConstraintMustBeStringOrConstraint( - parameterName, - constraint, - typeof(IRouteConstraint))); + throw new InvalidOperationException(Resources.FormatRoutePattern_InvalidConstraintReference( + constraint ?? "null", + typeof(IRouteConstraint), + typeof(MatchProcessor))); } } - public static RoutePatternConstraintReference Constraint(string parameterName, IRouteConstraint constraint) + public static RoutePatternConstraintReference Constraint(IRouteConstraint constraint) { if (constraint == null) { throw new ArgumentNullException(nameof(constraint)); } - return ConstraintCore(parameterName, constraint); + return ConstraintCore(constraint); } - public static RoutePatternConstraintReference Constraint(string parameterName, string constraint) + public static RoutePatternConstraintReference Constraint(MatchProcessor matchProcessor) + { + if (matchProcessor == null) + { + throw new ArgumentNullException(nameof(matchProcessor)); + } + + return ConstraintCore(matchProcessor); + } + + public static RoutePatternConstraintReference Constraint(string constraint) { if (string.IsNullOrEmpty(constraint)) { throw new ArgumentException(Resources.Argument_NullOrEmpty, nameof(constraint)); } - return ConstraintCore(parameterName, constraint); + return ConstraintCore(constraint); } - - private static RoutePatternConstraintReference ConstraintCore(string parameterName, IRouteConstraint constraint) + private static RoutePatternConstraintReference ConstraintCore(string constraint) { - return new RoutePatternConstraintReference(parameterName, constraint); + return new RoutePatternConstraintReference(constraint); } - private static RoutePatternConstraintReference ConstraintCore(string parameterName, string constraint) + private static RoutePatternConstraintReference ConstraintCore(IRouteConstraint constraint) { - return new RoutePatternConstraintReference(parameterName, constraint); + return new RoutePatternConstraintReference(constraint); + } + + private static RoutePatternConstraintReference ConstraintCore(MatchProcessor matchProcessor) + { + return new RoutePatternConstraintReference(matchProcessor); } } } diff --git a/src/Microsoft.AspNetCore.Routing/Properties/Resources.Designer.cs b/src/Microsoft.AspNetCore.Routing/Properties/Resources.Designer.cs index b3f0ee2d2e..9623f5c460 100644 --- a/src/Microsoft.AspNetCore.Routing/Properties/Resources.Designer.cs +++ b/src/Microsoft.AspNetCore.Routing/Properties/Resources.Designer.cs @@ -458,6 +458,62 @@ namespace Microsoft.AspNetCore.Routing internal static string FormatConstraintMustBeStringOrConstraint(object p0, object p1, object p2) => string.Format(CultureInfo.CurrentCulture, GetString("ConstraintMustBeStringOrConstraint"), p0, p1, p2); + /// + /// Invalid constraint '{0}'. A constraint must be of type 'string', '{1}', or '{2}'. + /// + internal static string RoutePattern_InvalidConstraintReference + { + get => GetString("RoutePattern_InvalidConstraintReference"); + } + + /// + /// Invalid constraint '{0}'. A constraint must be of type 'string', '{1}', or '{2}'. + /// + internal static string FormatRoutePattern_InvalidConstraintReference(object p0, object p1, object p2) + => string.Format(CultureInfo.CurrentCulture, GetString("RoutePattern_InvalidConstraintReference"), p0, p1, p2); + + /// + /// Invalid constraint '{0}' for parameter '{1}'. A constraint must be of type 'string', '{2}', or '{3}'. + /// + internal static string RoutePattern_InvalidParameterConstraintReference + { + get => GetString("RoutePattern_InvalidParameterConstraintReference"); + } + + /// + /// Invalid constraint '{0}' for parameter '{1}'. A constraint must be of type 'string', '{2}', or '{3}'. + /// + internal static string FormatRoutePattern_InvalidParameterConstraintReference(object p0, object p1, object p2, object p3) + => string.Format(CultureInfo.CurrentCulture, GetString("RoutePattern_InvalidParameterConstraintReference"), p0, p1, p2, p3); + + /// + /// The constraint reference '{0}' could not be resolved to a type. Register the constraint type with '{1}.{2}'. + /// + internal static string RoutePattern_ConstraintReferenceNotFound + { + get => GetString("RoutePattern_ConstraintReferenceNotFound"); + } + + /// + /// The constraint reference '{0}' could not be resolved to a type. Register the constraint type with '{1}.{2}'. + /// + internal static string FormatRoutePattern_ConstraintReferenceNotFound(object p0, object p1, object p2) + => string.Format(CultureInfo.CurrentCulture, GetString("RoutePattern_ConstraintReferenceNotFound"), p0, p1, p2); + + /// + /// Invalid constraint type '{0}' registered as '{1}'. A constraint type must either implement '{2}', or inherit from '{3}'. + /// + internal static string RoutePattern_InvalidStringConstraintReference + { + get => GetString("RoutePattern_InvalidStringConstraintReference"); + } + + /// + /// Invalid constraint type '{0}' registered as '{1}'. A constraint type must either implement '{2}', or inherit from '{3}'. + /// + internal static string FormatRoutePattern_InvalidStringConstraintReference(object p0, object p1, object p2, object p3) + => string.Format(CultureInfo.CurrentCulture, GetString("RoutePattern_InvalidStringConstraintReference"), p0, p1, p2, p3); + private static string GetString(string name, params string[] formatterNames) { var value = _resourceManager.GetString(name); diff --git a/src/Microsoft.AspNetCore.Routing/Resources.resx b/src/Microsoft.AspNetCore.Routing/Resources.resx index f5db3ec8d0..b0a3772b2c 100644 --- a/src/Microsoft.AspNetCore.Routing/Resources.resx +++ b/src/Microsoft.AspNetCore.Routing/Resources.resx @@ -213,4 +213,16 @@ The constraint entry '{0}' - '{1}' must have a string value or be of a type which implements '{2}'. + + Invalid constraint '{0}'. A constraint must be of type 'string', '{1}', or '{2}'. + + + Invalid constraint '{0}' for parameter '{1}'. A constraint must be of type 'string', '{2}', or '{3}'. + + + The constraint reference '{0}' could not be resolved to a type. Register the constraint type with '{1}.{2}'. + + + Invalid constraint type '{0}' registered as '{1}'. A constraint type must either implement '{2}', or inherit from '{3}'. + \ No newline at end of file diff --git a/src/Microsoft.AspNetCore.Routing/RouteValuesBasedEndpointFinder.cs b/src/Microsoft.AspNetCore.Routing/RouteValuesBasedEndpointFinder.cs index d9add483aa..d12456817d 100644 --- a/src/Microsoft.AspNetCore.Routing/RouteValuesBasedEndpointFinder.cs +++ b/src/Microsoft.AspNetCore.Routing/RouteValuesBasedEndpointFinder.cs @@ -120,13 +120,13 @@ namespace Microsoft.AspNetCore.Routing { Handler = NullRouter.Instance, Order = endpoint.Order, - Precedence = RoutePrecedence.ComputeOutbound(endpoint.ParsedTemplate), - RequiredLinkValues = endpoint.RequiredValues, - RouteTemplate = endpoint.ParsedTemplate, + Precedence = RoutePrecedence.ComputeOutbound(endpoint.RoutePattern), + RequiredLinkValues = new RouteValueDictionary(endpoint.RequiredValues), + RouteTemplate = new RouteTemplate(endpoint.RoutePattern), Data = endpoint, RouteName = routeNameMetadata?.Name, }; - entry.Defaults = endpoint.Defaults; + entry.Defaults = new RouteValueDictionary(endpoint.RoutePattern.Defaults); return entry; } diff --git a/src/Microsoft.AspNetCore.Routing/Template/RoutePrecedence.cs b/src/Microsoft.AspNetCore.Routing/Template/RoutePrecedence.cs index 663f455923..672ceacfdc 100644 --- a/src/Microsoft.AspNetCore.Routing/Template/RoutePrecedence.cs +++ b/src/Microsoft.AspNetCore.Routing/Template/RoutePrecedence.cs @@ -4,6 +4,7 @@ using System; using System.Diagnostics; using System.Linq; +using Microsoft.AspNetCore.Routing.Patterns; namespace Microsoft.AspNetCore.Routing.Template { @@ -36,6 +37,24 @@ namespace Microsoft.AspNetCore.Routing.Template return precedence; } + // See description on ComputeInbound(RouteTemplate) + internal static decimal ComputeInbound(RoutePattern routePattern) + { + var precedence = 0m; + + for (var i = 0; i < routePattern.PathSegments.Count; i++) + { + var segment = routePattern.PathSegments[i]; + + var digit = ComputeInboundPrecedenceDigit(segment); + Debug.Assert(digit >= 0 && digit < 10); + + precedence += decimal.Divide(digit, (decimal)Math.Pow(10, i)); + } + + return precedence; + } + // Compute the precedence for generating a url // e.g.: /api/template == 5.5 // /api/template/{id} == 5.53 @@ -60,6 +79,26 @@ namespace Microsoft.AspNetCore.Routing.Template return precedence; } + // see description on ComputeOutbound(RouteTemplate) + internal static decimal ComputeOutbound(RoutePattern routePattern) + { + // Each precedence digit corresponds to one decimal place. For example, 3 segments with precedences 2, 1, + // and 4 results in a combined precedence of 2.14 (decimal). + var precedence = 0m; + + for (var i = 0; i < routePattern.PathSegments.Count; i++) + { + var segment = routePattern.PathSegments[i]; + + var digit = ComputeOutboundPrecedenceDigit(segment); + Debug.Assert(digit >= 0 && digit < 10); + + precedence += decimal.Divide(digit, (decimal)Math.Pow(10, i)); + } + + return precedence; + } + // Segments have the following order: // 5 - Literal segments // 4 - Multi-part segments && Constrained parameter segments @@ -92,6 +131,38 @@ namespace Microsoft.AspNetCore.Routing.Template } } + // See description on ComputeOutboundPrecedenceDigit(TemplateSegment segment) + private static int ComputeOutboundPrecedenceDigit(RoutePatternPathSegment pathSegment) + { + if (pathSegment.Parts.Count > 1) + { + return 4; + } + + var part = pathSegment.Parts[0]; + if (part.IsLiteral) + { + return 5; + } + else if (part is RoutePatternParameterPart parameterPart) + { + Debug.Assert(parameterPart != null); + var digit = parameterPart.IsCatchAll ? 1 : 3; + + if (parameterPart.Constraints.Count > 0) + { + digit++; + } + + return digit; + } + else + { + // Unreachable + throw new NotSupportedException(); + } + } + // Segments have the following order: // 1 - Literal segments // 2 - Constrained parameter segments / Multi-part segments @@ -127,5 +198,40 @@ namespace Microsoft.AspNetCore.Routing.Template return digit; } } + + // see description on ComputeInboundPrecedenceDigit(TemplateSegment segment) + private static int ComputeInboundPrecedenceDigit(RoutePatternPathSegment pathSegment) + { + if (pathSegment.Parts.Count > 1) + { + // Multi-part segments should appear after literal segments and along with parameter segments + return 2; + } + + var part = pathSegment.Parts[0]; + // Literal segments always go first + if (part.IsLiteral) + { + return 1; + } + else if (part is RoutePatternParameterPart parameterPart) + { + var digit = parameterPart.IsCatchAll ? 5 : 3; + + // If there is a route constraint for the parameter, reduce order by 1 + // Constrained parameters end up with order 2, Constrained catch alls end up with order 4 + if (parameterPart.Constraints.Count > 0) + { + digit--; + } + + return digit; + } + else + { + // Unreachable + throw new NotSupportedException(); + } + } } } \ No newline at end of file diff --git a/src/Microsoft.AspNetCore.Routing/Template/TemplatePart.cs b/src/Microsoft.AspNetCore.Routing/Template/TemplatePart.cs index c8ba0b319c..f42cbfa011 100644 --- a/src/Microsoft.AspNetCore.Routing/Template/TemplatePart.cs +++ b/src/Microsoft.AspNetCore.Routing/Template/TemplatePart.cs @@ -118,7 +118,7 @@ namespace Microsoft.AspNetCore.Routing.Template RoutePatternParameterKind.Optional : RoutePatternParameterKind.Standard; - var constraints = InlineConstraints.Select(c => new RoutePatternConstraintReference(Name, c.Constraint)); + var constraints = InlineConstraints.Select(c => new RoutePatternConstraintReference(c.Constraint)); return RoutePatternFactory.ParameterPart(Name, DefaultValue, kind, constraints); } } diff --git a/test/Microsoft.AspNetCore.Routing.Tests/CompositeEndpointDataSourceTest.cs b/test/Microsoft.AspNetCore.Routing.Tests/CompositeEndpointDataSourceTest.cs index 6f5978af52..74a975b2cd 100644 --- a/test/Microsoft.AspNetCore.Routing.Tests/CompositeEndpointDataSourceTest.cs +++ b/test/Microsoft.AspNetCore.Routing.Tests/CompositeEndpointDataSourceTest.cs @@ -6,6 +6,7 @@ using System.Collections.Generic; using System.Threading; using System.Threading.Tasks; using Microsoft.AspNetCore.Routing.Matchers; +using Microsoft.AspNetCore.Routing.Patterns; using Microsoft.AspNetCore.Routing.TestObjects; using Microsoft.Extensions.Primitives; using Xunit; @@ -147,19 +148,15 @@ namespace Microsoft.AspNetCore.Routing private MatcherEndpoint CreateEndpoint( string template, - object defaultValues = null, + object defaults = null, object requiredValues = null, int order = 0, string routeName = null) { - var defaults = defaultValues == null ? new RouteValueDictionary() : new RouteValueDictionary(defaultValues); - var required = requiredValues == null ? new RouteValueDictionary() : new RouteValueDictionary(requiredValues); - return new MatcherEndpoint( - next => (httpContext) => Task.CompletedTask, - template, - defaults, - required, + MatcherEndpoint.EmptyInvoker, + RoutePatternFactory.Parse(template, defaults, constraints: null), + new RouteValueDictionary(requiredValues), order, EndpointMetadataCollection.Empty, null); diff --git a/test/Microsoft.AspNetCore.Routing.Tests/DefaultLinkGeneratorTest.cs b/test/Microsoft.AspNetCore.Routing.Tests/DefaultLinkGeneratorTest.cs index 66397121d3..ff6d0ac25c 100644 --- a/test/Microsoft.AspNetCore.Routing.Tests/DefaultLinkGeneratorTest.cs +++ b/test/Microsoft.AspNetCore.Routing.Tests/DefaultLinkGeneratorTest.cs @@ -10,6 +10,7 @@ using Microsoft.AspNetCore.Routing.Constraints; using Microsoft.AspNetCore.Routing.EndpointFinders; using Microsoft.AspNetCore.Routing.Internal; using Microsoft.AspNetCore.Routing.Matchers; +using Microsoft.AspNetCore.Routing.Patterns; using Microsoft.AspNetCore.Routing.TestObjects; using Microsoft.Extensions.Logging.Abstractions; using Microsoft.Extensions.ObjectPool; @@ -254,12 +255,11 @@ namespace Microsoft.AspNetCore.Routing // Arrange var context = CreateRouteValuesContext(new { p1 = "abcd" }); var linkGenerator = CreateLinkGenerator(); - var matchProcessorReferences = new List(); - matchProcessorReferences.Add(new MatchProcessorReference("p2", new RegexRouteConstraint("\\d{4}"))); + var endpoint = CreateEndpoint( "{p1}/{p2}", new { p2 = "catchall" }, - matchProcessorReferences: matchProcessorReferences); + constraints: new { p2 = "\\d{4}" }); // Act var canGenerateLink = linkGenerator.TryGetLink( @@ -279,12 +279,11 @@ namespace Microsoft.AspNetCore.Routing // Arrange var context = CreateRouteValuesContext(new { p1 = "hello", p2 = "1234" }); var linkGenerator = CreateLinkGenerator(); - var matchProcessorReferences = new List(); - matchProcessorReferences.Add(new MatchProcessorReference("p2", new RegexRouteConstraint("\\d{4}"))); + var endpoint = CreateEndpoint( "{p1}/{p2}", new { p2 = "catchall" }, - matchProcessorReferences); + new { p2 = new RegexRouteConstraint("\\d{4}"), }); // Act var canGenerateLink = linkGenerator.TryGetLink( @@ -305,12 +304,11 @@ namespace Microsoft.AspNetCore.Routing // Arrange var context = CreateRouteValuesContext(new { p1 = "abcd" }); var linkGenerator = CreateLinkGenerator(); - var matchProcessorReferences = new List(); - matchProcessorReferences.Add(new MatchProcessorReference("p2", new RegexRouteConstraint("\\d{4}"))); + var endpoint = CreateEndpoint( "{p1}/{*p2}", new { p2 = "catchall" }, - matchProcessorReferences: matchProcessorReferences); + new { p2 = new RegexRouteConstraint("\\d{4}") }); // Act var canGenerateLink = linkGenerator.TryGetLink( @@ -330,12 +328,11 @@ namespace Microsoft.AspNetCore.Routing // Arrange var context = CreateRouteValuesContext(new { p1 = "hello", p2 = "1234" }); var linkGenerator = CreateLinkGenerator(); - var matchProcessorReferences = new List(); - matchProcessorReferences.Add(new MatchProcessorReference("p2", new RegexRouteConstraint("\\d{4}"))); + var endpoint = CreateEndpoint( "{p1}/{*p2}", new { p2 = "catchall" }, - matchProcessorReferences); + new { p2 = new RegexRouteConstraint("\\d{4}") }); // Act var canGenerateLink = linkGenerator.TryGetLink( @@ -370,11 +367,8 @@ namespace Microsoft.AspNetCore.Routing var endpoint = CreateEndpoint( "{p1}/{p2}", - defaultValues: new { p2 = "catchall" }, - matchProcessorReferences: new List - { - new MatchProcessorReference("p2", target.Object) - }); + defaults: new { p2 = "catchall" }, + constraints: new { p2 = target.Object }); // Act var canGenerateLink = linkGenerator.TryGetLink( @@ -400,11 +394,8 @@ namespace Microsoft.AspNetCore.Routing var linkGenerator = CreateLinkGenerator(); var endpoint = CreateEndpoint( template: "slug/Home/Store", - defaultValues: new { controller = "Home", action = "Store" }, - matchProcessorReferences: new List() - { - new MatchProcessorReference("c", constraint) - }); + defaults: new { controller = "Home", action = "Store" }, + constraints: new { c = constraint }); var context = CreateRouteValuesContext( suppliedValues: new { action = "Store" }, @@ -437,11 +428,8 @@ namespace Microsoft.AspNetCore.Routing var linkGenerator = CreateLinkGenerator(); var endpoint = CreateEndpoint( template: "slug/Home/Store", - defaultValues: new { controller = "Home", action = "Store", otherthing = "17" }, - matchProcessorReferences: new List() - { - new MatchProcessorReference("c", constraint) - }); + defaults: new { controller = "Home", action = "Store", otherthing = "17" }, + constraints: new { c = constraint }); var context = CreateRouteValuesContext( suppliedValues: new { action = "Store" }, @@ -471,11 +459,8 @@ namespace Microsoft.AspNetCore.Routing var linkGenerator = CreateLinkGenerator(); var endpoint = CreateEndpoint( template: "slug/{controller}/{action}", - defaultValues: new { action = "Index" }, - matchProcessorReferences: new List() - { - new MatchProcessorReference("c", constraint) - }); + defaults: new { action = "Index" }, + constraints: new { c = constraint, }); var context = CreateRouteValuesContext( suppliedValues: new { controller = "Shopping" }, @@ -506,11 +491,8 @@ namespace Microsoft.AspNetCore.Routing var linkGenerator = CreateLinkGenerator(); var endpoint = CreateEndpoint( template: "slug/Home/Store", - defaultValues: new { controller = "Home", action = "Store", otherthing = "17", thirdthing = "13" }, - matchProcessorReferences: new List() - { - new MatchProcessorReference("c", constraint) - }); + defaults: new { controller = "Home", action = "Store", otherthing = "17", thirdthing = "13" }, + constraints: new { c = constraint, }); var context = CreateRouteValuesContext( suppliedValues: new { action = "Store", thirdthing = "13" }, @@ -537,12 +519,10 @@ namespace Microsoft.AspNetCore.Routing // Arrange var linkGenerator = CreateLinkGenerator(); var endpoint = CreateEndpoint( - template: "Home/Index/{id}", - defaultValues: new { controller = "Home", action = "Index" }, - matchProcessorReferences: new List() - { - new MatchProcessorReference("id", "int") - }); + template: "Home/Index/{id:int}", + defaults: new { controller = "Home", action = "Index" }, + constraints: new { }); + var context = CreateRouteValuesContext( suppliedValues: new { action = "Index", controller = "Home", id = 4 }); @@ -564,11 +544,9 @@ namespace Microsoft.AspNetCore.Routing var linkGenerator = CreateLinkGenerator(); var endpoint = CreateEndpoint( template: "Home/Index/{id}", - defaultValues: new { controller = "Home", action = "Index" }, - matchProcessorReferences: new List() - { - new MatchProcessorReference("id", "int") - }); + defaults: new { controller = "Home", action = "Index" }, + constraints: new {id = "int"}); + var context = CreateRouteValuesContext( suppliedValues: new { action = "Index", controller = "Home", id = "not-an-integer" }); @@ -590,12 +568,9 @@ namespace Microsoft.AspNetCore.Routing // Arrange var linkGenerator = CreateLinkGenerator(); var endpoint = CreateEndpoint( - template: "Home/Index/{id}", - defaultValues: new { controller = "Home", action = "Index" }, - matchProcessorReferences: new List() - { - new MatchProcessorReference("id", optional: true, "int") - }); + template: "Home/Index/{id:int?}", + defaults: new { controller = "Home", action = "Index" }, + constraints: new { }); var context = CreateRouteValuesContext( suppliedValues: new { action = "Index", controller = "Home", id = 98 }); @@ -617,11 +592,9 @@ namespace Microsoft.AspNetCore.Routing var linkGenerator = CreateLinkGenerator(); var endpoint = CreateEndpoint( template: "Home/Index/{id?}", - defaultValues: new { controller = "Home", action = "Index" }, - matchProcessorReferences: new List() - { - new MatchProcessorReference("id", optional: true, "int") - }); + defaults: new { controller = "Home", action = "Index" }, + constraints: new { id = "int" }); + var context = CreateRouteValuesContext( suppliedValues: new { action = "Index", controller = "Home" }); @@ -642,12 +615,10 @@ namespace Microsoft.AspNetCore.Routing // Arrange var linkGenerator = CreateLinkGenerator(); var endpoint = CreateEndpoint( - template: "Home/Index/{id}", - defaultValues: new { controller = "Home", action = "Index" }, - matchProcessorReferences: new List() - { - new MatchProcessorReference("id", optional: true, "int") - }); + template: "Home/Index/{id?}", + defaults: new { controller = "Home", action = "Index" }, + constraints: new { id = "int" }); + var context = CreateRouteValuesContext( suppliedValues: new { action = "Index", controller = "Home", id = "not-an-integer" }); @@ -664,18 +635,15 @@ namespace Microsoft.AspNetCore.Routing } [Fact] - public void GetLink_InlineConstraints_CompositeInlineConstraint() + public void GetLink_InlineConstraints_MultipleInlineConstraints() { // Arrange var linkGenerator = CreateLinkGenerator(); var endpoint = CreateEndpoint( - template: "Home/Index/{id}", - defaultValues: new { controller = "Home", action = "Index" }, - matchProcessorReferences: new List() - { - new MatchProcessorReference("id", "int"), - new MatchProcessorReference("id", "range(1,20)") - }); + template: "Home/Index/{id:int:range(1,20)}", + defaults: new { controller = "Home", action = "Index" }, + constraints: new { }); + var context = CreateRouteValuesContext( suppliedValues: new { action = "Index", controller = "Home", id = 14 }); @@ -696,13 +664,10 @@ namespace Microsoft.AspNetCore.Routing // Arrange var linkGenerator = CreateLinkGenerator(); var endpoint = CreateEndpoint( - template: "Home/Index/{id}", - defaultValues: new { controller = "Home", action = "Index" }, - matchProcessorReferences: new List() - { - new MatchProcessorReference("id", "int"), - new MatchProcessorReference("id", "range(1,20)") - }); + template: "Home/Index/{id:int:range(1,20)}", + defaults: new { controller = "Home", action = "Index" }, + constraints: new { }); + var context = CreateRouteValuesContext( suppliedValues: new { action = "Index", controller = "Home", id = 50 }); @@ -726,11 +691,9 @@ namespace Microsoft.AspNetCore.Routing var linkGenerator = CreateLinkGenerator(); var endpoint = CreateEndpoint( template: "Home/Index/{name}", - defaultValues: new { controller = "Home", action = "Index" }, - matchProcessorReferences: new List() - { - new MatchProcessorReference("name", constraint) - }); + defaults: new { controller = "Home", action = "Index" }, + constraints: new { name = constraint }); + var context = CreateRouteValuesContext( suppliedValues: new { action = "Index", controller = "Home", name = "products" }); @@ -785,50 +748,6 @@ namespace Microsoft.AspNetCore.Routing Assert.Equal("/Home/Index", link); } - [Fact] - public void GetLink_OptionalParameter_ParameterPresentInValuesAndDefaults() - { - // Arrange - var endpoint = CreateEndpoint( - template: "{controller}/{action}/{name?}", - defaultValues: new { name = "default-products" }); - var linkGenerator = CreateLinkGenerator(); - var context = CreateRouteValuesContext( - suppliedValues: new { action = "Index", controller = "Home", name = "products" }); - - // Act - var link = linkGenerator.GetLink( - httpContext: null, - new[] { endpoint }, - context.ExplicitValues, - context.AmbientValues); - - // Assert - Assert.Equal("/Home/Index/products", link); - } - - [Fact] - public void GetLink_OptionalParameter_ParameterNotPresentInValues_PresentInDefaults() - { - // Arrange - var endpoint = CreateEndpoint( - template: "{controller}/{action}/{name?}", - defaultValues: new { name = "products" }); - var linkGenerator = CreateLinkGenerator(); - var context = CreateRouteValuesContext( - suppliedValues: new { action = "Index", controller = "Home" }); - - // Act - var link = linkGenerator.GetLink( - httpContext: null, - new[] { endpoint }, - context.ExplicitValues, - context.AmbientValues); - - // Assert - Assert.Equal("/Home/Index", link); - } - [Fact] public void GetLink_ParameterNotPresentInTemplate_PresentInValues() { @@ -958,7 +877,7 @@ namespace Microsoft.AspNetCore.Routing public void GetLink_TwoOptionalParametersAfterDefault_LastValueFromAmbientValues() { // Arrange - var endpoint = CreateEndpoint("a/{b=15}/{c?}/{d?}", defaultValues: new { }); + var endpoint = CreateEndpoint("a/{b=15}/{c?}/{d?}"); var linkGenerator = CreateLinkGenerator(); var context = CreateRouteValuesContext( suppliedValues: new { }, @@ -985,23 +904,15 @@ namespace Microsoft.AspNetCore.Routing private MatcherEndpoint CreateEndpoint( string template, - object defaultValues = null, - object requiredValues = null, - List matchProcessorReferences = null, - int order = 0, - EndpointMetadataCollection metadata = null) + object defaults = null, + object constraints = null, + int order = 0, + EndpointMetadataCollection metadata = null) { - var defaults = defaultValues == null ? new RouteValueDictionary() : new RouteValueDictionary(defaultValues); - var required = requiredValues == null ? new RouteValueDictionary() : new RouteValueDictionary(requiredValues); - metadata = metadata ?? EndpointMetadataCollection.Empty; - matchProcessorReferences = matchProcessorReferences ?? new List(); - return new MatcherEndpoint( - next => (httpContext) => Task.CompletedTask, - template, - defaults, - required, - matchProcessorReferences, + MatcherEndpoint.EmptyInvoker, + RoutePatternFactory.Parse(template, defaults, constraints), + new RouteValueDictionary(), order, metadata, null); diff --git a/test/Microsoft.AspNetCore.Routing.Tests/Matchers/BarebonesMatcherBuilder.cs b/test/Microsoft.AspNetCore.Routing.Tests/Matchers/BarebonesMatcherBuilder.cs index ddb0b71dc8..efd9c588ce 100644 --- a/test/Microsoft.AspNetCore.Routing.Tests/Matchers/BarebonesMatcherBuilder.cs +++ b/test/Microsoft.AspNetCore.Routing.Tests/Matchers/BarebonesMatcherBuilder.cs @@ -3,6 +3,7 @@ using System.Collections.Generic; using System.Linq; +using Microsoft.AspNetCore.Routing.Patterns; using Microsoft.AspNetCore.Routing.Template; using static Microsoft.AspNetCore.Routing.Matchers.BarebonesMatcher; @@ -22,11 +23,11 @@ namespace Microsoft.AspNetCore.Routing.Matchers var matchers = new InnerMatcher[_endpoints.Count]; for (var i = 0; i < _endpoints.Count; i++) { - var parsed = TemplateParser.Parse(_endpoints[i].Template); - var segments = parsed.Segments - .Select(s => s.IsSimple && s.Parts[0].IsLiteral ? s.Parts[0].Text : null) + var endpoint = _endpoints[i]; + var pathSegments = endpoint.RoutePattern.PathSegments + .Select(s => s.IsSimple && s.Parts[0] is RoutePatternLiteralPart literalPart ? literalPart.Content : null) .ToArray(); - matchers[i] = new InnerMatcher(segments, _endpoints[i]); + matchers[i] = new InnerMatcher(pathSegments, _endpoints[i]); } return new BarebonesMatcher(matchers); diff --git a/test/Microsoft.AspNetCore.Routing.Tests/Matchers/DataSourceDependentMatcherTest.cs b/test/Microsoft.AspNetCore.Routing.Tests/Matchers/DataSourceDependentMatcherTest.cs index e165f65cb5..9eb4fa48a7 100644 --- a/test/Microsoft.AspNetCore.Routing.Tests/Matchers/DataSourceDependentMatcherTest.cs +++ b/test/Microsoft.AspNetCore.Routing.Tests/Matchers/DataSourceDependentMatcherTest.cs @@ -5,6 +5,7 @@ using System; using System.Collections.Generic; using System.Threading.Tasks; using Microsoft.AspNetCore.Http; +using Microsoft.AspNetCore.Routing.Patterns; using Microsoft.AspNetCore.Routing.TestObjects; using Xunit; @@ -35,8 +36,7 @@ namespace Microsoft.AspNetCore.Routing.Matchers var endpoint = new MatcherEndpoint( MatcherEndpoint.EmptyInvoker, - "a/b/c", - new RouteValueDictionary(), + RoutePatternFactory.Parse("a/b/c"), new RouteValueDictionary(), 0, EndpointMetadataCollection.Empty, diff --git a/test/Microsoft.AspNetCore.Routing.Tests/Matchers/DefaultMatchProcessorFactoryTest.cs b/test/Microsoft.AspNetCore.Routing.Tests/Matchers/DefaultMatchProcessorFactoryTest.cs index 5207607531..bcacb1a007 100644 --- a/test/Microsoft.AspNetCore.Routing.Tests/Matchers/DefaultMatchProcessorFactoryTest.cs +++ b/test/Microsoft.AspNetCore.Routing.Tests/Matchers/DefaultMatchProcessorFactoryTest.cs @@ -4,10 +4,10 @@ using System; using System.Globalization; using Microsoft.AspNetCore.Http; +using Microsoft.AspNetCore.Routing.Constraints; +using Microsoft.AspNetCore.Routing.Patterns; using Microsoft.Extensions.DependencyInjection; -using Microsoft.Extensions.Logging.Abstractions; using Microsoft.Extensions.Options; -using Moq; using Xunit; namespace Microsoft.AspNetCore.Routing.Matchers @@ -19,11 +19,153 @@ namespace Microsoft.AspNetCore.Routing.Matchers { // Arrange var factory = GetMatchProcessorFactory(); - var matchProcessorReference = new MatchProcessorReference("id", @"notpresent(\d+)"); - // Act & Assert + // Act var exception = Assert.Throws( - () => factory.Create(matchProcessorReference)); + () => factory.Create("id", @"notpresent(\d+)", optional: false)); + + // Assert + Assert.Equal( + $"The constraint reference 'notpresent' could not be resolved to a type. " + + $"Register the constraint type with '{typeof(RouteOptions)}.{nameof(RouteOptions.ConstraintMap)}'.", + exception.Message); + } + + [Fact] + public void Create_ThrowsException_OnInvalidType() + { + // Arrange + var options = new RouteOptions(); + options.ConstraintMap.Add("bad", typeof(string)); + + var services = new ServiceCollection(); + services.AddTransient(); + + var factory = GetMatchProcessorFactory(options, services); + + // Act + var exception = Assert.Throws( + () => factory.Create("id", @"bad", optional: false)); + + // Assert + Assert.Equal( + $"Invalid constraint type '{typeof(string)}' registered as 'bad'. " + + $"A constraint type must either implement '{typeof(IRouteConstraint)}', or inherit from '{typeof(MatchProcessor)}'.", + exception.Message); + } + + [Fact] + public void Create_CreatesMatchProcessor_FromRoutePattern_String() + { + // Arrange + var factory = GetMatchProcessorFactory(); + + var parameter = RoutePatternFactory.ParameterPart( + "id", + @default: null, + parameterKind: RoutePatternParameterKind.Standard, + constraints: new[] { RoutePatternFactory.Constraint("int"), }); + + // Act + var matchProcessor = factory.Create(parameter, parameter.Constraints[0]); + + // Assert + Assert.IsType(Assert.IsType(matchProcessor).Constraint); + } + + [Fact] + public void Create_CreatesMatchProcessor_FromRoutePattern_String_Optional() + { + // Arrange + var factory = GetMatchProcessorFactory(); + + var parameter = RoutePatternFactory.ParameterPart( + "id", + @default: null, + parameterKind: RoutePatternParameterKind.Optional, + constraints: new[] { RoutePatternFactory.Constraint("int"), }); + + // Act + var matchProcessor = factory.Create(parameter, parameter.Constraints[0]); + + // Assert + Assert.IsType(matchProcessor); + } + + [Fact] + public void Create_CreatesMatchProcessor_FromRoutePattern_Constraint() + { + // Arrange + var factory = GetMatchProcessorFactory(); + + var parameter = RoutePatternFactory.ParameterPart( + "id", + @default: null, + parameterKind: RoutePatternParameterKind.Standard, + constraints: new[] { RoutePatternFactory.Constraint(new IntRouteConstraint()), }); + + // Act + var matchProcessor = factory.Create(parameter, parameter.Constraints[0]); + + // Assert + Assert.IsType(Assert.IsType(matchProcessor).Constraint); + } + + [Fact] + public void Create_CreatesMatchProcessor_FromRoutePattern_Constraint_Optional() + { + // Arrange + var factory = GetMatchProcessorFactory(); + + var parameter = RoutePatternFactory.ParameterPart( + "id", + @default: null, + parameterKind: RoutePatternParameterKind.Optional, + constraints: new[] { RoutePatternFactory.Constraint(new IntRouteConstraint()), }); + + // Act + var matchProcessor = factory.Create(parameter, parameter.Constraints[0]); + + // Assert + Assert.IsType(matchProcessor); + } + + [Fact] + public void Create_CreatesMatchProcessor_FromRoutePattern_MatchProcessor() + { + // Arrange + var factory = GetMatchProcessorFactory(); + + var parameter = RoutePatternFactory.ParameterPart( + "id", + @default: null, + parameterKind: RoutePatternParameterKind.Standard, + constraints: new[] { RoutePatternFactory.Constraint(new EndsWithStringMatchProcessor()), }); + + // Act + var matchProcessor = factory.Create(parameter, parameter.Constraints[0]); + + // Assert + Assert.IsType(matchProcessor); + } + + [Fact] + public void Create_CreatesMatchProcessor_FromRoutePattern_MatchProcessor_Optional() + { + // Arrange + var factory = GetMatchProcessorFactory(); + + var parameter = RoutePatternFactory.ParameterPart( + "id", + @default: null, + parameterKind: RoutePatternParameterKind.Optional, + constraints: new[] { RoutePatternFactory.Constraint(new EndsWithStringMatchProcessor()), }); + + // Act + var matchProcessor = factory.Create(parameter, parameter.Constraints[0]); + + // Assert + Assert.IsType(matchProcessor); } [Fact] @@ -31,29 +173,12 @@ namespace Microsoft.AspNetCore.Routing.Matchers { // Arrange var factory = GetMatchProcessorFactory(); - var matchProcessorReference = new MatchProcessorReference("id", "int"); - // Act 1 - var processor = factory.Create(matchProcessorReference); + // Act + var matchProcessor = factory.Create("id", "int", optional: false); - // Assert 1 - Assert.NotNull(processor); - - // Act 2 - var isMatch = processor.ProcessInbound( - new DefaultHttpContext(), - new RouteValueDictionary(new { id = 10 })); - - // Assert 2 - Assert.True(isMatch); - - // Act 2 - isMatch = processor.ProcessInbound( - new DefaultHttpContext(), - new RouteValueDictionary(new { id = "foo" })); - - // Assert 2 - Assert.False(isMatch); + // Assert + Assert.IsType(Assert.IsType(matchProcessor).Constraint); } [Fact] @@ -61,84 +186,50 @@ namespace Microsoft.AspNetCore.Routing.Matchers { // Arrange var factory = GetMatchProcessorFactory(); - var matchProcessorReference = new MatchProcessorReference("id", true, "int"); // Act - var processor = factory.Create(matchProcessorReference); + var matchProcessor = factory.Create("id", "int", optional: true); // Assert - Assert.IsType(processor); + Assert.IsType(matchProcessor); } [Fact] - public void Create_CreatesMatchProcessor_FromConstraintText_AndCustomMatchProcessor() + public void Create_CreatesMatchProcessor_FromConstraintText_AndMatchProcesor() { // Arrange var options = new RouteOptions(); options.ConstraintMap.Add("endsWith", typeof(EndsWithStringMatchProcessor)); + var services = new ServiceCollection(); services.AddTransient(); + var factory = GetMatchProcessorFactory(options, services); - var matchProcessorReference = new MatchProcessorReference("id", "endsWith(_001)"); - // Act 1 - var processor = factory.Create(matchProcessorReference); + // Act + var matchProcessor = factory.Create("id", "endsWith", optional: false); - // Assert 1 - Assert.NotNull(processor); - - // Act 2 - var isMatch = processor.ProcessInbound( - new DefaultHttpContext(), - new RouteValueDictionary(new { id = "555_001" })); - - // Assert 2 - Assert.True(isMatch); - - // Act 2 - isMatch = processor.ProcessInbound( - new DefaultHttpContext(), - new RouteValueDictionary(new { id = "444" })); - - // Assert 2 - Assert.False(isMatch); + // Assert + Assert.IsType(matchProcessor); } [Fact] - public void Create_ReturnsMatchProcessor_IfAvailable() + public void Create_CreatesMatchProcessor_FromConstraintText_AndMatchProcessor_Optional() { // Arrange - var factory = GetMatchProcessorFactory(); - var matchProcessorReference = new MatchProcessorReference("id", Mock.Of()); - var expected = matchProcessorReference.MatchProcessor; + var options = new RouteOptions(); + options.ConstraintMap.Add("endsWith", typeof(EndsWithStringMatchProcessor)); + + var services = new ServiceCollection(); + services.AddTransient(); + + var factory = GetMatchProcessorFactory(options, services); // Act - var processor = factory.Create(matchProcessorReference); + var matchProcessor = factory.Create("id", "endsWith", optional: true); // Assert - Assert.Same(expected, processor); - } - - [Fact] - public void Create_ReturnsMatchProcessor_WithSuppliedRouteConstraint() - { - // Arrange - var factory = GetMatchProcessorFactory(); - var constraint = TestRouteConstraint.Create(); - var matchProcessorReference = new MatchProcessorReference("id", constraint); - var processor = factory.Create(matchProcessorReference); - var expectedHttpContext = new DefaultHttpContext(); - var expectedValues = new RouteValueDictionary(); - - // Act - processor.ProcessInbound(expectedHttpContext, expectedValues); - - // Assert - Assert.Same(expectedHttpContext, constraint.HttpContext); - Assert.Same(expectedValues, constraint.Values); - Assert.Equal("id", constraint.RouteKey); - Assert.Equal(RouteDirection.IncomingRequest, constraint.RouteDirection); - Assert.Same(NullRouter.Instance, constraint.Route); + Assert.IsType(matchProcessor); } private DefaultMatchProcessorFactory GetMatchProcessorFactory( diff --git a/test/Microsoft.AspNetCore.Routing.Tests/Matchers/DfaMatcherBuilderTest.cs b/test/Microsoft.AspNetCore.Routing.Tests/Matchers/DfaMatcherBuilderTest.cs index 5cbc613562..b8a064b59a 100644 --- a/test/Microsoft.AspNetCore.Routing.Tests/Matchers/DfaMatcherBuilderTest.cs +++ b/test/Microsoft.AspNetCore.Routing.Tests/Matchers/DfaMatcherBuilderTest.cs @@ -6,6 +6,7 @@ using System.Collections.Generic; using System.Linq; using Microsoft.AspNetCore.Routing.Constraints; using Microsoft.AspNetCore.Routing.EndpointConstraints; +using Microsoft.AspNetCore.Routing.Patterns; using Microsoft.Extensions.Logging.Abstractions; using Moq; using Xunit; @@ -575,10 +576,7 @@ namespace Microsoft.AspNetCore.Routing.Matchers public void CreateCandidate_MatchProcessors() { // Arrange - var endpoint = CreateEndpoint("/a/b/c", matchProcessors: new MatchProcessorReference[] - { - new MatchProcessorReference("a", new IntRouteConstraint()), - }); + var endpoint = CreateEndpoint("/a/b/c", constraints: new { a = new IntRouteConstraint(), }); var builder = CreateDfaMatcherBuilder(); @@ -606,18 +604,14 @@ namespace Microsoft.AspNetCore.Routing.Matchers } private MatcherEndpoint CreateEndpoint( - string template, + string template, object defaults = null, - IEnumerable matchProcessors = null) + object constraints = null) { - matchProcessors = matchProcessors ?? Array.Empty(); - return new MatcherEndpoint( MatcherEndpoint.EmptyInvoker, - template, - new RouteValueDictionary(defaults), + RoutePatternFactory.Parse(template, new RouteValueDictionary(defaults), new RouteValueDictionary(constraints)), new RouteValueDictionary(), - matchProcessors.ToList(), 0, new EndpointMetadataCollection(Array.Empty()), "test"); diff --git a/test/Microsoft.AspNetCore.Routing.Tests/Matchers/DfaMatcherTest.cs b/test/Microsoft.AspNetCore.Routing.Tests/Matchers/DfaMatcherTest.cs index 7157147960..51a9d74b75 100644 --- a/test/Microsoft.AspNetCore.Routing.Tests/Matchers/DfaMatcherTest.cs +++ b/test/Microsoft.AspNetCore.Routing.Tests/Matchers/DfaMatcherTest.cs @@ -6,6 +6,7 @@ using System.Collections.Generic; using System.Threading.Tasks; using Microsoft.AspNetCore.Http; using Microsoft.AspNetCore.Routing.EndpointConstraints; +using Microsoft.AspNetCore.Routing.Patterns; using Microsoft.Extensions.DependencyInjection; using Microsoft.Extensions.Logging.Abstractions; using Microsoft.Extensions.Options; @@ -18,14 +19,12 @@ namespace Microsoft.AspNetCore.Routing.Matchers // so we're reusing the services here. public class DfaMatcherTest { - private MatcherEndpoint CreateEndpoint(string template, int order, object defaultValues = null, EndpointMetadataCollection metadata = null) + private MatcherEndpoint CreateEndpoint(string template, int order, object defaults = null, EndpointMetadataCollection metadata = null) { return new MatcherEndpoint( - (next) => null, - template, - new RouteValueDictionary(defaultValues), + MatcherEndpoint.EmptyInvoker, + RoutePatternFactory.Parse(template, defaults, constraints: null), new RouteValueDictionary(), - new List(), order, metadata ?? EndpointMetadataCollection.Empty, template); diff --git a/test/Microsoft.AspNetCore.Routing.Tests/Matchers/MatcherConformanceTest.cs b/test/Microsoft.AspNetCore.Routing.Tests/Matchers/MatcherConformanceTest.cs index abef76e438..3b352a6ae6 100644 --- a/test/Microsoft.AspNetCore.Routing.Tests/Matchers/MatcherConformanceTest.cs +++ b/test/Microsoft.AspNetCore.Routing.Tests/Matchers/MatcherConformanceTest.cs @@ -4,6 +4,7 @@ using System; using System.Collections.Generic; using Microsoft.AspNetCore.Http; +using Microsoft.AspNetCore.Routing.Patterns; using Microsoft.Extensions.DependencyInjection; namespace Microsoft.AspNetCore.Routing.Matchers @@ -35,16 +36,14 @@ namespace Microsoft.AspNetCore.Routing.Matchers internal static MatcherEndpoint CreateEndpoint( string template, - object defaultValues = null, + object defaults = null, + object constraints = null, int? order = null) { - var defaults = defaultValues == null ? new RouteValueDictionary() : new RouteValueDictionary(defaultValues); return new MatcherEndpoint( MatcherEndpoint.EmptyInvoker, - template, - defaults, + RoutePatternFactory.Parse(template, defaults, constraints), new RouteValueDictionary(), - new List(), order ?? 0, EndpointMetadataCollection.Empty, "endpoint: " + template); diff --git a/test/Microsoft.AspNetCore.Routing.Tests/Matchers/RouteConstraintMatchProcessorTest.cs b/test/Microsoft.AspNetCore.Routing.Tests/Matchers/RouteConstraintMatchProcessorTest.cs new file mode 100644 index 0000000000..4bc013baa4 --- /dev/null +++ b/test/Microsoft.AspNetCore.Routing.Tests/Matchers/RouteConstraintMatchProcessorTest.cs @@ -0,0 +1,62 @@ +// Copyright (c) .NET Foundation. All rights reserved. +// Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information. + +using Microsoft.AspNetCore.Http; +using Moq; +using Xunit; + +namespace Microsoft.AspNetCore.Routing.Matchers +{ + public class RouteConstraintMatchProcessorTest + { + [Fact] + public void MatchInbound_CallsRouteConstraint() + { + // Arrange + var constraint = new Mock(); + constraint + .Setup(c => c.Match( + It.IsAny(), + NullRouter.Instance, + "test", + It.IsAny(), + RouteDirection.IncomingRequest)) + .Returns(true) + .Verifiable(); + + var matchProcessor = new RouteConstraintMatchProcessor("test", constraint.Object); + + // Act + var result = matchProcessor.ProcessInbound(new DefaultHttpContext(), new RouteValueDictionary()); + + // Assert + Assert.True(result); + constraint.Verify(); + } + + [Fact] + public void MatchOutput_CallsRouteConstraint() + { + // Arrange + var constraint = new Mock(); + constraint + .Setup(c => c.Match( + It.IsAny(), + NullRouter.Instance, + "test", + It.IsAny(), + RouteDirection.UrlGeneration)) + .Returns(true) + .Verifiable(); + + var matchProcessor = new RouteConstraintMatchProcessor("test", constraint.Object); + + // Act + var result = matchProcessor.ProcessOutbound(new DefaultHttpContext(), new RouteValueDictionary()); + + // Assert + Assert.True(result); + constraint.Verify(); + } + } +} diff --git a/test/Microsoft.AspNetCore.Routing.Tests/Matchers/RouteMatcherBuilder.cs b/test/Microsoft.AspNetCore.Routing.Tests/Matchers/RouteMatcherBuilder.cs index 523a899b57..3748454b92 100644 --- a/test/Microsoft.AspNetCore.Routing.Tests/Matchers/RouteMatcherBuilder.cs +++ b/test/Microsoft.AspNetCore.Routing.Tests/Matchers/RouteMatcherBuilder.cs @@ -6,6 +6,7 @@ using System.Collections.Generic; using System.Linq; using System.Threading.Tasks; using Microsoft.AspNetCore.Routing.EndpointConstraints; +using Microsoft.AspNetCore.Routing.Patterns; using Microsoft.AspNetCore.Routing.Template; using Microsoft.Extensions.Logging.Abstractions; using Microsoft.Extensions.Options; @@ -38,7 +39,7 @@ namespace Microsoft.AspNetCore.Routing.Matchers var selector = new EndpointSelector(null, cache, NullLoggerFactory.Instance); var groups = _entries - .GroupBy(e => (e.Order, e.Precedence, e.Endpoint.Template)) + .GroupBy(e => (e.Order, e.Precedence, e.Endpoint.RoutePattern.RawText)) .OrderBy(g => g.Key.Order) .ThenBy(g => g.Key.Precedence); @@ -47,16 +48,19 @@ namespace Microsoft.AspNetCore.Routing.Matchers foreach (var group in groups) { var candidates = group.Select(e => e.Endpoint).ToArray(); + var endpoint = group.First().Endpoint; - // MatcherEndpoint.Values contains the default values parsed from the template + // RoutePattern.Defaults contains the default values parsed from the template // as well as those specified with a literal. We need to separate those // for legacy cases. - var endpoint = group.First().Endpoint; - var defaults = new RouteValueDictionary(endpoint.Defaults); - for (var i = 0; i < endpoint.ParsedTemplate.Parameters.Count; i++) + // + // To do this we re-parse the original text and compare. + var withoutDefaults = RoutePatternFactory.Parse(endpoint.RoutePattern.RawText); + var defaults = new RouteValueDictionary(endpoint.RoutePattern.Defaults); + for (var i = 0; i < withoutDefaults.Parameters.Count; i++) { - var parameter = endpoint.ParsedTemplate.Parameters[i]; - if (parameter.DefaultValue != null) + var parameter = withoutDefaults.Parameters[i]; + if (parameter.Default != null) { defaults.Remove(parameter.Name); } @@ -64,7 +68,7 @@ namespace Microsoft.AspNetCore.Routing.Matchers routes.Add(new Route( new SelectorRouter(selector, candidates), - endpoint.Template, + endpoint.RoutePattern.RawText, defaults, new Dictionary(), new RouteValueDictionary(), diff --git a/test/Microsoft.AspNetCore.Routing.Tests/Matchers/TreeRouterMatcherBuilder.cs b/test/Microsoft.AspNetCore.Routing.Tests/Matchers/TreeRouterMatcherBuilder.cs index 6f0cba2f23..3ed3162666 100644 --- a/test/Microsoft.AspNetCore.Routing.Tests/Matchers/TreeRouterMatcherBuilder.cs +++ b/test/Microsoft.AspNetCore.Routing.Tests/Matchers/TreeRouterMatcherBuilder.cs @@ -7,6 +7,7 @@ using System.Linq; using System.Threading.Tasks; using Microsoft.AspNetCore.Routing.EndpointConstraints; using Microsoft.AspNetCore.Routing.Internal; +using Microsoft.AspNetCore.Routing.Template; using Microsoft.AspNetCore.Routing.Tree; using Microsoft.Extensions.Logging.Abstractions; using Microsoft.Extensions.ObjectPool; @@ -43,7 +44,7 @@ namespace Microsoft.AspNetCore.Routing.Matchers var selector = new EndpointSelector(null, cache, NullLoggerFactory.Instance); var groups = _entries - .GroupBy(e => (e.Order, e.Precedence, e.Endpoint.Template)) + .GroupBy(e => (e.Order, e.Precedence, e.Endpoint.RoutePattern.RawText)) .OrderBy(g => g.Key.Order) .ThenBy(g => g.Key.Precedence); @@ -57,11 +58,11 @@ namespace Microsoft.AspNetCore.Routing.Matchers // as well as those specified with a literal. We need to separate those // for legacy cases. var endpoint = group.First().Endpoint; - var defaults = new RouteValueDictionary(endpoint.Defaults); - for (var i = 0; i < endpoint.ParsedTemplate.Parameters.Count; i++) + var defaults = new RouteValueDictionary(endpoint.RoutePattern.Defaults); + for (var i = 0; i < endpoint.RoutePattern.Parameters.Count; i++) { - var parameter = endpoint.ParsedTemplate.Parameters[i]; - if (parameter.DefaultValue != null) + var parameter = endpoint.RoutePattern.Parameters[i]; + if (parameter.Default != null) { defaults.Remove(parameter.Name); } @@ -69,7 +70,7 @@ namespace Microsoft.AspNetCore.Routing.Matchers builder.MapInbound( new SelectorRouter(selector, candidates), - endpoint.ParsedTemplate, + new RouteTemplate(endpoint.RoutePattern), routeName: null, order: endpoint.Order); } diff --git a/test/Microsoft.AspNetCore.Routing.Tests/Patterns/RoutePatternFactoryTest.cs b/test/Microsoft.AspNetCore.Routing.Tests/Patterns/RoutePatternFactoryTest.cs index 34db4f7ffa..d16512d56d 100644 --- a/test/Microsoft.AspNetCore.Routing.Tests/Patterns/RoutePatternFactoryTest.cs +++ b/test/Microsoft.AspNetCore.Routing.Tests/Patterns/RoutePatternFactoryTest.cs @@ -4,6 +4,8 @@ using System; using System.Linq; using Microsoft.AspNetCore.Routing.Constraints; +using Microsoft.AspNetCore.Routing.Matchers; +using Moq; using Xunit; namespace Microsoft.AspNetCore.Routing.Patterns @@ -192,6 +194,42 @@ namespace Microsoft.AspNetCore.Routing.Patterns }); } + [Fact] + public void Pattern_ExtraConstraints_MatchProcessor() + { + // Arrange + var template = "{a}/{b}/{c}"; + var defaults = new { }; + var constraints = new { d = Mock.Of(), e = Mock.Of(), }; + + var original = RoutePatternFactory.Parse(template); + + // Act + var actual = RoutePatternFactory.Pattern( + original.RawText, + defaults, + constraints, + original.PathSegments); + + // Assert + Assert.Collection( + actual.Constraints.OrderBy(kvp => kvp.Key), + kvp => + { + Assert.Equal("d", kvp.Key); + Assert.Collection( + kvp.Value, + c => Assert.NotNull(c.MatchProcessor)); + }, + kvp => + { + Assert.Equal("e", kvp.Key); + Assert.Collection( + kvp.Value, + c => Assert.NotNull(c.MatchProcessor)); + }); + } + [Fact] public void Pattern_CreatesConstraintFromString() { @@ -239,8 +277,7 @@ namespace Microsoft.AspNetCore.Routing.Patterns // Assert Assert.Equal( - "The constraint entry 'd' - '17' must have a string value or be of a type " + - "which implements 'Microsoft.AspNetCore.Routing.IRouteConstraint'.", + $"Invalid constraint '17'. A constraint must be of type 'string', '{typeof(IRouteConstraint)}', or '{typeof(MatchProcessor)}'.", ex.Message); } } diff --git a/test/Microsoft.AspNetCore.Routing.Tests/Patterns/RoutePatternParserTest.cs b/test/Microsoft.AspNetCore.Routing.Tests/Patterns/RoutePatternParserTest.cs index a4b4e6db63..760544801e 100644 --- a/test/Microsoft.AspNetCore.Routing.Tests/Patterns/RoutePatternParserTest.cs +++ b/test/Microsoft.AspNetCore.Routing.Tests/Patterns/RoutePatternParserTest.cs @@ -340,7 +340,7 @@ namespace Microsoft.AspNetCore.Routing.Patterns "p1", null, RoutePatternParameterKind.Standard, - Constraint("p1", constraint)))); + Constraint(constraint)))); // Act var actual = RoutePatternParser.Parse(template); @@ -741,7 +741,6 @@ namespace Microsoft.AspNetCore.Routing.Patterns public bool Equals(RoutePatternConstraintReference x, RoutePatternConstraintReference y) { return - x.ParameterName == y.ParameterName && x.Content == y.Content && x.Constraint == y.Constraint; } diff --git a/test/Microsoft.AspNetCore.Routing.Tests/RouteValueBasedEndpointFinderTest.cs b/test/Microsoft.AspNetCore.Routing.Tests/RouteValueBasedEndpointFinderTest.cs index aff35c2fa3..7ba5b92f90 100644 --- a/test/Microsoft.AspNetCore.Routing.Tests/RouteValueBasedEndpointFinderTest.cs +++ b/test/Microsoft.AspNetCore.Routing.Tests/RouteValueBasedEndpointFinderTest.cs @@ -6,6 +6,7 @@ using System.Linq; using System.Threading.Tasks; using Microsoft.AspNetCore.Routing.Internal; using Microsoft.AspNetCore.Routing.Matchers; +using Microsoft.AspNetCore.Routing.Patterns; using Microsoft.AspNetCore.Routing.TestObjects; using Microsoft.AspNetCore.Routing.Tree; using Microsoft.Extensions.ObjectPool; @@ -185,15 +186,12 @@ namespace Microsoft.AspNetCore.Routing private MatcherEndpoint CreateEndpoint( string template, - object defaultValues = null, + object defaults = null, object requiredValues = null, int order = 0, string routeName = null, EndpointMetadataCollection metadataCollection = null) { - var defaults = defaultValues == null ? new RouteValueDictionary() : new RouteValueDictionary(defaultValues); - var required = requiredValues == null ? new RouteValueDictionary() : new RouteValueDictionary(requiredValues); - if (metadataCollection == null) { metadataCollection = EndpointMetadataCollection.Empty; @@ -204,10 +202,9 @@ namespace Microsoft.AspNetCore.Routing } return new MatcherEndpoint( - next => (httpContext) => Task.CompletedTask, - template, - defaults, - required, + MatcherEndpoint.EmptyInvoker, + RoutePatternFactory.Parse(template, defaults, constraints: null), + new RouteValueDictionary(requiredValues), order, metadataCollection, null); From a330c920d74b3c3d1fce01c70207f88cb77692a5 Mon Sep 17 00:00:00 2001 From: Ryan Nowak Date: Fri, 20 Jul 2018 13:24:15 -0700 Subject: [PATCH 081/221] Support overrides on using P2P references for benchmarks --- benchmarkapps/Benchmarks/Benchmarks.csproj | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/benchmarkapps/Benchmarks/Benchmarks.csproj b/benchmarkapps/Benchmarks/Benchmarks.csproj index b85c439bc7..3c5753cc64 100644 --- a/benchmarkapps/Benchmarks/Benchmarks.csproj +++ b/benchmarkapps/Benchmarks/Benchmarks.csproj @@ -3,10 +3,11 @@ netcoreapp2.2 $(BenchmarksTargetFramework) + true - + @@ -14,7 +15,7 @@ - + From c89c2c643b1219696fb87537fd420e2ff763fdaa Mon Sep 17 00:00:00 2001 From: "ASP.NET CI" Date: Sun, 22 Jul 2018 12:25:31 -0700 Subject: [PATCH 082/221] Update dependencies.props [auto-updated: dependencies] --- build/dependencies.props | 52 ++++++++++++++++++++-------------------- 1 file changed, 26 insertions(+), 26 deletions(-) diff --git a/build/dependencies.props b/build/dependencies.props index 63fec59131..1596743b87 100644 --- a/build/dependencies.props +++ b/build/dependencies.props @@ -5,32 +5,32 @@ 0.10.13 2.2.0-preview1-17099 - 2.2.0-preview1-34694 - 2.2.0-preview1-34694 - 2.2.0-preview1-34694 - 2.2.0-preview1-34694 - 2.2.0-preview1-34694 - 2.2.0-preview1-34694 - 2.2.0-preview1-34694 - 2.2.0-preview1-34694 - 2.2.0-preview1-34694 - 2.2.0-preview1-34694 - 2.2.0-preview1-34694 - 2.2.0-preview1-34694 - 2.2.0-preview1-34694 - 2.2.0-preview1-34694 - 2.2.0-preview1-34694 - 2.2.0-preview1-34694 - 2.2.0-preview1-34694 - 2.2.0-preview1-34694 - 2.2.0-preview1-34694 - 2.2.0-preview1-34694 - 2.2.0-preview1-34694 - 2.2.0-preview1-34694 - 2.2.0-preview1-34694 - 2.2.0-preview1-34694 - 2.2.0-preview1-34694 - 2.2.0-preview1-34694 + 2.2.0-preview1-34755 + 2.2.0-preview1-34755 + 2.2.0-preview1-34755 + 2.2.0-preview1-34755 + 2.2.0-preview1-34755 + 2.2.0-preview1-34755 + 2.2.0-preview1-34755 + 2.2.0-preview1-34755 + 2.2.0-preview1-34755 + 2.2.0-preview1-34755 + 2.2.0-preview1-34755 + 2.2.0-preview1-34755 + 2.2.0-preview1-34755 + 2.2.0-preview1-34755 + 2.2.0-preview1-34755 + 2.2.0-preview1-34755 + 2.2.0-preview1-34755 + 2.2.0-preview1-34755 + 2.2.0-preview1-34755 + 2.2.0-preview1-34755 + 2.2.0-preview1-34755 + 2.2.0-preview1-34755 + 2.2.0-preview1-34755 + 2.2.0-preview1-34755 + 2.2.0-preview1-34755 + 2.2.0-preview1-34755 2.0.9 2.1.2 2.2.0-preview1-26618-02 From 554a9d5528716a8ed8a44eb5b5ae9a297d81672a Mon Sep 17 00:00:00 2001 From: "ASP.NET CI" Date: Sun, 22 Jul 2018 13:13:07 -0700 Subject: [PATCH 083/221] Update dependencies.props [auto-updated: dependencies] --- build/dependencies.props | 54 ++++++++++++++++++++-------------------- korebuild-lock.txt | 4 +-- 2 files changed, 29 insertions(+), 29 deletions(-) diff --git a/build/dependencies.props b/build/dependencies.props index 371d16a6ba..a2fec6e267 100644 --- a/build/dependencies.props +++ b/build/dependencies.props @@ -4,33 +4,33 @@ 0.10.13 - 3.0.0-alpha1-10009 - 3.0.0-alpha1-10081 - 3.0.0-alpha1-10081 - 3.0.0-alpha1-10081 - 3.0.0-alpha1-10081 - 3.0.0-alpha1-10081 - 3.0.0-alpha1-10081 - 3.0.0-alpha1-10081 - 3.0.0-alpha1-10081 - 3.0.0-alpha1-10081 - 3.0.0-alpha1-10081 - 3.0.0-alpha1-10081 - 3.0.0-alpha1-10081 - 3.0.0-alpha1-10081 - 3.0.0-alpha1-10081 - 3.0.0-alpha1-10081 - 3.0.0-alpha1-10081 - 3.0.0-alpha1-10081 - 3.0.0-alpha1-10081 - 3.0.0-alpha1-10081 - 3.0.0-alpha1-10081 - 3.0.0-alpha1-10081 - 3.0.0-alpha1-10081 - 3.0.0-alpha1-10081 - 3.0.0-alpha1-10081 - 3.0.0-alpha1-10081 - 3.0.0-alpha1-10081 + 3.0.0-alpha1-10011 + 3.0.0-alpha1-10123 + 3.0.0-alpha1-10123 + 3.0.0-alpha1-10123 + 3.0.0-alpha1-10123 + 3.0.0-alpha1-10123 + 3.0.0-alpha1-10123 + 3.0.0-alpha1-10123 + 3.0.0-alpha1-10123 + 3.0.0-alpha1-10123 + 3.0.0-alpha1-10123 + 3.0.0-alpha1-10123 + 3.0.0-alpha1-10123 + 3.0.0-alpha1-10123 + 3.0.0-alpha1-10123 + 3.0.0-alpha1-10123 + 3.0.0-alpha1-10123 + 3.0.0-alpha1-10123 + 3.0.0-alpha1-10123 + 3.0.0-alpha1-10123 + 3.0.0-alpha1-10123 + 3.0.0-alpha1-10123 + 3.0.0-alpha1-10123 + 3.0.0-alpha1-10123 + 3.0.0-alpha1-10123 + 3.0.0-alpha1-10123 + 3.0.0-alpha1-10123 2.0.9 2.1.2 2.2.0-preview1-26618-02 diff --git a/korebuild-lock.txt b/korebuild-lock.txt index 4db537685b..9a67ee9c28 100644 --- a/korebuild-lock.txt +++ b/korebuild-lock.txt @@ -1,2 +1,2 @@ -version:3.0.0-alpha1-10009 -commithash:86be4707e47d2f1930a982f2b59eacfc4196da33 +version:3.0.0-alpha1-10011 +commithash:717c2eb1f91dafd2580c1a9b8e5064d12dd8c054 From b9df95831d6a8f3d6c155a6d6ddfcc6ab8688538 Mon Sep 17 00:00:00 2001 From: Ryan Nowak Date: Sun, 22 Jul 2018 12:54:38 -0700 Subject: [PATCH 084/221] Change Branding For preview one the branding is: new thing = UseGlobalRouting/UseEndpoint old thing = UseRouter We're going to drop the name Dispatcher everywhere and make sure that we position our new work as 'new and improved routing' instead of introducing a new product/concept name. We're not totally sure of the term Global yet, but it's what we're doing for preview 1. Suggestions welcome for dicussion after we do the first preview :) --- Routing.sln | 20 +------ benchmarkapps/Benchmarks/Program.cs | 14 ++--- ...atcher.cs => StartupUsingGlobalRouting.cs} | 6 +- ...pUsingRouting.cs => StartupUsingRouter.cs} | 2 +- benchmarkapps/Benchmarks/benchmarks.json | 6 ++ .../Matchers/MatcherAzureBenchmark.cs | 2 +- .../Matchers/MatcherBenchmarkBase.cs | 1 - .../Matchers/MatcherGithubBenchmark.cs | 2 +- .../Matchers/MatcherSingleEntryBenchmark.cs | 4 +- .../DispatcherSample.Web.csproj | 17 ------ samples/DispatcherSample.Web/Program.cs | 26 --------- .../EndsWithStringMatchProcessor.cs | 2 +- samples/RoutingSample.Web/PrefixRoute.cs | 4 +- samples/RoutingSample.Web/Program.cs | 45 +++++++++++++- .../UseGlobalRoutingStartup.cs} | 21 ++++--- .../{Startup.cs => UseRouterStartup.cs} | 2 +- .../DispatcherApplicationBuilderExtensions.cs | 52 ----------------- ...obalRoutingApplicationBuilderExtensions.cs | 58 +++++++++++++++++++ .../{ => Builder}/RoutingBuilderExtensions.cs | 0 ...Options.cs => ConfigureEndpointOptions.cs} | 6 +- .../DispatcherServiceCollectionExtensions.cs | 51 +++------------- .../RoutingServiceCollectionExtensions.cs | 34 +++++++++++ .../EndpointMiddleware.cs | 4 +- ...ispatcherOptions.cs => EndpointOptions.cs} | 2 +- ...ddleware.cs => GlobalRoutingMiddleware.cs} | 6 +- .../Internal/DispatcherMarkerService.cs | 15 ----- .../Matchers/Matcher.cs | 2 +- ...rTest.cs => GlobalRoutingBenchmarkTest.cs} | 8 +-- ...{RoutingTest.cs => RouterBenchmarkTest.cs} | 6 +- ...mpleTest.cs => GlobalRoutingSampleTest.cs} | 9 +-- ....AspNetCore.Routing.FunctionalTests.csproj | 1 - ...utingSampleTest.cs => RouterSampleTest.cs} | 7 ++- .../GlobalRoutingBuilderExtensionsTest.cs} | 26 ++++----- .../RoutingBuilderExtensionsTest.cs | 28 ++++++++- .../BuilderExtensionsTest.cs | 35 ----------- .../EndpointMiddlewareTest.cs | 5 +- ...Test.cs => GlobalRoutingMiddlewareTest.cs} | 16 ++--- .../Matchers/DfaMatcherConformanceTest.cs | 3 +- .../Matchers/DfaMatcherTest.cs | 1 - .../FullFeaturedMatcherConformanceTest.cs | 32 +++++----- .../{DispatcherAssert.cs => MatcherAssert.cs} | 2 +- .../MatcherConformanceTest.SingleEndpoint.cs | 34 +++++------ ...questDelegateRouteBuilderExtensionsTest.cs | 2 +- .../RouteCollectionTest.cs | 2 +- .../RouteTest.cs | 2 +- .../RouterMiddlewareTest.cs | 2 +- .../Tree/TreeRouterTest.cs | 8 +-- 47 files changed, 297 insertions(+), 336 deletions(-) rename benchmarkapps/Benchmarks/{StartupUsingDispatcher.cs => StartupUsingGlobalRouting.cs} (92%) rename benchmarkapps/Benchmarks/{StartupUsingRouting.cs => StartupUsingRouter.cs} (96%) delete mode 100644 samples/DispatcherSample.Web/DispatcherSample.Web.csproj delete mode 100644 samples/DispatcherSample.Web/Program.cs rename samples/{DispatcherSample.Web => RoutingSample.Web}/EndsWithStringMatchProcessor.cs (97%) rename samples/{DispatcherSample.Web/Startup.cs => RoutingSample.Web/UseGlobalRoutingStartup.cs} (91%) rename samples/RoutingSample.Web/{Startup.cs => UseRouterStartup.cs} (98%) delete mode 100644 src/Microsoft.AspNetCore.Routing/Builder/DispatcherApplicationBuilderExtensions.cs create mode 100644 src/Microsoft.AspNetCore.Routing/Builder/GlobalRoutingApplicationBuilderExtensions.cs rename src/Microsoft.AspNetCore.Routing/{ => Builder}/RoutingBuilderExtensions.cs (100%) rename src/Microsoft.AspNetCore.Routing/DependencyInjection/{ConfigureDispatcherOptions.cs => ConfigureEndpointOptions.cs} (79%) rename src/Microsoft.AspNetCore.Routing/{DispatcherOptions.cs => EndpointOptions.cs} (91%) rename src/Microsoft.AspNetCore.Routing/{DispatcherMiddleware.cs => GlobalRoutingMiddleware.cs} (96%) delete mode 100644 src/Microsoft.AspNetCore.Routing/Internal/DispatcherMarkerService.cs rename test/Microsoft.AspNetCore.Routing.FunctionalTests/Benchmarks/{DispatcherTest.cs => GlobalRoutingBenchmarkTest.cs} (87%) rename test/Microsoft.AspNetCore.Routing.FunctionalTests/Benchmarks/{RoutingTest.cs => RouterBenchmarkTest.cs} (91%) rename test/Microsoft.AspNetCore.Routing.FunctionalTests/{DispatcherSampleTest.cs => GlobalRoutingSampleTest.cs} (93%) rename test/Microsoft.AspNetCore.Routing.FunctionalTests/{RoutingSampleTest.cs => RouterSampleTest.cs} (92%) rename test/Microsoft.AspNetCore.Routing.Tests/{DispatcherApplicationBuilderExtensionsTest.cs => Builder/GlobalRoutingBuilderExtensionsTest.cs} (79%) rename test/Microsoft.AspNetCore.Routing.Tests/{ => Builder}/RoutingBuilderExtensionsTest.cs (75%) delete mode 100644 test/Microsoft.AspNetCore.Routing.Tests/BuilderExtensionsTest.cs rename test/Microsoft.AspNetCore.Routing.Tests/{DispatcherMiddlewareTest.cs => GlobalRoutingMiddlewareTest.cs} (83%) rename test/Microsoft.AspNetCore.Routing.Tests/Matchers/{DispatcherAssert.cs => MatcherAssert.cs} (98%) diff --git a/Routing.sln b/Routing.sln index 408a81c353..6b34e4f0b0 100644 --- a/Routing.sln +++ b/Routing.sln @@ -1,4 +1,5 @@ -Microsoft Visual Studio Solution File, Format Version 12.00 + +Microsoft Visual Studio Solution File, Format Version 12.00 # Visual Studio 15 VisualStudioVersion = 15.0.27106.3000 MinimumVisualStudioVersion = 15.0.26730.03 @@ -44,15 +45,13 @@ Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "build", "build", "{6DC6B416 EndProject Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Microsoft.AspNetCore.Routing.Performance", "benchmarks\Microsoft.AspNetCore.Routing.Performance\Microsoft.AspNetCore.Routing.Performance.csproj", "{F3D86714-4E64-41A6-9B36-A47B3683CF5D}" EndProject -Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "DispatcherSample.Web", "samples\DispatcherSample.Web\DispatcherSample.Web.csproj", "{4EBE7A6F-3183-4A7D-B3D7-A6A9EC3867A5}" -EndProject Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "benchmarks", "benchmarks", "{D5F39F59-5725-4127-82E7-67028D006185}" EndProject Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "benchmarkapps", "benchmarkapps", "{7F5914E2-C63F-4759-898E-462804357C90}" EndProject Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Benchmarks", "benchmarkapps\Benchmarks\Benchmarks.csproj", "{91F47A60-9A78-4968-B10D-157D9BFAC37F}" EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Swaggatherer", "benchmarks\Swaggatherer\Swaggatherer.csproj", "{990ECDEE-49DE-45E3-B0D9-DDEB9CFF6A9D}" +Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Swaggatherer", "benchmarks\Swaggatherer\Swaggatherer.csproj", "{990ECDEE-49DE-45E3-B0D9-DDEB9CFF6A9D}" EndProject Global GlobalSection(SolutionConfigurationPlatforms) = preSolution @@ -154,18 +153,6 @@ Global {F3D86714-4E64-41A6-9B36-A47B3683CF5D}.Release|Mixed Platforms.Build.0 = Release|Any CPU {F3D86714-4E64-41A6-9B36-A47B3683CF5D}.Release|x86.ActiveCfg = Release|Any CPU {F3D86714-4E64-41A6-9B36-A47B3683CF5D}.Release|x86.Build.0 = Release|Any CPU - {4EBE7A6F-3183-4A7D-B3D7-A6A9EC3867A5}.Debug|Any CPU.ActiveCfg = Debug|Any CPU - {4EBE7A6F-3183-4A7D-B3D7-A6A9EC3867A5}.Debug|Any CPU.Build.0 = Debug|Any CPU - {4EBE7A6F-3183-4A7D-B3D7-A6A9EC3867A5}.Debug|Mixed Platforms.ActiveCfg = Debug|Any CPU - {4EBE7A6F-3183-4A7D-B3D7-A6A9EC3867A5}.Debug|Mixed Platforms.Build.0 = Debug|Any CPU - {4EBE7A6F-3183-4A7D-B3D7-A6A9EC3867A5}.Debug|x86.ActiveCfg = Debug|Any CPU - {4EBE7A6F-3183-4A7D-B3D7-A6A9EC3867A5}.Debug|x86.Build.0 = Debug|Any CPU - {4EBE7A6F-3183-4A7D-B3D7-A6A9EC3867A5}.Release|Any CPU.ActiveCfg = Release|Any CPU - {4EBE7A6F-3183-4A7D-B3D7-A6A9EC3867A5}.Release|Any CPU.Build.0 = Release|Any CPU - {4EBE7A6F-3183-4A7D-B3D7-A6A9EC3867A5}.Release|Mixed Platforms.ActiveCfg = Release|Any CPU - {4EBE7A6F-3183-4A7D-B3D7-A6A9EC3867A5}.Release|Mixed Platforms.Build.0 = Release|Any CPU - {4EBE7A6F-3183-4A7D-B3D7-A6A9EC3867A5}.Release|x86.ActiveCfg = Release|Any CPU - {4EBE7A6F-3183-4A7D-B3D7-A6A9EC3867A5}.Release|x86.Build.0 = Release|Any CPU {91F47A60-9A78-4968-B10D-157D9BFAC37F}.Debug|Any CPU.ActiveCfg = Debug|Any CPU {91F47A60-9A78-4968-B10D-157D9BFAC37F}.Debug|Any CPU.Build.0 = Debug|Any CPU {91F47A60-9A78-4968-B10D-157D9BFAC37F}.Debug|Mixed Platforms.ActiveCfg = Debug|Any CPU @@ -203,7 +190,6 @@ Global {741B0B05-CE96-473B-B962-6B0A347DF79A} = {95359B4B-4C85-4B44-A75B-0621905C4CF6} {5C73140B-41F3-466F-A07B-3614E4D80DF9} = {95359B4B-4C85-4B44-A75B-0621905C4CF6} {F3D86714-4E64-41A6-9B36-A47B3683CF5D} = {D5F39F59-5725-4127-82E7-67028D006185} - {4EBE7A6F-3183-4A7D-B3D7-A6A9EC3867A5} = {C3ADD55B-B9C7-4061-8AD4-6A70D1AE3B2E} {91F47A60-9A78-4968-B10D-157D9BFAC37F} = {7F5914E2-C63F-4759-898E-462804357C90} {990ECDEE-49DE-45E3-B0D9-DDEB9CFF6A9D} = {D5F39F59-5725-4127-82E7-67028D006185} EndGlobalSection diff --git a/benchmarkapps/Benchmarks/Program.cs b/benchmarkapps/Benchmarks/Program.cs index a37a131d9c..0bed5e0b3c 100644 --- a/benchmarkapps/Benchmarks/Program.cs +++ b/benchmarkapps/Benchmarks/Program.cs @@ -29,22 +29,22 @@ namespace Benchmarks .UseKestrel(); var scenario = config["scenarios"]?.ToLower(); - if (scenario == "plaintextdispatcher") + if (scenario == "plaintextdispatcher" || scenario == "plaintextglobalrouting") { - webHostBuilder.UseStartup(); + webHostBuilder.UseStartup(); // for testing - webHostBuilder.UseSetting("Startup", nameof(StartupUsingDispatcher)); + webHostBuilder.UseSetting("Startup", nameof(StartupUsingGlobalRouting)); } - else if (scenario == "plaintextrouting") + else if (scenario == "plaintextrouting" || scenario == "plaintextrouter") { - webHostBuilder.UseStartup(); + webHostBuilder.UseStartup(); // for testing - webHostBuilder.UseSetting("Startup", nameof(StartupUsingRouting)); + webHostBuilder.UseSetting("Startup", nameof(StartupUsingRouter)); } else { throw new InvalidOperationException( - $"Invalid scenario '{scenario}'. Allowed scenarios are PlaintextDispatcher and PlaintextRouting"); + $"Invalid scenario '{scenario}'. Allowed scenarios are PlaintextGlobalRouting and PlaintextRouter"); } return webHostBuilder; diff --git a/benchmarkapps/Benchmarks/StartupUsingDispatcher.cs b/benchmarkapps/Benchmarks/StartupUsingGlobalRouting.cs similarity index 92% rename from benchmarkapps/Benchmarks/StartupUsingDispatcher.cs rename to benchmarkapps/Benchmarks/StartupUsingGlobalRouting.cs index f8c739eab1..f05d1b905b 100644 --- a/benchmarkapps/Benchmarks/StartupUsingDispatcher.cs +++ b/benchmarkapps/Benchmarks/StartupUsingGlobalRouting.cs @@ -10,7 +10,7 @@ using Microsoft.Extensions.DependencyInjection; namespace Benchmarks { - public class StartupUsingDispatcher + public class StartupUsingGlobalRouting { private static readonly byte[] _helloWorldPayload = Encoding.UTF8.GetBytes("Hello, World!"); @@ -18,7 +18,7 @@ namespace Benchmarks { services.AddRouting(); - services.AddDispatcher(options => + services.Configure(options => { options.DataSources.Add(new DefaultEndpointDataSource(new[] { @@ -43,7 +43,7 @@ namespace Benchmarks public void Configure(IApplicationBuilder app) { - app.UseDispatcher(); + app.UseGlobalRouting(); app.UseEndpoint(); } diff --git a/benchmarkapps/Benchmarks/StartupUsingRouting.cs b/benchmarkapps/Benchmarks/StartupUsingRouter.cs similarity index 96% rename from benchmarkapps/Benchmarks/StartupUsingRouting.cs rename to benchmarkapps/Benchmarks/StartupUsingRouter.cs index d9e2999af3..ef1528bf1b 100644 --- a/benchmarkapps/Benchmarks/StartupUsingRouting.cs +++ b/benchmarkapps/Benchmarks/StartupUsingRouter.cs @@ -8,7 +8,7 @@ using System.Text; namespace Benchmarks { - public class StartupUsingRouting + public class StartupUsingRouter { private static readonly byte[] _helloWorldPayload = Encoding.UTF8.GetBytes("Hello, World!"); diff --git a/benchmarkapps/Benchmarks/benchmarks.json b/benchmarkapps/Benchmarks/benchmarks.json index d93213fff2..794ea8c770 100644 --- a/benchmarkapps/Benchmarks/benchmarks.json +++ b/benchmarkapps/Benchmarks/benchmarks.json @@ -16,7 +16,13 @@ "PlaintextRouting": { "Path": "/plaintext" }, + "PlaintextRouter": { + "Path": "/plaintext" + }, "PlaintextDispatcher": { "Path": "/plaintext" + }, + "PlaintextGlobalRouting": { + "Path": "/plaintext" } } diff --git a/benchmarks/Microsoft.AspNetCore.Routing.Performance/Matchers/MatcherAzureBenchmark.cs b/benchmarks/Microsoft.AspNetCore.Routing.Performance/Matchers/MatcherAzureBenchmark.cs index 8e2a114137..8a97e2a9b2 100644 --- a/benchmarks/Microsoft.AspNetCore.Routing.Performance/Matchers/MatcherAzureBenchmark.cs +++ b/benchmarks/Microsoft.AspNetCore.Routing.Performance/Matchers/MatcherAzureBenchmark.cs @@ -71,7 +71,7 @@ namespace Microsoft.AspNetCore.Routing.Matchers var sample = _samples[i]; var httpContext = Requests[sample]; - // This is required to make the legacy router implementation work with dispatcher. + // This is required to make the legacy router implementation work with global routing. httpContext.Features.Set(feature); await _tree.MatchAsync(httpContext, feature); diff --git a/benchmarks/Microsoft.AspNetCore.Routing.Performance/Matchers/MatcherBenchmarkBase.cs b/benchmarks/Microsoft.AspNetCore.Routing.Performance/Matchers/MatcherBenchmarkBase.cs index ada2c02857..3cb9649887 100644 --- a/benchmarks/Microsoft.AspNetCore.Routing.Performance/Matchers/MatcherBenchmarkBase.cs +++ b/benchmarks/Microsoft.AspNetCore.Routing.Performance/Matchers/MatcherBenchmarkBase.cs @@ -25,7 +25,6 @@ namespace Microsoft.AspNetCore.Routing.Matchers services.AddLogging(); services.AddOptions(); services.AddRouting(); - services.AddDispatcher(); return services.BuildServiceProvider(); } diff --git a/benchmarks/Microsoft.AspNetCore.Routing.Performance/Matchers/MatcherGithubBenchmark.cs b/benchmarks/Microsoft.AspNetCore.Routing.Performance/Matchers/MatcherGithubBenchmark.cs index 4aeb9a3a02..b47aa4a592 100644 --- a/benchmarks/Microsoft.AspNetCore.Routing.Performance/Matchers/MatcherGithubBenchmark.cs +++ b/benchmarks/Microsoft.AspNetCore.Routing.Performance/Matchers/MatcherGithubBenchmark.cs @@ -62,7 +62,7 @@ namespace Microsoft.AspNetCore.Routing.Matchers { var httpContext = Requests[i]; - // This is required to make the legacy router implementation work with dispatcher. + // This is required to make the legacy router implementation work with global routing. httpContext.Features.Set(feature); await _tree.MatchAsync(httpContext, feature); diff --git a/benchmarks/Microsoft.AspNetCore.Routing.Performance/Matchers/MatcherSingleEntryBenchmark.cs b/benchmarks/Microsoft.AspNetCore.Routing.Performance/Matchers/MatcherSingleEntryBenchmark.cs index c13f0a9abf..5125ffb169 100644 --- a/benchmarks/Microsoft.AspNetCore.Routing.Performance/Matchers/MatcherSingleEntryBenchmark.cs +++ b/benchmarks/Microsoft.AspNetCore.Routing.Performance/Matchers/MatcherSingleEntryBenchmark.cs @@ -71,7 +71,7 @@ namespace Microsoft.AspNetCore.Routing.Matchers var httpContext = Requests[0]; - // This is required to make the legacy router implementation work with dispatcher. + // This is required to make the legacy router implementation work with global routing. httpContext.Features.Set(feature); await _tree.MatchAsync(httpContext, feature); @@ -84,7 +84,7 @@ namespace Microsoft.AspNetCore.Routing.Matchers var feature = _feature; var httpContext = Requests[0]; - // This is required to make the legacy router implementation work with dispatcher. + // This is required to make the legacy router implementation work with global routing. httpContext.Features.Set(feature); await _route.MatchAsync(httpContext, feature); diff --git a/samples/DispatcherSample.Web/DispatcherSample.Web.csproj b/samples/DispatcherSample.Web/DispatcherSample.Web.csproj deleted file mode 100644 index 52b1699c7b..0000000000 --- a/samples/DispatcherSample.Web/DispatcherSample.Web.csproj +++ /dev/null @@ -1,17 +0,0 @@ - - - - netcoreapp2.2 - $(TargetFrameworks);net461 - - - - - - - - - - - - diff --git a/samples/DispatcherSample.Web/Program.cs b/samples/DispatcherSample.Web/Program.cs deleted file mode 100644 index 45c4e82afa..0000000000 --- a/samples/DispatcherSample.Web/Program.cs +++ /dev/null @@ -1,26 +0,0 @@ -// Copyright (c) .NET Foundation. All rights reserved. -// Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information. - -using Microsoft.AspNetCore.Builder; -using Microsoft.AspNetCore.Hosting; - -namespace DispatcherSample.Web -{ - public class Program - { - public static void Main(string[] args) - { - var webHost = GetWebHostBuilder().Build(); - webHost.Run(); - } - - // For unit testing - public static IWebHostBuilder GetWebHostBuilder() - { - return new WebHostBuilder() - .UseKestrel() - .UseIISIntegration() - .UseStartup(); - } - } -} diff --git a/samples/DispatcherSample.Web/EndsWithStringMatchProcessor.cs b/samples/RoutingSample.Web/EndsWithStringMatchProcessor.cs similarity index 97% rename from samples/DispatcherSample.Web/EndsWithStringMatchProcessor.cs rename to samples/RoutingSample.Web/EndsWithStringMatchProcessor.cs index 7284dc6d66..17fcb1f990 100644 --- a/samples/DispatcherSample.Web/EndsWithStringMatchProcessor.cs +++ b/samples/RoutingSample.Web/EndsWithStringMatchProcessor.cs @@ -6,7 +6,7 @@ using System.Globalization; using Microsoft.AspNetCore.Routing.Matchers; using Microsoft.Extensions.Logging; -namespace DispatcherSample.Web +namespace RoutingSample.Web { internal class EndsWithStringMatchProcessor : MatchProcessorBase { diff --git a/samples/RoutingSample.Web/PrefixRoute.cs b/samples/RoutingSample.Web/PrefixRoute.cs index 908e8a5462..2a68abb183 100644 --- a/samples/RoutingSample.Web/PrefixRoute.cs +++ b/samples/RoutingSample.Web/PrefixRoute.cs @@ -44,14 +44,14 @@ namespace RoutingSample.Web var lastCharacter = requestPath[_prefix.Length]; if (lastCharacter != '/' && lastCharacter != '#' && lastCharacter != '?') { - return Task.FromResult(0); + return Task.CompletedTask; } } context.Handler = _target.GetRequestHandler(context.HttpContext, context.RouteData); } - return Task.FromResult(0); + return Task.CompletedTask; } public VirtualPathData GetVirtualPath(VirtualPathContext context) diff --git a/samples/RoutingSample.Web/Program.cs b/samples/RoutingSample.Web/Program.cs index c8449236ba..206e4bb0bf 100644 --- a/samples/RoutingSample.Web/Program.cs +++ b/samples/RoutingSample.Web/Program.cs @@ -1,6 +1,7 @@ // Copyright (c) .NET Foundation. All rights reserved. // Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information. +using System; using Microsoft.AspNetCore.Builder; using Microsoft.AspNetCore.Hosting; @@ -8,19 +9,57 @@ namespace RoutingSample.Web { public class Program { + public static readonly string GlobalRoutingScenario = "globalrouting"; + public static readonly string RouterScenario = "router"; + public static void Main(string[] args) { - var webHost = GetWebHostBuilder().Build(); + var webHost = GetWebHostBuilder(args).Build(); webHost.Run(); } // For unit testing - public static IWebHostBuilder GetWebHostBuilder() + public static IWebHostBuilder GetWebHostBuilder(string[] args) { + string scenario; + if (args.Length == 0) + { + Console.WriteLine("Choose a sample to run:"); + Console.WriteLine($"1. {GlobalRoutingScenario}"); + Console.WriteLine($"2. {RouterScenario}"); + Console.WriteLine(); + + scenario = Console.ReadLine(); + } + else + { + scenario = args[0]; + } + + Type startupType; + switch (scenario) + { + case "1": + case "globalrouting": + startupType = typeof(UseGlobalRoutingStartup); + break; + + case "2": + case "router": + startupType = typeof(UseRouterStartup); + break; + + default: + Console.WriteLine($"unknown scenario {scenario}"); + Console.WriteLine($"usage: dotnet run -- ({GlobalRoutingScenario}|{RouterScenario})"); + throw new InvalidOperationException(); + + } + return new WebHostBuilder() .UseKestrel() .UseIISIntegration() - .UseStartup(); + .UseStartup(startupType); } } } diff --git a/samples/DispatcherSample.Web/Startup.cs b/samples/RoutingSample.Web/UseGlobalRoutingStartup.cs similarity index 91% rename from samples/DispatcherSample.Web/Startup.cs rename to samples/RoutingSample.Web/UseGlobalRoutingStartup.cs index 4cbebd1e89..12cfd28640 100644 --- a/samples/DispatcherSample.Web/Startup.cs +++ b/samples/RoutingSample.Web/UseGlobalRoutingStartup.cs @@ -2,7 +2,6 @@ // Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information. using System; -using System.Collections.Generic; using System.Text; using Microsoft.AspNetCore.Builder; using Microsoft.AspNetCore.Http; @@ -11,11 +10,11 @@ using Microsoft.AspNetCore.Routing.Matchers; using Microsoft.AspNetCore.Routing.Patterns; using Microsoft.Extensions.DependencyInjection; -namespace DispatcherSample.Web +namespace RoutingSample.Web { - public class Startup + public class UseGlobalRoutingStartup { - private static readonly byte[] _homePayload = Encoding.UTF8.GetBytes("Dispatcher sample endpoints:" + Environment.NewLine + "/plaintext"); + private static readonly byte[] _homePayload = Encoding.UTF8.GetBytes("Global Routing sample endpoints:" + Environment.NewLine + "/plaintext"); private static readonly byte[] _helloWorldPayload = Encoding.UTF8.GetBytes("Hello, World!"); public void ConfigureServices(IServiceCollection services) @@ -26,11 +25,11 @@ namespace DispatcherSample.Web { options.ConstraintMap.Add("endsWith", typeof(EndsWithStringMatchProcessor)); }); - - services.AddDispatcher(options => + + services.Configure(options => { - options.DataSources.Add(new DefaultEndpointDataSource(new[] - { + options.DataSources.Add(new DefaultEndpointDataSource(new[] + { new MatcherEndpoint((next) => (httpContext) => { var response = httpContext.Response; @@ -83,13 +82,13 @@ namespace DispatcherSample.Web 0, EndpointMetadataCollection.Empty, "withoptionalconstraints"), - })); - }); + })); + }); } public void Configure(IApplicationBuilder app) { - app.UseDispatcher(); + app.UseGlobalRouting(); // Imagine some more stuff here... diff --git a/samples/RoutingSample.Web/Startup.cs b/samples/RoutingSample.Web/UseRouterStartup.cs similarity index 98% rename from samples/RoutingSample.Web/Startup.cs rename to samples/RoutingSample.Web/UseRouterStartup.cs index 3205b4f42d..2d267ef18f 100644 --- a/samples/RoutingSample.Web/Startup.cs +++ b/samples/RoutingSample.Web/UseRouterStartup.cs @@ -11,7 +11,7 @@ using Microsoft.Extensions.DependencyInjection; namespace RoutingSample.Web { - public class Startup + public class UseRouterStartup { private static readonly TimeSpan RegexMatchTimeout = TimeSpan.FromSeconds(10); diff --git a/src/Microsoft.AspNetCore.Routing/Builder/DispatcherApplicationBuilderExtensions.cs b/src/Microsoft.AspNetCore.Routing/Builder/DispatcherApplicationBuilderExtensions.cs deleted file mode 100644 index 90ac0ce3fb..0000000000 --- a/src/Microsoft.AspNetCore.Routing/Builder/DispatcherApplicationBuilderExtensions.cs +++ /dev/null @@ -1,52 +0,0 @@ -// Copyright (c) .NET Foundation. All rights reserved. -// Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information. - -using System; -using Microsoft.AspNetCore.Routing; -using Microsoft.AspNetCore.Routing.Internal; -using Microsoft.Extensions.DependencyInjection; - -namespace Microsoft.AspNetCore.Builder -{ - public static class DispatcherApplicationBuilderExtensions - { - private const string DispatcherRegisteredKey = "__DispatcherMiddlewareRegistered"; - - public static IApplicationBuilder UseDispatcher(this IApplicationBuilder builder) - { - VerifyDispatcherIsRegistered(builder); - - builder.Properties[DispatcherRegisteredKey] = true; - - return builder.UseMiddleware(); - } - - public static IApplicationBuilder UseEndpoint(this IApplicationBuilder builder) - { - VerifyDispatcherIsRegistered(builder); - - if (!builder.Properties.TryGetValue(DispatcherRegisteredKey, out _)) - { - var message = $"{nameof(DispatcherMiddleware)} must be added to the request execution pipeline before {nameof(EndpointMiddleware)}. " + - $"Please add {nameof(DispatcherMiddleware)} by calling '{nameof(IApplicationBuilder)}.{nameof(UseDispatcher)}' inside the call to 'Configure(...)' in the application startup code."; - - throw new InvalidOperationException(message); - } - - return builder.UseMiddleware(); - } - - private static void VerifyDispatcherIsRegistered(IApplicationBuilder app) - { - // Verify if AddDispatcher was done before calling UseDispatcher/UseEndpoint - // We use the DispatcherMarkerService to make sure if all the services were added. - if (app.ApplicationServices.GetService(typeof(DispatcherMarkerService)) == null) - { - throw new InvalidOperationException(Resources.FormatUnableToFindServices( - nameof(IServiceCollection), - nameof(DispatcherServiceCollectionExtensions.AddDispatcher), - "ConfigureServices(...)")); - } - } - } -} diff --git a/src/Microsoft.AspNetCore.Routing/Builder/GlobalRoutingApplicationBuilderExtensions.cs b/src/Microsoft.AspNetCore.Routing/Builder/GlobalRoutingApplicationBuilderExtensions.cs new file mode 100644 index 0000000000..e240a75211 --- /dev/null +++ b/src/Microsoft.AspNetCore.Routing/Builder/GlobalRoutingApplicationBuilderExtensions.cs @@ -0,0 +1,58 @@ +// Copyright (c) .NET Foundation. All rights reserved. +// Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information. + +using System; +using Microsoft.AspNetCore.Routing; +using Microsoft.AspNetCore.Routing.Internal; +using Microsoft.Extensions.DependencyInjection; + +namespace Microsoft.AspNetCore.Builder +{ + public static class GlobalRoutingApplicationBuilderExtensions + { + private const string GlobalRoutingRegisteredKey = "__GlobalRoutingMiddlewareRegistered"; + + // This is provided temporarily until we can remove usages of it from MVC. + public static IApplicationBuilder UseDispatcher(this IApplicationBuilder builder) + { + return UseGlobalRouting(builder); + } + + public static IApplicationBuilder UseGlobalRouting(this IApplicationBuilder builder) + { + VerifyRoutingIsRegistered(builder); + + builder.Properties[GlobalRoutingRegisteredKey] = true; + + return builder.UseMiddleware(); + } + + public static IApplicationBuilder UseEndpoint(this IApplicationBuilder builder) + { + VerifyRoutingIsRegistered(builder); + + if (!builder.Properties.TryGetValue(GlobalRoutingRegisteredKey, out _)) + { + var message = $"{nameof(GlobalRoutingMiddleware)} must be added to the request execution pipeline before {nameof(EndpointMiddleware)}. " + + $"Please add {nameof(GlobalRoutingMiddleware)} by calling '{nameof(IApplicationBuilder)}.{nameof(UseGlobalRouting)}' inside the call to 'Configure(...)' in the application startup code."; + + throw new InvalidOperationException(message); + } + + return builder.UseMiddleware(); + } + + private static void VerifyRoutingIsRegistered(IApplicationBuilder app) + { + // Verify if AddRouting was done before calling UseGlobalRouting/UseEndpoint + // We use the RoutingMarkerService to make sure if all the services were added. + if (app.ApplicationServices.GetService(typeof(RoutingMarkerService)) == null) + { + throw new InvalidOperationException(Resources.FormatUnableToFindServices( + nameof(IServiceCollection), + nameof(RoutingServiceCollectionExtensions.AddRouting), + "ConfigureServices(...)")); + } + } + } +} diff --git a/src/Microsoft.AspNetCore.Routing/RoutingBuilderExtensions.cs b/src/Microsoft.AspNetCore.Routing/Builder/RoutingBuilderExtensions.cs similarity index 100% rename from src/Microsoft.AspNetCore.Routing/RoutingBuilderExtensions.cs rename to src/Microsoft.AspNetCore.Routing/Builder/RoutingBuilderExtensions.cs diff --git a/src/Microsoft.AspNetCore.Routing/DependencyInjection/ConfigureDispatcherOptions.cs b/src/Microsoft.AspNetCore.Routing/DependencyInjection/ConfigureEndpointOptions.cs similarity index 79% rename from src/Microsoft.AspNetCore.Routing/DependencyInjection/ConfigureDispatcherOptions.cs rename to src/Microsoft.AspNetCore.Routing/DependencyInjection/ConfigureEndpointOptions.cs index e916dd0e18..ce6c069a22 100644 --- a/src/Microsoft.AspNetCore.Routing/DependencyInjection/ConfigureDispatcherOptions.cs +++ b/src/Microsoft.AspNetCore.Routing/DependencyInjection/ConfigureEndpointOptions.cs @@ -8,11 +8,11 @@ using Microsoft.Extensions.Options; namespace Microsoft.Extensions.DependencyInjection { - internal class ConfigureDispatcherOptions : IConfigureOptions + internal class ConfigureEndpointOptions : IConfigureOptions { private readonly IEnumerable _dataSources; - public ConfigureDispatcherOptions(IEnumerable dataSources) + public ConfigureEndpointOptions(IEnumerable dataSources) { if (dataSources == null) { @@ -22,7 +22,7 @@ namespace Microsoft.Extensions.DependencyInjection _dataSources = dataSources; } - public void Configure(DispatcherOptions options) + public void Configure(EndpointOptions options) { if (options == null) { diff --git a/src/Microsoft.AspNetCore.Routing/DependencyInjection/DispatcherServiceCollectionExtensions.cs b/src/Microsoft.AspNetCore.Routing/DependencyInjection/DispatcherServiceCollectionExtensions.cs index 8fb75c8351..6500f02986 100644 --- a/src/Microsoft.AspNetCore.Routing/DependencyInjection/DispatcherServiceCollectionExtensions.cs +++ b/src/Microsoft.AspNetCore.Routing/DependencyInjection/DispatcherServiceCollectionExtensions.cs @@ -2,19 +2,14 @@ // Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information. using System; -using System.Reflection; using Microsoft.AspNetCore.Routing; -using Microsoft.AspNetCore.Routing.EndpointConstraints; -using Microsoft.AspNetCore.Routing.EndpointFinders; -using Microsoft.AspNetCore.Routing.Internal; -using Microsoft.AspNetCore.Routing.Matchers; -using Microsoft.Extensions.DependencyInjection.Extensions; -using Microsoft.Extensions.Options; namespace Microsoft.Extensions.DependencyInjection { + // This whole class is temporary until we can remove its usage from MVC public static class DispatcherServiceCollectionExtensions { + // This whole class is temporary until we can remove its usage from MVC public static IServiceCollection AddDispatcher(this IServiceCollection services) { if (services == null) @@ -22,53 +17,21 @@ namespace Microsoft.Extensions.DependencyInjection throw new ArgumentNullException(nameof(services)); } - // Collect all data sources from DI. - services.TryAddEnumerable(ServiceDescriptor.Transient, ConfigureDispatcherOptions>()); - - // Allow global access to the list of endpoints. - services.TryAddSingleton(s => - { - var options = s.GetRequiredService>(); - return new CompositeEndpointDataSource(options.Value.DataSources); - }); - - // - // Default matcher implementation - // - services.TryAddSingleton(); - services.TryAddSingleton(); - services.TryAddTransient(); - - // Link generation related services - services.TryAddSingleton, NameBasedEndpointFinder>(); - services.TryAddSingleton, RouteValuesBasedEndpointFinder>(); - services.TryAddSingleton(); - // - // Endpoint Selection - // - services.TryAddSingleton(); - services.TryAddSingleton(); - - // Will be cached by the EndpointSelector - services.TryAddEnumerable( - ServiceDescriptor.Transient()); - - services.TryAddSingleton(typeof(DispatcherMarkerService)); - - return services; + return services.AddRouting(); } - public static IServiceCollection AddDispatcher(this IServiceCollection services, Action configuration) + // This whole class is temporary until we can remove its usage from MVC + public static IServiceCollection AddDispatcher(this IServiceCollection services, Action configuration) { if (services == null) { throw new ArgumentNullException(nameof(services)); } - services.AddDispatcher(); + services.AddRouting(); if (configuration != null) { - services.Configure(configuration); + services.Configure(configuration); } return services; diff --git a/src/Microsoft.AspNetCore.Routing/DependencyInjection/RoutingServiceCollectionExtensions.cs b/src/Microsoft.AspNetCore.Routing/DependencyInjection/RoutingServiceCollectionExtensions.cs index 675ef797ac..1474d6e76d 100644 --- a/src/Microsoft.AspNetCore.Routing/DependencyInjection/RoutingServiceCollectionExtensions.cs +++ b/src/Microsoft.AspNetCore.Routing/DependencyInjection/RoutingServiceCollectionExtensions.cs @@ -4,12 +4,15 @@ using System; using Microsoft.AspNetCore.Routing; using Microsoft.AspNetCore.Routing.Constraints; +using Microsoft.AspNetCore.Routing.EndpointConstraints; +using Microsoft.AspNetCore.Routing.EndpointFinders; using Microsoft.AspNetCore.Routing.Internal; using Microsoft.AspNetCore.Routing.Matchers; using Microsoft.AspNetCore.Routing.Tree; using Microsoft.Extensions.DependencyInjection.Extensions; using Microsoft.Extensions.Logging; using Microsoft.Extensions.ObjectPool; +using Microsoft.Extensions.Options; namespace Microsoft.Extensions.DependencyInjection { @@ -49,6 +52,37 @@ namespace Microsoft.Extensions.DependencyInjection services.TryAddSingleton(typeof(RoutingMarkerService)); + // Collect all data sources from DI. + services.TryAddEnumerable(ServiceDescriptor.Transient, ConfigureEndpointOptions>()); + + // Allow global access to the list of endpoints. + services.TryAddSingleton(s => + { + var options = s.GetRequiredService>(); + return new CompositeEndpointDataSource(options.Value.DataSources); + }); + + // + // Default matcher implementation + // + services.TryAddSingleton(); + services.TryAddSingleton(); + services.TryAddTransient(); + + // Link generation related services + services.TryAddSingleton, NameBasedEndpointFinder>(); + services.TryAddSingleton, RouteValuesBasedEndpointFinder>(); + services.TryAddSingleton(); + // + // Endpoint Selection + // + services.TryAddSingleton(); + services.TryAddSingleton(); + + // Will be cached by the EndpointSelector + services.TryAddEnumerable( + ServiceDescriptor.Transient()); + return services; } diff --git a/src/Microsoft.AspNetCore.Routing/EndpointMiddleware.cs b/src/Microsoft.AspNetCore.Routing/EndpointMiddleware.cs index 36e888ccb1..243c97d262 100644 --- a/src/Microsoft.AspNetCore.Routing/EndpointMiddleware.cs +++ b/src/Microsoft.AspNetCore.Routing/EndpointMiddleware.cs @@ -34,8 +34,8 @@ namespace Microsoft.AspNetCore.Routing var feature = httpContext.Features.Get(); if (feature == null) { - var message = $"Unable to execute an endpoint because the {nameof(DispatcherMiddleware)} was not run for this request. " + - $"Ensure {nameof(DispatcherMiddleware)} is added to the request execution pipeline before {nameof(EndpointMiddleware)} in application startup code."; + var message = $"Unable to execute an endpoint because the {nameof(GlobalRoutingMiddleware)} was not run for this request. " + + $"Ensure {nameof(GlobalRoutingMiddleware)} is added to the request execution pipeline before {nameof(EndpointMiddleware)} in application startup code."; throw new InvalidOperationException(message); } diff --git a/src/Microsoft.AspNetCore.Routing/DispatcherOptions.cs b/src/Microsoft.AspNetCore.Routing/EndpointOptions.cs similarity index 91% rename from src/Microsoft.AspNetCore.Routing/DispatcherOptions.cs rename to src/Microsoft.AspNetCore.Routing/EndpointOptions.cs index 1ec4c2f397..bd03d3c7a2 100644 --- a/src/Microsoft.AspNetCore.Routing/DispatcherOptions.cs +++ b/src/Microsoft.AspNetCore.Routing/EndpointOptions.cs @@ -5,7 +5,7 @@ using System.Collections.Generic; namespace Microsoft.AspNetCore.Routing { - public class DispatcherOptions + public class EndpointOptions { public IList DataSources { get; } = new List(); } diff --git a/src/Microsoft.AspNetCore.Routing/DispatcherMiddleware.cs b/src/Microsoft.AspNetCore.Routing/GlobalRoutingMiddleware.cs similarity index 96% rename from src/Microsoft.AspNetCore.Routing/DispatcherMiddleware.cs rename to src/Microsoft.AspNetCore.Routing/GlobalRoutingMiddleware.cs index 6dd9cbed16..994b2e6295 100644 --- a/src/Microsoft.AspNetCore.Routing/DispatcherMiddleware.cs +++ b/src/Microsoft.AspNetCore.Routing/GlobalRoutingMiddleware.cs @@ -11,7 +11,7 @@ using Microsoft.Extensions.Options; namespace Microsoft.AspNetCore.Routing { - internal sealed class DispatcherMiddleware + internal sealed class GlobalRoutingMiddleware { private readonly MatcherFactory _matcherFactory; private readonly ILogger _logger; @@ -20,10 +20,10 @@ namespace Microsoft.AspNetCore.Routing private Task _initializationTask; - public DispatcherMiddleware( + public GlobalRoutingMiddleware( MatcherFactory matcherFactory, CompositeEndpointDataSource endpointDataSource, - ILogger logger, + ILogger logger, RequestDelegate next) { if (matcherFactory == null) diff --git a/src/Microsoft.AspNetCore.Routing/Internal/DispatcherMarkerService.cs b/src/Microsoft.AspNetCore.Routing/Internal/DispatcherMarkerService.cs deleted file mode 100644 index f4e742b654..0000000000 --- a/src/Microsoft.AspNetCore.Routing/Internal/DispatcherMarkerService.cs +++ /dev/null @@ -1,15 +0,0 @@ -// Copyright (c) .NET Foundation. All rights reserved. -// Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information. - -using Microsoft.Extensions.DependencyInjection; - -namespace Microsoft.AspNetCore.Routing.Internal -{ - /// - /// A marker class used to determine if all the dispatcher services were added - /// to the before dispatcher is configured. - /// - internal class DispatcherMarkerService - { - } -} \ No newline at end of file diff --git a/src/Microsoft.AspNetCore.Routing/Matchers/Matcher.cs b/src/Microsoft.AspNetCore.Routing/Matchers/Matcher.cs index 9cb5921e6a..d62f8546e1 100644 --- a/src/Microsoft.AspNetCore.Routing/Matchers/Matcher.cs +++ b/src/Microsoft.AspNetCore.Routing/Matchers/Matcher.cs @@ -8,7 +8,7 @@ namespace Microsoft.AspNetCore.Routing.Matchers { /// /// An interface for components that can select an given the current request, as part - /// of the execution of . + /// of the execution of . /// internal abstract class Matcher { diff --git a/test/Microsoft.AspNetCore.Routing.FunctionalTests/Benchmarks/DispatcherTest.cs b/test/Microsoft.AspNetCore.Routing.FunctionalTests/Benchmarks/GlobalRoutingBenchmarkTest.cs similarity index 87% rename from test/Microsoft.AspNetCore.Routing.FunctionalTests/Benchmarks/DispatcherTest.cs rename to test/Microsoft.AspNetCore.Routing.FunctionalTests/Benchmarks/GlobalRoutingBenchmarkTest.cs index 3b963b56a5..54b8d75073 100644 --- a/test/Microsoft.AspNetCore.Routing.FunctionalTests/Benchmarks/DispatcherTest.cs +++ b/test/Microsoft.AspNetCore.Routing.FunctionalTests/Benchmarks/GlobalRoutingBenchmarkTest.cs @@ -11,20 +11,20 @@ using Xunit; namespace Microsoft.AspNetCore.Routing.FunctionalTests { - public class DispatcherTest : IDisposable + public class GlobalRoutingBenchmarkTest : IDisposable { private readonly HttpClient _client; private readonly TestServer _testServer; - public DispatcherTest() + public GlobalRoutingBenchmarkTest() { // This switch and value are set by benchmark server when running the app for profiling. - var args = new[] { "--scenarios", "PlaintextDispatcher" }; + var args = new[] { "--scenarios", "PlaintextGlobalRouting" }; var webHostBuilder = Benchmarks.Program.GetWebHostBuilder(args); // Make sure we are using the right startup var startupName = webHostBuilder.GetSetting("Startup"); - Assert.Equal(nameof(Benchmarks.StartupUsingDispatcher), startupName); + Assert.Equal(nameof(Benchmarks.StartupUsingGlobalRouting), startupName); _testServer = new TestServer(webHostBuilder); _client = _testServer.CreateClient(); diff --git a/test/Microsoft.AspNetCore.Routing.FunctionalTests/Benchmarks/RoutingTest.cs b/test/Microsoft.AspNetCore.Routing.FunctionalTests/Benchmarks/RouterBenchmarkTest.cs similarity index 91% rename from test/Microsoft.AspNetCore.Routing.FunctionalTests/Benchmarks/RoutingTest.cs rename to test/Microsoft.AspNetCore.Routing.FunctionalTests/Benchmarks/RouterBenchmarkTest.cs index ae4ef90f06..bb7300388b 100644 --- a/test/Microsoft.AspNetCore.Routing.FunctionalTests/Benchmarks/RoutingTest.cs +++ b/test/Microsoft.AspNetCore.Routing.FunctionalTests/Benchmarks/RouterBenchmarkTest.cs @@ -11,12 +11,12 @@ using Xunit; namespace Microsoft.AspNetCore.Routing.FunctionalTests { - public class RoutingTest : IDisposable + public class RouterBenchmarkTest : IDisposable { private readonly HttpClient _client; private readonly TestServer _testServer; - public RoutingTest() + public RouterBenchmarkTest() { // This switch and value are set by benchmark server when running the app for profiling. var args = new[] { "--scenarios", "PlaintextRouting" }; @@ -24,7 +24,7 @@ namespace Microsoft.AspNetCore.Routing.FunctionalTests // Make sure we are using the right startup var startupName = webHostBuilder.GetSetting("Startup"); - Assert.Equal(nameof(Benchmarks.StartupUsingRouting), startupName); + Assert.Equal(nameof(Benchmarks.StartupUsingRouter), startupName); _testServer = new TestServer(webHostBuilder); _client = _testServer.CreateClient(); diff --git a/test/Microsoft.AspNetCore.Routing.FunctionalTests/DispatcherSampleTest.cs b/test/Microsoft.AspNetCore.Routing.FunctionalTests/GlobalRoutingSampleTest.cs similarity index 93% rename from test/Microsoft.AspNetCore.Routing.FunctionalTests/DispatcherSampleTest.cs rename to test/Microsoft.AspNetCore.Routing.FunctionalTests/GlobalRoutingSampleTest.cs index 79925e8bf0..1ea832e806 100644 --- a/test/Microsoft.AspNetCore.Routing.FunctionalTests/DispatcherSampleTest.cs +++ b/test/Microsoft.AspNetCore.Routing.FunctionalTests/GlobalRoutingSampleTest.cs @@ -6,18 +6,19 @@ using System.Net; using System.Net.Http; using System.Threading.Tasks; using Microsoft.AspNetCore.TestHost; +using RoutingSample.Web; using Xunit; namespace Microsoft.AspNetCore.Routing.FunctionalTests { - public class DispatcherSampleTest : IDisposable + public class GlobalRoutingSampleTest : IDisposable { private readonly HttpClient _client; private readonly TestServer _testServer; - public DispatcherSampleTest() + public GlobalRoutingSampleTest() { - var webHostBuilder = DispatcherSample.Web.Program.GetWebHostBuilder(); + var webHostBuilder = Program.GetWebHostBuilder(new[] { Program.GlobalRoutingScenario, }); _testServer = new TestServer(webHostBuilder); _client = _testServer.CreateClient(); _client.BaseAddress = new Uri("http://localhost"); @@ -28,7 +29,7 @@ namespace Microsoft.AspNetCore.Routing.FunctionalTests { // Arrange var expectedContentType = "text/plain"; - var expectedContent = "Dispatcher sample endpoints:" + Environment.NewLine + "/plaintext"; + var expectedContent = "Global Routing sample endpoints:" + Environment.NewLine + "/plaintext"; // Act var response = await _client.GetAsync("/"); diff --git a/test/Microsoft.AspNetCore.Routing.FunctionalTests/Microsoft.AspNetCore.Routing.FunctionalTests.csproj b/test/Microsoft.AspNetCore.Routing.FunctionalTests/Microsoft.AspNetCore.Routing.FunctionalTests.csproj index cbbb6f11e1..9520c32ff5 100644 --- a/test/Microsoft.AspNetCore.Routing.FunctionalTests/Microsoft.AspNetCore.Routing.FunctionalTests.csproj +++ b/test/Microsoft.AspNetCore.Routing.FunctionalTests/Microsoft.AspNetCore.Routing.FunctionalTests.csproj @@ -7,7 +7,6 @@ - diff --git a/test/Microsoft.AspNetCore.Routing.FunctionalTests/RoutingSampleTest.cs b/test/Microsoft.AspNetCore.Routing.FunctionalTests/RouterSampleTest.cs similarity index 92% rename from test/Microsoft.AspNetCore.Routing.FunctionalTests/RoutingSampleTest.cs rename to test/Microsoft.AspNetCore.Routing.FunctionalTests/RouterSampleTest.cs index 8869103f40..a925035bc4 100644 --- a/test/Microsoft.AspNetCore.Routing.FunctionalTests/RoutingSampleTest.cs +++ b/test/Microsoft.AspNetCore.Routing.FunctionalTests/RouterSampleTest.cs @@ -6,18 +6,19 @@ using System.Net; using System.Net.Http; using System.Threading.Tasks; using Microsoft.AspNetCore.TestHost; +using RoutingSample.Web; using Xunit; namespace Microsoft.AspNetCore.Routing.FunctionalTests { - public class RoutingSampleTest : IDisposable + public class RouterSampleTest : IDisposable { private readonly HttpClient _client; private readonly TestServer _testServer; - public RoutingSampleTest() + public RouterSampleTest() { - var webHostBuilder = RoutingSample.Web.Program.GetWebHostBuilder(); + var webHostBuilder = Program.GetWebHostBuilder(new[] { Program.RouterScenario, }); _testServer = new TestServer(webHostBuilder); _client = _testServer.CreateClient(); _client.BaseAddress = new Uri("http://localhost"); diff --git a/test/Microsoft.AspNetCore.Routing.Tests/DispatcherApplicationBuilderExtensionsTest.cs b/test/Microsoft.AspNetCore.Routing.Tests/Builder/GlobalRoutingBuilderExtensionsTest.cs similarity index 79% rename from test/Microsoft.AspNetCore.Routing.Tests/DispatcherApplicationBuilderExtensionsTest.cs rename to test/Microsoft.AspNetCore.Routing.Tests/Builder/GlobalRoutingBuilderExtensionsTest.cs index a748f57557..410be22666 100644 --- a/test/Microsoft.AspNetCore.Routing.Tests/DispatcherApplicationBuilderExtensionsTest.cs +++ b/test/Microsoft.AspNetCore.Routing.Tests/Builder/GlobalRoutingBuilderExtensionsTest.cs @@ -12,21 +12,21 @@ using Xunit; namespace Microsoft.AspNetCore.Builder { - public class DispatcherApplicationBuilderExtensionsTest + public class GlobalRoutingBuilderExtensionsTest { [Fact] - public void UseDispatcher_ServicesNotRegistered_Throws() + public void UseGlobalRouting_ServicesNotRegistered_Throws() { // Arrange var app = new ApplicationBuilder(Mock.Of()); // Act - var ex = Assert.Throws(() => app.UseDispatcher()); + var ex = Assert.Throws(() => app.UseGlobalRouting()); // Assert Assert.Equal( "Unable to find the required services. " + - "Please add all the required services by calling 'IServiceCollection.AddDispatcher' " + + "Please add all the required services by calling 'IServiceCollection.AddRouting' " + "inside the call to 'ConfigureServices(...)' in the application startup code.", ex.Message); } @@ -43,20 +43,20 @@ namespace Microsoft.AspNetCore.Builder // Assert Assert.Equal( "Unable to find the required services. " + - "Please add all the required services by calling 'IServiceCollection.AddDispatcher' " + + "Please add all the required services by calling 'IServiceCollection.AddRouting' " + "inside the call to 'ConfigureServices(...)' in the application startup code.", ex.Message); } [Fact] - public async Task UseDispatcher_ServicesRegistered_SetsFeature() + public async Task UseGlobalRouting_ServicesRegistered_SetsFeature() { // Arrange var services = CreateServices(); var app = new ApplicationBuilder(services); - app.UseDispatcher(); + app.UseGlobalRouting(); var appFunc = app.Build(); var httpContext = new DefaultHttpContext(); @@ -69,7 +69,7 @@ namespace Microsoft.AspNetCore.Builder } [Fact] - public void UseEndpoint_ServicesRegisteredAndNoDispatcherRegistered_Throws() + public void UseEndpoint_WithoutRoutingServicesRegistered_Throws() { // Arrange var services = CreateServices(); @@ -81,21 +81,21 @@ namespace Microsoft.AspNetCore.Builder // Assert Assert.Equal( - "DispatcherMiddleware must be added to the request execution pipeline before EndpointMiddleware. " + - "Please add DispatcherMiddleware by calling 'IApplicationBuilder.UseDispatcher' " + + "GlobalRoutingMiddleware must be added to the request execution pipeline before EndpointMiddleware. " + + "Please add GlobalRoutingMiddleware by calling 'IApplicationBuilder.UseGlobalRouting' " + "inside the call to 'Configure(...)' in the application startup code.", ex.Message); } [Fact] - public async Task UseEndpoint_ServicesRegisteredAndDispatcherRegistered_SetsFeature() + public async Task UseEndpoint_ServicesRegisteredAndGlobalRoutingRegistered_SetsFeature() { // Arrange var services = CreateServices(); var app = new ApplicationBuilder(services); - app.UseDispatcher(); + app.UseGlobalRouting(); app.UseEndpoint(); var appFunc = app.Build(); @@ -114,7 +114,7 @@ namespace Microsoft.AspNetCore.Builder services.AddLogging(); services.AddOptions(); - services.AddDispatcher(); + services.AddRouting(); return services.BuildServiceProvider(); } diff --git a/test/Microsoft.AspNetCore.Routing.Tests/RoutingBuilderExtensionsTest.cs b/test/Microsoft.AspNetCore.Routing.Tests/Builder/RoutingBuilderExtensionsTest.cs similarity index 75% rename from test/Microsoft.AspNetCore.Routing.Tests/RoutingBuilderExtensionsTest.cs rename to test/Microsoft.AspNetCore.Routing.Tests/Builder/RoutingBuilderExtensionsTest.cs index 9499a6cdeb..136950cfce 100644 --- a/test/Microsoft.AspNetCore.Routing.Tests/RoutingBuilderExtensionsTest.cs +++ b/test/Microsoft.AspNetCore.Routing.Tests/Builder/RoutingBuilderExtensionsTest.cs @@ -1,4 +1,4 @@ -// Copyright (c) .NET Foundation. All rights reserved. +// Copyright (c) .NET Foundation. All rights reserved. // Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information. using System; @@ -14,6 +14,28 @@ namespace Microsoft.AspNetCore.Builder { public class RoutingBuilderExtensionsTest { + [Fact] + public void UseRouter_ThrowsInvalidOperationException_IfRoutingMarkerServiceIsNotRegistered() + { + // Arrange + var applicationBuilderMock = new Mock(); + applicationBuilderMock + .Setup(s => s.ApplicationServices) + .Returns(Mock.Of()); + + var router = Mock.Of(); + + // Act & Assert + var exception = Assert.Throws( + () => applicationBuilderMock.Object.UseRouter(router)); + + Assert.Equal( + "Unable to find the required services. Please add all the required services by calling " + + "'IServiceCollection.AddRouting' inside the call to 'ConfigureServices(...)'" + + " in the application startup code.", + exception.Message); + } + [Fact] public void UseRouter_IRouter_ThrowsWithoutCallingAddRouting() { @@ -59,7 +81,7 @@ namespace Microsoft.AspNetCore.Builder var router = new Mock(MockBehavior.Strict); router .Setup(r => r.RouteAsync(It.IsAny())) - .Returns(Task.FromResult(0)) + .Returns(Task.CompletedTask) .Verifiable(); app.UseRouter(router.Object); @@ -84,7 +106,7 @@ namespace Microsoft.AspNetCore.Builder var router = new Mock(MockBehavior.Strict); router .Setup(r => r.RouteAsync(It.IsAny())) - .Returns(Task.FromResult(0)) + .Returns(Task.CompletedTask) .Verifiable(); app.UseRouter(b => diff --git a/test/Microsoft.AspNetCore.Routing.Tests/BuilderExtensionsTest.cs b/test/Microsoft.AspNetCore.Routing.Tests/BuilderExtensionsTest.cs deleted file mode 100644 index ca297f89d2..0000000000 --- a/test/Microsoft.AspNetCore.Routing.Tests/BuilderExtensionsTest.cs +++ /dev/null @@ -1,35 +0,0 @@ -// Copyright (c) .NET Foundation. All rights reserved. -// Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information. - -using System; -using Microsoft.AspNetCore.Routing; -using Moq; -using Xunit; - -namespace Microsoft.AspNetCore.Builder -{ - public class BuilderExtensionsTest - { - [Fact] - public void UseRouter_ThrowsInvalidOperationException_IfRoutingMarkerServiceIsNotRegistered() - { - // Arrange - var applicationBuilderMock = new Mock(); - applicationBuilderMock - .Setup(s => s.ApplicationServices) - .Returns(Mock.Of()); - - var router = Mock.Of(); - - // Act & Assert - var exception = Assert.Throws( - () => applicationBuilderMock.Object.UseRouter(router)); - - Assert.Equal( - "Unable to find the required services. Please add all the required services by calling " + - "'IServiceCollection.AddRouting' inside the call to 'ConfigureServices(...)'" + - " in the application startup code.", - exception.Message); - } - } -} diff --git a/test/Microsoft.AspNetCore.Routing.Tests/EndpointMiddlewareTest.cs b/test/Microsoft.AspNetCore.Routing.Tests/EndpointMiddlewareTest.cs index 1a2829a42f..0d861dd218 100644 --- a/test/Microsoft.AspNetCore.Routing.Tests/EndpointMiddlewareTest.cs +++ b/test/Microsoft.AspNetCore.Routing.Tests/EndpointMiddlewareTest.cs @@ -35,8 +35,9 @@ namespace Microsoft.AspNetCore.Routing var ex = await Assert.ThrowsAsync(async () => await invokeTask); Assert.Equal( - "Unable to execute an endpoint because the DispatcherMiddleware was not run for this request. " + - "Ensure DispatcherMiddleware is added to the request execution pipeline before EndpointMiddleware in application startup code.", + "Unable to execute an endpoint because the GlobalRoutingMiddleware was not run for this request. " + + "Ensure GlobalRoutingMiddleware is added to the request execution pipeline before EndpointMiddleware " + + "in application startup code.", ex.Message); } diff --git a/test/Microsoft.AspNetCore.Routing.Tests/DispatcherMiddlewareTest.cs b/test/Microsoft.AspNetCore.Routing.Tests/GlobalRoutingMiddlewareTest.cs similarity index 83% rename from test/Microsoft.AspNetCore.Routing.Tests/DispatcherMiddlewareTest.cs rename to test/Microsoft.AspNetCore.Routing.Tests/GlobalRoutingMiddlewareTest.cs index 26fb753c38..bc34547aff 100644 --- a/test/Microsoft.AspNetCore.Routing.Tests/DispatcherMiddlewareTest.cs +++ b/test/Microsoft.AspNetCore.Routing.Tests/GlobalRoutingMiddlewareTest.cs @@ -13,7 +13,7 @@ using Xunit; namespace Microsoft.AspNetCore.Routing { - public class DispatcherMiddlewareTest + public class GlobalRoutingMiddlewareTest { [Fact] public async Task Invoke_OnCall_SetsEndpointFeature() @@ -39,14 +39,14 @@ namespace Microsoft.AspNetCore.Routing var expectedMessage = "Request matched endpoint 'Test endpoint'."; var sink = new TestSink( - TestSink.EnableWithTypeName, - TestSink.EnableWithTypeName); + TestSink.EnableWithTypeName, + TestSink.EnableWithTypeName); var loggerFactory = new TestLoggerFactory(sink, enabled: true); var httpContext = new DefaultHttpContext(); httpContext.RequestServices = new TestServiceProvider(); - var logger = new Logger(loggerFactory); + var logger = new Logger(loggerFactory); var middleware = CreateMiddleware(logger); // Act @@ -82,15 +82,15 @@ namespace Microsoft.AspNetCore.Routing Assert.Equal("testValue", endpointFeature.Values["testKey"]); } - private DispatcherMiddleware CreateMiddleware(Logger logger = null) + private GlobalRoutingMiddleware CreateMiddleware(Logger logger = null) { RequestDelegate next = (c) => Task.FromResult(null); - logger = logger ?? new Logger(NullLoggerFactory.Instance); + logger = logger ?? new Logger(NullLoggerFactory.Instance); - var options = Options.Create(new DispatcherOptions()); + var options = Options.Create(new EndpointOptions()); var matcherFactory = new TestMatcherFactory(true); - var middleware = new DispatcherMiddleware( + var middleware = new GlobalRoutingMiddleware( matcherFactory, new CompositeEndpointDataSource(Array.Empty()), logger, diff --git a/test/Microsoft.AspNetCore.Routing.Tests/Matchers/DfaMatcherConformanceTest.cs b/test/Microsoft.AspNetCore.Routing.Tests/Matchers/DfaMatcherConformanceTest.cs index 5d3893c653..de5815f7c7 100644 --- a/test/Microsoft.AspNetCore.Routing.Tests/Matchers/DfaMatcherConformanceTest.cs +++ b/test/Microsoft.AspNetCore.Routing.Tests/Matchers/DfaMatcherConformanceTest.cs @@ -20,7 +20,7 @@ namespace Microsoft.AspNetCore.Routing.Matchers await matcher.MatchAsync(httpContext, feature); // Assert - DispatcherAssert.AssertMatch(feature, endpoint, keys, values); + MatcherAssert.AssertMatch(feature, endpoint, keys, values); } internal override Matcher CreateMatcher(params MatcherEndpoint[] endpoints) @@ -29,7 +29,6 @@ namespace Microsoft.AspNetCore.Routing.Matchers .AddLogging() .AddOptions() .AddRouting() - .AddDispatcher() .BuildServiceProvider(); var builder = services.GetRequiredService(); diff --git a/test/Microsoft.AspNetCore.Routing.Tests/Matchers/DfaMatcherTest.cs b/test/Microsoft.AspNetCore.Routing.Tests/Matchers/DfaMatcherTest.cs index 51a9d74b75..821a0d0806 100644 --- a/test/Microsoft.AspNetCore.Routing.Tests/Matchers/DfaMatcherTest.cs +++ b/test/Microsoft.AspNetCore.Routing.Tests/Matchers/DfaMatcherTest.cs @@ -36,7 +36,6 @@ namespace Microsoft.AspNetCore.Routing.Matchers .AddLogging() .AddOptions() .AddRouting() - .AddDispatcher() .BuildServiceProvider(); var factory = services.GetRequiredService(); diff --git a/test/Microsoft.AspNetCore.Routing.Tests/Matchers/FullFeaturedMatcherConformanceTest.cs b/test/Microsoft.AspNetCore.Routing.Tests/Matchers/FullFeaturedMatcherConformanceTest.cs index 0bed93f541..61a8f3f9bf 100644 --- a/test/Microsoft.AspNetCore.Routing.Tests/Matchers/FullFeaturedMatcherConformanceTest.cs +++ b/test/Microsoft.AspNetCore.Routing.Tests/Matchers/FullFeaturedMatcherConformanceTest.cs @@ -34,7 +34,7 @@ namespace Microsoft.AspNetCore.Routing.Matchers await matcher.MatchAsync(httpContext, feature); // Assert - DispatcherAssert.AssertMatch(feature, endpoint, keys, values); + MatcherAssert.AssertMatch(feature, endpoint, keys, values); } [Fact] @@ -49,7 +49,7 @@ namespace Microsoft.AspNetCore.Routing.Matchers await matcher.MatchAsync(httpContext, feature); // Assert - DispatcherAssert.AssertMatch(feature, endpoint, new { b = "17", c = "18", }); + MatcherAssert.AssertMatch(feature, endpoint, new { b = "17", c = "18", }); } [Fact] @@ -64,7 +64,7 @@ namespace Microsoft.AspNetCore.Routing.Matchers await matcher.MatchAsync(httpContext, feature); // Assert - DispatcherAssert.AssertMatch(feature, endpoint, new { b = "17", c = "18", d = "19" }); + MatcherAssert.AssertMatch(feature, endpoint, new { b = "17", c = "18", d = "19" }); } [Theory] @@ -89,7 +89,7 @@ namespace Microsoft.AspNetCore.Routing.Matchers await matcher.MatchAsync(httpContext, feature); // Assert - DispatcherAssert.AssertNotMatch(feature); + MatcherAssert.AssertNotMatch(feature); } [Theory] @@ -121,7 +121,7 @@ namespace Microsoft.AspNetCore.Routing.Matchers await matcher.MatchAsync(httpContext, feature); // Assert - DispatcherAssert.AssertMatch(feature, endpoint, keys, values); + MatcherAssert.AssertMatch(feature, endpoint, keys, values); } [Theory] @@ -144,7 +144,7 @@ namespace Microsoft.AspNetCore.Routing.Matchers await matcher.MatchAsync(httpContext, feature); // Assert - DispatcherAssert.AssertNotMatch(feature); + MatcherAssert.AssertNotMatch(feature); } [Theory] @@ -168,7 +168,7 @@ namespace Microsoft.AspNetCore.Routing.Matchers await matcher.MatchAsync(httpContext, feature); // Assert - DispatcherAssert.AssertMatch(feature, endpoint, keys, values); + MatcherAssert.AssertMatch(feature, endpoint, keys, values); } // Historically catchall segments don't match an empty segment, but only if it's @@ -188,7 +188,7 @@ namespace Microsoft.AspNetCore.Routing.Matchers await matcher.MatchAsync(httpContext, feature); // Assert - DispatcherAssert.AssertNotMatch(feature); + MatcherAssert.AssertNotMatch(feature); // Need to access these to prevent a warning from the xUnit analyzer. // Some of these tests will match (and process the values) and some will not. @@ -223,7 +223,7 @@ namespace Microsoft.AspNetCore.Routing.Matchers await matcher.MatchAsync(httpContext, feature); // Assert - DispatcherAssert.AssertMatch(feature, endpoint, keys, values); + MatcherAssert.AssertMatch(feature, endpoint, keys, values); } [Theory] @@ -243,7 +243,7 @@ namespace Microsoft.AspNetCore.Routing.Matchers await matcher.MatchAsync(httpContext, feature); // Assert - DispatcherAssert.AssertNotMatch(feature); + MatcherAssert.AssertNotMatch(feature); } [Theory] @@ -272,7 +272,7 @@ namespace Microsoft.AspNetCore.Routing.Matchers await matcher.MatchAsync(httpContext, feature); // Assert - DispatcherAssert.AssertMatch(feature, endpoint, keys, values); + MatcherAssert.AssertMatch(feature, endpoint, keys, values); } [Theory] @@ -298,7 +298,7 @@ namespace Microsoft.AspNetCore.Routing.Matchers await matcher.MatchAsync(httpContext, feature); // Assert - DispatcherAssert.AssertNotMatch(feature); + MatcherAssert.AssertNotMatch(feature); } // Most of are copied from old routing tests that date back to the VS 2010 era. Enjoy! @@ -323,7 +323,7 @@ namespace Microsoft.AspNetCore.Routing.Matchers await matcher.MatchAsync(httpContext, feature); // Assert - DispatcherAssert.AssertMatch(feature, endpoint, keys, values); + MatcherAssert.AssertMatch(feature, endpoint, keys, values); } [Theory] @@ -353,7 +353,7 @@ namespace Microsoft.AspNetCore.Routing.Matchers await matcher.MatchAsync(httpContext, feature); // Assert - DispatcherAssert.AssertMatch(feature, expected, ignoreValues: true); + MatcherAssert.AssertMatch(feature, expected, ignoreValues: true); } [Theory] @@ -387,7 +387,7 @@ namespace Microsoft.AspNetCore.Routing.Matchers await matcher.MatchAsync(httpContext, feature); // Assert - DispatcherAssert.AssertMatch(feature, expected, ignoreValues: true); + MatcherAssert.AssertMatch(feature, expected, ignoreValues: true); } [Theory] @@ -440,7 +440,7 @@ namespace Microsoft.AspNetCore.Routing.Matchers await matcher.MatchAsync(httpContext, feature); // Assert - DispatcherAssert.AssertMatch(feature, expected, ignoreValues: true); + MatcherAssert.AssertMatch(feature, expected, ignoreValues: true); } } } diff --git a/test/Microsoft.AspNetCore.Routing.Tests/Matchers/DispatcherAssert.cs b/test/Microsoft.AspNetCore.Routing.Tests/Matchers/MatcherAssert.cs similarity index 98% rename from test/Microsoft.AspNetCore.Routing.Tests/Matchers/DispatcherAssert.cs rename to test/Microsoft.AspNetCore.Routing.Tests/Matchers/MatcherAssert.cs index 58a5e05ded..0f9364c8db 100644 --- a/test/Microsoft.AspNetCore.Routing.Tests/Matchers/DispatcherAssert.cs +++ b/test/Microsoft.AspNetCore.Routing.Tests/Matchers/MatcherAssert.cs @@ -8,7 +8,7 @@ using Xunit.Sdk; namespace Microsoft.AspNetCore.Routing.Matchers { - internal static class DispatcherAssert + internal static class MatcherAssert { public static void AssertMatch(IEndpointFeature feature, Endpoint expected) { diff --git a/test/Microsoft.AspNetCore.Routing.Tests/Matchers/MatcherConformanceTest.SingleEndpoint.cs b/test/Microsoft.AspNetCore.Routing.Tests/Matchers/MatcherConformanceTest.SingleEndpoint.cs index 529dfdacb6..caeaf1a7e8 100644 --- a/test/Microsoft.AspNetCore.Routing.Tests/Matchers/MatcherConformanceTest.SingleEndpoint.cs +++ b/test/Microsoft.AspNetCore.Routing.Tests/Matchers/MatcherConformanceTest.SingleEndpoint.cs @@ -19,7 +19,7 @@ namespace Microsoft.AspNetCore.Routing.Matchers await matcher.MatchAsync(httpContext, feature); // Assert - DispatcherAssert.AssertMatch(feature, endpoint); + MatcherAssert.AssertMatch(feature, endpoint); } [Fact] @@ -33,7 +33,7 @@ namespace Microsoft.AspNetCore.Routing.Matchers await matcher.MatchAsync(httpContext, feature); // Assert - DispatcherAssert.AssertMatch(feature, endpoint); + MatcherAssert.AssertMatch(feature, endpoint); } [Fact] @@ -47,7 +47,7 @@ namespace Microsoft.AspNetCore.Routing.Matchers await matcher.MatchAsync(httpContext, feature); // Assert - DispatcherAssert.AssertMatch(feature, endpoint); + MatcherAssert.AssertMatch(feature, endpoint); } [Theory] @@ -64,7 +64,7 @@ namespace Microsoft.AspNetCore.Routing.Matchers await matcher.MatchAsync(httpContext, feature); // Assert - DispatcherAssert.AssertMatch(feature, endpoint); + MatcherAssert.AssertMatch(feature, endpoint); } // Some matchers will optimize for the ASCII case @@ -81,7 +81,7 @@ namespace Microsoft.AspNetCore.Routing.Matchers await matcher.MatchAsync(httpContext, feature); // Assert - DispatcherAssert.AssertMatch(feature, endpoint); + MatcherAssert.AssertMatch(feature, endpoint); } // Matchers should operate on the decoded representation - a matcher that calls @@ -99,7 +99,7 @@ namespace Microsoft.AspNetCore.Routing.Matchers await matcher.MatchAsync(httpContext, feature); // Assert - DispatcherAssert.AssertMatch(feature, endpoint); + MatcherAssert.AssertMatch(feature, endpoint); } [Theory] @@ -119,7 +119,7 @@ namespace Microsoft.AspNetCore.Routing.Matchers await matcher.MatchAsync(httpContext, feature); // Assert - DispatcherAssert.AssertNotMatch(feature); + MatcherAssert.AssertNotMatch(feature); } [Theory] @@ -136,7 +136,7 @@ namespace Microsoft.AspNetCore.Routing.Matchers await matcher.MatchAsync(httpContext, feature); // Assert - DispatcherAssert.AssertMatch(feature, endpoint); + MatcherAssert.AssertMatch(feature, endpoint); } // Matchers do their own 'splitting' of the path into segments, so including @@ -159,7 +159,7 @@ namespace Microsoft.AspNetCore.Routing.Matchers await matcher.MatchAsync(httpContext, feature); // Assert - DispatcherAssert.AssertMatch(feature, endpoint); + MatcherAssert.AssertMatch(feature, endpoint); } // Matchers do their own 'splitting' of the path into segments, so including @@ -190,7 +190,7 @@ namespace Microsoft.AspNetCore.Routing.Matchers await matcher.MatchAsync(httpContext, feature); // Assert - DispatcherAssert.AssertNotMatch(feature); + MatcherAssert.AssertNotMatch(feature); } [Fact] @@ -205,7 +205,7 @@ namespace Microsoft.AspNetCore.Routing.Matchers await matcher.MatchAsync(httpContext, feature); // Assert - DispatcherAssert.AssertMatch(feature, endpoint, values); + MatcherAssert.AssertMatch(feature, endpoint, values); } [Fact] @@ -220,7 +220,7 @@ namespace Microsoft.AspNetCore.Routing.Matchers await matcher.MatchAsync(httpContext, feature); // Assert - DispatcherAssert.AssertMatch(feature, endpoint, values); + MatcherAssert.AssertMatch(feature, endpoint, values); } [Fact] @@ -235,7 +235,7 @@ namespace Microsoft.AspNetCore.Routing.Matchers await matcher.MatchAsync(httpContext, feature); // Assert - DispatcherAssert.AssertMatch(feature, endpoint, values); + MatcherAssert.AssertMatch(feature, endpoint, values); } [Fact] @@ -255,7 +255,7 @@ namespace Microsoft.AspNetCore.Routing.Matchers await matcher.MatchAsync(httpContext, feature); // Assert - DispatcherAssert.AssertMatch(feature, endpoint, values); + MatcherAssert.AssertMatch(feature, endpoint, values); } [Theory] @@ -273,7 +273,7 @@ namespace Microsoft.AspNetCore.Routing.Matchers await matcher.MatchAsync(httpContext, feature); // Assert - DispatcherAssert.AssertNotMatch(feature); + MatcherAssert.AssertNotMatch(feature); } [Theory] @@ -294,7 +294,7 @@ namespace Microsoft.AspNetCore.Routing.Matchers await matcher.MatchAsync(httpContext, feature); // Assert - DispatcherAssert.AssertMatch(feature, endpoint, keys, values); + MatcherAssert.AssertMatch(feature, endpoint, keys, values); } [Theory] @@ -323,7 +323,7 @@ namespace Microsoft.AspNetCore.Routing.Matchers await matcher.MatchAsync(httpContext, feature); // Assert - DispatcherAssert.AssertNotMatch(feature); + MatcherAssert.AssertNotMatch(feature); } } } diff --git a/test/Microsoft.AspNetCore.Routing.Tests/RequestDelegateRouteBuilderExtensionsTest.cs b/test/Microsoft.AspNetCore.Routing.Tests/RequestDelegateRouteBuilderExtensionsTest.cs index 534c193a93..825204db5d 100644 --- a/test/Microsoft.AspNetCore.Routing.Tests/RequestDelegateRouteBuilderExtensionsTest.cs +++ b/test/Microsoft.AspNetCore.Routing.Tests/RequestDelegateRouteBuilderExtensionsTest.cs @@ -16,7 +16,7 @@ namespace Microsoft.AspNetCore.Routing // add routes that behave as advertised. public class RequestDelegateRouteBuilderExtensionsTest { - private static readonly RequestDelegate NullHandler = (c) => Task.FromResult(0); + private static readonly RequestDelegate NullHandler = (c) => Task.CompletedTask; public static TheoryData, Action> MatchingActions { diff --git a/test/Microsoft.AspNetCore.Routing.Tests/RouteCollectionTest.cs b/test/Microsoft.AspNetCore.Routing.Tests/RouteCollectionTest.cs index b7eab2f10b..c7e33f2754 100644 --- a/test/Microsoft.AspNetCore.Routing.Tests/RouteCollectionTest.cs +++ b/test/Microsoft.AspNetCore.Routing.Tests/RouteCollectionTest.cs @@ -19,7 +19,7 @@ namespace Microsoft.AspNetCore.Routing { public class RouteCollectionTest { - private static readonly RequestDelegate NullHandler = (c) => Task.FromResult(0); + private static readonly RequestDelegate NullHandler = (c) => Task.CompletedTask; [Theory] [InlineData(@"Home/Index/23", "/home/index/23", true, false)] diff --git a/test/Microsoft.AspNetCore.Routing.Tests/RouteTest.cs b/test/Microsoft.AspNetCore.Routing.Tests/RouteTest.cs index 805fed68bc..1a52c9dec6 100644 --- a/test/Microsoft.AspNetCore.Routing.Tests/RouteTest.cs +++ b/test/Microsoft.AspNetCore.Routing.Tests/RouteTest.cs @@ -24,7 +24,7 @@ namespace Microsoft.AspNetCore.Routing { public class RouteTest { - private static readonly RequestDelegate NullHandler = (c) => Task.FromResult(0); + private static readonly RequestDelegate NullHandler = (c) => Task.CompletedTask; private static IInlineConstraintResolver _inlineConstraintResolver = GetInlineConstraintResolver(); [Fact] diff --git a/test/Microsoft.AspNetCore.Routing.Tests/RouterMiddlewareTest.cs b/test/Microsoft.AspNetCore.Routing.Tests/RouterMiddlewareTest.cs index 8159c294e3..7f6bd73963 100644 --- a/test/Microsoft.AspNetCore.Routing.Tests/RouterMiddlewareTest.cs +++ b/test/Microsoft.AspNetCore.Routing.Tests/RouterMiddlewareTest.cs @@ -90,7 +90,7 @@ namespace Microsoft.AspNetCore.Routing public Task RouteAsync(RouteContext context) { - context.Handler = _isHandled ? (RequestDelegate)((c) => Task.FromResult(0)) : null; + context.Handler = _isHandled ? (RequestDelegate)((c) => Task.CompletedTask) : null; return Task.FromResult(null); } } diff --git a/test/Microsoft.AspNetCore.Routing.Tests/Tree/TreeRouterTest.cs b/test/Microsoft.AspNetCore.Routing.Tests/Tree/TreeRouterTest.cs index 8538c10e06..6a1fb47e0d 100644 --- a/test/Microsoft.AspNetCore.Routing.Tests/Tree/TreeRouterTest.cs +++ b/test/Microsoft.AspNetCore.Routing.Tests/Tree/TreeRouterTest.cs @@ -20,7 +20,7 @@ namespace Microsoft.AspNetCore.Routing.Tree { public class TreeRouterTest { - private static readonly RequestDelegate NullHandler = (c) => Task.FromResult(0); + private static readonly RequestDelegate NullHandler = (c) => Task.CompletedTask; private static ObjectPool Pool = new DefaultObjectPoolProvider().Create( new UriBuilderContextPooledObjectPolicy()); @@ -1820,7 +1820,7 @@ namespace Microsoft.AspNetCore.Routing.Tree nestedRouters = new List(c.RouteData.Routers); c.Handler = null; // Not a match }) - .Returns(Task.FromResult(0)); + .Returns(Task.CompletedTask); var builder = CreateBuilder(); MapInboundEntry(builder, "api/Store", handler: next.Object); @@ -1857,7 +1857,7 @@ namespace Microsoft.AspNetCore.Routing.Tree nestedRouters = new List(c.RouteData.Routers); c.Handler = null; // Not a match }) - .Returns(Task.FromResult(0)); + .Returns(Task.CompletedTask); var builder = CreateBuilder(); MapInboundEntry(builder, "api/Store", handler: next.Object); @@ -1901,7 +1901,7 @@ namespace Microsoft.AspNetCore.Routing.Tree nestedRouters = new List(c.RouteData.Routers); throw new Exception(); }) - .Returns(Task.FromResult(0)); + .Returns(Task.CompletedTask); var builder = CreateBuilder(); MapInboundEntry(builder, "api/Store", handler: next.Object); From 1e807240ea4f089ddab19a75cbedd34c69d272b0 Mon Sep 17 00:00:00 2001 From: James Newton-King Date: Mon, 23 Jul 2018 13:46:22 +1200 Subject: [PATCH 085/221] Add GetChangeToken to EndpointDataSource (#649) --- .../CompositeEndpointDataSource.cs | 4 ++-- .../DataSourceDependentCache.cs | 2 +- src/Microsoft.AspNetCore.Routing/EndpointDataSource.cs | 10 +++++++++- .../RouteValuesBasedEndpointFinder.cs | 8 ++++---- .../CompositeEndpointDataSourceTest.cs | 6 +++--- 5 files changed, 19 insertions(+), 11 deletions(-) diff --git a/src/Microsoft.AspNetCore.Routing/CompositeEndpointDataSource.cs b/src/Microsoft.AspNetCore.Routing/CompositeEndpointDataSource.cs index a0009a7091..bb4836da32 100644 --- a/src/Microsoft.AspNetCore.Routing/CompositeEndpointDataSource.cs +++ b/src/Microsoft.AspNetCore.Routing/CompositeEndpointDataSource.cs @@ -69,8 +69,8 @@ namespace Microsoft.AspNetCore.Routing foreach (var dataSource in _dataSources) { Extensions.Primitives.ChangeToken.OnChange( - () => dataSource.ChangeToken, - () => HandleChange()); + dataSource.GetChangeToken, + HandleChange); } } } diff --git a/src/Microsoft.AspNetCore.Routing/DataSourceDependentCache.cs b/src/Microsoft.AspNetCore.Routing/DataSourceDependentCache.cs index 46ecba5fd2..8df45ef090 100644 --- a/src/Microsoft.AspNetCore.Routing/DataSourceDependentCache.cs +++ b/src/Microsoft.AspNetCore.Routing/DataSourceDependentCache.cs @@ -47,7 +47,7 @@ namespace Microsoft.AspNetCore.Routing { lock (_lock) { - var changeToken = _dataSource.ChangeToken; + var changeToken = _dataSource.GetChangeToken(); _value = _initializeCore(_dataSource.Endpoints); changeToken.RegisterChangeCallback(_initializerWithState, null); diff --git a/src/Microsoft.AspNetCore.Routing/EndpointDataSource.cs b/src/Microsoft.AspNetCore.Routing/EndpointDataSource.cs index a102ff2e39..74c79c3bbb 100644 --- a/src/Microsoft.AspNetCore.Routing/EndpointDataSource.cs +++ b/src/Microsoft.AspNetCore.Routing/EndpointDataSource.cs @@ -8,7 +8,15 @@ namespace Microsoft.AspNetCore.Routing { public abstract class EndpointDataSource { - public abstract IChangeToken ChangeToken { get; } + public virtual IChangeToken ChangeToken { get; } + + // Plan is to replace ChangeToken property with GetChangeToken + // Temporarily have both to avoid breaking MVC + // https://github.com/aspnet/Routing/issues/634 + public virtual IChangeToken GetChangeToken() + { + return ChangeToken; + } public abstract IReadOnlyList Endpoints { get; } } diff --git a/src/Microsoft.AspNetCore.Routing/RouteValuesBasedEndpointFinder.cs b/src/Microsoft.AspNetCore.Routing/RouteValuesBasedEndpointFinder.cs index d12456817d..eb51c49967 100644 --- a/src/Microsoft.AspNetCore.Routing/RouteValuesBasedEndpointFinder.cs +++ b/src/Microsoft.AspNetCore.Routing/RouteValuesBasedEndpointFinder.cs @@ -32,8 +32,8 @@ namespace Microsoft.AspNetCore.Routing // Register for changes in endpoints Extensions.Primitives.ChangeToken.OnChange( - () => _endpointDataSource.ChangeToken, - () => HandleChange()); + _endpointDataSource.GetChangeToken, + HandleChange); } public IEnumerable FindEndpoints(RouteValuesBasedEndpointFinderContext context) @@ -70,8 +70,8 @@ namespace Microsoft.AspNetCore.Routing // re-register the callback as the change token is one time use only and a new change token // is produced every time Extensions.Primitives.ChangeToken.OnChange( - () => _endpointDataSource.ChangeToken, - () => HandleChange()); + _endpointDataSource.GetChangeToken, + HandleChange); } private void BuildOutboundMatches() diff --git a/test/Microsoft.AspNetCore.Routing.Tests/CompositeEndpointDataSourceTest.cs b/test/Microsoft.AspNetCore.Routing.Tests/CompositeEndpointDataSourceTest.cs index 74a975b2cd..52ba52dafc 100644 --- a/test/Microsoft.AspNetCore.Routing.Tests/CompositeEndpointDataSourceTest.cs +++ b/test/Microsoft.AspNetCore.Routing.Tests/CompositeEndpointDataSourceTest.cs @@ -114,7 +114,7 @@ namespace Microsoft.AspNetCore.Routing var endpoints = compositeDataSource.Endpoints; // Assert1 - var changeToken1 = compositeDataSource.ChangeToken; + var changeToken1 = compositeDataSource.GetChangeToken(); var token = Assert.IsType(changeToken1); Assert.False(token.HasChanged); // initial state @@ -126,7 +126,7 @@ namespace Microsoft.AspNetCore.Routing // Assert2 Assert.True(changeToken1.HasChanged); // old token is expected to be changed - var changeToken2 = compositeDataSource.ChangeToken; // new token is in a unchanged state + var changeToken2 = compositeDataSource.GetChangeToken(); // new token is in a unchanged state Assert.NotSame(changeToken2, changeToken1); token = Assert.IsType(changeToken2); Assert.False(token.HasChanged); @@ -139,7 +139,7 @@ namespace Microsoft.AspNetCore.Routing // Assert2 Assert.True(changeToken2.HasChanged); // old token is expected to be changed - var changeToken3 = compositeDataSource.ChangeToken; // new token is in a unchanged state + var changeToken3 = compositeDataSource.GetChangeToken(); // new token is in a unchanged state Assert.NotSame(changeToken3, changeToken2); Assert.NotSame(changeToken3, changeToken1); token = Assert.IsType(changeToken3); From 2c325440de91eb58e3bc0f26469acb566cdf36c7 Mon Sep 17 00:00:00 2001 From: Ryan Nowak Date: Sun, 22 Jul 2018 19:52:19 -0700 Subject: [PATCH 086/221] Remove AddDispatcher/UseDispatcher --- ...obalRoutingApplicationBuilderExtensions.cs | 6 --- .../DispatcherServiceCollectionExtensions.cs | 40 ------------------- 2 files changed, 46 deletions(-) delete mode 100644 src/Microsoft.AspNetCore.Routing/DependencyInjection/DispatcherServiceCollectionExtensions.cs diff --git a/src/Microsoft.AspNetCore.Routing/Builder/GlobalRoutingApplicationBuilderExtensions.cs b/src/Microsoft.AspNetCore.Routing/Builder/GlobalRoutingApplicationBuilderExtensions.cs index e240a75211..1e231c2255 100644 --- a/src/Microsoft.AspNetCore.Routing/Builder/GlobalRoutingApplicationBuilderExtensions.cs +++ b/src/Microsoft.AspNetCore.Routing/Builder/GlobalRoutingApplicationBuilderExtensions.cs @@ -12,12 +12,6 @@ namespace Microsoft.AspNetCore.Builder { private const string GlobalRoutingRegisteredKey = "__GlobalRoutingMiddlewareRegistered"; - // This is provided temporarily until we can remove usages of it from MVC. - public static IApplicationBuilder UseDispatcher(this IApplicationBuilder builder) - { - return UseGlobalRouting(builder); - } - public static IApplicationBuilder UseGlobalRouting(this IApplicationBuilder builder) { VerifyRoutingIsRegistered(builder); diff --git a/src/Microsoft.AspNetCore.Routing/DependencyInjection/DispatcherServiceCollectionExtensions.cs b/src/Microsoft.AspNetCore.Routing/DependencyInjection/DispatcherServiceCollectionExtensions.cs deleted file mode 100644 index 6500f02986..0000000000 --- a/src/Microsoft.AspNetCore.Routing/DependencyInjection/DispatcherServiceCollectionExtensions.cs +++ /dev/null @@ -1,40 +0,0 @@ -// Copyright (c) .NET Foundation. All rights reserved. -// Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information. - -using System; -using Microsoft.AspNetCore.Routing; - -namespace Microsoft.Extensions.DependencyInjection -{ - // This whole class is temporary until we can remove its usage from MVC - public static class DispatcherServiceCollectionExtensions - { - // This whole class is temporary until we can remove its usage from MVC - public static IServiceCollection AddDispatcher(this IServiceCollection services) - { - if (services == null) - { - throw new ArgumentNullException(nameof(services)); - } - - return services.AddRouting(); - } - - // This whole class is temporary until we can remove its usage from MVC - public static IServiceCollection AddDispatcher(this IServiceCollection services, Action configuration) - { - if (services == null) - { - throw new ArgumentNullException(nameof(services)); - } - - services.AddRouting(); - if (configuration != null) - { - services.Configure(configuration); - } - - return services; - } - } -} From 42e9b58bb76cb576f9ddaac88a2dd939de9c9549 Mon Sep 17 00:00:00 2001 From: Nate McMaster Date: Mon, 23 Jul 2018 09:34:06 -0700 Subject: [PATCH 087/221] Revert "Merge branch 'master' into release/2.2" This reverts commit 52e5852e4827b5b2f580564945367437a6a1416d, reversing changes made to 1e807240ea4f089ddab19a75cbedd34c69d272b0. --- .appveyor.yml | 2 +- .travis.yml | 2 +- .vsts-pipelines/builds/ci-internal.yml | 2 +- .vsts-pipelines/builds/ci-public.yml | 2 +- benchmarkapps/Benchmarks/benchmarks.json | 4 +- build/dependencies.props | 54 ++++++++++++------------ build/repo.props | 1 + korebuild-lock.txt | 4 +- korebuild.json | 4 +- run.ps1 | 6 +-- run.sh | 2 +- version.props | 6 +-- 12 files changed, 45 insertions(+), 44 deletions(-) diff --git a/.appveyor.yml b/.appveyor.yml index 2262756c19..119f1e7ea1 100644 --- a/.appveyor.yml +++ b/.appveyor.yml @@ -2,7 +2,7 @@ init: - git config --global core.autocrlf true branches: only: - - master + - dev - /^release\/.*$/ - /^(.*\/)?ci-.*$/ build_script: diff --git a/.travis.yml b/.travis.yml index ab3980055c..64bdbb4441 100644 --- a/.travis.yml +++ b/.travis.yml @@ -16,7 +16,7 @@ addons: - libunwind8 branches: only: - - master + - dev - /^release\/.*$/ - /^(.*\/)?ci-.*$/ before_install: diff --git a/.vsts-pipelines/builds/ci-internal.yml b/.vsts-pipelines/builds/ci-internal.yml index c2c5336fd0..dc7b8a3cb9 100644 --- a/.vsts-pipelines/builds/ci-internal.yml +++ b/.vsts-pipelines/builds/ci-internal.yml @@ -7,7 +7,7 @@ resources: - repository: buildtools type: git name: aspnet-BuildTools - ref: refs/heads/master + ref: refs/heads/release/2.2 phases: - template: .vsts-pipelines/templates/project-ci.yml@buildtools diff --git a/.vsts-pipelines/builds/ci-public.yml b/.vsts-pipelines/builds/ci-public.yml index 507c89b025..f5087d9c30 100644 --- a/.vsts-pipelines/builds/ci-public.yml +++ b/.vsts-pipelines/builds/ci-public.yml @@ -9,7 +9,7 @@ resources: type: github endpoint: DotNet-Bot GitHub Connection name: aspnet/BuildTools - ref: refs/heads/master + ref: refs/heads/release/2.2 phases: - template: .vsts-pipelines/templates/project-ci.yml@buildtools diff --git a/benchmarkapps/Benchmarks/benchmarks.json b/benchmarkapps/Benchmarks/benchmarks.json index a98a47fc5a..794ea8c770 100644 --- a/benchmarkapps/Benchmarks/benchmarks.json +++ b/benchmarkapps/Benchmarks/benchmarks.json @@ -8,7 +8,7 @@ }, "Source": { "Repository": "https://github.com/aspnet/routing.git", - "BranchOrCommit": "dev", + "BranchOrCommit": "release/2.2", "Project": "benchmarkapps/Benchmarks/Benchmarks.csproj" }, "Port": 8080 @@ -25,4 +25,4 @@ "PlaintextGlobalRouting": { "Path": "/plaintext" } -} \ No newline at end of file +} diff --git a/build/dependencies.props b/build/dependencies.props index a2fec6e267..1596743b87 100644 --- a/build/dependencies.props +++ b/build/dependencies.props @@ -4,33 +4,33 @@ 0.10.13 - 3.0.0-alpha1-10011 - 3.0.0-alpha1-10123 - 3.0.0-alpha1-10123 - 3.0.0-alpha1-10123 - 3.0.0-alpha1-10123 - 3.0.0-alpha1-10123 - 3.0.0-alpha1-10123 - 3.0.0-alpha1-10123 - 3.0.0-alpha1-10123 - 3.0.0-alpha1-10123 - 3.0.0-alpha1-10123 - 3.0.0-alpha1-10123 - 3.0.0-alpha1-10123 - 3.0.0-alpha1-10123 - 3.0.0-alpha1-10123 - 3.0.0-alpha1-10123 - 3.0.0-alpha1-10123 - 3.0.0-alpha1-10123 - 3.0.0-alpha1-10123 - 3.0.0-alpha1-10123 - 3.0.0-alpha1-10123 - 3.0.0-alpha1-10123 - 3.0.0-alpha1-10123 - 3.0.0-alpha1-10123 - 3.0.0-alpha1-10123 - 3.0.0-alpha1-10123 - 3.0.0-alpha1-10123 + 2.2.0-preview1-17099 + 2.2.0-preview1-34755 + 2.2.0-preview1-34755 + 2.2.0-preview1-34755 + 2.2.0-preview1-34755 + 2.2.0-preview1-34755 + 2.2.0-preview1-34755 + 2.2.0-preview1-34755 + 2.2.0-preview1-34755 + 2.2.0-preview1-34755 + 2.2.0-preview1-34755 + 2.2.0-preview1-34755 + 2.2.0-preview1-34755 + 2.2.0-preview1-34755 + 2.2.0-preview1-34755 + 2.2.0-preview1-34755 + 2.2.0-preview1-34755 + 2.2.0-preview1-34755 + 2.2.0-preview1-34755 + 2.2.0-preview1-34755 + 2.2.0-preview1-34755 + 2.2.0-preview1-34755 + 2.2.0-preview1-34755 + 2.2.0-preview1-34755 + 2.2.0-preview1-34755 + 2.2.0-preview1-34755 + 2.2.0-preview1-34755 2.0.9 2.1.2 2.2.0-preview1-26618-02 diff --git a/build/repo.props b/build/repo.props index 17a98ac7e7..f1fe24dd27 100644 --- a/build/repo.props +++ b/build/repo.props @@ -4,6 +4,7 @@ Internal.AspNetCore.Universe.Lineup + 2.2.0-* https://dotnet.myget.org/F/aspnetcore-dev/api/v3/index.json diff --git a/korebuild-lock.txt b/korebuild-lock.txt index 9a67ee9c28..27e2e80f9a 100644 --- a/korebuild-lock.txt +++ b/korebuild-lock.txt @@ -1,2 +1,2 @@ -version:3.0.0-alpha1-10011 -commithash:717c2eb1f91dafd2580c1a9b8e5064d12dd8c054 +version:2.2.0-preview1-17099 +commithash:263ed1db9866b6b419b1f5d5189a712aa218acb3 diff --git a/korebuild.json b/korebuild.json index 8a276a7f35..d217d06e3e 100644 --- a/korebuild.json +++ b/korebuild.json @@ -1,4 +1,4 @@ { - "$schema": "https://raw.githubusercontent.com/aspnet/BuildTools/master/tools/korebuild.schema.json", - "channel": "master" + "$schema": "https://raw.githubusercontent.com/aspnet/BuildTools/release/2.2/tools/korebuild.schema.json", + "channel": "release/2.2" } diff --git a/run.ps1 b/run.ps1 index 34604c7175..3b27382468 100644 --- a/run.ps1 +++ b/run.ps1 @@ -52,8 +52,8 @@ in the file are overridden by command line parameters. Example config file: ```json { - "$schema": "https://raw.githubusercontent.com/aspnet/BuildTools/master/tools/korebuild.schema.json", - "channel": "master", + "$schema": "https://raw.githubusercontent.com/aspnet/BuildTools/dev/tools/korebuild.schema.json", + "channel": "dev", "toolsSource": "https://aspnetcore.blob.core.windows.net/buildtools" } ``` @@ -192,7 +192,7 @@ if (!$DotNetHome) { else { Join-Path $PSScriptRoot '.dotnet'} } -if (!$Channel) { $Channel = 'master' } +if (!$Channel) { $Channel = 'dev' } if (!$ToolsSource) { $ToolsSource = 'https://aspnetcore.blob.core.windows.net/buildtools' } # Execute diff --git a/run.sh b/run.sh index 61f7a53385..02aac15874 100755 --- a/run.sh +++ b/run.sh @@ -248,7 +248,7 @@ if [ -f "$config_file" ]; then [ ! -z "${config_tools_source:-}" ] && tools_source="$config_tools_source" fi -[ -z "$channel" ] && channel='master' +[ -z "$channel" ] && channel='dev' [ -z "$tools_source" ] && tools_source='https://aspnetcore.blob.core.windows.net/buildtools' get_korebuild diff --git a/version.props b/version.props index 71a78cddd8..44985cedb3 100644 --- a/version.props +++ b/version.props @@ -1,7 +1,7 @@ - + - 3.0.0 - alpha1 + 2.2.0 + preview1 $(VersionPrefix) $(VersionPrefix)-$(VersionSuffix)-final t000 From a6fe68a301a0858d52bd72a73bca8b3a70248275 Mon Sep 17 00:00:00 2001 From: Nate McMaster Date: Mon, 23 Jul 2018 10:25:16 -0700 Subject: [PATCH 088/221] Cleanup branch revert --- .appveyor.yml | 2 +- .travis.yml | 2 +- README.md | 4 ++-- run.ps1 | 6 +++--- run.sh | 2 +- 5 files changed, 8 insertions(+), 8 deletions(-) diff --git a/.appveyor.yml b/.appveyor.yml index 119f1e7ea1..2262756c19 100644 --- a/.appveyor.yml +++ b/.appveyor.yml @@ -2,7 +2,7 @@ init: - git config --global core.autocrlf true branches: only: - - dev + - master - /^release\/.*$/ - /^(.*\/)?ci-.*$/ build_script: diff --git a/.travis.yml b/.travis.yml index 64bdbb4441..ab3980055c 100644 --- a/.travis.yml +++ b/.travis.yml @@ -16,7 +16,7 @@ addons: - libunwind8 branches: only: - - dev + - master - /^release\/.*$/ - /^(.*\/)?ci-.*$/ before_install: diff --git a/README.md b/README.md index 3c0794570b..b3202c355a 100644 --- a/README.md +++ b/README.md @@ -1,9 +1,9 @@ ASP.NET Routing === -AppVeyor: [![AppVeyor](https://ci.appveyor.com/api/projects/status/fe4o5h1s9ve86nyv/branch/dev?svg=true)](https://ci.appveyor.com/project/aspnetci/Routing/branch/dev) +AppVeyor: [![AppVeyor](https://ci.appveyor.com/api/projects/status/fe4o5h1s9ve86nyv/branch/master?svg=true)](https://ci.appveyor.com/project/aspnetci/Routing/branch/master) -Travis: [![Travis](https://travis-ci.org/aspnet/Routing.svg?branch=dev)](https://travis-ci.org/aspnet/Routing) +Travis: [![Travis](https://travis-ci.org/aspnet/Routing.svg?branch=master)](https://travis-ci.org/aspnet/Routing) Contains routing middleware for routing requests to application logic. diff --git a/run.ps1 b/run.ps1 index 3b27382468..34604c7175 100644 --- a/run.ps1 +++ b/run.ps1 @@ -52,8 +52,8 @@ in the file are overridden by command line parameters. Example config file: ```json { - "$schema": "https://raw.githubusercontent.com/aspnet/BuildTools/dev/tools/korebuild.schema.json", - "channel": "dev", + "$schema": "https://raw.githubusercontent.com/aspnet/BuildTools/master/tools/korebuild.schema.json", + "channel": "master", "toolsSource": "https://aspnetcore.blob.core.windows.net/buildtools" } ``` @@ -192,7 +192,7 @@ if (!$DotNetHome) { else { Join-Path $PSScriptRoot '.dotnet'} } -if (!$Channel) { $Channel = 'dev' } +if (!$Channel) { $Channel = 'master' } if (!$ToolsSource) { $ToolsSource = 'https://aspnetcore.blob.core.windows.net/buildtools' } # Execute diff --git a/run.sh b/run.sh index 02aac15874..61f7a53385 100755 --- a/run.sh +++ b/run.sh @@ -248,7 +248,7 @@ if [ -f "$config_file" ]; then [ ! -z "${config_tools_source:-}" ] && tools_source="$config_tools_source" fi -[ -z "$channel" ] && channel='dev' +[ -z "$channel" ] && channel='master' [ -z "$tools_source" ] && tools_source='https://aspnetcore.blob.core.windows.net/buildtools' get_korebuild From 5f1631ab46e415cadf3a12ceef6c6164a06ac275 Mon Sep 17 00:00:00 2001 From: Kiran Challa Date: Thu, 19 Jul 2018 11:00:45 -0700 Subject: [PATCH 089/221] Added support for configuring route options with LinkGenerator --- .../LinkGenerator.cs | 15 +- .../LinkGeneratorContext.cs | 36 + .../DefaultLinkGenerator.cs | 101 ++- .../RouteOptions.cs | 2 +- .../DefaultLinkGeneratorTest.cs | 691 ++++++++++++++---- 5 files changed, 652 insertions(+), 193 deletions(-) create mode 100644 src/Microsoft.AspNetCore.Routing.Abstractions/LinkGeneratorContext.cs diff --git a/src/Microsoft.AspNetCore.Routing.Abstractions/LinkGenerator.cs b/src/Microsoft.AspNetCore.Routing.Abstractions/LinkGenerator.cs index c507434429..df5c1b5910 100644 --- a/src/Microsoft.AspNetCore.Routing.Abstractions/LinkGenerator.cs +++ b/src/Microsoft.AspNetCore.Routing.Abstractions/LinkGenerator.cs @@ -1,24 +1,13 @@ // Copyright (c) .NET Foundation. All rights reserved. // Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information. -using System.Collections.Generic; -using Microsoft.AspNetCore.Http; namespace Microsoft.AspNetCore.Routing { public abstract class LinkGenerator { - public abstract bool TryGetLink( - HttpContext httpContext, - IEnumerable endpoints, - RouteValueDictionary explicitValues, - RouteValueDictionary ambientValues, - out string link); + public abstract bool TryGetLink(LinkGeneratorContext context, out string link); - public abstract string GetLink( - HttpContext httpContext, - IEnumerable endpoints, - RouteValueDictionary explicitValues, - RouteValueDictionary ambientValues); + public abstract string GetLink(LinkGeneratorContext context); } } diff --git a/src/Microsoft.AspNetCore.Routing.Abstractions/LinkGeneratorContext.cs b/src/Microsoft.AspNetCore.Routing.Abstractions/LinkGeneratorContext.cs new file mode 100644 index 0000000000..c1e04c17e0 --- /dev/null +++ b/src/Microsoft.AspNetCore.Routing.Abstractions/LinkGeneratorContext.cs @@ -0,0 +1,36 @@ +// Copyright (c) .NET Foundation. All rights reserved. +// Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information. + +using System.Collections.Generic; +using Microsoft.AspNetCore.Http; + +namespace Microsoft.AspNetCore.Routing +{ + public class LinkGeneratorContext + { + public HttpContext HttpContext { get; set; } + + public IEnumerable Endpoints { get; set; } + + public RouteValueDictionary ExplicitValues { get; set; } + + public RouteValueDictionary AmbientValues { get; set; } + + /// + /// Gets or sets a value indicating whether all generated paths URLs are lower-case. + /// Use to configure the behavior for query strings. + /// + public bool? LowercaseUrls { get; set; } + + /// + /// Gets or sets a value indicating whether a generated query strings are lower-case. + /// This property will be unless is also true. + /// + public bool? LowercaseQueryStrings { get; set; } + + /// + /// Gets or sets a value indicating whether a trailing slash should be appended to the generated URLs. + /// + public bool? AppendTrailingSlash { get; set; } + } +} diff --git a/src/Microsoft.AspNetCore.Routing/DefaultLinkGenerator.cs b/src/Microsoft.AspNetCore.Routing/DefaultLinkGenerator.cs index a52382e50d..73ccbe092a 100644 --- a/src/Microsoft.AspNetCore.Routing/DefaultLinkGenerator.cs +++ b/src/Microsoft.AspNetCore.Routing/DefaultLinkGenerator.cs @@ -2,7 +2,6 @@ // Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information. using System; -using System.Collections.Generic; using System.Linq; using System.Text.Encodings.Web; using Microsoft.AspNetCore.Http; @@ -11,32 +10,38 @@ using Microsoft.AspNetCore.Routing.Matchers; using Microsoft.AspNetCore.Routing.Template; using Microsoft.Extensions.Logging; using Microsoft.Extensions.ObjectPool; +using Microsoft.Extensions.Options; namespace Microsoft.AspNetCore.Routing { internal class DefaultLinkGenerator : LinkGenerator { + private readonly static char[] UrlQueryDelimiters = new char[] { '?', '#' }; private readonly MatchProcessorFactory _matchProcessorFactory; private readonly ObjectPool _uriBuildingContextPool; + private readonly RouteOptions _options; private readonly ILogger _logger; public DefaultLinkGenerator( MatchProcessorFactory matchProcessorFactory, ObjectPool uriBuildingContextPool, + IOptions routeOptions, ILogger logger) { _matchProcessorFactory = matchProcessorFactory; _uriBuildingContextPool = uriBuildingContextPool; + _options = routeOptions.Value; _logger = logger; } - public override string GetLink( - HttpContext httpContext, - IEnumerable endpoints, - RouteValueDictionary explicitValues, - RouteValueDictionary ambientValues) + public override string GetLink(LinkGeneratorContext context) { - if (TryGetLink(httpContext, endpoints, explicitValues, ambientValues, out var link)) + if (context == null) + { + throw new ArgumentNullException(nameof(context)); + } + + if (TryGetLink(context, out var link)) { return link; } @@ -44,21 +49,21 @@ namespace Microsoft.AspNetCore.Routing throw new InvalidOperationException("Could not find a matching endpoint to generate a link."); } - public override bool TryGetLink( - HttpContext httpContext, - IEnumerable endpoints, - RouteValueDictionary explicitValues, - RouteValueDictionary ambientValues, - out string link) + public override bool TryGetLink(LinkGeneratorContext context, out string link) { + if (context == null) + { + throw new ArgumentNullException(nameof(context)); + } + link = null; - if (endpoints == null) + if (context.Endpoints == null) { return false; } - var matcherEndpoints = endpoints.OfType(); + var matcherEndpoints = context.Endpoints.OfType(); if (!matcherEndpoints.Any()) { //todo:log here @@ -67,7 +72,7 @@ namespace Microsoft.AspNetCore.Routing foreach (var endpoint in matcherEndpoints) { - link = GetLink(httpContext, endpoint, explicitValues, ambientValues); + link = GetLink(endpoint, context); if (link != null) { return true; @@ -77,11 +82,7 @@ namespace Microsoft.AspNetCore.Routing return false; } - private string GetLink( - HttpContext httpContext, - MatcherEndpoint endpoint, - RouteValueDictionary explicitValues, - RouteValueDictionary ambientValues) + private string GetLink(MatcherEndpoint endpoint, LinkGeneratorContext context) { var templateBinder = new TemplateBinder( UrlEncoder.Default, @@ -89,28 +90,34 @@ namespace Microsoft.AspNetCore.Routing new RouteTemplate(endpoint.RoutePattern), new RouteValueDictionary(endpoint.RoutePattern.Defaults)); - var templateValuesResult = templateBinder.GetValues(ambientValues, explicitValues); + var templateValuesResult = templateBinder.GetValues( + ambientValues: context.AmbientValues, + values: context.ExplicitValues); if (templateValuesResult == null) { // We're missing one of the required values for this route. return null; } - if (!Match(httpContext, endpoint, templateValuesResult.CombinedValues)) + if (!MatchesConstraints(context.HttpContext, endpoint, templateValuesResult.CombinedValues)) { return null; } - return templateBinder.BindValues(templateValuesResult.AcceptedValues); + var url = templateBinder.BindValues(templateValuesResult.AcceptedValues); + return Normalize(context, url); } - private bool Match(HttpContext httpContext, MatcherEndpoint endpoint, RouteValueDictionary routeValues) + private bool MatchesConstraints( + HttpContext httpContext, + MatcherEndpoint endpoint, + RouteValueDictionary routeValues) { if (routeValues == null) { throw new ArgumentNullException(nameof(routeValues)); } - + foreach (var kvp in endpoint.RoutePattern.Constraints) { var parameter = endpoint.RoutePattern.GetParameter(kvp.Key); // may be null, that's ok @@ -128,5 +135,47 @@ namespace Microsoft.AspNetCore.Routing return true; } + + private string Normalize(LinkGeneratorContext context, string url) + { + var lowercaseUrls = context.LowercaseUrls.HasValue ? context.LowercaseUrls.Value : _options.LowercaseUrls; + var lowercaseQueryStrings = context.LowercaseQueryStrings.HasValue ? + context.LowercaseQueryStrings.Value : _options.LowercaseQueryStrings; + var appendTrailingSlash = context.AppendTrailingSlash.HasValue ? + context.AppendTrailingSlash.Value : _options.AppendTrailingSlash; + + if (!string.IsNullOrEmpty(url) && (lowercaseUrls || appendTrailingSlash)) + { + var indexOfSeparator = url.IndexOfAny(UrlQueryDelimiters); + var urlWithoutQueryString = url; + var queryString = string.Empty; + + if (indexOfSeparator != -1) + { + urlWithoutQueryString = url.Substring(0, indexOfSeparator); + queryString = url.Substring(indexOfSeparator); + } + + if (lowercaseUrls) + { + urlWithoutQueryString = urlWithoutQueryString.ToLowerInvariant(); + } + + if (lowercaseUrls && lowercaseQueryStrings) + { + queryString = queryString.ToLowerInvariant(); + } + + if (appendTrailingSlash && !urlWithoutQueryString.EndsWith("/", StringComparison.Ordinal)) + { + urlWithoutQueryString += "/"; + } + + // queryString will contain the delimiter ? or # as the first character, so it's safe to append. + url = urlWithoutQueryString + queryString; + } + + return url; + } } } diff --git a/src/Microsoft.AspNetCore.Routing/RouteOptions.cs b/src/Microsoft.AspNetCore.Routing/RouteOptions.cs index b5c5bd544f..efabde03a1 100644 --- a/src/Microsoft.AspNetCore.Routing/RouteOptions.cs +++ b/src/Microsoft.AspNetCore.Routing/RouteOptions.cs @@ -17,7 +17,7 @@ namespace Microsoft.AspNetCore.Routing /// /// Gets or sets a value indicating whether a generated query strings are lower-case. - /// This property will be unless is also true + /// This property will not be used unless is also true. /// public bool LowercaseQueryStrings { get; set; } diff --git a/test/Microsoft.AspNetCore.Routing.Tests/DefaultLinkGeneratorTest.cs b/test/Microsoft.AspNetCore.Routing.Tests/DefaultLinkGeneratorTest.cs index ff6d0ac25c..0321c730f2 100644 --- a/test/Microsoft.AspNetCore.Routing.Tests/DefaultLinkGeneratorTest.cs +++ b/test/Microsoft.AspNetCore.Routing.Tests/DefaultLinkGeneratorTest.cs @@ -4,7 +4,6 @@ using System; using System.Collections.Generic; using System.Linq; -using System.Threading.Tasks; using Microsoft.AspNetCore.Http; using Microsoft.AspNetCore.Routing.Constraints; using Microsoft.AspNetCore.Routing.EndpointFinders; @@ -32,10 +31,12 @@ namespace Microsoft.AspNetCore.Routing // Act var link = linkGenerator.GetLink( - httpContext: null, - new[] { endpoint }, - context.ExplicitValues, - context.AmbientValues); + new LinkGeneratorContext + { + Endpoints = new[] { endpoint }, + ExplicitValues = context.ExplicitValues, + AmbientValues = context.AmbientValues + }); // Assert Assert.Equal("/Home", link); @@ -53,10 +54,12 @@ namespace Microsoft.AspNetCore.Routing // Act & Assert var exception = Assert.Throws( () => linkGenerator.GetLink( - httpContext: null, - new[] { endpoint }, - context.ExplicitValues, - context.AmbientValues)); + new LinkGeneratorContext + { + Endpoints = new[] { endpoint }, + ExplicitValues = context.ExplicitValues, + AmbientValues = context.AmbientValues + })); Assert.Equal(expectedMessage, exception.Message); } @@ -70,10 +73,12 @@ namespace Microsoft.AspNetCore.Routing // Act var canGenerateLink = linkGenerator.TryGetLink( - httpContext: null, - new[] { endpoint }, - context.ExplicitValues, - context.AmbientValues, + new LinkGeneratorContext + { + Endpoints = new[] { endpoint }, + ExplicitValues = context.ExplicitValues, + AmbientValues = context.AmbientValues + }, out var link); // Assert @@ -93,10 +98,12 @@ namespace Microsoft.AspNetCore.Routing // Act var link = linkGenerator.GetLink( - httpContext: null, - new[] { endpoint1, endpoint2, endpoint3 }, - context.ExplicitValues, - context.AmbientValues); + new LinkGeneratorContext + { + Endpoints = new[] { endpoint1, endpoint2, endpoint3 }, + ExplicitValues = context.ExplicitValues, + AmbientValues = context.AmbientValues + }); // Assert Assert.Equal("/Home/Index/10", link); @@ -114,10 +121,12 @@ namespace Microsoft.AspNetCore.Routing // Act var link = linkGenerator.GetLink( - httpContext: null, - new[] { endpoint1, endpoint2, endpoint3 }, - context.ExplicitValues, - context.AmbientValues); + new LinkGeneratorContext + { + Endpoints = new[] { endpoint1, endpoint2, endpoint3 }, + ExplicitValues = context.ExplicitValues, + AmbientValues = context.AmbientValues + }); // Assert Assert.Equal("/Home/Index", link); @@ -135,10 +144,12 @@ namespace Microsoft.AspNetCore.Routing // Act var link = linkGenerator.GetLink( - httpContext: null, - new[] { endpoint }, - context.ExplicitValues, - context.AmbientValues); + new LinkGeneratorContext + { + Endpoints = new[] { endpoint }, + ExplicitValues = context.ExplicitValues, + AmbientValues = context.AmbientValues + }); // Assert Assert.Equal("/Home/Index?name=name%20with%20%25special%20%23characters", link); @@ -156,10 +167,12 @@ namespace Microsoft.AspNetCore.Routing // Act var link = linkGenerator.GetLink( - httpContext: null, - new[] { endpoint }, - context.ExplicitValues, - context.AmbientValues); + new LinkGeneratorContext + { + Endpoints = new[] { endpoint }, + ExplicitValues = context.ExplicitValues, + AmbientValues = context.AmbientValues + }); // Assert Assert.Equal("/Home/Index?color=red&color=green&color=blue", link); @@ -177,10 +190,12 @@ namespace Microsoft.AspNetCore.Routing // Act var link = linkGenerator.GetLink( - httpContext: null, - new[] { endpoint }, - context.ExplicitValues, - context.AmbientValues); + new LinkGeneratorContext + { + Endpoints = new[] { endpoint }, + ExplicitValues = context.ExplicitValues, + AmbientValues = context.AmbientValues + }); // Assert Assert.Equal("/Home/Index?items=10&items=20&items=30", link); @@ -198,10 +213,12 @@ namespace Microsoft.AspNetCore.Routing // Act var link = linkGenerator.GetLink( - httpContext: null, - new[] { endpoint }, - context.ExplicitValues, - context.AmbientValues); + new LinkGeneratorContext + { + Endpoints = new[] { endpoint }, + ExplicitValues = context.ExplicitValues, + AmbientValues = context.AmbientValues + }); // Assert Assert.Equal("/Home/Index", link); @@ -219,10 +236,12 @@ namespace Microsoft.AspNetCore.Routing // Act var link = linkGenerator.GetLink( - httpContext: null, - new[] { endpoint }, - context.ExplicitValues, - context.AmbientValues); + new LinkGeneratorContext + { + Endpoints = new[] { endpoint }, + ExplicitValues = context.ExplicitValues, + AmbientValues = context.AmbientValues + }); // Assert Assert.Equal("/Home/Index?page=1&color=red&color=green&color=blue&message=textfortest", link); @@ -240,15 +259,259 @@ namespace Microsoft.AspNetCore.Routing // Act var link = linkGenerator.GetLink( - httpContext: null, - new[] { endpoint }, - context.ExplicitValues, - context.AmbientValues); + new LinkGeneratorContext + { + Endpoints = new[] { endpoint }, + ExplicitValues = context.ExplicitValues, + AmbientValues = context.AmbientValues + }); // Assert Assert.Equal("/Home/Index", link); } + [Fact] + public void GetLink_GeneratesLowercaseUrl_SetOnRouteOptions() + { + // Arrange + var endpoint = CreateEndpoint("{controller}/{action}"); + var linkGenerator = CreateLinkGenerator(new RouteOptions() { LowercaseUrls = true }); + var context = CreateRouteValuesContext( + suppliedValues: new { action = "Index" }, + ambientValues: new { controller = "Home" }); + + // Act + var link = linkGenerator.GetLink( + new LinkGeneratorContext + { + Endpoints = new[] { endpoint }, + ExplicitValues = context.ExplicitValues, + AmbientValues = context.AmbientValues + }); + + // Assert + Assert.Equal("/home/index", link); + } + + [Fact] + public void GetLink_GeneratesLowercaseQueryString_SetOnRouteOptions() + { + // Arrange + var endpoint = CreateEndpoint("{controller}/{action}"); + var linkGenerator = CreateLinkGenerator( + new RouteOptions() { LowercaseUrls = true, LowercaseQueryStrings = true }); + var context = CreateRouteValuesContext( + suppliedValues: new { action = "Index", ShowStatus = "True", INFO = "DETAILED" }, + ambientValues: new { controller = "Home" }); + + // Act + var link = linkGenerator.GetLink( + new LinkGeneratorContext + { + Endpoints = new[] { endpoint }, + ExplicitValues = context.ExplicitValues, + AmbientValues = context.AmbientValues + }); + + // Assert + Assert.Equal("/home/index?showstatus=true&info=detailed", link); + } + + [Fact] + public void GetLink_GeneratesLowercaseQueryString_OnlyIfLowercaseUrlIsTrue_SetOnRouteOptions() + { + // Arrange + var endpoint = CreateEndpoint("{controller}/{action}"); + var linkGenerator = CreateLinkGenerator( + new RouteOptions() { LowercaseUrls = false, LowercaseQueryStrings = true }); + var context = CreateRouteValuesContext( + suppliedValues: new { action = "Index", ShowStatus = "True", INFO = "DETAILED" }, + ambientValues: new { controller = "Home" }); + + // Act + var link = linkGenerator.GetLink( + new LinkGeneratorContext + { + Endpoints = new[] { endpoint }, + ExplicitValues = context.ExplicitValues, + AmbientValues = context.AmbientValues + }); + + // Assert + Assert.Equal("/Home/Index?ShowStatus=True&INFO=DETAILED", link); + } + + [Fact] + public void GetLink_AppendsTrailingSlash_SetOnRouteOptions() + { + // Arrange + var endpoint = CreateEndpoint("{controller}/{action}"); + var linkGenerator = CreateLinkGenerator(new RouteOptions() { AppendTrailingSlash = true }); + var context = CreateRouteValuesContext( + suppliedValues: new { action = "Index" }, + ambientValues: new { controller = "Home" }); + + // Act + var link = linkGenerator.GetLink( + new LinkGeneratorContext + { + Endpoints = new[] { endpoint }, + ExplicitValues = context.ExplicitValues, + AmbientValues = context.AmbientValues + }); + + // Assert + Assert.Equal("/Home/Index/", link); + } + + [Fact] + public void GetLink_GeneratesLowercaseQueryStringAndTrailingSlash_SetOnRouteOptions() + { + // Arrange + var endpoint = CreateEndpoint("{controller}/{action}"); + var linkGenerator = CreateLinkGenerator( + new RouteOptions() { LowercaseUrls = true, LowercaseQueryStrings = true, AppendTrailingSlash = true }); + var context = CreateRouteValuesContext( + suppliedValues: new { action = "Index", ShowStatus = "True", INFO = "DETAILED" }, + ambientValues: new { controller = "Home" }); + + // Act + var link = linkGenerator.GetLink( + new LinkGeneratorContext + { + Endpoints = new[] { endpoint }, + ExplicitValues = context.ExplicitValues, + AmbientValues = context.AmbientValues + }); + + // Assert + Assert.Equal("/home/index/?showstatus=true&info=detailed", link); + } + + [Fact] + public void GetLink_LowercaseUrlSetToTrue_OnRouteOptions_OverridenByCallsiteValue() + { + // Arrange + var endpoint = CreateEndpoint("{controller}/{action}"); + var linkGenerator = CreateLinkGenerator(new RouteOptions() { LowercaseUrls = true }); + var context = CreateRouteValuesContext( + suppliedValues: new { action = "InDex" }, + ambientValues: new { controller = "HoMe" }); + + // Act + var link = linkGenerator.GetLink( + new LinkGeneratorContext + { + Endpoints = new[] { endpoint }, + ExplicitValues = context.ExplicitValues, + AmbientValues = context.AmbientValues, + LowercaseUrls = false + }); + + // Assert + Assert.Equal("/HoMe/InDex", link); + } + + [Fact] + public void GetLink_LowercaseUrlSetToFalse_OnRouteOptions_OverridenByCallsiteValue() + { + // Arrange + var endpoint = CreateEndpoint("{controller}/{action}"); + var linkGenerator = CreateLinkGenerator(new RouteOptions() { LowercaseUrls = false }); + var context = CreateRouteValuesContext( + suppliedValues: new { action = "InDex" }, + ambientValues: new { controller = "HoMe" }); + + // Act + var link = linkGenerator.GetLink( + new LinkGeneratorContext + { + Endpoints = new[] { endpoint }, + ExplicitValues = context.ExplicitValues, + AmbientValues = context.AmbientValues, + LowercaseUrls = true + }); + + // Assert + Assert.Equal("/home/index", link); + } + + [Fact] + public void GetLink_LowercaseUrlQueryStringsSetToTrue_OnRouteOptions_OverridenByCallsiteValue() + { + // Arrange + var endpoint = CreateEndpoint("{controller}/{action}"); + var linkGenerator = CreateLinkGenerator( + new RouteOptions() { LowercaseUrls = true, LowercaseQueryStrings = true }); + var context = CreateRouteValuesContext( + suppliedValues: new { action = "Index", ShowStatus = "True", INFO = "DETAILED" }, + ambientValues: new { controller = "Home" }); + + // Act + var link = linkGenerator.GetLink( + new LinkGeneratorContext + { + Endpoints = new[] { endpoint }, + ExplicitValues = context.ExplicitValues, + AmbientValues = context.AmbientValues, + LowercaseUrls = false, + LowercaseQueryStrings = false + }); + + // Assert + Assert.Equal("/Home/Index?ShowStatus=True&INFO=DETAILED", link); + } + + [Fact] + public void GetLink_LowercaseUrlQueryStringsSetToFalse_OnRouteOptions_OverridenByCallsiteValue() + { + // Arrange + var endpoint = CreateEndpoint("{controller}/{action}"); + var linkGenerator = CreateLinkGenerator( + new RouteOptions() { LowercaseUrls = false, LowercaseQueryStrings = false }); + var context = CreateRouteValuesContext( + suppliedValues: new { action = "Index", ShowStatus = "True", INFO = "DETAILED" }, + ambientValues: new { controller = "Home" }); + + // Act + var link = linkGenerator.GetLink( + new LinkGeneratorContext + { + Endpoints = new[] { endpoint }, + ExplicitValues = context.ExplicitValues, + AmbientValues = context.AmbientValues, + LowercaseUrls = true, + LowercaseQueryStrings = true + }); + + // Assert + Assert.Equal("/home/index?showstatus=true&info=detailed", link); + } + + [Fact] + public void GetLink_AppendTrailingSlashSetToFalse_OnRouteOptions_OverridenByCallsiteValue() + { + // Arrange + var endpoint = CreateEndpoint("{controller}/{action}"); + var linkGenerator = CreateLinkGenerator(new RouteOptions() { AppendTrailingSlash = false }); + var context = CreateRouteValuesContext( + suppliedValues: new { action = "Index" }, + ambientValues: new { controller = "Home" }); + + // Act + var link = linkGenerator.GetLink( + new LinkGeneratorContext + { + Endpoints = new[] { endpoint }, + ExplicitValues = context.ExplicitValues, + AmbientValues = context.AmbientValues, + AppendTrailingSlash = true + }); + + // Assert + Assert.Equal("/Home/Index/", link); + } + [Fact] public void RouteGenerationRejectsConstraints() { @@ -263,10 +526,13 @@ namespace Microsoft.AspNetCore.Routing // Act var canGenerateLink = linkGenerator.TryGetLink( - new DefaultHttpContext(), - new[] { endpoint }, - context.ExplicitValues, - context.AmbientValues, + new LinkGeneratorContext + { + HttpContext = new DefaultHttpContext(), + Endpoints = new[] { endpoint }, + ExplicitValues = context.ExplicitValues, + AmbientValues = context.AmbientValues + }, out var link); // Assert @@ -287,10 +553,13 @@ namespace Microsoft.AspNetCore.Routing // Act var canGenerateLink = linkGenerator.TryGetLink( - new DefaultHttpContext(), - new[] { endpoint }, - context.ExplicitValues, - context.AmbientValues, + new LinkGeneratorContext + { + HttpContext = new DefaultHttpContext(), + Endpoints = new[] { endpoint }, + ExplicitValues = context.ExplicitValues, + AmbientValues = context.AmbientValues + }, out var link); // Assert @@ -312,10 +581,13 @@ namespace Microsoft.AspNetCore.Routing // Act var canGenerateLink = linkGenerator.TryGetLink( - new DefaultHttpContext(), - new[] { endpoint }, - context.ExplicitValues, - context.AmbientValues, + new LinkGeneratorContext + { + HttpContext = new DefaultHttpContext(), + Endpoints = new[] { endpoint }, + ExplicitValues = context.ExplicitValues, + AmbientValues = context.AmbientValues + }, out var link); // Assert @@ -336,10 +608,13 @@ namespace Microsoft.AspNetCore.Routing // Act var canGenerateLink = linkGenerator.TryGetLink( - new DefaultHttpContext(), - new[] { endpoint }, - context.ExplicitValues, - context.AmbientValues, + new LinkGeneratorContext + { + HttpContext = new DefaultHttpContext(), + Endpoints = new[] { endpoint }, + ExplicitValues = context.ExplicitValues, + AmbientValues = context.AmbientValues + }, out var link); // Assert @@ -372,10 +647,13 @@ namespace Microsoft.AspNetCore.Routing // Act var canGenerateLink = linkGenerator.TryGetLink( - new DefaultHttpContext(), - new[] { endpoint }, - context.ExplicitValues, - context.AmbientValues, + new LinkGeneratorContext + { + HttpContext = new DefaultHttpContext(), + Endpoints = new[] { endpoint }, + ExplicitValues = context.ExplicitValues, + AmbientValues = context.AmbientValues + }, out var link); // Assert @@ -406,10 +684,13 @@ namespace Microsoft.AspNetCore.Routing // Act var canGenerateLink = linkGenerator.TryGetLink( - new DefaultHttpContext(), - new[] { endpoint }, - context.ExplicitValues, - context.AmbientValues, + new LinkGeneratorContext + { + HttpContext = new DefaultHttpContext(), + Endpoints = new[] { endpoint }, + ExplicitValues = context.ExplicitValues, + AmbientValues = context.AmbientValues + }, out var link); // Assert @@ -440,10 +721,13 @@ namespace Microsoft.AspNetCore.Routing // Act var link = linkGenerator.GetLink( - new DefaultHttpContext(), - new[] { endpoint }, - context.ExplicitValues, - context.AmbientValues); + new LinkGeneratorContext + { + HttpContext = new DefaultHttpContext(), + Endpoints = new[] { endpoint }, + ExplicitValues = context.ExplicitValues, + AmbientValues = context.AmbientValues + }); // Assert Assert.Equal("/slug/Home/Store", link); @@ -471,10 +755,13 @@ namespace Microsoft.AspNetCore.Routing // Act var link = linkGenerator.GetLink( - new DefaultHttpContext(), - new[] { endpoint }, - context.ExplicitValues, - context.AmbientValues); + new LinkGeneratorContext + { + HttpContext = new DefaultHttpContext(), + Endpoints = new[] { endpoint }, + ExplicitValues = context.ExplicitValues, + AmbientValues = context.AmbientValues + }); // Assert Assert.Equal("/slug/Shopping", link); @@ -503,10 +790,13 @@ namespace Microsoft.AspNetCore.Routing // Act var link = linkGenerator.GetLink( - new DefaultHttpContext(), - new[] { endpoint }, - context.ExplicitValues, - context.AmbientValues); + new LinkGeneratorContext + { + HttpContext = new DefaultHttpContext(), + Endpoints = new[] { endpoint }, + ExplicitValues = context.ExplicitValues, + AmbientValues = context.AmbientValues + }); // Assert Assert.Equal("/slug/Home/Store", link); @@ -528,10 +818,13 @@ namespace Microsoft.AspNetCore.Routing // Act var link = linkGenerator.GetLink( - new DefaultHttpContext(), - new[] { endpoint }, - context.ExplicitValues, - context.AmbientValues); + new LinkGeneratorContext + { + HttpContext = new DefaultHttpContext(), + Endpoints = new[] { endpoint }, + ExplicitValues = context.ExplicitValues, + AmbientValues = context.AmbientValues + }); // Assert Assert.Equal("/Home/Index/4", link); @@ -545,17 +838,20 @@ namespace Microsoft.AspNetCore.Routing var endpoint = CreateEndpoint( template: "Home/Index/{id}", defaults: new { controller = "Home", action = "Index" }, - constraints: new {id = "int"}); + constraints: new { id = "int" }); var context = CreateRouteValuesContext( suppliedValues: new { action = "Index", controller = "Home", id = "not-an-integer" }); // Act var canGenerateLink = linkGenerator.TryGetLink( - new DefaultHttpContext(), - new[] { endpoint }, - context.ExplicitValues, - context.AmbientValues, + new LinkGeneratorContext + { + HttpContext = new DefaultHttpContext(), + Endpoints = new[] { endpoint }, + ExplicitValues = context.ExplicitValues, + AmbientValues = context.AmbientValues + }, out var link); // Assert @@ -576,10 +872,13 @@ namespace Microsoft.AspNetCore.Routing // Act var link = linkGenerator.GetLink( - new DefaultHttpContext(), - new[] { endpoint }, - context.ExplicitValues, - context.AmbientValues); + new LinkGeneratorContext + { + HttpContext = new DefaultHttpContext(), + Endpoints = new[] { endpoint }, + ExplicitValues = context.ExplicitValues, + AmbientValues = context.AmbientValues + }); // Assert Assert.Equal("/Home/Index/98", link); @@ -600,10 +899,13 @@ namespace Microsoft.AspNetCore.Routing // Act var link = linkGenerator.GetLink( - new DefaultHttpContext(), - new[] { endpoint }, - context.ExplicitValues, - context.AmbientValues); + new LinkGeneratorContext + { + HttpContext = new DefaultHttpContext(), + Endpoints = new[] { endpoint }, + ExplicitValues = context.ExplicitValues, + AmbientValues = context.AmbientValues + }); // Assert Assert.Equal("/Home/Index", link); @@ -624,10 +926,13 @@ namespace Microsoft.AspNetCore.Routing // Act var canGenerateLink = linkGenerator.TryGetLink( - new DefaultHttpContext(), - new[] { endpoint }, - context.ExplicitValues, - context.AmbientValues, + new LinkGeneratorContext + { + HttpContext = new DefaultHttpContext(), + Endpoints = new[] { endpoint }, + ExplicitValues = context.ExplicitValues, + AmbientValues = context.AmbientValues + }, out var link); // Assert @@ -649,10 +954,13 @@ namespace Microsoft.AspNetCore.Routing // Act var link = linkGenerator.GetLink( - new DefaultHttpContext(), - new[] { endpoint }, - context.ExplicitValues, - context.AmbientValues); + new LinkGeneratorContext + { + HttpContext = new DefaultHttpContext(), + Endpoints = new[] { endpoint }, + ExplicitValues = context.ExplicitValues, + AmbientValues = context.AmbientValues + }); // Assert Assert.Equal("/Home/Index/14", link); @@ -673,10 +981,13 @@ namespace Microsoft.AspNetCore.Routing // Act var canGenerateLink = linkGenerator.TryGetLink( - new DefaultHttpContext(), - new[] { endpoint }, - context.ExplicitValues, - context.AmbientValues, + new LinkGeneratorContext + { + HttpContext = new DefaultHttpContext(), + Endpoints = new[] { endpoint }, + ExplicitValues = context.ExplicitValues, + AmbientValues = context.AmbientValues + }, out var link); // Assert @@ -699,10 +1010,13 @@ namespace Microsoft.AspNetCore.Routing // Act var link = linkGenerator.GetLink( - new DefaultHttpContext(), - new[] { endpoint }, - context.ExplicitValues, - context.AmbientValues); + new LinkGeneratorContext + { + HttpContext = new DefaultHttpContext(), + Endpoints = new[] { endpoint }, + ExplicitValues = context.ExplicitValues, + AmbientValues = context.AmbientValues + }); // Assert Assert.Equal("/Home/Index/products", link); @@ -719,10 +1033,12 @@ namespace Microsoft.AspNetCore.Routing // Act var link = linkGenerator.GetLink( - httpContext: null, - new[] { endpoint }, - context.ExplicitValues, - context.AmbientValues); + new LinkGeneratorContext + { + Endpoints = new[] { endpoint }, + ExplicitValues = context.ExplicitValues, + AmbientValues = context.AmbientValues + }); // Assert Assert.Equal("/Home/Index/products", link); @@ -739,10 +1055,60 @@ namespace Microsoft.AspNetCore.Routing // Act var link = linkGenerator.GetLink( - httpContext: null, - new[] { endpoint }, - context.ExplicitValues, - context.AmbientValues); + new LinkGeneratorContext + { + Endpoints = new[] { endpoint }, + ExplicitValues = context.ExplicitValues, + AmbientValues = context.AmbientValues + }); + + // Assert + Assert.Equal("/Home/Index", link); + } + + [Fact] + public void GetLink_OptionalParameter_ParameterPresentInValuesAndDefaults() + { + // Arrange + var endpoint = CreateEndpoint( + template: "{controller}/{action}/{name}", + defaults: new { name = "default-products" }); + var linkGenerator = CreateLinkGenerator(); + var context = CreateRouteValuesContext( + suppliedValues: new { action = "Index", controller = "Home", name = "products" }); + + // Act + var link = linkGenerator.GetLink( + new LinkGeneratorContext + { + Endpoints = new[] { endpoint }, + ExplicitValues = context.ExplicitValues, + AmbientValues = context.AmbientValues + }); + + // Assert + Assert.Equal("/Home/Index/products", link); + } + + [Fact] + public void GetLink_OptionalParameter_ParameterNotPresentInValues_PresentInDefaults() + { + // Arrange + var endpoint = CreateEndpoint( + template: "{controller}/{action}/{name}", + defaults: new { name = "products" }); + var linkGenerator = CreateLinkGenerator(); + var context = CreateRouteValuesContext( + suppliedValues: new { action = "Index", controller = "Home" }); + + // Act + var link = linkGenerator.GetLink( + new LinkGeneratorContext + { + Endpoints = new[] { endpoint }, + ExplicitValues = context.ExplicitValues, + AmbientValues = context.AmbientValues + }); // Assert Assert.Equal("/Home/Index", link); @@ -759,10 +1125,12 @@ namespace Microsoft.AspNetCore.Routing // Act var link = linkGenerator.GetLink( - httpContext: null, - new[] { endpoint }, - context.ExplicitValues, - context.AmbientValues); + new LinkGeneratorContext + { + Endpoints = new[] { endpoint }, + ExplicitValues = context.ExplicitValues, + AmbientValues = context.AmbientValues + }); // Assert Assert.Equal("/Home/Index/products?format=json", link); @@ -781,10 +1149,13 @@ namespace Microsoft.AspNetCore.Routing // Act var link = linkGenerator.GetLink( - new DefaultHttpContext(), - new[] { endpoint }, - context.ExplicitValues, - context.AmbientValues); + new LinkGeneratorContext + { + HttpContext = new DefaultHttpContext(), + Endpoints = new[] { endpoint }, + ExplicitValues = context.ExplicitValues, + AmbientValues = context.AmbientValues + }); // Assert Assert.Equal("/Home/Index/.products", link); @@ -802,10 +1173,13 @@ namespace Microsoft.AspNetCore.Routing // Act var link = linkGenerator.GetLink( - new DefaultHttpContext(), - new[] { endpoint }, - context.ExplicitValues, - context.AmbientValues); + new LinkGeneratorContext + { + HttpContext = new DefaultHttpContext(), + Endpoints = new[] { endpoint }, + ExplicitValues = context.ExplicitValues, + AmbientValues = context.AmbientValues + }); // Assert Assert.Equal("/Home/Index/", link); @@ -822,10 +1196,12 @@ namespace Microsoft.AspNetCore.Routing // Act var link = linkGenerator.GetLink( - httpContext: null, - new[] { endpoint }, - context.ExplicitValues, - context.AmbientValues); + new LinkGeneratorContext + { + Endpoints = new[] { endpoint }, + ExplicitValues = context.ExplicitValues, + AmbientValues = context.AmbientValues + }); // Assert Assert.Equal("/Home/Index", link); @@ -843,10 +1219,12 @@ namespace Microsoft.AspNetCore.Routing // Act var link = linkGenerator.GetLink( - httpContext: null, - new[] { endpoint }, - context.ExplicitValues, - context.AmbientValues); + new LinkGeneratorContext + { + Endpoints = new[] { endpoint }, + ExplicitValues = context.ExplicitValues, + AmbientValues = context.AmbientValues + }); // Assert Assert.Equal("/a/15/17", link); @@ -864,10 +1242,12 @@ namespace Microsoft.AspNetCore.Routing // Act var link = linkGenerator.GetLink( - httpContext: null, - new[] { endpoint }, - context.ExplicitValues, - context.AmbientValues); + new LinkGeneratorContext + { + Endpoints = new[] { endpoint }, + ExplicitValues = context.ExplicitValues, + AmbientValues = context.AmbientValues + }); // Assert Assert.Equal("/a/15/17", link); @@ -885,10 +1265,12 @@ namespace Microsoft.AspNetCore.Routing // Act var link = linkGenerator.GetLink( - httpContext: null, - new[] { endpoint }, - context.ExplicitValues, - context.AmbientValues); + new LinkGeneratorContext + { + Endpoints = new[] { endpoint }, + ExplicitValues = context.ExplicitValues, + AmbientValues = context.AmbientValues + }); // Assert Assert.Equal("/a", link); @@ -904,7 +1286,7 @@ namespace Microsoft.AspNetCore.Routing private MatcherEndpoint CreateEndpoint( string template, - object defaults = null, + object defaults = null, object constraints = null, int order = 0, EndpointMetadataCollection metadata = null) @@ -918,13 +1300,16 @@ namespace Microsoft.AspNetCore.Routing null); } - private LinkGenerator CreateLinkGenerator() + private LinkGenerator CreateLinkGenerator(RouteOptions routeOptions = null) { + routeOptions = routeOptions ?? new RouteOptions(); + var options = Options.Create(routeOptions); return new DefaultLinkGenerator( new DefaultMatchProcessorFactory( - Options.Create(new RouteOptions()), + options, Mock.Of()), new DefaultObjectPool(new UriBuilderContextPooledObjectPolicy()), + options, NullLogger.Instance); } } From 7da1baf9d844472a421133e18a7b0ee03cadefed Mon Sep 17 00:00:00 2001 From: Kiran Challa Date: Mon, 23 Jul 2018 11:06:41 -0700 Subject: [PATCH 090/221] Do not use decision tree for named routes in RouteValuesBasedEndpointFinder --- .../RouteValuesBasedEndpointFinder.cs | 57 ++++++++------- .../RouteValueBasedEndpointFinderTest.cs | 71 ++++++++++++++++--- 2 files changed, 94 insertions(+), 34 deletions(-) diff --git a/src/Microsoft.AspNetCore.Routing/RouteValuesBasedEndpointFinder.cs b/src/Microsoft.AspNetCore.Routing/RouteValuesBasedEndpointFinder.cs index eb51c49967..2c3afaf55d 100644 --- a/src/Microsoft.AspNetCore.Routing/RouteValuesBasedEndpointFinder.cs +++ b/src/Microsoft.AspNetCore.Routing/RouteValuesBasedEndpointFinder.cs @@ -18,7 +18,7 @@ namespace Microsoft.AspNetCore.Routing private readonly CompositeEndpointDataSource _endpointDataSource; private readonly ObjectPool _objectPool; private LinkGenerationDecisionTree _allMatchesLinkGenerationTree; - private IDictionary _namedMatches; + private IDictionary> _namedMatchResults; public RouteValuesBasedEndpointFinder( CompositeEndpointDataSource endpointDataSource, @@ -45,11 +45,9 @@ namespace Microsoft.AspNetCore.Routing context.ExplicitValues, context.AmbientValues); } - else if (_namedMatches.TryGetValue(context.RouteName, out var linkGenerationTree)) + else if (_namedMatchResults.TryGetValue(context.RouteName, out var namedMatchResults)) { - matchResults = linkGenerationTree.GetMatches( - context.ExplicitValues, - context.AmbientValues); + matchResults = namedMatchResults; } if (matchResults == null || !matchResults.Any()) @@ -78,15 +76,33 @@ namespace Microsoft.AspNetCore.Routing { // Refresh the matches in the case where a datasource's endpoints changes. The following is OK to do // as refresh of new endpoints happens within a lock and also these fields are not publicly accessible. - var (allMatches, namedMatches) = GetOutboundMatches(); - _namedMatches = GetNamedMatches(namedMatches); + var (allMatches, namedMatchResults) = GetOutboundMatches(); + _namedMatchResults = namedMatchResults; _allMatchesLinkGenerationTree = new LinkGenerationDecisionTree(allMatches.ToArray()); } - protected virtual (IEnumerable, IDictionary>) GetOutboundMatches() + /// Decision tree is built using the 'required values' of actions. + /// - When generating a url using route values, decision tree checks the explicitly supplied route values + + /// ambient values to see if they have a match for the required-values-based-tree. + /// - When generating a url using route name, route values for controller, action etc.might not be provided + /// (this is expected because as a user I want to avoid writing all those and instead chose to use a + /// routename which is quick). So since these values are not provided and might not be even in ambient + /// values, decision tree would fail to find a match. So for this reason decision tree is not used for named + /// matches. Instead all named matches are returned as is and the LinkGenerator uses a TemplateBinder to + /// decide which of the matches can generate a url. + /// For example, for a route defined like below with current ambient values like new { controller = "Home", + /// action = "Index" } + /// "api/orders/{id}", + /// routeName: "OrdersApi", + /// defaults: new { controller = "Orders", action = "GetById" }, + /// requiredValues: new { controller = "Orders", action = "GetById" }, + /// A call to GetLink("OrdersApi", new { id = "10" }) cannot generate url as neither the supplied values or + /// current ambient values do not satisfy the decision tree that is built based on the required values. + protected virtual (IEnumerable, IDictionary>) GetOutboundMatches() { var allOutboundMatches = new List(); - var namedOutboundMatches = new Dictionary>(StringComparer.OrdinalIgnoreCase); + var namedOutboundMatchResults = new Dictionary>( + StringComparer.OrdinalIgnoreCase); var endpoints = _endpointDataSource.Endpoints.OfType(); foreach (var endpoint in endpoints) @@ -101,16 +117,16 @@ namespace Microsoft.AspNetCore.Routing continue; } - List matches; - if (!namedOutboundMatches.TryGetValue(entry.RouteName, out matches)) + List matchResults; + if (!namedOutboundMatchResults.TryGetValue(entry.RouteName, out matchResults)) { - matches = new List(); - namedOutboundMatches.Add(entry.RouteName, matches); + matchResults = new List(); + namedOutboundMatchResults.Add(entry.RouteName, matchResults); } - matches.Add(outboundMatch); + matchResults.Add(new OutboundMatchResult(outboundMatch, isFallbackMatch: false)); } - return (allOutboundMatches, namedOutboundMatches); + return (allOutboundMatches, namedOutboundMatchResults); } private OutboundRouteEntry CreateOutboundRouteEntry(MatcherEndpoint endpoint) @@ -129,16 +145,5 @@ namespace Microsoft.AspNetCore.Routing entry.Defaults = new RouteValueDictionary(endpoint.RoutePattern.Defaults); return entry; } - - private IDictionary GetNamedMatches( - IDictionary> namedOutboundMatches) - { - var result = new Dictionary(StringComparer.OrdinalIgnoreCase); - foreach (var namedOutboundMatch in namedOutboundMatches) - { - result.Add(namedOutboundMatch.Key, new LinkGenerationDecisionTree(namedOutboundMatch.Value.ToArray())); - } - return result; - } } } diff --git a/test/Microsoft.AspNetCore.Routing.Tests/RouteValueBasedEndpointFinderTest.cs b/test/Microsoft.AspNetCore.Routing.Tests/RouteValueBasedEndpointFinderTest.cs index 7ba5b92f90..6296604d2a 100644 --- a/test/Microsoft.AspNetCore.Routing.Tests/RouteValueBasedEndpointFinderTest.cs +++ b/test/Microsoft.AspNetCore.Routing.Tests/RouteValueBasedEndpointFinderTest.cs @@ -4,6 +4,7 @@ using System.Collections.Generic; using System.Linq; using System.Threading.Tasks; +using Microsoft.AspNetCore.Routing.EndpointFinders; using Microsoft.AspNetCore.Routing.Internal; using Microsoft.AspNetCore.Routing.Matchers; using Microsoft.AspNetCore.Routing.Patterns; @@ -33,7 +34,7 @@ namespace Microsoft.AspNetCore.Routing Assert.NotNull(finder.NamedMatches); Assert.True(finder.NamedMatches.TryGetValue("named", out var namedMatches)); var namedMatch = Assert.Single(namedMatches); - var actual = Assert.IsType(namedMatch.Entry.Data); + var actual = Assert.IsType(namedMatch.Match.Entry.Data); Assert.Same(endpoint2, actual); } @@ -54,8 +55,8 @@ namespace Microsoft.AspNetCore.Routing Assert.NotNull(finder.NamedMatches); Assert.True(finder.NamedMatches.TryGetValue("named", out var namedMatches)); Assert.Equal(2, namedMatches.Count); - Assert.Same(endpoint2, Assert.IsType(namedMatches[0].Entry.Data)); - Assert.Same(endpoint3, Assert.IsType(namedMatches[1].Entry.Data)); + Assert.Same(endpoint2, Assert.IsType(namedMatches[0].Match.Entry.Data)); + Assert.Same(endpoint3, Assert.IsType(namedMatches[1].Match.Entry.Data)); } [Fact] @@ -75,8 +76,8 @@ namespace Microsoft.AspNetCore.Routing Assert.NotNull(finder.NamedMatches); Assert.True(finder.NamedMatches.TryGetValue("named", out var namedMatches)); Assert.Equal(2, namedMatches.Count); - Assert.Same(endpoint2, Assert.IsType(namedMatches[0].Entry.Data)); - Assert.Same(endpoint3, Assert.IsType(namedMatches[1].Entry.Data)); + Assert.Same(endpoint2, Assert.IsType(namedMatches[0].Match.Entry.Data)); + Assert.Same(endpoint3, Assert.IsType(namedMatches[1].Match.Entry.Data)); } [Fact] @@ -98,7 +99,7 @@ namespace Microsoft.AspNetCore.Routing Assert.NotNull(finder.NamedMatches); Assert.True(finder.NamedMatches.TryGetValue("named", out var namedMatches)); var namedMatch = Assert.Single(namedMatches); - var actual = Assert.IsType(namedMatch.Entry.Data); + var actual = Assert.IsType(namedMatch.Match.Entry.Data); Assert.Same(endpoint2, actual); } @@ -169,6 +170,60 @@ namespace Microsoft.AspNetCore.Routing }); } + [Fact] + public void FindEndpoints_ReturnsEndpoint_WhenLookedUpByRouteName() + { + // Arrange + var expected = CreateEndpoint( + "api/orders/{id}", + defaults: new { controller = "Orders", action = "GetById" }, + requiredValues: new { controller = "Orders", action = "GetById" }, + routeName: "OrdersApi"); + var finder = CreateEndpointFinder(expected); + + // Act + var foundEndpoints = finder.FindEndpoints( + new RouteValuesBasedEndpointFinderContext + { + ExplicitValues = new RouteValueDictionary(new { id = 10 }), + AmbientValues = new RouteValueDictionary(new { controller = "Home", action = "Index" }), + RouteName = "OrdersApi" + }); + + // Assert + var actual = Assert.Single(foundEndpoints); + Assert.Same(expected, actual); + } + + [Fact] + public void FindEndpoints_AlwaysReturnsEndpointsByRouteName_IgnoringMissingRequiredParameterValues() + { + // Here 'id' is the required value. The endpoint finder would always return an endpoint by looking up + // name only. Its the link generator which uses these endpoints finally to generate a link or not + // based on the required parameter values being present or not. + + // Arrange + var expected = CreateEndpoint( + "api/orders/{id}", + defaults: new { controller = "Orders", action = "GetById" }, + requiredValues: new { controller = "Orders", action = "GetById" }, + routeName: "OrdersApi"); + var finder = CreateEndpointFinder(expected); + + // Act + var foundEndpoints = finder.FindEndpoints( + new RouteValuesBasedEndpointFinderContext + { + ExplicitValues = new RouteValueDictionary(), + AmbientValues = new RouteValueDictionary(), + RouteName = "OrdersApi" + }); + + // Assert + var actual = Assert.Single(foundEndpoints); + Assert.Same(expected, actual); + } + private CustomRouteValuesBasedEndpointFinder CreateEndpointFinder(params Endpoint[] endpoints) { return CreateEndpointFinder(new DefaultEndpointDataSource(endpoints)); @@ -239,9 +294,9 @@ namespace Microsoft.AspNetCore.Routing public IEnumerable AllMatches { get; private set; } - public IDictionary> NamedMatches { get; private set; } + public IDictionary> NamedMatches { get; private set; } - protected override (IEnumerable, IDictionary>) GetOutboundMatches() + protected override (IEnumerable, IDictionary>) GetOutboundMatches() { var matches = base.GetOutboundMatches(); AllMatches = matches.Item1; From d255d1510f021dee37fc78a76195130e544f6b7c Mon Sep 17 00:00:00 2001 From: Eilon Lipton Date: Tue, 24 Jul 2018 10:55:29 -0700 Subject: [PATCH 091/221] Update CONTRIBUTING.md --- CONTRIBUTING.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index 64ff041d5c..eac4268e4c 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -1,4 +1,4 @@ Contributing ====== -Information on contributing to this repo is in the [Contributing Guide](https://github.com/aspnet/Home/blob/dev/CONTRIBUTING.md) in the Home repo. +Information on contributing to this repo is in the [Contributing Guide](https://github.com/aspnet/Home/blob/master/CONTRIBUTING.md) in the Home repo. From 34499dbe24034e402a483a9dd70722edab3a615f Mon Sep 17 00:00:00 2001 From: Kiran Challa Date: Tue, 24 Jul 2018 12:19:16 -0700 Subject: [PATCH 092/221] Added support for suppressing link generation for endpoints --- .../ISuppressLinkGenerationMetadata.cs | 9 +++++++++ .../RouteValuesBasedEndpointFinder.cs | 7 +++++++ .../RouteValueBasedEndpointFinderTest.cs | 17 +++++++++++++++++ 3 files changed, 33 insertions(+) create mode 100644 src/Microsoft.AspNetCore.Routing.Abstractions/ISuppressLinkGenerationMetadata.cs diff --git a/src/Microsoft.AspNetCore.Routing.Abstractions/ISuppressLinkGenerationMetadata.cs b/src/Microsoft.AspNetCore.Routing.Abstractions/ISuppressLinkGenerationMetadata.cs new file mode 100644 index 0000000000..2e6a7da5d8 --- /dev/null +++ b/src/Microsoft.AspNetCore.Routing.Abstractions/ISuppressLinkGenerationMetadata.cs @@ -0,0 +1,9 @@ +// Copyright (c) .NET Foundation. All rights reserved. +// Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information. + +namespace Microsoft.AspNetCore.Routing +{ + public interface ISuppressLinkGenerationMetadata + { + } +} diff --git a/src/Microsoft.AspNetCore.Routing/RouteValuesBasedEndpointFinder.cs b/src/Microsoft.AspNetCore.Routing/RouteValuesBasedEndpointFinder.cs index 2c3afaf55d..e4fc5c16a7 100644 --- a/src/Microsoft.AspNetCore.Routing/RouteValuesBasedEndpointFinder.cs +++ b/src/Microsoft.AspNetCore.Routing/RouteValuesBasedEndpointFinder.cs @@ -107,6 +107,13 @@ namespace Microsoft.AspNetCore.Routing var endpoints = _endpointDataSource.Endpoints.OfType(); foreach (var endpoint in endpoints) { + // Do not consider an endpoint for link generation if the following marker metadata is on it + var suppressLinkGeneration = endpoint.Metadata.GetMetadata(); + if (suppressLinkGeneration != null) + { + continue; + } + var entry = CreateOutboundRouteEntry(endpoint); var outboundMatch = new OutboundMatch() { Entry = entry }; diff --git a/test/Microsoft.AspNetCore.Routing.Tests/RouteValueBasedEndpointFinderTest.cs b/test/Microsoft.AspNetCore.Routing.Tests/RouteValueBasedEndpointFinderTest.cs index 6296604d2a..fab9c41600 100644 --- a/test/Microsoft.AspNetCore.Routing.Tests/RouteValueBasedEndpointFinderTest.cs +++ b/test/Microsoft.AspNetCore.Routing.Tests/RouteValueBasedEndpointFinderTest.cs @@ -224,6 +224,21 @@ namespace Microsoft.AspNetCore.Routing Assert.Same(expected, actual); } + [Fact] + public void GetOutboundMatches_DoesNotInclude_EndpointsWithSuppressLinkGenerationMetadata() + { + // Arrange + var endpoint = CreateEndpoint( + "/a", + metadataCollection: new EndpointMetadataCollection(new[] { new SuppressLinkGenerationMetadata() })); + + // Act + var finder = CreateEndpointFinder(endpoint); + + // Assert + Assert.Empty(finder.AllMatches); + } + private CustomRouteValuesBasedEndpointFinder CreateEndpointFinder(params Endpoint[] endpoints) { return CreateEndpointFinder(new DefaultEndpointDataSource(endpoints)); @@ -304,5 +319,7 @@ namespace Microsoft.AspNetCore.Routing return matches; } } + + private class SuppressLinkGenerationMetadata : ISuppressLinkGenerationMetadata { } } } From 71cb933a08a56fc89de1f09200dc1eac5101ad79 Mon Sep 17 00:00:00 2001 From: Kiran Challa Date: Fri, 20 Jul 2018 10:09:31 -0700 Subject: [PATCH 093/221] Show a flattened tree in LinkGenerationDecisionTree's DebuggerDisplayString [Fixes #636] Flatten the LinkGenerationDecisionTree to show as debugger display string --- .../Internal/LinkGenerationDecisionTree.cs | 50 +++++++++++++++++++ .../LinkGenerationDecisionTreeTest.cs | 38 +++++++++++++- 2 files changed, 87 insertions(+), 1 deletion(-) diff --git a/src/Microsoft.AspNetCore.Routing/Internal/LinkGenerationDecisionTree.cs b/src/Microsoft.AspNetCore.Routing/Internal/LinkGenerationDecisionTree.cs index 951d6b645c..8e81202fdc 100644 --- a/src/Microsoft.AspNetCore.Routing/Internal/LinkGenerationDecisionTree.cs +++ b/src/Microsoft.AspNetCore.Routing/Internal/LinkGenerationDecisionTree.cs @@ -3,12 +3,16 @@ using System; using System.Collections.Generic; +using System.Diagnostics; +using System.Linq; +using System.Text; using Microsoft.AspNetCore.Routing.DecisionTree; using Microsoft.AspNetCore.Routing.Tree; namespace Microsoft.AspNetCore.Routing.Internal { // A decision tree that matches link generation entries based on route data. + [DebuggerDisplay("{DebuggerDisplayString,nq}")] public class LinkGenerationDecisionTree { private readonly DecisionTreeNode _root; @@ -160,5 +164,51 @@ namespace Microsoft.AspNetCore.Routing.Internal y.Match.Entry.RouteTemplate.TemplateText); } } + + // Example output: + // + // => action: Buy => controller: Store => version: V1(Matches: Store/Buy/V1) + // => action: Buy => controller: Store => version: V2(Matches: Store/Buy/V2) + // => action: Buy => controller: Store => area: Admin(Matches: Admin/Store/Buy) + // => action: Buy => controller: Products(Matches: Products/Buy) + // => action: Cart => controller: Store(Matches: Store/Cart) + internal string DebuggerDisplayString + { + get + { + var sb = new StringBuilder(); + var branchStack = new Stack(); + branchStack.Push(string.Empty); + FlattenTree(_root, branchStack, sb); + return sb.ToString(); + } + } + + private void FlattenTree(DecisionTreeNode node, Stack branchStack, StringBuilder sb) + { + // leaf node + if (node.Criteria.Count == 0) + { + var temp = new StringBuilder(); + foreach (var branch in branchStack) + { + temp.Insert(0, branch); + } + sb.Append(temp.ToString()); + sb.Append(" (Matches: "); + sb.Append(string.Join(", ", node.Matches.Select(m => m.Entry.RouteTemplate.TemplateText))); + sb.AppendLine(")"); + } + + foreach (var criterion in node.Criteria) + { + foreach (var branch in criterion.Branches) + { + branchStack.Push($" => {criterion.Key}: {branch.Key}"); + FlattenTree(branch.Value, branchStack, sb); + branchStack.Pop(); + } + } + } } } \ No newline at end of file diff --git a/test/Microsoft.AspNetCore.Routing.Tests/Internal/LinkGenerationDecisionTreeTest.cs b/test/Microsoft.AspNetCore.Routing.Tests/Internal/LinkGenerationDecisionTreeTest.cs index c8c34b09d4..f07296faba 100644 --- a/test/Microsoft.AspNetCore.Routing.Tests/Internal/LinkGenerationDecisionTreeTest.cs +++ b/test/Microsoft.AspNetCore.Routing.Tests/Internal/LinkGenerationDecisionTreeTest.cs @@ -1,9 +1,11 @@ // Copyright (c) .NET Foundation. All rights reserved. // Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information. +using System; using System.Collections.Generic; using System.Linq; using Microsoft.AspNetCore.Http; +using Microsoft.AspNetCore.Routing.Patterns; using Microsoft.AspNetCore.Routing.Template; using Microsoft.AspNetCore.Routing.Tree; using Xunit; @@ -318,11 +320,45 @@ namespace Microsoft.AspNetCore.Routing.Internal.Routing Assert.Equal(entries, matches); } - private OutboundMatch CreateMatch(object requiredValues) + [Fact] + public void ToDebuggerDisplayString_GivesAFlattenedTree() + { + // Arrange + var entries = new List(); + entries.Add(CreateMatch(new { action = "Buy", controller = "Store", version = "V1" }, "Store/Buy/V1")); + entries.Add(CreateMatch(new { action = "Buy", controller = "Store", area = "Admin" }, "Admin/Store/Buy")); + entries.Add(CreateMatch(new { action = "Buy", controller = "Products" }, "Products/Buy")); + entries.Add(CreateMatch(new { action = "Buy", controller = "Store", version = "V2" }, "Store/Buy/V2")); + entries.Add(CreateMatch(new { action = "Cart", controller = "Store" }, "Store/Cart")); + entries.Add(CreateMatch(new { action = "Index", controller = "Home" }, "Home/Index/{id?}")); + var tree = new LinkGenerationDecisionTree(entries); + var newLine = Environment.NewLine; + var expected = + " => action: Buy => controller: Store => version: V1 (Matches: Store/Buy/V1)" + newLine + + " => action: Buy => controller: Store => version: V2 (Matches: Store/Buy/V2)" + newLine + + " => action: Buy => controller: Store => area: Admin (Matches: Admin/Store/Buy)" + newLine + + " => action: Buy => controller: Products (Matches: Products/Buy)" + newLine + + " => action: Cart => controller: Store (Matches: Store/Cart)" + newLine + + " => action: Index => controller: Home (Matches: Home/Index/{id?})" + newLine; + + // Act + var flattenedTree = tree.DebuggerDisplayString; + + // Assert + Assert.Equal(expected, flattenedTree); + } + + private OutboundMatch CreateMatch(object requiredValues, string routeTemplate = null) { var match = new OutboundMatch(); match.Entry = new OutboundRouteEntry(); match.Entry.RequiredLinkValues = new RouteValueDictionary(requiredValues); + + if (!string.IsNullOrEmpty(routeTemplate)) + { + match.Entry.RouteTemplate = new RouteTemplate(RoutePatternFactory.Parse(routeTemplate)); + } + return match; } From 6f4c10a664bbb155e5085e822f126feef1d33eb4 Mon Sep 17 00:00:00 2001 From: Kiran Challa Date: Tue, 24 Jul 2018 17:17:08 -0700 Subject: [PATCH 094/221] PR feedback --- .../Internal/LinkGenerationDecisionTree.cs | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/src/Microsoft.AspNetCore.Routing/Internal/LinkGenerationDecisionTree.cs b/src/Microsoft.AspNetCore.Routing/Internal/LinkGenerationDecisionTree.cs index 8e81202fdc..eb055f7696 100644 --- a/src/Microsoft.AspNetCore.Routing/Internal/LinkGenerationDecisionTree.cs +++ b/src/Microsoft.AspNetCore.Routing/Internal/LinkGenerationDecisionTree.cs @@ -179,22 +179,22 @@ namespace Microsoft.AspNetCore.Routing.Internal var sb = new StringBuilder(); var branchStack = new Stack(); branchStack.Push(string.Empty); - FlattenTree(_root, branchStack, sb); + FlattenTree(branchStack, sb, _root); return sb.ToString(); } } - private void FlattenTree(DecisionTreeNode node, Stack branchStack, StringBuilder sb) + private void FlattenTree(Stack branchStack, StringBuilder sb, DecisionTreeNode node) { // leaf node if (node.Criteria.Count == 0) { - var temp = new StringBuilder(); + var matchesSb = new StringBuilder(); foreach (var branch in branchStack) { - temp.Insert(0, branch); + matchesSb.Insert(0, branch); } - sb.Append(temp.ToString()); + sb.Append(matchesSb.ToString()); sb.Append(" (Matches: "); sb.Append(string.Join(", ", node.Matches.Select(m => m.Entry.RouteTemplate.TemplateText))); sb.AppendLine(")"); @@ -205,7 +205,7 @@ namespace Microsoft.AspNetCore.Routing.Internal foreach (var branch in criterion.Branches) { branchStack.Push($" => {criterion.Key}: {branch.Key}"); - FlattenTree(branch.Value, branchStack, sb); + FlattenTree(branchStack, sb, branch.Value); branchStack.Pop(); } } From f37ca0d2e9252e412367783722eaf777bb6da9b1 Mon Sep 17 00:00:00 2001 From: Kiran Challa Date: Sat, 21 Jul 2018 04:14:15 -0700 Subject: [PATCH 095/221] Show list of endpoints in CompositeEndpointDataSource's DebuggerDisplayString [Fixes #633] Show list of registered endpoints as debugger display string --- .../CompositeEndpointDataSource.cs | 51 +++++++++++++++++++ 1 file changed, 51 insertions(+) diff --git a/src/Microsoft.AspNetCore.Routing/CompositeEndpointDataSource.cs b/src/Microsoft.AspNetCore.Routing/CompositeEndpointDataSource.cs index bb4836da32..5c6a95500a 100644 --- a/src/Microsoft.AspNetCore.Routing/CompositeEndpointDataSource.cs +++ b/src/Microsoft.AspNetCore.Routing/CompositeEndpointDataSource.cs @@ -3,12 +3,17 @@ using System; using System.Collections.Generic; +using System.Diagnostics; using System.Linq; +using System.Text; using System.Threading; +using Microsoft.AspNetCore.Routing.EndpointConstraints; +using Microsoft.AspNetCore.Routing.Matchers; using Microsoft.Extensions.Primitives; namespace Microsoft.AspNetCore.Routing { + [DebuggerDisplay("{DebuggerDisplayString,nq}")] public class CompositeEndpointDataSource : EndpointDataSource { private readonly EndpointDataSource[] _dataSources; @@ -106,5 +111,51 @@ namespace Microsoft.AspNetCore.Routing _cts = new CancellationTokenSource(); _consumerChangeToken = new CancellationChangeToken(_cts.Token); } + + private string DebuggerDisplayString + { + get + { + // Try using private variable '_endpoints' to avoid initialization + if (_endpoints == null) + { + return "No endpoints"; + } + + var sb = new StringBuilder(); + foreach (var endpoint in _endpoints) + { + if (endpoint is MatcherEndpoint matcherEndpoint) + { + var template = matcherEndpoint.RoutePattern.RawText; + template = string.IsNullOrEmpty(template) ? "\"\"" : template; + sb.Append(template); + var requiredValues = matcherEndpoint.RequiredValues.Select(kvp => $"{kvp.Key} = \"{kvp.Value ?? "null"}\""); + sb.Append(", Required Values: new { "); + sb.Append(string.Join(", ", requiredValues)); + sb.Append(" }"); + sb.Append(", Order:"); + sb.Append(matcherEndpoint.Order); + + var httpEndpointConstraints = matcherEndpoint.Metadata.GetOrderedMetadata() + .OfType(); + foreach (var constraint in httpEndpointConstraints) + { + sb.Append(", Http Methods: "); + sb.Append(string.Join(", ", constraint.HttpMethods)); + sb.Append(", Constraint Order:"); + sb.Append(constraint.Order); + } + sb.AppendLine(); + } + else + { + sb.Append("Non-MatcherEndpoint. DisplayName:"); + sb.AppendLine(endpoint.DisplayName); + } + } + return sb.ToString(); + } + } } } From 147c9527f3a7062ee692f573188828666152ced4 Mon Sep 17 00:00:00 2001 From: Ryan Nowak Date: Tue, 24 Jul 2018 17:31:51 -0700 Subject: [PATCH 096/221] Implement EndpointSelector and MatcherPolicy (#646) Implement EndpointSelector and MatcherPolicy This change makes the EndpointSelector API more concrete, and is the beggining of removing EndpointConstraint by making it obsolete. To that end, I'm introducing MatcherPolicy, which is a feature-collection API for registering policies that interact with the DfaMatcher. The two policies that we'll need to start are: - ability to order endpoints - ability to append 'policy' nodes to the graph These two concepts together replace EndpointConstraint. Extending our graph representation is a really efficient way to processing most common scenarios. --- In general this helps with common cases where 4 or so endpoints match the URL, but with different HTTP methods supported on each. Today we have to process route values and call into some 'policy' to make a decision about which one is the winner. This change pushes this knowledge down into the graph so that it's roughly as cheap as a dictionary lookup, and can be done allocation-free. The big savings here is ability to remove more candidates *before* collecting route data. --- Along with this change, I also built 'rejection' into the DFA node model, you can see an example with the HTTP Method handling that I implemented. I implemented a policy that can treat failure to resolve an HTTP method as a 405 response by returning a failure endpoint. This is at the heart of much of the feedback we've gotten in this area around versioning and http method handling. We also have a version of this feature in MVC for [Consumes]. --- ...heFindCandidateSetSingleEntryBenchmark.cs} | 10 +- .../Matchers/MatcherBenchmarkBase.cs | 1 + ... MatcherFindCandidateSetAzureBenchmark.cs} | 10 +- ...ndCandidateSetAzureBenchmark.generated.cs} | 2 +- ...MatcherFindCandidateSetGithubBenchmark.cs} | 10 +- ...dCandidateSetGithubBenchmark.generated.cs} | 2 +- ...ndCandidateSetSmallEntryCountBenchmark.cs} | 10 +- .../Matchers/TrivialMatcher.cs | 12 +- .../RoutingServiceCollectionExtensions.cs | 4 +- ... => EndpointConstraintEndpointSelector.cs} | 104 ++-- .../HttpMethodEndpointConstraint.cs | 5 +- .../IEndpointConstraint.cs | 17 +- .../Matchers/Candidate.cs | 16 + .../Matchers/CandidateSet.cs | 169 ++++-- .../Matchers/CandidateState.cs | 31 ++ .../Matchers/DefaultEndpointSelector.cs | 86 +++ .../Matchers/DfaMatcher.cs | 171 ++---- .../Matchers/DfaMatcherBuilder.cs | 254 ++++++--- .../Matchers/DfaNode.cs | 38 +- .../Matchers/DfaState.cs | 15 +- .../Matchers/EndpointMetadataComparer.cs | 59 ++ .../Matchers/EndpointSelector.cs | 16 + .../Matchers/HttpMethodMatcherPolicy.cs | 182 +++++++ .../Matchers/IEndpointComparerPolicy.cs | 12 + .../Matchers/INodeBuilderPolicy.cs | 16 + .../Matchers/MatcherBuilderEntry.cs | 49 -- .../Matchers/MatcherEndpointComparer.cs | 103 ++++ .../Matchers/MatcherPolicy.cs | 10 + .../Matchers/PolicyJumpTable.cs | 17 + .../Matchers/PolicyJumpTableBuilder.cs | 32 ++ .../Matchers/PolicyJumpTableEdge.cs | 18 + .../Matchers/PolicyNodeEdge.cs | 20 + .../Metadata/HttpMethodMetadata.cs | 24 + .../Metadata/IHttpMethodMetadata.cs | 12 + .../Patterns/RoutePattern.cs | 8 + .../EndpointConstraintEndpointSelectorTest.cs | 510 ++++++++++++++++++ .../EndpointSelectorTests.cs | 505 ----------------- .../HttpMethodEndpointConstraintTest.cs | 2 + .../Matchers/BarebonesMatcher.cs | 12 +- .../Matchers/CandidateSetTest.cs | 103 ++++ .../Matchers/DefaultEndpointSelectorTest.cs | 203 +++++++ .../Matchers/DfaMatcherBuilderTest.cs | 407 ++++++++++++-- .../Matchers/DfaMatcherTest.cs | 20 +- .../Matchers/EndpointMetadataComparerTest.cs | 91 ++++ .../HttpMethodMatcherPolicyIntegrationTest.cs | 232 ++++++++ .../Matchers/HttpMethodMatcherPolicyTest.cs | 171 ++++++ .../Matchers/MatcherEndpointComparerTest.cs | 254 +++++++++ .../Matchers/RouteMatcherBuilder.cs | 42 +- .../Matchers/TreeRouterMatcherBuilder.cs | 40 +- 49 files changed, 3192 insertions(+), 945 deletions(-) rename benchmarks/Microsoft.AspNetCore.Routing.Performance/Matchers/{MatcherSelectCandidatesSingleEntryBenchmark.cs => MatcheFindCandidateSetSingleEntryBenchmark.cs} (83%) rename benchmarks/Microsoft.AspNetCore.Routing.Performance/Matchers/{MatcherSelectCandidatesAzureBenchmark.cs => MatcherFindCandidateSetAzureBenchmark.cs} (84%) rename benchmarks/Microsoft.AspNetCore.Routing.Performance/Matchers/{MatcherSelectCandidatesAzureBenchmark.generated.cs => MatcherFindCandidateSetAzureBenchmark.generated.cs} (99%) rename benchmarks/Microsoft.AspNetCore.Routing.Performance/Matchers/{MatcherSelectCandidatesGithubBenchmark.cs => MatcherFindCandidateSetGithubBenchmark.cs} (83%) rename benchmarks/Microsoft.AspNetCore.Routing.Performance/Matchers/{MatcherSelectCandidatesGithubBenchmark.generated.cs => MatcherFindCandidateSetGithubBenchmark.generated.cs} (99%) rename benchmarks/Microsoft.AspNetCore.Routing.Performance/Matchers/{MatcherSelectCandidatesSmallEntryCountBenchmark.cs => MatcherFindCandidateSetSmallEntryCountBenchmark.cs} (90%) rename src/Microsoft.AspNetCore.Routing/EndpointConstraints/{EndpointSelector.cs => EndpointConstraintEndpointSelector.cs} (69%) create mode 100644 src/Microsoft.AspNetCore.Routing/Matchers/CandidateState.cs create mode 100644 src/Microsoft.AspNetCore.Routing/Matchers/DefaultEndpointSelector.cs create mode 100644 src/Microsoft.AspNetCore.Routing/Matchers/EndpointMetadataComparer.cs create mode 100644 src/Microsoft.AspNetCore.Routing/Matchers/EndpointSelector.cs create mode 100644 src/Microsoft.AspNetCore.Routing/Matchers/HttpMethodMatcherPolicy.cs create mode 100644 src/Microsoft.AspNetCore.Routing/Matchers/IEndpointComparerPolicy.cs create mode 100644 src/Microsoft.AspNetCore.Routing/Matchers/INodeBuilderPolicy.cs delete mode 100644 src/Microsoft.AspNetCore.Routing/Matchers/MatcherBuilderEntry.cs create mode 100644 src/Microsoft.AspNetCore.Routing/Matchers/MatcherEndpointComparer.cs create mode 100644 src/Microsoft.AspNetCore.Routing/Matchers/MatcherPolicy.cs create mode 100644 src/Microsoft.AspNetCore.Routing/Matchers/PolicyJumpTable.cs create mode 100644 src/Microsoft.AspNetCore.Routing/Matchers/PolicyJumpTableBuilder.cs create mode 100644 src/Microsoft.AspNetCore.Routing/Matchers/PolicyJumpTableEdge.cs create mode 100644 src/Microsoft.AspNetCore.Routing/Matchers/PolicyNodeEdge.cs create mode 100644 src/Microsoft.AspNetCore.Routing/Metadata/HttpMethodMetadata.cs create mode 100644 src/Microsoft.AspNetCore.Routing/Metadata/IHttpMethodMetadata.cs create mode 100644 test/Microsoft.AspNetCore.Routing.Tests/EndpointConstraints/EndpointConstraintEndpointSelectorTest.cs delete mode 100644 test/Microsoft.AspNetCore.Routing.Tests/EndpointConstraints/EndpointSelectorTests.cs create mode 100644 test/Microsoft.AspNetCore.Routing.Tests/Matchers/CandidateSetTest.cs create mode 100644 test/Microsoft.AspNetCore.Routing.Tests/Matchers/DefaultEndpointSelectorTest.cs create mode 100644 test/Microsoft.AspNetCore.Routing.Tests/Matchers/EndpointMetadataComparerTest.cs create mode 100644 test/Microsoft.AspNetCore.Routing.Tests/Matchers/HttpMethodMatcherPolicyIntegrationTest.cs create mode 100644 test/Microsoft.AspNetCore.Routing.Tests/Matchers/HttpMethodMatcherPolicyTest.cs create mode 100644 test/Microsoft.AspNetCore.Routing.Tests/Matchers/MatcherEndpointComparerTest.cs diff --git a/benchmarks/Microsoft.AspNetCore.Routing.Performance/Matchers/MatcherSelectCandidatesSingleEntryBenchmark.cs b/benchmarks/Microsoft.AspNetCore.Routing.Performance/Matchers/MatcheFindCandidateSetSingleEntryBenchmark.cs similarity index 83% rename from benchmarks/Microsoft.AspNetCore.Routing.Performance/Matchers/MatcherSelectCandidatesSingleEntryBenchmark.cs rename to benchmarks/Microsoft.AspNetCore.Routing.Performance/Matchers/MatcheFindCandidateSetSingleEntryBenchmark.cs index 1769ae37b9..18818df532 100644 --- a/benchmarks/Microsoft.AspNetCore.Routing.Performance/Matchers/MatcherSelectCandidatesSingleEntryBenchmark.cs +++ b/benchmarks/Microsoft.AspNetCore.Routing.Performance/Matchers/MatcheFindCandidateSetSingleEntryBenchmark.cs @@ -7,7 +7,7 @@ using Microsoft.AspNetCore.Http; namespace Microsoft.AspNetCore.Routing.Matchers { - public class MatcherSelectCandidatesSingleEntryBenchmark : MatcherBenchmarkBase + public class MatcheFindCandidateSetSingleEntryBenchmark : MatcherBenchmarkBase { private TrivialMatcher _baseline; private DfaMatcher _dfa; @@ -40,9 +40,9 @@ namespace Microsoft.AspNetCore.Routing.Matchers var path = httpContext.Request.Path.Value; var segments = new ReadOnlySpan(Array.Empty()); - var candidates = _baseline.SelectCandidates(path, segments); + var candidates = _baseline.FindCandidateSet(path, segments); - var endpoint = candidates.Candidates[0].Endpoint; + var endpoint = candidates[0].Endpoint; Validate(Requests[0], Endpoints[0], endpoint); } @@ -54,9 +54,9 @@ namespace Microsoft.AspNetCore.Routing.Matchers Span segments = stackalloc PathSegment[FastPathTokenizer.DefaultSegmentCount]; var count = FastPathTokenizer.Tokenize(path, segments); - var candidates = _dfa.SelectCandidates(path, segments.Slice(0, count)); + var candidates = _dfa.FindCandidateSet(httpContext, path, segments.Slice(0, count)); - var endpoint = candidates.Candidates[0].Endpoint; + var endpoint = candidates[0].Endpoint; Validate(Requests[0], Endpoints[0], endpoint); } } diff --git a/benchmarks/Microsoft.AspNetCore.Routing.Performance/Matchers/MatcherBenchmarkBase.cs b/benchmarks/Microsoft.AspNetCore.Routing.Performance/Matchers/MatcherBenchmarkBase.cs index 3cb9649887..bf6a18297b 100644 --- a/benchmarks/Microsoft.AspNetCore.Routing.Performance/Matchers/MatcherBenchmarkBase.cs +++ b/benchmarks/Microsoft.AspNetCore.Routing.Performance/Matchers/MatcherBenchmarkBase.cs @@ -8,6 +8,7 @@ using System.Text; using System.Threading.Tasks; using Microsoft.AspNetCore.Http; using Microsoft.AspNetCore.Routing.EndpointConstraints; +using Microsoft.AspNetCore.Routing.Metadata; using Microsoft.AspNetCore.Routing.Patterns; using Microsoft.Extensions.DependencyInjection; diff --git a/benchmarks/Microsoft.AspNetCore.Routing.Performance/Matchers/MatcherSelectCandidatesAzureBenchmark.cs b/benchmarks/Microsoft.AspNetCore.Routing.Performance/Matchers/MatcherFindCandidateSetAzureBenchmark.cs similarity index 84% rename from benchmarks/Microsoft.AspNetCore.Routing.Performance/Matchers/MatcherSelectCandidatesAzureBenchmark.cs rename to benchmarks/Microsoft.AspNetCore.Routing.Performance/Matchers/MatcherFindCandidateSetAzureBenchmark.cs index edf73d6a48..7c346eca4a 100644 --- a/benchmarks/Microsoft.AspNetCore.Routing.Performance/Matchers/MatcherSelectCandidatesAzureBenchmark.cs +++ b/benchmarks/Microsoft.AspNetCore.Routing.Performance/Matchers/MatcherFindCandidateSetAzureBenchmark.cs @@ -7,7 +7,7 @@ using BenchmarkDotNet.Attributes; namespace Microsoft.AspNetCore.Routing.Matchers { // Generated from https://github.com/Azure/azure-rest-api-specs - public partial class MatcherSelectCandidatesAzureBenchmark : MatcherBenchmarkBase + public partial class MatcherFindCandidateSetAzureBenchmark : MatcherBenchmarkBase { private const int SampleCount = 100; @@ -42,9 +42,9 @@ namespace Microsoft.AspNetCore.Routing.Matchers var path = httpContext.Request.Path.Value; var segments = new ReadOnlySpan(Array.Empty()); - var candidates = _baseline.Matchers[sample].SelectCandidates(path, segments); + var candidates = _baseline.Matchers[sample].FindCandidateSet(path, segments); - var endpoint = candidates.Candidates[0].Endpoint; + var endpoint = candidates[0].Endpoint; Validate(httpContext, Endpoints[sample], endpoint); } } @@ -61,9 +61,9 @@ namespace Microsoft.AspNetCore.Routing.Matchers Span segments = stackalloc PathSegment[FastPathTokenizer.DefaultSegmentCount]; var count = FastPathTokenizer.Tokenize(path, segments); - var candidates = _dfa.SelectCandidates(path, segments.Slice(0, count)); + var candidates = _dfa.FindCandidateSet(httpContext, path, segments.Slice(0, count)); - var endpoint = candidates.Candidates[0].Endpoint; + var endpoint = candidates[0].Endpoint; Validate(httpContext, Endpoints[sample], endpoint); } } diff --git a/benchmarks/Microsoft.AspNetCore.Routing.Performance/Matchers/MatcherSelectCandidatesAzureBenchmark.generated.cs b/benchmarks/Microsoft.AspNetCore.Routing.Performance/Matchers/MatcherFindCandidateSetAzureBenchmark.generated.cs similarity index 99% rename from benchmarks/Microsoft.AspNetCore.Routing.Performance/Matchers/MatcherSelectCandidatesAzureBenchmark.generated.cs rename to benchmarks/Microsoft.AspNetCore.Routing.Performance/Matchers/MatcherFindCandidateSetAzureBenchmark.generated.cs index 65bea532fd..c68f822fc2 100644 --- a/benchmarks/Microsoft.AspNetCore.Routing.Performance/Matchers/MatcherSelectCandidatesAzureBenchmark.generated.cs +++ b/benchmarks/Microsoft.AspNetCore.Routing.Performance/Matchers/MatcherFindCandidateSetAzureBenchmark.generated.cs @@ -7,7 +7,7 @@ using Microsoft.AspNetCore.Http; namespace Microsoft.AspNetCore.Routing.Matchers { // This code was generated by the Swaggatherer - public partial class MatcherSelectCandidatesAzureBenchmark : MatcherBenchmarkBase + public partial class MatcherFindCandidateSetAzureBenchmark : MatcherBenchmarkBase { private const int EndpointCount = 3517; diff --git a/benchmarks/Microsoft.AspNetCore.Routing.Performance/Matchers/MatcherSelectCandidatesGithubBenchmark.cs b/benchmarks/Microsoft.AspNetCore.Routing.Performance/Matchers/MatcherFindCandidateSetGithubBenchmark.cs similarity index 83% rename from benchmarks/Microsoft.AspNetCore.Routing.Performance/Matchers/MatcherSelectCandidatesGithubBenchmark.cs rename to benchmarks/Microsoft.AspNetCore.Routing.Performance/Matchers/MatcherFindCandidateSetGithubBenchmark.cs index f40382dd5d..7b13d8fddf 100644 --- a/benchmarks/Microsoft.AspNetCore.Routing.Performance/Matchers/MatcherSelectCandidatesGithubBenchmark.cs +++ b/benchmarks/Microsoft.AspNetCore.Routing.Performance/Matchers/MatcherFindCandidateSetGithubBenchmark.cs @@ -9,7 +9,7 @@ namespace Microsoft.AspNetCore.Routing.Matchers { // Generated from https://github.com/APIs-guru/openapi-directory // Use https://editor2.swagger.io/ to convert from yaml to json- - public partial class MatcherSelectCandidatesGithubBenchmark : MatcherBenchmarkBase + public partial class MatcherFindCandidateSetGithubBenchmark : MatcherBenchmarkBase { private BarebonesMatcher _baseline; private DfaMatcher _dfa; @@ -35,9 +35,9 @@ namespace Microsoft.AspNetCore.Routing.Matchers var path = httpContext.Request.Path.Value; var segments = new ReadOnlySpan(Array.Empty()); - var candidates = _baseline.Matchers[i].SelectCandidates(path, segments); + var candidates = _baseline.Matchers[i].FindCandidateSet(path, segments); - var endpoint = candidates.Candidates[0].Endpoint; + var endpoint = candidates[0].Endpoint; Validate(httpContext, Endpoints[i], endpoint); } } @@ -53,9 +53,9 @@ namespace Microsoft.AspNetCore.Routing.Matchers Span segments = stackalloc PathSegment[FastPathTokenizer.DefaultSegmentCount]; var count = FastPathTokenizer.Tokenize(path, segments); - var candidates = _dfa.SelectCandidates(path, segments.Slice(0, count)); + var candidates = _dfa.FindCandidateSet(httpContext, path, segments.Slice(0, count)); - var endpoint = candidates.Candidates[0].Endpoint; + var endpoint = candidates[0].Endpoint; Validate(httpContext, Endpoints[i], endpoint); } } diff --git a/benchmarks/Microsoft.AspNetCore.Routing.Performance/Matchers/MatcherSelectCandidatesGithubBenchmark.generated.cs b/benchmarks/Microsoft.AspNetCore.Routing.Performance/Matchers/MatcherFindCandidateSetGithubBenchmark.generated.cs similarity index 99% rename from benchmarks/Microsoft.AspNetCore.Routing.Performance/Matchers/MatcherSelectCandidatesGithubBenchmark.generated.cs rename to benchmarks/Microsoft.AspNetCore.Routing.Performance/Matchers/MatcherFindCandidateSetGithubBenchmark.generated.cs index 2326b6bd8a..034547b9d2 100644 --- a/benchmarks/Microsoft.AspNetCore.Routing.Performance/Matchers/MatcherSelectCandidatesGithubBenchmark.generated.cs +++ b/benchmarks/Microsoft.AspNetCore.Routing.Performance/Matchers/MatcherFindCandidateSetGithubBenchmark.generated.cs @@ -7,7 +7,7 @@ using Microsoft.AspNetCore.Http; namespace Microsoft.AspNetCore.Routing.Matchers { // This code was generated by the Swaggatherer - public partial class MatcherSelectCandidatesGithubBenchmark : MatcherBenchmarkBase + public partial class MatcherFindCandidateSetGithubBenchmark : MatcherBenchmarkBase { private const int EndpointCount = 155; diff --git a/benchmarks/Microsoft.AspNetCore.Routing.Performance/Matchers/MatcherSelectCandidatesSmallEntryCountBenchmark.cs b/benchmarks/Microsoft.AspNetCore.Routing.Performance/Matchers/MatcherFindCandidateSetSmallEntryCountBenchmark.cs similarity index 90% rename from benchmarks/Microsoft.AspNetCore.Routing.Performance/Matchers/MatcherSelectCandidatesSmallEntryCountBenchmark.cs rename to benchmarks/Microsoft.AspNetCore.Routing.Performance/Matchers/MatcherFindCandidateSetSmallEntryCountBenchmark.cs index 790c8993f3..472ff9c2a8 100644 --- a/benchmarks/Microsoft.AspNetCore.Routing.Performance/Matchers/MatcherSelectCandidatesSmallEntryCountBenchmark.cs +++ b/benchmarks/Microsoft.AspNetCore.Routing.Performance/Matchers/MatcherFindCandidateSetSmallEntryCountBenchmark.cs @@ -7,7 +7,7 @@ using Microsoft.AspNetCore.Http; namespace Microsoft.AspNetCore.Routing.Matchers { - public class MatcherSelectCandidatesSmallEntryCountBenchmark : MatcherBenchmarkBase + public class MatcherFindCandidateSetSmallEntryCountBenchmark : MatcherBenchmarkBase { private TrivialMatcher _baseline; private DfaMatcher _dfa; @@ -75,9 +75,9 @@ namespace Microsoft.AspNetCore.Routing.Matchers var segments = new ReadOnlySpan(Array.Empty()); - var candidates = _baseline.SelectCandidates(path, segments); + var candidates = _baseline.FindCandidateSet(path, segments); - var endpoint = candidates.Candidates[0].Endpoint; + var endpoint = candidates[0].Endpoint; Validate(Requests[0], Endpoints[9], endpoint); } @@ -90,9 +90,9 @@ namespace Microsoft.AspNetCore.Routing.Matchers Span segments = stackalloc PathSegment[FastPathTokenizer.DefaultSegmentCount]; var count = FastPathTokenizer.Tokenize(path, segments); - var candidates = _dfa.SelectCandidates(path, segments.Slice(0, count)); + var candidates = _dfa.FindCandidateSet(httpContext, path, segments.Slice(0, count)); - var endpoint = candidates.Candidates[0].Endpoint; + var endpoint = candidates[0].Endpoint; Validate(Requests[0], Endpoints[9], endpoint); } } diff --git a/benchmarks/Microsoft.AspNetCore.Routing.Performance/Matchers/TrivialMatcher.cs b/benchmarks/Microsoft.AspNetCore.Routing.Performance/Matchers/TrivialMatcher.cs index 0483a0b5a9..afdb27d0d9 100644 --- a/benchmarks/Microsoft.AspNetCore.Routing.Performance/Matchers/TrivialMatcher.cs +++ b/benchmarks/Microsoft.AspNetCore.Routing.Performance/Matchers/TrivialMatcher.cs @@ -13,17 +13,13 @@ namespace Microsoft.AspNetCore.Routing.Matchers internal sealed class TrivialMatcher : Matcher { private readonly MatcherEndpoint _endpoint; - private readonly CandidateSet _candidates; + private readonly Candidate[] _candidates; public TrivialMatcher(MatcherEndpoint endpoint) { _endpoint = endpoint; - _candidates = new CandidateSet( - new Candidate[] { new Candidate(endpoint), }, - - // Single candidate group that contains one entry. - CandidateSet.MakeGroups(new[] { 1 })); + _candidates = new Candidate[] { new Candidate(endpoint), }; } public sealed override Task MatchAsync(HttpContext httpContext, IEndpointFeature feature) @@ -49,14 +45,14 @@ namespace Microsoft.AspNetCore.Routing.Matchers } // This is here so this can be tested alongside DFA matcher. - internal CandidateSet SelectCandidates(string path, ReadOnlySpan segments) + internal Candidate[] FindCandidateSet(string path, ReadOnlySpan segments) { if (string.Equals(_endpoint.RoutePattern.RawText, path, StringComparison.OrdinalIgnoreCase)) { return _candidates; } - return CandidateSet.Empty; + return Array.Empty(); } } } diff --git a/src/Microsoft.AspNetCore.Routing/DependencyInjection/RoutingServiceCollectionExtensions.cs b/src/Microsoft.AspNetCore.Routing/DependencyInjection/RoutingServiceCollectionExtensions.cs index 1474d6e76d..fac20603a5 100644 --- a/src/Microsoft.AspNetCore.Routing/DependencyInjection/RoutingServiceCollectionExtensions.cs +++ b/src/Microsoft.AspNetCore.Routing/DependencyInjection/RoutingServiceCollectionExtensions.cs @@ -73,11 +73,13 @@ namespace Microsoft.Extensions.DependencyInjection services.TryAddSingleton, NameBasedEndpointFinder>(); services.TryAddSingleton, RouteValuesBasedEndpointFinder>(); services.TryAddSingleton(); + // // Endpoint Selection // - services.TryAddSingleton(); + services.TryAddSingleton(); services.TryAddSingleton(); + services.TryAddEnumerable(ServiceDescriptor.Singleton()); // Will be cached by the EndpointSelector services.TryAddEnumerable( diff --git a/src/Microsoft.AspNetCore.Routing/EndpointConstraints/EndpointSelector.cs b/src/Microsoft.AspNetCore.Routing/EndpointConstraints/EndpointConstraintEndpointSelector.cs similarity index 69% rename from src/Microsoft.AspNetCore.Routing/EndpointConstraints/EndpointSelector.cs rename to src/Microsoft.AspNetCore.Routing/EndpointConstraints/EndpointConstraintEndpointSelector.cs index 4ade56e671..f063079f87 100644 --- a/src/Microsoft.AspNetCore.Routing/EndpointConstraints/EndpointSelector.cs +++ b/src/Microsoft.AspNetCore.Routing/EndpointConstraints/EndpointConstraintEndpointSelector.cs @@ -1,20 +1,17 @@ // Copyright (c) .NET Foundation. All rights reserved. // Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information. -using Microsoft.AspNetCore.Http; -using Microsoft.AspNetCore.Routing.Matchers; -using Microsoft.Extensions.Internal; -using Microsoft.Extensions.Logging; -using Microsoft.Extensions.Options; using System; using System.Collections.Generic; -using System.Diagnostics; using System.Linq; -using System.Threading; +using System.Threading.Tasks; +using Microsoft.AspNetCore.Http; +using Microsoft.AspNetCore.Routing.Matchers; +using Microsoft.Extensions.Logging; namespace Microsoft.AspNetCore.Routing.EndpointConstraints { - internal class EndpointSelector + internal class EndpointConstraintEndpointSelector : EndpointSelector { private static readonly IReadOnlyList EmptyEndpoints = Array.Empty(); @@ -22,7 +19,7 @@ namespace Microsoft.AspNetCore.Routing.EndpointConstraints private readonly EndpointConstraintCache _endpointConstraintCache; private readonly ILogger _logger; - public EndpointSelector( + public EndpointConstraintEndpointSelector( CompositeEndpointDataSource dataSource, EndpointConstraintCache endpointConstraintCache, ILoggerFactory loggerFactory) @@ -32,11 +29,19 @@ namespace Microsoft.AspNetCore.Routing.EndpointConstraints _endpointConstraintCache = endpointConstraintCache; } - public Endpoint SelectBestCandidate(HttpContext context, IReadOnlyList candidates) + public override Task SelectAsync( + HttpContext httpContext, + IEndpointFeature feature, + CandidateSet candidates) { - if (context == null) + if (httpContext == null) { - throw new ArgumentNullException(nameof(context)); + throw new ArgumentNullException(nameof(httpContext)); + } + + if (feature == null) + { + throw new ArgumentNullException(nameof(feature)); } if (candidates == null) @@ -44,25 +49,30 @@ namespace Microsoft.AspNetCore.Routing.EndpointConstraints throw new ArgumentNullException(nameof(candidates)); } - var finalMatches = EvaluateEndpointConstraints(context, candidates); + var finalMatches = EvaluateEndpointConstraints(httpContext, candidates); if (finalMatches == null || finalMatches.Count == 0) { - return null; + return Task.CompletedTask; } else if (finalMatches.Count == 1) { - var selectedEndpoint = finalMatches[0]; + var endpoint = finalMatches[0].Endpoint; + var values = finalMatches[0].Values; - return selectedEndpoint; + feature.Endpoint = endpoint; + feature.Invoker = (endpoint as MatcherEndpoint)?.Invoker; + feature.Values = values; + + return Task.CompletedTask; } else { var endpointNames = string.Join( Environment.NewLine, - finalMatches.Select(a => a.DisplayName)); + finalMatches.Select(a => a.Endpoint.DisplayName)); - Log.MatchAmbiguous(_logger, context, finalMatches); + Log.MatchAmbiguous(_logger, httpContext, finalMatches); var message = Resources.FormatAmbiguousEndpoints( Environment.NewLine, @@ -72,31 +82,61 @@ namespace Microsoft.AspNetCore.Routing.EndpointConstraints } } - private IReadOnlyList EvaluateEndpointConstraints( + private IReadOnlyList EvaluateEndpointConstraints( HttpContext context, - IReadOnlyList endpoints) + CandidateSet candidateSet) { var candidates = new List(); // Perf: Avoid allocations - for (var i = 0; i < endpoints.Count; i++) + for (var i = 0; i < candidateSet.Count; i++) { - var endpoint = endpoints[i]; - var constraints = _endpointConstraintCache.GetEndpointConstraints(context, endpoint); - candidates.Add(new EndpointSelectorCandidate(endpoint, constraints)); + ref var candidate = ref candidateSet[i]; + if (candidate.IsValidCandidate) + { + var endpoint = candidate.Endpoint; + var constraints = _endpointConstraintCache.GetEndpointConstraints(context, endpoint); + candidates.Add(new EndpointSelectorCandidate( + endpoint, + candidate.Score, + candidate.Values, + constraints)); + } } var matches = EvaluateEndpointConstraintsCore(context, candidates, startingOrder: null); - List results = null; + List results = null; if (matches != null) { - results = new List(matches.Count); - // Perf: Avoid allocations - for (var i = 0; i < matches.Count; i++) + results = new List(matches.Count); + + // We need to disambiguate based on 'score' - take the first value of 'score' + // and then we only copy matches while they have the same score. This accounts + // for a difference in behavior between new routing and old. + switch (matches.Count) { - var candidate = matches[i]; - results.Add(candidate.Endpoint); + case 0: + break; + + case 1: + results.Add(matches[0]); + break; + + default: + var score = matches[0].Score; + for (var i = 0; i < matches.Count; i++) + { + if (matches[i].Score != score) + { + break; + } + + results.Add(matches[i]); + } + + break; + } } @@ -213,11 +253,11 @@ namespace Microsoft.AspNetCore.Routing.EndpointConstraints new EventId(1, "MatchAmbiguous"), "Request matched multiple endpoints for request path '{Path}'. Matching endpoints: {AmbiguousEndpoints}"); - public static void MatchAmbiguous(ILogger logger, HttpContext httpContext, IEnumerable endpoints) + public static void MatchAmbiguous(ILogger logger, HttpContext httpContext, IEnumerable endpoints) { if (logger.IsEnabled(LogLevel.Error)) { - _matchAmbiguous(logger, httpContext.Request.Path, endpoints.Select(e => e.DisplayName), null); + _matchAmbiguous(logger, httpContext.Request.Path, endpoints.Select(e => e.Endpoint.DisplayName), null); } } } diff --git a/src/Microsoft.AspNetCore.Routing/EndpointConstraints/HttpMethodEndpointConstraint.cs b/src/Microsoft.AspNetCore.Routing/EndpointConstraints/HttpMethodEndpointConstraint.cs index 9c890732bc..7631e10b22 100644 --- a/src/Microsoft.AspNetCore.Routing/EndpointConstraints/HttpMethodEndpointConstraint.cs +++ b/src/Microsoft.AspNetCore.Routing/EndpointConstraints/HttpMethodEndpointConstraint.cs @@ -4,10 +4,11 @@ using System; using System.Collections.Generic; using System.Collections.ObjectModel; +using Microsoft.AspNetCore.Routing.Metadata; namespace Microsoft.AspNetCore.Routing.EndpointConstraints { - public class HttpMethodEndpointConstraint : IEndpointConstraint + public class HttpMethodEndpointConstraint : IEndpointConstraint, IHttpMethodMetadata { public static readonly int HttpMethodConstraintOrder = 100; @@ -40,6 +41,8 @@ namespace Microsoft.AspNetCore.Routing.EndpointConstraints public int Order => HttpMethodConstraintOrder; + IReadOnlyList IHttpMethodMetadata.HttpMethods => _httpMethods; + public virtual bool Accept(EndpointConstraintContext context) { if (context == null) diff --git a/src/Microsoft.AspNetCore.Routing/EndpointConstraints/IEndpointConstraint.cs b/src/Microsoft.AspNetCore.Routing/EndpointConstraints/IEndpointConstraint.cs index ace843104d..92a1f17388 100644 --- a/src/Microsoft.AspNetCore.Routing/EndpointConstraints/IEndpointConstraint.cs +++ b/src/Microsoft.AspNetCore.Routing/EndpointConstraints/IEndpointConstraint.cs @@ -1,10 +1,9 @@ // Copyright (c) .NET Foundation. All rights reserved. // Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information. -using Microsoft.AspNetCore.Http; using System; using System.Collections.Generic; -using System.Text; +using Microsoft.AspNetCore.Http; namespace Microsoft.AspNetCore.Routing.EndpointConstraints { @@ -28,9 +27,13 @@ namespace Microsoft.AspNetCore.Routing.EndpointConstraints { } - public struct EndpointSelectorCandidate + public readonly struct EndpointSelectorCandidate { - public EndpointSelectorCandidate(Endpoint endpoint, IReadOnlyList constraints) + public EndpointSelectorCandidate( + Endpoint endpoint, + int score, + RouteValueDictionary values, + IReadOnlyList constraints) { if (endpoint == null) { @@ -38,11 +41,17 @@ namespace Microsoft.AspNetCore.Routing.EndpointConstraints } Endpoint = endpoint; + Score = score; + Values = values; Constraints = constraints; } public Endpoint Endpoint { get; } + public int Score { get; } + + public RouteValueDictionary Values { get; } + public IReadOnlyList Constraints { get; } } diff --git a/src/Microsoft.AspNetCore.Routing/Matchers/Candidate.cs b/src/Microsoft.AspNetCore.Routing/Matchers/Candidate.cs index 857baa24cc..5b6459b386 100644 --- a/src/Microsoft.AspNetCore.Routing/Matchers/Candidate.cs +++ b/src/Microsoft.AspNetCore.Routing/Matchers/Candidate.cs @@ -34,6 +34,19 @@ namespace Microsoft.AspNetCore.Routing.Matchers public readonly MatchProcessor[] MatchProcessors; + // Score is a sequential integer value that in determines the priority of an Endpoint. + // Scores are computed within the context of candidate set, and are meaningless when + // applied to endpoints not in the set. + // + // The score concept boils down the system of comparisons done when ordering Endpoints + // to a single value that can be compared easily. This can be defeated by having + // int32.MaxValue + 1 endpoints in a single set, but you would have other problems by + // that point. + // + // Score is not part of the Endpoint itself, because it's contextual based on where + // the endpoint appears. An Endpoint is often be a member of multiple candiate sets. + public readonly int Score; + // Used in tests. public Candidate(MatcherEndpoint endpoint) { @@ -44,12 +57,14 @@ namespace Microsoft.AspNetCore.Routing.Matchers CatchAll = default; ComplexSegments = Array.Empty<(RoutePatternPathSegment pathSegment, int segmentIndex)>(); MatchProcessors = Array.Empty(); + Score = 0; Flags = CandidateFlags.None; } public Candidate( MatcherEndpoint endpoint, + int score, KeyValuePair[] slots, (string parameterName, int segmentIndex, int slotIndex)[] captures, (string parameterName, int segmentIndex, int slotIndex) catchAll, @@ -57,6 +72,7 @@ namespace Microsoft.AspNetCore.Routing.Matchers MatchProcessor[] matchProcessors) { Endpoint = endpoint; + Score = score; Slots = slots; Captures = captures; CatchAll = catchAll; diff --git a/src/Microsoft.AspNetCore.Routing/Matchers/CandidateSet.cs b/src/Microsoft.AspNetCore.Routing/Matchers/CandidateSet.cs index ad85378f5c..9f89b765a2 100644 --- a/src/Microsoft.AspNetCore.Routing/Matchers/CandidateSet.cs +++ b/src/Microsoft.AspNetCore.Routing/Matchers/CandidateSet.cs @@ -2,56 +2,155 @@ // Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information. using System; +using System.Runtime.CompilerServices; namespace Microsoft.AspNetCore.Routing.Matchers { - internal class CandidateSet + public sealed class CandidateSet { - public static readonly CandidateSet Empty = new CandidateSet(Array.Empty(), Array.Empty()); + // We inline storage for 4 candidates here to avoid allocations in common + // cases. There's no real reason why 4 is important, it just seemed like + // a plausible number. + private CandidateState _state0; + private CandidateState _state1; + private CandidateState _state2; + private CandidateState _state3; - // The array of candidates. - public readonly Candidate[] Candidates; + private CandidateState[] _additionalCandidates; - // The number of groups. - public readonly int GroupCount; - - // The array of groups. Groups define a contiguous sets of indices into - // the candidates array. - // - // The groups array always contains N+1 entries where N is the number of groups. - // The extra array entry is there to make indexing easier, so we can lookup the 'end' - // of the last group without branching. - // - // Example: - // Group0: Candidates[0], Candidates[1] - // Group1: Candidates[2], Candidates[3], Candidates[4] - // - // The groups array would look like: { 0, 2, 5, } - public readonly int[] Groups; - - public CandidateSet(Candidate[] candidates, int[] groups) + // Provided to make testing possible/easy for someone implementing + // an EndpointSelector. + public CandidateSet(MatcherEndpoint[] endpoints, int[] scores) { - Candidates = candidates; - Groups = groups; + Count = endpoints.Length; - GroupCount = groups.Length == 0 ? 0 : groups.Length - 1; + switch (endpoints.Length) + { + case 0: + return; + + case 1: + _state0 = new CandidateState(endpoints[0], score: scores[0]); + break; + + case 2: + _state0 = new CandidateState(endpoints[0], score: scores[0]); + _state1 = new CandidateState(endpoints[1], score: scores[1]); + break; + + case 3: + _state0 = new CandidateState(endpoints[0], score: scores[0]); + _state1 = new CandidateState(endpoints[1], score: scores[1]); + _state2 = new CandidateState(endpoints[2], score: scores[2]); + break; + + case 4: + _state0 = new CandidateState(endpoints[0], score: scores[0]); + _state1 = new CandidateState(endpoints[1], score: scores[1]); + _state2 = new CandidateState(endpoints[2], score: scores[2]); + _state3 = new CandidateState(endpoints[3], score: scores[3]); + break; + + default: + _state0 = new CandidateState(endpoints[0], score: scores[0]); + _state1 = new CandidateState(endpoints[1], score: scores[1]); + _state2 = new CandidateState(endpoints[2], score: scores[2]); + _state3 = new CandidateState(endpoints[3], score: scores[3]); + + _additionalCandidates = new CandidateState[endpoints.Length - 4]; + for (var i = 4; i < endpoints.Length; i++) + { + _additionalCandidates[i - 4] = new CandidateState(endpoints[i], score: scores[i]); + } + break; + } } - // See description on Groups. - public static int[] MakeGroups(int[] lengths) + internal CandidateSet(Candidate[] candidates) { - var groups = new int[lengths.Length + 1]; + Count = candidates.Length; - var sum = 0; - for (var i = 0; i < lengths.Length; i++) + switch (candidates.Length) { - groups[i] = sum; - sum += lengths[i]; + case 0: + return; + + case 1: + _state0 = new CandidateState(candidates[0].Endpoint, candidates[0].Score); + break; + + case 2: + _state0 = new CandidateState(candidates[0].Endpoint, candidates[0].Score); + _state1 = new CandidateState(candidates[1].Endpoint, candidates[1].Score); + break; + + case 3: + _state0 = new CandidateState(candidates[0].Endpoint, candidates[0].Score); + _state1 = new CandidateState(candidates[1].Endpoint, candidates[1].Score); + _state2 = new CandidateState(candidates[2].Endpoint, candidates[2].Score); + break; + + case 4: + _state0 = new CandidateState(candidates[0].Endpoint, candidates[0].Score); + _state1 = new CandidateState(candidates[1].Endpoint, candidates[1].Score); + _state2 = new CandidateState(candidates[2].Endpoint, candidates[2].Score); + _state3 = new CandidateState(candidates[3].Endpoint, candidates[3].Score); + break; + + default: + _state0 = new CandidateState(candidates[0].Endpoint, candidates[0].Score); + _state1 = new CandidateState(candidates[1].Endpoint, candidates[1].Score); + _state2 = new CandidateState(candidates[2].Endpoint, candidates[2].Score); + _state3 = new CandidateState(candidates[3].Endpoint, candidates[3].Score); + + _additionalCandidates = new CandidateState[candidates.Length - 4]; + for (var i = 4; i < candidates.Length; i++) + { + _additionalCandidates[i - 4] = new CandidateState(candidates[i].Endpoint, candidates[i].Score); + } + break; } + } - groups[lengths.Length] = sum; + public int Count { get; } - return groups; + // Note that this is a ref-return because of both mutability and performance. + // We don't want to copy these fat structs if it can be avoided. + public ref CandidateState this[int index] + { + // PERF: Force inlining + [MethodImpl(MethodImplOptions.AggressiveInlining)] + get + { + // Friendliness for inlining + if ((uint)index >= Count) + { + ThrowIndexArgumentOutOfRangeException(); + } + + switch (index) + { + case 0: + return ref _state0; + + case 1: + return ref _state1; + + case 2: + return ref _state2; + + case 3: + return ref _state3; + + default: + return ref _additionalCandidates[index - 4]; + } + } + } + + private static void ThrowIndexArgumentOutOfRangeException() + { + throw new ArgumentOutOfRangeException("index"); } } -} \ No newline at end of file +} diff --git a/src/Microsoft.AspNetCore.Routing/Matchers/CandidateState.cs b/src/Microsoft.AspNetCore.Routing/Matchers/CandidateState.cs new file mode 100644 index 0000000000..b302b23bf2 --- /dev/null +++ b/src/Microsoft.AspNetCore.Routing/Matchers/CandidateState.cs @@ -0,0 +1,31 @@ +// Copyright (c) .NET Foundation. All rights reserved. +// Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information. + +namespace Microsoft.AspNetCore.Routing.Matchers +{ + public struct CandidateState + { + // Provided for testability + public CandidateState(MatcherEndpoint endpoint) + : this(endpoint, score: 0) + { + } + + public CandidateState(MatcherEndpoint endpoint, int score) + { + Endpoint = endpoint; + Score = score; + + IsValidCandidate = true; + Values = null; + } + + public MatcherEndpoint Endpoint { get; } + + public int Score { get; } + + public bool IsValidCandidate { get; set; } + + public RouteValueDictionary Values { get; set; } + } +} diff --git a/src/Microsoft.AspNetCore.Routing/Matchers/DefaultEndpointSelector.cs b/src/Microsoft.AspNetCore.Routing/Matchers/DefaultEndpointSelector.cs new file mode 100644 index 0000000000..b76010851f --- /dev/null +++ b/src/Microsoft.AspNetCore.Routing/Matchers/DefaultEndpointSelector.cs @@ -0,0 +1,86 @@ +// Copyright (c) .NET Foundation. All rights reserved. +// Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information. + +using System; +using System.Collections.Generic; +using System.Linq; +using System.Threading.Tasks; +using Microsoft.AspNetCore.Http; + +namespace Microsoft.AspNetCore.Routing.Matchers +{ + internal class DefaultEndpointSelector : EndpointSelector + { + public override Task SelectAsync( + HttpContext httpContext, + IEndpointFeature feature, + CandidateSet candidates) + { + MatcherEndpoint endpoint = null; + RouteValueDictionary values = null; + int? foundScore = null; + for (var i = 0; i < candidates.Count; i++) + { + ref var state = ref candidates[i]; + + var isValid = state.IsValidCandidate; + if (isValid && foundScore == null) + { + // This is the first match we've seen - speculatively assign it. + endpoint = state.Endpoint; + values = state.Values; + foundScore = state.Score; + } + else if (isValid && foundScore < state.Score) + { + // This candidate is lower priority than the one we've seen + // so far, we can stop. + // + // Don't worry about the 'null < state.Score' case, it returns false. + break; + } + else if (isValid && foundScore == state.Score) + { + // This is the second match we've found of the same score, so there + // must be an ambiguity. + // + // Don't worry about the 'null == state.Score' case, it returns false. + + ReportAmbiguity(candidates); + + // Unreachable, ReportAmbiguity always throws. + throw new NotSupportedException(); + } + } + + if (endpoint != null) + { + feature.Endpoint = endpoint; + feature.Invoker = endpoint.Invoker; + feature.Values = values; + } + + return Task.CompletedTask; + } + + private static void ReportAmbiguity(CandidateSet candidates) + { + // If we get here it's the result of an ambiguity - we're OK with this + // being a littler slower and more allocatey. + var matches = new List(); + for (var i = 0; i < candidates.Count; i++) + { + ref var state = ref candidates[i]; + if (state.IsValidCandidate) + { + matches.Add(state.Endpoint); + } + } + + var message = Resources.FormatAmbiguousEndpoints( + Environment.NewLine, + string.Join(Environment.NewLine, matches.Select(e => e.DisplayName))); + throw new AmbiguousMatchException(message); + } + } +} diff --git a/src/Microsoft.AspNetCore.Routing/Matchers/DfaMatcher.cs b/src/Microsoft.AspNetCore.Routing/Matchers/DfaMatcher.cs index 75a700a02b..a7908e1662 100644 --- a/src/Microsoft.AspNetCore.Routing/Matchers/DfaMatcher.cs +++ b/src/Microsoft.AspNetCore.Routing/Matchers/DfaMatcher.cs @@ -2,25 +2,21 @@ // Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information. using System; -using System.Collections; using System.Collections.Generic; -using System.Diagnostics; -using System.Linq; using System.Threading.Tasks; using Microsoft.AspNetCore.Http; -using Microsoft.AspNetCore.Routing.EndpointConstraints; using Microsoft.AspNetCore.Routing.Patterns; namespace Microsoft.AspNetCore.Routing.Matchers { internal sealed class DfaMatcher : Matcher { - private readonly EndpointSelector _endpointSelector; + private readonly EndpointSelector _selector; private readonly DfaState[] _states; - public DfaMatcher(EndpointSelector endpointSelector, DfaState[] states) + public DfaMatcher(EndpointSelector selector, DfaState[] states) { - _endpointSelector = endpointSelector; + _selector = selector; _states = states; } @@ -46,117 +42,40 @@ namespace Microsoft.AspNetCore.Routing.Matchers var count = FastPathTokenizer.Tokenize(path, buffer); var segments = buffer.Slice(0, count); - // SelectCandidates will process the DFA and return a candidate set. This does + // FindCandidateSet will process the DFA and return a candidate set. This does // some preliminary matching of the URL (mostly the literal segments). - var candidates = SelectCandidates(path, segments); - if (candidates.GroupCount == 0) + var candidates = FindCandidateSet(httpContext, path, segments); + if (candidates.Length == 0) { return Task.CompletedTask; } - // At this point we have a candidate set, defined as a list of groups - // of candidates. Each member of a given group has the same priority - // (priority is defined by order, precedence and other factors like http method - // or version). + // At this point we have a candidate set, defined as a list of endpoints in + // priority order. // // We don't yet know that any candidate can be considered a match, because // we haven't processed things like route constraints and complex segments. // - // Now we'll go group by group to capture route values, process constraints, + // Now we'll iterate each endpoint to capture route values, process constraints, // and process complex segments. + + // `candidates` has all of our internal state that we use to process the + // set of endpoints before we call the EndpointSelector. // - // Perf: using groups.Length - 1 here to elide the bounds check. We're relying - // on assumptions of how Groups works. - var candidatesArray = candidates.Candidates; - var groups = candidates.Groups; + // `candidateSet` is the mutable state that we pass to the EndpointSelector. + var candidateSet = new CandidateSet(candidates); - for (var i = 0; i < groups.Length - 1; i++) + for (var i = 0; i < candidates.Length; i++) { - var start = groups[i]; - var length = groups[i + 1] - groups[i]; - var group = candidatesArray.AsSpan(start, length); - - // Yes, these allocate. We should revise how this interaction works exactly - // once the extensibility is more locked down. + // PERF: using ref here to avoid copying around big structs. // - // Would could produce a fast path for a small number of members in - // a group. - var members = new BitArray(group.Length); - var groupValues = new RouteValueDictionary[group.Length]; + // Reminder! + // candidate: readonly data about the endpoint and how to match + // state: mutable storarge for our processing + ref var candidate = ref candidates[i]; + ref var state = ref candidateSet[i]; - if (FilterGroup( - httpContext, - path, - segments, - group, - members, - groupValues)) - { - // We must have some matches because FilterGroup returned true. - - // So: this code is SUPER SUPER temporary. We don't intent to keep - // EndpointSelector around for very long. - var candidatesForEndpointSelector = new List(); - for (var j = 0; j < group.Length; j++) - { - if (members.Get(j)) - { - candidatesForEndpointSelector.Add(group[j].Endpoint); - } - } - - var result = _endpointSelector.SelectBestCandidate(httpContext, candidatesForEndpointSelector); - if (result != null) - { - // Find the route values, based on which endpoint was selected. We have - // to do this because the endpoint selector returns an endpoint - // instead of mutating the feature. - for (var j = 0; j < group.Length; j++) - { - if (ReferenceEquals(result, group[j].Endpoint)) - { - feature.Endpoint = result; - feature.Invoker = ((MatcherEndpoint)result).Invoker; - feature.Values = groupValues[j]; - return Task.CompletedTask; - } - } - } - - // End super temporary code - } - } - - return Task.CompletedTask; - } - - internal CandidateSet SelectCandidates(string path, ReadOnlySpan segments) - { - var states = _states; - - var destination = 0; - for (var i = 0; i < segments.Length; i++) - { - destination = states[destination].Transitions.GetDestination(path, segments[i]); - } - - return states[destination].Candidates; - } - - private bool FilterGroup( - HttpContext httpContext, - string path, - ReadOnlySpan segments, - ReadOnlySpan group, - BitArray members, - RouteValueDictionary[] groupValues) - { - var hasMatch = false; - for (var i = 0; i < group.Length; i++) - { - // PERF: specifically not copying group[i] into a local. It's a relatively - // fat struct and we don't want to eagerly copy it. - var flags = group[i].Flags; + var flags = candidate.Flags; // First process all of the parameters and defaults. RouteValueDictionary values; @@ -170,7 +89,7 @@ namespace Microsoft.AspNetCore.Routing.Matchers // // We want to create a new array for the route values based on Slots // as a prototype. - var prototype = group[i].Slots; + var prototype = candidate.Slots; var slots = new KeyValuePair[prototype.Length]; if ((flags & Candidate.CandidateFlags.HasDefaults) != 0) @@ -180,38 +99,62 @@ namespace Microsoft.AspNetCore.Routing.Matchers if ((flags & Candidate.CandidateFlags.HasCaptures) != 0) { - ProcessCaptures(slots, group[i].Captures, path, segments); + ProcessCaptures(slots, candidate.Captures, path, segments); } if ((flags & Candidate.CandidateFlags.HasCatchAll) != 0) - { - ProcessCatchAll(slots, group[i].CatchAll, path, segments); + { + ProcessCatchAll(slots, candidate.CatchAll, path, segments); } values = RouteValueDictionary.FromArray(slots); } - groupValues[i] = values; - + state.Values = values; + // Now that we have the route values, we need to process complex segments. // Complex segments go through an old API that requires a fully-materialized // route value dictionary. var isMatch = true; if ((flags & Candidate.CandidateFlags.HasComplexSegments) != 0) { - isMatch &= ProcessComplexSegments(group[i].ComplexSegments, path, segments, values); + isMatch &= ProcessComplexSegments(candidate.ComplexSegments, path, segments, values); } if ((flags & Candidate.CandidateFlags.HasMatchProcessors) != 0) { - isMatch &= ProcessMatchProcessors(group[i].MatchProcessors, httpContext, values); + isMatch &= ProcessMatchProcessors(candidate.MatchProcessors, httpContext, values); } - members.Set(i, isMatch); - hasMatch |= isMatch; + state.IsValidCandidate = isMatch; } - return hasMatch; + return _selector.SelectAsync(httpContext, feature, candidateSet); + } + + internal Candidate[] FindCandidateSet( + HttpContext httpContext, + string path, + ReadOnlySpan segments) + { + var states = _states; + + // Process each path segment + var destination = 0; + for (var i = 0; i < segments.Length; i++) + { + destination = states[destination].PathTransitions.GetDestination(path, segments[i]); + } + + // Process an arbitrary number of policy-based decisions + var policyTransitions = states[destination].PolicyTransitions; + while (policyTransitions != null) + { + destination = policyTransitions.GetDestination(httpContext); + policyTransitions = states[destination].PolicyTransitions; + } + + return states[destination].Candidates; } private void ProcessCaptures( diff --git a/src/Microsoft.AspNetCore.Routing/Matchers/DfaMatcherBuilder.cs b/src/Microsoft.AspNetCore.Routing/Matchers/DfaMatcherBuilder.cs index ab9936ed06..c5f75cee4e 100644 --- a/src/Microsoft.AspNetCore.Routing/Matchers/DfaMatcherBuilder.cs +++ b/src/Microsoft.AspNetCore.Routing/Matchers/DfaMatcherBuilder.cs @@ -4,32 +4,37 @@ using System; using System.Collections.Generic; using System.Linq; -using Microsoft.AspNetCore.Routing.EndpointConstraints; using Microsoft.AspNetCore.Routing.Patterns; -using Microsoft.AspNetCore.Routing.Template; -using Microsoft.Extensions.Options; namespace Microsoft.AspNetCore.Routing.Matchers { internal class DfaMatcherBuilder : MatcherBuilder { - private readonly List _entries = new List(); - private readonly IInlineConstraintResolver _constraintResolver = new DefaultInlineConstraintResolver(Options.Create(new RouteOptions())); + private readonly List _endpoints = new List(); private readonly MatchProcessorFactory _matchProcessorFactory; - private readonly EndpointSelector _endpointSelector; + private readonly EndpointSelector _selector; + private readonly MatcherPolicy[] _policies; + private readonly INodeBuilderPolicy[] _nodeBuilders; + private readonly MatcherEndpointComparer _comparer; public DfaMatcherBuilder( MatchProcessorFactory matchProcessorFactory, - EndpointSelector endpointSelector) + EndpointSelector selector, + IEnumerable policies) { - _matchProcessorFactory = matchProcessorFactory ?? throw new ArgumentNullException(nameof(matchProcessorFactory)); - _endpointSelector = endpointSelector ?? throw new ArgumentNullException(nameof(endpointSelector)); + _matchProcessorFactory = matchProcessorFactory; + _selector = selector; + _policies = policies.OrderBy(p => p.Order).ToArray(); + + // Taking care to use _policies, which has been sorted. + _nodeBuilders = _policies.OfType().ToArray(); + _comparer = new MatcherEndpointComparer(_policies.OfType().ToArray()); } public override void AddEndpoint(MatcherEndpoint endpoint) { - _entries.Add(new MatcherBuilderEntry(endpoint)); + _endpoints.Add(endpoint); } public DfaNode BuildDfaTree() @@ -38,48 +43,48 @@ namespace Microsoft.AspNetCore.Routing.Matchers // because a 'parameter' node can also traverse the same paths that literal nodes // traverse. This means that we need to order the entries first, or else we will // miss possible edges in the DFA. - _entries.Sort(); + _endpoints.Sort(_comparer); // Since we're doing a BFS we will process each 'level' of the tree in stages // this list will hold the set of items we need to process at the current // stage. - var work = new List<(MatcherBuilderEntry entry, List parents)>(); + var work = new List<(MatcherEndpoint endpoint, List parents)>(); var root = new DfaNode() { Depth = 0, Label = "/" }; // To prepare for this we need to compute the max depth, as well as // a seed list of items to process (entry, root). var maxDepth = 0; - for (var i = 0; i < _entries.Count; i++) + for (var i = 0; i < _endpoints.Count; i++) { - var entry = _entries[i]; - maxDepth = Math.Max(maxDepth, entry.RoutePattern.PathSegments.Count); + var endpoint = _endpoints[i]; + maxDepth = Math.Max(maxDepth, endpoint.RoutePattern.PathSegments.Count); - work.Add((entry, new List() { root, })); + work.Add((endpoint, new List() { root, })); } // Now we process the entries a level at a time. for (var depth = 0; depth <= maxDepth; depth++) { // As we process items, collect the next set of items. - var nextWork = new List<(MatcherBuilderEntry entry, List parents)>(); + var nextWork = new List<(MatcherEndpoint endpoint, List parents)>(); for (var i = 0; i < work.Count; i++) { - var (entry, parents) = work[i]; + var (endpoint, parents) = work[i]; - if (!HasAdditionalRequiredSegments(entry, depth)) + if (!HasAdditionalRequiredSegments(endpoint, depth)) { for (var j = 0; j < parents.Count; j++) { var parent = parents[j]; - parent.Matches.Add(entry); + parent.Matches.Add(endpoint); } } // Find the parents of this edge at the current depth var nextParents = new List(); - var segment = GetCurrentSegment(entry, depth); + var segment = GetCurrentSegment(endpoint, depth); if (segment == null) { continue; @@ -133,7 +138,7 @@ namespace Microsoft.AspNetCore.Routing.Matchers parent.CatchAll.CatchAll = parent.CatchAll; } - parent.CatchAll.Matches.Add(entry); + parent.CatchAll.Matches.Add(endpoint); } else if (segment.IsSimple && part.IsParameter) { @@ -172,7 +177,7 @@ namespace Microsoft.AspNetCore.Routing.Matchers if (nextParents.Count > 0) { - nextWork.Add((entry, nextParents)); + nextWork.Add((endpoint, nextParents)); } } @@ -180,22 +185,26 @@ namespace Microsoft.AspNetCore.Routing.Matchers work = nextWork; } + // Build the trees of policy nodes (like HTTP methods). Post-order traversal + // means that we won't have infinite recursion. + root.Visit(ApplyPolicies); + return root; } - private RoutePatternPathSegment GetCurrentSegment(MatcherBuilderEntry entry, int depth) + private RoutePatternPathSegment GetCurrentSegment(MatcherEndpoint endpoint, int depth) { - if (depth < entry.RoutePattern.PathSegments.Count) + if (depth < endpoint.RoutePattern.PathSegments.Count) { - return entry.RoutePattern.PathSegments[depth]; + return endpoint.RoutePattern.PathSegments[depth]; } - if (entry.RoutePattern.PathSegments.Count == 0) + if (endpoint.RoutePattern.PathSegments.Count == 0) { return null; } - var lastSegment = entry.RoutePattern.PathSegments[entry.RoutePattern.PathSegments.Count - 1]; + var lastSegment = endpoint.RoutePattern.PathSegments[endpoint.RoutePattern.PathSegments.Count - 1]; if (lastSegment.IsSimple && lastSegment.Parts[0] is RoutePatternParameterPart parameterPart && parameterPart.IsCatchAll) { return lastSegment; @@ -209,46 +218,56 @@ namespace Microsoft.AspNetCore.Routing.Matchers var root = BuildDfaTree(); var states = new List(); - var tables = new List(); - AddNode(root, states, tables); + var tableBuilders = new List<(JumpTableBuilder pathBuilder, PolicyJumpTableBuilder policyBuilder)>(); + AddNode(root, states, tableBuilders); var exit = states.Count; - states.Add(new DfaState(CandidateSet.Empty, null)); - tables.Add(new JumpTableBuilder() { DefaultDestination = exit, ExitDestination = exit, }); + states.Add(new DfaState(Array.Empty(), null, null)); + tableBuilders.Add((new JumpTableBuilder() { DefaultDestination = exit, ExitDestination = exit, }, null)); - for (var i = 0; i < tables.Count; i++) + for (var i = 0; i < tableBuilders.Count; i++) { - if (tables[i].DefaultDestination == JumpTableBuilder.InvalidDestination) + if (tableBuilders[i].pathBuilder?.DefaultDestination == JumpTableBuilder.InvalidDestination) { - tables[i].DefaultDestination = exit; + tableBuilders[i].pathBuilder.DefaultDestination = exit; } - if (tables[i].ExitDestination == JumpTableBuilder.InvalidDestination) + if (tableBuilders[i].pathBuilder?.ExitDestination == JumpTableBuilder.InvalidDestination) { - tables[i].ExitDestination = exit; + tableBuilders[i].pathBuilder.ExitDestination = exit; + } + + if (tableBuilders[i].policyBuilder?.ExitDestination == JumpTableBuilder.InvalidDestination) + { + tableBuilders[i].policyBuilder.ExitDestination = exit; } } for (var i = 0; i < states.Count; i++) { - states[i] = new DfaState(states[i].Candidates, tables[i].Build()); + states[i] = new DfaState( + states[i].Candidates, + tableBuilders[i].pathBuilder?.Build(), + tableBuilders[i].policyBuilder?.Build()); } - return new DfaMatcher(_endpointSelector, states.ToArray()); + return new DfaMatcher(_selector, states.ToArray()); } - private int AddNode(DfaNode node, List states, List tables) + private int AddNode( + DfaNode node, + List states, + List<(JumpTableBuilder pathBuilder, PolicyJumpTableBuilder policyBuilder)> tableBuilders) { - node.Matches.Sort(); + node.Matches.Sort(_comparer); var stateIndex = states.Count; - var candidates = new CandidateSet( - node.Matches.Select(CreateCandidate).ToArray(), - CandidateSet.MakeGroups(GetGroupLengths(node))); - states.Add(new DfaState(candidates, null)); - var table = new JumpTableBuilder(); - tables.Add(table); + var candidates = CreateCandidates(node.Matches); + states.Add(new DfaState(candidates, null, null)); + + var pathBuilder = new JumpTableBuilder(); + tableBuilders.Add((pathBuilder, null)); foreach (var kvp in node.Literals) { @@ -258,7 +277,7 @@ namespace Microsoft.AspNetCore.Routing.Matchers } var transition = Transition(kvp.Value); - table.AddEntry(kvp.Key, transition); + pathBuilder.AddEntry(kvp.Key, transition); } if (node.Parameters != null && @@ -267,26 +286,37 @@ namespace Microsoft.AspNetCore.Routing.Matchers { // This node has a single transition to but it should accept zero-width segments // this can happen when a node only has catchall parameters. - table.DefaultDestination = Transition(node.Parameters); - table.ExitDestination = table.DefaultDestination; + pathBuilder.DefaultDestination = Transition(node.Parameters); + pathBuilder.ExitDestination = pathBuilder.DefaultDestination; } else if (node.Parameters != null && node.CatchAll != null) { // This node has a separate transition for zero-width segments // this can happen when a node has both parameters and catchall parameters. - table.DefaultDestination = Transition(node.Parameters); - table.ExitDestination = Transition(node.CatchAll); + pathBuilder.DefaultDestination = Transition(node.Parameters); + pathBuilder.ExitDestination = Transition(node.CatchAll); } else if (node.Parameters != null) { // This node has paramters but no catchall. - table.DefaultDestination = Transition(node.Parameters); + pathBuilder.DefaultDestination = Transition(node.Parameters); } else if (node.CatchAll != null) { // This node has a catchall but no parameters - table.DefaultDestination = Transition(node.CatchAll); - table.ExitDestination = table.DefaultDestination; + pathBuilder.DefaultDestination = Transition(node.CatchAll); + pathBuilder.ExitDestination = pathBuilder.DefaultDestination; + } + + if (node.PolicyEdges.Count > 0) + { + var policyBuilder = new PolicyJumpTableBuilder(node.NodeBuilder); + tableBuilders[stateIndex] = (pathBuilder, policyBuilder); + + foreach (var kvp in node.PolicyEdges) + { + policyBuilder.AddEntry(kvp.Key, Transition(kvp.Value)); + } } return stateIndex; @@ -294,27 +324,58 @@ namespace Microsoft.AspNetCore.Routing.Matchers int Transition(DfaNode next) { // Break cycles - return ReferenceEquals(node, next) ? stateIndex : AddNode(next, states, tables); + return ReferenceEquals(node, next) ? stateIndex : AddNode(next, states, tableBuilders); } } + // Builds an array of candidates for a node, assigns a 'score' for each + // endpoint. + internal Candidate[] CreateCandidates(IReadOnlyList endpoints) + { + if (endpoints.Count == 0) + { + return Array.Empty(); + } + + var candiates = new Candidate[endpoints.Count]; + + var score = 0; + var examplar = endpoints[0]; + candiates[0] = CreateCandidate(examplar, score); + + for (var i = 1; i < endpoints.Count; i++) + { + var endpoint = endpoints[i]; + if (!_comparer.Equals(examplar, endpoint)) + { + // This endpoint doesn't have the same priority. + examplar = endpoint; + score++; + } + + candiates[i] = CreateCandidate(endpoint, score); + } + + return candiates; + } + // internal for tests - internal Candidate CreateCandidate(MatcherBuilderEntry entry) + internal Candidate CreateCandidate(MatcherEndpoint endpoint, int score) { var assignments = new Dictionary(StringComparer.OrdinalIgnoreCase); var slots = new List>(); var captures = new List<(string parameterName, int segmentIndex, int slotIndex)>(); (string parameterName, int segmentIndex, int slotIndex) catchAll = default; - foreach (var kvp in entry.Endpoint.RoutePattern.Defaults) + foreach (var kvp in endpoint.RoutePattern.Defaults) { assignments.Add(kvp.Key, assignments.Count); slots.Add(kvp); } - for (var i = 0; i < entry.Endpoint.RoutePattern.PathSegments.Count; i++) + for (var i = 0; i < endpoint.RoutePattern.PathSegments.Count; i++) { - var segment = entry.Endpoint.RoutePattern.PathSegments[i]; + var segment = endpoint.RoutePattern.PathSegments[i]; if (!segment.IsSimple) { continue; @@ -346,9 +407,9 @@ namespace Microsoft.AspNetCore.Routing.Matchers } var complexSegments = new List<(RoutePatternPathSegment pathSegment, int segmentIndex)>(); - for (var i = 0; i < entry.RoutePattern.PathSegments.Count; i++) + for (var i = 0; i < endpoint.RoutePattern.PathSegments.Count; i++) { - var segment = entry.RoutePattern.PathSegments[i]; + var segment = endpoint.RoutePattern.PathSegments[i]; if (segment.IsSimple) { continue; @@ -358,9 +419,9 @@ namespace Microsoft.AspNetCore.Routing.Matchers } var matchProcessors = new List(); - foreach (var kvp in entry.Endpoint.RoutePattern.Constraints) + foreach (var kvp in endpoint.RoutePattern.Constraints) { - var parameter = entry.Endpoint.RoutePattern.GetParameter(kvp.Key); // may be null, that's ok + var parameter = endpoint.RoutePattern.GetParameter(kvp.Key); // may be null, that's ok var constraintReferences = kvp.Value; for (var i = 0; i < constraintReferences.Count; i++) { @@ -371,7 +432,8 @@ namespace Microsoft.AspNetCore.Routing.Matchers } return new Candidate( - entry.Endpoint, + endpoint, + score, slots.ToArray(), captures.ToArray(), catchAll, @@ -393,7 +455,7 @@ namespace Microsoft.AspNetCore.Routing.Matchers for (var i = 1; i < node.Matches.Count; i++) { - if (!exemplar.PriorityEquals(node.Matches[i])) + if (!_comparer.Equals(exemplar, node.Matches[i])) { groups.Add(length); length = 0; @@ -409,11 +471,11 @@ namespace Microsoft.AspNetCore.Routing.Matchers return groups.ToArray(); } - private static bool HasAdditionalRequiredSegments(MatcherBuilderEntry entry, int depth) + private static bool HasAdditionalRequiredSegments(MatcherEndpoint endpoint, int depth) { - for (var i = depth; i < entry.RoutePattern.PathSegments.Count; i++) + for (var i = depth; i < endpoint.RoutePattern.PathSegments.Count; i++) { - var segment = entry.RoutePattern.PathSegments[i]; + var segment = endpoint.RoutePattern.PathSegments[i]; if (!segment.IsSimple) { // Complex segments always require more processing @@ -437,5 +499,59 @@ namespace Microsoft.AspNetCore.Routing.Matchers return false; } + + private void ApplyPolicies(DfaNode node) + { + if (node.Matches.Count == 0) + { + return; + } + + // Start with the current node as the root. + var work = new List() { node, }; + for (var i = 0; i < _nodeBuilders.Length; i++) + { + var nodeBuilder = _nodeBuilders[i]; + + // Build a list of each + var nextWork = new List(); + + for (var j = 0; j < work.Count; j++) + { + var parent = work[j]; + if (!nodeBuilder.AppliesToNode(parent.Matches)) + { + // This node-builder doesn't care about this node, so add it to the list + // to be processed by the next node-builder. + nextWork.Add(parent); + continue; + } + + // This node-builder does apply to this node, so we need to create new nodes for each edge, + // and then attach them to the parent. + var edges = nodeBuilder.GetEdges(parent.Matches); + for (var k = 0; k < edges.Count; k++) + { + var edge = edges[k]; + + var next = new DfaNode(); + + // TODO: https://github.com/aspnet/Routing/issues/648 + next.Matches.AddRange(edge.Endpoints.Cast().ToArray()); + nextWork.Add(next); + + parent.PolicyEdges.Add(edge.State, next); + } + + // Associate the node-builder so we can build a jump table later. + parent.NodeBuilder = nodeBuilder; + + // The parent no longer has matches, it's not considered a terminal node. + parent.Matches.Clear(); + } + + work = nextWork; + } + } } } diff --git a/src/Microsoft.AspNetCore.Routing/Matchers/DfaNode.cs b/src/Microsoft.AspNetCore.Routing/Matchers/DfaNode.cs index bf16975db8..5508f0f460 100644 --- a/src/Microsoft.AspNetCore.Routing/Matchers/DfaNode.cs +++ b/src/Microsoft.AspNetCore.Routing/Matchers/DfaNode.cs @@ -16,7 +16,8 @@ namespace Microsoft.AspNetCore.Routing.Matchers public DfaNode() { Literals = new Dictionary(StringComparer.OrdinalIgnoreCase); - Matches = new List(); + Matches = new List(); + PolicyEdges = new Dictionary(); } // The depth of the node. The depth indicates the number of segments @@ -25,8 +26,8 @@ namespace Microsoft.AspNetCore.Routing.Matchers // Just for diagnostics and debugging public string Label { get; set; } - - public List Matches { get; } + + public List Matches { get; } public Dictionary Literals { get; } @@ -34,6 +35,37 @@ namespace Microsoft.AspNetCore.Routing.Matchers public DfaNode CatchAll { get; set; } + public INodeBuilderPolicy NodeBuilder { get; set; } + + public Dictionary PolicyEdges { get; } + + public void Visit(Action visitor) + { + foreach (var kvp in Literals) + { + kvp.Value.Visit(visitor); + } + + // Break cycles + if (Parameters != null && !ReferenceEquals(this, Parameters)) + { + Parameters.Visit(visitor); + } + + // Break cycles + if (CatchAll != null && !ReferenceEquals(this, CatchAll)) + { + CatchAll.Visit(visitor); + } + + foreach (var kvp in PolicyEdges) + { + kvp.Value.Visit(visitor); + } + + visitor(this); + } + private string DebuggerToString() { var builder = new StringBuilder(); diff --git a/src/Microsoft.AspNetCore.Routing/Matchers/DfaState.cs b/src/Microsoft.AspNetCore.Routing/Matchers/DfaState.cs index cdab988567..a854fdbc6f 100644 --- a/src/Microsoft.AspNetCore.Routing/Matchers/DfaState.cs +++ b/src/Microsoft.AspNetCore.Routing/Matchers/DfaState.cs @@ -8,18 +8,23 @@ namespace Microsoft.AspNetCore.Routing.Matchers [DebuggerDisplay("{DebuggerToString(),nq}")] internal readonly struct DfaState { - public readonly CandidateSet Candidates; - public readonly JumpTable Transitions; + public readonly Candidate[] Candidates; + public readonly JumpTable PathTransitions; + public readonly PolicyJumpTable PolicyTransitions; - public DfaState(CandidateSet candidates, JumpTable transitions) + public DfaState(Candidate[] candidates, JumpTable pathTransitions, PolicyJumpTable policyTransitions) { Candidates = candidates; - Transitions = transitions; + PathTransitions = pathTransitions; + PolicyTransitions = policyTransitions; } public string DebuggerToString() { - return $"m: {Candidates.Candidates?.Length ?? 0}, j: ({Transitions?.DebuggerToString()})"; + return + $"matches: {Candidates?.Length ?? 0}, " + + $"path: ({PathTransitions?.DebuggerToString()}), " + + $"policy: ({PolicyTransitions?.DebuggerToString()})"; } } } diff --git a/src/Microsoft.AspNetCore.Routing/Matchers/EndpointMetadataComparer.cs b/src/Microsoft.AspNetCore.Routing/Matchers/EndpointMetadataComparer.cs new file mode 100644 index 0000000000..7a742fecba --- /dev/null +++ b/src/Microsoft.AspNetCore.Routing/Matchers/EndpointMetadataComparer.cs @@ -0,0 +1,59 @@ +// Copyright (c) .NET Foundation. All rights reserved. +// Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information. + +using System; +using System.Collections.Generic; + +namespace Microsoft.AspNetCore.Routing.Matchers +{ + public abstract class EndpointMetadataComparer : IComparer where TMetadata : class + { + public static readonly EndpointMetadataComparer Default = new DefaultComparer(); + + public int Compare(Endpoint x, Endpoint y) + { + if (x == null) + { + throw new ArgumentNullException(nameof(x)); + } + + if (y == null) + { + throw new ArgumentNullException(nameof(y)); + } + + return CompareMetadata(GetMetadata(x), GetMetadata(y)); + } + + protected virtual TMetadata GetMetadata(Endpoint endpoint) + { + return endpoint.Metadata.GetMetadata(); + } + + protected virtual int CompareMetadata(TMetadata x, TMetadata y) + { + // The default policy is that if x endpoint defines TMetadata, and + // y endpoint does not, then x is *more specific* than y. We return + // -1 for this case so that x will come first in the sort order. + + if (x == null && y != null) + { + // y is more specific + return 1; + } + else if (x != null && y == null) + { + // x is more specific + return -1; + } + + // both endpoints have this metadata, or both do not have it, they have + // the same specificity. + return 0; + } + + private class DefaultComparer : EndpointMetadataComparer where T : class + { + } + } +} diff --git a/src/Microsoft.AspNetCore.Routing/Matchers/EndpointSelector.cs b/src/Microsoft.AspNetCore.Routing/Matchers/EndpointSelector.cs new file mode 100644 index 0000000000..6f8e420a59 --- /dev/null +++ b/src/Microsoft.AspNetCore.Routing/Matchers/EndpointSelector.cs @@ -0,0 +1,16 @@ +// Copyright (c) .NET Foundation. All rights reserved. +// Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information. + +using System.Threading.Tasks; +using Microsoft.AspNetCore.Http; + +namespace Microsoft.AspNetCore.Routing.Matchers +{ + public abstract class EndpointSelector + { + public abstract Task SelectAsync( + HttpContext httpContext, + IEndpointFeature feature, + CandidateSet candidates); + } +} diff --git a/src/Microsoft.AspNetCore.Routing/Matchers/HttpMethodMatcherPolicy.cs b/src/Microsoft.AspNetCore.Routing/Matchers/HttpMethodMatcherPolicy.cs new file mode 100644 index 0000000000..17802e61c0 --- /dev/null +++ b/src/Microsoft.AspNetCore.Routing/Matchers/HttpMethodMatcherPolicy.cs @@ -0,0 +1,182 @@ +// Copyright (c) .NET Foundation. All rights reserved. +// Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information. + +using System; +using System.Collections.Generic; +using System.Linq; +using System.Threading.Tasks; +using Microsoft.AspNetCore.Http; +using Microsoft.AspNetCore.Routing.Metadata; +using Microsoft.AspNetCore.Routing.Patterns; + +namespace Microsoft.AspNetCore.Routing.Matchers +{ + public sealed class HttpMethodEndpointSelectorPolicy : MatcherPolicy, IEndpointComparerPolicy, INodeBuilderPolicy + { + // Used in tests + internal const string Http405EndpointDisplayName = "405 HTTP Method Not Supported"; + + // Used in tests + internal const string AnyMethod = "*"; + + public IComparer Comparer => new HttpMethodMetadataEndpointComparer(); + + // The order value is chosen to be less than 0, so that it comes before naively + // written policies. + public override int Order => -1000; + + public bool AppliesToNode(IReadOnlyList endpoints) + { + if (endpoints == null) + { + throw new ArgumentNullException(nameof(endpoints)); + } + + for (var i = 0; i < endpoints.Count; i++) + { + if (endpoints[i].Metadata.GetMetadata()?.HttpMethods.Any() == true) + { + return true; + } + } + + return false; + } + + public IReadOnlyList GetEdges(IReadOnlyList endpoints) + { + // The algorithm here is designed to be preserve the order of the endpoints + // while also being relatively simple. Preserving order is important. + var allHttpMethods = endpoints + .SelectMany(e => GetHttpMethods(e)) + .Distinct() + .OrderBy(m => m); // Sort for testability + + var dictionary = new Dictionary>(); + foreach (var httpMethod in allHttpMethods) + { + dictionary.Add(httpMethod, new List()); + } + + dictionary.Add(AnyMethod, new List()); + + for (var i = 0; i < endpoints.Count; i++) + { + var endpoint = endpoints[i]; + + var httpMethods = GetHttpMethods(endpoint); + if (httpMethods.Count == 0) + { + // This endpoint suports all HTTP methods. + foreach (var kvp in dictionary) + { + kvp.Value.Add(endpoint); + } + + continue; + } + + for (var j = 0; j < httpMethods.Count; j++) + { + dictionary[httpMethods[j]].Add(endpoint); + } + } + + // Adds a very low priority endpoint that will reject the request with + // a 405 if nothing else can handle this verb. This is only done if + // no other actions exist that handle the 'all verbs'. + // + // The rationale for this is that we want to report a 405 if none of + // the supported methods match, but we don't want to report a 405 in a + // case where an application defines an endpoint that handles all verbs, but + // a constraint rejects the request, or a complex segment fails to parse. We + // consider a case like that a 'user input validation' failure rather than + // a semantic violation of HTTP. + // + // This will make 405 much more likely in API-focused applications, and somewhat + // unlikely in a traditional MVC application. That's good. + if (dictionary[AnyMethod].Count == 0) + { + dictionary[AnyMethod].Add(CreateRejectionEndpoint(allHttpMethods)); + } + + var edges = new List(); + foreach (var kvp in dictionary) + { + edges.Add(new PolicyNodeEdge(kvp.Key, kvp.Value)); + } + + return edges; + + IReadOnlyList GetHttpMethods(Endpoint e) + { + return e.Metadata.GetMetadata()?.HttpMethods ?? Array.Empty(); + } + } + + public PolicyJumpTable BuildJumpTable(int exitDestination, IReadOnlyList edges) + { + var dictionary = new Dictionary(StringComparer.OrdinalIgnoreCase); + for (var i = 0; i < edges.Count; i++) + { + // We create this data, so it's safe to cast it to a string. + dictionary.Add((string)edges[i].State, edges[i].Destination); + } + + if (dictionary.TryGetValue(AnyMethod, out var matchesAnyVerb)) + { + // If we have endpoints that match any HTTP method, use that as the exit. + exitDestination = matchesAnyVerb; + dictionary.Remove(AnyMethod); + } + + return new DictionaryPolicyJumpTable(exitDestination, dictionary); + } + + private Endpoint CreateRejectionEndpoint(IEnumerable httpMethods) + { + var allow = string.Join(", ", httpMethods); + return new MatcherEndpoint( + (next) => (context) => + { + context.Response.StatusCode = 405; + context.Response.Headers.Add("Allow", allow); + return Task.CompletedTask; + }, + RoutePatternFactory.Parse("/"), + new RouteValueDictionary(), + 0, + EndpointMetadataCollection.Empty, + Http405EndpointDisplayName); + } + + private class DictionaryPolicyJumpTable : PolicyJumpTable + { + private readonly int _exitDestination; + private readonly Dictionary _destinations; + + public DictionaryPolicyJumpTable(int exitDestination, Dictionary destinations) + { + _exitDestination = exitDestination; + _destinations = destinations; + } + + public override int GetDestination(HttpContext httpContext) + { + var httpMethod = httpContext.Request.Method; + return _destinations.TryGetValue(httpMethod, out var destination) ? destination : _exitDestination; + } + } + + private class HttpMethodMetadataEndpointComparer : EndpointMetadataComparer + { + protected override int CompareMetadata(IHttpMethodMetadata x, IHttpMethodMetadata y) + { + // Ignore the metadata if it has an empty list of HTTP methods. + return base.CompareMetadata( + x?.HttpMethods.Count > 0 ? x : null, + y?.HttpMethods.Count > 0 ? y : null); + } + } + } +} diff --git a/src/Microsoft.AspNetCore.Routing/Matchers/IEndpointComparerPolicy.cs b/src/Microsoft.AspNetCore.Routing/Matchers/IEndpointComparerPolicy.cs new file mode 100644 index 0000000000..abd16e5e9a --- /dev/null +++ b/src/Microsoft.AspNetCore.Routing/Matchers/IEndpointComparerPolicy.cs @@ -0,0 +1,12 @@ +// Copyright (c) .NET Foundation. All rights reserved. +// Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information. + +using System.Collections.Generic; + +namespace Microsoft.AspNetCore.Routing.Matchers +{ + public interface IEndpointComparerPolicy + { + IComparer Comparer { get; } + } +} diff --git a/src/Microsoft.AspNetCore.Routing/Matchers/INodeBuilderPolicy.cs b/src/Microsoft.AspNetCore.Routing/Matchers/INodeBuilderPolicy.cs new file mode 100644 index 0000000000..5dab03ceb8 --- /dev/null +++ b/src/Microsoft.AspNetCore.Routing/Matchers/INodeBuilderPolicy.cs @@ -0,0 +1,16 @@ +// Copyright (c) .NET Foundation. All rights reserved. +// Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information. + +using System.Collections.Generic; + +namespace Microsoft.AspNetCore.Routing.Matchers +{ + public interface INodeBuilderPolicy + { + bool AppliesToNode(IReadOnlyList endpoints); + + IReadOnlyList GetEdges(IReadOnlyList endpoints); + + PolicyJumpTable BuildJumpTable(int exitDestination, IReadOnlyList edges); + } +} diff --git a/src/Microsoft.AspNetCore.Routing/Matchers/MatcherBuilderEntry.cs b/src/Microsoft.AspNetCore.Routing/Matchers/MatcherBuilderEntry.cs deleted file mode 100644 index d1aed77693..0000000000 --- a/src/Microsoft.AspNetCore.Routing/Matchers/MatcherBuilderEntry.cs +++ /dev/null @@ -1,49 +0,0 @@ -// Copyright (c) .NET Foundation. All rights reserved. -// Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information. - -using System; -using Microsoft.AspNetCore.Routing.Patterns; -using Microsoft.AspNetCore.Routing.Template; - -namespace Microsoft.AspNetCore.Routing.Matchers -{ - internal class MatcherBuilderEntry : IComparable - { - public MatcherBuilderEntry(MatcherEndpoint endpoint) - { - Endpoint = endpoint; - - Precedence = RoutePrecedence.ComputeInbound(endpoint.RoutePattern); - } - - public MatcherEndpoint Endpoint { get; } - - public int Order => Endpoint.Order; - - public RoutePattern RoutePattern => Endpoint.RoutePattern; - - public decimal Precedence { get; } - - public int CompareTo(MatcherBuilderEntry other) - { - var comparison = Order.CompareTo(other.Order); - if (comparison != 0) - { - return comparison; - } - - comparison = Precedence.CompareTo(other.Precedence); - if (comparison != 0) - { - return comparison; - } - - return RoutePattern.RawText.CompareTo(other.RoutePattern.RawText); - } - - public bool PriorityEquals(MatcherBuilderEntry other) - { - return Order == other.Order && Precedence == other.Precedence; - } - } -} diff --git a/src/Microsoft.AspNetCore.Routing/Matchers/MatcherEndpointComparer.cs b/src/Microsoft.AspNetCore.Routing/Matchers/MatcherEndpointComparer.cs new file mode 100644 index 0000000000..fb5f087297 --- /dev/null +++ b/src/Microsoft.AspNetCore.Routing/Matchers/MatcherEndpointComparer.cs @@ -0,0 +1,103 @@ +// Copyright (c) .NET Foundation. All rights reserved. +// Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information. + +using System.Collections.Generic; +using System.Diagnostics; + +namespace Microsoft.AspNetCore.Routing.Matchers +{ + // Use to sort and group MatcherEndpoints. + // + // NOTE: + // When ordering endpoints, we compare the route templates as an absolute last resort. + // This is used as a factor to ensure that we always have a predictable ordering + // for tests, errors, etc. + // + // When we group endpoints we don't consider the route template, because we're trying + // to group endpoints not separate them. + // + // TLDR: + // IComparer implementation considers the template string as a tiebreaker. + // IEqualityComparer implementation does not. + // This is cool and good. + internal class MatcherEndpointComparer : IComparer, IEqualityComparer + { + private readonly IComparer[] _comparers; + + public MatcherEndpointComparer(IEndpointComparerPolicy[] policies) + { + // Order, Precedence, (others)... + _comparers = new IComparer[2 + policies.Length]; + _comparers[0] = OrderComparer.Instance; + _comparers[1] = PrecedenceComparer.Instance; + for (var i = 0; i < policies.Length; i++) + { + _comparers[i + 2] = policies[i].Comparer; + } + } + + public int Compare(MatcherEndpoint x, MatcherEndpoint y) + { + // We don't expose this publicly, and we should never call it on + // a null endpoint. + Debug.Assert(x != null); + Debug.Assert(y != null); + + var compare = CompareCore(x, y); + + // Since we're sorting, use the route template as a last resort. + return compare == 0 ? x.RoutePattern.RawText.CompareTo(y.RoutePattern.RawText) : compare; + } + + public bool Equals(MatcherEndpoint x, MatcherEndpoint y) + { + // We don't expose this publicly, and we should never call it on + // a null endpoint. + Debug.Assert(x != null); + Debug.Assert(y != null); + + return CompareCore(x, y) == 0; + } + + public int GetHashCode(MatcherEndpoint obj) + { + // This should not be possible to call publicly. + Debug.Fail("We don't expect this to be called."); + throw new System.NotImplementedException(); + } + + private int CompareCore(MatcherEndpoint x, MatcherEndpoint y) + { + for (var i = 0; i < _comparers.Length; i++) + { + var compare = _comparers[i].Compare(x, y); + if (compare != 0) + { + return compare; + } + } + + return 0; + } + + private class OrderComparer : IComparer + { + public static readonly IComparer Instance = new OrderComparer(); + + public int Compare(MatcherEndpoint x, MatcherEndpoint y) + { + return x.Order.CompareTo(y.Order); + } + } + + private class PrecedenceComparer : IComparer + { + public static readonly IComparer Instance = new PrecedenceComparer(); + + public int Compare(MatcherEndpoint x, MatcherEndpoint y) + { + return x.RoutePattern.InboundPrecedence.CompareTo(y.RoutePattern.InboundPrecedence); + } + } + } +} diff --git a/src/Microsoft.AspNetCore.Routing/Matchers/MatcherPolicy.cs b/src/Microsoft.AspNetCore.Routing/Matchers/MatcherPolicy.cs new file mode 100644 index 0000000000..92d715c936 --- /dev/null +++ b/src/Microsoft.AspNetCore.Routing/Matchers/MatcherPolicy.cs @@ -0,0 +1,10 @@ +// Copyright (c) .NET Foundation. All rights reserved. +// Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information. + +namespace Microsoft.AspNetCore.Routing +{ + public abstract class MatcherPolicy + { + public abstract int Order { get; } + } +} diff --git a/src/Microsoft.AspNetCore.Routing/Matchers/PolicyJumpTable.cs b/src/Microsoft.AspNetCore.Routing/Matchers/PolicyJumpTable.cs new file mode 100644 index 0000000000..0aecc7de6c --- /dev/null +++ b/src/Microsoft.AspNetCore.Routing/Matchers/PolicyJumpTable.cs @@ -0,0 +1,17 @@ +// Copyright (c) .NET Foundation. All rights reserved. +// Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information. + +using Microsoft.AspNetCore.Http; + +namespace Microsoft.AspNetCore.Routing.Matchers +{ + public abstract class PolicyJumpTable + { + public abstract int GetDestination(HttpContext httpContext); + + internal virtual string DebuggerToString() + { + return GetType().Name; + } + } +} diff --git a/src/Microsoft.AspNetCore.Routing/Matchers/PolicyJumpTableBuilder.cs b/src/Microsoft.AspNetCore.Routing/Matchers/PolicyJumpTableBuilder.cs new file mode 100644 index 0000000000..c4e07b1715 --- /dev/null +++ b/src/Microsoft.AspNetCore.Routing/Matchers/PolicyJumpTableBuilder.cs @@ -0,0 +1,32 @@ +// Copyright (c) .NET Foundation. All rights reserved. +// Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information. + +using System.Collections.Generic; + +namespace Microsoft.AspNetCore.Routing.Matchers +{ + internal class PolicyJumpTableBuilder + { + private readonly INodeBuilderPolicy _nodeBuilder; + private readonly List _entries; + + public PolicyJumpTableBuilder(INodeBuilderPolicy nodeBuilder) + { + _nodeBuilder = nodeBuilder; + _entries = new List(); + } + + // The destination state for a non-match. + public int ExitDestination { get; set; } = JumpTableBuilder.InvalidDestination; + + public void AddEntry(object state, int destination) + { + _entries.Add(new PolicyJumpTableEdge(state, destination)); + } + + public PolicyJumpTable Build() + { + return _nodeBuilder.BuildJumpTable(ExitDestination, _entries); + } + } +} diff --git a/src/Microsoft.AspNetCore.Routing/Matchers/PolicyJumpTableEdge.cs b/src/Microsoft.AspNetCore.Routing/Matchers/PolicyJumpTableEdge.cs new file mode 100644 index 0000000000..62482bb22c --- /dev/null +++ b/src/Microsoft.AspNetCore.Routing/Matchers/PolicyJumpTableEdge.cs @@ -0,0 +1,18 @@ +// Copyright (c) .NET Foundation. All rights reserved. +// Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information. + +namespace Microsoft.AspNetCore.Routing.Matchers +{ + public readonly struct PolicyJumpTableEdge + { + public PolicyJumpTableEdge(object state, int destination) + { + State = state ?? throw new System.ArgumentNullException(nameof(state)); + Destination = destination; + } + + public object State { get; } + + public int Destination { get; } + } +} diff --git a/src/Microsoft.AspNetCore.Routing/Matchers/PolicyNodeEdge.cs b/src/Microsoft.AspNetCore.Routing/Matchers/PolicyNodeEdge.cs new file mode 100644 index 0000000000..bde491fa94 --- /dev/null +++ b/src/Microsoft.AspNetCore.Routing/Matchers/PolicyNodeEdge.cs @@ -0,0 +1,20 @@ +// Copyright (c) .NET Foundation. All rights reserved. +// Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information. + +using System.Collections.Generic; + +namespace Microsoft.AspNetCore.Routing.Matchers +{ + public readonly struct PolicyNodeEdge + { + public PolicyNodeEdge(object state, IReadOnlyList endpoints) + { + State = state ?? throw new System.ArgumentNullException(nameof(state)); + Endpoints = endpoints ?? throw new System.ArgumentNullException(nameof(endpoints)); + } + + public IReadOnlyList Endpoints { get; } + + public object State { get; } + } +} diff --git a/src/Microsoft.AspNetCore.Routing/Metadata/HttpMethodMetadata.cs b/src/Microsoft.AspNetCore.Routing/Metadata/HttpMethodMetadata.cs new file mode 100644 index 0000000000..90cfd057a3 --- /dev/null +++ b/src/Microsoft.AspNetCore.Routing/Metadata/HttpMethodMetadata.cs @@ -0,0 +1,24 @@ +// Copyright (c) .NET Foundation. All rights reserved. +// Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information. + +using System; +using System.Collections.Generic; +using System.Linq; + +namespace Microsoft.AspNetCore.Routing.Metadata +{ + public sealed class HttpMethodMetadata : IHttpMethodMetadata + { + public HttpMethodMetadata(IEnumerable httpMethods) + { + if (httpMethods == null) + { + throw new ArgumentNullException(nameof(httpMethods)); + } + + HttpMethods = httpMethods.ToArray(); + } + + public IReadOnlyList HttpMethods { get; } + } +} diff --git a/src/Microsoft.AspNetCore.Routing/Metadata/IHttpMethodMetadata.cs b/src/Microsoft.AspNetCore.Routing/Metadata/IHttpMethodMetadata.cs new file mode 100644 index 0000000000..a77a617f13 --- /dev/null +++ b/src/Microsoft.AspNetCore.Routing/Metadata/IHttpMethodMetadata.cs @@ -0,0 +1,12 @@ +// Copyright (c) .NET Foundation. All rights reserved. +// Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information + +using System.Collections.Generic; + +namespace Microsoft.AspNetCore.Routing.Metadata +{ + public interface IHttpMethodMetadata + { + IReadOnlyList HttpMethods { get; } + } +} diff --git a/src/Microsoft.AspNetCore.Routing/Patterns/RoutePattern.cs b/src/Microsoft.AspNetCore.Routing/Patterns/RoutePattern.cs index 74757849c9..bc1551367b 100644 --- a/src/Microsoft.AspNetCore.Routing/Patterns/RoutePattern.cs +++ b/src/Microsoft.AspNetCore.Routing/Patterns/RoutePattern.cs @@ -5,6 +5,7 @@ using System; using System.Collections.Generic; using System.Diagnostics; using System.Linq; +using Microsoft.AspNetCore.Routing.Template; namespace Microsoft.AspNetCore.Routing.Patterns { @@ -30,12 +31,19 @@ namespace Microsoft.AspNetCore.Routing.Patterns Constraints = constraints; Parameters = parameters; PathSegments = pathSegments; + + InboundPrecedence = RoutePrecedence.ComputeInbound(this); + OutboundPrecedence = RoutePrecedence.ComputeOutbound(this); } public IReadOnlyDictionary Defaults { get; } public IReadOnlyDictionary> Constraints { get; } + public decimal InboundPrecedence { get; } + + public decimal OutboundPrecedence { get; } + public string RawText { get; } public IReadOnlyList Parameters { get; } diff --git a/test/Microsoft.AspNetCore.Routing.Tests/EndpointConstraints/EndpointConstraintEndpointSelectorTest.cs b/test/Microsoft.AspNetCore.Routing.Tests/EndpointConstraints/EndpointConstraintEndpointSelectorTest.cs new file mode 100644 index 0000000000..fe5d9bb3b2 --- /dev/null +++ b/test/Microsoft.AspNetCore.Routing.Tests/EndpointConstraints/EndpointConstraintEndpointSelectorTest.cs @@ -0,0 +1,510 @@ +// Copyright (c) .NET Foundation. All rights reserved. +// Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information. + +using System; +using System.Collections.Generic; +using System.Linq; +using System.Threading.Tasks; +using Microsoft.AspNetCore.Http; +using Microsoft.AspNetCore.Routing.Matchers; +using Microsoft.AspNetCore.Routing.Patterns; +using Microsoft.Extensions.DependencyInjection; +using Microsoft.Extensions.Logging; +using Microsoft.Extensions.Logging.Abstractions; +using Microsoft.Extensions.Logging.Testing; +using Moq; +using Xunit; + +namespace Microsoft.AspNetCore.Routing.EndpointConstraints +{ + public class EndpointConstraintEndpointSelectorTest + { + [Fact] + public async Task SelectBestCandidate_MultipleEndpoints_BestMatchSelected() + { + // Arrange + var defaultEndpoint = CreateEndpoint("No constraint endpoint"); + + var postEndpoint = CreateEndpoint( + "POST constraint endpoint", + new HttpMethodEndpointConstraint(new[] { "POST" })); + + var endpoints = new[] + { + defaultEndpoint, + postEndpoint + }; + + var selector = CreateSelector(endpoints); + + var httpContext = new DefaultHttpContext(); + httpContext.Request.Method = "POST"; + + var feature = new EndpointFeature(); + + // Act + await selector.SelectAsync(httpContext, feature, CreateCandidateSet(endpoints)); + + // Assert + Assert.Same(postEndpoint, feature.Endpoint); + } + + [Fact] + public async Task SelectBestCandidate_MultipleEndpoints_AmbiguousMatchExceptionThrown() + { + // Arrange + var expectedMessage = + "The request matched multiple endpoints. Matches: " + Environment.NewLine + + Environment.NewLine + + "Ambiguous1" + Environment.NewLine + + "Ambiguous2"; + + var defaultEndpoint1 = CreateEndpoint("Ambiguous1"); + var defaultEndpoint2 = CreateEndpoint("Ambiguous2"); + + var endpoints = new[] + { + defaultEndpoint1, + defaultEndpoint2 + }; + + var selector = CreateSelector(endpoints); + + var httpContext = new DefaultHttpContext(); + httpContext.Request.Method = "POST"; + + var feature = new EndpointFeature(); + + // Act + var ex = await Assert.ThrowsAnyAsync(() => + { + return selector.SelectAsync(httpContext, feature, CreateCandidateSet(endpoints)); + }); + + // Assert + Assert.Equal(expectedMessage, ex.Message); + } + + [Fact] + public async Task SelectBestCandidate_AmbiguousEndpoints_LogIsCorrect() + { + // Arrange + var sink = new TestSink(); + var loggerFactory = new TestLoggerFactory(sink, enabled: true); + + var endpoints = new[] + { + CreateEndpoint("A1"), + CreateEndpoint("A2"), + }; + + var selector = CreateSelector(endpoints, loggerFactory); + + var httpContext = CreateHttpContext("POST"); + var feature = new EndpointFeature(); + + var names = string.Join(", ", endpoints.Select(action => action.DisplayName)); + var expectedMessage = + $"Request matched multiple endpoints for request path '/test'. " + + $"Matching endpoints: {names}"; + + // Act + await Assert.ThrowsAsync(() => + { + return selector.SelectAsync(httpContext, feature, CreateCandidateSet(endpoints)); + }); + + // Assert + Assert.Empty(sink.Scopes); + var write = Assert.Single(sink.Writes); + Assert.Equal(expectedMessage, write.State?.ToString()); + } + + [Fact] + public async Task SelectBestCandidate_PrefersEndpointWithConstraints() + { + // Arrange + var endpointWithConstraint = CreateEndpoint( + "Has constraint", + new HttpMethodEndpointConstraint(new string[] { "POST" })); + + var endpointWithoutConstraints = CreateEndpoint("No constraint"); + + var endpoints = new[] { endpointWithConstraint, endpointWithoutConstraints }; + + var selector = CreateSelector(endpoints); + var httpContext = CreateHttpContext("POST"); + var feature = new EndpointFeature(); + + // Act + await selector.SelectAsync(httpContext, feature, CreateCandidateSet(endpoints)); + + // Assert + Assert.Same(endpointWithConstraint, endpointWithConstraint); + } + + [Fact] + public async Task SelectBestCandidate_ConstraintsRejectAll() + { + // Arrange + var endpoint1 = CreateEndpoint( + "action1", + new BooleanConstraint() { Pass = false, }); + + var endpoint2 = CreateEndpoint( + "action2", + new BooleanConstraint() { Pass = false, }); + + var endpoints = new[] { endpoint1, endpoint2 }; + + var selector = CreateSelector(endpoints); + var httpContext = CreateHttpContext("POST"); + var feature = new EndpointFeature(); + + // Act + await selector.SelectAsync(httpContext, feature, CreateCandidateSet(endpoints)); + + // Assert + Assert.Null(feature.Endpoint); + } + + [Fact] + public async Task SelectBestCandidate_ConstraintsRejectAll_DifferentStages() + { + // Arrange + var endpoint1 = CreateEndpoint( + "action1", + new BooleanConstraint() { Pass = false, Order = 0 }, + new BooleanConstraint() { Pass = true, Order = 1 }); + + var endpoint2 = CreateEndpoint( + "action2", + new BooleanConstraint() { Pass = true, Order = 0 }, + new BooleanConstraint() { Pass = false, Order = 1 }); + + var endpoints = new[] { endpoint1, endpoint2 }; + + var selector = CreateSelector(endpoints); + var httpContext = CreateHttpContext("POST"); + var feature = new EndpointFeature(); + + // Act + await selector.SelectAsync(httpContext, feature, CreateCandidateSet(endpoints)); + + // Assert + Assert.Null(feature.Endpoint); + } + + [Fact] + public async Task SelectBestCandidate_EndpointConstraintFactory() + { + // Arrange + var endpointWithConstraints = CreateEndpoint( + "actionWithConstraints", + new ConstraintFactory() + { + Constraint = new BooleanConstraint() { Pass = true }, + }); + + var actionWithoutConstraints = CreateEndpoint("actionWithoutConstraints"); + + var endpoints = new[] { endpointWithConstraints, actionWithoutConstraints }; + + var selector = CreateSelector(endpoints); + var httpContext = CreateHttpContext("POST"); + var feature = new EndpointFeature(); + + // Act + await selector.SelectAsync(httpContext, feature, CreateCandidateSet(endpoints)); + + // Assert + Assert.Same(endpointWithConstraints, feature.Endpoint); + } + + [Fact] + public async Task SelectBestCandidate_MultipleCallsNoConstraint_ReturnsEndpoint() + { + // Arrange + var noConstraint = CreateEndpoint("noConstraint"); + + var endpoints = new[] { noConstraint }; + + var selector = CreateSelector(endpoints); + var httpContext = CreateHttpContext("POST"); + var feature = new EndpointFeature(); + + // Act + await selector.SelectAsync(httpContext, feature, CreateCandidateSet(endpoints)); + var endpoint1 = feature.Endpoint; + + await selector.SelectAsync(httpContext, feature, CreateCandidateSet(endpoints)); + var endpoint2 = feature.Endpoint; + + // Assert + Assert.Same(endpoint1, noConstraint); + Assert.Same(endpoint2, noConstraint); + } + + [Fact] + public async Task SelectBestCandidate_MultipleCallsNonConstraintMetadata_ReturnsEndpoint() + { + // Arrange + var noConstraint = CreateEndpoint("noConstraint", new object()); + + var endpoints = new[] { noConstraint }; + + var selector = CreateSelector(endpoints); + var httpContext = CreateHttpContext("POST"); + var feature = new EndpointFeature(); + + // Act + await selector.SelectAsync(httpContext, feature, CreateCandidateSet(endpoints)); + var endpoint1 = feature.Endpoint; + + await selector.SelectAsync(httpContext, feature, CreateCandidateSet(endpoints)); + var endpoint2 = feature.Endpoint; + + // Assert + Assert.Same(endpoint1, noConstraint); + Assert.Same(endpoint2, noConstraint); + } + + [Fact] + public async Task SelectBestCandidate_EndpointConstraintFactory_ReturnsNull() + { + // Arrange + var nullConstraint = CreateEndpoint("nullConstraint", new ConstraintFactory()); + + var endpoints = new[] { nullConstraint }; + + var selector = CreateSelector(endpoints); + var httpContext = CreateHttpContext("POST"); + var feature = new EndpointFeature(); + + // Act + await selector.SelectAsync(httpContext, feature, CreateCandidateSet(endpoints)); + var endpoint1 = feature.Endpoint; + + await selector.SelectAsync(httpContext, feature, CreateCandidateSet(endpoints)); + var endpoint2 = feature.Endpoint; + + // Assert + Assert.Same(endpoint1, nullConstraint); + Assert.Same(endpoint2, nullConstraint); + } + + // There's a custom constraint provider registered that only understands BooleanConstraintMarker + [Fact] + public async Task SelectBestCandidate_CustomProvider() + { + // Arrange + var endpointWithConstraints = CreateEndpoint( + "actionWithConstraints", + new BooleanConstraintMarker() { Pass = true }); + + var endpointWithoutConstraints = CreateEndpoint("actionWithoutConstraints"); + + var endpoints = new[] { endpointWithConstraints, endpointWithoutConstraints, }; + + var selector = CreateSelector(endpoints); + var httpContext = CreateHttpContext("POST"); + var feature = new EndpointFeature(); + + // Act + await selector.SelectAsync(httpContext, feature, CreateCandidateSet(endpoints)); + + // Assert + Assert.Same(endpointWithConstraints, feature.Endpoint); + } + + // Due to ordering of stages, the first action will be better. + [Fact] + public async Task SelectBestCandidate_ConstraintsInOrder() + { + // Arrange + var best = CreateEndpoint("best", new BooleanConstraint() { Pass = true, Order = 0, }); + + var worst = CreateEndpoint("worst", new BooleanConstraint() { Pass = true, Order = 1, }); + + var endpoints = new[] { best, worst }; + + var selector = CreateSelector(endpoints); + var httpContext = CreateHttpContext("POST"); + var feature = new EndpointFeature(); + + // Act + await selector.SelectAsync(httpContext, feature, CreateCandidateSet(endpoints)); + + // Assert + Assert.Same(best, feature.Endpoint); + } + + // Due to ordering of stages, the first action will be better. + [Fact] + public async Task SelectBestCandidate_ConstraintsInOrder_MultipleStages() + { + // Arrange + var best = CreateEndpoint( + "best", + new BooleanConstraint() { Pass = true, Order = 0, }, + new BooleanConstraint() { Pass = true, Order = 1, }, + new BooleanConstraint() { Pass = true, Order = 2, }); + + var worst = CreateEndpoint( + "worst", + new BooleanConstraint() { Pass = true, Order = 0, }, + new BooleanConstraint() { Pass = true, Order = 1, }, + new BooleanConstraint() { Pass = true, Order = 3, }); + + var endpoints = new[] { best, worst }; + + var selector = CreateSelector(endpoints); + var httpContext = CreateHttpContext("POST"); + var feature = new EndpointFeature(); + + // Act + await selector.SelectAsync(httpContext, feature, CreateCandidateSet(endpoints)); + + // Assert + Assert.Same(best, feature.Endpoint); + } + + [Fact] + public async Task SelectBestCandidate_Fallback_ToEndpointWithoutConstraints() + { + // Arrange + var nomatch1 = CreateEndpoint( + "nomatch1", + new BooleanConstraint() { Pass = true, Order = 0, }, + new BooleanConstraint() { Pass = true, Order = 1, }, + new BooleanConstraint() { Pass = false, Order = 2, }); + + var nomatch2 = CreateEndpoint( + "nomatch2", + new BooleanConstraint() { Pass = true, Order = 0, }, + new BooleanConstraint() { Pass = true, Order = 1, }, + new BooleanConstraint() { Pass = false, Order = 3, }); + + var best = CreateEndpoint("best"); + + var endpoints = new[] { best, nomatch1, nomatch2 }; + + var selector = CreateSelector(endpoints); + var httpContext = CreateHttpContext("POST"); + var feature = new EndpointFeature(); + + // Act + await selector.SelectAsync(httpContext, feature, CreateCandidateSet(endpoints)); + + // Assert + Assert.Same(best, feature.Endpoint); + } + + private static MatcherEndpoint CreateEndpoint(string displayName, params object[] metadata) + { + return new MatcherEndpoint( + MatcherEndpoint.EmptyInvoker, + RoutePatternFactory.Parse("/"), + new RouteValueDictionary(), + 0, + new EndpointMetadataCollection(metadata), + displayName); + } + + private static CandidateSet CreateCandidateSet(MatcherEndpoint[] endpoints) + { + var scores = new int[endpoints.Length]; + return new CandidateSet(endpoints, scores); + } + + private static EndpointSelector CreateSelector(IReadOnlyList actions, ILoggerFactory loggerFactory = null) + { + loggerFactory = loggerFactory ?? NullLoggerFactory.Instance; + + var endpointDataSource = new CompositeEndpointDataSource(new[] { new DefaultEndpointDataSource(actions) }); + + var actionConstraintProviders = new IEndpointConstraintProvider[] { + new DefaultEndpointConstraintProvider(), + new BooleanConstraintProvider(), + }; + + return new EndpointConstraintEndpointSelector( + endpointDataSource, + GetEndpointConstraintCache(actionConstraintProviders), + loggerFactory); + } + + private static HttpContext CreateHttpContext(string httpMethod) + { + var serviceProvider = new ServiceCollection().BuildServiceProvider(); + + var httpContext = new Mock(MockBehavior.Strict); + + var request = new Mock(MockBehavior.Strict); + request.SetupGet(r => r.Method).Returns(httpMethod); + request.SetupGet(r => r.Path).Returns(new PathString("/test")); + request.SetupGet(r => r.Headers).Returns(new HeaderDictionary()); + httpContext.SetupGet(c => c.Request).Returns(request.Object); + httpContext.SetupGet(c => c.RequestServices).Returns(serviceProvider); + + return httpContext.Object; + } + + private static EndpointConstraintCache GetEndpointConstraintCache(IEndpointConstraintProvider[] actionConstraintProviders = null) + { + return new EndpointConstraintCache( + new CompositeEndpointDataSource(Array.Empty()), + actionConstraintProviders.AsEnumerable() ?? new List()); + } + + private class BooleanConstraint : IEndpointConstraint + { + public bool Pass { get; set; } + + public int Order { get; set; } + + public bool Accept(EndpointConstraintContext context) + { + return Pass; + } + } + + private class ConstraintFactory : IEndpointConstraintFactory + { + public IEndpointConstraint Constraint { get; set; } + + public bool IsReusable => true; + + public IEndpointConstraint CreateInstance(IServiceProvider services) + { + return Constraint; + } + } + + private class BooleanConstraintMarker : IEndpointConstraintMetadata + { + public bool Pass { get; set; } + } + + private class BooleanConstraintProvider : IEndpointConstraintProvider + { + public int Order { get; set; } + + public void OnProvidersExecuting(EndpointConstraintProviderContext context) + { + foreach (var item in context.Results) + { + if (item.Metadata is BooleanConstraintMarker marker) + { + Assert.Null(item.Constraint); + item.Constraint = new BooleanConstraint() { Pass = marker.Pass }; + } + } + } + + public void OnProvidersExecuted(EndpointConstraintProviderContext context) + { + } + } + } +} diff --git a/test/Microsoft.AspNetCore.Routing.Tests/EndpointConstraints/EndpointSelectorTests.cs b/test/Microsoft.AspNetCore.Routing.Tests/EndpointConstraints/EndpointSelectorTests.cs deleted file mode 100644 index 008464113e..0000000000 --- a/test/Microsoft.AspNetCore.Routing.Tests/EndpointConstraints/EndpointSelectorTests.cs +++ /dev/null @@ -1,505 +0,0 @@ -// Copyright (c) .NET Foundation. All rights reserved. -// Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information. - -using System; -using System.Collections.Generic; -using System.Linq; -using Microsoft.AspNetCore.Http; -using Microsoft.AspNetCore.Routing.Matchers; -using Microsoft.AspNetCore.Routing.TestObjects; -using Microsoft.Extensions.DependencyInjection; -using Microsoft.Extensions.Logging; -using Microsoft.Extensions.Logging.Abstractions; -using Microsoft.Extensions.Logging.Testing; -using Moq; -using Xunit; - -namespace Microsoft.AspNetCore.Routing.EndpointConstraints -{ - public class EndpointSelectorTests - { - [Fact] - public void SelectBestCandidate_MultipleEndpoints_BestMatchSelected() - { - // Arrange - var defaultEndpoint = new TestEndpoint( - EndpointMetadataCollection.Empty, - "No constraint endpoint"); - - var postEndpoint = new TestEndpoint( - new EndpointMetadataCollection(new object[] { new HttpMethodEndpointConstraint(new[] { "POST" }) }), - "POST constraint endpoint"); - - var endpoints = new Endpoint[] - { - defaultEndpoint, - postEndpoint - }; - - var endpointSelector = CreateSelector(endpoints); - - var httpContext = new DefaultHttpContext(); - httpContext.Request.Method = "POST"; - - // Act - var bestCandidateEndpoint = endpointSelector.SelectBestCandidate(httpContext, endpoints); - - // Assert - Assert.NotNull(postEndpoint); - } - - [Fact] - public void SelectBestCandidate_MultipleEndpoints_AmbiguousMatchExceptionThrown() - { - // Arrange - var expectedMessage = - "The request matched multiple endpoints. Matches: " + Environment.NewLine + - Environment.NewLine + - "Ambiguous1" + Environment.NewLine + - "Ambiguous2"; - - var defaultEndpoint1 = new TestEndpoint( - EndpointMetadataCollection.Empty, - "Ambiguous1"); - - var defaultEndpoint2 = new TestEndpoint( - EndpointMetadataCollection.Empty, - "Ambiguous2"); - - var endpoints = new Endpoint[] - { - defaultEndpoint1, - defaultEndpoint2 - }; - - var endpointSelector = CreateSelector(endpoints); - - var httpContext = new DefaultHttpContext(); - httpContext.Request.Method = "POST"; - - // Act - var ex = Assert.ThrowsAny(() => - { - endpointSelector.SelectBestCandidate(httpContext, endpoints); - }); - - // Assert - Assert.Equal(expectedMessage, ex.Message); - } - - [Fact] - public void SelectBestCandidate_AmbiguousEndpoints_LogIsCorrect() - { - // Arrange - var sink = new TestSink(); - var loggerFactory = new TestLoggerFactory(sink, enabled: true); - - var actions = new Endpoint[] - { - new TestEndpoint(EndpointMetadataCollection.Empty, "A1"), - new TestEndpoint(EndpointMetadataCollection.Empty, "A2"), - }; - var selector = CreateSelector(actions, loggerFactory); - - var httpContext = CreateHttpContext("POST"); - var actionNames = string.Join(", ", actions.Select(action => action.DisplayName)); - var expectedMessage = $"Request matched multiple endpoints for request path '/test'. Matching endpoints: {actionNames}"; - - // Act - Assert.Throws(() => { selector.SelectBestCandidate(httpContext, actions); }); - - // Assert - Assert.Empty(sink.Scopes); - var write = Assert.Single(sink.Writes); - Assert.Equal(expectedMessage, write.State?.ToString()); - } - - [Fact] - public void SelectBestCandidate_PrefersEndpointWithConstraints() - { - // Arrange - var actionWithConstraints = new TestEndpoint( - new EndpointMetadataCollection(new[] { new HttpMethodEndpointConstraint(new string[] { "POST" }) }), - "Has constraint"); - - var actionWithoutConstraints = new TestEndpoint( - EndpointMetadataCollection.Empty, - "No constraint"); - - var actions = new Endpoint[] { actionWithConstraints, actionWithoutConstraints }; - - var selector = CreateSelector(actions); - var context = CreateHttpContext("POST"); - - // Act - var action = selector.SelectBestCandidate(context, actions); - - // Assert - Assert.Same(action, actionWithConstraints); - } - - [Fact] - public void SelectBestCandidate_ConstraintsRejectAll() - { - // Arrange - var action1 = new TestEndpoint( - new EndpointMetadataCollection(new[] { new BooleanConstraint() { Pass = false, } }), - "action1"); - - var action2 = new TestEndpoint( - new EndpointMetadataCollection(new[] { new BooleanConstraint() { Pass = false, } }), - "action2"); - - var actions = new Endpoint[] { action1, action2 }; - - var selector = CreateSelector(actions); - var context = CreateHttpContext("POST"); - - // Act - var action = selector.SelectBestCandidate(context, actions); - - // Assert - Assert.Null(action); - } - - [Fact] - public void SelectBestCandidate_ConstraintsRejectAll_DifferentStages() - { - // Arrange - var action1 = new TestEndpoint(new EndpointMetadataCollection(new[] - { - new BooleanConstraint() { Pass = false, Order = 0 }, - new BooleanConstraint() { Pass = true, Order = 1 }, - }), - "action1"); - - var action2 = new TestEndpoint(new EndpointMetadataCollection(new[] - { - new BooleanConstraint() { Pass = true, Order = 0 }, - new BooleanConstraint() { Pass = false, Order = 1 }, - }), - "action2"); - - var actions = new Endpoint[] { action1, action2 }; - - var selector = CreateSelector(actions); - var context = CreateHttpContext("POST"); - - // Act - var action = selector.SelectBestCandidate(context, actions); - - // Assert - Assert.Null(action); - } - - [Fact] - public void SelectBestCandidate_EndpointConstraintFactory() - { - // Arrange - var actionWithConstraints = new TestEndpoint(new EndpointMetadataCollection(new[] - { - new ConstraintFactory() - { - Constraint = new BooleanConstraint() { Pass = true }, - }, - }), - "actionWithConstraints"); - - var actionWithoutConstraints = new TestEndpoint( - EndpointMetadataCollection.Empty, - "actionWithoutConstraints"); - - var actions = new Endpoint[] { actionWithConstraints, actionWithoutConstraints }; - - var selector = CreateSelector(actions); - var context = CreateHttpContext("POST"); - - // Act - var action = selector.SelectBestCandidate(context, actions); - - // Assert - Assert.Same(action, actionWithConstraints); - } - - [Fact] - public void SelectBestCandidate_MultipleCallsNoConstraint_ReturnsEndpoint() - { - // Arrange - var noConstraint = new TestEndpoint(EndpointMetadataCollection.Empty, "noConstraint"); - - var actions = new Endpoint[] { noConstraint }; - - var selector = CreateSelector(actions); - var context = CreateHttpContext("POST"); - - // Act - var action1 = selector.SelectBestCandidate(context, actions); - var action2 = selector.SelectBestCandidate(context, actions); - - // Assert - Assert.Same(action1, noConstraint); - Assert.Same(action2, noConstraint); - } - - [Fact] - public void SelectBestCandidate_MultipleCallsNonConstraintMetadata_ReturnsEndpoint() - { - // Arrange - var noConstraint = new TestEndpoint(new EndpointMetadataCollection(new[] - { - new object(), - }), - "noConstraint"); - - var actions = new Endpoint[] { noConstraint }; - - var selector = CreateSelector(actions); - var context = CreateHttpContext("POST"); - - // Act - var action1 = selector.SelectBestCandidate(context, actions); - var action2 = selector.SelectBestCandidate(context, actions); - - // Assert - Assert.Same(action1, noConstraint); - Assert.Same(action2, noConstraint); - } - - [Fact] - public void SelectBestCandidate_EndpointConstraintFactory_ReturnsNull() - { - // Arrange - var nullConstraint = new TestEndpoint(new EndpointMetadataCollection(new[] - { - new ConstraintFactory(), - }), - "nullConstraint"); - - var actions = new Endpoint[] { nullConstraint }; - - var selector = CreateSelector(actions); - var context = CreateHttpContext("POST"); - - // Act - var action1 = selector.SelectBestCandidate(context, actions); - var action2 = selector.SelectBestCandidate(context, actions); - - // Assert - Assert.Same(action1, nullConstraint); - Assert.Same(action2, nullConstraint); - } - - // There's a custom constraint provider registered that only understands BooleanConstraintMarker - [Fact] - public void SelectBestCandidate_CustomProvider() - { - // Arrange - var actionWithConstraints = new TestEndpoint(new EndpointMetadataCollection(new[] - { - new BooleanConstraintMarker() { Pass = true }, - }), - "actionWithConstraints"); - - var actionWithoutConstraints = new TestEndpoint( - EndpointMetadataCollection.Empty, - "actionWithoutConstraints"); - - var actions = new Endpoint[] { actionWithConstraints, actionWithoutConstraints, }; - - var selector = CreateSelector(actions); - var context = CreateHttpContext("POST"); - - // Act - var action = selector.SelectBestCandidate(context, actions); - - // Assert - Assert.Same(action, actionWithConstraints); - } - - // Due to ordering of stages, the first action will be better. - [Fact] - public void SelectBestCandidate_ConstraintsInOrder() - { - // Arrange - var best = new TestEndpoint(new EndpointMetadataCollection(new[] - { - new BooleanConstraint() { Pass = true, Order = 0, }, - }), - "best"); - - var worst = new TestEndpoint(new EndpointMetadataCollection(new[] - { - new BooleanConstraint() { Pass = true, Order = 1, }, - }), - "worst"); - - var actions = new Endpoint[] { best, worst }; - - var selector = CreateSelector(actions); - var context = CreateHttpContext("POST"); - - // Act - var action = selector.SelectBestCandidate(context, actions); - - // Assert - Assert.Same(action, best); - } - - // Due to ordering of stages, the first action will be better. - [Fact] - public void SelectBestCandidate_ConstraintsInOrder_MultipleStages() - { - // Arrange - var best = new TestEndpoint(new EndpointMetadataCollection(new[] - { - new BooleanConstraint() { Pass = true, Order = 0, }, - new BooleanConstraint() { Pass = true, Order = 1, }, - new BooleanConstraint() { Pass = true, Order = 2, }, - }), - "best"); - - var worst = new TestEndpoint(new EndpointMetadataCollection(new[] - { - new BooleanConstraint() { Pass = true, Order = 0, }, - new BooleanConstraint() { Pass = true, Order = 1, }, - new BooleanConstraint() { Pass = true, Order = 3, }, - }), - "worst"); - - var actions = new Endpoint[] { best, worst }; - - var selector = CreateSelector(actions); - var context = CreateHttpContext("POST"); - - // Act - var action = selector.SelectBestCandidate(context, actions); - - // Assert - Assert.Same(action, best); - } - - [Fact] - public void SelectBestCandidate_Fallback_ToEndpointWithoutConstraints() - { - // Arrange - var nomatch1 = new TestEndpoint(new EndpointMetadataCollection(new[] - { - new BooleanConstraint() { Pass = true, Order = 0, }, - new BooleanConstraint() { Pass = true, Order = 1, }, - new BooleanConstraint() { Pass = false, Order = 2, }, - }), - "nomatch1"); - - var nomatch2 = new TestEndpoint(new EndpointMetadataCollection(new[] - { - new BooleanConstraint() { Pass = true, Order = 0, }, - new BooleanConstraint() { Pass = true, Order = 1, }, - new BooleanConstraint() { Pass = false, Order = 3, }, - }), - "nomatch2"); - - var best = new TestEndpoint(EndpointMetadataCollection.Empty, "best"); - - var actions = new Endpoint[] { best, nomatch1, nomatch2 }; - - var selector = CreateSelector(actions); - var context = CreateHttpContext("POST"); - - // Act - var action = selector.SelectBestCandidate(context, actions); - - // Assert - Assert.Same(action, best); - } - - private static EndpointSelector CreateSelector(IReadOnlyList actions, ILoggerFactory loggerFactory = null) - { - loggerFactory = loggerFactory ?? NullLoggerFactory.Instance; - - var endpointDataSource = new CompositeEndpointDataSource(new[] { new DefaultEndpointDataSource(actions) }); - - var actionConstraintProviders = new IEndpointConstraintProvider[] { - new DefaultEndpointConstraintProvider(), - new BooleanConstraintProvider(), - }; - - return new EndpointSelector( - endpointDataSource, - GetEndpointConstraintCache(actionConstraintProviders), - loggerFactory); - } - - private static HttpContext CreateHttpContext(string httpMethod) - { - var serviceProvider = new ServiceCollection().BuildServiceProvider(); - - var httpContext = new Mock(MockBehavior.Strict); - - var request = new Mock(MockBehavior.Strict); - request.SetupGet(r => r.Method).Returns(httpMethod); - request.SetupGet(r => r.Path).Returns(new PathString("/test")); - request.SetupGet(r => r.Headers).Returns(new HeaderDictionary()); - httpContext.SetupGet(c => c.Request).Returns(request.Object); - httpContext.SetupGet(c => c.RequestServices).Returns(serviceProvider); - - return httpContext.Object; - } - - private static EndpointConstraintCache GetEndpointConstraintCache(IEndpointConstraintProvider[] actionConstraintProviders = null) - { - return new EndpointConstraintCache( - new CompositeEndpointDataSource(Array.Empty()), - actionConstraintProviders.AsEnumerable() ?? new List()); - } - - private class BooleanConstraint : IEndpointConstraint - { - public bool Pass { get; set; } - - public int Order { get; set; } - - public bool Accept(EndpointConstraintContext context) - { - return Pass; - } - } - - private class ConstraintFactory : IEndpointConstraintFactory - { - public IEndpointConstraint Constraint { get; set; } - - public bool IsReusable => true; - - public IEndpointConstraint CreateInstance(IServiceProvider services) - { - return Constraint; - } - } - - private class BooleanConstraintMarker : IEndpointConstraintMetadata - { - public bool Pass { get; set; } - } - - private class BooleanConstraintProvider : IEndpointConstraintProvider - { - public int Order { get; set; } - - public void OnProvidersExecuting(EndpointConstraintProviderContext context) - { - foreach (var item in context.Results) - { - if (item.Metadata is BooleanConstraintMarker marker) - { - Assert.Null(item.Constraint); - item.Constraint = new BooleanConstraint() { Pass = marker.Pass }; - } - } - } - - public void OnProvidersExecuted(EndpointConstraintProviderContext context) - { - } - } - } -} diff --git a/test/Microsoft.AspNetCore.Routing.Tests/Internal/HttpMethodEndpointConstraintTest.cs b/test/Microsoft.AspNetCore.Routing.Tests/Internal/HttpMethodEndpointConstraintTest.cs index 67af016137..53b38fea1a 100644 --- a/test/Microsoft.AspNetCore.Routing.Tests/Internal/HttpMethodEndpointConstraintTest.cs +++ b/test/Microsoft.AspNetCore.Routing.Tests/Internal/HttpMethodEndpointConstraintTest.cs @@ -63,6 +63,8 @@ namespace Microsoft.AspNetCore.Routing.Internal var endpointSelectorCandidate = new EndpointSelectorCandidate( new TestEndpoint(EndpointMetadataCollection.Empty, string.Empty), + 0, + new RouteValueDictionary(), new List { constraint }); context.Candidates = new List { endpointSelectorCandidate }; diff --git a/test/Microsoft.AspNetCore.Routing.Tests/Matchers/BarebonesMatcher.cs b/test/Microsoft.AspNetCore.Routing.Tests/Matchers/BarebonesMatcher.cs index d70cd6eece..1d94447c06 100644 --- a/test/Microsoft.AspNetCore.Routing.Tests/Matchers/BarebonesMatcher.cs +++ b/test/Microsoft.AspNetCore.Routing.Tests/Matchers/BarebonesMatcher.cs @@ -49,18 +49,14 @@ namespace Microsoft.AspNetCore.Routing.Matchers public readonly MatcherEndpoint Endpoint; private readonly string[] _segments; - private readonly CandidateSet _candidates; + private readonly Candidate[] _candidates; public InnerMatcher(string[] segments, MatcherEndpoint endpoint) { _segments = segments; Endpoint = endpoint; - _candidates = new CandidateSet( - new Candidate[] { new Candidate(endpoint), }, - - // Single candidate group that contains one entry. - CandidateSet.MakeGroups(new[] { 1 })); + _candidates = new Candidate[] { new Candidate(endpoint), }; } public bool TryMatch(string path) @@ -114,14 +110,14 @@ namespace Microsoft.AspNetCore.Routing.Matchers return segment == _segments.Length; } - internal CandidateSet SelectCandidates(string path, ReadOnlySpan segments) + internal Candidate[] FindCandidateSet(string path, ReadOnlySpan segments) { if (TryMatch(path)) { return _candidates; } - return CandidateSet.Empty; + return Array.Empty(); } public override Task MatchAsync(HttpContext httpContext, IEndpointFeature feature) diff --git a/test/Microsoft.AspNetCore.Routing.Tests/Matchers/CandidateSetTest.cs b/test/Microsoft.AspNetCore.Routing.Tests/Matchers/CandidateSetTest.cs new file mode 100644 index 0000000000..7b75859884 --- /dev/null +++ b/test/Microsoft.AspNetCore.Routing.Tests/Matchers/CandidateSetTest.cs @@ -0,0 +1,103 @@ +// Copyright (c) .NET Foundation. All rights reserved. +// Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information. + +using System; +using System.Linq; +using Microsoft.AspNetCore.Routing.Patterns; +using Moq; +using Xunit; + +namespace Microsoft.AspNetCore.Routing.Matchers +{ + public class CandidateSetTest + { + // We special case low numbers of candidates, so we want to verify that it works correctly for a variety + // of input sizes. + [Theory] + [InlineData(0)] + [InlineData(1)] + [InlineData(2)] + [InlineData(3)] + [InlineData(4)] + [InlineData(5)] // this is the break-point where we start to use a list. + [InlineData(6)] + public void Create_CreatesCandidateSet(int count) + { + // Arrange + var endpoints = new MatcherEndpoint[count]; + for (var i = 0; i < endpoints.Length; i++) + { + endpoints[i] = CreateEndpoint($"/{i}"); + } + + var builder = CreateDfaMatcherBuilder(); + var candidates = builder.CreateCandidates(endpoints); + + // Act + var candidateSet = new CandidateSet(candidates); + + // Assert + for (var i = 0; i < candidateSet.Count; i++) + { + ref var state = ref candidateSet[i]; + Assert.True(state.IsValidCandidate); + Assert.Same(endpoints[i], state.Endpoint); + Assert.Equal(candidates[i].Score, state.Score); + Assert.Null(state.Values); + } + } + + // We special case low numbers of candidates, so we want to verify that it works correctly for a variety + // of input sizes. + [Theory] + [InlineData(0)] + [InlineData(1)] + [InlineData(2)] + [InlineData(3)] + [InlineData(4)] + [InlineData(5)] // this is the break-point where we start to use a list. + [InlineData(6)] + public void Create_CreatesCandidateSet_TestConstructor(int count) + { + // Arrange + var endpoints = new MatcherEndpoint[count]; + for (var i = 0; i < endpoints.Length; i++) + { + endpoints[i] = CreateEndpoint($"/{i}"); + } + + // Act + var candidateSet = new CandidateSet(endpoints, Enumerable.Range(0, count).ToArray()); + + // Assert + for (var i = 0; i < candidateSet.Count; i++) + { + ref var state = ref candidateSet[i]; + Assert.True(state.IsValidCandidate); + Assert.Same(endpoints[i], state.Endpoint); + Assert.Equal(i, state.Score); + Assert.Null(state.Values); + } + } + + private MatcherEndpoint CreateEndpoint(string template) + { + return new MatcherEndpoint( + MatcherEndpoint.EmptyInvoker, + RoutePatternFactory.Parse(template), + new RouteValueDictionary(), + 0, + EndpointMetadataCollection.Empty, + "test"); + } + + private static DfaMatcherBuilder CreateDfaMatcherBuilder(params MatcherPolicy[] policies) + { + var dataSource = new CompositeEndpointDataSource(Array.Empty()); + return new DfaMatcherBuilder( + Mock.Of(), + Mock.Of(), + policies); + } + } +} diff --git a/test/Microsoft.AspNetCore.Routing.Tests/Matchers/DefaultEndpointSelectorTest.cs b/test/Microsoft.AspNetCore.Routing.Tests/Matchers/DefaultEndpointSelectorTest.cs new file mode 100644 index 0000000000..13d6ff86e9 --- /dev/null +++ b/test/Microsoft.AspNetCore.Routing.Tests/Matchers/DefaultEndpointSelectorTest.cs @@ -0,0 +1,203 @@ +// Copyright (c) .NET Foundation. All rights reserved. +// Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information. + +using System.Threading.Tasks; +using Microsoft.AspNetCore.Http; +using Microsoft.AspNetCore.Routing.Patterns; +using Xunit; + +namespace Microsoft.AspNetCore.Routing.Matchers +{ + public class DefaultEndpointSelectorTest + { + [Fact] + public async Task SelectAsync_NoCandidates_DoesNothing() + { + // Arrange + var endpoints = new MatcherEndpoint[] { }; + var scores = new int[] { }; + var candidateSet = CreateCandidateSet(endpoints, scores); + + var (httpContext, feature) = CreateContext(); + var selector = CreateSelector(); + + // Act + await selector.SelectAsync(httpContext, feature, candidateSet); + + // Assert + Assert.Null(feature.Endpoint); + } + + [Fact] + public async Task SelectAsync_NoValidCandidates_DoesNothing() + { + // Arrange + var endpoints = new MatcherEndpoint[] { CreateEndpoint("/test"), }; + var scores = new int[] { 0, }; + var candidateSet = CreateCandidateSet(endpoints, scores); + + candidateSet[0].Values = new RouteValueDictionary(); + candidateSet[0].IsValidCandidate = false; + + var (httpContext, feature) = CreateContext(); + var selector = CreateSelector(); + + // Act + await selector.SelectAsync(httpContext, feature, candidateSet); + + // Assert + Assert.Null(feature.Endpoint); + Assert.Null(feature.Values); + } + + [Fact] + public async Task SelectAsync_SingleCandidate_ChoosesCandidate() + { + // Arrange + var endpoints = new MatcherEndpoint[] { CreateEndpoint("/test"), }; + var scores = new int[] { 0, }; + var candidateSet = CreateCandidateSet(endpoints, scores); + + candidateSet[0].Values = new RouteValueDictionary(); + candidateSet[0].IsValidCandidate = true; + + var (httpContext, feature) = CreateContext(); + var selector = CreateSelector(); + + // Act + await selector.SelectAsync(httpContext, feature, candidateSet); + + // Assert + Assert.Same(endpoints[0], feature.Endpoint); + Assert.Same(endpoints[0].Invoker, feature.Invoker); + Assert.NotNull(feature.Values); + } + + [Fact] + public async Task SelectAsync_SingleValidCandidate_ChoosesCandidate() + { + // Arrange + var endpoints = new MatcherEndpoint[] { CreateEndpoint("/test1"), CreateEndpoint("/test2"), }; + var scores = new int[] { 0, 0 }; + var candidateSet = CreateCandidateSet(endpoints, scores); + + candidateSet[0].IsValidCandidate = false; + candidateSet[1].IsValidCandidate = true; + + var (httpContext, feature) = CreateContext(); + var selector = CreateSelector(); + + // Act + await selector.SelectAsync(httpContext, feature, candidateSet); + + // Assert + Assert.Same(endpoints[1], feature.Endpoint); + } + + [Fact] + public async Task SelectAsync_SingleValidCandidateInGroup_ChoosesCandidate() + { + // Arrange + var endpoints = new MatcherEndpoint[] { CreateEndpoint("/test1"), CreateEndpoint("/test2"), CreateEndpoint("/test3"), }; + var scores = new int[] { 0, 0, 1 }; + var candidateSet = CreateCandidateSet(endpoints, scores); + + candidateSet[0].IsValidCandidate = false; + candidateSet[1].IsValidCandidate = true; + candidateSet[2].IsValidCandidate = true; + + var (httpContext, feature) = CreateContext(); + var selector = CreateSelector(); + + // Act + await selector.SelectAsync(httpContext, feature, candidateSet); + + // Assert + Assert.Same(endpoints[1], feature.Endpoint); + } + + [Fact] + public async Task SelectAsync_ManyGroupsLastCandidate_ChoosesCandidate() + { + // Arrange + var endpoints = new MatcherEndpoint[] + { + CreateEndpoint("/test1"), + CreateEndpoint("/test2"), + CreateEndpoint("/test3"), + CreateEndpoint("/test4"), + CreateEndpoint("/test5"), + }; + var scores = new int[] { 0, 1, 2, 3, 4 }; + var candidateSet = CreateCandidateSet(endpoints, scores); + + candidateSet[0].IsValidCandidate = false; + candidateSet[1].IsValidCandidate = false; + candidateSet[2].IsValidCandidate = false; + candidateSet[3].IsValidCandidate = false; + candidateSet[4].IsValidCandidate = true; + + var (httpContext, feature) = CreateContext(); + var selector = CreateSelector(); + + // Act + await selector.SelectAsync(httpContext, feature, candidateSet); + + // Assert + Assert.Same(endpoints[4], feature.Endpoint); + } + + [Fact] + public async Task SelectAsync_MultipleValidCandidatesInGroup_ReportsAmbiguity() + { + // Arrange + var endpoints = new MatcherEndpoint[] { CreateEndpoint("/test1"), CreateEndpoint("/test2"), CreateEndpoint("/test3"), }; + var scores = new int[] { 0, 1, 1 }; + var candidateSet = CreateCandidateSet(endpoints, scores); + + candidateSet[0].IsValidCandidate = false; + candidateSet[1].IsValidCandidate = true; + candidateSet[2].IsValidCandidate = true; + + var (httpContext, feature) = CreateContext(); + var selector = CreateSelector(); + + // Act + var ex = await Assert.ThrowsAsync(() => selector.SelectAsync(httpContext, feature, candidateSet)); + + // Assert + Assert.Equal( +@"The request matched multiple endpoints. Matches: + +test: /test2 +test: /test3", ex.Message); + Assert.Null(feature.Endpoint); + } + + private static (HttpContext httpContext, IEndpointFeature feature) CreateContext() + { + return (new DefaultHttpContext(), new EndpointFeature()); + } + + private static MatcherEndpoint CreateEndpoint(string template) + { + return new MatcherEndpoint( + MatcherEndpoint.EmptyInvoker, + RoutePatternFactory.Parse(template), + new RouteValueDictionary(), + 0, + EndpointMetadataCollection.Empty, + $"test: {template}"); + } + + private static CandidateSet CreateCandidateSet(MatcherEndpoint[] endpoints, int[] scores) + { + return new CandidateSet(endpoints, scores); + } + + private static DefaultEndpointSelector CreateSelector() + { + return new DefaultEndpointSelector(); + } + } +} diff --git a/test/Microsoft.AspNetCore.Routing.Tests/Matchers/DfaMatcherBuilderTest.cs b/test/Microsoft.AspNetCore.Routing.Tests/Matchers/DfaMatcherBuilderTest.cs index b8a064b59a..71318fd943 100644 --- a/test/Microsoft.AspNetCore.Routing.Tests/Matchers/DfaMatcherBuilderTest.cs +++ b/test/Microsoft.AspNetCore.Routing.Tests/Matchers/DfaMatcherBuilderTest.cs @@ -5,9 +5,7 @@ using System; using System.Collections.Generic; using System.Linq; using Microsoft.AspNetCore.Routing.Constraints; -using Microsoft.AspNetCore.Routing.EndpointConstraints; using Microsoft.AspNetCore.Routing.Patterns; -using Microsoft.Extensions.Logging.Abstractions; using Moq; using Xunit; @@ -28,7 +26,7 @@ namespace Microsoft.AspNetCore.Routing.Matchers var root = builder.BuildDfaTree(); // Assert - Assert.Same(endpoint, Assert.Single(root.Matches).Endpoint); + Assert.Same(endpoint, Assert.Single(root.Matches)); Assert.Null(root.Parameters); Assert.Empty(root.Literals); } @@ -67,7 +65,7 @@ namespace Microsoft.AspNetCore.Routing.Matchers Assert.Equal("c", next.Key); var c = next.Value; - Assert.Same(endpoint, Assert.Single(c.Matches).Endpoint); + Assert.Same(endpoint, Assert.Single(c.Matches)); Assert.Null(c.Parameters); Assert.Empty(c.Literals); } @@ -97,7 +95,7 @@ namespace Microsoft.AspNetCore.Routing.Matchers Assert.Empty(b.Literals); var c = b.Parameters; - Assert.Same(endpoint, Assert.Single(c.Matches).Endpoint); + Assert.Same(endpoint, Assert.Single(c.Matches)); Assert.Null(c.Parameters); Assert.Empty(c.Literals); } @@ -121,14 +119,14 @@ namespace Microsoft.AspNetCore.Routing.Matchers var a = root.Parameters; // The catch all can match a path like '/a' - Assert.Same(endpoint, Assert.Single(a.Matches).Endpoint); + Assert.Same(endpoint, Assert.Single(a.Matches)); Assert.Empty(a.Literals); Assert.Null(a.Parameters); // Catch-all nodes include an extra transition that loops to process // extra segments. var catchAll = a.CatchAll; - Assert.Same(endpoint, Assert.Single(catchAll.Matches).Endpoint); + Assert.Same(endpoint, Assert.Single(catchAll.Matches)); Assert.Empty(catchAll.Literals); Assert.Same(catchAll, catchAll.Parameters); Assert.Same(catchAll, catchAll.CatchAll); @@ -147,13 +145,13 @@ namespace Microsoft.AspNetCore.Routing.Matchers var root = builder.BuildDfaTree(); // Assert - Assert.Same(endpoint, Assert.Single(root.Matches).Endpoint); + Assert.Same(endpoint, Assert.Single(root.Matches)); Assert.Empty(root.Literals); // Catch-all nodes include an extra transition that loops to process // extra segments. var catchAll = root.CatchAll; - Assert.Same(endpoint, Assert.Single(catchAll.Matches).Endpoint); + Assert.Same(endpoint, Assert.Single(catchAll.Matches)); Assert.Empty(catchAll.Literals); Assert.Same(catchAll, catchAll.Parameters); } @@ -193,7 +191,7 @@ namespace Microsoft.AspNetCore.Routing.Matchers Assert.Equal("c", next.Key); var c1 = next.Value; - Assert.Same(endpoint1, Assert.Single(c1.Matches).Endpoint); + Assert.Same(endpoint1, Assert.Single(c1.Matches)); Assert.Null(c1.Parameters); Assert.Empty(c1.Literals); @@ -205,7 +203,7 @@ namespace Microsoft.AspNetCore.Routing.Matchers Assert.Equal("c", next.Key); var c2 = next.Value; - Assert.Same(endpoint2, Assert.Single(c2.Matches).Endpoint); + Assert.Same(endpoint2, Assert.Single(c2.Matches)); Assert.Null(c2.Parameters); Assert.Empty(c2.Literals); } @@ -248,8 +246,8 @@ namespace Microsoft.AspNetCore.Routing.Matchers var c1 = next.Value; Assert.Collection( c1.Matches, - e => Assert.Same(endpoint1, e.Endpoint), - e => Assert.Same(endpoint2, e.Endpoint)); + e => Assert.Same(endpoint1, e), + e => Assert.Same(endpoint2, e)); Assert.Null(c1.Parameters); Assert.Empty(c1.Literals); @@ -261,7 +259,7 @@ namespace Microsoft.AspNetCore.Routing.Matchers Assert.Equal("c", next.Key); var c2 = next.Value; - Assert.Same(endpoint2, Assert.Single(c2.Matches).Endpoint); + Assert.Same(endpoint2, Assert.Single(c2.Matches)); Assert.Null(c2.Parameters); Assert.Empty(c2.Literals); } @@ -302,8 +300,8 @@ namespace Microsoft.AspNetCore.Routing.Matchers var c = next.Value; Assert.Collection( c.Matches, - e => Assert.Same(endpoint1, e.Endpoint), - e => Assert.Same(endpoint2, e.Endpoint)); + e => Assert.Same(endpoint1, e), + e => Assert.Same(endpoint2, e)); Assert.Null(c.Parameters); Assert.Empty(c.Literals); } @@ -331,13 +329,13 @@ namespace Microsoft.AspNetCore.Routing.Matchers Assert.Equal("a", next.Key); var a = next.Value; - Assert.Same(endpoint2, Assert.Single(a.Matches).Endpoint); + Assert.Same(endpoint2, Assert.Single(a.Matches)); next = Assert.Single(a.Literals); Assert.Equal("b", next.Key); var b1 = next.Value; - Assert.Same(endpoint2, Assert.Single(a.Matches).Endpoint); + Assert.Same(endpoint2, Assert.Single(a.Matches)); Assert.Null(b1.Parameters); next = Assert.Single(b1.Literals); @@ -346,13 +344,13 @@ namespace Microsoft.AspNetCore.Routing.Matchers var c1 = next.Value; Assert.Collection( c1.Matches, - e => Assert.Same(endpoint1, e.Endpoint), - e => Assert.Same(endpoint2, e.Endpoint)); + e => Assert.Same(endpoint1, e), + e => Assert.Same(endpoint2, e)); Assert.Null(c1.Parameters); Assert.Empty(c1.Literals); var catchAll = a.CatchAll; - Assert.Same(endpoint2, Assert.Single(catchAll.Matches).Endpoint); + Assert.Same(endpoint2, Assert.Single(catchAll.Matches)); Assert.Same(catchAll, catchAll.Parameters); Assert.Same(catchAll, catchAll.CatchAll); } @@ -380,11 +378,11 @@ namespace Microsoft.AspNetCore.Routing.Matchers Assert.Equal("a", next.Key); var a = next.Value; - Assert.Same(endpoint2, Assert.Single(a.Matches).Endpoint); + Assert.Same(endpoint2, Assert.Single(a.Matches)); Assert.Empty(a.Literals); var b1 = a.Parameters; - Assert.Same(endpoint2, Assert.Single(a.Matches).Endpoint); + Assert.Same(endpoint2, Assert.Single(a.Matches)); Assert.Null(b1.Parameters); next = Assert.Single(b1.Literals); @@ -393,17 +391,239 @@ namespace Microsoft.AspNetCore.Routing.Matchers var c1 = next.Value; Assert.Collection( c1.Matches, - e => Assert.Same(endpoint1, e.Endpoint), - e => Assert.Same(endpoint2, e.Endpoint)); + e => Assert.Same(endpoint1, e), + e => Assert.Same(endpoint2, e)); Assert.Null(c1.Parameters); Assert.Empty(c1.Literals); var catchAll = a.CatchAll; - Assert.Same(endpoint2, Assert.Single(catchAll.Matches).Endpoint); + Assert.Same(endpoint2, Assert.Single(catchAll.Matches)); Assert.Same(catchAll, catchAll.Parameters); Assert.Same(catchAll, catchAll.CatchAll); } + [Fact] + public void BuildDfaTree_WithPolicies() + { + // Arrange + var builder = CreateDfaMatcherBuilder(new TestMetadata1MatcherPolicy(), new TestMetadata2MatcherPolicy()); + + var endpoint1 = CreateEndpoint("/a", metadata: new object[] { new TestMetadata1(0), new TestMetadata2(true), }); + builder.AddEndpoint(endpoint1); + + // Act + var root = builder.BuildDfaTree(); + + // Assert + Assert.Empty(root.Matches); + Assert.Null(root.Parameters); + + var next = Assert.Single(root.Literals); + Assert.Equal("a", next.Key); + + var a = next.Value; + Assert.Empty(a.Matches); + Assert.IsType(a.NodeBuilder); + Assert.Collection( + a.PolicyEdges.OrderBy(e => e.Key), + e => Assert.Equal(0, e.Key)); + + var test1_0 = a.PolicyEdges[0]; + Assert.Empty(a.Matches); + Assert.IsType(test1_0.NodeBuilder); + Assert.Collection( + test1_0.PolicyEdges.OrderBy(e => e.Key), + e => Assert.Equal(true, e.Key)); + + var test2_true = test1_0.PolicyEdges[true]; + Assert.Same(endpoint1, Assert.Single(test2_true.Matches)); + Assert.Null(test2_true.NodeBuilder); + Assert.Empty(test2_true.PolicyEdges); + } + + [Fact] + public void BuildDfaTree_WithPolicies_AndBranches() + { + // Arrange + var builder = CreateDfaMatcherBuilder(new TestMetadata1MatcherPolicy(), new TestMetadata2MatcherPolicy()); + + var endpoint1 = CreateEndpoint("/a", metadata: new object[] { new TestMetadata1(0), new TestMetadata2(true), }); + builder.AddEndpoint(endpoint1); + + var endpoint2 = CreateEndpoint("/a", metadata: new object[] { new TestMetadata1(1), new TestMetadata2(true), }); + builder.AddEndpoint(endpoint2); + + var endpoint3 = CreateEndpoint("/a", metadata: new object[] { new TestMetadata1(1), new TestMetadata2(false), }); + builder.AddEndpoint(endpoint3); + + // Act + var root = builder.BuildDfaTree(); + + // Assert + Assert.Empty(root.Matches); + Assert.Null(root.Parameters); + + var next = Assert.Single(root.Literals); + Assert.Equal("a", next.Key); + + var a = next.Value; + Assert.Empty(a.Matches); + Assert.IsType(a.NodeBuilder); + Assert.Collection( + a.PolicyEdges.OrderBy(e => e.Key), + e => Assert.Equal(0, e.Key), + e => Assert.Equal(1, e.Key)); + + var test1_0 = a.PolicyEdges[0]; + Assert.Empty(test1_0.Matches); + Assert.IsType(test1_0.NodeBuilder); + Assert.Collection( + test1_0.PolicyEdges.OrderBy(e => e.Key), + e => Assert.Equal(true, e.Key)); + + var test2_true = test1_0.PolicyEdges[true]; + Assert.Same(endpoint1, Assert.Single(test2_true.Matches)); + Assert.Null(test2_true.NodeBuilder); + Assert.Empty(test2_true.PolicyEdges); + + var test1_1 = a.PolicyEdges[1]; + Assert.Empty(test1_1.Matches); + Assert.IsType(test1_1.NodeBuilder); + Assert.Collection( + test1_1.PolicyEdges.OrderBy(e => e.Key), + e => Assert.Equal(false, e.Key), + e => Assert.Equal(true, e.Key)); + + test2_true = test1_1.PolicyEdges[true]; + Assert.Same(endpoint2, Assert.Single(test2_true.Matches)); + Assert.Null(test2_true.NodeBuilder); + Assert.Empty(test2_true.PolicyEdges); + + var test2_false = test1_1.PolicyEdges[false]; + Assert.Same(endpoint3, Assert.Single(test2_false.Matches)); + Assert.Null(test2_false.NodeBuilder); + Assert.Empty(test2_false.PolicyEdges); + } + + [Fact] + public void BuildDfaTree_WithPolicies_AndBranches_FirstPolicySkipped() + { + // Arrange + var builder = CreateDfaMatcherBuilder(new TestMetadata1MatcherPolicy(), new TestMetadata2MatcherPolicy()); + + var endpoint1 = CreateEndpoint("/a", metadata: new object[] { new TestMetadata2(true), }); + builder.AddEndpoint(endpoint1); + + var endpoint2 = CreateEndpoint("/a", metadata: new object[] { new TestMetadata2(true), }); + builder.AddEndpoint(endpoint2); + + var endpoint3 = CreateEndpoint("/a", metadata: new object[] { new TestMetadata2(false), }); + builder.AddEndpoint(endpoint3); + + // Act + var root = builder.BuildDfaTree(); + + // Assert + Assert.Empty(root.Matches); + Assert.Null(root.Parameters); + + var next = Assert.Single(root.Literals); + Assert.Equal("a", next.Key); + + var a = next.Value; + Assert.Empty(a.Matches); + Assert.IsType(a.NodeBuilder); + Assert.Collection( + a.PolicyEdges.OrderBy(e => e.Key), + e => Assert.Equal(false, e.Key), + e => Assert.Equal(true, e.Key)); + + var test2_true = a.PolicyEdges[true]; + Assert.Equal(new[] { endpoint1, endpoint2, }, test2_true.Matches); + Assert.Null(test2_true.NodeBuilder); + Assert.Empty(test2_true.PolicyEdges); + + var test2_false = a.PolicyEdges[false]; + Assert.Equal(new[] { endpoint3, }, test2_false.Matches); + Assert.Null(test2_false.NodeBuilder); + Assert.Empty(test2_false.PolicyEdges); + } + + [Fact] + public void BuildDfaTree_WithPolicies_AndBranches_SecondSkipped() + { + // Arrange + var builder = CreateDfaMatcherBuilder(new TestMetadata1MatcherPolicy(), new TestMetadata2MatcherPolicy()); + + var endpoint1 = CreateEndpoint("/a", metadata: new object[] { new TestMetadata1(0), }); + builder.AddEndpoint(endpoint1); + + var endpoint2 = CreateEndpoint("/a", metadata: new object[] { new TestMetadata1(1), }); + builder.AddEndpoint(endpoint2); + + var endpoint3 = CreateEndpoint("/a", metadata: new object[] { new TestMetadata1(1), }); + builder.AddEndpoint(endpoint3); + + // Act + var root = builder.BuildDfaTree(); + + // Assert + Assert.Empty(root.Matches); + Assert.Null(root.Parameters); + + var next = Assert.Single(root.Literals); + Assert.Equal("a", next.Key); + + var a = next.Value; + Assert.Empty(a.Matches); + Assert.IsType(a.NodeBuilder); + Assert.Collection( + a.PolicyEdges.OrderBy(e => e.Key), + e => Assert.Equal(0, e.Key), + e => Assert.Equal(1, e.Key)); + + var test1_0 = a.PolicyEdges[0]; + Assert.Equal(new[] { endpoint1, }, test1_0.Matches); + Assert.Null(test1_0.NodeBuilder); + Assert.Empty(test1_0.PolicyEdges); + + var test1_1 = a.PolicyEdges[1]; + Assert.Equal(new[] { endpoint2, endpoint3, }, test1_1.Matches); + Assert.Null(test1_1.NodeBuilder); + Assert.Empty(test1_1.PolicyEdges); + } + + [Fact] + public void BuildDfaTree_WithPolicies_AndBranches_BothPoliciesSkipped() + { + // Arrange + var builder = CreateDfaMatcherBuilder(new TestMetadata1MatcherPolicy(), new TestMetadata2MatcherPolicy()); + + var endpoint1 = CreateEndpoint("/a", metadata: new object[] { }); + builder.AddEndpoint(endpoint1); + + var endpoint2 = CreateEndpoint("/a", metadata: new object[] { }); + builder.AddEndpoint(endpoint2); + + var endpoint3 = CreateEndpoint("/a", metadata: new object[] { }); + builder.AddEndpoint(endpoint3); + + // Act + var root = builder.BuildDfaTree(); + + // Assert + Assert.Empty(root.Matches); + Assert.Null(root.Parameters); + + var next = Assert.Single(root.Literals); + Assert.Equal("a", next.Key); + + var a = next.Value; + Assert.Equal(new[] { endpoint1, endpoint2, endpoint3, }, a.Matches); + Assert.Null(a.NodeBuilder); + Assert.Empty(a.PolicyEdges); + } + [Fact] public void CreateCandidate_JustLiterals() { @@ -413,7 +633,7 @@ namespace Microsoft.AspNetCore.Routing.Matchers var builder = CreateDfaMatcherBuilder(); // Act - var candidate = builder.CreateCandidate(new MatcherBuilderEntry(endpoint)); + var candidate = builder.CreateCandidate(endpoint, score: 0); // Assert Assert.Equal(Candidate.CandidateFlags.None, candidate.Flags); @@ -433,7 +653,7 @@ namespace Microsoft.AspNetCore.Routing.Matchers var builder = CreateDfaMatcherBuilder(); // Act - var candidate = builder.CreateCandidate(new MatcherBuilderEntry(endpoint)); + var candidate = builder.CreateCandidate(endpoint, score: 0); // Assert Assert.Equal(Candidate.CandidateFlags.HasCaptures, candidate.Flags); @@ -457,7 +677,7 @@ namespace Microsoft.AspNetCore.Routing.Matchers var builder = CreateDfaMatcherBuilder(); // Act - var candidate = builder.CreateCandidate(new MatcherBuilderEntry(endpoint)); + var candidate = builder.CreateCandidate(endpoint, score: 0); // Assert Assert.Equal( @@ -487,7 +707,7 @@ namespace Microsoft.AspNetCore.Routing.Matchers var builder = CreateDfaMatcherBuilder(); // Act - var candidate = builder.CreateCandidate(new MatcherBuilderEntry(endpoint)); + var candidate = builder.CreateCandidate(endpoint, score: 0); // Assert Assert.Equal( @@ -519,7 +739,7 @@ namespace Microsoft.AspNetCore.Routing.Matchers var builder = CreateDfaMatcherBuilder(); // Act - var candidate = builder.CreateCandidate(new MatcherBuilderEntry(endpoint)); + var candidate = builder.CreateCandidate(endpoint, score: 0); // Assert Assert.Equal( @@ -550,7 +770,7 @@ namespace Microsoft.AspNetCore.Routing.Matchers var builder = CreateDfaMatcherBuilder(); // Act - var candidate = builder.CreateCandidate(new MatcherBuilderEntry(endpoint)); + var candidate = builder.CreateCandidate(endpoint, score: 0); // Assert Assert.Equal( @@ -581,7 +801,7 @@ namespace Microsoft.AspNetCore.Routing.Matchers var builder = CreateDfaMatcherBuilder(); // Act - var candidate = builder.CreateCandidate(new MatcherBuilderEntry(endpoint)); + var candidate = builder.CreateCandidate(endpoint, score: 0); // Assert Assert.Equal( Candidate.CandidateFlags.HasMatchProcessors, candidate.Flags); @@ -591,30 +811,137 @@ namespace Microsoft.AspNetCore.Routing.Matchers Assert.Empty(candidate.ComplexSegments); Assert.Single(candidate.MatchProcessors); } + + [Fact] + public void CreateCandidates_CreatesScoresCorrectly() + { + // Arrange + var endpoints = new[] + { + CreateEndpoint("/a/b/c", constraints: new { a = new IntRouteConstraint(), }, metadata: new object[] { new TestMetadata1(), new TestMetadata2(), }), + CreateEndpoint("/a/b/c", constraints: new { a = new AlphaRouteConstraint(), }, metadata: new object[] { new TestMetadata1(), new TestMetadata2(), }), + CreateEndpoint("/a/b/c", constraints: new { a = new IntRouteConstraint(), }, metadata: new object[] { new TestMetadata1(), }), + CreateEndpoint("/a/b/c", constraints: new { a = new IntRouteConstraint(), }, metadata: new object[] { new TestMetadata2(), }), + CreateEndpoint("/a/b/c", constraints: new { }, metadata: new object[] { }), + CreateEndpoint("/a/b/c", constraints: new { }, metadata: new object[] { }), + }; - private static DfaMatcherBuilder CreateDfaMatcherBuilder() + var builder = CreateDfaMatcherBuilder(new TestMetadata1MatcherPolicy(), new TestMetadata2MatcherPolicy()); + + // Act + var candidates = builder.CreateCandidates(endpoints); + + // Assert + Assert.Collection( + candidates, + c => Assert.Equal(0, c.Score), + c => Assert.Equal(0, c.Score), + c => Assert.Equal(1, c.Score), + c => Assert.Equal(2, c.Score), + c => Assert.Equal(3, c.Score), + c => Assert.Equal(3, c.Score)); + } + + private static DfaMatcherBuilder CreateDfaMatcherBuilder(params MatcherPolicy[] policies) { var dataSource = new CompositeEndpointDataSource(Array.Empty()); return new DfaMatcherBuilder( Mock.Of(), - new EndpointSelector( - dataSource, - new EndpointConstraintCache(dataSource, Array.Empty()), - NullLoggerFactory.Instance)); + Mock.Of(), + policies); } private MatcherEndpoint CreateEndpoint( string template, object defaults = null, - object constraints = null) + object constraints = null, + params object[] metadata) { return new MatcherEndpoint( MatcherEndpoint.EmptyInvoker, RoutePatternFactory.Parse(template, new RouteValueDictionary(defaults), new RouteValueDictionary(constraints)), new RouteValueDictionary(), 0, - new EndpointMetadataCollection(Array.Empty()), + new EndpointMetadataCollection(metadata), "test"); } + + private class TestMetadata1 + { + public TestMetadata1() + { + } + + public TestMetadata1(int state) + { + State = state; + } + + public int State { get; set; } + } + + private class TestMetadata1MatcherPolicy : MatcherPolicy, IEndpointComparerPolicy, INodeBuilderPolicy + { + public override int Order => 100; + + public IComparer Comparer => EndpointMetadataComparer.Default; + + public bool AppliesToNode(IReadOnlyList endpoints) + { + return endpoints.Any(e => e.Metadata.GetMetadata() != null); + } + + public PolicyJumpTable BuildJumpTable(int exitDestination, IReadOnlyList edges) + { + throw new NotImplementedException(); + } + + public IReadOnlyList GetEdges(IReadOnlyList endpoints) + { + return endpoints + .GroupBy(e => e.Metadata.GetMetadata().State) + .Select(g => new PolicyNodeEdge(g.Key, g.ToArray())) + .ToArray(); + } + } + + private class TestMetadata2 + { + public TestMetadata2() + { + } + + public TestMetadata2(bool state) + { + State = state; + } + + public bool State { get; set; } + } + + private class TestMetadata2MatcherPolicy : MatcherPolicy, IEndpointComparerPolicy, INodeBuilderPolicy + { + public override int Order => 101; + + public IComparer Comparer => EndpointMetadataComparer.Default; + + public bool AppliesToNode(IReadOnlyList endpoints) + { + return endpoints.Any(e => e.Metadata.GetMetadata() != null); + } + + public PolicyJumpTable BuildJumpTable(int exitDestination, IReadOnlyList edges) + { + throw new NotImplementedException(); + } + + public IReadOnlyList GetEdges(IReadOnlyList endpoints) + { + return endpoints + .GroupBy(e => e.Metadata.GetMetadata().State) + .Select(g => new PolicyNodeEdge(g.Key, g.ToArray())) + .ToArray(); + } + } } } diff --git a/test/Microsoft.AspNetCore.Routing.Tests/Matchers/DfaMatcherTest.cs b/test/Microsoft.AspNetCore.Routing.Tests/Matchers/DfaMatcherTest.cs index 821a0d0806..ee6d64cfc1 100644 --- a/test/Microsoft.AspNetCore.Routing.Tests/Matchers/DfaMatcherTest.cs +++ b/test/Microsoft.AspNetCore.Routing.Tests/Matchers/DfaMatcherTest.cs @@ -1,16 +1,12 @@ // Copyright (c) .NET Foundation. All rights reserved. // Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information. -using System; using System.Collections.Generic; using System.Threading.Tasks; using Microsoft.AspNetCore.Http; using Microsoft.AspNetCore.Routing.EndpointConstraints; using Microsoft.AspNetCore.Routing.Patterns; using Microsoft.Extensions.DependencyInjection; -using Microsoft.Extensions.Logging.Abstractions; -using Microsoft.Extensions.Options; -using Moq; using Xunit; namespace Microsoft.AspNetCore.Routing.Matchers @@ -51,7 +47,7 @@ namespace Microsoft.AspNetCore.Routing.Matchers CreateEndpoint("/{p:int}", 0) }); - var treeMatcher = CreateDfaMatcher(endpointDataSource); + var matcher = CreateDfaMatcher(endpointDataSource); var httpContext = new DefaultHttpContext(); httpContext.Request.Path = "/1"; @@ -59,7 +55,7 @@ namespace Microsoft.AspNetCore.Routing.Matchers var endpointFeature = new EndpointFeature(); // Act - await treeMatcher.MatchAsync(httpContext, endpointFeature); + await matcher.MatchAsync(httpContext, endpointFeature); // Assert Assert.NotNull(endpointFeature.Endpoint); @@ -74,7 +70,7 @@ namespace Microsoft.AspNetCore.Routing.Matchers CreateEndpoint("/{p:int}", 0) }); - var treeMatcher = CreateDfaMatcher(endpointDataSource); + var matcher = CreateDfaMatcher(endpointDataSource); var httpContext = new DefaultHttpContext(); httpContext.Request.Path = "/One"; @@ -82,7 +78,7 @@ namespace Microsoft.AspNetCore.Routing.Matchers var endpointFeature = new EndpointFeature(); // Act - await treeMatcher.MatchAsync(httpContext, endpointFeature); + await matcher.MatchAsync(httpContext, endpointFeature); // Assert Assert.Null(endpointFeature.Endpoint); @@ -101,7 +97,7 @@ namespace Microsoft.AspNetCore.Routing.Matchers lowerOrderEndpoint }); - var treeMatcher = CreateDfaMatcher(endpointDataSource); + var matcher = CreateDfaMatcher(endpointDataSource); var httpContext = new DefaultHttpContext(); httpContext.Request.Path = "/Teams"; @@ -109,7 +105,7 @@ namespace Microsoft.AspNetCore.Routing.Matchers var endpointFeature = new EndpointFeature(); // Act - await treeMatcher.MatchAsync(httpContext, endpointFeature); + await matcher.MatchAsync(httpContext, endpointFeature); // Assert Assert.Equal(lowerOrderEndpoint, endpointFeature.Endpoint); @@ -131,7 +127,7 @@ namespace Microsoft.AspNetCore.Routing.Matchers endpointWithConstraint }); - var treeMatcher = CreateDfaMatcher(endpointDataSource); + var matcher = CreateDfaMatcher(endpointDataSource); var httpContext = new DefaultHttpContext(); httpContext.Request.Method = "POST"; @@ -140,7 +136,7 @@ namespace Microsoft.AspNetCore.Routing.Matchers var endpointFeature = new EndpointFeature(); // Act - await treeMatcher.MatchAsync(httpContext, endpointFeature); + await matcher.MatchAsync(httpContext, endpointFeature); // Assert Assert.Equal(endpointWithConstraint, endpointFeature.Endpoint); diff --git a/test/Microsoft.AspNetCore.Routing.Tests/Matchers/EndpointMetadataComparerTest.cs b/test/Microsoft.AspNetCore.Routing.Tests/Matchers/EndpointMetadataComparerTest.cs new file mode 100644 index 0000000000..4a6ca5babd --- /dev/null +++ b/test/Microsoft.AspNetCore.Routing.Tests/Matchers/EndpointMetadataComparerTest.cs @@ -0,0 +1,91 @@ +// Copyright (c) .NET Foundation. All rights reserved. +// Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information. + +using System.Collections.Generic; +using Microsoft.AspNetCore.Routing.TestObjects; +using Xunit; + +namespace Microsoft.AspNetCore.Routing.Matchers +{ + public class EndpointMetadataComparerTest + { + [Fact] + public void Compare_EndpointWithMetadata_MoreSpecific() + { + // Arrange + var endpoint1 = new TestEndpoint(new EndpointMetadataCollection(new object[] { new TestMetadata(), }), "test1"); + var endpoint2 = new TestEndpoint(new EndpointMetadataCollection(new object[] { }), "test2"); + + // Act + var result = EndpointMetadataComparer.Default.Compare(endpoint1, endpoint2); + + // Assert + Assert.Equal(-1, result); + } + + [Fact] + public void Compare_EndpointWithMetadata_ReverseOrder_MoreSpecific() + { + // Arrange + var endpoint1 = new TestEndpoint(new EndpointMetadataCollection(new object[] { }), "test1"); + var endpoint2 = new TestEndpoint(new EndpointMetadataCollection(new object[] { new TestMetadata(), }), "test2"); + + // Act + var result = EndpointMetadataComparer.Default.Compare(endpoint1, endpoint2); + + // Assert + Assert.Equal(1, result); + } + + [Fact] + public void Compare_BothEndpointsWithMetadata_Equal() + { + // Arrange + var endpoint1 = new TestEndpoint(new EndpointMetadataCollection(new object[] { new TestMetadata(), }), "test1"); + var endpoint2 = new TestEndpoint(new EndpointMetadataCollection(new object[] { new TestMetadata(), }), "test2"); + + // Act + var result = EndpointMetadataComparer.Default.Compare(endpoint1, endpoint2); + + // Assert + Assert.Equal(0, result); + } + + [Fact] + public void Compare_BothEndpointsWithoutMetadata_Equal() + { + // Arrange + var endpoint1 = new TestEndpoint(new EndpointMetadataCollection(new object[] { }), "test1"); + var endpoint2 = new TestEndpoint(new EndpointMetadataCollection(new object[] { }), "test2"); + + // Act + var result = EndpointMetadataComparer.Default.Compare(endpoint1, endpoint2); + + // Assert + Assert.Equal(0, result); + } + + [Fact] + public void Sort_EndpointWithMetadata_FirstInList() + { + // Arrange + var endpoint1 = new TestEndpoint(new EndpointMetadataCollection(new object[] { new TestMetadata(), }), "test1"); + var endpoint2 = new TestEndpoint(new EndpointMetadataCollection(new object[] { }), "test2"); + + var list = new List() { endpoint2, endpoint1, }; + + // Act + list.Sort(EndpointMetadataComparer.Default); + + // Assert + Assert.Collection( + list, + e => Assert.Same(endpoint1, e), + e => Assert.Same(endpoint2, e)); + } + + private class TestMetadata + { + } + } +} diff --git a/test/Microsoft.AspNetCore.Routing.Tests/Matchers/HttpMethodMatcherPolicyIntegrationTest.cs b/test/Microsoft.AspNetCore.Routing.Tests/Matchers/HttpMethodMatcherPolicyIntegrationTest.cs new file mode 100644 index 0000000000..26bf2173de --- /dev/null +++ b/test/Microsoft.AspNetCore.Routing.Tests/Matchers/HttpMethodMatcherPolicyIntegrationTest.cs @@ -0,0 +1,232 @@ +// Copyright (c) .NET Foundation. All rights reserved. +// Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information. + +using System; +using System.Collections.Generic; +using System.Threading.Tasks; +using Microsoft.AspNetCore.Http; +using Microsoft.AspNetCore.Routing.Metadata; +using Microsoft.AspNetCore.Routing.Patterns; +using Microsoft.Extensions.DependencyInjection; +using Xunit; + +namespace Microsoft.AspNetCore.Routing.Matchers +{ + // End-to-end tests for the HTTP method matching functionality + public class HttpMethodMatcherPolicyIntegrationTest + { + [Fact] + public async Task Match_HttpMethod() + { + // Arrange + var endpoint = CreateEndpoint("/hello", httpMethods: new string[] { "GET", }); + + var matcher = CreateMatcher(endpoint); + var (httpContext, feature) = CreateContext("/hello", "GET"); + + // Act + await matcher.MatchAsync(httpContext, feature); + + // Assert + MatcherAssert.AssertMatch(feature, endpoint); + } + + [Fact] + public async Task Match_HttpMethod_CaseInsensitive() + { + // Arrange + var endpoint = CreateEndpoint("/hello", httpMethods: new string[] { "GeT", }); + + var matcher = CreateMatcher(endpoint); + var (httpContext, feature) = CreateContext("/hello", "GET"); + + // Act + await matcher.MatchAsync(httpContext, feature); + + // Assert + MatcherAssert.AssertMatch(feature, endpoint); + } + + [Fact] + public async Task Match_NoMetadata_MatchesAnyHttpMethod() + { + // Arrange + var endpoint = CreateEndpoint("/hello"); + + var matcher = CreateMatcher(endpoint); + var (httpContext, feature) = CreateContext("/hello", "GET"); + + // Act + await matcher.MatchAsync(httpContext, feature); + + // Assert + MatcherAssert.AssertMatch(feature, endpoint); + } + + [Fact] + public async Task Match_EmptyMethodList_MatchesAnyHttpMethod() + { + // Arrange + var endpoint = CreateEndpoint("/hello", httpMethods: new string[] { }); + + var matcher = CreateMatcher(endpoint); + var (httpContext, feature) = CreateContext("/hello", "GET"); + + // Act + await matcher.MatchAsync(httpContext, feature); + + // Assert + MatcherAssert.AssertMatch(feature, endpoint); + } + + [Fact] // When all of the candidates handles specific verbs, use a 405 endpoint + public async Task NotMatch_HttpMethod_Returns405Endpoint() + { + // Arrange + var endpoint1 = CreateEndpoint("/hello", httpMethods: new string[] { "GET", "PUT" }); + var endpoint2 = CreateEndpoint("/hello", httpMethods: new string[] { "DELETE" }); + + var matcher = CreateMatcher(endpoint1, endpoint2); + var (httpContext, feature) = CreateContext("/hello", "POST"); + + // Act + await matcher.MatchAsync(httpContext, feature); + + // Assert + Assert.NotSame(endpoint1, feature.Endpoint); + Assert.NotSame(endpoint2, feature.Endpoint); + + Assert.Same(HttpMethodEndpointSelectorPolicy.Http405EndpointDisplayName, feature.Endpoint.DisplayName); + + // Invoke the endpoint + await feature.Invoker((c) => Task.CompletedTask)(httpContext); + Assert.Equal(405, httpContext.Response.StatusCode); + Assert.Equal("DELETE, GET, PUT", httpContext.Response.Headers["Allow"]); + } + + [Fact] // When one of the candidates handles all verbs, dont use a 405 endpoint + public async Task NotMatch_HttpMethod_WithAllMethodEndpoint_DoesNotReturn405() + { + // Arrange + var endpoint1 = CreateEndpoint("/{x:int}", httpMethods: new string[] { }); + var endpoint2 = CreateEndpoint("/hello", httpMethods: new string[] { "DELETE" }); + + var matcher = CreateMatcher(endpoint1, endpoint2); + var (httpContext, feature) = CreateContext("/hello", "POST"); + + // Act + await matcher.MatchAsync(httpContext, feature); + + // Assert + MatcherAssert.AssertNotMatch(feature); + } + + [Fact] + public async Task Match_EndpointWithHttpMethodPreferred() + { + // Arrange + var endpoint1 = CreateEndpoint("/hello", httpMethods: new string[] { "GET", }); + var endpoint2 = CreateEndpoint("/bar"); + + var matcher = CreateMatcher(endpoint1, endpoint2); + var (httpContext, feature) = CreateContext("/hello", "GET"); + + // Act + await matcher.MatchAsync(httpContext, feature); + + // Assert + MatcherAssert.AssertMatch(feature, endpoint1); + } + + [Fact] + public async Task Match_EndpointWithHttpMethodPreferred_EmptyList() + { + // Arrange + var endpoint1 = CreateEndpoint("/hello", httpMethods: new string[] { "GET", }); + var endpoint2 = CreateEndpoint("/bar", httpMethods: new string[] { }); + + var matcher = CreateMatcher(endpoint1, endpoint2); + var (httpContext, feature) = CreateContext("/hello", "GET"); + + // Act + await matcher.MatchAsync(httpContext, feature); + + // Assert + MatcherAssert.AssertMatch(feature, endpoint1); + } + + [Fact] // The non-http-method-specific endpoint is part of the same candidate set + public async Task Match_EndpointWithHttpMethodPreferred_FallsBackToNonSpecific() + { + // Arrange + var endpoint1 = CreateEndpoint("/{x}", httpMethods: new string[] { "GET", }); + var endpoint2 = CreateEndpoint("/{x}", httpMethods: new string[] { }); + + var matcher = CreateMatcher(endpoint1, endpoint2); + var (httpContext, feature) = CreateContext("/hello", "POST"); + + // Act + await matcher.MatchAsync(httpContext, feature); + + // Assert + MatcherAssert.AssertMatch(feature, endpoint2, ignoreValues: true); + } + + private static Matcher CreateMatcher(params MatcherEndpoint[] endpoints) + { + var services = new ServiceCollection() + .AddOptions() + .AddLogging() + .AddRouting() + .BuildServiceProvider(); + + var builder = services.GetRequiredService(); + for (var i = 0; i < endpoints.Length; i++) + { + builder.AddEndpoint(endpoints[i]); + } + + return builder.Build(); + } + + internal static (HttpContext httpContext, IEndpointFeature feature) CreateContext(string path, string httpMethod) + { + var httpContext = new DefaultHttpContext(); + httpContext.Request.Method = httpMethod; + httpContext.Request.Path = path; + + var feature = new EndpointFeature(); + httpContext.Features.Set(feature); + + return (httpContext, feature); + } + internal static MatcherEndpoint CreateEndpoint( + string template, + object defaults = null, + object constraints = null, + int order = 0, + string[] httpMethods = null) + { + var metadata = new List(); + if (httpMethods != null) + { + metadata.Add(new HttpMethodMetadata(httpMethods)); + } + + var displayName = "endpoint: " + template + " " + string.Join(", ", httpMethods ?? new[] { "(any)" }); + return new MatcherEndpoint( + MatcherEndpoint.EmptyInvoker, + RoutePatternFactory.Parse(template, defaults, constraints), + new RouteValueDictionary(), + order, + new EndpointMetadataCollection(metadata), + displayName); + } + + internal (Matcher matcher, MatcherEndpoint endpoint) CreateMatcher(string template) + { + var endpoint = CreateEndpoint(template); + return (CreateMatcher(endpoint), endpoint); + } + } +} diff --git a/test/Microsoft.AspNetCore.Routing.Tests/Matchers/HttpMethodMatcherPolicyTest.cs b/test/Microsoft.AspNetCore.Routing.Tests/Matchers/HttpMethodMatcherPolicyTest.cs new file mode 100644 index 0000000000..d4e3149852 --- /dev/null +++ b/test/Microsoft.AspNetCore.Routing.Tests/Matchers/HttpMethodMatcherPolicyTest.cs @@ -0,0 +1,171 @@ +// Copyright (c) .NET Foundation. All rights reserved. +// Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information. + +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using Microsoft.AspNetCore.Routing.Metadata; +using Microsoft.AspNetCore.Routing.Patterns; +using Xunit; + +namespace Microsoft.AspNetCore.Routing.Matchers +{ + public class HttpMethodMatcherPolicyTest + { + [Fact] + public void AppliesToNode_EndpointWithoutMetadata_ReturnsFalse() + { + // Arrange + var endpoints = new[] { CreateEndpoint("/", null), }; + + var policy = CreatePolicy(); + + // Act + var result = policy.AppliesToNode(endpoints); + + // Assert + Assert.False(result); + } + + [Fact] + public void AppliesToNode_EndpointWithoutHttpMethods_ReturnsFalse() + { + // Arrange + var endpoints = new[] { CreateEndpoint("/", Array.Empty()), }; + + var policy = CreatePolicy(); + + // Act + var result = policy.AppliesToNode(endpoints); + + // Assert + Assert.False(result); + } + + [Fact] + public void AppliesToNode_EndpointHasHttpMethods_ReturnsTrue() + { + // Arrange + var endpoints = new[] { CreateEndpoint("/", Array.Empty()), CreateEndpoint("/", new[] { "GET", })}; + + var policy = CreatePolicy(); + + // Act + var result = policy.AppliesToNode(endpoints); + + // Assert + Assert.True(result); + } + + [Fact] + public void GetEdges_GroupsByHttpMethod() + { + // Arrange + var endpoints = new[] + { + // These are arrange in an order that we won't actually see in a product scenario. It's done + // this way so we can verify that ordering is preserved by GetEdges. + CreateEndpoint("/", new[] { "GET", }), + CreateEndpoint("/", Array.Empty()), + CreateEndpoint("/", new[] { "GET", "PUT", "POST" }), + CreateEndpoint("/", new[] { "PUT", "POST" }), + CreateEndpoint("/", Array.Empty()), + }; + + var policy = CreatePolicy(); + + // Act + var edges = policy.GetEdges(endpoints); + + // Assert + Assert.Collection( + edges.OrderBy(e => e.State), + e => + { + Assert.Equal(HttpMethodEndpointSelectorPolicy.AnyMethod, e.State); + Assert.Equal(new[] { endpoints[1], endpoints[4], }, e.Endpoints.ToArray()); + }, + e => + { + Assert.Equal("GET", e.State); + Assert.Equal(new[] { endpoints[0], endpoints[1], endpoints[2], endpoints[4], }, e.Endpoints.ToArray()); + }, + e => + { + Assert.Equal("POST", e.State); + Assert.Equal(new[] { endpoints[1], endpoints[2], endpoints[3], endpoints[4], }, e.Endpoints.ToArray()); + }, + e => + { + Assert.Equal("PUT", e.State); + Assert.Equal(new[] { endpoints[1], endpoints[2], endpoints[3], endpoints[4], }, e.Endpoints.ToArray()); + }); + } + + [Fact] // See explanation in GetEdges for how this case is different + public void GetEdges_GroupsByHttpMethod_CreatesHttp405Endpoint() + { + // Arrange + var endpoints = new[] + { + // These are arrange in an order that we won't actually see in a product scenario. It's done + // this way so we can verify that ordering is preserved by GetEdges. + CreateEndpoint("/", new[] { "GET", }), + CreateEndpoint("/", new[] { "GET", "PUT", "POST" }), + CreateEndpoint("/", new[] { "PUT", "POST" }), + }; + + var policy = CreatePolicy(); + + // Act + var edges = policy.GetEdges(endpoints); + + // Assert + Assert.Collection( + edges.OrderBy(e => e.State), + e => + { + Assert.Equal(HttpMethodEndpointSelectorPolicy.AnyMethod, e.State); + Assert.Equal(HttpMethodEndpointSelectorPolicy.Http405EndpointDisplayName, e.Endpoints.Single().DisplayName); + }, + e => + { + Assert.Equal("GET", e.State); + Assert.Equal(new[] { endpoints[0], endpoints[1], }, e.Endpoints.ToArray()); + }, + e => + { + Assert.Equal("POST", e.State); + Assert.Equal(new[] { endpoints[1], endpoints[2], }, e.Endpoints.ToArray()); + }, + e => + { + Assert.Equal("PUT", e.State); + Assert.Equal(new[] { endpoints[1], endpoints[2], }, e.Endpoints.ToArray()); + }); + } + + private static MatcherEndpoint CreateEndpoint(string template, string[] httpMethods) + { + var metadata = new List(); + if (httpMethods != null) + { + metadata.Add(new HttpMethodMetadata(httpMethods)); + } + + return new MatcherEndpoint( + MatcherEndpoint.EmptyInvoker, + RoutePatternFactory.Parse(template), + new RouteValueDictionary(), + 0, + new EndpointMetadataCollection(metadata), + $"test: {template}"); + } + + private static HttpMethodEndpointSelectorPolicy CreatePolicy() + { + return new HttpMethodEndpointSelectorPolicy(); + } + } +} diff --git a/test/Microsoft.AspNetCore.Routing.Tests/Matchers/MatcherEndpointComparerTest.cs b/test/Microsoft.AspNetCore.Routing.Tests/Matchers/MatcherEndpointComparerTest.cs new file mode 100644 index 0000000000..383a2153e3 --- /dev/null +++ b/test/Microsoft.AspNetCore.Routing.Tests/Matchers/MatcherEndpointComparerTest.cs @@ -0,0 +1,254 @@ +// Copyright (c) .NET Foundation. All rights reserved. +// Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information. + +using System.Collections.Generic; +using Microsoft.AspNetCore.Routing.Patterns; +using Xunit; + +namespace Microsoft.AspNetCore.Routing.Matchers +{ + public class MatcherEndpointComparerTest + { + [Fact] + public void Compare_PrefersOrder_IfDifferent() + { + // Arrange + var endpoint1 = CreateEndpoint("/", order: 1); + var endpoint2 = CreateEndpoint("/api/foo", order: -1); + + var comparer = CreateComparer(); + + // Act + var result = comparer.Compare(endpoint1, endpoint2); + + // Assert + Assert.Equal(1, result); + } + + [Fact] + public void Compare_PrefersPrecedence_IfOrderIsSame() + { + // Arrange + var endpoint1 = CreateEndpoint("/api/foo", order: 1); + var endpoint2 = CreateEndpoint("/", order: 1); + + var comparer = CreateComparer(); + + // Act + var result = comparer.Compare(endpoint1, endpoint2); + + // Assert + Assert.Equal(1, result); + } + + [Fact] + public void Compare_PrefersPolicy_IfPrecedenceIsSame() + { + // Arrange + var endpoint1 = CreateEndpoint("/", order: 1, new TestMetadata1()); + var endpoint2 = CreateEndpoint("/", order: 1); + + var comparer = CreateComparer(new TestMetadata1Policy()); + + // Act + var result = comparer.Compare(endpoint1, endpoint2); + + // Assert + Assert.Equal(-1, result); + } + + [Fact] + public void Compare_PrefersSecondPolicy_IfFirstPolicyIsSame() + { + // Arrange + var endpoint1 = CreateEndpoint("/", order: 1, new TestMetadata1()); + var endpoint2 = CreateEndpoint("/", order: 1, new TestMetadata1(), new TestMetadata2()); + + var comparer = CreateComparer(new TestMetadata1Policy(), new TestMetadata2Policy()); + + // Act + var result = comparer.Compare(endpoint1, endpoint2); + + // Assert + Assert.Equal(1, result); + } + + [Fact] + public void Compare_PrefersTemplate_IfOtherCriteriaIsSame() + { + // Arrange + var endpoint1 = CreateEndpoint("/foo", order: 1, new TestMetadata1()); + var endpoint2 = CreateEndpoint("/bar", order: 1, new TestMetadata1()); + + var comparer = CreateComparer(new TestMetadata1Policy(), new TestMetadata2Policy()); + + // Act + var result = comparer.Compare(endpoint1, endpoint2); + + // Assert + Assert.Equal(1, result); + } + + [Fact] + public void Compare_ReturnsZero_WhenIdentical() + { + // Arrange + var endpoint1 = CreateEndpoint("/foo", order: 1, new TestMetadata1()); + var endpoint2 = CreateEndpoint("/foo", order: 1, new TestMetadata1()); + + var comparer = CreateComparer(new TestMetadata1Policy(), new TestMetadata2Policy()); + + // Act + var result = comparer.Compare(endpoint1, endpoint2); + + // Assert + Assert.Equal(0, result); + } + + [Fact] + public void Equals_NotEqual_IfOrderDifferent() + { + // Arrange + var endpoint1 = CreateEndpoint("/", order: 1); + var endpoint2 = CreateEndpoint("/api/foo", order: -1); + + var comparer = CreateComparer(); + + // Act + var result = comparer.Equals(endpoint1, endpoint2); + + // Assert + Assert.False(result); + } + + [Fact] + public void Equals_NotEqual_IfPrecedenceDifferent() + { + // Arrange + var endpoint1 = CreateEndpoint("/api/foo", order: 1); + var endpoint2 = CreateEndpoint("/", order: 1); + + var comparer = CreateComparer(); + + // Act + var result = comparer.Equals(endpoint1, endpoint2); + + // Assert + Assert.False(result); + } + + [Fact] + public void Equals_NotEqual_IfFirstPolicyDifferent() + { + // Arrange + var endpoint1 = CreateEndpoint("/", order: 1, new TestMetadata1()); + var endpoint2 = CreateEndpoint("/", order: 1); + + var comparer = CreateComparer(new TestMetadata1Policy()); + + // Act + var result = comparer.Equals(endpoint1, endpoint2); + + // Assert + Assert.False(result); + } + + [Fact] + public void Equals_NotEqual_IfSecondPolicyDifferent() + { + // Arrange + var endpoint1 = CreateEndpoint("/", order: 1, new TestMetadata1()); + var endpoint2 = CreateEndpoint("/", order: 1, new TestMetadata1(), new TestMetadata2()); + + var comparer = CreateComparer(new TestMetadata1Policy(), new TestMetadata2Policy()); + + // Act + var result = comparer.Equals(endpoint1, endpoint2); + + // Assert + Assert.False(result); + } + + [Fact] + public void Equals_Equals_WhenTemplateIsDifferent() + { + // Arrange + var endpoint1 = CreateEndpoint("/foo", order: 1, new TestMetadata1()); + var endpoint2 = CreateEndpoint("/bar", order: 1, new TestMetadata1()); + + var comparer = CreateComparer(new TestMetadata1Policy(), new TestMetadata2Policy()); + + // Act + var result = comparer.Equals(endpoint1, endpoint2); + + // Assert + Assert.True(result); + } + + [Fact] + public void Sort_MoreSpecific_FirstInList() + { + // Arrange + var endpoint1 = CreateEndpoint("/foo", order: -1); + var endpoint2 = CreateEndpoint("/bar/{baz}", order: -1); + var endpoint3 = CreateEndpoint("/bar", order: 0, new TestMetadata1()); + var endpoint4 = CreateEndpoint("/foo", order: 0, new TestMetadata2()); + var endpoint5 = CreateEndpoint("/foo", order: 0); + var endpoint6 = CreateEndpoint("/a{baz}", order: 0, new TestMetadata1(), new TestMetadata2()); + var endpoint7 = CreateEndpoint("/bar{baz}", order: 0, new TestMetadata1(), new TestMetadata2()); + + // Endpoints listed in reverse of the desired order. + var list = new List() { endpoint7, endpoint6, endpoint5, endpoint4, endpoint3, endpoint2, endpoint1, }; + + var comparer = CreateComparer(new TestMetadata1Policy(), new TestMetadata2Policy()); + + // Act + list.Sort(comparer); + + // Assert + Assert.Collection( + list, + e => Assert.Same(endpoint1, e), + e => Assert.Same(endpoint2, e), + e => Assert.Same(endpoint3, e), + e => Assert.Same(endpoint4, e), + e => Assert.Same(endpoint5, e), + e => Assert.Same(endpoint6, e), + e => Assert.Same(endpoint7, e)); + } + + private static MatcherEndpoint CreateEndpoint(string template, int order, params object[] metadata) + { + return new MatcherEndpoint( + MatcherEndpoint.EmptyInvoker, + RoutePatternFactory.Parse(template), + new RouteValueDictionary(), + order, + new EndpointMetadataCollection(metadata), + "test: " + template); + } + + private static MatcherEndpointComparer CreateComparer(params IEndpointComparerPolicy[] policies) + { + return new MatcherEndpointComparer(policies); + } + + private class TestMetadata1 + { + } + + private class TestMetadata1Policy : IEndpointComparerPolicy + { + public IComparer Comparer => EndpointMetadataComparer.Default; + } + + private class TestMetadata2 + { + } + + private class TestMetadata2Policy : IEndpointComparerPolicy + { + public IComparer Comparer => EndpointMetadataComparer.Default; + } + } +} diff --git a/test/Microsoft.AspNetCore.Routing.Tests/Matchers/RouteMatcherBuilder.cs b/test/Microsoft.AspNetCore.Routing.Tests/Matchers/RouteMatcherBuilder.cs index 3748454b92..a57eea4387 100644 --- a/test/Microsoft.AspNetCore.Routing.Tests/Matchers/RouteMatcherBuilder.cs +++ b/test/Microsoft.AspNetCore.Routing.Tests/Matchers/RouteMatcherBuilder.cs @@ -7,7 +7,6 @@ using System.Linq; using System.Threading.Tasks; using Microsoft.AspNetCore.Routing.EndpointConstraints; using Microsoft.AspNetCore.Routing.Patterns; -using Microsoft.AspNetCore.Routing.Template; using Microsoft.Extensions.Logging.Abstractions; using Microsoft.Extensions.Options; @@ -16,39 +15,37 @@ namespace Microsoft.AspNetCore.Routing.Matchers internal class RouteMatcherBuilder : MatcherBuilder { private readonly IInlineConstraintResolver _constraintResolver; - private readonly List _entries; + private readonly List _endpoints; public RouteMatcherBuilder() { _constraintResolver = new DefaultInlineConstraintResolver(Options.Create(new RouteOptions())); - _entries = new List(); + _endpoints = new List(); } public override void AddEndpoint(MatcherEndpoint endpoint) { - _entries.Add(new MatcherBuilderEntry(endpoint)); + _endpoints.Add(endpoint); } public override Matcher Build() { - _entries.Sort(); - var cache = new EndpointConstraintCache( new CompositeEndpointDataSource(Array.Empty()), new[] { new DefaultEndpointConstraintProvider(), }); - var selector = new EndpointSelector(null, cache, NullLoggerFactory.Instance); + var selector = new EndpointConstraintEndpointSelector(null, cache, NullLoggerFactory.Instance); - var groups = _entries - .GroupBy(e => (e.Order, e.Precedence, e.Endpoint.RoutePattern.RawText)) + var groups = _endpoints + .GroupBy(e => (e.Order, e.RoutePattern.InboundPrecedence, e.RoutePattern.RawText)) .OrderBy(g => g.Key.Order) - .ThenBy(g => g.Key.Precedence); + .ThenBy(g => g.Key.InboundPrecedence); var routes = new RouteCollection(); foreach (var group in groups) { - var candidates = group.Select(e => e.Endpoint).ToArray(); - var endpoint = group.First().Endpoint; + var candidates = group.ToArray(); + var endpoint = group.First(); // RoutePattern.Defaults contains the default values parsed from the template // as well as those specified with a literal. We need to separate those @@ -81,12 +78,15 @@ namespace Microsoft.AspNetCore.Routing.Matchers private class SelectorRouter : IRouter { private readonly EndpointSelector _selector; - private readonly Endpoint[] _candidates; + private readonly MatcherEndpoint[] _candidates; + private readonly int[] _scores; - public SelectorRouter(EndpointSelector selector, Endpoint[] candidates) + public SelectorRouter(EndpointSelector selector, MatcherEndpoint[] candidates) { _selector = selector; _candidates = candidates; + + _scores = new int[_candidates.Length]; } public VirtualPathData GetVirtualPath(VirtualPathContext context) @@ -94,15 +94,19 @@ namespace Microsoft.AspNetCore.Routing.Matchers throw new NotImplementedException(); } - public Task RouteAsync(RouteContext context) + public async Task RouteAsync(RouteContext context) { - var endpoint = _selector.SelectBestCandidate(context.HttpContext, _candidates); - if (endpoint != null) + var feature = context.HttpContext.Features.Get(); + + // This is needed due to a quirk of our tests - they reuse the endpoint feature + // across requests. + feature.Endpoint = null; + + await _selector.SelectAsync(context.HttpContext, feature, new CandidateSet(_candidates, _scores)); + if (feature.Endpoint != null) { - context.HttpContext.Features.Get().Endpoint = endpoint; context.Handler = (_) => Task.CompletedTask; } - return Task.CompletedTask; } } } diff --git a/test/Microsoft.AspNetCore.Routing.Tests/Matchers/TreeRouterMatcherBuilder.cs b/test/Microsoft.AspNetCore.Routing.Tests/Matchers/TreeRouterMatcherBuilder.cs index 3ed3162666..949b0a7df2 100644 --- a/test/Microsoft.AspNetCore.Routing.Tests/Matchers/TreeRouterMatcherBuilder.cs +++ b/test/Microsoft.AspNetCore.Routing.Tests/Matchers/TreeRouterMatcherBuilder.cs @@ -17,22 +17,20 @@ namespace Microsoft.AspNetCore.Routing.Matchers { internal class TreeRouterMatcherBuilder : MatcherBuilder { - private readonly List _entries; + private readonly List _endpoints; public TreeRouterMatcherBuilder() { - _entries = new List(); + _endpoints = new List(); } public override void AddEndpoint(MatcherEndpoint endpoint) { - _entries.Add(new MatcherBuilderEntry(endpoint)); + _endpoints.Add(endpoint); } public override Matcher Build() { - _entries.Sort(); - var builder = new TreeRouteBuilder( NullLoggerFactory.Instance, new DefaultObjectPool(new UriBuilderContextPooledObjectPolicy()), @@ -41,23 +39,23 @@ namespace Microsoft.AspNetCore.Routing.Matchers var cache = new EndpointConstraintCache( new CompositeEndpointDataSource(Array.Empty()), new[] { new DefaultEndpointConstraintProvider(), }); - var selector = new EndpointSelector(null, cache, NullLoggerFactory.Instance); + var selector = new EndpointConstraintEndpointSelector(null, cache, NullLoggerFactory.Instance); - var groups = _entries - .GroupBy(e => (e.Order, e.Precedence, e.Endpoint.RoutePattern.RawText)) + var groups = _endpoints + .GroupBy(e => (e.Order, e.RoutePattern.InboundPrecedence, e.RoutePattern.RawText)) .OrderBy(g => g.Key.Order) - .ThenBy(g => g.Key.Precedence); + .ThenBy(g => g.Key.InboundPrecedence); var routes = new RouteCollection(); foreach (var group in groups) { - var candidates = group.Select(e => e.Endpoint).ToArray(); + var candidates = group.ToArray(); // MatcherEndpoint.Values contains the default values parsed from the template // as well as those specified with a literal. We need to separate those // for legacy cases. - var endpoint = group.First().Endpoint; + var endpoint = group.First(); var defaults = new RouteValueDictionary(endpoint.RoutePattern.Defaults); for (var i = 0; i < endpoint.RoutePattern.Parameters.Count; i++) { @@ -81,12 +79,15 @@ namespace Microsoft.AspNetCore.Routing.Matchers private class SelectorRouter : IRouter { private readonly EndpointSelector _selector; - private readonly Endpoint[] _candidates; + private readonly MatcherEndpoint[] _candidates; + private readonly int[] _scores; - public SelectorRouter(EndpointSelector selector, Endpoint[] candidates) + public SelectorRouter(EndpointSelector selector, MatcherEndpoint[] candidates) { _selector = selector; _candidates = candidates; + + _scores = new int[_candidates.Length]; } public VirtualPathData GetVirtualPath(VirtualPathContext context) @@ -94,15 +95,18 @@ namespace Microsoft.AspNetCore.Routing.Matchers throw new NotImplementedException(); } - public Task RouteAsync(RouteContext context) + public async Task RouteAsync(RouteContext context) { - var endpoint = _selector.SelectBestCandidate(context.HttpContext, _candidates); - if (endpoint != null) + var feature = context.HttpContext.Features.Get(); + + // This is needed due to a quirk of our tests - they reuse the endpoint feature. + feature.Endpoint = null; + + await _selector.SelectAsync(context.HttpContext, feature, new CandidateSet(_candidates, _scores)); + if (feature.Endpoint != null) { - context.HttpContext.Features.Get().Endpoint = endpoint; context.Handler = (_) => Task.CompletedTask; } - return Task.CompletedTask; } } } From fdff66054f665c7955f289d5cf8db28cd69acf5b Mon Sep 17 00:00:00 2001 From: James Newton-King Date: Wed, 25 Jul 2018 14:35:41 +1200 Subject: [PATCH 097/221] Missing ChangeToken -> GetChangeToken updates (#660) --- .../CompositeEndpointDataSource.cs | 11 +++++------ .../DefaultEndpointDataSource.cs | 4 +++- .../CompositeEndpointDataSourceTest.cs | 3 ++- .../TestObjects/DynamicEndpointDataSource.cs | 4 +++- 4 files changed, 13 insertions(+), 9 deletions(-) diff --git a/src/Microsoft.AspNetCore.Routing/CompositeEndpointDataSource.cs b/src/Microsoft.AspNetCore.Routing/CompositeEndpointDataSource.cs index 5c6a95500a..2e6559817c 100644 --- a/src/Microsoft.AspNetCore.Routing/CompositeEndpointDataSource.cs +++ b/src/Microsoft.AspNetCore.Routing/CompositeEndpointDataSource.cs @@ -34,13 +34,12 @@ namespace Microsoft.AspNetCore.Routing _lock = new object(); } - public override IChangeToken ChangeToken + public override IChangeToken ChangeToken => GetChangeToken(); + + public override IChangeToken GetChangeToken() { - get - { - EnsureInitialized(); - return _consumerChangeToken; - } + EnsureInitialized(); + return _consumerChangeToken; } public override IReadOnlyList Endpoints diff --git a/src/Microsoft.AspNetCore.Routing/DefaultEndpointDataSource.cs b/src/Microsoft.AspNetCore.Routing/DefaultEndpointDataSource.cs index 6dfbdbb38c..971f499afa 100644 --- a/src/Microsoft.AspNetCore.Routing/DefaultEndpointDataSource.cs +++ b/src/Microsoft.AspNetCore.Routing/DefaultEndpointDataSource.cs @@ -23,7 +23,9 @@ namespace Microsoft.AspNetCore.Routing _endpoints.AddRange(endpoints); } - public override IChangeToken ChangeToken { get; } = NullChangeToken.Singleton; + public override IChangeToken ChangeToken => GetChangeToken(); + + public override IChangeToken GetChangeToken() => NullChangeToken.Singleton; public override IReadOnlyList Endpoints => _endpoints; } diff --git a/test/Microsoft.AspNetCore.Routing.Tests/CompositeEndpointDataSourceTest.cs b/test/Microsoft.AspNetCore.Routing.Tests/CompositeEndpointDataSourceTest.cs index 52ba52dafc..16a04cc587 100644 --- a/test/Microsoft.AspNetCore.Routing.Tests/CompositeEndpointDataSourceTest.cs +++ b/test/Microsoft.AspNetCore.Routing.Tests/CompositeEndpointDataSourceTest.cs @@ -173,7 +173,8 @@ namespace Microsoft.AspNetCore.Routing _token = new CancellationChangeToken(_cts.Token); } - public override IChangeToken ChangeToken => _token; + public override IChangeToken GetChangeToken() => _token; + public override IChangeToken ChangeToken => GetChangeToken(); public override IReadOnlyList Endpoints => Array.Empty(); } } diff --git a/test/Microsoft.AspNetCore.Routing.Tests/TestObjects/DynamicEndpointDataSource.cs b/test/Microsoft.AspNetCore.Routing.Tests/TestObjects/DynamicEndpointDataSource.cs index d434b9c924..79e71babdb 100644 --- a/test/Microsoft.AspNetCore.Routing.Tests/TestObjects/DynamicEndpointDataSource.cs +++ b/test/Microsoft.AspNetCore.Routing.Tests/TestObjects/DynamicEndpointDataSource.cs @@ -23,7 +23,9 @@ namespace Microsoft.AspNetCore.Routing.TestObjects CreateChangeToken(); } - public override IChangeToken ChangeToken => _changeToken; + public override IChangeToken GetChangeToken() => _changeToken; + + public override IChangeToken ChangeToken => GetChangeToken(); public override IReadOnlyList Endpoints => _endpoints; From 1340f9c26bacda3fd30793b5a1992bc5d28febc6 Mon Sep 17 00:00:00 2001 From: James Newton-King Date: Wed, 25 Jul 2018 16:03:26 +1200 Subject: [PATCH 098/221] Add EndpointSelectorCandidate ctor to not break MVC (#661) --- .../EndpointConstraints/IEndpointConstraint.cs | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/src/Microsoft.AspNetCore.Routing/EndpointConstraints/IEndpointConstraint.cs b/src/Microsoft.AspNetCore.Routing/EndpointConstraints/IEndpointConstraint.cs index 92a1f17388..87fc9407ad 100644 --- a/src/Microsoft.AspNetCore.Routing/EndpointConstraints/IEndpointConstraint.cs +++ b/src/Microsoft.AspNetCore.Routing/EndpointConstraints/IEndpointConstraint.cs @@ -46,6 +46,14 @@ namespace Microsoft.AspNetCore.Routing.EndpointConstraints Constraints = constraints; } + // Temporarily added to not break MVC build + public EndpointSelectorCandidate( + Endpoint endpoint, + IReadOnlyList constraints) + { + throw new NotSupportedException(); + } + public Endpoint Endpoint { get; } public int Score { get; } From 19f24cad16e52f0bda126b21494c86f3a5e8d50e Mon Sep 17 00:00:00 2001 From: Ryan Nowak Date: Tue, 24 Jul 2018 21:54:24 -0700 Subject: [PATCH 099/221] fix silly constructor --- .../EndpointConstraints/IEndpointConstraint.cs | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/src/Microsoft.AspNetCore.Routing/EndpointConstraints/IEndpointConstraint.cs b/src/Microsoft.AspNetCore.Routing/EndpointConstraints/IEndpointConstraint.cs index 87fc9407ad..1a71ec738d 100644 --- a/src/Microsoft.AspNetCore.Routing/EndpointConstraints/IEndpointConstraint.cs +++ b/src/Microsoft.AspNetCore.Routing/EndpointConstraints/IEndpointConstraint.cs @@ -51,7 +51,15 @@ namespace Microsoft.AspNetCore.Routing.EndpointConstraints Endpoint endpoint, IReadOnlyList constraints) { - throw new NotSupportedException(); + if (endpoint == null) + { + throw new ArgumentNullException(nameof(endpoint)); + } + + Endpoint = endpoint; + Score = 0; + Values = null; + Constraints = constraints; } public Endpoint Endpoint { get; } From e0294f1d1b71b4df3227289ddf3d77c54f6c206e Mon Sep 17 00:00:00 2001 From: Kiran Challa Date: Wed, 25 Jul 2018 06:17:54 -0700 Subject: [PATCH 100/221] Upgraded dependencies.props --- build/dependencies.props | 52 ++++++++++++++++++++-------------------- 1 file changed, 26 insertions(+), 26 deletions(-) diff --git a/build/dependencies.props b/build/dependencies.props index 1596743b87..5fc7fe9aad 100644 --- a/build/dependencies.props +++ b/build/dependencies.props @@ -5,32 +5,32 @@ 0.10.13 2.2.0-preview1-17099 - 2.2.0-preview1-34755 - 2.2.0-preview1-34755 - 2.2.0-preview1-34755 - 2.2.0-preview1-34755 - 2.2.0-preview1-34755 - 2.2.0-preview1-34755 - 2.2.0-preview1-34755 - 2.2.0-preview1-34755 - 2.2.0-preview1-34755 - 2.2.0-preview1-34755 - 2.2.0-preview1-34755 - 2.2.0-preview1-34755 - 2.2.0-preview1-34755 - 2.2.0-preview1-34755 - 2.2.0-preview1-34755 - 2.2.0-preview1-34755 - 2.2.0-preview1-34755 - 2.2.0-preview1-34755 - 2.2.0-preview1-34755 - 2.2.0-preview1-34755 - 2.2.0-preview1-34755 - 2.2.0-preview1-34755 - 2.2.0-preview1-34755 - 2.2.0-preview1-34755 - 2.2.0-preview1-34755 - 2.2.0-preview1-34755 + 2.2.0-preview1-34784 + 2.2.0-preview1-34784 + 2.2.0-preview1-34784 + 2.2.0-preview1-34784 + 2.2.0-preview1-34784 + 2.2.0-preview1-34784 + 2.2.0-preview1-34784 + 2.2.0-preview1-34784 + 2.2.0-preview1-34784 + 2.2.0-preview1-34784 + 2.2.0-preview1-34784 + 2.2.0-preview1-34784 + 2.2.0-preview1-34784 + 2.2.0-preview1-34784 + 2.2.0-preview1-34784 + 2.2.0-preview1-34784 + 2.2.0-preview1-34784 + 2.2.0-preview1-34784 + 2.2.0-preview1-34784 + 2.2.0-preview1-34784 + 2.2.0-preview1-34784 + 2.2.0-preview1-34784 + 2.2.0-preview1-34784 + 2.2.0-preview1-34784 + 2.2.0-preview1-34784 + 2.2.0-preview1-34784 2.0.9 2.1.2 2.2.0-preview1-26618-02 From c68c5befc716daa23ec0481db1b12801afdc3a09 Mon Sep 17 00:00:00 2001 From: James Newton-King Date: Thu, 26 Jul 2018 11:06:54 +1200 Subject: [PATCH 101/221] Remove ChangeToken from EndpointDataSource (#662) --- .../CompositeEndpointDataSource.cs | 2 -- .../DefaultEndpointDataSource.cs | 2 -- src/Microsoft.AspNetCore.Routing/EndpointDataSource.cs | 10 +--------- .../CompositeEndpointDataSourceTest.cs | 1 - .../TestObjects/DynamicEndpointDataSource.cs | 2 -- 5 files changed, 1 insertion(+), 16 deletions(-) diff --git a/src/Microsoft.AspNetCore.Routing/CompositeEndpointDataSource.cs b/src/Microsoft.AspNetCore.Routing/CompositeEndpointDataSource.cs index 2e6559817c..a806808d20 100644 --- a/src/Microsoft.AspNetCore.Routing/CompositeEndpointDataSource.cs +++ b/src/Microsoft.AspNetCore.Routing/CompositeEndpointDataSource.cs @@ -34,8 +34,6 @@ namespace Microsoft.AspNetCore.Routing _lock = new object(); } - public override IChangeToken ChangeToken => GetChangeToken(); - public override IChangeToken GetChangeToken() { EnsureInitialized(); diff --git a/src/Microsoft.AspNetCore.Routing/DefaultEndpointDataSource.cs b/src/Microsoft.AspNetCore.Routing/DefaultEndpointDataSource.cs index 971f499afa..d74369c8b7 100644 --- a/src/Microsoft.AspNetCore.Routing/DefaultEndpointDataSource.cs +++ b/src/Microsoft.AspNetCore.Routing/DefaultEndpointDataSource.cs @@ -23,8 +23,6 @@ namespace Microsoft.AspNetCore.Routing _endpoints.AddRange(endpoints); } - public override IChangeToken ChangeToken => GetChangeToken(); - public override IChangeToken GetChangeToken() => NullChangeToken.Singleton; public override IReadOnlyList Endpoints => _endpoints; diff --git a/src/Microsoft.AspNetCore.Routing/EndpointDataSource.cs b/src/Microsoft.AspNetCore.Routing/EndpointDataSource.cs index 74c79c3bbb..b5a1c40ebe 100644 --- a/src/Microsoft.AspNetCore.Routing/EndpointDataSource.cs +++ b/src/Microsoft.AspNetCore.Routing/EndpointDataSource.cs @@ -8,15 +8,7 @@ namespace Microsoft.AspNetCore.Routing { public abstract class EndpointDataSource { - public virtual IChangeToken ChangeToken { get; } - - // Plan is to replace ChangeToken property with GetChangeToken - // Temporarily have both to avoid breaking MVC - // https://github.com/aspnet/Routing/issues/634 - public virtual IChangeToken GetChangeToken() - { - return ChangeToken; - } + public abstract IChangeToken GetChangeToken(); public abstract IReadOnlyList Endpoints { get; } } diff --git a/test/Microsoft.AspNetCore.Routing.Tests/CompositeEndpointDataSourceTest.cs b/test/Microsoft.AspNetCore.Routing.Tests/CompositeEndpointDataSourceTest.cs index 16a04cc587..0e18453df9 100644 --- a/test/Microsoft.AspNetCore.Routing.Tests/CompositeEndpointDataSourceTest.cs +++ b/test/Microsoft.AspNetCore.Routing.Tests/CompositeEndpointDataSourceTest.cs @@ -174,7 +174,6 @@ namespace Microsoft.AspNetCore.Routing } public override IChangeToken GetChangeToken() => _token; - public override IChangeToken ChangeToken => GetChangeToken(); public override IReadOnlyList Endpoints => Array.Empty(); } } diff --git a/test/Microsoft.AspNetCore.Routing.Tests/TestObjects/DynamicEndpointDataSource.cs b/test/Microsoft.AspNetCore.Routing.Tests/TestObjects/DynamicEndpointDataSource.cs index 79e71babdb..71f45c09c6 100644 --- a/test/Microsoft.AspNetCore.Routing.Tests/TestObjects/DynamicEndpointDataSource.cs +++ b/test/Microsoft.AspNetCore.Routing.Tests/TestObjects/DynamicEndpointDataSource.cs @@ -25,8 +25,6 @@ namespace Microsoft.AspNetCore.Routing.TestObjects public override IChangeToken GetChangeToken() => _changeToken; - public override IChangeToken ChangeToken => GetChangeToken(); - public override IReadOnlyList Endpoints => _endpoints; // Trigger change From 54e5370e8f8c9d8f89ae296d1bc81b57bed7bd64 Mon Sep 17 00:00:00 2001 From: Ryan Nowak Date: Thu, 26 Jul 2018 21:14:24 -0700 Subject: [PATCH 102/221] Add CORS support to HttpMethodMatcherPolicy Also removes HttpMethodEndpointConstraint, since it's been fully replaced. --- .../Matchers/MatcherAzureBenchmark.cs | 19 -- .../Matchers/MatcherBenchmarkBase.cs | 2 +- .../Matchers/MatcherGithubBenchmark.cs | 18 -- .../CompositeEndpointDataSource.cs | 16 +- .../RoutingServiceCollectionExtensions.cs | 2 +- .../HttpMethodEndpointConstraint.cs | 2 + .../Matchers/HttpMethodMatcherPolicy.cs | 250 +++++++++++++++--- .../Metadata/HttpMethodMetadata.cs | 15 ++ .../Metadata/IHttpMethodMetadata.cs | 2 + .../EndpointConstraintEndpointSelectorTest.cs | 1 + .../HttpMethodEndpointConstraintTest.cs | 91 ------- .../Matchers/DfaMatcherTest.cs | 53 ++-- .../HttpMethodMatcherPolicyIntegrationTest.cs | 136 +++++++++- .../Matchers/HttpMethodMatcherPolicyTest.cs | 181 +++++++++++-- 14 files changed, 564 insertions(+), 224 deletions(-) delete mode 100644 test/Microsoft.AspNetCore.Routing.Tests/Internal/HttpMethodEndpointConstraintTest.cs diff --git a/benchmarks/Microsoft.AspNetCore.Routing.Performance/Matchers/MatcherAzureBenchmark.cs b/benchmarks/Microsoft.AspNetCore.Routing.Performance/Matchers/MatcherAzureBenchmark.cs index 8a97e2a9b2..23e3948aad 100644 --- a/benchmarks/Microsoft.AspNetCore.Routing.Performance/Matchers/MatcherAzureBenchmark.cs +++ b/benchmarks/Microsoft.AspNetCore.Routing.Performance/Matchers/MatcherAzureBenchmark.cs @@ -13,7 +13,6 @@ namespace Microsoft.AspNetCore.Routing.Matchers private BarebonesMatcher _baseline; private Matcher _dfa; - private Matcher _tree; private int[] _samples; private EndpointFeature _feature; @@ -31,7 +30,6 @@ namespace Microsoft.AspNetCore.Routing.Matchers _baseline = (BarebonesMatcher)SetupMatcher(new BarebonesMatcherBuilder()); _dfa = SetupMatcher(CreateDfaMatcherBuilder()); - _tree = SetupMatcher(new TreeRouterMatcherBuilder()); _feature = new EndpointFeature(); } @@ -61,22 +59,5 @@ namespace Microsoft.AspNetCore.Routing.Matchers Validate(httpContext, Endpoints[sample], feature.Endpoint); } } - - [Benchmark(OperationsPerInvoke = SampleCount)] - public async Task LegacyTreeRouter() - { - var feature = _feature; - for (var i = 0; i < SampleCount; i++) - { - var sample = _samples[i]; - var httpContext = Requests[sample]; - - // This is required to make the legacy router implementation work with global routing. - httpContext.Features.Set(feature); - - await _tree.MatchAsync(httpContext, feature); - Validate(httpContext, Endpoints[sample], feature.Endpoint); - } - } } } \ No newline at end of file diff --git a/benchmarks/Microsoft.AspNetCore.Routing.Performance/Matchers/MatcherBenchmarkBase.cs b/benchmarks/Microsoft.AspNetCore.Routing.Performance/Matchers/MatcherBenchmarkBase.cs index bf6a18297b..612e4db9f3 100644 --- a/benchmarks/Microsoft.AspNetCore.Routing.Performance/Matchers/MatcherBenchmarkBase.cs +++ b/benchmarks/Microsoft.AspNetCore.Routing.Performance/Matchers/MatcherBenchmarkBase.cs @@ -39,7 +39,7 @@ namespace Microsoft.AspNetCore.Routing.Matchers var metadata = new List(); if (httpMethod != null) { - metadata.Add(new HttpMethodEndpointConstraint(new string[] { httpMethod, })); + metadata.Add(new HttpMethodMetadata(new string[] { httpMethod, })); } return new MatcherEndpoint( diff --git a/benchmarks/Microsoft.AspNetCore.Routing.Performance/Matchers/MatcherGithubBenchmark.cs b/benchmarks/Microsoft.AspNetCore.Routing.Performance/Matchers/MatcherGithubBenchmark.cs index b47aa4a592..2cdb76f11f 100644 --- a/benchmarks/Microsoft.AspNetCore.Routing.Performance/Matchers/MatcherGithubBenchmark.cs +++ b/benchmarks/Microsoft.AspNetCore.Routing.Performance/Matchers/MatcherGithubBenchmark.cs @@ -12,7 +12,6 @@ namespace Microsoft.AspNetCore.Routing.Matchers { private BarebonesMatcher _baseline; private Matcher _dfa; - private Matcher _tree; private EndpointFeature _feature; @@ -25,7 +24,6 @@ namespace Microsoft.AspNetCore.Routing.Matchers _baseline = (BarebonesMatcher)SetupMatcher(new BarebonesMatcherBuilder()); _dfa = SetupMatcher(CreateDfaMatcherBuilder()); - _tree = SetupMatcher(new TreeRouterMatcherBuilder()); _feature = new EndpointFeature(); } @@ -53,21 +51,5 @@ namespace Microsoft.AspNetCore.Routing.Matchers Validate(httpContext, Endpoints[i], feature.Endpoint); } } - - [Benchmark(OperationsPerInvoke = EndpointCount)] - public async Task LegacyTreeRouter() - { - var feature = _feature; - for (var i = 0; i < EndpointCount; i++) - { - var httpContext = Requests[i]; - - // This is required to make the legacy router implementation work with global routing. - httpContext.Features.Set(feature); - - await _tree.MatchAsync(httpContext, feature); - Validate(httpContext, Endpoints[i], feature.Endpoint); - } - } } } \ No newline at end of file diff --git a/src/Microsoft.AspNetCore.Routing/CompositeEndpointDataSource.cs b/src/Microsoft.AspNetCore.Routing/CompositeEndpointDataSource.cs index a806808d20..27629fd1a3 100644 --- a/src/Microsoft.AspNetCore.Routing/CompositeEndpointDataSource.cs +++ b/src/Microsoft.AspNetCore.Routing/CompositeEndpointDataSource.cs @@ -9,6 +9,7 @@ using System.Text; using System.Threading; using Microsoft.AspNetCore.Routing.EndpointConstraints; using Microsoft.AspNetCore.Routing.Matchers; +using Microsoft.AspNetCore.Routing.Metadata; using Microsoft.Extensions.Primitives; namespace Microsoft.AspNetCore.Routing @@ -134,15 +135,16 @@ namespace Microsoft.AspNetCore.Routing sb.Append(", Order:"); sb.Append(matcherEndpoint.Order); - var httpEndpointConstraints = matcherEndpoint.Metadata.GetOrderedMetadata() - .OfType(); - foreach (var constraint in httpEndpointConstraints) + var httpMethodMetadata = matcherEndpoint.Metadata.GetMetadata(); + if (httpMethodMetadata != null) { - sb.Append(", Http Methods: "); - sb.Append(string.Join(", ", constraint.HttpMethods)); - sb.Append(", Constraint Order:"); - sb.Append(constraint.Order); + foreach (var httpMethod in httpMethodMetadata.HttpMethods) + { + sb.Append(", Http Methods: "); + sb.Append(string.Join(", ", httpMethod)); + } } + sb.AppendLine(); } else diff --git a/src/Microsoft.AspNetCore.Routing/DependencyInjection/RoutingServiceCollectionExtensions.cs b/src/Microsoft.AspNetCore.Routing/DependencyInjection/RoutingServiceCollectionExtensions.cs index fac20603a5..0e335d7d46 100644 --- a/src/Microsoft.AspNetCore.Routing/DependencyInjection/RoutingServiceCollectionExtensions.cs +++ b/src/Microsoft.AspNetCore.Routing/DependencyInjection/RoutingServiceCollectionExtensions.cs @@ -79,7 +79,7 @@ namespace Microsoft.Extensions.DependencyInjection // services.TryAddSingleton(); services.TryAddSingleton(); - services.TryAddEnumerable(ServiceDescriptor.Singleton()); + services.TryAddEnumerable(ServiceDescriptor.Singleton()); // Will be cached by the EndpointSelector services.TryAddEnumerable( diff --git a/src/Microsoft.AspNetCore.Routing/EndpointConstraints/HttpMethodEndpointConstraint.cs b/src/Microsoft.AspNetCore.Routing/EndpointConstraints/HttpMethodEndpointConstraint.cs index 7631e10b22..296986d523 100644 --- a/src/Microsoft.AspNetCore.Routing/EndpointConstraints/HttpMethodEndpointConstraint.cs +++ b/src/Microsoft.AspNetCore.Routing/EndpointConstraints/HttpMethodEndpointConstraint.cs @@ -43,6 +43,8 @@ namespace Microsoft.AspNetCore.Routing.EndpointConstraints IReadOnlyList IHttpMethodMetadata.HttpMethods => _httpMethods; + bool IHttpMethodMetadata.AcceptCorsPreflight => false; + public virtual bool Accept(EndpointConstraintContext context) { if (context == null) diff --git a/src/Microsoft.AspNetCore.Routing/Matchers/HttpMethodMatcherPolicy.cs b/src/Microsoft.AspNetCore.Routing/Matchers/HttpMethodMatcherPolicy.cs index 17802e61c0..e593713bb6 100644 --- a/src/Microsoft.AspNetCore.Routing/Matchers/HttpMethodMatcherPolicy.cs +++ b/src/Microsoft.AspNetCore.Routing/Matchers/HttpMethodMatcherPolicy.cs @@ -8,11 +8,18 @@ using System.Threading.Tasks; using Microsoft.AspNetCore.Http; using Microsoft.AspNetCore.Routing.Metadata; using Microsoft.AspNetCore.Routing.Patterns; +using Microsoft.Extensions.Internal; +using Microsoft.Extensions.Primitives; namespace Microsoft.AspNetCore.Routing.Matchers { - public sealed class HttpMethodEndpointSelectorPolicy : MatcherPolicy, IEndpointComparerPolicy, INodeBuilderPolicy + public sealed class HttpMethodMatcherPolicy : MatcherPolicy, IEndpointComparerPolicy, INodeBuilderPolicy { + // Used in tests + internal static readonly string OriginHeader = "Origin"; + internal static readonly string AccessControlRequestMethod = "Access-Control-Request-Method"; + internal static readonly string PreflightHttpMethod = "OPTIONS"; + // Used in tests internal const string Http405EndpointDisplayName = "405 HTTP Method Not Supported"; @@ -47,38 +54,94 @@ namespace Microsoft.AspNetCore.Routing.Matchers { // The algorithm here is designed to be preserve the order of the endpoints // while also being relatively simple. Preserving order is important. - var allHttpMethods = endpoints - .SelectMany(e => GetHttpMethods(e)) - .Distinct() - .OrderBy(m => m); // Sort for testability - - var dictionary = new Dictionary>(); - foreach (var httpMethod in allHttpMethods) - { - dictionary.Add(httpMethod, new List()); - } - - dictionary.Add(AnyMethod, new List()); + // First, build a dictionary of all possible HTTP method/CORS combinations + // that exist in this list of endpoints. + // + // For now we're just building up the set of keys. We don't add any endpoints + // to lists now because we don't want ordering problems. + var allHttpMethods = new HashSet(StringComparer.OrdinalIgnoreCase); + var edges = new Dictionary>(); for (var i = 0; i < endpoints.Count; i++) { var endpoint = endpoints[i]; + var (httpMethods, acceptCorsPreFlight) = GetHttpMethods(endpoint); - var httpMethods = GetHttpMethods(endpoint); + // If the action doesn't list HTTP methods then it supports all methods. + // In this phase we use a sentinel value to represent the *other* HTTP method + // a state that represents any HTTP method that doesn't have a match. if (httpMethods.Count == 0) { - // This endpoint suports all HTTP methods. - foreach (var kvp in dictionary) - { - kvp.Value.Add(endpoint); - } - - continue; + httpMethods = new[] { AnyMethod, }; } for (var j = 0; j < httpMethods.Count; j++) { - dictionary[httpMethods[j]].Add(endpoint); + // An endpoint that allows CORS reqests will match both CORS and non-CORS + // so we model it as both. + var httpMethod = httpMethods[j]; + var key = new EdgeKey(httpMethod, acceptCorsPreFlight); + if (!edges.ContainsKey(key)) + { + edges.Add(key, new List()); + } + + // An endpoint that allows CORS reqests will match both CORS and non-CORS + // so we model it as both. + if (acceptCorsPreFlight) + { + key = new EdgeKey(httpMethod, false); + if (!edges.ContainsKey(key)) + { + edges.Add(key, new List()); + } + } + + // Also if it's not the *any* method key, then track it. + if (!string.Equals(AnyMethod, httpMethod, StringComparison.OrdinalIgnoreCase)) + { + allHttpMethods.Add(httpMethod); + } + } + } + + // Now in a second loop, add endpoints to these lists. We've enumerated all of + // the states, so we want to see which states this endpoint matches. + for (var i = 0; i < endpoints.Count; i++) + { + var endpoint = endpoints[i]; + var (httpMethods, acceptCorsPreFlight) = GetHttpMethods(endpoint); + + if (httpMethods.Count == 0) + { + // OK this means that this endpoint matches *all* HTTP methods. + // So, loop and add it to all states. + foreach (var kvp in edges) + { + if (acceptCorsPreFlight || !kvp.Key.IsCorsPreflightRequest) + { + kvp.Value.Add(endpoint); + } + } + } + else + { + // OK this endpoint matches specific methods. + for (var j = 0; j < httpMethods.Count; j++) + { + var httpMethod = httpMethods[j]; + var key = new EdgeKey(httpMethod, acceptCorsPreFlight); + + edges[key].Add(endpoint); + + // An endpoint that allows CORS reqests will match both CORS and non-CORS + // so we model it as both. + if (acceptCorsPreFlight) + { + key = new EdgeKey(httpMethod, false); + edges[key].Add(endpoint); + } + } } } @@ -95,42 +158,67 @@ namespace Microsoft.AspNetCore.Routing.Matchers // // This will make 405 much more likely in API-focused applications, and somewhat // unlikely in a traditional MVC application. That's good. - if (dictionary[AnyMethod].Count == 0) + // + // We don't bother returning a 405 when the CORS preflight method doesn't exist. + // The developer calling the API will see it as a CORS error, which is fine because + // there isn't an endpoint to check for a CORS policy. + if (!edges.TryGetValue(new EdgeKey(AnyMethod, false), out var matches)) { - dictionary[AnyMethod].Add(CreateRejectionEndpoint(allHttpMethods)); + // Methods sorted for testability. + var endpoint = CreateRejectionEndpoint(allHttpMethods.OrderBy(m => m)); + matches = new List() { endpoint, }; + edges[new EdgeKey(AnyMethod, false)] = matches; } - var edges = new List(); - foreach (var kvp in dictionary) - { - edges.Add(new PolicyNodeEdge(kvp.Key, kvp.Value)); - } + return edges + .Select(kvp => new PolicyNodeEdge(kvp.Key, kvp.Value)) + .ToArray(); - return edges; - - IReadOnlyList GetHttpMethods(Endpoint e) + (IReadOnlyList httpMethods, bool acceptCorsPreflight) GetHttpMethods(Endpoint e) { - return e.Metadata.GetMetadata()?.HttpMethods ?? Array.Empty(); + var metadata = e.Metadata.GetMetadata(); + return metadata == null ? (Array.Empty(), false) : (metadata.HttpMethods, metadata.AcceptCorsPreflight); } } public PolicyJumpTable BuildJumpTable(int exitDestination, IReadOnlyList edges) { - var dictionary = new Dictionary(StringComparer.OrdinalIgnoreCase); + var destinations = new Dictionary(StringComparer.OrdinalIgnoreCase); + var corsPreflightDestinations = new Dictionary(StringComparer.OrdinalIgnoreCase); for (var i = 0; i < edges.Count; i++) { - // We create this data, so it's safe to cast it to a string. - dictionary.Add((string)edges[i].State, edges[i].Destination); + // We create this data, so it's safe to cast it. + var key = (EdgeKey)edges[i].State; + if (key.IsCorsPreflightRequest) + { + corsPreflightDestinations.Add(key.HttpMethod, edges[i].Destination); + } + else + { + destinations.Add(key.HttpMethod, edges[i].Destination); + } } - if (dictionary.TryGetValue(AnyMethod, out var matchesAnyVerb)) + int corsPreflightExitDestination = exitDestination; + if (corsPreflightDestinations.TryGetValue(AnyMethod, out var matchesAnyVerb)) + { + // If we have endpoints that match any HTTP method, use that as the exit. + corsPreflightExitDestination = matchesAnyVerb; + corsPreflightDestinations.Remove(AnyMethod); + } + + if (destinations.TryGetValue(AnyMethod, out matchesAnyVerb)) { // If we have endpoints that match any HTTP method, use that as the exit. exitDestination = matchesAnyVerb; - dictionary.Remove(AnyMethod); + destinations.Remove(AnyMethod); } - return new DictionaryPolicyJumpTable(exitDestination, dictionary); + return new HttpMethodPolicyJumpTable( + exitDestination, + destinations, + corsPreflightExitDestination, + corsPreflightDestinations); } private Endpoint CreateRejectionEndpoint(IEnumerable httpMethods) @@ -150,21 +238,46 @@ namespace Microsoft.AspNetCore.Routing.Matchers Http405EndpointDisplayName); } - private class DictionaryPolicyJumpTable : PolicyJumpTable + private class HttpMethodPolicyJumpTable : PolicyJumpTable { private readonly int _exitDestination; private readonly Dictionary _destinations; + private readonly int _corsPreflightExitDestination; + private readonly Dictionary _corsPreflightDestinations; - public DictionaryPolicyJumpTable(int exitDestination, Dictionary destinations) + private readonly bool _supportsCorsPreflight; + + public HttpMethodPolicyJumpTable( + int exitDestination, + Dictionary destinations, + int corsPreflightExitDestination, + Dictionary corsPreflightDestinations) { _exitDestination = exitDestination; _destinations = destinations; + _corsPreflightExitDestination = corsPreflightExitDestination; + _corsPreflightDestinations = corsPreflightDestinations; + + _supportsCorsPreflight = _corsPreflightDestinations.Count > 0; } public override int GetDestination(HttpContext httpContext) { + int destination; + var httpMethod = httpContext.Request.Method; - return _destinations.TryGetValue(httpMethod, out var destination) ? destination : _exitDestination; + if (_supportsCorsPreflight && + string.Equals(httpMethod, PreflightHttpMethod, StringComparison.OrdinalIgnoreCase) && + httpContext.Request.Headers.ContainsKey(OriginHeader) && + httpContext.Request.Headers.TryGetValue(AccessControlRequestMethod, out var accessControlRequestMethod) && + !StringValues.IsNullOrEmpty(accessControlRequestMethod)) + { + return _corsPreflightDestinations.TryGetValue(accessControlRequestMethod, out destination) + ? destination + : _corsPreflightExitDestination; + } + + return _destinations.TryGetValue(httpMethod, out destination) ? destination : _exitDestination; } } @@ -178,5 +291,58 @@ namespace Microsoft.AspNetCore.Routing.Matchers y?.HttpMethods.Count > 0 ? y : null); } } + + internal readonly struct EdgeKey : IEquatable, IComparable, IComparable + { + // Note that in contrast with the metadata, the edge represents a possible state change + // rather than a list of what's allowed. We represent CORS and non-CORS requests as separate + // states. + public readonly bool IsCorsPreflightRequest; + public readonly string HttpMethod; + + public EdgeKey(string httpMethod, bool isCorsPreflightRequest) + { + HttpMethod = httpMethod; + IsCorsPreflightRequest = isCorsPreflightRequest; + } + + // These are comparable so they can be sorted in tests. + public int CompareTo(EdgeKey other) + { + var compare = HttpMethod.CompareTo(other.HttpMethod); + if (compare != 0) + { + return compare; + } + + return IsCorsPreflightRequest.CompareTo(other.IsCorsPreflightRequest); + } + + public int CompareTo(object obj) + { + return CompareTo((EdgeKey)obj); + } + + public bool Equals(EdgeKey other) + { + return + IsCorsPreflightRequest == other.IsCorsPreflightRequest && + string.Equals(HttpMethod, other.HttpMethod, StringComparison.OrdinalIgnoreCase); + } + + public override bool Equals(object obj) + { + var other = obj as EdgeKey?; + return other == null ? false : Equals(other.Value); + } + + public override int GetHashCode() + { + var hash = new HashCodeCombiner(); + hash.Add(IsCorsPreflightRequest); + hash.Add(HttpMethod, StringComparer.Ordinal); + return hash; + } + } } } diff --git a/src/Microsoft.AspNetCore.Routing/Metadata/HttpMethodMetadata.cs b/src/Microsoft.AspNetCore.Routing/Metadata/HttpMethodMetadata.cs index 90cfd057a3..2dc98a5a12 100644 --- a/src/Microsoft.AspNetCore.Routing/Metadata/HttpMethodMetadata.cs +++ b/src/Microsoft.AspNetCore.Routing/Metadata/HttpMethodMetadata.cs @@ -3,13 +3,20 @@ using System; using System.Collections.Generic; +using System.Diagnostics; using System.Linq; namespace Microsoft.AspNetCore.Routing.Metadata { + [DebuggerDisplay("{DebuggerToString,nq}")] public sealed class HttpMethodMetadata : IHttpMethodMetadata { public HttpMethodMetadata(IEnumerable httpMethods) + : this(httpMethods, acceptCorsPreflight: false) + { + } + + public HttpMethodMetadata(IEnumerable httpMethods, bool acceptCorsPreflight) { if (httpMethods == null) { @@ -17,8 +24,16 @@ namespace Microsoft.AspNetCore.Routing.Metadata } HttpMethods = httpMethods.ToArray(); + AcceptCorsPreflight = acceptCorsPreflight; } + public bool AcceptCorsPreflight { get; } + public IReadOnlyList HttpMethods { get; } + + private string DebuggerToString() + { + return $"HttpMethods: {string.Join(",", HttpMethods)} - Cors: {AcceptCorsPreflight}"; + } } } diff --git a/src/Microsoft.AspNetCore.Routing/Metadata/IHttpMethodMetadata.cs b/src/Microsoft.AspNetCore.Routing/Metadata/IHttpMethodMetadata.cs index a77a617f13..9d6447d1e0 100644 --- a/src/Microsoft.AspNetCore.Routing/Metadata/IHttpMethodMetadata.cs +++ b/src/Microsoft.AspNetCore.Routing/Metadata/IHttpMethodMetadata.cs @@ -7,6 +7,8 @@ namespace Microsoft.AspNetCore.Routing.Metadata { public interface IHttpMethodMetadata { + bool AcceptCorsPreflight { get; } + IReadOnlyList HttpMethods { get; } } } diff --git a/test/Microsoft.AspNetCore.Routing.Tests/EndpointConstraints/EndpointConstraintEndpointSelectorTest.cs b/test/Microsoft.AspNetCore.Routing.Tests/EndpointConstraints/EndpointConstraintEndpointSelectorTest.cs index fe5d9bb3b2..72bf124785 100644 --- a/test/Microsoft.AspNetCore.Routing.Tests/EndpointConstraints/EndpointConstraintEndpointSelectorTest.cs +++ b/test/Microsoft.AspNetCore.Routing.Tests/EndpointConstraints/EndpointConstraintEndpointSelectorTest.cs @@ -3,6 +3,7 @@ using System; using System.Collections.Generic; +using System.Collections.ObjectModel; using System.Linq; using System.Threading.Tasks; using Microsoft.AspNetCore.Http; diff --git a/test/Microsoft.AspNetCore.Routing.Tests/Internal/HttpMethodEndpointConstraintTest.cs b/test/Microsoft.AspNetCore.Routing.Tests/Internal/HttpMethodEndpointConstraintTest.cs deleted file mode 100644 index 53b38fea1a..0000000000 --- a/test/Microsoft.AspNetCore.Routing.Tests/Internal/HttpMethodEndpointConstraintTest.cs +++ /dev/null @@ -1,91 +0,0 @@ -// Copyright (c) .NET Foundation. All rights reserved. -// Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information. - -using Microsoft.AspNetCore.Http; -using Microsoft.AspNetCore.Routing.EndpointConstraints; -using Microsoft.AspNetCore.Routing.TestObjects; -using Microsoft.Extensions.Primitives; -using System; -using System.Collections.Generic; -using System.Text; -using Xunit; - -namespace Microsoft.AspNetCore.Routing.Internal -{ - public class HttpMethodEndpointConstraintTest - { - public static TheoryData AcceptCaseInsensitiveData = - new TheoryData, string> - { - { new string[] { "get", "Get", "GET", "GEt"}, "gEt" }, - { new string[] { "POST", "PoSt", "GEt"}, "GET" }, - { new string[] { "get" }, "get" }, - { new string[] { "post" }, "POST" }, - { new string[] { "gEt" }, "get" }, - { new string[] { "get", "PoST" }, "pOSt" } - }; - - [Theory] - [MemberData(nameof(AcceptCaseInsensitiveData))] - public void HttpMethodEndpointConstraint_IgnoresPreflightRequests(IEnumerable httpMethods, string accessControlMethod) - { - // Arrange - var constraint = new HttpMethodEndpointConstraint(httpMethods); - var context = CreateEndpointConstraintContext(constraint); - context.HttpContext = CreateHttpContext("oPtIoNs", accessControlMethod); - - // Act - var result = constraint.Accept(context); - - // Assert - Assert.False(result, "Request should have been rejected."); - } - - [Theory] - [MemberData(nameof(AcceptCaseInsensitiveData))] - public void HttpMethodEndpointConstraint_Accept_CaseInsensitive(IEnumerable httpMethods, string expectedMethod) - { - // Arrange - var constraint = new HttpMethodEndpointConstraint(httpMethods); - var context = CreateEndpointConstraintContext(constraint); - context.HttpContext = CreateHttpContext(expectedMethod); - - // Act - var result = constraint.Accept(context); - - // Assert - Assert.True(result, "Request should have been accepted."); - } - - private static EndpointConstraintContext CreateEndpointConstraintContext(HttpMethodEndpointConstraint constraint) - { - var context = new EndpointConstraintContext(); - - var endpointSelectorCandidate = new EndpointSelectorCandidate( - new TestEndpoint(EndpointMetadataCollection.Empty, string.Empty), - 0, - new RouteValueDictionary(), - new List { constraint }); - - context.Candidates = new List { endpointSelectorCandidate }; - context.CurrentCandidate = context.Candidates[0]; - - return context; - } - - private static HttpContext CreateHttpContext(string requestedMethod, string accessControlMethod = null) - { - var httpContext = new DefaultHttpContext(); - - httpContext.Request.Method = requestedMethod; - - if (accessControlMethod != null) - { - httpContext.Request.Headers.Add("Origin", StringValues.Empty); - httpContext.Request.Headers.Add("Access-Control-Request-Method", accessControlMethod); - } - - return httpContext; - } - } -} diff --git a/test/Microsoft.AspNetCore.Routing.Tests/Matchers/DfaMatcherTest.cs b/test/Microsoft.AspNetCore.Routing.Tests/Matchers/DfaMatcherTest.cs index ee6d64cfc1..4b9f4a721d 100644 --- a/test/Microsoft.AspNetCore.Routing.Tests/Matchers/DfaMatcherTest.cs +++ b/test/Microsoft.AspNetCore.Routing.Tests/Matchers/DfaMatcherTest.cs @@ -4,9 +4,9 @@ using System.Collections.Generic; using System.Threading.Tasks; using Microsoft.AspNetCore.Http; -using Microsoft.AspNetCore.Routing.EndpointConstraints; using Microsoft.AspNetCore.Routing.Patterns; using Microsoft.Extensions.DependencyInjection; +using Moq; using Xunit; namespace Microsoft.AspNetCore.Routing.Matchers @@ -26,13 +26,19 @@ namespace Microsoft.AspNetCore.Routing.Matchers template); } - private Matcher CreateDfaMatcher(EndpointDataSource dataSource) + private Matcher CreateDfaMatcher(EndpointDataSource dataSource, EndpointSelector endpointSelector = null) { - var services = new ServiceCollection() + var serviceCollection = new ServiceCollection() .AddLogging() .AddOptions() - .AddRouting() - .BuildServiceProvider(); + .AddRouting(); + + if (endpointSelector != null) + { + serviceCollection.AddSingleton(endpointSelector); + } + + var services = serviceCollection.BuildServiceProvider(); var factory = services.GetRequiredService(); return Assert.IsType(factory.CreateMatcher(dataSource)); @@ -115,22 +121,39 @@ namespace Microsoft.AspNetCore.Routing.Matchers public async Task MatchAsync_MultipleMatches_EndpointSelectorCalled() { // Arrange - var endpointWithoutConstraint = CreateEndpoint("/Teams", 0); - var endpointWithConstraint = CreateEndpoint( - "/Teams", - 0, - metadata: new EndpointMetadataCollection(new object[] { new HttpMethodEndpointConstraint(new[] { "POST" }) })); + var endpoint1 = CreateEndpoint("/Teams", 0); + var endpoint2 = CreateEndpoint("/Teams", 1); + + var endpointSelector = new Mock(); + endpointSelector + .Setup(s => s.SelectAsync(It.IsAny(), It.IsAny(), It.IsAny())) + .Callback((c, f, cs) => + { + Assert.Equal(2, cs.Count); + + Assert.Same(endpoint1, cs[0].Endpoint); + Assert.True(cs[0].IsValidCandidate); + Assert.Equal(0, cs[0].Score); + Assert.Empty(cs[0].Values); + + Assert.Same(endpoint2, cs[1].Endpoint); + Assert.True(cs[1].IsValidCandidate); + Assert.Equal(1, cs[1].Score); + Assert.Empty(cs[1].Values); + + f.Endpoint = endpoint2; + }) + .Returns(Task.CompletedTask); var endpointDataSource = new DefaultEndpointDataSource(new List { - endpointWithoutConstraint, - endpointWithConstraint + endpoint1, + endpoint2 }); - var matcher = CreateDfaMatcher(endpointDataSource); + var matcher = CreateDfaMatcher(endpointDataSource, endpointSelector.Object); var httpContext = new DefaultHttpContext(); - httpContext.Request.Method = "POST"; httpContext.Request.Path = "/Teams"; var endpointFeature = new EndpointFeature(); @@ -139,7 +162,7 @@ namespace Microsoft.AspNetCore.Routing.Matchers await matcher.MatchAsync(httpContext, endpointFeature); // Assert - Assert.Equal(endpointWithConstraint, endpointFeature.Endpoint); + Assert.Equal(endpoint2, endpointFeature.Endpoint); } } } diff --git a/test/Microsoft.AspNetCore.Routing.Tests/Matchers/HttpMethodMatcherPolicyIntegrationTest.cs b/test/Microsoft.AspNetCore.Routing.Tests/Matchers/HttpMethodMatcherPolicyIntegrationTest.cs index 26bf2173de..2f48332732 100644 --- a/test/Microsoft.AspNetCore.Routing.Tests/Matchers/HttpMethodMatcherPolicyIntegrationTest.cs +++ b/test/Microsoft.AspNetCore.Routing.Tests/Matchers/HttpMethodMatcherPolicyIntegrationTest.cs @@ -9,6 +9,7 @@ using Microsoft.AspNetCore.Routing.Metadata; using Microsoft.AspNetCore.Routing.Patterns; using Microsoft.Extensions.DependencyInjection; using Xunit; +using static Microsoft.AspNetCore.Routing.Matchers.HttpMethodMatcherPolicy; namespace Microsoft.AspNetCore.Routing.Matchers { @@ -31,6 +32,56 @@ namespace Microsoft.AspNetCore.Routing.Matchers MatcherAssert.AssertMatch(feature, endpoint); } + [Fact] + public async Task Match_HttpMethod_CORS() + { + // Arrange + var endpoint = CreateEndpoint("/hello", httpMethods: new string[] { "GET", }, acceptCorsPreflight: true); + + var matcher = CreateMatcher(endpoint); + var (httpContext, feature) = CreateContext("/hello", "GET"); + + // Act + await matcher.MatchAsync(httpContext, feature); + + // Assert + MatcherAssert.AssertMatch(feature, endpoint); + } + + [Fact] + public async Task Match_HttpMethod_CORS_Preflight() + { + // Arrange + var endpoint = CreateEndpoint("/hello", httpMethods: new string[] { "GET", }, acceptCorsPreflight: true); + + var matcher = CreateMatcher(endpoint); + var (httpContext, feature) = CreateContext("/hello", "GET", corsPreflight: true); + + // Act + await matcher.MatchAsync(httpContext, feature); + + // Assert + MatcherAssert.AssertMatch(feature, endpoint); + } + + + [Fact] // Nothing here supports OPTIONS, so it goes to a 405. + public async Task NotMatch_HttpMethod_CORS_Preflight() + { + // Arrange + var endpoint = CreateEndpoint("/hello", httpMethods: new string[] { "GET", }, acceptCorsPreflight: false); + + var matcher = CreateMatcher(endpoint); + var (httpContext, feature) = CreateContext("/hello", "GET", corsPreflight: true); + + // Act + await matcher.MatchAsync(httpContext, feature); + + // Assert + Assert.NotSame(endpoint, feature.Endpoint); + Assert.Same(HttpMethodMatcherPolicy.Http405EndpointDisplayName, feature.Endpoint.DisplayName); + } + [Fact] public async Task Match_HttpMethod_CaseInsensitive() { @@ -47,6 +98,22 @@ namespace Microsoft.AspNetCore.Routing.Matchers MatcherAssert.AssertMatch(feature, endpoint); } + [Fact] + public async Task Match_HttpMethod_CaseInsensitive_CORS_Preflight() + { + // Arrange + var endpoint = CreateEndpoint("/hello", httpMethods: new string[] { "GeT", }, acceptCorsPreflight: true); + + var matcher = CreateMatcher(endpoint); + var (httpContext, feature) = CreateContext("/hello", "GET", corsPreflight: true); + + // Act + await matcher.MatchAsync(httpContext, feature); + + // Assert + MatcherAssert.AssertMatch(feature, endpoint); + } + [Fact] public async Task Match_NoMetadata_MatchesAnyHttpMethod() { @@ -63,6 +130,38 @@ namespace Microsoft.AspNetCore.Routing.Matchers MatcherAssert.AssertMatch(feature, endpoint); } + [Fact] + public async Task Match_NoMetadata_MatchesAnyHttpMethod_CORS_Preflight() + { + // Arrange + var endpoint = CreateEndpoint("/hello", acceptCorsPreflight: true); + + var matcher = CreateMatcher(endpoint); + var (httpContext, feature) = CreateContext("/hello", "GET", corsPreflight: true); + + // Act + await matcher.MatchAsync(httpContext, feature); + + // Assert + MatcherAssert.AssertMatch(feature, endpoint); + } + + [Fact] // This matches because the endpoint accepts OPTIONS + public async Task Match_NoMetadata_MatchesAnyHttpMethod_CORS_Preflight_DoesNotSupportPreflight() + { + // Arrange + var endpoint = CreateEndpoint("/hello", acceptCorsPreflight: false); + + var matcher = CreateMatcher(endpoint); + var (httpContext, feature) = CreateContext("/hello", "GET", corsPreflight: true); + + // Act + await matcher.MatchAsync(httpContext, feature); + + // Assert + MatcherAssert.AssertMatch(feature, endpoint); + } + [Fact] public async Task Match_EmptyMethodList_MatchesAnyHttpMethod() { @@ -96,7 +195,7 @@ namespace Microsoft.AspNetCore.Routing.Matchers Assert.NotSame(endpoint1, feature.Endpoint); Assert.NotSame(endpoint2, feature.Endpoint); - Assert.Same(HttpMethodEndpointSelectorPolicy.Http405EndpointDisplayName, feature.Endpoint.DisplayName); + Assert.Same(HttpMethodMatcherPolicy.Http405EndpointDisplayName, feature.Endpoint.DisplayName); // Invoke the endpoint await feature.Invoker((c) => Task.CompletedTask)(httpContext); @@ -104,6 +203,23 @@ namespace Microsoft.AspNetCore.Routing.Matchers Assert.Equal("DELETE, GET, PUT", httpContext.Response.Headers["Allow"]); } + [Fact] // When all of the candidates handles specific verbs, use a 405 endpoint + public async Task NotMatch_HttpMethod_CORS_DoesNotReturn405() + { + // Arrange + var endpoint1 = CreateEndpoint("/hello", httpMethods: new string[] { "GET", "PUT" }, acceptCorsPreflight: true); + var endpoint2 = CreateEndpoint("/hello", httpMethods: new string[] { "DELETE" }); + + var matcher = CreateMatcher(endpoint1, endpoint2); + var (httpContext, feature) = CreateContext("/hello", "POST", corsPreflight: true); + + // Act + await matcher.MatchAsync(httpContext, feature); + + // Assert + MatcherAssert.AssertNotMatch(feature); + } + [Fact] // When one of the candidates handles all verbs, dont use a 405 endpoint public async Task NotMatch_HttpMethod_WithAllMethodEndpoint_DoesNotReturn405() { @@ -189,12 +305,21 @@ namespace Microsoft.AspNetCore.Routing.Matchers return builder.Build(); } - internal static (HttpContext httpContext, IEndpointFeature feature) CreateContext(string path, string httpMethod) + internal static (HttpContext httpContext, IEndpointFeature feature) CreateContext( + string path, + string httpMethod, + bool corsPreflight = false) { var httpContext = new DefaultHttpContext(); - httpContext.Request.Method = httpMethod; + httpContext.Request.Method = corsPreflight ? PreflightHttpMethod : httpMethod; httpContext.Request.Path = path; + if (corsPreflight) + { + httpContext.Request.Headers[OriginHeader] = "example.com"; + httpContext.Request.Headers[AccessControlRequestMethod] = httpMethod; + } + var feature = new EndpointFeature(); httpContext.Features.Set(feature); @@ -205,12 +330,13 @@ namespace Microsoft.AspNetCore.Routing.Matchers object defaults = null, object constraints = null, int order = 0, - string[] httpMethods = null) + string[] httpMethods = null, + bool acceptCorsPreflight = false) { var metadata = new List(); if (httpMethods != null) { - metadata.Add(new HttpMethodMetadata(httpMethods)); + metadata.Add(new HttpMethodMetadata(httpMethods ?? Array.Empty(), acceptCorsPreflight)); } var displayName = "endpoint: " + template + " " + string.Join(", ", httpMethods ?? new[] { "(any)" }); diff --git a/test/Microsoft.AspNetCore.Routing.Tests/Matchers/HttpMethodMatcherPolicyTest.cs b/test/Microsoft.AspNetCore.Routing.Tests/Matchers/HttpMethodMatcherPolicyTest.cs index d4e3149852..9c977341a3 100644 --- a/test/Microsoft.AspNetCore.Routing.Tests/Matchers/HttpMethodMatcherPolicyTest.cs +++ b/test/Microsoft.AspNetCore.Routing.Tests/Matchers/HttpMethodMatcherPolicyTest.cs @@ -4,10 +4,10 @@ using System; using System.Collections.Generic; using System.Linq; -using System.Text; using Microsoft.AspNetCore.Routing.Metadata; using Microsoft.AspNetCore.Routing.Patterns; using Xunit; +using static Microsoft.AspNetCore.Routing.Matchers.HttpMethodMatcherPolicy; namespace Microsoft.AspNetCore.Routing.Matchers { @@ -32,7 +32,10 @@ namespace Microsoft.AspNetCore.Routing.Matchers public void AppliesToNode_EndpointWithoutHttpMethods_ReturnsFalse() { // Arrange - var endpoints = new[] { CreateEndpoint("/", Array.Empty()), }; + var endpoints = new[] + { + CreateEndpoint("/", new HttpMethodMetadata(Array.Empty())), + }; var policy = CreatePolicy(); @@ -47,7 +50,11 @@ namespace Microsoft.AspNetCore.Routing.Matchers public void AppliesToNode_EndpointHasHttpMethods_ReturnsTrue() { // Arrange - var endpoints = new[] { CreateEndpoint("/", Array.Empty()), CreateEndpoint("/", new[] { "GET", })}; + var endpoints = new[] + { + CreateEndpoint("/", new HttpMethodMetadata(Array.Empty())), + CreateEndpoint("/", new HttpMethodMetadata(new[] { "GET", })), + }; var policy = CreatePolicy(); @@ -66,11 +73,11 @@ namespace Microsoft.AspNetCore.Routing.Matchers { // These are arrange in an order that we won't actually see in a product scenario. It's done // this way so we can verify that ordering is preserved by GetEdges. - CreateEndpoint("/", new[] { "GET", }), - CreateEndpoint("/", Array.Empty()), - CreateEndpoint("/", new[] { "GET", "PUT", "POST" }), - CreateEndpoint("/", new[] { "PUT", "POST" }), - CreateEndpoint("/", Array.Empty()), + CreateEndpoint("/", new HttpMethodMetadata(new[] { "GET", })), + CreateEndpoint("/", new HttpMethodMetadata(Array.Empty())), + CreateEndpoint("/", new HttpMethodMetadata(new[] { "GET", "PUT", "POST" })), + CreateEndpoint("/", new HttpMethodMetadata(new[] { "PUT", "POST" })), + CreateEndpoint("/", new HttpMethodMetadata(Array.Empty())), }; var policy = CreatePolicy(); @@ -83,26 +90,91 @@ namespace Microsoft.AspNetCore.Routing.Matchers edges.OrderBy(e => e.State), e => { - Assert.Equal(HttpMethodEndpointSelectorPolicy.AnyMethod, e.State); + Assert.Equal(new EdgeKey(AnyMethod, isCorsPreflightRequest: false), e.State); Assert.Equal(new[] { endpoints[1], endpoints[4], }, e.Endpoints.ToArray()); }, e => { - Assert.Equal("GET", e.State); + Assert.Equal(new EdgeKey("GET", isCorsPreflightRequest: false), e.State); Assert.Equal(new[] { endpoints[0], endpoints[1], endpoints[2], endpoints[4], }, e.Endpoints.ToArray()); }, e => { - Assert.Equal("POST", e.State); + Assert.Equal(new EdgeKey("POST", isCorsPreflightRequest: false), e.State); Assert.Equal(new[] { endpoints[1], endpoints[2], endpoints[3], endpoints[4], }, e.Endpoints.ToArray()); }, e => { - Assert.Equal("PUT", e.State); + Assert.Equal(new EdgeKey("PUT", isCorsPreflightRequest: false), e.State); Assert.Equal(new[] { endpoints[1], endpoints[2], endpoints[3], endpoints[4], }, e.Endpoints.ToArray()); }); } + [Fact] + public void GetEdges_GroupsByHttpMethod_Cors() + { + // Arrange + var endpoints = new[] + { + // These are arrange in an order that we won't actually see in a product scenario. It's done + // this way so we can verify that ordering is preserved by GetEdges. + CreateEndpoint("/", new HttpMethodMetadata(new[] { "GET", })), + CreateEndpoint("/", new HttpMethodMetadata(Array.Empty())), + CreateEndpoint("/", new HttpMethodMetadata(new[] { "GET", "PUT", "POST" }, acceptCorsPreflight: true)), + CreateEndpoint("/", new HttpMethodMetadata(new[] { "PUT", "POST" })), + CreateEndpoint("/", new HttpMethodMetadata(Array.Empty(), acceptCorsPreflight: true)), + }; + + var policy = CreatePolicy(); + + // Act + var edges = policy.GetEdges(endpoints); + + // Assert + Assert.Collection( + edges.OrderBy(e => e.State), + e => + { + Assert.Equal(new EdgeKey(AnyMethod, isCorsPreflightRequest: false), e.State); + Assert.Equal(new[] { endpoints[1], endpoints[4], }, e.Endpoints.ToArray()); + }, + e => + { + Assert.Equal(new EdgeKey(AnyMethod, isCorsPreflightRequest: true), e.State); + Assert.Equal(new[] { endpoints[4], }, e.Endpoints.ToArray()); + }, + e => + { + Assert.Equal(new EdgeKey("GET", isCorsPreflightRequest: false), e.State); + Assert.Equal(new[] { endpoints[0], endpoints[1], endpoints[2], endpoints[4], }, e.Endpoints.ToArray()); + }, + e => + { + Assert.Equal(new EdgeKey("GET", isCorsPreflightRequest: true), e.State); + Assert.Equal(new[] { endpoints[2], endpoints[4], }, e.Endpoints.ToArray()); + }, + e => + { + Assert.Equal(new EdgeKey("POST", isCorsPreflightRequest: false), e.State); + Assert.Equal(new[] { endpoints[1], endpoints[2], endpoints[3], endpoints[4], }, e.Endpoints.ToArray()); + }, + e => + { + Assert.Equal(new EdgeKey("POST", isCorsPreflightRequest: true), e.State); + Assert.Equal(new[] { endpoints[2], endpoints[4], }, e.Endpoints.ToArray()); + }, + e => + { + Assert.Equal(new EdgeKey("PUT", isCorsPreflightRequest: false), e.State); + Assert.Equal(new[] { endpoints[1], endpoints[2], endpoints[3], endpoints[4], }, e.Endpoints.ToArray()); + }, + e => + { + Assert.Equal(new EdgeKey("PUT", isCorsPreflightRequest: true), e.State); + Assert.Equal(new[] { endpoints[2], endpoints[4], }, e.Endpoints.ToArray()); + }); + } + [Fact] // See explanation in GetEdges for how this case is different public void GetEdges_GroupsByHttpMethod_CreatesHttp405Endpoint() { @@ -111,9 +183,9 @@ namespace Microsoft.AspNetCore.Routing.Matchers { // These are arrange in an order that we won't actually see in a product scenario. It's done // this way so we can verify that ordering is preserved by GetEdges. - CreateEndpoint("/", new[] { "GET", }), - CreateEndpoint("/", new[] { "GET", "PUT", "POST" }), - CreateEndpoint("/", new[] { "PUT", "POST" }), + CreateEndpoint("/", new HttpMethodMetadata(new[] { "GET", })), + CreateEndpoint("/", new HttpMethodMetadata(new[] { "GET", "PUT", "POST" })), + CreateEndpoint("/", new HttpMethodMetadata(new[] { "PUT", "POST" })), }; var policy = CreatePolicy(); @@ -126,32 +198,91 @@ namespace Microsoft.AspNetCore.Routing.Matchers edges.OrderBy(e => e.State), e => { - Assert.Equal(HttpMethodEndpointSelectorPolicy.AnyMethod, e.State); - Assert.Equal(HttpMethodEndpointSelectorPolicy.Http405EndpointDisplayName, e.Endpoints.Single().DisplayName); + Assert.Equal(new EdgeKey(AnyMethod, isCorsPreflightRequest: false), e.State); + Assert.Equal(Http405EndpointDisplayName, e.Endpoints.Single().DisplayName); }, e => { - Assert.Equal("GET", e.State); + Assert.Equal(new EdgeKey("GET", isCorsPreflightRequest: false), e.State); Assert.Equal(new[] { endpoints[0], endpoints[1], }, e.Endpoints.ToArray()); }, e => { - Assert.Equal("POST", e.State); + Assert.Equal(new EdgeKey("POST", isCorsPreflightRequest: false), e.State); Assert.Equal(new[] { endpoints[1], endpoints[2], }, e.Endpoints.ToArray()); }, e => { - Assert.Equal("PUT", e.State); + Assert.Equal(new EdgeKey("PUT", isCorsPreflightRequest: false), e.State); Assert.Equal(new[] { endpoints[1], endpoints[2], }, e.Endpoints.ToArray()); }); + + } + + [Fact] // See explanation in GetEdges for how this case is different + public void GetEdges_GroupsByHttpMethod_CreatesHttp405Endpoint_CORS() + { + // Arrange + var endpoints = new[] + { + // These are arrange in an order that we won't actually see in a product scenario. It's done + // this way so we can verify that ordering is preserved by GetEdges. + CreateEndpoint("/", new HttpMethodMetadata(new[] { "GET", })), + CreateEndpoint("/", new HttpMethodMetadata(new[] { "GET", "PUT", "POST" }, acceptCorsPreflight: true)), + CreateEndpoint("/", new HttpMethodMetadata(new[] { "PUT", "POST" })), + }; + + var policy = CreatePolicy(); + + // Act + var edges = policy.GetEdges(endpoints); + + // Assert + Assert.Collection( + edges.OrderBy(e => e.State), + e => + { + Assert.Equal(new EdgeKey(AnyMethod, isCorsPreflightRequest: false), e.State); + Assert.Equal(Http405EndpointDisplayName, e.Endpoints.Single().DisplayName); + }, + e => + { + Assert.Equal(new EdgeKey("GET", isCorsPreflightRequest: false), e.State); + Assert.Equal(new[] { endpoints[0], endpoints[1], }, e.Endpoints.ToArray()); + }, + e => + { + Assert.Equal(new EdgeKey("GET", isCorsPreflightRequest: true), e.State); + Assert.Equal(new[] { endpoints[1], }, e.Endpoints.ToArray()); + }, + e => + { + Assert.Equal(new EdgeKey("POST", isCorsPreflightRequest: false), e.State); + Assert.Equal(new[] { endpoints[1], endpoints[2], }, e.Endpoints.ToArray()); + }, + e => + { + Assert.Equal(new EdgeKey("POST", isCorsPreflightRequest: true), e.State); + Assert.Equal(new[] { endpoints[1], }, e.Endpoints.ToArray()); + }, + e => + { + Assert.Equal(new EdgeKey("PUT", isCorsPreflightRequest: false), e.State); + Assert.Equal(new[] { endpoints[1], endpoints[2], }, e.Endpoints.ToArray()); + }, + e => + { + Assert.Equal(new EdgeKey("PUT", isCorsPreflightRequest: true), e.State); + Assert.Equal(new[] { endpoints[1], }, e.Endpoints.ToArray()); + }); } - private static MatcherEndpoint CreateEndpoint(string template, string[] httpMethods) + private static MatcherEndpoint CreateEndpoint(string template, HttpMethodMetadata httpMethodMetadata) { var metadata = new List(); - if (httpMethods != null) + if (httpMethodMetadata != null) { - metadata.Add(new HttpMethodMetadata(httpMethods)); + metadata.Add(httpMethodMetadata); } return new MatcherEndpoint( @@ -163,9 +294,9 @@ namespace Microsoft.AspNetCore.Routing.Matchers $"test: {template}"); } - private static HttpMethodEndpointSelectorPolicy CreatePolicy() + private static HttpMethodMatcherPolicy CreatePolicy() { - return new HttpMethodEndpointSelectorPolicy(); + return new HttpMethodMatcherPolicy(); } } } From f870503cddbe02dcb9290d68ba3c3e9db2a44154 Mon Sep 17 00:00:00 2001 From: James Newton-King Date: Sat, 28 Jul 2018 11:13:30 +1200 Subject: [PATCH 103/221] Fix HttpMethodMetadata debug string (#666) --- src/Microsoft.AspNetCore.Routing/Metadata/HttpMethodMetadata.cs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/Microsoft.AspNetCore.Routing/Metadata/HttpMethodMetadata.cs b/src/Microsoft.AspNetCore.Routing/Metadata/HttpMethodMetadata.cs index 2dc98a5a12..af342a2f36 100644 --- a/src/Microsoft.AspNetCore.Routing/Metadata/HttpMethodMetadata.cs +++ b/src/Microsoft.AspNetCore.Routing/Metadata/HttpMethodMetadata.cs @@ -8,7 +8,7 @@ using System.Linq; namespace Microsoft.AspNetCore.Routing.Metadata { - [DebuggerDisplay("{DebuggerToString,nq}")] + [DebuggerDisplay("{DebuggerToString(),nq}")] public sealed class HttpMethodMetadata : IHttpMethodMetadata { public HttpMethodMetadata(IEnumerable httpMethods) From f8b3b73ca7cd31443bf64cf70d0497a91d2078b4 Mon Sep 17 00:00:00 2001 From: Ryan Nowak Date: Thu, 26 Jul 2018 23:20:44 -0700 Subject: [PATCH 104/221] Remove EndpointConstraints Adds IEndpointSelectorPolicy so that MVC can plug in to the EndpointSelector to run action constraints. --- .../Matchers/MatcherBenchmarkBase.cs | 1 - .../CompositeEndpointDataSource.cs | 8 +- .../RoutingServiceCollectionExtensions.cs | 10 +- .../EndpointConstraintCache.cs | 208 ------- .../EndpointConstraintEndpointSelector.cs | 265 --------- .../HttpMethodEndpointConstraint.cs | 75 --- .../IEndpointConstraint.cs | 190 ------- .../Matchers/DefaultEndpointSelector.cs | 25 +- .../Matchers/IEndpointSelectorPolicy.cs | 12 + .../EndpointConstraintEndpointSelectorTest.cs | 511 ------------------ .../Matchers/DefaultEndpointSelectorTest.cs | 36 +- .../Matchers/RouteMatcherBuilder.cs | 7 +- .../Matchers/TreeRouterMatcherBuilder.cs | 6 +- 13 files changed, 73 insertions(+), 1281 deletions(-) delete mode 100644 src/Microsoft.AspNetCore.Routing/EndpointConstraints/EndpointConstraintCache.cs delete mode 100644 src/Microsoft.AspNetCore.Routing/EndpointConstraints/EndpointConstraintEndpointSelector.cs delete mode 100644 src/Microsoft.AspNetCore.Routing/EndpointConstraints/HttpMethodEndpointConstraint.cs delete mode 100644 src/Microsoft.AspNetCore.Routing/EndpointConstraints/IEndpointConstraint.cs create mode 100644 src/Microsoft.AspNetCore.Routing/Matchers/IEndpointSelectorPolicy.cs delete mode 100644 test/Microsoft.AspNetCore.Routing.Tests/EndpointConstraints/EndpointConstraintEndpointSelectorTest.cs diff --git a/benchmarks/Microsoft.AspNetCore.Routing.Performance/Matchers/MatcherBenchmarkBase.cs b/benchmarks/Microsoft.AspNetCore.Routing.Performance/Matchers/MatcherBenchmarkBase.cs index 612e4db9f3..8d428e8253 100644 --- a/benchmarks/Microsoft.AspNetCore.Routing.Performance/Matchers/MatcherBenchmarkBase.cs +++ b/benchmarks/Microsoft.AspNetCore.Routing.Performance/Matchers/MatcherBenchmarkBase.cs @@ -7,7 +7,6 @@ using System.Runtime.CompilerServices; using System.Text; using System.Threading.Tasks; using Microsoft.AspNetCore.Http; -using Microsoft.AspNetCore.Routing.EndpointConstraints; using Microsoft.AspNetCore.Routing.Metadata; using Microsoft.AspNetCore.Routing.Patterns; using Microsoft.Extensions.DependencyInjection; diff --git a/src/Microsoft.AspNetCore.Routing/CompositeEndpointDataSource.cs b/src/Microsoft.AspNetCore.Routing/CompositeEndpointDataSource.cs index 27629fd1a3..2b4912a086 100644 --- a/src/Microsoft.AspNetCore.Routing/CompositeEndpointDataSource.cs +++ b/src/Microsoft.AspNetCore.Routing/CompositeEndpointDataSource.cs @@ -7,7 +7,6 @@ using System.Diagnostics; using System.Linq; using System.Text; using System.Threading; -using Microsoft.AspNetCore.Routing.EndpointConstraints; using Microsoft.AspNetCore.Routing.Matchers; using Microsoft.AspNetCore.Routing.Metadata; using Microsoft.Extensions.Primitives; @@ -138,11 +137,8 @@ namespace Microsoft.AspNetCore.Routing var httpMethodMetadata = matcherEndpoint.Metadata.GetMetadata(); if (httpMethodMetadata != null) { - foreach (var httpMethod in httpMethodMetadata.HttpMethods) - { - sb.Append(", Http Methods: "); - sb.Append(string.Join(", ", httpMethod)); - } + sb.Append(", Http Methods: "); + sb.Append(string.Join(", ", httpMethodMetadata.HttpMethods)); } sb.AppendLine(); diff --git a/src/Microsoft.AspNetCore.Routing/DependencyInjection/RoutingServiceCollectionExtensions.cs b/src/Microsoft.AspNetCore.Routing/DependencyInjection/RoutingServiceCollectionExtensions.cs index 0e335d7d46..ab4c29b702 100644 --- a/src/Microsoft.AspNetCore.Routing/DependencyInjection/RoutingServiceCollectionExtensions.cs +++ b/src/Microsoft.AspNetCore.Routing/DependencyInjection/RoutingServiceCollectionExtensions.cs @@ -4,7 +4,6 @@ using System; using Microsoft.AspNetCore.Routing; using Microsoft.AspNetCore.Routing.Constraints; -using Microsoft.AspNetCore.Routing.EndpointConstraints; using Microsoft.AspNetCore.Routing.EndpointFinders; using Microsoft.AspNetCore.Routing.Internal; using Microsoft.AspNetCore.Routing.Matchers; @@ -73,18 +72,13 @@ namespace Microsoft.Extensions.DependencyInjection services.TryAddSingleton, NameBasedEndpointFinder>(); services.TryAddSingleton, RouteValuesBasedEndpointFinder>(); services.TryAddSingleton(); - + // // Endpoint Selection // - services.TryAddSingleton(); - services.TryAddSingleton(); + services.TryAddSingleton(); services.TryAddEnumerable(ServiceDescriptor.Singleton()); - // Will be cached by the EndpointSelector - services.TryAddEnumerable( - ServiceDescriptor.Transient()); - return services; } diff --git a/src/Microsoft.AspNetCore.Routing/EndpointConstraints/EndpointConstraintCache.cs b/src/Microsoft.AspNetCore.Routing/EndpointConstraints/EndpointConstraintCache.cs deleted file mode 100644 index 1a5c4a350c..0000000000 --- a/src/Microsoft.AspNetCore.Routing/EndpointConstraints/EndpointConstraintCache.cs +++ /dev/null @@ -1,208 +0,0 @@ -// Copyright (c) .NET Foundation. All rights reserved. -// Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information. - -using Microsoft.AspNetCore.Http; -using System; -using System.Collections.Concurrent; -using System.Collections.Generic; -using System.Diagnostics; -using System.Linq; - -namespace Microsoft.AspNetCore.Routing.EndpointConstraints -{ - internal class EndpointConstraintCache - { - private readonly CompositeEndpointDataSource _dataSource; - private readonly IEndpointConstraintProvider[] _endpointConstraintProviders; - - private volatile InnerCache _currentCache; - - public EndpointConstraintCache( - CompositeEndpointDataSource dataSource, - IEnumerable endpointConstraintProviders) - { - _dataSource = dataSource; - _endpointConstraintProviders = endpointConstraintProviders.OrderBy(item => item.Order).ToArray(); - } - - private InnerCache CurrentCache - { - get - { - var current = _currentCache; - var endpointDescriptors = _dataSource.Endpoints; - - if (current == null) - { - current = new InnerCache(); - _currentCache = current; - } - - return current; - } - } - - public IReadOnlyList GetEndpointConstraints(HttpContext httpContext, Endpoint endpoint) - { - var cache = CurrentCache; - - if (cache.Entries.TryGetValue(endpoint, out var entry)) - { - return GetEndpointConstraintsFromEntry(entry, httpContext, endpoint); - } - - List items = null; - - if (endpoint.Metadata != null && endpoint.Metadata.Count > 0) - { - items = endpoint.Metadata - .OfType() - .Select(m => new EndpointConstraintItem(m)) - .ToList(); - } - - IReadOnlyList endpointConstraints = null; - - if (items != null && items.Count > 0) - { - ExecuteProviders(httpContext, endpoint, items); - - endpointConstraints = ExtractEndpointConstraints(items); - - var allEndpointConstraintsCached = true; - for (var i = 0; i < items.Count; i++) - { - var item = items[i]; - if (!item.IsReusable) - { - item.Constraint = null; - allEndpointConstraintsCached = false; - } - } - - if (allEndpointConstraintsCached) - { - entry = new CacheEntry(endpointConstraints); - } - else - { - entry = new CacheEntry(items); - } - } - else - { - // No constraints - entry = new CacheEntry(); - } - - cache.Entries.TryAdd(endpoint, entry); - return endpointConstraints; - } - - private IReadOnlyList GetEndpointConstraintsFromEntry(CacheEntry entry, HttpContext httpContext, Endpoint endpoint) - { - if (entry.EndpointConstraints != null) - { - return entry.EndpointConstraints; - } - - if (entry.Items == null) - { - // Endpoint has no constraints - return null; - } - - var items = new List(entry.Items.Count); - for (var i = 0; i < entry.Items.Count; i++) - { - var item = entry.Items[i]; - if (item.IsReusable) - { - items.Add(item); - } - else - { - items.Add(new EndpointConstraintItem(item.Metadata)); - } - } - - ExecuteProviders(httpContext, endpoint, items); - - return ExtractEndpointConstraints(items); - } - - private void ExecuteProviders(HttpContext httpContext, Endpoint endpoint, List items) - { - var context = new EndpointConstraintProviderContext(httpContext, endpoint, items); - - for (var i = 0; i < _endpointConstraintProviders.Length; i++) - { - _endpointConstraintProviders[i].OnProvidersExecuting(context); - } - - for (var i = _endpointConstraintProviders.Length - 1; i >= 0; i--) - { - _endpointConstraintProviders[i].OnProvidersExecuted(context); - } - } - - private IReadOnlyList ExtractEndpointConstraints(List items) - { - var count = 0; - for (var i = 0; i < items.Count; i++) - { - if (items[i].Constraint != null) - { - count++; - } - } - - if (count == 0) - { - return null; - } - - var endpointConstraints = new IEndpointConstraint[count]; - var endpointConstraintIndex = 0; - for (int i = 0; i < items.Count; i++) - { - var endpointConstraint = items[i].Constraint; - if (endpointConstraint != null) - { - endpointConstraints[endpointConstraintIndex++] = endpointConstraint; - } - } - - return endpointConstraints; - } - - private class InnerCache - { - public InnerCache() - { - } - - public ConcurrentDictionary Entries { get; } = - new ConcurrentDictionary(); - } - - private struct CacheEntry - { - public CacheEntry(IReadOnlyList endpointConstraints) - { - EndpointConstraints = endpointConstraints; - Items = null; - } - - public CacheEntry(List items) - { - Items = items; - EndpointConstraints = null; - } - - public IReadOnlyList EndpointConstraints { get; } - - public List Items { get; } - } - } -} \ No newline at end of file diff --git a/src/Microsoft.AspNetCore.Routing/EndpointConstraints/EndpointConstraintEndpointSelector.cs b/src/Microsoft.AspNetCore.Routing/EndpointConstraints/EndpointConstraintEndpointSelector.cs deleted file mode 100644 index f063079f87..0000000000 --- a/src/Microsoft.AspNetCore.Routing/EndpointConstraints/EndpointConstraintEndpointSelector.cs +++ /dev/null @@ -1,265 +0,0 @@ -// Copyright (c) .NET Foundation. All rights reserved. -// Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information. - -using System; -using System.Collections.Generic; -using System.Linq; -using System.Threading.Tasks; -using Microsoft.AspNetCore.Http; -using Microsoft.AspNetCore.Routing.Matchers; -using Microsoft.Extensions.Logging; - -namespace Microsoft.AspNetCore.Routing.EndpointConstraints -{ - internal class EndpointConstraintEndpointSelector : EndpointSelector - { - private static readonly IReadOnlyList EmptyEndpoints = Array.Empty(); - - private readonly CompositeEndpointDataSource _dataSource; - private readonly EndpointConstraintCache _endpointConstraintCache; - private readonly ILogger _logger; - - public EndpointConstraintEndpointSelector( - CompositeEndpointDataSource dataSource, - EndpointConstraintCache endpointConstraintCache, - ILoggerFactory loggerFactory) - { - _dataSource = dataSource; - _logger = loggerFactory.CreateLogger(); - _endpointConstraintCache = endpointConstraintCache; - } - - public override Task SelectAsync( - HttpContext httpContext, - IEndpointFeature feature, - CandidateSet candidates) - { - if (httpContext == null) - { - throw new ArgumentNullException(nameof(httpContext)); - } - - if (feature == null) - { - throw new ArgumentNullException(nameof(feature)); - } - - if (candidates == null) - { - throw new ArgumentNullException(nameof(candidates)); - } - - var finalMatches = EvaluateEndpointConstraints(httpContext, candidates); - - if (finalMatches == null || finalMatches.Count == 0) - { - return Task.CompletedTask; - } - else if (finalMatches.Count == 1) - { - var endpoint = finalMatches[0].Endpoint; - var values = finalMatches[0].Values; - - feature.Endpoint = endpoint; - feature.Invoker = (endpoint as MatcherEndpoint)?.Invoker; - feature.Values = values; - - return Task.CompletedTask; - } - else - { - var endpointNames = string.Join( - Environment.NewLine, - finalMatches.Select(a => a.Endpoint.DisplayName)); - - Log.MatchAmbiguous(_logger, httpContext, finalMatches); - - var message = Resources.FormatAmbiguousEndpoints( - Environment.NewLine, - string.Join(Environment.NewLine, endpointNames)); - - throw new AmbiguousMatchException(message); - } - } - - private IReadOnlyList EvaluateEndpointConstraints( - HttpContext context, - CandidateSet candidateSet) - { - var candidates = new List(); - - // Perf: Avoid allocations - for (var i = 0; i < candidateSet.Count; i++) - { - ref var candidate = ref candidateSet[i]; - if (candidate.IsValidCandidate) - { - var endpoint = candidate.Endpoint; - var constraints = _endpointConstraintCache.GetEndpointConstraints(context, endpoint); - candidates.Add(new EndpointSelectorCandidate( - endpoint, - candidate.Score, - candidate.Values, - constraints)); - } - } - - var matches = EvaluateEndpointConstraintsCore(context, candidates, startingOrder: null); - - List results = null; - if (matches != null) - { - results = new List(matches.Count); - - // We need to disambiguate based on 'score' - take the first value of 'score' - // and then we only copy matches while they have the same score. This accounts - // for a difference in behavior between new routing and old. - switch (matches.Count) - { - case 0: - break; - - case 1: - results.Add(matches[0]); - break; - - default: - var score = matches[0].Score; - for (var i = 0; i < matches.Count; i++) - { - if (matches[i].Score != score) - { - break; - } - - results.Add(matches[i]); - } - - break; - - } - } - - return results; - } - - private IReadOnlyList EvaluateEndpointConstraintsCore( - HttpContext context, - IReadOnlyList candidates, - int? startingOrder) - { - // Find the next group of constraints to process. This will be the lowest value of - // order that is higher than startingOrder. - int? order = null; - - // Perf: Avoid allocations - for (var i = 0; i < candidates.Count; i++) - { - var candidate = candidates[i]; - if (candidate.Constraints != null) - { - for (var j = 0; j < candidate.Constraints.Count; j++) - { - var constraint = candidate.Constraints[j]; - if ((startingOrder == null || constraint.Order > startingOrder) && - (order == null || constraint.Order < order)) - { - order = constraint.Order; - } - } - } - } - - // If we don't find a next then there's nothing left to do. - if (order == null) - { - return candidates; - } - - // Since we have a constraint to process, bisect the set of endpoints into those with and without a - // constraint for the current order. - var endpointsWithConstraint = new List(); - var endpointsWithoutConstraint = new List(); - - var constraintContext = new EndpointConstraintContext(); - constraintContext.Candidates = candidates; - constraintContext.HttpContext = context; - - // Perf: Avoid allocations - for (var i = 0; i < candidates.Count; i++) - { - var candidate = candidates[i]; - var isMatch = true; - var foundMatchingConstraint = false; - - if (candidate.Constraints != null) - { - constraintContext.CurrentCandidate = candidate; - for (var j = 0; j < candidate.Constraints.Count; j++) - { - var constraint = candidate.Constraints[j]; - if (constraint.Order == order) - { - foundMatchingConstraint = true; - - if (!constraint.Accept(constraintContext)) - { - isMatch = false; - //_logger.ConstraintMismatch( - // candidate.Endpoint.DisplayName, - // candidate.Endpoint.Id, - // constraint); - break; - } - } - } - } - - if (isMatch && foundMatchingConstraint) - { - endpointsWithConstraint.Add(candidate); - } - else if (isMatch) - { - endpointsWithoutConstraint.Add(candidate); - } - } - - // If we have matches with constraints, those are better so try to keep processing those - if (endpointsWithConstraint.Count > 0) - { - var matches = EvaluateEndpointConstraintsCore(context, endpointsWithConstraint, order); - if (matches?.Count > 0) - { - return matches; - } - } - - // If the set of matches with constraints can't work, then process the set without constraints. - if (endpointsWithoutConstraint.Count == 0) - { - return null; - } - else - { - return EvaluateEndpointConstraintsCore(context, endpointsWithoutConstraint, order); - } - } - - private static class Log - { - private static readonly Action, Exception> _matchAmbiguous = LoggerMessage.Define>( - LogLevel.Error, - new EventId(1, "MatchAmbiguous"), - "Request matched multiple endpoints for request path '{Path}'. Matching endpoints: {AmbiguousEndpoints}"); - - public static void MatchAmbiguous(ILogger logger, HttpContext httpContext, IEnumerable endpoints) - { - if (logger.IsEnabled(LogLevel.Error)) - { - _matchAmbiguous(logger, httpContext.Request.Path, endpoints.Select(e => e.Endpoint.DisplayName), null); - } - } - } - } -} \ No newline at end of file diff --git a/src/Microsoft.AspNetCore.Routing/EndpointConstraints/HttpMethodEndpointConstraint.cs b/src/Microsoft.AspNetCore.Routing/EndpointConstraints/HttpMethodEndpointConstraint.cs deleted file mode 100644 index 296986d523..0000000000 --- a/src/Microsoft.AspNetCore.Routing/EndpointConstraints/HttpMethodEndpointConstraint.cs +++ /dev/null @@ -1,75 +0,0 @@ -// Copyright (c) .NET Foundation. All rights reserved. -// Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information. - -using System; -using System.Collections.Generic; -using System.Collections.ObjectModel; -using Microsoft.AspNetCore.Routing.Metadata; - -namespace Microsoft.AspNetCore.Routing.EndpointConstraints -{ - public class HttpMethodEndpointConstraint : IEndpointConstraint, IHttpMethodMetadata - { - public static readonly int HttpMethodConstraintOrder = 100; - - private readonly IReadOnlyList _httpMethods; - - // Empty collection means any method will be accepted. - public HttpMethodEndpointConstraint(IEnumerable httpMethods) - { - if (httpMethods == null) - { - throw new ArgumentNullException(nameof(httpMethods)); - } - - var methods = new List(); - - foreach (var method in httpMethods) - { - if (string.IsNullOrEmpty(method)) - { - throw new ArgumentException("httpMethod cannot be null or empty"); - } - - methods.Add(method); - } - - _httpMethods = new ReadOnlyCollection(methods); - } - - public IEnumerable HttpMethods => _httpMethods; - - public int Order => HttpMethodConstraintOrder; - - IReadOnlyList IHttpMethodMetadata.HttpMethods => _httpMethods; - - bool IHttpMethodMetadata.AcceptCorsPreflight => false; - - public virtual bool Accept(EndpointConstraintContext context) - { - if (context == null) - { - throw new ArgumentNullException(nameof(context)); - } - - if (_httpMethods.Count == 0) - { - return true; - } - - var request = context.HttpContext.Request; - var method = request.Method; - - for (var i = 0; i < _httpMethods.Count; i++) - { - var supportedMethod = _httpMethods[i]; - if (string.Equals(supportedMethod, method, StringComparison.OrdinalIgnoreCase)) - { - return true; - } - } - - return false; - } - } -} \ No newline at end of file diff --git a/src/Microsoft.AspNetCore.Routing/EndpointConstraints/IEndpointConstraint.cs b/src/Microsoft.AspNetCore.Routing/EndpointConstraints/IEndpointConstraint.cs deleted file mode 100644 index 1a71ec738d..0000000000 --- a/src/Microsoft.AspNetCore.Routing/EndpointConstraints/IEndpointConstraint.cs +++ /dev/null @@ -1,190 +0,0 @@ -// Copyright (c) .NET Foundation. All rights reserved. -// Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information. - -using System; -using System.Collections.Generic; -using Microsoft.AspNetCore.Http; - -namespace Microsoft.AspNetCore.Routing.EndpointConstraints -{ - public class EndpointConstraintContext - { - public IReadOnlyList Candidates { get; set; } - - public EndpointSelectorCandidate CurrentCandidate { get; set; } - - public HttpContext HttpContext { get; set; } - } - - public interface IEndpointConstraint : IEndpointConstraintMetadata - { - int Order { get; } - - bool Accept(EndpointConstraintContext context); - } - - public interface IEndpointConstraintMetadata - { - } - - public readonly struct EndpointSelectorCandidate - { - public EndpointSelectorCandidate( - Endpoint endpoint, - int score, - RouteValueDictionary values, - IReadOnlyList constraints) - { - if (endpoint == null) - { - throw new ArgumentNullException(nameof(endpoint)); - } - - Endpoint = endpoint; - Score = score; - Values = values; - Constraints = constraints; - } - - // Temporarily added to not break MVC build - public EndpointSelectorCandidate( - Endpoint endpoint, - IReadOnlyList constraints) - { - if (endpoint == null) - { - throw new ArgumentNullException(nameof(endpoint)); - } - - Endpoint = endpoint; - Score = 0; - Values = null; - Constraints = constraints; - } - - public Endpoint Endpoint { get; } - - public int Score { get; } - - public RouteValueDictionary Values { get; } - - public IReadOnlyList Constraints { get; } - } - - public class EndpointConstraintItem - { - public EndpointConstraintItem(IEndpointConstraintMetadata metadata) - { - if (metadata == null) - { - throw new ArgumentNullException(nameof(metadata)); - } - - Metadata = metadata; - } - - public IEndpointConstraint Constraint { get; set; } - - public IEndpointConstraintMetadata Metadata { get; } - - public bool IsReusable { get; set; } - } - - public interface IEndpointConstraintProvider - { - int Order { get; } - - void OnProvidersExecuting(EndpointConstraintProviderContext context); - - void OnProvidersExecuted(EndpointConstraintProviderContext context); - } - - public class EndpointConstraintProviderContext - { - public EndpointConstraintProviderContext( - HttpContext context, - Endpoint endpoint, - IList items) - { - if (context == null) - { - throw new ArgumentNullException(nameof(context)); - } - - if (endpoint == null) - { - throw new ArgumentNullException(nameof(endpoint)); - } - - if (items == null) - { - throw new ArgumentNullException(nameof(items)); - } - - HttpContext = context; - Endpoint = endpoint; - Results = items; - } - - public HttpContext HttpContext { get; } - - public Endpoint Endpoint { get; } - - public IList Results { get; } - } - - public class DefaultEndpointConstraintProvider : IEndpointConstraintProvider - { - /// - public int Order => -1000; - - /// - public void OnProvidersExecuting(EndpointConstraintProviderContext context) - { - if (context == null) - { - throw new ArgumentNullException(nameof(context)); - } - - for (var i = 0; i < context.Results.Count; i++) - { - ProvideConstraint(context.Results[i], context.HttpContext.RequestServices); - } - } - - /// - public void OnProvidersExecuted(EndpointConstraintProviderContext context) - { - } - - private void ProvideConstraint(EndpointConstraintItem item, IServiceProvider services) - { - // Don't overwrite anything that was done by a previous provider. - if (item.Constraint != null) - { - return; - } - - if (item.Metadata is IEndpointConstraint constraint) - { - item.Constraint = constraint; - item.IsReusable = true; - return; - } - - if (item.Metadata is IEndpointConstraintFactory factory) - { - item.Constraint = factory.CreateInstance(services); - item.IsReusable = factory.IsReusable; - return; - } - } - } - - public interface IEndpointConstraintFactory : IEndpointConstraintMetadata - { - bool IsReusable { get; } - - IEndpointConstraint CreateInstance(IServiceProvider services); - } -} \ No newline at end of file diff --git a/src/Microsoft.AspNetCore.Routing/Matchers/DefaultEndpointSelector.cs b/src/Microsoft.AspNetCore.Routing/Matchers/DefaultEndpointSelector.cs index b76010851f..2d3e6d5026 100644 --- a/src/Microsoft.AspNetCore.Routing/Matchers/DefaultEndpointSelector.cs +++ b/src/Microsoft.AspNetCore.Routing/Matchers/DefaultEndpointSelector.cs @@ -11,17 +11,34 @@ namespace Microsoft.AspNetCore.Routing.Matchers { internal class DefaultEndpointSelector : EndpointSelector { + private readonly IEndpointSelectorPolicy[] _selectorPolicies; + + public DefaultEndpointSelector(IEnumerable matcherPolicies) + { + if (matcherPolicies == null) + { + throw new ArgumentNullException(nameof(matcherPolicies)); + } + + _selectorPolicies = matcherPolicies.OrderBy(p => p.Order).OfType().ToArray(); + } + public override Task SelectAsync( HttpContext httpContext, IEndpointFeature feature, - CandidateSet candidates) + CandidateSet candidateSet) { + for (var i = 0; i < _selectorPolicies.Length; i++) + { + _selectorPolicies[i].Apply(httpContext, candidateSet); + } + MatcherEndpoint endpoint = null; RouteValueDictionary values = null; int? foundScore = null; - for (var i = 0; i < candidates.Count; i++) + for (var i = 0; i < candidateSet.Count; i++) { - ref var state = ref candidates[i]; + ref var state = ref candidateSet[i]; var isValid = state.IsValidCandidate; if (isValid && foundScore == null) @@ -46,7 +63,7 @@ namespace Microsoft.AspNetCore.Routing.Matchers // // Don't worry about the 'null == state.Score' case, it returns false. - ReportAmbiguity(candidates); + ReportAmbiguity(candidateSet); // Unreachable, ReportAmbiguity always throws. throw new NotSupportedException(); diff --git a/src/Microsoft.AspNetCore.Routing/Matchers/IEndpointSelectorPolicy.cs b/src/Microsoft.AspNetCore.Routing/Matchers/IEndpointSelectorPolicy.cs new file mode 100644 index 0000000000..cc6fe09d9c --- /dev/null +++ b/src/Microsoft.AspNetCore.Routing/Matchers/IEndpointSelectorPolicy.cs @@ -0,0 +1,12 @@ +// Copyright (c) .NET Foundation. All rights reserved. +// Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information. + +using Microsoft.AspNetCore.Http; + +namespace Microsoft.AspNetCore.Routing.Matchers +{ + public interface IEndpointSelectorPolicy + { + void Apply(HttpContext httpContext, CandidateSet candidates); + } +} diff --git a/test/Microsoft.AspNetCore.Routing.Tests/EndpointConstraints/EndpointConstraintEndpointSelectorTest.cs b/test/Microsoft.AspNetCore.Routing.Tests/EndpointConstraints/EndpointConstraintEndpointSelectorTest.cs deleted file mode 100644 index 72bf124785..0000000000 --- a/test/Microsoft.AspNetCore.Routing.Tests/EndpointConstraints/EndpointConstraintEndpointSelectorTest.cs +++ /dev/null @@ -1,511 +0,0 @@ -// Copyright (c) .NET Foundation. All rights reserved. -// Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information. - -using System; -using System.Collections.Generic; -using System.Collections.ObjectModel; -using System.Linq; -using System.Threading.Tasks; -using Microsoft.AspNetCore.Http; -using Microsoft.AspNetCore.Routing.Matchers; -using Microsoft.AspNetCore.Routing.Patterns; -using Microsoft.Extensions.DependencyInjection; -using Microsoft.Extensions.Logging; -using Microsoft.Extensions.Logging.Abstractions; -using Microsoft.Extensions.Logging.Testing; -using Moq; -using Xunit; - -namespace Microsoft.AspNetCore.Routing.EndpointConstraints -{ - public class EndpointConstraintEndpointSelectorTest - { - [Fact] - public async Task SelectBestCandidate_MultipleEndpoints_BestMatchSelected() - { - // Arrange - var defaultEndpoint = CreateEndpoint("No constraint endpoint"); - - var postEndpoint = CreateEndpoint( - "POST constraint endpoint", - new HttpMethodEndpointConstraint(new[] { "POST" })); - - var endpoints = new[] - { - defaultEndpoint, - postEndpoint - }; - - var selector = CreateSelector(endpoints); - - var httpContext = new DefaultHttpContext(); - httpContext.Request.Method = "POST"; - - var feature = new EndpointFeature(); - - // Act - await selector.SelectAsync(httpContext, feature, CreateCandidateSet(endpoints)); - - // Assert - Assert.Same(postEndpoint, feature.Endpoint); - } - - [Fact] - public async Task SelectBestCandidate_MultipleEndpoints_AmbiguousMatchExceptionThrown() - { - // Arrange - var expectedMessage = - "The request matched multiple endpoints. Matches: " + Environment.NewLine + - Environment.NewLine + - "Ambiguous1" + Environment.NewLine + - "Ambiguous2"; - - var defaultEndpoint1 = CreateEndpoint("Ambiguous1"); - var defaultEndpoint2 = CreateEndpoint("Ambiguous2"); - - var endpoints = new[] - { - defaultEndpoint1, - defaultEndpoint2 - }; - - var selector = CreateSelector(endpoints); - - var httpContext = new DefaultHttpContext(); - httpContext.Request.Method = "POST"; - - var feature = new EndpointFeature(); - - // Act - var ex = await Assert.ThrowsAnyAsync(() => - { - return selector.SelectAsync(httpContext, feature, CreateCandidateSet(endpoints)); - }); - - // Assert - Assert.Equal(expectedMessage, ex.Message); - } - - [Fact] - public async Task SelectBestCandidate_AmbiguousEndpoints_LogIsCorrect() - { - // Arrange - var sink = new TestSink(); - var loggerFactory = new TestLoggerFactory(sink, enabled: true); - - var endpoints = new[] - { - CreateEndpoint("A1"), - CreateEndpoint("A2"), - }; - - var selector = CreateSelector(endpoints, loggerFactory); - - var httpContext = CreateHttpContext("POST"); - var feature = new EndpointFeature(); - - var names = string.Join(", ", endpoints.Select(action => action.DisplayName)); - var expectedMessage = - $"Request matched multiple endpoints for request path '/test'. " + - $"Matching endpoints: {names}"; - - // Act - await Assert.ThrowsAsync(() => - { - return selector.SelectAsync(httpContext, feature, CreateCandidateSet(endpoints)); - }); - - // Assert - Assert.Empty(sink.Scopes); - var write = Assert.Single(sink.Writes); - Assert.Equal(expectedMessage, write.State?.ToString()); - } - - [Fact] - public async Task SelectBestCandidate_PrefersEndpointWithConstraints() - { - // Arrange - var endpointWithConstraint = CreateEndpoint( - "Has constraint", - new HttpMethodEndpointConstraint(new string[] { "POST" })); - - var endpointWithoutConstraints = CreateEndpoint("No constraint"); - - var endpoints = new[] { endpointWithConstraint, endpointWithoutConstraints }; - - var selector = CreateSelector(endpoints); - var httpContext = CreateHttpContext("POST"); - var feature = new EndpointFeature(); - - // Act - await selector.SelectAsync(httpContext, feature, CreateCandidateSet(endpoints)); - - // Assert - Assert.Same(endpointWithConstraint, endpointWithConstraint); - } - - [Fact] - public async Task SelectBestCandidate_ConstraintsRejectAll() - { - // Arrange - var endpoint1 = CreateEndpoint( - "action1", - new BooleanConstraint() { Pass = false, }); - - var endpoint2 = CreateEndpoint( - "action2", - new BooleanConstraint() { Pass = false, }); - - var endpoints = new[] { endpoint1, endpoint2 }; - - var selector = CreateSelector(endpoints); - var httpContext = CreateHttpContext("POST"); - var feature = new EndpointFeature(); - - // Act - await selector.SelectAsync(httpContext, feature, CreateCandidateSet(endpoints)); - - // Assert - Assert.Null(feature.Endpoint); - } - - [Fact] - public async Task SelectBestCandidate_ConstraintsRejectAll_DifferentStages() - { - // Arrange - var endpoint1 = CreateEndpoint( - "action1", - new BooleanConstraint() { Pass = false, Order = 0 }, - new BooleanConstraint() { Pass = true, Order = 1 }); - - var endpoint2 = CreateEndpoint( - "action2", - new BooleanConstraint() { Pass = true, Order = 0 }, - new BooleanConstraint() { Pass = false, Order = 1 }); - - var endpoints = new[] { endpoint1, endpoint2 }; - - var selector = CreateSelector(endpoints); - var httpContext = CreateHttpContext("POST"); - var feature = new EndpointFeature(); - - // Act - await selector.SelectAsync(httpContext, feature, CreateCandidateSet(endpoints)); - - // Assert - Assert.Null(feature.Endpoint); - } - - [Fact] - public async Task SelectBestCandidate_EndpointConstraintFactory() - { - // Arrange - var endpointWithConstraints = CreateEndpoint( - "actionWithConstraints", - new ConstraintFactory() - { - Constraint = new BooleanConstraint() { Pass = true }, - }); - - var actionWithoutConstraints = CreateEndpoint("actionWithoutConstraints"); - - var endpoints = new[] { endpointWithConstraints, actionWithoutConstraints }; - - var selector = CreateSelector(endpoints); - var httpContext = CreateHttpContext("POST"); - var feature = new EndpointFeature(); - - // Act - await selector.SelectAsync(httpContext, feature, CreateCandidateSet(endpoints)); - - // Assert - Assert.Same(endpointWithConstraints, feature.Endpoint); - } - - [Fact] - public async Task SelectBestCandidate_MultipleCallsNoConstraint_ReturnsEndpoint() - { - // Arrange - var noConstraint = CreateEndpoint("noConstraint"); - - var endpoints = new[] { noConstraint }; - - var selector = CreateSelector(endpoints); - var httpContext = CreateHttpContext("POST"); - var feature = new EndpointFeature(); - - // Act - await selector.SelectAsync(httpContext, feature, CreateCandidateSet(endpoints)); - var endpoint1 = feature.Endpoint; - - await selector.SelectAsync(httpContext, feature, CreateCandidateSet(endpoints)); - var endpoint2 = feature.Endpoint; - - // Assert - Assert.Same(endpoint1, noConstraint); - Assert.Same(endpoint2, noConstraint); - } - - [Fact] - public async Task SelectBestCandidate_MultipleCallsNonConstraintMetadata_ReturnsEndpoint() - { - // Arrange - var noConstraint = CreateEndpoint("noConstraint", new object()); - - var endpoints = new[] { noConstraint }; - - var selector = CreateSelector(endpoints); - var httpContext = CreateHttpContext("POST"); - var feature = new EndpointFeature(); - - // Act - await selector.SelectAsync(httpContext, feature, CreateCandidateSet(endpoints)); - var endpoint1 = feature.Endpoint; - - await selector.SelectAsync(httpContext, feature, CreateCandidateSet(endpoints)); - var endpoint2 = feature.Endpoint; - - // Assert - Assert.Same(endpoint1, noConstraint); - Assert.Same(endpoint2, noConstraint); - } - - [Fact] - public async Task SelectBestCandidate_EndpointConstraintFactory_ReturnsNull() - { - // Arrange - var nullConstraint = CreateEndpoint("nullConstraint", new ConstraintFactory()); - - var endpoints = new[] { nullConstraint }; - - var selector = CreateSelector(endpoints); - var httpContext = CreateHttpContext("POST"); - var feature = new EndpointFeature(); - - // Act - await selector.SelectAsync(httpContext, feature, CreateCandidateSet(endpoints)); - var endpoint1 = feature.Endpoint; - - await selector.SelectAsync(httpContext, feature, CreateCandidateSet(endpoints)); - var endpoint2 = feature.Endpoint; - - // Assert - Assert.Same(endpoint1, nullConstraint); - Assert.Same(endpoint2, nullConstraint); - } - - // There's a custom constraint provider registered that only understands BooleanConstraintMarker - [Fact] - public async Task SelectBestCandidate_CustomProvider() - { - // Arrange - var endpointWithConstraints = CreateEndpoint( - "actionWithConstraints", - new BooleanConstraintMarker() { Pass = true }); - - var endpointWithoutConstraints = CreateEndpoint("actionWithoutConstraints"); - - var endpoints = new[] { endpointWithConstraints, endpointWithoutConstraints, }; - - var selector = CreateSelector(endpoints); - var httpContext = CreateHttpContext("POST"); - var feature = new EndpointFeature(); - - // Act - await selector.SelectAsync(httpContext, feature, CreateCandidateSet(endpoints)); - - // Assert - Assert.Same(endpointWithConstraints, feature.Endpoint); - } - - // Due to ordering of stages, the first action will be better. - [Fact] - public async Task SelectBestCandidate_ConstraintsInOrder() - { - // Arrange - var best = CreateEndpoint("best", new BooleanConstraint() { Pass = true, Order = 0, }); - - var worst = CreateEndpoint("worst", new BooleanConstraint() { Pass = true, Order = 1, }); - - var endpoints = new[] { best, worst }; - - var selector = CreateSelector(endpoints); - var httpContext = CreateHttpContext("POST"); - var feature = new EndpointFeature(); - - // Act - await selector.SelectAsync(httpContext, feature, CreateCandidateSet(endpoints)); - - // Assert - Assert.Same(best, feature.Endpoint); - } - - // Due to ordering of stages, the first action will be better. - [Fact] - public async Task SelectBestCandidate_ConstraintsInOrder_MultipleStages() - { - // Arrange - var best = CreateEndpoint( - "best", - new BooleanConstraint() { Pass = true, Order = 0, }, - new BooleanConstraint() { Pass = true, Order = 1, }, - new BooleanConstraint() { Pass = true, Order = 2, }); - - var worst = CreateEndpoint( - "worst", - new BooleanConstraint() { Pass = true, Order = 0, }, - new BooleanConstraint() { Pass = true, Order = 1, }, - new BooleanConstraint() { Pass = true, Order = 3, }); - - var endpoints = new[] { best, worst }; - - var selector = CreateSelector(endpoints); - var httpContext = CreateHttpContext("POST"); - var feature = new EndpointFeature(); - - // Act - await selector.SelectAsync(httpContext, feature, CreateCandidateSet(endpoints)); - - // Assert - Assert.Same(best, feature.Endpoint); - } - - [Fact] - public async Task SelectBestCandidate_Fallback_ToEndpointWithoutConstraints() - { - // Arrange - var nomatch1 = CreateEndpoint( - "nomatch1", - new BooleanConstraint() { Pass = true, Order = 0, }, - new BooleanConstraint() { Pass = true, Order = 1, }, - new BooleanConstraint() { Pass = false, Order = 2, }); - - var nomatch2 = CreateEndpoint( - "nomatch2", - new BooleanConstraint() { Pass = true, Order = 0, }, - new BooleanConstraint() { Pass = true, Order = 1, }, - new BooleanConstraint() { Pass = false, Order = 3, }); - - var best = CreateEndpoint("best"); - - var endpoints = new[] { best, nomatch1, nomatch2 }; - - var selector = CreateSelector(endpoints); - var httpContext = CreateHttpContext("POST"); - var feature = new EndpointFeature(); - - // Act - await selector.SelectAsync(httpContext, feature, CreateCandidateSet(endpoints)); - - // Assert - Assert.Same(best, feature.Endpoint); - } - - private static MatcherEndpoint CreateEndpoint(string displayName, params object[] metadata) - { - return new MatcherEndpoint( - MatcherEndpoint.EmptyInvoker, - RoutePatternFactory.Parse("/"), - new RouteValueDictionary(), - 0, - new EndpointMetadataCollection(metadata), - displayName); - } - - private static CandidateSet CreateCandidateSet(MatcherEndpoint[] endpoints) - { - var scores = new int[endpoints.Length]; - return new CandidateSet(endpoints, scores); - } - - private static EndpointSelector CreateSelector(IReadOnlyList actions, ILoggerFactory loggerFactory = null) - { - loggerFactory = loggerFactory ?? NullLoggerFactory.Instance; - - var endpointDataSource = new CompositeEndpointDataSource(new[] { new DefaultEndpointDataSource(actions) }); - - var actionConstraintProviders = new IEndpointConstraintProvider[] { - new DefaultEndpointConstraintProvider(), - new BooleanConstraintProvider(), - }; - - return new EndpointConstraintEndpointSelector( - endpointDataSource, - GetEndpointConstraintCache(actionConstraintProviders), - loggerFactory); - } - - private static HttpContext CreateHttpContext(string httpMethod) - { - var serviceProvider = new ServiceCollection().BuildServiceProvider(); - - var httpContext = new Mock(MockBehavior.Strict); - - var request = new Mock(MockBehavior.Strict); - request.SetupGet(r => r.Method).Returns(httpMethod); - request.SetupGet(r => r.Path).Returns(new PathString("/test")); - request.SetupGet(r => r.Headers).Returns(new HeaderDictionary()); - httpContext.SetupGet(c => c.Request).Returns(request.Object); - httpContext.SetupGet(c => c.RequestServices).Returns(serviceProvider); - - return httpContext.Object; - } - - private static EndpointConstraintCache GetEndpointConstraintCache(IEndpointConstraintProvider[] actionConstraintProviders = null) - { - return new EndpointConstraintCache( - new CompositeEndpointDataSource(Array.Empty()), - actionConstraintProviders.AsEnumerable() ?? new List()); - } - - private class BooleanConstraint : IEndpointConstraint - { - public bool Pass { get; set; } - - public int Order { get; set; } - - public bool Accept(EndpointConstraintContext context) - { - return Pass; - } - } - - private class ConstraintFactory : IEndpointConstraintFactory - { - public IEndpointConstraint Constraint { get; set; } - - public bool IsReusable => true; - - public IEndpointConstraint CreateInstance(IServiceProvider services) - { - return Constraint; - } - } - - private class BooleanConstraintMarker : IEndpointConstraintMetadata - { - public bool Pass { get; set; } - } - - private class BooleanConstraintProvider : IEndpointConstraintProvider - { - public int Order { get; set; } - - public void OnProvidersExecuting(EndpointConstraintProviderContext context) - { - foreach (var item in context.Results) - { - if (item.Metadata is BooleanConstraintMarker marker) - { - Assert.Null(item.Constraint); - item.Constraint = new BooleanConstraint() { Pass = marker.Pass }; - } - } - } - - public void OnProvidersExecuted(EndpointConstraintProviderContext context) - { - } - } - } -} diff --git a/test/Microsoft.AspNetCore.Routing.Tests/Matchers/DefaultEndpointSelectorTest.cs b/test/Microsoft.AspNetCore.Routing.Tests/Matchers/DefaultEndpointSelectorTest.cs index 13d6ff86e9..a1a71cccd8 100644 --- a/test/Microsoft.AspNetCore.Routing.Tests/Matchers/DefaultEndpointSelectorTest.cs +++ b/test/Microsoft.AspNetCore.Routing.Tests/Matchers/DefaultEndpointSelectorTest.cs @@ -4,6 +4,7 @@ using System.Threading.Tasks; using Microsoft.AspNetCore.Http; using Microsoft.AspNetCore.Routing.Patterns; +using Moq; using Xunit; namespace Microsoft.AspNetCore.Routing.Matchers @@ -174,6 +175,37 @@ test: /test3", ex.Message); Assert.Null(feature.Endpoint); } + [Fact] + public async Task SelectAsync_RunsEndpointSelectorPolicies() + { + // Arrange + var endpoints = new MatcherEndpoint[] { CreateEndpoint("/test1"), CreateEndpoint("/test2"), CreateEndpoint("/test3"), }; + var scores = new int[] { 0, 0, 1 }; + var candidateSet = CreateCandidateSet(endpoints, scores); + + var policy = new Mock(); + policy + .As() + .Setup(p => p.Apply(It.IsAny(), It.IsAny())) + .Callback((c, cs) => + { + cs[1].IsValidCandidate = false; + }); + + candidateSet[0].IsValidCandidate = false; + candidateSet[1].IsValidCandidate = true; + candidateSet[2].IsValidCandidate = true; + + var (httpContext, feature) = CreateContext(); + var selector = CreateSelector(policy.Object); + + // Act + await selector.SelectAsync(httpContext, feature, candidateSet); + + // Assert + Assert.Same(endpoints[2], feature.Endpoint); + } + private static (HttpContext httpContext, IEndpointFeature feature) CreateContext() { return (new DefaultHttpContext(), new EndpointFeature()); @@ -195,9 +227,9 @@ test: /test3", ex.Message); return new CandidateSet(endpoints, scores); } - private static DefaultEndpointSelector CreateSelector() + private static DefaultEndpointSelector CreateSelector(params MatcherPolicy[] policies) { - return new DefaultEndpointSelector(); + return new DefaultEndpointSelector(policies); } } } diff --git a/test/Microsoft.AspNetCore.Routing.Tests/Matchers/RouteMatcherBuilder.cs b/test/Microsoft.AspNetCore.Routing.Tests/Matchers/RouteMatcherBuilder.cs index a57eea4387..a1c621826f 100644 --- a/test/Microsoft.AspNetCore.Routing.Tests/Matchers/RouteMatcherBuilder.cs +++ b/test/Microsoft.AspNetCore.Routing.Tests/Matchers/RouteMatcherBuilder.cs @@ -5,9 +5,7 @@ using System; using System.Collections.Generic; using System.Linq; using System.Threading.Tasks; -using Microsoft.AspNetCore.Routing.EndpointConstraints; using Microsoft.AspNetCore.Routing.Patterns; -using Microsoft.Extensions.Logging.Abstractions; using Microsoft.Extensions.Options; namespace Microsoft.AspNetCore.Routing.Matchers @@ -30,10 +28,7 @@ namespace Microsoft.AspNetCore.Routing.Matchers public override Matcher Build() { - var cache = new EndpointConstraintCache( - new CompositeEndpointDataSource(Array.Empty()), - new[] { new DefaultEndpointConstraintProvider(), }); - var selector = new EndpointConstraintEndpointSelector(null, cache, NullLoggerFactory.Instance); + var selector = new DefaultEndpointSelector(Array.Empty()); var groups = _endpoints .GroupBy(e => (e.Order, e.RoutePattern.InboundPrecedence, e.RoutePattern.RawText)) diff --git a/test/Microsoft.AspNetCore.Routing.Tests/Matchers/TreeRouterMatcherBuilder.cs b/test/Microsoft.AspNetCore.Routing.Tests/Matchers/TreeRouterMatcherBuilder.cs index 949b0a7df2..6b19d353cf 100644 --- a/test/Microsoft.AspNetCore.Routing.Tests/Matchers/TreeRouterMatcherBuilder.cs +++ b/test/Microsoft.AspNetCore.Routing.Tests/Matchers/TreeRouterMatcherBuilder.cs @@ -5,7 +5,6 @@ using System; using System.Collections.Generic; using System.Linq; using System.Threading.Tasks; -using Microsoft.AspNetCore.Routing.EndpointConstraints; using Microsoft.AspNetCore.Routing.Internal; using Microsoft.AspNetCore.Routing.Template; using Microsoft.AspNetCore.Routing.Tree; @@ -36,10 +35,7 @@ namespace Microsoft.AspNetCore.Routing.Matchers new DefaultObjectPool(new UriBuilderContextPooledObjectPolicy()), new DefaultInlineConstraintResolver(Options.Create(new RouteOptions()))); - var cache = new EndpointConstraintCache( - new CompositeEndpointDataSource(Array.Empty()), - new[] { new DefaultEndpointConstraintProvider(), }); - var selector = new EndpointConstraintEndpointSelector(null, cache, NullLoggerFactory.Instance); + var selector = new DefaultEndpointSelector(Array.Empty()); var groups = _endpoints .GroupBy(e => (e.Order, e.RoutePattern.InboundPrecedence, e.RoutePattern.RawText)) From 865d19652ca2470004645a3bfb54cf5c9b55fc24 Mon Sep 17 00:00:00 2001 From: "ASP.NET CI" Date: Sun, 29 Jul 2018 12:24:51 -0700 Subject: [PATCH 105/221] Update dependencies.props [auto-updated: dependencies] --- build/dependencies.props | 59 ++++++++++++++++++++-------------------- korebuild-lock.txt | 4 +-- 2 files changed, 32 insertions(+), 31 deletions(-) diff --git a/build/dependencies.props b/build/dependencies.props index 5fc7fe9aad..252281f058 100644 --- a/build/dependencies.props +++ b/build/dependencies.props @@ -4,33 +4,33 @@ 0.10.13 - 2.2.0-preview1-17099 - 2.2.0-preview1-34784 - 2.2.0-preview1-34784 - 2.2.0-preview1-34784 - 2.2.0-preview1-34784 - 2.2.0-preview1-34784 - 2.2.0-preview1-34784 - 2.2.0-preview1-34784 - 2.2.0-preview1-34784 - 2.2.0-preview1-34784 - 2.2.0-preview1-34784 - 2.2.0-preview1-34784 - 2.2.0-preview1-34784 - 2.2.0-preview1-34784 - 2.2.0-preview1-34784 - 2.2.0-preview1-34784 - 2.2.0-preview1-34784 - 2.2.0-preview1-34784 - 2.2.0-preview1-34784 - 2.2.0-preview1-34784 - 2.2.0-preview1-34784 - 2.2.0-preview1-34784 - 2.2.0-preview1-34784 - 2.2.0-preview1-34784 - 2.2.0-preview1-34784 - 2.2.0-preview1-34784 - 2.2.0-preview1-34784 + 2.2.0-preview1-17102 + 2.2.0-preview1-34823 + 2.2.0-preview1-34823 + 2.2.0-preview1-34823 + 2.2.0-preview1-34823 + 2.2.0-preview1-34823 + 2.2.0-preview1-34823 + 2.2.0-preview1-34823 + 2.2.0-preview1-34823 + 2.2.0-preview1-34823 + 2.2.0-preview1-34823 + 2.2.0-preview1-34823 + 2.2.0-preview1-34823 + 2.2.0-preview1-34823 + 2.2.0-preview1-34823 + 2.2.0-preview1-34823 + 2.2.0-preview1-34823 + 2.2.0-preview1-34823 + 2.2.0-preview1-34823 + 2.2.0-preview1-34823 + 2.2.0-preview1-34823 + 2.2.0-preview1-34823 + 2.2.0-preview1-34823 + 2.2.0-preview1-34823 + 2.2.0-preview1-34823 + 2.2.0-preview1-34823 + 2.2.0-preview1-34823 2.0.9 2.1.2 2.2.0-preview1-26618-02 @@ -38,9 +38,10 @@ 4.7.49 2.0.3 11.0.2 - 0.9.0 + 0.10.0 2.3.1 - 2.4.0-rc.1.build4038 + 2.4.0 + diff --git a/korebuild-lock.txt b/korebuild-lock.txt index 27e2e80f9a..6b8da29e6b 100644 --- a/korebuild-lock.txt +++ b/korebuild-lock.txt @@ -1,2 +1,2 @@ -version:2.2.0-preview1-17099 -commithash:263ed1db9866b6b419b1f5d5189a712aa218acb3 +version:2.2.0-preview1-17102 +commithash:e7e2b5a97ca92cfc6acc4def534cb0901a6d1eb9 From f62877b9dbc61835328528a4fdc4d7296262c7e0 Mon Sep 17 00:00:00 2001 From: Kiran Challa Date: Tue, 31 Jul 2018 12:38:58 -0700 Subject: [PATCH 106/221] Show default values in CompositeEndpointDataSource's debugger display string --- .../CompositeEndpointDataSource.cs | 20 +++++++++++++++++-- 1 file changed, 18 insertions(+), 2 deletions(-) diff --git a/src/Microsoft.AspNetCore.Routing/CompositeEndpointDataSource.cs b/src/Microsoft.AspNetCore.Routing/CompositeEndpointDataSource.cs index 2b4912a086..acf8f0304c 100644 --- a/src/Microsoft.AspNetCore.Routing/CompositeEndpointDataSource.cs +++ b/src/Microsoft.AspNetCore.Routing/CompositeEndpointDataSource.cs @@ -127,9 +127,11 @@ namespace Microsoft.AspNetCore.Routing var template = matcherEndpoint.RoutePattern.RawText; template = string.IsNullOrEmpty(template) ? "\"\"" : template; sb.Append(template); - var requiredValues = matcherEndpoint.RequiredValues.Select(kvp => $"{kvp.Key} = \"{kvp.Value ?? "null"}\""); sb.Append(", Required Values: new { "); - sb.Append(string.Join(", ", requiredValues)); + sb.Append(string.Join(", ", GetValues(matcherEndpoint.RequiredValues))); + sb.Append(" }"); + sb.Append(", Defaults: new { "); + sb.Append(string.Join(", ", GetValues(matcherEndpoint.RoutePattern.Defaults))); sb.Append(" }"); sb.Append(", Order:"); sb.Append(matcherEndpoint.Order); @@ -150,6 +152,20 @@ namespace Microsoft.AspNetCore.Routing } } return sb.ToString(); + + IEnumerable GetValues(IEnumerable> values) + { + return values.Select( + kvp => + { + var value = "null"; + if (kvp.Value != null) + { + value = "\"" + kvp.Value.ToString() + "\""; + } + return kvp.Key + " = " + value; + }); + } } } } From ef2c127459c7bfabd4098f0c54661031d42d356a Mon Sep 17 00:00:00 2001 From: Kiran Challa Date: Tue, 31 Jul 2018 13:50:29 -0700 Subject: [PATCH 107/221] Show route name --- .../CompositeEndpointDataSource.cs | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/src/Microsoft.AspNetCore.Routing/CompositeEndpointDataSource.cs b/src/Microsoft.AspNetCore.Routing/CompositeEndpointDataSource.cs index acf8f0304c..fd12ff706d 100644 --- a/src/Microsoft.AspNetCore.Routing/CompositeEndpointDataSource.cs +++ b/src/Microsoft.AspNetCore.Routing/CompositeEndpointDataSource.cs @@ -133,7 +133,10 @@ namespace Microsoft.AspNetCore.Routing sb.Append(", Defaults: new { "); sb.Append(string.Join(", ", GetValues(matcherEndpoint.RoutePattern.Defaults))); sb.Append(" }"); - sb.Append(", Order:"); + var routeNameMetadata = matcherEndpoint.Metadata.GetMetadata(); + sb.Append(", Route Name: "); + sb.Append(routeNameMetadata?.Name); + sb.Append(", Order: "); sb.Append(matcherEndpoint.Order); var httpMethodMetadata = matcherEndpoint.Metadata.GetMetadata(); @@ -142,7 +145,8 @@ namespace Microsoft.AspNetCore.Routing sb.Append(", Http Methods: "); sb.Append(string.Join(", ", httpMethodMetadata.HttpMethods)); } - + sb.Append(", Display Name: "); + sb.Append(matcherEndpoint.DisplayName); sb.AppendLine(); } else From 85c7bd8fac801ba8ad9a00418034ab86f5f21482 Mon Sep 17 00:00:00 2001 From: Kiran Challa Date: Fri, 27 Jul 2018 05:09:14 -0700 Subject: [PATCH 108/221] Discard ambient values during link generation if the values do not match explicit values [Fixes #544] Link generation: Discard ambient values unless routing to the same address --- .../DefaultLinkGenerator.cs | 4 +- .../Template/TemplateBinder.cs | 381 +++++++++----- .../DefaultLinkGeneratorTest.cs | 491 ++++++++++++++---- .../EndpointFactory.cs | 35 ++ 4 files changed, 656 insertions(+), 255 deletions(-) create mode 100644 test/Microsoft.AspNetCore.Routing.Tests/EndpointFactory.cs diff --git a/src/Microsoft.AspNetCore.Routing/DefaultLinkGenerator.cs b/src/Microsoft.AspNetCore.Routing/DefaultLinkGenerator.cs index 73ccbe092a..0d7df72432 100644 --- a/src/Microsoft.AspNetCore.Routing/DefaultLinkGenerator.cs +++ b/src/Microsoft.AspNetCore.Routing/DefaultLinkGenerator.cs @@ -92,7 +92,9 @@ namespace Microsoft.AspNetCore.Routing var templateValuesResult = templateBinder.GetValues( ambientValues: context.AmbientValues, - values: context.ExplicitValues); + explicitValues: context.ExplicitValues, + endpoint.RequiredValues.Keys); + if (templateValuesResult == null) { // We're missing one of the required values for this route. diff --git a/src/Microsoft.AspNetCore.Routing/Template/TemplateBinder.cs b/src/Microsoft.AspNetCore.Routing/Template/TemplateBinder.cs index 241705523b..f4dacc09d0 100644 --- a/src/Microsoft.AspNetCore.Routing/Template/TemplateBinder.cs +++ b/src/Microsoft.AspNetCore.Routing/Template/TemplateBinder.cs @@ -3,6 +3,7 @@ using System; using System.Collections; +using System.Collections.Generic; using System.Diagnostics; using System.Globalization; using System.Text.Encodings.Web; @@ -64,157 +65,71 @@ namespace Microsoft.AspNetCore.Routing.Template // Step 1: Get the list of values we're going to try to use to match and generate this URI public TemplateValuesResult GetValues(RouteValueDictionary ambientValues, RouteValueDictionary values) + { + return GetValues(ambientValues: ambientValues, explicitValues: values, requiredKeys: null); + } + + internal TemplateValuesResult GetValues( + RouteValueDictionary ambientValues, + RouteValueDictionary explicitValues, + IEnumerable requiredKeys) { var context = new TemplateBindingContext(_defaults); - // Find out which entries in the URI are valid for the URI we want to generate. - // If the URI had ordered parameters a="1", b="2", c="3" and the new values - // specified that b="9", then we need to invalidate everything after it. The new - // values should then be a="1", b="9", c=. - // - // We also handle the case where a parameter is optional but has no value - we shouldn't - // accept additional parameters that appear *after* that parameter. - for (var i = 0; i < _template.Parameters.Count; i++) + var canCopyParameterAmbientValues = true; + + // In case a route template is not parameterized, we do not know what the required parameters are, so look + // at required values of an endpoint to get the key names and then use them to decide if ambient values + // should be used. + // For example, in case of MVC it flattens out a route template like below + // {controller}/{action}/{id?} + // to + // Products/Index/{id?}, + // defaults: new { controller = "Products", action = "Index" }, + // requiredValues: new { controller = "Products", action = "Index" } + // In the above example, "controller" and "action" are no longer parameters. + if (requiredKeys != null) { - var parameter = _template.Parameters[i]; + canCopyParameterAmbientValues = CanCopyParameterAmbientValues( + ambientValues: ambientValues, + explicitValues: explicitValues, + requiredKeys); + } - // If it's a parameter subsegment, examine the current value to see if it matches the new value - var parameterName = parameter.Name; - - object newParameterValue; - var hasNewParameterValue = values.TryGetValue(parameterName, out newParameterValue); - - object currentParameterValue = null; - var hasCurrentParameterValue = ambientValues != null && - ambientValues.TryGetValue(parameterName, out currentParameterValue); - - if (hasNewParameterValue && hasCurrentParameterValue) - { - if (!RoutePartsEqual(currentParameterValue, newParameterValue)) - { - // Stop copying current values when we find one that doesn't match - break; - } - } - - if (!hasNewParameterValue && - !hasCurrentParameterValue && - _defaults?.ContainsKey(parameter.Name) != true) - { - // This is an unsatisfied parameter value and there are no defaults. We might still - // be able to generate a URL but we should stop 'accepting' ambient values. - // - // This might be a case like: - // template: a/{b?}/{c?} - // ambient: { c = 17 } - // values: { } - // - // We can still generate a URL from this ("/a") but we shouldn't accept 'c' because - // we can't use it. - // - // In the example above we should fall into this block for 'b'. - break; - } - - // If the parameter is a match, add it to the list of values we will use for URI generation - if (hasNewParameterValue) - { - if (IsRoutePartNonEmpty(newParameterValue)) - { - context.Accept(parameterName, newParameterValue); - } - } - else - { - if (hasCurrentParameterValue) - { - context.Accept(parameterName, currentParameterValue); - } - } + if (canCopyParameterAmbientValues) + { + // Copy ambient values when no explicit values are provided + CopyParameterAmbientValues( + ambientValues: ambientValues, + explicitValues: explicitValues, + context); } // Add all remaining new values to the list of values we will use for URI generation - foreach (var kvp in values) - { - if (IsRoutePartNonEmpty(kvp.Value)) - { - context.Accept(kvp.Key, kvp.Value); - } - } + CopyNonParamaterExplicitValues(explicitValues, context); // Accept all remaining default values if they match a required parameter - for (var i = 0; i < _template.Parameters.Count; i++) + CopyParameterDefaultValues(context); + + if (!AllRequiredParametersHaveValue(context)) { - var parameter = _template.Parameters[i]; - if (parameter.IsOptional || parameter.IsCatchAll) - { - continue; - } - - if (context.NeedsValue(parameter.Name)) - { - // Add the default value only if there isn't already a new value for it and - // only if it actually has a default value, which we determine based on whether - // the parameter value is required. - context.AcceptDefault(parameter.Name); - } - } - - // Validate that all required parameters have a value. - for (var i = 0; i < _template.Parameters.Count; i++) - { - var parameter = _template.Parameters[i]; - if (parameter.IsOptional || parameter.IsCatchAll) - { - continue; - } - - if (!context.AcceptedValues.ContainsKey(parameter.Name)) - { - // We don't have a value for this parameter, so we can't generate a url. - return null; - } + return null; } // Any default values that don't appear as parameters are treated like filters. Any new values // provided must match these defaults. - foreach (var filter in _filters) + if (!FiltersMatch(explicitValues)) { - var parameter = GetParameter(filter.Key); - if (parameter != null) - { - continue; - } - - object value; - if (values.TryGetValue(filter.Key, out value)) - { - if (!RoutePartsEqual(value, filter.Value)) - { - // If there is a non-parameterized value in the route and there is a - // new value for it and it doesn't match, this route won't match. - return null; - } - } + return null; } // Add any ambient values that don't match parameters - they need to be visible to constraints // but they will ignored by link generation. var combinedValues = new RouteValueDictionary(context.AcceptedValues); - if (ambientValues != null) - { - foreach (var kvp in ambientValues) - { - if (IsRoutePartNonEmpty(kvp.Value)) - { - var parameter = GetParameter(kvp.Key); - if (parameter == null && !context.AcceptedValues.ContainsKey(kvp.Key)) - { - combinedValues.Add(kvp.Key, kvp.Value); - } - } - } - } + CopyNonParameterAmbientValues( + ambientValues: ambientValues, + combinedValues: combinedValues, + context); return new TemplateValuesResult() { @@ -255,21 +170,18 @@ namespace Microsoft.AspNetCore.Routing.Template else if (part.IsParameter) { // If it's a parameter, get its value - object value; - var hasValue = acceptedValues.TryGetValue(part.Name, out value); + var hasValue = acceptedValues.TryGetValue(part.Name, out var value); if (hasValue) { acceptedValues.Remove(part.Name); } var isSameAsDefault = false; - object defaultValue; - if (_defaults != null && _defaults.TryGetValue(part.Name, out defaultValue)) + if (_defaults != null && + _defaults.TryGetValue(part.Name, out var defaultValue) && + RoutePartsEqual(value, defaultValue)) { - if (RoutePartsEqual(value, defaultValue)) - { - isSameAsDefault = true; - } + isSameAsDefault = true; } var converted = Convert.ToString(value, CultureInfo.InvariantCulture); @@ -414,6 +326,196 @@ namespace Microsoft.AspNetCore.Routing.Template } } + private bool CanCopyParameterAmbientValues( + RouteValueDictionary ambientValues, + RouteValueDictionary explicitValues, + IEnumerable requiredKeys) + { + foreach (var keyName in requiredKeys) + { + if (!explicitValues.TryGetValue(keyName, out var explicitValue)) + { + continue; + } + + object ambientValue = null; + var hasAmbientValue = ambientValues != null && + ambientValues.TryGetValue(keyName, out ambientValue); + + // This indicates an explicit value was provided whose key does not exist in ambient values + // Example: Link from controller-action to a page or vice versa. + if (!hasAmbientValue) + { + return false; + } + + if (!RoutePartsEqual(ambientValue, explicitValue)) + { + return false; + } + } + return true; + } + + private void CopyParameterAmbientValues( + RouteValueDictionary ambientValues, + RouteValueDictionary explicitValues, + TemplateBindingContext context) + { + // Find out which entries in the URI are valid for the URI we want to generate. + // If the URI had ordered parameters a="1", b="2", c="3" and the new values + // specified that b="9", then we need to invalidate everything after it. The new + // values should then be a="1", b="9", c=. + // + // We also handle the case where a parameter is optional but has no value - we shouldn't + // accept additional parameters that appear *after* that parameter. + + for (var i = 0; i < _template.Parameters.Count; i++) + { + var parameter = _template.Parameters[i]; + + // If it's a parameter subsegment, examine the current value to see if it matches the new value + var parameterName = parameter.Name; + + var hasExplicitValue = explicitValues.TryGetValue(parameterName, out var explicitValue); + + object ambientValue = null; + var hasAmbientValue = ambientValues != null && + ambientValues.TryGetValue(parameterName, out ambientValue); + + if (hasExplicitValue && hasAmbientValue && !RoutePartsEqual(ambientValue, explicitValue)) + { + // Stop copying current values when we find one that doesn't match + break; + } + + if (!hasExplicitValue && + !hasAmbientValue && + _defaults?.ContainsKey(parameter.Name) != true) + { + // This is an unsatisfied parameter value and there are no defaults. We might still + // be able to generate a URL but we should stop 'accepting' ambient values. + // + // This might be a case like: + // template: a/{b?}/{c?} + // ambient: { c = 17 } + // values: { } + // + // We can still generate a URL from this ("/a") but we shouldn't accept 'c' because + // we can't use it. + // + // In the example above we should fall into this block for 'b'. + break; + } + + // If the parameter is a match, add it to the list of values we will use for URI generation + if (hasExplicitValue) + { + if (IsRoutePartNonEmpty(explicitValue)) + { + context.Accept(parameterName, explicitValue); + } + } + else if (hasAmbientValue) + { + context.Accept(parameterName, ambientValue); + } + } + } + + private void CopyNonParamaterExplicitValues(RouteValueDictionary explicitValues, TemplateBindingContext context) + { + foreach (var kvp in explicitValues) + { + if (IsRoutePartNonEmpty(kvp.Value)) + { + context.Accept(kvp.Key, kvp.Value); + } + } + } + + private void CopyParameterDefaultValues(TemplateBindingContext context) + { + for (var i = 0; i < _template.Parameters.Count; i++) + { + var parameter = _template.Parameters[i]; + if (parameter.IsOptional || parameter.IsCatchAll) + { + continue; + } + + if (context.NeedsValue(parameter.Name)) + { + // Add the default value only if there isn't already a new value for it and + // only if it actually has a default value, which we determine based on whether + // the parameter value is required. + context.AcceptDefault(parameter.Name); + } + } + } + + private bool AllRequiredParametersHaveValue(TemplateBindingContext context) + { + for (var i = 0; i < _template.Parameters.Count; i++) + { + var parameter = _template.Parameters[i]; + if (parameter.IsOptional || parameter.IsCatchAll) + { + continue; + } + + if (!context.AcceptedValues.ContainsKey(parameter.Name)) + { + // We don't have a value for this parameter, so we can't generate a url. + return false; + } + } + return true; + } + + private bool FiltersMatch(RouteValueDictionary explicitValues) + { + foreach (var filter in _filters) + { + var parameter = GetParameter(filter.Key); + if (parameter != null) + { + continue; + } + + if (explicitValues.TryGetValue(filter.Key, out var value) && !RoutePartsEqual(value, filter.Value)) + { + // If there is a non-parameterized value in the route and there is a + // new value for it and it doesn't match, this route won't match. + return false; + } + } + return true; + } + + private void CopyNonParameterAmbientValues( + RouteValueDictionary ambientValues, + RouteValueDictionary combinedValues, + TemplateBindingContext context) + { + if (ambientValues == null) + { + return; + } + + foreach (var kvp in ambientValues) + { + if (IsRoutePartNonEmpty(kvp.Value)) + { + var parameter = GetParameter(kvp.Key); + if (parameter == null && !context.AcceptedValues.ContainsKey(kvp.Key)) + { + combinedValues.Add(kvp.Key, kvp.Value); + } + } + } + } + [DebuggerDisplay("{DebuggerToString(),nq}")] private struct TemplateBindingContext { @@ -444,8 +546,7 @@ namespace Microsoft.AspNetCore.Routing.Template { Debug.Assert(!_acceptedValues.ContainsKey(key)); - object value; - if (_defaults != null && _defaults.TryGetValue(key, out value)) + if (_defaults != null && _defaults.TryGetValue(key, out var value)) { _acceptedValues.Add(key, value); } diff --git a/test/Microsoft.AspNetCore.Routing.Tests/DefaultLinkGeneratorTest.cs b/test/Microsoft.AspNetCore.Routing.Tests/DefaultLinkGeneratorTest.cs index 0321c730f2..d74d2eff48 100644 --- a/test/Microsoft.AspNetCore.Routing.Tests/DefaultLinkGeneratorTest.cs +++ b/test/Microsoft.AspNetCore.Routing.Tests/DefaultLinkGeneratorTest.cs @@ -9,7 +9,6 @@ using Microsoft.AspNetCore.Routing.Constraints; using Microsoft.AspNetCore.Routing.EndpointFinders; using Microsoft.AspNetCore.Routing.Internal; using Microsoft.AspNetCore.Routing.Matchers; -using Microsoft.AspNetCore.Routing.Patterns; using Microsoft.AspNetCore.Routing.TestObjects; using Microsoft.Extensions.Logging.Abstractions; using Microsoft.Extensions.ObjectPool; @@ -25,7 +24,7 @@ namespace Microsoft.AspNetCore.Routing public void GetLink_Success() { // Arrange - var endpoint = CreateEndpoint("{controller}"); + var endpoint = EndpointFactory.CreateMatcherEndpoint("{controller}"); var linkGenerator = CreateLinkGenerator(); var context = CreateRouteValuesContext(new { controller = "Home" }); @@ -47,7 +46,7 @@ namespace Microsoft.AspNetCore.Routing { // Arrange var expectedMessage = "Could not find a matching endpoint to generate a link."; - var endpoint = CreateEndpoint("{controller}/{action}"); + var endpoint = EndpointFactory.CreateMatcherEndpoint("{controller}/{action}"); var linkGenerator = CreateLinkGenerator(); var context = CreateRouteValuesContext(new { controller = "Home" }); @@ -67,7 +66,7 @@ namespace Microsoft.AspNetCore.Routing public void TryGetLink_Fail() { // Arrange - var endpoint = CreateEndpoint("{controller}/{action}"); + var endpoint = EndpointFactory.CreateMatcherEndpoint("{controller}/{action}"); var linkGenerator = CreateLinkGenerator(); var context = CreateRouteValuesContext(new { controller = "Home" }); @@ -90,9 +89,9 @@ namespace Microsoft.AspNetCore.Routing public void GetLink_MultipleEndpoints_Success() { // Arrange - var endpoint1 = CreateEndpoint("{controller}/{action}/{id?}"); - var endpoint2 = CreateEndpoint("{controller}/{action}"); - var endpoint3 = CreateEndpoint("{controller}"); + var endpoint1 = EndpointFactory.CreateMatcherEndpoint("{controller}/{action}/{id?}"); + var endpoint2 = EndpointFactory.CreateMatcherEndpoint("{controller}/{action}"); + var endpoint3 = EndpointFactory.CreateMatcherEndpoint("{controller}"); var linkGenerator = CreateLinkGenerator(); var context = CreateRouteValuesContext(new { controller = "Home", action = "Index", id = "10" }); @@ -113,9 +112,9 @@ namespace Microsoft.AspNetCore.Routing public void GetLink_MultipleEndpoints_Success2() { // Arrange - var endpoint1 = CreateEndpoint("{controller}/{action}/{id}"); - var endpoint2 = CreateEndpoint("{controller}/{action}"); - var endpoint3 = CreateEndpoint("{controller}"); + var endpoint1 = EndpointFactory.CreateMatcherEndpoint("{controller}/{action}/{id}"); + var endpoint2 = EndpointFactory.CreateMatcherEndpoint("{controller}/{action}"); + var endpoint3 = EndpointFactory.CreateMatcherEndpoint("{controller}"); var linkGenerator = CreateLinkGenerator(); var context = CreateRouteValuesContext(new { controller = "Home", action = "Index" }); @@ -136,10 +135,10 @@ namespace Microsoft.AspNetCore.Routing public void GetLink_EncodesValues() { // Arrange - var endpoint = CreateEndpoint("{controller}/{action}"); + var endpoint = EndpointFactory.CreateMatcherEndpoint("{controller}/{action}"); var linkGenerator = CreateLinkGenerator(); var context = CreateRouteValuesContext( - suppliedValues: new { name = "name with %special #characters" }, + explicitValues: new { name = "name with %special #characters" }, ambientValues: new { controller = "Home", action = "Index" }); // Act @@ -159,7 +158,7 @@ namespace Microsoft.AspNetCore.Routing public void GetLink_ForListOfStrings() { // Arrange - var endpoint = CreateEndpoint("{controller}/{action}"); + var endpoint = EndpointFactory.CreateMatcherEndpoint("{controller}/{action}"); var linkGenerator = CreateLinkGenerator(); var context = CreateRouteValuesContext( new { color = new List { "red", "green", "blue" } }, @@ -182,7 +181,7 @@ namespace Microsoft.AspNetCore.Routing public void GetLink_ForListOfInts() { // Arrange - var endpoint = CreateEndpoint("{controller}/{action}"); + var endpoint = EndpointFactory.CreateMatcherEndpoint("{controller}/{action}"); var linkGenerator = CreateLinkGenerator(); var context = CreateRouteValuesContext( new { items = new List { 10, 20, 30 } }, @@ -205,7 +204,7 @@ namespace Microsoft.AspNetCore.Routing public void GetLink_ForList_Empty() { // Arrange - var endpoint = CreateEndpoint("{controller}/{action}"); + var endpoint = EndpointFactory.CreateMatcherEndpoint("{controller}/{action}"); var linkGenerator = CreateLinkGenerator(); var context = CreateRouteValuesContext( new { color = new List { } }, @@ -228,7 +227,7 @@ namespace Microsoft.AspNetCore.Routing public void GetLink_ForList_StringWorkaround() { // Arrange - var endpoint = CreateEndpoint("{controller}/{action}"); + var endpoint = EndpointFactory.CreateMatcherEndpoint("{controller}/{action}"); var linkGenerator = CreateLinkGenerator(); var context = CreateRouteValuesContext( new { page = 1, color = new List { "red", "green", "blue" }, message = "textfortest" }, @@ -251,10 +250,10 @@ namespace Microsoft.AspNetCore.Routing public void GetLink_Success_AmbientValues() { // Arrange - var endpoint = CreateEndpoint("{controller}/{action}"); + var endpoint = EndpointFactory.CreateMatcherEndpoint("{controller}/{action}"); var linkGenerator = CreateLinkGenerator(); var context = CreateRouteValuesContext( - suppliedValues: new { action = "Index" }, + explicitValues: new { action = "Index" }, ambientValues: new { controller = "Home" }); // Act @@ -274,10 +273,10 @@ namespace Microsoft.AspNetCore.Routing public void GetLink_GeneratesLowercaseUrl_SetOnRouteOptions() { // Arrange - var endpoint = CreateEndpoint("{controller}/{action}"); + var endpoint = EndpointFactory.CreateMatcherEndpoint("{controller}/{action}"); var linkGenerator = CreateLinkGenerator(new RouteOptions() { LowercaseUrls = true }); var context = CreateRouteValuesContext( - suppliedValues: new { action = "Index" }, + explicitValues: new { action = "Index" }, ambientValues: new { controller = "Home" }); // Act @@ -297,11 +296,11 @@ namespace Microsoft.AspNetCore.Routing public void GetLink_GeneratesLowercaseQueryString_SetOnRouteOptions() { // Arrange - var endpoint = CreateEndpoint("{controller}/{action}"); + var endpoint = EndpointFactory.CreateMatcherEndpoint("{controller}/{action}"); var linkGenerator = CreateLinkGenerator( new RouteOptions() { LowercaseUrls = true, LowercaseQueryStrings = true }); var context = CreateRouteValuesContext( - suppliedValues: new { action = "Index", ShowStatus = "True", INFO = "DETAILED" }, + explicitValues: new { action = "Index", ShowStatus = "True", INFO = "DETAILED" }, ambientValues: new { controller = "Home" }); // Act @@ -321,11 +320,11 @@ namespace Microsoft.AspNetCore.Routing public void GetLink_GeneratesLowercaseQueryString_OnlyIfLowercaseUrlIsTrue_SetOnRouteOptions() { // Arrange - var endpoint = CreateEndpoint("{controller}/{action}"); + var endpoint = EndpointFactory.CreateMatcherEndpoint("{controller}/{action}"); var linkGenerator = CreateLinkGenerator( new RouteOptions() { LowercaseUrls = false, LowercaseQueryStrings = true }); var context = CreateRouteValuesContext( - suppliedValues: new { action = "Index", ShowStatus = "True", INFO = "DETAILED" }, + explicitValues: new { action = "Index", ShowStatus = "True", INFO = "DETAILED" }, ambientValues: new { controller = "Home" }); // Act @@ -345,10 +344,10 @@ namespace Microsoft.AspNetCore.Routing public void GetLink_AppendsTrailingSlash_SetOnRouteOptions() { // Arrange - var endpoint = CreateEndpoint("{controller}/{action}"); + var endpoint = EndpointFactory.CreateMatcherEndpoint("{controller}/{action}"); var linkGenerator = CreateLinkGenerator(new RouteOptions() { AppendTrailingSlash = true }); var context = CreateRouteValuesContext( - suppliedValues: new { action = "Index" }, + explicitValues: new { action = "Index" }, ambientValues: new { controller = "Home" }); // Act @@ -368,11 +367,11 @@ namespace Microsoft.AspNetCore.Routing public void GetLink_GeneratesLowercaseQueryStringAndTrailingSlash_SetOnRouteOptions() { // Arrange - var endpoint = CreateEndpoint("{controller}/{action}"); + var endpoint = EndpointFactory.CreateMatcherEndpoint("{controller}/{action}"); var linkGenerator = CreateLinkGenerator( new RouteOptions() { LowercaseUrls = true, LowercaseQueryStrings = true, AppendTrailingSlash = true }); var context = CreateRouteValuesContext( - suppliedValues: new { action = "Index", ShowStatus = "True", INFO = "DETAILED" }, + explicitValues: new { action = "Index", ShowStatus = "True", INFO = "DETAILED" }, ambientValues: new { controller = "Home" }); // Act @@ -392,10 +391,10 @@ namespace Microsoft.AspNetCore.Routing public void GetLink_LowercaseUrlSetToTrue_OnRouteOptions_OverridenByCallsiteValue() { // Arrange - var endpoint = CreateEndpoint("{controller}/{action}"); + var endpoint = EndpointFactory.CreateMatcherEndpoint("{controller}/{action}"); var linkGenerator = CreateLinkGenerator(new RouteOptions() { LowercaseUrls = true }); var context = CreateRouteValuesContext( - suppliedValues: new { action = "InDex" }, + explicitValues: new { action = "InDex" }, ambientValues: new { controller = "HoMe" }); // Act @@ -416,10 +415,10 @@ namespace Microsoft.AspNetCore.Routing public void GetLink_LowercaseUrlSetToFalse_OnRouteOptions_OverridenByCallsiteValue() { // Arrange - var endpoint = CreateEndpoint("{controller}/{action}"); + var endpoint = EndpointFactory.CreateMatcherEndpoint("{controller}/{action}"); var linkGenerator = CreateLinkGenerator(new RouteOptions() { LowercaseUrls = false }); var context = CreateRouteValuesContext( - suppliedValues: new { action = "InDex" }, + explicitValues: new { action = "InDex" }, ambientValues: new { controller = "HoMe" }); // Act @@ -440,11 +439,11 @@ namespace Microsoft.AspNetCore.Routing public void GetLink_LowercaseUrlQueryStringsSetToTrue_OnRouteOptions_OverridenByCallsiteValue() { // Arrange - var endpoint = CreateEndpoint("{controller}/{action}"); + var endpoint = EndpointFactory.CreateMatcherEndpoint("{controller}/{action}"); var linkGenerator = CreateLinkGenerator( new RouteOptions() { LowercaseUrls = true, LowercaseQueryStrings = true }); var context = CreateRouteValuesContext( - suppliedValues: new { action = "Index", ShowStatus = "True", INFO = "DETAILED" }, + explicitValues: new { action = "Index", ShowStatus = "True", INFO = "DETAILED" }, ambientValues: new { controller = "Home" }); // Act @@ -466,11 +465,11 @@ namespace Microsoft.AspNetCore.Routing public void GetLink_LowercaseUrlQueryStringsSetToFalse_OnRouteOptions_OverridenByCallsiteValue() { // Arrange - var endpoint = CreateEndpoint("{controller}/{action}"); + var endpoint = EndpointFactory.CreateMatcherEndpoint("{controller}/{action}"); var linkGenerator = CreateLinkGenerator( new RouteOptions() { LowercaseUrls = false, LowercaseQueryStrings = false }); var context = CreateRouteValuesContext( - suppliedValues: new { action = "Index", ShowStatus = "True", INFO = "DETAILED" }, + explicitValues: new { action = "Index", ShowStatus = "True", INFO = "DETAILED" }, ambientValues: new { controller = "Home" }); // Act @@ -492,10 +491,10 @@ namespace Microsoft.AspNetCore.Routing public void GetLink_AppendTrailingSlashSetToFalse_OnRouteOptions_OverridenByCallsiteValue() { // Arrange - var endpoint = CreateEndpoint("{controller}/{action}"); + var endpoint = EndpointFactory.CreateMatcherEndpoint("{controller}/{action}"); var linkGenerator = CreateLinkGenerator(new RouteOptions() { AppendTrailingSlash = false }); var context = CreateRouteValuesContext( - suppliedValues: new { action = "Index" }, + explicitValues: new { action = "Index" }, ambientValues: new { controller = "Home" }); // Act @@ -519,9 +518,9 @@ namespace Microsoft.AspNetCore.Routing var context = CreateRouteValuesContext(new { p1 = "abcd" }); var linkGenerator = CreateLinkGenerator(); - var endpoint = CreateEndpoint( + var endpoint = EndpointFactory.CreateMatcherEndpoint( "{p1}/{p2}", - new { p2 = "catchall" }, + defaults: new { p2 = "catchall" }, constraints: new { p2 = "\\d{4}" }); // Act @@ -546,10 +545,10 @@ namespace Microsoft.AspNetCore.Routing var context = CreateRouteValuesContext(new { p1 = "hello", p2 = "1234" }); var linkGenerator = CreateLinkGenerator(); - var endpoint = CreateEndpoint( + var endpoint = EndpointFactory.CreateMatcherEndpoint( "{p1}/{p2}", - new { p2 = "catchall" }, - new { p2 = new RegexRouteConstraint("\\d{4}"), }); + defaults: new { p2 = "catchall" }, + constraints: new { p2 = new RegexRouteConstraint("\\d{4}"), }); // Act var canGenerateLink = linkGenerator.TryGetLink( @@ -574,10 +573,10 @@ namespace Microsoft.AspNetCore.Routing var context = CreateRouteValuesContext(new { p1 = "abcd" }); var linkGenerator = CreateLinkGenerator(); - var endpoint = CreateEndpoint( + var endpoint = EndpointFactory.CreateMatcherEndpoint( "{p1}/{*p2}", - new { p2 = "catchall" }, - new { p2 = new RegexRouteConstraint("\\d{4}") }); + defaults: new { p2 = "catchall" }, + constraints: new { p2 = new RegexRouteConstraint("\\d{4}") }); // Act var canGenerateLink = linkGenerator.TryGetLink( @@ -601,10 +600,10 @@ namespace Microsoft.AspNetCore.Routing var context = CreateRouteValuesContext(new { p1 = "hello", p2 = "1234" }); var linkGenerator = CreateLinkGenerator(); - var endpoint = CreateEndpoint( + var endpoint = EndpointFactory.CreateMatcherEndpoint( "{p1}/{*p2}", - new { p2 = "catchall" }, - new { p2 = new RegexRouteConstraint("\\d{4}") }); + defaults: new { p2 = "catchall" }, + constraints: new { p2 = new RegexRouteConstraint("\\d{4}") }); // Act var canGenerateLink = linkGenerator.TryGetLink( @@ -640,7 +639,7 @@ namespace Microsoft.AspNetCore.Routing .Returns(true) .Verifiable(); - var endpoint = CreateEndpoint( + var endpoint = EndpointFactory.CreateMatcherEndpoint( "{p1}/{p2}", defaults: new { p2 = "catchall" }, constraints: new { p2 = target.Object }); @@ -670,13 +669,13 @@ namespace Microsoft.AspNetCore.Routing // Arrange var constraint = new CapturingConstraint(); var linkGenerator = CreateLinkGenerator(); - var endpoint = CreateEndpoint( + var endpoint = EndpointFactory.CreateMatcherEndpoint( template: "slug/Home/Store", defaults: new { controller = "Home", action = "Store" }, constraints: new { c = constraint }); var context = CreateRouteValuesContext( - suppliedValues: new { action = "Store" }, + explicitValues: new { action = "Store" }, ambientValues: new { controller = "Home", action = "Blog", extra = "42" }); var expectedValues = new RouteValueDictionary( @@ -707,13 +706,13 @@ namespace Microsoft.AspNetCore.Routing // Arrange var constraint = new CapturingConstraint(); var linkGenerator = CreateLinkGenerator(); - var endpoint = CreateEndpoint( + var endpoint = EndpointFactory.CreateMatcherEndpoint( template: "slug/Home/Store", defaults: new { controller = "Home", action = "Store", otherthing = "17" }, constraints: new { c = constraint }); var context = CreateRouteValuesContext( - suppliedValues: new { action = "Store" }, + explicitValues: new { action = "Store" }, ambientValues: new { controller = "Home", action = "Blog" }); var expectedValues = new RouteValueDictionary( @@ -741,13 +740,13 @@ namespace Microsoft.AspNetCore.Routing // Arrange var constraint = new CapturingConstraint(); var linkGenerator = CreateLinkGenerator(); - var endpoint = CreateEndpoint( + var endpoint = EndpointFactory.CreateMatcherEndpoint( template: "slug/{controller}/{action}", defaults: new { action = "Index" }, constraints: new { c = constraint, }); var context = CreateRouteValuesContext( - suppliedValues: new { controller = "Shopping" }, + explicitValues: new { controller = "Shopping" }, ambientValues: new { controller = "Home", action = "Blog" }); var expectedValues = new RouteValueDictionary( @@ -776,13 +775,13 @@ namespace Microsoft.AspNetCore.Routing // Arrange var constraint = new CapturingConstraint(); var linkGenerator = CreateLinkGenerator(); - var endpoint = CreateEndpoint( + var endpoint = EndpointFactory.CreateMatcherEndpoint( template: "slug/Home/Store", defaults: new { controller = "Home", action = "Store", otherthing = "17", thirdthing = "13" }, constraints: new { c = constraint, }); var context = CreateRouteValuesContext( - suppliedValues: new { action = "Store", thirdthing = "13" }, + explicitValues: new { action = "Store", thirdthing = "13" }, ambientValues: new { controller = "Home", action = "Blog", otherthing = "17" }); var expectedValues = new RouteValueDictionary( @@ -808,13 +807,13 @@ namespace Microsoft.AspNetCore.Routing { // Arrange var linkGenerator = CreateLinkGenerator(); - var endpoint = CreateEndpoint( + var endpoint = EndpointFactory.CreateMatcherEndpoint( template: "Home/Index/{id:int}", defaults: new { controller = "Home", action = "Index" }, constraints: new { }); var context = CreateRouteValuesContext( - suppliedValues: new { action = "Index", controller = "Home", id = 4 }); + explicitValues: new { action = "Index", controller = "Home", id = 4 }); // Act var link = linkGenerator.GetLink( @@ -835,13 +834,13 @@ namespace Microsoft.AspNetCore.Routing { // Arrange var linkGenerator = CreateLinkGenerator(); - var endpoint = CreateEndpoint( + var endpoint = EndpointFactory.CreateMatcherEndpoint( template: "Home/Index/{id}", defaults: new { controller = "Home", action = "Index" }, constraints: new { id = "int" }); var context = CreateRouteValuesContext( - suppliedValues: new { action = "Index", controller = "Home", id = "not-an-integer" }); + explicitValues: new { action = "Index", controller = "Home", id = "not-an-integer" }); // Act var canGenerateLink = linkGenerator.TryGetLink( @@ -863,12 +862,12 @@ namespace Microsoft.AspNetCore.Routing { // Arrange var linkGenerator = CreateLinkGenerator(); - var endpoint = CreateEndpoint( + var endpoint = EndpointFactory.CreateMatcherEndpoint( template: "Home/Index/{id:int?}", defaults: new { controller = "Home", action = "Index" }, constraints: new { }); var context = CreateRouteValuesContext( - suppliedValues: new { action = "Index", controller = "Home", id = 98 }); + explicitValues: new { action = "Index", controller = "Home", id = 98 }); // Act var link = linkGenerator.GetLink( @@ -889,13 +888,13 @@ namespace Microsoft.AspNetCore.Routing { // Arrange var linkGenerator = CreateLinkGenerator(); - var endpoint = CreateEndpoint( + var endpoint = EndpointFactory.CreateMatcherEndpoint( template: "Home/Index/{id?}", defaults: new { controller = "Home", action = "Index" }, constraints: new { id = "int" }); var context = CreateRouteValuesContext( - suppliedValues: new { action = "Index", controller = "Home" }); + explicitValues: new { action = "Index", controller = "Home" }); // Act var link = linkGenerator.GetLink( @@ -916,13 +915,13 @@ namespace Microsoft.AspNetCore.Routing { // Arrange var linkGenerator = CreateLinkGenerator(); - var endpoint = CreateEndpoint( + var endpoint = EndpointFactory.CreateMatcherEndpoint( template: "Home/Index/{id?}", defaults: new { controller = "Home", action = "Index" }, constraints: new { id = "int" }); var context = CreateRouteValuesContext( - suppliedValues: new { action = "Index", controller = "Home", id = "not-an-integer" }); + explicitValues: new { action = "Index", controller = "Home", id = "not-an-integer" }); // Act var canGenerateLink = linkGenerator.TryGetLink( @@ -944,13 +943,13 @@ namespace Microsoft.AspNetCore.Routing { // Arrange var linkGenerator = CreateLinkGenerator(); - var endpoint = CreateEndpoint( + var endpoint = EndpointFactory.CreateMatcherEndpoint( template: "Home/Index/{id:int:range(1,20)}", defaults: new { controller = "Home", action = "Index" }, constraints: new { }); var context = CreateRouteValuesContext( - suppliedValues: new { action = "Index", controller = "Home", id = 14 }); + explicitValues: new { action = "Index", controller = "Home", id = 14 }); // Act var link = linkGenerator.GetLink( @@ -971,13 +970,13 @@ namespace Microsoft.AspNetCore.Routing { // Arrange var linkGenerator = CreateLinkGenerator(); - var endpoint = CreateEndpoint( + var endpoint = EndpointFactory.CreateMatcherEndpoint( template: "Home/Index/{id:int:range(1,20)}", defaults: new { controller = "Home", action = "Index" }, constraints: new { }); var context = CreateRouteValuesContext( - suppliedValues: new { action = "Index", controller = "Home", id = 50 }); + explicitValues: new { action = "Index", controller = "Home", id = 50 }); // Act var canGenerateLink = linkGenerator.TryGetLink( @@ -1000,13 +999,13 @@ namespace Microsoft.AspNetCore.Routing // Arrange var constraint = new MaxLengthRouteConstraint(20); var linkGenerator = CreateLinkGenerator(); - var endpoint = CreateEndpoint( + var endpoint = EndpointFactory.CreateMatcherEndpoint( template: "Home/Index/{name}", defaults: new { controller = "Home", action = "Index" }, constraints: new { name = constraint }); var context = CreateRouteValuesContext( - suppliedValues: new { action = "Index", controller = "Home", name = "products" }); + explicitValues: new { action = "Index", controller = "Home", name = "products" }); // Act var link = linkGenerator.GetLink( @@ -1026,10 +1025,10 @@ namespace Microsoft.AspNetCore.Routing public void GetLink_OptionalParameter_ParameterPresentInValues() { // Arrange - var endpoint = CreateEndpoint("{controller}/{action}/{name?}"); + var endpoint = EndpointFactory.CreateMatcherEndpoint("{controller}/{action}/{name?}"); var linkGenerator = CreateLinkGenerator(); var context = CreateRouteValuesContext( - suppliedValues: new { action = "Index", controller = "Home", name = "products" }); + explicitValues: new { action = "Index", controller = "Home", name = "products" }); // Act var link = linkGenerator.GetLink( @@ -1048,10 +1047,10 @@ namespace Microsoft.AspNetCore.Routing public void GetLink_OptionalParameter_ParameterNotPresentInValues() { // Arrange - var endpoint = CreateEndpoint("{controller}/{action}/{name?}"); + var endpoint = EndpointFactory.CreateMatcherEndpoint("{controller}/{action}/{name?}"); var linkGenerator = CreateLinkGenerator(); var context = CreateRouteValuesContext( - suppliedValues: new { action = "Index", controller = "Home" }); + explicitValues: new { action = "Index", controller = "Home" }); // Act var link = linkGenerator.GetLink( @@ -1070,12 +1069,12 @@ namespace Microsoft.AspNetCore.Routing public void GetLink_OptionalParameter_ParameterPresentInValuesAndDefaults() { // Arrange - var endpoint = CreateEndpoint( + var endpoint = EndpointFactory.CreateMatcherEndpoint( template: "{controller}/{action}/{name}", defaults: new { name = "default-products" }); var linkGenerator = CreateLinkGenerator(); var context = CreateRouteValuesContext( - suppliedValues: new { action = "Index", controller = "Home", name = "products" }); + explicitValues: new { action = "Index", controller = "Home", name = "products" }); // Act var link = linkGenerator.GetLink( @@ -1094,12 +1093,12 @@ namespace Microsoft.AspNetCore.Routing public void GetLink_OptionalParameter_ParameterNotPresentInValues_PresentInDefaults() { // Arrange - var endpoint = CreateEndpoint( + var endpoint = EndpointFactory.CreateMatcherEndpoint( template: "{controller}/{action}/{name}", defaults: new { name = "products" }); var linkGenerator = CreateLinkGenerator(); var context = CreateRouteValuesContext( - suppliedValues: new { action = "Index", controller = "Home" }); + explicitValues: new { action = "Index", controller = "Home" }); // Act var link = linkGenerator.GetLink( @@ -1118,10 +1117,10 @@ namespace Microsoft.AspNetCore.Routing public void GetLink_ParameterNotPresentInTemplate_PresentInValues() { // Arrange - var endpoint = CreateEndpoint("{controller}/{action}/{name}"); + var endpoint = EndpointFactory.CreateMatcherEndpoint("{controller}/{action}/{name}"); var linkGenerator = CreateLinkGenerator(); var context = CreateRouteValuesContext( - suppliedValues: new { action = "Index", controller = "Home", name = "products", format = "json" }); + explicitValues: new { action = "Index", controller = "Home", name = "products", format = "json" }); // Act var link = linkGenerator.GetLink( @@ -1141,11 +1140,11 @@ namespace Microsoft.AspNetCore.Routing { // Arrange var linkGenerator = CreateLinkGenerator(); - var endpoint = CreateEndpoint( + var endpoint = EndpointFactory.CreateMatcherEndpoint( template: "{controller}/{action}/.{name?}"); var context = CreateRouteValuesContext( - suppliedValues: new { action = "Index", controller = "Home", name = "products" }); + explicitValues: new { action = "Index", controller = "Home", name = "products" }); // Act var link = linkGenerator.GetLink( @@ -1166,10 +1165,10 @@ namespace Microsoft.AspNetCore.Routing { // Arrange var linkGenerator = CreateLinkGenerator(); - var endpoint = CreateEndpoint("{controller}/{action}/.{name?}"); + var endpoint = EndpointFactory.CreateMatcherEndpoint("{controller}/{action}/.{name?}"); var context = CreateRouteValuesContext( - suppliedValues: new { action = "Index", controller = "Home" }); + explicitValues: new { action = "Index", controller = "Home" }); // Act var link = linkGenerator.GetLink( @@ -1189,10 +1188,10 @@ namespace Microsoft.AspNetCore.Routing public void GetLink_OptionalParameter_InSimpleSegment() { // Arrange - var endpoint = CreateEndpoint("{controller}/{action}/{name?}"); + var endpoint = EndpointFactory.CreateMatcherEndpoint("{controller}/{action}/{name?}"); var linkGenerator = CreateLinkGenerator(); var context = CreateRouteValuesContext( - suppliedValues: new { action = "Index", controller = "Home" }); + explicitValues: new { action = "Index", controller = "Home" }); // Act var link = linkGenerator.GetLink( @@ -1211,10 +1210,10 @@ namespace Microsoft.AspNetCore.Routing public void GetLink_TwoOptionalParameters_OneValueFromAmbientValues() { // Arrange - var endpoint = CreateEndpoint("a/{b=15}/{c?}/{d?}"); + var endpoint = EndpointFactory.CreateMatcherEndpoint("a/{b=15}/{c?}/{d?}"); var linkGenerator = CreateLinkGenerator(); var context = CreateRouteValuesContext( - suppliedValues: new { }, + explicitValues: new { }, ambientValues: new { c = "17" }); // Act @@ -1234,10 +1233,10 @@ namespace Microsoft.AspNetCore.Routing public void GetLink_OptionalParameterAfterDefault_OneValueFromAmbientValues() { // Arrange - var endpoint = CreateEndpoint("a/{b=15}/{c?}"); + var endpoint = EndpointFactory.CreateMatcherEndpoint("a/{b=15}/{c?}"); var linkGenerator = CreateLinkGenerator(); var context = CreateRouteValuesContext( - suppliedValues: new { }, + explicitValues: new { }, ambientValues: new { c = "17" }); // Act @@ -1257,10 +1256,10 @@ namespace Microsoft.AspNetCore.Routing public void GetLink_TwoOptionalParametersAfterDefault_LastValueFromAmbientValues() { // Arrange - var endpoint = CreateEndpoint("a/{b=15}/{c?}/{d?}"); + var endpoint = EndpointFactory.CreateMatcherEndpoint("a/{b=15}/{c?}/{d?}"); var linkGenerator = CreateLinkGenerator(); var context = CreateRouteValuesContext( - suppliedValues: new { }, + explicitValues: new { }, ambientValues: new { d = "17" }); // Act @@ -1276,28 +1275,292 @@ namespace Microsoft.AspNetCore.Routing Assert.Equal("/a", link); } - private RouteValuesBasedEndpointFinderContext CreateRouteValuesContext(object suppliedValues, object ambientValues = null) + public static TheoryData DoesNotDiscardAmbientValuesData { - var context = new RouteValuesBasedEndpointFinderContext(); - context.ExplicitValues = new RouteValueDictionary(suppliedValues); - context.AmbientValues = new RouteValueDictionary(ambientValues); - return context; + get + { + // - ambient values + // - explicit values + // - required values + // - defaults + return new TheoryData + { + // link to same action on same controller + { + new { controller = "Products", action = "Edit", id = 10 }, + new { controller = "Products", action = "Edit" }, + new { area = (string)null, controller = "Products", action = "Edit", page = (string)null }, + new { area = (string)null, controller = "Products", action = "Edit", page = (string)null } + }, + + // link to same action on same controller - ignoring case + { + new { controller = "ProDUcts", action = "EDit", id = 10 }, + new { controller = "ProDUcts", action = "EDit" }, + new { area = (string)null, controller = "Products", action = "Edit", page = (string)null }, + new { area = (string)null, controller = "Products", action = "Edit", page = (string)null } + }, + + // link to same action and same controller on same area + { + new { area = "Admin", controller = "Products", action = "Edit", id = 10 }, + new { area = "Admin", controller = "Products", action = "Edit" }, + new { area = "Admin", controller = "Products", action = "Edit", page = (string)null }, + new { area = "Admin", controller = "Products", action = "Edit", page = (string)null } + }, + + // link to same action and same controller on same area + { + new { area = "Admin", controller = "Products", action = "Edit", id = 10 }, + new { controller = "Products", action = "Edit" }, + new { area = "Admin", controller = "Products", action = "Edit", page = (string)null }, + new { area = "Admin", controller = "Products", action = "Edit", page = (string)null } + }, + + // link to same action and same controller + { + new { controller = "Products", action = "Edit", id = 10 }, + new { controller = "Products", action = "Edit" }, + new { area = (string)null, controller = "Products", action = "Edit", page = (string)null }, + new { area = (string)null, controller = "Products", action = "Edit", page = (string)null } + }, + { + new { controller = "Products", action = "Edit", id = 10 }, + new { controller = "Products", action = "Edit" }, + new { area = (string)null, controller = "Products", action = "Edit", page = (string)null }, + new { area = (string)null, controller = "Products", action = "Edit", page = (string)null } + }, + { + new { controller = "Products", action = "Edit", id = 10 }, + new { controller = "Products", action = "Edit" }, + new { area = "", controller = "Products", action = "Edit", page = "" }, + new { area = "", controller = "Products", action = "Edit", page = "" } + }, + + // link to same page + { + new { page = "Products/Edit", id = 10 }, + new { page = "Products/Edit" }, + new { area = (string)null, controller = (string)null, action = (string)null, page = "Products/Edit" }, + new { area = (string)null, controller = (string)null, action = (string)null, page = "Products/Edit" } + }, + }; + } } - private MatcherEndpoint CreateEndpoint( - string template, - object defaults = null, - object constraints = null, - int order = 0, - EndpointMetadataCollection metadata = null) + [Theory] + [MemberData(nameof(DoesNotDiscardAmbientValuesData))] + public void TryGetLink_DoesNotDiscardAmbientValues_IfAllRequiredKeysMatch( + object ambientValues, + object explicitValues, + object requiredValues, + object defaults) { - return new MatcherEndpoint( - MatcherEndpoint.EmptyInvoker, - RoutePatternFactory.Parse(template, defaults, constraints), - new RouteValueDictionary(), - order, - metadata, - null); + // Arrange + var endpoint = EndpointFactory.CreateMatcherEndpoint( + "Products/Edit/{id}", + requiredValues: requiredValues, + defaults: defaults); + var linkGenerator = CreateLinkGenerator(); + var context = CreateRouteValuesContext( + explicitValues: explicitValues, + ambientValues: ambientValues); + + // Act + var canGenerateLink = linkGenerator.TryGetLink( + new LinkGeneratorContext + { + Endpoints = new[] { endpoint }, + ExplicitValues = context.ExplicitValues, + AmbientValues = context.AmbientValues + }, + out var link); + + // Assert + Assert.True(canGenerateLink); + Assert.Equal("/Products/Edit/10", link); + } + + [Fact] + public void TryGetLink_DoesNotDiscardAmbientValues_IfAllRequiredValuesMatch_ForGenericKeys() + { + // Verifying that discarding works in general usage case i.e when keys are not like controller, action etc. + + // Arrange + var endpoint = EndpointFactory.CreateMatcherEndpoint( + "Products/Edit/{id}", + requiredValues: new { c = "Products", a = "Edit" }, + defaults: new { c = "Products", a = "Edit" }); + var linkGenerator = CreateLinkGenerator(); + var context = CreateRouteValuesContext( + explicitValues: new { c = "Products", a = "Edit" }, + ambientValues: new { c = "Products", a = "Edit", id = 10 }); + + // Act + var canGenerateLink = linkGenerator.TryGetLink( + new LinkGeneratorContext + { + Endpoints = new[] { endpoint }, + ExplicitValues = context.ExplicitValues, + AmbientValues = context.AmbientValues + }, + out var link); + + // Assert + Assert.True(canGenerateLink); + Assert.Equal("/Products/Edit/10", link); + } + + [Fact] + public void TryGetLink_DiscardsAmbientValues_ForGenericKeys() + { + // Verifying that discarding works in general usage case i.e when keys are not like controller, action etc. + + // Arrange + var endpoint = EndpointFactory.CreateMatcherEndpoint( + "Products/Edit/{id}", + requiredValues: new { c = "Products", a = "Edit" }, + defaults: new { c = "Products", a = "Edit" }); + var linkGenerator = CreateLinkGenerator(); + var context = CreateRouteValuesContext( + explicitValues: new { c = "Products", a = "List" }, + ambientValues: new { c = "Products", a = "Edit", id = 10 }); + + // Act + var canGenerateLink = linkGenerator.TryGetLink( + new LinkGeneratorContext + { + Endpoints = new[] { endpoint }, + ExplicitValues = context.ExplicitValues, + AmbientValues = context.AmbientValues + }, + out var link); + + // Assert + Assert.False(canGenerateLink); + Assert.Null(link); + } + + public static TheoryData DiscardAmbientValuesData + { + get + { + // - ambient values + // - explicit values + // - required values + // - defaults + return new TheoryData + { + // link to different action on same controller + { + new { controller = "Products", action = "Edit", id = 10 }, + new { controller = "Products", action = "List" }, + new { area = (string)null, controller = "Products", action = "List", page = (string)null }, + new { area = (string)null, controller = "Products", action = "List", page = (string)null } + }, + + // link to different action on same controller and same area + { + new { area = "Customer", controller = "Products", action = "Edit", id = 10 }, + new { area = "Customer", controller = "Products", action = "List" }, + new { area = "Customer", controller = "Products", action = "List", page = (string)null }, + new { area = "Customer", controller = "Products", action = "List", page = (string)null } + }, + + // link from one area to a different one + { + new { area = "Admin", controller = "Products", action = "Edit", id = 10 }, + new { area = "Consumer", controller = "Products", action = "Edit" }, + new { area = "Consumer", controller = "Products", action = "Edit", page = (string)null }, + new { area = "Consumer", controller = "Products", action = "Edit", page = (string)null } + }, + + // link from non-area to a area one + { + new { controller = "Products", action = "Edit", id = 10 }, + new { area = "Consumer", controller = "Products", action = "Edit" }, + new { area = "Consumer", controller = "Products", action = "Edit", page = (string)null }, + new { area = "Consumer", controller = "Products", action = "Edit", page = (string)null } + }, + + // link from area to a non-area based action + { + new { area = "Admin", controller = "Products", action = "Edit", id = 10 }, + new { area = "", controller = "Products", action = "Edit" }, + new { area = "", controller = "Products", action = "Edit", page = (string)null }, + new { area = "", controller = "Products", action = "Edit", page = (string)null } + }, + + // link from controller-action to a page + { + new { controller = "Products", action = "Edit", id = 10 }, + new { page = "Products/Edit" }, + new { area = (string)null, controller = (string)null, action = (string)null, page = "Products/Edit"}, + new { area = (string)null, controller = (string)null, action = (string)null, page = "Products/Edit"} + }, + + // link from a page to controller-action + { + new { page = "Products/Edit", id = 10 }, + new { controller = "Products", action = "Edit" }, + new { area = (string)null, controller = "Products", action = "Edit", page = (string)null }, + new { area = (string)null, controller = "Products", action = "Edit", page = (string)null } + }, + + // link from one page to a different page + { + new { page = "Products/Details", id = 10 }, + new { page = "Products/Edit" }, + new { area = (string)null, controller = (string)null, action = (string)null, page = "Products/Edit" }, + new { area = (string)null, controller = (string)null, action = (string)null, page = "Products/Edit" } + }, + }; + } + } + + [Theory] + [MemberData(nameof(DiscardAmbientValuesData))] + public void TryGetLink_DiscardsAmbientValues_IfAnyAmbientValue_IsDifferentThan_EndpointRequiredValues( + object ambientValues, + object explicitValues, + object requiredValues, + object defaults) + { + // Linking to a different action on the same controller + + // Arrange + var endpoint = EndpointFactory.CreateMatcherEndpoint( + "Products/Edit/{id}", + requiredValues: requiredValues, + defaults: defaults); + var linkGenerator = CreateLinkGenerator(); + var context = CreateRouteValuesContext( + explicitValues: explicitValues, + ambientValues: ambientValues); + + // Act + var canGenerateLink = linkGenerator.TryGetLink( + new LinkGeneratorContext + { + Endpoints = new[] { endpoint }, + ExplicitValues = context.ExplicitValues, + AmbientValues = context.AmbientValues + }, + out var link); + + // Assert + Assert.False(canGenerateLink); + Assert.Null(link); + } + + private RouteValuesBasedEndpointFinderContext CreateRouteValuesContext( + object explicitValues, + object ambientValues = null) + { + var context = new RouteValuesBasedEndpointFinderContext(); + context.ExplicitValues = new RouteValueDictionary(explicitValues); + context.AmbientValues = new RouteValueDictionary(ambientValues); + return context; } private LinkGenerator CreateLinkGenerator(RouteOptions routeOptions = null) diff --git a/test/Microsoft.AspNetCore.Routing.Tests/EndpointFactory.cs b/test/Microsoft.AspNetCore.Routing.Tests/EndpointFactory.cs new file mode 100644 index 0000000000..6286e2781f --- /dev/null +++ b/test/Microsoft.AspNetCore.Routing.Tests/EndpointFactory.cs @@ -0,0 +1,35 @@ +// Copyright (c) .NET Foundation. All rights reserved. +// Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information. + +using Microsoft.AspNetCore.Routing.Matchers; +using Microsoft.AspNetCore.Routing.Patterns; + +namespace Microsoft.AspNetCore.Routing +{ + internal static class EndpointFactory + { + public static MatcherEndpoint CreateMatcherEndpoint( + string template, + object defaults = null, + object constraints = null, + object requiredValues = null, + int order = 0, + string displayName = null, + params object[] metadata) + { + var metadataCollection = EndpointMetadataCollection.Empty; + if (metadata != null) + { + metadataCollection = new EndpointMetadataCollection(metadata); + } + + return new MatcherEndpoint( + MatcherEndpoint.EmptyInvoker, + RoutePatternFactory.Parse(template, defaults, constraints), + new RouteValueDictionary(requiredValues), + order, + metadataCollection, + displayName); + } + } +} From e19b0b738c4d7c2928c9fb0ad20fd456558d9753 Mon Sep 17 00:00:00 2001 From: Kiran Challa Date: Tue, 31 Jul 2018 14:51:38 -0700 Subject: [PATCH 109/221] PR Feedback --- .../CompositeEndpointDataSource.cs | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/Microsoft.AspNetCore.Routing/CompositeEndpointDataSource.cs b/src/Microsoft.AspNetCore.Routing/CompositeEndpointDataSource.cs index fd12ff706d..c9673a33c3 100644 --- a/src/Microsoft.AspNetCore.Routing/CompositeEndpointDataSource.cs +++ b/src/Microsoft.AspNetCore.Routing/CompositeEndpointDataSource.cs @@ -128,10 +128,10 @@ namespace Microsoft.AspNetCore.Routing template = string.IsNullOrEmpty(template) ? "\"\"" : template; sb.Append(template); sb.Append(", Required Values: new { "); - sb.Append(string.Join(", ", GetValues(matcherEndpoint.RequiredValues))); + sb.Append(string.Join(", ", FormatValues(matcherEndpoint.RequiredValues))); sb.Append(" }"); sb.Append(", Defaults: new { "); - sb.Append(string.Join(", ", GetValues(matcherEndpoint.RoutePattern.Defaults))); + sb.Append(string.Join(", ", FormatValues(matcherEndpoint.RoutePattern.Defaults))); sb.Append(" }"); var routeNameMetadata = matcherEndpoint.Metadata.GetMetadata(); sb.Append(", Route Name: "); @@ -157,7 +157,7 @@ namespace Microsoft.AspNetCore.Routing } return sb.ToString(); - IEnumerable GetValues(IEnumerable> values) + IEnumerable FormatValues(IEnumerable> values) { return values.Select( kvp => From 8c4f187c225e2e6d73383aa204dd2bc5d22c6b1e Mon Sep 17 00:00:00 2001 From: James Newton-King Date: Thu, 2 Aug 2018 13:38:08 +1200 Subject: [PATCH 110/221] Endpoint routing rename and API review changes (#684) --- benchmarkapps/Benchmarks/Program.cs | 8 +- ...ting.cs => StartupUsingEndpointRouting.cs} | 10 +- .../AsciiKeyedJumpTable.cs | 2 +- .../CustomHashTableJumpTable.cs | 2 +- .../DictionaryLookupJumpTable.cs | 2 +- .../FastPathTokenizerBenchmarkBase.cs | 2 +- .../FastPathTokenizerEmptyBenchmark.cs | 2 +- .../FastPathTokenizerLargeBenchmark.cs | 2 +- .../FastPathTokenizerPlaintextBenchmark.cs | 2 +- .../FastPathTokenizerSmallBenchmark.cs | 2 +- .../JumpTableMultipleEntryBenchmark.cs | 2 +- .../JumpTableSingleEntryBenchmark.cs | 2 +- .../JumpTableZeroEntryBenchmark.cs | 2 +- ...cheFindCandidateSetSingleEntryBenchmark.cs | 2 +- .../MatcherAzureBenchmark.cs | 2 +- .../MatcherAzureBenchmark.generated.cs | 2 +- .../MatcherBenchmarkBase.cs | 2 +- .../MatcherFindCandidateSetAzureBenchmark.cs | 2 +- ...indCandidateSetAzureBenchmark.generated.cs | 2 +- .../MatcherFindCandidateSetGithubBenchmark.cs | 2 +- ...ndCandidateSetGithubBenchmark.generated.cs | 2 +- ...indCandidateSetSmallEntryCountBenchmark.cs | 2 +- .../MatcherGithubBenchmark.cs | 2 +- .../MatcherGithubBenchmark.generated.cs | 2 +- .../MatcherSingleEntryBenchmark.cs | 2 +- .../{Matchers => Matching}/TrivialMatcher.cs | 2 +- .../TrivialMatcherBuilder.cs | 2 +- ...soft.AspNetCore.Routing.Performance.csproj | 24 +- benchmarks/Swaggatherer/Template.cs | 2 +- .../EndsWithStringMatchProcessor.cs | 2 +- samples/RoutingSample.Web/Program.cs | 14 +- ...tartup.cs => UseEndpointRoutingStartup.cs} | 12 +- .../EndpointMetadataCollection.cs | 7 +- ...ointRoutingApplicationBuilderExtensions.cs | 19 + .../CompositeEndpointDataSource.cs | 4 +- .../DefaultEndpointDataSource.cs | 9 +- .../DefaultLinkGenerator.cs | 2 +- .../RoutingServiceCollectionExtensions.cs | 6 +- .../EndpointMiddleware.cs | 4 +- ...leware.cs => EndpointRoutingMiddleware.cs} | 8 +- .../IEndpointFinderOfT.cs | 0 .../INameMetadata.cs | 1 - .../IRouteNameMetadata.cs | 1 - .../ISuppressLinkGenerationMetadata.cs | 0 ...intRoutingApplicationBuilderExtensions.cs} | 21 +- .../AmbiguousMatchException.cs | 2 +- .../{Matchers => Matching}/Candidate.cs | 2 +- .../{Matchers => Matching}/CandidateSet.cs | 2 +- .../{Matchers => Matching}/CandidateState.cs | 10 +- .../DataSourceDependentMatcher.cs | 2 +- .../DefaultEndpointSelector.cs | 2 +- .../DefaultMatchProcessorFactory.cs | 2 +- .../{Matchers => Matching}/DfaMatcher.cs | 2 +- .../DfaMatcherBuilder.cs | 2 +- .../DfaMatcherFactory.cs | 2 +- .../{Matchers => Matching}/DfaNode.cs | 2 +- .../{Matchers => Matching}/DfaState.cs | 2 +- .../DictionaryJumpTable.cs | 2 +- .../EndpointMetadataComparer.cs | 2 +- .../EndpointSelector.cs | 2 +- .../FastPathTokenizer.cs | 2 +- .../HttpMethodMatcherPolicy.cs | 2 +- .../IEndpointComparerPolicy.cs | 2 +- .../IEndpointSelectorPolicy.cs | 2 +- .../INodeBuilderPolicy.cs | 2 +- .../{Matchers => Matching}/JumpTable.cs | 2 +- .../JumpTableBuilder.cs | 2 +- .../LinearSearchJumpTable.cs | 2 +- .../{Matchers => Matching}/MatchProcessor.cs | 2 +- .../MatchProcessorBase.cs | 2 +- .../MatchProcessorFactory.cs | 2 +- .../{Matchers => Matching}/Matcher.cs | 4 +- .../{Matchers => Matching}/MatcherBuilder.cs | 2 +- .../{Matchers => Matching}/MatcherEndpoint.cs | 2 +- .../MatcherEndpointComparer.cs | 2 +- .../{Matchers => Matching}/MatcherFactory.cs | 2 +- .../{Matchers => Matching}/MatcherPolicy.cs | 0 .../OptionalMatchProcessor.cs | 2 +- .../{Matchers => Matching}/PathSegment.cs | 2 +- .../{Matchers => Matching}/PolicyJumpTable.cs | 2 +- .../PolicyJumpTableBuilder.cs | 2 +- .../PolicyJumpTableEdge.cs | 2 +- .../{Matchers => Matching}/PolicyNodeEdge.cs | 2 +- .../RouteConstraintMatchProcessor.cs | 2 +- .../SingleEntryJumpTable.cs | 2 +- .../ZeroEntryJumpTable.cs | 2 +- .../NameBasedEndpointFinder.cs | 2 +- .../RoutePatternConstraintReference.cs | 4 +- .../Patterns/RoutePatternFactory.cs | 2 +- .../Patterns/RoutePatternMatcher.cs | 2 +- .../Patterns/RoutePatternParameterPart.cs | 2 +- ...FinderContext.cs => RouteValuesAddress.cs} | 4 +- .../RouteValuesBasedEndpointFinder.cs | 15 +- .../Tree/InboundRouteEntry.cs | 3 - .../EndpointMetadataCollectionTests.cs | 48 +++ ...est.cs => EndpointRoutingBenchmarkTest.cs} | 8 +- ...leTest.cs => EndpointRoutingSampleTest.cs} | 8 +- ...> EndpointRoutingBuilderExtensionsTest.cs} | 19 +- .../CompositeEndpointDataSourceTest.cs | 2 +- .../DefaultEndpointDataSourceTests.cs | 45 +++ .../DefaultLinkGeneratorTest.cs | 331 +++++++++--------- .../EndpointFactory.cs | 2 +- .../EndpointMiddlewareTest.cs | 4 +- ...st.cs => EndpointRoutingMiddlewareTest.cs} | 14 +- .../BarebonesMatcher.cs | 2 +- .../BarebonesMatcherBuilder.cs | 4 +- .../BarebonesMatcherConformanceTest.cs | 2 +- .../CandidateSetTest.cs | 2 +- .../DataSourceDependentMatcherTest.cs | 2 +- .../DefaultEndpointSelectorTest.cs | 2 +- .../DefaultMatchProcessorFactoryTest.cs | 2 +- .../DfaMatcherBuilderTest.cs | 2 +- .../DfaMatcherConformanceTest.cs | 2 +- .../{Matchers => Matching}/DfaMatcherTest.cs | 2 +- .../DictionaryJumpTableTest.cs | 2 +- .../EndpointMetadataComparerTest.cs | 2 +- .../FastPathTokenizerTest.cs | 2 +- .../FullFeaturedMatcherConformanceTest.cs | 2 +- .../HttpMethodMatcherPolicyIntegrationTest.cs | 4 +- .../HttpMethodMatcherPolicyTest.cs | 4 +- .../LinearSearchJumpTableTest.cs | 2 +- .../{Matchers => Matching}/MatcherAssert.cs | 2 +- ...MatcherConformanceTest.MultipleEndpoint.cs | 2 +- .../MatcherConformanceTest.SingleEndpoint.cs | 2 +- .../MatcherConformanceTest.cs | 2 +- .../MatcherEndpointComparerTest.cs | 2 +- .../MultipleEntryJumpTableTest.cs | 2 +- .../RouteConstraintMatchProcessorTest.cs | 2 +- .../{Matchers => Matching}/RouteMatcher.cs | 2 +- .../RouteMatcherBuilder.cs | 2 +- .../RouteMatcherConformanceTest.cs | 2 +- .../SingleEntryJumpTableTest.cs | 2 +- .../TreeRouterMatcher.cs | 2 +- .../TreeRouterMatcherBuilder.cs | 2 +- .../TreeRouterMatcherConformanceTest.cs | 2 +- .../ZeroEntryJumpTableTest.cs | 2 +- .../Patterns/RoutePatternFactoryTest.cs | 2 +- .../RouteValueBasedEndpointFinderTest.cs | 7 +- .../TestObjects/TestMatcher.cs | 2 +- .../TestObjects/TestMatcherFactory.cs | 2 +- 140 files changed, 502 insertions(+), 390 deletions(-) rename benchmarkapps/Benchmarks/{StartupUsingGlobalRouting.cs => StartupUsingEndpointRouting.cs} (87%) rename benchmarks/Microsoft.AspNetCore.Routing.Performance/{Matchers => Matching}/AsciiKeyedJumpTable.cs (99%) rename benchmarks/Microsoft.AspNetCore.Routing.Performance/{Matchers => Matching}/CustomHashTableJumpTable.cs (99%) rename benchmarks/Microsoft.AspNetCore.Routing.Performance/{Matchers => Matching}/DictionaryLookupJumpTable.cs (98%) rename benchmarks/Microsoft.AspNetCore.Routing.Performance/{Matchers => Matching}/FastPathTokenizerBenchmarkBase.cs (96%) rename benchmarks/Microsoft.AspNetCore.Routing.Performance/{Matchers => Matching}/FastPathTokenizerEmptyBenchmark.cs (95%) rename benchmarks/Microsoft.AspNetCore.Routing.Performance/{Matchers => Matching}/FastPathTokenizerLargeBenchmark.cs (96%) rename benchmarks/Microsoft.AspNetCore.Routing.Performance/{Matchers => Matching}/FastPathTokenizerPlaintextBenchmark.cs (95%) rename benchmarks/Microsoft.AspNetCore.Routing.Performance/{Matchers => Matching}/FastPathTokenizerSmallBenchmark.cs (95%) rename benchmarks/Microsoft.AspNetCore.Routing.Performance/{Matchers => Matching}/JumpTableMultipleEntryBenchmark.cs (99%) rename benchmarks/Microsoft.AspNetCore.Routing.Performance/{Matchers => Matching}/JumpTableSingleEntryBenchmark.cs (97%) rename benchmarks/Microsoft.AspNetCore.Routing.Performance/{Matchers => Matching}/JumpTableZeroEntryBenchmark.cs (97%) rename benchmarks/Microsoft.AspNetCore.Routing.Performance/{Matchers => Matching}/MatcheFindCandidateSetSingleEntryBenchmark.cs (97%) rename benchmarks/Microsoft.AspNetCore.Routing.Performance/{Matchers => Matching}/MatcherAzureBenchmark.cs (97%) rename benchmarks/Microsoft.AspNetCore.Routing.Performance/{Matchers => Matching}/MatcherAzureBenchmark.generated.cs (99%) rename benchmarks/Microsoft.AspNetCore.Routing.Performance/{Matchers => Matching}/MatcherBenchmarkBase.cs (98%) rename benchmarks/Microsoft.AspNetCore.Routing.Performance/{Matchers => Matching}/MatcherFindCandidateSetAzureBenchmark.cs (98%) rename benchmarks/Microsoft.AspNetCore.Routing.Performance/{Matchers => Matching}/MatcherFindCandidateSetAzureBenchmark.generated.cs (99%) rename benchmarks/Microsoft.AspNetCore.Routing.Performance/{Matchers => Matching}/MatcherFindCandidateSetGithubBenchmark.cs (97%) rename benchmarks/Microsoft.AspNetCore.Routing.Performance/{Matchers => Matching}/MatcherFindCandidateSetGithubBenchmark.generated.cs (99%) rename benchmarks/Microsoft.AspNetCore.Routing.Performance/{Matchers => Matching}/MatcherFindCandidateSetSmallEntryCountBenchmark.cs (98%) rename benchmarks/Microsoft.AspNetCore.Routing.Performance/{Matchers => Matching}/MatcherGithubBenchmark.cs (97%) rename benchmarks/Microsoft.AspNetCore.Routing.Performance/{Matchers => Matching}/MatcherGithubBenchmark.generated.cs (99%) rename benchmarks/Microsoft.AspNetCore.Routing.Performance/{Matchers => Matching}/MatcherSingleEntryBenchmark.cs (98%) rename benchmarks/Microsoft.AspNetCore.Routing.Performance/{Matchers => Matching}/TrivialMatcher.cs (97%) rename benchmarks/Microsoft.AspNetCore.Routing.Performance/{Matchers => Matching}/TrivialMatcherBuilder.cs (92%) rename samples/RoutingSample.Web/{UseGlobalRoutingStartup.cs => UseEndpointRoutingStartup.cs} (92%) create mode 100644 src/Microsoft.AspNetCore.Routing/Builder/EndpointRoutingApplicationBuilderExtensions.cs rename src/Microsoft.AspNetCore.Routing/{GlobalRoutingMiddleware.cs => EndpointRoutingMiddleware.cs} (95%) rename src/{Microsoft.AspNetCore.Routing.Abstractions => Microsoft.AspNetCore.Routing}/IEndpointFinderOfT.cs (100%) rename src/{Microsoft.AspNetCore.Routing.Abstractions => Microsoft.AspNetCore.Routing}/INameMetadata.cs (99%) rename src/{Microsoft.AspNetCore.Routing.Abstractions => Microsoft.AspNetCore.Routing}/IRouteNameMetadata.cs (99%) rename src/{Microsoft.AspNetCore.Routing.Abstractions => Microsoft.AspNetCore.Routing}/ISuppressLinkGenerationMetadata.cs (100%) rename src/Microsoft.AspNetCore.Routing/{Builder/GlobalRoutingApplicationBuilderExtensions.cs => Internal/EndpointRoutingApplicationBuilderExtensions.cs} (57%) rename src/Microsoft.AspNetCore.Routing/{Matchers => Matching}/AmbiguousMatchException.cs (93%) rename src/Microsoft.AspNetCore.Routing/{Matchers => Matching}/Candidate.cs (98%) rename src/Microsoft.AspNetCore.Routing/{Matchers => Matching}/CandidateSet.cs (99%) rename src/Microsoft.AspNetCore.Routing/{Matchers => Matching}/CandidateState.cs (67%) rename src/Microsoft.AspNetCore.Routing/{Matchers => Matching}/DataSourceDependentMatcher.cs (97%) rename src/Microsoft.AspNetCore.Routing/{Matchers => Matching}/DefaultEndpointSelector.cs (98%) rename src/Microsoft.AspNetCore.Routing/{Matchers => Matching}/DefaultMatchProcessorFactory.cs (98%) rename src/Microsoft.AspNetCore.Routing/{Matchers => Matching}/DfaMatcher.cs (99%) rename src/Microsoft.AspNetCore.Routing/{Matchers => Matching}/DfaMatcherBuilder.cs (99%) rename src/Microsoft.AspNetCore.Routing/{Matchers => Matching}/DfaMatcherFactory.cs (95%) rename src/Microsoft.AspNetCore.Routing/{Matchers => Matching}/DfaNode.cs (98%) rename src/Microsoft.AspNetCore.Routing/{Matchers => Matching}/DfaState.cs (95%) rename src/Microsoft.AspNetCore.Routing/{Matchers => Matching}/DictionaryJumpTable.cs (97%) rename src/Microsoft.AspNetCore.Routing/{Matchers => Matching}/EndpointMetadataComparer.cs (97%) rename src/Microsoft.AspNetCore.Routing/{Matchers => Matching}/EndpointSelector.cs (90%) rename src/Microsoft.AspNetCore.Routing/{Matchers => Matching}/FastPathTokenizer.cs (97%) rename src/Microsoft.AspNetCore.Routing/{Matchers => Matching}/HttpMethodMatcherPolicy.cs (99%) rename src/Microsoft.AspNetCore.Routing/{Matchers => Matching}/IEndpointComparerPolicy.cs (86%) rename src/Microsoft.AspNetCore.Routing/{Matchers => Matching}/IEndpointSelectorPolicy.cs (87%) rename src/Microsoft.AspNetCore.Routing/{Matchers => Matching}/INodeBuilderPolicy.cs (91%) rename src/Microsoft.AspNetCore.Routing/{Matchers => Matching}/JumpTable.cs (90%) rename src/Microsoft.AspNetCore.Routing/{Matchers => Matching}/JumpTableBuilder.cs (97%) rename src/Microsoft.AspNetCore.Routing/{Matchers => Matching}/LinearSearchJumpTable.cs (97%) rename src/Microsoft.AspNetCore.Routing/{Matchers => Matching}/MatchProcessor.cs (92%) rename src/Microsoft.AspNetCore.Routing/{Matchers => Matching}/MatchProcessorBase.cs (96%) rename src/Microsoft.AspNetCore.Routing/{Matchers => Matching}/MatchProcessorFactory.cs (97%) rename src/Microsoft.AspNetCore.Routing/{Matchers => Matching}/Matcher.cs (90%) rename src/Microsoft.AspNetCore.Routing/{Matchers => Matching}/MatcherBuilder.cs (87%) rename src/Microsoft.AspNetCore.Routing/{Matchers => Matching}/MatcherEndpoint.cs (97%) rename src/Microsoft.AspNetCore.Routing/{Matchers => Matching}/MatcherEndpointComparer.cs (98%) rename src/Microsoft.AspNetCore.Routing/{Matchers => Matching}/MatcherFactory.cs (86%) rename src/Microsoft.AspNetCore.Routing/{Matchers => Matching}/MatcherPolicy.cs (100%) rename src/Microsoft.AspNetCore.Routing/{Matchers => Matching}/OptionalMatchProcessor.cs (96%) rename src/Microsoft.AspNetCore.Routing/{Matchers => Matching}/PathSegment.cs (95%) rename src/Microsoft.AspNetCore.Routing/{Matchers => Matching}/PolicyJumpTable.cs (90%) rename src/Microsoft.AspNetCore.Routing/{Matchers => Matching}/PolicyJumpTableBuilder.cs (95%) rename src/Microsoft.AspNetCore.Routing/{Matchers => Matching}/PolicyJumpTableEdge.cs (91%) rename src/Microsoft.AspNetCore.Routing/{Matchers => Matching}/PolicyNodeEdge.cs (93%) rename src/Microsoft.AspNetCore.Routing/{Matchers => Matching}/RouteConstraintMatchProcessor.cs (97%) rename src/Microsoft.AspNetCore.Routing/{Matchers => Matching}/SingleEntryJumpTable.cs (97%) rename src/Microsoft.AspNetCore.Routing/{Matchers => Matching}/ZeroEntryJumpTable.cs (94%) rename src/Microsoft.AspNetCore.Routing/{RouteValuesBasedEndpointFinderContext.cs => RouteValuesAddress.cs} (76%) create mode 100644 test/Microsoft.AspNetCore.Mvc.Routing.Abstractions.Tests/EndpointMetadataCollectionTests.cs rename test/Microsoft.AspNetCore.Routing.FunctionalTests/Benchmarks/{GlobalRoutingBenchmarkTest.cs => EndpointRoutingBenchmarkTest.cs} (87%) rename test/Microsoft.AspNetCore.Routing.FunctionalTests/{GlobalRoutingSampleTest.cs => EndpointRoutingSampleTest.cs} (94%) rename test/Microsoft.AspNetCore.Routing.Tests/Builder/{GlobalRoutingBuilderExtensionsTest.cs => EndpointRoutingBuilderExtensionsTest.cs} (82%) create mode 100644 test/Microsoft.AspNetCore.Routing.Tests/DefaultEndpointDataSourceTests.cs rename test/Microsoft.AspNetCore.Routing.Tests/{GlobalRoutingMiddlewareTest.cs => EndpointRoutingMiddlewareTest.cs} (85%) rename test/Microsoft.AspNetCore.Routing.Tests/{Matchers => Matching}/BarebonesMatcher.cs (98%) rename test/Microsoft.AspNetCore.Routing.Tests/{Matchers => Matching}/BarebonesMatcherBuilder.cs (91%) rename test/Microsoft.AspNetCore.Routing.Tests/{Matchers => Matching}/BarebonesMatcherConformanceTest.cs (97%) rename test/Microsoft.AspNetCore.Routing.Tests/{Matchers => Matching}/CandidateSetTest.cs (98%) rename test/Microsoft.AspNetCore.Routing.Tests/{Matchers => Matching}/DataSourceDependentMatcherTest.cs (98%) rename test/Microsoft.AspNetCore.Routing.Tests/{Matchers => Matching}/DefaultEndpointSelectorTest.cs (99%) rename test/Microsoft.AspNetCore.Routing.Tests/{Matchers => Matching}/DefaultMatchProcessorFactoryTest.cs (99%) rename test/Microsoft.AspNetCore.Routing.Tests/{Matchers => Matching}/DfaMatcherBuilderTest.cs (99%) rename test/Microsoft.AspNetCore.Routing.Tests/{Matchers => Matching}/DfaMatcherConformanceTest.cs (96%) rename test/Microsoft.AspNetCore.Routing.Tests/{Matchers => Matching}/DfaMatcherTest.cs (99%) rename test/Microsoft.AspNetCore.Routing.Tests/{Matchers => Matching}/DictionaryJumpTableTest.cs (91%) rename test/Microsoft.AspNetCore.Routing.Tests/{Matchers => Matching}/EndpointMetadataComparerTest.cs (98%) rename test/Microsoft.AspNetCore.Routing.Tests/{Matchers => Matching}/FastPathTokenizerTest.cs (98%) rename test/Microsoft.AspNetCore.Routing.Tests/{Matchers => Matching}/FullFeaturedMatcherConformanceTest.cs (99%) rename test/Microsoft.AspNetCore.Routing.Tests/{Matchers => Matching}/HttpMethodMatcherPolicyIntegrationTest.cs (99%) rename test/Microsoft.AspNetCore.Routing.Tests/{Matchers => Matching}/HttpMethodMatcherPolicyTest.cs (99%) rename test/Microsoft.AspNetCore.Routing.Tests/{Matchers => Matching}/LinearSearchJumpTableTest.cs (92%) rename test/Microsoft.AspNetCore.Routing.Tests/{Matchers => Matching}/MatcherAssert.cs (98%) rename test/Microsoft.AspNetCore.Routing.Tests/{Matchers => Matching}/MatcherConformanceTest.MultipleEndpoint.cs (83%) rename test/Microsoft.AspNetCore.Routing.Tests/{Matchers => Matching}/MatcherConformanceTest.SingleEndpoint.cs (99%) rename test/Microsoft.AspNetCore.Routing.Tests/{Matchers => Matching}/MatcherConformanceTest.cs (97%) rename test/Microsoft.AspNetCore.Routing.Tests/{Matchers => Matching}/MatcherEndpointComparerTest.cs (99%) rename test/Microsoft.AspNetCore.Routing.Tests/{Matchers => Matching}/MultipleEntryJumpTableTest.cs (97%) rename test/Microsoft.AspNetCore.Routing.Tests/{Matchers => Matching}/RouteConstraintMatchProcessorTest.cs (97%) rename test/Microsoft.AspNetCore.Routing.Tests/{Matchers => Matching}/RouteMatcher.cs (96%) rename test/Microsoft.AspNetCore.Routing.Tests/{Matchers => Matching}/RouteMatcherBuilder.cs (98%) rename test/Microsoft.AspNetCore.Routing.Tests/{Matchers => Matching}/RouteMatcherConformanceTest.cs (92%) rename test/Microsoft.AspNetCore.Routing.Tests/{Matchers => Matching}/SingleEntryJumpTableTest.cs (97%) rename test/Microsoft.AspNetCore.Routing.Tests/{Matchers => Matching}/TreeRouterMatcher.cs (96%) rename test/Microsoft.AspNetCore.Routing.Tests/{Matchers => Matching}/TreeRouterMatcherBuilder.cs (98%) rename test/Microsoft.AspNetCore.Routing.Tests/{Matchers => Matching}/TreeRouterMatcherConformanceTest.cs (95%) rename test/Microsoft.AspNetCore.Routing.Tests/{Matchers => Matching}/ZeroEntryJumpTableTest.cs (95%) diff --git a/benchmarkapps/Benchmarks/Program.cs b/benchmarkapps/Benchmarks/Program.cs index 0bed5e0b3c..4e832df4a2 100644 --- a/benchmarkapps/Benchmarks/Program.cs +++ b/benchmarkapps/Benchmarks/Program.cs @@ -29,11 +29,11 @@ namespace Benchmarks .UseKestrel(); var scenario = config["scenarios"]?.ToLower(); - if (scenario == "plaintextdispatcher" || scenario == "plaintextglobalrouting") + if (scenario == "plaintextdispatcher" || scenario == "plaintextendpointrouting") { - webHostBuilder.UseStartup(); + webHostBuilder.UseStartup(); // for testing - webHostBuilder.UseSetting("Startup", nameof(StartupUsingGlobalRouting)); + webHostBuilder.UseSetting("Startup", nameof(StartupUsingEndpointRouting)); } else if (scenario == "plaintextrouting" || scenario == "plaintextrouter") { @@ -44,7 +44,7 @@ namespace Benchmarks else { throw new InvalidOperationException( - $"Invalid scenario '{scenario}'. Allowed scenarios are PlaintextGlobalRouting and PlaintextRouter"); + $"Invalid scenario '{scenario}'. Allowed scenarios are PlaintextEndpointRouting and PlaintextRouter"); } return webHostBuilder; diff --git a/benchmarkapps/Benchmarks/StartupUsingGlobalRouting.cs b/benchmarkapps/Benchmarks/StartupUsingEndpointRouting.cs similarity index 87% rename from benchmarkapps/Benchmarks/StartupUsingGlobalRouting.cs rename to benchmarkapps/Benchmarks/StartupUsingEndpointRouting.cs index f05d1b905b..c04f28decc 100644 --- a/benchmarkapps/Benchmarks/StartupUsingGlobalRouting.cs +++ b/benchmarkapps/Benchmarks/StartupUsingEndpointRouting.cs @@ -2,15 +2,15 @@ // Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information. using System.Text; -using Microsoft.AspNetCore.Builder; +using Microsoft.AspNetCore.Internal; using Microsoft.AspNetCore.Routing; -using Microsoft.AspNetCore.Routing.Matchers; +using Microsoft.AspNetCore.Routing.Matching; using Microsoft.AspNetCore.Routing.Patterns; using Microsoft.Extensions.DependencyInjection; namespace Benchmarks { - public class StartupUsingGlobalRouting + public class StartupUsingEndpointRouting { private static readonly byte[] _helloWorldPayload = Encoding.UTF8.GetBytes("Hello, World!"); @@ -41,9 +41,9 @@ namespace Benchmarks }); } - public void Configure(IApplicationBuilder app) + public void Configure(Microsoft.AspNetCore.Builder.IApplicationBuilder app) { - app.UseGlobalRouting(); + app.UseEndpointRouting(); app.UseEndpoint(); } diff --git a/benchmarks/Microsoft.AspNetCore.Routing.Performance/Matchers/AsciiKeyedJumpTable.cs b/benchmarks/Microsoft.AspNetCore.Routing.Performance/Matching/AsciiKeyedJumpTable.cs similarity index 99% rename from benchmarks/Microsoft.AspNetCore.Routing.Performance/Matchers/AsciiKeyedJumpTable.cs rename to benchmarks/Microsoft.AspNetCore.Routing.Performance/Matching/AsciiKeyedJumpTable.cs index ef77524e72..2e99bd9faa 100644 --- a/benchmarks/Microsoft.AspNetCore.Routing.Performance/Matchers/AsciiKeyedJumpTable.cs +++ b/benchmarks/Microsoft.AspNetCore.Routing.Performance/Matching/AsciiKeyedJumpTable.cs @@ -4,7 +4,7 @@ using System; using System.Collections.Generic; -namespace Microsoft.AspNetCore.Routing.Matchers +namespace Microsoft.AspNetCore.Routing.Matching { // An optimized jump table that trades a small amount of additional memory for // hash-table like performance. diff --git a/benchmarks/Microsoft.AspNetCore.Routing.Performance/Matchers/CustomHashTableJumpTable.cs b/benchmarks/Microsoft.AspNetCore.Routing.Performance/Matching/CustomHashTableJumpTable.cs similarity index 99% rename from benchmarks/Microsoft.AspNetCore.Routing.Performance/Matchers/CustomHashTableJumpTable.cs rename to benchmarks/Microsoft.AspNetCore.Routing.Performance/Matching/CustomHashTableJumpTable.cs index 902373120f..d7bf028dbd 100644 --- a/benchmarks/Microsoft.AspNetCore.Routing.Performance/Matchers/CustomHashTableJumpTable.cs +++ b/benchmarks/Microsoft.AspNetCore.Routing.Performance/Matching/CustomHashTableJumpTable.cs @@ -6,7 +6,7 @@ using System.Collections.Generic; using System.Diagnostics; using System.Linq; -namespace Microsoft.AspNetCore.Routing.Matchers +namespace Microsoft.AspNetCore.Routing.Matching { internal class CustomHashTableJumpTable : JumpTable { diff --git a/benchmarks/Microsoft.AspNetCore.Routing.Performance/Matchers/DictionaryLookupJumpTable.cs b/benchmarks/Microsoft.AspNetCore.Routing.Performance/Matching/DictionaryLookupJumpTable.cs similarity index 98% rename from benchmarks/Microsoft.AspNetCore.Routing.Performance/Matchers/DictionaryLookupJumpTable.cs rename to benchmarks/Microsoft.AspNetCore.Routing.Performance/Matching/DictionaryLookupJumpTable.cs index 3e0f75716b..847d44e4ac 100644 --- a/benchmarks/Microsoft.AspNetCore.Routing.Performance/Matchers/DictionaryLookupJumpTable.cs +++ b/benchmarks/Microsoft.AspNetCore.Routing.Performance/Matching/DictionaryLookupJumpTable.cs @@ -5,7 +5,7 @@ using System; using System.Collections.Generic; using System.Linq; -namespace Microsoft.AspNetCore.Routing.Matchers +namespace Microsoft.AspNetCore.Routing.Matching { internal class DictionaryLookupJumpTable : JumpTable { diff --git a/benchmarks/Microsoft.AspNetCore.Routing.Performance/Matchers/FastPathTokenizerBenchmarkBase.cs b/benchmarks/Microsoft.AspNetCore.Routing.Performance/Matching/FastPathTokenizerBenchmarkBase.cs similarity index 96% rename from benchmarks/Microsoft.AspNetCore.Routing.Performance/Matchers/FastPathTokenizerBenchmarkBase.cs rename to benchmarks/Microsoft.AspNetCore.Routing.Performance/Matching/FastPathTokenizerBenchmarkBase.cs index 9a32198438..e7470f690f 100644 --- a/benchmarks/Microsoft.AspNetCore.Routing.Performance/Matchers/FastPathTokenizerBenchmarkBase.cs +++ b/benchmarks/Microsoft.AspNetCore.Routing.Performance/Matching/FastPathTokenizerBenchmarkBase.cs @@ -1,7 +1,7 @@ // Copyright (c) .NET Foundation. All rights reserved. // Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information. -namespace Microsoft.AspNetCore.Routing.Matchers +namespace Microsoft.AspNetCore.Routing.Matching { public abstract class FastPathTokenizerBenchmarkBase { diff --git a/benchmarks/Microsoft.AspNetCore.Routing.Performance/Matchers/FastPathTokenizerEmptyBenchmark.cs b/benchmarks/Microsoft.AspNetCore.Routing.Performance/Matching/FastPathTokenizerEmptyBenchmark.cs similarity index 95% rename from benchmarks/Microsoft.AspNetCore.Routing.Performance/Matchers/FastPathTokenizerEmptyBenchmark.cs rename to benchmarks/Microsoft.AspNetCore.Routing.Performance/Matching/FastPathTokenizerEmptyBenchmark.cs index f042b9a66d..6777205f59 100644 --- a/benchmarks/Microsoft.AspNetCore.Routing.Performance/Matchers/FastPathTokenizerEmptyBenchmark.cs +++ b/benchmarks/Microsoft.AspNetCore.Routing.Performance/Matching/FastPathTokenizerEmptyBenchmark.cs @@ -4,7 +4,7 @@ using System; using BenchmarkDotNet.Attributes; -namespace Microsoft.AspNetCore.Routing.Matchers +namespace Microsoft.AspNetCore.Routing.Matching { public class FastPathTokenizerEmptyBenchmark : FastPathTokenizerBenchmarkBase { diff --git a/benchmarks/Microsoft.AspNetCore.Routing.Performance/Matchers/FastPathTokenizerLargeBenchmark.cs b/benchmarks/Microsoft.AspNetCore.Routing.Performance/Matching/FastPathTokenizerLargeBenchmark.cs similarity index 96% rename from benchmarks/Microsoft.AspNetCore.Routing.Performance/Matchers/FastPathTokenizerLargeBenchmark.cs rename to benchmarks/Microsoft.AspNetCore.Routing.Performance/Matching/FastPathTokenizerLargeBenchmark.cs index fdf8b6f103..edb5e427ab 100644 --- a/benchmarks/Microsoft.AspNetCore.Routing.Performance/Matchers/FastPathTokenizerLargeBenchmark.cs +++ b/benchmarks/Microsoft.AspNetCore.Routing.Performance/Matching/FastPathTokenizerLargeBenchmark.cs @@ -4,7 +4,7 @@ using System; using BenchmarkDotNet.Attributes; -namespace Microsoft.AspNetCore.Routing.Matchers +namespace Microsoft.AspNetCore.Routing.Matching { public class FastPathTokenizerLargeBenchmark : FastPathTokenizerBenchmarkBase { diff --git a/benchmarks/Microsoft.AspNetCore.Routing.Performance/Matchers/FastPathTokenizerPlaintextBenchmark.cs b/benchmarks/Microsoft.AspNetCore.Routing.Performance/Matching/FastPathTokenizerPlaintextBenchmark.cs similarity index 95% rename from benchmarks/Microsoft.AspNetCore.Routing.Performance/Matchers/FastPathTokenizerPlaintextBenchmark.cs rename to benchmarks/Microsoft.AspNetCore.Routing.Performance/Matching/FastPathTokenizerPlaintextBenchmark.cs index 1be82d90dd..d3a5c14349 100644 --- a/benchmarks/Microsoft.AspNetCore.Routing.Performance/Matchers/FastPathTokenizerPlaintextBenchmark.cs +++ b/benchmarks/Microsoft.AspNetCore.Routing.Performance/Matching/FastPathTokenizerPlaintextBenchmark.cs @@ -4,7 +4,7 @@ using System; using BenchmarkDotNet.Attributes; -namespace Microsoft.AspNetCore.Routing.Matchers +namespace Microsoft.AspNetCore.Routing.Matching { public class FastPathTokenizerPlaintextBenchmark : FastPathTokenizerBenchmarkBase { diff --git a/benchmarks/Microsoft.AspNetCore.Routing.Performance/Matchers/FastPathTokenizerSmallBenchmark.cs b/benchmarks/Microsoft.AspNetCore.Routing.Performance/Matching/FastPathTokenizerSmallBenchmark.cs similarity index 95% rename from benchmarks/Microsoft.AspNetCore.Routing.Performance/Matchers/FastPathTokenizerSmallBenchmark.cs rename to benchmarks/Microsoft.AspNetCore.Routing.Performance/Matching/FastPathTokenizerSmallBenchmark.cs index 737657824f..eeac746021 100644 --- a/benchmarks/Microsoft.AspNetCore.Routing.Performance/Matchers/FastPathTokenizerSmallBenchmark.cs +++ b/benchmarks/Microsoft.AspNetCore.Routing.Performance/Matching/FastPathTokenizerSmallBenchmark.cs @@ -4,7 +4,7 @@ using System; using BenchmarkDotNet.Attributes; -namespace Microsoft.AspNetCore.Routing.Matchers +namespace Microsoft.AspNetCore.Routing.Matching { public class FastPathTokenizerSmallBenchmark : FastPathTokenizerBenchmarkBase { diff --git a/benchmarks/Microsoft.AspNetCore.Routing.Performance/Matchers/JumpTableMultipleEntryBenchmark.cs b/benchmarks/Microsoft.AspNetCore.Routing.Performance/Matching/JumpTableMultipleEntryBenchmark.cs similarity index 99% rename from benchmarks/Microsoft.AspNetCore.Routing.Performance/Matchers/JumpTableMultipleEntryBenchmark.cs rename to benchmarks/Microsoft.AspNetCore.Routing.Performance/Matching/JumpTableMultipleEntryBenchmark.cs index 731334c1c1..d34792ae5f 100644 --- a/benchmarks/Microsoft.AspNetCore.Routing.Performance/Matchers/JumpTableMultipleEntryBenchmark.cs +++ b/benchmarks/Microsoft.AspNetCore.Routing.Performance/Matching/JumpTableMultipleEntryBenchmark.cs @@ -6,7 +6,7 @@ using System.Collections.Generic; using System.Diagnostics; using BenchmarkDotNet.Attributes; -namespace Microsoft.AspNetCore.Routing.Matchers +namespace Microsoft.AspNetCore.Routing.Matching { public class JumpTableMultipleEntryBenchmark { diff --git a/benchmarks/Microsoft.AspNetCore.Routing.Performance/Matchers/JumpTableSingleEntryBenchmark.cs b/benchmarks/Microsoft.AspNetCore.Routing.Performance/Matching/JumpTableSingleEntryBenchmark.cs similarity index 97% rename from benchmarks/Microsoft.AspNetCore.Routing.Performance/Matchers/JumpTableSingleEntryBenchmark.cs rename to benchmarks/Microsoft.AspNetCore.Routing.Performance/Matching/JumpTableSingleEntryBenchmark.cs index 0ab4bf3380..ed59d796ed 100644 --- a/benchmarks/Microsoft.AspNetCore.Routing.Performance/Matchers/JumpTableSingleEntryBenchmark.cs +++ b/benchmarks/Microsoft.AspNetCore.Routing.Performance/Matching/JumpTableSingleEntryBenchmark.cs @@ -4,7 +4,7 @@ using System; using BenchmarkDotNet.Attributes; -namespace Microsoft.AspNetCore.Routing.Matchers +namespace Microsoft.AspNetCore.Routing.Matching { public class JumpTableSingleEntryBenchmark { diff --git a/benchmarks/Microsoft.AspNetCore.Routing.Performance/Matchers/JumpTableZeroEntryBenchmark.cs b/benchmarks/Microsoft.AspNetCore.Routing.Performance/Matching/JumpTableZeroEntryBenchmark.cs similarity index 97% rename from benchmarks/Microsoft.AspNetCore.Routing.Performance/Matchers/JumpTableZeroEntryBenchmark.cs rename to benchmarks/Microsoft.AspNetCore.Routing.Performance/Matching/JumpTableZeroEntryBenchmark.cs index d14771e36f..337011de72 100644 --- a/benchmarks/Microsoft.AspNetCore.Routing.Performance/Matchers/JumpTableZeroEntryBenchmark.cs +++ b/benchmarks/Microsoft.AspNetCore.Routing.Performance/Matching/JumpTableZeroEntryBenchmark.cs @@ -3,7 +3,7 @@ using BenchmarkDotNet.Attributes; -namespace Microsoft.AspNetCore.Routing.Matchers +namespace Microsoft.AspNetCore.Routing.Matching { public class JumpTableZeroEntryBenchmark { diff --git a/benchmarks/Microsoft.AspNetCore.Routing.Performance/Matchers/MatcheFindCandidateSetSingleEntryBenchmark.cs b/benchmarks/Microsoft.AspNetCore.Routing.Performance/Matching/MatcheFindCandidateSetSingleEntryBenchmark.cs similarity index 97% rename from benchmarks/Microsoft.AspNetCore.Routing.Performance/Matchers/MatcheFindCandidateSetSingleEntryBenchmark.cs rename to benchmarks/Microsoft.AspNetCore.Routing.Performance/Matching/MatcheFindCandidateSetSingleEntryBenchmark.cs index 18818df532..d4dc11a77a 100644 --- a/benchmarks/Microsoft.AspNetCore.Routing.Performance/Matchers/MatcheFindCandidateSetSingleEntryBenchmark.cs +++ b/benchmarks/Microsoft.AspNetCore.Routing.Performance/Matching/MatcheFindCandidateSetSingleEntryBenchmark.cs @@ -5,7 +5,7 @@ using System; using BenchmarkDotNet.Attributes; using Microsoft.AspNetCore.Http; -namespace Microsoft.AspNetCore.Routing.Matchers +namespace Microsoft.AspNetCore.Routing.Matching { public class MatcheFindCandidateSetSingleEntryBenchmark : MatcherBenchmarkBase { diff --git a/benchmarks/Microsoft.AspNetCore.Routing.Performance/Matchers/MatcherAzureBenchmark.cs b/benchmarks/Microsoft.AspNetCore.Routing.Performance/Matching/MatcherAzureBenchmark.cs similarity index 97% rename from benchmarks/Microsoft.AspNetCore.Routing.Performance/Matchers/MatcherAzureBenchmark.cs rename to benchmarks/Microsoft.AspNetCore.Routing.Performance/Matching/MatcherAzureBenchmark.cs index 23e3948aad..1cd5b350f9 100644 --- a/benchmarks/Microsoft.AspNetCore.Routing.Performance/Matchers/MatcherAzureBenchmark.cs +++ b/benchmarks/Microsoft.AspNetCore.Routing.Performance/Matching/MatcherAzureBenchmark.cs @@ -4,7 +4,7 @@ using System.Threading.Tasks; using BenchmarkDotNet.Attributes; -namespace Microsoft.AspNetCore.Routing.Matchers +namespace Microsoft.AspNetCore.Routing.Matching { // Generated from https://github.com/Azure/azure-rest-api-specs public partial class MatcherAzureBenchmark : MatcherBenchmarkBase diff --git a/benchmarks/Microsoft.AspNetCore.Routing.Performance/Matchers/MatcherAzureBenchmark.generated.cs b/benchmarks/Microsoft.AspNetCore.Routing.Performance/Matching/MatcherAzureBenchmark.generated.cs similarity index 99% rename from benchmarks/Microsoft.AspNetCore.Routing.Performance/Matchers/MatcherAzureBenchmark.generated.cs rename to benchmarks/Microsoft.AspNetCore.Routing.Performance/Matching/MatcherAzureBenchmark.generated.cs index e45f4009f7..0a2c549bfd 100644 --- a/benchmarks/Microsoft.AspNetCore.Routing.Performance/Matchers/MatcherAzureBenchmark.generated.cs +++ b/benchmarks/Microsoft.AspNetCore.Routing.Performance/Matching/MatcherAzureBenchmark.generated.cs @@ -4,7 +4,7 @@ using Microsoft.AspNetCore.Http; -namespace Microsoft.AspNetCore.Routing.Matchers +namespace Microsoft.AspNetCore.Routing.Matching { // This code was generated by the Swaggatherer public partial class MatcherAzureBenchmark : MatcherBenchmarkBase diff --git a/benchmarks/Microsoft.AspNetCore.Routing.Performance/Matchers/MatcherBenchmarkBase.cs b/benchmarks/Microsoft.AspNetCore.Routing.Performance/Matching/MatcherBenchmarkBase.cs similarity index 98% rename from benchmarks/Microsoft.AspNetCore.Routing.Performance/Matchers/MatcherBenchmarkBase.cs rename to benchmarks/Microsoft.AspNetCore.Routing.Performance/Matching/MatcherBenchmarkBase.cs index 8d428e8253..76802c758d 100644 --- a/benchmarks/Microsoft.AspNetCore.Routing.Performance/Matchers/MatcherBenchmarkBase.cs +++ b/benchmarks/Microsoft.AspNetCore.Routing.Performance/Matching/MatcherBenchmarkBase.cs @@ -11,7 +11,7 @@ using Microsoft.AspNetCore.Routing.Metadata; using Microsoft.AspNetCore.Routing.Patterns; using Microsoft.Extensions.DependencyInjection; -namespace Microsoft.AspNetCore.Routing.Matchers +namespace Microsoft.AspNetCore.Routing.Matching { public abstract class MatcherBenchmarkBase { diff --git a/benchmarks/Microsoft.AspNetCore.Routing.Performance/Matchers/MatcherFindCandidateSetAzureBenchmark.cs b/benchmarks/Microsoft.AspNetCore.Routing.Performance/Matching/MatcherFindCandidateSetAzureBenchmark.cs similarity index 98% rename from benchmarks/Microsoft.AspNetCore.Routing.Performance/Matchers/MatcherFindCandidateSetAzureBenchmark.cs rename to benchmarks/Microsoft.AspNetCore.Routing.Performance/Matching/MatcherFindCandidateSetAzureBenchmark.cs index 7c346eca4a..84f6ac7dad 100644 --- a/benchmarks/Microsoft.AspNetCore.Routing.Performance/Matchers/MatcherFindCandidateSetAzureBenchmark.cs +++ b/benchmarks/Microsoft.AspNetCore.Routing.Performance/Matching/MatcherFindCandidateSetAzureBenchmark.cs @@ -4,7 +4,7 @@ using System; using BenchmarkDotNet.Attributes; -namespace Microsoft.AspNetCore.Routing.Matchers +namespace Microsoft.AspNetCore.Routing.Matching { // Generated from https://github.com/Azure/azure-rest-api-specs public partial class MatcherFindCandidateSetAzureBenchmark : MatcherBenchmarkBase diff --git a/benchmarks/Microsoft.AspNetCore.Routing.Performance/Matchers/MatcherFindCandidateSetAzureBenchmark.generated.cs b/benchmarks/Microsoft.AspNetCore.Routing.Performance/Matching/MatcherFindCandidateSetAzureBenchmark.generated.cs similarity index 99% rename from benchmarks/Microsoft.AspNetCore.Routing.Performance/Matchers/MatcherFindCandidateSetAzureBenchmark.generated.cs rename to benchmarks/Microsoft.AspNetCore.Routing.Performance/Matching/MatcherFindCandidateSetAzureBenchmark.generated.cs index c68f822fc2..b7ee1d1e64 100644 --- a/benchmarks/Microsoft.AspNetCore.Routing.Performance/Matchers/MatcherFindCandidateSetAzureBenchmark.generated.cs +++ b/benchmarks/Microsoft.AspNetCore.Routing.Performance/Matching/MatcherFindCandidateSetAzureBenchmark.generated.cs @@ -4,7 +4,7 @@ using Microsoft.AspNetCore.Http; -namespace Microsoft.AspNetCore.Routing.Matchers +namespace Microsoft.AspNetCore.Routing.Matching { // This code was generated by the Swaggatherer public partial class MatcherFindCandidateSetAzureBenchmark : MatcherBenchmarkBase diff --git a/benchmarks/Microsoft.AspNetCore.Routing.Performance/Matchers/MatcherFindCandidateSetGithubBenchmark.cs b/benchmarks/Microsoft.AspNetCore.Routing.Performance/Matching/MatcherFindCandidateSetGithubBenchmark.cs similarity index 97% rename from benchmarks/Microsoft.AspNetCore.Routing.Performance/Matchers/MatcherFindCandidateSetGithubBenchmark.cs rename to benchmarks/Microsoft.AspNetCore.Routing.Performance/Matching/MatcherFindCandidateSetGithubBenchmark.cs index 7b13d8fddf..09f7fe7d6d 100644 --- a/benchmarks/Microsoft.AspNetCore.Routing.Performance/Matchers/MatcherFindCandidateSetGithubBenchmark.cs +++ b/benchmarks/Microsoft.AspNetCore.Routing.Performance/Matching/MatcherFindCandidateSetGithubBenchmark.cs @@ -5,7 +5,7 @@ using System; using System.Threading.Tasks; using BenchmarkDotNet.Attributes; -namespace Microsoft.AspNetCore.Routing.Matchers +namespace Microsoft.AspNetCore.Routing.Matching { // Generated from https://github.com/APIs-guru/openapi-directory // Use https://editor2.swagger.io/ to convert from yaml to json- diff --git a/benchmarks/Microsoft.AspNetCore.Routing.Performance/Matchers/MatcherFindCandidateSetGithubBenchmark.generated.cs b/benchmarks/Microsoft.AspNetCore.Routing.Performance/Matching/MatcherFindCandidateSetGithubBenchmark.generated.cs similarity index 99% rename from benchmarks/Microsoft.AspNetCore.Routing.Performance/Matchers/MatcherFindCandidateSetGithubBenchmark.generated.cs rename to benchmarks/Microsoft.AspNetCore.Routing.Performance/Matching/MatcherFindCandidateSetGithubBenchmark.generated.cs index 034547b9d2..8bc1316747 100644 --- a/benchmarks/Microsoft.AspNetCore.Routing.Performance/Matchers/MatcherFindCandidateSetGithubBenchmark.generated.cs +++ b/benchmarks/Microsoft.AspNetCore.Routing.Performance/Matching/MatcherFindCandidateSetGithubBenchmark.generated.cs @@ -4,7 +4,7 @@ using Microsoft.AspNetCore.Http; -namespace Microsoft.AspNetCore.Routing.Matchers +namespace Microsoft.AspNetCore.Routing.Matching { // This code was generated by the Swaggatherer public partial class MatcherFindCandidateSetGithubBenchmark : MatcherBenchmarkBase diff --git a/benchmarks/Microsoft.AspNetCore.Routing.Performance/Matchers/MatcherFindCandidateSetSmallEntryCountBenchmark.cs b/benchmarks/Microsoft.AspNetCore.Routing.Performance/Matching/MatcherFindCandidateSetSmallEntryCountBenchmark.cs similarity index 98% rename from benchmarks/Microsoft.AspNetCore.Routing.Performance/Matchers/MatcherFindCandidateSetSmallEntryCountBenchmark.cs rename to benchmarks/Microsoft.AspNetCore.Routing.Performance/Matching/MatcherFindCandidateSetSmallEntryCountBenchmark.cs index 472ff9c2a8..ede760ea17 100644 --- a/benchmarks/Microsoft.AspNetCore.Routing.Performance/Matchers/MatcherFindCandidateSetSmallEntryCountBenchmark.cs +++ b/benchmarks/Microsoft.AspNetCore.Routing.Performance/Matching/MatcherFindCandidateSetSmallEntryCountBenchmark.cs @@ -5,7 +5,7 @@ using System; using BenchmarkDotNet.Attributes; using Microsoft.AspNetCore.Http; -namespace Microsoft.AspNetCore.Routing.Matchers +namespace Microsoft.AspNetCore.Routing.Matching { public class MatcherFindCandidateSetSmallEntryCountBenchmark : MatcherBenchmarkBase { diff --git a/benchmarks/Microsoft.AspNetCore.Routing.Performance/Matchers/MatcherGithubBenchmark.cs b/benchmarks/Microsoft.AspNetCore.Routing.Performance/Matching/MatcherGithubBenchmark.cs similarity index 97% rename from benchmarks/Microsoft.AspNetCore.Routing.Performance/Matchers/MatcherGithubBenchmark.cs rename to benchmarks/Microsoft.AspNetCore.Routing.Performance/Matching/MatcherGithubBenchmark.cs index 2cdb76f11f..5444f94a0b 100644 --- a/benchmarks/Microsoft.AspNetCore.Routing.Performance/Matchers/MatcherGithubBenchmark.cs +++ b/benchmarks/Microsoft.AspNetCore.Routing.Performance/Matching/MatcherGithubBenchmark.cs @@ -4,7 +4,7 @@ using System.Threading.Tasks; using BenchmarkDotNet.Attributes; -namespace Microsoft.AspNetCore.Routing.Matchers +namespace Microsoft.AspNetCore.Routing.Matching { // Generated from https://github.com/APIs-guru/openapi-directory // Use https://editor2.swagger.io/ to convert from yaml to json- diff --git a/benchmarks/Microsoft.AspNetCore.Routing.Performance/Matchers/MatcherGithubBenchmark.generated.cs b/benchmarks/Microsoft.AspNetCore.Routing.Performance/Matching/MatcherGithubBenchmark.generated.cs similarity index 99% rename from benchmarks/Microsoft.AspNetCore.Routing.Performance/Matchers/MatcherGithubBenchmark.generated.cs rename to benchmarks/Microsoft.AspNetCore.Routing.Performance/Matching/MatcherGithubBenchmark.generated.cs index 1de9e9f993..0f5ecbc165 100644 --- a/benchmarks/Microsoft.AspNetCore.Routing.Performance/Matchers/MatcherGithubBenchmark.generated.cs +++ b/benchmarks/Microsoft.AspNetCore.Routing.Performance/Matching/MatcherGithubBenchmark.generated.cs @@ -4,7 +4,7 @@ using Microsoft.AspNetCore.Http; -namespace Microsoft.AspNetCore.Routing.Matchers +namespace Microsoft.AspNetCore.Routing.Matching { // This code was generated by the Swaggatherer public partial class MatcherGithubBenchmark : MatcherBenchmarkBase diff --git a/benchmarks/Microsoft.AspNetCore.Routing.Performance/Matchers/MatcherSingleEntryBenchmark.cs b/benchmarks/Microsoft.AspNetCore.Routing.Performance/Matching/MatcherSingleEntryBenchmark.cs similarity index 98% rename from benchmarks/Microsoft.AspNetCore.Routing.Performance/Matchers/MatcherSingleEntryBenchmark.cs rename to benchmarks/Microsoft.AspNetCore.Routing.Performance/Matching/MatcherSingleEntryBenchmark.cs index 5125ffb169..a51c4af375 100644 --- a/benchmarks/Microsoft.AspNetCore.Routing.Performance/Matchers/MatcherSingleEntryBenchmark.cs +++ b/benchmarks/Microsoft.AspNetCore.Routing.Performance/Matching/MatcherSingleEntryBenchmark.cs @@ -5,7 +5,7 @@ using System.Threading.Tasks; using BenchmarkDotNet.Attributes; using Microsoft.AspNetCore.Http; -namespace Microsoft.AspNetCore.Routing.Matchers +namespace Microsoft.AspNetCore.Routing.Matching { // Just like TechEmpower Plaintext public partial class MatcherSingleEntryBenchmark : MatcherBenchmarkBase diff --git a/benchmarks/Microsoft.AspNetCore.Routing.Performance/Matchers/TrivialMatcher.cs b/benchmarks/Microsoft.AspNetCore.Routing.Performance/Matching/TrivialMatcher.cs similarity index 97% rename from benchmarks/Microsoft.AspNetCore.Routing.Performance/Matchers/TrivialMatcher.cs rename to benchmarks/Microsoft.AspNetCore.Routing.Performance/Matching/TrivialMatcher.cs index afdb27d0d9..d05ed2639d 100644 --- a/benchmarks/Microsoft.AspNetCore.Routing.Performance/Matchers/TrivialMatcher.cs +++ b/benchmarks/Microsoft.AspNetCore.Routing.Performance/Matching/TrivialMatcher.cs @@ -5,7 +5,7 @@ using System; using System.Threading.Tasks; using Microsoft.AspNetCore.Http; -namespace Microsoft.AspNetCore.Routing.Matchers +namespace Microsoft.AspNetCore.Routing.Matching { // A test-only matcher implementation - used as a baseline for simpler // perf tests. The idea with this matcher is that we can cheat on the requirements diff --git a/benchmarks/Microsoft.AspNetCore.Routing.Performance/Matchers/TrivialMatcherBuilder.cs b/benchmarks/Microsoft.AspNetCore.Routing.Performance/Matching/TrivialMatcherBuilder.cs similarity index 92% rename from benchmarks/Microsoft.AspNetCore.Routing.Performance/Matchers/TrivialMatcherBuilder.cs rename to benchmarks/Microsoft.AspNetCore.Routing.Performance/Matching/TrivialMatcherBuilder.cs index f327de28db..ffa3def965 100644 --- a/benchmarks/Microsoft.AspNetCore.Routing.Performance/Matchers/TrivialMatcherBuilder.cs +++ b/benchmarks/Microsoft.AspNetCore.Routing.Performance/Matching/TrivialMatcherBuilder.cs @@ -4,7 +4,7 @@ using System.Collections.Generic; using System.Linq; -namespace Microsoft.AspNetCore.Routing.Matchers +namespace Microsoft.AspNetCore.Routing.Matching { internal class TrivialMatcherBuilder : MatcherBuilder { diff --git a/benchmarks/Microsoft.AspNetCore.Routing.Performance/Microsoft.AspNetCore.Routing.Performance.csproj b/benchmarks/Microsoft.AspNetCore.Routing.Performance/Microsoft.AspNetCore.Routing.Performance.csproj index e3ee4a1f6a..d1e25aa6f0 100644 --- a/benchmarks/Microsoft.AspNetCore.Routing.Performance/Microsoft.AspNetCore.Routing.Performance.csproj +++ b/benchmarks/Microsoft.AspNetCore.Routing.Performance/Microsoft.AspNetCore.Routing.Performance.csproj @@ -18,23 +18,23 @@ for perf comparisons. --> - - Matchers\BarebonesMatcher.cs + + Matching\BarebonesMatcher.cs - - Matchers\BarebonesMatcherBuilder.cs + + Matching\BarebonesMatcherBuilder.cs - - Matchers\RouteMatcher.cs + + Matching\RouteMatcher.cs - - Matchers\RouteMatcherBuilder.cs + + Matching\RouteMatcherBuilder.cs - - Matchers\TreeRouterMatcher.cs + + Matching\TreeRouterMatcher.cs - - Matchers\TreeRouterMatcherBuilder.cs + + Matching\TreeRouterMatcherBuilder.cs diff --git a/benchmarks/Swaggatherer/Template.cs b/benchmarks/Swaggatherer/Template.cs index 9c05aa5867..a48ecb7749 100644 --- a/benchmarks/Swaggatherer/Template.cs +++ b/benchmarks/Swaggatherer/Template.cs @@ -39,7 +39,7 @@ namespace Swaggatherer using Microsoft.AspNetCore.Http; -namespace Microsoft.AspNetCore.Routing.Matchers +namespace Microsoft.AspNetCore.Routing.Matching {{ // This code was generated by the Swaggatherer public partial class GeneratedBenchmark : MatcherBenchmarkBase diff --git a/samples/RoutingSample.Web/EndsWithStringMatchProcessor.cs b/samples/RoutingSample.Web/EndsWithStringMatchProcessor.cs index 17fcb1f990..ea50812015 100644 --- a/samples/RoutingSample.Web/EndsWithStringMatchProcessor.cs +++ b/samples/RoutingSample.Web/EndsWithStringMatchProcessor.cs @@ -3,7 +3,7 @@ using System; using System.Globalization; -using Microsoft.AspNetCore.Routing.Matchers; +using Microsoft.AspNetCore.Routing.Matching; using Microsoft.Extensions.Logging; namespace RoutingSample.Web diff --git a/samples/RoutingSample.Web/Program.cs b/samples/RoutingSample.Web/Program.cs index 206e4bb0bf..5867596559 100644 --- a/samples/RoutingSample.Web/Program.cs +++ b/samples/RoutingSample.Web/Program.cs @@ -9,8 +9,8 @@ namespace RoutingSample.Web { public class Program { - public static readonly string GlobalRoutingScenario = "globalrouting"; - public static readonly string RouterScenario = "router"; + public const string EndpointRoutingScenario = "endpointrouting"; + public const string RouterScenario = "router"; public static void Main(string[] args) { @@ -25,7 +25,7 @@ namespace RoutingSample.Web if (args.Length == 0) { Console.WriteLine("Choose a sample to run:"); - Console.WriteLine($"1. {GlobalRoutingScenario}"); + Console.WriteLine($"1. {EndpointRoutingScenario}"); Console.WriteLine($"2. {RouterScenario}"); Console.WriteLine(); @@ -40,18 +40,18 @@ namespace RoutingSample.Web switch (scenario) { case "1": - case "globalrouting": - startupType = typeof(UseGlobalRoutingStartup); + case EndpointRoutingScenario: + startupType = typeof(UseEndpointRoutingStartup); break; case "2": - case "router": + case RouterScenario: startupType = typeof(UseRouterStartup); break; default: Console.WriteLine($"unknown scenario {scenario}"); - Console.WriteLine($"usage: dotnet run -- ({GlobalRoutingScenario}|{RouterScenario})"); + Console.WriteLine($"usage: dotnet run -- ({EndpointRoutingScenario}|{RouterScenario})"); throw new InvalidOperationException(); } diff --git a/samples/RoutingSample.Web/UseGlobalRoutingStartup.cs b/samples/RoutingSample.Web/UseEndpointRoutingStartup.cs similarity index 92% rename from samples/RoutingSample.Web/UseGlobalRoutingStartup.cs rename to samples/RoutingSample.Web/UseEndpointRoutingStartup.cs index 12cfd28640..06dab7eddb 100644 --- a/samples/RoutingSample.Web/UseGlobalRoutingStartup.cs +++ b/samples/RoutingSample.Web/UseEndpointRoutingStartup.cs @@ -3,18 +3,18 @@ using System; using System.Text; -using Microsoft.AspNetCore.Builder; using Microsoft.AspNetCore.Http; +using Microsoft.AspNetCore.Internal; using Microsoft.AspNetCore.Routing; -using Microsoft.AspNetCore.Routing.Matchers; +using Microsoft.AspNetCore.Routing.Matching; using Microsoft.AspNetCore.Routing.Patterns; using Microsoft.Extensions.DependencyInjection; namespace RoutingSample.Web { - public class UseGlobalRoutingStartup + public class UseEndpointRoutingStartup { - private static readonly byte[] _homePayload = Encoding.UTF8.GetBytes("Global Routing sample endpoints:" + Environment.NewLine + "/plaintext"); + private static readonly byte[] _homePayload = Encoding.UTF8.GetBytes("Endpoint Routing sample endpoints:" + Environment.NewLine + "/plaintext"); private static readonly byte[] _helloWorldPayload = Encoding.UTF8.GetBytes("Hello, World!"); public void ConfigureServices(IServiceCollection services) @@ -86,9 +86,9 @@ namespace RoutingSample.Web }); } - public void Configure(IApplicationBuilder app) + public void Configure(Microsoft.AspNetCore.Builder.IApplicationBuilder app) { - app.UseGlobalRouting(); + app.UseEndpointRouting(); // Imagine some more stuff here... diff --git a/src/Microsoft.AspNetCore.Routing.Abstractions/EndpointMetadataCollection.cs b/src/Microsoft.AspNetCore.Routing.Abstractions/EndpointMetadataCollection.cs index 9829ab396c..405a5581d1 100644 --- a/src/Microsoft.AspNetCore.Routing.Abstractions/EndpointMetadataCollection.cs +++ b/src/Microsoft.AspNetCore.Routing.Abstractions/EndpointMetadataCollection.cs @@ -8,7 +8,7 @@ using System.Linq; namespace Microsoft.AspNetCore.Routing { - public class EndpointMetadataCollection : IReadOnlyList + public sealed class EndpointMetadataCollection : IReadOnlyList { public static readonly EndpointMetadataCollection Empty = new EndpointMetadataCollection(Array.Empty()); @@ -24,6 +24,11 @@ namespace Microsoft.AspNetCore.Routing _items = items.ToArray(); } + public EndpointMetadataCollection(params object[] items) + : this((IEnumerable)items) + { + } + public object this[int index] => _items[index]; public int Count => _items.Length; diff --git a/src/Microsoft.AspNetCore.Routing/Builder/EndpointRoutingApplicationBuilderExtensions.cs b/src/Microsoft.AspNetCore.Routing/Builder/EndpointRoutingApplicationBuilderExtensions.cs new file mode 100644 index 0000000000..428fae6ab1 --- /dev/null +++ b/src/Microsoft.AspNetCore.Routing/Builder/EndpointRoutingApplicationBuilderExtensions.cs @@ -0,0 +1,19 @@ +// Copyright (c) .NET Foundation. All rights reserved. +// Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information. + +namespace Microsoft.AspNetCore.Builder +{ + // TODO: Remove once MVC is updated + public static class EndpointRoutingApplicationBuilderExtensions + { + public static IApplicationBuilder UseGlobalRouting(this IApplicationBuilder builder) + { + return Internal.EndpointRoutingApplicationBuilderExtensions.UseEndpointRouting(builder); + } + + public static IApplicationBuilder UseEndpoint(this IApplicationBuilder builder) + { + return Internal.EndpointRoutingApplicationBuilderExtensions.UseEndpoint(builder); + } + } +} diff --git a/src/Microsoft.AspNetCore.Routing/CompositeEndpointDataSource.cs b/src/Microsoft.AspNetCore.Routing/CompositeEndpointDataSource.cs index c9673a33c3..e9157ea578 100644 --- a/src/Microsoft.AspNetCore.Routing/CompositeEndpointDataSource.cs +++ b/src/Microsoft.AspNetCore.Routing/CompositeEndpointDataSource.cs @@ -7,14 +7,14 @@ using System.Diagnostics; using System.Linq; using System.Text; using System.Threading; -using Microsoft.AspNetCore.Routing.Matchers; +using Microsoft.AspNetCore.Routing.Matching; using Microsoft.AspNetCore.Routing.Metadata; using Microsoft.Extensions.Primitives; namespace Microsoft.AspNetCore.Routing { [DebuggerDisplay("{DebuggerDisplayString,nq}")] - public class CompositeEndpointDataSource : EndpointDataSource + public sealed class CompositeEndpointDataSource : EndpointDataSource { private readonly EndpointDataSource[] _dataSources; private readonly object _lock; diff --git a/src/Microsoft.AspNetCore.Routing/DefaultEndpointDataSource.cs b/src/Microsoft.AspNetCore.Routing/DefaultEndpointDataSource.cs index d74369c8b7..b73b8fcc0b 100644 --- a/src/Microsoft.AspNetCore.Routing/DefaultEndpointDataSource.cs +++ b/src/Microsoft.AspNetCore.Routing/DefaultEndpointDataSource.cs @@ -8,9 +8,14 @@ using Microsoft.Extensions.Primitives; namespace Microsoft.AspNetCore.Routing { - public class DefaultEndpointDataSource : EndpointDataSource + public sealed class DefaultEndpointDataSource : EndpointDataSource { - private readonly List _endpoints; + private readonly List _endpoints; + + public DefaultEndpointDataSource(params Endpoint[] endpoints) + : this((IEnumerable) endpoints) + { + } public DefaultEndpointDataSource(IEnumerable endpoints) { diff --git a/src/Microsoft.AspNetCore.Routing/DefaultLinkGenerator.cs b/src/Microsoft.AspNetCore.Routing/DefaultLinkGenerator.cs index 0d7df72432..b515643139 100644 --- a/src/Microsoft.AspNetCore.Routing/DefaultLinkGenerator.cs +++ b/src/Microsoft.AspNetCore.Routing/DefaultLinkGenerator.cs @@ -6,7 +6,7 @@ using System.Linq; using System.Text.Encodings.Web; using Microsoft.AspNetCore.Http; using Microsoft.AspNetCore.Routing.Internal; -using Microsoft.AspNetCore.Routing.Matchers; +using Microsoft.AspNetCore.Routing.Matching; using Microsoft.AspNetCore.Routing.Template; using Microsoft.Extensions.Logging; using Microsoft.Extensions.ObjectPool; diff --git a/src/Microsoft.AspNetCore.Routing/DependencyInjection/RoutingServiceCollectionExtensions.cs b/src/Microsoft.AspNetCore.Routing/DependencyInjection/RoutingServiceCollectionExtensions.cs index ab4c29b702..42433f64c0 100644 --- a/src/Microsoft.AspNetCore.Routing/DependencyInjection/RoutingServiceCollectionExtensions.cs +++ b/src/Microsoft.AspNetCore.Routing/DependencyInjection/RoutingServiceCollectionExtensions.cs @@ -3,10 +3,8 @@ using System; using Microsoft.AspNetCore.Routing; -using Microsoft.AspNetCore.Routing.Constraints; -using Microsoft.AspNetCore.Routing.EndpointFinders; using Microsoft.AspNetCore.Routing.Internal; -using Microsoft.AspNetCore.Routing.Matchers; +using Microsoft.AspNetCore.Routing.Matching; using Microsoft.AspNetCore.Routing.Tree; using Microsoft.Extensions.DependencyInjection.Extensions; using Microsoft.Extensions.Logging; @@ -70,7 +68,7 @@ namespace Microsoft.Extensions.DependencyInjection // Link generation related services services.TryAddSingleton, NameBasedEndpointFinder>(); - services.TryAddSingleton, RouteValuesBasedEndpointFinder>(); + services.TryAddSingleton, RouteValuesBasedEndpointFinder>(); services.TryAddSingleton(); // diff --git a/src/Microsoft.AspNetCore.Routing/EndpointMiddleware.cs b/src/Microsoft.AspNetCore.Routing/EndpointMiddleware.cs index 243c97d262..8ef2bcdb3d 100644 --- a/src/Microsoft.AspNetCore.Routing/EndpointMiddleware.cs +++ b/src/Microsoft.AspNetCore.Routing/EndpointMiddleware.cs @@ -34,8 +34,8 @@ namespace Microsoft.AspNetCore.Routing var feature = httpContext.Features.Get(); if (feature == null) { - var message = $"Unable to execute an endpoint because the {nameof(GlobalRoutingMiddleware)} was not run for this request. " + - $"Ensure {nameof(GlobalRoutingMiddleware)} is added to the request execution pipeline before {nameof(EndpointMiddleware)} in application startup code."; + var message = $"Unable to execute an endpoint because the {nameof(EndpointRoutingMiddleware)} was not run for this request. " + + $"Ensure {nameof(EndpointRoutingMiddleware)} is added to the request execution pipeline before {nameof(EndpointMiddleware)} in application startup code."; throw new InvalidOperationException(message); } diff --git a/src/Microsoft.AspNetCore.Routing/GlobalRoutingMiddleware.cs b/src/Microsoft.AspNetCore.Routing/EndpointRoutingMiddleware.cs similarity index 95% rename from src/Microsoft.AspNetCore.Routing/GlobalRoutingMiddleware.cs rename to src/Microsoft.AspNetCore.Routing/EndpointRoutingMiddleware.cs index 994b2e6295..e38175d165 100644 --- a/src/Microsoft.AspNetCore.Routing/GlobalRoutingMiddleware.cs +++ b/src/Microsoft.AspNetCore.Routing/EndpointRoutingMiddleware.cs @@ -5,13 +5,13 @@ using System; using System.Threading; using System.Threading.Tasks; using Microsoft.AspNetCore.Http; -using Microsoft.AspNetCore.Routing.Matchers; +using Microsoft.AspNetCore.Routing.Matching; using Microsoft.Extensions.Logging; using Microsoft.Extensions.Options; namespace Microsoft.AspNetCore.Routing { - internal sealed class GlobalRoutingMiddleware + internal sealed class EndpointRoutingMiddleware { private readonly MatcherFactory _matcherFactory; private readonly ILogger _logger; @@ -20,10 +20,10 @@ namespace Microsoft.AspNetCore.Routing private Task _initializationTask; - public GlobalRoutingMiddleware( + public EndpointRoutingMiddleware( MatcherFactory matcherFactory, CompositeEndpointDataSource endpointDataSource, - ILogger logger, + ILogger logger, RequestDelegate next) { if (matcherFactory == null) diff --git a/src/Microsoft.AspNetCore.Routing.Abstractions/IEndpointFinderOfT.cs b/src/Microsoft.AspNetCore.Routing/IEndpointFinderOfT.cs similarity index 100% rename from src/Microsoft.AspNetCore.Routing.Abstractions/IEndpointFinderOfT.cs rename to src/Microsoft.AspNetCore.Routing/IEndpointFinderOfT.cs diff --git a/src/Microsoft.AspNetCore.Routing.Abstractions/INameMetadata.cs b/src/Microsoft.AspNetCore.Routing/INameMetadata.cs similarity index 99% rename from src/Microsoft.AspNetCore.Routing.Abstractions/INameMetadata.cs rename to src/Microsoft.AspNetCore.Routing/INameMetadata.cs index 97de9aaa2f..c38ae7f0e5 100644 --- a/src/Microsoft.AspNetCore.Routing.Abstractions/INameMetadata.cs +++ b/src/Microsoft.AspNetCore.Routing/INameMetadata.cs @@ -1,7 +1,6 @@ // Copyright (c) .NET Foundation. All rights reserved. // Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information. - namespace Microsoft.AspNetCore.Routing { public interface INameMetadata diff --git a/src/Microsoft.AspNetCore.Routing.Abstractions/IRouteNameMetadata.cs b/src/Microsoft.AspNetCore.Routing/IRouteNameMetadata.cs similarity index 99% rename from src/Microsoft.AspNetCore.Routing.Abstractions/IRouteNameMetadata.cs rename to src/Microsoft.AspNetCore.Routing/IRouteNameMetadata.cs index eba962c285..efc1136904 100644 --- a/src/Microsoft.AspNetCore.Routing.Abstractions/IRouteNameMetadata.cs +++ b/src/Microsoft.AspNetCore.Routing/IRouteNameMetadata.cs @@ -1,7 +1,6 @@ // Copyright (c) .NET Foundation. All rights reserved. // Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information. - namespace Microsoft.AspNetCore.Routing { public interface IRouteNameMetadata diff --git a/src/Microsoft.AspNetCore.Routing.Abstractions/ISuppressLinkGenerationMetadata.cs b/src/Microsoft.AspNetCore.Routing/ISuppressLinkGenerationMetadata.cs similarity index 100% rename from src/Microsoft.AspNetCore.Routing.Abstractions/ISuppressLinkGenerationMetadata.cs rename to src/Microsoft.AspNetCore.Routing/ISuppressLinkGenerationMetadata.cs diff --git a/src/Microsoft.AspNetCore.Routing/Builder/GlobalRoutingApplicationBuilderExtensions.cs b/src/Microsoft.AspNetCore.Routing/Internal/EndpointRoutingApplicationBuilderExtensions.cs similarity index 57% rename from src/Microsoft.AspNetCore.Routing/Builder/GlobalRoutingApplicationBuilderExtensions.cs rename to src/Microsoft.AspNetCore.Routing/Internal/EndpointRoutingApplicationBuilderExtensions.cs index 1e231c2255..03dd6b4247 100644 --- a/src/Microsoft.AspNetCore.Routing/Builder/GlobalRoutingApplicationBuilderExtensions.cs +++ b/src/Microsoft.AspNetCore.Routing/Internal/EndpointRoutingApplicationBuilderExtensions.cs @@ -2,33 +2,38 @@ // Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information. using System; +using Microsoft.AspNetCore.Builder; using Microsoft.AspNetCore.Routing; using Microsoft.AspNetCore.Routing.Internal; using Microsoft.Extensions.DependencyInjection; -namespace Microsoft.AspNetCore.Builder +namespace Microsoft.AspNetCore.Internal { - public static class GlobalRoutingApplicationBuilderExtensions + public static class EndpointRoutingApplicationBuilderExtensions { + // TODO: Remove once MVC is updated private const string GlobalRoutingRegisteredKey = "__GlobalRoutingMiddlewareRegistered"; - public static IApplicationBuilder UseGlobalRouting(this IApplicationBuilder builder) + private const string EndpointRoutingRegisteredKey = "__EndpointRoutingMiddlewareRegistered"; + + public static IApplicationBuilder UseEndpointRouting(this IApplicationBuilder builder) { VerifyRoutingIsRegistered(builder); + builder.Properties[EndpointRoutingRegisteredKey] = true; builder.Properties[GlobalRoutingRegisteredKey] = true; - return builder.UseMiddleware(); + return builder.UseMiddleware(); } public static IApplicationBuilder UseEndpoint(this IApplicationBuilder builder) { VerifyRoutingIsRegistered(builder); - if (!builder.Properties.TryGetValue(GlobalRoutingRegisteredKey, out _)) + if (!builder.Properties.TryGetValue(EndpointRoutingRegisteredKey, out _)) { - var message = $"{nameof(GlobalRoutingMiddleware)} must be added to the request execution pipeline before {nameof(EndpointMiddleware)}. " + - $"Please add {nameof(GlobalRoutingMiddleware)} by calling '{nameof(IApplicationBuilder)}.{nameof(UseGlobalRouting)}' inside the call to 'Configure(...)' in the application startup code."; + var message = $"{nameof(EndpointRoutingMiddleware)} must be added to the request execution pipeline before {nameof(EndpointMiddleware)}. " + + $"Please add {nameof(EndpointRoutingMiddleware)} by calling '{nameof(IApplicationBuilder)}.{nameof(UseEndpointRouting)}' inside the call to 'Configure(...)' in the application startup code."; throw new InvalidOperationException(message); } @@ -38,7 +43,7 @@ namespace Microsoft.AspNetCore.Builder private static void VerifyRoutingIsRegistered(IApplicationBuilder app) { - // Verify if AddRouting was done before calling UseGlobalRouting/UseEndpoint + // Verify if AddRouting was done before calling UseEndpointRouting/UseEndpoint // We use the RoutingMarkerService to make sure if all the services were added. if (app.ApplicationServices.GetService(typeof(RoutingMarkerService)) == null) { diff --git a/src/Microsoft.AspNetCore.Routing/Matchers/AmbiguousMatchException.cs b/src/Microsoft.AspNetCore.Routing/Matching/AmbiguousMatchException.cs similarity index 93% rename from src/Microsoft.AspNetCore.Routing/Matchers/AmbiguousMatchException.cs rename to src/Microsoft.AspNetCore.Routing/Matching/AmbiguousMatchException.cs index e0d7a75397..1afed0e103 100644 --- a/src/Microsoft.AspNetCore.Routing/Matchers/AmbiguousMatchException.cs +++ b/src/Microsoft.AspNetCore.Routing/Matching/AmbiguousMatchException.cs @@ -4,7 +4,7 @@ using System; using System.Runtime.Serialization; -namespace Microsoft.AspNetCore.Routing.Matchers +namespace Microsoft.AspNetCore.Routing.Matching { /// /// An exception which indicates multiple matches in endpoint selection. diff --git a/src/Microsoft.AspNetCore.Routing/Matchers/Candidate.cs b/src/Microsoft.AspNetCore.Routing/Matching/Candidate.cs similarity index 98% rename from src/Microsoft.AspNetCore.Routing/Matchers/Candidate.cs rename to src/Microsoft.AspNetCore.Routing/Matching/Candidate.cs index 5b6459b386..939ac369ca 100644 --- a/src/Microsoft.AspNetCore.Routing/Matchers/Candidate.cs +++ b/src/Microsoft.AspNetCore.Routing/Matching/Candidate.cs @@ -5,7 +5,7 @@ using System; using System.Collections.Generic; using Microsoft.AspNetCore.Routing.Patterns; -namespace Microsoft.AspNetCore.Routing.Matchers +namespace Microsoft.AspNetCore.Routing.Matching { internal readonly struct Candidate { diff --git a/src/Microsoft.AspNetCore.Routing/Matchers/CandidateSet.cs b/src/Microsoft.AspNetCore.Routing/Matching/CandidateSet.cs similarity index 99% rename from src/Microsoft.AspNetCore.Routing/Matchers/CandidateSet.cs rename to src/Microsoft.AspNetCore.Routing/Matching/CandidateSet.cs index 9f89b765a2..dc51752923 100644 --- a/src/Microsoft.AspNetCore.Routing/Matchers/CandidateSet.cs +++ b/src/Microsoft.AspNetCore.Routing/Matching/CandidateSet.cs @@ -4,7 +4,7 @@ using System; using System.Runtime.CompilerServices; -namespace Microsoft.AspNetCore.Routing.Matchers +namespace Microsoft.AspNetCore.Routing.Matching { public sealed class CandidateSet { diff --git a/src/Microsoft.AspNetCore.Routing/Matchers/CandidateState.cs b/src/Microsoft.AspNetCore.Routing/Matching/CandidateState.cs similarity index 67% rename from src/Microsoft.AspNetCore.Routing/Matchers/CandidateState.cs rename to src/Microsoft.AspNetCore.Routing/Matching/CandidateState.cs index b302b23bf2..4cb525bfac 100644 --- a/src/Microsoft.AspNetCore.Routing/Matchers/CandidateState.cs +++ b/src/Microsoft.AspNetCore.Routing/Matching/CandidateState.cs @@ -1,17 +1,11 @@ // Copyright (c) .NET Foundation. All rights reserved. // Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information. -namespace Microsoft.AspNetCore.Routing.Matchers +namespace Microsoft.AspNetCore.Routing.Matching { public struct CandidateState { - // Provided for testability - public CandidateState(MatcherEndpoint endpoint) - : this(endpoint, score: 0) - { - } - - public CandidateState(MatcherEndpoint endpoint, int score) + internal CandidateState(MatcherEndpoint endpoint, int score) { Endpoint = endpoint; Score = score; diff --git a/src/Microsoft.AspNetCore.Routing/Matchers/DataSourceDependentMatcher.cs b/src/Microsoft.AspNetCore.Routing/Matching/DataSourceDependentMatcher.cs similarity index 97% rename from src/Microsoft.AspNetCore.Routing/Matchers/DataSourceDependentMatcher.cs rename to src/Microsoft.AspNetCore.Routing/Matching/DataSourceDependentMatcher.cs index 07f9361a16..5ff901b96d 100644 --- a/src/Microsoft.AspNetCore.Routing/Matchers/DataSourceDependentMatcher.cs +++ b/src/Microsoft.AspNetCore.Routing/Matching/DataSourceDependentMatcher.cs @@ -6,7 +6,7 @@ using System.Collections.Generic; using System.Threading.Tasks; using Microsoft.AspNetCore.Http; -namespace Microsoft.AspNetCore.Routing.Matchers +namespace Microsoft.AspNetCore.Routing.Matching { internal class DataSourceDependentMatcher : Matcher { diff --git a/src/Microsoft.AspNetCore.Routing/Matchers/DefaultEndpointSelector.cs b/src/Microsoft.AspNetCore.Routing/Matching/DefaultEndpointSelector.cs similarity index 98% rename from src/Microsoft.AspNetCore.Routing/Matchers/DefaultEndpointSelector.cs rename to src/Microsoft.AspNetCore.Routing/Matching/DefaultEndpointSelector.cs index 2d3e6d5026..59418b10c1 100644 --- a/src/Microsoft.AspNetCore.Routing/Matchers/DefaultEndpointSelector.cs +++ b/src/Microsoft.AspNetCore.Routing/Matching/DefaultEndpointSelector.cs @@ -7,7 +7,7 @@ using System.Linq; using System.Threading.Tasks; using Microsoft.AspNetCore.Http; -namespace Microsoft.AspNetCore.Routing.Matchers +namespace Microsoft.AspNetCore.Routing.Matching { internal class DefaultEndpointSelector : EndpointSelector { diff --git a/src/Microsoft.AspNetCore.Routing/Matchers/DefaultMatchProcessorFactory.cs b/src/Microsoft.AspNetCore.Routing/Matching/DefaultMatchProcessorFactory.cs similarity index 98% rename from src/Microsoft.AspNetCore.Routing/Matchers/DefaultMatchProcessorFactory.cs rename to src/Microsoft.AspNetCore.Routing/Matching/DefaultMatchProcessorFactory.cs index d515df57da..26e374a580 100644 --- a/src/Microsoft.AspNetCore.Routing/Matchers/DefaultMatchProcessorFactory.cs +++ b/src/Microsoft.AspNetCore.Routing/Matching/DefaultMatchProcessorFactory.cs @@ -5,7 +5,7 @@ using System; using Microsoft.Extensions.DependencyInjection; using Microsoft.Extensions.Options; -namespace Microsoft.AspNetCore.Routing.Matchers +namespace Microsoft.AspNetCore.Routing.Matching { internal class DefaultMatchProcessorFactory : MatchProcessorFactory { diff --git a/src/Microsoft.AspNetCore.Routing/Matchers/DfaMatcher.cs b/src/Microsoft.AspNetCore.Routing/Matching/DfaMatcher.cs similarity index 99% rename from src/Microsoft.AspNetCore.Routing/Matchers/DfaMatcher.cs rename to src/Microsoft.AspNetCore.Routing/Matching/DfaMatcher.cs index a7908e1662..e4982950f1 100644 --- a/src/Microsoft.AspNetCore.Routing/Matchers/DfaMatcher.cs +++ b/src/Microsoft.AspNetCore.Routing/Matching/DfaMatcher.cs @@ -7,7 +7,7 @@ using System.Threading.Tasks; using Microsoft.AspNetCore.Http; using Microsoft.AspNetCore.Routing.Patterns; -namespace Microsoft.AspNetCore.Routing.Matchers +namespace Microsoft.AspNetCore.Routing.Matching { internal sealed class DfaMatcher : Matcher { diff --git a/src/Microsoft.AspNetCore.Routing/Matchers/DfaMatcherBuilder.cs b/src/Microsoft.AspNetCore.Routing/Matching/DfaMatcherBuilder.cs similarity index 99% rename from src/Microsoft.AspNetCore.Routing/Matchers/DfaMatcherBuilder.cs rename to src/Microsoft.AspNetCore.Routing/Matching/DfaMatcherBuilder.cs index c5f75cee4e..3157672ea1 100644 --- a/src/Microsoft.AspNetCore.Routing/Matchers/DfaMatcherBuilder.cs +++ b/src/Microsoft.AspNetCore.Routing/Matching/DfaMatcherBuilder.cs @@ -6,7 +6,7 @@ using System.Collections.Generic; using System.Linq; using Microsoft.AspNetCore.Routing.Patterns; -namespace Microsoft.AspNetCore.Routing.Matchers +namespace Microsoft.AspNetCore.Routing.Matching { internal class DfaMatcherBuilder : MatcherBuilder { diff --git a/src/Microsoft.AspNetCore.Routing/Matchers/DfaMatcherFactory.cs b/src/Microsoft.AspNetCore.Routing/Matching/DfaMatcherFactory.cs similarity index 95% rename from src/Microsoft.AspNetCore.Routing/Matchers/DfaMatcherFactory.cs rename to src/Microsoft.AspNetCore.Routing/Matching/DfaMatcherFactory.cs index 2e5dc8a3f2..c4b932d3df 100644 --- a/src/Microsoft.AspNetCore.Routing/Matchers/DfaMatcherFactory.cs +++ b/src/Microsoft.AspNetCore.Routing/Matching/DfaMatcherFactory.cs @@ -4,7 +4,7 @@ using System; using Microsoft.Extensions.DependencyInjection; -namespace Microsoft.AspNetCore.Routing.Matchers +namespace Microsoft.AspNetCore.Routing.Matching { internal class DfaMatcherFactory : MatcherFactory { diff --git a/src/Microsoft.AspNetCore.Routing/Matchers/DfaNode.cs b/src/Microsoft.AspNetCore.Routing/Matching/DfaNode.cs similarity index 98% rename from src/Microsoft.AspNetCore.Routing/Matchers/DfaNode.cs rename to src/Microsoft.AspNetCore.Routing/Matching/DfaNode.cs index 5508f0f460..59b334509a 100644 --- a/src/Microsoft.AspNetCore.Routing/Matchers/DfaNode.cs +++ b/src/Microsoft.AspNetCore.Routing/Matching/DfaNode.cs @@ -7,7 +7,7 @@ using System.Diagnostics; using System.Linq; using System.Text; -namespace Microsoft.AspNetCore.Routing.Matchers +namespace Microsoft.AspNetCore.Routing.Matching { // Intermediate data structure used to build the DFA. Not used at runtime. [DebuggerDisplay("{DebuggerToString(),nq}")] diff --git a/src/Microsoft.AspNetCore.Routing/Matchers/DfaState.cs b/src/Microsoft.AspNetCore.Routing/Matching/DfaState.cs similarity index 95% rename from src/Microsoft.AspNetCore.Routing/Matchers/DfaState.cs rename to src/Microsoft.AspNetCore.Routing/Matching/DfaState.cs index a854fdbc6f..1e7b9a16bf 100644 --- a/src/Microsoft.AspNetCore.Routing/Matchers/DfaState.cs +++ b/src/Microsoft.AspNetCore.Routing/Matching/DfaState.cs @@ -3,7 +3,7 @@ using System.Diagnostics; -namespace Microsoft.AspNetCore.Routing.Matchers +namespace Microsoft.AspNetCore.Routing.Matching { [DebuggerDisplay("{DebuggerToString(),nq}")] internal readonly struct DfaState diff --git a/src/Microsoft.AspNetCore.Routing/Matchers/DictionaryJumpTable.cs b/src/Microsoft.AspNetCore.Routing/Matching/DictionaryJumpTable.cs similarity index 97% rename from src/Microsoft.AspNetCore.Routing/Matchers/DictionaryJumpTable.cs rename to src/Microsoft.AspNetCore.Routing/Matching/DictionaryJumpTable.cs index 2fe734ed3f..27445737e9 100644 --- a/src/Microsoft.AspNetCore.Routing/Matchers/DictionaryJumpTable.cs +++ b/src/Microsoft.AspNetCore.Routing/Matching/DictionaryJumpTable.cs @@ -6,7 +6,7 @@ using System.Collections.Generic; using System.Linq; using System.Text; -namespace Microsoft.AspNetCore.Routing.Matchers +namespace Microsoft.AspNetCore.Routing.Matching { internal class DictionaryJumpTable : JumpTable { diff --git a/src/Microsoft.AspNetCore.Routing/Matchers/EndpointMetadataComparer.cs b/src/Microsoft.AspNetCore.Routing/Matching/EndpointMetadataComparer.cs similarity index 97% rename from src/Microsoft.AspNetCore.Routing/Matchers/EndpointMetadataComparer.cs rename to src/Microsoft.AspNetCore.Routing/Matching/EndpointMetadataComparer.cs index 7a742fecba..6c617f5d03 100644 --- a/src/Microsoft.AspNetCore.Routing/Matchers/EndpointMetadataComparer.cs +++ b/src/Microsoft.AspNetCore.Routing/Matching/EndpointMetadataComparer.cs @@ -4,7 +4,7 @@ using System; using System.Collections.Generic; -namespace Microsoft.AspNetCore.Routing.Matchers +namespace Microsoft.AspNetCore.Routing.Matching { public abstract class EndpointMetadataComparer : IComparer where TMetadata : class { diff --git a/src/Microsoft.AspNetCore.Routing/Matchers/EndpointSelector.cs b/src/Microsoft.AspNetCore.Routing/Matching/EndpointSelector.cs similarity index 90% rename from src/Microsoft.AspNetCore.Routing/Matchers/EndpointSelector.cs rename to src/Microsoft.AspNetCore.Routing/Matching/EndpointSelector.cs index 6f8e420a59..0af172bdca 100644 --- a/src/Microsoft.AspNetCore.Routing/Matchers/EndpointSelector.cs +++ b/src/Microsoft.AspNetCore.Routing/Matching/EndpointSelector.cs @@ -4,7 +4,7 @@ using System.Threading.Tasks; using Microsoft.AspNetCore.Http; -namespace Microsoft.AspNetCore.Routing.Matchers +namespace Microsoft.AspNetCore.Routing.Matching { public abstract class EndpointSelector { diff --git a/src/Microsoft.AspNetCore.Routing/Matchers/FastPathTokenizer.cs b/src/Microsoft.AspNetCore.Routing/Matching/FastPathTokenizer.cs similarity index 97% rename from src/Microsoft.AspNetCore.Routing/Matchers/FastPathTokenizer.cs rename to src/Microsoft.AspNetCore.Routing/Matching/FastPathTokenizer.cs index f561ae0ee2..0781fbfb94 100644 --- a/src/Microsoft.AspNetCore.Routing/Matchers/FastPathTokenizer.cs +++ b/src/Microsoft.AspNetCore.Routing/Matching/FastPathTokenizer.cs @@ -3,7 +3,7 @@ using System; -namespace Microsoft.AspNetCore.Routing.Matchers +namespace Microsoft.AspNetCore.Routing.Matching { // Low level implementation of our path tokenization algorithm. Alternative // to PathTokenizer. diff --git a/src/Microsoft.AspNetCore.Routing/Matchers/HttpMethodMatcherPolicy.cs b/src/Microsoft.AspNetCore.Routing/Matching/HttpMethodMatcherPolicy.cs similarity index 99% rename from src/Microsoft.AspNetCore.Routing/Matchers/HttpMethodMatcherPolicy.cs rename to src/Microsoft.AspNetCore.Routing/Matching/HttpMethodMatcherPolicy.cs index e593713bb6..315c3d8409 100644 --- a/src/Microsoft.AspNetCore.Routing/Matchers/HttpMethodMatcherPolicy.cs +++ b/src/Microsoft.AspNetCore.Routing/Matching/HttpMethodMatcherPolicy.cs @@ -11,7 +11,7 @@ using Microsoft.AspNetCore.Routing.Patterns; using Microsoft.Extensions.Internal; using Microsoft.Extensions.Primitives; -namespace Microsoft.AspNetCore.Routing.Matchers +namespace Microsoft.AspNetCore.Routing.Matching { public sealed class HttpMethodMatcherPolicy : MatcherPolicy, IEndpointComparerPolicy, INodeBuilderPolicy { diff --git a/src/Microsoft.AspNetCore.Routing/Matchers/IEndpointComparerPolicy.cs b/src/Microsoft.AspNetCore.Routing/Matching/IEndpointComparerPolicy.cs similarity index 86% rename from src/Microsoft.AspNetCore.Routing/Matchers/IEndpointComparerPolicy.cs rename to src/Microsoft.AspNetCore.Routing/Matching/IEndpointComparerPolicy.cs index abd16e5e9a..9c187a6fec 100644 --- a/src/Microsoft.AspNetCore.Routing/Matchers/IEndpointComparerPolicy.cs +++ b/src/Microsoft.AspNetCore.Routing/Matching/IEndpointComparerPolicy.cs @@ -3,7 +3,7 @@ using System.Collections.Generic; -namespace Microsoft.AspNetCore.Routing.Matchers +namespace Microsoft.AspNetCore.Routing.Matching { public interface IEndpointComparerPolicy { diff --git a/src/Microsoft.AspNetCore.Routing/Matchers/IEndpointSelectorPolicy.cs b/src/Microsoft.AspNetCore.Routing/Matching/IEndpointSelectorPolicy.cs similarity index 87% rename from src/Microsoft.AspNetCore.Routing/Matchers/IEndpointSelectorPolicy.cs rename to src/Microsoft.AspNetCore.Routing/Matching/IEndpointSelectorPolicy.cs index cc6fe09d9c..63fe7dd8fd 100644 --- a/src/Microsoft.AspNetCore.Routing/Matchers/IEndpointSelectorPolicy.cs +++ b/src/Microsoft.AspNetCore.Routing/Matching/IEndpointSelectorPolicy.cs @@ -3,7 +3,7 @@ using Microsoft.AspNetCore.Http; -namespace Microsoft.AspNetCore.Routing.Matchers +namespace Microsoft.AspNetCore.Routing.Matching { public interface IEndpointSelectorPolicy { diff --git a/src/Microsoft.AspNetCore.Routing/Matchers/INodeBuilderPolicy.cs b/src/Microsoft.AspNetCore.Routing/Matching/INodeBuilderPolicy.cs similarity index 91% rename from src/Microsoft.AspNetCore.Routing/Matchers/INodeBuilderPolicy.cs rename to src/Microsoft.AspNetCore.Routing/Matching/INodeBuilderPolicy.cs index 5dab03ceb8..3c32b20aec 100644 --- a/src/Microsoft.AspNetCore.Routing/Matchers/INodeBuilderPolicy.cs +++ b/src/Microsoft.AspNetCore.Routing/Matching/INodeBuilderPolicy.cs @@ -3,7 +3,7 @@ using System.Collections.Generic; -namespace Microsoft.AspNetCore.Routing.Matchers +namespace Microsoft.AspNetCore.Routing.Matching { public interface INodeBuilderPolicy { diff --git a/src/Microsoft.AspNetCore.Routing/Matchers/JumpTable.cs b/src/Microsoft.AspNetCore.Routing/Matching/JumpTable.cs similarity index 90% rename from src/Microsoft.AspNetCore.Routing/Matchers/JumpTable.cs rename to src/Microsoft.AspNetCore.Routing/Matching/JumpTable.cs index 781ae4d0d9..860ca80417 100644 --- a/src/Microsoft.AspNetCore.Routing/Matchers/JumpTable.cs +++ b/src/Microsoft.AspNetCore.Routing/Matching/JumpTable.cs @@ -3,7 +3,7 @@ using System.Diagnostics; -namespace Microsoft.AspNetCore.Routing.Matchers +namespace Microsoft.AspNetCore.Routing.Matching { [DebuggerDisplay("{DebuggerToString(),nq}")] internal abstract class JumpTable diff --git a/src/Microsoft.AspNetCore.Routing/Matchers/JumpTableBuilder.cs b/src/Microsoft.AspNetCore.Routing/Matching/JumpTableBuilder.cs similarity index 97% rename from src/Microsoft.AspNetCore.Routing/Matchers/JumpTableBuilder.cs rename to src/Microsoft.AspNetCore.Routing/Matching/JumpTableBuilder.cs index bf2b4ca340..2800b5eca8 100644 --- a/src/Microsoft.AspNetCore.Routing/Matchers/JumpTableBuilder.cs +++ b/src/Microsoft.AspNetCore.Routing/Matching/JumpTableBuilder.cs @@ -4,7 +4,7 @@ using System; using System.Collections.Generic; -namespace Microsoft.AspNetCore.Routing.Matchers +namespace Microsoft.AspNetCore.Routing.Matching { internal class JumpTableBuilder { diff --git a/src/Microsoft.AspNetCore.Routing/Matchers/LinearSearchJumpTable.cs b/src/Microsoft.AspNetCore.Routing/Matching/LinearSearchJumpTable.cs similarity index 97% rename from src/Microsoft.AspNetCore.Routing/Matchers/LinearSearchJumpTable.cs rename to src/Microsoft.AspNetCore.Routing/Matching/LinearSearchJumpTable.cs index 015c168d19..58f8b3d01d 100644 --- a/src/Microsoft.AspNetCore.Routing/Matchers/LinearSearchJumpTable.cs +++ b/src/Microsoft.AspNetCore.Routing/Matching/LinearSearchJumpTable.cs @@ -5,7 +5,7 @@ using System; using System.Linq; using System.Text; -namespace Microsoft.AspNetCore.Routing.Matchers +namespace Microsoft.AspNetCore.Routing.Matching { internal class LinearSearchJumpTable : JumpTable { diff --git a/src/Microsoft.AspNetCore.Routing/Matchers/MatchProcessor.cs b/src/Microsoft.AspNetCore.Routing/Matching/MatchProcessor.cs similarity index 92% rename from src/Microsoft.AspNetCore.Routing/Matchers/MatchProcessor.cs rename to src/Microsoft.AspNetCore.Routing/Matching/MatchProcessor.cs index 065ccd8e9b..847ea29793 100644 --- a/src/Microsoft.AspNetCore.Routing/Matchers/MatchProcessor.cs +++ b/src/Microsoft.AspNetCore.Routing/Matching/MatchProcessor.cs @@ -3,7 +3,7 @@ using Microsoft.AspNetCore.Http; -namespace Microsoft.AspNetCore.Routing.Matchers +namespace Microsoft.AspNetCore.Routing.Matching { public abstract class MatchProcessor { diff --git a/src/Microsoft.AspNetCore.Routing/Matchers/MatchProcessorBase.cs b/src/Microsoft.AspNetCore.Routing/Matching/MatchProcessorBase.cs similarity index 96% rename from src/Microsoft.AspNetCore.Routing/Matchers/MatchProcessorBase.cs rename to src/Microsoft.AspNetCore.Routing/Matching/MatchProcessorBase.cs index d3f9db3811..9ac2196671 100644 --- a/src/Microsoft.AspNetCore.Routing/Matchers/MatchProcessorBase.cs +++ b/src/Microsoft.AspNetCore.Routing/Matching/MatchProcessorBase.cs @@ -3,7 +3,7 @@ using Microsoft.AspNetCore.Http; -namespace Microsoft.AspNetCore.Routing.Matchers +namespace Microsoft.AspNetCore.Routing.Matching { public abstract class MatchProcessorBase : MatchProcessor { diff --git a/src/Microsoft.AspNetCore.Routing/Matchers/MatchProcessorFactory.cs b/src/Microsoft.AspNetCore.Routing/Matching/MatchProcessorFactory.cs similarity index 97% rename from src/Microsoft.AspNetCore.Routing/Matchers/MatchProcessorFactory.cs rename to src/Microsoft.AspNetCore.Routing/Matching/MatchProcessorFactory.cs index e21d3bd6ea..5669d75f06 100644 --- a/src/Microsoft.AspNetCore.Routing/Matchers/MatchProcessorFactory.cs +++ b/src/Microsoft.AspNetCore.Routing/Matching/MatchProcessorFactory.cs @@ -5,7 +5,7 @@ using System; using System.Diagnostics; using Microsoft.AspNetCore.Routing.Patterns; -namespace Microsoft.AspNetCore.Routing.Matchers +namespace Microsoft.AspNetCore.Routing.Matching { internal abstract class MatchProcessorFactory { diff --git a/src/Microsoft.AspNetCore.Routing/Matchers/Matcher.cs b/src/Microsoft.AspNetCore.Routing/Matching/Matcher.cs similarity index 90% rename from src/Microsoft.AspNetCore.Routing/Matchers/Matcher.cs rename to src/Microsoft.AspNetCore.Routing/Matching/Matcher.cs index d62f8546e1..4a0928d1c6 100644 --- a/src/Microsoft.AspNetCore.Routing/Matchers/Matcher.cs +++ b/src/Microsoft.AspNetCore.Routing/Matching/Matcher.cs @@ -4,11 +4,11 @@ using System.Threading.Tasks; using Microsoft.AspNetCore.Http; -namespace Microsoft.AspNetCore.Routing.Matchers +namespace Microsoft.AspNetCore.Routing.Matching { /// /// An interface for components that can select an given the current request, as part - /// of the execution of . + /// of the execution of . /// internal abstract class Matcher { diff --git a/src/Microsoft.AspNetCore.Routing/Matchers/MatcherBuilder.cs b/src/Microsoft.AspNetCore.Routing/Matching/MatcherBuilder.cs similarity index 87% rename from src/Microsoft.AspNetCore.Routing/Matchers/MatcherBuilder.cs rename to src/Microsoft.AspNetCore.Routing/Matching/MatcherBuilder.cs index 8953f09e75..84c22c59eb 100644 --- a/src/Microsoft.AspNetCore.Routing/Matchers/MatcherBuilder.cs +++ b/src/Microsoft.AspNetCore.Routing/Matching/MatcherBuilder.cs @@ -1,7 +1,7 @@ // Copyright (c) .NET Foundation. All rights reserved. // Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information. -namespace Microsoft.AspNetCore.Routing.Matchers +namespace Microsoft.AspNetCore.Routing.Matching { internal abstract class MatcherBuilder { diff --git a/src/Microsoft.AspNetCore.Routing/Matchers/MatcherEndpoint.cs b/src/Microsoft.AspNetCore.Routing/Matching/MatcherEndpoint.cs similarity index 97% rename from src/Microsoft.AspNetCore.Routing/Matchers/MatcherEndpoint.cs rename to src/Microsoft.AspNetCore.Routing/Matching/MatcherEndpoint.cs index 4311a28ee7..9dc34cac6a 100644 --- a/src/Microsoft.AspNetCore.Routing/Matchers/MatcherEndpoint.cs +++ b/src/Microsoft.AspNetCore.Routing/Matching/MatcherEndpoint.cs @@ -7,7 +7,7 @@ using System.Threading.Tasks; using Microsoft.AspNetCore.Http; using Microsoft.AspNetCore.Routing.Patterns; -namespace Microsoft.AspNetCore.Routing.Matchers +namespace Microsoft.AspNetCore.Routing.Matching { public sealed class MatcherEndpoint : Endpoint { diff --git a/src/Microsoft.AspNetCore.Routing/Matchers/MatcherEndpointComparer.cs b/src/Microsoft.AspNetCore.Routing/Matching/MatcherEndpointComparer.cs similarity index 98% rename from src/Microsoft.AspNetCore.Routing/Matchers/MatcherEndpointComparer.cs rename to src/Microsoft.AspNetCore.Routing/Matching/MatcherEndpointComparer.cs index fb5f087297..a03e81076d 100644 --- a/src/Microsoft.AspNetCore.Routing/Matchers/MatcherEndpointComparer.cs +++ b/src/Microsoft.AspNetCore.Routing/Matching/MatcherEndpointComparer.cs @@ -4,7 +4,7 @@ using System.Collections.Generic; using System.Diagnostics; -namespace Microsoft.AspNetCore.Routing.Matchers +namespace Microsoft.AspNetCore.Routing.Matching { // Use to sort and group MatcherEndpoints. // diff --git a/src/Microsoft.AspNetCore.Routing/Matchers/MatcherFactory.cs b/src/Microsoft.AspNetCore.Routing/Matching/MatcherFactory.cs similarity index 86% rename from src/Microsoft.AspNetCore.Routing/Matchers/MatcherFactory.cs rename to src/Microsoft.AspNetCore.Routing/Matching/MatcherFactory.cs index 3975443b0e..b6da9f0915 100644 --- a/src/Microsoft.AspNetCore.Routing/Matchers/MatcherFactory.cs +++ b/src/Microsoft.AspNetCore.Routing/Matching/MatcherFactory.cs @@ -1,7 +1,7 @@ // Copyright (c) .NET Foundation. All rights reserved. // Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information. -namespace Microsoft.AspNetCore.Routing.Matchers +namespace Microsoft.AspNetCore.Routing.Matching { internal abstract class MatcherFactory { diff --git a/src/Microsoft.AspNetCore.Routing/Matchers/MatcherPolicy.cs b/src/Microsoft.AspNetCore.Routing/Matching/MatcherPolicy.cs similarity index 100% rename from src/Microsoft.AspNetCore.Routing/Matchers/MatcherPolicy.cs rename to src/Microsoft.AspNetCore.Routing/Matching/MatcherPolicy.cs diff --git a/src/Microsoft.AspNetCore.Routing/Matchers/OptionalMatchProcessor.cs b/src/Microsoft.AspNetCore.Routing/Matching/OptionalMatchProcessor.cs similarity index 96% rename from src/Microsoft.AspNetCore.Routing/Matchers/OptionalMatchProcessor.cs rename to src/Microsoft.AspNetCore.Routing/Matching/OptionalMatchProcessor.cs index 9d445e1a44..c40df6ec8e 100644 --- a/src/Microsoft.AspNetCore.Routing/Matchers/OptionalMatchProcessor.cs +++ b/src/Microsoft.AspNetCore.Routing/Matching/OptionalMatchProcessor.cs @@ -3,7 +3,7 @@ using Microsoft.AspNetCore.Http; -namespace Microsoft.AspNetCore.Routing.Matchers +namespace Microsoft.AspNetCore.Routing.Matching { internal class OptionalMatchProcessor : MatchProcessor { diff --git a/src/Microsoft.AspNetCore.Routing/Matchers/PathSegment.cs b/src/Microsoft.AspNetCore.Routing/Matching/PathSegment.cs similarity index 95% rename from src/Microsoft.AspNetCore.Routing/Matchers/PathSegment.cs rename to src/Microsoft.AspNetCore.Routing/Matching/PathSegment.cs index 24ef150863..a5f570f8b5 100644 --- a/src/Microsoft.AspNetCore.Routing/Matchers/PathSegment.cs +++ b/src/Microsoft.AspNetCore.Routing/Matching/PathSegment.cs @@ -3,7 +3,7 @@ using System; -namespace Microsoft.AspNetCore.Routing.Matchers +namespace Microsoft.AspNetCore.Routing.Matching { internal readonly struct PathSegment : IEquatable { diff --git a/src/Microsoft.AspNetCore.Routing/Matchers/PolicyJumpTable.cs b/src/Microsoft.AspNetCore.Routing/Matching/PolicyJumpTable.cs similarity index 90% rename from src/Microsoft.AspNetCore.Routing/Matchers/PolicyJumpTable.cs rename to src/Microsoft.AspNetCore.Routing/Matching/PolicyJumpTable.cs index 0aecc7de6c..e7c5a8f582 100644 --- a/src/Microsoft.AspNetCore.Routing/Matchers/PolicyJumpTable.cs +++ b/src/Microsoft.AspNetCore.Routing/Matching/PolicyJumpTable.cs @@ -3,7 +3,7 @@ using Microsoft.AspNetCore.Http; -namespace Microsoft.AspNetCore.Routing.Matchers +namespace Microsoft.AspNetCore.Routing.Matching { public abstract class PolicyJumpTable { diff --git a/src/Microsoft.AspNetCore.Routing/Matchers/PolicyJumpTableBuilder.cs b/src/Microsoft.AspNetCore.Routing/Matching/PolicyJumpTableBuilder.cs similarity index 95% rename from src/Microsoft.AspNetCore.Routing/Matchers/PolicyJumpTableBuilder.cs rename to src/Microsoft.AspNetCore.Routing/Matching/PolicyJumpTableBuilder.cs index c4e07b1715..f533a9813c 100644 --- a/src/Microsoft.AspNetCore.Routing/Matchers/PolicyJumpTableBuilder.cs +++ b/src/Microsoft.AspNetCore.Routing/Matching/PolicyJumpTableBuilder.cs @@ -3,7 +3,7 @@ using System.Collections.Generic; -namespace Microsoft.AspNetCore.Routing.Matchers +namespace Microsoft.AspNetCore.Routing.Matching { internal class PolicyJumpTableBuilder { diff --git a/src/Microsoft.AspNetCore.Routing/Matchers/PolicyJumpTableEdge.cs b/src/Microsoft.AspNetCore.Routing/Matching/PolicyJumpTableEdge.cs similarity index 91% rename from src/Microsoft.AspNetCore.Routing/Matchers/PolicyJumpTableEdge.cs rename to src/Microsoft.AspNetCore.Routing/Matching/PolicyJumpTableEdge.cs index 62482bb22c..002ffae583 100644 --- a/src/Microsoft.AspNetCore.Routing/Matchers/PolicyJumpTableEdge.cs +++ b/src/Microsoft.AspNetCore.Routing/Matching/PolicyJumpTableEdge.cs @@ -1,7 +1,7 @@ // Copyright (c) .NET Foundation. All rights reserved. // Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information. -namespace Microsoft.AspNetCore.Routing.Matchers +namespace Microsoft.AspNetCore.Routing.Matching { public readonly struct PolicyJumpTableEdge { diff --git a/src/Microsoft.AspNetCore.Routing/Matchers/PolicyNodeEdge.cs b/src/Microsoft.AspNetCore.Routing/Matching/PolicyNodeEdge.cs similarity index 93% rename from src/Microsoft.AspNetCore.Routing/Matchers/PolicyNodeEdge.cs rename to src/Microsoft.AspNetCore.Routing/Matching/PolicyNodeEdge.cs index bde491fa94..2607b33d7e 100644 --- a/src/Microsoft.AspNetCore.Routing/Matchers/PolicyNodeEdge.cs +++ b/src/Microsoft.AspNetCore.Routing/Matching/PolicyNodeEdge.cs @@ -3,7 +3,7 @@ using System.Collections.Generic; -namespace Microsoft.AspNetCore.Routing.Matchers +namespace Microsoft.AspNetCore.Routing.Matching { public readonly struct PolicyNodeEdge { diff --git a/src/Microsoft.AspNetCore.Routing/Matchers/RouteConstraintMatchProcessor.cs b/src/Microsoft.AspNetCore.Routing/Matching/RouteConstraintMatchProcessor.cs similarity index 97% rename from src/Microsoft.AspNetCore.Routing/Matchers/RouteConstraintMatchProcessor.cs rename to src/Microsoft.AspNetCore.Routing/Matching/RouteConstraintMatchProcessor.cs index 16fd9d0a84..ad1ddaf7ae 100644 --- a/src/Microsoft.AspNetCore.Routing/Matchers/RouteConstraintMatchProcessor.cs +++ b/src/Microsoft.AspNetCore.Routing/Matching/RouteConstraintMatchProcessor.cs @@ -4,7 +4,7 @@ using System; using Microsoft.AspNetCore.Http; -namespace Microsoft.AspNetCore.Routing.Matchers +namespace Microsoft.AspNetCore.Routing.Matching { internal class RouteConstraintMatchProcessor : MatchProcessor { diff --git a/src/Microsoft.AspNetCore.Routing/Matchers/SingleEntryJumpTable.cs b/src/Microsoft.AspNetCore.Routing/Matching/SingleEntryJumpTable.cs similarity index 97% rename from src/Microsoft.AspNetCore.Routing/Matchers/SingleEntryJumpTable.cs rename to src/Microsoft.AspNetCore.Routing/Matching/SingleEntryJumpTable.cs index d49513c509..3901807ce5 100644 --- a/src/Microsoft.AspNetCore.Routing/Matchers/SingleEntryJumpTable.cs +++ b/src/Microsoft.AspNetCore.Routing/Matching/SingleEntryJumpTable.cs @@ -3,7 +3,7 @@ using System; -namespace Microsoft.AspNetCore.Routing.Matchers +namespace Microsoft.AspNetCore.Routing.Matching { internal class SingleEntryJumpTable : JumpTable { diff --git a/src/Microsoft.AspNetCore.Routing/Matchers/ZeroEntryJumpTable.cs b/src/Microsoft.AspNetCore.Routing/Matching/ZeroEntryJumpTable.cs similarity index 94% rename from src/Microsoft.AspNetCore.Routing/Matchers/ZeroEntryJumpTable.cs rename to src/Microsoft.AspNetCore.Routing/Matching/ZeroEntryJumpTable.cs index 2c5e271a29..a2100662e1 100644 --- a/src/Microsoft.AspNetCore.Routing/Matchers/ZeroEntryJumpTable.cs +++ b/src/Microsoft.AspNetCore.Routing/Matching/ZeroEntryJumpTable.cs @@ -1,7 +1,7 @@ // Copyright (c) .NET Foundation. All rights reserved. // Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information. -namespace Microsoft.AspNetCore.Routing.Matchers +namespace Microsoft.AspNetCore.Routing.Matching { internal class ZeroEntryJumpTable : JumpTable { diff --git a/src/Microsoft.AspNetCore.Routing/NameBasedEndpointFinder.cs b/src/Microsoft.AspNetCore.Routing/NameBasedEndpointFinder.cs index c7879b19ee..b10c2b7934 100644 --- a/src/Microsoft.AspNetCore.Routing/NameBasedEndpointFinder.cs +++ b/src/Microsoft.AspNetCore.Routing/NameBasedEndpointFinder.cs @@ -4,7 +4,7 @@ using System; using System.Collections.Generic; using System.Linq; -using Microsoft.AspNetCore.Routing.Matchers; +using Microsoft.AspNetCore.Routing.Matching; using Microsoft.Extensions.Logging; namespace Microsoft.AspNetCore.Routing diff --git a/src/Microsoft.AspNetCore.Routing/Patterns/RoutePatternConstraintReference.cs b/src/Microsoft.AspNetCore.Routing/Patterns/RoutePatternConstraintReference.cs index 0d8c9810bc..088bdce200 100644 --- a/src/Microsoft.AspNetCore.Routing/Patterns/RoutePatternConstraintReference.cs +++ b/src/Microsoft.AspNetCore.Routing/Patterns/RoutePatternConstraintReference.cs @@ -2,7 +2,7 @@ // Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information. using System.Diagnostics; -using Microsoft.AspNetCore.Routing.Matchers; +using Microsoft.AspNetCore.Routing.Matching; namespace Microsoft.AspNetCore.Routing.Patterns { @@ -38,7 +38,7 @@ namespace Microsoft.AspNetCore.Routing.Patterns public IRouteConstraint Constraint { get; } /// - /// Gets a pre-existing that was used to construct this reference. + /// Gets a pre-existing that was used to construct this reference. /// public MatchProcessor MatchProcessor { get; } diff --git a/src/Microsoft.AspNetCore.Routing/Patterns/RoutePatternFactory.cs b/src/Microsoft.AspNetCore.Routing/Patterns/RoutePatternFactory.cs index de0b11e889..b0bd70c488 100644 --- a/src/Microsoft.AspNetCore.Routing/Patterns/RoutePatternFactory.cs +++ b/src/Microsoft.AspNetCore.Routing/Patterns/RoutePatternFactory.cs @@ -5,7 +5,7 @@ using System; using System.Collections.Generic; using System.Linq; using Microsoft.AspNetCore.Routing.Constraints; -using Microsoft.AspNetCore.Routing.Matchers; +using Microsoft.AspNetCore.Routing.Matching; namespace Microsoft.AspNetCore.Routing.Patterns { diff --git a/src/Microsoft.AspNetCore.Routing/Patterns/RoutePatternMatcher.cs b/src/Microsoft.AspNetCore.Routing/Patterns/RoutePatternMatcher.cs index 6855b8a518..f875b472be 100644 --- a/src/Microsoft.AspNetCore.Routing/Patterns/RoutePatternMatcher.cs +++ b/src/Microsoft.AspNetCore.Routing/Patterns/RoutePatternMatcher.cs @@ -11,7 +11,7 @@ using Microsoft.Extensions.Primitives; namespace Microsoft.AspNetCore.Routing { - public class RoutePatternMatcher + internal class RoutePatternMatcher { private const string SeparatorString = "/"; private const char SeparatorChar = '/'; diff --git a/src/Microsoft.AspNetCore.Routing/Patterns/RoutePatternParameterPart.cs b/src/Microsoft.AspNetCore.Routing/Patterns/RoutePatternParameterPart.cs index 0f9c632fb9..afe2be3096 100644 --- a/src/Microsoft.AspNetCore.Routing/Patterns/RoutePatternParameterPart.cs +++ b/src/Microsoft.AspNetCore.Routing/Patterns/RoutePatternParameterPart.cs @@ -8,7 +8,7 @@ using System.Text; namespace Microsoft.AspNetCore.Routing.Patterns { [DebuggerDisplay("{DebuggerToString()}")] - public class RoutePatternParameterPart : RoutePatternPart + public sealed class RoutePatternParameterPart : RoutePatternPart { internal RoutePatternParameterPart( string parameterName, diff --git a/src/Microsoft.AspNetCore.Routing/RouteValuesBasedEndpointFinderContext.cs b/src/Microsoft.AspNetCore.Routing/RouteValuesAddress.cs similarity index 76% rename from src/Microsoft.AspNetCore.Routing/RouteValuesBasedEndpointFinderContext.cs rename to src/Microsoft.AspNetCore.Routing/RouteValuesAddress.cs index ccc64ee5c6..fd910c3ead 100644 --- a/src/Microsoft.AspNetCore.Routing/RouteValuesBasedEndpointFinderContext.cs +++ b/src/Microsoft.AspNetCore.Routing/RouteValuesAddress.cs @@ -1,9 +1,9 @@ // Copyright (c) .NET Foundation. All rights reserved. // Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information. -namespace Microsoft.AspNetCore.Routing.EndpointFinders +namespace Microsoft.AspNetCore.Routing { - public class RouteValuesBasedEndpointFinderContext + public class RouteValuesAddress { public string RouteName { get; set; } diff --git a/src/Microsoft.AspNetCore.Routing/RouteValuesBasedEndpointFinder.cs b/src/Microsoft.AspNetCore.Routing/RouteValuesBasedEndpointFinder.cs index e4fc5c16a7..19a24fe439 100644 --- a/src/Microsoft.AspNetCore.Routing/RouteValuesBasedEndpointFinder.cs +++ b/src/Microsoft.AspNetCore.Routing/RouteValuesBasedEndpointFinder.cs @@ -4,16 +4,15 @@ using System; using System.Collections.Generic; using System.Linq; -using Microsoft.AspNetCore.Routing.EndpointFinders; using Microsoft.AspNetCore.Routing.Internal; -using Microsoft.AspNetCore.Routing.Matchers; +using Microsoft.AspNetCore.Routing.Matching; using Microsoft.AspNetCore.Routing.Template; using Microsoft.AspNetCore.Routing.Tree; using Microsoft.Extensions.ObjectPool; namespace Microsoft.AspNetCore.Routing { - internal class RouteValuesBasedEndpointFinder : IEndpointFinder + internal class RouteValuesBasedEndpointFinder : IEndpointFinder { private readonly CompositeEndpointDataSource _endpointDataSource; private readonly ObjectPool _objectPool; @@ -36,16 +35,16 @@ namespace Microsoft.AspNetCore.Routing HandleChange); } - public IEnumerable FindEndpoints(RouteValuesBasedEndpointFinderContext context) + public IEnumerable FindEndpoints(RouteValuesAddress address) { IEnumerable matchResults = null; - if (string.IsNullOrEmpty(context.RouteName)) + if (string.IsNullOrEmpty(address.RouteName)) { matchResults = _allMatchesLinkGenerationTree.GetMatches( - context.ExplicitValues, - context.AmbientValues); + address.ExplicitValues, + address.AmbientValues); } - else if (_namedMatchResults.TryGetValue(context.RouteName, out var namedMatchResults)) + else if (_namedMatchResults.TryGetValue(address.RouteName, out var namedMatchResults)) { matchResults = namedMatchResults; } diff --git a/src/Microsoft.AspNetCore.Routing/Tree/InboundRouteEntry.cs b/src/Microsoft.AspNetCore.Routing/Tree/InboundRouteEntry.cs index 63ea99be2f..7c4a5f0abc 100644 --- a/src/Microsoft.AspNetCore.Routing/Tree/InboundRouteEntry.cs +++ b/src/Microsoft.AspNetCore.Routing/Tree/InboundRouteEntry.cs @@ -52,8 +52,5 @@ namespace Microsoft.AspNetCore.Routing.Tree /// Gets or sets the . /// public RouteTemplate RouteTemplate { get; set; } - - // REVIEW: temporary change to enable reusing the tree router - public object Tag { get; set; } } } diff --git a/test/Microsoft.AspNetCore.Mvc.Routing.Abstractions.Tests/EndpointMetadataCollectionTests.cs b/test/Microsoft.AspNetCore.Mvc.Routing.Abstractions.Tests/EndpointMetadataCollectionTests.cs new file mode 100644 index 0000000000..a7e645c047 --- /dev/null +++ b/test/Microsoft.AspNetCore.Mvc.Routing.Abstractions.Tests/EndpointMetadataCollectionTests.cs @@ -0,0 +1,48 @@ +// Copyright (c) .NET Foundation. All rights reserved. +// Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information. + +using System; +using System.Collections.Generic; +using System.Text; +using Xunit; + +namespace Microsoft.AspNetCore.Routing +{ + public class EndpointMetadataCollectionTests + { + [Fact] + public void Constructor_Enumeration_ContainsValues() + { + // Arrange & Act + var metadata = new EndpointMetadataCollection(new List + { + 1, + 2, + 3, + }); + + // Assert + Assert.Equal(3, metadata.Count); + + Assert.Collection(metadata, + value => Assert.Equal(1, value), + value => Assert.Equal(2, value), + value => Assert.Equal(3, value)); + } + + [Fact] + public void Constructor_ParamsArray_ContainsValues() + { + // Arrange & Act + var metadata = new EndpointMetadataCollection(1, 2, 3); + + // Assert + Assert.Equal(3, metadata.Count); + + Assert.Collection(metadata, + value => Assert.Equal(1, value), + value => Assert.Equal(2, value), + value => Assert.Equal(3, value)); + } + } +} \ No newline at end of file diff --git a/test/Microsoft.AspNetCore.Routing.FunctionalTests/Benchmarks/GlobalRoutingBenchmarkTest.cs b/test/Microsoft.AspNetCore.Routing.FunctionalTests/Benchmarks/EndpointRoutingBenchmarkTest.cs similarity index 87% rename from test/Microsoft.AspNetCore.Routing.FunctionalTests/Benchmarks/GlobalRoutingBenchmarkTest.cs rename to test/Microsoft.AspNetCore.Routing.FunctionalTests/Benchmarks/EndpointRoutingBenchmarkTest.cs index 54b8d75073..2e39f5846c 100644 --- a/test/Microsoft.AspNetCore.Routing.FunctionalTests/Benchmarks/GlobalRoutingBenchmarkTest.cs +++ b/test/Microsoft.AspNetCore.Routing.FunctionalTests/Benchmarks/EndpointRoutingBenchmarkTest.cs @@ -11,20 +11,20 @@ using Xunit; namespace Microsoft.AspNetCore.Routing.FunctionalTests { - public class GlobalRoutingBenchmarkTest : IDisposable + public class EndpointRoutingBenchmarkTest : IDisposable { private readonly HttpClient _client; private readonly TestServer _testServer; - public GlobalRoutingBenchmarkTest() + public EndpointRoutingBenchmarkTest() { // This switch and value are set by benchmark server when running the app for profiling. - var args = new[] { "--scenarios", "PlaintextGlobalRouting" }; + var args = new[] { "--scenarios", "PlaintextEndpointRouting" }; var webHostBuilder = Benchmarks.Program.GetWebHostBuilder(args); // Make sure we are using the right startup var startupName = webHostBuilder.GetSetting("Startup"); - Assert.Equal(nameof(Benchmarks.StartupUsingGlobalRouting), startupName); + Assert.Equal(nameof(Benchmarks.StartupUsingEndpointRouting), startupName); _testServer = new TestServer(webHostBuilder); _client = _testServer.CreateClient(); diff --git a/test/Microsoft.AspNetCore.Routing.FunctionalTests/GlobalRoutingSampleTest.cs b/test/Microsoft.AspNetCore.Routing.FunctionalTests/EndpointRoutingSampleTest.cs similarity index 94% rename from test/Microsoft.AspNetCore.Routing.FunctionalTests/GlobalRoutingSampleTest.cs rename to test/Microsoft.AspNetCore.Routing.FunctionalTests/EndpointRoutingSampleTest.cs index 1ea832e806..5f059cae60 100644 --- a/test/Microsoft.AspNetCore.Routing.FunctionalTests/GlobalRoutingSampleTest.cs +++ b/test/Microsoft.AspNetCore.Routing.FunctionalTests/EndpointRoutingSampleTest.cs @@ -11,14 +11,14 @@ using Xunit; namespace Microsoft.AspNetCore.Routing.FunctionalTests { - public class GlobalRoutingSampleTest : IDisposable + public class EndpointRoutingSampleTest : IDisposable { private readonly HttpClient _client; private readonly TestServer _testServer; - public GlobalRoutingSampleTest() + public EndpointRoutingSampleTest() { - var webHostBuilder = Program.GetWebHostBuilder(new[] { Program.GlobalRoutingScenario, }); + var webHostBuilder = Program.GetWebHostBuilder(new[] { Program.EndpointRoutingScenario, }); _testServer = new TestServer(webHostBuilder); _client = _testServer.CreateClient(); _client.BaseAddress = new Uri("http://localhost"); @@ -29,7 +29,7 @@ namespace Microsoft.AspNetCore.Routing.FunctionalTests { // Arrange var expectedContentType = "text/plain"; - var expectedContent = "Global Routing sample endpoints:" + Environment.NewLine + "/plaintext"; + var expectedContent = "Endpoint Routing sample endpoints:" + Environment.NewLine + "/plaintext"; // Act var response = await _client.GetAsync("/"); diff --git a/test/Microsoft.AspNetCore.Routing.Tests/Builder/GlobalRoutingBuilderExtensionsTest.cs b/test/Microsoft.AspNetCore.Routing.Tests/Builder/EndpointRoutingBuilderExtensionsTest.cs similarity index 82% rename from test/Microsoft.AspNetCore.Routing.Tests/Builder/GlobalRoutingBuilderExtensionsTest.cs rename to test/Microsoft.AspNetCore.Routing.Tests/Builder/EndpointRoutingBuilderExtensionsTest.cs index 410be22666..dd85fb11f6 100644 --- a/test/Microsoft.AspNetCore.Routing.Tests/Builder/GlobalRoutingBuilderExtensionsTest.cs +++ b/test/Microsoft.AspNetCore.Routing.Tests/Builder/EndpointRoutingBuilderExtensionsTest.cs @@ -5,6 +5,7 @@ using System; using System.Threading.Tasks; using Microsoft.AspNetCore.Builder.Internal; using Microsoft.AspNetCore.Http; +using Microsoft.AspNetCore.Internal; using Microsoft.AspNetCore.Routing; using Microsoft.Extensions.DependencyInjection; using Moq; @@ -12,16 +13,16 @@ using Xunit; namespace Microsoft.AspNetCore.Builder { - public class GlobalRoutingBuilderExtensionsTest + public class EndpointRoutingBuilderExtensionsTest { [Fact] - public void UseGlobalRouting_ServicesNotRegistered_Throws() + public void UseEndpointRouting_ServicesNotRegistered_Throws() { // Arrange var app = new ApplicationBuilder(Mock.Of()); // Act - var ex = Assert.Throws(() => app.UseGlobalRouting()); + var ex = Assert.Throws(() => app.UseEndpointRouting()); // Assert Assert.Equal( @@ -49,14 +50,14 @@ namespace Microsoft.AspNetCore.Builder } [Fact] - public async Task UseGlobalRouting_ServicesRegistered_SetsFeature() + public async Task UseEndpointRouting_ServicesRegistered_SetsFeature() { // Arrange var services = CreateServices(); var app = new ApplicationBuilder(services); - app.UseGlobalRouting(); + app.UseEndpointRouting(); var appFunc = app.Build(); var httpContext = new DefaultHttpContext(); @@ -81,21 +82,21 @@ namespace Microsoft.AspNetCore.Builder // Assert Assert.Equal( - "GlobalRoutingMiddleware must be added to the request execution pipeline before EndpointMiddleware. " + - "Please add GlobalRoutingMiddleware by calling 'IApplicationBuilder.UseGlobalRouting' " + + "EndpointRoutingMiddleware must be added to the request execution pipeline before EndpointMiddleware. " + + "Please add EndpointRoutingMiddleware by calling 'IApplicationBuilder.UseEndpointRouting' " + "inside the call to 'Configure(...)' in the application startup code.", ex.Message); } [Fact] - public async Task UseEndpoint_ServicesRegisteredAndGlobalRoutingRegistered_SetsFeature() + public async Task UseEndpoint_ServicesRegisteredAndEndpointRoutingRegistered_SetsFeature() { // Arrange var services = CreateServices(); var app = new ApplicationBuilder(services); - app.UseGlobalRouting(); + app.UseEndpointRouting(); app.UseEndpoint(); var appFunc = app.Build(); diff --git a/test/Microsoft.AspNetCore.Routing.Tests/CompositeEndpointDataSourceTest.cs b/test/Microsoft.AspNetCore.Routing.Tests/CompositeEndpointDataSourceTest.cs index 0e18453df9..dad43417ab 100644 --- a/test/Microsoft.AspNetCore.Routing.Tests/CompositeEndpointDataSourceTest.cs +++ b/test/Microsoft.AspNetCore.Routing.Tests/CompositeEndpointDataSourceTest.cs @@ -5,7 +5,7 @@ using System; using System.Collections.Generic; using System.Threading; using System.Threading.Tasks; -using Microsoft.AspNetCore.Routing.Matchers; +using Microsoft.AspNetCore.Routing.Matching; using Microsoft.AspNetCore.Routing.Patterns; using Microsoft.AspNetCore.Routing.TestObjects; using Microsoft.Extensions.Primitives; diff --git a/test/Microsoft.AspNetCore.Routing.Tests/DefaultEndpointDataSourceTests.cs b/test/Microsoft.AspNetCore.Routing.Tests/DefaultEndpointDataSourceTests.cs new file mode 100644 index 0000000000..6e46dea578 --- /dev/null +++ b/test/Microsoft.AspNetCore.Routing.Tests/DefaultEndpointDataSourceTests.cs @@ -0,0 +1,45 @@ +// Copyright (c) .NET Foundation. All rights reserved. +// Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information. + +using Microsoft.AspNetCore.Routing.TestObjects; +using System; +using System.Collections.Generic; +using System.Text; +using Xunit; + +namespace Microsoft.AspNetCore.Routing +{ + public class DefaultEndpointDataSourceTests + { + [Fact] + public void Constructor_Params_EndpointsInitialized() + { + // Arrange & Act + var dataSource = new DefaultEndpointDataSource( + new TestEndpoint(EndpointMetadataCollection.Empty, "1"), + new TestEndpoint(EndpointMetadataCollection.Empty, "2") + ); + + // Assert + Assert.Collection(dataSource.Endpoints, + endpoint => Assert.Equal("1", endpoint.DisplayName), + endpoint => Assert.Equal("2", endpoint.DisplayName)); + } + + [Fact] + public void Constructor_Enumerable_EndpointsInitialized() + { + // Arrange & Act + var dataSource = new DefaultEndpointDataSource(new List + { + new TestEndpoint(EndpointMetadataCollection.Empty, "1"), + new TestEndpoint(EndpointMetadataCollection.Empty, "2") + }); + + // Assert + Assert.Collection(dataSource.Endpoints, + endpoint => Assert.Equal("1", endpoint.DisplayName), + endpoint => Assert.Equal("2", endpoint.DisplayName)); + } + } +} \ No newline at end of file diff --git a/test/Microsoft.AspNetCore.Routing.Tests/DefaultLinkGeneratorTest.cs b/test/Microsoft.AspNetCore.Routing.Tests/DefaultLinkGeneratorTest.cs index d74d2eff48..6c5a47116e 100644 --- a/test/Microsoft.AspNetCore.Routing.Tests/DefaultLinkGeneratorTest.cs +++ b/test/Microsoft.AspNetCore.Routing.Tests/DefaultLinkGeneratorTest.cs @@ -6,9 +6,8 @@ using System.Collections.Generic; using System.Linq; using Microsoft.AspNetCore.Http; using Microsoft.AspNetCore.Routing.Constraints; -using Microsoft.AspNetCore.Routing.EndpointFinders; using Microsoft.AspNetCore.Routing.Internal; -using Microsoft.AspNetCore.Routing.Matchers; +using Microsoft.AspNetCore.Routing.Matching; using Microsoft.AspNetCore.Routing.TestObjects; using Microsoft.Extensions.Logging.Abstractions; using Microsoft.Extensions.ObjectPool; @@ -26,15 +25,15 @@ namespace Microsoft.AspNetCore.Routing // Arrange var endpoint = EndpointFactory.CreateMatcherEndpoint("{controller}"); var linkGenerator = CreateLinkGenerator(); - var context = CreateRouteValuesContext(new { controller = "Home" }); + var address = CreateRouteValuesAddress(new { controller = "Home" }); // Act var link = linkGenerator.GetLink( new LinkGeneratorContext { Endpoints = new[] { endpoint }, - ExplicitValues = context.ExplicitValues, - AmbientValues = context.AmbientValues + ExplicitValues = address.ExplicitValues, + AmbientValues = address.AmbientValues }); // Assert @@ -48,7 +47,7 @@ namespace Microsoft.AspNetCore.Routing var expectedMessage = "Could not find a matching endpoint to generate a link."; var endpoint = EndpointFactory.CreateMatcherEndpoint("{controller}/{action}"); var linkGenerator = CreateLinkGenerator(); - var context = CreateRouteValuesContext(new { controller = "Home" }); + var address = CreateRouteValuesAddress(new { controller = "Home" }); // Act & Assert var exception = Assert.Throws( @@ -56,8 +55,8 @@ namespace Microsoft.AspNetCore.Routing new LinkGeneratorContext { Endpoints = new[] { endpoint }, - ExplicitValues = context.ExplicitValues, - AmbientValues = context.AmbientValues + ExplicitValues = address.ExplicitValues, + AmbientValues = address.AmbientValues })); Assert.Equal(expectedMessage, exception.Message); } @@ -68,15 +67,15 @@ namespace Microsoft.AspNetCore.Routing // Arrange var endpoint = EndpointFactory.CreateMatcherEndpoint("{controller}/{action}"); var linkGenerator = CreateLinkGenerator(); - var context = CreateRouteValuesContext(new { controller = "Home" }); + var address = CreateRouteValuesAddress(new { controller = "Home" }); // Act var canGenerateLink = linkGenerator.TryGetLink( new LinkGeneratorContext { Endpoints = new[] { endpoint }, - ExplicitValues = context.ExplicitValues, - AmbientValues = context.AmbientValues + ExplicitValues = address.ExplicitValues, + AmbientValues = address.AmbientValues }, out var link); @@ -93,15 +92,15 @@ namespace Microsoft.AspNetCore.Routing var endpoint2 = EndpointFactory.CreateMatcherEndpoint("{controller}/{action}"); var endpoint3 = EndpointFactory.CreateMatcherEndpoint("{controller}"); var linkGenerator = CreateLinkGenerator(); - var context = CreateRouteValuesContext(new { controller = "Home", action = "Index", id = "10" }); + var address = CreateRouteValuesAddress(new { controller = "Home", action = "Index", id = "10" }); // Act var link = linkGenerator.GetLink( new LinkGeneratorContext { Endpoints = new[] { endpoint1, endpoint2, endpoint3 }, - ExplicitValues = context.ExplicitValues, - AmbientValues = context.AmbientValues + ExplicitValues = address.ExplicitValues, + AmbientValues = address.AmbientValues }); // Assert @@ -116,15 +115,15 @@ namespace Microsoft.AspNetCore.Routing var endpoint2 = EndpointFactory.CreateMatcherEndpoint("{controller}/{action}"); var endpoint3 = EndpointFactory.CreateMatcherEndpoint("{controller}"); var linkGenerator = CreateLinkGenerator(); - var context = CreateRouteValuesContext(new { controller = "Home", action = "Index" }); + var address = CreateRouteValuesAddress(new { controller = "Home", action = "Index" }); // Act var link = linkGenerator.GetLink( new LinkGeneratorContext { Endpoints = new[] { endpoint1, endpoint2, endpoint3 }, - ExplicitValues = context.ExplicitValues, - AmbientValues = context.AmbientValues + ExplicitValues = address.ExplicitValues, + AmbientValues = address.AmbientValues }); // Assert @@ -137,7 +136,7 @@ namespace Microsoft.AspNetCore.Routing // Arrange var endpoint = EndpointFactory.CreateMatcherEndpoint("{controller}/{action}"); var linkGenerator = CreateLinkGenerator(); - var context = CreateRouteValuesContext( + var address = CreateRouteValuesAddress( explicitValues: new { name = "name with %special #characters" }, ambientValues: new { controller = "Home", action = "Index" }); @@ -146,8 +145,8 @@ namespace Microsoft.AspNetCore.Routing new LinkGeneratorContext { Endpoints = new[] { endpoint }, - ExplicitValues = context.ExplicitValues, - AmbientValues = context.AmbientValues + ExplicitValues = address.ExplicitValues, + AmbientValues = address.AmbientValues }); // Assert @@ -160,7 +159,7 @@ namespace Microsoft.AspNetCore.Routing // Arrange var endpoint = EndpointFactory.CreateMatcherEndpoint("{controller}/{action}"); var linkGenerator = CreateLinkGenerator(); - var context = CreateRouteValuesContext( + var address = CreateRouteValuesAddress( new { color = new List { "red", "green", "blue" } }, new { controller = "Home", action = "Index" }); @@ -169,8 +168,8 @@ namespace Microsoft.AspNetCore.Routing new LinkGeneratorContext { Endpoints = new[] { endpoint }, - ExplicitValues = context.ExplicitValues, - AmbientValues = context.AmbientValues + ExplicitValues = address.ExplicitValues, + AmbientValues = address.AmbientValues }); // Assert @@ -183,7 +182,7 @@ namespace Microsoft.AspNetCore.Routing // Arrange var endpoint = EndpointFactory.CreateMatcherEndpoint("{controller}/{action}"); var linkGenerator = CreateLinkGenerator(); - var context = CreateRouteValuesContext( + var address = CreateRouteValuesAddress( new { items = new List { 10, 20, 30 } }, new { controller = "Home", action = "Index" }); @@ -192,8 +191,8 @@ namespace Microsoft.AspNetCore.Routing new LinkGeneratorContext { Endpoints = new[] { endpoint }, - ExplicitValues = context.ExplicitValues, - AmbientValues = context.AmbientValues + ExplicitValues = address.ExplicitValues, + AmbientValues = address.AmbientValues }); // Assert @@ -206,7 +205,7 @@ namespace Microsoft.AspNetCore.Routing // Arrange var endpoint = EndpointFactory.CreateMatcherEndpoint("{controller}/{action}"); var linkGenerator = CreateLinkGenerator(); - var context = CreateRouteValuesContext( + var address = CreateRouteValuesAddress( new { color = new List { } }, new { controller = "Home", action = "Index" }); @@ -215,8 +214,8 @@ namespace Microsoft.AspNetCore.Routing new LinkGeneratorContext { Endpoints = new[] { endpoint }, - ExplicitValues = context.ExplicitValues, - AmbientValues = context.AmbientValues + ExplicitValues = address.ExplicitValues, + AmbientValues = address.AmbientValues }); // Assert @@ -229,7 +228,7 @@ namespace Microsoft.AspNetCore.Routing // Arrange var endpoint = EndpointFactory.CreateMatcherEndpoint("{controller}/{action}"); var linkGenerator = CreateLinkGenerator(); - var context = CreateRouteValuesContext( + var address = CreateRouteValuesAddress( new { page = 1, color = new List { "red", "green", "blue" }, message = "textfortest" }, new { controller = "Home", action = "Index" }); @@ -238,8 +237,8 @@ namespace Microsoft.AspNetCore.Routing new LinkGeneratorContext { Endpoints = new[] { endpoint }, - ExplicitValues = context.ExplicitValues, - AmbientValues = context.AmbientValues + ExplicitValues = address.ExplicitValues, + AmbientValues = address.AmbientValues }); // Assert @@ -252,7 +251,7 @@ namespace Microsoft.AspNetCore.Routing // Arrange var endpoint = EndpointFactory.CreateMatcherEndpoint("{controller}/{action}"); var linkGenerator = CreateLinkGenerator(); - var context = CreateRouteValuesContext( + var address = CreateRouteValuesAddress( explicitValues: new { action = "Index" }, ambientValues: new { controller = "Home" }); @@ -261,8 +260,8 @@ namespace Microsoft.AspNetCore.Routing new LinkGeneratorContext { Endpoints = new[] { endpoint }, - ExplicitValues = context.ExplicitValues, - AmbientValues = context.AmbientValues + ExplicitValues = address.ExplicitValues, + AmbientValues = address.AmbientValues }); // Assert @@ -275,7 +274,7 @@ namespace Microsoft.AspNetCore.Routing // Arrange var endpoint = EndpointFactory.CreateMatcherEndpoint("{controller}/{action}"); var linkGenerator = CreateLinkGenerator(new RouteOptions() { LowercaseUrls = true }); - var context = CreateRouteValuesContext( + var address = CreateRouteValuesAddress( explicitValues: new { action = "Index" }, ambientValues: new { controller = "Home" }); @@ -284,8 +283,8 @@ namespace Microsoft.AspNetCore.Routing new LinkGeneratorContext { Endpoints = new[] { endpoint }, - ExplicitValues = context.ExplicitValues, - AmbientValues = context.AmbientValues + ExplicitValues = address.ExplicitValues, + AmbientValues = address.AmbientValues }); // Assert @@ -299,7 +298,7 @@ namespace Microsoft.AspNetCore.Routing var endpoint = EndpointFactory.CreateMatcherEndpoint("{controller}/{action}"); var linkGenerator = CreateLinkGenerator( new RouteOptions() { LowercaseUrls = true, LowercaseQueryStrings = true }); - var context = CreateRouteValuesContext( + var address = CreateRouteValuesAddress( explicitValues: new { action = "Index", ShowStatus = "True", INFO = "DETAILED" }, ambientValues: new { controller = "Home" }); @@ -308,8 +307,8 @@ namespace Microsoft.AspNetCore.Routing new LinkGeneratorContext { Endpoints = new[] { endpoint }, - ExplicitValues = context.ExplicitValues, - AmbientValues = context.AmbientValues + ExplicitValues = address.ExplicitValues, + AmbientValues = address.AmbientValues }); // Assert @@ -323,7 +322,7 @@ namespace Microsoft.AspNetCore.Routing var endpoint = EndpointFactory.CreateMatcherEndpoint("{controller}/{action}"); var linkGenerator = CreateLinkGenerator( new RouteOptions() { LowercaseUrls = false, LowercaseQueryStrings = true }); - var context = CreateRouteValuesContext( + var address = CreateRouteValuesAddress( explicitValues: new { action = "Index", ShowStatus = "True", INFO = "DETAILED" }, ambientValues: new { controller = "Home" }); @@ -332,8 +331,8 @@ namespace Microsoft.AspNetCore.Routing new LinkGeneratorContext { Endpoints = new[] { endpoint }, - ExplicitValues = context.ExplicitValues, - AmbientValues = context.AmbientValues + ExplicitValues = address.ExplicitValues, + AmbientValues = address.AmbientValues }); // Assert @@ -346,7 +345,7 @@ namespace Microsoft.AspNetCore.Routing // Arrange var endpoint = EndpointFactory.CreateMatcherEndpoint("{controller}/{action}"); var linkGenerator = CreateLinkGenerator(new RouteOptions() { AppendTrailingSlash = true }); - var context = CreateRouteValuesContext( + var address = CreateRouteValuesAddress( explicitValues: new { action = "Index" }, ambientValues: new { controller = "Home" }); @@ -355,8 +354,8 @@ namespace Microsoft.AspNetCore.Routing new LinkGeneratorContext { Endpoints = new[] { endpoint }, - ExplicitValues = context.ExplicitValues, - AmbientValues = context.AmbientValues + ExplicitValues = address.ExplicitValues, + AmbientValues = address.AmbientValues }); // Assert @@ -370,7 +369,7 @@ namespace Microsoft.AspNetCore.Routing var endpoint = EndpointFactory.CreateMatcherEndpoint("{controller}/{action}"); var linkGenerator = CreateLinkGenerator( new RouteOptions() { LowercaseUrls = true, LowercaseQueryStrings = true, AppendTrailingSlash = true }); - var context = CreateRouteValuesContext( + var address = CreateRouteValuesAddress( explicitValues: new { action = "Index", ShowStatus = "True", INFO = "DETAILED" }, ambientValues: new { controller = "Home" }); @@ -379,8 +378,8 @@ namespace Microsoft.AspNetCore.Routing new LinkGeneratorContext { Endpoints = new[] { endpoint }, - ExplicitValues = context.ExplicitValues, - AmbientValues = context.AmbientValues + ExplicitValues = address.ExplicitValues, + AmbientValues = address.AmbientValues }); // Assert @@ -393,7 +392,7 @@ namespace Microsoft.AspNetCore.Routing // Arrange var endpoint = EndpointFactory.CreateMatcherEndpoint("{controller}/{action}"); var linkGenerator = CreateLinkGenerator(new RouteOptions() { LowercaseUrls = true }); - var context = CreateRouteValuesContext( + var address = CreateRouteValuesAddress( explicitValues: new { action = "InDex" }, ambientValues: new { controller = "HoMe" }); @@ -402,8 +401,8 @@ namespace Microsoft.AspNetCore.Routing new LinkGeneratorContext { Endpoints = new[] { endpoint }, - ExplicitValues = context.ExplicitValues, - AmbientValues = context.AmbientValues, + ExplicitValues = address.ExplicitValues, + AmbientValues = address.AmbientValues, LowercaseUrls = false }); @@ -417,7 +416,7 @@ namespace Microsoft.AspNetCore.Routing // Arrange var endpoint = EndpointFactory.CreateMatcherEndpoint("{controller}/{action}"); var linkGenerator = CreateLinkGenerator(new RouteOptions() { LowercaseUrls = false }); - var context = CreateRouteValuesContext( + var address = CreateRouteValuesAddress( explicitValues: new { action = "InDex" }, ambientValues: new { controller = "HoMe" }); @@ -426,8 +425,8 @@ namespace Microsoft.AspNetCore.Routing new LinkGeneratorContext { Endpoints = new[] { endpoint }, - ExplicitValues = context.ExplicitValues, - AmbientValues = context.AmbientValues, + ExplicitValues = address.ExplicitValues, + AmbientValues = address.AmbientValues, LowercaseUrls = true }); @@ -442,7 +441,7 @@ namespace Microsoft.AspNetCore.Routing var endpoint = EndpointFactory.CreateMatcherEndpoint("{controller}/{action}"); var linkGenerator = CreateLinkGenerator( new RouteOptions() { LowercaseUrls = true, LowercaseQueryStrings = true }); - var context = CreateRouteValuesContext( + var address = CreateRouteValuesAddress( explicitValues: new { action = "Index", ShowStatus = "True", INFO = "DETAILED" }, ambientValues: new { controller = "Home" }); @@ -451,8 +450,8 @@ namespace Microsoft.AspNetCore.Routing new LinkGeneratorContext { Endpoints = new[] { endpoint }, - ExplicitValues = context.ExplicitValues, - AmbientValues = context.AmbientValues, + ExplicitValues = address.ExplicitValues, + AmbientValues = address.AmbientValues, LowercaseUrls = false, LowercaseQueryStrings = false }); @@ -468,7 +467,7 @@ namespace Microsoft.AspNetCore.Routing var endpoint = EndpointFactory.CreateMatcherEndpoint("{controller}/{action}"); var linkGenerator = CreateLinkGenerator( new RouteOptions() { LowercaseUrls = false, LowercaseQueryStrings = false }); - var context = CreateRouteValuesContext( + var address = CreateRouteValuesAddress( explicitValues: new { action = "Index", ShowStatus = "True", INFO = "DETAILED" }, ambientValues: new { controller = "Home" }); @@ -477,8 +476,8 @@ namespace Microsoft.AspNetCore.Routing new LinkGeneratorContext { Endpoints = new[] { endpoint }, - ExplicitValues = context.ExplicitValues, - AmbientValues = context.AmbientValues, + ExplicitValues = address.ExplicitValues, + AmbientValues = address.AmbientValues, LowercaseUrls = true, LowercaseQueryStrings = true }); @@ -493,7 +492,7 @@ namespace Microsoft.AspNetCore.Routing // Arrange var endpoint = EndpointFactory.CreateMatcherEndpoint("{controller}/{action}"); var linkGenerator = CreateLinkGenerator(new RouteOptions() { AppendTrailingSlash = false }); - var context = CreateRouteValuesContext( + var address = CreateRouteValuesAddress( explicitValues: new { action = "Index" }, ambientValues: new { controller = "Home" }); @@ -502,8 +501,8 @@ namespace Microsoft.AspNetCore.Routing new LinkGeneratorContext { Endpoints = new[] { endpoint }, - ExplicitValues = context.ExplicitValues, - AmbientValues = context.AmbientValues, + ExplicitValues = address.ExplicitValues, + AmbientValues = address.AmbientValues, AppendTrailingSlash = true }); @@ -515,7 +514,7 @@ namespace Microsoft.AspNetCore.Routing public void RouteGenerationRejectsConstraints() { // Arrange - var context = CreateRouteValuesContext(new { p1 = "abcd" }); + var address = CreateRouteValuesAddress(new { p1 = "abcd" }); var linkGenerator = CreateLinkGenerator(); var endpoint = EndpointFactory.CreateMatcherEndpoint( @@ -529,8 +528,8 @@ namespace Microsoft.AspNetCore.Routing { HttpContext = new DefaultHttpContext(), Endpoints = new[] { endpoint }, - ExplicitValues = context.ExplicitValues, - AmbientValues = context.AmbientValues + ExplicitValues = address.ExplicitValues, + AmbientValues = address.AmbientValues }, out var link); @@ -542,7 +541,7 @@ namespace Microsoft.AspNetCore.Routing public void RouteGenerationAcceptsConstraints() { // Arrange - var context = CreateRouteValuesContext(new { p1 = "hello", p2 = "1234" }); + var address = CreateRouteValuesAddress(new { p1 = "hello", p2 = "1234" }); var linkGenerator = CreateLinkGenerator(); var endpoint = EndpointFactory.CreateMatcherEndpoint( @@ -556,8 +555,8 @@ namespace Microsoft.AspNetCore.Routing { HttpContext = new DefaultHttpContext(), Endpoints = new[] { endpoint }, - ExplicitValues = context.ExplicitValues, - AmbientValues = context.AmbientValues + ExplicitValues = address.ExplicitValues, + AmbientValues = address.AmbientValues }, out var link); @@ -570,7 +569,7 @@ namespace Microsoft.AspNetCore.Routing public void RouteWithCatchAllRejectsConstraints() { // Arrange - var context = CreateRouteValuesContext(new { p1 = "abcd" }); + var address = CreateRouteValuesAddress(new { p1 = "abcd" }); var linkGenerator = CreateLinkGenerator(); var endpoint = EndpointFactory.CreateMatcherEndpoint( @@ -584,8 +583,8 @@ namespace Microsoft.AspNetCore.Routing { HttpContext = new DefaultHttpContext(), Endpoints = new[] { endpoint }, - ExplicitValues = context.ExplicitValues, - AmbientValues = context.AmbientValues + ExplicitValues = address.ExplicitValues, + AmbientValues = address.AmbientValues }, out var link); @@ -597,7 +596,7 @@ namespace Microsoft.AspNetCore.Routing public void RouteWithCatchAllAcceptsConstraints() { // Arrange - var context = CreateRouteValuesContext(new { p1 = "hello", p2 = "1234" }); + var address = CreateRouteValuesAddress(new { p1 = "hello", p2 = "1234" }); var linkGenerator = CreateLinkGenerator(); var endpoint = EndpointFactory.CreateMatcherEndpoint( @@ -611,8 +610,8 @@ namespace Microsoft.AspNetCore.Routing { HttpContext = new DefaultHttpContext(), Endpoints = new[] { endpoint }, - ExplicitValues = context.ExplicitValues, - AmbientValues = context.AmbientValues + ExplicitValues = address.ExplicitValues, + AmbientValues = address.AmbientValues }, out var link); @@ -625,7 +624,7 @@ namespace Microsoft.AspNetCore.Routing public void GetLinkWithNonParameterConstraintReturnsUrlWithoutQueryString() { // Arrange - var context = CreateRouteValuesContext(new { p1 = "hello", p2 = "1234" }); + var address = CreateRouteValuesAddress(new { p1 = "hello", p2 = "1234" }); var linkGenerator = CreateLinkGenerator(); var target = new Mock(); target @@ -650,8 +649,8 @@ namespace Microsoft.AspNetCore.Routing { HttpContext = new DefaultHttpContext(), Endpoints = new[] { endpoint }, - ExplicitValues = context.ExplicitValues, - AmbientValues = context.AmbientValues + ExplicitValues = address.ExplicitValues, + AmbientValues = address.AmbientValues }, out var link); @@ -674,7 +673,7 @@ namespace Microsoft.AspNetCore.Routing defaults: new { controller = "Home", action = "Store" }, constraints: new { c = constraint }); - var context = CreateRouteValuesContext( + var address = CreateRouteValuesAddress( explicitValues: new { action = "Store" }, ambientValues: new { controller = "Home", action = "Blog", extra = "42" }); @@ -687,8 +686,8 @@ namespace Microsoft.AspNetCore.Routing { HttpContext = new DefaultHttpContext(), Endpoints = new[] { endpoint }, - ExplicitValues = context.ExplicitValues, - AmbientValues = context.AmbientValues + ExplicitValues = address.ExplicitValues, + AmbientValues = address.AmbientValues }, out var link); @@ -711,7 +710,7 @@ namespace Microsoft.AspNetCore.Routing defaults: new { controller = "Home", action = "Store", otherthing = "17" }, constraints: new { c = constraint }); - var context = CreateRouteValuesContext( + var address = CreateRouteValuesAddress( explicitValues: new { action = "Store" }, ambientValues: new { controller = "Home", action = "Blog" }); @@ -724,8 +723,8 @@ namespace Microsoft.AspNetCore.Routing { HttpContext = new DefaultHttpContext(), Endpoints = new[] { endpoint }, - ExplicitValues = context.ExplicitValues, - AmbientValues = context.AmbientValues + ExplicitValues = address.ExplicitValues, + AmbientValues = address.AmbientValues }); // Assert @@ -745,7 +744,7 @@ namespace Microsoft.AspNetCore.Routing defaults: new { action = "Index" }, constraints: new { c = constraint, }); - var context = CreateRouteValuesContext( + var address = CreateRouteValuesAddress( explicitValues: new { controller = "Shopping" }, ambientValues: new { controller = "Home", action = "Blog" }); @@ -758,8 +757,8 @@ namespace Microsoft.AspNetCore.Routing { HttpContext = new DefaultHttpContext(), Endpoints = new[] { endpoint }, - ExplicitValues = context.ExplicitValues, - AmbientValues = context.AmbientValues + ExplicitValues = address.ExplicitValues, + AmbientValues = address.AmbientValues }); // Assert @@ -780,7 +779,7 @@ namespace Microsoft.AspNetCore.Routing defaults: new { controller = "Home", action = "Store", otherthing = "17", thirdthing = "13" }, constraints: new { c = constraint, }); - var context = CreateRouteValuesContext( + var address = CreateRouteValuesAddress( explicitValues: new { action = "Store", thirdthing = "13" }, ambientValues: new { controller = "Home", action = "Blog", otherthing = "17" }); @@ -793,8 +792,8 @@ namespace Microsoft.AspNetCore.Routing { HttpContext = new DefaultHttpContext(), Endpoints = new[] { endpoint }, - ExplicitValues = context.ExplicitValues, - AmbientValues = context.AmbientValues + ExplicitValues = address.ExplicitValues, + AmbientValues = address.AmbientValues }); // Assert @@ -812,7 +811,7 @@ namespace Microsoft.AspNetCore.Routing defaults: new { controller = "Home", action = "Index" }, constraints: new { }); - var context = CreateRouteValuesContext( + var address = CreateRouteValuesAddress( explicitValues: new { action = "Index", controller = "Home", id = 4 }); // Act @@ -821,8 +820,8 @@ namespace Microsoft.AspNetCore.Routing { HttpContext = new DefaultHttpContext(), Endpoints = new[] { endpoint }, - ExplicitValues = context.ExplicitValues, - AmbientValues = context.AmbientValues + ExplicitValues = address.ExplicitValues, + AmbientValues = address.AmbientValues }); // Assert @@ -839,7 +838,7 @@ namespace Microsoft.AspNetCore.Routing defaults: new { controller = "Home", action = "Index" }, constraints: new { id = "int" }); - var context = CreateRouteValuesContext( + var address = CreateRouteValuesAddress( explicitValues: new { action = "Index", controller = "Home", id = "not-an-integer" }); // Act @@ -848,8 +847,8 @@ namespace Microsoft.AspNetCore.Routing { HttpContext = new DefaultHttpContext(), Endpoints = new[] { endpoint }, - ExplicitValues = context.ExplicitValues, - AmbientValues = context.AmbientValues + ExplicitValues = address.ExplicitValues, + AmbientValues = address.AmbientValues }, out var link); @@ -866,7 +865,7 @@ namespace Microsoft.AspNetCore.Routing template: "Home/Index/{id:int?}", defaults: new { controller = "Home", action = "Index" }, constraints: new { }); - var context = CreateRouteValuesContext( + var address = CreateRouteValuesAddress( explicitValues: new { action = "Index", controller = "Home", id = 98 }); // Act @@ -875,8 +874,8 @@ namespace Microsoft.AspNetCore.Routing { HttpContext = new DefaultHttpContext(), Endpoints = new[] { endpoint }, - ExplicitValues = context.ExplicitValues, - AmbientValues = context.AmbientValues + ExplicitValues = address.ExplicitValues, + AmbientValues = address.AmbientValues }); // Assert @@ -893,7 +892,7 @@ namespace Microsoft.AspNetCore.Routing defaults: new { controller = "Home", action = "Index" }, constraints: new { id = "int" }); - var context = CreateRouteValuesContext( + var address = CreateRouteValuesAddress( explicitValues: new { action = "Index", controller = "Home" }); // Act @@ -902,8 +901,8 @@ namespace Microsoft.AspNetCore.Routing { HttpContext = new DefaultHttpContext(), Endpoints = new[] { endpoint }, - ExplicitValues = context.ExplicitValues, - AmbientValues = context.AmbientValues + ExplicitValues = address.ExplicitValues, + AmbientValues = address.AmbientValues }); // Assert @@ -920,7 +919,7 @@ namespace Microsoft.AspNetCore.Routing defaults: new { controller = "Home", action = "Index" }, constraints: new { id = "int" }); - var context = CreateRouteValuesContext( + var address = CreateRouteValuesAddress( explicitValues: new { action = "Index", controller = "Home", id = "not-an-integer" }); // Act @@ -929,8 +928,8 @@ namespace Microsoft.AspNetCore.Routing { HttpContext = new DefaultHttpContext(), Endpoints = new[] { endpoint }, - ExplicitValues = context.ExplicitValues, - AmbientValues = context.AmbientValues + ExplicitValues = address.ExplicitValues, + AmbientValues = address.AmbientValues }, out var link); @@ -948,7 +947,7 @@ namespace Microsoft.AspNetCore.Routing defaults: new { controller = "Home", action = "Index" }, constraints: new { }); - var context = CreateRouteValuesContext( + var address = CreateRouteValuesAddress( explicitValues: new { action = "Index", controller = "Home", id = 14 }); // Act @@ -957,8 +956,8 @@ namespace Microsoft.AspNetCore.Routing { HttpContext = new DefaultHttpContext(), Endpoints = new[] { endpoint }, - ExplicitValues = context.ExplicitValues, - AmbientValues = context.AmbientValues + ExplicitValues = address.ExplicitValues, + AmbientValues = address.AmbientValues }); // Assert @@ -975,7 +974,7 @@ namespace Microsoft.AspNetCore.Routing defaults: new { controller = "Home", action = "Index" }, constraints: new { }); - var context = CreateRouteValuesContext( + var address = CreateRouteValuesAddress( explicitValues: new { action = "Index", controller = "Home", id = 50 }); // Act @@ -984,8 +983,8 @@ namespace Microsoft.AspNetCore.Routing { HttpContext = new DefaultHttpContext(), Endpoints = new[] { endpoint }, - ExplicitValues = context.ExplicitValues, - AmbientValues = context.AmbientValues + ExplicitValues = address.ExplicitValues, + AmbientValues = address.AmbientValues }, out var link); @@ -1004,7 +1003,7 @@ namespace Microsoft.AspNetCore.Routing defaults: new { controller = "Home", action = "Index" }, constraints: new { name = constraint }); - var context = CreateRouteValuesContext( + var address = CreateRouteValuesAddress( explicitValues: new { action = "Index", controller = "Home", name = "products" }); // Act @@ -1013,8 +1012,8 @@ namespace Microsoft.AspNetCore.Routing { HttpContext = new DefaultHttpContext(), Endpoints = new[] { endpoint }, - ExplicitValues = context.ExplicitValues, - AmbientValues = context.AmbientValues + ExplicitValues = address.ExplicitValues, + AmbientValues = address.AmbientValues }); // Assert @@ -1027,7 +1026,7 @@ namespace Microsoft.AspNetCore.Routing // Arrange var endpoint = EndpointFactory.CreateMatcherEndpoint("{controller}/{action}/{name?}"); var linkGenerator = CreateLinkGenerator(); - var context = CreateRouteValuesContext( + var address = CreateRouteValuesAddress( explicitValues: new { action = "Index", controller = "Home", name = "products" }); // Act @@ -1035,8 +1034,8 @@ namespace Microsoft.AspNetCore.Routing new LinkGeneratorContext { Endpoints = new[] { endpoint }, - ExplicitValues = context.ExplicitValues, - AmbientValues = context.AmbientValues + ExplicitValues = address.ExplicitValues, + AmbientValues = address.AmbientValues }); // Assert @@ -1049,7 +1048,7 @@ namespace Microsoft.AspNetCore.Routing // Arrange var endpoint = EndpointFactory.CreateMatcherEndpoint("{controller}/{action}/{name?}"); var linkGenerator = CreateLinkGenerator(); - var context = CreateRouteValuesContext( + var address = CreateRouteValuesAddress( explicitValues: new { action = "Index", controller = "Home" }); // Act @@ -1057,8 +1056,8 @@ namespace Microsoft.AspNetCore.Routing new LinkGeneratorContext { Endpoints = new[] { endpoint }, - ExplicitValues = context.ExplicitValues, - AmbientValues = context.AmbientValues + ExplicitValues = address.ExplicitValues, + AmbientValues = address.AmbientValues }); // Assert @@ -1073,7 +1072,7 @@ namespace Microsoft.AspNetCore.Routing template: "{controller}/{action}/{name}", defaults: new { name = "default-products" }); var linkGenerator = CreateLinkGenerator(); - var context = CreateRouteValuesContext( + var address = CreateRouteValuesAddress( explicitValues: new { action = "Index", controller = "Home", name = "products" }); // Act @@ -1081,8 +1080,8 @@ namespace Microsoft.AspNetCore.Routing new LinkGeneratorContext { Endpoints = new[] { endpoint }, - ExplicitValues = context.ExplicitValues, - AmbientValues = context.AmbientValues + ExplicitValues = address.ExplicitValues, + AmbientValues = address.AmbientValues }); // Assert @@ -1097,7 +1096,7 @@ namespace Microsoft.AspNetCore.Routing template: "{controller}/{action}/{name}", defaults: new { name = "products" }); var linkGenerator = CreateLinkGenerator(); - var context = CreateRouteValuesContext( + var address = CreateRouteValuesAddress( explicitValues: new { action = "Index", controller = "Home" }); // Act @@ -1105,8 +1104,8 @@ namespace Microsoft.AspNetCore.Routing new LinkGeneratorContext { Endpoints = new[] { endpoint }, - ExplicitValues = context.ExplicitValues, - AmbientValues = context.AmbientValues + ExplicitValues = address.ExplicitValues, + AmbientValues = address.AmbientValues }); // Assert @@ -1119,7 +1118,7 @@ namespace Microsoft.AspNetCore.Routing // Arrange var endpoint = EndpointFactory.CreateMatcherEndpoint("{controller}/{action}/{name}"); var linkGenerator = CreateLinkGenerator(); - var context = CreateRouteValuesContext( + var address = CreateRouteValuesAddress( explicitValues: new { action = "Index", controller = "Home", name = "products", format = "json" }); // Act @@ -1127,8 +1126,8 @@ namespace Microsoft.AspNetCore.Routing new LinkGeneratorContext { Endpoints = new[] { endpoint }, - ExplicitValues = context.ExplicitValues, - AmbientValues = context.AmbientValues + ExplicitValues = address.ExplicitValues, + AmbientValues = address.AmbientValues }); // Assert @@ -1143,7 +1142,7 @@ namespace Microsoft.AspNetCore.Routing var endpoint = EndpointFactory.CreateMatcherEndpoint( template: "{controller}/{action}/.{name?}"); - var context = CreateRouteValuesContext( + var address = CreateRouteValuesAddress( explicitValues: new { action = "Index", controller = "Home", name = "products" }); // Act @@ -1152,8 +1151,8 @@ namespace Microsoft.AspNetCore.Routing { HttpContext = new DefaultHttpContext(), Endpoints = new[] { endpoint }, - ExplicitValues = context.ExplicitValues, - AmbientValues = context.AmbientValues + ExplicitValues = address.ExplicitValues, + AmbientValues = address.AmbientValues }); // Assert @@ -1167,7 +1166,7 @@ namespace Microsoft.AspNetCore.Routing var linkGenerator = CreateLinkGenerator(); var endpoint = EndpointFactory.CreateMatcherEndpoint("{controller}/{action}/.{name?}"); - var context = CreateRouteValuesContext( + var address = CreateRouteValuesAddress( explicitValues: new { action = "Index", controller = "Home" }); // Act @@ -1176,8 +1175,8 @@ namespace Microsoft.AspNetCore.Routing { HttpContext = new DefaultHttpContext(), Endpoints = new[] { endpoint }, - ExplicitValues = context.ExplicitValues, - AmbientValues = context.AmbientValues + ExplicitValues = address.ExplicitValues, + AmbientValues = address.AmbientValues }); // Assert @@ -1190,7 +1189,7 @@ namespace Microsoft.AspNetCore.Routing // Arrange var endpoint = EndpointFactory.CreateMatcherEndpoint("{controller}/{action}/{name?}"); var linkGenerator = CreateLinkGenerator(); - var context = CreateRouteValuesContext( + var address = CreateRouteValuesAddress( explicitValues: new { action = "Index", controller = "Home" }); // Act @@ -1198,8 +1197,8 @@ namespace Microsoft.AspNetCore.Routing new LinkGeneratorContext { Endpoints = new[] { endpoint }, - ExplicitValues = context.ExplicitValues, - AmbientValues = context.AmbientValues + ExplicitValues = address.ExplicitValues, + AmbientValues = address.AmbientValues }); // Assert @@ -1212,7 +1211,7 @@ namespace Microsoft.AspNetCore.Routing // Arrange var endpoint = EndpointFactory.CreateMatcherEndpoint("a/{b=15}/{c?}/{d?}"); var linkGenerator = CreateLinkGenerator(); - var context = CreateRouteValuesContext( + var address = CreateRouteValuesAddress( explicitValues: new { }, ambientValues: new { c = "17" }); @@ -1221,8 +1220,8 @@ namespace Microsoft.AspNetCore.Routing new LinkGeneratorContext { Endpoints = new[] { endpoint }, - ExplicitValues = context.ExplicitValues, - AmbientValues = context.AmbientValues + ExplicitValues = address.ExplicitValues, + AmbientValues = address.AmbientValues }); // Assert @@ -1235,7 +1234,7 @@ namespace Microsoft.AspNetCore.Routing // Arrange var endpoint = EndpointFactory.CreateMatcherEndpoint("a/{b=15}/{c?}"); var linkGenerator = CreateLinkGenerator(); - var context = CreateRouteValuesContext( + var address = CreateRouteValuesAddress( explicitValues: new { }, ambientValues: new { c = "17" }); @@ -1244,8 +1243,8 @@ namespace Microsoft.AspNetCore.Routing new LinkGeneratorContext { Endpoints = new[] { endpoint }, - ExplicitValues = context.ExplicitValues, - AmbientValues = context.AmbientValues + ExplicitValues = address.ExplicitValues, + AmbientValues = address.AmbientValues }); // Assert @@ -1258,7 +1257,7 @@ namespace Microsoft.AspNetCore.Routing // Arrange var endpoint = EndpointFactory.CreateMatcherEndpoint("a/{b=15}/{c?}/{d?}"); var linkGenerator = CreateLinkGenerator(); - var context = CreateRouteValuesContext( + var address = CreateRouteValuesAddress( explicitValues: new { }, ambientValues: new { d = "17" }); @@ -1267,8 +1266,8 @@ namespace Microsoft.AspNetCore.Routing new LinkGeneratorContext { Endpoints = new[] { endpoint }, - ExplicitValues = context.ExplicitValues, - AmbientValues = context.AmbientValues + ExplicitValues = address.ExplicitValues, + AmbientValues = address.AmbientValues }); // Assert @@ -1362,7 +1361,7 @@ namespace Microsoft.AspNetCore.Routing requiredValues: requiredValues, defaults: defaults); var linkGenerator = CreateLinkGenerator(); - var context = CreateRouteValuesContext( + var address = CreateRouteValuesAddress( explicitValues: explicitValues, ambientValues: ambientValues); @@ -1371,8 +1370,8 @@ namespace Microsoft.AspNetCore.Routing new LinkGeneratorContext { Endpoints = new[] { endpoint }, - ExplicitValues = context.ExplicitValues, - AmbientValues = context.AmbientValues + ExplicitValues = address.ExplicitValues, + AmbientValues = address.AmbientValues }, out var link); @@ -1392,7 +1391,7 @@ namespace Microsoft.AspNetCore.Routing requiredValues: new { c = "Products", a = "Edit" }, defaults: new { c = "Products", a = "Edit" }); var linkGenerator = CreateLinkGenerator(); - var context = CreateRouteValuesContext( + var address = CreateRouteValuesAddress( explicitValues: new { c = "Products", a = "Edit" }, ambientValues: new { c = "Products", a = "Edit", id = 10 }); @@ -1401,8 +1400,8 @@ namespace Microsoft.AspNetCore.Routing new LinkGeneratorContext { Endpoints = new[] { endpoint }, - ExplicitValues = context.ExplicitValues, - AmbientValues = context.AmbientValues + ExplicitValues = address.ExplicitValues, + AmbientValues = address.AmbientValues }, out var link); @@ -1422,7 +1421,7 @@ namespace Microsoft.AspNetCore.Routing requiredValues: new { c = "Products", a = "Edit" }, defaults: new { c = "Products", a = "Edit" }); var linkGenerator = CreateLinkGenerator(); - var context = CreateRouteValuesContext( + var address = CreateRouteValuesAddress( explicitValues: new { c = "Products", a = "List" }, ambientValues: new { c = "Products", a = "Edit", id = 10 }); @@ -1431,8 +1430,8 @@ namespace Microsoft.AspNetCore.Routing new LinkGeneratorContext { Endpoints = new[] { endpoint }, - ExplicitValues = context.ExplicitValues, - AmbientValues = context.AmbientValues + ExplicitValues = address.ExplicitValues, + AmbientValues = address.AmbientValues }, out var link); @@ -1534,7 +1533,7 @@ namespace Microsoft.AspNetCore.Routing requiredValues: requiredValues, defaults: defaults); var linkGenerator = CreateLinkGenerator(); - var context = CreateRouteValuesContext( + var address = CreateRouteValuesAddress( explicitValues: explicitValues, ambientValues: ambientValues); @@ -1543,8 +1542,8 @@ namespace Microsoft.AspNetCore.Routing new LinkGeneratorContext { Endpoints = new[] { endpoint }, - ExplicitValues = context.ExplicitValues, - AmbientValues = context.AmbientValues + ExplicitValues = address.ExplicitValues, + AmbientValues = address.AmbientValues }, out var link); @@ -1553,14 +1552,14 @@ namespace Microsoft.AspNetCore.Routing Assert.Null(link); } - private RouteValuesBasedEndpointFinderContext CreateRouteValuesContext( + private RouteValuesAddress CreateRouteValuesAddress( object explicitValues, object ambientValues = null) { - var context = new RouteValuesBasedEndpointFinderContext(); - context.ExplicitValues = new RouteValueDictionary(explicitValues); - context.AmbientValues = new RouteValueDictionary(ambientValues); - return context; + var address = new RouteValuesAddress(); + address.ExplicitValues = new RouteValueDictionary(explicitValues); + address.AmbientValues = new RouteValueDictionary(ambientValues); + return address; } private LinkGenerator CreateLinkGenerator(RouteOptions routeOptions = null) diff --git a/test/Microsoft.AspNetCore.Routing.Tests/EndpointFactory.cs b/test/Microsoft.AspNetCore.Routing.Tests/EndpointFactory.cs index 6286e2781f..6711ff64d6 100644 --- a/test/Microsoft.AspNetCore.Routing.Tests/EndpointFactory.cs +++ b/test/Microsoft.AspNetCore.Routing.Tests/EndpointFactory.cs @@ -1,7 +1,7 @@ // Copyright (c) .NET Foundation. All rights reserved. // Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information. -using Microsoft.AspNetCore.Routing.Matchers; +using Microsoft.AspNetCore.Routing.Matching; using Microsoft.AspNetCore.Routing.Patterns; namespace Microsoft.AspNetCore.Routing diff --git a/test/Microsoft.AspNetCore.Routing.Tests/EndpointMiddlewareTest.cs b/test/Microsoft.AspNetCore.Routing.Tests/EndpointMiddlewareTest.cs index 0d861dd218..1cb5427736 100644 --- a/test/Microsoft.AspNetCore.Routing.Tests/EndpointMiddlewareTest.cs +++ b/test/Microsoft.AspNetCore.Routing.Tests/EndpointMiddlewareTest.cs @@ -35,8 +35,8 @@ namespace Microsoft.AspNetCore.Routing var ex = await Assert.ThrowsAsync(async () => await invokeTask); Assert.Equal( - "Unable to execute an endpoint because the GlobalRoutingMiddleware was not run for this request. " + - "Ensure GlobalRoutingMiddleware is added to the request execution pipeline before EndpointMiddleware " + + "Unable to execute an endpoint because the EndpointRoutingMiddleware was not run for this request. " + + "Ensure EndpointRoutingMiddleware is added to the request execution pipeline before EndpointMiddleware " + "in application startup code.", ex.Message); } diff --git a/test/Microsoft.AspNetCore.Routing.Tests/GlobalRoutingMiddlewareTest.cs b/test/Microsoft.AspNetCore.Routing.Tests/EndpointRoutingMiddlewareTest.cs similarity index 85% rename from test/Microsoft.AspNetCore.Routing.Tests/GlobalRoutingMiddlewareTest.cs rename to test/Microsoft.AspNetCore.Routing.Tests/EndpointRoutingMiddlewareTest.cs index bc34547aff..df5c8d831c 100644 --- a/test/Microsoft.AspNetCore.Routing.Tests/GlobalRoutingMiddlewareTest.cs +++ b/test/Microsoft.AspNetCore.Routing.Tests/EndpointRoutingMiddlewareTest.cs @@ -13,7 +13,7 @@ using Xunit; namespace Microsoft.AspNetCore.Routing { - public class GlobalRoutingMiddlewareTest + public class EndpointRoutingMiddlewareTest { [Fact] public async Task Invoke_OnCall_SetsEndpointFeature() @@ -39,14 +39,14 @@ namespace Microsoft.AspNetCore.Routing var expectedMessage = "Request matched endpoint 'Test endpoint'."; var sink = new TestSink( - TestSink.EnableWithTypeName, - TestSink.EnableWithTypeName); + TestSink.EnableWithTypeName, + TestSink.EnableWithTypeName); var loggerFactory = new TestLoggerFactory(sink, enabled: true); var httpContext = new DefaultHttpContext(); httpContext.RequestServices = new TestServiceProvider(); - var logger = new Logger(loggerFactory); + var logger = new Logger(loggerFactory); var middleware = CreateMiddleware(logger); // Act @@ -82,15 +82,15 @@ namespace Microsoft.AspNetCore.Routing Assert.Equal("testValue", endpointFeature.Values["testKey"]); } - private GlobalRoutingMiddleware CreateMiddleware(Logger logger = null) + private EndpointRoutingMiddleware CreateMiddleware(Logger logger = null) { RequestDelegate next = (c) => Task.FromResult(null); - logger = logger ?? new Logger(NullLoggerFactory.Instance); + logger = logger ?? new Logger(NullLoggerFactory.Instance); var options = Options.Create(new EndpointOptions()); var matcherFactory = new TestMatcherFactory(true); - var middleware = new GlobalRoutingMiddleware( + var middleware = new EndpointRoutingMiddleware( matcherFactory, new CompositeEndpointDataSource(Array.Empty()), logger, diff --git a/test/Microsoft.AspNetCore.Routing.Tests/Matchers/BarebonesMatcher.cs b/test/Microsoft.AspNetCore.Routing.Tests/Matching/BarebonesMatcher.cs similarity index 98% rename from test/Microsoft.AspNetCore.Routing.Tests/Matchers/BarebonesMatcher.cs rename to test/Microsoft.AspNetCore.Routing.Tests/Matching/BarebonesMatcher.cs index 1d94447c06..df2d7b2a76 100644 --- a/test/Microsoft.AspNetCore.Routing.Tests/Matchers/BarebonesMatcher.cs +++ b/test/Microsoft.AspNetCore.Routing.Tests/Matching/BarebonesMatcher.cs @@ -5,7 +5,7 @@ using System; using System.Threading.Tasks; using Microsoft.AspNetCore.Http; -namespace Microsoft.AspNetCore.Routing.Matchers +namespace Microsoft.AspNetCore.Routing.Matching { // A test-only matcher implementation - used as a baseline for more compilated // perf tests. The idea with this matcher is that we can cheat on the requirements diff --git a/test/Microsoft.AspNetCore.Routing.Tests/Matchers/BarebonesMatcherBuilder.cs b/test/Microsoft.AspNetCore.Routing.Tests/Matching/BarebonesMatcherBuilder.cs similarity index 91% rename from test/Microsoft.AspNetCore.Routing.Tests/Matchers/BarebonesMatcherBuilder.cs rename to test/Microsoft.AspNetCore.Routing.Tests/Matching/BarebonesMatcherBuilder.cs index efd9c588ce..0cde404142 100644 --- a/test/Microsoft.AspNetCore.Routing.Tests/Matchers/BarebonesMatcherBuilder.cs +++ b/test/Microsoft.AspNetCore.Routing.Tests/Matching/BarebonesMatcherBuilder.cs @@ -5,9 +5,9 @@ using System.Collections.Generic; using System.Linq; using Microsoft.AspNetCore.Routing.Patterns; using Microsoft.AspNetCore.Routing.Template; -using static Microsoft.AspNetCore.Routing.Matchers.BarebonesMatcher; +using static Microsoft.AspNetCore.Routing.Matching.BarebonesMatcher; -namespace Microsoft.AspNetCore.Routing.Matchers +namespace Microsoft.AspNetCore.Routing.Matching { internal class BarebonesMatcherBuilder : MatcherBuilder { diff --git a/test/Microsoft.AspNetCore.Routing.Tests/Matchers/BarebonesMatcherConformanceTest.cs b/test/Microsoft.AspNetCore.Routing.Tests/Matching/BarebonesMatcherConformanceTest.cs similarity index 97% rename from test/Microsoft.AspNetCore.Routing.Tests/Matchers/BarebonesMatcherConformanceTest.cs rename to test/Microsoft.AspNetCore.Routing.Tests/Matching/BarebonesMatcherConformanceTest.cs index cc5d8768fb..c3f2b28968 100644 --- a/test/Microsoft.AspNetCore.Routing.Tests/Matchers/BarebonesMatcherConformanceTest.cs +++ b/test/Microsoft.AspNetCore.Routing.Tests/Matching/BarebonesMatcherConformanceTest.cs @@ -5,7 +5,7 @@ using System; using System.Threading.Tasks; using Xunit; -namespace Microsoft.AspNetCore.Routing.Matchers +namespace Microsoft.AspNetCore.Routing.Matching { public class BarebonesMatcherConformanceTest : MatcherConformanceTest { diff --git a/test/Microsoft.AspNetCore.Routing.Tests/Matchers/CandidateSetTest.cs b/test/Microsoft.AspNetCore.Routing.Tests/Matching/CandidateSetTest.cs similarity index 98% rename from test/Microsoft.AspNetCore.Routing.Tests/Matchers/CandidateSetTest.cs rename to test/Microsoft.AspNetCore.Routing.Tests/Matching/CandidateSetTest.cs index 7b75859884..54db9ca02d 100644 --- a/test/Microsoft.AspNetCore.Routing.Tests/Matchers/CandidateSetTest.cs +++ b/test/Microsoft.AspNetCore.Routing.Tests/Matching/CandidateSetTest.cs @@ -7,7 +7,7 @@ using Microsoft.AspNetCore.Routing.Patterns; using Moq; using Xunit; -namespace Microsoft.AspNetCore.Routing.Matchers +namespace Microsoft.AspNetCore.Routing.Matching { public class CandidateSetTest { diff --git a/test/Microsoft.AspNetCore.Routing.Tests/Matchers/DataSourceDependentMatcherTest.cs b/test/Microsoft.AspNetCore.Routing.Tests/Matching/DataSourceDependentMatcherTest.cs similarity index 98% rename from test/Microsoft.AspNetCore.Routing.Tests/Matchers/DataSourceDependentMatcherTest.cs rename to test/Microsoft.AspNetCore.Routing.Tests/Matching/DataSourceDependentMatcherTest.cs index 9eb4fa48a7..e88c707217 100644 --- a/test/Microsoft.AspNetCore.Routing.Tests/Matchers/DataSourceDependentMatcherTest.cs +++ b/test/Microsoft.AspNetCore.Routing.Tests/Matching/DataSourceDependentMatcherTest.cs @@ -9,7 +9,7 @@ using Microsoft.AspNetCore.Routing.Patterns; using Microsoft.AspNetCore.Routing.TestObjects; using Xunit; -namespace Microsoft.AspNetCore.Routing.Matchers +namespace Microsoft.AspNetCore.Routing.Matching { public class DataSourceDependentMatcherTest { diff --git a/test/Microsoft.AspNetCore.Routing.Tests/Matchers/DefaultEndpointSelectorTest.cs b/test/Microsoft.AspNetCore.Routing.Tests/Matching/DefaultEndpointSelectorTest.cs similarity index 99% rename from test/Microsoft.AspNetCore.Routing.Tests/Matchers/DefaultEndpointSelectorTest.cs rename to test/Microsoft.AspNetCore.Routing.Tests/Matching/DefaultEndpointSelectorTest.cs index a1a71cccd8..d8586f23d6 100644 --- a/test/Microsoft.AspNetCore.Routing.Tests/Matchers/DefaultEndpointSelectorTest.cs +++ b/test/Microsoft.AspNetCore.Routing.Tests/Matching/DefaultEndpointSelectorTest.cs @@ -7,7 +7,7 @@ using Microsoft.AspNetCore.Routing.Patterns; using Moq; using Xunit; -namespace Microsoft.AspNetCore.Routing.Matchers +namespace Microsoft.AspNetCore.Routing.Matching { public class DefaultEndpointSelectorTest { diff --git a/test/Microsoft.AspNetCore.Routing.Tests/Matchers/DefaultMatchProcessorFactoryTest.cs b/test/Microsoft.AspNetCore.Routing.Tests/Matching/DefaultMatchProcessorFactoryTest.cs similarity index 99% rename from test/Microsoft.AspNetCore.Routing.Tests/Matchers/DefaultMatchProcessorFactoryTest.cs rename to test/Microsoft.AspNetCore.Routing.Tests/Matching/DefaultMatchProcessorFactoryTest.cs index bcacb1a007..1be24950b1 100644 --- a/test/Microsoft.AspNetCore.Routing.Tests/Matchers/DefaultMatchProcessorFactoryTest.cs +++ b/test/Microsoft.AspNetCore.Routing.Tests/Matching/DefaultMatchProcessorFactoryTest.cs @@ -10,7 +10,7 @@ using Microsoft.Extensions.DependencyInjection; using Microsoft.Extensions.Options; using Xunit; -namespace Microsoft.AspNetCore.Routing.Matchers +namespace Microsoft.AspNetCore.Routing.Matching { public class DefaultMatchProcessorFactoryTest { diff --git a/test/Microsoft.AspNetCore.Routing.Tests/Matchers/DfaMatcherBuilderTest.cs b/test/Microsoft.AspNetCore.Routing.Tests/Matching/DfaMatcherBuilderTest.cs similarity index 99% rename from test/Microsoft.AspNetCore.Routing.Tests/Matchers/DfaMatcherBuilderTest.cs rename to test/Microsoft.AspNetCore.Routing.Tests/Matching/DfaMatcherBuilderTest.cs index 71318fd943..e712210e44 100644 --- a/test/Microsoft.AspNetCore.Routing.Tests/Matchers/DfaMatcherBuilderTest.cs +++ b/test/Microsoft.AspNetCore.Routing.Tests/Matching/DfaMatcherBuilderTest.cs @@ -9,7 +9,7 @@ using Microsoft.AspNetCore.Routing.Patterns; using Moq; using Xunit; -namespace Microsoft.AspNetCore.Routing.Matchers +namespace Microsoft.AspNetCore.Routing.Matching { public class DfaMatcherBuilderTest { diff --git a/test/Microsoft.AspNetCore.Routing.Tests/Matchers/DfaMatcherConformanceTest.cs b/test/Microsoft.AspNetCore.Routing.Tests/Matching/DfaMatcherConformanceTest.cs similarity index 96% rename from test/Microsoft.AspNetCore.Routing.Tests/Matchers/DfaMatcherConformanceTest.cs rename to test/Microsoft.AspNetCore.Routing.Tests/Matching/DfaMatcherConformanceTest.cs index de5815f7c7..2aa04fb882 100644 --- a/test/Microsoft.AspNetCore.Routing.Tests/Matchers/DfaMatcherConformanceTest.cs +++ b/test/Microsoft.AspNetCore.Routing.Tests/Matching/DfaMatcherConformanceTest.cs @@ -4,7 +4,7 @@ using System.Threading.Tasks; using Microsoft.Extensions.DependencyInjection; -namespace Microsoft.AspNetCore.Routing.Matchers +namespace Microsoft.AspNetCore.Routing.Matching { public class DfaMatcherConformanceTest : FullFeaturedMatcherConformanceTest { diff --git a/test/Microsoft.AspNetCore.Routing.Tests/Matchers/DfaMatcherTest.cs b/test/Microsoft.AspNetCore.Routing.Tests/Matching/DfaMatcherTest.cs similarity index 99% rename from test/Microsoft.AspNetCore.Routing.Tests/Matchers/DfaMatcherTest.cs rename to test/Microsoft.AspNetCore.Routing.Tests/Matching/DfaMatcherTest.cs index 4b9f4a721d..7e80607008 100644 --- a/test/Microsoft.AspNetCore.Routing.Tests/Matchers/DfaMatcherTest.cs +++ b/test/Microsoft.AspNetCore.Routing.Tests/Matching/DfaMatcherTest.cs @@ -9,7 +9,7 @@ using Microsoft.Extensions.DependencyInjection; using Moq; using Xunit; -namespace Microsoft.AspNetCore.Routing.Matchers +namespace Microsoft.AspNetCore.Routing.Matching { // Many of these are integration tests that exercise the system end to end, // so we're reusing the services here. diff --git a/test/Microsoft.AspNetCore.Routing.Tests/Matchers/DictionaryJumpTableTest.cs b/test/Microsoft.AspNetCore.Routing.Tests/Matching/DictionaryJumpTableTest.cs similarity index 91% rename from test/Microsoft.AspNetCore.Routing.Tests/Matchers/DictionaryJumpTableTest.cs rename to test/Microsoft.AspNetCore.Routing.Tests/Matching/DictionaryJumpTableTest.cs index 17ac621637..d04ca502c7 100644 --- a/test/Microsoft.AspNetCore.Routing.Tests/Matchers/DictionaryJumpTableTest.cs +++ b/test/Microsoft.AspNetCore.Routing.Tests/Matching/DictionaryJumpTableTest.cs @@ -1,7 +1,7 @@ // Copyright (c) .NET Foundation. All rights reserved. // Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information. -namespace Microsoft.AspNetCore.Routing.Matchers +namespace Microsoft.AspNetCore.Routing.Matching { public class DictionaryJumpTableTest : MultipleEntryJumpTableTest { diff --git a/test/Microsoft.AspNetCore.Routing.Tests/Matchers/EndpointMetadataComparerTest.cs b/test/Microsoft.AspNetCore.Routing.Tests/Matching/EndpointMetadataComparerTest.cs similarity index 98% rename from test/Microsoft.AspNetCore.Routing.Tests/Matchers/EndpointMetadataComparerTest.cs rename to test/Microsoft.AspNetCore.Routing.Tests/Matching/EndpointMetadataComparerTest.cs index 4a6ca5babd..f36ce81cba 100644 --- a/test/Microsoft.AspNetCore.Routing.Tests/Matchers/EndpointMetadataComparerTest.cs +++ b/test/Microsoft.AspNetCore.Routing.Tests/Matching/EndpointMetadataComparerTest.cs @@ -5,7 +5,7 @@ using System.Collections.Generic; using Microsoft.AspNetCore.Routing.TestObjects; using Xunit; -namespace Microsoft.AspNetCore.Routing.Matchers +namespace Microsoft.AspNetCore.Routing.Matching { public class EndpointMetadataComparerTest { diff --git a/test/Microsoft.AspNetCore.Routing.Tests/Matchers/FastPathTokenizerTest.cs b/test/Microsoft.AspNetCore.Routing.Tests/Matching/FastPathTokenizerTest.cs similarity index 98% rename from test/Microsoft.AspNetCore.Routing.Tests/Matchers/FastPathTokenizerTest.cs rename to test/Microsoft.AspNetCore.Routing.Tests/Matching/FastPathTokenizerTest.cs index 121ed45b0e..51e2489ee4 100644 --- a/test/Microsoft.AspNetCore.Routing.Tests/Matchers/FastPathTokenizerTest.cs +++ b/test/Microsoft.AspNetCore.Routing.Tests/Matching/FastPathTokenizerTest.cs @@ -4,7 +4,7 @@ using System; using Xunit; -namespace Microsoft.AspNetCore.Routing.Matchers +namespace Microsoft.AspNetCore.Routing.Matching { public class FastPathTokenizerTest { diff --git a/test/Microsoft.AspNetCore.Routing.Tests/Matchers/FullFeaturedMatcherConformanceTest.cs b/test/Microsoft.AspNetCore.Routing.Tests/Matching/FullFeaturedMatcherConformanceTest.cs similarity index 99% rename from test/Microsoft.AspNetCore.Routing.Tests/Matchers/FullFeaturedMatcherConformanceTest.cs rename to test/Microsoft.AspNetCore.Routing.Tests/Matching/FullFeaturedMatcherConformanceTest.cs index 61a8f3f9bf..4048c7827e 100644 --- a/test/Microsoft.AspNetCore.Routing.Tests/Matchers/FullFeaturedMatcherConformanceTest.cs +++ b/test/Microsoft.AspNetCore.Routing.Tests/Matching/FullFeaturedMatcherConformanceTest.cs @@ -6,7 +6,7 @@ using System.Linq; using System.Threading.Tasks; using Xunit; -namespace Microsoft.AspNetCore.Routing.Matchers +namespace Microsoft.AspNetCore.Routing.Matching { // This class includes features that we have not yet implemented in the DFA // and instruction matchers. diff --git a/test/Microsoft.AspNetCore.Routing.Tests/Matchers/HttpMethodMatcherPolicyIntegrationTest.cs b/test/Microsoft.AspNetCore.Routing.Tests/Matching/HttpMethodMatcherPolicyIntegrationTest.cs similarity index 99% rename from test/Microsoft.AspNetCore.Routing.Tests/Matchers/HttpMethodMatcherPolicyIntegrationTest.cs rename to test/Microsoft.AspNetCore.Routing.Tests/Matching/HttpMethodMatcherPolicyIntegrationTest.cs index 2f48332732..d3ae78485b 100644 --- a/test/Microsoft.AspNetCore.Routing.Tests/Matchers/HttpMethodMatcherPolicyIntegrationTest.cs +++ b/test/Microsoft.AspNetCore.Routing.Tests/Matching/HttpMethodMatcherPolicyIntegrationTest.cs @@ -9,9 +9,9 @@ using Microsoft.AspNetCore.Routing.Metadata; using Microsoft.AspNetCore.Routing.Patterns; using Microsoft.Extensions.DependencyInjection; using Xunit; -using static Microsoft.AspNetCore.Routing.Matchers.HttpMethodMatcherPolicy; +using static Microsoft.AspNetCore.Routing.Matching.HttpMethodMatcherPolicy; -namespace Microsoft.AspNetCore.Routing.Matchers +namespace Microsoft.AspNetCore.Routing.Matching { // End-to-end tests for the HTTP method matching functionality public class HttpMethodMatcherPolicyIntegrationTest diff --git a/test/Microsoft.AspNetCore.Routing.Tests/Matchers/HttpMethodMatcherPolicyTest.cs b/test/Microsoft.AspNetCore.Routing.Tests/Matching/HttpMethodMatcherPolicyTest.cs similarity index 99% rename from test/Microsoft.AspNetCore.Routing.Tests/Matchers/HttpMethodMatcherPolicyTest.cs rename to test/Microsoft.AspNetCore.Routing.Tests/Matching/HttpMethodMatcherPolicyTest.cs index 9c977341a3..f302bebb10 100644 --- a/test/Microsoft.AspNetCore.Routing.Tests/Matchers/HttpMethodMatcherPolicyTest.cs +++ b/test/Microsoft.AspNetCore.Routing.Tests/Matching/HttpMethodMatcherPolicyTest.cs @@ -7,9 +7,9 @@ using System.Linq; using Microsoft.AspNetCore.Routing.Metadata; using Microsoft.AspNetCore.Routing.Patterns; using Xunit; -using static Microsoft.AspNetCore.Routing.Matchers.HttpMethodMatcherPolicy; +using static Microsoft.AspNetCore.Routing.Matching.HttpMethodMatcherPolicy; -namespace Microsoft.AspNetCore.Routing.Matchers +namespace Microsoft.AspNetCore.Routing.Matching { public class HttpMethodMatcherPolicyTest { diff --git a/test/Microsoft.AspNetCore.Routing.Tests/Matchers/LinearSearchJumpTableTest.cs b/test/Microsoft.AspNetCore.Routing.Tests/Matching/LinearSearchJumpTableTest.cs similarity index 92% rename from test/Microsoft.AspNetCore.Routing.Tests/Matchers/LinearSearchJumpTableTest.cs rename to test/Microsoft.AspNetCore.Routing.Tests/Matching/LinearSearchJumpTableTest.cs index aa32a9b6e9..b7557488a4 100644 --- a/test/Microsoft.AspNetCore.Routing.Tests/Matchers/LinearSearchJumpTableTest.cs +++ b/test/Microsoft.AspNetCore.Routing.Tests/Matching/LinearSearchJumpTableTest.cs @@ -2,7 +2,7 @@ // Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information. -namespace Microsoft.AspNetCore.Routing.Matchers +namespace Microsoft.AspNetCore.Routing.Matching { public class LinearSearchJumpTableTest : MultipleEntryJumpTableTest { diff --git a/test/Microsoft.AspNetCore.Routing.Tests/Matchers/MatcherAssert.cs b/test/Microsoft.AspNetCore.Routing.Tests/Matching/MatcherAssert.cs similarity index 98% rename from test/Microsoft.AspNetCore.Routing.Tests/Matchers/MatcherAssert.cs rename to test/Microsoft.AspNetCore.Routing.Tests/Matching/MatcherAssert.cs index 0f9364c8db..5917ab4619 100644 --- a/test/Microsoft.AspNetCore.Routing.Tests/Matchers/MatcherAssert.cs +++ b/test/Microsoft.AspNetCore.Routing.Tests/Matching/MatcherAssert.cs @@ -6,7 +6,7 @@ using System.Collections.Generic; using System.Linq; using Xunit.Sdk; -namespace Microsoft.AspNetCore.Routing.Matchers +namespace Microsoft.AspNetCore.Routing.Matching { internal static class MatcherAssert { diff --git a/test/Microsoft.AspNetCore.Routing.Tests/Matchers/MatcherConformanceTest.MultipleEndpoint.cs b/test/Microsoft.AspNetCore.Routing.Tests/Matching/MatcherConformanceTest.MultipleEndpoint.cs similarity index 83% rename from test/Microsoft.AspNetCore.Routing.Tests/Matchers/MatcherConformanceTest.MultipleEndpoint.cs rename to test/Microsoft.AspNetCore.Routing.Tests/Matching/MatcherConformanceTest.MultipleEndpoint.cs index 0784a2ebb5..5379da2938 100644 --- a/test/Microsoft.AspNetCore.Routing.Tests/Matchers/MatcherConformanceTest.MultipleEndpoint.cs +++ b/test/Microsoft.AspNetCore.Routing.Tests/Matching/MatcherConformanceTest.MultipleEndpoint.cs @@ -1,7 +1,7 @@ // Copyright (c) .NET Foundation. All rights reserved. // Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information. -namespace Microsoft.AspNetCore.Routing.Matchers +namespace Microsoft.AspNetCore.Routing.Matching { public abstract partial class MatcherConformanceTest { diff --git a/test/Microsoft.AspNetCore.Routing.Tests/Matchers/MatcherConformanceTest.SingleEndpoint.cs b/test/Microsoft.AspNetCore.Routing.Tests/Matching/MatcherConformanceTest.SingleEndpoint.cs similarity index 99% rename from test/Microsoft.AspNetCore.Routing.Tests/Matchers/MatcherConformanceTest.SingleEndpoint.cs rename to test/Microsoft.AspNetCore.Routing.Tests/Matching/MatcherConformanceTest.SingleEndpoint.cs index caeaf1a7e8..580494b49c 100644 --- a/test/Microsoft.AspNetCore.Routing.Tests/Matchers/MatcherConformanceTest.SingleEndpoint.cs +++ b/test/Microsoft.AspNetCore.Routing.Tests/Matching/MatcherConformanceTest.SingleEndpoint.cs @@ -4,7 +4,7 @@ using System.Threading.Tasks; using Xunit; -namespace Microsoft.AspNetCore.Routing.Matchers +namespace Microsoft.AspNetCore.Routing.Matching { public abstract partial class MatcherConformanceTest { diff --git a/test/Microsoft.AspNetCore.Routing.Tests/Matchers/MatcherConformanceTest.cs b/test/Microsoft.AspNetCore.Routing.Tests/Matching/MatcherConformanceTest.cs similarity index 97% rename from test/Microsoft.AspNetCore.Routing.Tests/Matchers/MatcherConformanceTest.cs rename to test/Microsoft.AspNetCore.Routing.Tests/Matching/MatcherConformanceTest.cs index 3b352a6ae6..9e4986c543 100644 --- a/test/Microsoft.AspNetCore.Routing.Tests/Matchers/MatcherConformanceTest.cs +++ b/test/Microsoft.AspNetCore.Routing.Tests/Matching/MatcherConformanceTest.cs @@ -7,7 +7,7 @@ using Microsoft.AspNetCore.Http; using Microsoft.AspNetCore.Routing.Patterns; using Microsoft.Extensions.DependencyInjection; -namespace Microsoft.AspNetCore.Routing.Matchers +namespace Microsoft.AspNetCore.Routing.Matching { public abstract partial class MatcherConformanceTest { diff --git a/test/Microsoft.AspNetCore.Routing.Tests/Matchers/MatcherEndpointComparerTest.cs b/test/Microsoft.AspNetCore.Routing.Tests/Matching/MatcherEndpointComparerTest.cs similarity index 99% rename from test/Microsoft.AspNetCore.Routing.Tests/Matchers/MatcherEndpointComparerTest.cs rename to test/Microsoft.AspNetCore.Routing.Tests/Matching/MatcherEndpointComparerTest.cs index 383a2153e3..87bbc0c877 100644 --- a/test/Microsoft.AspNetCore.Routing.Tests/Matchers/MatcherEndpointComparerTest.cs +++ b/test/Microsoft.AspNetCore.Routing.Tests/Matching/MatcherEndpointComparerTest.cs @@ -5,7 +5,7 @@ using System.Collections.Generic; using Microsoft.AspNetCore.Routing.Patterns; using Xunit; -namespace Microsoft.AspNetCore.Routing.Matchers +namespace Microsoft.AspNetCore.Routing.Matching { public class MatcherEndpointComparerTest { diff --git a/test/Microsoft.AspNetCore.Routing.Tests/Matchers/MultipleEntryJumpTableTest.cs b/test/Microsoft.AspNetCore.Routing.Tests/Matching/MultipleEntryJumpTableTest.cs similarity index 97% rename from test/Microsoft.AspNetCore.Routing.Tests/Matchers/MultipleEntryJumpTableTest.cs rename to test/Microsoft.AspNetCore.Routing.Tests/Matching/MultipleEntryJumpTableTest.cs index 81351c3c54..1a1a00de2a 100644 --- a/test/Microsoft.AspNetCore.Routing.Tests/Matchers/MultipleEntryJumpTableTest.cs +++ b/test/Microsoft.AspNetCore.Routing.Tests/Matching/MultipleEntryJumpTableTest.cs @@ -3,7 +3,7 @@ using Xunit; -namespace Microsoft.AspNetCore.Routing.Matchers +namespace Microsoft.AspNetCore.Routing.Matching { public abstract class MultipleEntryJumpTableTest { diff --git a/test/Microsoft.AspNetCore.Routing.Tests/Matchers/RouteConstraintMatchProcessorTest.cs b/test/Microsoft.AspNetCore.Routing.Tests/Matching/RouteConstraintMatchProcessorTest.cs similarity index 97% rename from test/Microsoft.AspNetCore.Routing.Tests/Matchers/RouteConstraintMatchProcessorTest.cs rename to test/Microsoft.AspNetCore.Routing.Tests/Matching/RouteConstraintMatchProcessorTest.cs index 4bc013baa4..915b483234 100644 --- a/test/Microsoft.AspNetCore.Routing.Tests/Matchers/RouteConstraintMatchProcessorTest.cs +++ b/test/Microsoft.AspNetCore.Routing.Tests/Matching/RouteConstraintMatchProcessorTest.cs @@ -5,7 +5,7 @@ using Microsoft.AspNetCore.Http; using Moq; using Xunit; -namespace Microsoft.AspNetCore.Routing.Matchers +namespace Microsoft.AspNetCore.Routing.Matching { public class RouteConstraintMatchProcessorTest { diff --git a/test/Microsoft.AspNetCore.Routing.Tests/Matchers/RouteMatcher.cs b/test/Microsoft.AspNetCore.Routing.Tests/Matching/RouteMatcher.cs similarity index 96% rename from test/Microsoft.AspNetCore.Routing.Tests/Matchers/RouteMatcher.cs rename to test/Microsoft.AspNetCore.Routing.Tests/Matching/RouteMatcher.cs index eefbaa68b1..e7f3cb7711 100644 --- a/test/Microsoft.AspNetCore.Routing.Tests/Matchers/RouteMatcher.cs +++ b/test/Microsoft.AspNetCore.Routing.Tests/Matching/RouteMatcher.cs @@ -5,7 +5,7 @@ using System; using System.Threading.Tasks; using Microsoft.AspNetCore.Http; -namespace Microsoft.AspNetCore.Routing.Matchers +namespace Microsoft.AspNetCore.Routing.Matching { // This is an adapter to use Route in the conformance tests internal class RouteMatcher : Matcher diff --git a/test/Microsoft.AspNetCore.Routing.Tests/Matchers/RouteMatcherBuilder.cs b/test/Microsoft.AspNetCore.Routing.Tests/Matching/RouteMatcherBuilder.cs similarity index 98% rename from test/Microsoft.AspNetCore.Routing.Tests/Matchers/RouteMatcherBuilder.cs rename to test/Microsoft.AspNetCore.Routing.Tests/Matching/RouteMatcherBuilder.cs index a1c621826f..57394517bf 100644 --- a/test/Microsoft.AspNetCore.Routing.Tests/Matchers/RouteMatcherBuilder.cs +++ b/test/Microsoft.AspNetCore.Routing.Tests/Matching/RouteMatcherBuilder.cs @@ -8,7 +8,7 @@ using System.Threading.Tasks; using Microsoft.AspNetCore.Routing.Patterns; using Microsoft.Extensions.Options; -namespace Microsoft.AspNetCore.Routing.Matchers +namespace Microsoft.AspNetCore.Routing.Matching { internal class RouteMatcherBuilder : MatcherBuilder { diff --git a/test/Microsoft.AspNetCore.Routing.Tests/Matchers/RouteMatcherConformanceTest.cs b/test/Microsoft.AspNetCore.Routing.Tests/Matching/RouteMatcherConformanceTest.cs similarity index 92% rename from test/Microsoft.AspNetCore.Routing.Tests/Matchers/RouteMatcherConformanceTest.cs rename to test/Microsoft.AspNetCore.Routing.Tests/Matching/RouteMatcherConformanceTest.cs index 68589c36c4..8c3233e4cf 100644 --- a/test/Microsoft.AspNetCore.Routing.Tests/Matchers/RouteMatcherConformanceTest.cs +++ b/test/Microsoft.AspNetCore.Routing.Tests/Matching/RouteMatcherConformanceTest.cs @@ -1,7 +1,7 @@ // Copyright (c) .NET Foundation. All rights reserved. // Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information. -namespace Microsoft.AspNetCore.Routing.Matchers +namespace Microsoft.AspNetCore.Routing.Matching { public class RouteMatcherConformanceTest : FullFeaturedMatcherConformanceTest { diff --git a/test/Microsoft.AspNetCore.Routing.Tests/Matchers/SingleEntryJumpTableTest.cs b/test/Microsoft.AspNetCore.Routing.Tests/Matching/SingleEntryJumpTableTest.cs similarity index 97% rename from test/Microsoft.AspNetCore.Routing.Tests/Matchers/SingleEntryJumpTableTest.cs rename to test/Microsoft.AspNetCore.Routing.Tests/Matching/SingleEntryJumpTableTest.cs index b9015e0a48..e21e8918cd 100644 --- a/test/Microsoft.AspNetCore.Routing.Tests/Matchers/SingleEntryJumpTableTest.cs +++ b/test/Microsoft.AspNetCore.Routing.Tests/Matching/SingleEntryJumpTableTest.cs @@ -3,7 +3,7 @@ using Xunit; -namespace Microsoft.AspNetCore.Routing.Matchers +namespace Microsoft.AspNetCore.Routing.Matching { public class SingleEntryJumpTableTest { diff --git a/test/Microsoft.AspNetCore.Routing.Tests/Matchers/TreeRouterMatcher.cs b/test/Microsoft.AspNetCore.Routing.Tests/Matching/TreeRouterMatcher.cs similarity index 96% rename from test/Microsoft.AspNetCore.Routing.Tests/Matchers/TreeRouterMatcher.cs rename to test/Microsoft.AspNetCore.Routing.Tests/Matching/TreeRouterMatcher.cs index eab0bdc532..7e27f454c1 100644 --- a/test/Microsoft.AspNetCore.Routing.Tests/Matchers/TreeRouterMatcher.cs +++ b/test/Microsoft.AspNetCore.Routing.Tests/Matching/TreeRouterMatcher.cs @@ -6,7 +6,7 @@ using System.Threading.Tasks; using Microsoft.AspNetCore.Http; using Microsoft.AspNetCore.Routing.Tree; -namespace Microsoft.AspNetCore.Routing.Matchers +namespace Microsoft.AspNetCore.Routing.Matching { // This is an adapter to use TreeRouter in the conformance tests internal class TreeRouterMatcher : Matcher diff --git a/test/Microsoft.AspNetCore.Routing.Tests/Matchers/TreeRouterMatcherBuilder.cs b/test/Microsoft.AspNetCore.Routing.Tests/Matching/TreeRouterMatcherBuilder.cs similarity index 98% rename from test/Microsoft.AspNetCore.Routing.Tests/Matchers/TreeRouterMatcherBuilder.cs rename to test/Microsoft.AspNetCore.Routing.Tests/Matching/TreeRouterMatcherBuilder.cs index 6b19d353cf..e9c5b7ddc5 100644 --- a/test/Microsoft.AspNetCore.Routing.Tests/Matchers/TreeRouterMatcherBuilder.cs +++ b/test/Microsoft.AspNetCore.Routing.Tests/Matching/TreeRouterMatcherBuilder.cs @@ -12,7 +12,7 @@ using Microsoft.Extensions.Logging.Abstractions; using Microsoft.Extensions.ObjectPool; using Microsoft.Extensions.Options; -namespace Microsoft.AspNetCore.Routing.Matchers +namespace Microsoft.AspNetCore.Routing.Matching { internal class TreeRouterMatcherBuilder : MatcherBuilder { diff --git a/test/Microsoft.AspNetCore.Routing.Tests/Matchers/TreeRouterMatcherConformanceTest.cs b/test/Microsoft.AspNetCore.Routing.Tests/Matching/TreeRouterMatcherConformanceTest.cs similarity index 95% rename from test/Microsoft.AspNetCore.Routing.Tests/Matchers/TreeRouterMatcherConformanceTest.cs rename to test/Microsoft.AspNetCore.Routing.Tests/Matching/TreeRouterMatcherConformanceTest.cs index 238a68f294..f4c346edd4 100644 --- a/test/Microsoft.AspNetCore.Routing.Tests/Matchers/TreeRouterMatcherConformanceTest.cs +++ b/test/Microsoft.AspNetCore.Routing.Tests/Matching/TreeRouterMatcherConformanceTest.cs @@ -4,7 +4,7 @@ using System.Threading.Tasks; using Xunit; -namespace Microsoft.AspNetCore.Routing.Matchers +namespace Microsoft.AspNetCore.Routing.Matching { public class TreeRouterMatcherConformanceTest : FullFeaturedMatcherConformanceTest { diff --git a/test/Microsoft.AspNetCore.Routing.Tests/Matchers/ZeroEntryJumpTableTest.cs b/test/Microsoft.AspNetCore.Routing.Tests/Matching/ZeroEntryJumpTableTest.cs similarity index 95% rename from test/Microsoft.AspNetCore.Routing.Tests/Matchers/ZeroEntryJumpTableTest.cs rename to test/Microsoft.AspNetCore.Routing.Tests/Matching/ZeroEntryJumpTableTest.cs index 1da7f33f84..036fef0c03 100644 --- a/test/Microsoft.AspNetCore.Routing.Tests/Matchers/ZeroEntryJumpTableTest.cs +++ b/test/Microsoft.AspNetCore.Routing.Tests/Matching/ZeroEntryJumpTableTest.cs @@ -3,7 +3,7 @@ using Xunit; -namespace Microsoft.AspNetCore.Routing.Matchers +namespace Microsoft.AspNetCore.Routing.Matching { public class ZeroEntryJumpTableTest { diff --git a/test/Microsoft.AspNetCore.Routing.Tests/Patterns/RoutePatternFactoryTest.cs b/test/Microsoft.AspNetCore.Routing.Tests/Patterns/RoutePatternFactoryTest.cs index d16512d56d..ad985e17a2 100644 --- a/test/Microsoft.AspNetCore.Routing.Tests/Patterns/RoutePatternFactoryTest.cs +++ b/test/Microsoft.AspNetCore.Routing.Tests/Patterns/RoutePatternFactoryTest.cs @@ -4,7 +4,7 @@ using System; using System.Linq; using Microsoft.AspNetCore.Routing.Constraints; -using Microsoft.AspNetCore.Routing.Matchers; +using Microsoft.AspNetCore.Routing.Matching; using Moq; using Xunit; diff --git a/test/Microsoft.AspNetCore.Routing.Tests/RouteValueBasedEndpointFinderTest.cs b/test/Microsoft.AspNetCore.Routing.Tests/RouteValueBasedEndpointFinderTest.cs index fab9c41600..c18b0f5f2f 100644 --- a/test/Microsoft.AspNetCore.Routing.Tests/RouteValueBasedEndpointFinderTest.cs +++ b/test/Microsoft.AspNetCore.Routing.Tests/RouteValueBasedEndpointFinderTest.cs @@ -4,9 +4,8 @@ using System.Collections.Generic; using System.Linq; using System.Threading.Tasks; -using Microsoft.AspNetCore.Routing.EndpointFinders; using Microsoft.AspNetCore.Routing.Internal; -using Microsoft.AspNetCore.Routing.Matchers; +using Microsoft.AspNetCore.Routing.Matching; using Microsoft.AspNetCore.Routing.Patterns; using Microsoft.AspNetCore.Routing.TestObjects; using Microsoft.AspNetCore.Routing.Tree; @@ -183,7 +182,7 @@ namespace Microsoft.AspNetCore.Routing // Act var foundEndpoints = finder.FindEndpoints( - new RouteValuesBasedEndpointFinderContext + new RouteValuesAddress { ExplicitValues = new RouteValueDictionary(new { id = 10 }), AmbientValues = new RouteValueDictionary(new { controller = "Home", action = "Index" }), @@ -212,7 +211,7 @@ namespace Microsoft.AspNetCore.Routing // Act var foundEndpoints = finder.FindEndpoints( - new RouteValuesBasedEndpointFinderContext + new RouteValuesAddress { ExplicitValues = new RouteValueDictionary(), AmbientValues = new RouteValueDictionary(), diff --git a/test/Microsoft.AspNetCore.Routing.Tests/TestObjects/TestMatcher.cs b/test/Microsoft.AspNetCore.Routing.Tests/TestObjects/TestMatcher.cs index 4994cdd008..d3d5544292 100644 --- a/test/Microsoft.AspNetCore.Routing.Tests/TestObjects/TestMatcher.cs +++ b/test/Microsoft.AspNetCore.Routing.Tests/TestObjects/TestMatcher.cs @@ -3,7 +3,7 @@ using System.Threading.Tasks; using Microsoft.AspNetCore.Http; -using Microsoft.AspNetCore.Routing.Matchers; +using Microsoft.AspNetCore.Routing.Matching; namespace Microsoft.AspNetCore.Routing.TestObjects { diff --git a/test/Microsoft.AspNetCore.Routing.Tests/TestObjects/TestMatcherFactory.cs b/test/Microsoft.AspNetCore.Routing.Tests/TestObjects/TestMatcherFactory.cs index 18d1f5d27a..17fd346132 100644 --- a/test/Microsoft.AspNetCore.Routing.Tests/TestObjects/TestMatcherFactory.cs +++ b/test/Microsoft.AspNetCore.Routing.Tests/TestObjects/TestMatcherFactory.cs @@ -1,7 +1,7 @@ // Copyright (c) .NET Foundation. All rights reserved. // Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information. -using Microsoft.AspNetCore.Routing.Matchers; +using Microsoft.AspNetCore.Routing.Matching; namespace Microsoft.AspNetCore.Routing.TestObjects { From 9cea167cfac36cf034dbb780e3f783114ef94780 Mon Sep 17 00:00:00 2001 From: Ryan Nowak Date: Thu, 2 Aug 2018 15:24:00 -0700 Subject: [PATCH 111/221] Add docs - EndpointFeature and related types (#687) * Add docs - EndpointFeature and related types * Add docs for route patterns --- .../Endpoint.cs | 23 +- .../EndpointMetadataCollection.cs | 71 ++++++ .../IEndpointFeature.cs | 16 ++ .../EndpointFeature.cs | 21 ++ .../Patterns/RoutePattern.cs | 36 +++ .../RoutePatternConstraintReference.cs | 3 +- .../Patterns/RoutePatternException.cs | 16 ++ .../Patterns/RoutePatternFactory.cs | 210 +++++++++++++++++- .../Patterns/RoutePatternLiteralPart.cs | 7 + .../Patterns/RoutePatternMatcher.cs | 3 +- .../Patterns/RoutePatternParameterKind.cs | 15 ++ .../Patterns/RoutePatternParameterPart.cs | 24 ++ .../Patterns/RoutePatternPart.cs | 15 ++ .../Patterns/RoutePatternPartKind.cs | 14 ++ .../Patterns/RoutePatternPathSegment.cs | 17 ++ .../Patterns/RoutePatternSeparatorPart.cs | 24 ++ 16 files changed, 508 insertions(+), 7 deletions(-) diff --git a/src/Microsoft.AspNetCore.Routing.Abstractions/Endpoint.cs b/src/Microsoft.AspNetCore.Routing.Abstractions/Endpoint.cs index f58ba517e9..ef98f75d8a 100644 --- a/src/Microsoft.AspNetCore.Routing.Abstractions/Endpoint.cs +++ b/src/Microsoft.AspNetCore.Routing.Abstractions/Endpoint.cs @@ -1,13 +1,22 @@ // Copyright (c) .NET Foundation. All rights reserved. // Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information. -using System.Diagnostics; - namespace Microsoft.AspNetCore.Routing { - [DebuggerDisplay("{DisplayName,nq}")] + /// + /// Respresents a logical endpoint in an application. + /// public abstract class Endpoint { + /// + /// Creates a new instance of . + /// + /// + /// The endpoint . May be null. + /// + /// + /// The informational display name of the endpoint. May be null. + /// protected Endpoint( EndpointMetadataCollection metadata, string displayName) @@ -17,8 +26,16 @@ namespace Microsoft.AspNetCore.Routing DisplayName = displayName; } + /// + /// Gets the informational display name of this endpoint. + /// public string DisplayName { get; } + /// + /// Gets the collection of metadata associated with this endpoint. + /// public EndpointMetadataCollection Metadata { get; } + + public override string ToString() => DisplayName ?? base.ToString(); } } diff --git a/src/Microsoft.AspNetCore.Routing.Abstractions/EndpointMetadataCollection.cs b/src/Microsoft.AspNetCore.Routing.Abstractions/EndpointMetadataCollection.cs index 405a5581d1..54624d8717 100644 --- a/src/Microsoft.AspNetCore.Routing.Abstractions/EndpointMetadataCollection.cs +++ b/src/Microsoft.AspNetCore.Routing.Abstractions/EndpointMetadataCollection.cs @@ -8,12 +8,27 @@ using System.Linq; namespace Microsoft.AspNetCore.Routing { + /// + /// A collection of arbitrary metadata associated with an endpoint. + /// + /// + /// instances contain a list of metadata items + /// of arbitrary types. The metadata items are stored as an ordered collection with + /// items arranged in ascending order of precedence. + /// public sealed class EndpointMetadataCollection : IReadOnlyList { + /// + /// An empty . + /// public static readonly EndpointMetadataCollection Empty = new EndpointMetadataCollection(Array.Empty()); private readonly object[] _items; + /// + /// Creates a new . + /// + /// The metadata items. public EndpointMetadataCollection(IEnumerable items) { if (items == null) @@ -24,15 +39,34 @@ namespace Microsoft.AspNetCore.Routing _items = items.ToArray(); } + /// + /// Creates a new . + /// + /// The metadata items. public EndpointMetadataCollection(params object[] items) : this((IEnumerable)items) { } + /// + /// Gets the item at . + /// + /// The index of the item to retrieve. + /// The item at . public object this[int index] => _items[index]; + /// + /// Gets the count of metadata items. + /// public int Count => _items.Length; + /// + /// Gets the most significant metadata item of type . + /// + /// The type of metadata to retrieve. + /// + /// The most significant metadata of type or null. + /// public T GetMetadata() where T : class { for (var i = _items.Length - 1; i >= 0; i--) @@ -47,6 +81,12 @@ namespace Microsoft.AspNetCore.Routing return default; } + /// + /// Gets the metadata items of type in ascending + /// order of precedence. + /// + /// The type of metadata. + /// A sequence of metadata items of . public IEnumerable GetOrderedMetadata() where T : class { for (var i = 0; i < _items.Length; i++) @@ -59,12 +99,27 @@ namespace Microsoft.AspNetCore.Routing } } + /// + /// Gets an of all metadata items. + /// + /// An of all metadata items. public Enumerator GetEnumerator() => new Enumerator(this); + /// + /// Gets an of all metadata items. + /// + /// An of all metadata items. IEnumerator IEnumerable.GetEnumerator() => GetEnumerator(); + /// + /// Gets an of all metadata items. + /// + /// An of all metadata items. IEnumerator IEnumerable.GetEnumerator() => GetEnumerator(); + /// + /// Enumerates the elements of an . + /// public struct Enumerator : IEnumerator { // Intentionally not readonly to prevent defensive struct copies @@ -79,12 +134,25 @@ namespace Microsoft.AspNetCore.Routing _current = null; } + /// + /// Gets the element at the current position of the enumerator + /// public object Current => _current; + /// + /// Releases all resources used by the . + /// public void Dispose() { } + /// + /// Advances the enumerator to the next element of the . + /// + /// + /// true if the enumerator was successfully advanced to the next element; + /// false if the enumerator has passed the end of the collection. + /// public bool MoveNext() { if (_index < _items.Length) @@ -97,6 +165,9 @@ namespace Microsoft.AspNetCore.Routing return false; } + /// + /// Sets the enumerator to its initial position, which is before the first element in the collection. + /// public void Reset() { _index = 0; diff --git a/src/Microsoft.AspNetCore.Routing.Abstractions/IEndpointFeature.cs b/src/Microsoft.AspNetCore.Routing.Abstractions/IEndpointFeature.cs index 5ecf72cb56..c4b9ac95c2 100644 --- a/src/Microsoft.AspNetCore.Routing.Abstractions/IEndpointFeature.cs +++ b/src/Microsoft.AspNetCore.Routing.Abstractions/IEndpointFeature.cs @@ -6,12 +6,28 @@ using Microsoft.AspNetCore.Http; namespace Microsoft.AspNetCore.Routing { + /// + /// A feature interface for endpoint routing. Use + /// to access an instance associated with the current request. + /// public interface IEndpointFeature { + /// + /// Gets or sets the selected for the current + /// request. + /// Endpoint Endpoint { get; set; } + /// + /// Gets or sets a delegate that can be used to invoke the current + /// . + /// Func Invoker { get; set; } + /// + /// Gets or sets the associated with the currrent + /// request. + /// RouteValueDictionary Values { get; set; } } } diff --git a/src/Microsoft.AspNetCore.Routing/EndpointFeature.cs b/src/Microsoft.AspNetCore.Routing/EndpointFeature.cs index 99e5709867..396f9b00ee 100644 --- a/src/Microsoft.AspNetCore.Routing/EndpointFeature.cs +++ b/src/Microsoft.AspNetCore.Routing/EndpointFeature.cs @@ -6,15 +6,30 @@ using Microsoft.AspNetCore.Http; namespace Microsoft.AspNetCore.Routing { + /// + /// A default implementation of and . + /// public sealed class EndpointFeature : IEndpointFeature, IRoutingFeature { private RouteData _routeData; private RouteValueDictionary _values; + /// + /// Gets or sets the selected for the current + /// request. + /// public Endpoint Endpoint { get; set; } + /// + /// Gets or sets a delegate that can be used to invoke the current + /// . + /// public Func Invoker { get; set; } + /// + /// Gets or sets the associated with the currrent + /// request. + /// public RouteValueDictionary Values { get => _values; @@ -27,6 +42,12 @@ namespace Microsoft.AspNetCore.Routing } } + /// + /// Gets or sets the for the current request. + /// + /// + /// The setter is not implemented. Use to set the route values. + /// RouteData IRoutingFeature.RouteData { get diff --git a/src/Microsoft.AspNetCore.Routing/Patterns/RoutePattern.cs b/src/Microsoft.AspNetCore.Routing/Patterns/RoutePattern.cs index bc1551367b..c6d80b0a06 100644 --- a/src/Microsoft.AspNetCore.Routing/Patterns/RoutePattern.cs +++ b/src/Microsoft.AspNetCore.Routing/Patterns/RoutePattern.cs @@ -9,6 +9,11 @@ using Microsoft.AspNetCore.Routing.Template; namespace Microsoft.AspNetCore.Routing.Patterns { + /// + /// Represents a parsed route template with default values and constraints. + /// Use to create + /// instances. Instances of are immutable. + /// [DebuggerDisplay("{DebuggerToString()}")] public sealed class RoutePattern { @@ -36,18 +41,49 @@ namespace Microsoft.AspNetCore.Routing.Patterns OutboundPrecedence = RoutePrecedence.ComputeOutbound(this); } + /// + /// Gets the set of default values for the route pattern. + /// The keys of are the route parameter names. + /// public IReadOnlyDictionary Defaults { get; } + /// + /// Gets the set of constraint references for the route pattern. + /// The keys of are the route parameter names. + /// public IReadOnlyDictionary> Constraints { get; } + /// + /// Gets the precedence value of the route pattern for URL matching. + /// + /// + /// Precedence is a computed value based on the structure of the route pattern + /// used for building URL matching data structures. + /// public decimal InboundPrecedence { get; } + /// + /// Gets the precedence value of the route pattern for URL generation. + /// + /// + /// Precedence is a computed value based on the structure of the route pattern + /// used for building URL generation data structures. + /// public decimal OutboundPrecedence { get; } + /// + /// Gets the raw text supplied when parsing the route pattern. May be null. + /// public string RawText { get; } + /// + /// Gets the list of route parameters. + /// public IReadOnlyList Parameters { get; } + /// + /// Gets the list of path segments. + /// public IReadOnlyList PathSegments { get; } /// diff --git a/src/Microsoft.AspNetCore.Routing/Patterns/RoutePatternConstraintReference.cs b/src/Microsoft.AspNetCore.Routing/Patterns/RoutePatternConstraintReference.cs index 088bdce200..3e832ead65 100644 --- a/src/Microsoft.AspNetCore.Routing/Patterns/RoutePatternConstraintReference.cs +++ b/src/Microsoft.AspNetCore.Routing/Patterns/RoutePatternConstraintReference.cs @@ -7,7 +7,8 @@ using Microsoft.AspNetCore.Routing.Matching; namespace Microsoft.AspNetCore.Routing.Patterns { /// - /// The parsed representation of a constraint in a parameter. + /// The parsed representation of a constraint in a parameter. Instances + /// of are immutable. /// [DebuggerDisplay("{DebuggerToString()}")] public sealed class RoutePatternConstraintReference diff --git a/src/Microsoft.AspNetCore.Routing/Patterns/RoutePatternException.cs b/src/Microsoft.AspNetCore.Routing/Patterns/RoutePatternException.cs index 6399145256..04dc26daf4 100644 --- a/src/Microsoft.AspNetCore.Routing/Patterns/RoutePatternException.cs +++ b/src/Microsoft.AspNetCore.Routing/Patterns/RoutePatternException.cs @@ -6,6 +6,9 @@ using System.Runtime.Serialization; namespace Microsoft.AspNetCore.Routing.Patterns { + /// + /// An exception that is thrown for error constructing a . + /// [Serializable] public sealed class RoutePatternException : Exception { @@ -15,6 +18,11 @@ namespace Microsoft.AspNetCore.Routing.Patterns Pattern = (string)info.GetValue(nameof(Pattern), typeof(string)); } + /// + /// Creates a new . + /// + /// The route pattern as raw text. + /// The exception message. public RoutePatternException(string pattern, string message) : base(message) { @@ -31,8 +39,16 @@ namespace Microsoft.AspNetCore.Routing.Patterns Pattern = pattern; } + /// + /// Gets the route pattern associated with this exception. + /// public string Pattern { get; } + /// + /// Populates a with the data needed to serialize the target object. + /// + /// The to populate with data. + /// The destination () for this serialization. public override void GetObjectData(SerializationInfo info, StreamingContext context) { info.AddValue(nameof(Pattern), Pattern); diff --git a/src/Microsoft.AspNetCore.Routing/Patterns/RoutePatternFactory.cs b/src/Microsoft.AspNetCore.Routing/Patterns/RoutePatternFactory.cs index b0bd70c488..54a34c9d4c 100644 --- a/src/Microsoft.AspNetCore.Routing/Patterns/RoutePatternFactory.cs +++ b/src/Microsoft.AspNetCore.Routing/Patterns/RoutePatternFactory.cs @@ -9,8 +9,18 @@ using Microsoft.AspNetCore.Routing.Matching; namespace Microsoft.AspNetCore.Routing.Patterns { + /// + /// Contains factory methods for creating and related types. + /// Use to parse a route pattern in + /// string format. + /// public static class RoutePatternFactory { + /// + /// Creates a from its string representation. + /// + /// The route pattern string to parse. + /// The . public static RoutePattern Parse(string pattern) { if (pattern == null) @@ -21,6 +31,22 @@ namespace Microsoft.AspNetCore.Routing.Patterns return RoutePatternParser.Parse(pattern); } + /// + /// Creates a from its string representation along + /// with provided default values and constraints. + /// + /// The route pattern string to parse. + /// + /// Additional default values to associated with the route pattern. May be null. + /// The provided object will be converted to key-value pairs using + /// and then merged into the parsed route pattern. + /// + /// + /// Additional constraints to associated with the route pattern. May be null. + /// The provided object will be converted to key-value pairs using + /// and then merged into the parsed route pattern. + /// + /// The . public static RoutePattern Parse(string pattern, object defaults, object constraints) { if (pattern == null) @@ -32,6 +58,11 @@ namespace Microsoft.AspNetCore.Routing.Patterns return Pattern(original.RawText, defaults, constraints, original.PathSegments); } + /// + /// Creates a new from a collection of segments. + /// + /// The collection of segments. + /// The . public static RoutePattern Pattern(IEnumerable segments) { if (segments == null) @@ -42,6 +73,12 @@ namespace Microsoft.AspNetCore.Routing.Patterns return PatternCore(null, null, null, segments); } + /// + /// Creates a new from a collection of segments. + /// + /// The raw text to associate with the route pattern. May be null. + /// The collection of segments. + /// The . public static RoutePattern Pattern(string rawText, IEnumerable segments) { if (segments == null) @@ -52,6 +89,22 @@ namespace Microsoft.AspNetCore.Routing.Patterns return PatternCore(rawText, null, null, segments); } + /// + /// Creates a from a collection of segments along + /// with provided default values and constraints. + /// + /// + /// Additional default values to associated with the route pattern. May be null. + /// The provided object will be converted to key-value pairs using + /// and then merged into the route pattern. + /// + /// + /// Additional constraints to associated with the route pattern. May be null. + /// The provided object will be converted to key-value pairs using + /// and then merged into the route pattern. + /// + /// The collection of segments. + /// The . public static RoutePattern Pattern( object defaults, object constraints, @@ -65,6 +118,23 @@ namespace Microsoft.AspNetCore.Routing.Patterns return PatternCore(null, new RouteValueDictionary(defaults), new RouteValueDictionary(constraints), segments); } + /// + /// Creates a from a collection of segments along + /// with provided default values and constraints. + /// + /// The raw text to associate with the route pattern. + /// + /// Additional default values to associated with the route pattern. May be null. + /// The provided object will be converted to key-value pairs using + /// and then merged into the route pattern. + /// + /// + /// Additional constraints to associated with the route pattern. May be null. + /// The provided object will be converted to key-value pairs using + /// and then merged into the route pattern. + /// + /// The collection of segments. + /// The . public static RoutePattern Pattern( string rawText, object defaults, @@ -79,6 +149,11 @@ namespace Microsoft.AspNetCore.Routing.Patterns return PatternCore(rawText, new RouteValueDictionary(defaults), new RouteValueDictionary(constraints), segments); } + /// + /// Creates a new from a collection of segments. + /// + /// The collection of segments. + /// The . public static RoutePattern Pattern(params RoutePatternPathSegment[] segments) { if (segments == null) @@ -89,6 +164,12 @@ namespace Microsoft.AspNetCore.Routing.Patterns return PatternCore(null, null, null, segments); } + /// + /// Creates a new from a collection of segments. + /// + /// The raw text to associate with the route pattern. May be null. + /// The collection of segments. + /// The . public static RoutePattern Pattern(string rawText, params RoutePatternPathSegment[] segments) { if (segments == null) @@ -99,6 +180,22 @@ namespace Microsoft.AspNetCore.Routing.Patterns return PatternCore(rawText, null, null, segments); } + /// + /// Creates a from a collection of segments along + /// with provided default values and constraints. + /// + /// + /// Additional default values to associated with the route pattern. May be null. + /// The provided object will be converted to key-value pairs using + /// and then merged into the route pattern. + /// + /// + /// Additional constraints to associated with the route pattern. May be null. + /// The provided object will be converted to key-value pairs using + /// and then merged into the route pattern. + /// + /// The collection of segments. + /// The . public static RoutePattern Pattern( object defaults, object constraints, @@ -112,6 +209,23 @@ namespace Microsoft.AspNetCore.Routing.Patterns return PatternCore(null, new RouteValueDictionary(defaults), new RouteValueDictionary(constraints), segments); } + /// + /// Creates a from a collection of segments along + /// with provided default values and constraints. + /// + /// The raw text to associate with the route pattern. + /// + /// Additional default values to associated with the route pattern. May be null. + /// The provided object will be converted to key-value pairs using + /// and then merged into the route pattern. + /// + /// + /// Additional constraints to associated with the route pattern. May be null. + /// The provided object will be converted to key-value pairs using + /// and then merged into the route pattern. + /// + /// The collection of segments. + /// The . public static RoutePattern Pattern( string rawText, object defaults, @@ -251,6 +365,12 @@ namespace Microsoft.AspNetCore.Routing.Patterns } } + /// + /// Creates a from the provided collection + /// of parts. + /// + /// The collection of parts. + /// The . public static RoutePatternPathSegment Segment(IEnumerable parts) { if (parts == null) @@ -261,6 +381,12 @@ namespace Microsoft.AspNetCore.Routing.Patterns return SegmentCore(parts); } + /// + /// Creates a from the provided collection + /// of parts. + /// + /// The collection of parts. + /// The . public static RoutePatternPathSegment Segment(params RoutePatternPart[] parts) { if (parts == null) @@ -276,6 +402,12 @@ namespace Microsoft.AspNetCore.Routing.Patterns return new RoutePatternPathSegment(parts.ToArray()); } + /// + /// Creates a from the provided text + /// content. + /// + /// The text content. + /// The . public static RoutePatternLiteralPart LiteralPart(string content) { if (string.IsNullOrEmpty(content)) @@ -296,6 +428,12 @@ namespace Microsoft.AspNetCore.Routing.Patterns return new RoutePatternLiteralPart(content); } + /// + /// Creates a from the provided text + /// content. + /// + /// The text content. + /// The . public static RoutePatternSeparatorPart SeparatorPart(string content) { if (string.IsNullOrEmpty(content)) @@ -311,6 +449,11 @@ namespace Microsoft.AspNetCore.Routing.Patterns return new RoutePatternSeparatorPart(content); } + /// + /// Creates a from the provided parameter name. + /// + /// The parameter name. + /// The . public static RoutePatternParameterPart ParameterPart(string parameterName) { if (string.IsNullOrEmpty(parameterName)) @@ -329,7 +472,14 @@ namespace Microsoft.AspNetCore.Routing.Patterns parameterKind: RoutePatternParameterKind.Standard, constraints: Array.Empty()); } - + + /// + /// Creates a from the provided parameter name + /// and default value. + /// + /// The parameter name. + /// The parameter default value. May be null. + /// The . public static RoutePatternParameterPart ParameterPart(string parameterName, object @default) { if (string.IsNullOrEmpty(parameterName)) @@ -349,6 +499,14 @@ namespace Microsoft.AspNetCore.Routing.Patterns constraints: Array.Empty()); } + /// + /// Creates a from the provided parameter name + /// and default value, and parameter kind. + /// + /// The parameter name. + /// The parameter default value. May be null. + /// The parameter kind. + /// The . public static RoutePatternParameterPart ParameterPart( string parameterName, object @default, @@ -376,6 +534,15 @@ namespace Microsoft.AspNetCore.Routing.Patterns constraints: Array.Empty()); } + /// + /// Creates a from the provided parameter name + /// and default value, parameter kind, and constraints. + /// + /// The parameter name. + /// The parameter default value. May be null. + /// The parameter kind. + /// The constraints to associated with the parameter. + /// The . public static RoutePatternParameterPart ParameterPart( string parameterName, object @default, @@ -409,6 +576,15 @@ namespace Microsoft.AspNetCore.Routing.Patterns constraints: constraints); } + /// + /// Creates a from the provided parameter name + /// and default value, parameter kind, and constraints. + /// + /// The parameter name. + /// The parameter default value. May be null. + /// The parameter kind. + /// The constraints to associated with the parameter. + /// The . public static RoutePatternParameterPart ParameterPart( string parameterName, object @default, @@ -451,6 +627,16 @@ namespace Microsoft.AspNetCore.Routing.Patterns return new RoutePatternParameterPart(parameterName, @default, parameterKind, constraints.ToArray()); } + /// + /// Creates a from the provided object. + /// + /// + /// The constraint object, which must be of type , + /// , or . If the constraint object + /// is a it will be tranformed into an instance of + /// . + /// + /// The . public static RoutePatternConstraintReference Constraint(object constraint) { // Similar to RouteConstraintBuilder @@ -475,6 +661,13 @@ namespace Microsoft.AspNetCore.Routing.Patterns } } + /// + /// Creates a from the provided object. + /// + /// + /// The constraint object. + /// + /// The . public static RoutePatternConstraintReference Constraint(IRouteConstraint constraint) { if (constraint == null) @@ -485,6 +678,13 @@ namespace Microsoft.AspNetCore.Routing.Patterns return ConstraintCore(constraint); } + /// + /// Creates a from the provided object. + /// + /// + /// The match processor object. + /// + /// The . public static RoutePatternConstraintReference Constraint(MatchProcessor matchProcessor) { if (matchProcessor == null) @@ -495,6 +695,14 @@ namespace Microsoft.AspNetCore.Routing.Patterns return ConstraintCore(matchProcessor); } + /// + /// Creates a from the provided object. + /// + /// + /// The constraint text, which will be tranformed into an instance of + /// . + /// + /// The . public static RoutePatternConstraintReference Constraint(string constraint) { if (string.IsNullOrEmpty(constraint)) diff --git a/src/Microsoft.AspNetCore.Routing/Patterns/RoutePatternLiteralPart.cs b/src/Microsoft.AspNetCore.Routing/Patterns/RoutePatternLiteralPart.cs index 60cc9d2a96..d9fcb22bc6 100644 --- a/src/Microsoft.AspNetCore.Routing/Patterns/RoutePatternLiteralPart.cs +++ b/src/Microsoft.AspNetCore.Routing/Patterns/RoutePatternLiteralPart.cs @@ -5,6 +5,10 @@ using System.Diagnostics; namespace Microsoft.AspNetCore.Routing.Patterns { + /// + /// Resprents a literal text part of a route pattern. Instances of + /// are immutable. + /// [DebuggerDisplay("{DebuggerToString()}")] public sealed class RoutePatternLiteralPart : RoutePatternPart { @@ -15,6 +19,9 @@ namespace Microsoft.AspNetCore.Routing.Patterns Content = content; } + /// + /// Gets the text content. + /// public string Content { get; } internal override string DebuggerToString() diff --git a/src/Microsoft.AspNetCore.Routing/Patterns/RoutePatternMatcher.cs b/src/Microsoft.AspNetCore.Routing/Patterns/RoutePatternMatcher.cs index f875b472be..7e3597086b 100644 --- a/src/Microsoft.AspNetCore.Routing/Patterns/RoutePatternMatcher.cs +++ b/src/Microsoft.AspNetCore.Routing/Patterns/RoutePatternMatcher.cs @@ -2,11 +2,10 @@ // Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information. using System; -using System.Collections.Generic; using System.Diagnostics; +using Microsoft.AspNetCore.Http; using Microsoft.AspNetCore.Routing.Internal; using Microsoft.AspNetCore.Routing.Patterns; -using Microsoft.AspNetCore.Http; using Microsoft.Extensions.Primitives; namespace Microsoft.AspNetCore.Routing diff --git a/src/Microsoft.AspNetCore.Routing/Patterns/RoutePatternParameterKind.cs b/src/Microsoft.AspNetCore.Routing/Patterns/RoutePatternParameterKind.cs index 5a682d4897..0eb5b987de 100644 --- a/src/Microsoft.AspNetCore.Routing/Patterns/RoutePatternParameterKind.cs +++ b/src/Microsoft.AspNetCore.Routing/Patterns/RoutePatternParameterKind.cs @@ -3,10 +3,25 @@ namespace Microsoft.AspNetCore.Routing.Patterns { + /// + /// Defines the kinds of instances. + /// public enum RoutePatternParameterKind { + /// + /// The of a standard parameter + /// without optional or catch all behavior. + /// Standard, + + /// + /// The of an optional parameter. + /// Optional, + + /// + /// The of a catch-all parameter. + /// CatchAll, } } diff --git a/src/Microsoft.AspNetCore.Routing/Patterns/RoutePatternParameterPart.cs b/src/Microsoft.AspNetCore.Routing/Patterns/RoutePatternParameterPart.cs index afe2be3096..04f9056573 100644 --- a/src/Microsoft.AspNetCore.Routing/Patterns/RoutePatternParameterPart.cs +++ b/src/Microsoft.AspNetCore.Routing/Patterns/RoutePatternParameterPart.cs @@ -7,6 +7,10 @@ using System.Text; namespace Microsoft.AspNetCore.Routing.Patterns { + /// + /// Represents a parameter part in a route pattern. Instances of + /// are immutable. + /// [DebuggerDisplay("{DebuggerToString()}")] public sealed class RoutePatternParameterPart : RoutePatternPart { @@ -25,16 +29,36 @@ namespace Microsoft.AspNetCore.Routing.Patterns Constraints = constraints; } + /// + /// Gets the list of constraints associated with this parameter. + /// public IReadOnlyList Constraints { get; } + /// + /// Gets the default value of this route parameter. May be null. + /// public object Default { get; } + /// + /// Returns true if this part is a catch-all parameter. + /// Otherwise returns false. + /// public bool IsCatchAll => ParameterKind == RoutePatternParameterKind.CatchAll; + /// + /// Returns true if this part is an optional parameter. + /// Otherwise returns false. + /// public bool IsOptional => ParameterKind == RoutePatternParameterKind.Optional; + /// + /// Gets the of this parameter. + /// public RoutePatternParameterKind ParameterKind { get; } + /// + /// Gets the parameter name. + /// public string Name { get; } internal override string DebuggerToString() diff --git a/src/Microsoft.AspNetCore.Routing/Patterns/RoutePatternPart.cs b/src/Microsoft.AspNetCore.Routing/Patterns/RoutePatternPart.cs index 7ea3865699..bc797cfee8 100644 --- a/src/Microsoft.AspNetCore.Routing/Patterns/RoutePatternPart.cs +++ b/src/Microsoft.AspNetCore.Routing/Patterns/RoutePatternPart.cs @@ -3,6 +3,9 @@ namespace Microsoft.AspNetCore.Routing.Patterns { + /// + /// Represents a part of a route pattern. + /// public abstract class RoutePatternPart { // This class is **not** an extensibility point - every part of the routing system @@ -14,12 +17,24 @@ namespace Microsoft.AspNetCore.Routing.Patterns PartKind = partKind; } + /// + /// Gets the of this part. + /// public RoutePatternPartKind PartKind { get; } + /// + /// Returns true if this part is literal text. Otherwise returns false. + /// public bool IsLiteral => PartKind == RoutePatternPartKind.Literal; + /// + /// Returns true if this part is a route parameter. Otherwise returns false. + /// public bool IsParameter => PartKind == RoutePatternPartKind.Parameter; + /// + /// Returns true if this part is an optional separator. Otherwise returns false. + /// public bool IsSeparator => PartKind == RoutePatternPartKind.Separator; internal abstract string DebuggerToString(); diff --git a/src/Microsoft.AspNetCore.Routing/Patterns/RoutePatternPartKind.cs b/src/Microsoft.AspNetCore.Routing/Patterns/RoutePatternPartKind.cs index 1dfaad0250..1b67819322 100644 --- a/src/Microsoft.AspNetCore.Routing/Patterns/RoutePatternPartKind.cs +++ b/src/Microsoft.AspNetCore.Routing/Patterns/RoutePatternPartKind.cs @@ -3,10 +3,24 @@ namespace Microsoft.AspNetCore.Routing.Patterns { + /// + /// Defines the kinds of instances. + /// public enum RoutePatternPartKind { + /// + /// The of a . + /// Literal, + + /// + /// The of a . + /// Parameter, + + /// + /// The of a . + /// Separator, } } diff --git a/src/Microsoft.AspNetCore.Routing/Patterns/RoutePatternPathSegment.cs b/src/Microsoft.AspNetCore.Routing/Patterns/RoutePatternPathSegment.cs index 96c2a86592..1fd65f45d7 100644 --- a/src/Microsoft.AspNetCore.Routing/Patterns/RoutePatternPathSegment.cs +++ b/src/Microsoft.AspNetCore.Routing/Patterns/RoutePatternPathSegment.cs @@ -7,6 +7,16 @@ using System.Linq; namespace Microsoft.AspNetCore.Routing.Patterns { + /// + /// Represents a path segment in a route pattern. Instances of are + /// immutable. + /// + /// + /// Route patterns are made up of URL path segments, delimited by /. A + /// contains a group of + /// that represent the structure of a segment + /// in a route pattern. + /// [DebuggerDisplay("{DebuggerToString()}")] public sealed class RoutePatternPathSegment { @@ -15,8 +25,15 @@ namespace Microsoft.AspNetCore.Routing.Patterns Parts = parts; } + /// + /// Returns true if the segment contains a single part; + /// otherwise returns false. + /// public bool IsSimple => Parts.Count == 1; + /// + /// Gets the list of parts in this segment. + /// public IReadOnlyList Parts { get; } internal string DebuggerToString() diff --git a/src/Microsoft.AspNetCore.Routing/Patterns/RoutePatternSeparatorPart.cs b/src/Microsoft.AspNetCore.Routing/Patterns/RoutePatternSeparatorPart.cs index 19333a9467..5512e62af4 100644 --- a/src/Microsoft.AspNetCore.Routing/Patterns/RoutePatternSeparatorPart.cs +++ b/src/Microsoft.AspNetCore.Routing/Patterns/RoutePatternSeparatorPart.cs @@ -5,6 +5,27 @@ using System.Diagnostics; namespace Microsoft.AspNetCore.Routing.Patterns { + /// + /// Represents an optional separator part of a route pattern. Instances of + /// are immutable. + /// + /// + /// + /// An optional separator is a literal text delimiter that appears between + /// two parameter parts in the last segment of a route pattern. The only separator + /// that is recognized is .. + /// + /// + /// + /// In the route pattern /{controller}/{action}/{id?}.{extension?} + /// the . character is an optional separator. + /// + /// + /// + /// An optional separator character does not need to present in the URL path + /// of a request for the route pattern to match. + /// + /// [DebuggerDisplay("{DebuggerToString()}")] public sealed class RoutePatternSeparatorPart : RoutePatternPart { @@ -16,6 +37,9 @@ namespace Microsoft.AspNetCore.Routing.Patterns Content = content; } + /// + /// Gets the text content of the part. + /// public string Content { get; } internal override string DebuggerToString() From b177ba5309a055c942ac1b4a0277c4d44469031e Mon Sep 17 00:00:00 2001 From: Kiran Challa Date: Mon, 30 Jul 2018 15:44:37 -0700 Subject: [PATCH 112/221] Changed api of LinkGenerator --- .../UseEndpointRoutingStartup.cs | 8 +- .../LinkGenerator.cs | 148 ++- ...LinkGeneratorContext.cs => LinkOptions.cs} | 13 +- .../DefaultLinkGenerator.cs | 163 ++-- .../DefaultLinkGeneratorTest.cs | 889 +++++++----------- 5 files changed, 601 insertions(+), 620 deletions(-) rename src/Microsoft.AspNetCore.Routing.Abstractions/{LinkGeneratorContext.cs => LinkOptions.cs} (74%) diff --git a/samples/RoutingSample.Web/UseEndpointRoutingStartup.cs b/samples/RoutingSample.Web/UseEndpointRoutingStartup.cs index 06dab7eddb..d67d5fbe2a 100644 --- a/samples/RoutingSample.Web/UseEndpointRoutingStartup.cs +++ b/samples/RoutingSample.Web/UseEndpointRoutingStartup.cs @@ -25,11 +25,11 @@ namespace RoutingSample.Web { options.ConstraintMap.Add("endsWith", typeof(EndsWithStringMatchProcessor)); }); - + services.Configure(options => { - options.DataSources.Add(new DefaultEndpointDataSource(new[] - { + options.DataSources.Add(new DefaultEndpointDataSource(new[] + { new MatcherEndpoint((next) => (httpContext) => { var response = httpContext.Response; @@ -83,7 +83,7 @@ namespace RoutingSample.Web EndpointMetadataCollection.Empty, "withoptionalconstraints"), })); - }); + }); } public void Configure(Microsoft.AspNetCore.Builder.IApplicationBuilder app) diff --git a/src/Microsoft.AspNetCore.Routing.Abstractions/LinkGenerator.cs b/src/Microsoft.AspNetCore.Routing.Abstractions/LinkGenerator.cs index df5c1b5910..f4101a609a 100644 --- a/src/Microsoft.AspNetCore.Routing.Abstractions/LinkGenerator.cs +++ b/src/Microsoft.AspNetCore.Routing.Abstractions/LinkGenerator.cs @@ -1,13 +1,157 @@ // Copyright (c) .NET Foundation. All rights reserved. // Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information. +using System; +using Microsoft.AspNetCore.Http; namespace Microsoft.AspNetCore.Routing { public abstract class LinkGenerator { - public abstract bool TryGetLink(LinkGeneratorContext context, out string link); + public string GetLink(object values) + { + return GetLink(httpContext: null, routeName: null, values, options: null); + } - public abstract string GetLink(LinkGeneratorContext context); + public string GetLink(object values, LinkOptions options) + { + return GetLink(httpContext: null, routeName: null, values, options); + } + + public bool TryGetLink(object values, out string link) + { + return TryGetLink(httpContext: null, routeName: null, values, options: null, out link); + } + + public bool TryGetLink(object values, LinkOptions options, out string link) + { + return TryGetLink(httpContext: null, routeName: null, values, options, out link); + } + + public string GetLink(HttpContext httpContext, object values) + { + return GetLink(httpContext, routeName: null, values, options: null); + } + + public bool TryGetLink(HttpContext httpContext, object values, out string link) + { + return TryGetLink(httpContext, routeName: null, values, options: null, out link); + } + + public string GetLink(HttpContext httpContext, object values, LinkOptions options) + { + return GetLink(httpContext, routeName: null, values, options); + } + + public bool TryGetLink(HttpContext httpContext, object values, LinkOptions options, out string link) + { + return TryGetLink(httpContext, routeName: null, values, options, out link); + } + + public string GetLink(string routeName, object values) + { + return GetLink(httpContext: null, routeName, values, options: null); + } + + public bool TryGetLink(string routeName, object values, out string link) + { + return TryGetLink(httpContext: null, routeName, values, options: null, out link); + } + + public string GetLink(string routeName, object values, LinkOptions options) + { + return GetLink(httpContext: null, routeName, values, options); + } + + public bool TryGetLink(string routeName, object values, LinkOptions options, out string link) + { + return TryGetLink(httpContext: null, routeName, values, options, out link); + } + + public string GetLink(HttpContext httpContext, string routeName, object values) + { + return GetLink(httpContext, routeName, values, options: null); + } + + public bool TryGetLink(HttpContext httpContext, string routeName, object values, out string link) + { + return TryGetLink(httpContext, routeName, values, options: null, out link); + } + + public string GetLink(HttpContext httpContext, string routeName, object values, LinkOptions options) + { + if (TryGetLink(httpContext, routeName, values, options, out var link)) + { + return link; + } + + throw new InvalidOperationException("Could not find a matching endpoint to generate a link."); + } + + public abstract bool TryGetLink( + HttpContext httpContext, + string routeName, + object values, + LinkOptions options, + out string link); + + public string GetLinkByAddress(TAddress address, object values) + { + return GetLinkByAddress(address, httpContext: null, values, options: null); + } + + public bool TryGetLinkByAddress(TAddress address, object values, out string link) + { + return TryGetLinkByAddress(address, values, options: null, out link); + } + + public string GetLinkByAddress(TAddress address, object values, LinkOptions options) + { + return GetLinkByAddress(address, httpContext: null, values, options); + } + + public bool TryGetLinkByAddress( + TAddress address, + object values, + LinkOptions options, + out string link) + { + return TryGetLinkByAddress(address, httpContext: null, values, options, out link); + } + + public string GetLinkByAddress(TAddress address, HttpContext httpContext, object values) + { + return GetLinkByAddress(address, httpContext, values, options: null); + } + + public bool TryGetLinkByAddress( + TAddress address, + HttpContext httpContext, + object values, + out string link) + { + return TryGetLinkByAddress(address, httpContext, values, options: null, out link); + } + + public string GetLinkByAddress( + TAddress address, + HttpContext httpContext, + object values, + LinkOptions options) + { + if (TryGetLinkByAddress(address, httpContext, values, options, out var link)) + { + return link; + } + + throw new InvalidOperationException("Could not find a matching endpoint to generate a link."); + } + + public abstract bool TryGetLinkByAddress( + TAddress address, + HttpContext httpContext, + object values, + LinkOptions options, + out string link); } } diff --git a/src/Microsoft.AspNetCore.Routing.Abstractions/LinkGeneratorContext.cs b/src/Microsoft.AspNetCore.Routing.Abstractions/LinkOptions.cs similarity index 74% rename from src/Microsoft.AspNetCore.Routing.Abstractions/LinkGeneratorContext.cs rename to src/Microsoft.AspNetCore.Routing.Abstractions/LinkOptions.cs index c1e04c17e0..a5bd0547f0 100644 --- a/src/Microsoft.AspNetCore.Routing.Abstractions/LinkGeneratorContext.cs +++ b/src/Microsoft.AspNetCore.Routing.Abstractions/LinkOptions.cs @@ -1,21 +1,10 @@ // Copyright (c) .NET Foundation. All rights reserved. // Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information. -using System.Collections.Generic; -using Microsoft.AspNetCore.Http; - namespace Microsoft.AspNetCore.Routing { - public class LinkGeneratorContext + public class LinkOptions { - public HttpContext HttpContext { get; set; } - - public IEnumerable Endpoints { get; set; } - - public RouteValueDictionary ExplicitValues { get; set; } - - public RouteValueDictionary AmbientValues { get; set; } - /// /// Gets or sets a value indicating whether all generated paths URLs are lower-case. /// Use to configure the behavior for query strings. diff --git a/src/Microsoft.AspNetCore.Routing/DefaultLinkGenerator.cs b/src/Microsoft.AspNetCore.Routing/DefaultLinkGenerator.cs index b515643139..13d2869d32 100644 --- a/src/Microsoft.AspNetCore.Routing/DefaultLinkGenerator.cs +++ b/src/Microsoft.AspNetCore.Routing/DefaultLinkGenerator.cs @@ -8,6 +8,7 @@ using Microsoft.AspNetCore.Http; using Microsoft.AspNetCore.Routing.Internal; using Microsoft.AspNetCore.Routing.Matching; using Microsoft.AspNetCore.Routing.Template; +using Microsoft.Extensions.DependencyInjection; using Microsoft.Extensions.Logging; using Microsoft.Extensions.ObjectPool; using Microsoft.Extensions.Options; @@ -19,60 +20,106 @@ namespace Microsoft.AspNetCore.Routing private readonly static char[] UrlQueryDelimiters = new char[] { '?', '#' }; private readonly MatchProcessorFactory _matchProcessorFactory; private readonly ObjectPool _uriBuildingContextPool; - private readonly RouteOptions _options; private readonly ILogger _logger; + private readonly IServiceProvider _serviceProvider; + private readonly RouteOptions _options; public DefaultLinkGenerator( MatchProcessorFactory matchProcessorFactory, ObjectPool uriBuildingContextPool, IOptions routeOptions, - ILogger logger) + ILogger logger, + IServiceProvider serviceProvider) { _matchProcessorFactory = matchProcessorFactory; _uriBuildingContextPool = uriBuildingContextPool; _options = routeOptions.Value; _logger = logger; + _serviceProvider = serviceProvider; } - public override string GetLink(LinkGeneratorContext context) + public override bool TryGetLink( + HttpContext httpContext, + string routeName, + object values, + LinkOptions options, + out string link) { - if (context == null) - { - throw new ArgumentNullException(nameof(context)); - } - - if (TryGetLink(context, out var link)) - { - return link; - } - - throw new InvalidOperationException("Could not find a matching endpoint to generate a link."); + return TryGetLinkByRouteValues( + httpContext, + routeName, + values, + options, + out link); } - public override bool TryGetLink(LinkGeneratorContext context, out string link) + public override bool TryGetLinkByAddress( + TAddress address, + HttpContext httpContext, + object values, + LinkOptions options, + out string link) { - if (context == null) - { - throw new ArgumentNullException(nameof(context)); - } + return TryGetLinkByAddressInternal( + address, + httpContext, + explicitValues: values, + ambientValues: GetAmbientValues(httpContext), + options, + out link); + } + private bool TryGetLinkByRouteValues( + HttpContext httpContext, + string routeName, + object values, + LinkOptions options, + out string link) + { + var ambientValues = GetAmbientValues(httpContext); + + var address = new RouteValuesAddress + { + RouteName = routeName, + ExplicitValues = new RouteValueDictionary(values), + AmbientValues = ambientValues + }; + + return TryGetLinkByAddressInternal( + address, + httpContext, + explicitValues: values, + ambientValues: ambientValues, + options, + out link); + } + + private bool TryGetLinkByAddressInternal( + TAddress address, + HttpContext httpContext, + object explicitValues, + RouteValueDictionary ambientValues, + LinkOptions options, + out string link) + { link = null; - if (context.Endpoints == null) + var endpointFinder = _serviceProvider.GetRequiredService>(); + var endpoints = endpointFinder.FindEndpoints(address); + if (endpoints == null) { return false; } - var matcherEndpoints = context.Endpoints.OfType(); + var matcherEndpoints = endpoints.OfType(); if (!matcherEndpoints.Any()) { - //todo:log here return false; } foreach (var endpoint in matcherEndpoints) { - link = GetLink(endpoint, context); + link = GetLink(endpoint); if (link != null) { return true; @@ -80,34 +127,33 @@ namespace Microsoft.AspNetCore.Routing } return false; - } - private string GetLink(MatcherEndpoint endpoint, LinkGeneratorContext context) - { - var templateBinder = new TemplateBinder( - UrlEncoder.Default, - _uriBuildingContextPool, - new RouteTemplate(endpoint.RoutePattern), - new RouteValueDictionary(endpoint.RoutePattern.Defaults)); - - var templateValuesResult = templateBinder.GetValues( - ambientValues: context.AmbientValues, - explicitValues: context.ExplicitValues, - endpoint.RequiredValues.Keys); - - if (templateValuesResult == null) + string GetLink(MatcherEndpoint endpoint) { - // We're missing one of the required values for this route. - return null; - } + var templateBinder = new TemplateBinder( + UrlEncoder.Default, + _uriBuildingContextPool, + new RouteTemplate(endpoint.RoutePattern), + new RouteValueDictionary(endpoint.RoutePattern.Defaults)); - if (!MatchesConstraints(context.HttpContext, endpoint, templateValuesResult.CombinedValues)) - { - return null; - } + var templateValuesResult = templateBinder.GetValues( + ambientValues: ambientValues, + explicitValues: new RouteValueDictionary(explicitValues), + requiredKeys: endpoint.RequiredValues.Keys); + if (templateValuesResult == null) + { + // We're missing one of the required values for this route. + return null; + } - var url = templateBinder.BindValues(templateValuesResult.AcceptedValues); - return Normalize(context, url); + if (!MatchesConstraints(httpContext, endpoint, templateValuesResult.CombinedValues)) + { + return null; + } + + var url = templateBinder.BindValues(templateValuesResult.AcceptedValues); + return Normalize(url, options); + } } private bool MatchesConstraints( @@ -138,13 +184,11 @@ namespace Microsoft.AspNetCore.Routing return true; } - private string Normalize(LinkGeneratorContext context, string url) + private string Normalize(string url, LinkOptions options) { - var lowercaseUrls = context.LowercaseUrls.HasValue ? context.LowercaseUrls.Value : _options.LowercaseUrls; - var lowercaseQueryStrings = context.LowercaseQueryStrings.HasValue ? - context.LowercaseQueryStrings.Value : _options.LowercaseQueryStrings; - var appendTrailingSlash = context.AppendTrailingSlash.HasValue ? - context.AppendTrailingSlash.Value : _options.AppendTrailingSlash; + var lowercaseUrls = options?.LowercaseUrls ?? _options.LowercaseUrls; + var lowercaseQueryStrings = options?.LowercaseQueryStrings ?? _options.LowercaseQueryStrings; + var appendTrailingSlash = options?.AppendTrailingSlash ?? _options.AppendTrailingSlash; if (!string.IsNullOrEmpty(url) && (lowercaseUrls || appendTrailingSlash)) { @@ -179,5 +223,18 @@ namespace Microsoft.AspNetCore.Routing return url; } + + private RouteValueDictionary GetAmbientValues(HttpContext httpContext) + { + if (httpContext != null) + { + var feature = httpContext.Features.Get(); + if (feature != null) + { + return feature.Values; + } + } + return null; + } } } diff --git a/test/Microsoft.AspNetCore.Routing.Tests/DefaultLinkGeneratorTest.cs b/test/Microsoft.AspNetCore.Routing.Tests/DefaultLinkGeneratorTest.cs index 6c5a47116e..1063db6819 100644 --- a/test/Microsoft.AspNetCore.Routing.Tests/DefaultLinkGeneratorTest.cs +++ b/test/Microsoft.AspNetCore.Routing.Tests/DefaultLinkGeneratorTest.cs @@ -9,6 +9,8 @@ using Microsoft.AspNetCore.Routing.Constraints; using Microsoft.AspNetCore.Routing.Internal; using Microsoft.AspNetCore.Routing.Matching; using Microsoft.AspNetCore.Routing.TestObjects; +using Microsoft.Extensions.DependencyInjection; +using Microsoft.Extensions.DependencyInjection.Extensions; using Microsoft.Extensions.Logging.Abstractions; using Microsoft.Extensions.ObjectPool; using Microsoft.Extensions.Options; @@ -24,17 +26,10 @@ namespace Microsoft.AspNetCore.Routing { // Arrange var endpoint = EndpointFactory.CreateMatcherEndpoint("{controller}"); - var linkGenerator = CreateLinkGenerator(); - var address = CreateRouteValuesAddress(new { controller = "Home" }); + var linkGenerator = CreateLinkGenerator(endpoint); // Act - var link = linkGenerator.GetLink( - new LinkGeneratorContext - { - Endpoints = new[] { endpoint }, - ExplicitValues = address.ExplicitValues, - AmbientValues = address.AmbientValues - }); + var link = linkGenerator.GetLink(new { controller = "Home" }); // Assert Assert.Equal("/Home", link); @@ -46,18 +41,11 @@ namespace Microsoft.AspNetCore.Routing // Arrange var expectedMessage = "Could not find a matching endpoint to generate a link."; var endpoint = EndpointFactory.CreateMatcherEndpoint("{controller}/{action}"); - var linkGenerator = CreateLinkGenerator(); - var address = CreateRouteValuesAddress(new { controller = "Home" }); + var linkGenerator = CreateLinkGenerator(endpoint); // Act & Assert var exception = Assert.Throws( - () => linkGenerator.GetLink( - new LinkGeneratorContext - { - Endpoints = new[] { endpoint }, - ExplicitValues = address.ExplicitValues, - AmbientValues = address.AmbientValues - })); + () => linkGenerator.GetLink(new { controller = "Home" })); Assert.Equal(expectedMessage, exception.Message); } @@ -66,17 +54,11 @@ namespace Microsoft.AspNetCore.Routing { // Arrange var endpoint = EndpointFactory.CreateMatcherEndpoint("{controller}/{action}"); - var linkGenerator = CreateLinkGenerator(); - var address = CreateRouteValuesAddress(new { controller = "Home" }); + var linkGenerator = CreateLinkGenerator(endpoint); // Act var canGenerateLink = linkGenerator.TryGetLink( - new LinkGeneratorContext - { - Endpoints = new[] { endpoint }, - ExplicitValues = address.ExplicitValues, - AmbientValues = address.AmbientValues - }, + new { controller = "Home" }, out var link); // Assert @@ -91,17 +73,10 @@ namespace Microsoft.AspNetCore.Routing var endpoint1 = EndpointFactory.CreateMatcherEndpoint("{controller}/{action}/{id?}"); var endpoint2 = EndpointFactory.CreateMatcherEndpoint("{controller}/{action}"); var endpoint3 = EndpointFactory.CreateMatcherEndpoint("{controller}"); - var linkGenerator = CreateLinkGenerator(); - var address = CreateRouteValuesAddress(new { controller = "Home", action = "Index", id = "10" }); + var linkGenerator = CreateLinkGenerator(endpoint1, endpoint2, endpoint3); // Act - var link = linkGenerator.GetLink( - new LinkGeneratorContext - { - Endpoints = new[] { endpoint1, endpoint2, endpoint3 }, - ExplicitValues = address.ExplicitValues, - AmbientValues = address.AmbientValues - }); + var link = linkGenerator.GetLink(new { controller = "Home", action = "Index", id = "10" }); // Assert Assert.Equal("/Home/Index/10", link); @@ -114,17 +89,10 @@ namespace Microsoft.AspNetCore.Routing var endpoint1 = EndpointFactory.CreateMatcherEndpoint("{controller}/{action}/{id}"); var endpoint2 = EndpointFactory.CreateMatcherEndpoint("{controller}/{action}"); var endpoint3 = EndpointFactory.CreateMatcherEndpoint("{controller}"); - var linkGenerator = CreateLinkGenerator(); - var address = CreateRouteValuesAddress(new { controller = "Home", action = "Index" }); + var linkGenerator = CreateLinkGenerator(endpoint1, endpoint2, endpoint3); // Act - var link = linkGenerator.GetLink( - new LinkGeneratorContext - { - Endpoints = new[] { endpoint1, endpoint2, endpoint3 }, - ExplicitValues = address.ExplicitValues, - AmbientValues = address.AmbientValues - }); + var link = linkGenerator.GetLink(new { controller = "Home", action = "Index" }); // Assert Assert.Equal("/Home/Index", link); @@ -135,19 +103,11 @@ namespace Microsoft.AspNetCore.Routing { // Arrange var endpoint = EndpointFactory.CreateMatcherEndpoint("{controller}/{action}"); - var linkGenerator = CreateLinkGenerator(); - var address = CreateRouteValuesAddress( - explicitValues: new { name = "name with %special #characters" }, - ambientValues: new { controller = "Home", action = "Index" }); + var linkGenerator = CreateLinkGenerator(endpoint); + var httpContext = CreateHttpContext(ambientValues: new { controller = "Home", action = "Index" }); // Act - var link = linkGenerator.GetLink( - new LinkGeneratorContext - { - Endpoints = new[] { endpoint }, - ExplicitValues = address.ExplicitValues, - AmbientValues = address.AmbientValues - }); + var link = linkGenerator.GetLink(httpContext, new { name = "name with %special #characters" }); // Assert Assert.Equal("/Home/Index?name=name%20with%20%25special%20%23characters", link); @@ -158,19 +118,11 @@ namespace Microsoft.AspNetCore.Routing { // Arrange var endpoint = EndpointFactory.CreateMatcherEndpoint("{controller}/{action}"); - var linkGenerator = CreateLinkGenerator(); - var address = CreateRouteValuesAddress( - new { color = new List { "red", "green", "blue" } }, - new { controller = "Home", action = "Index" }); + var linkGenerator = CreateLinkGenerator(endpoint); + var context = CreateHttpContext(ambientValues: new { controller = "Home", action = "Index" }); // Act - var link = linkGenerator.GetLink( - new LinkGeneratorContext - { - Endpoints = new[] { endpoint }, - ExplicitValues = address.ExplicitValues, - AmbientValues = address.AmbientValues - }); + var link = linkGenerator.GetLink(context, new { color = new List { "red", "green", "blue" } }); // Assert Assert.Equal("/Home/Index?color=red&color=green&color=blue", link); @@ -181,19 +133,11 @@ namespace Microsoft.AspNetCore.Routing { // Arrange var endpoint = EndpointFactory.CreateMatcherEndpoint("{controller}/{action}"); - var linkGenerator = CreateLinkGenerator(); - var address = CreateRouteValuesAddress( - new { items = new List { 10, 20, 30 } }, - new { controller = "Home", action = "Index" }); + var linkGenerator = CreateLinkGenerator(endpoint); + var httpContext = CreateHttpContext(ambientValues: new { controller = "Home", action = "Index" }); // Act - var link = linkGenerator.GetLink( - new LinkGeneratorContext - { - Endpoints = new[] { endpoint }, - ExplicitValues = address.ExplicitValues, - AmbientValues = address.AmbientValues - }); + var link = linkGenerator.GetLink(httpContext, new { items = new List { 10, 20, 30 } }); // Assert Assert.Equal("/Home/Index?items=10&items=20&items=30", link); @@ -204,19 +148,11 @@ namespace Microsoft.AspNetCore.Routing { // Arrange var endpoint = EndpointFactory.CreateMatcherEndpoint("{controller}/{action}"); - var linkGenerator = CreateLinkGenerator(); - var address = CreateRouteValuesAddress( - new { color = new List { } }, - new { controller = "Home", action = "Index" }); + var linkGenerator = CreateLinkGenerator(endpoint); + var httpContext = CreateHttpContext(ambientValues: new { controller = "Home", action = "Index" }); // Act - var link = linkGenerator.GetLink( - new LinkGeneratorContext - { - Endpoints = new[] { endpoint }, - ExplicitValues = address.ExplicitValues, - AmbientValues = address.AmbientValues - }); + var link = linkGenerator.GetLink(httpContext, new { color = new List { } }); // Assert Assert.Equal("/Home/Index", link); @@ -227,19 +163,13 @@ namespace Microsoft.AspNetCore.Routing { // Arrange var endpoint = EndpointFactory.CreateMatcherEndpoint("{controller}/{action}"); - var linkGenerator = CreateLinkGenerator(); - var address = CreateRouteValuesAddress( - new { page = 1, color = new List { "red", "green", "blue" }, message = "textfortest" }, - new { controller = "Home", action = "Index" }); + var linkGenerator = CreateLinkGenerator(endpoint); + var httpContext = CreateHttpContext(ambientValues: new { controller = "Home", action = "Index" }); // Act var link = linkGenerator.GetLink( - new LinkGeneratorContext - { - Endpoints = new[] { endpoint }, - ExplicitValues = address.ExplicitValues, - AmbientValues = address.AmbientValues - }); + httpContext, + new { page = 1, color = new List { "red", "green", "blue" }, message = "textfortest" }); // Assert Assert.Equal("/Home/Index?page=1&color=red&color=green&color=blue&message=textfortest", link); @@ -250,19 +180,11 @@ namespace Microsoft.AspNetCore.Routing { // Arrange var endpoint = EndpointFactory.CreateMatcherEndpoint("{controller}/{action}"); - var linkGenerator = CreateLinkGenerator(); - var address = CreateRouteValuesAddress( - explicitValues: new { action = "Index" }, - ambientValues: new { controller = "Home" }); + var linkGenerator = CreateLinkGenerator(endpoint); + var httpContext = CreateHttpContext(ambientValues: new { controller = "Home" }); // Act - var link = linkGenerator.GetLink( - new LinkGeneratorContext - { - Endpoints = new[] { endpoint }, - ExplicitValues = address.ExplicitValues, - AmbientValues = address.AmbientValues - }); + var link = linkGenerator.GetLink(httpContext, new { action = "Index" }); // Assert Assert.Equal("/Home/Index", link); @@ -273,19 +195,11 @@ namespace Microsoft.AspNetCore.Routing { // Arrange var endpoint = EndpointFactory.CreateMatcherEndpoint("{controller}/{action}"); - var linkGenerator = CreateLinkGenerator(new RouteOptions() { LowercaseUrls = true }); - var address = CreateRouteValuesAddress( - explicitValues: new { action = "Index" }, - ambientValues: new { controller = "Home" }); + var linkGenerator = CreateLinkGenerator(new[] { endpoint }, new RouteOptions() { LowercaseUrls = true }); + var httpContext = CreateHttpContext(ambientValues: new { controller = "Home" }); // Act - var link = linkGenerator.GetLink( - new LinkGeneratorContext - { - Endpoints = new[] { endpoint }, - ExplicitValues = address.ExplicitValues, - AmbientValues = address.AmbientValues - }); + var link = linkGenerator.GetLink(httpContext, new { action = "Index" }); // Assert Assert.Equal("/home/index", link); @@ -297,19 +211,14 @@ namespace Microsoft.AspNetCore.Routing // Arrange var endpoint = EndpointFactory.CreateMatcherEndpoint("{controller}/{action}"); var linkGenerator = CreateLinkGenerator( + new[] { endpoint }, new RouteOptions() { LowercaseUrls = true, LowercaseQueryStrings = true }); - var address = CreateRouteValuesAddress( - explicitValues: new { action = "Index", ShowStatus = "True", INFO = "DETAILED" }, - ambientValues: new { controller = "Home" }); + var httpContext = CreateHttpContext(ambientValues: new { controller = "Home" }); // Act var link = linkGenerator.GetLink( - new LinkGeneratorContext - { - Endpoints = new[] { endpoint }, - ExplicitValues = address.ExplicitValues, - AmbientValues = address.AmbientValues - }); + httpContext, + new { action = "Index", ShowStatus = "True", INFO = "DETAILED" }); // Assert Assert.Equal("/home/index?showstatus=true&info=detailed", link); @@ -321,19 +230,14 @@ namespace Microsoft.AspNetCore.Routing // Arrange var endpoint = EndpointFactory.CreateMatcherEndpoint("{controller}/{action}"); var linkGenerator = CreateLinkGenerator( + new[] { endpoint }, new RouteOptions() { LowercaseUrls = false, LowercaseQueryStrings = true }); - var address = CreateRouteValuesAddress( - explicitValues: new { action = "Index", ShowStatus = "True", INFO = "DETAILED" }, - ambientValues: new { controller = "Home" }); + var httpContext = CreateHttpContext(ambientValues: new { controller = "Home" }); // Act var link = linkGenerator.GetLink( - new LinkGeneratorContext - { - Endpoints = new[] { endpoint }, - ExplicitValues = address.ExplicitValues, - AmbientValues = address.AmbientValues - }); + httpContext, + new { action = "Index", ShowStatus = "True", INFO = "DETAILED" }); // Assert Assert.Equal("/Home/Index?ShowStatus=True&INFO=DETAILED", link); @@ -344,19 +248,13 @@ namespace Microsoft.AspNetCore.Routing { // Arrange var endpoint = EndpointFactory.CreateMatcherEndpoint("{controller}/{action}"); - var linkGenerator = CreateLinkGenerator(new RouteOptions() { AppendTrailingSlash = true }); - var address = CreateRouteValuesAddress( - explicitValues: new { action = "Index" }, - ambientValues: new { controller = "Home" }); + var linkGenerator = CreateLinkGenerator( + new[] { endpoint }, + new RouteOptions() { AppendTrailingSlash = true }); + var httpContext = CreateHttpContext(ambientValues: new { controller = "Home" }); // Act - var link = linkGenerator.GetLink( - new LinkGeneratorContext - { - Endpoints = new[] { endpoint }, - ExplicitValues = address.ExplicitValues, - AmbientValues = address.AmbientValues - }); + var link = linkGenerator.GetLink(httpContext, new { action = "Index" }); // Assert Assert.Equal("/Home/Index/", link); @@ -368,19 +266,14 @@ namespace Microsoft.AspNetCore.Routing // Arrange var endpoint = EndpointFactory.CreateMatcherEndpoint("{controller}/{action}"); var linkGenerator = CreateLinkGenerator( + new[] { endpoint }, new RouteOptions() { LowercaseUrls = true, LowercaseQueryStrings = true, AppendTrailingSlash = true }); - var address = CreateRouteValuesAddress( - explicitValues: new { action = "Index", ShowStatus = "True", INFO = "DETAILED" }, - ambientValues: new { controller = "Home" }); + var httpContext = CreateHttpContext(ambientValues: new { controller = "Home" }); // Act var link = linkGenerator.GetLink( - new LinkGeneratorContext - { - Endpoints = new[] { endpoint }, - ExplicitValues = address.ExplicitValues, - AmbientValues = address.AmbientValues - }); + httpContext, + new { action = "Index", ShowStatus = "True", INFO = "DETAILED" }); // Assert Assert.Equal("/home/index/?showstatus=true&info=detailed", link); @@ -391,18 +284,17 @@ namespace Microsoft.AspNetCore.Routing { // Arrange var endpoint = EndpointFactory.CreateMatcherEndpoint("{controller}/{action}"); - var linkGenerator = CreateLinkGenerator(new RouteOptions() { LowercaseUrls = true }); - var address = CreateRouteValuesAddress( - explicitValues: new { action = "InDex" }, - ambientValues: new { controller = "HoMe" }); + var linkGenerator = CreateLinkGenerator( + new[] { endpoint }, + new RouteOptions() { LowercaseUrls = true }); + var httpContext = CreateHttpContext(ambientValues: new { controller = "HoMe" }); // Act var link = linkGenerator.GetLink( - new LinkGeneratorContext + httpContext, + values: new { action = "InDex" }, + new LinkOptions { - Endpoints = new[] { endpoint }, - ExplicitValues = address.ExplicitValues, - AmbientValues = address.AmbientValues, LowercaseUrls = false }); @@ -415,18 +307,17 @@ namespace Microsoft.AspNetCore.Routing { // Arrange var endpoint = EndpointFactory.CreateMatcherEndpoint("{controller}/{action}"); - var linkGenerator = CreateLinkGenerator(new RouteOptions() { LowercaseUrls = false }); - var address = CreateRouteValuesAddress( - explicitValues: new { action = "InDex" }, - ambientValues: new { controller = "HoMe" }); + var linkGenerator = CreateLinkGenerator( + new[] { endpoint }, + new RouteOptions() { LowercaseUrls = false }); + var httpContext = CreateHttpContext(ambientValues: new { controller = "HoMe" }); // Act var link = linkGenerator.GetLink( - new LinkGeneratorContext + httpContext, + values: new { action = "InDex" }, + new LinkOptions { - Endpoints = new[] { endpoint }, - ExplicitValues = address.ExplicitValues, - AmbientValues = address.AmbientValues, LowercaseUrls = true }); @@ -440,18 +331,16 @@ namespace Microsoft.AspNetCore.Routing // Arrange var endpoint = EndpointFactory.CreateMatcherEndpoint("{controller}/{action}"); var linkGenerator = CreateLinkGenerator( + new[] { endpoint }, new RouteOptions() { LowercaseUrls = true, LowercaseQueryStrings = true }); - var address = CreateRouteValuesAddress( - explicitValues: new { action = "Index", ShowStatus = "True", INFO = "DETAILED" }, - ambientValues: new { controller = "Home" }); + var httpContext = CreateHttpContext(ambientValues: new { controller = "Home" }); // Act var link = linkGenerator.GetLink( - new LinkGeneratorContext + httpContext, + values: new { action = "Index", ShowStatus = "True", INFO = "DETAILED" }, + new LinkOptions { - Endpoints = new[] { endpoint }, - ExplicitValues = address.ExplicitValues, - AmbientValues = address.AmbientValues, LowercaseUrls = false, LowercaseQueryStrings = false }); @@ -466,18 +355,16 @@ namespace Microsoft.AspNetCore.Routing // Arrange var endpoint = EndpointFactory.CreateMatcherEndpoint("{controller}/{action}"); var linkGenerator = CreateLinkGenerator( + new[] { endpoint }, new RouteOptions() { LowercaseUrls = false, LowercaseQueryStrings = false }); - var address = CreateRouteValuesAddress( - explicitValues: new { action = "Index", ShowStatus = "True", INFO = "DETAILED" }, - ambientValues: new { controller = "Home" }); + var httpContext = CreateHttpContext(ambientValues: new { controller = "Home" }); // Act var link = linkGenerator.GetLink( - new LinkGeneratorContext + httpContext, + values: new { action = "Index", ShowStatus = "True", INFO = "DETAILED" }, + new LinkOptions { - Endpoints = new[] { endpoint }, - ExplicitValues = address.ExplicitValues, - AmbientValues = address.AmbientValues, LowercaseUrls = true, LowercaseQueryStrings = true }); @@ -491,18 +378,17 @@ namespace Microsoft.AspNetCore.Routing { // Arrange var endpoint = EndpointFactory.CreateMatcherEndpoint("{controller}/{action}"); - var linkGenerator = CreateLinkGenerator(new RouteOptions() { AppendTrailingSlash = false }); - var address = CreateRouteValuesAddress( - explicitValues: new { action = "Index" }, - ambientValues: new { controller = "Home" }); + var linkGenerator = CreateLinkGenerator( + new[] { endpoint }, + new RouteOptions() { AppendTrailingSlash = false }); + var httpContext = CreateHttpContext(ambientValues: new { controller = "Home" }); // Act var link = linkGenerator.GetLink( - new LinkGeneratorContext + httpContext, + values: new { action = "Index" }, + new LinkOptions { - Endpoints = new[] { endpoint }, - ExplicitValues = address.ExplicitValues, - AmbientValues = address.AmbientValues, AppendTrailingSlash = true }); @@ -514,23 +400,17 @@ namespace Microsoft.AspNetCore.Routing public void RouteGenerationRejectsConstraints() { // Arrange - var address = CreateRouteValuesAddress(new { p1 = "abcd" }); - var linkGenerator = CreateLinkGenerator(); - var endpoint = EndpointFactory.CreateMatcherEndpoint( "{p1}/{p2}", defaults: new { p2 = "catchall" }, constraints: new { p2 = "\\d{4}" }); + var linkGenerator = CreateLinkGenerator(endpoint); + var httpContext = CreateHttpContext(ambientValues: new { }); // Act var canGenerateLink = linkGenerator.TryGetLink( - new LinkGeneratorContext - { - HttpContext = new DefaultHttpContext(), - Endpoints = new[] { endpoint }, - ExplicitValues = address.ExplicitValues, - AmbientValues = address.AmbientValues - }, + httpContext, + new { p1 = "abcd" }, out var link); // Assert @@ -541,23 +421,17 @@ namespace Microsoft.AspNetCore.Routing public void RouteGenerationAcceptsConstraints() { // Arrange - var address = CreateRouteValuesAddress(new { p1 = "hello", p2 = "1234" }); - var linkGenerator = CreateLinkGenerator(); - var endpoint = EndpointFactory.CreateMatcherEndpoint( "{p1}/{p2}", defaults: new { p2 = "catchall" }, constraints: new { p2 = new RegexRouteConstraint("\\d{4}"), }); + var linkGenerator = CreateLinkGenerator(endpoint); + var httpContext = CreateHttpContext(ambientValues: new { }); // Act var canGenerateLink = linkGenerator.TryGetLink( - new LinkGeneratorContext - { - HttpContext = new DefaultHttpContext(), - Endpoints = new[] { endpoint }, - ExplicitValues = address.ExplicitValues, - AmbientValues = address.AmbientValues - }, + httpContext, + new { p1 = "hello", p2 = "1234" }, out var link); // Assert @@ -569,23 +443,17 @@ namespace Microsoft.AspNetCore.Routing public void RouteWithCatchAllRejectsConstraints() { // Arrange - var address = CreateRouteValuesAddress(new { p1 = "abcd" }); - var linkGenerator = CreateLinkGenerator(); - var endpoint = EndpointFactory.CreateMatcherEndpoint( "{p1}/{*p2}", defaults: new { p2 = "catchall" }, constraints: new { p2 = new RegexRouteConstraint("\\d{4}") }); + var linkGenerator = CreateLinkGenerator(endpoint); + var httpContext = CreateHttpContext(ambientValues: new { }); // Act var canGenerateLink = linkGenerator.TryGetLink( - new LinkGeneratorContext - { - HttpContext = new DefaultHttpContext(), - Endpoints = new[] { endpoint }, - ExplicitValues = address.ExplicitValues, - AmbientValues = address.AmbientValues - }, + httpContext, + new { p1 = "abcd" }, out var link); // Assert @@ -596,23 +464,17 @@ namespace Microsoft.AspNetCore.Routing public void RouteWithCatchAllAcceptsConstraints() { // Arrange - var address = CreateRouteValuesAddress(new { p1 = "hello", p2 = "1234" }); - var linkGenerator = CreateLinkGenerator(); - var endpoint = EndpointFactory.CreateMatcherEndpoint( "{p1}/{*p2}", defaults: new { p2 = "catchall" }, constraints: new { p2 = new RegexRouteConstraint("\\d{4}") }); + var linkGenerator = CreateLinkGenerator(endpoint); + var httpContext = CreateHttpContext(ambientValues: new { }); // Act var canGenerateLink = linkGenerator.TryGetLink( - new LinkGeneratorContext - { - HttpContext = new DefaultHttpContext(), - Endpoints = new[] { endpoint }, - ExplicitValues = address.ExplicitValues, - AmbientValues = address.AmbientValues - }, + httpContext, + new { p1 = "hello", p2 = "1234" }, out var link); // Assert @@ -624,8 +486,6 @@ namespace Microsoft.AspNetCore.Routing public void GetLinkWithNonParameterConstraintReturnsUrlWithoutQueryString() { // Arrange - var address = CreateRouteValuesAddress(new { p1 = "hello", p2 = "1234" }); - var linkGenerator = CreateLinkGenerator(); var target = new Mock(); target .Setup( @@ -637,21 +497,17 @@ namespace Microsoft.AspNetCore.Routing It.IsAny())) .Returns(true) .Verifiable(); - var endpoint = EndpointFactory.CreateMatcherEndpoint( "{p1}/{p2}", defaults: new { p2 = "catchall" }, constraints: new { p2 = target.Object }); + var linkGenerator = CreateLinkGenerator(endpoint); + var httpContext = CreateHttpContext(ambientValues: new { }); // Act var canGenerateLink = linkGenerator.TryGetLink( - new LinkGeneratorContext - { - HttpContext = new DefaultHttpContext(), - Endpoints = new[] { endpoint }, - ExplicitValues = address.ExplicitValues, - AmbientValues = address.AmbientValues - }, + httpContext, + new { p1 = "hello", p2 = "1234" }, out var link); // Assert @@ -667,28 +523,20 @@ namespace Microsoft.AspNetCore.Routing { // Arrange var constraint = new CapturingConstraint(); - var linkGenerator = CreateLinkGenerator(); var endpoint = EndpointFactory.CreateMatcherEndpoint( template: "slug/Home/Store", defaults: new { controller = "Home", action = "Store" }, constraints: new { c = constraint }); - - var address = CreateRouteValuesAddress( - explicitValues: new { action = "Store" }, + var linkGenerator = CreateLinkGenerator(endpoint); + var httpContext = CreateHttpContext( ambientValues: new { controller = "Home", action = "Blog", extra = "42" }); - var expectedValues = new RouteValueDictionary( new { controller = "Home", action = "Store", extra = "42" }); // Act var canGenerateLink = linkGenerator.TryGetLink( - new LinkGeneratorContext - { - HttpContext = new DefaultHttpContext(), - Endpoints = new[] { endpoint }, - ExplicitValues = address.ExplicitValues, - AmbientValues = address.AmbientValues - }, + httpContext, + new { action = "Store" }, out var link); // Assert @@ -704,28 +552,17 @@ namespace Microsoft.AspNetCore.Routing { // Arrange var constraint = new CapturingConstraint(); - var linkGenerator = CreateLinkGenerator(); var endpoint = EndpointFactory.CreateMatcherEndpoint( template: "slug/Home/Store", defaults: new { controller = "Home", action = "Store", otherthing = "17" }, constraints: new { c = constraint }); - - var address = CreateRouteValuesAddress( - explicitValues: new { action = "Store" }, - ambientValues: new { controller = "Home", action = "Blog" }); - + var linkGenerator = CreateLinkGenerator(endpoint); + var httpContext = CreateHttpContext(ambientValues: new { controller = "Home", action = "Blog" }); var expectedValues = new RouteValueDictionary( new { controller = "Home", action = "Store" }); // Act - var link = linkGenerator.GetLink( - new LinkGeneratorContext - { - HttpContext = new DefaultHttpContext(), - Endpoints = new[] { endpoint }, - ExplicitValues = address.ExplicitValues, - AmbientValues = address.AmbientValues - }); + var link = linkGenerator.GetLink(httpContext, new { action = "Store" }); // Assert Assert.Equal("/slug/Home/Store", link); @@ -738,28 +575,17 @@ namespace Microsoft.AspNetCore.Routing { // Arrange var constraint = new CapturingConstraint(); - var linkGenerator = CreateLinkGenerator(); var endpoint = EndpointFactory.CreateMatcherEndpoint( template: "slug/{controller}/{action}", defaults: new { action = "Index" }, constraints: new { c = constraint, }); - - var address = CreateRouteValuesAddress( - explicitValues: new { controller = "Shopping" }, - ambientValues: new { controller = "Home", action = "Blog" }); - + var linkGenerator = CreateLinkGenerator(endpoint); + var httpContext = CreateHttpContext(ambientValues: new { controller = "Home", action = "Blog" }); var expectedValues = new RouteValueDictionary( new { controller = "Shopping", action = "Index" }); // Act - var link = linkGenerator.GetLink( - new LinkGeneratorContext - { - HttpContext = new DefaultHttpContext(), - Endpoints = new[] { endpoint }, - ExplicitValues = address.ExplicitValues, - AmbientValues = address.AmbientValues - }); + var link = linkGenerator.GetLink(httpContext, new { controller = "Shopping" }); // Assert Assert.Equal("/slug/Shopping", link); @@ -773,14 +599,12 @@ namespace Microsoft.AspNetCore.Routing { // Arrange var constraint = new CapturingConstraint(); - var linkGenerator = CreateLinkGenerator(); var endpoint = EndpointFactory.CreateMatcherEndpoint( template: "slug/Home/Store", defaults: new { controller = "Home", action = "Store", otherthing = "17", thirdthing = "13" }, constraints: new { c = constraint, }); - - var address = CreateRouteValuesAddress( - explicitValues: new { action = "Store", thirdthing = "13" }, + var linkGenerator = CreateLinkGenerator(endpoint); + var httpContext = CreateHttpContext( ambientValues: new { controller = "Home", action = "Blog", otherthing = "17" }); var expectedValues = new RouteValueDictionary( @@ -788,13 +612,8 @@ namespace Microsoft.AspNetCore.Routing // Act var link = linkGenerator.GetLink( - new LinkGeneratorContext - { - HttpContext = new DefaultHttpContext(), - Endpoints = new[] { endpoint }, - ExplicitValues = address.ExplicitValues, - AmbientValues = address.AmbientValues - }); + httpContext, + new { action = "Store", thirdthing = "13" }); // Assert Assert.Equal("/slug/Home/Store", link); @@ -805,24 +624,17 @@ namespace Microsoft.AspNetCore.Routing public void GetLink_InlineConstraints_Success() { // Arrange - var linkGenerator = CreateLinkGenerator(); var endpoint = EndpointFactory.CreateMatcherEndpoint( template: "Home/Index/{id:int}", defaults: new { controller = "Home", action = "Index" }, constraints: new { }); - - var address = CreateRouteValuesAddress( - explicitValues: new { action = "Index", controller = "Home", id = 4 }); + var linkGenerator = CreateLinkGenerator(endpoint); + var httpContext = CreateHttpContext(new { }); // Act var link = linkGenerator.GetLink( - new LinkGeneratorContext - { - HttpContext = new DefaultHttpContext(), - Endpoints = new[] { endpoint }, - ExplicitValues = address.ExplicitValues, - AmbientValues = address.AmbientValues - }); + httpContext, + new { action = "Index", controller = "Home", id = 4 }); // Assert Assert.Equal("/Home/Index/4", link); @@ -832,24 +644,17 @@ namespace Microsoft.AspNetCore.Routing public void GetLink_InlineConstraints_NonMatchingvalue() { // Arrange - var linkGenerator = CreateLinkGenerator(); var endpoint = EndpointFactory.CreateMatcherEndpoint( template: "Home/Index/{id}", defaults: new { controller = "Home", action = "Index" }, constraints: new { id = "int" }); - - var address = CreateRouteValuesAddress( - explicitValues: new { action = "Index", controller = "Home", id = "not-an-integer" }); + var linkGenerator = CreateLinkGenerator(endpoint); + var httpContext = CreateHttpContext(ambientValues: new { }); // Act var canGenerateLink = linkGenerator.TryGetLink( - new LinkGeneratorContext - { - HttpContext = new DefaultHttpContext(), - Endpoints = new[] { endpoint }, - ExplicitValues = address.ExplicitValues, - AmbientValues = address.AmbientValues - }, + httpContext, + new { action = "Index", controller = "Home", id = "not-an-integer" }, out var link); // Assert @@ -860,23 +665,15 @@ namespace Microsoft.AspNetCore.Routing public void GetLink_InlineConstraints_OptionalParameter_ValuePresent() { // Arrange - var linkGenerator = CreateLinkGenerator(); var endpoint = EndpointFactory.CreateMatcherEndpoint( template: "Home/Index/{id:int?}", defaults: new { controller = "Home", action = "Index" }, constraints: new { }); - var address = CreateRouteValuesAddress( - explicitValues: new { action = "Index", controller = "Home", id = 98 }); + var linkGenerator = CreateLinkGenerator(endpoint); + var httpContext = CreateHttpContext(ambientValues: new { }); // Act - var link = linkGenerator.GetLink( - new LinkGeneratorContext - { - HttpContext = new DefaultHttpContext(), - Endpoints = new[] { endpoint }, - ExplicitValues = address.ExplicitValues, - AmbientValues = address.AmbientValues - }); + var link = linkGenerator.GetLink(httpContext, new { action = "Index", controller = "Home", id = 98 }); // Assert Assert.Equal("/Home/Index/98", link); @@ -886,24 +683,15 @@ namespace Microsoft.AspNetCore.Routing public void GetLink_InlineConstraints_OptionalParameter_ValueNotPresent() { // Arrange - var linkGenerator = CreateLinkGenerator(); var endpoint = EndpointFactory.CreateMatcherEndpoint( template: "Home/Index/{id?}", defaults: new { controller = "Home", action = "Index" }, constraints: new { id = "int" }); - - var address = CreateRouteValuesAddress( - explicitValues: new { action = "Index", controller = "Home" }); + var linkGenerator = CreateLinkGenerator(endpoint); + var httpContext = CreateHttpContext(ambientValues: new { }); // Act - var link = linkGenerator.GetLink( - new LinkGeneratorContext - { - HttpContext = new DefaultHttpContext(), - Endpoints = new[] { endpoint }, - ExplicitValues = address.ExplicitValues, - AmbientValues = address.AmbientValues - }); + var link = linkGenerator.GetLink(httpContext, new { action = "Index", controller = "Home" }); // Assert Assert.Equal("/Home/Index", link); @@ -913,24 +701,17 @@ namespace Microsoft.AspNetCore.Routing public void GetLink_InlineConstraints_OptionalParameter_ValuePresent_ConstraintFails() { // Arrange - var linkGenerator = CreateLinkGenerator(); var endpoint = EndpointFactory.CreateMatcherEndpoint( template: "Home/Index/{id?}", defaults: new { controller = "Home", action = "Index" }, constraints: new { id = "int" }); - - var address = CreateRouteValuesAddress( - explicitValues: new { action = "Index", controller = "Home", id = "not-an-integer" }); + var linkGenerator = CreateLinkGenerator(endpoint); + var httpContext = CreateHttpContext(ambientValues: new { }); // Act var canGenerateLink = linkGenerator.TryGetLink( - new LinkGeneratorContext - { - HttpContext = new DefaultHttpContext(), - Endpoints = new[] { endpoint }, - ExplicitValues = address.ExplicitValues, - AmbientValues = address.AmbientValues - }, + httpContext, + new { action = "Index", controller = "Home", id = "not-an-integer" }, out var link); // Assert @@ -941,24 +722,17 @@ namespace Microsoft.AspNetCore.Routing public void GetLink_InlineConstraints_MultipleInlineConstraints() { // Arrange - var linkGenerator = CreateLinkGenerator(); var endpoint = EndpointFactory.CreateMatcherEndpoint( template: "Home/Index/{id:int:range(1,20)}", defaults: new { controller = "Home", action = "Index" }, constraints: new { }); - - var address = CreateRouteValuesAddress( - explicitValues: new { action = "Index", controller = "Home", id = 14 }); + var linkGenerator = CreateLinkGenerator(endpoint); + var httpContext = CreateHttpContext(ambientValues: new { }); // Act var link = linkGenerator.GetLink( - new LinkGeneratorContext - { - HttpContext = new DefaultHttpContext(), - Endpoints = new[] { endpoint }, - ExplicitValues = address.ExplicitValues, - AmbientValues = address.AmbientValues - }); + httpContext, + new { action = "Index", controller = "Home", id = 14 }); // Assert Assert.Equal("/Home/Index/14", link); @@ -968,24 +742,17 @@ namespace Microsoft.AspNetCore.Routing public void GetLink_InlineConstraints_CompositeInlineConstraint_Fails() { // Arrange - var linkGenerator = CreateLinkGenerator(); var endpoint = EndpointFactory.CreateMatcherEndpoint( template: "Home/Index/{id:int:range(1,20)}", defaults: new { controller = "Home", action = "Index" }, constraints: new { }); - - var address = CreateRouteValuesAddress( - explicitValues: new { action = "Index", controller = "Home", id = 50 }); + var linkGenerator = CreateLinkGenerator(endpoint); + var httpContext = CreateHttpContext(ambientValues: new { }); // Act var canGenerateLink = linkGenerator.TryGetLink( - new LinkGeneratorContext - { - HttpContext = new DefaultHttpContext(), - Endpoints = new[] { endpoint }, - ExplicitValues = address.ExplicitValues, - AmbientValues = address.AmbientValues - }, + httpContext, + new { action = "Index", controller = "Home", id = 50 }, out var link); // Assert @@ -997,24 +764,17 @@ namespace Microsoft.AspNetCore.Routing { // Arrange var constraint = new MaxLengthRouteConstraint(20); - var linkGenerator = CreateLinkGenerator(); var endpoint = EndpointFactory.CreateMatcherEndpoint( template: "Home/Index/{name}", defaults: new { controller = "Home", action = "Index" }, constraints: new { name = constraint }); - - var address = CreateRouteValuesAddress( - explicitValues: new { action = "Index", controller = "Home", name = "products" }); + var linkGenerator = CreateLinkGenerator(endpoint); + var httpContext = CreateHttpContext(ambientValues: new { }); // Act var link = linkGenerator.GetLink( - new LinkGeneratorContext - { - HttpContext = new DefaultHttpContext(), - Endpoints = new[] { endpoint }, - ExplicitValues = address.ExplicitValues, - AmbientValues = address.AmbientValues - }); + httpContext, + new { action = "Index", controller = "Home", name = "products" }); // Assert Assert.Equal("/Home/Index/products", link); @@ -1025,18 +785,13 @@ namespace Microsoft.AspNetCore.Routing { // Arrange var endpoint = EndpointFactory.CreateMatcherEndpoint("{controller}/{action}/{name?}"); - var linkGenerator = CreateLinkGenerator(); - var address = CreateRouteValuesAddress( - explicitValues: new { action = "Index", controller = "Home", name = "products" }); + var linkGenerator = CreateLinkGenerator(endpoint); + var httpContext = CreateHttpContext(ambientValues: new { }); // Act var link = linkGenerator.GetLink( - new LinkGeneratorContext - { - Endpoints = new[] { endpoint }, - ExplicitValues = address.ExplicitValues, - AmbientValues = address.AmbientValues - }); + httpContext, + new { action = "Index", controller = "Home", name = "products" }); // Assert Assert.Equal("/Home/Index/products", link); @@ -1047,18 +802,13 @@ namespace Microsoft.AspNetCore.Routing { // Arrange var endpoint = EndpointFactory.CreateMatcherEndpoint("{controller}/{action}/{name?}"); - var linkGenerator = CreateLinkGenerator(); - var address = CreateRouteValuesAddress( - explicitValues: new { action = "Index", controller = "Home" }); + var linkGenerator = CreateLinkGenerator(endpoint); + var httpContext = CreateHttpContext(ambientValues: new { }); // Act var link = linkGenerator.GetLink( - new LinkGeneratorContext - { - Endpoints = new[] { endpoint }, - ExplicitValues = address.ExplicitValues, - AmbientValues = address.AmbientValues - }); + httpContext, + new { action = "Index", controller = "Home" }); // Assert Assert.Equal("/Home/Index", link); @@ -1071,18 +821,13 @@ namespace Microsoft.AspNetCore.Routing var endpoint = EndpointFactory.CreateMatcherEndpoint( template: "{controller}/{action}/{name}", defaults: new { name = "default-products" }); - var linkGenerator = CreateLinkGenerator(); - var address = CreateRouteValuesAddress( - explicitValues: new { action = "Index", controller = "Home", name = "products" }); + var linkGenerator = CreateLinkGenerator(endpoint); + var httpContext = CreateHttpContext(ambientValues: new { }); // Act var link = linkGenerator.GetLink( - new LinkGeneratorContext - { - Endpoints = new[] { endpoint }, - ExplicitValues = address.ExplicitValues, - AmbientValues = address.AmbientValues - }); + httpContext, + new { action = "Index", controller = "Home", name = "products" }); // Assert Assert.Equal("/Home/Index/products", link); @@ -1095,18 +840,13 @@ namespace Microsoft.AspNetCore.Routing var endpoint = EndpointFactory.CreateMatcherEndpoint( template: "{controller}/{action}/{name}", defaults: new { name = "products" }); - var linkGenerator = CreateLinkGenerator(); - var address = CreateRouteValuesAddress( - explicitValues: new { action = "Index", controller = "Home" }); + var linkGenerator = CreateLinkGenerator(endpoint); + var httpContext = CreateHttpContext(ambientValues: new { }); // Act var link = linkGenerator.GetLink( - new LinkGeneratorContext - { - Endpoints = new[] { endpoint }, - ExplicitValues = address.ExplicitValues, - AmbientValues = address.AmbientValues - }); + httpContext, + new { action = "Index", controller = "Home" }); // Assert Assert.Equal("/Home/Index", link); @@ -1117,18 +857,13 @@ namespace Microsoft.AspNetCore.Routing { // Arrange var endpoint = EndpointFactory.CreateMatcherEndpoint("{controller}/{action}/{name}"); - var linkGenerator = CreateLinkGenerator(); - var address = CreateRouteValuesAddress( - explicitValues: new { action = "Index", controller = "Home", name = "products", format = "json" }); + var linkGenerator = CreateLinkGenerator(endpoint); + var httpContext = CreateHttpContext(ambientValues: new { }); // Act var link = linkGenerator.GetLink( - new LinkGeneratorContext - { - Endpoints = new[] { endpoint }, - ExplicitValues = address.ExplicitValues, - AmbientValues = address.AmbientValues - }); + httpContext, + new { action = "Index", controller = "Home", name = "products", format = "json" }); // Assert Assert.Equal("/Home/Index/products?format=json", link); @@ -1138,22 +873,15 @@ namespace Microsoft.AspNetCore.Routing public void GetLink_OptionalParameter_FollowedByDotAfterSlash_ParameterPresent() { // Arrange - var linkGenerator = CreateLinkGenerator(); var endpoint = EndpointFactory.CreateMatcherEndpoint( template: "{controller}/{action}/.{name?}"); - - var address = CreateRouteValuesAddress( - explicitValues: new { action = "Index", controller = "Home", name = "products" }); + var linkGenerator = CreateLinkGenerator(endpoint); + var httpContext = CreateHttpContext(ambientValues: new { }); // Act var link = linkGenerator.GetLink( - new LinkGeneratorContext - { - HttpContext = new DefaultHttpContext(), - Endpoints = new[] { endpoint }, - ExplicitValues = address.ExplicitValues, - AmbientValues = address.AmbientValues - }); + httpContext, + new { action = "Index", controller = "Home", name = "products" }); // Assert Assert.Equal("/Home/Index/.products", link); @@ -1163,21 +891,12 @@ namespace Microsoft.AspNetCore.Routing public void GetLink_OptionalParameter_FollowedByDotAfterSlash_ParameterNotPresent() { // Arrange - var linkGenerator = CreateLinkGenerator(); var endpoint = EndpointFactory.CreateMatcherEndpoint("{controller}/{action}/.{name?}"); - - var address = CreateRouteValuesAddress( - explicitValues: new { action = "Index", controller = "Home" }); + var linkGenerator = CreateLinkGenerator(endpoint); + var httpContext = CreateHttpContext(ambientValues: new { }); // Act - var link = linkGenerator.GetLink( - new LinkGeneratorContext - { - HttpContext = new DefaultHttpContext(), - Endpoints = new[] { endpoint }, - ExplicitValues = address.ExplicitValues, - AmbientValues = address.AmbientValues - }); + var link = linkGenerator.GetLink(httpContext, new { action = "Index", controller = "Home" }); // Assert Assert.Equal("/Home/Index/", link); @@ -1188,18 +907,11 @@ namespace Microsoft.AspNetCore.Routing { // Arrange var endpoint = EndpointFactory.CreateMatcherEndpoint("{controller}/{action}/{name?}"); - var linkGenerator = CreateLinkGenerator(); - var address = CreateRouteValuesAddress( - explicitValues: new { action = "Index", controller = "Home" }); + var linkGenerator = CreateLinkGenerator(endpoint); + var httpContext = CreateHttpContext(ambientValues: new { }); // Act - var link = linkGenerator.GetLink( - new LinkGeneratorContext - { - Endpoints = new[] { endpoint }, - ExplicitValues = address.ExplicitValues, - AmbientValues = address.AmbientValues - }); + var link = linkGenerator.GetLink(httpContext, new { action = "Index", controller = "Home" }); // Assert Assert.Equal("/Home/Index", link); @@ -1210,19 +922,11 @@ namespace Microsoft.AspNetCore.Routing { // Arrange var endpoint = EndpointFactory.CreateMatcherEndpoint("a/{b=15}/{c?}/{d?}"); - var linkGenerator = CreateLinkGenerator(); - var address = CreateRouteValuesAddress( - explicitValues: new { }, - ambientValues: new { c = "17" }); + var linkGenerator = CreateLinkGenerator(endpoint); + var httpContext = CreateHttpContext(ambientValues: new { c = "17" }); // Act - var link = linkGenerator.GetLink( - new LinkGeneratorContext - { - Endpoints = new[] { endpoint }, - ExplicitValues = address.ExplicitValues, - AmbientValues = address.AmbientValues - }); + var link = linkGenerator.GetLink(httpContext, new { }); // Assert Assert.Equal("/a/15/17", link); @@ -1233,19 +937,11 @@ namespace Microsoft.AspNetCore.Routing { // Arrange var endpoint = EndpointFactory.CreateMatcherEndpoint("a/{b=15}/{c?}"); - var linkGenerator = CreateLinkGenerator(); - var address = CreateRouteValuesAddress( - explicitValues: new { }, - ambientValues: new { c = "17" }); + var linkGenerator = CreateLinkGenerator(endpoint); + var httpContext = CreateHttpContext(ambientValues: new { c = "17" }); // Act - var link = linkGenerator.GetLink( - new LinkGeneratorContext - { - Endpoints = new[] { endpoint }, - ExplicitValues = address.ExplicitValues, - AmbientValues = address.AmbientValues - }); + var link = linkGenerator.GetLink(httpContext, new { }); // Assert Assert.Equal("/a/15/17", link); @@ -1256,19 +952,11 @@ namespace Microsoft.AspNetCore.Routing { // Arrange var endpoint = EndpointFactory.CreateMatcherEndpoint("a/{b=15}/{c?}/{d?}"); - var linkGenerator = CreateLinkGenerator(); - var address = CreateRouteValuesAddress( - explicitValues: new { }, - ambientValues: new { d = "17" }); + var linkGenerator = CreateLinkGenerator(endpoint); + var httpContext = CreateHttpContext(ambientValues: new { d = "17" }); // Act - var link = linkGenerator.GetLink( - new LinkGeneratorContext - { - Endpoints = new[] { endpoint }, - ExplicitValues = address.ExplicitValues, - AmbientValues = address.AmbientValues - }); + var link = linkGenerator.GetLink(httpContext, new { }); // Assert Assert.Equal("/a", link); @@ -1360,19 +1048,13 @@ namespace Microsoft.AspNetCore.Routing "Products/Edit/{id}", requiredValues: requiredValues, defaults: defaults); - var linkGenerator = CreateLinkGenerator(); - var address = CreateRouteValuesAddress( - explicitValues: explicitValues, - ambientValues: ambientValues); + var linkGenerator = CreateLinkGenerator(endpoint); + var httpContext = CreateHttpContext(ambientValues); // Act var canGenerateLink = linkGenerator.TryGetLink( - new LinkGeneratorContext - { - Endpoints = new[] { endpoint }, - ExplicitValues = address.ExplicitValues, - AmbientValues = address.AmbientValues - }, + httpContext, + new RouteValueDictionary(explicitValues), out var link); // Assert @@ -1390,19 +1072,13 @@ namespace Microsoft.AspNetCore.Routing "Products/Edit/{id}", requiredValues: new { c = "Products", a = "Edit" }, defaults: new { c = "Products", a = "Edit" }); - var linkGenerator = CreateLinkGenerator(); - var address = CreateRouteValuesAddress( - explicitValues: new { c = "Products", a = "Edit" }, - ambientValues: new { c = "Products", a = "Edit", id = 10 }); + var linkGenerator = CreateLinkGenerator(endpoint); + var httpContext = CreateHttpContext(ambientValues: new { c = "Products", a = "Edit", id = 10 }); // Act var canGenerateLink = linkGenerator.TryGetLink( - new LinkGeneratorContext - { - Endpoints = new[] { endpoint }, - ExplicitValues = address.ExplicitValues, - AmbientValues = address.AmbientValues - }, + httpContext, + new { c = "Products", a = "Edit" }, out var link); // Assert @@ -1420,19 +1096,13 @@ namespace Microsoft.AspNetCore.Routing "Products/Edit/{id}", requiredValues: new { c = "Products", a = "Edit" }, defaults: new { c = "Products", a = "Edit" }); - var linkGenerator = CreateLinkGenerator(); - var address = CreateRouteValuesAddress( - explicitValues: new { c = "Products", a = "List" }, - ambientValues: new { c = "Products", a = "Edit", id = 10 }); + var linkGenerator = CreateLinkGenerator(endpoint); + var httpContext = CreateHttpContext(ambientValues: new { c = "Products", a = "Edit", id = 10 }); // Act var canGenerateLink = linkGenerator.TryGetLink( - new LinkGeneratorContext - { - Endpoints = new[] { endpoint }, - ExplicitValues = address.ExplicitValues, - AmbientValues = address.AmbientValues - }, + httpContext, + new { c = "Products", a = "List" }, out var link); // Assert @@ -1532,19 +1202,13 @@ namespace Microsoft.AspNetCore.Routing "Products/Edit/{id}", requiredValues: requiredValues, defaults: defaults); - var linkGenerator = CreateLinkGenerator(); - var address = CreateRouteValuesAddress( - explicitValues: explicitValues, - ambientValues: ambientValues); + var linkGenerator = CreateLinkGenerator(endpoint); + var httpContext = CreateHttpContext(ambientValues); // Act var canGenerateLink = linkGenerator.TryGetLink( - new LinkGeneratorContext - { - Endpoints = new[] { endpoint }, - ExplicitValues = address.ExplicitValues, - AmbientValues = address.AmbientValues - }, + httpContext, + new RouteValueDictionary(explicitValues), out var link); // Assert @@ -1552,27 +1216,154 @@ namespace Microsoft.AspNetCore.Routing Assert.Null(link); } - private RouteValuesAddress CreateRouteValuesAddress( - object explicitValues, - object ambientValues = null) + [Fact] + public void TryGetLink_WithCustomAddress_CanGenerateLink() { - var address = new RouteValuesAddress(); - address.ExplicitValues = new RouteValueDictionary(explicitValues); - address.AmbientValues = new RouteValueDictionary(ambientValues); - return address; + // Arrange + var services = GetBasicServices(); + services.TryAddEnumerable( + ServiceDescriptor.Singleton, EndpointFinderByName>()); + var endpoint1 = EndpointFactory.CreateMatcherEndpoint( + "Products/Details/{id}", + requiredValues: new { controller = "Products", action = "Details" }, + defaults: new { controller = "Products", action = "Details" }); + var endpoint2 = EndpointFactory.CreateMatcherEndpoint( + "Customers/Details/{id}", + requiredValues: new { controller = "Customers", action = "Details" }, + defaults: new { controller = "Customers", action = "Details" }, + metadata: new NameMetadata("CustomerDetails")); + var linkGenerator = CreateLinkGenerator(new[] { endpoint1, endpoint2 }, new RouteOptions(), services); + var httpContext = CreateHttpContext(ambientValues: new { }); + + // Act + var canGenerateLink = linkGenerator.TryGetLinkByAddress( + address: new NameMetadata("CustomerDetails"), + httpContext, + values: new { id = 10 }, + out var link); + + // Assert + Assert.True(canGenerateLink); + Assert.Equal("/Customers/Details/10", link); } - private LinkGenerator CreateLinkGenerator(RouteOptions routeOptions = null) + [Fact] + public void TryGetLink_WithCustomAddress_CanGenerateLink_RespectsLinkOptions_SuppliedAtCallSite() { + // Arrange + var services = GetBasicServices(); + services.TryAddEnumerable( + ServiceDescriptor.Singleton, EndpointFinderByName>()); + var endpoint1 = EndpointFactory.CreateMatcherEndpoint( + "Products/Details/{id}", + requiredValues: new { controller = "Products", action = "Details" }, + defaults: new { controller = "Products", action = "Details" }); + var endpoint2 = EndpointFactory.CreateMatcherEndpoint( + "Customers/Details/{id}", + requiredValues: new { controller = "Customers", action = "Details" }, + defaults: new { controller = "Customers", action = "Details" }, + metadata: new NameMetadata("CustomerDetails")); + var linkGenerator = CreateLinkGenerator(new[] { endpoint1, endpoint2 }, new RouteOptions(), services); + var httpContext = CreateHttpContext(ambientValues: new { }); + + // Act + var canGenerateLink = linkGenerator.TryGetLinkByAddress( + address: new NameMetadata("CustomerDetails"), + httpContext, + values: new { id = 10 }, + new LinkOptions + { + LowercaseUrls = true + }, + out var link); + + // Assert + Assert.True(canGenerateLink); + Assert.Equal("/customers/details/10", link); + } + + private LinkGenerator CreateLinkGenerator(params Endpoint[] endpoints) + { + return CreateLinkGenerator(endpoints, routeOptions: null); + } + + private LinkGenerator CreateLinkGenerator( + Endpoint[] endpoints, + RouteOptions routeOptions, + ServiceCollection services = null) + { + if (services == null) + { + services = GetBasicServices(); + } + + if (endpoints != null || endpoints.Length > 0) + { + services.Configure(o => + { + o.DataSources.Add(new DefaultEndpointDataSource(endpoints)); + }); + } + routeOptions = routeOptions ?? new RouteOptions(); var options = Options.Create(routeOptions); + var serviceProvider = services.BuildServiceProvider(); + return new DefaultLinkGenerator( - new DefaultMatchProcessorFactory( - options, - Mock.Of()), + new DefaultMatchProcessorFactory(options, serviceProvider), new DefaultObjectPool(new UriBuilderContextPooledObjectPolicy()), options, - NullLogger.Instance); + NullLogger.Instance, + serviceProvider); + } + + private HttpContext CreateHttpContext(object ambientValues) + { + var httpContext = new DefaultHttpContext(); + httpContext.Features.Set(new EndpointFeature + { + Values = new RouteValueDictionary(ambientValues) + }); + return httpContext; + } + + private ServiceCollection GetBasicServices() + { + var services = new ServiceCollection(); + services.AddSingleton(); + services.AddOptions(); + services.AddRouting(); + services.AddLogging(); + return services; + } + + private class EndpointFinderByName : IEndpointFinder + { + private readonly CompositeEndpointDataSource _dataSource; + + public EndpointFinderByName(CompositeEndpointDataSource dataSource) + { + _dataSource = dataSource; + } + + public IEnumerable FindEndpoints(INameMetadata address) + { + var endpoint = _dataSource.Endpoints.SingleOrDefault(e => + { + var nameMetadata = e.Metadata.GetMetadata(); + return nameMetadata != null && string.Equals(address.Name, nameMetadata.Name); + }); + return new[] { endpoint }; + } + } + + private class NameMetadata : INameMetadata + { + public NameMetadata(string name) + { + Name = name; + } + public string Name { get; } } } } From c8946a40e4311b535d50a79c35279f1a4ca27255 Mon Sep 17 00:00:00 2001 From: Kiran Challa Date: Thu, 2 Aug 2018 07:43:11 -0700 Subject: [PATCH 113/221] Created LinkGenerationTemplate and friends --- .../LinkGenerationTemplate.cs | 29 ++ .../LinkGenerator.cs | 326 +++++++++++++++++- .../DefaultLinkGenerationTemplate.cs | 62 ++++ .../DefaultLinkGenerator.cs | 167 +++++++-- .../IEndpointFinderOfT.cs | 9 + .../DefaultLinkGeneratorTest.cs | 188 +++++++++- 6 files changed, 729 insertions(+), 52 deletions(-) create mode 100644 src/Microsoft.AspNetCore.Routing.Abstractions/LinkGenerationTemplate.cs create mode 100644 src/Microsoft.AspNetCore.Routing/DefaultLinkGenerationTemplate.cs diff --git a/src/Microsoft.AspNetCore.Routing.Abstractions/LinkGenerationTemplate.cs b/src/Microsoft.AspNetCore.Routing.Abstractions/LinkGenerationTemplate.cs new file mode 100644 index 0000000000..ec3736228a --- /dev/null +++ b/src/Microsoft.AspNetCore.Routing.Abstractions/LinkGenerationTemplate.cs @@ -0,0 +1,29 @@ +// Copyright (c) .NET Foundation. All rights reserved. +// Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information. + +namespace Microsoft.AspNetCore.Routing +{ + /// + /// Defines a contract to generate a URL from a template. + /// + public abstract class LinkGenerationTemplate + { + /// + /// Generates a URL with an absolute path from the specified route values. + /// + /// An object that contains route values. + /// The generated URL. + public string MakeUrl(object values) + { + return MakeUrl(values, options: null); + } + + /// + /// Generates a URL with an absolute path from the specified route values and link options. + /// + /// An object that contains route values. + /// The . + /// The generated URL. + public abstract string MakeUrl(object values, LinkOptions options); + } +} \ No newline at end of file diff --git a/src/Microsoft.AspNetCore.Routing.Abstractions/LinkGenerator.cs b/src/Microsoft.AspNetCore.Routing.Abstractions/LinkGenerator.cs index f4101a609a..35b9456bf6 100644 --- a/src/Microsoft.AspNetCore.Routing.Abstractions/LinkGenerator.cs +++ b/src/Microsoft.AspNetCore.Routing.Abstractions/LinkGenerator.cs @@ -6,78 +6,191 @@ using Microsoft.AspNetCore.Http; namespace Microsoft.AspNetCore.Routing { + /// + /// Defines a contract to generate URLs to endpoints. + /// public abstract class LinkGenerator { + /// + /// Generates a URL with an absolute path from the specified route values. + /// + /// An object that contains route values. + /// The generated URL. public string GetLink(object values) { return GetLink(httpContext: null, routeName: null, values, options: null); } + /// + /// Generates a URL with an absolute path from the specified route values and link options. + /// + /// An object that contains route values. + /// The . + /// The generated URL. public string GetLink(object values, LinkOptions options) { return GetLink(httpContext: null, routeName: null, values, options); } + /// + /// Generates a URL with an absolute path from the specified route values. + /// A return value indicates whether the operation succeeded. + /// + /// An object that contains route values. + /// The generated URL. + /// true if a URL was generated successfully; otherwise, false. public bool TryGetLink(object values, out string link) { return TryGetLink(httpContext: null, routeName: null, values, options: null, out link); } + /// + /// Generates a URL with an absolute path from the specified route values and link options. + /// A return value indicates whether the operation succeeded. + /// + /// An object that contains route values. + /// The . + /// The generated URL. + /// true if a URL was generated successfully; otherwise, false. public bool TryGetLink(object values, LinkOptions options, out string link) { return TryGetLink(httpContext: null, routeName: null, values, options, out link); } + /// + /// Generates a URL with an absolute path from the specified route values. + /// + /// The associated with current request. + /// An object that contains route values. + /// The generated URL. public string GetLink(HttpContext httpContext, object values) { return GetLink(httpContext, routeName: null, values, options: null); } + /// + /// Generates a URL with an absolute path from the specified route values. + /// A return value indicates whether the operation succeeded. + /// + /// The associated with current request. + /// An object that contains route values. + /// The generated URL. + /// true if a URL was generated successfully; otherwise, false. public bool TryGetLink(HttpContext httpContext, object values, out string link) { return TryGetLink(httpContext, routeName: null, values, options: null, out link); } + /// + /// Generates a URL with an absolute path from the specified route values and link options. + /// + /// The associated with current request. + /// An object that contains route values. + /// The . + /// The generated URL. public string GetLink(HttpContext httpContext, object values, LinkOptions options) { return GetLink(httpContext, routeName: null, values, options); } + /// + /// Generates a URL with an absolute path from the specified route values and link options. + /// A return value indicates whether the operation succeeded. + /// + /// The associated with current request. + /// An object that contains route values. + /// The . + /// The generated URL. + /// true if a URL was generated successfully; otherwise, false. public bool TryGetLink(HttpContext httpContext, object values, LinkOptions options, out string link) { return TryGetLink(httpContext, routeName: null, values, options, out link); } + /// + /// Generates a URL with an absolute path from the specified route name and route values. + /// + /// The name of the route to generate the URL to. + /// An object that contains route values. + /// The generated URL. public string GetLink(string routeName, object values) { return GetLink(httpContext: null, routeName, values, options: null); } + /// + /// Generates a URL with an absolute path from the specified route name and route values. + /// A return value indicates whether the operation succeeded. + /// + /// The name of the route to generate the URL to. + /// An object that contains route values. + /// The generated URL. + /// true if a URL was generated successfully; otherwise, false. public bool TryGetLink(string routeName, object values, out string link) { return TryGetLink(httpContext: null, routeName, values, options: null, out link); } + /// + /// Generates a URL with an absolute path from the specified route name and route values. + /// + /// The name of the route to generate the URL to. + /// An object that contains route values. + /// The . + /// The generated URL. public string GetLink(string routeName, object values, LinkOptions options) { return GetLink(httpContext: null, routeName, values, options); } + /// + /// Generates a URL with an absolute path from the specified route name, route values and link options. + /// A return value indicates whether the operation succeeded. + /// + /// The name of the route to generate the URL to. + /// An object that contains route values. + /// The . + /// The generated URL. + /// true if a URL was generated successfully; otherwise, false. public bool TryGetLink(string routeName, object values, LinkOptions options, out string link) { return TryGetLink(httpContext: null, routeName, values, options, out link); } + /// + /// Generates a URL with an absolute path from the specified route name and route values. + /// + /// The name of the route to generate the URL to. + /// The associated with current request. + /// An object that contains route values. + /// The generated URL. public string GetLink(HttpContext httpContext, string routeName, object values) { return GetLink(httpContext, routeName, values, options: null); } + /// + /// Generates a URL with an absolute path from the specified route name and route values. + /// A return value indicates whether the operation succeeded. + /// + /// The associated with current request. + /// The name of the route to generate the URL to. + /// An object that contains route values. + /// The generated URL. + /// true if a URL was generated successfully; otherwise, false. public bool TryGetLink(HttpContext httpContext, string routeName, object values, out string link) { return TryGetLink(httpContext, routeName, values, options: null, out link); } + /// + /// Generates a URL with an absolute path from the specified route name, route values and link options. + /// + /// The name of the route to generate the URL to. + /// The associated with current request. + /// An object that contains route values. + /// The . + /// The generated URL. public string GetLink(HttpContext httpContext, string routeName, object values, LinkOptions options) { if (TryGetLink(httpContext, routeName, values, options, out var link)) @@ -88,6 +201,16 @@ namespace Microsoft.AspNetCore.Routing throw new InvalidOperationException("Could not find a matching endpoint to generate a link."); } + /// + /// Generates a URL with an absolute path from the specified route name, route values and link options. + /// A return value indicates whether the operation succeeded. + /// + /// The associated with current request. + /// The name of the route to generate the URL to. + /// An object that contains route values. + /// The . + /// The generated URL. + /// true if a URL was generated successfully; otherwise, false. public abstract bool TryGetLink( HttpContext httpContext, string routeName, @@ -95,51 +218,119 @@ namespace Microsoft.AspNetCore.Routing LinkOptions options, out string link); + /// + /// Generates a URL with an absolute path from the specified lookup information and route values. + /// This lookup information is used to find endpoints using a registered 'IEndpointFinder<TAddress>'. + /// + /// The address type to look up endpoints. + /// The information used to look up endpoints for generating a URL. + /// An object that contains route values. + /// The generated URL. public string GetLinkByAddress(TAddress address, object values) { - return GetLinkByAddress(address, httpContext: null, values, options: null); + return GetLinkByAddress(httpContext: null, address, values, options: null); } + /// + /// Generates a URL with an absolute path from the specified lookup information and route values. + /// This lookup information is used to find endpoints using a registered 'IEndpointFinder<TAddress>'. + /// A return value indicates whether the operation succeeded. + /// + /// The address type to look up endpoints. + /// The information used to look up endpoints for generating a URL. + /// An object that contains route values. + /// The generated URL. + /// true if a URL was generated successfully; otherwise, false. public bool TryGetLinkByAddress(TAddress address, object values, out string link) { return TryGetLinkByAddress(address, values, options: null, out link); } + /// + /// Generates a URL with an absolute path from the specified lookup information, route values and link options. + /// This lookup information is used to find endpoints using a registered 'IEndpointFinder<TAddress>'. + /// + /// The address type to look up endpoints. + /// The information used to look up endpoints for generating a URL. + /// An object that contains route values. + /// The . + /// The generated URL. public string GetLinkByAddress(TAddress address, object values, LinkOptions options) { - return GetLinkByAddress(address, httpContext: null, values, options); + return GetLinkByAddress(httpContext: null, address, values, options); } + /// + /// Generates a URL with an absolute path from the specified lookup information, route values and link options. + /// This lookup information is used to find endpoints using a registered 'IEndpointFinder<TAddress>'. + /// A return value indicates whether the operation succeeded. + /// + /// The address type to look up endpoints. + /// The information used to look up endpoints for generating a URL. + /// An object that contains route values. + /// The . + /// The generated URL. + /// true if a URL was generated successfully; otherwise, false. public bool TryGetLinkByAddress( TAddress address, object values, LinkOptions options, out string link) { - return TryGetLinkByAddress(address, httpContext: null, values, options, out link); + return TryGetLinkByAddress(httpContext: null, address, values, options, out link); } - public string GetLinkByAddress(TAddress address, HttpContext httpContext, object values) + /// + /// Generates a URL with an absolute path from the specified lookup information, route values and link options. + /// This lookup information is used to find endpoints using a registered 'IEndpointFinder<TAddress>'. + /// + /// The address type to look up endpoints. + /// The information used to look up endpoints for generating a URL. + /// The associated with current request. + /// An object that contains route values. + /// The generated URL. + public string GetLinkByAddress(HttpContext httpContext, TAddress address, object values) { - return GetLinkByAddress(address, httpContext, values, options: null); + return GetLinkByAddress(httpContext, address, values, options: null); } + /// + /// Generates a URL with an absolute path from the specified lookup information and route values. + /// This lookup information is used to find endpoints using a registered 'IEndpointFinder<TAddress>'. + /// A return value indicates whether the operation succeeded. + /// + /// The address type to look up endpoints. + /// The information used to look up endpoints for generating a URL. + /// The associated with current request. + /// An object that contains route values. + /// The generated URL. + /// true if a URL was generated successfully; otherwise, false. public bool TryGetLinkByAddress( - TAddress address, HttpContext httpContext, + TAddress address, object values, out string link) { - return TryGetLinkByAddress(address, httpContext, values, options: null, out link); + return TryGetLinkByAddress(httpContext, address, values, options: null, out link); } + /// + /// Generates a URL with an absolute path from the specified lookup information, route values and link options. + /// This lookup information is used to find endpoints using a registered 'IEndpointFinder<TAddress>'. + /// + /// The address type to look up endpoints. + /// The information used to look up endpoints for generating a URL. + /// The associated with current request. + /// An object that contains route values. + /// The . + /// The generated URL. public string GetLinkByAddress( - TAddress address, HttpContext httpContext, + TAddress address, object values, LinkOptions options) { - if (TryGetLinkByAddress(address, httpContext, values, options, out var link)) + if (TryGetLinkByAddress(httpContext, address, values, options, out var link)) { return link; } @@ -147,11 +338,126 @@ namespace Microsoft.AspNetCore.Routing throw new InvalidOperationException("Could not find a matching endpoint to generate a link."); } + /// + /// Generates a URL with an absolute path from the specified lookup information, route values and link options. + /// This lookup information is used to find endpoints using a registered 'IEndpointFinder<TAddress>'. + /// A return value indicates whether the operation succeeded. + /// + /// The address type to look up endpoints. + /// The information used to look up endpoints for generating a URL. + /// The associated with current request. + /// An object that contains route values. + /// The . + /// The generated URL. + /// true if a URL was generated successfully; otherwise, false. public abstract bool TryGetLinkByAddress( - TAddress address, HttpContext httpContext, + TAddress address, object values, LinkOptions options, out string link); + + /// + /// Gets a to generate a URL from the specified route values. + /// This template object holds information of the endpoint(s) that were found and which can later be used to + /// generate a URL using the api. + /// + /// + /// An object that contains route values. These values are used to lookup endpoint(s). + /// + /// + /// If an endpoint(s) was found successfully, then this returns a template object representing that, + /// null otherwise. + /// + public LinkGenerationTemplate GetTemplate(object values) + { + return GetTemplate(httpContext: null, routeName: null, values); + } + + /// + /// Gets a to generate a URL from the specified route name and route values. + /// This template object holds information of the endpoint(s) that were found and which can later be used to + /// generate a URL using the api. + /// + /// The name of the route to generate the URL to. + /// + /// An object that contains route values. These values are used to lookup for endpoint(s). + /// + /// + /// If an endpoint(s) was found successfully, then this returns a template object representing that, + /// null otherwise. + /// + public LinkGenerationTemplate GetTemplate(string routeName, object values) + { + return GetTemplate(httpContext: null, routeName, values); + } + + /// + /// Gets a to generate a URL from the specified route values. + /// This template object holds information of the endpoint(s) that were found and which can later be used to + /// generate a URL using the api. + /// + /// The associated with current request. + /// + /// An object that contains route values. These values are used to lookup for endpoint(s). + /// + /// + /// If an endpoint(s) was found successfully, then this returns a template object representing that, + /// null otherwise. + /// + public LinkGenerationTemplate GetTemplate(HttpContext httpContext, object values) + { + return GetTemplate(httpContext, routeName: null, values); + } + + /// + /// Gets a to generate a URL from the specified route name and route values. + /// This template object holds information of the endpoint(s) that were found and which can later be used to + /// generate a URL using the api. + /// + /// The associated with current request. + /// The name of the route to generate the URL to. + /// + /// An object that contains route values. These values are used to lookup for endpoint(s). + /// + /// + /// If an endpoint(s) was found successfully, then this returns a template object representing that, + /// null otherwise. + /// + public abstract LinkGenerationTemplate GetTemplate(HttpContext httpContext, string routeName, object values); + + /// + /// Gets a to generate a URL from the specified lookup information. + /// This template object holds information of the endpoint(s) that were found and which can later be used to + /// generate a URL using the api. + /// The lookup information is used to find endpoints using a registered 'IEndpointFinder<TAddress>'. + /// + /// The address type to look up endpoints. + /// The information used to look up endpoints for creating a template. + /// + /// If an endpoint(s) was found successfully, then this returns a template object representing that, + /// null otherwise. + /// + public LinkGenerationTemplate GetTemplateByAddress(TAddress address) + { + return GetTemplateByAddress(httpContext: null, address); + } + + /// + /// Gets a to generate a URL from the specified lookup information. + /// This template object holds information of the endpoint(s) that were found and which can later be used to + /// generate a URL using the api. + /// The lookup information is used to find endpoints using a registered 'IEndpointFinder<TAddress>'. + /// + /// The address type to look up endpoints. + /// The information used to look up endpoints for creating a template. + /// The associated with current request. + /// + /// If an endpoint(s) was found successfully, then this returns a template object representing that, + /// null otherwise. + /// + public abstract LinkGenerationTemplate GetTemplateByAddress( + HttpContext httpContext, + TAddress address); } } diff --git a/src/Microsoft.AspNetCore.Routing/DefaultLinkGenerationTemplate.cs b/src/Microsoft.AspNetCore.Routing/DefaultLinkGenerationTemplate.cs new file mode 100644 index 0000000000..2b432db71f --- /dev/null +++ b/src/Microsoft.AspNetCore.Routing/DefaultLinkGenerationTemplate.cs @@ -0,0 +1,62 @@ +// Copyright (c) .NET Foundation. All rights reserved. +// Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information. + +using System.Collections.Generic; +using Microsoft.AspNetCore.Http; +using Microsoft.AspNetCore.Routing.Matching; + +namespace Microsoft.AspNetCore.Routing +{ + internal class DefaultLinkGenerationTemplate : LinkGenerationTemplate + { + public DefaultLinkGenerationTemplate( + DefaultLinkGenerator linkGenerator, + IEnumerable endpoints, + HttpContext httpContext, + RouteValueDictionary explicitValues, + RouteValueDictionary ambientValues) + { + LinkGenerator = linkGenerator; + Endpoints = endpoints; + HttpContext = httpContext; + EarlierExplicitValues = explicitValues; + AmbientValues = ambientValues; + } + + internal DefaultLinkGenerator LinkGenerator { get; } + + internal IEnumerable Endpoints { get; } + + internal HttpContext HttpContext { get; } + + internal RouteValueDictionary EarlierExplicitValues { get; } + + internal RouteValueDictionary AmbientValues { get; } + + public override string MakeUrl(object values, LinkOptions options) + { + var currentValues = new RouteValueDictionary(values); + var mergedValuesDictionary = new RouteValueDictionary(EarlierExplicitValues); + + foreach (var kvp in currentValues) + { + mergedValuesDictionary[kvp.Key] = kvp.Value; + } + + foreach (var endpoint in Endpoints) + { + var link = LinkGenerator.MakeLink( + HttpContext, + endpoint, + AmbientValues, + mergedValuesDictionary, + options); + if (link != null) + { + return link; + } + } + return null; + } + } +} diff --git a/src/Microsoft.AspNetCore.Routing/DefaultLinkGenerator.cs b/src/Microsoft.AspNetCore.Routing/DefaultLinkGenerator.cs index 13d2869d32..d56e7092ea 100644 --- a/src/Microsoft.AspNetCore.Routing/DefaultLinkGenerator.cs +++ b/src/Microsoft.AspNetCore.Routing/DefaultLinkGenerator.cs @@ -2,6 +2,7 @@ // Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information. using System; +using System.Collections.Generic; using System.Linq; using System.Text.Encodings.Web; using Microsoft.AspNetCore.Http; @@ -54,21 +55,78 @@ namespace Microsoft.AspNetCore.Routing } public override bool TryGetLinkByAddress( - TAddress address, HttpContext httpContext, + TAddress address, object values, LinkOptions options, out string link) { return TryGetLinkByAddressInternal( - address, httpContext, + address, explicitValues: values, ambientValues: GetAmbientValues(httpContext), options, out link); } + public override LinkGenerationTemplate GetTemplate(HttpContext httpContext, string routeName, object values) + { + var ambientValues = GetAmbientValues(httpContext); + var explicitValues = new RouteValueDictionary(values); + + return GetTemplateInternal( + httpContext, + new RouteValuesAddress + { + RouteName = routeName, + ExplicitValues = explicitValues, + AmbientValues = ambientValues + }, + ambientValues, + explicitValues, + values); + } + + public override LinkGenerationTemplate GetTemplateByAddress( + HttpContext httpContext, + TAddress address) + { + return GetTemplateInternal(httpContext, address, values: null); + } + + internal string MakeLink( + HttpContext httpContext, + MatcherEndpoint endpoint, + RouteValueDictionary ambientValues, + RouteValueDictionary explicitValues, + LinkOptions options) + { + var templateBinder = new TemplateBinder( + UrlEncoder.Default, + _uriBuildingContextPool, + new RouteTemplate(endpoint.RoutePattern), + new RouteValueDictionary(endpoint.RoutePattern.Defaults)); + + var templateValuesResult = templateBinder.GetValues( + ambientValues: ambientValues, + explicitValues: explicitValues, + requiredKeys: endpoint.RequiredValues.Keys); + if (templateValuesResult == null) + { + // We're missing one of the required values for this route. + return null; + } + + if (!MatchesConstraints(httpContext, endpoint, templateValuesResult.CombinedValues)) + { + return null; + } + + var url = templateBinder.BindValues(templateValuesResult.AcceptedValues); + return Normalize(url, options); + } + private bool TryGetLinkByRouteValues( HttpContext httpContext, string routeName, @@ -86,8 +144,8 @@ namespace Microsoft.AspNetCore.Routing }; return TryGetLinkByAddressInternal( - address, httpContext, + address, explicitValues: values, ambientValues: ambientValues, options, @@ -95,8 +153,8 @@ namespace Microsoft.AspNetCore.Routing } private bool TryGetLinkByAddressInternal( - TAddress address, HttpContext httpContext, + TAddress address, object explicitValues, RouteValueDictionary ambientValues, LinkOptions options, @@ -104,22 +162,21 @@ namespace Microsoft.AspNetCore.Routing { link = null; - var endpointFinder = _serviceProvider.GetRequiredService>(); - var endpoints = endpointFinder.FindEndpoints(address); + var endpoints = FindEndpoints(address); if (endpoints == null) { return false; } - var matcherEndpoints = endpoints.OfType(); - if (!matcherEndpoints.Any()) + foreach (var endpoint in endpoints) { - return false; - } + link = MakeLink( + httpContext, + endpoint, + ambientValues, + new RouteValueDictionary(explicitValues), + options); - foreach (var endpoint in matcherEndpoints) - { - link = GetLink(endpoint); if (link != null) { return true; @@ -127,33 +184,49 @@ namespace Microsoft.AspNetCore.Routing } return false; + } - string GetLink(MatcherEndpoint endpoint) + private LinkGenerationTemplate GetTemplateInternal( + HttpContext httpContext, + TAddress address, + object values) + { + var endpoints = FindEndpoints(address); + if (endpoints == null) { - var templateBinder = new TemplateBinder( - UrlEncoder.Default, - _uriBuildingContextPool, - new RouteTemplate(endpoint.RoutePattern), - new RouteValueDictionary(endpoint.RoutePattern.Defaults)); - - var templateValuesResult = templateBinder.GetValues( - ambientValues: ambientValues, - explicitValues: new RouteValueDictionary(explicitValues), - requiredKeys: endpoint.RequiredValues.Keys); - if (templateValuesResult == null) - { - // We're missing one of the required values for this route. - return null; - } - - if (!MatchesConstraints(httpContext, endpoint, templateValuesResult.CombinedValues)) - { - return null; - } - - var url = templateBinder.BindValues(templateValuesResult.AcceptedValues); - return Normalize(url, options); + return null; } + + var ambientValues = GetAmbientValues(httpContext); + var explicitValues = new RouteValueDictionary(values); + + return new DefaultLinkGenerationTemplate( + this, + endpoints, + httpContext, + explicitValues, + ambientValues); + } + + private LinkGenerationTemplate GetTemplateInternal( + HttpContext httpContext, + TAddress address, + RouteValueDictionary ambientValues, + RouteValueDictionary explicitValues, + object values) + { + var endpoints = FindEndpoints(address); + if (endpoints == null) + { + return null; + } + + return new DefaultLinkGenerationTemplate( + this, + endpoints, + httpContext, + explicitValues, + ambientValues); } private bool MatchesConstraints( @@ -234,7 +307,25 @@ namespace Microsoft.AspNetCore.Routing return feature.Values; } } - return null; + return new RouteValueDictionary(); + } + + private IEnumerable FindEndpoints(TAddress address) + { + var finder = _serviceProvider.GetRequiredService>(); + var endpoints = finder.FindEndpoints(address); + if (endpoints == null) + { + return null; + } + + var matcherEndpoints = endpoints.OfType(); + if (!matcherEndpoints.Any()) + { + return null; + } + + return matcherEndpoints; } } } diff --git a/src/Microsoft.AspNetCore.Routing/IEndpointFinderOfT.cs b/src/Microsoft.AspNetCore.Routing/IEndpointFinderOfT.cs index ba450f1c7b..618220a6e9 100644 --- a/src/Microsoft.AspNetCore.Routing/IEndpointFinderOfT.cs +++ b/src/Microsoft.AspNetCore.Routing/IEndpointFinderOfT.cs @@ -5,8 +5,17 @@ using System.Collections.Generic; namespace Microsoft.AspNetCore.Routing { + /// + /// Defines a contract to find endpoints based on the supplied lookup information. + /// + /// The address type to look up endpoints. public interface IEndpointFinder { + /// + /// Finds endpoints based on the supplied lookup information. + /// + /// The information used to look up endpoints. + /// A collection of . IEnumerable FindEndpoints(TAddress address); } } diff --git a/test/Microsoft.AspNetCore.Routing.Tests/DefaultLinkGeneratorTest.cs b/test/Microsoft.AspNetCore.Routing.Tests/DefaultLinkGeneratorTest.cs index 1063db6819..c226e3edd6 100644 --- a/test/Microsoft.AspNetCore.Routing.Tests/DefaultLinkGeneratorTest.cs +++ b/test/Microsoft.AspNetCore.Routing.Tests/DefaultLinkGeneratorTest.cs @@ -1217,7 +1217,7 @@ namespace Microsoft.AspNetCore.Routing } [Fact] - public void TryGetLink_WithCustomAddress_CanGenerateLink() + public void TryGetLinkByAddress_WithCustomAddress_CanGenerateLink() { // Arrange var services = GetBasicServices(); @@ -1237,8 +1237,8 @@ namespace Microsoft.AspNetCore.Routing // Act var canGenerateLink = linkGenerator.TryGetLinkByAddress( - address: new NameMetadata("CustomerDetails"), httpContext, + address: new NameMetadata("CustomerDetails"), values: new { id = 10 }, out var link); @@ -1248,7 +1248,7 @@ namespace Microsoft.AspNetCore.Routing } [Fact] - public void TryGetLink_WithCustomAddress_CanGenerateLink_RespectsLinkOptions_SuppliedAtCallSite() + public void TryGetLinkByAddress_WithCustomAddress_CanGenerateLink_RespectsLinkOptions_SuppliedAtCallSite() { // Arrange var services = GetBasicServices(); @@ -1268,8 +1268,8 @@ namespace Microsoft.AspNetCore.Routing // Act var canGenerateLink = linkGenerator.TryGetLinkByAddress( - address: new NameMetadata("CustomerDetails"), httpContext, + address: new NameMetadata("CustomerDetails"), values: new { id = 10 }, new LinkOptions { @@ -1282,6 +1282,177 @@ namespace Microsoft.AspNetCore.Routing Assert.Equal("/customers/details/10", link); } + [Fact] + public void GetTemplate_ByRouteValues_ReturnsTemplate() + { + // Arrange + var endpoint1 = EndpointFactory.CreateMatcherEndpoint( + "Product/Edit/{id}", + requiredValues: new { controller = "Product", action = "Edit", area = (string)null, page = (string)null }, + defaults: new { controller = "Product", action = "Edit", area = (string)null, page = (string)null }); + var linkGenerator = CreateLinkGenerator(endpoint1); + var values = new RouteValueDictionary(new { controller = "Product", action = "Edit" }); + + // Act + var template = linkGenerator.GetTemplate(values); + + // Assert + var defaultTemplate = Assert.IsType(template); + Assert.Same(linkGenerator, defaultTemplate.LinkGenerator); + Assert.Equal(new[] { endpoint1 }, defaultTemplate.Endpoints); + Assert.Equal(values, defaultTemplate.EarlierExplicitValues); + Assert.Null(defaultTemplate.HttpContext); + Assert.Empty(defaultTemplate.AmbientValues); + } + + [Fact] + public void GetTemplate_ByRouteName_ReturnsTemplate() + { + // Arrange + var endpoint1 = EndpointFactory.CreateMatcherEndpoint( + "Product/Edit/{id}", + requiredValues: new { controller = "Product", action = "Edit", area = (string)null, page = (string)null }, + defaults: new { controller = "Product", action = "Edit", area = (string)null, page = (string)null }, + metadata: new RouteNameMetadata("EditProduct")); + var linkGenerator = CreateLinkGenerator(endpoint1); + + // Act + var template = linkGenerator.GetTemplate("EditProduct", values: new { }); + + // Assert + var defaultTemplate = Assert.IsType(template); + Assert.Same(linkGenerator, defaultTemplate.LinkGenerator); + Assert.Equal(new[] { endpoint1 }, defaultTemplate.Endpoints); + Assert.Empty(defaultTemplate.EarlierExplicitValues); + Assert.Null(defaultTemplate.HttpContext); + Assert.Empty(defaultTemplate.AmbientValues); + } + + [Fact] + public void GetTemplate_ByRouteName_ReturnsTemplate_WithMultipleEndpoints() + { + // Arrange + var endpoint1 = EndpointFactory.CreateMatcherEndpoint( + "Product/Edit/{id}", + requiredValues: new { controller = "Product", action = "Edit", area = (string)null, page = (string)null }, + defaults: new { controller = "Product", action = "Edit", area = (string)null, page = (string)null }, + metadata: new RouteNameMetadata("default")); + var endpoint2 = EndpointFactory.CreateMatcherEndpoint( + "Product/Details/{id}", + requiredValues: new { controller = "Product", action = "Edit", area = (string)null, page = (string)null }, + defaults: new { controller = "Product", action = "Edit", area = (string)null, page = (string)null }, + metadata: new RouteNameMetadata("default")); + var linkGenerator = CreateLinkGenerator(endpoint1, endpoint2); + + // Act + var template = linkGenerator.GetTemplate("default", values: new { }); + + // Assert + var defaultTemplate = Assert.IsType(template); + Assert.Same(linkGenerator, defaultTemplate.LinkGenerator); + Assert.Equal(new[] { endpoint1, endpoint2 }, defaultTemplate.Endpoints); + Assert.Empty(defaultTemplate.EarlierExplicitValues); + Assert.Null(defaultTemplate.HttpContext); + Assert.Empty(defaultTemplate.AmbientValues); + } + + [Fact] + public void GetTemplateByAddress_ByCustomAddress_ReturnsTemplate() + { + // Arrange + var services = GetBasicServices(); + services.TryAddEnumerable( + ServiceDescriptor.Singleton, EndpointFinderByName>()); + var endpoint1 = EndpointFactory.CreateMatcherEndpoint( + "Product/Edit/{id}", + requiredValues: new { controller = "Product", action = "Edit", area = (string)null, page = (string)null }, + defaults: new { controller = "Product", action = "Edit", area = (string)null, page = (string)null }); + var endpoint2 = EndpointFactory.CreateMatcherEndpoint( + "Customers/Details/{id}", + requiredValues: new { controller = "Customers", action = "Details" }, + defaults: new { controller = "Customers", action = "Details" }, + metadata: new NameMetadata("CustomerDetails")); + var linkGenerator = CreateLinkGenerator(new[] { endpoint1, endpoint2 }, new RouteOptions(), services); + + // Act + var template = linkGenerator.GetTemplateByAddress(new NameMetadata("CustomerDetails")); + + // Assert + var defaultTemplate = Assert.IsType(template); + Assert.Same(linkGenerator, defaultTemplate.LinkGenerator); + Assert.Equal(new[] { endpoint2 }, defaultTemplate.Endpoints); + Assert.Empty(defaultTemplate.EarlierExplicitValues); + Assert.Null(defaultTemplate.HttpContext); + Assert.Empty(defaultTemplate.AmbientValues); + } + + [Fact] + public void MakeUrl_Honors_LinkOptions() + { + // Arrange + var services = GetBasicServices(); + services.TryAddEnumerable( + ServiceDescriptor.Singleton, EndpointFinderByName>()); + var endpoint1 = EndpointFactory.CreateMatcherEndpoint( + "Product/Edit/{id}", + requiredValues: new { controller = "Product", action = "Edit", area = (string)null, page = (string)null }, + defaults: new { controller = "Product", action = "Edit", area = (string)null, page = (string)null }); + var endpoint2 = EndpointFactory.CreateMatcherEndpoint( + "Customers/Details/{id}", + requiredValues: new { controller = "Customers", action = "Details" }, + defaults: new { controller = "Customers", action = "Details" }, + metadata: new NameMetadata("CustomerDetails")); + var linkGenerator = CreateLinkGenerator(new[] { endpoint1, endpoint2 }, new RouteOptions(), services); + + // Act1 + var template = linkGenerator.GetTemplateByAddress(new NameMetadata("CustomerDetails")); + + // Assert1 + Assert.NotNull(template); + + // Act2 + var link = template.MakeUrl(new { id = 10 }, new LinkOptions { LowercaseUrls = true }); + + // Assert2 + Assert.Equal("/customers/details/10", link); + + // Act3 + link = template.MakeUrl(new { id = 25 }); + + // Assert3 + Assert.Equal("/Customers/Details/25", link); + } + + [Fact] + public void MakeUrl_GeneratesLink_WithExtraRouteValues() + { + // Arrange + var endpoint1 = EndpointFactory.CreateMatcherEndpoint( + "Product/Edit/{id}", + requiredValues: new { controller = "Product", action = "Edit", area = (string)null, page = (string)null }, + defaults: new { controller = "Product", action = "Edit", area = (string)null, page = (string)null }); + var linkGenerator = CreateLinkGenerator(endpoint1); + + // Act1 + var template = linkGenerator.GetTemplate( + values: new { controller = "Product", action = "Edit", foo = "bar" }); + + // Assert1 + Assert.NotNull(template); + + // Act2 + var link = template.MakeUrl(new { id = 10 }); + + // Assert2 + Assert.Equal("/Product/Edit/10?foo=bar", link); + + // Act3 + link = template.MakeUrl(new { id = 25, foo = "boo" }); + + // Assert3 + Assert.Equal("/Product/Edit/25?foo=boo", link); + } + private LinkGenerator CreateLinkGenerator(params Endpoint[] endpoints) { return CreateLinkGenerator(endpoints, routeOptions: null); @@ -1365,5 +1536,14 @@ namespace Microsoft.AspNetCore.Routing } public string Name { get; } } + + private class RouteNameMetadata : IRouteNameMetadata + { + public RouteNameMetadata(string name) + { + Name = name; + } + public string Name { get; } + } } } From 091cb94094a776b53ca6323c4251a38afc5ceef3 Mon Sep 17 00:00:00 2001 From: James Newton-King Date: Thu, 2 Aug 2018 01:17:09 -0700 Subject: [PATCH 114/221] Change metadata namespace Change EndpointOptions visibility to internal Add IRequiredValuesMetadata --- .../Benchmarks/StartupUsingEndpointRouting.cs | 11 ++--- .../Matching/MatcherBenchmarkBase.cs | 2 - .../UseEndpointRoutingStartup.cs | 14 ++---- .../CompositeEndpointDataSource.cs | 14 +++--- .../EndpointOptions.cs | 3 +- .../{Metadata => }/HttpMethodMetadata.cs | 2 +- .../{Metadata => }/IHttpMethodMetadata.cs | 2 +- .../IRouteValuesAddressMetadata.cs | 13 +++++ .../ISuppressLinkGenerationMetadata.cs | 2 +- .../Matching/HttpMethodMatcherPolicy.cs | 2 - .../Matching/MatcherEndpoint.cs | 5 -- .../RouteValuesAddressMetadata.cs | 48 +++++++++++++++++++ .../RouteValuesBasedEndpointFinder.cs | 6 +-- ...a.cs => SuppressLinkGenerationMetadata.cs} | 5 +- .../CompositeEndpointDataSourceTest.cs | 2 - .../EndpointFactory.cs | 11 +++-- .../Matching/CandidateSetTest.cs | 1 - .../DataSourceDependentMatcherTest.cs | 1 - .../Matching/DefaultEndpointSelectorTest.cs | 1 - .../Matching/DfaMatcherBuilderTest.cs | 1 - .../Matching/DfaMatcherTest.cs | 1 - .../HttpMethodMatcherPolicyIntegrationTest.cs | 2 - .../Matching/HttpMethodMatcherPolicyTest.cs | 2 - .../Matching/MatcherConformanceTest.cs | 1 - .../Matching/MatcherEndpointComparerTest.cs | 1 - .../RouteValueBasedEndpointFinderTest.cs | 20 ++------ .../RouteValuesAddressMetadataTests.cs | 33 +++++++++++++ 27 files changed, 133 insertions(+), 73 deletions(-) rename src/Microsoft.AspNetCore.Routing/{Metadata => }/HttpMethodMetadata.cs (96%) rename src/Microsoft.AspNetCore.Routing/{Metadata => }/IHttpMethodMetadata.cs (88%) create mode 100644 src/Microsoft.AspNetCore.Routing/IRouteValuesAddressMetadata.cs create mode 100644 src/Microsoft.AspNetCore.Routing/RouteValuesAddressMetadata.cs rename src/Microsoft.AspNetCore.Routing/{IRouteNameMetadata.cs => SuppressLinkGenerationMetadata.cs} (71%) create mode 100644 test/Microsoft.AspNetCore.Routing.Tests/RouteValuesAddressMetadataTests.cs diff --git a/benchmarkapps/Benchmarks/StartupUsingEndpointRouting.cs b/benchmarkapps/Benchmarks/StartupUsingEndpointRouting.cs index c04f28decc..2c5fa5a7d9 100644 --- a/benchmarkapps/Benchmarks/StartupUsingEndpointRouting.cs +++ b/benchmarkapps/Benchmarks/StartupUsingEndpointRouting.cs @@ -7,6 +7,7 @@ using Microsoft.AspNetCore.Routing; using Microsoft.AspNetCore.Routing.Matching; using Microsoft.AspNetCore.Routing.Patterns; using Microsoft.Extensions.DependencyInjection; +using Microsoft.Extensions.DependencyInjection.Extensions; namespace Benchmarks { @@ -18,9 +19,7 @@ namespace Benchmarks { services.AddRouting(); - services.Configure(options => - { - options.DataSources.Add(new DefaultEndpointDataSource(new[] + var endpointDataSource = new DefaultEndpointDataSource(new[] { new MatcherEndpoint( invoker: (next) => (httpContext) => @@ -33,12 +32,12 @@ namespace Benchmarks return response.Body.WriteAsync(_helloWorldPayload, 0, payloadLength); }, routePattern: RoutePatternFactory.Parse("/plaintext"), - requiredValues: new RouteValueDictionary(), order: 0, metadata: EndpointMetadataCollection.Empty, displayName: "Plaintext"), - })); - }); + }); + + services.TryAddEnumerable(ServiceDescriptor.Singleton(endpointDataSource)); } public void Configure(Microsoft.AspNetCore.Builder.IApplicationBuilder app) diff --git a/benchmarks/Microsoft.AspNetCore.Routing.Performance/Matching/MatcherBenchmarkBase.cs b/benchmarks/Microsoft.AspNetCore.Routing.Performance/Matching/MatcherBenchmarkBase.cs index 76802c758d..4b030f84dc 100644 --- a/benchmarks/Microsoft.AspNetCore.Routing.Performance/Matching/MatcherBenchmarkBase.cs +++ b/benchmarks/Microsoft.AspNetCore.Routing.Performance/Matching/MatcherBenchmarkBase.cs @@ -7,7 +7,6 @@ using System.Runtime.CompilerServices; using System.Text; using System.Threading.Tasks; using Microsoft.AspNetCore.Http; -using Microsoft.AspNetCore.Routing.Metadata; using Microsoft.AspNetCore.Routing.Patterns; using Microsoft.Extensions.DependencyInjection; @@ -44,7 +43,6 @@ namespace Microsoft.AspNetCore.Routing.Matching return new MatcherEndpoint( MatcherEndpoint.EmptyInvoker, RoutePatternFactory.Parse(template), - new RouteValueDictionary(), 0, new EndpointMetadataCollection(metadata), template); diff --git a/samples/RoutingSample.Web/UseEndpointRoutingStartup.cs b/samples/RoutingSample.Web/UseEndpointRoutingStartup.cs index d67d5fbe2a..77b41e87a8 100644 --- a/samples/RoutingSample.Web/UseEndpointRoutingStartup.cs +++ b/samples/RoutingSample.Web/UseEndpointRoutingStartup.cs @@ -9,6 +9,7 @@ using Microsoft.AspNetCore.Routing; using Microsoft.AspNetCore.Routing.Matching; using Microsoft.AspNetCore.Routing.Patterns; using Microsoft.Extensions.DependencyInjection; +using Microsoft.Extensions.DependencyInjection.Extensions; namespace RoutingSample.Web { @@ -26,9 +27,7 @@ namespace RoutingSample.Web options.ConstraintMap.Add("endsWith", typeof(EndsWithStringMatchProcessor)); }); - services.Configure(options => - { - options.DataSources.Add(new DefaultEndpointDataSource(new[] + var endpointDataSource = new DefaultEndpointDataSource(new[] { new MatcherEndpoint((next) => (httpContext) => { @@ -40,7 +39,6 @@ namespace RoutingSample.Web return response.Body.WriteAsync(_homePayload, 0, payloadLength); }, RoutePatternFactory.Parse("/"), - new RouteValueDictionary(), 0, EndpointMetadataCollection.Empty, "Home"), @@ -54,7 +52,6 @@ namespace RoutingSample.Web return response.Body.WriteAsync(_helloWorldPayload, 0, payloadLength); }, RoutePatternFactory.Parse("/plaintext"), - new RouteValueDictionary(), 0, EndpointMetadataCollection.Empty, "Plaintext"), @@ -66,7 +63,6 @@ namespace RoutingSample.Web return response.WriteAsync("WithConstraints"); }, RoutePatternFactory.Parse("/withconstraints/{id:endsWith(_001)}"), - new RouteValueDictionary(), 0, EndpointMetadataCollection.Empty, "withconstraints"), @@ -78,12 +74,12 @@ namespace RoutingSample.Web return response.WriteAsync("withoptionalconstraints"); }, RoutePatternFactory.Parse("/withoptionalconstraints/{id:endsWith(_001)?}"), - new RouteValueDictionary(), 0, EndpointMetadataCollection.Empty, "withoptionalconstraints"), - })); - }); + }); + + services.TryAddEnumerable(ServiceDescriptor.Singleton(endpointDataSource)); } public void Configure(Microsoft.AspNetCore.Builder.IApplicationBuilder app) diff --git a/src/Microsoft.AspNetCore.Routing/CompositeEndpointDataSource.cs b/src/Microsoft.AspNetCore.Routing/CompositeEndpointDataSource.cs index e9157ea578..3341b21796 100644 --- a/src/Microsoft.AspNetCore.Routing/CompositeEndpointDataSource.cs +++ b/src/Microsoft.AspNetCore.Routing/CompositeEndpointDataSource.cs @@ -8,7 +8,6 @@ using System.Linq; using System.Text; using System.Threading; using Microsoft.AspNetCore.Routing.Matching; -using Microsoft.AspNetCore.Routing.Metadata; using Microsoft.Extensions.Primitives; namespace Microsoft.AspNetCore.Routing @@ -127,15 +126,18 @@ namespace Microsoft.AspNetCore.Routing var template = matcherEndpoint.RoutePattern.RawText; template = string.IsNullOrEmpty(template) ? "\"\"" : template; sb.Append(template); - sb.Append(", Required Values: new { "); - sb.Append(string.Join(", ", FormatValues(matcherEndpoint.RequiredValues))); - sb.Append(" }"); sb.Append(", Defaults: new { "); sb.Append(string.Join(", ", FormatValues(matcherEndpoint.RoutePattern.Defaults))); sb.Append(" }"); - var routeNameMetadata = matcherEndpoint.Metadata.GetMetadata(); + var routeValuesAddressMetadata = matcherEndpoint.Metadata.GetMetadata(); sb.Append(", Route Name: "); - sb.Append(routeNameMetadata?.Name); + sb.Append(routeValuesAddressMetadata?.Name); + if (routeValuesAddressMetadata?.RequiredValues != null) + { + sb.Append(", Required Values: new { "); + sb.Append(string.Join(", ", FormatValues(routeValuesAddressMetadata.RequiredValues))); + sb.Append(" }"); + } sb.Append(", Order: "); sb.Append(matcherEndpoint.Order); diff --git a/src/Microsoft.AspNetCore.Routing/EndpointOptions.cs b/src/Microsoft.AspNetCore.Routing/EndpointOptions.cs index bd03d3c7a2..8f364d6eaa 100644 --- a/src/Microsoft.AspNetCore.Routing/EndpointOptions.cs +++ b/src/Microsoft.AspNetCore.Routing/EndpointOptions.cs @@ -5,7 +5,8 @@ using System.Collections.Generic; namespace Microsoft.AspNetCore.Routing { - public class EndpointOptions + // Internal for 2.2. Public API for configuring endpoints will be added in 3.0 + internal class EndpointOptions { public IList DataSources { get; } = new List(); } diff --git a/src/Microsoft.AspNetCore.Routing/Metadata/HttpMethodMetadata.cs b/src/Microsoft.AspNetCore.Routing/HttpMethodMetadata.cs similarity index 96% rename from src/Microsoft.AspNetCore.Routing/Metadata/HttpMethodMetadata.cs rename to src/Microsoft.AspNetCore.Routing/HttpMethodMetadata.cs index af342a2f36..7d76b56cd0 100644 --- a/src/Microsoft.AspNetCore.Routing/Metadata/HttpMethodMetadata.cs +++ b/src/Microsoft.AspNetCore.Routing/HttpMethodMetadata.cs @@ -6,7 +6,7 @@ using System.Collections.Generic; using System.Diagnostics; using System.Linq; -namespace Microsoft.AspNetCore.Routing.Metadata +namespace Microsoft.AspNetCore.Routing { [DebuggerDisplay("{DebuggerToString(),nq}")] public sealed class HttpMethodMetadata : IHttpMethodMetadata diff --git a/src/Microsoft.AspNetCore.Routing/Metadata/IHttpMethodMetadata.cs b/src/Microsoft.AspNetCore.Routing/IHttpMethodMetadata.cs similarity index 88% rename from src/Microsoft.AspNetCore.Routing/Metadata/IHttpMethodMetadata.cs rename to src/Microsoft.AspNetCore.Routing/IHttpMethodMetadata.cs index 9d6447d1e0..83b99d8f72 100644 --- a/src/Microsoft.AspNetCore.Routing/Metadata/IHttpMethodMetadata.cs +++ b/src/Microsoft.AspNetCore.Routing/IHttpMethodMetadata.cs @@ -3,7 +3,7 @@ using System.Collections.Generic; -namespace Microsoft.AspNetCore.Routing.Metadata +namespace Microsoft.AspNetCore.Routing { public interface IHttpMethodMetadata { diff --git a/src/Microsoft.AspNetCore.Routing/IRouteValuesAddressMetadata.cs b/src/Microsoft.AspNetCore.Routing/IRouteValuesAddressMetadata.cs new file mode 100644 index 0000000000..0d60e5db92 --- /dev/null +++ b/src/Microsoft.AspNetCore.Routing/IRouteValuesAddressMetadata.cs @@ -0,0 +1,13 @@ +// Copyright (c) .NET Foundation. All rights reserved. +// Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information. + +using System.Collections.Generic; + +namespace Microsoft.AspNetCore.Routing +{ + public interface IRouteValuesAddressMetadata + { + string Name { get; } + IReadOnlyDictionary RequiredValues { get; } + } +} diff --git a/src/Microsoft.AspNetCore.Routing/ISuppressLinkGenerationMetadata.cs b/src/Microsoft.AspNetCore.Routing/ISuppressLinkGenerationMetadata.cs index 2e6a7da5d8..23c5e168d8 100644 --- a/src/Microsoft.AspNetCore.Routing/ISuppressLinkGenerationMetadata.cs +++ b/src/Microsoft.AspNetCore.Routing/ISuppressLinkGenerationMetadata.cs @@ -6,4 +6,4 @@ namespace Microsoft.AspNetCore.Routing public interface ISuppressLinkGenerationMetadata { } -} +} \ No newline at end of file diff --git a/src/Microsoft.AspNetCore.Routing/Matching/HttpMethodMatcherPolicy.cs b/src/Microsoft.AspNetCore.Routing/Matching/HttpMethodMatcherPolicy.cs index 315c3d8409..9968395b29 100644 --- a/src/Microsoft.AspNetCore.Routing/Matching/HttpMethodMatcherPolicy.cs +++ b/src/Microsoft.AspNetCore.Routing/Matching/HttpMethodMatcherPolicy.cs @@ -6,7 +6,6 @@ using System.Collections.Generic; using System.Linq; using System.Threading.Tasks; using Microsoft.AspNetCore.Http; -using Microsoft.AspNetCore.Routing.Metadata; using Microsoft.AspNetCore.Routing.Patterns; using Microsoft.Extensions.Internal; using Microsoft.Extensions.Primitives; @@ -232,7 +231,6 @@ namespace Microsoft.AspNetCore.Routing.Matching return Task.CompletedTask; }, RoutePatternFactory.Parse("/"), - new RouteValueDictionary(), 0, EndpointMetadataCollection.Empty, Http405EndpointDisplayName); diff --git a/src/Microsoft.AspNetCore.Routing/Matching/MatcherEndpoint.cs b/src/Microsoft.AspNetCore.Routing/Matching/MatcherEndpoint.cs index 9dc34cac6a..194fb0dc3d 100644 --- a/src/Microsoft.AspNetCore.Routing/Matching/MatcherEndpoint.cs +++ b/src/Microsoft.AspNetCore.Routing/Matching/MatcherEndpoint.cs @@ -19,7 +19,6 @@ namespace Microsoft.AspNetCore.Routing.Matching public MatcherEndpoint( Func invoker, RoutePattern routePattern, - RouteValueDictionary requiredValues, int order, EndpointMetadataCollection metadata, string displayName) @@ -37,7 +36,6 @@ namespace Microsoft.AspNetCore.Routing.Matching Invoker = invoker; RoutePattern = routePattern; - RequiredValues = requiredValues; Order = order; } @@ -45,9 +43,6 @@ namespace Microsoft.AspNetCore.Routing.Matching public int Order { get; } - // Values required by an endpoint for it to be successfully matched on link generation - public IReadOnlyDictionary RequiredValues { get; } - public RoutePattern RoutePattern { get; } } } diff --git a/src/Microsoft.AspNetCore.Routing/RouteValuesAddressMetadata.cs b/src/Microsoft.AspNetCore.Routing/RouteValuesAddressMetadata.cs new file mode 100644 index 0000000000..6d110a70d6 --- /dev/null +++ b/src/Microsoft.AspNetCore.Routing/RouteValuesAddressMetadata.cs @@ -0,0 +1,48 @@ +// Copyright (c) .NET Foundation. All rights reserved. +// Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information. + +using System; +using System.Collections.Generic; +using System.Diagnostics; +using System.Linq; + +namespace Microsoft.AspNetCore.Routing +{ + [DebuggerDisplay("{DebuggerToString(),nq}")] + public sealed class RouteValuesAddressMetadata : IRouteValuesAddressMetadata + { + public RouteValuesAddressMetadata(string name, IReadOnlyDictionary requiredValues) + { + Name = name; + RequiredValues = requiredValues; + } + + public string Name { get; } + + public IReadOnlyDictionary RequiredValues { get; } + + internal string DebuggerToString() + { + return $"Name: {Name} - Required values: {string.Join(", ", FormatValues(RequiredValues))}"; + + IEnumerable FormatValues(IEnumerable> values) + { + if (values == null) + { + return Array.Empty(); + } + + return values.Select( + kvp => + { + var value = "null"; + if (kvp.Value != null) + { + value = "\"" + kvp.Value.ToString() + "\""; + } + return kvp.Key + " = " + value; + }); + } + } + } +} \ No newline at end of file diff --git a/src/Microsoft.AspNetCore.Routing/RouteValuesBasedEndpointFinder.cs b/src/Microsoft.AspNetCore.Routing/RouteValuesBasedEndpointFinder.cs index 19a24fe439..2821c73aaf 100644 --- a/src/Microsoft.AspNetCore.Routing/RouteValuesBasedEndpointFinder.cs +++ b/src/Microsoft.AspNetCore.Routing/RouteValuesBasedEndpointFinder.cs @@ -137,16 +137,16 @@ namespace Microsoft.AspNetCore.Routing private OutboundRouteEntry CreateOutboundRouteEntry(MatcherEndpoint endpoint) { - var routeNameMetadata = endpoint.Metadata.GetMetadata(); + var routeValuesAddressMetadata = endpoint.Metadata.GetMetadata(); var entry = new OutboundRouteEntry() { Handler = NullRouter.Instance, Order = endpoint.Order, Precedence = RoutePrecedence.ComputeOutbound(endpoint.RoutePattern), - RequiredLinkValues = new RouteValueDictionary(endpoint.RequiredValues), + RequiredLinkValues = new RouteValueDictionary(routeValuesAddressMetadata?.RequiredValues), RouteTemplate = new RouteTemplate(endpoint.RoutePattern), Data = endpoint, - RouteName = routeNameMetadata?.Name, + RouteName = routeValuesAddressMetadata?.Name, }; entry.Defaults = new RouteValueDictionary(endpoint.RoutePattern.Defaults); return entry; diff --git a/src/Microsoft.AspNetCore.Routing/IRouteNameMetadata.cs b/src/Microsoft.AspNetCore.Routing/SuppressLinkGenerationMetadata.cs similarity index 71% rename from src/Microsoft.AspNetCore.Routing/IRouteNameMetadata.cs rename to src/Microsoft.AspNetCore.Routing/SuppressLinkGenerationMetadata.cs index efc1136904..599267c570 100644 --- a/src/Microsoft.AspNetCore.Routing/IRouteNameMetadata.cs +++ b/src/Microsoft.AspNetCore.Routing/SuppressLinkGenerationMetadata.cs @@ -3,8 +3,7 @@ namespace Microsoft.AspNetCore.Routing { - public interface IRouteNameMetadata + public sealed class SuppressLinkGenerationMetadata : ISuppressLinkGenerationMetadata { - string Name { get; } } -} +} \ No newline at end of file diff --git a/test/Microsoft.AspNetCore.Routing.Tests/CompositeEndpointDataSourceTest.cs b/test/Microsoft.AspNetCore.Routing.Tests/CompositeEndpointDataSourceTest.cs index dad43417ab..d04f0d96de 100644 --- a/test/Microsoft.AspNetCore.Routing.Tests/CompositeEndpointDataSourceTest.cs +++ b/test/Microsoft.AspNetCore.Routing.Tests/CompositeEndpointDataSourceTest.cs @@ -149,14 +149,12 @@ namespace Microsoft.AspNetCore.Routing private MatcherEndpoint CreateEndpoint( string template, object defaults = null, - object requiredValues = null, int order = 0, string routeName = null) { return new MatcherEndpoint( MatcherEndpoint.EmptyInvoker, RoutePatternFactory.Parse(template, defaults, constraints: null), - new RouteValueDictionary(requiredValues), order, EndpointMetadataCollection.Empty, null); diff --git a/test/Microsoft.AspNetCore.Routing.Tests/EndpointFactory.cs b/test/Microsoft.AspNetCore.Routing.Tests/EndpointFactory.cs index 6711ff64d6..6ff5f8b909 100644 --- a/test/Microsoft.AspNetCore.Routing.Tests/EndpointFactory.cs +++ b/test/Microsoft.AspNetCore.Routing.Tests/EndpointFactory.cs @@ -3,6 +3,8 @@ using Microsoft.AspNetCore.Routing.Matching; using Microsoft.AspNetCore.Routing.Patterns; +using System; +using System.Collections.Generic; namespace Microsoft.AspNetCore.Routing { @@ -17,18 +19,17 @@ namespace Microsoft.AspNetCore.Routing string displayName = null, params object[] metadata) { - var metadataCollection = EndpointMetadataCollection.Empty; - if (metadata != null) + var d = new List(metadata ?? Array.Empty()); + if (requiredValues != null) { - metadataCollection = new EndpointMetadataCollection(metadata); + d.Add(new RouteValuesAddressMetadata(null, new RouteValueDictionary(requiredValues))); } return new MatcherEndpoint( MatcherEndpoint.EmptyInvoker, RoutePatternFactory.Parse(template, defaults, constraints), - new RouteValueDictionary(requiredValues), order, - metadataCollection, + new EndpointMetadataCollection(d), displayName); } } diff --git a/test/Microsoft.AspNetCore.Routing.Tests/Matching/CandidateSetTest.cs b/test/Microsoft.AspNetCore.Routing.Tests/Matching/CandidateSetTest.cs index 54db9ca02d..ac78dcaf7b 100644 --- a/test/Microsoft.AspNetCore.Routing.Tests/Matching/CandidateSetTest.cs +++ b/test/Microsoft.AspNetCore.Routing.Tests/Matching/CandidateSetTest.cs @@ -85,7 +85,6 @@ namespace Microsoft.AspNetCore.Routing.Matching return new MatcherEndpoint( MatcherEndpoint.EmptyInvoker, RoutePatternFactory.Parse(template), - new RouteValueDictionary(), 0, EndpointMetadataCollection.Empty, "test"); diff --git a/test/Microsoft.AspNetCore.Routing.Tests/Matching/DataSourceDependentMatcherTest.cs b/test/Microsoft.AspNetCore.Routing.Tests/Matching/DataSourceDependentMatcherTest.cs index e88c707217..07c1db9537 100644 --- a/test/Microsoft.AspNetCore.Routing.Tests/Matching/DataSourceDependentMatcherTest.cs +++ b/test/Microsoft.AspNetCore.Routing.Tests/Matching/DataSourceDependentMatcherTest.cs @@ -37,7 +37,6 @@ namespace Microsoft.AspNetCore.Routing.Matching var endpoint = new MatcherEndpoint( MatcherEndpoint.EmptyInvoker, RoutePatternFactory.Parse("a/b/c"), - new RouteValueDictionary(), 0, EndpointMetadataCollection.Empty, "test"); diff --git a/test/Microsoft.AspNetCore.Routing.Tests/Matching/DefaultEndpointSelectorTest.cs b/test/Microsoft.AspNetCore.Routing.Tests/Matching/DefaultEndpointSelectorTest.cs index d8586f23d6..5ec095bc4e 100644 --- a/test/Microsoft.AspNetCore.Routing.Tests/Matching/DefaultEndpointSelectorTest.cs +++ b/test/Microsoft.AspNetCore.Routing.Tests/Matching/DefaultEndpointSelectorTest.cs @@ -216,7 +216,6 @@ test: /test3", ex.Message); return new MatcherEndpoint( MatcherEndpoint.EmptyInvoker, RoutePatternFactory.Parse(template), - new RouteValueDictionary(), 0, EndpointMetadataCollection.Empty, $"test: {template}"); diff --git a/test/Microsoft.AspNetCore.Routing.Tests/Matching/DfaMatcherBuilderTest.cs b/test/Microsoft.AspNetCore.Routing.Tests/Matching/DfaMatcherBuilderTest.cs index e712210e44..a8735c02fa 100644 --- a/test/Microsoft.AspNetCore.Routing.Tests/Matching/DfaMatcherBuilderTest.cs +++ b/test/Microsoft.AspNetCore.Routing.Tests/Matching/DfaMatcherBuilderTest.cs @@ -860,7 +860,6 @@ namespace Microsoft.AspNetCore.Routing.Matching return new MatcherEndpoint( MatcherEndpoint.EmptyInvoker, RoutePatternFactory.Parse(template, new RouteValueDictionary(defaults), new RouteValueDictionary(constraints)), - new RouteValueDictionary(), 0, new EndpointMetadataCollection(metadata), "test"); diff --git a/test/Microsoft.AspNetCore.Routing.Tests/Matching/DfaMatcherTest.cs b/test/Microsoft.AspNetCore.Routing.Tests/Matching/DfaMatcherTest.cs index 7e80607008..b77650deda 100644 --- a/test/Microsoft.AspNetCore.Routing.Tests/Matching/DfaMatcherTest.cs +++ b/test/Microsoft.AspNetCore.Routing.Tests/Matching/DfaMatcherTest.cs @@ -20,7 +20,6 @@ namespace Microsoft.AspNetCore.Routing.Matching return new MatcherEndpoint( MatcherEndpoint.EmptyInvoker, RoutePatternFactory.Parse(template, defaults, constraints: null), - new RouteValueDictionary(), order, metadata ?? EndpointMetadataCollection.Empty, template); diff --git a/test/Microsoft.AspNetCore.Routing.Tests/Matching/HttpMethodMatcherPolicyIntegrationTest.cs b/test/Microsoft.AspNetCore.Routing.Tests/Matching/HttpMethodMatcherPolicyIntegrationTest.cs index d3ae78485b..5d5c0eccd8 100644 --- a/test/Microsoft.AspNetCore.Routing.Tests/Matching/HttpMethodMatcherPolicyIntegrationTest.cs +++ b/test/Microsoft.AspNetCore.Routing.Tests/Matching/HttpMethodMatcherPolicyIntegrationTest.cs @@ -5,7 +5,6 @@ using System; using System.Collections.Generic; using System.Threading.Tasks; using Microsoft.AspNetCore.Http; -using Microsoft.AspNetCore.Routing.Metadata; using Microsoft.AspNetCore.Routing.Patterns; using Microsoft.Extensions.DependencyInjection; using Xunit; @@ -343,7 +342,6 @@ namespace Microsoft.AspNetCore.Routing.Matching return new MatcherEndpoint( MatcherEndpoint.EmptyInvoker, RoutePatternFactory.Parse(template, defaults, constraints), - new RouteValueDictionary(), order, new EndpointMetadataCollection(metadata), displayName); diff --git a/test/Microsoft.AspNetCore.Routing.Tests/Matching/HttpMethodMatcherPolicyTest.cs b/test/Microsoft.AspNetCore.Routing.Tests/Matching/HttpMethodMatcherPolicyTest.cs index f302bebb10..e8c7121597 100644 --- a/test/Microsoft.AspNetCore.Routing.Tests/Matching/HttpMethodMatcherPolicyTest.cs +++ b/test/Microsoft.AspNetCore.Routing.Tests/Matching/HttpMethodMatcherPolicyTest.cs @@ -4,7 +4,6 @@ using System; using System.Collections.Generic; using System.Linq; -using Microsoft.AspNetCore.Routing.Metadata; using Microsoft.AspNetCore.Routing.Patterns; using Xunit; using static Microsoft.AspNetCore.Routing.Matching.HttpMethodMatcherPolicy; @@ -288,7 +287,6 @@ namespace Microsoft.AspNetCore.Routing.Matching return new MatcherEndpoint( MatcherEndpoint.EmptyInvoker, RoutePatternFactory.Parse(template), - new RouteValueDictionary(), 0, new EndpointMetadataCollection(metadata), $"test: {template}"); diff --git a/test/Microsoft.AspNetCore.Routing.Tests/Matching/MatcherConformanceTest.cs b/test/Microsoft.AspNetCore.Routing.Tests/Matching/MatcherConformanceTest.cs index 9e4986c543..9dbc881548 100644 --- a/test/Microsoft.AspNetCore.Routing.Tests/Matching/MatcherConformanceTest.cs +++ b/test/Microsoft.AspNetCore.Routing.Tests/Matching/MatcherConformanceTest.cs @@ -43,7 +43,6 @@ namespace Microsoft.AspNetCore.Routing.Matching return new MatcherEndpoint( MatcherEndpoint.EmptyInvoker, RoutePatternFactory.Parse(template, defaults, constraints), - new RouteValueDictionary(), order ?? 0, EndpointMetadataCollection.Empty, "endpoint: " + template); diff --git a/test/Microsoft.AspNetCore.Routing.Tests/Matching/MatcherEndpointComparerTest.cs b/test/Microsoft.AspNetCore.Routing.Tests/Matching/MatcherEndpointComparerTest.cs index 87bbc0c877..96539d8304 100644 --- a/test/Microsoft.AspNetCore.Routing.Tests/Matching/MatcherEndpointComparerTest.cs +++ b/test/Microsoft.AspNetCore.Routing.Tests/Matching/MatcherEndpointComparerTest.cs @@ -222,7 +222,6 @@ namespace Microsoft.AspNetCore.Routing.Matching return new MatcherEndpoint( MatcherEndpoint.EmptyInvoker, RoutePatternFactory.Parse(template), - new RouteValueDictionary(), order, new EndpointMetadataCollection(metadata), "test: " + template); diff --git a/test/Microsoft.AspNetCore.Routing.Tests/RouteValueBasedEndpointFinderTest.cs b/test/Microsoft.AspNetCore.Routing.Tests/RouteValueBasedEndpointFinderTest.cs index c18b0f5f2f..af2cd3faf9 100644 --- a/test/Microsoft.AspNetCore.Routing.Tests/RouteValueBasedEndpointFinderTest.cs +++ b/test/Microsoft.AspNetCore.Routing.Tests/RouteValueBasedEndpointFinderTest.cs @@ -263,37 +263,29 @@ namespace Microsoft.AspNetCore.Routing { if (metadataCollection == null) { - metadataCollection = EndpointMetadataCollection.Empty; - if (!string.IsNullOrEmpty(routeName)) + var metadata = new List(); + if (!string.IsNullOrEmpty(routeName) || requiredValues != null) { - metadataCollection = new EndpointMetadataCollection(new[] { new RouteNameMetadata(routeName) }); + metadata.Add(new RouteValuesAddressMetadata(routeName, new RouteValueDictionary(requiredValues))); } + metadataCollection = new EndpointMetadataCollection(metadata); } return new MatcherEndpoint( MatcherEndpoint.EmptyInvoker, RoutePatternFactory.Parse(template, defaults, constraints: null), - new RouteValueDictionary(requiredValues), order, metadataCollection, null); } - private class RouteNameMetadata : IRouteNameMetadata - { - public RouteNameMetadata(string name) - { - Name = name; - } - public string Name { get; } - } - private class NameMetadata : INameMetadata { public NameMetadata(string name) { Name = name; } + public string Name { get; } } @@ -318,7 +310,5 @@ namespace Microsoft.AspNetCore.Routing return matches; } } - - private class SuppressLinkGenerationMetadata : ISuppressLinkGenerationMetadata { } } } diff --git a/test/Microsoft.AspNetCore.Routing.Tests/RouteValuesAddressMetadataTests.cs b/test/Microsoft.AspNetCore.Routing.Tests/RouteValuesAddressMetadataTests.cs new file mode 100644 index 0000000000..f05e763484 --- /dev/null +++ b/test/Microsoft.AspNetCore.Routing.Tests/RouteValuesAddressMetadataTests.cs @@ -0,0 +1,33 @@ +// Copyright (c) .NET Foundation. All rights reserved. +// Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information. + +using System; +using System.Collections.Generic; +using System.Text; +using Xunit; + +namespace Microsoft.AspNetCore.Routing +{ + public class RouteValuesAddressMetadataTests + { + [Fact] + public void DebuggerToString_NoNameAndRequiredValues_ReturnsString() + { + var metadata = new RouteValuesAddressMetadata(null, null); + + Assert.Equal("Name: - Required values: ", metadata.DebuggerToString()); + } + + [Fact] + public void DebuggerToString_HasNameAndRequiredValues_ReturnsString() + { + var metadata = new RouteValuesAddressMetadata("Name!", new Dictionary + { + ["requiredValue1"] = "One", + ["requiredValue2"] = 2, + }); + + Assert.Equal("Name: Name! - Required values: requiredValue1 = \"One\", requiredValue2 = \"2\"", metadata.DebuggerToString()); + } + } +} From 09ce9c3041ba05a42a925f34548c0f6c0487c2e8 Mon Sep 17 00:00:00 2001 From: Kiran Challa Date: Thu, 2 Aug 2018 16:33:07 -0700 Subject: [PATCH 115/221] Api clean up --- .../EndsWithStringMatchProcessor.cs | 29 ++++++++++-- .../RoutingServiceCollectionExtensions.cs | 1 - .../INameMetadata.cs | 10 ---- .../Matching/MatchProcessorBase.cs | 42 ----------------- .../NameBasedEndpointFinder.cs | 46 ------------------- .../DefaultMatchProcessorFactoryTest.cs | 36 +++++++++++++-- .../RouteValueBasedEndpointFinderTest.cs | 34 +------------- 7 files changed, 57 insertions(+), 141 deletions(-) delete mode 100644 src/Microsoft.AspNetCore.Routing/INameMetadata.cs delete mode 100644 src/Microsoft.AspNetCore.Routing/Matching/MatchProcessorBase.cs delete mode 100644 src/Microsoft.AspNetCore.Routing/NameBasedEndpointFinder.cs diff --git a/samples/RoutingSample.Web/EndsWithStringMatchProcessor.cs b/samples/RoutingSample.Web/EndsWithStringMatchProcessor.cs index ea50812015..f0201f79d9 100644 --- a/samples/RoutingSample.Web/EndsWithStringMatchProcessor.cs +++ b/samples/RoutingSample.Web/EndsWithStringMatchProcessor.cs @@ -3,12 +3,14 @@ using System; using System.Globalization; +using Microsoft.AspNetCore.Http; +using Microsoft.AspNetCore.Routing; using Microsoft.AspNetCore.Routing.Matching; using Microsoft.Extensions.Logging; namespace RoutingSample.Web { - internal class EndsWithStringMatchProcessor : MatchProcessorBase + internal class EndsWithStringMatchProcessor : MatchProcessor { private readonly ILogger _logger; @@ -17,15 +19,34 @@ namespace RoutingSample.Web _logger = logger; } - public override bool Process(object value) + public string ParameterName { get; private set; } + + public string ConstraintArgument { get; private set; } + + public override void Initialize(string parameterName, string constraintArgument) { - if (value == null) + ParameterName = parameterName; + ConstraintArgument = constraintArgument; + } + + public override bool ProcessInbound(HttpContext httpContext, RouteValueDictionary values) + { + return Process(values); + } + + public override bool ProcessOutbound(HttpContext httpContext, RouteValueDictionary values) + { + return Process(values); + } + + private bool Process(RouteValueDictionary values) + { + if (!values.TryGetValue(ParameterName, out var value) || value == null) { return false; } var valueString = Convert.ToString(value, CultureInfo.InvariantCulture); - var endsWith = valueString.EndsWith(ConstraintArgument, StringComparison.OrdinalIgnoreCase); if (!endsWith) diff --git a/src/Microsoft.AspNetCore.Routing/DependencyInjection/RoutingServiceCollectionExtensions.cs b/src/Microsoft.AspNetCore.Routing/DependencyInjection/RoutingServiceCollectionExtensions.cs index 42433f64c0..19f3d0e77a 100644 --- a/src/Microsoft.AspNetCore.Routing/DependencyInjection/RoutingServiceCollectionExtensions.cs +++ b/src/Microsoft.AspNetCore.Routing/DependencyInjection/RoutingServiceCollectionExtensions.cs @@ -67,7 +67,6 @@ namespace Microsoft.Extensions.DependencyInjection services.TryAddTransient(); // Link generation related services - services.TryAddSingleton, NameBasedEndpointFinder>(); services.TryAddSingleton, RouteValuesBasedEndpointFinder>(); services.TryAddSingleton(); diff --git a/src/Microsoft.AspNetCore.Routing/INameMetadata.cs b/src/Microsoft.AspNetCore.Routing/INameMetadata.cs deleted file mode 100644 index c38ae7f0e5..0000000000 --- a/src/Microsoft.AspNetCore.Routing/INameMetadata.cs +++ /dev/null @@ -1,10 +0,0 @@ -// Copyright (c) .NET Foundation. All rights reserved. -// Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information. - -namespace Microsoft.AspNetCore.Routing -{ - public interface INameMetadata - { - string Name { get; } - } -} diff --git a/src/Microsoft.AspNetCore.Routing/Matching/MatchProcessorBase.cs b/src/Microsoft.AspNetCore.Routing/Matching/MatchProcessorBase.cs deleted file mode 100644 index 9ac2196671..0000000000 --- a/src/Microsoft.AspNetCore.Routing/Matching/MatchProcessorBase.cs +++ /dev/null @@ -1,42 +0,0 @@ -// Copyright (c) .NET Foundation. All rights reserved. -// Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information. - -using Microsoft.AspNetCore.Http; - -namespace Microsoft.AspNetCore.Routing.Matching -{ - public abstract class MatchProcessorBase : MatchProcessor - { - public string ParameterName { get; private set; } - - public string ConstraintArgument { get; private set; } - - public override void Initialize(string parameterName, string constraintArgument) - { - ParameterName = parameterName; - ConstraintArgument = constraintArgument; - } - - public abstract bool Process(object value); - - public override bool ProcessInbound(HttpContext httpContext, RouteValueDictionary values) - { - return Process(values); - } - - public override bool ProcessOutbound(HttpContext httpContext, RouteValueDictionary values) - { - return Process(values); - } - - private bool Process(RouteValueDictionary values) - { - if (!values.TryGetValue(ParameterName, out var value) || value == null) - { - return false; - } - - return Process(value); - } - } -} diff --git a/src/Microsoft.AspNetCore.Routing/NameBasedEndpointFinder.cs b/src/Microsoft.AspNetCore.Routing/NameBasedEndpointFinder.cs deleted file mode 100644 index b10c2b7934..0000000000 --- a/src/Microsoft.AspNetCore.Routing/NameBasedEndpointFinder.cs +++ /dev/null @@ -1,46 +0,0 @@ -// Copyright (c) .NET Foundation. All rights reserved. -// Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information. - -using System; -using System.Collections.Generic; -using System.Linq; -using Microsoft.AspNetCore.Routing.Matching; -using Microsoft.Extensions.Logging; - -namespace Microsoft.AspNetCore.Routing -{ - internal class NameBasedEndpointFinder : IEndpointFinder - { - private readonly CompositeEndpointDataSource _endpointDatasource; - private readonly ILogger _logger; - - public NameBasedEndpointFinder( - CompositeEndpointDataSource endpointDataSource, - ILogger logger) - { - _endpointDatasource = endpointDataSource; - _logger = logger; - } - - public IEnumerable FindEndpoints(string endpointName) - { - if (string.IsNullOrEmpty(endpointName)) - { - return Array.Empty(); - } - - var endpoints = _endpointDatasource.Endpoints.OfType(); - - foreach (var endpoint in endpoints) - { - var nameMetadata = endpoint.Metadata.GetMetadata(); - if (nameMetadata != null && - string.Equals(endpointName, nameMetadata.Name, StringComparison.OrdinalIgnoreCase)) - { - return new[] { endpoint }; - } - } - return Array.Empty(); - } - } -} diff --git a/test/Microsoft.AspNetCore.Routing.Tests/Matching/DefaultMatchProcessorFactoryTest.cs b/test/Microsoft.AspNetCore.Routing.Tests/Matching/DefaultMatchProcessorFactoryTest.cs index 1be24950b1..acfd78d29f 100644 --- a/test/Microsoft.AspNetCore.Routing.Tests/Matching/DefaultMatchProcessorFactoryTest.cs +++ b/test/Microsoft.AspNetCore.Routing.Tests/Matching/DefaultMatchProcessorFactoryTest.cs @@ -61,8 +61,8 @@ namespace Microsoft.AspNetCore.Routing.Matching var factory = GetMatchProcessorFactory(); var parameter = RoutePatternFactory.ParameterPart( - "id", - @default: null, + "id", + @default: null, parameterKind: RoutePatternParameterKind.Standard, constraints: new[] { RoutePatternFactory.Constraint("int"), }); @@ -282,12 +282,38 @@ namespace Microsoft.AspNetCore.Routing.Matching } } - private class EndsWithStringMatchProcessor : MatchProcessorBase + private class EndsWithStringMatchProcessor : MatchProcessor { - public override bool Process(object value) + public string ParameterName { get; private set; } + + public string ConstraintArgument { get; private set; } + + public override void Initialize(string parameterName, string constraintArgument) { + ParameterName = parameterName; + ConstraintArgument = constraintArgument; + } + + public override bool ProcessInbound(HttpContext httpContext, RouteValueDictionary values) + { + return Process(values); + } + + public override bool ProcessOutbound(HttpContext httpContext, RouteValueDictionary values) + { + return Process(values); + } + + private bool Process(RouteValueDictionary values) + { + if (!values.TryGetValue(ParameterName, out var value) || value == null) + { + return false; + } + var valueString = Convert.ToString(value, CultureInfo.InvariantCulture); - return valueString.EndsWith(ConstraintArgument); + var endsWith = valueString.EndsWith(ConstraintArgument, StringComparison.OrdinalIgnoreCase); + return endsWith; } } } diff --git a/test/Microsoft.AspNetCore.Routing.Tests/RouteValueBasedEndpointFinderTest.cs b/test/Microsoft.AspNetCore.Routing.Tests/RouteValueBasedEndpointFinderTest.cs index af2cd3faf9..25ce04bf82 100644 --- a/test/Microsoft.AspNetCore.Routing.Tests/RouteValueBasedEndpointFinderTest.cs +++ b/test/Microsoft.AspNetCore.Routing.Tests/RouteValueBasedEndpointFinderTest.cs @@ -1,6 +1,7 @@ // Copyright (c) .NET Foundation. All rights reserved. // Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information. +using System; using System.Collections.Generic; using System.Linq; using System.Threading.Tasks; @@ -79,29 +80,6 @@ namespace Microsoft.AspNetCore.Routing Assert.Same(endpoint3, Assert.IsType(namedMatches[1].Match.Entry.Data)); } - [Fact] - public void GetOutboundMatches_DoesNotGetNamedMatchesFor_EndpointsHaving_INameMetadata() - { - // Arrange - var endpoint1 = CreateEndpoint("/a"); - var endpoint2 = CreateEndpoint("/a", routeName: "named"); - var endpoint3 = CreateEndpoint( - "/b", - metadataCollection: new EndpointMetadataCollection(new[] { new NameMetadata("named") })); - - // Act - var finder = CreateEndpointFinder(endpoint1, endpoint2); - - // Assert - Assert.NotNull(finder.AllMatches); - Assert.Equal(2, finder.AllMatches.Count()); - Assert.NotNull(finder.NamedMatches); - Assert.True(finder.NamedMatches.TryGetValue("named", out var namedMatches)); - var namedMatch = Assert.Single(namedMatches); - var actual = Assert.IsType(namedMatch.Match.Entry.Data); - Assert.Same(endpoint2, actual); - } - [Fact] public void EndpointDataSource_ChangeCallback_Refreshes_OutboundMatches() { @@ -279,16 +257,6 @@ namespace Microsoft.AspNetCore.Routing null); } - private class NameMetadata : INameMetadata - { - public NameMetadata(string name) - { - Name = name; - } - - public string Name { get; } - } - private class CustomRouteValuesBasedEndpointFinder : RouteValuesBasedEndpointFinder { public CustomRouteValuesBasedEndpointFinder( From 4d706f045f81782a62c29117893d3c7f03e8a6a4 Mon Sep 17 00:00:00 2001 From: Kiran Challa Date: Fri, 3 Aug 2018 12:45:31 -0700 Subject: [PATCH 116/221] rebase changes --- .../DefaultLinkGenerator.cs | 3 +- .../DefaultLinkGeneratorTest.cs | 29 +++++++++---------- 2 files changed, 16 insertions(+), 16 deletions(-) diff --git a/src/Microsoft.AspNetCore.Routing/DefaultLinkGenerator.cs b/src/Microsoft.AspNetCore.Routing/DefaultLinkGenerator.cs index d56e7092ea..f8e82f074f 100644 --- a/src/Microsoft.AspNetCore.Routing/DefaultLinkGenerator.cs +++ b/src/Microsoft.AspNetCore.Routing/DefaultLinkGenerator.cs @@ -108,10 +108,11 @@ namespace Microsoft.AspNetCore.Routing new RouteTemplate(endpoint.RoutePattern), new RouteValueDictionary(endpoint.RoutePattern.Defaults)); + var routeValuesAddressMetadata = endpoint.Metadata.GetMetadata(); var templateValuesResult = templateBinder.GetValues( ambientValues: ambientValues, explicitValues: explicitValues, - requiredKeys: endpoint.RequiredValues.Keys); + requiredKeys: routeValuesAddressMetadata?.RequiredValues.Keys); if (templateValuesResult == null) { // We're missing one of the required values for this route. diff --git a/test/Microsoft.AspNetCore.Routing.Tests/DefaultLinkGeneratorTest.cs b/test/Microsoft.AspNetCore.Routing.Tests/DefaultLinkGeneratorTest.cs index c226e3edd6..84e9701cd8 100644 --- a/test/Microsoft.AspNetCore.Routing.Tests/DefaultLinkGeneratorTest.cs +++ b/test/Microsoft.AspNetCore.Routing.Tests/DefaultLinkGeneratorTest.cs @@ -1311,9 +1311,10 @@ namespace Microsoft.AspNetCore.Routing // Arrange var endpoint1 = EndpointFactory.CreateMatcherEndpoint( "Product/Edit/{id}", - requiredValues: new { controller = "Product", action = "Edit", area = (string)null, page = (string)null }, defaults: new { controller = "Product", action = "Edit", area = (string)null, page = (string)null }, - metadata: new RouteNameMetadata("EditProduct")); + metadata: new RouteValuesAddressMetadata( + "EditProduct", + new RouteValueDictionary(new { controller = "Product", action = "Edit", area = (string)null, page = (string)null }))); var linkGenerator = CreateLinkGenerator(endpoint1); // Act @@ -1334,14 +1335,16 @@ namespace Microsoft.AspNetCore.Routing // Arrange var endpoint1 = EndpointFactory.CreateMatcherEndpoint( "Product/Edit/{id}", - requiredValues: new { controller = "Product", action = "Edit", area = (string)null, page = (string)null }, defaults: new { controller = "Product", action = "Edit", area = (string)null, page = (string)null }, - metadata: new RouteNameMetadata("default")); + metadata: new RouteValuesAddressMetadata( + "default", + new RouteValueDictionary(new { controller = "Product", action = "Edit", area = (string)null, page = (string)null }))); var endpoint2 = EndpointFactory.CreateMatcherEndpoint( "Product/Details/{id}", - requiredValues: new { controller = "Product", action = "Edit", area = (string)null, page = (string)null }, defaults: new { controller = "Product", action = "Edit", area = (string)null, page = (string)null }, - metadata: new RouteNameMetadata("default")); + metadata: new RouteValuesAddressMetadata( + "default", + new RouteValueDictionary(new { controller = "Product", action = "Edit", area = (string)null, page = (string)null }))); var linkGenerator = CreateLinkGenerator(endpoint1, endpoint2); // Act @@ -1528,6 +1531,11 @@ namespace Microsoft.AspNetCore.Routing } } + private interface INameMetadata + { + string Name { get; } + } + private class NameMetadata : INameMetadata { public NameMetadata(string name) @@ -1536,14 +1544,5 @@ namespace Microsoft.AspNetCore.Routing } public string Name { get; } } - - private class RouteNameMetadata : IRouteNameMetadata - { - public RouteNameMetadata(string name) - { - Name = name; - } - public string Name { get; } - } } } From 27a35d5d9bfa439c1c774da09dd995e4a7b82a64 Mon Sep 17 00:00:00 2001 From: Ryan Nowak Date: Fri, 3 Aug 2018 16:51:09 -0700 Subject: [PATCH 117/221] fix benchmarks manifest --- benchmarkapps/Benchmarks/benchmarks.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/benchmarkapps/Benchmarks/benchmarks.json b/benchmarkapps/Benchmarks/benchmarks.json index 794ea8c770..1779a80c8c 100644 --- a/benchmarkapps/Benchmarks/benchmarks.json +++ b/benchmarkapps/Benchmarks/benchmarks.json @@ -22,7 +22,7 @@ "PlaintextDispatcher": { "Path": "/plaintext" }, - "PlaintextGlobalRouting": { + "PlaintextEndpointRouting": { "Path": "/plaintext" } } From 5ee3ae90023c691c80e89a0ae059f1cc8828b614 Mon Sep 17 00:00:00 2001 From: James Newton-King Date: Sat, 4 Aug 2018 13:34:25 +1200 Subject: [PATCH 118/221] Add XML docs to data sources and metadata (#692) --- .../CompositeEndpointDataSource.cs | 11 ++++++++ .../DefaultEndpointDataSource.cs | 19 ++++++++++++++ .../EndpointDataSource.cs | 11 ++++++++ .../HttpMethodMetadata.cs | 25 +++++++++++++++++++ .../IHttpMethodMetadata.cs | 10 ++++++++ .../ISuppressLinkGenerationMetadata.cs | 4 +++ .../SuppressLinkGenerationMetadata.cs | 4 +++ 7 files changed, 84 insertions(+) diff --git a/src/Microsoft.AspNetCore.Routing/CompositeEndpointDataSource.cs b/src/Microsoft.AspNetCore.Routing/CompositeEndpointDataSource.cs index 3341b21796..b247291db4 100644 --- a/src/Microsoft.AspNetCore.Routing/CompositeEndpointDataSource.cs +++ b/src/Microsoft.AspNetCore.Routing/CompositeEndpointDataSource.cs @@ -12,6 +12,9 @@ using Microsoft.Extensions.Primitives; namespace Microsoft.AspNetCore.Routing { + /// + /// Represents an whose values come from a collection of instances. + /// [DebuggerDisplay("{DebuggerDisplayString,nq}")] public sealed class CompositeEndpointDataSource : EndpointDataSource { @@ -33,12 +36,20 @@ namespace Microsoft.AspNetCore.Routing _lock = new object(); } + /// + /// Gets a used to signal invalidation of cached + /// instances. + /// + /// The . public override IChangeToken GetChangeToken() { EnsureInitialized(); return _consumerChangeToken; } + /// + /// Returns a read-only collection of instances. + /// public override IReadOnlyList Endpoints { get diff --git a/src/Microsoft.AspNetCore.Routing/DefaultEndpointDataSource.cs b/src/Microsoft.AspNetCore.Routing/DefaultEndpointDataSource.cs index b73b8fcc0b..7ec3f4c6e6 100644 --- a/src/Microsoft.AspNetCore.Routing/DefaultEndpointDataSource.cs +++ b/src/Microsoft.AspNetCore.Routing/DefaultEndpointDataSource.cs @@ -8,15 +8,26 @@ using Microsoft.Extensions.Primitives; namespace Microsoft.AspNetCore.Routing { + /// + /// Provides a collection of instances. + /// public sealed class DefaultEndpointDataSource : EndpointDataSource { private readonly List _endpoints; + /// + /// Initializes a new instance of the class. + /// + /// The instances that the data source will return. public DefaultEndpointDataSource(params Endpoint[] endpoints) : this((IEnumerable) endpoints) { } + /// + /// Initializes a new instance of the class. + /// + /// The instances that the data source will return. public DefaultEndpointDataSource(IEnumerable endpoints) { if (endpoints == null) @@ -28,8 +39,16 @@ namespace Microsoft.AspNetCore.Routing _endpoints.AddRange(endpoints); } + /// + /// Gets a used to signal invalidation of cached + /// instances. + /// + /// The . public override IChangeToken GetChangeToken() => NullChangeToken.Singleton; + /// + /// Returns a read-only collection of instances. + /// public override IReadOnlyList Endpoints => _endpoints; } } diff --git a/src/Microsoft.AspNetCore.Routing/EndpointDataSource.cs b/src/Microsoft.AspNetCore.Routing/EndpointDataSource.cs index b5a1c40ebe..6ae887d0a0 100644 --- a/src/Microsoft.AspNetCore.Routing/EndpointDataSource.cs +++ b/src/Microsoft.AspNetCore.Routing/EndpointDataSource.cs @@ -6,10 +6,21 @@ using Microsoft.Extensions.Primitives; namespace Microsoft.AspNetCore.Routing { + /// + /// Provides a collection of instances. + /// public abstract class EndpointDataSource { + /// + /// Gets a used to signal invalidation of cached + /// instances. + /// + /// The . public abstract IChangeToken GetChangeToken(); + /// + /// Returns a read-only collection of instances. + /// public abstract IReadOnlyList Endpoints { get; } } } diff --git a/src/Microsoft.AspNetCore.Routing/HttpMethodMetadata.cs b/src/Microsoft.AspNetCore.Routing/HttpMethodMetadata.cs index 7d76b56cd0..f01bf2a2a5 100644 --- a/src/Microsoft.AspNetCore.Routing/HttpMethodMetadata.cs +++ b/src/Microsoft.AspNetCore.Routing/HttpMethodMetadata.cs @@ -8,14 +8,32 @@ using System.Linq; namespace Microsoft.AspNetCore.Routing { + /// + /// Represents HTTP method metadata used during routing. + /// [DebuggerDisplay("{DebuggerToString(),nq}")] public sealed class HttpMethodMetadata : IHttpMethodMetadata { + /// + /// Initializes a new instance of the class. + /// + /// + /// The HTTP methods used during routing. + /// An empty collection means any HTTP method will be accepted. + /// public HttpMethodMetadata(IEnumerable httpMethods) : this(httpMethods, acceptCorsPreflight: false) { } + /// + /// Initializes a new instance of the class. + /// + /// + /// The HTTP methods used during routing. + /// An empty collection means any HTTP method will be accepted. + /// + /// A value indicating whether routing accepts CORS preflight requests. public HttpMethodMetadata(IEnumerable httpMethods, bool acceptCorsPreflight) { if (httpMethods == null) @@ -27,8 +45,15 @@ namespace Microsoft.AspNetCore.Routing AcceptCorsPreflight = acceptCorsPreflight; } + /// + /// Returns a value indicating whether the associated endpoint should accept CORS preflight requests. + /// public bool AcceptCorsPreflight { get; } + /// + /// Returns a read-only collection of HTTP methods used during routing. + /// An empty collection means any HTTP method will be accepted. + /// public IReadOnlyList HttpMethods { get; } private string DebuggerToString() diff --git a/src/Microsoft.AspNetCore.Routing/IHttpMethodMetadata.cs b/src/Microsoft.AspNetCore.Routing/IHttpMethodMetadata.cs index 83b99d8f72..af67c6e952 100644 --- a/src/Microsoft.AspNetCore.Routing/IHttpMethodMetadata.cs +++ b/src/Microsoft.AspNetCore.Routing/IHttpMethodMetadata.cs @@ -5,10 +5,20 @@ using System.Collections.Generic; namespace Microsoft.AspNetCore.Routing { + /// + /// Represents HTTP method metadata used during routing. + /// public interface IHttpMethodMetadata { + /// + /// Returns a value indicating whether the associated endpoint should accept CORS preflight requests. + /// bool AcceptCorsPreflight { get; } + /// + /// Returns a read-only collection of HTTP methods used during routing. + /// An empty collection means any HTTP method will be accepted. + /// IReadOnlyList HttpMethods { get; } } } diff --git a/src/Microsoft.AspNetCore.Routing/ISuppressLinkGenerationMetadata.cs b/src/Microsoft.AspNetCore.Routing/ISuppressLinkGenerationMetadata.cs index 23c5e168d8..4725b1a8c2 100644 --- a/src/Microsoft.AspNetCore.Routing/ISuppressLinkGenerationMetadata.cs +++ b/src/Microsoft.AspNetCore.Routing/ISuppressLinkGenerationMetadata.cs @@ -3,6 +3,10 @@ namespace Microsoft.AspNetCore.Routing { + /// + /// Represents metadata used during link generation. + /// The associated endpoint will not be considered for link generation. + /// public interface ISuppressLinkGenerationMetadata { } diff --git a/src/Microsoft.AspNetCore.Routing/SuppressLinkGenerationMetadata.cs b/src/Microsoft.AspNetCore.Routing/SuppressLinkGenerationMetadata.cs index 599267c570..88efd9077f 100644 --- a/src/Microsoft.AspNetCore.Routing/SuppressLinkGenerationMetadata.cs +++ b/src/Microsoft.AspNetCore.Routing/SuppressLinkGenerationMetadata.cs @@ -3,6 +3,10 @@ namespace Microsoft.AspNetCore.Routing { + /// + /// Represents metadata used during link generation. + /// The associated endpoint will not be considered for link generation. + /// public sealed class SuppressLinkGenerationMetadata : ISuppressLinkGenerationMetadata { } From e53a9f57dba3d53cddcc6393d08372316fac64a3 Mon Sep 17 00:00:00 2001 From: Ryan Nowak Date: Fri, 3 Aug 2018 13:48:55 -0700 Subject: [PATCH 119/221] adding more docs --- .../Matching/CandidateSet.cs | 36 ++++++++++++++-- .../Matching/CandidateState.cs | 30 ++++++++++++++ .../Matching/EndpointMetadataComparer.cs | 41 +++++++++++++++++++ .../Matching/EndpointSelector.cs | 17 ++++++++ .../Matching/HttpMethodMatcherPolicy.cs | 26 ++++++++++++ .../Matching/IEndpointComparerPolicy.cs | 22 ++++++++++ .../Matching/IEndpointSelectorPolicy.cs | 18 ++++++++ .../Matching/MatcherEndpoint.cs | 26 ++++++++++++ .../Matching/MatcherPolicy.cs | 18 ++++++++ 9 files changed, 230 insertions(+), 4 deletions(-) diff --git a/src/Microsoft.AspNetCore.Routing/Matching/CandidateSet.cs b/src/Microsoft.AspNetCore.Routing/Matching/CandidateSet.cs index dc51752923..be134bf6ce 100644 --- a/src/Microsoft.AspNetCore.Routing/Matching/CandidateSet.cs +++ b/src/Microsoft.AspNetCore.Routing/Matching/CandidateSet.cs @@ -6,6 +6,11 @@ using System.Runtime.CompilerServices; namespace Microsoft.AspNetCore.Routing.Matching { + /// + /// Represents a set of candidates that have been matched + /// by the routing system. Used by implementations of + /// and . + /// public sealed class CandidateSet { // We inline storage for 4 candidates here to avoid allocations in common @@ -18,8 +23,18 @@ namespace Microsoft.AspNetCore.Routing.Matching private CandidateState[] _additionalCandidates; - // Provided to make testing possible/easy for someone implementing - // an EndpointSelector. + /// + /// + /// Initializes a new instances of the candidate set structure with the provided list of endpoints + /// and associated scores. + /// + /// + /// The constructor is provided to enable unit tests of implementations of + /// and . + /// + /// + /// The list of endpoints, sorted in descending priority order. + /// The list of endpoint scores. . public CandidateSet(MatcherEndpoint[] endpoints, int[] scores) { Count = endpoints.Length; @@ -112,12 +127,25 @@ namespace Microsoft.AspNetCore.Routing.Matching } } + /// + /// Gets the count of candidates in the set. + /// public int Count { get; } - // Note that this is a ref-return because of both mutability and performance. - // We don't want to copy these fat structs if it can be avoided. + /// + /// Gets the associated with the candidate + /// at . + /// + /// The candidate index. + /// + /// A reference to the . The result is returned by reference + /// and intended to be mutated. + /// public ref CandidateState this[int index] { + // Note that this is a ref-return because of both mutability and performance. + // We don't want to copy these fat structs if it can be avoided. + // PERF: Force inlining [MethodImpl(MethodImplOptions.AggressiveInlining)] get diff --git a/src/Microsoft.AspNetCore.Routing/Matching/CandidateState.cs b/src/Microsoft.AspNetCore.Routing/Matching/CandidateState.cs index 4cb525bfac..cf27c04c78 100644 --- a/src/Microsoft.AspNetCore.Routing/Matching/CandidateState.cs +++ b/src/Microsoft.AspNetCore.Routing/Matching/CandidateState.cs @@ -3,6 +3,9 @@ namespace Microsoft.AspNetCore.Routing.Matching { + /// + /// The mutable state associated with a candidate in a . + /// public struct CandidateState { internal CandidateState(MatcherEndpoint endpoint, int score) @@ -14,12 +17,39 @@ namespace Microsoft.AspNetCore.Routing.Matching Values = null; } + /// + /// Gets the . + /// public MatcherEndpoint Endpoint { get; } + /// + /// Gets the score of the within the current + /// . + /// + /// + /// + /// Candidates within a set are ordered in priority order and then assigned a + /// sequential score value based on that ordering. Candiates with the same + /// score are considered to have equal priority. + /// + /// + /// The score values are used in the to determine + /// whether a set of matching candidates is an ambiguous match. + /// + /// public int Score { get; } + /// + /// Gets or sets a value which indicates where the is considered + /// a valid candiate for the current request. Set this value to false to exclude an + /// from consideration. + /// public bool IsValidCandidate { get; set; } + /// + /// Gets or sets the associated with the + /// and the current request. + /// public RouteValueDictionary Values { get; set; } } } diff --git a/src/Microsoft.AspNetCore.Routing/Matching/EndpointMetadataComparer.cs b/src/Microsoft.AspNetCore.Routing/Matching/EndpointMetadataComparer.cs index 6c617f5d03..b2a7b9ec00 100644 --- a/src/Microsoft.AspNetCore.Routing/Matching/EndpointMetadataComparer.cs +++ b/src/Microsoft.AspNetCore.Routing/Matching/EndpointMetadataComparer.cs @@ -6,10 +6,30 @@ using System.Collections.Generic; namespace Microsoft.AspNetCore.Routing.Matching { + /// + /// A base class for implementations that use + /// a specific type of metadata from for comparison. + /// Useful for implementing . + /// + /// + /// The type of metadata to compare. Typically this is a type of metadata related + /// to the application concern being handled. + /// public abstract class EndpointMetadataComparer : IComparer where TMetadata : class { public static readonly EndpointMetadataComparer Default = new DefaultComparer(); + /// + /// Compares two objects and returns a value indicating whether one is less than, equal to, + /// or greater than the other. + /// + /// The first object to compare. + /// The second object to compare. + /// + /// An implementation of this method must return a value less than zero if + /// x is less than y, zero if x is equal to y, or a value greater than zero if x is + /// greater than y. + /// public int Compare(Endpoint x, Endpoint y) { if (x == null) @@ -25,11 +45,32 @@ namespace Microsoft.AspNetCore.Routing.Matching return CompareMetadata(GetMetadata(x), GetMetadata(y)); } + /// + /// Gets the metadata of type from the provided endpoint. + /// + /// The . + /// The instance or null. protected virtual TMetadata GetMetadata(Endpoint endpoint) { return endpoint.Metadata.GetMetadata(); } + /// + /// Compares two instances. + /// + /// The first object to compare. + /// The second object to compare. + /// + /// An implementation of this method must return a value less than zero if + /// x is less than y, zero if x is equal to y, or a value greater than zero if x is + /// greater than y. + /// + /// + /// The base-class implementation of this method will compare metadata based on whether + /// or not they are null. The effect of this is that when endpoints are being + /// compared, the endpoint that defines an instance of + /// will be considered higher priority. + /// protected virtual int CompareMetadata(TMetadata x, TMetadata y) { // The default policy is that if x endpoint defines TMetadata, and diff --git a/src/Microsoft.AspNetCore.Routing/Matching/EndpointSelector.cs b/src/Microsoft.AspNetCore.Routing/Matching/EndpointSelector.cs index 0af172bdca..436c3df6f5 100644 --- a/src/Microsoft.AspNetCore.Routing/Matching/EndpointSelector.cs +++ b/src/Microsoft.AspNetCore.Routing/Matching/EndpointSelector.cs @@ -6,8 +6,25 @@ using Microsoft.AspNetCore.Http; namespace Microsoft.AspNetCore.Routing.Matching { + /// + /// A service that is responsible for the final selection + /// decision. To use a custom register an implementation + /// of in the dependency injection container as a singleton. + /// public abstract class EndpointSelector { + /// + /// Asynchronously selects an from the . + /// + /// The associated with the current request. + /// The associated with the current request. + /// The . + /// A that completes asynchronously once endpoint selection is complete. + /// + /// An should assign the , + /// , and properties + /// once an endpoint is selected. + /// public abstract Task SelectAsync( HttpContext httpContext, IEndpointFeature feature, diff --git a/src/Microsoft.AspNetCore.Routing/Matching/HttpMethodMatcherPolicy.cs b/src/Microsoft.AspNetCore.Routing/Matching/HttpMethodMatcherPolicy.cs index 9968395b29..0be502b1a2 100644 --- a/src/Microsoft.AspNetCore.Routing/Matching/HttpMethodMatcherPolicy.cs +++ b/src/Microsoft.AspNetCore.Routing/Matching/HttpMethodMatcherPolicy.cs @@ -12,6 +12,10 @@ using Microsoft.Extensions.Primitives; namespace Microsoft.AspNetCore.Routing.Matching { + /// + /// An that implements filtering and selection by + /// the HTTP method of a request. + /// public sealed class HttpMethodMatcherPolicy : MatcherPolicy, IEndpointComparerPolicy, INodeBuilderPolicy { // Used in tests @@ -25,12 +29,23 @@ namespace Microsoft.AspNetCore.Routing.Matching // Used in tests internal const string AnyMethod = "*"; + /// + /// For framework use only. + /// public IComparer Comparer => new HttpMethodMetadataEndpointComparer(); // The order value is chosen to be less than 0, so that it comes before naively // written policies. + /// + /// For framework use only. + /// public override int Order => -1000; + /// + /// For framework use only. + /// + /// + /// public bool AppliesToNode(IReadOnlyList endpoints) { if (endpoints == null) @@ -49,6 +64,11 @@ namespace Microsoft.AspNetCore.Routing.Matching return false; } + /// + /// For framework use only. + /// + /// + /// public IReadOnlyList GetEdges(IReadOnlyList endpoints) { // The algorithm here is designed to be preserve the order of the endpoints @@ -180,6 +200,12 @@ namespace Microsoft.AspNetCore.Routing.Matching } } + /// + /// For framework use only. + /// + /// + /// + /// public PolicyJumpTable BuildJumpTable(int exitDestination, IReadOnlyList edges) { var destinations = new Dictionary(StringComparer.OrdinalIgnoreCase); diff --git a/src/Microsoft.AspNetCore.Routing/Matching/IEndpointComparerPolicy.cs b/src/Microsoft.AspNetCore.Routing/Matching/IEndpointComparerPolicy.cs index 9c187a6fec..a1010c181c 100644 --- a/src/Microsoft.AspNetCore.Routing/Matching/IEndpointComparerPolicy.cs +++ b/src/Microsoft.AspNetCore.Routing/Matching/IEndpointComparerPolicy.cs @@ -5,8 +5,30 @@ using System.Collections.Generic; namespace Microsoft.AspNetCore.Routing.Matching { + /// + /// A interface that can be implemented to sort + /// endpoints. Implementations of must + /// inherit from and should be registered in + /// the dependency injection container as singleton services of type . + /// + /// + /// + /// Candidates in a are sorted based on their priority. Defining + /// a adds an additional criterion to the sorting + /// operation used to order candidates. + /// + /// + /// As an example, the implementation of implements + /// to ensure that endpoints matching specific HTTP + /// methods are sorted with a higher priority than endpoints without a specific HTTP method + /// requirement. + /// + /// public interface IEndpointComparerPolicy { + /// + /// Gets an that will be used to sort the endpoints. + /// IComparer Comparer { get; } } } diff --git a/src/Microsoft.AspNetCore.Routing/Matching/IEndpointSelectorPolicy.cs b/src/Microsoft.AspNetCore.Routing/Matching/IEndpointSelectorPolicy.cs index 63fe7dd8fd..7dfd04b7bd 100644 --- a/src/Microsoft.AspNetCore.Routing/Matching/IEndpointSelectorPolicy.cs +++ b/src/Microsoft.AspNetCore.Routing/Matching/IEndpointSelectorPolicy.cs @@ -5,8 +5,26 @@ using Microsoft.AspNetCore.Http; namespace Microsoft.AspNetCore.Routing.Matching { + /// + /// A interface that can implemented to filter endpoints + /// in a . Implementations of must + /// inherit from and should be registered in + /// the dependency injection container as singleton services of type . + /// public interface IEndpointSelectorPolicy { + /// + /// Applies the policy to the . + /// + /// + /// The associated with the current request. + /// + /// The . + /// + /// Implementations of should implement this method + /// and filter the set of candidates in the by setting + /// to false where desired. + /// void Apply(HttpContext httpContext, CandidateSet candidates); } } diff --git a/src/Microsoft.AspNetCore.Routing/Matching/MatcherEndpoint.cs b/src/Microsoft.AspNetCore.Routing/Matching/MatcherEndpoint.cs index 194fb0dc3d..ff5067cb81 100644 --- a/src/Microsoft.AspNetCore.Routing/Matching/MatcherEndpoint.cs +++ b/src/Microsoft.AspNetCore.Routing/Matching/MatcherEndpoint.cs @@ -9,6 +9,9 @@ using Microsoft.AspNetCore.Routing.Patterns; namespace Microsoft.AspNetCore.Routing.Matching { + /// + /// Represents an that can be used in URL matching or URL generation. + /// public sealed class MatcherEndpoint : Endpoint { internal static readonly Func EmptyInvoker = (next) => @@ -16,6 +19,16 @@ namespace Microsoft.AspNetCore.Routing.Matching return (context) => Task.CompletedTask; }; + /// + /// Initializes a new instance of the class. + /// + /// The delegate to invoke to create a . + /// The to use in URL matching. + /// The order assigned to the endpoint. + /// + /// The or metadata associated with the endpoint. + /// + /// The informational display name of the endpoint. public MatcherEndpoint( Func invoker, RoutePattern routePattern, @@ -39,10 +52,23 @@ namespace Microsoft.AspNetCore.Routing.Matching Order = order; } + /// + /// Gets the invoker. The invoker is a delegate used to create a . + /// public Func Invoker { get; } + /// + /// Gets the order value of endpoint. + /// + /// + /// The order value provides absolute control over the priority + /// of an endpoint. Endpoints with a lower numeric value of order have higher priority. + /// public int Order { get; } + /// + /// Gets the associated with the endpoint. + /// public RoutePattern RoutePattern { get; } } } diff --git a/src/Microsoft.AspNetCore.Routing/Matching/MatcherPolicy.cs b/src/Microsoft.AspNetCore.Routing/Matching/MatcherPolicy.cs index 92d715c936..05a654efd9 100644 --- a/src/Microsoft.AspNetCore.Routing/Matching/MatcherPolicy.cs +++ b/src/Microsoft.AspNetCore.Routing/Matching/MatcherPolicy.cs @@ -1,10 +1,28 @@ // Copyright (c) .NET Foundation. All rights reserved. // Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information. +using Microsoft.AspNetCore.Routing.Matching; + namespace Microsoft.AspNetCore.Routing { + /// + /// Defines a policy that applies behaviors to the URL matcher. Implementations + /// of and related interfaces must be registered + /// in the dependency injection container as singleton services of type + /// . + /// + /// + /// implementations can implement the following + /// interfaces , , + /// and . + /// public abstract class MatcherPolicy { + /// + /// Gets a value that determines the order the should + /// be applied. Policies are applied in ascending numeric value of the + /// property. + /// public abstract int Order { get; } } } From c44f2303e7dfce50a85cb60abab38b357d8c5af1 Mon Sep 17 00:00:00 2001 From: "ASP.NET CI" Date: Sun, 5 Aug 2018 19:25:57 +0000 Subject: [PATCH 120/221] Update dependencies.props [auto-updated: dependencies] --- build/dependencies.props | 54 ++++++++++++++++++++-------------------- korebuild-lock.txt | 4 +-- 2 files changed, 29 insertions(+), 29 deletions(-) diff --git a/build/dependencies.props b/build/dependencies.props index 252281f058..2446afb639 100644 --- a/build/dependencies.props +++ b/build/dependencies.props @@ -4,33 +4,33 @@ 0.10.13 - 2.2.0-preview1-17102 - 2.2.0-preview1-34823 - 2.2.0-preview1-34823 - 2.2.0-preview1-34823 - 2.2.0-preview1-34823 - 2.2.0-preview1-34823 - 2.2.0-preview1-34823 - 2.2.0-preview1-34823 - 2.2.0-preview1-34823 - 2.2.0-preview1-34823 - 2.2.0-preview1-34823 - 2.2.0-preview1-34823 - 2.2.0-preview1-34823 - 2.2.0-preview1-34823 - 2.2.0-preview1-34823 - 2.2.0-preview1-34823 - 2.2.0-preview1-34823 - 2.2.0-preview1-34823 - 2.2.0-preview1-34823 - 2.2.0-preview1-34823 - 2.2.0-preview1-34823 - 2.2.0-preview1-34823 - 2.2.0-preview1-34823 - 2.2.0-preview1-34823 - 2.2.0-preview1-34823 - 2.2.0-preview1-34823 - 2.2.0-preview1-34823 + 2.2.0-preview1-20180731.1 + 2.2.0-preview1-34882 + 2.2.0-preview1-34882 + 2.2.0-preview1-34882 + 2.2.0-preview1-34882 + 2.2.0-preview1-34882 + 2.2.0-preview1-34882 + 2.2.0-preview1-34882 + 2.2.0-preview1-34882 + 2.2.0-preview1-34882 + 2.2.0-preview1-34882 + 2.2.0-preview1-34882 + 2.2.0-preview1-34882 + 2.2.0-preview1-34882 + 2.2.0-preview1-34882 + 2.2.0-preview1-34882 + 2.2.0-preview1-34882 + 2.2.0-preview1-34882 + 2.2.0-preview1-34882 + 2.2.0-preview1-34882 + 2.2.0-preview1-34882 + 2.2.0-preview1-34882 + 2.2.0-preview1-34882 + 2.2.0-preview1-34882 + 2.2.0-preview1-34882 + 2.2.0-preview1-34882 + 2.2.0-preview1-34882 2.0.9 2.1.2 2.2.0-preview1-26618-02 diff --git a/korebuild-lock.txt b/korebuild-lock.txt index 6b8da29e6b..c7af2292c7 100644 --- a/korebuild-lock.txt +++ b/korebuild-lock.txt @@ -1,2 +1,2 @@ -version:2.2.0-preview1-17102 -commithash:e7e2b5a97ca92cfc6acc4def534cb0901a6d1eb9 +version:2.2.0-preview1-20180731.1 +commithash:29fde58465439f4bb9df40830635ed758e063daf From 0aee3f359509e162c5b4097fc356d7cad778a2ca Mon Sep 17 00:00:00 2001 From: "ASP.NET CI" Date: Mon, 6 Aug 2018 20:49:29 +0000 Subject: [PATCH 121/221] Update dependencies.props [auto-updated: dependencies] --- build/dependencies.props | 52 ++++++++++++++++++++-------------------- 1 file changed, 26 insertions(+), 26 deletions(-) diff --git a/build/dependencies.props b/build/dependencies.props index 2446afb639..88f5055213 100644 --- a/build/dependencies.props +++ b/build/dependencies.props @@ -5,32 +5,32 @@ 0.10.13 2.2.0-preview1-20180731.1 - 2.2.0-preview1-34882 - 2.2.0-preview1-34882 - 2.2.0-preview1-34882 - 2.2.0-preview1-34882 - 2.2.0-preview1-34882 - 2.2.0-preview1-34882 - 2.2.0-preview1-34882 - 2.2.0-preview1-34882 - 2.2.0-preview1-34882 - 2.2.0-preview1-34882 - 2.2.0-preview1-34882 - 2.2.0-preview1-34882 - 2.2.0-preview1-34882 - 2.2.0-preview1-34882 - 2.2.0-preview1-34882 - 2.2.0-preview1-34882 - 2.2.0-preview1-34882 - 2.2.0-preview1-34882 - 2.2.0-preview1-34882 - 2.2.0-preview1-34882 - 2.2.0-preview1-34882 - 2.2.0-preview1-34882 - 2.2.0-preview1-34882 - 2.2.0-preview1-34882 - 2.2.0-preview1-34882 - 2.2.0-preview1-34882 + 2.2.0-preview1-34896 + 2.2.0-preview1-34896 + 2.2.0-preview1-34896 + 2.2.0-preview1-34896 + 2.2.0-preview1-34896 + 2.2.0-preview1-34896 + 2.2.0-preview1-34896 + 2.2.0-preview1-34896 + 2.2.0-preview1-34896 + 2.2.0-preview1-34896 + 2.2.0-preview1-34896 + 2.2.0-preview1-34896 + 2.2.0-preview1-34896 + 2.2.0-preview1-34896 + 2.2.0-preview1-34896 + 2.2.0-preview1-34896 + 2.2.0-preview1-34896 + 2.2.0-preview1-34896 + 2.2.0-preview1-34896 + 2.2.0-preview1-34896 + 2.2.0-preview1-34896 + 2.2.0-preview1-34896 + 2.2.0-preview1-34896 + 2.2.0-preview1-34896 + 2.2.0-preview1-34896 + 2.2.0-preview1-34896 2.0.9 2.1.2 2.2.0-preview1-26618-02 From 39c570014826fb6a4fde3b64c31a91fbe31b440a Mon Sep 17 00:00:00 2001 From: James Newton-King Date: Tue, 7 Aug 2018 13:14:35 +1200 Subject: [PATCH 122/221] Add docs to RouteValuesAddress (#695) --- .../RouteValuesAddress.cs | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/src/Microsoft.AspNetCore.Routing/RouteValuesAddress.cs b/src/Microsoft.AspNetCore.Routing/RouteValuesAddress.cs index fd910c3ead..eec1660854 100644 --- a/src/Microsoft.AspNetCore.Routing/RouteValuesAddress.cs +++ b/src/Microsoft.AspNetCore.Routing/RouteValuesAddress.cs @@ -3,12 +3,24 @@ namespace Microsoft.AspNetCore.Routing { + /// + /// An address of route name and values. + /// public class RouteValuesAddress { + /// + /// Gets or sets the route name. + /// public string RouteName { get; set; } + /// + /// Gets or sets the route values that are explicitly specified. + /// public RouteValueDictionary ExplicitValues { get; set; } + /// + /// Gets or sets ambient route values from the current HTTP request. + /// public RouteValueDictionary AmbientValues { get; set; } } } From dce72c955381feef1576b9fa5bd9a6023b806b89 Mon Sep 17 00:00:00 2001 From: James Newton-King Date: Tue, 7 Aug 2018 17:49:31 +1200 Subject: [PATCH 123/221] Remove public extension methods for registering endpoint routing (#697) --- ...ointRoutingApplicationBuilderExtensions.cs | 19 ------------------- ...ointRoutingApplicationBuilderExtensions.cs | 4 ---- 2 files changed, 23 deletions(-) delete mode 100644 src/Microsoft.AspNetCore.Routing/Builder/EndpointRoutingApplicationBuilderExtensions.cs diff --git a/src/Microsoft.AspNetCore.Routing/Builder/EndpointRoutingApplicationBuilderExtensions.cs b/src/Microsoft.AspNetCore.Routing/Builder/EndpointRoutingApplicationBuilderExtensions.cs deleted file mode 100644 index 428fae6ab1..0000000000 --- a/src/Microsoft.AspNetCore.Routing/Builder/EndpointRoutingApplicationBuilderExtensions.cs +++ /dev/null @@ -1,19 +0,0 @@ -// Copyright (c) .NET Foundation. All rights reserved. -// Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information. - -namespace Microsoft.AspNetCore.Builder -{ - // TODO: Remove once MVC is updated - public static class EndpointRoutingApplicationBuilderExtensions - { - public static IApplicationBuilder UseGlobalRouting(this IApplicationBuilder builder) - { - return Internal.EndpointRoutingApplicationBuilderExtensions.UseEndpointRouting(builder); - } - - public static IApplicationBuilder UseEndpoint(this IApplicationBuilder builder) - { - return Internal.EndpointRoutingApplicationBuilderExtensions.UseEndpoint(builder); - } - } -} diff --git a/src/Microsoft.AspNetCore.Routing/Internal/EndpointRoutingApplicationBuilderExtensions.cs b/src/Microsoft.AspNetCore.Routing/Internal/EndpointRoutingApplicationBuilderExtensions.cs index 03dd6b4247..281607cfba 100644 --- a/src/Microsoft.AspNetCore.Routing/Internal/EndpointRoutingApplicationBuilderExtensions.cs +++ b/src/Microsoft.AspNetCore.Routing/Internal/EndpointRoutingApplicationBuilderExtensions.cs @@ -11,9 +11,6 @@ namespace Microsoft.AspNetCore.Internal { public static class EndpointRoutingApplicationBuilderExtensions { - // TODO: Remove once MVC is updated - private const string GlobalRoutingRegisteredKey = "__GlobalRoutingMiddlewareRegistered"; - private const string EndpointRoutingRegisteredKey = "__EndpointRoutingMiddlewareRegistered"; public static IApplicationBuilder UseEndpointRouting(this IApplicationBuilder builder) @@ -21,7 +18,6 @@ namespace Microsoft.AspNetCore.Internal VerifyRoutingIsRegistered(builder); builder.Properties[EndpointRoutingRegisteredKey] = true; - builder.Properties[GlobalRoutingRegisteredKey] = true; return builder.UseMiddleware(); } From 12cb35894ec5a49d4c9f42500e415571c301f692 Mon Sep 17 00:00:00 2001 From: Ryan Nowak Date: Mon, 6 Aug 2018 20:52:08 -0700 Subject: [PATCH 124/221] Add support for GraphViz Adds **internal** support for dumping a route table to GraphViz DOT notation. This allows us to dump the DFA graph for a route table and visualize it. Example: https://gist.github.com/rynowak/2b24e4a6a602ca6f9c4de3ec227d621b --- .../UseEndpointRoutingStartup.cs | 18 ++++ .../RoutingServiceCollectionExtensions.cs | 1 + .../Internal/DfaGraphWriter.cs | 92 +++++++++++++++++++ .../Matching/DfaMatcherBuilder.cs | 5 +- .../Matching/HttpMethodMatcherPolicy.cs | 7 ++ 5 files changed, 122 insertions(+), 1 deletion(-) create mode 100644 src/Microsoft.AspNetCore.Routing/Internal/DfaGraphWriter.cs diff --git a/samples/RoutingSample.Web/UseEndpointRoutingStartup.cs b/samples/RoutingSample.Web/UseEndpointRoutingStartup.cs index 77b41e87a8..7736561627 100644 --- a/samples/RoutingSample.Web/UseEndpointRoutingStartup.cs +++ b/samples/RoutingSample.Web/UseEndpointRoutingStartup.cs @@ -2,10 +2,13 @@ // Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information. using System; +using System.IO; using System.Text; +using System.Threading.Tasks; using Microsoft.AspNetCore.Http; using Microsoft.AspNetCore.Internal; using Microsoft.AspNetCore.Routing; +using Microsoft.AspNetCore.Routing.Internal; using Microsoft.AspNetCore.Routing.Matching; using Microsoft.AspNetCore.Routing.Patterns; using Microsoft.Extensions.DependencyInjection; @@ -77,6 +80,21 @@ namespace RoutingSample.Web 0, EndpointMetadataCollection.Empty, "withoptionalconstraints"), + new MatcherEndpoint((next) => (httpContext) => + { + using (var writer = new StreamWriter(httpContext.Response.Body, Encoding.UTF8, 1024, leaveOpen: true)) + { + var graphWriter = httpContext.RequestServices.GetRequiredService(); + var dataSource = httpContext.RequestServices.GetRequiredService(); + graphWriter.Write(dataSource, writer); + } + + return Task.CompletedTask; + }, + RoutePatternFactory.Parse("/graph"), + 0, + new EndpointMetadataCollection(new HttpMethodMetadata(new[]{ "GET", })), + "DFA Graph"), }); services.TryAddEnumerable(ServiceDescriptor.Singleton(endpointDataSource)); diff --git a/src/Microsoft.AspNetCore.Routing/DependencyInjection/RoutingServiceCollectionExtensions.cs b/src/Microsoft.AspNetCore.Routing/DependencyInjection/RoutingServiceCollectionExtensions.cs index 19f3d0e77a..366f2d30fa 100644 --- a/src/Microsoft.AspNetCore.Routing/DependencyInjection/RoutingServiceCollectionExtensions.cs +++ b/src/Microsoft.AspNetCore.Routing/DependencyInjection/RoutingServiceCollectionExtensions.cs @@ -65,6 +65,7 @@ namespace Microsoft.Extensions.DependencyInjection services.TryAddSingleton(); services.TryAddSingleton(); services.TryAddTransient(); + services.TryAddSingleton(); // Link generation related services services.TryAddSingleton, RouteValuesBasedEndpointFinder>(); diff --git a/src/Microsoft.AspNetCore.Routing/Internal/DfaGraphWriter.cs b/src/Microsoft.AspNetCore.Routing/Internal/DfaGraphWriter.cs new file mode 100644 index 0000000000..9a1c8773f3 --- /dev/null +++ b/src/Microsoft.AspNetCore.Routing/Internal/DfaGraphWriter.cs @@ -0,0 +1,92 @@ +// Copyright (c) .NET Foundation. All rights reserved. +// Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information. + +using System; +using System.Collections.Generic; +using System.IO; +using Microsoft.AspNetCore.Routing.Matching; +using Microsoft.Extensions.DependencyInjection; + +namespace Microsoft.AspNetCore.Routing.Internal +{ + /// + /// + /// A singleton service that can be used to write the route table as a state machine + /// in GraphViz DOT language https://www.graphviz.org/doc/info/lang.html + /// + /// + /// You can use http://www.webgraphviz.com/ to visualize the results. + /// + /// + /// This type has no support contract, and may be removed or changed at any time in + /// a future release. + /// + /// + public class DfaGraphWriter + { + private readonly IServiceProvider _services; + + public DfaGraphWriter(IServiceProvider services) + { + _services = services; + } + + public void Write(EndpointDataSource dataSource, TextWriter writer) + { + var builder = _services.GetRequiredService(); + + var endpoints = dataSource.Endpoints; + for (var i = 0; i < endpoints.Count; i++) + { + var endpoint = endpoints[i] as MatcherEndpoint; + if (endpoint != null) + { + builder.AddEndpoint(endpoint); + } + } + + // Assign each node a sequential index. + var visited = new Dictionary(); + + var tree = builder.BuildDfaTree(); + + writer.WriteLine("digraph DFA {"); + tree.Visit(WriteNode); + writer.WriteLine("}"); + + void WriteNode(DfaNode node) + { + if (!visited.TryGetValue(node, out var label)) + { + label = visited.Count; + visited.Add(node, label); + } + + // We can safely index into visited because this is a post-order traversal, + // all of the children of this node are already in the dictionary. + + foreach (var literal in node.Literals) + { + writer.WriteLine($"{label} -> {visited[literal.Value]} [label=\"/{literal.Key}\"]"); + } + + if (node.Parameters != null) + { + writer.WriteLine($"{label} -> {visited[node.Parameters]} [label=\"/*\"]"); + } + + if (node.CatchAll != null && node.Parameters != node.CatchAll) + { + writer.WriteLine($"{label} -> {visited[node.CatchAll]} [label=\"/**\"]"); + } + + foreach (var policy in node.PolicyEdges) + { + writer.WriteLine($"{label} -> {visited[policy.Value]} [label=\"{policy.Key}\"]"); + } + + writer.WriteLine($"{label} [label=\"{node.Label}\"]"); + } + } + } +} diff --git a/src/Microsoft.AspNetCore.Routing/Matching/DfaMatcherBuilder.cs b/src/Microsoft.AspNetCore.Routing/Matching/DfaMatcherBuilder.cs index 3157672ea1..b5c3c5e00c 100644 --- a/src/Microsoft.AspNetCore.Routing/Matching/DfaMatcherBuilder.cs +++ b/src/Microsoft.AspNetCore.Routing/Matching/DfaMatcherBuilder.cs @@ -534,7 +534,10 @@ namespace Microsoft.AspNetCore.Routing.Matching { var edge = edges[k]; - var next = new DfaNode(); + var next = new DfaNode() + { + Label = parent.Label + " " + edge.State.ToString(), + }; // TODO: https://github.com/aspnet/Routing/issues/648 next.Matches.AddRange(edge.Endpoints.Cast().ToArray()); diff --git a/src/Microsoft.AspNetCore.Routing/Matching/HttpMethodMatcherPolicy.cs b/src/Microsoft.AspNetCore.Routing/Matching/HttpMethodMatcherPolicy.cs index 0be502b1a2..4a08df719b 100644 --- a/src/Microsoft.AspNetCore.Routing/Matching/HttpMethodMatcherPolicy.cs +++ b/src/Microsoft.AspNetCore.Routing/Matching/HttpMethodMatcherPolicy.cs @@ -3,6 +3,7 @@ using System; using System.Collections.Generic; +using System.IO; using System.Linq; using System.Threading.Tasks; using Microsoft.AspNetCore.Http; @@ -367,6 +368,12 @@ namespace Microsoft.AspNetCore.Routing.Matching hash.Add(HttpMethod, StringComparer.Ordinal); return hash; } + + // Used in GraphViz output. + public override string ToString() + { + return IsCorsPreflightRequest ? $"CORS: {HttpMethod}" : $"HTTP: {HttpMethod}"; + } } } } From e2892f82ed7443be2e43be0be634c8355ac5ae30 Mon Sep 17 00:00:00 2001 From: "ASP.NET CI" Date: Sun, 12 Aug 2018 19:27:56 +0000 Subject: [PATCH 125/221] Update dependencies.props [auto-updated: dependencies] --- build/dependencies.props | 54 ++++++++++++++++++++-------------------- korebuild-lock.txt | 4 +-- 2 files changed, 29 insertions(+), 29 deletions(-) diff --git a/build/dependencies.props b/build/dependencies.props index 88f5055213..bb0f911ee5 100644 --- a/build/dependencies.props +++ b/build/dependencies.props @@ -4,33 +4,33 @@ 0.10.13 - 2.2.0-preview1-20180731.1 - 2.2.0-preview1-34896 - 2.2.0-preview1-34896 - 2.2.0-preview1-34896 - 2.2.0-preview1-34896 - 2.2.0-preview1-34896 - 2.2.0-preview1-34896 - 2.2.0-preview1-34896 - 2.2.0-preview1-34896 - 2.2.0-preview1-34896 - 2.2.0-preview1-34896 - 2.2.0-preview1-34896 - 2.2.0-preview1-34896 - 2.2.0-preview1-34896 - 2.2.0-preview1-34896 - 2.2.0-preview1-34896 - 2.2.0-preview1-34896 - 2.2.0-preview1-34896 - 2.2.0-preview1-34896 - 2.2.0-preview1-34896 - 2.2.0-preview1-34896 - 2.2.0-preview1-34896 - 2.2.0-preview1-34896 - 2.2.0-preview1-34896 - 2.2.0-preview1-34896 - 2.2.0-preview1-34896 - 2.2.0-preview1-34896 + 2.2.0-preview1-20180807.2 + 2.2.0-preview1-34967 + 2.2.0-preview1-34967 + 2.2.0-preview1-34967 + 2.2.0-preview1-34967 + 2.2.0-preview1-34967 + 2.2.0-preview1-34967 + 2.2.0-preview1-34967 + 2.2.0-preview1-34967 + 2.2.0-preview1-34967 + 2.2.0-preview1-34967 + 2.2.0-preview1-34967 + 2.2.0-preview1-34967 + 2.2.0-preview1-34967 + 2.2.0-preview1-34967 + 2.2.0-preview1-34967 + 2.2.0-preview1-34967 + 2.2.0-preview1-34967 + 2.2.0-preview1-34967 + 2.2.0-preview1-34967 + 2.2.0-preview1-34967 + 2.2.0-preview1-34967 + 2.2.0-preview1-34967 + 2.2.0-preview1-34967 + 2.2.0-preview1-34967 + 2.2.0-preview1-34967 + 2.2.0-preview1-34967 2.0.9 2.1.2 2.2.0-preview1-26618-02 diff --git a/korebuild-lock.txt b/korebuild-lock.txt index c7af2292c7..3fbcc80189 100644 --- a/korebuild-lock.txt +++ b/korebuild-lock.txt @@ -1,2 +1,2 @@ -version:2.2.0-preview1-20180731.1 -commithash:29fde58465439f4bb9df40830635ed758e063daf +version:2.2.0-preview1-20180807.2 +commithash:11495dbd236104434e08cb1152fcb58cf2a20923 From e09b88ebd65377d88443edf254eeedf9f2f5e315 Mon Sep 17 00:00:00 2001 From: Ryan Nowak Date: Tue, 14 Aug 2018 10:07:22 -0700 Subject: [PATCH 126/221] Tokenize Less --- .../MatcherFindCandidateSetAzureBenchmark.cs | 6 +++++- .../MatcherFindCandidateSetGithubBenchmark.cs | 6 +++++- ...erFindCandidateSetSingleEntryBenchmark.cs} | 9 ++++++--- ...indCandidateSetSmallEntryCountBenchmark.cs | 5 ++++- .../Matching/DfaMatcher.cs | 8 +++++--- .../Matching/DfaMatcherBuilder.cs | 19 +++++++++++++------ .../Matching/DfaNode.cs | 6 ++++-- .../Matching/FastPathTokenizer.cs | 10 ---------- 8 files changed, 42 insertions(+), 27 deletions(-) rename benchmarks/Microsoft.AspNetCore.Routing.Performance/Matching/{MatcheFindCandidateSetSingleEntryBenchmark.cs => MatcherFindCandidateSetSingleEntryBenchmark.cs} (91%) diff --git a/benchmarks/Microsoft.AspNetCore.Routing.Performance/Matching/MatcherFindCandidateSetAzureBenchmark.cs b/benchmarks/Microsoft.AspNetCore.Routing.Performance/Matching/MatcherFindCandidateSetAzureBenchmark.cs index 84f6ac7dad..96f3d2afcc 100644 --- a/benchmarks/Microsoft.AspNetCore.Routing.Performance/Matching/MatcherFindCandidateSetAzureBenchmark.cs +++ b/benchmarks/Microsoft.AspNetCore.Routing.Performance/Matching/MatcherFindCandidateSetAzureBenchmark.cs @@ -9,6 +9,10 @@ namespace Microsoft.AspNetCore.Routing.Matching // Generated from https://github.com/Azure/azure-rest-api-specs public partial class MatcherFindCandidateSetAzureBenchmark : MatcherBenchmarkBase { + // SegmentCount should be max-segments + 1, but we don't have a good way to compute + // it here, so using 16 as a safe guess. + private const int SegmentCount = 16; + private const int SampleCount = 100; private BarebonesMatcher _baseline; @@ -58,7 +62,7 @@ namespace Microsoft.AspNetCore.Routing.Matching var httpContext = Requests[sample]; var path = httpContext.Request.Path.Value; - Span segments = stackalloc PathSegment[FastPathTokenizer.DefaultSegmentCount]; + Span segments = stackalloc PathSegment[SegmentCount]; var count = FastPathTokenizer.Tokenize(path, segments); var candidates = _dfa.FindCandidateSet(httpContext, path, segments.Slice(0, count)); diff --git a/benchmarks/Microsoft.AspNetCore.Routing.Performance/Matching/MatcherFindCandidateSetGithubBenchmark.cs b/benchmarks/Microsoft.AspNetCore.Routing.Performance/Matching/MatcherFindCandidateSetGithubBenchmark.cs index 09f7fe7d6d..a8eb4b1e8f 100644 --- a/benchmarks/Microsoft.AspNetCore.Routing.Performance/Matching/MatcherFindCandidateSetGithubBenchmark.cs +++ b/benchmarks/Microsoft.AspNetCore.Routing.Performance/Matching/MatcherFindCandidateSetGithubBenchmark.cs @@ -11,6 +11,10 @@ namespace Microsoft.AspNetCore.Routing.Matching // Use https://editor2.swagger.io/ to convert from yaml to json- public partial class MatcherFindCandidateSetGithubBenchmark : MatcherBenchmarkBase { + // SegmentCount should be max-segments + 1, but we don't have a good way to compute + // it here, so using 16 as a safe guess. + private const int SegmentCount = 16; + private BarebonesMatcher _baseline; private DfaMatcher _dfa; @@ -50,7 +54,7 @@ namespace Microsoft.AspNetCore.Routing.Matching var httpContext = Requests[i]; var path = httpContext.Request.Path.Value; - Span segments = stackalloc PathSegment[FastPathTokenizer.DefaultSegmentCount]; + Span segments = stackalloc PathSegment[SegmentCount]; var count = FastPathTokenizer.Tokenize(path, segments); var candidates = _dfa.FindCandidateSet(httpContext, path, segments.Slice(0, count)); diff --git a/benchmarks/Microsoft.AspNetCore.Routing.Performance/Matching/MatcheFindCandidateSetSingleEntryBenchmark.cs b/benchmarks/Microsoft.AspNetCore.Routing.Performance/Matching/MatcherFindCandidateSetSingleEntryBenchmark.cs similarity index 91% rename from benchmarks/Microsoft.AspNetCore.Routing.Performance/Matching/MatcheFindCandidateSetSingleEntryBenchmark.cs rename to benchmarks/Microsoft.AspNetCore.Routing.Performance/Matching/MatcherFindCandidateSetSingleEntryBenchmark.cs index d4dc11a77a..f47a3c2c99 100644 --- a/benchmarks/Microsoft.AspNetCore.Routing.Performance/Matching/MatcheFindCandidateSetSingleEntryBenchmark.cs +++ b/benchmarks/Microsoft.AspNetCore.Routing.Performance/Matching/MatcherFindCandidateSetSingleEntryBenchmark.cs @@ -7,8 +7,11 @@ using Microsoft.AspNetCore.Http; namespace Microsoft.AspNetCore.Routing.Matching { - public class MatcheFindCandidateSetSingleEntryBenchmark : MatcherBenchmarkBase + public class MatcherFindCandidateSetSingleEntryBenchmark : MatcherBenchmarkBase { + // SegmentCount should be max-segments + 1 + private const int SegmentCount = 2; + private TrivialMatcher _baseline; private DfaMatcher _dfa; @@ -22,7 +25,7 @@ namespace Microsoft.AspNetCore.Routing.Matching Requests[0] = new DefaultHttpContext(); Requests[0].RequestServices = CreateServices(); Requests[0].Request.Path = "/plaintext"; - + _baseline = (TrivialMatcher)SetupMatcher(new TrivialMatcherBuilder()); _dfa = (DfaMatcher)SetupMatcher(CreateDfaMatcherBuilder()); } @@ -51,7 +54,7 @@ namespace Microsoft.AspNetCore.Routing.Matching { var httpContext = Requests[0]; var path = httpContext.Request.Path.Value; - Span segments = stackalloc PathSegment[FastPathTokenizer.DefaultSegmentCount]; + Span segments = stackalloc PathSegment[SegmentCount]; var count = FastPathTokenizer.Tokenize(path, segments); var candidates = _dfa.FindCandidateSet(httpContext, path, segments.Slice(0, count)); diff --git a/benchmarks/Microsoft.AspNetCore.Routing.Performance/Matching/MatcherFindCandidateSetSmallEntryCountBenchmark.cs b/benchmarks/Microsoft.AspNetCore.Routing.Performance/Matching/MatcherFindCandidateSetSmallEntryCountBenchmark.cs index ede760ea17..4a194725b9 100644 --- a/benchmarks/Microsoft.AspNetCore.Routing.Performance/Matching/MatcherFindCandidateSetSmallEntryCountBenchmark.cs +++ b/benchmarks/Microsoft.AspNetCore.Routing.Performance/Matching/MatcherFindCandidateSetSmallEntryCountBenchmark.cs @@ -9,6 +9,9 @@ namespace Microsoft.AspNetCore.Routing.Matching { public class MatcherFindCandidateSetSmallEntryCountBenchmark : MatcherBenchmarkBase { + // SegmentCount should be max-segments + 1 + private const int SegmentCount = 6; + private TrivialMatcher _baseline; private DfaMatcher _dfa; @@ -87,7 +90,7 @@ namespace Microsoft.AspNetCore.Routing.Matching var httpContext = Requests[0]; var path = httpContext.Request.Path.Value; - Span segments = stackalloc PathSegment[FastPathTokenizer.DefaultSegmentCount]; + Span segments = stackalloc PathSegment[SegmentCount]; var count = FastPathTokenizer.Tokenize(path, segments); var candidates = _dfa.FindCandidateSet(httpContext, path, segments.Slice(0, count)); diff --git a/src/Microsoft.AspNetCore.Routing/Matching/DfaMatcher.cs b/src/Microsoft.AspNetCore.Routing/Matching/DfaMatcher.cs index e4982950f1..427f26b566 100644 --- a/src/Microsoft.AspNetCore.Routing/Matching/DfaMatcher.cs +++ b/src/Microsoft.AspNetCore.Routing/Matching/DfaMatcher.cs @@ -13,11 +13,13 @@ namespace Microsoft.AspNetCore.Routing.Matching { private readonly EndpointSelector _selector; private readonly DfaState[] _states; - - public DfaMatcher(EndpointSelector selector, DfaState[] states) + private readonly int _maxSegmentCount; + + public DfaMatcher(EndpointSelector selector, DfaState[] states, int maxSegmentCount) { _selector = selector; _states = states; + _maxSegmentCount = maxSegmentCount; } public sealed override Task MatchAsync(HttpContext httpContext, IEndpointFeature feature) @@ -38,7 +40,7 @@ namespace Microsoft.AspNetCore.Routing.Matching var path = httpContext.Request.Path.Value; // First tokenize the path into series of segments. - Span buffer = stackalloc PathSegment[FastPathTokenizer.DefaultSegmentCount]; + Span buffer = stackalloc PathSegment[_maxSegmentCount]; var count = FastPathTokenizer.Tokenize(path, buffer); var segments = buffer.Slice(0, count); diff --git a/src/Microsoft.AspNetCore.Routing/Matching/DfaMatcherBuilder.cs b/src/Microsoft.AspNetCore.Routing/Matching/DfaMatcherBuilder.cs index b5c3c5e00c..778ecdbaa5 100644 --- a/src/Microsoft.AspNetCore.Routing/Matching/DfaMatcherBuilder.cs +++ b/src/Microsoft.AspNetCore.Routing/Matching/DfaMatcherBuilder.cs @@ -50,7 +50,7 @@ namespace Microsoft.AspNetCore.Routing.Matching // stage. var work = new List<(MatcherEndpoint endpoint, List parents)>(); - var root = new DfaNode() { Depth = 0, Label = "/" }; + var root = new DfaNode() { PathDepth = 0, Label = "/" }; // To prepare for this we need to compute the max depth, as well as // a seed list of items to process (entry, root). @@ -101,7 +101,7 @@ namespace Microsoft.AspNetCore.Routing.Matching { next = new DfaNode() { - Depth = parent.Depth + 1, + PathDepth = parent.PathDepth + 1, Label = parent.Label + literal + "/", }; parent.Literals.Add(literal, next); @@ -129,7 +129,7 @@ namespace Microsoft.AspNetCore.Routing.Matching { parent.CatchAll = new DfaNode() { - Depth = parent.Depth + 1, + PathDepth = parent.PathDepth + 1, Label = parent.Label + "{*...}/", }; @@ -146,7 +146,7 @@ namespace Microsoft.AspNetCore.Routing.Matching { parent.Parameters = new DfaNode() { - Depth = parent.Depth + 1, + PathDepth = parent.PathDepth + 1, Label = parent.Label + "{...}/", }; } @@ -165,7 +165,7 @@ namespace Microsoft.AspNetCore.Routing.Matching { parent.Parameters = new DfaNode() { - Depth = parent.Depth + 1, + PathDepth = parent.PathDepth + 1, Label = parent.Label + "{...}/", }; } @@ -217,6 +217,13 @@ namespace Microsoft.AspNetCore.Routing.Matching { var root = BuildDfaTree(); + var maxSegmentCount = 0; + root.Visit((node) => maxSegmentCount = Math.Max(maxSegmentCount, node.PathDepth)); + + // The max segment count is the maximum path-node-depth +1. We need + // the +1 to capture any additional content after the 'last' segment. + maxSegmentCount++; + var states = new List(); var tableBuilders = new List<(JumpTableBuilder pathBuilder, PolicyJumpTableBuilder policyBuilder)>(); AddNode(root, states, tableBuilders); @@ -251,7 +258,7 @@ namespace Microsoft.AspNetCore.Routing.Matching tableBuilders[i].policyBuilder?.Build()); } - return new DfaMatcher(_selector, states.ToArray()); + return new DfaMatcher(_selector, states.ToArray(), maxSegmentCount); } private int AddNode( diff --git a/src/Microsoft.AspNetCore.Routing/Matching/DfaNode.cs b/src/Microsoft.AspNetCore.Routing/Matching/DfaNode.cs index 59b334509a..ae939a13eb 100644 --- a/src/Microsoft.AspNetCore.Routing/Matching/DfaNode.cs +++ b/src/Microsoft.AspNetCore.Routing/Matching/DfaNode.cs @@ -22,7 +22,9 @@ namespace Microsoft.AspNetCore.Routing.Matching // The depth of the node. The depth indicates the number of segments // that must be processed to arrive at this node. - public int Depth { get; set; } + // + // This value is not computed for Policy nodes and will be set to -1. + public int PathDepth { get; set; } = -1; // Just for diagnostics and debugging public string Label { get; set; } @@ -71,7 +73,7 @@ namespace Microsoft.AspNetCore.Routing.Matching var builder = new StringBuilder(); builder.Append(Label); builder.Append(" d:"); - builder.Append(Depth); + builder.Append(PathDepth); builder.Append(" m:"); builder.Append(Matches.Count); builder.Append(" c: "); diff --git a/src/Microsoft.AspNetCore.Routing/Matching/FastPathTokenizer.cs b/src/Microsoft.AspNetCore.Routing/Matching/FastPathTokenizer.cs index 0781fbfb94..79fab9591f 100644 --- a/src/Microsoft.AspNetCore.Routing/Matching/FastPathTokenizer.cs +++ b/src/Microsoft.AspNetCore.Routing/Matching/FastPathTokenizer.cs @@ -9,16 +9,6 @@ namespace Microsoft.AspNetCore.Routing.Matching // to PathTokenizer. internal static class FastPathTokenizer { - // The default limit for the number of segments we tokenize. - // - // Historically the limit on the number of segments routing supports is 28. - // RoutePrecedence computes precedence based on a decimal, which supports 28 - // or 29 digits. - // - // So setting this limit to 32 should work pretty well. We also expect the tokenizer - // to be used with stackalloc, so we want a small number. - public const int DefaultSegmentCount = 32; - // This section tokenizes the path by marking the sequence of slashes, and their // and the length of the text between them. // From 085a0b808e0849ada7628f281db1ebfb2c4502ef Mon Sep 17 00:00:00 2001 From: Ryan Nowak Date: Wed, 15 Aug 2018 10:08:57 -0700 Subject: [PATCH 127/221] Use RoutePattern in TemplateBinder --- .../DefaultLinkGenerator.cs | 2 +- .../Template/TemplateBinder.cs | 84 +++++++++++-------- 2 files changed, 48 insertions(+), 38 deletions(-) diff --git a/src/Microsoft.AspNetCore.Routing/DefaultLinkGenerator.cs b/src/Microsoft.AspNetCore.Routing/DefaultLinkGenerator.cs index f8e82f074f..de52bf1a2b 100644 --- a/src/Microsoft.AspNetCore.Routing/DefaultLinkGenerator.cs +++ b/src/Microsoft.AspNetCore.Routing/DefaultLinkGenerator.cs @@ -105,7 +105,7 @@ namespace Microsoft.AspNetCore.Routing var templateBinder = new TemplateBinder( UrlEncoder.Default, _uriBuildingContextPool, - new RouteTemplate(endpoint.RoutePattern), + endpoint.RoutePattern, new RouteValueDictionary(endpoint.RoutePattern.Defaults)); var routeValuesAddressMetadata = endpoint.Metadata.GetMetadata(); diff --git a/src/Microsoft.AspNetCore.Routing/Template/TemplateBinder.cs b/src/Microsoft.AspNetCore.Routing/Template/TemplateBinder.cs index f4dacc09d0..d9df9f30f6 100644 --- a/src/Microsoft.AspNetCore.Routing/Template/TemplateBinder.cs +++ b/src/Microsoft.AspNetCore.Routing/Template/TemplateBinder.cs @@ -8,6 +8,7 @@ using System.Diagnostics; using System.Globalization; using System.Text.Encodings.Web; using Microsoft.AspNetCore.Routing.Internal; +using Microsoft.AspNetCore.Routing.Patterns; using Microsoft.Extensions.ObjectPool; namespace Microsoft.AspNetCore.Routing.Template @@ -19,7 +20,7 @@ namespace Microsoft.AspNetCore.Routing.Template private readonly RouteValueDictionary _defaults; private readonly RouteValueDictionary _filters; - private readonly RouteTemplate _template; + private readonly RoutePattern _pattern; /// /// Creates a new instance of . @@ -33,6 +34,22 @@ namespace Microsoft.AspNetCore.Routing.Template ObjectPool pool, RouteTemplate template, RouteValueDictionary defaults) + : this(urlEncoder, pool, template?.ToRoutePattern(), defaults) + { + } + + /// + /// Creates a new instance of . + /// + /// The . + /// The . + /// The to bind values to. + /// The default values for . + public TemplateBinder( + UrlEncoder urlEncoder, + ObjectPool pool, + RoutePattern pattern, + RouteValueDictionary defaults) { if (urlEncoder == null) { @@ -44,20 +61,20 @@ namespace Microsoft.AspNetCore.Routing.Template throw new ArgumentNullException(nameof(pool)); } - if (template == null) + if (pattern == null) { - throw new ArgumentNullException(nameof(template)); + throw new ArgumentNullException(nameof(pattern)); } _urlEncoder = urlEncoder; _pool = pool; - _template = template; + _pattern = pattern; _defaults = defaults; // Any default that doesn't have a corresponding parameter is a 'filter' and if a value // is provided for that 'filter' it must match the value in defaults. _filters = new RouteValueDictionary(_defaults); - foreach (var parameter in _template.Parameters) + foreach (var parameter in _pattern.Parameters) { _filters.Remove(parameter.Name); } @@ -149,36 +166,43 @@ namespace Microsoft.AspNetCore.Routing.Template private string BindValues(UriBuildingContext context, RouteValueDictionary acceptedValues) { - for (var i = 0; i < _template.Segments.Count; i++) + for (var i = 0; i < _pattern.PathSegments.Count; i++) { Debug.Assert(context.BufferState == SegmentState.Beginning); Debug.Assert(context.UriState == SegmentState.Beginning); - var segment = _template.Segments[i]; + var segment = _pattern.PathSegments[i]; for (var j = 0; j < segment.Parts.Count; j++) { var part = segment.Parts[j]; - if (part.IsLiteral) + if (part is RoutePatternLiteralPart literalPart) { - if (!context.Accept(part.Text)) + if (!context.Accept(literalPart.Content)) { return null; } } - else if (part.IsParameter) + else if (part is RoutePatternSeparatorPart separatorPart) + { + if (!context.Accept(separatorPart.Content)) + { + return null; + } + } + else if (part is RoutePatternParameterPart parameterPart) { // If it's a parameter, get its value - var hasValue = acceptedValues.TryGetValue(part.Name, out var value); + var hasValue = acceptedValues.TryGetValue(parameterPart.Name, out var value); if (hasValue) { - acceptedValues.Remove(part.Name); + acceptedValues.Remove(parameterPart.Name); } var isSameAsDefault = false; if (_defaults != null && - _defaults.TryGetValue(part.Name, out var defaultValue) && + _defaults.TryGetValue(parameterPart.Name, out var defaultValue) && RoutePartsEqual(value, defaultValue)) { isSameAsDefault = true; @@ -206,9 +230,9 @@ namespace Microsoft.AspNetCore.Routing.Template // for format, so we remove '.' and generate 5. if (!context.Accept(converted)) { - if (j != 0 && part.IsOptional && segment.Parts[j - 1].IsOptionalSeperator) + if (j != 0 && parameterPart.IsOptional && (separatorPart = segment.Parts[j - 1] as RoutePatternSeparatorPart) != null) { - context.Remove(segment.Parts[j - 1].Text); + context.Remove(separatorPart.Content); } else { @@ -262,20 +286,6 @@ namespace Microsoft.AspNetCore.Routing.Template return false; } - private TemplatePart GetParameter(string name) - { - for (var i = 0; i < _template.Parameters.Count; i++) - { - var parameter = _template.Parameters[i]; - if (string.Equals(parameter.Name, name, StringComparison.OrdinalIgnoreCase)) - { - return parameter; - } - } - - return null; - } - /// /// Compares two objects for equality as parts of a case-insensitive path. /// @@ -370,9 +380,9 @@ namespace Microsoft.AspNetCore.Routing.Template // We also handle the case where a parameter is optional but has no value - we shouldn't // accept additional parameters that appear *after* that parameter. - for (var i = 0; i < _template.Parameters.Count; i++) + for (var i = 0; i < _pattern.Parameters.Count; i++) { - var parameter = _template.Parameters[i]; + var parameter = _pattern.Parameters[i]; // If it's a parameter subsegment, examine the current value to see if it matches the new value var parameterName = parameter.Name; @@ -436,9 +446,9 @@ namespace Microsoft.AspNetCore.Routing.Template private void CopyParameterDefaultValues(TemplateBindingContext context) { - for (var i = 0; i < _template.Parameters.Count; i++) + for (var i = 0; i < _pattern.Parameters.Count; i++) { - var parameter = _template.Parameters[i]; + var parameter = _pattern.Parameters[i]; if (parameter.IsOptional || parameter.IsCatchAll) { continue; @@ -456,9 +466,9 @@ namespace Microsoft.AspNetCore.Routing.Template private bool AllRequiredParametersHaveValue(TemplateBindingContext context) { - for (var i = 0; i < _template.Parameters.Count; i++) + for (var i = 0; i < _pattern.Parameters.Count; i++) { - var parameter = _template.Parameters[i]; + var parameter = _pattern.Parameters[i]; if (parameter.IsOptional || parameter.IsCatchAll) { continue; @@ -477,7 +487,7 @@ namespace Microsoft.AspNetCore.Routing.Template { foreach (var filter in _filters) { - var parameter = GetParameter(filter.Key); + var parameter = _pattern.GetParameter(filter.Key); if (parameter != null) { continue; @@ -507,7 +517,7 @@ namespace Microsoft.AspNetCore.Routing.Template { if (IsRoutePartNonEmpty(kvp.Value)) { - var parameter = GetParameter(kvp.Key); + var parameter = _pattern.GetParameter(kvp.Key); if (parameter == null && !context.AcceptedValues.ContainsKey(kvp.Key)) { combinedValues.Add(kvp.Key, kvp.Value); From 97f54c532bddfb584ebe2f6474ce985c09337410 Mon Sep 17 00:00:00 2001 From: Ryan Nowak Date: Wed, 15 Aug 2018 20:57:40 -0700 Subject: [PATCH 128/221] Support supression of matching for endpoints --- .../ISuppressMatchingMetadata.cs | 13 ++++++++++++ .../Internal/DfaGraphWriter.cs | 2 +- .../Matching/DataSourceDependentMatcher.cs | 2 +- .../SuppressMatchingMetadata.cs | 13 ++++++++++++ .../DataSourceDependentMatcherTest.cs | 21 +++++++++++++++++++ 5 files changed, 49 insertions(+), 2 deletions(-) create mode 100644 src/Microsoft.AspNetCore.Routing/ISuppressMatchingMetadata.cs create mode 100644 src/Microsoft.AspNetCore.Routing/SuppressMatchingMetadata.cs diff --git a/src/Microsoft.AspNetCore.Routing/ISuppressMatchingMetadata.cs b/src/Microsoft.AspNetCore.Routing/ISuppressMatchingMetadata.cs new file mode 100644 index 0000000000..8baa0e0a77 --- /dev/null +++ b/src/Microsoft.AspNetCore.Routing/ISuppressMatchingMetadata.cs @@ -0,0 +1,13 @@ +// Copyright (c) .NET Foundation. All rights reserved. +// Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information. + +namespace Microsoft.AspNetCore.Routing +{ + /// + /// Metadata used to prevent URL matching. The associated endpoint will not be + /// considered URL matching for incoming requests. + /// + public interface ISuppressMatchingMetadata + { + } +} \ No newline at end of file diff --git a/src/Microsoft.AspNetCore.Routing/Internal/DfaGraphWriter.cs b/src/Microsoft.AspNetCore.Routing/Internal/DfaGraphWriter.cs index 9a1c8773f3..2d036ac76b 100644 --- a/src/Microsoft.AspNetCore.Routing/Internal/DfaGraphWriter.cs +++ b/src/Microsoft.AspNetCore.Routing/Internal/DfaGraphWriter.cs @@ -39,7 +39,7 @@ namespace Microsoft.AspNetCore.Routing.Internal for (var i = 0; i < endpoints.Count; i++) { var endpoint = endpoints[i] as MatcherEndpoint; - if (endpoint != null) + if (endpoint != null && endpoint.Metadata.GetMetadata() == null) { builder.AddEndpoint(endpoint); } diff --git a/src/Microsoft.AspNetCore.Routing/Matching/DataSourceDependentMatcher.cs b/src/Microsoft.AspNetCore.Routing/Matching/DataSourceDependentMatcher.cs index 5ff901b96d..9dced3dc3d 100644 --- a/src/Microsoft.AspNetCore.Routing/Matching/DataSourceDependentMatcher.cs +++ b/src/Microsoft.AspNetCore.Routing/Matching/DataSourceDependentMatcher.cs @@ -40,7 +40,7 @@ namespace Microsoft.AspNetCore.Routing.Matching // register other endpoint types, which are non-routable, and it's // ok that we won't route to them. var endpoint = endpoints[i] as MatcherEndpoint; - if (endpoint != null) + if (endpoint != null && endpoint.Metadata.GetMetadata() == null) { builder.AddEndpoint(endpoint); } diff --git a/src/Microsoft.AspNetCore.Routing/SuppressMatchingMetadata.cs b/src/Microsoft.AspNetCore.Routing/SuppressMatchingMetadata.cs new file mode 100644 index 0000000000..da7a3bce1d --- /dev/null +++ b/src/Microsoft.AspNetCore.Routing/SuppressMatchingMetadata.cs @@ -0,0 +1,13 @@ +// Copyright (c) .NET Foundation. All rights reserved. +// Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information. + +namespace Microsoft.AspNetCore.Routing +{ + /// + /// Metadata used to prevent URL matching. The associated endpoint will not be + /// considered URL matching for incoming requests. + /// + public sealed class SuppressMatchingMetadata : ISuppressMatchingMetadata + { + } +} diff --git a/test/Microsoft.AspNetCore.Routing.Tests/Matching/DataSourceDependentMatcherTest.cs b/test/Microsoft.AspNetCore.Routing.Tests/Matching/DataSourceDependentMatcherTest.cs index 07c1db9537..74b87b56fc 100644 --- a/test/Microsoft.AspNetCore.Routing.Tests/Matching/DataSourceDependentMatcherTest.cs +++ b/test/Microsoft.AspNetCore.Routing.Tests/Matching/DataSourceDependentMatcherTest.cs @@ -67,6 +67,27 @@ namespace Microsoft.AspNetCore.Routing.Matching Assert.Empty(inner.Endpoints); } + [Fact] + public void Matcher_Ignores_SuppressedEndpoint() + { + // Arrange + var dataSource = new DynamicEndpointDataSource(); + var endpoint = new MatcherEndpoint( + MatcherEndpoint.EmptyInvoker, + RoutePatternFactory.Parse("/"), + 0, + new EndpointMetadataCollection(new SuppressMatchingMetadata()), + "test"); + dataSource.AddEndpoint(endpoint); + + // Act + var matcher = new DataSourceDependentMatcher(dataSource, TestMatcherBuilder.Create); + + // Assert + var inner = Assert.IsType(matcher.CurrentMatcher); + Assert.Empty(inner.Endpoints); + } + [Fact] public void Cache_Reinitializes_WhenDataSourceChanges() { From 4fa0b068b8a6eed6f4184482317667d0d54bfdfd Mon Sep 17 00:00:00 2001 From: Ryan Nowak Date: Wed, 15 Aug 2018 21:24:41 -0700 Subject: [PATCH 129/221] Fix #710 - add support for data tokens --- .../DataTokensMetadata.cs | 31 ++++++++++ .../EndpointFeature.cs | 15 ++++- .../IDataTokenMetadata.cs | 20 +++++++ .../EndpointFeatureTest.cs | 58 +++++++++++++++++++ .../EndpointRoutingMiddlewareTest.cs | 24 ++++++++ 5 files changed, 147 insertions(+), 1 deletion(-) create mode 100644 src/Microsoft.AspNetCore.Routing/DataTokensMetadata.cs create mode 100644 src/Microsoft.AspNetCore.Routing/IDataTokenMetadata.cs create mode 100644 test/Microsoft.AspNetCore.Routing.Tests/EndpointFeatureTest.cs diff --git a/src/Microsoft.AspNetCore.Routing/DataTokensMetadata.cs b/src/Microsoft.AspNetCore.Routing/DataTokensMetadata.cs new file mode 100644 index 0000000000..99a07f038d --- /dev/null +++ b/src/Microsoft.AspNetCore.Routing/DataTokensMetadata.cs @@ -0,0 +1,31 @@ +// Copyright (c) .NET Foundation. All rights reserved. +// Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information. + +using System; +using System.Collections.Generic; + +namespace Microsoft.AspNetCore.Routing +{ + /// + /// Metadata that defines data tokens for an . This metadata + /// type provides data tokens value for associated + /// with an endpoint. + /// + public sealed class DataTokensMetadata : IDataTokensMetadata + { + public DataTokensMetadata(IReadOnlyDictionary dataTokens) + { + if (dataTokens == null) + { + throw new ArgumentNullException(nameof(dataTokens)); + } + + DataTokens = dataTokens; + } + + /// + /// Get the data tokens. + /// + public IReadOnlyDictionary DataTokens { get; } + } +} diff --git a/src/Microsoft.AspNetCore.Routing/EndpointFeature.cs b/src/Microsoft.AspNetCore.Routing/EndpointFeature.cs index 396f9b00ee..c87db04900 100644 --- a/src/Microsoft.AspNetCore.Routing/EndpointFeature.cs +++ b/src/Microsoft.AspNetCore.Routing/EndpointFeature.cs @@ -54,7 +54,20 @@ namespace Microsoft.AspNetCore.Routing { if (_routeData == null) { - _routeData = new RouteData(_values); + _routeData = _values == null ? new RouteData() : new RouteData(_values); + + // Note: DataTokens won't update if someone else overwrites the Endpoint + // after route values has been set. This seems find since endpoints are a new + // feature and DataTokens are for back-compat. + var dataTokensMetadata = Endpoint?.Metadata.GetMetadata(); + if (dataTokensMetadata != null) + { + var dataTokens = _routeData.DataTokens; + foreach (var kvp in dataTokensMetadata.DataTokens) + { + _routeData.DataTokens.Add(kvp.Key, kvp.Value); + } + } } return _routeData; diff --git a/src/Microsoft.AspNetCore.Routing/IDataTokenMetadata.cs b/src/Microsoft.AspNetCore.Routing/IDataTokenMetadata.cs new file mode 100644 index 0000000000..9cd6455d6c --- /dev/null +++ b/src/Microsoft.AspNetCore.Routing/IDataTokenMetadata.cs @@ -0,0 +1,20 @@ +// Copyright (c) .NET Foundation. All rights reserved. +// Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information. + +using System.Collections.Generic; + +namespace Microsoft.AspNetCore.Routing +{ + /// + /// Metadata that defines data tokens for an . This metadata + /// type provides data tokens value for associated + /// with an endpoint. + /// + public interface IDataTokensMetadata + { + /// + /// Get the data tokens. + /// + IReadOnlyDictionary DataTokens { get; } + } +} diff --git a/test/Microsoft.AspNetCore.Routing.Tests/EndpointFeatureTest.cs b/test/Microsoft.AspNetCore.Routing.Tests/EndpointFeatureTest.cs new file mode 100644 index 0000000000..5ffd868630 --- /dev/null +++ b/test/Microsoft.AspNetCore.Routing.Tests/EndpointFeatureTest.cs @@ -0,0 +1,58 @@ +// Copyright (c) .NET Foundation. All rights reserved. +// Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information. + +using System.Linq; +using Microsoft.AspNetCore.Routing.Matching; +using Microsoft.AspNetCore.Routing.Patterns; +using Xunit; + +namespace Microsoft.AspNetCore.Routing +{ + public class EndpointFeatureTest + { + [Fact] + public void RouteData_CanIntializeDataTokens_WithMetadata() + { + // Arrange + var expected = new RouteValueDictionary(new { foo = 17, bar = "hello", }); + + var feature = new EndpointFeature() + { + Endpoint = new MatcherEndpoint( + MatcherEndpoint.EmptyInvoker, + RoutePatternFactory.Parse("/"), + 0, + new EndpointMetadataCollection(new DataTokensMetadata(expected)), + "test"), + }; + + // Act + var routeData = ((IRoutingFeature)feature).RouteData; + + // Assert + Assert.NotSame(expected, routeData.DataTokens); + Assert.Equal(expected.OrderBy(kvp => kvp.Key), routeData.DataTokens.OrderBy(kvp => kvp.Key)); + } + + [Fact] + public void RouteData_DataTokensIsEmpty_WithoutMetadata() + { + // Arrange + var feature = new EndpointFeature() + { + Endpoint = new MatcherEndpoint( + MatcherEndpoint.EmptyInvoker, + RoutePatternFactory.Parse("/"), + 0, + new EndpointMetadataCollection(), + "test"), + }; + + // Act + var routeData = ((IRoutingFeature)feature).RouteData; + + // Assert + Assert.Empty(routeData.DataTokens); + } + } +} diff --git a/test/Microsoft.AspNetCore.Routing.Tests/EndpointRoutingMiddlewareTest.cs b/test/Microsoft.AspNetCore.Routing.Tests/EndpointRoutingMiddlewareTest.cs index df5c8d831c..186eb9f0e3 100644 --- a/test/Microsoft.AspNetCore.Routing.Tests/EndpointRoutingMiddlewareTest.cs +++ b/test/Microsoft.AspNetCore.Routing.Tests/EndpointRoutingMiddlewareTest.cs @@ -82,6 +82,30 @@ namespace Microsoft.AspNetCore.Routing Assert.Equal("testValue", endpointFeature.Values["testKey"]); } + [Fact] + public async Task Invoke_BackCompatGetDataTokens_ValueUsedFromEndpointMetadata() + { + // Arrange + var httpContext = new DefaultHttpContext(); + httpContext.RequestServices = new TestServiceProvider(); + + var middleware = CreateMiddleware(); + + // Act + await middleware.Invoke(httpContext); + var routeData = httpContext.GetRouteData(); + var routeValue = httpContext.GetRouteValue("controller"); + var endpointFeature = httpContext.Features.Get(); + + // Assert + Assert.NotNull(routeData); + Assert.Equal("Home", (string)routeValue); + + // changing route data value is reflected in endpoint feature values + routeData.Values["testKey"] = "testValue"; + Assert.Equal("testValue", endpointFeature.Values["testKey"]); + } + private EndpointRoutingMiddleware CreateMiddleware(Logger logger = null) { RequestDelegate next = (c) => Task.FromResult(null); From 6724b4d796db7b8d2636aa5fa9cb5b216daa8e17 Mon Sep 17 00:00:00 2001 From: Ryan Nowak Date: Tue, 14 Aug 2018 20:25:10 -0700 Subject: [PATCH 130/221] Add EMC benchmark --- .../EndpointMetadataCollectionBenchmark.cs | 127 ++++++++++++++++++ 1 file changed, 127 insertions(+) create mode 100644 benchmarks/Microsoft.AspNetCore.Routing.Performance/EndpointMetadataCollectionBenchmark.cs diff --git a/benchmarks/Microsoft.AspNetCore.Routing.Performance/EndpointMetadataCollectionBenchmark.cs b/benchmarks/Microsoft.AspNetCore.Routing.Performance/EndpointMetadataCollectionBenchmark.cs new file mode 100644 index 0000000000..14c1498462 --- /dev/null +++ b/benchmarks/Microsoft.AspNetCore.Routing.Performance/EndpointMetadataCollectionBenchmark.cs @@ -0,0 +1,127 @@ +// Copyright (c) .NET Foundation. All rights reserved. +// Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information. + +using System; +using BenchmarkDotNet.Attributes; + +namespace Microsoft.AspNetCore.Routing +{ + public class EndpointMetadataCollectionBenchmark + { + private object[] _items; + private EndpointMetadataCollection _collection; + + [Params(3, 10, 25)] + public int Count { get; set; } + + [GlobalSetup] + public void Setup() + { + var seeds = new Type[] + { + typeof(Metadata1), + typeof(Metadata2), + typeof(Metadata3), + typeof(Metadata4), + typeof(Metadata5), + typeof(Metadata6), + typeof(Metadata7), + typeof(Metadata8), + typeof(Metadata9), + }; + + _items = new object[Count]; + for (var i = 0; i < _items.Length; i++) + { + _items[i] = seeds[i % seeds.Length]; + } + + _collection = new EndpointMetadataCollection(_items); + } + + // This is a synthetic baseline that visits each item and does an as-cast. + [Benchmark(Baseline = true, OperationsPerInvoke = 5)] + public void Baseline() + { + var items = _items; + for (var i = items.Length - 1; i >= 0; i--) + { + GC.KeepAlive(_items[i] as IMetadata1); + } + + for (var i = items.Length - 1; i >= 0; i--) + { + GC.KeepAlive(_items[i] as IMetadata2); + } + + for (var i = items.Length - 1; i >= 0; i--) + { + GC.KeepAlive(_items[i] as IMetadata3); + } + + for (var i = items.Length - 1; i >= 0; i--) + { + GC.KeepAlive(_items[i] as IMetadata4); + } + + for (var i = items.Length - 1; i >= 0; i--) + { + GC.KeepAlive(_items[i] as IMetadata5); + } + } + + [Benchmark(OperationsPerInvoke = 5)] + public void GetMetadata() + { + GC.KeepAlive(_collection.GetMetadata()); + GC.KeepAlive(_collection.GetMetadata()); + GC.KeepAlive(_collection.GetMetadata()); + GC.KeepAlive(_collection.GetMetadata()); + GC.KeepAlive(_collection.GetMetadata()); + } + + [Benchmark(OperationsPerInvoke = 5)] + public void GetOrderedMetadata() + { + foreach (var item in _collection.GetOrderedMetadata()) + { + GC.KeepAlive(item); + } + + foreach (var item in _collection.GetOrderedMetadata()) + { + GC.KeepAlive(item); + } + + foreach (var item in _collection.GetOrderedMetadata()) + { + GC.KeepAlive(item); + } + + foreach (var item in _collection.GetOrderedMetadata()) + { + GC.KeepAlive(item); + } + + foreach (var item in _collection.GetOrderedMetadata()) + { + GC.KeepAlive(item); + } + } + + private interface IMetadata1 { } + private interface IMetadata2 { } + private interface IMetadata3 { } + private interface IMetadata4 { } + private interface IMetadata5 { } + private class Metadata1 : IMetadata1 { } + private class Metadata2 : IMetadata2 { } + private class Metadata3 : IMetadata3 { } + private class Metadata4 : IMetadata4 { } + private class Metadata5 : IMetadata5 { } + private class Metadata6 : IMetadata1, IMetadata2 { } + private class Metadata7 : IMetadata2, IMetadata3 { } + private class Metadata8 : IMetadata4, IMetadata5 { } + private class Metadata9 : IMetadata1, IMetadata2 { } + } +} From 730646c301be988649a57c94103bbd4c6d4dce27 Mon Sep 17 00:00:00 2001 From: Ryan Nowak Date: Wed, 15 Aug 2018 20:40:12 -0700 Subject: [PATCH 131/221] Perf for EMC --- .../EndpointMetadataCollection.cs | 41 ++++++-- .../EndpointMetadataCollectionTests.cs | 93 +++++++++++++++++++ 2 files changed, 126 insertions(+), 8 deletions(-) diff --git a/src/Microsoft.AspNetCore.Routing.Abstractions/EndpointMetadataCollection.cs b/src/Microsoft.AspNetCore.Routing.Abstractions/EndpointMetadataCollection.cs index 54624d8717..ee12d0b8e7 100644 --- a/src/Microsoft.AspNetCore.Routing.Abstractions/EndpointMetadataCollection.cs +++ b/src/Microsoft.AspNetCore.Routing.Abstractions/EndpointMetadataCollection.cs @@ -3,8 +3,10 @@ using System; using System.Collections; +using System.Collections.Concurrent; using System.Collections.Generic; using System.Linq; +using System.Runtime.CompilerServices; namespace Microsoft.AspNetCore.Routing { @@ -24,6 +26,7 @@ namespace Microsoft.AspNetCore.Routing public static readonly EndpointMetadataCollection Empty = new EndpointMetadataCollection(Array.Empty()); private readonly object[] _items; + private readonly ConcurrentDictionary _cache; /// /// Creates a new . @@ -37,6 +40,7 @@ namespace Microsoft.AspNetCore.Routing } _items = items.ToArray(); + _cache = new ConcurrentDictionary(); } /// @@ -67,18 +71,23 @@ namespace Microsoft.AspNetCore.Routing /// /// The most significant metadata of type or null. /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] public T GetMetadata() where T : class { - for (var i = _items.Length - 1; i >= 0; i--) + if (_cache.TryGetValue(typeof(T), out var result)) { - var item = _items[i] as T; - if (item != null) - { - return item; - } + var length = result.Length; + return length > 0 ? (T)result[length - 1] : default; } - return default; + return GetMetadataSlow(); + } + + private T GetMetadataSlow() where T : class + { + var array = GetOrderedMetadataSlow(); + var length = array.Length; + return length > 0 ? array[length - 1] : default; } /// @@ -87,16 +96,32 @@ namespace Microsoft.AspNetCore.Routing /// /// The type of metadata. /// A sequence of metadata items of . + [MethodImpl(MethodImplOptions.AggressiveInlining)] public IEnumerable GetOrderedMetadata() where T : class { + if (_cache.TryGetValue(typeof(T), out var result)) + { + return (T[])result; + } + + return GetOrderedMetadataSlow(); + } + + private T[] GetOrderedMetadataSlow() where T : class + { + var items = new List(); for (var i = 0; i < _items.Length; i++) { var item = _items[i] as T; if (item != null) { - yield return item; + items.Add(item); } } + + var array = items.ToArray(); + _cache.TryAdd(typeof(T), array); + return array; } /// diff --git a/test/Microsoft.AspNetCore.Mvc.Routing.Abstractions.Tests/EndpointMetadataCollectionTests.cs b/test/Microsoft.AspNetCore.Mvc.Routing.Abstractions.Tests/EndpointMetadataCollectionTests.cs index a7e645c047..12c75020a4 100644 --- a/test/Microsoft.AspNetCore.Mvc.Routing.Abstractions.Tests/EndpointMetadataCollectionTests.cs +++ b/test/Microsoft.AspNetCore.Mvc.Routing.Abstractions.Tests/EndpointMetadataCollectionTests.cs @@ -44,5 +44,98 @@ namespace Microsoft.AspNetCore.Routing value => Assert.Equal(2, value), value => Assert.Equal(3, value)); } + + [Fact] + public void GetMetadata_Match_ReturnsLastMatchingEntry() + { + // Arrange + var items = new object[] + { + new Metadata1(), + new Metadata2(), + new Metadata3(), + }; + + var metadata = new EndpointMetadataCollection(items); + + // Act + var result = metadata.GetMetadata(); + + // Assert + Assert.Same(items[1], result); + } + + [Fact] + public void GetMetadata_NoMatch_ReturnsNull() + { + // Arrange + var items = new object[] + { + new Metadata3(), + new Metadata3(), + new Metadata3(), + }; + + var metadata = new EndpointMetadataCollection(items); + + // Act + var result = metadata.GetMetadata(); + + // Assert + Assert.Null(result); + } + + [Fact] + public void GetOrderedMetadata_Match_ReturnsItemsInAscendingOrder() + { + // Arrange + var items = new object[] + { + new Metadata1(), + new Metadata2(), + new Metadata3(), + }; + + var metadata = new EndpointMetadataCollection(items); + + // Act + var result = metadata.GetOrderedMetadata(); + + // Assert + Assert.Collection( + result, + i => Assert.Same(items[0], i), + i => Assert.Same(items[1], i)); + } + + [Fact] + public void GetOrderedMetadata_NoMatch_ReturnsEmpty() + { + // Arrange + var items = new object[] + { + new Metadata3(), + new Metadata3(), + new Metadata3(), + }; + + var metadata = new EndpointMetadataCollection(items); + + // Act + var result = metadata.GetOrderedMetadata(); + + // Assert + Assert.Empty(result); + } + + private interface IMetadata1 { } + private interface IMetadata2 { } + private interface IMetadata3 { } + private interface IMetadata4 { } + private interface IMetadata5 { } + private class Metadata1 : IMetadata1, IMetadata4, IMetadata5 { } + private class Metadata2 : IMetadata2, IMetadata5 { } + private class Metadata3 : IMetadata3 { } + } } \ No newline at end of file From 731767837ab45bf0db26b4679c734a891136cad1 Mon Sep 17 00:00:00 2001 From: Kiran Challa Date: Wed, 15 Aug 2018 10:35:04 -0700 Subject: [PATCH 132/221] Introducing new **catchAll parameter to allow generating links with unencoded values --- .../UseEndpointRoutingStartup.cs | 58 ++++++-- .../Internal/UriBuildingContext.cs | 50 ++++++- .../Patterns/RouteParameterParser.cs | 19 ++- .../Patterns/RoutePatternFactory.cs | 24 +++- .../Patterns/RoutePatternParameterPart.cs | 16 +++ .../Template/TemplateBinder.cs | 5 +- .../EndpointRoutingSampleTest.cs | 48 +++++++ .../DefaultLinkGeneratorTest.cs | 70 ++++++++++ .../Internal/UriBuildingContextTest.cs | 69 ++++++++++ .../InlineRouteParameterParserTest.cs | 130 ++++++++++++++++++ .../Patterns/RoutePatternParserTest.cs | 1 - .../Template/TemplateParserTests.cs | 1 - 12 files changed, 465 insertions(+), 26 deletions(-) create mode 100644 test/Microsoft.AspNetCore.Routing.Tests/Internal/UriBuildingContextTest.cs diff --git a/samples/RoutingSample.Web/UseEndpointRoutingStartup.cs b/samples/RoutingSample.Web/UseEndpointRoutingStartup.cs index 7736561627..fb9fb36161 100644 --- a/samples/RoutingSample.Web/UseEndpointRoutingStartup.cs +++ b/samples/RoutingSample.Web/UseEndpointRoutingStartup.cs @@ -81,20 +81,54 @@ namespace RoutingSample.Web EndpointMetadataCollection.Empty, "withoptionalconstraints"), new MatcherEndpoint((next) => (httpContext) => - { - using (var writer = new StreamWriter(httpContext.Response.Body, Encoding.UTF8, 1024, leaveOpen: true)) { - var graphWriter = httpContext.RequestServices.GetRequiredService(); - var dataSource = httpContext.RequestServices.GetRequiredService(); - graphWriter.Write(dataSource, writer); - } + using (var writer = new StreamWriter(httpContext.Response.Body, Encoding.UTF8, 1024, leaveOpen: true)) + { + var graphWriter = httpContext.RequestServices.GetRequiredService(); + var dataSource = httpContext.RequestServices.GetRequiredService(); + graphWriter.Write(dataSource, writer); + } - return Task.CompletedTask; - }, - RoutePatternFactory.Parse("/graph"), - 0, - new EndpointMetadataCollection(new HttpMethodMetadata(new[]{ "GET", })), - "DFA Graph"), + return Task.CompletedTask; + }, + RoutePatternFactory.Parse("/graph"), + 0, + new EndpointMetadataCollection(new HttpMethodMetadata(new[]{ "GET", })), + "DFA Graph"), + new MatcherEndpoint((next) => (httpContext) => + { + var linkGenerator = httpContext.RequestServices.GetRequiredService(); + + var response = httpContext.Response; + response.StatusCode = 200; + response.ContentType = "text/plain"; + return response.WriteAsync( + "Link: " + linkGenerator.GetLink(httpContext, "WithSingleAsteriskCatchAll", new { })); + }, + RoutePatternFactory.Parse("/WithSingleAsteriskCatchAll/{*path}"), + 0, + new EndpointMetadataCollection( + new RouteValuesAddressMetadata( + name: "WithSingleAsteriskCatchAll", + requiredValues: new RouteValueDictionary())), + "WithSingleAsteriskCatchAll"), + new MatcherEndpoint((next) => (httpContext) => + { + var linkGenerator = httpContext.RequestServices.GetRequiredService(); + + var response = httpContext.Response; + response.StatusCode = 200; + response.ContentType = "text/plain"; + return response.WriteAsync( + "Link: " + linkGenerator.GetLink(httpContext, "WithDoubleAsteriskCatchAll", new { })); + }, + RoutePatternFactory.Parse("/WithDoubleAsteriskCatchAll/{**path}"), + 0, + new EndpointMetadataCollection( + new RouteValuesAddressMetadata( + name: "WithDoubleAsteriskCatchAll", + requiredValues: new RouteValueDictionary())), + "WithDoubleAsteriskCatchAll"), }); services.TryAddEnumerable(ServiceDescriptor.Singleton(endpointDataSource)); diff --git a/src/Microsoft.AspNetCore.Routing/Internal/UriBuildingContext.cs b/src/Microsoft.AspNetCore.Routing/Internal/UriBuildingContext.cs index 3b78fe8c78..3b7c3b743d 100644 --- a/src/Microsoft.AspNetCore.Routing/Internal/UriBuildingContext.cs +++ b/src/Microsoft.AspNetCore.Routing/Internal/UriBuildingContext.cs @@ -43,6 +43,11 @@ namespace Microsoft.AspNetCore.Routing.Internal public TextWriter Writer { get; } public bool Accept(string value) + { + return Accept(value, encodeSlashes: true); + } + + public bool Accept(string value, bool encodeSlashes) { if (string.IsNullOrEmpty(value)) { @@ -67,7 +72,7 @@ namespace Microsoft.AspNetCore.Routing.Internal { if (_buffer[i].RequiresEncoding) { - _urlEncoder.Encode(Writer, _buffer[i].Value); + EncodeValue(_buffer[i].Value); } else { @@ -88,16 +93,17 @@ namespace Microsoft.AspNetCore.Routing.Internal UriState = SegmentState.Inside; _lastValueOffset = _uri.Length; + // Allow the first segment to have a leading slash. // This prevents the leading slash from PathString segments from being encoded. if (_uri.Length == 0 && value.Length > 0 && value[0] == '/') { _uri.Append("/"); - _urlEncoder.Encode(Writer, value, 1, value.Length - 1); + EncodeValue(value, 1, value.Length - 1, encodeSlashes); } else { - _urlEncoder.Encode(Writer, value); + EncodeValue(value, encodeSlashes); } return true; @@ -197,6 +203,44 @@ namespace Microsoft.AspNetCore.Routing.Internal return _uri.ToString(); } + private void EncodeValue(string value) + { + EncodeValue(value, encodeSlashes: true); + } + + private void EncodeValue(string value, bool encodeSlashes) + { + EncodeValue(value, start: 0, characterCount: value.Length, encodeSlashes); + } + + // For testing + internal void EncodeValue(string value, int start, int characterCount, bool encodeSlashes) + { + // Just encode everything if its ok to encode slashes + if (encodeSlashes) + { + _urlEncoder.Encode(Writer, value, start, characterCount); + } + else + { + int end; + int length = start + characterCount; + while ((end = value.IndexOf('/', start, characterCount)) >= 0) + { + _urlEncoder.Encode(Writer, value, start, end - start); + _uri.Append("/"); + + start = end + 1; + characterCount = length - start; + } + + if (end < 0 && characterCount >= 0) + { + _urlEncoder.Encode(Writer, value, start, length - start); + } + } + } + private string DebuggerToString() { return string.Format("{{Accepted: '{0}' Buffered: '{1}'}}", _uri, string.Join("", _buffer)); diff --git a/src/Microsoft.AspNetCore.Routing/Patterns/RouteParameterParser.cs b/src/Microsoft.AspNetCore.Routing/Patterns/RouteParameterParser.cs index 885f77481c..8c0132bc06 100644 --- a/src/Microsoft.AspNetCore.Routing/Patterns/RouteParameterParser.cs +++ b/src/Microsoft.AspNetCore.Routing/Patterns/RouteParameterParser.cs @@ -27,9 +27,17 @@ namespace Microsoft.AspNetCore.Routing.Patterns var startIndex = 0; var endIndex = parameter.Length - 1; + var encodeSlashes = true; var parameterKind = RoutePatternParameterKind.Standard; - if (parameter[0] == '*') + + if (parameter.StartsWith("**", StringComparison.Ordinal)) + { + encodeSlashes = false; + parameterKind = RoutePatternParameterKind.CatchAll; + startIndex += 2; + } + else if (parameter[0] == '*') { parameterKind = RoutePatternParameterKind.CatchAll; startIndex++; @@ -79,7 +87,12 @@ namespace Microsoft.AspNetCore.Routing.Patterns defaultValue = parameter.Substring(currentIndex + 1, endIndex - currentIndex); } - return new RoutePatternParameterPart(parameterName, defaultValue, parameterKind, parseResults.Constraints.ToArray()); + return new RoutePatternParameterPart( + parameterName, + defaultValue, + parameterKind, + parseResults.Constraints.ToArray(), + encodeSlashes); } private static ConstraintParseResults ParseConstraints( @@ -237,7 +250,7 @@ namespace Microsoft.AspNetCore.Routing.Patterns public readonly int CurrentIndex; public readonly IReadOnlyList Constraints; - + public ConstraintParseResults(int currentIndex, IReadOnlyList constraints) { CurrentIndex = currentIndex; diff --git a/src/Microsoft.AspNetCore.Routing/Patterns/RoutePatternFactory.cs b/src/Microsoft.AspNetCore.Routing/Patterns/RoutePatternFactory.cs index 54a34c9d4c..44dd675543 100644 --- a/src/Microsoft.AspNetCore.Routing/Patterns/RoutePatternFactory.cs +++ b/src/Microsoft.AspNetCore.Routing/Patterns/RoutePatternFactory.cs @@ -284,7 +284,7 @@ namespace Microsoft.AspNetCore.Routing.Patterns { var segment = VisitSegment(updatedSegments[i]); updatedSegments[i] = segment; - + for (var j = 0; j < segment.Parts.Count; j++) { if (segment.Parts[j] is RoutePatternParameterPart parameter) @@ -339,7 +339,7 @@ namespace Microsoft.AspNetCore.Routing.Patterns @default = newDefault; } - + if (parameter.Default != null) { updatedDefaults.Add(parameter.Name, parameter.Default); @@ -361,7 +361,8 @@ namespace Microsoft.AspNetCore.Routing.Patterns parameter.Name, @default, parameter.ParameterKind, - (IEnumerable)parameterConstraints ?? Array.Empty()); + (IEnumerable)parameterConstraints ?? Array.Empty(), + parameter.EncodeSlashes); } } @@ -624,7 +625,22 @@ namespace Microsoft.AspNetCore.Routing.Patterns RoutePatternParameterKind parameterKind, IEnumerable constraints) { - return new RoutePatternParameterPart(parameterName, @default, parameterKind, constraints.ToArray()); + return ParameterPartCore(parameterName, @default, parameterKind, constraints, encodeSlashes: true); + } + + private static RoutePatternParameterPart ParameterPartCore( + string parameterName, + object @default, + RoutePatternParameterKind parameterKind, + IEnumerable constraints, + bool encodeSlashes) + { + return new RoutePatternParameterPart( + parameterName, + @default, + parameterKind, + constraints.ToArray(), + encodeSlashes); } /// diff --git a/src/Microsoft.AspNetCore.Routing/Patterns/RoutePatternParameterPart.cs b/src/Microsoft.AspNetCore.Routing/Patterns/RoutePatternParameterPart.cs index 04f9056573..df060de9d9 100644 --- a/src/Microsoft.AspNetCore.Routing/Patterns/RoutePatternParameterPart.cs +++ b/src/Microsoft.AspNetCore.Routing/Patterns/RoutePatternParameterPart.cs @@ -19,6 +19,16 @@ namespace Microsoft.AspNetCore.Routing.Patterns object @default, RoutePatternParameterKind parameterKind, RoutePatternConstraintReference[] constraints) + : this(parameterName, @default, parameterKind, constraints, encodeSlashes: true) + { + } + + internal RoutePatternParameterPart( + string parameterName, + object @default, + RoutePatternParameterKind parameterKind, + RoutePatternConstraintReference[] constraints, + bool encodeSlashes) : base(RoutePatternPartKind.Parameter) { // See #475 - this code should have some asserts, but it can't because of the design of RouteParameterParser. @@ -27,6 +37,7 @@ namespace Microsoft.AspNetCore.Routing.Patterns Default = @default; ParameterKind = parameterKind; Constraints = constraints; + EncodeSlashes = encodeSlashes; } /// @@ -34,6 +45,11 @@ namespace Microsoft.AspNetCore.Routing.Patterns /// public IReadOnlyList Constraints { get; } + /// + /// Gets the value indicating if slashes in current parameter's value should be encoded. + /// + public bool EncodeSlashes { get; } + /// /// Gets the default value of this route parameter. May be null. /// diff --git a/src/Microsoft.AspNetCore.Routing/Template/TemplateBinder.cs b/src/Microsoft.AspNetCore.Routing/Template/TemplateBinder.cs index d9df9f30f6..c96f540133 100644 --- a/src/Microsoft.AspNetCore.Routing/Template/TemplateBinder.cs +++ b/src/Microsoft.AspNetCore.Routing/Template/TemplateBinder.cs @@ -7,6 +7,7 @@ using System.Collections.Generic; using System.Diagnostics; using System.Globalization; using System.Text.Encodings.Web; +using Microsoft.AspNetCore.Http; using Microsoft.AspNetCore.Routing.Internal; using Microsoft.AspNetCore.Routing.Patterns; using Microsoft.Extensions.ObjectPool; @@ -223,12 +224,12 @@ namespace Microsoft.AspNetCore.Routing.Template // If the value is not accepted, it is null or empty value in the // middle of the segment. We accept this if the parameter is an // optional parameter and it is preceded by an optional seperator. - // I this case, we need to remove the optional seperator that we + // In this case, we need to remove the optional seperator that we // have added to the URI // Example: template = {id}.{format?}. parameters: id=5 // In this case after we have generated "5.", we wont find any value // for format, so we remove '.' and generate 5. - if (!context.Accept(converted)) + if (!context.Accept(converted, parameterPart.EncodeSlashes)) { if (j != 0 && parameterPart.IsOptional && (separatorPart = segment.Parts[j - 1] as RoutePatternSeparatorPart) != null) { diff --git a/test/Microsoft.AspNetCore.Routing.FunctionalTests/EndpointRoutingSampleTest.cs b/test/Microsoft.AspNetCore.Routing.FunctionalTests/EndpointRoutingSampleTest.cs index 5f059cae60..6dd2373efe 100644 --- a/test/Microsoft.AspNetCore.Routing.FunctionalTests/EndpointRoutingSampleTest.cs +++ b/test/Microsoft.AspNetCore.Routing.FunctionalTests/EndpointRoutingSampleTest.cs @@ -130,6 +130,54 @@ namespace Microsoft.AspNetCore.Routing.FunctionalTests Assert.Equal(HttpStatusCode.NotFound, response.StatusCode); } + [Theory] + [InlineData("/WithSingleAsteriskCatchAll/a/b/c", "Link: /WithSingleAsteriskCatchAll/a%2Fb%2Fc")] + [InlineData("/WithSingleAsteriskCatchAll/a/b b1/c c1", "Link: /WithSingleAsteriskCatchAll/a%2Fb%20b1%2Fc%20c1")] + public async Task GeneratesLink_ToEndpointWithSingleAsteriskCatchAllParameter_EncodesValue( + string url, + string expected) + { + // Arrange & Act + var response = await _client.GetAsync(url); + + // Assert + Assert.Equal(HttpStatusCode.OK, response.StatusCode); + Assert.NotNull(response.Content); + var actualContent = await response.Content.ReadAsStringAsync(); + Assert.Equal(expected, actualContent); + } + + [Theory] + [InlineData("/WithDoubleAsteriskCatchAll/a/b/c", "Link: /WithDoubleAsteriskCatchAll/a/b/c")] + [InlineData("/WithDoubleAsteriskCatchAll/a/b/c/", "Link: /WithDoubleAsteriskCatchAll/a/b/c/")] + [InlineData("/WithDoubleAsteriskCatchAll/a//b/c", "Link: /WithDoubleAsteriskCatchAll/a//b/c")] + public async Task GeneratesLink_ToEndpointWithDoubleAsteriskCatchAllParameter_DoesNotEncodeSlashes( + string url, + string expected) + { + // Arrange & Act + var response = await _client.GetAsync(url); + + // Assert + Assert.Equal(HttpStatusCode.OK, response.StatusCode); + Assert.NotNull(response.Content); + var actualContent = await response.Content.ReadAsStringAsync(); + Assert.Equal(expected, actualContent); + } + + [Fact] + public async Task GeneratesLink_ToEndpointWithDoubleAsteriskCatchAllParameter_EncodesContentOtherThanSlashes() + { + // Arrange & Act + var response = await _client.GetAsync("/WithDoubleAsteriskCatchAll/a/b b1/c c1"); + + // Assert + Assert.Equal(HttpStatusCode.OK, response.StatusCode); + Assert.NotNull(response.Content); + var actualContent = await response.Content.ReadAsStringAsync(); + Assert.Equal("Link: /WithDoubleAsteriskCatchAll/a/b%20b1/c%20c1", actualContent); + } + public void Dispose() { _testServer.Dispose(); diff --git a/test/Microsoft.AspNetCore.Routing.Tests/DefaultLinkGeneratorTest.cs b/test/Microsoft.AspNetCore.Routing.Tests/DefaultLinkGeneratorTest.cs index 84e9701cd8..1fe785ca8f 100644 --- a/test/Microsoft.AspNetCore.Routing.Tests/DefaultLinkGeneratorTest.cs +++ b/test/Microsoft.AspNetCore.Routing.Tests/DefaultLinkGeneratorTest.cs @@ -98,6 +98,76 @@ namespace Microsoft.AspNetCore.Routing Assert.Equal("/Home/Index", link); } + [Fact] + public void GetLink_EncodesIntermediate_DefaultValues() + { + // Arrange + var endpoint = EndpointFactory.CreateMatcherEndpoint("{p1}/{p2=a b}/{p3=foo}"); + var linkGenerator = CreateLinkGenerator(endpoint); + + // Act + var link = linkGenerator.GetLink(new { p1 = "Home", p3 = "bar" }); + + // Assert + Assert.Equal("/Home/a%20b/bar", link); + } + + [Theory] + [InlineData("a/b/c", "/Home/Index/a%2Fb%2Fc")] + [InlineData("a/b b1/c c1", "/Home/Index/a%2Fb%20b1%2Fc%20c1")] + public void GetLink_EncodesValue_OfSingleAsteriskCatchAllParameter(string routeValue, string expected) + { + // Arrange + var endpoint = EndpointFactory.CreateMatcherEndpoint("{controller}/{action}/{*path}"); + var linkGenerator = CreateLinkGenerator(endpoint); + var httpContext = CreateHttpContext(ambientValues: new { controller = "Home", action = "Index" }); + + // Act + var link = linkGenerator.GetLink(httpContext, new { path = routeValue }); + + // Assert + Assert.Equal(expected, link); + } + + [Theory] + [InlineData("/", "/Home/Index//")] + [InlineData("a", "/Home/Index/a")] + [InlineData("a/", "/Home/Index/a/")] + [InlineData("a/b", "/Home/Index/a/b")] + [InlineData("a/b/c", "/Home/Index/a/b/c")] + [InlineData("a/b/cc", "/Home/Index/a/b/cc")] + [InlineData("a/b/c/", "/Home/Index/a/b/c/")] + [InlineData("a/b/c//", "/Home/Index/a/b/c//")] + [InlineData("a//b//c", "/Home/Index/a//b//c")] + public void GetLink_DoesNotEncodeSlashes_OfDoubleAsteriskCatchAllParameter(string routeValue, string expected) + { + // Arrange + var endpoint = EndpointFactory.CreateMatcherEndpoint("{controller}/{action}/{**path}"); + var linkGenerator = CreateLinkGenerator(endpoint); + var httpContext = CreateHttpContext(ambientValues: new { controller = "Home", action = "Index" }); + + // Act + var link = linkGenerator.GetLink(httpContext, new { path = routeValue }); + + // Assert + Assert.Equal(expected, link); + } + + [Fact] + public void GetLink_EncodesContentOtherThanSlashes_OfDoubleAsteriskCatchAllParameter() + { + // Arrange + var endpoint = EndpointFactory.CreateMatcherEndpoint("{controller}/{action}/{**path}"); + var linkGenerator = CreateLinkGenerator(endpoint); + var httpContext = CreateHttpContext(ambientValues: new { controller = "Home", action = "Index" }); + + // Act + var link = linkGenerator.GetLink(httpContext, new { path = "a/b b1/c c1" }); + + // Assert + Assert.Equal("/Home/Index/a/b%20b1/c%20c1", link); + } + [Fact] public void GetLink_EncodesValues() { diff --git a/test/Microsoft.AspNetCore.Routing.Tests/Internal/UriBuildingContextTest.cs b/test/Microsoft.AspNetCore.Routing.Tests/Internal/UriBuildingContextTest.cs new file mode 100644 index 0000000000..137520051c --- /dev/null +++ b/test/Microsoft.AspNetCore.Routing.Tests/Internal/UriBuildingContextTest.cs @@ -0,0 +1,69 @@ +// Copyright (c) .NET Foundation. All rights reserved. +// Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information. + +using Microsoft.Extensions.WebEncoders.Testing; +using Xunit; + +namespace Microsoft.AspNetCore.Routing.Internal +{ + public class UriBuildingContextTest + { + [Fact] + public void EncodeValue_EncodesEntireValue_WhenEncodeSlashes_IsFalse() + { + // Arrange + var urlTestEncoder = new UrlTestEncoder(); + var value = "a/b b1/c"; + var expected = "/UrlEncode[[a/b b1/c]]"; + var uriBuilldingContext = new UriBuildingContext(urlTestEncoder); + + // Act + uriBuilldingContext.EncodeValue(value, 0, value.Length, encodeSlashes: true); + + // Assert + Assert.Equal(expected, uriBuilldingContext.ToString()); + } + + [Fact] + public void EncodeValue_EncodesOnlySlashes_WhenEncodeSlashes_IsFalse() + { + // Arrange + var urlTestEncoder = new UrlTestEncoder(); + var value = "a/b b1/c"; + var expected = "/UrlEncode[[a]]/UrlEncode[[b b1]]/UrlEncode[[c]]"; + var uriBuilldingContext = new UriBuildingContext(urlTestEncoder); + + // Act + uriBuilldingContext.EncodeValue(value, 0, value.Length, encodeSlashes: false); + + // Assert + Assert.Equal(expected, uriBuilldingContext.ToString()); + } + + [Theory] + [InlineData("a/b b1/c", 0, 2, "/UrlEncode[[a]]/")] + [InlineData("a/b b1/c", 3, 4, "/UrlEncode[[ b1]]/")] + [InlineData("a/b b1/c", 3, 5, "/UrlEncode[[ b1]]/UrlEncode[[c]]")] + [InlineData("a/b b1/c/", 8, 1, "/")] + [InlineData("/", 0, 1, "/")] + [InlineData("/a", 0, 2, "/UrlEncode[[a]]")] + [InlineData("a", 0, 1, "/UrlEncode[[a]]")] + [InlineData("a/", 0, 2, "/UrlEncode[[a]]/")] + public void EncodeValue_EncodesOnlySlashes_WithinSubsegment_WhenEncodeSlashes_IsFalse( + string value, + int startIndex, + int characterCount, + string expected) + { + // Arrange + var urlTestEncoder = new UrlTestEncoder(); + var uriBuilldingContext = new UriBuildingContext(urlTestEncoder); + + // Act + uriBuilldingContext.EncodeValue(value, startIndex, characterCount, encodeSlashes: false); + + // Assert + Assert.Equal(expected, uriBuilldingContext.ToString()); + } + } +} diff --git a/test/Microsoft.AspNetCore.Routing.Tests/Patterns/InlineRouteParameterParserTest.cs b/test/Microsoft.AspNetCore.Routing.Tests/Patterns/InlineRouteParameterParserTest.cs index 87ab942b23..0056b1c534 100644 --- a/test/Microsoft.AspNetCore.Routing.Tests/Patterns/InlineRouteParameterParserTest.cs +++ b/test/Microsoft.AspNetCore.Routing.Tests/Patterns/InlineRouteParameterParserTest.cs @@ -2,6 +2,7 @@ // Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information. using System.Linq; +using Microsoft.AspNetCore.Routing.Constraints; using Xunit; namespace Microsoft.AspNetCore.Routing.Patterns @@ -919,6 +920,7 @@ namespace Microsoft.AspNetCore.Routing.Patterns [InlineData("", "")] [InlineData("?", "")] [InlineData("*", "")] + [InlineData("**", "")] [InlineData(" ", " ")] [InlineData("\t", "\t")] [InlineData("#!@#$%Q@#@%", "#!@#$%Q@#@%")] @@ -936,6 +938,134 @@ namespace Microsoft.AspNetCore.Routing.Patterns Assert.Null(templatePart.Default); } + [Fact] + public void ParseRouteParameter_WithSingleAsteriskCatchAll_IsParsedCorrectly() + { + // Arrange & Act + var parameterPart = ParseParameter("*path"); + + // Assert + Assert.Equal("path", parameterPart.Name); + Assert.True(parameterPart.IsCatchAll); + Assert.Equal(RoutePatternParameterKind.CatchAll, parameterPart.ParameterKind); + Assert.True(parameterPart.EncodeSlashes); + } + + [Fact] + public void ParseRouteParameter_WithSingleAsteriskCatchAll_AndDefaultValue_IsParsedCorrectly() + { + // Arrange & Act + var parameterPart = ParseParameter("*path=a/b/c"); + + // Assert + Assert.Equal("path", parameterPart.Name); + Assert.True(parameterPart.IsCatchAll); + Assert.NotNull(parameterPart.Default); + Assert.Equal("a/b/c", parameterPart.Default.ToString()); + Assert.Equal(RoutePatternParameterKind.CatchAll, parameterPart.ParameterKind); + Assert.True(parameterPart.EncodeSlashes); + } + + [Fact] + public void ParseRouteParameter_WithSingleAsteriskCatchAll_AndConstraints_IsParsedCorrectly() + { + // Arrange + var constraintContent = "regex(^(/[^/ ]*)+/?$)"; + + // Act + var parameterPart = ParseParameter($"*path:{constraintContent}"); + + // Assert + Assert.Equal("path", parameterPart.Name); + Assert.True(parameterPart.IsCatchAll); + Assert.Equal(RoutePatternParameterKind.CatchAll, parameterPart.ParameterKind); + var constraintReference = Assert.Single(parameterPart.Constraints); + Assert.Equal(constraintContent, constraintReference.Content); + Assert.True(parameterPart.EncodeSlashes); + } + + [Fact] + public void ParseRouteParameter_WithSingleAsteriskCatchAll_AndConstraints_AndDefaultValue_IsParsedCorrectly() + { + // Arrange + var constraintContent = "regex(^(/[^/ ]*)+/?$)"; + + // Act + var parameterPart = ParseParameter($"*path:{constraintContent}=a/b/c"); + + // Assert + Assert.Equal("path", parameterPart.Name); + Assert.True(parameterPart.IsCatchAll); + Assert.Equal(RoutePatternParameterKind.CatchAll, parameterPart.ParameterKind); + var constraintReference = Assert.Single(parameterPart.Constraints); + Assert.Equal(constraintContent, constraintReference.Content); + Assert.NotNull(parameterPart.Default); + Assert.Equal("a/b/c", parameterPart.Default.ToString()); + Assert.True(parameterPart.EncodeSlashes); + } + + [Fact] + public void ParseRouteParameter_WithDoubleAsteriskCatchAll_IsParsedCorrectly() + { + // Arrange & Act + var parameterPart = ParseParameter("**path"); + + // Assert + Assert.Equal("path", parameterPart.Name); + Assert.True(parameterPart.IsCatchAll); + Assert.False(parameterPart.EncodeSlashes); + } + + [Fact] + public void ParseRouteParameter_WithDoubleAsteriskCatchAll_AndDefaultValue_IsParsedCorrectly() + { + // Arrange & Act + var parameterPart = ParseParameter("**path=a/b/c"); + + // Assert + Assert.Equal("path", parameterPart.Name); + Assert.True(parameterPart.IsCatchAll); + Assert.NotNull(parameterPart.Default); + Assert.Equal("a/b/c", parameterPart.Default.ToString()); + Assert.False(parameterPart.EncodeSlashes); + } + + [Fact] + public void ParseRouteParameter_WithDoubleAsteriskCatchAll_AndConstraints_IsParsedCorrectly() + { + // Arrange + var constraintContent = "regex(^(/[^/ ]*)+/?$)"; + + // Act + var parameterPart = ParseParameter($"**path:{constraintContent}"); + + // Assert + Assert.Equal("path", parameterPart.Name); + Assert.True(parameterPart.IsCatchAll); + Assert.False(parameterPart.EncodeSlashes); + var constraintReference = Assert.Single(parameterPart.Constraints); + Assert.Equal(constraintContent, constraintReference.Content); + } + + [Fact] + public void ParseRouteParameter_WithDoubleAsteriskCatchAll_AndConstraints_AndDefaultValue_IsParsedCorrectly() + { + // Arrange + var constraintContent = "regex(^(/[^/ ]*)+/?$)"; + + // Act + var parameterPart = ParseParameter($"**path:{constraintContent}=a/b/c"); + + // Assert + Assert.Equal("path", parameterPart.Name); + Assert.True(parameterPart.IsCatchAll); + Assert.False(parameterPart.EncodeSlashes); + var constraintReference = Assert.Single(parameterPart.Constraints); + Assert.Equal(constraintContent, constraintReference.Content); + Assert.NotNull(parameterPart.Default); + Assert.Equal("a/b/c", parameterPart.Default.ToString()); + } + private RoutePatternParameterPart ParseParameter(string routeParameter) { // See: #475 - these tests don't pass the 'whole' text. diff --git a/test/Microsoft.AspNetCore.Routing.Tests/Patterns/RoutePatternParserTest.cs b/test/Microsoft.AspNetCore.Routing.Tests/Patterns/RoutePatternParserTest.cs index 760544801e..0dfc68d072 100644 --- a/test/Microsoft.AspNetCore.Routing.Tests/Patterns/RoutePatternParserTest.cs +++ b/test/Microsoft.AspNetCore.Routing.Tests/Patterns/RoutePatternParserTest.cs @@ -470,7 +470,6 @@ namespace Microsoft.AspNetCore.Routing.Patterns } [Theory] - [InlineData("{**}", "*")] [InlineData("{a*}", "a*")] [InlineData("{*a*}", "a*")] [InlineData("{*a*:int}", "a*")] diff --git a/test/Microsoft.AspNetCore.Routing.Tests/Template/TemplateParserTests.cs b/test/Microsoft.AspNetCore.Routing.Tests/Template/TemplateParserTests.cs index eabc3ec25e..39f2a1159e 100644 --- a/test/Microsoft.AspNetCore.Routing.Tests/Template/TemplateParserTests.cs +++ b/test/Microsoft.AspNetCore.Routing.Tests/Template/TemplateParserTests.cs @@ -626,7 +626,6 @@ namespace Microsoft.AspNetCore.Routing.Template.Tests } [Theory] - [InlineData("{**}", "*")] [InlineData("{a*}", "a*")] [InlineData("{*a*}", "a*")] [InlineData("{*a*:int}", "a*")] From 0986f74264d0e17f82b4548ed63c38f12969e9c9 Mon Sep 17 00:00:00 2001 From: Kiran Challa Date: Tue, 7 Aug 2018 05:22:15 -0700 Subject: [PATCH 133/221] Added benchmarks for link generation --- .../EndpointRoutingBenchmarkBase.cs | 145 ++ .../LinkGenerationGithubBenchmark.cs | 67 + ...LinkGenerationGithubBenchmark.generated.cs | 1519 +++++++++++++++++ ...RouteValuesBasedEndpointFinderBenchmark.cs | 74 + .../SingleRouteWithConstraintsBenchmark.cs | 74 + .../SingleRouteWithNoParametersBenchmark.cs | 68 + .../SingleRouteWithParametersBenchmark.cs | 74 + .../Matching/MatcherAzureBenchmark.cs | 2 +- .../MatcherAzureBenchmark.generated.cs | 2 +- .../Matching/MatcherBenchmarkBase.cs | 87 - .../MatcherFindCandidateSetAzureBenchmark.cs | 2 +- ...indCandidateSetAzureBenchmark.generated.cs | 2 +- .../MatcherFindCandidateSetGithubBenchmark.cs | 2 +- ...ndCandidateSetGithubBenchmark.generated.cs | 2 +- ...herFindCandidateSetSingleEntryBenchmark.cs | 2 +- ...indCandidateSetSmallEntryCountBenchmark.cs | 2 +- .../Matching/MatcherGithubBenchmark.cs | 2 +- .../MatcherGithubBenchmark.generated.cs | 2 +- .../Matching/MatcherSingleEntryBenchmark.cs | 2 +- benchmarks/Swaggatherer/Template.cs | 87 +- 20 files changed, 2106 insertions(+), 111 deletions(-) create mode 100644 benchmarks/Microsoft.AspNetCore.Routing.Performance/EndpointRoutingBenchmarkBase.cs create mode 100644 benchmarks/Microsoft.AspNetCore.Routing.Performance/LinkGeneration/LinkGenerationGithubBenchmark.cs create mode 100644 benchmarks/Microsoft.AspNetCore.Routing.Performance/LinkGeneration/LinkGenerationGithubBenchmark.generated.cs create mode 100644 benchmarks/Microsoft.AspNetCore.Routing.Performance/LinkGeneration/SingleRouteRouteValuesBasedEndpointFinderBenchmark.cs create mode 100644 benchmarks/Microsoft.AspNetCore.Routing.Performance/LinkGeneration/SingleRouteWithConstraintsBenchmark.cs create mode 100644 benchmarks/Microsoft.AspNetCore.Routing.Performance/LinkGeneration/SingleRouteWithNoParametersBenchmark.cs create mode 100644 benchmarks/Microsoft.AspNetCore.Routing.Performance/LinkGeneration/SingleRouteWithParametersBenchmark.cs delete mode 100644 benchmarks/Microsoft.AspNetCore.Routing.Performance/Matching/MatcherBenchmarkBase.cs diff --git a/benchmarks/Microsoft.AspNetCore.Routing.Performance/EndpointRoutingBenchmarkBase.cs b/benchmarks/Microsoft.AspNetCore.Routing.Performance/EndpointRoutingBenchmarkBase.cs new file mode 100644 index 0000000000..440c6b3860 --- /dev/null +++ b/benchmarks/Microsoft.AspNetCore.Routing.Performance/EndpointRoutingBenchmarkBase.cs @@ -0,0 +1,145 @@ +// Copyright (c) .NET Foundation. All rights reserved. +// Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information. + +using System; +using System.Collections.Generic; +using System.Runtime.CompilerServices; +using System.Text; +using Microsoft.AspNetCore.Http; +using Microsoft.AspNetCore.Routing.Matching; +using Microsoft.AspNetCore.Routing.Patterns; +using Microsoft.AspNetCore.Routing.Template; +using Microsoft.AspNetCore.Routing.Tree; +using Microsoft.Extensions.DependencyInjection; +using Microsoft.Extensions.DependencyInjection.Extensions; +using Microsoft.Extensions.ObjectPool; + +namespace Microsoft.AspNetCore.Routing +{ + public abstract class EndpointRoutingBenchmarkBase + { + private protected MatcherEndpoint[] Endpoints; + private protected HttpContext[] Requests; + + private protected void SetupEndpoints(params MatcherEndpoint[] endpoints) + { + Endpoints = endpoints; + } + + // The older routing implementations retrieve services when they first execute. + private protected IServiceProvider CreateServices() + { + var services = new ServiceCollection(); + services.AddSingleton(); + services.AddLogging(); + services.AddOptions(); + services.AddRouting(); + + services.TryAddEnumerable( + ServiceDescriptor.Singleton(new DefaultEndpointDataSource(Endpoints))); + + return services.BuildServiceProvider(); + } + + private protected DfaMatcherBuilder CreateDfaMatcherBuilder() + { + return CreateServices().GetRequiredService(); + } + + private protected static int[] SampleRequests(int endpointCount, int count) + { + // This isn't very high tech, but it's at least regular distribution. + // We sort the route templates by precedence, so this should result in + // an even distribution of the 'complexity' of the routes that are exercised. + var frequency = endpointCount / count; + if (frequency < 2) + { + throw new InvalidOperationException( + "The sample count is too high. This won't produce an accurate sampling" + + "of the request data."); + } + + var samples = new int[count]; + for (var i = 0; i < samples.Length; i++) + { + samples[i] = i * frequency; + } + + return samples; + } + + [MethodImpl(MethodImplOptions.NoInlining)] + private protected void Validate(HttpContext httpContext, Endpoint expected, Endpoint actual) + { + if (!object.ReferenceEquals(expected, actual)) + { + var message = new StringBuilder(); + message.AppendLine($"Validation failed for request {Array.IndexOf(Requests, httpContext)}"); + message.AppendLine($"{httpContext.Request.Method} {httpContext.Request.Path}"); + message.AppendLine($"expected: '{((MatcherEndpoint)expected)?.DisplayName ?? "null"}'"); + message.AppendLine($"actual: '{((MatcherEndpoint)actual)?.DisplayName ?? "null"}'"); + throw new InvalidOperationException(message.ToString()); + } + } + + protected void AssertUrl(string expectedUrl, string actualUrl) + { + AssertUrl(expectedUrl, actualUrl, StringComparison.Ordinal); + } + + protected void AssertUrl(string expectedUrl, string actualUrl, StringComparison stringComparison) + { + if (!string.Equals(expectedUrl, actualUrl, stringComparison)) + { + throw new InvalidOperationException($"Expected: {expectedUrl}, Actual: {actualUrl}"); + } + } + + protected MatcherEndpoint CreateEndpoint( + string template, + object defaults = null, + object constraints = null, + object requiredValues = null, + int order = 0, + string displayName = null, + string routeName = null, + params object[] metadata) + { + var endpointMetadata = new List(metadata ?? Array.Empty()); + endpointMetadata.Add(new RouteValuesAddressMetadata(routeName, new RouteValueDictionary(requiredValues))); + + return new MatcherEndpoint( + MatcherEndpoint.EmptyInvoker, + RoutePatternFactory.Parse(template, defaults, constraints), + order, + new EndpointMetadataCollection(endpointMetadata), + displayName); + } + + protected (HttpContext httpContext, RouteValueDictionary ambientValues) CreateCurrentRequestContext( + object ambientValues = null) + { + var feature = new EndpointFeature { Values = new RouteValueDictionary(ambientValues) }; + var context = new DefaultHttpContext(); + context.Features.Set(feature); + + return (context, feature.Values); + } + + protected void CreateOutboundRouteEntry(TreeRouteBuilder treeRouteBuilder, MatcherEndpoint endpoint) + { + var routeValuesAddressMetadata = endpoint.Metadata.GetMetadata(); + var requiredValues = routeValuesAddressMetadata?.RequiredValues ?? new RouteValueDictionary(); + + treeRouteBuilder.MapOutbound( + NullRouter.Instance, + new RouteTemplate(RoutePatternFactory.Parse( + endpoint.RoutePattern.RawText, + defaults: endpoint.RoutePattern.Defaults, + constraints: null)), + requiredLinkValues: new RouteValueDictionary(requiredValues), + routeName: null, + order: 0); + } + } +} diff --git a/benchmarks/Microsoft.AspNetCore.Routing.Performance/LinkGeneration/LinkGenerationGithubBenchmark.cs b/benchmarks/Microsoft.AspNetCore.Routing.Performance/LinkGeneration/LinkGenerationGithubBenchmark.cs new file mode 100644 index 0000000000..b7309a159e --- /dev/null +++ b/benchmarks/Microsoft.AspNetCore.Routing.Performance/LinkGeneration/LinkGenerationGithubBenchmark.cs @@ -0,0 +1,67 @@ +// Copyright (c) .NET Foundation. All rights reserved. +// Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information. + +using BenchmarkDotNet.Attributes; +using Microsoft.AspNetCore.Http; +using Microsoft.AspNetCore.Routing.Tree; +using Microsoft.Extensions.DependencyInjection; + +namespace Microsoft.AspNetCore.Routing.LinkGeneration +{ + public partial class LinkGenerationGithubBenchmark + { + private LinkGenerator _linkGenerator; + private TreeRouter _treeRouter; + private (HttpContext HttpContext, RouteValueDictionary AmbientValues) _requestContext; + private RouteValueDictionary _lookUpValues; + + [GlobalSetup] + public void Setup() + { + SetupEndpoints(); + + var services = CreateServices(); + _linkGenerator = services.GetRequiredService(); + + // Attribute routing related + var treeRouteBuilder = services.GetRequiredService(); + foreach (var endpoint in Endpoints) + { + CreateOutboundRouteEntry(treeRouteBuilder, endpoint); + } + _treeRouter = treeRouteBuilder.Build(); + + _requestContext = CreateCurrentRequestContext(); + + // Get the endpoint to test and pre-populate the lookup values with the defaults + // (as they are dynamically generated) and update with other required parameter values. + // /repos/{owner}/{repo}/issues/comments/{commentId} + var endpointToTest = Endpoints[176]; + _lookUpValues = new RouteValueDictionary(endpointToTest.RoutePattern.Defaults); + _lookUpValues["owner"] = "aspnet"; + _lookUpValues["repo"] = "routing"; + _lookUpValues["commentId"] = "20202"; + } + + [Benchmark(Baseline = true)] + public void TreeRouter() + { + var virtualPathData = _treeRouter.GetVirtualPath(new VirtualPathContext( + _requestContext.HttpContext, + ambientValues: _requestContext.AmbientValues, + values: new RouteValueDictionary(_lookUpValues))); + + AssertUrl("/repos/aspnet/routing/issues/comments/20202", virtualPathData?.VirtualPath); + } + + [Benchmark] + public void EndpointRouting() + { + var actualUrl = _linkGenerator.GetLink( + _requestContext.HttpContext, + values: new RouteValueDictionary(_lookUpValues)); + + AssertUrl("/repos/aspnet/routing/issues/comments/20202", actualUrl); + } + } +} diff --git a/benchmarks/Microsoft.AspNetCore.Routing.Performance/LinkGeneration/LinkGenerationGithubBenchmark.generated.cs b/benchmarks/Microsoft.AspNetCore.Routing.Performance/LinkGeneration/LinkGenerationGithubBenchmark.generated.cs new file mode 100644 index 0000000000..14e3ecb9d7 --- /dev/null +++ b/benchmarks/Microsoft.AspNetCore.Routing.Performance/LinkGeneration/LinkGenerationGithubBenchmark.generated.cs @@ -0,0 +1,1519 @@ +// Copyright (c) .NET Foundation. All rights reserved. +// Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information. + +using System.Collections.Generic; +using Microsoft.AspNetCore.Http; +using Microsoft.AspNetCore.Routing.Matching; + +namespace Microsoft.AspNetCore.Routing.LinkGeneration +{ + // This code was generated by the Swaggatherer + public partial class LinkGenerationGithubBenchmark : EndpointRoutingBenchmarkBase + { + private const int EndpointCount = 243; + + private void SetupEndpoints() + { + Endpoints = new MatcherEndpoint[243]; + Endpoints[0] = CreateEndpoint("/emojis", "Controller1", "Action1", "GET"); + Endpoints[1] = CreateEndpoint("/events", "Controller2", "Action1", "GET"); + Endpoints[2] = CreateEndpoint("/feeds", "Controller3", "Action1", "GET"); + Endpoints[3] = CreateEndpoint("/gists", "Controller4", "Action1", "GET"); + Endpoints[4] = CreateEndpoint("/gists", "Controller4", "Action2", "POST"); + Endpoints[5] = CreateEndpoint("/issues", "Controller5", "Action1", "GET"); + Endpoints[6] = CreateEndpoint("/markdown", "Controller6", "Action1", "POST"); + Endpoints[7] = CreateEndpoint("/meta", "Controller7", "Action1", "GET"); + Endpoints[8] = CreateEndpoint("/notifications", "Controller8", "Action1", "GET"); + Endpoints[9] = CreateEndpoint("/notifications", "Controller8", "Action2", "PUT"); + Endpoints[10] = CreateEndpoint("/rate_limit", "Controller9", "Action1", "GET"); + Endpoints[11] = CreateEndpoint("/repositories", "Controller10", "Action1", "GET"); + Endpoints[12] = CreateEndpoint("/user", "Controller11", "Action1", "GET"); + Endpoints[13] = CreateEndpoint("/user", "Controller11", "Action2", "PATCH"); + Endpoints[14] = CreateEndpoint("/users", "Controller12", "Action1", "GET"); + Endpoints[15] = CreateEndpoint("/gists/public", "Controller13", "Action1", "GET"); + Endpoints[16] = CreateEndpoint("/gists/starred", "Controller14", "Action1", "GET"); + Endpoints[17] = CreateEndpoint("/gitignore/templates", "Controller15", "Action1", "GET"); + Endpoints[18] = CreateEndpoint("/markdown/raw", "Controller16", "Action1", "POST"); + Endpoints[19] = CreateEndpoint("/search/code", "Controller17", "Action1", "GET"); + Endpoints[20] = CreateEndpoint("/search/issues", "Controller18", "Action1", "GET"); + Endpoints[21] = CreateEndpoint("/search/repositories", "Controller19", "Action1", "GET"); + Endpoints[22] = CreateEndpoint("/search/users", "Controller20", "Action1", "GET"); + Endpoints[23] = CreateEndpoint("/user/emails", "Controller21", "Action1", "GET"); + Endpoints[24] = CreateEndpoint("/user/emails", "Controller21", "Action2", "DELETE"); + Endpoints[25] = CreateEndpoint("/user/emails", "Controller21", "Action3", "POST"); + Endpoints[26] = CreateEndpoint("/user/followers", "Controller22", "Action1", "GET"); + Endpoints[27] = CreateEndpoint("/user/following", "Controller23", "Action1", "GET"); + Endpoints[28] = CreateEndpoint("/user/issues", "Controller24", "Action1", "GET"); + Endpoints[29] = CreateEndpoint("/user/keys", "Controller25", "Action1", "POST"); + Endpoints[30] = CreateEndpoint("/user/keys", "Controller25", "Action2", "GET"); + Endpoints[31] = CreateEndpoint("/user/orgs", "Controller26", "Action1", "GET"); + Endpoints[32] = CreateEndpoint("/user/repos", "Controller27", "Action1", "GET"); + Endpoints[33] = CreateEndpoint("/user/repos", "Controller27", "Action2", "POST"); + Endpoints[34] = CreateEndpoint("/user/starred", "Controller28", "Action1", "GET"); + Endpoints[35] = CreateEndpoint("/user/subscriptions", "Controller29", "Action1", "GET"); + Endpoints[36] = CreateEndpoint("/user/teams", "Controller30", "Action1", "GET"); + Endpoints[37] = CreateEndpoint("/legacy/repos/search/{keyword}", "Controller31", "Action1", "GET"); + Endpoints[38] = CreateEndpoint("/legacy/user/email/{email}", "Controller32", "Action1", "GET"); + Endpoints[39] = CreateEndpoint("/legacy/user/search/{keyword}", "Controller33", "Action1", "GET"); + Endpoints[40] = CreateEndpoint("/legacy/issues/search/{owner}/{repository}/{state}/{keyword}", "Controller34", "Action1", "GET"); + Endpoints[41] = CreateEndpoint("/gitignore/templates/{language}", "Controller35", "Action1", "GET"); + Endpoints[42] = CreateEndpoint("/notifications/threads/{id}", "Controller36", "Action1", "GET"); + Endpoints[43] = CreateEndpoint("/notifications/threads/{id}", "Controller36", "Action2", "PATCH"); + Endpoints[44] = CreateEndpoint("/user/following/{username}", "Controller37", "Action1", "DELETE"); + Endpoints[45] = CreateEndpoint("/user/following/{username}", "Controller37", "Action2", "GET"); + Endpoints[46] = CreateEndpoint("/user/following/{username}", "Controller37", "Action3", "PUT"); + Endpoints[47] = CreateEndpoint("/user/keys/{keyId}", "Controller38", "Action1", "DELETE"); + Endpoints[48] = CreateEndpoint("/user/keys/{keyId}", "Controller38", "Action2", "GET"); + Endpoints[49] = CreateEndpoint("/notifications/threads/{id}/subscription", "Controller39", "Action1", "DELETE"); + Endpoints[50] = CreateEndpoint("/notifications/threads/{id}/subscription", "Controller39", "Action2", "GET"); + Endpoints[51] = CreateEndpoint("/notifications/threads/{id}/subscription", "Controller39", "Action3", "PUT"); + Endpoints[52] = CreateEndpoint("/user/starred/{owner}/{repo}", "Controller40", "Action1", "PUT"); + Endpoints[53] = CreateEndpoint("/user/starred/{owner}/{repo}", "Controller40", "Action2", "GET"); + Endpoints[54] = CreateEndpoint("/user/starred/{owner}/{repo}", "Controller40", "Action3", "DELETE"); + Endpoints[55] = CreateEndpoint("/user/subscriptions/{owner}/{repo}", "Controller41", "Action1", "PUT"); + Endpoints[56] = CreateEndpoint("/user/subscriptions/{owner}/{repo}", "Controller41", "Action2", "GET"); + Endpoints[57] = CreateEndpoint("/user/subscriptions/{owner}/{repo}", "Controller41", "Action3", "DELETE"); + Endpoints[58] = CreateEndpoint("/gists/{id}", "Controller42", "Action1", "GET"); + Endpoints[59] = CreateEndpoint("/gists/{id}", "Controller42", "Action2", "PATCH"); + Endpoints[60] = CreateEndpoint("/gists/{id}", "Controller42", "Action3", "DELETE"); + Endpoints[61] = CreateEndpoint("/orgs/{org}", "Controller43", "Action1", "PATCH"); + Endpoints[62] = CreateEndpoint("/orgs/{org}", "Controller43", "Action2", "GET"); + Endpoints[63] = CreateEndpoint("/teams/{teamId}", "Controller44", "Action1", "PATCH"); + Endpoints[64] = CreateEndpoint("/teams/{teamId}", "Controller44", "Action2", "GET"); + Endpoints[65] = CreateEndpoint("/teams/{teamId}", "Controller44", "Action3", "DELETE"); + Endpoints[66] = CreateEndpoint("/users/{username}", "Controller45", "Action1", "GET"); + Endpoints[67] = CreateEndpoint("/gists/{id}/comments", "Controller46", "Action1", "GET"); + Endpoints[68] = CreateEndpoint("/gists/{id}/comments", "Controller46", "Action2", "POST"); + Endpoints[69] = CreateEndpoint("/gists/{id}/forks", "Controller47", "Action1", "POST"); + Endpoints[70] = CreateEndpoint("/gists/{id}/star", "Controller48", "Action1", "DELETE"); + Endpoints[71] = CreateEndpoint("/gists/{id}/star", "Controller48", "Action2", "GET"); + Endpoints[72] = CreateEndpoint("/gists/{id}/star", "Controller48", "Action3", "PUT"); + Endpoints[73] = CreateEndpoint("/orgs/{org}/events", "Controller49", "Action1", "GET"); + Endpoints[74] = CreateEndpoint("/orgs/{org}/issues", "Controller50", "Action1", "GET"); + Endpoints[75] = CreateEndpoint("/orgs/{org}/members", "Controller51", "Action1", "GET"); + Endpoints[76] = CreateEndpoint("/orgs/{org}/public_members", "Controller52", "Action1", "GET"); + Endpoints[77] = CreateEndpoint("/orgs/{org}/repos", "Controller53", "Action1", "GET"); + Endpoints[78] = CreateEndpoint("/orgs/{org}/repos", "Controller53", "Action2", "POST"); + Endpoints[79] = CreateEndpoint("/orgs/{org}/teams", "Controller54", "Action1", "POST"); + Endpoints[80] = CreateEndpoint("/orgs/{org}/teams", "Controller54", "Action2", "GET"); + Endpoints[81] = CreateEndpoint("/teams/{teamId}/members", "Controller55", "Action1", "GET"); + Endpoints[82] = CreateEndpoint("/teams/{teamId}/repos", "Controller56", "Action1", "GET"); + Endpoints[83] = CreateEndpoint("/users/{username}/events", "Controller57", "Action1", "GET"); + Endpoints[84] = CreateEndpoint("/users/{username}/followers", "Controller58", "Action1", "GET"); + Endpoints[85] = CreateEndpoint("/users/{username}/gists", "Controller59", "Action1", "GET"); + Endpoints[86] = CreateEndpoint("/users/{username}/keys", "Controller60", "Action1", "GET"); + Endpoints[87] = CreateEndpoint("/users/{username}/orgs", "Controller61", "Action1", "GET"); + Endpoints[88] = CreateEndpoint("/users/{username}/received_events", "Controller62", "Action1", "GET"); + Endpoints[89] = CreateEndpoint("/users/{username}/repos", "Controller63", "Action1", "GET"); + Endpoints[90] = CreateEndpoint("/users/{username}/starred", "Controller64", "Action1", "GET"); + Endpoints[91] = CreateEndpoint("/users/{username}/subscriptions", "Controller65", "Action1", "GET"); + Endpoints[92] = CreateEndpoint("/users/{username}/received_events/public", "Controller66", "Action1", "GET"); + Endpoints[93] = CreateEndpoint("/users/{username}/events/orgs/{org}", "Controller67", "Action1", "GET"); + Endpoints[94] = CreateEndpoint("/gists/{id}/comments/{commentId}", "Controller68", "Action1", "DELETE"); + Endpoints[95] = CreateEndpoint("/gists/{id}/comments/{commentId}", "Controller68", "Action2", "GET"); + Endpoints[96] = CreateEndpoint("/gists/{id}/comments/{commentId}", "Controller68", "Action3", "PATCH"); + Endpoints[97] = CreateEndpoint("/orgs/{org}/members/{username}", "Controller69", "Action1", "DELETE"); + Endpoints[98] = CreateEndpoint("/orgs/{org}/members/{username}", "Controller69", "Action2", "GET"); + Endpoints[99] = CreateEndpoint("/orgs/{org}/public_members/{username}", "Controller70", "Action1", "PUT"); + Endpoints[100] = CreateEndpoint("/orgs/{org}/public_members/{username}", "Controller70", "Action2", "GET"); + Endpoints[101] = CreateEndpoint("/orgs/{org}/public_members/{username}", "Controller70", "Action3", "DELETE"); + Endpoints[102] = CreateEndpoint("/teams/{teamId}/members/{username}", "Controller71", "Action1", "GET"); + Endpoints[103] = CreateEndpoint("/teams/{teamId}/members/{username}", "Controller71", "Action2", "PUT"); + Endpoints[104] = CreateEndpoint("/teams/{teamId}/members/{username}", "Controller71", "Action3", "DELETE"); + Endpoints[105] = CreateEndpoint("/teams/{teamId}/memberships/{username}", "Controller72", "Action1", "DELETE"); + Endpoints[106] = CreateEndpoint("/teams/{teamId}/memberships/{username}", "Controller72", "Action2", "PUT"); + Endpoints[107] = CreateEndpoint("/teams/{teamId}/memberships/{username}", "Controller72", "Action3", "GET"); + Endpoints[108] = CreateEndpoint("/users/{username}/following/{targetUser}", "Controller73", "Action1", "GET"); + Endpoints[109] = CreateEndpoint("/teams/{teamId}/repos/{org}/{repo}", "Controller74", "Action1", "PUT"); + Endpoints[110] = CreateEndpoint("/teams/{teamId}/repos/{owner}/{repo}", "Controller75", "Action1", "DELETE"); + Endpoints[111] = CreateEndpoint("/teams/{teamId}/repos/{owner}/{repo}", "Controller75", "Action2", "GET"); + Endpoints[112] = CreateEndpoint("/repos/{owner}/{repo}", "Controller76", "Action1", "PATCH"); + Endpoints[113] = CreateEndpoint("/repos/{owner}/{repo}", "Controller76", "Action2", "DELETE"); + Endpoints[114] = CreateEndpoint("/repos/{owner}/{repo}", "Controller76", "Action3", "GET"); + Endpoints[115] = CreateEndpoint("/networks/{owner}/{repo}/events", "Controller77", "Action1", "GET"); + Endpoints[116] = CreateEndpoint("/repos/{owner}/{repo}/assignees", "Controller78", "Action1", "GET"); + Endpoints[117] = CreateEndpoint("/repos/{owner}/{repo}/branches", "Controller79", "Action1", "GET"); + Endpoints[118] = CreateEndpoint("/repos/{owner}/{repo}/collaborators", "Controller80", "Action1", "GET"); + Endpoints[119] = CreateEndpoint("/repos/{owner}/{repo}/comments", "Controller81", "Action1", "GET"); + Endpoints[120] = CreateEndpoint("/repos/{owner}/{repo}/commits", "Controller82", "Action1", "GET"); + Endpoints[121] = CreateEndpoint("/repos/{owner}/{repo}/contributors", "Controller83", "Action1", "GET"); + Endpoints[122] = CreateEndpoint("/repos/{owner}/{repo}/deployments", "Controller84", "Action1", "GET"); + Endpoints[123] = CreateEndpoint("/repos/{owner}/{repo}/deployments", "Controller84", "Action2", "POST"); + Endpoints[124] = CreateEndpoint("/repos/{owner}/{repo}/downloads", "Controller85", "Action1", "GET"); + Endpoints[125] = CreateEndpoint("/repos/{owner}/{repo}/events", "Controller86", "Action1", "GET"); + Endpoints[126] = CreateEndpoint("/repos/{owner}/{repo}/forks", "Controller87", "Action1", "GET"); + Endpoints[127] = CreateEndpoint("/repos/{owner}/{repo}/forks", "Controller87", "Action2", "POST"); + Endpoints[128] = CreateEndpoint("/repos/{owner}/{repo}/hooks", "Controller88", "Action1", "POST"); + Endpoints[129] = CreateEndpoint("/repos/{owner}/{repo}/hooks", "Controller88", "Action2", "GET"); + Endpoints[130] = CreateEndpoint("/repos/{owner}/{repo}/issues", "Controller89", "Action1", "GET"); + Endpoints[131] = CreateEndpoint("/repos/{owner}/{repo}/issues", "Controller89", "Action2", "POST"); + Endpoints[132] = CreateEndpoint("/repos/{owner}/{repo}/keys", "Controller90", "Action1", "GET"); + Endpoints[133] = CreateEndpoint("/repos/{owner}/{repo}/keys", "Controller90", "Action2", "POST"); + Endpoints[134] = CreateEndpoint("/repos/{owner}/{repo}/labels", "Controller91", "Action1", "GET"); + Endpoints[135] = CreateEndpoint("/repos/{owner}/{repo}/labels", "Controller91", "Action2", "POST"); + Endpoints[136] = CreateEndpoint("/repos/{owner}/{repo}/languages", "Controller92", "Action1", "GET"); + Endpoints[137] = CreateEndpoint("/repos/{owner}/{repo}/merges", "Controller93", "Action1", "POST"); + Endpoints[138] = CreateEndpoint("/repos/{owner}/{repo}/milestones", "Controller94", "Action1", "GET"); + Endpoints[139] = CreateEndpoint("/repos/{owner}/{repo}/milestones", "Controller94", "Action2", "POST"); + Endpoints[140] = CreateEndpoint("/repos/{owner}/{repo}/notifications", "Controller95", "Action1", "PUT"); + Endpoints[141] = CreateEndpoint("/repos/{owner}/{repo}/notifications", "Controller95", "Action2", "GET"); + Endpoints[142] = CreateEndpoint("/repos/{owner}/{repo}/pulls", "Controller96", "Action1", "POST"); + Endpoints[143] = CreateEndpoint("/repos/{owner}/{repo}/pulls", "Controller96", "Action2", "GET"); + Endpoints[144] = CreateEndpoint("/repos/{owner}/{repo}/readme", "Controller97", "Action1", "GET"); + Endpoints[145] = CreateEndpoint("/repos/{owner}/{repo}/releases", "Controller98", "Action1", "POST"); + Endpoints[146] = CreateEndpoint("/repos/{owner}/{repo}/releases", "Controller98", "Action2", "GET"); + Endpoints[147] = CreateEndpoint("/repos/{owner}/{repo}/stargazers", "Controller99", "Action1", "GET"); + Endpoints[148] = CreateEndpoint("/repos/{owner}/{repo}/subscribers", "Controller100", "Action1", "GET"); + Endpoints[149] = CreateEndpoint("/repos/{owner}/{repo}/subscription", "Controller101", "Action1", "PUT"); + Endpoints[150] = CreateEndpoint("/repos/{owner}/{repo}/subscription", "Controller101", "Action2", "GET"); + Endpoints[151] = CreateEndpoint("/repos/{owner}/{repo}/subscription", "Controller101", "Action3", "DELETE"); + Endpoints[152] = CreateEndpoint("/repos/{owner}/{repo}/tags", "Controller102", "Action1", "GET"); + Endpoints[153] = CreateEndpoint("/repos/{owner}/{repo}/teams", "Controller103", "Action1", "GET"); + Endpoints[154] = CreateEndpoint("/repos/{owner}/{repo}/watchers", "Controller104", "Action1", "GET"); + Endpoints[155] = CreateEndpoint("/repos/{owner}/{repo}/git/blobs", "Controller105", "Action1", "POST"); + Endpoints[156] = CreateEndpoint("/repos/{owner}/{repo}/git/commits", "Controller106", "Action1", "POST"); + Endpoints[157] = CreateEndpoint("/repos/{owner}/{repo}/git/refs", "Controller107", "Action1", "GET"); + Endpoints[158] = CreateEndpoint("/repos/{owner}/{repo}/git/refs", "Controller107", "Action2", "POST"); + Endpoints[159] = CreateEndpoint("/repos/{owner}/{repo}/git/tags", "Controller108", "Action1", "POST"); + Endpoints[160] = CreateEndpoint("/repos/{owner}/{repo}/git/trees", "Controller109", "Action1", "POST"); + Endpoints[161] = CreateEndpoint("/repos/{owner}/{repo}/issues/comments", "Controller110", "Action1", "GET"); + Endpoints[162] = CreateEndpoint("/repos/{owner}/{repo}/issues/events", "Controller111", "Action1", "GET"); + Endpoints[163] = CreateEndpoint("/repos/{owner}/{repo}/pulls/comments", "Controller112", "Action1", "GET"); + Endpoints[164] = CreateEndpoint("/repos/{owner}/{repo}/stats/code_frequency", "Controller113", "Action1", "GET"); + Endpoints[165] = CreateEndpoint("/repos/{owner}/{repo}/stats/commit_activity", "Controller114", "Action1", "GET"); + Endpoints[166] = CreateEndpoint("/repos/{owner}/{repo}/stats/contributors", "Controller115", "Action1", "GET"); + Endpoints[167] = CreateEndpoint("/repos/{owner}/{repo}/stats/participation", "Controller116", "Action1", "GET"); + Endpoints[168] = CreateEndpoint("/repos/{owner}/{repo}/stats/punch_card", "Controller117", "Action1", "GET"); + Endpoints[169] = CreateEndpoint("/repos/{owner}/{repo}/git/blobs/{shaCode}", "Controller118", "Action1", "GET"); + Endpoints[170] = CreateEndpoint("/repos/{owner}/{repo}/git/commits/{shaCode}", "Controller119", "Action1", "GET"); + Endpoints[171] = CreateEndpoint("/repos/{owner}/{repo}/git/refs/{ref}", "Controller120", "Action1", "DELETE"); + Endpoints[172] = CreateEndpoint("/repos/{owner}/{repo}/git/refs/{ref}", "Controller120", "Action2", "PATCH"); + Endpoints[173] = CreateEndpoint("/repos/{owner}/{repo}/git/refs/{ref}", "Controller120", "Action3", "GET"); + Endpoints[174] = CreateEndpoint("/repos/{owner}/{repo}/git/tags/{shaCode}", "Controller121", "Action1", "GET"); + Endpoints[175] = CreateEndpoint("/repos/{owner}/{repo}/git/trees/{shaCode}", "Controller122", "Action1", "GET"); + Endpoints[176] = CreateEndpoint("/repos/{owner}/{repo}/issues/comments/{commentId}", "Controller123", "Action1", "GET"); + Endpoints[177] = CreateEndpoint("/repos/{owner}/{repo}/issues/comments/{commentId}", "Controller123", "Action2", "PATCH"); + Endpoints[178] = CreateEndpoint("/repos/{owner}/{repo}/issues/comments/{commentId}", "Controller123", "Action3", "DELETE"); + Endpoints[179] = CreateEndpoint("/repos/{owner}/{repo}/issues/events/{eventId}", "Controller124", "Action1", "GET"); + Endpoints[180] = CreateEndpoint("/repos/{owner}/{repo}/pulls/comments/{commentId}", "Controller125", "Action1", "PATCH"); + Endpoints[181] = CreateEndpoint("/repos/{owner}/{repo}/pulls/comments/{commentId}", "Controller125", "Action2", "GET"); + Endpoints[182] = CreateEndpoint("/repos/{owner}/{repo}/pulls/comments/{commentId}", "Controller125", "Action3", "DELETE"); + Endpoints[183] = CreateEndpoint("/repos/{owner}/{repo}/releases/assets/{id}", "Controller126", "Action1", "PATCH"); + Endpoints[184] = CreateEndpoint("/repos/{owner}/{repo}/releases/assets/{id}", "Controller126", "Action2", "DELETE"); + Endpoints[185] = CreateEndpoint("/repos/{owner}/{repo}/releases/assets/{id}", "Controller126", "Action3", "GET"); + Endpoints[186] = CreateEndpoint("/repos/{owner}/{repo}/assignees/{assignee}", "Controller127", "Action1", "GET"); + Endpoints[187] = CreateEndpoint("/repos/{owner}/{repo}/branches/{branch}", "Controller128", "Action1", "GET"); + Endpoints[188] = CreateEndpoint("/repos/{owner}/{repo}/collaborators/{user}", "Controller129", "Action1", "PUT"); + Endpoints[189] = CreateEndpoint("/repos/{owner}/{repo}/collaborators/{user}", "Controller129", "Action2", "DELETE"); + Endpoints[190] = CreateEndpoint("/repos/{owner}/{repo}/collaborators/{user}", "Controller129", "Action3", "GET"); + Endpoints[191] = CreateEndpoint("/repos/{owner}/{repo}/comments/{commentId}", "Controller130", "Action1", "DELETE"); + Endpoints[192] = CreateEndpoint("/repos/{owner}/{repo}/comments/{commentId}", "Controller130", "Action2", "GET"); + Endpoints[193] = CreateEndpoint("/repos/{owner}/{repo}/comments/{commentId}", "Controller130", "Action3", "PATCH"); + Endpoints[194] = CreateEndpoint("/repos/{owner}/{repo}/commits/{shaCode}", "Controller131", "Action1", "GET"); + Endpoints[195] = CreateEndpoint("/repos/{owner}/{repo}/contents/{path}", "Controller132", "Action1", "GET"); + Endpoints[196] = CreateEndpoint("/repos/{owner}/{repo}/contents/{path}", "Controller132", "Action2", "DELETE"); + Endpoints[197] = CreateEndpoint("/repos/{owner}/{repo}/contents/{path}", "Controller132", "Action3", "PUT"); + Endpoints[198] = CreateEndpoint("/repos/{owner}/{repo}/downloads/{downloadId}", "Controller133", "Action1", "GET"); + Endpoints[199] = CreateEndpoint("/repos/{owner}/{repo}/downloads/{downloadId}", "Controller133", "Action2", "DELETE"); + Endpoints[200] = CreateEndpoint("/repos/{owner}/{repo}/hooks/{hookId}", "Controller134", "Action1", "DELETE"); + Endpoints[201] = CreateEndpoint("/repos/{owner}/{repo}/hooks/{hookId}", "Controller134", "Action2", "GET"); + Endpoints[202] = CreateEndpoint("/repos/{owner}/{repo}/hooks/{hookId}", "Controller134", "Action3", "PATCH"); + Endpoints[203] = CreateEndpoint("/repos/{owner}/{repo}/issues/{number}", "Controller135", "Action1", "GET"); + Endpoints[204] = CreateEndpoint("/repos/{owner}/{repo}/issues/{number}", "Controller135", "Action2", "PATCH"); + Endpoints[205] = CreateEndpoint("/repos/{owner}/{repo}/keys/{keyId}", "Controller136", "Action1", "GET"); + Endpoints[206] = CreateEndpoint("/repos/{owner}/{repo}/keys/{keyId}", "Controller136", "Action2", "DELETE"); + Endpoints[207] = CreateEndpoint("/repos/{owner}/{repo}/labels/{name}", "Controller137", "Action1", "GET"); + Endpoints[208] = CreateEndpoint("/repos/{owner}/{repo}/labels/{name}", "Controller137", "Action2", "PATCH"); + Endpoints[209] = CreateEndpoint("/repos/{owner}/{repo}/labels/{name}", "Controller137", "Action3", "DELETE"); + Endpoints[210] = CreateEndpoint("/repos/{owner}/{repo}/milestones/{number}", "Controller138", "Action1", "PATCH"); + Endpoints[211] = CreateEndpoint("/repos/{owner}/{repo}/milestones/{number}", "Controller138", "Action2", "GET"); + Endpoints[212] = CreateEndpoint("/repos/{owner}/{repo}/milestones/{number}", "Controller138", "Action3", "DELETE"); + Endpoints[213] = CreateEndpoint("/repos/{owner}/{repo}/pulls/{number}", "Controller139", "Action1", "GET"); + Endpoints[214] = CreateEndpoint("/repos/{owner}/{repo}/pulls/{number}", "Controller139", "Action2", "PATCH"); + Endpoints[215] = CreateEndpoint("/repos/{owner}/{repo}/releases/{id}", "Controller140", "Action1", "PATCH"); + Endpoints[216] = CreateEndpoint("/repos/{owner}/{repo}/releases/{id}", "Controller140", "Action2", "GET"); + Endpoints[217] = CreateEndpoint("/repos/{owner}/{repo}/releases/{id}", "Controller140", "Action3", "DELETE"); + Endpoints[218] = CreateEndpoint("/repos/{owner}/{repo}/statuses/{ref}", "Controller141", "Action1", "GET"); + Endpoints[219] = CreateEndpoint("/repos/{owner}/{repo}/statuses/{ref}", "Controller141", "Action2", "POST"); + Endpoints[220] = CreateEndpoint("/repos/{owner}/{repo}/commits/{ref}/status", "Controller142", "Action1", "GET"); + Endpoints[221] = CreateEndpoint("/repos/{owner}/{repo}/commits/{shaCode}/comments", "Controller143", "Action1", "GET"); + Endpoints[222] = CreateEndpoint("/repos/{owner}/{repo}/commits/{shaCode}/comments", "Controller143", "Action2", "POST"); + Endpoints[223] = CreateEndpoint("/repos/{owner}/{repo}/deployments/{id}/statuses", "Controller144", "Action1", "GET"); + Endpoints[224] = CreateEndpoint("/repos/{owner}/{repo}/deployments/{id}/statuses", "Controller144", "Action2", "POST"); + Endpoints[225] = CreateEndpoint("/repos/{owner}/{repo}/hooks/{hookId}/tests", "Controller145", "Action1", "POST"); + Endpoints[226] = CreateEndpoint("/repos/{owner}/{repo}/issues/{number}/comments", "Controller146", "Action1", "POST"); + Endpoints[227] = CreateEndpoint("/repos/{owner}/{repo}/issues/{number}/comments", "Controller146", "Action2", "GET"); + Endpoints[228] = CreateEndpoint("/repos/{owner}/{repo}/issues/{number}/events", "Controller147", "Action1", "GET"); + Endpoints[229] = CreateEndpoint("/repos/{owner}/{repo}/issues/{number}/labels", "Controller148", "Action1", "POST"); + Endpoints[230] = CreateEndpoint("/repos/{owner}/{repo}/issues/{number}/labels", "Controller148", "Action2", "GET"); + Endpoints[231] = CreateEndpoint("/repos/{owner}/{repo}/issues/{number}/labels", "Controller148", "Action3", "PUT"); + Endpoints[232] = CreateEndpoint("/repos/{owner}/{repo}/issues/{number}/labels", "Controller148", "Action4", "DELETE"); + Endpoints[233] = CreateEndpoint("/repos/{owner}/{repo}/milestones/{number}/labels", "Controller149", "Action1", "GET"); + Endpoints[234] = CreateEndpoint("/repos/{owner}/{repo}/pulls/{number}/comments", "Controller150", "Action1", "GET"); + Endpoints[235] = CreateEndpoint("/repos/{owner}/{repo}/pulls/{number}/comments", "Controller150", "Action2", "POST"); + Endpoints[236] = CreateEndpoint("/repos/{owner}/{repo}/pulls/{number}/commits", "Controller151", "Action1", "GET"); + Endpoints[237] = CreateEndpoint("/repos/{owner}/{repo}/pulls/{number}/files", "Controller152", "Action1", "GET"); + Endpoints[238] = CreateEndpoint("/repos/{owner}/{repo}/pulls/{number}/merge", "Controller153", "Action1", "PUT"); + Endpoints[239] = CreateEndpoint("/repos/{owner}/{repo}/pulls/{number}/merge", "Controller153", "Action2", "GET"); + Endpoints[240] = CreateEndpoint("/repos/{owner}/{repo}/releases/{id}/assets", "Controller154", "Action1", "GET"); + Endpoints[241] = CreateEndpoint("/repos/{owner}/{repo}/issues/{number}/labels/{name}", "Controller155", "Action1", "DELETE"); + Endpoints[242] = CreateEndpoint("/repos/{owner}/{repo}/{archive_format}/{path}", "Controller156", "Action1", "GET"); + } + + private void SetupRequests() + { + Requests = new HttpContext[243]; + Requests[0] = new DefaultHttpContext(); + Requests[0].RequestServices = CreateServices(); + Requests[0].Request.Method = "GET"; + Requests[0].Request.Path = "/emojis"; + Requests[1] = new DefaultHttpContext(); + Requests[1].RequestServices = CreateServices(); + Requests[1].Request.Method = "GET"; + Requests[1].Request.Path = "/events"; + Requests[2] = new DefaultHttpContext(); + Requests[2].RequestServices = CreateServices(); + Requests[2].Request.Method = "GET"; + Requests[2].Request.Path = "/feeds"; + Requests[3] = new DefaultHttpContext(); + Requests[3].RequestServices = CreateServices(); + Requests[3].Request.Method = "GET"; + Requests[3].Request.Path = "/gists"; + Requests[4] = new DefaultHttpContext(); + Requests[4].RequestServices = CreateServices(); + Requests[4].Request.Method = "POST"; + Requests[4].Request.Path = "/gists"; + Requests[5] = new DefaultHttpContext(); + Requests[5].RequestServices = CreateServices(); + Requests[5].Request.Method = "GET"; + Requests[5].Request.Path = "/issues"; + Requests[6] = new DefaultHttpContext(); + Requests[6].RequestServices = CreateServices(); + Requests[6].Request.Method = "POST"; + Requests[6].Request.Path = "/markdown"; + Requests[7] = new DefaultHttpContext(); + Requests[7].RequestServices = CreateServices(); + Requests[7].Request.Method = "GET"; + Requests[7].Request.Path = "/meta"; + Requests[8] = new DefaultHttpContext(); + Requests[8].RequestServices = CreateServices(); + Requests[8].Request.Method = "GET"; + Requests[8].Request.Path = "/notifications"; + Requests[9] = new DefaultHttpContext(); + Requests[9].RequestServices = CreateServices(); + Requests[9].Request.Method = "PUT"; + Requests[9].Request.Path = "/notifications"; + Requests[10] = new DefaultHttpContext(); + Requests[10].RequestServices = CreateServices(); + Requests[10].Request.Method = "GET"; + Requests[10].Request.Path = "/rate_limit"; + Requests[11] = new DefaultHttpContext(); + Requests[11].RequestServices = CreateServices(); + Requests[11].Request.Method = "GET"; + Requests[11].Request.Path = "/repositories"; + Requests[12] = new DefaultHttpContext(); + Requests[12].RequestServices = CreateServices(); + Requests[12].Request.Method = "GET"; + Requests[12].Request.Path = "/user"; + Requests[13] = new DefaultHttpContext(); + Requests[13].RequestServices = CreateServices(); + Requests[13].Request.Method = "PATCH"; + Requests[13].Request.Path = "/user"; + Requests[14] = new DefaultHttpContext(); + Requests[14].RequestServices = CreateServices(); + Requests[14].Request.Method = "GET"; + Requests[14].Request.Path = "/users"; + Requests[15] = new DefaultHttpContext(); + Requests[15].RequestServices = CreateServices(); + Requests[15].Request.Method = "GET"; + Requests[15].Request.Path = "/gists/public"; + Requests[16] = new DefaultHttpContext(); + Requests[16].RequestServices = CreateServices(); + Requests[16].Request.Method = "GET"; + Requests[16].Request.Path = "/gists/starred"; + Requests[17] = new DefaultHttpContext(); + Requests[17].RequestServices = CreateServices(); + Requests[17].Request.Method = "GET"; + Requests[17].Request.Path = "/gitignore/templates"; + Requests[18] = new DefaultHttpContext(); + Requests[18].RequestServices = CreateServices(); + Requests[18].Request.Method = "POST"; + Requests[18].Request.Path = "/markdown/raw"; + Requests[19] = new DefaultHttpContext(); + Requests[19].RequestServices = CreateServices(); + Requests[19].Request.Method = "GET"; + Requests[19].Request.Path = "/search/code"; + Requests[20] = new DefaultHttpContext(); + Requests[20].RequestServices = CreateServices(); + Requests[20].Request.Method = "GET"; + Requests[20].Request.Path = "/search/issues"; + Requests[21] = new DefaultHttpContext(); + Requests[21].RequestServices = CreateServices(); + Requests[21].Request.Method = "GET"; + Requests[21].Request.Path = "/search/repositories"; + Requests[22] = new DefaultHttpContext(); + Requests[22].RequestServices = CreateServices(); + Requests[22].Request.Method = "GET"; + Requests[22].Request.Path = "/search/users"; + Requests[23] = new DefaultHttpContext(); + Requests[23].RequestServices = CreateServices(); + Requests[23].Request.Method = "GET"; + Requests[23].Request.Path = "/user/emails"; + Requests[24] = new DefaultHttpContext(); + Requests[24].RequestServices = CreateServices(); + Requests[24].Request.Method = "DELETE"; + Requests[24].Request.Path = "/user/emails"; + Requests[25] = new DefaultHttpContext(); + Requests[25].RequestServices = CreateServices(); + Requests[25].Request.Method = "POST"; + Requests[25].Request.Path = "/user/emails"; + Requests[26] = new DefaultHttpContext(); + Requests[26].RequestServices = CreateServices(); + Requests[26].Request.Method = "GET"; + Requests[26].Request.Path = "/user/followers"; + Requests[27] = new DefaultHttpContext(); + Requests[27].RequestServices = CreateServices(); + Requests[27].Request.Method = "GET"; + Requests[27].Request.Path = "/user/following"; + Requests[28] = new DefaultHttpContext(); + Requests[28].RequestServices = CreateServices(); + Requests[28].Request.Method = "GET"; + Requests[28].Request.Path = "/user/issues"; + Requests[29] = new DefaultHttpContext(); + Requests[29].RequestServices = CreateServices(); + Requests[29].Request.Method = "POST"; + Requests[29].Request.Path = "/user/keys"; + Requests[30] = new DefaultHttpContext(); + Requests[30].RequestServices = CreateServices(); + Requests[30].Request.Method = "GET"; + Requests[30].Request.Path = "/user/keys"; + Requests[31] = new DefaultHttpContext(); + Requests[31].RequestServices = CreateServices(); + Requests[31].Request.Method = "GET"; + Requests[31].Request.Path = "/user/orgs"; + Requests[32] = new DefaultHttpContext(); + Requests[32].RequestServices = CreateServices(); + Requests[32].Request.Method = "GET"; + Requests[32].Request.Path = "/user/repos"; + Requests[33] = new DefaultHttpContext(); + Requests[33].RequestServices = CreateServices(); + Requests[33].Request.Method = "POST"; + Requests[33].Request.Path = "/user/repos"; + Requests[34] = new DefaultHttpContext(); + Requests[34].RequestServices = CreateServices(); + Requests[34].Request.Method = "GET"; + Requests[34].Request.Path = "/user/starred"; + Requests[35] = new DefaultHttpContext(); + Requests[35].RequestServices = CreateServices(); + Requests[35].Request.Method = "GET"; + Requests[35].Request.Path = "/user/subscriptions"; + Requests[36] = new DefaultHttpContext(); + Requests[36].RequestServices = CreateServices(); + Requests[36].Request.Method = "GET"; + Requests[36].Request.Path = "/user/teams"; + Requests[37] = new DefaultHttpContext(); + Requests[37].RequestServices = CreateServices(); + Requests[37].Request.Method = "GET"; + Requests[37].Request.Path = "/legacy/repos/search/d50aacc"; + Requests[38] = new DefaultHttpContext(); + Requests[38].RequestServices = CreateServices(); + Requests[38].Request.Method = "GET"; + Requests[38].Request.Path = "/legacy/user/email/8341f"; + Requests[39] = new DefaultHttpContext(); + Requests[39].RequestServices = CreateServices(); + Requests[39].Request.Method = "GET"; + Requests[39].Request.Path = "/legacy/user/search/24fa852"; + Requests[40] = new DefaultHttpContext(); + Requests[40].RequestServices = CreateServices(); + Requests[40].Request.Method = "GET"; + Requests[40].Request.Path = "/legacy/issues/search/f8f51/b60908a1-4/7e0c7/30ea8fe"; + Requests[41] = new DefaultHttpContext(); + Requests[41].RequestServices = CreateServices(); + Requests[41].Request.Method = "GET"; + Requests[41].Request.Path = "/gitignore/templates/a2ba346f"; + Requests[42] = new DefaultHttpContext(); + Requests[42].RequestServices = CreateServices(); + Requests[42].Request.Method = "GET"; + Requests[42].Request.Path = "/notifications/threads/1df78"; + Requests[43] = new DefaultHttpContext(); + Requests[43].RequestServices = CreateServices(); + Requests[43].Request.Method = "PATCH"; + Requests[43].Request.Path = "/notifications/threads/24a82"; + Requests[44] = new DefaultHttpContext(); + Requests[44].RequestServices = CreateServices(); + Requests[44].Request.Method = "DELETE"; + Requests[44].Request.Path = "/user/following/770fc247"; + Requests[45] = new DefaultHttpContext(); + Requests[45].RequestServices = CreateServices(); + Requests[45].Request.Method = "GET"; + Requests[45].Request.Path = "/user/following/5ac246a4"; + Requests[46] = new DefaultHttpContext(); + Requests[46].RequestServices = CreateServices(); + Requests[46].Request.Method = "PUT"; + Requests[46].Request.Path = "/user/following/20904d4a"; + Requests[47] = new DefaultHttpContext(); + Requests[47].RequestServices = CreateServices(); + Requests[47].Request.Method = "DELETE"; + Requests[47].Request.Path = "/user/keys/2cb10"; + Requests[48] = new DefaultHttpContext(); + Requests[48].RequestServices = CreateServices(); + Requests[48].Request.Method = "GET"; + Requests[48].Request.Path = "/user/keys/37adb"; + Requests[49] = new DefaultHttpContext(); + Requests[49].RequestServices = CreateServices(); + Requests[49].Request.Method = "DELETE"; + Requests[49].Request.Path = "/notifications/threads/6d635/subscription"; + Requests[50] = new DefaultHttpContext(); + Requests[50].RequestServices = CreateServices(); + Requests[50].Request.Method = "GET"; + Requests[50].Request.Path = "/notifications/threads/8117f/subscription"; + Requests[51] = new DefaultHttpContext(); + Requests[51].RequestServices = CreateServices(); + Requests[51].Request.Method = "PUT"; + Requests[51].Request.Path = "/notifications/threads/6ca24/subscription"; + Requests[52] = new DefaultHttpContext(); + Requests[52].RequestServices = CreateServices(); + Requests[52].Request.Method = "PUT"; + Requests[52].Request.Path = "/user/starred/348ac/b0848"; + Requests[53] = new DefaultHttpContext(); + Requests[53].RequestServices = CreateServices(); + Requests[53].Request.Method = "GET"; + Requests[53].Request.Path = "/user/starred/92490/2ff1b"; + Requests[54] = new DefaultHttpContext(); + Requests[54].RequestServices = CreateServices(); + Requests[54].Request.Method = "DELETE"; + Requests[54].Request.Path = "/user/starred/0670e/5ca5b"; + Requests[55] = new DefaultHttpContext(); + Requests[55].RequestServices = CreateServices(); + Requests[55].Request.Method = "PUT"; + Requests[55].Request.Path = "/user/subscriptions/a7cee/6440a"; + Requests[56] = new DefaultHttpContext(); + Requests[56].RequestServices = CreateServices(); + Requests[56].Request.Method = "GET"; + Requests[56].Request.Path = "/user/subscriptions/0f395/79a07"; + Requests[57] = new DefaultHttpContext(); + Requests[57].RequestServices = CreateServices(); + Requests[57].Request.Method = "DELETE"; + Requests[57].Request.Path = "/user/subscriptions/6df5e/ee72b"; + Requests[58] = new DefaultHttpContext(); + Requests[58].RequestServices = CreateServices(); + Requests[58].Request.Method = "GET"; + Requests[58].Request.Path = "/gists/bc994"; + Requests[59] = new DefaultHttpContext(); + Requests[59].RequestServices = CreateServices(); + Requests[59].Request.Method = "PATCH"; + Requests[59].Request.Path = "/gists/16fd7"; + Requests[60] = new DefaultHttpContext(); + Requests[60].RequestServices = CreateServices(); + Requests[60].Request.Method = "DELETE"; + Requests[60].Request.Path = "/gists/26a18"; + Requests[61] = new DefaultHttpContext(); + Requests[61].RequestServices = CreateServices(); + Requests[61].Request.Method = "PATCH"; + Requests[61].Request.Path = "/orgs/0843c"; + Requests[62] = new DefaultHttpContext(); + Requests[62].RequestServices = CreateServices(); + Requests[62].Request.Method = "GET"; + Requests[62].Request.Path = "/orgs/58d34"; + Requests[63] = new DefaultHttpContext(); + Requests[63].RequestServices = CreateServices(); + Requests[63].Request.Method = "PATCH"; + Requests[63].Request.Path = "/teams/9daee4"; + Requests[64] = new DefaultHttpContext(); + Requests[64].RequestServices = CreateServices(); + Requests[64].Request.Method = "GET"; + Requests[64].Request.Path = "/teams/9814e3"; + Requests[65] = new DefaultHttpContext(); + Requests[65].RequestServices = CreateServices(); + Requests[65].Request.Method = "DELETE"; + Requests[65].Request.Path = "/teams/1b5067"; + Requests[66] = new DefaultHttpContext(); + Requests[66].RequestServices = CreateServices(); + Requests[66].Request.Method = "GET"; + Requests[66].Request.Path = "/users/16a15e92"; + Requests[67] = new DefaultHttpContext(); + Requests[67].RequestServices = CreateServices(); + Requests[67].Request.Method = "GET"; + Requests[67].Request.Path = "/gists/8bfc9/comments"; + Requests[68] = new DefaultHttpContext(); + Requests[68].RequestServices = CreateServices(); + Requests[68].Request.Method = "POST"; + Requests[68].Request.Path = "/gists/8a24e/comments"; + Requests[69] = new DefaultHttpContext(); + Requests[69].RequestServices = CreateServices(); + Requests[69].Request.Method = "POST"; + Requests[69].Request.Path = "/gists/b269a/forks"; + Requests[70] = new DefaultHttpContext(); + Requests[70].RequestServices = CreateServices(); + Requests[70].Request.Method = "DELETE"; + Requests[70].Request.Path = "/gists/6fa8c/star"; + Requests[71] = new DefaultHttpContext(); + Requests[71].RequestServices = CreateServices(); + Requests[71].Request.Method = "GET"; + Requests[71].Request.Path = "/gists/31eb2/star"; + Requests[72] = new DefaultHttpContext(); + Requests[72].RequestServices = CreateServices(); + Requests[72].Request.Method = "PUT"; + Requests[72].Request.Path = "/gists/cf969/star"; + Requests[73] = new DefaultHttpContext(); + Requests[73].RequestServices = CreateServices(); + Requests[73].Request.Method = "GET"; + Requests[73].Request.Path = "/orgs/b92c3/events"; + Requests[74] = new DefaultHttpContext(); + Requests[74].RequestServices = CreateServices(); + Requests[74].Request.Method = "GET"; + Requests[74].Request.Path = "/orgs/afa76/issues"; + Requests[75] = new DefaultHttpContext(); + Requests[75].RequestServices = CreateServices(); + Requests[75].Request.Method = "GET"; + Requests[75].Request.Path = "/orgs/81b06/members"; + Requests[76] = new DefaultHttpContext(); + Requests[76].RequestServices = CreateServices(); + Requests[76].Request.Method = "GET"; + Requests[76].Request.Path = "/orgs/e9b92/public_members"; + Requests[77] = new DefaultHttpContext(); + Requests[77].RequestServices = CreateServices(); + Requests[77].Request.Method = "GET"; + Requests[77].Request.Path = "/orgs/96108/repos"; + Requests[78] = new DefaultHttpContext(); + Requests[78].RequestServices = CreateServices(); + Requests[78].Request.Method = "POST"; + Requests[78].Request.Path = "/orgs/7ef10/repos"; + Requests[79] = new DefaultHttpContext(); + Requests[79].RequestServices = CreateServices(); + Requests[79].Request.Method = "POST"; + Requests[79].Request.Path = "/orgs/91838/teams"; + Requests[80] = new DefaultHttpContext(); + Requests[80].RequestServices = CreateServices(); + Requests[80].Request.Method = "GET"; + Requests[80].Request.Path = "/orgs/c1602/teams"; + Requests[81] = new DefaultHttpContext(); + Requests[81].RequestServices = CreateServices(); + Requests[81].Request.Method = "GET"; + Requests[81].Request.Path = "/teams/ae1fcf/members"; + Requests[82] = new DefaultHttpContext(); + Requests[82].RequestServices = CreateServices(); + Requests[82].Request.Method = "GET"; + Requests[82].Request.Path = "/teams/82e12b/repos"; + Requests[83] = new DefaultHttpContext(); + Requests[83].RequestServices = CreateServices(); + Requests[83].Request.Method = "GET"; + Requests[83].Request.Path = "/users/c5b5ee96/events"; + Requests[84] = new DefaultHttpContext(); + Requests[84].RequestServices = CreateServices(); + Requests[84].Request.Method = "GET"; + Requests[84].Request.Path = "/users/3ebe3c63/followers"; + Requests[85] = new DefaultHttpContext(); + Requests[85].RequestServices = CreateServices(); + Requests[85].Request.Method = "GET"; + Requests[85].Request.Path = "/users/7eb8ee04/gists"; + Requests[86] = new DefaultHttpContext(); + Requests[86].RequestServices = CreateServices(); + Requests[86].Request.Method = "GET"; + Requests[86].Request.Path = "/users/ce5247f6/keys"; + Requests[87] = new DefaultHttpContext(); + Requests[87].RequestServices = CreateServices(); + Requests[87].Request.Method = "GET"; + Requests[87].Request.Path = "/users/4e212684/orgs"; + Requests[88] = new DefaultHttpContext(); + Requests[88].RequestServices = CreateServices(); + Requests[88].Request.Method = "GET"; + Requests[88].Request.Path = "/users/25bd0823/received_events"; + Requests[89] = new DefaultHttpContext(); + Requests[89].RequestServices = CreateServices(); + Requests[89].Request.Method = "GET"; + Requests[89].Request.Path = "/users/b5cdb182/repos"; + Requests[90] = new DefaultHttpContext(); + Requests[90].RequestServices = CreateServices(); + Requests[90].Request.Method = "GET"; + Requests[90].Request.Path = "/users/0926f1ee/starred"; + Requests[91] = new DefaultHttpContext(); + Requests[91].RequestServices = CreateServices(); + Requests[91].Request.Method = "GET"; + Requests[91].Request.Path = "/users/52fd945f/subscriptions"; + Requests[92] = new DefaultHttpContext(); + Requests[92].RequestServices = CreateServices(); + Requests[92].Request.Method = "GET"; + Requests[92].Request.Path = "/users/c079f122/received_events/public"; + Requests[93] = new DefaultHttpContext(); + Requests[93].RequestServices = CreateServices(); + Requests[93].Request.Method = "GET"; + Requests[93].Request.Path = "/users/f3d3f90a/events/orgs/b877e"; + Requests[94] = new DefaultHttpContext(); + Requests[94].RequestServices = CreateServices(); + Requests[94].Request.Method = "DELETE"; + Requests[94].Request.Path = "/gists/1425f/comments/3a1b3cd3-"; + Requests[95] = new DefaultHttpContext(); + Requests[95].RequestServices = CreateServices(); + Requests[95].Request.Method = "GET"; + Requests[95].Request.Path = "/gists/f885b/comments/1f24dd6a-"; + Requests[96] = new DefaultHttpContext(); + Requests[96].RequestServices = CreateServices(); + Requests[96].Request.Method = "PATCH"; + Requests[96].Request.Path = "/gists/0b9be/comments/3f237cca-"; + Requests[97] = new DefaultHttpContext(); + Requests[97].RequestServices = CreateServices(); + Requests[97].Request.Method = "DELETE"; + Requests[97].Request.Path = "/orgs/97bbf/members/3b77a2e7"; + Requests[98] = new DefaultHttpContext(); + Requests[98].RequestServices = CreateServices(); + Requests[98].Request.Method = "GET"; + Requests[98].Request.Path = "/orgs/c7fdb/members/76a43729"; + Requests[99] = new DefaultHttpContext(); + Requests[99].RequestServices = CreateServices(); + Requests[99].Request.Method = "PUT"; + Requests[99].Request.Path = "/orgs/191ee/public_members/119c87f1"; + Requests[100] = new DefaultHttpContext(); + Requests[100].RequestServices = CreateServices(); + Requests[100].Request.Method = "GET"; + Requests[100].Request.Path = "/orgs/ee407/public_members/8ff12154"; + Requests[101] = new DefaultHttpContext(); + Requests[101].RequestServices = CreateServices(); + Requests[101].Request.Method = "DELETE"; + Requests[101].Request.Path = "/orgs/4d9da/public_members/446d97e9"; + Requests[102] = new DefaultHttpContext(); + Requests[102].RequestServices = CreateServices(); + Requests[102].Request.Method = "GET"; + Requests[102].Request.Path = "/teams/fa75fc/members/978bd8d5"; + Requests[103] = new DefaultHttpContext(); + Requests[103].RequestServices = CreateServices(); + Requests[103].Request.Method = "PUT"; + Requests[103].Request.Path = "/teams/cbcdd2/members/d55986df"; + Requests[104] = new DefaultHttpContext(); + Requests[104].RequestServices = CreateServices(); + Requests[104].Request.Method = "DELETE"; + Requests[104].Request.Path = "/teams/cade8a/members/f83610eb"; + Requests[105] = new DefaultHttpContext(); + Requests[105].RequestServices = CreateServices(); + Requests[105].Request.Method = "DELETE"; + Requests[105].Request.Path = "/teams/1d5e29/memberships/5f9d213c"; + Requests[106] = new DefaultHttpContext(); + Requests[106].RequestServices = CreateServices(); + Requests[106].Request.Method = "PUT"; + Requests[106].Request.Path = "/teams/17d43f/memberships/5a2f444c"; + Requests[107] = new DefaultHttpContext(); + Requests[107].RequestServices = CreateServices(); + Requests[107].Request.Method = "GET"; + Requests[107].Request.Path = "/teams/12e975/memberships/8bb2fd20"; + Requests[108] = new DefaultHttpContext(); + Requests[108].RequestServices = CreateServices(); + Requests[108].Request.Method = "GET"; + Requests[108].Request.Path = "/users/c2ccdc27/following/85519b02-f"; + Requests[109] = new DefaultHttpContext(); + Requests[109].RequestServices = CreateServices(); + Requests[109].Request.Method = "PUT"; + Requests[109].Request.Path = "/teams/0c0a5a/repos/1f88c/6b60f"; + Requests[110] = new DefaultHttpContext(); + Requests[110].RequestServices = CreateServices(); + Requests[110].Request.Method = "DELETE"; + Requests[110].Request.Path = "/teams/6529ef/repos/ac003/62dd8"; + Requests[111] = new DefaultHttpContext(); + Requests[111].RequestServices = CreateServices(); + Requests[111].Request.Method = "GET"; + Requests[111].Request.Path = "/teams/101239/repos/51df9/aa3f3"; + Requests[112] = new DefaultHttpContext(); + Requests[112].RequestServices = CreateServices(); + Requests[112].Request.Method = "PATCH"; + Requests[112].Request.Path = "/repos/df7c9/ffcbe"; + Requests[113] = new DefaultHttpContext(); + Requests[113].RequestServices = CreateServices(); + Requests[113].Request.Method = "DELETE"; + Requests[113].Request.Path = "/repos/1f316/0f4ec"; + Requests[114] = new DefaultHttpContext(); + Requests[114].RequestServices = CreateServices(); + Requests[114].Request.Method = "GET"; + Requests[114].Request.Path = "/repos/08c95/7adde"; + Requests[115] = new DefaultHttpContext(); + Requests[115].RequestServices = CreateServices(); + Requests[115].Request.Method = "GET"; + Requests[115].Request.Path = "/networks/468be/29a19/events"; + Requests[116] = new DefaultHttpContext(); + Requests[116].RequestServices = CreateServices(); + Requests[116].Request.Method = "GET"; + Requests[116].Request.Path = "/repos/db561/2d460/assignees"; + Requests[117] = new DefaultHttpContext(); + Requests[117].RequestServices = CreateServices(); + Requests[117].Request.Method = "GET"; + Requests[117].Request.Path = "/repos/0eb0c/ec96b/branches"; + Requests[118] = new DefaultHttpContext(); + Requests[118].RequestServices = CreateServices(); + Requests[118].Request.Method = "GET"; + Requests[118].Request.Path = "/repos/8d58d/a31da/collaborators"; + Requests[119] = new DefaultHttpContext(); + Requests[119].RequestServices = CreateServices(); + Requests[119].Request.Method = "GET"; + Requests[119].Request.Path = "/repos/9d638/100e1/comments"; + Requests[120] = new DefaultHttpContext(); + Requests[120].RequestServices = CreateServices(); + Requests[120].Request.Method = "GET"; + Requests[120].Request.Path = "/repos/2afda/40624/commits"; + Requests[121] = new DefaultHttpContext(); + Requests[121].RequestServices = CreateServices(); + Requests[121].Request.Method = "GET"; + Requests[121].Request.Path = "/repos/583f1/f2f56/contributors"; + Requests[122] = new DefaultHttpContext(); + Requests[122].RequestServices = CreateServices(); + Requests[122].Request.Method = "GET"; + Requests[122].Request.Path = "/repos/96246/cf112/deployments"; + Requests[123] = new DefaultHttpContext(); + Requests[123].RequestServices = CreateServices(); + Requests[123].Request.Method = "POST"; + Requests[123].Request.Path = "/repos/af325/068fe/deployments"; + Requests[124] = new DefaultHttpContext(); + Requests[124].RequestServices = CreateServices(); + Requests[124].Request.Method = "GET"; + Requests[124].Request.Path = "/repos/726c3/22a16/downloads"; + Requests[125] = new DefaultHttpContext(); + Requests[125].RequestServices = CreateServices(); + Requests[125].Request.Method = "GET"; + Requests[125].Request.Path = "/repos/bc0e4/44660/events"; + Requests[126] = new DefaultHttpContext(); + Requests[126].RequestServices = CreateServices(); + Requests[126].Request.Method = "GET"; + Requests[126].Request.Path = "/repos/e8481/456ae/forks"; + Requests[127] = new DefaultHttpContext(); + Requests[127].RequestServices = CreateServices(); + Requests[127].Request.Method = "POST"; + Requests[127].Request.Path = "/repos/fa493/a87f8/forks"; + Requests[128] = new DefaultHttpContext(); + Requests[128].RequestServices = CreateServices(); + Requests[128].Request.Method = "POST"; + Requests[128].Request.Path = "/repos/e5328/77db0/hooks"; + Requests[129] = new DefaultHttpContext(); + Requests[129].RequestServices = CreateServices(); + Requests[129].Request.Method = "GET"; + Requests[129].Request.Path = "/repos/d219e/a06cf/hooks"; + Requests[130] = new DefaultHttpContext(); + Requests[130].RequestServices = CreateServices(); + Requests[130].Request.Method = "GET"; + Requests[130].Request.Path = "/repos/7a830/48c99/issues"; + Requests[131] = new DefaultHttpContext(); + Requests[131].RequestServices = CreateServices(); + Requests[131].Request.Method = "POST"; + Requests[131].Request.Path = "/repos/62103/40680/issues"; + Requests[132] = new DefaultHttpContext(); + Requests[132].RequestServices = CreateServices(); + Requests[132].Request.Method = "GET"; + Requests[132].Request.Path = "/repos/6b1aa/de4d3/keys"; + Requests[133] = new DefaultHttpContext(); + Requests[133].RequestServices = CreateServices(); + Requests[133].Request.Method = "POST"; + Requests[133].Request.Path = "/repos/47645/65364/keys"; + Requests[134] = new DefaultHttpContext(); + Requests[134].RequestServices = CreateServices(); + Requests[134].Request.Method = "GET"; + Requests[134].Request.Path = "/repos/f252f/d0dc5/labels"; + Requests[135] = new DefaultHttpContext(); + Requests[135].RequestServices = CreateServices(); + Requests[135].Request.Method = "POST"; + Requests[135].Request.Path = "/repos/8436b/fea30/labels"; + Requests[136] = new DefaultHttpContext(); + Requests[136].RequestServices = CreateServices(); + Requests[136].Request.Method = "GET"; + Requests[136].Request.Path = "/repos/d5058/668a7/languages"; + Requests[137] = new DefaultHttpContext(); + Requests[137].RequestServices = CreateServices(); + Requests[137].Request.Method = "POST"; + Requests[137].Request.Path = "/repos/a9546/9b556/merges"; + Requests[138] = new DefaultHttpContext(); + Requests[138].RequestServices = CreateServices(); + Requests[138].Request.Method = "GET"; + Requests[138].Request.Path = "/repos/5258b/6f2cd/milestones"; + Requests[139] = new DefaultHttpContext(); + Requests[139].RequestServices = CreateServices(); + Requests[139].Request.Method = "POST"; + Requests[139].Request.Path = "/repos/5f70d/513b2/milestones"; + Requests[140] = new DefaultHttpContext(); + Requests[140].RequestServices = CreateServices(); + Requests[140].Request.Method = "PUT"; + Requests[140].Request.Path = "/repos/90aa5/bdde5/notifications"; + Requests[141] = new DefaultHttpContext(); + Requests[141].RequestServices = CreateServices(); + Requests[141].Request.Method = "GET"; + Requests[141].Request.Path = "/repos/5f672/af6ff/notifications"; + Requests[142] = new DefaultHttpContext(); + Requests[142].RequestServices = CreateServices(); + Requests[142].Request.Method = "POST"; + Requests[142].Request.Path = "/repos/9277e/8e49c/pulls"; + Requests[143] = new DefaultHttpContext(); + Requests[143].RequestServices = CreateServices(); + Requests[143].Request.Method = "GET"; + Requests[143].Request.Path = "/repos/a4973/6dbf0/pulls"; + Requests[144] = new DefaultHttpContext(); + Requests[144].RequestServices = CreateServices(); + Requests[144].Request.Method = "GET"; + Requests[144].Request.Path = "/repos/a53d8/0627b/readme"; + Requests[145] = new DefaultHttpContext(); + Requests[145].RequestServices = CreateServices(); + Requests[145].Request.Method = "POST"; + Requests[145].Request.Path = "/repos/2bc2b/0a7aa/releases"; + Requests[146] = new DefaultHttpContext(); + Requests[146].RequestServices = CreateServices(); + Requests[146].Request.Method = "GET"; + Requests[146].Request.Path = "/repos/4bb1f/8220c/releases"; + Requests[147] = new DefaultHttpContext(); + Requests[147].RequestServices = CreateServices(); + Requests[147].Request.Method = "GET"; + Requests[147].Request.Path = "/repos/7a4e8/d54f8/stargazers"; + Requests[148] = new DefaultHttpContext(); + Requests[148].RequestServices = CreateServices(); + Requests[148].Request.Method = "GET"; + Requests[148].Request.Path = "/repos/63547/0d37c/subscribers"; + Requests[149] = new DefaultHttpContext(); + Requests[149].RequestServices = CreateServices(); + Requests[149].Request.Method = "PUT"; + Requests[149].Request.Path = "/repos/6cdda/a402c/subscription"; + Requests[150] = new DefaultHttpContext(); + Requests[150].RequestServices = CreateServices(); + Requests[150].Request.Method = "GET"; + Requests[150].Request.Path = "/repos/60320/4381b/subscription"; + Requests[151] = new DefaultHttpContext(); + Requests[151].RequestServices = CreateServices(); + Requests[151].Request.Method = "DELETE"; + Requests[151].Request.Path = "/repos/ed808/292c1/subscription"; + Requests[152] = new DefaultHttpContext(); + Requests[152].RequestServices = CreateServices(); + Requests[152].Request.Method = "GET"; + Requests[152].Request.Path = "/repos/74160/84ba7/tags"; + Requests[153] = new DefaultHttpContext(); + Requests[153].RequestServices = CreateServices(); + Requests[153].Request.Method = "GET"; + Requests[153].Request.Path = "/repos/ef45e/30a80/teams"; + Requests[154] = new DefaultHttpContext(); + Requests[154].RequestServices = CreateServices(); + Requests[154].Request.Method = "GET"; + Requests[154].Request.Path = "/repos/02825/d5092/watchers"; + Requests[155] = new DefaultHttpContext(); + Requests[155].RequestServices = CreateServices(); + Requests[155].Request.Method = "POST"; + Requests[155].Request.Path = "/repos/be33a/5f87e/git/blobs"; + Requests[156] = new DefaultHttpContext(); + Requests[156].RequestServices = CreateServices(); + Requests[156].Request.Method = "POST"; + Requests[156].Request.Path = "/repos/1a46d/093a4/git/commits"; + Requests[157] = new DefaultHttpContext(); + Requests[157].RequestServices = CreateServices(); + Requests[157].Request.Method = "GET"; + Requests[157].Request.Path = "/repos/14024/d64d2/git/refs"; + Requests[158] = new DefaultHttpContext(); + Requests[158].RequestServices = CreateServices(); + Requests[158].Request.Method = "POST"; + Requests[158].Request.Path = "/repos/d361c/fea9a/git/refs"; + Requests[159] = new DefaultHttpContext(); + Requests[159].RequestServices = CreateServices(); + Requests[159].Request.Method = "POST"; + Requests[159].Request.Path = "/repos/9a774/6a8ce/git/tags"; + Requests[160] = new DefaultHttpContext(); + Requests[160].RequestServices = CreateServices(); + Requests[160].Request.Method = "POST"; + Requests[160].Request.Path = "/repos/630e1/6a452/git/trees"; + Requests[161] = new DefaultHttpContext(); + Requests[161].RequestServices = CreateServices(); + Requests[161].Request.Method = "GET"; + Requests[161].Request.Path = "/repos/27ccf/49922/issues/comments"; + Requests[162] = new DefaultHttpContext(); + Requests[162].RequestServices = CreateServices(); + Requests[162].Request.Method = "GET"; + Requests[162].Request.Path = "/repos/1e557/77fad/issues/events"; + Requests[163] = new DefaultHttpContext(); + Requests[163].RequestServices = CreateServices(); + Requests[163].Request.Method = "GET"; + Requests[163].Request.Path = "/repos/297e9/11542/pulls/comments"; + Requests[164] = new DefaultHttpContext(); + Requests[164].RequestServices = CreateServices(); + Requests[164].Request.Method = "GET"; + Requests[164].Request.Path = "/repos/3c261/5719e/stats/code_frequency"; + Requests[165] = new DefaultHttpContext(); + Requests[165].RequestServices = CreateServices(); + Requests[165].Request.Method = "GET"; + Requests[165].Request.Path = "/repos/74b31/45543/stats/commit_activity"; + Requests[166] = new DefaultHttpContext(); + Requests[166].RequestServices = CreateServices(); + Requests[166].Request.Method = "GET"; + Requests[166].Request.Path = "/repos/909d8/56712/stats/contributors"; + Requests[167] = new DefaultHttpContext(); + Requests[167].RequestServices = CreateServices(); + Requests[167].Request.Method = "GET"; + Requests[167].Request.Path = "/repos/b8ecd/2a142/stats/participation"; + Requests[168] = new DefaultHttpContext(); + Requests[168].RequestServices = CreateServices(); + Requests[168].Request.Method = "GET"; + Requests[168].Request.Path = "/repos/72fcd/e0d41/stats/punch_card"; + Requests[169] = new DefaultHttpContext(); + Requests[169].RequestServices = CreateServices(); + Requests[169].Request.Method = "GET"; + Requests[169].Request.Path = "/repos/f8e07/b0719/git/blobs/a82e41d"; + Requests[170] = new DefaultHttpContext(); + Requests[170].RequestServices = CreateServices(); + Requests[170].Request.Method = "GET"; + Requests[170].Request.Path = "/repos/22ba5/326c5/git/commits/9fd2dd7"; + Requests[171] = new DefaultHttpContext(); + Requests[171].RequestServices = CreateServices(); + Requests[171].Request.Method = "DELETE"; + Requests[171].Request.Path = "/repos/6052c/2b5e3/git/refs/f9a94"; + Requests[172] = new DefaultHttpContext(); + Requests[172].RequestServices = CreateServices(); + Requests[172].Request.Method = "PATCH"; + Requests[172].Request.Path = "/repos/2de37/f89e9/git/refs/cda61"; + Requests[173] = new DefaultHttpContext(); + Requests[173].RequestServices = CreateServices(); + Requests[173].Request.Method = "GET"; + Requests[173].Request.Path = "/repos/66069/dcb46/git/refs/f682e"; + Requests[174] = new DefaultHttpContext(); + Requests[174].RequestServices = CreateServices(); + Requests[174].Request.Method = "GET"; + Requests[174].Request.Path = "/repos/cab0e/a64fa/git/tags/507f4b6"; + Requests[175] = new DefaultHttpContext(); + Requests[175].RequestServices = CreateServices(); + Requests[175].Request.Method = "GET"; + Requests[175].Request.Path = "/repos/76633/6d2b3/git/trees/a45672d"; + Requests[176] = new DefaultHttpContext(); + Requests[176].RequestServices = CreateServices(); + Requests[176].Request.Method = "GET"; + Requests[176].Request.Path = "/repos/611e5/14e81/issues/comments/70d5316a-"; + Requests[177] = new DefaultHttpContext(); + Requests[177].RequestServices = CreateServices(); + Requests[177].Request.Method = "PATCH"; + Requests[177].Request.Path = "/repos/d4bb1/0e97d/issues/comments/f03032b3-"; + Requests[178] = new DefaultHttpContext(); + Requests[178].RequestServices = CreateServices(); + Requests[178].Request.Method = "DELETE"; + Requests[178].Request.Path = "/repos/221b6/f1cdb/issues/comments/a769f3b6-"; + Requests[179] = new DefaultHttpContext(); + Requests[179].RequestServices = CreateServices(); + Requests[179].Request.Method = "GET"; + Requests[179].Request.Path = "/repos/7ad51/f85f2/issues/events/cec2e88"; + Requests[180] = new DefaultHttpContext(); + Requests[180].RequestServices = CreateServices(); + Requests[180].Request.Method = "PATCH"; + Requests[180].Request.Path = "/repos/5ad14/2c490/pulls/comments/0ce89290-"; + Requests[181] = new DefaultHttpContext(); + Requests[181].RequestServices = CreateServices(); + Requests[181].Request.Method = "GET"; + Requests[181].Request.Path = "/repos/13ba8/30bb3/pulls/comments/e643400f-"; + Requests[182] = new DefaultHttpContext(); + Requests[182].RequestServices = CreateServices(); + Requests[182].Request.Method = "DELETE"; + Requests[182].Request.Path = "/repos/cd3a3/d6224/pulls/comments/c225e938-"; + Requests[183] = new DefaultHttpContext(); + Requests[183].RequestServices = CreateServices(); + Requests[183].Request.Method = "PATCH"; + Requests[183].Request.Path = "/repos/33c72/2f2bd/releases/assets/d06f4"; + Requests[184] = new DefaultHttpContext(); + Requests[184].RequestServices = CreateServices(); + Requests[184].Request.Method = "DELETE"; + Requests[184].Request.Path = "/repos/18b7c/c3d06/releases/assets/97762"; + Requests[185] = new DefaultHttpContext(); + Requests[185].RequestServices = CreateServices(); + Requests[185].Request.Method = "GET"; + Requests[185].Request.Path = "/repos/38549/7ae63/releases/assets/2498e"; + Requests[186] = new DefaultHttpContext(); + Requests[186].RequestServices = CreateServices(); + Requests[186].Request.Method = "GET"; + Requests[186].Request.Path = "/repos/2cd8e/bb684/assignees/04058a9c"; + Requests[187] = new DefaultHttpContext(); + Requests[187].RequestServices = CreateServices(); + Requests[187].Request.Method = "GET"; + Requests[187].Request.Path = "/repos/ab58d/4a13e/branches/c48dc6"; + Requests[188] = new DefaultHttpContext(); + Requests[188].RequestServices = CreateServices(); + Requests[188].Request.Method = "PUT"; + Requests[188].Request.Path = "/repos/a856e/bf188/collaborators/5af36"; + Requests[189] = new DefaultHttpContext(); + Requests[189].RequestServices = CreateServices(); + Requests[189].Request.Method = "DELETE"; + Requests[189].Request.Path = "/repos/b17c0/6051b/collaborators/0b415"; + Requests[190] = new DefaultHttpContext(); + Requests[190].RequestServices = CreateServices(); + Requests[190].Request.Method = "GET"; + Requests[190].Request.Path = "/repos/e4fc3/95a37/collaborators/9bd1b"; + Requests[191] = new DefaultHttpContext(); + Requests[191].RequestServices = CreateServices(); + Requests[191].Request.Method = "DELETE"; + Requests[191].Request.Path = "/repos/fa150/ca148/comments/02b69539-"; + Requests[192] = new DefaultHttpContext(); + Requests[192].RequestServices = CreateServices(); + Requests[192].Request.Method = "GET"; + Requests[192].Request.Path = "/repos/6d3cc/5ad75/comments/c6a0df3f-"; + Requests[193] = new DefaultHttpContext(); + Requests[193].RequestServices = CreateServices(); + Requests[193].Request.Method = "PATCH"; + Requests[193].Request.Path = "/repos/883ad/d79a0/comments/edac8612-"; + Requests[194] = new DefaultHttpContext(); + Requests[194].RequestServices = CreateServices(); + Requests[194].Request.Method = "GET"; + Requests[194].Request.Path = "/repos/59b5d/9ffbe/commits/d6d94ac"; + Requests[195] = new DefaultHttpContext(); + Requests[195].RequestServices = CreateServices(); + Requests[195].Request.Method = "GET"; + Requests[195].Request.Path = "/repos/19be8/61e28/contents/f4c5a"; + Requests[196] = new DefaultHttpContext(); + Requests[196].RequestServices = CreateServices(); + Requests[196].Request.Method = "DELETE"; + Requests[196].Request.Path = "/repos/6e29a/43f51/contents/52ffe"; + Requests[197] = new DefaultHttpContext(); + Requests[197].RequestServices = CreateServices(); + Requests[197].Request.Method = "PUT"; + Requests[197].Request.Path = "/repos/a3605/bf28b/contents/a8fe5"; + Requests[198] = new DefaultHttpContext(); + Requests[198].RequestServices = CreateServices(); + Requests[198].Request.Method = "GET"; + Requests[198].Request.Path = "/repos/a869c/dd5fa/downloads/f1808e48-0"; + Requests[199] = new DefaultHttpContext(); + Requests[199].RequestServices = CreateServices(); + Requests[199].Request.Method = "DELETE"; + Requests[199].Request.Path = "/repos/94d90/ae933/downloads/f9e25b5f-6"; + Requests[200] = new DefaultHttpContext(); + Requests[200].RequestServices = CreateServices(); + Requests[200].Request.Method = "DELETE"; + Requests[200].Request.Path = "/repos/0fe83/e2353/hooks/a83a19"; + Requests[201] = new DefaultHttpContext(); + Requests[201].RequestServices = CreateServices(); + Requests[201].Request.Method = "GET"; + Requests[201].Request.Path = "/repos/648c3/fc66e/hooks/04b461"; + Requests[202] = new DefaultHttpContext(); + Requests[202].RequestServices = CreateServices(); + Requests[202].Request.Method = "PATCH"; + Requests[202].Request.Path = "/repos/3ac61/92269/hooks/79e4df"; + Requests[203] = new DefaultHttpContext(); + Requests[203].RequestServices = CreateServices(); + Requests[203].Request.Method = "GET"; + Requests[203].Request.Path = "/repos/8d523/ba527/issues/9a222a"; + Requests[204] = new DefaultHttpContext(); + Requests[204].RequestServices = CreateServices(); + Requests[204].Request.Method = "PATCH"; + Requests[204].Request.Path = "/repos/9ed96/f6553/issues/4df9d5"; + Requests[205] = new DefaultHttpContext(); + Requests[205].RequestServices = CreateServices(); + Requests[205].Request.Method = "GET"; + Requests[205].Request.Path = "/repos/472ec/16a4a/keys/84edc"; + Requests[206] = new DefaultHttpContext(); + Requests[206].RequestServices = CreateServices(); + Requests[206].Request.Method = "DELETE"; + Requests[206].Request.Path = "/repos/1a88d/4c019/keys/b3e45"; + Requests[207] = new DefaultHttpContext(); + Requests[207].RequestServices = CreateServices(); + Requests[207].Request.Method = "GET"; + Requests[207].Request.Path = "/repos/334fe/0c9d7/labels/4c1ee"; + Requests[208] = new DefaultHttpContext(); + Requests[208].RequestServices = CreateServices(); + Requests[208].Request.Method = "PATCH"; + Requests[208].Request.Path = "/repos/5dcde/f973d/labels/80435"; + Requests[209] = new DefaultHttpContext(); + Requests[209].RequestServices = CreateServices(); + Requests[209].Request.Method = "DELETE"; + Requests[209].Request.Path = "/repos/00a37/12e4b/labels/d7158"; + Requests[210] = new DefaultHttpContext(); + Requests[210].RequestServices = CreateServices(); + Requests[210].Request.Method = "PATCH"; + Requests[210].Request.Path = "/repos/e24fa/a168e/milestones/a38b20"; + Requests[211] = new DefaultHttpContext(); + Requests[211].RequestServices = CreateServices(); + Requests[211].Request.Method = "GET"; + Requests[211].Request.Path = "/repos/24592/f8af1/milestones/8e871e"; + Requests[212] = new DefaultHttpContext(); + Requests[212].RequestServices = CreateServices(); + Requests[212].Request.Method = "DELETE"; + Requests[212].Request.Path = "/repos/c5ee0/38414/milestones/da7976"; + Requests[213] = new DefaultHttpContext(); + Requests[213].RequestServices = CreateServices(); + Requests[213].Request.Method = "GET"; + Requests[213].Request.Path = "/repos/912e9/c81d6/pulls/ce677a"; + Requests[214] = new DefaultHttpContext(); + Requests[214].RequestServices = CreateServices(); + Requests[214].Request.Method = "PATCH"; + Requests[214].Request.Path = "/repos/aef6c/5ec7e/pulls/633b87"; + Requests[215] = new DefaultHttpContext(); + Requests[215].RequestServices = CreateServices(); + Requests[215].Request.Method = "PATCH"; + Requests[215].Request.Path = "/repos/6085e/ff8aa/releases/dcda3"; + Requests[216] = new DefaultHttpContext(); + Requests[216].RequestServices = CreateServices(); + Requests[216].Request.Method = "GET"; + Requests[216].Request.Path = "/repos/4d7f4/ceafa/releases/97fd7"; + Requests[217] = new DefaultHttpContext(); + Requests[217].RequestServices = CreateServices(); + Requests[217].Request.Method = "DELETE"; + Requests[217].Request.Path = "/repos/1f81e/89e6a/releases/6b744"; + Requests[218] = new DefaultHttpContext(); + Requests[218].RequestServices = CreateServices(); + Requests[218].Request.Method = "GET"; + Requests[218].Request.Path = "/repos/8b417/ad4a5/statuses/08833"; + Requests[219] = new DefaultHttpContext(); + Requests[219].RequestServices = CreateServices(); + Requests[219].Request.Method = "POST"; + Requests[219].Request.Path = "/repos/b7600/1d17b/statuses/9de98"; + Requests[220] = new DefaultHttpContext(); + Requests[220].RequestServices = CreateServices(); + Requests[220].Request.Method = "GET"; + Requests[220].Request.Path = "/repos/ceff2/ff6ae/commits/ae429/status"; + Requests[221] = new DefaultHttpContext(); + Requests[221].RequestServices = CreateServices(); + Requests[221].Request.Method = "GET"; + Requests[221].Request.Path = "/repos/13588/5ba9b/commits/534a9aa/comments"; + Requests[222] = new DefaultHttpContext(); + Requests[222].RequestServices = CreateServices(); + Requests[222].Request.Method = "POST"; + Requests[222].Request.Path = "/repos/ba059/a94ca/commits/dfc6938/comments"; + Requests[223] = new DefaultHttpContext(); + Requests[223].RequestServices = CreateServices(); + Requests[223].Request.Method = "GET"; + Requests[223].Request.Path = "/repos/39532/6e5f6/deployments/f41d0/statuses"; + Requests[224] = new DefaultHttpContext(); + Requests[224].RequestServices = CreateServices(); + Requests[224].Request.Method = "POST"; + Requests[224].Request.Path = "/repos/18373/23ac8/deployments/392c1/statuses"; + Requests[225] = new DefaultHttpContext(); + Requests[225].RequestServices = CreateServices(); + Requests[225].Request.Method = "POST"; + Requests[225].Request.Path = "/repos/73148/9d526/hooks/59adb8/tests"; + Requests[226] = new DefaultHttpContext(); + Requests[226].RequestServices = CreateServices(); + Requests[226].Request.Method = "POST"; + Requests[226].Request.Path = "/repos/19a36/91f69/issues/765c82/comments"; + Requests[227] = new DefaultHttpContext(); + Requests[227].RequestServices = CreateServices(); + Requests[227].Request.Method = "GET"; + Requests[227].Request.Path = "/repos/ffa54/61a37/issues/710513/comments"; + Requests[228] = new DefaultHttpContext(); + Requests[228].RequestServices = CreateServices(); + Requests[228].Request.Method = "GET"; + Requests[228].Request.Path = "/repos/fcb0f/0c8e2/issues/de0d38/events"; + Requests[229] = new DefaultHttpContext(); + Requests[229].RequestServices = CreateServices(); + Requests[229].Request.Method = "POST"; + Requests[229].Request.Path = "/repos/158d7/00bed/issues/9bc6b6/labels"; + Requests[230] = new DefaultHttpContext(); + Requests[230].RequestServices = CreateServices(); + Requests[230].Request.Method = "GET"; + Requests[230].Request.Path = "/repos/67c56/41fd8/issues/6b6858/labels"; + Requests[231] = new DefaultHttpContext(); + Requests[231].RequestServices = CreateServices(); + Requests[231].Request.Method = "PUT"; + Requests[231].Request.Path = "/repos/b8194/06cc6/issues/effa3d/labels"; + Requests[232] = new DefaultHttpContext(); + Requests[232].RequestServices = CreateServices(); + Requests[232].Request.Method = "DELETE"; + Requests[232].Request.Path = "/repos/57423/979fd/issues/6d3fce/labels"; + Requests[233] = new DefaultHttpContext(); + Requests[233].RequestServices = CreateServices(); + Requests[233].Request.Method = "GET"; + Requests[233].Request.Path = "/repos/d799e/53e56/milestones/80ebe2/labels"; + Requests[234] = new DefaultHttpContext(); + Requests[234].RequestServices = CreateServices(); + Requests[234].Request.Method = "GET"; + Requests[234].Request.Path = "/repos/55311/56e4a/pulls/666fa7/comments"; + Requests[235] = new DefaultHttpContext(); + Requests[235].RequestServices = CreateServices(); + Requests[235].Request.Method = "POST"; + Requests[235].Request.Path = "/repos/c9cd2/f3e91/pulls/ae901f/comments"; + Requests[236] = new DefaultHttpContext(); + Requests[236].RequestServices = CreateServices(); + Requests[236].Request.Method = "GET"; + Requests[236].Request.Path = "/repos/3195c/e552e/pulls/6b6d2b/commits"; + Requests[237] = new DefaultHttpContext(); + Requests[237].RequestServices = CreateServices(); + Requests[237].Request.Method = "GET"; + Requests[237].Request.Path = "/repos/2d6b6/77639/pulls/3423c6/files"; + Requests[238] = new DefaultHttpContext(); + Requests[238].RequestServices = CreateServices(); + Requests[238].Request.Method = "PUT"; + Requests[238].Request.Path = "/repos/6c6d3/3a6b0/pulls/1da47f/merge"; + Requests[239] = new DefaultHttpContext(); + Requests[239].RequestServices = CreateServices(); + Requests[239].Request.Method = "GET"; + Requests[239].Request.Path = "/repos/b144c/c707e/pulls/a5fcb2/merge"; + Requests[240] = new DefaultHttpContext(); + Requests[240].RequestServices = CreateServices(); + Requests[240].Request.Method = "GET"; + Requests[240].Request.Path = "/repos/81459/8618d/releases/65289/assets"; + Requests[241] = new DefaultHttpContext(); + Requests[241].RequestServices = CreateServices(); + Requests[241].Request.Method = "DELETE"; + Requests[241].Request.Path = "/repos/3c5a4/a7525/issues/e93fff/labels/cd7b0"; + Requests[242] = new DefaultHttpContext(); + Requests[242].RequestServices = CreateServices(); + Requests[242].Request.Method = "GET"; + Requests[242].Request.Path = "/repos/85bd9/70da2/2dc44fe9-83b9-/01762"; + } + + private Matcher SetupMatcher(MatcherBuilder builder) + { + builder.AddEndpoint(Endpoints[0]); + builder.AddEndpoint(Endpoints[1]); + builder.AddEndpoint(Endpoints[2]); + builder.AddEndpoint(Endpoints[3]); + builder.AddEndpoint(Endpoints[4]); + builder.AddEndpoint(Endpoints[5]); + builder.AddEndpoint(Endpoints[6]); + builder.AddEndpoint(Endpoints[7]); + builder.AddEndpoint(Endpoints[8]); + builder.AddEndpoint(Endpoints[9]); + builder.AddEndpoint(Endpoints[10]); + builder.AddEndpoint(Endpoints[11]); + builder.AddEndpoint(Endpoints[12]); + builder.AddEndpoint(Endpoints[13]); + builder.AddEndpoint(Endpoints[14]); + builder.AddEndpoint(Endpoints[15]); + builder.AddEndpoint(Endpoints[16]); + builder.AddEndpoint(Endpoints[17]); + builder.AddEndpoint(Endpoints[18]); + builder.AddEndpoint(Endpoints[19]); + builder.AddEndpoint(Endpoints[20]); + builder.AddEndpoint(Endpoints[21]); + builder.AddEndpoint(Endpoints[22]); + builder.AddEndpoint(Endpoints[23]); + builder.AddEndpoint(Endpoints[24]); + builder.AddEndpoint(Endpoints[25]); + builder.AddEndpoint(Endpoints[26]); + builder.AddEndpoint(Endpoints[27]); + builder.AddEndpoint(Endpoints[28]); + builder.AddEndpoint(Endpoints[29]); + builder.AddEndpoint(Endpoints[30]); + builder.AddEndpoint(Endpoints[31]); + builder.AddEndpoint(Endpoints[32]); + builder.AddEndpoint(Endpoints[33]); + builder.AddEndpoint(Endpoints[34]); + builder.AddEndpoint(Endpoints[35]); + builder.AddEndpoint(Endpoints[36]); + builder.AddEndpoint(Endpoints[37]); + builder.AddEndpoint(Endpoints[38]); + builder.AddEndpoint(Endpoints[39]); + builder.AddEndpoint(Endpoints[40]); + builder.AddEndpoint(Endpoints[41]); + builder.AddEndpoint(Endpoints[42]); + builder.AddEndpoint(Endpoints[43]); + builder.AddEndpoint(Endpoints[44]); + builder.AddEndpoint(Endpoints[45]); + builder.AddEndpoint(Endpoints[46]); + builder.AddEndpoint(Endpoints[47]); + builder.AddEndpoint(Endpoints[48]); + builder.AddEndpoint(Endpoints[49]); + builder.AddEndpoint(Endpoints[50]); + builder.AddEndpoint(Endpoints[51]); + builder.AddEndpoint(Endpoints[52]); + builder.AddEndpoint(Endpoints[53]); + builder.AddEndpoint(Endpoints[54]); + builder.AddEndpoint(Endpoints[55]); + builder.AddEndpoint(Endpoints[56]); + builder.AddEndpoint(Endpoints[57]); + builder.AddEndpoint(Endpoints[58]); + builder.AddEndpoint(Endpoints[59]); + builder.AddEndpoint(Endpoints[60]); + builder.AddEndpoint(Endpoints[61]); + builder.AddEndpoint(Endpoints[62]); + builder.AddEndpoint(Endpoints[63]); + builder.AddEndpoint(Endpoints[64]); + builder.AddEndpoint(Endpoints[65]); + builder.AddEndpoint(Endpoints[66]); + builder.AddEndpoint(Endpoints[67]); + builder.AddEndpoint(Endpoints[68]); + builder.AddEndpoint(Endpoints[69]); + builder.AddEndpoint(Endpoints[70]); + builder.AddEndpoint(Endpoints[71]); + builder.AddEndpoint(Endpoints[72]); + builder.AddEndpoint(Endpoints[73]); + builder.AddEndpoint(Endpoints[74]); + builder.AddEndpoint(Endpoints[75]); + builder.AddEndpoint(Endpoints[76]); + builder.AddEndpoint(Endpoints[77]); + builder.AddEndpoint(Endpoints[78]); + builder.AddEndpoint(Endpoints[79]); + builder.AddEndpoint(Endpoints[80]); + builder.AddEndpoint(Endpoints[81]); + builder.AddEndpoint(Endpoints[82]); + builder.AddEndpoint(Endpoints[83]); + builder.AddEndpoint(Endpoints[84]); + builder.AddEndpoint(Endpoints[85]); + builder.AddEndpoint(Endpoints[86]); + builder.AddEndpoint(Endpoints[87]); + builder.AddEndpoint(Endpoints[88]); + builder.AddEndpoint(Endpoints[89]); + builder.AddEndpoint(Endpoints[90]); + builder.AddEndpoint(Endpoints[91]); + builder.AddEndpoint(Endpoints[92]); + builder.AddEndpoint(Endpoints[93]); + builder.AddEndpoint(Endpoints[94]); + builder.AddEndpoint(Endpoints[95]); + builder.AddEndpoint(Endpoints[96]); + builder.AddEndpoint(Endpoints[97]); + builder.AddEndpoint(Endpoints[98]); + builder.AddEndpoint(Endpoints[99]); + builder.AddEndpoint(Endpoints[100]); + builder.AddEndpoint(Endpoints[101]); + builder.AddEndpoint(Endpoints[102]); + builder.AddEndpoint(Endpoints[103]); + builder.AddEndpoint(Endpoints[104]); + builder.AddEndpoint(Endpoints[105]); + builder.AddEndpoint(Endpoints[106]); + builder.AddEndpoint(Endpoints[107]); + builder.AddEndpoint(Endpoints[108]); + builder.AddEndpoint(Endpoints[109]); + builder.AddEndpoint(Endpoints[110]); + builder.AddEndpoint(Endpoints[111]); + builder.AddEndpoint(Endpoints[112]); + builder.AddEndpoint(Endpoints[113]); + builder.AddEndpoint(Endpoints[114]); + builder.AddEndpoint(Endpoints[115]); + builder.AddEndpoint(Endpoints[116]); + builder.AddEndpoint(Endpoints[117]); + builder.AddEndpoint(Endpoints[118]); + builder.AddEndpoint(Endpoints[119]); + builder.AddEndpoint(Endpoints[120]); + builder.AddEndpoint(Endpoints[121]); + builder.AddEndpoint(Endpoints[122]); + builder.AddEndpoint(Endpoints[123]); + builder.AddEndpoint(Endpoints[124]); + builder.AddEndpoint(Endpoints[125]); + builder.AddEndpoint(Endpoints[126]); + builder.AddEndpoint(Endpoints[127]); + builder.AddEndpoint(Endpoints[128]); + builder.AddEndpoint(Endpoints[129]); + builder.AddEndpoint(Endpoints[130]); + builder.AddEndpoint(Endpoints[131]); + builder.AddEndpoint(Endpoints[132]); + builder.AddEndpoint(Endpoints[133]); + builder.AddEndpoint(Endpoints[134]); + builder.AddEndpoint(Endpoints[135]); + builder.AddEndpoint(Endpoints[136]); + builder.AddEndpoint(Endpoints[137]); + builder.AddEndpoint(Endpoints[138]); + builder.AddEndpoint(Endpoints[139]); + builder.AddEndpoint(Endpoints[140]); + builder.AddEndpoint(Endpoints[141]); + builder.AddEndpoint(Endpoints[142]); + builder.AddEndpoint(Endpoints[143]); + builder.AddEndpoint(Endpoints[144]); + builder.AddEndpoint(Endpoints[145]); + builder.AddEndpoint(Endpoints[146]); + builder.AddEndpoint(Endpoints[147]); + builder.AddEndpoint(Endpoints[148]); + builder.AddEndpoint(Endpoints[149]); + builder.AddEndpoint(Endpoints[150]); + builder.AddEndpoint(Endpoints[151]); + builder.AddEndpoint(Endpoints[152]); + builder.AddEndpoint(Endpoints[153]); + builder.AddEndpoint(Endpoints[154]); + builder.AddEndpoint(Endpoints[155]); + builder.AddEndpoint(Endpoints[156]); + builder.AddEndpoint(Endpoints[157]); + builder.AddEndpoint(Endpoints[158]); + builder.AddEndpoint(Endpoints[159]); + builder.AddEndpoint(Endpoints[160]); + builder.AddEndpoint(Endpoints[161]); + builder.AddEndpoint(Endpoints[162]); + builder.AddEndpoint(Endpoints[163]); + builder.AddEndpoint(Endpoints[164]); + builder.AddEndpoint(Endpoints[165]); + builder.AddEndpoint(Endpoints[166]); + builder.AddEndpoint(Endpoints[167]); + builder.AddEndpoint(Endpoints[168]); + builder.AddEndpoint(Endpoints[169]); + builder.AddEndpoint(Endpoints[170]); + builder.AddEndpoint(Endpoints[171]); + builder.AddEndpoint(Endpoints[172]); + builder.AddEndpoint(Endpoints[173]); + builder.AddEndpoint(Endpoints[174]); + builder.AddEndpoint(Endpoints[175]); + builder.AddEndpoint(Endpoints[176]); + builder.AddEndpoint(Endpoints[177]); + builder.AddEndpoint(Endpoints[178]); + builder.AddEndpoint(Endpoints[179]); + builder.AddEndpoint(Endpoints[180]); + builder.AddEndpoint(Endpoints[181]); + builder.AddEndpoint(Endpoints[182]); + builder.AddEndpoint(Endpoints[183]); + builder.AddEndpoint(Endpoints[184]); + builder.AddEndpoint(Endpoints[185]); + builder.AddEndpoint(Endpoints[186]); + builder.AddEndpoint(Endpoints[187]); + builder.AddEndpoint(Endpoints[188]); + builder.AddEndpoint(Endpoints[189]); + builder.AddEndpoint(Endpoints[190]); + builder.AddEndpoint(Endpoints[191]); + builder.AddEndpoint(Endpoints[192]); + builder.AddEndpoint(Endpoints[193]); + builder.AddEndpoint(Endpoints[194]); + builder.AddEndpoint(Endpoints[195]); + builder.AddEndpoint(Endpoints[196]); + builder.AddEndpoint(Endpoints[197]); + builder.AddEndpoint(Endpoints[198]); + builder.AddEndpoint(Endpoints[199]); + builder.AddEndpoint(Endpoints[200]); + builder.AddEndpoint(Endpoints[201]); + builder.AddEndpoint(Endpoints[202]); + builder.AddEndpoint(Endpoints[203]); + builder.AddEndpoint(Endpoints[204]); + builder.AddEndpoint(Endpoints[205]); + builder.AddEndpoint(Endpoints[206]); + builder.AddEndpoint(Endpoints[207]); + builder.AddEndpoint(Endpoints[208]); + builder.AddEndpoint(Endpoints[209]); + builder.AddEndpoint(Endpoints[210]); + builder.AddEndpoint(Endpoints[211]); + builder.AddEndpoint(Endpoints[212]); + builder.AddEndpoint(Endpoints[213]); + builder.AddEndpoint(Endpoints[214]); + builder.AddEndpoint(Endpoints[215]); + builder.AddEndpoint(Endpoints[216]); + builder.AddEndpoint(Endpoints[217]); + builder.AddEndpoint(Endpoints[218]); + builder.AddEndpoint(Endpoints[219]); + builder.AddEndpoint(Endpoints[220]); + builder.AddEndpoint(Endpoints[221]); + builder.AddEndpoint(Endpoints[222]); + builder.AddEndpoint(Endpoints[223]); + builder.AddEndpoint(Endpoints[224]); + builder.AddEndpoint(Endpoints[225]); + builder.AddEndpoint(Endpoints[226]); + builder.AddEndpoint(Endpoints[227]); + builder.AddEndpoint(Endpoints[228]); + builder.AddEndpoint(Endpoints[229]); + builder.AddEndpoint(Endpoints[230]); + builder.AddEndpoint(Endpoints[231]); + builder.AddEndpoint(Endpoints[232]); + builder.AddEndpoint(Endpoints[233]); + builder.AddEndpoint(Endpoints[234]); + builder.AddEndpoint(Endpoints[235]); + builder.AddEndpoint(Endpoints[236]); + builder.AddEndpoint(Endpoints[237]); + builder.AddEndpoint(Endpoints[238]); + builder.AddEndpoint(Endpoints[239]); + builder.AddEndpoint(Endpoints[240]); + builder.AddEndpoint(Endpoints[241]); + builder.AddEndpoint(Endpoints[242]); + return builder.Build(); + } + + private MatcherEndpoint CreateEndpoint(string template, string controllerName, string actionName, string httpMethod) + { + var requiredValues = new + { + area = (string)null, + controller = controllerName, + action = actionName, + page = (string)null + }; + var defaults = new + { + area = (string)null, + controller = controllerName, + action = actionName, + page = (string)null + }; + + var metadata = new List(); + if (httpMethod != null) + { + metadata.Add(new HttpMethodMetadata(new string[] { httpMethod })); + } + + return CreateEndpoint( + template, + defaults: defaults, + requiredValues: requiredValues, + metadata: metadata, + routeName: controllerName); + } + } +} \ No newline at end of file diff --git a/benchmarks/Microsoft.AspNetCore.Routing.Performance/LinkGeneration/SingleRouteRouteValuesBasedEndpointFinderBenchmark.cs b/benchmarks/Microsoft.AspNetCore.Routing.Performance/LinkGeneration/SingleRouteRouteValuesBasedEndpointFinderBenchmark.cs new file mode 100644 index 0000000000..46241462ac --- /dev/null +++ b/benchmarks/Microsoft.AspNetCore.Routing.Performance/LinkGeneration/SingleRouteRouteValuesBasedEndpointFinderBenchmark.cs @@ -0,0 +1,74 @@ +// Copyright (c) .NET Foundation. All rights reserved. +// Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information. + +using System.Collections.Generic; +using BenchmarkDotNet.Attributes; +using Microsoft.AspNetCore.Http; +using Microsoft.Extensions.DependencyInjection; + +namespace Microsoft.AspNetCore.Routing.LinkGeneration +{ + public class SingleRouteRouteValuesBasedEndpointFinderBenchmark : EndpointRoutingBenchmarkBase + { + private IEndpointFinder _finder; + private TestEndpointFinder _baseFinder; + private (HttpContext HttpContext, RouteValueDictionary AmbientValues) _requestContext; + + [GlobalSetup] + public void Setup() + { + var template = "Products/Details"; + var defaults = new { controller = "Products", action = "Details" }; + var requiredValues = new { controller = "Products", action = "Details" }; + + SetupEndpoints(CreateEndpoint(template, defaults, requiredValues: requiredValues, routeName: "ProductDetails")); + var services = CreateServices(); + _finder = services.GetRequiredService>(); + _baseFinder = new TestEndpointFinder(Endpoints[0]); + + _requestContext = CreateCurrentRequestContext(); + } + + [Benchmark(Baseline = true)] + public void Baseline() + { + var actual = _baseFinder.FindEndpoints(address: 0); + } + + [Benchmark] + public void RouteValues() + { + var actual = _finder.FindEndpoints(new RouteValuesAddress + { + AmbientValues = _requestContext.AmbientValues, + ExplicitValues = new RouteValueDictionary(new { controller = "Products", action = "Details" }), + RouteName = null + }); + } + + [Benchmark] + public void RouteName() + { + var actual = _finder.FindEndpoints(new RouteValuesAddress + { + AmbientValues = _requestContext.AmbientValues, + RouteName = "ProductDetails" + }); + } + + private class TestEndpointFinder : IEndpointFinder + { + private readonly Endpoint _endpoint; + + public TestEndpointFinder(Endpoint endpoint) + { + _endpoint = endpoint; + } + + public IEnumerable FindEndpoints(int address) + { + return new[] { _endpoint }; + } + } + } +} diff --git a/benchmarks/Microsoft.AspNetCore.Routing.Performance/LinkGeneration/SingleRouteWithConstraintsBenchmark.cs b/benchmarks/Microsoft.AspNetCore.Routing.Performance/LinkGeneration/SingleRouteWithConstraintsBenchmark.cs new file mode 100644 index 0000000000..271263bc7f --- /dev/null +++ b/benchmarks/Microsoft.AspNetCore.Routing.Performance/LinkGeneration/SingleRouteWithConstraintsBenchmark.cs @@ -0,0 +1,74 @@ +// Copyright (c) .NET Foundation. All rights reserved. +// Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information. + +using BenchmarkDotNet.Attributes; +using Microsoft.AspNetCore.Http; +using Microsoft.AspNetCore.Routing.Tree; +using Microsoft.Extensions.DependencyInjection; + +namespace Microsoft.AspNetCore.Routing.LinkGeneration +{ + public class SingleRouteWithConstraintsBenchmark : EndpointRoutingBenchmarkBase + { + private TreeRouter _treeRouter; + private LinkGenerator _linkGenerator; + private (HttpContext HttpContext, RouteValueDictionary AmbientValues) _requestContext; + + [GlobalSetup] + public void Setup() + { + var template = "Customers/Details/{category}/{region}/{id:int}"; + var defaults = new { controller = "Customers", action = "Details" }; + var requiredValues = new { controller = "Customers", action = "Details" }; + + // Endpoint routing related + SetupEndpoints(CreateEndpoint(template, defaults, requiredValues: requiredValues)); + var services = CreateServices(); + _linkGenerator = services.GetRequiredService(); + + // Attribute routing related + var treeRouteBuilder = services.GetRequiredService(); + CreateOutboundRouteEntry(treeRouteBuilder, Endpoints[0]); + _treeRouter = treeRouteBuilder.Build(); + + _requestContext = CreateCurrentRequestContext(); + } + + [Benchmark(Baseline = true)] + public void TreeRouter() + { + var virtualPathData = _treeRouter.GetVirtualPath(new VirtualPathContext( + _requestContext.HttpContext, + ambientValues: _requestContext.AmbientValues, + values: new RouteValueDictionary( + new + { + controller = "Customers", + action = "Details", + category = "Administration", + region = "US", + id = 10 + }))); + + AssertUrl("/Customers/Details/Administration/US/10", virtualPathData?.VirtualPath); + } + + [Benchmark] + public void EndpointRouting() + { + var actualUrl = _linkGenerator.GetLink( + _requestContext.HttpContext, + values: new RouteValueDictionary( + new + { + controller = "Customers", + action = "Details", + category = "Administration", + region = "US", + id = 10 + })); + + AssertUrl("/Customers/Details/Administration/US/10", actualUrl); + } + } +} diff --git a/benchmarks/Microsoft.AspNetCore.Routing.Performance/LinkGeneration/SingleRouteWithNoParametersBenchmark.cs b/benchmarks/Microsoft.AspNetCore.Routing.Performance/LinkGeneration/SingleRouteWithNoParametersBenchmark.cs new file mode 100644 index 0000000000..0b2e30dc64 --- /dev/null +++ b/benchmarks/Microsoft.AspNetCore.Routing.Performance/LinkGeneration/SingleRouteWithNoParametersBenchmark.cs @@ -0,0 +1,68 @@ +// Copyright (c) .NET Foundation. All rights reserved. +// Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information. + +using BenchmarkDotNet.Attributes; +using Microsoft.AspNetCore.Http; +using Microsoft.AspNetCore.Routing.Tree; +using Microsoft.Extensions.DependencyInjection; + +namespace Microsoft.AspNetCore.Routing.LinkGeneration +{ + public class SingleRouteWithNoParametersBenchmark : EndpointRoutingBenchmarkBase + { + private TreeRouter _treeRouter; + private LinkGenerator _linkGenerator; + private (HttpContext HttpContext, RouteValueDictionary AmbientValues) _requestContext; + + [GlobalSetup] + public void Setup() + { + var template = "Products/Details"; + var defaults = new { controller = "Products", action = "Details" }; + var requiredValues = new { controller = "Products", action = "Details" }; + + // Endpoint routing related + SetupEndpoints(CreateEndpoint(template, defaults, requiredValues: requiredValues)); + var services = CreateServices(); + _linkGenerator = services.GetRequiredService(); + + // Attribute routing related + var treeRouteBuilder = services.GetRequiredService(); + CreateOutboundRouteEntry(treeRouteBuilder, Endpoints[0]); + _treeRouter = treeRouteBuilder.Build(); + + _requestContext = CreateCurrentRequestContext(); + } + + [Benchmark(Baseline = true)] + public void TreeRouter() + { + var virtualPathData = _treeRouter.GetVirtualPath(new VirtualPathContext( + _requestContext.HttpContext, + ambientValues: _requestContext.AmbientValues, + values: new RouteValueDictionary( + new + { + controller = "Products", + action = "Details", + }))); + + AssertUrl("/Products/Details", virtualPathData?.VirtualPath); + } + + [Benchmark] + public void EndpointRouting() + { + var actualUrl = _linkGenerator.GetLink( + _requestContext.HttpContext, + values: new RouteValueDictionary( + new + { + controller = "Products", + action = "Details", + })); + + AssertUrl("/Products/Details", actualUrl); + } + } +} diff --git a/benchmarks/Microsoft.AspNetCore.Routing.Performance/LinkGeneration/SingleRouteWithParametersBenchmark.cs b/benchmarks/Microsoft.AspNetCore.Routing.Performance/LinkGeneration/SingleRouteWithParametersBenchmark.cs new file mode 100644 index 0000000000..6ca5d74fbe --- /dev/null +++ b/benchmarks/Microsoft.AspNetCore.Routing.Performance/LinkGeneration/SingleRouteWithParametersBenchmark.cs @@ -0,0 +1,74 @@ +// Copyright (c) .NET Foundation. All rights reserved. +// Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information. + +using BenchmarkDotNet.Attributes; +using Microsoft.AspNetCore.Http; +using Microsoft.AspNetCore.Routing.Tree; +using Microsoft.Extensions.DependencyInjection; + +namespace Microsoft.AspNetCore.Routing.LinkGeneration +{ + public class SingleRouteWithParametersBenchmark : EndpointRoutingBenchmarkBase + { + private TreeRouter _treeRouter; + private LinkGenerator _linkGenerator; + private (HttpContext HttpContext, RouteValueDictionary AmbientValues) _requestContext; + + [GlobalSetup] + public void Setup() + { + var template = "Customers/Details/{category}/{region}/{id}"; + var defaults = new { controller = "Customers", action = "Details" }; + var requiredValues = new { controller = "Customers", action = "Details" }; + + // Endpoint routing related + SetupEndpoints(CreateEndpoint(template, defaults, requiredValues: requiredValues)); + var services = CreateServices(); + _linkGenerator = services.GetRequiredService(); + + // Attribute routing related + var treeRouteBuilder = services.GetRequiredService(); + CreateOutboundRouteEntry(treeRouteBuilder, Endpoints[0]); + _treeRouter = treeRouteBuilder.Build(); + + _requestContext = CreateCurrentRequestContext(); + } + + [Benchmark(Baseline = true)] + public void TreeRouter() + { + var virtualPathData = _treeRouter.GetVirtualPath(new VirtualPathContext( + _requestContext.HttpContext, + ambientValues: _requestContext.AmbientValues, + values: new RouteValueDictionary( + new + { + controller = "Customers", + action = "Details", + category = "Administration", + region = "US", + id = 10 + }))); + + AssertUrl("/Customers/Details/Administration/US/10", virtualPathData?.VirtualPath); + } + + [Benchmark] + public void EndpointRouting() + { + var actualUrl = _linkGenerator.GetLink( + _requestContext.HttpContext, + values: new RouteValueDictionary( + new + { + controller = "Customers", + action = "Details", + category = "Administration", + region = "US", + id = 10 + })); + + AssertUrl("/Customers/Details/Administration/US/10", actualUrl); + } + } +} diff --git a/benchmarks/Microsoft.AspNetCore.Routing.Performance/Matching/MatcherAzureBenchmark.cs b/benchmarks/Microsoft.AspNetCore.Routing.Performance/Matching/MatcherAzureBenchmark.cs index 1cd5b350f9..cf3a41c31f 100644 --- a/benchmarks/Microsoft.AspNetCore.Routing.Performance/Matching/MatcherAzureBenchmark.cs +++ b/benchmarks/Microsoft.AspNetCore.Routing.Performance/Matching/MatcherAzureBenchmark.cs @@ -7,7 +7,7 @@ using BenchmarkDotNet.Attributes; namespace Microsoft.AspNetCore.Routing.Matching { // Generated from https://github.com/Azure/azure-rest-api-specs - public partial class MatcherAzureBenchmark : MatcherBenchmarkBase + public partial class MatcherAzureBenchmark : EndpointRoutingBenchmarkBase { private const int SampleCount = 100; diff --git a/benchmarks/Microsoft.AspNetCore.Routing.Performance/Matching/MatcherAzureBenchmark.generated.cs b/benchmarks/Microsoft.AspNetCore.Routing.Performance/Matching/MatcherAzureBenchmark.generated.cs index 0a2c549bfd..f486eb23e1 100644 --- a/benchmarks/Microsoft.AspNetCore.Routing.Performance/Matching/MatcherAzureBenchmark.generated.cs +++ b/benchmarks/Microsoft.AspNetCore.Routing.Performance/Matching/MatcherAzureBenchmark.generated.cs @@ -7,7 +7,7 @@ using Microsoft.AspNetCore.Http; namespace Microsoft.AspNetCore.Routing.Matching { // This code was generated by the Swaggatherer - public partial class MatcherAzureBenchmark : MatcherBenchmarkBase + public partial class MatcherAzureBenchmark : EndpointRoutingBenchmarkBase { private const int EndpointCount = 5160; diff --git a/benchmarks/Microsoft.AspNetCore.Routing.Performance/Matching/MatcherBenchmarkBase.cs b/benchmarks/Microsoft.AspNetCore.Routing.Performance/Matching/MatcherBenchmarkBase.cs deleted file mode 100644 index 4b030f84dc..0000000000 --- a/benchmarks/Microsoft.AspNetCore.Routing.Performance/Matching/MatcherBenchmarkBase.cs +++ /dev/null @@ -1,87 +0,0 @@ -// Copyright (c) .NET Foundation. All rights reserved. -// Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information. - -using System; -using System.Collections.Generic; -using System.Runtime.CompilerServices; -using System.Text; -using System.Threading.Tasks; -using Microsoft.AspNetCore.Http; -using Microsoft.AspNetCore.Routing.Patterns; -using Microsoft.Extensions.DependencyInjection; - -namespace Microsoft.AspNetCore.Routing.Matching -{ - public abstract class MatcherBenchmarkBase - { - private protected MatcherEndpoint[] Endpoints; - private protected HttpContext[] Requests; - - // The older routing implementations retrieve services when they first execute. - private protected static IServiceProvider CreateServices() - { - var services = new ServiceCollection(); - services.AddLogging(); - services.AddOptions(); - services.AddRouting(); - return services.BuildServiceProvider(); - } - - private protected DfaMatcherBuilder CreateDfaMatcherBuilder() - { - return CreateServices().GetRequiredService(); - } - - private protected static MatcherEndpoint CreateEndpoint(string template, string httpMethod = null) - { - var metadata = new List(); - if (httpMethod != null) - { - metadata.Add(new HttpMethodMetadata(new string[] { httpMethod, })); - } - - return new MatcherEndpoint( - MatcherEndpoint.EmptyInvoker, - RoutePatternFactory.Parse(template), - 0, - new EndpointMetadataCollection(metadata), - template); - } - - private protected static int[] SampleRequests(int endpointCount, int count) - { - // This isn't very high tech, but it's at least regular distribution. - // We sort the route templates by precedence, so this should result in - // an even distribution of the 'complexity' of the routes that are exercised. - var frequency = endpointCount / count; - if (frequency < 2) - { - throw new InvalidOperationException( - "The sample count is too high. This won't produce an accurate sampling" + - "of the request data."); - } - - var samples = new int[count]; - for (var i = 0; i < samples.Length; i++) - { - samples[i] = i * frequency; - } - - return samples; - } - - [MethodImpl(MethodImplOptions.NoInlining)] - private protected void Validate(HttpContext httpContext, Endpoint expected, Endpoint actual) - { - if (!object.ReferenceEquals(expected, actual)) - { - var message = new StringBuilder(); - message.AppendLine($"Validation failed for request {Array.IndexOf(Requests, httpContext)}"); - message.AppendLine($"{httpContext.Request.Method} {httpContext.Request.Path}"); - message.AppendLine($"expected: '{((MatcherEndpoint)expected)?.DisplayName ?? "null"}'"); - message.AppendLine($"actual: '{((MatcherEndpoint)actual)?.DisplayName ?? "null"}'"); - throw new InvalidOperationException(message.ToString()); - } - } - } -} diff --git a/benchmarks/Microsoft.AspNetCore.Routing.Performance/Matching/MatcherFindCandidateSetAzureBenchmark.cs b/benchmarks/Microsoft.AspNetCore.Routing.Performance/Matching/MatcherFindCandidateSetAzureBenchmark.cs index 96f3d2afcc..2f54d1bdbb 100644 --- a/benchmarks/Microsoft.AspNetCore.Routing.Performance/Matching/MatcherFindCandidateSetAzureBenchmark.cs +++ b/benchmarks/Microsoft.AspNetCore.Routing.Performance/Matching/MatcherFindCandidateSetAzureBenchmark.cs @@ -7,7 +7,7 @@ using BenchmarkDotNet.Attributes; namespace Microsoft.AspNetCore.Routing.Matching { // Generated from https://github.com/Azure/azure-rest-api-specs - public partial class MatcherFindCandidateSetAzureBenchmark : MatcherBenchmarkBase + public partial class MatcherFindCandidateSetAzureBenchmark : EndpointRoutingBenchmarkBase { // SegmentCount should be max-segments + 1, but we don't have a good way to compute // it here, so using 16 as a safe guess. diff --git a/benchmarks/Microsoft.AspNetCore.Routing.Performance/Matching/MatcherFindCandidateSetAzureBenchmark.generated.cs b/benchmarks/Microsoft.AspNetCore.Routing.Performance/Matching/MatcherFindCandidateSetAzureBenchmark.generated.cs index b7ee1d1e64..bd633b706c 100644 --- a/benchmarks/Microsoft.AspNetCore.Routing.Performance/Matching/MatcherFindCandidateSetAzureBenchmark.generated.cs +++ b/benchmarks/Microsoft.AspNetCore.Routing.Performance/Matching/MatcherFindCandidateSetAzureBenchmark.generated.cs @@ -7,7 +7,7 @@ using Microsoft.AspNetCore.Http; namespace Microsoft.AspNetCore.Routing.Matching { // This code was generated by the Swaggatherer - public partial class MatcherFindCandidateSetAzureBenchmark : MatcherBenchmarkBase + public partial class MatcherFindCandidateSetAzureBenchmark : EndpointRoutingBenchmarkBase { private const int EndpointCount = 3517; diff --git a/benchmarks/Microsoft.AspNetCore.Routing.Performance/Matching/MatcherFindCandidateSetGithubBenchmark.cs b/benchmarks/Microsoft.AspNetCore.Routing.Performance/Matching/MatcherFindCandidateSetGithubBenchmark.cs index a8eb4b1e8f..bc6751f0ca 100644 --- a/benchmarks/Microsoft.AspNetCore.Routing.Performance/Matching/MatcherFindCandidateSetGithubBenchmark.cs +++ b/benchmarks/Microsoft.AspNetCore.Routing.Performance/Matching/MatcherFindCandidateSetGithubBenchmark.cs @@ -9,7 +9,7 @@ namespace Microsoft.AspNetCore.Routing.Matching { // Generated from https://github.com/APIs-guru/openapi-directory // Use https://editor2.swagger.io/ to convert from yaml to json- - public partial class MatcherFindCandidateSetGithubBenchmark : MatcherBenchmarkBase + public partial class MatcherFindCandidateSetGithubBenchmark : EndpointRoutingBenchmarkBase { // SegmentCount should be max-segments + 1, but we don't have a good way to compute // it here, so using 16 as a safe guess. diff --git a/benchmarks/Microsoft.AspNetCore.Routing.Performance/Matching/MatcherFindCandidateSetGithubBenchmark.generated.cs b/benchmarks/Microsoft.AspNetCore.Routing.Performance/Matching/MatcherFindCandidateSetGithubBenchmark.generated.cs index 8bc1316747..ee94d2c67f 100644 --- a/benchmarks/Microsoft.AspNetCore.Routing.Performance/Matching/MatcherFindCandidateSetGithubBenchmark.generated.cs +++ b/benchmarks/Microsoft.AspNetCore.Routing.Performance/Matching/MatcherFindCandidateSetGithubBenchmark.generated.cs @@ -7,7 +7,7 @@ using Microsoft.AspNetCore.Http; namespace Microsoft.AspNetCore.Routing.Matching { // This code was generated by the Swaggatherer - public partial class MatcherFindCandidateSetGithubBenchmark : MatcherBenchmarkBase + public partial class MatcherFindCandidateSetGithubBenchmark : EndpointRoutingBenchmarkBase { private const int EndpointCount = 155; diff --git a/benchmarks/Microsoft.AspNetCore.Routing.Performance/Matching/MatcherFindCandidateSetSingleEntryBenchmark.cs b/benchmarks/Microsoft.AspNetCore.Routing.Performance/Matching/MatcherFindCandidateSetSingleEntryBenchmark.cs index f47a3c2c99..cf08ed656b 100644 --- a/benchmarks/Microsoft.AspNetCore.Routing.Performance/Matching/MatcherFindCandidateSetSingleEntryBenchmark.cs +++ b/benchmarks/Microsoft.AspNetCore.Routing.Performance/Matching/MatcherFindCandidateSetSingleEntryBenchmark.cs @@ -7,7 +7,7 @@ using Microsoft.AspNetCore.Http; namespace Microsoft.AspNetCore.Routing.Matching { - public class MatcherFindCandidateSetSingleEntryBenchmark : MatcherBenchmarkBase + public class MatcherFindCandidateSetSingleEntryBenchmark : EndpointRoutingBenchmarkBase { // SegmentCount should be max-segments + 1 private const int SegmentCount = 2; diff --git a/benchmarks/Microsoft.AspNetCore.Routing.Performance/Matching/MatcherFindCandidateSetSmallEntryCountBenchmark.cs b/benchmarks/Microsoft.AspNetCore.Routing.Performance/Matching/MatcherFindCandidateSetSmallEntryCountBenchmark.cs index 4a194725b9..4bcb08517b 100644 --- a/benchmarks/Microsoft.AspNetCore.Routing.Performance/Matching/MatcherFindCandidateSetSmallEntryCountBenchmark.cs +++ b/benchmarks/Microsoft.AspNetCore.Routing.Performance/Matching/MatcherFindCandidateSetSmallEntryCountBenchmark.cs @@ -7,7 +7,7 @@ using Microsoft.AspNetCore.Http; namespace Microsoft.AspNetCore.Routing.Matching { - public class MatcherFindCandidateSetSmallEntryCountBenchmark : MatcherBenchmarkBase + public class MatcherFindCandidateSetSmallEntryCountBenchmark : EndpointRoutingBenchmarkBase { // SegmentCount should be max-segments + 1 private const int SegmentCount = 6; diff --git a/benchmarks/Microsoft.AspNetCore.Routing.Performance/Matching/MatcherGithubBenchmark.cs b/benchmarks/Microsoft.AspNetCore.Routing.Performance/Matching/MatcherGithubBenchmark.cs index 5444f94a0b..723bcbd549 100644 --- a/benchmarks/Microsoft.AspNetCore.Routing.Performance/Matching/MatcherGithubBenchmark.cs +++ b/benchmarks/Microsoft.AspNetCore.Routing.Performance/Matching/MatcherGithubBenchmark.cs @@ -8,7 +8,7 @@ namespace Microsoft.AspNetCore.Routing.Matching { // Generated from https://github.com/APIs-guru/openapi-directory // Use https://editor2.swagger.io/ to convert from yaml to json- - public partial class MatcherGithubBenchmark : MatcherBenchmarkBase + public partial class MatcherGithubBenchmark : EndpointRoutingBenchmarkBase { private BarebonesMatcher _baseline; private Matcher _dfa; diff --git a/benchmarks/Microsoft.AspNetCore.Routing.Performance/Matching/MatcherGithubBenchmark.generated.cs b/benchmarks/Microsoft.AspNetCore.Routing.Performance/Matching/MatcherGithubBenchmark.generated.cs index 0f5ecbc165..b6bc1ba4ff 100644 --- a/benchmarks/Microsoft.AspNetCore.Routing.Performance/Matching/MatcherGithubBenchmark.generated.cs +++ b/benchmarks/Microsoft.AspNetCore.Routing.Performance/Matching/MatcherGithubBenchmark.generated.cs @@ -7,7 +7,7 @@ using Microsoft.AspNetCore.Http; namespace Microsoft.AspNetCore.Routing.Matching { // This code was generated by the Swaggatherer - public partial class MatcherGithubBenchmark : MatcherBenchmarkBase + public partial class MatcherGithubBenchmark : EndpointRoutingBenchmarkBase { private const int EndpointCount = 243; diff --git a/benchmarks/Microsoft.AspNetCore.Routing.Performance/Matching/MatcherSingleEntryBenchmark.cs b/benchmarks/Microsoft.AspNetCore.Routing.Performance/Matching/MatcherSingleEntryBenchmark.cs index a51c4af375..f38883658a 100644 --- a/benchmarks/Microsoft.AspNetCore.Routing.Performance/Matching/MatcherSingleEntryBenchmark.cs +++ b/benchmarks/Microsoft.AspNetCore.Routing.Performance/Matching/MatcherSingleEntryBenchmark.cs @@ -8,7 +8,7 @@ using Microsoft.AspNetCore.Http; namespace Microsoft.AspNetCore.Routing.Matching { // Just like TechEmpower Plaintext - public partial class MatcherSingleEntryBenchmark : MatcherBenchmarkBase + public partial class MatcherSingleEntryBenchmark : EndpointRoutingBenchmarkBase { private const int SampleCount = 100; diff --git a/benchmarks/Swaggatherer/Template.cs b/benchmarks/Swaggatherer/Template.cs index a48ecb7749..13704b22b1 100644 --- a/benchmarks/Swaggatherer/Template.cs +++ b/benchmarks/Swaggatherer/Template.cs @@ -10,51 +10,81 @@ namespace Swaggatherer { public static string Execute(IReadOnlyList entries) { + var controllerCount = 0; + var templatesVisited = new Dictionary( + StringComparer.OrdinalIgnoreCase); + var setupEndpointsLines = new List(); for (var i = 0; i < entries.Count; i++) - { + { var entry = entries[i]; - var httpMethodText = entry.Method == null ? string.Empty : $", \"{entry.Method.ToUpperInvariant()}\""; - setupEndpointsLines.Add($" _endpoints[{i}] = CreateEndpoint(\"{entry.Template.TemplateText}\"{httpMethodText});"); + + // In attribute routing, same template is used for all actions within that controller. The following + // simulates that where we only increment the controller count when a new endpoint for a new template + // is being created. + var template = entry.Template.TemplateText; + if (!templatesVisited.TryGetValue(template, out var visitedTemplateInfo)) + { + controllerCount++; + visitedTemplateInfo = (controllerCount, 0); + } + + // Increment the action count within a controller template + visitedTemplateInfo.ActionIndex++; + templatesVisited[template] = visitedTemplateInfo; + + var controllerName = $"Controller{visitedTemplateInfo.ControllerIndex}"; + var actionName = $"Action{visitedTemplateInfo.ActionIndex}"; + + var httpMethodText = entry.Method == null ? "httpMethod: null" : $"\"{entry.Method.ToUpperInvariant()}\""; + setupEndpointsLines.Add($" Endpoints[{i}] = CreateEndpoint(\"{template}\", \"{controllerName}\", \"{actionName}\", {httpMethodText});"); } var setupRequestsLines = new List(); for (var i = 0; i < entries.Count; i++) { - setupRequestsLines.Add($" _requests[{i}] = new DefaultHttpContext();"); - setupRequestsLines.Add($" _requests[{i}].RequestServices = CreateServices();"); - setupRequestsLines.Add($" _requests[{i}].Request.Method = \"{entries[i].Method.ToUpperInvariant()}\";"); - setupRequestsLines.Add($" _requests[{i}].Request.Path = \"{entries[i].RequestUrl}\";"); + var entry = entries[i]; + setupRequestsLines.Add($" Requests[{i}] = new DefaultHttpContext();"); + setupRequestsLines.Add($" Requests[{i}].RequestServices = CreateServices();"); + + if (entry.Method != null) + { + setupRequestsLines.Add($" Requests[{i}].Request.Method = \"{entries[i].Method.ToUpperInvariant()}\";"); + } + + setupRequestsLines.Add($" Requests[{i}].Request.Path = \"{entries[i].RequestUrl}\";"); } var setupMatcherLines = new List(); for (var i = 0; i < entries.Count; i++) { - setupMatcherLines.Add($" builder.AddEndpoint(_endpoints[{i}]);"); + setupMatcherLines.Add($" builder.AddEndpoint(Endpoints[{i}]);"); } return string.Format(@" // Copyright (c) .NET Foundation. All rights reserved. // Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information. +using System.Collections.Generic; using Microsoft.AspNetCore.Http; +using Microsoft.AspNetCore.Routing.Matching; -namespace Microsoft.AspNetCore.Routing.Matching +namespace Microsoft.AspNetCore.Routing {{ // This code was generated by the Swaggatherer - public partial class GeneratedBenchmark : MatcherBenchmarkBase + public partial class GeneratedBenchmark : EndpointRoutingBenchmarkBase {{ private const int EndpointCount = {3}; private void SetupEndpoints() {{ - _endpoints = new MatcherEndpoint[{3}]; + Endpoints = new MatcherEndpoint[{3}]; {0} }} private void SetupRequests() {{ - _requests = new HttpContext[{3}]; + Requests = new HttpContext[{3}]; {1} }} @@ -63,8 +93,39 @@ namespace Microsoft.AspNetCore.Routing.Matching {2} return builder.Build(); }} + + private MatcherEndpoint CreateEndpoint(string template, string controllerName, string actionName, string httpMethod) + {{ + var requiredValues = new + {{ + area = (string)null, + controller = controllerName, + action = actionName, + page = (string)null + }}; + var defaults = new + {{ + area = (string)null, + controller = controllerName, + action = actionName, + page = (string)null + }}; + + var metadata = new List(); + if (httpMethod != null) + {{ + metadata.Add(new HttpMethodMetadata(new string[] {{ httpMethod }})); + }} + + return CreateEndpoint( + template, + defaults: defaults, + requiredValues: requiredValues, + metadata: metadata, + routeName: controllerName); + }} }} -}}", +}}", string.Join(Environment.NewLine, setupEndpointsLines), string.Join(Environment.NewLine, setupRequestsLines), string.Join(Environment.NewLine, setupMatcherLines), From 4a064b2267e4a87dfa362b2a5de1c89bbef9d99f Mon Sep 17 00:00:00 2001 From: "ASP.NET CI" Date: Tue, 21 Aug 2018 13:33:52 -0700 Subject: [PATCH 134/221] Update package branding for 2.2.0-preview2 --- build/dependencies.props | 2 +- version.props | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/build/dependencies.props b/build/dependencies.props index bb0f911ee5..ab9fefc92d 100644 --- a/build/dependencies.props +++ b/build/dependencies.props @@ -42,6 +42,6 @@ 2.3.1 2.4.0 - + diff --git a/version.props b/version.props index 44985cedb3..15637ba785 100644 --- a/version.props +++ b/version.props @@ -1,7 +1,7 @@ 2.2.0 - preview1 + preview2 $(VersionPrefix) $(VersionPrefix)-$(VersionSuffix)-final t000 From 967afc3b0ff2c5ee9ecd64b1e4d46c5397246c1a Mon Sep 17 00:00:00 2001 From: James Newton-King Date: Wed, 22 Aug 2018 10:01:52 +1200 Subject: [PATCH 135/221] Optimize RoutePattern allocations (#706) --- .../Patterns/RoutePattern.cs | 8 ++--- .../Patterns/RoutePatternFactory.cs | 34 ++++++++++++++++--- .../Patterns/RoutePatternParser.cs | 2 +- .../Patterns/RoutePatternPathSegment.cs | 2 +- 4 files changed, 35 insertions(+), 11 deletions(-) diff --git a/src/Microsoft.AspNetCore.Routing/Patterns/RoutePattern.cs b/src/Microsoft.AspNetCore.Routing/Patterns/RoutePattern.cs index c6d80b0a06..80c2dfd801 100644 --- a/src/Microsoft.AspNetCore.Routing/Patterns/RoutePattern.cs +++ b/src/Microsoft.AspNetCore.Routing/Patterns/RoutePattern.cs @@ -21,10 +21,10 @@ namespace Microsoft.AspNetCore.Routing.Patterns internal RoutePattern( string rawText, - Dictionary defaults, - Dictionary> constraints, - RoutePatternParameterPart[] parameters, - RoutePatternPathSegment[] pathSegments) + IReadOnlyDictionary defaults, + IReadOnlyDictionary> constraints, + IReadOnlyList parameters, + IReadOnlyList pathSegments) { Debug.Assert(defaults != null); Debug.Assert(constraints != null); diff --git a/src/Microsoft.AspNetCore.Routing/Patterns/RoutePatternFactory.cs b/src/Microsoft.AspNetCore.Routing/Patterns/RoutePatternFactory.cs index 44dd675543..f34007481e 100644 --- a/src/Microsoft.AspNetCore.Routing/Patterns/RoutePatternFactory.cs +++ b/src/Microsoft.AspNetCore.Routing/Patterns/RoutePatternFactory.cs @@ -298,19 +298,35 @@ namespace Microsoft.AspNetCore.Routing.Patterns rawText, updatedDefaults, updatedConstraints.ToDictionary(kvp => kvp.Key, kvp => (IReadOnlyList)kvp.Value.ToArray()), - parameters.ToArray(), - updatedSegments.ToArray()); + parameters, + updatedSegments); RoutePatternPathSegment VisitSegment(RoutePatternPathSegment segment) { - var updatedParts = new RoutePatternPart[segment.Parts.Count]; + RoutePatternPart[] updatedParts = null; for (var i = 0; i < segment.Parts.Count; i++) { var part = segment.Parts[i]; - updatedParts[i] = VisitPart(part); + var updatedPart = VisitPart(part); + + if (part != updatedPart) + { + if (updatedParts == null) + { + updatedParts = segment.Parts.ToArray(); + } + + updatedParts[i] = updatedPart; + } } - return SegmentCore(updatedParts); + if (updatedParts == null) + { + // Segment has not changed + return segment; + } + + return new RoutePatternPathSegment(updatedParts); } RoutePatternPart VisitPart(RoutePatternPart part) @@ -357,6 +373,14 @@ namespace Microsoft.AspNetCore.Routing.Patterns parameterConstraints.AddRange(parameter.Constraints); } + if (Equals(parameter.Default, @default) + && parameter.Constraints.Count == 0 + && (parameterConstraints?.Count ?? 0) == 0) + { + // Part has not changed + return part; + } + return ParameterPartCore( parameter.Name, @default, diff --git a/src/Microsoft.AspNetCore.Routing/Patterns/RoutePatternParser.cs b/src/Microsoft.AspNetCore.Routing/Patterns/RoutePatternParser.cs index 0af65b286c..990d1854fc 100644 --- a/src/Microsoft.AspNetCore.Routing/Patterns/RoutePatternParser.cs +++ b/src/Microsoft.AspNetCore.Routing/Patterns/RoutePatternParser.cs @@ -138,7 +138,7 @@ namespace Microsoft.AspNetCore.Routing.Patterns if (IsSegmentValid(context, parts)) { - segments.Add(new RoutePatternPathSegment(parts.ToArray())); + segments.Add(new RoutePatternPathSegment(parts)); return true; } else diff --git a/src/Microsoft.AspNetCore.Routing/Patterns/RoutePatternPathSegment.cs b/src/Microsoft.AspNetCore.Routing/Patterns/RoutePatternPathSegment.cs index 1fd65f45d7..4e7b010518 100644 --- a/src/Microsoft.AspNetCore.Routing/Patterns/RoutePatternPathSegment.cs +++ b/src/Microsoft.AspNetCore.Routing/Patterns/RoutePatternPathSegment.cs @@ -20,7 +20,7 @@ namespace Microsoft.AspNetCore.Routing.Patterns [DebuggerDisplay("{DebuggerToString()}")] public sealed class RoutePatternPathSegment { - internal RoutePatternPathSegment(RoutePatternPart[] parts) + internal RoutePatternPathSegment(IReadOnlyList parts) { Parts = parts; } From 4f33362ab5bf3b87bb7566e7debad4320e22c766 Mon Sep 17 00:00:00 2001 From: James Newton-King Date: Wed, 22 Aug 2018 10:30:25 +1200 Subject: [PATCH 136/221] Minor RVD and EndpointMetadataCollection refactors (#708) --- .../EndpointMetadataCollection.cs | 14 +++++------- .../RouteValueDictionary.cs | 22 +++---------------- 2 files changed, 9 insertions(+), 27 deletions(-) diff --git a/src/Microsoft.AspNetCore.Routing.Abstractions/EndpointMetadataCollection.cs b/src/Microsoft.AspNetCore.Routing.Abstractions/EndpointMetadataCollection.cs index ee12d0b8e7..4ca653a8fa 100644 --- a/src/Microsoft.AspNetCore.Routing.Abstractions/EndpointMetadataCollection.cs +++ b/src/Microsoft.AspNetCore.Routing.Abstractions/EndpointMetadataCollection.cs @@ -112,8 +112,7 @@ namespace Microsoft.AspNetCore.Routing var items = new List(); for (var i = 0; i < _items.Length; i++) { - var item = _items[i] as T; - if (item != null) + if (_items[i] is T item) { items.Add(item); } @@ -150,19 +149,18 @@ namespace Microsoft.AspNetCore.Routing // Intentionally not readonly to prevent defensive struct copies private object[] _items; private int _index; - private object _current; internal Enumerator(EndpointMetadataCollection collection) { _items = collection._items; _index = 0; - _current = null; + Current = null; } /// /// Gets the element at the current position of the enumerator /// - public object Current => _current; + public object Current { get; private set; } /// /// Releases all resources used by the . @@ -182,11 +180,11 @@ namespace Microsoft.AspNetCore.Routing { if (_index < _items.Length) { - _current = _items[_index++]; + Current = _items[_index++]; return true; } - _current = null; + Current = null; return false; } @@ -196,7 +194,7 @@ namespace Microsoft.AspNetCore.Routing public void Reset() { _index = 0; - _current = null; + Current = null; } } } diff --git a/src/Microsoft.AspNetCore.Routing.Abstractions/RouteValueDictionary.cs b/src/Microsoft.AspNetCore.Routing.Abstractions/RouteValueDictionary.cs index 182147b9af..2d30f6f25f 100644 --- a/src/Microsoft.AspNetCore.Routing.Abstractions/RouteValueDictionary.cs +++ b/src/Microsoft.AspNetCore.Routing.Abstractions/RouteValueDictionary.cs @@ -222,13 +222,7 @@ namespace Microsoft.AspNetCore.Routing } } - IEnumerable IReadOnlyDictionary.Keys - { - get - { - return Keys; - } - } + IEnumerable IReadOnlyDictionary.Keys => Keys; /// public ICollection Values @@ -248,13 +242,7 @@ namespace Microsoft.AspNetCore.Routing } } - IEnumerable IReadOnlyDictionary.Values - { - get - { - return Values; - } - } + IEnumerable IReadOnlyDictionary.Values => Values; /// void ICollection>.Add(KeyValuePair item) @@ -565,7 +553,7 @@ namespace Microsoft.AspNetCore.Routing internal class PropertyStorage { - private static readonly PropertyCache _propertyCache = new PropertyCache(); + private static readonly ConcurrentDictionary _propertyCache = new ConcurrentDictionary(); public readonly object Value; public readonly PropertyHelper[] Properties; @@ -606,9 +594,5 @@ namespace Microsoft.AspNetCore.Routing } } } - - private class PropertyCache : ConcurrentDictionary - { - } } } From 08a0a7fadbd60bba625a8c244f2230eca49f5abd Mon Sep 17 00:00:00 2001 From: James Newton-King Date: Wed, 22 Aug 2018 15:24:34 +1200 Subject: [PATCH 137/221] Remove MatchProcessor, add IParameterPolicy (#734) --- .../EndpointRoutingBenchmarkBase.cs | 2 +- .../EndsWithStringMatchProcessor.cs | 61 ---- .../EndsWithStringRouteConstraint.cs | 33 ++ .../UseEndpointRoutingStartup.cs | 4 +- .../IParameterPolicy.cs | 12 + .../IRouteConstraint.cs | 2 +- .../DefaultLinkGenerator.cs | 13 +- ...ry.cs => DefaultParameterPolicyFactory.cs} | 69 ++-- .../RoutingServiceCollectionExtensions.cs | 2 +- .../Matching/Candidate.cs | 14 +- .../Matching/DfaMatcher.cs | 14 +- .../Matching/DfaMatcherBuilder.cs | 25 +- .../Matching/MatchProcessor.cs | 18 - .../Matching/MatchProcessorFactory.cs | 46 --- .../Matching/OptionalMatchProcessor.cs | 44 --- .../Matching/RouteConstraintMatchProcessor.cs | 61 ---- .../ParameterPolicyFactory.cs | 60 ++++ .../Patterns/RouteParameterParser.cs | 34 +- .../Patterns/RoutePattern.cs | 12 +- .../RoutePatternConstraintReference.cs | 51 --- .../Patterns/RoutePatternFactory.cs | 230 +++++++------ .../Patterns/RoutePatternParameterPart.cs | 16 +- .../RoutePatternParameterPolicyReference.cs | 41 +++ .../Properties/Resources.Designer.cs | 6 +- .../Resources.resx | 2 +- .../Template/InlineConstraint.cs | 2 +- .../Template/RoutePrecedence.cs | 4 +- .../Template/TemplatePart.cs | 4 +- .../CompositeEndpointDataSourceTest.cs | 2 +- .../DefaultLinkGeneratorTest.cs | 2 +- .../Matching/CandidateSetTest.cs | 2 +- .../DefaultMatchProcessorFactoryTest.cs | 320 ------------------ .../DefaultParameterPolicyFactoryTest.cs | 272 +++++++++++++++ .../Matching/DfaMatcherBuilderTest.cs | 47 ++- .../Matching/DfaMatcherTest.cs | 2 +- .../RouteConstraintMatchProcessorTest.cs | 62 ---- .../InlineRouteParameterParserTest.cs | 124 +++---- .../Patterns/RoutePatternFactoryTest.cs | 36 +- .../Patterns/RoutePatternParserTest.cs | 10 +- .../RouteValueBasedEndpointFinderTest.cs | 2 +- 40 files changed, 769 insertions(+), 994 deletions(-) delete mode 100644 samples/RoutingSample.Web/EndsWithStringMatchProcessor.cs create mode 100644 samples/RoutingSample.Web/EndsWithStringRouteConstraint.cs create mode 100644 src/Microsoft.AspNetCore.Routing.Abstractions/IParameterPolicy.cs rename src/Microsoft.AspNetCore.Routing/{Matching/DefaultMatchProcessorFactory.cs => DefaultParameterPolicyFactory.cs} (54%) delete mode 100644 src/Microsoft.AspNetCore.Routing/Matching/MatchProcessor.cs delete mode 100644 src/Microsoft.AspNetCore.Routing/Matching/MatchProcessorFactory.cs delete mode 100644 src/Microsoft.AspNetCore.Routing/Matching/OptionalMatchProcessor.cs delete mode 100644 src/Microsoft.AspNetCore.Routing/Matching/RouteConstraintMatchProcessor.cs create mode 100644 src/Microsoft.AspNetCore.Routing/ParameterPolicyFactory.cs delete mode 100644 src/Microsoft.AspNetCore.Routing/Patterns/RoutePatternConstraintReference.cs create mode 100644 src/Microsoft.AspNetCore.Routing/Patterns/RoutePatternParameterPolicyReference.cs delete mode 100644 test/Microsoft.AspNetCore.Routing.Tests/Matching/DefaultMatchProcessorFactoryTest.cs create mode 100644 test/Microsoft.AspNetCore.Routing.Tests/Matching/DefaultParameterPolicyFactoryTest.cs delete mode 100644 test/Microsoft.AspNetCore.Routing.Tests/Matching/RouteConstraintMatchProcessorTest.cs diff --git a/benchmarks/Microsoft.AspNetCore.Routing.Performance/EndpointRoutingBenchmarkBase.cs b/benchmarks/Microsoft.AspNetCore.Routing.Performance/EndpointRoutingBenchmarkBase.cs index 440c6b3860..57e79d7109 100644 --- a/benchmarks/Microsoft.AspNetCore.Routing.Performance/EndpointRoutingBenchmarkBase.cs +++ b/benchmarks/Microsoft.AspNetCore.Routing.Performance/EndpointRoutingBenchmarkBase.cs @@ -136,7 +136,7 @@ namespace Microsoft.AspNetCore.Routing new RouteTemplate(RoutePatternFactory.Parse( endpoint.RoutePattern.RawText, defaults: endpoint.RoutePattern.Defaults, - constraints: null)), + parameterPolicies: null)), requiredLinkValues: new RouteValueDictionary(requiredValues), routeName: null, order: 0); diff --git a/samples/RoutingSample.Web/EndsWithStringMatchProcessor.cs b/samples/RoutingSample.Web/EndsWithStringMatchProcessor.cs deleted file mode 100644 index f0201f79d9..0000000000 --- a/samples/RoutingSample.Web/EndsWithStringMatchProcessor.cs +++ /dev/null @@ -1,61 +0,0 @@ -// Copyright (c) .NET Foundation. All rights reserved. -// Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information. - -using System; -using System.Globalization; -using Microsoft.AspNetCore.Http; -using Microsoft.AspNetCore.Routing; -using Microsoft.AspNetCore.Routing.Matching; -using Microsoft.Extensions.Logging; - -namespace RoutingSample.Web -{ - internal class EndsWithStringMatchProcessor : MatchProcessor - { - private readonly ILogger _logger; - - public EndsWithStringMatchProcessor(ILogger logger) - { - _logger = logger; - } - - public string ParameterName { get; private set; } - - public string ConstraintArgument { get; private set; } - - public override void Initialize(string parameterName, string constraintArgument) - { - ParameterName = parameterName; - ConstraintArgument = constraintArgument; - } - - public override bool ProcessInbound(HttpContext httpContext, RouteValueDictionary values) - { - return Process(values); - } - - public override bool ProcessOutbound(HttpContext httpContext, RouteValueDictionary values) - { - return Process(values); - } - - private bool Process(RouteValueDictionary values) - { - if (!values.TryGetValue(ParameterName, out var value) || value == null) - { - return false; - } - - var valueString = Convert.ToString(value, CultureInfo.InvariantCulture); - var endsWith = valueString.EndsWith(ConstraintArgument, StringComparison.OrdinalIgnoreCase); - - if (!endsWith) - { - _logger.LogDebug( - $"Parameter '{ParameterName}' with value '{valueString}' does not end with '{ConstraintArgument}'."); - } - - return endsWith; - } - } -} diff --git a/samples/RoutingSample.Web/EndsWithStringRouteConstraint.cs b/samples/RoutingSample.Web/EndsWithStringRouteConstraint.cs new file mode 100644 index 0000000000..2d1ebecb64 --- /dev/null +++ b/samples/RoutingSample.Web/EndsWithStringRouteConstraint.cs @@ -0,0 +1,33 @@ +// Copyright (c) .NET Foundation. All rights reserved. +// Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information. + +using System; +using System.Globalization; +using Microsoft.AspNetCore.Http; +using Microsoft.AspNetCore.Routing; + +namespace RoutingSample.Web +{ + internal class EndsWithStringRouteConstraint : IRouteConstraint + { + private readonly string _endsWith; + + public EndsWithStringRouteConstraint(string endsWith) + { + _endsWith = endsWith; + } + + public bool Match(HttpContext httpContext, IRouter route, string routeKey, RouteValueDictionary values, RouteDirection routeDirection) + { + var value = values[routeKey]; + if (value == null) + { + return false; + } + + var valueString = Convert.ToString(value, CultureInfo.InvariantCulture); + var endsWith = valueString.EndsWith(_endsWith, StringComparison.OrdinalIgnoreCase); + return endsWith; + } + } +} diff --git a/samples/RoutingSample.Web/UseEndpointRoutingStartup.cs b/samples/RoutingSample.Web/UseEndpointRoutingStartup.cs index fb9fb36161..f3606d5a9f 100644 --- a/samples/RoutingSample.Web/UseEndpointRoutingStartup.cs +++ b/samples/RoutingSample.Web/UseEndpointRoutingStartup.cs @@ -23,11 +23,11 @@ namespace RoutingSample.Web public void ConfigureServices(IServiceCollection services) { - services.AddTransient(); + services.AddTransient(); services.AddRouting(options => { - options.ConstraintMap.Add("endsWith", typeof(EndsWithStringMatchProcessor)); + options.ConstraintMap.Add("endsWith", typeof(EndsWithStringRouteConstraint)); }); var endpointDataSource = new DefaultEndpointDataSource(new[] diff --git a/src/Microsoft.AspNetCore.Routing.Abstractions/IParameterPolicy.cs b/src/Microsoft.AspNetCore.Routing.Abstractions/IParameterPolicy.cs new file mode 100644 index 0000000000..75af7b2830 --- /dev/null +++ b/src/Microsoft.AspNetCore.Routing.Abstractions/IParameterPolicy.cs @@ -0,0 +1,12 @@ +// Copyright (c) .NET Foundation. All rights reserved. +// Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information. + +namespace Microsoft.AspNetCore.Routing +{ + /// + /// A marker interface for types that are associated with route parameters. + /// + public interface IParameterPolicy + { + } +} diff --git a/src/Microsoft.AspNetCore.Routing.Abstractions/IRouteConstraint.cs b/src/Microsoft.AspNetCore.Routing.Abstractions/IRouteConstraint.cs index 00eb916510..5b82823e89 100644 --- a/src/Microsoft.AspNetCore.Routing.Abstractions/IRouteConstraint.cs +++ b/src/Microsoft.AspNetCore.Routing.Abstractions/IRouteConstraint.cs @@ -9,7 +9,7 @@ namespace Microsoft.AspNetCore.Routing /// Defines the contract that a class must implement in order to check whether a URL parameter /// value is valid for a constraint. /// - public interface IRouteConstraint + public interface IRouteConstraint : IParameterPolicy { /// /// Determines whether the URL parameter contains a valid value for this constraint. diff --git a/src/Microsoft.AspNetCore.Routing/DefaultLinkGenerator.cs b/src/Microsoft.AspNetCore.Routing/DefaultLinkGenerator.cs index de52bf1a2b..fe38826aa7 100644 --- a/src/Microsoft.AspNetCore.Routing/DefaultLinkGenerator.cs +++ b/src/Microsoft.AspNetCore.Routing/DefaultLinkGenerator.cs @@ -19,20 +19,20 @@ namespace Microsoft.AspNetCore.Routing internal class DefaultLinkGenerator : LinkGenerator { private readonly static char[] UrlQueryDelimiters = new char[] { '?', '#' }; - private readonly MatchProcessorFactory _matchProcessorFactory; + private readonly ParameterPolicyFactory _parameterPolicyFactory; private readonly ObjectPool _uriBuildingContextPool; private readonly ILogger _logger; private readonly IServiceProvider _serviceProvider; private readonly RouteOptions _options; public DefaultLinkGenerator( - MatchProcessorFactory matchProcessorFactory, + ParameterPolicyFactory parameterPolicyFactory, ObjectPool uriBuildingContextPool, IOptions routeOptions, ILogger logger, IServiceProvider serviceProvider) { - _matchProcessorFactory = matchProcessorFactory; + _parameterPolicyFactory = parameterPolicyFactory; _uriBuildingContextPool = uriBuildingContextPool; _options = routeOptions.Value; _logger = logger; @@ -240,15 +240,16 @@ namespace Microsoft.AspNetCore.Routing throw new ArgumentNullException(nameof(routeValues)); } - foreach (var kvp in endpoint.RoutePattern.Constraints) + foreach (var kvp in endpoint.RoutePattern.ParameterPolicies) { var parameter = endpoint.RoutePattern.GetParameter(kvp.Key); // may be null, that's ok var constraintReferences = kvp.Value; for (var i = 0; i < constraintReferences.Count; i++) { var constraintReference = constraintReferences[i]; - var matchProcessor = _matchProcessorFactory.Create(parameter, constraintReference); - if (!matchProcessor.ProcessOutbound(httpContext, routeValues)) + var parameterPolicy = _parameterPolicyFactory.Create(parameter, constraintReference); + if (parameterPolicy is IRouteConstraint routeConstraint + && !routeConstraint.Match(httpContext, NullRouter.Instance, kvp.Key, routeValues, RouteDirection.UrlGeneration)) { return false; } diff --git a/src/Microsoft.AspNetCore.Routing/Matching/DefaultMatchProcessorFactory.cs b/src/Microsoft.AspNetCore.Routing/DefaultParameterPolicyFactory.cs similarity index 54% rename from src/Microsoft.AspNetCore.Routing/Matching/DefaultMatchProcessorFactory.cs rename to src/Microsoft.AspNetCore.Routing/DefaultParameterPolicyFactory.cs index 26e374a580..a85f3d826b 100644 --- a/src/Microsoft.AspNetCore.Routing/Matching/DefaultMatchProcessorFactory.cs +++ b/src/Microsoft.AspNetCore.Routing/DefaultParameterPolicyFactory.cs @@ -2,17 +2,19 @@ // Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information. using System; +using Microsoft.AspNetCore.Routing.Constraints; +using Microsoft.AspNetCore.Routing.Patterns; using Microsoft.Extensions.DependencyInjection; using Microsoft.Extensions.Options; -namespace Microsoft.AspNetCore.Routing.Matching +namespace Microsoft.AspNetCore.Routing { - internal class DefaultMatchProcessorFactory : MatchProcessorFactory + internal class DefaultParameterPolicyFactory : ParameterPolicyFactory { private readonly RouteOptions _options; private readonly IServiceProvider _serviceProvider; - public DefaultMatchProcessorFactory( + public DefaultParameterPolicyFactory( IOptions options, IServiceProvider serviceProvider) { @@ -20,31 +22,26 @@ namespace Microsoft.AspNetCore.Routing.Matching _serviceProvider = serviceProvider; } - public override MatchProcessor Create(string parameterName, IRouteConstraint value, bool optional) + public override IParameterPolicy Create(RoutePatternParameterPart parameter, IParameterPolicy parameterPolicy) { - if (value == null) + if (parameterPolicy == null) { - throw new ArgumentNullException(nameof(value)); + throw new ArgumentNullException(nameof(parameterPolicy)); } - return InitializeMatchProcessor(parameterName, optional, value, argument: null); - } - - public override MatchProcessor Create(string parameterName, MatchProcessor value, bool optional) - { - if (value == null) + if (parameterPolicy is IRouteConstraint routeConstraint) { - throw new ArgumentNullException(nameof(value)); + return InitializeRouteConstraint(parameter?.IsOptional ?? false, routeConstraint, argument: null); } - return InitializeMatchProcessor(parameterName, optional, value, argument: null); + return parameterPolicy; } - public override MatchProcessor Create(string parameterName, string value, bool optional) + public override IParameterPolicy Create(RoutePatternParameterPart parameter, string inlineText) { - if (value == null) + if (inlineText == null) { - throw new ArgumentNullException(nameof(value)); + throw new ArgumentNullException(nameof(inlineText)); } // Example: @@ -54,7 +51,7 @@ namespace Microsoft.AspNetCore.Routing.Matching // value: regex(\d+) // name: regex // argument: \d+ - (var name, var argument) = Parse(value); + (var name, var argument) = Parse(inlineText); if (!_options.ConstraintMap.TryGetValue(name, out var type)) { @@ -64,49 +61,37 @@ namespace Microsoft.AspNetCore.Routing.Matching nameof(RouteOptions.ConstraintMap))); } - if (typeof(MatchProcessor).IsAssignableFrom(type)) - { - var matchProcessor = (MatchProcessor)_serviceProvider.GetRequiredService(type); - return InitializeMatchProcessor(parameterName, optional, matchProcessor, argument); - } - if (typeof(IRouteConstraint).IsAssignableFrom(type)) { var constraint = DefaultInlineConstraintResolver.CreateConstraint(type, argument); - return InitializeMatchProcessor(parameterName, optional, constraint, argument); + return InitializeRouteConstraint(parameter?.IsOptional ?? false, constraint, argument); + } + + if (typeof(IParameterPolicy).IsAssignableFrom(type)) + { + var parameterPolicy = (IParameterPolicy)_serviceProvider.GetRequiredService(type); + return parameterPolicy; } var message = Resources.FormatRoutePattern_InvalidStringConstraintReference( type, name, typeof(IRouteConstraint), - typeof(MatchProcessor)); + typeof(IParameterPolicy)); throw new InvalidOperationException(message); } - private MatchProcessor InitializeMatchProcessor( - string parameterName, + private IParameterPolicy InitializeRouteConstraint( bool optional, - IRouteConstraint constraint, - string argument) - { - var matchProcessor = (MatchProcessor)new RouteConstraintMatchProcessor(parameterName, constraint); - return InitializeMatchProcessor(parameterName, optional, matchProcessor, argument); - } - - private MatchProcessor InitializeMatchProcessor( - string parameterName, - bool optional, - MatchProcessor matchProcessor, + IRouteConstraint routeConstraint, string argument) { if (optional) { - matchProcessor = new OptionalMatchProcessor(matchProcessor); + routeConstraint = new OptionalRouteConstraint(routeConstraint); } - matchProcessor.Initialize(parameterName, argument); - return matchProcessor; + return routeConstraint; } private (string name, string argument) Parse(string text) diff --git a/src/Microsoft.AspNetCore.Routing/DependencyInjection/RoutingServiceCollectionExtensions.cs b/src/Microsoft.AspNetCore.Routing/DependencyInjection/RoutingServiceCollectionExtensions.cs index 366f2d30fa..d2ab2f127b 100644 --- a/src/Microsoft.AspNetCore.Routing/DependencyInjection/RoutingServiceCollectionExtensions.cs +++ b/src/Microsoft.AspNetCore.Routing/DependencyInjection/RoutingServiceCollectionExtensions.cs @@ -62,7 +62,7 @@ namespace Microsoft.Extensions.DependencyInjection // // Default matcher implementation // - services.TryAddSingleton(); + services.TryAddSingleton(); services.TryAddSingleton(); services.TryAddTransient(); services.TryAddSingleton(); diff --git a/src/Microsoft.AspNetCore.Routing/Matching/Candidate.cs b/src/Microsoft.AspNetCore.Routing/Matching/Candidate.cs index 939ac369ca..27f9b138cf 100644 --- a/src/Microsoft.AspNetCore.Routing/Matching/Candidate.cs +++ b/src/Microsoft.AspNetCore.Routing/Matching/Candidate.cs @@ -32,7 +32,7 @@ namespace Microsoft.AspNetCore.Routing.Matching // RouteValueDictionary. public readonly (RoutePatternPathSegment pathSegment, int segmentIndex)[] ComplexSegments; - public readonly MatchProcessor[] MatchProcessors; + public readonly KeyValuePair[] Constraints; // Score is a sequential integer value that in determines the priority of an Endpoint. // Scores are computed within the context of candidate set, and are meaningless when @@ -56,7 +56,7 @@ namespace Microsoft.AspNetCore.Routing.Matching Captures = Array.Empty<(string parameterName, int segmentIndex, int slotIndex)>(); CatchAll = default; ComplexSegments = Array.Empty<(RoutePatternPathSegment pathSegment, int segmentIndex)>(); - MatchProcessors = Array.Empty(); + Constraints = Array.Empty>(); Score = 0; Flags = CandidateFlags.None; @@ -69,7 +69,7 @@ namespace Microsoft.AspNetCore.Routing.Matching (string parameterName, int segmentIndex, int slotIndex)[] captures, (string parameterName, int segmentIndex, int slotIndex) catchAll, (RoutePatternPathSegment pathSegment, int segmentIndex)[] complexSegments, - MatchProcessor[] matchProcessors) + KeyValuePair[] constraints) { Endpoint = endpoint; Score = score; @@ -77,7 +77,7 @@ namespace Microsoft.AspNetCore.Routing.Matching Captures = captures; CatchAll = catchAll; ComplexSegments = complexSegments; - MatchProcessors = matchProcessors; + Constraints = constraints; Flags = CandidateFlags.None; for (var i = 0; i < slots.Length; i++) @@ -103,9 +103,9 @@ namespace Microsoft.AspNetCore.Routing.Matching Flags |= CandidateFlags.HasComplexSegments; } - if (matchProcessors.Length > 0) + if (constraints.Length > 0) { - Flags |= CandidateFlags.HasMatchProcessors; + Flags |= CandidateFlags.HasConstraints; } } @@ -118,7 +118,7 @@ namespace Microsoft.AspNetCore.Routing.Matching HasCatchAll = 4, HasSlots = HasDefaults | HasCaptures | HasCatchAll, HasComplexSegments = 8, - HasMatchProcessors = 16, + HasConstraints = 16, } } } diff --git a/src/Microsoft.AspNetCore.Routing/Matching/DfaMatcher.cs b/src/Microsoft.AspNetCore.Routing/Matching/DfaMatcher.cs index 427f26b566..ce8d6b4c1e 100644 --- a/src/Microsoft.AspNetCore.Routing/Matching/DfaMatcher.cs +++ b/src/Microsoft.AspNetCore.Routing/Matching/DfaMatcher.cs @@ -123,9 +123,9 @@ namespace Microsoft.AspNetCore.Routing.Matching isMatch &= ProcessComplexSegments(candidate.ComplexSegments, path, segments, values); } - if ((flags & Candidate.CandidateFlags.HasMatchProcessors) != 0) + if ((flags & Candidate.CandidateFlags.HasConstraints) != 0) { - isMatch &= ProcessMatchProcessors(candidate.MatchProcessors, httpContext, values); + isMatch &= ProcessConstraints(candidate.Constraints, httpContext, values); } state.IsValidCandidate = isMatch; @@ -215,15 +215,15 @@ namespace Microsoft.AspNetCore.Routing.Matching return true; } - private bool ProcessMatchProcessors( - MatchProcessor[] matchProcessors, + private bool ProcessConstraints( + KeyValuePair[] constraints, HttpContext httpContext, RouteValueDictionary values) { - for (var i = 0; i < matchProcessors.Length; i++) + for (var i = 0; i < constraints.Length; i++) { - var matchProcessor = matchProcessors[i]; - if (!matchProcessor.ProcessInbound(httpContext, values)) + var constraint = constraints[i]; + if (!constraint.Value.Match(httpContext, NullRouter.Instance, constraint.Key, values, RouteDirection.IncomingRequest)) { return false; } diff --git a/src/Microsoft.AspNetCore.Routing/Matching/DfaMatcherBuilder.cs b/src/Microsoft.AspNetCore.Routing/Matching/DfaMatcherBuilder.cs index 778ecdbaa5..c58d2547ff 100644 --- a/src/Microsoft.AspNetCore.Routing/Matching/DfaMatcherBuilder.cs +++ b/src/Microsoft.AspNetCore.Routing/Matching/DfaMatcherBuilder.cs @@ -12,18 +12,18 @@ namespace Microsoft.AspNetCore.Routing.Matching { private readonly List _endpoints = new List(); - private readonly MatchProcessorFactory _matchProcessorFactory; + private readonly ParameterPolicyFactory _parameterPolicyFactory; private readonly EndpointSelector _selector; private readonly MatcherPolicy[] _policies; private readonly INodeBuilderPolicy[] _nodeBuilders; private readonly MatcherEndpointComparer _comparer; public DfaMatcherBuilder( - MatchProcessorFactory matchProcessorFactory, + ParameterPolicyFactory parameterPolicyFactory, EndpointSelector selector, IEnumerable policies) { - _matchProcessorFactory = matchProcessorFactory; + _parameterPolicyFactory = parameterPolicyFactory; _selector = selector; _policies = policies.OrderBy(p => p.Order).ToArray(); @@ -425,16 +425,19 @@ namespace Microsoft.AspNetCore.Routing.Matching complexSegments.Add((segment, i)); } - var matchProcessors = new List(); - foreach (var kvp in endpoint.RoutePattern.Constraints) + var constraints = new List>(); + foreach (var kvp in endpoint.RoutePattern.ParameterPolicies) { var parameter = endpoint.RoutePattern.GetParameter(kvp.Key); // may be null, that's ok - var constraintReferences = kvp.Value; - for (var i = 0; i < constraintReferences.Count; i++) + var parameterPolicyReferences = kvp.Value; + for (var i = 0; i < parameterPolicyReferences.Count; i++) { - var constraintReference = constraintReferences[i]; - var matchProcessor = _matchProcessorFactory.Create(parameter, constraintReference); - matchProcessors.Add(matchProcessor); + var reference = parameterPolicyReferences[i]; + var parameterPolicy = _parameterPolicyFactory.Create(parameter, reference); + if (parameterPolicy is IRouteConstraint routeConstraint) + { + constraints.Add(new KeyValuePair(kvp.Key, routeConstraint)); + } } } @@ -445,7 +448,7 @@ namespace Microsoft.AspNetCore.Routing.Matching captures.ToArray(), catchAll, complexSegments.ToArray(), - matchProcessors.ToArray()); + constraints.ToArray()); } private int[] GetGroupLengths(DfaNode node) diff --git a/src/Microsoft.AspNetCore.Routing/Matching/MatchProcessor.cs b/src/Microsoft.AspNetCore.Routing/Matching/MatchProcessor.cs deleted file mode 100644 index 847ea29793..0000000000 --- a/src/Microsoft.AspNetCore.Routing/Matching/MatchProcessor.cs +++ /dev/null @@ -1,18 +0,0 @@ -// Copyright (c) .NET Foundation. All rights reserved. -// Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information. - -using Microsoft.AspNetCore.Http; - -namespace Microsoft.AspNetCore.Routing.Matching -{ - public abstract class MatchProcessor - { - public virtual void Initialize(string parameterName, string constraintArgument) - { - } - - public abstract bool ProcessInbound(HttpContext httpContext, RouteValueDictionary values); - - public abstract bool ProcessOutbound(HttpContext httpContext, RouteValueDictionary values); - } -} diff --git a/src/Microsoft.AspNetCore.Routing/Matching/MatchProcessorFactory.cs b/src/Microsoft.AspNetCore.Routing/Matching/MatchProcessorFactory.cs deleted file mode 100644 index 5669d75f06..0000000000 --- a/src/Microsoft.AspNetCore.Routing/Matching/MatchProcessorFactory.cs +++ /dev/null @@ -1,46 +0,0 @@ -// Copyright (c) .NET Foundation. All rights reserved. -// Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information. - -using System; -using System.Diagnostics; -using Microsoft.AspNetCore.Routing.Patterns; - -namespace Microsoft.AspNetCore.Routing.Matching -{ - internal abstract class MatchProcessorFactory - { - public abstract MatchProcessor Create(string parameterName, string value, bool optional); - - public abstract MatchProcessor Create(string parameterName, IRouteConstraint value, bool optional); - - public abstract MatchProcessor Create(string parameterName, MatchProcessor value, bool optional); - - public MatchProcessor Create(RoutePatternParameterPart parameter, RoutePatternConstraintReference reference) - { - if (reference == null) - { - throw new ArgumentNullException(nameof(reference)); - } - - Debug.Assert(reference.MatchProcessor != null || reference.Constraint != null || reference.Content != null); - - if (reference.MatchProcessor != null) - { - return Create(parameter?.Name, reference.MatchProcessor, parameter?.IsOptional ?? false); - } - - if (reference.Constraint != null) - { - return Create(parameter?.Name, reference.Constraint, parameter?.IsOptional ?? false); - } - - if (reference.Content != null) - { - return Create(parameter?.Name, reference.Content, parameter?.IsOptional ?? false); - } - - // Unreachable - throw new NotSupportedException(); - } - } -} diff --git a/src/Microsoft.AspNetCore.Routing/Matching/OptionalMatchProcessor.cs b/src/Microsoft.AspNetCore.Routing/Matching/OptionalMatchProcessor.cs deleted file mode 100644 index c40df6ec8e..0000000000 --- a/src/Microsoft.AspNetCore.Routing/Matching/OptionalMatchProcessor.cs +++ /dev/null @@ -1,44 +0,0 @@ -// Copyright (c) .NET Foundation. All rights reserved. -// Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information. - -using Microsoft.AspNetCore.Http; - -namespace Microsoft.AspNetCore.Routing.Matching -{ - internal class OptionalMatchProcessor : MatchProcessor - { - private readonly MatchProcessor _innerMatchProcessor; - - public OptionalMatchProcessor(MatchProcessor innerMatchProcessor) - { - _innerMatchProcessor = innerMatchProcessor; - } - - public string ParameterName { get; private set; } - - public override void Initialize(string parameterName, string constraintArgument) - { - ParameterName = parameterName; - _innerMatchProcessor.Initialize(parameterName, constraintArgument); - } - - public override bool ProcessInbound(HttpContext httpContext, RouteValueDictionary values) - { - return Process(httpContext, values); - } - - public override bool ProcessOutbound(HttpContext httpContext, RouteValueDictionary values) - { - return Process(httpContext, values); - } - - private bool Process(HttpContext httpContext, RouteValueDictionary values) - { - if (values.TryGetValue(ParameterName, out var value)) - { - return _innerMatchProcessor.ProcessInbound(httpContext, values); - } - return true; - } - } -} diff --git a/src/Microsoft.AspNetCore.Routing/Matching/RouteConstraintMatchProcessor.cs b/src/Microsoft.AspNetCore.Routing/Matching/RouteConstraintMatchProcessor.cs deleted file mode 100644 index ad1ddaf7ae..0000000000 --- a/src/Microsoft.AspNetCore.Routing/Matching/RouteConstraintMatchProcessor.cs +++ /dev/null @@ -1,61 +0,0 @@ -// Copyright (c) .NET Foundation. All rights reserved. -// Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information. - -using System; -using Microsoft.AspNetCore.Http; - -namespace Microsoft.AspNetCore.Routing.Matching -{ - internal class RouteConstraintMatchProcessor : MatchProcessor - { - public RouteConstraintMatchProcessor(string parameterName, IRouteConstraint constraint) - { - ParameterName = parameterName; - Constraint = constraint; - } - - public string ParameterName { get; } - - public IRouteConstraint Constraint { get; } - - public override bool ProcessInbound(HttpContext httpContext, RouteValueDictionary values) - { - if (httpContext == null) - { - throw new ArgumentNullException(nameof(httpContext)); - } - - if (values == null) - { - throw new ArgumentNullException(nameof(values)); - } - - return Constraint.Match( - httpContext, - NullRouter.Instance, - ParameterName, - values, - RouteDirection.IncomingRequest); - } - - public override bool ProcessOutbound(HttpContext httpContext, RouteValueDictionary values) - { - if (httpContext == null) - { - throw new ArgumentNullException(nameof(httpContext)); - } - - if (values == null) - { - throw new ArgumentNullException(nameof(values)); - } - - return Constraint.Match( - httpContext, - NullRouter.Instance, - ParameterName, - values, - RouteDirection.UrlGeneration); - } - } -} diff --git a/src/Microsoft.AspNetCore.Routing/ParameterPolicyFactory.cs b/src/Microsoft.AspNetCore.Routing/ParameterPolicyFactory.cs new file mode 100644 index 0000000000..cd875fc907 --- /dev/null +++ b/src/Microsoft.AspNetCore.Routing/ParameterPolicyFactory.cs @@ -0,0 +1,60 @@ +// Copyright (c) .NET Foundation. All rights reserved. +// Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information. + +using System; +using System.Diagnostics; +using Microsoft.AspNetCore.Routing.Patterns; + +namespace Microsoft.AspNetCore.Routing +{ + /// + /// Defines an abstraction for resolving inline parameter policies as instances of . + /// + public abstract class ParameterPolicyFactory + { + /// + /// Creates a parameter policy. + /// + /// The parameter the parameter policy is being created for. + /// The inline text to resolve. + /// The for the parameter. + public abstract IParameterPolicy Create(RoutePatternParameterPart parameter, string inlineText); + + /// + /// Creates a parameter policy. + /// + /// The parameter the parameter policy is being created for. + /// An existing parameter policy. + /// The for the parameter. + public abstract IParameterPolicy Create(RoutePatternParameterPart parameter, IParameterPolicy parameterPolicy); + + /// + /// Creates a parameter policy. + /// + /// The parameter the parameter policy is being created for. + /// The reference to resolve. + /// The for the parameter. + public IParameterPolicy Create(RoutePatternParameterPart parameter, RoutePatternParameterPolicyReference reference) + { + if (reference == null) + { + throw new ArgumentNullException(nameof(reference)); + } + + Debug.Assert(reference.ParameterPolicy != null || reference.Content != null); + + if (reference.ParameterPolicy != null) + { + return Create(parameter, reference.ParameterPolicy); + } + + if (reference.Content != null) + { + return Create(parameter, reference.Content); + } + + // Unreachable + throw new NotSupportedException(); + } + } +} diff --git a/src/Microsoft.AspNetCore.Routing/Patterns/RouteParameterParser.cs b/src/Microsoft.AspNetCore.Routing/Patterns/RouteParameterParser.cs index 8c0132bc06..49860dcb0f 100644 --- a/src/Microsoft.AspNetCore.Routing/Patterns/RouteParameterParser.cs +++ b/src/Microsoft.AspNetCore.Routing/Patterns/RouteParameterParser.cs @@ -22,7 +22,7 @@ namespace Microsoft.AspNetCore.Routing.Patterns if (parameter.Length == 0) { - return new RoutePatternParameterPart(string.Empty, null, RoutePatternParameterKind.Standard, Array.Empty()); + return new RoutePatternParameterPart(string.Empty, null, RoutePatternParameterKind.Standard, Array.Empty()); } var startIndex = 0; @@ -91,17 +91,17 @@ namespace Microsoft.AspNetCore.Routing.Patterns parameterName, defaultValue, parameterKind, - parseResults.Constraints.ToArray(), + parseResults.ParameterPolicies.ToArray(), encodeSlashes); } - private static ConstraintParseResults ParseConstraints( + private static ParameterPolicyParseResults ParseConstraints( string text, string parameterName, int currentIndex, int endIndex) { - var constraints = new List(); + var constraints = new List(); var state = ParseState.Start; var startIndex = currentIndex; do @@ -134,7 +134,7 @@ namespace Microsoft.AspNetCore.Routing.Patterns case null: state = ParseState.End; var constraintText = text.Substring(startIndex, currentIndex - startIndex); - constraints.Add(RoutePatternFactory.Constraint(constraintText)); + constraints.Add(RoutePatternFactory.ParameterPolicy(constraintText)); break; case ')': // Only consume a ')' token if @@ -148,18 +148,18 @@ namespace Microsoft.AspNetCore.Routing.Patterns case null: state = ParseState.End; constraintText = text.Substring(startIndex, currentIndex - startIndex + 1); - constraints.Add(RoutePatternFactory.Constraint(constraintText)); + constraints.Add(RoutePatternFactory.ParameterPolicy(constraintText)); break; case ':': state = ParseState.Start; constraintText = text.Substring(startIndex, currentIndex - startIndex + 1); - constraints.Add(RoutePatternFactory.Constraint(constraintText)); + constraints.Add(RoutePatternFactory.ParameterPolicy(constraintText)); startIndex = currentIndex + 1; break; case '=': state = ParseState.End; constraintText = text.Substring(startIndex, currentIndex - startIndex + 1); - constraints.Add(RoutePatternFactory.Constraint(constraintText)); + constraints.Add(RoutePatternFactory.ParameterPolicy(constraintText)); break; } break; @@ -174,7 +174,7 @@ namespace Microsoft.AspNetCore.Routing.Patterns if (indexOfClosingParantheses == -1) { constraintText = text.Substring(startIndex, currentIndex - startIndex); - constraints.Add(RoutePatternFactory.Constraint(constraintText)); + constraints.Add(RoutePatternFactory.ParameterPolicy(constraintText)); if (currentChar == ':') { @@ -203,14 +203,14 @@ namespace Microsoft.AspNetCore.Routing.Patterns var constraintText = text.Substring(startIndex, currentIndex - startIndex); if (constraintText.Length > 0) { - constraints.Add(RoutePatternFactory.Constraint(constraintText)); + constraints.Add(RoutePatternFactory.ParameterPolicy(constraintText)); } break; case ':': constraintText = text.Substring(startIndex, currentIndex - startIndex); if (constraintText.Length > 0) { - constraints.Add(RoutePatternFactory.Constraint(constraintText)); + constraints.Add(RoutePatternFactory.ParameterPolicy(constraintText)); } startIndex = currentIndex + 1; break; @@ -222,7 +222,7 @@ namespace Microsoft.AspNetCore.Routing.Patterns constraintText = text.Substring(startIndex, currentIndex - startIndex); if (constraintText.Length > 0) { - constraints.Add(RoutePatternFactory.Constraint(constraintText)); + constraints.Add(RoutePatternFactory.ParameterPolicy(constraintText)); } currentIndex--; break; @@ -234,7 +234,7 @@ namespace Microsoft.AspNetCore.Routing.Patterns } while (state != ParseState.End); - return new ConstraintParseResults(currentIndex, constraints); + return new ParameterPolicyParseResults(currentIndex, constraints); } private enum ParseState @@ -245,16 +245,16 @@ namespace Microsoft.AspNetCore.Routing.Patterns End } - private readonly struct ConstraintParseResults + private readonly struct ParameterPolicyParseResults { public readonly int CurrentIndex; - public readonly IReadOnlyList Constraints; + public readonly IReadOnlyList ParameterPolicies; - public ConstraintParseResults(int currentIndex, IReadOnlyList constraints) + public ParameterPolicyParseResults(int currentIndex, IReadOnlyList parameterPolicies) { CurrentIndex = currentIndex; - Constraints = constraints; + ParameterPolicies = parameterPolicies; } } } diff --git a/src/Microsoft.AspNetCore.Routing/Patterns/RoutePattern.cs b/src/Microsoft.AspNetCore.Routing/Patterns/RoutePattern.cs index 80c2dfd801..1f1bf7ee0a 100644 --- a/src/Microsoft.AspNetCore.Routing/Patterns/RoutePattern.cs +++ b/src/Microsoft.AspNetCore.Routing/Patterns/RoutePattern.cs @@ -22,18 +22,18 @@ namespace Microsoft.AspNetCore.Routing.Patterns internal RoutePattern( string rawText, IReadOnlyDictionary defaults, - IReadOnlyDictionary> constraints, + IReadOnlyDictionary> parameterPolicies, IReadOnlyList parameters, IReadOnlyList pathSegments) { Debug.Assert(defaults != null); - Debug.Assert(constraints != null); + Debug.Assert(parameterPolicies != null); Debug.Assert(parameters != null); Debug.Assert(pathSegments != null); RawText = rawText; Defaults = defaults; - Constraints = constraints; + ParameterPolicies = parameterPolicies; Parameters = parameters; PathSegments = pathSegments; @@ -48,10 +48,10 @@ namespace Microsoft.AspNetCore.Routing.Patterns public IReadOnlyDictionary Defaults { get; } /// - /// Gets the set of constraint references for the route pattern. - /// The keys of are the route parameter names. + /// Gets the set of parameter policy references for the route pattern. + /// The keys of are the route parameter names. /// - public IReadOnlyDictionary> Constraints { get; } + public IReadOnlyDictionary> ParameterPolicies { get; } /// /// Gets the precedence value of the route pattern for URL matching. diff --git a/src/Microsoft.AspNetCore.Routing/Patterns/RoutePatternConstraintReference.cs b/src/Microsoft.AspNetCore.Routing/Patterns/RoutePatternConstraintReference.cs deleted file mode 100644 index 3e832ead65..0000000000 --- a/src/Microsoft.AspNetCore.Routing/Patterns/RoutePatternConstraintReference.cs +++ /dev/null @@ -1,51 +0,0 @@ -// Copyright (c) .NET Foundation. All rights reserved. -// Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information. - -using System.Diagnostics; -using Microsoft.AspNetCore.Routing.Matching; - -namespace Microsoft.AspNetCore.Routing.Patterns -{ - /// - /// The parsed representation of a constraint in a parameter. Instances - /// of are immutable. - /// - [DebuggerDisplay("{DebuggerToString()}")] - public sealed class RoutePatternConstraintReference - { - internal RoutePatternConstraintReference(string content) - { - Content = content; - } - - internal RoutePatternConstraintReference(IRouteConstraint constraint) - { - Constraint = constraint; - } - - internal RoutePatternConstraintReference(MatchProcessor matchProcessor) - { - MatchProcessor = matchProcessor; - } - - /// - /// Gets the constraint text. - /// - public string Content { get; } - - /// - /// Gets a pre-existing that was used to construct this reference. - /// - public IRouteConstraint Constraint { get; } - - /// - /// Gets a pre-existing that was used to construct this reference. - /// - public MatchProcessor MatchProcessor { get; } - - private string DebuggerToString() - { - return Content; - } - } -} \ No newline at end of file diff --git a/src/Microsoft.AspNetCore.Routing/Patterns/RoutePatternFactory.cs b/src/Microsoft.AspNetCore.Routing/Patterns/RoutePatternFactory.cs index f34007481e..f3309cf1b6 100644 --- a/src/Microsoft.AspNetCore.Routing/Patterns/RoutePatternFactory.cs +++ b/src/Microsoft.AspNetCore.Routing/Patterns/RoutePatternFactory.cs @@ -33,7 +33,7 @@ namespace Microsoft.AspNetCore.Routing.Patterns /// /// Creates a from its string representation along - /// with provided default values and constraints. + /// with provided default values and parameter policies. /// /// The route pattern string to parse. /// @@ -41,13 +41,13 @@ namespace Microsoft.AspNetCore.Routing.Patterns /// The provided object will be converted to key-value pairs using /// and then merged into the parsed route pattern. /// - /// - /// Additional constraints to associated with the route pattern. May be null. + /// + /// Additional parameter policies to associated with the route pattern. May be null. /// The provided object will be converted to key-value pairs using /// and then merged into the parsed route pattern. /// /// The . - public static RoutePattern Parse(string pattern, object defaults, object constraints) + public static RoutePattern Parse(string pattern, object defaults, object parameterPolicies) { if (pattern == null) { @@ -55,7 +55,7 @@ namespace Microsoft.AspNetCore.Routing.Patterns } var original = RoutePatternParser.Parse(pattern); - return Pattern(original.RawText, defaults, constraints, original.PathSegments); + return Pattern(original.RawText, defaults, parameterPolicies, original.PathSegments); } /// @@ -91,15 +91,15 @@ namespace Microsoft.AspNetCore.Routing.Patterns /// /// Creates a from a collection of segments along - /// with provided default values and constraints. + /// with provided default values and parameter policies. /// /// /// Additional default values to associated with the route pattern. May be null. /// The provided object will be converted to key-value pairs using /// and then merged into the route pattern. /// - /// - /// Additional constraints to associated with the route pattern. May be null. + /// + /// Additional parameter policies to associated with the route pattern. May be null. /// The provided object will be converted to key-value pairs using /// and then merged into the route pattern. /// @@ -107,7 +107,7 @@ namespace Microsoft.AspNetCore.Routing.Patterns /// The . public static RoutePattern Pattern( object defaults, - object constraints, + object parameterPolicies, IEnumerable segments) { if (segments == null) @@ -115,12 +115,12 @@ namespace Microsoft.AspNetCore.Routing.Patterns throw new ArgumentNullException(nameof(segments)); } - return PatternCore(null, new RouteValueDictionary(defaults), new RouteValueDictionary(constraints), segments); + return PatternCore(null, new RouteValueDictionary(defaults), new RouteValueDictionary(parameterPolicies), segments); } /// /// Creates a from a collection of segments along - /// with provided default values and constraints. + /// with provided default values and parameter policies. /// /// The raw text to associate with the route pattern. /// @@ -128,8 +128,8 @@ namespace Microsoft.AspNetCore.Routing.Patterns /// The provided object will be converted to key-value pairs using /// and then merged into the route pattern. /// - /// - /// Additional constraints to associated with the route pattern. May be null. + /// + /// Additional parameter policies to associated with the route pattern. May be null. /// The provided object will be converted to key-value pairs using /// and then merged into the route pattern. /// @@ -138,7 +138,7 @@ namespace Microsoft.AspNetCore.Routing.Patterns public static RoutePattern Pattern( string rawText, object defaults, - object constraints, + object parameterPolicies, IEnumerable segments) { if (segments == null) @@ -146,7 +146,7 @@ namespace Microsoft.AspNetCore.Routing.Patterns throw new ArgumentNullException(nameof(segments)); } - return PatternCore(rawText, new RouteValueDictionary(defaults), new RouteValueDictionary(constraints), segments); + return PatternCore(rawText, new RouteValueDictionary(defaults), new RouteValueDictionary(parameterPolicies), segments); } /// @@ -182,15 +182,15 @@ namespace Microsoft.AspNetCore.Routing.Patterns /// /// Creates a from a collection of segments along - /// with provided default values and constraints. + /// with provided default values and parameter policies. /// /// /// Additional default values to associated with the route pattern. May be null. /// The provided object will be converted to key-value pairs using /// and then merged into the route pattern. /// - /// - /// Additional constraints to associated with the route pattern. May be null. + /// + /// Additional parameter policies to associated with the route pattern. May be null. /// The provided object will be converted to key-value pairs using /// and then merged into the route pattern. /// @@ -198,7 +198,7 @@ namespace Microsoft.AspNetCore.Routing.Patterns /// The . public static RoutePattern Pattern( object defaults, - object constraints, + object parameterPolicies, params RoutePatternPathSegment[] segments) { if (segments == null) @@ -206,12 +206,12 @@ namespace Microsoft.AspNetCore.Routing.Patterns throw new ArgumentNullException(nameof(segments)); } - return PatternCore(null, new RouteValueDictionary(defaults), new RouteValueDictionary(constraints), segments); + return PatternCore(null, new RouteValueDictionary(defaults), new RouteValueDictionary(parameterPolicies), segments); } /// /// Creates a from a collection of segments along - /// with provided default values and constraints. + /// with provided default values and parameter policies. /// /// The raw text to associate with the route pattern. /// @@ -219,8 +219,8 @@ namespace Microsoft.AspNetCore.Routing.Patterns /// The provided object will be converted to key-value pairs using /// and then merged into the route pattern. /// - /// - /// Additional constraints to associated with the route pattern. May be null. + /// + /// Additional parameter policies to associated with the route pattern. May be null. /// The provided object will be converted to key-value pairs using /// and then merged into the route pattern. /// @@ -229,7 +229,7 @@ namespace Microsoft.AspNetCore.Routing.Patterns public static RoutePattern Pattern( string rawText, object defaults, - object constraints, + object parameterPolicies, params RoutePatternPathSegment[] segments) { if (segments == null) @@ -237,21 +237,21 @@ namespace Microsoft.AspNetCore.Routing.Patterns throw new ArgumentNullException(nameof(segments)); } - return PatternCore(rawText, new RouteValueDictionary(defaults), new RouteValueDictionary(constraints), segments); + return PatternCore(rawText, new RouteValueDictionary(defaults), new RouteValueDictionary(parameterPolicies), segments); } private static RoutePattern PatternCore( string rawText, IDictionary defaults, - IDictionary constraints, + IDictionary parameterPolicies, IEnumerable segments) { - // We want to merge the segment data with the 'out of line' defaults and constraints. + // We want to merge the segment data with the 'out of line' defaults and parameter policies. // // This means that for parameters that have 'out of line' defaults we will modify - // the parameter to contain the default (same story for constraints). + // the parameter to contain the default (same story for parameter policies). // - // We also maintain a collection of defaults and constraints that will also + // We also maintain a collection of defaults and parameter policies that will also // contain the values that don't match a parameter. // // It's important that these two views of the data are consistent. We don't want @@ -266,14 +266,16 @@ namespace Microsoft.AspNetCore.Routing.Patterns } } - var updatedConstraints = new Dictionary>(StringComparer.OrdinalIgnoreCase); - if (constraints != null) + var updatedParameterPolicies = new Dictionary>(StringComparer.OrdinalIgnoreCase); + if (parameterPolicies != null) { - foreach (var kvp in constraints) + foreach (var kvp in parameterPolicies) { - updatedConstraints.Add(kvp.Key, new List() + updatedParameterPolicies.Add(kvp.Key, new List() { - Constraint(kvp.Value), + kvp.Value is IParameterPolicy parameterPolicy + ? ParameterPolicy(parameterPolicy) + : Constraint(kvp.Value), // Constraint will convert string values into regex constraints }); } } @@ -297,7 +299,7 @@ namespace Microsoft.AspNetCore.Routing.Patterns return new RoutePattern( rawText, updatedDefaults, - updatedConstraints.ToDictionary(kvp => kvp.Key, kvp => (IReadOnlyList)kvp.Value.ToArray()), + updatedParameterPolicies.ToDictionary(kvp => kvp.Key, kvp => (IReadOnlyList)kvp.Value.ToArray()), parameters, updatedSegments); @@ -361,20 +363,20 @@ namespace Microsoft.AspNetCore.Routing.Patterns updatedDefaults.Add(parameter.Name, parameter.Default); } - if (!updatedConstraints.TryGetValue(parameter.Name, out var parameterConstraints) && - parameter.Constraints.Count > 0) + if (!updatedParameterPolicies.TryGetValue(parameter.Name, out var parameterConstraints) && + parameter.ParameterPolicies.Count > 0) { - parameterConstraints = new List(); - updatedConstraints.Add(parameter.Name, parameterConstraints); + parameterConstraints = new List(); + updatedParameterPolicies.Add(parameter.Name, parameterConstraints); } - if (parameter.Constraints.Count > 0) + if (parameter.ParameterPolicies.Count > 0) { - parameterConstraints.AddRange(parameter.Constraints); + parameterConstraints.AddRange(parameter.ParameterPolicies); } if (Equals(parameter.Default, @default) - && parameter.Constraints.Count == 0 + && parameter.ParameterPolicies.Count == 0 && (parameterConstraints?.Count ?? 0) == 0) { // Part has not changed @@ -385,11 +387,10 @@ namespace Microsoft.AspNetCore.Routing.Patterns parameter.Name, @default, parameter.ParameterKind, - (IEnumerable)parameterConstraints ?? Array.Empty(), + (IEnumerable)parameterConstraints ?? Array.Empty(), parameter.EncodeSlashes); } } - /// /// Creates a from the provided collection /// of parts. @@ -495,7 +496,7 @@ namespace Microsoft.AspNetCore.Routing.Patterns parameterName: parameterName, @default: null, parameterKind: RoutePatternParameterKind.Standard, - constraints: Array.Empty()); + parameterPolicies: Array.Empty()); } /// @@ -521,7 +522,7 @@ namespace Microsoft.AspNetCore.Routing.Patterns parameterName: parameterName, @default: @default, parameterKind: RoutePatternParameterKind.Standard, - constraints: Array.Empty()); + parameterPolicies: Array.Empty()); } /// @@ -556,23 +557,23 @@ namespace Microsoft.AspNetCore.Routing.Patterns parameterName: parameterName, @default: @default, parameterKind: parameterKind, - constraints: Array.Empty()); + parameterPolicies: Array.Empty()); } /// /// Creates a from the provided parameter name - /// and default value, parameter kind, and constraints. + /// and default value, parameter kind, and parameter policies. /// /// The parameter name. /// The parameter default value. May be null. /// The parameter kind. - /// The constraints to associated with the parameter. + /// The parameter policies to associated with the parameter. /// The . public static RoutePatternParameterPart ParameterPart( string parameterName, object @default, RoutePatternParameterKind parameterKind, - IEnumerable constraints) + IEnumerable parameterPolicies) { if (string.IsNullOrEmpty(parameterName)) { @@ -589,32 +590,32 @@ namespace Microsoft.AspNetCore.Routing.Patterns throw new ArgumentNullException(Resources.TemplateRoute_OptionalCannotHaveDefaultValue, nameof(parameterKind)); } - if (constraints == null) + if (parameterPolicies == null) { - throw new ArgumentNullException(nameof(constraints)); + throw new ArgumentNullException(nameof(parameterPolicies)); } return ParameterPartCore( parameterName: parameterName, @default: @default, parameterKind: parameterKind, - constraints: constraints); + parameterPolicies: parameterPolicies); } /// /// Creates a from the provided parameter name - /// and default value, parameter kind, and constraints. + /// and default value, parameter kind, and parameter policies. /// /// The parameter name. /// The parameter default value. May be null. /// The parameter kind. - /// The constraints to associated with the parameter. + /// The parameter policies to associated with the parameter. /// The . public static RoutePatternParameterPart ParameterPart( string parameterName, object @default, RoutePatternParameterKind parameterKind, - params RoutePatternConstraintReference[] constraints) + params RoutePatternParameterPolicyReference[] parameterPolicies) { if (string.IsNullOrEmpty(parameterName)) { @@ -631,141 +632,146 @@ namespace Microsoft.AspNetCore.Routing.Patterns throw new ArgumentNullException(Resources.TemplateRoute_OptionalCannotHaveDefaultValue, nameof(parameterKind)); } - if (constraints == null) + if (parameterPolicies == null) { - throw new ArgumentNullException(nameof(constraints)); + throw new ArgumentNullException(nameof(parameterPolicies)); } return ParameterPartCore( parameterName: parameterName, @default: @default, parameterKind: parameterKind, - constraints: constraints); + parameterPolicies: parameterPolicies); } private static RoutePatternParameterPart ParameterPartCore( string parameterName, object @default, RoutePatternParameterKind parameterKind, - IEnumerable constraints) + IEnumerable parameterPolicies) { - return ParameterPartCore(parameterName, @default, parameterKind, constraints, encodeSlashes: true); + return ParameterPartCore(parameterName, @default, parameterKind, parameterPolicies, encodeSlashes: true); } private static RoutePatternParameterPart ParameterPartCore( string parameterName, object @default, RoutePatternParameterKind parameterKind, - IEnumerable constraints, + IEnumerable parameterPolicies, bool encodeSlashes) { return new RoutePatternParameterPart( parameterName, @default, parameterKind, - constraints.ToArray(), + parameterPolicies.ToArray(), encodeSlashes); } /// - /// Creates a from the provided object. + /// Creates a from the provided contraint. /// /// - /// The constraint object, which must be of type , - /// , or . If the constraint object - /// is a it will be tranformed into an instance of - /// . + /// The constraint object, which must be of type + /// or . If the constraint object is a + /// then it will be tranformed into an instance of . /// - /// The . - public static RoutePatternConstraintReference Constraint(object constraint) + /// The . + public static RoutePatternParameterPolicyReference Constraint(object constraint) { // Similar to RouteConstraintBuilder - if (constraint is IRouteConstraint routeConstraint) + if (constraint is IRouteConstraint policy) { - return ConstraintCore(routeConstraint); - } - else if (constraint is MatchProcessor matchProcessor) - { - return ConstraintCore(matchProcessor); + return ParameterPolicyCore(policy); } else if (constraint is string content) { - return ConstraintCore(new RegexRouteConstraint("^(" + content + ")$")); + return ParameterPolicyCore(new RegexRouteConstraint("^(" + content + ")$")); } else { throw new InvalidOperationException(Resources.FormatRoutePattern_InvalidConstraintReference( constraint ?? "null", - typeof(IRouteConstraint), - typeof(MatchProcessor))); + typeof(IRouteConstraint))); } } /// - /// Creates a from the provided object. + /// Creates a from the provided constraint. /// /// /// The constraint object. /// - /// The . - public static RoutePatternConstraintReference Constraint(IRouteConstraint constraint) + /// The . + public static RoutePatternParameterPolicyReference Constraint(IRouteConstraint constraint) { if (constraint == null) { throw new ArgumentNullException(nameof(constraint)); } - return ConstraintCore(constraint); + return ParameterPolicyCore(constraint); } /// - /// Creates a from the provided object. - /// - /// - /// The match processor object. - /// - /// The . - public static RoutePatternConstraintReference Constraint(MatchProcessor matchProcessor) - { - if (matchProcessor == null) - { - throw new ArgumentNullException(nameof(matchProcessor)); - } - - return ConstraintCore(matchProcessor); - } - - /// - /// Creates a from the provided object. + /// Creates a from the provided constraint. /// /// - /// The constraint text, which will be tranformed into an instance of - /// . + /// The constraint text, which will be resolved by . /// - /// The . - public static RoutePatternConstraintReference Constraint(string constraint) + /// The . + public static RoutePatternParameterPolicyReference Constraint(string constraint) { if (string.IsNullOrEmpty(constraint)) { throw new ArgumentException(Resources.Argument_NullOrEmpty, nameof(constraint)); } - return ConstraintCore(constraint); + return ParameterPolicyCore(constraint); } - private static RoutePatternConstraintReference ConstraintCore(string constraint) + /// + /// Creates a from the provided object. + /// + /// + /// The parameter policy object. + /// + /// The . + public static RoutePatternParameterPolicyReference ParameterPolicy(IParameterPolicy parameterPolicy) { - return new RoutePatternConstraintReference(constraint); + if (parameterPolicy == null) + { + throw new ArgumentNullException(nameof(parameterPolicy)); + } + + return ParameterPolicyCore(parameterPolicy); } - private static RoutePatternConstraintReference ConstraintCore(IRouteConstraint constraint) + /// + /// Creates a from the provided object. + /// + /// + /// The parameter policy text, which will be resolved by . + /// + /// The . + public static RoutePatternParameterPolicyReference ParameterPolicy(string parameterPolicy) { - return new RoutePatternConstraintReference(constraint); + if (string.IsNullOrEmpty(parameterPolicy)) + { + throw new ArgumentException(Resources.Argument_NullOrEmpty, nameof(parameterPolicy)); + } + + return ParameterPolicyCore(parameterPolicy); } - private static RoutePatternConstraintReference ConstraintCore(MatchProcessor matchProcessor) + private static RoutePatternParameterPolicyReference ParameterPolicyCore(string parameterPolicy) { - return new RoutePatternConstraintReference(matchProcessor); + return new RoutePatternParameterPolicyReference(parameterPolicy); + } + + private static RoutePatternParameterPolicyReference ParameterPolicyCore(IParameterPolicy parameterPolicy) + { + return new RoutePatternParameterPolicyReference(parameterPolicy); } } } diff --git a/src/Microsoft.AspNetCore.Routing/Patterns/RoutePatternParameterPart.cs b/src/Microsoft.AspNetCore.Routing/Patterns/RoutePatternParameterPart.cs index df060de9d9..dd6b275fa3 100644 --- a/src/Microsoft.AspNetCore.Routing/Patterns/RoutePatternParameterPart.cs +++ b/src/Microsoft.AspNetCore.Routing/Patterns/RoutePatternParameterPart.cs @@ -18,8 +18,8 @@ namespace Microsoft.AspNetCore.Routing.Patterns string parameterName, object @default, RoutePatternParameterKind parameterKind, - RoutePatternConstraintReference[] constraints) - : this(parameterName, @default, parameterKind, constraints, encodeSlashes: true) + RoutePatternParameterPolicyReference[] parameterPolicies) + : this(parameterName, @default, parameterKind, parameterPolicies, encodeSlashes: true) { } @@ -27,7 +27,7 @@ namespace Microsoft.AspNetCore.Routing.Patterns string parameterName, object @default, RoutePatternParameterKind parameterKind, - RoutePatternConstraintReference[] constraints, + RoutePatternParameterPolicyReference[] parameterPolicies, bool encodeSlashes) : base(RoutePatternPartKind.Parameter) { @@ -36,14 +36,14 @@ namespace Microsoft.AspNetCore.Routing.Patterns Name = parameterName; Default = @default; ParameterKind = parameterKind; - Constraints = constraints; + ParameterPolicies = parameterPolicies; EncodeSlashes = encodeSlashes; } /// - /// Gets the list of constraints associated with this parameter. + /// Gets the list of parameter policies associated with this parameter. /// - public IReadOnlyList Constraints { get; } + public IReadOnlyList ParameterPolicies { get; } /// /// Gets the value indicating if slashes in current parameter's value should be encoded. @@ -89,10 +89,10 @@ namespace Microsoft.AspNetCore.Routing.Patterns builder.Append(Name); - foreach (var constraint in Constraints) + foreach (var constraint in ParameterPolicies) { builder.Append(":"); - builder.Append(constraint.Constraint); + builder.Append(constraint.ParameterPolicy); } if (Default != null) diff --git a/src/Microsoft.AspNetCore.Routing/Patterns/RoutePatternParameterPolicyReference.cs b/src/Microsoft.AspNetCore.Routing/Patterns/RoutePatternParameterPolicyReference.cs new file mode 100644 index 0000000000..65f58087c1 --- /dev/null +++ b/src/Microsoft.AspNetCore.Routing/Patterns/RoutePatternParameterPolicyReference.cs @@ -0,0 +1,41 @@ +// Copyright (c) .NET Foundation. All rights reserved. +// Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information. + +using System.Diagnostics; +using Microsoft.AspNetCore.Routing.Matching; + +namespace Microsoft.AspNetCore.Routing.Patterns +{ + /// + /// The parsed representation of a policy in a parameter. Instances + /// of are immutable. + /// + [DebuggerDisplay("{DebuggerToString()}")] + public sealed class RoutePatternParameterPolicyReference + { + internal RoutePatternParameterPolicyReference(string content) + { + Content = content; + } + + internal RoutePatternParameterPolicyReference(IParameterPolicy parameterPolicy) + { + ParameterPolicy = parameterPolicy; + } + + /// + /// Gets the constraint text. + /// + public string Content { get; } + + /// + /// Gets a pre-existing that was used to construct this reference. + /// + public IParameterPolicy ParameterPolicy { get; } + + private string DebuggerToString() + { + return Content; + } + } +} \ No newline at end of file diff --git a/src/Microsoft.AspNetCore.Routing/Properties/Resources.Designer.cs b/src/Microsoft.AspNetCore.Routing/Properties/Resources.Designer.cs index 9623f5c460..47c12ae404 100644 --- a/src/Microsoft.AspNetCore.Routing/Properties/Resources.Designer.cs +++ b/src/Microsoft.AspNetCore.Routing/Properties/Resources.Designer.cs @@ -467,10 +467,10 @@ namespace Microsoft.AspNetCore.Routing } /// - /// Invalid constraint '{0}'. A constraint must be of type 'string', '{1}', or '{2}'. + /// Invalid constraint '{0}'. A constraint must be of type 'string' or '{1}'. /// - internal static string FormatRoutePattern_InvalidConstraintReference(object p0, object p1, object p2) - => string.Format(CultureInfo.CurrentCulture, GetString("RoutePattern_InvalidConstraintReference"), p0, p1, p2); + internal static string FormatRoutePattern_InvalidConstraintReference(object p0, object p1) + => string.Format(CultureInfo.CurrentCulture, GetString("RoutePattern_InvalidConstraintReference"), p0, p1); /// /// Invalid constraint '{0}' for parameter '{1}'. A constraint must be of type 'string', '{2}', or '{3}'. diff --git a/src/Microsoft.AspNetCore.Routing/Resources.resx b/src/Microsoft.AspNetCore.Routing/Resources.resx index b0a3772b2c..c192330770 100644 --- a/src/Microsoft.AspNetCore.Routing/Resources.resx +++ b/src/Microsoft.AspNetCore.Routing/Resources.resx @@ -214,7 +214,7 @@ The constraint entry '{0}' - '{1}' must have a string value or be of a type which implements '{2}'. - Invalid constraint '{0}'. A constraint must be of type 'string', '{1}', or '{2}'. + Invalid constraint '{0}'. A constraint must be of type 'string' or '{1}'. Invalid constraint '{0}' for parameter '{1}'. A constraint must be of type 'string', '{2}', or '{3}'. diff --git a/src/Microsoft.AspNetCore.Routing/Template/InlineConstraint.cs b/src/Microsoft.AspNetCore.Routing/Template/InlineConstraint.cs index 6b17cf88c5..4d58ce6181 100644 --- a/src/Microsoft.AspNetCore.Routing/Template/InlineConstraint.cs +++ b/src/Microsoft.AspNetCore.Routing/Template/InlineConstraint.cs @@ -25,7 +25,7 @@ namespace Microsoft.AspNetCore.Routing.Template Constraint = constraint; } - public InlineConstraint(RoutePatternConstraintReference other) + public InlineConstraint(RoutePatternParameterPolicyReference other) { if (other == null) { diff --git a/src/Microsoft.AspNetCore.Routing/Template/RoutePrecedence.cs b/src/Microsoft.AspNetCore.Routing/Template/RoutePrecedence.cs index 672ceacfdc..4d7ba66b35 100644 --- a/src/Microsoft.AspNetCore.Routing/Template/RoutePrecedence.cs +++ b/src/Microsoft.AspNetCore.Routing/Template/RoutePrecedence.cs @@ -149,7 +149,7 @@ namespace Microsoft.AspNetCore.Routing.Template Debug.Assert(parameterPart != null); var digit = parameterPart.IsCatchAll ? 1 : 3; - if (parameterPart.Constraints.Count > 0) + if (parameterPart.ParameterPolicies.Count > 0) { digit++; } @@ -220,7 +220,7 @@ namespace Microsoft.AspNetCore.Routing.Template // If there is a route constraint for the parameter, reduce order by 1 // Constrained parameters end up with order 2, Constrained catch alls end up with order 4 - if (parameterPart.Constraints.Count > 0) + if (parameterPart.ParameterPolicies.Count > 0) { digit--; } diff --git a/src/Microsoft.AspNetCore.Routing/Template/TemplatePart.cs b/src/Microsoft.AspNetCore.Routing/Template/TemplatePart.cs index f42cbfa011..5d84969a9c 100644 --- a/src/Microsoft.AspNetCore.Routing/Template/TemplatePart.cs +++ b/src/Microsoft.AspNetCore.Routing/Template/TemplatePart.cs @@ -32,7 +32,7 @@ namespace Microsoft.AspNetCore.Routing.Template IsCatchAll = parameter.IsCatchAll; IsOptional = parameter.IsOptional; DefaultValue = parameter.Default; - InlineConstraints = parameter.Constraints?.Select(p => new InlineConstraint(p)); + InlineConstraints = parameter.ParameterPolicies?.Select(p => new InlineConstraint(p)); } else if (other.IsSeparator && other is RoutePatternSeparatorPart separator) { @@ -118,7 +118,7 @@ namespace Microsoft.AspNetCore.Routing.Template RoutePatternParameterKind.Optional : RoutePatternParameterKind.Standard; - var constraints = InlineConstraints.Select(c => new RoutePatternConstraintReference(c.Constraint)); + var constraints = InlineConstraints.Select(c => new RoutePatternParameterPolicyReference(c.Constraint)); return RoutePatternFactory.ParameterPart(Name, DefaultValue, kind, constraints); } } diff --git a/test/Microsoft.AspNetCore.Routing.Tests/CompositeEndpointDataSourceTest.cs b/test/Microsoft.AspNetCore.Routing.Tests/CompositeEndpointDataSourceTest.cs index d04f0d96de..a01ee921de 100644 --- a/test/Microsoft.AspNetCore.Routing.Tests/CompositeEndpointDataSourceTest.cs +++ b/test/Microsoft.AspNetCore.Routing.Tests/CompositeEndpointDataSourceTest.cs @@ -154,7 +154,7 @@ namespace Microsoft.AspNetCore.Routing { return new MatcherEndpoint( MatcherEndpoint.EmptyInvoker, - RoutePatternFactory.Parse(template, defaults, constraints: null), + RoutePatternFactory.Parse(template, defaults, parameterPolicies: null), order, EndpointMetadataCollection.Empty, null); diff --git a/test/Microsoft.AspNetCore.Routing.Tests/DefaultLinkGeneratorTest.cs b/test/Microsoft.AspNetCore.Routing.Tests/DefaultLinkGeneratorTest.cs index 1fe785ca8f..33f1807d64 100644 --- a/test/Microsoft.AspNetCore.Routing.Tests/DefaultLinkGeneratorTest.cs +++ b/test/Microsoft.AspNetCore.Routing.Tests/DefaultLinkGeneratorTest.cs @@ -1554,7 +1554,7 @@ namespace Microsoft.AspNetCore.Routing var serviceProvider = services.BuildServiceProvider(); return new DefaultLinkGenerator( - new DefaultMatchProcessorFactory(options, serviceProvider), + new DefaultParameterPolicyFactory(options, serviceProvider), new DefaultObjectPool(new UriBuilderContextPooledObjectPolicy()), options, NullLogger.Instance, diff --git a/test/Microsoft.AspNetCore.Routing.Tests/Matching/CandidateSetTest.cs b/test/Microsoft.AspNetCore.Routing.Tests/Matching/CandidateSetTest.cs index ac78dcaf7b..1c5d751af5 100644 --- a/test/Microsoft.AspNetCore.Routing.Tests/Matching/CandidateSetTest.cs +++ b/test/Microsoft.AspNetCore.Routing.Tests/Matching/CandidateSetTest.cs @@ -94,7 +94,7 @@ namespace Microsoft.AspNetCore.Routing.Matching { var dataSource = new CompositeEndpointDataSource(Array.Empty()); return new DfaMatcherBuilder( - Mock.Of(), + Mock.Of(), Mock.Of(), policies); } diff --git a/test/Microsoft.AspNetCore.Routing.Tests/Matching/DefaultMatchProcessorFactoryTest.cs b/test/Microsoft.AspNetCore.Routing.Tests/Matching/DefaultMatchProcessorFactoryTest.cs deleted file mode 100644 index acfd78d29f..0000000000 --- a/test/Microsoft.AspNetCore.Routing.Tests/Matching/DefaultMatchProcessorFactoryTest.cs +++ /dev/null @@ -1,320 +0,0 @@ -// Copyright (c) .NET Foundation. All rights reserved. -// Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information. - -using System; -using System.Globalization; -using Microsoft.AspNetCore.Http; -using Microsoft.AspNetCore.Routing.Constraints; -using Microsoft.AspNetCore.Routing.Patterns; -using Microsoft.Extensions.DependencyInjection; -using Microsoft.Extensions.Options; -using Xunit; - -namespace Microsoft.AspNetCore.Routing.Matching -{ - public class DefaultMatchProcessorFactoryTest - { - [Fact] - public void Create_ThrowsException_IfNoConstraintOrMatchProcessor_FoundInMap() - { - // Arrange - var factory = GetMatchProcessorFactory(); - - // Act - var exception = Assert.Throws( - () => factory.Create("id", @"notpresent(\d+)", optional: false)); - - // Assert - Assert.Equal( - $"The constraint reference 'notpresent' could not be resolved to a type. " + - $"Register the constraint type with '{typeof(RouteOptions)}.{nameof(RouteOptions.ConstraintMap)}'.", - exception.Message); - } - - [Fact] - public void Create_ThrowsException_OnInvalidType() - { - // Arrange - var options = new RouteOptions(); - options.ConstraintMap.Add("bad", typeof(string)); - - var services = new ServiceCollection(); - services.AddTransient(); - - var factory = GetMatchProcessorFactory(options, services); - - // Act - var exception = Assert.Throws( - () => factory.Create("id", @"bad", optional: false)); - - // Assert - Assert.Equal( - $"Invalid constraint type '{typeof(string)}' registered as 'bad'. " + - $"A constraint type must either implement '{typeof(IRouteConstraint)}', or inherit from '{typeof(MatchProcessor)}'.", - exception.Message); - } - - [Fact] - public void Create_CreatesMatchProcessor_FromRoutePattern_String() - { - // Arrange - var factory = GetMatchProcessorFactory(); - - var parameter = RoutePatternFactory.ParameterPart( - "id", - @default: null, - parameterKind: RoutePatternParameterKind.Standard, - constraints: new[] { RoutePatternFactory.Constraint("int"), }); - - // Act - var matchProcessor = factory.Create(parameter, parameter.Constraints[0]); - - // Assert - Assert.IsType(Assert.IsType(matchProcessor).Constraint); - } - - [Fact] - public void Create_CreatesMatchProcessor_FromRoutePattern_String_Optional() - { - // Arrange - var factory = GetMatchProcessorFactory(); - - var parameter = RoutePatternFactory.ParameterPart( - "id", - @default: null, - parameterKind: RoutePatternParameterKind.Optional, - constraints: new[] { RoutePatternFactory.Constraint("int"), }); - - // Act - var matchProcessor = factory.Create(parameter, parameter.Constraints[0]); - - // Assert - Assert.IsType(matchProcessor); - } - - [Fact] - public void Create_CreatesMatchProcessor_FromRoutePattern_Constraint() - { - // Arrange - var factory = GetMatchProcessorFactory(); - - var parameter = RoutePatternFactory.ParameterPart( - "id", - @default: null, - parameterKind: RoutePatternParameterKind.Standard, - constraints: new[] { RoutePatternFactory.Constraint(new IntRouteConstraint()), }); - - // Act - var matchProcessor = factory.Create(parameter, parameter.Constraints[0]); - - // Assert - Assert.IsType(Assert.IsType(matchProcessor).Constraint); - } - - [Fact] - public void Create_CreatesMatchProcessor_FromRoutePattern_Constraint_Optional() - { - // Arrange - var factory = GetMatchProcessorFactory(); - - var parameter = RoutePatternFactory.ParameterPart( - "id", - @default: null, - parameterKind: RoutePatternParameterKind.Optional, - constraints: new[] { RoutePatternFactory.Constraint(new IntRouteConstraint()), }); - - // Act - var matchProcessor = factory.Create(parameter, parameter.Constraints[0]); - - // Assert - Assert.IsType(matchProcessor); - } - - [Fact] - public void Create_CreatesMatchProcessor_FromRoutePattern_MatchProcessor() - { - // Arrange - var factory = GetMatchProcessorFactory(); - - var parameter = RoutePatternFactory.ParameterPart( - "id", - @default: null, - parameterKind: RoutePatternParameterKind.Standard, - constraints: new[] { RoutePatternFactory.Constraint(new EndsWithStringMatchProcessor()), }); - - // Act - var matchProcessor = factory.Create(parameter, parameter.Constraints[0]); - - // Assert - Assert.IsType(matchProcessor); - } - - [Fact] - public void Create_CreatesMatchProcessor_FromRoutePattern_MatchProcessor_Optional() - { - // Arrange - var factory = GetMatchProcessorFactory(); - - var parameter = RoutePatternFactory.ParameterPart( - "id", - @default: null, - parameterKind: RoutePatternParameterKind.Optional, - constraints: new[] { RoutePatternFactory.Constraint(new EndsWithStringMatchProcessor()), }); - - // Act - var matchProcessor = factory.Create(parameter, parameter.Constraints[0]); - - // Assert - Assert.IsType(matchProcessor); - } - - [Fact] - public void Create_CreatesMatchProcessor_FromConstraintText_AndRouteConstraint() - { - // Arrange - var factory = GetMatchProcessorFactory(); - - // Act - var matchProcessor = factory.Create("id", "int", optional: false); - - // Assert - Assert.IsType(Assert.IsType(matchProcessor).Constraint); - } - - [Fact] - public void Create_CreatesMatchProcessor_FromConstraintText_AndRouteConstraint_Optional() - { - // Arrange - var factory = GetMatchProcessorFactory(); - - // Act - var matchProcessor = factory.Create("id", "int", optional: true); - - // Assert - Assert.IsType(matchProcessor); - } - - [Fact] - public void Create_CreatesMatchProcessor_FromConstraintText_AndMatchProcesor() - { - // Arrange - var options = new RouteOptions(); - options.ConstraintMap.Add("endsWith", typeof(EndsWithStringMatchProcessor)); - - var services = new ServiceCollection(); - services.AddTransient(); - - var factory = GetMatchProcessorFactory(options, services); - - // Act - var matchProcessor = factory.Create("id", "endsWith", optional: false); - - // Assert - Assert.IsType(matchProcessor); - } - - [Fact] - public void Create_CreatesMatchProcessor_FromConstraintText_AndMatchProcessor_Optional() - { - // Arrange - var options = new RouteOptions(); - options.ConstraintMap.Add("endsWith", typeof(EndsWithStringMatchProcessor)); - - var services = new ServiceCollection(); - services.AddTransient(); - - var factory = GetMatchProcessorFactory(options, services); - - // Act - var matchProcessor = factory.Create("id", "endsWith", optional: true); - - // Assert - Assert.IsType(matchProcessor); - } - - private DefaultMatchProcessorFactory GetMatchProcessorFactory( - RouteOptions options = null, - ServiceCollection services = null) - { - if (options == null) - { - options = new RouteOptions(); - } - - if (services == null) - { - services = new ServiceCollection(); - } - - return new DefaultMatchProcessorFactory( - Options.Create(options), - services.BuildServiceProvider()); - } - - private class TestRouteConstraint : IRouteConstraint - { - private TestRouteConstraint() { } - - public HttpContext HttpContext { get; private set; } - public IRouter Route { get; private set; } - public string RouteKey { get; private set; } - public RouteValueDictionary Values { get; private set; } - public RouteDirection RouteDirection { get; private set; } - - public static TestRouteConstraint Create() - { - return new TestRouteConstraint(); - } - - public bool Match( - HttpContext httpContext, - IRouter route, - string routeKey, - RouteValueDictionary values, - RouteDirection routeDirection) - { - HttpContext = httpContext; - Route = route; - RouteKey = routeKey; - Values = values; - RouteDirection = routeDirection; - return false; - } - } - - private class EndsWithStringMatchProcessor : MatchProcessor - { - public string ParameterName { get; private set; } - - public string ConstraintArgument { get; private set; } - - public override void Initialize(string parameterName, string constraintArgument) - { - ParameterName = parameterName; - ConstraintArgument = constraintArgument; - } - - public override bool ProcessInbound(HttpContext httpContext, RouteValueDictionary values) - { - return Process(values); - } - - public override bool ProcessOutbound(HttpContext httpContext, RouteValueDictionary values) - { - return Process(values); - } - - private bool Process(RouteValueDictionary values) - { - if (!values.TryGetValue(ParameterName, out var value) || value == null) - { - return false; - } - - var valueString = Convert.ToString(value, CultureInfo.InvariantCulture); - var endsWith = valueString.EndsWith(ConstraintArgument, StringComparison.OrdinalIgnoreCase); - return endsWith; - } - } - } -} diff --git a/test/Microsoft.AspNetCore.Routing.Tests/Matching/DefaultParameterPolicyFactoryTest.cs b/test/Microsoft.AspNetCore.Routing.Tests/Matching/DefaultParameterPolicyFactoryTest.cs new file mode 100644 index 0000000000..abfb7bde3a --- /dev/null +++ b/test/Microsoft.AspNetCore.Routing.Tests/Matching/DefaultParameterPolicyFactoryTest.cs @@ -0,0 +1,272 @@ +// Copyright (c) .NET Foundation. All rights reserved. +// Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information. + +using System; +using System.Globalization; +using Microsoft.AspNetCore.Http; +using Microsoft.AspNetCore.Routing.Constraints; +using Microsoft.AspNetCore.Routing.Patterns; +using Microsoft.Extensions.DependencyInjection; +using Microsoft.Extensions.Options; +using Xunit; + +namespace Microsoft.AspNetCore.Routing.Matching +{ + public class DefaultParameterPolicyFactoryTest + { + [Fact] + public void Create_ThrowsException_IfNoConstraintOrParameterPolicy_FoundInMap() + { + // Arrange + var factory = GetParameterPolicyFactory(); + + // Act + var exception = Assert.Throws( + () => factory.Create(RoutePatternFactory.ParameterPart("id", @default: null, RoutePatternParameterKind.Optional), @"notpresent(\d+)")); + + // Assert + Assert.Equal( + $"The constraint reference 'notpresent' could not be resolved to a type. " + + $"Register the constraint type with '{typeof(RouteOptions)}.{nameof(RouteOptions.ConstraintMap)}'.", + exception.Message); + } + + [Fact] + public void Create_ThrowsException_OnInvalidType() + { + // Arrange + var options = new RouteOptions(); + options.ConstraintMap.Add("bad", typeof(string)); + + var services = new ServiceCollection(); + + var factory = GetParameterPolicyFactory(options, services); + + // Act + var exception = Assert.Throws( + () => factory.Create(RoutePatternFactory.ParameterPart("id"), @"bad")); + + // Assert + Assert.Equal( + $"Invalid constraint type '{typeof(string)}' registered as 'bad'. " + + $"A constraint type must either implement '{typeof(IRouteConstraint)}', or inherit from '{typeof(IParameterPolicy)}'.", + exception.Message); + } + + [Fact] + public void Create_CreatesParameterPolicy_FromRoutePattern_String() + { + // Arrange + var factory = GetParameterPolicyFactory(); + + var parameter = RoutePatternFactory.ParameterPart( + "id", + @default: null, + parameterKind: RoutePatternParameterKind.Standard, + parameterPolicies: new[] { RoutePatternFactory.Constraint("int"), }); + + // Act + var parameterPolicy = factory.Create(parameter, parameter.ParameterPolicies[0]); + + // Assert + Assert.IsType(parameterPolicy); + } + + [Fact] + public void Create_CreatesParameterPolicy_FromRoutePattern_String_Optional() + { + // Arrange + var factory = GetParameterPolicyFactory(); + + var parameter = RoutePatternFactory.ParameterPart( + "id", + @default: null, + parameterKind: RoutePatternParameterKind.Optional, + parameterPolicies: new[] { RoutePatternFactory.Constraint("int"), }); + + // Act + var parameterPolicy = factory.Create(parameter, parameter.ParameterPolicies[0]); + + // Assert + var optionalConstraint = Assert.IsType(parameterPolicy); + Assert.IsType(optionalConstraint.InnerConstraint); + } + + [Fact] + public void Create_CreatesParameterPolicy_FromRoutePattern_Constraint() + { + // Arrange + var factory = GetParameterPolicyFactory(); + + var parameter = RoutePatternFactory.ParameterPart( + "id", + @default: null, + parameterKind: RoutePatternParameterKind.Standard, + parameterPolicies: new[] { RoutePatternFactory.ParameterPolicy(new IntRouteConstraint()), }); + + // Act + var parameterPolicy = factory.Create(parameter, parameter.ParameterPolicies[0]); + + // Assert + Assert.IsType(parameterPolicy); + } + + [Fact] + public void Create_CreatesParameterPolicy_FromRoutePattern_Constraint_Optional() + { + // Arrange + var factory = GetParameterPolicyFactory(); + + var parameter = RoutePatternFactory.ParameterPart( + "id", + @default: null, + parameterKind: RoutePatternParameterKind.Optional, + parameterPolicies: new[] { RoutePatternFactory.ParameterPolicy(new IntRouteConstraint()), }); + + // Act + var parameterPolicy = factory.Create(parameter, parameter.ParameterPolicies[0]); + + // Assert + var optionalConstraint = Assert.IsType(parameterPolicy); + Assert.IsType(optionalConstraint.InnerConstraint); + } + + [Fact] + public void Create_CreatesParameterPolicy_FromRoutePattern_ParameterPolicy() + { + // Arrange + var factory = GetParameterPolicyFactory(); + + var parameter = RoutePatternFactory.ParameterPart( + "id", + @default: null, + parameterKind: RoutePatternParameterKind.Standard, + parameterPolicies: new[] { RoutePatternFactory.ParameterPolicy(new CustomParameterPolicy()), }); + + // Act + var parameterPolicy = factory.Create(parameter, parameter.ParameterPolicies[0]); + + // Assert + Assert.IsType(parameterPolicy); + } + + private class CustomParameterPolicy : IParameterPolicy + { + } + + [Fact] + public void Create_CreatesParameterPolicy_FromConstraintText_AndRouteConstraint() + { + // Arrange + var factory = GetParameterPolicyFactory(); + + // Act + var parameterPolicy = factory.Create(RoutePatternFactory.ParameterPart("id"), "int"); + + // Assert + Assert.IsType(parameterPolicy); + } + + [Fact] + public void Create_CreatesParameterPolicy_FromConstraintText_AndRouteConstraint_Optional() + { + // Arrange + var factory = GetParameterPolicyFactory(); + + // Act + var parameterPolicy = factory.Create(RoutePatternFactory.ParameterPart("id", @default: null, RoutePatternParameterKind.Optional), "int"); + + // Assert + var optionalConstraint = Assert.IsType(parameterPolicy); + Assert.IsType(optionalConstraint.InnerConstraint); + } + + [Fact] + public void Create_CreatesParameterPolicy_FromConstraintText_AndParameterPolicy() + { + // Arrange + var options = new RouteOptions(); + options.ConstraintMap.Add("customParameterPolicy", typeof(CustomParameterPolicy)); + + var services = new ServiceCollection(); + services.AddTransient(); + + var factory = GetParameterPolicyFactory(options, services); + + // Act + var parameterPolicy = factory.Create(RoutePatternFactory.ParameterPart("id", @default: null, RoutePatternParameterKind.Optional), "customParameterPolicy"); + + // Assert + Assert.IsType(parameterPolicy); + } + + [Fact] + public void Create_CreatesParameterPolicy_FromConstraintText_AndParameterPolicy_Optional() + { + // Arrange + var options = new RouteOptions(); + options.ConstraintMap.Add("customParameterPolicy", typeof(CustomParameterPolicy)); + + var services = new ServiceCollection(); + services.AddTransient(); + + var factory = GetParameterPolicyFactory(options, services); + + // Act + var parameterPolicy = factory.Create(RoutePatternFactory.ParameterPart("id", @default: null, RoutePatternParameterKind.Optional), "customParameterPolicy"); + + // Assert + Assert.IsType(parameterPolicy); + } + + private DefaultParameterPolicyFactory GetParameterPolicyFactory( + RouteOptions options = null, + ServiceCollection services = null) + { + if (options == null) + { + options = new RouteOptions(); + } + + if (services == null) + { + services = new ServiceCollection(); + } + + return new DefaultParameterPolicyFactory( + Options.Create(options), + services.BuildServiceProvider()); + } + + private class TestRouteConstraint : IRouteConstraint + { + private TestRouteConstraint() { } + + public HttpContext HttpContext { get; private set; } + public IRouter Route { get; private set; } + public string RouteKey { get; private set; } + public RouteValueDictionary Values { get; private set; } + public RouteDirection RouteDirection { get; private set; } + + public static TestRouteConstraint Create() + { + return new TestRouteConstraint(); + } + + public bool Match( + HttpContext httpContext, + IRouter route, + string routeKey, + RouteValueDictionary values, + RouteDirection routeDirection) + { + HttpContext = httpContext; + Route = route; + RouteKey = routeKey; + Values = values; + RouteDirection = routeDirection; + return false; + } + } + } +} diff --git a/test/Microsoft.AspNetCore.Routing.Tests/Matching/DfaMatcherBuilderTest.cs b/test/Microsoft.AspNetCore.Routing.Tests/Matching/DfaMatcherBuilderTest.cs index a8735c02fa..f9581a067b 100644 --- a/test/Microsoft.AspNetCore.Routing.Tests/Matching/DfaMatcherBuilderTest.cs +++ b/test/Microsoft.AspNetCore.Routing.Tests/Matching/DfaMatcherBuilderTest.cs @@ -6,6 +6,7 @@ using System.Collections.Generic; using System.Linq; using Microsoft.AspNetCore.Routing.Constraints; using Microsoft.AspNetCore.Routing.Patterns; +using Microsoft.Extensions.Options; using Moq; using Xunit; @@ -641,7 +642,7 @@ namespace Microsoft.AspNetCore.Routing.Matching Assert.Empty(candidate.Captures); Assert.Equal(default, candidate.CatchAll); Assert.Empty(candidate.ComplexSegments); - Assert.Empty(candidate.MatchProcessors); + Assert.Empty(candidate.Constraints); } [Fact] @@ -665,7 +666,7 @@ namespace Microsoft.AspNetCore.Routing.Matching c => Assert.Equal(("c", 2, 2), c)); Assert.Equal(default, candidate.CatchAll); Assert.Empty(candidate.ComplexSegments); - Assert.Empty(candidate.MatchProcessors); + Assert.Empty(candidate.Constraints); } [Fact] @@ -695,7 +696,7 @@ namespace Microsoft.AspNetCore.Routing.Matching c => Assert.Equal(("c", 2, 2), c)); Assert.Equal(default, candidate.CatchAll); Assert.Empty(candidate.ComplexSegments); - Assert.Empty(candidate.MatchProcessors); + Assert.Empty(candidate.Constraints); } [Fact] @@ -726,7 +727,7 @@ namespace Microsoft.AspNetCore.Routing.Matching c => Assert.Equal(("b", 1, 2), c)); Assert.Equal(("c", 2, 0), candidate.CatchAll); Assert.Empty(candidate.ComplexSegments); - Assert.Empty(candidate.MatchProcessors); + Assert.Empty(candidate.Constraints); } // Defaults are processed first, which affects the slot ordering. @@ -758,7 +759,7 @@ namespace Microsoft.AspNetCore.Routing.Matching c => Assert.Equal(("c", 2, 2), c)); Assert.Equal(default, candidate.CatchAll); Assert.Empty(candidate.ComplexSegments); - Assert.Empty(candidate.MatchProcessors); + Assert.Empty(candidate.Constraints); } [Fact] @@ -789,11 +790,11 @@ namespace Microsoft.AspNetCore.Routing.Matching Assert.Collection( candidate.ComplexSegments, s => Assert.Equal(0, s.segmentIndex)); - Assert.Empty(candidate.MatchProcessors); + Assert.Empty(candidate.Constraints); } [Fact] - public void CreateCandidate_MatchProcessors() + public void CreateCandidate_RouteConstraints() { // Arrange var endpoint = CreateEndpoint("/a/b/c", constraints: new { a = new IntRouteConstraint(), }); @@ -804,14 +805,38 @@ namespace Microsoft.AspNetCore.Routing.Matching var candidate = builder.CreateCandidate(endpoint, score: 0); // Assert - Assert.Equal( Candidate.CandidateFlags.HasMatchProcessors, candidate.Flags); + Assert.Equal(Candidate.CandidateFlags.HasConstraints, candidate.Flags); Assert.Empty(candidate.Slots); Assert.Empty(candidate.Captures); Assert.Equal(default, candidate.CatchAll); Assert.Empty(candidate.ComplexSegments); - Assert.Single(candidate.MatchProcessors); + Assert.Single(candidate.Constraints); } - + + [Fact] + public void CreateCandidate_CustomParameterPolicy() + { + // Arrange + var endpoint = CreateEndpoint("/a/b/c", constraints: new { a = new CustomParameterPolicy(), }); + + var builder = CreateDfaMatcherBuilder(); + + // Act + var candidate = builder.CreateCandidate(endpoint, score: 0); + + // Assert + Assert.Equal(Candidate.CandidateFlags.None, candidate.Flags); + Assert.Empty(candidate.Slots); + Assert.Empty(candidate.Captures); + Assert.Equal(default, candidate.CatchAll); + Assert.Empty(candidate.ComplexSegments); + Assert.Empty(candidate.Constraints); + } + + private class CustomParameterPolicy : IParameterPolicy + { + } + [Fact] public void CreateCandidates_CreatesScoresCorrectly() { @@ -846,7 +871,7 @@ namespace Microsoft.AspNetCore.Routing.Matching { var dataSource = new CompositeEndpointDataSource(Array.Empty()); return new DfaMatcherBuilder( - Mock.Of(), + new DefaultParameterPolicyFactory(Options.Create(new RouteOptions()), Mock.Of()), Mock.Of(), policies); } diff --git a/test/Microsoft.AspNetCore.Routing.Tests/Matching/DfaMatcherTest.cs b/test/Microsoft.AspNetCore.Routing.Tests/Matching/DfaMatcherTest.cs index b77650deda..1fcd86f89c 100644 --- a/test/Microsoft.AspNetCore.Routing.Tests/Matching/DfaMatcherTest.cs +++ b/test/Microsoft.AspNetCore.Routing.Tests/Matching/DfaMatcherTest.cs @@ -19,7 +19,7 @@ namespace Microsoft.AspNetCore.Routing.Matching { return new MatcherEndpoint( MatcherEndpoint.EmptyInvoker, - RoutePatternFactory.Parse(template, defaults, constraints: null), + RoutePatternFactory.Parse(template, defaults, parameterPolicies: null), order, metadata ?? EndpointMetadataCollection.Empty, template); diff --git a/test/Microsoft.AspNetCore.Routing.Tests/Matching/RouteConstraintMatchProcessorTest.cs b/test/Microsoft.AspNetCore.Routing.Tests/Matching/RouteConstraintMatchProcessorTest.cs deleted file mode 100644 index 915b483234..0000000000 --- a/test/Microsoft.AspNetCore.Routing.Tests/Matching/RouteConstraintMatchProcessorTest.cs +++ /dev/null @@ -1,62 +0,0 @@ -// Copyright (c) .NET Foundation. All rights reserved. -// Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information. - -using Microsoft.AspNetCore.Http; -using Moq; -using Xunit; - -namespace Microsoft.AspNetCore.Routing.Matching -{ - public class RouteConstraintMatchProcessorTest - { - [Fact] - public void MatchInbound_CallsRouteConstraint() - { - // Arrange - var constraint = new Mock(); - constraint - .Setup(c => c.Match( - It.IsAny(), - NullRouter.Instance, - "test", - It.IsAny(), - RouteDirection.IncomingRequest)) - .Returns(true) - .Verifiable(); - - var matchProcessor = new RouteConstraintMatchProcessor("test", constraint.Object); - - // Act - var result = matchProcessor.ProcessInbound(new DefaultHttpContext(), new RouteValueDictionary()); - - // Assert - Assert.True(result); - constraint.Verify(); - } - - [Fact] - public void MatchOutput_CallsRouteConstraint() - { - // Arrange - var constraint = new Mock(); - constraint - .Setup(c => c.Match( - It.IsAny(), - NullRouter.Instance, - "test", - It.IsAny(), - RouteDirection.UrlGeneration)) - .Returns(true) - .Verifiable(); - - var matchProcessor = new RouteConstraintMatchProcessor("test", constraint.Object); - - // Act - var result = matchProcessor.ProcessOutbound(new DefaultHttpContext(), new RouteValueDictionary()); - - // Assert - Assert.True(result); - constraint.Verify(); - } - } -} diff --git a/test/Microsoft.AspNetCore.Routing.Tests/Patterns/InlineRouteParameterParserTest.cs b/test/Microsoft.AspNetCore.Routing.Tests/Patterns/InlineRouteParameterParserTest.cs index 0056b1c534..1a4b5dddb8 100644 --- a/test/Microsoft.AspNetCore.Routing.Tests/Patterns/InlineRouteParameterParserTest.cs +++ b/test/Microsoft.AspNetCore.Routing.Tests/Patterns/InlineRouteParameterParserTest.cs @@ -20,7 +20,7 @@ namespace Microsoft.AspNetCore.Routing.Patterns // Assert Assert.Equal(parameterName, templatePart.Name); Assert.Null(templatePart.Default); - Assert.Empty(templatePart.Constraints); + Assert.Empty(templatePart.ParameterPolicies); } [Fact] @@ -32,7 +32,7 @@ namespace Microsoft.AspNetCore.Routing.Patterns // Assert Assert.Equal("param", templatePart.Name); Assert.Equal("", templatePart.Default); - Assert.Empty(templatePart.Constraints); + Assert.Empty(templatePart.ParameterPolicies); } [Fact] @@ -44,7 +44,7 @@ namespace Microsoft.AspNetCore.Routing.Patterns // Assert Assert.Equal("param", templatePart.Name); Assert.Null(templatePart.Default); - Assert.Empty(templatePart.Constraints); + Assert.Empty(templatePart.ParameterPolicies); } [Fact] @@ -56,7 +56,7 @@ namespace Microsoft.AspNetCore.Routing.Patterns // Assert Assert.Equal("param", templatePart.Name); Assert.Equal("", templatePart.Default); - Assert.Empty(templatePart.Constraints); + Assert.Empty(templatePart.ParameterPolicies); } [Fact] @@ -68,7 +68,7 @@ namespace Microsoft.AspNetCore.Routing.Patterns // Assert Assert.Equal("param", templatePart.Name); Assert.Equal(":", templatePart.Default); - Assert.Empty(templatePart.Constraints); + Assert.Empty(templatePart.ParameterPolicies); } [Fact] @@ -81,7 +81,7 @@ namespace Microsoft.AspNetCore.Routing.Patterns Assert.Equal("param", templatePart.Name); Assert.Equal("111111", templatePart.Default); - var constraint = Assert.Single(templatePart.Constraints); + var constraint = Assert.Single(templatePart.ParameterPolicies); Assert.Equal("int", constraint.Content); } @@ -95,7 +95,7 @@ namespace Microsoft.AspNetCore.Routing.Patterns Assert.Equal("param", templatePart.Name); Assert.Equal("111111", templatePart.Default); - var constraint = Assert.Single(templatePart.Constraints); + var constraint = Assert.Single(templatePart.ParameterPolicies); Assert.Equal(@"test(\d+)", constraint.Content); } @@ -109,7 +109,7 @@ namespace Microsoft.AspNetCore.Routing.Patterns Assert.Equal("param", templatePart.Name); Assert.True(templatePart.IsOptional); - var constraint = Assert.Single(templatePart.Constraints); + var constraint = Assert.Single(templatePart.ParameterPolicies); Assert.Equal("int", constraint.Content); } @@ -124,7 +124,7 @@ namespace Microsoft.AspNetCore.Routing.Patterns Assert.Equal("12", templatePart.Default); Assert.True(templatePart.IsOptional); - var constraint = Assert.Single(templatePart.Constraints); + var constraint = Assert.Single(templatePart.ParameterPolicies); Assert.Equal("int", constraint.Content); } @@ -139,7 +139,7 @@ namespace Microsoft.AspNetCore.Routing.Patterns Assert.Equal("12?", templatePart.Default); Assert.True(templatePart.IsOptional); - var constraint = Assert.Single(templatePart.Constraints); + var constraint = Assert.Single(templatePart.ParameterPolicies); Assert.Equal("int", constraint.Content); } @@ -153,7 +153,7 @@ namespace Microsoft.AspNetCore.Routing.Patterns Assert.Equal("param", templatePart.Name); Assert.True(templatePart.IsOptional); - var constraint = Assert.Single(templatePart.Constraints); + var constraint = Assert.Single(templatePart.ParameterPolicies); Assert.Equal(@"test(\d+)", constraint.Content); } @@ -169,7 +169,7 @@ namespace Microsoft.AspNetCore.Routing.Patterns Assert.Equal("abc", templatePart.Default); - var constraint = Assert.Single(templatePart.Constraints); + var constraint = Assert.Single(templatePart.ParameterPolicies); Assert.Equal(@"test(\d+)", constraint.Content); } @@ -182,7 +182,7 @@ namespace Microsoft.AspNetCore.Routing.Patterns // Assert Assert.Equal("param", templatePart.Name); - Assert.Collection(templatePart.Constraints, + Assert.Collection(templatePart.ParameterPolicies, constraint => Assert.Equal(@"test(d+)", constraint.Content), constraint => Assert.Equal(@"test(w+)", constraint.Content)); } @@ -197,7 +197,7 @@ namespace Microsoft.AspNetCore.Routing.Patterns Assert.Equal("param", templatePart.Name); Assert.Collection( - templatePart.Constraints, + templatePart.ParameterPolicies, constraint => Assert.Equal(@"test(d+)", constraint.Content), constraint => Assert.Equal(@"test(w+)", constraint.Content)); } @@ -211,7 +211,7 @@ namespace Microsoft.AspNetCore.Routing.Patterns // Assert Assert.Equal("param", templatePart.Name); - Assert.Collection(templatePart.Constraints, + Assert.Collection(templatePart.ParameterPolicies, constraint => Assert.Equal(@"test(\d+)", constraint.Content), constraint => Assert.Equal(@"test(\w:+)", constraint.Content)); } @@ -227,7 +227,7 @@ namespace Microsoft.AspNetCore.Routing.Patterns Assert.Equal("qwer", templatePart.Default); - Assert.Collection(templatePart.Constraints, + Assert.Collection(templatePart.ParameterPolicies, constraint => Assert.Equal(@"test(\d+)", constraint.Content), constraint => Assert.Equal(@"test(\w+)", constraint.Content)); } @@ -244,7 +244,7 @@ namespace Microsoft.AspNetCore.Routing.Patterns Assert.Equal("=qwer", templatePart.Default); Assert.Collection( - templatePart.Constraints, + templatePart.ParameterPolicies, constraint => Assert.Equal(@"test(\d+)", constraint.Content), constraint => Assert.Equal(@"test(\w+)", constraint.Content)); } @@ -262,7 +262,7 @@ namespace Microsoft.AspNetCore.Routing.Patterns Assert.Equal("comparison-operator", templatePart.Name); Assert.Equal(defaultValue, templatePart.Default); - var constraint = Assert.Single(templatePart.Constraints); + var constraint = Assert.Single(templatePart.ParameterPolicies); Assert.Equal("length(6)", constraint.Content); } @@ -280,7 +280,7 @@ namespace Microsoft.AspNetCore.Routing.Patterns Assert.Equal("hello", param1.Default); Assert.False(param1.IsOptional); - Assert.Collection(param1.Constraints, + Assert.Collection(param1.ParameterPolicies, constraint => Assert.Equal("int", constraint.Content), constraint => Assert.Equal("test(3)", constraint.Content) ); @@ -325,7 +325,7 @@ namespace Microsoft.AspNetCore.Routing.Patterns // Assert Assert.Equal("param", templatePart.Name); - var constraint = Assert.Single(templatePart.Constraints); + var constraint = Assert.Single(templatePart.ParameterPolicies); Assert.Equal(@"test(\})", constraint.Content); } @@ -340,7 +340,7 @@ namespace Microsoft.AspNetCore.Routing.Patterns Assert.Equal("wer", templatePart.Default); - var constraint = Assert.Single(templatePart.Constraints); + var constraint = Assert.Single(templatePart.ParameterPolicies); Assert.Equal(@"test(\})", constraint.Content); } @@ -353,7 +353,7 @@ namespace Microsoft.AspNetCore.Routing.Patterns // Assert Assert.Equal("param", templatePart.Name); - var constraint = Assert.Single(templatePart.Constraints); + var constraint = Assert.Single(templatePart.ParameterPolicies); Assert.Equal(@"test(\))", constraint.Content); } @@ -368,7 +368,7 @@ namespace Microsoft.AspNetCore.Routing.Patterns Assert.Equal("fsd", templatePart.Default); - var constraint = Assert.Single(templatePart.Constraints); + var constraint = Assert.Single(templatePart.ParameterPolicies); Assert.Equal(@"test(\))", constraint.Content); } @@ -381,7 +381,7 @@ namespace Microsoft.AspNetCore.Routing.Patterns // Assert Assert.Equal("param", templatePart.Name); - var constraint = Assert.Single(templatePart.Constraints); + var constraint = Assert.Single(templatePart.ParameterPolicies); Assert.Equal(@"test(:)", constraint.Content); } @@ -396,7 +396,7 @@ namespace Microsoft.AspNetCore.Routing.Patterns Assert.Equal("mnf", templatePart.Default); - var constraint = Assert.Single(templatePart.Constraints); + var constraint = Assert.Single(templatePart.ParameterPolicies); Assert.Equal(@"test(:)", constraint.Content); } @@ -409,7 +409,7 @@ namespace Microsoft.AspNetCore.Routing.Patterns // Assert Assert.Equal("param", templatePart.Name); - var constraint = Assert.Single(templatePart.Constraints); + var constraint = Assert.Single(templatePart.ParameterPolicies); Assert.Equal(@"test(a:b:c)", constraint.Content); } @@ -424,7 +424,7 @@ namespace Microsoft.AspNetCore.Routing.Patterns Assert.Equal("12", templatePart.Default); - var constraint = Assert.Single(templatePart.Constraints); + var constraint = Assert.Single(templatePart.ParameterPolicies); Assert.Equal("test", constraint.Content); } @@ -440,7 +440,7 @@ namespace Microsoft.AspNetCore.Routing.Patterns Assert.Equal("12", templatePart.Default); Assert.Collection( - templatePart.Constraints, + templatePart.ParameterPolicies, constraint => Assert.Equal("test", constraint.Content)); } @@ -454,7 +454,7 @@ namespace Microsoft.AspNetCore.Routing.Patterns Assert.Equal(":param", templatePart.Name); Assert.Collection( - templatePart.Constraints, + templatePart.ParameterPolicies, constraint => Assert.Equal("test", constraint.Content)); } @@ -467,7 +467,7 @@ namespace Microsoft.AspNetCore.Routing.Patterns // Assert Assert.Equal("param", templatePart.Name); - var constraint = Assert.Single(templatePart.Constraints); + var constraint = Assert.Single(templatePart.ParameterPolicies); Assert.Equal(@"test(\w,\w)", constraint.Content); } @@ -480,7 +480,7 @@ namespace Microsoft.AspNetCore.Routing.Patterns // Assert Assert.Equal("par,am", templatePart.Name); - var constraint = Assert.Single(templatePart.Constraints); + var constraint = Assert.Single(templatePart.ParameterPolicies); Assert.Equal(@"test(\w)", constraint.Content); } @@ -495,7 +495,7 @@ namespace Microsoft.AspNetCore.Routing.Patterns Assert.Equal("jsd", templatePart.Default); - var constraint = Assert.Single(templatePart.Constraints); + var constraint = Assert.Single(templatePart.ParameterPolicies); Assert.Equal(@"test(\w,\w)", constraint.Content); } @@ -511,7 +511,7 @@ namespace Microsoft.AspNetCore.Routing.Patterns Assert.True(templatePart.IsOptional); - var constraint = Assert.Single(templatePart.Constraints); + var constraint = Assert.Single(templatePart.ParameterPolicies); Assert.Equal("int", constraint.Content); } @@ -525,7 +525,7 @@ namespace Microsoft.AspNetCore.Routing.Patterns Assert.Equal("param", templatePart.Name); Assert.Null(templatePart.Default); - var constraint = Assert.Single(templatePart.Constraints); + var constraint = Assert.Single(templatePart.ParameterPolicies); Assert.Equal("test(=)", constraint.Content); } @@ -550,7 +550,7 @@ namespace Microsoft.AspNetCore.Routing.Patterns Assert.Equal("param", templatePart.Name); Assert.Null(templatePart.Default); - var constraint = Assert.Single(templatePart.Constraints); + var constraint = Assert.Single(templatePart.ParameterPolicies); Assert.Equal("test(a==b)", constraint.Content); } @@ -564,7 +564,7 @@ namespace Microsoft.AspNetCore.Routing.Patterns Assert.Equal("param", templatePart.Name); Assert.Equal("dvds", templatePart.Default); - var constraint = Assert.Single(templatePart.Constraints); + var constraint = Assert.Single(templatePart.ParameterPolicies); Assert.Equal("test(a==b)", constraint.Content); } @@ -622,7 +622,7 @@ namespace Microsoft.AspNetCore.Routing.Patterns Assert.Equal("param", templatePart.Name); Assert.Equal("sds", templatePart.Default); - var constraint = Assert.Single(templatePart.Constraints); + var constraint = Assert.Single(templatePart.ParameterPolicies); Assert.Equal("test(=)", constraint.Content); } @@ -635,7 +635,7 @@ namespace Microsoft.AspNetCore.Routing.Patterns // Assert Assert.Equal("param", templatePart.Name); - var constraint = Assert.Single(templatePart.Constraints); + var constraint = Assert.Single(templatePart.ParameterPolicies); Assert.Equal(@"test(\{)", constraint.Content); } @@ -648,7 +648,7 @@ namespace Microsoft.AspNetCore.Routing.Patterns // Assert Assert.Equal("par{am", templatePart.Name); - var constraint = Assert.Single(templatePart.Constraints); + var constraint = Assert.Single(templatePart.ParameterPolicies); Assert.Equal(@"test(\sd)", constraint.Content); } @@ -663,7 +663,7 @@ namespace Microsoft.AspNetCore.Routing.Patterns Assert.Equal("xvc", templatePart.Default); - var constraint = Assert.Single(templatePart.Constraints); + var constraint = Assert.Single(templatePart.ParameterPolicies); Assert.Equal(@"test(\{)", constraint.Content); } @@ -676,7 +676,7 @@ namespace Microsoft.AspNetCore.Routing.Patterns // Assert Assert.Equal("par(am", templatePart.Name); - var constraint = Assert.Single(templatePart.Constraints); + var constraint = Assert.Single(templatePart.ParameterPolicies); Assert.Equal(@"test(\()", constraint.Content); } @@ -689,7 +689,7 @@ namespace Microsoft.AspNetCore.Routing.Patterns // Assert Assert.Equal("param", templatePart.Name); - var constraint = Assert.Single(templatePart.Constraints); + var constraint = Assert.Single(templatePart.ParameterPolicies); Assert.Equal(@"test(\()", constraint.Content); } @@ -702,7 +702,7 @@ namespace Microsoft.AspNetCore.Routing.Patterns // Assert Assert.Equal("param", templatePart.Name); - var constraint = Assert.Single(templatePart.Constraints); + var constraint = Assert.Single(templatePart.ParameterPolicies); Assert.Equal("test(#$%", constraint.Content); } @@ -715,7 +715,7 @@ namespace Microsoft.AspNetCore.Routing.Patterns // Assert Assert.Equal("param", templatePart.Name); - Assert.Collection(templatePart.Constraints, + Assert.Collection(templatePart.ParameterPolicies, constraint => Assert.Equal(@"test(#", constraint.Content), constraint => Assert.Equal(@"test1", constraint.Content)); } @@ -730,7 +730,7 @@ namespace Microsoft.AspNetCore.Routing.Patterns Assert.Equal("param", templatePart.Name); Assert.Equal("default-value", templatePart.Default); - Assert.Collection(templatePart.Constraints, + Assert.Collection(templatePart.ParameterPolicies, constraint => Assert.Equal(@"test(abc:somevalue)", constraint.Content), constraint => Assert.Equal(@"name(test1", constraint.Content), constraint => Assert.Equal(@"differentname", constraint.Content)); @@ -746,7 +746,7 @@ namespace Microsoft.AspNetCore.Routing.Patterns Assert.Equal("param", templatePart.Name); Assert.Equal("test1", templatePart.Default); - var constraint = Assert.Single(templatePart.Constraints); + var constraint = Assert.Single(templatePart.ParameterPolicies); Assert.Equal(@"test(constraintvalue", constraint.Content); } @@ -761,7 +761,7 @@ namespace Microsoft.AspNetCore.Routing.Patterns Assert.Equal("djk", templatePart.Default); - var constraint = Assert.Single(templatePart.Constraints); + var constraint = Assert.Single(templatePart.ParameterPolicies); Assert.Equal(@"test(\()", constraint.Content); } @@ -776,7 +776,7 @@ namespace Microsoft.AspNetCore.Routing.Patterns Assert.Null(templatePart.Default); Assert.False(templatePart.IsOptional); - var constraint = Assert.Single(templatePart.Constraints); + var constraint = Assert.Single(templatePart.ParameterPolicies); Assert.Equal(@"test(\?)", constraint.Content); } @@ -791,7 +791,7 @@ namespace Microsoft.AspNetCore.Routing.Patterns Assert.Null(templatePart.Default); Assert.True(templatePart.IsOptional); - var constraint = Assert.Single(templatePart.Constraints); + var constraint = Assert.Single(templatePart.ParameterPolicies); Assert.Equal(@"test(\?)", constraint.Content); } @@ -806,7 +806,7 @@ namespace Microsoft.AspNetCore.Routing.Patterns Assert.Equal("sdf", templatePart.Default); Assert.False(templatePart.IsOptional); - var constraint = Assert.Single(templatePart.Constraints); + var constraint = Assert.Single(templatePart.ParameterPolicies); Assert.Equal(@"test(\?)", constraint.Content); } @@ -821,7 +821,7 @@ namespace Microsoft.AspNetCore.Routing.Patterns Assert.Equal("sdf", templatePart.Default); Assert.True(templatePart.IsOptional); - var constraint = Assert.Single(templatePart.Constraints); + var constraint = Assert.Single(templatePart.ParameterPolicies); Assert.Equal(@"test(\?)", constraint.Content); } @@ -836,7 +836,7 @@ namespace Microsoft.AspNetCore.Routing.Patterns Assert.Null(templatePart.Default); Assert.False(templatePart.IsOptional); - var constraint = Assert.Single(templatePart.Constraints); + var constraint = Assert.Single(templatePart.ParameterPolicies); Assert.Equal(@"test(\?)", constraint.Content); } @@ -851,7 +851,7 @@ namespace Microsoft.AspNetCore.Routing.Patterns Assert.Null(templatePart.Default); Assert.False(templatePart.IsOptional); - Assert.Collection(templatePart.Constraints, + Assert.Collection(templatePart.ParameterPolicies, constraint => Assert.Equal(@"test(#)", constraint.Content), constraint => Assert.Equal(@"$)", constraint.Content)); } @@ -867,7 +867,7 @@ namespace Microsoft.AspNetCore.Routing.Patterns Assert.Null(templatePart.Default); Assert.False(templatePart.IsOptional); - var constraint = Assert.Single(templatePart.Constraints); + var constraint = Assert.Single(templatePart.ParameterPolicies); Assert.Equal(@"test(#:)$)", constraint.Content); } @@ -882,7 +882,7 @@ namespace Microsoft.AspNetCore.Routing.Patterns Assert.Null(templatePart.Default); Assert.False(templatePart.IsOptional); - var constraint = Assert.Single(templatePart.Constraints); + var constraint = Assert.Single(templatePart.ParameterPolicies); Assert.Equal(@"regex(\\(\\(\\(\\()", constraint.Content); } @@ -897,7 +897,7 @@ namespace Microsoft.AspNetCore.Routing.Patterns Assert.Null(templatePart.Default); Assert.False(templatePart.IsOptional); - var constraint = Assert.Single(templatePart.Constraints); + var constraint = Assert.Single(templatePart.ParameterPolicies); Assert.Equal(@"regex(^\d{{3}}-\d{{3}}-\d{{4}}$)", constraint.Content); } @@ -912,7 +912,7 @@ namespace Microsoft.AspNetCore.Routing.Patterns Assert.Equal("123-456-7890", templatePart.Default); Assert.False(templatePart.IsOptional); - var constraint = Assert.Single(templatePart.Constraints); + var constraint = Assert.Single(templatePart.ParameterPolicies); Assert.Equal(@"regex(^\d{{3}}-\d{{3}}-\d{{4}}$)", constraint.Content); } @@ -934,7 +934,7 @@ namespace Microsoft.AspNetCore.Routing.Patterns // Assert Assert.Equal(expectedParameterName, templatePart.Name); - Assert.Empty(templatePart.Constraints); + Assert.Empty(templatePart.ParameterPolicies); Assert.Null(templatePart.Default); } @@ -979,7 +979,7 @@ namespace Microsoft.AspNetCore.Routing.Patterns Assert.Equal("path", parameterPart.Name); Assert.True(parameterPart.IsCatchAll); Assert.Equal(RoutePatternParameterKind.CatchAll, parameterPart.ParameterKind); - var constraintReference = Assert.Single(parameterPart.Constraints); + var constraintReference = Assert.Single(parameterPart.ParameterPolicies); Assert.Equal(constraintContent, constraintReference.Content); Assert.True(parameterPart.EncodeSlashes); } @@ -997,7 +997,7 @@ namespace Microsoft.AspNetCore.Routing.Patterns Assert.Equal("path", parameterPart.Name); Assert.True(parameterPart.IsCatchAll); Assert.Equal(RoutePatternParameterKind.CatchAll, parameterPart.ParameterKind); - var constraintReference = Assert.Single(parameterPart.Constraints); + var constraintReference = Assert.Single(parameterPart.ParameterPolicies); Assert.Equal(constraintContent, constraintReference.Content); Assert.NotNull(parameterPart.Default); Assert.Equal("a/b/c", parameterPart.Default.ToString()); @@ -1043,7 +1043,7 @@ namespace Microsoft.AspNetCore.Routing.Patterns Assert.Equal("path", parameterPart.Name); Assert.True(parameterPart.IsCatchAll); Assert.False(parameterPart.EncodeSlashes); - var constraintReference = Assert.Single(parameterPart.Constraints); + var constraintReference = Assert.Single(parameterPart.ParameterPolicies); Assert.Equal(constraintContent, constraintReference.Content); } @@ -1060,7 +1060,7 @@ namespace Microsoft.AspNetCore.Routing.Patterns Assert.Equal("path", parameterPart.Name); Assert.True(parameterPart.IsCatchAll); Assert.False(parameterPart.EncodeSlashes); - var constraintReference = Assert.Single(parameterPart.Constraints); + var constraintReference = Assert.Single(parameterPart.ParameterPolicies); Assert.Equal(constraintContent, constraintReference.Content); Assert.NotNull(parameterPart.Default); Assert.Equal("a/b/c", parameterPart.Default.ToString()); diff --git a/test/Microsoft.AspNetCore.Routing.Tests/Patterns/RoutePatternFactoryTest.cs b/test/Microsoft.AspNetCore.Routing.Tests/Patterns/RoutePatternFactoryTest.cs index ad985e17a2..562d081d10 100644 --- a/test/Microsoft.AspNetCore.Routing.Tests/Patterns/RoutePatternFactoryTest.cs +++ b/test/Microsoft.AspNetCore.Routing.Tests/Patterns/RoutePatternFactoryTest.cs @@ -132,21 +132,21 @@ namespace Microsoft.AspNetCore.Routing.Patterns // Assert Assert.Collection( - actual.GetParameter("a").Constraints, - c => Assert.IsType(c.Constraint), + actual.GetParameter("a").ParameterPolicies, + c => Assert.IsType(c.ParameterPolicy), c => Assert.Equal("int", c.Content)); Assert.Collection( - actual.GetParameter("b").Constraints, - c => Assert.IsType(c.Constraint)); + actual.GetParameter("b").ParameterPolicies, + c => Assert.IsType(c.ParameterPolicy)); Assert.Collection( - actual.Constraints.OrderBy(kvp => kvp.Key), + actual.ParameterPolicies.OrderBy(kvp => kvp.Key), kvp => { Assert.Equal("a", kvp.Key); Assert.Collection( kvp.Value, - c => Assert.IsType(c.Constraint), + c => Assert.IsType(c.ParameterPolicy), c => Assert.Equal("int", c.Content)); }, kvp => @@ -154,7 +154,7 @@ namespace Microsoft.AspNetCore.Routing.Patterns Assert.Equal("b", kvp.Key); Assert.Collection( kvp.Value, - c => Assert.IsType(c.Constraint)); + c => Assert.IsType(c.ParameterPolicy)); }); } @@ -177,30 +177,30 @@ namespace Microsoft.AspNetCore.Routing.Patterns // Assert Assert.Collection( - actual.Constraints.OrderBy(kvp => kvp.Key), + actual.ParameterPolicies.OrderBy(kvp => kvp.Key), kvp => { Assert.Equal("d", kvp.Key); Assert.Collection( kvp.Value, - c => Assert.IsType(c.Constraint)); + c => Assert.IsType(c.ParameterPolicy)); }, kvp => { Assert.Equal("e", kvp.Key); Assert.Collection( kvp.Value, - c => Assert.IsType(c.Constraint)); + c => Assert.IsType(c.ParameterPolicy)); }); } [Fact] - public void Pattern_ExtraConstraints_MatchProcessor() + public void Pattern_ExtraConstraints_RouteConstraint() { // Arrange var template = "{a}/{b}/{c}"; var defaults = new { }; - var constraints = new { d = Mock.Of(), e = Mock.Of(), }; + var constraints = new { d = Mock.Of(), e = Mock.Of(), }; var original = RoutePatternFactory.Parse(template); @@ -213,20 +213,20 @@ namespace Microsoft.AspNetCore.Routing.Patterns // Assert Assert.Collection( - actual.Constraints.OrderBy(kvp => kvp.Key), + actual.ParameterPolicies.OrderBy(kvp => kvp.Key), kvp => { Assert.Equal("d", kvp.Key); Assert.Collection( kvp.Value, - c => Assert.NotNull(c.MatchProcessor)); + c => Assert.NotNull(c.ParameterPolicy)); }, kvp => { Assert.Equal("e", kvp.Key); Assert.Collection( kvp.Value, - c => Assert.NotNull(c.MatchProcessor)); + c => Assert.NotNull(c.ParameterPolicy)); }); } @@ -249,11 +249,11 @@ namespace Microsoft.AspNetCore.Routing.Patterns // Assert Assert.Collection( - actual.Constraints.OrderBy(kvp => kvp.Key), + actual.ParameterPolicies.OrderBy(kvp => kvp.Key), kvp => { Assert.Equal("d", kvp.Key); - var regex = Assert.IsType(Assert.Single(kvp.Value).Constraint); + var regex = Assert.IsType(Assert.Single(kvp.Value).ParameterPolicy); Assert.Equal("^(foo)$", regex.Constraint.ToString()); }); } @@ -277,7 +277,7 @@ namespace Microsoft.AspNetCore.Routing.Patterns // Assert Assert.Equal( - $"Invalid constraint '17'. A constraint must be of type 'string', '{typeof(IRouteConstraint)}', or '{typeof(MatchProcessor)}'.", + $"Invalid constraint '17'. A constraint must be of type 'string' or '{typeof(IRouteConstraint)}'.", ex.Message); } } diff --git a/test/Microsoft.AspNetCore.Routing.Tests/Patterns/RoutePatternParserTest.cs b/test/Microsoft.AspNetCore.Routing.Tests/Patterns/RoutePatternParserTest.cs index 0dfc68d072..1a1f131091 100644 --- a/test/Microsoft.AspNetCore.Routing.Tests/Patterns/RoutePatternParserTest.cs +++ b/test/Microsoft.AspNetCore.Routing.Tests/Patterns/RoutePatternParserTest.cs @@ -641,7 +641,7 @@ namespace Microsoft.AspNetCore.Routing.Patterns private class RoutePatternEqualityComparer : IEqualityComparer, - IEqualityComparer + IEqualityComparer { public bool Equals(RoutePattern x, RoutePattern y) { @@ -733,15 +733,15 @@ namespace Microsoft.AspNetCore.Routing.Patterns x.Name == y.Name && x.Default == y.Default && x.ParameterKind == y.ParameterKind && - Enumerable.SequenceEqual(x.Constraints, y.Constraints, this); + Enumerable.SequenceEqual(x.ParameterPolicies, y.ParameterPolicies, this); } - public bool Equals(RoutePatternConstraintReference x, RoutePatternConstraintReference y) + public bool Equals(RoutePatternParameterPolicyReference x, RoutePatternParameterPolicyReference y) { return x.Content == y.Content && - x.Constraint == y.Constraint; + x.ParameterPolicy == y.ParameterPolicy; } private bool Equals(RoutePatternSeparatorPart x, RoutePatternSeparatorPart y) @@ -754,7 +754,7 @@ namespace Microsoft.AspNetCore.Routing.Patterns throw new NotImplementedException(); } - public int GetHashCode(RoutePatternConstraintReference obj) + public int GetHashCode(RoutePatternParameterPolicyReference obj) { throw new NotImplementedException(); } diff --git a/test/Microsoft.AspNetCore.Routing.Tests/RouteValueBasedEndpointFinderTest.cs b/test/Microsoft.AspNetCore.Routing.Tests/RouteValueBasedEndpointFinderTest.cs index 25ce04bf82..60712a0fe7 100644 --- a/test/Microsoft.AspNetCore.Routing.Tests/RouteValueBasedEndpointFinderTest.cs +++ b/test/Microsoft.AspNetCore.Routing.Tests/RouteValueBasedEndpointFinderTest.cs @@ -251,7 +251,7 @@ namespace Microsoft.AspNetCore.Routing return new MatcherEndpoint( MatcherEndpoint.EmptyInvoker, - RoutePatternFactory.Parse(template, defaults, constraints: null), + RoutePatternFactory.Parse(template, defaults, parameterPolicies: null), order, metadataCollection, null); From 1680b9f4fcd1cc4fcfd79470ac7ff75ea24e04c3 Mon Sep 17 00:00:00 2001 From: James Newton-King Date: Wed, 22 Aug 2018 17:15:57 +1200 Subject: [PATCH 138/221] Change endpoint invoker to RequestDelegate, Endpoint/EndpointMetadataCollection namespaces, split out IRouteValuesFeature (#712) --- .../Benchmarks/StartupUsingEndpointRouting.cs | 6 +- .../EndpointMetadataCollectionBenchmark.cs | 1 + .../EndpointRoutingBenchmarkBase.cs | 23 +-- ...LinkGenerationGithubBenchmark.generated.cs | 4 +- .../Matching/MatcherAzureBenchmark.cs | 1 + .../MatcherAzureBenchmark.generated.cs | 2 +- ...indCandidateSetAzureBenchmark.generated.cs | 2 +- ...ndCandidateSetGithubBenchmark.generated.cs | 2 +- ...herFindCandidateSetSingleEntryBenchmark.cs | 2 +- ...indCandidateSetSmallEntryCountBenchmark.cs | 3 +- .../Matching/MatcherGithubBenchmark.cs | 1 + .../MatcherGithubBenchmark.generated.cs | 2 +- .../Matching/MatcherSingleEntryBenchmark.cs | 3 +- .../Matching/TrivialMatcher.cs | 9 +- .../Matching/TrivialMatcherBuilder.cs | 4 +- benchmarks/Swaggatherer/Template.cs | 4 +- .../UseEndpointRoutingStartup.cs | 14 +- .../Endpoint.cs | 14 +- .../EndpointMetadataCollection.cs | 2 +- .../IEndpointFeature.cs | 19 +-- .../IRouteValuesFeature.cs | 16 ++ .../CompositeEndpointDataSource.cs | 18 +- .../DataSourceDependentCache.cs | 1 + .../DataTokensMetadata.cs | 1 + .../DefaultEndpointDataSource.cs | 1 + .../DefaultLinkGenerationTemplate.cs | 4 +- .../DefaultLinkGenerator.cs | 17 +- .../EndpointDataSource.cs | 1 + .../EndpointFeature.cs | 28 ++-- .../EndpointMiddleware.cs | 5 +- .../EndpointRoutingMiddleware.cs | 20 ++- .../IDataTokenMetadata.cs | 1 + .../IEndpointFinderOfT.cs | 1 + .../Internal/DfaGraphWriter.cs | 3 +- .../Matching/Candidate.cs | 6 +- .../Matching/CandidateSet.cs | 3 +- .../Matching/CandidateState.cs | 14 +- .../Matching/DataSourceDependentMatcher.cs | 8 +- .../Matching/DefaultEndpointSelector.cs | 10 +- .../Matching/DfaMatcher.cs | 3 +- .../Matching/DfaMatcherBuilder.cs | 22 +-- .../Matching/DfaNode.cs | 4 +- .../Matching/EndpointMetadataComparer.cs | 1 + .../Matching/EndpointSelector.cs | 8 +- .../Matching/HttpMethodMatcherPolicy.cs | 4 +- .../Matching/IEndpointComparerPolicy.cs | 1 + .../Matching/INodeBuilderPolicy.cs | 1 + .../Matching/Matcher.cs | 5 +- .../Matching/MatcherBuilder.cs | 2 +- .../Matching/PolicyNodeEdge.cs | 1 + ...ntComparer.cs => RouteEndpointComparer.cs} | 30 ++-- .../MatcherEndpoint.cs => RouteEndpoint.cs} | 29 +--- .../RouteValuesBasedEndpointFinder.cs | 7 +- .../EndpointMetadataCollectionTests.cs | 1 + .../EndpointRoutingBuilderExtensionsTest.cs | 1 + .../CompositeEndpointDataSourceTest.cs | 7 +- .../DefaultEndpointDataSourceTests.cs | 10 +- .../DefaultLinkGeneratorTest.cs | 158 +++++++++--------- .../EndpointFactory.cs | 8 +- .../EndpointFeatureTest.cs | 9 +- .../EndpointRoutingMiddlewareTest.cs | 34 ++-- .../Matching/BarebonesMatcher.cs | 13 +- .../Matching/BarebonesMatcherBuilder.cs | 4 +- .../BarebonesMatcherConformanceTest.cs | 2 +- .../Matching/CandidateSetTest.cs | 11 +- .../DataSourceDependentMatcherTest.cs | 21 +-- .../Matching/DefaultEndpointSelectorTest.cs | 41 ++--- .../Matching/DfaMatcherBuilderTest.cs | 7 +- .../Matching/DfaMatcherConformanceTest.cs | 4 +- .../Matching/DfaMatcherTest.cs | 36 ++-- .../Matching/EndpointMetadataComparerTest.cs | 22 +-- .../FullFeaturedMatcherConformanceTest.cs | 34 ++-- .../HttpMethodMatcherPolicyIntegrationTest.cs | 44 ++--- .../Matching/HttpMethodMatcherPolicyTest.cs | 7 +- .../Matching/MatcherAssert.cs | 41 +++-- .../MatcherConformanceTest.SingleEndpoint.cs | 34 ++-- .../Matching/MatcherConformanceTest.cs | 14 +- ...erTest.cs => RouteEndpointComparerTest.cs} | 15 +- .../Matching/RouteMatcher.cs | 5 +- .../Matching/RouteMatcherBuilder.cs | 13 +- .../Matching/RouteMatcherConformanceTest.cs | 2 +- .../Matching/TreeRouterMatcher.cs | 5 +- .../Matching/TreeRouterMatcherBuilder.cs | 15 +- .../TreeRouterMatcherConformanceTest.cs | 2 +- .../RouteValueBasedEndpointFinderTest.cs | 27 +-- .../TestConstants.cs | 13 ++ .../TestObjects/DynamicEndpointDataSource.cs | 1 + .../TestObjects/TestEndpoint.cs | 13 -- .../TestObjects/TestMatcher.cs | 7 +- 89 files changed, 574 insertions(+), 501 deletions(-) create mode 100644 src/Microsoft.AspNetCore.Routing.Abstractions/IRouteValuesFeature.cs rename src/Microsoft.AspNetCore.Routing/Matching/{MatcherEndpointComparer.cs => RouteEndpointComparer.cs} (70%) rename src/Microsoft.AspNetCore.Routing/{Matching/MatcherEndpoint.cs => RouteEndpoint.cs} (66%) rename test/Microsoft.AspNetCore.Routing.Tests/Matching/{MatcherEndpointComparerTest.cs => RouteEndpointComparerTest.cs} (93%) create mode 100644 test/Microsoft.AspNetCore.Routing.Tests/TestConstants.cs delete mode 100644 test/Microsoft.AspNetCore.Routing.Tests/TestObjects/TestEndpoint.cs diff --git a/benchmarkapps/Benchmarks/StartupUsingEndpointRouting.cs b/benchmarkapps/Benchmarks/StartupUsingEndpointRouting.cs index 2c5fa5a7d9..2814badc32 100644 --- a/benchmarkapps/Benchmarks/StartupUsingEndpointRouting.cs +++ b/benchmarkapps/Benchmarks/StartupUsingEndpointRouting.cs @@ -2,9 +2,9 @@ // Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information. using System.Text; +using Microsoft.AspNetCore.Http; using Microsoft.AspNetCore.Internal; using Microsoft.AspNetCore.Routing; -using Microsoft.AspNetCore.Routing.Matching; using Microsoft.AspNetCore.Routing.Patterns; using Microsoft.Extensions.DependencyInjection; using Microsoft.Extensions.DependencyInjection.Extensions; @@ -21,8 +21,8 @@ namespace Benchmarks var endpointDataSource = new DefaultEndpointDataSource(new[] { - new MatcherEndpoint( - invoker: (next) => (httpContext) => + new RouteEndpoint( + requestDelegate: (httpContext) => { var response = httpContext.Response; var payloadLength = _helloWorldPayload.Length; diff --git a/benchmarks/Microsoft.AspNetCore.Routing.Performance/EndpointMetadataCollectionBenchmark.cs b/benchmarks/Microsoft.AspNetCore.Routing.Performance/EndpointMetadataCollectionBenchmark.cs index 14c1498462..3e5492b8a2 100644 --- a/benchmarks/Microsoft.AspNetCore.Routing.Performance/EndpointMetadataCollectionBenchmark.cs +++ b/benchmarks/Microsoft.AspNetCore.Routing.Performance/EndpointMetadataCollectionBenchmark.cs @@ -3,6 +3,7 @@ using System; using BenchmarkDotNet.Attributes; +using Microsoft.AspNetCore.Http; namespace Microsoft.AspNetCore.Routing { diff --git a/benchmarks/Microsoft.AspNetCore.Routing.Performance/EndpointRoutingBenchmarkBase.cs b/benchmarks/Microsoft.AspNetCore.Routing.Performance/EndpointRoutingBenchmarkBase.cs index 57e79d7109..ece73b75a4 100644 --- a/benchmarks/Microsoft.AspNetCore.Routing.Performance/EndpointRoutingBenchmarkBase.cs +++ b/benchmarks/Microsoft.AspNetCore.Routing.Performance/EndpointRoutingBenchmarkBase.cs @@ -5,7 +5,9 @@ using System; using System.Collections.Generic; using System.Runtime.CompilerServices; using System.Text; +using System.Threading.Tasks; using Microsoft.AspNetCore.Http; +using Microsoft.AspNetCore.Http.Features; using Microsoft.AspNetCore.Routing.Matching; using Microsoft.AspNetCore.Routing.Patterns; using Microsoft.AspNetCore.Routing.Template; @@ -18,10 +20,10 @@ namespace Microsoft.AspNetCore.Routing { public abstract class EndpointRoutingBenchmarkBase { - private protected MatcherEndpoint[] Endpoints; + private protected RouteEndpoint[] Endpoints; private protected HttpContext[] Requests; - private protected void SetupEndpoints(params MatcherEndpoint[] endpoints) + private protected void SetupEndpoints(params RouteEndpoint[] endpoints) { Endpoints = endpoints; } @@ -76,8 +78,8 @@ namespace Microsoft.AspNetCore.Routing var message = new StringBuilder(); message.AppendLine($"Validation failed for request {Array.IndexOf(Requests, httpContext)}"); message.AppendLine($"{httpContext.Request.Method} {httpContext.Request.Path}"); - message.AppendLine($"expected: '{((MatcherEndpoint)expected)?.DisplayName ?? "null"}'"); - message.AppendLine($"actual: '{((MatcherEndpoint)actual)?.DisplayName ?? "null"}'"); + message.AppendLine($"expected: '{((RouteEndpoint)expected)?.DisplayName ?? "null"}'"); + message.AppendLine($"actual: '{((RouteEndpoint)actual)?.DisplayName ?? "null"}'"); throw new InvalidOperationException(message.ToString()); } } @@ -95,7 +97,7 @@ namespace Microsoft.AspNetCore.Routing } } - protected MatcherEndpoint CreateEndpoint( + protected RouteEndpoint CreateEndpoint( string template, object defaults = null, object constraints = null, @@ -108,8 +110,8 @@ namespace Microsoft.AspNetCore.Routing var endpointMetadata = new List(metadata ?? Array.Empty()); endpointMetadata.Add(new RouteValuesAddressMetadata(routeName, new RouteValueDictionary(requiredValues))); - return new MatcherEndpoint( - MatcherEndpoint.EmptyInvoker, + return new RouteEndpoint( + (context) => Task.CompletedTask, RoutePatternFactory.Parse(template, defaults, constraints), order, new EndpointMetadataCollection(endpointMetadata), @@ -119,14 +121,15 @@ namespace Microsoft.AspNetCore.Routing protected (HttpContext httpContext, RouteValueDictionary ambientValues) CreateCurrentRequestContext( object ambientValues = null) { - var feature = new EndpointFeature { Values = new RouteValueDictionary(ambientValues) }; + var feature = new EndpointFeature { RouteValues = new RouteValueDictionary(ambientValues) }; var context = new DefaultHttpContext(); context.Features.Set(feature); + context.Features.Set(feature); - return (context, feature.Values); + return (context, feature.RouteValues); } - protected void CreateOutboundRouteEntry(TreeRouteBuilder treeRouteBuilder, MatcherEndpoint endpoint) + protected void CreateOutboundRouteEntry(TreeRouteBuilder treeRouteBuilder, RouteEndpoint endpoint) { var routeValuesAddressMetadata = endpoint.Metadata.GetMetadata(); var requiredValues = routeValuesAddressMetadata?.RequiredValues ?? new RouteValueDictionary(); diff --git a/benchmarks/Microsoft.AspNetCore.Routing.Performance/LinkGeneration/LinkGenerationGithubBenchmark.generated.cs b/benchmarks/Microsoft.AspNetCore.Routing.Performance/LinkGeneration/LinkGenerationGithubBenchmark.generated.cs index 14e3ecb9d7..2da180b1d2 100644 --- a/benchmarks/Microsoft.AspNetCore.Routing.Performance/LinkGeneration/LinkGenerationGithubBenchmark.generated.cs +++ b/benchmarks/Microsoft.AspNetCore.Routing.Performance/LinkGeneration/LinkGenerationGithubBenchmark.generated.cs @@ -14,7 +14,7 @@ namespace Microsoft.AspNetCore.Routing.LinkGeneration private void SetupEndpoints() { - Endpoints = new MatcherEndpoint[243]; + Endpoints = new RouteEndpoint[243]; Endpoints[0] = CreateEndpoint("/emojis", "Controller1", "Action1", "GET"); Endpoints[1] = CreateEndpoint("/events", "Controller2", "Action1", "GET"); Endpoints[2] = CreateEndpoint("/feeds", "Controller3", "Action1", "GET"); @@ -1485,7 +1485,7 @@ namespace Microsoft.AspNetCore.Routing.LinkGeneration return builder.Build(); } - private MatcherEndpoint CreateEndpoint(string template, string controllerName, string actionName, string httpMethod) + private RouteEndpoint CreateEndpoint(string template, string controllerName, string actionName, string httpMethod) { var requiredValues = new { diff --git a/benchmarks/Microsoft.AspNetCore.Routing.Performance/Matching/MatcherAzureBenchmark.cs b/benchmarks/Microsoft.AspNetCore.Routing.Performance/Matching/MatcherAzureBenchmark.cs index cf3a41c31f..b68255e3cd 100644 --- a/benchmarks/Microsoft.AspNetCore.Routing.Performance/Matching/MatcherAzureBenchmark.cs +++ b/benchmarks/Microsoft.AspNetCore.Routing.Performance/Matching/MatcherAzureBenchmark.cs @@ -3,6 +3,7 @@ using System.Threading.Tasks; using BenchmarkDotNet.Attributes; +using Microsoft.AspNetCore.Http.Features; namespace Microsoft.AspNetCore.Routing.Matching { diff --git a/benchmarks/Microsoft.AspNetCore.Routing.Performance/Matching/MatcherAzureBenchmark.generated.cs b/benchmarks/Microsoft.AspNetCore.Routing.Performance/Matching/MatcherAzureBenchmark.generated.cs index f486eb23e1..ebb347ea51 100644 --- a/benchmarks/Microsoft.AspNetCore.Routing.Performance/Matching/MatcherAzureBenchmark.generated.cs +++ b/benchmarks/Microsoft.AspNetCore.Routing.Performance/Matching/MatcherAzureBenchmark.generated.cs @@ -13,7 +13,7 @@ namespace Microsoft.AspNetCore.Routing.Matching private void SetupEndpoints() { - Endpoints = new MatcherEndpoint[5160]; + Endpoints = new RouteEndpoint[5160]; Endpoints[0] = CreateEndpoint("/account", "GET"); Endpoints[1] = CreateEndpoint("/analyze", "POST"); Endpoints[2] = CreateEndpoint("/apis", "GET"); diff --git a/benchmarks/Microsoft.AspNetCore.Routing.Performance/Matching/MatcherFindCandidateSetAzureBenchmark.generated.cs b/benchmarks/Microsoft.AspNetCore.Routing.Performance/Matching/MatcherFindCandidateSetAzureBenchmark.generated.cs index bd633b706c..55672f7726 100644 --- a/benchmarks/Microsoft.AspNetCore.Routing.Performance/Matching/MatcherFindCandidateSetAzureBenchmark.generated.cs +++ b/benchmarks/Microsoft.AspNetCore.Routing.Performance/Matching/MatcherFindCandidateSetAzureBenchmark.generated.cs @@ -13,7 +13,7 @@ namespace Microsoft.AspNetCore.Routing.Matching private void SetupEndpoints() { - Endpoints = new MatcherEndpoint[3517]; + Endpoints = new RouteEndpoint[3517]; Endpoints[0] = CreateEndpoint("/account"); Endpoints[1] = CreateEndpoint("/analyze"); Endpoints[2] = CreateEndpoint("/apis"); diff --git a/benchmarks/Microsoft.AspNetCore.Routing.Performance/Matching/MatcherFindCandidateSetGithubBenchmark.generated.cs b/benchmarks/Microsoft.AspNetCore.Routing.Performance/Matching/MatcherFindCandidateSetGithubBenchmark.generated.cs index ee94d2c67f..01fca2ee00 100644 --- a/benchmarks/Microsoft.AspNetCore.Routing.Performance/Matching/MatcherFindCandidateSetGithubBenchmark.generated.cs +++ b/benchmarks/Microsoft.AspNetCore.Routing.Performance/Matching/MatcherFindCandidateSetGithubBenchmark.generated.cs @@ -13,7 +13,7 @@ namespace Microsoft.AspNetCore.Routing.Matching private void SetupEndpoints() { - Endpoints = new MatcherEndpoint[155]; + Endpoints = new RouteEndpoint[155]; Endpoints[0] = CreateEndpoint("/emojis"); Endpoints[1] = CreateEndpoint("/events"); Endpoints[2] = CreateEndpoint("/feeds"); diff --git a/benchmarks/Microsoft.AspNetCore.Routing.Performance/Matching/MatcherFindCandidateSetSingleEntryBenchmark.cs b/benchmarks/Microsoft.AspNetCore.Routing.Performance/Matching/MatcherFindCandidateSetSingleEntryBenchmark.cs index cf08ed656b..b0d3b2bcd2 100644 --- a/benchmarks/Microsoft.AspNetCore.Routing.Performance/Matching/MatcherFindCandidateSetSingleEntryBenchmark.cs +++ b/benchmarks/Microsoft.AspNetCore.Routing.Performance/Matching/MatcherFindCandidateSetSingleEntryBenchmark.cs @@ -18,7 +18,7 @@ namespace Microsoft.AspNetCore.Routing.Matching [GlobalSetup] public void Setup() { - Endpoints = new MatcherEndpoint[1]; + Endpoints = new RouteEndpoint[1]; Endpoints[0] = CreateEndpoint("/plaintext"); Requests = new HttpContext[1]; diff --git a/benchmarks/Microsoft.AspNetCore.Routing.Performance/Matching/MatcherFindCandidateSetSmallEntryCountBenchmark.cs b/benchmarks/Microsoft.AspNetCore.Routing.Performance/Matching/MatcherFindCandidateSetSmallEntryCountBenchmark.cs index 4bcb08517b..993dabc419 100644 --- a/benchmarks/Microsoft.AspNetCore.Routing.Performance/Matching/MatcherFindCandidateSetSmallEntryCountBenchmark.cs +++ b/benchmarks/Microsoft.AspNetCore.Routing.Performance/Matching/MatcherFindCandidateSetSmallEntryCountBenchmark.cs @@ -4,6 +4,7 @@ using System; using BenchmarkDotNet.Attributes; using Microsoft.AspNetCore.Http; +using Microsoft.AspNetCore.Http.Features; namespace Microsoft.AspNetCore.Routing.Matching { @@ -32,7 +33,7 @@ namespace Microsoft.AspNetCore.Routing.Matching private void SetupEndpoints() { - Endpoints = new MatcherEndpoint[10]; + Endpoints = new RouteEndpoint[10]; Endpoints[0] = CreateEndpoint("/another-really-cool-entry"); Endpoints[1] = CreateEndpoint("/Some-Entry"); Endpoints[2] = CreateEndpoint("/a/path/with/more/segments"); diff --git a/benchmarks/Microsoft.AspNetCore.Routing.Performance/Matching/MatcherGithubBenchmark.cs b/benchmarks/Microsoft.AspNetCore.Routing.Performance/Matching/MatcherGithubBenchmark.cs index 723bcbd549..0859fd7a72 100644 --- a/benchmarks/Microsoft.AspNetCore.Routing.Performance/Matching/MatcherGithubBenchmark.cs +++ b/benchmarks/Microsoft.AspNetCore.Routing.Performance/Matching/MatcherGithubBenchmark.cs @@ -3,6 +3,7 @@ using System.Threading.Tasks; using BenchmarkDotNet.Attributes; +using Microsoft.AspNetCore.Http.Features; namespace Microsoft.AspNetCore.Routing.Matching { diff --git a/benchmarks/Microsoft.AspNetCore.Routing.Performance/Matching/MatcherGithubBenchmark.generated.cs b/benchmarks/Microsoft.AspNetCore.Routing.Performance/Matching/MatcherGithubBenchmark.generated.cs index b6bc1ba4ff..01b2edd58f 100644 --- a/benchmarks/Microsoft.AspNetCore.Routing.Performance/Matching/MatcherGithubBenchmark.generated.cs +++ b/benchmarks/Microsoft.AspNetCore.Routing.Performance/Matching/MatcherGithubBenchmark.generated.cs @@ -13,7 +13,7 @@ namespace Microsoft.AspNetCore.Routing.Matching private void SetupEndpoints() { - Endpoints = new MatcherEndpoint[243]; + Endpoints = new RouteEndpoint[243]; Endpoints[0] = CreateEndpoint("/emojis", "GET"); Endpoints[1] = CreateEndpoint("/events", "GET"); Endpoints[2] = CreateEndpoint("/feeds", "GET"); diff --git a/benchmarks/Microsoft.AspNetCore.Routing.Performance/Matching/MatcherSingleEntryBenchmark.cs b/benchmarks/Microsoft.AspNetCore.Routing.Performance/Matching/MatcherSingleEntryBenchmark.cs index f38883658a..1c15e43862 100644 --- a/benchmarks/Microsoft.AspNetCore.Routing.Performance/Matching/MatcherSingleEntryBenchmark.cs +++ b/benchmarks/Microsoft.AspNetCore.Routing.Performance/Matching/MatcherSingleEntryBenchmark.cs @@ -4,6 +4,7 @@ using System.Threading.Tasks; using BenchmarkDotNet.Attributes; using Microsoft.AspNetCore.Http; +using Microsoft.AspNetCore.Http.Features; namespace Microsoft.AspNetCore.Routing.Matching { @@ -22,7 +23,7 @@ namespace Microsoft.AspNetCore.Routing.Matching [GlobalSetup] public void Setup() { - Endpoints = new MatcherEndpoint[1]; + Endpoints = new RouteEndpoint[1]; Endpoints[0] = CreateEndpoint("/plaintext"); Requests = new HttpContext[1]; diff --git a/benchmarks/Microsoft.AspNetCore.Routing.Performance/Matching/TrivialMatcher.cs b/benchmarks/Microsoft.AspNetCore.Routing.Performance/Matching/TrivialMatcher.cs index d05ed2639d..ffe2428fe3 100644 --- a/benchmarks/Microsoft.AspNetCore.Routing.Performance/Matching/TrivialMatcher.cs +++ b/benchmarks/Microsoft.AspNetCore.Routing.Performance/Matching/TrivialMatcher.cs @@ -4,6 +4,7 @@ using System; using System.Threading.Tasks; using Microsoft.AspNetCore.Http; +using Microsoft.AspNetCore.Http.Features; namespace Microsoft.AspNetCore.Routing.Matching { @@ -12,17 +13,17 @@ namespace Microsoft.AspNetCore.Routing.Matching // to establish a lower bound for perf comparisons. internal sealed class TrivialMatcher : Matcher { - private readonly MatcherEndpoint _endpoint; + private readonly RouteEndpoint _endpoint; private readonly Candidate[] _candidates; - public TrivialMatcher(MatcherEndpoint endpoint) + public TrivialMatcher(RouteEndpoint endpoint) { _endpoint = endpoint; _candidates = new Candidate[] { new Candidate(endpoint), }; } - public sealed override Task MatchAsync(HttpContext httpContext, IEndpointFeature feature) + public sealed override Task MatchAsync(HttpContext httpContext, EndpointFeature feature) { if (httpContext == null) { @@ -38,7 +39,7 @@ namespace Microsoft.AspNetCore.Routing.Matching if (string.Equals(_endpoint.RoutePattern.RawText, path, StringComparison.OrdinalIgnoreCase)) { feature.Endpoint = _endpoint; - feature.Values = new RouteValueDictionary(); + feature.RouteValues = new RouteValueDictionary(); } return Task.CompletedTask; diff --git a/benchmarks/Microsoft.AspNetCore.Routing.Performance/Matching/TrivialMatcherBuilder.cs b/benchmarks/Microsoft.AspNetCore.Routing.Performance/Matching/TrivialMatcherBuilder.cs index ffa3def965..01ce2871ac 100644 --- a/benchmarks/Microsoft.AspNetCore.Routing.Performance/Matching/TrivialMatcherBuilder.cs +++ b/benchmarks/Microsoft.AspNetCore.Routing.Performance/Matching/TrivialMatcherBuilder.cs @@ -8,9 +8,9 @@ namespace Microsoft.AspNetCore.Routing.Matching { internal class TrivialMatcherBuilder : MatcherBuilder { - private readonly List _endpoints = new List(); + private readonly List _endpoints = new List(); - public override void AddEndpoint(MatcherEndpoint endpoint) + public override void AddEndpoint(RouteEndpoint endpoint) { _endpoints.Add(endpoint); } diff --git a/benchmarks/Swaggatherer/Template.cs b/benchmarks/Swaggatherer/Template.cs index 13704b22b1..c5c0c7b42e 100644 --- a/benchmarks/Swaggatherer/Template.cs +++ b/benchmarks/Swaggatherer/Template.cs @@ -78,7 +78,7 @@ namespace Microsoft.AspNetCore.Routing private void SetupEndpoints() {{ - Endpoints = new MatcherEndpoint[{3}]; + Endpoints = new RouteEndpoint[{3}]; {0} }} @@ -94,7 +94,7 @@ namespace Microsoft.AspNetCore.Routing return builder.Build(); }} - private MatcherEndpoint CreateEndpoint(string template, string controllerName, string actionName, string httpMethod) + private RouteEndpoint CreateEndpoint(string template, string controllerName, string actionName, string httpMethod) {{ var requiredValues = new {{ diff --git a/samples/RoutingSample.Web/UseEndpointRoutingStartup.cs b/samples/RoutingSample.Web/UseEndpointRoutingStartup.cs index f3606d5a9f..49262142dd 100644 --- a/samples/RoutingSample.Web/UseEndpointRoutingStartup.cs +++ b/samples/RoutingSample.Web/UseEndpointRoutingStartup.cs @@ -32,7 +32,7 @@ namespace RoutingSample.Web var endpointDataSource = new DefaultEndpointDataSource(new[] { - new MatcherEndpoint((next) => (httpContext) => + new RouteEndpoint((httpContext) => { var response = httpContext.Response; var payloadLength = _homePayload.Length; @@ -45,7 +45,7 @@ namespace RoutingSample.Web 0, EndpointMetadataCollection.Empty, "Home"), - new MatcherEndpoint((next) => (httpContext) => + new RouteEndpoint((httpContext) => { var response = httpContext.Response; var payloadLength = _helloWorldPayload.Length; @@ -58,7 +58,7 @@ namespace RoutingSample.Web 0, EndpointMetadataCollection.Empty, "Plaintext"), - new MatcherEndpoint((next) => (httpContext) => + new RouteEndpoint((httpContext) => { var response = httpContext.Response; response.StatusCode = 200; @@ -69,7 +69,7 @@ namespace RoutingSample.Web 0, EndpointMetadataCollection.Empty, "withconstraints"), - new MatcherEndpoint((next) => (httpContext) => + new RouteEndpoint((httpContext) => { var response = httpContext.Response; response.StatusCode = 200; @@ -80,7 +80,7 @@ namespace RoutingSample.Web 0, EndpointMetadataCollection.Empty, "withoptionalconstraints"), - new MatcherEndpoint((next) => (httpContext) => + new RouteEndpoint((httpContext) => { using (var writer = new StreamWriter(httpContext.Response.Body, Encoding.UTF8, 1024, leaveOpen: true)) { @@ -95,7 +95,7 @@ namespace RoutingSample.Web 0, new EndpointMetadataCollection(new HttpMethodMetadata(new[]{ "GET", })), "DFA Graph"), - new MatcherEndpoint((next) => (httpContext) => + new RouteEndpoint((httpContext) => { var linkGenerator = httpContext.RequestServices.GetRequiredService(); @@ -112,7 +112,7 @@ namespace RoutingSample.Web name: "WithSingleAsteriskCatchAll", requiredValues: new RouteValueDictionary())), "WithSingleAsteriskCatchAll"), - new MatcherEndpoint((next) => (httpContext) => + new RouteEndpoint((httpContext) => { var linkGenerator = httpContext.RequestServices.GetRequiredService(); diff --git a/src/Microsoft.AspNetCore.Routing.Abstractions/Endpoint.cs b/src/Microsoft.AspNetCore.Routing.Abstractions/Endpoint.cs index ef98f75d8a..16202b45f5 100644 --- a/src/Microsoft.AspNetCore.Routing.Abstractions/Endpoint.cs +++ b/src/Microsoft.AspNetCore.Routing.Abstractions/Endpoint.cs @@ -1,27 +1,30 @@ // Copyright (c) .NET Foundation. All rights reserved. // Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information. -namespace Microsoft.AspNetCore.Routing +namespace Microsoft.AspNetCore.Http { /// /// Respresents a logical endpoint in an application. /// - public abstract class Endpoint + public class Endpoint { /// /// Creates a new instance of . /// + /// The delegate used to process requests for the endpoint. /// /// The endpoint . May be null. /// /// /// The informational display name of the endpoint. May be null. /// - protected Endpoint( + public Endpoint( + RequestDelegate requestDelegate, EndpointMetadataCollection metadata, string displayName) { // All are allowed to be null + RequestDelegate = requestDelegate; Metadata = metadata ?? EndpointMetadataCollection.Empty; DisplayName = displayName; } @@ -36,6 +39,11 @@ namespace Microsoft.AspNetCore.Routing /// public EndpointMetadataCollection Metadata { get; } + /// + /// Gets the delegate used to process requests for the endpoint. + /// + public RequestDelegate RequestDelegate { get; } + public override string ToString() => DisplayName ?? base.ToString(); } } diff --git a/src/Microsoft.AspNetCore.Routing.Abstractions/EndpointMetadataCollection.cs b/src/Microsoft.AspNetCore.Routing.Abstractions/EndpointMetadataCollection.cs index 4ca653a8fa..a792fff295 100644 --- a/src/Microsoft.AspNetCore.Routing.Abstractions/EndpointMetadataCollection.cs +++ b/src/Microsoft.AspNetCore.Routing.Abstractions/EndpointMetadataCollection.cs @@ -8,7 +8,7 @@ using System.Collections.Generic; using System.Linq; using System.Runtime.CompilerServices; -namespace Microsoft.AspNetCore.Routing +namespace Microsoft.AspNetCore.Http { /// /// A collection of arbitrary metadata associated with an endpoint. diff --git a/src/Microsoft.AspNetCore.Routing.Abstractions/IEndpointFeature.cs b/src/Microsoft.AspNetCore.Routing.Abstractions/IEndpointFeature.cs index c4b9ac95c2..ff0762bb20 100644 --- a/src/Microsoft.AspNetCore.Routing.Abstractions/IEndpointFeature.cs +++ b/src/Microsoft.AspNetCore.Routing.Abstractions/IEndpointFeature.cs @@ -1,10 +1,7 @@ // Copyright (c) .NET Foundation. All rights reserved. // Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information. -using System; -using Microsoft.AspNetCore.Http; - -namespace Microsoft.AspNetCore.Routing +namespace Microsoft.AspNetCore.Http.Features { /// /// A feature interface for endpoint routing. Use @@ -13,21 +10,9 @@ namespace Microsoft.AspNetCore.Routing public interface IEndpointFeature { /// - /// Gets or sets the selected for the current + /// Gets or sets the selected for the current /// request. /// Endpoint Endpoint { get; set; } - - /// - /// Gets or sets a delegate that can be used to invoke the current - /// . - /// - Func Invoker { get; set; } - - /// - /// Gets or sets the associated with the currrent - /// request. - /// - RouteValueDictionary Values { get; set; } } } diff --git a/src/Microsoft.AspNetCore.Routing.Abstractions/IRouteValuesFeature.cs b/src/Microsoft.AspNetCore.Routing.Abstractions/IRouteValuesFeature.cs new file mode 100644 index 0000000000..3ab74b6bc7 --- /dev/null +++ b/src/Microsoft.AspNetCore.Routing.Abstractions/IRouteValuesFeature.cs @@ -0,0 +1,16 @@ +// Copyright (c) .NET Foundation. All rights reserved. +// Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information. + +using Microsoft.AspNetCore.Routing; + +namespace Microsoft.AspNetCore.Http.Features +{ + public interface IRouteValuesFeature + { + /// + /// Gets or sets the associated with the currrent + /// request. + /// + RouteValueDictionary RouteValues { get; set; } + } +} diff --git a/src/Microsoft.AspNetCore.Routing/CompositeEndpointDataSource.cs b/src/Microsoft.AspNetCore.Routing/CompositeEndpointDataSource.cs index b247291db4..991a324afb 100644 --- a/src/Microsoft.AspNetCore.Routing/CompositeEndpointDataSource.cs +++ b/src/Microsoft.AspNetCore.Routing/CompositeEndpointDataSource.cs @@ -7,7 +7,7 @@ using System.Diagnostics; using System.Linq; using System.Text; using System.Threading; -using Microsoft.AspNetCore.Routing.Matching; +using Microsoft.AspNetCore.Http; using Microsoft.Extensions.Primitives; namespace Microsoft.AspNetCore.Routing @@ -132,15 +132,15 @@ namespace Microsoft.AspNetCore.Routing var sb = new StringBuilder(); foreach (var endpoint in _endpoints) { - if (endpoint is MatcherEndpoint matcherEndpoint) + if (endpoint is RouteEndpoint routeEndpoint) { - var template = matcherEndpoint.RoutePattern.RawText; + var template = routeEndpoint.RoutePattern.RawText; template = string.IsNullOrEmpty(template) ? "\"\"" : template; sb.Append(template); sb.Append(", Defaults: new { "); - sb.Append(string.Join(", ", FormatValues(matcherEndpoint.RoutePattern.Defaults))); + sb.Append(string.Join(", ", FormatValues(routeEndpoint.RoutePattern.Defaults))); sb.Append(" }"); - var routeValuesAddressMetadata = matcherEndpoint.Metadata.GetMetadata(); + var routeValuesAddressMetadata = routeEndpoint.Metadata.GetMetadata(); sb.Append(", Route Name: "); sb.Append(routeValuesAddressMetadata?.Name); if (routeValuesAddressMetadata?.RequiredValues != null) @@ -150,21 +150,21 @@ namespace Microsoft.AspNetCore.Routing sb.Append(" }"); } sb.Append(", Order: "); - sb.Append(matcherEndpoint.Order); + sb.Append(routeEndpoint.Order); - var httpMethodMetadata = matcherEndpoint.Metadata.GetMetadata(); + var httpMethodMetadata = routeEndpoint.Metadata.GetMetadata(); if (httpMethodMetadata != null) { sb.Append(", Http Methods: "); sb.Append(string.Join(", ", httpMethodMetadata.HttpMethods)); } sb.Append(", Display Name: "); - sb.Append(matcherEndpoint.DisplayName); + sb.Append(routeEndpoint.DisplayName); sb.AppendLine(); } else { - sb.Append("Non-MatcherEndpoint. DisplayName:"); + sb.Append("Non-RouteEndpoint. DisplayName:"); sb.AppendLine(endpoint.DisplayName); } } diff --git a/src/Microsoft.AspNetCore.Routing/DataSourceDependentCache.cs b/src/Microsoft.AspNetCore.Routing/DataSourceDependentCache.cs index 8df45ef090..4daf256327 100644 --- a/src/Microsoft.AspNetCore.Routing/DataSourceDependentCache.cs +++ b/src/Microsoft.AspNetCore.Routing/DataSourceDependentCache.cs @@ -4,6 +4,7 @@ using System; using System.Collections.Generic; using System.Threading; +using Microsoft.AspNetCore.Http; namespace Microsoft.AspNetCore.Routing { diff --git a/src/Microsoft.AspNetCore.Routing/DataTokensMetadata.cs b/src/Microsoft.AspNetCore.Routing/DataTokensMetadata.cs index 99a07f038d..831075af40 100644 --- a/src/Microsoft.AspNetCore.Routing/DataTokensMetadata.cs +++ b/src/Microsoft.AspNetCore.Routing/DataTokensMetadata.cs @@ -3,6 +3,7 @@ using System; using System.Collections.Generic; +using Microsoft.AspNetCore.Http; namespace Microsoft.AspNetCore.Routing { diff --git a/src/Microsoft.AspNetCore.Routing/DefaultEndpointDataSource.cs b/src/Microsoft.AspNetCore.Routing/DefaultEndpointDataSource.cs index 7ec3f4c6e6..94728feb8c 100644 --- a/src/Microsoft.AspNetCore.Routing/DefaultEndpointDataSource.cs +++ b/src/Microsoft.AspNetCore.Routing/DefaultEndpointDataSource.cs @@ -3,6 +3,7 @@ using System; using System.Collections.Generic; +using Microsoft.AspNetCore.Http; using Microsoft.Extensions.FileProviders; using Microsoft.Extensions.Primitives; diff --git a/src/Microsoft.AspNetCore.Routing/DefaultLinkGenerationTemplate.cs b/src/Microsoft.AspNetCore.Routing/DefaultLinkGenerationTemplate.cs index 2b432db71f..01d4c54267 100644 --- a/src/Microsoft.AspNetCore.Routing/DefaultLinkGenerationTemplate.cs +++ b/src/Microsoft.AspNetCore.Routing/DefaultLinkGenerationTemplate.cs @@ -11,7 +11,7 @@ namespace Microsoft.AspNetCore.Routing { public DefaultLinkGenerationTemplate( DefaultLinkGenerator linkGenerator, - IEnumerable endpoints, + IEnumerable endpoints, HttpContext httpContext, RouteValueDictionary explicitValues, RouteValueDictionary ambientValues) @@ -25,7 +25,7 @@ namespace Microsoft.AspNetCore.Routing internal DefaultLinkGenerator LinkGenerator { get; } - internal IEnumerable Endpoints { get; } + internal IEnumerable Endpoints { get; } internal HttpContext HttpContext { get; } diff --git a/src/Microsoft.AspNetCore.Routing/DefaultLinkGenerator.cs b/src/Microsoft.AspNetCore.Routing/DefaultLinkGenerator.cs index fe38826aa7..b60f25eb25 100644 --- a/src/Microsoft.AspNetCore.Routing/DefaultLinkGenerator.cs +++ b/src/Microsoft.AspNetCore.Routing/DefaultLinkGenerator.cs @@ -6,6 +6,7 @@ using System.Collections.Generic; using System.Linq; using System.Text.Encodings.Web; using Microsoft.AspNetCore.Http; +using Microsoft.AspNetCore.Http.Features; using Microsoft.AspNetCore.Routing.Internal; using Microsoft.AspNetCore.Routing.Matching; using Microsoft.AspNetCore.Routing.Template; @@ -97,7 +98,7 @@ namespace Microsoft.AspNetCore.Routing internal string MakeLink( HttpContext httpContext, - MatcherEndpoint endpoint, + RouteEndpoint endpoint, RouteValueDictionary ambientValues, RouteValueDictionary explicitValues, LinkOptions options) @@ -232,7 +233,7 @@ namespace Microsoft.AspNetCore.Routing private bool MatchesConstraints( HttpContext httpContext, - MatcherEndpoint endpoint, + RouteEndpoint endpoint, RouteValueDictionary routeValues) { if (routeValues == null) @@ -303,16 +304,16 @@ namespace Microsoft.AspNetCore.Routing { if (httpContext != null) { - var feature = httpContext.Features.Get(); + var feature = httpContext.Features.Get(); if (feature != null) { - return feature.Values; + return feature.RouteValues; } } return new RouteValueDictionary(); } - private IEnumerable FindEndpoints(TAddress address) + private IEnumerable FindEndpoints(TAddress address) { var finder = _serviceProvider.GetRequiredService>(); var endpoints = finder.FindEndpoints(address); @@ -321,13 +322,13 @@ namespace Microsoft.AspNetCore.Routing return null; } - var matcherEndpoints = endpoints.OfType(); - if (!matcherEndpoints.Any()) + var routeEndpoints = endpoints.OfType(); + if (!routeEndpoints.Any()) { return null; } - return matcherEndpoints; + return routeEndpoints; } } } diff --git a/src/Microsoft.AspNetCore.Routing/EndpointDataSource.cs b/src/Microsoft.AspNetCore.Routing/EndpointDataSource.cs index 6ae887d0a0..6176ba08e0 100644 --- a/src/Microsoft.AspNetCore.Routing/EndpointDataSource.cs +++ b/src/Microsoft.AspNetCore.Routing/EndpointDataSource.cs @@ -2,6 +2,7 @@ // Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information. using System.Collections.Generic; +using Microsoft.AspNetCore.Http; using Microsoft.Extensions.Primitives; namespace Microsoft.AspNetCore.Routing diff --git a/src/Microsoft.AspNetCore.Routing/EndpointFeature.cs b/src/Microsoft.AspNetCore.Routing/EndpointFeature.cs index c87db04900..582f96cb7c 100644 --- a/src/Microsoft.AspNetCore.Routing/EndpointFeature.cs +++ b/src/Microsoft.AspNetCore.Routing/EndpointFeature.cs @@ -3,39 +3,31 @@ using System; using Microsoft.AspNetCore.Http; +using Microsoft.AspNetCore.Http.Features; namespace Microsoft.AspNetCore.Routing { - /// - /// A default implementation of and . - /// - public sealed class EndpointFeature : IEndpointFeature, IRoutingFeature + public sealed class EndpointFeature : IEndpointFeature, IRouteValuesFeature, IRoutingFeature { private RouteData _routeData; - private RouteValueDictionary _values; + private RouteValueDictionary _routeValues; /// - /// Gets or sets the selected for the current + /// Gets or sets the selected for the current /// request. /// public Endpoint Endpoint { get; set; } - /// - /// Gets or sets a delegate that can be used to invoke the current - /// . - /// - public Func Invoker { get; set; } - /// /// Gets or sets the associated with the currrent /// request. /// - public RouteValueDictionary Values + public RouteValueDictionary RouteValues { - get => _values; + get => _routeValues; set { - _values = value; + _routeValues = value; // RouteData will be created next get with new Values _routeData = null; @@ -46,7 +38,7 @@ namespace Microsoft.AspNetCore.Routing /// Gets or sets the for the current request. /// /// - /// The setter is not implemented. Use to set the route values. + /// The setter is not implemented. Use to set the route values. /// RouteData IRoutingFeature.RouteData { @@ -54,7 +46,7 @@ namespace Microsoft.AspNetCore.Routing { if (_routeData == null) { - _routeData = _values == null ? new RouteData() : new RouteData(_values); + _routeData = _routeValues == null ? new RouteData() : new RouteData(_routeValues); // Note: DataTokens won't update if someone else overwrites the Endpoint // after route values has been set. This seems find since endpoints are a new @@ -75,4 +67,4 @@ namespace Microsoft.AspNetCore.Routing set => throw new NotSupportedException(); } } -} +} \ No newline at end of file diff --git a/src/Microsoft.AspNetCore.Routing/EndpointMiddleware.cs b/src/Microsoft.AspNetCore.Routing/EndpointMiddleware.cs index 8ef2bcdb3d..46a2c36a25 100644 --- a/src/Microsoft.AspNetCore.Routing/EndpointMiddleware.cs +++ b/src/Microsoft.AspNetCore.Routing/EndpointMiddleware.cs @@ -4,6 +4,7 @@ using System; using System.Threading.Tasks; using Microsoft.AspNetCore.Http; +using Microsoft.AspNetCore.Http.Features; using Microsoft.Extensions.Logging; namespace Microsoft.AspNetCore.Routing @@ -40,13 +41,13 @@ namespace Microsoft.AspNetCore.Routing throw new InvalidOperationException(message); } - if (feature.Invoker != null) + if (feature.Endpoint?.RequestDelegate != null) { Log.ExecutingEndpoint(_logger, feature.Endpoint); try { - await feature.Invoker(_next)(httpContext); + await feature.Endpoint.RequestDelegate(httpContext); } finally { diff --git a/src/Microsoft.AspNetCore.Routing/EndpointRoutingMiddleware.cs b/src/Microsoft.AspNetCore.Routing/EndpointRoutingMiddleware.cs index e38175d165..c4c09d5de7 100644 --- a/src/Microsoft.AspNetCore.Routing/EndpointRoutingMiddleware.cs +++ b/src/Microsoft.AspNetCore.Routing/EndpointRoutingMiddleware.cs @@ -5,6 +5,7 @@ using System; using System.Threading; using System.Threading.Tasks; using Microsoft.AspNetCore.Http; +using Microsoft.AspNetCore.Http.Features; using Microsoft.AspNetCore.Routing.Matching; using Microsoft.Extensions.Logging; using Microsoft.Extensions.Options; @@ -54,11 +55,10 @@ namespace Microsoft.AspNetCore.Routing public async Task Invoke(HttpContext httpContext) { + // For back-compat EndpointRouteValuesFeature implements IEndpointFeature, IRouteValuesFeature and IRoutingFeature var feature = new EndpointFeature(); - httpContext.Features.Set(feature); - // Back compat support for users of IRoutingFeature - httpContext.Features.Set(feature); + SetEndpointFeature(httpContext, feature); // There's an inherent race condition between waiting for init and accessing the matcher // this is OK because once `_matcher` is initialized, it will not be set to null again. @@ -77,6 +77,18 @@ namespace Microsoft.AspNetCore.Routing await _next(httpContext); } + private static void SetEndpointFeature(HttpContext httpContext, EndpointFeature feature) + { + // An IRouteValuesFeature might have already been set + // Copy its RouteValues collection if present + var currentRouteValuesFeature = httpContext.Features.Get(); + feature.RouteValues = currentRouteValuesFeature?.RouteValues; + + httpContext.Features.Set(feature); + httpContext.Features.Set(feature); + httpContext.Features.Set(feature); + } + // Initialization is async to avoid blocking threads while reflection and things // of that nature take place. // @@ -127,4 +139,4 @@ namespace Microsoft.AspNetCore.Routing } } } -} +} \ No newline at end of file diff --git a/src/Microsoft.AspNetCore.Routing/IDataTokenMetadata.cs b/src/Microsoft.AspNetCore.Routing/IDataTokenMetadata.cs index 9cd6455d6c..0fb28ac244 100644 --- a/src/Microsoft.AspNetCore.Routing/IDataTokenMetadata.cs +++ b/src/Microsoft.AspNetCore.Routing/IDataTokenMetadata.cs @@ -2,6 +2,7 @@ // Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information. using System.Collections.Generic; +using Microsoft.AspNetCore.Http; namespace Microsoft.AspNetCore.Routing { diff --git a/src/Microsoft.AspNetCore.Routing/IEndpointFinderOfT.cs b/src/Microsoft.AspNetCore.Routing/IEndpointFinderOfT.cs index 618220a6e9..b40453d678 100644 --- a/src/Microsoft.AspNetCore.Routing/IEndpointFinderOfT.cs +++ b/src/Microsoft.AspNetCore.Routing/IEndpointFinderOfT.cs @@ -2,6 +2,7 @@ // Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information. using System.Collections.Generic; +using Microsoft.AspNetCore.Http; namespace Microsoft.AspNetCore.Routing { diff --git a/src/Microsoft.AspNetCore.Routing/Internal/DfaGraphWriter.cs b/src/Microsoft.AspNetCore.Routing/Internal/DfaGraphWriter.cs index 2d036ac76b..eb2d2f10ec 100644 --- a/src/Microsoft.AspNetCore.Routing/Internal/DfaGraphWriter.cs +++ b/src/Microsoft.AspNetCore.Routing/Internal/DfaGraphWriter.cs @@ -38,8 +38,7 @@ namespace Microsoft.AspNetCore.Routing.Internal var endpoints = dataSource.Endpoints; for (var i = 0; i < endpoints.Count; i++) { - var endpoint = endpoints[i] as MatcherEndpoint; - if (endpoint != null && endpoint.Metadata.GetMetadata() == null) + if (endpoints[i] is RouteEndpoint endpoint && endpoint.Metadata.GetMetadata() == null) { builder.AddEndpoint(endpoint); } diff --git a/src/Microsoft.AspNetCore.Routing/Matching/Candidate.cs b/src/Microsoft.AspNetCore.Routing/Matching/Candidate.cs index 27f9b138cf..47564d511c 100644 --- a/src/Microsoft.AspNetCore.Routing/Matching/Candidate.cs +++ b/src/Microsoft.AspNetCore.Routing/Matching/Candidate.cs @@ -9,7 +9,7 @@ namespace Microsoft.AspNetCore.Routing.Matching { internal readonly struct Candidate { - public readonly MatcherEndpoint Endpoint; + public readonly RouteEndpoint Endpoint; // Used to optimize out operations that modify route values. public readonly CandidateFlags Flags; @@ -48,7 +48,7 @@ namespace Microsoft.AspNetCore.Routing.Matching public readonly int Score; // Used in tests. - public Candidate(MatcherEndpoint endpoint) + public Candidate(RouteEndpoint endpoint) { Endpoint = endpoint; @@ -63,7 +63,7 @@ namespace Microsoft.AspNetCore.Routing.Matching } public Candidate( - MatcherEndpoint endpoint, + RouteEndpoint endpoint, int score, KeyValuePair[] slots, (string parameterName, int segmentIndex, int slotIndex)[] captures, diff --git a/src/Microsoft.AspNetCore.Routing/Matching/CandidateSet.cs b/src/Microsoft.AspNetCore.Routing/Matching/CandidateSet.cs index be134bf6ce..58cb607e41 100644 --- a/src/Microsoft.AspNetCore.Routing/Matching/CandidateSet.cs +++ b/src/Microsoft.AspNetCore.Routing/Matching/CandidateSet.cs @@ -3,6 +3,7 @@ using System; using System.Runtime.CompilerServices; +using Microsoft.AspNetCore.Http; namespace Microsoft.AspNetCore.Routing.Matching { @@ -35,7 +36,7 @@ namespace Microsoft.AspNetCore.Routing.Matching /// /// The list of endpoints, sorted in descending priority order. /// The list of endpoint scores. . - public CandidateSet(MatcherEndpoint[] endpoints, int[] scores) + public CandidateSet(RouteEndpoint[] endpoints, int[] scores) { Count = endpoints.Length; diff --git a/src/Microsoft.AspNetCore.Routing/Matching/CandidateState.cs b/src/Microsoft.AspNetCore.Routing/Matching/CandidateState.cs index cf27c04c78..04913a532d 100644 --- a/src/Microsoft.AspNetCore.Routing/Matching/CandidateState.cs +++ b/src/Microsoft.AspNetCore.Routing/Matching/CandidateState.cs @@ -8,7 +8,7 @@ namespace Microsoft.AspNetCore.Routing.Matching /// public struct CandidateState { - internal CandidateState(MatcherEndpoint endpoint, int score) + internal CandidateState(RouteEndpoint endpoint, int score) { Endpoint = endpoint; Score = score; @@ -18,12 +18,12 @@ namespace Microsoft.AspNetCore.Routing.Matching } /// - /// Gets the . + /// Gets the . /// - public MatcherEndpoint Endpoint { get; } + public RouteEndpoint Endpoint { get; } /// - /// Gets the score of the within the current + /// Gets the score of the within the current /// . /// /// @@ -40,15 +40,15 @@ namespace Microsoft.AspNetCore.Routing.Matching public int Score { get; } /// - /// Gets or sets a value which indicates where the is considered + /// Gets or sets a value which indicates where the is considered /// a valid candiate for the current request. Set this value to false to exclude an - /// from consideration. + /// from consideration. /// public bool IsValidCandidate { get; set; } /// /// Gets or sets the associated with the - /// and the current request. + /// and the current request. /// public RouteValueDictionary Values { get; set; } } diff --git a/src/Microsoft.AspNetCore.Routing/Matching/DataSourceDependentMatcher.cs b/src/Microsoft.AspNetCore.Routing/Matching/DataSourceDependentMatcher.cs index 9dced3dc3d..85a1214402 100644 --- a/src/Microsoft.AspNetCore.Routing/Matching/DataSourceDependentMatcher.cs +++ b/src/Microsoft.AspNetCore.Routing/Matching/DataSourceDependentMatcher.cs @@ -5,6 +5,7 @@ using System; using System.Collections.Generic; using System.Threading.Tasks; using Microsoft.AspNetCore.Http; +using Microsoft.AspNetCore.Http.Features; namespace Microsoft.AspNetCore.Routing.Matching { @@ -26,7 +27,7 @@ namespace Microsoft.AspNetCore.Routing.Matching // Used in tests internal Matcher CurrentMatcher => _cache.Value; - public override Task MatchAsync(HttpContext httpContext, IEndpointFeature feature) + public override Task MatchAsync(HttpContext httpContext, EndpointFeature feature) { return CurrentMatcher.MatchAsync(httpContext, feature); } @@ -36,11 +37,10 @@ namespace Microsoft.AspNetCore.Routing.Matching var builder = _matcherBuilderFactory(); for (var i = 0; i < endpoints.Count; i++) { - // By design we only look at MatcherEndpoint here. It's possible to + // By design we only look at RouteEndpoint here. It's possible to // register other endpoint types, which are non-routable, and it's // ok that we won't route to them. - var endpoint = endpoints[i] as MatcherEndpoint; - if (endpoint != null && endpoint.Metadata.GetMetadata() == null) + if (endpoints[i] is RouteEndpoint endpoint && endpoint.Metadata.GetMetadata() == null) { builder.AddEndpoint(endpoint); } diff --git a/src/Microsoft.AspNetCore.Routing/Matching/DefaultEndpointSelector.cs b/src/Microsoft.AspNetCore.Routing/Matching/DefaultEndpointSelector.cs index 59418b10c1..56779c75e0 100644 --- a/src/Microsoft.AspNetCore.Routing/Matching/DefaultEndpointSelector.cs +++ b/src/Microsoft.AspNetCore.Routing/Matching/DefaultEndpointSelector.cs @@ -6,6 +6,7 @@ using System.Collections.Generic; using System.Linq; using System.Threading.Tasks; using Microsoft.AspNetCore.Http; +using Microsoft.AspNetCore.Http.Features; namespace Microsoft.AspNetCore.Routing.Matching { @@ -25,7 +26,7 @@ namespace Microsoft.AspNetCore.Routing.Matching public override Task SelectAsync( HttpContext httpContext, - IEndpointFeature feature, + EndpointFeature feature, CandidateSet candidateSet) { for (var i = 0; i < _selectorPolicies.Length; i++) @@ -33,7 +34,7 @@ namespace Microsoft.AspNetCore.Routing.Matching _selectorPolicies[i].Apply(httpContext, candidateSet); } - MatcherEndpoint endpoint = null; + RouteEndpoint endpoint = null; RouteValueDictionary values = null; int? foundScore = null; for (var i = 0; i < candidateSet.Count; i++) @@ -73,8 +74,7 @@ namespace Microsoft.AspNetCore.Routing.Matching if (endpoint != null) { feature.Endpoint = endpoint; - feature.Invoker = endpoint.Invoker; - feature.Values = values; + feature.RouteValues = values; } return Task.CompletedTask; @@ -84,7 +84,7 @@ namespace Microsoft.AspNetCore.Routing.Matching { // If we get here it's the result of an ambiguity - we're OK with this // being a littler slower and more allocatey. - var matches = new List(); + var matches = new List(); for (var i = 0; i < candidates.Count; i++) { ref var state = ref candidates[i]; diff --git a/src/Microsoft.AspNetCore.Routing/Matching/DfaMatcher.cs b/src/Microsoft.AspNetCore.Routing/Matching/DfaMatcher.cs index ce8d6b4c1e..54209ab0e4 100644 --- a/src/Microsoft.AspNetCore.Routing/Matching/DfaMatcher.cs +++ b/src/Microsoft.AspNetCore.Routing/Matching/DfaMatcher.cs @@ -5,6 +5,7 @@ using System; using System.Collections.Generic; using System.Threading.Tasks; using Microsoft.AspNetCore.Http; +using Microsoft.AspNetCore.Http.Features; using Microsoft.AspNetCore.Routing.Patterns; namespace Microsoft.AspNetCore.Routing.Matching @@ -22,7 +23,7 @@ namespace Microsoft.AspNetCore.Routing.Matching _maxSegmentCount = maxSegmentCount; } - public sealed override Task MatchAsync(HttpContext httpContext, IEndpointFeature feature) + public sealed override Task MatchAsync(HttpContext httpContext, EndpointFeature feature) { if (httpContext == null) { diff --git a/src/Microsoft.AspNetCore.Routing/Matching/DfaMatcherBuilder.cs b/src/Microsoft.AspNetCore.Routing/Matching/DfaMatcherBuilder.cs index c58d2547ff..10b05a60a0 100644 --- a/src/Microsoft.AspNetCore.Routing/Matching/DfaMatcherBuilder.cs +++ b/src/Microsoft.AspNetCore.Routing/Matching/DfaMatcherBuilder.cs @@ -10,13 +10,13 @@ namespace Microsoft.AspNetCore.Routing.Matching { internal class DfaMatcherBuilder : MatcherBuilder { - private readonly List _endpoints = new List(); + private readonly List _endpoints = new List(); private readonly ParameterPolicyFactory _parameterPolicyFactory; private readonly EndpointSelector _selector; private readonly MatcherPolicy[] _policies; private readonly INodeBuilderPolicy[] _nodeBuilders; - private readonly MatcherEndpointComparer _comparer; + private readonly RouteEndpointComparer _comparer; public DfaMatcherBuilder( ParameterPolicyFactory parameterPolicyFactory, @@ -29,10 +29,10 @@ namespace Microsoft.AspNetCore.Routing.Matching // Taking care to use _policies, which has been sorted. _nodeBuilders = _policies.OfType().ToArray(); - _comparer = new MatcherEndpointComparer(_policies.OfType().ToArray()); + _comparer = new RouteEndpointComparer(_policies.OfType().ToArray()); } - public override void AddEndpoint(MatcherEndpoint endpoint) + public override void AddEndpoint(RouteEndpoint endpoint) { _endpoints.Add(endpoint); } @@ -48,7 +48,7 @@ namespace Microsoft.AspNetCore.Routing.Matching // Since we're doing a BFS we will process each 'level' of the tree in stages // this list will hold the set of items we need to process at the current // stage. - var work = new List<(MatcherEndpoint endpoint, List parents)>(); + var work = new List<(RouteEndpoint endpoint, List parents)>(); var root = new DfaNode() { PathDepth = 0, Label = "/" }; @@ -67,7 +67,7 @@ namespace Microsoft.AspNetCore.Routing.Matching for (var depth = 0; depth <= maxDepth; depth++) { // As we process items, collect the next set of items. - var nextWork = new List<(MatcherEndpoint endpoint, List parents)>(); + var nextWork = new List<(RouteEndpoint endpoint, List parents)>(); for (var i = 0; i < work.Count; i++) { @@ -192,7 +192,7 @@ namespace Microsoft.AspNetCore.Routing.Matching return root; } - private RoutePatternPathSegment GetCurrentSegment(MatcherEndpoint endpoint, int depth) + private RoutePatternPathSegment GetCurrentSegment(RouteEndpoint endpoint, int depth) { if (depth < endpoint.RoutePattern.PathSegments.Count) { @@ -337,7 +337,7 @@ namespace Microsoft.AspNetCore.Routing.Matching // Builds an array of candidates for a node, assigns a 'score' for each // endpoint. - internal Candidate[] CreateCandidates(IReadOnlyList endpoints) + internal Candidate[] CreateCandidates(IReadOnlyList endpoints) { if (endpoints.Count == 0) { @@ -367,7 +367,7 @@ namespace Microsoft.AspNetCore.Routing.Matching } // internal for tests - internal Candidate CreateCandidate(MatcherEndpoint endpoint, int score) + internal Candidate CreateCandidate(RouteEndpoint endpoint, int score) { var assignments = new Dictionary(StringComparer.OrdinalIgnoreCase); var slots = new List>(); @@ -481,7 +481,7 @@ namespace Microsoft.AspNetCore.Routing.Matching return groups.ToArray(); } - private static bool HasAdditionalRequiredSegments(MatcherEndpoint endpoint, int depth) + private static bool HasAdditionalRequiredSegments(RouteEndpoint endpoint, int depth) { for (var i = depth; i < endpoint.RoutePattern.PathSegments.Count; i++) { @@ -550,7 +550,7 @@ namespace Microsoft.AspNetCore.Routing.Matching }; // TODO: https://github.com/aspnet/Routing/issues/648 - next.Matches.AddRange(edge.Endpoints.Cast().ToArray()); + next.Matches.AddRange(edge.Endpoints.Cast().ToArray()); nextWork.Add(next); parent.PolicyEdges.Add(edge.State, next); diff --git a/src/Microsoft.AspNetCore.Routing/Matching/DfaNode.cs b/src/Microsoft.AspNetCore.Routing/Matching/DfaNode.cs index ae939a13eb..36cd4e9bcd 100644 --- a/src/Microsoft.AspNetCore.Routing/Matching/DfaNode.cs +++ b/src/Microsoft.AspNetCore.Routing/Matching/DfaNode.cs @@ -16,7 +16,7 @@ namespace Microsoft.AspNetCore.Routing.Matching public DfaNode() { Literals = new Dictionary(StringComparer.OrdinalIgnoreCase); - Matches = new List(); + Matches = new List(); PolicyEdges = new Dictionary(); } @@ -29,7 +29,7 @@ namespace Microsoft.AspNetCore.Routing.Matching // Just for diagnostics and debugging public string Label { get; set; } - public List Matches { get; } + public List Matches { get; } public Dictionary Literals { get; } diff --git a/src/Microsoft.AspNetCore.Routing/Matching/EndpointMetadataComparer.cs b/src/Microsoft.AspNetCore.Routing/Matching/EndpointMetadataComparer.cs index b2a7b9ec00..721d1816dd 100644 --- a/src/Microsoft.AspNetCore.Routing/Matching/EndpointMetadataComparer.cs +++ b/src/Microsoft.AspNetCore.Routing/Matching/EndpointMetadataComparer.cs @@ -3,6 +3,7 @@ using System; using System.Collections.Generic; +using Microsoft.AspNetCore.Http; namespace Microsoft.AspNetCore.Routing.Matching { diff --git a/src/Microsoft.AspNetCore.Routing/Matching/EndpointSelector.cs b/src/Microsoft.AspNetCore.Routing/Matching/EndpointSelector.cs index 436c3df6f5..d1f08ab207 100644 --- a/src/Microsoft.AspNetCore.Routing/Matching/EndpointSelector.cs +++ b/src/Microsoft.AspNetCore.Routing/Matching/EndpointSelector.cs @@ -3,6 +3,7 @@ using System.Threading.Tasks; using Microsoft.AspNetCore.Http; +using Microsoft.AspNetCore.Http.Features; namespace Microsoft.AspNetCore.Routing.Matching { @@ -21,13 +22,12 @@ namespace Microsoft.AspNetCore.Routing.Matching /// The . /// A that completes asynchronously once endpoint selection is complete. /// - /// An should assign the , - /// , and properties - /// once an endpoint is selected. + /// An should assign the + /// and properties once an endpoint is selected. /// public abstract Task SelectAsync( HttpContext httpContext, - IEndpointFeature feature, + EndpointFeature feature, CandidateSet candidates); } } diff --git a/src/Microsoft.AspNetCore.Routing/Matching/HttpMethodMatcherPolicy.cs b/src/Microsoft.AspNetCore.Routing/Matching/HttpMethodMatcherPolicy.cs index 4a08df719b..64601108e7 100644 --- a/src/Microsoft.AspNetCore.Routing/Matching/HttpMethodMatcherPolicy.cs +++ b/src/Microsoft.AspNetCore.Routing/Matching/HttpMethodMatcherPolicy.cs @@ -250,8 +250,8 @@ namespace Microsoft.AspNetCore.Routing.Matching private Endpoint CreateRejectionEndpoint(IEnumerable httpMethods) { var allow = string.Join(", ", httpMethods); - return new MatcherEndpoint( - (next) => (context) => + return new RouteEndpoint( + (context) => { context.Response.StatusCode = 405; context.Response.Headers.Add("Allow", allow); diff --git a/src/Microsoft.AspNetCore.Routing/Matching/IEndpointComparerPolicy.cs b/src/Microsoft.AspNetCore.Routing/Matching/IEndpointComparerPolicy.cs index a1010c181c..a62cc8162d 100644 --- a/src/Microsoft.AspNetCore.Routing/Matching/IEndpointComparerPolicy.cs +++ b/src/Microsoft.AspNetCore.Routing/Matching/IEndpointComparerPolicy.cs @@ -2,6 +2,7 @@ // Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information. using System.Collections.Generic; +using Microsoft.AspNetCore.Http; namespace Microsoft.AspNetCore.Routing.Matching { diff --git a/src/Microsoft.AspNetCore.Routing/Matching/INodeBuilderPolicy.cs b/src/Microsoft.AspNetCore.Routing/Matching/INodeBuilderPolicy.cs index 3c32b20aec..8be6cb75c9 100644 --- a/src/Microsoft.AspNetCore.Routing/Matching/INodeBuilderPolicy.cs +++ b/src/Microsoft.AspNetCore.Routing/Matching/INodeBuilderPolicy.cs @@ -2,6 +2,7 @@ // Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information. using System.Collections.Generic; +using Microsoft.AspNetCore.Http; namespace Microsoft.AspNetCore.Routing.Matching { diff --git a/src/Microsoft.AspNetCore.Routing/Matching/Matcher.cs b/src/Microsoft.AspNetCore.Routing/Matching/Matcher.cs index 4a0928d1c6..0d84df9dd4 100644 --- a/src/Microsoft.AspNetCore.Routing/Matching/Matcher.cs +++ b/src/Microsoft.AspNetCore.Routing/Matching/Matcher.cs @@ -3,6 +3,7 @@ using System.Threading.Tasks; using Microsoft.AspNetCore.Http; +using Microsoft.AspNetCore.Http.Features; namespace Microsoft.AspNetCore.Routing.Matching { @@ -18,8 +19,8 @@ namespace Microsoft.AspNetCore.Routing.Matching /// The associated with the current request. /// /// The associated with the current request. The - /// will be mutated to contain the result of the operation. + /// will be mutated to contain the result of the operation. /// A which represents the asynchronous completion of the operation. - public abstract Task MatchAsync(HttpContext httpContext, IEndpointFeature feature); + public abstract Task MatchAsync(HttpContext httpContext, EndpointFeature feature); } } diff --git a/src/Microsoft.AspNetCore.Routing/Matching/MatcherBuilder.cs b/src/Microsoft.AspNetCore.Routing/Matching/MatcherBuilder.cs index 84c22c59eb..c8368d0456 100644 --- a/src/Microsoft.AspNetCore.Routing/Matching/MatcherBuilder.cs +++ b/src/Microsoft.AspNetCore.Routing/Matching/MatcherBuilder.cs @@ -5,7 +5,7 @@ namespace Microsoft.AspNetCore.Routing.Matching { internal abstract class MatcherBuilder { - public abstract void AddEndpoint(MatcherEndpoint endpoint); + public abstract void AddEndpoint(RouteEndpoint endpoint); public abstract Matcher Build(); } diff --git a/src/Microsoft.AspNetCore.Routing/Matching/PolicyNodeEdge.cs b/src/Microsoft.AspNetCore.Routing/Matching/PolicyNodeEdge.cs index 2607b33d7e..419c390e05 100644 --- a/src/Microsoft.AspNetCore.Routing/Matching/PolicyNodeEdge.cs +++ b/src/Microsoft.AspNetCore.Routing/Matching/PolicyNodeEdge.cs @@ -2,6 +2,7 @@ // Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information. using System.Collections.Generic; +using Microsoft.AspNetCore.Http; namespace Microsoft.AspNetCore.Routing.Matching { diff --git a/src/Microsoft.AspNetCore.Routing/Matching/MatcherEndpointComparer.cs b/src/Microsoft.AspNetCore.Routing/Matching/RouteEndpointComparer.cs similarity index 70% rename from src/Microsoft.AspNetCore.Routing/Matching/MatcherEndpointComparer.cs rename to src/Microsoft.AspNetCore.Routing/Matching/RouteEndpointComparer.cs index a03e81076d..95c897c373 100644 --- a/src/Microsoft.AspNetCore.Routing/Matching/MatcherEndpointComparer.cs +++ b/src/Microsoft.AspNetCore.Routing/Matching/RouteEndpointComparer.cs @@ -6,7 +6,7 @@ using System.Diagnostics; namespace Microsoft.AspNetCore.Routing.Matching { - // Use to sort and group MatcherEndpoints. + // Use to sort and group RouteEndpoints. // // NOTE: // When ordering endpoints, we compare the route templates as an absolute last resort. @@ -20,14 +20,14 @@ namespace Microsoft.AspNetCore.Routing.Matching // IComparer implementation considers the template string as a tiebreaker. // IEqualityComparer implementation does not. // This is cool and good. - internal class MatcherEndpointComparer : IComparer, IEqualityComparer + internal class RouteEndpointComparer : IComparer, IEqualityComparer { - private readonly IComparer[] _comparers; + private readonly IComparer[] _comparers; - public MatcherEndpointComparer(IEndpointComparerPolicy[] policies) + public RouteEndpointComparer(IEndpointComparerPolicy[] policies) { // Order, Precedence, (others)... - _comparers = new IComparer[2 + policies.Length]; + _comparers = new IComparer[2 + policies.Length]; _comparers[0] = OrderComparer.Instance; _comparers[1] = PrecedenceComparer.Instance; for (var i = 0; i < policies.Length; i++) @@ -36,7 +36,7 @@ namespace Microsoft.AspNetCore.Routing.Matching } } - public int Compare(MatcherEndpoint x, MatcherEndpoint y) + public int Compare(RouteEndpoint x, RouteEndpoint y) { // We don't expose this publicly, and we should never call it on // a null endpoint. @@ -49,7 +49,7 @@ namespace Microsoft.AspNetCore.Routing.Matching return compare == 0 ? x.RoutePattern.RawText.CompareTo(y.RoutePattern.RawText) : compare; } - public bool Equals(MatcherEndpoint x, MatcherEndpoint y) + public bool Equals(RouteEndpoint x, RouteEndpoint y) { // We don't expose this publicly, and we should never call it on // a null endpoint. @@ -59,14 +59,14 @@ namespace Microsoft.AspNetCore.Routing.Matching return CompareCore(x, y) == 0; } - public int GetHashCode(MatcherEndpoint obj) + public int GetHashCode(RouteEndpoint obj) { // This should not be possible to call publicly. Debug.Fail("We don't expect this to be called."); throw new System.NotImplementedException(); } - private int CompareCore(MatcherEndpoint x, MatcherEndpoint y) + private int CompareCore(RouteEndpoint x, RouteEndpoint y) { for (var i = 0; i < _comparers.Length; i++) { @@ -80,21 +80,21 @@ namespace Microsoft.AspNetCore.Routing.Matching return 0; } - private class OrderComparer : IComparer + private class OrderComparer : IComparer { - public static readonly IComparer Instance = new OrderComparer(); + public static readonly IComparer Instance = new OrderComparer(); - public int Compare(MatcherEndpoint x, MatcherEndpoint y) + public int Compare(RouteEndpoint x, RouteEndpoint y) { return x.Order.CompareTo(y.Order); } } - private class PrecedenceComparer : IComparer + private class PrecedenceComparer : IComparer { - public static readonly IComparer Instance = new PrecedenceComparer(); + public static readonly IComparer Instance = new PrecedenceComparer(); - public int Compare(MatcherEndpoint x, MatcherEndpoint y) + public int Compare(RouteEndpoint x, RouteEndpoint y) { return x.RoutePattern.InboundPrecedence.CompareTo(y.RoutePattern.InboundPrecedence); } diff --git a/src/Microsoft.AspNetCore.Routing/Matching/MatcherEndpoint.cs b/src/Microsoft.AspNetCore.Routing/RouteEndpoint.cs similarity index 66% rename from src/Microsoft.AspNetCore.Routing/Matching/MatcherEndpoint.cs rename to src/Microsoft.AspNetCore.Routing/RouteEndpoint.cs index ff5067cb81..a6750a2ef6 100644 --- a/src/Microsoft.AspNetCore.Routing/Matching/MatcherEndpoint.cs +++ b/src/Microsoft.AspNetCore.Routing/RouteEndpoint.cs @@ -7,39 +7,34 @@ using System.Threading.Tasks; using Microsoft.AspNetCore.Http; using Microsoft.AspNetCore.Routing.Patterns; -namespace Microsoft.AspNetCore.Routing.Matching +namespace Microsoft.AspNetCore.Routing { /// /// Represents an that can be used in URL matching or URL generation. /// - public sealed class MatcherEndpoint : Endpoint + public sealed class RouteEndpoint : Endpoint { - internal static readonly Func EmptyInvoker = (next) => - { - return (context) => Task.CompletedTask; - }; - /// - /// Initializes a new instance of the class. + /// Initializes a new instance of the class. /// - /// The delegate to invoke to create a . + /// The delegate used to process requests for the endpoint. /// The to use in URL matching. /// The order assigned to the endpoint. /// /// The or metadata associated with the endpoint. /// /// The informational display name of the endpoint. - public MatcherEndpoint( - Func invoker, + public RouteEndpoint( + RequestDelegate requestDelegate, RoutePattern routePattern, int order, EndpointMetadataCollection metadata, string displayName) - : base(metadata, displayName) + : base(requestDelegate, metadata, displayName) { - if (invoker == null) + if (requestDelegate == null) { - throw new ArgumentNullException(nameof(invoker)); + throw new ArgumentNullException(nameof(requestDelegate)); } if (routePattern == null) @@ -47,16 +42,10 @@ namespace Microsoft.AspNetCore.Routing.Matching throw new ArgumentNullException(nameof(routePattern)); } - Invoker = invoker; RoutePattern = routePattern; Order = order; } - /// - /// Gets the invoker. The invoker is a delegate used to create a . - /// - public Func Invoker { get; } - /// /// Gets the order value of endpoint. /// diff --git a/src/Microsoft.AspNetCore.Routing/RouteValuesBasedEndpointFinder.cs b/src/Microsoft.AspNetCore.Routing/RouteValuesBasedEndpointFinder.cs index 2821c73aaf..a55e1b7274 100644 --- a/src/Microsoft.AspNetCore.Routing/RouteValuesBasedEndpointFinder.cs +++ b/src/Microsoft.AspNetCore.Routing/RouteValuesBasedEndpointFinder.cs @@ -4,6 +4,7 @@ using System; using System.Collections.Generic; using System.Linq; +using Microsoft.AspNetCore.Http; using Microsoft.AspNetCore.Routing.Internal; using Microsoft.AspNetCore.Routing.Matching; using Microsoft.AspNetCore.Routing.Template; @@ -56,7 +57,7 @@ namespace Microsoft.AspNetCore.Routing return matchResults .Select(matchResult => matchResult.Match) - .Select(match => (MatcherEndpoint)match.Entry.Data); + .Select(match => (RouteEndpoint)match.Entry.Data); } private void HandleChange() @@ -103,7 +104,7 @@ namespace Microsoft.AspNetCore.Routing var namedOutboundMatchResults = new Dictionary>( StringComparer.OrdinalIgnoreCase); - var endpoints = _endpointDataSource.Endpoints.OfType(); + var endpoints = _endpointDataSource.Endpoints.OfType(); foreach (var endpoint in endpoints) { // Do not consider an endpoint for link generation if the following marker metadata is on it @@ -135,7 +136,7 @@ namespace Microsoft.AspNetCore.Routing return (allOutboundMatches, namedOutboundMatchResults); } - private OutboundRouteEntry CreateOutboundRouteEntry(MatcherEndpoint endpoint) + private OutboundRouteEntry CreateOutboundRouteEntry(RouteEndpoint endpoint) { var routeValuesAddressMetadata = endpoint.Metadata.GetMetadata(); var entry = new OutboundRouteEntry() diff --git a/test/Microsoft.AspNetCore.Mvc.Routing.Abstractions.Tests/EndpointMetadataCollectionTests.cs b/test/Microsoft.AspNetCore.Mvc.Routing.Abstractions.Tests/EndpointMetadataCollectionTests.cs index 12c75020a4..9f37f3ebec 100644 --- a/test/Microsoft.AspNetCore.Mvc.Routing.Abstractions.Tests/EndpointMetadataCollectionTests.cs +++ b/test/Microsoft.AspNetCore.Mvc.Routing.Abstractions.Tests/EndpointMetadataCollectionTests.cs @@ -4,6 +4,7 @@ using System; using System.Collections.Generic; using System.Text; +using Microsoft.AspNetCore.Http; using Xunit; namespace Microsoft.AspNetCore.Routing diff --git a/test/Microsoft.AspNetCore.Routing.Tests/Builder/EndpointRoutingBuilderExtensionsTest.cs b/test/Microsoft.AspNetCore.Routing.Tests/Builder/EndpointRoutingBuilderExtensionsTest.cs index dd85fb11f6..028b8a6c60 100644 --- a/test/Microsoft.AspNetCore.Routing.Tests/Builder/EndpointRoutingBuilderExtensionsTest.cs +++ b/test/Microsoft.AspNetCore.Routing.Tests/Builder/EndpointRoutingBuilderExtensionsTest.cs @@ -5,6 +5,7 @@ using System; using System.Threading.Tasks; using Microsoft.AspNetCore.Builder.Internal; using Microsoft.AspNetCore.Http; +using Microsoft.AspNetCore.Http.Features; using Microsoft.AspNetCore.Internal; using Microsoft.AspNetCore.Routing; using Microsoft.Extensions.DependencyInjection; diff --git a/test/Microsoft.AspNetCore.Routing.Tests/CompositeEndpointDataSourceTest.cs b/test/Microsoft.AspNetCore.Routing.Tests/CompositeEndpointDataSourceTest.cs index a01ee921de..cd98416c4a 100644 --- a/test/Microsoft.AspNetCore.Routing.Tests/CompositeEndpointDataSourceTest.cs +++ b/test/Microsoft.AspNetCore.Routing.Tests/CompositeEndpointDataSourceTest.cs @@ -5,6 +5,7 @@ using System; using System.Collections.Generic; using System.Threading; using System.Threading.Tasks; +using Microsoft.AspNetCore.Http; using Microsoft.AspNetCore.Routing.Matching; using Microsoft.AspNetCore.Routing.Patterns; using Microsoft.AspNetCore.Routing.TestObjects; @@ -146,14 +147,14 @@ namespace Microsoft.AspNetCore.Routing Assert.False(token.HasChanged); } - private MatcherEndpoint CreateEndpoint( + private RouteEndpoint CreateEndpoint( string template, object defaults = null, int order = 0, string routeName = null) { - return new MatcherEndpoint( - MatcherEndpoint.EmptyInvoker, + return new RouteEndpoint( + TestConstants.EmptyRequestDelegate, RoutePatternFactory.Parse(template, defaults, parameterPolicies: null), order, EndpointMetadataCollection.Empty, diff --git a/test/Microsoft.AspNetCore.Routing.Tests/DefaultEndpointDataSourceTests.cs b/test/Microsoft.AspNetCore.Routing.Tests/DefaultEndpointDataSourceTests.cs index 6e46dea578..09278332df 100644 --- a/test/Microsoft.AspNetCore.Routing.Tests/DefaultEndpointDataSourceTests.cs +++ b/test/Microsoft.AspNetCore.Routing.Tests/DefaultEndpointDataSourceTests.cs @@ -1,10 +1,10 @@ // Copyright (c) .NET Foundation. All rights reserved. // Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information. -using Microsoft.AspNetCore.Routing.TestObjects; using System; using System.Collections.Generic; using System.Text; +using Microsoft.AspNetCore.Http; using Xunit; namespace Microsoft.AspNetCore.Routing @@ -16,8 +16,8 @@ namespace Microsoft.AspNetCore.Routing { // Arrange & Act var dataSource = new DefaultEndpointDataSource( - new TestEndpoint(EndpointMetadataCollection.Empty, "1"), - new TestEndpoint(EndpointMetadataCollection.Empty, "2") + new Endpoint(TestConstants.EmptyRequestDelegate, EndpointMetadataCollection.Empty, "1"), + new Endpoint(TestConstants.EmptyRequestDelegate, EndpointMetadataCollection.Empty, "2") ); // Assert @@ -32,8 +32,8 @@ namespace Microsoft.AspNetCore.Routing // Arrange & Act var dataSource = new DefaultEndpointDataSource(new List { - new TestEndpoint(EndpointMetadataCollection.Empty, "1"), - new TestEndpoint(EndpointMetadataCollection.Empty, "2") + new Endpoint(TestConstants.EmptyRequestDelegate, EndpointMetadataCollection.Empty, "1"), + new Endpoint(TestConstants.EmptyRequestDelegate, EndpointMetadataCollection.Empty, "2") }); // Assert diff --git a/test/Microsoft.AspNetCore.Routing.Tests/DefaultLinkGeneratorTest.cs b/test/Microsoft.AspNetCore.Routing.Tests/DefaultLinkGeneratorTest.cs index 33f1807d64..2d82c439ee 100644 --- a/test/Microsoft.AspNetCore.Routing.Tests/DefaultLinkGeneratorTest.cs +++ b/test/Microsoft.AspNetCore.Routing.Tests/DefaultLinkGeneratorTest.cs @@ -5,6 +5,7 @@ using System; using System.Collections.Generic; using System.Linq; using Microsoft.AspNetCore.Http; +using Microsoft.AspNetCore.Http.Features; using Microsoft.AspNetCore.Routing.Constraints; using Microsoft.AspNetCore.Routing.Internal; using Microsoft.AspNetCore.Routing.Matching; @@ -25,7 +26,7 @@ namespace Microsoft.AspNetCore.Routing public void GetLink_Success() { // Arrange - var endpoint = EndpointFactory.CreateMatcherEndpoint("{controller}"); + var endpoint = EndpointFactory.CreateRouteEndpoint("{controller}"); var linkGenerator = CreateLinkGenerator(endpoint); // Act @@ -40,7 +41,7 @@ namespace Microsoft.AspNetCore.Routing { // Arrange var expectedMessage = "Could not find a matching endpoint to generate a link."; - var endpoint = EndpointFactory.CreateMatcherEndpoint("{controller}/{action}"); + var endpoint = EndpointFactory.CreateRouteEndpoint("{controller}/{action}"); var linkGenerator = CreateLinkGenerator(endpoint); // Act & Assert @@ -53,7 +54,7 @@ namespace Microsoft.AspNetCore.Routing public void TryGetLink_Fail() { // Arrange - var endpoint = EndpointFactory.CreateMatcherEndpoint("{controller}/{action}"); + var endpoint = EndpointFactory.CreateRouteEndpoint("{controller}/{action}"); var linkGenerator = CreateLinkGenerator(endpoint); // Act @@ -70,9 +71,9 @@ namespace Microsoft.AspNetCore.Routing public void GetLink_MultipleEndpoints_Success() { // Arrange - var endpoint1 = EndpointFactory.CreateMatcherEndpoint("{controller}/{action}/{id?}"); - var endpoint2 = EndpointFactory.CreateMatcherEndpoint("{controller}/{action}"); - var endpoint3 = EndpointFactory.CreateMatcherEndpoint("{controller}"); + var endpoint1 = EndpointFactory.CreateRouteEndpoint("{controller}/{action}/{id?}"); + var endpoint2 = EndpointFactory.CreateRouteEndpoint("{controller}/{action}"); + var endpoint3 = EndpointFactory.CreateRouteEndpoint("{controller}"); var linkGenerator = CreateLinkGenerator(endpoint1, endpoint2, endpoint3); // Act @@ -86,9 +87,9 @@ namespace Microsoft.AspNetCore.Routing public void GetLink_MultipleEndpoints_Success2() { // Arrange - var endpoint1 = EndpointFactory.CreateMatcherEndpoint("{controller}/{action}/{id}"); - var endpoint2 = EndpointFactory.CreateMatcherEndpoint("{controller}/{action}"); - var endpoint3 = EndpointFactory.CreateMatcherEndpoint("{controller}"); + var endpoint1 = EndpointFactory.CreateRouteEndpoint("{controller}/{action}/{id}"); + var endpoint2 = EndpointFactory.CreateRouteEndpoint("{controller}/{action}"); + var endpoint3 = EndpointFactory.CreateRouteEndpoint("{controller}"); var linkGenerator = CreateLinkGenerator(endpoint1, endpoint2, endpoint3); // Act @@ -102,7 +103,7 @@ namespace Microsoft.AspNetCore.Routing public void GetLink_EncodesIntermediate_DefaultValues() { // Arrange - var endpoint = EndpointFactory.CreateMatcherEndpoint("{p1}/{p2=a b}/{p3=foo}"); + var endpoint = EndpointFactory.CreateRouteEndpoint("{p1}/{p2=a b}/{p3=foo}"); var linkGenerator = CreateLinkGenerator(endpoint); // Act @@ -118,7 +119,7 @@ namespace Microsoft.AspNetCore.Routing public void GetLink_EncodesValue_OfSingleAsteriskCatchAllParameter(string routeValue, string expected) { // Arrange - var endpoint = EndpointFactory.CreateMatcherEndpoint("{controller}/{action}/{*path}"); + var endpoint = EndpointFactory.CreateRouteEndpoint("{controller}/{action}/{*path}"); var linkGenerator = CreateLinkGenerator(endpoint); var httpContext = CreateHttpContext(ambientValues: new { controller = "Home", action = "Index" }); @@ -142,7 +143,7 @@ namespace Microsoft.AspNetCore.Routing public void GetLink_DoesNotEncodeSlashes_OfDoubleAsteriskCatchAllParameter(string routeValue, string expected) { // Arrange - var endpoint = EndpointFactory.CreateMatcherEndpoint("{controller}/{action}/{**path}"); + var endpoint = EndpointFactory.CreateRouteEndpoint("{controller}/{action}/{**path}"); var linkGenerator = CreateLinkGenerator(endpoint); var httpContext = CreateHttpContext(ambientValues: new { controller = "Home", action = "Index" }); @@ -157,7 +158,7 @@ namespace Microsoft.AspNetCore.Routing public void GetLink_EncodesContentOtherThanSlashes_OfDoubleAsteriskCatchAllParameter() { // Arrange - var endpoint = EndpointFactory.CreateMatcherEndpoint("{controller}/{action}/{**path}"); + var endpoint = EndpointFactory.CreateRouteEndpoint("{controller}/{action}/{**path}"); var linkGenerator = CreateLinkGenerator(endpoint); var httpContext = CreateHttpContext(ambientValues: new { controller = "Home", action = "Index" }); @@ -172,7 +173,7 @@ namespace Microsoft.AspNetCore.Routing public void GetLink_EncodesValues() { // Arrange - var endpoint = EndpointFactory.CreateMatcherEndpoint("{controller}/{action}"); + var endpoint = EndpointFactory.CreateRouteEndpoint("{controller}/{action}"); var linkGenerator = CreateLinkGenerator(endpoint); var httpContext = CreateHttpContext(ambientValues: new { controller = "Home", action = "Index" }); @@ -187,7 +188,7 @@ namespace Microsoft.AspNetCore.Routing public void GetLink_ForListOfStrings() { // Arrange - var endpoint = EndpointFactory.CreateMatcherEndpoint("{controller}/{action}"); + var endpoint = EndpointFactory.CreateRouteEndpoint("{controller}/{action}"); var linkGenerator = CreateLinkGenerator(endpoint); var context = CreateHttpContext(ambientValues: new { controller = "Home", action = "Index" }); @@ -202,7 +203,7 @@ namespace Microsoft.AspNetCore.Routing public void GetLink_ForListOfInts() { // Arrange - var endpoint = EndpointFactory.CreateMatcherEndpoint("{controller}/{action}"); + var endpoint = EndpointFactory.CreateRouteEndpoint("{controller}/{action}"); var linkGenerator = CreateLinkGenerator(endpoint); var httpContext = CreateHttpContext(ambientValues: new { controller = "Home", action = "Index" }); @@ -217,7 +218,7 @@ namespace Microsoft.AspNetCore.Routing public void GetLink_ForList_Empty() { // Arrange - var endpoint = EndpointFactory.CreateMatcherEndpoint("{controller}/{action}"); + var endpoint = EndpointFactory.CreateRouteEndpoint("{controller}/{action}"); var linkGenerator = CreateLinkGenerator(endpoint); var httpContext = CreateHttpContext(ambientValues: new { controller = "Home", action = "Index" }); @@ -232,7 +233,7 @@ namespace Microsoft.AspNetCore.Routing public void GetLink_ForList_StringWorkaround() { // Arrange - var endpoint = EndpointFactory.CreateMatcherEndpoint("{controller}/{action}"); + var endpoint = EndpointFactory.CreateRouteEndpoint("{controller}/{action}"); var linkGenerator = CreateLinkGenerator(endpoint); var httpContext = CreateHttpContext(ambientValues: new { controller = "Home", action = "Index" }); @@ -249,7 +250,7 @@ namespace Microsoft.AspNetCore.Routing public void GetLink_Success_AmbientValues() { // Arrange - var endpoint = EndpointFactory.CreateMatcherEndpoint("{controller}/{action}"); + var endpoint = EndpointFactory.CreateRouteEndpoint("{controller}/{action}"); var linkGenerator = CreateLinkGenerator(endpoint); var httpContext = CreateHttpContext(ambientValues: new { controller = "Home" }); @@ -264,7 +265,7 @@ namespace Microsoft.AspNetCore.Routing public void GetLink_GeneratesLowercaseUrl_SetOnRouteOptions() { // Arrange - var endpoint = EndpointFactory.CreateMatcherEndpoint("{controller}/{action}"); + var endpoint = EndpointFactory.CreateRouteEndpoint("{controller}/{action}"); var linkGenerator = CreateLinkGenerator(new[] { endpoint }, new RouteOptions() { LowercaseUrls = true }); var httpContext = CreateHttpContext(ambientValues: new { controller = "Home" }); @@ -279,7 +280,7 @@ namespace Microsoft.AspNetCore.Routing public void GetLink_GeneratesLowercaseQueryString_SetOnRouteOptions() { // Arrange - var endpoint = EndpointFactory.CreateMatcherEndpoint("{controller}/{action}"); + var endpoint = EndpointFactory.CreateRouteEndpoint("{controller}/{action}"); var linkGenerator = CreateLinkGenerator( new[] { endpoint }, new RouteOptions() { LowercaseUrls = true, LowercaseQueryStrings = true }); @@ -298,7 +299,7 @@ namespace Microsoft.AspNetCore.Routing public void GetLink_GeneratesLowercaseQueryString_OnlyIfLowercaseUrlIsTrue_SetOnRouteOptions() { // Arrange - var endpoint = EndpointFactory.CreateMatcherEndpoint("{controller}/{action}"); + var endpoint = EndpointFactory.CreateRouteEndpoint("{controller}/{action}"); var linkGenerator = CreateLinkGenerator( new[] { endpoint }, new RouteOptions() { LowercaseUrls = false, LowercaseQueryStrings = true }); @@ -317,7 +318,7 @@ namespace Microsoft.AspNetCore.Routing public void GetLink_AppendsTrailingSlash_SetOnRouteOptions() { // Arrange - var endpoint = EndpointFactory.CreateMatcherEndpoint("{controller}/{action}"); + var endpoint = EndpointFactory.CreateRouteEndpoint("{controller}/{action}"); var linkGenerator = CreateLinkGenerator( new[] { endpoint }, new RouteOptions() { AppendTrailingSlash = true }); @@ -334,7 +335,7 @@ namespace Microsoft.AspNetCore.Routing public void GetLink_GeneratesLowercaseQueryStringAndTrailingSlash_SetOnRouteOptions() { // Arrange - var endpoint = EndpointFactory.CreateMatcherEndpoint("{controller}/{action}"); + var endpoint = EndpointFactory.CreateRouteEndpoint("{controller}/{action}"); var linkGenerator = CreateLinkGenerator( new[] { endpoint }, new RouteOptions() { LowercaseUrls = true, LowercaseQueryStrings = true, AppendTrailingSlash = true }); @@ -353,7 +354,7 @@ namespace Microsoft.AspNetCore.Routing public void GetLink_LowercaseUrlSetToTrue_OnRouteOptions_OverridenByCallsiteValue() { // Arrange - var endpoint = EndpointFactory.CreateMatcherEndpoint("{controller}/{action}"); + var endpoint = EndpointFactory.CreateRouteEndpoint("{controller}/{action}"); var linkGenerator = CreateLinkGenerator( new[] { endpoint }, new RouteOptions() { LowercaseUrls = true }); @@ -376,7 +377,7 @@ namespace Microsoft.AspNetCore.Routing public void GetLink_LowercaseUrlSetToFalse_OnRouteOptions_OverridenByCallsiteValue() { // Arrange - var endpoint = EndpointFactory.CreateMatcherEndpoint("{controller}/{action}"); + var endpoint = EndpointFactory.CreateRouteEndpoint("{controller}/{action}"); var linkGenerator = CreateLinkGenerator( new[] { endpoint }, new RouteOptions() { LowercaseUrls = false }); @@ -399,7 +400,7 @@ namespace Microsoft.AspNetCore.Routing public void GetLink_LowercaseUrlQueryStringsSetToTrue_OnRouteOptions_OverridenByCallsiteValue() { // Arrange - var endpoint = EndpointFactory.CreateMatcherEndpoint("{controller}/{action}"); + var endpoint = EndpointFactory.CreateRouteEndpoint("{controller}/{action}"); var linkGenerator = CreateLinkGenerator( new[] { endpoint }, new RouteOptions() { LowercaseUrls = true, LowercaseQueryStrings = true }); @@ -423,7 +424,7 @@ namespace Microsoft.AspNetCore.Routing public void GetLink_LowercaseUrlQueryStringsSetToFalse_OnRouteOptions_OverridenByCallsiteValue() { // Arrange - var endpoint = EndpointFactory.CreateMatcherEndpoint("{controller}/{action}"); + var endpoint = EndpointFactory.CreateRouteEndpoint("{controller}/{action}"); var linkGenerator = CreateLinkGenerator( new[] { endpoint }, new RouteOptions() { LowercaseUrls = false, LowercaseQueryStrings = false }); @@ -447,7 +448,7 @@ namespace Microsoft.AspNetCore.Routing public void GetLink_AppendTrailingSlashSetToFalse_OnRouteOptions_OverridenByCallsiteValue() { // Arrange - var endpoint = EndpointFactory.CreateMatcherEndpoint("{controller}/{action}"); + var endpoint = EndpointFactory.CreateRouteEndpoint("{controller}/{action}"); var linkGenerator = CreateLinkGenerator( new[] { endpoint }, new RouteOptions() { AppendTrailingSlash = false }); @@ -470,7 +471,7 @@ namespace Microsoft.AspNetCore.Routing public void RouteGenerationRejectsConstraints() { // Arrange - var endpoint = EndpointFactory.CreateMatcherEndpoint( + var endpoint = EndpointFactory.CreateRouteEndpoint( "{p1}/{p2}", defaults: new { p2 = "catchall" }, constraints: new { p2 = "\\d{4}" }); @@ -491,7 +492,7 @@ namespace Microsoft.AspNetCore.Routing public void RouteGenerationAcceptsConstraints() { // Arrange - var endpoint = EndpointFactory.CreateMatcherEndpoint( + var endpoint = EndpointFactory.CreateRouteEndpoint( "{p1}/{p2}", defaults: new { p2 = "catchall" }, constraints: new { p2 = new RegexRouteConstraint("\\d{4}"), }); @@ -513,7 +514,7 @@ namespace Microsoft.AspNetCore.Routing public void RouteWithCatchAllRejectsConstraints() { // Arrange - var endpoint = EndpointFactory.CreateMatcherEndpoint( + var endpoint = EndpointFactory.CreateRouteEndpoint( "{p1}/{*p2}", defaults: new { p2 = "catchall" }, constraints: new { p2 = new RegexRouteConstraint("\\d{4}") }); @@ -534,7 +535,7 @@ namespace Microsoft.AspNetCore.Routing public void RouteWithCatchAllAcceptsConstraints() { // Arrange - var endpoint = EndpointFactory.CreateMatcherEndpoint( + var endpoint = EndpointFactory.CreateRouteEndpoint( "{p1}/{*p2}", defaults: new { p2 = "catchall" }, constraints: new { p2 = new RegexRouteConstraint("\\d{4}") }); @@ -567,7 +568,7 @@ namespace Microsoft.AspNetCore.Routing It.IsAny())) .Returns(true) .Verifiable(); - var endpoint = EndpointFactory.CreateMatcherEndpoint( + var endpoint = EndpointFactory.CreateRouteEndpoint( "{p1}/{p2}", defaults: new { p2 = "catchall" }, constraints: new { p2 = target.Object }); @@ -593,7 +594,7 @@ namespace Microsoft.AspNetCore.Routing { // Arrange var constraint = new CapturingConstraint(); - var endpoint = EndpointFactory.CreateMatcherEndpoint( + var endpoint = EndpointFactory.CreateRouteEndpoint( template: "slug/Home/Store", defaults: new { controller = "Home", action = "Store" }, constraints: new { c = constraint }); @@ -622,7 +623,7 @@ namespace Microsoft.AspNetCore.Routing { // Arrange var constraint = new CapturingConstraint(); - var endpoint = EndpointFactory.CreateMatcherEndpoint( + var endpoint = EndpointFactory.CreateRouteEndpoint( template: "slug/Home/Store", defaults: new { controller = "Home", action = "Store", otherthing = "17" }, constraints: new { c = constraint }); @@ -645,7 +646,7 @@ namespace Microsoft.AspNetCore.Routing { // Arrange var constraint = new CapturingConstraint(); - var endpoint = EndpointFactory.CreateMatcherEndpoint( + var endpoint = EndpointFactory.CreateRouteEndpoint( template: "slug/{controller}/{action}", defaults: new { action = "Index" }, constraints: new { c = constraint, }); @@ -669,7 +670,7 @@ namespace Microsoft.AspNetCore.Routing { // Arrange var constraint = new CapturingConstraint(); - var endpoint = EndpointFactory.CreateMatcherEndpoint( + var endpoint = EndpointFactory.CreateRouteEndpoint( template: "slug/Home/Store", defaults: new { controller = "Home", action = "Store", otherthing = "17", thirdthing = "13" }, constraints: new { c = constraint, }); @@ -694,7 +695,7 @@ namespace Microsoft.AspNetCore.Routing public void GetLink_InlineConstraints_Success() { // Arrange - var endpoint = EndpointFactory.CreateMatcherEndpoint( + var endpoint = EndpointFactory.CreateRouteEndpoint( template: "Home/Index/{id:int}", defaults: new { controller = "Home", action = "Index" }, constraints: new { }); @@ -714,7 +715,7 @@ namespace Microsoft.AspNetCore.Routing public void GetLink_InlineConstraints_NonMatchingvalue() { // Arrange - var endpoint = EndpointFactory.CreateMatcherEndpoint( + var endpoint = EndpointFactory.CreateRouteEndpoint( template: "Home/Index/{id}", defaults: new { controller = "Home", action = "Index" }, constraints: new { id = "int" }); @@ -735,7 +736,7 @@ namespace Microsoft.AspNetCore.Routing public void GetLink_InlineConstraints_OptionalParameter_ValuePresent() { // Arrange - var endpoint = EndpointFactory.CreateMatcherEndpoint( + var endpoint = EndpointFactory.CreateRouteEndpoint( template: "Home/Index/{id:int?}", defaults: new { controller = "Home", action = "Index" }, constraints: new { }); @@ -753,7 +754,7 @@ namespace Microsoft.AspNetCore.Routing public void GetLink_InlineConstraints_OptionalParameter_ValueNotPresent() { // Arrange - var endpoint = EndpointFactory.CreateMatcherEndpoint( + var endpoint = EndpointFactory.CreateRouteEndpoint( template: "Home/Index/{id?}", defaults: new { controller = "Home", action = "Index" }, constraints: new { id = "int" }); @@ -771,7 +772,7 @@ namespace Microsoft.AspNetCore.Routing public void GetLink_InlineConstraints_OptionalParameter_ValuePresent_ConstraintFails() { // Arrange - var endpoint = EndpointFactory.CreateMatcherEndpoint( + var endpoint = EndpointFactory.CreateRouteEndpoint( template: "Home/Index/{id?}", defaults: new { controller = "Home", action = "Index" }, constraints: new { id = "int" }); @@ -792,7 +793,7 @@ namespace Microsoft.AspNetCore.Routing public void GetLink_InlineConstraints_MultipleInlineConstraints() { // Arrange - var endpoint = EndpointFactory.CreateMatcherEndpoint( + var endpoint = EndpointFactory.CreateRouteEndpoint( template: "Home/Index/{id:int:range(1,20)}", defaults: new { controller = "Home", action = "Index" }, constraints: new { }); @@ -812,7 +813,7 @@ namespace Microsoft.AspNetCore.Routing public void GetLink_InlineConstraints_CompositeInlineConstraint_Fails() { // Arrange - var endpoint = EndpointFactory.CreateMatcherEndpoint( + var endpoint = EndpointFactory.CreateRouteEndpoint( template: "Home/Index/{id:int:range(1,20)}", defaults: new { controller = "Home", action = "Index" }, constraints: new { }); @@ -834,7 +835,7 @@ namespace Microsoft.AspNetCore.Routing { // Arrange var constraint = new MaxLengthRouteConstraint(20); - var endpoint = EndpointFactory.CreateMatcherEndpoint( + var endpoint = EndpointFactory.CreateRouteEndpoint( template: "Home/Index/{name}", defaults: new { controller = "Home", action = "Index" }, constraints: new { name = constraint }); @@ -854,7 +855,7 @@ namespace Microsoft.AspNetCore.Routing public void GetLink_OptionalParameter_ParameterPresentInValues() { // Arrange - var endpoint = EndpointFactory.CreateMatcherEndpoint("{controller}/{action}/{name?}"); + var endpoint = EndpointFactory.CreateRouteEndpoint("{controller}/{action}/{name?}"); var linkGenerator = CreateLinkGenerator(endpoint); var httpContext = CreateHttpContext(ambientValues: new { }); @@ -871,7 +872,7 @@ namespace Microsoft.AspNetCore.Routing public void GetLink_OptionalParameter_ParameterNotPresentInValues() { // Arrange - var endpoint = EndpointFactory.CreateMatcherEndpoint("{controller}/{action}/{name?}"); + var endpoint = EndpointFactory.CreateRouteEndpoint("{controller}/{action}/{name?}"); var linkGenerator = CreateLinkGenerator(endpoint); var httpContext = CreateHttpContext(ambientValues: new { }); @@ -888,7 +889,7 @@ namespace Microsoft.AspNetCore.Routing public void GetLink_OptionalParameter_ParameterPresentInValuesAndDefaults() { // Arrange - var endpoint = EndpointFactory.CreateMatcherEndpoint( + var endpoint = EndpointFactory.CreateRouteEndpoint( template: "{controller}/{action}/{name}", defaults: new { name = "default-products" }); var linkGenerator = CreateLinkGenerator(endpoint); @@ -907,7 +908,7 @@ namespace Microsoft.AspNetCore.Routing public void GetLink_OptionalParameter_ParameterNotPresentInValues_PresentInDefaults() { // Arrange - var endpoint = EndpointFactory.CreateMatcherEndpoint( + var endpoint = EndpointFactory.CreateRouteEndpoint( template: "{controller}/{action}/{name}", defaults: new { name = "products" }); var linkGenerator = CreateLinkGenerator(endpoint); @@ -926,7 +927,7 @@ namespace Microsoft.AspNetCore.Routing public void GetLink_ParameterNotPresentInTemplate_PresentInValues() { // Arrange - var endpoint = EndpointFactory.CreateMatcherEndpoint("{controller}/{action}/{name}"); + var endpoint = EndpointFactory.CreateRouteEndpoint("{controller}/{action}/{name}"); var linkGenerator = CreateLinkGenerator(endpoint); var httpContext = CreateHttpContext(ambientValues: new { }); @@ -943,7 +944,7 @@ namespace Microsoft.AspNetCore.Routing public void GetLink_OptionalParameter_FollowedByDotAfterSlash_ParameterPresent() { // Arrange - var endpoint = EndpointFactory.CreateMatcherEndpoint( + var endpoint = EndpointFactory.CreateRouteEndpoint( template: "{controller}/{action}/.{name?}"); var linkGenerator = CreateLinkGenerator(endpoint); var httpContext = CreateHttpContext(ambientValues: new { }); @@ -961,7 +962,7 @@ namespace Microsoft.AspNetCore.Routing public void GetLink_OptionalParameter_FollowedByDotAfterSlash_ParameterNotPresent() { // Arrange - var endpoint = EndpointFactory.CreateMatcherEndpoint("{controller}/{action}/.{name?}"); + var endpoint = EndpointFactory.CreateRouteEndpoint("{controller}/{action}/.{name?}"); var linkGenerator = CreateLinkGenerator(endpoint); var httpContext = CreateHttpContext(ambientValues: new { }); @@ -976,7 +977,7 @@ namespace Microsoft.AspNetCore.Routing public void GetLink_OptionalParameter_InSimpleSegment() { // Arrange - var endpoint = EndpointFactory.CreateMatcherEndpoint("{controller}/{action}/{name?}"); + var endpoint = EndpointFactory.CreateRouteEndpoint("{controller}/{action}/{name?}"); var linkGenerator = CreateLinkGenerator(endpoint); var httpContext = CreateHttpContext(ambientValues: new { }); @@ -991,7 +992,7 @@ namespace Microsoft.AspNetCore.Routing public void GetLink_TwoOptionalParameters_OneValueFromAmbientValues() { // Arrange - var endpoint = EndpointFactory.CreateMatcherEndpoint("a/{b=15}/{c?}/{d?}"); + var endpoint = EndpointFactory.CreateRouteEndpoint("a/{b=15}/{c?}/{d?}"); var linkGenerator = CreateLinkGenerator(endpoint); var httpContext = CreateHttpContext(ambientValues: new { c = "17" }); @@ -1006,7 +1007,7 @@ namespace Microsoft.AspNetCore.Routing public void GetLink_OptionalParameterAfterDefault_OneValueFromAmbientValues() { // Arrange - var endpoint = EndpointFactory.CreateMatcherEndpoint("a/{b=15}/{c?}"); + var endpoint = EndpointFactory.CreateRouteEndpoint("a/{b=15}/{c?}"); var linkGenerator = CreateLinkGenerator(endpoint); var httpContext = CreateHttpContext(ambientValues: new { c = "17" }); @@ -1021,7 +1022,7 @@ namespace Microsoft.AspNetCore.Routing public void GetLink_TwoOptionalParametersAfterDefault_LastValueFromAmbientValues() { // Arrange - var endpoint = EndpointFactory.CreateMatcherEndpoint("a/{b=15}/{c?}/{d?}"); + var endpoint = EndpointFactory.CreateRouteEndpoint("a/{b=15}/{c?}/{d?}"); var linkGenerator = CreateLinkGenerator(endpoint); var httpContext = CreateHttpContext(ambientValues: new { d = "17" }); @@ -1114,7 +1115,7 @@ namespace Microsoft.AspNetCore.Routing object defaults) { // Arrange - var endpoint = EndpointFactory.CreateMatcherEndpoint( + var endpoint = EndpointFactory.CreateRouteEndpoint( "Products/Edit/{id}", requiredValues: requiredValues, defaults: defaults); @@ -1138,7 +1139,7 @@ namespace Microsoft.AspNetCore.Routing // Verifying that discarding works in general usage case i.e when keys are not like controller, action etc. // Arrange - var endpoint = EndpointFactory.CreateMatcherEndpoint( + var endpoint = EndpointFactory.CreateRouteEndpoint( "Products/Edit/{id}", requiredValues: new { c = "Products", a = "Edit" }, defaults: new { c = "Products", a = "Edit" }); @@ -1162,7 +1163,7 @@ namespace Microsoft.AspNetCore.Routing // Verifying that discarding works in general usage case i.e when keys are not like controller, action etc. // Arrange - var endpoint = EndpointFactory.CreateMatcherEndpoint( + var endpoint = EndpointFactory.CreateRouteEndpoint( "Products/Edit/{id}", requiredValues: new { c = "Products", a = "Edit" }, defaults: new { c = "Products", a = "Edit" }); @@ -1268,7 +1269,7 @@ namespace Microsoft.AspNetCore.Routing // Linking to a different action on the same controller // Arrange - var endpoint = EndpointFactory.CreateMatcherEndpoint( + var endpoint = EndpointFactory.CreateRouteEndpoint( "Products/Edit/{id}", requiredValues: requiredValues, defaults: defaults); @@ -1293,11 +1294,11 @@ namespace Microsoft.AspNetCore.Routing var services = GetBasicServices(); services.TryAddEnumerable( ServiceDescriptor.Singleton, EndpointFinderByName>()); - var endpoint1 = EndpointFactory.CreateMatcherEndpoint( + var endpoint1 = EndpointFactory.CreateRouteEndpoint( "Products/Details/{id}", requiredValues: new { controller = "Products", action = "Details" }, defaults: new { controller = "Products", action = "Details" }); - var endpoint2 = EndpointFactory.CreateMatcherEndpoint( + var endpoint2 = EndpointFactory.CreateRouteEndpoint( "Customers/Details/{id}", requiredValues: new { controller = "Customers", action = "Details" }, defaults: new { controller = "Customers", action = "Details" }, @@ -1324,11 +1325,11 @@ namespace Microsoft.AspNetCore.Routing var services = GetBasicServices(); services.TryAddEnumerable( ServiceDescriptor.Singleton, EndpointFinderByName>()); - var endpoint1 = EndpointFactory.CreateMatcherEndpoint( + var endpoint1 = EndpointFactory.CreateRouteEndpoint( "Products/Details/{id}", requiredValues: new { controller = "Products", action = "Details" }, defaults: new { controller = "Products", action = "Details" }); - var endpoint2 = EndpointFactory.CreateMatcherEndpoint( + var endpoint2 = EndpointFactory.CreateRouteEndpoint( "Customers/Details/{id}", requiredValues: new { controller = "Customers", action = "Details" }, defaults: new { controller = "Customers", action = "Details" }, @@ -1356,7 +1357,7 @@ namespace Microsoft.AspNetCore.Routing public void GetTemplate_ByRouteValues_ReturnsTemplate() { // Arrange - var endpoint1 = EndpointFactory.CreateMatcherEndpoint( + var endpoint1 = EndpointFactory.CreateRouteEndpoint( "Product/Edit/{id}", requiredValues: new { controller = "Product", action = "Edit", area = (string)null, page = (string)null }, defaults: new { controller = "Product", action = "Edit", area = (string)null, page = (string)null }); @@ -1379,7 +1380,7 @@ namespace Microsoft.AspNetCore.Routing public void GetTemplate_ByRouteName_ReturnsTemplate() { // Arrange - var endpoint1 = EndpointFactory.CreateMatcherEndpoint( + var endpoint1 = EndpointFactory.CreateRouteEndpoint( "Product/Edit/{id}", defaults: new { controller = "Product", action = "Edit", area = (string)null, page = (string)null }, metadata: new RouteValuesAddressMetadata( @@ -1403,13 +1404,13 @@ namespace Microsoft.AspNetCore.Routing public void GetTemplate_ByRouteName_ReturnsTemplate_WithMultipleEndpoints() { // Arrange - var endpoint1 = EndpointFactory.CreateMatcherEndpoint( + var endpoint1 = EndpointFactory.CreateRouteEndpoint( "Product/Edit/{id}", defaults: new { controller = "Product", action = "Edit", area = (string)null, page = (string)null }, metadata: new RouteValuesAddressMetadata( "default", new RouteValueDictionary(new { controller = "Product", action = "Edit", area = (string)null, page = (string)null }))); - var endpoint2 = EndpointFactory.CreateMatcherEndpoint( + var endpoint2 = EndpointFactory.CreateRouteEndpoint( "Product/Details/{id}", defaults: new { controller = "Product", action = "Edit", area = (string)null, page = (string)null }, metadata: new RouteValuesAddressMetadata( @@ -1436,11 +1437,11 @@ namespace Microsoft.AspNetCore.Routing var services = GetBasicServices(); services.TryAddEnumerable( ServiceDescriptor.Singleton, EndpointFinderByName>()); - var endpoint1 = EndpointFactory.CreateMatcherEndpoint( + var endpoint1 = EndpointFactory.CreateRouteEndpoint( "Product/Edit/{id}", requiredValues: new { controller = "Product", action = "Edit", area = (string)null, page = (string)null }, defaults: new { controller = "Product", action = "Edit", area = (string)null, page = (string)null }); - var endpoint2 = EndpointFactory.CreateMatcherEndpoint( + var endpoint2 = EndpointFactory.CreateRouteEndpoint( "Customers/Details/{id}", requiredValues: new { controller = "Customers", action = "Details" }, defaults: new { controller = "Customers", action = "Details" }, @@ -1466,11 +1467,11 @@ namespace Microsoft.AspNetCore.Routing var services = GetBasicServices(); services.TryAddEnumerable( ServiceDescriptor.Singleton, EndpointFinderByName>()); - var endpoint1 = EndpointFactory.CreateMatcherEndpoint( + var endpoint1 = EndpointFactory.CreateRouteEndpoint( "Product/Edit/{id}", requiredValues: new { controller = "Product", action = "Edit", area = (string)null, page = (string)null }, defaults: new { controller = "Product", action = "Edit", area = (string)null, page = (string)null }); - var endpoint2 = EndpointFactory.CreateMatcherEndpoint( + var endpoint2 = EndpointFactory.CreateRouteEndpoint( "Customers/Details/{id}", requiredValues: new { controller = "Customers", action = "Details" }, defaults: new { controller = "Customers", action = "Details" }, @@ -1500,7 +1501,7 @@ namespace Microsoft.AspNetCore.Routing public void MakeUrl_GeneratesLink_WithExtraRouteValues() { // Arrange - var endpoint1 = EndpointFactory.CreateMatcherEndpoint( + var endpoint1 = EndpointFactory.CreateRouteEndpoint( "Product/Edit/{id}", requiredValues: new { controller = "Product", action = "Edit", area = (string)null, page = (string)null }, defaults: new { controller = "Product", action = "Edit", area = (string)null, page = (string)null }); @@ -1564,10 +1565,13 @@ namespace Microsoft.AspNetCore.Routing private HttpContext CreateHttpContext(object ambientValues) { var httpContext = new DefaultHttpContext(); - httpContext.Features.Set(new EndpointFeature + + var feature = new EndpointFeature { - Values = new RouteValueDictionary(ambientValues) - }); + RouteValues = new RouteValueDictionary(ambientValues) + }; + httpContext.Features.Set(feature); + httpContext.Features.Set(feature); return httpContext; } diff --git a/test/Microsoft.AspNetCore.Routing.Tests/EndpointFactory.cs b/test/Microsoft.AspNetCore.Routing.Tests/EndpointFactory.cs index 6ff5f8b909..3ae4b79517 100644 --- a/test/Microsoft.AspNetCore.Routing.Tests/EndpointFactory.cs +++ b/test/Microsoft.AspNetCore.Routing.Tests/EndpointFactory.cs @@ -1,7 +1,7 @@ // Copyright (c) .NET Foundation. All rights reserved. // Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information. -using Microsoft.AspNetCore.Routing.Matching; +using Microsoft.AspNetCore.Http; using Microsoft.AspNetCore.Routing.Patterns; using System; using System.Collections.Generic; @@ -10,7 +10,7 @@ namespace Microsoft.AspNetCore.Routing { internal static class EndpointFactory { - public static MatcherEndpoint CreateMatcherEndpoint( + public static RouteEndpoint CreateRouteEndpoint( string template, object defaults = null, object constraints = null, @@ -25,8 +25,8 @@ namespace Microsoft.AspNetCore.Routing d.Add(new RouteValuesAddressMetadata(null, new RouteValueDictionary(requiredValues))); } - return new MatcherEndpoint( - MatcherEndpoint.EmptyInvoker, + return new RouteEndpoint( + TestConstants.EmptyRequestDelegate, RoutePatternFactory.Parse(template, defaults, constraints), order, new EndpointMetadataCollection(d), diff --git a/test/Microsoft.AspNetCore.Routing.Tests/EndpointFeatureTest.cs b/test/Microsoft.AspNetCore.Routing.Tests/EndpointFeatureTest.cs index 5ffd868630..fb27335677 100644 --- a/test/Microsoft.AspNetCore.Routing.Tests/EndpointFeatureTest.cs +++ b/test/Microsoft.AspNetCore.Routing.Tests/EndpointFeatureTest.cs @@ -2,6 +2,7 @@ // Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information. using System.Linq; +using Microsoft.AspNetCore.Http; using Microsoft.AspNetCore.Routing.Matching; using Microsoft.AspNetCore.Routing.Patterns; using Xunit; @@ -18,8 +19,8 @@ namespace Microsoft.AspNetCore.Routing var feature = new EndpointFeature() { - Endpoint = new MatcherEndpoint( - MatcherEndpoint.EmptyInvoker, + Endpoint = new RouteEndpoint( + TestConstants.EmptyRequestDelegate, RoutePatternFactory.Parse("/"), 0, new EndpointMetadataCollection(new DataTokensMetadata(expected)), @@ -40,8 +41,8 @@ namespace Microsoft.AspNetCore.Routing // Arrange var feature = new EndpointFeature() { - Endpoint = new MatcherEndpoint( - MatcherEndpoint.EmptyInvoker, + Endpoint = new RouteEndpoint( + TestConstants.EmptyRequestDelegate, RoutePatternFactory.Parse("/"), 0, new EndpointMetadataCollection(), diff --git a/test/Microsoft.AspNetCore.Routing.Tests/EndpointRoutingMiddlewareTest.cs b/test/Microsoft.AspNetCore.Routing.Tests/EndpointRoutingMiddlewareTest.cs index 186eb9f0e3..1e2f1bbca3 100644 --- a/test/Microsoft.AspNetCore.Routing.Tests/EndpointRoutingMiddlewareTest.cs +++ b/test/Microsoft.AspNetCore.Routing.Tests/EndpointRoutingMiddlewareTest.cs @@ -4,6 +4,7 @@ using System; using System.Threading.Tasks; using Microsoft.AspNetCore.Http; +using Microsoft.AspNetCore.Http.Features; using Microsoft.AspNetCore.Routing.TestObjects; using Microsoft.Extensions.Logging; using Microsoft.Extensions.Logging.Abstractions; @@ -19,8 +20,7 @@ namespace Microsoft.AspNetCore.Routing public async Task Invoke_OnCall_SetsEndpointFeature() { // Arrange - var httpContext = new DefaultHttpContext(); - httpContext.RequestServices = new TestServiceProvider(); + var httpContext = CreateHttpContext(); var middleware = CreateMiddleware(); @@ -43,8 +43,7 @@ namespace Microsoft.AspNetCore.Routing TestSink.EnableWithTypeName); var loggerFactory = new TestLoggerFactory(sink, enabled: true); - var httpContext = new DefaultHttpContext(); - httpContext.RequestServices = new TestServiceProvider(); + var httpContext = CreateHttpContext(); var logger = new Logger(loggerFactory); var middleware = CreateMiddleware(logger); @@ -62,8 +61,7 @@ namespace Microsoft.AspNetCore.Routing public async Task Invoke_BackCompatGetRouteValue_ValueUsedFromEndpointFeature() { // Arrange - var httpContext = new DefaultHttpContext(); - httpContext.RequestServices = new TestServiceProvider(); + var httpContext = CreateHttpContext(); var middleware = CreateMiddleware(); @@ -71,7 +69,7 @@ namespace Microsoft.AspNetCore.Routing await middleware.Invoke(httpContext); var routeData = httpContext.GetRouteData(); var routeValue = httpContext.GetRouteValue("controller"); - var endpointFeature = httpContext.Features.Get(); + var routeValuesFeature = httpContext.Features.Get(); // Assert Assert.NotNull(routeData); @@ -79,15 +77,14 @@ namespace Microsoft.AspNetCore.Routing // changing route data value is reflected in endpoint feature values routeData.Values["testKey"] = "testValue"; - Assert.Equal("testValue", endpointFeature.Values["testKey"]); + Assert.Equal("testValue", routeValuesFeature.RouteValues["testKey"]); } [Fact] public async Task Invoke_BackCompatGetDataTokens_ValueUsedFromEndpointMetadata() { // Arrange - var httpContext = new DefaultHttpContext(); - httpContext.RequestServices = new TestServiceProvider(); + var httpContext = CreateHttpContext(); var middleware = CreateMiddleware(); @@ -95,7 +92,7 @@ namespace Microsoft.AspNetCore.Routing await middleware.Invoke(httpContext); var routeData = httpContext.GetRouteData(); var routeValue = httpContext.GetRouteValue("controller"); - var endpointFeature = httpContext.Features.Get(); + var routeValuesFeature = httpContext.Features.Get(); // Assert Assert.NotNull(routeData); @@ -103,7 +100,20 @@ namespace Microsoft.AspNetCore.Routing // changing route data value is reflected in endpoint feature values routeData.Values["testKey"] = "testValue"; - Assert.Equal("testValue", endpointFeature.Values["testKey"]); + Assert.Equal("testValue", routeValuesFeature.RouteValues["testKey"]); + } + + private HttpContext CreateHttpContext() + { + var feature = new EndpointFeature(); + + var httpContext = new DefaultHttpContext(); + httpContext.Features.Set(feature); + httpContext.Features.Set(feature); + + httpContext.RequestServices = new TestServiceProvider(); + + return httpContext; } private EndpointRoutingMiddleware CreateMiddleware(Logger logger = null) diff --git a/test/Microsoft.AspNetCore.Routing.Tests/Matching/BarebonesMatcher.cs b/test/Microsoft.AspNetCore.Routing.Tests/Matching/BarebonesMatcher.cs index df2d7b2a76..9b96df1ed8 100644 --- a/test/Microsoft.AspNetCore.Routing.Tests/Matching/BarebonesMatcher.cs +++ b/test/Microsoft.AspNetCore.Routing.Tests/Matching/BarebonesMatcher.cs @@ -4,6 +4,7 @@ using System; using System.Threading.Tasks; using Microsoft.AspNetCore.Http; +using Microsoft.AspNetCore.Http.Features; namespace Microsoft.AspNetCore.Routing.Matching { @@ -19,7 +20,7 @@ namespace Microsoft.AspNetCore.Routing.Matching Matchers = matchers; } - public override Task MatchAsync(HttpContext httpContext, IEndpointFeature feature) + public override Task MatchAsync(HttpContext httpContext, EndpointFeature feature) { if (httpContext == null) { @@ -37,7 +38,7 @@ namespace Microsoft.AspNetCore.Routing.Matching if (Matchers[i].TryMatch(path)) { feature.Endpoint = Matchers[i].Endpoint; - feature.Values = new RouteValueDictionary(); + feature.RouteValues = new RouteValueDictionary(); } } @@ -46,12 +47,12 @@ namespace Microsoft.AspNetCore.Routing.Matching public sealed class InnerMatcher : Matcher { - public readonly MatcherEndpoint Endpoint; + public readonly RouteEndpoint Endpoint; private readonly string[] _segments; private readonly Candidate[] _candidates; - public InnerMatcher(string[] segments, MatcherEndpoint endpoint) + public InnerMatcher(string[] segments, RouteEndpoint endpoint) { _segments = segments; Endpoint = endpoint; @@ -120,12 +121,12 @@ namespace Microsoft.AspNetCore.Routing.Matching return Array.Empty(); } - public override Task MatchAsync(HttpContext httpContext, IEndpointFeature feature) + public override Task MatchAsync(HttpContext httpContext, EndpointFeature feature) { if (TryMatch(httpContext.Request.Path.Value)) { feature.Endpoint = Endpoint; - feature.Values = new RouteValueDictionary(); + feature.RouteValues = new RouteValueDictionary(); } return Task.CompletedTask; diff --git a/test/Microsoft.AspNetCore.Routing.Tests/Matching/BarebonesMatcherBuilder.cs b/test/Microsoft.AspNetCore.Routing.Tests/Matching/BarebonesMatcherBuilder.cs index 0cde404142..d55d0dcdf0 100644 --- a/test/Microsoft.AspNetCore.Routing.Tests/Matching/BarebonesMatcherBuilder.cs +++ b/test/Microsoft.AspNetCore.Routing.Tests/Matching/BarebonesMatcherBuilder.cs @@ -11,9 +11,9 @@ namespace Microsoft.AspNetCore.Routing.Matching { internal class BarebonesMatcherBuilder : MatcherBuilder { - private List _endpoints = new List(); + private List _endpoints = new List(); - public override void AddEndpoint(MatcherEndpoint endpoint) + public override void AddEndpoint(RouteEndpoint endpoint) { _endpoints.Add(endpoint); } diff --git a/test/Microsoft.AspNetCore.Routing.Tests/Matching/BarebonesMatcherConformanceTest.cs b/test/Microsoft.AspNetCore.Routing.Tests/Matching/BarebonesMatcherConformanceTest.cs index c3f2b28968..bedc07a206 100644 --- a/test/Microsoft.AspNetCore.Routing.Tests/Matching/BarebonesMatcherConformanceTest.cs +++ b/test/Microsoft.AspNetCore.Routing.Tests/Matching/BarebonesMatcherConformanceTest.cs @@ -46,7 +46,7 @@ namespace Microsoft.AspNetCore.Routing.Matching return Task.CompletedTask; } - internal override Matcher CreateMatcher(params MatcherEndpoint[] endpoints) + internal override Matcher CreateMatcher(params RouteEndpoint[] endpoints) { var builder = new BarebonesMatcherBuilder(); for (int i = 0; i < endpoints.Length; i++) diff --git a/test/Microsoft.AspNetCore.Routing.Tests/Matching/CandidateSetTest.cs b/test/Microsoft.AspNetCore.Routing.Tests/Matching/CandidateSetTest.cs index 1c5d751af5..b0f3eacd91 100644 --- a/test/Microsoft.AspNetCore.Routing.Tests/Matching/CandidateSetTest.cs +++ b/test/Microsoft.AspNetCore.Routing.Tests/Matching/CandidateSetTest.cs @@ -3,6 +3,7 @@ using System; using System.Linq; +using Microsoft.AspNetCore.Http; using Microsoft.AspNetCore.Routing.Patterns; using Moq; using Xunit; @@ -24,7 +25,7 @@ namespace Microsoft.AspNetCore.Routing.Matching public void Create_CreatesCandidateSet(int count) { // Arrange - var endpoints = new MatcherEndpoint[count]; + var endpoints = new RouteEndpoint[count]; for (var i = 0; i < endpoints.Length; i++) { endpoints[i] = CreateEndpoint($"/{i}"); @@ -60,7 +61,7 @@ namespace Microsoft.AspNetCore.Routing.Matching public void Create_CreatesCandidateSet_TestConstructor(int count) { // Arrange - var endpoints = new MatcherEndpoint[count]; + var endpoints = new RouteEndpoint[count]; for (var i = 0; i < endpoints.Length; i++) { endpoints[i] = CreateEndpoint($"/{i}"); @@ -80,10 +81,10 @@ namespace Microsoft.AspNetCore.Routing.Matching } } - private MatcherEndpoint CreateEndpoint(string template) + private RouteEndpoint CreateEndpoint(string template) { - return new MatcherEndpoint( - MatcherEndpoint.EmptyInvoker, + return new RouteEndpoint( + TestConstants.EmptyRequestDelegate, RoutePatternFactory.Parse(template), 0, EndpointMetadataCollection.Empty, diff --git a/test/Microsoft.AspNetCore.Routing.Tests/Matching/DataSourceDependentMatcherTest.cs b/test/Microsoft.AspNetCore.Routing.Tests/Matching/DataSourceDependentMatcherTest.cs index 74b87b56fc..fc72765748 100644 --- a/test/Microsoft.AspNetCore.Routing.Tests/Matching/DataSourceDependentMatcherTest.cs +++ b/test/Microsoft.AspNetCore.Routing.Tests/Matching/DataSourceDependentMatcherTest.cs @@ -5,6 +5,7 @@ using System; using System.Collections.Generic; using System.Threading.Tasks; using Microsoft.AspNetCore.Http; +using Microsoft.AspNetCore.Http.Features; using Microsoft.AspNetCore.Routing.Patterns; using Microsoft.AspNetCore.Routing.TestObjects; using Xunit; @@ -34,8 +35,8 @@ namespace Microsoft.AspNetCore.Routing.Matching var dataSource = new DynamicEndpointDataSource(); var matcher = new DataSourceDependentMatcher(dataSource, TestMatcherBuilder.Create); - var endpoint = new MatcherEndpoint( - MatcherEndpoint.EmptyInvoker, + var endpoint = new RouteEndpoint( + TestConstants.EmptyRequestDelegate, RoutePatternFactory.Parse("a/b/c"), 0, EndpointMetadataCollection.Empty, @@ -52,11 +53,11 @@ namespace Microsoft.AspNetCore.Routing.Matching } [Fact] - public void Matcher_Ignores_NonMatcherEndpoint() + public void Matcher_Ignores_NonRouteEndpoint() { // Arrange var dataSource = new DynamicEndpointDataSource(); - var endpoint = new TestEndpoint(EndpointMetadataCollection.Empty, "test"); + var endpoint = new Endpoint(TestConstants.EmptyRequestDelegate, EndpointMetadataCollection.Empty, "test"); dataSource.AddEndpoint(endpoint); // Act @@ -72,8 +73,8 @@ namespace Microsoft.AspNetCore.Routing.Matching { // Arrange var dataSource = new DynamicEndpointDataSource(); - var endpoint = new MatcherEndpoint( - MatcherEndpoint.EmptyInvoker, + var endpoint = new RouteEndpoint( + TestConstants.EmptyRequestDelegate, RoutePatternFactory.Parse("/"), 0, new EndpointMetadataCollection(new SuppressMatchingMetadata()), @@ -116,9 +117,9 @@ namespace Microsoft.AspNetCore.Routing.Matching { public static Func Create = () => new TestMatcherBuilder(); - private List Endpoints { get; } = new List(); + private List Endpoints { get; } = new List(); - public override void AddEndpoint(MatcherEndpoint endpoint) + public override void AddEndpoint(RouteEndpoint endpoint) { Endpoints.Add(endpoint); } @@ -131,9 +132,9 @@ namespace Microsoft.AspNetCore.Routing.Matching private class TestMatcher : Matcher { - public IReadOnlyList Endpoints { get; set; } + public IReadOnlyList Endpoints { get; set; } - public override Task MatchAsync(HttpContext httpContext, IEndpointFeature feature) + public override Task MatchAsync(HttpContext httpContext, EndpointFeature feature) { throw new NotImplementedException(); } diff --git a/test/Microsoft.AspNetCore.Routing.Tests/Matching/DefaultEndpointSelectorTest.cs b/test/Microsoft.AspNetCore.Routing.Tests/Matching/DefaultEndpointSelectorTest.cs index 5ec095bc4e..c6ef7cd4f3 100644 --- a/test/Microsoft.AspNetCore.Routing.Tests/Matching/DefaultEndpointSelectorTest.cs +++ b/test/Microsoft.AspNetCore.Routing.Tests/Matching/DefaultEndpointSelectorTest.cs @@ -3,6 +3,7 @@ using System.Threading.Tasks; using Microsoft.AspNetCore.Http; +using Microsoft.AspNetCore.Http.Features; using Microsoft.AspNetCore.Routing.Patterns; using Moq; using Xunit; @@ -15,7 +16,7 @@ namespace Microsoft.AspNetCore.Routing.Matching public async Task SelectAsync_NoCandidates_DoesNothing() { // Arrange - var endpoints = new MatcherEndpoint[] { }; + var endpoints = new RouteEndpoint[] { }; var scores = new int[] { }; var candidateSet = CreateCandidateSet(endpoints, scores); @@ -33,7 +34,7 @@ namespace Microsoft.AspNetCore.Routing.Matching public async Task SelectAsync_NoValidCandidates_DoesNothing() { // Arrange - var endpoints = new MatcherEndpoint[] { CreateEndpoint("/test"), }; + var endpoints = new RouteEndpoint[] { CreateEndpoint("/test"), }; var scores = new int[] { 0, }; var candidateSet = CreateCandidateSet(endpoints, scores); @@ -48,14 +49,13 @@ namespace Microsoft.AspNetCore.Routing.Matching // Assert Assert.Null(feature.Endpoint); - Assert.Null(feature.Values); } [Fact] public async Task SelectAsync_SingleCandidate_ChoosesCandidate() { // Arrange - var endpoints = new MatcherEndpoint[] { CreateEndpoint("/test"), }; + var endpoints = new RouteEndpoint[] { CreateEndpoint("/test"), }; var scores = new int[] { 0, }; var candidateSet = CreateCandidateSet(endpoints, scores); @@ -70,18 +70,16 @@ namespace Microsoft.AspNetCore.Routing.Matching // Assert Assert.Same(endpoints[0], feature.Endpoint); - Assert.Same(endpoints[0].Invoker, feature.Invoker); - Assert.NotNull(feature.Values); } [Fact] public async Task SelectAsync_SingleValidCandidate_ChoosesCandidate() { // Arrange - var endpoints = new MatcherEndpoint[] { CreateEndpoint("/test1"), CreateEndpoint("/test2"), }; + var endpoints = new RouteEndpoint[] { CreateEndpoint("/test1"), CreateEndpoint("/test2"), }; var scores = new int[] { 0, 0 }; var candidateSet = CreateCandidateSet(endpoints, scores); - + candidateSet[0].IsValidCandidate = false; candidateSet[1].IsValidCandidate = true; @@ -99,7 +97,7 @@ namespace Microsoft.AspNetCore.Routing.Matching public async Task SelectAsync_SingleValidCandidateInGroup_ChoosesCandidate() { // Arrange - var endpoints = new MatcherEndpoint[] { CreateEndpoint("/test1"), CreateEndpoint("/test2"), CreateEndpoint("/test3"), }; + var endpoints = new RouteEndpoint[] { CreateEndpoint("/test1"), CreateEndpoint("/test2"), CreateEndpoint("/test3"), }; var scores = new int[] { 0, 0, 1 }; var candidateSet = CreateCandidateSet(endpoints, scores); @@ -121,7 +119,7 @@ namespace Microsoft.AspNetCore.Routing.Matching public async Task SelectAsync_ManyGroupsLastCandidate_ChoosesCandidate() { // Arrange - var endpoints = new MatcherEndpoint[] + var endpoints = new RouteEndpoint[] { CreateEndpoint("/test1"), CreateEndpoint("/test2"), @@ -152,7 +150,7 @@ namespace Microsoft.AspNetCore.Routing.Matching public async Task SelectAsync_MultipleValidCandidatesInGroup_ReportsAmbiguity() { // Arrange - var endpoints = new MatcherEndpoint[] { CreateEndpoint("/test1"), CreateEndpoint("/test2"), CreateEndpoint("/test3"), }; + var endpoints = new RouteEndpoint[] { CreateEndpoint("/test1"), CreateEndpoint("/test2"), CreateEndpoint("/test3"), }; var scores = new int[] { 0, 1, 1 }; var candidateSet = CreateCandidateSet(endpoints, scores); @@ -179,7 +177,7 @@ test: /test3", ex.Message); public async Task SelectAsync_RunsEndpointSelectorPolicies() { // Arrange - var endpoints = new MatcherEndpoint[] { CreateEndpoint("/test1"), CreateEndpoint("/test2"), CreateEndpoint("/test3"), }; + var endpoints = new RouteEndpoint[] { CreateEndpoint("/test1"), CreateEndpoint("/test2"), CreateEndpoint("/test3"), }; var scores = new int[] { 0, 0, 1 }; var candidateSet = CreateCandidateSet(endpoints, scores); @@ -206,22 +204,27 @@ test: /test3", ex.Message); Assert.Same(endpoints[2], feature.Endpoint); } - private static (HttpContext httpContext, IEndpointFeature feature) CreateContext() + private static (HttpContext httpContext, EndpointFeature feature) CreateContext() { - return (new DefaultHttpContext(), new EndpointFeature()); + var feature = new EndpointFeature(); + var httpContext = new DefaultHttpContext(); + httpContext.Features.Set(feature); + httpContext.Features.Set(feature); + + return (httpContext, feature); } - private static MatcherEndpoint CreateEndpoint(string template) + private static RouteEndpoint CreateEndpoint(string template) { - return new MatcherEndpoint( - MatcherEndpoint.EmptyInvoker, + return new RouteEndpoint( + TestConstants.EmptyRequestDelegate, RoutePatternFactory.Parse(template), 0, EndpointMetadataCollection.Empty, $"test: {template}"); } - private static CandidateSet CreateCandidateSet(MatcherEndpoint[] endpoints, int[] scores) + private static CandidateSet CreateCandidateSet(RouteEndpoint[] endpoints, int[] scores) { return new CandidateSet(endpoints, scores); } @@ -231,4 +234,4 @@ test: /test3", ex.Message); return new DefaultEndpointSelector(policies); } } -} +} \ No newline at end of file diff --git a/test/Microsoft.AspNetCore.Routing.Tests/Matching/DfaMatcherBuilderTest.cs b/test/Microsoft.AspNetCore.Routing.Tests/Matching/DfaMatcherBuilderTest.cs index f9581a067b..430a2d92d9 100644 --- a/test/Microsoft.AspNetCore.Routing.Tests/Matching/DfaMatcherBuilderTest.cs +++ b/test/Microsoft.AspNetCore.Routing.Tests/Matching/DfaMatcherBuilderTest.cs @@ -4,6 +4,7 @@ using System; using System.Collections.Generic; using System.Linq; +using Microsoft.AspNetCore.Http; using Microsoft.AspNetCore.Routing.Constraints; using Microsoft.AspNetCore.Routing.Patterns; using Microsoft.Extensions.Options; @@ -876,14 +877,14 @@ namespace Microsoft.AspNetCore.Routing.Matching policies); } - private MatcherEndpoint CreateEndpoint( + private RouteEndpoint CreateEndpoint( string template, object defaults = null, object constraints = null, params object[] metadata) { - return new MatcherEndpoint( - MatcherEndpoint.EmptyInvoker, + return new RouteEndpoint( + TestConstants.EmptyRequestDelegate, RoutePatternFactory.Parse(template, new RouteValueDictionary(defaults), new RouteValueDictionary(constraints)), 0, new EndpointMetadataCollection(metadata), diff --git a/test/Microsoft.AspNetCore.Routing.Tests/Matching/DfaMatcherConformanceTest.cs b/test/Microsoft.AspNetCore.Routing.Tests/Matching/DfaMatcherConformanceTest.cs index 2aa04fb882..5d44e62ab0 100644 --- a/test/Microsoft.AspNetCore.Routing.Tests/Matching/DfaMatcherConformanceTest.cs +++ b/test/Microsoft.AspNetCore.Routing.Tests/Matching/DfaMatcherConformanceTest.cs @@ -20,10 +20,10 @@ namespace Microsoft.AspNetCore.Routing.Matching await matcher.MatchAsync(httpContext, feature); // Assert - MatcherAssert.AssertMatch(feature, endpoint, keys, values); + MatcherAssert.AssertMatch(feature, httpContext, endpoint, keys, values); } - internal override Matcher CreateMatcher(params MatcherEndpoint[] endpoints) + internal override Matcher CreateMatcher(params RouteEndpoint[] endpoints) { var services = new ServiceCollection() .AddLogging() diff --git a/test/Microsoft.AspNetCore.Routing.Tests/Matching/DfaMatcherTest.cs b/test/Microsoft.AspNetCore.Routing.Tests/Matching/DfaMatcherTest.cs index 1fcd86f89c..43046764db 100644 --- a/test/Microsoft.AspNetCore.Routing.Tests/Matching/DfaMatcherTest.cs +++ b/test/Microsoft.AspNetCore.Routing.Tests/Matching/DfaMatcherTest.cs @@ -4,6 +4,7 @@ using System.Collections.Generic; using System.Threading.Tasks; using Microsoft.AspNetCore.Http; +using Microsoft.AspNetCore.Http.Features; using Microsoft.AspNetCore.Routing.Patterns; using Microsoft.Extensions.DependencyInjection; using Moq; @@ -15,10 +16,10 @@ namespace Microsoft.AspNetCore.Routing.Matching // so we're reusing the services here. public class DfaMatcherTest { - private MatcherEndpoint CreateEndpoint(string template, int order, object defaults = null, EndpointMetadataCollection metadata = null) + private RouteEndpoint CreateEndpoint(string template, int order, object defaults = null, EndpointMetadataCollection metadata = null) { - return new MatcherEndpoint( - MatcherEndpoint.EmptyInvoker, + return new RouteEndpoint( + TestConstants.EmptyRequestDelegate, RoutePatternFactory.Parse(template, defaults, parameterPolicies: null), order, metadata ?? EndpointMetadataCollection.Empty, @@ -54,11 +55,9 @@ namespace Microsoft.AspNetCore.Routing.Matching var matcher = CreateDfaMatcher(endpointDataSource); - var httpContext = new DefaultHttpContext(); + var (httpContext, endpointFeature) = CreateHttpContext(); httpContext.Request.Path = "/1"; - var endpointFeature = new EndpointFeature(); - // Act await matcher.MatchAsync(httpContext, endpointFeature); @@ -77,11 +76,9 @@ namespace Microsoft.AspNetCore.Routing.Matching var matcher = CreateDfaMatcher(endpointDataSource); - var httpContext = new DefaultHttpContext(); + var (httpContext, endpointFeature) = CreateHttpContext(); httpContext.Request.Path = "/One"; - var endpointFeature = new EndpointFeature(); - // Act await matcher.MatchAsync(httpContext, endpointFeature); @@ -104,11 +101,9 @@ namespace Microsoft.AspNetCore.Routing.Matching var matcher = CreateDfaMatcher(endpointDataSource); - var httpContext = new DefaultHttpContext(); + var (httpContext, endpointFeature) = CreateHttpContext(); httpContext.Request.Path = "/Teams"; - var endpointFeature = new EndpointFeature(); - // Act await matcher.MatchAsync(httpContext, endpointFeature); @@ -125,7 +120,7 @@ namespace Microsoft.AspNetCore.Routing.Matching var endpointSelector = new Mock(); endpointSelector - .Setup(s => s.SelectAsync(It.IsAny(), It.IsAny(), It.IsAny())) + .Setup(s => s.SelectAsync(It.IsAny(), It.IsAny(), It.IsAny())) .Callback((c, f, cs) => { Assert.Equal(2, cs.Count); @@ -152,16 +147,25 @@ namespace Microsoft.AspNetCore.Routing.Matching var matcher = CreateDfaMatcher(endpointDataSource, endpointSelector.Object); - var httpContext = new DefaultHttpContext(); + var (httpContext, endpointFeature) = CreateHttpContext(); httpContext.Request.Path = "/Teams"; - var endpointFeature = new EndpointFeature(); - // Act await matcher.MatchAsync(httpContext, endpointFeature); // Assert Assert.Equal(endpoint2, endpointFeature.Endpoint); } + + private (HttpContext httpContext, EndpointFeature feature) CreateHttpContext() + { + var feature = new EndpointFeature(); + + var httpContext = new DefaultHttpContext(); + httpContext.Features.Set(feature); + httpContext.Features.Set(feature); + + return (httpContext, feature); + } } } diff --git a/test/Microsoft.AspNetCore.Routing.Tests/Matching/EndpointMetadataComparerTest.cs b/test/Microsoft.AspNetCore.Routing.Tests/Matching/EndpointMetadataComparerTest.cs index f36ce81cba..918262e469 100644 --- a/test/Microsoft.AspNetCore.Routing.Tests/Matching/EndpointMetadataComparerTest.cs +++ b/test/Microsoft.AspNetCore.Routing.Tests/Matching/EndpointMetadataComparerTest.cs @@ -2,7 +2,7 @@ // Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information. using System.Collections.Generic; -using Microsoft.AspNetCore.Routing.TestObjects; +using Microsoft.AspNetCore.Http; using Xunit; namespace Microsoft.AspNetCore.Routing.Matching @@ -13,8 +13,8 @@ namespace Microsoft.AspNetCore.Routing.Matching public void Compare_EndpointWithMetadata_MoreSpecific() { // Arrange - var endpoint1 = new TestEndpoint(new EndpointMetadataCollection(new object[] { new TestMetadata(), }), "test1"); - var endpoint2 = new TestEndpoint(new EndpointMetadataCollection(new object[] { }), "test2"); + var endpoint1 = new Endpoint(TestConstants.EmptyRequestDelegate, new EndpointMetadataCollection(new object[] { new TestMetadata(), }), "test1"); + var endpoint2 = new Endpoint(TestConstants.EmptyRequestDelegate, new EndpointMetadataCollection(new object[] { }), "test2"); // Act var result = EndpointMetadataComparer.Default.Compare(endpoint1, endpoint2); @@ -27,8 +27,8 @@ namespace Microsoft.AspNetCore.Routing.Matching public void Compare_EndpointWithMetadata_ReverseOrder_MoreSpecific() { // Arrange - var endpoint1 = new TestEndpoint(new EndpointMetadataCollection(new object[] { }), "test1"); - var endpoint2 = new TestEndpoint(new EndpointMetadataCollection(new object[] { new TestMetadata(), }), "test2"); + var endpoint1 = new Endpoint(TestConstants.EmptyRequestDelegate, new EndpointMetadataCollection(new object[] { }), "test1"); + var endpoint2 = new Endpoint(TestConstants.EmptyRequestDelegate, new EndpointMetadataCollection(new object[] { new TestMetadata(), }), "test2"); // Act var result = EndpointMetadataComparer.Default.Compare(endpoint1, endpoint2); @@ -41,8 +41,8 @@ namespace Microsoft.AspNetCore.Routing.Matching public void Compare_BothEndpointsWithMetadata_Equal() { // Arrange - var endpoint1 = new TestEndpoint(new EndpointMetadataCollection(new object[] { new TestMetadata(), }), "test1"); - var endpoint2 = new TestEndpoint(new EndpointMetadataCollection(new object[] { new TestMetadata(), }), "test2"); + var endpoint1 = new Endpoint(TestConstants.EmptyRequestDelegate, new EndpointMetadataCollection(new object[] { new TestMetadata(), }), "test1"); + var endpoint2 = new Endpoint(TestConstants.EmptyRequestDelegate, new EndpointMetadataCollection(new object[] { new TestMetadata(), }), "test2"); // Act var result = EndpointMetadataComparer.Default.Compare(endpoint1, endpoint2); @@ -55,8 +55,8 @@ namespace Microsoft.AspNetCore.Routing.Matching public void Compare_BothEndpointsWithoutMetadata_Equal() { // Arrange - var endpoint1 = new TestEndpoint(new EndpointMetadataCollection(new object[] { }), "test1"); - var endpoint2 = new TestEndpoint(new EndpointMetadataCollection(new object[] { }), "test2"); + var endpoint1 = new Endpoint(TestConstants.EmptyRequestDelegate, new EndpointMetadataCollection(new object[] { }), "test1"); + var endpoint2 = new Endpoint(TestConstants.EmptyRequestDelegate, new EndpointMetadataCollection(new object[] { }), "test2"); // Act var result = EndpointMetadataComparer.Default.Compare(endpoint1, endpoint2); @@ -69,8 +69,8 @@ namespace Microsoft.AspNetCore.Routing.Matching public void Sort_EndpointWithMetadata_FirstInList() { // Arrange - var endpoint1 = new TestEndpoint(new EndpointMetadataCollection(new object[] { new TestMetadata(), }), "test1"); - var endpoint2 = new TestEndpoint(new EndpointMetadataCollection(new object[] { }), "test2"); + var endpoint1 = new Endpoint(TestConstants.EmptyRequestDelegate, new EndpointMetadataCollection(new object[] { new TestMetadata(), }), "test1"); + var endpoint2 = new Endpoint(TestConstants.EmptyRequestDelegate, new EndpointMetadataCollection(new object[] { }), "test2"); var list = new List() { endpoint2, endpoint1, }; diff --git a/test/Microsoft.AspNetCore.Routing.Tests/Matching/FullFeaturedMatcherConformanceTest.cs b/test/Microsoft.AspNetCore.Routing.Tests/Matching/FullFeaturedMatcherConformanceTest.cs index 4048c7827e..b831720e67 100644 --- a/test/Microsoft.AspNetCore.Routing.Tests/Matching/FullFeaturedMatcherConformanceTest.cs +++ b/test/Microsoft.AspNetCore.Routing.Tests/Matching/FullFeaturedMatcherConformanceTest.cs @@ -34,7 +34,7 @@ namespace Microsoft.AspNetCore.Routing.Matching await matcher.MatchAsync(httpContext, feature); // Assert - MatcherAssert.AssertMatch(feature, endpoint, keys, values); + MatcherAssert.AssertMatch(feature, httpContext, endpoint, keys, values); } [Fact] @@ -49,7 +49,7 @@ namespace Microsoft.AspNetCore.Routing.Matching await matcher.MatchAsync(httpContext, feature); // Assert - MatcherAssert.AssertMatch(feature, endpoint, new { b = "17", c = "18", }); + MatcherAssert.AssertMatch(feature, httpContext, endpoint, new { b = "17", c = "18", }); } [Fact] @@ -64,7 +64,7 @@ namespace Microsoft.AspNetCore.Routing.Matching await matcher.MatchAsync(httpContext, feature); // Assert - MatcherAssert.AssertMatch(feature, endpoint, new { b = "17", c = "18", d = "19" }); + MatcherAssert.AssertMatch(feature, httpContext, endpoint, new { b = "17", c = "18", d = "19" }); } [Theory] @@ -89,7 +89,7 @@ namespace Microsoft.AspNetCore.Routing.Matching await matcher.MatchAsync(httpContext, feature); // Assert - MatcherAssert.AssertNotMatch(feature); + MatcherAssert.AssertNotMatch(feature, httpContext); } [Theory] @@ -121,7 +121,7 @@ namespace Microsoft.AspNetCore.Routing.Matching await matcher.MatchAsync(httpContext, feature); // Assert - MatcherAssert.AssertMatch(feature, endpoint, keys, values); + MatcherAssert.AssertMatch(feature, httpContext, endpoint, keys, values); } [Theory] @@ -144,7 +144,7 @@ namespace Microsoft.AspNetCore.Routing.Matching await matcher.MatchAsync(httpContext, feature); // Assert - MatcherAssert.AssertNotMatch(feature); + MatcherAssert.AssertNotMatch(feature, httpContext); } [Theory] @@ -168,7 +168,7 @@ namespace Microsoft.AspNetCore.Routing.Matching await matcher.MatchAsync(httpContext, feature); // Assert - MatcherAssert.AssertMatch(feature, endpoint, keys, values); + MatcherAssert.AssertMatch(feature, httpContext, endpoint, keys, values); } // Historically catchall segments don't match an empty segment, but only if it's @@ -188,7 +188,7 @@ namespace Microsoft.AspNetCore.Routing.Matching await matcher.MatchAsync(httpContext, feature); // Assert - MatcherAssert.AssertNotMatch(feature); + MatcherAssert.AssertNotMatch(feature, httpContext); // Need to access these to prevent a warning from the xUnit analyzer. // Some of these tests will match (and process the values) and some will not. @@ -223,7 +223,7 @@ namespace Microsoft.AspNetCore.Routing.Matching await matcher.MatchAsync(httpContext, feature); // Assert - MatcherAssert.AssertMatch(feature, endpoint, keys, values); + MatcherAssert.AssertMatch(feature, httpContext, endpoint, keys, values); } [Theory] @@ -243,7 +243,7 @@ namespace Microsoft.AspNetCore.Routing.Matching await matcher.MatchAsync(httpContext, feature); // Assert - MatcherAssert.AssertNotMatch(feature); + MatcherAssert.AssertNotMatch(feature, httpContext); } [Theory] @@ -272,7 +272,7 @@ namespace Microsoft.AspNetCore.Routing.Matching await matcher.MatchAsync(httpContext, feature); // Assert - MatcherAssert.AssertMatch(feature, endpoint, keys, values); + MatcherAssert.AssertMatch(feature, httpContext, endpoint, keys, values); } [Theory] @@ -298,7 +298,7 @@ namespace Microsoft.AspNetCore.Routing.Matching await matcher.MatchAsync(httpContext, feature); // Assert - MatcherAssert.AssertNotMatch(feature); + MatcherAssert.AssertNotMatch(feature, httpContext); } // Most of are copied from old routing tests that date back to the VS 2010 era. Enjoy! @@ -323,7 +323,7 @@ namespace Microsoft.AspNetCore.Routing.Matching await matcher.MatchAsync(httpContext, feature); // Assert - MatcherAssert.AssertMatch(feature, endpoint, keys, values); + MatcherAssert.AssertMatch(feature, httpContext, endpoint, keys, values); } [Theory] @@ -353,7 +353,7 @@ namespace Microsoft.AspNetCore.Routing.Matching await matcher.MatchAsync(httpContext, feature); // Assert - MatcherAssert.AssertMatch(feature, expected, ignoreValues: true); + MatcherAssert.AssertMatch(feature, httpContext, expected, ignoreValues: true); } [Theory] @@ -387,7 +387,7 @@ namespace Microsoft.AspNetCore.Routing.Matching await matcher.MatchAsync(httpContext, feature); // Assert - MatcherAssert.AssertMatch(feature, expected, ignoreValues: true); + MatcherAssert.AssertMatch(feature, httpContext, expected, ignoreValues: true); } [Theory] @@ -440,7 +440,7 @@ namespace Microsoft.AspNetCore.Routing.Matching await matcher.MatchAsync(httpContext, feature); // Assert - MatcherAssert.AssertMatch(feature, expected, ignoreValues: true); + MatcherAssert.AssertMatch(feature, httpContext, expected, ignoreValues: true); } } -} +} \ No newline at end of file diff --git a/test/Microsoft.AspNetCore.Routing.Tests/Matching/HttpMethodMatcherPolicyIntegrationTest.cs b/test/Microsoft.AspNetCore.Routing.Tests/Matching/HttpMethodMatcherPolicyIntegrationTest.cs index 5d5c0eccd8..6d271b5c83 100644 --- a/test/Microsoft.AspNetCore.Routing.Tests/Matching/HttpMethodMatcherPolicyIntegrationTest.cs +++ b/test/Microsoft.AspNetCore.Routing.Tests/Matching/HttpMethodMatcherPolicyIntegrationTest.cs @@ -5,6 +5,7 @@ using System; using System.Collections.Generic; using System.Threading.Tasks; using Microsoft.AspNetCore.Http; +using Microsoft.AspNetCore.Http.Features; using Microsoft.AspNetCore.Routing.Patterns; using Microsoft.Extensions.DependencyInjection; using Xunit; @@ -28,7 +29,7 @@ namespace Microsoft.AspNetCore.Routing.Matching await matcher.MatchAsync(httpContext, feature); // Assert - MatcherAssert.AssertMatch(feature, endpoint); + MatcherAssert.AssertMatch(feature, httpContext, endpoint); } [Fact] @@ -44,7 +45,7 @@ namespace Microsoft.AspNetCore.Routing.Matching await matcher.MatchAsync(httpContext, feature); // Assert - MatcherAssert.AssertMatch(feature, endpoint); + MatcherAssert.AssertMatch(feature, httpContext, endpoint); } [Fact] @@ -60,7 +61,7 @@ namespace Microsoft.AspNetCore.Routing.Matching await matcher.MatchAsync(httpContext, feature); // Assert - MatcherAssert.AssertMatch(feature, endpoint); + MatcherAssert.AssertMatch(feature, httpContext, endpoint); } @@ -94,7 +95,7 @@ namespace Microsoft.AspNetCore.Routing.Matching await matcher.MatchAsync(httpContext, feature); // Assert - MatcherAssert.AssertMatch(feature, endpoint); + MatcherAssert.AssertMatch(feature, httpContext, endpoint); } [Fact] @@ -110,7 +111,7 @@ namespace Microsoft.AspNetCore.Routing.Matching await matcher.MatchAsync(httpContext, feature); // Assert - MatcherAssert.AssertMatch(feature, endpoint); + MatcherAssert.AssertMatch(feature, httpContext, endpoint); } [Fact] @@ -126,7 +127,7 @@ namespace Microsoft.AspNetCore.Routing.Matching await matcher.MatchAsync(httpContext, feature); // Assert - MatcherAssert.AssertMatch(feature, endpoint); + MatcherAssert.AssertMatch(feature, httpContext, endpoint); } [Fact] @@ -142,7 +143,7 @@ namespace Microsoft.AspNetCore.Routing.Matching await matcher.MatchAsync(httpContext, feature); // Assert - MatcherAssert.AssertMatch(feature, endpoint); + MatcherAssert.AssertMatch(feature, httpContext, endpoint); } [Fact] // This matches because the endpoint accepts OPTIONS @@ -158,7 +159,7 @@ namespace Microsoft.AspNetCore.Routing.Matching await matcher.MatchAsync(httpContext, feature); // Assert - MatcherAssert.AssertMatch(feature, endpoint); + MatcherAssert.AssertMatch(feature, httpContext, endpoint); } [Fact] @@ -174,7 +175,7 @@ namespace Microsoft.AspNetCore.Routing.Matching await matcher.MatchAsync(httpContext, feature); // Assert - MatcherAssert.AssertMatch(feature, endpoint); + MatcherAssert.AssertMatch(feature, httpContext, endpoint); } [Fact] // When all of the candidates handles specific verbs, use a 405 endpoint @@ -197,7 +198,7 @@ namespace Microsoft.AspNetCore.Routing.Matching Assert.Same(HttpMethodMatcherPolicy.Http405EndpointDisplayName, feature.Endpoint.DisplayName); // Invoke the endpoint - await feature.Invoker((c) => Task.CompletedTask)(httpContext); + await feature.Endpoint.RequestDelegate(httpContext); Assert.Equal(405, httpContext.Response.StatusCode); Assert.Equal("DELETE, GET, PUT", httpContext.Response.Headers["Allow"]); } @@ -216,7 +217,7 @@ namespace Microsoft.AspNetCore.Routing.Matching await matcher.MatchAsync(httpContext, feature); // Assert - MatcherAssert.AssertNotMatch(feature); + MatcherAssert.AssertNotMatch(feature, httpContext); } [Fact] // When one of the candidates handles all verbs, dont use a 405 endpoint @@ -233,7 +234,7 @@ namespace Microsoft.AspNetCore.Routing.Matching await matcher.MatchAsync(httpContext, feature); // Assert - MatcherAssert.AssertNotMatch(feature); + MatcherAssert.AssertNotMatch(feature, httpContext); } [Fact] @@ -250,7 +251,7 @@ namespace Microsoft.AspNetCore.Routing.Matching await matcher.MatchAsync(httpContext, feature); // Assert - MatcherAssert.AssertMatch(feature, endpoint1); + MatcherAssert.AssertMatch(feature, httpContext, endpoint1); } [Fact] @@ -267,7 +268,7 @@ namespace Microsoft.AspNetCore.Routing.Matching await matcher.MatchAsync(httpContext, feature); // Assert - MatcherAssert.AssertMatch(feature, endpoint1); + MatcherAssert.AssertMatch(feature, httpContext, endpoint1); } [Fact] // The non-http-method-specific endpoint is part of the same candidate set @@ -284,10 +285,10 @@ namespace Microsoft.AspNetCore.Routing.Matching await matcher.MatchAsync(httpContext, feature); // Assert - MatcherAssert.AssertMatch(feature, endpoint2, ignoreValues: true); + MatcherAssert.AssertMatch(feature, httpContext, endpoint2, ignoreValues: true); } - private static Matcher CreateMatcher(params MatcherEndpoint[] endpoints) + private static Matcher CreateMatcher(params RouteEndpoint[] endpoints) { var services = new ServiceCollection() .AddOptions() @@ -304,7 +305,7 @@ namespace Microsoft.AspNetCore.Routing.Matching return builder.Build(); } - internal static (HttpContext httpContext, IEndpointFeature feature) CreateContext( + internal static (HttpContext httpContext, EndpointFeature feature) CreateContext( string path, string httpMethod, bool corsPreflight = false) @@ -321,10 +322,11 @@ namespace Microsoft.AspNetCore.Routing.Matching var feature = new EndpointFeature(); httpContext.Features.Set(feature); + httpContext.Features.Set(feature); return (httpContext, feature); } - internal static MatcherEndpoint CreateEndpoint( + internal static RouteEndpoint CreateEndpoint( string template, object defaults = null, object constraints = null, @@ -339,15 +341,15 @@ namespace Microsoft.AspNetCore.Routing.Matching } var displayName = "endpoint: " + template + " " + string.Join(", ", httpMethods ?? new[] { "(any)" }); - return new MatcherEndpoint( - MatcherEndpoint.EmptyInvoker, + return new RouteEndpoint( + TestConstants.EmptyRequestDelegate, RoutePatternFactory.Parse(template, defaults, constraints), order, new EndpointMetadataCollection(metadata), displayName); } - internal (Matcher matcher, MatcherEndpoint endpoint) CreateMatcher(string template) + internal (Matcher matcher, RouteEndpoint endpoint) CreateMatcher(string template) { var endpoint = CreateEndpoint(template); return (CreateMatcher(endpoint), endpoint); diff --git a/test/Microsoft.AspNetCore.Routing.Tests/Matching/HttpMethodMatcherPolicyTest.cs b/test/Microsoft.AspNetCore.Routing.Tests/Matching/HttpMethodMatcherPolicyTest.cs index e8c7121597..070147fee1 100644 --- a/test/Microsoft.AspNetCore.Routing.Tests/Matching/HttpMethodMatcherPolicyTest.cs +++ b/test/Microsoft.AspNetCore.Routing.Tests/Matching/HttpMethodMatcherPolicyTest.cs @@ -4,6 +4,7 @@ using System; using System.Collections.Generic; using System.Linq; +using Microsoft.AspNetCore.Http; using Microsoft.AspNetCore.Routing.Patterns; using Xunit; using static Microsoft.AspNetCore.Routing.Matching.HttpMethodMatcherPolicy; @@ -276,7 +277,7 @@ namespace Microsoft.AspNetCore.Routing.Matching }); } - private static MatcherEndpoint CreateEndpoint(string template, HttpMethodMetadata httpMethodMetadata) + private static RouteEndpoint CreateEndpoint(string template, HttpMethodMetadata httpMethodMetadata) { var metadata = new List(); if (httpMethodMetadata != null) @@ -284,8 +285,8 @@ namespace Microsoft.AspNetCore.Routing.Matching metadata.Add(httpMethodMetadata); } - return new MatcherEndpoint( - MatcherEndpoint.EmptyInvoker, + return new RouteEndpoint( + TestConstants.EmptyRequestDelegate, RoutePatternFactory.Parse(template), 0, new EndpointMetadataCollection(metadata), diff --git a/test/Microsoft.AspNetCore.Routing.Tests/Matching/MatcherAssert.cs b/test/Microsoft.AspNetCore.Routing.Tests/Matching/MatcherAssert.cs index 5917ab4619..e760c71739 100644 --- a/test/Microsoft.AspNetCore.Routing.Tests/Matching/MatcherAssert.cs +++ b/test/Microsoft.AspNetCore.Routing.Tests/Matching/MatcherAssert.cs @@ -4,28 +4,30 @@ using System; using System.Collections.Generic; using System.Linq; +using Microsoft.AspNetCore.Http; +using Microsoft.AspNetCore.Http.Features; using Xunit.Sdk; namespace Microsoft.AspNetCore.Routing.Matching { internal static class MatcherAssert { - public static void AssertMatch(IEndpointFeature feature, Endpoint expected) + public static void AssertMatch(EndpointFeature feature, HttpContext context, Endpoint expected) { - AssertMatch(feature, expected, new RouteValueDictionary()); + AssertMatch(feature, context, expected, new RouteValueDictionary()); } - public static void AssertMatch(IEndpointFeature feature, Endpoint expected, bool ignoreValues) + public static void AssertMatch(EndpointFeature feature, HttpContext context, Endpoint expected, bool ignoreValues) { - AssertMatch(feature, expected, new RouteValueDictionary(), ignoreValues); + AssertMatch(feature, context, expected, new RouteValueDictionary(), ignoreValues); } - public static void AssertMatch(IEndpointFeature feature, Endpoint expected, object values) + public static void AssertMatch(EndpointFeature feature, HttpContext context, Endpoint expected, object values) { - AssertMatch(feature, expected, new RouteValueDictionary(values)); + AssertMatch(feature, context, expected, new RouteValueDictionary(values)); } - public static void AssertMatch(IEndpointFeature feature, Endpoint expected, string[] keys, string[] values) + public static void AssertMatch(EndpointFeature feature, HttpContext context, Endpoint expected, string[] keys, string[] values) { keys = keys ?? Array.Empty(); values = values ?? Array.Empty(); @@ -36,11 +38,12 @@ namespace Microsoft.AspNetCore.Routing.Matching } var zipped = keys.Zip(values, (k, v) => new KeyValuePair(k, v)); - AssertMatch(feature, expected, new RouteValueDictionary(zipped)); + AssertMatch(feature, context, expected, new RouteValueDictionary(zipped)); } public static void AssertMatch( - IEndpointFeature feature, + EndpointFeature feature, + HttpContext context, Endpoint expected, RouteValueDictionary values, bool ignoreValues = false) @@ -50,39 +53,41 @@ namespace Microsoft.AspNetCore.Routing.Matching throw new XunitException($"Was expected to match '{expected.DisplayName}' but did not match."); } - if (feature.Values == null) + var actualValues = context.Features.Get().RouteValues; + + if (actualValues == null) { - throw new XunitException("Values is null."); + throw new XunitException("RouteValues is null."); } if (!object.ReferenceEquals(expected, feature.Endpoint)) { throw new XunitException( $"Was expected to match '{expected.DisplayName}' but matched " + - $"'{feature.Endpoint.DisplayName}' with values: {FormatRouteValues(feature.Values)}."); + $"'{feature.Endpoint.DisplayName}' with values: {FormatRouteValues(actualValues)}."); } if (!ignoreValues) { // Note: this comparison is intended for unit testing, and is stricter than necessary to make tests // more precise. Route value comparisons in product code are more flexible than a simple .Equals. - if (values.Count != feature.Values.Count || - !values.OrderBy(kvp => kvp.Key).SequenceEqual(feature.Values.OrderBy(kvp => kvp.Key))) + if (values.Count != actualValues.Count || + !values.OrderBy(kvp => kvp.Key).SequenceEqual(actualValues.OrderBy(kvp => kvp.Key))) { throw new XunitException( $"Was expected to match '{expected.DisplayName}' with values {FormatRouteValues(values)} but matched " + - $"values: {FormatRouteValues(feature.Values)}."); + $"values: {FormatRouteValues(actualValues)}."); } } } - public static void AssertNotMatch(IEndpointFeature feature) + public static void AssertNotMatch(EndpointFeature feature, HttpContext context) { if (feature.Endpoint != null) { throw new XunitException( $"Was expected not to match '{feature.Endpoint.DisplayName}' " + - $"but matched with values: {FormatRouteValues(feature.Values)}."); + $"but matched with values: {FormatRouteValues(context.Features.Get().RouteValues)}."); } } @@ -91,4 +96,4 @@ namespace Microsoft.AspNetCore.Routing.Matching return "{" + string.Join(", ", values.Select(kvp => $"{kvp.Key} = '{kvp.Value}'")) + "}"; } } -} +} \ No newline at end of file diff --git a/test/Microsoft.AspNetCore.Routing.Tests/Matching/MatcherConformanceTest.SingleEndpoint.cs b/test/Microsoft.AspNetCore.Routing.Tests/Matching/MatcherConformanceTest.SingleEndpoint.cs index 580494b49c..17b569e261 100644 --- a/test/Microsoft.AspNetCore.Routing.Tests/Matching/MatcherConformanceTest.SingleEndpoint.cs +++ b/test/Microsoft.AspNetCore.Routing.Tests/Matching/MatcherConformanceTest.SingleEndpoint.cs @@ -19,7 +19,7 @@ namespace Microsoft.AspNetCore.Routing.Matching await matcher.MatchAsync(httpContext, feature); // Assert - MatcherAssert.AssertMatch(feature, endpoint); + MatcherAssert.AssertMatch(feature, httpContext, endpoint); } [Fact] @@ -33,7 +33,7 @@ namespace Microsoft.AspNetCore.Routing.Matching await matcher.MatchAsync(httpContext, feature); // Assert - MatcherAssert.AssertMatch(feature, endpoint); + MatcherAssert.AssertMatch(feature, httpContext, endpoint); } [Fact] @@ -47,7 +47,7 @@ namespace Microsoft.AspNetCore.Routing.Matching await matcher.MatchAsync(httpContext, feature); // Assert - MatcherAssert.AssertMatch(feature, endpoint); + MatcherAssert.AssertMatch(feature, httpContext, endpoint); } [Theory] @@ -64,7 +64,7 @@ namespace Microsoft.AspNetCore.Routing.Matching await matcher.MatchAsync(httpContext, feature); // Assert - MatcherAssert.AssertMatch(feature, endpoint); + MatcherAssert.AssertMatch(feature, httpContext, endpoint); } // Some matchers will optimize for the ASCII case @@ -81,7 +81,7 @@ namespace Microsoft.AspNetCore.Routing.Matching await matcher.MatchAsync(httpContext, feature); // Assert - MatcherAssert.AssertMatch(feature, endpoint); + MatcherAssert.AssertMatch(feature, httpContext, endpoint); } // Matchers should operate on the decoded representation - a matcher that calls @@ -99,7 +99,7 @@ namespace Microsoft.AspNetCore.Routing.Matching await matcher.MatchAsync(httpContext, feature); // Assert - MatcherAssert.AssertMatch(feature, endpoint); + MatcherAssert.AssertMatch(feature, httpContext, endpoint); } [Theory] @@ -119,7 +119,7 @@ namespace Microsoft.AspNetCore.Routing.Matching await matcher.MatchAsync(httpContext, feature); // Assert - MatcherAssert.AssertNotMatch(feature); + MatcherAssert.AssertNotMatch(feature, httpContext); } [Theory] @@ -136,7 +136,7 @@ namespace Microsoft.AspNetCore.Routing.Matching await matcher.MatchAsync(httpContext, feature); // Assert - MatcherAssert.AssertMatch(feature, endpoint); + MatcherAssert.AssertMatch(feature, httpContext, endpoint); } // Matchers do their own 'splitting' of the path into segments, so including @@ -159,7 +159,7 @@ namespace Microsoft.AspNetCore.Routing.Matching await matcher.MatchAsync(httpContext, feature); // Assert - MatcherAssert.AssertMatch(feature, endpoint); + MatcherAssert.AssertMatch(feature, httpContext, endpoint); } // Matchers do their own 'splitting' of the path into segments, so including @@ -190,7 +190,7 @@ namespace Microsoft.AspNetCore.Routing.Matching await matcher.MatchAsync(httpContext, feature); // Assert - MatcherAssert.AssertNotMatch(feature); + MatcherAssert.AssertNotMatch(feature, httpContext); } [Fact] @@ -205,7 +205,7 @@ namespace Microsoft.AspNetCore.Routing.Matching await matcher.MatchAsync(httpContext, feature); // Assert - MatcherAssert.AssertMatch(feature, endpoint, values); + MatcherAssert.AssertMatch(feature, httpContext, endpoint, values); } [Fact] @@ -220,7 +220,7 @@ namespace Microsoft.AspNetCore.Routing.Matching await matcher.MatchAsync(httpContext, feature); // Assert - MatcherAssert.AssertMatch(feature, endpoint, values); + MatcherAssert.AssertMatch(feature, httpContext, endpoint, values); } [Fact] @@ -235,7 +235,7 @@ namespace Microsoft.AspNetCore.Routing.Matching await matcher.MatchAsync(httpContext, feature); // Assert - MatcherAssert.AssertMatch(feature, endpoint, values); + MatcherAssert.AssertMatch(feature, httpContext, endpoint, values); } [Fact] @@ -255,7 +255,7 @@ namespace Microsoft.AspNetCore.Routing.Matching await matcher.MatchAsync(httpContext, feature); // Assert - MatcherAssert.AssertMatch(feature, endpoint, values); + MatcherAssert.AssertMatch(feature, httpContext, endpoint, values); } [Theory] @@ -273,7 +273,7 @@ namespace Microsoft.AspNetCore.Routing.Matching await matcher.MatchAsync(httpContext, feature); // Assert - MatcherAssert.AssertNotMatch(feature); + MatcherAssert.AssertNotMatch(feature, httpContext); } [Theory] @@ -294,7 +294,7 @@ namespace Microsoft.AspNetCore.Routing.Matching await matcher.MatchAsync(httpContext, feature); // Assert - MatcherAssert.AssertMatch(feature, endpoint, keys, values); + MatcherAssert.AssertMatch(feature, httpContext, endpoint, keys, values); } [Theory] @@ -323,7 +323,7 @@ namespace Microsoft.AspNetCore.Routing.Matching await matcher.MatchAsync(httpContext, feature); // Assert - MatcherAssert.AssertNotMatch(feature); + MatcherAssert.AssertNotMatch(feature, httpContext); } } } diff --git a/test/Microsoft.AspNetCore.Routing.Tests/Matching/MatcherConformanceTest.cs b/test/Microsoft.AspNetCore.Routing.Tests/Matching/MatcherConformanceTest.cs index 9dbc881548..45673bb525 100644 --- a/test/Microsoft.AspNetCore.Routing.Tests/Matching/MatcherConformanceTest.cs +++ b/test/Microsoft.AspNetCore.Routing.Tests/Matching/MatcherConformanceTest.cs @@ -4,6 +4,7 @@ using System; using System.Collections.Generic; using Microsoft.AspNetCore.Http; +using Microsoft.AspNetCore.Http.Features; using Microsoft.AspNetCore.Routing.Patterns; using Microsoft.Extensions.DependencyInjection; @@ -11,9 +12,9 @@ namespace Microsoft.AspNetCore.Routing.Matching { public abstract partial class MatcherConformanceTest { - internal abstract Matcher CreateMatcher(params MatcherEndpoint[] endpoints); + internal abstract Matcher CreateMatcher(params RouteEndpoint[] endpoints); - internal static (HttpContext httpContext, IEndpointFeature feature) CreateContext(string path) + internal static (HttpContext httpContext, EndpointFeature feature) CreateContext(string path) { var httpContext = new DefaultHttpContext(); httpContext.Request.Method = "TEST"; @@ -22,6 +23,7 @@ namespace Microsoft.AspNetCore.Routing.Matching var feature = new EndpointFeature(); httpContext.Features.Set(feature); + httpContext.Features.Set(feature); return (httpContext, feature); } @@ -34,21 +36,21 @@ namespace Microsoft.AspNetCore.Routing.Matching return services.BuildServiceProvider(); } - internal static MatcherEndpoint CreateEndpoint( + internal static RouteEndpoint CreateEndpoint( string template, object defaults = null, object constraints = null, int? order = null) { - return new MatcherEndpoint( - MatcherEndpoint.EmptyInvoker, + return new RouteEndpoint( + TestConstants.EmptyRequestDelegate, RoutePatternFactory.Parse(template, defaults, constraints), order ?? 0, EndpointMetadataCollection.Empty, "endpoint: " + template); } - internal (Matcher matcher, MatcherEndpoint endpoint) CreateMatcher(string template) + internal (Matcher matcher, RouteEndpoint endpoint) CreateMatcher(string template) { var endpoint = CreateEndpoint(template); return (CreateMatcher(endpoint), endpoint); diff --git a/test/Microsoft.AspNetCore.Routing.Tests/Matching/MatcherEndpointComparerTest.cs b/test/Microsoft.AspNetCore.Routing.Tests/Matching/RouteEndpointComparerTest.cs similarity index 93% rename from test/Microsoft.AspNetCore.Routing.Tests/Matching/MatcherEndpointComparerTest.cs rename to test/Microsoft.AspNetCore.Routing.Tests/Matching/RouteEndpointComparerTest.cs index 96539d8304..92d6e22e68 100644 --- a/test/Microsoft.AspNetCore.Routing.Tests/Matching/MatcherEndpointComparerTest.cs +++ b/test/Microsoft.AspNetCore.Routing.Tests/Matching/RouteEndpointComparerTest.cs @@ -2,12 +2,13 @@ // Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information. using System.Collections.Generic; +using Microsoft.AspNetCore.Http; using Microsoft.AspNetCore.Routing.Patterns; using Xunit; namespace Microsoft.AspNetCore.Routing.Matching { - public class MatcherEndpointComparerTest + public class RouteEndpointComparerTest { [Fact] public void Compare_PrefersOrder_IfDifferent() @@ -198,7 +199,7 @@ namespace Microsoft.AspNetCore.Routing.Matching var endpoint7 = CreateEndpoint("/bar{baz}", order: 0, new TestMetadata1(), new TestMetadata2()); // Endpoints listed in reverse of the desired order. - var list = new List() { endpoint7, endpoint6, endpoint5, endpoint4, endpoint3, endpoint2, endpoint1, }; + var list = new List() { endpoint7, endpoint6, endpoint5, endpoint4, endpoint3, endpoint2, endpoint1, }; var comparer = CreateComparer(new TestMetadata1Policy(), new TestMetadata2Policy()); @@ -217,19 +218,19 @@ namespace Microsoft.AspNetCore.Routing.Matching e => Assert.Same(endpoint7, e)); } - private static MatcherEndpoint CreateEndpoint(string template, int order, params object[] metadata) + private static RouteEndpoint CreateEndpoint(string template, int order, params object[] metadata) { - return new MatcherEndpoint( - MatcherEndpoint.EmptyInvoker, + return new RouteEndpoint( + TestConstants.EmptyRequestDelegate, RoutePatternFactory.Parse(template), order, new EndpointMetadataCollection(metadata), "test: " + template); } - private static MatcherEndpointComparer CreateComparer(params IEndpointComparerPolicy[] policies) + private static RouteEndpointComparer CreateComparer(params IEndpointComparerPolicy[] policies) { - return new MatcherEndpointComparer(policies); + return new RouteEndpointComparer(policies); } private class TestMetadata1 diff --git a/test/Microsoft.AspNetCore.Routing.Tests/Matching/RouteMatcher.cs b/test/Microsoft.AspNetCore.Routing.Tests/Matching/RouteMatcher.cs index e7f3cb7711..88395c2eff 100644 --- a/test/Microsoft.AspNetCore.Routing.Tests/Matching/RouteMatcher.cs +++ b/test/Microsoft.AspNetCore.Routing.Tests/Matching/RouteMatcher.cs @@ -4,6 +4,7 @@ using System; using System.Threading.Tasks; using Microsoft.AspNetCore.Http; +using Microsoft.AspNetCore.Http.Features; namespace Microsoft.AspNetCore.Routing.Matching { @@ -17,7 +18,7 @@ namespace Microsoft.AspNetCore.Routing.Matching _inner = inner; } - public async override Task MatchAsync(HttpContext httpContext, IEndpointFeature feature) + public async override Task MatchAsync(HttpContext httpContext, EndpointFeature feature) { if (httpContext == null) { @@ -34,7 +35,7 @@ namespace Microsoft.AspNetCore.Routing.Matching if (context.Handler != null) { - feature.Values = context.RouteData.Values; + feature.RouteValues = context.RouteData.Values; await context.Handler(httpContext); } } diff --git a/test/Microsoft.AspNetCore.Routing.Tests/Matching/RouteMatcherBuilder.cs b/test/Microsoft.AspNetCore.Routing.Tests/Matching/RouteMatcherBuilder.cs index 57394517bf..ba8d46a920 100644 --- a/test/Microsoft.AspNetCore.Routing.Tests/Matching/RouteMatcherBuilder.cs +++ b/test/Microsoft.AspNetCore.Routing.Tests/Matching/RouteMatcherBuilder.cs @@ -5,6 +5,7 @@ using System; using System.Collections.Generic; using System.Linq; using System.Threading.Tasks; +using Microsoft.AspNetCore.Http.Features; using Microsoft.AspNetCore.Routing.Patterns; using Microsoft.Extensions.Options; @@ -13,15 +14,15 @@ namespace Microsoft.AspNetCore.Routing.Matching internal class RouteMatcherBuilder : MatcherBuilder { private readonly IInlineConstraintResolver _constraintResolver; - private readonly List _endpoints; + private readonly List _endpoints; public RouteMatcherBuilder() { _constraintResolver = new DefaultInlineConstraintResolver(Options.Create(new RouteOptions())); - _endpoints = new List(); + _endpoints = new List(); } - public override void AddEndpoint(MatcherEndpoint endpoint) + public override void AddEndpoint(RouteEndpoint endpoint) { _endpoints.Add(endpoint); } @@ -73,10 +74,10 @@ namespace Microsoft.AspNetCore.Routing.Matching private class SelectorRouter : IRouter { private readonly EndpointSelector _selector; - private readonly MatcherEndpoint[] _candidates; + private readonly RouteEndpoint[] _candidates; private readonly int[] _scores; - public SelectorRouter(EndpointSelector selector, MatcherEndpoint[] candidates) + public SelectorRouter(EndpointSelector selector, RouteEndpoint[] candidates) { _selector = selector; _candidates = candidates; @@ -91,7 +92,7 @@ namespace Microsoft.AspNetCore.Routing.Matching public async Task RouteAsync(RouteContext context) { - var feature = context.HttpContext.Features.Get(); + var feature = (EndpointFeature)context.HttpContext.Features.Get(); // This is needed due to a quirk of our tests - they reuse the endpoint feature // across requests. diff --git a/test/Microsoft.AspNetCore.Routing.Tests/Matching/RouteMatcherConformanceTest.cs b/test/Microsoft.AspNetCore.Routing.Tests/Matching/RouteMatcherConformanceTest.cs index 8c3233e4cf..5daf2cae95 100644 --- a/test/Microsoft.AspNetCore.Routing.Tests/Matching/RouteMatcherConformanceTest.cs +++ b/test/Microsoft.AspNetCore.Routing.Tests/Matching/RouteMatcherConformanceTest.cs @@ -5,7 +5,7 @@ namespace Microsoft.AspNetCore.Routing.Matching { public class RouteMatcherConformanceTest : FullFeaturedMatcherConformanceTest { - internal override Matcher CreateMatcher(params MatcherEndpoint[] endpoints) + internal override Matcher CreateMatcher(params RouteEndpoint[] endpoints) { var builder = new RouteMatcherBuilder(); for (int i = 0; i < endpoints.Length; i++) diff --git a/test/Microsoft.AspNetCore.Routing.Tests/Matching/TreeRouterMatcher.cs b/test/Microsoft.AspNetCore.Routing.Tests/Matching/TreeRouterMatcher.cs index 7e27f454c1..3c8c10daa0 100644 --- a/test/Microsoft.AspNetCore.Routing.Tests/Matching/TreeRouterMatcher.cs +++ b/test/Microsoft.AspNetCore.Routing.Tests/Matching/TreeRouterMatcher.cs @@ -4,6 +4,7 @@ using System; using System.Threading.Tasks; using Microsoft.AspNetCore.Http; +using Microsoft.AspNetCore.Http.Features; using Microsoft.AspNetCore.Routing.Tree; namespace Microsoft.AspNetCore.Routing.Matching @@ -18,7 +19,7 @@ namespace Microsoft.AspNetCore.Routing.Matching _inner = inner; } - public async override Task MatchAsync(HttpContext httpContext, IEndpointFeature feature) + public async override Task MatchAsync(HttpContext httpContext, EndpointFeature feature) { if (httpContext == null) { @@ -35,7 +36,7 @@ namespace Microsoft.AspNetCore.Routing.Matching if (context.Handler != null) { - feature.Values = context.RouteData.Values; + feature.RouteValues = context.RouteData.Values; await context.Handler(httpContext); } } diff --git a/test/Microsoft.AspNetCore.Routing.Tests/Matching/TreeRouterMatcherBuilder.cs b/test/Microsoft.AspNetCore.Routing.Tests/Matching/TreeRouterMatcherBuilder.cs index e9c5b7ddc5..b151d4cf4e 100644 --- a/test/Microsoft.AspNetCore.Routing.Tests/Matching/TreeRouterMatcherBuilder.cs +++ b/test/Microsoft.AspNetCore.Routing.Tests/Matching/TreeRouterMatcherBuilder.cs @@ -5,6 +5,7 @@ using System; using System.Collections.Generic; using System.Linq; using System.Threading.Tasks; +using Microsoft.AspNetCore.Http.Features; using Microsoft.AspNetCore.Routing.Internal; using Microsoft.AspNetCore.Routing.Template; using Microsoft.AspNetCore.Routing.Tree; @@ -16,14 +17,14 @@ namespace Microsoft.AspNetCore.Routing.Matching { internal class TreeRouterMatcherBuilder : MatcherBuilder { - private readonly List _endpoints; + private readonly List _endpoints; public TreeRouterMatcherBuilder() { - _endpoints = new List(); + _endpoints = new List(); } - public override void AddEndpoint(MatcherEndpoint endpoint) + public override void AddEndpoint(RouteEndpoint endpoint) { _endpoints.Add(endpoint); } @@ -48,7 +49,7 @@ namespace Microsoft.AspNetCore.Routing.Matching { var candidates = group.ToArray(); - // MatcherEndpoint.Values contains the default values parsed from the template + // RouteEndpoint.Values contains the default values parsed from the template // as well as those specified with a literal. We need to separate those // for legacy cases. var endpoint = group.First(); @@ -75,10 +76,10 @@ namespace Microsoft.AspNetCore.Routing.Matching private class SelectorRouter : IRouter { private readonly EndpointSelector _selector; - private readonly MatcherEndpoint[] _candidates; + private readonly RouteEndpoint[] _candidates; private readonly int[] _scores; - public SelectorRouter(EndpointSelector selector, MatcherEndpoint[] candidates) + public SelectorRouter(EndpointSelector selector, RouteEndpoint[] candidates) { _selector = selector; _candidates = candidates; @@ -93,7 +94,7 @@ namespace Microsoft.AspNetCore.Routing.Matching public async Task RouteAsync(RouteContext context) { - var feature = context.HttpContext.Features.Get(); + var feature = (EndpointFeature)context.HttpContext.Features.Get(); // This is needed due to a quirk of our tests - they reuse the endpoint feature. feature.Endpoint = null; diff --git a/test/Microsoft.AspNetCore.Routing.Tests/Matching/TreeRouterMatcherConformanceTest.cs b/test/Microsoft.AspNetCore.Routing.Tests/Matching/TreeRouterMatcherConformanceTest.cs index f4c346edd4..e2c3a73108 100644 --- a/test/Microsoft.AspNetCore.Routing.Tests/Matching/TreeRouterMatcherConformanceTest.cs +++ b/test/Microsoft.AspNetCore.Routing.Tests/Matching/TreeRouterMatcherConformanceTest.cs @@ -22,7 +22,7 @@ namespace Microsoft.AspNetCore.Routing.Matching return Task.CompletedTask; } - internal override Matcher CreateMatcher(params MatcherEndpoint[] endpoints) + internal override Matcher CreateMatcher(params RouteEndpoint[] endpoints) { var builder = new TreeRouterMatcherBuilder(); for (var i = 0; i < endpoints.Length; i++) diff --git a/test/Microsoft.AspNetCore.Routing.Tests/RouteValueBasedEndpointFinderTest.cs b/test/Microsoft.AspNetCore.Routing.Tests/RouteValueBasedEndpointFinderTest.cs index 60712a0fe7..5b475247bb 100644 --- a/test/Microsoft.AspNetCore.Routing.Tests/RouteValueBasedEndpointFinderTest.cs +++ b/test/Microsoft.AspNetCore.Routing.Tests/RouteValueBasedEndpointFinderTest.cs @@ -5,6 +5,7 @@ using System; using System.Collections.Generic; using System.Linq; using System.Threading.Tasks; +using Microsoft.AspNetCore.Http; using Microsoft.AspNetCore.Routing.Internal; using Microsoft.AspNetCore.Routing.Matching; using Microsoft.AspNetCore.Routing.Patterns; @@ -34,7 +35,7 @@ namespace Microsoft.AspNetCore.Routing Assert.NotNull(finder.NamedMatches); Assert.True(finder.NamedMatches.TryGetValue("named", out var namedMatches)); var namedMatch = Assert.Single(namedMatches); - var actual = Assert.IsType(namedMatch.Match.Entry.Data); + var actual = Assert.IsType(namedMatch.Match.Entry.Data); Assert.Same(endpoint2, actual); } @@ -55,8 +56,8 @@ namespace Microsoft.AspNetCore.Routing Assert.NotNull(finder.NamedMatches); Assert.True(finder.NamedMatches.TryGetValue("named", out var namedMatches)); Assert.Equal(2, namedMatches.Count); - Assert.Same(endpoint2, Assert.IsType(namedMatches[0].Match.Entry.Data)); - Assert.Same(endpoint3, Assert.IsType(namedMatches[1].Match.Entry.Data)); + Assert.Same(endpoint2, Assert.IsType(namedMatches[0].Match.Entry.Data)); + Assert.Same(endpoint3, Assert.IsType(namedMatches[1].Match.Entry.Data)); } [Fact] @@ -76,8 +77,8 @@ namespace Microsoft.AspNetCore.Routing Assert.NotNull(finder.NamedMatches); Assert.True(finder.NamedMatches.TryGetValue("named", out var namedMatches)); Assert.Equal(2, namedMatches.Count); - Assert.Same(endpoint2, Assert.IsType(namedMatches[0].Match.Entry.Data)); - Assert.Same(endpoint3, Assert.IsType(namedMatches[1].Match.Entry.Data)); + Assert.Same(endpoint2, Assert.IsType(namedMatches[0].Match.Entry.Data)); + Assert.Same(endpoint3, Assert.IsType(namedMatches[1].Match.Entry.Data)); } [Fact] @@ -97,7 +98,7 @@ namespace Microsoft.AspNetCore.Routing // Assert 1 Assert.NotNull(finder.AllMatches); var match = Assert.Single(finder.AllMatches); - var actual = Assert.IsType(match.Entry.Data); + var actual = Assert.IsType(match.Entry.Data); Assert.Same(endpoint1, actual); // Arrange 2 @@ -127,22 +128,22 @@ namespace Microsoft.AspNetCore.Routing finder.AllMatches, (m) => { - actual = Assert.IsType(m.Entry.Data); + actual = Assert.IsType(m.Entry.Data); Assert.Same(endpoint1, actual); }, (m) => { - actual = Assert.IsType(m.Entry.Data); + actual = Assert.IsType(m.Entry.Data); Assert.Same(endpoint2, actual); }, (m) => { - actual = Assert.IsType(m.Entry.Data); + actual = Assert.IsType(m.Entry.Data); Assert.Same(endpoint3, actual); }, (m) => { - actual = Assert.IsType(m.Entry.Data); + actual = Assert.IsType(m.Entry.Data); Assert.Same(endpoint4, actual); }); } @@ -231,7 +232,7 @@ namespace Microsoft.AspNetCore.Routing objectPool); } - private MatcherEndpoint CreateEndpoint( + private RouteEndpoint CreateEndpoint( string template, object defaults = null, object requiredValues = null, @@ -249,8 +250,8 @@ namespace Microsoft.AspNetCore.Routing metadataCollection = new EndpointMetadataCollection(metadata); } - return new MatcherEndpoint( - MatcherEndpoint.EmptyInvoker, + return new RouteEndpoint( + TestConstants.EmptyRequestDelegate, RoutePatternFactory.Parse(template, defaults, parameterPolicies: null), order, metadataCollection, diff --git a/test/Microsoft.AspNetCore.Routing.Tests/TestConstants.cs b/test/Microsoft.AspNetCore.Routing.Tests/TestConstants.cs new file mode 100644 index 0000000000..0a32a95155 --- /dev/null +++ b/test/Microsoft.AspNetCore.Routing.Tests/TestConstants.cs @@ -0,0 +1,13 @@ +// Copyright (c) .NET Foundation. All rights reserved. +// Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information. + +using System.Threading.Tasks; +using Microsoft.AspNetCore.Http; + +namespace Microsoft.AspNetCore.Routing +{ + public static class TestConstants + { + internal static readonly RequestDelegate EmptyRequestDelegate = (context) => Task.CompletedTask; + } +} diff --git a/test/Microsoft.AspNetCore.Routing.Tests/TestObjects/DynamicEndpointDataSource.cs b/test/Microsoft.AspNetCore.Routing.Tests/TestObjects/DynamicEndpointDataSource.cs index 71f45c09c6..5459883875 100644 --- a/test/Microsoft.AspNetCore.Routing.Tests/TestObjects/DynamicEndpointDataSource.cs +++ b/test/Microsoft.AspNetCore.Routing.Tests/TestObjects/DynamicEndpointDataSource.cs @@ -3,6 +3,7 @@ using System.Collections.Generic; using System.Threading; +using Microsoft.AspNetCore.Http; using Microsoft.Extensions.Primitives; namespace Microsoft.AspNetCore.Routing.TestObjects diff --git a/test/Microsoft.AspNetCore.Routing.Tests/TestObjects/TestEndpoint.cs b/test/Microsoft.AspNetCore.Routing.Tests/TestObjects/TestEndpoint.cs deleted file mode 100644 index ab0ff046d8..0000000000 --- a/test/Microsoft.AspNetCore.Routing.Tests/TestObjects/TestEndpoint.cs +++ /dev/null @@ -1,13 +0,0 @@ -// Copyright (c) .NET Foundation. All rights reserved. -// Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information. - -namespace Microsoft.AspNetCore.Routing.TestObjects -{ - internal class TestEndpoint : Endpoint - { - public TestEndpoint(EndpointMetadataCollection metadata, string displayName) - : base(metadata, displayName) - { - } - } -} \ No newline at end of file diff --git a/test/Microsoft.AspNetCore.Routing.Tests/TestObjects/TestMatcher.cs b/test/Microsoft.AspNetCore.Routing.Tests/TestObjects/TestMatcher.cs index d3d5544292..5da00c6f25 100644 --- a/test/Microsoft.AspNetCore.Routing.Tests/TestObjects/TestMatcher.cs +++ b/test/Microsoft.AspNetCore.Routing.Tests/TestObjects/TestMatcher.cs @@ -3,6 +3,7 @@ using System.Threading.Tasks; using Microsoft.AspNetCore.Http; +using Microsoft.AspNetCore.Http.Features; using Microsoft.AspNetCore.Routing.Matching; namespace Microsoft.AspNetCore.Routing.TestObjects @@ -16,12 +17,12 @@ namespace Microsoft.AspNetCore.Routing.TestObjects _isHandled = isHandled; } - public override Task MatchAsync(HttpContext httpContext, IEndpointFeature feature) + public override Task MatchAsync(HttpContext httpContext, EndpointFeature feature) { if (_isHandled) { - feature.Values = new RouteValueDictionary(new { controller = "Home", action = "Index" }); - feature.Endpoint = new TestEndpoint(EndpointMetadataCollection.Empty, "Test endpoint"); + feature.RouteValues = new RouteValueDictionary(new { controller = "Home", action = "Index" }); + feature.Endpoint = new Endpoint(TestConstants.EmptyRequestDelegate, EndpointMetadataCollection.Empty, "Test endpoint"); } return Task.CompletedTask; From 78cf97cf3af1a6f64ff146bd8904e5dfde30f110 Mon Sep 17 00:00:00 2001 From: Ryan Nowak Date: Mon, 20 Aug 2018 20:09:33 -0700 Subject: [PATCH 139/221] Fix broken benchmarks The tests for matching still compile but do the wrong thing, because they aren't setting up the HTTP method metadata correctly. Adding back an overload of CreateEndpoint that's like what was there before. --- .../EndpointRoutingBenchmarkBase.cs | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/benchmarks/Microsoft.AspNetCore.Routing.Performance/EndpointRoutingBenchmarkBase.cs b/benchmarks/Microsoft.AspNetCore.Routing.Performance/EndpointRoutingBenchmarkBase.cs index ece73b75a4..9e3f050d8d 100644 --- a/benchmarks/Microsoft.AspNetCore.Routing.Performance/EndpointRoutingBenchmarkBase.cs +++ b/benchmarks/Microsoft.AspNetCore.Routing.Performance/EndpointRoutingBenchmarkBase.cs @@ -97,6 +97,14 @@ namespace Microsoft.AspNetCore.Routing } } + protected RouteEndpoint CreateEndpoint(string template, string httpMethod) + { + return CreateEndpoint(template, metadata: new object[] + { + new HttpMethodMetadata(new string[]{ httpMethod, }), + }); + } + protected RouteEndpoint CreateEndpoint( string template, object defaults = null, From e90e670ac8f7f41a5de89ac7f34abd805abc9128 Mon Sep 17 00:00:00 2001 From: Ryan Nowak Date: Mon, 20 Aug 2018 21:10:19 -0700 Subject: [PATCH 140/221] Enable benchmark validation Move Swaggather out of benchmarks folder Add MSBuild junk Fix broken tests --- Routing.sln | 30 ++++++++++--------- .../JumpTableMultipleEntryBenchmark.cs | 2 +- .../MatcherFindCandidateSetAzureBenchmark.cs | 4 +-- .../MatcherFindCandidateSetGithubBenchmark.cs | 4 +-- ...soft.AspNetCore.Routing.Performance.csproj | 2 +- build/repo.props | 4 +++ {benchmarks => tools}/Swaggatherer/Program.cs | 0 {benchmarks => tools}/Swaggatherer/README.md | 0 .../Swaggatherer/RouteEntry.cs | 0 .../Swaggatherer/Swaggatherer.csproj | 0 .../Swaggatherer/SwaggathererApplication.cs | 0 .../Swaggatherer/Template.cs | 0 12 files changed, 26 insertions(+), 20 deletions(-) rename {benchmarks => tools}/Swaggatherer/Program.cs (100%) rename {benchmarks => tools}/Swaggatherer/README.md (100%) rename {benchmarks => tools}/Swaggatherer/RouteEntry.cs (100%) rename {benchmarks => tools}/Swaggatherer/Swaggatherer.csproj (100%) rename {benchmarks => tools}/Swaggatherer/SwaggathererApplication.cs (100%) rename {benchmarks => tools}/Swaggatherer/Template.cs (100%) diff --git a/Routing.sln b/Routing.sln index 6b34e4f0b0..632e7fe0c3 100644 --- a/Routing.sln +++ b/Routing.sln @@ -51,7 +51,9 @@ Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "benchmarkapps", "benchmarka EndProject Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Benchmarks", "benchmarkapps\Benchmarks\Benchmarks.csproj", "{91F47A60-9A78-4968-B10D-157D9BFAC37F}" EndProject -Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Swaggatherer", "benchmarks\Swaggatherer\Swaggatherer.csproj", "{990ECDEE-49DE-45E3-B0D9-DDEB9CFF6A9D}" +Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "tools", "tools", "{6824486A-3EFF-45D1-BEE8-8B137639C890}" +EndProject +Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Swaggatherer", "tools\Swaggatherer\Swaggatherer.csproj", "{B8516771-E850-4724-BEC3-63FC00C2AE57}" EndProject Global GlobalSection(SolutionConfigurationPlatforms) = preSolution @@ -165,18 +167,18 @@ Global {91F47A60-9A78-4968-B10D-157D9BFAC37F}.Release|Mixed Platforms.Build.0 = Release|Any CPU {91F47A60-9A78-4968-B10D-157D9BFAC37F}.Release|x86.ActiveCfg = Release|Any CPU {91F47A60-9A78-4968-B10D-157D9BFAC37F}.Release|x86.Build.0 = Release|Any CPU - {990ECDEE-49DE-45E3-B0D9-DDEB9CFF6A9D}.Debug|Any CPU.ActiveCfg = Debug|Any CPU - {990ECDEE-49DE-45E3-B0D9-DDEB9CFF6A9D}.Debug|Any CPU.Build.0 = Debug|Any CPU - {990ECDEE-49DE-45E3-B0D9-DDEB9CFF6A9D}.Debug|Mixed Platforms.ActiveCfg = Debug|Any CPU - {990ECDEE-49DE-45E3-B0D9-DDEB9CFF6A9D}.Debug|Mixed Platforms.Build.0 = Debug|Any CPU - {990ECDEE-49DE-45E3-B0D9-DDEB9CFF6A9D}.Debug|x86.ActiveCfg = Debug|Any CPU - {990ECDEE-49DE-45E3-B0D9-DDEB9CFF6A9D}.Debug|x86.Build.0 = Debug|Any CPU - {990ECDEE-49DE-45E3-B0D9-DDEB9CFF6A9D}.Release|Any CPU.ActiveCfg = Release|Any CPU - {990ECDEE-49DE-45E3-B0D9-DDEB9CFF6A9D}.Release|Any CPU.Build.0 = Release|Any CPU - {990ECDEE-49DE-45E3-B0D9-DDEB9CFF6A9D}.Release|Mixed Platforms.ActiveCfg = Release|Any CPU - {990ECDEE-49DE-45E3-B0D9-DDEB9CFF6A9D}.Release|Mixed Platforms.Build.0 = Release|Any CPU - {990ECDEE-49DE-45E3-B0D9-DDEB9CFF6A9D}.Release|x86.ActiveCfg = Release|Any CPU - {990ECDEE-49DE-45E3-B0D9-DDEB9CFF6A9D}.Release|x86.Build.0 = Release|Any CPU + {B8516771-E850-4724-BEC3-63FC00C2AE57}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {B8516771-E850-4724-BEC3-63FC00C2AE57}.Debug|Any CPU.Build.0 = Debug|Any CPU + {B8516771-E850-4724-BEC3-63FC00C2AE57}.Debug|Mixed Platforms.ActiveCfg = Debug|Any CPU + {B8516771-E850-4724-BEC3-63FC00C2AE57}.Debug|Mixed Platforms.Build.0 = Debug|Any CPU + {B8516771-E850-4724-BEC3-63FC00C2AE57}.Debug|x86.ActiveCfg = Debug|Any CPU + {B8516771-E850-4724-BEC3-63FC00C2AE57}.Debug|x86.Build.0 = Debug|Any CPU + {B8516771-E850-4724-BEC3-63FC00C2AE57}.Release|Any CPU.ActiveCfg = Release|Any CPU + {B8516771-E850-4724-BEC3-63FC00C2AE57}.Release|Any CPU.Build.0 = Release|Any CPU + {B8516771-E850-4724-BEC3-63FC00C2AE57}.Release|Mixed Platforms.ActiveCfg = Release|Any CPU + {B8516771-E850-4724-BEC3-63FC00C2AE57}.Release|Mixed Platforms.Build.0 = Release|Any CPU + {B8516771-E850-4724-BEC3-63FC00C2AE57}.Release|x86.ActiveCfg = Release|Any CPU + {B8516771-E850-4724-BEC3-63FC00C2AE57}.Release|x86.Build.0 = Release|Any CPU EndGlobalSection GlobalSection(SolutionProperties) = preSolution HideSolutionNode = FALSE @@ -191,7 +193,7 @@ Global {5C73140B-41F3-466F-A07B-3614E4D80DF9} = {95359B4B-4C85-4B44-A75B-0621905C4CF6} {F3D86714-4E64-41A6-9B36-A47B3683CF5D} = {D5F39F59-5725-4127-82E7-67028D006185} {91F47A60-9A78-4968-B10D-157D9BFAC37F} = {7F5914E2-C63F-4759-898E-462804357C90} - {990ECDEE-49DE-45E3-B0D9-DDEB9CFF6A9D} = {D5F39F59-5725-4127-82E7-67028D006185} + {B8516771-E850-4724-BEC3-63FC00C2AE57} = {6824486A-3EFF-45D1-BEE8-8B137639C890} EndGlobalSection GlobalSection(ExtensibilityGlobals) = postSolution SolutionGuid = {36C8D815-B7F1-479D-894B-E606FB8DECDA} diff --git a/benchmarks/Microsoft.AspNetCore.Routing.Performance/Matching/JumpTableMultipleEntryBenchmark.cs b/benchmarks/Microsoft.AspNetCore.Routing.Performance/Matching/JumpTableMultipleEntryBenchmark.cs index d34792ae5f..410dbe85ab 100644 --- a/benchmarks/Microsoft.AspNetCore.Routing.Performance/Matching/JumpTableMultipleEntryBenchmark.cs +++ b/benchmarks/Microsoft.AspNetCore.Routing.Performance/Matching/JumpTableMultipleEntryBenchmark.cs @@ -48,7 +48,7 @@ namespace Microsoft.AspNetCore.Routing.Matching _linearSearch = new LinearSearchJumpTable(0, -1, entries.ToArray()); _dictionary = new DictionaryJumpTable(0, -1, entries.ToArray()); - Debug.Assert(AsciiKeyedJumpTable.TryCreate(0, -1, entries, out _ascii)); + AsciiKeyedJumpTable.TryCreate(0, -1, entries, out _ascii); _dictionaryLookup = new DictionaryLookupJumpTable(0, -1, entries.ToArray()); _customHashTable = new CustomHashTableJumpTable(0, -1, entries.ToArray()); } diff --git a/benchmarks/Microsoft.AspNetCore.Routing.Performance/Matching/MatcherFindCandidateSetAzureBenchmark.cs b/benchmarks/Microsoft.AspNetCore.Routing.Performance/Matching/MatcherFindCandidateSetAzureBenchmark.cs index 2f54d1bdbb..ab1e371911 100644 --- a/benchmarks/Microsoft.AspNetCore.Routing.Performance/Matching/MatcherFindCandidateSetAzureBenchmark.cs +++ b/benchmarks/Microsoft.AspNetCore.Routing.Performance/Matching/MatcherFindCandidateSetAzureBenchmark.cs @@ -10,8 +10,8 @@ namespace Microsoft.AspNetCore.Routing.Matching public partial class MatcherFindCandidateSetAzureBenchmark : EndpointRoutingBenchmarkBase { // SegmentCount should be max-segments + 1, but we don't have a good way to compute - // it here, so using 16 as a safe guess. - private const int SegmentCount = 16; + // it here, so using 32 as a safe guess. + private const int SegmentCount = 32; private const int SampleCount = 100; diff --git a/benchmarks/Microsoft.AspNetCore.Routing.Performance/Matching/MatcherFindCandidateSetGithubBenchmark.cs b/benchmarks/Microsoft.AspNetCore.Routing.Performance/Matching/MatcherFindCandidateSetGithubBenchmark.cs index bc6751f0ca..acbfdd0cf6 100644 --- a/benchmarks/Microsoft.AspNetCore.Routing.Performance/Matching/MatcherFindCandidateSetGithubBenchmark.cs +++ b/benchmarks/Microsoft.AspNetCore.Routing.Performance/Matching/MatcherFindCandidateSetGithubBenchmark.cs @@ -12,8 +12,8 @@ namespace Microsoft.AspNetCore.Routing.Matching public partial class MatcherFindCandidateSetGithubBenchmark : EndpointRoutingBenchmarkBase { // SegmentCount should be max-segments + 1, but we don't have a good way to compute - // it here, so using 16 as a safe guess. - private const int SegmentCount = 16; + // it here, so using 32 as a safe guess. + private const int SegmentCount = 32; private BarebonesMatcher _baseline; private DfaMatcher _dfa; diff --git a/benchmarks/Microsoft.AspNetCore.Routing.Performance/Microsoft.AspNetCore.Routing.Performance.csproj b/benchmarks/Microsoft.AspNetCore.Routing.Performance/Microsoft.AspNetCore.Routing.Performance.csproj index d1e25aa6f0..99413eb58b 100644 --- a/benchmarks/Microsoft.AspNetCore.Routing.Performance/Microsoft.AspNetCore.Routing.Performance.csproj +++ b/benchmarks/Microsoft.AspNetCore.Routing.Performance/Microsoft.AspNetCore.Routing.Performance.csproj @@ -1,7 +1,7 @@  - netcoreapp2.2 + netcoreapp2.2 Exe true true diff --git a/build/repo.props b/build/repo.props index f1fe24dd27..9747864f3e 100644 --- a/build/repo.props +++ b/build/repo.props @@ -13,4 +13,8 @@ + + + true + diff --git a/benchmarks/Swaggatherer/Program.cs b/tools/Swaggatherer/Program.cs similarity index 100% rename from benchmarks/Swaggatherer/Program.cs rename to tools/Swaggatherer/Program.cs diff --git a/benchmarks/Swaggatherer/README.md b/tools/Swaggatherer/README.md similarity index 100% rename from benchmarks/Swaggatherer/README.md rename to tools/Swaggatherer/README.md diff --git a/benchmarks/Swaggatherer/RouteEntry.cs b/tools/Swaggatherer/RouteEntry.cs similarity index 100% rename from benchmarks/Swaggatherer/RouteEntry.cs rename to tools/Swaggatherer/RouteEntry.cs diff --git a/benchmarks/Swaggatherer/Swaggatherer.csproj b/tools/Swaggatherer/Swaggatherer.csproj similarity index 100% rename from benchmarks/Swaggatherer/Swaggatherer.csproj rename to tools/Swaggatherer/Swaggatherer.csproj diff --git a/benchmarks/Swaggatherer/SwaggathererApplication.cs b/tools/Swaggatherer/SwaggathererApplication.cs similarity index 100% rename from benchmarks/Swaggatherer/SwaggathererApplication.cs rename to tools/Swaggatherer/SwaggathererApplication.cs diff --git a/benchmarks/Swaggatherer/Template.cs b/tools/Swaggatherer/Template.cs similarity index 100% rename from benchmarks/Swaggatherer/Template.cs rename to tools/Swaggatherer/Template.cs From a0aa61fd10d3085d56f21ed0caaa8c91eb33e0ff Mon Sep 17 00:00:00 2001 From: Ryan Nowak Date: Wed, 22 Aug 2018 18:07:17 -0700 Subject: [PATCH 141/221] Improvements for IEndpointSelectorPolicy These changes are based on our discussion earlier this week. Adding async, and making it possible to short circuit, which should be better aligned with the requirments of versioning. --- .../Matching/DefaultEndpointSelector.cs | 20 ++++++-- .../Matching/IEndpointSelectorPolicy.cs | 12 ++++- .../Matching/DefaultEndpointSelectorTest.cs | 48 ++++++++++++++++++- 3 files changed, 73 insertions(+), 7 deletions(-) diff --git a/src/Microsoft.AspNetCore.Routing/Matching/DefaultEndpointSelector.cs b/src/Microsoft.AspNetCore.Routing/Matching/DefaultEndpointSelector.cs index 56779c75e0..e503e2f769 100644 --- a/src/Microsoft.AspNetCore.Routing/Matching/DefaultEndpointSelector.cs +++ b/src/Microsoft.AspNetCore.Routing/Matching/DefaultEndpointSelector.cs @@ -24,16 +24,30 @@ namespace Microsoft.AspNetCore.Routing.Matching _selectorPolicies = matcherPolicies.OrderBy(p => p.Order).OfType().ToArray(); } - public override Task SelectAsync( + public override async Task SelectAsync( HttpContext httpContext, EndpointFeature feature, CandidateSet candidateSet) { + var selectorPolicies = _selectorPolicies; for (var i = 0; i < _selectorPolicies.Length; i++) { - _selectorPolicies[i].Apply(httpContext, candidateSet); + await selectorPolicies[i].ApplyAsync(httpContext, feature, candidateSet); + if (feature.Endpoint != null) + { + // This is a short circuit, the selector chose an endpoint. + return; + } } + ProcessFinalCandidates(httpContext, feature, candidateSet); + } + + private static void ProcessFinalCandidates( + HttpContext httpContext, + EndpointFeature feature, + CandidateSet candidateSet) + { RouteEndpoint endpoint = null; RouteValueDictionary values = null; int? foundScore = null; @@ -76,8 +90,6 @@ namespace Microsoft.AspNetCore.Routing.Matching feature.Endpoint = endpoint; feature.RouteValues = values; } - - return Task.CompletedTask; } private static void ReportAmbiguity(CandidateSet candidates) diff --git a/src/Microsoft.AspNetCore.Routing/Matching/IEndpointSelectorPolicy.cs b/src/Microsoft.AspNetCore.Routing/Matching/IEndpointSelectorPolicy.cs index 7dfd04b7bd..1617822f03 100644 --- a/src/Microsoft.AspNetCore.Routing/Matching/IEndpointSelectorPolicy.cs +++ b/src/Microsoft.AspNetCore.Routing/Matching/IEndpointSelectorPolicy.cs @@ -2,6 +2,7 @@ // Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information. using Microsoft.AspNetCore.Http; +using System.Threading.Tasks; namespace Microsoft.AspNetCore.Routing.Matching { @@ -19,12 +20,21 @@ namespace Microsoft.AspNetCore.Routing.Matching /// /// The associated with the current request. /// + /// + /// The associated with the current request. + /// /// The . /// + /// /// Implementations of should implement this method /// and filter the set of candidates in the by setting /// to false where desired. + /// + /// + /// To signal an error condition, set to an + /// value that will produce the desired error when executed. + /// /// - void Apply(HttpContext httpContext, CandidateSet candidates); + Task ApplyAsync(HttpContext httpContext, EndpointFeature feature, CandidateSet candidates); } } diff --git a/test/Microsoft.AspNetCore.Routing.Tests/Matching/DefaultEndpointSelectorTest.cs b/test/Microsoft.AspNetCore.Routing.Tests/Matching/DefaultEndpointSelectorTest.cs index c6ef7cd4f3..769ca3200c 100644 --- a/test/Microsoft.AspNetCore.Routing.Tests/Matching/DefaultEndpointSelectorTest.cs +++ b/test/Microsoft.AspNetCore.Routing.Tests/Matching/DefaultEndpointSelectorTest.cs @@ -1,6 +1,7 @@ // Copyright (c) .NET Foundation. All rights reserved. // Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information. +using System; using System.Threading.Tasks; using Microsoft.AspNetCore.Http; using Microsoft.AspNetCore.Http.Features; @@ -184,10 +185,11 @@ test: /test3", ex.Message); var policy = new Mock(); policy .As() - .Setup(p => p.Apply(It.IsAny(), It.IsAny())) - .Callback((c, cs) => + .Setup(p => p.ApplyAsync(It.IsAny(), It.IsAny(), It.IsAny())) + .Returns((c, f, cs) => { cs[1].IsValidCandidate = false; + return Task.CompletedTask; }); candidateSet[0].IsValidCandidate = false; @@ -204,6 +206,48 @@ test: /test3", ex.Message); Assert.Same(endpoints[2], feature.Endpoint); } + [Fact] + public async Task SelectAsync_RunsEndpointSelectorPolicies_CanShortCircuit() + { + // Arrange + var endpoints = new RouteEndpoint[] { CreateEndpoint("/test1"), CreateEndpoint("/test2"), CreateEndpoint("/test3"), }; + var scores = new int[] { 0, 0, 1 }; + var candidateSet = CreateCandidateSet(endpoints, scores); + + var policy1 = new Mock(); + policy1 + .As() + .Setup(p => p.ApplyAsync(It.IsAny(), It.IsAny(), It.IsAny())) + .Returns((c, f, cs) => + { + f.Endpoint = cs[0].Endpoint; + return Task.CompletedTask; + }); + + // This should never run, it's after policy1 which short circuits + var policy2 = new Mock(); + policy2 + .SetupGet(p => p.Order) + .Returns(1000); + policy2 + .As() + .Setup(p => p.ApplyAsync(It.IsAny(), It.IsAny(), It.IsAny())) + .Throws(new InvalidOperationException()); + + candidateSet[0].IsValidCandidate = false; + candidateSet[1].IsValidCandidate = true; + candidateSet[2].IsValidCandidate = true; + + var (httpContext, feature) = CreateContext(); + var selector = CreateSelector(policy1.Object, policy2.Object); + + // Act + await selector.SelectAsync(httpContext, feature, candidateSet); + + // Assert + Assert.Same(endpoints[0], feature.Endpoint); + } + private static (HttpContext httpContext, EndpointFeature feature) CreateContext() { var feature = new EndpointFeature(); From 15e46ad323943f9086d9558971cfc7760a92b9df Mon Sep 17 00:00:00 2001 From: James Newton-King Date: Thu, 23 Aug 2018 21:39:23 +1200 Subject: [PATCH 142/221] Change RoutePattern to not throw when inline and arg default value are the same (#747) --- .../Patterns/RoutePatternFactory.cs | 4 +-- .../Patterns/RoutePatternFactoryTest.cs | 25 ++++++++++++++++++- 2 files changed, 26 insertions(+), 3 deletions(-) diff --git a/src/Microsoft.AspNetCore.Routing/Patterns/RoutePatternFactory.cs b/src/Microsoft.AspNetCore.Routing/Patterns/RoutePatternFactory.cs index f3309cf1b6..51b869c58c 100644 --- a/src/Microsoft.AspNetCore.Routing/Patterns/RoutePatternFactory.cs +++ b/src/Microsoft.AspNetCore.Routing/Patterns/RoutePatternFactory.cs @@ -343,7 +343,7 @@ namespace Microsoft.AspNetCore.Routing.Patterns if (updatedDefaults.TryGetValue(parameter.Name, out var newDefault)) { - if (parameter.Default != null) + if (parameter.Default != null && !Equals(newDefault, parameter.Default)) { var message = Resources.FormatTemplateRoute_CannotHaveDefaultValueSpecifiedInlineAndExplicitly(parameter.Name); throw new InvalidOperationException(message); @@ -360,7 +360,7 @@ namespace Microsoft.AspNetCore.Routing.Patterns if (parameter.Default != null) { - updatedDefaults.Add(parameter.Name, parameter.Default); + updatedDefaults[parameter.Name] = parameter.Default; } if (!updatedParameterPolicies.TryGetValue(parameter.Name, out var parameterConstraints) && diff --git a/test/Microsoft.AspNetCore.Routing.Tests/Patterns/RoutePatternFactoryTest.cs b/test/Microsoft.AspNetCore.Routing.Tests/Patterns/RoutePatternFactoryTest.cs index 562d081d10..50d22c6a22 100644 --- a/test/Microsoft.AspNetCore.Routing.Tests/Patterns/RoutePatternFactoryTest.cs +++ b/test/Microsoft.AspNetCore.Routing.Tests/Patterns/RoutePatternFactoryTest.cs @@ -66,7 +66,7 @@ namespace Microsoft.AspNetCore.Routing.Patterns } [Fact] - public void Pattern_DuplicateDefaultValue_Throws() + public void Pattern_DifferentDuplicateDefaultValue_Throws() { // Arrange var template = "{a=13}/{b}/{c}"; @@ -90,6 +90,29 @@ namespace Microsoft.AspNetCore.Routing.Patterns ex.Message); } + [Fact] + public void Pattern_SameDuplicateDefaultValue() + { + // Arrange + var template = "{a=13}/{b}/{c}"; + var defaults = new { a = "13", }; + var constraints = new { }; + + var original = RoutePatternFactory.Parse(template); + + // Act + var actual = RoutePatternFactory.Pattern( + original.RawText, + defaults, + constraints, + original.PathSegments); + + // Assert + Assert.Collection( + actual.Defaults, + kvp => { Assert.Equal("a", kvp.Key); Assert.Equal("13", kvp.Value); }); + } + [Fact] public void Pattern_OptionalParameterDefaultValue_Throws() { From 40fb13a02172a0379b40a278391ae1fad716d256 Mon Sep 17 00:00:00 2001 From: James Newton-King Date: Fri, 24 Aug 2018 09:11:13 +1200 Subject: [PATCH 143/221] Fix DfaMatcher to work with non-RouteEndpoint (#739) --- .../Matching/Candidate.cs | 7 +- .../Matching/CandidateSet.cs | 2 +- .../Matching/CandidateState.cs | 6 +- .../Matching/DefaultEndpointSelector.cs | 4 +- .../Matching/DfaMatcherBuilder.cs | 128 +++++++------- .../Matching/DfaNode.cs | 5 +- .../Matching/EndpointComparer.cs | 163 ++++++++++++++++++ .../Matching/HttpMethodMatcherPolicy.cs | 4 +- .../Matching/RouteEndpointComparer.cs | 103 ----------- .../Matching/DfaMatcherBuilderTest.cs | 78 +++++++++ .../Matching/RouteEndpointComparerTest.cs | 4 +- 11 files changed, 324 insertions(+), 180 deletions(-) create mode 100644 src/Microsoft.AspNetCore.Routing/Matching/EndpointComparer.cs delete mode 100644 src/Microsoft.AspNetCore.Routing/Matching/RouteEndpointComparer.cs diff --git a/src/Microsoft.AspNetCore.Routing/Matching/Candidate.cs b/src/Microsoft.AspNetCore.Routing/Matching/Candidate.cs index 47564d511c..4493293251 100644 --- a/src/Microsoft.AspNetCore.Routing/Matching/Candidate.cs +++ b/src/Microsoft.AspNetCore.Routing/Matching/Candidate.cs @@ -3,13 +3,14 @@ using System; using System.Collections.Generic; +using Microsoft.AspNetCore.Http; using Microsoft.AspNetCore.Routing.Patterns; namespace Microsoft.AspNetCore.Routing.Matching { internal readonly struct Candidate { - public readonly RouteEndpoint Endpoint; + public readonly Endpoint Endpoint; // Used to optimize out operations that modify route values. public readonly CandidateFlags Flags; @@ -48,7 +49,7 @@ namespace Microsoft.AspNetCore.Routing.Matching public readonly int Score; // Used in tests. - public Candidate(RouteEndpoint endpoint) + public Candidate(Endpoint endpoint) { Endpoint = endpoint; @@ -63,7 +64,7 @@ namespace Microsoft.AspNetCore.Routing.Matching } public Candidate( - RouteEndpoint endpoint, + Endpoint endpoint, int score, KeyValuePair[] slots, (string parameterName, int segmentIndex, int slotIndex)[] captures, diff --git a/src/Microsoft.AspNetCore.Routing/Matching/CandidateSet.cs b/src/Microsoft.AspNetCore.Routing/Matching/CandidateSet.cs index 58cb607e41..6b2e66ab56 100644 --- a/src/Microsoft.AspNetCore.Routing/Matching/CandidateSet.cs +++ b/src/Microsoft.AspNetCore.Routing/Matching/CandidateSet.cs @@ -36,7 +36,7 @@ namespace Microsoft.AspNetCore.Routing.Matching /// /// The list of endpoints, sorted in descending priority order. /// The list of endpoint scores. . - public CandidateSet(RouteEndpoint[] endpoints, int[] scores) + public CandidateSet(Endpoint[] endpoints, int[] scores) { Count = endpoints.Length; diff --git a/src/Microsoft.AspNetCore.Routing/Matching/CandidateState.cs b/src/Microsoft.AspNetCore.Routing/Matching/CandidateState.cs index 04913a532d..8cc0c1319e 100644 --- a/src/Microsoft.AspNetCore.Routing/Matching/CandidateState.cs +++ b/src/Microsoft.AspNetCore.Routing/Matching/CandidateState.cs @@ -1,6 +1,8 @@ // Copyright (c) .NET Foundation. All rights reserved. // Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information. +using Microsoft.AspNetCore.Http; + namespace Microsoft.AspNetCore.Routing.Matching { /// @@ -8,7 +10,7 @@ namespace Microsoft.AspNetCore.Routing.Matching /// public struct CandidateState { - internal CandidateState(RouteEndpoint endpoint, int score) + internal CandidateState(Endpoint endpoint, int score) { Endpoint = endpoint; Score = score; @@ -20,7 +22,7 @@ namespace Microsoft.AspNetCore.Routing.Matching /// /// Gets the . /// - public RouteEndpoint Endpoint { get; } + public Endpoint Endpoint { get; } /// /// Gets the score of the within the current diff --git a/src/Microsoft.AspNetCore.Routing/Matching/DefaultEndpointSelector.cs b/src/Microsoft.AspNetCore.Routing/Matching/DefaultEndpointSelector.cs index e503e2f769..c2128d0e7a 100644 --- a/src/Microsoft.AspNetCore.Routing/Matching/DefaultEndpointSelector.cs +++ b/src/Microsoft.AspNetCore.Routing/Matching/DefaultEndpointSelector.cs @@ -48,7 +48,7 @@ namespace Microsoft.AspNetCore.Routing.Matching EndpointFeature feature, CandidateSet candidateSet) { - RouteEndpoint endpoint = null; + Endpoint endpoint = null; RouteValueDictionary values = null; int? foundScore = null; for (var i = 0; i < candidateSet.Count; i++) @@ -96,7 +96,7 @@ namespace Microsoft.AspNetCore.Routing.Matching { // If we get here it's the result of an ambiguity - we're OK with this // being a littler slower and more allocatey. - var matches = new List(); + var matches = new List(); for (var i = 0; i < candidates.Count; i++) { ref var state = ref candidates[i]; diff --git a/src/Microsoft.AspNetCore.Routing/Matching/DfaMatcherBuilder.cs b/src/Microsoft.AspNetCore.Routing/Matching/DfaMatcherBuilder.cs index 10b05a60a0..040d39a5e6 100644 --- a/src/Microsoft.AspNetCore.Routing/Matching/DfaMatcherBuilder.cs +++ b/src/Microsoft.AspNetCore.Routing/Matching/DfaMatcherBuilder.cs @@ -4,6 +4,7 @@ using System; using System.Collections.Generic; using System.Linq; +using Microsoft.AspNetCore.Http; using Microsoft.AspNetCore.Routing.Patterns; namespace Microsoft.AspNetCore.Routing.Matching @@ -16,7 +17,7 @@ namespace Microsoft.AspNetCore.Routing.Matching private readonly EndpointSelector _selector; private readonly MatcherPolicy[] _policies; private readonly INodeBuilderPolicy[] _nodeBuilders; - private readonly RouteEndpointComparer _comparer; + private readonly EndpointComparer _comparer; public DfaMatcherBuilder( ParameterPolicyFactory parameterPolicyFactory, @@ -29,7 +30,7 @@ namespace Microsoft.AspNetCore.Routing.Matching // Taking care to use _policies, which has been sorted. _nodeBuilders = _policies.OfType().ToArray(); - _comparer = new RouteEndpointComparer(_policies.OfType().ToArray()); + _comparer = new EndpointComparer(_policies.OfType().ToArray()); } public override void AddEndpoint(RouteEndpoint endpoint) @@ -337,7 +338,7 @@ namespace Microsoft.AspNetCore.Routing.Matching // Builds an array of candidates for a node, assigns a 'score' for each // endpoint. - internal Candidate[] CreateCandidates(IReadOnlyList endpoints) + internal Candidate[] CreateCandidates(IReadOnlyList endpoints) { if (endpoints.Count == 0) { @@ -367,76 +368,80 @@ namespace Microsoft.AspNetCore.Routing.Matching } // internal for tests - internal Candidate CreateCandidate(RouteEndpoint endpoint, int score) + internal Candidate CreateCandidate(Endpoint endpoint, int score) { var assignments = new Dictionary(StringComparer.OrdinalIgnoreCase); var slots = new List>(); var captures = new List<(string parameterName, int segmentIndex, int slotIndex)>(); (string parameterName, int segmentIndex, int slotIndex) catchAll = default; - foreach (var kvp in endpoint.RoutePattern.Defaults) - { - assignments.Add(kvp.Key, assignments.Count); - slots.Add(kvp); - } - - for (var i = 0; i < endpoint.RoutePattern.PathSegments.Count; i++) - { - var segment = endpoint.RoutePattern.PathSegments[i]; - if (!segment.IsSimple) - { - continue; - } - - var parameterPart = segment.Parts[0] as RoutePatternParameterPart; - if (parameterPart == null) - { - continue; - } - - if (!assignments.TryGetValue(parameterPart.Name, out var slotIndex)) - { - slotIndex = assignments.Count; - assignments.Add(parameterPart.Name, slotIndex); - - var hasDefaultValue = parameterPart.Default != null || parameterPart.IsCatchAll; - slots.Add(hasDefaultValue ? new KeyValuePair(parameterPart.Name, parameterPart.Default) : default); - } - - if (parameterPart.IsCatchAll) - { - catchAll = (parameterPart.Name, i, slotIndex); - } - else - { - captures.Add((parameterPart.Name, i, slotIndex)); - } - } - var complexSegments = new List<(RoutePatternPathSegment pathSegment, int segmentIndex)>(); - for (var i = 0; i < endpoint.RoutePattern.PathSegments.Count; i++) + var constraints = new List>(); + + if (endpoint is RouteEndpoint routeEndpoint) { - var segment = endpoint.RoutePattern.PathSegments[i]; - if (segment.IsSimple) + foreach (var kvp in routeEndpoint.RoutePattern.Defaults) { - continue; + assignments.Add(kvp.Key, assignments.Count); + slots.Add(kvp); } - complexSegments.Add((segment, i)); - } - - var constraints = new List>(); - foreach (var kvp in endpoint.RoutePattern.ParameterPolicies) - { - var parameter = endpoint.RoutePattern.GetParameter(kvp.Key); // may be null, that's ok - var parameterPolicyReferences = kvp.Value; - for (var i = 0; i < parameterPolicyReferences.Count; i++) + for (var i = 0; i < routeEndpoint.RoutePattern.PathSegments.Count; i++) { - var reference = parameterPolicyReferences[i]; - var parameterPolicy = _parameterPolicyFactory.Create(parameter, reference); - if (parameterPolicy is IRouteConstraint routeConstraint) + var segment = routeEndpoint.RoutePattern.PathSegments[i]; + if (!segment.IsSimple) { - constraints.Add(new KeyValuePair(kvp.Key, routeConstraint)); + continue; + } + + var parameterPart = segment.Parts[0] as RoutePatternParameterPart; + if (parameterPart == null) + { + continue; + } + + if (!assignments.TryGetValue(parameterPart.Name, out var slotIndex)) + { + slotIndex = assignments.Count; + assignments.Add(parameterPart.Name, slotIndex); + + var hasDefaultValue = parameterPart.Default != null || parameterPart.IsCatchAll; + slots.Add(hasDefaultValue ? new KeyValuePair(parameterPart.Name, parameterPart.Default) : default); + } + + if (parameterPart.IsCatchAll) + { + catchAll = (parameterPart.Name, i, slotIndex); + } + else + { + captures.Add((parameterPart.Name, i, slotIndex)); + } + } + + for (var i = 0; i < routeEndpoint.RoutePattern.PathSegments.Count; i++) + { + var segment = routeEndpoint.RoutePattern.PathSegments[i]; + if (segment.IsSimple) + { + continue; + } + + complexSegments.Add((segment, i)); + } + + foreach (var kvp in routeEndpoint.RoutePattern.ParameterPolicies) + { + var parameter = routeEndpoint.RoutePattern.GetParameter(kvp.Key); // may be null, that's ok + var parameterPolicyReferences = kvp.Value; + for (var i = 0; i < parameterPolicyReferences.Count; i++) + { + var reference = parameterPolicyReferences[i]; + var parameterPolicy = _parameterPolicyFactory.Create(parameter, reference); + if (parameterPolicy is IRouteConstraint routeConstraint) + { + constraints.Add(new KeyValuePair(kvp.Key, routeConstraint)); + } } } } @@ -549,8 +554,7 @@ namespace Microsoft.AspNetCore.Routing.Matching Label = parent.Label + " " + edge.State.ToString(), }; - // TODO: https://github.com/aspnet/Routing/issues/648 - next.Matches.AddRange(edge.Endpoints.Cast().ToArray()); + next.Matches.AddRange(edge.Endpoints); nextWork.Add(next); parent.PolicyEdges.Add(edge.State, next); diff --git a/src/Microsoft.AspNetCore.Routing/Matching/DfaNode.cs b/src/Microsoft.AspNetCore.Routing/Matching/DfaNode.cs index 36cd4e9bcd..e68c4909f7 100644 --- a/src/Microsoft.AspNetCore.Routing/Matching/DfaNode.cs +++ b/src/Microsoft.AspNetCore.Routing/Matching/DfaNode.cs @@ -6,6 +6,7 @@ using System.Collections.Generic; using System.Diagnostics; using System.Linq; using System.Text; +using Microsoft.AspNetCore.Http; namespace Microsoft.AspNetCore.Routing.Matching { @@ -16,7 +17,7 @@ namespace Microsoft.AspNetCore.Routing.Matching public DfaNode() { Literals = new Dictionary(StringComparer.OrdinalIgnoreCase); - Matches = new List(); + Matches = new List(); PolicyEdges = new Dictionary(); } @@ -29,7 +30,7 @@ namespace Microsoft.AspNetCore.Routing.Matching // Just for diagnostics and debugging public string Label { get; set; } - public List Matches { get; } + public List Matches { get; } public Dictionary Literals { get; } diff --git a/src/Microsoft.AspNetCore.Routing/Matching/EndpointComparer.cs b/src/Microsoft.AspNetCore.Routing/Matching/EndpointComparer.cs new file mode 100644 index 0000000000..4609b8c4f3 --- /dev/null +++ b/src/Microsoft.AspNetCore.Routing/Matching/EndpointComparer.cs @@ -0,0 +1,163 @@ +// Copyright (c) .NET Foundation. All rights reserved. +// Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information. + +using System; +using System.Collections.Generic; +using System.Diagnostics; +using Microsoft.AspNetCore.Http; + +namespace Microsoft.AspNetCore.Routing.Matching +{ + // Use to sort and group Endpoints. RouteEndpoints are sorted before other implementations. + // + // NOTE: + // When ordering endpoints, we compare the route templates as an absolute last resort. + // This is used as a factor to ensure that we always have a predictable ordering + // for tests, errors, etc. + // + // When we group endpoints we don't consider the route template, because we're trying + // to group endpoints not separate them. + // + // TLDR: + // IComparer implementation considers the template string as a tiebreaker. + // IEqualityComparer implementation does not. + // This is cool and good. + internal class EndpointComparer : IComparer, IEqualityComparer + { + private readonly IComparer[] _comparers; + + public EndpointComparer(IEndpointComparerPolicy[] policies) + { + // Order, Precedence, (others)... + _comparers = new IComparer[2 + policies.Length]; + _comparers[0] = OrderComparer.Instance; + _comparers[1] = PrecedenceComparer.Instance; + for (var i = 0; i < policies.Length; i++) + { + _comparers[i + 2] = policies[i].Comparer; + } + } + + public int Compare(Endpoint x, Endpoint y) + { + // We don't expose this publicly, and we should never call it on + // a null endpoint. + Debug.Assert(x != null); + Debug.Assert(y != null); + + var compare = CompareCore(x, y); + + // Since we're sorting, use the route template as a last resort. + return compare == 0 ? ComparePattern(x, y) : compare; + } + + private int ComparePattern(Endpoint x, Endpoint y) + { + // A RouteEndpoint always comes before a non-RouteEndpoint, regardless of its RawText value + var routeEndpointX = x as RouteEndpoint; + var routeEndpointY = y as RouteEndpoint; + + if (routeEndpointX != null) + { + if (routeEndpointY != null) + { + return routeEndpointX.RoutePattern.RawText.CompareTo(routeEndpointY.RoutePattern.RawText); + } + + return 1; + } + else if (routeEndpointY != null) + { + return -1; + } + + return 0; + } + + public bool Equals(Endpoint x, Endpoint y) + { + // We don't expose this publicly, and we should never call it on + // a null endpoint. + Debug.Assert(x != null); + Debug.Assert(y != null); + + return CompareCore(x, y) == 0; + } + + public int GetHashCode(Endpoint obj) + { + // This should not be possible to call publicly. + Debug.Fail("We don't expect this to be called."); + throw new System.NotImplementedException(); + } + + private int CompareCore(Endpoint x, Endpoint y) + { + for (var i = 0; i < _comparers.Length; i++) + { + var compare = _comparers[i].Compare(x, y); + if (compare != 0) + { + return compare; + } + } + + return 0; + } + + private class OrderComparer : IComparer + { + public static readonly IComparer Instance = new OrderComparer(); + + public int Compare(Endpoint x, Endpoint y) + { + var routeEndpointX = x as RouteEndpoint; + var routeEndpointY = y as RouteEndpoint; + + if (routeEndpointX != null) + { + if (routeEndpointY != null) + { + return routeEndpointX.Order.CompareTo(routeEndpointY.Order); + } + + return 1; + } + else if (routeEndpointY != null) + { + return -1; + } + + return 0; + } + } + + private class PrecedenceComparer : IComparer + { + public static readonly IComparer Instance = new PrecedenceComparer(); + + public int Compare(Endpoint x, Endpoint y) + { + var routeEndpointX = x as RouteEndpoint; + var routeEndpointY = y as RouteEndpoint; + + if (routeEndpointX != null) + { + if (routeEndpointY != null) + { + return routeEndpointX.RoutePattern.InboundPrecedence + .CompareTo(routeEndpointY.RoutePattern.InboundPrecedence); + } + + return 1; + } + else if (routeEndpointY != null) + { + return -1; + } + + return 0; + } + } + } +} diff --git a/src/Microsoft.AspNetCore.Routing/Matching/HttpMethodMatcherPolicy.cs b/src/Microsoft.AspNetCore.Routing/Matching/HttpMethodMatcherPolicy.cs index 64601108e7..86706fed0d 100644 --- a/src/Microsoft.AspNetCore.Routing/Matching/HttpMethodMatcherPolicy.cs +++ b/src/Microsoft.AspNetCore.Routing/Matching/HttpMethodMatcherPolicy.cs @@ -250,15 +250,13 @@ namespace Microsoft.AspNetCore.Routing.Matching private Endpoint CreateRejectionEndpoint(IEnumerable httpMethods) { var allow = string.Join(", ", httpMethods); - return new RouteEndpoint( + return new Endpoint( (context) => { context.Response.StatusCode = 405; context.Response.Headers.Add("Allow", allow); return Task.CompletedTask; }, - RoutePatternFactory.Parse("/"), - 0, EndpointMetadataCollection.Empty, Http405EndpointDisplayName); } diff --git a/src/Microsoft.AspNetCore.Routing/Matching/RouteEndpointComparer.cs b/src/Microsoft.AspNetCore.Routing/Matching/RouteEndpointComparer.cs deleted file mode 100644 index 95c897c373..0000000000 --- a/src/Microsoft.AspNetCore.Routing/Matching/RouteEndpointComparer.cs +++ /dev/null @@ -1,103 +0,0 @@ -// Copyright (c) .NET Foundation. All rights reserved. -// Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information. - -using System.Collections.Generic; -using System.Diagnostics; - -namespace Microsoft.AspNetCore.Routing.Matching -{ - // Use to sort and group RouteEndpoints. - // - // NOTE: - // When ordering endpoints, we compare the route templates as an absolute last resort. - // This is used as a factor to ensure that we always have a predictable ordering - // for tests, errors, etc. - // - // When we group endpoints we don't consider the route template, because we're trying - // to group endpoints not separate them. - // - // TLDR: - // IComparer implementation considers the template string as a tiebreaker. - // IEqualityComparer implementation does not. - // This is cool and good. - internal class RouteEndpointComparer : IComparer, IEqualityComparer - { - private readonly IComparer[] _comparers; - - public RouteEndpointComparer(IEndpointComparerPolicy[] policies) - { - // Order, Precedence, (others)... - _comparers = new IComparer[2 + policies.Length]; - _comparers[0] = OrderComparer.Instance; - _comparers[1] = PrecedenceComparer.Instance; - for (var i = 0; i < policies.Length; i++) - { - _comparers[i + 2] = policies[i].Comparer; - } - } - - public int Compare(RouteEndpoint x, RouteEndpoint y) - { - // We don't expose this publicly, and we should never call it on - // a null endpoint. - Debug.Assert(x != null); - Debug.Assert(y != null); - - var compare = CompareCore(x, y); - - // Since we're sorting, use the route template as a last resort. - return compare == 0 ? x.RoutePattern.RawText.CompareTo(y.RoutePattern.RawText) : compare; - } - - public bool Equals(RouteEndpoint x, RouteEndpoint y) - { - // We don't expose this publicly, and we should never call it on - // a null endpoint. - Debug.Assert(x != null); - Debug.Assert(y != null); - - return CompareCore(x, y) == 0; - } - - public int GetHashCode(RouteEndpoint obj) - { - // This should not be possible to call publicly. - Debug.Fail("We don't expect this to be called."); - throw new System.NotImplementedException(); - } - - private int CompareCore(RouteEndpoint x, RouteEndpoint y) - { - for (var i = 0; i < _comparers.Length; i++) - { - var compare = _comparers[i].Compare(x, y); - if (compare != 0) - { - return compare; - } - } - - return 0; - } - - private class OrderComparer : IComparer - { - public static readonly IComparer Instance = new OrderComparer(); - - public int Compare(RouteEndpoint x, RouteEndpoint y) - { - return x.Order.CompareTo(y.Order); - } - } - - private class PrecedenceComparer : IComparer - { - public static readonly IComparer Instance = new PrecedenceComparer(); - - public int Compare(RouteEndpoint x, RouteEndpoint y) - { - return x.RoutePattern.InboundPrecedence.CompareTo(y.RoutePattern.InboundPrecedence); - } - } - } -} diff --git a/test/Microsoft.AspNetCore.Routing.Tests/Matching/DfaMatcherBuilderTest.cs b/test/Microsoft.AspNetCore.Routing.Tests/Matching/DfaMatcherBuilderTest.cs index 430a2d92d9..a9071c7962 100644 --- a/test/Microsoft.AspNetCore.Routing.Tests/Matching/DfaMatcherBuilderTest.cs +++ b/test/Microsoft.AspNetCore.Routing.Tests/Matching/DfaMatcherBuilderTest.cs @@ -595,6 +595,54 @@ namespace Microsoft.AspNetCore.Routing.Matching Assert.Empty(test1_1.PolicyEdges); } + [Fact] + public void BuildDfaTree_WithPolicies_AndBranches_NonRouteEndpoint() + { + // Arrange + var builder = CreateDfaMatcherBuilder(new TestNonRoutePatternMatcherPolicy()); + + var endpoint1 = CreateEndpoint("/a", metadata: new object[] { new TestMetadata1(0), }); + builder.AddEndpoint(endpoint1); + + var endpoint2 = CreateEndpoint("/a", metadata: new object[] { new TestMetadata1(1), }); + builder.AddEndpoint(endpoint2); + + var endpoint3 = CreateEndpoint("/a", metadata: new object[] { new TestMetadata1(1), }); + builder.AddEndpoint(endpoint3); + + // Act + var root = builder.BuildDfaTree(); + + // Assert + Assert.Empty(root.Matches); + Assert.Null(root.Parameters); + + var next = Assert.Single(root.Literals); + Assert.Equal("a", next.Key); + + var a = next.Value; + Assert.Empty(a.Matches); + Assert.IsType(a.NodeBuilder); + Assert.Collection( + a.PolicyEdges.OrderBy(e => e.Key), + e => Assert.Equal(0, e.Key), + e => Assert.Equal(1, e.Key), + e => Assert.Equal(int.MaxValue, e.Key)); + + var test1_0 = a.PolicyEdges[0]; + Assert.Equal(new[] { endpoint1, }, test1_0.Matches); + Assert.Null(test1_0.NodeBuilder); + Assert.Empty(test1_0.PolicyEdges); + + var test1_1 = a.PolicyEdges[1]; + Assert.Equal(new[] { endpoint2, endpoint3, }, test1_1.Matches); + Assert.Null(test1_1.NodeBuilder); + Assert.Empty(test1_1.PolicyEdges); + + var nonRouteEndpoint = a.PolicyEdges[int.MaxValue]; + Assert.Equal("MaxValueEndpoint", Assert.Single(nonRouteEndpoint.Matches).DisplayName); + } + [Fact] public void BuildDfaTree_WithPolicies_AndBranches_BothPoliciesSkipped() { @@ -968,5 +1016,35 @@ namespace Microsoft.AspNetCore.Routing.Matching .ToArray(); } } + + private class TestNonRoutePatternMatcherPolicy : MatcherPolicy, IEndpointComparerPolicy, INodeBuilderPolicy + { + public override int Order => 100; + + public IComparer Comparer => EndpointMetadataComparer.Default; + + public bool AppliesToNode(IReadOnlyList endpoints) + { + return endpoints.Any(e => e.Metadata.GetMetadata() != null); + } + + public PolicyJumpTable BuildJumpTable(int exitDestination, IReadOnlyList edges) + { + throw new NotImplementedException(); + } + + public IReadOnlyList GetEdges(IReadOnlyList endpoints) + { + var edges = endpoints + .GroupBy(e => e.Metadata.GetMetadata().State) + .Select(g => new PolicyNodeEdge(g.Key, g.ToArray())) + .ToList(); + + var maxValueEndpoint = new Endpoint(TestConstants.EmptyRequestDelegate, EndpointMetadataCollection.Empty, "MaxValueEndpoint"); + edges.Add(new PolicyNodeEdge(int.MaxValue, new[] { maxValueEndpoint })); + + return edges; + } + } } } diff --git a/test/Microsoft.AspNetCore.Routing.Tests/Matching/RouteEndpointComparerTest.cs b/test/Microsoft.AspNetCore.Routing.Tests/Matching/RouteEndpointComparerTest.cs index 92d6e22e68..b6f44d8186 100644 --- a/test/Microsoft.AspNetCore.Routing.Tests/Matching/RouteEndpointComparerTest.cs +++ b/test/Microsoft.AspNetCore.Routing.Tests/Matching/RouteEndpointComparerTest.cs @@ -228,9 +228,9 @@ namespace Microsoft.AspNetCore.Routing.Matching "test: " + template); } - private static RouteEndpointComparer CreateComparer(params IEndpointComparerPolicy[] policies) + private static EndpointComparer CreateComparer(params IEndpointComparerPolicy[] policies) { - return new RouteEndpointComparer(policies); + return new EndpointComparer(policies); } private class TestMetadata1 From 99c4f2f36a6c320f9c88bff204462b712f94c6b7 Mon Sep 17 00:00:00 2001 From: James Newton-King Date: Wed, 29 Aug 2018 14:51:34 +1200 Subject: [PATCH 144/221] Support policy arguments and resolving services by constructors (#753) --- ...soft.AspNetCore.Routing.Performance.csproj | 1 + .../Constraints/BoolRouteConstraint.cs | 10 - .../Constraints/CompositeRouteConstraint.cs | 10 - .../Constraints/DateTimeRouteConstraint.cs | 10 - .../Constraints/DecimalRouteConstraint.cs | 10 - .../Constraints/DoubleRouteConstraint.cs | 10 - .../Constraints/FloatRouteConstraint.cs | 10 - .../Constraints/GuidRouteConstraint.cs | 10 - .../Constraints/HttpMethodRouteConstraint.cs | 16 +- .../Constraints/IntRouteConstraint.cs | 10 - .../Constraints/LengthRouteConstraint.cs | 10 - .../Constraints/LongRouteConstraint.cs | 10 - .../Constraints/MaxLengthRouteConstraint.cs | 10 - .../Constraints/MaxRouteConstraint.cs | 10 - .../Constraints/MinLengthRouteConstraint.cs | 10 - .../Constraints/MinRouteConstraint.cs | 10 - .../Constraints/OptionalRouteConstraint.cs | 10 - .../Constraints/RangeRouteConstraint.cs | 10 - .../Constraints/RegexRouteConstraint.cs | 10 - .../Constraints/RequiredRouteConstraint.cs | 10 - .../Constraints/StringRouteConstraint.cs | 10 - .../DefaultInlineConstraintResolver.cs | 124 +--- .../DefaultParameterPolicyFactory.cs | 63 +-- .../Internal/ParameterPolicyActivator.cs | 174 ++++++ .../DefaultInlineConstraintResolverTest.cs | 25 +- .../DefaultParameterPolicyFactoryTest.cs | 533 ++++++++++++++++++ .../InlineRouteParameterParserTests.cs | 2 +- .../DefaultParameterPolicyFactoryTest.cs | 272 --------- .../Matching/RouteMatcherBuilder.cs | 3 +- .../Matching/TreeRouterMatcherBuilder.cs | 3 +- .../RouteConstraintBuilderTest.cs | 3 +- .../RouteTest.cs | 2 +- .../Template/TemplateBinderTests.cs | 2 +- .../Template/TemplateMatcherTests.cs | 2 +- .../TemplateParserDefaultValuesTests.cs | 2 +- .../Tree/TreeRouteBuilderTest.cs | 2 +- .../Tree/TreeRouterTest.cs | 3 +- 37 files changed, 778 insertions(+), 644 deletions(-) create mode 100644 src/Microsoft.AspNetCore.Routing/Internal/ParameterPolicyActivator.cs create mode 100644 test/Microsoft.AspNetCore.Routing.Tests/DefaultParameterPolicyFactoryTest.cs delete mode 100644 test/Microsoft.AspNetCore.Routing.Tests/Matching/DefaultParameterPolicyFactoryTest.cs diff --git a/benchmarks/Microsoft.AspNetCore.Routing.Performance/Microsoft.AspNetCore.Routing.Performance.csproj b/benchmarks/Microsoft.AspNetCore.Routing.Performance/Microsoft.AspNetCore.Routing.Performance.csproj index 99413eb58b..625a26262a 100644 --- a/benchmarks/Microsoft.AspNetCore.Routing.Performance/Microsoft.AspNetCore.Routing.Performance.csproj +++ b/benchmarks/Microsoft.AspNetCore.Routing.Performance/Microsoft.AspNetCore.Routing.Performance.csproj @@ -36,6 +36,7 @@ Matching\TreeRouterMatcherBuilder.cs + diff --git a/src/Microsoft.AspNetCore.Routing/Constraints/BoolRouteConstraint.cs b/src/Microsoft.AspNetCore.Routing/Constraints/BoolRouteConstraint.cs index a65e88ef67..c91f7305a4 100644 --- a/src/Microsoft.AspNetCore.Routing/Constraints/BoolRouteConstraint.cs +++ b/src/Microsoft.AspNetCore.Routing/Constraints/BoolRouteConstraint.cs @@ -20,16 +20,6 @@ namespace Microsoft.AspNetCore.Routing.Constraints RouteValueDictionary values, RouteDirection routeDirection) { - if (httpContext == null) - { - throw new ArgumentNullException(nameof(httpContext)); - } - - if (route == null) - { - throw new ArgumentNullException(nameof(route)); - } - if (routeKey == null) { throw new ArgumentNullException(nameof(routeKey)); diff --git a/src/Microsoft.AspNetCore.Routing/Constraints/CompositeRouteConstraint.cs b/src/Microsoft.AspNetCore.Routing/Constraints/CompositeRouteConstraint.cs index 5acff08294..468699ce8a 100644 --- a/src/Microsoft.AspNetCore.Routing/Constraints/CompositeRouteConstraint.cs +++ b/src/Microsoft.AspNetCore.Routing/Constraints/CompositeRouteConstraint.cs @@ -39,16 +39,6 @@ namespace Microsoft.AspNetCore.Routing.Constraints RouteValueDictionary values, RouteDirection routeDirection) { - if (httpContext == null) - { - throw new ArgumentNullException(nameof(httpContext)); - } - - if (route == null) - { - throw new ArgumentNullException(nameof(route)); - } - if (routeKey == null) { throw new ArgumentNullException(nameof(routeKey)); diff --git a/src/Microsoft.AspNetCore.Routing/Constraints/DateTimeRouteConstraint.cs b/src/Microsoft.AspNetCore.Routing/Constraints/DateTimeRouteConstraint.cs index 9015dc64be..9105108d00 100644 --- a/src/Microsoft.AspNetCore.Routing/Constraints/DateTimeRouteConstraint.cs +++ b/src/Microsoft.AspNetCore.Routing/Constraints/DateTimeRouteConstraint.cs @@ -26,16 +26,6 @@ namespace Microsoft.AspNetCore.Routing.Constraints RouteValueDictionary values, RouteDirection routeDirection) { - if (httpContext == null) - { - throw new ArgumentNullException(nameof(httpContext)); - } - - if (route == null) - { - throw new ArgumentNullException(nameof(route)); - } - if (routeKey == null) { throw new ArgumentNullException(nameof(routeKey)); diff --git a/src/Microsoft.AspNetCore.Routing/Constraints/DecimalRouteConstraint.cs b/src/Microsoft.AspNetCore.Routing/Constraints/DecimalRouteConstraint.cs index ff29d98574..808d448706 100644 --- a/src/Microsoft.AspNetCore.Routing/Constraints/DecimalRouteConstraint.cs +++ b/src/Microsoft.AspNetCore.Routing/Constraints/DecimalRouteConstraint.cs @@ -20,16 +20,6 @@ namespace Microsoft.AspNetCore.Routing.Constraints RouteValueDictionary values, RouteDirection routeDirection) { - if (httpContext == null) - { - throw new ArgumentNullException(nameof(httpContext)); - } - - if (route == null) - { - throw new ArgumentNullException(nameof(route)); - } - if (routeKey == null) { throw new ArgumentNullException(nameof(routeKey)); diff --git a/src/Microsoft.AspNetCore.Routing/Constraints/DoubleRouteConstraint.cs b/src/Microsoft.AspNetCore.Routing/Constraints/DoubleRouteConstraint.cs index e7259d0bf3..0a8064f468 100644 --- a/src/Microsoft.AspNetCore.Routing/Constraints/DoubleRouteConstraint.cs +++ b/src/Microsoft.AspNetCore.Routing/Constraints/DoubleRouteConstraint.cs @@ -20,16 +20,6 @@ namespace Microsoft.AspNetCore.Routing.Constraints RouteValueDictionary values, RouteDirection routeDirection) { - if (httpContext == null) - { - throw new ArgumentNullException(nameof(httpContext)); - } - - if (route == null) - { - throw new ArgumentNullException(nameof(route)); - } - if (routeKey == null) { throw new ArgumentNullException(nameof(routeKey)); diff --git a/src/Microsoft.AspNetCore.Routing/Constraints/FloatRouteConstraint.cs b/src/Microsoft.AspNetCore.Routing/Constraints/FloatRouteConstraint.cs index 5db0e65c28..eff69c8ad1 100644 --- a/src/Microsoft.AspNetCore.Routing/Constraints/FloatRouteConstraint.cs +++ b/src/Microsoft.AspNetCore.Routing/Constraints/FloatRouteConstraint.cs @@ -20,16 +20,6 @@ namespace Microsoft.AspNetCore.Routing.Constraints RouteValueDictionary values, RouteDirection routeDirection) { - if (httpContext == null) - { - throw new ArgumentNullException(nameof(httpContext)); - } - - if (route == null) - { - throw new ArgumentNullException(nameof(route)); - } - if (routeKey == null) { throw new ArgumentNullException(nameof(routeKey)); diff --git a/src/Microsoft.AspNetCore.Routing/Constraints/GuidRouteConstraint.cs b/src/Microsoft.AspNetCore.Routing/Constraints/GuidRouteConstraint.cs index 00d451767f..aa1c74ec07 100644 --- a/src/Microsoft.AspNetCore.Routing/Constraints/GuidRouteConstraint.cs +++ b/src/Microsoft.AspNetCore.Routing/Constraints/GuidRouteConstraint.cs @@ -22,16 +22,6 @@ namespace Microsoft.AspNetCore.Routing.Constraints RouteValueDictionary values, RouteDirection routeDirection) { - if (httpContext == null) - { - throw new ArgumentNullException(nameof(httpContext)); - } - - if (route == null) - { - throw new ArgumentNullException(nameof(route)); - } - if (routeKey == null) { throw new ArgumentNullException(nameof(routeKey)); diff --git a/src/Microsoft.AspNetCore.Routing/Constraints/HttpMethodRouteConstraint.cs b/src/Microsoft.AspNetCore.Routing/Constraints/HttpMethodRouteConstraint.cs index d01140157d..a894acaacb 100644 --- a/src/Microsoft.AspNetCore.Routing/Constraints/HttpMethodRouteConstraint.cs +++ b/src/Microsoft.AspNetCore.Routing/Constraints/HttpMethodRouteConstraint.cs @@ -41,16 +41,6 @@ namespace Microsoft.AspNetCore.Routing.Constraints RouteValueDictionary values, RouteDirection routeDirection) { - if (httpContext == null) - { - throw new ArgumentNullException(nameof(httpContext)); - } - - if (route == null) - { - throw new ArgumentNullException(nameof(route)); - } - if (routeKey == null) { throw new ArgumentNullException(nameof(routeKey)); @@ -64,6 +54,12 @@ namespace Microsoft.AspNetCore.Routing.Constraints switch (routeDirection) { case RouteDirection.IncomingRequest: + // Only required for constraining incoming requests + if (httpContext == null) + { + throw new ArgumentNullException(nameof(httpContext)); + } + return AllowedMethods.Contains(httpContext.Request.Method, StringComparer.OrdinalIgnoreCase); case RouteDirection.UrlGeneration: diff --git a/src/Microsoft.AspNetCore.Routing/Constraints/IntRouteConstraint.cs b/src/Microsoft.AspNetCore.Routing/Constraints/IntRouteConstraint.cs index 83b08533bd..82f32052ee 100644 --- a/src/Microsoft.AspNetCore.Routing/Constraints/IntRouteConstraint.cs +++ b/src/Microsoft.AspNetCore.Routing/Constraints/IntRouteConstraint.cs @@ -20,16 +20,6 @@ namespace Microsoft.AspNetCore.Routing.Constraints RouteValueDictionary values, RouteDirection routeDirection) { - if (httpContext == null) - { - throw new ArgumentNullException(nameof(httpContext)); - } - - if (route == null) - { - throw new ArgumentNullException(nameof(route)); - } - if (routeKey == null) { throw new ArgumentNullException(nameof(routeKey)); diff --git a/src/Microsoft.AspNetCore.Routing/Constraints/LengthRouteConstraint.cs b/src/Microsoft.AspNetCore.Routing/Constraints/LengthRouteConstraint.cs index f876c03cbc..f102af6ec4 100644 --- a/src/Microsoft.AspNetCore.Routing/Constraints/LengthRouteConstraint.cs +++ b/src/Microsoft.AspNetCore.Routing/Constraints/LengthRouteConstraint.cs @@ -77,16 +77,6 @@ namespace Microsoft.AspNetCore.Routing.Constraints RouteValueDictionary values, RouteDirection routeDirection) { - if (httpContext == null) - { - throw new ArgumentNullException(nameof(httpContext)); - } - - if (route == null) - { - throw new ArgumentNullException(nameof(route)); - } - if (routeKey == null) { throw new ArgumentNullException(nameof(routeKey)); diff --git a/src/Microsoft.AspNetCore.Routing/Constraints/LongRouteConstraint.cs b/src/Microsoft.AspNetCore.Routing/Constraints/LongRouteConstraint.cs index a76a4de885..6d12c74d79 100644 --- a/src/Microsoft.AspNetCore.Routing/Constraints/LongRouteConstraint.cs +++ b/src/Microsoft.AspNetCore.Routing/Constraints/LongRouteConstraint.cs @@ -20,16 +20,6 @@ namespace Microsoft.AspNetCore.Routing.Constraints RouteValueDictionary values, RouteDirection routeDirection) { - if (httpContext == null) - { - throw new ArgumentNullException(nameof(httpContext)); - } - - if (route == null) - { - throw new ArgumentNullException(nameof(route)); - } - if (routeKey == null) { throw new ArgumentNullException(nameof(routeKey)); diff --git a/src/Microsoft.AspNetCore.Routing/Constraints/MaxLengthRouteConstraint.cs b/src/Microsoft.AspNetCore.Routing/Constraints/MaxLengthRouteConstraint.cs index 42dde182ed..a7858477da 100644 --- a/src/Microsoft.AspNetCore.Routing/Constraints/MaxLengthRouteConstraint.cs +++ b/src/Microsoft.AspNetCore.Routing/Constraints/MaxLengthRouteConstraint.cs @@ -40,16 +40,6 @@ namespace Microsoft.AspNetCore.Routing.Constraints RouteValueDictionary values, RouteDirection routeDirection) { - if (httpContext == null) - { - throw new ArgumentNullException(nameof(httpContext)); - } - - if (route == null) - { - throw new ArgumentNullException(nameof(route)); - } - if (routeKey == null) { throw new ArgumentNullException(nameof(routeKey)); diff --git a/src/Microsoft.AspNetCore.Routing/Constraints/MaxRouteConstraint.cs b/src/Microsoft.AspNetCore.Routing/Constraints/MaxRouteConstraint.cs index e43dac85fe..f20cce6c6c 100644 --- a/src/Microsoft.AspNetCore.Routing/Constraints/MaxRouteConstraint.cs +++ b/src/Microsoft.AspNetCore.Routing/Constraints/MaxRouteConstraint.cs @@ -34,16 +34,6 @@ namespace Microsoft.AspNetCore.Routing.Constraints RouteValueDictionary values, RouteDirection routeDirection) { - if (httpContext == null) - { - throw new ArgumentNullException(nameof(httpContext)); - } - - if (route == null) - { - throw new ArgumentNullException(nameof(route)); - } - if (routeKey == null) { throw new ArgumentNullException(nameof(routeKey)); diff --git a/src/Microsoft.AspNetCore.Routing/Constraints/MinLengthRouteConstraint.cs b/src/Microsoft.AspNetCore.Routing/Constraints/MinLengthRouteConstraint.cs index 1ea64ae216..7a51bf7412 100644 --- a/src/Microsoft.AspNetCore.Routing/Constraints/MinLengthRouteConstraint.cs +++ b/src/Microsoft.AspNetCore.Routing/Constraints/MinLengthRouteConstraint.cs @@ -40,16 +40,6 @@ namespace Microsoft.AspNetCore.Routing.Constraints RouteValueDictionary values, RouteDirection routeDirection) { - if (httpContext == null) - { - throw new ArgumentNullException(nameof(httpContext)); - } - - if (route == null) - { - throw new ArgumentNullException(nameof(route)); - } - if (routeKey == null) { throw new ArgumentNullException(nameof(routeKey)); diff --git a/src/Microsoft.AspNetCore.Routing/Constraints/MinRouteConstraint.cs b/src/Microsoft.AspNetCore.Routing/Constraints/MinRouteConstraint.cs index 68357c59e7..701d5c68e8 100644 --- a/src/Microsoft.AspNetCore.Routing/Constraints/MinRouteConstraint.cs +++ b/src/Microsoft.AspNetCore.Routing/Constraints/MinRouteConstraint.cs @@ -34,16 +34,6 @@ namespace Microsoft.AspNetCore.Routing.Constraints RouteValueDictionary values, RouteDirection routeDirection) { - if (httpContext == null) - { - throw new ArgumentNullException(nameof(httpContext)); - } - - if (route == null) - { - throw new ArgumentNullException(nameof(route)); - } - if (routeKey == null) { throw new ArgumentNullException(nameof(routeKey)); diff --git a/src/Microsoft.AspNetCore.Routing/Constraints/OptionalRouteConstraint.cs b/src/Microsoft.AspNetCore.Routing/Constraints/OptionalRouteConstraint.cs index 3990376410..9a9cca8e42 100644 --- a/src/Microsoft.AspNetCore.Routing/Constraints/OptionalRouteConstraint.cs +++ b/src/Microsoft.AspNetCore.Routing/Constraints/OptionalRouteConstraint.cs @@ -30,16 +30,6 @@ namespace Microsoft.AspNetCore.Routing.Constraints RouteValueDictionary values, RouteDirection routeDirection) { - if (httpContext == null) - { - throw new ArgumentNullException(nameof(httpContext)); - } - - if (route == null) - { - throw new ArgumentNullException(nameof(route)); - } - if (routeKey == null) { throw new ArgumentNullException(nameof(routeKey)); diff --git a/src/Microsoft.AspNetCore.Routing/Constraints/RangeRouteConstraint.cs b/src/Microsoft.AspNetCore.Routing/Constraints/RangeRouteConstraint.cs index 301a75f15a..cc2487cfcb 100644 --- a/src/Microsoft.AspNetCore.Routing/Constraints/RangeRouteConstraint.cs +++ b/src/Microsoft.AspNetCore.Routing/Constraints/RangeRouteConstraint.cs @@ -48,16 +48,6 @@ namespace Microsoft.AspNetCore.Routing.Constraints RouteValueDictionary values, RouteDirection routeDirection) { - if (httpContext == null) - { - throw new ArgumentNullException(nameof(httpContext)); - } - - if (route == null) - { - throw new ArgumentNullException(nameof(route)); - } - if (routeKey == null) { throw new ArgumentNullException(nameof(routeKey)); diff --git a/src/Microsoft.AspNetCore.Routing/Constraints/RegexRouteConstraint.cs b/src/Microsoft.AspNetCore.Routing/Constraints/RegexRouteConstraint.cs index fb3d2390fe..c4e83f40e3 100644 --- a/src/Microsoft.AspNetCore.Routing/Constraints/RegexRouteConstraint.cs +++ b/src/Microsoft.AspNetCore.Routing/Constraints/RegexRouteConstraint.cs @@ -44,16 +44,6 @@ namespace Microsoft.AspNetCore.Routing.Constraints RouteValueDictionary values, RouteDirection routeDirection) { - if (httpContext == null) - { - throw new ArgumentNullException(nameof(httpContext)); - } - - if (route == null) - { - throw new ArgumentNullException(nameof(route)); - } - if (routeKey == null) { throw new ArgumentNullException(nameof(routeKey)); diff --git a/src/Microsoft.AspNetCore.Routing/Constraints/RequiredRouteConstraint.cs b/src/Microsoft.AspNetCore.Routing/Constraints/RequiredRouteConstraint.cs index e03d618565..827f85ea39 100644 --- a/src/Microsoft.AspNetCore.Routing/Constraints/RequiredRouteConstraint.cs +++ b/src/Microsoft.AspNetCore.Routing/Constraints/RequiredRouteConstraint.cs @@ -24,16 +24,6 @@ namespace Microsoft.AspNetCore.Routing.Constraints RouteValueDictionary values, RouteDirection routeDirection) { - if (httpContext == null) - { - throw new ArgumentNullException(nameof(httpContext)); - } - - if (route == null) - { - throw new ArgumentNullException(nameof(route)); - } - if (routeKey == null) { throw new ArgumentNullException(nameof(routeKey)); diff --git a/src/Microsoft.AspNetCore.Routing/Constraints/StringRouteConstraint.cs b/src/Microsoft.AspNetCore.Routing/Constraints/StringRouteConstraint.cs index e7d92ef13c..202fcbb02c 100644 --- a/src/Microsoft.AspNetCore.Routing/Constraints/StringRouteConstraint.cs +++ b/src/Microsoft.AspNetCore.Routing/Constraints/StringRouteConstraint.cs @@ -31,16 +31,6 @@ namespace Microsoft.AspNetCore.Routing.Constraints /// public bool Match(HttpContext httpContext, IRouter route, string routeKey, RouteValueDictionary values, RouteDirection routeDirection) { - if (httpContext == null) - { - throw new ArgumentNullException(nameof(httpContext)); - } - - if (route == null) - { - throw new ArgumentNullException(nameof(route)); - } - if (routeKey == null) { throw new ArgumentNullException(nameof(routeKey)); diff --git a/src/Microsoft.AspNetCore.Routing/DefaultInlineConstraintResolver.cs b/src/Microsoft.AspNetCore.Routing/DefaultInlineConstraintResolver.cs index ed58e053ba..1ed1f8e1ab 100644 --- a/src/Microsoft.AspNetCore.Routing/DefaultInlineConstraintResolver.cs +++ b/src/Microsoft.AspNetCore.Routing/DefaultInlineConstraintResolver.cs @@ -3,9 +3,7 @@ using System; using System.Collections.Generic; -using System.Globalization; -using System.Linq; -using System.Reflection; +using Microsoft.AspNetCore.Routing.Internal; using Microsoft.Extensions.Options; namespace Microsoft.AspNetCore.Routing @@ -18,6 +16,7 @@ namespace Microsoft.AspNetCore.Routing public class DefaultInlineConstraintResolver : IInlineConstraintResolver { private readonly IDictionary _inlineConstraintMap; + private readonly IServiceProvider _serviceProvider; /// /// Initializes a new instance of the class. @@ -25,11 +24,23 @@ namespace Microsoft.AspNetCore.Routing /// /// Accessor for containing the constraints of interest. /// + [Obsolete("This constructor is obsolete. Use DefaultInlineConstraintResolver.ctor(IOptions, IServiceProvider) instead.")] public DefaultInlineConstraintResolver(IOptions routeOptions) { _inlineConstraintMap = routeOptions.Value.ConstraintMap; } + public DefaultInlineConstraintResolver(IOptions routeOptions, IServiceProvider serviceProvider) + { + if (serviceProvider == null) + { + throw new ArgumentNullException(nameof(serviceProvider)); + } + + _inlineConstraintMap = routeOptions.Value.ConstraintMap; + _serviceProvider = serviceProvider; + } + /// /// /// A typical constraint looks like the following @@ -45,112 +56,7 @@ namespace Microsoft.AspNetCore.Routing throw new ArgumentNullException(nameof(inlineConstraint)); } - string constraintKey; - string argumentString; - var indexOfFirstOpenParens = inlineConstraint.IndexOf('('); - if (indexOfFirstOpenParens >= 0 && inlineConstraint.EndsWith(")", StringComparison.Ordinal)) - { - constraintKey = inlineConstraint.Substring(0, indexOfFirstOpenParens); - argumentString = inlineConstraint.Substring(indexOfFirstOpenParens + 1, - inlineConstraint.Length - indexOfFirstOpenParens - 2); - } - else - { - constraintKey = inlineConstraint; - argumentString = null; - } - - Type constraintType; - if (!_inlineConstraintMap.TryGetValue(constraintKey, out constraintType)) - { - // Cannot resolve the constraint key - return null; - } - - if (!typeof(IRouteConstraint).GetTypeInfo().IsAssignableFrom(constraintType.GetTypeInfo())) - { - throw new RouteCreationException( - Resources.FormatDefaultInlineConstraintResolver_TypeNotConstraint( - constraintType, constraintKey, typeof(IRouteConstraint).Name)); - } - - try - { - return CreateConstraint(constraintType, argumentString); - } - catch (RouteCreationException) - { - throw; - } - catch (Exception exception) - { - throw new RouteCreationException( - $"An error occurred while trying to create an instance of route constraint '{constraintType.FullName}'.", - exception); - } - } - - internal static IRouteConstraint CreateConstraint(Type constraintType, string argumentString) - { - // No arguments - call the default constructor - if (argumentString == null) - { - return (IRouteConstraint)Activator.CreateInstance(constraintType); - } - - var constraintTypeInfo = constraintType.GetTypeInfo(); - ConstructorInfo activationConstructor = null; - object[] parameters = null; - var constructors = constraintTypeInfo.DeclaredConstructors.ToArray(); - - // If there is only one constructor and it has a single parameter, pass the argument string directly - // This is necessary for the Regex RouteConstraint to ensure that patterns are not split on commas. - if (constructors.Length == 1 && constructors[0].GetParameters().Length == 1) - { - activationConstructor = constructors[0]; - parameters = ConvertArguments(activationConstructor.GetParameters(), new string[] { argumentString }); - } - else - { - var arguments = argumentString.Split(',').Select(argument => argument.Trim()).ToArray(); - - var matchingConstructors = constructors.Where(ci => ci.GetParameters().Length == arguments.Length) - .ToArray(); - var constructorMatches = matchingConstructors.Length; - - if (constructorMatches == 0) - { - throw new RouteCreationException( - Resources.FormatDefaultInlineConstraintResolver_CouldNotFindCtor( - constraintTypeInfo.Name, arguments.Length)); - } - else if (constructorMatches == 1) - { - activationConstructor = matchingConstructors[0]; - parameters = ConvertArguments(activationConstructor.GetParameters(), arguments); - } - else - { - throw new RouteCreationException( - Resources.FormatDefaultInlineConstraintResolver_AmbiguousCtors( - constraintTypeInfo.Name, arguments.Length)); - } - } - - return (IRouteConstraint)activationConstructor.Invoke(parameters); - } - - private static object[] ConvertArguments(ParameterInfo[] parameterInfos, string[] arguments) - { - var parameters = new object[parameterInfos.Length]; - for (var i = 0; i < parameterInfos.Length; i++) - { - var parameter = parameterInfos[i]; - var parameterType = parameter.ParameterType; - parameters[i] = Convert.ChangeType(arguments[i], parameterType, CultureInfo.InvariantCulture); - } - - return parameters; + return ParameterPolicyActivator.ResolveParameterPolicy(_inlineConstraintMap, _serviceProvider, inlineConstraint, out _); } } } diff --git a/src/Microsoft.AspNetCore.Routing/DefaultParameterPolicyFactory.cs b/src/Microsoft.AspNetCore.Routing/DefaultParameterPolicyFactory.cs index a85f3d826b..d14bd9f113 100644 --- a/src/Microsoft.AspNetCore.Routing/DefaultParameterPolicyFactory.cs +++ b/src/Microsoft.AspNetCore.Routing/DefaultParameterPolicyFactory.cs @@ -3,8 +3,8 @@ using System; using Microsoft.AspNetCore.Routing.Constraints; +using Microsoft.AspNetCore.Routing.Internal; using Microsoft.AspNetCore.Routing.Patterns; -using Microsoft.Extensions.DependencyInjection; using Microsoft.Extensions.Options; namespace Microsoft.AspNetCore.Routing @@ -31,7 +31,7 @@ namespace Microsoft.AspNetCore.Routing if (parameterPolicy is IRouteConstraint routeConstraint) { - return InitializeRouteConstraint(parameter?.IsOptional ?? false, routeConstraint, argument: null); + return InitializeRouteConstraint(parameter?.IsOptional ?? false, routeConstraint); } return parameterPolicy; @@ -44,47 +44,26 @@ namespace Microsoft.AspNetCore.Routing throw new ArgumentNullException(nameof(inlineText)); } - // Example: - // {productId:regex(\d+)} - // - // ParameterName: productId - // value: regex(\d+) - // name: regex - // argument: \d+ - (var name, var argument) = Parse(inlineText); - - if (!_options.ConstraintMap.TryGetValue(name, out var type)) + var parameterPolicy = ParameterPolicyActivator.ResolveParameterPolicy(_options.ConstraintMap, _serviceProvider, inlineText, out var parameterPolicyKey); + if (parameterPolicy == null) { throw new InvalidOperationException(Resources.FormatRoutePattern_ConstraintReferenceNotFound( - name, - typeof(RouteOptions), - nameof(RouteOptions.ConstraintMap))); + parameterPolicyKey, + typeof(RouteOptions), + nameof(RouteOptions.ConstraintMap))); } - if (typeof(IRouteConstraint).IsAssignableFrom(type)) + if (parameterPolicy is IRouteConstraint constraint) { - var constraint = DefaultInlineConstraintResolver.CreateConstraint(type, argument); - return InitializeRouteConstraint(parameter?.IsOptional ?? false, constraint, argument); + return InitializeRouteConstraint(parameter?.IsOptional ?? false, constraint); } - if (typeof(IParameterPolicy).IsAssignableFrom(type)) - { - var parameterPolicy = (IParameterPolicy)_serviceProvider.GetRequiredService(type); - return parameterPolicy; - } - - var message = Resources.FormatRoutePattern_InvalidStringConstraintReference( - type, - name, - typeof(IRouteConstraint), - typeof(IParameterPolicy)); - throw new InvalidOperationException(message); + return parameterPolicy; } private IParameterPolicy InitializeRouteConstraint( bool optional, - IRouteConstraint routeConstraint, - string argument) + IRouteConstraint routeConstraint) { if (optional) { @@ -93,25 +72,5 @@ namespace Microsoft.AspNetCore.Routing return routeConstraint; } - - private (string name, string argument) Parse(string text) - { - string name; - string argument; - var indexOfFirstOpenParens = text.IndexOf('('); - if (indexOfFirstOpenParens >= 0 && text.EndsWith(")", StringComparison.Ordinal)) - { - name = text.Substring(0, indexOfFirstOpenParens); - argument = text.Substring( - indexOfFirstOpenParens + 1, - text.Length - indexOfFirstOpenParens - 2); - } - else - { - name = text; - argument = null; - } - return (name, argument); - } } } diff --git a/src/Microsoft.AspNetCore.Routing/Internal/ParameterPolicyActivator.cs b/src/Microsoft.AspNetCore.Routing/Internal/ParameterPolicyActivator.cs new file mode 100644 index 0000000000..1fc3f1a365 --- /dev/null +++ b/src/Microsoft.AspNetCore.Routing/Internal/ParameterPolicyActivator.cs @@ -0,0 +1,174 @@ +// Copyright (c) .NET Foundation. All rights reserved. +// Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information. + +using System; +using System.Collections.Generic; +using System.Globalization; +using System.Linq; +using System.Reflection; +using System.Text; +using Microsoft.Extensions.DependencyInjection; + +namespace Microsoft.AspNetCore.Routing.Internal +{ + internal static class ParameterPolicyActivator + { + public static T ResolveParameterPolicy(IDictionary inlineParameterPolicyMap, IServiceProvider serviceProvider, string inlineParameterPolicy, out string parameterPolicyKey) + where T : IParameterPolicy + { + // IServiceProvider could be null + // DefaultInlineConstraintResolver can be created without an IServiceProvider and then call this method + + if (inlineParameterPolicyMap == null) + { + throw new ArgumentNullException(nameof(inlineParameterPolicyMap)); + } + + if (inlineParameterPolicy == null) + { + throw new ArgumentNullException(nameof(inlineParameterPolicy)); + } + + string argumentString; + var indexOfFirstOpenParens = inlineParameterPolicy.IndexOf('('); + if (indexOfFirstOpenParens >= 0 && inlineParameterPolicy.EndsWith(")", StringComparison.Ordinal)) + { + parameterPolicyKey = inlineParameterPolicy.Substring(0, indexOfFirstOpenParens); + argumentString = inlineParameterPolicy.Substring( + indexOfFirstOpenParens + 1, + inlineParameterPolicy.Length - indexOfFirstOpenParens - 2); + } + else + { + parameterPolicyKey = inlineParameterPolicy; + argumentString = null; + } + + if (!inlineParameterPolicyMap.TryGetValue(parameterPolicyKey, out var parameterPolicyType)) + { + return default; + } + + if (!typeof(T).IsAssignableFrom(parameterPolicyType)) + { + throw new RouteCreationException( + Resources.FormatDefaultInlineConstraintResolver_TypeNotConstraint( + parameterPolicyType, parameterPolicyKey, typeof(T).Name)); + } + + try + { + return (T)CreateParameterPolicy(serviceProvider, parameterPolicyType, argumentString); + } + catch (RouteCreationException) + { + throw; + } + catch (Exception exception) + { + throw new RouteCreationException( + $"An error occurred while trying to create an instance of '{parameterPolicyType.FullName}'.", + exception); + } + } + + private static IParameterPolicy CreateParameterPolicy(IServiceProvider serviceProvider, Type parameterPolicyType, string argumentString) + { + ConstructorInfo activationConstructor = null; + object[] parameters = null; + var constructors = parameterPolicyType.GetConstructors(); + + // If there is only one constructor and it has a single parameter, pass the argument string directly + // This is necessary for the Regex RouteConstraint to ensure that patterns are not split on commas. + if (constructors.Length == 1 && GetNonConvertableParameterTypeCount(serviceProvider, constructors[0].GetParameters()) == 1) + { + activationConstructor = constructors[0]; + parameters = ConvertArguments(serviceProvider, activationConstructor.GetParameters(), new string[] { argumentString }); + } + else + { + var arguments = !string.IsNullOrEmpty(argumentString) + ? argumentString.Split(',').Select(argument => argument.Trim()).ToArray() + : Array.Empty(); + + // We want to find the constructors that match the number of passed in arguments + // We either want a single match, or a single best match. The best match is the one with the most + // arguments that can be resolved from DI + // + // For example, ctor(string, IService) will beat ctor(string) + var matchingConstructors = constructors + .Where(ci => GetNonConvertableParameterTypeCount(serviceProvider, ci.GetParameters()) == arguments.Length) + .OrderByDescending(ci => ci.GetParameters().Length) + .ToArray(); + + if (matchingConstructors.Length == 0) + { + throw new RouteCreationException( + Resources.FormatDefaultInlineConstraintResolver_CouldNotFindCtor( + parameterPolicyType.Name, arguments.Length)); + } + else + { + // When there are multiple matching constructors, choose the one with the most service arguments + if (matchingConstructors.Length == 1 + || matchingConstructors[0].GetParameters().Length > matchingConstructors[1].GetParameters().Length) + { + activationConstructor = matchingConstructors[0]; + } + else + { + throw new RouteCreationException( + Resources.FormatDefaultInlineConstraintResolver_AmbiguousCtors( + parameterPolicyType.Name, matchingConstructors[0].GetParameters().Length)); + } + + parameters = ConvertArguments(serviceProvider, activationConstructor.GetParameters(), arguments); + } + } + + return (IParameterPolicy)activationConstructor.Invoke(parameters); + } + + private static int GetNonConvertableParameterTypeCount(IServiceProvider serviceProvider, ParameterInfo[] parameters) + { + if (serviceProvider == null) + { + return parameters.Length; + } + + var count = 0; + for (var i = 0; i < parameters.Length; i++) + { + if (typeof(IConvertible).IsAssignableFrom(parameters[i].ParameterType)) + { + count++; + } + } + + return count; + } + + private static object[] ConvertArguments(IServiceProvider serviceProvider, ParameterInfo[] parameterInfos, string[] arguments) + { + var parameters = new object[parameterInfos.Length]; + var argumentPosition = 0; + for (var i = 0; i < parameterInfos.Length; i++) + { + var parameter = parameterInfos[i]; + var parameterType = parameter.ParameterType; + + if (serviceProvider != null && !typeof(IConvertible).IsAssignableFrom(parameterType)) + { + parameters[i] = serviceProvider.GetRequiredService(parameterType); + } + else + { + parameters[i] = Convert.ChangeType(arguments[argumentPosition], parameterType, CultureInfo.InvariantCulture); + argumentPosition++; + } + } + + return parameters; + } + } +} diff --git a/test/Microsoft.AspNetCore.Routing.Tests/DefaultInlineConstraintResolverTest.cs b/test/Microsoft.AspNetCore.Routing.Tests/DefaultInlineConstraintResolverTest.cs index bba78fb6b2..63aef81de4 100644 --- a/test/Microsoft.AspNetCore.Routing.Tests/DefaultInlineConstraintResolverTest.cs +++ b/test/Microsoft.AspNetCore.Routing.Tests/DefaultInlineConstraintResolverTest.cs @@ -5,6 +5,7 @@ using System; using System.Collections.Generic; using Microsoft.AspNetCore.Http; using Microsoft.AspNetCore.Routing.Constraints; +using Microsoft.AspNetCore.Routing.TestObjects; using Microsoft.Extensions.DependencyInjection; using Microsoft.Extensions.Options; using Moq; @@ -324,11 +325,33 @@ namespace Microsoft.AspNetCore.Routing.Tests ex.Message); } - private IInlineConstraintResolver GetInlineConstraintResolver(RouteOptions routeOptions) + [Fact] + public void ResolveConstraint_HasArguments_NoServiceProvider() + { + // Arrange + var routeOptions = new RouteOptions(); + var constraintResolver = GetInlineConstraintResolver(routeOptions, hasServiceProvider: false); + + // Act + var constraint = constraintResolver.ResolveConstraint("regex(ab,1)"); + + // Assert + Assert.IsType(constraint); + } + + private IInlineConstraintResolver GetInlineConstraintResolver(RouteOptions routeOptions, bool hasServiceProvider = true) { var optionsAccessor = new Mock>(); optionsAccessor.SetupGet(o => o.Value).Returns(routeOptions); + + if (hasServiceProvider) + { + return new DefaultInlineConstraintResolver(optionsAccessor.Object, new TestServiceProvider()); + } + +#pragma warning disable CS0618 // Type or member is obsolete return new DefaultInlineConstraintResolver(optionsAccessor.Object); +#pragma warning restore CS0618 // Type or member is obsolete } private class MultiConstructorRouteConstraint : IRouteConstraint diff --git a/test/Microsoft.AspNetCore.Routing.Tests/DefaultParameterPolicyFactoryTest.cs b/test/Microsoft.AspNetCore.Routing.Tests/DefaultParameterPolicyFactoryTest.cs new file mode 100644 index 0000000000..69761f3a0d --- /dev/null +++ b/test/Microsoft.AspNetCore.Routing.Tests/DefaultParameterPolicyFactoryTest.cs @@ -0,0 +1,533 @@ +// Copyright (c) .NET Foundation. All rights reserved. +// Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information. + +using System; +using System.Globalization; +using Microsoft.AspNetCore.Http; +using Microsoft.AspNetCore.Routing.Constraints; +using Microsoft.AspNetCore.Routing.Patterns; +using Microsoft.Extensions.DependencyInjection; +using Microsoft.Extensions.Options; +using Xunit; + +namespace Microsoft.AspNetCore.Routing +{ + public class DefaultParameterPolicyFactoryTest + { + [Fact] + public void Create_ThrowsException_IfNoConstraintOrParameterPolicy_FoundInMap() + { + // Arrange + var factory = GetParameterPolicyFactory(); + + // Act + var exception = Assert.Throws( + () => factory.Create(RoutePatternFactory.ParameterPart("id", @default: null, RoutePatternParameterKind.Optional), @"notpresent(\d+)")); + + // Assert + Assert.Equal( + $"The constraint reference 'notpresent' could not be resolved to a type. " + + $"Register the constraint type with '{typeof(RouteOptions)}.{nameof(RouteOptions.ConstraintMap)}'.", + exception.Message); + } + + [Fact] + public void Create_ThrowsException_OnInvalidType() + { + // Arrange + var options = new RouteOptions(); + options.ConstraintMap.Add("bad", typeof(string)); + + var services = new ServiceCollection(); + + var factory = GetParameterPolicyFactory(options, services); + + // Act + var exception = Assert.Throws( + () => factory.Create(RoutePatternFactory.ParameterPart("id"), @"bad")); + + // Assert + Assert.Equal( + $"The constraint type '{typeof(string)}' which is mapped to constraint key 'bad' must implement the '{nameof(IParameterPolicy)}' interface.", + exception.Message); + } + + [Fact] + public void Create_CreatesParameterPolicy_FromRoutePattern_String() + { + // Arrange + var factory = GetParameterPolicyFactory(); + + var parameter = RoutePatternFactory.ParameterPart( + "id", + @default: null, + parameterKind: RoutePatternParameterKind.Standard, + parameterPolicies: new[] { RoutePatternFactory.Constraint("int"), }); + + // Act + var parameterPolicy = factory.Create(parameter, parameter.ParameterPolicies[0]); + + // Assert + Assert.IsType(parameterPolicy); + } + + [Fact] + public void Create_CreatesParameterPolicy_FromRoutePattern_String_Optional() + { + // Arrange + var factory = GetParameterPolicyFactory(); + + var parameter = RoutePatternFactory.ParameterPart( + "id", + @default: null, + parameterKind: RoutePatternParameterKind.Optional, + parameterPolicies: new[] { RoutePatternFactory.Constraint("int"), }); + + // Act + var parameterPolicy = factory.Create(parameter, parameter.ParameterPolicies[0]); + + // Assert + var optionalConstraint = Assert.IsType(parameterPolicy); + Assert.IsType(optionalConstraint.InnerConstraint); + } + + [Fact] + public void Create_CreatesParameterPolicy_FromRoutePattern_Constraint() + { + // Arrange + var factory = GetParameterPolicyFactory(); + + var parameter = RoutePatternFactory.ParameterPart( + "id", + @default: null, + parameterKind: RoutePatternParameterKind.Standard, + parameterPolicies: new[] { RoutePatternFactory.ParameterPolicy(new IntRouteConstraint()), }); + + // Act + var parameterPolicy = factory.Create(parameter, parameter.ParameterPolicies[0]); + + // Assert + Assert.IsType(parameterPolicy); + } + + [Fact] + public void Create_CreatesParameterPolicy_FromRoutePattern_Constraint_Optional() + { + // Arrange + var factory = GetParameterPolicyFactory(); + + var parameter = RoutePatternFactory.ParameterPart( + "id", + @default: null, + parameterKind: RoutePatternParameterKind.Optional, + parameterPolicies: new[] { RoutePatternFactory.ParameterPolicy(new IntRouteConstraint()), }); + + // Act + var parameterPolicy = factory.Create(parameter, parameter.ParameterPolicies[0]); + + // Assert + var optionalConstraint = Assert.IsType(parameterPolicy); + Assert.IsType(optionalConstraint.InnerConstraint); + } + + [Fact] + public void Create_CreatesParameterPolicy_FromRoutePattern_ParameterPolicy() + { + // Arrange + var factory = GetParameterPolicyFactory(); + + var parameter = RoutePatternFactory.ParameterPart( + "id", + @default: null, + parameterKind: RoutePatternParameterKind.Standard, + parameterPolicies: new[] { RoutePatternFactory.ParameterPolicy(new CustomParameterPolicy()), }); + + // Act + var parameterPolicy = factory.Create(parameter, parameter.ParameterPolicies[0]); + + // Assert + Assert.IsType(parameterPolicy); + } + + [Fact] + public void Create_CreatesParameterPolicy_FromConstraintText_AndRouteConstraint() + { + // Arrange + var factory = GetParameterPolicyFactory(); + + // Act + var parameterPolicy = factory.Create(RoutePatternFactory.ParameterPart("id"), "int"); + + // Assert + Assert.IsType(parameterPolicy); + } + + [Fact] + public void Create_CreatesParameterPolicy_FromConstraintText_AndRouteConstraintWithArgument() + { + // Arrange + var factory = GetParameterPolicyFactory(); + + // Act + var parameterPolicy = factory.Create(RoutePatternFactory.ParameterPart("id"), "range(1,20)"); + + // Assert + var constraint = Assert.IsType(parameterPolicy); + Assert.Equal(1, constraint.Min); + Assert.Equal(20, constraint.Max); + } + + [Fact] + public void Create_CreatesParameterPolicy_FromConstraintText_AndRouteConstraint_Optional() + { + // Arrange + var factory = GetParameterPolicyFactory(); + + // Act + var parameterPolicy = factory.Create(RoutePatternFactory.ParameterPart("id", @default: null, RoutePatternParameterKind.Optional), "int"); + + // Assert + var optionalConstraint = Assert.IsType(parameterPolicy); + Assert.IsType(optionalConstraint.InnerConstraint); + } + + [Fact] + public void Create_CreatesParameterPolicy_FromConstraintText_AndParameterPolicy() + { + // Arrange + var options = new RouteOptions(); + options.ConstraintMap.Add("customParameterPolicy", typeof(CustomParameterPolicy)); + + var services = new ServiceCollection(); + services.AddTransient(); + + var factory = GetParameterPolicyFactory(options, services); + + // Act + var parameterPolicy = factory.Create(RoutePatternFactory.ParameterPart("id", @default: null, RoutePatternParameterKind.Optional), "customParameterPolicy"); + + // Assert + Assert.IsType(parameterPolicy); + } + + [Fact] + public void Create_CreatesParameterPolicy_FromConstraintText_AndParameterPolicyWithArgumentAndServices() + { + // Arrange + var options = new RouteOptions(); + options.ConstraintMap.Add("customConstraintPolicy", typeof(CustomParameterPolicyWithArguments)); + + var services = new ServiceCollection(); + services.AddTransient(); + + var factory = GetParameterPolicyFactory(options, services); + + // Act + var parameterPolicy = factory.Create(RoutePatternFactory.ParameterPart("id"), "customConstraintPolicy(20)"); + + // Assert + var constraint = Assert.IsType(parameterPolicy); + Assert.Equal(20, constraint.Count); + Assert.NotNull(constraint.TestService); + } + + [Fact] + public void Create_CreatesParameterPolicy_FromConstraintText_AndParameterPolicyWithArgumentAndMultipleServices() + { + // Arrange + var options = new RouteOptions(); + options.ConstraintMap.Add("customConstraintPolicy", typeof(CustomParameterPolicyWithMultipleArguments)); + + var services = new ServiceCollection(); + services.AddTransient(); + + var factory = GetParameterPolicyFactory(options, services); + + // Act + var parameterPolicy = factory.Create(RoutePatternFactory.ParameterPart("id"), "customConstraintPolicy(20,-1)"); + + // Assert + var constraint = Assert.IsType(parameterPolicy); + Assert.Equal(20, constraint.First); + Assert.Equal(-1, constraint.Second); + Assert.NotNull(constraint.TestService1); + Assert.NotNull(constraint.TestService2); + } + + [Fact] + public void Create_CreatesParameterPolicy_FromConstraintText_AndParameterPolicyWithOnlyServiceArguments() + { + // Arrange + var options = new RouteOptions(); + options.ConstraintMap.Add("customConstraintPolicy", typeof(CustomParameterPolicyWithOnlyServiceArguments)); + + var services = new ServiceCollection(); + services.AddTransient(); + + var factory = GetParameterPolicyFactory(options, services); + + // Act + var parameterPolicy = factory.Create(RoutePatternFactory.ParameterPart("id"), "customConstraintPolicy"); + + // Assert + var constraint = Assert.IsType(parameterPolicy); + Assert.NotNull(constraint.TestService1); + Assert.NotNull(constraint.TestService2); + } + + [Fact] + public void Create_CreatesParameterPolicy_FromConstraintText_AndParameterPolicyWithMultipleMatchingCtors() + { + // Arrange + var options = new RouteOptions(); + options.ConstraintMap.Add("customConstraintPolicy", typeof(CustomParameterPolicyWithMultpleCtors)); + + var services = new ServiceCollection(); + services.AddTransient(); + + var factory = GetParameterPolicyFactory(options, services); + + // Act + var parameterPolicy = factory.Create(RoutePatternFactory.ParameterPart("id"), "customConstraintPolicy(1)"); + + // Assert + var constraint = Assert.IsType(parameterPolicy); + Assert.NotNull(constraint.TestService); + Assert.Equal(1, constraint.Count); + } + + [Fact] + public void Create_CreatesParameterPolicy_FromConstraintText_AndParameterPolicyWithAmbigiousMatchingCtors() + { + // Arrange + var options = new RouteOptions(); + options.ConstraintMap.Add("customConstraintPolicy", typeof(CustomParameterPolicyWithAmbigiousMultpleCtors)); + + var services = new ServiceCollection(); + services.AddTransient(); + + var factory = GetParameterPolicyFactory(options, services); + + // Act + var exception = Assert.Throws( + () => factory.Create(RoutePatternFactory.ParameterPart("id"), "customConstraintPolicy(1)")); + + // Assert + Assert.Equal($"The constructor to use for activating the constraint type '{nameof(CustomParameterPolicyWithAmbigiousMultpleCtors)}' is ambiguous. " + + $"Multiple constructors were found with the following number of parameters: 2.", exception.Message); + } + + [Fact] + public void Create_CreatesParameterPolicy_FromConstraintText_AndParameterPolicyWithSingleArgumentAndServiceArgument() + { + // Arrange + var options = new RouteOptions(); + options.ConstraintMap.Add("regex-service", typeof(RegexInlineRouteConstraintWithService)); + + var services = new ServiceCollection(); + services.AddTransient(); + + var factory = GetParameterPolicyFactory(options, services); + + // Act + var parameterPolicy = factory.Create(RoutePatternFactory.ParameterPart("id"), @"regex-service(\\d{1,2})"); + + // Assert + var constraint = Assert.IsType(parameterPolicy); + Assert.NotNull(constraint.TestService); + Assert.Equal("\\\\d{1,2}", constraint.Constraint.ToString()); + } + + [Fact] + public void Create_CreatesParameterPolicy_FromConstraintText_AndParameterPolicyWithArgumentAndUnresolvedServices_Throw() + { + // Arrange + var options = new RouteOptions(); + options.ConstraintMap.Add("customConstraintPolicy", typeof(CustomParameterPolicyWithArguments)); + + var services = new ServiceCollection(); + + var factory = GetParameterPolicyFactory(options, services); + + // Act + var exception = Assert.Throws( + () => factory.Create(RoutePatternFactory.ParameterPart("id"), "customConstraintPolicy(20)")); + + // Assert + var inner = Assert.IsType(exception.InnerException); + Assert.Equal($"No service for type '{typeof(ITestService).FullName}' has been registered.", inner.Message); + } + + [Fact] + public void Create_CreatesParameterPolicy_FromConstraintText_AndParameterPolicy_Optional() + { + // Arrange + var options = new RouteOptions(); + options.ConstraintMap.Add("customParameterPolicy", typeof(CustomParameterPolicy)); + + var services = new ServiceCollection(); + services.AddTransient(); + + var factory = GetParameterPolicyFactory(options, services); + + // Act + var parameterPolicy = factory.Create(RoutePatternFactory.ParameterPart("id", @default: null, RoutePatternParameterKind.Optional), "customParameterPolicy"); + + // Assert + Assert.IsType(parameterPolicy); + } + + private DefaultParameterPolicyFactory GetParameterPolicyFactory( + RouteOptions options = null, + ServiceCollection services = null) + { + if (options == null) + { + options = new RouteOptions(); + } + + if (services == null) + { + services = new ServiceCollection(); + } + + return new DefaultParameterPolicyFactory( + Options.Create(options), + services.BuildServiceProvider()); + } + + private class TestRouteConstraint : IRouteConstraint + { + private TestRouteConstraint() { } + + public HttpContext HttpContext { get; private set; } + public IRouter Route { get; private set; } + public string RouteKey { get; private set; } + public RouteValueDictionary Values { get; private set; } + public RouteDirection RouteDirection { get; private set; } + + public static TestRouteConstraint Create() + { + return new TestRouteConstraint(); + } + + public bool Match( + HttpContext httpContext, + IRouter route, + string routeKey, + RouteValueDictionary values, + RouteDirection routeDirection) + { + HttpContext = httpContext; + Route = route; + RouteKey = routeKey; + Values = values; + RouteDirection = routeDirection; + return false; + } + } + } + + public class CustomParameterPolicy : IParameterPolicy + { + } + + public class CustomParameterPolicyWithArguments : IParameterPolicy + { + public CustomParameterPolicyWithArguments(ITestService testService, int count) + { + TestService = testService; + Count = count; + } + + public ITestService TestService { get; } + public int Count { get; } + } + + public class CustomParameterPolicyWithMultpleCtors : IParameterPolicy + { + public CustomParameterPolicyWithMultpleCtors(ITestService testService, int count) + { + TestService = testService; + Count = count; + } + + public CustomParameterPolicyWithMultpleCtors(int count) + : this(testService: null, count) + { + } + + public ITestService TestService { get; } + public int Count { get; } + } + + public class CustomParameterPolicyWithAmbigiousMultpleCtors : IParameterPolicy + { + public CustomParameterPolicyWithAmbigiousMultpleCtors(ITestService testService, int count) + { + TestService = testService; + Count = count; + } + + public CustomParameterPolicyWithAmbigiousMultpleCtors(object testService, int count) + : this(testService: null, count) + { + } + + public CustomParameterPolicyWithAmbigiousMultpleCtors(int count) + : this(testService: null, count) + { + } + + public ITestService TestService { get; } + public int Count { get; } + } + + public class CustomParameterPolicyWithMultipleArguments : IParameterPolicy + { + public CustomParameterPolicyWithMultipleArguments(int first, ITestService testService1, int second, ITestService testService2) + { + First = first; + TestService1 = testService1; + Second = second; + TestService2 = testService2; + } + + public int First { get; } + public ITestService TestService1 { get; } + public int Second { get; } + public ITestService TestService2 { get; } + } + + public class CustomParameterPolicyWithOnlyServiceArguments : IParameterPolicy + { + public CustomParameterPolicyWithOnlyServiceArguments(ITestService testService1, ITestService testService2) + { + TestService1 = testService1; + TestService2 = testService2; + } + + public ITestService TestService1 { get; } + public ITestService TestService2 { get; } + } + + public interface ITestService + { + } + + public class TestService : ITestService + { + + } + + public class RegexInlineRouteConstraintWithService : RegexRouteConstraint + { + public RegexInlineRouteConstraintWithService(string regexPattern, ITestService testService) + : base(regexPattern) + { + TestService = testService; + } + + public ITestService TestService { get; } + } +} diff --git a/test/Microsoft.AspNetCore.Routing.Tests/InlineRouteParameterParserTests.cs b/test/Microsoft.AspNetCore.Routing.Tests/InlineRouteParameterParserTests.cs index 0e570c49cc..ccd44a8318 100644 --- a/test/Microsoft.AspNetCore.Routing.Tests/InlineRouteParameterParserTests.cs +++ b/test/Microsoft.AspNetCore.Routing.Tests/InlineRouteParameterParserTests.cs @@ -968,7 +968,7 @@ namespace Microsoft.AspNetCore.Routing.Tests .Add("test", typeof(TestRouteConstraint))); var serviceProvider = services.BuildServiceProvider(); var accessor = serviceProvider.GetRequiredService>(); - return new DefaultInlineConstraintResolver(accessor); + return new DefaultInlineConstraintResolver(accessor, serviceProvider); } private class TestRouteConstraint : IRouteConstraint diff --git a/test/Microsoft.AspNetCore.Routing.Tests/Matching/DefaultParameterPolicyFactoryTest.cs b/test/Microsoft.AspNetCore.Routing.Tests/Matching/DefaultParameterPolicyFactoryTest.cs deleted file mode 100644 index abfb7bde3a..0000000000 --- a/test/Microsoft.AspNetCore.Routing.Tests/Matching/DefaultParameterPolicyFactoryTest.cs +++ /dev/null @@ -1,272 +0,0 @@ -// Copyright (c) .NET Foundation. All rights reserved. -// Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information. - -using System; -using System.Globalization; -using Microsoft.AspNetCore.Http; -using Microsoft.AspNetCore.Routing.Constraints; -using Microsoft.AspNetCore.Routing.Patterns; -using Microsoft.Extensions.DependencyInjection; -using Microsoft.Extensions.Options; -using Xunit; - -namespace Microsoft.AspNetCore.Routing.Matching -{ - public class DefaultParameterPolicyFactoryTest - { - [Fact] - public void Create_ThrowsException_IfNoConstraintOrParameterPolicy_FoundInMap() - { - // Arrange - var factory = GetParameterPolicyFactory(); - - // Act - var exception = Assert.Throws( - () => factory.Create(RoutePatternFactory.ParameterPart("id", @default: null, RoutePatternParameterKind.Optional), @"notpresent(\d+)")); - - // Assert - Assert.Equal( - $"The constraint reference 'notpresent' could not be resolved to a type. " + - $"Register the constraint type with '{typeof(RouteOptions)}.{nameof(RouteOptions.ConstraintMap)}'.", - exception.Message); - } - - [Fact] - public void Create_ThrowsException_OnInvalidType() - { - // Arrange - var options = new RouteOptions(); - options.ConstraintMap.Add("bad", typeof(string)); - - var services = new ServiceCollection(); - - var factory = GetParameterPolicyFactory(options, services); - - // Act - var exception = Assert.Throws( - () => factory.Create(RoutePatternFactory.ParameterPart("id"), @"bad")); - - // Assert - Assert.Equal( - $"Invalid constraint type '{typeof(string)}' registered as 'bad'. " + - $"A constraint type must either implement '{typeof(IRouteConstraint)}', or inherit from '{typeof(IParameterPolicy)}'.", - exception.Message); - } - - [Fact] - public void Create_CreatesParameterPolicy_FromRoutePattern_String() - { - // Arrange - var factory = GetParameterPolicyFactory(); - - var parameter = RoutePatternFactory.ParameterPart( - "id", - @default: null, - parameterKind: RoutePatternParameterKind.Standard, - parameterPolicies: new[] { RoutePatternFactory.Constraint("int"), }); - - // Act - var parameterPolicy = factory.Create(parameter, parameter.ParameterPolicies[0]); - - // Assert - Assert.IsType(parameterPolicy); - } - - [Fact] - public void Create_CreatesParameterPolicy_FromRoutePattern_String_Optional() - { - // Arrange - var factory = GetParameterPolicyFactory(); - - var parameter = RoutePatternFactory.ParameterPart( - "id", - @default: null, - parameterKind: RoutePatternParameterKind.Optional, - parameterPolicies: new[] { RoutePatternFactory.Constraint("int"), }); - - // Act - var parameterPolicy = factory.Create(parameter, parameter.ParameterPolicies[0]); - - // Assert - var optionalConstraint = Assert.IsType(parameterPolicy); - Assert.IsType(optionalConstraint.InnerConstraint); - } - - [Fact] - public void Create_CreatesParameterPolicy_FromRoutePattern_Constraint() - { - // Arrange - var factory = GetParameterPolicyFactory(); - - var parameter = RoutePatternFactory.ParameterPart( - "id", - @default: null, - parameterKind: RoutePatternParameterKind.Standard, - parameterPolicies: new[] { RoutePatternFactory.ParameterPolicy(new IntRouteConstraint()), }); - - // Act - var parameterPolicy = factory.Create(parameter, parameter.ParameterPolicies[0]); - - // Assert - Assert.IsType(parameterPolicy); - } - - [Fact] - public void Create_CreatesParameterPolicy_FromRoutePattern_Constraint_Optional() - { - // Arrange - var factory = GetParameterPolicyFactory(); - - var parameter = RoutePatternFactory.ParameterPart( - "id", - @default: null, - parameterKind: RoutePatternParameterKind.Optional, - parameterPolicies: new[] { RoutePatternFactory.ParameterPolicy(new IntRouteConstraint()), }); - - // Act - var parameterPolicy = factory.Create(parameter, parameter.ParameterPolicies[0]); - - // Assert - var optionalConstraint = Assert.IsType(parameterPolicy); - Assert.IsType(optionalConstraint.InnerConstraint); - } - - [Fact] - public void Create_CreatesParameterPolicy_FromRoutePattern_ParameterPolicy() - { - // Arrange - var factory = GetParameterPolicyFactory(); - - var parameter = RoutePatternFactory.ParameterPart( - "id", - @default: null, - parameterKind: RoutePatternParameterKind.Standard, - parameterPolicies: new[] { RoutePatternFactory.ParameterPolicy(new CustomParameterPolicy()), }); - - // Act - var parameterPolicy = factory.Create(parameter, parameter.ParameterPolicies[0]); - - // Assert - Assert.IsType(parameterPolicy); - } - - private class CustomParameterPolicy : IParameterPolicy - { - } - - [Fact] - public void Create_CreatesParameterPolicy_FromConstraintText_AndRouteConstraint() - { - // Arrange - var factory = GetParameterPolicyFactory(); - - // Act - var parameterPolicy = factory.Create(RoutePatternFactory.ParameterPart("id"), "int"); - - // Assert - Assert.IsType(parameterPolicy); - } - - [Fact] - public void Create_CreatesParameterPolicy_FromConstraintText_AndRouteConstraint_Optional() - { - // Arrange - var factory = GetParameterPolicyFactory(); - - // Act - var parameterPolicy = factory.Create(RoutePatternFactory.ParameterPart("id", @default: null, RoutePatternParameterKind.Optional), "int"); - - // Assert - var optionalConstraint = Assert.IsType(parameterPolicy); - Assert.IsType(optionalConstraint.InnerConstraint); - } - - [Fact] - public void Create_CreatesParameterPolicy_FromConstraintText_AndParameterPolicy() - { - // Arrange - var options = new RouteOptions(); - options.ConstraintMap.Add("customParameterPolicy", typeof(CustomParameterPolicy)); - - var services = new ServiceCollection(); - services.AddTransient(); - - var factory = GetParameterPolicyFactory(options, services); - - // Act - var parameterPolicy = factory.Create(RoutePatternFactory.ParameterPart("id", @default: null, RoutePatternParameterKind.Optional), "customParameterPolicy"); - - // Assert - Assert.IsType(parameterPolicy); - } - - [Fact] - public void Create_CreatesParameterPolicy_FromConstraintText_AndParameterPolicy_Optional() - { - // Arrange - var options = new RouteOptions(); - options.ConstraintMap.Add("customParameterPolicy", typeof(CustomParameterPolicy)); - - var services = new ServiceCollection(); - services.AddTransient(); - - var factory = GetParameterPolicyFactory(options, services); - - // Act - var parameterPolicy = factory.Create(RoutePatternFactory.ParameterPart("id", @default: null, RoutePatternParameterKind.Optional), "customParameterPolicy"); - - // Assert - Assert.IsType(parameterPolicy); - } - - private DefaultParameterPolicyFactory GetParameterPolicyFactory( - RouteOptions options = null, - ServiceCollection services = null) - { - if (options == null) - { - options = new RouteOptions(); - } - - if (services == null) - { - services = new ServiceCollection(); - } - - return new DefaultParameterPolicyFactory( - Options.Create(options), - services.BuildServiceProvider()); - } - - private class TestRouteConstraint : IRouteConstraint - { - private TestRouteConstraint() { } - - public HttpContext HttpContext { get; private set; } - public IRouter Route { get; private set; } - public string RouteKey { get; private set; } - public RouteValueDictionary Values { get; private set; } - public RouteDirection RouteDirection { get; private set; } - - public static TestRouteConstraint Create() - { - return new TestRouteConstraint(); - } - - public bool Match( - HttpContext httpContext, - IRouter route, - string routeKey, - RouteValueDictionary values, - RouteDirection routeDirection) - { - HttpContext = httpContext; - Route = route; - RouteKey = routeKey; - Values = values; - RouteDirection = routeDirection; - return false; - } - } - } -} diff --git a/test/Microsoft.AspNetCore.Routing.Tests/Matching/RouteMatcherBuilder.cs b/test/Microsoft.AspNetCore.Routing.Tests/Matching/RouteMatcherBuilder.cs index ba8d46a920..5d21424cb5 100644 --- a/test/Microsoft.AspNetCore.Routing.Tests/Matching/RouteMatcherBuilder.cs +++ b/test/Microsoft.AspNetCore.Routing.Tests/Matching/RouteMatcherBuilder.cs @@ -7,6 +7,7 @@ using System.Linq; using System.Threading.Tasks; using Microsoft.AspNetCore.Http.Features; using Microsoft.AspNetCore.Routing.Patterns; +using Microsoft.AspNetCore.Routing.TestObjects; using Microsoft.Extensions.Options; namespace Microsoft.AspNetCore.Routing.Matching @@ -18,7 +19,7 @@ namespace Microsoft.AspNetCore.Routing.Matching public RouteMatcherBuilder() { - _constraintResolver = new DefaultInlineConstraintResolver(Options.Create(new RouteOptions())); + _constraintResolver = new DefaultInlineConstraintResolver(Options.Create(new RouteOptions()), new TestServiceProvider()); _endpoints = new List(); } diff --git a/test/Microsoft.AspNetCore.Routing.Tests/Matching/TreeRouterMatcherBuilder.cs b/test/Microsoft.AspNetCore.Routing.Tests/Matching/TreeRouterMatcherBuilder.cs index b151d4cf4e..83c5115120 100644 --- a/test/Microsoft.AspNetCore.Routing.Tests/Matching/TreeRouterMatcherBuilder.cs +++ b/test/Microsoft.AspNetCore.Routing.Tests/Matching/TreeRouterMatcherBuilder.cs @@ -8,6 +8,7 @@ using System.Threading.Tasks; using Microsoft.AspNetCore.Http.Features; using Microsoft.AspNetCore.Routing.Internal; using Microsoft.AspNetCore.Routing.Template; +using Microsoft.AspNetCore.Routing.TestObjects; using Microsoft.AspNetCore.Routing.Tree; using Microsoft.Extensions.Logging.Abstractions; using Microsoft.Extensions.ObjectPool; @@ -34,7 +35,7 @@ namespace Microsoft.AspNetCore.Routing.Matching var builder = new TreeRouteBuilder( NullLoggerFactory.Instance, new DefaultObjectPool(new UriBuilderContextPooledObjectPolicy()), - new DefaultInlineConstraintResolver(Options.Create(new RouteOptions()))); + new DefaultInlineConstraintResolver(Options.Create(new RouteOptions()), new TestServiceProvider())); var selector = new DefaultEndpointSelector(Array.Empty()); diff --git a/test/Microsoft.AspNetCore.Routing.Tests/RouteConstraintBuilderTest.cs b/test/Microsoft.AspNetCore.Routing.Tests/RouteConstraintBuilderTest.cs index 9eca4d7759..6fb5df1c3d 100644 --- a/test/Microsoft.AspNetCore.Routing.Tests/RouteConstraintBuilderTest.cs +++ b/test/Microsoft.AspNetCore.Routing.Tests/RouteConstraintBuilderTest.cs @@ -5,6 +5,7 @@ using System; using System.Linq; using Microsoft.AspNetCore.Http; using Microsoft.AspNetCore.Routing.Constraints; +using Microsoft.AspNetCore.Routing.TestObjects; using Microsoft.AspNetCore.Testing; using Microsoft.Extensions.Options; using Moq; @@ -183,7 +184,7 @@ namespace Microsoft.AspNetCore.Routing .SetupGet(o => o.Value) .Returns(new RouteOptions()); - var inlineConstraintResolver = new DefaultInlineConstraintResolver(options.Object); + var inlineConstraintResolver = new DefaultInlineConstraintResolver(options.Object, new TestServiceProvider()); return new RouteConstraintBuilder(inlineConstraintResolver, template); } } diff --git a/test/Microsoft.AspNetCore.Routing.Tests/RouteTest.cs b/test/Microsoft.AspNetCore.Routing.Tests/RouteTest.cs index 1a52c9dec6..81e20b041f 100644 --- a/test/Microsoft.AspNetCore.Routing.Tests/RouteTest.cs +++ b/test/Microsoft.AspNetCore.Routing.Tests/RouteTest.cs @@ -1842,7 +1842,7 @@ namespace Microsoft.AspNetCore.Routing .SetupGet(o => o.Value) .Returns(new RouteOptions()); - return new DefaultInlineConstraintResolver(routeOptions.Object); + return new DefaultInlineConstraintResolver(routeOptions.Object, new TestServiceProvider()); } } } diff --git a/test/Microsoft.AspNetCore.Routing.Tests/Template/TemplateBinderTests.cs b/test/Microsoft.AspNetCore.Routing.Tests/Template/TemplateBinderTests.cs index c5fd2e7b9e..c3e4ebcb8c 100644 --- a/test/Microsoft.AspNetCore.Routing.Tests/Template/TemplateBinderTests.cs +++ b/test/Microsoft.AspNetCore.Routing.Tests/Template/TemplateBinderTests.cs @@ -1293,7 +1293,7 @@ namespace Microsoft.AspNetCore.Routing.Template.Tests var services = new ServiceCollection().AddOptions(); var serviceProvider = services.BuildServiceProvider(); var accessor = serviceProvider.GetRequiredService>(); - return new DefaultInlineConstraintResolver(accessor); + return new DefaultInlineConstraintResolver(accessor, serviceProvider); } private class PathAndQuery diff --git a/test/Microsoft.AspNetCore.Routing.Tests/Template/TemplateMatcherTests.cs b/test/Microsoft.AspNetCore.Routing.Tests/Template/TemplateMatcherTests.cs index 1e5eb7c39e..fc78ef4cdc 100644 --- a/test/Microsoft.AspNetCore.Routing.Tests/Template/TemplateMatcherTests.cs +++ b/test/Microsoft.AspNetCore.Routing.Tests/Template/TemplateMatcherTests.cs @@ -1136,7 +1136,7 @@ namespace Microsoft.AspNetCore.Routing.Template.Tests var services = new ServiceCollection().AddOptions(); var serviceProvider = services.BuildServiceProvider(); var accessor = serviceProvider.GetRequiredService>(); - return new DefaultInlineConstraintResolver(accessor); + return new DefaultInlineConstraintResolver(accessor, serviceProvider); } } } diff --git a/test/Microsoft.AspNetCore.Routing.Tests/TemplateParserDefaultValuesTests.cs b/test/Microsoft.AspNetCore.Routing.Tests/TemplateParserDefaultValuesTests.cs index 96c126fd30..159fb6cea2 100644 --- a/test/Microsoft.AspNetCore.Routing.Tests/TemplateParserDefaultValuesTests.cs +++ b/test/Microsoft.AspNetCore.Routing.Tests/TemplateParserDefaultValuesTests.cs @@ -143,7 +143,7 @@ namespace Microsoft.AspNetCore.Routing.Tests var services = new ServiceCollection().AddOptions(); var serviceProvider = services.BuildServiceProvider(); var accessor = serviceProvider.GetRequiredService>(); - return new DefaultInlineConstraintResolver(accessor); + return new DefaultInlineConstraintResolver(accessor, serviceProvider); } } } diff --git a/test/Microsoft.AspNetCore.Routing.Tests/Tree/TreeRouteBuilderTest.cs b/test/Microsoft.AspNetCore.Routing.Tests/Tree/TreeRouteBuilderTest.cs index 2645e78439..dc9d2c7594 100644 --- a/test/Microsoft.AspNetCore.Routing.Tests/Tree/TreeRouteBuilderTest.cs +++ b/test/Microsoft.AspNetCore.Routing.Tests/Tree/TreeRouteBuilderTest.cs @@ -260,7 +260,7 @@ namespace Microsoft.AspNetCore.Routing.Tree var services = new ServiceCollection().AddOptions(); var serviceProvider = services.BuildServiceProvider(); var accessor = serviceProvider.GetRequiredService>(); - return new DefaultInlineConstraintResolver(accessor); + return new DefaultInlineConstraintResolver(accessor, serviceProvider); } } } diff --git a/test/Microsoft.AspNetCore.Routing.Tests/Tree/TreeRouterTest.cs b/test/Microsoft.AspNetCore.Routing.Tests/Tree/TreeRouterTest.cs index a99846126c..37ba101520 100644 --- a/test/Microsoft.AspNetCore.Routing.Tests/Tree/TreeRouterTest.cs +++ b/test/Microsoft.AspNetCore.Routing.Tests/Tree/TreeRouterTest.cs @@ -9,6 +9,7 @@ using System.Threading.Tasks; using Microsoft.AspNetCore.Http; using Microsoft.AspNetCore.Routing.Internal; using Microsoft.AspNetCore.Routing.Template; +using Microsoft.AspNetCore.Routing.TestObjects; using Microsoft.Extensions.Logging; using Microsoft.Extensions.Logging.Abstractions; using Microsoft.Extensions.ObjectPool; @@ -2133,7 +2134,7 @@ namespace Microsoft.AspNetCore.Routing.Tree var optionsMock = new Mock>(); optionsMock.SetupGet(o => o.Value).Returns(options); - return new DefaultInlineConstraintResolver(optionsMock.Object); + return new DefaultInlineConstraintResolver(optionsMock.Object, new TestServiceProvider()); } private static TreeRouteBuilder CreateBuilder() From 4e9e33a223853e706522d5b4ca09da78dc9209df Mon Sep 17 00:00:00 2001 From: James Newton-King Date: Wed, 29 Aug 2018 17:34:54 +1200 Subject: [PATCH 145/221] Unit test constraints without HttpContext (#755) --- .../Constraints/ConstraintsTestHelper.cs | 13 ++------ .../DefaultLinkGeneratorTest.cs | 32 ++++++++++++------- 2 files changed, 22 insertions(+), 23 deletions(-) diff --git a/test/Microsoft.AspNetCore.Routing.Tests/Constraints/ConstraintsTestHelper.cs b/test/Microsoft.AspNetCore.Routing.Tests/Constraints/ConstraintsTestHelper.cs index a86c7f4910..6e0d7e7e0d 100644 --- a/test/Microsoft.AspNetCore.Routing.Tests/Constraints/ConstraintsTestHelper.cs +++ b/test/Microsoft.AspNetCore.Routing.Tests/Constraints/ConstraintsTestHelper.cs @@ -10,21 +10,12 @@ namespace Microsoft.AspNetCore.Routing.Tests { public class ConstraintsTestHelper { - public static bool TestConstraint(IRouteConstraint constraint, object value, Action routeConfig = null) + public static bool TestConstraint(IRouteConstraint constraint, object value) { - var context = new Mock(); - - var route = new RouteCollection(); - - if (routeConfig != null) - { - routeConfig(route); - } - var parameterName = "fake"; var values = new RouteValueDictionary() { { parameterName, value } }; var routeDirection = RouteDirection.IncomingRequest; - return constraint.Match(context.Object, route, parameterName, values, routeDirection); + return constraint.Match(httpContext: null, route: null, parameterName, values, routeDirection); } } } diff --git a/test/Microsoft.AspNetCore.Routing.Tests/DefaultLinkGeneratorTest.cs b/test/Microsoft.AspNetCore.Routing.Tests/DefaultLinkGeneratorTest.cs index 2d82c439ee..42008ca6eb 100644 --- a/test/Microsoft.AspNetCore.Routing.Tests/DefaultLinkGeneratorTest.cs +++ b/test/Microsoft.AspNetCore.Routing.Tests/DefaultLinkGeneratorTest.cs @@ -691,8 +691,10 @@ namespace Microsoft.AspNetCore.Routing Assert.Equal(expectedValues.OrderBy(kvp => kvp.Key), constraint.Values.OrderBy(kvp => kvp.Key)); } - [Fact] - public void GetLink_InlineConstraints_Success() + [Theory] + [InlineData(true)] + [InlineData(false)] + public void GetLink_InlineConstraints_Success(bool hasHttpContext) { // Arrange var endpoint = EndpointFactory.CreateRouteEndpoint( @@ -700,7 +702,7 @@ namespace Microsoft.AspNetCore.Routing defaults: new { controller = "Home", action = "Index" }, constraints: new { }); var linkGenerator = CreateLinkGenerator(endpoint); - var httpContext = CreateHttpContext(new { }); + var httpContext = hasHttpContext ? CreateHttpContext(new { }) : null; // Act var link = linkGenerator.GetLink( @@ -732,8 +734,10 @@ namespace Microsoft.AspNetCore.Routing Assert.False(canGenerateLink); } - [Fact] - public void GetLink_InlineConstraints_OptionalParameter_ValuePresent() + [Theory] + [InlineData(true)] + [InlineData(false)] + public void GetLink_InlineConstraints_OptionalParameter_ValuePresent(bool hasHttpContext) { // Arrange var endpoint = EndpointFactory.CreateRouteEndpoint( @@ -741,7 +745,7 @@ namespace Microsoft.AspNetCore.Routing defaults: new { controller = "Home", action = "Index" }, constraints: new { }); var linkGenerator = CreateLinkGenerator(endpoint); - var httpContext = CreateHttpContext(ambientValues: new { }); + var httpContext = hasHttpContext ? CreateHttpContext(new { }) : null; // Act var link = linkGenerator.GetLink(httpContext, new { action = "Index", controller = "Home", id = 98 }); @@ -789,8 +793,10 @@ namespace Microsoft.AspNetCore.Routing Assert.False(canGenerateLink); } - [Fact] - public void GetLink_InlineConstraints_MultipleInlineConstraints() + [Theory] + [InlineData(true)] + [InlineData(false)] + public void GetLink_InlineConstraints_MultipleInlineConstraints(bool hasHttpContext) { // Arrange var endpoint = EndpointFactory.CreateRouteEndpoint( @@ -798,7 +804,7 @@ namespace Microsoft.AspNetCore.Routing defaults: new { controller = "Home", action = "Index" }, constraints: new { }); var linkGenerator = CreateLinkGenerator(endpoint); - var httpContext = CreateHttpContext(ambientValues: new { }); + var httpContext = hasHttpContext ? CreateHttpContext(new { }) : null; // Act var link = linkGenerator.GetLink( @@ -809,8 +815,10 @@ namespace Microsoft.AspNetCore.Routing Assert.Equal("/Home/Index/14", link); } - [Fact] - public void GetLink_InlineConstraints_CompositeInlineConstraint_Fails() + [Theory] + [InlineData(true)] + [InlineData(false)] + public void GetLink_InlineConstraints_CompositeInlineConstraint_Fails(bool hasHttpContext) { // Arrange var endpoint = EndpointFactory.CreateRouteEndpoint( @@ -818,7 +826,7 @@ namespace Microsoft.AspNetCore.Routing defaults: new { controller = "Home", action = "Index" }, constraints: new { }); var linkGenerator = CreateLinkGenerator(endpoint); - var httpContext = CreateHttpContext(ambientValues: new { }); + var httpContext = hasHttpContext ? CreateHttpContext(new { }) : null; // Act var canGenerateLink = linkGenerator.TryGetLink( From 3511c8cef094188b9e781dce7430969ec254c0f1 Mon Sep 17 00:00:00 2001 From: Ryan Nowak Date: Mon, 27 Aug 2018 14:52:16 -0700 Subject: [PATCH 146/221] Add vectorized il-emit trie jump table Add new futuristic jump table. Remove old experimental jump tables since this is much much better. --- Directory.Build.props | 2 +- .../Matching/AsciiKeyedJumpTable.cs | 172 ----- .../Matching/CustomHashTableJumpTable.cs | 197 ------ .../Matching/DictionaryLookupJumpTable.cs | 112 ---- .../JumpTableMultipleEntryBenchmark.cs | 55 +- .../Matching/JumpTableSingleEntryBenchmark.cs | 259 +++++++- build/dependencies.props | 2 + .../Matching/ILEmitTrieFactory.cs | 588 ++++++++++++++++++ .../Matching/ILEmitTrieJumpTable.cs | 102 +++ .../Matching/JumpTableBuilder.cs | 50 +- .../Microsoft.AspNetCore.Routing.csproj | 16 +- .../Matching/ILEmitTrieJumpTableTest.cs | 228 +++++++ .../NonVectorizedILEmitTrieJumpTableTest.cs | 12 + .../VectorizedILEmitTrieJumpTableTest.cs | 14 + .../Microsoft.AspNetCore.Routing.Tests.csproj | 12 +- 15 files changed, 1291 insertions(+), 530 deletions(-) delete mode 100644 benchmarks/Microsoft.AspNetCore.Routing.Performance/Matching/AsciiKeyedJumpTable.cs delete mode 100644 benchmarks/Microsoft.AspNetCore.Routing.Performance/Matching/CustomHashTableJumpTable.cs delete mode 100644 benchmarks/Microsoft.AspNetCore.Routing.Performance/Matching/DictionaryLookupJumpTable.cs create mode 100644 src/Microsoft.AspNetCore.Routing/Matching/ILEmitTrieFactory.cs create mode 100644 src/Microsoft.AspNetCore.Routing/Matching/ILEmitTrieJumpTable.cs create mode 100644 test/Microsoft.AspNetCore.Routing.Tests/Matching/ILEmitTrieJumpTableTest.cs create mode 100644 test/Microsoft.AspNetCore.Routing.Tests/Matching/NonVectorizedILEmitTrieJumpTableTest.cs create mode 100644 test/Microsoft.AspNetCore.Routing.Tests/Matching/VectorizedILEmitTrieJumpTableTest.cs diff --git a/Directory.Build.props b/Directory.Build.props index cc459eb3d3..42b13bf610 100644 --- a/Directory.Build.props +++ b/Directory.Build.props @@ -18,6 +18,6 @@ MicrosoftNuGet true true - 7.2 + 7.3 diff --git a/benchmarks/Microsoft.AspNetCore.Routing.Performance/Matching/AsciiKeyedJumpTable.cs b/benchmarks/Microsoft.AspNetCore.Routing.Performance/Matching/AsciiKeyedJumpTable.cs deleted file mode 100644 index 2e99bd9faa..0000000000 --- a/benchmarks/Microsoft.AspNetCore.Routing.Performance/Matching/AsciiKeyedJumpTable.cs +++ /dev/null @@ -1,172 +0,0 @@ -// Copyright (c) .NET Foundation. All rights reserved. -// Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information. - -using System; -using System.Collections.Generic; - -namespace Microsoft.AspNetCore.Routing.Matching -{ - // An optimized jump table that trades a small amount of additional memory for - // hash-table like performance. - // - // The optimization here is to use the first character of the known entries - // as a 'key' in the hash table in the space of A-Z. This gives us a maximum - // of 26 buckets (hence the reduced memory) - internal class AsciiKeyedJumpTable : JumpTable - { - public static bool TryCreate( - int defaultDestination, - int exitDestination, - List<(string text, int destination)> entries, - out JumpTable result) - { - result = null; - - // First we group string by their uppercase letter. If we see a string - // that starts with a non-ASCII letter - var map = new Dictionary>(); - - for (var i = 0; i < entries.Count; i++) - { - if (entries[i].text.Length == 0) - { - return false; - } - - if (!IsAscii(entries[i].text)) - { - return false; - } - - var first = ToUpperAscii(entries[i].text[0]); - if (first < 'A' || first > 'Z') - { - // Not a letter - return false; - } - - if (!map.TryGetValue(first, out var matches)) - { - matches = new List<(string text, int destination)>(); - map.Add(first, matches); - } - - matches.Add(entries[i]); - } - - var next = 0; - var ordered = new(string text, int destination)[entries.Count]; - var indexes = new int[26 * 2]; - for (var i = 0; i < 26; i++) - { - indexes[i * 2] = next; - - var length = 0; - if (map.TryGetValue((char)('A' + i), out var matches)) - { - length += matches.Count; - for (var j = 0; j < matches.Count; j++) - { - ordered[next++] = matches[j]; - } - } - - indexes[i * 2 + 1] = length; - } - - result = new AsciiKeyedJumpTable(defaultDestination, exitDestination, ordered, indexes); - return true; - } - - private readonly int _defaultDestination; - private readonly int _exitDestination; - private readonly (string text, int destination)[] _entries; - private readonly int[] _indexes; - - private AsciiKeyedJumpTable( - int defaultDestination, - int exitDestination, - (string text, int destination)[] entries, - int[] indexes) - { - _defaultDestination = defaultDestination; - _exitDestination = exitDestination; - _entries = entries; - _indexes = indexes; - } - - public override int GetDestination(string path, PathSegment segment) - { - if (segment.Length == 0) - { - return _exitDestination; - } - - var c = path[segment.Start]; - if (!IsAscii(c)) - { - return _defaultDestination; - } - - c = ToUpperAscii(c); - if (c < 'A' || c > 'Z') - { - // Character is non-ASCII or not a letter. Since we know that all of the entries are ASCII - // and begin with a letter this is not a match. - return _defaultDestination; - } - - var offset = (c - 'A') * 2; - var start = _indexes[offset]; - var length = _indexes[offset + 1]; - - var entries = _entries; - for (var i = start; i < start + length; i++) - { - var text = entries[i].text; - if (segment.Length == text.Length && - string.Compare( - path, - segment.Start, - text, - 0, - segment.Length, - StringComparison.OrdinalIgnoreCase) == 0) - { - return entries[i].destination; - } - } - - return _defaultDestination; - } - - internal static bool IsAscii(char c) - { - // ~0x7F is a bit mask that checks for bits that won't be set in an ASCII character. - // ASCII only uses the lowest 7 bits. - return (c & ~0x7F) == 0; - } - - internal static bool IsAscii(string text) - { - for (var i = 0; i < text.Length; i++) - { - var c = text[i]; - if (!IsAscii(c)) - { - return false; - } - } - - return true; - } - - internal static char ToUpperAscii(char c) - { - // 0x5F can be used to convert a character to uppercase ascii (assuming it's a letter). - // This works because lowercase ASCII chars are exactly 32 less than their uppercase - // counterparts. - return (char)(c & 0x5F); - } - } -} \ No newline at end of file diff --git a/benchmarks/Microsoft.AspNetCore.Routing.Performance/Matching/CustomHashTableJumpTable.cs b/benchmarks/Microsoft.AspNetCore.Routing.Performance/Matching/CustomHashTableJumpTable.cs deleted file mode 100644 index d7bf028dbd..0000000000 --- a/benchmarks/Microsoft.AspNetCore.Routing.Performance/Matching/CustomHashTableJumpTable.cs +++ /dev/null @@ -1,197 +0,0 @@ -// Copyright (c) .NET Foundation. All rights reserved. -// Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information. - -using System; -using System.Collections.Generic; -using System.Diagnostics; -using System.Linq; - -namespace Microsoft.AspNetCore.Routing.Matching -{ - internal class CustomHashTableJumpTable : JumpTable - { - // Similar to HashHelpers list of primes, but truncated. We don't expect - // incredibly large numbers to be useful here. - private static readonly int[] Primes = new int[] - { - 3, 7, 11, 17, 23, 29, 37, 47, 59, - 71, 89, 107, 131, 163, 197, 239, 293, - 353, 431, 521, 631, 761, 919, 1103, 1327, - 1597, 1931, 2333, 2801, 3371, 4049, 4861, 5839, - 7013, 8419, 10103, - }; - - private readonly int _defaultDestination; - private readonly int _exitDestination; - - private readonly int _prime; - private readonly int[] _buckets; - private readonly Entry[] _entries; - - public CustomHashTableJumpTable( - int defaultDestination, - int exitDestination, - (string text, int destination)[] entries) - { - _defaultDestination = defaultDestination; - _exitDestination = exitDestination; - - var map = new Dictionary>(); - - for (var i = 0; i < entries.Length; i++) - { - var key = GetKey(entries[i].text, new PathSegment(0, entries[i].text.Length)); - if (!map.TryGetValue(key, out var matches)) - { - matches = new List<(string text, int destination)>(); - map.Add(key, matches); - } - - matches.Add(entries[i]); - } - - _prime = GetPrime(map.Count); - _buckets = new int[_prime + 1]; - _entries = new Entry[map.Sum(kvp => kvp.Value.Count)]; - - var next = 0; - foreach (var group in map.GroupBy(kvp => kvp.Key % _prime).OrderBy(g => g.Key)) - { - _buckets[group.Key] = next; - - foreach (var array in group) - { - for (var i = 0; i < array.Value.Count; i++) - { - _entries[next++] = new Entry(array.Value[i].text, array.Value[i].destination); - } - } - } - - Debug.Assert(next == _entries.Length); - _buckets[_prime] = next; - - var last = 0; - for (var i = 0; i < _buckets.Length; i++) - { - if (_buckets[i] == 0) - { - _buckets[i] = last; - } - else - { - last = _buckets[i]; - } - } - } - - public int Find(int key) - { - return key % _prime; - } - - private static int GetPrime(int capacity) - { - for (int i = 0; i < Primes.Length; i++) - { - int prime = Primes[i]; - if (prime >= capacity) - { - return prime; - } - } - - return Primes[Primes.Length - 1]; - } - - public override int GetDestination(string path, PathSegment segment) - { - if (segment.Length == 0) - { - return _exitDestination; - } - - var key = GetKey(path, segment); - var index = Find(key); - - var start = _buckets[index]; - var end = _buckets[index + 1]; - - var entries = _entries.AsSpan(start, end - start); - for (var i = 0; i < entries.Length; i++) - { - var text = entries[i].Text; - if (text.Length == segment.Length && - string.Compare( - path, - segment.Start, - text, - 0, - segment.Length, - StringComparison.OrdinalIgnoreCase) == 0) - { - return entries[i].Destination; - } - } - - return _defaultDestination; - } - - // Builds a hashcode from segment (first four characters converted to 8bit ASCII) - private static unsafe int GetKey(string path, PathSegment segment) - { - fixed (char* p = path) - { - switch (path.Length) - { - case 0: - { - return 0; - } - - case 1: - { - return - ((*(p + segment.Start + 0) & 0x5F) << (0 * 8)); - } - - case 2: - { - return - ((*(p + segment.Start + 0) & 0x5F) << (0 * 8)) | - ((*(p + segment.Start + 1) & 0x5F) << (1 * 8)); - } - - case 3: - { - return - ((*(p + segment.Start + 0) & 0x5F) << (0 * 8)) | - ((*(p + segment.Start + 1) & 0x5F) << (1 * 8)) | - ((*(p + segment.Start + 2) & 0x5F) << (2 * 8)); - } - - default: - { - return - ((*(p + segment.Start + 0) & 0x5F) << (0 * 8)) | - ((*(p + segment.Start + 1) & 0x5F) << (1 * 8)) | - ((*(p + segment.Start + 2) & 0x5F) << (2 * 8)) | - ((*(p + segment.Start + 3) & 0x5F) << (3 * 8)); - } - } - } - } - - private readonly struct Entry - { - public readonly string Text; - public readonly int Destination; - - public Entry(string text, int destination) - { - Text = text; - Destination = destination; - } - } - } -} diff --git a/benchmarks/Microsoft.AspNetCore.Routing.Performance/Matching/DictionaryLookupJumpTable.cs b/benchmarks/Microsoft.AspNetCore.Routing.Performance/Matching/DictionaryLookupJumpTable.cs deleted file mode 100644 index 847d44e4ac..0000000000 --- a/benchmarks/Microsoft.AspNetCore.Routing.Performance/Matching/DictionaryLookupJumpTable.cs +++ /dev/null @@ -1,112 +0,0 @@ -// Copyright (c) .NET Foundation. All rights reserved. -// Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information. - -using System; -using System.Collections.Generic; -using System.Linq; - -namespace Microsoft.AspNetCore.Routing.Matching -{ - internal class DictionaryLookupJumpTable : JumpTable - { - private readonly int _defaultDestination; - private readonly int _exitDestination; - private readonly Dictionary _store; - - public DictionaryLookupJumpTable( - int defaultDestination, - int exitDestination, - (string text, int destination)[] entries) - { - _defaultDestination = defaultDestination; - _exitDestination = exitDestination; - - var map = new Dictionary>(); - - for (var i = 0; i < entries.Length; i++) - { - var key = GetKey(entries[i].text.AsSpan()); - if (!map.TryGetValue(key, out var matches)) - { - matches = new List<(string text, int destination)>(); - map.Add(key, matches); - } - - matches.Add(entries[i]); - } - - _store = map.ToDictionary(kvp => kvp.Key, kvp => kvp.Value.ToArray()); - } - - public override int GetDestination(string path, PathSegment segment) - { - if (segment.Length == 0) - { - return _exitDestination; - } - - var key = GetKey(path.AsSpan(segment.Start, segment.Length)); - if (_store.TryGetValue(key, out var entries)) - { - for (var i = 0; i < entries.Length; i++) - { - var text = entries[i].text; - if (text.Length == segment.Length && - string.Compare( - path, - segment.Start, - text, - 0, - segment.Length, - StringComparison.OrdinalIgnoreCase) == 0) - { - return entries[i].destination; - } - } - } - - return _defaultDestination; - } - - private static int GetKey(string path, PathSegment segment) - { - return GetKey(path.AsSpan(segment.Start, segment.Length)); - } - - /// builds a key from the last byte of length + first 3 characters of text (converted to ascii) - private static int GetKey(ReadOnlySpan span) - { - var length = (byte)(span.Length & 0xFF); - - byte c0, c1, c2; - switch (length) - { - case 0: - { - return 0; - } - - case 1: - { - c0 = (byte)(span[0] & 0x5F); - return (length << 24) | (c0 << 16); - } - - case 2: - { - c0 = (byte)(span[0] & 0x5F); - c1 = (byte)(span[1] & 0x5F); - return (length << 24) | (c0 << 16) | (c1 << 8); - } - - default: - { - c0 = (byte)(span[0] & 0x5F); - c1 = (byte)(span[1] & 0x5F); - c2 = (byte)(span[2] & 0x5F); - return (length << 24) | (c0 << 16) | (c1 << 8) | c2; - } - } - } - } -} diff --git a/benchmarks/Microsoft.AspNetCore.Routing.Performance/Matching/JumpTableMultipleEntryBenchmark.cs b/benchmarks/Microsoft.AspNetCore.Routing.Performance/Matching/JumpTableMultipleEntryBenchmark.cs index 410dbe85ab..b3a6855025 100644 --- a/benchmarks/Microsoft.AspNetCore.Routing.Performance/Matching/JumpTableMultipleEntryBenchmark.cs +++ b/benchmarks/Microsoft.AspNetCore.Routing.Performance/Matching/JumpTableMultipleEntryBenchmark.cs @@ -3,7 +3,6 @@ using System; using System.Collections.Generic; -using System.Diagnostics; using BenchmarkDotNet.Attributes; namespace Microsoft.AspNetCore.Routing.Matching @@ -15,12 +14,11 @@ namespace Microsoft.AspNetCore.Routing.Matching private JumpTable _linearSearch; private JumpTable _dictionary; - private JumpTable _ascii; - private JumpTable _dictionaryLookup; - private JumpTable _customHashTable; + private JumpTable _trie; + private JumpTable _vectorTrie; // All factors of 100 to support sampling - [Params(2, 4, 5, 10, 25)] + [Params(2, 5, 10, 25, 50, 100)] public int Count; [GlobalSetup] @@ -48,9 +46,8 @@ namespace Microsoft.AspNetCore.Routing.Matching _linearSearch = new LinearSearchJumpTable(0, -1, entries.ToArray()); _dictionary = new DictionaryJumpTable(0, -1, entries.ToArray()); - AsciiKeyedJumpTable.TryCreate(0, -1, entries, out _ascii); - _dictionaryLookup = new DictionaryLookupJumpTable(0, -1, entries.ToArray()); - _customHashTable = new CustomHashTableJumpTable(0, -1, entries.ToArray()); + _trie = new ILEmitTrieJumpTable(0, -1, entries.ToArray(), vectorize: false, _dictionary); + _vectorTrie = new ILEmitTrieJumpTable(0, -1, entries.ToArray(), vectorize: true, _dictionary); } // This baseline is similar to SingleEntryJumpTable. We just want @@ -67,15 +64,24 @@ namespace Microsoft.AspNetCore.Routing.Matching var @string = strings[i]; var segment = segments[i]; - destination = segment.Length == 0 ? -1 : - segment.Length != @string.Length ? 1 : - string.Compare( + if (segment.Length == 0) + { + destination = -1; + } + else if (segment.Length != @string.Length) + { + destination = 1; + } + else + { + destination = string.Compare( @string, segment.Start, @string, 0, - @string.Length, + segment.Length, StringComparison.OrdinalIgnoreCase); + } } return destination; @@ -112,7 +118,7 @@ namespace Microsoft.AspNetCore.Routing.Matching } [Benchmark(OperationsPerInvoke = 100)] - public int Ascii() + public int Trie() { var strings = _strings; var segments = _segments; @@ -120,14 +126,14 @@ namespace Microsoft.AspNetCore.Routing.Matching var destination = 0; for (var i = 0; i < strings.Length; i++) { - destination = _ascii.GetDestination(strings[i], segments[i]); + destination = _trie.GetDestination(strings[i], segments[i]); } return destination; } [Benchmark(OperationsPerInvoke = 100)] - public int DictionaryLookup() + public int VectorTrie() { var strings = _strings; var segments = _segments; @@ -135,22 +141,7 @@ namespace Microsoft.AspNetCore.Routing.Matching var destination = 0; for (var i = 0; i < strings.Length; i++) { - destination = _dictionaryLookup.GetDestination(strings[i], segments[i]); - } - - return destination; - } - - [Benchmark(OperationsPerInvoke = 100)] - public int CustomHashTable() - { - var strings = _strings; - var segments = _segments; - - var destination = 0; - for (var i = 0; i < strings.Length; i++) - { - destination = _customHashTable.GetDestination(strings[i], segments[i]); + destination = _vectorTrie.GetDestination(strings[i], segments[i]); } return destination; @@ -164,7 +155,7 @@ namespace Microsoft.AspNetCore.Routing.Matching var guid = Guid.NewGuid().ToString(); // Between 5 and 36 characters - var text = guid.Substring(0, Math.Max(5, Math.Min(count, 36))); + var text = guid.Substring(0, Math.Max(5, Math.Min(i, 36))); if (char.IsDigit(text[0])) { // Convert first character to a letter. diff --git a/benchmarks/Microsoft.AspNetCore.Routing.Performance/Matching/JumpTableSingleEntryBenchmark.cs b/benchmarks/Microsoft.AspNetCore.Routing.Performance/Matching/JumpTableSingleEntryBenchmark.cs index ed59d796ed..e1e3a745e9 100644 --- a/benchmarks/Microsoft.AspNetCore.Routing.Performance/Matching/JumpTableSingleEntryBenchmark.cs +++ b/benchmarks/Microsoft.AspNetCore.Routing.Performance/Matching/JumpTableSingleEntryBenchmark.cs @@ -2,20 +2,30 @@ // Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information. using System; +using System.Runtime.CompilerServices; +using System.Runtime.InteropServices; using BenchmarkDotNet.Attributes; namespace Microsoft.AspNetCore.Routing.Matching { public class JumpTableSingleEntryBenchmark { - private JumpTable _table; + private JumpTable _implementation; + private JumpTable _prototype; + private JumpTable _trie; + private JumpTable _vectorTrie; + private string[] _strings; private PathSegment[] _segments; [GlobalSetup] public void Setup() { - _table = new SingleEntryJumpTable(0, -1, "hello-world", 1); + _implementation = new SingleEntryJumpTable(0, -1, "hello-world", 1); + _prototype = new SingleEntryAsciiVectorizedJumpTable(0, -2, "hello-world", 1); + _trie = new ILEmitTrieJumpTable(0, -1, new [] { ("hello-world", 1), }, vectorize: false, _implementation); + _vectorTrie = new ILEmitTrieJumpTable(0, -1, new[] { ("hello-world", 1), }, vectorize: true, _implementation); + _strings = new string[] { "index/foo/2", @@ -40,21 +50,30 @@ namespace Microsoft.AspNetCore.Routing.Matching var strings = _strings; var segments = _segments; - var destination = 0; - for (var i = 0; i < strings.Length; i++) + int destination = 0; + for (int i = 0; i < strings.Length; i++) { var @string = strings[i]; var segment = segments[i]; - destination = segment.Length == 0 ? -1 : - segment.Length != 11 ? 1 : - string.Compare( + if (segment.Length == 0) + { + destination = -1; + } + else if (segment.Length != "hello-world".Length) + { + destination = 1; + } + else + { + destination = string.Compare( @string, segment.Start, "hello-world", 0, segment.Length, StringComparison.OrdinalIgnoreCase); + } } return destination; @@ -67,12 +86,234 @@ namespace Microsoft.AspNetCore.Routing.Matching var segments = _segments; var destination = 0; - for (var i = 0; i < strings.Length; i++) + for (int i = 0; i < strings.Length; i++) { - destination = _table.GetDestination(strings[i], segments[i]); + destination = _implementation.GetDestination(strings[i], segments[i]); } return destination; } + + [Benchmark(OperationsPerInvoke = 5)] + public int Prototype() + { + var strings = _strings; + var segments = _segments; + + var destination = 0; + for (int i = 0; i < strings.Length; i++) + { + destination = _prototype.GetDestination(strings[i], segments[i]); + } + + return destination; + } + + [Benchmark(OperationsPerInvoke = 5)] + public int Trie() + { + var strings = _strings; + var segments = _segments; + + var destination = 0; + for (int i = 0; i < strings.Length; i++) + { + destination = _trie.GetDestination(strings[i], segments[i]); + } + + return destination; + } + + [Benchmark(OperationsPerInvoke = 5)] + public int VectorTrie() + { + var strings = _strings; + var segments = _segments; + + var destination = 0; + for (int i = 0; i < strings.Length; i++) + { + destination = _vectorTrie.GetDestination(strings[i], segments[i]); + } + + return destination; + } + + private class SingleEntryAsciiVectorizedJumpTable : JumpTable + { + private readonly int _defaultDestination; + private readonly int _exitDestination; + private readonly string _text; + private readonly int _destination; + + private readonly ulong[] _values; + private readonly int _residue0Lower; + private readonly int _residue0Upper; + private readonly int _residue1Lower; + private readonly int _residue1Upper; + private readonly int _residue2Lower; + private readonly int _residue2Upper; + + public SingleEntryAsciiVectorizedJumpTable( + int defaultDestination, + int exitDestination, + string text, + int destination) + { + _defaultDestination = defaultDestination; + _exitDestination = exitDestination; + _text = text; + _destination = destination; + + int length = text.Length; + ReadOnlySpan span = text.ToLowerInvariant().AsSpan(); + ref byte p = ref Unsafe.As(ref MemoryMarshal.GetReference(span)); + + _values = new ulong[length / 4]; + for (int i = 0; i < length / 4; i++) + { + _values[i] = Unsafe.ReadUnaligned(ref p); + p = Unsafe.Add(ref p, 64); + } + + switch (length % 4) + { + case 1: + { + var c = Unsafe.ReadUnaligned(ref p); + _residue0Lower = char.ToLowerInvariant(c); + _residue0Upper = char.ToUpperInvariant(c); + + break; + } + + case 2: + { + var c = Unsafe.ReadUnaligned(ref p); + _residue0Lower = char.ToLowerInvariant(c); + _residue0Upper = char.ToUpperInvariant(c); + + p = Unsafe.Add(ref p, 2); + c = Unsafe.ReadUnaligned(ref p); + _residue1Lower = char.ToLowerInvariant(c); + _residue1Upper = char.ToUpperInvariant(c); + + break; + } + + case 3: + { + var c = Unsafe.ReadUnaligned(ref p); + _residue0Lower = char.ToLowerInvariant(c); + _residue0Upper = char.ToUpperInvariant(c); + + p = Unsafe.Add(ref p, 2); + c = Unsafe.ReadUnaligned(ref p); + _residue1Lower = char.ToLowerInvariant(c); + _residue1Upper = char.ToUpperInvariant(c); + + p = Unsafe.Add(ref p, 2); + c = Unsafe.ReadUnaligned(ref p); + _residue2Lower = char.ToLowerInvariant(c); + _residue2Upper = char.ToUpperInvariant(c); + + break; + } + } + } + + public override int GetDestination(string path, PathSegment segment) + { + int length = segment.Length; + ReadOnlySpan span = path.AsSpan(segment.Start, length); + ref byte p = ref Unsafe.As(ref MemoryMarshal.GetReference(span)); + + int i = 0; + while (length > 3) + { + var value = Unsafe.ReadUnaligned(ref p); + + if ((value & ~0x007F007F007F007FUL) == 0) + { + return _defaultDestination; + } + + ulong ulongLowerIndicator = value + (0x0080008000800080UL - 0x0041004100410041UL); + ulong ulongUpperIndicator = value + (0x0080008000800080UL - 0x005B005B005B005BUL); + ulong ulongCombinedIndicator = (ulongLowerIndicator ^ ulongUpperIndicator) & 0x0080008000800080UL; + ulong mask = (ulongCombinedIndicator) >> 2; + + value ^= mask; + + if (value != _values[i]) + { + return _defaultDestination; + } + + i++; + length -= 4; + p = ref Unsafe.Add(ref p, 64); + } + + switch (length) + { + case 1: + { + char c = Unsafe.ReadUnaligned(ref p); + if (c != _residue0Lower && c != _residue0Upper) + { + return _defaultDestination; + } + + break; + } + + case 2: + { + char c = Unsafe.ReadUnaligned(ref p); + if (c != _residue0Lower && c != _residue0Upper) + { + return _defaultDestination; + } + + p = ref Unsafe.Add(ref p, 2); + c = Unsafe.ReadUnaligned(ref p); + if (c != _residue1Lower && c != _residue1Upper) + { + return _defaultDestination; + } + + break; + } + + case 3: + { + char c = Unsafe.ReadUnaligned(ref p); + if (c != _residue0Lower && c != _residue0Upper) + { + return _defaultDestination; + } + + p = ref Unsafe.Add(ref p, 2); + c = Unsafe.ReadUnaligned(ref p); + if (c != _residue1Lower && c != _residue1Upper) + { + return _defaultDestination; + } + + p = ref Unsafe.Add(ref p, 2); + c = Unsafe.ReadUnaligned(ref p); + if (c != _residue2Lower && c != _residue2Upper) + { + return _defaultDestination; + } + + break; + } + } + + return _destination; + } + } } } diff --git a/build/dependencies.props b/build/dependencies.props index ab9fefc92d..1bb95172d2 100644 --- a/build/dependencies.props +++ b/build/dependencies.props @@ -38,6 +38,8 @@ 4.7.49 2.0.3 11.0.2 + 4.3.0 + 4.3.0 0.10.0 2.3.1 2.4.0 diff --git a/src/Microsoft.AspNetCore.Routing/Matching/ILEmitTrieFactory.cs b/src/Microsoft.AspNetCore.Routing/Matching/ILEmitTrieFactory.cs new file mode 100644 index 0000000000..f3400238c7 --- /dev/null +++ b/src/Microsoft.AspNetCore.Routing/Matching/ILEmitTrieFactory.cs @@ -0,0 +1,588 @@ +// Copyright (c) .NET Foundation. All rights reserved. +// Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information. + +#if IL_EMIT +using System; +using System.Diagnostics; +using System.Linq; +using System.Reflection; +using System.Reflection.Emit; +using System.Runtime.CompilerServices; +using System.Runtime.InteropServices; + +namespace Microsoft.AspNetCore.Routing.Matching +{ + internal static class ILEmitTrieFactory + { + // The algorthm we use only works for ASCII text. If we find non-ASCII text in the input + // we need to reject it and let is be processed with a fallback technique. + public const int NotAscii = Int32.MinValue; + + public static Func Create( + int defaultDestination, + int exitDestination, + (string text, int destination)[] entries, + bool? vectorize) + { + var method = new DynamicMethod( + "GetDestination", + typeof(int), + new[] { typeof(string), typeof(int), typeof(int), }); + + GenerateMethodBody(method.GetILGenerator(), defaultDestination, exitDestination, entries, vectorize); + +#if IL_EMIT_SAVE_ASSEMBLY + SaveAssembly(method.GetILGenerator(), defaultDestination, exitDestination, entries, vectorize); +#endif + + return (Func)method.CreateDelegate(typeof(Func)); + } + + private static void GenerateMethodBody( + ILGenerator il, + int defaultDestination, + int exitDestination, + (string text, int destination)[] entries, + bool? vectorize) + { + // There's no value in vectorizing the computation if we're on 32bit or + // if no string is long enough. We do the vectorized comparison with uint64 ulongs + // which isn't beneficial if they don't map to the native size of the CPU. The + // vectorized algorithm introduces additional overhead for casing. + // + // Vectorize by default on 64bit (allow override for testing) + vectorize = vectorize ?? (IntPtr.Size == 8); + + // Don't vectorize if all of the strings are small (prevents allocating unused locals) + vectorize &= entries.Any(e => e.text.Length >= 4); + + // See comments on Locals for details + var locals = new Locals(il, vectorize.Value); + + // See comments on Labels for details + var labels = new Labels() + { + ReturnDefault = il.DefineLabel(), + ReturnNotAscii = il.DefineLabel(), + }; + + // See comments on Methods for details + var methods = Methods.Instance; + + // Initializing top-level locals - this is similar to... + // ReadOnlySpan span = arg0.AsSpan(arg1, arg2); + // ref byte p = ref Unsafe.As(MemoryMarshal.GetReference(span)) + + // arg0.AsSpan(arg1, arg2) + il.Emit(OpCodes.Ldarg_0); + il.Emit(OpCodes.Ldarg_1); + il.Emit(OpCodes.Ldarg_2); + il.Emit(OpCodes.Call, methods.AsSpan); + + // ReadOnlySpan = ... + il.Emit(OpCodes.Stloc, locals.Span); + + // MemoryMarshal.GetReference(span) + il.Emit(OpCodes.Ldloc, locals.Span); + il.Emit(OpCodes.Call, methods.GetReference); + + // Unsafe.As(...) + il.Emit(OpCodes.Call, methods.As); + + // ref byte p = ... + il.Emit(OpCodes.Stloc_0, locals.P); + + var groups = entries.GroupBy(e => e.text.Length).ToArray(); + for (var i = 0; i < groups.Length; i++) + { + var group = groups[i]; + + // Similar to 'if (length != X) { ... } + var inside = il.DefineLabel(); + var next = il.DefineLabel(); + il.Emit(OpCodes.Ldarg_2); + il.Emit(OpCodes.Ldc_I4, group.Key); + il.Emit(OpCodes.Beq, inside); + il.Emit(OpCodes.Br, next); + + // Process the group + il.MarkLabel(inside); + EmitTable(il, group.ToArray(), 0, group.Key, locals, labels, methods); + il.MarkLabel(next); + } + + // Exit point - we end up here when the text doesn't match + il.MarkLabel(labels.ReturnDefault); + il.Emit(OpCodes.Ldc_I4, defaultDestination); + il.Emit(OpCodes.Ret); + + // Exit point - we end up here with the text contains non-ASCII text + il.MarkLabel(labels.ReturnNotAscii); + il.Emit(OpCodes.Ldc_I4, NotAscii); + il.Emit(OpCodes.Ret); + } + + private static void EmitTable( + ILGenerator il, + (string text, int destination)[] entries, + int index, + int length, + Locals locals, + Labels labels, + Methods methods) + { + // We've reached the end of the string. + if (index == length) + { + EmitReturnDestination(il, entries); + return; + } + + // If 4 or more characters remain, and we're vectorizing, we should process 4 characters at a time. + if (length - index >= 4 && locals.UInt64Value != null) + { + EmitVectorizedTable(il, entries, index, length, locals, labels, methods); + return; + } + + // Fall back to processing a character at a time. + EmitSingleCharacterTable(il, entries, index, length, locals, labels, methods); + } + + private static void EmitVectorizedTable( + ILGenerator il, + (string text, int destination)[] entries, + int index, + int length, + Locals locals, + Labels labels, + Methods methods) + { + // Emits code similar to: + // + // uint64Value = Unsafe.ReadUnaligned(ref p); + // p = ref Unsafe.Add(ref p, 8); + // + // if ((uint64Value & ~0x007F007F007F007FUL) == 0) + // { + // return NotAscii; + // } + // uint64LowerIndicator = value + (0x0080008000800080UL - 0x0041004100410041UL); + // uint64UpperIndicator = value + (0x0080008000800080UL - 0x005B005B005B005BUL); + // ulong temp1 = uint64LowerIndicator ^ uint64UpperIndicator + // ulong temp2 = temp1 & 0x0080008000800080UL; + // ulong temp3 = (temp2) >> 2; + // uint64Value = uint64Value ^ temp3; + // + // This is a vectorized non-branching technique for processing 4 utf16 characters + // at a time inside a single uint64. + // + // Similar to: + // https://github.com/GrabYourPitchforks/coreclr/commit/a3c1df25c4225995ffd6b18fd0fc39d6b81fd6a5#diff-d89b6ca07ea349899e45eed5f688a7ebR81 + // + // Basically we need to check if the text is non-ASCII first and bail if it is. + // The rest of the steps will convert the text to lowercase by checking all characters + // at a time to see if they are in the A-Z range, that's where 0x0041 and 0x005B come in. + + // IMPORTANT + // + // If you are modifying this code, be aware that the easiest way to make a mistake is by + // getting the set of casts wrong doing something like: + // + // il.Emit(OpCodes.Ldc_I8, ~0x007F007F007F007FUL); + // + // The IL Emit apis don't have overloads that accept ulong or ushort, and will resolve + // an overload that does an undesirable conversion (for instance convering ulong to float). + // + // IMPORTANT + + // Unsafe.ReadUnaligned(ref p) + il.Emit(OpCodes.Ldloc, locals.P); + il.Emit(OpCodes.Call, methods.ReadUnalignedUInt64); + + // uint64Value = ... + il.Emit(OpCodes.Stloc, locals.UInt64Value); + + // Unsafe.Add(ref p, 8) + il.Emit(OpCodes.Ldloc, locals.P); + il.Emit(OpCodes.Ldc_I4, 8); // 8 bytes were read + il.Emit(OpCodes.Call, methods.Add); + + // p = ref ... + il.Emit(OpCodes.Stloc, locals.P); + + // if ((uint64Value & ~0x007F007F007F007FUL) == 0) + // { + // goto: NotAscii; + // } + il.Emit(OpCodes.Ldloc, locals.UInt64Value); + il.Emit(OpCodes.Ldc_I8, unchecked((long)~0x007F007F007F007FUL)); + il.Emit(OpCodes.And); + il.Emit(OpCodes.Brtrue, labels.ReturnNotAscii); + + // uint64Value + (0x0080008000800080UL - 0x0041004100410041UL) + il.Emit(OpCodes.Ldloc, locals.UInt64Value); + il.Emit(OpCodes.Ldc_I8, unchecked((long)(0x0080008000800080UL - 0x0041004100410041UL))); + il.Emit(OpCodes.Add); + + // uint64LowerIndicator = ... + il.Emit(OpCodes.Stloc, locals.UInt64LowerIndicator); + + // value + (0x0080008000800080UL - 0x005B005B005B005BUL) + il.Emit(OpCodes.Ldloc, locals.UInt64Value); + il.Emit(OpCodes.Ldc_I8, unchecked((long)(0x0080008000800080UL - 0x005B005B005B005BUL))); + il.Emit(OpCodes.Add); + + // uint64UpperIndicator = ... + il.Emit(OpCodes.Stloc, locals.UInt64UpperIndicator); + + // ulongLowerIndicator ^ ulongUpperIndicator + il.Emit(OpCodes.Ldloc, locals.UInt64LowerIndicator); + il.Emit(OpCodes.Ldloc, locals.UInt64UpperIndicator); + il.Emit(OpCodes.Xor); + + // ... & 0x0080008000800080UL + il.Emit(OpCodes.Ldc_I8, unchecked((long)0x0080008000800080UL)); + il.Emit(OpCodes.And); + + // ... >> 2; + il.Emit(OpCodes.Ldc_I4, 2); + il.Emit(OpCodes.Shr_Un); + + // ... ^ uint64Value + il.Emit(OpCodes.Ldloc, locals.UInt64Value); + il.Emit(OpCodes.Xor); + + // uint64Value = ... + il.Emit(OpCodes.Stloc, locals.UInt64Value); + + // Now we generate an 'if' ladder with an entry for each of the unique 64 bit sections + // of the text. + var groups = entries.GroupBy(e => GetUInt64Key(e.text, index)); + foreach (var group in groups) + { + // if (uint64Value == 0x.....) { ... } + var next = il.DefineLabel(); + il.Emit(OpCodes.Ldloc, locals.UInt64Value); + il.Emit(OpCodes.Ldc_I8, unchecked((long)group.Key)); + il.Emit(OpCodes.Bne_Un, next); + + // Process the group + EmitTable(il, group.ToArray(), index + 4, length, locals, labels, methods); + il.MarkLabel(next); + } + + // goto: defaultDestination + il.Emit(OpCodes.Br, labels.ReturnDefault); + } + + private static void EmitSingleCharacterTable( + ILGenerator il, + (string text, int destination)[] entries, + int index, + int length, + Locals locals, + Labels labels, + Methods methods) + { + // See the vectorized code path for a much more thorough explanation. + + // IMPORTANT + // + // If you are modifying this code, be aware that the easiest way to make a mistake is by + // getting the set of casts wrong doing something like: + // + // il.Emit(OpCodes.Ldc_I4, ~0x007F); + // + // The IL Emit apis don't have overloads that accept ulong or ushort, and will resolve + // an overload that does an undesirable conversion (for instance convering ulong to float). + // + // IMPORTANT + + // Unsafe.ReadUnaligned(ref p) + il.Emit(OpCodes.Ldloc, locals.P); + il.Emit(OpCodes.Call, methods.ReadUnalignedUInt16); + + // uint16Value = ... + il.Emit(OpCodes.Stloc, locals.UInt16Value); + + // Unsafe.Add(ref p, 2) + il.Emit(OpCodes.Ldloc, locals.P); + il.Emit(OpCodes.Ldc_I4, 2); // 2 bytes were read + il.Emit(OpCodes.Call, methods.Add); + + // p = ref ... + il.Emit(OpCodes.Stloc, locals.P); + + // if ((uInt16Value & ~0x007FUL) == 0) + // { + // goto: NotAscii; + // } + il.Emit(OpCodes.Ldloc, locals.UInt16Value); + il.Emit(OpCodes.Ldc_I4, unchecked((int)((uint)~0x007F))); + il.Emit(OpCodes.And); + il.Emit(OpCodes.Brtrue, labels.ReturnNotAscii); + + // Since we're handling a single character at a time, it's easier to just + // generate an 'if' with two comparisons instead of doing complicated conversion + // logic. + + // Now we generate an 'if' ladder with an entry for each of the unique + // characters in the group. + var groups = entries.GroupBy(e => GetUInt16Key(e.text, index)); + foreach (var group in groups) + { + // if (uInt16Value == 'A' || uint16Value == 'a') { ... } + var next = il.DefineLabel(); + var inside = il.DefineLabel(); + il.Emit(OpCodes.Ldloc, locals.UInt16Value); + il.Emit(OpCodes.Ldc_I4, unchecked((int)((uint)group.Key))); + il.Emit(OpCodes.Beq, inside); + + var upper = (ushort)char.ToUpperInvariant((char)group.Key); + if (upper != group.Key) + { + il.Emit(OpCodes.Ldloc, locals.UInt16Value); + il.Emit(OpCodes.Ldc_I4, unchecked((int)((uint)upper))); + il.Emit(OpCodes.Beq, inside); + } + + il.Emit(OpCodes.Br, next); + + // Process the group + il.MarkLabel(inside); + EmitTable(il, group.ToArray(), index + 1, length, locals, labels, methods); + il.MarkLabel(next); + } + + // goto: defaultDestination + il.Emit(OpCodes.Br, labels.ReturnDefault); + } + + public static void EmitReturnDestination(ILGenerator il, (string text, int destination)[] entries) + { + Debug.Assert(entries.Length == 1, "We should have a single entry"); + il.Emit(OpCodes.Ldc_I4, entries[0].destination); + il.Emit(OpCodes.Ret); + } + + private static ulong GetUInt64Key(string text, int index) + { + Debug.Assert(index + 4 <= text.Length); + var span = text.ToLowerInvariant().AsSpan(index); + ref var p = ref Unsafe.As(ref MemoryMarshal.GetReference(span)); + return Unsafe.ReadUnaligned(ref p); + } + + private static ushort GetUInt16Key(string text, int index) + { + Debug.Assert(index + 1 <= text.Length); + return (ushort)char.ToLowerInvariant(text[index]); + } + + // We require a special build-time define since this is a testing/debugging + // feature that will litter the app directory with assemblies. +#if IL_EMIT_SAVE_ASSEMBLY + private static void SaveAssembly( + int defaultDestination, + int exitDestination, + (string text, int destination)[] entries, + bool? vectorize) + { + var assemblyName = "Microsoft.AspNetCore.Routing.ILEmitTrie" + DateTime.Now.Ticks; + var fileName = assemblyName + ".dll"; + var assembly = AssemblyBuilder.DefineDynamicAssembly(new AssemblyName(assemblyName), AssemblyBuilderAccess.RunAndSave); + var module = assembly.DefineDynamicModule(assemblyName, fileName); + var type = module.DefineType("ILEmitTrie"); + var method = type.DefineMethod( + "GetDestination", + MethodAttributes.Public | MethodAttributes.Static, + CallingConventions.Standard, + typeof(int), + new [] { typeof(string), typeof(int), typeof(int), }; + + GenerateMethodBody(method.GetILGenerator(), defaultDestination, exitDestination, entries, vectorize); + + type.CreateTypeInfo(); + assembly.Save(fileName); + } +#endif + + private class Locals + { + public Locals(ILGenerator il, bool vectorize) + { + P = il.DeclareLocal(typeof(byte).MakeByRefType()); + Span = il.DeclareLocal(typeof(ReadOnlySpan)); + + UInt16Value = il.DeclareLocal(typeof(ushort)); + + if (vectorize) + { + UInt64Value = il.DeclareLocal(typeof(ulong)); + UInt64LowerIndicator = il.DeclareLocal(typeof(ulong)); + UInt64UpperIndicator = il.DeclareLocal(typeof(ulong)); + } + } + + /// + /// Holds current character when processing a character at a time. + /// + public LocalBuilder UInt16Value { get; set; } + + /// + /// Holds current character when processing 4 characters at a time. + /// + public LocalBuilder UInt64Value { get; set; } + + /// + /// Used to covert casing. See comments where it's used. + /// + public LocalBuilder UInt64LowerIndicator { get; set; } + + /// + /// Used to covert casing. See comments where it's used. + /// + public LocalBuilder UInt64UpperIndicator { get; set; } + + /// + /// Holds a 'ref byte' reference to the current character (in bytes). + /// + public LocalBuilder P { get; set; } + + /// + /// Holds the relevant portion of the path as a Span[byte]. + /// + public LocalBuilder Span { get; set; } + } + + private class Labels + { + /// + /// Label to goto that will return the default destination (not a match). + /// + public Label ReturnDefault { get; set; } + + /// + /// Label to goto that will return a sentinel value for non-ascii text. + /// + public Label ReturnNotAscii { get; set; } + } + + private class Methods + { + public static readonly Methods Instance = new Methods(); + + private Methods() + { + // Can't use GetMethod because the parameter is a generic method parameters. + Add = typeof(Unsafe) + .GetMethods(BindingFlags.Public | BindingFlags.Static) + .Where(m => m.Name == nameof(Unsafe.Add)) + .Where(m => m.GetGenericArguments().Length == 1) + .Where(m => m.GetParameters().Length == 2) + .FirstOrDefault() + ?.MakeGenericMethod(typeof(byte)); + if (Add == null) + { + throw new InvalidOperationException("Failed to find Unsafe.Add{T}(ref T, int)"); + } + + // Can't use GetMethod because the parameter is a generic method parameters. + As = typeof(Unsafe) + .GetMethods(BindingFlags.Public | BindingFlags.Static) + .Where(m => m.Name == nameof(Unsafe.As)) + .Where(m => m.GetGenericArguments().Length == 2) + .Where(m => m.GetParameters().Length == 1) + .FirstOrDefault() + ?.MakeGenericMethod(typeof(char), typeof(byte)); + if (Add == null) + { + throw new InvalidOperationException("Failed to find Unsafe.As{TFrom, TTo}(ref TFrom)"); + } + + AsSpan = typeof(MemoryExtensions).GetMethod( + nameof(MemoryExtensions.AsSpan), + BindingFlags.Public | BindingFlags.Static, + binder: null, + new[] { typeof(string), typeof(int), typeof(int), }, + modifiers: null); + if (AsSpan == null) + { + throw new InvalidOperationException("Failed to find MemoryExtensions.AsSpan(string, int, int)"); + } + + // Can't use GetMethod because the parameter is a generic method parameters. + GetReference = typeof(MemoryMarshal) + .GetMethods(BindingFlags.Public | BindingFlags.Static) + .Where(m => m.Name == nameof(MemoryMarshal.GetReference)) + .Where(m => m.GetGenericArguments().Length == 1) + .Where(m => m.GetParameters().Length == 1) + // Disambiguate between ReadOnlySpan<> and Span<> - this method is overloaded. + .Where(m => m.GetParameters()[0].ParameterType.GetGenericTypeDefinition() == typeof(ReadOnlySpan<>)) + .FirstOrDefault() + ?.MakeGenericMethod(typeof(char)); + if (GetReference == null) + { + throw new InvalidOperationException("Failed to find MemoryMarshal.GetReference{T}(ReadOnlySpan{T})"); + } + + ReadUnalignedUInt64 = typeof(Unsafe).GetMethod( + nameof(Unsafe.ReadUnaligned), + BindingFlags.Public | BindingFlags.Static, + binder: null, + new[] { typeof(byte).MakeByRefType(), }, + modifiers: null) + .MakeGenericMethod(typeof(ulong)); + if (ReadUnalignedUInt64 == null) + { + throw new InvalidOperationException("Failed to find Unsafe.ReadUnaligned{T}(ref byte)"); + } + + ReadUnalignedUInt16 = typeof(Unsafe).GetMethod( + nameof(Unsafe.ReadUnaligned), + BindingFlags.Public | BindingFlags.Static, + binder: null, + new[] { typeof(byte).MakeByRefType(), }, + modifiers: null) + .MakeGenericMethod(typeof(ushort)); + if (ReadUnalignedUInt16 == null) + { + throw new InvalidOperationException("Failed to find Unsafe.ReadUnaligned{T}(ref byte)"); + } + } + + /// + /// - Add[ref byte] + /// + public MethodInfo Add { get; } + + /// + /// - As[char, byte] + /// + public MethodInfo As { get; } + + /// + /// + /// + public MethodInfo AsSpan { get; } + + /// + /// - GetReference[char] + /// + public MethodInfo GetReference { get; } + + /// + /// - ReadUnaligned[ulong] + /// + public MethodInfo ReadUnalignedUInt64 { get; } + + /// + /// - ReadUnaligned[ushort] + /// + public MethodInfo ReadUnalignedUInt16 { get; } + } + } +} + +#endif diff --git a/src/Microsoft.AspNetCore.Routing/Matching/ILEmitTrieJumpTable.cs b/src/Microsoft.AspNetCore.Routing/Matching/ILEmitTrieJumpTable.cs new file mode 100644 index 0000000000..2bd5951aca --- /dev/null +++ b/src/Microsoft.AspNetCore.Routing/Matching/ILEmitTrieJumpTable.cs @@ -0,0 +1,102 @@ +// Copyright (c) .NET Foundation. All rights reserved. +// Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information. +#if IL_EMIT + +using System; +using System.Threading; +using System.Threading.Tasks; + +namespace Microsoft.AspNetCore.Routing.Matching +{ + // Uses generated IL to implement the JumpTable contract. This approach requires + // a fallback jump table for two reasons: + // 1. We compute the IL lazily to avoid taking up significant time when processing a request + // 2. The generated IL only supports ASCII in the URL path + internal class ILEmitTrieJumpTable : JumpTable + { + private const int NotAscii = int.MinValue; + + private readonly int _defaultDestination; + private readonly int _exitDestination; + private readonly (string text, int destination)[] _entries; + + private readonly bool? _vectorize; + private readonly JumpTable _fallback; + + // Used to protect the initialization of the compiled delegate + private object _lock; + private bool _initializing; + private Task _task; + + // Will be replaced at runtime by the generated code. + // + // Internal for testing + internal Func _getDestination; + + public ILEmitTrieJumpTable( + int defaultDestination, + int exitDestination, + (string text, int destination)[] entries, + bool? vectorize, + JumpTable fallback) + { + _defaultDestination = defaultDestination; + _exitDestination = exitDestination; + _entries = entries; + _vectorize = vectorize; + _fallback = fallback; + + _getDestination = FallbackGetDestination; + } + + public override int GetDestination(string path, PathSegment segment) + { + return _getDestination(path, segment); + } + + private int FallbackGetDestination(string path, PathSegment segment) + { + if (path.Length == 0) + { + return _exitDestination; + } + + // We only hit this code path if the IL delegate is still initializing. + LazyInitializer.EnsureInitialized(ref _task, ref _initializing, ref _lock, InitializeILDelegateAsync); + + return _fallback.GetDestination(path, segment); + } + + // Internal for testing + internal async Task InitializeILDelegateAsync() + { + // Offload the creation of the IL delegate to the thread pool. + await Task.Run(() => + { + InitializeILDelegate(); + }); + } + + // Internal for testing + internal void InitializeILDelegate() + { + var generated = ILEmitTrieFactory.Create(_defaultDestination, _exitDestination, _entries, _vectorize); + _getDestination = (string path, PathSegment segment) => + { + if (segment.Length == 0) + { + return _exitDestination; + } + + var result = generated(path, segment.Start, segment.Length); + if (result == ILEmitTrieFactory.NotAscii) + { + result = _fallback.GetDestination(path, segment); + } + + return result; + }; + } + } +} +#endif diff --git a/src/Microsoft.AspNetCore.Routing/Matching/JumpTableBuilder.cs b/src/Microsoft.AspNetCore.Routing/Matching/JumpTableBuilder.cs index 2800b5eca8..dcd5e3abc3 100644 --- a/src/Microsoft.AspNetCore.Routing/Matching/JumpTableBuilder.cs +++ b/src/Microsoft.AspNetCore.Routing/Matching/JumpTableBuilder.cs @@ -38,25 +38,65 @@ namespace Microsoft.AspNetCore.Routing.Matching throw new InvalidOperationException(message); } - // The JumpTable implementation is chosen based on the number of entries. Right - // now this is simple and minimal. + // The JumpTable implementation is chosen based on the number of entries. + // + // Basically the concerns that we're juggling here are that different implementations + // make sense depending on the characteristics of the entries. + // + // On netcoreapp we support IL generation of optimized tries that is much faster + // than anything we can do with string.Compare or dictionaries. However the IL emit + // strategy requires us to produce a fallback jump table - see comments on the class. + + // We have an optimized fast path for zero entries since we don't have to + // do any string comparisons. if (_entries.Count == 0) { return new ZeroEntryJumpTable(DefaultDestination, ExitDestination); } + // The IL Emit jump table is not faster for a single entry if (_entries.Count == 1) { var entry = _entries[0]; return new SingleEntryJumpTable(DefaultDestination, ExitDestination, entry.text, entry.destination); } - if (_entries.Count < 10) + // We choose a hard upper bound of 100 as the limit for when we switch to a dictionary + // over a trie. The reason is that while the dictionary has a bigger constant factor, + // it is O(1) vs a trie which is O(M * log(N)). Our perf testing shows that the trie + // is better for ~90 entries based on all of Azure's route table. Anything above 100 edges + // we'd consider to be a very very large node, and so while we don't think anyone will + // have a node this large in practice, we want to make sure the performance is reasonable + // for any size. + // + // Additionally if we're on 32bit, the scalability is worse, so switch to the dictionary at 50 + // entries. + var threshold = IntPtr.Size == 8 ? 100 : 50; + if (_entries.Count >= threshold) { - return new LinearSearchJumpTable(DefaultDestination, ExitDestination, _entries.ToArray()); + return new DictionaryJumpTable(DefaultDestination, ExitDestination, _entries.ToArray()); } - return new DictionaryJumpTable(DefaultDestination, ExitDestination, _entries.ToArray()); + // If we have more than a single string, the IL emit strategy is the fastest - but we need to decide + // what do for the fallback case. + JumpTable fallback; + + // Based on our testing a linear search is still faster than a dictionary at ten entries. + if (_entries.Count <= 10) + { + fallback = new LinearSearchJumpTable(DefaultDestination, ExitDestination, _entries.ToArray()); + } + else + { + fallback = new DictionaryJumpTable(DefaultDestination, ExitDestination, _entries.ToArray()); + } + +#if IL_EMIT + + return new ILEmitTrieJumpTable(DefaultDestination, ExitDestination, _entries.ToArray(), vectorize: null, fallback); +#else + return fallback; +#endif } } } diff --git a/src/Microsoft.AspNetCore.Routing/Microsoft.AspNetCore.Routing.csproj b/src/Microsoft.AspNetCore.Routing/Microsoft.AspNetCore.Routing.csproj index fa1ae2e1ac..495fe45caa 100644 --- a/src/Microsoft.AspNetCore.Routing/Microsoft.AspNetCore.Routing.csproj +++ b/src/Microsoft.AspNetCore.Routing/Microsoft.AspNetCore.Routing.csproj @@ -4,13 +4,25 @@ Commonly used types: Microsoft.AspNetCore.Routing.Route Microsoft.AspNetCore.Routing.RouteCollection - netstandard2.0 + netstandard2.0;netcoreapp2.2 $(NoWarn);CS1591 true aspnetcore;routing true + + + true + false + IL_EMIT;$(DefineConstants) + IL_EMIT_SAVE_ASSEMBLIES;$(DefineConstants) + + @@ -26,5 +38,7 @@ Microsoft.AspNetCore.Routing.RouteCollection + + diff --git a/test/Microsoft.AspNetCore.Routing.Tests/Matching/ILEmitTrieJumpTableTest.cs b/test/Microsoft.AspNetCore.Routing.Tests/Matching/ILEmitTrieJumpTableTest.cs new file mode 100644 index 0000000000..5106b40beb --- /dev/null +++ b/test/Microsoft.AspNetCore.Routing.Tests/Matching/ILEmitTrieJumpTableTest.cs @@ -0,0 +1,228 @@ +// Copyright (c) .NET Foundation. All rights reserved. +// Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information. + +#if IL_EMIT +using Moq; +using System.Threading.Tasks; +using Xunit; + +namespace Microsoft.AspNetCore.Routing.Matching +{ + // We get a lot of good coverage of basics since this implementation is used + // as the default in many cases. The tests here are focused on details of the + // implementation (boundaries, casing, non-ASCII). + public abstract class ILEmitTreeJumpTableTestBase : MultipleEntryJumpTableTest + { + public abstract bool Vectorize { get; } + + internal override JumpTable CreateTable( + int defaultDestination, + int exitDestination, + params (string text, int destination)[] entries) + { + var fallback = new DictionaryJumpTable(defaultDestination, exitDestination, entries); + var table = new ILEmitTrieJumpTable(defaultDestination, exitDestination, entries, Vectorize, fallback); + table.InitializeILDelegate(); + return table; + } + + [Fact] // Not calling CreateTable here because we want to test the initialization + public async Task InitializeILDelegateAsync_ReplacesDelegate() + { + // Arrange + var table = new ILEmitTrieJumpTable(0, -1, new[] { ("hi", 1), }, Vectorize, Mock.Of()); + var original = table._getDestination; + + // Act + await table.InitializeILDelegateAsync(); + + // Assert + Assert.NotSame(original, table._getDestination); + } + + // Tests that we can detect non-ASCII characters and use the fallback jump table. + // Testing different indices since that affects which part of the code is running. + // \u007F = lowest non-ASCII character + // \uFFFF = highest non-ASCII character + [Theory] + + // non-ASCII character in first section non-vectorized comparisons + [InlineData("he\u007F", "he\u007Flo-world", 0, 3)] + [InlineData("he\uFFFF", "he\uFFFFlo-world", 0, 3)] + [InlineData("e\u007F", "he\u007Flo-world", 1, 2)] + [InlineData("e\uFFFF", "he\uFFFFlo-world", 1, 2)] + [InlineData("\u007F", "he\u007Flo-world", 2, 1)] + [InlineData("\uFFFF", "he\uFFFFlo-world", 2, 1)] + + // non-ASCII character in first section vectorized comparions + [InlineData("hel\u007F", "hel\u007Fo-world", 0, 4)] + [InlineData("hel\uFFFF", "hel\uFFFFo-world", 0, 4)] + [InlineData("el\u007Fo", "hel\u007Fo-world", 1, 4)] + [InlineData("el\uFFFFo", "hel\uFFFFo-world", 1, 4)] + [InlineData("l\u007Fo-", "hel\u007Fo-world", 2, 4)] + [InlineData("l\uFFFFo-", "hel\uFFFFo-world", 2, 4)] + [InlineData("\u007Fo-w", "hel\u007Fo-world", 3, 4)] + [InlineData("\uFFFFo-w", "hel\uFFFFo-world", 3, 4)] + + // non-ASCII character in second section non-vectorized comparisons + [InlineData("hello-\u007F", "hello-\u007Forld", 0, 7)] + [InlineData("hello-\uFFFF", "hello-\uFFFForld", 0, 7)] + [InlineData("ello-\u007F", "hello-\u007Forld", 1, 6)] + [InlineData("ello-\uFFFF", "hello-\uFFFForld", 1, 6)] + [InlineData("llo-\u007F", "hello-\u007Forld", 2, 5)] + [InlineData("llo-\uFFFF", "hello-\uFFFFForld", 2, 5)] + + // non-ASCII character in first section vectorized comparions + [InlineData("hello-w\u007F", "hello-w\u007Forld", 0, 8)] + [InlineData("hello-w\uFFFF", "hello-w\uFFFForld", 0, 8)] + [InlineData("ello-w\u007Fo", "hello-w\u007Forld", 1, 8)] + [InlineData("ello-w\uFFFFo", "hello-w\uFFFForld", 1, 8)] + [InlineData("llo-w\u007For", "hello-w\u007Forld", 2, 8)] + [InlineData("llo-w\uFFFFor", "hello-w\uFFFForld", 2, 8)] + [InlineData("lo-w\u007Forl", "hello-w\u007Forld", 3, 8)] + [InlineData("lo-w\uFFFForl", "hello-w\uFFFForld", 3, 8)] + public void GetDestination_Found_IncludesNonAsciiCharacters(string entry, string path, int start, int length) + { + // Makes it easy to spot invalid tests + Assert.Equal(entry.Length, length); + Assert.Equal(entry, path.Substring(start, length), ignoreCase: true); + + // Arrange + var table = CreateTable(0, -1, new[] { (entry, 1), }); + + var segment = new PathSegment(start, length); + + // Act + var result = table.GetDestination(path, segment); + + // Assert + Assert.Equal(1, result); + } + + // Tests for difference in casing with ASCII casing rules. Verifies our case + // manipulation algorthm is correct. + // + // We convert from upper case to lower + // 'A' and 'a' are 32 bits apart at the low end + // 'Z' and 'z' are 32 bits apart at the high end + [Theory] + + // character in first section non-vectorized comparisons + [InlineData("heA", "healo-world", 0, 3)] + [InlineData("heZ", "hezlo-world", 0, 3)] + [InlineData("eA", "healo-world", 1, 2)] + [InlineData("eZ", "hezlo-world", 1, 2)] + [InlineData("A", "healo-world", 2, 1)] + [InlineData("Z", "hezlo-world", 2, 1)] + + // character in first section vectorized comparions + [InlineData("helA", "helao-world", 0, 4)] + [InlineData("helZ", "helzo-world", 0, 4)] + [InlineData("elAo", "helao-world", 1, 4)] + [InlineData("elZo", "helzo-world", 1, 4)] + [InlineData("lAo-", "helao-world", 2, 4)] + [InlineData("lZo-", "helzo-world", 2, 4)] + [InlineData("Ao-w", "helao-world", 3, 4)] + [InlineData("Zo-w", "helzo-world", 3, 4)] + + // character in second section non-vectorized comparisons + [InlineData("hello-A", "hello-aorld", 0, 7)] + [InlineData("hello-Z", "hello-zorld", 0, 7)] + [InlineData("ello-A", "hello-aorld", 1, 6)] + [InlineData("ello-Z", "hello-zorld", 1, 6)] + [InlineData("llo-A", "hello-aorld", 2, 5)] + [InlineData("llo-Z", "hello-zForld", 2, 5)] + + // character in first section vectorized comparions + [InlineData("hello-wA", "hello-waorld", 0, 8)] + [InlineData("hello-wZ", "hello-wzorld", 0, 8)] + [InlineData("ello-wAo", "hello-waorld", 1, 8)] + [InlineData("ello-wZo", "hello-wzorld", 1, 8)] + [InlineData("llo-wAor", "hello-waorld", 2, 8)] + [InlineData("llo-wZor", "hello-wzorld", 2, 8)] + [InlineData("lo-wAorl", "hello-waorld", 3, 8)] + [InlineData("lo-wZorl", "hello-wzorld", 3, 8)] + public void GetDestination_Found_IncludesCharactersWithCasingDifference(string entry, string path, int start, int length) + { + // Makes it easy to spot invalid tests + Assert.Equal(entry.Length, length); + Assert.Equal(entry, path.Substring(start, length), ignoreCase: true); + + // Arrange + var table = CreateTable(0, -1, new[] { (entry, 1), }); + + var segment = new PathSegment(start, length); + + // Act + var result = table.GetDestination(path, segment); + + // Assert + Assert.Equal(1, result); + } + + // Tests for difference in casing with ASCII casing rules. Verifies our case + // manipulation algorthm is correct. + // + // We convert from upper case to lower + // '@' and '`' are 32 bits apart at the low end + // '[' and '}' are 32 bits apart at the high end + // + // How to understand these tests: + // "an @ should not be converted to a ` since it is out of range" + [Theory] + + // character in first section non-vectorized comparisons + [InlineData("he@", "he`lo-world", 0, 3)] + [InlineData("he[", "he{lo-world", 0, 3)] + [InlineData("e@", "he`lo-world", 1, 2)] + [InlineData("e[", "he{lo-world", 1, 2)] + [InlineData("@", "he`lo-world", 2, 1)] + [InlineData("[", "he{lo-world", 2, 1)] + + // character in first section vectorized comparions + [InlineData("hel@", "hel`o-world", 0, 4)] + [InlineData("hel[", "hel{o-world", 0, 4)] + [InlineData("el@o", "hel`o-world", 1, 4)] + [InlineData("el[o", "hel{o-world", 1, 4)] + [InlineData("l@o-", "hel`o-world", 2, 4)] + [InlineData("l[o-", "hel{o-world", 2, 4)] + [InlineData("@o-w", "hel`o-world", 3, 4)] + [InlineData("[o-w", "hel{o-world", 3, 4)] + + // character in second section non-vectorized comparisons + [InlineData("hello-@", "hello-`orld", 0, 7)] + [InlineData("hello-[", "hello-{orld", 0, 7)] + [InlineData("ello-@", "hello-`orld", 1, 6)] + [InlineData("ello-[", "hello-{orld", 1, 6)] + [InlineData("llo-@", "hello-`orld", 2, 5)] + [InlineData("llo-[", "hello-{Forld", 2, 5)] + + // character in first section vectorized comparions + [InlineData("hello-w@", "hello-w`orld", 0, 8)] + [InlineData("hello-w[", "hello-w{orld", 0, 8)] + [InlineData("ello-w@o", "hello-w`orld", 1, 8)] + [InlineData("ello-w[o", "hello-w{orld", 1, 8)] + [InlineData("llo-w@or", "hello-w`orld", 2, 8)] + [InlineData("llo-w[or", "hello-w{orld", 2, 8)] + [InlineData("lo-w@orl", "hello-w`orld", 3, 8)] + [InlineData("lo-w[orl", "hello-w{orld", 3, 8)] + public void GetDestination_NotFound_IncludesCharactersWithCasingDifference(string entry, string path, int start, int length) + { + // Makes it easy to spot invalid tests + Assert.Equal(entry.Length, length); + Assert.NotEqual(entry, path.Substring(start, length)); + + // Arrange + var table = CreateTable(0, -1, new[] { (entry, 1), }); + + var segment = new PathSegment(start, length); + + // Act + var result = table.GetDestination(path, segment); + + // Assert + Assert.Equal(0, result); + } + } +} +#endif diff --git a/test/Microsoft.AspNetCore.Routing.Tests/Matching/NonVectorizedILEmitTrieJumpTableTest.cs b/test/Microsoft.AspNetCore.Routing.Tests/Matching/NonVectorizedILEmitTrieJumpTableTest.cs new file mode 100644 index 0000000000..3e5b59baf6 --- /dev/null +++ b/test/Microsoft.AspNetCore.Routing.Tests/Matching/NonVectorizedILEmitTrieJumpTableTest.cs @@ -0,0 +1,12 @@ +// Copyright (c) .NET Foundation. All rights reserved. +// Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information. + +#if IL_EMIT +namespace Microsoft.AspNetCore.Routing.Matching +{ + public class NonVectorizedILEmitTrieJumpTableTest : ILEmitTreeJumpTableTestBase + { + public override bool Vectorize => false; + } +} +#endif diff --git a/test/Microsoft.AspNetCore.Routing.Tests/Matching/VectorizedILEmitTrieJumpTableTest.cs b/test/Microsoft.AspNetCore.Routing.Tests/Matching/VectorizedILEmitTrieJumpTableTest.cs new file mode 100644 index 0000000000..fc5e7c555a --- /dev/null +++ b/test/Microsoft.AspNetCore.Routing.Tests/Matching/VectorizedILEmitTrieJumpTableTest.cs @@ -0,0 +1,14 @@ +// Copyright (c) .NET Foundation. All rights reserved. +// Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information. + +#if IL_EMIT +namespace Microsoft.AspNetCore.Routing.Matching +{ + public class VectorizedILEmitTrieJumpTableTest : ILEmitTreeJumpTableTestBase + { + // We can still run the vectorized implementation on 32 bit, we just + // don't expect it to be performant - it will still be correct. + public override bool Vectorize => true; + } +} +#endif diff --git a/test/Microsoft.AspNetCore.Routing.Tests/Microsoft.AspNetCore.Routing.Tests.csproj b/test/Microsoft.AspNetCore.Routing.Tests/Microsoft.AspNetCore.Routing.Tests.csproj index 0a862d57d1..57c4d063fa 100644 --- a/test/Microsoft.AspNetCore.Routing.Tests/Microsoft.AspNetCore.Routing.Tests.csproj +++ b/test/Microsoft.AspNetCore.Routing.Tests/Microsoft.AspNetCore.Routing.Tests.csproj @@ -3,10 +3,19 @@ $(StandardTestTfms) Microsoft.AspNetCore.Routing + true + + + + + true + IL_EMIT;$(DefineConstants) - true @@ -19,6 +28,7 @@ + From 8d053853bba7681e4ad90999ab979675bb115e59 Mon Sep 17 00:00:00 2001 From: Ryan Nowak Date: Mon, 27 Aug 2018 14:52:16 -0700 Subject: [PATCH 147/221] Address PR feedback, I hit merge too soon. --- .../Matching/JumpTableSingleEntryBenchmark.cs | 37 +++++++------ .../Matching/ILEmitTrieFactory.cs | 46 ++++++++++------ .../Matching/ILEmitTrieJumpTable.cs | 2 + .../Matching/ILEmitTrieFactoryTest.cs | 53 +++++++++++++++++++ 4 files changed, 102 insertions(+), 36 deletions(-) create mode 100644 test/Microsoft.AspNetCore.Routing.Tests/Matching/ILEmitTrieFactoryTest.cs diff --git a/benchmarks/Microsoft.AspNetCore.Routing.Performance/Matching/JumpTableSingleEntryBenchmark.cs b/benchmarks/Microsoft.AspNetCore.Routing.Performance/Matching/JumpTableSingleEntryBenchmark.cs index e1e3a745e9..690c1788b8 100644 --- a/benchmarks/Microsoft.AspNetCore.Routing.Performance/Matching/JumpTableSingleEntryBenchmark.cs +++ b/benchmarks/Microsoft.AspNetCore.Routing.Performance/Matching/JumpTableSingleEntryBenchmark.cs @@ -23,7 +23,7 @@ namespace Microsoft.AspNetCore.Routing.Matching { _implementation = new SingleEntryJumpTable(0, -1, "hello-world", 1); _prototype = new SingleEntryAsciiVectorizedJumpTable(0, -2, "hello-world", 1); - _trie = new ILEmitTrieJumpTable(0, -1, new [] { ("hello-world", 1), }, vectorize: false, _implementation); + _trie = new ILEmitTrieJumpTable(0, -1, new[] { ("hello-world", 1), }, vectorize: false, _implementation); _vectorTrie = new ILEmitTrieJumpTable(0, -1, new[] { ("hello-world", 1), }, vectorize: true, _implementation); _strings = new string[] @@ -116,7 +116,7 @@ namespace Microsoft.AspNetCore.Routing.Matching var segments = _segments; var destination = 0; - for (int i = 0; i < strings.Length; i++) + for (var i = 0; i < strings.Length; i++) { destination = _trie.GetDestination(strings[i], segments[i]); } @@ -131,7 +131,7 @@ namespace Microsoft.AspNetCore.Routing.Matching var segments = _segments; var destination = 0; - for (int i = 0; i < strings.Length; i++) + for (var i = 0; i < strings.Length; i++) { destination = _vectorTrie.GetDestination(strings[i], segments[i]); } @@ -165,17 +165,16 @@ namespace Microsoft.AspNetCore.Routing.Matching _text = text; _destination = destination; - int length = text.Length; - ReadOnlySpan span = text.ToLowerInvariant().AsSpan(); - ref byte p = ref Unsafe.As(ref MemoryMarshal.GetReference(span)); + var length = text.Length; + var span = text.ToLowerInvariant().AsSpan(); + ref var p = ref Unsafe.As(ref MemoryMarshal.GetReference(span)); _values = new ulong[length / 4]; - for (int i = 0; i < length / 4; i++) + for (var i = 0; i < length / 4; i++) { _values[i] = Unsafe.ReadUnaligned(ref p); p = Unsafe.Add(ref p, 64); } - switch (length % 4) { case 1: @@ -224,11 +223,11 @@ namespace Microsoft.AspNetCore.Routing.Matching public override int GetDestination(string path, PathSegment segment) { - int length = segment.Length; - ReadOnlySpan span = path.AsSpan(segment.Start, length); - ref byte p = ref Unsafe.As(ref MemoryMarshal.GetReference(span)); + var length = segment.Length; + var span = path.AsSpan(segment.Start, length); + ref var p = ref Unsafe.As(ref MemoryMarshal.GetReference(span)); - int i = 0; + var i = 0; while (length > 3) { var value = Unsafe.ReadUnaligned(ref p); @@ -238,10 +237,10 @@ namespace Microsoft.AspNetCore.Routing.Matching return _defaultDestination; } - ulong ulongLowerIndicator = value + (0x0080008000800080UL - 0x0041004100410041UL); - ulong ulongUpperIndicator = value + (0x0080008000800080UL - 0x005B005B005B005BUL); - ulong ulongCombinedIndicator = (ulongLowerIndicator ^ ulongUpperIndicator) & 0x0080008000800080UL; - ulong mask = (ulongCombinedIndicator) >> 2; + var ulongLowerIndicator = value + (0x0080008000800080UL - 0x0041004100410041UL); + var ulongUpperIndicator = value + (0x0080008000800080UL - 0x005B005B005B005BUL); + var ulongCombinedIndicator = (ulongLowerIndicator ^ ulongUpperIndicator) & 0x0080008000800080UL; + var mask = (ulongCombinedIndicator) >> 2; value ^= mask; @@ -259,7 +258,7 @@ namespace Microsoft.AspNetCore.Routing.Matching { case 1: { - char c = Unsafe.ReadUnaligned(ref p); + var c = Unsafe.ReadUnaligned(ref p); if (c != _residue0Lower && c != _residue0Upper) { return _defaultDestination; @@ -270,7 +269,7 @@ namespace Microsoft.AspNetCore.Routing.Matching case 2: { - char c = Unsafe.ReadUnaligned(ref p); + var c = Unsafe.ReadUnaligned(ref p); if (c != _residue0Lower && c != _residue0Upper) { return _defaultDestination; @@ -288,7 +287,7 @@ namespace Microsoft.AspNetCore.Routing.Matching case 3: { - char c = Unsafe.ReadUnaligned(ref p); + var c = Unsafe.ReadUnaligned(ref p); if (c != _residue0Lower && c != _residue0Upper) { return _defaultDestination; diff --git a/src/Microsoft.AspNetCore.Routing/Matching/ILEmitTrieFactory.cs b/src/Microsoft.AspNetCore.Routing/Matching/ILEmitTrieFactory.cs index f3400238c7..3b3528932f 100644 --- a/src/Microsoft.AspNetCore.Routing/Matching/ILEmitTrieFactory.cs +++ b/src/Microsoft.AspNetCore.Routing/Matching/ILEmitTrieFactory.cs @@ -16,8 +16,11 @@ namespace Microsoft.AspNetCore.Routing.Matching { // The algorthm we use only works for ASCII text. If we find non-ASCII text in the input // we need to reject it and let is be processed with a fallback technique. - public const int NotAscii = Int32.MinValue; + public const int NotAscii = int.MinValue; + // Creates a Func of (string path, int start, int length) => destination + // Not using PathSegment here because we don't want to mess with visibility checks and + // generating IL without it is easier. public static Func Create( int defaultDestination, int exitDestination, @@ -38,6 +41,21 @@ namespace Microsoft.AspNetCore.Routing.Matching return (Func)method.CreateDelegate(typeof(Func)); } + // Internal for testing + internal static bool ShouldVectorize((string text, int destination)[] entries) + { + // There's no value in vectorizing the computation if we're on 32bit or + // if no string is long enough. We do the vectorized comparison with uint64 ulongs + // which isn't beneficial if they don't map to the native size of the CPU. The + // vectorized algorithm introduces additional overhead for casing. + + // Vectorize by default on 64bit (allow override for testing) + return (IntPtr.Size == 8) && + + // Don't vectorize if all of the strings are small (prevents allocating unused locals) + entries.Any(e => e.text.Length >= 4); + } + private static void GenerateMethodBody( ILGenerator il, int defaultDestination, @@ -45,16 +63,8 @@ namespace Microsoft.AspNetCore.Routing.Matching (string text, int destination)[] entries, bool? vectorize) { - // There's no value in vectorizing the computation if we're on 32bit or - // if no string is long enough. We do the vectorized comparison with uint64 ulongs - // which isn't beneficial if they don't map to the native size of the CPU. The - // vectorized algorithm introduces additional overhead for casing. - // - // Vectorize by default on 64bit (allow override for testing) - vectorize = vectorize ?? (IntPtr.Size == 8); - // Don't vectorize if all of the strings are small (prevents allocating unused locals) - vectorize &= entries.Any(e => e.text.Length >= 4); + vectorize = vectorize ?? ShouldVectorize(entries); // See comments on Locals for details var locals = new Locals(il, vectorize.Value); @@ -428,32 +438,32 @@ namespace Microsoft.AspNetCore.Routing.Matching /// /// Holds current character when processing a character at a time. /// - public LocalBuilder UInt16Value { get; set; } + public LocalBuilder UInt16Value { get; } /// /// Holds current character when processing 4 characters at a time. /// - public LocalBuilder UInt64Value { get; set; } + public LocalBuilder UInt64Value { get; } /// /// Used to covert casing. See comments where it's used. /// - public LocalBuilder UInt64LowerIndicator { get; set; } - + public LocalBuilder UInt64LowerIndicator { get; } + /// /// Used to covert casing. See comments where it's used. /// - public LocalBuilder UInt64UpperIndicator { get; set; } + public LocalBuilder UInt64UpperIndicator { get; } /// /// Holds a 'ref byte' reference to the current character (in bytes). /// - public LocalBuilder P { get; set; } + public LocalBuilder P { get; } /// /// Holds the relevant portion of the path as a Span[byte]. /// - public LocalBuilder Span { get; set; } + public LocalBuilder Span { get; } } private class Labels @@ -471,6 +481,8 @@ namespace Microsoft.AspNetCore.Routing.Matching private class Methods { + // Caching because the methods won't change, if we're being called once we're likely to + // be called again. public static readonly Methods Instance = new Methods(); private Methods() diff --git a/src/Microsoft.AspNetCore.Routing/Matching/ILEmitTrieJumpTable.cs b/src/Microsoft.AspNetCore.Routing/Matching/ILEmitTrieJumpTable.cs index 2bd5951aca..3bd29c9695 100644 --- a/src/Microsoft.AspNetCore.Routing/Matching/ILEmitTrieJumpTable.cs +++ b/src/Microsoft.AspNetCore.Routing/Matching/ILEmitTrieJumpTable.cs @@ -54,6 +54,8 @@ namespace Microsoft.AspNetCore.Routing.Matching return _getDestination(path, segment); } + // Used when we haven't yet initialized the IL trie. We defer compilation of the IL for startup + // performance. private int FallbackGetDestination(string path, PathSegment segment) { if (path.Length == 0) diff --git a/test/Microsoft.AspNetCore.Routing.Tests/Matching/ILEmitTrieFactoryTest.cs b/test/Microsoft.AspNetCore.Routing.Tests/Matching/ILEmitTrieFactoryTest.cs new file mode 100644 index 0000000000..738646dc11 --- /dev/null +++ b/test/Microsoft.AspNetCore.Routing.Tests/Matching/ILEmitTrieFactoryTest.cs @@ -0,0 +1,53 @@ +// Copyright (c) .NET Foundation. All rights reserved. +// Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information. + +#if IL_EMIT +using System; +using Xunit; + +namespace Microsoft.AspNetCore.Routing.Matching +{ + public class ILEmitTrieFactoryTest + { + // We never vectorize on 32bit, so that's part of the test. + [Fact] + public void ShouldVectorize_ReturnsTrue_ForLargeEnoughStrings() + { + // Arrange + var is64Bit = IntPtr.Size == 8; + var expected = is64Bit; + + var entries = new[] + { + ("foo", 0), + ("badr", 0), + ("", 0), + }; + + // Act + var actual = ILEmitTrieFactory.ShouldVectorize(entries); + + // Assert + Assert.Equal(expected, actual); + } + + [Fact] + public void ShouldVectorize_ReturnsFalseForSmallStrings() + { + // Arrange + var entries = new[] + { + ("foo", 0), + ("sma", 0), + ("", 0), + }; + + // Act + var actual = ILEmitTrieFactory.ShouldVectorize(entries); + + // Assert + Assert.False(actual); + } + } +} +#endif From 74bfff149ea592813c496139f2f40b694ce5a1a8 Mon Sep 17 00:00:00 2001 From: James Newton-King Date: Fri, 31 Aug 2018 08:24:41 +1200 Subject: [PATCH 148/221] Use var in for loops (#758) --- .../Matching/JumpTableSingleEntryBenchmark.cs | 6 +++--- .../Matching/BarebonesMatcherConformanceTest.cs | 2 +- .../Matching/DfaMatcherConformanceTest.cs | 2 +- .../Matching/RouteMatcherConformanceTest.cs | 2 +- .../Patterns/RoutePatternParserTest.cs | 4 ++-- .../Template/TemplateParserTests.cs | 4 ++-- .../Tree/TreeRouterTest.cs | 8 ++++---- 7 files changed, 14 insertions(+), 14 deletions(-) diff --git a/benchmarks/Microsoft.AspNetCore.Routing.Performance/Matching/JumpTableSingleEntryBenchmark.cs b/benchmarks/Microsoft.AspNetCore.Routing.Performance/Matching/JumpTableSingleEntryBenchmark.cs index 690c1788b8..1f676ce5ad 100644 --- a/benchmarks/Microsoft.AspNetCore.Routing.Performance/Matching/JumpTableSingleEntryBenchmark.cs +++ b/benchmarks/Microsoft.AspNetCore.Routing.Performance/Matching/JumpTableSingleEntryBenchmark.cs @@ -51,7 +51,7 @@ namespace Microsoft.AspNetCore.Routing.Matching var segments = _segments; int destination = 0; - for (int i = 0; i < strings.Length; i++) + for (var i = 0; i < strings.Length; i++) { var @string = strings[i]; var segment = segments[i]; @@ -86,7 +86,7 @@ namespace Microsoft.AspNetCore.Routing.Matching var segments = _segments; var destination = 0; - for (int i = 0; i < strings.Length; i++) + for (var i = 0; i < strings.Length; i++) { destination = _implementation.GetDestination(strings[i], segments[i]); } @@ -101,7 +101,7 @@ namespace Microsoft.AspNetCore.Routing.Matching var segments = _segments; var destination = 0; - for (int i = 0; i < strings.Length; i++) + for (var i = 0; i < strings.Length; i++) { destination = _prototype.GetDestination(strings[i], segments[i]); } diff --git a/test/Microsoft.AspNetCore.Routing.Tests/Matching/BarebonesMatcherConformanceTest.cs b/test/Microsoft.AspNetCore.Routing.Tests/Matching/BarebonesMatcherConformanceTest.cs index bedc07a206..a8745ef2ed 100644 --- a/test/Microsoft.AspNetCore.Routing.Tests/Matching/BarebonesMatcherConformanceTest.cs +++ b/test/Microsoft.AspNetCore.Routing.Tests/Matching/BarebonesMatcherConformanceTest.cs @@ -49,7 +49,7 @@ namespace Microsoft.AspNetCore.Routing.Matching internal override Matcher CreateMatcher(params RouteEndpoint[] endpoints) { var builder = new BarebonesMatcherBuilder(); - for (int i = 0; i < endpoints.Length; i++) + for (var i = 0; i < endpoints.Length; i++) { builder.AddEndpoint(endpoints[i]); } diff --git a/test/Microsoft.AspNetCore.Routing.Tests/Matching/DfaMatcherConformanceTest.cs b/test/Microsoft.AspNetCore.Routing.Tests/Matching/DfaMatcherConformanceTest.cs index 5d44e62ab0..5f55304b02 100644 --- a/test/Microsoft.AspNetCore.Routing.Tests/Matching/DfaMatcherConformanceTest.cs +++ b/test/Microsoft.AspNetCore.Routing.Tests/Matching/DfaMatcherConformanceTest.cs @@ -32,7 +32,7 @@ namespace Microsoft.AspNetCore.Routing.Matching .BuildServiceProvider(); var builder = services.GetRequiredService(); - for (int i = 0; i < endpoints.Length; i++) + for (var i = 0; i < endpoints.Length; i++) { builder.AddEndpoint(endpoints[i]); } diff --git a/test/Microsoft.AspNetCore.Routing.Tests/Matching/RouteMatcherConformanceTest.cs b/test/Microsoft.AspNetCore.Routing.Tests/Matching/RouteMatcherConformanceTest.cs index 5daf2cae95..1690696951 100644 --- a/test/Microsoft.AspNetCore.Routing.Tests/Matching/RouteMatcherConformanceTest.cs +++ b/test/Microsoft.AspNetCore.Routing.Tests/Matching/RouteMatcherConformanceTest.cs @@ -8,7 +8,7 @@ namespace Microsoft.AspNetCore.Routing.Matching internal override Matcher CreateMatcher(params RouteEndpoint[] endpoints) { var builder = new RouteMatcherBuilder(); - for (int i = 0; i < endpoints.Length; i++) + for (var i = 0; i < endpoints.Length; i++) { builder.AddEndpoint(endpoints[i]); } diff --git a/test/Microsoft.AspNetCore.Routing.Tests/Patterns/RoutePatternParserTest.cs b/test/Microsoft.AspNetCore.Routing.Tests/Patterns/RoutePatternParserTest.cs index 1a1f131091..b564805d31 100644 --- a/test/Microsoft.AspNetCore.Routing.Tests/Patterns/RoutePatternParserTest.cs +++ b/test/Microsoft.AspNetCore.Routing.Tests/Patterns/RoutePatternParserTest.cs @@ -665,7 +665,7 @@ namespace Microsoft.AspNetCore.Routing.Patterns return false; } - for (int i = 0; i < x.PathSegments.Count; i++) + for (var i = 0; i < x.PathSegments.Count; i++) { if (x.PathSegments[i].Parts.Count != y.PathSegments[i].Parts.Count) { @@ -686,7 +686,7 @@ namespace Microsoft.AspNetCore.Routing.Patterns return false; } - for (int i = 0; i < x.Parameters.Count; i++) + for (var i = 0; i < x.Parameters.Count; i++) { if (!Equals(x.Parameters[i], y.Parameters[i])) { diff --git a/test/Microsoft.AspNetCore.Routing.Tests/Template/TemplateParserTests.cs b/test/Microsoft.AspNetCore.Routing.Tests/Template/TemplateParserTests.cs index 39f2a1159e..77813d0232 100644 --- a/test/Microsoft.AspNetCore.Routing.Tests/Template/TemplateParserTests.cs +++ b/test/Microsoft.AspNetCore.Routing.Tests/Template/TemplateParserTests.cs @@ -840,7 +840,7 @@ namespace Microsoft.AspNetCore.Routing.Template.Tests return false; } - for (int i = 0; i < x.Segments.Count; i++) + for (var i = 0; i < x.Segments.Count; i++) { if (x.Segments[i].Parts.Count != y.Segments[i].Parts.Count) { @@ -861,7 +861,7 @@ namespace Microsoft.AspNetCore.Routing.Template.Tests return false; } - for (int i = 0; i < x.Parameters.Count; i++) + for (var i = 0; i < x.Parameters.Count; i++) { if (!Equals(x.Parameters[i], y.Parameters[i])) { diff --git a/test/Microsoft.AspNetCore.Routing.Tests/Tree/TreeRouterTest.cs b/test/Microsoft.AspNetCore.Routing.Tests/Tree/TreeRouterTest.cs index 37ba101520..f18cb657bc 100644 --- a/test/Microsoft.AspNetCore.Routing.Tests/Tree/TreeRouterTest.cs +++ b/test/Microsoft.AspNetCore.Routing.Tests/Tree/TreeRouterTest.cs @@ -39,7 +39,7 @@ namespace Microsoft.AspNetCore.Routing.Tree var expectedRouteGroup = CreateRouteGroup(0, "{parameter1=1}/{parameter2=2}/{parameter3=3}/{*parameter4=4}"); var routeValueKeys = new[] { "parameter1", "parameter2", "parameter3", "parameter4" }; var expectedRouteValues = new RouteValueDictionary(); - for (int i = 0; i < routeValueKeys.Length; i++) + for (var i = 0; i < routeValueKeys.Length; i++) { expectedRouteValues.Add(routeValueKeys[i], routeValues[i]); } @@ -210,7 +210,7 @@ namespace Microsoft.AspNetCore.Routing.Tree var expectedRouteGroup = CreateRouteGroup(0, "{parameter1=1}/{parameter2=2}/{parameter3=3}/{parameter4=4}"); var routeValueKeys = new[] { "parameter1", "parameter2", "parameter3", "parameter4" }; var expectedRouteValues = new RouteValueDictionary(); - for (int i = 0; i < routeValueKeys.Length; i++) + for (var i = 0; i < routeValueKeys.Length; i++) { expectedRouteValues.Add(routeValueKeys[i], routeValues[i]); } @@ -262,7 +262,7 @@ namespace Microsoft.AspNetCore.Routing.Tree var expectedRouteGroup = CreateRouteGroup(0, "{parameter1:int=1}/{parameter2:int=2}/{parameter3:int=3}/{parameter4:int=4}"); var routeValueKeys = new[] { "parameter1", "parameter2", "parameter3", "parameter4" }; var expectedRouteValues = new RouteValueDictionary(); - for (int i = 0; i < routeValueKeys.Length; i++) + for (var i = 0; i < routeValueKeys.Length; i++) { expectedRouteValues.Add(routeValueKeys[i], routeValues[i]); } @@ -305,7 +305,7 @@ namespace Microsoft.AspNetCore.Routing.Tree var expectedRouteGroup = CreateRouteGroup(0, "{parameter1=1}/{parameter2=2}/{parameter3=3}/{*parameter4=4}"); var routeValueKeys = new[] { "parameter1", "parameter2", "parameter3", "parameter4" }; var expectedRouteValues = new RouteValueDictionary(); - for (int i = 0; i < routeValueKeys.Length; i++) + for (var i = 0; i < routeValueKeys.Length; i++) { expectedRouteValues.Add(routeValueKeys[i], routeValues[i]); } From 8395ad834046dbc505a82a804f83d04e2df56fa7 Mon Sep 17 00:00:00 2001 From: Ryan Nowak Date: Thu, 30 Aug 2018 13:10:07 -0700 Subject: [PATCH 149/221] remove references to ref emit packages --- .../Microsoft.AspNetCore.Routing.csproj | 2 -- .../Microsoft.AspNetCore.Routing.Tests.csproj | 1 - 2 files changed, 3 deletions(-) diff --git a/src/Microsoft.AspNetCore.Routing/Microsoft.AspNetCore.Routing.csproj b/src/Microsoft.AspNetCore.Routing/Microsoft.AspNetCore.Routing.csproj index 495fe45caa..a2ff4ab1ba 100644 --- a/src/Microsoft.AspNetCore.Routing/Microsoft.AspNetCore.Routing.csproj +++ b/src/Microsoft.AspNetCore.Routing/Microsoft.AspNetCore.Routing.csproj @@ -38,7 +38,5 @@ Microsoft.AspNetCore.Routing.RouteCollection - - diff --git a/test/Microsoft.AspNetCore.Routing.Tests/Microsoft.AspNetCore.Routing.Tests.csproj b/test/Microsoft.AspNetCore.Routing.Tests/Microsoft.AspNetCore.Routing.Tests.csproj index 57c4d063fa..540f151fed 100644 --- a/test/Microsoft.AspNetCore.Routing.Tests/Microsoft.AspNetCore.Routing.Tests.csproj +++ b/test/Microsoft.AspNetCore.Routing.Tests/Microsoft.AspNetCore.Routing.Tests.csproj @@ -28,7 +28,6 @@ - From 945e798ca78f749f62dcf2b24d99d9e82d17ef26 Mon Sep 17 00:00:00 2001 From: Ryan Nowak Date: Wed, 22 Aug 2018 08:06:34 -0700 Subject: [PATCH 150/221] [Design] Set the endpoint feature only on success --- .../EndpointMiddleware.cs | 18 ++--- .../EndpointRoutingMiddleware.cs | 14 ++-- .../EndpointRoutingBuilderExtensionsTest.cs | 42 +++++++++-- .../EndpointMiddlewareTest.cs | 75 +++++++++++++++---- 4 files changed, 110 insertions(+), 39 deletions(-) diff --git a/src/Microsoft.AspNetCore.Routing/EndpointMiddleware.cs b/src/Microsoft.AspNetCore.Routing/EndpointMiddleware.cs index 46a2c36a25..a9790e6ee1 100644 --- a/src/Microsoft.AspNetCore.Routing/EndpointMiddleware.cs +++ b/src/Microsoft.AspNetCore.Routing/EndpointMiddleware.cs @@ -32,26 +32,18 @@ namespace Microsoft.AspNetCore.Routing public async Task Invoke(HttpContext httpContext) { - var feature = httpContext.Features.Get(); - if (feature == null) + var endpoint = httpContext.Features.Get()?.Endpoint; + if (endpoint?.RequestDelegate != null) { - var message = $"Unable to execute an endpoint because the {nameof(EndpointRoutingMiddleware)} was not run for this request. " + - $"Ensure {nameof(EndpointRoutingMiddleware)} is added to the request execution pipeline before {nameof(EndpointMiddleware)} in application startup code."; - - throw new InvalidOperationException(message); - } - - if (feature.Endpoint?.RequestDelegate != null) - { - Log.ExecutingEndpoint(_logger, feature.Endpoint); + Log.ExecutingEndpoint(_logger, endpoint); try { - await feature.Endpoint.RequestDelegate(httpContext); + await endpoint.RequestDelegate(httpContext); } finally { - Log.ExecutedEndpoint(_logger, feature.Endpoint); + Log.ExecutedEndpoint(_logger, endpoint); } return; diff --git a/src/Microsoft.AspNetCore.Routing/EndpointRoutingMiddleware.cs b/src/Microsoft.AspNetCore.Routing/EndpointRoutingMiddleware.cs index c4c09d5de7..1b0385e212 100644 --- a/src/Microsoft.AspNetCore.Routing/EndpointRoutingMiddleware.cs +++ b/src/Microsoft.AspNetCore.Routing/EndpointRoutingMiddleware.cs @@ -55,11 +55,8 @@ namespace Microsoft.AspNetCore.Routing public async Task Invoke(HttpContext httpContext) { - // For back-compat EndpointRouteValuesFeature implements IEndpointFeature, IRouteValuesFeature and IRoutingFeature var feature = new EndpointFeature(); - SetEndpointFeature(httpContext, feature); - // There's an inherent race condition between waiting for init and accessing the matcher // this is OK because once `_matcher` is initialized, it will not be set to null again. var matcher = await InitializeAsync(); @@ -67,6 +64,10 @@ namespace Microsoft.AspNetCore.Routing await matcher.MatchAsync(httpContext, feature); if (feature.Endpoint != null) { + // Set the endpoint feature only on success. This means we won't overwrite any + // existing state for related features unless we did something. + SetEndpointFeature(httpContext, feature); + Log.MatchSuccess(_logger, feature); } else @@ -79,11 +80,8 @@ namespace Microsoft.AspNetCore.Routing private static void SetEndpointFeature(HttpContext httpContext, EndpointFeature feature) { - // An IRouteValuesFeature might have already been set - // Copy its RouteValues collection if present - var currentRouteValuesFeature = httpContext.Features.Get(); - feature.RouteValues = currentRouteValuesFeature?.RouteValues; - + // For back-compat EndpointRouteValuesFeature implements IEndpointFeature, + // IRouteValuesFeature and IRoutingFeature httpContext.Features.Set(feature); httpContext.Features.Set(feature); httpContext.Features.Set(feature); diff --git a/test/Microsoft.AspNetCore.Routing.Tests/Builder/EndpointRoutingBuilderExtensionsTest.cs b/test/Microsoft.AspNetCore.Routing.Tests/Builder/EndpointRoutingBuilderExtensionsTest.cs index 028b8a6c60..106a47e27b 100644 --- a/test/Microsoft.AspNetCore.Routing.Tests/Builder/EndpointRoutingBuilderExtensionsTest.cs +++ b/test/Microsoft.AspNetCore.Routing.Tests/Builder/EndpointRoutingBuilderExtensionsTest.cs @@ -8,6 +8,7 @@ using Microsoft.AspNetCore.Http; using Microsoft.AspNetCore.Http.Features; using Microsoft.AspNetCore.Internal; using Microsoft.AspNetCore.Routing; +using Microsoft.AspNetCore.Routing.Patterns; using Microsoft.Extensions.DependencyInjection; using Moq; using Xunit; @@ -51,7 +52,7 @@ namespace Microsoft.AspNetCore.Builder } [Fact] - public async Task UseEndpointRouting_ServicesRegistered_SetsFeature() + public async Task UseEndpointRouting_ServicesRegistered_NoMatch_DoesNotSetFeature() { // Arrange var services = CreateServices(); @@ -67,7 +68,36 @@ namespace Microsoft.AspNetCore.Builder await appFunc(httpContext); // Assert - Assert.NotNull(httpContext.Features.Get()); + Assert.Null(httpContext.Features.Get()); + } + + [Fact] + public async Task UseEndpointRouting_ServicesRegistered_Match_DoesNotSetsFeature() + { + // Arrange + var endpoint = new RouteEndpoint( + TestConstants.EmptyRequestDelegate, + RoutePatternFactory.Parse("{*p}"), + 0, + EndpointMetadataCollection.Empty, + "Test"); + + var services = CreateServices(endpoint); + + var app = new ApplicationBuilder(services); + + app.UseEndpointRouting(); + + var appFunc = app.Build(); + var httpContext = new DefaultHttpContext(); + + // Act + await appFunc(httpContext); + + // Assert + var feature = httpContext.Features.Get(); + Assert.NotNull(feature); + Assert.Same(endpoint, feature.Endpoint); } [Fact] @@ -90,7 +120,7 @@ namespace Microsoft.AspNetCore.Builder } [Fact] - public async Task UseEndpoint_ServicesRegisteredAndEndpointRoutingRegistered_SetsFeature() + public async Task UseEndpoint_ServicesRegisteredAndEndpointRoutingRegistered_NoMatch_DoesNotSetFeature() { // Arrange var services = CreateServices(); @@ -107,10 +137,10 @@ namespace Microsoft.AspNetCore.Builder await appFunc(httpContext); // Assert - Assert.NotNull(httpContext.Features.Get()); + Assert.Null(httpContext.Features.Get()); } - private IServiceProvider CreateServices() + private IServiceProvider CreateServices(params Endpoint[] endpoints) { var services = new ServiceCollection(); @@ -118,6 +148,8 @@ namespace Microsoft.AspNetCore.Builder services.AddOptions(); services.AddRouting(); + services.AddSingleton(new DefaultEndpointDataSource(endpoints)); + return services.BuildServiceProvider(); } } diff --git a/test/Microsoft.AspNetCore.Routing.Tests/EndpointMiddlewareTest.cs b/test/Microsoft.AspNetCore.Routing.Tests/EndpointMiddlewareTest.cs index 1cb5427736..6be0ade53b 100644 --- a/test/Microsoft.AspNetCore.Routing.Tests/EndpointMiddlewareTest.cs +++ b/test/Microsoft.AspNetCore.Routing.Tests/EndpointMiddlewareTest.cs @@ -3,11 +3,9 @@ using System; using System.Threading.Tasks; -using Microsoft.AspNetCore.Builder; using Microsoft.AspNetCore.Http; -using Microsoft.Extensions.DependencyInjection; +using Microsoft.AspNetCore.Http.Features; using Microsoft.Extensions.Logging.Abstractions; -using Microsoft.Extensions.Logging.Testing; using Xunit; namespace Microsoft.AspNetCore.Routing @@ -15,7 +13,7 @@ namespace Microsoft.AspNetCore.Routing public class EndpointMiddlewareTest { [Fact] - public async Task Invoke_NoFeature_ThrowFriendlyErrorMessage() + public async Task Invoke_NoFeature_NoOps() { // Arrange var httpContext = new DefaultHttpContext(); @@ -23,22 +21,73 @@ namespace Microsoft.AspNetCore.Routing RequestDelegate next = (c) => { - return Task.FromResult(null); + return Task.CompletedTask; }; var middleware = new EndpointMiddleware(NullLogger.Instance, next); // Act - var invokeTask = middleware.Invoke(httpContext); + await middleware.Invoke(httpContext); + + // Assert - does not throw + } + + [Fact] + public async Task Invoke_NoEndpoint_NoOps() + { + // Arrange + var httpContext = new DefaultHttpContext(); + httpContext.RequestServices = new ServiceProvider(); + + httpContext.Features.Set(new EndpointFeature() + { + Endpoint = null, + }); + + RequestDelegate next = (c) => + { + return Task.CompletedTask; + }; + + var middleware = new EndpointMiddleware(NullLogger.Instance, next); + + // Act + await middleware.Invoke(httpContext); + + // Assert - does not throw + } + + [Fact] + public async Task Invoke_WithEndpoint_InvokesDelegate() + { + // Arrange + var httpContext = new DefaultHttpContext(); + httpContext.RequestServices = new ServiceProvider(); + + var invoked = false; + RequestDelegate endpointFunc = (c) => + { + invoked = true; + return Task.CompletedTask; + }; + + httpContext.Features.Set(new EndpointFeature() + { + Endpoint = new Endpoint(endpointFunc, EndpointMetadataCollection.Empty, "Test"), + }); + + RequestDelegate next = (c) => + { + return Task.CompletedTask; + }; + + var middleware = new EndpointMiddleware(NullLogger.Instance, next); + + // Act + await middleware.Invoke(httpContext); // Assert - var ex = await Assert.ThrowsAsync(async () => await invokeTask); - - Assert.Equal( - "Unable to execute an endpoint because the EndpointRoutingMiddleware was not run for this request. " + - "Ensure EndpointRoutingMiddleware is added to the request execution pipeline before EndpointMiddleware " + - "in application startup code.", - ex.Message); + Assert.True(invoked); } private class ServiceProvider : IServiceProvider From 6cbc8fa08c1b2114246e09089ef34d9efa04a7b8 Mon Sep 17 00:00:00 2001 From: "ASP.NET CI" Date: Sun, 2 Sep 2018 12:25:15 -0700 Subject: [PATCH 151/221] Update dependencies.props [auto-updated: dependencies] --- build/dependencies.props | 56 ++++++++++++++++++++-------------------- korebuild-lock.txt | 4 +-- 2 files changed, 30 insertions(+), 30 deletions(-) diff --git a/build/dependencies.props b/build/dependencies.props index 1bb95172d2..de5cdada7c 100644 --- a/build/dependencies.props +++ b/build/dependencies.props @@ -4,33 +4,33 @@ 0.10.13 - 2.2.0-preview1-20180807.2 - 2.2.0-preview1-34967 - 2.2.0-preview1-34967 - 2.2.0-preview1-34967 - 2.2.0-preview1-34967 - 2.2.0-preview1-34967 - 2.2.0-preview1-34967 - 2.2.0-preview1-34967 - 2.2.0-preview1-34967 - 2.2.0-preview1-34967 - 2.2.0-preview1-34967 - 2.2.0-preview1-34967 - 2.2.0-preview1-34967 - 2.2.0-preview1-34967 - 2.2.0-preview1-34967 - 2.2.0-preview1-34967 - 2.2.0-preview1-34967 - 2.2.0-preview1-34967 - 2.2.0-preview1-34967 - 2.2.0-preview1-34967 - 2.2.0-preview1-34967 - 2.2.0-preview1-34967 - 2.2.0-preview1-34967 - 2.2.0-preview1-34967 - 2.2.0-preview1-34967 - 2.2.0-preview1-34967 - 2.2.0-preview1-34967 + 2.2.0-preview1-20180821.1 + 2.2.0-preview2-35143 + 2.2.0-preview2-35143 + 2.2.0-preview2-35143 + 2.2.0-preview2-35143 + 2.2.0-preview2-35143 + 2.2.0-preview2-35143 + 2.2.0-preview2-35143 + 2.2.0-preview2-35143 + 2.2.0-preview2-35143 + 2.2.0-preview2-35143 + 2.2.0-preview2-35143 + 2.2.0-preview2-35143 + 2.2.0-preview2-35143 + 2.2.0-preview2-35143 + 2.2.0-preview2-35143 + 2.2.0-preview2-35143 + 2.2.0-preview2-35143 + 2.2.0-preview2-35143 + 2.2.0-preview2-35143 + 2.2.0-preview2-35143 + 2.2.0-preview2-35143 + 2.2.0-preview2-35143 + 2.2.0-preview2-35143 + 2.2.0-preview2-35143 + 2.2.0-preview2-35143 + 2.2.0-preview2-35143 2.0.9 2.1.2 2.2.0-preview1-26618-02 @@ -38,8 +38,8 @@ 4.7.49 2.0.3 11.0.2 - 4.3.0 4.3.0 + 4.3.0 0.10.0 2.3.1 2.4.0 diff --git a/korebuild-lock.txt b/korebuild-lock.txt index 3fbcc80189..ad704918df 100644 --- a/korebuild-lock.txt +++ b/korebuild-lock.txt @@ -1,2 +1,2 @@ -version:2.2.0-preview1-20180807.2 -commithash:11495dbd236104434e08cb1152fcb58cf2a20923 +version:2.2.0-preview1-20180821.1 +commithash:c8d0cc52cd1abb697be24e288ffd54f8fae8bf17 From ec11d0578c37bfb522d59058b0e5863140707125 Mon Sep 17 00:00:00 2001 From: James Newton-King Date: Wed, 5 Sep 2018 08:10:38 +1200 Subject: [PATCH 152/221] Add DfaMatcherBuilder benchmarks (#764) --- .../Matching/MatcherAzureBenchmark.cs | 3 +- ...=> MatcherAzureBenchmarkBase.generated.cs} | 10 ++-- .../Matching/MatcherBuilderAzureBenchmark.cs | 31 ++++++++++++ .../Matching/MatcherBuilderGithubBenchmark.cs | 31 ++++++++++++ .../MatcherBuilderMultipleEntryBenchmark.cs | 50 +++++++++++++++++++ .../Matching/MatcherGithubBenchmark.cs | 2 +- ...> MatcherGithubBenchmarkBase.generated.cs} | 10 ++-- tools/Swaggatherer/Template.cs | 8 +-- 8 files changed, 128 insertions(+), 17 deletions(-) rename benchmarks/Microsoft.AspNetCore.Routing.Performance/Matching/{MatcherAzureBenchmark.generated.cs => MatcherAzureBenchmarkBase.generated.cs} (99%) create mode 100644 benchmarks/Microsoft.AspNetCore.Routing.Performance/Matching/MatcherBuilderAzureBenchmark.cs create mode 100644 benchmarks/Microsoft.AspNetCore.Routing.Performance/Matching/MatcherBuilderGithubBenchmark.cs create mode 100644 benchmarks/Microsoft.AspNetCore.Routing.Performance/Matching/MatcherBuilderMultipleEntryBenchmark.cs rename benchmarks/Microsoft.AspNetCore.Routing.Performance/Matching/{MatcherGithubBenchmark.generated.cs => MatcherGithubBenchmarkBase.generated.cs} (99%) diff --git a/benchmarks/Microsoft.AspNetCore.Routing.Performance/Matching/MatcherAzureBenchmark.cs b/benchmarks/Microsoft.AspNetCore.Routing.Performance/Matching/MatcherAzureBenchmark.cs index b68255e3cd..a934316c1f 100644 --- a/benchmarks/Microsoft.AspNetCore.Routing.Performance/Matching/MatcherAzureBenchmark.cs +++ b/benchmarks/Microsoft.AspNetCore.Routing.Performance/Matching/MatcherAzureBenchmark.cs @@ -3,12 +3,11 @@ using System.Threading.Tasks; using BenchmarkDotNet.Attributes; -using Microsoft.AspNetCore.Http.Features; namespace Microsoft.AspNetCore.Routing.Matching { // Generated from https://github.com/Azure/azure-rest-api-specs - public partial class MatcherAzureBenchmark : EndpointRoutingBenchmarkBase + public class MatcherAzureBenchmark : MatcherAzureBenchmarkBase { private const int SampleCount = 100; diff --git a/benchmarks/Microsoft.AspNetCore.Routing.Performance/Matching/MatcherAzureBenchmark.generated.cs b/benchmarks/Microsoft.AspNetCore.Routing.Performance/Matching/MatcherAzureBenchmarkBase.generated.cs similarity index 99% rename from benchmarks/Microsoft.AspNetCore.Routing.Performance/Matching/MatcherAzureBenchmark.generated.cs rename to benchmarks/Microsoft.AspNetCore.Routing.Performance/Matching/MatcherAzureBenchmarkBase.generated.cs index ebb347ea51..1dc30336e3 100644 --- a/benchmarks/Microsoft.AspNetCore.Routing.Performance/Matching/MatcherAzureBenchmark.generated.cs +++ b/benchmarks/Microsoft.AspNetCore.Routing.Performance/Matching/MatcherAzureBenchmarkBase.generated.cs @@ -7,11 +7,11 @@ using Microsoft.AspNetCore.Http; namespace Microsoft.AspNetCore.Routing.Matching { // This code was generated by the Swaggatherer - public partial class MatcherAzureBenchmark : EndpointRoutingBenchmarkBase + public abstract partial class MatcherAzureBenchmarkBase : EndpointRoutingBenchmarkBase { - private const int EndpointCount = 5160; + private protected const int EndpointCount = 5160; - private void SetupEndpoints() + private protected void SetupEndpoints() { Endpoints = new RouteEndpoint[5160]; Endpoints[0] = CreateEndpoint("/account", "GET"); @@ -5176,7 +5176,7 @@ namespace Microsoft.AspNetCore.Routing.Matching Endpoints[5159] = CreateEndpoint("/{tenantID}/groups/{groupObjectId}/$links/members/{memberObjectId}", "DELETE"); } - private void SetupRequests() + private protected void SetupRequests() { Requests = new HttpContext[5160]; Requests[0] = new DefaultHttpContext(); @@ -25821,7 +25821,7 @@ namespace Microsoft.AspNetCore.Routing.Matching Requests[5159].Request.Path = "/67fb987d/groups/04d01a8c-6135/$links/members/71b75dbe-0076-"; } - private Matcher SetupMatcher(MatcherBuilder builder) + private protected Matcher SetupMatcher(MatcherBuilder builder) { builder.AddEndpoint(Endpoints[0]); builder.AddEndpoint(Endpoints[1]); diff --git a/benchmarks/Microsoft.AspNetCore.Routing.Performance/Matching/MatcherBuilderAzureBenchmark.cs b/benchmarks/Microsoft.AspNetCore.Routing.Performance/Matching/MatcherBuilderAzureBenchmark.cs new file mode 100644 index 0000000000..a839075c82 --- /dev/null +++ b/benchmarks/Microsoft.AspNetCore.Routing.Performance/Matching/MatcherBuilderAzureBenchmark.cs @@ -0,0 +1,31 @@ +// Copyright (c) .NET Foundation. All rights reserved. +// Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information. + +using System; +using BenchmarkDotNet.Attributes; +using Microsoft.Extensions.DependencyInjection; + +namespace Microsoft.AspNetCore.Routing.Matching +{ + // Generated from https://github.com/APIs-guru/openapi-directory + // Use https://editor2.swagger.io/ to convert from yaml to json- + public class MatcherBuilderAzureBenchmark : MatcherAzureBenchmarkBase + { + private IServiceProvider _services; + + [GlobalSetup] + public void Setup() + { + SetupEndpoints(); + + _services = CreateServices(); + } + + [Benchmark] + public void Dfa() + { + var builder = _services.GetRequiredService(); + SetupMatcher(builder); + } + } +} \ No newline at end of file diff --git a/benchmarks/Microsoft.AspNetCore.Routing.Performance/Matching/MatcherBuilderGithubBenchmark.cs b/benchmarks/Microsoft.AspNetCore.Routing.Performance/Matching/MatcherBuilderGithubBenchmark.cs new file mode 100644 index 0000000000..4e0244e46e --- /dev/null +++ b/benchmarks/Microsoft.AspNetCore.Routing.Performance/Matching/MatcherBuilderGithubBenchmark.cs @@ -0,0 +1,31 @@ +// Copyright (c) .NET Foundation. All rights reserved. +// Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information. + +using System; +using BenchmarkDotNet.Attributes; +using Microsoft.Extensions.DependencyInjection; + +namespace Microsoft.AspNetCore.Routing.Matching +{ + // Generated from https://github.com/APIs-guru/openapi-directory + // Use https://editor2.swagger.io/ to convert from yaml to json- + public class MatcherBuilderGithubBenchmark : MatcherGithubBenchmarkBase + { + private IServiceProvider _services; + + [GlobalSetup] + public void Setup() + { + SetupEndpoints(); + + _services = CreateServices(); + } + + [Benchmark] + public void Dfa() + { + var builder = _services.GetRequiredService(); + SetupMatcher(builder); + } + } +} \ No newline at end of file diff --git a/benchmarks/Microsoft.AspNetCore.Routing.Performance/Matching/MatcherBuilderMultipleEntryBenchmark.cs b/benchmarks/Microsoft.AspNetCore.Routing.Performance/Matching/MatcherBuilderMultipleEntryBenchmark.cs new file mode 100644 index 0000000000..002118caca --- /dev/null +++ b/benchmarks/Microsoft.AspNetCore.Routing.Performance/Matching/MatcherBuilderMultipleEntryBenchmark.cs @@ -0,0 +1,50 @@ +// Copyright (c) .NET Foundation. All rights reserved. +// Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information. + +using System; +using BenchmarkDotNet.Attributes; +using Microsoft.Extensions.DependencyInjection; + +namespace Microsoft.AspNetCore.Routing.Matching +{ + public partial class MatcherBuilderMultipleEntryBenchmark : EndpointRoutingBenchmarkBase + { + private IServiceProvider _services; + + [GlobalSetup] + public void Setup() + { + Endpoints = new RouteEndpoint[10]; + Endpoints[0] = CreateEndpoint("/product", "GET"); + Endpoints[1] = CreateEndpoint("/product/{id}", "GET"); + + Endpoints[2] = CreateEndpoint("/account", "GET"); + Endpoints[3] = CreateEndpoint("/account/{id}"); + Endpoints[4] = CreateEndpoint("/account/{id}", "POST"); + Endpoints[5] = CreateEndpoint("/account/{id}", "UPDATE"); + + Endpoints[6] = CreateEndpoint("/v2/account", "GET"); + Endpoints[7] = CreateEndpoint("/v2/account/{id}"); + Endpoints[8] = CreateEndpoint("/v2/account/{id}", "POST"); + Endpoints[9] = CreateEndpoint("/v2/account/{id}", "UPDATE"); + + _services = CreateServices(); + } + + private Matcher SetupMatcher(MatcherBuilder builder) + { + for (int i = 0; i < Endpoints.Length; i++) + { + builder.AddEndpoint(Endpoints[i]); + } + return builder.Build(); + } + + [Benchmark] + public void Dfa() + { + var builder = _services.GetRequiredService(); + SetupMatcher(builder); + } + } +} \ No newline at end of file diff --git a/benchmarks/Microsoft.AspNetCore.Routing.Performance/Matching/MatcherGithubBenchmark.cs b/benchmarks/Microsoft.AspNetCore.Routing.Performance/Matching/MatcherGithubBenchmark.cs index 0859fd7a72..3657b42c8b 100644 --- a/benchmarks/Microsoft.AspNetCore.Routing.Performance/Matching/MatcherGithubBenchmark.cs +++ b/benchmarks/Microsoft.AspNetCore.Routing.Performance/Matching/MatcherGithubBenchmark.cs @@ -9,7 +9,7 @@ namespace Microsoft.AspNetCore.Routing.Matching { // Generated from https://github.com/APIs-guru/openapi-directory // Use https://editor2.swagger.io/ to convert from yaml to json- - public partial class MatcherGithubBenchmark : EndpointRoutingBenchmarkBase + public class MatcherGithubBenchmark : MatcherGithubBenchmarkBase { private BarebonesMatcher _baseline; private Matcher _dfa; diff --git a/benchmarks/Microsoft.AspNetCore.Routing.Performance/Matching/MatcherGithubBenchmark.generated.cs b/benchmarks/Microsoft.AspNetCore.Routing.Performance/Matching/MatcherGithubBenchmarkBase.generated.cs similarity index 99% rename from benchmarks/Microsoft.AspNetCore.Routing.Performance/Matching/MatcherGithubBenchmark.generated.cs rename to benchmarks/Microsoft.AspNetCore.Routing.Performance/Matching/MatcherGithubBenchmarkBase.generated.cs index 01b2edd58f..3ac68c89e0 100644 --- a/benchmarks/Microsoft.AspNetCore.Routing.Performance/Matching/MatcherGithubBenchmark.generated.cs +++ b/benchmarks/Microsoft.AspNetCore.Routing.Performance/Matching/MatcherGithubBenchmarkBase.generated.cs @@ -7,11 +7,11 @@ using Microsoft.AspNetCore.Http; namespace Microsoft.AspNetCore.Routing.Matching { // This code was generated by the Swaggatherer - public partial class MatcherGithubBenchmark : EndpointRoutingBenchmarkBase + public partial class MatcherGithubBenchmarkBase : EndpointRoutingBenchmarkBase { - private const int EndpointCount = 243; + private protected const int EndpointCount = 243; - private void SetupEndpoints() + private protected void SetupEndpoints() { Endpoints = new RouteEndpoint[243]; Endpoints[0] = CreateEndpoint("/emojis", "GET"); @@ -259,7 +259,7 @@ namespace Microsoft.AspNetCore.Routing.Matching Endpoints[242] = CreateEndpoint("/repos/{owner}/{repo}/{archive_format}/{path}", "GET"); } - private void SetupRequests() + private protected void SetupRequests() { Requests = new HttpContext[243]; Requests[0] = new DefaultHttpContext(); @@ -1236,7 +1236,7 @@ namespace Microsoft.AspNetCore.Routing.Matching Requests[242].Request.Path = "/repos/21a74/f36c8/805b0492-b723-/680ad"; } - private Matcher SetupMatcher(MatcherBuilder builder) + private protected Matcher SetupMatcher(MatcherBuilder builder) { builder.AddEndpoint(Endpoints[0]); builder.AddEndpoint(Endpoints[1]); diff --git a/tools/Swaggatherer/Template.cs b/tools/Swaggatherer/Template.cs index c5c0c7b42e..8774c6f578 100644 --- a/tools/Swaggatherer/Template.cs +++ b/tools/Swaggatherer/Template.cs @@ -74,21 +74,21 @@ namespace Microsoft.AspNetCore.Routing // This code was generated by the Swaggatherer public partial class GeneratedBenchmark : EndpointRoutingBenchmarkBase {{ - private const int EndpointCount = {3}; + private protected const int EndpointCount = {3}; - private void SetupEndpoints() + private protected void SetupEndpoints() {{ Endpoints = new RouteEndpoint[{3}]; {0} }} - private void SetupRequests() + private protected void SetupRequests() {{ Requests = new HttpContext[{3}]; {1} }} - private Matcher SetupMatcher(MatcherBuilder builder) + private protected Matcher SetupMatcher(MatcherBuilder builder) {{ {2} return builder.Build(); From f9f80e3d80d14684ed2c77b1913cf4bd3c5a4692 Mon Sep 17 00:00:00 2001 From: James Newton-King Date: Wed, 5 Sep 2018 08:11:52 +1200 Subject: [PATCH 153/221] Revert "Add DfaMatcherBuilder benchmarks (#764)" This reverts commit ec11d0578c37bfb522d59058b0e5863140707125. --- .../Matching/MatcherAzureBenchmark.cs | 3 +- ....cs => MatcherAzureBenchmark.generated.cs} | 10 ++-- .../Matching/MatcherBuilderAzureBenchmark.cs | 31 ------------ .../Matching/MatcherBuilderGithubBenchmark.cs | 31 ------------ .../MatcherBuilderMultipleEntryBenchmark.cs | 50 ------------------- .../Matching/MatcherGithubBenchmark.cs | 2 +- ...cs => MatcherGithubBenchmark.generated.cs} | 10 ++-- tools/Swaggatherer/Template.cs | 8 +-- 8 files changed, 17 insertions(+), 128 deletions(-) rename benchmarks/Microsoft.AspNetCore.Routing.Performance/Matching/{MatcherAzureBenchmarkBase.generated.cs => MatcherAzureBenchmark.generated.cs} (99%) delete mode 100644 benchmarks/Microsoft.AspNetCore.Routing.Performance/Matching/MatcherBuilderAzureBenchmark.cs delete mode 100644 benchmarks/Microsoft.AspNetCore.Routing.Performance/Matching/MatcherBuilderGithubBenchmark.cs delete mode 100644 benchmarks/Microsoft.AspNetCore.Routing.Performance/Matching/MatcherBuilderMultipleEntryBenchmark.cs rename benchmarks/Microsoft.AspNetCore.Routing.Performance/Matching/{MatcherGithubBenchmarkBase.generated.cs => MatcherGithubBenchmark.generated.cs} (99%) diff --git a/benchmarks/Microsoft.AspNetCore.Routing.Performance/Matching/MatcherAzureBenchmark.cs b/benchmarks/Microsoft.AspNetCore.Routing.Performance/Matching/MatcherAzureBenchmark.cs index a934316c1f..b68255e3cd 100644 --- a/benchmarks/Microsoft.AspNetCore.Routing.Performance/Matching/MatcherAzureBenchmark.cs +++ b/benchmarks/Microsoft.AspNetCore.Routing.Performance/Matching/MatcherAzureBenchmark.cs @@ -3,11 +3,12 @@ using System.Threading.Tasks; using BenchmarkDotNet.Attributes; +using Microsoft.AspNetCore.Http.Features; namespace Microsoft.AspNetCore.Routing.Matching { // Generated from https://github.com/Azure/azure-rest-api-specs - public class MatcherAzureBenchmark : MatcherAzureBenchmarkBase + public partial class MatcherAzureBenchmark : EndpointRoutingBenchmarkBase { private const int SampleCount = 100; diff --git a/benchmarks/Microsoft.AspNetCore.Routing.Performance/Matching/MatcherAzureBenchmarkBase.generated.cs b/benchmarks/Microsoft.AspNetCore.Routing.Performance/Matching/MatcherAzureBenchmark.generated.cs similarity index 99% rename from benchmarks/Microsoft.AspNetCore.Routing.Performance/Matching/MatcherAzureBenchmarkBase.generated.cs rename to benchmarks/Microsoft.AspNetCore.Routing.Performance/Matching/MatcherAzureBenchmark.generated.cs index 1dc30336e3..ebb347ea51 100644 --- a/benchmarks/Microsoft.AspNetCore.Routing.Performance/Matching/MatcherAzureBenchmarkBase.generated.cs +++ b/benchmarks/Microsoft.AspNetCore.Routing.Performance/Matching/MatcherAzureBenchmark.generated.cs @@ -7,11 +7,11 @@ using Microsoft.AspNetCore.Http; namespace Microsoft.AspNetCore.Routing.Matching { // This code was generated by the Swaggatherer - public abstract partial class MatcherAzureBenchmarkBase : EndpointRoutingBenchmarkBase + public partial class MatcherAzureBenchmark : EndpointRoutingBenchmarkBase { - private protected const int EndpointCount = 5160; + private const int EndpointCount = 5160; - private protected void SetupEndpoints() + private void SetupEndpoints() { Endpoints = new RouteEndpoint[5160]; Endpoints[0] = CreateEndpoint("/account", "GET"); @@ -5176,7 +5176,7 @@ namespace Microsoft.AspNetCore.Routing.Matching Endpoints[5159] = CreateEndpoint("/{tenantID}/groups/{groupObjectId}/$links/members/{memberObjectId}", "DELETE"); } - private protected void SetupRequests() + private void SetupRequests() { Requests = new HttpContext[5160]; Requests[0] = new DefaultHttpContext(); @@ -25821,7 +25821,7 @@ namespace Microsoft.AspNetCore.Routing.Matching Requests[5159].Request.Path = "/67fb987d/groups/04d01a8c-6135/$links/members/71b75dbe-0076-"; } - private protected Matcher SetupMatcher(MatcherBuilder builder) + private Matcher SetupMatcher(MatcherBuilder builder) { builder.AddEndpoint(Endpoints[0]); builder.AddEndpoint(Endpoints[1]); diff --git a/benchmarks/Microsoft.AspNetCore.Routing.Performance/Matching/MatcherBuilderAzureBenchmark.cs b/benchmarks/Microsoft.AspNetCore.Routing.Performance/Matching/MatcherBuilderAzureBenchmark.cs deleted file mode 100644 index a839075c82..0000000000 --- a/benchmarks/Microsoft.AspNetCore.Routing.Performance/Matching/MatcherBuilderAzureBenchmark.cs +++ /dev/null @@ -1,31 +0,0 @@ -// Copyright (c) .NET Foundation. All rights reserved. -// Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information. - -using System; -using BenchmarkDotNet.Attributes; -using Microsoft.Extensions.DependencyInjection; - -namespace Microsoft.AspNetCore.Routing.Matching -{ - // Generated from https://github.com/APIs-guru/openapi-directory - // Use https://editor2.swagger.io/ to convert from yaml to json- - public class MatcherBuilderAzureBenchmark : MatcherAzureBenchmarkBase - { - private IServiceProvider _services; - - [GlobalSetup] - public void Setup() - { - SetupEndpoints(); - - _services = CreateServices(); - } - - [Benchmark] - public void Dfa() - { - var builder = _services.GetRequiredService(); - SetupMatcher(builder); - } - } -} \ No newline at end of file diff --git a/benchmarks/Microsoft.AspNetCore.Routing.Performance/Matching/MatcherBuilderGithubBenchmark.cs b/benchmarks/Microsoft.AspNetCore.Routing.Performance/Matching/MatcherBuilderGithubBenchmark.cs deleted file mode 100644 index 4e0244e46e..0000000000 --- a/benchmarks/Microsoft.AspNetCore.Routing.Performance/Matching/MatcherBuilderGithubBenchmark.cs +++ /dev/null @@ -1,31 +0,0 @@ -// Copyright (c) .NET Foundation. All rights reserved. -// Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information. - -using System; -using BenchmarkDotNet.Attributes; -using Microsoft.Extensions.DependencyInjection; - -namespace Microsoft.AspNetCore.Routing.Matching -{ - // Generated from https://github.com/APIs-guru/openapi-directory - // Use https://editor2.swagger.io/ to convert from yaml to json- - public class MatcherBuilderGithubBenchmark : MatcherGithubBenchmarkBase - { - private IServiceProvider _services; - - [GlobalSetup] - public void Setup() - { - SetupEndpoints(); - - _services = CreateServices(); - } - - [Benchmark] - public void Dfa() - { - var builder = _services.GetRequiredService(); - SetupMatcher(builder); - } - } -} \ No newline at end of file diff --git a/benchmarks/Microsoft.AspNetCore.Routing.Performance/Matching/MatcherBuilderMultipleEntryBenchmark.cs b/benchmarks/Microsoft.AspNetCore.Routing.Performance/Matching/MatcherBuilderMultipleEntryBenchmark.cs deleted file mode 100644 index 002118caca..0000000000 --- a/benchmarks/Microsoft.AspNetCore.Routing.Performance/Matching/MatcherBuilderMultipleEntryBenchmark.cs +++ /dev/null @@ -1,50 +0,0 @@ -// Copyright (c) .NET Foundation. All rights reserved. -// Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information. - -using System; -using BenchmarkDotNet.Attributes; -using Microsoft.Extensions.DependencyInjection; - -namespace Microsoft.AspNetCore.Routing.Matching -{ - public partial class MatcherBuilderMultipleEntryBenchmark : EndpointRoutingBenchmarkBase - { - private IServiceProvider _services; - - [GlobalSetup] - public void Setup() - { - Endpoints = new RouteEndpoint[10]; - Endpoints[0] = CreateEndpoint("/product", "GET"); - Endpoints[1] = CreateEndpoint("/product/{id}", "GET"); - - Endpoints[2] = CreateEndpoint("/account", "GET"); - Endpoints[3] = CreateEndpoint("/account/{id}"); - Endpoints[4] = CreateEndpoint("/account/{id}", "POST"); - Endpoints[5] = CreateEndpoint("/account/{id}", "UPDATE"); - - Endpoints[6] = CreateEndpoint("/v2/account", "GET"); - Endpoints[7] = CreateEndpoint("/v2/account/{id}"); - Endpoints[8] = CreateEndpoint("/v2/account/{id}", "POST"); - Endpoints[9] = CreateEndpoint("/v2/account/{id}", "UPDATE"); - - _services = CreateServices(); - } - - private Matcher SetupMatcher(MatcherBuilder builder) - { - for (int i = 0; i < Endpoints.Length; i++) - { - builder.AddEndpoint(Endpoints[i]); - } - return builder.Build(); - } - - [Benchmark] - public void Dfa() - { - var builder = _services.GetRequiredService(); - SetupMatcher(builder); - } - } -} \ No newline at end of file diff --git a/benchmarks/Microsoft.AspNetCore.Routing.Performance/Matching/MatcherGithubBenchmark.cs b/benchmarks/Microsoft.AspNetCore.Routing.Performance/Matching/MatcherGithubBenchmark.cs index 3657b42c8b..0859fd7a72 100644 --- a/benchmarks/Microsoft.AspNetCore.Routing.Performance/Matching/MatcherGithubBenchmark.cs +++ b/benchmarks/Microsoft.AspNetCore.Routing.Performance/Matching/MatcherGithubBenchmark.cs @@ -9,7 +9,7 @@ namespace Microsoft.AspNetCore.Routing.Matching { // Generated from https://github.com/APIs-guru/openapi-directory // Use https://editor2.swagger.io/ to convert from yaml to json- - public class MatcherGithubBenchmark : MatcherGithubBenchmarkBase + public partial class MatcherGithubBenchmark : EndpointRoutingBenchmarkBase { private BarebonesMatcher _baseline; private Matcher _dfa; diff --git a/benchmarks/Microsoft.AspNetCore.Routing.Performance/Matching/MatcherGithubBenchmarkBase.generated.cs b/benchmarks/Microsoft.AspNetCore.Routing.Performance/Matching/MatcherGithubBenchmark.generated.cs similarity index 99% rename from benchmarks/Microsoft.AspNetCore.Routing.Performance/Matching/MatcherGithubBenchmarkBase.generated.cs rename to benchmarks/Microsoft.AspNetCore.Routing.Performance/Matching/MatcherGithubBenchmark.generated.cs index 3ac68c89e0..01b2edd58f 100644 --- a/benchmarks/Microsoft.AspNetCore.Routing.Performance/Matching/MatcherGithubBenchmarkBase.generated.cs +++ b/benchmarks/Microsoft.AspNetCore.Routing.Performance/Matching/MatcherGithubBenchmark.generated.cs @@ -7,11 +7,11 @@ using Microsoft.AspNetCore.Http; namespace Microsoft.AspNetCore.Routing.Matching { // This code was generated by the Swaggatherer - public partial class MatcherGithubBenchmarkBase : EndpointRoutingBenchmarkBase + public partial class MatcherGithubBenchmark : EndpointRoutingBenchmarkBase { - private protected const int EndpointCount = 243; + private const int EndpointCount = 243; - private protected void SetupEndpoints() + private void SetupEndpoints() { Endpoints = new RouteEndpoint[243]; Endpoints[0] = CreateEndpoint("/emojis", "GET"); @@ -259,7 +259,7 @@ namespace Microsoft.AspNetCore.Routing.Matching Endpoints[242] = CreateEndpoint("/repos/{owner}/{repo}/{archive_format}/{path}", "GET"); } - private protected void SetupRequests() + private void SetupRequests() { Requests = new HttpContext[243]; Requests[0] = new DefaultHttpContext(); @@ -1236,7 +1236,7 @@ namespace Microsoft.AspNetCore.Routing.Matching Requests[242].Request.Path = "/repos/21a74/f36c8/805b0492-b723-/680ad"; } - private protected Matcher SetupMatcher(MatcherBuilder builder) + private Matcher SetupMatcher(MatcherBuilder builder) { builder.AddEndpoint(Endpoints[0]); builder.AddEndpoint(Endpoints[1]); diff --git a/tools/Swaggatherer/Template.cs b/tools/Swaggatherer/Template.cs index 8774c6f578..c5c0c7b42e 100644 --- a/tools/Swaggatherer/Template.cs +++ b/tools/Swaggatherer/Template.cs @@ -74,21 +74,21 @@ namespace Microsoft.AspNetCore.Routing // This code was generated by the Swaggatherer public partial class GeneratedBenchmark : EndpointRoutingBenchmarkBase {{ - private protected const int EndpointCount = {3}; + private const int EndpointCount = {3}; - private protected void SetupEndpoints() + private void SetupEndpoints() {{ Endpoints = new RouteEndpoint[{3}]; {0} }} - private protected void SetupRequests() + private void SetupRequests() {{ Requests = new HttpContext[{3}]; {1} }} - private protected Matcher SetupMatcher(MatcherBuilder builder) + private Matcher SetupMatcher(MatcherBuilder builder) {{ {2} return builder.Build(); From 35163566a96642cc67ac330f578ab56814239994 Mon Sep 17 00:00:00 2001 From: "ASP.NET CI" Date: Wed, 5 Sep 2018 16:36:05 -0700 Subject: [PATCH 154/221] Update branding to 2.2.0-preview3 --- version.props | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/version.props b/version.props index 15637ba785..704cac087b 100644 --- a/version.props +++ b/version.props @@ -1,7 +1,7 @@ 2.2.0 - preview2 + preview3 $(VersionPrefix) $(VersionPrefix)-$(VersionSuffix)-final t000 From e5c520b4ca65978e7ae88194fbc354f62edfb908 Mon Sep 17 00:00:00 2001 From: James Newton-King Date: Thu, 6 Sep 2018 12:10:20 +1200 Subject: [PATCH 155/221] Add DfaMatcherBuilder benchmarks (#777) --- .../Matching/MatcherAzureBenchmark.cs | 3 +- ...=> MatcherAzureBenchmarkBase.generated.cs} | 10 ++-- .../Matching/MatcherBuilderAzureBenchmark.cs | 31 ++++++++++++ .../Matching/MatcherBuilderGithubBenchmark.cs | 31 ++++++++++++ .../MatcherBuilderMultipleEntryBenchmark.cs | 50 +++++++++++++++++++ .../Matching/MatcherGithubBenchmark.cs | 2 +- ...> MatcherGithubBenchmarkBase.generated.cs} | 10 ++-- tools/Swaggatherer/Template.cs | 8 +-- 8 files changed, 128 insertions(+), 17 deletions(-) rename benchmarks/Microsoft.AspNetCore.Routing.Performance/Matching/{MatcherAzureBenchmark.generated.cs => MatcherAzureBenchmarkBase.generated.cs} (99%) create mode 100644 benchmarks/Microsoft.AspNetCore.Routing.Performance/Matching/MatcherBuilderAzureBenchmark.cs create mode 100644 benchmarks/Microsoft.AspNetCore.Routing.Performance/Matching/MatcherBuilderGithubBenchmark.cs create mode 100644 benchmarks/Microsoft.AspNetCore.Routing.Performance/Matching/MatcherBuilderMultipleEntryBenchmark.cs rename benchmarks/Microsoft.AspNetCore.Routing.Performance/Matching/{MatcherGithubBenchmark.generated.cs => MatcherGithubBenchmarkBase.generated.cs} (99%) diff --git a/benchmarks/Microsoft.AspNetCore.Routing.Performance/Matching/MatcherAzureBenchmark.cs b/benchmarks/Microsoft.AspNetCore.Routing.Performance/Matching/MatcherAzureBenchmark.cs index b68255e3cd..a934316c1f 100644 --- a/benchmarks/Microsoft.AspNetCore.Routing.Performance/Matching/MatcherAzureBenchmark.cs +++ b/benchmarks/Microsoft.AspNetCore.Routing.Performance/Matching/MatcherAzureBenchmark.cs @@ -3,12 +3,11 @@ using System.Threading.Tasks; using BenchmarkDotNet.Attributes; -using Microsoft.AspNetCore.Http.Features; namespace Microsoft.AspNetCore.Routing.Matching { // Generated from https://github.com/Azure/azure-rest-api-specs - public partial class MatcherAzureBenchmark : EndpointRoutingBenchmarkBase + public class MatcherAzureBenchmark : MatcherAzureBenchmarkBase { private const int SampleCount = 100; diff --git a/benchmarks/Microsoft.AspNetCore.Routing.Performance/Matching/MatcherAzureBenchmark.generated.cs b/benchmarks/Microsoft.AspNetCore.Routing.Performance/Matching/MatcherAzureBenchmarkBase.generated.cs similarity index 99% rename from benchmarks/Microsoft.AspNetCore.Routing.Performance/Matching/MatcherAzureBenchmark.generated.cs rename to benchmarks/Microsoft.AspNetCore.Routing.Performance/Matching/MatcherAzureBenchmarkBase.generated.cs index ebb347ea51..1dc30336e3 100644 --- a/benchmarks/Microsoft.AspNetCore.Routing.Performance/Matching/MatcherAzureBenchmark.generated.cs +++ b/benchmarks/Microsoft.AspNetCore.Routing.Performance/Matching/MatcherAzureBenchmarkBase.generated.cs @@ -7,11 +7,11 @@ using Microsoft.AspNetCore.Http; namespace Microsoft.AspNetCore.Routing.Matching { // This code was generated by the Swaggatherer - public partial class MatcherAzureBenchmark : EndpointRoutingBenchmarkBase + public abstract partial class MatcherAzureBenchmarkBase : EndpointRoutingBenchmarkBase { - private const int EndpointCount = 5160; + private protected const int EndpointCount = 5160; - private void SetupEndpoints() + private protected void SetupEndpoints() { Endpoints = new RouteEndpoint[5160]; Endpoints[0] = CreateEndpoint("/account", "GET"); @@ -5176,7 +5176,7 @@ namespace Microsoft.AspNetCore.Routing.Matching Endpoints[5159] = CreateEndpoint("/{tenantID}/groups/{groupObjectId}/$links/members/{memberObjectId}", "DELETE"); } - private void SetupRequests() + private protected void SetupRequests() { Requests = new HttpContext[5160]; Requests[0] = new DefaultHttpContext(); @@ -25821,7 +25821,7 @@ namespace Microsoft.AspNetCore.Routing.Matching Requests[5159].Request.Path = "/67fb987d/groups/04d01a8c-6135/$links/members/71b75dbe-0076-"; } - private Matcher SetupMatcher(MatcherBuilder builder) + private protected Matcher SetupMatcher(MatcherBuilder builder) { builder.AddEndpoint(Endpoints[0]); builder.AddEndpoint(Endpoints[1]); diff --git a/benchmarks/Microsoft.AspNetCore.Routing.Performance/Matching/MatcherBuilderAzureBenchmark.cs b/benchmarks/Microsoft.AspNetCore.Routing.Performance/Matching/MatcherBuilderAzureBenchmark.cs new file mode 100644 index 0000000000..a839075c82 --- /dev/null +++ b/benchmarks/Microsoft.AspNetCore.Routing.Performance/Matching/MatcherBuilderAzureBenchmark.cs @@ -0,0 +1,31 @@ +// Copyright (c) .NET Foundation. All rights reserved. +// Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information. + +using System; +using BenchmarkDotNet.Attributes; +using Microsoft.Extensions.DependencyInjection; + +namespace Microsoft.AspNetCore.Routing.Matching +{ + // Generated from https://github.com/APIs-guru/openapi-directory + // Use https://editor2.swagger.io/ to convert from yaml to json- + public class MatcherBuilderAzureBenchmark : MatcherAzureBenchmarkBase + { + private IServiceProvider _services; + + [GlobalSetup] + public void Setup() + { + SetupEndpoints(); + + _services = CreateServices(); + } + + [Benchmark] + public void Dfa() + { + var builder = _services.GetRequiredService(); + SetupMatcher(builder); + } + } +} \ No newline at end of file diff --git a/benchmarks/Microsoft.AspNetCore.Routing.Performance/Matching/MatcherBuilderGithubBenchmark.cs b/benchmarks/Microsoft.AspNetCore.Routing.Performance/Matching/MatcherBuilderGithubBenchmark.cs new file mode 100644 index 0000000000..4e0244e46e --- /dev/null +++ b/benchmarks/Microsoft.AspNetCore.Routing.Performance/Matching/MatcherBuilderGithubBenchmark.cs @@ -0,0 +1,31 @@ +// Copyright (c) .NET Foundation. All rights reserved. +// Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information. + +using System; +using BenchmarkDotNet.Attributes; +using Microsoft.Extensions.DependencyInjection; + +namespace Microsoft.AspNetCore.Routing.Matching +{ + // Generated from https://github.com/APIs-guru/openapi-directory + // Use https://editor2.swagger.io/ to convert from yaml to json- + public class MatcherBuilderGithubBenchmark : MatcherGithubBenchmarkBase + { + private IServiceProvider _services; + + [GlobalSetup] + public void Setup() + { + SetupEndpoints(); + + _services = CreateServices(); + } + + [Benchmark] + public void Dfa() + { + var builder = _services.GetRequiredService(); + SetupMatcher(builder); + } + } +} \ No newline at end of file diff --git a/benchmarks/Microsoft.AspNetCore.Routing.Performance/Matching/MatcherBuilderMultipleEntryBenchmark.cs b/benchmarks/Microsoft.AspNetCore.Routing.Performance/Matching/MatcherBuilderMultipleEntryBenchmark.cs new file mode 100644 index 0000000000..002118caca --- /dev/null +++ b/benchmarks/Microsoft.AspNetCore.Routing.Performance/Matching/MatcherBuilderMultipleEntryBenchmark.cs @@ -0,0 +1,50 @@ +// Copyright (c) .NET Foundation. All rights reserved. +// Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information. + +using System; +using BenchmarkDotNet.Attributes; +using Microsoft.Extensions.DependencyInjection; + +namespace Microsoft.AspNetCore.Routing.Matching +{ + public partial class MatcherBuilderMultipleEntryBenchmark : EndpointRoutingBenchmarkBase + { + private IServiceProvider _services; + + [GlobalSetup] + public void Setup() + { + Endpoints = new RouteEndpoint[10]; + Endpoints[0] = CreateEndpoint("/product", "GET"); + Endpoints[1] = CreateEndpoint("/product/{id}", "GET"); + + Endpoints[2] = CreateEndpoint("/account", "GET"); + Endpoints[3] = CreateEndpoint("/account/{id}"); + Endpoints[4] = CreateEndpoint("/account/{id}", "POST"); + Endpoints[5] = CreateEndpoint("/account/{id}", "UPDATE"); + + Endpoints[6] = CreateEndpoint("/v2/account", "GET"); + Endpoints[7] = CreateEndpoint("/v2/account/{id}"); + Endpoints[8] = CreateEndpoint("/v2/account/{id}", "POST"); + Endpoints[9] = CreateEndpoint("/v2/account/{id}", "UPDATE"); + + _services = CreateServices(); + } + + private Matcher SetupMatcher(MatcherBuilder builder) + { + for (int i = 0; i < Endpoints.Length; i++) + { + builder.AddEndpoint(Endpoints[i]); + } + return builder.Build(); + } + + [Benchmark] + public void Dfa() + { + var builder = _services.GetRequiredService(); + SetupMatcher(builder); + } + } +} \ No newline at end of file diff --git a/benchmarks/Microsoft.AspNetCore.Routing.Performance/Matching/MatcherGithubBenchmark.cs b/benchmarks/Microsoft.AspNetCore.Routing.Performance/Matching/MatcherGithubBenchmark.cs index 0859fd7a72..3657b42c8b 100644 --- a/benchmarks/Microsoft.AspNetCore.Routing.Performance/Matching/MatcherGithubBenchmark.cs +++ b/benchmarks/Microsoft.AspNetCore.Routing.Performance/Matching/MatcherGithubBenchmark.cs @@ -9,7 +9,7 @@ namespace Microsoft.AspNetCore.Routing.Matching { // Generated from https://github.com/APIs-guru/openapi-directory // Use https://editor2.swagger.io/ to convert from yaml to json- - public partial class MatcherGithubBenchmark : EndpointRoutingBenchmarkBase + public class MatcherGithubBenchmark : MatcherGithubBenchmarkBase { private BarebonesMatcher _baseline; private Matcher _dfa; diff --git a/benchmarks/Microsoft.AspNetCore.Routing.Performance/Matching/MatcherGithubBenchmark.generated.cs b/benchmarks/Microsoft.AspNetCore.Routing.Performance/Matching/MatcherGithubBenchmarkBase.generated.cs similarity index 99% rename from benchmarks/Microsoft.AspNetCore.Routing.Performance/Matching/MatcherGithubBenchmark.generated.cs rename to benchmarks/Microsoft.AspNetCore.Routing.Performance/Matching/MatcherGithubBenchmarkBase.generated.cs index 01b2edd58f..3ac68c89e0 100644 --- a/benchmarks/Microsoft.AspNetCore.Routing.Performance/Matching/MatcherGithubBenchmark.generated.cs +++ b/benchmarks/Microsoft.AspNetCore.Routing.Performance/Matching/MatcherGithubBenchmarkBase.generated.cs @@ -7,11 +7,11 @@ using Microsoft.AspNetCore.Http; namespace Microsoft.AspNetCore.Routing.Matching { // This code was generated by the Swaggatherer - public partial class MatcherGithubBenchmark : EndpointRoutingBenchmarkBase + public partial class MatcherGithubBenchmarkBase : EndpointRoutingBenchmarkBase { - private const int EndpointCount = 243; + private protected const int EndpointCount = 243; - private void SetupEndpoints() + private protected void SetupEndpoints() { Endpoints = new RouteEndpoint[243]; Endpoints[0] = CreateEndpoint("/emojis", "GET"); @@ -259,7 +259,7 @@ namespace Microsoft.AspNetCore.Routing.Matching Endpoints[242] = CreateEndpoint("/repos/{owner}/{repo}/{archive_format}/{path}", "GET"); } - private void SetupRequests() + private protected void SetupRequests() { Requests = new HttpContext[243]; Requests[0] = new DefaultHttpContext(); @@ -1236,7 +1236,7 @@ namespace Microsoft.AspNetCore.Routing.Matching Requests[242].Request.Path = "/repos/21a74/f36c8/805b0492-b723-/680ad"; } - private Matcher SetupMatcher(MatcherBuilder builder) + private protected Matcher SetupMatcher(MatcherBuilder builder) { builder.AddEndpoint(Endpoints[0]); builder.AddEndpoint(Endpoints[1]); diff --git a/tools/Swaggatherer/Template.cs b/tools/Swaggatherer/Template.cs index c5c0c7b42e..8774c6f578 100644 --- a/tools/Swaggatherer/Template.cs +++ b/tools/Swaggatherer/Template.cs @@ -74,21 +74,21 @@ namespace Microsoft.AspNetCore.Routing // This code was generated by the Swaggatherer public partial class GeneratedBenchmark : EndpointRoutingBenchmarkBase {{ - private const int EndpointCount = {3}; + private protected const int EndpointCount = {3}; - private void SetupEndpoints() + private protected void SetupEndpoints() {{ Endpoints = new RouteEndpoint[{3}]; {0} }} - private void SetupRequests() + private protected void SetupRequests() {{ Requests = new HttpContext[{3}]; {1} }} - private Matcher SetupMatcher(MatcherBuilder builder) + private protected Matcher SetupMatcher(MatcherBuilder builder) {{ {2} return builder.Build(); From a777a4cdd54a1225fce1f3c57ff424740fef260d Mon Sep 17 00:00:00 2001 From: James Newton-King Date: Thu, 6 Sep 2018 12:25:45 +1200 Subject: [PATCH 156/221] Reuse collections in DfaMatcherBuilder (#778) --- .../Matching/DfaMatcherBuilder.cs | 90 ++++++++++++++----- .../Matching/HttpMethodMatcherPolicy.cs | 2 +- 2 files changed, 68 insertions(+), 24 deletions(-) diff --git a/src/Microsoft.AspNetCore.Routing/Matching/DfaMatcherBuilder.cs b/src/Microsoft.AspNetCore.Routing/Matching/DfaMatcherBuilder.cs index 040d39a5e6..abe57ab1e7 100644 --- a/src/Microsoft.AspNetCore.Routing/Matching/DfaMatcherBuilder.cs +++ b/src/Microsoft.AspNetCore.Routing/Matching/DfaMatcherBuilder.cs @@ -19,6 +19,13 @@ namespace Microsoft.AspNetCore.Routing.Matching private readonly INodeBuilderPolicy[] _nodeBuilders; private readonly EndpointComparer _comparer; + // These collections are reused when building candidates + private readonly Dictionary _assignments; + private readonly List> _slots; + private readonly List<(string parameterName, int segmentIndex, int slotIndex)> _captures; + private readonly List<(RoutePatternPathSegment pathSegment, int segmentIndex)> _complexSegments; + private readonly List> _constraints; + public DfaMatcherBuilder( ParameterPolicyFactory parameterPolicyFactory, EndpointSelector selector, @@ -31,6 +38,12 @@ namespace Microsoft.AspNetCore.Routing.Matching // Taking care to use _policies, which has been sorted. _nodeBuilders = _policies.OfType().ToArray(); _comparer = new EndpointComparer(_policies.OfType().ToArray()); + + _assignments = new Dictionary(StringComparer.OrdinalIgnoreCase); + _slots = new List>(); + _captures = new List<(string parameterName, int segmentIndex, int slotIndex)>(); + _complexSegments = new List<(RoutePatternPathSegment pathSegment, int segmentIndex)>(); + _constraints = new List>(); } public override void AddEndpoint(RouteEndpoint endpoint) @@ -50,6 +63,7 @@ namespace Microsoft.AspNetCore.Routing.Matching // this list will hold the set of items we need to process at the current // stage. var work = new List<(RouteEndpoint endpoint, List parents)>(); + List<(RouteEndpoint endpoint, List parents)> previousWork = null; var root = new DfaNode() { PathDepth = 0, Label = "/" }; @@ -63,14 +77,26 @@ namespace Microsoft.AspNetCore.Routing.Matching work.Add((endpoint, new List() { root, })); } + var workCount = work.Count; // Now we process the entries a level at a time. for (var depth = 0; depth <= maxDepth; depth++) { // As we process items, collect the next set of items. - var nextWork = new List<(RouteEndpoint endpoint, List parents)>(); + List<(RouteEndpoint endpoint, List parents)> nextWork; + var nextWorkCount = 0; + if (previousWork == null) + { + nextWork = new List<(RouteEndpoint endpoint, List parents)>(); + } + else + { + // Reuse previous collection for the next collection + // Don't clear the list so nested lists can be reused + nextWork = previousWork; + } - for (var i = 0; i < work.Count; i++) + for (var i = 0; i < workCount; i++) { var (endpoint, parents) = work[i]; @@ -84,7 +110,23 @@ namespace Microsoft.AspNetCore.Routing.Matching } // Find the parents of this edge at the current depth - var nextParents = new List(); + List nextParents; + if (nextWorkCount < nextWork.Count) + { + nextParents = nextWork[nextWorkCount].parents; + nextParents.Clear(); + + nextWork[nextWorkCount] = (endpoint, nextParents); + } + else + { + nextParents = new List(); + + // Add to the next set of work now so the list will be reused + // even if there are no parents + nextWork.Add((endpoint, nextParents)); + } + var segment = GetCurrentSegment(endpoint, depth); if (segment == null) { @@ -178,12 +220,14 @@ namespace Microsoft.AspNetCore.Routing.Matching if (nextParents.Count > 0) { - nextWork.Add((endpoint, nextParents)); + nextWorkCount++; } } // Prepare the process the next stage. + previousWork = work; work = nextWork; + workCount = nextWorkCount; } // Build the trees of policy nodes (like HTTP methods). Post-order traversal @@ -370,20 +414,20 @@ namespace Microsoft.AspNetCore.Routing.Matching // internal for tests internal Candidate CreateCandidate(Endpoint endpoint, int score) { - var assignments = new Dictionary(StringComparer.OrdinalIgnoreCase); - var slots = new List>(); - var captures = new List<(string parameterName, int segmentIndex, int slotIndex)>(); - (string parameterName, int segmentIndex, int slotIndex) catchAll = default; + _assignments.Clear(); + _slots.Clear(); + _captures.Clear(); + _complexSegments.Clear(); + _constraints.Clear(); - var complexSegments = new List<(RoutePatternPathSegment pathSegment, int segmentIndex)>(); - var constraints = new List>(); + (string parameterName, int segmentIndex, int slotIndex) catchAll = default; if (endpoint is RouteEndpoint routeEndpoint) { foreach (var kvp in routeEndpoint.RoutePattern.Defaults) { - assignments.Add(kvp.Key, assignments.Count); - slots.Add(kvp); + _assignments.Add(kvp.Key, _assignments.Count); + _slots.Add(kvp); } for (var i = 0; i < routeEndpoint.RoutePattern.PathSegments.Count; i++) @@ -400,13 +444,13 @@ namespace Microsoft.AspNetCore.Routing.Matching continue; } - if (!assignments.TryGetValue(parameterPart.Name, out var slotIndex)) + if (!_assignments.TryGetValue(parameterPart.Name, out var slotIndex)) { - slotIndex = assignments.Count; - assignments.Add(parameterPart.Name, slotIndex); + slotIndex = _assignments.Count; + _assignments.Add(parameterPart.Name, slotIndex); var hasDefaultValue = parameterPart.Default != null || parameterPart.IsCatchAll; - slots.Add(hasDefaultValue ? new KeyValuePair(parameterPart.Name, parameterPart.Default) : default); + _slots.Add(hasDefaultValue ? new KeyValuePair(parameterPart.Name, parameterPart.Default) : default); } if (parameterPart.IsCatchAll) @@ -415,7 +459,7 @@ namespace Microsoft.AspNetCore.Routing.Matching } else { - captures.Add((parameterPart.Name, i, slotIndex)); + _captures.Add((parameterPart.Name, i, slotIndex)); } } @@ -427,7 +471,7 @@ namespace Microsoft.AspNetCore.Routing.Matching continue; } - complexSegments.Add((segment, i)); + _complexSegments.Add((segment, i)); } foreach (var kvp in routeEndpoint.RoutePattern.ParameterPolicies) @@ -440,7 +484,7 @@ namespace Microsoft.AspNetCore.Routing.Matching var parameterPolicy = _parameterPolicyFactory.Create(parameter, reference); if (parameterPolicy is IRouteConstraint routeConstraint) { - constraints.Add(new KeyValuePair(kvp.Key, routeConstraint)); + _constraints.Add(new KeyValuePair(kvp.Key, routeConstraint)); } } } @@ -449,11 +493,11 @@ namespace Microsoft.AspNetCore.Routing.Matching return new Candidate( endpoint, score, - slots.ToArray(), - captures.ToArray(), + _slots.ToArray(), + _captures.ToArray(), catchAll, - complexSegments.ToArray(), - constraints.ToArray()); + _complexSegments.ToArray(), + _constraints.ToArray()); } private int[] GetGroupLengths(DfaNode node) diff --git a/src/Microsoft.AspNetCore.Routing/Matching/HttpMethodMatcherPolicy.cs b/src/Microsoft.AspNetCore.Routing/Matching/HttpMethodMatcherPolicy.cs index 86706fed0d..d51c51c2ba 100644 --- a/src/Microsoft.AspNetCore.Routing/Matching/HttpMethodMatcherPolicy.cs +++ b/src/Microsoft.AspNetCore.Routing/Matching/HttpMethodMatcherPolicy.cs @@ -362,7 +362,7 @@ namespace Microsoft.AspNetCore.Routing.Matching public override int GetHashCode() { var hash = new HashCodeCombiner(); - hash.Add(IsCorsPreflightRequest); + hash.Add(IsCorsPreflightRequest ? 1 : 0); hash.Add(HttpMethod, StringComparer.Ordinal); return hash; } From 0f5d471dfd90214612d27726d2e2c771c0aa88cd Mon Sep 17 00:00:00 2001 From: James Newton-King Date: Thu, 6 Sep 2018 12:58:57 +1200 Subject: [PATCH 157/221] Create collections on DfaNode as needed (#779) --- .../Internal/DfaGraphWriter.cs | 14 +- .../Matching/DfaMatcherBuilder.cs | 72 +++++--- .../Matching/DfaNode.cs | 76 ++++++-- .../Matching/DfaMatcherBuilderTest.cs | 166 ++++++++++++------ 4 files changed, 224 insertions(+), 104 deletions(-) diff --git a/src/Microsoft.AspNetCore.Routing/Internal/DfaGraphWriter.cs b/src/Microsoft.AspNetCore.Routing/Internal/DfaGraphWriter.cs index eb2d2f10ec..5a42cf493b 100644 --- a/src/Microsoft.AspNetCore.Routing/Internal/DfaGraphWriter.cs +++ b/src/Microsoft.AspNetCore.Routing/Internal/DfaGraphWriter.cs @@ -64,9 +64,12 @@ namespace Microsoft.AspNetCore.Routing.Internal // We can safely index into visited because this is a post-order traversal, // all of the children of this node are already in the dictionary. - foreach (var literal in node.Literals) + if (node.Literals != null) { - writer.WriteLine($"{label} -> {visited[literal.Value]} [label=\"/{literal.Key}\"]"); + foreach (var literal in node.Literals) + { + writer.WriteLine($"{label} -> {visited[literal.Value]} [label=\"/{literal.Key}\"]"); + } } if (node.Parameters != null) @@ -79,9 +82,12 @@ namespace Microsoft.AspNetCore.Routing.Internal writer.WriteLine($"{label} -> {visited[node.CatchAll]} [label=\"/**\"]"); } - foreach (var policy in node.PolicyEdges) + if (node.PolicyEdges != null) { - writer.WriteLine($"{label} -> {visited[policy.Value]} [label=\"{policy.Key}\"]"); + foreach (var policy in node.PolicyEdges) + { + writer.WriteLine($"{label} -> {visited[policy.Value]} [label=\"{policy.Key}\"]"); + } } writer.WriteLine($"{label} [label=\"{node.Label}\"]"); diff --git a/src/Microsoft.AspNetCore.Routing/Matching/DfaMatcherBuilder.cs b/src/Microsoft.AspNetCore.Routing/Matching/DfaMatcherBuilder.cs index abe57ab1e7..1573178b13 100644 --- a/src/Microsoft.AspNetCore.Routing/Matching/DfaMatcherBuilder.cs +++ b/src/Microsoft.AspNetCore.Routing/Matching/DfaMatcherBuilder.cs @@ -105,7 +105,7 @@ namespace Microsoft.AspNetCore.Routing.Matching for (var j = 0; j < parents.Count; j++) { var parent = parents[j]; - parent.Matches.Add(endpoint); + parent.AddMatch(endpoint); } } @@ -139,15 +139,17 @@ namespace Microsoft.AspNetCore.Routing.Matching var part = segment.Parts[0]; if (segment.IsSimple && part is RoutePatternLiteralPart literalPart) { + DfaNode next = null; var literal = literalPart.Content; - if (!parent.Literals.TryGetValue(literal, out var next)) + if (parent.Literals == null || + !parent.Literals.TryGetValue(literal, out next)) { next = new DfaNode() { PathDepth = parent.PathDepth + 1, Label = parent.Label + literal + "/", }; - parent.Literals.Add(literal, next); + parent.AddLiteral(literal, next); } nextParents.Add(next); @@ -157,7 +159,10 @@ namespace Microsoft.AspNetCore.Routing.Matching // A catch all should traverse all literal nodes as well as parameter nodes // we don't need to create the parameter node here because of ordering // all catchalls will be processed after all parameters. - nextParents.AddRange(parent.Literals.Values); + if (parent.Literals != null) + { + nextParents.AddRange(parent.Literals.Values); + } if (parent.Parameters != null) { nextParents.Add(parent.Parameters); @@ -181,7 +186,7 @@ namespace Microsoft.AspNetCore.Routing.Matching parent.CatchAll.CatchAll = parent.CatchAll; } - parent.CatchAll.Matches.Add(endpoint); + parent.CatchAll.AddMatch(endpoint); } else if (segment.IsSimple && part.IsParameter) { @@ -195,7 +200,10 @@ namespace Microsoft.AspNetCore.Routing.Matching } // A parameter should traverse all literal nodes as well as the parameter node - nextParents.AddRange(parent.Literals.Values); + if (parent.Literals != null) + { + nextParents.AddRange(parent.Literals.Values); + } nextParents.Add(parent.Parameters); } else @@ -213,7 +221,10 @@ namespace Microsoft.AspNetCore.Routing.Matching }; } - nextParents.AddRange(parent.Literals.Values); + if (parent.Literals != null) + { + nextParents.AddRange(parent.Literals.Values); + } nextParents.Add(parent.Parameters); } } @@ -311,7 +322,7 @@ namespace Microsoft.AspNetCore.Routing.Matching List states, List<(JumpTableBuilder pathBuilder, PolicyJumpTableBuilder policyBuilder)> tableBuilders) { - node.Matches.Sort(_comparer); + node.Matches?.Sort(_comparer); var stateIndex = states.Count; @@ -321,15 +332,18 @@ namespace Microsoft.AspNetCore.Routing.Matching var pathBuilder = new JumpTableBuilder(); tableBuilders.Add((pathBuilder, null)); - foreach (var kvp in node.Literals) + if (node.Literals != null) { - if (kvp.Key == null) + foreach (var kvp in node.Literals) { - continue; - } + if (kvp.Key == null) + { + continue; + } - var transition = Transition(kvp.Value); - pathBuilder.AddEntry(kvp.Key, transition); + var transition = Transition(kvp.Value); + pathBuilder.AddEntry(kvp.Key, transition); + } } if (node.Parameters != null && @@ -360,7 +374,7 @@ namespace Microsoft.AspNetCore.Routing.Matching pathBuilder.ExitDestination = pathBuilder.DefaultDestination; } - if (node.PolicyEdges.Count > 0) + if (node.PolicyEdges != null && node.PolicyEdges.Count > 0) { var policyBuilder = new PolicyJumpTableBuilder(node.NodeBuilder); tableBuilders[stateIndex] = (pathBuilder, policyBuilder); @@ -384,7 +398,7 @@ namespace Microsoft.AspNetCore.Routing.Matching // endpoint. internal Candidate[] CreateCandidates(IReadOnlyList endpoints) { - if (endpoints.Count == 0) + if (endpoints == null || endpoints.Count == 0) { return Array.Empty(); } @@ -502,7 +516,8 @@ namespace Microsoft.AspNetCore.Routing.Matching private int[] GetGroupLengths(DfaNode node) { - if (node.Matches.Count == 0) + var nodeMatches = node.Matches; + if (nodeMatches == null || nodeMatches.Count == 0) { return Array.Empty(); } @@ -510,16 +525,16 @@ namespace Microsoft.AspNetCore.Routing.Matching var groups = new List(); var length = 1; - var exemplar = node.Matches[0]; + var exemplar = nodeMatches[0]; - for (var i = 1; i < node.Matches.Count; i++) + for (var i = 1; i < nodeMatches.Count; i++) { - if (!_comparer.Equals(exemplar, node.Matches[i])) + if (!_comparer.Equals(exemplar, nodeMatches[i])) { groups.Add(length); length = 0; - exemplar = node.Matches[i]; + exemplar = nodeMatches[i]; } length++; @@ -561,7 +576,7 @@ namespace Microsoft.AspNetCore.Routing.Matching private void ApplyPolicies(DfaNode node) { - if (node.Matches.Count == 0) + if (node.Matches == null || node.Matches.Count == 0) { return; } @@ -578,7 +593,7 @@ namespace Microsoft.AspNetCore.Routing.Matching for (var j = 0; j < work.Count; j++) { var parent = work[j]; - if (!nodeBuilder.AppliesToNode(parent.Matches)) + if (!nodeBuilder.AppliesToNode(parent.Matches ?? (IReadOnlyList)Array.Empty())) { // This node-builder doesn't care about this node, so add it to the list // to be processed by the next node-builder. @@ -588,7 +603,7 @@ namespace Microsoft.AspNetCore.Routing.Matching // This node-builder does apply to this node, so we need to create new nodes for each edge, // and then attach them to the parent. - var edges = nodeBuilder.GetEdges(parent.Matches); + var edges = nodeBuilder.GetEdges(parent.Matches ?? (IReadOnlyList)Array.Empty()); for (var k = 0; k < edges.Count; k++) { var edge = edges[k]; @@ -598,17 +613,20 @@ namespace Microsoft.AspNetCore.Routing.Matching Label = parent.Label + " " + edge.State.ToString(), }; - next.Matches.AddRange(edge.Endpoints); + if (edge.Endpoints.Count > 0) + { + next.AddMatches(edge.Endpoints); + } nextWork.Add(next); - parent.PolicyEdges.Add(edge.State, next); + parent.AddPolicyEdge(edge.State, next); } // Associate the node-builder so we can build a jump table later. parent.NodeBuilder = nodeBuilder; // The parent no longer has matches, it's not considered a terminal node. - parent.Matches.Clear(); + parent.Matches?.Clear(); } work = nextWork; diff --git a/src/Microsoft.AspNetCore.Routing/Matching/DfaNode.cs b/src/Microsoft.AspNetCore.Routing/Matching/DfaNode.cs index e68c4909f7..f3f916b8e5 100644 --- a/src/Microsoft.AspNetCore.Routing/Matching/DfaNode.cs +++ b/src/Microsoft.AspNetCore.Routing/Matching/DfaNode.cs @@ -14,13 +14,6 @@ namespace Microsoft.AspNetCore.Routing.Matching [DebuggerDisplay("{DebuggerToString(),nq}")] internal class DfaNode { - public DfaNode() - { - Literals = new Dictionary(StringComparer.OrdinalIgnoreCase); - Matches = new List(); - PolicyEdges = new Dictionary(); - } - // The depth of the node. The depth indicates the number of segments // that must be processed to arrive at this node. // @@ -30,9 +23,9 @@ namespace Microsoft.AspNetCore.Routing.Matching // Just for diagnostics and debugging public string Label { get; set; } - public List Matches { get; } + public List Matches { get; private set; } - public Dictionary Literals { get; } + public Dictionary Literals { get; private set; } public DfaNode Parameters { get; set; } @@ -40,13 +33,58 @@ namespace Microsoft.AspNetCore.Routing.Matching public INodeBuilderPolicy NodeBuilder { get; set; } - public Dictionary PolicyEdges { get; } + public Dictionary PolicyEdges { get; private set; } + + public void AddPolicyEdge(object state, DfaNode node) + { + if (PolicyEdges == null) + { + PolicyEdges = new Dictionary(); + } + + PolicyEdges.Add(state, node); + } + + public void AddLiteral(string literal, DfaNode node) + { + if (Literals == null) + { + Literals = new Dictionary(StringComparer.OrdinalIgnoreCase); + } + + Literals.Add(literal, node); + } + + public void AddMatch(Endpoint endpoint) + { + if (Matches == null) + { + Matches = new List(); + } + + Matches.Add(endpoint); + } + + public void AddMatches(IEnumerable endpoints) + { + if (Matches == null) + { + Matches = new List(endpoints); + } + else + { + Matches.AddRange(endpoints); + } + } public void Visit(Action visitor) { - foreach (var kvp in Literals) + if (Literals != null) { - kvp.Value.Visit(visitor); + foreach (var kvp in Literals) + { + kvp.Value.Visit(visitor); + } } // Break cycles @@ -61,9 +99,12 @@ namespace Microsoft.AspNetCore.Routing.Matching CatchAll.Visit(visitor); } - foreach (var kvp in PolicyEdges) + if (PolicyEdges != null) { - kvp.Value.Visit(visitor); + foreach (var kvp in PolicyEdges) + { + kvp.Value.Visit(visitor); + } } visitor(this); @@ -76,9 +117,12 @@ namespace Microsoft.AspNetCore.Routing.Matching builder.Append(" d:"); builder.Append(PathDepth); builder.Append(" m:"); - builder.Append(Matches.Count); + builder.Append(Matches?.Count ?? 0); builder.Append(" c: "); - builder.Append(string.Join(", ", Literals.Select(kvp => $"{kvp.Key}->({FormatNode(kvp.Value)})"))); + if (Literals != null) + { + builder.Append(string.Join(", ", Literals.Select(kvp => $"{kvp.Key}->({FormatNode(kvp.Value)})"))); + } return builder.ToString(); // DfaNodes can be self-referential, don't traverse cycles. diff --git a/test/Microsoft.AspNetCore.Routing.Tests/Matching/DfaMatcherBuilderTest.cs b/test/Microsoft.AspNetCore.Routing.Tests/Matching/DfaMatcherBuilderTest.cs index a9071c7962..10c0aec62e 100644 --- a/test/Microsoft.AspNetCore.Routing.Tests/Matching/DfaMatcherBuilderTest.cs +++ b/test/Microsoft.AspNetCore.Routing.Tests/Matching/DfaMatcherBuilderTest.cs @@ -30,7 +30,7 @@ namespace Microsoft.AspNetCore.Routing.Matching // Assert Assert.Same(endpoint, Assert.Single(root.Matches)); Assert.Null(root.Parameters); - Assert.Empty(root.Literals); + Assert.Null(root.Literals); } [Fact] @@ -46,21 +46,21 @@ namespace Microsoft.AspNetCore.Routing.Matching var root = builder.BuildDfaTree(); // Assert - Assert.Empty(root.Matches); + Assert.Null(root.Matches); Assert.Null(root.Parameters); var next = Assert.Single(root.Literals); Assert.Equal("a", next.Key); var a = next.Value; - Assert.Empty(a.Matches); + Assert.Null(a.Matches); Assert.Null(a.Parameters); next = Assert.Single(a.Literals); Assert.Equal("b", next.Key); var b = next.Value; - Assert.Empty(b.Matches); + Assert.Null(b.Matches); Assert.Null(b.Parameters); next = Assert.Single(b.Literals); @@ -69,7 +69,7 @@ namespace Microsoft.AspNetCore.Routing.Matching var c = next.Value; Assert.Same(endpoint, Assert.Single(c.Matches)); Assert.Null(c.Parameters); - Assert.Empty(c.Literals); + Assert.Null(c.Literals); } [Fact] @@ -85,21 +85,21 @@ namespace Microsoft.AspNetCore.Routing.Matching var root = builder.BuildDfaTree(); // Assert - Assert.Empty(root.Matches); - Assert.Empty(root.Literals); + Assert.Null(root.Matches); + Assert.Null(root.Literals); var a = root.Parameters; - Assert.Empty(a.Matches); - Assert.Empty(a.Literals); + Assert.Null(a.Matches); + Assert.Null(a.Literals); var b = a.Parameters; - Assert.Empty(b.Matches); - Assert.Empty(b.Literals); + Assert.Null(b.Matches); + Assert.Null(b.Literals); var c = b.Parameters; Assert.Same(endpoint, Assert.Single(c.Matches)); Assert.Null(c.Parameters); - Assert.Empty(c.Literals); + Assert.Null(c.Literals); } [Fact] @@ -115,21 +115,21 @@ namespace Microsoft.AspNetCore.Routing.Matching var root = builder.BuildDfaTree(); // Assert - Assert.Empty(root.Matches); - Assert.Empty(root.Literals); + Assert.Null(root.Matches); + Assert.Null(root.Literals); var a = root.Parameters; // The catch all can match a path like '/a' Assert.Same(endpoint, Assert.Single(a.Matches)); - Assert.Empty(a.Literals); + Assert.Null(a.Literals); Assert.Null(a.Parameters); // Catch-all nodes include an extra transition that loops to process // extra segments. var catchAll = a.CatchAll; Assert.Same(endpoint, Assert.Single(catchAll.Matches)); - Assert.Empty(catchAll.Literals); + Assert.Null(catchAll.Literals); Assert.Same(catchAll, catchAll.Parameters); Assert.Same(catchAll, catchAll.CatchAll); } @@ -148,13 +148,13 @@ namespace Microsoft.AspNetCore.Routing.Matching // Assert Assert.Same(endpoint, Assert.Single(root.Matches)); - Assert.Empty(root.Literals); + Assert.Null(root.Literals); // Catch-all nodes include an extra transition that loops to process // extra segments. var catchAll = root.CatchAll; Assert.Same(endpoint, Assert.Single(catchAll.Matches)); - Assert.Empty(catchAll.Literals); + Assert.Null(catchAll.Literals); Assert.Same(catchAll, catchAll.Parameters); } @@ -174,19 +174,19 @@ namespace Microsoft.AspNetCore.Routing.Matching var root = builder.BuildDfaTree(); // Assert - Assert.Empty(root.Matches); + Assert.Null(root.Matches); Assert.Null(root.Parameters); var next = Assert.Single(root.Literals); Assert.Equal("a", next.Key); var a = next.Value; - Assert.Empty(a.Matches); + Assert.Null(a.Matches); Assert.Equal(2, a.Literals.Count); var b1 = a.Literals["b1"]; - Assert.Empty(b1.Matches); + Assert.Null(b1.Matches); Assert.Null(b1.Parameters); next = Assert.Single(b1.Literals); @@ -195,10 +195,10 @@ namespace Microsoft.AspNetCore.Routing.Matching var c1 = next.Value; Assert.Same(endpoint1, Assert.Single(c1.Matches)); Assert.Null(c1.Parameters); - Assert.Empty(c1.Literals); + Assert.Null(c1.Literals); var b2 = a.Literals["b2"]; - Assert.Empty(b2.Matches); + Assert.Null(b2.Matches); Assert.Null(b2.Parameters); next = Assert.Single(b2.Literals); @@ -207,7 +207,59 @@ namespace Microsoft.AspNetCore.Routing.Matching var c2 = next.Value; Assert.Same(endpoint2, Assert.Single(c2.Matches)); Assert.Null(c2.Parameters); - Assert.Empty(c2.Literals); + Assert.Null(c2.Literals); + } + + [Fact] + public void BuildDfaTree_MultipleEndpoint_LiteralDifferentCase() + { + // Arrange + var builder = CreateDfaMatcherBuilder(); + + var endpoint1 = CreateEndpoint("a/b1/c"); + builder.AddEndpoint(endpoint1); + + var endpoint2 = CreateEndpoint("A/b2/c"); + builder.AddEndpoint(endpoint2); + + // Act + var root = builder.BuildDfaTree(); + + // Assert + Assert.Null(root.Matches); + Assert.Null(root.Parameters); + + var next = Assert.Single(root.Literals); + Assert.Equal("a", next.Key); + + var a = next.Value; + Assert.Null(a.Matches); + + Assert.Equal(2, a.Literals.Count); + + var b1 = a.Literals["b1"]; + Assert.Null(b1.Matches); + Assert.Null(b1.Parameters); + + next = Assert.Single(b1.Literals); + Assert.Equal("c", next.Key); + + var c1 = next.Value; + Assert.Same(endpoint1, Assert.Single(c1.Matches)); + Assert.Null(c1.Parameters); + Assert.Null(c1.Literals); + + var b2 = a.Literals["b2"]; + Assert.Null(b2.Matches); + Assert.Null(b2.Parameters); + + next = Assert.Single(b2.Literals); + Assert.Equal("c", next.Key); + + var c2 = next.Value; + Assert.Same(endpoint2, Assert.Single(c2.Matches)); + Assert.Null(c2.Parameters); + Assert.Null(c2.Literals); } [Fact] @@ -226,20 +278,20 @@ namespace Microsoft.AspNetCore.Routing.Matching var root = builder.BuildDfaTree(); // Assert - Assert.Empty(root.Matches); + Assert.Null(root.Matches); Assert.Null(root.Parameters); var next = Assert.Single(root.Literals); Assert.Equal("a", next.Key); var a = next.Value; - Assert.Empty(a.Matches); + Assert.Null(a.Matches); next = Assert.Single(a.Literals); Assert.Equal("b", next.Key); var b = next.Value; - Assert.Empty(b.Matches); + Assert.Null(b.Matches); Assert.Null(b.Parameters); next = Assert.Single(b.Literals); @@ -251,10 +303,10 @@ namespace Microsoft.AspNetCore.Routing.Matching e => Assert.Same(endpoint1, e), e => Assert.Same(endpoint2, e)); Assert.Null(c1.Parameters); - Assert.Empty(c1.Literals); + Assert.Null(c1.Literals); var b2 = a.Parameters; - Assert.Empty(b2.Matches); + Assert.Null(b2.Matches); Assert.Null(b2.Parameters); next = Assert.Single(b2.Literals); @@ -263,7 +315,7 @@ namespace Microsoft.AspNetCore.Routing.Matching var c2 = next.Value; Assert.Same(endpoint2, Assert.Single(c2.Matches)); Assert.Null(c2.Parameters); - Assert.Empty(c2.Literals); + Assert.Null(c2.Literals); } [Fact] @@ -282,18 +334,18 @@ namespace Microsoft.AspNetCore.Routing.Matching var root = builder.BuildDfaTree(); // Assert - Assert.Empty(root.Matches); + Assert.Null(root.Matches); Assert.Null(root.Parameters); var next = Assert.Single(root.Literals); Assert.Equal("a", next.Key); var a = next.Value; - Assert.Empty(a.Matches); - Assert.Empty(a.Literals); + Assert.Null(a.Matches); + Assert.Null(a.Literals); var b = a.Parameters; - Assert.Empty(b.Matches); + Assert.Null(b.Matches); Assert.Null(b.Parameters); next = Assert.Single(b.Literals); @@ -305,7 +357,7 @@ namespace Microsoft.AspNetCore.Routing.Matching e => Assert.Same(endpoint1, e), e => Assert.Same(endpoint2, e)); Assert.Null(c.Parameters); - Assert.Empty(c.Literals); + Assert.Null(c.Literals); } [Fact] @@ -324,7 +376,7 @@ namespace Microsoft.AspNetCore.Routing.Matching var root = builder.BuildDfaTree(); // Assert - Assert.Empty(root.Matches); + Assert.Null(root.Matches); Assert.Null(root.Parameters); var next = Assert.Single(root.Literals); @@ -349,7 +401,7 @@ namespace Microsoft.AspNetCore.Routing.Matching e => Assert.Same(endpoint1, e), e => Assert.Same(endpoint2, e)); Assert.Null(c1.Parameters); - Assert.Empty(c1.Literals); + Assert.Null(c1.Literals); var catchAll = a.CatchAll; Assert.Same(endpoint2, Assert.Single(catchAll.Matches)); @@ -373,7 +425,7 @@ namespace Microsoft.AspNetCore.Routing.Matching var root = builder.BuildDfaTree(); // Assert - Assert.Empty(root.Matches); + Assert.Null(root.Matches); Assert.Null(root.Parameters); var next = Assert.Single(root.Literals); @@ -381,7 +433,7 @@ namespace Microsoft.AspNetCore.Routing.Matching var a = next.Value; Assert.Same(endpoint2, Assert.Single(a.Matches)); - Assert.Empty(a.Literals); + Assert.Null(a.Literals); var b1 = a.Parameters; Assert.Same(endpoint2, Assert.Single(a.Matches)); @@ -396,7 +448,7 @@ namespace Microsoft.AspNetCore.Routing.Matching e => Assert.Same(endpoint1, e), e => Assert.Same(endpoint2, e)); Assert.Null(c1.Parameters); - Assert.Empty(c1.Literals); + Assert.Null(c1.Literals); var catchAll = a.CatchAll; Assert.Same(endpoint2, Assert.Single(catchAll.Matches)); @@ -417,7 +469,7 @@ namespace Microsoft.AspNetCore.Routing.Matching var root = builder.BuildDfaTree(); // Assert - Assert.Empty(root.Matches); + Assert.Null(root.Matches); Assert.Null(root.Parameters); var next = Assert.Single(root.Literals); @@ -440,7 +492,7 @@ namespace Microsoft.AspNetCore.Routing.Matching var test2_true = test1_0.PolicyEdges[true]; Assert.Same(endpoint1, Assert.Single(test2_true.Matches)); Assert.Null(test2_true.NodeBuilder); - Assert.Empty(test2_true.PolicyEdges); + Assert.Null(test2_true.PolicyEdges); } [Fact] @@ -462,7 +514,7 @@ namespace Microsoft.AspNetCore.Routing.Matching var root = builder.BuildDfaTree(); // Assert - Assert.Empty(root.Matches); + Assert.Null(root.Matches); Assert.Null(root.Parameters); var next = Assert.Single(root.Literals); @@ -486,7 +538,7 @@ namespace Microsoft.AspNetCore.Routing.Matching var test2_true = test1_0.PolicyEdges[true]; Assert.Same(endpoint1, Assert.Single(test2_true.Matches)); Assert.Null(test2_true.NodeBuilder); - Assert.Empty(test2_true.PolicyEdges); + Assert.Null(test2_true.PolicyEdges); var test1_1 = a.PolicyEdges[1]; Assert.Empty(test1_1.Matches); @@ -499,12 +551,12 @@ namespace Microsoft.AspNetCore.Routing.Matching test2_true = test1_1.PolicyEdges[true]; Assert.Same(endpoint2, Assert.Single(test2_true.Matches)); Assert.Null(test2_true.NodeBuilder); - Assert.Empty(test2_true.PolicyEdges); + Assert.Null(test2_true.PolicyEdges); var test2_false = test1_1.PolicyEdges[false]; Assert.Same(endpoint3, Assert.Single(test2_false.Matches)); Assert.Null(test2_false.NodeBuilder); - Assert.Empty(test2_false.PolicyEdges); + Assert.Null(test2_false.PolicyEdges); } [Fact] @@ -526,7 +578,7 @@ namespace Microsoft.AspNetCore.Routing.Matching var root = builder.BuildDfaTree(); // Assert - Assert.Empty(root.Matches); + Assert.Null(root.Matches); Assert.Null(root.Parameters); var next = Assert.Single(root.Literals); @@ -543,12 +595,12 @@ namespace Microsoft.AspNetCore.Routing.Matching var test2_true = a.PolicyEdges[true]; Assert.Equal(new[] { endpoint1, endpoint2, }, test2_true.Matches); Assert.Null(test2_true.NodeBuilder); - Assert.Empty(test2_true.PolicyEdges); + Assert.Null(test2_true.PolicyEdges); var test2_false = a.PolicyEdges[false]; Assert.Equal(new[] { endpoint3, }, test2_false.Matches); Assert.Null(test2_false.NodeBuilder); - Assert.Empty(test2_false.PolicyEdges); + Assert.Null(test2_false.PolicyEdges); } [Fact] @@ -570,7 +622,7 @@ namespace Microsoft.AspNetCore.Routing.Matching var root = builder.BuildDfaTree(); // Assert - Assert.Empty(root.Matches); + Assert.Null(root.Matches); Assert.Null(root.Parameters); var next = Assert.Single(root.Literals); @@ -587,12 +639,12 @@ namespace Microsoft.AspNetCore.Routing.Matching var test1_0 = a.PolicyEdges[0]; Assert.Equal(new[] { endpoint1, }, test1_0.Matches); Assert.Null(test1_0.NodeBuilder); - Assert.Empty(test1_0.PolicyEdges); + Assert.Null(test1_0.PolicyEdges); var test1_1 = a.PolicyEdges[1]; Assert.Equal(new[] { endpoint2, endpoint3, }, test1_1.Matches); Assert.Null(test1_1.NodeBuilder); - Assert.Empty(test1_1.PolicyEdges); + Assert.Null(test1_1.PolicyEdges); } [Fact] @@ -614,7 +666,7 @@ namespace Microsoft.AspNetCore.Routing.Matching var root = builder.BuildDfaTree(); // Assert - Assert.Empty(root.Matches); + Assert.Null(root.Matches); Assert.Null(root.Parameters); var next = Assert.Single(root.Literals); @@ -632,12 +684,12 @@ namespace Microsoft.AspNetCore.Routing.Matching var test1_0 = a.PolicyEdges[0]; Assert.Equal(new[] { endpoint1, }, test1_0.Matches); Assert.Null(test1_0.NodeBuilder); - Assert.Empty(test1_0.PolicyEdges); + Assert.Null(test1_0.PolicyEdges); var test1_1 = a.PolicyEdges[1]; Assert.Equal(new[] { endpoint2, endpoint3, }, test1_1.Matches); Assert.Null(test1_1.NodeBuilder); - Assert.Empty(test1_1.PolicyEdges); + Assert.Null(test1_1.PolicyEdges); var nonRouteEndpoint = a.PolicyEdges[int.MaxValue]; Assert.Equal("MaxValueEndpoint", Assert.Single(nonRouteEndpoint.Matches).DisplayName); @@ -662,7 +714,7 @@ namespace Microsoft.AspNetCore.Routing.Matching var root = builder.BuildDfaTree(); // Assert - Assert.Empty(root.Matches); + Assert.Null(root.Matches); Assert.Null(root.Parameters); var next = Assert.Single(root.Literals); @@ -671,7 +723,7 @@ namespace Microsoft.AspNetCore.Routing.Matching var a = next.Value; Assert.Equal(new[] { endpoint1, endpoint2, endpoint3, }, a.Matches); Assert.Null(a.NodeBuilder); - Assert.Empty(a.PolicyEdges); + Assert.Null(a.PolicyEdges); } [Fact] From abc378d3dc55f2070d852d055d66748159d3294d Mon Sep 17 00:00:00 2001 From: James Newton-King Date: Thu, 6 Sep 2018 13:10:17 +1200 Subject: [PATCH 158/221] Avoid resizing large struct arrays (#767) --- .../Matching/DfaMatcherBuilder.cs | 53 ++++++++++++------- 1 file changed, 35 insertions(+), 18 deletions(-) diff --git a/src/Microsoft.AspNetCore.Routing/Matching/DfaMatcherBuilder.cs b/src/Microsoft.AspNetCore.Routing/Matching/DfaMatcherBuilder.cs index 1573178b13..5e06a36a5c 100644 --- a/src/Microsoft.AspNetCore.Routing/Matching/DfaMatcherBuilder.cs +++ b/src/Microsoft.AspNetCore.Routing/Matching/DfaMatcherBuilder.cs @@ -26,6 +26,8 @@ namespace Microsoft.AspNetCore.Routing.Matching private readonly List<(RoutePatternPathSegment pathSegment, int segmentIndex)> _complexSegments; private readonly List> _constraints; + private int _stateIndex; + public DfaMatcherBuilder( ParameterPolicyFactory parameterPolicyFactory, EndpointSelector selector, @@ -273,22 +275,29 @@ namespace Microsoft.AspNetCore.Routing.Matching { var root = BuildDfaTree(); + // State count is the number of nodes plus an exit state + var stateCount = 1; var maxSegmentCount = 0; - root.Visit((node) => maxSegmentCount = Math.Max(maxSegmentCount, node.PathDepth)); + root.Visit((node) => + { + stateCount++; + maxSegmentCount = Math.Max(maxSegmentCount, node.PathDepth); + }); + _stateIndex = 0; // The max segment count is the maximum path-node-depth +1. We need // the +1 to capture any additional content after the 'last' segment. maxSegmentCount++; - var states = new List(); - var tableBuilders = new List<(JumpTableBuilder pathBuilder, PolicyJumpTableBuilder policyBuilder)>(); + var states = new DfaState[stateCount]; + var tableBuilders = new (JumpTableBuilder pathBuilder, PolicyJumpTableBuilder policyBuilder)[stateCount]; AddNode(root, states, tableBuilders); - var exit = states.Count; - states.Add(new DfaState(Array.Empty(), null, null)); - tableBuilders.Add((new JumpTableBuilder() { DefaultDestination = exit, ExitDestination = exit, }, null)); + var exit = stateCount - 1; + states[exit] = new DfaState(Array.Empty(), null, null); + tableBuilders[exit] = (new JumpTableBuilder() { DefaultDestination = exit, ExitDestination = exit, }, null); - for (var i = 0; i < tableBuilders.Count; i++) + for (var i = 0; i < tableBuilders.Length; i++) { if (tableBuilders[i].pathBuilder?.DefaultDestination == JumpTableBuilder.InvalidDestination) { @@ -306,31 +315,31 @@ namespace Microsoft.AspNetCore.Routing.Matching } } - for (var i = 0; i < states.Count; i++) + for (var i = 0; i < states.Length; i++) { states[i] = new DfaState( - states[i].Candidates, + states[i].Candidates, tableBuilders[i].pathBuilder?.Build(), tableBuilders[i].policyBuilder?.Build()); } - return new DfaMatcher(_selector, states.ToArray(), maxSegmentCount); + return new DfaMatcher(_selector, states, maxSegmentCount); } private int AddNode( DfaNode node, - List states, - List<(JumpTableBuilder pathBuilder, PolicyJumpTableBuilder policyBuilder)> tableBuilders) + DfaState[] states, + (JumpTableBuilder pathBuilder, PolicyJumpTableBuilder policyBuilder)[] tableBuilders) { node.Matches?.Sort(_comparer); - var stateIndex = states.Count; + var currentStateIndex = _stateIndex; var candidates = CreateCandidates(node.Matches); - states.Add(new DfaState(candidates, null, null)); + states[currentStateIndex] = new DfaState(candidates, null, null); var pathBuilder = new JumpTableBuilder(); - tableBuilders.Add((pathBuilder, null)); + tableBuilders[currentStateIndex] = (pathBuilder, null); if (node.Literals != null) { @@ -377,7 +386,7 @@ namespace Microsoft.AspNetCore.Routing.Matching if (node.PolicyEdges != null && node.PolicyEdges.Count > 0) { var policyBuilder = new PolicyJumpTableBuilder(node.NodeBuilder); - tableBuilders[stateIndex] = (pathBuilder, policyBuilder); + tableBuilders[currentStateIndex] = (pathBuilder, policyBuilder); foreach (var kvp in node.PolicyEdges) { @@ -385,12 +394,20 @@ namespace Microsoft.AspNetCore.Routing.Matching } } - return stateIndex; + return currentStateIndex; int Transition(DfaNode next) { // Break cycles - return ReferenceEquals(node, next) ? stateIndex : AddNode(next, states, tableBuilders); + if (ReferenceEquals(node, next)) + { + return _stateIndex; + } + else + { + _stateIndex++; + return AddNode(next, states, tableBuilders); + } } } From fe8c6332245f2aeb67d35f488671e95b465befd1 Mon Sep 17 00:00:00 2001 From: James Newton-King Date: Thu, 6 Sep 2018 13:25:35 +1200 Subject: [PATCH 159/221] Optimize builder and HTTP policy allocations (#768) --- .../Matching/DfaMatcherBuilder.cs | 96 ++++++++----------- .../Matching/HttpMethodMatcherPolicy.cs | 24 ++++- .../Matching/JumpTableBuilder.cs | 50 ++++------ .../Matching/PolicyJumpTableBuilder.cs | 32 ------- 4 files changed, 79 insertions(+), 123 deletions(-) delete mode 100644 src/Microsoft.AspNetCore.Routing/Matching/PolicyJumpTableBuilder.cs diff --git a/src/Microsoft.AspNetCore.Routing/Matching/DfaMatcherBuilder.cs b/src/Microsoft.AspNetCore.Routing/Matching/DfaMatcherBuilder.cs index 5e06a36a5c..3592918a9a 100644 --- a/src/Microsoft.AspNetCore.Routing/Matching/DfaMatcherBuilder.cs +++ b/src/Microsoft.AspNetCore.Routing/Matching/DfaMatcherBuilder.cs @@ -64,7 +64,7 @@ namespace Microsoft.AspNetCore.Routing.Matching // Since we're doing a BFS we will process each 'level' of the tree in stages // this list will hold the set of items we need to process at the current // stage. - var work = new List<(RouteEndpoint endpoint, List parents)>(); + var work = new List<(RouteEndpoint endpoint, List parents)>(_endpoints.Count); List<(RouteEndpoint endpoint, List parents)> previousWork = null; var root = new DfaNode() { PathDepth = 0, Label = "/" }; @@ -290,38 +290,13 @@ namespace Microsoft.AspNetCore.Routing.Matching maxSegmentCount++; var states = new DfaState[stateCount]; - var tableBuilders = new (JumpTableBuilder pathBuilder, PolicyJumpTableBuilder policyBuilder)[stateCount]; - AddNode(root, states, tableBuilders); + var exitDestination = stateCount - 1; + AddNode(root, states, exitDestination); - var exit = stateCount - 1; - states[exit] = new DfaState(Array.Empty(), null, null); - tableBuilders[exit] = (new JumpTableBuilder() { DefaultDestination = exit, ExitDestination = exit, }, null); - - for (var i = 0; i < tableBuilders.Length; i++) - { - if (tableBuilders[i].pathBuilder?.DefaultDestination == JumpTableBuilder.InvalidDestination) - { - tableBuilders[i].pathBuilder.DefaultDestination = exit; - } - - if (tableBuilders[i].pathBuilder?.ExitDestination == JumpTableBuilder.InvalidDestination) - { - tableBuilders[i].pathBuilder.ExitDestination = exit; - } - - if (tableBuilders[i].policyBuilder?.ExitDestination == JumpTableBuilder.InvalidDestination) - { - tableBuilders[i].policyBuilder.ExitDestination = exit; - } - } - - for (var i = 0; i < states.Length; i++) - { - states[i] = new DfaState( - states[i].Candidates, - tableBuilders[i].pathBuilder?.Build(), - tableBuilders[i].policyBuilder?.Build()); - } + states[exitDestination] = new DfaState( + Array.Empty(), + JumpTableBuilder.Build(exitDestination, exitDestination, null), + null); return new DfaMatcher(_selector, states, maxSegmentCount); } @@ -329,29 +304,26 @@ namespace Microsoft.AspNetCore.Routing.Matching private int AddNode( DfaNode node, DfaState[] states, - (JumpTableBuilder pathBuilder, PolicyJumpTableBuilder policyBuilder)[] tableBuilders) + int exitDestination) { node.Matches?.Sort(_comparer); var currentStateIndex = _stateIndex; - var candidates = CreateCandidates(node.Matches); - states[currentStateIndex] = new DfaState(candidates, null, null); - - var pathBuilder = new JumpTableBuilder(); - tableBuilders[currentStateIndex] = (pathBuilder, null); + var currentDefaultDestination = exitDestination; + var currentExitDestination = exitDestination; + (string text, int destination)[] pathEntries = null; + PolicyJumpTableEdge[] policyEntries = null; if (node.Literals != null) { + pathEntries = new (string text, int destination)[node.Literals.Count]; + + var index = 0; foreach (var kvp in node.Literals) { - if (kvp.Key == null) - { - continue; - } - var transition = Transition(kvp.Value); - pathBuilder.AddEntry(kvp.Key, transition); + pathEntries[index++] = (kvp.Key, transition); } } @@ -361,39 +333,43 @@ namespace Microsoft.AspNetCore.Routing.Matching { // This node has a single transition to but it should accept zero-width segments // this can happen when a node only has catchall parameters. - pathBuilder.DefaultDestination = Transition(node.Parameters); - pathBuilder.ExitDestination = pathBuilder.DefaultDestination; + currentExitDestination = currentDefaultDestination = Transition(node.Parameters); } else if (node.Parameters != null && node.CatchAll != null) { // This node has a separate transition for zero-width segments // this can happen when a node has both parameters and catchall parameters. - pathBuilder.DefaultDestination = Transition(node.Parameters); - pathBuilder.ExitDestination = Transition(node.CatchAll); + currentDefaultDestination = Transition(node.Parameters); + currentExitDestination = Transition(node.CatchAll); } else if (node.Parameters != null) { // This node has paramters but no catchall. - pathBuilder.DefaultDestination = Transition(node.Parameters); + currentDefaultDestination = Transition(node.Parameters); } else if (node.CatchAll != null) { // This node has a catchall but no parameters - pathBuilder.DefaultDestination = Transition(node.CatchAll); - pathBuilder.ExitDestination = pathBuilder.DefaultDestination; + currentExitDestination = currentDefaultDestination = Transition(node.CatchAll); } if (node.PolicyEdges != null && node.PolicyEdges.Count > 0) { - var policyBuilder = new PolicyJumpTableBuilder(node.NodeBuilder); - tableBuilders[currentStateIndex] = (pathBuilder, policyBuilder); + policyEntries = new PolicyJumpTableEdge[node.PolicyEdges.Count]; + var index = 0; foreach (var kvp in node.PolicyEdges) { - policyBuilder.AddEntry(kvp.Key, Transition(kvp.Value)); + policyEntries[index++] = new PolicyJumpTableEdge(kvp.Key, Transition(kvp.Value)); } } + var candidates = CreateCandidates(node.Matches); + states[currentStateIndex] = new DfaState( + candidates, + JumpTableBuilder.Build(currentDefaultDestination, currentExitDestination, pathEntries), + BuildPolicy(currentExitDestination, node.NodeBuilder, policyEntries)); + return currentStateIndex; int Transition(DfaNode next) @@ -406,11 +382,21 @@ namespace Microsoft.AspNetCore.Routing.Matching else { _stateIndex++; - return AddNode(next, states, tableBuilders); + return AddNode(next, states, exitDestination); } } } + private static PolicyJumpTable BuildPolicy(int exitDestination, INodeBuilderPolicy nodeBuilder, PolicyJumpTableEdge[] policyEntries) + { + if (policyEntries == null) + { + return null; + } + + return nodeBuilder.BuildJumpTable(exitDestination, policyEntries); + } + // Builds an array of candidates for a node, assigns a 'score' for each // endpoint. internal Candidate[] CreateCandidates(IReadOnlyList endpoints) diff --git a/src/Microsoft.AspNetCore.Routing/Matching/HttpMethodMatcherPolicy.cs b/src/Microsoft.AspNetCore.Routing/Matching/HttpMethodMatcherPolicy.cs index d51c51c2ba..652a290230 100644 --- a/src/Microsoft.AspNetCore.Routing/Matching/HttpMethodMatcherPolicy.cs +++ b/src/Microsoft.AspNetCore.Routing/Matching/HttpMethodMatcherPolicy.cs @@ -80,7 +80,7 @@ namespace Microsoft.AspNetCore.Routing.Matching // // For now we're just building up the set of keys. We don't add any endpoints // to lists now because we don't want ordering problems. - var allHttpMethods = new HashSet(StringComparer.OrdinalIgnoreCase); + var allHttpMethods = new List(); var edges = new Dictionary>(); for (var i = 0; i < endpoints.Count; i++) { @@ -120,11 +120,16 @@ namespace Microsoft.AspNetCore.Routing.Matching // Also if it's not the *any* method key, then track it. if (!string.Equals(AnyMethod, httpMethod, StringComparison.OrdinalIgnoreCase)) { - allHttpMethods.Add(httpMethod); + if (!ContainsHttpMethod(allHttpMethods, httpMethod)) + { + allHttpMethods.Add(httpMethod); + } } } } + allHttpMethods.Sort(StringComparer.OrdinalIgnoreCase); + // Now in a second loop, add endpoints to these lists. We've enumerated all of // the states, so we want to see which states this endpoint matches. for (var i = 0; i < endpoints.Count; i++) @@ -185,7 +190,7 @@ namespace Microsoft.AspNetCore.Routing.Matching if (!edges.TryGetValue(new EdgeKey(AnyMethod, false), out var matches)) { // Methods sorted for testability. - var endpoint = CreateRejectionEndpoint(allHttpMethods.OrderBy(m => m)); + var endpoint = CreateRejectionEndpoint(allHttpMethods); matches = new List() { endpoint, }; edges[new EdgeKey(AnyMethod, false)] = matches; } @@ -261,6 +266,19 @@ namespace Microsoft.AspNetCore.Routing.Matching Http405EndpointDisplayName); } + private static bool ContainsHttpMethod(List httpMethods, string httpMethod) + { + for (var i = 0; i < httpMethods.Count; i++) + { + if (StringComparer.OrdinalIgnoreCase.Equals(httpMethods[i], httpMethod)) + { + return true; + } + } + + return false; + } + private class HttpMethodPolicyJumpTable : PolicyJumpTable { private readonly int _exitDestination; diff --git a/src/Microsoft.AspNetCore.Routing/Matching/JumpTableBuilder.cs b/src/Microsoft.AspNetCore.Routing/Matching/JumpTableBuilder.cs index dcd5e3abc3..69939ffeeb 100644 --- a/src/Microsoft.AspNetCore.Routing/Matching/JumpTableBuilder.cs +++ b/src/Microsoft.AspNetCore.Routing/Matching/JumpTableBuilder.cs @@ -2,39 +2,24 @@ // Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information. using System; -using System.Collections.Generic; namespace Microsoft.AspNetCore.Routing.Matching { - internal class JumpTableBuilder + internal static class JumpTableBuilder { public static readonly int InvalidDestination = -1; - private readonly List<(string text, int destination)> _entries = new List<(string text, int destination)>(); - - // The destination state when none of the text entries match. - public int DefaultDestination { get; set; } = InvalidDestination; - - // The destination state for a zero-length segment. This is a special - // case because parameters don't match a zero-length segment. - public int ExitDestination { get; set; } = InvalidDestination; - - public void AddEntry(string text, int destination) + public static JumpTable Build(int defaultDestination, int exitDestination, (string text, int destination)[] pathEntries) { - _entries.Add((text, destination)); - } - - public JumpTable Build() - { - if (DefaultDestination == InvalidDestination) + if (defaultDestination == InvalidDestination) { - var message = $"{nameof(DefaultDestination)} is not set. Please report this as a bug."; + var message = $"{nameof(defaultDestination)} is not set. Please report this as a bug."; throw new InvalidOperationException(message); } - if (ExitDestination == InvalidDestination) + if (exitDestination == InvalidDestination) { - var message = $"{nameof(ExitDestination)} is not set. Please report this as a bug."; + var message = $"{nameof(exitDestination)} is not set. Please report this as a bug."; throw new InvalidOperationException(message); } @@ -49,16 +34,16 @@ namespace Microsoft.AspNetCore.Routing.Matching // We have an optimized fast path for zero entries since we don't have to // do any string comparisons. - if (_entries.Count == 0) + if (pathEntries == null || pathEntries.Length == 0) { - return new ZeroEntryJumpTable(DefaultDestination, ExitDestination); + return new ZeroEntryJumpTable(defaultDestination, exitDestination); } // The IL Emit jump table is not faster for a single entry - if (_entries.Count == 1) + if (pathEntries.Length == 1) { - var entry = _entries[0]; - return new SingleEntryJumpTable(DefaultDestination, ExitDestination, entry.text, entry.destination); + var entry = pathEntries[0]; + return new SingleEntryJumpTable(defaultDestination, exitDestination, entry.text, entry.destination); } // We choose a hard upper bound of 100 as the limit for when we switch to a dictionary @@ -72,9 +57,9 @@ namespace Microsoft.AspNetCore.Routing.Matching // Additionally if we're on 32bit, the scalability is worse, so switch to the dictionary at 50 // entries. var threshold = IntPtr.Size == 8 ? 100 : 50; - if (_entries.Count >= threshold) + if (pathEntries.Length >= threshold) { - return new DictionaryJumpTable(DefaultDestination, ExitDestination, _entries.ToArray()); + return new DictionaryJumpTable(defaultDestination, exitDestination, pathEntries); } // If we have more than a single string, the IL emit strategy is the fastest - but we need to decide @@ -82,18 +67,17 @@ namespace Microsoft.AspNetCore.Routing.Matching JumpTable fallback; // Based on our testing a linear search is still faster than a dictionary at ten entries. - if (_entries.Count <= 10) + if (pathEntries.Length <= 10) { - fallback = new LinearSearchJumpTable(DefaultDestination, ExitDestination, _entries.ToArray()); + fallback = new LinearSearchJumpTable(defaultDestination, exitDestination, pathEntries); } else { - fallback = new DictionaryJumpTable(DefaultDestination, ExitDestination, _entries.ToArray()); + fallback = new DictionaryJumpTable(defaultDestination, exitDestination, pathEntries); } #if IL_EMIT - - return new ILEmitTrieJumpTable(DefaultDestination, ExitDestination, _entries.ToArray(), vectorize: null, fallback); + return new ILEmitTrieJumpTable(defaultDestination, exitDestination, pathEntries, vectorize: null, fallback); #else return fallback; #endif diff --git a/src/Microsoft.AspNetCore.Routing/Matching/PolicyJumpTableBuilder.cs b/src/Microsoft.AspNetCore.Routing/Matching/PolicyJumpTableBuilder.cs deleted file mode 100644 index f533a9813c..0000000000 --- a/src/Microsoft.AspNetCore.Routing/Matching/PolicyJumpTableBuilder.cs +++ /dev/null @@ -1,32 +0,0 @@ -// Copyright (c) .NET Foundation. All rights reserved. -// Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information. - -using System.Collections.Generic; - -namespace Microsoft.AspNetCore.Routing.Matching -{ - internal class PolicyJumpTableBuilder - { - private readonly INodeBuilderPolicy _nodeBuilder; - private readonly List _entries; - - public PolicyJumpTableBuilder(INodeBuilderPolicy nodeBuilder) - { - _nodeBuilder = nodeBuilder; - _entries = new List(); - } - - // The destination state for a non-match. - public int ExitDestination { get; set; } = JumpTableBuilder.InvalidDestination; - - public void AddEntry(object state, int destination) - { - _entries.Add(new PolicyJumpTableEdge(state, destination)); - } - - public PolicyJumpTable Build() - { - return _nodeBuilder.BuildJumpTable(ExitDestination, _entries); - } - } -} From dbebdbecd60ce1479d27da610d1b9b2247c04007 Mon Sep 17 00:00:00 2001 From: James Newton-King Date: Thu, 6 Sep 2018 13:38:17 +1200 Subject: [PATCH 160/221] Add flag for including label with DfaNodes (#769) --- .../Internal/DfaGraphWriter.cs | 2 +- .../Matching/DfaMatcherBuilder.cs | 23 ++++++++++++------- .../Matching/HttpMethodMatcherPolicy.cs | 11 ++++++--- 3 files changed, 24 insertions(+), 12 deletions(-) diff --git a/src/Microsoft.AspNetCore.Routing/Internal/DfaGraphWriter.cs b/src/Microsoft.AspNetCore.Routing/Internal/DfaGraphWriter.cs index 5a42cf493b..ed1c3f2d9f 100644 --- a/src/Microsoft.AspNetCore.Routing/Internal/DfaGraphWriter.cs +++ b/src/Microsoft.AspNetCore.Routing/Internal/DfaGraphWriter.cs @@ -47,7 +47,7 @@ namespace Microsoft.AspNetCore.Routing.Internal // Assign each node a sequential index. var visited = new Dictionary(); - var tree = builder.BuildDfaTree(); + var tree = builder.BuildDfaTree(includeLabel: true); writer.WriteLine("digraph DFA {"); tree.Visit(WriteNode); diff --git a/src/Microsoft.AspNetCore.Routing/Matching/DfaMatcherBuilder.cs b/src/Microsoft.AspNetCore.Routing/Matching/DfaMatcherBuilder.cs index 3592918a9a..7cc748ddf4 100644 --- a/src/Microsoft.AspNetCore.Routing/Matching/DfaMatcherBuilder.cs +++ b/src/Microsoft.AspNetCore.Routing/Matching/DfaMatcherBuilder.cs @@ -53,7 +53,7 @@ namespace Microsoft.AspNetCore.Routing.Matching _endpoints.Add(endpoint); } - public DfaNode BuildDfaTree() + public DfaNode BuildDfaTree(bool includeLabel = false) { // We build the tree by doing a BFS over the list of entries. This is important // because a 'parameter' node can also traverse the same paths that literal nodes @@ -67,7 +67,7 @@ namespace Microsoft.AspNetCore.Routing.Matching var work = new List<(RouteEndpoint endpoint, List parents)>(_endpoints.Count); List<(RouteEndpoint endpoint, List parents)> previousWork = null; - var root = new DfaNode() { PathDepth = 0, Label = "/" }; + var root = new DfaNode() { PathDepth = 0, Label = includeLabel ? "/" : null }; // To prepare for this we need to compute the max depth, as well as // a seed list of items to process (entry, root). @@ -149,7 +149,7 @@ namespace Microsoft.AspNetCore.Routing.Matching next = new DfaNode() { PathDepth = parent.PathDepth + 1, - Label = parent.Label + literal + "/", + Label = includeLabel ? parent.Label + literal + "/" : null, }; parent.AddLiteral(literal, next); } @@ -180,7 +180,7 @@ namespace Microsoft.AspNetCore.Routing.Matching parent.CatchAll = new DfaNode() { PathDepth = parent.PathDepth + 1, - Label = parent.Label + "{*...}/", + Label = includeLabel ? parent.Label + "{*...}/" : null, }; // The catchall node just loops. @@ -197,7 +197,7 @@ namespace Microsoft.AspNetCore.Routing.Matching parent.Parameters = new DfaNode() { PathDepth = parent.PathDepth + 1, - Label = parent.Label + "{...}/", + Label = includeLabel ? parent.Label + "{...}/" : null, }; } @@ -219,7 +219,7 @@ namespace Microsoft.AspNetCore.Routing.Matching parent.Parameters = new DfaNode() { PathDepth = parent.PathDepth + 1, - Label = parent.Label + "{...}/", + Label = includeLabel ? parent.Label + "{...}/" : null, }; } @@ -273,7 +273,13 @@ namespace Microsoft.AspNetCore.Routing.Matching public override Matcher Build() { - var root = BuildDfaTree(); +#if DEBUG + var includeLabel = true; +#else + var includeLabel = false; +#endif + + var root = BuildDfaTree(includeLabel); // State count is the number of nodes plus an exit state var stateCount = 1; @@ -613,7 +619,8 @@ namespace Microsoft.AspNetCore.Routing.Matching var next = new DfaNode() { - Label = parent.Label + " " + edge.State.ToString(), + // If parent label is null then labels are not being included + Label = (parent.Label != null) ? parent.Label + " " + edge.State.ToString() : null, }; if (edge.Endpoints.Count > 0) diff --git a/src/Microsoft.AspNetCore.Routing/Matching/HttpMethodMatcherPolicy.cs b/src/Microsoft.AspNetCore.Routing/Matching/HttpMethodMatcherPolicy.cs index 652a290230..f6149531d4 100644 --- a/src/Microsoft.AspNetCore.Routing/Matching/HttpMethodMatcherPolicy.cs +++ b/src/Microsoft.AspNetCore.Routing/Matching/HttpMethodMatcherPolicy.cs @@ -195,9 +195,14 @@ namespace Microsoft.AspNetCore.Routing.Matching edges[new EdgeKey(AnyMethod, false)] = matches; } - return edges - .Select(kvp => new PolicyNodeEdge(kvp.Key, kvp.Value)) - .ToArray(); + var policyNodeEdges = new PolicyNodeEdge[edges.Count]; + var index = 0; + foreach (var kvp in edges) + { + policyNodeEdges[index++] = new PolicyNodeEdge(kvp.Key, kvp.Value); + } + + return policyNodeEdges; (IReadOnlyList httpMethods, bool acceptCorsPreflight) GetHttpMethods(Endpoint e) { From 1c74973c6ad04d12c7e6eca05fe3b4f8b403f5e3 Mon Sep 17 00:00:00 2001 From: James Newton-King Date: Thu, 6 Sep 2018 13:47:34 +1200 Subject: [PATCH 161/221] Minor matcher builder allocation optimization (#771) --- .../Matching/DfaMatcherBuilder.cs | 14 +++++++++- .../Matching/HttpMethodMatcherPolicy.cs | 28 +++++++++++++------ 2 files changed, 33 insertions(+), 9 deletions(-) diff --git a/src/Microsoft.AspNetCore.Routing/Matching/DfaMatcherBuilder.cs b/src/Microsoft.AspNetCore.Routing/Matching/DfaMatcherBuilder.cs index 7cc748ddf4..28b5cdf353 100644 --- a/src/Microsoft.AspNetCore.Routing/Matching/DfaMatcherBuilder.cs +++ b/src/Microsoft.AspNetCore.Routing/Matching/DfaMatcherBuilder.cs @@ -592,12 +592,23 @@ namespace Microsoft.AspNetCore.Routing.Matching // Start with the current node as the root. var work = new List() { node, }; + List previousWork = null; for (var i = 0; i < _nodeBuilders.Length; i++) { var nodeBuilder = _nodeBuilders[i]; // Build a list of each - var nextWork = new List(); + List nextWork; + if (previousWork == null) + { + nextWork = new List(); + } + else + { + // Reuse previous collection for the next collection + previousWork.Clear(); + nextWork = previousWork; + } for (var j = 0; j < work.Count; j++) { @@ -639,6 +650,7 @@ namespace Microsoft.AspNetCore.Routing.Matching parent.Matches?.Clear(); } + previousWork = work; work = nextWork; } } diff --git a/src/Microsoft.AspNetCore.Routing/Matching/HttpMethodMatcherPolicy.cs b/src/Microsoft.AspNetCore.Routing/Matching/HttpMethodMatcherPolicy.cs index f6149531d4..8a5beb5bd9 100644 --- a/src/Microsoft.AspNetCore.Routing/Matching/HttpMethodMatcherPolicy.cs +++ b/src/Microsoft.AspNetCore.Routing/Matching/HttpMethodMatcherPolicy.cs @@ -56,7 +56,7 @@ namespace Microsoft.AspNetCore.Routing.Matching for (var i = 0; i < endpoints.Count; i++) { - if (endpoints[i].Metadata.GetMetadata()?.HttpMethods.Any() == true) + if (endpoints[i].Metadata.GetMetadata()?.HttpMethods.Count > 0) { return true; } @@ -219,31 +219,41 @@ namespace Microsoft.AspNetCore.Routing.Matching /// public PolicyJumpTable BuildJumpTable(int exitDestination, IReadOnlyList edges) { - var destinations = new Dictionary(StringComparer.OrdinalIgnoreCase); - var corsPreflightDestinations = new Dictionary(StringComparer.OrdinalIgnoreCase); + Dictionary destinations = null; + Dictionary corsPreflightDestinations = null; for (var i = 0; i < edges.Count; i++) { // We create this data, so it's safe to cast it. var key = (EdgeKey)edges[i].State; if (key.IsCorsPreflightRequest) { + if (corsPreflightDestinations == null) + { + corsPreflightDestinations = new Dictionary(StringComparer.OrdinalIgnoreCase); + } + corsPreflightDestinations.Add(key.HttpMethod, edges[i].Destination); } else { + if (destinations == null) + { + destinations = new Dictionary(StringComparer.OrdinalIgnoreCase); + } + destinations.Add(key.HttpMethod, edges[i].Destination); } } int corsPreflightExitDestination = exitDestination; - if (corsPreflightDestinations.TryGetValue(AnyMethod, out var matchesAnyVerb)) + if (corsPreflightDestinations != null && corsPreflightDestinations.TryGetValue(AnyMethod, out var matchesAnyVerb)) { // If we have endpoints that match any HTTP method, use that as the exit. corsPreflightExitDestination = matchesAnyVerb; corsPreflightDestinations.Remove(AnyMethod); } - if (destinations.TryGetValue(AnyMethod, out matchesAnyVerb)) + if (destinations != null && destinations.TryGetValue(AnyMethod, out matchesAnyVerb)) { // If we have endpoints that match any HTTP method, use that as the exit. exitDestination = matchesAnyVerb; @@ -304,7 +314,7 @@ namespace Microsoft.AspNetCore.Routing.Matching _corsPreflightExitDestination = corsPreflightExitDestination; _corsPreflightDestinations = corsPreflightDestinations; - _supportsCorsPreflight = _corsPreflightDestinations.Count > 0; + _supportsCorsPreflight = _corsPreflightDestinations != null && _corsPreflightDestinations.Count > 0; } public override int GetDestination(HttpContext httpContext) @@ -318,12 +328,14 @@ namespace Microsoft.AspNetCore.Routing.Matching httpContext.Request.Headers.TryGetValue(AccessControlRequestMethod, out var accessControlRequestMethod) && !StringValues.IsNullOrEmpty(accessControlRequestMethod)) { - return _corsPreflightDestinations.TryGetValue(accessControlRequestMethod, out destination) + return _corsPreflightDestinations != null && + _corsPreflightDestinations.TryGetValue(accessControlRequestMethod, out destination) ? destination : _corsPreflightExitDestination; } - return _destinations.TryGetValue(httpMethod, out destination) ? destination : _exitDestination; + return _destinations != null && + _destinations.TryGetValue(httpMethod, out destination) ? destination : _exitDestination; } } From dcfb63a7684bfd1ad1a24804b08015abe68e836d Mon Sep 17 00:00:00 2001 From: James Newton-King Date: Thu, 6 Sep 2018 14:00:52 +1200 Subject: [PATCH 162/221] Avoid RoutePattern allocating empty dictionaries (#772) --- .../Matching/RouteEndpointAzureBenchmark.cs | 16 ++++++ .../Patterns/RoutePatternFactory.cs | 55 +++++++++++++++---- 2 files changed, 59 insertions(+), 12 deletions(-) create mode 100644 benchmarks/Microsoft.AspNetCore.Routing.Performance/Matching/RouteEndpointAzureBenchmark.cs diff --git a/benchmarks/Microsoft.AspNetCore.Routing.Performance/Matching/RouteEndpointAzureBenchmark.cs b/benchmarks/Microsoft.AspNetCore.Routing.Performance/Matching/RouteEndpointAzureBenchmark.cs new file mode 100644 index 0000000000..5d3af48562 --- /dev/null +++ b/benchmarks/Microsoft.AspNetCore.Routing.Performance/Matching/RouteEndpointAzureBenchmark.cs @@ -0,0 +1,16 @@ +// Copyright (c) .NET Foundation. All rights reserved. +// Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information. + +using BenchmarkDotNet.Attributes; + +namespace Microsoft.AspNetCore.Routing.Matching +{ + public class RouteEndpointAzureBenchmark : MatcherAzureBenchmarkBase + { + [Benchmark] + public void CreateEndpoints() + { + SetupEndpoints(); + } + } +} \ No newline at end of file diff --git a/src/Microsoft.AspNetCore.Routing/Patterns/RoutePatternFactory.cs b/src/Microsoft.AspNetCore.Routing/Patterns/RoutePatternFactory.cs index 51b869c58c..bbc1e50aca 100644 --- a/src/Microsoft.AspNetCore.Routing/Patterns/RoutePatternFactory.cs +++ b/src/Microsoft.AspNetCore.Routing/Patterns/RoutePatternFactory.cs @@ -2,7 +2,9 @@ // Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information. using System; +using System.Collections; using System.Collections.Generic; +using System.Collections.ObjectModel; using System.Linq; using Microsoft.AspNetCore.Routing.Constraints; using Microsoft.AspNetCore.Routing.Matching; @@ -16,6 +18,12 @@ namespace Microsoft.AspNetCore.Routing.Patterns /// public static class RoutePatternFactory { + private static readonly IReadOnlyDictionary EmptyDefaultsDictionary = + new ReadOnlyDictionary(new Dictionary()); + + private static readonly IReadOnlyDictionary> EmptyPoliciesDictionary = + new ReadOnlyDictionary>(new Dictionary>()); + /// /// Creates a from its string representation. /// @@ -242,8 +250,8 @@ namespace Microsoft.AspNetCore.Routing.Patterns private static RoutePattern PatternCore( string rawText, - IDictionary defaults, - IDictionary parameterPolicies, + RouteValueDictionary defaults, + RouteValueDictionary parameterPolicies, IEnumerable segments) { // We want to merge the segment data with the 'out of line' defaults and parameter policies. @@ -257,18 +265,22 @@ namespace Microsoft.AspNetCore.Routing.Patterns // It's important that these two views of the data are consistent. We don't want // values specified out of line to have a different behavior. - var updatedDefaults = new Dictionary(StringComparer.OrdinalIgnoreCase); - if (defaults != null) + Dictionary updatedDefaults = null; + if (defaults != null && defaults.Count > 0) { + updatedDefaults = new Dictionary(defaults.Count, StringComparer.OrdinalIgnoreCase); + foreach (var kvp in defaults) { updatedDefaults.Add(kvp.Key, kvp.Value); } } - var updatedParameterPolicies = new Dictionary>(StringComparer.OrdinalIgnoreCase); - if (parameterPolicies != null) + Dictionary> updatedParameterPolicies = null; + if (parameterPolicies != null && parameterPolicies.Count > 0) { + updatedParameterPolicies = new Dictionary>(parameterPolicies.Count, StringComparer.OrdinalIgnoreCase); + foreach (var kvp in parameterPolicies) { updatedParameterPolicies.Add(kvp.Key, new List() @@ -280,7 +292,7 @@ namespace Microsoft.AspNetCore.Routing.Patterns } } - var parameters = new List(); + List parameters = null; var updatedSegments = segments.ToArray(); for (var i = 0; i < updatedSegments.Length; i++) { @@ -291,6 +303,11 @@ namespace Microsoft.AspNetCore.Routing.Patterns { if (segment.Parts[j] is RoutePatternParameterPart parameter) { + if (parameters == null) + { + parameters = new List(); + } + parameters.Add(parameter); } } @@ -298,9 +315,11 @@ namespace Microsoft.AspNetCore.Routing.Patterns return new RoutePattern( rawText, - updatedDefaults, - updatedParameterPolicies.ToDictionary(kvp => kvp.Key, kvp => (IReadOnlyList)kvp.Value.ToArray()), - parameters, + updatedDefaults ?? EmptyDefaultsDictionary, + updatedParameterPolicies != null + ? updatedParameterPolicies.ToDictionary(kvp => kvp.Key, kvp => (IReadOnlyList)kvp.Value.ToArray()) + : EmptyPoliciesDictionary, + (IReadOnlyList)parameters ?? Array.Empty(), updatedSegments); RoutePatternPathSegment VisitSegment(RoutePatternPathSegment segment) @@ -341,7 +360,7 @@ namespace Microsoft.AspNetCore.Routing.Patterns var parameter = (RoutePatternParameterPart)part; var @default = parameter.Default; - if (updatedDefaults.TryGetValue(parameter.Name, out var newDefault)) + if (updatedDefaults != null && updatedDefaults.TryGetValue(parameter.Name, out var newDefault)) { if (parameter.Default != null && !Equals(newDefault, parameter.Default)) { @@ -360,12 +379,23 @@ namespace Microsoft.AspNetCore.Routing.Patterns if (parameter.Default != null) { + if (updatedDefaults == null) + { + updatedDefaults = new Dictionary(StringComparer.OrdinalIgnoreCase); + } + updatedDefaults[parameter.Name] = parameter.Default; } - if (!updatedParameterPolicies.TryGetValue(parameter.Name, out var parameterConstraints) && + List parameterConstraints = null; + if ((updatedParameterPolicies == null || !updatedParameterPolicies.TryGetValue(parameter.Name, out parameterConstraints)) && parameter.ParameterPolicies.Count > 0) { + if (updatedParameterPolicies == null) + { + updatedParameterPolicies = new Dictionary>(StringComparer.OrdinalIgnoreCase); + } + parameterConstraints = new List(); updatedParameterPolicies.Add(parameter.Name, parameterConstraints); } @@ -391,6 +421,7 @@ namespace Microsoft.AspNetCore.Routing.Patterns parameter.EncodeSlashes); } } + /// /// Creates a from the provided collection /// of parts. From 950d2e9b74a597d4348ace2c005476f5e216a36c Mon Sep 17 00:00:00 2001 From: Ikebe Shodai Date: Fri, 31 Aug 2018 16:42:32 +0900 Subject: [PATCH 163/221] Fix locale sensitive unit tests --- .../Template/TemplateParserTests.cs | 26 +++++++++++++++++++ .../TemplateParserDefaultValuesTests.cs | 3 +++ 2 files changed, 29 insertions(+) diff --git a/test/Microsoft.AspNetCore.Routing.Tests/Template/TemplateParserTests.cs b/test/Microsoft.AspNetCore.Routing.Tests/Template/TemplateParserTests.cs index 77813d0232..9873a641bd 100644 --- a/test/Microsoft.AspNetCore.Routing.Tests/Template/TemplateParserTests.cs +++ b/test/Microsoft.AspNetCore.Routing.Tests/Template/TemplateParserTests.cs @@ -502,6 +502,7 @@ namespace Microsoft.AspNetCore.Routing.Template.Tests [InlineData(@"{p1:regex(([}])\w+}")] // Not escaped } [InlineData(@"{p1:regex(^\d{{3}}-\d{{3}}-\d{{4}$)}")] // Not escaped } [InlineData(@"{p1:regex(abc)")] + [ReplaceCulture] public void Parse_RegularExpressions_Invalid(string template) { // Act and Assert @@ -514,6 +515,7 @@ namespace Microsoft.AspNetCore.Routing.Template.Tests [Theory] [InlineData(@"{p1:regex(^\d{{3}}-\d{{3}}-\d{{{4}}$)}")] // extra { [InlineData(@"{p1:regex(^\d{{3}}-\d{{3}}-\d{4}}$)}")] // Not escaped { + [ReplaceCulture] public void Parse_RegularExpressions_Unescaped(string template) { // Act and Assert @@ -529,6 +531,7 @@ namespace Microsoft.AspNetCore.Routing.Template.Tests [InlineData("{p1?}{p2?}", "p1", "{p2?}")] [InlineData("{p1}.{p2?})", "p2", ")")] [InlineData("{foorb?}-bar-{z}", "foorb", "-bar-")] + [ReplaceCulture] public void Parse_ComplexSegment_OptionalParameter_NotTheLastPart( string template, string parameter, @@ -548,6 +551,7 @@ namespace Microsoft.AspNetCore.Routing.Template.Tests [InlineData("..{p2?}", "..")] [InlineData("{p1}.abc.{p2?}", ".abc.")] [InlineData("{p1}{p2?}", "{p1}")] + [ReplaceCulture] public void Parse_ComplexSegment_OptionalParametersSeperatedByPeriod_Invalid(string template, string parameter) { // Act and Assert @@ -559,6 +563,7 @@ namespace Microsoft.AspNetCore.Routing.Template.Tests } [Fact] + [ReplaceCulture] public void InvalidTemplate_WithRepeatedParameter() { var ex = ExceptionAssert.Throws( @@ -574,6 +579,7 @@ namespace Microsoft.AspNetCore.Routing.Template.Tests [InlineData("{{p1}")] [InlineData("{p1}}")] [InlineData("p1}}p2{")] + [ReplaceCulture] public void InvalidTemplate_WithMismatchedBraces(string template) { ExceptionAssert.Throws( @@ -584,6 +590,7 @@ namespace Microsoft.AspNetCore.Routing.Template.Tests } [Fact] + [ReplaceCulture] public void InvalidTemplate_CannotHaveCatchAllInMultiSegment() { ExceptionAssert.Throws( @@ -594,6 +601,7 @@ namespace Microsoft.AspNetCore.Routing.Template.Tests } [Fact] + [ReplaceCulture] public void InvalidTemplate_CannotHaveMoreThanOneCatchAll() { ExceptionAssert.Throws( @@ -604,6 +612,7 @@ namespace Microsoft.AspNetCore.Routing.Template.Tests } [Fact] + [ReplaceCulture] public void InvalidTemplate_CannotHaveMoreThanOneCatchAllInMultiSegment() { ExceptionAssert.Throws( @@ -614,6 +623,7 @@ namespace Microsoft.AspNetCore.Routing.Template.Tests } [Fact] + [ReplaceCulture] public void InvalidTemplate_CannotHaveCatchAllWithNoName() { ExceptionAssert.Throws( @@ -635,6 +645,7 @@ namespace Microsoft.AspNetCore.Routing.Template.Tests [InlineData("{p{{}", "p{")] [InlineData("{p}}}", "p}")] [InlineData("{p/}", "p/")] + [ReplaceCulture] public void ParseRouteParameter_ThrowsIf_ParameterContainsSpecialCharacters( string template, string parameterName) @@ -652,6 +663,7 @@ namespace Microsoft.AspNetCore.Routing.Template.Tests } [Fact] + [ReplaceCulture] public void InvalidTemplate_CannotHaveConsecutiveOpenBrace() { ExceptionAssert.Throws( @@ -662,6 +674,7 @@ namespace Microsoft.AspNetCore.Routing.Template.Tests } [Fact] + [ReplaceCulture] public void InvalidTemplate_CannotHaveConsecutiveCloseBrace() { ExceptionAssert.Throws( @@ -672,6 +685,7 @@ namespace Microsoft.AspNetCore.Routing.Template.Tests } [Fact] + [ReplaceCulture] public void InvalidTemplate_SameParameterTwiceThrows() { ExceptionAssert.Throws( @@ -682,6 +696,7 @@ namespace Microsoft.AspNetCore.Routing.Template.Tests } [Fact] + [ReplaceCulture] public void InvalidTemplate_SameParameterTwiceAndOneCatchAllThrows() { ExceptionAssert.Throws( @@ -692,6 +707,7 @@ namespace Microsoft.AspNetCore.Routing.Template.Tests } [Fact] + [ReplaceCulture] public void InvalidTemplate_InvalidParameterNameWithCloseBracketThrows() { ExceptionAssert.Throws( @@ -702,6 +718,7 @@ namespace Microsoft.AspNetCore.Routing.Template.Tests } [Fact] + [ReplaceCulture] public void InvalidTemplate_InvalidParameterNameWithOpenBracketThrows() { ExceptionAssert.Throws( @@ -711,6 +728,7 @@ namespace Microsoft.AspNetCore.Routing.Template.Tests } [Fact] + [ReplaceCulture] public void InvalidTemplate_InvalidParameterNameWithEmptyNameThrows() { ExceptionAssert.Throws( @@ -723,6 +741,7 @@ namespace Microsoft.AspNetCore.Routing.Template.Tests } [Fact] + [ReplaceCulture] public void InvalidTemplate_InvalidParameterNameWithQuestionThrows() { ExceptionAssert.Throws( @@ -735,6 +754,7 @@ namespace Microsoft.AspNetCore.Routing.Template.Tests } [Fact] + [ReplaceCulture] public void InvalidTemplate_ConsecutiveSeparatorsSlashSlashThrows() { ExceptionAssert.Throws( @@ -745,6 +765,7 @@ namespace Microsoft.AspNetCore.Routing.Template.Tests } [Fact] + [ReplaceCulture] public void InvalidTemplate_WithCatchAllNotAtTheEndThrows() { ExceptionAssert.Throws( @@ -755,6 +776,7 @@ namespace Microsoft.AspNetCore.Routing.Template.Tests } [Fact] + [ReplaceCulture] public void InvalidTemplate_RepeatedParametersThrows() { ExceptionAssert.Throws( @@ -777,6 +799,7 @@ namespace Microsoft.AspNetCore.Routing.Template.Tests } [Fact] + [ReplaceCulture] public void InvalidTemplate_CannotStartWithTilde() { ExceptionAssert.Throws( @@ -786,6 +809,7 @@ namespace Microsoft.AspNetCore.Routing.Template.Tests } [Fact] + [ReplaceCulture] public void InvalidTemplate_CannotContainQuestionMark() { ExceptionAssert.Throws( @@ -796,6 +820,7 @@ namespace Microsoft.AspNetCore.Routing.Template.Tests } [Fact] + [ReplaceCulture] public void InvalidTemplate_ParameterCannotContainQuestionMark_UnlessAtEnd() { ExceptionAssert.Throws( @@ -808,6 +833,7 @@ namespace Microsoft.AspNetCore.Routing.Template.Tests } [Fact] + [ReplaceCulture] public void InvalidTemplate_CatchAllMarkedOptional() { ExceptionAssert.Throws( diff --git a/test/Microsoft.AspNetCore.Routing.Tests/TemplateParserDefaultValuesTests.cs b/test/Microsoft.AspNetCore.Routing.Tests/TemplateParserDefaultValuesTests.cs index 159fb6cea2..a8c09c60ff 100644 --- a/test/Microsoft.AspNetCore.Routing.Tests/TemplateParserDefaultValuesTests.cs +++ b/test/Microsoft.AspNetCore.Routing.Tests/TemplateParserDefaultValuesTests.cs @@ -4,6 +4,7 @@ using System; using Microsoft.AspNetCore.Builder; using Microsoft.AspNetCore.Routing.Internal; +using Microsoft.AspNetCore.Testing; using Microsoft.Extensions.DependencyInjection; using Microsoft.Extensions.Options; using Moq; @@ -76,6 +77,7 @@ namespace Microsoft.AspNetCore.Routing.Tests } [Fact] + [ReplaceCulture] public void EmptyDefaultValue_WithOptionalParameter_Throws() { // Arrange @@ -99,6 +101,7 @@ namespace Microsoft.AspNetCore.Routing.Tests } [Fact] + [ReplaceCulture] public void NonEmptyDefaultValue_WithOptionalParameter_Throws() { // Arrange From e3b704095bb3c64a7c0d2f18f73b3abd184990e4 Mon Sep 17 00:00:00 2001 From: Ryan Nowak Date: Wed, 5 Sep 2018 20:52:09 -0700 Subject: [PATCH 164/221] Revisions to LinkGenerator (#770) * Revisions to LinkGenerator * PR feedback --- .../LinkGenerationGithubBenchmark.cs | 5 +- .../SingleRouteWithConstraintsBenchmark.cs | 20 +- .../SingleRouteWithNoParametersBenchmark.cs | 14 +- .../SingleRouteWithParametersBenchmark.cs | 20 +- .../UseEndpointRoutingStartup.cs | 8 +- .../LinkGenerationTemplate.cs | 85 +- .../LinkGenerator.cs | 522 +---- .../CompositeEndpointDataSource.cs | 2 +- .../DefaultLinkGenerationTemplate.cs | 110 +- .../DefaultLinkGenerator.cs | 427 ++-- .../IRouteValuesAddressMetadata.cs | 2 +- .../Internal/UriBuildingContext.cs | 108 +- ...nkGeneratorRouteValuesAddressExtensions.cs | 95 + .../RouteValuesAddressMetadata.cs | 8 +- .../RouteValuesBasedEndpointFinder.cs | 2 +- .../Template/TemplateBinder.cs | 75 +- .../DefaultLinkGenerationTemplateTest.cs | 153 ++ ...DefaultLinkGeneratorProcessTemplateTest.cs | 1503 ++++++++++++++ .../DefaultLinkGeneratorTest.cs | 1846 +++-------------- ...neratorRouteValuesAddressExtensionsTest.cs | 128 ++ .../LinkGeneratorTestBase.cs | 77 + .../RouteValueBasedEndpointFinderTest.cs | 4 - 22 files changed, 2907 insertions(+), 2307 deletions(-) create mode 100644 src/Microsoft.AspNetCore.Routing/LinkGeneratorRouteValuesAddressExtensions.cs create mode 100644 test/Microsoft.AspNetCore.Routing.Tests/DefaultLinkGenerationTemplateTest.cs create mode 100644 test/Microsoft.AspNetCore.Routing.Tests/DefaultLinkGeneratorProcessTemplateTest.cs create mode 100644 test/Microsoft.AspNetCore.Routing.Tests/LinkGeneratorRouteValuesAddressExtensionsTest.cs create mode 100644 test/Microsoft.AspNetCore.Routing.Tests/LinkGeneratorTestBase.cs diff --git a/benchmarks/Microsoft.AspNetCore.Routing.Performance/LinkGeneration/LinkGenerationGithubBenchmark.cs b/benchmarks/Microsoft.AspNetCore.Routing.Performance/LinkGeneration/LinkGenerationGithubBenchmark.cs index b7309a159e..f2b8df799f 100644 --- a/benchmarks/Microsoft.AspNetCore.Routing.Performance/LinkGeneration/LinkGenerationGithubBenchmark.cs +++ b/benchmarks/Microsoft.AspNetCore.Routing.Performance/LinkGeneration/LinkGenerationGithubBenchmark.cs @@ -57,9 +57,10 @@ namespace Microsoft.AspNetCore.Routing.LinkGeneration [Benchmark] public void EndpointRouting() { - var actualUrl = _linkGenerator.GetLink( + var actualUrl = _linkGenerator.GetPathByRouteValues( _requestContext.HttpContext, - values: new RouteValueDictionary(_lookUpValues)); + routeName: null, + values: _lookUpValues); AssertUrl("/repos/aspnet/routing/issues/comments/20202", actualUrl); } diff --git a/benchmarks/Microsoft.AspNetCore.Routing.Performance/LinkGeneration/SingleRouteWithConstraintsBenchmark.cs b/benchmarks/Microsoft.AspNetCore.Routing.Performance/LinkGeneration/SingleRouteWithConstraintsBenchmark.cs index 271263bc7f..204966e46d 100644 --- a/benchmarks/Microsoft.AspNetCore.Routing.Performance/LinkGeneration/SingleRouteWithConstraintsBenchmark.cs +++ b/benchmarks/Microsoft.AspNetCore.Routing.Performance/LinkGeneration/SingleRouteWithConstraintsBenchmark.cs @@ -56,17 +56,17 @@ namespace Microsoft.AspNetCore.Routing.LinkGeneration [Benchmark] public void EndpointRouting() { - var actualUrl = _linkGenerator.GetLink( + var actualUrl = _linkGenerator.GetPathByRouteValues( _requestContext.HttpContext, - values: new RouteValueDictionary( - new - { - controller = "Customers", - action = "Details", - category = "Administration", - region = "US", - id = 10 - })); + routeName: null, + values: new + { + controller = "Customers", + action = "Details", + category = "Administration", + region = "US", + id = 10 + }); AssertUrl("/Customers/Details/Administration/US/10", actualUrl); } diff --git a/benchmarks/Microsoft.AspNetCore.Routing.Performance/LinkGeneration/SingleRouteWithNoParametersBenchmark.cs b/benchmarks/Microsoft.AspNetCore.Routing.Performance/LinkGeneration/SingleRouteWithNoParametersBenchmark.cs index 0b2e30dc64..6b46a5acfe 100644 --- a/benchmarks/Microsoft.AspNetCore.Routing.Performance/LinkGeneration/SingleRouteWithNoParametersBenchmark.cs +++ b/benchmarks/Microsoft.AspNetCore.Routing.Performance/LinkGeneration/SingleRouteWithNoParametersBenchmark.cs @@ -53,14 +53,14 @@ namespace Microsoft.AspNetCore.Routing.LinkGeneration [Benchmark] public void EndpointRouting() { - var actualUrl = _linkGenerator.GetLink( + var actualUrl = _linkGenerator.GetPathByRouteValues( _requestContext.HttpContext, - values: new RouteValueDictionary( - new - { - controller = "Products", - action = "Details", - })); + routeName: null, + values: new + { + controller = "Products", + action = "Details", + }); AssertUrl("/Products/Details", actualUrl); } diff --git a/benchmarks/Microsoft.AspNetCore.Routing.Performance/LinkGeneration/SingleRouteWithParametersBenchmark.cs b/benchmarks/Microsoft.AspNetCore.Routing.Performance/LinkGeneration/SingleRouteWithParametersBenchmark.cs index 6ca5d74fbe..6037924e9a 100644 --- a/benchmarks/Microsoft.AspNetCore.Routing.Performance/LinkGeneration/SingleRouteWithParametersBenchmark.cs +++ b/benchmarks/Microsoft.AspNetCore.Routing.Performance/LinkGeneration/SingleRouteWithParametersBenchmark.cs @@ -56,17 +56,17 @@ namespace Microsoft.AspNetCore.Routing.LinkGeneration [Benchmark] public void EndpointRouting() { - var actualUrl = _linkGenerator.GetLink( + var actualUrl = _linkGenerator.GetPathByRouteValues( _requestContext.HttpContext, - values: new RouteValueDictionary( - new - { - controller = "Customers", - action = "Details", - category = "Administration", - region = "US", - id = 10 - })); + routeName: null, + values: new + { + controller = "Customers", + action = "Details", + category = "Administration", + region = "US", + id = 10 + }); AssertUrl("/Customers/Details/Administration/US/10", actualUrl); } diff --git a/samples/RoutingSample.Web/UseEndpointRoutingStartup.cs b/samples/RoutingSample.Web/UseEndpointRoutingStartup.cs index 49262142dd..d600b905a9 100644 --- a/samples/RoutingSample.Web/UseEndpointRoutingStartup.cs +++ b/samples/RoutingSample.Web/UseEndpointRoutingStartup.cs @@ -103,13 +103,13 @@ namespace RoutingSample.Web response.StatusCode = 200; response.ContentType = "text/plain"; return response.WriteAsync( - "Link: " + linkGenerator.GetLink(httpContext, "WithSingleAsteriskCatchAll", new { })); + "Link: " + linkGenerator.GetPathByRouteValues(httpContext, "WithSingleAsteriskCatchAll", new { })); }, RoutePatternFactory.Parse("/WithSingleAsteriskCatchAll/{*path}"), 0, new EndpointMetadataCollection( new RouteValuesAddressMetadata( - name: "WithSingleAsteriskCatchAll", + routeName: "WithSingleAsteriskCatchAll", requiredValues: new RouteValueDictionary())), "WithSingleAsteriskCatchAll"), new RouteEndpoint((httpContext) => @@ -120,13 +120,13 @@ namespace RoutingSample.Web response.StatusCode = 200; response.ContentType = "text/plain"; return response.WriteAsync( - "Link: " + linkGenerator.GetLink(httpContext, "WithDoubleAsteriskCatchAll", new { })); + "Link: " + linkGenerator.GetPathByRouteValues(httpContext, "WithDoubleAsteriskCatchAll", new { })); }, RoutePatternFactory.Parse("/WithDoubleAsteriskCatchAll/{**path}"), 0, new EndpointMetadataCollection( new RouteValuesAddressMetadata( - name: "WithDoubleAsteriskCatchAll", + routeName: "WithDoubleAsteriskCatchAll", requiredValues: new RouteValueDictionary())), "WithDoubleAsteriskCatchAll"), }); diff --git a/src/Microsoft.AspNetCore.Routing.Abstractions/LinkGenerationTemplate.cs b/src/Microsoft.AspNetCore.Routing.Abstractions/LinkGenerationTemplate.cs index ec3736228a..82da67cd47 100644 --- a/src/Microsoft.AspNetCore.Routing.Abstractions/LinkGenerationTemplate.cs +++ b/src/Microsoft.AspNetCore.Routing.Abstractions/LinkGenerationTemplate.cs @@ -1,29 +1,90 @@ // Copyright (c) .NET Foundation. All rights reserved. // Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information. +using Microsoft.AspNetCore.Http; + namespace Microsoft.AspNetCore.Routing { /// /// Defines a contract to generate a URL from a template. /// + /// + /// A can be created from + /// by supplying an address value which has matching endpoints. The returned + /// will be bound to the endpoints matching the address that was originally provided. + /// public abstract class LinkGenerationTemplate { /// - /// Generates a URL with an absolute path from the specified route values. + /// Generates a URI with an absolute path based on the provided values. /// - /// An object that contains route values. - /// The generated URL. - public string MakeUrl(object values) - { - return MakeUrl(values, options: null); - } + /// The associated with the current request. + /// The route values. Used to expand parameters in the route template. Optional. + /// An optional URI fragment. Appended to the resulting URI. + /// + /// An optional . Settings on provided object override the settings with matching + /// names from RouteOptions. + /// + /// A URI with an absolute path, or null. + public abstract string GetPath( + HttpContext httpContext, + object values, + FragmentString fragment = default, + LinkOptions options = default); /// - /// Generates a URL with an absolute path from the specified route values and link options. + /// Generates a URI with an absolute path based on the provided values. /// - /// An object that contains route values. - /// The . - /// The generated URL. - public abstract string MakeUrl(object values, LinkOptions options); + /// The route values. Used to expand parameters in the route template. Optional. + /// An optional URI path base. Prepended to the path in the resulting URI. + /// An optional URI fragment. Appended to the resulting URI. + /// + /// An optional . Settings on provided object override the settings with matching + /// names from RouteOptions. + /// + /// A URI with an absolute path, or null. + public abstract string GetPath( + object values, + PathString pathBase = default, + FragmentString fragment = default, + LinkOptions options = default); + + /// + /// Generates an absolute URI based on the provided values. + /// + /// The associated with the current request. + /// The route values. Used to expand parameters in the route template. Optional. + /// An optional URI fragment. Appended to the resulting URI. + /// + /// An optional . Settings on provided object override the settings with matching + /// names from RouteOptions. + /// + /// A URI with an absolute path, or null. + public abstract string GetUri( + HttpContext httpContext, + object values, + FragmentString fragment = default, + LinkOptions options = default); + + /// + /// Generates an absolute URI based on the provided values. + /// + /// The route values. Used to expand parameters in the route template. Optional. + /// The URI scheme, applied to the resulting URI. + /// The URI host/authority, applied to the resulting URI. + /// An optional URI path base. Prepended to the path in the resulting URI. + /// An optional URI fragment. Appended to the resulting URI. + /// + /// An optional . Settings on provided object override the settings with matching + /// names from RouteOptions. + /// + /// An absolute URI, or null. + public abstract string GetUri( + object values, + string scheme, + HostString host, + PathString pathBase = default, + FragmentString fragment = default, + LinkOptions options = default); } } \ No newline at end of file diff --git a/src/Microsoft.AspNetCore.Routing.Abstractions/LinkGenerator.cs b/src/Microsoft.AspNetCore.Routing.Abstractions/LinkGenerator.cs index 35b9456bf6..e8659b3577 100644 --- a/src/Microsoft.AspNetCore.Routing.Abstractions/LinkGenerator.cs +++ b/src/Microsoft.AspNetCore.Routing.Abstractions/LinkGenerator.cs @@ -1,463 +1,121 @@ // Copyright (c) .NET Foundation. All rights reserved. // Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information. -using System; using Microsoft.AspNetCore.Http; namespace Microsoft.AspNetCore.Routing { /// - /// Defines a contract to generate URLs to endpoints. + /// Defines a contract to generate absolute and related URIs based on endpoint routing. /// + /// + /// + /// Generating URIs in endpoint routing occurs in two phases. First, an address is bound to a list of + /// endpoints that match the address. Secondly, each endpoint's RoutePattern is evaluated, until + /// a route pattern that matches the supplied values is found. The resulting output is combined with + /// the other URI parts supplied to the link generator and returned. + /// + /// + /// The methods provided by the type are general infrastructure, and support + /// the standard link generator functionality for any type of address. The most convenient way to use + /// is through extension methods that perform operations for a specific + /// address type. + /// + /// public abstract class LinkGenerator { /// - /// Generates a URL with an absolute path from the specified route values. + /// Generates a URI with an absolute path based on the provided values. /// - /// An object that contains route values. - /// The generated URL. - public string GetLink(object values) - { - return GetLink(httpContext: null, routeName: null, values, options: null); - } - - /// - /// Generates a URL with an absolute path from the specified route values and link options. - /// - /// An object that contains route values. - /// The . - /// The generated URL. - public string GetLink(object values, LinkOptions options) - { - return GetLink(httpContext: null, routeName: null, values, options); - } - - /// - /// Generates a URL with an absolute path from the specified route values. - /// A return value indicates whether the operation succeeded. - /// - /// An object that contains route values. - /// The generated URL. - /// true if a URL was generated successfully; otherwise, false. - public bool TryGetLink(object values, out string link) - { - return TryGetLink(httpContext: null, routeName: null, values, options: null, out link); - } - - /// - /// Generates a URL with an absolute path from the specified route values and link options. - /// A return value indicates whether the operation succeeded. - /// - /// An object that contains route values. - /// The . - /// The generated URL. - /// true if a URL was generated successfully; otherwise, false. - public bool TryGetLink(object values, LinkOptions options, out string link) - { - return TryGetLink(httpContext: null, routeName: null, values, options, out link); - } - - /// - /// Generates a URL with an absolute path from the specified route values. - /// - /// The associated with current request. - /// An object that contains route values. - /// The generated URL. - public string GetLink(HttpContext httpContext, object values) - { - return GetLink(httpContext, routeName: null, values, options: null); - } - - /// - /// Generates a URL with an absolute path from the specified route values. - /// A return value indicates whether the operation succeeded. - /// - /// The associated with current request. - /// An object that contains route values. - /// The generated URL. - /// true if a URL was generated successfully; otherwise, false. - public bool TryGetLink(HttpContext httpContext, object values, out string link) - { - return TryGetLink(httpContext, routeName: null, values, options: null, out link); - } - - /// - /// Generates a URL with an absolute path from the specified route values and link options. - /// - /// The associated with current request. - /// An object that contains route values. - /// The . - /// The generated URL. - public string GetLink(HttpContext httpContext, object values, LinkOptions options) - { - return GetLink(httpContext, routeName: null, values, options); - } - - /// - /// Generates a URL with an absolute path from the specified route values and link options. - /// A return value indicates whether the operation succeeded. - /// - /// The associated with current request. - /// An object that contains route values. - /// The . - /// The generated URL. - /// true if a URL was generated successfully; otherwise, false. - public bool TryGetLink(HttpContext httpContext, object values, LinkOptions options, out string link) - { - return TryGetLink(httpContext, routeName: null, values, options, out link); - } - - /// - /// Generates a URL with an absolute path from the specified route name and route values. - /// - /// The name of the route to generate the URL to. - /// An object that contains route values. - /// The generated URL. - public string GetLink(string routeName, object values) - { - return GetLink(httpContext: null, routeName, values, options: null); - } - - /// - /// Generates a URL with an absolute path from the specified route name and route values. - /// A return value indicates whether the operation succeeded. - /// - /// The name of the route to generate the URL to. - /// An object that contains route values. - /// The generated URL. - /// true if a URL was generated successfully; otherwise, false. - public bool TryGetLink(string routeName, object values, out string link) - { - return TryGetLink(httpContext: null, routeName, values, options: null, out link); - } - - /// - /// Generates a URL with an absolute path from the specified route name and route values. - /// - /// The name of the route to generate the URL to. - /// An object that contains route values. - /// The . - /// The generated URL. - public string GetLink(string routeName, object values, LinkOptions options) - { - return GetLink(httpContext: null, routeName, values, options); - } - - /// - /// Generates a URL with an absolute path from the specified route name, route values and link options. - /// A return value indicates whether the operation succeeded. - /// - /// The name of the route to generate the URL to. - /// An object that contains route values. - /// The . - /// The generated URL. - /// true if a URL was generated successfully; otherwise, false. - public bool TryGetLink(string routeName, object values, LinkOptions options, out string link) - { - return TryGetLink(httpContext: null, routeName, values, options, out link); - } - - /// - /// Generates a URL with an absolute path from the specified route name and route values. - /// - /// The name of the route to generate the URL to. - /// The associated with current request. - /// An object that contains route values. - /// The generated URL. - public string GetLink(HttpContext httpContext, string routeName, object values) - { - return GetLink(httpContext, routeName, values, options: null); - } - - /// - /// Generates a URL with an absolute path from the specified route name and route values. - /// A return value indicates whether the operation succeeded. - /// - /// The associated with current request. - /// The name of the route to generate the URL to. - /// An object that contains route values. - /// The generated URL. - /// true if a URL was generated successfully; otherwise, false. - public bool TryGetLink(HttpContext httpContext, string routeName, object values, out string link) - { - return TryGetLink(httpContext, routeName, values, options: null, out link); - } - - /// - /// Generates a URL with an absolute path from the specified route name, route values and link options. - /// - /// The name of the route to generate the URL to. - /// The associated with current request. - /// An object that contains route values. - /// The . - /// The generated URL. - public string GetLink(HttpContext httpContext, string routeName, object values, LinkOptions options) - { - if (TryGetLink(httpContext, routeName, values, options, out var link)) - { - return link; - } - - throw new InvalidOperationException("Could not find a matching endpoint to generate a link."); - } - - /// - /// Generates a URL with an absolute path from the specified route name, route values and link options. - /// A return value indicates whether the operation succeeded. - /// - /// The associated with current request. - /// The name of the route to generate the URL to. - /// An object that contains route values. - /// The . - /// The generated URL. - /// true if a URL was generated successfully; otherwise, false. - public abstract bool TryGetLink( - HttpContext httpContext, - string routeName, - object values, - LinkOptions options, - out string link); - - /// - /// Generates a URL with an absolute path from the specified lookup information and route values. - /// This lookup information is used to find endpoints using a registered 'IEndpointFinder<TAddress>'. - /// - /// The address type to look up endpoints. - /// The information used to look up endpoints for generating a URL. - /// An object that contains route values. - /// The generated URL. - public string GetLinkByAddress(TAddress address, object values) - { - return GetLinkByAddress(httpContext: null, address, values, options: null); - } - - /// - /// Generates a URL with an absolute path from the specified lookup information and route values. - /// This lookup information is used to find endpoints using a registered 'IEndpointFinder<TAddress>'. - /// A return value indicates whether the operation succeeded. - /// - /// The address type to look up endpoints. - /// The information used to look up endpoints for generating a URL. - /// An object that contains route values. - /// The generated URL. - /// true if a URL was generated successfully; otherwise, false. - public bool TryGetLinkByAddress(TAddress address, object values, out string link) - { - return TryGetLinkByAddress(address, values, options: null, out link); - } - - /// - /// Generates a URL with an absolute path from the specified lookup information, route values and link options. - /// This lookup information is used to find endpoints using a registered 'IEndpointFinder<TAddress>'. - /// - /// The address type to look up endpoints. - /// The information used to look up endpoints for generating a URL. - /// An object that contains route values. - /// The . - /// The generated URL. - public string GetLinkByAddress(TAddress address, object values, LinkOptions options) - { - return GetLinkByAddress(httpContext: null, address, values, options); - } - - /// - /// Generates a URL with an absolute path from the specified lookup information, route values and link options. - /// This lookup information is used to find endpoints using a registered 'IEndpointFinder<TAddress>'. - /// A return value indicates whether the operation succeeded. - /// - /// The address type to look up endpoints. - /// The information used to look up endpoints for generating a URL. - /// An object that contains route values. - /// The . - /// The generated URL. - /// true if a URL was generated successfully; otherwise, false. - public bool TryGetLinkByAddress( - TAddress address, - object values, - LinkOptions options, - out string link) - { - return TryGetLinkByAddress(httpContext: null, address, values, options, out link); - } - - /// - /// Generates a URL with an absolute path from the specified lookup information, route values and link options. - /// This lookup information is used to find endpoints using a registered 'IEndpointFinder<TAddress>'. - /// - /// The address type to look up endpoints. - /// The information used to look up endpoints for generating a URL. - /// The associated with current request. - /// An object that contains route values. - /// The generated URL. - public string GetLinkByAddress(HttpContext httpContext, TAddress address, object values) - { - return GetLinkByAddress(httpContext, address, values, options: null); - } - - /// - /// Generates a URL with an absolute path from the specified lookup information and route values. - /// This lookup information is used to find endpoints using a registered 'IEndpointFinder<TAddress>'. - /// A return value indicates whether the operation succeeded. - /// - /// The address type to look up endpoints. - /// The information used to look up endpoints for generating a URL. - /// The associated with current request. - /// An object that contains route values. - /// The generated URL. - /// true if a URL was generated successfully; otherwise, false. - public bool TryGetLinkByAddress( + /// The address type. + /// The associated with the current request. + /// The address value. Used to resolve endpoints. + /// The route values. Used to expand parameters in the route template. Optional. + /// An optional URI fragment. Appended to the resulting URI. + /// + /// An optional . Settings on provided object override the settings with matching + /// names from RouteOptions. + /// + /// A URI with an absolute path, or null. + public abstract string GetPathByAddress( HttpContext httpContext, TAddress address, - object values, - out string link) - { - return TryGetLinkByAddress(httpContext, address, values, options: null, out link); - } + RouteValueDictionary values, + FragmentString fragment = default, + LinkOptions options = default); /// - /// Generates a URL with an absolute path from the specified lookup information, route values and link options. - /// This lookup information is used to find endpoints using a registered 'IEndpointFinder<TAddress>'. + /// Generates a URI with an absolute path based on the provided values. /// - /// The address type to look up endpoints. - /// The information used to look up endpoints for generating a URL. - /// The associated with current request. - /// An object that contains route values. - /// The . - /// The generated URL. - public string GetLinkByAddress( + /// The address type. + /// The address value. Used to resolve endpoints. + /// The route values. Used to expand parameters in the route template. Optional. + /// An optional URI path base. Prepended to the path in the resulting URI. + /// An optional URI fragment. Appended to the resulting URI. + /// + /// An optional . Settings on provided object override the settings with matching + /// names from RouteOptions. + /// + /// A URI with an absolute path, or null. + public abstract string GetPathByAddress( + TAddress address, + RouteValueDictionary values, + PathString pathBase = default, + FragmentString fragment = default, + LinkOptions options = default); + + /// + /// Generates an absolute URI based on the provided values. + /// + /// The address type. + /// The associated with the current request. + /// The address value. Used to resolve endpoints. + /// The route values. Used to expand parameters in the route template. Optional. + /// An optional URI fragment. Appended to the resulting URI. + /// + /// An optional . Settings on provided object override the settings with matching + /// names from RouteOptions. + /// + /// A URI with an absolute path, or null. + public abstract string GetUriByAddress( HttpContext httpContext, TAddress address, - object values, - LinkOptions options) - { - if (TryGetLinkByAddress(httpContext, address, values, options, out var link)) - { - return link; - } - - throw new InvalidOperationException("Could not find a matching endpoint to generate a link."); - } + RouteValueDictionary values, + FragmentString fragment = default, + LinkOptions options = default); /// - /// Generates a URL with an absolute path from the specified lookup information, route values and link options. - /// This lookup information is used to find endpoints using a registered 'IEndpointFinder<TAddress>'. - /// A return value indicates whether the operation succeeded. + /// Generates an absolute URI based on the provided values. /// - /// The address type to look up endpoints. - /// The information used to look up endpoints for generating a URL. - /// The associated with current request. - /// An object that contains route values. - /// The . - /// The generated URL. - /// true if a URL was generated successfully; otherwise, false. - public abstract bool TryGetLinkByAddress( - HttpContext httpContext, + /// The address type. + /// The address value. Used to resolve endpoints. + /// The route values. Used to expand parameters in the route template. Optional. + /// The URI scheme, applied to the resulting URI. + /// The URI host/authority, applied to the resulting URI. + /// An optional URI path base. Prepended to the path in the resulting URI. + /// An optional URI fragment. Appended to the resulting URI. + /// + /// An optional . Settings on provided object override the settings with matching + /// names from RouteOptions. + /// + /// An absolute URI, or null. + public abstract string GetUriByAddress( TAddress address, - object values, - LinkOptions options, - out string link); + RouteValueDictionary values, + string scheme, + HostString host, + PathString pathBase = default, + FragmentString fragment = default, + LinkOptions options = default); /// - /// Gets a to generate a URL from the specified route values. - /// This template object holds information of the endpoint(s) that were found and which can later be used to - /// generate a URL using the api. + /// Gets a based on the provided . /// - /// - /// An object that contains route values. These values are used to lookup endpoint(s). - /// + /// The address type. + /// The address value. Used to resolve endpoints. /// - /// If an endpoint(s) was found successfully, then this returns a template object representing that, - /// null otherwise. + /// A if one or more endpoints matching the address can be found, otherwise null. /// - public LinkGenerationTemplate GetTemplate(object values) - { - return GetTemplate(httpContext: null, routeName: null, values); - } - - /// - /// Gets a to generate a URL from the specified route name and route values. - /// This template object holds information of the endpoint(s) that were found and which can later be used to - /// generate a URL using the api. - /// - /// The name of the route to generate the URL to. - /// - /// An object that contains route values. These values are used to lookup for endpoint(s). - /// - /// - /// If an endpoint(s) was found successfully, then this returns a template object representing that, - /// null otherwise. - /// - public LinkGenerationTemplate GetTemplate(string routeName, object values) - { - return GetTemplate(httpContext: null, routeName, values); - } - - /// - /// Gets a to generate a URL from the specified route values. - /// This template object holds information of the endpoint(s) that were found and which can later be used to - /// generate a URL using the api. - /// - /// The associated with current request. - /// - /// An object that contains route values. These values are used to lookup for endpoint(s). - /// - /// - /// If an endpoint(s) was found successfully, then this returns a template object representing that, - /// null otherwise. - /// - public LinkGenerationTemplate GetTemplate(HttpContext httpContext, object values) - { - return GetTemplate(httpContext, routeName: null, values); - } - - /// - /// Gets a to generate a URL from the specified route name and route values. - /// This template object holds information of the endpoint(s) that were found and which can later be used to - /// generate a URL using the api. - /// - /// The associated with current request. - /// The name of the route to generate the URL to. - /// - /// An object that contains route values. These values are used to lookup for endpoint(s). - /// - /// - /// If an endpoint(s) was found successfully, then this returns a template object representing that, - /// null otherwise. - /// - public abstract LinkGenerationTemplate GetTemplate(HttpContext httpContext, string routeName, object values); - - /// - /// Gets a to generate a URL from the specified lookup information. - /// This template object holds information of the endpoint(s) that were found and which can later be used to - /// generate a URL using the api. - /// The lookup information is used to find endpoints using a registered 'IEndpointFinder<TAddress>'. - /// - /// The address type to look up endpoints. - /// The information used to look up endpoints for creating a template. - /// - /// If an endpoint(s) was found successfully, then this returns a template object representing that, - /// null otherwise. - /// - public LinkGenerationTemplate GetTemplateByAddress(TAddress address) - { - return GetTemplateByAddress(httpContext: null, address); - } - - /// - /// Gets a to generate a URL from the specified lookup information. - /// This template object holds information of the endpoint(s) that were found and which can later be used to - /// generate a URL using the api. - /// The lookup information is used to find endpoints using a registered 'IEndpointFinder<TAddress>'. - /// - /// The address type to look up endpoints. - /// The information used to look up endpoints for creating a template. - /// The associated with current request. - /// - /// If an endpoint(s) was found successfully, then this returns a template object representing that, - /// null otherwise. - /// - public abstract LinkGenerationTemplate GetTemplateByAddress( - HttpContext httpContext, - TAddress address); + public abstract LinkGenerationTemplate GetTemplateByAddress(TAddress address); } } diff --git a/src/Microsoft.AspNetCore.Routing/CompositeEndpointDataSource.cs b/src/Microsoft.AspNetCore.Routing/CompositeEndpointDataSource.cs index 991a324afb..36794aeacc 100644 --- a/src/Microsoft.AspNetCore.Routing/CompositeEndpointDataSource.cs +++ b/src/Microsoft.AspNetCore.Routing/CompositeEndpointDataSource.cs @@ -142,7 +142,7 @@ namespace Microsoft.AspNetCore.Routing sb.Append(" }"); var routeValuesAddressMetadata = routeEndpoint.Metadata.GetMetadata(); sb.Append(", Route Name: "); - sb.Append(routeValuesAddressMetadata?.Name); + sb.Append(routeValuesAddressMetadata?.RouteName); if (routeValuesAddressMetadata?.RequiredValues != null) { sb.Append(", Required Values: new { "); diff --git a/src/Microsoft.AspNetCore.Routing/DefaultLinkGenerationTemplate.cs b/src/Microsoft.AspNetCore.Routing/DefaultLinkGenerationTemplate.cs index 01d4c54267..b1beb67b1b 100644 --- a/src/Microsoft.AspNetCore.Routing/DefaultLinkGenerationTemplate.cs +++ b/src/Microsoft.AspNetCore.Routing/DefaultLinkGenerationTemplate.cs @@ -1,62 +1,98 @@ // Copyright (c) .NET Foundation. All rights reserved. // Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information. +using System; using System.Collections.Generic; using Microsoft.AspNetCore.Http; -using Microsoft.AspNetCore.Routing.Matching; namespace Microsoft.AspNetCore.Routing { - internal class DefaultLinkGenerationTemplate : LinkGenerationTemplate + internal sealed class DefaultLinkGenerationTemplate : LinkGenerationTemplate { - public DefaultLinkGenerationTemplate( - DefaultLinkGenerator linkGenerator, - IEnumerable endpoints, - HttpContext httpContext, - RouteValueDictionary explicitValues, - RouteValueDictionary ambientValues) + public DefaultLinkGenerationTemplate(DefaultLinkGenerator linkGenerator, List endpoints) { LinkGenerator = linkGenerator; Endpoints = endpoints; - HttpContext = httpContext; - EarlierExplicitValues = explicitValues; - AmbientValues = ambientValues; } - internal DefaultLinkGenerator LinkGenerator { get; } + public DefaultLinkGenerator LinkGenerator { get; } - internal IEnumerable Endpoints { get; } + public List Endpoints { get; } - internal HttpContext HttpContext { get; } - - internal RouteValueDictionary EarlierExplicitValues { get; } - - internal RouteValueDictionary AmbientValues { get; } - - public override string MakeUrl(object values, LinkOptions options) + public override string GetPath( + HttpContext httpContext, + object values, + FragmentString fragment = default, + LinkOptions options = null) { - var currentValues = new RouteValueDictionary(values); - var mergedValuesDictionary = new RouteValueDictionary(EarlierExplicitValues); - - foreach (var kvp in currentValues) + if (httpContext == null) { - mergedValuesDictionary[kvp.Key] = kvp.Value; + throw new ArgumentNullException(nameof(httpContext)); } - foreach (var endpoint in Endpoints) + return LinkGenerator.GetPathByEndpoints( + Endpoints, + DefaultLinkGenerator.GetAmbientValues(httpContext), + new RouteValueDictionary(values), + httpContext.Request.PathBase, + fragment, + options); + } + + public override string GetPath( + object values, + PathString pathBase = default, + FragmentString fragment = default, + LinkOptions options = null) + { + return LinkGenerator.GetPathByEndpoints( + Endpoints, + ambientValues: null, + new RouteValueDictionary(values), + pathBase, + fragment, + options); + } + + public override string GetUri( + HttpContext httpContext, + object values, + FragmentString fragment = default, + LinkOptions options = null) + { + if (httpContext == null) { - var link = LinkGenerator.MakeLink( - HttpContext, - endpoint, - AmbientValues, - mergedValuesDictionary, - options); - if (link != null) - { - return link; - } + throw new ArgumentNullException(nameof(httpContext)); } - return null; + + return LinkGenerator.GetUriByEndpoints( + Endpoints, + DefaultLinkGenerator.GetAmbientValues(httpContext), + new RouteValueDictionary(values), + httpContext.Request.Scheme, + httpContext.Request.Host, + httpContext.Request.PathBase, + fragment, + options); + } + + public override string GetUri( + object values, + string scheme, + HostString host, + PathString pathBase = default, + FragmentString fragment = default, + LinkOptions options = null) + { + return LinkGenerator.GetUriByEndpoints( + Endpoints, + ambientValues: null, + new RouteValueDictionary(values), + scheme, + host, + pathBase, + fragment, + options); } } } diff --git a/src/Microsoft.AspNetCore.Routing/DefaultLinkGenerator.cs b/src/Microsoft.AspNetCore.Routing/DefaultLinkGenerator.cs index b60f25eb25..df52926a02 100644 --- a/src/Microsoft.AspNetCore.Routing/DefaultLinkGenerator.cs +++ b/src/Microsoft.AspNetCore.Routing/DefaultLinkGenerator.cs @@ -6,9 +6,9 @@ using System.Collections.Generic; using System.Linq; using System.Text.Encodings.Web; using Microsoft.AspNetCore.Http; +using Microsoft.AspNetCore.Http.Extensions; using Microsoft.AspNetCore.Http.Features; using Microsoft.AspNetCore.Routing.Internal; -using Microsoft.AspNetCore.Routing.Matching; using Microsoft.AspNetCore.Routing.Template; using Microsoft.Extensions.DependencyInjection; using Microsoft.Extensions.Logging; @@ -17,14 +17,17 @@ using Microsoft.Extensions.Options; namespace Microsoft.AspNetCore.Routing { - internal class DefaultLinkGenerator : LinkGenerator + internal sealed class DefaultLinkGenerator : LinkGenerator { - private readonly static char[] UrlQueryDelimiters = new char[] { '?', '#' }; + private static readonly char[] UrlQueryDelimiters = new char[] { '?', '#' }; private readonly ParameterPolicyFactory _parameterPolicyFactory; private readonly ObjectPool _uriBuildingContextPool; private readonly ILogger _logger; private readonly IServiceProvider _serviceProvider; - private readonly RouteOptions _options; + + // A LinkOptions object initialized with the values from RouteOptions + // Used when the user didn't specify something more global. + private readonly LinkOptions _globalLinkOptions; public DefaultLinkGenerator( ParameterPolicyFactory parameterPolicyFactory, @@ -35,73 +38,218 @@ namespace Microsoft.AspNetCore.Routing { _parameterPolicyFactory = parameterPolicyFactory; _uriBuildingContextPool = uriBuildingContextPool; - _options = routeOptions.Value; _logger = logger; _serviceProvider = serviceProvider; + + _globalLinkOptions = new LinkOptions() + { + AppendTrailingSlash = routeOptions.Value.AppendTrailingSlash, + LowercaseQueryStrings = routeOptions.Value.LowercaseQueryStrings, + LowercaseUrls = routeOptions.Value.LowercaseUrls, + }; } - public override bool TryGetLink( - HttpContext httpContext, - string routeName, - object values, - LinkOptions options, - out string link) - { - return TryGetLinkByRouteValues( - httpContext, - routeName, - values, - options, - out link); - } - - public override bool TryGetLinkByAddress( + public override string GetPathByAddress( HttpContext httpContext, TAddress address, - object values, - LinkOptions options, - out string link) + RouteValueDictionary values, + FragmentString fragment = default, + LinkOptions options = null) { - return TryGetLinkByAddressInternal( - httpContext, - address, - explicitValues: values, - ambientValues: GetAmbientValues(httpContext), - options, - out link); + if (httpContext == null) + { + throw new ArgumentNullException(nameof(httpContext)); + } + + var endpoints = GetEndpoints(address); + if (endpoints.Count == 0) + { + return null; + } + + return GetPathByEndpoints( + endpoints, + GetAmbientValues(httpContext), + values, + httpContext.Request.PathBase, + fragment, + options); } - public override LinkGenerationTemplate GetTemplate(HttpContext httpContext, string routeName, object values) + public override string GetPathByAddress( + TAddress address, + RouteValueDictionary values, + PathString pathBase = default, + FragmentString fragment = default, + LinkOptions options = null) { - var ambientValues = GetAmbientValues(httpContext); - var explicitValues = new RouteValueDictionary(values); + var endpoints = GetEndpoints(address); + if (endpoints.Count == 0) + { + return null; + } - return GetTemplateInternal( - httpContext, - new RouteValuesAddress - { - RouteName = routeName, - ExplicitValues = explicitValues, - AmbientValues = ambientValues - }, - ambientValues, - explicitValues, - values); + return GetPathByEndpoints( + endpoints, + ambientValues: null, + values, + pathBase, + fragment, + options); } - public override LinkGenerationTemplate GetTemplateByAddress( + public override string GetUriByAddress( HttpContext httpContext, - TAddress address) + TAddress address, + RouteValueDictionary values, + FragmentString fragment = default, + LinkOptions options = null) { - return GetTemplateInternal(httpContext, address, values: null); + if (httpContext == null) + { + throw new ArgumentNullException(nameof(httpContext)); + } + + var endpoints = GetEndpoints(address); + if (endpoints.Count == 0) + { + return null; + } + + return GetUriByEndpoints( + endpoints, + GetAmbientValues(httpContext), + values, + httpContext.Request.Scheme, + httpContext.Request.Host, + httpContext.Request.PathBase, + fragment, + options); } - internal string MakeLink( + public override string GetUriByAddress( + TAddress address, + RouteValueDictionary values, + string scheme, + HostString host, + PathString pathBase = default, + FragmentString fragment = default, + LinkOptions options = null) + { + if (!host.HasValue) + { + throw new ArgumentNullException(nameof(host)); + } + + var endpoints = GetEndpoints(address); + if (endpoints.Count == 0) + { + return null; + } + + return GetUriByEndpoints( + endpoints, + ambientValues: null, + values, + scheme, + host, + pathBase, + fragment, + options); + } + + public override LinkGenerationTemplate GetTemplateByAddress(TAddress address) + { + var endpoints = GetEndpoints(address); + if (endpoints.Count == 0) + { + return null; + } + + return new DefaultLinkGenerationTemplate(this, endpoints); + } + + private List GetEndpoints(TAddress address) + { + var addressingScheme = _serviceProvider.GetRequiredService>(); + return addressingScheme.FindEndpoints(address).OfType().ToList(); + } + + // Also called from DefaultLinkGenerationTemplate + public string GetPathByEndpoints( + List endpoints, + RouteValueDictionary ambientValues, + RouteValueDictionary values, + PathString pathBase, + FragmentString fragment, + LinkOptions options) + { + for (var i = 0; i < endpoints.Count; i++) + { + var endpoint = endpoints[i]; + if (TryProcessTemplate( + httpContext: null, + endpoint, + ambientValues: ambientValues, + values, + options, + out var result)) + { + + return UriHelper.BuildRelative( + pathBase, + result.path, + result.query, + fragment); + } + } + + return null; + } + + // Also called from DefaultLinkGenerationTemplate + public string GetUriByEndpoints( + List endpoints, + RouteValueDictionary ambientValues, + RouteValueDictionary values, + string scheme, + HostString host, + PathString pathBase, + FragmentString fragment, + LinkOptions options) + { + for (var i = 0; i < endpoints.Count; i++) + { + var endpoint = endpoints[i]; + if (TryProcessTemplate( + httpContext: null, + endpoint, + ambientValues: ambientValues, + values, + options, + out var result)) + { + return UriHelper.BuildAbsolute( + scheme, + host, + pathBase, + result.path, + result.query, + fragment); + } + } + + return null; + } + + // Internal for testing + internal bool TryProcessTemplate( HttpContext httpContext, RouteEndpoint endpoint, RouteValueDictionary ambientValues, RouteValueDictionary explicitValues, - LinkOptions options) + LinkOptions options, + out (PathString path, QueryString query) result) { var templateBinder = new TemplateBinder( UrlEncoder.Default, @@ -117,118 +265,22 @@ namespace Microsoft.AspNetCore.Routing if (templateValuesResult == null) { // We're missing one of the required values for this route. - return null; + result = default; + return false; } if (!MatchesConstraints(httpContext, endpoint, templateValuesResult.CombinedValues)) { - return null; + result = default; + return false; } - var url = templateBinder.BindValues(templateValuesResult.AcceptedValues); - return Normalize(url, options); - } - - private bool TryGetLinkByRouteValues( - HttpContext httpContext, - string routeName, - object values, - LinkOptions options, - out string link) - { - var ambientValues = GetAmbientValues(httpContext); - - var address = new RouteValuesAddress - { - RouteName = routeName, - ExplicitValues = new RouteValueDictionary(values), - AmbientValues = ambientValues - }; - - return TryGetLinkByAddressInternal( - httpContext, - address, - explicitValues: values, - ambientValues: ambientValues, - options, - out link); - } - - private bool TryGetLinkByAddressInternal( - HttpContext httpContext, - TAddress address, - object explicitValues, - RouteValueDictionary ambientValues, - LinkOptions options, - out string link) - { - link = null; - - var endpoints = FindEndpoints(address); - if (endpoints == null) + if (!templateBinder.TryBindValues(templateValuesResult.AcceptedValues, options, _globalLinkOptions, out result)) { return false; } - foreach (var endpoint in endpoints) - { - link = MakeLink( - httpContext, - endpoint, - ambientValues, - new RouteValueDictionary(explicitValues), - options); - - if (link != null) - { - return true; - } - } - - return false; - } - - private LinkGenerationTemplate GetTemplateInternal( - HttpContext httpContext, - TAddress address, - object values) - { - var endpoints = FindEndpoints(address); - if (endpoints == null) - { - return null; - } - - var ambientValues = GetAmbientValues(httpContext); - var explicitValues = new RouteValueDictionary(values); - - return new DefaultLinkGenerationTemplate( - this, - endpoints, - httpContext, - explicitValues, - ambientValues); - } - - private LinkGenerationTemplate GetTemplateInternal( - HttpContext httpContext, - TAddress address, - RouteValueDictionary ambientValues, - RouteValueDictionary explicitValues, - object values) - { - var endpoints = FindEndpoints(address); - if (endpoints == null) - { - return null; - } - - return new DefaultLinkGenerationTemplate( - this, - endpoints, - httpContext, - explicitValues, - ambientValues); + return true; } private bool MatchesConstraints( @@ -260,75 +312,10 @@ namespace Microsoft.AspNetCore.Routing return true; } - private string Normalize(string url, LinkOptions options) + // Also called from DefaultLinkGenerationTemplate + public static RouteValueDictionary GetAmbientValues(HttpContext httpContext) { - var lowercaseUrls = options?.LowercaseUrls ?? _options.LowercaseUrls; - var lowercaseQueryStrings = options?.LowercaseQueryStrings ?? _options.LowercaseQueryStrings; - var appendTrailingSlash = options?.AppendTrailingSlash ?? _options.AppendTrailingSlash; - - if (!string.IsNullOrEmpty(url) && (lowercaseUrls || appendTrailingSlash)) - { - var indexOfSeparator = url.IndexOfAny(UrlQueryDelimiters); - var urlWithoutQueryString = url; - var queryString = string.Empty; - - if (indexOfSeparator != -1) - { - urlWithoutQueryString = url.Substring(0, indexOfSeparator); - queryString = url.Substring(indexOfSeparator); - } - - if (lowercaseUrls) - { - urlWithoutQueryString = urlWithoutQueryString.ToLowerInvariant(); - } - - if (lowercaseUrls && lowercaseQueryStrings) - { - queryString = queryString.ToLowerInvariant(); - } - - if (appendTrailingSlash && !urlWithoutQueryString.EndsWith("/", StringComparison.Ordinal)) - { - urlWithoutQueryString += "/"; - } - - // queryString will contain the delimiter ? or # as the first character, so it's safe to append. - url = urlWithoutQueryString + queryString; - } - - return url; - } - - private RouteValueDictionary GetAmbientValues(HttpContext httpContext) - { - if (httpContext != null) - { - var feature = httpContext.Features.Get(); - if (feature != null) - { - return feature.RouteValues; - } - } - return new RouteValueDictionary(); - } - - private IEnumerable FindEndpoints(TAddress address) - { - var finder = _serviceProvider.GetRequiredService>(); - var endpoints = finder.FindEndpoints(address); - if (endpoints == null) - { - return null; - } - - var routeEndpoints = endpoints.OfType(); - if (!routeEndpoints.Any()) - { - return null; - } - - return routeEndpoints; + return httpContext?.Features.Get()?.RouteValues; } } } diff --git a/src/Microsoft.AspNetCore.Routing/IRouteValuesAddressMetadata.cs b/src/Microsoft.AspNetCore.Routing/IRouteValuesAddressMetadata.cs index 0d60e5db92..1e771c27d8 100644 --- a/src/Microsoft.AspNetCore.Routing/IRouteValuesAddressMetadata.cs +++ b/src/Microsoft.AspNetCore.Routing/IRouteValuesAddressMetadata.cs @@ -7,7 +7,7 @@ namespace Microsoft.AspNetCore.Routing { public interface IRouteValuesAddressMetadata { - string Name { get; } + string RouteName { get; } IReadOnlyDictionary RequiredValues { get; } } } diff --git a/src/Microsoft.AspNetCore.Routing/Internal/UriBuildingContext.cs b/src/Microsoft.AspNetCore.Routing/Internal/UriBuildingContext.cs index 3b7c3b743d..2b5c506af6 100644 --- a/src/Microsoft.AspNetCore.Routing/Internal/UriBuildingContext.cs +++ b/src/Microsoft.AspNetCore.Routing/Internal/UriBuildingContext.cs @@ -6,16 +6,18 @@ using System.Diagnostics; using System.IO; using System.Text; using System.Text.Encodings.Web; +using Microsoft.AspNetCore.Http; namespace Microsoft.AspNetCore.Routing.Internal { [DebuggerDisplay("{DebuggerToString(),nq}")] public class UriBuildingContext { - // Holds the 'accepted' parts of the uri. - private readonly StringBuilder _uri; + // Holds the 'accepted' parts of the path. + private readonly StringBuilder _path; + private StringBuilder _query; - // Holds the 'optional' parts of the uri. We need a secondary buffer to handle cases where an optional + // Holds the 'optional' parts of the path. We need a secondary buffer to handle cases where an optional // segment is in the middle of the uri. We don't know if we need to write it out - if it's // followed by other optional segments than we will just throw it away. private readonly List _buffer; @@ -27,20 +29,30 @@ namespace Microsoft.AspNetCore.Routing.Internal public UriBuildingContext(UrlEncoder urlEncoder) { _urlEncoder = urlEncoder; - _uri = new StringBuilder(); + _path = new StringBuilder(); + _query = new StringBuilder(); _buffer = new List(); - Writer = new StringWriter(_uri); + PathWriter = new StringWriter(_path); + QueryWriter = new StringWriter(_query); _lastValueOffset = -1; BufferState = SegmentState.Beginning; UriState = SegmentState.Beginning; } + + public bool LowercaseUrls { get; set; } + + public bool LowercaseQueryStrings { get; set; } + + public bool AppendTrailingSlash { get; set; } public SegmentState BufferState { get; private set; } public SegmentState UriState { get; private set; } - public TextWriter Writer { get; } + public TextWriter PathWriter { get; } + + public TextWriter QueryWriter { get; } public bool Accept(string value) { @@ -68,6 +80,12 @@ namespace Microsoft.AspNetCore.Routing.Internal return false; } + // NOTE: this needs to be above all 'EncodeValue' and _path.Append calls + if (LowercaseUrls) + { + value = value.ToLowerInvariant(); + } + for (var i = 0; i < _buffer.Count; i++) { if (_buffer[i].RequiresEncoding) @@ -76,29 +94,29 @@ namespace Microsoft.AspNetCore.Routing.Internal } else { - _uri.Append(_buffer[i].Value); + _path.Append(_buffer[i].Value); } } _buffer.Clear(); if (UriState == SegmentState.Beginning && BufferState == SegmentState.Beginning) { - if (_uri.Length != 0) + if (_path.Length != 0) { - _uri.Append("/"); + _path.Append("/"); } } BufferState = SegmentState.Inside; UriState = SegmentState.Inside; - _lastValueOffset = _uri.Length; + _lastValueOffset = _path.Length; // Allow the first segment to have a leading slash. // This prevents the leading slash from PathString segments from being encoded. - if (_uri.Length == 0 && value.Length > 0 && value[0] == '/') + if (_path.Length == 0 && value.Length > 0 && value[0] == '/') { - _uri.Append("/"); + _path.Append("/"); EncodeValue(value, 1, value.Length - 1, encodeSlashes); } else @@ -112,7 +130,7 @@ namespace Microsoft.AspNetCore.Routing.Internal public void Remove(string literal) { Debug.Assert(_lastValueOffset != -1, "Cannot invoke Remove more than once."); - _uri.Length = _lastValueOffset; + _path.Length = _lastValueOffset; _lastValueOffset = -1; } @@ -152,7 +170,7 @@ namespace Microsoft.AspNetCore.Routing.Internal if (UriState == SegmentState.Beginning && BufferState == SegmentState.Beginning) { - if (_uri.Length != 0 || _buffer.Count != 0) + if (_path.Length != 0 || _buffer.Count != 0) { _buffer.Add(new BufferValue("/", requiresEncoding: false)); } @@ -172,11 +190,17 @@ namespace Microsoft.AspNetCore.Routing.Internal public void Clear() { - _uri.Clear(); - if (_uri.Capacity > 128) + _path.Clear(); + if (_path.Capacity > 128) { // We don't want to retain too much memory if this is getting pooled. - _uri.Capacity = 128; + _path.Capacity = 128; + } + + _query.Clear(); + if (_query.Capacity > 128) + { + _query.Capacity = 128; } _buffer.Clear(); @@ -189,18 +213,52 @@ namespace Microsoft.AspNetCore.Routing.Internal _lastValueOffset = -1; BufferState = SegmentState.Beginning; UriState = SegmentState.Beginning; + + AppendTrailingSlash = false; + LowercaseQueryStrings = false; + LowercaseUrls = false; } + // Used by TemplateBinder.BindValues - the legacy code path of IRouter public override string ToString() { // We can ignore any currently buffered segments - they are are guaranteed to be 'defaults'. - if (_uri.Length > 0 && _uri[0] != '/') + if (_path.Length > 0 && _path[0] != '/') { // Normalize generated paths so that they always contain a leading slash. - _uri.Insert(0, '/'); + _path.Insert(0, '/'); } - return _uri.ToString(); + return _path.ToString() + _query.ToString(); + } + + // Used by TemplateBinder.TryBindValues - the new code path of LinkGenerator + public PathString ToPathString() + { + if (_path.Length > 0 && _path[0] != '/') + { + // Normalize generated paths so that they always contain a leading slash. + _path.Insert(0, '/'); + } + + if (AppendTrailingSlash && _path.Length > 0 && _path[_path.Length - 1] != '/') + { + _path.Append('/'); + } + + return new PathString(_path.ToString()); + } + + // Used by TemplateBinder.TryBindValues - the new code path of LinkGenerator + public QueryString ToQueryString() + { + if (_query.Length > 0 && _query[0] != '?') + { + // Normalize generated query so that they always contain a leading ?. + _query.Insert(0, '?'); + } + + return new QueryString(_query.ToString()); } private void EncodeValue(string value) @@ -219,7 +277,7 @@ namespace Microsoft.AspNetCore.Routing.Internal // Just encode everything if its ok to encode slashes if (encodeSlashes) { - _urlEncoder.Encode(Writer, value, start, characterCount); + _urlEncoder.Encode(PathWriter, value, start, characterCount); } else { @@ -227,8 +285,8 @@ namespace Microsoft.AspNetCore.Routing.Internal int length = start + characterCount; while ((end = value.IndexOf('/', start, characterCount)) >= 0) { - _urlEncoder.Encode(Writer, value, start, end - start); - _uri.Append("/"); + _urlEncoder.Encode(PathWriter, value, start, end - start); + _path.Append("/"); start = end + 1; characterCount = length - start; @@ -236,14 +294,14 @@ namespace Microsoft.AspNetCore.Routing.Internal if (end < 0 && characterCount >= 0) { - _urlEncoder.Encode(Writer, value, start, length - start); + _urlEncoder.Encode(PathWriter, value, start, length - start); } } } private string DebuggerToString() { - return string.Format("{{Accepted: '{0}' Buffered: '{1}'}}", _uri, string.Join("", _buffer)); + return string.Format("{{Accepted: '{0}' Buffered: '{1}'}}", _path, string.Join("", _buffer)); } } } diff --git a/src/Microsoft.AspNetCore.Routing/LinkGeneratorRouteValuesAddressExtensions.cs b/src/Microsoft.AspNetCore.Routing/LinkGeneratorRouteValuesAddressExtensions.cs new file mode 100644 index 0000000000..0e2f8a663c --- /dev/null +++ b/src/Microsoft.AspNetCore.Routing/LinkGeneratorRouteValuesAddressExtensions.cs @@ -0,0 +1,95 @@ +// Copyright (c) .NET Foundation. All rights reserved. +// Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information. + +using Microsoft.AspNetCore.Http; +using System; + +namespace Microsoft.AspNetCore.Routing +{ + /// + /// Extension methods for using with . + /// + public static class LinkGeneratorRouteValuesAddressExtensions + { + public static string GetPathByRouteValues( + this LinkGenerator generator, + HttpContext httpContext, + string routeName, + object values, + FragmentString fragment = default, + LinkOptions options = default) + { + if (generator == null) + { + throw new ArgumentNullException(nameof(generator)); + } + + var address = CreateAddress(httpContext, routeName, values); + return generator.GetPathByAddress(httpContext, address, address.ExplicitValues, fragment, options); + } + + public static string GetPathByRouteValues( + this LinkGenerator generator, + string routeName, + object values, + PathString pathBase = default, + FragmentString fragment = default, + LinkOptions options = default) + { + if (generator == null) + { + throw new ArgumentNullException(nameof(generator)); + } + + var address = CreateAddress(httpContext: null, routeName, values); + return generator.GetPathByAddress(address, address.ExplicitValues, pathBase, fragment, options); + } + + public static string GetUriByRouteValues( + this LinkGenerator generator, + HttpContext httpContext, + string routeName, + object values, + FragmentString fragment = default, + LinkOptions options = default) + { + if (generator == null) + { + throw new ArgumentNullException(nameof(generator)); + } + + var address = CreateAddress(httpContext: null, routeName, values); + return generator.GetUriByAddress(httpContext, address, address.ExplicitValues, fragment, options); + } + + public static string GetUriByRouteValues( + this LinkGenerator generator, + string routeName, + object values, + string scheme, + HostString host, + PathString pathBase = default, + FragmentString fragment = default, + LinkOptions options = default) + { + if (generator == null) + { + throw new ArgumentNullException(nameof(generator)); + } + + var address = CreateAddress(httpContext: null, routeName, values); + return generator.GetUriByAddress(address, address.ExplicitValues, scheme, host, pathBase, fragment, options); + } + + + private static RouteValuesAddress CreateAddress(HttpContext httpContext, string routeName, object values) + { + return new RouteValuesAddress() + { + AmbientValues = DefaultLinkGenerator.GetAmbientValues(httpContext), + ExplicitValues = new RouteValueDictionary(values), + RouteName = routeName, + }; + } + } +} diff --git a/src/Microsoft.AspNetCore.Routing/RouteValuesAddressMetadata.cs b/src/Microsoft.AspNetCore.Routing/RouteValuesAddressMetadata.cs index 6d110a70d6..a65c48101a 100644 --- a/src/Microsoft.AspNetCore.Routing/RouteValuesAddressMetadata.cs +++ b/src/Microsoft.AspNetCore.Routing/RouteValuesAddressMetadata.cs @@ -11,19 +11,19 @@ namespace Microsoft.AspNetCore.Routing [DebuggerDisplay("{DebuggerToString(),nq}")] public sealed class RouteValuesAddressMetadata : IRouteValuesAddressMetadata { - public RouteValuesAddressMetadata(string name, IReadOnlyDictionary requiredValues) + public RouteValuesAddressMetadata(string routeName, IReadOnlyDictionary requiredValues) { - Name = name; + RouteName = routeName; RequiredValues = requiredValues; } - public string Name { get; } + public string RouteName { get; } public IReadOnlyDictionary RequiredValues { get; } internal string DebuggerToString() { - return $"Name: {Name} - Required values: {string.Join(", ", FormatValues(RequiredValues))}"; + return $"Name: {RouteName} - Required values: {string.Join(", ", FormatValues(RequiredValues))}"; IEnumerable FormatValues(IEnumerable> values) { diff --git a/src/Microsoft.AspNetCore.Routing/RouteValuesBasedEndpointFinder.cs b/src/Microsoft.AspNetCore.Routing/RouteValuesBasedEndpointFinder.cs index a55e1b7274..3ce63cea56 100644 --- a/src/Microsoft.AspNetCore.Routing/RouteValuesBasedEndpointFinder.cs +++ b/src/Microsoft.AspNetCore.Routing/RouteValuesBasedEndpointFinder.cs @@ -147,7 +147,7 @@ namespace Microsoft.AspNetCore.Routing RequiredLinkValues = new RouteValueDictionary(routeValuesAddressMetadata?.RequiredValues), RouteTemplate = new RouteTemplate(endpoint.RoutePattern), Data = endpoint, - RouteName = routeValuesAddressMetadata?.Name, + RouteName = routeValuesAddressMetadata?.RouteName, }; entry.Defaults = new RouteValueDictionary(endpoint.RoutePattern.Defaults); return entry; diff --git a/src/Microsoft.AspNetCore.Routing/Template/TemplateBinder.cs b/src/Microsoft.AspNetCore.Routing/Template/TemplateBinder.cs index c96f540133..7579e27232 100644 --- a/src/Microsoft.AspNetCore.Routing/Template/TemplateBinder.cs +++ b/src/Microsoft.AspNetCore.Routing/Template/TemplateBinder.cs @@ -160,12 +160,48 @@ namespace Microsoft.AspNetCore.Routing.Template public string BindValues(RouteValueDictionary acceptedValues) { var context = _pool.Get(); - var result = BindValues(context, acceptedValues); - _pool.Return(context); - return result; + + try + { + return TryBindValuesCore(context, acceptedValues) ? context.ToString() : null; + } + finally + { + _pool.Return(context); + } } - private string BindValues(UriBuildingContext context, RouteValueDictionary acceptedValues) + // Step 2: If the route is a match generate the appropriate URI + internal bool TryBindValues( + RouteValueDictionary acceptedValues, + LinkOptions options, + LinkOptions globalOptions, + out (PathString path, QueryString query) result) + { + var context = _pool.Get(); + + context.AppendTrailingSlash = options?.AppendTrailingSlash ?? globalOptions.AppendTrailingSlash ?? false; + context.LowercaseQueryStrings = options?.LowercaseQueryStrings ?? globalOptions.LowercaseQueryStrings ?? false; + context.LowercaseUrls = options?.LowercaseUrls ?? globalOptions.LowercaseUrls ?? false; + + try + { + if (TryBindValuesCore(context, acceptedValues)) + { + result = (context.ToPathString(), context.ToQueryString()); + return true; + } + + result = default; + return false; + } + finally + { + _pool.Return(context); + } + } + + private bool TryBindValuesCore(UriBuildingContext context, RouteValueDictionary acceptedValues) { for (var i = 0; i < _pattern.PathSegments.Count; i++) { @@ -182,14 +218,14 @@ namespace Microsoft.AspNetCore.Routing.Template { if (!context.Accept(literalPart.Content)) { - return null; + return false; } } else if (part is RoutePatternSeparatorPart separatorPart) { if (!context.Accept(separatorPart.Content)) { - return null; + return false; } } else if (part is RoutePatternParameterPart parameterPart) @@ -216,7 +252,7 @@ namespace Microsoft.AspNetCore.Routing.Template // we won't necessarily add it to the URI we generate. if (!context.Buffer(converted)) { - return null; + return false; } } else @@ -237,7 +273,7 @@ namespace Microsoft.AspNetCore.Routing.Template } else { - return null; + return false; } } } @@ -262,26 +298,33 @@ namespace Microsoft.AspNetCore.Routing.Template { foreach (var value in values) { - wroteFirst |= AddParameterToContext(context, kvp.Key, value, wroteFirst); + wroteFirst |= AddQueryKeyValueToContext(context, kvp.Key, value, wroteFirst); } } else { - wroteFirst |= AddParameterToContext(context, kvp.Key, kvp.Value, wroteFirst); + wroteFirst |= AddQueryKeyValueToContext(context, kvp.Key, kvp.Value, wroteFirst); } } - return context.ToString(); + + return true; } - private bool AddParameterToContext(UriBuildingContext context, string key, object value, bool wroteFirst) + private bool AddQueryKeyValueToContext(UriBuildingContext context, string key, object value, bool wroteFirst) { var converted = Convert.ToString(value, CultureInfo.InvariantCulture); if (!string.IsNullOrEmpty(converted)) { - context.Writer.Write(wroteFirst ? '&' : '?'); - _urlEncoder.Encode(context.Writer, key); - context.Writer.Write('='); - _urlEncoder.Encode(context.Writer, converted); + if (context.LowercaseQueryStrings) + { + key = key.ToLowerInvariant(); + converted = converted.ToLowerInvariant(); + } + + context.QueryWriter.Write(wroteFirst ? '&' : '?'); + _urlEncoder.Encode(context.QueryWriter, key); + context.QueryWriter.Write('='); + _urlEncoder.Encode(context.QueryWriter, converted); return true; } return false; diff --git a/test/Microsoft.AspNetCore.Routing.Tests/DefaultLinkGenerationTemplateTest.cs b/test/Microsoft.AspNetCore.Routing.Tests/DefaultLinkGenerationTemplateTest.cs new file mode 100644 index 0000000000..f76eec2f75 --- /dev/null +++ b/test/Microsoft.AspNetCore.Routing.Tests/DefaultLinkGenerationTemplateTest.cs @@ -0,0 +1,153 @@ +// Copyright (c) .NET Foundation. All rights reserved. +// Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information. + +using System.Collections.Generic; +using Microsoft.AspNetCore.Http; +using Xunit; + +namespace Microsoft.AspNetCore.Routing +{ + // Tests DefaultLinkGenerationTemplate functionality - these are pretty light since most of the functionality + // is a direct subset of DefaultLinkGenerator + // + // Does not cover template processing in detail, those scenarios are validated by TemplateBinderTests + // and DefaultLinkGeneratorProcessTemplateTest + public class DefaultLinkGenerationTemplateTest : LinkGeneratorTestBase + { + [Fact] + public void GetPath_WithoutHttpContext_WithPathBaseAndFragment() + { + // Arrange + var endpoint1 = EndpointFactory.CreateRouteEndpoint("{controller}/{action}/{id}"); + var endpoint2 = EndpointFactory.CreateRouteEndpoint("{controller}/{action}/{id?}"); + + var linkGenerator = CreateLinkGenerator(); + var template = new DefaultLinkGenerationTemplate(linkGenerator, new List() { endpoint1, endpoint2, }); + + // Act + var path = template.GetPath( + values: new RouteValueDictionary(new { controller = "Home", action = "In?dex", query = "some?query" }), + new PathString("/Foo/Bar?encodeme?"), + new FragmentString("#Fragment?"), + new LinkOptions() { AppendTrailingSlash = true, }); + + // Assert + Assert.Equal("/Foo/Bar%3Fencodeme%3F/Home/In%3Fdex/?query=some%3Fquery#Fragment?", path); + } + + [Fact] + public void GetPath_WithHttpContext_WithPathBaseAndFragment() + { + // Arrange + var endpoint1 = EndpointFactory.CreateRouteEndpoint("{controller}/{action}/{id}"); + var endpoint2 = EndpointFactory.CreateRouteEndpoint("{controller}/{action}/{id?}"); + + var linkGenerator = CreateLinkGenerator(); + var template = new DefaultLinkGenerationTemplate(linkGenerator, new List() { endpoint1, endpoint2, }); + + var httpContext = CreateHttpContext(); + httpContext.Request.PathBase = new PathString("/Foo/Bar?encodeme?"); + + // Act + var path = template.GetPath( + httpContext, + values: new RouteValueDictionary(new { controller = "Home", action = "In?dex", query = "some?query" }), + new FragmentString("#Fragment?"), + new LinkOptions() { AppendTrailingSlash = true, }); + + // Assert + Assert.Equal("/Foo/Bar%3Fencodeme%3F/Home/In%3Fdex/?query=some%3Fquery#Fragment?", path); + } + + [Fact] + public void GetUri_WithoutHttpContext_WithPathBaseAndFragment() + { + // Arrange + var endpoint1 = EndpointFactory.CreateRouteEndpoint("{controller}/{action}/{id}"); + var endpoint2 = EndpointFactory.CreateRouteEndpoint("{controller}/{action}/{id?}"); + + var linkGenerator = CreateLinkGenerator(); + var template = new DefaultLinkGenerationTemplate(linkGenerator, new List() { endpoint1, endpoint2, }); + + // Act + var path = template.GetUri( + values: new RouteValueDictionary(new { controller = "Home", action = "In?dex", query = "some?query" }), + "http", + new HostString("example.com"), + new PathString("/Foo/Bar?encodeme?"), + new FragmentString("#Fragment?"), + new LinkOptions() { AppendTrailingSlash = true, }); + + // Assert + Assert.Equal("http://example.com/Foo/Bar%3Fencodeme%3F/Home/In%3Fdex/?query=some%3Fquery#Fragment?", path); + } + + [Fact] + public void GetUri_WithHttpContext_WithPathBaseAndFragment() + { + // Arrange + var endpoint1 = EndpointFactory.CreateRouteEndpoint("{controller}/{action}/{id}"); + var endpoint2 = EndpointFactory.CreateRouteEndpoint("{controller}/{action}/{id?}"); + + var linkGenerator = CreateLinkGenerator(); + var template = new DefaultLinkGenerationTemplate(linkGenerator, new List() { endpoint1, endpoint2, }); + + var httpContext = CreateHttpContext(); + httpContext.Request.Scheme = "http"; + httpContext.Request.Host = new HostString("example.com"); + httpContext.Request.PathBase = new PathString("/Foo/Bar?encodeme?"); + + // Act + var uri = template.GetUri( + httpContext, + values: new RouteValueDictionary(new { controller = "Home", action = "In?dex", query = "some?query" }), + new FragmentString("#Fragment?"), + new LinkOptions() { AppendTrailingSlash = true, }); + + // Assert + Assert.Equal("http://example.com/Foo/Bar%3Fencodeme%3F/Home/In%3Fdex/?query=some%3Fquery#Fragment?", uri); + } + + [Fact] + public void GetPath_WithHttpContext_IncludesAmbientValues() + { + // Arrange + var endpoint1 = EndpointFactory.CreateRouteEndpoint("{controller}/{action}/{id}"); + var endpoint2 = EndpointFactory.CreateRouteEndpoint("{controller}/{action}/{id?}"); + + var linkGenerator = CreateLinkGenerator(); + var template = new DefaultLinkGenerationTemplate(linkGenerator, new List() { endpoint1, endpoint2, }); + + var httpContext = CreateHttpContext(new { controller = "Home", }); + httpContext.Request.Scheme = "http"; + httpContext.Request.Host = new HostString("example.com"); + + // Act + var uri = template.GetPath(httpContext, values: new RouteValueDictionary(new { action = "Index", })); + + // Assert + Assert.Equal("/Home/Index", uri); + } + + [Fact] + public void GetUri_WithHttpContext_IncludesAmbientValues() + { + // Arrange + var endpoint1 = EndpointFactory.CreateRouteEndpoint("{controller}/{action}/{id}"); + var endpoint2 = EndpointFactory.CreateRouteEndpoint("{controller}/{action}/{id?}"); + + var linkGenerator = CreateLinkGenerator(); + var template = new DefaultLinkGenerationTemplate(linkGenerator, new List() { endpoint1, endpoint2, }); + + var httpContext = CreateHttpContext(new { controller = "Home", }); + httpContext.Request.Scheme = "http"; + httpContext.Request.Host = new HostString("example.com"); + + // Act + var uri = template.GetUri(httpContext, values: new { action = "Index", }); + + // Assert + Assert.Equal("http://example.com/Home/Index", uri); + } + } +} diff --git a/test/Microsoft.AspNetCore.Routing.Tests/DefaultLinkGeneratorProcessTemplateTest.cs b/test/Microsoft.AspNetCore.Routing.Tests/DefaultLinkGeneratorProcessTemplateTest.cs new file mode 100644 index 0000000000..ea202ff786 --- /dev/null +++ b/test/Microsoft.AspNetCore.Routing.Tests/DefaultLinkGeneratorProcessTemplateTest.cs @@ -0,0 +1,1503 @@ +// Copyright (c) .NET Foundation. All rights reserved. +// Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information. + +using System.Collections.Generic; +using System.Linq; +using Microsoft.AspNetCore.Http; +using Microsoft.AspNetCore.Routing.Constraints; +using Microsoft.AspNetCore.Routing.TestObjects; +using Moq; +using Xunit; + +namespace Microsoft.AspNetCore.Routing +{ + // Detailed coverage for how DefaultLinkGenerator processes templates + public class DefaultLinkGeneratorProcessTemplateTest : LinkGeneratorTestBase + { + [Fact] + public void TryProcessTemplate_EncodesIntermediate_DefaultValues() + { + // Arrange + var endpoint = EndpointFactory.CreateRouteEndpoint("{p1}/{p2=a b}/{p3=foo}"); + var linkGenerator = CreateLinkGenerator(endpoint); + + // Act + var success = linkGenerator.TryProcessTemplate( + httpContext: null, + endpoint: endpoint, + ambientValues: null, + explicitValues: new RouteValueDictionary(new { p1 = "Home", p3 = "bar", }), + options: null, + out var result); + + // Assert + Assert.True(success); + Assert.Equal("/Home/a%20b/bar", result.path.ToUriComponent()); + Assert.Equal(string.Empty, result.query.ToUriComponent()); + } + + [Theory] + [InlineData("a/b/c", "/Home/Index/a%2Fb%2Fc")] + [InlineData("a/b b1/c c1", "/Home/Index/a%2Fb%20b1%2Fc%20c1")] + public void TryProcessTemplate_EncodesValue_OfSingleAsteriskCatchAllParameter(string routeValue, string expected) + { + // Arrange + var endpoint = EndpointFactory.CreateRouteEndpoint("{controller}/{action}/{*path}"); + var linkGenerator = CreateLinkGenerator(endpoint); + var httpContext = CreateHttpContext(ambientValues: new { controller = "Home", action = "Index" }); + + // Act + var success = linkGenerator.TryProcessTemplate( + httpContext: httpContext, + endpoint: endpoint, + ambientValues: DefaultLinkGenerator.GetAmbientValues(httpContext), + explicitValues: new RouteValueDictionary(new { path = routeValue, }), + options: null, + out var result); + + // Assert + Assert.True(success); + Assert.Equal(expected, result.path.ToUriComponent()); + Assert.Equal(string.Empty, result.query.ToUriComponent()); + } + + [Theory] + [InlineData("/", "/Home/Index//")] + [InlineData("a", "/Home/Index/a")] + [InlineData("a/", "/Home/Index/a/")] + [InlineData("a/b", "/Home/Index/a/b")] + [InlineData("a/b/c", "/Home/Index/a/b/c")] + [InlineData("a/b/cc", "/Home/Index/a/b/cc")] + [InlineData("a/b/c/", "/Home/Index/a/b/c/")] + [InlineData("a/b/c//", "/Home/Index/a/b/c//")] + [InlineData("a//b//c", "/Home/Index/a//b//c")] + public void TryProcessTemplate_DoesNotEncodeSlashes_OfDoubleAsteriskCatchAllParameter(string routeValue, string expected) + { + // Arrange + var endpoint = EndpointFactory.CreateRouteEndpoint("{controller}/{action}/{**path}"); + var linkGenerator = CreateLinkGenerator(endpoint); + var httpContext = CreateHttpContext(ambientValues: new { controller = "Home", action = "Index" }); + + // Act + var success = linkGenerator.TryProcessTemplate( + httpContext: httpContext, + endpoint: endpoint, + ambientValues: DefaultLinkGenerator.GetAmbientValues(httpContext), + explicitValues: new RouteValueDictionary(new { path = routeValue, }), + options: null, + out var result); + + // Assert + Assert.True(success); + Assert.Equal(expected, result.path.ToUriComponent()); + Assert.Equal(string.Empty, result.query.ToUriComponent()); + } + + [Fact] + public void TryProcessTemplate_EncodesContentOtherThanSlashes_OfDoubleAsteriskCatchAllParameter() + { + // Arrange + var endpoint = EndpointFactory.CreateRouteEndpoint("{controller}/{action}/{**path}"); + var linkGenerator = CreateLinkGenerator(endpoint); + var httpContext = CreateHttpContext(ambientValues: new { controller = "Home", action = "Index" }); + + // Act + var success = linkGenerator.TryProcessTemplate( + httpContext: httpContext, + endpoint: endpoint, + ambientValues: DefaultLinkGenerator.GetAmbientValues(httpContext), + explicitValues: new RouteValueDictionary(new { path = "a/b b1/c c1" }), + options: null, + out var result); + + // Assert + Assert.True(success); + Assert.Equal("/Home/Index/a/b%20b1/c%20c1", result.path.ToUriComponent()); + Assert.Equal(string.Empty, result.query.ToUriComponent()); + } + + [Fact] + public void TryProcessTemplate_EncodesValues() + { + // Arrange + var endpoint = EndpointFactory.CreateRouteEndpoint("{controller}/{action}"); + var linkGenerator = CreateLinkGenerator(endpoint); + var httpContext = CreateHttpContext(ambientValues: new { controller = "Home", action = "Index" }); + + // Act + var success = linkGenerator.TryProcessTemplate( + httpContext: httpContext, + endpoint: endpoint, + ambientValues: DefaultLinkGenerator.GetAmbientValues(httpContext), + explicitValues: new RouteValueDictionary(new { name = "name with %special #characters" }), + options: null, + out var result); + + // Assert + Assert.True(success); + Assert.Equal("/Home/Index", result.path.ToUriComponent()); + Assert.Equal("?name=name%20with%20%25special%20%23characters", result.query.ToUriComponent()); + } + + [Fact] + public void TryProcessTemplate_ForListOfStrings() + { + // Arrange + var endpoint = EndpointFactory.CreateRouteEndpoint("{controller}/{action}"); + var linkGenerator = CreateLinkGenerator(endpoint); + var httpContext = CreateHttpContext(ambientValues: new { controller = "Home", action = "Index" }); + + // Act + var success = linkGenerator.TryProcessTemplate( + httpContext: httpContext, + endpoint: endpoint, + ambientValues: DefaultLinkGenerator.GetAmbientValues(httpContext), + explicitValues: new RouteValueDictionary(new { color = new List { "red", "green", "blue" } }), + options: null, + out var result); + + // Assert + Assert.True(success); + Assert.Equal("/Home/Index", result.path.ToUriComponent()); + Assert.Equal("?color=red&color=green&color=blue", result.query.ToUriComponent()); + } + + [Fact] + public void TryProcessTemplate_ForListOfInts() + { + // Arrange + var endpoint = EndpointFactory.CreateRouteEndpoint("{controller}/{action}"); + var linkGenerator = CreateLinkGenerator(endpoint); + var httpContext = CreateHttpContext(ambientValues: new { controller = "Home", action = "Index" }); + + // Act + var success = linkGenerator.TryProcessTemplate( + httpContext: httpContext, + endpoint: endpoint, + ambientValues: DefaultLinkGenerator.GetAmbientValues(httpContext), + explicitValues: new RouteValueDictionary(new { items = new List { 10, 20, 30 } }), + options: null, + out var result); + + // Assert + Assert.True(success); + Assert.Equal("/Home/Index", result.path.ToUriComponent()); + Assert.Equal("?items=10&items=20&items=30", result.query.ToUriComponent()); + } + + [Fact] + public void TryProcessTemplate_ForList_Empty() + { + // Arrange + var endpoint = EndpointFactory.CreateRouteEndpoint("{controller}/{action}"); + var linkGenerator = CreateLinkGenerator(endpoint); + var httpContext = CreateHttpContext(ambientValues: new { controller = "Home", action = "Index" }); + + // Act + var success = linkGenerator.TryProcessTemplate( + httpContext: httpContext, + endpoint: endpoint, + ambientValues: DefaultLinkGenerator.GetAmbientValues(httpContext), + explicitValues: new RouteValueDictionary(new { color = new List { } }), + options: null, + out var result); + + // Assert + Assert.True(success); + Assert.Equal("/Home/Index", result.path.ToUriComponent()); + Assert.Equal(string.Empty, result.query.ToUriComponent()); + } + + [Fact] + public void TryProcessTemplate_ForList_StringWorkaround() + { + // Arrange + var endpoint = EndpointFactory.CreateRouteEndpoint("{controller}/{action}"); + var linkGenerator = CreateLinkGenerator(endpoint); + var httpContext = CreateHttpContext(ambientValues: new { controller = "Home", action = "Index" }); + + // Act + var success = linkGenerator.TryProcessTemplate( + httpContext: httpContext, + endpoint: endpoint, + ambientValues: DefaultLinkGenerator.GetAmbientValues(httpContext), + explicitValues: new RouteValueDictionary(new { page = 1, color = new List { "red", "green", "blue" }, message = "textfortest" }), + options: null, + out var result); + + // Assert + Assert.True(success); + Assert.Equal("/Home/Index", result.path.ToUriComponent()); + Assert.Equal("?page=1&color=red&color=green&color=blue&message=textfortest", result.query.ToUriComponent()); + } + + [Fact] + public void TryProcessTemplate_Success_AmbientValues() + { + // Arrange + var endpoint = EndpointFactory.CreateRouteEndpoint("{controller}/{action}"); + var linkGenerator = CreateLinkGenerator(endpoint); + var httpContext = CreateHttpContext(ambientValues: new { controller = "Home" }); + + // Act + var success = linkGenerator.TryProcessTemplate( + httpContext: httpContext, + endpoint: endpoint, + ambientValues: DefaultLinkGenerator.GetAmbientValues(httpContext), + explicitValues: new RouteValueDictionary(new { action = "Index" }), + options: null, + out var result); + + // Assert + Assert.True(success); + Assert.Equal("/Home/Index", result.path.ToUriComponent()); + Assert.Equal(string.Empty, result.query.ToUriComponent()); + } + + [Fact] + public void TryProcessTemplate_GeneratesLowercaseUrl_SetOnRouteOptions() + { + // Arrange + var endpoint = EndpointFactory.CreateRouteEndpoint("{controller}/{action}"); + var linkGenerator = CreateLinkGenerator(new RouteOptions() { LowercaseUrls = true }, endpoints: new[] { endpoint, }); + var httpContext = CreateHttpContext(ambientValues: new { controller = "Home" }); + + // Act + var success = linkGenerator.TryProcessTemplate( + httpContext: httpContext, + endpoint: endpoint, + ambientValues: DefaultLinkGenerator.GetAmbientValues(httpContext), + explicitValues: new RouteValueDictionary(new { action = "Index" }), + options: null, + out var result); + + // Assert + Assert.True(success); + Assert.Equal("/home/index", result.path.ToUriComponent()); + Assert.Equal(string.Empty, result.query.ToUriComponent()); + } + + [Fact] + public void TryProcessTemplate_GeneratesLowercaseQueryString_SetOnRouteOptions() + { + // Arrange + var endpoint = EndpointFactory.CreateRouteEndpoint("{controller}/{action}"); + var linkGenerator = CreateLinkGenerator( + new RouteOptions() { LowercaseUrls = true, LowercaseQueryStrings = true }, + endpoints: new[] { endpoint, }); + var httpContext = CreateHttpContext(ambientValues: new { controller = "Home" }); + + // Act + var success = linkGenerator.TryProcessTemplate( + httpContext: httpContext, + endpoint: endpoint, + ambientValues: DefaultLinkGenerator.GetAmbientValues(httpContext), + explicitValues: new RouteValueDictionary(new { action = "Index", ShowStatus = "True", INFO = "DETAILED" }), + options: null, + out var result); + + // Assert + Assert.True(success); + Assert.Equal("/home/index", result.path.ToUriComponent()); + Assert.Equal("?showstatus=true&info=detailed", result.query.ToUriComponent()); + } + + [Fact] + public void TryProcessTemplate_AppendsTrailingSlash_SetOnRouteOptions() + { + // Arrange + var endpoint = EndpointFactory.CreateRouteEndpoint("{controller}/{action}"); + var linkGenerator = CreateLinkGenerator( + new RouteOptions() { AppendTrailingSlash = true }, + endpoints: new[] { endpoint }); + var httpContext = CreateHttpContext(ambientValues: new { controller = "Home" }); + + // Act + var success = linkGenerator.TryProcessTemplate( + httpContext: httpContext, + endpoint: endpoint, + ambientValues: DefaultLinkGenerator.GetAmbientValues(httpContext), + explicitValues: new RouteValueDictionary(new { action = "Index" }), + options: null, + out var result); + + // Assert + Assert.True(success); + Assert.Equal("/Home/Index/", result.path.ToUriComponent()); + Assert.Equal(string.Empty, result.query.ToUriComponent()); + } + + [Fact] + public void TryProcessTemplate_GeneratesLowercaseQueryStringAndTrailingSlash_SetOnRouteOptions() + { + // Arrange + var endpoint = EndpointFactory.CreateRouteEndpoint("{controller}/{action}"); + var linkGenerator = CreateLinkGenerator( + new RouteOptions() { LowercaseUrls = true, LowercaseQueryStrings = true, AppendTrailingSlash = true }, + endpoints: new[] { endpoint }); + var httpContext = CreateHttpContext(ambientValues: new { controller = "Home" }); + + // Act + var success = linkGenerator.TryProcessTemplate( + httpContext: httpContext, + endpoint: endpoint, + ambientValues: DefaultLinkGenerator.GetAmbientValues(httpContext), + explicitValues: new RouteValueDictionary(new { action = "Index", ShowStatus = "True", INFO = "DETAILED" }), + options: null, + out var result); + + // Assert + Assert.True(success); + Assert.Equal("/home/index/", result.path.ToUriComponent()); + Assert.Equal("?showstatus=true&info=detailed", result.query.ToUriComponent()); + } + + [Fact] + public void TryProcessTemplate_LowercaseUrlSetToTrue_OnRouteOptions_OverridenByCallsiteValue() + { + // Arrange + var endpoint = EndpointFactory.CreateRouteEndpoint("{controller}/{action}"); + var linkGenerator = CreateLinkGenerator( + new RouteOptions() { LowercaseUrls = true }, + endpoints: new[] { endpoint }); + var httpContext = CreateHttpContext(ambientValues: new { controller = "HoMe" }); + + // Act + var success = linkGenerator.TryProcessTemplate( + httpContext: httpContext, + endpoint: endpoint, + ambientValues: DefaultLinkGenerator.GetAmbientValues(httpContext), + explicitValues: new RouteValueDictionary(new { action = "InDex" }), + options: new LinkOptions + { + LowercaseUrls = false + }, + out var result); + + + // Assert + Assert.True(success); + Assert.Equal("/HoMe/InDex", result.path.ToUriComponent()); + Assert.Equal(string.Empty, result.query.ToUriComponent()); + } + + [Fact] + public void TryProcessTemplate_LowercaseUrlSetToFalse_OnRouteOptions_OverridenByCallsiteValue() + { + // Arrange + var endpoint = EndpointFactory.CreateRouteEndpoint("{controller}/{action}"); + var linkGenerator = CreateLinkGenerator( + new RouteOptions() { LowercaseUrls = false }, + endpoints: new[] { endpoint }); + var httpContext = CreateHttpContext(ambientValues: new { controller = "HoMe" }); + + // Act + var success = linkGenerator.TryProcessTemplate( + httpContext: httpContext, + endpoint: endpoint, + ambientValues: DefaultLinkGenerator.GetAmbientValues(httpContext), + explicitValues: new RouteValueDictionary(new { action = "InDex" }), + options: new LinkOptions() + { + LowercaseUrls = true + }, + out var result); + + // Assert + Assert.True(success); + Assert.Equal("/home/index", result.path.ToUriComponent()); + Assert.Equal(string.Empty, result.query.ToUriComponent()); + } + + [Fact] + public void TryProcessTemplate_LowercaseUrlQueryStringsSetToTrue_OnRouteOptions_OverridenByCallsiteValue() + { + // Arrange + var endpoint = EndpointFactory.CreateRouteEndpoint("{controller}/{action}"); + var linkGenerator = CreateLinkGenerator( + new RouteOptions() { LowercaseUrls = true, LowercaseQueryStrings = true }, + endpoints: new[] { endpoint }); + var httpContext = CreateHttpContext(ambientValues: new { controller = "Home" }); + + // Act + var success = linkGenerator.TryProcessTemplate( + httpContext: httpContext, + endpoint: endpoint, + ambientValues: DefaultLinkGenerator.GetAmbientValues(httpContext), + explicitValues: new RouteValueDictionary(new { action = "Index", ShowStatus = "True", INFO = "DETAILED" }), + options: new LinkOptions + { + LowercaseUrls = false, + LowercaseQueryStrings = false + }, + out var result); + + // Assert + Assert.True(success); + Assert.Equal("/Home/Index", result.path.ToUriComponent()); + Assert.Equal("?ShowStatus=True&INFO=DETAILED", result.query.ToUriComponent()); + } + + [Fact] + public void TryProcessTemplate_LowercaseUrlQueryStringsSetToFalse_OnRouteOptions_OverridenByCallsiteValue() + { + // Arrange + var endpoint = EndpointFactory.CreateRouteEndpoint("{controller}/{action}"); + var linkGenerator = CreateLinkGenerator( + new RouteOptions() { LowercaseUrls = false, LowercaseQueryStrings = false }, + endpoints: new[] { endpoint }); + var httpContext = CreateHttpContext(ambientValues: new { controller = "Home" }); + + // Act + var success = linkGenerator.TryProcessTemplate( + httpContext: httpContext, + endpoint: endpoint, + ambientValues: DefaultLinkGenerator.GetAmbientValues(httpContext), + explicitValues: new RouteValueDictionary(new { action = "Index", ShowStatus = "True", INFO = "DETAILED" }), + options: new LinkOptions() + { + LowercaseUrls = true, + LowercaseQueryStrings = true, + }, + out var result); + + // Assert + Assert.True(success); + Assert.Equal("/home/index", result.path.ToUriComponent()); + Assert.Equal("?showstatus=true&info=detailed", result.query.ToUriComponent()); + } + + [Fact] + public void TryProcessTemplate_AppendTrailingSlashSetToFalse_OnRouteOptions_OverridenByCallsiteValue() + { + // Arrange + var endpoint = EndpointFactory.CreateRouteEndpoint("{controller}/{action}"); + var linkGenerator = CreateLinkGenerator( + new RouteOptions() { AppendTrailingSlash = false }, + endpoints: new[] { endpoint }); + var httpContext = CreateHttpContext(ambientValues: new { controller = "Home" }); + + // Act + var success = linkGenerator.TryProcessTemplate( + httpContext: httpContext, + endpoint: endpoint, + ambientValues: DefaultLinkGenerator.GetAmbientValues(httpContext), + explicitValues: new RouteValueDictionary(new { action = "Index" }), + options: new LinkOptions() { AppendTrailingSlash = true, }, + out var result); + + // Assert + Assert.True(success); + Assert.Equal("/Home/Index/", result.path.ToUriComponent()); + Assert.Equal(string.Empty, result.query.ToUriComponent()); + } + + [Fact] + public void RouteGenerationRejectsConstraints() + { + // Arrange + var endpoint = EndpointFactory.CreateRouteEndpoint( + "{p1}/{p2}", + defaults: new { p2 = "catchall" }, + constraints: new { p2 = "\\d{4}" }); + var linkGenerator = CreateLinkGenerator(endpoint); + var httpContext = CreateHttpContext(ambientValues: new { }); + + // Act + var success = linkGenerator.TryProcessTemplate( + httpContext: httpContext, + endpoint: endpoint, + ambientValues: DefaultLinkGenerator.GetAmbientValues(httpContext), + explicitValues: new RouteValueDictionary(new { p1 = "abcd" }), + options: null, + out var result); + + // Assert + Assert.False(success); + } + + [Fact] + public void RouteGenerationAcceptsConstraints() + { + // Arrange + var endpoint = EndpointFactory.CreateRouteEndpoint( + "{p1}/{p2}", + defaults: new { p2 = "catchall" }, + constraints: new { p2 = new RegexRouteConstraint("\\d{4}"), }); + var linkGenerator = CreateLinkGenerator(endpoint); + var httpContext = CreateHttpContext(ambientValues: new { }); + + // Act + var success = linkGenerator.TryProcessTemplate( + httpContext: httpContext, + endpoint: endpoint, + ambientValues: DefaultLinkGenerator.GetAmbientValues(httpContext), + explicitValues: new RouteValueDictionary(new { p1 = "hello", p2 = "1234" }), + options: null, + out var result); + + // Assert + Assert.True(success); + Assert.Equal("/hello/1234", result.path.ToUriComponent()); + Assert.Equal(string.Empty, result.query.ToUriComponent()); + } + + [Fact] + public void RouteWithCatchAllRejectsConstraints() + { + // Arrange + var endpoint = EndpointFactory.CreateRouteEndpoint( + "{p1}/{*p2}", + defaults: new { p2 = "catchall" }, + constraints: new { p2 = new RegexRouteConstraint("\\d{4}") }); + var linkGenerator = CreateLinkGenerator(endpoint); + var httpContext = CreateHttpContext(ambientValues: new { }); + + // Act + var success = linkGenerator.TryProcessTemplate( + httpContext: httpContext, + endpoint: endpoint, + ambientValues: DefaultLinkGenerator.GetAmbientValues(httpContext), + explicitValues: new RouteValueDictionary(new { p1 = "abcd" }), + options: null, + out var result); + + // Assert + Assert.False(success); + } + + [Fact] + public void RouteWithCatchAllAcceptsConstraints() + { + // Arrange + var endpoint = EndpointFactory.CreateRouteEndpoint( + "{p1}/{*p2}", + defaults: new { p2 = "catchall" }, + constraints: new { p2 = new RegexRouteConstraint("\\d{4}") }); + var linkGenerator = CreateLinkGenerator(endpoint); + var httpContext = CreateHttpContext(ambientValues: new { }); + + // Act + var success = linkGenerator.TryProcessTemplate( + httpContext: httpContext, + endpoint: endpoint, + ambientValues: DefaultLinkGenerator.GetAmbientValues(httpContext), + explicitValues: new RouteValueDictionary(new { p1 = "hello", p2 = "1234" }), + options: null, + out var result); + + // Assert + Assert.True(success); + Assert.Equal("/hello/1234", result.path.ToUriComponent()); + Assert.Equal(string.Empty, result.query.ToUriComponent()); + } + + [Fact] + public void GetLinkWithNonParameterConstraintReturnsUrlWithoutQueryString() + { + // Arrange + var target = new Mock(); + target + .Setup( + e => e.Match( + It.IsAny(), + It.IsAny(), + It.IsAny(), + It.IsAny(), + It.IsAny())) + .Returns(true) + .Verifiable(); + var endpoint = EndpointFactory.CreateRouteEndpoint( + "{p1}/{p2}", + defaults: new { p2 = "catchall" }, + constraints: new { p2 = target.Object }); + var linkGenerator = CreateLinkGenerator(endpoint); + var httpContext = CreateHttpContext(ambientValues: new { }); + + // Act + var success = linkGenerator.TryProcessTemplate( + httpContext: httpContext, + endpoint: endpoint, + ambientValues: DefaultLinkGenerator.GetAmbientValues(httpContext), + explicitValues: new RouteValueDictionary(new { p1 = "hello", p2 = "1234" }), + options: null, + out var result); + + // Assert + Assert.True(success); + Assert.Equal("/hello/1234", result.path.ToUriComponent()); + Assert.Equal(string.Empty, result.query.ToUriComponent()); + + target.VerifyAll(); + } + + + // Any ambient values from the current request should be visible to constraint, even + // if they have nothing to do with the route generating a link + [Fact] + public void TryProcessTemplate_ConstraintsSeeAmbientValues() + { + // Arrange + var constraint = new CapturingConstraint(); + var endpoint = EndpointFactory.CreateRouteEndpoint( + template: "slug/Home/Store", + defaults: new { controller = "Home", action = "Store" }, + constraints: new { c = constraint }); + var linkGenerator = CreateLinkGenerator(endpoint); + var httpContext = CreateHttpContext( + ambientValues: new { controller = "Home", action = "Blog", extra = "42" }); + var expectedValues = new RouteValueDictionary( + new { controller = "Home", action = "Store", extra = "42" }); + + // Act + var success = linkGenerator.TryProcessTemplate( + httpContext: httpContext, + endpoint: endpoint, + ambientValues: DefaultLinkGenerator.GetAmbientValues(httpContext), + explicitValues: new RouteValueDictionary(new { action = "Store" }), + options: null, + out var result); + + // Assert + Assert.True(success); + Assert.Equal("/slug/Home/Store", result.path.ToUriComponent()); + Assert.Equal(string.Empty, result.query.ToUriComponent()); + + Assert.Equal(expectedValues.OrderBy(kvp => kvp.Key), constraint.Values.OrderBy(kvp => kvp.Key)); + } + + // Non-parameter default values from the routing generating a link are not in the 'values' + // collection when constraints are processed. + [Fact] + public void TryProcessTemplate_ConstraintsDontSeeDefaults_WhenTheyArentParameters() + { + // Arrange + var constraint = new CapturingConstraint(); + var endpoint = EndpointFactory.CreateRouteEndpoint( + template: "slug/Home/Store", + defaults: new { controller = "Home", action = "Store", otherthing = "17" }, + constraints: new { c = constraint }); + var linkGenerator = CreateLinkGenerator(endpoint); + var httpContext = CreateHttpContext(ambientValues: new { controller = "Home", action = "Blog" }); + var expectedValues = new RouteValueDictionary( + new { controller = "Home", action = "Store" }); + + // Act + var success = linkGenerator.TryProcessTemplate( + httpContext: httpContext, + endpoint: endpoint, + ambientValues: DefaultLinkGenerator.GetAmbientValues(httpContext), + explicitValues: new RouteValueDictionary(new { action = "Store" }), + options: null, + out var result); + + // Assert + Assert.True(success); + Assert.Equal("/slug/Home/Store", result.path.ToUriComponent()); + Assert.Equal(string.Empty, result.query.ToUriComponent()); + + Assert.Equal(expectedValues.OrderBy(kvp => kvp.Key), constraint.Values.OrderBy(kvp => kvp.Key)); + } + + // Default values are visible to the constraint when they are used to fill a parameter. + [Fact] + public void TryProcessTemplate_ConstraintsSeesDefault_WhenThereItsAParamter() + { + // Arrange + var constraint = new CapturingConstraint(); + var endpoint = EndpointFactory.CreateRouteEndpoint( + template: "slug/{controller}/{action}", + defaults: new { action = "Index" }, + constraints: new { c = constraint, }); + var linkGenerator = CreateLinkGenerator(endpoint); + var httpContext = CreateHttpContext(ambientValues: new { controller = "Home", action = "Blog" }); + var expectedValues = new RouteValueDictionary( + new { controller = "Shopping", action = "Index" }); + + // Act + var success = linkGenerator.TryProcessTemplate( + httpContext: httpContext, + endpoint: endpoint, + ambientValues: DefaultLinkGenerator.GetAmbientValues(httpContext), + explicitValues: new RouteValueDictionary(new { controller = "Shopping" }), + options: null, + out var result); + + // Assert + Assert.True(success); + Assert.Equal("/slug/Shopping", result.path.ToUriComponent()); + Assert.Equal(string.Empty, result.query.ToUriComponent()); + Assert.Equal(expectedValues, constraint.Values); + } + + // Default values from the routing generating a link are in the 'values' collection when + // constraints are processed - IFF they are specified as values or ambient values. + [Fact] + public void TryProcessTemplate_ConstraintsSeeDefaults_IfTheyAreSpecifiedOrAmbient() + { + // Arrange + var constraint = new CapturingConstraint(); + var endpoint = EndpointFactory.CreateRouteEndpoint( + template: "slug/Home/Store", + defaults: new { controller = "Home", action = "Store", otherthing = "17", thirdthing = "13" }, + constraints: new { c = constraint, }); + var linkGenerator = CreateLinkGenerator(endpoint); + var httpContext = CreateHttpContext( + ambientValues: new { controller = "Home", action = "Blog", otherthing = "17" }); + + var expectedValues = new RouteValueDictionary( + new { controller = "Home", action = "Store", otherthing = "17", thirdthing = "13" }); + + // Act + var success = linkGenerator.TryProcessTemplate( + httpContext: httpContext, + endpoint: endpoint, + ambientValues: DefaultLinkGenerator.GetAmbientValues(httpContext), + explicitValues: new RouteValueDictionary(new { action = "Store", thirdthing = "13" }), + options: null, + out var result); + + // Assert + Assert.True(success); + Assert.Equal("/slug/Home/Store", result.path.ToUriComponent()); + Assert.Equal(string.Empty, result.query.ToUriComponent()); + + Assert.Equal(expectedValues.OrderBy(kvp => kvp.Key), constraint.Values.OrderBy(kvp => kvp.Key)); + } + + [Theory] + [InlineData(true)] + [InlineData(false)] + public void TryProcessTemplate_InlineConstraints_Success(bool hasHttpContext) + { + // Arrange + var endpoint = EndpointFactory.CreateRouteEndpoint( + template: "Home/Index/{id:int}", + defaults: new { controller = "Home", action = "Index" }, + constraints: new { }); + var linkGenerator = CreateLinkGenerator(endpoint); + var httpContext = hasHttpContext ? CreateHttpContext(new { }) : null; + + // Act + var success = linkGenerator.TryProcessTemplate( + httpContext: httpContext, + endpoint: endpoint, + ambientValues: DefaultLinkGenerator.GetAmbientValues(httpContext), + explicitValues: new RouteValueDictionary(new { action = "Index", controller = "Home", id = 4 }), + options: null, + out var result); + + // Assert + Assert.True(success); + Assert.Equal("/Home/Index/4", result.path.ToUriComponent()); + Assert.Equal(string.Empty, result.query.ToUriComponent()); + } + + [Fact] + public void TryProcessTemplate_InlineConstraints_NonMatchingvalue() + { + // Arrange + var endpoint = EndpointFactory.CreateRouteEndpoint( + template: "Home/Index/{id}", + defaults: new { controller = "Home", action = "Index" }, + constraints: new { id = "int" }); + var linkGenerator = CreateLinkGenerator(endpoint); + var httpContext = CreateHttpContext(ambientValues: new { }); + + // Act + var success = linkGenerator.TryProcessTemplate( + httpContext: httpContext, + endpoint: endpoint, + ambientValues: DefaultLinkGenerator.GetAmbientValues(httpContext), + explicitValues: new RouteValueDictionary(new { action = "Index", controller = "Home", id = "not-an-integer" }), + options: null, + out var result); + + // Assert + Assert.False(success); + } + + [Theory] + [InlineData(true)] + [InlineData(false)] + public void TryProcessTemplate_InlineConstraints_OptionalParameter_ValuePresent(bool hasHttpContext) + { + // Arrange + var endpoint = EndpointFactory.CreateRouteEndpoint( + template: "Home/Index/{id:int?}", + defaults: new { controller = "Home", action = "Index" }, + constraints: new { }); + var linkGenerator = CreateLinkGenerator(endpoint); + var httpContext = hasHttpContext ? CreateHttpContext(new { }) : null; + + // Act + var success = linkGenerator.TryProcessTemplate( + httpContext: httpContext, + endpoint: endpoint, + ambientValues: DefaultLinkGenerator.GetAmbientValues(httpContext), + explicitValues: new RouteValueDictionary(new { action = "Index", controller = "Home", id = 98 }), + options: null, + out var result); + + // Assert + Assert.True(success); + Assert.Equal("/Home/Index/98", result.path.ToUriComponent()); + Assert.Equal(string.Empty, result.query.ToUriComponent()); + } + + [Fact] + public void TryProcessTemplate_InlineConstraints_OptionalParameter_ValueNotPresent() + { + // Arrange + var endpoint = EndpointFactory.CreateRouteEndpoint( + template: "Home/Index/{id?}", + defaults: new { controller = "Home", action = "Index" }, + constraints: new { id = "int" }); + var linkGenerator = CreateLinkGenerator(endpoint); + var httpContext = CreateHttpContext(ambientValues: new { }); + + // Act + var success = linkGenerator.TryProcessTemplate( + httpContext: httpContext, + endpoint: endpoint, + ambientValues: DefaultLinkGenerator.GetAmbientValues(httpContext), + explicitValues: new RouteValueDictionary(new { action = "Index", controller = "Home" }), + options: null, + out var result); + + // Assert + Assert.True(success); + Assert.Equal("/Home/Index", result.path.ToUriComponent()); + Assert.Equal(string.Empty, result.query.ToUriComponent()); + } + + [Fact] + public void TryProcessTemplate_InlineConstraints_OptionalParameter_ValuePresent_ConstraintFails() + { + // Arrange + var endpoint = EndpointFactory.CreateRouteEndpoint( + template: "Home/Index/{id?}", + defaults: new { controller = "Home", action = "Index" }, + constraints: new { id = "int" }); + var linkGenerator = CreateLinkGenerator(endpoint); + var httpContext = CreateHttpContext(ambientValues: new { }); + + // Act + var success = linkGenerator.TryProcessTemplate( + httpContext: httpContext, + endpoint: endpoint, + ambientValues: DefaultLinkGenerator.GetAmbientValues(httpContext), + explicitValues: new RouteValueDictionary(new { action = "Index", controller = "Home", id = "not-an-integer" }), + options: null, + out var result); + + // Assert + Assert.False(success); + } + + [Theory] + [InlineData(true)] + [InlineData(false)] + public void TryProcessTemplate_InlineConstraints_MultipleInlineConstraints(bool hasHttpContext) + { + // Arrange + var endpoint = EndpointFactory.CreateRouteEndpoint( + template: "Home/Index/{id:int:range(1,20)}", + defaults: new { controller = "Home", action = "Index" }, + constraints: new { }); + var linkGenerator = CreateLinkGenerator(endpoint); + var httpContext = hasHttpContext ? CreateHttpContext(new { }) : null; + + // Act + var success = linkGenerator.TryProcessTemplate( + httpContext: httpContext, + endpoint: endpoint, + ambientValues: DefaultLinkGenerator.GetAmbientValues(httpContext), + explicitValues: new RouteValueDictionary(new { action = "Index", controller = "Home", id = 14 }), + options: null, + out var result); + + // Assert + Assert.True(success); + Assert.Equal("/Home/Index/14", result.path.ToUriComponent()); + Assert.Equal(string.Empty, result.query.ToUriComponent()); + } + + [Theory] + [InlineData(true)] + [InlineData(false)] + public void TryProcessTemplate_InlineConstraints_CompositeInlineConstraint_Fails(bool hasHttpContext) + { + // Arrange + var endpoint = EndpointFactory.CreateRouteEndpoint( + template: "Home/Index/{id:int:range(1,20)}", + defaults: new { controller = "Home", action = "Index" }, + constraints: new { }); + var linkGenerator = CreateLinkGenerator(endpoint); + var httpContext = hasHttpContext ? CreateHttpContext(new { }) : null; + + // Act + var success = linkGenerator.TryProcessTemplate( + httpContext: httpContext, + endpoint: endpoint, + ambientValues: DefaultLinkGenerator.GetAmbientValues(httpContext), + explicitValues: new RouteValueDictionary(new { action = "Index", controller = "Home", id = 50 }), + options: null, + out var result); + + // Assert + Assert.False(success); + } + + [Fact] + public void TryProcessTemplate_InlineConstraints_CompositeConstraint_FromConstructor() + { + // Arrange + var constraint = new MaxLengthRouteConstraint(20); + var endpoint = EndpointFactory.CreateRouteEndpoint( + template: "Home/Index/{name}", + defaults: new { controller = "Home", action = "Index" }, + constraints: new { name = constraint }); + var linkGenerator = CreateLinkGenerator(endpoint); + var httpContext = CreateHttpContext(ambientValues: new { }); + + // Act + var success = linkGenerator.TryProcessTemplate( + httpContext: httpContext, + endpoint: endpoint, + ambientValues: DefaultLinkGenerator.GetAmbientValues(httpContext), + explicitValues: new RouteValueDictionary(new { action = "Index", controller = "Home", name = "products" }), + options: null, + out var result); + + // Assert + Assert.True(success); + Assert.Equal("/Home/Index/products", result.path.ToUriComponent()); + Assert.Equal(string.Empty, result.query.ToUriComponent()); + } + + [Fact] + public void TryProcessTemplate_OptionalParameter_ParameterPresentInValues() + { + // Arrange + var endpoint = EndpointFactory.CreateRouteEndpoint("{controller}/{action}/{name?}"); + var linkGenerator = CreateLinkGenerator(endpoint); + var httpContext = CreateHttpContext(ambientValues: new { }); + + // Act + var success = linkGenerator.TryProcessTemplate( + httpContext: httpContext, + endpoint: endpoint, + ambientValues: DefaultLinkGenerator.GetAmbientValues(httpContext), + explicitValues: new RouteValueDictionary(new { action = "Index", controller = "Home", name = "products" }), + options: null, + out var result); + + // Assert + Assert.True(success); + Assert.Equal("/Home/Index/products", result.path.ToUriComponent()); + Assert.Equal(string.Empty, result.query.ToUriComponent()); + } + + [Fact] + public void TryProcessTemplate_OptionalParameter_ParameterNotPresentInValues() + { + // Arrange + var endpoint = EndpointFactory.CreateRouteEndpoint("{controller}/{action}/{name?}"); + var linkGenerator = CreateLinkGenerator(endpoint); + var httpContext = CreateHttpContext(ambientValues: new { }); + + // Act + var success = linkGenerator.TryProcessTemplate( + httpContext: httpContext, + endpoint: endpoint, + ambientValues: DefaultLinkGenerator.GetAmbientValues(httpContext), + explicitValues: new RouteValueDictionary(new { action = "Index", controller = "Home" }), + options: null, + out var result); + + // Assert + Assert.True(success); + Assert.Equal("/Home/Index", result.path.ToUriComponent()); + Assert.Equal(string.Empty, result.query.ToUriComponent()); + } + + [Fact] + public void TryProcessTemplate_OptionalParameter_ParameterPresentInValuesAndDefaults() + { + // Arrange + var endpoint = EndpointFactory.CreateRouteEndpoint( + template: "{controller}/{action}/{name}", + defaults: new { name = "default-products" }); + var linkGenerator = CreateLinkGenerator(endpoint); + var httpContext = CreateHttpContext(ambientValues: new { }); + + // Act + var success = linkGenerator.TryProcessTemplate( + httpContext: httpContext, + endpoint: endpoint, + ambientValues: DefaultLinkGenerator.GetAmbientValues(httpContext), + explicitValues: new RouteValueDictionary(new { action = "Index", controller = "Home", name = "products" }), + options: null, + out var result); + + // Assert + Assert.True(success); + Assert.Equal("/Home/Index/products", result.path.ToUriComponent()); + Assert.Equal(string.Empty, result.query.ToUriComponent()); + } + + [Fact] + public void TryProcessTemplate_OptionalParameter_ParameterNotPresentInValues_PresentInDefaults() + { + // Arrange + var endpoint = EndpointFactory.CreateRouteEndpoint( + template: "{controller}/{action}/{name}", + defaults: new { name = "products" }); + var linkGenerator = CreateLinkGenerator(endpoint); + var httpContext = CreateHttpContext(ambientValues: new { }); + + // Act + var success = linkGenerator.TryProcessTemplate( + httpContext: httpContext, + endpoint: endpoint, + ambientValues: DefaultLinkGenerator.GetAmbientValues(httpContext), + explicitValues: new RouteValueDictionary(new { action = "Index", controller = "Home" }), + options: null, + out var result); + + // Assert + Assert.True(success); + Assert.Equal("/Home/Index", result.path.ToUriComponent()); + Assert.Equal(string.Empty, result.query.ToUriComponent()); + } + + [Fact] + public void TryProcessTemplate_ParameterNotPresentInTemplate_PresentInValues() + { + // Arrange + var endpoint = EndpointFactory.CreateRouteEndpoint("{controller}/{action}/{name}"); + var linkGenerator = CreateLinkGenerator(endpoint); + var httpContext = CreateHttpContext(ambientValues: new { }); + + // Act + var success = linkGenerator.TryProcessTemplate( + httpContext: httpContext, + endpoint: endpoint, + ambientValues: DefaultLinkGenerator.GetAmbientValues(httpContext), + explicitValues: new RouteValueDictionary(new { action = "Index", controller = "Home", name = "products", format = "json" }), + options: null, + out var result); + + // Assert + Assert.True(success); + Assert.Equal("/Home/Index/products", result.path.ToUriComponent()); + Assert.Equal("?format=json", result.query.ToUriComponent()); + } + + [Fact] + public void TryProcessTemplate_OptionalParameter_FollowedByDotAfterSlash_ParameterPresent() + { + // Arrange + var endpoint = EndpointFactory.CreateRouteEndpoint( + template: "{controller}/{action}/.{name?}"); + var linkGenerator = CreateLinkGenerator(endpoint); + var httpContext = CreateHttpContext(ambientValues: new { }); + + // Act + var success = linkGenerator.TryProcessTemplate( + httpContext: httpContext, + endpoint: endpoint, + ambientValues: DefaultLinkGenerator.GetAmbientValues(httpContext), + explicitValues: new RouteValueDictionary(new { action = "Index", controller = "Home", name = "products" }), + options: null, + out var result); + + // Assert + Assert.True(success); + Assert.Equal("/Home/Index/.products", result.path.ToUriComponent()); + Assert.Equal(string.Empty, result.query.ToUriComponent()); + } + + [Fact] + public void TryProcessTemplate_OptionalParameter_FollowedByDotAfterSlash_ParameterNotPresent() + { + // Arrange + var endpoint = EndpointFactory.CreateRouteEndpoint("{controller}/{action}/.{name?}"); + var linkGenerator = CreateLinkGenerator(endpoint); + var httpContext = CreateHttpContext(ambientValues: new { }); + + // Act + var success = linkGenerator.TryProcessTemplate( + httpContext: httpContext, + endpoint: endpoint, + ambientValues: DefaultLinkGenerator.GetAmbientValues(httpContext), + explicitValues: new RouteValueDictionary(new { action = "Index", controller = "Home" }), + options: null, + out var result); + + + Assert.True(success); + Assert.Equal("/Home/Index/", result.path.ToUriComponent()); + Assert.Equal(string.Empty, result.query.ToUriComponent()); + } + + [Fact] + public void TryProcessTemplate_OptionalParameter_InSimpleSegment() + { + // Arrange + var endpoint = EndpointFactory.CreateRouteEndpoint("{controller}/{action}/{name?}"); + var linkGenerator = CreateLinkGenerator(endpoint); + var httpContext = CreateHttpContext(ambientValues: new { }); + + // Act + var success = linkGenerator.TryProcessTemplate( + httpContext: httpContext, + endpoint: endpoint, + ambientValues: DefaultLinkGenerator.GetAmbientValues(httpContext), + explicitValues: new RouteValueDictionary(new { action = "Index", controller = "Home" }), + options: null, + out var result); + + // Assert + Assert.True(success); + Assert.Equal("/Home/Index", result.path.ToUriComponent()); + Assert.Equal(string.Empty, result.query.ToUriComponent()); + } + + [Fact] + public void TryProcessTemplate_TwoOptionalParameters_OneValueFromAmbientValues() + { + // Arrange + var endpoint = EndpointFactory.CreateRouteEndpoint("a/{b=15}/{c?}/{d?}"); + var linkGenerator = CreateLinkGenerator(endpoint); + var httpContext = CreateHttpContext(ambientValues: new { c = "17" }); + + // Act + var success = linkGenerator.TryProcessTemplate( + httpContext: httpContext, + endpoint: endpoint, + ambientValues: DefaultLinkGenerator.GetAmbientValues(httpContext), + explicitValues: new RouteValueDictionary(new { }), + options: null, + out var result); + + // Assert + Assert.True(success); + Assert.Equal("/a/15/17", result.path.ToUriComponent()); + Assert.Equal(string.Empty, result.query.ToUriComponent()); + } + + [Fact] + public void TryProcessTemplate_OptionalParameterAfterDefault_OneValueFromAmbientValues() + { + // Arrange + var endpoint = EndpointFactory.CreateRouteEndpoint("a/{b=15}/{c?}"); + var linkGenerator = CreateLinkGenerator(endpoint); + var httpContext = CreateHttpContext(ambientValues: new { c = "17" }); + + // Act + var success = linkGenerator.TryProcessTemplate( + httpContext: httpContext, + endpoint: endpoint, + ambientValues: DefaultLinkGenerator.GetAmbientValues(httpContext), + explicitValues: new RouteValueDictionary(new { }), + options: null, + out var result); + + // Assert + Assert.True(success); + Assert.Equal("/a/15/17", result.path.ToUriComponent()); + Assert.Equal(string.Empty, result.query.ToUriComponent()); + } + + [Fact] + public void TryProcessTemplate_TwoOptionalParametersAfterDefault_LastValueFromAmbientValues() + { + // Arrange + var endpoint = EndpointFactory.CreateRouteEndpoint("a/{b=15}/{c?}/{d?}"); + var linkGenerator = CreateLinkGenerator(endpoint); + var httpContext = CreateHttpContext(ambientValues: new { d = "17" }); + + // Act + var success = linkGenerator.TryProcessTemplate( + httpContext: httpContext, + endpoint: endpoint, + ambientValues: DefaultLinkGenerator.GetAmbientValues(httpContext), + explicitValues: new RouteValueDictionary(new { }), + options: null, + out var result); + + // Assert + Assert.True(success); + Assert.Equal("/a", result.path.ToUriComponent()); + Assert.Equal(string.Empty, result.query.ToUriComponent()); + } + + public static TheoryData DoesNotDiscardAmbientValuesData + { + get + { + // - ambient values + // - explicit values + // - required values + // - defaults + return new TheoryData + { + // link to same action on same controller + { + new { controller = "Products", action = "Edit", id = 10 }, + new { controller = "Products", action = "Edit" }, + new { area = (string)null, controller = "Products", action = "Edit", page = (string)null }, + new { area = (string)null, controller = "Products", action = "Edit", page = (string)null } + }, + + // link to same action on same controller - ignoring case + { + new { controller = "ProDUcts", action = "EDit", id = 10 }, + new { controller = "ProDUcts", action = "EDit" }, + new { area = (string)null, controller = "Products", action = "Edit", page = (string)null }, + new { area = (string)null, controller = "Products", action = "Edit", page = (string)null } + }, + + // link to same action and same controller on same area + { + new { area = "Admin", controller = "Products", action = "Edit", id = 10 }, + new { area = "Admin", controller = "Products", action = "Edit" }, + new { area = "Admin", controller = "Products", action = "Edit", page = (string)null }, + new { area = "Admin", controller = "Products", action = "Edit", page = (string)null } + }, + + // link to same action and same controller on same area + { + new { area = "Admin", controller = "Products", action = "Edit", id = 10 }, + new { controller = "Products", action = "Edit" }, + new { area = "Admin", controller = "Products", action = "Edit", page = (string)null }, + new { area = "Admin", controller = "Products", action = "Edit", page = (string)null } + }, + + // link to same action and same controller + { + new { controller = "Products", action = "Edit", id = 10 }, + new { controller = "Products", action = "Edit" }, + new { area = (string)null, controller = "Products", action = "Edit", page = (string)null }, + new { area = (string)null, controller = "Products", action = "Edit", page = (string)null } + }, + { + new { controller = "Products", action = "Edit", id = 10 }, + new { controller = "Products", action = "Edit" }, + new { area = (string)null, controller = "Products", action = "Edit", page = (string)null }, + new { area = (string)null, controller = "Products", action = "Edit", page = (string)null } + }, + { + new { controller = "Products", action = "Edit", id = 10 }, + new { controller = "Products", action = "Edit" }, + new { area = "", controller = "Products", action = "Edit", page = "" }, + new { area = "", controller = "Products", action = "Edit", page = "" } + }, + + // link to same page + { + new { page = "Products/Edit", id = 10 }, + new { page = "Products/Edit" }, + new { area = (string)null, controller = (string)null, action = (string)null, page = "Products/Edit" }, + new { area = (string)null, controller = (string)null, action = (string)null, page = "Products/Edit" } + }, + }; + } + } + + [Theory] + [MemberData(nameof(DoesNotDiscardAmbientValuesData))] + public void TryProcessTemplate_DoesNotDiscardAmbientValues_IfAllRequiredKeysMatch( + object ambientValues, + object explicitValues, + object requiredValues, + object defaults) + { + // Arrange + var endpoint = EndpointFactory.CreateRouteEndpoint( + "Products/Edit/{id}", + requiredValues: requiredValues, + defaults: defaults); + var linkGenerator = CreateLinkGenerator(endpoint); + var httpContext = CreateHttpContext(ambientValues); + + // Act + var success = linkGenerator.TryProcessTemplate( + httpContext: httpContext, + endpoint: endpoint, + ambientValues: DefaultLinkGenerator.GetAmbientValues(httpContext), + explicitValues: new RouteValueDictionary(explicitValues), + options: null, + out var result); + + // Assert + Assert.True(success); + Assert.Equal("/Products/Edit/10", result.path.ToUriComponent()); + Assert.Equal(string.Empty, result.query.ToUriComponent()); + } + + [Fact] + public void TryProcessTemplate_DoesNotDiscardAmbientValues_IfAllRequiredValuesMatch_ForGenericKeys() + { + // Verifying that discarding works in general usage case i.e when keys are not like controller, action etc. + + // Arrange + var endpoint = EndpointFactory.CreateRouteEndpoint( + "Products/Edit/{id}", + requiredValues: new { c = "Products", a = "Edit" }, + defaults: new { c = "Products", a = "Edit" }); + var linkGenerator = CreateLinkGenerator(endpoint); + var httpContext = CreateHttpContext(ambientValues: new { c = "Products", a = "Edit", id = 10 }); + + // Act + var success = linkGenerator.TryProcessTemplate( + httpContext: httpContext, + endpoint: endpoint, + ambientValues: DefaultLinkGenerator.GetAmbientValues(httpContext), + explicitValues: new RouteValueDictionary(new { c = "Products", a = "Edit" }), + options: null, + out var result); + + // Assert + Assert.True(success); + Assert.Equal("/Products/Edit/10", result.path.ToUriComponent()); + Assert.Equal(string.Empty, result.query.ToUriComponent()); + } + + [Fact] + public void TryProcessTemplate_DiscardsAmbientValues_ForGenericKeys() + { + // Verifying that discarding works in general usage case i.e when keys are not like controller, action etc. + + // Arrange + var endpoint = EndpointFactory.CreateRouteEndpoint( + "Products/Edit/{id}", + requiredValues: new { c = "Products", a = "Edit" }, + defaults: new { c = "Products", a = "Edit" }); + var linkGenerator = CreateLinkGenerator(endpoint); + var httpContext = CreateHttpContext(ambientValues: new { c = "Products", a = "Edit", id = 10 }); + + // Act + var success = linkGenerator.TryProcessTemplate( + httpContext: httpContext, + endpoint: endpoint, + ambientValues: DefaultLinkGenerator.GetAmbientValues(httpContext), + explicitValues: new RouteValueDictionary(new { c = "Products", a = "List" }), + options: null, + out var result); + + // Assert + Assert.False(success); + } + + public static TheoryData DiscardAmbientValuesData + { + get + { + // - ambient values + // - explicit values + // - required values + // - defaults + return new TheoryData + { + // link to different action on same controller + { + new { controller = "Products", action = "Edit", id = 10 }, + new { controller = "Products", action = "List" }, + new { area = (string)null, controller = "Products", action = "List", page = (string)null }, + new { area = (string)null, controller = "Products", action = "List", page = (string)null } + }, + + // link to different action on same controller and same area + { + new { area = "Customer", controller = "Products", action = "Edit", id = 10 }, + new { area = "Customer", controller = "Products", action = "List" }, + new { area = "Customer", controller = "Products", action = "List", page = (string)null }, + new { area = "Customer", controller = "Products", action = "List", page = (string)null } + }, + + // link from one area to a different one + { + new { area = "Admin", controller = "Products", action = "Edit", id = 10 }, + new { area = "Consumer", controller = "Products", action = "Edit" }, + new { area = "Consumer", controller = "Products", action = "Edit", page = (string)null }, + new { area = "Consumer", controller = "Products", action = "Edit", page = (string)null } + }, + + // link from non-area to a area one + { + new { controller = "Products", action = "Edit", id = 10 }, + new { area = "Consumer", controller = "Products", action = "Edit" }, + new { area = "Consumer", controller = "Products", action = "Edit", page = (string)null }, + new { area = "Consumer", controller = "Products", action = "Edit", page = (string)null } + }, + + // link from area to a non-area based action + { + new { area = "Admin", controller = "Products", action = "Edit", id = 10 }, + new { area = "", controller = "Products", action = "Edit" }, + new { area = "", controller = "Products", action = "Edit", page = (string)null }, + new { area = "", controller = "Products", action = "Edit", page = (string)null } + }, + + // link from controller-action to a page + { + new { controller = "Products", action = "Edit", id = 10 }, + new { page = "Products/Edit" }, + new { area = (string)null, controller = (string)null, action = (string)null, page = "Products/Edit"}, + new { area = (string)null, controller = (string)null, action = (string)null, page = "Products/Edit"} + }, + + // link from a page to controller-action + { + new { page = "Products/Edit", id = 10 }, + new { controller = "Products", action = "Edit" }, + new { area = (string)null, controller = "Products", action = "Edit", page = (string)null }, + new { area = (string)null, controller = "Products", action = "Edit", page = (string)null } + }, + + // link from one page to a different page + { + new { page = "Products/Details", id = 10 }, + new { page = "Products/Edit" }, + new { area = (string)null, controller = (string)null, action = (string)null, page = "Products/Edit" }, + new { area = (string)null, controller = (string)null, action = (string)null, page = "Products/Edit" } + }, + }; + } + } + + [Theory] + [MemberData(nameof(DiscardAmbientValuesData))] + public void TryProcessTemplate_DiscardsAmbientValues_IfAnyAmbientValue_IsDifferentThan_EndpointRequiredValues( + object ambientValues, + object explicitValues, + object requiredValues, + object defaults) + { + // Linking to a different action on the same controller + + // Arrange + var endpoint = EndpointFactory.CreateRouteEndpoint( + "Products/Edit/{id}", + requiredValues: requiredValues, + defaults: defaults); + var linkGenerator = CreateLinkGenerator(endpoint); + var httpContext = CreateHttpContext(ambientValues); + + // Act + var success = linkGenerator.TryProcessTemplate( + httpContext: httpContext, + endpoint: endpoint, + ambientValues: DefaultLinkGenerator.GetAmbientValues(httpContext), + explicitValues: new RouteValueDictionary(explicitValues), + options: null, + out var result); + + // Assert + Assert.False(success); + } + } +} diff --git a/test/Microsoft.AspNetCore.Routing.Tests/DefaultLinkGeneratorTest.cs b/test/Microsoft.AspNetCore.Routing.Tests/DefaultLinkGeneratorTest.cs index 42008ca6eb..75b93f157e 100644 --- a/test/Microsoft.AspNetCore.Routing.Tests/DefaultLinkGeneratorTest.cs +++ b/test/Microsoft.AspNetCore.Routing.Tests/DefaultLinkGeneratorTest.cs @@ -1,1630 +1,434 @@ // Copyright (c) .NET Foundation. All rights reserved. // Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information. -using System; using System.Collections.Generic; using System.Linq; using Microsoft.AspNetCore.Http; -using Microsoft.AspNetCore.Http.Features; -using Microsoft.AspNetCore.Routing.Constraints; -using Microsoft.AspNetCore.Routing.Internal; -using Microsoft.AspNetCore.Routing.Matching; -using Microsoft.AspNetCore.Routing.TestObjects; using Microsoft.Extensions.DependencyInjection; -using Microsoft.Extensions.DependencyInjection.Extensions; -using Microsoft.Extensions.Logging.Abstractions; -using Microsoft.Extensions.ObjectPool; -using Microsoft.Extensions.Options; -using Moq; using Xunit; namespace Microsoft.AspNetCore.Routing { - public class DefaultLinkGeneratorTest + // Tests LinkGenerator functionality using GetXyzByAddress - see tests for the extension + // methods for more E2E tests. + // + // Does not cover template processing in detail, those scenarios are validated by TemplateBinderTests + // and DefaultLinkGeneratorProcessTemplateTest + public class DefaultLinkGeneratorTest : LinkGeneratorTestBase { [Fact] - public void GetLink_Success() + public void GetPathByAddress_WithoutHttpContext_NoMatches_ReturnsNull() { // Arrange - var endpoint = EndpointFactory.CreateRouteEndpoint("{controller}"); + var endpoint = EndpointFactory.CreateRouteEndpoint("{controller}/{action}/{id?}", metadata: new object[] { new IntMetadata(1), }); + var linkGenerator = CreateLinkGenerator(endpoint); // Act - var link = linkGenerator.GetLink(new { controller = "Home" }); + var path = linkGenerator.GetPathByAddress(0, values: null); // Assert - Assert.Equal("/Home", link); + Assert.Null(path); } [Fact] - public void GetLink_Fail_ThrowsException() + public void GetPathByAddress_WithHttpContext_NoMatches_ReturnsNull() { // Arrange - var expectedMessage = "Could not find a matching endpoint to generate a link."; - var endpoint = EndpointFactory.CreateRouteEndpoint("{controller}/{action}"); - var linkGenerator = CreateLinkGenerator(endpoint); + var endpoint = EndpointFactory.CreateRouteEndpoint("{controller}/{action}/{id?}", metadata: new object[] { new IntMetadata(1), }); - // Act & Assert - var exception = Assert.Throws( - () => linkGenerator.GetLink(new { controller = "Home" })); - Assert.Equal(expectedMessage, exception.Message); - } - - [Fact] - public void TryGetLink_Fail() - { - // Arrange - var endpoint = EndpointFactory.CreateRouteEndpoint("{controller}/{action}"); var linkGenerator = CreateLinkGenerator(endpoint); // Act - var canGenerateLink = linkGenerator.TryGetLink( - new { controller = "Home" }, - out var link); + var path = linkGenerator.GetPathByAddress(CreateHttpContext(), 0, values: null); // Assert - Assert.False(canGenerateLink); - Assert.Null(link); + Assert.Null(path); } [Fact] - public void GetLink_MultipleEndpoints_Success() + public void GetUriByAddress_WithoutHttpContext_NoMatches_ReturnsNull() { // Arrange - var endpoint1 = EndpointFactory.CreateRouteEndpoint("{controller}/{action}/{id?}"); - var endpoint2 = EndpointFactory.CreateRouteEndpoint("{controller}/{action}"); - var endpoint3 = EndpointFactory.CreateRouteEndpoint("{controller}"); - var linkGenerator = CreateLinkGenerator(endpoint1, endpoint2, endpoint3); + var endpoint = EndpointFactory.CreateRouteEndpoint("{controller}/{action}/{id?}", metadata: new object[] { new IntMetadata(1), }); - // Act - var link = linkGenerator.GetLink(new { controller = "Home", action = "Index", id = "10" }); - - // Assert - Assert.Equal("/Home/Index/10", link); - } - - [Fact] - public void GetLink_MultipleEndpoints_Success2() - { - // Arrange - var endpoint1 = EndpointFactory.CreateRouteEndpoint("{controller}/{action}/{id}"); - var endpoint2 = EndpointFactory.CreateRouteEndpoint("{controller}/{action}"); - var endpoint3 = EndpointFactory.CreateRouteEndpoint("{controller}"); - var linkGenerator = CreateLinkGenerator(endpoint1, endpoint2, endpoint3); - - // Act - var link = linkGenerator.GetLink(new { controller = "Home", action = "Index" }); - - // Assert - Assert.Equal("/Home/Index", link); - } - - [Fact] - public void GetLink_EncodesIntermediate_DefaultValues() - { - // Arrange - var endpoint = EndpointFactory.CreateRouteEndpoint("{p1}/{p2=a b}/{p3=foo}"); var linkGenerator = CreateLinkGenerator(endpoint); // Act - var link = linkGenerator.GetLink(new { p1 = "Home", p3 = "bar" }); + var uri = linkGenerator.GetUriByAddress(0, values: null, "http", new HostString("example.com")); // Assert - Assert.Equal("/Home/a%20b/bar", link); + Assert.Null(uri); } - [Theory] - [InlineData("a/b/c", "/Home/Index/a%2Fb%2Fc")] - [InlineData("a/b b1/c c1", "/Home/Index/a%2Fb%20b1%2Fc%20c1")] - public void GetLink_EncodesValue_OfSingleAsteriskCatchAllParameter(string routeValue, string expected) + [Fact] + public void GetUriByAddress_WithHttpContext_NoMatches_ReturnsNull() { // Arrange - var endpoint = EndpointFactory.CreateRouteEndpoint("{controller}/{action}/{*path}"); + var endpoint = EndpointFactory.CreateRouteEndpoint("{controller}/{action}/{id?}", metadata: new object[] { new IntMetadata(1), }); + var linkGenerator = CreateLinkGenerator(endpoint); - var httpContext = CreateHttpContext(ambientValues: new { controller = "Home", action = "Index" }); // Act - var link = linkGenerator.GetLink(httpContext, new { path = routeValue }); + var uri = linkGenerator.GetUriByAddress(CreateHttpContext(), 0, values: null); // Assert - Assert.Equal(expected, link); - } - - [Theory] - [InlineData("/", "/Home/Index//")] - [InlineData("a", "/Home/Index/a")] - [InlineData("a/", "/Home/Index/a/")] - [InlineData("a/b", "/Home/Index/a/b")] - [InlineData("a/b/c", "/Home/Index/a/b/c")] - [InlineData("a/b/cc", "/Home/Index/a/b/cc")] - [InlineData("a/b/c/", "/Home/Index/a/b/c/")] - [InlineData("a/b/c//", "/Home/Index/a/b/c//")] - [InlineData("a//b//c", "/Home/Index/a//b//c")] - public void GetLink_DoesNotEncodeSlashes_OfDoubleAsteriskCatchAllParameter(string routeValue, string expected) - { - // Arrange - var endpoint = EndpointFactory.CreateRouteEndpoint("{controller}/{action}/{**path}"); - var linkGenerator = CreateLinkGenerator(endpoint); - var httpContext = CreateHttpContext(ambientValues: new { controller = "Home", action = "Index" }); - - // Act - var link = linkGenerator.GetLink(httpContext, new { path = routeValue }); - - // Assert - Assert.Equal(expected, link); + Assert.Null(uri); } [Fact] - public void GetLink_EncodesContentOtherThanSlashes_OfDoubleAsteriskCatchAllParameter() + public void GetPathByAddress_WithoutHttpContext_HasMatches_ReturnsFirstSuccessfulTemplateResult() { // Arrange - var endpoint = EndpointFactory.CreateRouteEndpoint("{controller}/{action}/{**path}"); - var linkGenerator = CreateLinkGenerator(endpoint); - var httpContext = CreateHttpContext(ambientValues: new { controller = "Home", action = "Index" }); + var endpoint1 = EndpointFactory.CreateRouteEndpoint("{controller}/{action}/{id}", metadata: new object[] { new IntMetadata(1), }); + var endpoint2 = EndpointFactory.CreateRouteEndpoint("{controller}/{action}/{id?}", metadata: new object[] { new IntMetadata(1), }); - // Act - var link = linkGenerator.GetLink(httpContext, new { path = "a/b b1/c c1" }); - - // Assert - Assert.Equal("/Home/Index/a/b%20b1/c%20c1", link); - } - - [Fact] - public void GetLink_EncodesValues() - { - // Arrange - var endpoint = EndpointFactory.CreateRouteEndpoint("{controller}/{action}"); - var linkGenerator = CreateLinkGenerator(endpoint); - var httpContext = CreateHttpContext(ambientValues: new { controller = "Home", action = "Index" }); - - // Act - var link = linkGenerator.GetLink(httpContext, new { name = "name with %special #characters" }); - - // Assert - Assert.Equal("/Home/Index?name=name%20with%20%25special%20%23characters", link); - } - - [Fact] - public void GetLink_ForListOfStrings() - { - // Arrange - var endpoint = EndpointFactory.CreateRouteEndpoint("{controller}/{action}"); - var linkGenerator = CreateLinkGenerator(endpoint); - var context = CreateHttpContext(ambientValues: new { controller = "Home", action = "Index" }); - - // Act - var link = linkGenerator.GetLink(context, new { color = new List { "red", "green", "blue" } }); - - // Assert - Assert.Equal("/Home/Index?color=red&color=green&color=blue", link); - } - - [Fact] - public void GetLink_ForListOfInts() - { - // Arrange - var endpoint = EndpointFactory.CreateRouteEndpoint("{controller}/{action}"); - var linkGenerator = CreateLinkGenerator(endpoint); - var httpContext = CreateHttpContext(ambientValues: new { controller = "Home", action = "Index" }); - - // Act - var link = linkGenerator.GetLink(httpContext, new { items = new List { 10, 20, 30 } }); - - // Assert - Assert.Equal("/Home/Index?items=10&items=20&items=30", link); - } - - [Fact] - public void GetLink_ForList_Empty() - { - // Arrange - var endpoint = EndpointFactory.CreateRouteEndpoint("{controller}/{action}"); - var linkGenerator = CreateLinkGenerator(endpoint); - var httpContext = CreateHttpContext(ambientValues: new { controller = "Home", action = "Index" }); - - // Act - var link = linkGenerator.GetLink(httpContext, new { color = new List { } }); - - // Assert - Assert.Equal("/Home/Index", link); - } - - [Fact] - public void GetLink_ForList_StringWorkaround() - { - // Arrange - var endpoint = EndpointFactory.CreateRouteEndpoint("{controller}/{action}"); - var linkGenerator = CreateLinkGenerator(endpoint); - var httpContext = CreateHttpContext(ambientValues: new { controller = "Home", action = "Index" }); - - // Act - var link = linkGenerator.GetLink( - httpContext, - new { page = 1, color = new List { "red", "green", "blue" }, message = "textfortest" }); - - // Assert - Assert.Equal("/Home/Index?page=1&color=red&color=green&color=blue&message=textfortest", link); - } - - [Fact] - public void GetLink_Success_AmbientValues() - { - // Arrange - var endpoint = EndpointFactory.CreateRouteEndpoint("{controller}/{action}"); - var linkGenerator = CreateLinkGenerator(endpoint); - var httpContext = CreateHttpContext(ambientValues: new { controller = "Home" }); - - // Act - var link = linkGenerator.GetLink(httpContext, new { action = "Index" }); - - // Assert - Assert.Equal("/Home/Index", link); - } - - [Fact] - public void GetLink_GeneratesLowercaseUrl_SetOnRouteOptions() - { - // Arrange - var endpoint = EndpointFactory.CreateRouteEndpoint("{controller}/{action}"); - var linkGenerator = CreateLinkGenerator(new[] { endpoint }, new RouteOptions() { LowercaseUrls = true }); - var httpContext = CreateHttpContext(ambientValues: new { controller = "Home" }); - - // Act - var link = linkGenerator.GetLink(httpContext, new { action = "Index" }); - - // Assert - Assert.Equal("/home/index", link); - } - - [Fact] - public void GetLink_GeneratesLowercaseQueryString_SetOnRouteOptions() - { - // Arrange - var endpoint = EndpointFactory.CreateRouteEndpoint("{controller}/{action}"); - var linkGenerator = CreateLinkGenerator( - new[] { endpoint }, - new RouteOptions() { LowercaseUrls = true, LowercaseQueryStrings = true }); - var httpContext = CreateHttpContext(ambientValues: new { controller = "Home" }); - - // Act - var link = linkGenerator.GetLink( - httpContext, - new { action = "Index", ShowStatus = "True", INFO = "DETAILED" }); - - // Assert - Assert.Equal("/home/index?showstatus=true&info=detailed", link); - } - - [Fact] - public void GetLink_GeneratesLowercaseQueryString_OnlyIfLowercaseUrlIsTrue_SetOnRouteOptions() - { - // Arrange - var endpoint = EndpointFactory.CreateRouteEndpoint("{controller}/{action}"); - var linkGenerator = CreateLinkGenerator( - new[] { endpoint }, - new RouteOptions() { LowercaseUrls = false, LowercaseQueryStrings = true }); - var httpContext = CreateHttpContext(ambientValues: new { controller = "Home" }); - - // Act - var link = linkGenerator.GetLink( - httpContext, - new { action = "Index", ShowStatus = "True", INFO = "DETAILED" }); - - // Assert - Assert.Equal("/Home/Index?ShowStatus=True&INFO=DETAILED", link); - } - - [Fact] - public void GetLink_AppendsTrailingSlash_SetOnRouteOptions() - { - // Arrange - var endpoint = EndpointFactory.CreateRouteEndpoint("{controller}/{action}"); - var linkGenerator = CreateLinkGenerator( - new[] { endpoint }, - new RouteOptions() { AppendTrailingSlash = true }); - var httpContext = CreateHttpContext(ambientValues: new { controller = "Home" }); - - // Act - var link = linkGenerator.GetLink(httpContext, new { action = "Index" }); - - // Assert - Assert.Equal("/Home/Index/", link); - } - - [Fact] - public void GetLink_GeneratesLowercaseQueryStringAndTrailingSlash_SetOnRouteOptions() - { - // Arrange - var endpoint = EndpointFactory.CreateRouteEndpoint("{controller}/{action}"); - var linkGenerator = CreateLinkGenerator( - new[] { endpoint }, - new RouteOptions() { LowercaseUrls = true, LowercaseQueryStrings = true, AppendTrailingSlash = true }); - var httpContext = CreateHttpContext(ambientValues: new { controller = "Home" }); - - // Act - var link = linkGenerator.GetLink( - httpContext, - new { action = "Index", ShowStatus = "True", INFO = "DETAILED" }); - - // Assert - Assert.Equal("/home/index/?showstatus=true&info=detailed", link); - } - - [Fact] - public void GetLink_LowercaseUrlSetToTrue_OnRouteOptions_OverridenByCallsiteValue() - { - // Arrange - var endpoint = EndpointFactory.CreateRouteEndpoint("{controller}/{action}"); - var linkGenerator = CreateLinkGenerator( - new[] { endpoint }, - new RouteOptions() { LowercaseUrls = true }); - var httpContext = CreateHttpContext(ambientValues: new { controller = "HoMe" }); - - // Act - var link = linkGenerator.GetLink( - httpContext, - values: new { action = "InDex" }, - new LinkOptions - { - LowercaseUrls = false - }); - - // Assert - Assert.Equal("/HoMe/InDex", link); - } - - [Fact] - public void GetLink_LowercaseUrlSetToFalse_OnRouteOptions_OverridenByCallsiteValue() - { - // Arrange - var endpoint = EndpointFactory.CreateRouteEndpoint("{controller}/{action}"); - var linkGenerator = CreateLinkGenerator( - new[] { endpoint }, - new RouteOptions() { LowercaseUrls = false }); - var httpContext = CreateHttpContext(ambientValues: new { controller = "HoMe" }); - - // Act - var link = linkGenerator.GetLink( - httpContext, - values: new { action = "InDex" }, - new LinkOptions - { - LowercaseUrls = true - }); - - // Assert - Assert.Equal("/home/index", link); - } - - [Fact] - public void GetLink_LowercaseUrlQueryStringsSetToTrue_OnRouteOptions_OverridenByCallsiteValue() - { - // Arrange - var endpoint = EndpointFactory.CreateRouteEndpoint("{controller}/{action}"); - var linkGenerator = CreateLinkGenerator( - new[] { endpoint }, - new RouteOptions() { LowercaseUrls = true, LowercaseQueryStrings = true }); - var httpContext = CreateHttpContext(ambientValues: new { controller = "Home" }); - - // Act - var link = linkGenerator.GetLink( - httpContext, - values: new { action = "Index", ShowStatus = "True", INFO = "DETAILED" }, - new LinkOptions - { - LowercaseUrls = false, - LowercaseQueryStrings = false - }); - - // Assert - Assert.Equal("/Home/Index?ShowStatus=True&INFO=DETAILED", link); - } - - [Fact] - public void GetLink_LowercaseUrlQueryStringsSetToFalse_OnRouteOptions_OverridenByCallsiteValue() - { - // Arrange - var endpoint = EndpointFactory.CreateRouteEndpoint("{controller}/{action}"); - var linkGenerator = CreateLinkGenerator( - new[] { endpoint }, - new RouteOptions() { LowercaseUrls = false, LowercaseQueryStrings = false }); - var httpContext = CreateHttpContext(ambientValues: new { controller = "Home" }); - - // Act - var link = linkGenerator.GetLink( - httpContext, - values: new { action = "Index", ShowStatus = "True", INFO = "DETAILED" }, - new LinkOptions - { - LowercaseUrls = true, - LowercaseQueryStrings = true - }); - - // Assert - Assert.Equal("/home/index?showstatus=true&info=detailed", link); - } - - [Fact] - public void GetLink_AppendTrailingSlashSetToFalse_OnRouteOptions_OverridenByCallsiteValue() - { - // Arrange - var endpoint = EndpointFactory.CreateRouteEndpoint("{controller}/{action}"); - var linkGenerator = CreateLinkGenerator( - new[] { endpoint }, - new RouteOptions() { AppendTrailingSlash = false }); - var httpContext = CreateHttpContext(ambientValues: new { controller = "Home" }); - - // Act - var link = linkGenerator.GetLink( - httpContext, - values: new { action = "Index" }, - new LinkOptions - { - AppendTrailingSlash = true - }); - - // Assert - Assert.Equal("/Home/Index/", link); - } - - [Fact] - public void RouteGenerationRejectsConstraints() - { - // Arrange - var endpoint = EndpointFactory.CreateRouteEndpoint( - "{p1}/{p2}", - defaults: new { p2 = "catchall" }, - constraints: new { p2 = "\\d{4}" }); - var linkGenerator = CreateLinkGenerator(endpoint); - var httpContext = CreateHttpContext(ambientValues: new { }); - - // Act - var canGenerateLink = linkGenerator.TryGetLink( - httpContext, - new { p1 = "abcd" }, - out var link); - - // Assert - Assert.False(canGenerateLink); - } - - [Fact] - public void RouteGenerationAcceptsConstraints() - { - // Arrange - var endpoint = EndpointFactory.CreateRouteEndpoint( - "{p1}/{p2}", - defaults: new { p2 = "catchall" }, - constraints: new { p2 = new RegexRouteConstraint("\\d{4}"), }); - var linkGenerator = CreateLinkGenerator(endpoint); - var httpContext = CreateHttpContext(ambientValues: new { }); - - // Act - var canGenerateLink = linkGenerator.TryGetLink( - httpContext, - new { p1 = "hello", p2 = "1234" }, - out var link); - - // Assert - Assert.True(canGenerateLink); - Assert.Equal("/hello/1234", link); - } - - [Fact] - public void RouteWithCatchAllRejectsConstraints() - { - // Arrange - var endpoint = EndpointFactory.CreateRouteEndpoint( - "{p1}/{*p2}", - defaults: new { p2 = "catchall" }, - constraints: new { p2 = new RegexRouteConstraint("\\d{4}") }); - var linkGenerator = CreateLinkGenerator(endpoint); - var httpContext = CreateHttpContext(ambientValues: new { }); - - // Act - var canGenerateLink = linkGenerator.TryGetLink( - httpContext, - new { p1 = "abcd" }, - out var link); - - // Assert - Assert.False(canGenerateLink); - } - - [Fact] - public void RouteWithCatchAllAcceptsConstraints() - { - // Arrange - var endpoint = EndpointFactory.CreateRouteEndpoint( - "{p1}/{*p2}", - defaults: new { p2 = "catchall" }, - constraints: new { p2 = new RegexRouteConstraint("\\d{4}") }); - var linkGenerator = CreateLinkGenerator(endpoint); - var httpContext = CreateHttpContext(ambientValues: new { }); - - // Act - var canGenerateLink = linkGenerator.TryGetLink( - httpContext, - new { p1 = "hello", p2 = "1234" }, - out var link); - - // Assert - Assert.True(canGenerateLink); - Assert.Equal("/hello/1234", link); - } - - [Fact] - public void GetLinkWithNonParameterConstraintReturnsUrlWithoutQueryString() - { - // Arrange - var target = new Mock(); - target - .Setup( - e => e.Match( - It.IsAny(), - It.IsAny(), - It.IsAny(), - It.IsAny(), - It.IsAny())) - .Returns(true) - .Verifiable(); - var endpoint = EndpointFactory.CreateRouteEndpoint( - "{p1}/{p2}", - defaults: new { p2 = "catchall" }, - constraints: new { p2 = target.Object }); - var linkGenerator = CreateLinkGenerator(endpoint); - var httpContext = CreateHttpContext(ambientValues: new { }); - - // Act - var canGenerateLink = linkGenerator.TryGetLink( - httpContext, - new { p1 = "hello", p2 = "1234" }, - out var link); - - // Assert - Assert.True(canGenerateLink); - Assert.Equal("/hello/1234", link); - target.VerifyAll(); - } - - // Any ambient values from the current request should be visible to constraint, even - // if they have nothing to do with the route generating a link - [Fact] - public void GetLink_ConstraintsSeeAmbientValues() - { - // Arrange - var constraint = new CapturingConstraint(); - var endpoint = EndpointFactory.CreateRouteEndpoint( - template: "slug/Home/Store", - defaults: new { controller = "Home", action = "Store" }, - constraints: new { c = constraint }); - var linkGenerator = CreateLinkGenerator(endpoint); - var httpContext = CreateHttpContext( - ambientValues: new { controller = "Home", action = "Blog", extra = "42" }); - var expectedValues = new RouteValueDictionary( - new { controller = "Home", action = "Store", extra = "42" }); - - // Act - var canGenerateLink = linkGenerator.TryGetLink( - httpContext, - new { action = "Store" }, - out var link); - - // Assert - Assert.True(canGenerateLink); - Assert.Equal("/slug/Home/Store", link); - Assert.Equal(expectedValues.OrderBy(kvp => kvp.Key), constraint.Values.OrderBy(kvp => kvp.Key)); - } - - // Non-parameter default values from the routing generating a link are not in the 'values' - // collection when constraints are processed. - [Fact] - public void GetLink_ConstraintsDontSeeDefaults_WhenTheyArentParameters() - { - // Arrange - var constraint = new CapturingConstraint(); - var endpoint = EndpointFactory.CreateRouteEndpoint( - template: "slug/Home/Store", - defaults: new { controller = "Home", action = "Store", otherthing = "17" }, - constraints: new { c = constraint }); - var linkGenerator = CreateLinkGenerator(endpoint); - var httpContext = CreateHttpContext(ambientValues: new { controller = "Home", action = "Blog" }); - var expectedValues = new RouteValueDictionary( - new { controller = "Home", action = "Store" }); - - // Act - var link = linkGenerator.GetLink(httpContext, new { action = "Store" }); - - // Assert - Assert.Equal("/slug/Home/Store", link); - Assert.Equal(expectedValues.OrderBy(kvp => kvp.Key), constraint.Values.OrderBy(kvp => kvp.Key)); - } - - // Default values are visible to the constraint when they are used to fill a parameter. - [Fact] - public void GetLink_ConstraintsSeesDefault_WhenThereItsAParamter() - { - // Arrange - var constraint = new CapturingConstraint(); - var endpoint = EndpointFactory.CreateRouteEndpoint( - template: "slug/{controller}/{action}", - defaults: new { action = "Index" }, - constraints: new { c = constraint, }); - var linkGenerator = CreateLinkGenerator(endpoint); - var httpContext = CreateHttpContext(ambientValues: new { controller = "Home", action = "Blog" }); - var expectedValues = new RouteValueDictionary( - new { controller = "Shopping", action = "Index" }); - - // Act - var link = linkGenerator.GetLink(httpContext, new { controller = "Shopping" }); - - // Assert - Assert.Equal("/slug/Shopping", link); - Assert.Equal(expectedValues, constraint.Values); - } - - // Default values from the routing generating a link are in the 'values' collection when - // constraints are processed - IFF they are specified as values or ambient values. - [Fact] - public void GetLink_ConstraintsSeeDefaults_IfTheyAreSpecifiedOrAmbient() - { - // Arrange - var constraint = new CapturingConstraint(); - var endpoint = EndpointFactory.CreateRouteEndpoint( - template: "slug/Home/Store", - defaults: new { controller = "Home", action = "Store", otherthing = "17", thirdthing = "13" }, - constraints: new { c = constraint, }); - var linkGenerator = CreateLinkGenerator(endpoint); - var httpContext = CreateHttpContext( - ambientValues: new { controller = "Home", action = "Blog", otherthing = "17" }); - - var expectedValues = new RouteValueDictionary( - new { controller = "Home", action = "Store", otherthing = "17", thirdthing = "13" }); - - // Act - var link = linkGenerator.GetLink( - httpContext, - new { action = "Store", thirdthing = "13" }); - - // Assert - Assert.Equal("/slug/Home/Store", link); - Assert.Equal(expectedValues.OrderBy(kvp => kvp.Key), constraint.Values.OrderBy(kvp => kvp.Key)); - } - - [Theory] - [InlineData(true)] - [InlineData(false)] - public void GetLink_InlineConstraints_Success(bool hasHttpContext) - { - // Arrange - var endpoint = EndpointFactory.CreateRouteEndpoint( - template: "Home/Index/{id:int}", - defaults: new { controller = "Home", action = "Index" }, - constraints: new { }); - var linkGenerator = CreateLinkGenerator(endpoint); - var httpContext = hasHttpContext ? CreateHttpContext(new { }) : null; - - // Act - var link = linkGenerator.GetLink( - httpContext, - new { action = "Index", controller = "Home", id = 4 }); - - // Assert - Assert.Equal("/Home/Index/4", link); - } - - [Fact] - public void GetLink_InlineConstraints_NonMatchingvalue() - { - // Arrange - var endpoint = EndpointFactory.CreateRouteEndpoint( - template: "Home/Index/{id}", - defaults: new { controller = "Home", action = "Index" }, - constraints: new { id = "int" }); - var linkGenerator = CreateLinkGenerator(endpoint); - var httpContext = CreateHttpContext(ambientValues: new { }); - - // Act - var canGenerateLink = linkGenerator.TryGetLink( - httpContext, - new { action = "Index", controller = "Home", id = "not-an-integer" }, - out var link); - - // Assert - Assert.False(canGenerateLink); - } - - [Theory] - [InlineData(true)] - [InlineData(false)] - public void GetLink_InlineConstraints_OptionalParameter_ValuePresent(bool hasHttpContext) - { - // Arrange - var endpoint = EndpointFactory.CreateRouteEndpoint( - template: "Home/Index/{id:int?}", - defaults: new { controller = "Home", action = "Index" }, - constraints: new { }); - var linkGenerator = CreateLinkGenerator(endpoint); - var httpContext = hasHttpContext ? CreateHttpContext(new { }) : null; - - // Act - var link = linkGenerator.GetLink(httpContext, new { action = "Index", controller = "Home", id = 98 }); - - // Assert - Assert.Equal("/Home/Index/98", link); - } - - [Fact] - public void GetLink_InlineConstraints_OptionalParameter_ValueNotPresent() - { - // Arrange - var endpoint = EndpointFactory.CreateRouteEndpoint( - template: "Home/Index/{id?}", - defaults: new { controller = "Home", action = "Index" }, - constraints: new { id = "int" }); - var linkGenerator = CreateLinkGenerator(endpoint); - var httpContext = CreateHttpContext(ambientValues: new { }); - - // Act - var link = linkGenerator.GetLink(httpContext, new { action = "Index", controller = "Home" }); - - // Assert - Assert.Equal("/Home/Index", link); - } - - [Fact] - public void GetLink_InlineConstraints_OptionalParameter_ValuePresent_ConstraintFails() - { - // Arrange - var endpoint = EndpointFactory.CreateRouteEndpoint( - template: "Home/Index/{id?}", - defaults: new { controller = "Home", action = "Index" }, - constraints: new { id = "int" }); - var linkGenerator = CreateLinkGenerator(endpoint); - var httpContext = CreateHttpContext(ambientValues: new { }); - - // Act - var canGenerateLink = linkGenerator.TryGetLink( - httpContext, - new { action = "Index", controller = "Home", id = "not-an-integer" }, - out var link); - - // Assert - Assert.False(canGenerateLink); - } - - [Theory] - [InlineData(true)] - [InlineData(false)] - public void GetLink_InlineConstraints_MultipleInlineConstraints(bool hasHttpContext) - { - // Arrange - var endpoint = EndpointFactory.CreateRouteEndpoint( - template: "Home/Index/{id:int:range(1,20)}", - defaults: new { controller = "Home", action = "Index" }, - constraints: new { }); - var linkGenerator = CreateLinkGenerator(endpoint); - var httpContext = hasHttpContext ? CreateHttpContext(new { }) : null; - - // Act - var link = linkGenerator.GetLink( - httpContext, - new { action = "Index", controller = "Home", id = 14 }); - - // Assert - Assert.Equal("/Home/Index/14", link); - } - - [Theory] - [InlineData(true)] - [InlineData(false)] - public void GetLink_InlineConstraints_CompositeInlineConstraint_Fails(bool hasHttpContext) - { - // Arrange - var endpoint = EndpointFactory.CreateRouteEndpoint( - template: "Home/Index/{id:int:range(1,20)}", - defaults: new { controller = "Home", action = "Index" }, - constraints: new { }); - var linkGenerator = CreateLinkGenerator(endpoint); - var httpContext = hasHttpContext ? CreateHttpContext(new { }) : null; - - // Act - var canGenerateLink = linkGenerator.TryGetLink( - httpContext, - new { action = "Index", controller = "Home", id = 50 }, - out var link); - - // Assert - Assert.False(canGenerateLink); - } - - [Fact] - public void GetLink_InlineConstraints_CompositeConstraint_FromConstructor() - { - // Arrange - var constraint = new MaxLengthRouteConstraint(20); - var endpoint = EndpointFactory.CreateRouteEndpoint( - template: "Home/Index/{name}", - defaults: new { controller = "Home", action = "Index" }, - constraints: new { name = constraint }); - var linkGenerator = CreateLinkGenerator(endpoint); - var httpContext = CreateHttpContext(ambientValues: new { }); - - // Act - var link = linkGenerator.GetLink( - httpContext, - new { action = "Index", controller = "Home", name = "products" }); - - // Assert - Assert.Equal("/Home/Index/products", link); - } - - [Fact] - public void GetLink_OptionalParameter_ParameterPresentInValues() - { - // Arrange - var endpoint = EndpointFactory.CreateRouteEndpoint("{controller}/{action}/{name?}"); - var linkGenerator = CreateLinkGenerator(endpoint); - var httpContext = CreateHttpContext(ambientValues: new { }); - - // Act - var link = linkGenerator.GetLink( - httpContext, - new { action = "Index", controller = "Home", name = "products" }); - - // Assert - Assert.Equal("/Home/Index/products", link); - } - - [Fact] - public void GetLink_OptionalParameter_ParameterNotPresentInValues() - { - // Arrange - var endpoint = EndpointFactory.CreateRouteEndpoint("{controller}/{action}/{name?}"); - var linkGenerator = CreateLinkGenerator(endpoint); - var httpContext = CreateHttpContext(ambientValues: new { }); - - // Act - var link = linkGenerator.GetLink( - httpContext, - new { action = "Index", controller = "Home" }); - - // Assert - Assert.Equal("/Home/Index", link); - } - - [Fact] - public void GetLink_OptionalParameter_ParameterPresentInValuesAndDefaults() - { - // Arrange - var endpoint = EndpointFactory.CreateRouteEndpoint( - template: "{controller}/{action}/{name}", - defaults: new { name = "default-products" }); - var linkGenerator = CreateLinkGenerator(endpoint); - var httpContext = CreateHttpContext(ambientValues: new { }); - - // Act - var link = linkGenerator.GetLink( - httpContext, - new { action = "Index", controller = "Home", name = "products" }); - - // Assert - Assert.Equal("/Home/Index/products", link); - } - - [Fact] - public void GetLink_OptionalParameter_ParameterNotPresentInValues_PresentInDefaults() - { - // Arrange - var endpoint = EndpointFactory.CreateRouteEndpoint( - template: "{controller}/{action}/{name}", - defaults: new { name = "products" }); - var linkGenerator = CreateLinkGenerator(endpoint); - var httpContext = CreateHttpContext(ambientValues: new { }); - - // Act - var link = linkGenerator.GetLink( - httpContext, - new { action = "Index", controller = "Home" }); - - // Assert - Assert.Equal("/Home/Index", link); - } - - [Fact] - public void GetLink_ParameterNotPresentInTemplate_PresentInValues() - { - // Arrange - var endpoint = EndpointFactory.CreateRouteEndpoint("{controller}/{action}/{name}"); - var linkGenerator = CreateLinkGenerator(endpoint); - var httpContext = CreateHttpContext(ambientValues: new { }); - - // Act - var link = linkGenerator.GetLink( - httpContext, - new { action = "Index", controller = "Home", name = "products", format = "json" }); - - // Assert - Assert.Equal("/Home/Index/products?format=json", link); - } - - [Fact] - public void GetLink_OptionalParameter_FollowedByDotAfterSlash_ParameterPresent() - { - // Arrange - var endpoint = EndpointFactory.CreateRouteEndpoint( - template: "{controller}/{action}/.{name?}"); - var linkGenerator = CreateLinkGenerator(endpoint); - var httpContext = CreateHttpContext(ambientValues: new { }); - - // Act - var link = linkGenerator.GetLink( - httpContext, - new { action = "Index", controller = "Home", name = "products" }); - - // Assert - Assert.Equal("/Home/Index/.products", link); - } - - [Fact] - public void GetLink_OptionalParameter_FollowedByDotAfterSlash_ParameterNotPresent() - { - // Arrange - var endpoint = EndpointFactory.CreateRouteEndpoint("{controller}/{action}/.{name?}"); - var linkGenerator = CreateLinkGenerator(endpoint); - var httpContext = CreateHttpContext(ambientValues: new { }); - - // Act - var link = linkGenerator.GetLink(httpContext, new { action = "Index", controller = "Home" }); - - // Assert - Assert.Equal("/Home/Index/", link); - } - - [Fact] - public void GetLink_OptionalParameter_InSimpleSegment() - { - // Arrange - var endpoint = EndpointFactory.CreateRouteEndpoint("{controller}/{action}/{name?}"); - var linkGenerator = CreateLinkGenerator(endpoint); - var httpContext = CreateHttpContext(ambientValues: new { }); - - // Act - var link = linkGenerator.GetLink(httpContext, new { action = "Index", controller = "Home" }); - - // Assert - Assert.Equal("/Home/Index", link); - } - - [Fact] - public void GetLink_TwoOptionalParameters_OneValueFromAmbientValues() - { - // Arrange - var endpoint = EndpointFactory.CreateRouteEndpoint("a/{b=15}/{c?}/{d?}"); - var linkGenerator = CreateLinkGenerator(endpoint); - var httpContext = CreateHttpContext(ambientValues: new { c = "17" }); - - // Act - var link = linkGenerator.GetLink(httpContext, new { }); - - // Assert - Assert.Equal("/a/15/17", link); - } - - [Fact] - public void GetLink_OptionalParameterAfterDefault_OneValueFromAmbientValues() - { - // Arrange - var endpoint = EndpointFactory.CreateRouteEndpoint("a/{b=15}/{c?}"); - var linkGenerator = CreateLinkGenerator(endpoint); - var httpContext = CreateHttpContext(ambientValues: new { c = "17" }); - - // Act - var link = linkGenerator.GetLink(httpContext, new { }); - - // Assert - Assert.Equal("/a/15/17", link); - } - - [Fact] - public void GetLink_TwoOptionalParametersAfterDefault_LastValueFromAmbientValues() - { - // Arrange - var endpoint = EndpointFactory.CreateRouteEndpoint("a/{b=15}/{c?}/{d?}"); - var linkGenerator = CreateLinkGenerator(endpoint); - var httpContext = CreateHttpContext(ambientValues: new { d = "17" }); - - // Act - var link = linkGenerator.GetLink(httpContext, new { }); - - // Assert - Assert.Equal("/a", link); - } - - public static TheoryData DoesNotDiscardAmbientValuesData - { - get - { - // - ambient values - // - explicit values - // - required values - // - defaults - return new TheoryData - { - // link to same action on same controller - { - new { controller = "Products", action = "Edit", id = 10 }, - new { controller = "Products", action = "Edit" }, - new { area = (string)null, controller = "Products", action = "Edit", page = (string)null }, - new { area = (string)null, controller = "Products", action = "Edit", page = (string)null } - }, - - // link to same action on same controller - ignoring case - { - new { controller = "ProDUcts", action = "EDit", id = 10 }, - new { controller = "ProDUcts", action = "EDit" }, - new { area = (string)null, controller = "Products", action = "Edit", page = (string)null }, - new { area = (string)null, controller = "Products", action = "Edit", page = (string)null } - }, - - // link to same action and same controller on same area - { - new { area = "Admin", controller = "Products", action = "Edit", id = 10 }, - new { area = "Admin", controller = "Products", action = "Edit" }, - new { area = "Admin", controller = "Products", action = "Edit", page = (string)null }, - new { area = "Admin", controller = "Products", action = "Edit", page = (string)null } - }, - - // link to same action and same controller on same area - { - new { area = "Admin", controller = "Products", action = "Edit", id = 10 }, - new { controller = "Products", action = "Edit" }, - new { area = "Admin", controller = "Products", action = "Edit", page = (string)null }, - new { area = "Admin", controller = "Products", action = "Edit", page = (string)null } - }, - - // link to same action and same controller - { - new { controller = "Products", action = "Edit", id = 10 }, - new { controller = "Products", action = "Edit" }, - new { area = (string)null, controller = "Products", action = "Edit", page = (string)null }, - new { area = (string)null, controller = "Products", action = "Edit", page = (string)null } - }, - { - new { controller = "Products", action = "Edit", id = 10 }, - new { controller = "Products", action = "Edit" }, - new { area = (string)null, controller = "Products", action = "Edit", page = (string)null }, - new { area = (string)null, controller = "Products", action = "Edit", page = (string)null } - }, - { - new { controller = "Products", action = "Edit", id = 10 }, - new { controller = "Products", action = "Edit" }, - new { area = "", controller = "Products", action = "Edit", page = "" }, - new { area = "", controller = "Products", action = "Edit", page = "" } - }, - - // link to same page - { - new { page = "Products/Edit", id = 10 }, - new { page = "Products/Edit" }, - new { area = (string)null, controller = (string)null, action = (string)null, page = "Products/Edit" }, - new { area = (string)null, controller = (string)null, action = (string)null, page = "Products/Edit" } - }, - }; - } - } - - [Theory] - [MemberData(nameof(DoesNotDiscardAmbientValuesData))] - public void TryGetLink_DoesNotDiscardAmbientValues_IfAllRequiredKeysMatch( - object ambientValues, - object explicitValues, - object requiredValues, - object defaults) - { - // Arrange - var endpoint = EndpointFactory.CreateRouteEndpoint( - "Products/Edit/{id}", - requiredValues: requiredValues, - defaults: defaults); - var linkGenerator = CreateLinkGenerator(endpoint); - var httpContext = CreateHttpContext(ambientValues); - - // Act - var canGenerateLink = linkGenerator.TryGetLink( - httpContext, - new RouteValueDictionary(explicitValues), - out var link); - - // Assert - Assert.True(canGenerateLink); - Assert.Equal("/Products/Edit/10", link); - } - - [Fact] - public void TryGetLink_DoesNotDiscardAmbientValues_IfAllRequiredValuesMatch_ForGenericKeys() - { - // Verifying that discarding works in general usage case i.e when keys are not like controller, action etc. - - // Arrange - var endpoint = EndpointFactory.CreateRouteEndpoint( - "Products/Edit/{id}", - requiredValues: new { c = "Products", a = "Edit" }, - defaults: new { c = "Products", a = "Edit" }); - var linkGenerator = CreateLinkGenerator(endpoint); - var httpContext = CreateHttpContext(ambientValues: new { c = "Products", a = "Edit", id = 10 }); - - // Act - var canGenerateLink = linkGenerator.TryGetLink( - httpContext, - new { c = "Products", a = "Edit" }, - out var link); - - // Assert - Assert.True(canGenerateLink); - Assert.Equal("/Products/Edit/10", link); - } - - [Fact] - public void TryGetLink_DiscardsAmbientValues_ForGenericKeys() - { - // Verifying that discarding works in general usage case i.e when keys are not like controller, action etc. - - // Arrange - var endpoint = EndpointFactory.CreateRouteEndpoint( - "Products/Edit/{id}", - requiredValues: new { c = "Products", a = "Edit" }, - defaults: new { c = "Products", a = "Edit" }); - var linkGenerator = CreateLinkGenerator(endpoint); - var httpContext = CreateHttpContext(ambientValues: new { c = "Products", a = "Edit", id = 10 }); - - // Act - var canGenerateLink = linkGenerator.TryGetLink( - httpContext, - new { c = "Products", a = "List" }, - out var link); - - // Assert - Assert.False(canGenerateLink); - Assert.Null(link); - } - - public static TheoryData DiscardAmbientValuesData - { - get - { - // - ambient values - // - explicit values - // - required values - // - defaults - return new TheoryData - { - // link to different action on same controller - { - new { controller = "Products", action = "Edit", id = 10 }, - new { controller = "Products", action = "List" }, - new { area = (string)null, controller = "Products", action = "List", page = (string)null }, - new { area = (string)null, controller = "Products", action = "List", page = (string)null } - }, - - // link to different action on same controller and same area - { - new { area = "Customer", controller = "Products", action = "Edit", id = 10 }, - new { area = "Customer", controller = "Products", action = "List" }, - new { area = "Customer", controller = "Products", action = "List", page = (string)null }, - new { area = "Customer", controller = "Products", action = "List", page = (string)null } - }, - - // link from one area to a different one - { - new { area = "Admin", controller = "Products", action = "Edit", id = 10 }, - new { area = "Consumer", controller = "Products", action = "Edit" }, - new { area = "Consumer", controller = "Products", action = "Edit", page = (string)null }, - new { area = "Consumer", controller = "Products", action = "Edit", page = (string)null } - }, - - // link from non-area to a area one - { - new { controller = "Products", action = "Edit", id = 10 }, - new { area = "Consumer", controller = "Products", action = "Edit" }, - new { area = "Consumer", controller = "Products", action = "Edit", page = (string)null }, - new { area = "Consumer", controller = "Products", action = "Edit", page = (string)null } - }, - - // link from area to a non-area based action - { - new { area = "Admin", controller = "Products", action = "Edit", id = 10 }, - new { area = "", controller = "Products", action = "Edit" }, - new { area = "", controller = "Products", action = "Edit", page = (string)null }, - new { area = "", controller = "Products", action = "Edit", page = (string)null } - }, - - // link from controller-action to a page - { - new { controller = "Products", action = "Edit", id = 10 }, - new { page = "Products/Edit" }, - new { area = (string)null, controller = (string)null, action = (string)null, page = "Products/Edit"}, - new { area = (string)null, controller = (string)null, action = (string)null, page = "Products/Edit"} - }, - - // link from a page to controller-action - { - new { page = "Products/Edit", id = 10 }, - new { controller = "Products", action = "Edit" }, - new { area = (string)null, controller = "Products", action = "Edit", page = (string)null }, - new { area = (string)null, controller = "Products", action = "Edit", page = (string)null } - }, - - // link from one page to a different page - { - new { page = "Products/Details", id = 10 }, - new { page = "Products/Edit" }, - new { area = (string)null, controller = (string)null, action = (string)null, page = "Products/Edit" }, - new { area = (string)null, controller = (string)null, action = (string)null, page = "Products/Edit" } - }, - }; - } - } - - [Theory] - [MemberData(nameof(DiscardAmbientValuesData))] - public void TryGetLink_DiscardsAmbientValues_IfAnyAmbientValue_IsDifferentThan_EndpointRequiredValues( - object ambientValues, - object explicitValues, - object requiredValues, - object defaults) - { - // Linking to a different action on the same controller - - // Arrange - var endpoint = EndpointFactory.CreateRouteEndpoint( - "Products/Edit/{id}", - requiredValues: requiredValues, - defaults: defaults); - var linkGenerator = CreateLinkGenerator(endpoint); - var httpContext = CreateHttpContext(ambientValues); - - // Act - var canGenerateLink = linkGenerator.TryGetLink( - httpContext, - new RouteValueDictionary(explicitValues), - out var link); - - // Assert - Assert.False(canGenerateLink); - Assert.Null(link); - } - - [Fact] - public void TryGetLinkByAddress_WithCustomAddress_CanGenerateLink() - { - // Arrange - var services = GetBasicServices(); - services.TryAddEnumerable( - ServiceDescriptor.Singleton, EndpointFinderByName>()); - var endpoint1 = EndpointFactory.CreateRouteEndpoint( - "Products/Details/{id}", - requiredValues: new { controller = "Products", action = "Details" }, - defaults: new { controller = "Products", action = "Details" }); - var endpoint2 = EndpointFactory.CreateRouteEndpoint( - "Customers/Details/{id}", - requiredValues: new { controller = "Customers", action = "Details" }, - defaults: new { controller = "Customers", action = "Details" }, - metadata: new NameMetadata("CustomerDetails")); - var linkGenerator = CreateLinkGenerator(new[] { endpoint1, endpoint2 }, new RouteOptions(), services); - var httpContext = CreateHttpContext(ambientValues: new { }); - - // Act - var canGenerateLink = linkGenerator.TryGetLinkByAddress( - httpContext, - address: new NameMetadata("CustomerDetails"), - values: new { id = 10 }, - out var link); - - // Assert - Assert.True(canGenerateLink); - Assert.Equal("/Customers/Details/10", link); - } - - [Fact] - public void TryGetLinkByAddress_WithCustomAddress_CanGenerateLink_RespectsLinkOptions_SuppliedAtCallSite() - { - // Arrange - var services = GetBasicServices(); - services.TryAddEnumerable( - ServiceDescriptor.Singleton, EndpointFinderByName>()); - var endpoint1 = EndpointFactory.CreateRouteEndpoint( - "Products/Details/{id}", - requiredValues: new { controller = "Products", action = "Details" }, - defaults: new { controller = "Products", action = "Details" }); - var endpoint2 = EndpointFactory.CreateRouteEndpoint( - "Customers/Details/{id}", - requiredValues: new { controller = "Customers", action = "Details" }, - defaults: new { controller = "Customers", action = "Details" }, - metadata: new NameMetadata("CustomerDetails")); - var linkGenerator = CreateLinkGenerator(new[] { endpoint1, endpoint2 }, new RouteOptions(), services); - var httpContext = CreateHttpContext(ambientValues: new { }); - - // Act - var canGenerateLink = linkGenerator.TryGetLinkByAddress( - httpContext, - address: new NameMetadata("CustomerDetails"), - values: new { id = 10 }, - new LinkOptions - { - LowercaseUrls = true - }, - out var link); - - // Assert - Assert.True(canGenerateLink); - Assert.Equal("/customers/details/10", link); - } - - [Fact] - public void GetTemplate_ByRouteValues_ReturnsTemplate() - { - // Arrange - var endpoint1 = EndpointFactory.CreateRouteEndpoint( - "Product/Edit/{id}", - requiredValues: new { controller = "Product", action = "Edit", area = (string)null, page = (string)null }, - defaults: new { controller = "Product", action = "Edit", area = (string)null, page = (string)null }); - var linkGenerator = CreateLinkGenerator(endpoint1); - var values = new RouteValueDictionary(new { controller = "Product", action = "Edit" }); - - // Act - var template = linkGenerator.GetTemplate(values); - - // Assert - var defaultTemplate = Assert.IsType(template); - Assert.Same(linkGenerator, defaultTemplate.LinkGenerator); - Assert.Equal(new[] { endpoint1 }, defaultTemplate.Endpoints); - Assert.Equal(values, defaultTemplate.EarlierExplicitValues); - Assert.Null(defaultTemplate.HttpContext); - Assert.Empty(defaultTemplate.AmbientValues); - } - - [Fact] - public void GetTemplate_ByRouteName_ReturnsTemplate() - { - // Arrange - var endpoint1 = EndpointFactory.CreateRouteEndpoint( - "Product/Edit/{id}", - defaults: new { controller = "Product", action = "Edit", area = (string)null, page = (string)null }, - metadata: new RouteValuesAddressMetadata( - "EditProduct", - new RouteValueDictionary(new { controller = "Product", action = "Edit", area = (string)null, page = (string)null }))); - var linkGenerator = CreateLinkGenerator(endpoint1); - - // Act - var template = linkGenerator.GetTemplate("EditProduct", values: new { }); - - // Assert - var defaultTemplate = Assert.IsType(template); - Assert.Same(linkGenerator, defaultTemplate.LinkGenerator); - Assert.Equal(new[] { endpoint1 }, defaultTemplate.Endpoints); - Assert.Empty(defaultTemplate.EarlierExplicitValues); - Assert.Null(defaultTemplate.HttpContext); - Assert.Empty(defaultTemplate.AmbientValues); - } - - [Fact] - public void GetTemplate_ByRouteName_ReturnsTemplate_WithMultipleEndpoints() - { - // Arrange - var endpoint1 = EndpointFactory.CreateRouteEndpoint( - "Product/Edit/{id}", - defaults: new { controller = "Product", action = "Edit", area = (string)null, page = (string)null }, - metadata: new RouteValuesAddressMetadata( - "default", - new RouteValueDictionary(new { controller = "Product", action = "Edit", area = (string)null, page = (string)null }))); - var endpoint2 = EndpointFactory.CreateRouteEndpoint( - "Product/Details/{id}", - defaults: new { controller = "Product", action = "Edit", area = (string)null, page = (string)null }, - metadata: new RouteValuesAddressMetadata( - "default", - new RouteValueDictionary(new { controller = "Product", action = "Edit", area = (string)null, page = (string)null }))); var linkGenerator = CreateLinkGenerator(endpoint1, endpoint2); // Act - var template = linkGenerator.GetTemplate("default", values: new { }); + var path = linkGenerator.GetPathByAddress(1, values: new RouteValueDictionary(new { controller = "Home", action = "Index", })); // Assert - var defaultTemplate = Assert.IsType(template); - Assert.Same(linkGenerator, defaultTemplate.LinkGenerator); - Assert.Equal(new[] { endpoint1, endpoint2 }, defaultTemplate.Endpoints); - Assert.Empty(defaultTemplate.EarlierExplicitValues); - Assert.Null(defaultTemplate.HttpContext); - Assert.Empty(defaultTemplate.AmbientValues); + Assert.Equal("/Home/Index", path); } [Fact] - public void GetTemplateByAddress_ByCustomAddress_ReturnsTemplate() + public void GetPathByAddress_WithHttpContext_HasMatches_ReturnsFirstSuccessfulTemplateResult() { // Arrange - var services = GetBasicServices(); - services.TryAddEnumerable( - ServiceDescriptor.Singleton, EndpointFinderByName>()); - var endpoint1 = EndpointFactory.CreateRouteEndpoint( - "Product/Edit/{id}", - requiredValues: new { controller = "Product", action = "Edit", area = (string)null, page = (string)null }, - defaults: new { controller = "Product", action = "Edit", area = (string)null, page = (string)null }); - var endpoint2 = EndpointFactory.CreateRouteEndpoint( - "Customers/Details/{id}", - requiredValues: new { controller = "Customers", action = "Details" }, - defaults: new { controller = "Customers", action = "Details" }, - metadata: new NameMetadata("CustomerDetails")); - var linkGenerator = CreateLinkGenerator(new[] { endpoint1, endpoint2 }, new RouteOptions(), services); + var endpoint1 = EndpointFactory.CreateRouteEndpoint("{controller}/{action}/{id}", metadata: new object[] { new IntMetadata(1), }); + var endpoint2 = EndpointFactory.CreateRouteEndpoint("{controller}/{action}/{id?}", metadata: new object[] { new IntMetadata(1), }); + + var linkGenerator = CreateLinkGenerator(endpoint1, endpoint2); // Act - var template = linkGenerator.GetTemplateByAddress(new NameMetadata("CustomerDetails")); + var path = linkGenerator.GetPathByAddress(CreateHttpContext(), 1, values: new RouteValueDictionary(new { controller = "Home", action = "Index", })); // Assert - var defaultTemplate = Assert.IsType(template); - Assert.Same(linkGenerator, defaultTemplate.LinkGenerator); - Assert.Equal(new[] { endpoint2 }, defaultTemplate.Endpoints); - Assert.Empty(defaultTemplate.EarlierExplicitValues); - Assert.Null(defaultTemplate.HttpContext); - Assert.Empty(defaultTemplate.AmbientValues); + Assert.Equal("/Home/Index", path); } [Fact] - public void MakeUrl_Honors_LinkOptions() + public void GetUriByAddress_WithoutHttpContext_HasMatches_ReturnsFirstSuccessfulTemplateResult() { // Arrange - var services = GetBasicServices(); - services.TryAddEnumerable( - ServiceDescriptor.Singleton, EndpointFinderByName>()); - var endpoint1 = EndpointFactory.CreateRouteEndpoint( - "Product/Edit/{id}", - requiredValues: new { controller = "Product", action = "Edit", area = (string)null, page = (string)null }, - defaults: new { controller = "Product", action = "Edit", area = (string)null, page = (string)null }); - var endpoint2 = EndpointFactory.CreateRouteEndpoint( - "Customers/Details/{id}", - requiredValues: new { controller = "Customers", action = "Details" }, - defaults: new { controller = "Customers", action = "Details" }, - metadata: new NameMetadata("CustomerDetails")); - var linkGenerator = CreateLinkGenerator(new[] { endpoint1, endpoint2 }, new RouteOptions(), services); + var endpoint1 = EndpointFactory.CreateRouteEndpoint("{controller}/{action}/{id}", metadata: new object[] { new IntMetadata(1), }); + var endpoint2 = EndpointFactory.CreateRouteEndpoint("{controller}/{action}/{id?}", metadata: new object[] { new IntMetadata(1), }); - // Act1 - var template = linkGenerator.GetTemplateByAddress(new NameMetadata("CustomerDetails")); + var linkGenerator = CreateLinkGenerator(endpoint1, endpoint2); - // Assert1 - Assert.NotNull(template); + // Act + var path = linkGenerator.GetUriByAddress( + 1, + values: new RouteValueDictionary(new { controller = "Home", action = "Index", }), + "http", + new HostString("example.com")); - // Act2 - var link = template.MakeUrl(new { id = 10 }, new LinkOptions { LowercaseUrls = true }); - - // Assert2 - Assert.Equal("/customers/details/10", link); - - // Act3 - link = template.MakeUrl(new { id = 25 }); - - // Assert3 - Assert.Equal("/Customers/Details/25", link); + // Assert + Assert.Equal("http://example.com/Home/Index", path); } [Fact] - public void MakeUrl_GeneratesLink_WithExtraRouteValues() + public void GetUriByAddress_WithHttpContext_HasMatches_ReturnsFirstSuccessfulTemplateResult() { // Arrange - var endpoint1 = EndpointFactory.CreateRouteEndpoint( - "Product/Edit/{id}", - requiredValues: new { controller = "Product", action = "Edit", area = (string)null, page = (string)null }, - defaults: new { controller = "Product", action = "Edit", area = (string)null, page = (string)null }); - var linkGenerator = CreateLinkGenerator(endpoint1); + var endpoint1 = EndpointFactory.CreateRouteEndpoint("{controller}/{action}/{id}", metadata: new object[] { new IntMetadata(1), }); + var endpoint2 = EndpointFactory.CreateRouteEndpoint("{controller}/{action}/{id?}", metadata: new object[] { new IntMetadata(1), }); - // Act1 - var template = linkGenerator.GetTemplate( - values: new { controller = "Product", action = "Edit", foo = "bar" }); + var linkGenerator = CreateLinkGenerator(endpoint1, endpoint2); - // Assert1 + var httpContext = CreateHttpContext(); + httpContext.Request.Scheme = "http"; + httpContext.Request.Host = new HostString("example.com"); + + // Act + var uri = linkGenerator.GetUriByAddress(httpContext, 1, values: new RouteValueDictionary(new { controller = "Home", action = "Index", })); + + // Assert + Assert.Equal("http://example.com/Home/Index", uri); + } + + [Fact] + public void GetPathByAddress_WithoutHttpContext_WithLinkOptions() + { + // Arrange + var endpoint1 = EndpointFactory.CreateRouteEndpoint("{controller}/{action}/{id}", metadata: new object[] { new IntMetadata(1), }); + var endpoint2 = EndpointFactory.CreateRouteEndpoint("{controller}/{action}/{id?}", metadata: new object[] { new IntMetadata(1), }); + + var linkGenerator = CreateLinkGenerator(endpoint1, endpoint2); + + // Act + var path = linkGenerator.GetPathByAddress( + 1, + values: new RouteValueDictionary(new { controller = "Home", action = "Index", }), + options: new LinkOptions() { AppendTrailingSlash = true, }); + + // Assert + Assert.Equal("/Home/Index/", path); + } + + [Fact] + public void GetPathByAddress_WithHttpContext_WithLinkOptions() + { + // Arrange + var endpoint1 = EndpointFactory.CreateRouteEndpoint("{controller}/{action}/{id}", metadata: new object[] { new IntMetadata(1), }); + var endpoint2 = EndpointFactory.CreateRouteEndpoint("{controller}/{action}/{id?}", metadata: new object[] { new IntMetadata(1), }); + + var linkGenerator = CreateLinkGenerator(endpoint1, endpoint2); + + // Act + var path = linkGenerator.GetPathByAddress( + CreateHttpContext(), + 1, + values: new RouteValueDictionary(new { controller = "Home", action = "Index", }), + options: new LinkOptions() { AppendTrailingSlash = true, }); + + // Assert + Assert.Equal("/Home/Index/", path); + } + + [Fact] + public void GetUriByAddress_WithoutHttpContext_WithLinkOptions() + { + // Arrange + var endpoint1 = EndpointFactory.CreateRouteEndpoint("{controller}/{action}/{id}", metadata: new object[] { new IntMetadata(1), }); + var endpoint2 = EndpointFactory.CreateRouteEndpoint("{controller}/{action}/{id?}", metadata: new object[] { new IntMetadata(1), }); + + var linkGenerator = CreateLinkGenerator(endpoint1, endpoint2); + + // Act + var path = linkGenerator.GetUriByAddress( + 1, + values: new RouteValueDictionary(new { controller = "Home", action = "Index", }), + "http", + new HostString("example.com"), + options: new LinkOptions() { AppendTrailingSlash = true, }); + + // Assert + Assert.Equal("http://example.com/Home/Index/", path); + } + + [Fact] + public void GetUriByAddress_WithHttpContext_WithLinkOptions() + { + // Arrange + var endpoint1 = EndpointFactory.CreateRouteEndpoint("{controller}/{action}/{id}", metadata: new object[] { new IntMetadata(1), }); + var endpoint2 = EndpointFactory.CreateRouteEndpoint("{controller}/{action}/{id?}", metadata: new object[] { new IntMetadata(1), }); + + var linkGenerator = CreateLinkGenerator(endpoint1, endpoint2); + + var httpContext = CreateHttpContext(); + httpContext.Request.Scheme = "http"; + httpContext.Request.Host = new HostString("example.com"); + + // Act + var uri = linkGenerator.GetUriByAddress( + httpContext, + 1, + values: new RouteValueDictionary(new { controller = "Home", action = "Index", }), + options: new LinkOptions() { AppendTrailingSlash = true, }); + + // Assert + Assert.Equal("http://example.com/Home/Index/", uri); + } + + // Includes characters that need to be encoded + [Fact] + public void GetPathByAddress_WithoutHttpContext_WithPathBaseAndFragment() + { + // Arrange + var endpoint1 = EndpointFactory.CreateRouteEndpoint("{controller}/{action}/{id}", metadata: new object[] { new IntMetadata(1), }); + var endpoint2 = EndpointFactory.CreateRouteEndpoint("{controller}/{action}/{id?}", metadata: new object[] { new IntMetadata(1), }); + + var linkGenerator = CreateLinkGenerator(endpoint1, endpoint2); + + // Act + var path = linkGenerator.GetPathByAddress( + 1, + values: new RouteValueDictionary(new { controller = "Home", action = "In?dex", query = "some?query" }), + new PathString("/Foo/Bar?encodeme?"), + new FragmentString("#Fragment?")); + + // Assert + Assert.Equal("/Foo/Bar%3Fencodeme%3F/Home/In%3Fdex?query=some%3Fquery#Fragment?", path); + } + + // Includes characters that need to be encoded + [Fact] + public void GetPathByAddress_WithHttpContext_WithPathBaseAndFragment() + { + // Arrange + var endpoint1 = EndpointFactory.CreateRouteEndpoint("{controller}/{action}/{id}", metadata: new object[] { new IntMetadata(1), }); + var endpoint2 = EndpointFactory.CreateRouteEndpoint("{controller}/{action}/{id?}", metadata: new object[] { new IntMetadata(1), }); + + var linkGenerator = CreateLinkGenerator(endpoint1, endpoint2); + + var httpContext = CreateHttpContext(); + httpContext.Request.PathBase = new PathString("/Foo/Bar?encodeme?"); + + // Act + var path = linkGenerator.GetPathByAddress( + httpContext, + 1, + values: new RouteValueDictionary(new { controller = "Home", action = "In?dex", query = "some?query" }), + new FragmentString("#Fragment?")); + + // Assert + Assert.Equal("/Foo/Bar%3Fencodeme%3F/Home/In%3Fdex?query=some%3Fquery#Fragment?", path); + } + + // Includes characters that need to be encoded + [Fact] + public void GetUriByAddress_WithoutHttpContext_WithPathBaseAndFragment() + { + // Arrange + var endpoint1 = EndpointFactory.CreateRouteEndpoint("{controller}/{action}/{id}", metadata: new object[] { new IntMetadata(1), }); + var endpoint2 = EndpointFactory.CreateRouteEndpoint("{controller}/{action}/{id?}", metadata: new object[] { new IntMetadata(1), }); + + var linkGenerator = CreateLinkGenerator(endpoint1, endpoint2); + + // Act + var path = linkGenerator.GetUriByAddress( + 1, + values: new RouteValueDictionary(new { controller = "Home", action = "In?dex", query = "some?query" }), + "http", + new HostString("example.com"), + new PathString("/Foo/Bar?encodeme?"), + new FragmentString("#Fragment?")); + + // Assert + Assert.Equal("http://example.com/Foo/Bar%3Fencodeme%3F/Home/In%3Fdex?query=some%3Fquery#Fragment?", path); + } + + // Includes characters that need to be encoded + [Fact] + public void GetUriByAddress_WithHttpContext_WithPathBaseAndFragment() + { + // Arrange + var endpoint1 = EndpointFactory.CreateRouteEndpoint("{controller}/{action}/{id}", metadata: new object[] { new IntMetadata(1), }); + var endpoint2 = EndpointFactory.CreateRouteEndpoint("{controller}/{action}/{id?}", metadata: new object[] { new IntMetadata(1), }); + + var linkGenerator = CreateLinkGenerator(endpoint1, endpoint2); + + var httpContext = CreateHttpContext(); + httpContext.Request.Scheme = "http"; + httpContext.Request.Host = new HostString("example.com"); + httpContext.Request.PathBase = new PathString("/Foo/Bar?encodeme?"); + + // Act + var uri = linkGenerator.GetUriByAddress( + httpContext, + 1, + values: new RouteValueDictionary(new { controller = "Home", action = "In?dex", query = "some?query" }), + new FragmentString("#Fragment?")); + + // Assert + Assert.Equal("http://example.com/Foo/Bar%3Fencodeme%3F/Home/In%3Fdex?query=some%3Fquery#Fragment?", uri); + } + + [Fact] + public void GetPathByAddress_WithHttpContext_IncludesAmbientValues() + { + // Arrange + var endpoint1 = EndpointFactory.CreateRouteEndpoint("{controller}/{action}/{id}", metadata: new object[] { new IntMetadata(1), }); + var endpoint2 = EndpointFactory.CreateRouteEndpoint("{controller}/{action}/{id?}", metadata: new object[] { new IntMetadata(1), }); + + var linkGenerator = CreateLinkGenerator(endpoint1, endpoint2); + + var httpContext = CreateHttpContext(new { controller = "Home", }); + httpContext.Request.Scheme = "http"; + httpContext.Request.Host = new HostString("example.com"); + + // Act + var uri = linkGenerator.GetPathByAddress(httpContext, 1, values: new RouteValueDictionary(new { action = "Index", })); + + // Assert + Assert.Equal("/Home/Index", uri); + } + + [Fact] + public void GetUriByAddress_WithHttpContext_IncludesAmbientValues() + { + // Arrange + var endpoint1 = EndpointFactory.CreateRouteEndpoint("{controller}/{action}/{id}", metadata: new object[] { new IntMetadata(1), }); + var endpoint2 = EndpointFactory.CreateRouteEndpoint("{controller}/{action}/{id?}", metadata: new object[] { new IntMetadata(1), }); + + var linkGenerator = CreateLinkGenerator(endpoint1, endpoint2); + + var httpContext = CreateHttpContext(new { controller = "Home", }); + httpContext.Request.Scheme = "http"; + httpContext.Request.Host = new HostString("example.com"); + + // Act + var uri = linkGenerator.GetUriByAddress(httpContext, 1, values: new RouteValueDictionary(new { action = "Index", })); + + // Assert + Assert.Equal("http://example.com/Home/Index", uri); + } + + [Fact] + public void GetTemplateByAddress_WithNoMatch_ReturnsNull() + { + // Arrange + var endpoint1 = EndpointFactory.CreateRouteEndpoint("{controller}/{action}/{id}", metadata: new object[] { new IntMetadata(1), }); + var endpoint2 = EndpointFactory.CreateRouteEndpoint("{controller}/{action}/{id?}", metadata: new object[] { new IntMetadata(1), }); + + var linkGenerator = CreateLinkGenerator(endpoint1, endpoint2); + + // Act + var template = linkGenerator.GetTemplateByAddress(address: 0); + + // Assert + Assert.Null(template); + } + + [Fact] + public void GetTemplateByAddress_WithMatch_ReturnsTemplate() + { + // Arrange + var endpoint1 = EndpointFactory.CreateRouteEndpoint("{controller}/{action}/{id}", metadata: new object[] { new IntMetadata(1), }); + var endpoint2 = EndpointFactory.CreateRouteEndpoint("{controller}/{action}/{id?}", metadata: new object[] { new IntMetadata(1), }); + + var linkGenerator = CreateLinkGenerator(endpoint1, endpoint2); + + // Act + var template = linkGenerator.GetTemplateByAddress(address: 1); + + // Assert Assert.NotNull(template); - - // Act2 - var link = template.MakeUrl(new { id = 10 }); - - // Assert2 - Assert.Equal("/Product/Edit/10?foo=bar", link); - - // Act3 - link = template.MakeUrl(new { id = 25, foo = "boo" }); - - // Assert3 - Assert.Equal("/Product/Edit/25?foo=boo", link); + Assert.Collection( + Assert.IsType(template).Endpoints, + e => Assert.Same(endpoint1, e), + e => Assert.Same(endpoint2, e)); } - private LinkGenerator CreateLinkGenerator(params Endpoint[] endpoints) + protected override void AddAdditionalServices(IServiceCollection services) { - return CreateLinkGenerator(endpoints, routeOptions: null); + services.AddSingleton, IntEndpointFinder>(); } - private LinkGenerator CreateLinkGenerator( - Endpoint[] endpoints, - RouteOptions routeOptions, - ServiceCollection services = null) - { - if (services == null) - { - services = GetBasicServices(); - } - - if (endpoints != null || endpoints.Length > 0) - { - services.Configure(o => - { - o.DataSources.Add(new DefaultEndpointDataSource(endpoints)); - }); - } - - routeOptions = routeOptions ?? new RouteOptions(); - var options = Options.Create(routeOptions); - var serviceProvider = services.BuildServiceProvider(); - - return new DefaultLinkGenerator( - new DefaultParameterPolicyFactory(options, serviceProvider), - new DefaultObjectPool(new UriBuilderContextPooledObjectPolicy()), - options, - NullLogger.Instance, - serviceProvider); - } - - private HttpContext CreateHttpContext(object ambientValues) - { - var httpContext = new DefaultHttpContext(); - - var feature = new EndpointFeature - { - RouteValues = new RouteValueDictionary(ambientValues) - }; - httpContext.Features.Set(feature); - httpContext.Features.Set(feature); - return httpContext; - } - - private ServiceCollection GetBasicServices() - { - var services = new ServiceCollection(); - services.AddSingleton(); - services.AddOptions(); - services.AddRouting(); - services.AddLogging(); - return services; - } - - private class EndpointFinderByName : IEndpointFinder + private class IntEndpointFinder : IEndpointFinder { private readonly CompositeEndpointDataSource _dataSource; - public EndpointFinderByName(CompositeEndpointDataSource dataSource) + public IntEndpointFinder(CompositeEndpointDataSource dataSource) { _dataSource = dataSource; } - public IEnumerable FindEndpoints(INameMetadata address) + public IEnumerable FindEndpoints(int address) { - var endpoint = _dataSource.Endpoints.SingleOrDefault(e => - { - var nameMetadata = e.Metadata.GetMetadata(); - return nameMetadata != null && string.Equals(address.Name, nameMetadata.Name); - }); - return new[] { endpoint }; + return _dataSource.Endpoints.Where(e => e.Metadata.GetMetadata().Value == address); } } - private interface INameMetadata + private class IntMetadata { - string Name { get; } - } - - private class NameMetadata : INameMetadata - { - public NameMetadata(string name) + public IntMetadata(int value) { - Name = name; + Value = value; } - public string Name { get; } + public int Value { get; } } } } diff --git a/test/Microsoft.AspNetCore.Routing.Tests/LinkGeneratorRouteValuesAddressExtensionsTest.cs b/test/Microsoft.AspNetCore.Routing.Tests/LinkGeneratorRouteValuesAddressExtensionsTest.cs new file mode 100644 index 0000000000..d4ccf080d0 --- /dev/null +++ b/test/Microsoft.AspNetCore.Routing.Tests/LinkGeneratorRouteValuesAddressExtensionsTest.cs @@ -0,0 +1,128 @@ +// Copyright (c) .NET Foundation. All rights reserved. +// Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information. + +using Microsoft.AspNetCore.Http; +using Xunit; + +namespace Microsoft.AspNetCore.Routing +{ + // Integration tests for GetXyzByRouteValues. These are basic because important behavioral details + // are covered elsewhere. + // + // Does not cover template processing in detail, those scenarios are validated by TemplateBinderTests + // and DefaultLinkGeneratorProcessTemplateTest + // + // Does not cover the RouteValueBasedEndpointFinder in detail. see RouteValueBasedEndpointFinderTest + public class LinkGeneratorRouteValuesAddressExtensionsTest : LinkGeneratorTestBase + { + [Fact] + public void GetPathByRouteValues_WithoutHttpContext_WithPathBaseAndFragment() + { + // Arrange + var endpoint1 = EndpointFactory.CreateRouteEndpoint( + "{controller}/{action}/{id}", + metadata: new[] { new RouteValuesAddressMetadata(routeName: null, new RouteValueDictionary(new { controller = "Home", action = "In?dex", })) }); + var endpoint2 = EndpointFactory.CreateRouteEndpoint( + "{controller}/{action}/{id?}", + metadata: new[] { new RouteValuesAddressMetadata(routeName: null, new RouteValueDictionary(new { controller = "Home", action = "In?dex", })) }); + + var linkGenerator = CreateLinkGenerator(endpoint1, endpoint2); + + // Act + var path = linkGenerator.GetPathByRouteValues( + routeName: null, + values: new RouteValueDictionary(new { controller = "Home", action = "In?dex", query = "some?query" }), + new PathString("/Foo/Bar?encodeme?"), + new FragmentString("#Fragment?"), + new LinkOptions() { AppendTrailingSlash = true, }); + + // Assert + Assert.Equal("/Foo/Bar%3Fencodeme%3F/Home/In%3Fdex/?query=some%3Fquery#Fragment?", path); + } + + [Fact] + public void GetPathByRouteValues_WithHttpContext_WithPathBaseAndFragment() + { + // Arrange + var endpoint1 = EndpointFactory.CreateRouteEndpoint( + "{controller}/{action}/{id}", + metadata: new[] { new RouteValuesAddressMetadata(routeName: null, new RouteValueDictionary(new { controller = "Home", action = "In?dex", })) }); + var endpoint2 = EndpointFactory.CreateRouteEndpoint( + "{controller}/{action}/{id?}", + metadata: new[] { new RouteValuesAddressMetadata(routeName: null, new RouteValueDictionary(new { controller = "Home", action = "In?dex", })) }); + + var linkGenerator = CreateLinkGenerator(endpoint1, endpoint2); + + var httpContext = CreateHttpContext(); + httpContext.Request.PathBase = new PathString("/Foo/Bar?encodeme?"); + + // Act + var path = linkGenerator.GetPathByRouteValues( + httpContext, + routeName: null, + values: new RouteValueDictionary(new { controller = "Home", action = "In?dex", query = "some?query" }), + new FragmentString("#Fragment?"), + new LinkOptions() { AppendTrailingSlash = true, }); + + // Assert + Assert.Equal("/Foo/Bar%3Fencodeme%3F/Home/In%3Fdex/?query=some%3Fquery#Fragment?", path); + } + + [Fact] + public void GetUriByRouteValues_WithoutHttpContext_WithPathBaseAndFragment() + { + // Arrange + var endpoint1 = EndpointFactory.CreateRouteEndpoint( + "{controller}/{action}/{id}", + metadata: new[] { new RouteValuesAddressMetadata(routeName: null, new RouteValueDictionary(new { controller = "Home", action = "In?dex", })) }); + var endpoint2 = EndpointFactory.CreateRouteEndpoint( + "{controller}/{action}/{id?}", + metadata: new[] { new RouteValuesAddressMetadata(routeName: null, new RouteValueDictionary(new { controller = "Home", action = "In?dex", })) }); + + var linkGenerator = CreateLinkGenerator(endpoint1, endpoint2); + + // Act + var path = linkGenerator.GetUriByRouteValues( + routeName: null, + values: new RouteValueDictionary(new { controller = "Home", action = "In?dex", query = "some?query" }), + "http", + new HostString("example.com"), + new PathString("/Foo/Bar?encodeme?"), + new FragmentString("#Fragment?"), + new LinkOptions() { AppendTrailingSlash = true, }); + + // Assert + Assert.Equal("http://example.com/Foo/Bar%3Fencodeme%3F/Home/In%3Fdex/?query=some%3Fquery#Fragment?", path); + } + + [Fact] + public void GetUri_WithHttpContext_WithPathBaseAndFragment() + { + // Arrange + var endpoint1 = EndpointFactory.CreateRouteEndpoint( + "{controller}/{action}/{id}", + metadata: new[] { new RouteValuesAddressMetadata(routeName: null, new RouteValueDictionary(new { controller = "Home", action = "In?dex", })) }); + var endpoint2 = EndpointFactory.CreateRouteEndpoint( + "{controller}/{action}/{id?}", + metadata: new[] { new RouteValuesAddressMetadata(routeName: null, new RouteValueDictionary(new { controller = "Home", action = "In?dex", })) }); + + var linkGenerator = CreateLinkGenerator(endpoint1, endpoint2); + + var httpContext = CreateHttpContext(); + httpContext.Request.Scheme = "http"; + httpContext.Request.Host = new HostString("example.com"); + httpContext.Request.PathBase = new PathString("/Foo/Bar?encodeme?"); + + // Act + var uri = linkGenerator.GetUriByRouteValues( + httpContext, + routeName: null, + values: new RouteValueDictionary(new { controller = "Home", action = "In?dex", query = "some?query" }), + new FragmentString("#Fragment?"), + new LinkOptions() { AppendTrailingSlash = true, }); + + // Assert + Assert.Equal("http://example.com/Foo/Bar%3Fencodeme%3F/Home/In%3Fdex/?query=some%3Fquery#Fragment?", uri); + } + } +} diff --git a/test/Microsoft.AspNetCore.Routing.Tests/LinkGeneratorTestBase.cs b/test/Microsoft.AspNetCore.Routing.Tests/LinkGeneratorTestBase.cs new file mode 100644 index 0000000000..4864467409 --- /dev/null +++ b/test/Microsoft.AspNetCore.Routing.Tests/LinkGeneratorTestBase.cs @@ -0,0 +1,77 @@ +// Copyright (c) .NET Foundation. All rights reserved. +// Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information. + +using Microsoft.AspNetCore.Http; +using Microsoft.AspNetCore.Http.Features; +using Microsoft.AspNetCore.Routing.Internal; +using Microsoft.Extensions.DependencyInjection; +using Microsoft.Extensions.Logging.Abstractions; +using Microsoft.Extensions.ObjectPool; +using Microsoft.Extensions.Options; + +namespace Microsoft.AspNetCore.Routing +{ + public abstract class LinkGeneratorTestBase + { + protected HttpContext CreateHttpContext(object ambientValues = null) + { + var httpContext = new DefaultHttpContext(); + + var feature = new EndpointFeature + { + RouteValues = new RouteValueDictionary(ambientValues) + }; + + httpContext.Features.Set(feature); + httpContext.Features.Set(feature); + return httpContext; + } + + private ServiceCollection GetBasicServices() + { + var services = new ServiceCollection(); + services.AddSingleton(); + services.AddOptions(); + services.AddRouting(); + services.AddLogging(); + return services; + } + + protected virtual void AddAdditionalServices(IServiceCollection services) + { + } + + private protected DefaultLinkGenerator CreateLinkGenerator(params Endpoint[] endpoints) + { + return CreateLinkGenerator(routeOptions: null, services: null, endpoints); + } + + private protected DefaultLinkGenerator CreateLinkGenerator(RouteOptions routeOptions = null, IServiceCollection services = null, params Endpoint[] endpoints) + { + if (services == null) + { + services = GetBasicServices(); + AddAdditionalServices(services); + } + + if (endpoints != null || endpoints.Length > 0) + { + services.Configure(o => + { + o.DataSources.Add(new DefaultEndpointDataSource(endpoints)); + }); + } + + routeOptions = routeOptions ?? new RouteOptions(); + var options = Options.Create(routeOptions); + var serviceProvider = services.BuildServiceProvider(); + + return new DefaultLinkGenerator( + new DefaultParameterPolicyFactory(options, serviceProvider), + new DefaultObjectPool(new UriBuilderContextPooledObjectPolicy()), + options, + NullLogger.Instance, + serviceProvider); + } + } +} diff --git a/test/Microsoft.AspNetCore.Routing.Tests/RouteValueBasedEndpointFinderTest.cs b/test/Microsoft.AspNetCore.Routing.Tests/RouteValueBasedEndpointFinderTest.cs index 5b475247bb..c3c1f644e8 100644 --- a/test/Microsoft.AspNetCore.Routing.Tests/RouteValueBasedEndpointFinderTest.cs +++ b/test/Microsoft.AspNetCore.Routing.Tests/RouteValueBasedEndpointFinderTest.cs @@ -1,18 +1,14 @@ // Copyright (c) .NET Foundation. All rights reserved. // Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information. -using System; using System.Collections.Generic; using System.Linq; -using System.Threading.Tasks; using Microsoft.AspNetCore.Http; using Microsoft.AspNetCore.Routing.Internal; -using Microsoft.AspNetCore.Routing.Matching; using Microsoft.AspNetCore.Routing.Patterns; using Microsoft.AspNetCore.Routing.TestObjects; using Microsoft.AspNetCore.Routing.Tree; using Microsoft.Extensions.ObjectPool; -using Microsoft.Extensions.Options; using Xunit; namespace Microsoft.AspNetCore.Routing From 489a179c414557ddcb9948f834cfcd82a7387eda Mon Sep 17 00:00:00 2001 From: Ryan Nowak Date: Thu, 6 Sep 2018 16:31:10 -0700 Subject: [PATCH 165/221] Add a test for Routing#435 This was already fixes as part of the LinkGenerator redesign. Adding a test so we can mark it as complete. --- ...DefaultLinkGeneratorProcessTemplateTest.cs | 32 +++++++++++++++++++ 1 file changed, 32 insertions(+) diff --git a/test/Microsoft.AspNetCore.Routing.Tests/DefaultLinkGeneratorProcessTemplateTest.cs b/test/Microsoft.AspNetCore.Routing.Tests/DefaultLinkGeneratorProcessTemplateTest.cs index ea202ff786..1e603824f2 100644 --- a/test/Microsoft.AspNetCore.Routing.Tests/DefaultLinkGeneratorProcessTemplateTest.cs +++ b/test/Microsoft.AspNetCore.Routing.Tests/DefaultLinkGeneratorProcessTemplateTest.cs @@ -277,6 +277,38 @@ namespace Microsoft.AspNetCore.Routing Assert.Equal(string.Empty, result.query.ToUriComponent()); } + // Regression test for aspnet/Routing#435 + // + // In this issue we used to lowercase URLs after parameters were encoded, meaning that if a character needed + // encoding (such as a cyrillic character, it would not be encoded). + [Fact] + public void TryProcessTemplate_GeneratesLowercaseUrl_SetOnRouteOptions_CanLowercaseCharactersThatNeedEncoding() + { + // Arrange + var endpoint = EndpointFactory.CreateRouteEndpoint("{controller}/{action}"); + var linkGenerator = CreateLinkGenerator(new RouteOptions() { LowercaseUrls = true }, endpoints: new[] { endpoint, }); + var httpContext = CreateHttpContext(ambientValues: new { controller = "Home" }); + + // Act + var success = linkGenerator.TryProcessTemplate( + httpContext: httpContext, + endpoint: endpoint, + ambientValues: DefaultLinkGenerator.GetAmbientValues(httpContext), + explicitValues: new RouteValueDictionary(new { action = "П" }), // Cryillic uppercase Pe + options: null, + out var result); + + // Assert + Assert.True(success); + Assert.Equal("/home/%D0%BF", result.path.ToUriComponent()); + Assert.Equal(string.Empty, result.query.ToUriComponent()); + + // Convert back to decoded. + // + // This is Cyrillic lowercase Pe (not an n). + Assert.Equal("/home/п", PathString.FromUriComponent(result.path.ToUriComponent()).Value); + } + [Fact] public void TryProcessTemplate_GeneratesLowercaseQueryString_SetOnRouteOptions() { From 72b61bf2af0fc6a12888e1db50a471eb424e9663 Mon Sep 17 00:00:00 2001 From: "ASP.NET CI" Date: Sun, 9 Sep 2018 12:27:37 -0700 Subject: [PATCH 166/221] Update dependencies.props [auto-updated: dependencies] --- build/dependencies.props | 58 ++++++++++++++++++++-------------------- korebuild-lock.txt | 4 +-- 2 files changed, 31 insertions(+), 31 deletions(-) diff --git a/build/dependencies.props b/build/dependencies.props index de5cdada7c..42276053ee 100644 --- a/build/dependencies.props +++ b/build/dependencies.props @@ -4,36 +4,36 @@ 0.10.13 - 2.2.0-preview1-20180821.1 - 2.2.0-preview2-35143 - 2.2.0-preview2-35143 - 2.2.0-preview2-35143 - 2.2.0-preview2-35143 - 2.2.0-preview2-35143 - 2.2.0-preview2-35143 - 2.2.0-preview2-35143 - 2.2.0-preview2-35143 - 2.2.0-preview2-35143 - 2.2.0-preview2-35143 - 2.2.0-preview2-35143 - 2.2.0-preview2-35143 - 2.2.0-preview2-35143 - 2.2.0-preview2-35143 - 2.2.0-preview2-35143 - 2.2.0-preview2-35143 - 2.2.0-preview2-35143 - 2.2.0-preview2-35143 - 2.2.0-preview2-35143 - 2.2.0-preview2-35143 - 2.2.0-preview2-35143 - 2.2.0-preview2-35143 - 2.2.0-preview2-35143 - 2.2.0-preview2-35143 - 2.2.0-preview2-35143 - 2.2.0-preview2-35143 + 2.2.0-preview1-20180907.8 + 2.2.0-preview3-35202 + 2.2.0-preview3-35202 + 2.2.0-preview3-35202 + 2.2.0-preview3-35202 + 2.2.0-preview3-35202 + 2.2.0-preview3-35202 + 2.2.0-preview3-35202 + 2.2.0-preview3-35202 + 2.2.0-preview3-35202 + 2.2.0-preview3-35202 + 2.2.0-preview3-35202 + 2.2.0-preview3-35202 + 2.2.0-preview3-35202 + 2.2.0-preview3-35202 + 2.2.0-preview3-35202 + 2.2.0-preview3-35202 + 2.2.0-preview3-35202 + 2.2.0-preview3-35202 + 2.2.0-preview3-35202 + 2.2.0-preview3-35202 + 2.2.0-preview3-35202 + 2.2.0-preview3-35202 + 2.2.0-preview3-35202 + 2.2.0-preview3-35202 + 2.2.0-preview3-35202 + 2.2.0-preview3-35202 2.0.9 - 2.1.2 - 2.2.0-preview1-26618-02 + 2.1.3 + 2.2.0-preview2-26905-02 15.6.1 4.7.49 2.0.3 diff --git a/korebuild-lock.txt b/korebuild-lock.txt index ad704918df..312f82f9a5 100644 --- a/korebuild-lock.txt +++ b/korebuild-lock.txt @@ -1,2 +1,2 @@ -version:2.2.0-preview1-20180821.1 -commithash:c8d0cc52cd1abb697be24e288ffd54f8fae8bf17 +version:2.2.0-preview1-20180907.8 +commithash:078918eb5c1f176ee1da351c584fb4a4d7491aa0 From c68384481763e69cc2b36083d519e1556428b7f3 Mon Sep 17 00:00:00 2001 From: Ryan Nowak Date: Thu, 6 Sep 2018 22:00:47 -0700 Subject: [PATCH 167/221] Fix #553 - Add logging for new LinkGenerator Adds logging for all of the failure cases of link generation. --- samples/RoutingSample.Web/Program.cs | 4 +- .../RoutingSample.Web.csproj | 1 + .../DefaultLinkGenerator.cs | 190 +++++++++++++++++- 3 files changed, 189 insertions(+), 6 deletions(-) diff --git a/samples/RoutingSample.Web/Program.cs b/samples/RoutingSample.Web/Program.cs index 5867596559..1fa90c645c 100644 --- a/samples/RoutingSample.Web/Program.cs +++ b/samples/RoutingSample.Web/Program.cs @@ -4,6 +4,7 @@ using System; using Microsoft.AspNetCore.Builder; using Microsoft.AspNetCore.Hosting; +using Microsoft.Extensions.Logging; namespace RoutingSample.Web { @@ -59,7 +60,8 @@ namespace RoutingSample.Web return new WebHostBuilder() .UseKestrel() .UseIISIntegration() - .UseStartup(startupType); + .UseStartup(startupType) + .ConfigureLogging(l => l.AddConsole().SetMinimumLevel(LogLevel.Debug)); } } } diff --git a/samples/RoutingSample.Web/RoutingSample.Web.csproj b/samples/RoutingSample.Web/RoutingSample.Web.csproj index 52b1699c7b..d8cc8e8283 100644 --- a/samples/RoutingSample.Web/RoutingSample.Web.csproj +++ b/samples/RoutingSample.Web/RoutingSample.Web.csproj @@ -10,6 +10,7 @@ + diff --git a/src/Microsoft.AspNetCore.Routing/DefaultLinkGenerator.cs b/src/Microsoft.AspNetCore.Routing/DefaultLinkGenerator.cs index df52926a02..f050eecb97 100644 --- a/src/Microsoft.AspNetCore.Routing/DefaultLinkGenerator.cs +++ b/src/Microsoft.AspNetCore.Routing/DefaultLinkGenerator.cs @@ -4,6 +4,7 @@ using System; using System.Collections.Generic; using System.Linq; +using System.Text; using System.Text.Encodings.Web; using Microsoft.AspNetCore.Http; using Microsoft.AspNetCore.Http.Extensions; @@ -19,7 +20,6 @@ namespace Microsoft.AspNetCore.Routing { internal sealed class DefaultLinkGenerator : LinkGenerator { - private static readonly char[] UrlQueryDelimiters = new char[] { '?', '#' }; private readonly ParameterPolicyFactory _parameterPolicyFactory; private readonly ObjectPool _uriBuildingContextPool; private readonly ILogger _logger; @@ -172,7 +172,18 @@ namespace Microsoft.AspNetCore.Routing private List GetEndpoints(TAddress address) { var addressingScheme = _serviceProvider.GetRequiredService>(); - return addressingScheme.FindEndpoints(address).OfType().ToList(); + var endpoints = addressingScheme.FindEndpoints(address).OfType().ToList(); + + if (endpoints.Count == 0) + { + Log.EndpointsNotFound(_logger, address); + } + else + { + Log.EndpointsFound(_logger, address, endpoints); + } + + return endpoints; } // Also called from DefaultLinkGenerationTemplate @@ -195,15 +206,17 @@ namespace Microsoft.AspNetCore.Routing options, out var result)) { - - return UriHelper.BuildRelative( + var uri = UriHelper.BuildRelative( pathBase, result.path, result.query, fragment); + Log.LinkGenerationSucceeded(_logger, endpoints, uri); + return uri; } } + Log.LinkGenerationFailed(_logger, endpoints); return null; } @@ -229,16 +242,19 @@ namespace Microsoft.AspNetCore.Routing options, out var result)) { - return UriHelper.BuildAbsolute( + var uri = UriHelper.BuildAbsolute( scheme, host, pathBase, result.path, result.query, fragment); + Log.LinkGenerationSucceeded(_logger, endpoints, uri); + return uri; } } + Log.LinkGenerationFailed(_logger, endpoints); return null; } @@ -266,20 +282,25 @@ namespace Microsoft.AspNetCore.Routing { // We're missing one of the required values for this route. result = default; + Log.TemplateFailedRequiredValues(_logger, endpoint, ambientValues, explicitValues); return false; } if (!MatchesConstraints(httpContext, endpoint, templateValuesResult.CombinedValues)) { result = default; + + // MatchesConstraints does its own logging, so we're not logging here. return false; } if (!templateBinder.TryBindValues(templateValuesResult.AcceptedValues, options, _globalLinkOptions, out result)) { + Log.TemplateFailedExpansion(_logger, endpoint, templateValuesResult.AcceptedValues); return false; } + Log.TemplateSucceeded(_logger, endpoint, result.path, result.query); return true; } @@ -304,6 +325,7 @@ namespace Microsoft.AspNetCore.Routing if (parameterPolicy is IRouteConstraint routeConstraint && !routeConstraint.Match(httpContext, NullRouter.Instance, kvp.Key, routeValues, RouteDirection.UrlGeneration)) { + Log.TemplateFailedConstraint(_logger, endpoint, kvp.Key, routeConstraint, routeValues); return false; } } @@ -317,5 +339,163 @@ namespace Microsoft.AspNetCore.Routing { return httpContext?.Features.Get()?.RouteValues; } + + private static class Log + { + public static class EventIds + { + public static readonly EventId EndpointsFound = new EventId(100, "EndpointsFound"); + public static readonly EventId EndpointsNotFound = new EventId(101, "EndpointsNotFound"); + + public static readonly EventId TemplateSucceeded = new EventId(102, "TemplateSucceeded"); + public static readonly EventId TemplateFailedRequiredValues = new EventId(103, "TemplateFailedRequiredValues"); + public static readonly EventId TemplateFailedConstraint = new EventId(103, "TemplateFailedConstraint"); + public static readonly EventId TemplateFailedExpansion = new EventId(104, "TemplateFailedExpansion"); + + public static readonly EventId LinkGenerationSucceeded = new EventId(105, "LinkGenerationSucceeded"); + public static readonly EventId LinkGenerationFailed = new EventId(106, "LinkGenerationFailed"); + } + + private static readonly Action, object, Exception> _endpointsFound = LoggerMessage.Define, object>( + LogLevel.Debug, + EventIds.EndpointsFound, + "Found the endpoints {Endpoints} for address {Address}"); + + private static readonly Action _endpointsNotFound = LoggerMessage.Define( + LogLevel.Debug, + EventIds.EndpointsNotFound, + "No endpoints found for address {Address}"); + + private static readonly Action _templateSucceeded = LoggerMessage.Define( + LogLevel.Debug, + EventIds.TemplateSucceeded, + "Successfully processed template {Template} for {Endpoint} resulting in {Path} and {Query}"); + + private static readonly Action _templateFailedRequiredValues = LoggerMessage.Define( + LogLevel.Debug, + EventIds.TemplateFailedRequiredValues, + "Failed to process the template {Template} for {Endpoint}. " + + "A required route value is missing, or has a different value from the required default values." + + "Supplied ambient values {AmbientValues} and {Values} with default values {Defaults}"); + + private static readonly Action _templateFailedConstraint = LoggerMessage.Define( + LogLevel.Debug, + EventIds.TemplateFailedConstraint, + "Failed to process the template {Template} for {Endpoint}. " + + "The constraint {Constraint} for parameter {ParameterName} failed with values {Values}"); + + private static readonly Action _templateFailedExpansion = LoggerMessage.Define( + LogLevel.Debug, + EventIds.TemplateFailedExpansion, + "Failed to process the template {Template} for {Endpoint}. " + + "The failure occured while expanding the template with values {Values}. " + + "This is usually due to a missing or empty value in a complex segment."); + + private static readonly Action, string, Exception> _linkGenerationSucceeded = LoggerMessage.Define, string>( + LogLevel.Debug, + EventIds.LinkGenerationSucceeded, + "Link generation succeeded for endpoints {Endpoints} with result {URI}"); + + private static readonly Action, Exception> _linkGenerationFailed = LoggerMessage.Define>( + LogLevel.Debug, + EventIds.LinkGenerationFailed, + "Link generation failed for endpoints {Endpoints}"); + + public static void EndpointsFound(ILogger logger, object address, IEnumerable endpoints) + { + // Checking level again to avoid allocation on the common path + if (logger.IsEnabled(LogLevel.Debug)) + { + _endpointsFound(logger, endpoints.Select(e => e.DisplayName), address, null); + } + } + + public static void EndpointsNotFound(ILogger logger, object address) + { + _endpointsNotFound(logger, address, null); + } + + public static void TemplateSucceeded(ILogger logger, RouteEndpoint endpoint, PathString path, QueryString query) + { + _templateSucceeded(logger, endpoint.RoutePattern.RawText, endpoint.DisplayName, path.Value, query.Value, null); + } + + public static void TemplateFailedRequiredValues(ILogger logger, RouteEndpoint endpoint, RouteValueDictionary ambientValues, RouteValueDictionary values) + { + // Checking level again to avoid allocation on the common path + if (logger.IsEnabled(LogLevel.Debug)) + { + _templateFailedRequiredValues(logger, endpoint.RoutePattern.RawText, endpoint.DisplayName, FormatRouteValues(ambientValues), FormatRouteValues(values), FormatRouteValues(endpoint.RoutePattern.Defaults), null); + } + } + + public static void TemplateFailedConstraint(ILogger logger, RouteEndpoint endpoint, string parameterName, IRouteConstraint constraint, RouteValueDictionary values) + { + // Checking level again to avoid allocation on the common path + if (logger.IsEnabled(LogLevel.Debug)) + { + _templateFailedConstraint(logger, endpoint.RoutePattern.RawText, endpoint.DisplayName, constraint, parameterName, FormatRouteValues(values), null); + } + } + + public static void TemplateFailedExpansion(ILogger logger, RouteEndpoint endpoint, RouteValueDictionary values) + { + // Checking level again to avoid allocation on the common path + if (logger.IsEnabled(LogLevel.Debug)) + { + _templateFailedExpansion(logger, endpoint.RoutePattern.RawText, endpoint.DisplayName, FormatRouteValues(values), null); + } + } + + public static void LinkGenerationSucceeded(ILogger logger, IEnumerable endpoints, string uri) + { + // Checking level again to avoid allocation on the common path + if (logger.IsEnabled(LogLevel.Debug)) + { + _linkGenerationSucceeded(logger, endpoints.Select(e => e.DisplayName), uri, null); + } + } + + public static void LinkGenerationFailed(ILogger logger, IEnumerable endpoints) + { + // Checking level again to avoid allocation on the common path + if (logger.IsEnabled(LogLevel.Debug)) + { + _linkGenerationFailed(logger, endpoints.Select(e => e.DisplayName), null); + } + } + + // EXPENSIVE: should only be used at Debug and higher levels of logging. + private static string FormatRouteValues(IReadOnlyDictionary values) + { + if (values == null || values.Count == 0) + { + return "{ }"; + } + + var builder = new StringBuilder(); + builder.Append("{ "); + + foreach (var kvp in values.OrderBy(kvp => kvp.Key)) + { + builder.Append("\""); + builder.Append(kvp.Key); + builder.Append("\""); + builder.Append(":"); + builder.Append(" "); + builder.Append("\""); + builder.Append(kvp.Value); + builder.Append("\""); + builder.Append(", "); + } + + // Trim trailing ", " + builder.Remove(builder.Length - 2, 2); + + builder.Append(" }"); + + return builder.ToString(); + } + } } } From 57cc8aea96cf93724e3b90dec612af717656aeab Mon Sep 17 00:00:00 2001 From: Ryan Nowak Date: Thu, 6 Sep 2018 19:18:14 -0700 Subject: [PATCH 168/221] Various improvments to route values link APIs - Add docs - Add support for templates - Remove undesirable constructor parameter - misc cleanup --- samples/RoutingSample.Web/Program.cs | 3 +- ...nkGeneratorRouteValuesAddressExtensions.cs | 76 +++++++++++++++++++ .../RouteValuesBasedEndpointFinder.cs | 18 ++--- .../RouteValueBasedEndpointFinderTest.cs | 22 ++---- 4 files changed, 88 insertions(+), 31 deletions(-) diff --git a/samples/RoutingSample.Web/Program.cs b/samples/RoutingSample.Web/Program.cs index 1fa90c645c..07fe40f30f 100644 --- a/samples/RoutingSample.Web/Program.cs +++ b/samples/RoutingSample.Web/Program.cs @@ -60,8 +60,7 @@ namespace RoutingSample.Web return new WebHostBuilder() .UseKestrel() .UseIISIntegration() - .UseStartup(startupType) - .ConfigureLogging(l => l.AddConsole().SetMinimumLevel(LogLevel.Debug)); + .UseStartup(startupType); } } } diff --git a/src/Microsoft.AspNetCore.Routing/LinkGeneratorRouteValuesAddressExtensions.cs b/src/Microsoft.AspNetCore.Routing/LinkGeneratorRouteValuesAddressExtensions.cs index 0e2f8a663c..3f8014f8e2 100644 --- a/src/Microsoft.AspNetCore.Routing/LinkGeneratorRouteValuesAddressExtensions.cs +++ b/src/Microsoft.AspNetCore.Routing/LinkGeneratorRouteValuesAddressExtensions.cs @@ -11,6 +11,19 @@ namespace Microsoft.AspNetCore.Routing /// public static class LinkGeneratorRouteValuesAddressExtensions { + /// + /// Generates a URI with an absolute path based on the provided values. + /// + /// The . + /// The associated with the current request. + /// The route name. Used to resolve endpoints. Optional. + /// The route values. Used to resolve endpoints and expand parameters in the route template. Optional. + /// An optional URI fragment. Appended to the resulting URI. + /// + /// An optional . Settings on provided object override the settings with matching + /// names from RouteOptions. + /// + /// A URI with an absolute path, or null. public static string GetPathByRouteValues( this LinkGenerator generator, HttpContext httpContext, @@ -28,6 +41,19 @@ namespace Microsoft.AspNetCore.Routing return generator.GetPathByAddress(httpContext, address, address.ExplicitValues, fragment, options); } + /// + /// Generates a URI with an absolute path based on the provided values. + /// + /// The . + /// The route name. Used to resolve endpoints. Optional. + /// The route values. Used to resolve endpoints and expand parameters in the route template. Optional. + /// An optional URI path base. Prepended to the path in the resulting URI. + /// An optional URI fragment. Appended to the resulting URI. + /// + /// An optional . Settings on provided object override the settings with matching + /// names from RouteOptions. + /// + /// A URI with an absolute path, or null. public static string GetPathByRouteValues( this LinkGenerator generator, string routeName, @@ -45,6 +71,19 @@ namespace Microsoft.AspNetCore.Routing return generator.GetPathByAddress(address, address.ExplicitValues, pathBase, fragment, options); } + /// + /// Generates an absolute URI based on the provided values. + /// + /// The . + /// The associated with the current request. + /// The route name. Used to resolve endpoints. Optional. + /// The route values. Used to resolve endpoints and expand parameters in the route template. Optional. + /// An optional URI fragment. Appended to the resulting URI. + /// + /// An optional . Settings on provided object override the settings with matching + /// names from RouteOptions. + /// + /// A URI with an absolute path, or null. public static string GetUriByRouteValues( this LinkGenerator generator, HttpContext httpContext, @@ -62,6 +101,21 @@ namespace Microsoft.AspNetCore.Routing return generator.GetUriByAddress(httpContext, address, address.ExplicitValues, fragment, options); } + /// + /// Generates an absolute URI based on the provided values. + /// + /// The . + /// The route name. Used to resolve endpoints. Optional. + /// The route values. Used to resolve endpoints and expand parameters in the route template. Optional. + /// The URI scheme, applied to the resulting URI. + /// The URI host/authority, applied to the resulting URI. + /// An optional URI path base. Prepended to the path in the resulting URI. + /// An optional URI fragment. Appended to the resulting URI. + /// + /// An optional . Settings on provided object override the settings with matching + /// names from RouteOptions. + /// + /// An absolute URI, or null. public static string GetUriByRouteValues( this LinkGenerator generator, string routeName, @@ -81,7 +135,29 @@ namespace Microsoft.AspNetCore.Routing return generator.GetUriByAddress(address, address.ExplicitValues, scheme, host, pathBase, fragment, options); } + /// + /// Gets a based on the provided and . + /// + /// The . + /// The route name. Used to resolve endpoints. Optional. + /// The route values. Used to resolve endpoints and expand parameters in the route template. Optional. + /// + /// A if one or more endpoints matching the address can be found, otherwise null. + /// + public static LinkGenerationTemplate GetTemplateByRouteValues( + this LinkGenerator generator, + string routeName, + object values) + { + if (generator == null) + { + throw new ArgumentNullException(nameof(generator)); + } + var address = CreateAddress(httpContext: null, routeName, values); + return generator.GetTemplateByAddress(address); + } + private static RouteValuesAddress CreateAddress(HttpContext httpContext, string routeName, object values) { return new RouteValuesAddress() diff --git a/src/Microsoft.AspNetCore.Routing/RouteValuesBasedEndpointFinder.cs b/src/Microsoft.AspNetCore.Routing/RouteValuesBasedEndpointFinder.cs index 3ce63cea56..f7d6b77023 100644 --- a/src/Microsoft.AspNetCore.Routing/RouteValuesBasedEndpointFinder.cs +++ b/src/Microsoft.AspNetCore.Routing/RouteValuesBasedEndpointFinder.cs @@ -6,33 +6,27 @@ using System.Collections.Generic; using System.Linq; using Microsoft.AspNetCore.Http; using Microsoft.AspNetCore.Routing.Internal; -using Microsoft.AspNetCore.Routing.Matching; using Microsoft.AspNetCore.Routing.Template; using Microsoft.AspNetCore.Routing.Tree; -using Microsoft.Extensions.ObjectPool; namespace Microsoft.AspNetCore.Routing { internal class RouteValuesBasedEndpointFinder : IEndpointFinder { - private readonly CompositeEndpointDataSource _endpointDataSource; - private readonly ObjectPool _objectPool; + private readonly CompositeEndpointDataSource _dataSource; private LinkGenerationDecisionTree _allMatchesLinkGenerationTree; private IDictionary> _namedMatchResults; - public RouteValuesBasedEndpointFinder( - CompositeEndpointDataSource endpointDataSource, - ObjectPool objectPool) + public RouteValuesBasedEndpointFinder(CompositeEndpointDataSource dataSource) { - _endpointDataSource = endpointDataSource; - _objectPool = objectPool; + _dataSource = dataSource; // Build initial matches BuildOutboundMatches(); // Register for changes in endpoints Extensions.Primitives.ChangeToken.OnChange( - _endpointDataSource.GetChangeToken, + _dataSource.GetChangeToken, HandleChange); } @@ -68,7 +62,7 @@ namespace Microsoft.AspNetCore.Routing // re-register the callback as the change token is one time use only and a new change token // is produced every time Extensions.Primitives.ChangeToken.OnChange( - _endpointDataSource.GetChangeToken, + _dataSource.GetChangeToken, HandleChange); } @@ -104,7 +98,7 @@ namespace Microsoft.AspNetCore.Routing var namedOutboundMatchResults = new Dictionary>( StringComparer.OrdinalIgnoreCase); - var endpoints = _endpointDataSource.Endpoints.OfType(); + var endpoints = _dataSource.Endpoints.OfType(); foreach (var endpoint in endpoints) { // Do not consider an endpoint for link generation if the following marker metadata is on it diff --git a/test/Microsoft.AspNetCore.Routing.Tests/RouteValueBasedEndpointFinderTest.cs b/test/Microsoft.AspNetCore.Routing.Tests/RouteValueBasedEndpointFinderTest.cs index c3c1f644e8..70c66b052e 100644 --- a/test/Microsoft.AspNetCore.Routing.Tests/RouteValueBasedEndpointFinderTest.cs +++ b/test/Microsoft.AspNetCore.Routing.Tests/RouteValueBasedEndpointFinderTest.cs @@ -8,7 +8,6 @@ using Microsoft.AspNetCore.Routing.Internal; using Microsoft.AspNetCore.Routing.Patterns; using Microsoft.AspNetCore.Routing.TestObjects; using Microsoft.AspNetCore.Routing.Tree; -using Microsoft.Extensions.ObjectPool; using Xunit; namespace Microsoft.AspNetCore.Routing @@ -83,13 +82,9 @@ namespace Microsoft.AspNetCore.Routing // Arrange 1 var endpoint1 = CreateEndpoint("/a"); var dynamicDataSource = new DynamicEndpointDataSource(new[] { endpoint1 }); - var objectPoolProvider = new DefaultObjectPoolProvider(); - var objectPool = objectPoolProvider.Create(new UriBuilderContextPooledObjectPolicy()); // Act 1 - var finder = new CustomRouteValuesBasedEndpointFinder( - new CompositeEndpointDataSource(new[] { dynamicDataSource }), - objectPool); + var finder = new CustomRouteValuesBasedEndpointFinder(new CompositeEndpointDataSource(new[] { dynamicDataSource })); // Assert 1 Assert.NotNull(finder.AllMatches); @@ -218,14 +213,9 @@ namespace Microsoft.AspNetCore.Routing return CreateEndpointFinder(new DefaultEndpointDataSource(endpoints)); } - private CustomRouteValuesBasedEndpointFinder CreateEndpointFinder(params EndpointDataSource[] endpointDataSources) + private CustomRouteValuesBasedEndpointFinder CreateEndpointFinder(params EndpointDataSource[] dataSources) { - var objectPoolProvider = new DefaultObjectPoolProvider(); - var objectPool = objectPoolProvider.Create(new UriBuilderContextPooledObjectPolicy()); - - return new CustomRouteValuesBasedEndpointFinder( - new CompositeEndpointDataSource(endpointDataSources), - objectPool); + return new CustomRouteValuesBasedEndpointFinder(new CompositeEndpointDataSource(dataSources)); } private RouteEndpoint CreateEndpoint( @@ -256,10 +246,8 @@ namespace Microsoft.AspNetCore.Routing private class CustomRouteValuesBasedEndpointFinder : RouteValuesBasedEndpointFinder { - public CustomRouteValuesBasedEndpointFinder( - CompositeEndpointDataSource endpointDataSource, - ObjectPool objectPool) - : base(endpointDataSource, objectPool) + public CustomRouteValuesBasedEndpointFinder(CompositeEndpointDataSource dataSource) + : base(dataSource) { } From 5f172efa9dd31d27d0e8af944aec2d7f6c124238 Mon Sep 17 00:00:00 2001 From: Ryan Nowak Date: Thu, 6 Sep 2018 19:18:55 -0700 Subject: [PATCH 169/221] Add support Endpoint Name endpoint finding --- .../RoutingServiceCollectionExtensions.cs | 3 +- .../EndpointNameEndpointFinder.cs | 107 ++++++++++ .../EndpointNameMetadata.cs | 33 ++++ .../IEndpointNameMetadata.cs | 22 +++ ...kGeneratorEndpointNameAddressExtensions.cs | 177 +++++++++++++++++ .../Properties/Resources.Designer.cs | 30 ++- .../Resources.resx | 6 + .../EndpointNameEndpointFinderTest.cs | 184 ++++++++++++++++++ ...LinkGeneratorEndpointNameExtensionsTest.cs | 140 +++++++++++++ ...neratorRouteValuesAddressExtensionsTest.cs | 29 ++- 10 files changed, 728 insertions(+), 3 deletions(-) create mode 100644 src/Microsoft.AspNetCore.Routing/EndpointNameEndpointFinder.cs create mode 100644 src/Microsoft.AspNetCore.Routing/EndpointNameMetadata.cs create mode 100644 src/Microsoft.AspNetCore.Routing/IEndpointNameMetadata.cs create mode 100644 src/Microsoft.AspNetCore.Routing/LinkGeneratorEndpointNameAddressExtensions.cs create mode 100644 test/Microsoft.AspNetCore.Routing.Tests/EndpointNameEndpointFinderTest.cs create mode 100644 test/Microsoft.AspNetCore.Routing.Tests/LinkGeneratorEndpointNameExtensionsTest.cs diff --git a/src/Microsoft.AspNetCore.Routing/DependencyInjection/RoutingServiceCollectionExtensions.cs b/src/Microsoft.AspNetCore.Routing/DependencyInjection/RoutingServiceCollectionExtensions.cs index d2ab2f127b..6037f8fa45 100644 --- a/src/Microsoft.AspNetCore.Routing/DependencyInjection/RoutingServiceCollectionExtensions.cs +++ b/src/Microsoft.AspNetCore.Routing/DependencyInjection/RoutingServiceCollectionExtensions.cs @@ -68,8 +68,9 @@ namespace Microsoft.Extensions.DependencyInjection services.TryAddSingleton(); // Link generation related services - services.TryAddSingleton, RouteValuesBasedEndpointFinder>(); services.TryAddSingleton(); + services.TryAddSingleton, EndpointNameEndpointFinder>(); + services.TryAddSingleton, RouteValuesBasedEndpointFinder>(); // // Endpoint Selection diff --git a/src/Microsoft.AspNetCore.Routing/EndpointNameEndpointFinder.cs b/src/Microsoft.AspNetCore.Routing/EndpointNameEndpointFinder.cs new file mode 100644 index 0000000000..404ffde04b --- /dev/null +++ b/src/Microsoft.AspNetCore.Routing/EndpointNameEndpointFinder.cs @@ -0,0 +1,107 @@ +// Copyright (c) .NET Foundation. All rights reserved. +// Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information. + +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using Microsoft.AspNetCore.Http; + +namespace Microsoft.AspNetCore.Routing +{ + internal class EndpointNameEndpointFinder : IEndpointFinder + { + private readonly DataSourceDependentCache> _cache; + + public EndpointNameEndpointFinder(CompositeEndpointDataSource dataSource) + { + _cache = new DataSourceDependentCache>(dataSource, Initialize); + } + + // Internal for tests + internal Dictionary Entries => _cache.EnsureInitialized(); + + public IEnumerable FindEndpoints(string address) + { + if (address == null) + { + throw new ArgumentNullException(nameof(address)); + } + + // Capture the current value of the cache + var entries = Entries; + + entries.TryGetValue(address, out var result); + return result ?? Array.Empty(); + } + + private static Dictionary Initialize(IReadOnlyList endpoints) + { + // Collect duplicates as we go, blow up on startup if we find any. + var hasDuplicates = false; + + var entries = new Dictionary(StringComparer.Ordinal); + for (var i = 0; i < endpoints.Count; i++) + { + var endpoint = endpoints[i]; + + var endpointName = GetEndpointName(endpoint); + if (endpointName == null) + { + continue; + } + + if (!entries.TryGetValue(endpointName, out var existing)) + { + // This isn't a duplicate (so far) + entries[endpointName] = new[] { endpoint }; + continue; + } + + // Ok this is a duplicate, because we have two endpoints with the same name. Bail out, because we + // are just going to throw, we don't need to finish collecting data. + hasDuplicates = true; + break; + } + + if (!hasDuplicates) + { + // No duplicates, success! + return entries; + } + + // OK we need to report some duplicates. + var duplicates = endpoints + .GroupBy(e => GetEndpointName(e)) + .Where(g => g.Key != null) + .Where(g => g.Count() > 1); + + var builder = new StringBuilder(); + builder.AppendLine(Resources.DuplicateEndpointNameHeader); + + foreach (var group in duplicates) + { + builder.AppendLine(); + builder.AppendLine(Resources.FormatDuplicateEndpointNameEntry(group.Key)); + + foreach (var endpoint in group) + { + builder.AppendLine(endpoint.DisplayName); + } + } + + throw new InvalidOperationException(builder.ToString()); + + string GetEndpointName(Endpoint endpoint) + { + if (endpoint.Metadata.GetMetadata() != null) + { + // Skip anything that's suppressed for linking. + return null; + } + + return endpoint.Metadata.GetMetadata()?.EndpointName; + } + } + } +} diff --git a/src/Microsoft.AspNetCore.Routing/EndpointNameMetadata.cs b/src/Microsoft.AspNetCore.Routing/EndpointNameMetadata.cs new file mode 100644 index 0000000000..0b417f6722 --- /dev/null +++ b/src/Microsoft.AspNetCore.Routing/EndpointNameMetadata.cs @@ -0,0 +1,33 @@ +// Copyright (c) .NET Foundation. All rights reserved. +// Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information. + +using System; +using Microsoft.AspNetCore.Http; + +namespace Microsoft.AspNetCore.Routing +{ + /// + /// Specifies an endpoint name in . + /// + /// + /// Endpoint names must be unique within an application, and can be used to unambiguously + /// identify a desired endpoint for URI generation using . + /// + public class EndpointNameMetadata : IEndpointNameMetadata + { + public EndpointNameMetadata(string endpointName) + { + if (endpointName == null) + { + throw new ArgumentNullException(nameof(endpointName)); + } + + EndpointName = endpointName; + } + + /// + /// Gets the endpoint name. + /// + public string EndpointName { get; } + } +} diff --git a/src/Microsoft.AspNetCore.Routing/IEndpointNameMetadata.cs b/src/Microsoft.AspNetCore.Routing/IEndpointNameMetadata.cs new file mode 100644 index 0000000000..e2e3b85fda --- /dev/null +++ b/src/Microsoft.AspNetCore.Routing/IEndpointNameMetadata.cs @@ -0,0 +1,22 @@ +// Copyright (c) .NET Foundation. All rights reserved. +// Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information. + +using Microsoft.AspNetCore.Http; + +namespace Microsoft.AspNetCore.Routing +{ + /// + /// Defines a contract use to specify an endpoint name in . + /// + /// + /// Endpoint names must be unique within an application, and can be used to unambiguously + /// identify a desired endpoint for URI generation using . + /// + public interface IEndpointNameMetadata + { + /// + /// Gets the endpoint name. + /// + string EndpointName { get; } + } +} diff --git a/src/Microsoft.AspNetCore.Routing/LinkGeneratorEndpointNameAddressExtensions.cs b/src/Microsoft.AspNetCore.Routing/LinkGeneratorEndpointNameAddressExtensions.cs new file mode 100644 index 0000000000..ab65be757e --- /dev/null +++ b/src/Microsoft.AspNetCore.Routing/LinkGeneratorEndpointNameAddressExtensions.cs @@ -0,0 +1,177 @@ +// Copyright (c) .NET Foundation. All rights reserved. +// Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information. + +using Microsoft.AspNetCore.Http; +using System; + +namespace Microsoft.AspNetCore.Routing +{ + /// + /// Extension methods for using with and endpoint name. + /// + public static class LinkGeneratorEndpointNameAddressExtensions + { + /// + /// Generates a URI with an absolute path based on the provided values. + /// + /// The . + /// The associated with the current request. + /// The endpoint name. Used to resolve endpoints. + /// The route values. Used to expand parameters in the route template. Optional. + /// An optional URI fragment. Appended to the resulting URI. + /// + /// An optional . Settings on provided object override the settings with matching + /// names from RouteOptions. + /// + /// A URI with an absolute path, or null. + public static string GetPathByName( + this LinkGenerator generator, + HttpContext httpContext, + string endpointName, + object values, + FragmentString fragment = default, + LinkOptions options = default) + { + if (generator == null) + { + throw new ArgumentNullException(nameof(generator)); + } + + if (endpointName == null) + { + throw new ArgumentNullException(nameof(endpointName)); + } + + return generator.GetPathByAddress(httpContext, endpointName, new RouteValueDictionary(values), fragment, options); + } + + /// + /// Generates a URI with an absolute path based on the provided values. + /// + /// The . + /// The endpoint name. Used to resolve endpoints. + /// The route values. Used to expand parameters in the route template. Optional. + /// An optional URI path base. Prepended to the path in the resulting URI. + /// An optional URI fragment. Appended to the resulting URI. + /// + /// An optional . Settings on provided object override the settings with matching + /// names from RouteOptions. + /// + /// A URI with an absolute path, or null. + public static string GetPathByName( + this LinkGenerator generator, + string endpointName, + object values, + PathString pathBase = default, + FragmentString fragment = default, + LinkOptions options = default) + { + if (generator == null) + { + throw new ArgumentNullException(nameof(generator)); + } + + if (endpointName == null) + { + throw new ArgumentNullException(nameof(endpointName)); + } + + return generator.GetPathByAddress(endpointName, new RouteValueDictionary(values), pathBase, fragment, options); + } + + /// + /// Generates an absolute URI based on the provided values. + /// + /// The . + /// The associated with the current request. + /// The endpoint name. Used to resolve endpoints. + /// The route values. Used to expand parameters in the route template. Optional. + /// An optional URI fragment. Appended to the resulting URI. + /// + /// An optional . Settings on provided object override the settings with matching + /// names from RouteOptions. + /// + /// A URI with an absolute path, or null. + public static string GetUriByName( + this LinkGenerator generator, + HttpContext httpContext, + string endpointName, + object values, + FragmentString fragment = default, + LinkOptions options = default) + { + if (generator == null) + { + throw new ArgumentNullException(nameof(generator)); + } + + if (endpointName == null) + { + throw new ArgumentNullException(nameof(endpointName)); + } + + return generator.GetUriByAddress(httpContext, endpointName, new RouteValueDictionary(values), fragment, options); + } + + /// + /// Generates an absolute URI based on the provided values. + /// + /// The . + /// The endpoint name. Used to resolve endpoints. + /// The route values. Used to expand parameters in the route template. Optional. + /// The URI scheme, applied to the resulting URI. + /// The URI host/authority, applied to the resulting URI. + /// An optional URI path base. Prepended to the path in the resulting URI. + /// An optional URI fragment. Appended to the resulting URI. + /// + /// An optional . Settings on provided object override the settings with matching + /// names from RouteOptions. + /// + /// An absolute URI, or null. + public static string GetUriByName( + this LinkGenerator generator, + string endpointName, + object values, + string scheme, + HostString host, + PathString pathBase = default, + FragmentString fragment = default, + LinkOptions options = default) + { + if (generator == null) + { + throw new ArgumentNullException(nameof(generator)); + } + + if (endpointName == null) + { + throw new ArgumentNullException(nameof(endpointName)); + } + + return generator.GetUriByAddress(endpointName, new RouteValueDictionary(values), scheme, host, pathBase, fragment, options); + } + + /// + /// Gets a based on the provided . + /// + /// The . + /// The endpoint name. Used to resolve endpoints. Optional. + /// + /// A if one or more endpoints matching the address can be found, otherwise null. + /// + public static LinkGenerationTemplate GetTemplateByName(this LinkGenerator generator, string endpointName) + { + if (generator == null) + { + throw new ArgumentNullException(nameof(generator)); + } + + if (endpointName == null) + { + throw new ArgumentNullException(nameof(endpointName)); + } + + return generator.GetTemplateByAddress(endpointName); + } + } +} diff --git a/src/Microsoft.AspNetCore.Routing/Properties/Resources.Designer.cs b/src/Microsoft.AspNetCore.Routing/Properties/Resources.Designer.cs index 47c12ae404..72372c4a89 100644 --- a/src/Microsoft.AspNetCore.Routing/Properties/Resources.Designer.cs +++ b/src/Microsoft.AspNetCore.Routing/Properties/Resources.Designer.cs @@ -459,7 +459,7 @@ namespace Microsoft.AspNetCore.Routing => string.Format(CultureInfo.CurrentCulture, GetString("ConstraintMustBeStringOrConstraint"), p0, p1, p2); /// - /// Invalid constraint '{0}'. A constraint must be of type 'string', '{1}', or '{2}'. + /// Invalid constraint '{0}'. A constraint must be of type 'string' or '{1}'. /// internal static string RoutePattern_InvalidConstraintReference { @@ -514,6 +514,34 @@ namespace Microsoft.AspNetCore.Routing internal static string FormatRoutePattern_InvalidStringConstraintReference(object p0, object p1, object p2, object p3) => string.Format(CultureInfo.CurrentCulture, GetString("RoutePattern_InvalidStringConstraintReference"), p0, p1, p2, p3); + /// + /// Endpoints with endpoint name '{0}': + /// + internal static string DuplicateEndpointNameEntry + { + get => GetString("DuplicateEndpointNameEntry"); + } + + /// + /// Endpoints with endpoint name '{0}': + /// + internal static string FormatDuplicateEndpointNameEntry(object p0) + => string.Format(CultureInfo.CurrentCulture, GetString("DuplicateEndpointNameEntry"), p0); + + /// + /// The following endpoints with a duplicate endpoint name were found. + /// + internal static string DuplicateEndpointNameHeader + { + get => GetString("DuplicateEndpointNameHeader"); + } + + /// + /// The following endpoints with a duplicate endpoint name were found. + /// + internal static string FormatDuplicateEndpointNameHeader() + => GetString("DuplicateEndpointNameHeader"); + private static string GetString(string name, params string[] formatterNames) { var value = _resourceManager.GetString(name); diff --git a/src/Microsoft.AspNetCore.Routing/Resources.resx b/src/Microsoft.AspNetCore.Routing/Resources.resx index c192330770..6ce5d8ff00 100644 --- a/src/Microsoft.AspNetCore.Routing/Resources.resx +++ b/src/Microsoft.AspNetCore.Routing/Resources.resx @@ -225,4 +225,10 @@ Invalid constraint type '{0}' registered as '{1}'. A constraint type must either implement '{2}', or inherit from '{3}'. + + Endpoints with endpoint name '{0}': + + + The following endpoints with a duplicate endpoint name were found. + \ No newline at end of file diff --git a/test/Microsoft.AspNetCore.Routing.Tests/EndpointNameEndpointFinderTest.cs b/test/Microsoft.AspNetCore.Routing.Tests/EndpointNameEndpointFinderTest.cs new file mode 100644 index 0000000000..9165dce257 --- /dev/null +++ b/test/Microsoft.AspNetCore.Routing.Tests/EndpointNameEndpointFinderTest.cs @@ -0,0 +1,184 @@ +// Copyright (c) .NET Foundation. All rights reserved. +// Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information. + +using System; +using System.Linq; +using Microsoft.AspNetCore.Http; +using Microsoft.AspNetCore.Routing.TestObjects; +using Xunit; + +namespace Microsoft.AspNetCore.Routing +{ + public class EndpointNameEndpointFinderTest + { + [Fact] + public void EndpointFinder_Match_ReturnsMatchingEndpoint() + { + // Arrange + var endpoint1 = EndpointFactory.CreateRouteEndpoint( + "/a", + metadata: new object[] { new EndpointNameMetadata("name1"), }); + + var endpoint2 = EndpointFactory.CreateRouteEndpoint( + "/b", + metadata: new object[] { new EndpointNameMetadata("name2"), }); + + var finder = CreateEndpointFinder(endpoint1, endpoint2); + + // Act + var endpoints = finder.FindEndpoints("name2"); + + // Assert + Assert.Collection( + endpoints, + e => Assert.Same(endpoint2, e)); + } + + [Fact] + public void EndpointFinder_NoMatch_ReturnsEmptyCollection() + { + // Arrange + var endpoint = EndpointFactory.CreateRouteEndpoint( + "/a", + metadata: new object[] { new EndpointNameMetadata("name1"), new SuppressLinkGenerationMetadata(), }); + + var finder = CreateEndpointFinder(endpoint); + + // Act + var endpoints = finder.FindEndpoints("name2"); + + // Assert + Assert.Empty(endpoints); + } + + [Fact] + public void EndpointFinder_NoMatch_CaseSensitive() + { + // Arrange + var endpoint = EndpointFactory.CreateRouteEndpoint( + "/a", + metadata: new object[] { new EndpointNameMetadata("name1"), new SuppressLinkGenerationMetadata(), }); + + var finder = CreateEndpointFinder(endpoint); + + // Act + var endpoints = finder.FindEndpoints("NAME1"); + + // Assert + Assert.Empty(endpoints); + } + + [Fact] + public void EndpointFinder_UpdatesWhenDataSourceChanges() + { + var endpoint1 = EndpointFactory.CreateRouteEndpoint( + "/a", + metadata: new object[] { new EndpointNameMetadata("name1"), }); + var dynamicDataSource = new DynamicEndpointDataSource(new[] { endpoint1 }); + + // Act 1 + var finder = CreateEndpointFinder(dynamicDataSource); + + // Assert 1 + var match = Assert.Single(finder.Entries); + Assert.Same(endpoint1, match.Value.Single()); + + // Arrange 2 + var endpoint2 = EndpointFactory.CreateRouteEndpoint( + "/b", + metadata: new object[] { new EndpointNameMetadata("name2"), }); + + // Act 2 + // Trigger change + dynamicDataSource.AddEndpoint(endpoint2); + + // Assert 2 + Assert.Collection( + finder.Entries.OrderBy(kvp => kvp.Key), + (m) => + { + Assert.Same(endpoint1, m.Value.Single()); + }, + (m) => + { + Assert.Same(endpoint2, m.Value.Single()); + }); + } + + [Fact] + public void EndpointFinder_IgnoresEndpointsWithSuppressLinkGeneration() + { + // Arrange + var endpoint = EndpointFactory.CreateRouteEndpoint( + "/a", + metadata: new object[] { new EndpointNameMetadata("name1"), new SuppressLinkGenerationMetadata(), }); + + // Act + var finder = CreateEndpointFinder(endpoint); + + // Assert + Assert.Empty(finder.Entries); + } + + [Fact] + public void EndpointFinder_IgnoresEndpointsWithoutEndpointName() + { + // Arrange + var endpoint = EndpointFactory.CreateRouteEndpoint( + "/a", + metadata: new object[] { }); + + // Act + var finder = CreateEndpointFinder(endpoint); + + // Assert + Assert.Empty(finder.Entries); + } + + [Fact] + public void EndpointFinder_ThrowsExceptionForDuplicateEndpoints() + { + // Arrange + var endpoints = new Endpoint[] + { + EndpointFactory.CreateRouteEndpoint("/a", displayName: "a", metadata: new object[] { new EndpointNameMetadata("name1"), }), + EndpointFactory.CreateRouteEndpoint("/b", displayName: "b", metadata: new object[] { new EndpointNameMetadata("name1"), }), + EndpointFactory.CreateRouteEndpoint("/c", displayName: "c", metadata: new object[] { new EndpointNameMetadata("name1"), }), + + //// Not a duplicate + EndpointFactory.CreateRouteEndpoint("/d", displayName: "d", metadata: new object[] { new EndpointNameMetadata("NAME1"), }), + + EndpointFactory.CreateRouteEndpoint("/e", displayName: "e", metadata: new object[] { new EndpointNameMetadata("name2"), }), + EndpointFactory.CreateRouteEndpoint("/f", displayName: "f", metadata: new object[] { new EndpointNameMetadata("name2"), }), + }; + + var finder = CreateEndpointFinder(endpoints); + + // Act + var ex = Assert.Throws(() => finder.FindEndpoints("any name")); + + // Assert + Assert.Equal(@"The following endpoints with a duplicate endpoint name were found. + +Endpoints with endpoint name 'name1': +a +b +c + +Endpoints with endpoint name 'name2': +e +f +", ex.Message); + } + + private EndpointNameEndpointFinder CreateEndpointFinder(params Endpoint[] endpoints) + { + return CreateEndpointFinder(new DefaultEndpointDataSource(endpoints)); + } + + private EndpointNameEndpointFinder CreateEndpointFinder(params EndpointDataSource[] dataSources) + { + return new EndpointNameEndpointFinder(new CompositeEndpointDataSource(dataSources)); + } + } +} diff --git a/test/Microsoft.AspNetCore.Routing.Tests/LinkGeneratorEndpointNameExtensionsTest.cs b/test/Microsoft.AspNetCore.Routing.Tests/LinkGeneratorEndpointNameExtensionsTest.cs new file mode 100644 index 0000000000..0b57b598c7 --- /dev/null +++ b/test/Microsoft.AspNetCore.Routing.Tests/LinkGeneratorEndpointNameExtensionsTest.cs @@ -0,0 +1,140 @@ +// Copyright (c) .NET Foundation. All rights reserved. +// Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information. + +using System.Linq; +using Microsoft.AspNetCore.Http; +using Xunit; + +namespace Microsoft.AspNetCore.Routing +{ + // Integration tests for GetXyzByName. These are basic because important behavioral details + // are covered elsewhere. + // + // Does not cover template processing in detail, those scenarios are validated by TemplateBinderTests + // and DefaultLinkGeneratorProcessTemplateTest + // + // Does not cover the EndpointNameEndpointFinder in detail. see EndpointNameEndpointFinderTest + public class LinkGeneratorEndpointNameExtensionsTest : LinkGeneratorTestBase + { + [Fact] + public void GetPathByName_WithoutHttpContext_WithPathBaseAndFragment() + { + // Arrange + var endpoint1 = EndpointFactory.CreateRouteEndpoint("some-endpoint/{p}", metadata: new[] { new EndpointNameMetadata("name1"), }); + var endpoint2 = EndpointFactory.CreateRouteEndpoint("some#-other-endpoint/{p}", metadata: new[] { new EndpointNameMetadata("name2"), }); + + var linkGenerator = CreateLinkGenerator(endpoint1, endpoint2); + + var values = new { p = "In?dex", query = "some?query", }; + + // Act + var path = linkGenerator.GetPathByName( + endpointName: "name2", + values, + new PathString("/Foo/Bar?encodeme?"), + new FragmentString("#Fragment?"), + new LinkOptions() { AppendTrailingSlash = true, }); + + // Assert + Assert.Equal("/Foo/Bar%3Fencodeme%3F/some%23-other-endpoint/In%3Fdex/?query=some%3Fquery#Fragment?", path); + } + + [Fact] + public void GetPathByName_WithHttpContext_WithPathBaseAndFragment() + { + // Arrange + var endpoint1 = EndpointFactory.CreateRouteEndpoint("some-endpoint/{p}", metadata: new[] { new EndpointNameMetadata("name1"), }); + var endpoint2 = EndpointFactory.CreateRouteEndpoint("some#-other-endpoint/{p}", metadata: new[] { new EndpointNameMetadata("name2"), }); + + var linkGenerator = CreateLinkGenerator(endpoint1, endpoint2); + + var httpContext = CreateHttpContext(); + httpContext.Request.PathBase = new PathString("/Foo/Bar?encodeme?"); + + var values = new { p = "In?dex", query = "some?query", }; + + // Act + var path = linkGenerator.GetPathByName( + httpContext, + endpointName: "name2", + values, + new FragmentString("#Fragment?"), + new LinkOptions() { AppendTrailingSlash = true, }); + + // Assert + Assert.Equal("/Foo/Bar%3Fencodeme%3F/some%23-other-endpoint/In%3Fdex/?query=some%3Fquery#Fragment?", path); + } + + [Fact] + public void GetUriByRouteValues_WithoutHttpContext_WithPathBaseAndFragment() + { + // Arrange + var endpoint1 = EndpointFactory.CreateRouteEndpoint("some-endpoint/{p}", metadata: new[] { new EndpointNameMetadata("name1"), }); + var endpoint2 = EndpointFactory.CreateRouteEndpoint("some#-other-endpoint/{p}", metadata: new[] { new EndpointNameMetadata("name2"), }); + + var linkGenerator = CreateLinkGenerator(endpoint1, endpoint2); + + var values = new { p = "In?dex", query = "some?query", }; + + // Act + var path = linkGenerator.GetUriByName( + endpointName: "name2", + values, + "http", + new HostString("example.com"), + new PathString("/Foo/Bar?encodeme?"), + new FragmentString("#Fragment?"), + new LinkOptions() { AppendTrailingSlash = true, }); + + // Assert + Assert.Equal("http://example.com/Foo/Bar%3Fencodeme%3F/some%23-other-endpoint/In%3Fdex/?query=some%3Fquery#Fragment?", path); + } + + [Fact] + public void GetUriByName_WithHttpContext_WithPathBaseAndFragment() + { + // Arrange + var endpoint1 = EndpointFactory.CreateRouteEndpoint("some-endpoint/{p}", metadata: new[] { new EndpointNameMetadata("name1"), }); + var endpoint2 = EndpointFactory.CreateRouteEndpoint("some#-other-endpoint/{p}", metadata: new[] { new EndpointNameMetadata("name2"), }); + + var linkGenerator = CreateLinkGenerator(endpoint1, endpoint2); + + var httpContext = CreateHttpContext(); + httpContext.Request.Scheme = "http"; + httpContext.Request.Host = new HostString("example.com"); + httpContext.Request.PathBase = new PathString("/Foo/Bar?encodeme?"); + + var values = new { p = "In?dex", query = "some?query", }; + + // Act + var uri = linkGenerator.GetUriByName( + httpContext, + endpointName: "name2", + values, + new FragmentString("#Fragment?"), + new LinkOptions() { AppendTrailingSlash = true, }); + + // Assert + Assert.Equal("http://example.com/Foo/Bar%3Fencodeme%3F/some%23-other-endpoint/In%3Fdex/?query=some%3Fquery#Fragment?", uri); + } + + [Fact] + public void GetTemplateByName_CreatesTemplate() + { + // Arrange + var endpoint1 = EndpointFactory.CreateRouteEndpoint("some-endpoint/{p}", metadata: new[] { new EndpointNameMetadata("name1"), }); + var endpoint2 = EndpointFactory.CreateRouteEndpoint("some#-other-endpoint/{p}", metadata: new[] { new EndpointNameMetadata("name2"), }); + + var linkGenerator = CreateLinkGenerator(endpoint1, endpoint2); + + // Act + var template = linkGenerator.GetTemplateByName(endpointName: "name2"); + + // Assert + Assert.NotNull(template); + Assert.Collection( + Assert.IsType(template).Endpoints.Cast().OrderBy(e => e.RoutePattern.RawText), + e => Assert.Same(endpoint2, e)); + } + } +} diff --git a/test/Microsoft.AspNetCore.Routing.Tests/LinkGeneratorRouteValuesAddressExtensionsTest.cs b/test/Microsoft.AspNetCore.Routing.Tests/LinkGeneratorRouteValuesAddressExtensionsTest.cs index d4ccf080d0..0d3d3d5a50 100644 --- a/test/Microsoft.AspNetCore.Routing.Tests/LinkGeneratorRouteValuesAddressExtensionsTest.cs +++ b/test/Microsoft.AspNetCore.Routing.Tests/LinkGeneratorRouteValuesAddressExtensionsTest.cs @@ -1,6 +1,7 @@ // Copyright (c) .NET Foundation. All rights reserved. // Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information. +using System.Linq; using Microsoft.AspNetCore.Http; using Xunit; @@ -96,7 +97,7 @@ namespace Microsoft.AspNetCore.Routing } [Fact] - public void GetUri_WithHttpContext_WithPathBaseAndFragment() + public void GetUriByRouteValues_WithHttpContext_WithPathBaseAndFragment() { // Arrange var endpoint1 = EndpointFactory.CreateRouteEndpoint( @@ -124,5 +125,31 @@ namespace Microsoft.AspNetCore.Routing // Assert Assert.Equal("http://example.com/Foo/Bar%3Fencodeme%3F/Home/In%3Fdex/?query=some%3Fquery#Fragment?", uri); } + + [Fact] + public void GetTemplateByRouteValues_CreatesTemplate() + { + // Arrange + var endpoint1 = EndpointFactory.CreateRouteEndpoint( + "{controller}/{action}/{id}", + metadata: new[] { new RouteValuesAddressMetadata(routeName: null, new RouteValueDictionary(new { controller = "Home", action = "In?dex", })) }); + var endpoint2 = EndpointFactory.CreateRouteEndpoint( + "{controller}/{action}/{id?}", + metadata: new[] { new RouteValuesAddressMetadata(routeName: null, new RouteValueDictionary(new { controller = "Home", action = "In?dex", })) }); + + var linkGenerator = CreateLinkGenerator(endpoint1, endpoint2); + + // Act + var template = linkGenerator.GetTemplateByRouteValues( + routeName: null, + values: new RouteValueDictionary(new { controller = "Home", action = "In?dex", query = "some?query" })); + + // Assert + Assert.NotNull(template); + Assert.Collection( + Assert.IsType(template).Endpoints.Cast().OrderBy(e => e.RoutePattern.RawText), + e => Assert.Same(endpoint2, e), + e => Assert.Same(endpoint1, e)); + } } } From e5cc4564cb939d39e2926d54f1ba03e8fe8be5dd Mon Sep 17 00:00:00 2001 From: Ryan Nowak Date: Mon, 10 Sep 2018 16:55:39 -0700 Subject: [PATCH 170/221] add docs for constructor --- src/Microsoft.AspNetCore.Routing/EndpointNameMetadata.cs | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/src/Microsoft.AspNetCore.Routing/EndpointNameMetadata.cs b/src/Microsoft.AspNetCore.Routing/EndpointNameMetadata.cs index 0b417f6722..925c355807 100644 --- a/src/Microsoft.AspNetCore.Routing/EndpointNameMetadata.cs +++ b/src/Microsoft.AspNetCore.Routing/EndpointNameMetadata.cs @@ -15,6 +15,10 @@ namespace Microsoft.AspNetCore.Routing /// public class EndpointNameMetadata : IEndpointNameMetadata { + /// + /// Creates a new with the provided endpoint name. + /// + /// The endpoint name. public EndpointNameMetadata(string endpointName) { if (endpointName == null) From cee960f3c54e4fde20571984b57d103f7a64942f Mon Sep 17 00:00:00 2001 From: James Newton-King Date: Wed, 12 Sep 2018 21:45:25 +1200 Subject: [PATCH 171/221] Add IParameterTransformer (#750) --- .../IParameterTransformer.cs | 18 +++++++ .../Constraints/NullRouteConstraint.cs | 21 ++++++++ .../Constraints/StringRouteConstraint.cs | 2 +- .../DefaultInlineConstraintResolver.cs | 7 ++- .../DefaultLinkGenerator.cs | 3 +- .../DefaultParameterPolicyFactory.cs | 7 ++- .../Internal/ParameterPolicyActivator.cs | 21 ++++++-- .../Internal/UriBuildingContext.cs | 23 ++++++--- .../MapRouteRouteBuilderExtensions.cs | 50 +++++++++++++++++-- .../RouteConstraintBuilder.cs | 6 +++ .../Template/TemplateBinder.cs | 30 +++++++++-- .../DefaultLinkGeneratorTest.cs | 29 +++++++++++ .../Internal/UriBuildingContextTest.cs | 6 +-- .../LinkGeneratorTestBase.cs | 2 +- .../RouteTest.cs | 41 ++++++++++++--- .../Template/TemplateBinderTests.cs | 38 ++++++++++++++ .../TemplateParserDefaultValuesTests.cs | 2 + 17 files changed, 272 insertions(+), 34 deletions(-) create mode 100644 src/Microsoft.AspNetCore.Routing.Abstractions/IParameterTransformer.cs create mode 100644 src/Microsoft.AspNetCore.Routing/Constraints/NullRouteConstraint.cs diff --git a/src/Microsoft.AspNetCore.Routing.Abstractions/IParameterTransformer.cs b/src/Microsoft.AspNetCore.Routing.Abstractions/IParameterTransformer.cs new file mode 100644 index 0000000000..4f49892003 --- /dev/null +++ b/src/Microsoft.AspNetCore.Routing.Abstractions/IParameterTransformer.cs @@ -0,0 +1,18 @@ +// Copyright (c) .NET Foundation. All rights reserved. +// Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information. + +namespace Microsoft.AspNetCore.Routing +{ + /// + /// Defines the contract that a class must implement to transform parameter values. + /// + public interface IParameterTransformer : IParameterPolicy + { + /// + /// Transforms the specified parameter value. + /// + /// The parameter value to transform. + /// The transformed value. + string Transform(string value); + } +} diff --git a/src/Microsoft.AspNetCore.Routing/Constraints/NullRouteConstraint.cs b/src/Microsoft.AspNetCore.Routing/Constraints/NullRouteConstraint.cs new file mode 100644 index 0000000000..f61e740419 --- /dev/null +++ b/src/Microsoft.AspNetCore.Routing/Constraints/NullRouteConstraint.cs @@ -0,0 +1,21 @@ +// Copyright (c) .NET Foundation. All rights reserved. +// Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information. + +using Microsoft.AspNetCore.Http; + +namespace Microsoft.AspNetCore.Routing.Constraints +{ + internal class NullRouteConstraint : IRouteConstraint + { + public static readonly NullRouteConstraint Instance = new NullRouteConstraint(); + + private NullRouteConstraint() + { + } + + public bool Match(HttpContext httpContext, IRouter route, string routeKey, RouteValueDictionary values, RouteDirection routeDirection) + { + return true; + } + } +} diff --git a/src/Microsoft.AspNetCore.Routing/Constraints/StringRouteConstraint.cs b/src/Microsoft.AspNetCore.Routing/Constraints/StringRouteConstraint.cs index 202fcbb02c..20103058a7 100644 --- a/src/Microsoft.AspNetCore.Routing/Constraints/StringRouteConstraint.cs +++ b/src/Microsoft.AspNetCore.Routing/Constraints/StringRouteConstraint.cs @@ -8,7 +8,7 @@ using Microsoft.AspNetCore.Http; namespace Microsoft.AspNetCore.Routing.Constraints { /// - /// Constrains a route parameter to contain only a specified strign. + /// Constrains a route parameter to contain only a specified string. /// public class StringRouteConstraint : IRouteConstraint { diff --git a/src/Microsoft.AspNetCore.Routing/DefaultInlineConstraintResolver.cs b/src/Microsoft.AspNetCore.Routing/DefaultInlineConstraintResolver.cs index 1ed1f8e1ab..02fd133e28 100644 --- a/src/Microsoft.AspNetCore.Routing/DefaultInlineConstraintResolver.cs +++ b/src/Microsoft.AspNetCore.Routing/DefaultInlineConstraintResolver.cs @@ -56,7 +56,12 @@ namespace Microsoft.AspNetCore.Routing throw new ArgumentNullException(nameof(inlineConstraint)); } - return ParameterPolicyActivator.ResolveParameterPolicy(_inlineConstraintMap, _serviceProvider, inlineConstraint, out _); + // This will return null if the text resolves to a non-IRouteConstraint + return ParameterPolicyActivator.ResolveParameterPolicy( + _inlineConstraintMap, + _serviceProvider, + inlineConstraint, + out _); } } } diff --git a/src/Microsoft.AspNetCore.Routing/DefaultLinkGenerator.cs b/src/Microsoft.AspNetCore.Routing/DefaultLinkGenerator.cs index f050eecb97..dc226c2b9c 100644 --- a/src/Microsoft.AspNetCore.Routing/DefaultLinkGenerator.cs +++ b/src/Microsoft.AspNetCore.Routing/DefaultLinkGenerator.cs @@ -271,7 +271,8 @@ namespace Microsoft.AspNetCore.Routing UrlEncoder.Default, _uriBuildingContextPool, endpoint.RoutePattern, - new RouteValueDictionary(endpoint.RoutePattern.Defaults)); + new RouteValueDictionary(endpoint.RoutePattern.Defaults), + _parameterPolicyFactory); var routeValuesAddressMetadata = endpoint.Metadata.GetMetadata(); var templateValuesResult = templateBinder.GetValues( diff --git a/src/Microsoft.AspNetCore.Routing/DefaultParameterPolicyFactory.cs b/src/Microsoft.AspNetCore.Routing/DefaultParameterPolicyFactory.cs index d14bd9f113..d1837c91c2 100644 --- a/src/Microsoft.AspNetCore.Routing/DefaultParameterPolicyFactory.cs +++ b/src/Microsoft.AspNetCore.Routing/DefaultParameterPolicyFactory.cs @@ -44,7 +44,12 @@ namespace Microsoft.AspNetCore.Routing throw new ArgumentNullException(nameof(inlineText)); } - var parameterPolicy = ParameterPolicyActivator.ResolveParameterPolicy(_options.ConstraintMap, _serviceProvider, inlineText, out var parameterPolicyKey); + var parameterPolicy = ParameterPolicyActivator.ResolveParameterPolicy( + _options.ConstraintMap, + _serviceProvider, + inlineText, + out var parameterPolicyKey); + if (parameterPolicy == null) { throw new InvalidOperationException(Resources.FormatRoutePattern_ConstraintReferenceNotFound( diff --git a/src/Microsoft.AspNetCore.Routing/Internal/ParameterPolicyActivator.cs b/src/Microsoft.AspNetCore.Routing/Internal/ParameterPolicyActivator.cs index 1fc3f1a365..c04de5ba60 100644 --- a/src/Microsoft.AspNetCore.Routing/Internal/ParameterPolicyActivator.cs +++ b/src/Microsoft.AspNetCore.Routing/Internal/ParameterPolicyActivator.cs @@ -13,7 +13,11 @@ namespace Microsoft.AspNetCore.Routing.Internal { internal static class ParameterPolicyActivator { - public static T ResolveParameterPolicy(IDictionary inlineParameterPolicyMap, IServiceProvider serviceProvider, string inlineParameterPolicy, out string parameterPolicyKey) + public static T ResolveParameterPolicy( + IDictionary inlineParameterPolicyMap, + IServiceProvider serviceProvider, + string inlineParameterPolicy, + out string parameterPolicyKey) where T : IParameterPolicy { // IServiceProvider could be null @@ -51,9 +55,18 @@ namespace Microsoft.AspNetCore.Routing.Internal if (!typeof(T).IsAssignableFrom(parameterPolicyType)) { - throw new RouteCreationException( - Resources.FormatDefaultInlineConstraintResolver_TypeNotConstraint( - parameterPolicyType, parameterPolicyKey, typeof(T).Name)); + if (!typeof(IParameterPolicy).IsAssignableFrom(parameterPolicyType)) + { + // Error if type is not a parameter policy + throw new RouteCreationException( + Resources.FormatDefaultInlineConstraintResolver_TypeNotConstraint( + parameterPolicyType, parameterPolicyKey, typeof(T).Name)); + } + + // Return null if type is parameter policy but is not the exact type + // This is used by IInlineConstraintResolver for backwards compatibility + // e.g. looking for an IRouteConstraint but get a different IParameterPolicy type + return default; } try diff --git a/src/Microsoft.AspNetCore.Routing/Internal/UriBuildingContext.cs b/src/Microsoft.AspNetCore.Routing/Internal/UriBuildingContext.cs index 2b5c506af6..e73485b638 100644 --- a/src/Microsoft.AspNetCore.Routing/Internal/UriBuildingContext.cs +++ b/src/Microsoft.AspNetCore.Routing/Internal/UriBuildingContext.cs @@ -56,10 +56,10 @@ namespace Microsoft.AspNetCore.Routing.Internal public bool Accept(string value) { - return Accept(value, encodeSlashes: true); + return Accept(value, encodeSlashes: true, parameterTransformer: null); } - public bool Accept(string value, bool encodeSlashes) + public bool Accept(string value, bool encodeSlashes, IParameterTransformer parameterTransformer) { if (string.IsNullOrEmpty(value)) { @@ -117,11 +117,11 @@ namespace Microsoft.AspNetCore.Routing.Internal if (_path.Length == 0 && value.Length > 0 && value[0] == '/') { _path.Append("/"); - EncodeValue(value, 1, value.Length - 1, encodeSlashes); + EncodeValue(value, 1, value.Length - 1, encodeSlashes, parameterTransformer); } else { - EncodeValue(value, encodeSlashes); + EncodeValue(value, encodeSlashes, parameterTransformer); } return true; @@ -263,17 +263,24 @@ namespace Microsoft.AspNetCore.Routing.Internal private void EncodeValue(string value) { - EncodeValue(value, encodeSlashes: true); + EncodeValue(value, encodeSlashes: true, parameterTransformer: null); } - private void EncodeValue(string value, bool encodeSlashes) + private void EncodeValue(string value, bool encodeSlashes, IParameterTransformer parameterTransformer) { - EncodeValue(value, start: 0, characterCount: value.Length, encodeSlashes); + EncodeValue(value, start: 0, characterCount: value.Length, encodeSlashes, parameterTransformer); } // For testing - internal void EncodeValue(string value, int start, int characterCount, bool encodeSlashes) + internal void EncodeValue(string value, int start, int characterCount, bool encodeSlashes, IParameterTransformer parameterTransformer) { + if (parameterTransformer != null) + { + value = parameterTransformer.Transform(value.Substring(0, characterCount)); + start = 0; + characterCount = value.Length; + } + // Just encode everything if its ok to encode slashes if (encodeSlashes) { diff --git a/src/Microsoft.AspNetCore.Routing/MapRouteRouteBuilderExtensions.cs b/src/Microsoft.AspNetCore.Routing/MapRouteRouteBuilderExtensions.cs index ef55007af3..e5cc19aa1d 100644 --- a/src/Microsoft.AspNetCore.Routing/MapRouteRouteBuilderExtensions.cs +++ b/src/Microsoft.AspNetCore.Routing/MapRouteRouteBuilderExtensions.cs @@ -3,6 +3,7 @@ using System; using Microsoft.AspNetCore.Routing; +using Microsoft.AspNetCore.Routing.Constraints; using Microsoft.Extensions.DependencyInjection; namespace Microsoft.AspNetCore.Builder @@ -107,10 +108,6 @@ namespace Microsoft.AspNetCore.Builder throw new RouteCreationException(Resources.FormatDefaultHandler_MustBeSet(nameof(IRouteBuilder))); } - var inlineConstraintResolver = routeBuilder - .ServiceProvider - .GetRequiredService(); - routeBuilder.Routes.Add(new Route( routeBuilder.DefaultHandler, name, @@ -118,9 +115,52 @@ namespace Microsoft.AspNetCore.Builder new RouteValueDictionary(defaults), new RouteValueDictionary(constraints), new RouteValueDictionary(dataTokens), - inlineConstraintResolver)); + CreateInlineConstraintResolver(routeBuilder.ServiceProvider))); return routeBuilder; } + + private static IInlineConstraintResolver CreateInlineConstraintResolver(IServiceProvider serviceProvider) + { + var inlineConstraintResolver = serviceProvider + .GetRequiredService(); + + var parameterPolicyFactory = serviceProvider + .GetRequiredService(); + + // This inline constraint resolver will return a null constraint for non-IRouteConstraint + // parameter policies so Route does not error + return new BackCompatInlineConstraintResolver(inlineConstraintResolver, parameterPolicyFactory); + } + + private class BackCompatInlineConstraintResolver : IInlineConstraintResolver + { + private readonly IInlineConstraintResolver _inner; + private readonly ParameterPolicyFactory _parameterPolicyFactory; + + public BackCompatInlineConstraintResolver(IInlineConstraintResolver inner, ParameterPolicyFactory parameterPolicyFactory) + { + _inner = inner; + _parameterPolicyFactory = parameterPolicyFactory; + } + + public IRouteConstraint ResolveConstraint(string inlineConstraint) + { + var routeConstraint = _inner.ResolveConstraint(inlineConstraint); + if (routeConstraint != null) + { + return routeConstraint; + } + + var parameterPolicy = _parameterPolicyFactory.Create(null, inlineConstraint); + if (parameterPolicy != null) + { + // Logic inside Route will skip adding NullRouteConstraint + return NullRouteConstraint.Instance; + } + + return null; + } + } } } diff --git a/src/Microsoft.AspNetCore.Routing/RouteConstraintBuilder.cs b/src/Microsoft.AspNetCore.Routing/RouteConstraintBuilder.cs index c230ed0e96..f170ac81fa 100644 --- a/src/Microsoft.AspNetCore.Routing/RouteConstraintBuilder.cs +++ b/src/Microsoft.AspNetCore.Routing/RouteConstraintBuilder.cs @@ -4,6 +4,7 @@ using System; using System.Collections.Generic; using Microsoft.AspNetCore.Routing.Constraints; +using Microsoft.AspNetCore.Routing.Internal; namespace Microsoft.AspNetCore.Routing { @@ -158,6 +159,11 @@ namespace Microsoft.AspNetCore.Routing _displayName, _inlineConstraintResolver.GetType().Name)); } + else if (constraint == NullRouteConstraint.Instance) + { + // A null route constraint can be returned for other parameter policy types + return; + } Add(key, constraint); } diff --git a/src/Microsoft.AspNetCore.Routing/Template/TemplateBinder.cs b/src/Microsoft.AspNetCore.Routing/Template/TemplateBinder.cs index 7579e27232..d5a289edc0 100644 --- a/src/Microsoft.AspNetCore.Routing/Template/TemplateBinder.cs +++ b/src/Microsoft.AspNetCore.Routing/Template/TemplateBinder.cs @@ -20,6 +20,7 @@ namespace Microsoft.AspNetCore.Routing.Template private readonly ObjectPool _pool; private readonly RouteValueDictionary _defaults; + private readonly ParameterPolicyFactory _parameterPolicyFactory; private readonly RouteValueDictionary _filters; private readonly RoutePattern _pattern; @@ -35,7 +36,7 @@ namespace Microsoft.AspNetCore.Routing.Template ObjectPool pool, RouteTemplate template, RouteValueDictionary defaults) - : this(urlEncoder, pool, template?.ToRoutePattern(), defaults) + : this(urlEncoder, pool, template?.ToRoutePattern(), defaults, parameterPolicyFactory: null) { } @@ -46,11 +47,13 @@ namespace Microsoft.AspNetCore.Routing.Template /// The . /// The to bind values to. /// The default values for . + /// The . public TemplateBinder( UrlEncoder urlEncoder, ObjectPool pool, RoutePattern pattern, - RouteValueDictionary defaults) + RouteValueDictionary defaults, + ParameterPolicyFactory parameterPolicyFactory) { if (urlEncoder == null) { @@ -71,6 +74,7 @@ namespace Microsoft.AspNetCore.Routing.Template _pool = pool; _pattern = pattern; _defaults = defaults; + _parameterPolicyFactory = parameterPolicyFactory; // Any default that doesn't have a corresponding parameter is a 'filter' and if a value // is provided for that 'filter' it must match the value in defaults. @@ -265,7 +269,7 @@ namespace Microsoft.AspNetCore.Routing.Template // Example: template = {id}.{format?}. parameters: id=5 // In this case after we have generated "5.", we wont find any value // for format, so we remove '.' and generate 5. - if (!context.Accept(converted, parameterPart.EncodeSlashes)) + if (!context.Accept(converted, parameterPart.EncodeSlashes, GetParameterTransformer(parameterPart))) { if (j != 0 && parameterPart.IsOptional && (separatorPart = segment.Parts[j - 1] as RoutePatternSeparatorPart) != null) { @@ -310,6 +314,26 @@ namespace Microsoft.AspNetCore.Routing.Template return true; } + private IParameterTransformer GetParameterTransformer(RoutePatternParameterPart parameterPart) + { + if (_parameterPolicyFactory == null) + { + return null; + } + + for (var i = 0; i < parameterPart.ParameterPolicies.Count; i++) + { + // Use the first parameter transformer + var parameterPolicy = _parameterPolicyFactory.Create(parameterPart, parameterPart.ParameterPolicies[i]); + if (parameterPolicy is IParameterTransformer parameterTransformer) + { + return parameterTransformer; + } + } + + return null; + } + private bool AddQueryKeyValueToContext(UriBuildingContext context, string key, object value, bool wroteFirst) { var converted = Convert.ToString(value, CultureInfo.InvariantCulture); diff --git a/test/Microsoft.AspNetCore.Routing.Tests/DefaultLinkGeneratorTest.cs b/test/Microsoft.AspNetCore.Routing.Tests/DefaultLinkGeneratorTest.cs index 75b93f157e..6acd5b8656 100644 --- a/test/Microsoft.AspNetCore.Routing.Tests/DefaultLinkGeneratorTest.cs +++ b/test/Microsoft.AspNetCore.Routing.Tests/DefaultLinkGeneratorTest.cs @@ -253,6 +253,35 @@ namespace Microsoft.AspNetCore.Routing Assert.Equal("/Foo/Bar%3Fencodeme%3F/Home/In%3Fdex?query=some%3Fquery#Fragment?", path); } + private class UpperCaseParameterTransform : IParameterTransformer + { + public string Transform(string value) + { + return value?.ToUpperInvariant(); + } + } + + [Fact] + public void GetLink_ParameterTransformer() + { + // Arrange + var endpoint = EndpointFactory.CreateRouteEndpoint("{controller:upper-case}/{name}"); + + var routeOptions = new RouteOptions(); + routeOptions.ConstraintMap["upper-case"] = typeof(UpperCaseParameterTransform); + + var services = GetBasicServices(); + services.AddSingleton(typeof(UpperCaseParameterTransform), new UpperCaseParameterTransform()); + + var linkGenerator = CreateLinkGenerator(routeOptions, services, endpoint); + + // Act + var link = linkGenerator.GetPathByRouteValues(routeName: null, new { controller = "Home", name = "Test" }); + + // Assert + Assert.Equal("/HOME/Test", link); + } + // Includes characters that need to be encoded [Fact] public void GetPathByAddress_WithHttpContext_WithPathBaseAndFragment() diff --git a/test/Microsoft.AspNetCore.Routing.Tests/Internal/UriBuildingContextTest.cs b/test/Microsoft.AspNetCore.Routing.Tests/Internal/UriBuildingContextTest.cs index 137520051c..a23c2ab940 100644 --- a/test/Microsoft.AspNetCore.Routing.Tests/Internal/UriBuildingContextTest.cs +++ b/test/Microsoft.AspNetCore.Routing.Tests/Internal/UriBuildingContextTest.cs @@ -18,7 +18,7 @@ namespace Microsoft.AspNetCore.Routing.Internal var uriBuilldingContext = new UriBuildingContext(urlTestEncoder); // Act - uriBuilldingContext.EncodeValue(value, 0, value.Length, encodeSlashes: true); + uriBuilldingContext.EncodeValue(value, 0, value.Length, encodeSlashes: true, parameterTransformer: null); // Assert Assert.Equal(expected, uriBuilldingContext.ToString()); @@ -34,7 +34,7 @@ namespace Microsoft.AspNetCore.Routing.Internal var uriBuilldingContext = new UriBuildingContext(urlTestEncoder); // Act - uriBuilldingContext.EncodeValue(value, 0, value.Length, encodeSlashes: false); + uriBuilldingContext.EncodeValue(value, 0, value.Length, encodeSlashes: false, parameterTransformer: null); // Assert Assert.Equal(expected, uriBuilldingContext.ToString()); @@ -60,7 +60,7 @@ namespace Microsoft.AspNetCore.Routing.Internal var uriBuilldingContext = new UriBuildingContext(urlTestEncoder); // Act - uriBuilldingContext.EncodeValue(value, startIndex, characterCount, encodeSlashes: false); + uriBuilldingContext.EncodeValue(value, startIndex, characterCount, encodeSlashes: false, parameterTransformer: null); // Assert Assert.Equal(expected, uriBuilldingContext.ToString()); diff --git a/test/Microsoft.AspNetCore.Routing.Tests/LinkGeneratorTestBase.cs b/test/Microsoft.AspNetCore.Routing.Tests/LinkGeneratorTestBase.cs index 4864467409..09bca2f3cc 100644 --- a/test/Microsoft.AspNetCore.Routing.Tests/LinkGeneratorTestBase.cs +++ b/test/Microsoft.AspNetCore.Routing.Tests/LinkGeneratorTestBase.cs @@ -27,7 +27,7 @@ namespace Microsoft.AspNetCore.Routing return httpContext; } - private ServiceCollection GetBasicServices() + protected ServiceCollection GetBasicServices() { var services = new ServiceCollection(); services.AddSingleton(); diff --git a/test/Microsoft.AspNetCore.Routing.Tests/RouteTest.cs b/test/Microsoft.AspNetCore.Routing.Tests/RouteTest.cs index 81e20b041f..668a54ee8a 100644 --- a/test/Microsoft.AspNetCore.Routing.Tests/RouteTest.cs +++ b/test/Microsoft.AspNetCore.Routing.Tests/RouteTest.cs @@ -1582,7 +1582,6 @@ namespace Microsoft.AspNetCore.Routing // Assert var templateRoute = (Route)routeBuilder.Routes[0]; - // Assert Assert.Equal(expectedDictionary.Count, templateRoute.DataTokens.Count); foreach (var expectedKey in expectedDictionary.Keys) { @@ -1591,6 +1590,22 @@ namespace Microsoft.AspNetCore.Routing } } + [Fact] + public void RegisteringRoute_WithParameterPolicy_AbleToAddTheRoute() + { + // Arrange + var routeBuilder = CreateRouteBuilder(); + + // Act + routeBuilder.MapRoute("mockName", + "{controller:test-policy}/{action}"); + + // Assert + var templateRoute = (Route)routeBuilder.Routes[0]; + + Assert.Empty(templateRoute.Constraints); + } + [Fact] public void RegisteringRouteWithInvalidConstraints_Throws() { @@ -1752,6 +1767,8 @@ namespace Microsoft.AspNetCore.Routing var services = new ServiceCollection(); services.AddSingleton(_inlineConstraintResolver); services.AddSingleton(); + services.AddSingleton(); + services.Configure(ConfigureRouteOptions); var applicationBuilder = Mock.Of(); applicationBuilder.ApplicationServices = services.BuildServiceProvider(); @@ -1837,12 +1854,24 @@ namespace Microsoft.AspNetCore.Routing private static IInlineConstraintResolver GetInlineConstraintResolver() { - var routeOptions = new Mock>(); - routeOptions - .SetupGet(o => o.Value) - .Returns(new RouteOptions()); + var routeOptions = new RouteOptions(); + ConfigureRouteOptions(routeOptions); - return new DefaultInlineConstraintResolver(routeOptions.Object, new TestServiceProvider()); + var routeOptionsMock = new Mock>(); + routeOptionsMock + .SetupGet(o => o.Value) + .Returns(routeOptions); + + return new DefaultInlineConstraintResolver(routeOptionsMock.Object, new TestServiceProvider()); + } + + private static void ConfigureRouteOptions(RouteOptions options) + { + options.ConstraintMap["test-policy"] = typeof(TestPolicy); + } + + private class TestPolicy : IParameterPolicy + { } } } diff --git a/test/Microsoft.AspNetCore.Routing.Tests/Template/TemplateBinderTests.cs b/test/Microsoft.AspNetCore.Routing.Tests/Template/TemplateBinderTests.cs index c3e4ebcb8c..9186b31e39 100644 --- a/test/Microsoft.AspNetCore.Routing.Tests/Template/TemplateBinderTests.cs +++ b/test/Microsoft.AspNetCore.Routing.Tests/Template/TemplateBinderTests.cs @@ -6,6 +6,7 @@ using System.Collections.Generic; using System.Linq; using System.Text.Encodings.Web; using Microsoft.AspNetCore.Routing.Internal; +using Microsoft.AspNetCore.Routing.Patterns; using Microsoft.Extensions.DependencyInjection; using Microsoft.Extensions.ObjectPool; using Microsoft.Extensions.Options; @@ -1288,6 +1289,43 @@ namespace Microsoft.AspNetCore.Routing.Template.Tests Assert.Equal(expected, boundTemplate); } + [Fact] + public void BindValues_ParameterTransformer() + { + // Arrange + var routeOptions = new RouteOptions(); + routeOptions.ConstraintMap["test-transformer"] = typeof(TestParameterTransformer); + var parameterPolicyFactory = new DefaultParameterPolicyFactory( + Options.Create(routeOptions), + new ServiceCollection().BuildServiceProvider()); + var expected = "/ConventionalTansformerRoute/_ConventionalTansformer_/Param/_value_"; + var template = "ConventionalTansformerRoute/_ConventionalTansformer_/Param/{param:length(500):test-transformer?}"; + var defaults = new RouteValueDictionary(new { controller = "ConventionalTansformer", action = "Param" }); + var ambientValues = new RouteValueDictionary(new { controller = "ConventionalTansformer", action = "Param" }); + var explicitValues = new RouteValueDictionary(new { controller = "ConventionalTansformer", action = "Param", param = "value" }); + var binder = new TemplateBinder( + UrlEncoder.Default, + new DefaultObjectPoolProvider().Create(new UriBuilderContextPooledObjectPolicy()), + RoutePatternFactory.Parse(template), + defaults, + parameterPolicyFactory); + + // Act + var result = binder.GetValues(ambientValues, explicitValues); + var boundTemplate = binder.BindValues(result.AcceptedValues); + + // Assert + Assert.Equal(expected, boundTemplate); + } + + private class TestParameterTransformer : IParameterTransformer + { + public string Transform(string value) + { + return "_" + value + "_"; + } + } + private static IInlineConstraintResolver GetInlineConstraintResolver() { var services = new ServiceCollection().AddOptions(); diff --git a/test/Microsoft.AspNetCore.Routing.Tests/TemplateParserDefaultValuesTests.cs b/test/Microsoft.AspNetCore.Routing.Tests/TemplateParserDefaultValuesTests.cs index a8c09c60ff..ac3d032491 100644 --- a/test/Microsoft.AspNetCore.Routing.Tests/TemplateParserDefaultValuesTests.cs +++ b/test/Microsoft.AspNetCore.Routing.Tests/TemplateParserDefaultValuesTests.cs @@ -132,6 +132,8 @@ namespace Microsoft.AspNetCore.Routing.Tests var services = new ServiceCollection(); services.AddSingleton(_inlineConstraintResolver); services.AddSingleton(); + services.AddSingleton(); + services.Configure(options => { }); var applicationBuilder = Mock.Of(); applicationBuilder.ApplicationServices = services.BuildServiceProvider(); From 9a68f48a5cd79916f2529f139bac39ebeba8e7a5 Mon Sep 17 00:00:00 2001 From: Ryan Nowak Date: Thu, 13 Sep 2018 14:33:06 -0700 Subject: [PATCH 172/221] Minor improvments to RVD perf --- .../RouteValueDictionaryBenchmark.cs | 75 ++++-- .../RouteValueDictionary.cs | 160 +++++++++---- .../RouteValueDictionaryTests.cs | 215 +++++++++++++++++- 3 files changed, 391 insertions(+), 59 deletions(-) diff --git a/benchmarks/Microsoft.AspNetCore.Routing.Performance/RouteValueDictionaryBenchmark.cs b/benchmarks/Microsoft.AspNetCore.Routing.Performance/RouteValueDictionaryBenchmark.cs index 656a742367..522d8d3ed4 100644 --- a/benchmarks/Microsoft.AspNetCore.Routing.Performance/RouteValueDictionaryBenchmark.cs +++ b/benchmarks/Microsoft.AspNetCore.Routing.Performance/RouteValueDictionaryBenchmark.cs @@ -8,11 +8,11 @@ namespace Microsoft.AspNetCore.Routing { public class RouteValueDictionaryBenchmark { - // These dictionaries are used by a few tests over and over, so don't modify them destructively. private RouteValueDictionary _arrayValues; private RouteValueDictionary _propertyValues; - [GlobalSetup] + // We modify the route value dictionaries in many of these benchmarks. + [IterationSetup] public void Setup() { _arrayValues = new RouteValueDictionary() @@ -27,18 +27,57 @@ namespace Microsoft.AspNetCore.Routing [Benchmark] public RouteValueDictionary AddSingleItem() { - var dictionary = new RouteValueDictionary(); - dictionary.Add("action", "Index"); + var dictionary = new RouteValueDictionary + { + { "action", "Index" } + }; return dictionary; } [Benchmark] public RouteValueDictionary AddThreeItems() { - var dictionary = new RouteValueDictionary(); - dictionary.Add("action", "Index"); - dictionary.Add("controller", "Home"); - dictionary.Add("id", "15"); + var dictionary = new RouteValueDictionary + { + { "action", "Index" }, + { "controller", "Home" }, + { "id", "15" } + }; + return dictionary; + } + + [Benchmark] + public RouteValueDictionary ConditionalAdd_ContainsKeyAdd() + { + var dictionary = _arrayValues; + + if (!dictionary.ContainsKey("action")) + { + dictionary.Add("action", "Index"); + } + + if (!dictionary.ContainsKey("controller")) + { + dictionary.Add("controller", "Home"); + } + + if (!dictionary.ContainsKey("area")) + { + dictionary.Add("area", "Admin"); + } + + return dictionary; + } + + [Benchmark] + public RouteValueDictionary ConditionalAdd_TryAdd() + { + var dictionary = _arrayValues; + + dictionary.TryAdd("action", "Index"); + dictionary.TryAdd("controller", "Home"); + dictionary.TryAdd("area", "Admin"); + return dictionary; } @@ -56,7 +95,7 @@ namespace Microsoft.AspNetCore.Routing [Benchmark] public RouteValueDictionary ForEachThreeItems_Properties() { - var dictionary = _arrayValues; + var dictionary = _propertyValues; foreach (var kvp in dictionary) { GC.KeepAlive(kvp.Value); @@ -87,8 +126,10 @@ namespace Microsoft.AspNetCore.Routing [Benchmark] public RouteValueDictionary SetSingleItem() { - var dictionary = new RouteValueDictionary(); - dictionary["action"] = "Index"; + var dictionary = new RouteValueDictionary + { + ["action"] = "Index" + }; return dictionary; } @@ -103,10 +144,12 @@ namespace Microsoft.AspNetCore.Routing [Benchmark] public RouteValueDictionary SetThreeItems() { - var dictionary = new RouteValueDictionary(); - dictionary["action"] = "Index"; - dictionary["controller"] = "Home"; - dictionary["id"] = "15"; + var dictionary = new RouteValueDictionary + { + ["action"] = "Index", + ["controller"] = "Home", + ["id"] = "15" + }; return dictionary; } @@ -136,4 +179,4 @@ namespace Microsoft.AspNetCore.Routing return dictionary; } } -} +} \ No newline at end of file diff --git a/src/Microsoft.AspNetCore.Routing.Abstractions/RouteValueDictionary.cs b/src/Microsoft.AspNetCore.Routing.Abstractions/RouteValueDictionary.cs index 2d30f6f25f..837e466d28 100644 --- a/src/Microsoft.AspNetCore.Routing.Abstractions/RouteValueDictionary.cs +++ b/src/Microsoft.AspNetCore.Routing.Abstractions/RouteValueDictionary.cs @@ -155,9 +155,9 @@ namespace Microsoft.AspNetCore.Routing { get { - if (string.IsNullOrEmpty(key)) + if (key == null) { - throw new ArgumentNullException(nameof(key)); + ThrowArgumentNullExceptionForKey(); } object value; @@ -167,9 +167,9 @@ namespace Microsoft.AspNetCore.Routing set { - if (string.IsNullOrEmpty(key)) + if (key == null) { - throw new ArgumentNullException(nameof(key)); + ThrowArgumentNullExceptionForKey(); } // We're calling this here for the side-effect of converting from properties @@ -177,7 +177,7 @@ namespace Microsoft.AspNetCore.Routing // property storage is immutable. EnsureCapacity(_count); - var index = FindInArray(key); + var index = FindIndex(key); if (index < 0) { EnsureCapacity(_count + 1); @@ -255,12 +255,12 @@ namespace Microsoft.AspNetCore.Routing { if (key == null) { - throw new ArgumentNullException(nameof(key)); + ThrowArgumentNullExceptionForKey(); } EnsureCapacity(_count + 1); - var index = FindInArray(key); + var index = FindIndex(key); if (index >= 0) { var message = Resources.FormatRouteValueDictionary_DuplicateKey(key, nameof(RouteValueDictionary)); @@ -302,7 +302,7 @@ namespace Microsoft.AspNetCore.Routing { if (key == null) { - throw new ArgumentNullException(nameof(key)); + ThrowArgumentNullExceptionForKey(); } return TryGetValue(key, out var _); @@ -362,7 +362,7 @@ namespace Microsoft.AspNetCore.Routing EnsureCapacity(Count); - var index = FindInArray(item.Key); + var index = FindIndex(item.Key); var array = _arrayStorage; if (index >= 0 && EqualityComparer.Default.Equals(array[index].Value, item.Value)) { @@ -380,7 +380,7 @@ namespace Microsoft.AspNetCore.Routing { if (key == null) { - throw new ArgumentNullException(nameof(key)); + ThrowArgumentNullExceptionForKey(); } if (Count == 0) @@ -390,7 +390,7 @@ namespace Microsoft.AspNetCore.Routing EnsureCapacity(Count); - var index = FindInArray(key); + var index = FindIndex(key); if (index >= 0) { _count--; @@ -404,14 +404,54 @@ namespace Microsoft.AspNetCore.Routing return false; } + /// + /// Attempts to the add the provided and to the dictionary. + /// + /// The key. + /// The value. + /// Returns true if the value was added. Returns false if the key was already present. + public bool TryAdd(string key, object value) + { + if (key == null) + { + ThrowArgumentNullExceptionForKey(); + } + + // Since this is an attempt to write to the dictionary, just make it an array if it isn't. If the code + // path we're on event tries to write to the dictionary, it will likely get 'upgraded' at some point, + // so we do it here to keep the code size and complexity down. + EnsureCapacity(Count); + + var index = FindIndex(key); + if (index >= 0) + { + return false; + } + + EnsureCapacity(Count + 1); + _arrayStorage[Count] = new KeyValuePair(key, value); + _count++; + return true; + } + /// public bool TryGetValue(string key, out object value) { if (key == null) { - throw new ArgumentNullException(nameof(key)); + ThrowArgumentNullExceptionForKey(); } + if (_propertyStorage == null) + { + return TryFindItem(key, out value); + } + + return TryGetValueSlow(key, out value); + } + + private bool TryGetValueSlow(string key, out object value) + { if (_propertyStorage != null) { var storage = _propertyStorage; @@ -423,25 +463,17 @@ namespace Microsoft.AspNetCore.Routing return true; } } - - value = default; - return false; - } - - var array = _arrayStorage; - for (var i = 0; i < _count; i++) - { - if (string.Equals(array[i].Key, key, StringComparison.OrdinalIgnoreCase)) - { - value = array[i].Value; - return true; - } } value = default; return false; } + private static void ThrowArgumentNullExceptionForKey() + { + throw new ArgumentNullException("key"); + } + [MethodImpl(MethodImplOptions.AggressiveInlining)] private void EnsureCapacity(int capacity) { @@ -456,7 +488,10 @@ namespace Microsoft.AspNetCore.Routing if (_propertyStorage != null) { var storage = _propertyStorage; - capacity = Math.Max(storage.Properties.Length, capacity); + + // If we're converting from properties, it's likely due to an 'add' to make sure we have at least + // the default amount of space. + capacity = Math.Max(DefaultCapacity, Math.Max(storage.Properties.Length, capacity)); var array = new KeyValuePair[capacity]; for (var i = 0; i < storage.Properties.Length; i++) @@ -484,10 +519,14 @@ namespace Microsoft.AspNetCore.Routing } [MethodImpl(MethodImplOptions.AggressiveInlining)] - private int FindInArray(string key) + private int FindIndex(string key) { + // Generally the bounds checking here will be elided by the JIT because this will be called + // on the same code path as EnsureCapacity. var array = _arrayStorage; - for (var i = 0; i < _count; i++) + var count = _count; + + for (var i = 0; i < count; i++) { if (string.Equals(array[i].Key, key, StringComparison.OrdinalIgnoreCase)) { @@ -498,9 +537,32 @@ namespace Microsoft.AspNetCore.Routing return -1; } + [MethodImpl(MethodImplOptions.AggressiveInlining)] + private bool TryFindItem(string key, out object value) + { + var array = _arrayStorage; + var count = _count; + + // Elide bounds check for indexing. + if ((uint)count <= (uint)array.Length) + { + for (var i = 0; i < count; i++) + { + if (string.Equals(array[i].Key, key, StringComparison.OrdinalIgnoreCase)) + { + value = array[i].Value; + return true; + } + } + } + + value = null; + return false; + } + public struct Enumerator : IEnumerator> { - private RouteValueDictionary _dictionary; + private readonly RouteValueDictionary _dictionary; private int _index; public Enumerator(RouteValueDictionary dictionary) @@ -513,7 +575,7 @@ namespace Microsoft.AspNetCore.Routing _dictionary = dictionary; Current = default; - _index = -1; + _index = 0; } public KeyValuePair Current { get; private set; } @@ -524,22 +586,36 @@ namespace Microsoft.AspNetCore.Routing { } + // Similar to the design of List.Enumerator - Split into fast path and slow path for inlining friendliness + [MethodImpl(MethodImplOptions.AggressiveInlining)] public bool MoveNext() { - if (++_index < _dictionary.Count) - { - if (_dictionary._propertyStorage != null) - { - var storage = _dictionary._propertyStorage; - var property = storage.Properties[_index]; - Current = new KeyValuePair(property.Name, property.GetValue(storage.Value)); - return true; - } + var dictionary = _dictionary; - Current = _dictionary._arrayStorage[_index]; + // The uncommon case is that the propertyStorage is in use + if (dictionary._propertyStorage == null && ((uint)_index < (uint)dictionary._count)) + { + Current = dictionary._arrayStorage[_index]; + _index++; return true; } + return MoveNextRare(); + } + + private bool MoveNextRare() + { + var dictionary = _dictionary; + if (dictionary._propertyStorage != null && ((uint)_index < (uint)dictionary._count)) + { + var storage = dictionary._propertyStorage; + var property = storage.Properties[_index]; + Current = new KeyValuePair(property.Name, property.GetValue(storage.Value)); + _index++; + return true; + } + + _index = dictionary._count; Current = default; return false; } @@ -547,7 +623,7 @@ namespace Microsoft.AspNetCore.Routing public void Reset() { Current = default; - _index = -1; + _index = 0; } } @@ -595,4 +671,4 @@ namespace Microsoft.AspNetCore.Routing } } } -} +} \ No newline at end of file diff --git a/test/Microsoft.AspNetCore.Mvc.Routing.Abstractions.Tests/RouteValueDictionaryTests.cs b/test/Microsoft.AspNetCore.Mvc.Routing.Abstractions.Tests/RouteValueDictionaryTests.cs index 5cb45fc14c..1d4ec848af 100644 --- a/test/Microsoft.AspNetCore.Mvc.Routing.Abstractions.Tests/RouteValueDictionaryTests.cs +++ b/test/Microsoft.AspNetCore.Mvc.Routing.Abstractions.Tests/RouteValueDictionaryTests.cs @@ -380,6 +380,19 @@ namespace Microsoft.AspNetCore.Routing.Tests Assert.False(result); } + [Fact] + public void IndexGet_EmptyStringIsAllowed() + { + // Arrange + var dict = new RouteValueDictionary(); + + // Act + var value = dict[""]; + + // Assert + Assert.Null(value); + } + [Fact] public void IndexGet_EmptyStorage_ReturnsNull() { @@ -486,6 +499,19 @@ namespace Microsoft.AspNetCore.Routing.Tests Assert.IsType[]>(dict._arrayStorage); } + [Fact] + public void IndexSet_EmptyStringIsAllowed() + { + // Arrange + var dict = new RouteValueDictionary(); + + // Act + dict[""] = "foo"; + + // Assert + Assert.Equal("foo", dict[""]); + } + [Fact] public void IndexSet_EmptyStorage_UpgradesToList() { @@ -747,6 +773,19 @@ namespace Microsoft.AspNetCore.Routing.Tests Assert.IsType[]>(dict._arrayStorage); } + [Fact] + public void Add_EmptyStringIsAllowed() + { + // Arrange + var dict = new RouteValueDictionary(); + + // Act + dict.Add("", "foo"); + + // Assert + Assert.Equal("foo", dict[""]); + } + [Fact] public void Add_PropertyStorage() { @@ -762,6 +801,14 @@ namespace Microsoft.AspNetCore.Routing.Tests kvp => { Assert.Equal("age", kvp.Key); Assert.Equal(30, kvp.Value); }, kvp => { Assert.Equal("key", kvp.Key); Assert.Equal("value", kvp.Value); }); Assert.IsType[]>(dict._arrayStorage); + + // The upgrade from property -> array should make space for at least 4 entries + Assert.Collection( + dict._arrayStorage, + kvp => Assert.Equal(new KeyValuePair("age", 30), kvp), + kvp => Assert.Equal(new KeyValuePair("key", "value"), kvp), + kvp => Assert.Equal(default, kvp), + kvp => Assert.Equal(default, kvp)); } [Fact] @@ -994,6 +1041,19 @@ namespace Microsoft.AspNetCore.Routing.Tests Assert.False(result); } + [Fact] + public void ContainsKey_EmptyStringIsAllowed() + { + // Arrange + var dict = new RouteValueDictionary(); + + // Act + var result = dict.ContainsKey(""); + + // Assert + Assert.False(result); + } + [Fact] public void ContainsKey_PropertyStorage_False() { @@ -1206,6 +1266,19 @@ namespace Microsoft.AspNetCore.Routing.Tests Assert.False(result); } + [Fact] + public void Remove_EmptyStringIsAllowed() + { + // Arrange + var dict = new RouteValueDictionary(); + + // Act + var result = dict.Remove(""); + + // Assert + Assert.False(result); + } + [Fact] public void Remove_PropertyStorage_Empty() { @@ -1320,6 +1393,132 @@ namespace Microsoft.AspNetCore.Routing.Tests Assert.IsType[]>(dict._arrayStorage); } + [Fact] + public void TryAdd_EmptyStringIsAllowed() + { + // Arrange + var dict = new RouteValueDictionary(); + + // Act + var result = dict.TryAdd("", "foo"); + + // Assert + Assert.True(result); + } + + // We always 'upgrade' if you are trying to write to the dictionary. + [Fact] + public void TryAdd_ConvertsPropertyStorage_ToArrayStorage() + { + // Arrange + var dict = new RouteValueDictionary(new { key = "value", }); + + // Act + var result = dict.TryAdd("key", "value"); + + // Assert + Assert.False(result); + Assert.Null(dict._propertyStorage); + Assert.Collection( + dict._arrayStorage, + kvp => Assert.Equal(new KeyValuePair("key", "value"), kvp), + kvp => Assert.Equal(default, kvp), + kvp => Assert.Equal(default, kvp), + kvp => Assert.Equal(default, kvp)); + } + + [Fact] + public void TryAdd_EmptyStorage_CanAdd() + { + // Arrange + var dict = new RouteValueDictionary(); + + // Act + var result = dict.TryAdd("key", "value"); + + // Assert + Assert.True(result); + Assert.Collection( + dict._arrayStorage, + kvp => Assert.Equal(new KeyValuePair("key", "value"), kvp), + kvp => Assert.Equal(default, kvp), + kvp => Assert.Equal(default, kvp), + kvp => Assert.Equal(default, kvp)); + } + + [Fact] + public void TryAdd_ArrayStorage_CanAdd() + { + // Arrange + var dict = new RouteValueDictionary() + { + { "key0", "value0" }, + }; + + // Act + var result = dict.TryAdd("key1", "value1"); + + // Assert + Assert.True(result); + Assert.Collection( + dict._arrayStorage, + kvp => Assert.Equal(new KeyValuePair("key0", "value0"), kvp), + kvp => Assert.Equal(new KeyValuePair("key1", "value1"), kvp), + kvp => Assert.Equal(default, kvp), + kvp => Assert.Equal(default, kvp)); + } + + [Fact] + public void TryAdd_ArrayStorage_CanAddWithResize() + { + // Arrange + var dict = new RouteValueDictionary() + { + { "key0", "value0" }, + { "key1", "value1" }, + { "key2", "value2" }, + { "key3", "value3" }, + }; + + // Act + var result = dict.TryAdd("key4", "value4"); + + // Assert + Assert.True(result); + Assert.Collection( + dict._arrayStorage, + kvp => Assert.Equal(new KeyValuePair("key0", "value0"), kvp), + kvp => Assert.Equal(new KeyValuePair("key1", "value1"), kvp), + kvp => Assert.Equal(new KeyValuePair("key2", "value2"), kvp), + kvp => Assert.Equal(new KeyValuePair("key3", "value3"), kvp), + kvp => Assert.Equal(new KeyValuePair("key4", "value4"), kvp), + kvp => Assert.Equal(default, kvp), + kvp => Assert.Equal(default, kvp), + kvp => Assert.Equal(default, kvp)); + } + + [Fact] + public void TryAdd_ArrayStorage_DoesNotAddWhenKeyIsPresent() + { + // Arrange + var dict = new RouteValueDictionary() + { + { "key0", "value0" }, + }; + + // Act + var result = dict.TryAdd("key0", "value1"); + + // Assert + Assert.False(result); + Assert.Collection( + dict._arrayStorage, + kvp => Assert.Equal(new KeyValuePair("key0", "value0"), kvp), + kvp => Assert.Equal(default, kvp), + kvp => Assert.Equal(default, kvp), + kvp => Assert.Equal(default, kvp)); + } + [Fact] public void TryGetValue_EmptyStorage() { @@ -1335,6 +1534,20 @@ namespace Microsoft.AspNetCore.Routing.Tests Assert.Null(value); } + [Fact] + public void TryGetValue_EmptyStringIsAllowed() + { + // Arrange + var dict = new RouteValueDictionary(); + + // Act + var result = dict.TryGetValue("", out var value); + + // Assert + Assert.False(result); + Assert.Null(value); + } + [Fact] public void TryGetValue_PropertyStorage_False() { @@ -1618,4 +1831,4 @@ namespace Microsoft.AspNetCore.Routing.Tests public string State { get; set; } } } -} +} \ No newline at end of file From 426a48a65a015778d3bd2c544975ee9ef0e7a210 Mon Sep 17 00:00:00 2001 From: Ryan Nowak Date: Fri, 7 Sep 2018 15:12:20 -0700 Subject: [PATCH 173/221] Performance improvments to LinkGenerator and TemplateBinder --- .gitignore | 1 + .../LinkGenerationGithubBenchmark.cs | 7 + .../DefaultLinkGenerator.cs | 47 +- .../Patterns/RoutePatternMatcher.cs | 4 + src/Microsoft.AspNetCore.Routing/RouteBase.cs | 9 + .../Template/TemplateBinder.cs | 521 +++++++++--------- .../DefaultLinkGeneratorTest.cs | 48 +- ...neratorRouteValuesAddressExtensionsTest.cs | 56 +- .../LinkGeneratorTestBase.cs | 51 +- .../Template/TemplateBinderTests.cs | 1 + 10 files changed, 440 insertions(+), 305 deletions(-) diff --git a/.gitignore b/.gitignore index d3ebe6b4bc..e6a9de2f95 100644 --- a/.gitignore +++ b/.gitignore @@ -40,3 +40,4 @@ node_modules *launchSettings.json global.json BenchmarkDotNet.Artifacts/ +*.etl.zip diff --git a/benchmarks/Microsoft.AspNetCore.Routing.Performance/LinkGeneration/LinkGenerationGithubBenchmark.cs b/benchmarks/Microsoft.AspNetCore.Routing.Performance/LinkGeneration/LinkGenerationGithubBenchmark.cs index f2b8df799f..32e05549c2 100644 --- a/benchmarks/Microsoft.AspNetCore.Routing.Performance/LinkGeneration/LinkGenerationGithubBenchmark.cs +++ b/benchmarks/Microsoft.AspNetCore.Routing.Performance/LinkGeneration/LinkGenerationGithubBenchmark.cs @@ -44,6 +44,13 @@ namespace Microsoft.AspNetCore.Routing.LinkGeneration } [Benchmark(Baseline = true)] + public void Baseline() + { + var url = $"/repos/{_lookUpValues["owner"]}/{_lookUpValues["repo"]}/issues/comments/{_lookUpValues["commentId"]}"; + AssertUrl("/repos/aspnet/routing/issues/comments/20202", url); + } + + [Benchmark] public void TreeRouter() { var virtualPathData = _treeRouter.GetVirtualPath(new VirtualPathContext( diff --git a/src/Microsoft.AspNetCore.Routing/DefaultLinkGenerator.cs b/src/Microsoft.AspNetCore.Routing/DefaultLinkGenerator.cs index dc226c2b9c..e251fdff59 100644 --- a/src/Microsoft.AspNetCore.Routing/DefaultLinkGenerator.cs +++ b/src/Microsoft.AspNetCore.Routing/DefaultLinkGenerator.cs @@ -2,6 +2,7 @@ // Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information. using System; +using System.Collections.Concurrent; using System.Collections.Generic; using System.Linq; using System.Text; @@ -29,8 +30,15 @@ namespace Microsoft.AspNetCore.Routing // Used when the user didn't specify something more global. private readonly LinkOptions _globalLinkOptions; + // Caches TemplateBinder instances + private readonly DataSourceDependentCache> _cache; + + // Used to initialize TemplateBinder instances + private readonly Func _createTemplateBinder; + public DefaultLinkGenerator( ParameterPolicyFactory parameterPolicyFactory, + CompositeEndpointDataSource dataSource, ObjectPool uriBuildingContextPool, IOptions routeOptions, ILogger logger, @@ -41,6 +49,18 @@ namespace Microsoft.AspNetCore.Routing _logger = logger; _serviceProvider = serviceProvider; + // We cache TemplateBinder instances per-Endpoint for performance, but we want to wipe out + // that cache is the endpoints change so that we don't allow unbounded memory growth. + _cache = new DataSourceDependentCache>(dataSource, (_) => + { + // We don't eagerly fill this cache because there's no real reason to. Unlike URL matching, we don't + // need to build a big data structure up front to be correct. + return new ConcurrentDictionary(); + }); + + // Cached to avoid per-call allocation of a delegate on lookup. + _createTemplateBinder = CreateTemplateBinder; + _globalLinkOptions = new LinkOptions() { AppendTrailingSlash = routeOptions.Value.AppendTrailingSlash, @@ -258,6 +278,20 @@ namespace Microsoft.AspNetCore.Routing return null; } + private TemplateBinder CreateTemplateBinder(RouteEndpoint endpoint) + { + return new TemplateBinder( + UrlEncoder.Default, + _uriBuildingContextPool, + endpoint.RoutePattern, + new RouteValueDictionary(endpoint.RoutePattern.Defaults), + endpoint.Metadata.GetMetadata()?.RequiredValues.Keys, + _parameterPolicyFactory); + } + + // Internal for testing + internal TemplateBinder GetTemplateBinder(RouteEndpoint endpoint) => _cache.EnsureInitialized().GetOrAdd(endpoint, _createTemplateBinder); + // Internal for testing internal bool TryProcessTemplate( HttpContext httpContext, @@ -267,18 +301,9 @@ namespace Microsoft.AspNetCore.Routing LinkOptions options, out (PathString path, QueryString query) result) { - var templateBinder = new TemplateBinder( - UrlEncoder.Default, - _uriBuildingContextPool, - endpoint.RoutePattern, - new RouteValueDictionary(endpoint.RoutePattern.Defaults), - _parameterPolicyFactory); + var templateBinder = GetTemplateBinder(endpoint); - var routeValuesAddressMetadata = endpoint.Metadata.GetMetadata(); - var templateValuesResult = templateBinder.GetValues( - ambientValues: ambientValues, - explicitValues: explicitValues, - requiredKeys: routeValuesAddressMetadata?.RequiredValues.Keys); + var templateValuesResult = templateBinder.GetValues(ambientValues, explicitValues); if (templateValuesResult == null) { // We're missing one of the required values for this route. diff --git a/src/Microsoft.AspNetCore.Routing/Patterns/RoutePatternMatcher.cs b/src/Microsoft.AspNetCore.Routing/Patterns/RoutePatternMatcher.cs index 7e3597086b..7f90c882af 100644 --- a/src/Microsoft.AspNetCore.Routing/Patterns/RoutePatternMatcher.cs +++ b/src/Microsoft.AspNetCore.Routing/Patterns/RoutePatternMatcher.cs @@ -193,10 +193,14 @@ namespace Microsoft.AspNetCore.Routing // Copy all remaining default values to the route data foreach (var kvp in Defaults) { +#if RVD_TryAdd + values.TryAdd(kvp.Key, kvp.Value); +#else if (!values.ContainsKey(kvp.Key)) { values.Add(kvp.Key, kvp.Value); } +#endif } return true; diff --git a/src/Microsoft.AspNetCore.Routing/RouteBase.cs b/src/Microsoft.AspNetCore.Routing/RouteBase.cs index 6d1eb7bd27..984862e1df 100644 --- a/src/Microsoft.AspNetCore.Routing/RouteBase.cs +++ b/src/Microsoft.AspNetCore.Routing/RouteBase.cs @@ -208,6 +208,14 @@ namespace Microsoft.AspNetCore.Routing { if (parameter.DefaultValue != null) { +#if RVD_TryAdd + if (!result.TryAdd(parameter.Name, parameter.DefaultValue)) + { + throw new InvalidOperationException( + Resources.FormatTemplateRoute_CannotHaveDefaultValueSpecifiedInlineAndExplicitly( + parameter.Name)); + } +#else if (result.ContainsKey(parameter.Name)) { throw new InvalidOperationException( @@ -218,6 +226,7 @@ namespace Microsoft.AspNetCore.Routing { result.Add(parameter.Name, parameter.DefaultValue); } +#endif } } diff --git a/src/Microsoft.AspNetCore.Routing/Template/TemplateBinder.cs b/src/Microsoft.AspNetCore.Routing/Template/TemplateBinder.cs index d5a289edc0..22fb79bc49 100644 --- a/src/Microsoft.AspNetCore.Routing/Template/TemplateBinder.cs +++ b/src/Microsoft.AspNetCore.Routing/Template/TemplateBinder.cs @@ -6,6 +6,8 @@ using System.Collections; using System.Collections.Generic; using System.Diagnostics; using System.Globalization; +using System.Linq; +using System.Runtime.CompilerServices; using System.Text.Encodings.Web; using Microsoft.AspNetCore.Http; using Microsoft.AspNetCore.Routing.Internal; @@ -18,11 +20,17 @@ namespace Microsoft.AspNetCore.Routing.Template { private readonly UrlEncoder _urlEncoder; private readonly ObjectPool _pool; + private readonly ParameterPolicyFactory _parameterPolicyFactory; private readonly RouteValueDictionary _defaults; - private readonly ParameterPolicyFactory _parameterPolicyFactory; - private readonly RouteValueDictionary _filters; + private readonly KeyValuePair[] _filters; private readonly RoutePattern _pattern; + private readonly string[] _requiredKeys; + + // A pre-allocated template for the 'known' route values that this template binder uses. + // + // We always make a copy of this and operate on the copy, so that we don't mutate shared state. + private readonly KeyValuePair[] _slots; /// /// Creates a new instance of . @@ -36,7 +44,7 @@ namespace Microsoft.AspNetCore.Routing.Template ObjectPool pool, RouteTemplate template, RouteValueDictionary defaults) - : this(urlEncoder, pool, template?.ToRoutePattern(), defaults, parameterPolicyFactory: null) + : this(urlEncoder, pool, template?.ToRoutePattern(), defaults, requiredKeys: null, parameterPolicyFactory: null) { } @@ -46,13 +54,15 @@ namespace Microsoft.AspNetCore.Routing.Template /// The . /// The . /// The to bind values to. - /// The default values for . + /// The default values for . Optional. + /// Keys used to determine if the ambient values apply. Optional. /// The . public TemplateBinder( UrlEncoder urlEncoder, ObjectPool pool, RoutePattern pattern, RouteValueDictionary defaults, + IEnumerable requiredKeys, ParameterPolicyFactory parameterPolicyFactory) { if (urlEncoder == null) @@ -75,33 +85,68 @@ namespace Microsoft.AspNetCore.Routing.Template _pattern = pattern; _defaults = defaults; _parameterPolicyFactory = parameterPolicyFactory; + _requiredKeys = requiredKeys?.ToArray() ?? Array.Empty(); + + for (var i = 0; i < _requiredKeys.Length; i++) + { + var requiredKey = _requiredKeys[i]; + if (_pattern.GetParameter(requiredKey) != null) + { + throw new InvalidOperationException( + $"The parameter {requiredKey} can not be used as a required key since it appears as " + + $"a parameter in the route pattern."); + } + } // Any default that doesn't have a corresponding parameter is a 'filter' and if a value // is provided for that 'filter' it must match the value in defaults. - _filters = new RouteValueDictionary(_defaults); + var filters = new RouteValueDictionary(_defaults); foreach (var parameter in _pattern.Parameters) { - _filters.Remove(parameter.Name); + filters.Remove(parameter.Name); } + + _filters = filters.ToArray(); + + _slots = AssignSlots(_pattern, _filters); } // Step 1: Get the list of values we're going to try to use to match and generate this URI public TemplateValuesResult GetValues(RouteValueDictionary ambientValues, RouteValueDictionary values) { - return GetValues(ambientValues: ambientValues, explicitValues: values, requiredKeys: null); - } + // Make a new copy of the slots array, we'll use this as 'scratch' space + // and then the RVD will take ownership of it. + var slots = new KeyValuePair[_slots.Length]; + Array.Copy(_slots, 0, slots, 0, slots.Length); - internal TemplateValuesResult GetValues( - RouteValueDictionary ambientValues, - RouteValueDictionary explicitValues, - IEnumerable requiredKeys) - { - var context = new TemplateBindingContext(_defaults); + // Keeping track of the number of 'values' and 'ambient values' we've processed can be used to avoid doing + // some expensive 'merge' operations later. + var valueProcessedCount = 0; + var ambientValueProcessedCount = 0; - var canCopyParameterAmbientValues = true; + // Start by copying all of the values out of the 'values' and into the slots. There's no success + // case where we *don't* use all of the 'values' so there's no reason not to do this up front + // to avoid visiting the values dictionary again and again. + for (var i = 0; i < slots.Length; i++) + { + var key = slots[i].Key; + if (values.TryGetValue(key, out var value)) + { + // We will need to know later if the value in the 'values' was an null value. + // This affects how we process ambient values. Since the 'slots' are initialized + // with null values, we use the null-object-pattern to track 'explicit null', which means that + // null means omitted. + value = IsRoutePartNonEmpty(value) ? value : SentinullValue.Instance; + slots[i] = new KeyValuePair(key, value); - // In case a route template is not parameterized, we do not know what the required parameters are, so look - // at required values of an endpoint to get the key names and then use them to decide if ambient values + // Track the count of processed values - this allows a fast path later. + valueProcessedCount++; + } + } + + // In Endpoint Routing, patterns can have logical parameters that appear 'to the left' of + // the route template. This governs whether or not the template can be selected (they act like + // filters), and whether the remaining ambient values should be used. // should be used. // For example, in case of MVC it flattens out a route template like below // {controller}/{action}/{id?} @@ -110,52 +155,198 @@ namespace Microsoft.AspNetCore.Routing.Template // defaults: new { controller = "Products", action = "Index" }, // requiredValues: new { controller = "Products", action = "Index" } // In the above example, "controller" and "action" are no longer parameters. - if (requiredKeys != null) + var copyAmbientValues = ambientValues != null; + if (copyAmbientValues) { - canCopyParameterAmbientValues = CanCopyParameterAmbientValues( - ambientValues: ambientValues, - explicitValues: explicitValues, - requiredKeys); + var requiredKeys = _requiredKeys; + for (var i = 0; i < requiredKeys.Length; i++) + { + // For each required key, the values and ambient values need to have the same value. + var key = requiredKeys[i]; + var hasExplicitValue = values.TryGetValue(key, out var value); + + if (ambientValues == null || !ambientValues.TryGetValue(key, out var ambientValue)) + { + ambientValue = null; + } + else + { + // Track the count of processed ambient values - this allows a fast path later. + ambientValueProcessedCount++; + } + + if (hasExplicitValue) + { + // Note that we don't increment valueProcessedCount here. We expect required values + // to also be filters, which are tracked when we populate 'slots'. + if (!RoutePartsEqual(value, ambientValue)) + { + copyAmbientValues = false; + break; + } + } + } } - if (canCopyParameterAmbientValues) + // We can now process the rest of the parameters (from left to right) and copy the ambient + // values as long as the conditions are met. + // + // Find out which entries in the URI are valid for the URI we want to generate. + // If the URI had ordered parameters a="1", b="2", c="3" and the new values + // specified that b="9", then we need to invalidate everything after it. The new + // values should then be a="1", b="9", c=. + // + // We also handle the case where a parameter is optional but has no value - we shouldn't + // accept additional parameters that appear *after* that parameter. + var parameters = _pattern.Parameters; + var parameterCount = _pattern.Parameters.Count; + for (var i = 0; i < parameterCount; i++) { - // Copy ambient values when no explicit values are provided - CopyParameterAmbientValues( - ambientValues: ambientValues, - explicitValues: explicitValues, - context); - } + var key = slots[i].Key; + var value = slots[i].Value; - // Add all remaining new values to the list of values we will use for URI generation - CopyNonParamaterExplicitValues(explicitValues, context); + // Whether or not the value was explicitly provided is signficant when comparing + // ambient values. Remember that we're using a special sentinel value so that we + // can tell the difference between an omitted value and an explicitly specified null. + var hasExplicitValue = value != null; - // Accept all remaining default values if they match a required parameter - CopyParameterDefaultValues(context); + var hasAmbientValue = false; + var ambientValue = (object)null; - if (!AllRequiredParametersHaveValue(context)) - { - return null; + var parameter = parameters[i]; + + if (copyAmbientValues) + { + hasAmbientValue = ambientValues != null && ambientValues.TryGetValue(key, out ambientValue); + if (hasAmbientValue) + { + // Track the count of processed ambient values - this allows a fast path later. + ambientValueProcessedCount++; + } + + if (hasExplicitValue && hasAmbientValue && !RoutePartsEqual(ambientValue, value)) + { + // Stop copying current values when we find one that doesn't match + copyAmbientValues = false; + } + + if (!hasExplicitValue && + !hasAmbientValue && + _defaults?.ContainsKey(parameter.Name) != true) + { + // This is an unsatisfied parameter value and there are no defaults. We might still + // be able to generate a URL but we should stop 'accepting' ambient values. + // + // This might be a case like: + // template: a/{b?}/{c?} + // ambient: { c = 17 } + // values: { } + // + // We can still generate a URL from this ("/a") but we shouldn't accept 'c' because + // we can't use it. + // + // In the example above we should fall into this block for 'b'. + copyAmbientValues = false; + } + } + + // If the parameter is a match, add it to the list of values we will use for URI generation + if (hasExplicitValue && !ReferenceEquals(value, SentinullValue.Instance)) + { + // Already has a value in the list, do nothing + } + else if (copyAmbientValues && hasAmbientValue) + { + slots[i] = new KeyValuePair(key, ambientValue); + } + else if (parameter.IsOptional || parameter.IsCatchAll) + { + // Value isn't needed for optional or catchall parameters - wipe out the key, so it + // will be omitted from the RVD. + slots[i] = default; + } + else if (_defaults != null && _defaults.TryGetValue(parameter.Name, out var defaultValue)) + { + + // Add the default value only if there isn't already a new value for it and + // only if it actually has a default value. + slots[i] = new KeyValuePair(key, defaultValue); + } + else + { + // If we get here, this parameter needs a value, but doesn't have one. This is a + // failure case. + return null; + } } // Any default values that don't appear as parameters are treated like filters. Any new values // provided must match these defaults. - if (!FiltersMatch(explicitValues)) + var filters = _filters; + for (var i = 0; i < filters.Length; i++) { - return null; + var key = filters[i].Key; + var value = slots[i + parameterCount].Value; + + // We use a sentinel value here so we can track the different between omission and explicit null. + // 'real null' means that the value was omitted. + var hasExplictValue = value != null; + if (hasExplictValue) + { + // If there is a non-parameterized value in the route and there is a + // new value for it and it doesn't match, this route won't match. + if (!RoutePartsEqual(value, filters[i].Value)) + { + return null; + } + } + else + { + // If no value was provided, then blank out this slot so that it doesn't show up in accepted values. + slots[i + parameterCount] = default; + } } - // Add any ambient values that don't match parameters - they need to be visible to constraints - // but they will ignored by link generation. - var combinedValues = new RouteValueDictionary(context.AcceptedValues); - CopyNonParameterAmbientValues( - ambientValues: ambientValues, - combinedValues: combinedValues, - context); + // At this point we've captured all of the 'known' route values, but we have't + // handled an extra route values that were provided in 'values'. These all + // need to be included in the accepted values. + var acceptedValues = RouteValueDictionary.FromArray(slots); + + if (valueProcessedCount < values.Count) + { + // There are some values in 'value' that are unaccounted for, merge them into + // the dictionary. + foreach (var kvp in values) + { + if (!_defaults.ContainsKey(kvp.Key)) + { +#if RVD_TryAdd + acceptedValues.TryAdd(kvp.Key, kvp.Value); +#else + if (!acceptedValues.ContainsKey(kvp.Key)) + { + acceptedValues.Add(kvp.Key, kvp.Value); + } +#endif + } + } + } + + // Currently this copy is required because BindValues will mutate the accepted values :( + var combinedValues = new RouteValueDictionary(acceptedValues); + if (ambientValueProcessedCount < (ambientValues?.Count ?? 0)) + { + // Add any ambient values that don't match parameters - they need to be visible to constraints + // but they will ignored by link generation. + CopyNonParameterAmbientValues( + ambientValues: ambientValues, + acceptedValues: acceptedValues, + combinedValues: combinedValues); + } return new TemplateValuesResult() { - AcceptedValues = context.AcceptedValues, + AcceptedValues = acceptedValues, CombinedValues = combinedValues, }; } @@ -362,8 +553,8 @@ namespace Microsoft.AspNetCore.Routing.Template /// True if the object are equal, otherwise false. public static bool RoutePartsEqual(object a, object b) { - var sa = a as string; - var sb = b as string; + var sa = a as string ?? (ReferenceEquals(SentinullValue.Instance, a) ? string.Empty : null); + var sb = b as string ?? (ReferenceEquals(SentinullValue.Instance, b) ? string.Empty : null); // In case of strings, consider empty and null the same. // Since null cannot tell us the type, consider it to be a string if the other value is a string. @@ -391,190 +582,31 @@ namespace Microsoft.AspNetCore.Routing.Template } } - private static bool IsRoutePartNonEmpty(object routePart) + [MethodImpl(MethodImplOptions.AggressiveInlining)] + private static bool IsRoutePartNonEmpty(object part) { - var routePartString = routePart as string; - if (routePartString == null) + if (part == null) { - return routePart != null; + return false; } - else + + if (ReferenceEquals(SentinullValue.Instance, part)) { - return routePartString.Length > 0; + return false; } - } - private bool CanCopyParameterAmbientValues( - RouteValueDictionary ambientValues, - RouteValueDictionary explicitValues, - IEnumerable requiredKeys) - { - foreach (var keyName in requiredKeys) + if (part is string stringPart && stringPart.Length == 0) { - if (!explicitValues.TryGetValue(keyName, out var explicitValue)) - { - continue; - } - - object ambientValue = null; - var hasAmbientValue = ambientValues != null && - ambientValues.TryGetValue(keyName, out ambientValue); - - // This indicates an explicit value was provided whose key does not exist in ambient values - // Example: Link from controller-action to a page or vice versa. - if (!hasAmbientValue) - { - return false; - } - - if (!RoutePartsEqual(ambientValue, explicitValue)) - { - return false; - } + return false; } - return true; - } - private void CopyParameterAmbientValues( - RouteValueDictionary ambientValues, - RouteValueDictionary explicitValues, - TemplateBindingContext context) - { - // Find out which entries in the URI are valid for the URI we want to generate. - // If the URI had ordered parameters a="1", b="2", c="3" and the new values - // specified that b="9", then we need to invalidate everything after it. The new - // values should then be a="1", b="9", c=. - // - // We also handle the case where a parameter is optional but has no value - we shouldn't - // accept additional parameters that appear *after* that parameter. - - for (var i = 0; i < _pattern.Parameters.Count; i++) - { - var parameter = _pattern.Parameters[i]; - - // If it's a parameter subsegment, examine the current value to see if it matches the new value - var parameterName = parameter.Name; - - var hasExplicitValue = explicitValues.TryGetValue(parameterName, out var explicitValue); - - object ambientValue = null; - var hasAmbientValue = ambientValues != null && - ambientValues.TryGetValue(parameterName, out ambientValue); - - if (hasExplicitValue && hasAmbientValue && !RoutePartsEqual(ambientValue, explicitValue)) - { - // Stop copying current values when we find one that doesn't match - break; - } - - if (!hasExplicitValue && - !hasAmbientValue && - _defaults?.ContainsKey(parameter.Name) != true) - { - // This is an unsatisfied parameter value and there are no defaults. We might still - // be able to generate a URL but we should stop 'accepting' ambient values. - // - // This might be a case like: - // template: a/{b?}/{c?} - // ambient: { c = 17 } - // values: { } - // - // We can still generate a URL from this ("/a") but we shouldn't accept 'c' because - // we can't use it. - // - // In the example above we should fall into this block for 'b'. - break; - } - - // If the parameter is a match, add it to the list of values we will use for URI generation - if (hasExplicitValue) - { - if (IsRoutePartNonEmpty(explicitValue)) - { - context.Accept(parameterName, explicitValue); - } - } - else if (hasAmbientValue) - { - context.Accept(parameterName, ambientValue); - } - } - } - - private void CopyNonParamaterExplicitValues(RouteValueDictionary explicitValues, TemplateBindingContext context) - { - foreach (var kvp in explicitValues) - { - if (IsRoutePartNonEmpty(kvp.Value)) - { - context.Accept(kvp.Key, kvp.Value); - } - } - } - - private void CopyParameterDefaultValues(TemplateBindingContext context) - { - for (var i = 0; i < _pattern.Parameters.Count; i++) - { - var parameter = _pattern.Parameters[i]; - if (parameter.IsOptional || parameter.IsCatchAll) - { - continue; - } - - if (context.NeedsValue(parameter.Name)) - { - // Add the default value only if there isn't already a new value for it and - // only if it actually has a default value, which we determine based on whether - // the parameter value is required. - context.AcceptDefault(parameter.Name); - } - } - } - - private bool AllRequiredParametersHaveValue(TemplateBindingContext context) - { - for (var i = 0; i < _pattern.Parameters.Count; i++) - { - var parameter = _pattern.Parameters[i]; - if (parameter.IsOptional || parameter.IsCatchAll) - { - continue; - } - - if (!context.AcceptedValues.ContainsKey(parameter.Name)) - { - // We don't have a value for this parameter, so we can't generate a url. - return false; - } - } - return true; - } - - private bool FiltersMatch(RouteValueDictionary explicitValues) - { - foreach (var filter in _filters) - { - var parameter = _pattern.GetParameter(filter.Key); - if (parameter != null) - { - continue; - } - - if (explicitValues.TryGetValue(filter.Key, out var value) && !RoutePartsEqual(value, filter.Value)) - { - // If there is a non-parameterized value in the route and there is a - // new value for it and it doesn't match, this route won't match. - return false; - } - } return true; } private void CopyNonParameterAmbientValues( RouteValueDictionary ambientValues, - RouteValueDictionary combinedValues, - TemplateBindingContext context) + RouteValueDictionary acceptedValues, + RouteValueDictionary combinedValues) { if (ambientValues == null) { @@ -586,7 +618,7 @@ namespace Microsoft.AspNetCore.Routing.Template if (IsRoutePartNonEmpty(kvp.Value)) { var parameter = _pattern.GetParameter(kvp.Key); - if (parameter == null && !context.AcceptedValues.ContainsKey(kvp.Key)) + if (parameter == null && !acceptedValues.ContainsKey(kvp.Key)) { combinedValues.Add(kvp.Key, kvp.Value); } @@ -594,51 +626,34 @@ namespace Microsoft.AspNetCore.Routing.Template } } - [DebuggerDisplay("{DebuggerToString(),nq}")] - private struct TemplateBindingContext + private static KeyValuePair[] AssignSlots(RoutePattern pattern, KeyValuePair[] filters) { - private readonly RouteValueDictionary _defaults; - private readonly RouteValueDictionary _acceptedValues; + var slots = new KeyValuePair[pattern.Parameters.Count + filters.Length]; - public TemplateBindingContext(RouteValueDictionary defaults) + for (var i = 0; i < pattern.Parameters.Count; i++) { - _defaults = defaults; - - _acceptedValues = new RouteValueDictionary(); + slots[i] = new KeyValuePair(pattern.Parameters[i].Name, null); } - public RouteValueDictionary AcceptedValues + for (var i = 0; i < filters.Length; i++) { - get { return _acceptedValues; } + slots[i + pattern.Parameters.Count] = new KeyValuePair(filters[i].Key, null); } - public void Accept(string key, object value) + return slots; + } + + // This represents an 'explicit null' in the slots array. + [DebuggerDisplay("explicit null")] + private class SentinullValue + { + public static object Instance = new SentinullValue(); + + private SentinullValue() { - if (!_acceptedValues.ContainsKey(key)) - { - _acceptedValues.Add(key, value); - } } - public void AcceptDefault(string key) - { - Debug.Assert(!_acceptedValues.ContainsKey(key)); - - if (_defaults != null && _defaults.TryGetValue(key, out var value)) - { - _acceptedValues.Add(key, value); - } - } - - public bool NeedsValue(string key) - { - return !_acceptedValues.ContainsKey(key); - } - - private string DebuggerToString() - { - return string.Format("{{Accepted: '{0}'}}", string.Join(", ", _acceptedValues.Keys)); - } + public override string ToString() => string.Empty; } } } diff --git a/test/Microsoft.AspNetCore.Routing.Tests/DefaultLinkGeneratorTest.cs b/test/Microsoft.AspNetCore.Routing.Tests/DefaultLinkGeneratorTest.cs index 6acd5b8656..c882633d2a 100644 --- a/test/Microsoft.AspNetCore.Routing.Tests/DefaultLinkGeneratorTest.cs +++ b/test/Microsoft.AspNetCore.Routing.Tests/DefaultLinkGeneratorTest.cs @@ -1,9 +1,11 @@ // Copyright (c) .NET Foundation. All rights reserved. // Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information. +using System; using System.Collections.Generic; using System.Linq; using Microsoft.AspNetCore.Http; +using Microsoft.AspNetCore.Routing.TestObjects; using Microsoft.Extensions.DependencyInjection; using Xunit; @@ -270,10 +272,12 @@ namespace Microsoft.AspNetCore.Routing var routeOptions = new RouteOptions(); routeOptions.ConstraintMap["upper-case"] = typeof(UpperCaseParameterTransform); - var services = GetBasicServices(); - services.AddSingleton(typeof(UpperCaseParameterTransform), new UpperCaseParameterTransform()); + Action configure = (s) => + { + s.AddSingleton(typeof(UpperCaseParameterTransform), new UpperCaseParameterTransform()); + }; - var linkGenerator = CreateLinkGenerator(routeOptions, services, endpoint); + var linkGenerator = CreateLinkGenerator(routeOptions, configure, endpoint); // Act var link = linkGenerator.GetPathByRouteValues(routeName: null, new { controller = "Home", name = "Test" }); @@ -431,6 +435,44 @@ namespace Microsoft.AspNetCore.Routing e => Assert.Same(endpoint2, e)); } + [Fact] + public void GetTemplateBinder_CanCache() + { + // Arrange + var endpoint1 = EndpointFactory.CreateRouteEndpoint("{controller}/{action}/{id}", metadata: new object[] { new IntMetadata(1), }); + var dataSource = new DynamicEndpointDataSource(endpoint1); + + var linkGenerator = CreateLinkGenerator(dataSources: new[] { dataSource }); + + var expected = linkGenerator.GetTemplateBinder(endpoint1); + + // Act + var actual = linkGenerator.GetTemplateBinder(endpoint1); + + // Assert + Assert.Same(expected, actual); + } + + [Fact] + public void GetTemplateBinder_CanClearCache() + { + // Arrange + var endpoint1 = EndpointFactory.CreateRouteEndpoint("{controller}/{action}/{id}", metadata: new object[] { new IntMetadata(1), }); + var dataSource = new DynamicEndpointDataSource(endpoint1); + + var linkGenerator = CreateLinkGenerator(dataSources: new[] { dataSource }); + var original = linkGenerator.GetTemplateBinder(endpoint1); + + var endpoint2 = EndpointFactory.CreateRouteEndpoint("{controller}/{action}/{id}", metadata: new object[] { new IntMetadata(1), }); + dataSource.AddEndpoint(endpoint2); + + // Act + var actual = linkGenerator.GetTemplateBinder(endpoint1); + + // Assert + Assert.NotSame(original, actual); + } + protected override void AddAdditionalServices(IServiceCollection services) { services.AddSingleton, IntEndpointFinder>(); diff --git a/test/Microsoft.AspNetCore.Routing.Tests/LinkGeneratorRouteValuesAddressExtensionsTest.cs b/test/Microsoft.AspNetCore.Routing.Tests/LinkGeneratorRouteValuesAddressExtensionsTest.cs index 0d3d3d5a50..17d5aa305a 100644 --- a/test/Microsoft.AspNetCore.Routing.Tests/LinkGeneratorRouteValuesAddressExtensionsTest.cs +++ b/test/Microsoft.AspNetCore.Routing.Tests/LinkGeneratorRouteValuesAddressExtensionsTest.cs @@ -21,24 +21,26 @@ namespace Microsoft.AspNetCore.Routing { // Arrange var endpoint1 = EndpointFactory.CreateRouteEndpoint( - "{controller}/{action}/{id}", - metadata: new[] { new RouteValuesAddressMetadata(routeName: null, new RouteValueDictionary(new { controller = "Home", action = "In?dex", })) }); + "Home/Index/{id}", + defaults: new { controller = "Home", action = "Index", }, + metadata: new[] { new RouteValuesAddressMetadata(routeName: null, new RouteValueDictionary(new { controller = "Home", action = "Index", })) }); var endpoint2 = EndpointFactory.CreateRouteEndpoint( - "{controller}/{action}/{id?}", - metadata: new[] { new RouteValuesAddressMetadata(routeName: null, new RouteValueDictionary(new { controller = "Home", action = "In?dex", })) }); + "Home/Index/{id?}", + defaults: new { controller = "Home", action = "Index", }, + metadata: new[] { new RouteValuesAddressMetadata(routeName: null, new RouteValueDictionary(new { controller = "Home", action = "Index", })) }); var linkGenerator = CreateLinkGenerator(endpoint1, endpoint2); // Act var path = linkGenerator.GetPathByRouteValues( routeName: null, - values: new RouteValueDictionary(new { controller = "Home", action = "In?dex", query = "some?query" }), + values: new RouteValueDictionary(new { controller = "Home", action = "Index", query = "some?query" }), new PathString("/Foo/Bar?encodeme?"), new FragmentString("#Fragment?"), new LinkOptions() { AppendTrailingSlash = true, }); // Assert - Assert.Equal("/Foo/Bar%3Fencodeme%3F/Home/In%3Fdex/?query=some%3Fquery#Fragment?", path); + Assert.Equal("/Foo/Bar%3Fencodeme%3F/Home/Index/?query=some%3Fquery#Fragment?", path); } [Fact] @@ -46,11 +48,13 @@ namespace Microsoft.AspNetCore.Routing { // Arrange var endpoint1 = EndpointFactory.CreateRouteEndpoint( - "{controller}/{action}/{id}", - metadata: new[] { new RouteValuesAddressMetadata(routeName: null, new RouteValueDictionary(new { controller = "Home", action = "In?dex", })) }); + "Home/Index/{id}", + defaults: new { controller = "Home", action = "Index", }, + metadata: new[] { new RouteValuesAddressMetadata(routeName: null, new RouteValueDictionary(new { controller = "Home", action = "Index", })) }); var endpoint2 = EndpointFactory.CreateRouteEndpoint( - "{controller}/{action}/{id?}", - metadata: new[] { new RouteValuesAddressMetadata(routeName: null, new RouteValueDictionary(new { controller = "Home", action = "In?dex", })) }); + "Home/Index/{id?}", + defaults: new { controller = "Home", action = "Index", }, + metadata: new[] { new RouteValuesAddressMetadata(routeName: null, new RouteValueDictionary(new { controller = "Home", action = "Index", })) }); var linkGenerator = CreateLinkGenerator(endpoint1, endpoint2); @@ -61,12 +65,12 @@ namespace Microsoft.AspNetCore.Routing var path = linkGenerator.GetPathByRouteValues( httpContext, routeName: null, - values: new RouteValueDictionary(new { controller = "Home", action = "In?dex", query = "some?query" }), + values: new RouteValueDictionary(new { controller = "Home", action = "Index", query = "some?query" }), new FragmentString("#Fragment?"), new LinkOptions() { AppendTrailingSlash = true, }); // Assert - Assert.Equal("/Foo/Bar%3Fencodeme%3F/Home/In%3Fdex/?query=some%3Fquery#Fragment?", path); + Assert.Equal("/Foo/Bar%3Fencodeme%3F/Home/Index/?query=some%3Fquery#Fragment?", path); } [Fact] @@ -74,18 +78,20 @@ namespace Microsoft.AspNetCore.Routing { // Arrange var endpoint1 = EndpointFactory.CreateRouteEndpoint( - "{controller}/{action}/{id}", - metadata: new[] { new RouteValuesAddressMetadata(routeName: null, new RouteValueDictionary(new { controller = "Home", action = "In?dex", })) }); + "Home/Index/{id}", + defaults: new { controller = "Home", action = "Index", }, + metadata: new[] { new RouteValuesAddressMetadata(routeName: null, new RouteValueDictionary(new { controller = "Home", action = "Index", })) }); var endpoint2 = EndpointFactory.CreateRouteEndpoint( - "{controller}/{action}/{id?}", - metadata: new[] { new RouteValuesAddressMetadata(routeName: null, new RouteValueDictionary(new { controller = "Home", action = "In?dex", })) }); + "Home/Index/{id?}", + defaults: new { controller = "Home", action = "Index", }, + metadata: new[] { new RouteValuesAddressMetadata(routeName: null, new RouteValueDictionary(new { controller = "Home", action = "Index", })) }); var linkGenerator = CreateLinkGenerator(endpoint1, endpoint2); // Act var path = linkGenerator.GetUriByRouteValues( routeName: null, - values: new RouteValueDictionary(new { controller = "Home", action = "In?dex", query = "some?query" }), + values: new RouteValueDictionary(new { controller = "Home", action = "Index", query = "some?query" }), "http", new HostString("example.com"), new PathString("/Foo/Bar?encodeme?"), @@ -93,7 +99,7 @@ namespace Microsoft.AspNetCore.Routing new LinkOptions() { AppendTrailingSlash = true, }); // Assert - Assert.Equal("http://example.com/Foo/Bar%3Fencodeme%3F/Home/In%3Fdex/?query=some%3Fquery#Fragment?", path); + Assert.Equal("http://example.com/Foo/Bar%3Fencodeme%3F/Home/Index/?query=some%3Fquery#Fragment?", path); } [Fact] @@ -101,11 +107,13 @@ namespace Microsoft.AspNetCore.Routing { // Arrange var endpoint1 = EndpointFactory.CreateRouteEndpoint( - "{controller}/{action}/{id}", - metadata: new[] { new RouteValuesAddressMetadata(routeName: null, new RouteValueDictionary(new { controller = "Home", action = "In?dex", })) }); + "Home/Index/{id}", + defaults: new { controller = "Home", action = "Index", }, + metadata: new[] { new RouteValuesAddressMetadata(routeName: null, new RouteValueDictionary(new { controller = "Home", action = "Index", })) }); var endpoint2 = EndpointFactory.CreateRouteEndpoint( - "{controller}/{action}/{id?}", - metadata: new[] { new RouteValuesAddressMetadata(routeName: null, new RouteValueDictionary(new { controller = "Home", action = "In?dex", })) }); + "Home/Index/{id?}", + defaults: new { controller = "Home", action = "Index", }, + metadata: new[] { new RouteValuesAddressMetadata(routeName: null, new RouteValueDictionary(new { controller = "Home", action = "Index", })) }); var linkGenerator = CreateLinkGenerator(endpoint1, endpoint2); @@ -118,12 +126,12 @@ namespace Microsoft.AspNetCore.Routing var uri = linkGenerator.GetUriByRouteValues( httpContext, routeName: null, - values: new RouteValueDictionary(new { controller = "Home", action = "In?dex", query = "some?query" }), + values: new RouteValueDictionary(new { controller = "Home", action = "Index", query = "some?query" }), new FragmentString("#Fragment?"), new LinkOptions() { AppendTrailingSlash = true, }); // Assert - Assert.Equal("http://example.com/Foo/Bar%3Fencodeme%3F/Home/In%3Fdex/?query=some%3Fquery#Fragment?", uri); + Assert.Equal("http://example.com/Foo/Bar%3Fencodeme%3F/Home/Index/?query=some%3Fquery#Fragment?", uri); } [Fact] diff --git a/test/Microsoft.AspNetCore.Routing.Tests/LinkGeneratorTestBase.cs b/test/Microsoft.AspNetCore.Routing.Tests/LinkGeneratorTestBase.cs index 09bca2f3cc..efceecf7b9 100644 --- a/test/Microsoft.AspNetCore.Routing.Tests/LinkGeneratorTestBase.cs +++ b/test/Microsoft.AspNetCore.Routing.Tests/LinkGeneratorTestBase.cs @@ -8,6 +8,7 @@ using Microsoft.Extensions.DependencyInjection; using Microsoft.Extensions.Logging.Abstractions; using Microsoft.Extensions.ObjectPool; using Microsoft.Extensions.Options; +using System; namespace Microsoft.AspNetCore.Routing { @@ -43,31 +44,53 @@ namespace Microsoft.AspNetCore.Routing private protected DefaultLinkGenerator CreateLinkGenerator(params Endpoint[] endpoints) { - return CreateLinkGenerator(routeOptions: null, services: null, endpoints); + return CreateLinkGenerator(routeOptions: null, endpoints); } - private protected DefaultLinkGenerator CreateLinkGenerator(RouteOptions routeOptions = null, IServiceCollection services = null, params Endpoint[] endpoints) + private protected DefaultLinkGenerator CreateLinkGenerator(RouteOptions routeOptions, params Endpoint[] endpoints) { - if (services == null) - { - services = GetBasicServices(); - AddAdditionalServices(services); - } + return CreateLinkGenerator(routeOptions, configureServices: null, endpoints); + } - if (endpoints != null || endpoints.Length > 0) - { - services.Configure(o => - { - o.DataSources.Add(new DefaultEndpointDataSource(endpoints)); - }); - } + private protected DefaultLinkGenerator CreateLinkGenerator( + RouteOptions routeOptions, + Action configureServices, + params Endpoint[] endpoints) + { + return CreateLinkGenerator(routeOptions, configureServices, new[] { new DefaultEndpointDataSource(endpoints ?? Array.Empty()) }); + } + + private protected DefaultLinkGenerator CreateLinkGenerator(EndpointDataSource[] dataSources) + { + return CreateLinkGenerator(routeOptions: null, configureServices: null, dataSources); + } + + private protected DefaultLinkGenerator CreateLinkGenerator( + RouteOptions routeOptions, + Action configureServices, + EndpointDataSource[] dataSources) + { + var services = GetBasicServices(); + AddAdditionalServices(services); + configureServices?.Invoke(services); routeOptions = routeOptions ?? new RouteOptions(); + dataSources = dataSources ?? Array.Empty(); + + services.Configure((o) => + { + for (var i = 0; i < dataSources.Length; i++) + { + o.DataSources.Add(dataSources[i]); + } + }); + var options = Options.Create(routeOptions); var serviceProvider = services.BuildServiceProvider(); return new DefaultLinkGenerator( new DefaultParameterPolicyFactory(options, serviceProvider), + serviceProvider.GetRequiredService(), new DefaultObjectPool(new UriBuilderContextPooledObjectPolicy()), options, NullLogger.Instance, diff --git a/test/Microsoft.AspNetCore.Routing.Tests/Template/TemplateBinderTests.cs b/test/Microsoft.AspNetCore.Routing.Tests/Template/TemplateBinderTests.cs index 9186b31e39..4114322207 100644 --- a/test/Microsoft.AspNetCore.Routing.Tests/Template/TemplateBinderTests.cs +++ b/test/Microsoft.AspNetCore.Routing.Tests/Template/TemplateBinderTests.cs @@ -1308,6 +1308,7 @@ namespace Microsoft.AspNetCore.Routing.Template.Tests new DefaultObjectPoolProvider().Create(new UriBuilderContextPooledObjectPolicy()), RoutePatternFactory.Parse(template), defaults, + requiredKeys: defaults.Keys, parameterPolicyFactory); // Act From 412944e1f55b5c1fdb10ac4eb5418bb8a181fbaa Mon Sep 17 00:00:00 2001 From: James Newton-King Date: Fri, 14 Sep 2018 17:19:43 +1200 Subject: [PATCH 174/221] Transform parameters before lower casing in link generation (#793) --- .../Internal/UriBuildingContext.cs | 26 +++++------ .../DefaultLinkGeneratorTest.cs | 43 +++++++++++++++++++ .../Internal/UriBuildingContextTest.cs | 6 +-- .../Template/TemplateBinderTests.cs | 21 +++------ .../SlugifyParameterTransformer.cs | 17 ++++++++ 5 files changed, 83 insertions(+), 30 deletions(-) create mode 100644 test/Microsoft.AspNetCore.Routing.Tests/TestObjects/SlugifyParameterTransformer.cs diff --git a/src/Microsoft.AspNetCore.Routing/Internal/UriBuildingContext.cs b/src/Microsoft.AspNetCore.Routing/Internal/UriBuildingContext.cs index e73485b638..e766cf13b4 100644 --- a/src/Microsoft.AspNetCore.Routing/Internal/UriBuildingContext.cs +++ b/src/Microsoft.AspNetCore.Routing/Internal/UriBuildingContext.cs @@ -80,6 +80,13 @@ namespace Microsoft.AspNetCore.Routing.Internal return false; } + // NOTE: call the parameter transformer before changing the case + // A transformer might use the case, e.g. AllProducts -> all-products + if (parameterTransformer != null) + { + value = parameterTransformer.Transform(value); + } + // NOTE: this needs to be above all 'EncodeValue' and _path.Append calls if (LowercaseUrls) { @@ -117,11 +124,11 @@ namespace Microsoft.AspNetCore.Routing.Internal if (_path.Length == 0 && value.Length > 0 && value[0] == '/') { _path.Append("/"); - EncodeValue(value, 1, value.Length - 1, encodeSlashes, parameterTransformer); + EncodeValue(value, 1, value.Length - 1, encodeSlashes); } else { - EncodeValue(value, encodeSlashes, parameterTransformer); + EncodeValue(value, encodeSlashes); } return true; @@ -263,24 +270,17 @@ namespace Microsoft.AspNetCore.Routing.Internal private void EncodeValue(string value) { - EncodeValue(value, encodeSlashes: true, parameterTransformer: null); + EncodeValue(value, encodeSlashes: true); } - private void EncodeValue(string value, bool encodeSlashes, IParameterTransformer parameterTransformer) + private void EncodeValue(string value, bool encodeSlashes) { - EncodeValue(value, start: 0, characterCount: value.Length, encodeSlashes, parameterTransformer); + EncodeValue(value, start: 0, characterCount: value.Length, encodeSlashes); } // For testing - internal void EncodeValue(string value, int start, int characterCount, bool encodeSlashes, IParameterTransformer parameterTransformer) + internal void EncodeValue(string value, int start, int characterCount, bool encodeSlashes) { - if (parameterTransformer != null) - { - value = parameterTransformer.Transform(value.Substring(0, characterCount)); - start = 0; - characterCount = value.Length; - } - // Just encode everything if its ok to encode slashes if (encodeSlashes) { diff --git a/test/Microsoft.AspNetCore.Routing.Tests/DefaultLinkGeneratorTest.cs b/test/Microsoft.AspNetCore.Routing.Tests/DefaultLinkGeneratorTest.cs index c882633d2a..d9c9f69e19 100644 --- a/test/Microsoft.AspNetCore.Routing.Tests/DefaultLinkGeneratorTest.cs +++ b/test/Microsoft.AspNetCore.Routing.Tests/DefaultLinkGeneratorTest.cs @@ -169,6 +169,49 @@ namespace Microsoft.AspNetCore.Routing Assert.Equal("/Home/Index/", path); } + [Fact] + public void GetPathByAddress_WithParameterTransformer() + { + // Arrange + var endpoint1 = EndpointFactory.CreateRouteEndpoint("{controller:slugify}/{action}/{id}", metadata: new object[] { new IntMetadata(1), }); + var endpoint2 = EndpointFactory.CreateRouteEndpoint("{controller:slugify}/{action}/{id?}", metadata: new object[] { new IntMetadata(1), }); + + var routeOptions = new RouteOptions(); + routeOptions.ConstraintMap["slugify"] = typeof(SlugifyParameterTransformer); + + var linkGenerator = CreateLinkGenerator(routeOptions: routeOptions, services: null, endpoint1, endpoint2); + + // Act + var path = linkGenerator.GetPathByAddress( + 1, + values: new RouteValueDictionary(new { controller = "TestController", action = "Index", })); + + // Assert + Assert.Equal("/test-controller/Index", path); + } + + [Fact] + public void GetPathByAddress_WithParameterTransformer_WithLowercaseUrl() + { + // Arrange + var endpoint1 = EndpointFactory.CreateRouteEndpoint("{controller:slugify}/{action}/{id}", metadata: new object[] { new IntMetadata(1), }); + var endpoint2 = EndpointFactory.CreateRouteEndpoint("{controller:slugify}/{action}/{id?}", metadata: new object[] { new IntMetadata(1), }); + + var routeOptions = new RouteOptions(); + routeOptions.ConstraintMap["slugify"] = typeof(SlugifyParameterTransformer); + + var linkGenerator = CreateLinkGenerator(routeOptions: routeOptions, services: null, endpoint1, endpoint2); + + // Act + var path = linkGenerator.GetPathByAddress( + 1, + values: new RouteValueDictionary(new { controller = "TestController", action = "Index", }), + options: new LinkOptions() { LowercaseUrls = true, }); + + // Assert + Assert.Equal("/test-controller/index", path); + } + [Fact] public void GetPathByAddress_WithHttpContext_WithLinkOptions() { diff --git a/test/Microsoft.AspNetCore.Routing.Tests/Internal/UriBuildingContextTest.cs b/test/Microsoft.AspNetCore.Routing.Tests/Internal/UriBuildingContextTest.cs index a23c2ab940..137520051c 100644 --- a/test/Microsoft.AspNetCore.Routing.Tests/Internal/UriBuildingContextTest.cs +++ b/test/Microsoft.AspNetCore.Routing.Tests/Internal/UriBuildingContextTest.cs @@ -18,7 +18,7 @@ namespace Microsoft.AspNetCore.Routing.Internal var uriBuilldingContext = new UriBuildingContext(urlTestEncoder); // Act - uriBuilldingContext.EncodeValue(value, 0, value.Length, encodeSlashes: true, parameterTransformer: null); + uriBuilldingContext.EncodeValue(value, 0, value.Length, encodeSlashes: true); // Assert Assert.Equal(expected, uriBuilldingContext.ToString()); @@ -34,7 +34,7 @@ namespace Microsoft.AspNetCore.Routing.Internal var uriBuilldingContext = new UriBuildingContext(urlTestEncoder); // Act - uriBuilldingContext.EncodeValue(value, 0, value.Length, encodeSlashes: false, parameterTransformer: null); + uriBuilldingContext.EncodeValue(value, 0, value.Length, encodeSlashes: false); // Assert Assert.Equal(expected, uriBuilldingContext.ToString()); @@ -60,7 +60,7 @@ namespace Microsoft.AspNetCore.Routing.Internal var uriBuilldingContext = new UriBuildingContext(urlTestEncoder); // Act - uriBuilldingContext.EncodeValue(value, startIndex, characterCount, encodeSlashes: false, parameterTransformer: null); + uriBuilldingContext.EncodeValue(value, startIndex, characterCount, encodeSlashes: false); // Assert Assert.Equal(expected, uriBuilldingContext.ToString()); diff --git a/test/Microsoft.AspNetCore.Routing.Tests/Template/TemplateBinderTests.cs b/test/Microsoft.AspNetCore.Routing.Tests/Template/TemplateBinderTests.cs index 4114322207..e77c3cf233 100644 --- a/test/Microsoft.AspNetCore.Routing.Tests/Template/TemplateBinderTests.cs +++ b/test/Microsoft.AspNetCore.Routing.Tests/Template/TemplateBinderTests.cs @@ -7,6 +7,7 @@ using System.Linq; using System.Text.Encodings.Web; using Microsoft.AspNetCore.Routing.Internal; using Microsoft.AspNetCore.Routing.Patterns; +using Microsoft.AspNetCore.Routing.TestObjects; using Microsoft.Extensions.DependencyInjection; using Microsoft.Extensions.ObjectPool; using Microsoft.Extensions.Options; @@ -1294,15 +1295,15 @@ namespace Microsoft.AspNetCore.Routing.Template.Tests { // Arrange var routeOptions = new RouteOptions(); - routeOptions.ConstraintMap["test-transformer"] = typeof(TestParameterTransformer); + routeOptions.ConstraintMap["slugify"] = typeof(SlugifyParameterTransformer); var parameterPolicyFactory = new DefaultParameterPolicyFactory( Options.Create(routeOptions), new ServiceCollection().BuildServiceProvider()); - var expected = "/ConventionalTansformerRoute/_ConventionalTansformer_/Param/_value_"; - var template = "ConventionalTansformerRoute/_ConventionalTansformer_/Param/{param:length(500):test-transformer?}"; - var defaults = new RouteValueDictionary(new { controller = "ConventionalTansformer", action = "Param" }); - var ambientValues = new RouteValueDictionary(new { controller = "ConventionalTansformer", action = "Param" }); - var explicitValues = new RouteValueDictionary(new { controller = "ConventionalTansformer", action = "Param", param = "value" }); + var expected = "/ConventionalTransformerRoute/conventional-transformer/Param/my-value"; + var template = "ConventionalTransformerRoute/conventional-transformer/Param/{param:length(500):slugify?}"; + var defaults = new RouteValueDictionary(new { controller = "ConventionalTransformer", action = "Param" }); + var ambientValues = new RouteValueDictionary(new { controller = "ConventionalTransformer", action = "Param" }); + var explicitValues = new RouteValueDictionary(new { controller = "ConventionalTransformer", action = "Param", param = "MyValue" }); var binder = new TemplateBinder( UrlEncoder.Default, new DefaultObjectPoolProvider().Create(new UriBuilderContextPooledObjectPolicy()), @@ -1319,14 +1320,6 @@ namespace Microsoft.AspNetCore.Routing.Template.Tests Assert.Equal(expected, boundTemplate); } - private class TestParameterTransformer : IParameterTransformer - { - public string Transform(string value) - { - return "_" + value + "_"; - } - } - private static IInlineConstraintResolver GetInlineConstraintResolver() { var services = new ServiceCollection().AddOptions(); diff --git a/test/Microsoft.AspNetCore.Routing.Tests/TestObjects/SlugifyParameterTransformer.cs b/test/Microsoft.AspNetCore.Routing.Tests/TestObjects/SlugifyParameterTransformer.cs new file mode 100644 index 0000000000..acf07d8cc8 --- /dev/null +++ b/test/Microsoft.AspNetCore.Routing.Tests/TestObjects/SlugifyParameterTransformer.cs @@ -0,0 +1,17 @@ +// Copyright (c) .NET Foundation. All rights reserved. +// Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information. + +using System; +using System.Text.RegularExpressions; + +namespace Microsoft.AspNetCore.Routing.TestObjects +{ + public class SlugifyParameterTransformer : IParameterTransformer + { + public string Transform(string value) + { + // Slugify value + return Regex.Replace(value, "([a-z])([A-Z])", "$1-$2").ToLower(); + } + } +} From 85fa15419d791e6eb251c25e013b75c4aef0206d Mon Sep 17 00:00:00 2001 From: James Newton-King Date: Sat, 15 Sep 2018 08:17:53 +1200 Subject: [PATCH 175/221] Fix merge (#796) --- .../DefaultLinkGeneratorTest.cs | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/test/Microsoft.AspNetCore.Routing.Tests/DefaultLinkGeneratorTest.cs b/test/Microsoft.AspNetCore.Routing.Tests/DefaultLinkGeneratorTest.cs index d9c9f69e19..c02aec833a 100644 --- a/test/Microsoft.AspNetCore.Routing.Tests/DefaultLinkGeneratorTest.cs +++ b/test/Microsoft.AspNetCore.Routing.Tests/DefaultLinkGeneratorTest.cs @@ -179,7 +179,7 @@ namespace Microsoft.AspNetCore.Routing var routeOptions = new RouteOptions(); routeOptions.ConstraintMap["slugify"] = typeof(SlugifyParameterTransformer); - var linkGenerator = CreateLinkGenerator(routeOptions: routeOptions, services: null, endpoint1, endpoint2); + var linkGenerator = CreateLinkGenerator(routeOptions: routeOptions, configureServices: null, endpoint1, endpoint2); // Act var path = linkGenerator.GetPathByAddress( @@ -200,7 +200,7 @@ namespace Microsoft.AspNetCore.Routing var routeOptions = new RouteOptions(); routeOptions.ConstraintMap["slugify"] = typeof(SlugifyParameterTransformer); - var linkGenerator = CreateLinkGenerator(routeOptions: routeOptions, services: null, endpoint1, endpoint2); + var linkGenerator = CreateLinkGenerator(routeOptions: routeOptions, configureServices: null, endpoint1, endpoint2); // Act var path = linkGenerator.GetPathByAddress( From df27b3ec104f6b7ca74276a84d757c922c225ccf Mon Sep 17 00:00:00 2001 From: "ASP.NET CI" Date: Sun, 16 Sep 2018 12:26:14 -0700 Subject: [PATCH 176/221] Update dependencies.props [auto-updated: dependencies] --- build/dependencies.props | 54 ++++++++++++++++++++-------------------- korebuild-lock.txt | 4 +-- 2 files changed, 29 insertions(+), 29 deletions(-) diff --git a/build/dependencies.props b/build/dependencies.props index 42276053ee..678786db8f 100644 --- a/build/dependencies.props +++ b/build/dependencies.props @@ -4,33 +4,33 @@ 0.10.13 - 2.2.0-preview1-20180907.8 - 2.2.0-preview3-35202 - 2.2.0-preview3-35202 - 2.2.0-preview3-35202 - 2.2.0-preview3-35202 - 2.2.0-preview3-35202 - 2.2.0-preview3-35202 - 2.2.0-preview3-35202 - 2.2.0-preview3-35202 - 2.2.0-preview3-35202 - 2.2.0-preview3-35202 - 2.2.0-preview3-35202 - 2.2.0-preview3-35202 - 2.2.0-preview3-35202 - 2.2.0-preview3-35202 - 2.2.0-preview3-35202 - 2.2.0-preview3-35202 - 2.2.0-preview3-35202 - 2.2.0-preview3-35202 - 2.2.0-preview3-35202 - 2.2.0-preview3-35202 - 2.2.0-preview3-35202 - 2.2.0-preview3-35202 - 2.2.0-preview3-35202 - 2.2.0-preview3-35202 - 2.2.0-preview3-35202 - 2.2.0-preview3-35202 + 2.2.0-preview1-20180911.1 + 2.2.0-preview3-35252 + 2.2.0-preview3-35252 + 2.2.0-preview3-35252 + 2.2.0-preview3-35252 + 2.2.0-preview3-35252 + 2.2.0-preview3-35252 + 2.2.0-preview3-35252 + 2.2.0-preview3-35252 + 2.2.0-preview3-35252 + 2.2.0-preview3-35252 + 2.2.0-preview3-35252 + 2.2.0-preview3-35252 + 2.2.0-preview3-35252 + 2.2.0-preview3-35252 + 2.2.0-preview3-35252 + 2.2.0-preview3-35252 + 2.2.0-preview3-35252 + 2.2.0-preview3-35252 + 2.2.0-preview3-35252 + 2.2.0-preview3-35252 + 2.2.0-preview3-35252 + 2.2.0-preview3-35252 + 2.2.0-preview3-35252 + 2.2.0-preview3-35252 + 2.2.0-preview3-35252 + 2.2.0-preview3-35252 2.0.9 2.1.3 2.2.0-preview2-26905-02 diff --git a/korebuild-lock.txt b/korebuild-lock.txt index 312f82f9a5..7124f37441 100644 --- a/korebuild-lock.txt +++ b/korebuild-lock.txt @@ -1,2 +1,2 @@ -version:2.2.0-preview1-20180907.8 -commithash:078918eb5c1f176ee1da351c584fb4a4d7491aa0 +version:2.2.0-preview1-20180911.1 +commithash:ddfecdfc6e8e4859db5a0daea578070b862aac65 From a657c3bdf2a37b07327229b89940502f058ebc95 Mon Sep 17 00:00:00 2001 From: Ryan Nowak Date: Tue, 18 Sep 2018 19:09:04 -0700 Subject: [PATCH 177/221] Updates to Parameter Transformer - Rename -> IOutboundParameterTransformer - Make it operate on object - Implementing caching for constraints/tranformers for link generation (cached as part of TemplateBinder) --- ...er.cs => IOutboundParameterTransformer.cs} | 11 +-- .../DefaultLinkGenerator.cs | 64 +++++++------- .../Internal/UriBuildingContext.cs | 28 +++--- .../Template/TemplateBinder.cs | 85 ++++++++++++------- ...DefaultLinkGeneratorProcessTemplateTest.cs | 82 ++++++++++++++---- .../DefaultLinkGeneratorTest.cs | 29 ++++++- .../EndpointFactory.cs | 4 +- .../Template/TemplateBinderTests.cs | 9 +- .../SlugifyParameterTransformer.cs | 7 +- 9 files changed, 204 insertions(+), 115 deletions(-) rename src/Microsoft.AspNetCore.Routing.Abstractions/{IParameterTransformer.cs => IOutboundParameterTransformer.cs} (56%) diff --git a/src/Microsoft.AspNetCore.Routing.Abstractions/IParameterTransformer.cs b/src/Microsoft.AspNetCore.Routing.Abstractions/IOutboundParameterTransformer.cs similarity index 56% rename from src/Microsoft.AspNetCore.Routing.Abstractions/IParameterTransformer.cs rename to src/Microsoft.AspNetCore.Routing.Abstractions/IOutboundParameterTransformer.cs index 4f49892003..bcc9e21c4d 100644 --- a/src/Microsoft.AspNetCore.Routing.Abstractions/IParameterTransformer.cs +++ b/src/Microsoft.AspNetCore.Routing.Abstractions/IOutboundParameterTransformer.cs @@ -4,15 +4,16 @@ namespace Microsoft.AspNetCore.Routing { /// - /// Defines the contract that a class must implement to transform parameter values. + /// Defines the contract that a class must implement to transform route values while building + /// a URI. /// - public interface IParameterTransformer : IParameterPolicy + public interface IOutboundParameterTransformer : IParameterPolicy { /// - /// Transforms the specified parameter value. + /// Transforms the specified route value to a string for inclusion in a URI. /// - /// The parameter value to transform. + /// The route value to transform. /// The transformed value. - string Transform(string value); + string TransformOutbound(object value); } } diff --git a/src/Microsoft.AspNetCore.Routing/DefaultLinkGenerator.cs b/src/Microsoft.AspNetCore.Routing/DefaultLinkGenerator.cs index e251fdff59..c303c5dcb2 100644 --- a/src/Microsoft.AspNetCore.Routing/DefaultLinkGenerator.cs +++ b/src/Microsoft.AspNetCore.Routing/DefaultLinkGenerator.cs @@ -280,13 +280,40 @@ namespace Microsoft.AspNetCore.Routing private TemplateBinder CreateTemplateBinder(RouteEndpoint endpoint) { + // Now create the constraints and parameter transformers from the pattern + var policies = new List<(string parameterName, IParameterPolicy policy)>(); + foreach (var kvp in endpoint.RoutePattern.ParameterPolicies) + { + var parameterName = kvp.Key; + + // It's possible that we don't have an actual route parameter, we need to support that case. + var parameter = endpoint.RoutePattern.GetParameter(parameterName); + + // Use the first parameter transformer per parameter + var foundTransformer = false; + for (var i = 0; i < kvp.Value.Count; i++) + { + var parameterPolicy = _parameterPolicyFactory.Create(parameter, kvp.Value[i]); + if (!foundTransformer && parameterPolicy is IOutboundParameterTransformer parameterTransformer) + { + policies.Add((parameterName, parameterTransformer)); + foundTransformer = true; + } + + if (parameterPolicy is IRouteConstraint constraint) + { + policies.Add((parameterName, constraint)); + } + } + } + return new TemplateBinder( UrlEncoder.Default, _uriBuildingContextPool, endpoint.RoutePattern, new RouteValueDictionary(endpoint.RoutePattern.Defaults), endpoint.Metadata.GetMetadata()?.RequiredValues.Keys, - _parameterPolicyFactory); + policies); } // Internal for testing @@ -312,11 +339,10 @@ namespace Microsoft.AspNetCore.Routing return false; } - if (!MatchesConstraints(httpContext, endpoint, templateValuesResult.CombinedValues)) + if (!templateBinder.TryProcessConstraints(httpContext, templateValuesResult.CombinedValues, out var parameterName, out var constraint)) { result = default; - - // MatchesConstraints does its own logging, so we're not logging here. + Log.TemplateFailedConstraint(_logger, endpoint, parameterName, constraint, templateValuesResult.CombinedValues); return false; } @@ -330,36 +356,6 @@ namespace Microsoft.AspNetCore.Routing return true; } - private bool MatchesConstraints( - HttpContext httpContext, - RouteEndpoint endpoint, - RouteValueDictionary routeValues) - { - if (routeValues == null) - { - throw new ArgumentNullException(nameof(routeValues)); - } - - foreach (var kvp in endpoint.RoutePattern.ParameterPolicies) - { - var parameter = endpoint.RoutePattern.GetParameter(kvp.Key); // may be null, that's ok - var constraintReferences = kvp.Value; - for (var i = 0; i < constraintReferences.Count; i++) - { - var constraintReference = constraintReferences[i]; - var parameterPolicy = _parameterPolicyFactory.Create(parameter, constraintReference); - if (parameterPolicy is IRouteConstraint routeConstraint - && !routeConstraint.Match(httpContext, NullRouter.Instance, kvp.Key, routeValues, RouteDirection.UrlGeneration)) - { - Log.TemplateFailedConstraint(_logger, endpoint, kvp.Key, routeConstraint, routeValues); - return false; - } - } - } - - return true; - } - // Also called from DefaultLinkGenerationTemplate public static RouteValueDictionary GetAmbientValues(HttpContext httpContext) { diff --git a/src/Microsoft.AspNetCore.Routing/Internal/UriBuildingContext.cs b/src/Microsoft.AspNetCore.Routing/Internal/UriBuildingContext.cs index e766cf13b4..1f61db30b2 100644 --- a/src/Microsoft.AspNetCore.Routing/Internal/UriBuildingContext.cs +++ b/src/Microsoft.AspNetCore.Routing/Internal/UriBuildingContext.cs @@ -56,10 +56,10 @@ namespace Microsoft.AspNetCore.Routing.Internal public bool Accept(string value) { - return Accept(value, encodeSlashes: true, parameterTransformer: null); + return Accept(value, encodeSlashes: true); } - public bool Accept(string value, bool encodeSlashes, IParameterTransformer parameterTransformer) + public bool Accept(string value, bool encodeSlashes) { if (string.IsNullOrEmpty(value)) { @@ -80,31 +80,31 @@ namespace Microsoft.AspNetCore.Routing.Internal return false; } - // NOTE: call the parameter transformer before changing the case - // A transformer might use the case, e.g. AllProducts -> all-products - if (parameterTransformer != null) - { - value = parameterTransformer.Transform(value); - } - // NOTE: this needs to be above all 'EncodeValue' and _path.Append calls if (LowercaseUrls) { value = value.ToLowerInvariant(); } - for (var i = 0; i < _buffer.Count; i++) + var buffer = _buffer; + for (var i = 0; i < buffer.Count; i++) { - if (_buffer[i].RequiresEncoding) + var bufferValue = buffer[i].Value; + if (LowercaseUrls) { - EncodeValue(_buffer[i].Value); + bufferValue = bufferValue.ToLowerInvariant(); + } + + if (buffer[i].RequiresEncoding) + { + EncodeValue(bufferValue); } else { - _path.Append(_buffer[i].Value); + _path.Append(bufferValue); } } - _buffer.Clear(); + buffer.Clear(); if (UriState == SegmentState.Beginning && BufferState == SegmentState.Beginning) { diff --git a/src/Microsoft.AspNetCore.Routing/Template/TemplateBinder.cs b/src/Microsoft.AspNetCore.Routing/Template/TemplateBinder.cs index 22fb79bc49..40755676fc 100644 --- a/src/Microsoft.AspNetCore.Routing/Template/TemplateBinder.cs +++ b/src/Microsoft.AspNetCore.Routing/Template/TemplateBinder.cs @@ -20,10 +20,11 @@ namespace Microsoft.AspNetCore.Routing.Template { private readonly UrlEncoder _urlEncoder; private readonly ObjectPool _pool; - private readonly ParameterPolicyFactory _parameterPolicyFactory; + private readonly (string parameterName, IRouteConstraint constraint)[] _constraints; private readonly RouteValueDictionary _defaults; private readonly KeyValuePair[] _filters; + private readonly (string parameterName, IOutboundParameterTransformer transformer)[] _parameterTransformers; private readonly RoutePattern _pattern; private readonly string[] _requiredKeys; @@ -44,7 +45,7 @@ namespace Microsoft.AspNetCore.Routing.Template ObjectPool pool, RouteTemplate template, RouteValueDictionary defaults) - : this(urlEncoder, pool, template?.ToRoutePattern(), defaults, requiredKeys: null, parameterPolicyFactory: null) + : this(urlEncoder, pool, template?.ToRoutePattern(), defaults, requiredKeys: null, parameterPolicies: null) { } @@ -56,14 +57,16 @@ namespace Microsoft.AspNetCore.Routing.Template /// The to bind values to. /// The default values for . Optional. /// Keys used to determine if the ambient values apply. Optional. - /// The . + /// + /// A list of (, ) pairs to evalute when producing a URI. + /// public TemplateBinder( UrlEncoder urlEncoder, ObjectPool pool, RoutePattern pattern, RouteValueDictionary defaults, IEnumerable requiredKeys, - ParameterPolicyFactory parameterPolicyFactory) + IEnumerable<(string parameterName, IParameterPolicy policy)> parameterPolicies) { if (urlEncoder == null) { @@ -84,7 +87,6 @@ namespace Microsoft.AspNetCore.Routing.Template _pool = pool; _pattern = pattern; _defaults = defaults; - _parameterPolicyFactory = parameterPolicyFactory; _requiredKeys = requiredKeys?.ToArray() ?? Array.Empty(); for (var i = 0; i < _requiredKeys.Length; i++) @@ -101,13 +103,21 @@ namespace Microsoft.AspNetCore.Routing.Template // Any default that doesn't have a corresponding parameter is a 'filter' and if a value // is provided for that 'filter' it must match the value in defaults. var filters = new RouteValueDictionary(_defaults); - foreach (var parameter in _pattern.Parameters) + for (var i = 0; i < pattern.Parameters.Count; i++) { - filters.Remove(parameter.Name); + filters.Remove(pattern.Parameters[i].Name); } - _filters = filters.ToArray(); - + + _constraints = parameterPolicies + ?.Where(p => p.policy is IRouteConstraint) + .Select(p => (p.parameterName, (IRouteConstraint)p.policy)) + .ToArray() ?? Array.Empty<(string, IRouteConstraint)>(); + _parameterTransformers = parameterPolicies + ?.Where(p => p.policy is IOutboundParameterTransformer) + .Select(p => (p.parameterName, (IOutboundParameterTransformer)p.policy)) + .ToArray() ?? Array.Empty<(string, IOutboundParameterTransformer)>(); + _slots = AssignSlots(_pattern, _filters); } @@ -351,6 +361,29 @@ namespace Microsoft.AspNetCore.Routing.Template }; } + // Step 1.5: Process constraints + // + // Processes the constraints **if** they were passed in to the TemplateBinder constructor. + // Returns true on success + // Returns false + sets the name/constraint for logging on failure. + public bool TryProcessConstraints(HttpContext httpContext, RouteValueDictionary combinedValues, out string parameterName, out IRouteConstraint constraint) + { + var constraints = _constraints; + for (var i = 0; i < constraints.Length; i++) + { + (parameterName, constraint) = constraints[i]; + + if (!constraint.Match(httpContext, NullRouter.Instance, parameterName, combinedValues, RouteDirection.UrlGeneration)) + { + return false; + } + } + + parameterName = null; + constraint = null; + return true; + } + // Step 2: If the route is a match generate the appropriate URI public string BindValues(RouteValueDictionary acceptedValues) { @@ -398,6 +431,18 @@ namespace Microsoft.AspNetCore.Routing.Template private bool TryBindValuesCore(UriBuildingContext context, RouteValueDictionary acceptedValues) { + // If we have any output parameter transformers, allow them a chance to influence the parameter values + // before we build the URI. + var parameterTransformers = _parameterTransformers; + for (var i = 0; i < parameterTransformers.Length; i++) + { + (var parameterName, var transformer) = parameterTransformers[i]; + if (acceptedValues.TryGetValue(parameterName, out var value)) + { + acceptedValues[parameterName] = transformer.TransformOutbound(value); + } + } + for (var i = 0; i < _pattern.PathSegments.Count; i++) { Debug.Assert(context.BufferState == SegmentState.Beginning); @@ -460,7 +505,7 @@ namespace Microsoft.AspNetCore.Routing.Template // Example: template = {id}.{format?}. parameters: id=5 // In this case after we have generated "5.", we wont find any value // for format, so we remove '.' and generate 5. - if (!context.Accept(converted, parameterPart.EncodeSlashes, GetParameterTransformer(parameterPart))) + if (!context.Accept(converted, parameterPart.EncodeSlashes)) { if (j != 0 && parameterPart.IsOptional && (separatorPart = segment.Parts[j - 1] as RoutePatternSeparatorPart) != null) { @@ -505,26 +550,6 @@ namespace Microsoft.AspNetCore.Routing.Template return true; } - private IParameterTransformer GetParameterTransformer(RoutePatternParameterPart parameterPart) - { - if (_parameterPolicyFactory == null) - { - return null; - } - - for (var i = 0; i < parameterPart.ParameterPolicies.Count; i++) - { - // Use the first parameter transformer - var parameterPolicy = _parameterPolicyFactory.Create(parameterPart, parameterPart.ParameterPolicies[i]); - if (parameterPolicy is IParameterTransformer parameterTransformer) - { - return parameterTransformer; - } - } - - return null; - } - private bool AddQueryKeyValueToContext(UriBuildingContext context, string key, object value, bool wroteFirst) { var converted = Convert.ToString(value, CultureInfo.InvariantCulture); diff --git a/test/Microsoft.AspNetCore.Routing.Tests/DefaultLinkGeneratorProcessTemplateTest.cs b/test/Microsoft.AspNetCore.Routing.Tests/DefaultLinkGeneratorProcessTemplateTest.cs index 1e603824f2..497c018239 100644 --- a/test/Microsoft.AspNetCore.Routing.Tests/DefaultLinkGeneratorProcessTemplateTest.cs +++ b/test/Microsoft.AspNetCore.Routing.Tests/DefaultLinkGeneratorProcessTemplateTest.cs @@ -277,6 +277,54 @@ namespace Microsoft.AspNetCore.Routing Assert.Equal(string.Empty, result.query.ToUriComponent()); } + // Regression test for https://github.com/aspnet/Routing/issues/802 + [Fact] + public void TryProcessTemplate_GeneratesLowercaseUrl_Includes_BufferedValues_SetOnRouteOptions() + { + // Arrange + var endpoint = EndpointFactory.CreateRouteEndpoint("Foo/{bar=BAR}/{id?}"); + var linkGenerator = CreateLinkGenerator(new RouteOptions() { LowercaseUrls = true }, endpoints: new[] { endpoint, }); + var httpContext = CreateHttpContext(); + + // Act + var success = linkGenerator.TryProcessTemplate( + httpContext: httpContext, + endpoint: endpoint, + ambientValues: DefaultLinkGenerator.GetAmbientValues(httpContext), + explicitValues: new RouteValueDictionary(new { id = "18" }), + options: null, + out var result); + + // Assert + Assert.True(success); + Assert.Equal("/foo/bar/18", result.path.ToUriComponent()); + Assert.Equal(string.Empty, result.query.ToUriComponent()); + } + + // Regression test for https://github.com/aspnet/Routing/issues/802 + [Fact] + public void TryProcessTemplate_ParameterPolicy_Includes_BufferedValues() + { + // Arrange + var endpoint = EndpointFactory.CreateRouteEndpoint("Foo/{bar=BAR}/{id?}", policies: new { bar = new SlugifyParameterTransformer(), }); + var linkGenerator = CreateLinkGenerator(new RouteOptions() { LowercaseUrls = true }, endpoints: new[] { endpoint, }); + var httpContext = CreateHttpContext(); + + // Act + var success = linkGenerator.TryProcessTemplate( + httpContext: httpContext, + endpoint: endpoint, + ambientValues: DefaultLinkGenerator.GetAmbientValues(httpContext), + explicitValues: new RouteValueDictionary(new { id = "18" }), + options: null, + out var result); + + // Assert + Assert.True(success); + Assert.Equal("/foo/bar/18", result.path.ToUriComponent()); + Assert.Equal(string.Empty, result.query.ToUriComponent()); + } + // Regression test for aspnet/Routing#435 // // In this issue we used to lowercase URLs after parameters were encoded, meaning that if a character needed @@ -531,7 +579,7 @@ namespace Microsoft.AspNetCore.Routing var endpoint = EndpointFactory.CreateRouteEndpoint( "{p1}/{p2}", defaults: new { p2 = "catchall" }, - constraints: new { p2 = "\\d{4}" }); + policies: new { p2 = "\\d{4}" }); var linkGenerator = CreateLinkGenerator(endpoint); var httpContext = CreateHttpContext(ambientValues: new { }); @@ -555,7 +603,7 @@ namespace Microsoft.AspNetCore.Routing var endpoint = EndpointFactory.CreateRouteEndpoint( "{p1}/{p2}", defaults: new { p2 = "catchall" }, - constraints: new { p2 = new RegexRouteConstraint("\\d{4}"), }); + policies: new { p2 = new RegexRouteConstraint("\\d{4}"), }); var linkGenerator = CreateLinkGenerator(endpoint); var httpContext = CreateHttpContext(ambientValues: new { }); @@ -581,7 +629,7 @@ namespace Microsoft.AspNetCore.Routing var endpoint = EndpointFactory.CreateRouteEndpoint( "{p1}/{*p2}", defaults: new { p2 = "catchall" }, - constraints: new { p2 = new RegexRouteConstraint("\\d{4}") }); + policies: new { p2 = new RegexRouteConstraint("\\d{4}") }); var linkGenerator = CreateLinkGenerator(endpoint); var httpContext = CreateHttpContext(ambientValues: new { }); @@ -605,7 +653,7 @@ namespace Microsoft.AspNetCore.Routing var endpoint = EndpointFactory.CreateRouteEndpoint( "{p1}/{*p2}", defaults: new { p2 = "catchall" }, - constraints: new { p2 = new RegexRouteConstraint("\\d{4}") }); + policies: new { p2 = new RegexRouteConstraint("\\d{4}") }); var linkGenerator = CreateLinkGenerator(endpoint); var httpContext = CreateHttpContext(ambientValues: new { }); @@ -642,7 +690,7 @@ namespace Microsoft.AspNetCore.Routing var endpoint = EndpointFactory.CreateRouteEndpoint( "{p1}/{p2}", defaults: new { p2 = "catchall" }, - constraints: new { p2 = target.Object }); + policies: new { p2 = target.Object }); var linkGenerator = CreateLinkGenerator(endpoint); var httpContext = CreateHttpContext(ambientValues: new { }); @@ -674,7 +722,7 @@ namespace Microsoft.AspNetCore.Routing var endpoint = EndpointFactory.CreateRouteEndpoint( template: "slug/Home/Store", defaults: new { controller = "Home", action = "Store" }, - constraints: new { c = constraint }); + policies: new { c = constraint }); var linkGenerator = CreateLinkGenerator(endpoint); var httpContext = CreateHttpContext( ambientValues: new { controller = "Home", action = "Blog", extra = "42" }); @@ -708,7 +756,7 @@ namespace Microsoft.AspNetCore.Routing var endpoint = EndpointFactory.CreateRouteEndpoint( template: "slug/Home/Store", defaults: new { controller = "Home", action = "Store", otherthing = "17" }, - constraints: new { c = constraint }); + policies: new { c = constraint }); var linkGenerator = CreateLinkGenerator(endpoint); var httpContext = CreateHttpContext(ambientValues: new { controller = "Home", action = "Blog" }); var expectedValues = new RouteValueDictionary( @@ -740,7 +788,7 @@ namespace Microsoft.AspNetCore.Routing var endpoint = EndpointFactory.CreateRouteEndpoint( template: "slug/{controller}/{action}", defaults: new { action = "Index" }, - constraints: new { c = constraint, }); + policies: new { c = constraint, }); var linkGenerator = CreateLinkGenerator(endpoint); var httpContext = CreateHttpContext(ambientValues: new { controller = "Home", action = "Blog" }); var expectedValues = new RouteValueDictionary( @@ -772,7 +820,7 @@ namespace Microsoft.AspNetCore.Routing var endpoint = EndpointFactory.CreateRouteEndpoint( template: "slug/Home/Store", defaults: new { controller = "Home", action = "Store", otherthing = "17", thirdthing = "13" }, - constraints: new { c = constraint, }); + policies: new { c = constraint, }); var linkGenerator = CreateLinkGenerator(endpoint); var httpContext = CreateHttpContext( ambientValues: new { controller = "Home", action = "Blog", otherthing = "17" }); @@ -806,7 +854,7 @@ namespace Microsoft.AspNetCore.Routing var endpoint = EndpointFactory.CreateRouteEndpoint( template: "Home/Index/{id:int}", defaults: new { controller = "Home", action = "Index" }, - constraints: new { }); + policies: new { }); var linkGenerator = CreateLinkGenerator(endpoint); var httpContext = hasHttpContext ? CreateHttpContext(new { }) : null; @@ -832,7 +880,7 @@ namespace Microsoft.AspNetCore.Routing var endpoint = EndpointFactory.CreateRouteEndpoint( template: "Home/Index/{id}", defaults: new { controller = "Home", action = "Index" }, - constraints: new { id = "int" }); + policies: new { id = "int" }); var linkGenerator = CreateLinkGenerator(endpoint); var httpContext = CreateHttpContext(ambientValues: new { }); @@ -858,7 +906,7 @@ namespace Microsoft.AspNetCore.Routing var endpoint = EndpointFactory.CreateRouteEndpoint( template: "Home/Index/{id:int?}", defaults: new { controller = "Home", action = "Index" }, - constraints: new { }); + policies: new { }); var linkGenerator = CreateLinkGenerator(endpoint); var httpContext = hasHttpContext ? CreateHttpContext(new { }) : null; @@ -884,7 +932,7 @@ namespace Microsoft.AspNetCore.Routing var endpoint = EndpointFactory.CreateRouteEndpoint( template: "Home/Index/{id?}", defaults: new { controller = "Home", action = "Index" }, - constraints: new { id = "int" }); + policies: new { id = "int" }); var linkGenerator = CreateLinkGenerator(endpoint); var httpContext = CreateHttpContext(ambientValues: new { }); @@ -910,7 +958,7 @@ namespace Microsoft.AspNetCore.Routing var endpoint = EndpointFactory.CreateRouteEndpoint( template: "Home/Index/{id?}", defaults: new { controller = "Home", action = "Index" }, - constraints: new { id = "int" }); + policies: new { id = "int" }); var linkGenerator = CreateLinkGenerator(endpoint); var httpContext = CreateHttpContext(ambientValues: new { }); @@ -936,7 +984,7 @@ namespace Microsoft.AspNetCore.Routing var endpoint = EndpointFactory.CreateRouteEndpoint( template: "Home/Index/{id:int:range(1,20)}", defaults: new { controller = "Home", action = "Index" }, - constraints: new { }); + policies: new { }); var linkGenerator = CreateLinkGenerator(endpoint); var httpContext = hasHttpContext ? CreateHttpContext(new { }) : null; @@ -964,7 +1012,7 @@ namespace Microsoft.AspNetCore.Routing var endpoint = EndpointFactory.CreateRouteEndpoint( template: "Home/Index/{id:int:range(1,20)}", defaults: new { controller = "Home", action = "Index" }, - constraints: new { }); + policies: new { }); var linkGenerator = CreateLinkGenerator(endpoint); var httpContext = hasHttpContext ? CreateHttpContext(new { }) : null; @@ -989,7 +1037,7 @@ namespace Microsoft.AspNetCore.Routing var endpoint = EndpointFactory.CreateRouteEndpoint( template: "Home/Index/{name}", defaults: new { controller = "Home", action = "Index" }, - constraints: new { name = constraint }); + policies: new { name = constraint }); var linkGenerator = CreateLinkGenerator(endpoint); var httpContext = CreateHttpContext(ambientValues: new { }); diff --git a/test/Microsoft.AspNetCore.Routing.Tests/DefaultLinkGeneratorTest.cs b/test/Microsoft.AspNetCore.Routing.Tests/DefaultLinkGeneratorTest.cs index c02aec833a..f64297e791 100644 --- a/test/Microsoft.AspNetCore.Routing.Tests/DefaultLinkGeneratorTest.cs +++ b/test/Microsoft.AspNetCore.Routing.Tests/DefaultLinkGeneratorTest.cs @@ -298,11 +298,11 @@ namespace Microsoft.AspNetCore.Routing Assert.Equal("/Foo/Bar%3Fencodeme%3F/Home/In%3Fdex?query=some%3Fquery#Fragment?", path); } - private class UpperCaseParameterTransform : IParameterTransformer + private class UpperCaseParameterTransform : IOutboundParameterTransformer { - public string Transform(string value) + public string TransformOutbound(object value) { - return value?.ToUpperInvariant(); + return value?.ToString()?.ToUpperInvariant(); } } @@ -329,6 +329,29 @@ namespace Microsoft.AspNetCore.Routing Assert.Equal("/HOME/Test", link); } + [Fact] + public void GetLink_ParameterTransformer_ForQueryString() + { + // Arrange + var endpoint = EndpointFactory.CreateRouteEndpoint("{controller:upper-case}/{name}", policies: new { c = new UpperCaseParameterTransform(), }); + + var routeOptions = new RouteOptions(); + routeOptions.ConstraintMap["upper-case"] = typeof(UpperCaseParameterTransform); + + Action configure = (s) => + { + s.AddSingleton(typeof(UpperCaseParameterTransform), new UpperCaseParameterTransform()); + }; + + var linkGenerator = CreateLinkGenerator(routeOptions, configure, endpoint); + + // Act + var link = linkGenerator.GetPathByRouteValues(routeName: null, new { controller = "Home", name = "Test", c = "hithere", }); + + // Assert + Assert.Equal("/HOME/Test?c=HITHERE", link); + } + // Includes characters that need to be encoded [Fact] public void GetPathByAddress_WithHttpContext_WithPathBaseAndFragment() diff --git a/test/Microsoft.AspNetCore.Routing.Tests/EndpointFactory.cs b/test/Microsoft.AspNetCore.Routing.Tests/EndpointFactory.cs index 3ae4b79517..eb23c5daab 100644 --- a/test/Microsoft.AspNetCore.Routing.Tests/EndpointFactory.cs +++ b/test/Microsoft.AspNetCore.Routing.Tests/EndpointFactory.cs @@ -13,7 +13,7 @@ namespace Microsoft.AspNetCore.Routing public static RouteEndpoint CreateRouteEndpoint( string template, object defaults = null, - object constraints = null, + object policies = null, object requiredValues = null, int order = 0, string displayName = null, @@ -27,7 +27,7 @@ namespace Microsoft.AspNetCore.Routing return new RouteEndpoint( TestConstants.EmptyRequestDelegate, - RoutePatternFactory.Parse(template, defaults, constraints), + RoutePatternFactory.Parse(template, defaults, policies), order, new EndpointMetadataCollection(d), displayName); diff --git a/test/Microsoft.AspNetCore.Routing.Tests/Template/TemplateBinderTests.cs b/test/Microsoft.AspNetCore.Routing.Tests/Template/TemplateBinderTests.cs index e77c3cf233..5817d5ae03 100644 --- a/test/Microsoft.AspNetCore.Routing.Tests/Template/TemplateBinderTests.cs +++ b/test/Microsoft.AspNetCore.Routing.Tests/Template/TemplateBinderTests.cs @@ -5,6 +5,7 @@ using System; using System.Collections.Generic; using System.Linq; using System.Text.Encodings.Web; +using Microsoft.AspNetCore.Routing.Constraints; using Microsoft.AspNetCore.Routing.Internal; using Microsoft.AspNetCore.Routing.Patterns; using Microsoft.AspNetCore.Routing.TestObjects; @@ -1294,12 +1295,8 @@ namespace Microsoft.AspNetCore.Routing.Template.Tests public void BindValues_ParameterTransformer() { // Arrange - var routeOptions = new RouteOptions(); - routeOptions.ConstraintMap["slugify"] = typeof(SlugifyParameterTransformer); - var parameterPolicyFactory = new DefaultParameterPolicyFactory( - Options.Create(routeOptions), - new ServiceCollection().BuildServiceProvider()); var expected = "/ConventionalTransformerRoute/conventional-transformer/Param/my-value"; + var template = "ConventionalTransformerRoute/conventional-transformer/Param/{param:length(500):slugify?}"; var defaults = new RouteValueDictionary(new { controller = "ConventionalTransformer", action = "Param" }); var ambientValues = new RouteValueDictionary(new { controller = "ConventionalTransformer", action = "Param" }); @@ -1310,7 +1307,7 @@ namespace Microsoft.AspNetCore.Routing.Template.Tests RoutePatternFactory.Parse(template), defaults, requiredKeys: defaults.Keys, - parameterPolicyFactory); + parameterPolicies: new (string, IParameterPolicy)[] { ("param", new LengthRouteConstraint(500)), ("param", new SlugifyParameterTransformer()), }); // Act var result = binder.GetValues(ambientValues, explicitValues); diff --git a/test/Microsoft.AspNetCore.Routing.Tests/TestObjects/SlugifyParameterTransformer.cs b/test/Microsoft.AspNetCore.Routing.Tests/TestObjects/SlugifyParameterTransformer.cs index acf07d8cc8..625a5c3137 100644 --- a/test/Microsoft.AspNetCore.Routing.Tests/TestObjects/SlugifyParameterTransformer.cs +++ b/test/Microsoft.AspNetCore.Routing.Tests/TestObjects/SlugifyParameterTransformer.cs @@ -1,17 +1,16 @@ // Copyright (c) .NET Foundation. All rights reserved. // Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information. -using System; using System.Text.RegularExpressions; namespace Microsoft.AspNetCore.Routing.TestObjects { - public class SlugifyParameterTransformer : IParameterTransformer + public class SlugifyParameterTransformer : IOutboundParameterTransformer { - public string Transform(string value) + public string TransformOutbound(object value) { // Slugify value - return Regex.Replace(value, "([a-z])([A-Z])", "$1-$2").ToLower(); + return value == null ? null : Regex.Replace(value.ToString(), "([a-z])([A-Z])", "$1-$2").ToLower(); } } } From c559498632ece2f3b5e37126b4f05e326d102036 Mon Sep 17 00:00:00 2001 From: James Newton-King Date: Thu, 20 Sep 2018 12:41:29 -0700 Subject: [PATCH 178/221] Make parameter transformer test verifiable (#804) --- .../DefaultLinkGeneratorProcessTemplateTest.cs | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/test/Microsoft.AspNetCore.Routing.Tests/DefaultLinkGeneratorProcessTemplateTest.cs b/test/Microsoft.AspNetCore.Routing.Tests/DefaultLinkGeneratorProcessTemplateTest.cs index 497c018239..ccda24efde 100644 --- a/test/Microsoft.AspNetCore.Routing.Tests/DefaultLinkGeneratorProcessTemplateTest.cs +++ b/test/Microsoft.AspNetCore.Routing.Tests/DefaultLinkGeneratorProcessTemplateTest.cs @@ -306,8 +306,8 @@ namespace Microsoft.AspNetCore.Routing public void TryProcessTemplate_ParameterPolicy_Includes_BufferedValues() { // Arrange - var endpoint = EndpointFactory.CreateRouteEndpoint("Foo/{bar=BAR}/{id?}", policies: new { bar = new SlugifyParameterTransformer(), }); - var linkGenerator = CreateLinkGenerator(new RouteOptions() { LowercaseUrls = true }, endpoints: new[] { endpoint, }); + var endpoint = EndpointFactory.CreateRouteEndpoint("Foo/{bar=MyBar}/{id?}", policies: new { bar = new SlugifyParameterTransformer(), }); + var linkGenerator = CreateLinkGenerator(endpoints: new[] { endpoint, }); var httpContext = CreateHttpContext(); // Act @@ -321,7 +321,7 @@ namespace Microsoft.AspNetCore.Routing // Assert Assert.True(success); - Assert.Equal("/foo/bar/18", result.path.ToUriComponent()); + Assert.Equal("/Foo/my-bar/18", result.path.ToUriComponent()); Assert.Equal(string.Empty, result.query.ToUriComponent()); } From b642db5a470ee46e25fa39d4b98109801da5d3df Mon Sep 17 00:00:00 2001 From: Ryan Nowak Date: Fri, 21 Sep 2018 13:58:22 -0700 Subject: [PATCH 179/221] Revised LinkGenerator --- .../LinkGenerationTemplate.cs | 18 +- .../LinkGenerationTemplateOptions.cs | 17 ++ .../LinkGenerator.cs | 27 ++- .../DefaultLinkGenerationTemplate.cs | 66 ++++-- .../DefaultLinkGenerator.cs | 75 +++--- ...kGeneratorEndpointNameAddressExtensions.cs | 65 +++++- ...nkGeneratorRouteValuesAddressExtensions.cs | 55 ++++- .../DefaultLinkGenerationTemplateTest.cs | 78 ++++++- ...DefaultLinkGeneratorProcessTemplateTest.cs | 218 +++++++++--------- .../DefaultLinkGeneratorTest.cs | 70 +++++- ...LinkGeneratorEndpointNameExtensionsTest.cs | 40 +++- ...neratorRouteValuesAddressExtensionsTest.cs | 44 +++- 12 files changed, 572 insertions(+), 201 deletions(-) create mode 100644 src/Microsoft.AspNetCore.Routing.Abstractions/LinkGenerationTemplateOptions.cs diff --git a/src/Microsoft.AspNetCore.Routing.Abstractions/LinkGenerationTemplate.cs b/src/Microsoft.AspNetCore.Routing.Abstractions/LinkGenerationTemplate.cs index 82da67cd47..5f99df178d 100644 --- a/src/Microsoft.AspNetCore.Routing.Abstractions/LinkGenerationTemplate.cs +++ b/src/Microsoft.AspNetCore.Routing.Abstractions/LinkGenerationTemplate.cs @@ -9,7 +9,7 @@ namespace Microsoft.AspNetCore.Routing /// Defines a contract to generate a URL from a template. /// /// - /// A can be created from + /// A can be created from /// by supplying an address value which has matching endpoints. The returned /// will be bound to the endpoints matching the address that was originally provided. /// @@ -20,6 +20,9 @@ namespace Microsoft.AspNetCore.Routing /// /// The associated with the current request. /// The route values. Used to expand parameters in the route template. Optional. + /// + /// An optional URI path base. Prepended to the path in the resulting URI. If not provided, the value of will be used. + /// /// An optional URI fragment. Appended to the resulting URI. /// /// An optional . Settings on provided object override the settings with matching @@ -29,6 +32,7 @@ namespace Microsoft.AspNetCore.Routing public abstract string GetPath( HttpContext httpContext, object values, + PathString? pathBase = default, FragmentString fragment = default, LinkOptions options = default); @@ -54,6 +58,15 @@ namespace Microsoft.AspNetCore.Routing /// /// The associated with the current request. /// The route values. Used to expand parameters in the route template. Optional. + /// + /// The URI scheme, applied to the resulting URI. Optional. If not provided, the value of will be used. + /// + /// + /// The URI host/authority, applied to the resulting URI. Optional. If not provided, the value will be used. + /// + /// + /// An optional URI path base. Prepended to the path in the resulting URI. If not provided, the value of will be used. + /// /// An optional URI fragment. Appended to the resulting URI. /// /// An optional . Settings on provided object override the settings with matching @@ -63,6 +76,9 @@ namespace Microsoft.AspNetCore.Routing public abstract string GetUri( HttpContext httpContext, object values, + string scheme = default, + HostString? host = default, + PathString? pathBase = default, FragmentString fragment = default, LinkOptions options = default); diff --git a/src/Microsoft.AspNetCore.Routing.Abstractions/LinkGenerationTemplateOptions.cs b/src/Microsoft.AspNetCore.Routing.Abstractions/LinkGenerationTemplateOptions.cs new file mode 100644 index 0000000000..18eb0f8c7c --- /dev/null +++ b/src/Microsoft.AspNetCore.Routing.Abstractions/LinkGenerationTemplateOptions.cs @@ -0,0 +1,17 @@ +// Copyright (c) .NET Foundation. All rights reserved. +// Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information. + +namespace Microsoft.AspNetCore.Routing +{ + /// + /// Contains options for creating a . + /// + public class LinkGenerationTemplateOptions + { + /// + /// Gets or sets a value indicating whether the template will use route values from the current request + /// when generating a URI. + /// + public bool UseAmbientValues { get; set; } + } +} diff --git a/src/Microsoft.AspNetCore.Routing.Abstractions/LinkGenerator.cs b/src/Microsoft.AspNetCore.Routing.Abstractions/LinkGenerator.cs index e8659b3577..9f6bb0640f 100644 --- a/src/Microsoft.AspNetCore.Routing.Abstractions/LinkGenerator.cs +++ b/src/Microsoft.AspNetCore.Routing.Abstractions/LinkGenerator.cs @@ -25,12 +25,16 @@ namespace Microsoft.AspNetCore.Routing public abstract class LinkGenerator { /// - /// Generates a URI with an absolute path based on the provided values. + /// Generates a URI with an absolute path based on the provided values and . /// /// The address type. /// The associated with the current request. /// The address value. Used to resolve endpoints. /// The route values. Used to expand parameters in the route template. Optional. + /// The values associated with the current request. Optional. + /// + /// An optional URI path base. Prepended to the path in the resulting URI. If not provided, the value of will be used. + /// /// An optional URI fragment. Appended to the resulting URI. /// /// An optional . Settings on provided object override the settings with matching @@ -41,6 +45,8 @@ namespace Microsoft.AspNetCore.Routing HttpContext httpContext, TAddress address, RouteValueDictionary values, + RouteValueDictionary ambientValues = default, + PathString? pathBase = default, FragmentString fragment = default, LinkOptions options = default); @@ -65,12 +71,22 @@ namespace Microsoft.AspNetCore.Routing LinkOptions options = default); /// - /// Generates an absolute URI based on the provided values. + /// Generates an absolute URI based on the provided values and . /// /// The address type. /// The associated with the current request. /// The address value. Used to resolve endpoints. /// The route values. Used to expand parameters in the route template. Optional. + /// The values associated with the current request. Optional. + /// + /// The URI scheme, applied to the resulting URI. Optional. If not provided, the value of will be used. + /// + /// + /// The URI host/authority, applied to the resulting URI. Optional. If not provided, the value will be used. + /// + /// + /// An optional URI path base. Prepended to the path in the resulting URI. If not provided, the value of will be used. + /// /// An optional URI fragment. Appended to the resulting URI. /// /// An optional . Settings on provided object override the settings with matching @@ -81,6 +97,10 @@ namespace Microsoft.AspNetCore.Routing HttpContext httpContext, TAddress address, RouteValueDictionary values, + RouteValueDictionary ambientValues = default, + string scheme = default, + HostString? host = default, + PathString? pathBase = default, FragmentString fragment = default, LinkOptions options = default); @@ -113,9 +133,10 @@ namespace Microsoft.AspNetCore.Routing /// /// The address type. /// The address value. Used to resolve endpoints. + /// Options for the created . /// /// A if one or more endpoints matching the address can be found, otherwise null. /// - public abstract LinkGenerationTemplate GetTemplateByAddress(TAddress address); + public abstract LinkGenerationTemplate GetTemplateByAddress(TAddress address, LinkGenerationTemplateOptions options = null); } } diff --git a/src/Microsoft.AspNetCore.Routing/DefaultLinkGenerationTemplate.cs b/src/Microsoft.AspNetCore.Routing/DefaultLinkGenerationTemplate.cs index b1beb67b1b..d1f83ca6e0 100644 --- a/src/Microsoft.AspNetCore.Routing/DefaultLinkGenerationTemplate.cs +++ b/src/Microsoft.AspNetCore.Routing/DefaultLinkGenerationTemplate.cs @@ -1,29 +1,33 @@ // Copyright (c) .NET Foundation. All rights reserved. // Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information. +using Microsoft.AspNetCore.Http; using System; using System.Collections.Generic; -using Microsoft.AspNetCore.Http; namespace Microsoft.AspNetCore.Routing { internal sealed class DefaultLinkGenerationTemplate : LinkGenerationTemplate { - public DefaultLinkGenerationTemplate(DefaultLinkGenerator linkGenerator, List endpoints) + public DefaultLinkGenerationTemplate(DefaultLinkGenerator linkGenerator, List endpoints, LinkGenerationTemplateOptions options) { LinkGenerator = linkGenerator; Endpoints = endpoints; + Options = options; } public DefaultLinkGenerator LinkGenerator { get; } public List Endpoints { get; } + public LinkGenerationTemplateOptions Options { get; } + public override string GetPath( HttpContext httpContext, object values, + PathString? pathBase = default, FragmentString fragment = default, - LinkOptions options = null) + LinkOptions options = default) { if (httpContext == null) { @@ -32,9 +36,9 @@ namespace Microsoft.AspNetCore.Routing return LinkGenerator.GetPathByEndpoints( Endpoints, - DefaultLinkGenerator.GetAmbientValues(httpContext), new RouteValueDictionary(values), - httpContext.Request.PathBase, + GetAmbientValues(httpContext), + pathBase ?? httpContext.Request.PathBase, fragment, options); } @@ -43,22 +47,25 @@ namespace Microsoft.AspNetCore.Routing object values, PathString pathBase = default, FragmentString fragment = default, - LinkOptions options = null) + LinkOptions options = default) { return LinkGenerator.GetPathByEndpoints( Endpoints, - ambientValues: null, new RouteValueDictionary(values), - pathBase, - fragment, - options); + ambientValues: null, + pathBase: pathBase, + fragment: fragment, + options: options); } public override string GetUri( HttpContext httpContext, object values, + string scheme = default, + HostString? host = default, + PathString? pathBase = default, FragmentString fragment = default, - LinkOptions options = null) + LinkOptions options = default) { if (httpContext == null) { @@ -67,11 +74,11 @@ namespace Microsoft.AspNetCore.Routing return LinkGenerator.GetUriByEndpoints( Endpoints, - DefaultLinkGenerator.GetAmbientValues(httpContext), new RouteValueDictionary(values), - httpContext.Request.Scheme, - httpContext.Request.Host, - httpContext.Request.PathBase, + GetAmbientValues(httpContext), + scheme ?? httpContext.Request.Scheme, + host ?? httpContext.Request.Host, + pathBase ?? httpContext.Request.PathBase, fragment, options); } @@ -82,17 +89,32 @@ namespace Microsoft.AspNetCore.Routing HostString host, PathString pathBase = default, FragmentString fragment = default, - LinkOptions options = null) + LinkOptions options = default) { + if (string.IsNullOrEmpty(scheme)) + { + throw new ArgumentException("A scheme must be provided.", nameof(scheme)); + } + + if (!host.HasValue) + { + throw new ArgumentException("A host must be provided.", nameof(host)); + } + return LinkGenerator.GetUriByEndpoints( Endpoints, - ambientValues: null, new RouteValueDictionary(values), - scheme, - host, - pathBase, - fragment, - options); + ambientValues: null, + scheme: scheme, + host: host, + pathBase: pathBase, + fragment: fragment, + options: options); + } + + private RouteValueDictionary GetAmbientValues(HttpContext httpContext) + { + return (Options?.UseAmbientValues ?? false) ? DefaultLinkGenerator.GetAmbientValues(httpContext) : null; } } } diff --git a/src/Microsoft.AspNetCore.Routing/DefaultLinkGenerator.cs b/src/Microsoft.AspNetCore.Routing/DefaultLinkGenerator.cs index c303c5dcb2..7bd41daeaa 100644 --- a/src/Microsoft.AspNetCore.Routing/DefaultLinkGenerator.cs +++ b/src/Microsoft.AspNetCore.Routing/DefaultLinkGenerator.cs @@ -73,6 +73,8 @@ namespace Microsoft.AspNetCore.Routing HttpContext httpContext, TAddress address, RouteValueDictionary values, + RouteValueDictionary ambientValues = default, + PathString? pathBase = default, FragmentString fragment = default, LinkOptions options = null) { @@ -89,9 +91,9 @@ namespace Microsoft.AspNetCore.Routing return GetPathByEndpoints( endpoints, - GetAmbientValues(httpContext), values, - httpContext.Request.PathBase, + ambientValues, + pathBase ?? httpContext.Request.PathBase, fragment, options); } @@ -111,17 +113,21 @@ namespace Microsoft.AspNetCore.Routing return GetPathByEndpoints( endpoints, - ambientValues: null, values, - pathBase, - fragment, - options); + ambientValues: null, + pathBase: pathBase, + fragment: fragment, + options: options); } public override string GetUriByAddress( HttpContext httpContext, TAddress address, RouteValueDictionary values, + RouteValueDictionary ambientValues = default, + string scheme = default, + HostString? host = default, + PathString? pathBase = default, FragmentString fragment = default, LinkOptions options = null) { @@ -138,11 +144,11 @@ namespace Microsoft.AspNetCore.Routing return GetUriByEndpoints( endpoints, - GetAmbientValues(httpContext), values, - httpContext.Request.Scheme, - httpContext.Request.Host, - httpContext.Request.PathBase, + ambientValues, + scheme ?? httpContext.Request.Scheme, + host ?? httpContext.Request.Host, + pathBase ?? httpContext.Request.PathBase, fragment, options); } @@ -156,9 +162,14 @@ namespace Microsoft.AspNetCore.Routing FragmentString fragment = default, LinkOptions options = null) { + if (string.IsNullOrEmpty(scheme)) + { + throw new ArgumentException("A scheme must be provided.", nameof(scheme)); + } + if (!host.HasValue) { - throw new ArgumentNullException(nameof(host)); + throw new ArgumentException("A host must be provided.", nameof(host)); } var endpoints = GetEndpoints(address); @@ -169,16 +180,16 @@ namespace Microsoft.AspNetCore.Routing return GetUriByEndpoints( endpoints, - ambientValues: null, values, - scheme, - host, - pathBase, - fragment, - options); + ambientValues: null, + scheme: scheme, + host: host, + pathBase: pathBase, + fragment: fragment, + options: options); } - public override LinkGenerationTemplate GetTemplateByAddress(TAddress address) + public override LinkGenerationTemplate GetTemplateByAddress(TAddress address, LinkGenerationTemplateOptions options = default) { var endpoints = GetEndpoints(address); if (endpoints.Count == 0) @@ -186,7 +197,7 @@ namespace Microsoft.AspNetCore.Routing return null; } - return new DefaultLinkGenerationTemplate(this, endpoints); + return new DefaultLinkGenerationTemplate(this, endpoints, options); } private List GetEndpoints(TAddress address) @@ -209,8 +220,8 @@ namespace Microsoft.AspNetCore.Routing // Also called from DefaultLinkGenerationTemplate public string GetPathByEndpoints( List endpoints, - RouteValueDictionary ambientValues, RouteValueDictionary values, + RouteValueDictionary ambientValues, PathString pathBase, FragmentString fragment, LinkOptions options) @@ -220,11 +231,11 @@ namespace Microsoft.AspNetCore.Routing var endpoint = endpoints[i]; if (TryProcessTemplate( httpContext: null, - endpoint, + endpoint: endpoint, + values: values, ambientValues: ambientValues, - values, - options, - out var result)) + options: options, + result: out var result)) { var uri = UriHelper.BuildRelative( pathBase, @@ -243,8 +254,8 @@ namespace Microsoft.AspNetCore.Routing // Also called from DefaultLinkGenerationTemplate public string GetUriByEndpoints( List endpoints, - RouteValueDictionary ambientValues, RouteValueDictionary values, + RouteValueDictionary ambientValues, string scheme, HostString host, PathString pathBase, @@ -256,11 +267,11 @@ namespace Microsoft.AspNetCore.Routing var endpoint = endpoints[i]; if (TryProcessTemplate( httpContext: null, - endpoint, + endpoint: endpoint, + values: values, ambientValues: ambientValues, - values, - options, - out var result)) + options: options, + result: out var result)) { var uri = UriHelper.BuildAbsolute( scheme, @@ -323,19 +334,19 @@ namespace Microsoft.AspNetCore.Routing internal bool TryProcessTemplate( HttpContext httpContext, RouteEndpoint endpoint, + RouteValueDictionary values, RouteValueDictionary ambientValues, - RouteValueDictionary explicitValues, LinkOptions options, out (PathString path, QueryString query) result) { var templateBinder = GetTemplateBinder(endpoint); - var templateValuesResult = templateBinder.GetValues(ambientValues, explicitValues); + var templateValuesResult = templateBinder.GetValues(ambientValues, values); if (templateValuesResult == null) { // We're missing one of the required values for this route. result = default; - Log.TemplateFailedRequiredValues(_logger, endpoint, ambientValues, explicitValues); + Log.TemplateFailedRequiredValues(_logger, endpoint, ambientValues, values); return false; } diff --git a/src/Microsoft.AspNetCore.Routing/LinkGeneratorEndpointNameAddressExtensions.cs b/src/Microsoft.AspNetCore.Routing/LinkGeneratorEndpointNameAddressExtensions.cs index ab65be757e..a5904d1071 100644 --- a/src/Microsoft.AspNetCore.Routing/LinkGeneratorEndpointNameAddressExtensions.cs +++ b/src/Microsoft.AspNetCore.Routing/LinkGeneratorEndpointNameAddressExtensions.cs @@ -11,6 +11,11 @@ namespace Microsoft.AspNetCore.Routing /// public static class LinkGeneratorEndpointNameAddressExtensions { + private static readonly LinkGenerationTemplateOptions _templateOptions = new LinkGenerationTemplateOptions() + { + UseAmbientValues = false, + }; + /// /// Generates a URI with an absolute path based on the provided values. /// @@ -18,6 +23,9 @@ namespace Microsoft.AspNetCore.Routing /// The associated with the current request. /// The endpoint name. Used to resolve endpoints. /// The route values. Used to expand parameters in the route template. Optional. + /// + /// An optional URI path base. Prepended to the path in the resulting URI. If not provided, the value of will be used. + /// /// An optional URI fragment. Appended to the resulting URI. /// /// An optional . Settings on provided object override the settings with matching @@ -29,6 +37,7 @@ namespace Microsoft.AspNetCore.Routing HttpContext httpContext, string endpointName, object values, + PathString? pathBase = default, FragmentString fragment = default, LinkOptions options = default) { @@ -37,12 +46,24 @@ namespace Microsoft.AspNetCore.Routing throw new ArgumentNullException(nameof(generator)); } + if (httpContext == null) + { + throw new ArgumentNullException(nameof(httpContext)); + } + if (endpointName == null) { throw new ArgumentNullException(nameof(endpointName)); } - return generator.GetPathByAddress(httpContext, endpointName, new RouteValueDictionary(values), fragment, options); + return generator.GetPathByAddress( + httpContext, + endpointName, + new RouteValueDictionary(values), + ambientValues: null, + pathBase, + fragment, + options); } /// @@ -86,6 +107,15 @@ namespace Microsoft.AspNetCore.Routing /// The associated with the current request. /// The endpoint name. Used to resolve endpoints. /// The route values. Used to expand parameters in the route template. Optional. + /// + /// The URI scheme, applied to the resulting URI. Optional. If not provided, the value of will be used. + /// + /// + /// The URI host/authority, applied to the resulting URI. Optional. If not provided, the value will be used. + /// + /// + /// An optional URI path base. Prepended to the path in the resulting URI. If not provided, the value of will be used. + /// /// An optional URI fragment. Appended to the resulting URI. /// /// An optional . Settings on provided object override the settings with matching @@ -97,6 +127,9 @@ namespace Microsoft.AspNetCore.Routing HttpContext httpContext, string endpointName, object values, + string scheme = default, + HostString? host = default, + PathString? pathBase = default, FragmentString fragment = default, LinkOptions options = default) { @@ -105,12 +138,26 @@ namespace Microsoft.AspNetCore.Routing throw new ArgumentNullException(nameof(generator)); } + if (httpContext == null) + { + throw new ArgumentNullException(nameof(httpContext)); + } + if (endpointName == null) { throw new ArgumentNullException(nameof(endpointName)); } - return generator.GetUriByAddress(httpContext, endpointName, new RouteValueDictionary(values), fragment, options); + return generator.GetUriByAddress( + httpContext, + endpointName, + new RouteValueDictionary(values), + ambientValues: null, + scheme, + host, + pathBase, + fragment, + options); } /// @@ -147,7 +194,17 @@ namespace Microsoft.AspNetCore.Routing { throw new ArgumentNullException(nameof(endpointName)); } - + + if (string.IsNullOrEmpty(scheme)) + { + throw new ArgumentException("A scheme must be provided.", nameof(scheme)); + } + + if (!host.HasValue) + { + throw new ArgumentException("A host must be provided.", nameof(host)); + } + return generator.GetUriByAddress(endpointName, new RouteValueDictionary(values), scheme, host, pathBase, fragment, options); } @@ -171,7 +228,7 @@ namespace Microsoft.AspNetCore.Routing throw new ArgumentNullException(nameof(endpointName)); } - return generator.GetTemplateByAddress(endpointName); + return generator.GetTemplateByAddress(endpointName, _templateOptions); } } } diff --git a/src/Microsoft.AspNetCore.Routing/LinkGeneratorRouteValuesAddressExtensions.cs b/src/Microsoft.AspNetCore.Routing/LinkGeneratorRouteValuesAddressExtensions.cs index 3f8014f8e2..a2bffc01ef 100644 --- a/src/Microsoft.AspNetCore.Routing/LinkGeneratorRouteValuesAddressExtensions.cs +++ b/src/Microsoft.AspNetCore.Routing/LinkGeneratorRouteValuesAddressExtensions.cs @@ -11,6 +11,11 @@ namespace Microsoft.AspNetCore.Routing /// public static class LinkGeneratorRouteValuesAddressExtensions { + private static readonly LinkGenerationTemplateOptions _templateOptions = new LinkGenerationTemplateOptions() + { + UseAmbientValues = true, + }; + /// /// Generates a URI with an absolute path based on the provided values. /// @@ -18,6 +23,9 @@ namespace Microsoft.AspNetCore.Routing /// The associated with the current request. /// The route name. Used to resolve endpoints. Optional. /// The route values. Used to resolve endpoints and expand parameters in the route template. Optional. + /// + /// An optional URI path base. Prepended to the path in the resulting URI. If not provided, the value of will be used. + /// /// An optional URI fragment. Appended to the resulting URI. /// /// An optional . Settings on provided object override the settings with matching @@ -29,6 +37,7 @@ namespace Microsoft.AspNetCore.Routing HttpContext httpContext, string routeName, object values, + PathString? pathBase = default, FragmentString fragment = default, LinkOptions options = default) { @@ -37,8 +46,20 @@ namespace Microsoft.AspNetCore.Routing throw new ArgumentNullException(nameof(generator)); } + if (httpContext == null) + { + throw new ArgumentNullException(nameof(httpContext)); + } + var address = CreateAddress(httpContext, routeName, values); - return generator.GetPathByAddress(httpContext, address, address.ExplicitValues, fragment, options); + return generator.GetPathByAddress( + httpContext, + address, + address.ExplicitValues, + address.AmbientValues, + pathBase, + fragment, + options); } /// @@ -78,6 +99,15 @@ namespace Microsoft.AspNetCore.Routing /// The associated with the current request. /// The route name. Used to resolve endpoints. Optional. /// The route values. Used to resolve endpoints and expand parameters in the route template. Optional. + /// + /// The URI scheme, applied to the resulting URI. Optional. If not provided, the value of will be used. + /// + /// + /// The URI host/authority, applied to the resulting URI. Optional. If not provided, the value will be used. + /// + /// + /// An optional URI path base. Prepended to the path in the resulting URI. If not provided, the value of will be used. + /// /// An optional URI fragment. Appended to the resulting URI. /// /// An optional . Settings on provided object override the settings with matching @@ -89,6 +119,9 @@ namespace Microsoft.AspNetCore.Routing HttpContext httpContext, string routeName, object values, + string scheme = default, + HostString? host = default, + PathString? pathBase = default, FragmentString fragment = default, LinkOptions options = default) { @@ -97,8 +130,22 @@ namespace Microsoft.AspNetCore.Routing throw new ArgumentNullException(nameof(generator)); } + if (httpContext == null) + { + throw new ArgumentNullException(nameof(httpContext)); + } + var address = CreateAddress(httpContext: null, routeName, values); - return generator.GetUriByAddress(httpContext, address, address.ExplicitValues, fragment, options); + return generator.GetUriByAddress( + httpContext, + address, + address.ExplicitValues, + address.AmbientValues, + scheme, + host, + pathBase, + fragment, + options); } /// @@ -155,9 +202,9 @@ namespace Microsoft.AspNetCore.Routing } var address = CreateAddress(httpContext: null, routeName, values); - return generator.GetTemplateByAddress(address); + return generator.GetTemplateByAddress(address, _templateOptions); } - + private static RouteValuesAddress CreateAddress(HttpContext httpContext, string routeName, object values) { return new RouteValuesAddress() diff --git a/test/Microsoft.AspNetCore.Routing.Tests/DefaultLinkGenerationTemplateTest.cs b/test/Microsoft.AspNetCore.Routing.Tests/DefaultLinkGenerationTemplateTest.cs index f76eec2f75..12f797fdea 100644 --- a/test/Microsoft.AspNetCore.Routing.Tests/DefaultLinkGenerationTemplateTest.cs +++ b/test/Microsoft.AspNetCore.Routing.Tests/DefaultLinkGenerationTemplateTest.cs @@ -22,7 +22,7 @@ namespace Microsoft.AspNetCore.Routing var endpoint2 = EndpointFactory.CreateRouteEndpoint("{controller}/{action}/{id?}"); var linkGenerator = CreateLinkGenerator(); - var template = new DefaultLinkGenerationTemplate(linkGenerator, new List() { endpoint1, endpoint2, }); + var template = new DefaultLinkGenerationTemplate(linkGenerator, new List() { endpoint1, endpoint2, }, options: null); // Act var path = template.GetPath( @@ -43,7 +43,7 @@ namespace Microsoft.AspNetCore.Routing var endpoint2 = EndpointFactory.CreateRouteEndpoint("{controller}/{action}/{id?}"); var linkGenerator = CreateLinkGenerator(); - var template = new DefaultLinkGenerationTemplate(linkGenerator, new List() { endpoint1, endpoint2, }); + var template = new DefaultLinkGenerationTemplate(linkGenerator, new List() { endpoint1, endpoint2, }, options: null); var httpContext = CreateHttpContext(); httpContext.Request.PathBase = new PathString("/Foo/Bar?encodeme?"); @@ -52,8 +52,8 @@ namespace Microsoft.AspNetCore.Routing var path = template.GetPath( httpContext, values: new RouteValueDictionary(new { controller = "Home", action = "In?dex", query = "some?query" }), - new FragmentString("#Fragment?"), - new LinkOptions() { AppendTrailingSlash = true, }); + fragment: new FragmentString("#Fragment?"), + options: new LinkOptions() { AppendTrailingSlash = true, }); // Assert Assert.Equal("/Foo/Bar%3Fencodeme%3F/Home/In%3Fdex/?query=some%3Fquery#Fragment?", path); @@ -67,7 +67,7 @@ namespace Microsoft.AspNetCore.Routing var endpoint2 = EndpointFactory.CreateRouteEndpoint("{controller}/{action}/{id?}"); var linkGenerator = CreateLinkGenerator(); - var template = new DefaultLinkGenerationTemplate(linkGenerator, new List() { endpoint1, endpoint2, }); + var template = new DefaultLinkGenerationTemplate(linkGenerator, new List() { endpoint1, endpoint2, }, options: null); // Act var path = template.GetUri( @@ -90,7 +90,7 @@ namespace Microsoft.AspNetCore.Routing var endpoint2 = EndpointFactory.CreateRouteEndpoint("{controller}/{action}/{id?}"); var linkGenerator = CreateLinkGenerator(); - var template = new DefaultLinkGenerationTemplate(linkGenerator, new List() { endpoint1, endpoint2, }); + var template = new DefaultLinkGenerationTemplate(linkGenerator, new List() { endpoint1, endpoint2, }, options: null); var httpContext = CreateHttpContext(); httpContext.Request.Scheme = "http"; @@ -101,22 +101,25 @@ namespace Microsoft.AspNetCore.Routing var uri = template.GetUri( httpContext, values: new RouteValueDictionary(new { controller = "Home", action = "In?dex", query = "some?query" }), - new FragmentString("#Fragment?"), - new LinkOptions() { AppendTrailingSlash = true, }); + fragment: new FragmentString("#Fragment?"), + options: new LinkOptions() { AppendTrailingSlash = true, }); // Assert Assert.Equal("http://example.com/Foo/Bar%3Fencodeme%3F/Home/In%3Fdex/?query=some%3Fquery#Fragment?", uri); } [Fact] - public void GetPath_WithHttpContext_IncludesAmbientValues() + public void GetPath_WithHttpContext_IncludesAmbientValues_WhenUseAmbientValuesIsTrue() { // Arrange var endpoint1 = EndpointFactory.CreateRouteEndpoint("{controller}/{action}/{id}"); var endpoint2 = EndpointFactory.CreateRouteEndpoint("{controller}/{action}/{id?}"); var linkGenerator = CreateLinkGenerator(); - var template = new DefaultLinkGenerationTemplate(linkGenerator, new List() { endpoint1, endpoint2, }); + var template = new DefaultLinkGenerationTemplate(linkGenerator, new List() { endpoint1, endpoint2, }, options: new LinkGenerationTemplateOptions() + { + UseAmbientValues = true, + }); var httpContext = CreateHttpContext(new { controller = "Home", }); httpContext.Request.Scheme = "http"; @@ -130,14 +133,41 @@ namespace Microsoft.AspNetCore.Routing } [Fact] - public void GetUri_WithHttpContext_IncludesAmbientValues() + public void GetPath_WithHttpContext_ExcludesAmbientValues_WhenUseAmbientValuesIsFalse() { // Arrange var endpoint1 = EndpointFactory.CreateRouteEndpoint("{controller}/{action}/{id}"); var endpoint2 = EndpointFactory.CreateRouteEndpoint("{controller}/{action}/{id?}"); var linkGenerator = CreateLinkGenerator(); - var template = new DefaultLinkGenerationTemplate(linkGenerator, new List() { endpoint1, endpoint2, }); + var template = new DefaultLinkGenerationTemplate(linkGenerator, new List() { endpoint1, endpoint2, }, options: new LinkGenerationTemplateOptions() + { + UseAmbientValues = false, + }); + + var httpContext = CreateHttpContext(new { controller = "Home", }); + httpContext.Request.Scheme = "http"; + httpContext.Request.Host = new HostString("example.com"); + + // Act + var uri = template.GetPath(httpContext, values: new RouteValueDictionary(new { action = "Index", })); + + // Assert + Assert.Null(uri); + } + + [Fact] + public void GetUri_WithHttpContext_IncludesAmbientValues_WhenUseAmbientValuesIsTrue() + { + // Arrange + var endpoint1 = EndpointFactory.CreateRouteEndpoint("{controller}/{action}/{id}"); + var endpoint2 = EndpointFactory.CreateRouteEndpoint("{controller}/{action}/{id?}"); + + var linkGenerator = CreateLinkGenerator(); + var template = new DefaultLinkGenerationTemplate(linkGenerator, new List() { endpoint1, endpoint2, }, options: new LinkGenerationTemplateOptions() + { + UseAmbientValues = true, + }); var httpContext = CreateHttpContext(new { controller = "Home", }); httpContext.Request.Scheme = "http"; @@ -149,5 +179,29 @@ namespace Microsoft.AspNetCore.Routing // Assert Assert.Equal("http://example.com/Home/Index", uri); } + + [Fact] + public void GetUri_WithHttpContext_ExcludesAmbientValues_WhenUseAmbientValuesIsFalse() + { + // Arrange + var endpoint1 = EndpointFactory.CreateRouteEndpoint("{controller}/{action}/{id}"); + var endpoint2 = EndpointFactory.CreateRouteEndpoint("{controller}/{action}/{id?}"); + + var linkGenerator = CreateLinkGenerator(); + var template = new DefaultLinkGenerationTemplate(linkGenerator, new List() { endpoint1, endpoint2, }, options: new LinkGenerationTemplateOptions() + { + UseAmbientValues = false, + }); + + var httpContext = CreateHttpContext(new { controller = "Home", }); + httpContext.Request.Scheme = "http"; + httpContext.Request.Host = new HostString("example.com"); + + // Act + var uri = template.GetUri(httpContext, values: new { action = "Index", }); + + // Assert + Assert.Null(uri); + } } } diff --git a/test/Microsoft.AspNetCore.Routing.Tests/DefaultLinkGeneratorProcessTemplateTest.cs b/test/Microsoft.AspNetCore.Routing.Tests/DefaultLinkGeneratorProcessTemplateTest.cs index ccda24efde..4f6792b47f 100644 --- a/test/Microsoft.AspNetCore.Routing.Tests/DefaultLinkGeneratorProcessTemplateTest.cs +++ b/test/Microsoft.AspNetCore.Routing.Tests/DefaultLinkGeneratorProcessTemplateTest.cs @@ -25,10 +25,10 @@ namespace Microsoft.AspNetCore.Routing var success = linkGenerator.TryProcessTemplate( httpContext: null, endpoint: endpoint, + values: new RouteValueDictionary(new { p1 = "Home", p3 = "bar", }), ambientValues: null, - explicitValues: new RouteValueDictionary(new { p1 = "Home", p3 = "bar", }), options: null, - out var result); + result: out var result); // Assert Assert.True(success); @@ -50,10 +50,10 @@ namespace Microsoft.AspNetCore.Routing var success = linkGenerator.TryProcessTemplate( httpContext: httpContext, endpoint: endpoint, + values: new RouteValueDictionary(new { path = routeValue, }), ambientValues: DefaultLinkGenerator.GetAmbientValues(httpContext), - explicitValues: new RouteValueDictionary(new { path = routeValue, }), options: null, - out var result); + result: out var result); // Assert Assert.True(success); @@ -82,10 +82,10 @@ namespace Microsoft.AspNetCore.Routing var success = linkGenerator.TryProcessTemplate( httpContext: httpContext, endpoint: endpoint, + values: new RouteValueDictionary(new { path = routeValue, }), ambientValues: DefaultLinkGenerator.GetAmbientValues(httpContext), - explicitValues: new RouteValueDictionary(new { path = routeValue, }), options: null, - out var result); + result: out var result); // Assert Assert.True(success); @@ -105,10 +105,10 @@ namespace Microsoft.AspNetCore.Routing var success = linkGenerator.TryProcessTemplate( httpContext: httpContext, endpoint: endpoint, + values: new RouteValueDictionary(new { path = "a/b b1/c c1" }), ambientValues: DefaultLinkGenerator.GetAmbientValues(httpContext), - explicitValues: new RouteValueDictionary(new { path = "a/b b1/c c1" }), options: null, - out var result); + result: out var result); // Assert Assert.True(success); @@ -128,10 +128,10 @@ namespace Microsoft.AspNetCore.Routing var success = linkGenerator.TryProcessTemplate( httpContext: httpContext, endpoint: endpoint, + values: new RouteValueDictionary(new { name = "name with %special #characters" }), ambientValues: DefaultLinkGenerator.GetAmbientValues(httpContext), - explicitValues: new RouteValueDictionary(new { name = "name with %special #characters" }), options: null, - out var result); + result: out var result); // Assert Assert.True(success); @@ -151,10 +151,10 @@ namespace Microsoft.AspNetCore.Routing var success = linkGenerator.TryProcessTemplate( httpContext: httpContext, endpoint: endpoint, + values: new RouteValueDictionary(new { color = new List { "red", "green", "blue" } }), ambientValues: DefaultLinkGenerator.GetAmbientValues(httpContext), - explicitValues: new RouteValueDictionary(new { color = new List { "red", "green", "blue" } }), options: null, - out var result); + result: out var result); // Assert Assert.True(success); @@ -174,10 +174,10 @@ namespace Microsoft.AspNetCore.Routing var success = linkGenerator.TryProcessTemplate( httpContext: httpContext, endpoint: endpoint, + values: new RouteValueDictionary(new { items = new List { 10, 20, 30 } }), ambientValues: DefaultLinkGenerator.GetAmbientValues(httpContext), - explicitValues: new RouteValueDictionary(new { items = new List { 10, 20, 30 } }), options: null, - out var result); + result: out var result); // Assert Assert.True(success); @@ -197,10 +197,10 @@ namespace Microsoft.AspNetCore.Routing var success = linkGenerator.TryProcessTemplate( httpContext: httpContext, endpoint: endpoint, + values: new RouteValueDictionary(new { color = new List { } }), ambientValues: DefaultLinkGenerator.GetAmbientValues(httpContext), - explicitValues: new RouteValueDictionary(new { color = new List { } }), options: null, - out var result); + result: out var result); // Assert Assert.True(success); @@ -220,10 +220,10 @@ namespace Microsoft.AspNetCore.Routing var success = linkGenerator.TryProcessTemplate( httpContext: httpContext, endpoint: endpoint, + values: new RouteValueDictionary(new { page = 1, color = new List { "red", "green", "blue" }, message = "textfortest" }), ambientValues: DefaultLinkGenerator.GetAmbientValues(httpContext), - explicitValues: new RouteValueDictionary(new { page = 1, color = new List { "red", "green", "blue" }, message = "textfortest" }), options: null, - out var result); + result: out var result); // Assert Assert.True(success); @@ -243,10 +243,10 @@ namespace Microsoft.AspNetCore.Routing var success = linkGenerator.TryProcessTemplate( httpContext: httpContext, endpoint: endpoint, + values: new RouteValueDictionary(new { action = "Index" }), ambientValues: DefaultLinkGenerator.GetAmbientValues(httpContext), - explicitValues: new RouteValueDictionary(new { action = "Index" }), options: null, - out var result); + result: out var result); // Assert Assert.True(success); @@ -266,10 +266,10 @@ namespace Microsoft.AspNetCore.Routing var success = linkGenerator.TryProcessTemplate( httpContext: httpContext, endpoint: endpoint, + values: new RouteValueDictionary(new { action = "Index" }), ambientValues: DefaultLinkGenerator.GetAmbientValues(httpContext), - explicitValues: new RouteValueDictionary(new { action = "Index" }), options: null, - out var result); + result: out var result); // Assert Assert.True(success); @@ -290,10 +290,10 @@ namespace Microsoft.AspNetCore.Routing var success = linkGenerator.TryProcessTemplate( httpContext: httpContext, endpoint: endpoint, + values: new RouteValueDictionary(new { id = "18" }), ambientValues: DefaultLinkGenerator.GetAmbientValues(httpContext), - explicitValues: new RouteValueDictionary(new { id = "18" }), options: null, - out var result); + result: out var result); // Assert Assert.True(success); @@ -314,10 +314,10 @@ namespace Microsoft.AspNetCore.Routing var success = linkGenerator.TryProcessTemplate( httpContext: httpContext, endpoint: endpoint, + values: new RouteValueDictionary(new { id = "18" }), ambientValues: DefaultLinkGenerator.GetAmbientValues(httpContext), - explicitValues: new RouteValueDictionary(new { id = "18" }), options: null, - out var result); + result: out var result); // Assert Assert.True(success); @@ -341,10 +341,10 @@ namespace Microsoft.AspNetCore.Routing var success = linkGenerator.TryProcessTemplate( httpContext: httpContext, endpoint: endpoint, - ambientValues: DefaultLinkGenerator.GetAmbientValues(httpContext), - explicitValues: new RouteValueDictionary(new { action = "П" }), // Cryillic uppercase Pe + values: new RouteValueDictionary(new { action = "П" }), + ambientValues: DefaultLinkGenerator.GetAmbientValues(httpContext), // Cryillic uppercase Pe options: null, - out var result); + result: out var result); // Assert Assert.True(success); @@ -371,10 +371,10 @@ namespace Microsoft.AspNetCore.Routing var success = linkGenerator.TryProcessTemplate( httpContext: httpContext, endpoint: endpoint, + values: new RouteValueDictionary(new { action = "Index", ShowStatus = "True", INFO = "DETAILED" }), ambientValues: DefaultLinkGenerator.GetAmbientValues(httpContext), - explicitValues: new RouteValueDictionary(new { action = "Index", ShowStatus = "True", INFO = "DETAILED" }), options: null, - out var result); + result: out var result); // Assert Assert.True(success); @@ -396,10 +396,10 @@ namespace Microsoft.AspNetCore.Routing var success = linkGenerator.TryProcessTemplate( httpContext: httpContext, endpoint: endpoint, + values: new RouteValueDictionary(new { action = "Index" }), ambientValues: DefaultLinkGenerator.GetAmbientValues(httpContext), - explicitValues: new RouteValueDictionary(new { action = "Index" }), options: null, - out var result); + result: out var result); // Assert Assert.True(success); @@ -421,10 +421,10 @@ namespace Microsoft.AspNetCore.Routing var success = linkGenerator.TryProcessTemplate( httpContext: httpContext, endpoint: endpoint, + values: new RouteValueDictionary(new { action = "Index", ShowStatus = "True", INFO = "DETAILED" }), ambientValues: DefaultLinkGenerator.GetAmbientValues(httpContext), - explicitValues: new RouteValueDictionary(new { action = "Index", ShowStatus = "True", INFO = "DETAILED" }), options: null, - out var result); + result: out var result); // Assert Assert.True(success); @@ -446,13 +446,13 @@ namespace Microsoft.AspNetCore.Routing var success = linkGenerator.TryProcessTemplate( httpContext: httpContext, endpoint: endpoint, + values: new RouteValueDictionary(new { action = "InDex" }), ambientValues: DefaultLinkGenerator.GetAmbientValues(httpContext), - explicitValues: new RouteValueDictionary(new { action = "InDex" }), options: new LinkOptions { LowercaseUrls = false }, - out var result); + result: out var result); // Assert @@ -475,13 +475,13 @@ namespace Microsoft.AspNetCore.Routing var success = linkGenerator.TryProcessTemplate( httpContext: httpContext, endpoint: endpoint, + values: new RouteValueDictionary(new { action = "InDex" }), ambientValues: DefaultLinkGenerator.GetAmbientValues(httpContext), - explicitValues: new RouteValueDictionary(new { action = "InDex" }), options: new LinkOptions() { LowercaseUrls = true }, - out var result); + result: out var result); // Assert Assert.True(success); @@ -503,14 +503,14 @@ namespace Microsoft.AspNetCore.Routing var success = linkGenerator.TryProcessTemplate( httpContext: httpContext, endpoint: endpoint, + values: new RouteValueDictionary(new { action = "Index", ShowStatus = "True", INFO = "DETAILED" }), ambientValues: DefaultLinkGenerator.GetAmbientValues(httpContext), - explicitValues: new RouteValueDictionary(new { action = "Index", ShowStatus = "True", INFO = "DETAILED" }), options: new LinkOptions { LowercaseUrls = false, LowercaseQueryStrings = false }, - out var result); + result: out var result); // Assert Assert.True(success); @@ -532,14 +532,14 @@ namespace Microsoft.AspNetCore.Routing var success = linkGenerator.TryProcessTemplate( httpContext: httpContext, endpoint: endpoint, + values: new RouteValueDictionary(new { action = "Index", ShowStatus = "True", INFO = "DETAILED" }), ambientValues: DefaultLinkGenerator.GetAmbientValues(httpContext), - explicitValues: new RouteValueDictionary(new { action = "Index", ShowStatus = "True", INFO = "DETAILED" }), options: new LinkOptions() { LowercaseUrls = true, LowercaseQueryStrings = true, }, - out var result); + result: out var result); // Assert Assert.True(success); @@ -561,10 +561,10 @@ namespace Microsoft.AspNetCore.Routing var success = linkGenerator.TryProcessTemplate( httpContext: httpContext, endpoint: endpoint, + values: new RouteValueDictionary(new { action = "Index" }), ambientValues: DefaultLinkGenerator.GetAmbientValues(httpContext), - explicitValues: new RouteValueDictionary(new { action = "Index" }), options: new LinkOptions() { AppendTrailingSlash = true, }, - out var result); + result: out var result); // Assert Assert.True(success); @@ -587,10 +587,10 @@ namespace Microsoft.AspNetCore.Routing var success = linkGenerator.TryProcessTemplate( httpContext: httpContext, endpoint: endpoint, + values: new RouteValueDictionary(new { p1 = "abcd" }), ambientValues: DefaultLinkGenerator.GetAmbientValues(httpContext), - explicitValues: new RouteValueDictionary(new { p1 = "abcd" }), options: null, - out var result); + result: out var result); // Assert Assert.False(success); @@ -611,10 +611,10 @@ namespace Microsoft.AspNetCore.Routing var success = linkGenerator.TryProcessTemplate( httpContext: httpContext, endpoint: endpoint, + values: new RouteValueDictionary(new { p1 = "hello", p2 = "1234" }), ambientValues: DefaultLinkGenerator.GetAmbientValues(httpContext), - explicitValues: new RouteValueDictionary(new { p1 = "hello", p2 = "1234" }), options: null, - out var result); + result: out var result); // Assert Assert.True(success); @@ -637,10 +637,10 @@ namespace Microsoft.AspNetCore.Routing var success = linkGenerator.TryProcessTemplate( httpContext: httpContext, endpoint: endpoint, + values: new RouteValueDictionary(new { p1 = "abcd" }), ambientValues: DefaultLinkGenerator.GetAmbientValues(httpContext), - explicitValues: new RouteValueDictionary(new { p1 = "abcd" }), options: null, - out var result); + result: out var result); // Assert Assert.False(success); @@ -661,10 +661,10 @@ namespace Microsoft.AspNetCore.Routing var success = linkGenerator.TryProcessTemplate( httpContext: httpContext, endpoint: endpoint, + values: new RouteValueDictionary(new { p1 = "hello", p2 = "1234" }), ambientValues: DefaultLinkGenerator.GetAmbientValues(httpContext), - explicitValues: new RouteValueDictionary(new { p1 = "hello", p2 = "1234" }), options: null, - out var result); + result: out var result); // Assert Assert.True(success); @@ -698,10 +698,10 @@ namespace Microsoft.AspNetCore.Routing var success = linkGenerator.TryProcessTemplate( httpContext: httpContext, endpoint: endpoint, + values: new RouteValueDictionary(new { p1 = "hello", p2 = "1234" }), ambientValues: DefaultLinkGenerator.GetAmbientValues(httpContext), - explicitValues: new RouteValueDictionary(new { p1 = "hello", p2 = "1234" }), options: null, - out var result); + result: out var result); // Assert Assert.True(success); @@ -733,10 +733,10 @@ namespace Microsoft.AspNetCore.Routing var success = linkGenerator.TryProcessTemplate( httpContext: httpContext, endpoint: endpoint, + values: new RouteValueDictionary(new { action = "Store" }), ambientValues: DefaultLinkGenerator.GetAmbientValues(httpContext), - explicitValues: new RouteValueDictionary(new { action = "Store" }), options: null, - out var result); + result: out var result); // Assert Assert.True(success); @@ -766,10 +766,10 @@ namespace Microsoft.AspNetCore.Routing var success = linkGenerator.TryProcessTemplate( httpContext: httpContext, endpoint: endpoint, + values: new RouteValueDictionary(new { action = "Store" }), ambientValues: DefaultLinkGenerator.GetAmbientValues(httpContext), - explicitValues: new RouteValueDictionary(new { action = "Store" }), options: null, - out var result); + result: out var result); // Assert Assert.True(success); @@ -798,10 +798,10 @@ namespace Microsoft.AspNetCore.Routing var success = linkGenerator.TryProcessTemplate( httpContext: httpContext, endpoint: endpoint, + values: new RouteValueDictionary(new { controller = "Shopping" }), ambientValues: DefaultLinkGenerator.GetAmbientValues(httpContext), - explicitValues: new RouteValueDictionary(new { controller = "Shopping" }), options: null, - out var result); + result: out var result); // Assert Assert.True(success); @@ -832,10 +832,10 @@ namespace Microsoft.AspNetCore.Routing var success = linkGenerator.TryProcessTemplate( httpContext: httpContext, endpoint: endpoint, + values: new RouteValueDictionary(new { action = "Store", thirdthing = "13" }), ambientValues: DefaultLinkGenerator.GetAmbientValues(httpContext), - explicitValues: new RouteValueDictionary(new { action = "Store", thirdthing = "13" }), options: null, - out var result); + result: out var result); // Assert Assert.True(success); @@ -862,10 +862,10 @@ namespace Microsoft.AspNetCore.Routing var success = linkGenerator.TryProcessTemplate( httpContext: httpContext, endpoint: endpoint, + values: new RouteValueDictionary(new { action = "Index", controller = "Home", id = 4 }), ambientValues: DefaultLinkGenerator.GetAmbientValues(httpContext), - explicitValues: new RouteValueDictionary(new { action = "Index", controller = "Home", id = 4 }), options: null, - out var result); + result: out var result); // Assert Assert.True(success); @@ -888,10 +888,10 @@ namespace Microsoft.AspNetCore.Routing var success = linkGenerator.TryProcessTemplate( httpContext: httpContext, endpoint: endpoint, + values: new RouteValueDictionary(new { action = "Index", controller = "Home", id = "not-an-integer" }), ambientValues: DefaultLinkGenerator.GetAmbientValues(httpContext), - explicitValues: new RouteValueDictionary(new { action = "Index", controller = "Home", id = "not-an-integer" }), options: null, - out var result); + result: out var result); // Assert Assert.False(success); @@ -914,10 +914,10 @@ namespace Microsoft.AspNetCore.Routing var success = linkGenerator.TryProcessTemplate( httpContext: httpContext, endpoint: endpoint, + values: new RouteValueDictionary(new { action = "Index", controller = "Home", id = 98 }), ambientValues: DefaultLinkGenerator.GetAmbientValues(httpContext), - explicitValues: new RouteValueDictionary(new { action = "Index", controller = "Home", id = 98 }), options: null, - out var result); + result: out var result); // Assert Assert.True(success); @@ -940,10 +940,10 @@ namespace Microsoft.AspNetCore.Routing var success = linkGenerator.TryProcessTemplate( httpContext: httpContext, endpoint: endpoint, + values: new RouteValueDictionary(new { action = "Index", controller = "Home" }), ambientValues: DefaultLinkGenerator.GetAmbientValues(httpContext), - explicitValues: new RouteValueDictionary(new { action = "Index", controller = "Home" }), options: null, - out var result); + result: out var result); // Assert Assert.True(success); @@ -966,10 +966,10 @@ namespace Microsoft.AspNetCore.Routing var success = linkGenerator.TryProcessTemplate( httpContext: httpContext, endpoint: endpoint, + values: new RouteValueDictionary(new { action = "Index", controller = "Home", id = "not-an-integer" }), ambientValues: DefaultLinkGenerator.GetAmbientValues(httpContext), - explicitValues: new RouteValueDictionary(new { action = "Index", controller = "Home", id = "not-an-integer" }), options: null, - out var result); + result: out var result); // Assert Assert.False(success); @@ -992,10 +992,10 @@ namespace Microsoft.AspNetCore.Routing var success = linkGenerator.TryProcessTemplate( httpContext: httpContext, endpoint: endpoint, + values: new RouteValueDictionary(new { action = "Index", controller = "Home", id = 14 }), ambientValues: DefaultLinkGenerator.GetAmbientValues(httpContext), - explicitValues: new RouteValueDictionary(new { action = "Index", controller = "Home", id = 14 }), options: null, - out var result); + result: out var result); // Assert Assert.True(success); @@ -1020,10 +1020,10 @@ namespace Microsoft.AspNetCore.Routing var success = linkGenerator.TryProcessTemplate( httpContext: httpContext, endpoint: endpoint, + values: new RouteValueDictionary(new { action = "Index", controller = "Home", id = 50 }), ambientValues: DefaultLinkGenerator.GetAmbientValues(httpContext), - explicitValues: new RouteValueDictionary(new { action = "Index", controller = "Home", id = 50 }), options: null, - out var result); + result: out var result); // Assert Assert.False(success); @@ -1045,10 +1045,10 @@ namespace Microsoft.AspNetCore.Routing var success = linkGenerator.TryProcessTemplate( httpContext: httpContext, endpoint: endpoint, + values: new RouteValueDictionary(new { action = "Index", controller = "Home", name = "products" }), ambientValues: DefaultLinkGenerator.GetAmbientValues(httpContext), - explicitValues: new RouteValueDictionary(new { action = "Index", controller = "Home", name = "products" }), options: null, - out var result); + result: out var result); // Assert Assert.True(success); @@ -1068,10 +1068,10 @@ namespace Microsoft.AspNetCore.Routing var success = linkGenerator.TryProcessTemplate( httpContext: httpContext, endpoint: endpoint, + values: new RouteValueDictionary(new { action = "Index", controller = "Home", name = "products" }), ambientValues: DefaultLinkGenerator.GetAmbientValues(httpContext), - explicitValues: new RouteValueDictionary(new { action = "Index", controller = "Home", name = "products" }), options: null, - out var result); + result: out var result); // Assert Assert.True(success); @@ -1091,10 +1091,10 @@ namespace Microsoft.AspNetCore.Routing var success = linkGenerator.TryProcessTemplate( httpContext: httpContext, endpoint: endpoint, + values: new RouteValueDictionary(new { action = "Index", controller = "Home" }), ambientValues: DefaultLinkGenerator.GetAmbientValues(httpContext), - explicitValues: new RouteValueDictionary(new { action = "Index", controller = "Home" }), options: null, - out var result); + result: out var result); // Assert Assert.True(success); @@ -1116,10 +1116,10 @@ namespace Microsoft.AspNetCore.Routing var success = linkGenerator.TryProcessTemplate( httpContext: httpContext, endpoint: endpoint, + values: new RouteValueDictionary(new { action = "Index", controller = "Home", name = "products" }), ambientValues: DefaultLinkGenerator.GetAmbientValues(httpContext), - explicitValues: new RouteValueDictionary(new { action = "Index", controller = "Home", name = "products" }), options: null, - out var result); + result: out var result); // Assert Assert.True(success); @@ -1141,10 +1141,10 @@ namespace Microsoft.AspNetCore.Routing var success = linkGenerator.TryProcessTemplate( httpContext: httpContext, endpoint: endpoint, + values: new RouteValueDictionary(new { action = "Index", controller = "Home" }), ambientValues: DefaultLinkGenerator.GetAmbientValues(httpContext), - explicitValues: new RouteValueDictionary(new { action = "Index", controller = "Home" }), options: null, - out var result); + result: out var result); // Assert Assert.True(success); @@ -1164,10 +1164,10 @@ namespace Microsoft.AspNetCore.Routing var success = linkGenerator.TryProcessTemplate( httpContext: httpContext, endpoint: endpoint, + values: new RouteValueDictionary(new { action = "Index", controller = "Home", name = "products", format = "json" }), ambientValues: DefaultLinkGenerator.GetAmbientValues(httpContext), - explicitValues: new RouteValueDictionary(new { action = "Index", controller = "Home", name = "products", format = "json" }), options: null, - out var result); + result: out var result); // Assert Assert.True(success); @@ -1188,10 +1188,10 @@ namespace Microsoft.AspNetCore.Routing var success = linkGenerator.TryProcessTemplate( httpContext: httpContext, endpoint: endpoint, + values: new RouteValueDictionary(new { action = "Index", controller = "Home", name = "products" }), ambientValues: DefaultLinkGenerator.GetAmbientValues(httpContext), - explicitValues: new RouteValueDictionary(new { action = "Index", controller = "Home", name = "products" }), options: null, - out var result); + result: out var result); // Assert Assert.True(success); @@ -1211,10 +1211,10 @@ namespace Microsoft.AspNetCore.Routing var success = linkGenerator.TryProcessTemplate( httpContext: httpContext, endpoint: endpoint, + values: new RouteValueDictionary(new { action = "Index", controller = "Home" }), ambientValues: DefaultLinkGenerator.GetAmbientValues(httpContext), - explicitValues: new RouteValueDictionary(new { action = "Index", controller = "Home" }), options: null, - out var result); + result: out var result); Assert.True(success); @@ -1234,10 +1234,10 @@ namespace Microsoft.AspNetCore.Routing var success = linkGenerator.TryProcessTemplate( httpContext: httpContext, endpoint: endpoint, + values: new RouteValueDictionary(new { action = "Index", controller = "Home" }), ambientValues: DefaultLinkGenerator.GetAmbientValues(httpContext), - explicitValues: new RouteValueDictionary(new { action = "Index", controller = "Home" }), options: null, - out var result); + result: out var result); // Assert Assert.True(success); @@ -1257,10 +1257,10 @@ namespace Microsoft.AspNetCore.Routing var success = linkGenerator.TryProcessTemplate( httpContext: httpContext, endpoint: endpoint, + values: new RouteValueDictionary(new { }), ambientValues: DefaultLinkGenerator.GetAmbientValues(httpContext), - explicitValues: new RouteValueDictionary(new { }), options: null, - out var result); + result: out var result); // Assert Assert.True(success); @@ -1280,10 +1280,10 @@ namespace Microsoft.AspNetCore.Routing var success = linkGenerator.TryProcessTemplate( httpContext: httpContext, endpoint: endpoint, + values: new RouteValueDictionary(new { }), ambientValues: DefaultLinkGenerator.GetAmbientValues(httpContext), - explicitValues: new RouteValueDictionary(new { }), options: null, - out var result); + result: out var result); // Assert Assert.True(success); @@ -1303,10 +1303,10 @@ namespace Microsoft.AspNetCore.Routing var success = linkGenerator.TryProcessTemplate( httpContext: httpContext, endpoint: endpoint, + values: new RouteValueDictionary(new { }), ambientValues: DefaultLinkGenerator.GetAmbientValues(httpContext), - explicitValues: new RouteValueDictionary(new { }), options: null, - out var result); + result: out var result); // Assert Assert.True(success); @@ -1407,10 +1407,10 @@ namespace Microsoft.AspNetCore.Routing var success = linkGenerator.TryProcessTemplate( httpContext: httpContext, endpoint: endpoint, + values: new RouteValueDictionary(explicitValues), ambientValues: DefaultLinkGenerator.GetAmbientValues(httpContext), - explicitValues: new RouteValueDictionary(explicitValues), options: null, - out var result); + result: out var result); // Assert Assert.True(success); @@ -1435,10 +1435,10 @@ namespace Microsoft.AspNetCore.Routing var success = linkGenerator.TryProcessTemplate( httpContext: httpContext, endpoint: endpoint, + values: new RouteValueDictionary(new { c = "Products", a = "Edit" }), ambientValues: DefaultLinkGenerator.GetAmbientValues(httpContext), - explicitValues: new RouteValueDictionary(new { c = "Products", a = "Edit" }), options: null, - out var result); + result: out var result); // Assert Assert.True(success); @@ -1463,10 +1463,10 @@ namespace Microsoft.AspNetCore.Routing var success = linkGenerator.TryProcessTemplate( httpContext: httpContext, endpoint: endpoint, + values: new RouteValueDictionary(new { c = "Products", a = "List" }), ambientValues: DefaultLinkGenerator.GetAmbientValues(httpContext), - explicitValues: new RouteValueDictionary(new { c = "Products", a = "List" }), options: null, - out var result); + result: out var result); // Assert Assert.False(success); @@ -1571,10 +1571,10 @@ namespace Microsoft.AspNetCore.Routing var success = linkGenerator.TryProcessTemplate( httpContext: httpContext, endpoint: endpoint, + values: new RouteValueDictionary(explicitValues), ambientValues: DefaultLinkGenerator.GetAmbientValues(httpContext), - explicitValues: new RouteValueDictionary(explicitValues), options: null, - out var result); + result: out var result); // Assert Assert.False(success); diff --git a/test/Microsoft.AspNetCore.Routing.Tests/DefaultLinkGeneratorTest.cs b/test/Microsoft.AspNetCore.Routing.Tests/DefaultLinkGeneratorTest.cs index f64297e791..9f0bda2a18 100644 --- a/test/Microsoft.AspNetCore.Routing.Tests/DefaultLinkGeneratorTest.cs +++ b/test/Microsoft.AspNetCore.Routing.Tests/DefaultLinkGeneratorTest.cs @@ -370,7 +370,7 @@ namespace Microsoft.AspNetCore.Routing httpContext, 1, values: new RouteValueDictionary(new { controller = "Home", action = "In?dex", query = "some?query" }), - new FragmentString("#Fragment?")); + fragment: new FragmentString("#Fragment?")); // Assert Assert.Equal("/Foo/Bar%3Fencodeme%3F/Home/In%3Fdex?query=some%3Fquery#Fragment?", path); @@ -419,7 +419,7 @@ namespace Microsoft.AspNetCore.Routing httpContext, 1, values: new RouteValueDictionary(new { controller = "Home", action = "In?dex", query = "some?query" }), - new FragmentString("#Fragment?")); + fragment: new FragmentString("#Fragment?")); // Assert Assert.Equal("http://example.com/Foo/Bar%3Fencodeme%3F/Home/In%3Fdex?query=some%3Fquery#Fragment?", uri); @@ -434,12 +434,16 @@ namespace Microsoft.AspNetCore.Routing var linkGenerator = CreateLinkGenerator(endpoint1, endpoint2); - var httpContext = CreateHttpContext(new { controller = "Home", }); + var httpContext = CreateHttpContext(); httpContext.Request.Scheme = "http"; httpContext.Request.Host = new HostString("example.com"); // Act - var uri = linkGenerator.GetPathByAddress(httpContext, 1, values: new RouteValueDictionary(new { action = "Index", })); + var uri = linkGenerator.GetPathByAddress( + httpContext, + 1, + values: new RouteValueDictionary(new { action = "Index", }), + ambientValues: new RouteValueDictionary(new { controller = "Home", })); // Assert Assert.Equal("/Home/Index", uri); @@ -454,17 +458,71 @@ namespace Microsoft.AspNetCore.Routing var linkGenerator = CreateLinkGenerator(endpoint1, endpoint2); - var httpContext = CreateHttpContext(new { controller = "Home", }); + var httpContext = CreateHttpContext(); httpContext.Request.Scheme = "http"; httpContext.Request.Host = new HostString("example.com"); // Act - var uri = linkGenerator.GetUriByAddress(httpContext, 1, values: new RouteValueDictionary(new { action = "Index", })); + var uri = linkGenerator.GetUriByAddress( + httpContext, + 1, + values: new RouteValueDictionary(new { action = "Index", }), + ambientValues: new RouteValueDictionary(new { controller = "Home", })); // Assert Assert.Equal("http://example.com/Home/Index", uri); } + [Fact] + public void GetPathByAddress_WithHttpContext_CanOverrideUriParts() + { + // Arrange + var endpoint1 = EndpointFactory.CreateRouteEndpoint("{controller}/{action}/{id}", metadata: new object[] { new IntMetadata(1), }); + var endpoint2 = EndpointFactory.CreateRouteEndpoint("{controller}/{action}/{id?}", metadata: new object[] { new IntMetadata(1), }); + + var linkGenerator = CreateLinkGenerator(endpoint1, endpoint2); + + var httpContext = CreateHttpContext(); + httpContext.Request.PathBase = "/Foo"; + + // Act + var uri = linkGenerator.GetPathByAddress( + httpContext, + 1, + values: new RouteValueDictionary(new { action = "Index", controller= "Home", }), + pathBase: "/"); + + // Assert + Assert.Equal("/Home/Index", uri); + } + + [Fact] + public void GetUriByAddress_WithHttpContext_CanOverrideUriParts() + { + // Arrange + var endpoint1 = EndpointFactory.CreateRouteEndpoint("{controller}/{action}/{id}", metadata: new object[] { new IntMetadata(1), }); + var endpoint2 = EndpointFactory.CreateRouteEndpoint("{controller}/{action}/{id?}", metadata: new object[] { new IntMetadata(1), }); + + var linkGenerator = CreateLinkGenerator(endpoint1, endpoint2); + + var httpContext = CreateHttpContext(); + httpContext.Request.Scheme = "http"; + httpContext.Request.Host = new HostString("example.com"); + httpContext.Request.PathBase = "/Foo"; + + // Act + var uri = linkGenerator.GetUriByAddress( + httpContext, + 1, + values: new RouteValueDictionary(new { action = "Index", controller = "Home", }), + scheme: "ftp", + host: new HostString("example.com:5000"), + pathBase: "/"); + + // Assert + Assert.Equal("ftp://example.com:5000/Home/Index", uri); + } + [Fact] public void GetTemplateByAddress_WithNoMatch_ReturnsNull() { diff --git a/test/Microsoft.AspNetCore.Routing.Tests/LinkGeneratorEndpointNameExtensionsTest.cs b/test/Microsoft.AspNetCore.Routing.Tests/LinkGeneratorEndpointNameExtensionsTest.cs index 0b57b598c7..ee16dc1666 100644 --- a/test/Microsoft.AspNetCore.Routing.Tests/LinkGeneratorEndpointNameExtensionsTest.cs +++ b/test/Microsoft.AspNetCore.Routing.Tests/LinkGeneratorEndpointNameExtensionsTest.cs @@ -3,6 +3,7 @@ using System.Linq; using Microsoft.AspNetCore.Http; +using Microsoft.AspNetCore.Http.Features; using Xunit; namespace Microsoft.AspNetCore.Routing @@ -16,6 +17,37 @@ namespace Microsoft.AspNetCore.Routing // Does not cover the EndpointNameEndpointFinder in detail. see EndpointNameEndpointFinderTest public class LinkGeneratorEndpointNameExtensionsTest : LinkGeneratorTestBase { + [Fact] + public void GetPathByName_WithHttpContext_DoesNotUseAmbientValues() + { + // Arrange + var endpoint1 = EndpointFactory.CreateRouteEndpoint("some-endpoint/{p}", metadata: new[] { new EndpointNameMetadata("name1"), }); + var endpoint2 = EndpointFactory.CreateRouteEndpoint("some#-other-endpoint/{p}", metadata: new[] { new EndpointNameMetadata("name2"), }); + + var linkGenerator = CreateLinkGenerator(endpoint1, endpoint2); + + var feature = new EndpointFeature() + { + RouteValues = new RouteValueDictionary(new { p = "5", }) + }; + var httpContext = CreateHttpContext(); + httpContext.Features.Set(feature); + httpContext.Request.PathBase = new PathString("/Foo/Bar?encodeme?"); + + var values = new { query = "some?query", }; + + // Act + var path = linkGenerator.GetPathByName( + httpContext, + endpointName: "name2", + values, + fragment: new FragmentString("#Fragment?"), + options: new LinkOptions() { AppendTrailingSlash = true, }); + + // Assert + Assert.Null(path); + } + [Fact] public void GetPathByName_WithoutHttpContext_WithPathBaseAndFragment() { @@ -58,8 +90,8 @@ namespace Microsoft.AspNetCore.Routing httpContext, endpointName: "name2", values, - new FragmentString("#Fragment?"), - new LinkOptions() { AppendTrailingSlash = true, }); + fragment: new FragmentString("#Fragment?"), + options: new LinkOptions() { AppendTrailingSlash = true, }); // Assert Assert.Equal("/Foo/Bar%3Fencodeme%3F/some%23-other-endpoint/In%3Fdex/?query=some%3Fquery#Fragment?", path); @@ -111,8 +143,8 @@ namespace Microsoft.AspNetCore.Routing httpContext, endpointName: "name2", values, - new FragmentString("#Fragment?"), - new LinkOptions() { AppendTrailingSlash = true, }); + fragment: new FragmentString("#Fragment?"), + options: new LinkOptions() { AppendTrailingSlash = true, }); // Assert Assert.Equal("http://example.com/Foo/Bar%3Fencodeme%3F/some%23-other-endpoint/In%3Fdex/?query=some%3Fquery#Fragment?", uri); diff --git a/test/Microsoft.AspNetCore.Routing.Tests/LinkGeneratorRouteValuesAddressExtensionsTest.cs b/test/Microsoft.AspNetCore.Routing.Tests/LinkGeneratorRouteValuesAddressExtensionsTest.cs index 17d5aa305a..57874816d6 100644 --- a/test/Microsoft.AspNetCore.Routing.Tests/LinkGeneratorRouteValuesAddressExtensionsTest.cs +++ b/test/Microsoft.AspNetCore.Routing.Tests/LinkGeneratorRouteValuesAddressExtensionsTest.cs @@ -3,6 +3,7 @@ using System.Linq; using Microsoft.AspNetCore.Http; +using Microsoft.AspNetCore.Http.Features; using Xunit; namespace Microsoft.AspNetCore.Routing @@ -16,6 +17,41 @@ namespace Microsoft.AspNetCore.Routing // Does not cover the RouteValueBasedEndpointFinder in detail. see RouteValueBasedEndpointFinderTest public class LinkGeneratorRouteValuesAddressExtensionsTest : LinkGeneratorTestBase { + [Fact] + public void GetPathByRouteValues_WithHttpContext_UsesAmbientValues() + { + // Arrange + var endpoint1 = EndpointFactory.CreateRouteEndpoint( + "Home/Index/{id}", + defaults: new { controller = "Home", action = "Index", }, + metadata: new[] { new RouteValuesAddressMetadata(routeName: null, new RouteValueDictionary(new { controller = "Home", action = "Index", })) }); + var endpoint2 = EndpointFactory.CreateRouteEndpoint( + "Home/Index/{id?}", + defaults: new { controller = "Home", action = "Index", }, + metadata: new[] { new RouteValuesAddressMetadata(routeName: null, new RouteValueDictionary(new { controller = "Home", action = "Index", })) }); + + var linkGenerator = CreateLinkGenerator(endpoint1, endpoint2); + + var feature = new EndpointFeature() + { + RouteValues = new RouteValueDictionary(new { action = "Index", }) + }; + var httpContext = CreateHttpContext(); + httpContext.Features.Set(feature); + httpContext.Request.PathBase = new PathString("/Foo/Bar?encodeme?"); + + // Act + var path = linkGenerator.GetPathByRouteValues( + httpContext, + routeName: null, + values: new RouteValueDictionary(new { controller = "Home", query = "some?query" }), + fragment: new FragmentString("#Fragment?"), + options: new LinkOptions() { AppendTrailingSlash = true, }); + + // Assert + Assert.Equal("/Foo/Bar%3Fencodeme%3F/Home/Index/?query=some%3Fquery#Fragment?", path); + } + [Fact] public void GetPathByRouteValues_WithoutHttpContext_WithPathBaseAndFragment() { @@ -66,8 +102,8 @@ namespace Microsoft.AspNetCore.Routing httpContext, routeName: null, values: new RouteValueDictionary(new { controller = "Home", action = "Index", query = "some?query" }), - new FragmentString("#Fragment?"), - new LinkOptions() { AppendTrailingSlash = true, }); + fragment: new FragmentString("#Fragment?"), + options: new LinkOptions() { AppendTrailingSlash = true, }); // Assert Assert.Equal("/Foo/Bar%3Fencodeme%3F/Home/Index/?query=some%3Fquery#Fragment?", path); @@ -127,8 +163,8 @@ namespace Microsoft.AspNetCore.Routing httpContext, routeName: null, values: new RouteValueDictionary(new { controller = "Home", action = "Index", query = "some?query" }), - new FragmentString("#Fragment?"), - new LinkOptions() { AppendTrailingSlash = true, }); + fragment: new FragmentString("#Fragment?"), + options: new LinkOptions() { AppendTrailingSlash = true, }); // Assert Assert.Equal("http://example.com/Foo/Bar%3Fencodeme%3F/Home/Index/?query=some%3Fquery#Fragment?", uri); From 6353e7b15e94fd0d62a5daaa64e3938a567c3520 Mon Sep 17 00:00:00 2001 From: "ASP.NET CI" Date: Sun, 23 Sep 2018 19:29:18 +0000 Subject: [PATCH 180/221] Update dependencies.props [auto-updated: dependencies] --- build/dependencies.props | 54 ++++++++++++++++++++-------------------- korebuild-lock.txt | 4 +-- 2 files changed, 29 insertions(+), 29 deletions(-) diff --git a/build/dependencies.props b/build/dependencies.props index 678786db8f..58d6324713 100644 --- a/build/dependencies.props +++ b/build/dependencies.props @@ -4,33 +4,33 @@ 0.10.13 - 2.2.0-preview1-20180911.1 - 2.2.0-preview3-35252 - 2.2.0-preview3-35252 - 2.2.0-preview3-35252 - 2.2.0-preview3-35252 - 2.2.0-preview3-35252 - 2.2.0-preview3-35252 - 2.2.0-preview3-35252 - 2.2.0-preview3-35252 - 2.2.0-preview3-35252 - 2.2.0-preview3-35252 - 2.2.0-preview3-35252 - 2.2.0-preview3-35252 - 2.2.0-preview3-35252 - 2.2.0-preview3-35252 - 2.2.0-preview3-35252 - 2.2.0-preview3-35252 - 2.2.0-preview3-35252 - 2.2.0-preview3-35252 - 2.2.0-preview3-35252 - 2.2.0-preview3-35252 - 2.2.0-preview3-35252 - 2.2.0-preview3-35252 - 2.2.0-preview3-35252 - 2.2.0-preview3-35252 - 2.2.0-preview3-35252 - 2.2.0-preview3-35252 + 2.2.0-preview1-20180918.1 + 2.2.0-preview3-35301 + 2.2.0-preview3-35301 + 2.2.0-preview3-35301 + 2.2.0-preview3-35301 + 2.2.0-preview3-35301 + 2.2.0-preview3-35301 + 2.2.0-preview3-35301 + 2.2.0-preview3-35301 + 2.2.0-preview3-35301 + 2.2.0-preview3-35301 + 2.2.0-preview3-35301 + 2.2.0-preview3-35301 + 2.2.0-preview3-35301 + 2.2.0-preview3-35301 + 2.2.0-preview3-35301 + 2.2.0-preview3-35301 + 2.2.0-preview3-35301 + 2.2.0-preview3-35301 + 2.2.0-preview3-35301 + 2.2.0-preview3-35301 + 2.2.0-preview3-35301 + 2.2.0-preview3-35301 + 2.2.0-preview3-35301 + 2.2.0-preview3-35301 + 2.2.0-preview3-35301 + 2.2.0-preview3-35301 2.0.9 2.1.3 2.2.0-preview2-26905-02 diff --git a/korebuild-lock.txt b/korebuild-lock.txt index 7124f37441..649bf2ba0b 100644 --- a/korebuild-lock.txt +++ b/korebuild-lock.txt @@ -1,2 +1,2 @@ -version:2.2.0-preview1-20180911.1 -commithash:ddfecdfc6e8e4859db5a0daea578070b862aac65 +version:2.2.0-preview1-20180918.1 +commithash:ad5e3fc53442741a0dd49bce437d2ac72f4b5800 From 7c16c92317d6cc815630e201ef47b4a73e6b4006 Mon Sep 17 00:00:00 2001 From: Ryan Nowak Date: Mon, 24 Sep 2018 20:01:36 -0700 Subject: [PATCH 181/221] Fix a bug in GetUriByRouteValues Pride cometh before the fall... --- ...nkGeneratorRouteValuesAddressExtensions.cs | 2 +- ...neratorRouteValuesAddressExtensionsTest.cs | 32 +++++++++++++++++++ 2 files changed, 33 insertions(+), 1 deletion(-) diff --git a/src/Microsoft.AspNetCore.Routing/LinkGeneratorRouteValuesAddressExtensions.cs b/src/Microsoft.AspNetCore.Routing/LinkGeneratorRouteValuesAddressExtensions.cs index a2bffc01ef..d025679e41 100644 --- a/src/Microsoft.AspNetCore.Routing/LinkGeneratorRouteValuesAddressExtensions.cs +++ b/src/Microsoft.AspNetCore.Routing/LinkGeneratorRouteValuesAddressExtensions.cs @@ -135,7 +135,7 @@ namespace Microsoft.AspNetCore.Routing throw new ArgumentNullException(nameof(httpContext)); } - var address = CreateAddress(httpContext: null, routeName, values); + var address = CreateAddress(httpContext, routeName, values); return generator.GetUriByAddress( httpContext, address, diff --git a/test/Microsoft.AspNetCore.Routing.Tests/LinkGeneratorRouteValuesAddressExtensionsTest.cs b/test/Microsoft.AspNetCore.Routing.Tests/LinkGeneratorRouteValuesAddressExtensionsTest.cs index 57874816d6..57f530cdb8 100644 --- a/test/Microsoft.AspNetCore.Routing.Tests/LinkGeneratorRouteValuesAddressExtensionsTest.cs +++ b/test/Microsoft.AspNetCore.Routing.Tests/LinkGeneratorRouteValuesAddressExtensionsTest.cs @@ -170,6 +170,38 @@ namespace Microsoft.AspNetCore.Routing Assert.Equal("http://example.com/Foo/Bar%3Fencodeme%3F/Home/Index/?query=some%3Fquery#Fragment?", uri); } + [Fact] + public void GetUriByRouteValues_WithHttpContext_CanUseAmbientValues() + { + // Arrange + var endpoint1 = EndpointFactory.CreateRouteEndpoint( + "Home/Index/{id}", + defaults: new { controller = "Home", action = "Index", }, + metadata: new[] { new RouteValuesAddressMetadata(routeName: null, new RouteValueDictionary(new { controller = "Home", action = "Index", })) }); + var endpoint2 = EndpointFactory.CreateRouteEndpoint( + "Home/Index/{id?}", + defaults: new { controller = "Home", action = "Index", }, + metadata: new[] { new RouteValuesAddressMetadata(routeName: null, new RouteValueDictionary(new { controller = "Home", action = "Index", })) }); + + var linkGenerator = CreateLinkGenerator(endpoint1, endpoint2); + + var httpContext = CreateHttpContext(new { controller = "Home", }); + httpContext.Request.Scheme = "http"; + httpContext.Request.Host = new HostString("example.com"); + httpContext.Request.PathBase = new PathString("/Foo/Bar?encodeme?"); + + // Act + var uri = linkGenerator.GetUriByRouteValues( + httpContext, + routeName: null, + values: new RouteValueDictionary(new { action = "Index", query = "some?query" }), + fragment: new FragmentString("#Fragment?"), + options: new LinkOptions() { AppendTrailingSlash = true, }); + + // Assert + Assert.Equal("http://example.com/Foo/Bar%3Fencodeme%3F/Home/Index/?query=some%3Fquery#Fragment?", uri); + } + [Fact] public void GetTemplateByRouteValues_CreatesTemplate() { From 49c2317c14743914d94ce3172aea14a0bf7accf5 Mon Sep 17 00:00:00 2001 From: Ryan Nowak Date: Mon, 24 Sep 2018 21:45:13 -0700 Subject: [PATCH 182/221] Fix #810 --- .../Internal/LinkGenerationDecisionTree.cs | 7 ++++++- .../LinkGenerationDecisionTreeTest.cs | 20 +++++++++++++++++++ 2 files changed, 26 insertions(+), 1 deletion(-) diff --git a/src/Microsoft.AspNetCore.Routing/Internal/LinkGenerationDecisionTree.cs b/src/Microsoft.AspNetCore.Routing/Internal/LinkGenerationDecisionTree.cs index eb055f7696..6242198a46 100644 --- a/src/Microsoft.AspNetCore.Routing/Internal/LinkGenerationDecisionTree.cs +++ b/src/Microsoft.AspNetCore.Routing/Internal/LinkGenerationDecisionTree.cs @@ -15,6 +15,11 @@ namespace Microsoft.AspNetCore.Routing.Internal [DebuggerDisplay("{DebuggerDisplayString,nq}")] public class LinkGenerationDecisionTree { + // Fallback value for cases where the ambient values weren't provided. + // + // This is safe because we don't mutate the route values in here. + private static readonly RouteValueDictionary EmptyAmbientValues = new RouteValueDictionary(); + private readonly DecisionTreeNode _root; public LinkGenerationDecisionTree(IReadOnlyList entries) @@ -30,7 +35,7 @@ namespace Microsoft.AspNetCore.Routing.Internal if (_root.Matches.Count > 0 || _root.Criteria.Count > 0) { var results = new List(); - Walk(results, values, ambientValues, _root, isFallbackPath: false); + Walk(results, values, ambientValues ?? EmptyAmbientValues, _root, isFallbackPath: false); results.Sort(OutboundMatchResultComparer.Instance); return results; } diff --git a/test/Microsoft.AspNetCore.Routing.Tests/Internal/LinkGenerationDecisionTreeTest.cs b/test/Microsoft.AspNetCore.Routing.Tests/Internal/LinkGenerationDecisionTreeTest.cs index f07296faba..94568c2cd8 100644 --- a/test/Microsoft.AspNetCore.Routing.Tests/Internal/LinkGenerationDecisionTreeTest.cs +++ b/test/Microsoft.AspNetCore.Routing.Tests/Internal/LinkGenerationDecisionTreeTest.cs @@ -14,6 +14,26 @@ namespace Microsoft.AspNetCore.Routing.Internal.Routing { public class LinkGenerationDecisionTreeTest { + [Fact] + public void GetMatches_AllowsNullAmbientValues() + { + // Arrange + var entries = new List(); + + var entry = CreateMatch(new { }); + entries.Add(entry); + + var tree = new LinkGenerationDecisionTree(entries); + + var context = CreateContext(new { }); + + // Act + var matches = tree.GetMatches(context.Values, ambientValues: null); + + // Assert + Assert.Same(entry, Assert.Single(matches).Match); + } + [Fact] public void SelectSingleEntry_NoCriteria() { From 95753825ef832e6816adca655978b3a6e8e4bb09 Mon Sep 17 00:00:00 2001 From: James Newton-King Date: Thu, 27 Sep 2018 07:06:30 -0700 Subject: [PATCH 183/221] Comment registered key (#816) --- .../CompositeEndpointDataSource.cs | 2 +- .../Internal/EndpointRoutingApplicationBuilderExtensions.cs | 1 + .../RouteValuesBasedEndpointFinder.cs | 5 +++-- 3 files changed, 5 insertions(+), 3 deletions(-) diff --git a/src/Microsoft.AspNetCore.Routing/CompositeEndpointDataSource.cs b/src/Microsoft.AspNetCore.Routing/CompositeEndpointDataSource.cs index 36794aeacc..00a24ccfcd 100644 --- a/src/Microsoft.AspNetCore.Routing/CompositeEndpointDataSource.cs +++ b/src/Microsoft.AspNetCore.Routing/CompositeEndpointDataSource.cs @@ -80,7 +80,7 @@ namespace Microsoft.AspNetCore.Routing foreach (var dataSource in _dataSources) { - Extensions.Primitives.ChangeToken.OnChange( + ChangeToken.OnChange( dataSource.GetChangeToken, HandleChange); } diff --git a/src/Microsoft.AspNetCore.Routing/Internal/EndpointRoutingApplicationBuilderExtensions.cs b/src/Microsoft.AspNetCore.Routing/Internal/EndpointRoutingApplicationBuilderExtensions.cs index 281607cfba..54a5d6a48f 100644 --- a/src/Microsoft.AspNetCore.Routing/Internal/EndpointRoutingApplicationBuilderExtensions.cs +++ b/src/Microsoft.AspNetCore.Routing/Internal/EndpointRoutingApplicationBuilderExtensions.cs @@ -11,6 +11,7 @@ namespace Microsoft.AspNetCore.Internal { public static class EndpointRoutingApplicationBuilderExtensions { + // Property key is used by MVC package to check that routing is registered private const string EndpointRoutingRegisteredKey = "__EndpointRoutingMiddlewareRegistered"; public static IApplicationBuilder UseEndpointRouting(this IApplicationBuilder builder) diff --git a/src/Microsoft.AspNetCore.Routing/RouteValuesBasedEndpointFinder.cs b/src/Microsoft.AspNetCore.Routing/RouteValuesBasedEndpointFinder.cs index f7d6b77023..042cda60a6 100644 --- a/src/Microsoft.AspNetCore.Routing/RouteValuesBasedEndpointFinder.cs +++ b/src/Microsoft.AspNetCore.Routing/RouteValuesBasedEndpointFinder.cs @@ -8,6 +8,7 @@ using Microsoft.AspNetCore.Http; using Microsoft.AspNetCore.Routing.Internal; using Microsoft.AspNetCore.Routing.Template; using Microsoft.AspNetCore.Routing.Tree; +using Microsoft.Extensions.Primitives; namespace Microsoft.AspNetCore.Routing { @@ -25,7 +26,7 @@ namespace Microsoft.AspNetCore.Routing BuildOutboundMatches(); // Register for changes in endpoints - Extensions.Primitives.ChangeToken.OnChange( + ChangeToken.OnChange( _dataSource.GetChangeToken, HandleChange); } @@ -61,7 +62,7 @@ namespace Microsoft.AspNetCore.Routing // re-register the callback as the change token is one time use only and a new change token // is produced every time - Extensions.Primitives.ChangeToken.OnChange( + ChangeToken.OnChange( _dataSource.GetChangeToken, HandleChange); } From 6c4242f5eb78ea025a46c7a4722bcc7fc510fdda Mon Sep 17 00:00:00 2001 From: Eilon Lipton Date: Thu, 27 Sep 2018 15:22:13 -0700 Subject: [PATCH 184/221] Update LICENSE.txt --- LICENSE.txt | 207 +++++++++++++++++++++++++++++++++++++++++++++++++--- 1 file changed, 197 insertions(+), 10 deletions(-) diff --git a/LICENSE.txt b/LICENSE.txt index 7b2956ecee..b3b180cd51 100644 --- a/LICENSE.txt +++ b/LICENSE.txt @@ -1,14 +1,201 @@ -Copyright (c) .NET Foundation and Contributors + Apache License + Version 2.0, January 2004 + http://www.apache.org/licenses/ -All rights reserved. + TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION -Licensed under the Apache License, Version 2.0 (the "License"); you may not use -this file except in compliance with the License. You may obtain a copy of the -License at + 1. Definitions. - http://www.apache.org/licenses/LICENSE-2.0 + "License" shall mean the terms and conditions for use, reproduction, + and distribution as defined by Sections 1 through 9 of this document. -Unless required by applicable law or agreed to in writing, software distributed -under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR -CONDITIONS OF ANY KIND, either express or implied. See the License for the -specific language governing permissions and limitations under the License. + "Licensor" shall mean the copyright owner or entity authorized by + the copyright owner that is granting the License. + + "Legal Entity" shall mean the union of the acting entity and all + other entities that control, are controlled by, or are under common + control with that entity. For the purposes of this definition, + "control" means (i) the power, direct or indirect, to cause the + direction or management of such entity, whether by contract or + otherwise, or (ii) ownership of fifty percent (50%) or more of the + outstanding shares, or (iii) beneficial ownership of such entity. + + "You" (or "Your") shall mean an individual or Legal Entity + exercising permissions granted by this License. + + "Source" form shall mean the preferred form for making modifications, + including but not limited to software source code, documentation + source, and configuration files. + + "Object" form shall mean any form resulting from mechanical + transformation or translation of a Source form, including but + not limited to compiled object code, generated documentation, + and conversions to other media types. + + "Work" shall mean the work of authorship, whether in Source or + Object form, made available under the License, as indicated by a + copyright notice that is included in or attached to the work + (an example is provided in the Appendix below). + + "Derivative Works" shall mean any work, whether in Source or Object + form, that is based on (or derived from) the Work and for which the + editorial revisions, annotations, elaborations, or other modifications + represent, as a whole, an original work of authorship. For the purposes + of this License, Derivative Works shall not include works that remain + separable from, or merely link (or bind by name) to the interfaces of, + the Work and Derivative Works thereof. + + "Contribution" shall mean any work of authorship, including + the original version of the Work and any modifications or additions + to that Work or Derivative Works thereof, that is intentionally + submitted to Licensor for inclusion in the Work by the copyright owner + or by an individual or Legal Entity authorized to submit on behalf of + the copyright owner. For the purposes of this definition, "submitted" + means any form of electronic, verbal, or written communication sent + to the Licensor or its representatives, including but not limited to + communication on electronic mailing lists, source code control systems, + and issue tracking systems that are managed by, or on behalf of, the + Licensor for the purpose of discussing and improving the Work, but + excluding communication that is conspicuously marked or otherwise + designated in writing by the copyright owner as "Not a Contribution." + + "Contributor" shall mean Licensor and any individual or Legal Entity + on behalf of whom a Contribution has been received by Licensor and + subsequently incorporated within the Work. + + 2. Grant of Copyright License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + copyright license to reproduce, prepare Derivative Works of, + publicly display, publicly perform, sublicense, and distribute the + Work and such Derivative Works in Source or Object form. + + 3. Grant of Patent License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + (except as stated in this section) patent license to make, have made, + use, offer to sell, sell, import, and otherwise transfer the Work, + where such license applies only to those patent claims licensable + by such Contributor that are necessarily infringed by their + Contribution(s) alone or by combination of their Contribution(s) + with the Work to which such Contribution(s) was submitted. If You + institute patent litigation against any entity (including a + cross-claim or counterclaim in a lawsuit) alleging that the Work + or a Contribution incorporated within the Work constitutes direct + or contributory patent infringement, then any patent licenses + granted to You under this License for that Work shall terminate + as of the date such litigation is filed. + + 4. Redistribution. You may reproduce and distribute copies of the + Work or Derivative Works thereof in any medium, with or without + modifications, and in Source or Object form, provided that You + meet the following conditions: + + (a) You must give any other recipients of the Work or + Derivative Works a copy of this License; and + + (b) You must cause any modified files to carry prominent notices + stating that You changed the files; and + + (c) You must retain, in the Source form of any Derivative Works + that You distribute, all copyright, patent, trademark, and + attribution notices from the Source form of the Work, + excluding those notices that do not pertain to any part of + the Derivative Works; and + + (d) If the Work includes a "NOTICE" text file as part of its + distribution, then any Derivative Works that You distribute must + include a readable copy of the attribution notices contained + within such NOTICE file, excluding those notices that do not + pertain to any part of the Derivative Works, in at least one + of the following places: within a NOTICE text file distributed + as part of the Derivative Works; within the Source form or + documentation, if provided along with the Derivative Works; or, + within a display generated by the Derivative Works, if and + wherever such third-party notices normally appear. The contents + of the NOTICE file are for informational purposes only and + do not modify the License. You may add Your own attribution + notices within Derivative Works that You distribute, alongside + or as an addendum to the NOTICE text from the Work, provided + that such additional attribution notices cannot be construed + as modifying the License. + + You may add Your own copyright statement to Your modifications and + may provide additional or different license terms and conditions + for use, reproduction, or distribution of Your modifications, or + for any such Derivative Works as a whole, provided Your use, + reproduction, and distribution of the Work otherwise complies with + the conditions stated in this License. + + 5. Submission of Contributions. Unless You explicitly state otherwise, + any Contribution intentionally submitted for inclusion in the Work + by You to the Licensor shall be under the terms and conditions of + this License, without any additional terms or conditions. + Notwithstanding the above, nothing herein shall supersede or modify + the terms of any separate license agreement you may have executed + with Licensor regarding such Contributions. + + 6. Trademarks. This License does not grant permission to use the trade + names, trademarks, service marks, or product names of the Licensor, + except as required for reasonable and customary use in describing the + origin of the Work and reproducing the content of the NOTICE file. + + 7. Disclaimer of Warranty. Unless required by applicable law or + agreed to in writing, Licensor provides the Work (and each + Contributor provides its Contributions) on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or + implied, including, without limitation, any warranties or conditions + of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A + PARTICULAR PURPOSE. You are solely responsible for determining the + appropriateness of using or redistributing the Work and assume any + risks associated with Your exercise of permissions under this License. + + 8. Limitation of Liability. In no event and under no legal theory, + whether in tort (including negligence), contract, or otherwise, + unless required by applicable law (such as deliberate and grossly + negligent acts) or agreed to in writing, shall any Contributor be + liable to You for damages, including any direct, indirect, special, + incidental, or consequential damages of any character arising as a + result of this License or out of the use or inability to use the + Work (including but not limited to damages for loss of goodwill, + work stoppage, computer failure or malfunction, or any and all + other commercial damages or losses), even if such Contributor + has been advised of the possibility of such damages. + + 9. Accepting Warranty or Additional Liability. While redistributing + the Work or Derivative Works thereof, You may choose to offer, + and charge a fee for, acceptance of support, warranty, indemnity, + or other liability obligations and/or rights consistent with this + License. However, in accepting such obligations, You may act only + on Your own behalf and on Your sole responsibility, not on behalf + of any other Contributor, and only if You agree to indemnify, + defend, and hold each Contributor harmless for any liability + incurred by, or claims asserted against, such Contributor by reason + of your accepting any such warranty or additional liability. + + END OF TERMS AND CONDITIONS + + APPENDIX: How to apply the Apache License to your work. + + To apply the Apache License to your work, attach the following + boilerplate notice, with the fields enclosed by brackets "[]" + replaced with your own identifying information. (Don't include + the brackets!) The text should be enclosed in the appropriate + comment syntax for the file format. We also recommend that a + file or class name and description of purpose be included on the + same "printed page" as the copyright notice for easier + identification within third-party archives. + + Copyright (c) .NET Foundation and Contributors + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. From c887f730dd2ad2f80c554f7be79d0645c7f038c8 Mon Sep 17 00:00:00 2001 From: Ryan Nowak Date: Thu, 27 Sep 2018 14:27:55 -0700 Subject: [PATCH 185/221] Add DFA Graph viewer to sample --- THIRD-PARTY-NOTICES | 21 ++ build/dependencies.props | 1 + samples/RoutingSample.Web/Program.cs | 6 + .../RoutingSample.Web.csproj | 3 +- .../UseEndpointRoutingStartup.cs | 6 +- .../RoutingSample.Web/wwwroot/full.render.js | 83 +++++ .../RoutingSample.Web/wwwroot/graph-ui.html | 34 ++ samples/RoutingSample.Web/wwwroot/viz.js | 331 ++++++++++++++++++ 8 files changed, 482 insertions(+), 3 deletions(-) create mode 100644 THIRD-PARTY-NOTICES create mode 100644 samples/RoutingSample.Web/wwwroot/full.render.js create mode 100644 samples/RoutingSample.Web/wwwroot/graph-ui.html create mode 100644 samples/RoutingSample.Web/wwwroot/viz.js diff --git a/THIRD-PARTY-NOTICES b/THIRD-PARTY-NOTICES new file mode 100644 index 0000000000..3a984c8673 --- /dev/null +++ b/THIRD-PARTY-NOTICES @@ -0,0 +1,21 @@ +.NET Core uses third-party libraries or other resources that may be +distributed under licenses different than the .NET Core software. + +In the event that we accidentally failed to list a required notice, please +bring it to our attention. Post an issue or email us: + + dotnet@microsoft.com + +The attached notices are provided for information only. + +License notice for viz.js +------------------------------------ + +Copyright (c) 2014-2018 Michael Daines + +Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + diff --git a/build/dependencies.props b/build/dependencies.props index 58d6324713..860642931f 100644 --- a/build/dependencies.props +++ b/build/dependencies.props @@ -14,6 +14,7 @@ 2.2.0-preview3-35301 2.2.0-preview3-35301 2.2.0-preview3-35301 + 2.2.0-preview3-35301 2.2.0-preview3-35301 2.2.0-preview3-35301 2.2.0-preview3-35301 diff --git a/samples/RoutingSample.Web/Program.cs b/samples/RoutingSample.Web/Program.cs index 07fe40f30f..4090242329 100644 --- a/samples/RoutingSample.Web/Program.cs +++ b/samples/RoutingSample.Web/Program.cs @@ -60,6 +60,12 @@ namespace RoutingSample.Web return new WebHostBuilder() .UseKestrel() .UseIISIntegration() + .ConfigureLogging(b => + { + b.AddConsole(); + b.SetMinimumLevel(LogLevel.Debug); + }) + .UseContentRoot(Environment.CurrentDirectory) .UseStartup(startupType); } } diff --git a/samples/RoutingSample.Web/RoutingSample.Web.csproj b/samples/RoutingSample.Web/RoutingSample.Web.csproj index d8cc8e8283..5f01b1bb1e 100644 --- a/samples/RoutingSample.Web/RoutingSample.Web.csproj +++ b/samples/RoutingSample.Web/RoutingSample.Web.csproj @@ -1,4 +1,4 @@ - + netcoreapp2.2 @@ -13,6 +13,7 @@ + diff --git a/samples/RoutingSample.Web/UseEndpointRoutingStartup.cs b/samples/RoutingSample.Web/UseEndpointRoutingStartup.cs index d600b905a9..9a7f058d0f 100644 --- a/samples/RoutingSample.Web/UseEndpointRoutingStartup.cs +++ b/samples/RoutingSample.Web/UseEndpointRoutingStartup.cs @@ -5,11 +5,11 @@ using System; using System.IO; using System.Text; using System.Threading.Tasks; +using Microsoft.AspNetCore.Builder; using Microsoft.AspNetCore.Http; using Microsoft.AspNetCore.Internal; using Microsoft.AspNetCore.Routing; using Microsoft.AspNetCore.Routing.Internal; -using Microsoft.AspNetCore.Routing.Matching; using Microsoft.AspNetCore.Routing.Patterns; using Microsoft.Extensions.DependencyInjection; using Microsoft.Extensions.DependencyInjection.Extensions; @@ -134,10 +134,12 @@ namespace RoutingSample.Web services.TryAddEnumerable(ServiceDescriptor.Singleton(endpointDataSource)); } - public void Configure(Microsoft.AspNetCore.Builder.IApplicationBuilder app) + public void Configure(IApplicationBuilder app) { app.UseEndpointRouting(); + app.UseStaticFiles(); + // Imagine some more stuff here... app.UseEndpoint(); diff --git a/samples/RoutingSample.Web/wwwroot/full.render.js b/samples/RoutingSample.Web/wwwroot/full.render.js new file mode 100644 index 0000000000..571d115f81 --- /dev/null +++ b/samples/RoutingSample.Web/wwwroot/full.render.js @@ -0,0 +1,83 @@ +/* +Viz.js 2.0.0 (Graphviz 2.40.1, Expat 2.2.5, Emscripten 1.37.36) +*/ +(function(global) { +var Module = function(Module) { + Module = Module || {}; +var Module=typeof Module!=="undefined"?Module:{};var moduleOverrides={};var key;for(key in Module){if(Module.hasOwnProperty(key)){moduleOverrides[key]=Module[key]}}Module["arguments"]=[];Module["thisProgram"]="./this.program";Module["quit"]=(function(status,toThrow){throw toThrow});Module["preRun"]=[];Module["postRun"]=[];var ENVIRONMENT_IS_WEB=false;var ENVIRONMENT_IS_WORKER=false;var ENVIRONMENT_IS_NODE=false;var ENVIRONMENT_IS_SHELL=false;if(Module["ENVIRONMENT"]){if(Module["ENVIRONMENT"]==="WEB"){ENVIRONMENT_IS_WEB=true}else if(Module["ENVIRONMENT"]==="WORKER"){ENVIRONMENT_IS_WORKER=true}else if(Module["ENVIRONMENT"]==="NODE"){ENVIRONMENT_IS_NODE=true}else if(Module["ENVIRONMENT"]==="SHELL"){ENVIRONMENT_IS_SHELL=true}else{throw new Error("Module['ENVIRONMENT'] value is not valid. must be one of: WEB|WORKER|NODE|SHELL.")}}else{ENVIRONMENT_IS_WEB=typeof window==="object";ENVIRONMENT_IS_WORKER=typeof importScripts==="function";ENVIRONMENT_IS_NODE=typeof process==="object"&&typeof require==="function"&&!ENVIRONMENT_IS_WEB&&!ENVIRONMENT_IS_WORKER;ENVIRONMENT_IS_SHELL=!ENVIRONMENT_IS_WEB&&!ENVIRONMENT_IS_NODE&&!ENVIRONMENT_IS_WORKER}if(ENVIRONMENT_IS_NODE){var nodeFS;var nodePath;Module["read"]=function shell_read(filename,binary){var ret;ret=tryParseAsDataURI(filename);if(!ret){if(!nodeFS)nodeFS=require("fs");if(!nodePath)nodePath=require("path");filename=nodePath["normalize"](filename);ret=nodeFS["readFileSync"](filename)}return binary?ret:ret.toString()};Module["readBinary"]=function readBinary(filename){var ret=Module["read"](filename,true);if(!ret.buffer){ret=new Uint8Array(ret)}assert(ret.buffer);return ret};if(process["argv"].length>1){Module["thisProgram"]=process["argv"][1].replace(/\\/g,"/")}Module["arguments"]=process["argv"].slice(2);if(typeof module!=="undefined"){module["exports"]=Module}process["on"]("uncaughtException",(function(ex){if(!(ex instanceof ExitStatus)){throw ex}}));process["on"]("unhandledRejection",(function(reason,p){process["exit"](1)}));Module["inspect"]=(function(){return"[Emscripten Module object]"})}else if(ENVIRONMENT_IS_SHELL){if(typeof read!="undefined"){Module["read"]=function shell_read(f){var data=tryParseAsDataURI(f);if(data){return intArrayToString(data)}return read(f)}}Module["readBinary"]=function readBinary(f){var data;data=tryParseAsDataURI(f);if(data){return data}if(typeof readbuffer==="function"){return new Uint8Array(readbuffer(f))}data=read(f,"binary");assert(typeof data==="object");return data};if(typeof scriptArgs!="undefined"){Module["arguments"]=scriptArgs}else if(typeof arguments!="undefined"){Module["arguments"]=arguments}if(typeof quit==="function"){Module["quit"]=(function(status,toThrow){quit(status)})}}else if(ENVIRONMENT_IS_WEB||ENVIRONMENT_IS_WORKER){Module["read"]=function shell_read(url){try{var xhr=new XMLHttpRequest;xhr.open("GET",url,false);xhr.send(null);return xhr.responseText}catch(err){var data=tryParseAsDataURI(url);if(data){return intArrayToString(data)}throw err}};if(ENVIRONMENT_IS_WORKER){Module["readBinary"]=function readBinary(url){try{var xhr=new XMLHttpRequest;xhr.open("GET",url,false);xhr.responseType="arraybuffer";xhr.send(null);return new Uint8Array(xhr.response)}catch(err){var data=tryParseAsDataURI(url);if(data){return data}throw err}}}Module["readAsync"]=function readAsync(url,onload,onerror){var xhr=new XMLHttpRequest;xhr.open("GET",url,true);xhr.responseType="arraybuffer";xhr.onload=function xhr_onload(){if(xhr.status==200||xhr.status==0&&xhr.response){onload(xhr.response);return}var data=tryParseAsDataURI(url);if(data){onload(data.buffer);return}onerror()};xhr.onerror=onerror;xhr.send(null)};if(typeof arguments!="undefined"){Module["arguments"]=arguments}Module["setWindowTitle"]=(function(title){document.title=title})}Module["print"]=typeof console!=="undefined"?console.log.bind(console):typeof print!=="undefined"?print:null;Module["printErr"]=typeof printErr!=="undefined"?printErr:typeof console!=="undefined"&&console.warn.bind(console)||Module["print"];Module.print=Module["print"];Module.printErr=Module["printErr"];for(key in moduleOverrides){if(moduleOverrides.hasOwnProperty(key)){Module[key]=moduleOverrides[key]}}moduleOverrides=undefined;var STACK_ALIGN=16;function staticAlloc(size){assert(!staticSealed);var ret=STATICTOP;STATICTOP=STATICTOP+size+15&-16;return ret}function dynamicAlloc(size){assert(DYNAMICTOP_PTR);var ret=HEAP32[DYNAMICTOP_PTR>>2];var end=ret+size+15&-16;HEAP32[DYNAMICTOP_PTR>>2]=end;if(end>=TOTAL_MEMORY){var success=enlargeMemory();if(!success){HEAP32[DYNAMICTOP_PTR>>2]=ret;return 0}}return ret}function alignMemory(size,factor){if(!factor)factor=STACK_ALIGN;var ret=size=Math.ceil(size/factor)*factor;return ret}function getNativeTypeSize(type){switch(type){case"i1":case"i8":return 1;case"i16":return 2;case"i32":return 4;case"i64":return 8;case"float":return 4;case"double":return 8;default:{if(type[type.length-1]==="*"){return 4}else if(type[0]==="i"){var bits=parseInt(type.substr(1));assert(bits%8===0);return bits/8}else{return 0}}}}function warnOnce(text){if(!warnOnce.shown)warnOnce.shown={};if(!warnOnce.shown[text]){warnOnce.shown[text]=1;Module.printErr(text)}}var jsCallStartIndex=1;var functionPointers=new Array(0);var funcWrappers={};function dynCall(sig,ptr,args){if(args&&args.length){return Module["dynCall_"+sig].apply(null,[ptr].concat(args))}else{return Module["dynCall_"+sig].call(null,ptr)}}var GLOBAL_BASE=8;var ABORT=0;var EXITSTATUS=0;function assert(condition,text){if(!condition){abort("Assertion failed: "+text)}}function getCFunc(ident){var func=Module["_"+ident];assert(func,"Cannot call unknown function "+ident+", make sure it is exported");return func}var JSfuncs={"stackSave":(function(){stackSave()}),"stackRestore":(function(){stackRestore()}),"arrayToC":(function(arr){var ret=stackAlloc(arr.length);writeArrayToMemory(arr,ret);return ret}),"stringToC":(function(str){var ret=0;if(str!==null&&str!==undefined&&str!==0){var len=(str.length<<2)+1;ret=stackAlloc(len);stringToUTF8(str,ret,len)}return ret})};var toC={"string":JSfuncs["stringToC"],"array":JSfuncs["arrayToC"]};function ccall(ident,returnType,argTypes,args,opts){var func=getCFunc(ident);var cArgs=[];var stack=0;if(args){for(var i=0;i>0]=value;break;case"i8":HEAP8[ptr>>0]=value;break;case"i16":HEAP16[ptr>>1]=value;break;case"i32":HEAP32[ptr>>2]=value;break;case"i64":tempI64=[value>>>0,(tempDouble=value,+Math_abs(tempDouble)>=+1?tempDouble>+0?(Math_min(+Math_floor(tempDouble/+4294967296),+4294967295)|0)>>>0:~~+Math_ceil((tempDouble- +(~~tempDouble>>>0))/+4294967296)>>>0:0)],HEAP32[ptr>>2]=tempI64[0],HEAP32[ptr+4>>2]=tempI64[1];break;case"float":HEAPF32[ptr>>2]=value;break;case"double":HEAPF64[ptr>>3]=value;break;default:abort("invalid type for setValue: "+type)}}var ALLOC_STATIC=2;var ALLOC_NONE=4;function allocate(slab,types,allocator,ptr){var zeroinit,size;if(typeof slab==="number"){zeroinit=true;size=slab}else{zeroinit=false;size=slab.length}var singleType=typeof types==="string"?types:null;var ret;if(allocator==ALLOC_NONE){ret=ptr}else{ret=[typeof _malloc==="function"?_malloc:staticAlloc,stackAlloc,staticAlloc,dynamicAlloc][allocator===undefined?ALLOC_STATIC:allocator](Math.max(size,singleType?1:types.length))}if(zeroinit){var stop;ptr=ret;assert((ret&3)==0);stop=ret+(size&~3);for(;ptr>2]=0}stop=ret+size;while(ptr>0]=0}return ret}if(singleType==="i8"){if(slab.subarray||slab.slice){HEAPU8.set(slab,ret)}else{HEAPU8.set(new Uint8Array(slab),ret)}return ret}var i=0,type,typeSize,previousType;while(i>0];hasUtf|=t;if(t==0&&!length)break;i++;if(length&&i==length)break}if(!length)length=i;var ret="";if(hasUtf<128){var MAX_CHUNK=1024;var curr;while(length>0){curr=String.fromCharCode.apply(String,HEAPU8.subarray(ptr,ptr+Math.min(length,MAX_CHUNK)));ret=ret?ret+curr:curr;ptr+=MAX_CHUNK;length-=MAX_CHUNK}return ret}return UTF8ToString(ptr)}var UTF8Decoder=typeof TextDecoder!=="undefined"?new TextDecoder("utf8"):undefined;function UTF8ArrayToString(u8Array,idx){var endPtr=idx;while(u8Array[endPtr])++endPtr;if(endPtr-idx>16&&u8Array.subarray&&UTF8Decoder){return UTF8Decoder.decode(u8Array.subarray(idx,endPtr))}else{var u0,u1,u2,u3,u4,u5;var str="";while(1){u0=u8Array[idx++];if(!u0)return str;if(!(u0&128)){str+=String.fromCharCode(u0);continue}u1=u8Array[idx++]&63;if((u0&224)==192){str+=String.fromCharCode((u0&31)<<6|u1);continue}u2=u8Array[idx++]&63;if((u0&240)==224){u0=(u0&15)<<12|u1<<6|u2}else{u3=u8Array[idx++]&63;if((u0&248)==240){u0=(u0&7)<<18|u1<<12|u2<<6|u3}else{u4=u8Array[idx++]&63;if((u0&252)==248){u0=(u0&3)<<24|u1<<18|u2<<12|u3<<6|u4}else{u5=u8Array[idx++]&63;u0=(u0&1)<<30|u1<<24|u2<<18|u3<<12|u4<<6|u5}}}if(u0<65536){str+=String.fromCharCode(u0)}else{var ch=u0-65536;str+=String.fromCharCode(55296|ch>>10,56320|ch&1023)}}}}function UTF8ToString(ptr){return UTF8ArrayToString(HEAPU8,ptr)}function stringToUTF8Array(str,outU8Array,outIdx,maxBytesToWrite){if(!(maxBytesToWrite>0))return 0;var startIdx=outIdx;var endIdx=outIdx+maxBytesToWrite-1;for(var i=0;i=55296&&u<=57343)u=65536+((u&1023)<<10)|str.charCodeAt(++i)&1023;if(u<=127){if(outIdx>=endIdx)break;outU8Array[outIdx++]=u}else if(u<=2047){if(outIdx+1>=endIdx)break;outU8Array[outIdx++]=192|u>>6;outU8Array[outIdx++]=128|u&63}else if(u<=65535){if(outIdx+2>=endIdx)break;outU8Array[outIdx++]=224|u>>12;outU8Array[outIdx++]=128|u>>6&63;outU8Array[outIdx++]=128|u&63}else if(u<=2097151){if(outIdx+3>=endIdx)break;outU8Array[outIdx++]=240|u>>18;outU8Array[outIdx++]=128|u>>12&63;outU8Array[outIdx++]=128|u>>6&63;outU8Array[outIdx++]=128|u&63}else if(u<=67108863){if(outIdx+4>=endIdx)break;outU8Array[outIdx++]=248|u>>24;outU8Array[outIdx++]=128|u>>18&63;outU8Array[outIdx++]=128|u>>12&63;outU8Array[outIdx++]=128|u>>6&63;outU8Array[outIdx++]=128|u&63}else{if(outIdx+5>=endIdx)break;outU8Array[outIdx++]=252|u>>30;outU8Array[outIdx++]=128|u>>24&63;outU8Array[outIdx++]=128|u>>18&63;outU8Array[outIdx++]=128|u>>12&63;outU8Array[outIdx++]=128|u>>6&63;outU8Array[outIdx++]=128|u&63}}outU8Array[outIdx]=0;return outIdx-startIdx}function stringToUTF8(str,outPtr,maxBytesToWrite){return stringToUTF8Array(str,HEAPU8,outPtr,maxBytesToWrite)}function lengthBytesUTF8(str){var len=0;for(var i=0;i=55296&&u<=57343)u=65536+((u&1023)<<10)|str.charCodeAt(++i)&1023;if(u<=127){++len}else if(u<=2047){len+=2}else if(u<=65535){len+=3}else if(u<=2097151){len+=4}else if(u<=67108863){len+=5}else{len+=6}}return len}var UTF16Decoder=typeof TextDecoder!=="undefined"?new TextDecoder("utf-16le"):undefined;function allocateUTF8(str){var size=lengthBytesUTF8(str)+1;var ret=_malloc(size);if(ret)stringToUTF8Array(str,HEAP8,ret,size);return ret}function demangle(func){return func}function demangleAll(text){var regex=/__Z[\w\d_]+/g;return text.replace(regex,(function(x){var y=demangle(x);return x===y?x:x+" ["+y+"]"}))}function jsStackTrace(){var err=new Error;if(!err.stack){try{throw new Error(0)}catch(e){err=e}if(!err.stack){return"(no stack trace available)"}}return err.stack.toString()}function stackTrace(){var js=jsStackTrace();if(Module["extraStackTrace"])js+="\n"+Module["extraStackTrace"]();return demangleAll(js)}var PAGE_SIZE=16384;var buffer,HEAP8,HEAPU8,HEAP16,HEAPU16,HEAP32,HEAPU32,HEAPF32,HEAPF64;function updateGlobalBufferViews(){Module["HEAP8"]=HEAP8=new Int8Array(buffer);Module["HEAP16"]=HEAP16=new Int16Array(buffer);Module["HEAP32"]=HEAP32=new Int32Array(buffer);Module["HEAPU8"]=HEAPU8=new Uint8Array(buffer);Module["HEAPU16"]=HEAPU16=new Uint16Array(buffer);Module["HEAPU32"]=HEAPU32=new Uint32Array(buffer);Module["HEAPF32"]=HEAPF32=new Float32Array(buffer);Module["HEAPF64"]=HEAPF64=new Float64Array(buffer)}var STATIC_BASE,STATICTOP,staticSealed;var STACK_BASE,STACKTOP,STACK_MAX;var DYNAMIC_BASE,DYNAMICTOP_PTR;STATIC_BASE=STATICTOP=STACK_BASE=STACKTOP=STACK_MAX=DYNAMIC_BASE=DYNAMICTOP_PTR=0;staticSealed=false;function abortOnCannotGrowMemory(){abort("Cannot enlarge memory arrays. Either (1) compile with -s TOTAL_MEMORY=X with X higher than the current value "+TOTAL_MEMORY+", (2) compile with -s ALLOW_MEMORY_GROWTH=1 which allows increasing the size at runtime but prevents some optimizations, (3) set Module.TOTAL_MEMORY to a higher value before the program runs, or (4) if you want malloc to return NULL (0) instead of this abort, compile with -s ABORTING_MALLOC=0 ")}function enlargeMemory(){abortOnCannotGrowMemory()}var TOTAL_STACK=Module["TOTAL_STACK"]||5242880;var TOTAL_MEMORY=Module["TOTAL_MEMORY"]||16777216;if(TOTAL_MEMORY0){var callback=callbacks.shift();if(typeof callback=="function"){callback();continue}var func=callback.func;if(typeof func==="number"){if(callback.arg===undefined){Module["dynCall_v"](func)}else{Module["dynCall_vi"](func,callback.arg)}}else{func(callback.arg===undefined?null:callback.arg)}}}var __ATPRERUN__=[];var __ATINIT__=[];var __ATMAIN__=[];var __ATEXIT__=[];var __ATPOSTRUN__=[];var runtimeInitialized=false;var runtimeExited=false;function preRun(){if(Module["preRun"]){if(typeof Module["preRun"]=="function")Module["preRun"]=[Module["preRun"]];while(Module["preRun"].length){addOnPreRun(Module["preRun"].shift())}}callRuntimeCallbacks(__ATPRERUN__)}function ensureInitRuntime(){if(runtimeInitialized)return;runtimeInitialized=true;callRuntimeCallbacks(__ATINIT__)}function preMain(){callRuntimeCallbacks(__ATMAIN__)}function exitRuntime(){callRuntimeCallbacks(__ATEXIT__);runtimeExited=true}function postRun(){if(Module["postRun"]){if(typeof Module["postRun"]=="function")Module["postRun"]=[Module["postRun"]];while(Module["postRun"].length){addOnPostRun(Module["postRun"].shift())}}callRuntimeCallbacks(__ATPOSTRUN__)}function addOnPreRun(cb){__ATPRERUN__.unshift(cb)}function addOnPostRun(cb){__ATPOSTRUN__.unshift(cb)}function writeArrayToMemory(array,buffer){HEAP8.set(array,buffer)}function writeAsciiToMemory(str,buffer,dontAddNull){for(var i=0;i>0]=str.charCodeAt(i)}if(!dontAddNull)HEAP8[buffer>>0]=0}if(!Math["imul"]||Math["imul"](4294967295,5)!==-5)Math["imul"]=function imul(a,b){var ah=a>>>16;var al=a&65535;var bh=b>>>16;var bl=b&65535;return al*bl+(ah*bl+al*bh<<16)|0};Math.imul=Math["imul"];if(!Math["clz32"])Math["clz32"]=(function(x){x=x>>>0;for(var i=0;i<32;i++){if(x&1<<31-i)return i}return 32});Math.clz32=Math["clz32"];if(!Math["trunc"])Math["trunc"]=(function(x){return x<0?Math.ceil(x):Math.floor(x)});Math.trunc=Math["trunc"];var Math_abs=Math.abs;var Math_cos=Math.cos;var Math_sin=Math.sin;var Math_tan=Math.tan;var Math_acos=Math.acos;var Math_asin=Math.asin;var Math_atan=Math.atan;var Math_atan2=Math.atan2;var Math_exp=Math.exp;var Math_log=Math.log;var Math_sqrt=Math.sqrt;var Math_ceil=Math.ceil;var Math_floor=Math.floor;var Math_pow=Math.pow;var Math_imul=Math.imul;var Math_fround=Math.fround;var Math_round=Math.round;var Math_min=Math.min;var Math_max=Math.max;var Math_clz32=Math.clz32;var Math_trunc=Math.trunc;var runDependencies=0;var runDependencyWatcher=null;var dependenciesFulfilled=null;function getUniqueRunDependency(id){return id}function addRunDependency(id){runDependencies++;if(Module["monitorRunDependencies"]){Module["monitorRunDependencies"](runDependencies)}}function removeRunDependency(id){runDependencies--;if(Module["monitorRunDependencies"]){Module["monitorRunDependencies"](runDependencies)}if(runDependencies==0){if(runDependencyWatcher!==null){clearInterval(runDependencyWatcher);runDependencyWatcher=null}if(dependenciesFulfilled){var callback=dependenciesFulfilled;dependenciesFulfilled=null;callback()}}}Module["preloadedImages"]={};Module["preloadedAudios"]={};var memoryInitializer=null;var dataURIPrefix="data:application/octet-stream;base64,";function isDataURI(filename){return String.prototype.startsWith?filename.startsWith(dataURIPrefix):filename.indexOf(dataURIPrefix)===0}var ASM_CONSTS=[(function($0,$1){var path=Pointer_stringify($0);var data=Pointer_stringify($1);FS.createPath("/",PATH.dirname(path));FS.writeFile(PATH.join("/",path),data)})];function _emscripten_asm_const_iii(code,a0,a1){return ASM_CONSTS[code](a0,a1)}STATIC_BASE=GLOBAL_BASE;STATICTOP=STATIC_BASE+194160;__ATINIT__.push();memoryInitializer="data:application/octet-stream;base64,AAAAAAAA8D8AAAAAAADwPwAAAAAAAPA/AAAAAAAA8D8AAAAAAADwPwAAAAAAAPA/AAAAAAAA8D8AAAAAAADwPwAAAAAAAPA/AAAAAAAA8D8AAAAAAADwPwAAAAAAAPA/ACAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAAAAAAAAAAIMEAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABSQAAAAAAAAFJAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFJAAAAAAAAAUkAAIMEAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABSQAAAAAAAAFJAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFJAAAAAAAAAUkACEAAAAAAAAAAAAAAAABBAoC8AAAgAAAABAAAAAAAAAAIQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAICWQAAAAAAAgJZABJDDAAAAAAAAAAAAAAAQQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAWEAAAAAAAABYQAAADAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABYQAAAAAAAAFhAAAAAAAAAAAAAAAAAAAAQQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUkAAAAAAAABSQAAgAwIAAAAAAAAAAAAAEEAAAAAAAAAAAAAAAAAAAAAAYAAAAAAAAAAAAAAAAABCQAAAAAAAAEJAAAAAAAAgg0AAAAAAAMCIQAAAAAAAAFJAAAAAAAAAUkAAAAAAAAAAAAAAAAAAAEJAAAAAAAAAQkAAAAAAACCDQAAAAAAAwIhAAAAAAAAAUkAAAAAAAABSQACwwQAAAAAAAAAAAAAAEEBANgAAkwAAAAEAAAAAAAAAQAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFJAAAAAAAAAUkAAEAACAAAAAAAAAAAAABBAAAAAAAAAAAAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABYQAAAAAAAAFhAALDBAAAAAAAAAAAAAAAAABw6AAAQAAAAAQAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAWEAAAAAAAABYQEAgPgMAAAAAAAAAAAAAEEAkOwAAegAAAAEAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFJAAAAAAAAAUkAAAAAAAAAAAAAAAAAAABBAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABSQAAAAAAAAFJA////////73/////////vf////////+//////////7/8AAAAAAAD4PzMzMzMzM9M/PAAAAAAAAACamZmZmZmpPwEAAAAAAAAAAQAAAAAAAAAAAAAAAADwPwEAAAAAAAAAAgAAAAAAAAAAAAAAAADwPwIAAAAAAAAAAwAAAAAAAAAAAAAAAADgPwMAAAAAAAAABAAAAAAAAAAAAAAAAADwPwQAAAAAAAAABQAAAAAAAAAzMzMzMzPzPwUAAAAAAAAABgAAAAAAAACamZmZmZnpPwYAAAAAAAAABwAAAAAAAAAAAAAAAADwPwcAAAAAAAAACAAAAAAAAAAAAAAAAADgPwgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAEAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAABAAAAAAAAAAAAAAAAAAAAMzMzMzMz078AAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAADAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAEAAAAAAAAAAAAAAAAgEZAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAEAAAAAAAAAAAAAAAAAAAAmpmZmZmZ2b8AAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAzMzMzMzPjPwAAAAAAAAAAAAAAAAEAAAAFAAAAAAAAAAAAAAAAAAAAexSuR+F65L8AAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAGAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAHAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAAAAAAAAEAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIAAAAAAAAAAAEAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMAAAAAAAAAAAEAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAAAAAAAAEAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUAAAAAAAAAAAEAAAATAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABqQVQAAAQAAAAEAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAIAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIAAAAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMAAAAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAADAAAAAAAAAAAAAAAAgGZAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAEAAAAAAAAAAAAAAAAgGZAmpmZmZmZ2b8AAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAFAAAAAAAAAAAAAAAAgGZAexSuR+F65L8AAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAEAAAAEAAAAAAAAAAAAAAAAgEZAAAAAAAAAAAAAAAAAAAAAABgAAAAAAAAAAQAAAAEAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgAAAAAAAAAAQAAAAEAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABgAAAAAAAAAAAAAAAEAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAYAAAAAAAAAAAEAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAcAAAAAAAAAAAEAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgAAAAAAAAAAAEAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAkAAAAAAAAAAAEAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABEAAAAAAAAAAAEAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABIAAAAAAAAAAAEAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABMAAAAAAAAAAAEAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAAAAAAAAAAAEAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABUAAAAAAAAAAAEAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAoAAAAAAAAAAAEAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAsAAAAAAAAAAAEAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAwAAAAAAAAAAAEAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA0AAAAAAAAAAAEAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA4AAAAAAAAAAAEAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA8AAAAAAAAAAAEAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAAAAAAAAAAAEAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABYAAAAAAAAAAAEAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABgAAAAAAAAAAAEAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABcAAAAAAAAAAAEAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABkAAAAAAAAAAAEAAAAKAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACIVQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPC/AAAAAAAAAQAAAAAAAAAAAAAAAAAAANA/AAAAAAAA0D8AAAAAAADQPwAAAAAAANA/AAAAAAAA0D8AAAAAAADQPwAAAAAAANA/AAAAAAAA0D8AAAAAAADQPwAAAAAAANA/AAAAAAAA0D8AAAAAAADQPwAAAAAAANA/AAAAAAAA0D8AAAAAAADQPwAAAAAAANA/AAAAAAAA0D8AAAAAAADQPwAAAAAAANA/AAAAAAAA0D8AAAAAAADQPwAAAAAAANA/AAAAAAAA0D8AAAAAAADQPwAAAAAAANA/AAAAAAAA0D8AAAAAAADQPwAAAAAAANA/AAAAAAAA0D8AAAAAAADQPwAAAAAAANA/AAAAAAAA0D8AAAAAAADQP1ioNc07TtU/JXUCmggb2j8AAAAAAADgPwAAAAAAAOA/LNSa5h2n6j9q3nGKjuToP1ioNc07TtU/WKg1zTtO1T9YqDXNO07VPwAAAAAAAOA/XdxGA3gL4j8AAAAAAADQP1ioNc07TtU/AAAAAAAA0D/TvOMUHcnRPwAAAAAAAOA/AAAAAAAA4D8AAAAAAADgPwAAAAAAAOA/AAAAAAAA4D8AAAAAAADgPwAAAAAAAOA/AAAAAAAA4D8AAAAAAADgPwAAAAAAAOA/07zjFB3J0T/TvOMUHcnRP13cRgN4C+I/XdxGA3gL4j9d3EYDeAviPw1xrIvbaNw/ZF3cRgN47T/Sb18HzhnnPxB6Nqs+V+U/EHo2qz5X5T/Sb18HzhnnP3gLJCh+jOM/tRX7y+7J4T/Sb18HzhnnP9JvXwfOGec/WKg1zTtO1T+IhVrTvOPYP9JvXwfOGec/eAskKH6M4z/EQq1p3nHsP9JvXwfOGec/0m9fB84Z5z+1FfvL7snhP9JvXwfOGec/EHo2qz5X5T+1FfvL7snhP3gLJCh+jOM/0m9fB84Z5z/Sb18HzhnnP4Y41sVtNO4/0m9fB84Z5z/Sb18HzhnnP3gLJCh+jOM/WKg1zTtO1T/TvOMUHcnRP1ioNc07TtU/pgpGJXUC3j8AAAAAAADgP1ioNc07TtU/DXGsi9to3D8AAAAAAADgPw1xrIvbaNw/AAAAAAAA4D8NcayL22jcP1ioNc07TtU/AAAAAAAA4D8AAAAAAADgP9O84xQdydE/07zjFB3J0T8AAAAAAADgP9O84xQdydE/at5xio7k6D8AAAAAAADgPwAAAAAAAOA/AAAAAAAA4D8AAAAAAADgP1ioNc07TtU/iIVa07zj2D/TvOMUHcnRPwAAAAAAAOA/AAAAAAAA4D/Sb18HzhnnPwAAAAAAAOA/AAAAAAAA4D8NcayL22jcP/RsVn2utt4/ETY8vVKWyT/0bFZ9rrbePzsBTYQNT+E/AAAAAAAA0D8AAAAAAADQPwAAAAAAANA/AAAAAAAA0D8AAAAAAADQPwAAAAAAANA/AAAAAAAA0D8AAAAAAADQPwAAAAAAANA/AAAAAAAA0D8AAAAAAADQPwAAAAAAANA/AAAAAAAA0D8AAAAAAADQPwAAAAAAANA/AAAAAAAA0D8AAAAAAADQPwAAAAAAANA/AAAAAAAA0D8AAAAAAADQPwAAAAAAANA/AAAAAAAA0D8AAAAAAADQPwAAAAAAANA/AAAAAAAA0D8AAAAAAADQPwAAAAAAANA/AAAAAAAA0D8AAAAAAADQPwAAAAAAANA/AAAAAAAA0D8AAAAAAADQPwAAAAAAANA/AAAAAAAA0D9YqDXNO07VPwAAAAAAAOA/AAAAAAAA4D8+6Nms+lzFPwAAAAAAAOA/AAAAAAAA4D8AAAAAAADgPwAAAAAAAOA/gnNGlPYGxz8NcayL22jcPwAAAAAAAOA/WKg1zTtO1T9YqDXNO07VP7UV+8vuyeE/tRX7y+7J4T8AAAAAAADQPwAAAAAAAOA/AAAAAAAA4D8AAAAAAADgPwAAAAAAANA/AAAAAAAA0D8H8BZIUPzcP6K0N/jCZNY/WKg1zTtO1T8NcayL22jcPw1xrIvbaNw/AAAAAAAA4D8AAAAAAADwPwAAAAAAAPA/AAAAAAAA0D8NcayL22jcPwAAAAAAANA/WKg1zTtO1T9YqDXNO07VP1ioNc07TtU/WKg1zTtO1T9YqDXNO07VP1ioNc07TtU/WKg1zTtO1T9YqDXNO07VPwAAAAAAANA/WKg1zTtO1T9YqDXNO07VPwAAAAAAANA/WKg1zTtO1T9YqDXNO07VP1ioNc07TtU/AAAAAAAA8D8AAAAAAADQPwAAAAAAANA/AAAAAAAA0D8AAAAAAADQPwAAAAAAANA/AAAAAAAA0D8AAAAAAADQPwAAAAAAANA/AAAAAAAA0D8AAAAAAADQPwAAAAAAANA/AAAAAAAA0D8AAAAAAADQPwAAAAAAANA/AAAAAAAA0D8AAAAAAADQP8RCrWnecew/AAAAAAAA0D9/2T15WKjRPwAAAAAAANA/AAAAAAAA0D8AAAAAAADQPwAAAAAAANA/eAskKH6M4z/Sb18HzhnnP8RCrWnecew/E/JBz2bV0z8AAAAAAADQPwAAAAAAANA/AAAAAAAA0D8AAAAAAADQPwAAAAAAANA/EHo2qz5X5T8AAAAAAADQPwAAAAAAANA/AAAAAAAA0D/TvOMUHcnRPwAAAAAAANA/AAAAAAAA0D/TvOMUHcnRPwAAAAAAAOA/0m9fB84Z5z8AAAAAAADgPwAAAAAAANA/AAAAAAAA0D8AAAAAAADQPwAAAAAAANA/UdobfGEy4z9R2ht8YTLjP1HaG3xhMuM/UdobfGEy4z9R2ht8YTLjP1HaG3xhMuM/UdobfGEy4z9R2ht8YTLjP1HaG3xhMuM/UdobfGEy4z9R2ht8YTLjP1HaG3xhMuM/UdobfGEy4z9R2ht8YTLjP1HaG3xhMuM/UdobfGEy4z9R2ht8YTLjP1HaG3xhMuM/UdobfGEy4z9R2ht8YTLjP1HaG3xhMuM/UdobfGEy4z9R2ht8YTLjP1HaG3xhMuM/UdobfGEy4z9R2ht8YTLjP1HaG3xhMuM/UdobfGEy4z9R2ht8YTLjP1HaG3xhMuM/UdobfGEy4z9R2ht8YTLjP1HaG3xhMuM/UdobfGEy4z9R2ht8YTLjP1HaG3xhMuM/UdobfGEy4z9R2ht8YTLjP1HaG3xhMuM/UdobfGEy4z9R2ht8YTLjP1HaG3xhMuM/UdobfGEy4z9R2ht8YTLjP1HaG3xhMuM/UdobfGEy4z9R2ht8YTLjP1HaG3xhMuM/UdobfGEy4z9R2ht8YTLjP1HaG3xhMuM/UdobfGEy4z9R2ht8YTLjP1HaG3xhMuM/UdobfGEy4z9R2ht8YTLjP1HaG3xhMuM/UdobfGEy4z9R2ht8YTLjP1HaG3xhMuM/UdobfGEy4z9R2ht8YTLjP1HaG3xhMuM/UdobfGEy4z9R2ht8YTLjP1HaG3xhMuM/UdobfGEy4z9R2ht8YTLjP1HaG3xhMuM/UdobfGEy4z9R2ht8YTLjP1HaG3xhMuM/UdobfGEy4z9R2ht8YTLjP1HaG3xhMuM/UdobfGEy4z9R2ht8YTLjP1HaG3xhMuM/UdobfGEy4z9R2ht8YTLjP1HaG3xhMuM/UdobfGEy4z9R2ht8YTLjP1HaG3xhMuM/UdobfGEy4z9R2ht8YTLjP1HaG3xhMuM/UdobfGEy4z9R2ht8YTLjP1HaG3xhMuM/UdobfGEy4z9R2ht8YTLjP1HaG3xhMuM/UdobfGEy4z9R2ht8YTLjP1HaG3xhMuM/UdobfGEy4z9R2ht8YTLjP1HaG3xhMuM/UdobfGEy4z9R2ht8YTLjP1HaG3xhMuM/UdobfGEy4z9R2ht8YTLjP1HaG3xhMuM/UdobfGEy4z9R2ht8YTLjP1HaG3xhMuM/UdobfGEy4z9R2ht8YTLjP1HaG3xhMuM/UdobfGEy4z9R2ht8YTLjP1HaG3xhMuM/UdobfGEy4z9R2ht8YTLjP1HaG3xhMuM/UdobfGEy4z9R2ht8YTLjP1HaG3xhMuM/UdobfGEy4z9R2ht8YTLjP1HaG3xhMuM/UdobfGEy4z9R2ht8YTLjP1HaG3xhMuM/UdobfGEy4z9R2ht8YTLjP1HaG3xhMuM/UdobfGEy4z9R2ht8YTLjP1HaG3xhMuM/UdobfGEy4z9R2ht8YTLjP1HaG3xhMuM/UdobfGEy4z9R2ht8YTLjP1HaG3xhMuM/UdobfGEy4z9R2ht8YTLjP1HaG3xhMuM/UdobfGEy4z9R2ht8YTLjP1HaG3xhMuM/UdobfGEy4z9R2ht8YTLjP1HaG3xhMuM/UdobfGEy4z9R2ht8YTLjP1HaG3xhMuM/UdobfGEy4z9R2ht8YTLjP1HaG3xhMuM/UdobfGEy4z9R2ht8YTLjP1HaG3xhMuM/UdobfGEy4z9R2ht8YTLjP1HaG3xhMuM/UdobfGEy4z9R2ht8YTLjP1HaG3xhMuM/UdobfGEy4z9R2ht8YTLjP1HaG3xhMuM/UdobfGEy4z9R2ht8YTLjP1HaG3xhMuM/UdobfGEy4z9R2ht8YTLjP1HaG3xhMuM/UdobfGEy4z9R2ht8YTLjP1HaG3xhMuM/UdobfGEy4z9R2ht8YTLjP1HaG3xhMuM/UdobfGEy4z9R2ht8YTLjP1HaG3xhMuM/UdobfGEy4z9R2ht8YTLjP1HaG3xhMuM/UdobfGEy4z9R2ht8YTLjP1HaG3xhMuM/UdobfGEy4z9R2ht8YTLjP1HaG3xhMuM/UdobfGEy4z9R2ht8YTLjP1HaG3xhMuM/UdobfGEy4z9R2ht8YTLjP1HaG3xhMuM/UdobfGEy4z9R2ht8YTLjP1HaG3xhMuM/UdobfGEy4z9R2ht8YTLjP1HaG3xhMuM/UdobfGEy4z9R2ht8YTLjP1HaG3xhMuM/UdobfGEy4z9R2ht8YTLjP1HaG3xhMuM/UdobfGEy4z9R2ht8YTLjP1HaG3xhMuM/UdobfGEy4z9R2ht8YTLjP1HaG3xhMuM/UdobfGEy4z9R2ht8YTLjP1HaG3xhMuM/UdobfGEy4z9R2ht8YTLjP1HaG3xhMuM/UdobfGEy4z9R2ht8YTLjP1HaG3xhMuM/UdobfGEy4z9R2ht8YTLjP1HaG3xhMuM/UdobfGEy4z9R2ht8YTLjP1HaG3xhMuM/UdobfGEy4z9R2ht8YTLjP1HaG3xhMuM/UdobfGEy4z9R2ht8YTLjP1HaG3xhMuM/UdobfGEy4z9R2ht8YTLjP1HaG3xhMuM/UdobfGEy4z9R2ht8YTLjP1HaG3xhMuM/UdobfGEy4z9R2ht8YTLjP1HaG3xhMuM/UdobfGEy4z9R2ht8YTLjP1HaG3xhMuM/UdobfGEy4z9R2ht8YTLjP1HaG3xhMuM/UdobfGEy4z9R2ht8YTLjP1HaG3xhMuM/UdobfGEy4z9R2ht8YTLjP1HaG3xhMuM/UdobfGEy4z/TvOMUHcnRP9O84xQdydE/07zjFB3J0T/TvOMUHcnRP9O84xQdydE/07zjFB3J0T/TvOMUHcnRP9O84xQdydE/07zjFB3J0T/TvOMUHcnRP9O84xQdydE/07zjFB3J0T/TvOMUHcnRP9O84xQdydE/07zjFB3J0T/TvOMUHcnRP9O84xQdydE/07zjFB3J0T/TvOMUHcnRP9O84xQdydE/07zjFB3J0T/TvOMUHcnRP9O84xQdydE/07zjFB3J0T/TvOMUHcnRP9O84xQdydE/07zjFB3J0T/TvOMUHcnRP9O84xQdydE/07zjFB3J0T/TvOMUHcnRP9O84xQdydE/07zjFB3J0T/TvOMUHcnRP/RsVn2uttY/tRX7y+7J4T+1FfvL7snhP8RCrWnecew/EHo2qz5X5T/129eBc0bMP1ioNc07TtU/WKg1zTtO1T+IhVrTvOPYPwFNhA1Pr+I/07zjFB3J0T9YqDXNO07VP9O84xQdydE/07zjFB3J0T+1FfvL7snhP7UV+8vuyeE/tRX7y+7J4T+1FfvL7snhP7UV+8vuyeE/tRX7y+7J4T+1FfvL7snhP7UV+8vuyeE/tRX7y+7J4T+1FfvL7snhP9O84xQdydE/07zjFB3J0T8BTYQNT6/iPwFNhA1Pr+I/AU2EDU+v4j+1FfvL7snhP8xdS8gHPfA/EHo2qz5X5T8QejarPlflP9JvXwfOGec/0m9fB84Z5z8QejarPlflP3gLJCh+jOM/at5xio7k6D/Sb18HzhnnP9O84xQdydE/AAAAAAAA4D8QejarPlflP7UV+8vuyeE/LNSa5h2n6j/Sb18HzhnnP2recYqO5Og/EHo2qz5X5T9q3nGKjuToP9JvXwfOGec/EHo2qz5X5T94CyQofozjP9JvXwfOGec/EHo2qz5X5T+GONbFbTTuPxB6Nqs+V+U/EHo2qz5X5T94CyQofozjP9O84xQdydE/07zjFB3J0T/TvOMUHcnRP6YKRiV1At4/tRX7y+7J4T9Iv30dOGfMP7UV+8vuyeE/tRX7y+7J4T8AAAAAAADgP7UV+8vuyeE/tRX7y+7J4T/TvOMUHcnRP7UV+8vuyeE/tRX7y+7J4T9Iv30dOGfMP0i/fR04Z8w/AAAAAAAA4D9Iv30dOGfMPyzUmuYdp+o/tRX7y+7J4T+1FfvL7snhP7UV+8vuyeE/tRX7y+7J4T9YqDXNO07VPwAAAAAAAOA/07zjFB3J0T+1FfvL7snhPwAAAAAAAOA/0m9fB84Z5z8AAAAAAADgPwAAAAAAAOA/AAAAAAAA4D8Cmggbnl7VP+C+DpwzotA/ApoIG55e1T8BTYQNT6/iP9O84xQdydE/07zjFB3J0T/TvOMUHcnRP9O84xQdydE/07zjFB3J0T/TvOMUHcnRP9O84xQdydE/07zjFB3J0T/TvOMUHcnRP9O84xQdydE/07zjFB3J0T/TvOMUHcnRP9O84xQdydE/07zjFB3J0T/TvOMUHcnRP9O84xQdydE/07zjFB3J0T/TvOMUHcnRP9O84xQdydE/07zjFB3J0T/TvOMUHcnRP9O84xQdydE/07zjFB3J0T/TvOMUHcnRP9O84xQdydE/07zjFB3J0T/TvOMUHcnRP9O84xQdydE/07zjFB3J0T/TvOMUHcnRP9O84xQdydE/07zjFB3J0T/TvOMUHcnRP9O84xQdydE/WKg1zTtO1T+1FfvL7snhP7UV+8vuyeE/PujZrPpcxT+1FfvL7snhP7UV+8vuyeE/tRX7y+7J4T+1FfvL7snhPx04Z0Rpb8g/WKg1zTtO1T+1FfvL7snhP1ioNc07TtU/WKg1zTtO1T8AAAAAAADgPwAAAAAAAOA/07zjFB3J0T+1FfvL7snhP7UV+8vuyeE/tRX7y+7J4T/TvOMUHcnRP9O84xQdydE/5x2n6Egu4T+itDf4wmTWP0i/fR04Z8w/WKg1zTtO1T9YqDXNO07VP7UV+8vuyeE/AAAAAAAA8D8AAAAAAADwP9O84xQdydE/eAskKH6M4z/TvOMUHcnRP1ioNc07TtU/WKg1zTtO1T9YqDXNO07VP1ioNc07TtU/WKg1zTtO1T9YqDXNO07VP1ioNc07TtU/WKg1zTtO1T/TvOMUHcnRP1ioNc07TtU/WKg1zTtO1T/TvOMUHcnRP1ioNc07TtU/WKg1zTtO1T9YqDXNO07VPwAAAAAAAPA/07zjFB3J0T/TvOMUHcnRP9O84xQdydE/07zjFB3J0T/TvOMUHcnRP9O84xQdydE/07zjFB3J0T/TvOMUHcnRP9O84xQdydE/07zjFB3J0T/TvOMUHcnRP9O84xQdydE/07zjFB3J0T/TvOMUHcnRP9O84xQdydE/07zjFB3J0T8AAAAAAADwP9O84xQdydE/6pWyDHGs1z/TvOMUHcnRP9O84xQdydE/07zjFB3J0T/TvOMUHcnRP7UV+8vuyeE/at5xio7k6D8AAAAAAADwP5jdk4eFWtc/07zjFB3J0T/TvOMUHcnRP9O84xQdydE/07zjFB3J0T/TvOMUHcnRP8RCrWnecew/07zjFB3J0T/TvOMUHcnRP9O84xQdydE/07zjFB3J0T/TvOMUHcnRP9O84xQdydE/SL99HThnzD94CyQofozjP4Y41sVtNO4/eAskKH6M4z/TvOMUHcnRP9O84xQdydE/07zjFB3J0T/TvOMUHcnRP1GgT+RJ0g5AtMh2vp86NcA6It+l1CXVv/OCPkeaLoo/n+V5cHfW+b9+/RAbLJzmP5bs2AjE68w/zc6idyrg0D+w479AECDtv62h1F5E29g/O6F85lGWdj/TbnD5eoR7P4HMzqJ3KuS/0a3X9KCgyD9q3zcZsD+EP77KkBle/4Q/HJYGflTDxL+lSSno9uIjQKnZA63AkME/CMSQQZNpiT/6RJ4kXTPQvwHwmTYtwl4/DZx9L8+Ulz+JtfgUAOOJP+WpWEY0y7G/jwDJz6Fnpr9ctcb7zLSIP02kj1Q6s5A/5scEoWHWoL/HaWccE/eCvyp/a+UtcFy/5FdiVAiadT/R8YdVcgS3P5XUCWgiPDPAZCMQr+t3EMCnIarwZ3jHP9r/AGvVrsE/TihEwCFU97+qSIWxhSD1P51oVyHlJ/Y/TS7GwDqOzT9Zayi1F9HcvwM/qmG/J8w/pkdTPZl/2j+2gTtQpzyuP1FM3gAz37m/9XaV/9oLpj/UpTW8D/aUPx+tILws3JA/KCzxgLLJI0AjWuFMAoq3P0ijZVGWKX8/u7SG98Gekz8XqHtTR32gvyErruBtlIs/M3PchNYetb+geISJ9fyPP2k1JO6x9JG/uM0zel6/aj+SPq2iPzTNv36w58ZPPpi/ByObUC3HpD8+GMJ7WLmRvy18fa1LjcY/AAAAQPsh+T8AAAAALUR0PgAAAICYRvg8AAAAYFHMeDsAAACAgxvwOQAAAEAgJXo4AAAAgCKC4zYAAAAAHfNpNQAAAAAAAPC/VAQBAOgqAAADAAAAEC0AAAMAAADoLwAAAwAAALAwAAADAAAAADIAAAMAAAB4NQAAAwAAALQ4AAADAAAAxC4AAAMAAAB8OQAAAwAAAIQ6AAADAAAAED8AAAMAAAA0PQAAAAAAANQsAAAAAAAAwC8AAAAAAAAQMAAAAAAAANgxAAAAAAAAKDIAAAAAAACMOAAAAAAAAGAuAAAAAAAAVDkAAAAAAABcOgAAAAAAAOg+AAAAAAAADD0AAAQAAAA4PwAAAAAAAAAAAAAAAAAAAAAAAAEAAAACAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAACAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAAAAAAAUAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAAAAAACAAAAAQAAAAEAAAADAAAAAAAAAAAAAAAAzQIAEM0CACDNAgAwzQIAQM0CAFDNAgBgzQIAcM0CABDNAgAQzQIAUM0CAFDNAgAfAAAAPwAAAH8AAAAAAAAA0HkBAAEAAACoKwAAaAAAAAQAAABtCAEAAQAAACAsAACIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACAUBAAEAAAAAAAAA4AAAAAAAAAAQBQEAAQAAAAAAAADgAAAAAQAAABcFAQABAAAAAAAAAKgAAAACAAAAIQUBAAEAAAAAAAAA4AAAAAMAAAArBQEAAQAAAAAAAADgAAAABAAAADkFAQABAAAAAAAAAOAAAAAFAAAAQwUBAAEAAAAAAAAA4AAAAAYAAABQBQEAAQAAAAAAAADgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAYAAAAHAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIAAAA/////wAAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAcggBAAEAAADELQAAGAEAAAEAAAB3CAEAAQAAAMQtAAAYAQAAAgAAAH0IAQABAAAAxC0AABgBAAADAAAAhggBAAEAAADELQAAGAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAJAIAQABAAAAAAAAAHABAAABAAAAmggBAAEAAAAAAAAAcAEAAAIAAAClCAEAAQAAAAAAAAA4AQAAAwAAALMIAQABAAAAAAAAADgBAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACAAAAAkAAAAAAAAAAAAAAAoAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACwAAAAwAAAANAAAADgAAAAAAAAAAAAAAAAAAAAAAAAAFAAAAAQAAAAYAAAACAAAAAgAAAAcAAAACAAAAAAAAAFgMAgBd9QEA7vYBAC79AQAlBAIAZAgCAOQLAgD1CwIAAAAAAPoIAQABAAAAKC8AAKgBAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD+CAEAAQAAAAAAAADIAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAAABgkBAAEAAAA4MAAAAAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADwAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAD4KAQABAAAAAAAAACACAAACAAAASAoBAAEAAAAAAAAAWAIAAAAAAABRCgEAAQAAAAAAAABYAgAAAwAAAFoKAQABAAAAAAAAAFgCAAAAAAAAZAoBAAEAAAAAAAAAIAIAAAMAAABwCgEAAQAAAAAAAAAgAgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABEAAAASAAAAAAAAAAAAAAATAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAAAAVAAAAFgAAABcAAAAAAAAAAAAAAAAAAAAAAAAACAAAAAMAAAAJAAAAAwAAAAMAAAAKAAAABAAAAAAAAABYDAIAXfUBAC79AQDu9gEAZAgCACUEAgD1CwIA5AsCAAAAAAAAAAAALQwBAP////88MQAAkAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADAMAQD/////AAAAALACAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADWgQEAAQAAAFAyAADoAgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAYAAAAGQAAABoAAAAAAAAABAAAAAAAAAAbAAAAHAAAAB0AAAAeAAAAAAAAAAAAAAAAAAAAAAAAAB8AAAAgAAAAIQAAACIAAAACAAAAAAAAAAAAAAAAAAAACwAAAAAAAAAMAAAABQAAAAQAAAANAAAABQAAAAMAAAAtEAEAOxABAFEQAQDr7QIAXxABAG4QAQBzEAEAkRABAOvtAgCjEAEA0xABAOvtAgDxEAEAGREBACcRAQBWEQEAihEBAJsRAQDAEQEA4xEBAOkRAQAFEgEAIhIBAD0SAQBeEgEAeBIBAJoSAQC5EgEA3xIBAPcSAQAXEwEANBMBAFgTAQBkEwEA6+0CAG8TAQCVEwEAuRMBAN8TAQDr7QIAFRQBAC0UAQA6FAEAaRQBAGQTAQDr7QIAdhQBAH8UAQCgFAEA2xQBACYVAQB6FQEAnBUBALEVAQDIFQEA3hUBAPYVAQDr7QIADBYBACcWAQBLFgEAbxYBAJQWAQDr7QIAtRYBAM8WAQDhFgEA7hYBAPsWAQAPFwEAHhcBACYXAQA7FwEASRcBAIcXAQCSFwEAZBMBAOvtAgCYFwEApBcBALMXAQDjEQEA6+0CAMYXAQDvFwEADRgBAB0YAQAuGAEANRgBAEQYAQBUGAEAmBgBAJ8YAQDjEQEA6+0CAKkYAQDVGAEA4BgBAOkYAQDyGAEAAxkBABQZAQAoGQEAZBMBAOvtAgA0GQEARBkBAFIZAQBgGQEAbRkBAHoZAQCQGQEAmRkBAKgZAQC1GQEAxhkBAGQTAQDr7QIA0RkBAPAZAQDr7QIAAhoBABEaAQBBGgEASxoBAFgaAQBlGgEAchoBAH8aAQCCGgEA6+0CAIYaAQDr7QIAqRoBANoaAQAJGwEAIBsBADsbAQBWGwEAZBMBAOvtAgByGwEA6+0CAJobAQCmGwEAuRsBAMwbAQDhGwEA9hsBAPobAQDjEQEA6+0CAAYcAQDr7QIAFhwBACQcAQAwHAEAPRwBAF0cAQBzHAEA6+0CAIccAQDQHAEAFh0BAEYdAQB5HQEAgB0BAKcdAQDOHQEA6+0CANMdAQAAAAAAAAAAAJFHAQABAAAAAAAAAAgDAAABAAAARx4BAAEAAAAAAAAACAMAAAIAAACKRwEAAQAAAAAAAABAAwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAjAAAAAAAAACQAAAAlAAAABgAAACYAAAAnAAAAKAAAACkAAAAqAAAAAAAAAAAAAAAAAAAAAAAAACsAAAAsAAAALQAAAC4AAAAEAAAALwAAAAAAAAAAAAAADgAAAAAAAAAPAAAABwAAAAUAAAAQAAAABgAAAAAAAAB19AEAf/QBABExAQDE9AEA//QBACH1AQAn9QEAWAwCAE71AQBd9QEAevUBAIX1AQCn9QEA3fUBABP2AQBO9gEAhPYBAKb2AQC19gEA5vYBAO72AQDXJAEA4CQBAAv3AQDpJAEAVfcBAPIkAQBf9wEA+yQBAGn3AQC49wEA8/cBAAclAQAu+AEAOfgBAH74AQCM+AEA1vgBAOT4AQDy+AEA/fgBAC75AQBu+QEAdvkBAH75AQC5+QEA7/kBAPv5AQAWMQEAB/oBABH6AQAc+gEAOfoBAG/6AQAu/QEAUP0BAFz9AQAbAAIATAACAHgAAgCuAAIAuwACAN0AAgD/AAIACAECAFIBAgBcAQIAoQECANcBAgDiAQIAZwICAHwCAgAPJQEAhgICAJACAgDGAgIABgMCABQDAgBoAwIAdwMCAIYDAgDVAwIAHjEBABUEAgAfBAIAJQQCAFEEAgB4BAIAiQQCAJQEAgDZBAIAHgUCAC0FAgA9BQIATwUCAF8FAgBvBQIAfAUCAIYFAgC8BQIAxQUCAAUGAgAYBgIAIzEBACAGAgBWBgIAfQYCALMGAgDaBgIA6AYCAB4HAgBoBwIAsgcCAL0HAgDzBwIA+AcCABUIAgAyCAIAPQgCAGQIAgB8CAIAsggCAOgIAgD0CAIAGwkCACYJAgBXCQIAiAkCABA8AQCvCQIA2wkCABEKAgBHCgIAUQoCAG4KAgCuCgIA5AoCACkxAQD8CgIAKAsCAE8LAgCFCwIAwgsCAOQLAgDqCwIA9QsCABwMAgAAAAAA2YEBAAEAAADINQAAeAMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGhIAQABAAAAAAAAAJgDAAAAAAAAAAAAAAAAAAAAAAAAAAAAADAAAAAAAAAAMQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMgAAAAAAAAAzAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAARAAAAAAAAABIAAAAIAAAABgAAABMAAAAHAAAAAAAAAAAAAABFJgEAAQAAANw4AADQAwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAASCYBAAEAAAAAAAAA8AMAAAAAAAAAAAAAAAAAAAAAAAAAAAAANAAAAAAAAAA1AAAANgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAAADcAAAAAAAAAAAAAABQAAAAAAAAAFQAAAAkAAAAHAAAAFgAAAAgAAAAAAAAAETEBAFgMAgBd9QEAFjEBAG/6AQAu/QEAHjEBAFEEAgAFBgIAIzEBAD0IAgBkCAIAEDwBACkxAQDkCwIA9QsCAAAAAAAuMQEAAQAAAKQ5AAAoBAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMjEBAAEAAAAAAAAASAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOAAAAAAAAAA5AAAAOgAAAAoAAAA7AAAAPAAAAD0AAAA+AAAAPwAAAAAAAAAAAAAAAAAAAAAAAABAAAAAQQAAAEIAAABDAAAAAAAAAAAAAAAAAAAAAAAAABcAAAAAAAAAGAAAAAsAAAAIAAAAGQAAAAkAAAAAAAAAxPQBAKY6AQBYDAIAXfUBAHr1AQCxOgEAtzoBAMI6AQDJOgEAhfUBAN31AQDROgEA1zoBAOI6AQCE9gEApvYBAO72AQDpOgEAVfcBAGn3AQDz9wEA8zoBAH74AQCM+AEA1vgBAP46AQDk+AEABjsBAA87AQAdOwEAJzsBALn5AQAwOwEA+/kBABz6AQA5+gEANjsBAID6AQCr+gEA1PoBAPf6AQAg+wEAQ/sBAGz7AQCP+wEAuPsBANv7AQAE/AEAJ/wBAFD8AQBz/AEAnPwBAL/8AQDo/AEAC/0BAC79AQA9OwEAUP0BAEk7AQB4AAIA3QACAKEBAgBWOwEAhgMCAGM7AQAVBAIAJQQCAG07AQBRBAIAeAQCAIkEAgB8OwEAjjsBAJQEAgAeBQIALQUCAD0FAgBPBQIAXwUCAJ47AQCpOwEAtDsBAG8FAgAFBgIACgYCALk7AQDCOwEAyzsBANs7AQDiOwEAVgYCAH0GAgCzBgIA6AYCAPgHAgAVCAIA6jsBAGQIAgDxOwEA9AgCAPo7AQAmCQIAAjwBAIgJAgAQPAEArwkCANsJAgAXPAEAbgoCAK4KAgAhPAEA5AoCAPwKAgBPCwIAKzwBADk8AQCFCwIAjAsCAMILAgDkCwIA9QsCABwMAgAAAAAASzwBAAEAAACsOgAAgAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAE88AQABAAAAAAAAAKAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAARAAAAEUAAAAAAAAAAAAAAEYAAABHAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAaAAAAAAAAABsAAAAMAAAACQAAABwAAAAKAAAAAAAAAEFCAADelQEAQUkAALiVAQBBUgAAi5UBAEFYAADzlQEAQiAAAC+YAQBCSQAAQJgBAENCAAB4lgEAQ08AAGaWAQBDWAAAhZYBAEggAACplgEASEIAALOWAQBISQAAP5cBAEhYAADClgEASGIAAPOWAQBIaQAAJpcBAEhyAADYlgEASHgAAAmXAQBJIAAAUZgBAEtCAAAKlgEAS0kAAFKWAQBLUgAAPpYBAEtYAAArlgEATkIAAFGXAQBOSQAAmJcBAE5SAACwlwEATlgAAHyXAQBQQQAAEZgBAFBCAADNlwEAUEkAAAGYAQBQWAAA7ZcBAFIgAAAImgEAUyAAACCYAQBaRAAAjpgBAAAAAAAAAAAAAQAAAAAAAAD+RgEA/////1w9AADYBAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAkcBAP////8AAAAA+AQAAAAAAAAAAAAAAAAAAAAAAAAAAAAADwAAAApHAQABAAAAIEMAAAAAAAAQAAAAEkcBAAEAAAAgQwAAAAAAABEAAAAaRwEAAQAAACBDAAAAAAAAEQAAACNHAQABAAAAIEMAAAAAAAARAAAAK0cBAAEAAAAgQwAAAAAAABMAAAAzRwEAAQAAACRDAAAAAAAAFAAAADtHAQABAAAAJEMAAAAAAAAVAAAAQ0cBAAEAAAAkQwAAAAAAABUAAABMRwEAAQAAACRDAAAAAAAAFQAAAFRHAQABAAAAJEMAAAAAAAAWAAAAXEcBAAEAAAAoQwAAAAAAABcAAABlRwEAAQAAAChDAAAAAAAAGAAAAG5HAQABAAAAKEMAAAAAAAAYAAAAeEcBAAEAAAAoQwAAAAAAABgAAACBRwEAAQAAAChDAAAAAAAAGQAAAIpHAQABAAAALEMAAAAAAAAZAAAAkUcBAAEAAAAsQwAAAAAAABoAAACXRwEAAQAAADBDAAAAAAAACgAAAKBHAQABAAAANEMAAAAAAAALAAAAqEcBAAEAAAA0QwAAAAAAAAwAAACwRwEAAQAAADRDAAAAAAAADAAAALlHAQABAAAANEMAAAAAAAAMAAAAwUcBAAEAAAA0QwAAAAAAAA4AAADJRwEAAQAAADRDAAAAAAAADgAAANBHAQABAAAANEMAAAAAAAANAAAA2EcBAAEAAAA0QwAAAAAAAAUAAADgRwEAAQAAADRDAAAAAAAABgAAAOhHAQABAAAANEMAAAAAAAAHAAAA8EcBAAEAAAA0QwAAAAAAAAcAAAD5RwEAAQAAADRDAAAAAAAABwAAAAFIAQABAAAANEMAAAAAAAAJAAAACUgBAAEAAAA0QwAAAAAAAAkAAAAQSAEAAQAAADRDAAAAAAAACAAAABhIAQABAAAANEMAAAAAAAAAAAAAIEgBAAEAAAA4QwAAAAAAAAEAAAApSAEAAQAAADhDAAAAAAAAAgAAADJIAQABAAAAOEMAAAAAAAACAAAAPEgBAAEAAAA4QwAAAAAAAAIAAABFSAEAAQAAADhDAAAAAAAABAAAAE5IAQABAAAAOEMAAAAAAAAEAAAAVkgBAAEAAAA4QwAAAAAAAAMAAABfSAEAAQAAADhDAAAAAAAAEgAAAGhIAQABAAAAIEMAAAAAAAAbAAAAcEgBAAEAAAA8QwAAAAAAABwAAAB4SAEAAQAAADxDAAAAAAAAHQAAAIBIAQABAAAAPEMAAAAAAAAdAAAAiUgBAAEAAAA8QwAAAAAAAB0AAACRSAEAAQAAADxDAAAAAAAAHgAAAJlIAQABAAAAQEMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA0AAAAOAAAADwAAABAAAAARAAAAEgAAABMAAAAUAAAAFQAAAARMAQBMQwAAAQAAAGhDAAAAAAAAAAAAAEgAAABJAAAAAQAAAAAAAADQeQEAAAAAAFxDAABkQwAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAAAAgAAAAAAAAABAAAAAQAAAAEAAAABAAAAAgAAAAIAAAABAAAAAgAAAAQAAAAYAQAAMAEAALAAAAApVAEALlQBADJUAQA5VAEAPVQBAAAAAAABAAAAAgAAAAMAAAAEAAAABQAAAAAAAAAdAAAAAAAAAAAAAAAeAAAAAAAAAAAAAAAfAAAAAAAAAAAAAAAyWQEAKEQAAAEAAAB4RAAAAAAAAAAAAABKAAAASwAAAEwAAABNAAAATgAAAE8AAABQAAAAUQAAAFIAAABLAAAAUwAAAEsAAABUAAAAVQAAAFYAAABXAAAAAAAAAD9ZAQAAAAAAOEQAACDPAgABAAAARVkBAAAAAABARAAAIM8CAAMAAABJWQEAAAAAAEhEAAAgzwIABAAAAE9ZAQAAAAAAUEQAACDPAgAFAAAAVVkBAAAAAABoRAAAIM8CAAYAAABfWQEAAAAAAHBEAAAgzwIABwAAAGVZAQAAAAAAWEQAACDPAgAHAAAAaVkBAAAAAABYRAAAIM8CAAcAAABuWQEAAAAAAGBEAAAgzwIAAAAAAAAAAAAAAAAAAAAAAAAAAAAIAAAAMAAAAAAAAAABAAAAIAAAAAEAAAAAAAAAAAAAAAAAAAADAAAABAAAAAAAAAAAAAAA6+0CAAAAAAATBgIAAQAAAHRkAQAHAAAAOGQBAAMAAAC8GQIABQAAAHxkAQAPAAAAvoEBAAgAAAC+gQEAEAAAAIRkAQAEAAAAhGQBABEAAACJZAEABQAAAIlkAQACAAAAj2QBAAYAAACWZAEABAAAAKJkAQAHAAAAqmQBAAcAAAC6ZAEABQAAAMBkAQAIAAAA12QBAAgAAADAZAEACQAAAOBkAQAHAAAA6GQBAAoAAAACZQEABwAAAAplAQALAAAAJGUBAAYAAAArZQEADAAAAEllAQAJAAAAK2UBAA0AAABTZQEACAAAAFxlAQAOAAAAfWUBAAgAAACGZQEAEgAAAKdlAQAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIAAAABAAAAAAAAAAAAAAAAAAAAAIAAAAAAAAAAAAAAAAAAAAAAAAACAAAAAwAAAACAAAAAAAAAAMAAAAAAAAAAAAAAAAAAAAIAAAABAAAAAAAAAADAAAAIQAAAAQAAAAAAAAAAAAAAAAAAAAIAAAABAAAAAAAAAAEAAAAIgAAAAUAAAAAAAAAAAAAAAAAAAAFAAAAQAAAACBHAAAwRwAABgAAAAQAAAA8RwAABgAAAAgAAAAGAAAABAAAAERHAAAABAAACAAAAP////8AAAAAAAAAACMAAAAAAAAAAAAAAAAAAAAAAAAANQAAAAAAAAAAAAAAIAAAAAAAAAAAAAAABgAAAAAAAAAHAAAAAAAAAAAAAAAAAAAA/////wAAAAAAAAAABgAAAAAAAAAHAAAAAAAAAAAAAAAAAAAAGAAAAAAAAAAAAAAACAAAAAAAAAAHAAAAAAAAAAAAAAAAAAAA/////wAAAAAAAAAACAAAAAAAAAAHAAAAAAAAAAAAAAAAAAAAHAAAAAAAAAAAAAAACQAAAAAAAAAHAAAAAAAAAAkAAAALAAAACAAAAAoAAADISAAATEgAALBIAAABAAAAAQAAAAoAAAAWAAAACwAAAFgAAAAkAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMAAAAAAAAAAcAAAAAAAAAAAAAAAAAAAAIAAAAAAAAAAAAAAANAAAAAAAAAAcAAAAAAAAABwAAAAIAAAAFAAAACAAAAAAAAAAAAAAABgAAAAMAAAAOAAAACwAAAAAAAAAAAAAAAAAAAAgAAAAAAAAAAAAAAA8AAAAAAAAABwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAJQAAABAAAAAAAAAABwAAAAAAAAAIAAAACAAAAAAAAAAAAAAAJgAAAAAAAAAAAAAAAAAAAAAAAAAQAAAA/////wAAAAAAAAAAJwAAAAAAAAAAAAAABwAAAAAAAAABAAAAAAAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAgAAAAMAAAABAAAAAQAAAAIAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAACAAAAAQAAAAQAAAAFAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAABgAAAAEAAAABAAAABwAAAAgAAAAJAAAACgAAAAoAAAAKAAAACgAAAAoAAAAKAAAACgAAAAoAAAAKAAAACgAAAAEAAAABAAAACwAAAAEAAAAMAAAAAQAAAA0AAAAOAAAADwAAABAAAAARAAAAEgAAABMAAAAUAAAAFQAAABYAAAATAAAAEwAAABMAAAATAAAAFwAAABgAAAAZAAAAEwAAABoAAAAbAAAAHAAAAB0AAAATAAAAEwAAABMAAAATAAAAEwAAAAEAAAAeAAAAAQAAAAEAAAATAAAAAQAAAB8AAAAgAAAAIQAAACIAAAAjAAAAEwAAACQAAAAlAAAAJgAAABMAAAATAAAAEwAAABMAAAAnAAAAKAAAACkAAAATAAAAKgAAACsAAAAsAAAALQAAABMAAAATAAAAEwAAABMAAAATAAAAAQAAAAEAAAABAAAAAQAAAAEAAAATAAAAEwAAABMAAAATAAAAEwAAABMAAAATAAAAEwAAABMAAAATAAAAEwAAABMAAAATAAAAEwAAABMAAAATAAAAEwAAABMAAAATAAAAEwAAABMAAAATAAAAEwAAABMAAAATAAAAEwAAABMAAAATAAAAEwAAABMAAAATAAAAEwAAABMAAAATAAAAEwAAABMAAAATAAAAEwAAABMAAAATAAAAEwAAABMAAAATAAAAEwAAABMAAAATAAAAEwAAABMAAAATAAAAEwAAABMAAAATAAAAEwAAABMAAAATAAAAEwAAABMAAAATAAAAEwAAAC4AAAATAAAAEwAAABMAAAAvAAAAEwAAABMAAAATAAAAEwAAABMAAAATAAAAEwAAABMAAAATAAAAEwAAABMAAAATAAAAEwAAABMAAAATAAAAEwAAABMAAAATAAAAEwAAABMAAAATAAAAEwAAABMAAAATAAAAEwAAABMAAAATAAAAEwAAABMAAAATAAAAEwAAABMAAAATAAAAEwAAABMAAAATAAAAEwAAABMAAAATAAAAEwAAABMAAAATAAAAEwAAABMAAAATAAAAEwAAABMAAAAwAAAAEwAAABMAAAATAAAAEwAAABMAAAATAAAAEwAAABMAAAATAAAAEwAAABMAAAATAAAAEwAAABMAAAATAAAAEwAAAAAAAAABAAAAAQAAAAIAAAADAAAAAQAAAAQAAAABAAAABQAAAAEAAAAGAAAABwAAAAcAAAABAAAABgAAAAYAAAAGAAAABgAAAAYAAAAGAAAABgAAAAYAAAAGAAAABgAAAAYAAAAGAAAABgAAAAYAAAAGAAAABgAAAAMAAAAGAAAABgAAAAYAAAAGAAAABgAAAAYAAAAGAAAABgAAAAYAAAAGAAAABgAAAAYAAAAGAAAABgAAAAYAAAAGAAAABgAAAAYAAACAAAAAb6cBAFCnAQAWcAEAfKcBAHSnAQCCpwEAAAAAABx0AQAldAEALHQBADp0AQBBdAEAmKcBAEh0AQBPdAEAAQAAAAgAAAD/////AAAAAAAAAAAoAAAAAAAAAAAAAAAAAAAAAAAAAO11AQAIAAAAAwAAAPZ1AQD6dQEACwAAAAYAAADWgQEABnYBAAIAAAABAAAACXYBAA12AQAEAAAAAgAAABJ2AQAWdgEABAAAAAQAAAAbdgEAIHYBAAUAAAAFAAAAJnYBACp2AQAEAAAABwAAAC92AQAzdgEABQAAAAkAAAA5dgEAPXYBAAQAAAAKAAAAQnYBAEd2AQAEAAAADAAAAEx2AQAQewEAAAAAAAEAAAAYewEAAQAAAAAAAACjpgEAAQAAAAEAAAATBgIAAAAAAAAAAAAAAAAAAAAAAAAAAAD5eQEAMQAAAAAAAAAAAAAA0aEBABAAAAA7EgIAgAAAAPJ5AQBAAAAAPJQBABAAAAD0eQEAQAAAAAAAAAAAAAAAwHkBAAEAAADHeQEAAgAAAMx5AQADAAAA+poBAAQAAABekQEABQAAANB5AQAGAAAAEwYCAAgAAADUeQEAIQAAANh5AQAiAAAA3HkBACIAAADgeQEAAQAAAOV5AQAHAAAA63kBACcAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAP////8AAAAAKQAAAAAAAAAAAAAAAAAAAAAAAAArfwEAMn8BAAAAAADTgQEA1oEBANmBAQAAAAAAAAAAAAEAAAACAAAA/////5aBAQCcgQEAEwYCAAAAAABkAAAAZQAAAGYAAABkAAAACAAAAAgAAAAAAAAAAAAAACoAAAARAAAAAAAAAAAAAAAAAAAACAAAAAgAAAAAAAAACQAAACsAAAARAAAAAAAAAAAAAAAAAAAACAAAAP////8AAAAAAAAAACwAAAAAAAAAAAAAAAAAAAAAAAAA+poBAPhUAACABgAAAAAAACeRAQD4VAAAsAYAAAAAAAAAmgEA+FQAAOAGAAAAAAAAL5EBAPhUAADgBgAAAAAAADSRAQD4VAAAEAcAAAAAAAA7kQEAEFUAABAHAAAAAAAAQZEBAPhUAABABwAAAAAAAEWRAQD4VAAAcAcAAAAAAAATBgIA+FQAAKAHAAAAAAAATpEBAPhUAACgBwAAAAAAAFiRAQD4VAAAUAYAAAAAAABekQEA+FQAANAHAAAAAAAAZpEBAPhUAAAACAAAAAAAAHCRAQD4VAAAMAgAAAAAAAB+kQEA+FQAAGAIAAAAAAAAhJEBAPhUAACQCAAAAAAAAI2RAQD4VAAAwAgAAAAAAACVkQEA+FQAAPAIAAAAAAAAnpEBAPhUAAAgCQAAAAAAAKaRAQD4VAAAUAkAAAAAAACrkQEA+FQAAIAJAAAAAAAAr5EBAPhUAACwCQAAAAAAALaRAQD4VAAA4AkAAAAAAAC8kQEA+FQAABAKAAAAAAAAxpEBAChVAABACgAAAAAAAM+RAQD4VAAAgAYAAAAAAADUkQEA+FQAAIAGAAAAAAAA3pEBAPhUAABwCgAAAAAAAOWRAQD4VAAAoAoAAAAAAADykQEA+FQAANAKAAAAAAAAAJIBAPhUAAAACwAAAAAAAA6SAQD4VAAAMAsAAAAAAAAakgEA+FQAAGALAAAAAAAAJ5IBAPhUAACQCwAAAAAAADCSAQD4VAAAwAsAAAAAAAA6kgEA+FQAAPALAAAAAAAAQ5IBAPhUAAAgDAAAAAAAAEuSAQD4VAAAUAwAAAAAAABTkgEA+FQAAIAMAAAAAAAAXJIBAPhUAACwDAAAAAAAAGCSAQD4VAAA4AwAAAAAAABrkgEA+FQAABANAAAAAAAAb5IBAPhUAABADQAAAAAAAHmSAQD4VAAAcA0AAAAAAACCkgEA+FQAAKANAAAAAAAAipIBAPhUAADQDQAAAAAAAJeSAQD4VAAAAA4AAAAAAACjkgEA+FQAADAOAAAAAAAArpIBAPhUAABgDgAAAAAAAL6SAQD4VAAAkA4AAAAAAADMkgEA+FQAAMAOAAAAAAAA25IBAPhUAADwDgAAAAAAAOWSAQD4VAAAIA8AAAAAAADukgEA+FQAAFAPAAAAAAAA+JIBAPhUAACADwAAAAAAAAKTAQD4VAAAsA8AAAAAAAAJkwEA+FQAAOAPAAAAAAAAEJMBAPhUAAAQEAAAAAAAABqTAQBAVQAAAAAAAAAAAAAhkwEAQFUAAAAAAAAAAAAAA5EBAFhVAAAAAAAAAAAAACmTAQBwVQAAQBAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAWQAAAFoAAAAXAAAABAAAAAIAAAAMAAAAWwAAAFoAAAAXAAAABQAAAAAAAAANAAAAWQAAAFoAAAAXAAAABAAAAAIAAAAMAAAAXAAAAF0AAAAYAAAABgAAAAMAAAAOAAAAXgAAAF8AAAAXAAAABwAAAAAAAAAPAAAAWQAAAFoAAAAXAAAACAAAAAIAAAAMAAAAEAAAABEAAAASAAAAEwAAACuUAQAylAEAAAAAADqUAQA8lAEAdRICAD6UAQAMAAAABAAAAAYAAAACAAAAAwAAAAEAAAAJAAAACAAAAAsAAAAMAAAADQAAAA4AAAAPAAAAEAAAABEAAAASAAAAFQAAABYAAAAXAAAAGAAAABkAAAAaAAAAGwAAABwAAAAfAAAAIAAAACEAAAAiAAAAIwAAACQAAAAlAAAAJgAAACkAAAAqAAAAKwAAACwAAAAtAAAALgAAAC8AAAAwAAAAMwAAADQAAAA1AAAANgAAADcAAAA4AAAAOQAAADoAAAA9AAAAPgAAAD8AAABAAAAAQQAAAEIAAABDAAAARAAAAEcAAABIAAAASQAAAEoAAABLAAAATAAAAE0AAABOAAAAUQAAAFIAAABTAAAAVAAAAFUAAABWAAAAVwAAAFgAAACLlQEAm5UBAKiVAQAAAAAAAAAAAAQAAACtlQEAAAAAAAAAAAC4lQEAm5UBAKiVAQAAAAAAz5UBAAUAAACtlQEAAAAAANeVAQDelQEAm5UBAO6VAQAAAAAAAAAAAAYAAACtlQEAGaYBAAAAAADzlQEAm5UBAO6VAQAAAAAAz5UBAAcAAACtlQEAGaYBANeVAQAKlgEAF5YBAO6VAQAAAAAAAAAAAAoAAAAllgEAGaYBAAAAAAArlgEAF5YBAO6VAQAAAAAA15UBAAsAAAAllgEAGaYBANeVAQA+lgEAF5YBAEyWAQAAAAAAAAAAAAgAAAAllgEAAAAAAAAAAABSlgEAF5YBAEyWAQAAAAAA15UBAAkAAAAllgEAAAAAANeVAQBmlgEAZpYBAAAAAAAAAAAAAAAAAAwAAABulgEAAAAAAAAAAAB4lgEAZpYBABmmAQAAAAAAAAAAAA4AAABulgEAGaYBAAAAAACFlgEAZpYBABmmAQAAAAAAz5UBAA8AAABulgEAGaYBANeVAQCZlgEAZpYBAAAAAAAAAAAAz5UBAA0AAABulgEAAAAAANeVAQCplgEAqZYBAAAAAAAAAAAAAAAAABAAAACtlQEAAAAAAAAAAACzlgEAqZYBABmmAQAAAAAAAAAAABIAAACtlQEAGaYBAAAAAADClgEAqZYBABmmAQAAAAAAz5UBABMAAACtlQEAGaYBANeVAQDYlgEAqZYBAAAAAADplgEAAAAAABQAAACtlQEAAAAAAAAAAADzlgEAqZYBABmmAQDplgEAAAAAABYAAACtlQEAGaYBAAAAAAAJlwEAqZYBABmmAQDplgEAz5UBABcAAACtlQEAGaYBANeVAQAmlwEAqZYBAAAAAADplgEAz5UBABUAAACtlQEAAAAAANeVAQA/lwEAqZYBAAAAAAAAAAAAz5UBABEAAACtlQEAAAAAANeVAQBRlwEAZ5cBABmmAQAAAAAAAAAAABoAAAAllgEAGaYBAAAAAAB8lwEAZ5cBABmmAQAAAAAA15UBABsAAAAllgEAGaYBANeVAQCYlwEAZ5cBAAAAAAAAAAAA15UBABkAAAAllgEAAAAAANeVAQCwlwEAZ5cBAMeXAQAAAAAAAAAAABgAAAAllgEAAAAAAAAAAADNlwEA25cBABmmAQAAAAAAAAAAAB4AAAAllgEAGaYBAAAAAADtlwEA25cBABmmAQAAAAAA15UBAB8AAAAllgEAGaYBANeVAQABmAEA25cBAAAAAAAAAAAA15UBAB0AAAAllgEAAAAAANeVAQARmAEA25cBAMeXAQAAAAAAAAAAABwAAAAllgEAAAAAAAAAAAAgmAEAIJgBAAAAAAAAAAAAAAAAACAAAAAnmAEAAAAAAAAAAAAvmAEAOpgBABmmAQAAAAAAAAAAAAIAAAAllgEAGaYBAAAAAABAmAEAOpgBABmmAQAAAAAA15UBAAMAAAAllgEAGaYBANeVAQBRmAEAOpgBAAAAAAAAAAAA15UBAAEAAAAllgEAAAAAANeVAQAImgEAOpgBAAAAAAAAAAAAAAAAAAAAAAAllgEAAAAAAAAAAABemAEAeJgBAIeYAQAAAAAA15UBACEAAAAllgEAAAAAANeVAQCOmAEAm5gBAAAAAAAAAAAAAAAAACIAAAAnmAEAAAAAAAAAAAAIAAAABAAAAAAAAAAKAAAALQAAABIAAAAAAAAAAAAAAAAAAAAIAAAA/////wAAAAAAAAAALgAAAAAAAAAAAAAAAAAAAAAAAAA3mwEAxgAAAD2bAQDBAAAARJsBAMIAAABKmwEAwAAAAFGbAQCRAwAAV5sBAMUAAABdmwEAwwAAAGSbAQDEAAAAaZsBAJIDAABumwEAxwAAAHWbAQCnAwAAeZsBACEgAACAmwEAlAMAAIabAQDQAAAAipsBAMkAAACRmwEAygAAAJebAQDIAAAAnpsBAJUDAACmmwEAlwMAAKqbAQDLAAAAr5sBAJMDAAC1mwEAzQAAALybAQDOAAAAwpsBAMwAAADJmwEAmQMAAM6bAQDPAAAA05sBAJoDAADZmwEAmwMAAOCbAQCcAwAA45sBANEAAADqmwEAnQMAAO2bAQBSAQAA85sBANMAAAD6mwEA1AAAAACcAQDSAAAAB5wBAKkDAAANnAEAnwMAABWcAQDYAAAAHJwBANUAAAAjnAEA1gAAACicAQCmAwAALJwBAKADAAAvnAEAMyAAADWcAQCoAwAAOZwBAKEDAAA9nAEAYAEAAEScAQCjAwAASpwBAN4AAABQnAEApAMAAFScAQCYAwAAWpwBANoAAABhnAEA2wAAAGecAQDZAAAAbpwBAKUDAAB2nAEA3AAAAHucAQCeAwAAfpwBAN0AAACFnAEAeAEAAIqcAQCWAwAAj5wBAOEAAACWnAEA4gAAAJycAQC0AAAAopwBAOYAAAConAEA4AAAAK+cAQA1IQAAt5wBALEDAAC9nAEAJgAAAMGcAQAnIgAAxZwBACAiAADJnAEA5QAAAM+cAQBIIgAA1ZwBAOMAAADcnAEA5AAAAOGcAQAeIAAA55wBALIDAADsnAEApgAAAPOcAQAiIAAA+JwBACkiAAD8nAEA5wAAAAOdAQC4AAAACZ0BAKIAAAAOnQEAxwMAABKdAQDGAgAAF50BAGMmAAAdnQEARSIAACKdAQCpAAAAJ50BALUhAAAtnQEAKiIAADGdAQCkAAAAOJ0BANMhAAA9nQEAICAAAESdAQCTIQAASZ0BALAAAABNnQEAtAMAAFOdAQBmJgAAWZ0BAPcAAABgnQEA6QAAAGedAQDqAAAAbZ0BAOgAAAB0nQEABSIAAHqdAQADIAAAf50BAAIgAACEnQEAtQMAAIydAQBhIgAAkp0BALcDAACWnQEA8AAAAJqdAQDrAAAAn50BAKwgAACknQEAAyIAAKqdAQCSAQAAr50BAAAiAAC2nQEAvQAAAL2dAQC8AAAAxJ0BAL4AAADLnQEARCAAANGdAQCzAwAA150BAGUiAADanQEAPgAAAN2dAQDUIQAA4p0BAJQhAADnnQEAZSYAAO6dAQAmIAAA9Z0BAO0AAAD8nQEA7gAAAAKeAQChAAAACJ4BAOwAAAAPngEAESEAABWeAQAeIgAAG54BACsiAAAfngEAuQMAACSeAQC/AAAAK54BAAgiAAAwngEA7wAAADWeAQC6AwAAO54BANAhAABAngEAuwMAAEeeAQApIwAATJ4BAKsAAABSngEAkCEAAFeeAQAIIwAAXZ4BABwgAABjngEAZCIAAGaeAQAKIwAAbZ4BABciAAB0ngEAyiUAAHieAQAOIAAAfJ4BADkgAACDngEAGCAAAImeAQA8AAAAjJ4BAK8AAACRngEAFCAAAJeeAQC1AAAAnZ4BALcAAAA8pwEAEiIAAKSeAQC8AwAAp54BAAciAACtngEAoAAAALKeAQATIAAAuJ4BAGAiAAC7ngEACyIAAL6eAQCsAAAAwp4BAAkiAADIngEAhCIAAM2eAQDxAAAA1J4BAL0DAADXngEA8wAAAN6eAQD0AAAA5J4BAFMBAADqngEA8gAAAPGeAQA+IAAA954BAMkDAAD9ngEAvwMAAAWfAQCVIgAAC58BACgiAAAOnwEAqgAAABOfAQC6AAAAGJ8BAPgAAAAfnwEA9QAAACafAQCXIgAALZ8BAPYAAAAynwEAtgAAADefAQACIgAAPJ8BADAgAABDnwEApSIAAEifAQDGAwAATJ8BAMADAABPnwEA1gMAAFOfAQCxAAAAWp8BAKMAAABgnwEAMiAAAGafAQAPIgAAa58BAB0iAABwnwEAyAMAAHSfAQAiAAAAeZ8BANIhAAB+nwEAGiIAAISfAQAqIwAAiZ8BALsAAACPnwEAkiEAAJSfAQAJIwAAmp8BAB0gAACgnwEAHCEAAKWfAQCuAAAAqZ8BAAsjAACwnwEAwQMAALSfAQAPIAAAuJ8BADogAAC/nwEAGSAAAMWfAQAaIAAAy58BAGEBAADSnwEAxSIAANefAQCnAAAA3J8BAK0AAADgnwEAwwMAAOafAQDCAwAA7Z8BADwiAADxnwEAYCYAAPifAQCCIgAA/J8BAIYiAAABoAEAESIAAAWgAQCDIgAACaABALkAAAAOoAEAsgAAABOgAQCzAAAAGKABAIciAAAdoAEA3wAAACOgAQDEAwAAJ6ABADQiAAAuoAEAuAMAADSgAQDRAwAAPaABAAkgAABEoAEA/gAAAEqgAQDcAgAAUKABANcAAABWoAEAIiEAAFygAQDRIQAAYaABAPoAAABooAEAkSEAAG2gAQD7AAAAc6ABAPkAAAB6oAEAqAAAAH6gAQDSAwAAhKABAMUDAACMoAEA/AAAAJGgAQAYIQAAmKABAL4DAACboAEA/QAAAKKgAQClAAAApqABAP8AAACroAEAtgMAALCgAQANIAAAtKABAAwgAAAHAAAACAAAAAEBAAAIAAAACAAAAAAAAAAAAAAALwAAABMAAAAAAAAAAAAAAAAAAAAIAAAAEAAAAAAAAAAAAAAAMAAAABQAAAAAAAAAAAAAAAAAAAD8pgEACQAAAP6mAQAKAAAAA6cBAAoAAAALpwEACwAAABGnAQALAAAAGqcBAAwAAAAdpwEADAAAACOnAQANAAAAKKcBAA0AAAAwpwEADgAAADWnAQAOAAAAPKcBAA8AAABCpwEADwAAAE6nAQAQAAAAYAAAADEAAAAyAAAAFAAAADMAAABhAAAANAAAABUAAAA1AAAACAAAAAQAAAD/////AAAAAAAAAAAVAAAAAAAAAAAAAAAAAAAAmagBAFVdyX/Jf/8ApKgBALst1L6u1P8Ar6gBABR3/f3Ahv8AuqgBAFVdyX/Jf/8AxagBALst1L6u1P8A0KgBABR3/f3Ahv8A26gBACpm////mf8A5qgBAFVdyX/Jf/8A8agBALst1L6u1P8A/KgBABR3/f3Ahv8AB6kBACpm////mf8AEqkBAJetsDhssP8AHakBAFVdyX/Jf/8AKKkBALst1L6u1P8AM6kBABR3/f3Ahv8APqkBACpm////mf8ASakBAJetsDhssP8AVKkBAOj88PACf/8AX6kBAFVdyX/Jf/8AaqkBALst1L6u1P8AdakBABR3/f3Ahv8AgKkBACpm////mf8Ai6kBAJetsDhssP8AlqkBAOj88PACf/8AoakBABHgv79bF/8ArKkBAFVdyX/Jf/8At6kBALst1L6u1P8AwqkBABR3/f3Ahv8AzakBACpm////mf8A2KkBAJetsDhssP8A46kBAOj88PACf/8A7qkBABHgv79bF/8A+akBAAAAZmZmZv8ABKoBAJMZ997r9/8ADqoBAI5L4Z7K4f8AGKoBAJG8vTGCvf8AIqoBAJ8Q/+/z//8ALKoBAI8u573X5/8ANqoBAI9/1muu1v8AQKoBAJPQtSFxtf8ASqoBAJ8Q/+/z//8AVKoBAI8u573X5/8AXqoBAI9/1muu1v8AaKoBAJG8vTGCvf8AcqoBAJXxnAhRnP8AfKoBAJ8Q/+/z//8AhqoBAJQr78bb7/8AkKoBAI5L4Z7K4f8AmqoBAI9/1muu1v8ApKoBAJG8vTGCvf8ArqoBAJXxnAhRnP8AuKoBAJ8Q/+/z//8AwqoBAJQr78bb7/8AzKoBAI5L4Z7K4f8A1qoBAI9/1muu1v8A4KoBAJCpxkKSxv8A6qoBAJPQtSFxtf8A9KoBAJfxlAhFlP8A/qoBAJQI//f7//8ACKsBAJMZ997r9/8AEqsBAJQr78bb7/8AHKsBAI5L4Z7K4f8AJqsBAI9/1muu1v8AMKsBAJCpxkKSxv8AOqsBAJPQtSFxtf8ARKsBAJfxlAhFlP8ATqsBAJQI//f7//8AWKsBAJMZ997r9/8AYqsBAJQr78bb7/8AbKsBAI5L4Z7K4f8AdqsBAI9/1muu1v8AgKsBAJCpxkKSxv8AiqsBAJPQtSFxtf8AlKsBAJXxnAhRnP8AnqsBAJjrawgwa/8AqKsBABfvVFQwBf8AsqsBAHf/PAA8MP8AvasBABfsjIxRCv8Ax6sBABjCv7+BLf8A0asBAB1w39/Cff8A26sBAB409vbow/8A5asBAHkm6sfq5f8A76sBAHhfzYDNwf8A+asBAHyllzWXj/8AA6wBAHz8ZgFmXv8ADawBABfvVFQwBf8AF6wBAHz8ZgFmXv8AIqwBAHf/PAA8MP8ALawBABfsjIxRCv8AN6wBABjCv7+BLf8AQawBAB1w39/Cff8AS6wBAB409vbow/8AVawBAAAA9fX19f8AX6wBAHkm6sfq5f8AaawBAHhfzYDNwf8Ac6wBAHyllzWXj/8AfawBAByH2NizZf8AhqwBAAAA9fX19f8Aj6wBAHt/tFq0rP8AmKwBABXXpqZhGv8AoawBAB1w39/Cff8AqqwBAHhfzYDNwf8As6wBAHn9hQGFcf8AvKwBABXXpqZhGv8AxawBAB1w39/Cff8AzqwBAAAA9fX19f8A16wBAHhfzYDNwf8A4KwBAHn9hQGFcf8A6awBABfsjIxRCv8A8qwBAByH2NizZf8A+6wBAB409vbow/8ABK0BAHkm6sfq5f8ADa0BAHt/tFq0rP8AFq0BAHz8ZgFmXv8AH60BABfsjIxRCv8AKK0BAByH2NizZf8AMa0BAB409vbow/8AOq0BAAAA9fX19f8AQ60BAHkm6sfq5f8ATK0BAHt/tFq0rP8AVa0BAHz8ZgFmXv8AXq0BABfsjIxRCv8AZ60BABjCv7+BLf8AcK0BAB1w39/Cff8Aea0BAB409vbow/8Agq0BAHkm6sfq5f8Ai60BAHhfzYDNwf8AlK0BAHyllzWXj/8Ana0BAHz8ZgFmXv8Apq0BABfsjIxRCv8Ar60BABjCv7+BLf8AuK0BAB1w39/Cff8Awa0BAB409vbow/8Ayq0BAAAA9fX19f8A060BAHkm6sfq5f8A3K0BAHhfzYDNwf8A5a0BAHyllzWXj/8A7q0BAHz8ZgFmXv8A960BAIcU+eX1+f8AAK4BAHVK2JnYyf8ACa4BAGe5oiyiX/8AEq4BAIgO++34+/8AG64BAH824rLi4v8AJK4BAHF4wmbCpP8ALa4BAGK+iyOLRf8ANq4BAIgO++34+/8AP64BAH824rLi4v8ASK4BAHF4wmbCpP8AUa4BAGe5oiyiX/8AWq4BAGb/bQBtLP8AY64BAIgO++34+/8AbK4BAHci7Mzs5v8Ada4BAHVK2JnYyf8Afq4BAHF4wmbCpP8Ah64BAGe5oiyiX/8AkK4BAGb/bQBtLP8Ama4BAIgO++34+/8Aoq4BAHci7Mzs5v8Aq64BAHVK2JnYyf8AtK4BAHF4wmbCpP8Ava4BAGmfrkGudv8Axq4BAGK+iyOLRf8Az64BAGb/WABYJP8A2K4BAIYG/ff8/f8A4a4BAIcU+eX1+f8A6q4BAHci7Mzs5v8A864BAHVK2JnYyf8A/K4BAHF4wmbCpP8ABa8BAGmfrkGudv8ADq8BAGK+iyOLRf8AF68BAGb/WABYJP8AIK8BAIYG/ff8/f8AKa8BAIcU+eX1+f8AMq8BAHci7Mzs5v8AO68BAHVK2JnYyf8ARK8BAHF4wmbCpP8ATa8BAGmfrkGudv8AVq8BAGK+iyOLRf8AX68BAGb/bQBtLP8AaK8BAGX/RABEG/8Aca8BAJAU9ODs9P8Aeq8BAJRG2p682v8Ag68BAMR7p4hWp/8AjK8BAIgO++34+/8Ala8BAJI147PN4/8Anq8BAKJKxoyWxv8Ap68BAMqVnYhBnf8AsK8BAIgO++34+/8Aua8BAJI147PN4/8Awq8BAKJKxoyWxv8Ay68BAMR7p4hWp/8A1K8BANbhgYEPfP8A3a8BAIgO++34+/8A5q8BAJQr5r/T5v8A768BAJRG2p682v8A+K8BAKJKxoyWxv8AAbABAMR7p4hWp/8ACrABANbhgYEPfP8AE7ABAIgO++34+/8AHLABAJQr5r/T5v8AJbABAJRG2p682v8ALrABAKJKxoyWxv8AN7ABAL5ksYxrsf8AQLABAMqVnYhBnf8ASbABANX8bm4Ba/8AUrABAIYG/ff8/f8AW7ABAJAU9ODs9P8AZLABAJQr5r/T5v8AbbABAJRG2p682v8AdrABAKJKxoyWxv8Af7ABAL5ksYxrsf8AiLABAMqVnYhBnf8AkbABANX8bm4Ba/8AmrABAIYG/ff8/f8Ao7ABAJAU9ODs9P8ArLABAJQr5r/T5v8AtbABAJRG2p682v8AvrABAKJKxoyWxv8Ax7ABAL5ksYxrsf8A0LABAMqVnYhBnf8A2bABANbhgYEPfP8A4rABANX/TU0AS/8A67ABAHLTnhued/8A9bABABL82dlfAv8A/7ABAK1fs3Vws/8ACbEBAHLTnhued/8AE7EBABL82dlfAv8AHbEBAK1fs3Vws/8AJ7EBAOnR5+cpiv8AMbEBAHLTnhued/8AO7EBABL82dlfAv8ARbEBAK1fs3Vws/8AT7EBAOnR5+cpiv8AWbEBAD7QpmamHv8AY7EBAHLTnhued/8AbbEBABL82dlfAv8Ad7EBAK1fs3Vws/8AgbEBAOnR5+cpiv8Ai7EBAD7QpmamHv8AlbEBAB/85uarAv8An7EBAHLTnhued/8AqbEBABL82dlfAv8As7EBAK1fs3Vws/8AvbEBAOnR5+cpiv8Ax7EBAD7QpmamHv8A0bEBAB/85uarAv8A27EBABvSpqZ2Hf8A5bEBAHLTnhued/8A77EBABL82dlfAv8A+bEBAK1fs3Vws/8AA7IBAOnR5+cpiv8ADbIBAD7QpmamHv8AF7IBAB/85uarAv8AIbIBABvSpqZ2Hf8AK7IBAAAAZmZmZv8ANbIBAEwZ8+Dz2/8APrIBAF893ajdtf8AR7IBAIyqykOiyv8AULIBAEER+fD56P8AWbIBAFcu5LrkvP8AYrIBAHtlzHvMxP8Aa7IBAI3FviuMvv8AdLIBAEER+fD56P8AfbIBAFcu5LrkvP8AhrIBAHtlzHvMxP8Aj7IBAIyqykOiyv8AmLIBAJHzrAhorP8AobIBAEER+fD56P8AqrIBAE0p68zrxf8As7IBAF893ajdtf8AvLIBAHtlzHvMxP8AxbIBAIyqykOiyv8AzrIBAJHzrAhorP8A17IBAEER+fD56P8A4LIBAE0p68zrxf8A6bIBAF893ajdtf8A8rIBAHtlzHvMxP8A+7IBAImg006z0/8ABLMBAI3FviuMvv8ADbMBAJPynghYnv8AFrMBADwM/Pf88P8AH7MBAEwZ8+Dz2/8AKLMBAE0p68zrxf8AMbMBAF893ajdtf8AOrMBAHtlzHvMxP8AQ7MBAImg006z0/8ATLMBAI3FviuMvv8AVbMBAJPynghYnv8AXrMBADwM/Pf88P8AZ7MBAEwZ8+Dz2/8AcLMBAE0p68zrxf8AebMBAF893ajdtf8AgrMBAHtlzHvMxP8Ai7MBAImg006z0/8AlLMBAI3FviuMvv8AnbMBAJHzrAhorP8AprMBAJbvgQhAgf8Ar7MBAEoV9eX14P8AurMBAFBI2aHZm/8AxbMBAGKyozGjVP8A0LMBAEkP+O346f8A27MBAE425Lrks/8A5rMBAFZoxHTEdv8A8bMBAGK+iyOLRf8A/LMBAEkP+O346f8AB7QBAE425Lrks/8AErQBAFZoxHTEdv8AHbQBAGKyozGjVP8AKLQBAGb/bQBtLP8AM7QBAEkP+O346f8APrQBAE0s6cfpwP8ASbQBAFBI2aHZm/8AVLQBAFZoxHTEdv8AX7QBAGKyozGjVP8AarQBAGb/bQBtLP8AdbQBAEkP+O346f8AgLQBAE0s6cfpwP8Ai7QBAFBI2aHZm/8AlrQBAFZoxHTEdv8AobQBAGCeq0GrXf8ArLQBAGK+iyOLRf8At7QBAGz/WgBaMv8AwrQBAEgH/Pf89f8AzbQBAEoV9eX14P8A2LQBAE0s6cfpwP8A47QBAFBI2aHZm/8A7rQBAFZoxHTEdv8A+bQBAGCeq0GrXf8ABLUBAGK+iyOLRf8AD7UBAGz/WgBaMv8AGrUBAEgH/Pf89f8AJbUBAEoV9eX14P8AMLUBAE0s6cfpwP8AO7UBAFBI2aHZm/8ARrUBAFZoxHTEdv8AUbUBAGCeq0GrXf8AXLUBAGK+iyOLRf8AZ7UBAGb/bQBtLP8AcrUBAGX/RABEG/8AfbUBAAAA8PDw8P8Ah7UBAAAAvb29vf8AkbUBAAAAY2NjY/8Am7UBAAAA9/f39/8ApbUBAAAAzMzMzP8Ar7UBAAAAlpaWlv8AubUBAAAAUlJSUv8Aw7UBAAAA9/f39/8AzbUBAAAAzMzMzP8A17UBAAAAlpaWlv8A4bUBAAAAY2NjY/8A67UBAAAAJSUlJf8A9bUBAAAA9/f39/8A/7UBAAAA2dnZ2f8ACbYBAAAAvb29vf8AE7YBAAAAlpaWlv8AHbYBAAAAY2NjY/8AJ7YBAAAAJSUlJf8AMbYBAAAA9/f39/8AO7YBAAAA2dnZ2f8ARbYBAAAAvb29vf8AT7YBAAAAlpaWlv8AWbYBAAAAc3Nzc/8AY7YBAAAAUlJSUv8AbbYBAAAAJSUlJf8Ad7YBAAAA//////8AgbYBAAAA8PDw8P8Ai7YBAAAA2dnZ2f8AlbYBAAAAvb29vf8An7YBAAAAlpaWlv8AqbYBAAAAc3Nzc/8As7YBAAAAUlJSUv8AvbYBAAAAJSUlJf8Ax7YBAAAA//////8A0bYBAAAA8PDw8P8A27YBAAAA2dnZ2f8A5bYBAAAAvb29vf8A77YBAAAAlpaWlv8A+bYBAAAAc3Nzc/8AA7cBAAAAUlJSUv8ADbcBAAAAJSUlJf8AF7cBAAAAAAAAAP8AIbcBABUw/v7mzv8ALbcBABOT/f2ua/8AObcBAA7w5uZVDf8ARbcBABMg/v7t3v8AUbcBABR4/f2+hf8AXbcBABHC/f2NPP8AabcBAA392dlHAf8AdbcBABMg/v7t3v8AgbcBABR4/f2+hf8AjbcBABHC/f2NPP8AmbcBAA7w5uZVDf8ApbcBAA36pqY2A/8AsbcBABMg/v7t3v8AvbcBABVb/f3Qov8AybcBABOT/f2ua/8A1bcBABHC/f2NPP8A4bcBAA7w5uZVDf8A7bcBAA36pqY2A/8A+bcBABMg/v7t3v8ABbgBABVb/f3Qov8AEbgBABOT/f2ua/8AHbgBABHC/f2NPP8AKbgBABDq8fFpE/8ANbgBAA392dlIAf8AQbgBAAz3jIwtBP8ATbgBABUU///16/8AWbgBABUw/v7mzv8AZbgBABVb/f3Qov8AcbgBABOT/f2ua/8AfbgBABHC/f2NPP8AibgBABDq8fFpE/8AlbgBAA392dlIAf8AobgBAAz3jIwtBP8ArbgBABUU///16/8AubgBABUw/v7mzv8AxbgBABVb/f3Qov8A0bgBABOT/f2ua/8A3bgBABHC/f2NPP8A6bgBABDq8fFpE/8A9bgBAA392dlIAf8AAbkBAA36pqY2A/8ADbkBAAz2f38nBP8AGbkBABk2/v7oyP8AIrkBABN5/f27hP8AK7kBAAXF4+NKM/8ANLkBABol/v7w2f8APbkBABhz/f3Miv8ARrkBAA2k/PyNWf8AT7kBAAPa19cwH/8AWLkBABol/v7w2f8AYbkBABhz/f3Miv8AarkBAA2k/PyNWf8Ac7kBAAXF4+NKM/8AfLkBAAD/s7MAAP8AhbkBABol/v7w2f8AjrkBABhf/f3Unv8Al7kBABN5/f27hP8AoLkBAA2k/PyNWf8AqbkBAAXF4+NKM/8AsrkBAAD/s7MAAP8Au7kBABol/v7w2f8AxLkBABhf/f3Unv8AzbkBABN5/f27hP8A1rkBAA2k/PyNWf8A37kBAAey7+9lSP8A6LkBAAPa19cwH/8A8bkBAAD/mZkAAP8A+rkBABgS///37P8AA7oBABk2/v7oyP8ADLoBABhf/f3Unv8AFboBABN5/f27hP8AHroBAA2k/PyNWf8AJ7oBAAey7+9lSP8AMLoBAAPa19cwH/8AOboBAAD/mZkAAP8AQroBABgS///37P8AS7oBABk2/v7oyP8AVLoBABhf/f3Unv8AXboBABN5/f27hP8AZroBAA2k/PyNWf8Ab7oBAAey7+9lSP8AeLoBAAPa19cwH/8AgboBAAD/s7MAAP8AiroBAAD/f38AAP8Ak7oBAI5E46bO4/8An7oBAL6Zmmo9mv8ArLoBAJDTtB94tP8AuLoBAEFh37Lfiv8AxLoBAFK4oDOgLP8A0LoBAABj+/uamf8A3LoBAP7h4+MaHP8A6LoBABeP/f2/b/8A9LoBABX///9/AP8AALsBAMYq1sqy1v8ADLsBAI5E46bO4/8AGLsBAL6Zmmo9mv8AJbsBACpm////mf8AMrsBAJDTtB94tP8APrsBAEFh37Lfiv8ASrsBAFK4oDOgLP8AVrsBAABj+/uamf8AYrsBAP7h4+MaHP8AbrsBABeP/f2/b/8AersBABX///9/AP8AhrsBAMYq1sqy1v8AkrsBAI5E46bO4/8AnrsBAL6Zmmo9mv8Aq7sBACpm////mf8AuLsBAA/FsbFZKP8AxbsBAJDTtB94tP8A0bsBAEFh37Lfiv8A3bsBAFK4oDOgLP8A6bsBAABj+/uamf8A9bsBAP7h4+MaHP8AAbwBABeP/f2/b/8ADbwBABX///9/AP8AGbwBAMYq1sqy1v8AJbwBAI5E46bO4/8AMLwBAJDTtB94tP8AO7wBAEFh37Lfiv8ARrwBAI5E46bO4/8AUbwBAJDTtB94tP8AXLwBAEFh37Lfiv8AZ7wBAFK4oDOgLP8AcrwBAI5E46bO4/8AfbwBAJDTtB94tP8AiLwBAEFh37Lfiv8Ak7wBAFK4oDOgLP8AnrwBAABj+/uamf8AqbwBAI5E46bO4/8AtLwBAJDTtB94tP8Av7wBAEFh37Lfiv8AyrwBAFK4oDOgLP8A1bwBAABj+/uamf8A4LwBAP7h4+MaHP8A67wBAI5E46bO4/8A9rwBAJDTtB94tP8AAb0BAEFh37Lfiv8ADL0BAFK4oDOgLP8AF70BAABj+/uamf8AIr0BAP7h4+MaHP8ALb0BABeP/f2/b/8AOL0BAI5E46bO4/8AQ70BAJDTtB94tP8ATr0BAEFh37Lfiv8AWb0BAFK4oDOgLP8AZL0BAABj+/uamf8Ab70BAP7h4+MaHP8Aer0BABeP/f2/b/8Ahb0BABX///9/AP8AkL0BAI5E46bO4/8Am70BAJDTtB94tP8Apr0BAEFh37Lfiv8Asb0BAFK4oDOgLP8AvL0BAABj+/uamf8Ax70BAP7h4+MaHP8A0r0BABeP/f2/b/8A3b0BABX///9/AP8A6L0BAMYq1sqy1v8A870BAANO+/u0rv8A/70BAJI147PN4/8AC74BAE0p68zrxf8AF74BAANO+/u0rv8AI74BAJI147PN4/8AL74BAE0p68zrxf8AO74BAMob5N7L5P8AR74BAANO+/u0rv8AU74BAJI147PN4/8AX74BAE0p68zrxf8Aa74BAMob5N7L5P8Ad74BABhY/v7Zpv8Ag74BAANO+/u0rv8Aj74BAJI147PN4/8Am74BAE0p68zrxf8Ap74BAMob5N7L5P8As74BABhY/v7Zpv8Av74BACoy////zP8Ay74BAANO+/u0rv8A174BAJI147PN4/8A474BAE0p68zrxf8A774BAMob5N7L5P8A+74BABhY/v7Zpv8AB78BACoy////zP8AE78BABws5eXYvf8AH78BAANO+/u0rv8AK78BAJI147PN4/8AN78BAE0p68zrxf8AQ78BAMob5N7L5P8AT78BABhY/v7Zpv8AW78BACoy////zP8AZ78BABws5eXYvf8Ac78BAOkj/f3a7P8Af78BAANO+/u0rv8Ai78BAJI147PN4/8Al78BAE0p68zrxf8Ao78BAMob5N7L5P8Ar78BABhY/v7Zpv8Au78BACoy////zP8Ax78BABws5eXYvf8A078BAOkj/f3a7P8A378BAAAA8vLy8v8A678BAGw14rPizf8A978BABFR/f3NrP8AA8ABAJsf6MvV6P8AD8ABAGw14rPizf8AG8ABABFR/f3NrP8AJ8ABAJsf6MvV6P8AM8ABAOQr9PTK5P8AP8ABAGw14rPizf8AS8ABABFR/f3NrP8AV8ABAJsf6MvV6P8AY8ABAOQr9PTK5P8Ab8ABADgt9eb1yf8Ae8ABAGw14rPizf8Ah8ABABFR/f3NrP8Ak8ABAJsf6MvV6P8An8ABAOQr9PTK5P8Aq8ABADgt9eb1yf8At8ABACNR///yrv8Aw8ABAGw14rPizf8Az8ABABFR/f3NrP8A28ABAJsf6MvV6P8A58ABAOQr9PTK5P8A88ABADgt9eb1yf8A/8ABACNR///yrv8AC8EBABkn8fHizP8AF8EBAGw14rPizf8AI8EBABFR/f3NrP8AL8EBAJsf6MvV6P8AO8EBAOQr9PTK5P8AR8EBADgt9eb1yf8AU8EBACNR///yrv8AX8EBABkn8fHizP8Aa8EBAAAAzMzMzP8Ad8EBAOb9jo4BUv8AgcEBAE2/ZCdkGf8AjMEBAObcxcUbff8AlsEBAOh23t53rv8AoMEBAOU+8fG22v8AqsEBAOkd/f3g7/8AtMEBADsm9eb10P8AvsEBAD1n4bjhhv8AyMEBAD+mvH+8Qf8A0sEBAETFkk2SIf8A3MEBAOb9jo4BUv8A5sEBAETFkk2SIf8A8cEBAE2/ZCdkGf8A/MEBAObcxcUbff8ABsIBAOh23t53rv8AEMIBAOU+8fG22v8AGsIBAOkd/f3g7/8AJMIBAAAA9/f39/8ALsIBADsm9eb10P8AOMIBAD1n4bjhhv8AQsIBAD+mvH+8Qf8ATMIBAOdM6emjyf8AVcIBAAAA9/f39/8AXsIBAD+B16HXav8AZ8IBAOTc0NAci/8AcMIBAOU+8fG22v8AecIBAD1n4bjhhv8AgsIBAEjGrE2sJv8Ai8IBAOTc0NAci/8AlMIBAOU+8fG22v8AncIBAAAA9/f39/8ApsIBAD1n4bjhhv8Ar8IBAEjGrE2sJv8AuMIBAObcxcUbff8AwcIBAOdM6emjyf8AysIBAOkd/f3g7/8A08IBADsm9eb10P8A3MIBAD+B16HXav8A5cIBAETFkk2SIf8A7sIBAObcxcUbff8A98IBAOdM6emjyf8AAMMBAOkd/f3g7/8ACcMBAAAA9/f39/8AEsMBADsm9eb10P8AG8MBAD+B16HXav8AJMMBAETFkk2SIf8ALcMBAObcxcUbff8ANsMBAOh23t53rv8AP8MBAOU+8fG22v8ASMMBAOkd/f3g7/8AUcMBADsm9eb10P8AWsMBAD1n4bjhhv8AY8MBAD+mvH+8Qf8AbMMBAETFkk2SIf8AdcMBAObcxcUbff8AfsMBAOh23t53rv8Ah8MBAOU+8fG22v8AkMMBAOkd/f3g7/8AmcMBAAAA9/f39/8AosMBADsm9eb10P8Aq8MBAD1n4bjhhv8AtMMBAD+mvH+8Qf8AvcMBAETFkk2SIf8AxsMBAM7/S0AAS/8A0MMBAGX/RABEG/8A28MBAM6tg3Yqg/8A5cMBAMdXq5lwq/8A78MBAMczz8Klz/8A+cMBANIV6OfU6P8AA8QBAEwe8Nnw0/8ADcQBAFBE26bboP8AF8QBAFh7rlquYf8AIcQBAGHFeBt4N/8AK8QBAM7/S0AAS/8ANcQBAGHFeBt4N/8AQMQBAGX/RABEG/8AS8QBAM6tg3Yqg/8AVcQBAMdXq5lwq/8AX8QBAMczz8Klz/8AacQBANIV6OfU6P8Ac8QBAAAA9/f39/8AfcQBAEwe8Nnw0/8Ah8QBAFBE26bboP8AkcQBAFh7rlquYf8Am8QBAMRGw6+Nw/8ApMQBAAAA9/f39/8ArcQBAFJav3+/e/8AtsQBAMmolHsylP8Av8QBAMczz8Klz/8AyMQBAFBE26bboP8A0cQBAGb/iACIN/8A2sQBAMmolHsylP8A48QBAMczz8Klz/8A7MQBAAAA9/f39/8A9cQBAFBE26bboP8A/sQBAGb/iACIN/8AB8UBAM6tg3Yqg/8AEMUBAMRGw6+Nw/8AGcUBANIV6OfU6P8AIsUBAEwe8Nnw0/8AK8UBAFJav3+/e/8ANMUBAGHFeBt4N/8APcUBAM6tg3Yqg/8ARsUBAMRGw6+Nw/8AT8UBANIV6OfU6P8AWMUBAAAA9/f39/8AYcUBAEwe8Nnw0/8AasUBAFJav3+/e/8Ac8UBAGHFeBt4N/8AfMUBAM6tg3Yqg/8AhcUBAMdXq5lwq/8AjsUBAMczz8Klz/8Al8UBANIV6OfU6P8AoMUBAEwe8Nnw0/8AqcUBAFBE26bboP8AssUBAFh7rlquYf8Au8UBAGHFeBt4N/8AxMUBAM6tg3Yqg/8AzcUBAMdXq5lwq/8A1sUBAMczz8Klz/8A38UBANIV6OfU6P8A6MUBAAAA9/f39/8A8cUBAEwe8Nnw0/8A+sUBAFBE26bboP8AA8YBAFh7rlquYf8ADMYBAGHFeBt4N/8AFcYBAL0L8uzn8v8AHsYBAJc926a92/8AJ8YBAI3FviuMvv8AMMYBALkI9vHu9v8AOcYBAJso4b3J4f8AQsYBAJFwz3Spz/8AS8YBAI/3sAVwsP8AVMYBALkI9vHu9v8AXcYBAJso4b3J4f8AZsYBAJFwz3Spz/8Ab8YBAI3FviuMvv8AeMYBAI/3jQRajf8AgcYBALkI9vHu9v8AisYBAKgY5tDR5v8Ak8YBAJc926a92/8AnMYBAJFwz3Spz/8ApcYBAI3FviuMvv8ArsYBAI/3jQRajf8At8YBALkI9vHu9v8AwMYBAKgY5tDR5v8AycYBAJc926a92/8A0sYBAJFwz3Spz/8A28YBAI63wDaQwP8A5MYBAI/3sAVwsP8A7cYBAI/4ewNOe/8A9sYBAOkI///3+/8A/8YBAL0L8uzn8v8ACMcBAKgY5tDR5v8AEccBAJc926a92/8AGscBAJFwz3Spz/8AI8cBAI63wDaQwP8ALMcBAI/3sAVwsP8ANccBAI/4ewNOe/8APscBAOkI///3+/8AR8cBAL0L8uzn8v8AUMcBAKgY5tDR5v8AWccBAJc926a92/8AYscBAJFwz3Spz/8Aa8cBAI63wDaQwP8AdMcBAI/3sAVwsP8AfccBAI/3jQRajf8AhscBAI/5WAI4WP8Aj8cBAMgO8Ozi8P8AmscBAJc926a92/8ApccBAILQmRyQmf8AsMcBAM8I9/bv9/8Au8cBAJso4b3J4f8AxscBAI+Az2epz/8A0ccBAIL7igKBiv8A3McBAM8I9/bv9/8A58cBAJso4b3J4f8A8scBAI+Az2epz/8A/ccBAILQmRyQmf8ACMgBAHf8bAFsWf8AE8gBAM8I9/bv9/8AHsgBAKgY5tDR5v8AKcgBAJc926a92/8ANMgBAI+Az2epz/8AP8gBAILQmRyQmf8ASsgBAHf8bAFsWf8AVcgBAM8I9/bv9/8AYMgBAKgY5tDR5v8Aa8gBAJc926a92/8AdsgBAI+Az2epz/8AgcgBAI63wDaQwP8AjMgBAIL7igKBiv8Al8gBAHb8ZAFkUP8AosgBAOkI///3+/8ArcgBAMgO8Ozi8P8AuMgBAKgY5tDR5v8Aw8gBAJc926a92/8AzsgBAI+Az2epz/8A2cgBAI63wDaQwP8A5MgBAIL7igKBiv8A78gBAHb8ZAFkUP8A+sgBAOkI///3+/8ABckBAMgO8Ozi8P8AEMkBAKgY5tDR5v8AG8kBAJc926a92/8AJskBAI+Az2epz/8AMckBAI63wDaQwP8APMkBAIL7igKBiv8AR8kBAHf8bAFsWf8AUskBAHX7RgFGNv8AXckBABLuf387CP8AZ8kBAMP/Sy0AS/8AcskBABT2s7NYBv8AfMkBABbo4OCCFP8AhskBABeb/f24Y/8AkMkBABhI/v7gtv8AmskBAKUU69ja6/8ApMkBALEv0rKr0v8ArskBALNUrIBzrP8AuMkBAL21iFQniP8AwskBABLuf387CP8AzMkBAL21iFQniP8A18kBAMP/Sy0AS/8A4skBABT2s7NYBv8A7MkBABbo4OCCFP8A9skBABeb/f24Y/8AAMoBABhI/v7gtv8ACsoBAAAA9/f39/8AFMoBAKUU69ja6/8AHsoBALEv0rKr0v8AKMoBALNUrIBzrP8AMsoBABe78fGjQP8AO8oBAAAA9/f39/8ARMoBALJFw5mOw/8ATcoBABH95uZhAf8AVsoBABeb/f24Y/8AX8oBALEv0rKr0v8AaMoBALmbmV48mf8AccoBABH95uZhAf8AesoBABeb/f24Y/8Ag8oBAAAA9/f39/8AjMoBALEv0rKr0v8AlcoBALmbmV48mf8AnsoBABT2s7NYBv8Ap8oBABe78fGjQP8AsMoBABhI/v7gtv8AucoBAKUU69ja6/8AwsoBALJFw5mOw/8Ay8oBAL21iFQniP8A1MoBABT2s7NYBv8A3coBABe78fGjQP8A5soBABhI/v7gtv8A78oBAAAA9/f39/8A+MoBAKUU69ja6/8AAcsBALJFw5mOw/8ACssBAL21iFQniP8AE8sBABT2s7NYBv8AHMsBABbo4OCCFP8AJcsBABeb/f24Y/8ALssBABhI/v7gtv8AN8sBAKUU69ja6/8AQMsBALEv0rKr0v8AScsBALNUrIBzrP8AUssBAL21iFQniP8AW8sBABT2s7NYBv8AZMsBABbo4OCCFP8AbcsBABeb/f24Y/8AdssBABhI/v7gtv8Af8sBAAAA9/f39/8AiMsBAKUU69ja6/8AkcsBALEv0rKr0v8AmssBALNUrIBzrP8Ao8sBAL21iFQniP8ArMsBALwO7+fh7/8AtcsBANZDycmUx/8AvssBAOre3d0cd/8Ax8sBALkI9vHu9v8A0MsBANMp2Ne12P8A2csBAOSL399lsP8A4ssBAO/ozs4SVv8A68sBALkI9vHu9v8A9MsBANMp2Ne12P8A/csBAOSL399lsP8ABswBAOre3d0cd/8AD8wBAOz/mJgAQ/8AGMwBALkI9vHu9v8AIcwBAMwm2tS52v8AKswBANZDycmUx/8AM8wBAOSL399lsP8APMwBAOre3d0cd/8ARcwBAOz/mJgAQ/8ATswBALkI9vHu9v8AV8wBAMwm2tS52v8AYMwBANZDycmUx/8AacwBAOSL399lsP8AcswBAOnR5+cpiv8Ae8wBAO/ozs4SVv8AhMwBAOz/kZEAP/8AjcwBAMMF+ff0+f8AlswBALwO7+fh7/8An8wBAMwm2tS52v8AqMwBANZDycmUx/8AscwBAOSL399lsP8AuswBAOnR5+cpiv8Aw8wBAO/ozs4SVv8AzMwBAOz/kZEAP/8A1cwBAMMF+ff0+f8A3swBALwO7+fh7/8A58wBAMwm2tS52v8A8MwBANZDycmUx/8A+cwBAOSL399lsP8AAs0BAOnR5+cpiv8AC80BAO/ozs4SVv8AFM0BAOz/mJgAQ/8AHc0BAPL/Z2cAH/8AJs0BALQI9e/t9f8AMs0BAKgl3Ly93P8APs0BALBksXVrsf8ASs0BALYH9/Lw9/8AVs0BAK0c4svJ4v8AYs0BAK06yJ6ayP8Abs0BALaAo2pRo/8Aes0BALYH9/Lw9/8Ahs0BAK0c4svJ4v8Aks0BAK06yJ6ayP8Ans0BALBksXVrsf8Aqs0BALy5j1Qnj/8Ats0BALYH9/Lw9/8Aws0BAKoS69ra6/8Azs0BAKgl3Ly93P8A2s0BAK06yJ6ayP8A5s0BALBksXVrsf8A8s0BALy5j1Qnj/8A/s0BALYH9/Lw9/8ACs4BAKoS69ra6/8AFs4BAKgl3Ly93P8AIs4BAK06yJ6ayP8ALs4BAKxTuoB9uv8AOs4BALaAo2pRo/8ARs4BAL7YhkoUhv8AUs4BAL8C/fz7/f8AXs4BALQI9e/t9f8Aas4BAKoS69ra6/8Ads4BAKgl3Ly93P8Ags4BAK06yJ6ayP8Ajs4BAKxTuoB9uv8Ams4BALaAo2pRo/8Aps4BAL7YhkoUhv8Ass4BAL8C/fz7/f8Avs4BALQI9e/t9f8Ays4BAKoS69ra6/8A1s4BAKgl3Ly93P8A4s4BAK06yJ6ayP8A7s4BAKxTuoB9uv8A+s4BALaAo2pRo/8ABs8BALy5j1Qnj/8AEs8BAL//fT8Aff8AHs8BAPL/Z2cAH/8AKM8BAJbxYQUwYf8AM88BAPncsrIYK/8APc8BAAWj1tZgTf8AR88BAA139PSlgv8AUc8BAA82/f3bx/8AW88BAI4g8NHl8P8AZc8BAI1X3pLF3v8Ab88BAI+nw0OTw/8Aec8BAJTOrCFmrP8Ag88BAPL/Z2cAH/8Ajc8BAJTOrCFmrP8AmM8BAJbxYQUwYf8Ao88BAPncsrIYK/8Arc8BAAWj1tZgTf8At88BAA139PSlgv8Awc8BAA82/f3bx/8Ay88BAAAA9/f39/8A1c8BAI4g8NHl8P8A388BAI1X3pLF3v8A6c8BAI+nw0OTw/8A888BAAyW7++KYv8A/M8BAAAA9/f39/8ABdABAI+Az2epz/8ADtABAPj/ysoAIP8AF9ABAA139PSlgv8AINABAI1X3pLF3v8AKdABAI/3sAVxsP8AMtABAPj/ysoAIP8AO9ABAA139PSlgv8ARNABAAAA9/f39/8ATdABAI1X3pLF3v8AVtABAI/3sAVxsP8AX9ABAPncsrIYK/8AaNABAAyW7++KYv8AcdABAA82/f3bx/8AetABAI4g8NHl8P8Ag9ABAI+Az2epz/8AjNABAJTOrCFmrP8AldABAPncsrIYK/8AntABAAyW7++KYv8Ap9ABAA82/f3bx/8AsNABAAAA9/f39/8AudABAI4g8NHl8P8AwtABAI+Az2epz/8Ay9ABAJTOrCFmrP8A1NABAPncsrIYK/8A3dABAAWj1tZgTf8A5tABAA139PSlgv8A79ABAA82/f3bx/8A+NABAI4g8NHl8P8AAdEBAI1X3pLF3v8ACtEBAI+nw0OTw/8AE9EBAJTOrCFmrP8AHNEBAPncsrIYK/8AJdEBAAWj1tZgTf8ALtEBAA139PSlgv8AN9EBAA82/f3bx/8AQNEBAAAA9/f39/8ASdEBAI4g8NHl8P8AUtEBAI1X3pLF3v8AW9EBAI+nw0OTw/8AZNEBAJTOrCFmrP8AbdEBAPL/Z2cAH/8Ad9EBAAAAGhoaGv8AgtEBAPncsrIYK/8AjNEBAAWj1tZgTf8AltEBAA139PSlgv8AoNEBAA82/f3bx/8AqtEBAAAA4ODg4P8AtNEBAAAAurq6uv8AvtEBAAAAh4eHh/8AyNEBAAAATU1NTf8A0tEBAPL/Z2cAH/8A3NEBAAAATU1NTf8A59EBAAAAGhoaGv8A8tEBAPncsrIYK/8A/NEBAAWj1tZgTf8ABtIBAA139PSlgv8AENIBAA82/f3bx/8AGtIBAAAA//////8AJNIBAAAA4ODg4P8ALtIBAAAAurq6uv8AONIBAAAAh4eHh/8AQtIBAAyW7++KYv8AS9IBAAAA//////8AVNIBAAAAmZmZmf8AXdIBAPj/ysoAIP8AZtIBAA139PSlgv8Ab9IBAAAAurq6uv8AeNIBAAAAQEBAQP8AgdIBAPj/ysoAIP8AitIBAA139PSlgv8Ak9IBAAAA//////8AnNIBAAAAurq6uv8ApdIBAAAAQEBAQP8ArtIBAPncsrIYK/8At9IBAAyW7++KYv8AwNIBAA82/f3bx/8AydIBAAAA4ODg4P8A0tIBAAAAmZmZmf8A29IBAAAATU1NTf8A5NIBAPncsrIYK/8A7dIBAAyW7++KYv8A9tIBAA82/f3bx/8A/9IBAAAA//////8ACNMBAAAA4ODg4P8AEdMBAAAAmZmZmf8AGtMBAAAATU1NTf8AI9MBAPncsrIYK/8ALNMBAAWj1tZgTf8ANdMBAA139PSlgv8APtMBAA82/f3bx/8AR9MBAAAA4ODg4P8AUNMBAAAAurq6uv8AWdMBAAAAh4eHh/8AYtMBAAAATU1NTf8Aa9MBAPncsrIYK/8AdNMBAAWj1tZgTf8AfdMBAA139PSlgv8AhtMBAA82/f3bx/8Aj9MBAAAA//////8AmNMBAAAA4ODg4P8AodMBAAAAurq6uv8AqtMBAAAAh4eHh/8As9MBAAAATU1NTf8AvNMBAAMg/f3g3f8AxdMBAPRc+vqftf8AztMBAOPcxcUbiv8A19MBAA0c/v7r4v8A4NMBAPxI+/u0uf8A6dMBAO6T9/doof8A8tMBAOD9rq4Bfv8A+9MBAA0c/v7r4v8ABNQBAPxI+/u0uf8ADdQBAO6T9/doof8AFtQBAOPcxcUbiv8AH9QBANX8enoBd/8AKNQBAA0c/v7r4v8AMdQBAAM8/PzFwP8AOtQBAPRc+vqftf8AQ9QBAO6T9/doof8ATNQBAOPcxcUbiv8AVdQBANX8enoBd/8AXtQBAA0c/v7r4v8AZ9QBAAM8/PzFwP8AcNQBAPRc+vqftf8AedQBAO6T9/doof8AgtQBAObD3d00l/8Ai9QBAOD9rq4Bfv8AlNQBANX8enoBd/8AndQBAA4M///38/8AptQBAAMg/f3g3f8Ar9QBAAM8/PzFwP8AuNQBAPRc+vqftf8AwdQBAO6T9/doof8AytQBAObD3d00l/8A09QBAOD9rq4Bfv8A3NQBANX8enoBd/8A5dQBAA4M///38/8A7tQBAAMg/f3g3f8A99QBAAM8/PzFwP8AANUBAPRc+vqftf8ACdUBAO6T9/doof8AEtUBAObD3d00l/8AG9UBAOD9rq4Bfv8AJNUBANX8enoBd/8ALdUBAMf/akkAav8ANtUBAPX/paUAJv8AQtUBAKerlTE2lf8AT9UBAALQ19cwJ/8AW9UBAAq49PRtQ/8AZ9UBABSd/f2uYf8Ac9UBAB5u/v7gkP8Af9UBAIgY+ODz+P8Ai9UBAIpD6avZ6f8Al9UBAI9x0XSt0f8Ao9UBAJedtEV1tP8Ar9UBAPX/paUAJv8Au9UBAJedtEV1tP8AyNUBAKerlTE2lf8A1dUBAALQ19cwJ/8A4dUBAAq49PRtQ/8A7dUBABSd/f2uYf8A+dUBAB5u/v7gkP8ABdYBACpA////v/8AEdYBAIgY+ODz+P8AHdYBAIpD6avZ6f8AKdYBAI9x0XSt0f8ANdYBAA2k/PyNWf8AQNYBACpA////v/8AS9YBAI9W25G/2/8AVtYBAP7h19cZHP8AYdYBABSd/f2uYf8AbNYBAIpD6avZ6f8Ad9YBAJHBtix7tv8AgtYBAP7h19cZHP8AjdYBABSd/f2uYf8AmNYBACpA////v/8Ao9YBAIpD6avZ6f8ArtYBAJHBtix7tv8AudYBAALQ19cwJ/8AxNYBAA2k/PyNWf8Az9YBAB5u/v7gkP8A2tYBAIgY+ODz+P8A5dYBAI9W25G/2/8A8NYBAJedtEV1tP8A+9YBAALQ19cwJ/8ABtcBAA2k/PyNWf8AEdcBAB5u/v7gkP8AHNcBACpA////v/8AJ9cBAIgY+ODz+P8AMtcBAI9W25G/2/8APdcBAJedtEV1tP8ASNcBAALQ19cwJ/8AU9cBAAq49PRtQ/8AXtcBABSd/f2uYf8AadcBAB5u/v7gkP8AdNcBAIgY+ODz+P8Af9cBAIpD6avZ6f8AitcBAI9x0XSt0f8AldcBAJedtEV1tP8AoNcBAALQ19cwJ/8Aq9cBAAq49PRtQ/8AttcBABSd/f2uYf8AwdcBAB5u/v7gkP8AzNcBACpA////v/8A19cBAIgY+ODz+P8A4tcBAIpD6avZ6f8A7dcBAI9x0XSt0f8A+NcBAJedtEV1tP8AA9gBAPX/paUAJv8AD9gBAGv/aABoN/8AHNgBAALQ19cwJ/8AKNgBAAq49PRtQ/8ANNgBABSd/f2uYf8AQNgBAB9z/v7gi/8ATNgBADNq79nvi/8AWNgBAD6C2abZav8AZNgBAFN5vWa9Y/8AcNgBAGfTmBqYUP8AfNgBAPX/paUAJv8AiNgBAGfTmBqYUP8AldgBAGv/aABoN/8AotgBAALQ19cwJ/8ArtgBAAq49PRtQ/8AutgBABSd/f2uYf8AxtgBAB9z/v7gi/8A0tgBACpA////v/8A3tgBADNq79nvi/8A6tgBAD6C2abZav8A9tgBAFN5vWa9Y/8AAtkBAA2k/PyNWf8ADdkBACpA////v/8AGNkBAEKIz5HPYP8AI9kBAP7h19cZHP8ALtkBABSd/f2uYf8AOdkBAD6C2abZav8ARNkBAGLSlhqWQf8AT9kBAP7h19cZHP8AWtkBABSd/f2uYf8AZdkBACpA////v/8AcNkBAD6C2abZav8Ae9kBAGLSlhqWQf8AhtkBAALQ19cwJ/8AkdkBAA2k/PyNWf8AnNkBAB9z/v7gi/8Ap9kBADNq79nvi/8AstkBAEKIz5HPYP8AvdkBAGfTmBqYUP8AyNkBAALQ19cwJ/8A09kBAA2k/PyNWf8A3tkBAB9z/v7gi/8A6dkBACpA////v/8A9NkBADNq79nvi/8A/9kBAEKIz5HPYP8ACtoBAGfTmBqYUP8AFdoBAALQ19cwJ/8AINoBAAq49PRtQ/8AK9oBABSd/f2uYf8ANtoBAB9z/v7gi/8AQdoBADNq79nvi/8ATNoBAD6C2abZav8AV9oBAFN5vWa9Y/8AYtoBAGfTmBqYUP8AbdoBAALQ19cwJ/8AeNoBAAq49PRtQ/8Ag9oBABSd/f2uYf8AjtoBAB9z/v7gi/8AmdoBACpA////v/8ApNoBADNq79nvi/8Ar9oBAD6C2abZav8AutoBAFN5vWa9Y/8AxdoBAGfTmBqYUP8A0NoBAA0s/v7g0v8A2doBAAmL/PyScv8A4toBAAHT3t4tJv8A69oBAA0l/v7l2f8A9NoBAAts/Pyukf8A/doBAAez+/tqSv8ABtsBAP3gy8sYHf8AD9sBAA0l/v7l2f8AGNsBAAts/Pyukf8AIdsBAAez+/tqSv8AKtsBAAHT3t4tJv8AM9sBAP3npaUPFf8APNsBAA0l/v7l2f8ARdsBAAxc/Py7of8ATtsBAAmL/PyScv8AV9sBAAez+/tqSv8AYNsBAAHT3t4tJv8AadsBAP3npaUPFf8ActsBAA0l/v7l2f8Ae9sBAAxc/Py7of8AhNsBAAmL/PyScv8AjdsBAAez+/tqSv8AltsBAAPQ7+87LP8An9sBAP3gy8sYHf8AqNsBAPv/mZkADf8AsdsBAA4P///18P8AutsBAA0s/v7g0v8Aw9sBAAxc/Py7of8AzNsBAAmL/PyScv8A1dsBAAez+/tqSv8A3tsBAAPQ7+87LP8A59sBAP3gy8sYHf8A8NsBAPv/mZkADf8A+dsBAA4P///18P8AAtwBAA0s/v7g0v8AC9wBAAxc/Py7of8AFNwBAAmL/PyScv8AHdwBAAez+/tqSv8AJtwBAAPQ7+87LP8AL9wBAP3gy8sYHf8AONwBAP3npaUPFf8AQdwBAPn/Z2cADf8AStwBAP7h5OQaHP8AU9wBAJKyuDd+uP8AXNwBAFOTr02vSv8AZdwBAP7h5OQaHP8AbtwBAJKyuDd+uP8Ad9wBAFOTr02vSv8AgNwBAM+Eo5hOo/8AidwBAP7h5OQaHP8AktwBAJKyuDd+uP8Am9wBAFOTr02vSv8ApNwBAM+Eo5hOo/8ArdwBABX///9/AP8AttwBAP7h5OQaHP8Av9wBAJKyuDd+uP8AyNwBAFOTr02vSv8A0dwBAM+Eo5hOo/8A2twBABX///9/AP8A49wBACrM////M/8A7NwBAP7h5OQaHP8A9dwBAJKyuDd+uP8A/twBAFOTr02vSv8AB90BAM+Eo5hOo/8AEN0BABX///9/AP8AGd0BACrM////M/8AIt0BAA/BpqZWKP8AK90BAP7h5OQaHP8ANN0BAJKyuDd+uP8APd0BAFOTr02vSv8ARt0BAM+Eo5hOo/8AT90BABX///9/AP8AWN0BACrM////M/8AYd0BAA/BpqZWKP8Aat0BAOh59/eBv/8Ac90BAP7h5OQaHP8AfN0BAJKyuDd+uP8Ahd0BAFOTr02vSv8Ajt0BAM+Eo5hOo/8Al90BABX///9/AP8AoN0BACrM////M/8Aqd0BAA/BpqZWKP8Ast0BAOh59/eBv/8Au90BAAAAmZmZmf8AxN0BAHJ4wmbCpf8Azd0BAAub/PyNYv8A1t0BAJxNy42gy/8A390BAHJ4wmbCpf8A6N0BAAub/PyNYv8A8d0BAJxNy42gy/8A+t0BAORm5+eKw/8AA94BAHJ4wmbCpf8ADN4BAAub/PyNYv8AFd4BAJxNy42gy/8AHt4BAORm5+eKw/8AJ94BADqb2KbYVP8AMN4BAHJ4wmbCpf8AOd4BAAub/PyNYv8AQt4BAJxNy42gy/8AS94BAORm5+eKw/8AVN4BADqb2KbYVP8AXd4BACLQ///ZL/8AZt4BAHJ4wmbCpf8Ab94BAAub/PyNYv8AeN4BAJxNy42gy/8Agd4BAORm5+eKw/8Ait4BADqb2KbYVP8Ak94BACLQ///ZL/8AnN4BABla5eXElP8Apd4BAHJ4wmbCpf8Art4BAAub/PyNYv8At94BAJxNy42gy/8AwN4BAORm5+eKw/8Ayd4BADqb2KbYVP8A0t4BACLQ///ZL/8A294BABla5eXElP8A5N4BAAAAs7Ozs/8A7d4BAHhU043Tx/8A994BANNSvbyAvf8AAt8BACpM////s/8ADN8BAK8l2r662v8AFt8BAASL+/uAcv8AIN8BAJBk04Cx0/8AKt8BABac/f20Yv8ANN8BADqG3rPeaf8APt8BAOkv/PzN5f8ASN8BAAAA2dnZ2f8AUt8BAHhU043Tx/8AXN8BANNSvbyAvf8AZ98BAE0p68zrxf8Act8BACpM////s/8AfN8BAK8l2r662v8Aht8BAASL+/uAcv8AkN8BAJBk04Cx0/8Amt8BABac/f20Yv8ApN8BADqG3rPeaf8Art8BAOkv/PzN5f8AuN8BAAAA2dnZ2f8Awt8BAHhU043Tx/8AzN8BANNSvbyAvf8A198BAE0p68zrxf8A4t8BACWQ///tb/8A7d8BACpM////s/8A998BAK8l2r662v8AAeABAASL+/uAcv8AC+ABAJBk04Cx0/8AFeABABac/f20Yv8AH+ABADqG3rPeaf8AKeABAOkv/PzN5f8AM+ABAAAA2dnZ2f8APeABAHhU043Tx/8ARuABACpM////s/8AT+ABAK8l2r662v8AWOABAHhU043Tx/8AYeABACpM////s/8AauABAK8l2r662v8Ac+ABAASL+/uAcv8AfOABAHhU043Tx/8AheABACpM////s/8AjuABAK8l2r662v8Al+ABAASL+/uAcv8AoOABAJBk04Cx0/8AqeABAHhU043Tx/8AsuABACpM////s/8Au+ABAK8l2r662v8AxOABAASL+/uAcv8AzeABAJBk04Cx0/8A1uABABac/f20Yv8A3+ABAHhU043Tx/8A6OABACpM////s/8A8eABAK8l2r662v8A+uABAASL+/uAcv8AA+EBAJBk04Cx0/8ADOEBABac/f20Yv8AFeEBADqG3rPeaf8AHuEBAHhU043Tx/8AJ+EBACpM////s/8AMOEBAK8l2r662v8AOeEBAASL+/uAcv8AQuEBAJBk04Cx0/8AS+EBABac/f20Yv8AVOEBADqG3rPeaf8AXeEBAOkv/PzN5f8AZuEBAHhU043Tx/8Ab+EBACpM////s/8AeOEBAK8l2r662v8AgeEBAASL+/uAcv8AiuEBAJBk04Cx0/8Ak+EBABac/f20Yv8AnOEBADqG3rPeaf8ApeEBAOkv/PzN5f8AruEBAAAA2dnZ2f8At+EBAO39np4BQv8AxeEBALGCol5Pov8A1OEBAPq01dU+T/8A4uEBAAq49PRtQ/8A8OEBABSd/f2uYf8A/uEBAB9z/v7gi/8ADOIBADFg9eb1mP8AGuIBAE9B3avdpP8AKOIBAHJ4wmbCpf8ANuIBAI+7vTKIvf8AROIBAO39np4BQv8AUuIBAI+7vTKIvf8AYeIBALGCol5Pov8AcOIBAPq01dU+T/8AfuIBAAq49PRtQ/8AjOIBABSd/f2uYf8AmuIBAB9z/v7gi/8AqOIBACpA////v/8AtuIBADFg9eb1mP8AxOIBAE9B3avdpP8A0uIBAHJ4wmbCpf8A4OIBAA2k/PyNWf8A7eIBACpA////v/8A+uIBAFFN1ZnVlP8AB+MBAP7h19cZHP8AFOMBABSd/f2uYf8AIeMBAE9B3avdpP8ALuMBAI/EuiuDuv8AO+MBAP7h19cZHP8ASOMBABSd/f2uYf8AVeMBACpA////v/8AYuMBAE9B3avdpP8Ab+MBAI/EuiuDuv8AfOMBAPq01dU+T/8AieMBAA2k/PyNWf8AluMBAB9z/v7gi/8Ao+MBADFg9eb1mP8AsOMBAFFN1ZnVlP8AveMBAI+7vTKIvf8AyuMBAPq01dU+T/8A1+MBAA2k/PyNWf8A5OMBAB9z/v7gi/8A8eMBACpA////v/8A/uMBADFg9eb1mP8AC+QBAFFN1ZnVlP8AGOQBAI+7vTKIvf8AJeQBAPq01dU+T/8AMuQBAAq49PRtQ/8AP+QBABSd/f2uYf8ATOQBAB9z/v7gi/8AWeQBADFg9eb1mP8AZuQBAE9B3avdpP8Ac+QBAHJ4wmbCpf8AgOQBAI+7vTKIvf8AjeQBAPq01dU+T/8AmuQBAAq49PRtQ/8Ap+QBABSd/f2uYf8AtOQBAB9z/v7gi/8AweQBACpA////v/8AzuQBADFg9eb1mP8A2+QBAE9B3avdpP8A6OQBAHJ4wmbCpf8A9eQBAI+7vTKIvf8AAuUBAJMP//D4//8AEeUBABgj+vrr1/8AI+UBAH///wD///8ALeUBAHGA/3//1P8APeUBAH8P//D///8ASOUBACoa9fX13P8AU+UBABc6///kxP8AX+UBAAAAAAAAAP8AauUBABkx///rzf8AfuUBAKr//wAA//8AiOUBAMDO4oor4v8AmOUBAAC+paUqKv8Ao+UBABdj3t64h/8AsuUBAIBnoF+eoP8AweUBAD///3//AP8A0eUBABHa0tJpHv8A4OUBAAuv//9/UP8A6+UBAJqT7WSV7f8A/+UBACEi///43P8ADeYBAPbn3NwUPP8AGuYBAH///wD///8AJOYBAKr/iwAAi/8AMuYBAH//iwCLi/8AQOYBAB7vuLiGC/8AU+YBAAAAqampqf8AYeYBAFX/ZABkAP8AcOYBAAAAqampqf8AfuYBACduvb23a/8AjeYBANT/i4sAi/8AnuYBADqOa1VrL/8AsuYBABf///+MAP8AwuYBAMbAzJkyzP8A0uYBAAD/i4sAAP8A3+YBAAp56emWev8A7+YBAFU9vI+8j/8AAecBAK+Pi0g9i/8AFOcBAH9nTy9PT/8AJ+cBAH9nTy9PT/8AOucBAID/0QDO0f8ATecBAMf/05QA0/8AXecBAOjr//8Uk/8Aa+cBAIr//wC///8AfOcBAAAAaWlpaf8AiecBAAAAaWlpaf8AlucBAJTh/x6Q//8ApucBAADOsrIiIv8AtecBABwP///68P8AxucBAFXAiyKLIv8A1+cBANT///8A//8A5OcBAAAA3Nzc3P8A8+cBAKoH//j4//8AA+gBACP////XAP8ADegBAB7Z2tqlIP8AHOgBAAAAgICAgP8AJugBAFX/gACAAP8AMegBADvQ/63/L/8AQugBAAAAgICAgP8ATOgBAFUP//D/8P8AWugBAOmW//9ptP8AZ+gBAACMzc1cXP8AdugBAML/gksAgv8AgugBACoP////8P8AjegBACZq8PDmjP8AmOgBAKoU+ubm+v8ApugBAPAP///w9f8AuegBAED//Hz8AP8AyOgBACYx///6zf8A2ugBAIk/5q3Y5v8A6egBAAB38PCAgP8A+egBAH8f/+D///8ACOkBACoo+vr60v8AIukBAAAA09PT0/8AMekBAFVk7pDukP8AQekBAAAA09PT0/8AUOkBAPhJ//+2wf8AX+kBAAyE//+gev8AcOkBAH3RsiCyqv8Ag+kBAI91+ofO+v8AlekBAJQ4mXeImf8AqekBAJQ4mXeImf8AvekBAJc03rDE3v8A0ekBACof////4P8A4ukBAFX//wD/AP8A7OkBAFXAzTLNMv8A++kBABUU+vrw5v8ABuoBANT///8A//8AE+oBAAD/gIAAAP8AH+oBAHGAzWbNqv8ANeoBAKr/zQAAzf8AReoBAMyY07pV0/8AV+oBALd825Nw2/8AaeoBAGepszyzcf8AfeoBALCP7nto7v8AkuoBAG//+gD6mv8AqeoBAH2n0UjRzP8AvuoBAOTkx8cVhf8A0+oBAKrGcBkZcP8A5eoBAGoJ//X/+v8A9OoBAAQe///k4f8AA+sBABpJ///ktf8AEesBABlR///erf8AIusBAKr/gAAAgP8ALOsBABsX/f315v8AOesBACr/gICAAP8AROsBADjAjmuOI/8AU+sBABv///+lAP8AX+sBAAv///9FAP8AbusBANZ72tpw1v8AeusBACZI7u7oqv8AjesBAFVk+5j7mP8AnOsBAH9D7q/u7v8Ar+sBAPF829twk/8AwusBABop///v1f8A0usBABRG///auf8A4esBABSwzc2FP/8A6+sBAPc////Ay/8A9esBANRG3d2g3f8A/+sBAIQ75rDg5v8AD+wBANT/gIAAgP8AG+wBAAD///8AAP8AJOwBAAA9vLyPj/8AM+wBAJ+14UFp4f8AQuwBABHci4tFE/8AU+wBAASK+vqAcv8AX+wBABOa9PSkYP8Ab+wBAGeqiy6LV/8AfewBABEQ///17v8Ai+wBAA23oKBSLf8Al+wBAAAAwMDAwP8Ao+wBAIts64fO6/8AsOwBAK+PzWpazf8Av+wBAJQ4kHCAkP8AzuwBAJQ4kHCAkP8A3ewBAAAF///6+v8A5+wBAGr//wD/f/8A+OwBAJKbtEaCtP8AB+0BABhU0tK0jP8AEO0BAH//gACAgP8AGu0BANQd2Ni/2P8AJ+0BAAa4//9jR/8AM+0BAHu24EDg0P8AQu0BANRz7u6C7v8ATu0BABtE9fXes/8AWe0BAAAA//////8AZO0BAAAA9fX19f8AdO0BACr/////AP8AgO0BADjAzZrNMv8Ake0BAC1D/Pf8uf8Amu0BAERb3a3djv8Ao+0BAGKyozGjVP8ArO0BACoy////zP8Ate0BAD5V5sLmmf8Avu0BAFVkxnjGef8Ax+0BAGO7hCOEQ/8A0O0BACoy////zP8A2e0BAD5V5sLmmf8A4u0BAFVkxnjGef8A6+0BAGKyozGjVP8A9O0BAGv/aABoN/8A/e0BACoy////zP8ABu4BADdR8Nnwo/8AD+4BAERb3a3djv8AGO4BAFVkxnjGef8AIe4BAGKyozGjVP8AKu4BAGv/aABoN/8AM+4BACoy////zP8APO4BADdR8Nnwo/8ARe4BAERb3a3djv8ATu4BAFVkxnjGef8AV+4BAGCeq0GrXf8AYO4BAGO7hCOEQ/8Aae4BAGz/WgBaMv8Acu4BACoZ////5f8Ae+4BAC1D/Pf8uf8AhO4BADdR8Nnwo/8Aje4BAERb3a3djv8Alu4BAFVkxnjGef8An+4BAGCeq0GrXf8AqO4BAGO7hCOEQ/8Ase4BAGz/WgBaMv8Auu4BACoZ////5f8Aw+4BAC1D/Pf8uf8AzO4BADdR8Nnwo/8A1e4BAERb3a3djv8A3u4BAFVkxnjGef8A5+4BAGCeq0GrXf8A8O4BAGO7hCOEQ/8A+e4BAGv/aABoN/8AAu8BAG7/RQBFKf8AC+8BADFJ+O34sf8AFu8BAHVhzX/Nu/8AIe8BAJDCuCx/uP8ALO8BACoy////zP8AN+8BAGNC2qHatP8AQu8BAISqxEG2xP8ATe8BAJbLqCJeqP8AWO8BACoy////zP8AY+8BAGNC2qHatP8Abu8BAISqxEG2xP8Aee8BAJDCuCx/uP8AhO8BAKS/lCU0lP8Aj+8BACoy////zP8Amu8BAEU66cfptP8Ape8BAHVhzX/Nu/8AsO8BAISqxEG2xP8Au+8BAJDCuCx/uP8Axu8BAKS/lCU0lP8A0e8BACoy////zP8A3O8BAEU66cfptP8A5+8BAHVhzX/Nu/8A8u8BAISqxEG2xP8A/e8BAIvYwB2RwP8ACPABAJbLqCJeqP8AE/ABAJ7nhAwshP8AHvABACom////2f8AKfABADFJ+O34sf8ANPABAEU66cfptP8AP/ABAHVhzX/Nu/8ASvABAISqxEG2xP8AVfABAIvYwB2RwP8AYPABAJbLqCJeqP8Aa/ABAJ7nhAwshP8AdvABACom////2f8AgfABADFJ+O34sf8AjPABAEU66cfptP8Al/ABAHVhzX/Nu/8AovABAISqxEG2xP8ArfABAIvYwB2RwP8AuPABAJbLqCJeqP8Aw/ABAKS/lCU0lP8AzvABAJ7nWAgdWP8A2fABACVC///3vP8A5PABAByv/v7ET/8A7/ABABDu2dlfDv8A+vABACoq////1P8ABfEBABxw/v7Zjv8AEPEBABbV/v6ZKf8AG/EBAA/8zMxMAv8AJvEBACoq////1P8AMfEBABxw/v7Zjv8APPEBABbV/v6ZKf8AR/EBABDu2dlfDv8AUvEBAA34mZk0BP8AXfEBACoq////1P8AaPEBAB9t/v7jkf8Ac/EBAByv/v7ET/8AfvEBABbV/v6ZKf8AifEBABDu2dlfDv8AlPEBAA34mZk0BP8An/EBACoq////1P8AqvEBAB9t/v7jkf8AtfEBAByv/v7ET/8AwPEBABbV/v6ZKf8Ay/EBABLp7OxwFP8A1vEBAA/8zMxMAv8A4fEBAAz3jIwtBP8A7PEBACoZ////5f8A9/EBACVC///3vP8AAvIBAB9t/v7jkf8ADfIBAByv/v7ET/8AGPIBABbV/v6ZKf8AI/IBABLp7OxwFP8ALvIBAA/8zMxMAv8AOfIBAAz3jIwtBP8ARPIBACoZ////5f8AT/IBACVC///3vP8AWvIBAB9t/v7jkf8AZfIBAByv/v7ET/8AcPIBABbV/v6ZKf8Ae/IBABLp7OxwFP8AhvIBAA/8zMxMAv8AkfIBAA34mZk0BP8AnPIBAA3wZmYlBv8Ap/IBACJf///toP8AsvIBABiy/v6yTP8AvfIBAAXd8PA7IP8AyPIBACpN////sv8A0/IBAB2i/v7MXP8A3vIBABHC/f2NPP8A6fIBAP7h4+MaHP8A9PIBACpN////sv8A//IBAB2i/v7MXP8ACvMBABHC/f2NPP8AFfMBAAXd8PA7IP8AIPMBAPb/vb0AJv8AK/MBACpN////sv8ANvMBAB6I/v7Zdv8AQfMBABiy/v6yTP8ATPMBABHC/f2NPP8AV/MBAAXd8PA7IP8AYvMBAPb/vb0AJv8AbfMBACpN////sv8AePMBAB6I/v7Zdv8Ag/MBABiy/v6yTP8AjvMBABHC/f2NPP8AmfMBAAfU/PxOKv8ApPMBAP7h4+MaHP8Ar/MBAPX/sbEAJv8AuvMBACoy////zP8AxfMBACJf///toP8A0PMBAB6I/v7Zdv8A2/MBABiy/v6yTP8A5vMBABHC/f2NPP8A8fMBAAfU/PxOKv8A/PMBAP7h4+MaHP8AB/QBAPX/sbEAJv8AEvQBACoy////zP8AHfQBACJf///toP8AKPQBAB6I/v7Zdv8AM/QBABiy/v6yTP8APvQBABHC/f2NPP8ASfQBAAfU/PxOKv8AVPQBAP7h4+MaHP8AX/QBAPb/vb0AJv8AavQBAPL/gIAAJv8AdfQBAJMP//D4//8Af/QBABgj+vrr1/8AjPQBABck///v2/8AmvQBABck7u7fzP8AqPQBABckzc3AsP8AtvQBABgii4uDeP8AxPQBAHGA/3//1P8Az/QBAHGA/3//1P8A2/QBAHGA7nbuxv8A5/QBAHGAzWbNqv8A8/QBAHGAi0WLdP8A//QBAH8P//D///8ABfUBAH8P//D///8ADPUBAH8P7uDu7v8AE/UBAH8OzcHNzf8AGvUBAH8Oi4OLi/8AIfUBACoa9fX13P8AJ/UBABc6///kxP8ALvUBABc6///kxP8ANvUBABc67u7Vt/8APvUBABY6zc23nv8ARvUBABc6i4t9a/8AWAwCAAAAAAAAAP8ATvUBABkx///rzf8AXfUBAKr//wAA//8AYvUBAKr//wAA//8AaPUBAKr/7gAA7v8AbvUBAKr/zQAAzf8AdPUBAKr/iwAAi/8AevUBAMDO4oor4v8AhfUBAAC+paUqKv8Ai/UBAAC///9AQP8AkvUBAAC/7u47O/8AmfUBAAC/zc0zM/8AoPUBAAC+i4sjI/8Ap/UBABdj3t64h/8AsfUBABdk///Tm/8AvPUBABdj7u7Fkf8Ax/UBABdjzc2qff8A0vUBABdji4tzVf8A3fUBAIBnoF+eoP8A5/UBAINn/5j1//8A8vUBAINm7o7l7v8A/fUBAINnzXrFzf8ACPYBAINmi1OGi/8AE/YBAD///3//AP8AHvYBAD///3//AP8AKvYBAD//7nbuAP8ANvYBAD//zWbNAP8AQvYBAD//i0WLAP8ATvYBABHa0tJpHv8AWPYBABHb//9/JP8AY/YBABHb7u52If8AbvYBABHazc1mHf8AefYBABHci4tFE/8AhPYBAAuv//9/UP8AivYBAAep//9yVv8AkfYBAAap7u5qUP8AmPYBAAapzc1bRf8An/YBAAaoi4s+L/8ApvYBAJqT7WSV7f8AtfYBACEi///43P8AvvYBACEi///43P8AyPYBACIj7u7ozf8A0vYBACIizc3Isf8A3PYBACMii4uIeP8A5vYBAPbn3NwUPP8A7vYBAH///wD///8A8/YBAH///wD///8A+fYBAH//7gDu7v8A//YBAH//zQDNzf8ABfcBAH//iwCLi/8AC/cBAB7vuLiGC/8AGfcBAB7w//+5D/8AKPcBAB7w7u6tDv8AN/cBAB7wzc2VDP8ARvcBAB7wi4tlCP8AVfcBAFX/ZABkAP8AX/cBACduvb23a/8AafcBADqOa1VrL/8AePcBADqP/8r/cP8AiPcBADqP7rzuaP8AmPcBADqPzaLNWv8AqPcBADqPi26LPf8AuPcBABf///+MAP8Aw/cBABX///9/AP8Az/cBABX/7u52AP8A2/cBABX/zc1mAP8A5/cBABX/i4tFAP8A8/cBAMbAzJkyzP8A/vcBAMbB/78+//8ACvgBAMbA7rI67v8AFvgBAMbAzZoyzf8AIvgBAMbAi2gii/8ALvgBAAp56emWev8AOfgBAFU9vI+8j/8ARvgBAFU+/8H/wf8AVPgBAFU+7rTutP8AYvgBAFU+zZvNm/8AcPgBAFU+i2mLaf8AfvgBAK+Pi0g9i/8AjPgBAH9nTy9PT/8AmvgBAH9o/5f///8AqfgBAH9n7o3u7v8AuPgBAH9ozXnNzf8Ax/gBAH9oi1KLi/8A1vgBAH9nTy9PT/8A5PgBAID/0QDO0f8A8vgBAMf/05QA0/8A/fgBAOjr//8Uk/8ABvkBAOjr//8Uk/8AEPkBAOjr7u4Sif8AGvkBAOjrzc0Qdv8AJPkBAOfsi4sKUP8ALvkBAIr//wC///8AOvkBAIr//wC///8AR/kBAIr/7gCy7v8AVPkBAIr/zQCazf8AYfkBAIr/iwBoi/8AbvkBAAAAaWlpaf8AdvkBAAAAaWlpaf8AfvkBAJTh/x6Q//8AifkBAJTh/x6Q//8AlfkBAJTh7hyG7v8AofkBAJThzRh0zf8ArfkBAJThixBOi/8AufkBAADOsrIiIv8Aw/kBAADP//8wMP8AzvkBAADP7u4sLP8A2fkBAADPzc0mJv8A5PkBAADPi4saGv8A7/kBABwP///68P8A+/kBAFXAiyKLIv8AB/oBAAAA3Nzc3P8AEfoBAKoH//j4//8AHPoBACP////XAP8AIfoBACP////XAP8AJ/oBACP/7u7JAP8ALfoBACP/zc2tAP8AM/oBACP/i4t1AP8AOfoBAB7Z2tqlIP8AQ/oBAB7a///BJf8ATvoBAB7a7u60Iv8AWfoBAB7azc2bHf8AZPoBAB7ai4tpFP8Ab/oBAAAAwMDAwP8AdPoBAAAAAAAAAP8AevoBAAAAAwMDA/8AgPoBAAAAGhoaGv8Ah/oBAAAA//////8Aj/oBAAAAHBwcHP8AlvoBAAAAHx8fH/8AnfoBAAAAISEhIf8ApPoBAAAAJCQkJP8Aq/oBAAAAJiYmJv8AsvoBAAAAKSkpKf8AufoBAAAAKysrK/8AwPoBAAAALi4uLv8Ax/oBAAAAMDAwMP8AzvoBAAAABQUFBf8A1PoBAAAAMzMzM/8A2/oBAAAANjY2Nv8A4voBAAAAODg4OP8A6foBAAAAOzs7O/8A8PoBAAAAPT09Pf8A9/oBAAAAQEBAQP8A/voBAAAAQkJCQv8ABfsBAAAARUVFRf8ADPsBAAAAR0dHR/8AE/sBAAAASkpKSv8AGvsBAAAACAgICP8AIPsBAAAATU1NTf8AJ/sBAAAAT09PT/8ALvsBAAAAUlJSUv8ANfsBAAAAVFRUVP8APPsBAAAAV1dXV/8AQ/sBAAAAWVlZWf8ASvsBAAAAXFxcXP8AUfsBAAAAXl5eXv8AWPsBAAAAYWFhYf8AX/sBAAAAY2NjY/8AZvsBAAAACgoKCv8AbPsBAAAAZmZmZv8Ac/sBAAAAaWlpaf8AevsBAAAAa2tra/8AgfsBAAAAbm5ubv8AiPsBAAAAcHBwcP8Aj/sBAAAAc3Nzc/8AlvsBAAAAdXV1df8AnfsBAAAAeHh4eP8ApPsBAAAAenp6ev8Aq/sBAAAAfX19ff8AsvsBAAAADQ0NDf8AuPsBAAAAf39/f/8Av/sBAAAAgoKCgv8AxvsBAAAAhYWFhf8AzfsBAAAAh4eHh/8A1PsBAAAAioqKiv8A2/sBAAAAjIyMjP8A4vsBAAAAj4+Pj/8A6fsBAAAAkZGRkf8A8PsBAAAAlJSUlP8A9/sBAAAAlpaWlv8A/vsBAAAADw8PD/8ABPwBAAAAmZmZmf8AC/wBAAAAnJycnP8AEvwBAAAAnp6env8AGfwBAAAAoaGhof8AIPwBAAAAo6Ojo/8AJ/wBAAAApqampv8ALvwBAAAAqKioqP8ANfwBAAAAq6urq/8APPwBAAAAra2trf8AQ/wBAAAAsLCwsP8ASvwBAAAAEhISEv8AUPwBAAAAs7Ozs/8AV/wBAAAAtbW1tf8AXvwBAAAAuLi4uP8AZfwBAAAAurq6uv8AbPwBAAAAvb29vf8Ac/wBAAAAv7+/v/8AevwBAAAAwsLCwv8AgfwBAAAAxMTExP8AiPwBAAAAx8fHx/8Aj/wBAAAAycnJyf8AlvwBAAAAFBQUFP8AnPwBAAAAzMzMzP8Ao/wBAAAAz8/Pz/8AqvwBAAAA0dHR0f8AsfwBAAAA1NTU1P8AuPwBAAAA1tbW1v8Av/wBAAAA2dnZ2f8AxvwBAAAA29vb2/8AzfwBAAAA3t7e3v8A1PwBAAAA4ODg4P8A2/wBAAAA4+Pj4/8A4vwBAAAAFxcXF/8A6PwBAAAA5eXl5f8A7/wBAAAA6Ojo6P8A9vwBAAAA6+vr6/8A/fwBAAAA7e3t7f8ABP0BAAAA8PDw8P8AC/0BAAAA8vLy8v8AEv0BAAAA9fX19f8AGf0BAAAA9/f39/8AIP0BAAAA+vr6+v8AJ/0BAAAA/Pz8/P8ALv0BAFX//wD/AP8ANP0BAFX//wD/AP8AO/0BAFX/7gDuAP8AQv0BAFX/zQDNAP8ASf0BAFX/iwCLAP8AUP0BADvQ/63/L/8AXP0BAAAAwMDAwP8AYf0BAAAAAAAAAP8AZ/0BAAAAAwMDA/8Abf0BAAAAGhoaGv8AdP0BAAAA//////8AfP0BAAAAHBwcHP8Ag/0BAAAAHx8fH/8Aiv0BAAAAISEhIf8Akf0BAAAAJCQkJP8AmP0BAAAAJiYmJv8An/0BAAAAKSkpKf8Apv0BAAAAKysrK/8Arf0BAAAALi4uLv8AtP0BAAAAMDAwMP8Au/0BAAAABQUFBf8Awf0BAAAAMzMzM/8AyP0BAAAANjY2Nv8Az/0BAAAAODg4OP8A1v0BAAAAOzs7O/8A3f0BAAAAPT09Pf8A5P0BAAAAQEBAQP8A6/0BAAAAQkJCQv8A8v0BAAAARUVFRf8A+f0BAAAAR0dHR/8AAP4BAAAASkpKSv8AB/4BAAAACAgICP8ADf4BAAAATU1NTf8AFP4BAAAAT09PT/8AG/4BAAAAUlJSUv8AIv4BAAAAVFRUVP8AKf4BAAAAV1dXV/8AMP4BAAAAWVlZWf8AN/4BAAAAXFxcXP8APv4BAAAAXl5eXv8ARf4BAAAAYWFhYf8ATP4BAAAAY2NjY/8AU/4BAAAACgoKCv8AWf4BAAAAZmZmZv8AYP4BAAAAaWlpaf8AZ/4BAAAAa2tra/8Abv4BAAAAbm5ubv8Adf4BAAAAcHBwcP8AfP4BAAAAc3Nzc/8Ag/4BAAAAdXV1df8Aiv4BAAAAeHh4eP8Akf4BAAAAenp6ev8AmP4BAAAAfX19ff8An/4BAAAADQ0NDf8Apf4BAAAAf39/f/8ArP4BAAAAgoKCgv8As/4BAAAAhYWFhf8Auv4BAAAAh4eHh/8Awf4BAAAAioqKiv8AyP4BAAAAjIyMjP8Az/4BAAAAj4+Pj/8A1v4BAAAAkZGRkf8A3f4BAAAAlJSUlP8A5P4BAAAAlpaWlv8A6/4BAAAADw8PD/8A8f4BAAAAmZmZmf8A+P4BAAAAnJycnP8A//4BAAAAnp6env8ABv8BAAAAoaGhof8ADf8BAAAAo6Ojo/8AFP8BAAAApqampv8AG/8BAAAAqKioqP8AIv8BAAAAq6urq/8AKf8BAAAAra2trf8AMP8BAAAAsLCwsP8AN/8BAAAAEhISEv8APf8BAAAAs7Ozs/8ARP8BAAAAtbW1tf8AS/8BAAAAuLi4uP8AUv8BAAAAurq6uv8AWf8BAAAAvb29vf8AYP8BAAAAv7+/v/8AZ/8BAAAAwsLCwv8Abv8BAAAAxMTExP8Adf8BAAAAx8fHx/8AfP8BAAAAycnJyf8Ag/8BAAAAFBQUFP8Aif8BAAAAzMzMzP8AkP8BAAAAz8/Pz/8Al/8BAAAA0dHR0f8Anv8BAAAA1NTU1P8Apf8BAAAA1tbW1v8ArP8BAAAA2dnZ2f8As/8BAAAA29vb2/8Auv8BAAAA3t7e3v8Awf8BAAAA4ODg4P8AyP8BAAAA4+Pj4/8Az/8BAAAAFxcXF/8A1f8BAAAA5eXl5f8A3P8BAAAA6Ojo6P8A4/8BAAAA6+vr6/8A6v8BAAAA7e3t7f8A8f8BAAAA8PDw8P8A+P8BAAAA8vLy8v8A//8BAAAA9fX19f8ABgACAAAA9/f39/8ADQACAAAA+vr6+v8AFAACAAAA/Pz8/P8AGwACAFUP//D/8P8AJAACAFUP//D/8P8ALgACAFUP7uDu4P8AOAACAFUOzcHNwf8AQgACAFUOi4OLg/8ATAACAOmW//9ptP8AVAACAOqR//9utP8AXQACAOuN7u5qp/8AZgACAOyHzc1gkP8AbwACAOqUi4s6Yv8AeAACAACMzc1cXP8AggACAACU//9qav8AjQACAACU7u5jY/8AmAACAACVzc1VVf8AowACAACUi4s6Ov8ArgACAML/gksAgv8AtQACACoA/////gAAuwACACoP////8P8AwQACACoP////8P8AyAACACoP7u7u4P8AzwACACoOzc3Nwf8A1gACACoOi4uLg/8A3QACACZq8PDmjP8A4wACACdw///2j/8A6gACACdw7u7mhf8A8QACACdvzc3Gc/8A+AACACdvi4uGTv8A/wACAKoU+ubm+v8ACAECAPAP///w9f8AFgECAPAP///w9f8AJQECAO8P7u7g5f8ANAECAPAOzc3Bxf8AQwECAO8Oi4uDhv8AUgECAED//Hz8AP8AXAECACYx///6zf8AaQECACYx///6zf8AdwECACUy7u7pv/8AhQECACYxzc3Jpf8AkwECACcxi4uJcP8AoQECAIk/5q3Y5v8AqwECAIpA/7/v//8AtgECAIpA7rLf7v8AwQECAIo/zZrAzf8AzAECAIlAi2iDi/8A1wECAAB38PCAgP8A4gECAH8f/+D///8A7AECAH8f/+D///8A9wECAH8f7tHu7v8AAgICAH8fzbTNzf8ADQICAH8fi3qLi/8AGAICACNz7u7dgv8AJwICACN0///si/8ANwICACNz7u7cgv8ARwICACNzzc2+cP8AVwICACNzi4uBTP8AZwICACoo+vr60v8AfAICAAAA09PT0/8AhgICAAAA09PT0/8AkAICAPhJ//+2wf8AmgICAPlR//+uuf8ApQICAPhR7u6irf8AsAICAPlQzc2Mlf8AuwICAPlQi4tfZf8AxgICAAyE//+gev8A0gICAAyE//+gev8A3wICAAuE7u6Vcv8A7AICAAyFzc2BYv8A+QICAAyFi4tXQv8ABgMCAH3RsiCyqv8AFAMCAI91+ofO+v8AIQMCAI9P/7Di//8ALwMCAI9P7qTT7v8APQMCAI5PzY22zf8ASwMCAI9Oi2B7i/8AWQMCAK+P/4Rw//8AaAMCAJQ4mXeImf8AdwMCAJQ4mXeImf8AhgMCAJc03rDE3v8AlQMCAJc1/8rh//8ApQMCAJc17rzS7v8AtQMCAJc1zaK1zf8AxQMCAJY1i257i/8A1QMCACof////4P8A4QMCACof////4P8A7gMCACof7u7u0f8A+wMCACofzc3NtP8ACAQCACofi4uLev8AFQQCAFXAzTLNMv8AHwQCABUU+vrw5v8AJQQCANT///8A//8ALQQCANT///8A//8ANgQCANT/7u4A7v8APwQCANT/zc0Azf8ASAQCANT/i4sAi/8AUQQCAO+5sLAwYP8AWAQCAOTL//80s/8AYAQCAOTL7u4wp/8AaAQCAOTMzc0pkP8AcAQCAOTLi4scYv8AeAQCAHGAzWbNqv8AiQQCAKr/zQAAzf8AlAQCAMyY07pV0/8AoQQCAMuZ/+Bm//8ArwQCAMuZ7tFf7v8AvQQCAMuZzbRSzf8AywQCAMuai3o3i/8A2QQCALd825Nw2/8A5gQCALd9/6uC//8A9AQCALd97p957v8AAgUCALd9zYlozf8AEAUCALd8i11Hi/8AHgUCAGepszyzcf8ALQUCALCP7nto7v8APQUCAG//+gD6mv8ATwUCAH2n0UjRzP8AXwUCAOTkx8cVhf8AbwUCAKrGcBkZcP8AfAUCAGoJ//X/+v8AhgUCAAQe///k4f8AkAUCAAQe///k4f8AmwUCAAQe7u7V0v8ApgUCAAMdzc23tf8AsQUCAAUdi4t9e/8AvAUCABpJ///ktf8AxQUCABlR///erf8A0QUCABlR///erf8A3gUCABlS7u7Pof8A6wUCABlSzc2zi/8A+AUCABlSi4t5Xv8ABQYCAKr/gAAAgP8ACgYCAKr/gAAAgP8AEwYCACoA/////gAAGAYCABsX/f315v8AIAYCADjAjmuOI/8AKgYCADjB/8D/Pv8ANQYCADjA7rPuOv8AQAYCADjAzZrNMv8ASwYCADjAi2mLIv8AVgYCABv///+lAP8AXQYCABv///+lAP8AZQYCABv/7u6aAP8AbQYCABv/zc2FAP8AdQYCABv/i4taAP8AfQYCAAv///9FAP8AhwYCAAv///9FAP8AkgYCAAv/7u5AAP8AnQYCAAv/zc03AP8AqAYCAAv/i4slAP8AswYCANZ72tpw1v8AugYCANZ8//+D+v8AwgYCANZ87u566f8AygYCANZ8zc1pyf8A0gYCANV8i4tHif8A2gYCACZI7u7oqv8A6AYCAFVk+5j7mP8A8gYCAFVl/5r/mv8A/QYCAFVk7pDukP8ACAcCAFVkzXzNfP8AEwcCAFVki1SLVP8AHgcCAH9D7q/u7v8ALAcCAH9E/7v///8AOwcCAH9E7q7u7v8ASgcCAH9EzZbNzf8AWQcCAH9Di2aLi/8AaAcCAPF829twk/8AdgcCAPF9//+Cq/8AhQcCAPF97u55n/8AlAcCAPF9zc1oif8AowcCAPF8i4tHXf8AsgcCABop///v1f8AvQcCABRG///auf8AxwcCABRG///auf8A0gcCABNF7u7Lrf8A3QcCABNFzc2vlf8A6AcCABRFi4t3Zf8A8wcCABSwzc2FP/8A+AcCAPc////Ay/8A/QcCAPVJ//+1xf8AAwgCAPVJ7u6puP8ACQgCAPVKzc2Rnv8ADwgCAPVJi4tjbP8AFQgCANRG3d2g3f8AGggCANRE//+7//8AIAgCANRE7u6u7v8AJggCANREzc2Wzf8ALAgCANRDi4tmi/8AMggCAIQ75rDg5v8APQgCAMTd8KAg8P8ARAgCAL/P/5sw//8ATAgCAMDP7pEs7v8AVAgCAMDPzX0mzf8AXAgCAMDPi1Uai/8AZAgCAAD///8AAP8AaAgCAAD///8AAP8AbQgCAAD/7u4AAP8AcggCAAD/zc0AAP8AdwgCAAD/i4sAAP8AfAgCAAA9vLyPj/8AhggCAAA+///Bwf8AkQgCAAA+7u60tP8AnAgCAAA+zc2bm/8ApwgCAAA+i4tpaf8AsggCAJ+14UFp4f8AvAgCAJ+3/0h2//8AxwgCAJ+37kNu7v8A0ggCAJ+2zTpfzf8A3QgCAJ+3iydAi/8A6AgCABHci4tFE/8A9AgCAASK+vqAcv8A+wgCAAmW//+Maf8AAwkCAAmW7u6CYv8ACwkCAAmWzc1wVP8AEwkCAAmWi4tMOf8AGwkCABOa9PSkYP8AJgkCAGeqiy6LV/8ALwkCAGer/1T/n/8AOQkCAGer7k7ulP8AQwkCAGerzUPNgP8ATQkCAGeqiy6LV/8AVwkCABEQ///17v8AYAkCABEQ///17v8AagkCABIR7u7l3v8AdAkCABIRzc3Fv/8AfgkCABIQi4uGgv8AiAkCAA23oKBSLf8AjwkCAA24//+CR/8AlwkCAA247u55Qv8AnwkCAA24zc1oOf8ApwkCAA25i4tHJv8ArwkCAIts64fO6/8AtwkCAJB4/4fO//8AwAkCAJB47n7A7v8AyQkCAJB4zWymzf8A0gkCAJF3i0pwi/8A2wkCAK+PzWpazf8A5QkCAK+Q/4Nv//8A8AkCAK+Q7npn7v8A+wkCAK+QzWlZzf8ABgoCAK+Qi0c8i/8AEQoCAJQ4kHCAkP8AGwoCAJU4/8bi//8AJgoCAJU47rnT7v8AMQoCAJQ5zZ+2zf8APAoCAJU4i2x7i/8ARwoCAJQ4kHCAkP8AUQoCAAAF///6+v8AVgoCAAAF///6+v8AXAoCAAAF7u7p6f8AYgoCAAAEzc3Jyf8AaAoCAAADi4uJif8AbgoCAGr//wD/f/8AegoCAGr//wD/f/8AhwoCAGr/7gDudv8AlAoCAGr/zQDNZv8AoQoCAGr/iwCLRf8ArgoCAJKbtEaCtP8AuAoCAJKc/2O4//8AwwoCAJKc7lys7v8AzgoCAJKczU+Uzf8A2QoCAJObizZki/8A5AoCABhU0tK0jP8A6AoCABSw//+lT/8A7QoCABSw7u6aSf8A8goCABSwzc2FP/8A9woCABSwi4taK/8A/AoCANQd2Ni/2P8ABAsCANQe///h//8ADQsCANQe7u7S7v8AFgsCANQdzc21zf8AHwsCANQdi4t7i/8AKAsCAAa4//9jR/8ALwsCAAa4//9jR/8ANwsCAAa47u5cQv8APwsCAAa4zc1POf8ARwsCAAa5i4s2Jv8AmQwCACoA/////gAATwsCAHu24EDg0P8AWQsCAIH//wD1//8AZAsCAIH/7gDl7v8AbwsCAIH/zQDFzf8AegsCAIH/iwCGi/8AhQsCANRz7u6C7v8AjAsCAOPX0NAgkP8AlgsCAOvB//8+lv8AoQsCAOvA7u46jP8ArAsCAOvAzc0yeP8AtwsCAOvAi4siUv8AwgsCABtE9fXes/8AyAsCABtF///nuv8AzwsCABtE7u7Yrv8A1gsCABtEzc26lv8A3QsCABtDi4t+Zv8A5AsCAAAA//////8A6gsCAAAA9fX19f8A9QsCACr/////AP8A/AsCACr/////AP8ABAwCACr/7u7uAP8ADAwCACr/zc3NAP8AFAwCACr/i4uLAP8AHAwCADjAzZrNMv8AkBACAHUgAgCsDAIArgwCALAMAgCyDAIAtAwCALYMAgC4DAIAugwCALwMAgC/DAIAwgwCAMUMAgDIDAIAywwCAM4MAgDRDAIA1AwCANcMAgDaDAIAAAAAAAQAAAAEAAAACwAAADYAAAAWAAAAAAAAAAAAAAAAAAAACAAAABAAAAAYAAAAAAAAAAAAAAAXAAAAAAAAAAAAAAAAAAAACAAAABAAAAAYAAAAAAAAAAAAAAAYAAAAAAAAAAAAAAAAAAAACAAAAAQAAAAAAAAAAAAAADcAAAAAAAAAAAAAAAAAAAAAAAAACAAAAAQAAAAAAAAAAAAAADgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADgAAAAAAAAAAAAAAAAAAAAAAAAAvBkCAAkAAADCGQIACgAAAMsZAgALAAAADRoCAAwAAAATGgIADQAAABgaAgAOAAAAyxkCAA8AAACgGgIAEAAAAKcaAgARAAAArxoCABIAAAC2GgIAEwAAAMIaAgAUAAAADRoCABUAAADOGgIAFgAAANYaAgAXAAAA4BoCABgAAADuGgIAGQAAAPUaAgAaAAAA+hoCABsAAAD9GgIAHAAAAAIbAgAdAAAAChsCAB4AAAAQGwIAHwAAABYbAgAgAAAAHRsCACEAAAAjGwIAIQAAACsbAgAiAAAAMhsCACMAAADLGQIAJAAAAKcaAgARAAAArxoCABIAAAApHQIAJQAAALYaAgATAAAAwhoCABQAAAANGgIAFQAAADQdAgAmAAAA1hoCABcAAADgGgIAGAAAAO4aAgAZAAAA9RoCABoAAAD6GgIAGwAAAP0aAgAcAAAAPB0CACcAAAAKGwIAHgAAABAbAgAfAAAAFhsCACAAAAAdGwIAIQAAACMbAgAhAAAAKxsCACIAAAAyGwIAIwAAABkAAAAaAAAAGwAAABwAAAAdAAAAHgAAAB8AAAAoAAAAKQAAACAAAAAqAAAADAAAABkAAAAhAAAABAAAAAUAAAABAAAAAAAAAAAAAAAAAAAAABUKAAAJAAAAAAAAAAAAAAAAAAAAAAAAFRAMExweAw0fICEiIxsaERkZGRkZGRkZGRkWEgIOCw8cGBgYGBgYFhYWFhYWFhYWFhYWFhYWFhYWFhYUHAQcFhwYGBgYGBgWFhYWFhYWFhYWFhYWFhYWFhYWFhwkHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcFhwcHBwcHBwcHBwWHBocHBYcHBwcHBYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWHBYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYcFhYWFhYWFhYAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP//////////////////////////////////////////AAAAAAAAAAT+//+H/v//BwAAAAAAAAAA//9/////f//////////zf/79//////9///////////8P4P////8x/P///wAAAAAAAAD//////////////wEA+AMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEDX///7/////39/VP3/DwD+3////////////t//////AwD///////+fGf///88/AwAAAAAAAP7///9/Av7///9/AAAAAAAAAAAA////BwcAAAAAAP7//wf+BwAAAAD+//////////98/38vAGAAAADg////////IwAAAP8DAAAA4J/5///9xQMAAACwAwADAOCH+f///W0DAAAAXgAAHADgr/v///3tIwAAAAABAAAA4J/5///9zSMAAACwAwAAAODHPdYYx78DAAAAAAAAAADg3/3///3vAwAAAAADAAAA4N/9///97wMAAABAAwAAAODf/f///f8DAAAAAAMAAAAAAAAAAAAAAAAAAAAAAAAA/v////9/DQA/AAAAAAAAAJYl8P6ubA0gHwAAAAAAAAAAAAAAAAAAAP/+////AwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA/////z8A/////38A7doHAAAAAFABUDGCq2IsAAAAAEAAyYD1BwAAAAAIAQL/////////////////////////D///////////////A///Pz//////Pz//qv///z/////////fX9wfzw//H9wfAAAAAEBMAAAAAAAAAAAAAAcAAAAAAAAAAAAAAAAAAACAAAAA/gMAAP7///////////8fAP7/////////////B+D/////HwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA//////////////////////////8/AAAAAAAAAAAAAAD//////////////////////////w8AAAAAAAAAAAAAAAAAAAAAYP8H/v//h/7//wcAAAAAAACAAP//f////3//////AAAAAAAAAP//////////////AQD4AwADAAAAAAD//////////z8AAAADAAAAwNf///v/////f39U/f8PAP7f///////////+3/////97AP///////58Z////zz8DAAAAAAAA/v///38C/v///38A/v/7//+7FgD///8HBwAAAAAA/v//B///BwD/A////////////3z/f+///z3/A+7////////z/z8e/8//AADun/n///3F0585gLDP/wMA5If5///9bdOHOQBewP8fAO6v+////e3zvzsAAMH/AADun/n///3N8485wLDD/wAA7Mc91hjHv8PHPYAAgP8AAO7f/f///e/D3z1gAMP/AADs3/3///3vw989YEDD/wAA7N/9///9/8PPPYAAw/8AAAAAAAAAAAAAAAAAAAAAAAD+/////3//B/9//wMAAAAAliXw/q5s/ztfP/8DAAAAAAAAAAP/A6DC//7///8D/v/fD7/+/z/+AgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD/HwIAAACgAAAA/v8+AP7///////////8fZv7/////////////dxkAAAAaAAAAGwAAABwAAAAdAAAAHgAAAB8AAAAoAAAAKQAAACAAAAAqAAAADAAAABkAAAAhAAAABgAAAAcAAAABAAAAAQAAAAAAAAAAAAAAABUKAAAVAAAAAAAAAAAAAAAAAAAAAAAAFRAMExweAw0fICEiIxsaERkZGRkZGRkZGRkWEgIOCw8cGBgYGBgYFhYWFhYWFhYWFhYWFhYWFhYWFhYUHAQcFhwYGBgYGBgWFhYWFhYWFhYWFhYWFhYWFhYWFhwkHBwcCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBgYGBgYGBgYGBgYGBgYGBgcHBwcHAAAAAAAAAAAAAQErAAAALAAAAC0AAAAuAAAALwAAAC0AAAAwAAAAMQAAADIAAAAZAAAAGgAAABsAAAAcAAAAHQAAAB4AAAAfAAAAKAAAACkAAAAgAAAAKgAAAAwAAAAZAAAAIQAAAAYAAAAHAAAAAQAAAAEAAAAAAAAAAAAAAAAVCgAACQAAAAAAAAAAAAAAAAAAAAAAABUQDBMcHgMNHyAhIiMbGhEZGRkZGRkZGRkZFhICDgsPHBgYGBgYGBYWFhYWFhYWFhYWFhYWFhYWFhYWFBwEHBYcGBgYGBgYFhYWFhYWFhYWFhYWFhYWFhYWFhYcJBwcHAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQYGBgYGBgYGBgYGBgYGBgYHBwcHBwAAAAAAAAAAAAEBKwAAACwAAAAtAAAALgAAAC8AAAAtAAAAMAAAADEAAAAyAAAAmNwAAPjlAABw5AAAZOcAAGTnAADQ6AAAcOQAABkAAAAaAAAAGwAAABwAAAAdAAAAHgAAAB8AAAAoAAAAKQAAACAAAAAqAAAADAAAABkAAAAhAAAACAAAAAUAAAABAAAAAQAAAAAAAAAAAAAAABUKAAAJAAAAAAAAAAAAAAAAAAAAAAAAFRAMExweAw0fICEiIxsaERkZGRkZGRkZGRkWEgIOCw8cGBgYGBgYFhYWFhYWFhYWFhYWFhYWFhYWFhYUHAQcFhwYGBgYGBgWFhYWFhYWFhYWFhYWFhYWFhYWFhwkHBwcAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAiAAAAIwAAACQAAAAlAAAAJgAAACcAAAAoAAAAMwAAADQAAAApAAAANQAAAA0AAAAaAAAAKgAAAAkAAAAKAAAAAgAAAAAAAAAAAAAAAAAAAAAVCgAACQAAAAAAAAAAAAAAAAAAAAAAABUQDBMcHgMNHyAhIiMbGhEZGRkZGRkZGRkZFhICDgsPHBgYGBgYGBYWFhYWFhYWFhYWFhYWFhYWFhYWFBwEHBYcGBgYGBgYFhYWFhYWFhYWFhYWFhYWFhYWFhYcJBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBYcHBwcHBwcHBwcFhwaHBwWHBwcHBwWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhwWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWHBYWFhYWFhYWAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAKwAAACwAAAAtAAAALgAAAC8AAAAwAAAAMQAAADYAAAA3AAAAMgAAADgAAAAOAAAAGwAAADMAAAALAAAADAAAAAIAAAAAAQAAAAAAAAAAAAAAFQoAAAkAAAAAAAAAAAAAAAAAAAAAAAAVEAwTHB4DDR8gISIjGxoRGRkZGRkZGRkZGRYSAg4LDxwYGBgYGBgWFhYWFhYWFhYWFhYWFhYWFhYWFhQcBBwWHBgYGBgYGBYWFhYWFhYWFhYWFhYWFhYWFhYWHCQcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwWHBwcHBwcHBwcHBYcGhwcFhwcHBwcFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYcFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhwWFhYWFhYWFgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP2BAQCoJwIAgYIBALEnAgC4JwIAwScCABkAAAAaAAAAGwAAABwAAAAdAAAAHgAAAB8AAAAoAAAAKQAAACAAAAAqAAAADAAAABkAAAAhAAAABgAAAAcAAAABAAAAAQAAAAAAAAAAAAAAABUKAAAVAAAAAAAAAAAAAAAAAAAAAAAAFRAMExweAw0fICEiIxsaERkZGRkZGRkZGRkXEgIOCw8cGBgYGBgYFhYWFhYWFhYWFhYWFhYWFhYWFhYUHAQcFhwYGBgYGBgWFhYWFhYWFhYWFhYWFhYWFhYWFhwkHBwcCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBgYGBgYGBgYGBgYGBgYGBgcHBwcHAAAAAAAAAAAAAQErAAAALAAAAC0AAAAuAAAALwAAAC0AAAAwAAAAMQAAADIAAADc6wAASO0AALTuAAAg8AAAIPAAAIzxAAC07gAAGQAAABoAAAAbAAAAHAAAAB0AAAAeAAAAHwAAACgAAAApAAAAIAAAACoAAAAMAAAAGQAAACEAAAAEAAAABQAAAAEAAAAAAAAAAAAAAAAAAAAAFQoAAAkAAAAAAAAAAAAAAAAAAAAAAAAVEAwTHB4DDR8gISIjGxoRGRkZGRkZGRkZGRcSAg4LDxwYGBgYGBgWFhYWFhYWFhYWFhYWFhYWFhYWFhQcBBwWHBgYGBgYGBYWFhYWFhYWFhYWFhYWFhYWFhYWHCQcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwWHBwcHBwcHBwcHBYcGhwcFhwcHBwcFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYcFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhwWFhYWFhYWFgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABkAAAAaAAAAGwAAABwAAAAdAAAAHgAAAB8AAAAoAAAAKQAAACAAAAAqAAAADAAAABkAAAAhAAAACAAAAAUAAAABAAAAAQAAAAAAAAAAAAAAABUKAAAJAAAAAAAAAAAAAAAAAAAAAAAAFRAMExweAw0fICEiIxsaERkZGRkZGRkZGRkXEgIOCw8cGBgYGBgYFhYWFhYWFhYWFhYWFhYWFhYWFhYUHAQcFhwYGBgYGBgWFhYWFhYWFhYWFhYWFhYWFhYWFhwkHBwcAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAZAAAAGgAAABsAAAAcAAAAHQAAAB4AAAAfAAAAKAAAACkAAAAgAAAAKgAAAAwAAAAZAAAAIQAAAAYAAAAHAAAAAQAAAAEAAAAAAAAAAAAAAAAVCgAACQAAAAAAAAAAAAAAAAAAAAAAABUQDBMcHgMNHyAhIiMbGhEZGRkZGRkZGRkZFxICDgsPHBgYGBgYGBYWFhYWFhYWFhYWFhYWFhYWFhYWFBwEHBYcGBgYGBgYFhYWFhYWFhYWFhYWFhYWFhYWFhYcJBwcHAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQYGBgYGBgYGBgYGBgYGBgYHBwcHBwAAAAAAAAAAAAEBKwAAACwAAAAtAAAALgAAAC8AAAAtAAAAMAAAADEAAAAyAAAAIgAAACMAAAAkAAAAJQAAACYAAAAnAAAAKAAAADMAAAA0AAAAKQAAADUAAAANAAAAGgAAACoAAAAJAAAACgAAAAIAAAAAAAAAAAAAAAAAAAAAFQoAAAkAAAAAAAAAAAAAAAAAAAAAAAAVEAwTHB4DDR8gISIjGxoRGRkZGRkZGRkZGRcSAg4LDxwYGBgYGBgWFhYWFhYWFhYWFhYWFhYWFhYWFhQcBBwWHBgYGBgYGBYWFhYWFhYWFhYWFhYWFhYWFhYWHCQcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwWHBwcHBwcHBwcHBYcGhwcFhwcHBwcFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYcFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhwWFhYWFhYWFgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACsAAAAsAAAALQAAAC4AAAAvAAAAMAAAADEAAAA2AAAANwAAADIAAAA4AAAADgAAABsAAAAzAAAACwAAAAwAAAACAAAAAAEAAAAAAAAAAAAAABUKAAAJAAAAAAAAAAAAAAAAAAAAAAAAFRAMExweAw0fICEiIxsaERkZGRkZGRkZGRkXEgIOCw8cGBgYGBgYFhYWFhYWFhYWFhYWFhYWFhYWFhYUHAQcFhwYGBgYGBgWFhYWFhYWFhYWFhYWFhYWFhYWFhwkHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcFhwcHBwcHBwcHBwWHBocHBYcHBwcHBYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWHBYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYcFhYWFhYWFhYAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABTKAIAWSgCAFwoAgBiKAIA/CcCAGkoAgByKAIAeigCADTzAAAUAAAAQy5VVEYtOAAAAAAAAAAAAAAAAADeEgSVAAAAAP///////////////wIAAMADAADABAAAwAUAAMAGAADABwAAwAgAAMAJAADACgAAwAsAAMAMAADADQAAwA4AAMAPAADAEAAAwBEAAMASAADAEwAAwBQAAMAVAADAFgAAwBcAAMAYAADAGQAAwBoAAMAbAADAHAAAwB0AAMAeAADAHwAAwAAAALMBAADDAgAAwwMAAMMEAADDBQAAwwYAAMMHAADDCAAAwwkAAMMKAADDCwAAwwwAAMMNAADTDgAAww8AAMMAAAy7AQAMwwIADMMDAAzDBAAM0xj0AAAJAAAAAAAAAAAAAAARAAAAAAAAAAAAAAAAAAAAAAAAAA8AAAAAAAAAEAAAAPTtAgAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA/////wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAmPQAAAUAAAAAAAAAAAAAABEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABEAAAAQAAAA/PECAAAEAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAr/////AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACY9AAAHPUAAAUAAAAAAAAAAAAAABEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABIAAAAQAAAABPYCAAAAAAAAAAAAAAAAAAIAAAAAAAAAAAAAAAAAAP//////AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAJDcAgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAwAAAAQAAAAEAAAABgAAAIP5ogBETm4A/CkVANFXJwDdNPUAYtvAADyZlQBBkEMAY1H+ALveqwC3YcUAOm4kANJNQgBJBuAACeouAByS0QDrHf4AKbEcAOg+pwD1NYIARLsuAJzphAC0JnAAQX5fANaROQBTgzkAnPQ5AItfhAAo+b0A+B87AN7/lwAPmAUAES/vAApaiwBtH20Az342AAnLJwBGT7cAnmY/AC3qXwC6J3UA5evHAD178QD3OQcAklKKAPtr6gAfsV8ACF2NADADVgB7/EYA8KtrACC8zwA29JoA46kdAF5hkQAIG+YAhZllAKAUXwCNQGgAgNj/ACdzTQAGBjEAylYVAMmocwB74mAAa4zAACAAAAAJAAAACgAAAA0AAAALAAAADAAAAIUAAAAAIAAAASAAAAIgAAADIAAABCAAAAUgAAAGIAAACCAAAAkgAAAKIAAAKCAAACkgAABfIAAAADAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAATAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD//////wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACgAAAGQAAADoAwAAECcAAKCGAQBAQg8AgJaYAADh9QVfcIkA/wkvD3QAAADzSwIAbgAAAPVLAgByAAAA90sCAGYAAAD5SwIAYQAAAPtLAgBlAAAA/UsCAHcAAAD/SwIAVwAAAAxMAgBzAAAAGkwCAFMAAAAmTAIAZAAAADNMAgBEAAAAP0wCAAAAAAAAAAAAAAAAAAAABAAEABsAGwAgACAAIwAhAAoAAgAWAAkAIQAhACEAFQAcAAEAFAAUABQAFAAUABQAFAAIAAQABQAbAAIAFwAbACAAHwAeAB0ACQATAAAAFQASABUAAwAHABUAFQAUABQAFAAUABQAFAAUABQACAAEAAUABQAGABsAGgAYABkAIAAHABUAFAAUABQAFAAUABQACwAUAA0AFAAMABQAFAAUAA4AFAAUABQAEAAUAA8AFAARAAAAAAAAAK4ALgAvADMANQAwADcAqgDbANsA2wDbAAAAPQCHADcANwDbANsAAAAoADUALgAyAC8AYgAAAAAARwAAAAAA2wBRAAAA2wDbANsAAADbAIQAVQDbAIIA2wAAAIEA2wAAAD4AQgBBAEgARABSAFsAAAAAAF4AXwDbAAAA2wDbANsAAAAAAHsASQBXAFIAWgBaAF0AAABfAAAAXwAAAGUAXQBfAAAAXQBuAGoAAABpAAAAbgAAANsAkwCaAKEAqACrAHAAsQC4AL8AxgDNANMAAAABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQADAAQABwADAAQABQAFAAYABgAIAAcABwARABYAEgARABIACAAIAA8ADwAXAA8AGAAPABkAGgAaAB4AFgA0AB4ABQAyAAYAIgAiADMAFwAYADUAGQAaABoAKgA2ACoANAA3ADIARQA7ADwAMwA7ADwARgA1AEcASABMADYAIgBJAEoANwBFAE4AUABiAFEAUgBUAEYARwBVAEgATABWAEkASgBYAFoATgBEAFAAUQBSAFQAOAAvACwAVQApAFYAGwAQAFgAWgBdAF0AXQBdAF0AXQBdAF4AXgBeAF4AXgBeAF4AXwBfAF8AXwBfAF8AXwBgAAkAYABgAGAAYABgAGEAYQBjAAIAYwBjAGMAYwBjAGQAAABkAAAAZABkAGQAZQAAAGUAZQBlAGUAZQBmAGYAAABmAGYAZgBmAGcAAABnAGcAZwBnAGgAAABoAGgAaABoAGgAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXAAAAFwAAQBdAF0AXgBeAF8AXwBcAFwAXABcAFwAYABcAFwAXABhAFwAXABiAGIAYgBiAGIAYgBiAGMAZABlAGYAZgBcAFwAZwBcAFwAXABgAFwAXABhAFwAYQBcAGgAYQBcAGIAYgBiAGIAYgBiAGIAYgBjAGQAZQBlAFwAZgBcAFwAXABnAGgAYQBiAGIAYgBiAGIAYgBiAGIAYgBiAGIAYgBiAGIAYgBiAGIAYgBiAGIAYgBiAGIAAABcAFwAXABcAFwAXABcAFwAXABcAFwAXAAAAAoACwAMAA0ADgAKAA8AEAARABIAEwAKABQAFQAVABUAFgAXABUAGAAVABUAGQAVABUAFQAaABUAFQAKABUAFQAVABYAFwAYABUAFQAZABUAFQAVABoAFQAVABUAFQAbAAwADAAkAB4AHgAgACEAIAAhACQAJQAmAC0AMgAvAC4AKgAlACYAKAApADMAKgA0ACsANQA2ADcAPAAyAEcAPQAiAEUAIgA/AEAARgAzADQASAA1ADYANwAvAEkAKgBHAEoARQBMAFwAPABGAFwAPQBNAEgATgBPAFIASQBBAFAAUQBKAEwAUwBUADEAVQBWAFcATQBOAFgATwBSAFkAUABRAFoAWwBTAEQAVABVAFYAVwBLAEQALABYACwAWQA4ACwAWgBbAB0AHQAdAB0AHQAdAB0AHwAfAB8AHwAfAB8AHwAjACMAIwAjACMAIwAjACcAXAAnACcAJwAnACcAMAAwADkAHAA5ADkAOQA5ADkAOgBcADoAXAA6ADoAOgA7AFwAOwA7ADsAOwA7AD4APgBcAD4APgA+AD4AQgBcAEIAQgBCAEIAQwBcAEMAQwBDAEMAQwAJAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAAgArv/RAAoArv+u/wsArv+u/67/rv+u/67/rv+u/wUA0QCu/9EA0QDRANEA0QDRANEA0QCu//v/rv8OAOz/rv+u/67/rv/RANEA0QDRANEADQAlAAwAQgAQAFAAEwBtAHsAFACYAA8ApgDDAK7/rv+u/67/rv+u/67/rv+u/67/rv+u/67/rv+u/67/rv+u/67/rv+u/67/rv+u/xcArv93AK7/BwAuAK7/JgCu/xcAEQAjAK7/DQCu/67/rv+u/zoArv+u/zUArv+u/67/KACu/wcArv87AEUArv9IAK7/rv+u/67/rv+u/67//P/oAPb///8aAAAAJwABADIArv+u/wIAJAADAC8Arv+u/67/rv+u//7/lACu/wkAGwCu/7z/rv+u/6//rv+u/67/rv+u/67/rv8AAAAAAABt5uzeBQALAEkAMQFTAH8BMAFpAHgB/wCBAVMCggGDAYQBhQGGAVQChwGIAYkBVgKKAVcCiwGMAY4B3QGPAVkCkAFbApEBkgGTAWAClAFjApYBaQKXAWgCmAGZAZwBbwKdAXICnwF1AqYBgAKnAagBqQGDAqwBrQGuAYgCrwGwAbEBigKyAYsCtwGSArgBuQG8Ab0BxAHGAcQBxQHFAcYBxwHJAccByAHIAckBygHMAcoBywHLAcwB8QHzAfEB8gHyAfMB9AH1AfYBlQH3Ab8BIAKeAYYDrAOIA60DiQOuA4oDrwOMA8wDjgPNA48DzgOZA0UDmQO+H6MDwgP3A/gD+gP7A2Aemx6eHt8AWR9RH1sfUx9dH1UfXx9XH7wfsx/MH8Mf7B/lH/wf8x86AmUsOwI8Aj0CmgE+AmYsQQJCAkMCgAFEAokCRQKMAvQDuAP5A/ID/QN7A/4DfAP/A30DwATPBCYhyQMqIWsAKyHlADIhTiGDIYQhYCxhLGIsawJjLH0dZCx9Am0sUQJuLHECbyxQAnAsUgJyLHMsdSx2LH4sPwJ/LEAC8izzLH2neR2Lp4ynjadlAqqnZgLHECctzRAtLXYDdwOcA7UAkgPQA5gD0QOmA9UDoAPWA5oD8AOhA/EDlQP1A88D1wMAAAAAQQAgGsAAIB8AAQEvMgEBBTkBAQ9KAQEteQEBBXADAQORAyARowMgCQAEUBAQBCAgYAQBIYoEATXBBAEN0AQBPxQFARMxBTAmoAEBBbMBAQPNAQEP3gEBEfgBASciAgER2AMBFwAeAZWgHgFfCB/4CBgf+AYoH/gIOB/4CEgf+AZoH/gIiB/4CJgf+AioH/gIuB/4AroftgLIH6oE2B/4AtofnALoH/gC6h+QAvgfgAL6H4ICRgIBCRAFAQNgIRAQACwwL2csAQWALAFj6ywBA0CmAS2ApgEXIqcBDTKnAT15pwEDfqcBCZCnAQOgpwEJIf8gGgAAAAB7IHZhciBwYXRoID0gUG9pbnRlcl9zdHJpbmdpZnkoJDApOyB2YXIgZGF0YSA9IFBvaW50ZXJfc3RyaW5naWZ5KCQxKTsgRlMuY3JlYXRlUGF0aCgiLyIsIFBBVEguZGlybmFtZShwYXRoKSk7IEZTLndyaXRlRmlsZShQQVRILmpvaW4oIi8iLCBwYXRoKSwgZGF0YSk7IH0AY29yZQB4ZG90dmVyc2lvbgAxLjcAMS40ADEuMgBfbGRyYXdfAF9oZHJhd18AX3RkcmF3XwBfaGxkcmF3XwBfdGxkcmF3XwB4ZG90IHZlcnNpb24gIiVzIiB0b28gbG9uZwAgJWQgACUuMDJmACVzJWQgLQAjJTAyeCUwMnglMDJ4JTAyeABzZXRsaW5ld2lkdGgoACUuM2YAUyAAQyAAMiAARSAAZSAARiAAdCAldSAAVCAAZG90OmRvdABndjpkb3QAY2Fub246ZG90AHBsYWluOmRvdABwbGFpbi1leHQ6ZG90AHhkb3Q6eGRvdAB4ZG90MS4yOnhkb3QAeGRvdDEuNDp4ZG90AEkgACJfc3ViZ3JhcGhfY250IjogJWQAIl9ndmlkIjogJWQAImVkZ2VzIjogWwoAIl9ndmlkIjogJWQsCgAidGFpbCI6ICVkLAoAImhlYWQiOiAlZAAib2JqZWN0cyI6IFsKACJub2RlcyI6IFsKACJuYW1lIjogIiVzIgBcIgBcLwBcYgBcZgBcbgBccgBcdAAic3ViZ3JhcGhzIjogWwoAIiVzIjogACIlcyIAQ291bGQgbm90IHBhcnNlIHhkb3QgIiVzIgoAWwoAIm9wIjogIiVjIiwKACJyZWN0IjogWyUuMDNmLCUuMDNmLCUuMDNmLCUuMDNmXQoAIm9wIjogIkwiLAoAIm9wIjogIlQiLAoAInB0IjogWyUuMDNmLCUuMDNmXSwKACJhbGlnbiI6ICIlYyIsCgAid2lkdGgiOiAlLjAzZiwKACJ0ZXh0IjogIiVzIgoAImdyYWQiOiAibm9uZSIsCgAiY29sb3IiOiAiJXMiCgAiZ3JhZCI6ICJsaW5lYXIiLAoAImdyYWQiOiAicmFkaWFsIiwKACJvcCI6ICJGIiwKACJzaXplIjogJS4wM2YsCgAiZmFjZSI6ICIlcyIKACJvcCI6ICJTIiwKACJzdHlsZSI6ICIlcyIKACJvcCI6ICJ0IiwKACJmb250Y2hhciI6ICVkCgAicDAiOiBbJS4wM2YsJS4wM2YsJS4wM2ZdLAoAInAxIjogWyUuMDNmLCUuMDNmLCUuMDNmXSwKACJzdG9wcyI6IFsAeyJmcmFjIjogJS4wM2YsICJjb2xvciI6ICIlcyJ9AF0KACJwMCI6IFslLjAzZiwlLjAzZl0sCgAicDEiOiBbJS4wM2YsJS4wM2ZdLAoAInBvaW50cyI6IFsAWyUuMDNmLCUuMDNmXQBkcmF3XwBsZHJhd18AaGRyYXdfAHRkcmF3XwBobGRyYXdfAHRsZHJhd18AImRpcmVjdGVkIjogJXMsCgAic3RyaWN0IjogJXMARHVwbGljYXRlIGNsdXN0ZXIgbmFtZSAiJXMiCgB4ZG90AGpzb24AanNvbjAAZG90X2pzb24AeGRvdF9qc29uAGpzb246anNvbgBqc29uMDpqc29uAGRvdF9qc29uOmpzb24AeGRvdF9qc29uOmpzb24AbiA+PSA0AGd2cmVuZGVyX2NvcmVfZmlnLmMAZmlnX2JlemllcgBmaWdfcmVzb2x2ZV9jb2xvcgBmaWcAZmlnOmZpZwBtYXAAcmVjdCAlcyAlZCwlZCAlZCwlZAoAY2lyY2xlICVzICVkLCVkLCVkCgBwb2x5ICVzACAlZCwlZABndnJlbmRlcl9jb3JlX21hcC5jAG1hcF9vdXRwdXRfc2hhcGUAcmVjdGFuZ2xlICglZCwlZCkgKCVkLCVkKSAlcyAlcwoAPGFyZWEgc2hhcGU9ImNpcmNsZSIAPGFyZWEgc2hhcGU9InJlY3QiADxhcmVhIHNoYXBlPSJwb2x5IgAgaHJlZj0iACB0aXRsZT0iACBhbHQ9IiIAIGNvb3Jkcz0iACVkLCVkLCVkACVkLCVkLCVkLCVkACVkLCVkACwlZCwlZAAiPgoAPC9tYXA+CgBiYXNlIHJlZmVyZXIKAGRlZmF1bHQgADxtYXAgaWQ9IgAiIG5hbWU9IgBpc21hcDptYXAAY21hcDptYXAAaW1hcDptYXAAY21hcHg6bWFwAGltYXBfbnA6bWFwAGNtYXB4X25wOm1hcAAjICVzCgAlZCAlZCAlZCAlZCAlZCAlZCAlZCAlZCAlZCAlLjFmICVkICVkICVkICVkICVkICVkCgAlZCAlZCAlZCAlZCAlZCAlZCAlZCAlZCAlZCAlLjFmICVkICVkICVkICVkCgAlZCAlZCAlZCAlZCAlZCAlZCAlZCAlZCAlZCAlLjNmICVkICUuNGYgJWQgJWQgJWQgJWQgJWQgJWQgJWQgJWQKACVkICVkICMlMDJ4JTAyeCUwMngKAGd2cmVuZGVyX2NvcmVfbXAuYwBtcF9yZXNvbHZlX2NvbG9yACVkICVkICVkICVkICVkICVkICUuMWYgJS40ZiAlZCAlLjFmICUuMWYgJWQgJWQgJXNcMDAxCgAjIGVuZCBvZiBGSUcgZmlsZQoAI0ZJRyAzLjIKACMgR2VuZXJhdGVkIGJ5ICVzIHZlcnNpb24gJXMgKCVzKQoAIyBUaXRsZTogJXMKACMgUGFnZXM6ICVkCgBQb3J0cmFpdAoAQ2VudGVyCgBJbmNoZXMKAExldHRlcgoAMTAwLjAwCgBTaW5nbGUKAC0yCgAxMjAwACAyCgBtcABtcDptcAAgXSAgJWQgdHJ1ZSAlcwoAIF0gICVkIGZhbHNlICVzCgAgc2V0bGluZXdpZHRoCgAlcyAAc2V0aHNiACUuNWcgJS41ZyAlLjVnICVzY29sb3IKACUgAG5ld3BhdGggACBtb3ZldG8KACBsaW5ldG8KAHN0cm9rZQoAIGN1cnZldG8KAGNsb3NlcGF0aCBmaWxsCgBjbG9zZXBhdGggc3Ryb2tlCgAgZWxsaXBzZV9wYXRoIGZpbGwKACBlbGxpcHNlX3BhdGggc3Ryb2tlCgAgLyVzIHNldF9mb250CgAgbW92ZXRvIAAgJXMgYWxpZ25lZHRleHQKAFsgL1JlY3QgWyAAIF0KACAgL0JvcmRlciBbIDAgMCAwIF0KICAvQWN0aW9uIDw8IC9TdWJ0eXBlIC9VUkkgL1VSSSAlcyA+PgogIC9TdWJ0eXBlIC9MaW5rCi9BTk4gcGRmbWFyawoAZ3NhdmUKACUlICVzCgAwIDAgMCBlZGdlY29sb3IKAGVuZHBhZ2UKc2hvd3BhZ2UKZ3Jlc3RvcmUKACUlUGFnZVRyYWlsZXIKACUlJSVFbmRQYWdlOiAlZAoAJSUlJVBhZ2U6ICVkICVkCgAlJSUlUGFnZUJvdW5kaW5nQm94OiAlZCAlZCAlZCAlZAoATGFuZHNjYXBlAFBvcnRyYWl0ACUlJSVQYWdlT3JpZW50YXRpb246ICVzCgA8PCAvUGFnZVNpemUgWyVkICVkXSA+PiBzZXRwYWdlZGV2aWNlCgAlZCAlZCAlZCBiZWdpbnBhZ2UKAGdzYXZlCiVkICVkICVkICVkIGJveHByaW0gY2xpcCBuZXdwYXRoCgAlZyAlZyBzZXRfc2NhbGUgJWQgcm90YXRlICVnICVnIHRyYW5zbGF0ZQoAY2FudmFzIHNpemUgKCVkLCVkKSBleGNlZWRzIFBERiBsaW1pdCAoJWQpCgkoc3VnZ2VzdCBzZXR0aW5nIGEgYm91bmRpbmcgYm94IHNpemUsIHNlZSBkb3QoMSkpCgBbIC9Dcm9wQm94IFslZCAlZCAlZCAlZF0gL1BBR0VTIHBkZm1hcmsKACVkICVkIHNldGxheWVyCgAlJSUlVGl0bGU6ICVzCgAlJVBhZ2VzOiAoYXRlbmQpCgAlJVBhZ2VzOiAxCgAlJUJvdW5kaW5nQm94OiAoYXRlbmQpCgAlJSUlQm91bmRpbmdCb3g6ICVkICVkICVkICVkCgAlJUVuZENvbW1lbnRzCnNhdmUKAHNldHVwTGF0aW4xCgBbIHtDYXRhbG9nfSA8PCAvVVJJIDw8IC9CYXNlICVzID4+ID4+Ci9QVVQgcGRmbWFyawoAJSVCZWdpblByb2xvZwAvRG90RGljdCAyMDAgZGljdCBkZWYARG90RGljdCBiZWdpbgAvc2V0dXBMYXRpbjEgewBtYXJrAC9FbmNvZGluZ1ZlY3RvciAyNTYgYXJyYXkgZGVmACBFbmNvZGluZ1ZlY3RvciAwAElTT0xhdGluMUVuY29kaW5nIDAgMjU1IGdldGludGVydmFsIHB1dGludGVydmFsAEVuY29kaW5nVmVjdG9yIDQ1IC9oeXBoZW4gcHV0ACUgU2V0IHVwIElTTyBMYXRpbiAxIGNoYXJhY3RlciBlbmNvZGluZwAvc3Rhcm5ldElTTyB7ACAgICAgICAgZHVwIGR1cCBmaW5kZm9udCBkdXAgbGVuZ3RoIGRpY3QgYmVnaW4AICAgICAgICB7IDEgaW5kZXggL0ZJRCBuZSB7IGRlZiB9eyBwb3AgcG9wIH0gaWZlbHNlACAgICAgICAgfSBmb3JhbGwAICAgICAgICAvRW5jb2RpbmcgRW5jb2RpbmdWZWN0b3IgZGVmACAgICAgICAgY3VycmVudGRpY3QgZW5kIGRlZmluZWZvbnQAfSBkZWYAL1RpbWVzLVJvbWFuIHN0YXJuZXRJU08gZGVmAC9UaW1lcy1JdGFsaWMgc3Rhcm5ldElTTyBkZWYAL1RpbWVzLUJvbGQgc3Rhcm5ldElTTyBkZWYAL1RpbWVzLUJvbGRJdGFsaWMgc3Rhcm5ldElTTyBkZWYAL0hlbHZldGljYSBzdGFybmV0SVNPIGRlZgAvSGVsdmV0aWNhLU9ibGlxdWUgc3Rhcm5ldElTTyBkZWYAL0hlbHZldGljYS1Cb2xkIHN0YXJuZXRJU08gZGVmAC9IZWx2ZXRpY2EtQm9sZE9ibGlxdWUgc3Rhcm5ldElTTyBkZWYAL0NvdXJpZXIgc3Rhcm5ldElTTyBkZWYAL0NvdXJpZXItT2JsaXF1ZSBzdGFybmV0SVNPIGRlZgAvQ291cmllci1Cb2xkIHN0YXJuZXRJU08gZGVmAC9Db3VyaWVyLUJvbGRPYmxpcXVlIHN0YXJuZXRJU08gZGVmAGNsZWFydG9tYXJrAH0gYmluZCBkZWYAJSVCZWdpblJlc291cmNlOiBwcm9jc2V0IGdyYXBodml6IDAgMAAvY29vcmQtZm9udC1mYW1pbHkgL1RpbWVzLVJvbWFuIGRlZgAvZGVmYXVsdC1mb250LWZhbWlseSAvVGltZXMtUm9tYW4gZGVmAC9jb29yZGZvbnQgY29vcmQtZm9udC1mYW1pbHkgZmluZGZvbnQgOCBzY2FsZWZvbnQgZGVmAC9JbnZTY2FsZUZhY3RvciAxLjAgZGVmAC9zZXRfc2NhbGUgewAgICAgICAgZHVwIDEgZXhjaCBkaXYgL0ludlNjYWxlRmFjdG9yIGV4Y2ggZGVmACAgICAgICBzY2FsZQAlIHN0eWxlcwAvc29saWQgeyBbXSAwIHNldGRhc2ggfSBiaW5kIGRlZgAvZGFzaGVkIHsgWzkgSW52U2NhbGVGYWN0b3IgbXVsIGR1cCBdIDAgc2V0ZGFzaCB9IGJpbmQgZGVmAC9kb3R0ZWQgeyBbMSBJbnZTY2FsZUZhY3RvciBtdWwgNiBJbnZTY2FsZUZhY3RvciBtdWxdIDAgc2V0ZGFzaCB9IGJpbmQgZGVmAC9pbnZpcyB7L2ZpbGwge25ld3BhdGh9IGRlZiAvc3Ryb2tlIHtuZXdwYXRofSBkZWYgL3Nob3cge3BvcCBuZXdwYXRofSBkZWZ9IGJpbmQgZGVmAC9ib2xkIHsgMiBzZXRsaW5ld2lkdGggfSBiaW5kIGRlZgAvZmlsbGVkIHsgfSBiaW5kIGRlZgAvdW5maWxsZWQgeyB9IGJpbmQgZGVmAC9yb3VuZGVkIHsgfSBiaW5kIGRlZgAvZGlhZ29uYWxzIHsgfSBiaW5kIGRlZgAvdGFwZXJlZCB7IH0gYmluZCBkZWYAJSBob29rcyBmb3Igc2V0dGluZyBjb2xvciAAL25vZGVjb2xvciB7IHNldGhzYmNvbG9yIH0gYmluZCBkZWYAL2VkZ2Vjb2xvciB7IHNldGhzYmNvbG9yIH0gYmluZCBkZWYAL2dyYXBoY29sb3IgeyBzZXRoc2Jjb2xvciB9IGJpbmQgZGVmAC9ub3Bjb2xvciB7cG9wIHBvcCBwb3B9IGJpbmQgZGVmAC9iZWdpbnBhZ2UgewklIGkgaiBucGFnZXMACS9ucGFnZXMgZXhjaCBkZWYACS9qIGV4Y2ggZGVmAAkvaSBleGNoIGRlZgAJL3N0ciAxMCBzdHJpbmcgZGVmAAlucGFnZXMgMSBndCB7AAkJZ3NhdmUACQkJY29vcmRmb250IHNldGZvbnQACQkJMCAwIG1vdmV0bwAJCQkoXCgpIHNob3cgaSBzdHIgY3ZzIHNob3cgKCwpIHNob3cgaiBzdHIgY3ZzIHNob3cgKFwpKSBzaG93AAkJZ3Jlc3RvcmUACX0gaWYAL3NldF9mb250IHsACWZpbmRmb250IGV4Y2gACXNjYWxlZm9udCBzZXRmb250ACUgZHJhdyB0ZXh0IGZpdHRlZCB0byBpdHMgZXhwZWN0ZWQgd2lkdGgAL2FsaWduZWR0ZXh0IHsJCQklIHdpZHRoIHRleHQACS90ZXh0IGV4Y2ggZGVmAAkvd2lkdGggZXhjaCBkZWYACWdzYXZlAAkJd2lkdGggMCBndCB7AAkJCVtdIDAgc2V0ZGFzaAAJCQl0ZXh0IHN0cmluZ3dpZHRoIHBvcCB3aWR0aCBleGNoIHN1YiB0ZXh0IGxlbmd0aCBkaXYgMCB0ZXh0IGFzaG93AAkJfSBpZgAJZ3Jlc3RvcmUAL2JveHByaW0gewkJCQklIHhjb3JuZXIgeWNvcm5lciB4c2l6ZSB5c2l6ZQAJCTQgMiByb2xsAAkJbW92ZXRvAAkJMiBjb3B5AAkJZXhjaCAwIHJsaW5ldG8ACQkwIGV4Y2ggcmxpbmV0bwAJCXBvcCBuZWcgMCBybGluZXRvAAkJY2xvc2VwYXRoAC9lbGxpcHNlX3BhdGggewAJL3J5IGV4Y2ggZGVmAAkvcnggZXhjaCBkZWYACS95IGV4Y2ggZGVmAAkveCBleGNoIGRlZgAJbWF0cml4IGN1cnJlbnRtYXRyaXgACW5ld3BhdGgACXggeSB0cmFuc2xhdGUACXJ4IHJ5IHNjYWxlAAkwIDAgMSAwIDM2MCBhcmMACXNldG1hdHJpeAAvZW5kcGFnZSB7IHNob3dwYWdlIH0gYmluZCBkZWYAL3Nob3dwYWdlIHsgfSBkZWYAL2xheWVyY29sb3JzZXEACVsJJSBsYXllciBjb2xvciBzZXF1ZW5jZSAtIGRhcmtlc3QgdG8gbGlnaHRlc3QACQlbMCAwIDBdAAkJWy4yIC44IC44XQAJCVsuNCAuOCAuOF0ACQlbLjYgLjggLjhdAAkJWy44IC44IC44XQAJXQBkZWYAL2xheWVybGVuIGxheWVyY29sb3JzZXEgbGVuZ3RoIGRlZgAvc2V0bGF5ZXIgey9tYXhsYXllciBleGNoIGRlZiAvY3VybGF5ZXIgZXhjaCBkZWYACWxheWVyY29sb3JzZXEgY3VybGF5ZXIgMSBzdWIgbGF5ZXJsZW4gbW9kIGdldAAJYWxvYWQgcG9wIHNldGhzYmNvbG9yAAkvbm9kZWNvbG9yIHtub3Bjb2xvcn0gZGVmAAkvZWRnZWNvbG9yIHtub3Bjb2xvcn0gZGVmAAkvZ3JhcGhjb2xvciB7bm9wY29sb3J9IGRlZgAvb25sYXllciB7IGN1cmxheWVyIG5lIHtpbnZpc30gaWYgfSBkZWYAL29ubGF5ZXJzIHsACS9teXVwcGVyIGV4Y2ggZGVmAAkvbXlsb3dlciBleGNoIGRlZgAJY3VybGF5ZXIgbXlsb3dlciBsdAAJY3VybGF5ZXIgbXl1cHBlciBndAAJb3IACXtpbnZpc30gaWYAL2N1cmxheWVyIDAgZGVmACUlRW5kUmVzb3VyY2UAJSVFbmRQcm9sb2cAJSVCZWdpblNldHVwADE0IGRlZmF1bHQtZm9udC1mYW1pbHkgc2V0X2ZvbnQAJSAvYXJyb3dsZW5ndGggMTAgZGVmACUgL2Fycm93d2lkdGggNSBkZWYAJSBtYWtlIHN1cmUgcGRmbWFyayBpcyBoYXJtbGVzcyBmb3IgUFMtaW50ZXJwcmV0ZXJzIG90aGVyIHRoYW4gRGlzdGlsbGVyAC9wZGZtYXJrIHdoZXJlIHtwb3B9IHt1c2VyZGljdCAvcGRmbWFyayAvY2xlYXJ0b21hcmsgbG9hZCBwdXR9IGlmZWxzZQAlIG1ha2UgJzw8JyBhbmQgJz4+JyBzYWZlIG9uIFBTIExldmVsIDEgZGV2aWNlcwAvbGFuZ3VhZ2VsZXZlbCB3aGVyZSB7cG9wIGxhbmd1YWdlbGV2ZWx9ezF9IGlmZWxzZQAyIGx0IHsAICAgIHVzZXJkaWN0ICg8PCkgY3ZuIChbKSBjdm4gbG9hZCBwdXQAICAgIHVzZXJkaWN0ICg+PikgY3ZuIChbKSBjdm4gbG9hZCBwdXQAfSBpZgAlJUVuZFNldHVwACUlVHJhaWxlcgoAJSUlJVBhZ2VzOiAlZAoAZW5kCnJlc3RvcmUKACUlRU9GCgAlIVBTLUFkb2JlLTMuMAAgRVBTRi0zLjAKACUlJSVDcmVhdG9yOiAlcyB2ZXJzaW9uICVzICglcykKAHBzMjpwcwA8IS0tIAA8cG9seWxpbmUAIHBvaW50cz0iACIvPgoAIGZpbGw9IgB1cmwoI2xfJWQpAHVybCgjcl8lZCkAIiBmaWxsLW9wYWNpdHk9IiVmACIgc3Ryb2tlPSIAIiBzdHJva2Utd2lkdGg9IgAiIHN0cm9rZS1kYXNoYXJyYXk9IiVzADUsMgAxLDUAIiBzdHJva2Utb3BhY2l0eT0iJWYAZ3ZyZW5kZXJfY29yZV9zdmcuYwBzdmdfcHJpbnRfY29sb3IAPHBhdGgAIGlkPSIAX3AiIAAgZD0iACVjADxkZWZzPgo8cmFkaWFsR3JhZGllbnQgaWQ9InJfJWQiIGN4PSI1MCUlIiBjeT0iNTAlJSIgcj0iNzUlJSIgZng9IiVkJSUiIGZ5PSIlZCUlIj4KADxzdG9wIG9mZnNldD0iMCIgc3R5bGU9InN0b3AtY29sb3I6ADtzdG9wLW9wYWNpdHk6ADEuADsiLz4KADxzdG9wIG9mZnNldD0iMSIgc3R5bGU9InN0b3AtY29sb3I6ADsiLz4KPC9yYWRpYWxHcmFkaWVudD4KPC9kZWZzPgoAPGRlZnM+CjxsaW5lYXJHcmFkaWVudCBpZD0ibF8lZCIgZ3JhZGllbnRVbml0cz0idXNlclNwYWNlT25Vc2UiIAB4MT0iACIgeTE9IgAiIHgyPSIAIiB5Mj0iACIgPgoAPHN0b3Agb2Zmc2V0PSIlLjAzZiIgc3R5bGU9InN0b3AtY29sb3I6ADsiLz4KPC9saW5lYXJHcmFkaWVudD4KPC9kZWZzPgoAPHBvbHlnb24APGVsbGlwc2UAIGN4PSIAIiBjeT0iACIgcng9IgAiIHJ5PSIAPHRleHQAIHRleHQtYW5jaG9yPSJzdGFydCIAIHRleHQtYW5jaG9yPSJlbmQiACB0ZXh0LWFuY2hvcj0ibWlkZGxlIgAgeD0iACIgeT0iACBmb250LWZhbWlseT0iJXMALCVzACBmb250LXdlaWdodD0iJXMiACBmb250LXN0cmV0Y2g9IiVzIgAgZm9udC1zdHlsZT0iJXMiACBmb250LWZhbWlseT0iJXMiACBmb250LXdlaWdodD0iYm9sZCIAIGZvbnQtc3R5bGU9Iml0YWxpYyIAIHRleHQtZGVjb3JhdGlvbj0iACVzb3ZlcmxpbmUAJXNsaW5lLXRocm91Z2gAIGJhc2VsaW5lLXNoaWZ0PSJzdXBlciIAIGJhc2VsaW5lLXNoaWZ0PSJzdWIiACBmb250LXNpemU9IiUuMmYiACBmaWxsPSIlcyIAIGZpbGw9IiMlMDJ4JTAyeCUwMngiAHN2Z190ZXh0c3BhbgA+ADx0ZXh0UGF0aCB4bGluazpocmVmPSIjJXNfcCIgc3RhcnRPZmZzZXQ9IjUwJSUiPgA8dHNwYW4geD0iMCIgZHk9IgAiPgA8L3RzcGFuPjwvdGV4dFBhdGg+ADwvdGV4dD4KADwvZz4KADxnACBpZD0iYV8AIHhsaW5rOmhyZWY9IgAgeGxpbms6dGl0bGU9IgAgdGFyZ2V0PSIAPHRpdGxlPgA8L3RpdGxlPgoAPGcgaWQ9IgBfJXMAIiBjbGFzcz0iJXMAY2xhc3MAIHRyYW5zZm9ybT0ic2NhbGUoACkgcm90YXRlKCVkKSB0cmFuc2xhdGUoACkiPgoAPC9zdmc+CgA8IS0tACBQYWdlczogJWQgLS0+CgA8c3ZnIHdpZHRoPSIlZHB0IiBoZWlnaHQ9IiVkcHQiCgAgdmlld0JveD0iJS4yZiAlLjJmICUuMmYgJS4yZiIAIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIAIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIgA8P3htbCB2ZXJzaW9uPSIxLjAiIGVuY29kaW5nPSJVVEYtOCIgc3RhbmRhbG9uZT0ibm8iPz4KAHN0eWxlc2hlZXQAPD94bWwtc3R5bGVzaGVldCBocmVmPSIAIiB0eXBlPSJ0ZXh0L2NzcyI/PgoAPCFET0NUWVBFIHN2ZyBQVUJMSUMgIi0vL1czQy8vRFREIFNWRyAxLjEvL0VOIgoAICJodHRwOi8vd3d3LnczLm9yZy9HcmFwaGljcy9TVkcvMS4xL0RURC9zdmcxMS5kdGQiPgoAPCEtLSBHZW5lcmF0ZWQgYnkgAGRhcmtibHVlAGRhcmtjeWFuAGRhcmtncmF5AGRhcmtncmV5AGRhcmttYWdlbnRhAGRhcmtyZWQAbGlnaHRncmVlbgAjIAAgY3JlYXRlIGxpbmUgACAtZmlsbCAAIC1kYXNoIDUAIC1kYXNoIDIAZ3ZyZW5kZXJfY29yZV90ay5jAHRrZ2VuX3ByaW50X3RhZ3MAZ3JhcGggbGFiZWwAIC10YWdzIHslZCVzJXB9AHRrZ2VuX3ByaW50X2NvbG9yACRjACAtd2lkdGggACAtc21vb3RoIGJlemllciAAIGNyZWF0ZSBwb2x5Z29uIAAgLW91dGxpbmUgACBjcmVhdGUgb3ZhbCAAIGNyZWF0ZSB0ZXh0IAAgLXRleHQgewB9ACAtZm9udCB7ACAlZH0AIC1hbmNob3IgdwAgLWFuY2hvciBlACMAIFRpdGxlOiAAIFBhZ2VzOiAlZAoAIyBHZW5lcmF0ZWQgYnkgACkKAHRrAHRrOnRrACAgICAgIDwhLS0gACAtLT4KAEVycm9yIGR1cmluZyBjb252ZXJzaW9uIHRvICJVVEYtOCIuICBRdWl0aW5nLgoAIDx2OnNoYXBlIHN0eWxlPSJwb3NpdGlvbjphYnNvbHV0ZTsgACB3aWR0aDogJWQ7IGhlaWdodDogJWQiIGZpbGxlZD0iZmFsc2UiPgA8djpwYXRoIHY9IgAgbSAAJS4wZiwlLjBmIAAgbCAAIGUgACIvPgA8L3Y6c2hhcGU+CgA8djpzdHJva2UgY29sb3I9IgAiIHdlaWdodD0iJS4wZnB0ACIgZGFzaHN0eWxlPSJkYXNoACIgZGFzaHN0eWxlPSJkb3QAIiAvPgAjJTAyeCUwMnglMDJ4AGd2cmVuZGVyX2NvcmVfdm1sLmMAdm1sX3ByaW50X2NvbG9yACB3aWR0aDogJWQ7IGhlaWdodDogJWQiACA+ADx2OnBhdGggIHY9IgAvPjwvdjpzaGFwZT4KAG0gACVzJS4wZiwlLjBmIABjIAAgZmlsbGVkPSJ0cnVlIiBmaWxsY29sb3I9IgAiIAAgZmlsbGVkPSJmYWxzZSIgACUuMGYgJS4wZiAAbCAAeCBlICIvPgAgIDx2Om92YWwgc3R5bGU9InBvc2l0aW9uOmFic29sdXRlOwAgbGVmdDogJS4yZjsgdG9wOiAlLjJmOwAgd2lkdGg6ICUuMmY7IGhlaWdodDogJS4yZiIAPC92Om92YWw+CgA8djpyZWN0IHN0eWxlPSJwb3NpdGlvbjphYnNvbHV0ZTsgACBzdHJva2VkPSJmYWxzZSIgZmlsbGVkPSJmYWxzZSI+CgA8djp0ZXh0Ym94IGluc2V0PSIwLDAsMCwwIiBzdHlsZT0icG9zaXRpb246YWJzb2x1dGU7IHYtdGV4dC13cmFwcGluZzonZmFsc2UnO3BhZGRpbmc6JzAnOwBmb250LWZhbWlseTogJyVzJzsAZm9udC13ZWlnaHQ6ICVzOwBmb250LXN0cmV0Y2g6ICVzOwBmb250LXN0eWxlOiAlczsAIGZvbnQtc2l6ZTogJS4yZnB0OwBjb2xvcjolczsAY29sb3I6IyUwMnglMDJ4JTAyeDsAdm1sX3RleHRzcGFuACI+PGNlbnRlcj4APC9jZW50ZXI+PC92OnRleHRib3g+CgA8L3Y6cmVjdD4KADwvYT4KADxhACBocmVmPSIlcyIAIHRpdGxlPSIlcyIAIHRhcmdldD0iJXMiAD4KADwvdjpncm91cD4KADwvRElWPgoAPERJViBpZD0nX1ZNTDJfJyBzdHlsZT0icG9zaXRpb246cmVsYXRpdmU7dmlzaWJpbGl0eTpoaWRkZW4iPgoAPCEtLSBpbnNlcnQgYW55IG90aGVyIGh0bWwgY29udGVudCBoZXJlIC0tPgoAPERJViBpZD0nX25vdFZNTDFfJyBzdHlsZT0icG9zaXRpb246cmVsYXRpdmU7Ij4KADwhLS0gdGhpcyBzaG91bGQgb25seSBkaXNwbGF5IG9uIE5PTi1JRSBicm93c2VycyAtLT4KADxIMj5Tb3JyeSwgdGhpcyBkaWFncmFtIHdpbGwgb25seSBkaXNwbGF5IGNvcnJlY3RseSBvbiBJbnRlcm5ldCBFeHBsb3JlciA1IChhbmQgdXApIGJyb3dzZXJzLjwvSDI+CgA8RElWIGlkPSdfbm90Vk1MMl8nIHN0eWxlPSJwb3NpdGlvbjpyZWxhdGl2ZTsiPgoAPCEtLSBpbnNlcnQgYW55IG90aGVyIE5PTi1JRSBodG1sIGNvbnRlbnQgaGVyZSAtLT4KADwvQk9EWT4KPC9IVE1MPgoAPEhFQUQ+ADxNRVRBIGh0dHAtZXF1aXY9IkNvbnRlbnQtVHlwZSIgY29udGVudD0idGV4dC9odG1sOyBjaGFyc2V0PVVURi04Ij4KADxUSVRMRT4APC9USVRMRT4APCEtLSBQYWdlczogJWQgLS0+CgAgICA8U0NSSVBUIExBTkdVQUdFPSdKYXZhc2NyaXB0Jz4KACAgIGZ1bmN0aW9uIGJyb3dzZXJjaGVjaygpCgAgICB7CgAgICAgICB2YXIgdWEgPSB3aW5kb3cubmF2aWdhdG9yLnVzZXJBZ2VudAoAICAgICAgdmFyIG1zaWUgPSB1YS5pbmRleE9mICggJ01TSUUgJyApCgAgICAgICB2YXIgaWV2ZXJzOwoAICAgICAgdmFyIGl0ZW07CgAgICAgICB2YXIgVk1MeWVzPW5ldyBBcnJheSgnX1ZNTDFfJywnX1ZNTDJfJyk7CgAgICAgICB2YXIgVk1Mbm89bmV3IEFycmF5KCdfbm90Vk1MMV8nLCdfbm90Vk1MMl8nKTsKACAgICAgIGlmICggbXNpZSA+IDAgKXsgICAgICAvLyBJZiBJbnRlcm5ldCBFeHBsb3JlciwgcmV0dXJuIHZlcnNpb24gbnVtYmVyCgAgICAgICAgICBpZXZlcnM9IHBhcnNlSW50ICh1YS5zdWJzdHJpbmcgKG1zaWUrNSwgdWEuaW5kZXhPZiAoJy4nLCBtc2llICkpKQoAICAgICAgfQoAICAgICAgaWYgKGlldmVycz49NSl7CgAgICAgICAgZm9yICh4IGluIFZNTHllcyl7CgAgICAgICAgICBpdGVtID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoVk1MeWVzW3hdKTsKACAgICAgICAgIGlmIChpdGVtKSB7CgAgICAgICAgICAgIGl0ZW0uc3R5bGUudmlzaWJpbGl0eT0ndmlzaWJsZSc7CgAgICAgICAgICB9CgAgICAgICAgfQoAICAgICAgIGZvciAoeCBpbiBWTUxubyl7CgAgICAgICAgICBpdGVtID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoVk1Mbm9beF0pOwoAICAgICAgICAgICBpdGVtLnN0eWxlLnZpc2liaWxpdHk9J2hpZGRlbic7CgAgICAgIH1lbHNlewoAICAgICB9CgAgICB9CgAgICA8L1NDUklQVD4KADwvSEVBRD4APEJPRFkgb25sb2FkPSdicm93c2VyY2hlY2soKTsnPgoAPERJViBpZD0nX1ZNTDFfJyBzdHlsZT0icG9zaXRpb246cmVsYXRpdmU7IGRpc3BsYXk6aW5saW5lOyB2aXNpYmlsaXR5OmhpZGRlbgAgd2lkdGg6ICVkcHQ7IGhlaWdodDogJWRwdCI+CgA8U1RZTEU+CgB2XDoqIHsgYmVoYXZpb3I6IHVybCgjZGVmYXVsdCNWTUwpO2Rpc3BsYXk6aW5saW5lLWJsb2NrfQoAPC9TVFlMRT4KADx4bWw6bmFtZXNwYWNlIG5zPSJ1cm46c2NoZW1hcy1taWNyb3NvZnQtY29tOnZtbCIgcHJlZml4PSJ2IiAvPgoAIDx2Omdyb3VwIHN0eWxlPSJwb3NpdGlvbjpyZWxhdGl2ZTsgACB3aWR0aDogJWRwdDsgaGVpZ2h0OiAlZHB0IgAgY29vcmRvcmlnaW49IjAsMCIgY29vcmRzaXplPSIlZCwlZCIgPgA8SFRNTD4KAAo8IS0tIEdlbmVyYXRlZCBieSAAIHZlcnNpb24gACAoACkKLS0+CgBhcXVhAGZ1Y2hzaWEAbGltZQBvbGl2ZQB0ZWFsAHZtbAB2bWw6dm1sAC8vKioqIGNvbW1lbnQ6ICVzCgAvLyoqKiBwb2x5bGluZQoAc2NhbGUgICAgPCU5LjNmLCAlOS4zZiwgJTkuM2Y+CgByb3RhdGUgICA8JTkuM2YsICU5LjNmLCAlOS4zZj4KAHRyYW5zbGF0ZTwlOS4zZiwgJTkuM2YsICU5LjNmPgoAc3BoZXJlX3N3ZWVwIHsKICAgICVzCiAgICAlZCwKAGxpbmVhcl9zcGxpbmUAPCU5LjNmLCAlOS4zZiwgJTkuM2Y+LCAlLjNmCgAlcyAgICAlcwAgICAgdG9sZXJhbmNlIDAuMDEKICAgICVzICAgICVzICAgICVzICAgICVzfQoAJXMlcwAlcyB0cmFuc21pdCAlLjNmAFJlZABHcmVlbgBCbHVlAHJnYjwlOS4zZiwgJTkuM2YsICU5LjNmPiB0cmFuc21pdCAlLjNmAG9vcHMsIGludGVybmFsIGVycm9yOiB1bmhhbmRsZWQgY29sb3IgdHlwZT0lZCAlcwoAZ3ZyZW5kZXJfY29yZV9wb3YuYwBwb3ZfY29sb3JfYXNfc3RyAHBpZ21lbnQgeyBjb2xvciAlcyB9CgBwb3YgcmVuZGVyZXI6ZWwgLSAlcwoALy8qKiogYmV6aWVyCgBiX3NwbGluZQAgICAgICAgIHRvbGVyYW5jZSAwLjAxCiAgICAlcyAgICAlcyAgICAlcyAgICAlc30KAC8vKioqIHBvbHlnb24KACAgICB0b2xlcmFuY2UgMC4xCiAgICAlcyAgICAlcyAgICAlcyAgICAlc30KAHBvbHlnb24geyAlZCwKADwlOS4zZiwgJTkuM2YsICU5LjNmPgAlcwogICAgJXMACiAgICAlcyAgICAlcyAgICAlcyAgICAlc30KAC8vKioqIGVsbGlwc2UKAHRvcnVzIHsgJS4zZiwgJS4zZgogICAgJXMgICAgJXMgICAgJXMgICAgJXN9CgBzcGhlcmUgezwlOS4zZiwgJTkuM2YsICU5LjNmPiwgMS4wCiAgICAlcyAgICAlcyAgICAlcyAgICAlc30KAC8vKioqIHRleHRzcGFuOiAlcywgZm9udHNpemUgPSAlLjNmLCBmb250bmFtZSA9ICVzCgBzY2FsZSAlLjNmCgB0ZXh0IHsKICAgIHR0ZiAiJXMiLAogICAgIiVzIiwgJS4zZiwgJS4zZgogICAgJXMgICAgJXMgICAgJXMgICAgJXMgICAgJXN9CgAgICAgbm9fc2hhZG93CgAvLyoqKiBlbmRfZWRnZQoALy8qKiogYmVnaW5fZWRnZQoALy8qKiogZW5kX25vZGUKAC8vKioqIGJlZ2luX25vZGU6ICVzCgAvLyoqKiBlbmRfY2x1c3RlcgoALy8qKiogYmVnaW5fY2x1c3RlcgoALy8qKiogZW5kX3BhZ2UKAC8vKioqIGJlZ2luX3BhZ2UKAC8vKioqIGVuZF9sYXllcgoALy8qKiogYmVnaW5fbGF5ZXI6ICVzLCAlZC8lZAoALy8qKiogZW5kX2dyYXBoCgAvLyoqKiBiZWdpbl9ncmFwaCAlcwoAY2FtZXJhIHsgbG9jYXRpb24gPCUuM2YgLCAlLjNmICwgJS4zZj4KICAgICAgICAgbG9va19hdCAgPCUuM2YgLCAlLjNmICwgJS4zZj4KICAgICAgICAgcmlnaHQgeCAqIGltYWdlX3dpZHRoIC8gaW1hZ2VfaGVpZ2h0CiAgICAgICAgIGFuZ2xlICUuM2YKfQoALy9za3kKcGxhbmUgeyA8MCwgMSwgMD4sIDEgaG9sbG93CiAgICB0ZXh0dXJlIHsKICAgICAgICBwaWdtZW50IHsgYm96byB0dXJidWxlbmNlIDAuOTUKICAgICAgICAgICAgY29sb3JfbWFwIHsKICAgICAgICAgICAgICAgIFswLjAwIHJnYiA8MC4wNSwgMC4yMCwgMC41MD5dCiAgICAgICAgICAgICAgICBbMC41MCByZ2IgPDAuMDUsIDAuMjAsIDAuNTA+XQogICAgICAgICAgICAgICAgWzAuNzUgcmdiIDwxLjAwLCAxLjAwLCAxLjAwPl0KICAgICAgICAgICAgICAgIFswLjc1IHJnYiA8MC4yNSwgMC4yNSwgMC4yNT5dCiAgICAgICAgICAgICAgICBbMS4wMCByZ2IgPDAuNTAsIDAuNTAsIDAuNTA+XQogICAgICAgICAgICB9CiAgICAgICAgICAgIHNjYWxlIDwxLjAwLCAxLjAwLCAxLjUwPiAqIDIuNTAKICAgICAgICAgICAgdHJhbnNsYXRlIDwwLjAwLCAwLjAwLCAwLjAwPgogICAgICAgIH0KICAgICAgICBmaW5pc2ggeyBhbWJpZW50IDEgZGlmZnVzZSAwIH0KICAgIH0KICAgIHNjYWxlIDEwMDAwCn0KLy9taXN0CmZvZyB7IGZvZ190eXBlIDIKICAgIGRpc3RhbmNlIDUwCiAgICBjb2xvciByZ2IgPDEuMDAsIDEuMDAsIDEuMDA+ICogMC43NQogICAgZm9nX29mZnNldCAwLjEwCiAgICBmb2dfYWx0IDEuNTAKICAgIHR1cmJ1bGVuY2UgMS43NQp9Ci8vZ25kCnBsYW5lIHsgPDAuMDAsIDEuMDAsIDAuMDA+LCAwCiAgICB0ZXh0dXJlIHsKICAgICAgICBwaWdtZW50eyBjb2xvciByZ2IgPDAuMjUsIDAuNDUsIDAuMDA+IH0KICAgICAgICBub3JtYWwgeyBidW1wcyAwLjc1IHNjYWxlIDAuMDEgfQogICAgICAgIGZpbmlzaCB7IHBob25nIDAuMTAgfQogICAgfQp9CgBsaWdodF9zb3VyY2UgeyA8MTUwMCwzMDAwLC0yNTAwPiBjb2xvciBXaGl0ZSB9CgAjdmVyc2lvbiAzLjY7CgBnbG9iYWxfc2V0dGluZ3MgeyBhc3N1bWVkX2dhbW1hIDEuMCB9CgAjZGVmYXVsdCB7IGZpbmlzaCB7IGFtYmllbnQgMC4xIGRpZmZ1c2UgMC45IH0gfQoAI2luY2x1ZGUgImNvbG9ycy5pbmMiCiNpbmNsdWRlICJ0ZXh0dXJlcy5pbmMiCiNpbmNsdWRlICJzaGFwZXMuaW5jIgoAI2RlY2xhcmUgJXMgPSAlczsKAEJsYWNrAFdoaXRlAGJha2Vyc2Nob2MAYnJhc3MAYnJpZ2h0Z29sZABicm9uemUAYnJvbnplMgBjbGVhcgBjb29sY29wcGVyAGNvcHBlcgBkYXJrYnJvd24AZGFya3B1cnBsZQBkYXJrdGFuAGRhcmt3b29kAGRrZ3JlZW5jb3BwZXIAZHVzdHlyb3NlAGZlbGRzcGFyAGZsZXNoAGdyYXkwNQBncmVlbmNvcHBlcgBodW50ZXJzZ3JlZW4AbGlnaHRfcHVycGxlAGxpZ2h0d29vZABtYW5kYXJpbm9yYW5nZQBtZWRpdW1mb3Jlc3RncmVlbgBtZWRpdW1nb2xkZW5yb2QAbWVkaXVtd29vZABtZWRfcHVycGxlAG1pY2EAbmVvbmJsdWUAbmVvbnBpbmsAbmV3bWlkbmlnaHRibHVlAG5ld3RhbgBvbGRnb2xkAHF1YXJ0egByaWNoYmx1ZQBzY2FybGV0AHNlbWlTd2VldENob2MAc2lsdmVyAHNwaWN5cGluawBzdW1tZXJza3kAdmVyeWRhcmticm93bgB2ZXJ5X2xpZ2h0X3B1cnBsZQBwb3YAcG92OnBvdgAlcyAlcwoALlwiIAAgJWQgJWQAICVzCgAgJWQAZmlsbCAAZWxsaXBzZSBhdHRycyVkICVzd2lkICUuNWYgaHQgJS41ZiBhdCAoJS41ZiwlLjVmKTsKAC5mdCAlcwoALnBzICVkKlxuKFNGdS8lLjBmdQoAIiVzIiBhdCAoJS41ZiwlLjVmKTsKACUwM28AJXMlcyBpcyBub3QgYSB0cm9mZiBmb250CgBkb3QgcGljIHBsdWdpbjogAFIAXQouUEUKAC5QUyAlLjVmICUuNWYKACVzIHRvIGNoYW5nZSBkcmF3aW5nIHNpemUsIG11bHRpcGx5IHRoZSB3aWR0aCBhbmQgaGVpZ2h0IG9uIHRoZSAuUFMgbGluZSBhYm92ZSBhbmQgdGhlIG51bWJlciBvbiB0aGUgdHdvIGxpbmVzIGJlbG93IChyb3VuZGVkIHRvIHRoZSBuZWFyZXN0IGludGVnZXIpIGJ5IGEgc2NhbGUgZmFjdG9yCgAubnIgU0YgJS4wZgpzY2FsZXRoaWNrbmVzcyA9ICUuMGYKACVzIGRvbid0IGNoYW5nZSBhbnl0aGluZyBiZWxvdyB0aGlzIGxpbmUgaW4gdGhpcyBkcmF3aW5nCgAlcyBub24tZmF0YWwgcnVuLXRpbWUgcGljIHZlcnNpb24gZGV0ZXJtaW5hdGlvbiwgdmVyc2lvbiAyCgBib3hyYWQ9Mi4wICVzIHdpbGwgYmUgcmVzZXQgdG8gMC4wIGJ5IGdwaWMgb25seQoAc2NhbGU9MS4wICVzIHJlcXVpcmVkIGZvciBjb21wYXJpc29ucwoAJXMgYm94cmFkIGlzIG5vdyAwLjAgaW4gZ3BpYywgZWxzZSBpdCByZW1haW5zIDIuMAoAJXMgZGFzaHdpZCBpcyAwLjEgaW4gMTB0aCBFZGl0aW9uLCAwLjA1IGluIERXQiAyIGFuZCBpbiBncGljCgAlcyBmaWxsdmFsIGlzIDAuMyBpbiAxMHRoIEVkaXRpb24gKGZpbGwgMCBtZWFucyBibGFjayksIDAuNSBpbiBncGljIChmaWxsIDAgbWVhbnMgd2hpdGUpLCB1bmRlZmluZWQgaW4gRFdCIDIKACVzIGZpbGwgaGFzIG5vIG1lYW5pbmcgaW4gRFdCIDIsIGdwaWMgY2FuIHVzZSBmaWxsIG9yIGZpbGxlZCwgMTB0aCBFZGl0aW9uIHVzZXMgZmlsbCBvbmx5CgAlcyBEV0IgMiBkb2Vzbid0IHVzZSBmaWxsIGFuZCBkb2Vzbid0IGRlZmluZSBmaWxsdmFsCgAlcyByZXNldCB3b3JrcyBpbiBncGljIGFuZCAxMHRoIGVkaXRpb24sIGJ1dCBpc24ndCBkZWZpbmVkIGluIERXQiAyCgAlcyBEV0IgMiBjb21wYXRpYmlsaXR5IGRlZmluaXRpb25zCgBpZiBib3hyYWQgPiAxLjAgJiYgZGFzaHdpZCA8IDAuMDc1IHRoZW4gWAoJZmlsbHZhbCA9IDE7CglkZWZpbmUgZmlsbCBZIFk7CglkZWZpbmUgc29saWQgWSBZOwoJZGVmaW5lIHJlc2V0IFkgc2NhbGU9MS4wIFk7ClgKAHJlc2V0ICVzIHNldCB0byBrbm93biBzdGF0ZQoAJXMgR05VIHBpYyB2cy4gMTB0aCBFZGl0aW9uIGRcKGUndGVudGUKAGlmIGZpbGx2YWwgPiAwLjQgdGhlbiBYCglkZWZpbmUgc2V0ZmlsbHZhbCBZIGZpbGx2YWwgPSAxIC0gWTsKCWRlZmluZSBib2xkIFkgdGhpY2tuZXNzIDIgWTsKAAklcyBpZiB5b3UgdXNlIGdwaWMgYW5kIGl0IGJhcmZzIG9uIGVuY291bnRlcmluZyAic29saWQiLAoACSVzCWluc3RhbGwgYSBtb3JlIHJlY2VudCB2ZXJzaW9uIG9mIGdwaWMgb3Igc3dpdGNoIHRvIERXQiBvciAxMHRoIEVkaXRpb24gcGljOwoACSVzCXNvcnJ5LCB0aGUgZ3JvZmYgZm9sa3MgY2hhbmdlZCBncGljOyBzZW5kIGFueSBjb21wbGFpbnQgdG8gdGhlbTsKAFggZWxzZSBaCglkZWZpbmUgc2V0ZmlsbHZhbCBZIGZpbGx2YWwgPSBZOwoJZGVmaW5lIGJvbGQgWSBZOwoJZGVmaW5lIGZpbGxlZCBZIGZpbGwgWTsKWgoAJXMgYXJyb3doZWFkIGhhcyBubyBtZWFuaW5nIGluIERXQiAyLCBhcnJvd2hlYWQgPSA3IG1ha2VzIGZpbGxlZCBhcnJvd2hlYWRzIGluIGdwaWMgYW5kIGluIDEwdGggRWRpdGlvbgoAJXMgYXJyb3doZWFkIGlzIHVuZGVmaW5lZCBpbiBEV0IgMiwgaW5pdGlhbGx5IDEgaW4gZ3BpYywgMiBpbiAxMHRoIEVkaXRpb24KAGFycm93aGVhZCA9IDcgJXMgbm90IHVzZWQgYnkgZ3JhcGh2aXoKACVzIEdOVSBwaWMgc3VwcG9ydHMgYSBib3hyYWQgdmFyaWFibGUgdG8gZHJhdyBib3hlcyB3aXRoIHJvdW5kZWQgY29ybmVyczsgRFdCIGFuZCAxMHRoIEVkLiBkbyBub3QKAGJveHJhZCA9IDAgJXMgbm8gcm91bmRlZCBjb3JuZXJzIGluIGdyYXBodml6CgAlcyBHTlUgcGljIHN1cHBvcnRzIGEgbGluZXRoaWNrIHZhcmlhYmxlIHRvIHNldCBsaW5lIHRoaWNrbmVzczsgRFdCIGFuZCAxMHRoIEVkLiBkbyBub3QKAGxpbmV0aGljayA9IDA7IG9sZGxpbmV0aGljayA9IGxpbmV0aGljawoAJXMgLlBTIHcvbyBhcmdzIGNhdXNlcyBHTlUgcGljIHRvIHNjYWxlIGRyYXdpbmcgdG8gZml0IDguNXgxMSBwYXBlcjsgRFdCIGRvZXMgbm90CgAlcyBtYXhwc2h0IGFuZCBtYXhwc3dpZCBoYXZlIG5vIG1lYW5pbmcgaW4gRFdCIDIuMCwgc2V0IHBhZ2UgYm91bmRhcmllcyBpbiBncGljIGFuZCBpbiAxMHRoIEVkaXRpb24KACVzIG1heHBzaHQgYW5kIG1heHBzd2lkIGFyZSBwcmVkZWZpbmVkIHRvIDExLjAgYW5kIDguNSBpbiBncGljCgBtYXhwc2h0ID0gJWYKbWF4cHN3aWQgPSAlZgoARG90OiBbCgBkZWZpbmUgYXR0cnMwICUlICUlOyBkZWZpbmUgdW5maWxsZWQgJSUgJSU7IGRlZmluZSByb3VuZGVkICUlICUlOyBkZWZpbmUgZGlhZ29uYWxzICUlICUlCgAlcyVzIHVuc3VwcG9ydGVkCgByb3RhdGlvbgAlcyByZXN0b3JlIHBvaW50IHNpemUgYW5kIGZvbnQKLnBzIFxuKC5TCi5mdCBcbihERgoAJXMgQ3JlYXRvcjogJXMgdmVyc2lvbiAlcyAoJXMpCgAlcyBUaXRsZTogJXMKACVzIHNhdmUgcG9pbnQgc2l6ZSBhbmQgZm9udAoubnIgLlMgXG4oLnMKLm5yIERGIFxuKC5mCgBwaWMAcGljOnBpYwBwbmc6c3ZnAGdpZjpzdmcAanBlZzpzdmcAanBlOnN2ZwBqcGc6c3ZnAHBuZzpmaWcAZ2lmOmZpZwBqcGVnOmZpZwBqcGU6ZmlnAGpwZzpmaWcAcG5nOnZybWwAZ2lmOnZybWwAanBlZzp2cm1sAGpwZTp2cm1sAGpwZzp2cm1sAGVwczpwcwBwczpwcwAobGliKTpwcwBwbmc6bWFwAGdpZjptYXAAanBlZzptYXAAanBlOm1hcABqcGc6bWFwAHBzOm1hcABlcHM6bWFwAHN2ZzptYXAAcG5nOmRvdABnaWY6ZG90AGpwZWc6ZG90AGpwZTpkb3QAanBnOmRvdABwczpkb3QAZXBzOmRvdABzdmc6ZG90AHBuZzp4ZG90AGdpZjp4ZG90AGpwZWc6eGRvdABqcGU6eGRvdABqcGc6eGRvdABwczp4ZG90AGVwczp4ZG90AHN2Zzp4ZG90AHN2ZzpzdmcAcG5nOnZtbABnaWY6dm1sAGpwZWc6dm1sAGpwZTp2bWwAanBnOnZtbABnaWY6dGsAaW1hZ2UgY3JlYXRlIHBob3RvICJwaG90b18lcyIgLWZpbGUgIiVzIgoAJGMgY3JlYXRlIGltYWdlICUuMmYgJS4yZiAtaW1hZ2UgInBob3RvXyVzIgoAPHY6aW1hZ2Ugc3JjPSIlcyIgc3R5bGU9IiBwb3NpdGlvbjphYnNvbHV0ZTsgd2lkdGg6JS4yZjsgaGVpZ2h0OiUuMmY7IGxlZnQ6JS4yZiA7IHRvcDolLjJmIgAgLz4KAGd2bG9hZGltYWdlX2NvcmUuYwBjb3JlX2xvYWRpbWFnZV9wc2xpYgBbIAAlZyAlZyAAXSAgJWQgdHJ1ZSAlcwoAXSAgJWQgZmFsc2UgJXMKAGNvcmVfbG9hZGltYWdlX3BzAGdzYXZlICVnICVnIHRyYW5zbGF0ZSBuZXdwYXRoCgB1c2VyX3NoYXBlXyVkCgBncmVzdG9yZQoAY29yZV9sb2FkaW1hZ2VfdnJtbABTaGFwZSB7CgAgIGFwcGVhcmFuY2UgQXBwZWFyYW5jZSB7CgAgICAgbWF0ZXJpYWwgTWF0ZXJpYWwgewoAICAgICAgYW1iaWVudEludGVuc2l0eSAwLjMzCgAgICAgICAgIGRpZmZ1c2VDb2xvciAxIDEgMQoAICAgIH0KACAgICB0ZXh0dXJlIEltYWdlVGV4dHVyZSB7IHVybCAiJXMiIH0KACAgfQoAY29yZV9sb2FkaW1hZ2VfZmlnACVkICVkICVkICVkICVkICVkICVkICVkICVkICUuMWYgJWQgJWQgJWQgJWQgJWQgJWQKICVkICVzCgAgJWQgJWQgJWQgJWQgJWQgJWQgJWQgJWQgJWQgJWQKAGNvcmVfbG9hZGltYWdlX3N2ZwA8aW1hZ2UgeGxpbms6aHJlZj0iACIgd2lkdGg9IiVncHgiIGhlaWdodD0iJWdweCIgcHJlc2VydmVBc3BlY3RSYXRpbz0ieE1pZFlNaWQgbWVldCIgeD0iJWciIHk9IiVnIgAgdHJhbnNmb3JtPSJyb3RhdGUoJWQgJWcgJWcpIgAiIHdpZHRoPSIlZ3B4IiBoZWlnaHQ9IiVncHgiIHByZXNlcnZlQXNwZWN0UmF0aW89InhNaW5ZTWluIG1lZXQiIHg9IiVnIiB5PSIlZyIALz4KAGRvdF9sYXlvdXQAcGhhc2UAZG90IGRvZXMgbm90IHN1cHBvcnQgdGhlIGFzcGVjdCBhdHRyaWJ1dGUgZm9yIGRpc2Nvbm5lY3RlZCBncmFwaHMgb3IgZ3JhcGhzIHdpdGggY2x1c3RlcnMKAGNvbXBvdW5kAHYgPT0gbgBkb3Rpbml0LmMAcmVtb3ZlX2Zyb21fcmFuawBvcmRlcgBlZGdlIGxhYmVscyB3aXRoIHNwbGluZXM9Y3VydmVkIG5vdCBzdXBwb3J0ZWQgaW4gZG90IC0gdXNlIHhsYWJlbHMKAEVEX2xhYmVsKGZlKQBkb3RzcGxpbmVzLmMAX2RvdF9zcGxpbmVzAGZsYXQgZWRnZSBiZXR3ZWVuIGFkamFjZW50IG5vZGVzIG9uZSBvZiB3aGljaCBoYXMgYSByZWNvcmQgc2hhcGUgLSByZXBsYWNlIHJlY29yZHMgd2l0aCBIVE1MLWxpa2UgbGFiZWxzCgAgIEVkZ2UgJXMgJXMgJXMKAHh4eAAxMDAwMAB7JXN9AGF1eGcAbGFiZWxfZmxvYXQAZml4ZWQAKGwgPSBFRF9sYWJlbChmZSkpAHNldEVkZ2VMYWJlbFBvcwBlICE9IE5VTEwAZmFzdGdyLmMAZGVsZXRlX2Zhc3RfZWRnZQBuICE9IE5EX25leHQobikAZmFzdF9ub2RlAHUgIT0gdgBmYXN0X25vZGVhcHAATkRfbmV4dCh2KSA9PSBOVUxMAGZpbmRfZmFzdF9ub2RlKGcsIG4pAGRlbGV0ZV9mYXN0X25vZGUAZGVsZXRlX2ZsYXRfZWRnZQBtZXJnZV9vbmV3YXkgZ2xpdGNoCgBtZXJnZV9vbmV3YXkAc2FmZV9kZWxldGVfZmFzdF9lZGdlAGxnAGNvbXAAY250ID09IHN6AG1pbmNyb3NzLmMAZml4TGFiZWxPcmRlcgByZW1pbmNyb3NzAG1pbmNyb3NzICVzOiAlZCBjcm9zc2luZ3MsICUuMmYgc2Vjcy4KAHYAbmVpZ2hib3IAKHJ2ID09IDApIHx8IChORF9vcmRlcihydiktTkRfb3JkZXIodikpKmRpciA+IDAAY29uc3RyYWluaW5nX2ZsYXRfZWRnZShnLHYsZSkgPT0gRkFMU0UAZmxhdF9yZW9yZGVyAE5EX3JhbmsodikgPT0gcgBwb3N0b3JkZXIAZmxhdGluZGV4KGFnaGVhZChlKSkgPCBNLT5ucm93cwBmbGF0X3NlYXJjaABmbGF0aW5kZXgoYWd0YWlsKGUpKSA8IE0tPm5jb2xzAG91dABvcmRlcmluZyAnJXMnIG5vdCByZWNvZ25pemVkLgoAb3JkZXJpbmcgJyVzJyBub3QgcmVjb2duaXplZCBmb3Igbm9kZSAnJXMnLgoAbWVyZ2UyOiBncmFwaCAlcywgcmFuayAlZCBoYXMgb25seSAlZCA8ICVkIG5vZGVzCgBtaW5jcm9zczogcGFzcyAlZCBpdGVyICVkIHRyeWluZyAlZCBjdXJfY3Jvc3MgJWQgYmVzdF9jcm9zcyAlZAoATkRfb3JkZXIodikgPCBORF9vcmRlcih3KQBiYWxhbmNlAHRyYW5zcG9zZV9zdGVwAHN1cnByaXNlCgBpbnN0YWxsX2luX3JhbmssIGxpbmUgJWQ6ICVzICVzIHJhbmsgJWQgaSA9ICVkIGFuID0gMAoAR0RfcmFuayhnKVtyXS5uIDw9IEdEX3JhbmsoZylbcl0uYW4AaW5zdGFsbF9pbl9yYW5rAGluc3RhbGxfaW5fcmFuaywgbGluZSAlZDogTkRfb3JkZXIoJXMpIFslZF0gPiBHRF9yYW5rKFJvb3QpWyVkXS5hbiBbJWRdCgBpbnN0YWxsX2luX3JhbmssIGxpbmUgJWQ6IHJhbmsgJWQgbm90IGluIHJhbmsgcmFuZ2UgWyVkLCVkXQoAaW5zdGFsbF9pbl9yYW5rLCBsaW5lICVkOiBHRF9yYW5rKGcpWyVkXS52ICsgTkRfb3JkZXIoJXMpIFslZF0gPiBHRF9yYW5rKGcpWyVkXS5hdiArIEdEX3JhbmsoUm9vdClbJWRdLmFuIFslZF0KAF9uZXdfcmFuawBtY2xpbWl0AHJhbmsoZywgMiwgbnNpdGVyMihnKSkgPT0gMABwb3NpdGlvbi5jAGRvdF9wb3NpdGlvbgBBUj0lMC40bGYJIEFyZWE9ICUwLjRsZgkARHVtbXk9JWQKAEdvaW5nIHRvIGFwcGx5IGFub3RoZXIgZXhwYW5zaW9uLgoAbmV4dCNpdGVyPSVkCgBocABjb25uZWN0R3JhcGgARWRnZSBsZW5ndGggJWYgbGFyZ2VyIHRoYW4gbWF4aW11bSAldSBhbGxvd2VkLgpDaGVjayBmb3Igb3ZlcndpZGUgbm9kZShzKS4KAG5zbGltaXQAY29udGFpbl9ub2RlcyBjbHVzdCAlcyByYW5rICVkIG1pc3Npbmcgbm9kZQoAbnNsaW1pdDEAbmV3cmFuawBNYXhyYW5rID0gJWQsIG1pbnJhbmsgPSAlZAoAbGVhZGVyICE9IE5VTEwAcmFuay5jAGNsdXN0ZXJfbGVhZGVyAChORF9VRl9zaXplKG4pIDw9IDEpIHx8IChuID09IGxlYWRlcikAYWdoZWFkKGUpID09IFVGX2ZpbmQoYWdoZWFkKGUpKQBtaW5tYXhfZWRnZXMAYWd0YWlsKGUpID09IFVGX2ZpbmQoYWd0YWlsKGUpKQByYW5rAHNhbWUAbWluAHNvdXJjZQBtYXgAc2luawBsZXZlbCBhc3NpZ25tZW50IGNvbnN0cmFpbnRzAGxldmVsIGdyYXBoIHJlYwB/cm9vdAB/dG9wAH9ib3QAY29tcGFjdABfd2Vha18lZAByYW5raW5nOiBmYWlsdXJlIHRvIGNyZWF0ZSBzdHJvbmcgY29uc3RyYWludCBlZGdlIGJldHdlZW4gbm9kZXMgJXMgYW5kICVzCgAlcyBoYXMgdW5yZWNvZ25pemVkIHJhbms9JXMAbGV2ZWwgZWRnZSByZWMAbGV2ZWwgbm9kZSByZWMAc2FtZWhlYWQAc2FtZXRhaWwAdG9vIG1hbnkgKD4gJWQpIHNhbWV7aGVhZCx0YWlsfSBncm91cHMgZm9yIG5vZGUgJXMKAGNvbWJpQVIgPSAlbGYKACVsZiwlZAB0aGUgYXNwZWN0IGF0dHJpYnV0ZSBoYXMgYmVlbiBkaXNhYmxlZCBkdWUgdG8gaW1wbGVtZW50YXRpb24gZmxhd3MgLSBhdHRyaWJ1dGUgaWdub3JlZC4KAEVEX3RvX3ZpcnQoZSkgPT0gTlVMTABjbGFzczIuYwBtZXJnZV9jaGFpbgBFRF90b192aXJ0KG9yaWcpID09IE5VTEwAbWFrZV9jaGFpbgBFRF90b192aXJ0KG9yaWcpICE9IE5VTEwATkRfcmFuayhmcm9tKSA8IE5EX3JhbmsodG8pAGNsdXN0ZXIuYwBtYXBfcGF0aAAlcyB3YXMgYWxyZWFkeSBpbiBhIHJhbmtzZXQsIGRlbGV0ZWQgZnJvbSBjbHVzdGVyICVzCgBsaGVhZABsdGFpbAAlcyAtPiAlczogc3BsaW5lIHNpemUgPiAxIG5vdCBzdXBwb3J0ZWQKACVzIC0+ICVzOiBoZWFkIG5vdCBpbnNpZGUgaGVhZCBjbHVzdGVyICVzCgAlcyAtPiAlczogdGFpbCBpcyBpbnNpZGUgaGVhZCBjbHVzdGVyICVzCgBiZXotPnNmbGFnAGNvbXBvdW5kLmMAbWFrZUNvbXBvdW5kRWRnZQBiZXotPmVmbGFnACVzIC0+ICVzOiB0YWlsIG5vdCBpbnNpZGUgdGFpbCBjbHVzdGVyICVzCgAlcyAtPiAlczogaGVhZCBpcyBpbnNpZGUgdGFpbCBjbHVzdGVyICVzCgBzZWdtZW50IFslcywlc10gZG9lcyBub3QgaW50ZXJzZWN0IGJveCBsbD0lcyx1cj0lcwoAYm94SW50ZXJzZWN0ZgAoJS41ZywlLjVnKQBjbHVzdGVyIG5hbWVkICVzIG5vdCBmb3VuZAoAY29uY2VudHJhdGU9dHJ1ZSBtYXkgbm90IHdvcmsgY29ycmVjdGx5LgoAcmVidWlsdGRfdmxpc3RzOiByYW5rIGxlYWQgJXMgbm90IGluIG9yZGVyICVkIG9mIHJhbmsgJWQKAGRlZ2VuZXJhdGUgY29uY2VudHJhdGVkIHJhbmsgJXMsJWQKAE5EX2luKHJpZ2h0KS5zaXplICsgTkRfb3V0KHJpZ2h0KS5zaXplID09IDAAY29uYy5jAG1lcmdldmlydHVhbABkb3Q6IE91dCBvZiBtZW1vcnkKAE5EX291dCh2KS5zaXplID09IDIAZmxhdC5jAHNldGJvdW5kcwBHRF9taW5yYW5rKGcpID09IDAAYWJvbWluYXRpb24AbmVhdG9fbGF5b3V0AG5lYXRvAGZkcAB0d29waQBjaXJjbwBwYXRjaHdvcmsAb3NhZ2UAbm9wAG5vcDEAbm9wMgAlbGYsJWxmLCVsZiVjAG5vZGUgJXMsIHBvc2l0aW9uICVzLCBleHBlY3RlZCB0d28gZG91YmxlcwoAbm90cmFuc2xhdGUAbm9kZSAlcyBpbiBncmFwaCAlcyBoYXMgbm8gcG9zaXRpb24KAHMsJWxmLCVsZiVuACBlLCVsZiwlbGYlbgBwb3MgYXR0cmlidXRlIGZvciBlZGdlICglcywlcykgZG9lc24ndCBoYXZlIDNuKzEgcG9pbnRzCgAlbGYsJWxmJW4Ac3ludGF4IGVycm9yIGluIHBvcyBhdHRyaWJ1dGUgZm9yIGVkZ2UgKCVzLCVzKQoAJWxmLCVsZiwlbGYsJWxmAHN0YXJ0AHNlbGYAcmFuZG9tAG5vZGUgcG9zaXRpb25zIGFyZSBpZ25vcmVkIHVubGVzcyBzdGFydD1yYW5kb20KAGFzIHJlcXVpcmVkIGJ5IHRoZSAtbiBmbGFnCgBfbmVhdG9fY2MAZ3JhcGggJXMgaXMgZGlzY29ubmVjdGVkLiBIZW5jZSwgdGhlIGNpcmN1aXQgbW9kZWwKAEFsdGVybmF0aXZlbHksIGNvbnNpZGVyIHJ1bm5pbmcgbmVhdG8gdXNpbmcgLUdwYWNrPXRydWUgb3IgZGVjb21wb3NpbmcKAHRoZSBncmFwaCBpbnRvIGNvbm5lY3RlZCBjb21wb25lbnRzLgoAU29sdmluZyBtb2RlbCAlZCBpdGVyYXRpb25zICVkIHRvbCAlZgoATkRfaWQobnApID09IGkAbmVhdG9pbml0LmMAbWFrZUdyYXBoRGF0YQBmIDwgZ3JhcGhbal0ubmVkZ2VzAGRmc0N5Y2xlAG1vZGVsICVkIHNtYXJ0X2luaXQgJWQgc3RyZXNzd3QgJWQgaXRlcmF0aW9ucyAlZCB0b2wgJWYKAGNvbnZlcnQgZ3JhcGg6IABtYWpvcml6YXRpb24KACVkIG5vZGVzICUuMmYgc2VjCgBsZXZlbHNnYXAAbGF5b3V0IGFib3J0ZWQKAHN0cmVzc3d0ACVzIGF0dHJpYnV0ZSB2YWx1ZSBtdXN0IGJlIDEgb3IgMiAtIGlnbm9yaW5nCgBtb2RlbABjaXJjdWl0AHN1YnNldABzaG9ydHBhdGgAbWRzAGVkZ2VzIGluIGdyYXBoICVzIGhhdmUgbm8gbGVuIGF0dHJpYnV0ZS4gSGVuY2UsIHRoZSBtZHMgbW9kZWwKAGlzIGluYXBwcm9wcmlhdGUuIFJldmVydGluZyB0byB0aGUgc2hvcnRlc3QgcGF0aCBtb2RlbC4KAFVua25vd24gdmFsdWUgJXMgZm9yIGF0dHJpYnV0ZSAibW9kZWwiIGluIGdyYXBoICVzIC0gaWdub3JlZAoAbW9kZQBLSwBtYWpvcgBoaWVyAElsbGVnYWwgdmFsdWUgJXMgZm9yIGF0dHJpYnV0ZSAibW9kZSIgaW4gZ3JhcGggJXMgLSBpZ25vcmVkCgBkaW1lbgBtYWtlU3BsaW5lOiBmYWlsZWQgdG8gbWFrZSBzcGxpbmUgZWRnZSAoJXMsJXMpCgBzcGxpbmUgJXMgJXMKAGIgPT0gbgBuZWF0b3NwbGluZXMuYwBtYWtlX2JhcnJpZXJzAHRoZSBib3VuZGluZyBib3hlcyBvZiBzb21lIG5vZGVzIHRvdWNoIC0gZmFsbGluZyBiYWNrIHRvIHN0cmFpZ2h0IGxpbmUgZWRnZXMKAHNvbWUgbm9kZXMgd2l0aCBtYXJnaW4gKCUuMDJmLCUuMDJmKSB0b3VjaCAtIGZhbGxpbmcgYmFjayB0byBzdHJhaWdodCBsaW5lIGVkZ2VzCgBwb2x5bGluZXMAbGluZSBzZWdtZW50cwBvcnRob2dvbmFsIGxpbmVzAENyZWF0aW5nIGVkZ2VzIHVzaW5nICVzCgBwb2x5bGluZSAlcyAlcwoAbWRzTW9kZWw6IGRlbHRhID0gJWYKAFNldHRpbmcgdXAgc3RyZXNzIGZ1bmN0aW9uAFNvbHZpbmcgbW9kZWw6IAAKZmluYWwgZSA9ICVmICVkIGl0ZXJhdGlvbnMgJS4yZiBzZWMKAERhbXBpbmcAZGVmYXVsdGRpc3QAIGluICVzIC0gc2V0dGluZyB0byAlLjAyZgoAYmFkIGVkZ2UgbGVuICIlcyIAU2V0dGluZyBpbml0aWFsIHBvc2l0aW9ucwoAc3RhcnQ9JXMgbm90IHN1cHBvcnRlZCB3aXRoIG1vZGU9c2VsZiAtIGlnbm9yZWQKAFNldHRpbmcgdXAgc3ByaW5nIG1vZGVsOiAAJS4yZiBzZWMKAApmaW5hbCBlID0gJWYAIQAgJWQlcyBpdGVyYXRpb25zICUuMmYgc2VjCgBNYXguIGl0ZXJhdGlvbnMgKCVkKSByZWFjaGVkIG9uIGdyYXBoICVzCgAlcyAlLjNmCgAlLjNmIABORF9oZWFwaW5kZXgodikgPCAwAHN0dWZmLmMAbmVhdG9fZW5xdWV1ZQBDYWxjdWxhdGluZyBzaG9ydGVzdCBwYXRoczogAHNwZWNpZmllZCByb290IG5vZGUgIiVzIiB3YXMgbm90IGZvdW5kLgBVc2luZyBkZWZhdWx0IGNhbGN1bGF0aW9uIGZvciByb290IG5vZGUKAHJlcG9zaXRpb24gJXMKACVzIDogJWYgJWYKACVzIDogJWYgJWYgJWYgJWYKACAgAEdyYXBoICVzIGhhcyBhcnJheSBwYWNraW5nIHdpdGggdXNlciB2YWx1ZXMgYnV0IG5vICJzb3J0diIgYXR0cmlidXRlcyBhcmUgZGVmaW5lZC4AbGVuAHBpbgBXYXJuaW5nOiBub2RlICVzLCBwb3NpdGlvbiAlcywgZXhwZWN0ZWQgdHdvIGZsb2F0cwoAY29vcmRzAGRpbQBsYXlvdXQgJXMKAGVuZCAlcwoAaWR4ID09IHN6AGxheW91dC5jAGV4cGFuZENsdXN0ZXIAaSA9PSBkZWcAZ2V0RWRnZUxpc3QAX2RnXyVkAGRlcml2ZSBncmFwaCAlcyBvZiAlcwoAbm9kZSAiJXMiIGlzIGNvbnRhaW5lZCBpbiB0d28gbm9uLWNvbXBhcmFibGUgY2x1c3RlcnMgIiVzIiBhbmQgIiVzIgoAX3BvcnRfJXNfJXNfJXNfJWxkAF9wb3J0XyVzXyglZClfKCVkKV8lbGQAJWxmLCVsZiwlbGYsJWxmJWMAZ3JhcGggJXMsIGNvb3JkICVzLCBleHBlY3RlZCBmb3VyIGRvdWJsZXMKAHNwbGluZXMgYW5kIGNsdXN0ZXIgZWRnZXMgbm90IHN1cHBvcnRlZCAtIHVzaW5nIGxpbmUgc2VnbWVudHMKAG1heGl0ZXIASwBUMABmZHAgZG9lcyBub3Qgc3VwcG9ydCBzdGFydD1zZWxmIC0gaWdub3JpbmcKAHhMYXlvdXQgADk6cHJpc20AdHJpZXMgPSAlZCwgbW9kZSA9ICVzCgBkZXJpdmVkAGluZm8Abm9ybWFsaXplAG92ZXJsYXAAT3ZlcmxhcCB2YWx1ZSAiJXMiIHVuc3VwcG9ydGVkIC0gaWdub3JlZAoAVW5yZWNvZ25pemVkIG92ZXJsYXAgdmFsdWUgIiVzIiAtIHVzaW5nIGZhbHNlCgBWb3Jvbm9pAG92ZXJsYXA6ICVzIHZhbHVlICVkIHNjYWxpbmcgJS4wNGYKAG92ZXJsYXBfc2NhbGluZwB2b3Jvbm9pAHNjYWxpbmcAdnBzYwBpcHNlcABvc2NhbGUAb2xkIHNjYWxpbmcAc2NhbGV4eQB4IGFuZCB5IHNjYWxpbmcAb3J0aG8Ab3J0aG9nb25hbCBjb25zdHJhaW50cwBvcnRob195eABvcnRob3h5AHh5IG9ydGhvZ29uYWwgY29uc3RyYWludHMAb3J0aG95eAB5eCBvcnRob2dvbmFsIGNvbnN0cmFpbnRzAHBvcnRobwBwc2V1ZG8tb3J0aG9nb25hbCBjb25zdHJhaW50cwBwb3J0aG9feXgAcG9ydGhveHkAeHkgcHNldWRvLW9ydGhvZ29uYWwgY29uc3RyYWludHMAcG9ydGhveXgAeXggcHNldWRvLW9ydGhvZ29uYWwgY29uc3RyYWludHMAcHJpc20AQWRqdXN0aW5nICVzIHVzaW5nICVzCgBVbmhhbmRsZWQgYWRqdXN0IG9wdGlvbiAlcwoATnVtYmVyIG9mIGl0ZXJhdGlvbnMgPSAlZAoATnVtYmVyIG9mIGluY3JlYXNlcyA9ICVkCgBvdmVybGFwIFslZF0gOiAlZAoAdm9yb19tYXJnaW4Ac2VwAGVzZXAATm9kZSBzZXBhcmF0aW9uOiBhZGQ9JWQgKCVmLCVmKQoAJWYsJWYAc2NhbGUgPSAoJS4wM2YsJS4wM2YpCgBFZGdlIHNlcGFyYXRpb246IGFkZD0lZCAoJWYsJWYpCgBDYWxjdWxhdGluZyBjaXJjdWl0IG1vZGVsAGNvbmp1Z2F0ZV9ncmFkaWVudDogdW5leHBlY3RlZCBsZW5ndGggMCB2ZWN0b3IKAENhbGN1bGF0aW5nIHN1YnNldCBtb2RlbABncmFwaCBpcyBkaXNjb25uZWN0ZWQuIEhlbmNlLCB0aGUgY2lyY3VpdCBtb2RlbAoAaXMgdW5kZWZpbmVkLiBSZXZlcnRpbmcgdG8gdGhlIHNob3J0ZXN0IHBhdGggbW9kZWwuCgBDYWxjdWxhdGluZyBNRFMgbW9kZWwAQ2FsY3VsYXRpbmcgc2hvcnRlc3QgcGF0aHMAOiAlLjJmIHNlYwoAU2V0dGluZyBpbml0aWFsIHBvc2l0aW9ucwA6ICUuMmYgc2VjAGNnAGRlbHRhIDw9IDB4RkZGRgBjb25zdHJhaW50LmMAbWtOQ29uc3RyYWludEcAdmcAY29tcHJlc3MgJWcgCgBzY2FsZSBieSAlZywlZyAKAGJlc3Rjb3N0IDwgSFVHRV9WQUwAY29tcHV0ZVNjYWxlWFkAdHJ5aW5nIHRvIGRlbGV0ZSBhIG5vbi1saW5lCgAKaW50ZXJzZWN0aW9uIGF0ICUuM2YgJS4zZgoAc2VnIyVkIDogKCUuM2YsICUuM2YpICglLjNmLCAlLjNmKQoAbWFrZUFkZFBvbHk6IHVua25vd24gc2hhcGUgdHlwZSAlcwoAbWFrZVBvbHk6IHVua25vd24gc2hhcGUgdHlwZSAlcwoAeCE9TlVMTABzbWFydF9pbmlfeC5jAElNRFNfZ2l2ZW5fZGltAGlsbC1jb25kaXRpb25lZAByb290ID0gJXMgbWF4IHN0ZXBzIHRvIHJvb3QgPSAlZAoAdHdvcGk6IHVzZSBvZiB3ZWlnaHQ9MCBjcmVhdGVzIGRpc2Nvbm5lY3RlZCBjb21wb25lbnQuCgBSYW5rIHNlcGFyYXRpb24gPSAAJS4wM2xmIABhcmVhAGluc2V0ACVzIGNvb3JkICUuNWcgJS41ZyBodCAlZiB3aWR0aCAlZgoAJS4wM2YAcmVjICVmICVmICVmICVmCgAlZiAtICVmICVmICVmICVmID0gJWYgKCVmICVmICVmICVmKQoAdHJ5aW5nIHRvIGFkZCB0byByZWN0IHslZiArLy0gJWYsICVmICsvLSAlZn0KAHRvdGFsIGFkZGVkIHNvIGZhciA9ICVkCgBhZGRpbmcgJWQgaXRlbXMsIHRvdGFsIGFyZWEgPSAlZiwgdyA9ICVmLCBhcmVhL3c9JWYKAGNvbXBvdW5kRWRnZXM6IGNvdWxkIG5vdCBjb25zdHJ1Y3Qgb2JzdGFjbGVzIC0gZmFsbGluZyBiYWNrIHRvIHN0cmFpZ2h0IGxpbmUgZWRnZXMKAGNvbXBvdW5kRWRnZXM6IG5vZGVzIHRvdWNoIC0gZmFsbGluZyBiYWNrIHRvIHN0cmFpZ2h0IGxpbmUgZWRnZXMKAHBhY2sgdmFsdWUgJWQgaXMgc21hbGxlciB0aGFuIGVzZXAgKCUuMDNmLCUuMDNmKQoAc2VwIHZhbHVlICglLjAzZiwlLjAzZikgaXMgc21hbGxlciB0aGFuIGVzZXAgKCUuMDNmLCUuMDNmKQoAY2Mlc18lZABjYyVzKyVkAGNfY250ID09IDAAY29tcC5jAGZpbmRDQ29tcABncmlkKCVkLCVkKTogJXMKAG9uZWJsb2NrAG1pbmRpc3QAYXJ0aWN1bGF0aW9uX3BvcwByb290AHJvb3QgPSAlcwoAX2Jsb2NrXyVkAHMtPnN6ID4gMABibG9ja3RyZWUuYwBwb3AAYWN0dWFsAG5vZGVsaXN0LmMAaW5zZXJ0Tm9kZWxpc3QAX3NwYW5fJWQAX2Nsb25lXyVkAGlwAGRlZ2xpc3QuYwByZW1vdmVEZWdsaXN0AEVycm9yAFdhcm5pbmcAJXM6IAB1c2Vyb3V0OiBjb3VsZCBub3QgYWxsb2NhdGUgbWVtb3J5CgBfQUdfc3RyZGF0YQBfQUdfZGF0YWRpY3QAYWdkaWN0b2Y6IHVua25vd24ga2luZCAlZAoAJWMlbGQAbWVtb3J5IGFsbG9jYXRpb24gZmFpbHVyZQBhZ2RlbGV0ZSBvbiB3cm9uZyBncmFwaABfQUdfcGVuZGluZwBhZ3JlY29yZF9jYWxsYmFjayBvZiBhIGJhZCBvYmplY3QAcGVuZCBkaWN0b2YgYSBiYWQgb2JqZWN0AG1vdmUgdG8gZnJvbnQgbG9jayBpbmNvbnNpc3RlbmN5AFxcAGZhdGFsIGZsZXggc2Nhbm5lciBpbnRlcm5hbCBlcnJvci0tbm8gYWN0aW9uIGZvdW5kACVzCgBmYXRhbCBmbGV4IHNjYW5uZXIgaW50ZXJuYWwgZXJyb3ItLWVuZCBvZiBidWZmZXIgbWlzc2VkAGZhdGFsIGVycm9yIC0gc2Nhbm5lciBpbnB1dCBidWZmZXIgb3ZlcmZsb3cAb3V0IG9mIGR5bmFtaWMgbWVtb3J5IGluIGFhZ19nZXRfbmV4dF9idWZmZXIoKQBpbnB1dABzeW50YXggYW1iaWd1aXR5IC0gYmFkbHkgZGVsaW1pdGVkIG51bWJlciAnACcgaW4gbGluZSAlZCBvZiAAIHNwbGl0cyBpbnRvIHR3byB0b2tlbnMKACVzAGxpbmUAJWQgJTFbIl0lbgBvdXQgb2YgZHluYW1pYyBtZW1vcnkgaW4gYWFnX2NyZWF0ZV9idWZmZXIoKQBvdXQgb2YgZHluYW1pYyBtZW1vcnkgaW4gYWFnZW5zdXJlX2J1ZmZlcl9zdGFjaygpADogACBpbiBsaW5lICVkACBuZWFyICcAIHNjYW5uaW5nIGEgcXVvdGVkIHN0cmluZyAobWlzc2luZyBlbmRxdW90ZT8gbG9uZ2VyIHRoYW4gJWQ/KQAKU3RyaW5nIHN0YXJ0aW5nOiIAIHNjYW5uaW5nIGEgSFRNTCBzdHJpbmcgKG1pc3NpbmcgJz4nPyBiYWQgbmVzdGluZz8gbG9uZ2VyIHRoYW4gJWQ/KQAKU3RyaW5nIHN0YXJ0aW5nOjwAIHNjYW5uaW5nIGEgLyouLi4qLyBjb21tZW50IChtaXNzaW5nICcqLz8gbG9uZ2VyIHRoYW4gJWQ/KQBmbGV4IHNjYW5uZXIgcHVzaC1iYWNrIG92ZXJmbG93ACIiAHN0cmljdABsaW5lbGVuZ3RoADsKACBba2V5PQBdACBbACwKAD0AXyVsZF9TVVNQRUNUAGRpAHN0cmljdCAAewoAXTsKABLu7hQJA+7+7u7uAe7u7gHu7gr+7hMZFe4TAe7u7u4LEe7u7u7u7u7u7gHu7hYJAQEdDxfu7hoXG+7uHO7u7u4BGfvu7u4B7hDu7h7u7u7uAAICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAhcRAgICAgICAgICAgICAhIQAhMCAhYCAgICAgICAgICAgICAgICAgICAgICAgICAhQCFQICAgICAgICAgICAgICAgICAgICAgICAgICAgICDgIPAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgECAwQFBgcICQoLDA0LAwQFDwcDDA0GDA0ODA0aFRYAAQADBw4GDwgMDRITKhARCRAvMBEyFxMNFBIuEhRBEzITLEAqQhksQkYiDA0OIw8JEBEKEBHJEBEtRUb8AQb2Dwf2JAIQES8wNk1OKCY7PCo2MTk9Py86QNhEMD4lN0M1Sys4SUwAAwkAAAABDgILDAgjJCU2Oz0ADRASGxYcEicyIhczHjwGBzUFDxEUGCkAEykAAAAAADcVKB0eACEmNB8wPhksABsAIBoqACs6Li8AMTg5LQACAgEAAwMBAAEAAQEBAAIBAQACAgMBAQAABQABAwEDBQMBAQEBAgABAAQCAAIBAQMCAQADAgEAAQEAAQEBAwAYGRkZGhscHB0dHh4fHyAgISEiIiMkJCYnJSUoKCkpKSoqKysrLCwtLS4vLzAxMTIzNDY1Nzc3ODg4OTk6Ou7u/+7u7u7u7h8g7gDv7u7uDO7u7ggN7u7u+O7u7u7u7vXu/wMIBCEFCxITJxQVFikyQRcYGRosMzRCR0gbShwdLh5PHyBrZXkAYXR0cmlidXRlIG1hY3JvcyBub3QgaW1wbGVtZW50ZWQAJXM6JXMAQ291bGQgbm90IG9wZW4gIiVzIiBmb3Igd3JpdGluZyA6ICVzCgBObyBsaWJ6IHN1cHBvcnQuCgAuJWQAbm9uYW1lLmd2AGd2d3JpdGVfbm9feiBwcm9ibGVtICVkCgBtZW1vcnkgYWxsb2NhdGlvbiBmYWlsdXJlCgBObyBsaWJ6IHN1cHBvcnQKAGd2cHJpbnRmOiAlcwoALTk5OTk5OTk5OTk5OTk5OS45OQBncmFwaHZpegAyLjQwLjEAMjAxNjEyMjUuMDMwNAByZW5kZXIAbGF5b3V0AGRldmljZQBsb2FkaW1hZ2UAZHluYW1pYyBsb2FkaW5nIG5vdCBhdmFpbGFibGUKAFVzaW5nICVzOiAlczolcwoAZ3Z1c2Vyc2hhcGUuYwBndnVzZXJzaGFwZV9maW5kAGd2dXNlcnNoYXBlX2ZpbGVfYWNjZXNzAEZpbGVuYW1lICIlcyIgaXMgdW5zYWZlCgAlcyB3aGlsZSBvcGVuaW5nICVzCgB1cy0+ZgBndnVzZXJzaGFwZV9vcGVuACIlcyIgd2FzIG5vdCBmb3VuZCBhcyBhIGZpbGUgb3IgYXMgYSBzaGFwZSBsaWJyYXJ5IG1lbWJlcgoAL01lZGlhQm94AChbYS16XVthLXpBLVpdKik9IihbXiJdKikiAGNhbm5vdCBjb21waWxlIHJlZ3VsYXIgZXhwcmVzc2lvbiAlcwAlbGYlMnMAcHQAdmlld0JveAAlbGYgJWxmICVsZiAlbGYAaW4AcHgAcGMAIgBjbQBtbQAlJUJvdW5kaW5nQm94OgAB0NHS09TV1tfY2QA8c3ZnAFdFQlAAd2VicAAobGliKQCJUE5HDQoaCgBwbmcAJSFQUy1BZG9iZS0AQk0AYm1wAEdJRjgAZ2lmAP/Y/+AAanBlZwAlUERGLQBwZGYAxdDTxgBlcHMAPD94bWwAeG1sAFJJRkYAcmlmZgAAAAEAAGljbwBMYXlvdXQgdHlwZTogIiVzIiBub3QgcmVjb2duaXplZC4gVXNlIG9uZSBvZjolcwoAJWQgJWQgJWQgJWQATGF5b3V0IHdhcyBub3QgZG9uZQoAZmFpbHVyZSBtYWxsb2MnaW5nIGZvciByZXN1bHQgc3RyaW5nAGdjOiBPdXQgb2YgbWVtb3J5CgBfY2NfAG9yaWcAb3AAY2NvbXBzLmMAbWFwQ2x1c3QAY2NncmFwaGluZm8AY2Nnbm9kZWluZm8AKCU0bGQpICU3bGQgbm9kZXMgJTdsZCBlZGdlcwoAICAgICAgICU3ZCBub2RlcyAlN2QgZWRnZXMgJTdsZCBjb21wb25lbnRzICVzCgBkZwBFcnJvcjogbm9kZSAiJXMiIGJlbG9uZ3MgdG8gdHdvIG5vbi1uZXN0ZWQgY2x1c3RlcnMgIiVzIiBhbmQgIiVzIgoAc29ydHYAcm93IG1ham9yAGNvbHVtbiBtYWpvcgBhcnJheSBwYWNraW5nOiAlcyAlZCByb3dzICVkIGNvbHVtbnMKAGJiWyVzXSAlLjVnICUuNWcgJS41ZyAlLjVnCgBzdGVwIHNpemUgPSAlZAoAcG9zWyVkXSAlZCAlZAoAY2MgKCVkIGNlbGxzKSBhdCAoJWQsJWQpICglZCwlZCkKAGNjICglZCBjZWxscykgYXQgKCVkLCVkKQoAJXMgbm8uIGNlbGxzICVkIFcgJWQgSCAlZAoAICAlZCAlZCBjZWxsCgBsaWJwYWNrOiBkaXNjID0gJWYgKCA8IDApCgBQYWNraW5nOiBjb21wdXRlIGdyaWQgc2l6ZQoAYSAlZiBiICVmIGMgJWYgZCAlZiByICVmCgByb290ICVkICglZikgJWQgKCVmKQoAIHIxICVmIHIyICVmCgBwaW5mbwBwYWNrLmMAZ2V0UGFja0luZm8AICBtYXJnaW4gJWQKAHBhY2ttb2RlAHBhcnNlUGFja01vZGVJbmZvAGFycmF5AGFzcGVjdAAlZgBwYWNrIGluZm86CgAgIG1vZGUgICAlcwoAICBhc3BlY3QgJWYKACAgc2l6ZSAgICVkCgAgIGZsYWdzICAlZAoAdW5kZWZpbmVkAHBhY2sAQXJyb3cgdHlwZSAiJXMiIHVua25vd24gLSBpZ25vcmluZwoAbm9ybWFsAGNyb3cAdGVlAGRvdABpbnYAdmVlAHBlbgBtcHR5AGN1cnZlAGljdXJ2ZQBsAGhhbGYAaW52ZW1wdHkAX2JhY2tncm91bmQAX2RyYXdfAENvdWxkIG5vdCBwYXJzZSAiX2JhY2tncm91bmQiIGF0dHJpYnV0ZSBpbiBncmFwaCAlcwoAICAiJXMiCgBubyBtZW1vcnkgZnJvbSB6bWFsbG9jKCkKAG9iagBlbWl0LmMAcG9wX29ial9zdGF0ZQBjbHVzdAAlbGQAcGFnZSVkLCVkXwBUb3RhbCBzaXplID4gMSBpbiAiJXMiIGNvbG9yIHNwZWMgAElsbGVnYWwgbGVuZ3RoIHZhbHVlIGluICIlcyIgY29sb3IgYXR0cmlidXRlIABsbnJjb2xvcnNjaGVtZQBlbWl0X2VkZ2VfbGFiZWwAJXMtJXMAZm9yd2FyZABiYWNrACAtPiAAIC0tIABpbiBlZGdlICVzJXMlcwoAbGFiZWxhbGlnbmVkAGVkZ2VocmVmAGVkZ2VVUkwAbGFiZWxocmVmAGxhYmVsVVJMAHRhaWxocmVmAHRhaWxVUkwAaGVhZGhyZWYAaGVhZFVSTABlZGdldGFyZ2V0AGxhYmVsdGFyZ2V0AHRhaWx0YXJnZXQAaGVhZHRhcmdldABlZGdldG9vbHRpcABsYWJlbHRvb2x0aXAAdGFpbHRvb2x0aXAAaGVhZHRvb2x0aXAAAW5lc3Rpbmcgbm90IGFsbG93ZWQgaW4gc3R5bGU6ICVzCgB1bm1hdGNoZWQgJyknIGluIHN0eWxlOiAlcwoAdHJ1bmNhdGluZyBzdHlsZSAnJXMnCgB1bm1hdGNoZWQgJygnIGluIHN0eWxlOiAlcwoAYWxsAGluIGNsdXN0ZXIgJXMKAE1vcmUgdGhhbiAyIGNvbG9ycyBzcGVjaWZpZWQgZm9yIGEgZ3JhZGllbnQgLSBpZ25vcmluZyByZW1haW5pbmcKAGdyYWRpZW50IHBlbiBjb2xvcnMgbm90IHlldCBzdXBwb3J0ZWQuCgBJbWFnZXMgdW5zdXBwb3J0ZWQgaW4gImJhY2tncm91bmQiIGF0dHJpYnV0ZQoAbGF5ZXJzIG5vdCBzdXBwb3J0ZWQgaW4gJXMgb3V0cHV0CgBMYXlvdXQgd2FzIG5vdCBkb25lLiAgTWlzc2luZyBsYXlvdXQgcGx1Z2lucz8gCgBndlJlbmRlckpvYnMgJXM6ICUuMmYgc2Vjcy4KAGxheW91dCB3YXMgbm90IGRvbmUKAHJlbmRlcmVyIGZvciAlcyBpcyB1bmF2YWlsYWJsZQoAcGFnZWRpcj0lcyBpZ25vcmVkCgB2aWV3cG9ydAAlbGYsJWxmLCVsZiwnJVteJ10nACVsZiwlbGYsJWxmLCVbXixdJXMAJWxmLCVsZiwlbGYsJWxmLCVsZgBvdXRwdXRvcmRlcgBvZGVzZmlyc3QAZGdlc2ZpcnN0AGxheWVycwBsYXllcnNlbGVjdABUaGUgbGF5ZXJzZWxlY3QgYXR0cmlidXRlICIlcyIgZG9lcyBub3QgbWF0Y2ggYW55IGxheWVyIHNwZWNpZmVkIGJ5IHRoZSBsYXllcnMgYXR0cmlidXRlIC0gaWdub3JlZC4KAGxheWVyc2VwADoJIABsYXllcmxpc3RzZXAALABUaGUgY2hhcmFjdGVyICclYycgYXBwZWFycyBpbiBib3RoIHRoZSBsYXllcnNlcCBhbmQgbGF5ZXJsaXN0c2VwIGF0dHJpYnV0ZXMgLSBsYXllcmxpc3RzZXAgaWdub3JlZC4KAHBhZABCTABwYWdlZGlyAHNvbGlkAABzZXRsaW5ld2lkdGgAMQAAc3BsLT5zaXplID4gMABpbml0X3NwbGluZXNfYmIAYnouc2l6ZSA+IDAAYmV6aWVyX2JiAGJ6LnNpemUgJSAzID09IDEAJWxmAGZvbnRwYXRoAERPVEZPTlRQQVRIAEdERk9OVFBBVEgAaW1hZ2VwYXRoAHF1YW50dW0AcmFua2RpcgBMUgBCVABSTABub2Rlc2VwAHJhbmtzZXAAZXF1YWxseQBzaG93Ym94ZXMAZm9udG5hbWVzAHNpemUAcGFnZQBjZW50ZXIAcm90YXRlAG9yaWVudGF0aW9uAGxhbmRzY2FwZQBjbHVzdGVycmFuawBjb25jZW50cmF0ZQBkcGkAcmVzb2x1dGlvbgBvcmRlcmluZwBmaWxsY29sb3IAZm9udHNpemUAZm9udG5hbWUAZm9udGNvbG9yAHhsYWJlbABwZW53aWR0aABwZXJpcGhlcmllcwBza2V3AGRpc3RvcnRpb24Abm9qdXN0aWZ5AGxheWVyAGdyb3VwAGNvbW1lbnQAdmVydGljZXMAegB3ZWlnaHQAbGFiZWxmbG9hdABkaXIAYXJyb3doZWFkAGFycm93dGFpbABoZWFkbGFiZWwAdGFpbGxhYmVsAGxhYmVsZm9udHNpemUAbGFiZWxmb250bmFtZQBsYWJlbGZvbnRjb2xvcgBsYWJlbGRpc3RhbmNlAGxhYmVsYW5nbGUAbWlubGVuAGRlY29yYXRlAGFycm93c2l6ZQBjb25zdHJhaW50AHRhaWxjbGlwAGhlYWRjbGlwAGxhYmVsanVzdABsb2NhbABnbG9iYWwAJWxmLCVsZiVjACVsZiVjAHJhdGlvAGF1dG8AY29tcHJlc3MAZXhwYW5kAGZpbGwAZ2QAcHMAc3ZnAGNoYXJzZXQAdXRmLTgAbGF0aW4tMQBsYXRpbjEAbDEASVNPLTg4NTktMQBJU09fODg1OS0xAElTTzg4NTktMQBJU08tSVItMTAwAGJpZy01AGJpZzUAdXRmOABVbnN1cHBvcnRlZCBjaGFyc2V0ICIlcyIgLSBhc3N1bWluZyB1dGYtOAoAVW5zdXBwb3J0ZWQgY2hhcnNldCB2YWx1ZSAlZAoAVVRGLTgAQklHLTUAaW4gbGFiZWwgb2YgZ3JhcGggJXMKAGluIGxhYmVsIG9mIG5vZGUgJXMKAGluIGxhYmVsIG9mIGVkZ2UgJXMgJXMgJXMKAGtpbmQgPT0gTFRfTk9ORQBsYWJlbHMuYwBtYWtlX2xhYmVsAFxMAFxHAFxFAFxIAFxUACYjMTM7ACYjMTA7ACZxdW90OwAmIzE2MDsAJmFtcDsAJmd0OwAmIzM5OwAmIzQ1OwAmbHQ7ACVzICVkIG5vZGVzICVkIGVkZ2VzIG1heGl0ZXI9JWQgYmFsYW5jZT0lZAoAbmV0d29yayBzaW1wbGV4OiAAJWQgACVzJWQgbm9kZXMgJWQgZWRnZXMgJWQgaXRlciAlLjJmIHNlYwoAdXBkYXRlOiBtaXNtYXRjaGVkIGxjYSBpbiB0cmVldXBkYXRlcwoAVHJlZV9lZGdlLnNpemUgPT0gTl9ub2RlcyAtIDEAbnMuYwBmZWFzaWJsZV90cmVlACFUUkVFX0VER0UoZSkAbWVyZ2VfdHJlZXMAKHIwLT5oZWFwX2luZGV4ID4gLTEpIHx8IChyMS0+aGVhcF9pbmRleCA+IC0xKQBTVHNldFVuaW9uAHItPmhlYXBfaW5kZXggPj0gMABhZGRfdHJlZV9lZGdlOiBtaXNzaW5nIHRyZWUgZWRnZQoAYWRkX3RyZWVfZWRnZTogZW1wdHkgb3V0ZWRnZSBsaXN0CgBhZGRfdHJlZV9lZGdlOiBlbXB0eSBpbmVkZ2UgbGlzdAoAdHJvdWJsZSBpbiBpbml0X3JhbmsKAAklcyAlZAoAc2VhcmNoc2l6ZQBncmFwaCAAIABub2RlIABzdG9wCgAlLjVnAHBvcwByZWN0cwB4bHAAbHAAaGVhZF9scAB0YWlsX2xwAGx3aWR0aABsaGVpZ2h0AGJiACUuNWcsJS41ZywlLjVnACwlLjVnACUuNWcsJS41ZwBzYW1wbGVwb2ludHMAJS41ZyAlLjVnAHMsJS41ZywlLjVnIABlLCUuNWcsJS41ZyAAJS41ZywlLjVnLCUuNWcsJS41ZwAlLjJmACUuNWcsJS41ZywlLjVnLCUuNWcgAC9wYXRoYm94IHsKICAgIC9YIGV4Y2ggbmVnICUuNWcgc3ViIGRlZgogICAgL1kgZXhjaCAlLjVnIHN1YiBkZWYKICAgIC94IGV4Y2ggbmVnICUuNWcgc3ViIGRlZgogICAgL3kgZXhjaCAlLjVnIHN1YiBkZWYKICAgIG5ld3BhdGggeCB5IG1vdmV0bwogICAgWCB5IGxpbmV0bwogICAgWCBZIGxpbmV0bwogICAgeCBZIGxpbmV0bwogICAgY2xvc2VwYXRoIHN0cm9rZQp9IGRlZgoAL3BhdGhib3ggewogICAgL1kgZXhjaCAlLjVnIHN1YiBkZWYKICAgIC9YIGV4Y2ggJS41ZyBzdWIgZGVmCiAgICAveSBleGNoICUuNWcgc3ViIGRlZgogICAgL3ggZXhjaCAlLjVnIHN1YiBkZWYKICAgIG5ld3BhdGggeCB5IG1vdmV0bwogICAgWCB5IGxpbmV0bwogICAgWCBZIGxpbmV0bwogICAgeCBZIGxpbmV0bwogICAgY2xvc2VwYXRoIHN0cm9rZQogfSBkZWYKL2RiZ3N0YXJ0IHsgZ3NhdmUgJS41ZyAlLjVnIHRyYW5zbGF0ZSB9IGRlZgovYXJyb3dsZW5ndGggMTAgZGVmCi9hcnJvd3dpZHRoIGFycm93bGVuZ3RoIDIgZGl2IGRlZgovYXJyb3doZWFkIHsKICAgIGdzYXZlCiAgICByb3RhdGUKICAgIGN1cnJlbnRwb2ludAogICAgbmV3cGF0aAogICAgbW92ZXRvCiAgICBhcnJvd2xlbmd0aCBhcnJvd3dpZHRoIDIgZGl2IHJsaW5ldG8KICAgIDAgYXJyb3d3aWR0aCBuZWcgcmxpbmV0bwogICAgY2xvc2VwYXRoIGZpbGwKICAgIGdyZXN0b3JlCn0gYmluZCBkZWYKL21ha2VhcnJvdyB7CiAgICBjdXJyZW50cG9pbnQgZXhjaCBwb3Agc3ViIGV4Y2ggY3VycmVudHBvaW50IHBvcCBzdWIgYXRhbgogICAgYXJyb3doZWFkCn0gYmluZCBkZWYKL3BvaW50IHsgICAgbmV3cGF0aCAgICAyIDAgMzYwIGFyYyBmaWxsfSBkZWYvbWFrZXZlYyB7CiAgICAvWSBleGNoIGRlZgogICAgL1ggZXhjaCBkZWYKICAgIC95IGV4Y2ggZGVmCiAgICAveCBleGNoIGRlZgogICAgbmV3cGF0aCB4IHkgbW92ZXRvCiAgICBYIFkgbGluZXRvIHN0cm9rZQogICAgWCBZIG1vdmV0bwogICAgeCB5IG1ha2VhcnJvdwp9IGRlZgoAbG9zdCAlcyAlcyBlZGdlCgBubyBwb3NpdGlvbiBmb3IgZWRnZSB3aXRoIGxhYmVsICVzAG5vIHBvc2l0aW9uIGZvciBlZGdlIHdpdGggdGFpbCBsYWJlbCAlcwBubyBwb3NpdGlvbiBmb3IgZWRnZSB3aXRoIGhlYWQgbGFiZWwgJXMAbm8gcG9zaXRpb24gZm9yIGVkZ2Ugd2l0aCB4bGFiZWwgJXMAZm9yY2VsYWJlbHMAJWQgb3V0IG9mICVkIGxhYmVscyBwb3NpdGlvbmVkLgoAJWQgb3V0IG9mICVkIGV4dGVyaW9yIGxhYmVscyBwb3NpdGlvbmVkLgoAJWQgb2JqcyAlZCB4bGFiZWxzIGZvcmNlPSVkIGJiPSglLjAyZiwlLjAyZikgKCUuMDJmLCUuMDJmKQoAb2JqZWN0cwoAIFslZF0gKCUuMDJmLCUuMDJmKSAoJS4wMmYsJS4wMmYpICVwICIlcyIKAHhsYWJlbHMKACBbJWRdICVwIHNldCAlZCAoJS4wMmYsJS4wMmYpICglLjAyZiwlLjAyZikgJXMKAHNoYXBlZmlsZSBub3Qgc2V0IG9yIG5vdCBmb3VuZCBmb3IgZXBzZiBub2RlICVzCgBjb3VsZG4ndCBvcGVuIGVwc2YgZmlsZSAlcwoAJSUlJUJvdW5kaW5nQm94OiAlZCAlZCAlZCAlZAByZWFkAEJvdW5kaW5nQm94IG5vdCBmb3VuZCBpbiBlcHNmIGZpbGUgJXMKAGNhbid0IGZpbmQgbGlicmFyeSBmaWxlICVzCgBjYW4ndCBvcGVuIGxpYnJhcnkgZmlsZSAlcwoARU9GAEJFR0lOAEVORABUUkFJTEVSAC91c2VyX3NoYXBlXyVkIHsKACUlQmVnaW5Eb2N1bWVudDoKACUlRW5kRG9jdW1lbnQKAH0gYmluZCBkZWYKAFVURi04IGlucHV0IHVzZXMgbm9uLUxhdGluMSBjaGFyYWN0ZXJzIHdoaWNoIGNhbm5vdCBiZSBoYW5kbGVkIGJ5IHRoaXMgUG9zdFNjcmlwdCBkcml2ZXIKAGNhbm5vdCByZS1hbGxvY2F0ZSBwcwoAcm91dGVzcGxpbmVzaW5pdDogY2Fubm90IGFsbG9jYXRlIHBzCgByb3V0ZXNwbGluZXM6ICVkIGVkZ2VzLCAlZCBib3hlcyAlLjJmIHNlYwoAaW4gcm91dGVzcGxpbmVzLCBjYW5ub3QgZmluZCBOT1JNQUwgZWRnZQoAaW4gcm91dGVzcGxpbmVzLCBpbGxlZ2FsIHZhbHVlcyBvZiBwcmV2ICVkIGFuZCBuZXh0ICVkLCBsaW5lICVkCgBpbiByb3V0ZXNwbGluZXMsIGVkZ2UgaXMgYSBsb29wIGF0ICVzCgBpbiByb3V0ZXNwbGluZXMsIFBzaG9ydGVzdHBhdGggZmFpbGVkCgBpbiByb3V0ZXNwbGluZXMsIFByb3V0ZXNwbGluZSBmYWlsZWQKAFVuYWJsZSB0byByZWNsYWltIGJveCBzcGFjZSBpbiBzcGxpbmUgcm91dGluZyBmb3IgZWRnZSAiJXMiIC0+ICIlcyIuIFNvbWV0aGluZyBpcyBwcm9iYWJseSBzZXJpb3VzbHkgd3JvbmcuCgBpbiBjaGVja3BhdGgsIGJveCAwIGhhcyBMTCBjb29yZCA+IFVSIGNvb3JkCgBpbiBjaGVja3BhdGgsIGJveCAlZCBoYXMgTEwgY29vcmQgPiBVUiBjb29yZAoAaW4gY2hlY2twYXRoLCBib3hlcyAlZCBhbmQgJWQgZG9uJ3QgdG91Y2gKAGluIGNoZWNrcGF0aCwgc3RhcnQgcG9ydCBub3QgaW4gZmlyc3QgYm94CgBpbiBjaGVja3BhdGgsIGVuZCBwb3J0IG5vdCBpbiBsYXN0IGJveAoAJWQgYm94ZXM6CgAlZCAoJS41ZywgJS41ZyksICglLjVnLCAlLjVnKQoAY29uc3RyYWluZWQAbm90IGNvbnN0cmFpbmVkAHN0YXJ0IHBvcnQ6ICglLjVnLCAlLjVnKSwgdGFuZ2VudCBhbmdsZTogJS41ZywgJXMKAGVuZCBwb3J0OiAoJS41ZywgJS41ZyksIHRhbmdlbnQgYW5nbGU6ICUuNWcsICVzCgBzaWRlcyA9PSA0AHNoYXBlcy5jAHJvdW5kX2Nvcm5lcnMAYmFkIGxhYmVsIGZvcm1hdCAlcwoAXE4AbWFyZ2luACVsZiwlbGYAcmVndWxhcgBjdXN0b20Ac2hhcGVmaWxlADxuaWw+AE5vIG9yIGltcHJvcGVyIHNoYXBlZmlsZT0iJXMiIGZvciBub2RlICIlcyIKAE5vIG9yIGltcHJvcGVyIGltYWdlPSIlcyIgZm9yIG5vZGUgIiVzIgoAbGFiZWxsb2MAbm9kZSAnJXMnLCBncmFwaCAnJXMnIHNpemUgdG9vIHNtYWxsIGZvciBsYWJlbAoAZXBzZgB1c2luZyAlcyBmb3IgdW5rbm93biBzaGFwZSAlcwoAcG9seWdvbgBvdmFsAGNpcmNsZQBwb2ludABlZ2cAdHJpYW5nbGUAcGxhaW50ZXh0AHBsYWluAGRpYW1vbmQAdHJhcGV6aXVtAHBhcmFsbGVsb2dyYW0AaG91c2UAcGVudGFnb24AaGV4YWdvbgBzZXB0YWdvbgBvY3RhZ29uAG5vdGUAdGFiAGZvbGRlcgBib3gzZABjb21wb25lbnQAY3lsaW5kZXIAcmVjdAByZWN0YW5nbGUAc3F1YXJlAGRvdWJsZWNpcmNsZQBkb3VibGVvY3RhZ29uAHRyaXBsZW9jdGFnb24AaW52dHJpYW5nbGUAaW52dHJhcGV6aXVtAGludmhvdXNlAHVuZGVybGluZQBNZGlhbW9uZABNc3F1YXJlAE1jaXJjbGUAcHJvbW90ZXIAY2RzAHRlcm1pbmF0b3IAdXRyAGluc3VsYXRvcgByaWJvc2l0ZQBybmFzdGFiAHByb3RlYXNlc2l0ZQBwcm90ZWluc3RhYgBwcmltZXJzaXRlAHJlc3RyaWN0aW9uc2l0ZQBmaXZlcG92ZXJoYW5nAHRocmVlcG92ZXJoYW5nAG5vdmVyaGFuZwBhc3NlbWJseQBzaWduYXR1cmUAcnByb21vdGVyAGxhcnJvdwByYXJyb3cAbHByb21vdGVyAHJlY29yZABNcmVjb3JkAHN0YXIAIzgwODA4MAAjZmNmY2ZjACMzMDMwMzAAI2U4ZThlOAAjZTBlMGUwACNmMGYwZjAAIzEwMTAxMAAjZjhmOGY4AGluIG5vZGUgJXMKAHJvdW5kZWQAZGlhZ29uYWxzAHJhZGlhbABzdHJpcGVkAHdlZGdlZABfAG5vZGUgJXMsIHBvcnQgJXMsIHVucmVjb2duaXplZCBjb21wYXNzIHBvaW50ICclcycgLSBpZ25vcmVkCgBub2RlICVzLCBwb3J0ICVzIHVucmVjb2duaXplZAoAJS41ZyAlLjVnIHRyYW5zbGF0ZSBuZXdwYXRoIHVzZXJfc2hhcGVfJWQKAGludmlzAABmaWxsZWQAAHMAZQB3AHNwbGluZXMuYwBiZWdpbnBhdGgAUC0+ZW5kLnRoZXRhIDwgMiAqIE1fUEkAZW5kcGF0aABtYWtlU2VsZkVkZ2UAZ2V0c3BsaW5lcG9pbnRzOiBubyBzcGxpbmUgcG9pbnRzIGF2YWlsYWJsZSBmb3IgZWRnZSAoJXMsJXMpCgBwb2x5bGluZU1pZHBvaW50AHNwYW4tPmZvbnQAdGV4dHNwYW4uYwB0ZXh0c3Bhbl9zaXplAGZvbnQtPm5hbWUAZm9udG5hbWU6ICIlcyIgcmVzb2x2ZWQgdG86ICVzCgBmb250bmFtZTogdW5hYmxlIHRvIHJlc29sdmUgIiVzIgoAY291cgBhcmlhbABoZWx2ZXRpY2EAW2ludGVybmFsIHRpbWVzXQBbaW50ZXJuYWwgY291cmllcl0AW2ludGVybmFsIGFyaWFsXQBBdmFudEdhcmRlLUJvb2sAVVJXIEdvdGhpYyBMAGJvb2sAc2Fucy1TZXJpZgBBdmFudEdhcmRlLUJvb2tPYmxpcXVlAG9ibGlxdWUAaXRhbGljAEF2YW50R2FyZGUtRGVtaQBkZW1pAEF2YW50R2FyZGUtRGVtaU9ibGlxdWUAQm9va21hbi1EZW1pAFVSVyBCb29rbWFuIEwAc2VyaWYAQm9va21hbi1EZW1pSXRhbGljAEJvb2ttYW4tTGlnaHQAbGlnaHQAQm9va21hbi1MaWdodEl0YWxpYwBDb3VyaWVyAG1vbm9zcGFjZQBDb3VyaWVyLUJvbGQAQ291cmllci1Cb2xkT2JsaXF1ZQBDb3VyaWVyLU9ibGlxdWUASGVsdmV0aWNhAEhlbHZldGljYS1Cb2xkAEhlbHZldGljYS1Cb2xkT2JsaXF1ZQBIZWx2ZXRpY2EtTmFycm93AGNvbmRlbnNlZABIZWx2ZXRpY2EtTmFycm93LUJvbGQASGVsdmV0aWNhLU5hcnJvdy1Cb2xkT2JsaXF1ZQBIZWx2ZXRpY2EtTmFycm93LU9ibGlxdWUASGVsdmV0aWNhLU9ibGlxdWUATmV3Q2VudHVyeVNjaGxiay1Cb2xkAENlbnR1cnkgU2Nob29sYm9vayBMAE5ld0NlbnR1cnlTY2hsYmstQm9sZEl0YWxpYwBOZXdDZW50dXJ5U2NobGJrLUl0YWxpYwBOZXdDZW50dXJ5U2NobGJrLVJvbWFuAHJvbWFuAFBhbGF0aW5vLUJvbGQAUGFsYXRpbm8gTGlub3R5cGUAUGFsYXRpbm8tQm9sZEl0YWxpYwBQYWxhdGluby1JdGFsaWMAUGFsYXRpbm8tUm9tYW4AU3ltYm9sAGZhbnRhc3kAVGltZXMtQm9sZABUaW1lcwBUaW1lcy1Cb2xkSXRhbGljAFRpbWVzLUl0YWxpYwBaYXBmQ2hhbmNlcnktTWVkaXVtSXRhbGljAFVSVyBDaGFuY2VyeSBMAG1lZGl1bQBaYXBmRGluZ2JhdHMARGluZ2JhdHMAaW5wdXRzY2FsZQBubwB0cnVlAHllcwB1dGlscy5jAHUgPT0gVUZfZmluZCh1KQBVRl9zZXRuYW1lAAFmaWxlIGxvYWRpbmcgaXMgZGlzYWJsZWQgYmVjYXVzZSB0aGUgZW52aXJvbm1lbnQgY29udGFpbnMgU0VSVkVSX05BTUU9IiVzIgphbmQgdGhlIEdWX0ZJTEVfUEFUSCB2YXJpYWJsZSBpcyB1bnNldCBvciBlbXB0eS4KAFBhdGggcHJvdmlkZWQgdG8gZmlsZTogIiVzIiBoYXMgYmVlbiBpZ25vcmVkIGJlY2F1c2UgZmlsZXMgYXJlIG9ubHkgcGVybWl0dGVkIHRvIGJlIGxvYWRlZCBmcm9tIHRoZSBkaXJlY3RvcmllcyBpbiAiJXMiIHdoZW4gcnVubmluZyBpbiBhbiBodHRwIHNlcnZlci4KACVzJXMlcwAvADoAZWxsaXBzZQBUaW1lcy1Sb21hbgBjbHVzdGVyAF9fY2x1c3Rlcm5vZGVzAGNsdXN0ZXIgY3ljbGUgJXMgLS0gJXMgbm90IHN1cHBvcnRlZAoAdGFpbCBjbHVzdGVyICVzIGluc2lkZSBoZWFkIGNsdXN0ZXIgJXMKAGhlYWQgY2x1c3RlciAlcyBpbnNpZGUgdGFpbCBjbHVzdGVyICVzCgB0YWlsIG5vZGUgJXMgaW5zaWRlIGhlYWQgY2x1c3RlciAlcwoAaGVhZCBub2RlICVzIGluc2lkZSB0YWlsIGNsdXN0ZXIgJXMKAF9fAGxhYmVsAHNoYXBlAGJveABUd28gY2x1c3RlcnMgbmFtZWQgJXMgLSB0aGUgc2Vjb25kIHdpbGwgYmUgaWdub3JlZAoAbWFwTgBBRWxpZwBBYWN1dGUAQWNpcmMAQWdyYXZlAEFscGhhAEFyaW5nAEF0aWxkZQBBdW1sAEJldGEAQ2NlZGlsAENoaQBEYWdnZXIARGVsdGEARVRIAEVhY3V0ZQBFY2lyYwBFZ3JhdmUARXBzaWxvbgBFdGEARXVtbABHYW1tYQBJYWN1dGUASWNpcmMASWdyYXZlAElvdGEASXVtbABLYXBwYQBMYW1iZGEATXUATnRpbGRlAE51AE9FbGlnAE9hY3V0ZQBPY2lyYwBPZ3JhdmUAT21lZ2EAT21pY3JvbgBPc2xhc2gAT3RpbGRlAE91bWwAUGhpAFBpAFByaW1lAFBzaQBSaG8AU2Nhcm9uAFNpZ21hAFRIT1JOAFRhdQBUaGV0YQBVYWN1dGUAVWNpcmMAVWdyYXZlAFVwc2lsb24AVXVtbABYaQBZYWN1dGUAWXVtbABaZXRhAGFhY3V0ZQBhY2lyYwBhY3V0ZQBhZWxpZwBhZ3JhdmUAYWxlZnN5bQBhbHBoYQBhbXAAYW5kAGFuZwBhcmluZwBhc3ltcABhdGlsZGUAYXVtbABiZHF1bwBiZXRhAGJydmJhcgBidWxsAGNhcABjY2VkaWwAY2VkaWwAY2VudABjaGkAY2lyYwBjbHVicwBjb25nAGNvcHkAY3JhcnIAY3VwAGN1cnJlbgBkQXJyAGRhZ2dlcgBkYXJyAGRlZwBkZWx0YQBkaWFtcwBkaXZpZGUAZWFjdXRlAGVjaXJjAGVncmF2ZQBlbXB0eQBlbXNwAGVuc3AAZXBzaWxvbgBlcXVpdgBldGEAZXRoAGV1bWwAZXVybwBleGlzdABmbm9mAGZvcmFsbABmcmFjMTIAZnJhYzE0AGZyYWMzNABmcmFzbABnYW1tYQBnZQBndABoQXJyAGhhcnIAaGVhcnRzAGhlbGxpcABpYWN1dGUAaWNpcmMAaWV4Y2wAaWdyYXZlAGltYWdlAGluZmluAGludABpb3RhAGlxdWVzdABpc2luAGl1bWwAa2FwcGEAbEFycgBsYW1iZGEAbGFuZwBsYXF1bwBsYXJyAGxjZWlsAGxkcXVvAGxlAGxmbG9vcgBsb3dhc3QAbG96AGxybQBsc2FxdW8AbHNxdW8AbHQAbWFjcgBtZGFzaABtaWNybwBtaWRkb3QAbXUAbmFibGEAbmJzcABuZGFzaABuZQBuaQBub3QAbm90aW4AbnN1YgBudGlsZGUAbnUAb2FjdXRlAG9jaXJjAG9lbGlnAG9ncmF2ZQBvbGluZQBvbWVnYQBvbWljcm9uAG9wbHVzAG9yAG9yZGYAb3JkbQBvc2xhc2gAb3RpbGRlAG90aW1lcwBvdW1sAHBhcmEAcGFydABwZXJtaWwAcGVycABwaGkAcGkAcGl2AHBsdXNtbgBwb3VuZABwcmltZQBwcm9kAHByb3AAcHNpAHF1b3QAckFycgByYWRpYwByYW5nAHJhcXVvAHJhcnIAcmNlaWwAcmRxdW8AcmVhbAByZWcAcmZsb29yAHJobwBybG0AcnNhcXVvAHJzcXVvAHNicXVvAHNjYXJvbgBzZG90AHNlY3QAc2h5AHNpZ21hAHNpZ21hZgBzaW0Ac3BhZGVzAHN1YgBzdWJlAHN1bQBzdXAAc3VwMQBzdXAyAHN1cDMAc3VwZQBzemxpZwB0YXUAdGhlcmU0AHRoZXRhAHRoZXRhc3ltAHRoaW5zcAB0aG9ybgB0aWxkZQB0aW1lcwB0cmFkZQB1QXJyAHVhY3V0ZQB1YXJyAHVjaXJjAHVncmF2ZQB1bWwAdXBzaWgAdXBzaWxvbgB1dW1sAHdlaWVycAB4aQB5YWN1dGUAeWVuAHl1bWwAemV0YQB6d2oAenduagBVVEY4IGNvZGVzID4gNCBieXRlcyBhcmUgbm90IGN1cnJlbnRseSBzdXBwb3J0ZWQgKGdyYXBoICVzKSAtIHRyZWF0ZWQgYXMgTGF0aW4tMS4gUGVyaGFwcyAiLUdjaGFyc2V0PWxhdGluMSIgaXMgbmVlZGVkPwoASW52YWxpZCAlZC1ieXRlIFVURjggZm91bmQgaW4gaW5wdXQgb2YgZ3JhcGggJXMgLSB0cmVhdGVkIGFzIExhdGluLTEuIFBlcmhhcHMgIi1HY2hhcnNldD1sYXRpbjEiIGlzIG5lZWRlZD8KAGJ6LnNpemUAb3ZlcmxhcF9iZXppZXIAdXJ2ZWQAb21wb3VuZABhbHNlAGluZQBvbmUAbwBydGhvAG9seWxpbmUAcGxpbmUAcnVlAGVzAFVua25vd24gInNwbGluZXMiIHZhbHVlOiAiJXMiIC0gaWdub3JlZAoAc3BsaW5lcwBvZGIAT3J0aG9nb25hbCBlZGdlcyBkbyBub3QgY3VycmVudGx5IGhhbmRsZSBlZGdlIGxhYmVscy4gVHJ5IHVzaW5nIHhsYWJlbHMuCgBvcnRobyAlcyAlcwoAY2hhbmkAb3J0aG8uYwBjaGFuU2VhcmNoAGNwACUlIVBTLUFkb2JlLTIuMAolJSUlQm91bmRpbmdCb3g6IChhdGVuZCkKL3BvaW50IHsKICAvWSBleGNoIGRlZgogIC9YIGV4Y2ggZGVmCiAgbmV3cGF0aAogIFggWSAzIDAgMzYwIGFyYyBmaWxsCn0gZGVmCi9jZWxsIHsKICAvWSBleGNoIGRlZgogIC9YIGV4Y2ggZGVmCiAgL3kgZXhjaCBkZWYKICAveCBleGNoIGRlZgogIG5ld3BhdGgKICB4IHkgbW92ZXRvCiAgeCBZIGxpbmV0bwogIFggWSBsaW5ldG8KICBYIHkgbGluZXRvCiAgY2xvc2VwYXRoIHN0cm9rZQp9IGRlZgovbm9kZSB7CiAvdSBleGNoIGRlZgogL3IgZXhjaCBkZWYKIC9kIGV4Y2ggZGVmCiAvbCBleGNoIGRlZgogbmV3cGF0aCBsIGQgbW92ZXRvCiByIGQgbGluZXRvIHIgdSBsaW5ldG8gbCB1IGxpbmV0bwogY2xvc2VwYXRoIGZpbGwKfSBkZWYKCgAlZCAlZCB0cmFuc2xhdGUKADAuOCAwLjggMC44IHNldHJnYmNvbG9yCgBzaG93cGFnZQolJSUlVHJhaWxlcgolJSUlQm91bmRpbmdCb3g6ICVkICVkICVkICVkCgBuZXdwYXRoICVkICVkIG1vdmV0bwoAJWQgJWQgbGluZXRvCgAlZCAlZCBsaW5ldG8gc3Ryb2tlCgBjaGFubmVsICVkICglZiwlZikKACAtPgoAICAgICAAKCglZiwlZiksKCVmLCVmKSkgJXMgJXMAQl9SSUdIVABCX0RPV04AQl9MRUZUAEJfVVAAQl9OT0RFAHNlZwBuZXh0X3NlZwBkZWNpZGVfcG9pbnQAaW5jb21wYXJhYmxlIHNlZ21lbnRzICEhIC0tIEFib3J0aW5nCgBzMS0+Y29tbV9jb29yZD09czItPmNvbW1fY29vcmQAaXNfcGFyYWxsZWwAZ3JhcGggRyB7CgAgbm9kZVtzaGFwZT1wb2ludF0KACAgJWQgW3Bvcz0iJWQsJWQiXQoAICAlZCAtLSAlZFtsZW49IiVmIl0KAH0KAGNvbG9yICVzACVzIGlzIG5vdCBhIGtub3duIGNvbG9yLgoAZXJyb3IgaW4gY29seGxhdGUoKQoAc29saWQAaW52aXNpYmxlAGJvbGQAc2V0bGluZXdpZHRoAGZpbGxlZAB1bmZpbGxlZAB0YXBlcmVkAGd2cmVuZGVyX3NldF9zdHlsZTogdW5zdXBwb3J0ZWQgc3R5bGUgJXMgLSBpZ25vcmluZwoAZ3ZyZW5kZXIuYwBndnJlbmRlcl91c2Vyc2hhcGUAbmFtZQBuYW1lWzBdAGJvdGgAam9iAGd2bG9hZGltYWdlLmMAZ3Zsb2FkaW1hZ2UAdXMAdXMtPm5hbWUAdXMtPm5hbWVbMF0ATm8gbG9hZGltYWdlIHBsdWdpbiBmb3IgIiVzIgoAUQBMZWZ0AEtQX0xlZnQAUmlnaHQAS1BfUmlnaHQAVXAAS1BfVXAARG93bgBLUF9Eb3duAHBsdXMAS1BfQWRkAG1pbnVzAEtQX1N1YnRyYWN0AEYAZWRnZQB0YWlscG9ydABoZWFkcG9ydABrZXkAVVJMAG5vZGUAZGlncmFwaABncmFwaABzdWJncmFwaABfTFRYX2xpYnJhcnkAdGV4dGxheW91dABvYmpwLT5sYmwAeGxhYmVscy5jAHhsYWRqdXN0AHhsaW50ZXJzZWN0aW9ucwBscCAhPSBjbHAAZ2V0aW50cnN4aQBvYmpwMS0+c3oueCA9PSAwICYmIG9ianAxLT5zei55ID09IDAAbGJsZW5jbG9zaW5nAHZwAHhsaGR4dW5sb2FkAHNpemU9PWZyZWVkAHJlY3QuYm91bmRhcnlbMl0gPCBJTlRfTUFYAG9ianBscG1rcwByZWN0LmJvdW5kYXJ5WzNdIDwgSU5UX01BWABvdXQgb2YgbWVtb3J5CgAjJTJ4JTJ4JTJ4JTJ4ACVsZiVsZiVsZgAvYWNjZW50My8xAC9hY2NlbnQzLzIAL2FjY2VudDMvMwAvYWNjZW50NC8xAC9hY2NlbnQ0LzIAL2FjY2VudDQvMwAvYWNjZW50NC80AC9hY2NlbnQ1LzEAL2FjY2VudDUvMgAvYWNjZW50NS8zAC9hY2NlbnQ1LzQAL2FjY2VudDUvNQAvYWNjZW50Ni8xAC9hY2NlbnQ2LzIAL2FjY2VudDYvMwAvYWNjZW50Ni80AC9hY2NlbnQ2LzUAL2FjY2VudDYvNgAvYWNjZW50Ny8xAC9hY2NlbnQ3LzIAL2FjY2VudDcvMwAvYWNjZW50Ny80AC9hY2NlbnQ3LzUAL2FjY2VudDcvNgAvYWNjZW50Ny83AC9hY2NlbnQ4LzEAL2FjY2VudDgvMgAvYWNjZW50OC8zAC9hY2NlbnQ4LzQAL2FjY2VudDgvNQAvYWNjZW50OC82AC9hY2NlbnQ4LzcAL2FjY2VudDgvOAAvYmx1ZXMzLzEAL2JsdWVzMy8yAC9ibHVlczMvMwAvYmx1ZXM0LzEAL2JsdWVzNC8yAC9ibHVlczQvMwAvYmx1ZXM0LzQAL2JsdWVzNS8xAC9ibHVlczUvMgAvYmx1ZXM1LzMAL2JsdWVzNS80AC9ibHVlczUvNQAvYmx1ZXM2LzEAL2JsdWVzNi8yAC9ibHVlczYvMwAvYmx1ZXM2LzQAL2JsdWVzNi81AC9ibHVlczYvNgAvYmx1ZXM3LzEAL2JsdWVzNy8yAC9ibHVlczcvMwAvYmx1ZXM3LzQAL2JsdWVzNy81AC9ibHVlczcvNgAvYmx1ZXM3LzcAL2JsdWVzOC8xAC9ibHVlczgvMgAvYmx1ZXM4LzMAL2JsdWVzOC80AC9ibHVlczgvNQAvYmx1ZXM4LzYAL2JsdWVzOC83AC9ibHVlczgvOAAvYmx1ZXM5LzEAL2JsdWVzOS8yAC9ibHVlczkvMwAvYmx1ZXM5LzQAL2JsdWVzOS81AC9ibHVlczkvNgAvYmx1ZXM5LzcAL2JsdWVzOS84AC9ibHVlczkvOQAvYnJiZzEwLzEAL2JyYmcxMC8xMAAvYnJiZzEwLzIAL2JyYmcxMC8zAC9icmJnMTAvNAAvYnJiZzEwLzUAL2JyYmcxMC82AC9icmJnMTAvNwAvYnJiZzEwLzgAL2JyYmcxMC85AC9icmJnMTEvMQAvYnJiZzExLzEwAC9icmJnMTEvMTEAL2JyYmcxMS8yAC9icmJnMTEvMwAvYnJiZzExLzQAL2JyYmcxMS81AC9icmJnMTEvNgAvYnJiZzExLzcAL2JyYmcxMS84AC9icmJnMTEvOQAvYnJiZzMvMQAvYnJiZzMvMgAvYnJiZzMvMwAvYnJiZzQvMQAvYnJiZzQvMgAvYnJiZzQvMwAvYnJiZzQvNAAvYnJiZzUvMQAvYnJiZzUvMgAvYnJiZzUvMwAvYnJiZzUvNAAvYnJiZzUvNQAvYnJiZzYvMQAvYnJiZzYvMgAvYnJiZzYvMwAvYnJiZzYvNAAvYnJiZzYvNQAvYnJiZzYvNgAvYnJiZzcvMQAvYnJiZzcvMgAvYnJiZzcvMwAvYnJiZzcvNAAvYnJiZzcvNQAvYnJiZzcvNgAvYnJiZzcvNwAvYnJiZzgvMQAvYnJiZzgvMgAvYnJiZzgvMwAvYnJiZzgvNAAvYnJiZzgvNQAvYnJiZzgvNgAvYnJiZzgvNwAvYnJiZzgvOAAvYnJiZzkvMQAvYnJiZzkvMgAvYnJiZzkvMwAvYnJiZzkvNAAvYnJiZzkvNQAvYnJiZzkvNgAvYnJiZzkvNwAvYnJiZzkvOAAvYnJiZzkvOQAvYnVnbjMvMQAvYnVnbjMvMgAvYnVnbjMvMwAvYnVnbjQvMQAvYnVnbjQvMgAvYnVnbjQvMwAvYnVnbjQvNAAvYnVnbjUvMQAvYnVnbjUvMgAvYnVnbjUvMwAvYnVnbjUvNAAvYnVnbjUvNQAvYnVnbjYvMQAvYnVnbjYvMgAvYnVnbjYvMwAvYnVnbjYvNAAvYnVnbjYvNQAvYnVnbjYvNgAvYnVnbjcvMQAvYnVnbjcvMgAvYnVnbjcvMwAvYnVnbjcvNAAvYnVnbjcvNQAvYnVnbjcvNgAvYnVnbjcvNwAvYnVnbjgvMQAvYnVnbjgvMgAvYnVnbjgvMwAvYnVnbjgvNAAvYnVnbjgvNQAvYnVnbjgvNgAvYnVnbjgvNwAvYnVnbjgvOAAvYnVnbjkvMQAvYnVnbjkvMgAvYnVnbjkvMwAvYnVnbjkvNAAvYnVnbjkvNQAvYnVnbjkvNgAvYnVnbjkvNwAvYnVnbjkvOAAvYnVnbjkvOQAvYnVwdTMvMQAvYnVwdTMvMgAvYnVwdTMvMwAvYnVwdTQvMQAvYnVwdTQvMgAvYnVwdTQvMwAvYnVwdTQvNAAvYnVwdTUvMQAvYnVwdTUvMgAvYnVwdTUvMwAvYnVwdTUvNAAvYnVwdTUvNQAvYnVwdTYvMQAvYnVwdTYvMgAvYnVwdTYvMwAvYnVwdTYvNAAvYnVwdTYvNQAvYnVwdTYvNgAvYnVwdTcvMQAvYnVwdTcvMgAvYnVwdTcvMwAvYnVwdTcvNAAvYnVwdTcvNQAvYnVwdTcvNgAvYnVwdTcvNwAvYnVwdTgvMQAvYnVwdTgvMgAvYnVwdTgvMwAvYnVwdTgvNAAvYnVwdTgvNQAvYnVwdTgvNgAvYnVwdTgvNwAvYnVwdTgvOAAvYnVwdTkvMQAvYnVwdTkvMgAvYnVwdTkvMwAvYnVwdTkvNAAvYnVwdTkvNQAvYnVwdTkvNgAvYnVwdTkvNwAvYnVwdTkvOAAvYnVwdTkvOQAvZGFyazIzLzEAL2RhcmsyMy8yAC9kYXJrMjMvMwAvZGFyazI0LzEAL2RhcmsyNC8yAC9kYXJrMjQvMwAvZGFyazI0LzQAL2RhcmsyNS8xAC9kYXJrMjUvMgAvZGFyazI1LzMAL2RhcmsyNS80AC9kYXJrMjUvNQAvZGFyazI2LzEAL2RhcmsyNi8yAC9kYXJrMjYvMwAvZGFyazI2LzQAL2RhcmsyNi81AC9kYXJrMjYvNgAvZGFyazI3LzEAL2RhcmsyNy8yAC9kYXJrMjcvMwAvZGFyazI3LzQAL2RhcmsyNy81AC9kYXJrMjcvNgAvZGFyazI3LzcAL2RhcmsyOC8xAC9kYXJrMjgvMgAvZGFyazI4LzMAL2RhcmsyOC80AC9kYXJrMjgvNQAvZGFyazI4LzYAL2RhcmsyOC83AC9kYXJrMjgvOAAvZ25idTMvMQAvZ25idTMvMgAvZ25idTMvMwAvZ25idTQvMQAvZ25idTQvMgAvZ25idTQvMwAvZ25idTQvNAAvZ25idTUvMQAvZ25idTUvMgAvZ25idTUvMwAvZ25idTUvNAAvZ25idTUvNQAvZ25idTYvMQAvZ25idTYvMgAvZ25idTYvMwAvZ25idTYvNAAvZ25idTYvNQAvZ25idTYvNgAvZ25idTcvMQAvZ25idTcvMgAvZ25idTcvMwAvZ25idTcvNAAvZ25idTcvNQAvZ25idTcvNgAvZ25idTcvNwAvZ25idTgvMQAvZ25idTgvMgAvZ25idTgvMwAvZ25idTgvNAAvZ25idTgvNQAvZ25idTgvNgAvZ25idTgvNwAvZ25idTgvOAAvZ25idTkvMQAvZ25idTkvMgAvZ25idTkvMwAvZ25idTkvNAAvZ25idTkvNQAvZ25idTkvNgAvZ25idTkvNwAvZ25idTkvOAAvZ25idTkvOQAvZ3JlZW5zMy8xAC9ncmVlbnMzLzIAL2dyZWVuczMvMwAvZ3JlZW5zNC8xAC9ncmVlbnM0LzIAL2dyZWVuczQvMwAvZ3JlZW5zNC80AC9ncmVlbnM1LzEAL2dyZWVuczUvMgAvZ3JlZW5zNS8zAC9ncmVlbnM1LzQAL2dyZWVuczUvNQAvZ3JlZW5zNi8xAC9ncmVlbnM2LzIAL2dyZWVuczYvMwAvZ3JlZW5zNi80AC9ncmVlbnM2LzUAL2dyZWVuczYvNgAvZ3JlZW5zNy8xAC9ncmVlbnM3LzIAL2dyZWVuczcvMwAvZ3JlZW5zNy80AC9ncmVlbnM3LzUAL2dyZWVuczcvNgAvZ3JlZW5zNy83AC9ncmVlbnM4LzEAL2dyZWVuczgvMgAvZ3JlZW5zOC8zAC9ncmVlbnM4LzQAL2dyZWVuczgvNQAvZ3JlZW5zOC82AC9ncmVlbnM4LzcAL2dyZWVuczgvOAAvZ3JlZW5zOS8xAC9ncmVlbnM5LzIAL2dyZWVuczkvMwAvZ3JlZW5zOS80AC9ncmVlbnM5LzUAL2dyZWVuczkvNgAvZ3JlZW5zOS83AC9ncmVlbnM5LzgAL2dyZWVuczkvOQAvZ3JleXMzLzEAL2dyZXlzMy8yAC9ncmV5czMvMwAvZ3JleXM0LzEAL2dyZXlzNC8yAC9ncmV5czQvMwAvZ3JleXM0LzQAL2dyZXlzNS8xAC9ncmV5czUvMgAvZ3JleXM1LzMAL2dyZXlzNS80AC9ncmV5czUvNQAvZ3JleXM2LzEAL2dyZXlzNi8yAC9ncmV5czYvMwAvZ3JleXM2LzQAL2dyZXlzNi81AC9ncmV5czYvNgAvZ3JleXM3LzEAL2dyZXlzNy8yAC9ncmV5czcvMwAvZ3JleXM3LzQAL2dyZXlzNy81AC9ncmV5czcvNgAvZ3JleXM3LzcAL2dyZXlzOC8xAC9ncmV5czgvMgAvZ3JleXM4LzMAL2dyZXlzOC80AC9ncmV5czgvNQAvZ3JleXM4LzYAL2dyZXlzOC83AC9ncmV5czgvOAAvZ3JleXM5LzEAL2dyZXlzOS8yAC9ncmV5czkvMwAvZ3JleXM5LzQAL2dyZXlzOS81AC9ncmV5czkvNgAvZ3JleXM5LzcAL2dyZXlzOS84AC9ncmV5czkvOQAvb3JhbmdlczMvMQAvb3JhbmdlczMvMgAvb3JhbmdlczMvMwAvb3JhbmdlczQvMQAvb3JhbmdlczQvMgAvb3JhbmdlczQvMwAvb3JhbmdlczQvNAAvb3JhbmdlczUvMQAvb3JhbmdlczUvMgAvb3JhbmdlczUvMwAvb3JhbmdlczUvNAAvb3JhbmdlczUvNQAvb3JhbmdlczYvMQAvb3JhbmdlczYvMgAvb3JhbmdlczYvMwAvb3JhbmdlczYvNAAvb3JhbmdlczYvNQAvb3JhbmdlczYvNgAvb3JhbmdlczcvMQAvb3JhbmdlczcvMgAvb3JhbmdlczcvMwAvb3JhbmdlczcvNAAvb3JhbmdlczcvNQAvb3JhbmdlczcvNgAvb3JhbmdlczcvNwAvb3JhbmdlczgvMQAvb3JhbmdlczgvMgAvb3JhbmdlczgvMwAvb3JhbmdlczgvNAAvb3JhbmdlczgvNQAvb3JhbmdlczgvNgAvb3JhbmdlczgvNwAvb3JhbmdlczgvOAAvb3JhbmdlczkvMQAvb3JhbmdlczkvMgAvb3JhbmdlczkvMwAvb3JhbmdlczkvNAAvb3JhbmdlczkvNQAvb3JhbmdlczkvNgAvb3JhbmdlczkvNwAvb3JhbmdlczkvOAAvb3JhbmdlczkvOQAvb3JyZDMvMQAvb3JyZDMvMgAvb3JyZDMvMwAvb3JyZDQvMQAvb3JyZDQvMgAvb3JyZDQvMwAvb3JyZDQvNAAvb3JyZDUvMQAvb3JyZDUvMgAvb3JyZDUvMwAvb3JyZDUvNAAvb3JyZDUvNQAvb3JyZDYvMQAvb3JyZDYvMgAvb3JyZDYvMwAvb3JyZDYvNAAvb3JyZDYvNQAvb3JyZDYvNgAvb3JyZDcvMQAvb3JyZDcvMgAvb3JyZDcvMwAvb3JyZDcvNAAvb3JyZDcvNQAvb3JyZDcvNgAvb3JyZDcvNwAvb3JyZDgvMQAvb3JyZDgvMgAvb3JyZDgvMwAvb3JyZDgvNAAvb3JyZDgvNQAvb3JyZDgvNgAvb3JyZDgvNwAvb3JyZDgvOAAvb3JyZDkvMQAvb3JyZDkvMgAvb3JyZDkvMwAvb3JyZDkvNAAvb3JyZDkvNQAvb3JyZDkvNgAvb3JyZDkvNwAvb3JyZDkvOAAvb3JyZDkvOQAvcGFpcmVkMTAvMQAvcGFpcmVkMTAvMTAAL3BhaXJlZDEwLzIAL3BhaXJlZDEwLzMAL3BhaXJlZDEwLzQAL3BhaXJlZDEwLzUAL3BhaXJlZDEwLzYAL3BhaXJlZDEwLzcAL3BhaXJlZDEwLzgAL3BhaXJlZDEwLzkAL3BhaXJlZDExLzEAL3BhaXJlZDExLzEwAC9wYWlyZWQxMS8xMQAvcGFpcmVkMTEvMgAvcGFpcmVkMTEvMwAvcGFpcmVkMTEvNAAvcGFpcmVkMTEvNQAvcGFpcmVkMTEvNgAvcGFpcmVkMTEvNwAvcGFpcmVkMTEvOAAvcGFpcmVkMTEvOQAvcGFpcmVkMTIvMQAvcGFpcmVkMTIvMTAAL3BhaXJlZDEyLzExAC9wYWlyZWQxMi8xMgAvcGFpcmVkMTIvMgAvcGFpcmVkMTIvMwAvcGFpcmVkMTIvNAAvcGFpcmVkMTIvNQAvcGFpcmVkMTIvNgAvcGFpcmVkMTIvNwAvcGFpcmVkMTIvOAAvcGFpcmVkMTIvOQAvcGFpcmVkMy8xAC9wYWlyZWQzLzIAL3BhaXJlZDMvMwAvcGFpcmVkNC8xAC9wYWlyZWQ0LzIAL3BhaXJlZDQvMwAvcGFpcmVkNC80AC9wYWlyZWQ1LzEAL3BhaXJlZDUvMgAvcGFpcmVkNS8zAC9wYWlyZWQ1LzQAL3BhaXJlZDUvNQAvcGFpcmVkNi8xAC9wYWlyZWQ2LzIAL3BhaXJlZDYvMwAvcGFpcmVkNi80AC9wYWlyZWQ2LzUAL3BhaXJlZDYvNgAvcGFpcmVkNy8xAC9wYWlyZWQ3LzIAL3BhaXJlZDcvMwAvcGFpcmVkNy80AC9wYWlyZWQ3LzUAL3BhaXJlZDcvNgAvcGFpcmVkNy83AC9wYWlyZWQ4LzEAL3BhaXJlZDgvMgAvcGFpcmVkOC8zAC9wYWlyZWQ4LzQAL3BhaXJlZDgvNQAvcGFpcmVkOC82AC9wYWlyZWQ4LzcAL3BhaXJlZDgvOAAvcGFpcmVkOS8xAC9wYWlyZWQ5LzIAL3BhaXJlZDkvMwAvcGFpcmVkOS80AC9wYWlyZWQ5LzUAL3BhaXJlZDkvNgAvcGFpcmVkOS83AC9wYWlyZWQ5LzgAL3BhaXJlZDkvOQAvcGFzdGVsMTMvMQAvcGFzdGVsMTMvMgAvcGFzdGVsMTMvMwAvcGFzdGVsMTQvMQAvcGFzdGVsMTQvMgAvcGFzdGVsMTQvMwAvcGFzdGVsMTQvNAAvcGFzdGVsMTUvMQAvcGFzdGVsMTUvMgAvcGFzdGVsMTUvMwAvcGFzdGVsMTUvNAAvcGFzdGVsMTUvNQAvcGFzdGVsMTYvMQAvcGFzdGVsMTYvMgAvcGFzdGVsMTYvMwAvcGFzdGVsMTYvNAAvcGFzdGVsMTYvNQAvcGFzdGVsMTYvNgAvcGFzdGVsMTcvMQAvcGFzdGVsMTcvMgAvcGFzdGVsMTcvMwAvcGFzdGVsMTcvNAAvcGFzdGVsMTcvNQAvcGFzdGVsMTcvNgAvcGFzdGVsMTcvNwAvcGFzdGVsMTgvMQAvcGFzdGVsMTgvMgAvcGFzdGVsMTgvMwAvcGFzdGVsMTgvNAAvcGFzdGVsMTgvNQAvcGFzdGVsMTgvNgAvcGFzdGVsMTgvNwAvcGFzdGVsMTgvOAAvcGFzdGVsMTkvMQAvcGFzdGVsMTkvMgAvcGFzdGVsMTkvMwAvcGFzdGVsMTkvNAAvcGFzdGVsMTkvNQAvcGFzdGVsMTkvNgAvcGFzdGVsMTkvNwAvcGFzdGVsMTkvOAAvcGFzdGVsMTkvOQAvcGFzdGVsMjMvMQAvcGFzdGVsMjMvMgAvcGFzdGVsMjMvMwAvcGFzdGVsMjQvMQAvcGFzdGVsMjQvMgAvcGFzdGVsMjQvMwAvcGFzdGVsMjQvNAAvcGFzdGVsMjUvMQAvcGFzdGVsMjUvMgAvcGFzdGVsMjUvMwAvcGFzdGVsMjUvNAAvcGFzdGVsMjUvNQAvcGFzdGVsMjYvMQAvcGFzdGVsMjYvMgAvcGFzdGVsMjYvMwAvcGFzdGVsMjYvNAAvcGFzdGVsMjYvNQAvcGFzdGVsMjYvNgAvcGFzdGVsMjcvMQAvcGFzdGVsMjcvMgAvcGFzdGVsMjcvMwAvcGFzdGVsMjcvNAAvcGFzdGVsMjcvNQAvcGFzdGVsMjcvNgAvcGFzdGVsMjcvNwAvcGFzdGVsMjgvMQAvcGFzdGVsMjgvMgAvcGFzdGVsMjgvMwAvcGFzdGVsMjgvNAAvcGFzdGVsMjgvNQAvcGFzdGVsMjgvNgAvcGFzdGVsMjgvNwAvcGFzdGVsMjgvOAAvcGl5ZzEwLzEAL3BpeWcxMC8xMAAvcGl5ZzEwLzIAL3BpeWcxMC8zAC9waXlnMTAvNAAvcGl5ZzEwLzUAL3BpeWcxMC82AC9waXlnMTAvNwAvcGl5ZzEwLzgAL3BpeWcxMC85AC9waXlnMTEvMQAvcGl5ZzExLzEwAC9waXlnMTEvMTEAL3BpeWcxMS8yAC9waXlnMTEvMwAvcGl5ZzExLzQAL3BpeWcxMS81AC9waXlnMTEvNgAvcGl5ZzExLzcAL3BpeWcxMS84AC9waXlnMTEvOQAvcGl5ZzMvMQAvcGl5ZzMvMgAvcGl5ZzMvMwAvcGl5ZzQvMQAvcGl5ZzQvMgAvcGl5ZzQvMwAvcGl5ZzQvNAAvcGl5ZzUvMQAvcGl5ZzUvMgAvcGl5ZzUvMwAvcGl5ZzUvNAAvcGl5ZzUvNQAvcGl5ZzYvMQAvcGl5ZzYvMgAvcGl5ZzYvMwAvcGl5ZzYvNAAvcGl5ZzYvNQAvcGl5ZzYvNgAvcGl5ZzcvMQAvcGl5ZzcvMgAvcGl5ZzcvMwAvcGl5ZzcvNAAvcGl5ZzcvNQAvcGl5ZzcvNgAvcGl5ZzcvNwAvcGl5ZzgvMQAvcGl5ZzgvMgAvcGl5ZzgvMwAvcGl5ZzgvNAAvcGl5ZzgvNQAvcGl5ZzgvNgAvcGl5ZzgvNwAvcGl5ZzgvOAAvcGl5ZzkvMQAvcGl5ZzkvMgAvcGl5ZzkvMwAvcGl5ZzkvNAAvcGl5ZzkvNQAvcGl5ZzkvNgAvcGl5ZzkvNwAvcGl5ZzkvOAAvcGl5ZzkvOQAvcHJnbjEwLzEAL3ByZ24xMC8xMAAvcHJnbjEwLzIAL3ByZ24xMC8zAC9wcmduMTAvNAAvcHJnbjEwLzUAL3ByZ24xMC82AC9wcmduMTAvNwAvcHJnbjEwLzgAL3ByZ24xMC85AC9wcmduMTEvMQAvcHJnbjExLzEwAC9wcmduMTEvMTEAL3ByZ24xMS8yAC9wcmduMTEvMwAvcHJnbjExLzQAL3ByZ24xMS81AC9wcmduMTEvNgAvcHJnbjExLzcAL3ByZ24xMS84AC9wcmduMTEvOQAvcHJnbjMvMQAvcHJnbjMvMgAvcHJnbjMvMwAvcHJnbjQvMQAvcHJnbjQvMgAvcHJnbjQvMwAvcHJnbjQvNAAvcHJnbjUvMQAvcHJnbjUvMgAvcHJnbjUvMwAvcHJnbjUvNAAvcHJnbjUvNQAvcHJnbjYvMQAvcHJnbjYvMgAvcHJnbjYvMwAvcHJnbjYvNAAvcHJnbjYvNQAvcHJnbjYvNgAvcHJnbjcvMQAvcHJnbjcvMgAvcHJnbjcvMwAvcHJnbjcvNAAvcHJnbjcvNQAvcHJnbjcvNgAvcHJnbjcvNwAvcHJnbjgvMQAvcHJnbjgvMgAvcHJnbjgvMwAvcHJnbjgvNAAvcHJnbjgvNQAvcHJnbjgvNgAvcHJnbjgvNwAvcHJnbjgvOAAvcHJnbjkvMQAvcHJnbjkvMgAvcHJnbjkvMwAvcHJnbjkvNAAvcHJnbjkvNQAvcHJnbjkvNgAvcHJnbjkvNwAvcHJnbjkvOAAvcHJnbjkvOQAvcHVidTMvMQAvcHVidTMvMgAvcHVidTMvMwAvcHVidTQvMQAvcHVidTQvMgAvcHVidTQvMwAvcHVidTQvNAAvcHVidTUvMQAvcHVidTUvMgAvcHVidTUvMwAvcHVidTUvNAAvcHVidTUvNQAvcHVidTYvMQAvcHVidTYvMgAvcHVidTYvMwAvcHVidTYvNAAvcHVidTYvNQAvcHVidTYvNgAvcHVidTcvMQAvcHVidTcvMgAvcHVidTcvMwAvcHVidTcvNAAvcHVidTcvNQAvcHVidTcvNgAvcHVidTcvNwAvcHVidTgvMQAvcHVidTgvMgAvcHVidTgvMwAvcHVidTgvNAAvcHVidTgvNQAvcHVidTgvNgAvcHVidTgvNwAvcHVidTgvOAAvcHVidTkvMQAvcHVidTkvMgAvcHVidTkvMwAvcHVidTkvNAAvcHVidTkvNQAvcHVidTkvNgAvcHVidTkvNwAvcHVidTkvOAAvcHVidTkvOQAvcHVidWduMy8xAC9wdWJ1Z24zLzIAL3B1YnVnbjMvMwAvcHVidWduNC8xAC9wdWJ1Z240LzIAL3B1YnVnbjQvMwAvcHVidWduNC80AC9wdWJ1Z241LzEAL3B1YnVnbjUvMgAvcHVidWduNS8zAC9wdWJ1Z241LzQAL3B1YnVnbjUvNQAvcHVidWduNi8xAC9wdWJ1Z242LzIAL3B1YnVnbjYvMwAvcHVidWduNi80AC9wdWJ1Z242LzUAL3B1YnVnbjYvNgAvcHVidWduNy8xAC9wdWJ1Z243LzIAL3B1YnVnbjcvMwAvcHVidWduNy80AC9wdWJ1Z243LzUAL3B1YnVnbjcvNgAvcHVidWduNy83AC9wdWJ1Z244LzEAL3B1YnVnbjgvMgAvcHVidWduOC8zAC9wdWJ1Z244LzQAL3B1YnVnbjgvNQAvcHVidWduOC82AC9wdWJ1Z244LzcAL3B1YnVnbjgvOAAvcHVidWduOS8xAC9wdWJ1Z245LzIAL3B1YnVnbjkvMwAvcHVidWduOS80AC9wdWJ1Z245LzUAL3B1YnVnbjkvNgAvcHVidWduOS83AC9wdWJ1Z245LzgAL3B1YnVnbjkvOQAvcHVvcjEwLzEAL3B1b3IxMC8xMAAvcHVvcjEwLzIAL3B1b3IxMC8zAC9wdW9yMTAvNAAvcHVvcjEwLzUAL3B1b3IxMC82AC9wdW9yMTAvNwAvcHVvcjEwLzgAL3B1b3IxMC85AC9wdW9yMTEvMQAvcHVvcjExLzEwAC9wdW9yMTEvMTEAL3B1b3IxMS8yAC9wdW9yMTEvMwAvcHVvcjExLzQAL3B1b3IxMS81AC9wdW9yMTEvNgAvcHVvcjExLzcAL3B1b3IxMS84AC9wdW9yMTEvOQAvcHVvcjMvMQAvcHVvcjMvMgAvcHVvcjMvMwAvcHVvcjQvMQAvcHVvcjQvMgAvcHVvcjQvMwAvcHVvcjQvNAAvcHVvcjUvMQAvcHVvcjUvMgAvcHVvcjUvMwAvcHVvcjUvNAAvcHVvcjUvNQAvcHVvcjYvMQAvcHVvcjYvMgAvcHVvcjYvMwAvcHVvcjYvNAAvcHVvcjYvNQAvcHVvcjYvNgAvcHVvcjcvMQAvcHVvcjcvMgAvcHVvcjcvMwAvcHVvcjcvNAAvcHVvcjcvNQAvcHVvcjcvNgAvcHVvcjcvNwAvcHVvcjgvMQAvcHVvcjgvMgAvcHVvcjgvMwAvcHVvcjgvNAAvcHVvcjgvNQAvcHVvcjgvNgAvcHVvcjgvNwAvcHVvcjgvOAAvcHVvcjkvMQAvcHVvcjkvMgAvcHVvcjkvMwAvcHVvcjkvNAAvcHVvcjkvNQAvcHVvcjkvNgAvcHVvcjkvNwAvcHVvcjkvOAAvcHVvcjkvOQAvcHVyZDMvMQAvcHVyZDMvMgAvcHVyZDMvMwAvcHVyZDQvMQAvcHVyZDQvMgAvcHVyZDQvMwAvcHVyZDQvNAAvcHVyZDUvMQAvcHVyZDUvMgAvcHVyZDUvMwAvcHVyZDUvNAAvcHVyZDUvNQAvcHVyZDYvMQAvcHVyZDYvMgAvcHVyZDYvMwAvcHVyZDYvNAAvcHVyZDYvNQAvcHVyZDYvNgAvcHVyZDcvMQAvcHVyZDcvMgAvcHVyZDcvMwAvcHVyZDcvNAAvcHVyZDcvNQAvcHVyZDcvNgAvcHVyZDcvNwAvcHVyZDgvMQAvcHVyZDgvMgAvcHVyZDgvMwAvcHVyZDgvNAAvcHVyZDgvNQAvcHVyZDgvNgAvcHVyZDgvNwAvcHVyZDgvOAAvcHVyZDkvMQAvcHVyZDkvMgAvcHVyZDkvMwAvcHVyZDkvNAAvcHVyZDkvNQAvcHVyZDkvNgAvcHVyZDkvNwAvcHVyZDkvOAAvcHVyZDkvOQAvcHVycGxlczMvMQAvcHVycGxlczMvMgAvcHVycGxlczMvMwAvcHVycGxlczQvMQAvcHVycGxlczQvMgAvcHVycGxlczQvMwAvcHVycGxlczQvNAAvcHVycGxlczUvMQAvcHVycGxlczUvMgAvcHVycGxlczUvMwAvcHVycGxlczUvNAAvcHVycGxlczUvNQAvcHVycGxlczYvMQAvcHVycGxlczYvMgAvcHVycGxlczYvMwAvcHVycGxlczYvNAAvcHVycGxlczYvNQAvcHVycGxlczYvNgAvcHVycGxlczcvMQAvcHVycGxlczcvMgAvcHVycGxlczcvMwAvcHVycGxlczcvNAAvcHVycGxlczcvNQAvcHVycGxlczcvNgAvcHVycGxlczcvNwAvcHVycGxlczgvMQAvcHVycGxlczgvMgAvcHVycGxlczgvMwAvcHVycGxlczgvNAAvcHVycGxlczgvNQAvcHVycGxlczgvNgAvcHVycGxlczgvNwAvcHVycGxlczgvOAAvcHVycGxlczkvMQAvcHVycGxlczkvMgAvcHVycGxlczkvMwAvcHVycGxlczkvNAAvcHVycGxlczkvNQAvcHVycGxlczkvNgAvcHVycGxlczkvNwAvcHVycGxlczkvOAAvcHVycGxlczkvOQAvcmRidTEwLzEAL3JkYnUxMC8xMAAvcmRidTEwLzIAL3JkYnUxMC8zAC9yZGJ1MTAvNAAvcmRidTEwLzUAL3JkYnUxMC82AC9yZGJ1MTAvNwAvcmRidTEwLzgAL3JkYnUxMC85AC9yZGJ1MTEvMQAvcmRidTExLzEwAC9yZGJ1MTEvMTEAL3JkYnUxMS8yAC9yZGJ1MTEvMwAvcmRidTExLzQAL3JkYnUxMS81AC9yZGJ1MTEvNgAvcmRidTExLzcAL3JkYnUxMS84AC9yZGJ1MTEvOQAvcmRidTMvMQAvcmRidTMvMgAvcmRidTMvMwAvcmRidTQvMQAvcmRidTQvMgAvcmRidTQvMwAvcmRidTQvNAAvcmRidTUvMQAvcmRidTUvMgAvcmRidTUvMwAvcmRidTUvNAAvcmRidTUvNQAvcmRidTYvMQAvcmRidTYvMgAvcmRidTYvMwAvcmRidTYvNAAvcmRidTYvNQAvcmRidTYvNgAvcmRidTcvMQAvcmRidTcvMgAvcmRidTcvMwAvcmRidTcvNAAvcmRidTcvNQAvcmRidTcvNgAvcmRidTcvNwAvcmRidTgvMQAvcmRidTgvMgAvcmRidTgvMwAvcmRidTgvNAAvcmRidTgvNQAvcmRidTgvNgAvcmRidTgvNwAvcmRidTgvOAAvcmRidTkvMQAvcmRidTkvMgAvcmRidTkvMwAvcmRidTkvNAAvcmRidTkvNQAvcmRidTkvNgAvcmRidTkvNwAvcmRidTkvOAAvcmRidTkvOQAvcmRneTEwLzEAL3JkZ3kxMC8xMAAvcmRneTEwLzIAL3JkZ3kxMC8zAC9yZGd5MTAvNAAvcmRneTEwLzUAL3JkZ3kxMC82AC9yZGd5MTAvNwAvcmRneTEwLzgAL3JkZ3kxMC85AC9yZGd5MTEvMQAvcmRneTExLzEwAC9yZGd5MTEvMTEAL3JkZ3kxMS8yAC9yZGd5MTEvMwAvcmRneTExLzQAL3JkZ3kxMS81AC9yZGd5MTEvNgAvcmRneTExLzcAL3JkZ3kxMS84AC9yZGd5MTEvOQAvcmRneTMvMQAvcmRneTMvMgAvcmRneTMvMwAvcmRneTQvMQAvcmRneTQvMgAvcmRneTQvMwAvcmRneTQvNAAvcmRneTUvMQAvcmRneTUvMgAvcmRneTUvMwAvcmRneTUvNAAvcmRneTUvNQAvcmRneTYvMQAvcmRneTYvMgAvcmRneTYvMwAvcmRneTYvNAAvcmRneTYvNQAvcmRneTYvNgAvcmRneTcvMQAvcmRneTcvMgAvcmRneTcvMwAvcmRneTcvNAAvcmRneTcvNQAvcmRneTcvNgAvcmRneTcvNwAvcmRneTgvMQAvcmRneTgvMgAvcmRneTgvMwAvcmRneTgvNAAvcmRneTgvNQAvcmRneTgvNgAvcmRneTgvNwAvcmRneTgvOAAvcmRneTkvMQAvcmRneTkvMgAvcmRneTkvMwAvcmRneTkvNAAvcmRneTkvNQAvcmRneTkvNgAvcmRneTkvNwAvcmRneTkvOAAvcmRneTkvOQAvcmRwdTMvMQAvcmRwdTMvMgAvcmRwdTMvMwAvcmRwdTQvMQAvcmRwdTQvMgAvcmRwdTQvMwAvcmRwdTQvNAAvcmRwdTUvMQAvcmRwdTUvMgAvcmRwdTUvMwAvcmRwdTUvNAAvcmRwdTUvNQAvcmRwdTYvMQAvcmRwdTYvMgAvcmRwdTYvMwAvcmRwdTYvNAAvcmRwdTYvNQAvcmRwdTYvNgAvcmRwdTcvMQAvcmRwdTcvMgAvcmRwdTcvMwAvcmRwdTcvNAAvcmRwdTcvNQAvcmRwdTcvNgAvcmRwdTcvNwAvcmRwdTgvMQAvcmRwdTgvMgAvcmRwdTgvMwAvcmRwdTgvNAAvcmRwdTgvNQAvcmRwdTgvNgAvcmRwdTgvNwAvcmRwdTgvOAAvcmRwdTkvMQAvcmRwdTkvMgAvcmRwdTkvMwAvcmRwdTkvNAAvcmRwdTkvNQAvcmRwdTkvNgAvcmRwdTkvNwAvcmRwdTkvOAAvcmRwdTkvOQAvcmR5bGJ1MTAvMQAvcmR5bGJ1MTAvMTAAL3JkeWxidTEwLzIAL3JkeWxidTEwLzMAL3JkeWxidTEwLzQAL3JkeWxidTEwLzUAL3JkeWxidTEwLzYAL3JkeWxidTEwLzcAL3JkeWxidTEwLzgAL3JkeWxidTEwLzkAL3JkeWxidTExLzEAL3JkeWxidTExLzEwAC9yZHlsYnUxMS8xMQAvcmR5bGJ1MTEvMgAvcmR5bGJ1MTEvMwAvcmR5bGJ1MTEvNAAvcmR5bGJ1MTEvNQAvcmR5bGJ1MTEvNgAvcmR5bGJ1MTEvNwAvcmR5bGJ1MTEvOAAvcmR5bGJ1MTEvOQAvcmR5bGJ1My8xAC9yZHlsYnUzLzIAL3JkeWxidTMvMwAvcmR5bGJ1NC8xAC9yZHlsYnU0LzIAL3JkeWxidTQvMwAvcmR5bGJ1NC80AC9yZHlsYnU1LzEAL3JkeWxidTUvMgAvcmR5bGJ1NS8zAC9yZHlsYnU1LzQAL3JkeWxidTUvNQAvcmR5bGJ1Ni8xAC9yZHlsYnU2LzIAL3JkeWxidTYvMwAvcmR5bGJ1Ni80AC9yZHlsYnU2LzUAL3JkeWxidTYvNgAvcmR5bGJ1Ny8xAC9yZHlsYnU3LzIAL3JkeWxidTcvMwAvcmR5bGJ1Ny80AC9yZHlsYnU3LzUAL3JkeWxidTcvNgAvcmR5bGJ1Ny83AC9yZHlsYnU4LzEAL3JkeWxidTgvMgAvcmR5bGJ1OC8zAC9yZHlsYnU4LzQAL3JkeWxidTgvNQAvcmR5bGJ1OC82AC9yZHlsYnU4LzcAL3JkeWxidTgvOAAvcmR5bGJ1OS8xAC9yZHlsYnU5LzIAL3JkeWxidTkvMwAvcmR5bGJ1OS80AC9yZHlsYnU5LzUAL3JkeWxidTkvNgAvcmR5bGJ1OS83AC9yZHlsYnU5LzgAL3JkeWxidTkvOQAvcmR5bGduMTAvMQAvcmR5bGduMTAvMTAAL3JkeWxnbjEwLzIAL3JkeWxnbjEwLzMAL3JkeWxnbjEwLzQAL3JkeWxnbjEwLzUAL3JkeWxnbjEwLzYAL3JkeWxnbjEwLzcAL3JkeWxnbjEwLzgAL3JkeWxnbjEwLzkAL3JkeWxnbjExLzEAL3JkeWxnbjExLzEwAC9yZHlsZ24xMS8xMQAvcmR5bGduMTEvMgAvcmR5bGduMTEvMwAvcmR5bGduMTEvNAAvcmR5bGduMTEvNQAvcmR5bGduMTEvNgAvcmR5bGduMTEvNwAvcmR5bGduMTEvOAAvcmR5bGduMTEvOQAvcmR5bGduMy8xAC9yZHlsZ24zLzIAL3JkeWxnbjMvMwAvcmR5bGduNC8xAC9yZHlsZ240LzIAL3JkeWxnbjQvMwAvcmR5bGduNC80AC9yZHlsZ241LzEAL3JkeWxnbjUvMgAvcmR5bGduNS8zAC9yZHlsZ241LzQAL3JkeWxnbjUvNQAvcmR5bGduNi8xAC9yZHlsZ242LzIAL3JkeWxnbjYvMwAvcmR5bGduNi80AC9yZHlsZ242LzUAL3JkeWxnbjYvNgAvcmR5bGduNy8xAC9yZHlsZ243LzIAL3JkeWxnbjcvMwAvcmR5bGduNy80AC9yZHlsZ243LzUAL3JkeWxnbjcvNgAvcmR5bGduNy83AC9yZHlsZ244LzEAL3JkeWxnbjgvMgAvcmR5bGduOC8zAC9yZHlsZ244LzQAL3JkeWxnbjgvNQAvcmR5bGduOC82AC9yZHlsZ244LzcAL3JkeWxnbjgvOAAvcmR5bGduOS8xAC9yZHlsZ245LzIAL3JkeWxnbjkvMwAvcmR5bGduOS80AC9yZHlsZ245LzUAL3JkeWxnbjkvNgAvcmR5bGduOS83AC9yZHlsZ245LzgAL3JkeWxnbjkvOQAvcmVkczMvMQAvcmVkczMvMgAvcmVkczMvMwAvcmVkczQvMQAvcmVkczQvMgAvcmVkczQvMwAvcmVkczQvNAAvcmVkczUvMQAvcmVkczUvMgAvcmVkczUvMwAvcmVkczUvNAAvcmVkczUvNQAvcmVkczYvMQAvcmVkczYvMgAvcmVkczYvMwAvcmVkczYvNAAvcmVkczYvNQAvcmVkczYvNgAvcmVkczcvMQAvcmVkczcvMgAvcmVkczcvMwAvcmVkczcvNAAvcmVkczcvNQAvcmVkczcvNgAvcmVkczcvNwAvcmVkczgvMQAvcmVkczgvMgAvcmVkczgvMwAvcmVkczgvNAAvcmVkczgvNQAvcmVkczgvNgAvcmVkczgvNwAvcmVkczgvOAAvcmVkczkvMQAvcmVkczkvMgAvcmVkczkvMwAvcmVkczkvNAAvcmVkczkvNQAvcmVkczkvNgAvcmVkczkvNwAvcmVkczkvOAAvcmVkczkvOQAvc2V0MTMvMQAvc2V0MTMvMgAvc2V0MTMvMwAvc2V0MTQvMQAvc2V0MTQvMgAvc2V0MTQvMwAvc2V0MTQvNAAvc2V0MTUvMQAvc2V0MTUvMgAvc2V0MTUvMwAvc2V0MTUvNAAvc2V0MTUvNQAvc2V0MTYvMQAvc2V0MTYvMgAvc2V0MTYvMwAvc2V0MTYvNAAvc2V0MTYvNQAvc2V0MTYvNgAvc2V0MTcvMQAvc2V0MTcvMgAvc2V0MTcvMwAvc2V0MTcvNAAvc2V0MTcvNQAvc2V0MTcvNgAvc2V0MTcvNwAvc2V0MTgvMQAvc2V0MTgvMgAvc2V0MTgvMwAvc2V0MTgvNAAvc2V0MTgvNQAvc2V0MTgvNgAvc2V0MTgvNwAvc2V0MTgvOAAvc2V0MTkvMQAvc2V0MTkvMgAvc2V0MTkvMwAvc2V0MTkvNAAvc2V0MTkvNQAvc2V0MTkvNgAvc2V0MTkvNwAvc2V0MTkvOAAvc2V0MTkvOQAvc2V0MjMvMQAvc2V0MjMvMgAvc2V0MjMvMwAvc2V0MjQvMQAvc2V0MjQvMgAvc2V0MjQvMwAvc2V0MjQvNAAvc2V0MjUvMQAvc2V0MjUvMgAvc2V0MjUvMwAvc2V0MjUvNAAvc2V0MjUvNQAvc2V0MjYvMQAvc2V0MjYvMgAvc2V0MjYvMwAvc2V0MjYvNAAvc2V0MjYvNQAvc2V0MjYvNgAvc2V0MjcvMQAvc2V0MjcvMgAvc2V0MjcvMwAvc2V0MjcvNAAvc2V0MjcvNQAvc2V0MjcvNgAvc2V0MjcvNwAvc2V0MjgvMQAvc2V0MjgvMgAvc2V0MjgvMwAvc2V0MjgvNAAvc2V0MjgvNQAvc2V0MjgvNgAvc2V0MjgvNwAvc2V0MjgvOAAvc2V0MzEwLzEAL3NldDMxMC8xMAAvc2V0MzEwLzIAL3NldDMxMC8zAC9zZXQzMTAvNAAvc2V0MzEwLzUAL3NldDMxMC82AC9zZXQzMTAvNwAvc2V0MzEwLzgAL3NldDMxMC85AC9zZXQzMTEvMQAvc2V0MzExLzEwAC9zZXQzMTEvMTEAL3NldDMxMS8yAC9zZXQzMTEvMwAvc2V0MzExLzQAL3NldDMxMS81AC9zZXQzMTEvNgAvc2V0MzExLzcAL3NldDMxMS84AC9zZXQzMTEvOQAvc2V0MzEyLzEAL3NldDMxMi8xMAAvc2V0MzEyLzExAC9zZXQzMTIvMTIAL3NldDMxMi8yAC9zZXQzMTIvMwAvc2V0MzEyLzQAL3NldDMxMi81AC9zZXQzMTIvNgAvc2V0MzEyLzcAL3NldDMxMi84AC9zZXQzMTIvOQAvc2V0MzMvMQAvc2V0MzMvMgAvc2V0MzMvMwAvc2V0MzQvMQAvc2V0MzQvMgAvc2V0MzQvMwAvc2V0MzQvNAAvc2V0MzUvMQAvc2V0MzUvMgAvc2V0MzUvMwAvc2V0MzUvNAAvc2V0MzUvNQAvc2V0MzYvMQAvc2V0MzYvMgAvc2V0MzYvMwAvc2V0MzYvNAAvc2V0MzYvNQAvc2V0MzYvNgAvc2V0MzcvMQAvc2V0MzcvMgAvc2V0MzcvMwAvc2V0MzcvNAAvc2V0MzcvNQAvc2V0MzcvNgAvc2V0MzcvNwAvc2V0MzgvMQAvc2V0MzgvMgAvc2V0MzgvMwAvc2V0MzgvNAAvc2V0MzgvNQAvc2V0MzgvNgAvc2V0MzgvNwAvc2V0MzgvOAAvc2V0MzkvMQAvc2V0MzkvMgAvc2V0MzkvMwAvc2V0MzkvNAAvc2V0MzkvNQAvc2V0MzkvNgAvc2V0MzkvNwAvc2V0MzkvOAAvc2V0MzkvOQAvc3BlY3RyYWwxMC8xAC9zcGVjdHJhbDEwLzEwAC9zcGVjdHJhbDEwLzIAL3NwZWN0cmFsMTAvMwAvc3BlY3RyYWwxMC80AC9zcGVjdHJhbDEwLzUAL3NwZWN0cmFsMTAvNgAvc3BlY3RyYWwxMC83AC9zcGVjdHJhbDEwLzgAL3NwZWN0cmFsMTAvOQAvc3BlY3RyYWwxMS8xAC9zcGVjdHJhbDExLzEwAC9zcGVjdHJhbDExLzExAC9zcGVjdHJhbDExLzIAL3NwZWN0cmFsMTEvMwAvc3BlY3RyYWwxMS80AC9zcGVjdHJhbDExLzUAL3NwZWN0cmFsMTEvNgAvc3BlY3RyYWwxMS83AC9zcGVjdHJhbDExLzgAL3NwZWN0cmFsMTEvOQAvc3BlY3RyYWwzLzEAL3NwZWN0cmFsMy8yAC9zcGVjdHJhbDMvMwAvc3BlY3RyYWw0LzEAL3NwZWN0cmFsNC8yAC9zcGVjdHJhbDQvMwAvc3BlY3RyYWw0LzQAL3NwZWN0cmFsNS8xAC9zcGVjdHJhbDUvMgAvc3BlY3RyYWw1LzMAL3NwZWN0cmFsNS80AC9zcGVjdHJhbDUvNQAvc3BlY3RyYWw2LzEAL3NwZWN0cmFsNi8yAC9zcGVjdHJhbDYvMwAvc3BlY3RyYWw2LzQAL3NwZWN0cmFsNi81AC9zcGVjdHJhbDYvNgAvc3BlY3RyYWw3LzEAL3NwZWN0cmFsNy8yAC9zcGVjdHJhbDcvMwAvc3BlY3RyYWw3LzQAL3NwZWN0cmFsNy81AC9zcGVjdHJhbDcvNgAvc3BlY3RyYWw3LzcAL3NwZWN0cmFsOC8xAC9zcGVjdHJhbDgvMgAvc3BlY3RyYWw4LzMAL3NwZWN0cmFsOC80AC9zcGVjdHJhbDgvNQAvc3BlY3RyYWw4LzYAL3NwZWN0cmFsOC83AC9zcGVjdHJhbDgvOAAvc3BlY3RyYWw5LzEAL3NwZWN0cmFsOS8yAC9zcGVjdHJhbDkvMwAvc3BlY3RyYWw5LzQAL3NwZWN0cmFsOS81AC9zcGVjdHJhbDkvNgAvc3BlY3RyYWw5LzcAL3NwZWN0cmFsOS84AC9zcGVjdHJhbDkvOQAvc3ZnL2FsaWNlYmx1ZQAvc3ZnL2FudGlxdWV3aGl0ZQAvc3ZnL2FxdWEAL3N2Zy9hcXVhbWFyaW5lAC9zdmcvYXp1cmUAL3N2Zy9iZWlnZQAvc3ZnL2Jpc3F1ZQAvc3ZnL2JsYWNrAC9zdmcvYmxhbmNoZWRhbG1vbmQAL3N2Zy9ibHVlAC9zdmcvYmx1ZXZpb2xldAAvc3ZnL2Jyb3duAC9zdmcvYnVybHl3b29kAC9zdmcvY2FkZXRibHVlAC9zdmcvY2hhcnRyZXVzZQAvc3ZnL2Nob2NvbGF0ZQAvc3ZnL2NvcmFsAC9zdmcvY29ybmZsb3dlcmJsdWUAL3N2Zy9jb3Juc2lsawAvc3ZnL2NyaW1zb24AL3N2Zy9jeWFuAC9zdmcvZGFya2JsdWUAL3N2Zy9kYXJrY3lhbgAvc3ZnL2Rhcmtnb2xkZW5yb2QAL3N2Zy9kYXJrZ3JheQAvc3ZnL2RhcmtncmVlbgAvc3ZnL2RhcmtncmV5AC9zdmcvZGFya2toYWtpAC9zdmcvZGFya21hZ2VudGEAL3N2Zy9kYXJrb2xpdmVncmVlbgAvc3ZnL2RhcmtvcmFuZ2UAL3N2Zy9kYXJrb3JjaGlkAC9zdmcvZGFya3JlZAAvc3ZnL2RhcmtzYWxtb24AL3N2Zy9kYXJrc2VhZ3JlZW4AL3N2Zy9kYXJrc2xhdGVibHVlAC9zdmcvZGFya3NsYXRlZ3JheQAvc3ZnL2RhcmtzbGF0ZWdyZXkAL3N2Zy9kYXJrdHVycXVvaXNlAC9zdmcvZGFya3Zpb2xldAAvc3ZnL2RlZXBwaW5rAC9zdmcvZGVlcHNreWJsdWUAL3N2Zy9kaW1ncmF5AC9zdmcvZGltZ3JleQAvc3ZnL2RvZGdlcmJsdWUAL3N2Zy9maXJlYnJpY2sAL3N2Zy9mbG9yYWx3aGl0ZQAvc3ZnL2ZvcmVzdGdyZWVuAC9zdmcvZnVjaHNpYQAvc3ZnL2dhaW5zYm9ybwAvc3ZnL2dob3N0d2hpdGUAL3N2Zy9nb2xkAC9zdmcvZ29sZGVucm9kAC9zdmcvZ3JheQAvc3ZnL2dyZWVuAC9zdmcvZ3JlZW55ZWxsb3cAL3N2Zy9ncmV5AC9zdmcvaG9uZXlkZXcAL3N2Zy9ob3RwaW5rAC9zdmcvaW5kaWFucmVkAC9zdmcvaW5kaWdvAC9zdmcvaXZvcnkAL3N2Zy9raGFraQAvc3ZnL2xhdmVuZGVyAC9zdmcvbGF2ZW5kZXJibHVzaAAvc3ZnL2xhd25ncmVlbgAvc3ZnL2xlbW9uY2hpZmZvbgAvc3ZnL2xpZ2h0Ymx1ZQAvc3ZnL2xpZ2h0Y29yYWwAL3N2Zy9saWdodGN5YW4AL3N2Zy9saWdodGdvbGRlbnJvZHllbGxvdwAvc3ZnL2xpZ2h0Z3JheQAvc3ZnL2xpZ2h0Z3JlZW4AL3N2Zy9saWdodGdyZXkAL3N2Zy9saWdodHBpbmsAL3N2Zy9saWdodHNhbG1vbgAvc3ZnL2xpZ2h0c2VhZ3JlZW4AL3N2Zy9saWdodHNreWJsdWUAL3N2Zy9saWdodHNsYXRlZ3JheQAvc3ZnL2xpZ2h0c2xhdGVncmV5AC9zdmcvbGlnaHRzdGVlbGJsdWUAL3N2Zy9saWdodHllbGxvdwAvc3ZnL2xpbWUAL3N2Zy9saW1lZ3JlZW4AL3N2Zy9saW5lbgAvc3ZnL21hZ2VudGEAL3N2Zy9tYXJvb24AL3N2Zy9tZWRpdW1hcXVhbWFyaW5lAC9zdmcvbWVkaXVtYmx1ZQAvc3ZnL21lZGl1bW9yY2hpZAAvc3ZnL21lZGl1bXB1cnBsZQAvc3ZnL21lZGl1bXNlYWdyZWVuAC9zdmcvbWVkaXVtc2xhdGVibHVlAC9zdmcvbWVkaXVtc3ByaW5nZ3JlZW4AL3N2Zy9tZWRpdW10dXJxdW9pc2UAL3N2Zy9tZWRpdW12aW9sZXRyZWQAL3N2Zy9taWRuaWdodGJsdWUAL3N2Zy9taW50Y3JlYW0AL3N2Zy9taXN0eXJvc2UAL3N2Zy9tb2NjYXNpbgAvc3ZnL25hdmFqb3doaXRlAC9zdmcvbmF2eQAvc3ZnL29sZGxhY2UAL3N2Zy9vbGl2ZQAvc3ZnL29saXZlZHJhYgAvc3ZnL29yYW5nZQAvc3ZnL29yYW5nZXJlZAAvc3ZnL29yY2hpZAAvc3ZnL3BhbGVnb2xkZW5yb2QAL3N2Zy9wYWxlZ3JlZW4AL3N2Zy9wYWxldHVycXVvaXNlAC9zdmcvcGFsZXZpb2xldHJlZAAvc3ZnL3BhcGF5YXdoaXAAL3N2Zy9wZWFjaHB1ZmYAL3N2Zy9wZXJ1AC9zdmcvcGluawAvc3ZnL3BsdW0AL3N2Zy9wb3dkZXJibHVlAC9zdmcvcHVycGxlAC9zdmcvcmVkAC9zdmcvcm9zeWJyb3duAC9zdmcvcm95YWxibHVlAC9zdmcvc2FkZGxlYnJvd24AL3N2Zy9zYWxtb24AL3N2Zy9zYW5keWJyb3duAC9zdmcvc2VhZ3JlZW4AL3N2Zy9zZWFzaGVsbAAvc3ZnL3NpZW5uYQAvc3ZnL3NpbHZlcgAvc3ZnL3NreWJsdWUAL3N2Zy9zbGF0ZWJsdWUAL3N2Zy9zbGF0ZWdyYXkAL3N2Zy9zbGF0ZWdyZXkAL3N2Zy9zbm93AC9zdmcvc3ByaW5nZ3JlZW4AL3N2Zy9zdGVlbGJsdWUAL3N2Zy90YW4AL3N2Zy90ZWFsAC9zdmcvdGhpc3RsZQAvc3ZnL3RvbWF0bwAvc3ZnL3R1cnF1b2lzZQAvc3ZnL3Zpb2xldAAvc3ZnL3doZWF0AC9zdmcvd2hpdGUAL3N2Zy93aGl0ZXNtb2tlAC9zdmcveWVsbG93AC9zdmcveWVsbG93Z3JlZW4AL3lsZ24zLzEAL3lsZ24zLzIAL3lsZ24zLzMAL3lsZ240LzEAL3lsZ240LzIAL3lsZ240LzMAL3lsZ240LzQAL3lsZ241LzEAL3lsZ241LzIAL3lsZ241LzMAL3lsZ241LzQAL3lsZ241LzUAL3lsZ242LzEAL3lsZ242LzIAL3lsZ242LzMAL3lsZ242LzQAL3lsZ242LzUAL3lsZ242LzYAL3lsZ243LzEAL3lsZ243LzIAL3lsZ243LzMAL3lsZ243LzQAL3lsZ243LzUAL3lsZ243LzYAL3lsZ243LzcAL3lsZ244LzEAL3lsZ244LzIAL3lsZ244LzMAL3lsZ244LzQAL3lsZ244LzUAL3lsZ244LzYAL3lsZ244LzcAL3lsZ244LzgAL3lsZ245LzEAL3lsZ245LzIAL3lsZ245LzMAL3lsZ245LzQAL3lsZ245LzUAL3lsZ245LzYAL3lsZ245LzcAL3lsZ245LzgAL3lsZ245LzkAL3lsZ25idTMvMQAveWxnbmJ1My8yAC95bGduYnUzLzMAL3lsZ25idTQvMQAveWxnbmJ1NC8yAC95bGduYnU0LzMAL3lsZ25idTQvNAAveWxnbmJ1NS8xAC95bGduYnU1LzIAL3lsZ25idTUvMwAveWxnbmJ1NS80AC95bGduYnU1LzUAL3lsZ25idTYvMQAveWxnbmJ1Ni8yAC95bGduYnU2LzMAL3lsZ25idTYvNAAveWxnbmJ1Ni81AC95bGduYnU2LzYAL3lsZ25idTcvMQAveWxnbmJ1Ny8yAC95bGduYnU3LzMAL3lsZ25idTcvNAAveWxnbmJ1Ny81AC95bGduYnU3LzYAL3lsZ25idTcvNwAveWxnbmJ1OC8xAC95bGduYnU4LzIAL3lsZ25idTgvMwAveWxnbmJ1OC80AC95bGduYnU4LzUAL3lsZ25idTgvNgAveWxnbmJ1OC83AC95bGduYnU4LzgAL3lsZ25idTkvMQAveWxnbmJ1OS8yAC95bGduYnU5LzMAL3lsZ25idTkvNAAveWxnbmJ1OS81AC95bGduYnU5LzYAL3lsZ25idTkvNwAveWxnbmJ1OS84AC95bGduYnU5LzkAL3lsb3JicjMvMQAveWxvcmJyMy8yAC95bG9yYnIzLzMAL3lsb3JicjQvMQAveWxvcmJyNC8yAC95bG9yYnI0LzMAL3lsb3JicjQvNAAveWxvcmJyNS8xAC95bG9yYnI1LzIAL3lsb3JicjUvMwAveWxvcmJyNS80AC95bG9yYnI1LzUAL3lsb3JicjYvMQAveWxvcmJyNi8yAC95bG9yYnI2LzMAL3lsb3JicjYvNAAveWxvcmJyNi81AC95bG9yYnI2LzYAL3lsb3JicjcvMQAveWxvcmJyNy8yAC95bG9yYnI3LzMAL3lsb3JicjcvNAAveWxvcmJyNy81AC95bG9yYnI3LzYAL3lsb3JicjcvNwAveWxvcmJyOC8xAC95bG9yYnI4LzIAL3lsb3JicjgvMwAveWxvcmJyOC80AC95bG9yYnI4LzUAL3lsb3JicjgvNgAveWxvcmJyOC83AC95bG9yYnI4LzgAL3lsb3JicjkvMQAveWxvcmJyOS8yAC95bG9yYnI5LzMAL3lsb3JicjkvNAAveWxvcmJyOS81AC95bG9yYnI5LzYAL3lsb3JicjkvNwAveWxvcmJyOS84AC95bG9yYnI5LzkAL3lsb3JyZDMvMQAveWxvcnJkMy8yAC95bG9ycmQzLzMAL3lsb3JyZDQvMQAveWxvcnJkNC8yAC95bG9ycmQ0LzMAL3lsb3JyZDQvNAAveWxvcnJkNS8xAC95bG9ycmQ1LzIAL3lsb3JyZDUvMwAveWxvcnJkNS80AC95bG9ycmQ1LzUAL3lsb3JyZDYvMQAveWxvcnJkNi8yAC95bG9ycmQ2LzMAL3lsb3JyZDYvNAAveWxvcnJkNi81AC95bG9ycmQ2LzYAL3lsb3JyZDcvMQAveWxvcnJkNy8yAC95bG9ycmQ3LzMAL3lsb3JyZDcvNAAveWxvcnJkNy81AC95bG9ycmQ3LzYAL3lsb3JyZDcvNwAveWxvcnJkOC8xAC95bG9ycmQ4LzIAL3lsb3JyZDgvMwAveWxvcnJkOC80AC95bG9ycmQ4LzUAL3lsb3JyZDgvNgAveWxvcnJkOC83AC95bG9ycmQ4LzgAL3lsb3JyZDkvMQAveWxvcnJkOS8yAC95bG9ycmQ5LzMAL3lsb3JyZDkvNAAveWxvcnJkOS81AC95bG9ycmQ5LzYAL3lsb3JyZDkvNwAveWxvcnJkOS84AC95bG9ycmQ5LzkAYWxpY2VibHVlAGFudGlxdWV3aGl0ZQBhbnRpcXVld2hpdGUxAGFudGlxdWV3aGl0ZTIAYW50aXF1ZXdoaXRlMwBhbnRpcXVld2hpdGU0AGFxdWFtYXJpbmUAYXF1YW1hcmluZTEAYXF1YW1hcmluZTIAYXF1YW1hcmluZTMAYXF1YW1hcmluZTQAYXp1cmUAYXp1cmUxAGF6dXJlMgBhenVyZTMAYXp1cmU0AGJlaWdlAGJpc3F1ZQBiaXNxdWUxAGJpc3F1ZTIAYmlzcXVlMwBiaXNxdWU0AGJsYW5jaGVkYWxtb25kAGJsdWUAYmx1ZTEAYmx1ZTIAYmx1ZTMAYmx1ZTQAYmx1ZXZpb2xldABicm93bgBicm93bjEAYnJvd24yAGJyb3duMwBicm93bjQAYnVybHl3b29kAGJ1cmx5d29vZDEAYnVybHl3b29kMgBidXJseXdvb2QzAGJ1cmx5d29vZDQAY2FkZXRibHVlAGNhZGV0Ymx1ZTEAY2FkZXRibHVlMgBjYWRldGJsdWUzAGNhZGV0Ymx1ZTQAY2hhcnRyZXVzZQBjaGFydHJldXNlMQBjaGFydHJldXNlMgBjaGFydHJldXNlMwBjaGFydHJldXNlNABjaG9jb2xhdGUAY2hvY29sYXRlMQBjaG9jb2xhdGUyAGNob2NvbGF0ZTMAY2hvY29sYXRlNABjb3JhbABjb3JhbDEAY29yYWwyAGNvcmFsMwBjb3JhbDQAY29ybmZsb3dlcmJsdWUAY29ybnNpbGsAY29ybnNpbGsxAGNvcm5zaWxrMgBjb3Juc2lsazMAY29ybnNpbGs0AGNyaW1zb24AY3lhbgBjeWFuMQBjeWFuMgBjeWFuMwBjeWFuNABkYXJrZ29sZGVucm9kAGRhcmtnb2xkZW5yb2QxAGRhcmtnb2xkZW5yb2QyAGRhcmtnb2xkZW5yb2QzAGRhcmtnb2xkZW5yb2Q0AGRhcmtncmVlbgBkYXJra2hha2kAZGFya29saXZlZ3JlZW4AZGFya29saXZlZ3JlZW4xAGRhcmtvbGl2ZWdyZWVuMgBkYXJrb2xpdmVncmVlbjMAZGFya29saXZlZ3JlZW40AGRhcmtvcmFuZ2UAZGFya29yYW5nZTEAZGFya29yYW5nZTIAZGFya29yYW5nZTMAZGFya29yYW5nZTQAZGFya29yY2hpZABkYXJrb3JjaGlkMQBkYXJrb3JjaGlkMgBkYXJrb3JjaGlkMwBkYXJrb3JjaGlkNABkYXJrc2FsbW9uAGRhcmtzZWFncmVlbgBkYXJrc2VhZ3JlZW4xAGRhcmtzZWFncmVlbjIAZGFya3NlYWdyZWVuMwBkYXJrc2VhZ3JlZW40AGRhcmtzbGF0ZWJsdWUAZGFya3NsYXRlZ3JheQBkYXJrc2xhdGVncmF5MQBkYXJrc2xhdGVncmF5MgBkYXJrc2xhdGVncmF5MwBkYXJrc2xhdGVncmF5NABkYXJrc2xhdGVncmV5AGRhcmt0dXJxdW9pc2UAZGFya3Zpb2xldABkZWVwcGluawBkZWVwcGluazEAZGVlcHBpbmsyAGRlZXBwaW5rMwBkZWVwcGluazQAZGVlcHNreWJsdWUAZGVlcHNreWJsdWUxAGRlZXBza3libHVlMgBkZWVwc2t5Ymx1ZTMAZGVlcHNreWJsdWU0AGRpbWdyYXkAZGltZ3JleQBkb2RnZXJibHVlAGRvZGdlcmJsdWUxAGRvZGdlcmJsdWUyAGRvZGdlcmJsdWUzAGRvZGdlcmJsdWU0AGZpcmVicmljawBmaXJlYnJpY2sxAGZpcmVicmljazIAZmlyZWJyaWNrMwBmaXJlYnJpY2s0AGZsb3JhbHdoaXRlAGZvcmVzdGdyZWVuAGdhaW5zYm9ybwBnaG9zdHdoaXRlAGdvbGQAZ29sZDEAZ29sZDIAZ29sZDMAZ29sZDQAZ29sZGVucm9kAGdvbGRlbnJvZDEAZ29sZGVucm9kMgBnb2xkZW5yb2QzAGdvbGRlbnJvZDQAZ3JheQBncmF5MABncmF5MQBncmF5MTAAZ3JheTEwMABncmF5MTEAZ3JheTEyAGdyYXkxMwBncmF5MTQAZ3JheTE1AGdyYXkxNgBncmF5MTcAZ3JheTE4AGdyYXkxOQBncmF5MgBncmF5MjAAZ3JheTIxAGdyYXkyMgBncmF5MjMAZ3JheTI0AGdyYXkyNQBncmF5MjYAZ3JheTI3AGdyYXkyOABncmF5MjkAZ3JheTMAZ3JheTMwAGdyYXkzMQBncmF5MzIAZ3JheTMzAGdyYXkzNABncmF5MzUAZ3JheTM2AGdyYXkzNwBncmF5MzgAZ3JheTM5AGdyYXk0AGdyYXk0MABncmF5NDEAZ3JheTQyAGdyYXk0MwBncmF5NDQAZ3JheTQ1AGdyYXk0NgBncmF5NDcAZ3JheTQ4AGdyYXk0OQBncmF5NQBncmF5NTAAZ3JheTUxAGdyYXk1MgBncmF5NTMAZ3JheTU0AGdyYXk1NQBncmF5NTYAZ3JheTU3AGdyYXk1OABncmF5NTkAZ3JheTYAZ3JheTYwAGdyYXk2MQBncmF5NjIAZ3JheTYzAGdyYXk2NABncmF5NjUAZ3JheTY2AGdyYXk2NwBncmF5NjgAZ3JheTY5AGdyYXk3AGdyYXk3MABncmF5NzEAZ3JheTcyAGdyYXk3MwBncmF5NzQAZ3JheTc1AGdyYXk3NgBncmF5NzcAZ3JheTc4AGdyYXk3OQBncmF5OABncmF5ODAAZ3JheTgxAGdyYXk4MgBncmF5ODMAZ3JheTg0AGdyYXk4NQBncmF5ODYAZ3JheTg3AGdyYXk4OABncmF5ODkAZ3JheTkAZ3JheTkwAGdyYXk5MQBncmF5OTIAZ3JheTkzAGdyYXk5NABncmF5OTUAZ3JheTk2AGdyYXk5NwBncmF5OTgAZ3JheTk5AGdyZWVuAGdyZWVuMQBncmVlbjIAZ3JlZW4zAGdyZWVuNABncmVlbnllbGxvdwBncmV5AGdyZXkwAGdyZXkxAGdyZXkxMABncmV5MTAwAGdyZXkxMQBncmV5MTIAZ3JleTEzAGdyZXkxNABncmV5MTUAZ3JleTE2AGdyZXkxNwBncmV5MTgAZ3JleTE5AGdyZXkyAGdyZXkyMABncmV5MjEAZ3JleTIyAGdyZXkyMwBncmV5MjQAZ3JleTI1AGdyZXkyNgBncmV5MjcAZ3JleTI4AGdyZXkyOQBncmV5MwBncmV5MzAAZ3JleTMxAGdyZXkzMgBncmV5MzMAZ3JleTM0AGdyZXkzNQBncmV5MzYAZ3JleTM3AGdyZXkzOABncmV5MzkAZ3JleTQAZ3JleTQwAGdyZXk0MQBncmV5NDIAZ3JleTQzAGdyZXk0NABncmV5NDUAZ3JleTQ2AGdyZXk0NwBncmV5NDgAZ3JleTQ5AGdyZXk1AGdyZXk1MABncmV5NTEAZ3JleTUyAGdyZXk1MwBncmV5NTQAZ3JleTU1AGdyZXk1NgBncmV5NTcAZ3JleTU4AGdyZXk1OQBncmV5NgBncmV5NjAAZ3JleTYxAGdyZXk2MgBncmV5NjMAZ3JleTY0AGdyZXk2NQBncmV5NjYAZ3JleTY3AGdyZXk2OABncmV5NjkAZ3JleTcAZ3JleTcwAGdyZXk3MQBncmV5NzIAZ3JleTczAGdyZXk3NABncmV5NzUAZ3JleTc2AGdyZXk3NwBncmV5NzgAZ3JleTc5AGdyZXk4AGdyZXk4MABncmV5ODEAZ3JleTgyAGdyZXk4MwBncmV5ODQAZ3JleTg1AGdyZXk4NgBncmV5ODcAZ3JleTg4AGdyZXk4OQBncmV5OQBncmV5OTAAZ3JleTkxAGdyZXk5MgBncmV5OTMAZ3JleTk0AGdyZXk5NQBncmV5OTYAZ3JleTk3AGdyZXk5OABncmV5OTkAaG9uZXlkZXcAaG9uZXlkZXcxAGhvbmV5ZGV3MgBob25leWRldzMAaG9uZXlkZXc0AGhvdHBpbmsAaG90cGluazEAaG90cGluazIAaG90cGluazMAaG90cGluazQAaW5kaWFucmVkAGluZGlhbnJlZDEAaW5kaWFucmVkMgBpbmRpYW5yZWQzAGluZGlhbnJlZDQAaW5kaWdvAGludmlzAGl2b3J5AGl2b3J5MQBpdm9yeTIAaXZvcnkzAGl2b3J5NABraGFraQBraGFraTEAa2hha2kyAGtoYWtpMwBraGFraTQAbGF2ZW5kZXIAbGF2ZW5kZXJibHVzaABsYXZlbmRlcmJsdXNoMQBsYXZlbmRlcmJsdXNoMgBsYXZlbmRlcmJsdXNoMwBsYXZlbmRlcmJsdXNoNABsYXduZ3JlZW4AbGVtb25jaGlmZm9uAGxlbW9uY2hpZmZvbjEAbGVtb25jaGlmZm9uMgBsZW1vbmNoaWZmb24zAGxlbW9uY2hpZmZvbjQAbGlnaHRibHVlAGxpZ2h0Ymx1ZTEAbGlnaHRibHVlMgBsaWdodGJsdWUzAGxpZ2h0Ymx1ZTQAbGlnaHRjb3JhbABsaWdodGN5YW4AbGlnaHRjeWFuMQBsaWdodGN5YW4yAGxpZ2h0Y3lhbjMAbGlnaHRjeWFuNABsaWdodGdvbGRlbnJvZABsaWdodGdvbGRlbnJvZDEAbGlnaHRnb2xkZW5yb2QyAGxpZ2h0Z29sZGVucm9kMwBsaWdodGdvbGRlbnJvZDQAbGlnaHRnb2xkZW5yb2R5ZWxsb3cAbGlnaHRncmF5AGxpZ2h0Z3JleQBsaWdodHBpbmsAbGlnaHRwaW5rMQBsaWdodHBpbmsyAGxpZ2h0cGluazMAbGlnaHRwaW5rNABsaWdodHNhbG1vbgBsaWdodHNhbG1vbjEAbGlnaHRzYWxtb24yAGxpZ2h0c2FsbW9uMwBsaWdodHNhbG1vbjQAbGlnaHRzZWFncmVlbgBsaWdodHNreWJsdWUAbGlnaHRza3libHVlMQBsaWdodHNreWJsdWUyAGxpZ2h0c2t5Ymx1ZTMAbGlnaHRza3libHVlNABsaWdodHNsYXRlYmx1ZQBsaWdodHNsYXRlZ3JheQBsaWdodHNsYXRlZ3JleQBsaWdodHN0ZWVsYmx1ZQBsaWdodHN0ZWVsYmx1ZTEAbGlnaHRzdGVlbGJsdWUyAGxpZ2h0c3RlZWxibHVlMwBsaWdodHN0ZWVsYmx1ZTQAbGlnaHR5ZWxsb3cAbGlnaHR5ZWxsb3cxAGxpZ2h0eWVsbG93MgBsaWdodHllbGxvdzMAbGlnaHR5ZWxsb3c0AGxpbWVncmVlbgBsaW5lbgBtYWdlbnRhAG1hZ2VudGExAG1hZ2VudGEyAG1hZ2VudGEzAG1hZ2VudGE0AG1hcm9vbgBtYXJvb24xAG1hcm9vbjIAbWFyb29uMwBtYXJvb240AG1lZGl1bWFxdWFtYXJpbmUAbWVkaXVtYmx1ZQBtZWRpdW1vcmNoaWQAbWVkaXVtb3JjaGlkMQBtZWRpdW1vcmNoaWQyAG1lZGl1bW9yY2hpZDMAbWVkaXVtb3JjaGlkNABtZWRpdW1wdXJwbGUAbWVkaXVtcHVycGxlMQBtZWRpdW1wdXJwbGUyAG1lZGl1bXB1cnBsZTMAbWVkaXVtcHVycGxlNABtZWRpdW1zZWFncmVlbgBtZWRpdW1zbGF0ZWJsdWUAbWVkaXVtc3ByaW5nZ3JlZW4AbWVkaXVtdHVycXVvaXNlAG1lZGl1bXZpb2xldHJlZABtaWRuaWdodGJsdWUAbWludGNyZWFtAG1pc3R5cm9zZQBtaXN0eXJvc2UxAG1pc3R5cm9zZTIAbWlzdHlyb3NlMwBtaXN0eXJvc2U0AG1vY2Nhc2luAG5hdmFqb3doaXRlAG5hdmFqb3doaXRlMQBuYXZham93aGl0ZTIAbmF2YWpvd2hpdGUzAG5hdmFqb3doaXRlNABuYXZ5AG5hdnlibHVlAG5vbmUAb2xkbGFjZQBvbGl2ZWRyYWIAb2xpdmVkcmFiMQBvbGl2ZWRyYWIyAG9saXZlZHJhYjMAb2xpdmVkcmFiNABvcmFuZ2UAb3JhbmdlMQBvcmFuZ2UyAG9yYW5nZTMAb3JhbmdlNABvcmFuZ2VyZWQAb3JhbmdlcmVkMQBvcmFuZ2VyZWQyAG9yYW5nZXJlZDMAb3JhbmdlcmVkNABvcmNoaWQAb3JjaGlkMQBvcmNoaWQyAG9yY2hpZDMAb3JjaGlkNABwYWxlZ29sZGVucm9kAHBhbGVncmVlbgBwYWxlZ3JlZW4xAHBhbGVncmVlbjIAcGFsZWdyZWVuMwBwYWxlZ3JlZW40AHBhbGV0dXJxdW9pc2UAcGFsZXR1cnF1b2lzZTEAcGFsZXR1cnF1b2lzZTIAcGFsZXR1cnF1b2lzZTMAcGFsZXR1cnF1b2lzZTQAcGFsZXZpb2xldHJlZABwYWxldmlvbGV0cmVkMQBwYWxldmlvbGV0cmVkMgBwYWxldmlvbGV0cmVkMwBwYWxldmlvbGV0cmVkNABwYXBheWF3aGlwAHBlYWNocHVmZgBwZWFjaHB1ZmYxAHBlYWNocHVmZjIAcGVhY2hwdWZmMwBwZWFjaHB1ZmY0AHBlcnUAcGluawBwaW5rMQBwaW5rMgBwaW5rMwBwaW5rNABwbHVtAHBsdW0xAHBsdW0yAHBsdW0zAHBsdW00AHBvd2RlcmJsdWUAcHVycGxlAHB1cnBsZTEAcHVycGxlMgBwdXJwbGUzAHB1cnBsZTQAcmVkAHJlZDEAcmVkMgByZWQzAHJlZDQAcm9zeWJyb3duAHJvc3licm93bjEAcm9zeWJyb3duMgByb3N5YnJvd24zAHJvc3licm93bjQAcm95YWxibHVlAHJveWFsYmx1ZTEAcm95YWxibHVlMgByb3lhbGJsdWUzAHJveWFsYmx1ZTQAc2FkZGxlYnJvd24Ac2FsbW9uAHNhbG1vbjEAc2FsbW9uMgBzYWxtb24zAHNhbG1vbjQAc2FuZHlicm93bgBzZWFncmVlbgBzZWFncmVlbjEAc2VhZ3JlZW4yAHNlYWdyZWVuMwBzZWFncmVlbjQAc2Vhc2hlbGwAc2Vhc2hlbGwxAHNlYXNoZWxsMgBzZWFzaGVsbDMAc2Vhc2hlbGw0AHNpZW5uYQBzaWVubmExAHNpZW5uYTIAc2llbm5hMwBzaWVubmE0AHNreWJsdWUAc2t5Ymx1ZTEAc2t5Ymx1ZTIAc2t5Ymx1ZTMAc2t5Ymx1ZTQAc2xhdGVibHVlAHNsYXRlYmx1ZTEAc2xhdGVibHVlMgBzbGF0ZWJsdWUzAHNsYXRlYmx1ZTQAc2xhdGVncmF5AHNsYXRlZ3JheTEAc2xhdGVncmF5MgBzbGF0ZWdyYXkzAHNsYXRlZ3JheTQAc2xhdGVncmV5AHNub3cAc25vdzEAc25vdzIAc25vdzMAc25vdzQAc3ByaW5nZ3JlZW4Ac3ByaW5nZ3JlZW4xAHNwcmluZ2dyZWVuMgBzcHJpbmdncmVlbjMAc3ByaW5nZ3JlZW40AHN0ZWVsYmx1ZQBzdGVlbGJsdWUxAHN0ZWVsYmx1ZTIAc3RlZWxibHVlMwBzdGVlbGJsdWU0AHRhbgB0YW4xAHRhbjIAdGFuMwB0YW40AHRoaXN0bGUAdGhpc3RsZTEAdGhpc3RsZTIAdGhpc3RsZTMAdGhpc3RsZTQAdG9tYXRvAHRvbWF0bzEAdG9tYXRvMgB0b21hdG8zAHRvbWF0bzQAdHVycXVvaXNlAHR1cnF1b2lzZTEAdHVycXVvaXNlMgB0dXJxdW9pc2UzAHR1cnF1b2lzZTQAdmlvbGV0AHZpb2xldHJlZAB2aW9sZXRyZWQxAHZpb2xldHJlZDIAdmlvbGV0cmVkMwB2aW9sZXRyZWQ0AHdoZWF0AHdoZWF0MQB3aGVhdDIAd2hlYXQzAHdoZWF0NAB3aGl0ZQB3aGl0ZXNtb2tlAHllbGxvdwB5ZWxsb3cxAHllbGxvdzIAeWVsbG93MwB5ZWxsb3c0AHllbGxvd2dyZWVuAGxhY2sAaGl0ZQBpZ2h0Z3JleQBYMTEvAC8lcy8lcwBpbWFnZXNjYWxlAGZhbHNlAGJsYWNrAGRvdHRlZABkYXNoZWQAY3AtPnNyYwBodG1sdGFibGUuYwBlbWl0X2h0bWxfaW1nAGNwLT5zcmNbMF0AdHJhbnNwYXJlbnQAXyVkACVkADIAMwA0ADUANgA3ADgAOQAxMAAxMQAxMgAxMwAxNAAxNQAxNgAxNwAxOAAxOQAyMABBZ25vZGVpbmZvX3QAQWdlZGdlaW5mb190AHJvd2cAY29sZwBBZ3JhcGhpbmZvX3QAZGVseCA+PSAwAHBvc19odG1sX3RibABkZWx5ID49IDAAdGFibGUgc2l6ZSB0b28gc21hbGwgZm9yIGNvbnRlbnQKAGZpeGVkIHRhYmxlIHNpemUgd2l0aCB1bnNwZWNpZmllZCB3aWR0aCBvciBoZWlnaHQKAGNlbGwgc2l6ZSB0b28gc21hbGwgZm9yIGNvbnRlbnQKAGZpeGVkIGNlbGwgc2l6ZSB3aXRoIHVuc3BlY2lmaWVkIHdpZHRoIG9yIGhlaWdodAoATm8gb3IgaW1wcm9wZXIgaW1hZ2UgZmlsZT0iJXMiCgBwZW5jb2xvcgAtPgBmUFEuYwBQUWNoZWNrAEhlYXAgb3ZlcmZsb3cKACUhUFMtQWRvYmUtMi4wCi9ub2RlIHsKICAvWSBleGNoIGRlZgogIC9YIGV4Y2ggZGVmCiAgL3kgZXhjaCBkZWYKICAveCBleGNoIGRlZgogIG5ld3BhdGgKICB4IHkgbW92ZXRvCiAgeCBZIGxpbmV0bwogIFggWSBsaW5ldG8KICBYIHkgbGluZXRvCiAgY2xvc2VwYXRoIGZpbGwKfSBkZWYKL2NlbGwgewogIC9ZIGV4Y2ggZGVmCiAgL1ggZXhjaCBkZWYKICAveSBleGNoIGRlZgogIC94IGV4Y2ggZGVmCiAgbmV3cGF0aAogIHggeSBtb3ZldG8KICB4IFkgbGluZXRvCiAgWCBZIGxpbmV0bwogIFggeSBsaW5ldG8KICBjbG9zZXBhdGggc3Ryb2tlCn0gZGVmCgBzaG93cGFnZQoAZmFpbGVkIGF0IG5vZGUgJWRbMF0KAG5wLT5jZWxsc1swXQBtYXplLmMAY2hrU2dyYXBoAGZhaWxlZCBhdCBub2RlICVkWzFdCgBucC0+Y2VsbHNbMV0AZGl0ZW1zAGZpbmRTVmVydAAlJSUlUGFnZTogMSAxCiUlJSVQYWdlQm91bmRpbmdCb3g6ICVkICVkICVkICVkCgAlZiAlZiB0cmFuc2xhdGUKADAgMCAxIHNldHJnYmNvbG9yCgAlZiAlZiAlZiAlZiBub2RlCgAwIDAgMCBzZXRyZ2Jjb2xvcgoAJWYgJWYgJWYgJWYgY2VsbAoAMSAwIDAgc2V0cmdiY29sb3IKAHVuZXhwZWN0ZWQgY2FzZSBpbiBsb2NhdGVfZW5kcG9pbnQKADAAdHJhcGV6b2lkLmMAbG9jYXRlX2VuZHBvaW50AGFkZF9zZWdtZW50OiBlcnJvcgoAbmV3bm9kZTogUXVlcnktdGFibGUgb3ZlcmZsb3cKAG5ld25vZGUAbmV3dHJhcDogVHJhcGV6b2lkLXRhYmxlIG92ZXJmbG93ICVkCgBuZXd0cmFwAGluZGV4LmMAUlRyZWVTZWFyY2gAbi0+bGV2ZWwgPj0gMABSVHJlZUluc2VydABsZXZlbCA+PSAwICYmIGxldmVsIDw9ICgqbiktPmxldmVsAHItPmJvdW5kYXJ5W2ldIDw9IHItPmJvdW5kYXJ5W05VTURJTVMgKyBpXQByICYmIG4gJiYgbmV3AFJUcmVlSW5zZXJ0MgBsZXZlbCA+PSAwICYmIGxldmVsIDw9IG4tPmxldmVsAEZBTFNFAG5vZGUuYwBOb2RlQ292ZXIAciAmJiBuAFBpY2tCcmFuY2gAQWRkQnJhbmNoAGkgPCBOT0RFQ0FSRABuZXcAbiAmJiBpID49IDAgJiYgaSA8IE5PREVDQVJEAERpc2NvbkJyYW5jaAByAHJlY3RhbmdsZS5jAFJlY3RBcmVhAHIgJiYgcnIAQ29tYmluZVJlY3QAciAmJiBzAE92ZXJsYXAAbgBzcGxpdC5xLmMAU3BsaXROb2RlAGIAbi0+Y291bnQgKyAoKm5uKS0+Y291bnQgPT0gTk9ERUNBUkQgKyAxAExvYWROb2RlcwBxAHAAcnRwLT5zcGxpdC5QYXJ0aXRpb25zWzBdLnBhcnRpdGlvbltpXSA9PSAwIHx8IHJ0cC0+c3BsaXQuUGFydGl0aW9uc1swXS5wYXJ0aXRpb25baV0gPT0gMQBydHAtPnNwbGl0LlBhcnRpdGlvbnNbMF0uY291bnRbMF0gKyBydHAtPnNwbGl0LlBhcnRpdGlvbnNbMF0uY291bnRbMV0gPT0gTk9ERUNBUkQgKyAxAE1ldGhvZFplcm8AcnRwLT5zcGxpdC5QYXJ0aXRpb25zWzBdLmNvdW50WzBdID49IHJ0cC0+TWluRmlsbCAmJiBydHAtPnNwbGl0LlBhcnRpdGlvbnNbMF0uY291bnRbMV0gPj0gcnRwLT5NaW5GaWxsACFydHAtPnNwbGl0LlBhcnRpdGlvbnNbMF0udGFrZW5baV0AQ2xhc3NpZnkAR2V0QnJhbmNoZXMAbi0+YnJhbmNoW2ldLmNoaWxkAAACAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIBAgMEBQYHCAkKCwwNDg8QERITFBUWFxgZGhscHR4fICEiIyQlJicoAgICAgICEAxZAQAfUAgDBxITFFcWFwgLaQwfCgUMDikRKw8tEC8wIDIGNDUbHB0eCwwhIiMkJSYnKAwYGRcEChscGiAqCiEiIyQlJicoDAoOUwosWDFYWFhYWFgMGxwPLlgzISIjJCUmJygbHP9T//8hIiMkJSYnKAz//wX///8JFP//////DBsc/xAVFiEiIyQlJicoGxz/////ISIjJCUmJygM/xITFBEWF////////wwbHP///xIhIiMkJSYnKBsc/////yEiIyQlJicoDP///////xP///////8MGxz/////ISIjJCUmJygbHP////8hIiMkJSYnKBITFBUWFxgZ////////////IyQlJicbEhMUFhciNmgBHzhWISACGxsbXhsbNzlwNtLCTwQ8IkciPyJEIiJYImUiIgUGX2A5BAcICQoLDA0OBGZnXWptBQZvWDtxBwgJCgsMDQ4Ecjxbcz5hRhsSExQWFwQFBj9BYkkHCAkKCwwNDgUGAFwAAAcICQoLDA0OBAAATwAAAFNCAAAAAAAEBQYARFRVBwgJCgsMDQ4FBgAAAAAHCAkKCwwNDgQAKiwuRzEzAAAAAAAABAUGAAAASgcICQoLDA0OBQYAAAAABwgJCgsMDQ4EAAAAAAAATAAAAAAAAAQFBgAAAAAHCAkKCwwNDgUGAAAAAAcICQoLDA0OKSstLzAyNDUAAAAAAAAAAAApKy0wMgAELwAkIwASFBYaHB4gGAAFBy8vLwAvLwAACQgoAAABIgIGAAAAAAAIAAAAAAAAAAAAAAAAACUDJhMKKRULKhcOLRkRGwwrHQ0sHw8hEAAzADAAL0MAMQAvADUuJ0IyQQA6OAA8NEUANgBAAAA/AEQ3Ozk9AAIDAwEBAgEBAQMDAwMDAwMDAQEBAQEBAQEBAQEBAQEBAQIBAQIABgEDAwMDAwEAAQIDAAQBAgMABAAEAAQAAwIBAgECAVN5bnRheCBlcnJvcjogbm9uLXNwYWNlIHN0cmluZyB1c2VkIGJlZm9yZSA8VEFCTEU+AFN5bnRheCBlcnJvcjogbm9uLXNwYWNlIHN0cmluZyB1c2VkIGFmdGVyIDwvVEFCTEU+AAApKioqKywsLS0tLS0tLS0tLS4vMDEyMzQ1Njc4OTo7PD0+Pj8/QUBCQkJCQkJDQ0REREZFR0dHSUhKSEtITEhNTU5OT0//Aw8QESM6JD0lQBVDJkUnSBhLGU0aKBxOHR5QUVJZWmxrbmNkV2ltZW1vcnkgZXhoYXVzdGVkACVzIGluIGxpbmUgJWQgCgAuLi4gJXMgLi4uCgBUQUJMRQBUUgBUSABURABIVE1MAEZPTlQAQgBVAE8ASQBTVVAAU1VCAFMAQlIASFIAVlIASU1HAFVua25vd24gSFRNTCBlbGVtZW50IDwlcz4gb24gbGluZSAlZCAKADxJTUc+AElsbGVnYWwgYXR0cmlidXRlICVzIGluICVzIC0gaWdub3JlZAoAc2NhbGUAc3JjADxCUj4AYWxpZ24ASUdIVABFRlQARU5URVIASWxsZWdhbCB2YWx1ZSAlcyBmb3IgQUxJR04gLSBpZ25vcmVkCgA8Rk9OVD4AY29sb3IAZmFjZQBwb2ludC1zaXplAFBPSU5ULVNJWkUASW1wcm9wZXIgJXMgdmFsdWUgJXMgLSBpZ25vcmVkACVzIHZhbHVlICVzID4gJWQgLSB0b28gbGFyZ2UgLSBpZ25vcmVkACVzIHZhbHVlICVzIDwgJWQgLSB0b28gc21hbGwgLSBpZ25vcmVkADxURD4AYmFsaWduAGJnY29sb3IAYm9yZGVyAGNlbGxwYWRkaW5nAGNlbGxzcGFjaW5nAGNvbHNwYW4AZml4ZWRzaXplAGdyYWRpZW50YW5nbGUAaGVpZ2h0AGhyZWYAaWQAcG9ydAByb3dzcGFuAHNpZGVzAHN0eWxlAHRhcmdldAB0aXRsZQB0b29sdGlwAHZhbGlnbgB3aWR0aABXSURUSABPVFRPTQBPUABJRERMRQBJbGxlZ2FsIHZhbHVlICVzIGZvciBWQUxJR04gLSBpZ25vcmVkCgAgLABPVU5ERUQAQURJQUwASWxsZWdhbCB2YWx1ZSAlcyBmb3IgU1RZTEUgLSBpZ25vcmVkCgBTT0xJRABJTlZJU0lCTEUASU5WSVMARE9UVEVEAERBU0hFRABVbnJlY29nbml6ZWQgY2hhcmFjdGVyICclYycgKCVkKSBpbiBzaWRlcyBhdHRyaWJ1dGUKAFJPV1NQQU4AUk9XU1BBTiB2YWx1ZSBjYW5ub3QgYmUgMCAtIGlnbm9yZWQKAEhFSUdIVABHUkFESUVOVEFOR0xFAFJVRQBBTFNFAElsbGVnYWwgdmFsdWUgJXMgZm9yIEZJWEVEU0laRSAtIGlnbm9yZWQKAENPTFNQQU4AQ09MU1BBTiB2YWx1ZSBjYW5ub3QgYmUgMCAtIGlnbm9yZWQKAENFTExTUEFDSU5HAENFTExQQURESU5HAEJPUkRFUgBJbGxlZ2FsIHZhbHVlICVzIGZvciBCQUxJR04gaW4gVEQgLSBpZ25vcmVkCgBFWFQASWxsZWdhbCB2YWx1ZSAlcyBmb3IgQUxJR04gaW4gVEQgLSBpZ25vcmVkCgA8VEFCTEU+AGNlbGxib3JkZXIAY29sdW1ucwByb3dzAFVua25vd24gdmFsdWUgJXMgZm9yIFJPV1MgLSBpZ25vcmVkCgBVbmtub3duIHZhbHVlICVzIGZvciBDT0xVTU5TIC0gaWdub3JlZAoAQ0VMTFNCT1JERVIAPEhUTUw+ADwvSFRNTD4ALS0ATGFiZWwgY2xvc2VkIGJlZm9yZSBlbmQgb2YgSFRNTCBlbGVtZW50CgBVbmNsb3NlZCBjb21tZW50CgBqID09IDAAY3Z0LmMAUG9ic3BhdGgAcm91dGUuYwBsaWJwYXRoLyVzOiVkOiAlcwoAc2hvcnRlc3QuYwBzb3VyY2UgcG9pbnQgbm90IGluIGFueSB0cmlhbmdsZQBkZXN0aW5hdGlvbiBwb2ludCBub3QgaW4gYW55IHRyaWFuZ2xlAGNhbm5vdCBmaW5kIHRyaWFuZ2xlIHBhdGgAY2Fubm90IG1hbGxvYyBvcHMAY2Fubm90IHJlYWxsb2Mgb3BzAHRyaWFuZ3VsYXRpb24gZmFpbGVkAGNhbm5vdCBtYWxsb2MgdHJpcwBjYW5ub3QgcmVhbGxvYyB0cmlzAGNhbm5vdCBtYWxsb2MgZHEucG5scwBjYW5ub3QgcmVhbGxvYyBkcS5wbmxzAGNhbm5vdCBtYWxsb2MgcG5scwBjYW5ub3QgbWFsbG9jIHBubHBzAGNhbm5vdCByZWFsbG9jIHBubHMAY2Fubm90IHJlYWxsb2MgcG5scHMAQ0RBVEEASUQASURSRUYASURSRUZTAEVOVElUWQBFTlRJVElFUwBOTVRPS0VOAE5NVE9LRU5TAE5PVEFUSU9OKAAoAHwAaHR0cDovL3d3dy53My5vcmcvWE1MLzE5OTgvbmFtZXNwYWNlAGh0dHA6Ly93d3cudzMub3JnLzIwMDAveG1sbnMvAHhtbD1odHRwOi8vd3d3LnczLm9yZy9YTUwvMTk5OC9uYW1lc3BhY2UAL2Rldi91cmFuZG9tAGZhbGxiYWNrKDQpAGdldHRpbWVvZmRheV9yZXMgPT0gMAB4bWxwYXJzZS5jAGdhdGhlcl90aW1lX2VudHJvcHkARVhQQVRfRU5UUk9QWV9ERUJVRwAxAEVudHJvcHk6ICVzIC0tPiAweCUwKmx4ICglbHUgYnl0ZXMpCgBpbnZhbGlkIGFyZ3VtZW50AHByZWZpeCBtdXN0IG5vdCBiZSBib3VuZCB0byBvbmUgb2YgdGhlIHJlc2VydmVkIG5hbWVzcGFjZSBuYW1lcwByZXNlcnZlZCBwcmVmaXggKHhtbG5zKSBtdXN0IG5vdCBiZSBkZWNsYXJlZCBvciB1bmRlY2xhcmVkAHJlc2VydmVkIHByZWZpeCAoeG1sKSBtdXN0IG5vdCBiZSB1bmRlY2xhcmVkIG9yIGJvdW5kIHRvIGFub3RoZXIgbmFtZXNwYWNlIG5hbWUAY2Fubm90IHN1c3BlbmQgaW4gZXh0ZXJuYWwgcGFyYW1ldGVyIGVudGl0eQBwYXJzaW5nIGZpbmlzaGVkAHBhcnNpbmcgYWJvcnRlZABwYXJzZXIgbm90IHN1c3BlbmRlZABwYXJzZXIgc3VzcGVuZGVkAGlsbGVnYWwgY2hhcmFjdGVyKHMpIGluIHB1YmxpYyBpZAB0ZXh0IGRlY2xhcmF0aW9uIG5vdCB3ZWxsLWZvcm1lZABYTUwgZGVjbGFyYXRpb24gbm90IHdlbGwtZm9ybWVkAGluY29tcGxldGUgbWFya3VwIGluIHBhcmFtZXRlciBlbnRpdHkAbXVzdCBub3QgdW5kZWNsYXJlIHByZWZpeAB1bmJvdW5kIHByZWZpeABjYW5ub3QgY2hhbmdlIHNldHRpbmcgb25jZSBwYXJzaW5nIGhhcyBiZWd1bgByZXF1ZXN0ZWQgZmVhdHVyZSByZXF1aXJlcyBYTUxfRFREIHN1cHBvcnQgaW4gRXhwYXQAZW50aXR5IGRlY2xhcmVkIGluIHBhcmFtZXRlciBlbnRpdHkAdW5leHBlY3RlZCBwYXJzZXIgc3RhdGUgLSBwbGVhc2Ugc2VuZCBhIGJ1ZyByZXBvcnQAZG9jdW1lbnQgaXMgbm90IHN0YW5kYWxvbmUAZXJyb3IgaW4gcHJvY2Vzc2luZyBleHRlcm5hbCBlbnRpdHkgcmVmZXJlbmNlAHVuY2xvc2VkIENEQVRBIHNlY3Rpb24AZW5jb2Rpbmcgc3BlY2lmaWVkIGluIFhNTCBkZWNsYXJhdGlvbiBpcyBpbmNvcnJlY3QAdW5rbm93biBlbmNvZGluZwBYTUwgb3IgdGV4dCBkZWNsYXJhdGlvbiBub3QgYXQgc3RhcnQgb2YgZW50aXR5AHJlZmVyZW5jZSB0byBleHRlcm5hbCBlbnRpdHkgaW4gYXR0cmlidXRlAHJlZmVyZW5jZSB0byBiaW5hcnkgZW50aXR5AHJlZmVyZW5jZSB0byBpbnZhbGlkIGNoYXJhY3RlciBudW1iZXIAYXN5bmNocm9ub3VzIGVudGl0eQByZWN1cnNpdmUgZW50aXR5IHJlZmVyZW5jZQB1bmRlZmluZWQgZW50aXR5AGlsbGVnYWwgcGFyYW1ldGVyIGVudGl0eSByZWZlcmVuY2UAanVuayBhZnRlciBkb2N1bWVudCBlbGVtZW50AGR1cGxpY2F0ZSBhdHRyaWJ1dGUAbWlzbWF0Y2hlZCB0YWcAcGFydGlhbCBjaGFyYWN0ZXIAdW5jbG9zZWQgdG9rZW4Abm90IHdlbGwtZm9ybWVkIChpbnZhbGlkIHRva2VuKQBubyBlbGVtZW50IGZvdW5kAHN5bnRheCBlcnJvcgBvdXQgb2YgbWVtb3J5AAIDBAUGBwgAAAkKCwwNDg8QEQAAAAAAAAAAAAAAABITABQAAAAAAAAAAAAAAAAAABUWAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBARcAAAAAAAAAAAAAAAABAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBGAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAZAxobHB0eAAAfICEiIyQlEBEAAAAAAAAAAAAAAAASEyYUAAAAAAAAAAAAAAAAAAAnFgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEXAAAAAAAAAAAAAAAAAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBARgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQ0RBVEFbVVMtQVNDSUkAVVRGLTE2AFVURi0xNkJFAFVURi0xNkxFAHZlcnNpb24AZW5jb2RpbmcAc3RhbmRhbG9uZQBET0NUWVBFAFNZU1RFTQBQVUJMSUMARU5USVRZAEFUVExJU1QARUxFTUVOVABOT1RBVElPTgBJTkNMVURFAElHTk9SRQBFTVBUWQBBTlkAUENEQVRBAElNUExJRUQAUkVRVUlSRUQARklYRUQAQ0RBVEEASUQASURSRUYASURSRUZTAEVOVElUSUVTAE5NVE9LRU4ATk1UT0tFTlMATkRBVEEAVCEiGQ0BAgMRSxwMEAQLHRIeJ2hub3BxYiAFBg8TFBUaCBYHKCQXGAkKDhsfJSODgn0mKis8PT4/Q0dKTVhZWltcXV5fYGFjZGVmZ2lqa2xyc3R5ent8AElsbGVnYWwgYnl0ZSBzZXF1ZW5jZQBEb21haW4gZXJyb3IAUmVzdWx0IG5vdCByZXByZXNlbnRhYmxlAE5vdCBhIHR0eQBQZXJtaXNzaW9uIGRlbmllZABPcGVyYXRpb24gbm90IHBlcm1pdHRlZABObyBzdWNoIGZpbGUgb3IgZGlyZWN0b3J5AE5vIHN1Y2ggcHJvY2VzcwBGaWxlIGV4aXN0cwBWYWx1ZSB0b28gbGFyZ2UgZm9yIGRhdGEgdHlwZQBObyBzcGFjZSBsZWZ0IG9uIGRldmljZQBPdXQgb2YgbWVtb3J5AFJlc291cmNlIGJ1c3kASW50ZXJydXB0ZWQgc3lzdGVtIGNhbGwAUmVzb3VyY2UgdGVtcG9yYXJpbHkgdW5hdmFpbGFibGUASW52YWxpZCBzZWVrAENyb3NzLWRldmljZSBsaW5rAFJlYWQtb25seSBmaWxlIHN5c3RlbQBEaXJlY3Rvcnkgbm90IGVtcHR5AENvbm5lY3Rpb24gcmVzZXQgYnkgcGVlcgBPcGVyYXRpb24gdGltZWQgb3V0AENvbm5lY3Rpb24gcmVmdXNlZABIb3N0IGlzIGRvd24ASG9zdCBpcyB1bnJlYWNoYWJsZQBBZGRyZXNzIGluIHVzZQBCcm9rZW4gcGlwZQBJL08gZXJyb3IATm8gc3VjaCBkZXZpY2Ugb3IgYWRkcmVzcwBCbG9jayBkZXZpY2UgcmVxdWlyZWQATm8gc3VjaCBkZXZpY2UATm90IGEgZGlyZWN0b3J5AElzIGEgZGlyZWN0b3J5AFRleHQgZmlsZSBidXN5AEV4ZWMgZm9ybWF0IGVycm9yAEludmFsaWQgYXJndW1lbnQAQXJndW1lbnQgbGlzdCB0b28gbG9uZwBTeW1ib2xpYyBsaW5rIGxvb3AARmlsZW5hbWUgdG9vIGxvbmcAVG9vIG1hbnkgb3BlbiBmaWxlcyBpbiBzeXN0ZW0ATm8gZmlsZSBkZXNjcmlwdG9ycyBhdmFpbGFibGUAQmFkIGZpbGUgZGVzY3JpcHRvcgBObyBjaGlsZCBwcm9jZXNzAEJhZCBhZGRyZXNzAEZpbGUgdG9vIGxhcmdlAFRvbyBtYW55IGxpbmtzAE5vIGxvY2tzIGF2YWlsYWJsZQBSZXNvdXJjZSBkZWFkbG9jayB3b3VsZCBvY2N1cgBTdGF0ZSBub3QgcmVjb3ZlcmFibGUAUHJldmlvdXMgb3duZXIgZGllZABPcGVyYXRpb24gY2FuY2VsZWQARnVuY3Rpb24gbm90IGltcGxlbWVudGVkAE5vIG1lc3NhZ2Ugb2YgZGVzaXJlZCB0eXBlAElkZW50aWZpZXIgcmVtb3ZlZABEZXZpY2Ugbm90IGEgc3RyZWFtAE5vIGRhdGEgYXZhaWxhYmxlAERldmljZSB0aW1lb3V0AE91dCBvZiBzdHJlYW1zIHJlc291cmNlcwBMaW5rIGhhcyBiZWVuIHNldmVyZWQAUHJvdG9jb2wgZXJyb3IAQmFkIG1lc3NhZ2UARmlsZSBkZXNjcmlwdG9yIGluIGJhZCBzdGF0ZQBOb3QgYSBzb2NrZXQARGVzdGluYXRpb24gYWRkcmVzcyByZXF1aXJlZABNZXNzYWdlIHRvbyBsYXJnZQBQcm90b2NvbCB3cm9uZyB0eXBlIGZvciBzb2NrZXQAUHJvdG9jb2wgbm90IGF2YWlsYWJsZQBQcm90b2NvbCBub3Qgc3VwcG9ydGVkAFNvY2tldCB0eXBlIG5vdCBzdXBwb3J0ZWQATm90IHN1cHBvcnRlZABQcm90b2NvbCBmYW1pbHkgbm90IHN1cHBvcnRlZABBZGRyZXNzIGZhbWlseSBub3Qgc3VwcG9ydGVkIGJ5IHByb3RvY29sAEFkZHJlc3Mgbm90IGF2YWlsYWJsZQBOZXR3b3JrIGlzIGRvd24ATmV0d29yayB1bnJlYWNoYWJsZQBDb25uZWN0aW9uIHJlc2V0IGJ5IG5ldHdvcmsAQ29ubmVjdGlvbiBhYm9ydGVkAE5vIGJ1ZmZlciBzcGFjZSBhdmFpbGFibGUAU29ja2V0IGlzIGNvbm5lY3RlZABTb2NrZXQgbm90IGNvbm5lY3RlZABDYW5ub3Qgc2VuZCBhZnRlciBzb2NrZXQgc2h1dGRvd24AT3BlcmF0aW9uIGFscmVhZHkgaW4gcHJvZ3Jlc3MAT3BlcmF0aW9uIGluIHByb2dyZXNzAFN0YWxlIGZpbGUgaGFuZGxlAFJlbW90ZSBJL08gZXJyb3IAUXVvdGEgZXhjZWVkZWQATm8gbWVkaXVtIGZvdW5kAFdyb25nIG1lZGl1bSB0eXBlAE5vIGVycm9yIGluZm9ybWF0aW9uAAASEBMUFRYXGBkaGxwdHh8gIRAQIiMQJCUmJygpKisQLC0uES8wERExERERMjM0NTY3ODkREBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEDoQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEDsQPD0+P0BBEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEEIQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEEMQEEQQRUZHEEgQSRAQEBBKS0xNEBBOEE9QEBAQEFEQEBAQEBAQEBAQEBAQUhAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQUxAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEFRVVlcQEFhZEBAQEBAQEBAQEBAQEBAQEBAQEBAQEFoQW1xdXl9gYWIQEBAQEBAQEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA//////////////////////////////////////////8AAAAA/v8A/AEAAPgBAAB4AAAAAP/73/sAAIAAAACAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADwA/P/gr//////////////f//////8gQLAAAAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAA/AMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA/AAAAAAAhv7///8AQEkAAAAAABgA3/8AyAAAAAAAAAABADwAAAAAAAAAAAAAAAAQ4AEeAGD/vwAAAAAAAP8HAAAAAAAAAAAAAAAAAAAAAAAAAPjPAwAAAAMAIP9/AAAATgAAAAAAAAAAAAAAAAAAAAAA/AAAAAAAAAAAABAAIB4AMAABAAAAAAAAAAAQACAAAAAA/A8AAAAAAAAAEAAgAAAAAAAAAAAAAAAAABAAIAAAAAADAAAAAAAAAAAQACAAAAAA/QAAAAAAAAAAAAAgAAAAAP8HAAAAAAAAAAAAIAAAAAAA/wAAAAAAAAAQACAAAAAAAAAAAAAAAAAAAAAgAAAAAD8CAAAAAAAAAAAABAAAAAAQAAAAAAAAgACAwN8ADAAAAAAAAAAAAAAAAAAfAAAAAAAA/v///wD8//8AAAAAAAAAAPwAAAAAAADA/9//BwAAAAAAAAAAAACABgD8AAAYPgAAgL8AzAAAAAAAAAAAAAAACAAAAAAAAAAAAAAAYP///x8AAP8DAAAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAYAAAAQAAGAAAAAAAAAAAADgAAAAAEAAAAHAAAAAAAAAAAAAAAAAAAAAwAAD+fy8AAP8D/38AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADjEAAAAAAAAAAAAAAAAAAAAAAADE/////wAAAMAAAAAAAAAAAAEA4J8AAAAAfz8AAAAAAAAAAAAAAAAAAAAAEAAQAAD8////HwAAAAAADAAAAAAAAEAADPAAAAAAAADA+AAAAAAAAADAAAAAAAAAAAD/AP///yEQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP////9/AADwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACgA+AA4ADgAGCA+P////z//////38f/PF//38AAP///wMAAP////8BAHsD0MGvQgAMH7z//wAAAAAAAv//////////////////////////////////////////////////////////DwD/////fwAAAP8HAAD/////////////PwAAAAAAAPz///7/////////////////////////////////////////////////////H/8DAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA4IcD/gAAAAAAAAAAAAAAAAAAAYAAAAAAAAAAAAAAAAAAAAAA//////9//w8AAAAAAAAAAP////v/////////////DwD//////////////////////////////////z8AAAD/Dx7///8B/MHgAAAAAAAAAAAAAAAeAQAAAAAAAAAAAAAIAAAAAAAAAAAAAAAAAAAAAAAA//8AAAAA/////w8AAAD///9/////////////////////////////////////fwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP//////////AAAAAAAAAAAAAAAAAAAAAAAA////////fwAAAAAAAMAA4AAAAAAAAAAAAAAAgA9wAAAAAAAAAAAAAAAAAAD/AP//fwADAAAAAAAAAAAAAAAABgAAAAAAAAAAAAAAAAAARAgAAAAP/wMAAAAAAADwAAAAAAAAAAAAEMAAAP//AwcAAAAAAPgAAAAACIAAAAAAAAAAAAAACAD/PwDAAAAAAAAAAAAAAAAAAAAA8AAAgAsAAAAAAAAAgAIAAMAAAEMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA4AAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACAAAAAAAACAAAAAAAAAAAAAAAAAAAAAPz/AwAAAAAAAAAAAAAAAAAAwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMP///wN/AP/////3/38PAAAAAAAAAAAAAAAAAAAAAACA/v8A/AEAAPgBAAD4PwAAAAAAAAAAAAAAAAAAAH9/ADCH//////+P/wAAAAAAAOD//wf/DwAAAAAAAP//////PwAAAAAPAAAAAAAAAAAAAAAAAACAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAID/AAAAAAAAAAAAAAAAAAAAAAAAAAAAAMCPAAAAgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACH/wD/AQAAAOAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP4AAAD/AAAA/wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD///9/AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAwD/8/z8AAAADAAAAAAAA/gMAAAAAAAAAAAAAAAAAGAAPAAAAAAAAAAAAAAAAAAAA4QEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACABwAAAAAAAAAAAAAAAAD///////////////////////////////////////8/AP////9//v///////////////////////////z8AAAAA//////////8/AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD/////////////fwD//wMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIAAAgAAAAIAAAgAAAAIAAAgAAAAIAAAAACAAAAAgAACAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADAP//////D////////////////w8A/3/+f/7//v8AAAAA/wf///9//////////w///////wcAAAAAAAAAAMD///8HAP//////B/8BAwAAAAAAAAAAAAAAAAAAAAAAAAAAAP////8BAL///////////x///w8A/////98HAAD//wEA/////////3/9/////////////////////////////x7/////////Pw8A////AAAAAAAAAAAAAAAAAAAAAAAA+P//////////4f8AAAAAAAD//////////z8AAAAAAAAA//////////////////8PAAAAAAAAAAAAAAAAAAAAAAD/////////////////////////////////////////////////////////////////AAECAwQFBgcICf////////8KCwwNDg8QERITFBUWFxgZGhscHR4fICEiI////////woLDA0ODxAREhMUFRYXGBkaGxwdHh8gISIj/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////wABAgQHAwYFABIRExQVFhcYGRobHB0eHyAhESIjJBElJicoKSorLBEtLi8QEDAQEBAQEBAQMTIzEDQ1EBARERERERERERERERERERERERERERERERERNhERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERETcREREROBE5Ojs8PT4RERERERERERERERERERERERERERERERERERERERERERERERERERERERERPxAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBFAQRFCQ0RFRkdISRAQEEpLTE1OEBAQT1AQEBAQURAQEBAQEBAQEBEREVJTEBAQEBAQEBAQEBARERERVBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBERVRAQEBBWEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEFcQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEFhZWlsQEBAQEBAQEBAQEBAQEBAQEBAQEBAQXBAQEBAQEBAQEBAQEBAQEBAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD//////////////////////////////////////////wAAAAAAAAAA/v//B/7//wcAAAAAAAQgBP//f////3//////////////////////////////////w/8DAB9QAAAAAAAAAAAAACAAAAAAAN88QNf///v///////////+///////////////////////8D/P////////////////////////8A/v///38C/v////8AAAAAAP+/tgD///8HBwAAAP8H//////////7/w////////////////+8f/uH/nwAA////////AOD///////////////8DAP//////BzAE/////P8fAAD///8BAAAAAAAAAAD9HwAAAAAAAPAD/3//////////7//f4f/P//7+7p/5///9xeOfWYCwz/8DAO6H+f///W3DhxkCXsD/PwDuv/v///3t478bAQDP/wAA7p/5///97eOfGcCwz/8CAOzHPdYYx//Dxx2BAMD/AADu3/3///3v498dYAPP/wAA7N/9///97+PfHWBAz/8GAOzf/f/////n312AAM//APzs/3/8///7L3+AX/8AAAwA/v////9//wc/IP8DAAAAAJYl8P6u7P87XyD/8wAAAAABAAAA/wMAAP/+////H/7/A////v///x8AAAAAAAAAAP///////3/5/wP//+fB//9/QP8z/////78g///////3////////////PX89//////89/////z1/Pf9//////////z3//////////4cAAAAA//8AAP////////////8fAP7//////////////////////////////////////////////////////////5////7//wf////////////HAQD/3w8A//8PAP//DwD/3w0A////////z///AYAQ/wMAAAAA/wP//////////////wD//////wf//////////z8A////H/8P/wHA/////z8fAP//////D////wP/AwAAAAD///8P/////////3/+/x8A/wP/A4AAAAAAAAAAAAAAAP///////+//7w//AwAAAAD///////P///////+//wMA////////PwD/4///////PwAAAAAAAAAAAAAAAADebwD///////////////////////////////8AAAAAAAAAAP//Pz//////Pz//qv///z/////////fX9wfzw//H9wfAAAAAAAAAAAAAAAAAAACgAAA/x8AAAAAAAAAAAAAAACE/C8+UL3/8+BDAAD//////wEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADA////////AwAA//////9///////9//////////////////////x94DAD/////vyD/////////gAAA//9/AH9/f39/f39//////wAAAAAAgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA4AAAAP4DPh/+////////////f+D+//////////////fg/////z/+/////////////38AAP///wcAAAAAAAD///////////////////////////////8/AAAAAAAAAAAA/////////////////////////////////x8AAAAAAAD//////////////////////x8AAAAAAAAAAP//////P/8f////DwAA//////9/8I////+A/////////////wAAAACA//z///////////////95DwD/BwAAAAAAAAAAAP+79////wAAAP///////w8A//////////8PAP8DAAD8CP//////B/////8HAP///x/////////3/wCA/wMAAAAA////////fwD/P/8D//9/BP////////9/BQAAOP//PAB+fn4Af38AAAAAAAAAAAAAAAAAAAAAAAD//////wf/A///////////////////////////DwD//3/4//////8P/////////////////z//////////////////AwAAAAB/APjg//1/X9v/////////////////AwAAAPj///////////////8/AAD///////////z///////8AAAAAAP8PAAAAAAAAAAAAAAAAAADf/////////////////////x8AAP8D/v//B/7//wfA/////////////3/8/PwcAAAAAP/v//9///+3/z//PwAAAAD///////////////////8HAAAAAAAAAAD///////8fAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA////H////////wEAAAAAAP///38AAP///wcAAAAAAAD///8//////w//PgAAAAAA/////////////////////////z//AwAAAAAAAAAAAAA//f////+/kf//PwAAAAAAAAAAAAAAAAAAAAAAAAAAAP//PwD///8DAAAAAAAAAAD/////////wAAAAAAAAAAAb/Dv/v//DwAAAAAA////HwAAAAAAAAAAAAAAAAAAAAD///////8/AP//PwD//wcAAAAAAAAAAAAAAAAAAAAAAP///////////wEAAAAAAAAAAAAAAAAAAAAAAAAAAAAA//////////8/AAAAwP8AAPz///////8BAAD///8B/wP////////H/wAAAAAAAAAA//////////8eAP8DAAAAAAAAAAAAAAAAAAAAAAAAAAD///////8/AP8DAAAAAAAA/////////////////38AAAAAAAAAAAAAAAAAAAAAAAD///////////////8HAAAAAAAAAAAAAAAAAAAAAAAAAP//////fwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA/////////wEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD//////////x8A//////9/AAD4/wAAAAAAAAAAAAAAAAMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA/////////////9///////////99k3v/r7/////////+/59/f////e1/8/f//////////////////////////////////////////////////////P/////3///f////3///f////3///f////3/////9/////f//98/////////v////lv73CoTqlqqW9/de//v/D+77/w8AAAAAAAAAAExDX0FMTABMQ19DVFlQRQAAAABMQ19OVU1FUklDAABMQ19USU1FAAAAAABMQ19DT0xMQVRFAABMQ19NT05FVEFSWQBMQ19NRVNTQUdFUwBMQU5HAEMuVVRGLTgAUE9TSVgATVVTTF9MT0NQQVRIABEACgAREREAAAAABQAAAAAAAAkAAAAACwAAAAAAAAAAEQAPChEREQMKBwABEwkLCwAACQYLAAALAAYRAAAAERERAAAAAAAAAAAAAAAAAAAAAAsAAAAAAAAAABEACgoREREACgAAAgAJCwAAAAkACwAACwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMAAAAAAAAAAAAAAAMAAAAAAwAAAAACQwAAAAAAAwAAAwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADgAAAAAAAAAAAAAADQAAAAQNAAAAAAkOAAAAAAAOAAAOAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAA8AAAAADwAAAAAJEAAAAAAAEAAAEAAAEgAAABISEgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAASAAAAEhISAAAAAAAACQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACwAAAAAAAAAAAAAACgAAAAAKAAAAAAkLAAAAAAALAAALAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAwAAAAAAAAAAAAAAAwAAAAADAAAAAAJDAAAAAAADAAADAAALSsgICAwWDB4AChudWxsKQAtMFgrMFggMFgtMHgrMHggMHgAaW5mAElORgBOQU4AMDEyMzQ1Njc4OUFCQ0RFRi4AYWxudW0AYWxwaGEAYmxhbmsAY250cmwAZGlnaXQAZ3JhcGgAbG93ZXIAcHJpbnQAcHVuY3QAc3BhY2UAdXBwZXIAeGRpZ2l0AEMuVVRGLTgAAAAAAAAAAABDAC9wcm9jL3NlbGYvZmQvAHJ3YQBpbmZpbml0eQBuYW4ACQAKAA0ADAAHABsAW1s6YWxudW06XV9dAFteWzphbG51bTpdX10AW1s6c3BhY2U6XV0AW15bOnNwYWNlOl1dAFtbOmRpZ2l0Ol1dAFteWzpkaWdpdDpdXQAvdG1wL3RtcGZpbGVfWFhYWFhYAHcr";var tempDoublePtr=STATICTOP;STATICTOP+=16;function ___assert_fail(condition,filename,line,func){abort("Assertion failed: "+Pointer_stringify(condition)+", at: "+[filename?Pointer_stringify(filename):"unknown filename",line,func?Pointer_stringify(func):"unknown function"])}function _emscripten_get_now(){abort()}function _emscripten_get_now_is_monotonic(){return ENVIRONMENT_IS_NODE||typeof dateNow!=="undefined"||(ENVIRONMENT_IS_WEB||ENVIRONMENT_IS_WORKER)&&self["performance"]&&self["performance"]["now"]}var ERRNO_CODES={EPERM:1,ENOENT:2,ESRCH:3,EINTR:4,EIO:5,ENXIO:6,E2BIG:7,ENOEXEC:8,EBADF:9,ECHILD:10,EAGAIN:11,EWOULDBLOCK:11,ENOMEM:12,EACCES:13,EFAULT:14,ENOTBLK:15,EBUSY:16,EEXIST:17,EXDEV:18,ENODEV:19,ENOTDIR:20,EISDIR:21,EINVAL:22,ENFILE:23,EMFILE:24,ENOTTY:25,ETXTBSY:26,EFBIG:27,ENOSPC:28,ESPIPE:29,EROFS:30,EMLINK:31,EPIPE:32,EDOM:33,ERANGE:34,ENOMSG:42,EIDRM:43,ECHRNG:44,EL2NSYNC:45,EL3HLT:46,EL3RST:47,ELNRNG:48,EUNATCH:49,ENOCSI:50,EL2HLT:51,EDEADLK:35,ENOLCK:37,EBADE:52,EBADR:53,EXFULL:54,ENOANO:55,EBADRQC:56,EBADSLT:57,EDEADLOCK:35,EBFONT:59,ENOSTR:60,ENODATA:61,ETIME:62,ENOSR:63,ENONET:64,ENOPKG:65,EREMOTE:66,ENOLINK:67,EADV:68,ESRMNT:69,ECOMM:70,EPROTO:71,EMULTIHOP:72,EDOTDOT:73,EBADMSG:74,ENOTUNIQ:76,EBADFD:77,EREMCHG:78,ELIBACC:79,ELIBBAD:80,ELIBSCN:81,ELIBMAX:82,ELIBEXEC:83,ENOSYS:38,ENOTEMPTY:39,ENAMETOOLONG:36,ELOOP:40,EOPNOTSUPP:95,EPFNOSUPPORT:96,ECONNRESET:104,ENOBUFS:105,EAFNOSUPPORT:97,EPROTOTYPE:91,ENOTSOCK:88,ENOPROTOOPT:92,ESHUTDOWN:108,ECONNREFUSED:111,EADDRINUSE:98,ECONNABORTED:103,ENETUNREACH:101,ENETDOWN:100,ETIMEDOUT:110,EHOSTDOWN:112,EHOSTUNREACH:113,EINPROGRESS:115,EALREADY:114,EDESTADDRREQ:89,EMSGSIZE:90,EPROTONOSUPPORT:93,ESOCKTNOSUPPORT:94,EADDRNOTAVAIL:99,ENETRESET:102,EISCONN:106,ENOTCONN:107,ETOOMANYREFS:109,EUSERS:87,EDQUOT:122,ESTALE:116,ENOTSUP:95,ENOMEDIUM:123,EILSEQ:84,EOVERFLOW:75,ECANCELED:125,ENOTRECOVERABLE:131,EOWNERDEAD:130,ESTRPIPE:86};function ___setErrNo(value){if(Module["___errno_location"])HEAP32[Module["___errno_location"]()>>2]=value;return value}function _clock_gettime(clk_id,tp){var now;if(clk_id===0){now=Date.now()}else if(clk_id===1&&_emscripten_get_now_is_monotonic()){now=_emscripten_get_now()}else{___setErrNo(ERRNO_CODES.EINVAL);return-1}HEAP32[tp>>2]=now/1e3|0;HEAP32[tp+4>>2]=now%1e3*1e3*1e3|0;return 0}function ___clock_gettime(){return _clock_gettime.apply(null,arguments)}function ___lock(){}function ___map_file(pathname,size){___setErrNo(ERRNO_CODES.EPERM);return-1}var ERRNO_MESSAGES={0:"Success",1:"Not super-user",2:"No such file or directory",3:"No such process",4:"Interrupted system call",5:"I/O error",6:"No such device or address",7:"Arg list too long",8:"Exec format error",9:"Bad file number",10:"No children",11:"No more processes",12:"Not enough core",13:"Permission denied",14:"Bad address",15:"Block device required",16:"Mount device busy",17:"File exists",18:"Cross-device link",19:"No such device",20:"Not a directory",21:"Is a directory",22:"Invalid argument",23:"Too many open files in system",24:"Too many open files",25:"Not a typewriter",26:"Text file busy",27:"File too large",28:"No space left on device",29:"Illegal seek",30:"Read only file system",31:"Too many links",32:"Broken pipe",33:"Math arg out of domain of func",34:"Math result not representable",35:"File locking deadlock error",36:"File or path name too long",37:"No record locks available",38:"Function not implemented",39:"Directory not empty",40:"Too many symbolic links",42:"No message of desired type",43:"Identifier removed",44:"Channel number out of range",45:"Level 2 not synchronized",46:"Level 3 halted",47:"Level 3 reset",48:"Link number out of range",49:"Protocol driver not attached",50:"No CSI structure available",51:"Level 2 halted",52:"Invalid exchange",53:"Invalid request descriptor",54:"Exchange full",55:"No anode",56:"Invalid request code",57:"Invalid slot",59:"Bad font file fmt",60:"Device not a stream",61:"No data (for no delay io)",62:"Timer expired",63:"Out of streams resources",64:"Machine is not on the network",65:"Package not installed",66:"The object is remote",67:"The link has been severed",68:"Advertise error",69:"Srmount error",70:"Communication error on send",71:"Protocol error",72:"Multihop attempted",73:"Cross mount point (not really error)",74:"Trying to read unreadable message",75:"Value too large for defined data type",76:"Given log. name not unique",77:"f.d. invalid for this operation",78:"Remote address changed",79:"Can access a needed shared lib",80:"Accessing a corrupted shared lib",81:".lib section in a.out corrupted",82:"Attempting to link in too many libs",83:"Attempting to exec a shared library",84:"Illegal byte sequence",86:"Streams pipe error",87:"Too many users",88:"Socket operation on non-socket",89:"Destination address required",90:"Message too long",91:"Protocol wrong type for socket",92:"Protocol not available",93:"Unknown protocol",94:"Socket type not supported",95:"Not supported",96:"Protocol family not supported",97:"Address family not supported by protocol family",98:"Address already in use",99:"Address not available",100:"Network interface is not configured",101:"Network is unreachable",102:"Connection reset by network",103:"Connection aborted",104:"Connection reset by peer",105:"No buffer space available",106:"Socket is already connected",107:"Socket is not connected",108:"Can't send after socket shutdown",109:"Too many references",110:"Connection timed out",111:"Connection refused",112:"Host is down",113:"Host is unreachable",114:"Socket already connected",115:"Connection already in progress",116:"Stale file handle",122:"Quota exceeded",123:"No medium (in tape drive)",125:"Operation canceled",130:"Previous owner died",131:"State not recoverable"};var PATH={splitPath:(function(filename){var splitPathRe=/^(\/?|)([\s\S]*?)((?:\.{1,2}|[^\/]+?|)(\.[^.\/]*|))(?:[\/]*)$/;return splitPathRe.exec(filename).slice(1)}),normalizeArray:(function(parts,allowAboveRoot){var up=0;for(var i=parts.length-1;i>=0;i--){var last=parts[i];if(last==="."){parts.splice(i,1)}else if(last===".."){parts.splice(i,1);up++}else if(up){parts.splice(i,1);up--}}if(allowAboveRoot){for(;up;up--){parts.unshift("..")}}return parts}),normalize:(function(path){var isAbsolute=path.charAt(0)==="/",trailingSlash=path.substr(-1)==="/";path=PATH.normalizeArray(path.split("/").filter((function(p){return!!p})),!isAbsolute).join("/");if(!path&&!isAbsolute){path="."}if(path&&trailingSlash){path+="/"}return(isAbsolute?"/":"")+path}),dirname:(function(path){var result=PATH.splitPath(path),root=result[0],dir=result[1];if(!root&&!dir){return"."}if(dir){dir=dir.substr(0,dir.length-1)}return root+dir}),basename:(function(path){if(path==="/")return"/";var lastSlash=path.lastIndexOf("/");if(lastSlash===-1)return path;return path.substr(lastSlash+1)}),extname:(function(path){return PATH.splitPath(path)[3]}),join:(function(){var paths=Array.prototype.slice.call(arguments,0);return PATH.normalize(paths.join("/"))}),join2:(function(l,r){return PATH.normalize(l+"/"+r)}),resolve:(function(){var resolvedPath="",resolvedAbsolute=false;for(var i=arguments.length-1;i>=-1&&!resolvedAbsolute;i--){var path=i>=0?arguments[i]:FS.cwd();if(typeof path!=="string"){throw new TypeError("Arguments to path.resolve must be strings")}else if(!path){return""}resolvedPath=path+"/"+resolvedPath;resolvedAbsolute=path.charAt(0)==="/"}resolvedPath=PATH.normalizeArray(resolvedPath.split("/").filter((function(p){return!!p})),!resolvedAbsolute).join("/");return(resolvedAbsolute?"/":"")+resolvedPath||"."}),relative:(function(from,to){from=PATH.resolve(from).substr(1);to=PATH.resolve(to).substr(1);function trim(arr){var start=0;for(;start=0;end--){if(arr[end]!=="")break}if(start>end)return[];return arr.slice(start,end-start+1)}var fromParts=trim(from.split("/"));var toParts=trim(to.split("/"));var length=Math.min(fromParts.length,toParts.length);var samePartsLength=length;for(var i=0;i0){result=buf.slice(0,bytesRead).toString("utf-8")}else{result=null}}else if(typeof window!="undefined"&&typeof window.prompt=="function"){result=window.prompt("Input: ");if(result!==null){result+="\n"}}else if(typeof readline=="function"){result=readline();if(result!==null){result+="\n"}}if(!result){return null}tty.input=intArrayFromString(result,true)}return tty.input.shift()}),put_char:(function(tty,val){if(val===null||val===10){Module["print"](UTF8ArrayToString(tty.output,0));tty.output=[]}else{if(val!=0)tty.output.push(val)}}),flush:(function(tty){if(tty.output&&tty.output.length>0){Module["print"](UTF8ArrayToString(tty.output,0));tty.output=[]}})},default_tty1_ops:{put_char:(function(tty,val){if(val===null||val===10){Module["printErr"](UTF8ArrayToString(tty.output,0));tty.output=[]}else{if(val!=0)tty.output.push(val)}}),flush:(function(tty){if(tty.output&&tty.output.length>0){Module["printErr"](UTF8ArrayToString(tty.output,0));tty.output=[]}})}};var MEMFS={ops_table:null,mount:(function(mount){return MEMFS.createNode(null,"/",16384|511,0)}),createNode:(function(parent,name,mode,dev){if(FS.isBlkdev(mode)||FS.isFIFO(mode)){throw new FS.ErrnoError(ERRNO_CODES.EPERM)}if(!MEMFS.ops_table){MEMFS.ops_table={dir:{node:{getattr:MEMFS.node_ops.getattr,setattr:MEMFS.node_ops.setattr,lookup:MEMFS.node_ops.lookup,mknod:MEMFS.node_ops.mknod,rename:MEMFS.node_ops.rename,unlink:MEMFS.node_ops.unlink,rmdir:MEMFS.node_ops.rmdir,readdir:MEMFS.node_ops.readdir,symlink:MEMFS.node_ops.symlink},stream:{llseek:MEMFS.stream_ops.llseek}},file:{node:{getattr:MEMFS.node_ops.getattr,setattr:MEMFS.node_ops.setattr},stream:{llseek:MEMFS.stream_ops.llseek,read:MEMFS.stream_ops.read,write:MEMFS.stream_ops.write,allocate:MEMFS.stream_ops.allocate,mmap:MEMFS.stream_ops.mmap,msync:MEMFS.stream_ops.msync}},link:{node:{getattr:MEMFS.node_ops.getattr,setattr:MEMFS.node_ops.setattr,readlink:MEMFS.node_ops.readlink},stream:{}},chrdev:{node:{getattr:MEMFS.node_ops.getattr,setattr:MEMFS.node_ops.setattr},stream:FS.chrdev_stream_ops}}}var node=FS.createNode(parent,name,mode,dev);if(FS.isDir(node.mode)){node.node_ops=MEMFS.ops_table.dir.node;node.stream_ops=MEMFS.ops_table.dir.stream;node.contents={}}else if(FS.isFile(node.mode)){node.node_ops=MEMFS.ops_table.file.node;node.stream_ops=MEMFS.ops_table.file.stream;node.usedBytes=0;node.contents=null}else if(FS.isLink(node.mode)){node.node_ops=MEMFS.ops_table.link.node;node.stream_ops=MEMFS.ops_table.link.stream}else if(FS.isChrdev(node.mode)){node.node_ops=MEMFS.ops_table.chrdev.node;node.stream_ops=MEMFS.ops_table.chrdev.stream}node.timestamp=Date.now();if(parent){parent.contents[name]=node}return node}),getFileDataAsRegularArray:(function(node){if(node.contents&&node.contents.subarray){var arr=[];for(var i=0;inode.contents.length){node.contents=MEMFS.getFileDataAsRegularArray(node);node.usedBytes=node.contents.length}if(!node.contents||node.contents.subarray){var prevCapacity=node.contents?node.contents.length:0;if(prevCapacity>=newCapacity)return;var CAPACITY_DOUBLING_MAX=1024*1024;newCapacity=Math.max(newCapacity,prevCapacity*(prevCapacity0)node.contents.set(oldContents.subarray(0,node.usedBytes),0);return}if(!node.contents&&newCapacity>0)node.contents=[];while(node.contents.lengthnewSize)node.contents.length=newSize;else while(node.contents.length=stream.node.usedBytes)return 0;var size=Math.min(stream.node.usedBytes-position,length);assert(size>=0);if(size>8&&contents.subarray){buffer.set(contents.subarray(position,position+size),offset)}else{for(var i=0;i0||position+lengthe2.timestamp){create.push(key);total++}}));var remove=[];Object.keys(dst.entries).forEach((function(key){var e=dst.entries[key];var e2=src.entries[key];if(!e2){remove.push(key);total++}}));if(!total){return callback(null)}var completed=0;var db=src.type==="remote"?src.db:dst.db;var transaction=db.transaction([IDBFS.DB_STORE_NAME],"readwrite");var store=transaction.objectStore(IDBFS.DB_STORE_NAME);function done(err){if(err){if(!done.errored){done.errored=true;return callback(err)}return}if(++completed>=total){return callback(null)}}transaction.onerror=(function(e){done(this.error);e.preventDefault()});create.sort().forEach((function(path){if(dst.type==="local"){IDBFS.loadRemoteEntry(store,path,(function(err,entry){if(err)return done(err);IDBFS.storeLocalEntry(path,entry,done)}))}else{IDBFS.loadLocalEntry(path,(function(err,entry){if(err)return done(err);IDBFS.storeRemoteEntry(store,path,entry,done)}))}}));remove.sort().reverse().forEach((function(path){if(dst.type==="local"){IDBFS.removeLocalEntry(path,done)}else{IDBFS.removeRemoteEntry(store,path,done)}}))})};var NODEFS={isWindows:false,staticInit:(function(){NODEFS.isWindows=!!process.platform.match(/^win/);var flags=process["binding"]("constants");if(flags["fs"]){flags=flags["fs"]}NODEFS.flagsForNodeMap={"1024":flags["O_APPEND"],"64":flags["O_CREAT"],"128":flags["O_EXCL"],"0":flags["O_RDONLY"],"2":flags["O_RDWR"],"4096":flags["O_SYNC"],"512":flags["O_TRUNC"],"1":flags["O_WRONLY"]}}),bufferFrom:(function(arrayBuffer){return Buffer.alloc?Buffer.from(arrayBuffer):new Buffer(arrayBuffer)}),mount:(function(mount){assert(ENVIRONMENT_IS_NODE);return NODEFS.createNode(null,"/",NODEFS.getMode(mount.opts.root),0)}),createNode:(function(parent,name,mode,dev){if(!FS.isDir(mode)&&!FS.isFile(mode)&&!FS.isLink(mode)){throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}var node=FS.createNode(parent,name,mode);node.node_ops=NODEFS.node_ops;node.stream_ops=NODEFS.stream_ops;return node}),getMode:(function(path){var stat;try{stat=fs.lstatSync(path);if(NODEFS.isWindows){stat.mode=stat.mode|(stat.mode&292)>>2}}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(ERRNO_CODES[e.code])}return stat.mode}),realPath:(function(node){var parts=[];while(node.parent!==node){parts.push(node.name);node=node.parent}parts.push(node.mount.opts.root);parts.reverse();return PATH.join.apply(null,parts)}),flagsForNode:(function(flags){flags&=~2097152;flags&=~2048;flags&=~32768;flags&=~524288;var newFlags=0;for(var k in NODEFS.flagsForNodeMap){if(flags&k){newFlags|=NODEFS.flagsForNodeMap[k];flags^=k}}if(!flags){return newFlags}else{throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}}),node_ops:{getattr:(function(node){var path=NODEFS.realPath(node);var stat;try{stat=fs.lstatSync(path)}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(ERRNO_CODES[e.code])}if(NODEFS.isWindows&&!stat.blksize){stat.blksize=4096}if(NODEFS.isWindows&&!stat.blocks){stat.blocks=(stat.size+stat.blksize-1)/stat.blksize|0}return{dev:stat.dev,ino:stat.ino,mode:stat.mode,nlink:stat.nlink,uid:stat.uid,gid:stat.gid,rdev:stat.rdev,size:stat.size,atime:stat.atime,mtime:stat.mtime,ctime:stat.ctime,blksize:stat.blksize,blocks:stat.blocks}}),setattr:(function(node,attr){var path=NODEFS.realPath(node);try{if(attr.mode!==undefined){fs.chmodSync(path,attr.mode);node.mode=attr.mode}if(attr.timestamp!==undefined){var date=new Date(attr.timestamp);fs.utimesSync(path,date,date)}if(attr.size!==undefined){fs.truncateSync(path,attr.size)}}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(ERRNO_CODES[e.code])}}),lookup:(function(parent,name){var path=PATH.join2(NODEFS.realPath(parent),name);var mode=NODEFS.getMode(path);return NODEFS.createNode(parent,name,mode)}),mknod:(function(parent,name,mode,dev){var node=NODEFS.createNode(parent,name,mode,dev);var path=NODEFS.realPath(node);try{if(FS.isDir(node.mode)){fs.mkdirSync(path,node.mode)}else{fs.writeFileSync(path,"",{mode:node.mode})}}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(ERRNO_CODES[e.code])}return node}),rename:(function(oldNode,newDir,newName){var oldPath=NODEFS.realPath(oldNode);var newPath=PATH.join2(NODEFS.realPath(newDir),newName);try{fs.renameSync(oldPath,newPath)}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(ERRNO_CODES[e.code])}}),unlink:(function(parent,name){var path=PATH.join2(NODEFS.realPath(parent),name);try{fs.unlinkSync(path)}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(ERRNO_CODES[e.code])}}),rmdir:(function(parent,name){var path=PATH.join2(NODEFS.realPath(parent),name);try{fs.rmdirSync(path)}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(ERRNO_CODES[e.code])}}),readdir:(function(node){var path=NODEFS.realPath(node);try{return fs.readdirSync(path)}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(ERRNO_CODES[e.code])}}),symlink:(function(parent,newName,oldPath){var newPath=PATH.join2(NODEFS.realPath(parent),newName);try{fs.symlinkSync(oldPath,newPath)}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(ERRNO_CODES[e.code])}}),readlink:(function(node){var path=NODEFS.realPath(node);try{path=fs.readlinkSync(path);path=NODEJS_PATH.relative(NODEJS_PATH.resolve(node.mount.opts.root),path);return path}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(ERRNO_CODES[e.code])}})},stream_ops:{open:(function(stream){var path=NODEFS.realPath(stream.node);try{if(FS.isFile(stream.node.mode)){stream.nfd=fs.openSync(path,NODEFS.flagsForNode(stream.flags))}}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(ERRNO_CODES[e.code])}}),close:(function(stream){try{if(FS.isFile(stream.node.mode)&&stream.nfd){fs.closeSync(stream.nfd)}}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(ERRNO_CODES[e.code])}}),read:(function(stream,buffer,offset,length,position){if(length===0)return 0;try{return fs.readSync(stream.nfd,NODEFS.bufferFrom(buffer.buffer),offset,length,position)}catch(e){throw new FS.ErrnoError(ERRNO_CODES[e.code])}}),write:(function(stream,buffer,offset,length,position){try{return fs.writeSync(stream.nfd,NODEFS.bufferFrom(buffer.buffer),offset,length,position)}catch(e){throw new FS.ErrnoError(ERRNO_CODES[e.code])}}),llseek:(function(stream,offset,whence){var position=offset;if(whence===1){position+=stream.position}else if(whence===2){if(FS.isFile(stream.node.mode)){try{var stat=fs.fstatSync(stream.nfd);position+=stat.size}catch(e){throw new FS.ErrnoError(ERRNO_CODES[e.code])}}}if(position<0){throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}return position})}};var WORKERFS={DIR_MODE:16895,FILE_MODE:33279,reader:null,mount:(function(mount){assert(ENVIRONMENT_IS_WORKER);if(!WORKERFS.reader)WORKERFS.reader=new FileReaderSync;var root=WORKERFS.createNode(null,"/",WORKERFS.DIR_MODE,0);var createdParents={};function ensureParent(path){var parts=path.split("/");var parent=root;for(var i=0;i=stream.node.size)return 0;var chunk=stream.node.contents.slice(position,position+length);var ab=WORKERFS.reader.readAsArrayBuffer(chunk);buffer.set(new Uint8Array(ab),offset);return chunk.size}),write:(function(stream,buffer,offset,length,position){throw new FS.ErrnoError(ERRNO_CODES.EIO)}),llseek:(function(stream,offset,whence){var position=offset;if(whence===1){position+=stream.position}else if(whence===2){if(FS.isFile(stream.node.mode)){position+=stream.node.size}}if(position<0){throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}return position})}};STATICTOP+=16;STATICTOP+=16;STATICTOP+=16;var FS={root:null,mounts:[],devices:{},streams:[],nextInode:1,nameTable:null,currentPath:"/",initialized:false,ignorePermissions:true,trackingDelegate:{},tracking:{openFlags:{READ:1,WRITE:2}},ErrnoError:null,genericErrors:{},filesystems:null,syncFSRequests:0,handleFSError:(function(e){if(!(e instanceof FS.ErrnoError))throw e+" : "+stackTrace();return ___setErrNo(e.errno)}),lookupPath:(function(path,opts){path=PATH.resolve(FS.cwd(),path);opts=opts||{};if(!path)return{path:"",node:null};var defaults={follow_mount:true,recurse_count:0};for(var key in defaults){if(opts[key]===undefined){opts[key]=defaults[key]}}if(opts.recurse_count>8){throw new FS.ErrnoError(ERRNO_CODES.ELOOP)}var parts=PATH.normalizeArray(path.split("/").filter((function(p){return!!p})),false);var current=FS.root;var current_path="/";for(var i=0;i40){throw new FS.ErrnoError(ERRNO_CODES.ELOOP)}}}}return{path:current_path,node:current}}),getPath:(function(node){var path;while(true){if(FS.isRoot(node)){var mount=node.mount.mountpoint;if(!path)return mount;return mount[mount.length-1]!=="/"?mount+"/"+path:mount+path}path=path?node.name+"/"+path:node.name;node=node.parent}}),hashName:(function(parentid,name){var hash=0;for(var i=0;i>>0)%FS.nameTable.length}),hashAddNode:(function(node){var hash=FS.hashName(node.parent.id,node.name);node.name_next=FS.nameTable[hash];FS.nameTable[hash]=node}),hashRemoveNode:(function(node){var hash=FS.hashName(node.parent.id,node.name);if(FS.nameTable[hash]===node){FS.nameTable[hash]=node.name_next}else{var current=FS.nameTable[hash];while(current){if(current.name_next===node){current.name_next=node.name_next;break}current=current.name_next}}}),lookupNode:(function(parent,name){var err=FS.mayLookup(parent);if(err){throw new FS.ErrnoError(err,parent)}var hash=FS.hashName(parent.id,name);for(var node=FS.nameTable[hash];node;node=node.name_next){var nodeName=node.name;if(node.parent.id===parent.id&&nodeName===name){return node}}return FS.lookup(parent,name)}),createNode:(function(parent,name,mode,rdev){if(!FS.FSNode){FS.FSNode=(function(parent,name,mode,rdev){if(!parent){parent=this}this.parent=parent;this.mount=parent.mount;this.mounted=null;this.id=FS.nextInode++;this.name=name;this.mode=mode;this.node_ops={};this.stream_ops={};this.rdev=rdev});FS.FSNode.prototype={};var readMode=292|73;var writeMode=146;Object.defineProperties(FS.FSNode.prototype,{read:{get:(function(){return(this.mode&readMode)===readMode}),set:(function(val){val?this.mode|=readMode:this.mode&=~readMode})},write:{get:(function(){return(this.mode&writeMode)===writeMode}),set:(function(val){val?this.mode|=writeMode:this.mode&=~writeMode})},isFolder:{get:(function(){return FS.isDir(this.mode)})},isDevice:{get:(function(){return FS.isChrdev(this.mode)})}})}var node=new FS.FSNode(parent,name,mode,rdev);FS.hashAddNode(node);return node}),destroyNode:(function(node){FS.hashRemoveNode(node)}),isRoot:(function(node){return node===node.parent}),isMountpoint:(function(node){return!!node.mounted}),isFile:(function(mode){return(mode&61440)===32768}),isDir:(function(mode){return(mode&61440)===16384}),isLink:(function(mode){return(mode&61440)===40960}),isChrdev:(function(mode){return(mode&61440)===8192}),isBlkdev:(function(mode){return(mode&61440)===24576}),isFIFO:(function(mode){return(mode&61440)===4096}),isSocket:(function(mode){return(mode&49152)===49152}),flagModes:{"r":0,"rs":1052672,"r+":2,"w":577,"wx":705,"xw":705,"w+":578,"wx+":706,"xw+":706,"a":1089,"ax":1217,"xa":1217,"a+":1090,"ax+":1218,"xa+":1218},modeStringToFlags:(function(str){var flags=FS.flagModes[str];if(typeof flags==="undefined"){throw new Error("Unknown file open mode: "+str)}return flags}),flagsToPermissionString:(function(flag){var perms=["r","w","rw"][flag&3];if(flag&512){perms+="w"}return perms}),nodePermissions:(function(node,perms){if(FS.ignorePermissions){return 0}if(perms.indexOf("r")!==-1&&!(node.mode&292)){return ERRNO_CODES.EACCES}else if(perms.indexOf("w")!==-1&&!(node.mode&146)){return ERRNO_CODES.EACCES}else if(perms.indexOf("x")!==-1&&!(node.mode&73)){return ERRNO_CODES.EACCES}return 0}),mayLookup:(function(dir){var err=FS.nodePermissions(dir,"x");if(err)return err;if(!dir.node_ops.lookup)return ERRNO_CODES.EACCES;return 0}),mayCreate:(function(dir,name){try{var node=FS.lookupNode(dir,name);return ERRNO_CODES.EEXIST}catch(e){}return FS.nodePermissions(dir,"wx")}),mayDelete:(function(dir,name,isdir){var node;try{node=FS.lookupNode(dir,name)}catch(e){return e.errno}var err=FS.nodePermissions(dir,"wx");if(err){return err}if(isdir){if(!FS.isDir(node.mode)){return ERRNO_CODES.ENOTDIR}if(FS.isRoot(node)||FS.getPath(node)===FS.cwd()){return ERRNO_CODES.EBUSY}}else{if(FS.isDir(node.mode)){return ERRNO_CODES.EISDIR}}return 0}),mayOpen:(function(node,flags){if(!node){return ERRNO_CODES.ENOENT}if(FS.isLink(node.mode)){return ERRNO_CODES.ELOOP}else if(FS.isDir(node.mode)){if(FS.flagsToPermissionString(flags)!=="r"||flags&512){return ERRNO_CODES.EISDIR}}return FS.nodePermissions(node,FS.flagsToPermissionString(flags))}),MAX_OPEN_FDS:4096,nextfd:(function(fd_start,fd_end){fd_start=fd_start||0;fd_end=fd_end||FS.MAX_OPEN_FDS;for(var fd=fd_start;fd<=fd_end;fd++){if(!FS.streams[fd]){return fd}}throw new FS.ErrnoError(ERRNO_CODES.EMFILE)}),getStream:(function(fd){return FS.streams[fd]}),createStream:(function(stream,fd_start,fd_end){if(!FS.FSStream){FS.FSStream=(function(){});FS.FSStream.prototype={};Object.defineProperties(FS.FSStream.prototype,{object:{get:(function(){return this.node}),set:(function(val){this.node=val})},isRead:{get:(function(){return(this.flags&2097155)!==1})},isWrite:{get:(function(){return(this.flags&2097155)!==0})},isAppend:{get:(function(){return this.flags&1024})}})}var newStream=new FS.FSStream;for(var p in stream){newStream[p]=stream[p]}stream=newStream;var fd=FS.nextfd(fd_start,fd_end);stream.fd=fd;FS.streams[fd]=stream;return stream}),closeStream:(function(fd){FS.streams[fd]=null}),chrdev_stream_ops:{open:(function(stream){var device=FS.getDevice(stream.node.rdev);stream.stream_ops=device.stream_ops;if(stream.stream_ops.open){stream.stream_ops.open(stream)}}),llseek:(function(){throw new FS.ErrnoError(ERRNO_CODES.ESPIPE)})},major:(function(dev){return dev>>8}),minor:(function(dev){return dev&255}),makedev:(function(ma,mi){return ma<<8|mi}),registerDevice:(function(dev,ops){FS.devices[dev]={stream_ops:ops}}),getDevice:(function(dev){return FS.devices[dev]}),getMounts:(function(mount){var mounts=[];var check=[mount];while(check.length){var m=check.pop();mounts.push(m);check.push.apply(check,m.mounts)}return mounts}),syncfs:(function(populate,callback){if(typeof populate==="function"){callback=populate;populate=false}FS.syncFSRequests++;if(FS.syncFSRequests>1){console.log("warning: "+FS.syncFSRequests+" FS.syncfs operations in flight at once, probably just doing extra work")}var mounts=FS.getMounts(FS.root.mount);var completed=0;function doCallback(err){assert(FS.syncFSRequests>0);FS.syncFSRequests--;return callback(err)}function done(err){if(err){if(!done.errored){done.errored=true;return doCallback(err)}return}if(++completed>=mounts.length){doCallback(null)}}mounts.forEach((function(mount){if(!mount.type.syncfs){return done(null)}mount.type.syncfs(mount,populate,done)}))}),mount:(function(type,opts,mountpoint){var root=mountpoint==="/";var pseudo=!mountpoint;var node;if(root&&FS.root){throw new FS.ErrnoError(ERRNO_CODES.EBUSY)}else if(!root&&!pseudo){var lookup=FS.lookupPath(mountpoint,{follow_mount:false});mountpoint=lookup.path;node=lookup.node;if(FS.isMountpoint(node)){throw new FS.ErrnoError(ERRNO_CODES.EBUSY)}if(!FS.isDir(node.mode)){throw new FS.ErrnoError(ERRNO_CODES.ENOTDIR)}}var mount={type:type,opts:opts,mountpoint:mountpoint,mounts:[]};var mountRoot=type.mount(mount);mountRoot.mount=mount;mount.root=mountRoot;if(root){FS.root=mountRoot}else if(node){node.mounted=mount;if(node.mount){node.mount.mounts.push(mount)}}return mountRoot}),unmount:(function(mountpoint){var lookup=FS.lookupPath(mountpoint,{follow_mount:false});if(!FS.isMountpoint(lookup.node)){throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}var node=lookup.node;var mount=node.mounted;var mounts=FS.getMounts(mount);Object.keys(FS.nameTable).forEach((function(hash){var current=FS.nameTable[hash];while(current){var next=current.name_next;if(mounts.indexOf(current.mount)!==-1){FS.destroyNode(current)}current=next}}));node.mounted=null;var idx=node.mount.mounts.indexOf(mount);assert(idx!==-1);node.mount.mounts.splice(idx,1)}),lookup:(function(parent,name){return parent.node_ops.lookup(parent,name)}),mknod:(function(path,mode,dev){var lookup=FS.lookupPath(path,{parent:true});var parent=lookup.node;var name=PATH.basename(path);if(!name||name==="."||name===".."){throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}var err=FS.mayCreate(parent,name);if(err){throw new FS.ErrnoError(err)}if(!parent.node_ops.mknod){throw new FS.ErrnoError(ERRNO_CODES.EPERM)}return parent.node_ops.mknod(parent,name,mode,dev)}),create:(function(path,mode){mode=mode!==undefined?mode:438;mode&=4095;mode|=32768;return FS.mknod(path,mode,0)}),mkdir:(function(path,mode){mode=mode!==undefined?mode:511;mode&=511|512;mode|=16384;return FS.mknod(path,mode,0)}),mkdirTree:(function(path,mode){var dirs=path.split("/");var d="";for(var i=0;ithis.length-1||idx<0){return undefined}var chunkOffset=idx%this.chunkSize;var chunkNum=idx/this.chunkSize|0;return this.getter(chunkNum)[chunkOffset]};LazyUint8Array.prototype.setDataGetter=function LazyUint8Array_setDataGetter(getter){this.getter=getter};LazyUint8Array.prototype.cacheLength=function LazyUint8Array_cacheLength(){var xhr=new XMLHttpRequest;xhr.open("HEAD",url,false);xhr.send(null);if(!(xhr.status>=200&&xhr.status<300||xhr.status===304))throw new Error("Couldn't load "+url+". Status: "+xhr.status);var datalength=Number(xhr.getResponseHeader("Content-length"));var header;var hasByteServing=(header=xhr.getResponseHeader("Accept-Ranges"))&&header==="bytes";var usesGzip=(header=xhr.getResponseHeader("Content-Encoding"))&&header==="gzip";var chunkSize=1024*1024;if(!hasByteServing)chunkSize=datalength;var doXHR=(function(from,to){if(from>to)throw new Error("invalid range ("+from+", "+to+") or no bytes requested!");if(to>datalength-1)throw new Error("only "+datalength+" bytes available! programmer error!");var xhr=new XMLHttpRequest;xhr.open("GET",url,false);if(datalength!==chunkSize)xhr.setRequestHeader("Range","bytes="+from+"-"+to);if(typeof Uint8Array!="undefined")xhr.responseType="arraybuffer";if(xhr.overrideMimeType){xhr.overrideMimeType("text/plain; charset=x-user-defined")}xhr.send(null);if(!(xhr.status>=200&&xhr.status<300||xhr.status===304))throw new Error("Couldn't load "+url+". Status: "+xhr.status);if(xhr.response!==undefined){return new Uint8Array(xhr.response||[])}else{return intArrayFromString(xhr.responseText||"",true)}});var lazyArray=this;lazyArray.setDataGetter((function(chunkNum){var start=chunkNum*chunkSize;var end=(chunkNum+1)*chunkSize-1;end=Math.min(end,datalength-1);if(typeof lazyArray.chunks[chunkNum]==="undefined"){lazyArray.chunks[chunkNum]=doXHR(start,end)}if(typeof lazyArray.chunks[chunkNum]==="undefined")throw new Error("doXHR failed!");return lazyArray.chunks[chunkNum]}));if(usesGzip||!datalength){chunkSize=datalength=1;datalength=this.getter(0).length;chunkSize=datalength;console.log("LazyFiles on gzip forces download of the whole file when length is accessed")}this._length=datalength;this._chunkSize=chunkSize;this.lengthKnown=true};if(typeof XMLHttpRequest!=="undefined"){if(!ENVIRONMENT_IS_WORKER)throw"Cannot do synchronous binary XHRs outside webworkers in modern browsers. Use --embed-file or --preload-file in emcc";var lazyArray=new LazyUint8Array;Object.defineProperties(lazyArray,{length:{get:(function(){if(!this.lengthKnown){this.cacheLength()}return this._length})},chunkSize:{get:(function(){if(!this.lengthKnown){this.cacheLength()}return this._chunkSize})}});var properties={isDevice:false,contents:lazyArray}}else{var properties={isDevice:false,url:url}}var node=FS.createFile(parent,name,properties,canRead,canWrite);if(properties.contents){node.contents=properties.contents}else if(properties.url){node.contents=null;node.url=properties.url}Object.defineProperties(node,{usedBytes:{get:(function(){return this.contents.length})}});var stream_ops={};var keys=Object.keys(node.stream_ops);keys.forEach((function(key){var fn=node.stream_ops[key];stream_ops[key]=function forceLoadLazyFile(){if(!FS.forceLoadFile(node)){throw new FS.ErrnoError(ERRNO_CODES.EIO)}return fn.apply(null,arguments)}}));stream_ops.read=function stream_ops_read(stream,buffer,offset,length,position){if(!FS.forceLoadFile(node)){throw new FS.ErrnoError(ERRNO_CODES.EIO)}var contents=stream.node.contents;if(position>=contents.length)return 0;var size=Math.min(contents.length-position,length);assert(size>=0);if(contents.slice){for(var i=0;i>2]=stat.dev;HEAP32[buf+4>>2]=0;HEAP32[buf+8>>2]=stat.ino;HEAP32[buf+12>>2]=stat.mode;HEAP32[buf+16>>2]=stat.nlink;HEAP32[buf+20>>2]=stat.uid;HEAP32[buf+24>>2]=stat.gid;HEAP32[buf+28>>2]=stat.rdev;HEAP32[buf+32>>2]=0;HEAP32[buf+36>>2]=stat.size;HEAP32[buf+40>>2]=4096;HEAP32[buf+44>>2]=stat.blocks;HEAP32[buf+48>>2]=stat.atime.getTime()/1e3|0;HEAP32[buf+52>>2]=0;HEAP32[buf+56>>2]=stat.mtime.getTime()/1e3|0;HEAP32[buf+60>>2]=0;HEAP32[buf+64>>2]=stat.ctime.getTime()/1e3|0;HEAP32[buf+68>>2]=0;HEAP32[buf+72>>2]=stat.ino;return 0}),doMsync:(function(addr,stream,len,flags){var buffer=new Uint8Array(HEAPU8.subarray(addr,addr+len));FS.msync(stream,buffer,0,len,flags)}),doMkdir:(function(path,mode){path=PATH.normalize(path);if(path[path.length-1]==="/")path=path.substr(0,path.length-1);FS.mkdir(path,mode,0);return 0}),doMknod:(function(path,mode,dev){switch(mode&61440){case 32768:case 8192:case 24576:case 4096:case 49152:break;default:return-ERRNO_CODES.EINVAL}FS.mknod(path,mode,dev);return 0}),doReadlink:(function(path,buf,bufsize){if(bufsize<=0)return-ERRNO_CODES.EINVAL;var ret=FS.readlink(path);var len=Math.min(bufsize,lengthBytesUTF8(ret));var endChar=HEAP8[buf+len];stringToUTF8(ret,buf,bufsize+1);HEAP8[buf+len]=endChar;return len}),doAccess:(function(path,amode){if(amode&~7){return-ERRNO_CODES.EINVAL}var node;var lookup=FS.lookupPath(path,{follow:true});node=lookup.node;var perms="";if(amode&4)perms+="r";if(amode&2)perms+="w";if(amode&1)perms+="x";if(perms&&FS.nodePermissions(node,perms)){return-ERRNO_CODES.EACCES}return 0}),doDup:(function(path,flags,suggestFD){var suggest=FS.getStream(suggestFD);if(suggest)FS.close(suggest);return FS.open(path,flags,0,suggestFD,suggestFD).fd}),doReadv:(function(stream,iov,iovcnt,offset){var ret=0;for(var i=0;i>2];var len=HEAP32[iov+(i*8+4)>>2];var curr=FS.read(stream,HEAP8,ptr,len,offset);if(curr<0)return-1;ret+=curr;if(curr>2];var len=HEAP32[iov+(i*8+4)>>2];var curr=FS.write(stream,HEAP8,ptr,len,offset);if(curr<0)return-1;ret+=curr}return ret}),varargs:0,get:(function(varargs){SYSCALLS.varargs+=4;var ret=HEAP32[SYSCALLS.varargs-4>>2];return ret}),getStr:(function(){var ret=Pointer_stringify(SYSCALLS.get());return ret}),getStreamFromFD:(function(){var stream=FS.getStream(SYSCALLS.get());if(!stream)throw new FS.ErrnoError(ERRNO_CODES.EBADF);return stream}),getSocketFromFD:(function(){var socket=SOCKFS.getSocket(SYSCALLS.get());if(!socket)throw new FS.ErrnoError(ERRNO_CODES.EBADF);return socket}),getSocketAddress:(function(allowNull){var addrp=SYSCALLS.get(),addrlen=SYSCALLS.get();if(allowNull&&addrp===0)return null;var info=__read_sockaddr(addrp,addrlen);if(info.errno)throw new FS.ErrnoError(info.errno);info.addr=DNS.lookup_addr(info.addr)||info.addr;return info}),get64:(function(){var low=SYSCALLS.get(),high=SYSCALLS.get();if(low>=0)assert(high===0);else assert(high===-1);return low}),getZero:(function(){assert(SYSCALLS.get()===0)})};function ___syscall10(which,varargs){SYSCALLS.varargs=varargs;try{var path=SYSCALLS.getStr();FS.unlink(path);return 0}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function ___syscall140(which,varargs){SYSCALLS.varargs=varargs;try{var stream=SYSCALLS.getStreamFromFD(),offset_high=SYSCALLS.get(),offset_low=SYSCALLS.get(),result=SYSCALLS.get(),whence=SYSCALLS.get();var offset=offset_low;FS.llseek(stream,offset,whence);HEAP32[result>>2]=stream.position;if(stream.getdents&&offset===0&&whence===0)stream.getdents=null;return 0}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function ___syscall145(which,varargs){SYSCALLS.varargs=varargs;try{var stream=SYSCALLS.getStreamFromFD(),iov=SYSCALLS.get(),iovcnt=SYSCALLS.get();return SYSCALLS.doReadv(stream,iov,iovcnt)}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function ___syscall146(which,varargs){SYSCALLS.varargs=varargs;try{var stream=SYSCALLS.getStreamFromFD(),iov=SYSCALLS.get(),iovcnt=SYSCALLS.get();return SYSCALLS.doWritev(stream,iov,iovcnt)}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function ___syscall192(which,varargs){SYSCALLS.varargs=varargs;try{var addr=SYSCALLS.get(),len=SYSCALLS.get(),prot=SYSCALLS.get(),flags=SYSCALLS.get(),fd=SYSCALLS.get(),off=SYSCALLS.get();off<<=12;var ptr;var allocated=false;if(fd===-1){ptr=_memalign(PAGE_SIZE,len);if(!ptr)return-ERRNO_CODES.ENOMEM;_memset(ptr,0,len);allocated=true}else{var info=FS.getStream(fd);if(!info)return-ERRNO_CODES.EBADF;var res=FS.mmap(info,HEAPU8,addr,len,off,prot,flags);ptr=res.ptr;allocated=res.allocated}SYSCALLS.mappings[ptr]={malloc:ptr,len:len,allocated:allocated,fd:fd,flags:flags};return ptr}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function ___syscall195(which,varargs){SYSCALLS.varargs=varargs;try{var path=SYSCALLS.getStr(),buf=SYSCALLS.get();return SYSCALLS.doStat(FS.stat,path,buf)}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function ___syscall197(which,varargs){SYSCALLS.varargs=varargs;try{var stream=SYSCALLS.getStreamFromFD(),buf=SYSCALLS.get();return SYSCALLS.doStat(FS.stat,stream.path,buf)}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}var PROCINFO={ppid:1,pid:42,sid:42,pgid:42};function ___syscall20(which,varargs){SYSCALLS.varargs=varargs;try{return PROCINFO.pid}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function ___syscall221(which,varargs){SYSCALLS.varargs=varargs;try{var stream=SYSCALLS.getStreamFromFD(),cmd=SYSCALLS.get();switch(cmd){case 0:{var arg=SYSCALLS.get();if(arg<0){return-ERRNO_CODES.EINVAL}var newStream;newStream=FS.open(stream.path,stream.flags,0,arg);return newStream.fd};case 1:case 2:return 0;case 3:return stream.flags;case 4:{var arg=SYSCALLS.get();stream.flags|=arg;return 0};case 12:case 12:{var arg=SYSCALLS.get();var offset=0;HEAP16[arg+offset>>1]=2;return 0};case 13:case 14:case 13:case 14:return 0;case 16:case 8:return-ERRNO_CODES.EINVAL;case 9:___setErrNo(ERRNO_CODES.EINVAL);return-1;default:{return-ERRNO_CODES.EINVAL}}}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function ___syscall3(which,varargs){SYSCALLS.varargs=varargs;try{var stream=SYSCALLS.getStreamFromFD(),buf=SYSCALLS.get(),count=SYSCALLS.get();return FS.read(stream,HEAP8,buf,count)}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function ___syscall33(which,varargs){SYSCALLS.varargs=varargs;try{var path=SYSCALLS.getStr(),amode=SYSCALLS.get();return SYSCALLS.doAccess(path,amode)}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function ___syscall5(which,varargs){SYSCALLS.varargs=varargs;try{var pathname=SYSCALLS.getStr(),flags=SYSCALLS.get(),mode=SYSCALLS.get();var stream=FS.open(pathname,flags,mode);return stream.fd}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function ___syscall54(which,varargs){SYSCALLS.varargs=varargs;try{var stream=SYSCALLS.getStreamFromFD(),op=SYSCALLS.get();switch(op){case 21509:case 21505:{if(!stream.tty)return-ERRNO_CODES.ENOTTY;return 0};case 21510:case 21511:case 21512:case 21506:case 21507:case 21508:{if(!stream.tty)return-ERRNO_CODES.ENOTTY;return 0};case 21519:{if(!stream.tty)return-ERRNO_CODES.ENOTTY;var argp=SYSCALLS.get();HEAP32[argp>>2]=0;return 0};case 21520:{if(!stream.tty)return-ERRNO_CODES.ENOTTY;return-ERRNO_CODES.EINVAL};case 21531:{var argp=SYSCALLS.get();return FS.ioctl(stream,op,argp)};case 21523:{if(!stream.tty)return-ERRNO_CODES.ENOTTY;return 0};default:abort("bad ioctl syscall "+op)}}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function ___syscall6(which,varargs){SYSCALLS.varargs=varargs;try{var stream=SYSCALLS.getStreamFromFD();FS.close(stream);return 0}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function ___syscall91(which,varargs){SYSCALLS.varargs=varargs;try{var addr=SYSCALLS.get(),len=SYSCALLS.get();var info=SYSCALLS.mappings[addr];if(!info)return 0;if(len===info.len){var stream=FS.getStream(info.fd);SYSCALLS.doMsync(addr,stream,len,info.flags);FS.munmap(stream);SYSCALLS.mappings[addr]=null;if(info.allocated){_free(info.malloc)}}return 0}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}var cttz_i8=allocate([8,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,5,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,6,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,5,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,7,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,5,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,6,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,5,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0],"i8",ALLOC_STATIC);function ___unlock(){}function __exit(status){Module["exit"](status)}function _exit(status){__exit(status)}var _environ=STATICTOP;STATICTOP+=16;function ___buildEnvironment(env){var MAX_ENV_VALUES=64;var TOTAL_ENV_SIZE=1024;var poolPtr;var envPtr;if(!___buildEnvironment.called){___buildEnvironment.called=true;ENV["USER"]=ENV["LOGNAME"]="web_user";ENV["PATH"]="/";ENV["PWD"]="/";ENV["HOME"]="/home/web_user";ENV["LANG"]="C.UTF-8";ENV["_"]=Module["thisProgram"];poolPtr=staticAlloc(TOTAL_ENV_SIZE);envPtr=staticAlloc(MAX_ENV_VALUES*4);HEAP32[envPtr>>2]=poolPtr;HEAP32[_environ>>2]=envPtr}else{envPtr=HEAP32[_environ>>2];poolPtr=HEAP32[envPtr>>2]}var strings=[];var totalSize=0;for(var key in env){if(typeof env[key]==="string"){var line=key+"="+env[key];strings.push(line);totalSize+=line.length}}if(totalSize>TOTAL_ENV_SIZE){throw new Error("Environment size exceeded TOTAL_ENV_SIZE!")}var ptrSize=4;for(var i=0;i>2]=poolPtr;poolPtr+=line.length+1}HEAP32[envPtr+strings.length*ptrSize>>2]=0}var ENV={};function _getenv(name){if(name===0)return 0;name=Pointer_stringify(name);if(!ENV.hasOwnProperty(name))return 0;if(_getenv.ret)_free(_getenv.ret);_getenv.ret=allocateUTF8(ENV[name]);return _getenv.ret}function _gettimeofday(ptr){var now=Date.now();HEAP32[ptr>>2]=now/1e3|0;HEAP32[ptr+4>>2]=now%1e3*1e3|0;return 0}var _llvm_ceil_f64=Math_ceil;var _llvm_fabs_f32=Math_abs;var _llvm_fabs_f64=Math_abs;var _llvm_floor_f64=Math_floor;var _llvm_pow_f64=Math_pow;var _llvm_sqrt_f32=Math_sqrt;var _llvm_sqrt_f64=Math_sqrt;function _llvm_trap(){abort("trap!")}function _longjmp(env,value){Module["setThrew"](env,value||1);throw"longjmp"}function _emscripten_memcpy_big(dest,src,num){HEAPU8.set(HEAPU8.subarray(src,src+num),dest);return dest}function _setenv(envname,envval,overwrite){if(envname===0){___setErrNo(ERRNO_CODES.EINVAL);return-1}var name=Pointer_stringify(envname);var val=Pointer_stringify(envval);if(name===""||name.indexOf("=")!==-1){___setErrNo(ERRNO_CODES.EINVAL);return-1}if(ENV.hasOwnProperty(name)&&!overwrite)return 0;ENV[name]=val;___buildEnvironment(ENV);return 0}function _time(ptr){var ret=Date.now()/1e3|0;if(ptr){HEAP32[ptr>>2]=ret}return ret}function _times(buffer){if(buffer!==0){_memset(buffer,0,16)}return 0}if(ENVIRONMENT_IS_NODE){_emscripten_get_now=function _emscripten_get_now_actual(){var t=process["hrtime"]();return t[0]*1e3+t[1]/1e6}}else if(typeof dateNow!=="undefined"){_emscripten_get_now=dateNow}else if(typeof self==="object"&&self["performance"]&&typeof self["performance"]["now"]==="function"){_emscripten_get_now=(function(){return self["performance"]["now"]()})}else if(typeof performance==="object"&&typeof performance["now"]==="function"){_emscripten_get_now=(function(){return performance["now"]()})}else{_emscripten_get_now=Date.now}FS.staticInit();__ATINIT__.unshift((function(){if(!Module["noFSInit"]&&!FS.init.initialized)FS.init()}));__ATMAIN__.push((function(){FS.ignorePermissions=false}));__ATEXIT__.push((function(){FS.quit()}));__ATINIT__.unshift((function(){TTY.init()}));__ATEXIT__.push((function(){TTY.shutdown()}));if(ENVIRONMENT_IS_NODE){var fs=require("fs");var NODEJS_PATH=require("path");NODEFS.staticInit()}___buildEnvironment(ENV);DYNAMICTOP_PTR=staticAlloc(4);STACK_BASE=STACKTOP=alignMemory(STATICTOP);STACK_MAX=STACK_BASE+TOTAL_STACK;DYNAMIC_BASE=alignMemory(STACK_MAX);HEAP32[DYNAMICTOP_PTR>>2]=DYNAMIC_BASE;staticSealed=true;var ASSERTIONS=false;function intArrayFromString(stringy,dontAddNull,length){var len=length>0?length:lengthBytesUTF8(stringy)+1;var u8array=new Array(len);var numBytesWritten=stringToUTF8Array(stringy,u8array,0,u8array.length);if(dontAddNull)u8array.length=numBytesWritten;return u8array}function intArrayToString(array){var ret=[];for(var i=0;i255){if(ASSERTIONS){assert(false,"Character code "+chr+" ("+String.fromCharCode(chr)+") at offset "+i+" not in 0x00-0xFF.")}chr&=255}ret.push(String.fromCharCode(chr))}return ret.join("")}var decodeBase64=typeof atob==="function"?atob:(function(input){var keyStr="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=";var output="";var chr1,chr2,chr3;var enc1,enc2,enc3,enc4;var i=0;input=input.replace(/[^A-Za-z0-9\+\/\=]/g,"");do{enc1=keyStr.indexOf(input.charAt(i++));enc2=keyStr.indexOf(input.charAt(i++));enc3=keyStr.indexOf(input.charAt(i++));enc4=keyStr.indexOf(input.charAt(i++));chr1=enc1<<2|enc2>>4;chr2=(enc2&15)<<4|enc3>>2;chr3=(enc3&3)<<6|enc4;output=output+String.fromCharCode(chr1);if(enc3!==64){output=output+String.fromCharCode(chr2)}if(enc4!==64){output=output+String.fromCharCode(chr3)}}while(i>2]|0;if(!i)qa(108233,108204,54,108218);if(!(a[i>>0]|0))qa(108242,108204,55,108218);a0(h,c[d+28>>2]|0)|0;i=h+(V_(h)|0)|0;a[i>>0]=58;a[i+1>>0]=0;o1(h,g)|0;if((gP(b,h)|0)==999){c[j>>2]=h;Ow(0,108254,j)|0}g=c[b+92>>2]|0;if(g|0?(m=c[g>>2]|0,m|0):0){c[k>>2]=c[e>>2];c[k+4>>2]=c[e+4>>2];c[k+8>>2]=c[e+8>>2];c[k+12>>2]=c[e+12>>2];c[k+16>>2]=c[e+16>>2];c[k+20>>2]=c[e+20>>2];c[k+24>>2]=c[e+24>>2];c[k+28>>2]=c[e+28>>2];xb[m&31](b,d,k,f)}l=n;return}function gP(a,b){a=a|0;b=b|0;b=vC(c[a>>2]|0,4,b)|0;if(!b)b=999;else{b=c[b+16>>2]|0;c[a+92>>2]=c[b+12>>2];c[a+96>>2]=c[b>>2];b=300}return b|0}function hP(a){a=a|0;return 1}function iP(b){b=b|0;var c=0;a[b+536>>0]=0;c=b+336|0;h[c>>3]=+h[c>>3]+10.0/+h[b+352>>3];a[b+537>>0]=1;return 0}function jP(b){b=b|0;var c=0;a[b+536>>0]=0;c=b+336|0;h[c>>3]=+h[c>>3]-10.0/+h[b+352>>3];a[b+537>>0]=1;return 0}function kP(b){b=b|0;var c=0;a[b+536>>0]=0;c=b+344|0;h[c>>3]=+h[c>>3]-10.0/+h[b+352>>3];a[b+537>>0]=1;return 0}function lP(b){b=b|0;var c=0;a[b+536>>0]=0;c=b+344|0;h[c>>3]=+h[c>>3]+10.0/+h[b+352>>3];a[b+537>>0]=1;return 0}function mP(b){b=b|0;var c=0;a[b+536>>0]=0;c=b+352|0;h[c>>3]=+h[c>>3]*1.1;a[b+537>>0]=1;return 0}function nP(b){b=b|0;var c=0;a[b+536>>0]=0;c=b+352|0;h[c>>3]=+h[c>>3]*.9090909090909091;a[b+537>>0]=1;return 0}function oP(b){b=b|0;var d=0,e=0,f=0,g=0.0,i=0.0;e=b+536|0;d=(a[e>>0]|0)==0;a[e>>0]=d&1;if(d){d=c[b+448>>2]|0;e=c[b+452>>2]|0;i=+(d>>>0);g=+(e>>>0);f=i/+(d|0)>3]=(f?i:g)/+((f?d:e)|0);e=b+336|0;c[e>>2]=0;c[e+4>>2]=0;c[e+8>>2]=0;c[e+12>>2]=0;a[b+537>>0]=1}return 0}function pP(b){b=b|0;var d=0,e=0;d=c[(c[b>>2]|0)+168>>2]|0;e=b+580|0;if(!(c[e>>2]|0)){c[e>>2]=d;e=(c[d+16>>2]|0)+112|0;a[e>>0]=a[e>>0]|2;FP(b,d)}cF(b,d);a[b+540>>0]=1;return}function qP(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0.0,i=0.0,j=0,k=0;k=l;l=l+16|0;f=k;switch(d|0){case 1:{c[f>>2]=c[e>>2];c[f+4>>2]=c[e+4>>2];c[f+8>>2]=c[e+8>>2];c[f+12>>2]=c[e+12>>2];yP(b,f);EP(b);a[b+538>>0]=1;a[b+541>>0]=1;j=13;break}case 2:{a[b+538>>0]=1;a[b+541>>0]=2;j=13;break}case 3:{c[f>>2]=c[e>>2];c[f+4>>2]=c[e+4>>2];c[f+8>>2]=c[e+8>>2];c[f+12>>2]=c[e+12>>2];yP(b,f);a[b+538>>0]=1;a[b+541>>0]=3;j=13;break}case 4:{a[b+536>>0]=0;if(!(c[b+360>>2]|0)){f=b+352|0;i=+h[f>>3];d=b+336|0;h[d>>3]=(+h[e>>3]-+((c[b+448>>2]|0)>>>0)*.5)*.10000000000000009/(+h[b+520>>3]*i)+ +h[d>>3];g=+h[e+8>>3]-+((c[b+452>>2]|0)>>>0)*.5;d=b+528|0}else{f=b+352|0;i=+h[f>>3];d=b+336|0;h[d>>3]=+h[d>>3]-(+h[e+8>>3]-+((c[b+452>>2]|0)>>>0)*.5)*.10000000000000009/(+h[b+528>>3]*i);g=+h[e>>3]-+((c[b+448>>2]|0)>>>0)*.5;d=b+520|0}j=b+344|0;h[j>>3]=g*.10000000000000009/(+h[d>>3]*i)+ +h[j>>3];h[f>>3]=i*1.1;j=13;break}case 5:{a[b+536>>0]=0;j=b+352|0;i=+h[j>>3]*.9090909090909091;h[j>>3]=i;if(!(c[b+360>>2]|0)){f=b+336|0;h[f>>3]=+h[f>>3]-(+h[e>>3]-+((c[b+448>>2]|0)>>>0)*.5)*.10000000000000009/(+h[b+520>>3]*i);g=+h[e+8>>3]-+((c[b+452>>2]|0)>>>0)*.5;f=b+528|0}else{f=b+336|0;h[f>>3]=(+h[e+8>>3]-+((c[b+452>>2]|0)>>>0)*.5)*.10000000000000009/(+h[b+528>>3]*i)+ +h[f>>3];g=+h[e>>3]-+((c[b+448>>2]|0)>>>0)*.5;f=b+520|0}j=b+344|0;h[j>>3]=+h[j>>3]-g*.10000000000000009/(+h[f>>3]*i);j=13;break}default:{}}if((j|0)==13)a[b+537>>0]=1;b=b+560|0;c[b>>2]=c[e>>2];c[b+4>>2]=c[e+4>>2];c[b+8>>2]=c[e+8>>2];c[b+12>>2]=c[e+12>>2];l=k;return}function rP(b,c,d){b=b|0;c=c|0;d=d|0;a[b+538>>0]=0;a[b+541>>0]=0;return}function sP(b,d){b=b|0;d=d|0;var e=0,f=0.0,g=0.0,i=0,j=0.0,k=0;k=l;l=l+16|0;e=k;i=b+560|0;j=(+h[d>>3]-+h[i>>3])/+h[b+520>>3];g=(+h[d+8>>3]-+h[b+568>>3])/+h[b+528>>3];if(!(+B(+j)<.0001&+B(+g)<.0001)){switch(a[b+541>>0]|0){case 0:{c[e>>2]=c[d>>2];c[e+4>>2]=c[d+4>>2];c[e+8>>2]=c[d+8>>2];c[e+12>>2]=c[d+12>>2];yP(b,e);break}case 2:{f=+h[b+352>>3];if(!(c[b+360>>2]|0)){e=b+336|0;h[e>>3]=+h[e>>3]-j/f;e=b+344|0;h[e>>3]=+h[e>>3]-g/f}else{e=b+336|0;h[e>>3]=+h[e>>3]-g/f;e=b+344|0;h[e>>3]=+h[e>>3]+j/f}a[b+537>>0]=1;break}default:{}}c[i>>2]=c[d>>2];c[i+4>>2]=c[d+4>>2];c[i+8>>2]=c[d+8>>2];c[i+12>>2]=c[d+12>>2]}l=k;return}function tP(a,b,c){a=a|0;b=b|0;c=c|0;return}function uP(a){a=a|0;return}function vP(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0;j=c[b>>2]|0;if(d){d=K1(d,135739)|0;if(d|0){i=SB(d,0)|0;r1(d)|0;f=5}}else{i=SB(c[15621]|0,0)|0;f=5}if((f|0)==5?i|0:0){g=j+168|0;d=c[g>>2]|0;if(d|0){f=c[j+172>>2]|0;if((f|0)!=0?(h=c[f+4>>2]|0,(h|0)!=0):0){tb[h&127](d);d=c[g>>2]|0}fH(d);_x(c[g>>2]|0)|0}Ez(i,0,134401,280,1);Ez(i,1,134365,304,1);Ez(i,2,134378,176,1);c[g>>2]=i;c[(c[i+16>>2]|0)+144>>2]=j;if((ZC(j,i,e)|0)!=-1){c[b+580>>2]=0;c[b+576>>2]=0;a[b+537>>0]=1}}return}function wP(a,b){a=a|0;b=b|0;a=c[a>>2]|0;ZC(a,c[a+168>>2]|0,b)|0;return}function xP(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0;g=c[a>>2]|0;f=g+160|0;e=c[f>>2]|0;if((e|0)!=0?(c[g+164>>2]|0)==0:0){i=g+192|0;h=c[i>>2]|0;c[f>>2]=0;c[i>>2]=0;f=h}else{f=0;e=0}$C(g,c[g+168>>2]|0,b,d)|0;if(e|0){i=c[a>>2]|0;c[i+160>>2]=e;c[i+192>>2]=f}return}function yP(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,i=0.0,j=0.0,k=0.0,m=0;f=l;l=l+80|0;e=f+48|0;g=f;m=f+32|0;c[e>>2]=c[d>>2];c[e+4>>2]=c[d+4>>2];c[e+8>>2]=c[d+8>>2];c[e+12>>2]=c[d+12>>2];zP(m,b,e);k=+h[m>>3];j=+h[m+8>>3];i=1.0/+h[b+352>>3];h[g+16>>3]=i+k;h[g+24>>3]=i+j;h[g>>3]=k-i;h[g+8>>3]=j-i;d=c[(c[b>>2]|0)+168>>2]|0;c[e>>2]=c[g>>2];c[e+4>>2]=c[g+4>>2];c[e+8>>2]=c[g+8>>2];c[e+12>>2]=c[g+12>>2];c[e+16>>2]=c[g+16>>2];c[e+20>>2]=c[g+20>>2];c[e+24>>2]=c[g+24>>2];c[e+28>>2]=c[g+28>>2];d=AP(d,e)|0;e=b+576|0;if((d|0)!=(c[e>>2]|0)){BP(b);c[e>>2]=d;CP(b);a[b+537>>0]=1}l=f;return}function zP(a,b,d){a=a|0;b=b|0;d=d|0;var e=0.0,f=0.0,g=0.0,i=0;if(!(c[b+360>>2]|0)){e=+h[b+352>>3];f=+h[d+8>>3];g=e;i=b+528|0;e=+h[d>>3]/(+h[b+520>>3]*e)-+h[b+504>>3]}else{e=+h[b+352>>3];f=-+h[d>>3];g=e;i=b+520|0;e=+h[d+8>>3]/(+h[b+528>>3]*e)-+h[b+504>>3]}g=f/(+h[i>>3]*g)-+h[b+512>>3];h[a>>3]=e;h[a+8>>3]=g;return}function AP(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;g=l;l=l+32|0;f=g;e=Ry(a)|0;a:while(1){if(!e){e=9;break}d=Dx(a,e)|0;while(1){if(!d)break;c[f>>2]=c[b>>2];c[f+4>>2]=c[b+4>>2];c[f+8>>2]=c[b+8>>2];c[f+12>>2]=c[b+12>>2];c[f+16>>2]=c[b+16>>2];c[f+20>>2]=c[b+20>>2];c[f+24>>2]=c[b+24>>2];c[f+28>>2]=c[b+28>>2];if((VM(d,f)|0)<<24>>24){e=6;break a}d=Fx(a,d)|0}e=Sy(a,e)|0}do if((e|0)!=6)if((e|0)==9){d=Ty(a)|0;while(1){if(!d)break;c[f>>2]=c[b>>2];c[f+4>>2]=c[b+4>>2];c[f+8>>2]=c[b+8>>2];c[f+12>>2]=c[b+12>>2];c[f+16>>2]=c[b+16>>2];c[f+20>>2]=c[b+20>>2];c[f+24>>2]=c[b+24>>2];c[f+28>>2]=c[b+28>>2];if((SM(d,f)|0)<<24>>24){e=12;break}d=Uy(a,d)|0}if((e|0)==12)break;c[f>>2]=c[b>>2];c[f+4>>2]=c[b+4>>2];c[f+8>>2]=c[b+8>>2];c[f+12>>2]=c[b+12>>2];c[f+16>>2]=c[b+16>>2];c[f+20>>2]=c[b+20>>2];c[f+24>>2]=c[b+24>>2];c[f+28>>2]=c[b+28>>2];d=DP(a,f)|0;if(!d){d=a;break}else break}while(0);l=g;return d|0}function BP(b){b=b|0;var d=0;d=c[b+576>>2]|0;a:do if(d|0)switch(oz(d)|0){case 0:{d=(c[d+16>>2]|0)+112|0;a[d>>0]=a[d>>0]&-2;break a}case 1:{d=(c[d+16>>2]|0)+117|0;a[d>>0]=a[d>>0]&-2;break a}case 2:{d=(c[d+16>>2]|0)+115|0;a[d>>0]=a[d>>0]&-2;break a}default:break a}while(0);c[b+584>>2]=0;return}function CP(b){b=b|0;var d=0,e=0;e=b+584|0;d=c[e>>2]|0;if(d|0){C_(d);c[e>>2]=0}d=c[b+576>>2]|0;a:do if(d|0)switch(oz(d)|0){case 0:{b=(c[d+16>>2]|0)+112|0;a[b>>0]=a[b>>0]|1;b=mx(d,0,138019,0)|0;if(!b)break a;c[e>>2]=oH(xx(d,b)|0,d)|0;break a}case 1:{b=(c[d+16>>2]|0)+117|0;a[b>>0]=a[b>>0]|1;b=mx(dz(d)|0,1,138019,0)|0;if(!b)break a;c[e>>2]=oH(xx(d,b)|0,d)|0;break a}case 2:{b=(c[d+16>>2]|0)+115|0;a[b>>0]=a[b>>0]|1;b=mx(dz(c[((c[d>>2]&3|0)==2?d:d+-48|0)+40>>2]|0)|0,2,138019,0)|0;if(!b)break a;c[e>>2]=oH(xx(d,b)|0,d)|0;break a}default:break a}while(0);return}function DP(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,i=0,j=0,k=0,m=0,n=0.0,o=0.0;m=l;l=l+32|0;e=m;g=c[a+16>>2]|0;i=c[g+180>>2]|0;j=g+184|0;d=1;while(1){if((d|0)>(i|0)){k=4;break}f=c[(c[j>>2]|0)+(d<<2)>>2]|0;c[e>>2]=c[b>>2];c[e+4>>2]=c[b+4>>2];c[e+8>>2]=c[b+8>>2];c[e+12>>2]=c[b+12>>2];c[e+16>>2]=c[b+16>>2];c[e+20>>2]=c[b+20>>2];c[e+24>>2]=c[b+24>>2];c[e+28>>2]=c[b+28>>2];f=DP(f,e)|0;if(!f)d=d+1|0;else{a=f;break}}do if((k|0)==4){o=+h[g+24>>3];n=+h[g+40>>3];if(((+h[b+16>>3]>=+h[g+16>>3]?+h[g+32>>3]>=+h[b>>3]:0)?+h[b+24>>3]>=o:0)?n>=+h[b+8>>3]:0)break;a=0}while(0);l=m;return a|0}function EP(b){b=b|0;var d=0,e=0,f=0;f=b+580|0;d=c[f>>2]|0;a:do if(d|0)switch(oz(d)|0){case 0:{e=(c[d+16>>2]|0)+112|0;a[e>>0]=a[e>>0]&-7|4;break a}case 1:{e=(c[d+16>>2]|0)+117|0;a[e>>0]=a[e>>0]&-7|4;break a}case 2:{e=(c[d+16>>2]|0)+115|0;a[e>>0]=a[e>>0]&-7|4;break a}default:break a}while(0);d=b+588|0;e=c[d>>2]|0;if(e|0){C_(e);c[d>>2]=0}d=c[b+576>>2]|0;c[f>>2]=d;b:do if(d|0)switch(oz(d)|0){case 0:{f=(c[d+16>>2]|0)+112|0;a[f>>0]=a[f>>0]|2;FP(b,d);break b}case 1:{f=(c[d+16>>2]|0)+117|0;a[f>>0]=a[f>>0]|2;GP(b,d);break b}case 2:{f=(c[d+16>>2]|0)+115|0;a[f>>0]=a[f>>0]|2;HP(b,d);break b}default:break b}while(0);return}function FP(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;d=a+592|0;do if((ez(b)|0)==(b|0))if(!(dy(b)|0)){qC(d,0,108412);break}else{qC(d,0,108404);break}else qC(d,0,108418);while(0);qC(d,1,qy(b)|0);c[a+596>>2]=2;f=a+604|0;d=0;e=2;while(1){d=rx(b,0,d)|0;if(!d)break;qC(f,e,c[d+8>>2]|0);qC(f,e+1|0,xx(b,d)|0);qC(f,e+2|0,0);e=e+3|0}c[a+608>>2]=e;d=mx(b,0,137973,0)|0;if(!d){d=mx(b,0,108395,0)|0;if(d|0)g=11}else g=11;if((g|0)==11)c[a+588>>2]=oH(xx(b,d)|0,b)|0;return}function GP(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;f=a+592|0;qC(f,0,108399);qC(f,1,qy(b)|0);c[a+596>>2]=2;f=a+604|0;g=ez(dz(b)|0)|0;e=2;d=0;while(1){d=rx(g,1,d)|0;if(!d)break;qC(f,e,c[d+8>>2]|0);qC(f,e|1,xx(b,d)|0);e=e+2|0}c[a+608>>2]=e;d=mx(dz(b)|0,1,137973,0)|0;if(!d){d=mx(dz(b)|0,1,108395,0)|0;if(d|0)h=6}else h=6;if((h|0)==6)c[a+588>>2]=oH(xx(b,d)|0,b)|0;return}function HP(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0;h=a+592|0;qC(h,0,108368);k=b+48|0;qC(h,1,qy(c[((c[b>>2]&3|0)==3?b:k)+40>>2]|0)|0);k=(dy(dz(c[((c[b>>2]&3|0)==3?b:k)+40>>2]|0)|0)|0)!=0;qC(h,3,k?134656:138665);k=b+-48|0;qC(h,4,qy(c[((c[b>>2]&3|0)==2?b:k)+40>>2]|0)|0);c[a+596>>2]=7;i=a+604|0;j=ez(dz(c[((c[b>>2]&3|0)==2?b:k)+40>>2]|0)|0)|0;g=7;d=0;a:while(1){while(1){d=rx(j,2,d)|0;if(!d)break a;e=d+8|0;f=c[e>>2]|0;if(!(a$(f,108373)|0)){l=5;break}if(!(a$(f,108382)|0)){l=7;break}if(a$(f,108391)|0)break;qC(h,6,xx(b,d)|0)}if((l|0)==5){l=0;qC(h,2,xx(b,d)|0)}else if((l|0)==7){l=0;qC(h,5,xx(b,d)|0)}qC(i,g,c[e>>2]|0);qC(i,g+1|0,xx(b,d)|0);g=g+2|0}c[a+608>>2]=g;d=mx(dz(c[((c[b>>2]&3|0)==2?b:k)+40>>2]|0)|0,2,137973,0)|0;if(!d){d=mx(dz(c[((c[b>>2]&3|0)==2?b:k)+40>>2]|0)|0,2,108395,0)|0;if(d|0)l=13}else l=13;if((l|0)==13)c[a+588>>2]=oH(xx(b,d)|0,b)|0;return}function IP(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0;g=JP(a,b,c[d>>2]|0)|0;d=c[d+4>>2]|0;while(1){f=c[d+4>>2]|0;if(!f)break;b=0;while(1){e=c[f+(b*20|0)+4>>2]|0;if(!e)break;tC(a,c[d>>2]|0,e,c[f+(b*20|0)+8>>2]|0,g,f+(b*20|0)|0)|0;b=b+1|0}d=d+8|0}return}function JP(a,b,d){a=a|0;b=b|0;d=d|0;var e=0;e=uH(12)|0;if(!b)b=0;else b=m1(b)|0;c[e+4>>2]=b;c[e+8>>2]=m1(d)|0;d=a+100|0;c[e>>2]=c[d>>2];c[d>>2]=e;return e|0}function KP(b,c){b=b|0;c=c|0;LP(b);a[b+44>>0]=0;MP(b)|0;zL(b)|0;return}function LP(b){b=b|0;var d=0,e=0;d=c[b+32>>2]|0;a:do if(d|0)while(1){e=c[d>>2]|0;if(!e)break a;if((a[e>>0]|0)==103?O0(e,108427)|0:0)IP(b,0,c[d+4>>2]|0);d=d+8|0}while(0);return}function MP(a){a=a|0;var b=0;b=vC(a,2,108440)|0;if(!b)a=999;else{c[a+148>>2]=c[(c[b+16>>2]|0)+12>>2];a=300}return a|0}function NP(a,b,d){a=a|0;b=b|0;d=d|0;var e=0;a=c[a+148>>2]|0;if((a|0)!=0?(e=c[a>>2]|0,(e|0)!=0):0)a=lb[e&127](b,d)|0;else a=0;return a|0}function OP(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;return (c[b>>2]|0)-(c[d>>2]|0)|0}function PP(a){a=a|0;var b=0.0,d=0.0;a=c[a+16>>2]|0;d=+h[a+16>>3];b=+h[a+24>>3];return (QP(~~(d>b?d:b)>>>0)|0)+1|0}function QP(a){a=a|0;var b=0,c=0;if(!a)a=-1;else{c=a>>>0>65535;a=c?a>>>16:a;c=c?16:0;b=a>>>0>255;a=b?a>>>8:a;c=b?c|8:c;b=a>>>0>15;a=b?a>>>4:a;c=b?c|4:c;b=a>>>0>3;a=(b?c|2:c)+((b?a>>>2:a)>>>0>1&1)|0}return a|0}function RP(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var i=0.0,j=0.0,k=0,m=0,n=0,o=0,p=0,q=0,r=0;r=l;l=l+32|0;q=r;p=SP(b,d,e,f,g)|0;e=TP(p)|0;if((e|0)>=0){n=q+16|0;o=q+24|0;m=q+8|0;k=g+32|0;e=0;g=0;while(1){if((g|0)>=(d|0))break;f=b+(g*40|0)+32|0;do if(c[f>>2]|0){UP(q,p,b+(g*40|0)|0);i=+h[n>>3];j=+h[o>>3];if(!(c[q>>2]|0)){a[(c[f>>2]|0)+36>>0]=1;break}if(+h[m>>3]==0.0){f=c[f>>2]|0;h[f+16>>3]=i;h[f+24>>3]=j;a[f+36>>0]=1;break}if((a[k>>0]|0)==1){f=c[f>>2]|0;h[f+16>>3]=i;h[f+24>>3]=j;a[f+36>>0]=1}else e=1}while(0);g=g+1|0}VP(p)}l=r;return e|0}function SP(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0;g=tH(28)|0;j=Bw(25808,c[4558]|0)|0;h=g+20|0;c[h>>2]=j;do if(j){j=BS()|0;c[g+24>>2]=j;if(!j){D1(108658,14,1,c[15686]|0)|0;i=6;break}else{c[g>>2]=a;c[g+4>>2]=b;c[g+8>>2]=d;c[g+12>>2]=e;c[g+16>>2]=f;break}}else{D1(108658,14,1,c[15686]|0)|0;i=6}while(0);if((i|0)==6){a=c[h>>2]|0;if(a|0)xw(a)|0;a=c[g+24>>2]|0;if(a|0)DS(a)|0;C_(g);g=0}return g|0}function TP(a){a=a|0;var b=0;b=cQ(a)|0;if((b|0)>=0){dQ(a);eQ(a);b=xw(c[a+20>>2]|0)|0}return b|0}function UP(a,b,d){a=a|0;b=b|0;d=d|0;var e=0.0,f=0,g=0,i=0.0,j=0,k=0.0,m=0,n=0,o=0,p=0,q=0.0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0.0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0.0,L=0,M=0;M=l;l=l+464|0;J=M+416|0;L=M+400|0;G=M+384|0;m=M+352|0;n=M+320|0;o=M+288|0;p=M+256|0;r=M+224|0;s=M+192|0;t=M+160|0;u=M+128|0;v=M+96|0;x=M+64|0;y=M+32|0;H=M;z=c[d+32>>2]|0;e=+h[z>>3];C=d+16|0;A=(e*2.0+ +h[C>>3])*.125;D=z+8|0;I=d+24|0;i=+h[I>>3];K=(+h[D>>3]*2.0+i)*.5;if(!z)qa(108451,108461,445,108471);f=J;g=f+36|0;do{c[f>>2]=0;f=f+4|0}while((f|0)<(g|0));B=z+16|0;h[B>>3]=+h[d>>3]-e;E=d+8|0;F=z+24|0;h[F>>3]=i+ +h[E>>3];WP(m,b,d,J);j=c[m>>2]|0;f=c[m+4>>2]|0;e=+h[m+8>>3];m=m+16|0;c[L>>2]=c[m>>2];c[L+4>>2]=c[m+4>>2];c[L+8>>2]=c[m+8>>2];c[L+12>>2]=c[m+12>>2];a:do if(!j){c[a>>2]=0;c[a+4>>2]=f;h[a+8>>3]=e;a=a+16|0;c[a>>2]=c[L>>2];c[a+4>>2]=c[L+4>>2];c[a+8>>2]=c[L+8>>2];c[a+12>>2]=c[L+12>>2]}else{h[F>>3]=+h[E>>3];WP(n,b,d,J);g=c[n>>2]|0;m=c[n+4>>2]|0;i=+h[n+8>>3];n=n+16|0;c[G>>2]=c[n>>2];c[G+4>>2]=c[n+4>>2];c[G+8>>2]=c[n+8>>2];c[G+12>>2]=c[n+12>>2];if(!g){c[a>>2]=0;c[a+4>>2]=m;h[a+8>>3]=i;a=a+16|0;c[a>>2]=c[G>>2];c[a+4>>2]=c[G+4>>2];c[a+8>>2]=c[G+8>>2];c[a+12>>2]=c[G+12>>2];break}if(i>2]=c[G>>2];c[L+4>>2]=c[G+4>>2];c[L+8>>2]=c[G+8>>2];c[L+12>>2]=c[G+12>>2];f=m;e=i}else g=j;h[F>>3]=+h[E>>3]-+h[D>>3];WP(o,b,d,J);m=c[o>>2]|0;j=c[o+4>>2]|0;i=+h[o+8>>3];o=o+16|0;c[G>>2]=c[o>>2];c[G+4>>2]=c[o+4>>2];c[G+8>>2]=c[o+8>>2];c[G+12>>2]=c[o+12>>2];if(!m){c[a>>2]=0;c[a+4>>2]=j;h[a+8>>3]=i;a=a+16|0;c[a>>2]=c[G>>2];c[a+4>>2]=c[G+4>>2];c[a+8>>2]=c[G+8>>2];c[a+12>>2]=c[G+12>>2];break}if(i>2]=c[G>>2];c[L+4>>2]=c[G+4>>2];c[L+8>>2]=c[G+8>>2];c[L+12>>2]=c[G+12>>2];f=j;e=i}else m=g;h[B>>3]=+h[d>>3];h[F>>3]=+h[I>>3]+ +h[E>>3];WP(p,b,d,J);g=c[p>>2]|0;j=c[p+4>>2]|0;i=+h[p+8>>3];p=p+16|0;c[G>>2]=c[p>>2];c[G+4>>2]=c[p+4>>2];c[G+8>>2]=c[p+8>>2];c[G+12>>2]=c[p+12>>2];if(!g){c[a>>2]=0;c[a+4>>2]=j;h[a+8>>3]=i;a=a+16|0;c[a>>2]=c[G>>2];c[a+4>>2]=c[G+4>>2];c[a+8>>2]=c[G+8>>2];c[a+12>>2]=c[G+12>>2];break}if(i>2]=c[G>>2];c[L+4>>2]=c[G+4>>2];c[L+8>>2]=c[G+8>>2];c[L+12>>2]=c[G+12>>2];m=g;f=j;e=i}h[F>>3]=+h[E>>3]-+h[D>>3];WP(r,b,d,J);g=c[r>>2]|0;j=c[r+4>>2]|0;i=+h[r+8>>3];r=r+16|0;c[G>>2]=c[r>>2];c[G+4>>2]=c[r+4>>2];c[G+8>>2]=c[r+8>>2];c[G+12>>2]=c[r+12>>2];if(!g){c[a>>2]=0;c[a+4>>2]=j;h[a+8>>3]=i;a=a+16|0;c[a>>2]=c[G>>2];c[a+4>>2]=c[G+4>>2];c[a+8>>2]=c[G+8>>2];c[a+12>>2]=c[G+12>>2];break}if(i>2]=c[G>>2];c[L+4>>2]=c[G+4>>2];c[L+8>>2]=c[G+8>>2];c[L+12>>2]=c[G+12>>2];m=g;f=j;e=i}h[B>>3]=+h[C>>3]+ +h[d>>3];h[F>>3]=+h[I>>3]+ +h[E>>3];WP(s,b,d,J);g=c[s>>2]|0;j=c[s+4>>2]|0;i=+h[s+8>>3];s=s+16|0;c[G>>2]=c[s>>2];c[G+4>>2]=c[s+4>>2];c[G+8>>2]=c[s+8>>2];c[G+12>>2]=c[s+12>>2];if(!g){c[a>>2]=0;c[a+4>>2]=j;h[a+8>>3]=i;a=a+16|0;c[a>>2]=c[G>>2];c[a+4>>2]=c[G+4>>2];c[a+8>>2]=c[G+8>>2];c[a+12>>2]=c[G+12>>2];break}if(i>2]=c[G>>2];c[L+4>>2]=c[G+4>>2];c[L+8>>2]=c[G+8>>2];c[L+12>>2]=c[G+12>>2];m=g;f=j;e=i}h[F>>3]=+h[E>>3];WP(t,b,d,J);g=c[t>>2]|0;j=c[t+4>>2]|0;i=+h[t+8>>3];t=t+16|0;c[G>>2]=c[t>>2];c[G+4>>2]=c[t+4>>2];c[G+8>>2]=c[t+8>>2];c[G+12>>2]=c[t+12>>2];if(!g){c[a>>2]=0;c[a+4>>2]=j;h[a+8>>3]=i;a=a+16|0;c[a>>2]=c[G>>2];c[a+4>>2]=c[G+4>>2];c[a+8>>2]=c[G+8>>2];c[a+12>>2]=c[G+12>>2];break}if(i>2]=c[G>>2];c[L+4>>2]=c[G+4>>2];c[L+8>>2]=c[G+8>>2];c[L+12>>2]=c[G+12>>2];m=g;f=j;e=i}h[F>>3]=+h[E>>3]-+h[D>>3];WP(u,b,d,J);g=c[u>>2]|0;j=c[u+4>>2]|0;i=+h[u+8>>3];u=u+16|0;c[G>>2]=c[u>>2];c[G+4>>2]=c[u+4>>2];c[G+8>>2]=c[u+8>>2];c[G+12>>2]=c[u+12>>2];if(!g){c[a>>2]=0;c[a+4>>2]=j;h[a+8>>3]=i;a=a+16|0;c[a>>2]=c[G>>2];c[a+4>>2]=c[G+4>>2];c[a+8>>2]=c[G+8>>2];c[a+12>>2]=c[G+12>>2];break}if(i>2]=c[G>>2];c[L+4>>2]=c[G+4>>2];c[L+8>>2]=c[G+8>>2];c[L+12>>2]=c[G+12>>2];f=j;e=i}else g=m;j=(c[J+28>>2]|0)==0;do if(!(c[J+24>>2]|0))if(j){if(c[J+32>>2]|0){w=38;break}if(!((c[J+12>>2]|0)==0&(c[J>>2]|0)==0))w=38}else w=46;else if(j)w=38;else w=46;while(0);b:do if((w|0)==38)if(!(c[J+32>>2]|0)){h[B>>3]=+h[d>>3]-+h[z>>3];p=v+4|0;r=v+8|0;s=v+16|0;m=F;j=E;i=+h[I>>3];c:while(1){while(1){h[m>>3]=+h[j>>3]+i;if(!(+h[B>>3]<=+h[C>>3]+ +h[d>>3])){w=46;break b}WP(v,b,d,J);n=c[v>>2]|0;o=c[p>>2]|0;k=+h[r>>3];c[G>>2]=c[s>>2];c[G+4>>2]=c[s+4>>2];c[G+8>>2]=c[s+8>>2];c[G+12>>2]=c[s+12>>2];if(!n)break c;if(k>2]=c[G>>2];c[L+4>>2]=c[G+4>>2];c[L+8>>2]=c[G+8>>2];c[L+12>>2]=c[G+12>>2];m=B;j=B;i=A;g=n;f=o;e=k}c[a>>2]=0;c[a+4>>2]=o;h[a+8>>3]=k;a=a+16|0;c[a>>2]=c[G>>2];c[a+4>>2]=c[G+4>>2];c[a+8>>2]=c[G+8>>2];c[a+12>>2]=c[G+12>>2];break a}else w=46;while(0);d:do if((w|0)==46)if((c[J+12>>2]|0)==0&(c[J>>2]|0)==0){h[B>>3]=+h[d>>3]-+h[z>>3];k=+h[E>>3];n=x+4|0;o=x+8|0;p=x+16|0;i=k;k=+h[I>>3]+k;while(1){h[F>>3]=k;if(!(k>=i-+h[D>>3]))break d;WP(x,b,d,J);j=c[x>>2]|0;m=c[n>>2]|0;i=+h[o>>3];c[G>>2]=c[p>>2];c[G+4>>2]=c[p+4>>2];c[G+8>>2]=c[p+8>>2];c[G+12>>2]=c[p+12>>2];if(!j)break;if(i>2]=c[G>>2];c[L+4>>2]=c[G+4>>2];c[L+8>>2]=c[G+8>>2];c[L+12>>2]=c[G+12>>2];g=j;f=m;e=i}i=+h[E>>3];k=+h[F>>3]-K}c[a>>2]=0;c[a+4>>2]=m;h[a+8>>3]=i;a=a+16|0;c[a>>2]=c[G>>2];c[a+4>>2]=c[G+4>>2];c[a+8>>2]=c[G+8>>2];c[a+12>>2]=c[G+12>>2];break a}while(0);i=+h[d>>3];k=+h[C>>3]+i;h[B>>3]=k;q=+h[D>>3];h[F>>3]=+h[E>>3]-q;j=c[J+4>>2]|0;do if(!(c[J+8>>2]|0)){m=c[J>>2]|0;if(!((j|0)==0&(m|0)==0)){w=59;break}if(c[J+20>>2]|0){j=0;m=0;w=59;break}if(c[J+32>>2]|0){j=0;m=0;w=59}}else{m=c[J>>2]|0;w=59}while(0);e:do if((w|0)==59){f:do if((j|0)==0&(m|0)==0){h[B>>3]=k;p=y+4|0;r=y+8|0;s=y+16|0;m=F;j=E;i=q;g:while(1){while(1){h[m>>3]=+h[j>>3]-i;i=+h[d>>3];if(!(+h[B>>3]>=i-+h[z>>3]))break f;WP(y,b,d,J);n=c[y>>2]|0;o=c[p>>2]|0;k=+h[r>>3];c[G>>2]=c[s>>2];c[G+4>>2]=c[s+4>>2];c[G+8>>2]=c[s+8>>2];c[G+12>>2]=c[s+12>>2];if(!n)break g;if(k>2]=c[G>>2];c[L+4>>2]=c[G+4>>2];c[L+8>>2]=c[G+8>>2];c[L+12>>2]=c[G+12>>2];m=B;j=B;i=A;g=n;f=o;e=k}c[a>>2]=0;c[a+4>>2]=o;h[a+8>>3]=k;a=a+16|0;c[a>>2]=c[G>>2];c[a+4>>2]=c[G+4>>2];c[a+8>>2]=c[G+8>>2];c[a+12>>2]=c[G+12>>2];break a}while(0);if(c[J+20>>2]|0)break;if(c[J+32>>2]|0)break;h[B>>3]=+h[C>>3]+i;i=+h[E>>3];n=H+4|0;o=H+8|0;p=H+16|0;k=i;i=i-+h[D>>3];while(1){h[F>>3]=i;if(!(i<=+h[I>>3]+k))break e;WP(H,b,d,J);j=c[H>>2]|0;m=c[n>>2]|0;i=+h[o>>3];c[G>>2]=c[p>>2];c[G+4>>2]=c[p+4>>2];c[G+8>>2]=c[p+8>>2];c[G+12>>2]=c[p+12>>2];if(!j)break;if(i>2]=c[G>>2];c[L+4>>2]=c[G+4>>2];c[L+8>>2]=c[G+8>>2];c[L+12>>2]=c[G+12>>2];g=j;f=m;e=i}k=+h[E>>3];i=+h[F>>3]+K}c[a>>2]=0;c[a+4>>2]=m;h[a+8>>3]=i;a=a+16|0;c[a>>2]=c[G>>2];c[a+4>>2]=c[G+4>>2];c[a+8>>2]=c[G+8>>2];c[a+12>>2]=c[G+12>>2];break a}while(0);c[a>>2]=g;c[a+4>>2]=f;h[a+8>>3]=e;a=a+16|0;c[a>>2]=c[L>>2];c[a+4>>2]=c[L+4>>2];c[a+8>>2]=c[L+8>>2];c[a+12>>2]=c[L+12>>2]}while(0);l=M;return}function VP(a){a=a|0;DS(c[a+24>>2]|0)|0;C_(a);return}function WP(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,i=0.0,j=0,k=0,m=0,n=0.0,o=0,p=0,q=0,r=0.0,s=0,t=0;t=l;l=l+48|0;q=t+32|0;s=t+16|0;p=t;g=c[e+32>>2]|0;if(!g)qa(108451,108461,382,108480);o=g+16|0;c[p>>2]=c[o>>2];c[p+4>>2]=c[o+4>>2];c[p+8>>2]=c[o+8>>2];c[p+12>>2]=c[o+12>>2];o=d+4|0;m=0;g=0;while(1){if((m|0)>=(c[o>>2]|0))break;j=c[d>>2]|0;k=j+(m*40|0)|0;do if((k|0)!=(e|0)){if(+h[j+(m*40|0)+16>>3]>0.0?+h[j+(m*40|0)+24>>3]>0.0:0)break;g=g+((XP(e,k)|0)!=0&1)|0}while(0);m=m+1|0}YP(e,q);m=c[d+24>>2]|0;m=FS(m,c[m>>2]|0,q)|0;if(!m){c[b>>2]=g;h[b+8>>3]=0.0;s=b+16|0;c[s>>2]=c[p>>2];c[s+4>>2]=c[p+4>>2];c[s+8>>2]=c[p+8>>2];c[s+12>>2]=c[p+12>>2]}else{k=m;i=0.0;while(1){if(!k)break;j=c[(c[k+4>>2]|0)+16>>2]|0;if((j|0)!=(e|0)){ZP(j,s);n=+_P(q,s);if(n>0.0){g=g+1|0;i=+$P(e,j,q,n,f)+i}d=c[j+32>>2]|0;if(((d|0)!=0?(a[d+36>>0]|0)!=0:0)?(YP(j,s),r=+_P(q,s),r>0.0):0){g=g+1|0;i=+aQ(e,j,q,r,f)+i}}k=c[k>>2]|0}AS(m);c[b>>2]=g;h[b+8>>3]=i;s=b+16|0;c[s>>2]=c[p>>2];c[s+4>>2]=c[p+4>>2];c[s+8>>2]=c[p+8>>2];c[s+12>>2]=c[p+12>>2]}l=t;return}function XP(a,b){a=a|0;b=b|0;var d=0.0,e=0.0,f=0.0,g=0.0;a=c[a+32>>2]|0;if(+h[b+16>>3]==0.0?+h[b+24>>3]==0.0:0){if((((a|0)!=0?(d=+h[b>>3],e=+h[a+16>>3],d>e):0)?d<+h[a>>3]+e:0)?(f=+h[b+8>>3],g=+h[a+24>>3],f>g):0)a=f<+h[a+8>>3]+g&1;else a=0;return a|0}qa(108517,108461,219,108554);return 0}function YP(a,b){a=a|0;b=b|0;var d=0.0,e=0.0;a=c[a+32>>2]|0;e=+h[a+16>>3];c[b>>2]=~~e;d=+h[a+24>>3];c[b+4>>2]=~~d;c[b+8>>2]=~~(+h[a>>3]+e);c[b+12>>2]=~~(+h[a+8>>3]+d);return}function ZP(a,b){a=a|0;b=b|0;var d=0.0,e=0.0;e=+h[a>>3];c[b>>2]=~~e;d=+h[a+8>>3];c[b+4>>2]=~~d;c[b+8>>2]=~~(+h[a+16>>3]+e);c[b+12>>2]=~~(+h[a+24>>3]+d);return}function _P(a,b){a=a|0;b=b|0;var d=0.0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0;i=c[a+8>>2]|0;j=c[b>>2]|0;if((((i|0)>=(j|0)?(k=c[a>>2]|0,l=c[b+8>>2]|0,(k|0)<=(l|0)):0)?(e=c[a+12>>2]|0,f=c[b+4>>2]|0,(e|0)>=(f|0)):0)?(g=c[a+4>>2]|0,h=c[b+12>>2]|0,(g|0)<=(h|0)):0)d=(+(c[((e|0)<(h|0)?a:b)+12>>2]|0)-+(c[((g|0)>(f|0)?a:b)+4>>2]|0))*(+(c[((i|0)<(l|0)?a:b)+8>>2]|0)-+(c[((k|0)>(j|0)?a:b)>>2]|0));else d=0.0;return +d}function $P(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=+e;f=f|0;var g=0.0,h=0.0,i=0,j=0;j=l;l=l+16|0;i=j;a=bQ(a,b)|0;f=f+(((a|0)<0?5:a)<<2)|0;a=c[f>>2]|0;if(!a){c[f>>2]=b;g=e}else{ZP(a,i);g=+_P(d,i);g=g>e?g:0.0;a=c[f>>2]|0;if((c[a+32>>2]|0)!=0?(YP(a,i),h=+_P(d,i),h>e):0)g=h>g?h:g;if(!(g>0.0)){c[f>>2]=b;g=e}}l=j;return +g}function aQ(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=+e;f=f|0;var g=0.0,h=0.0,i=0,j=0;j=l;l=l+16|0;i=j;a=bQ(a,b)|0;f=f+(((a|0)<0?5:a)<<2)|0;a=c[f>>2]|0;if(!a){c[f>>2]=b;g=e}else{ZP(a,i);g=+_P(d,i);g=g>e?g:0.0;a=c[f>>2]|0;if((c[a+32>>2]|0)!=0?(YP(a,i),h=+_P(d,i),h>e):0)g=h>g?h:g;if(!(g>0.0)){c[f>>2]=b;g=e}}l=j;return +g}function bQ(b,d){b=b|0;d=d|0;var e=0,f=0,g=0.0,i=0.0,j=0.0,k=0.0;e=c[b+32>>2]|0;f=c[d+32>>2]|0;if((e|0)==(f|0))qa(108496,108461,276,108506);do if((a[e+36>>0]|0)!=0?(a[f+36>>0]|0)!=0:0){j=+h[b>>3];if(j==0.0?+h[b+8>>3]==0.0:0){e=-1;break}k=+h[d>>3];i=+h[d+8>>3];if(!(k==0.0&i==0.0)){g=+h[b+8>>3];if(ij?2:1;break}e=kg){if(e){e=6;break}e=k>j?8:7;break}if(!e)if(k>j)e=5;else e=-1;else e=3}else e=-1}else e=-1;while(0);return e|0}function cQ(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0;k=l;l=l+32|0;d=k+24|0;e=k+16|0;f=k;g=PP(a)|0;h=a+4|0;i=e+4|0;j=a+20|0;b=0;while(1){if((b|0)>=(c[h>>2]|0)){b=0;break}m=tH(32)|0;o=(c[a>>2]|0)+(b*40|0)|0;n=m+12|0;c[m+28>>2]=o;fQ(f,o);c[n>>2]=c[f>>2];c[n+4>>2]=c[f+4>>2];c[n+8>>2]=c[f+8>>2];c[n+12>>2]=c[f+12>>2];n=c[n>>2]|0;c[e>>2]=(((c[m+20>>2]|0)-n|0)/2|0)+n;n=c[m+16>>2]|0;c[i>>2]=(((c[m+24>>2]|0)-n|0)/2|0)+n;c[d>>2]=c[e>>2];c[d+4>>2]=c[e+4>>2];c[m+8>>2]=gQ(d,g)|0;n=c[j>>2]|0;if(!(nb[c[n>>2]&63](n,m,1)|0)){b=-1;break}else b=b+1|0}l=k;return b|0}function dQ(a){a=a|0;var b=0,d=0,e=0;d=a+20|0;e=c[d>>2]|0;b=a+24|0;a=nb[c[e>>2]&63](e,0,128)|0;while(1){if(!a)break;e=c[b>>2]|0;GS(e,a+12|0,c[a+28>>2]|0,e,0)|0;e=c[d>>2]|0;a=nb[c[e>>2]&63](e,a,8)|0}return}function eQ(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0;e=a+20|0;f=Dw(c[e>>2]|0)|0;d=0;while(1){if(!(Dw(c[e>>2]|0)|0))break;g=c[e>>2]|0;a=c[(c[g+8>>2]|0)+4>>2]|0;if(!a){h=8;break}b=c[(c[g+4>>2]|0)+8>>2]|0;if((b|0)<0)a=c[a+8>>2]|0;else a=a+(0-b)|0;if(!a){h=8;break}nb[c[g>>2]&63](g,a,4096)|0;C_(a);d=d+1|0}if((h|0)==8)qa(108567,108461,616,108570);if((f|0)==(d|0))return;else qa(108582,108461,623,108570)}function fQ(a,b){a=a|0;b=b|0;var d=0,e=0.0,f=0.0,g=0.0,i=0,j=0,k=0,l=0.0;d=c[b+32>>2]|0;if(!d){e=0.0;f=0.0}else{e=+h[d>>3];f=+h[d+8>>3]}l=+h[b>>3];k=~~+A(+(l-e));g=+h[b+8>>3];j=~~+A(+(g-f));i=~~+N(+(l+e+ +h[b+16>>3]));if((i|0)==2147483647)qa(108594,108461,264,108621);d=~~+N(+(g+f+ +h[b+24>>3]));if((d|0)==2147483647)qa(108631,108461,266,108621);else{c[a>>2]=k;c[a+4>>2]=j;c[a+8>>2]=i;c[a+12>>2]=d;return}}function gQ(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0;f=0;e=c[a>>2]|0;d=c[a+4>>2]|0;while(1){a=b+-1|0;if((b|0)<=0)break;i=e>>>a&1;b=d>>>a&1;g=b+-1|0;h=g&(e^d);g=g&0-i;f=i<<1|f<<2|i^b;b=a;e=h^e^g;d=h^d^g}return f|0}function hQ(b){b=b|0;var d=0,e=0,f=0,g=0;d=V_(b)|0;if(d>>>0>=(c[46595]|0)>>>0){d=d+11|0;c[46595]=d;d=wH(c[46596]|0,d)|0;c[46596]=d;if(!d)d=0;else e=4}else{d=c[46596]|0;e=4}if((e|0)==4){g=d;while(1){e=a[b>>0]|0;if(!(e<<24>>24))break;f=e&255;if(P$(f)|0)e=(O$(f)|0)&255;a[g>>0]=e;g=g+1|0;b=b+1|0}a[g>>0]=0}return d|0}function iQ(b,e,f){b=b|0;e=e|0;f=f|0;var g=0.0,i=0,j=0.0,k=0.0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0.0;F=l;l=l+144|0;s=F+96|0;p=F+80|0;v=F+124|0;t=F+72|0;w=F+64|0;x=F+56|0;C=F+48|0;D=F+40|0;E=F+32|0;y=F+24|0;z=F+16|0;A=F+8|0;B=F;i=F+120|0;m=F+116|0;n=F+112|0;o=F+108|0;c[e+32>>2]=f;r=b;while(1)if((a[r>>0]|0)==32)r=r+1|0;else break;c[o>>2]=255;b=a[r>>0]|0;a:do if(b<<24>>24==35){c[p>>2]=i;c[p+4>>2]=m;c[p+8>>2]=n;c[p+12>>2]=o;if((M1(r,108673,p)|0)<=2){b=a[r>>0]|0;q=12;break}switch(f|0){case 0:{G=+((c[i>>2]|0)>>>0)*.00392156862745098;h[C>>3]=G;g=+((c[m>>2]|0)>>>0)*.00392156862745098;h[D>>3]=g;j=+((c[n>>2]|0)>>>0)*.00392156862745098;h[E>>3]=j;k=+((c[o>>2]|0)>>>0)*.00392156862745098;jQ(G,g,j,t,w,x);h[e>>3]=+h[t>>3];h[e+8>>3]=+h[w>>3];h[e+16>>3]=+h[x>>3];h[e+24>>3]=k;b=0;break a}case 1:{a[e>>0]=c[i>>2];a[e+1>>0]=c[m>>2];a[e+2>>0]=c[n>>2];a[e+3>>0]=c[o>>2];b=0;break a}case 3:{j=+((c[i>>2]|0)>>>0)*.00392156862745098;h[C>>3]=j;k=+((c[m>>2]|0)>>>0)*.00392156862745098;h[D>>3]=k;G=+((c[n>>2]|0)>>>0)*.00392156862745098;h[E>>3]=G;kQ(j,k,G,y,z,A,B);a[e>>0]=~~+h[y>>3]*255;a[e+1>>0]=~~+h[z>>3]*255;a[e+2>>0]=~~+h[A>>3]*255;a[e+3>>0]=~~+h[B>>3]*255;b=0;break a}case 2:{c[e>>2]=(((c[i>>2]|0)*65535|0)>>>0)/255|0;c[e+4>>2]=(((c[m>>2]|0)*65535|0)>>>0)/255|0;c[e+8>>2]=(((c[n>>2]|0)*65535|0)>>>0)/255|0;c[e+12>>2]=(((c[o>>2]|0)*65535|0)>>>0)/255|0;b=0;break a}case 4:{h[e>>3]=+((c[i>>2]|0)>>>0)*.00392156862745098;h[e+8>>3]=+((c[m>>2]|0)>>>0)*.00392156862745098;h[e+16>>3]=+((c[n>>2]|0)>>>0)*.00392156862745098;h[e+24>>3]=+((c[o>>2]|0)>>>0)*.00392156862745098;b=0;break a}default:{b=0;break a}}}else q=12;while(0);b:do if((q|0)==12){if(!(b<<24>>24!=46?((b&255)+-48|0)>>>0>=10:0)){b=V_(r)|0;if(b>>>0>=(c[46597]|0)>>>0){b=b+11|0;c[46597]=b;b=wH(c[46598]|0,b)|0;c[46598]=b;if(!b){b=-1;break}}else b=c[46598]|0;m=b;i=r;c:while(1){n=i+1|0;i=a[i>>0]|0;switch(i<<24>>24){case 0:break c;case 44:{i=32;break}default:{}}a[m>>0]=i;m=m+1|0;i=n}a[m>>0]=0;c[s>>2]=t;c[s+4>>2]=w;c[s+8>>2]=x;if((M1(b,108687,s)|0)==3){k=+h[t>>3];k=k<1.0?k:1.0;k=k>0.0?k:0.0;h[t>>3]=k;j=+h[w>>3];j=j<1.0?j:1.0;j=j>0.0?j:0.0;h[w>>3]=j;g=+h[x>>3];g=g<1.0?g:1.0;g=g>0.0?g:0.0;h[x>>3]=g;switch(f|0){case 0:{h[e>>3]=k;h[e+8>>3]=j;h[e+16>>3]=g;h[e+24>>3]=1.0;b=0;break b}case 1:{lQ(k,j,g,C,D,E);a[e>>0]=~~(+h[C>>3]*255.0);a[e+1>>0]=~~(+h[D>>3]*255.0);a[e+2>>0]=~~(+h[E>>3]*255.0);a[e+3>>0]=-1;b=0;break b}case 3:{lQ(k,j,g,C,D,E);kQ(+h[C>>3],+h[D>>3],+h[E>>3],y,z,A,B);a[e>>0]=~~+h[y>>3]*255;a[e+1>>0]=~~+h[z>>3]*255;a[e+2>>0]=~~+h[A>>3]*255;a[e+3>>0]=~~+h[B>>3]*255;b=0;break b}case 2:{lQ(k,j,g,C,D,E);c[e>>2]=~~(+h[C>>3]*65535.0);c[e+4>>2]=~~(+h[D>>3]*65535.0);c[e+8>>2]=~~(+h[E>>3]*65535.0);c[e+12>>2]=65535;b=0;break b}case 4:{lQ(k,j,g,C,D,E);h[e>>3]=+h[C>>3];h[e+8>>3]=+h[D>>3];h[e+16>>3]=+h[E>>3];h[e+24>>3]=1.0;b=0;break b}default:{b=0;break b}}}}i=mQ(r)|0;c[v>>2]=i;if(!i)b=-1;else{b=c[46599]|0;if(!(((b|0)!=0?(u=c[b>>2]|0,(a[u>>0]|0)==(a[i>>0]|0)):0)?(a$(u,i)|0)==0:0)){b=d2(v,25844,2491,12,101)|0;c[46599]=b;if(!b)switch(f|0){case 0:{c[e>>2]=0;c[e+4>>2]=0;c[e+8>>2]=0;c[e+12>>2]=0;c[e+16>>2]=0;c[e+20>>2]=0;h[e+24>>3]=1.0;b=1;break b}case 1:{a[e+2>>0]=0;a[e+1>>0]=0;a[e>>0]=0;a[e+3>>0]=-1;b=1;break b}case 3:{c[e>>2]=0;b=1;break b}case 2:{c[e+8>>2]=0;c[e+4>>2]=0;c[e>>2]=0;c[e+12>>2]=65535;b=1;break b}case 4:{c[e>>2]=0;c[e+4>>2]=0;c[e+8>>2]=0;c[e+12>>2]=0;c[e+16>>2]=0;c[e+20>>2]=0;h[e+24>>3]=1.0;b=1;break b}default:{b=1;break b}}}switch(f|0){case 0:{h[e>>3]=+(d[b+4>>0]|0)*.00392156862745098;h[e+8>>3]=+(d[b+5>>0]|0)*.00392156862745098;h[e+16>>3]=+(d[b+6>>0]|0)*.00392156862745098;h[e+24>>3]=+(d[b+10>>0]|0)*.00392156862745098;b=0;break b}case 1:{a[e>>0]=a[b+7>>0]|0;a[e+1>>0]=a[b+8>>0]|0;a[e+2>>0]=a[b+9>>0]|0;a[e+3>>0]=a[b+10>>0]|0;b=0;break b}case 3:{j=+(d[b+7>>0]|0)*.00392156862745098;h[C>>3]=j;k=+(d[b+8>>0]|0)*.00392156862745098;h[D>>3]=k;G=+(d[b+9>>0]|0)*.00392156862745098;h[E>>3]=G;kQ(j,k,G,y,z,A,B);a[e>>0]=~~+h[y>>3]*255;a[e+1>>0]=~~+h[z>>3]*255;a[e+2>>0]=~~+h[A>>3]*255;a[e+3>>0]=~~+h[B>>3]*255;b=0;break b}case 2:{c[e>>2]=(d[b+7>>0]|0)*257;c[e+4>>2]=(d[b+8>>0]|0)*257;c[e+8>>2]=(d[b+9>>0]|0)*257;c[e+12>>2]=(d[b+10>>0]|0)*257;b=0;break b}case 4:{h[e>>3]=+(d[b+7>>0]|0)*.00392156862745098;h[e+8>>3]=+(d[b+8>>0]|0)*.00392156862745098;h[e+16>>3]=+(d[b+9>>0]|0)*.00392156862745098;h[e+24>>3]=+(d[b+10>>0]|0)*.00392156862745098;b=0;break b}default:{b=0;break b}}}}while(0);l=F;return b|0}function jQ(a,b,c,d,e,f){a=+a;b=+b;c=+c;d=d|0;e=e|0;f=f|0;var g=0.0,i=0.0,j=0.0,k=0.0,l=0.0,m=0.0;i=bc?b:c;m=ma?a:i);g=i/m;if(m>0.0)if(g>0.0){j=(m-a)/i;k=(m-b)/i;l=(m-c)/i;do if(!(m==a)){if(m==b){a=j+2.0-l;break}if(m==c)a=k+4.0-j;else a=0.0}else a=(b-c)/i;while(0);a=a*60.0;if(a<0.0)a=a+360.0}else a=0.0;else{g=0.0;a=0.0}h[d>>3]=a*.002777777777777778;h[f>>3]=m;h[e>>3]=g;return}function kQ(a,b,c,d,e,f,g){a=+a;b=+b;c=+c;d=d|0;e=e|0;f=f|0;g=g|0;h[d>>3]=1.0-a;h[e>>3]=1.0-b;h[f>>3]=1.0-c;b=+h[d>>3];c=+h[e>>3];c=b>3]=c;b=+h[f>>3];c=b>3]=c;h[d>>3]=+h[d>>3]-c;h[e>>3]=+h[e>>3]-+h[g>>3];h[f>>3]=+h[f>>3]-+h[g>>3];return}function lQ(a,b,c,d,e,f){a=+a;b=+b;c=+c;d=d|0;e=e|0;f=f|0;var g=0.0,i=0.0,j=0.0,k=0,l=0;a:do if(!(b<=0.0)){i=!(a>=1.0)?a*6.0:0.0;l=~~i;i=i-+(l|0);a=(1.0-b)*c;j=(1.0-i*b)*c;b=(1.0-(1.0-i)*b)*c;switch(l|0){case 0:{g=a;i=b;a=c;k=8;break a}case 1:{g=a;i=c;a=j;k=8;break a}case 2:{g=b;i=c;k=8;break a}case 3:{g=c;i=j;k=8;break a}case 4:{g=c;i=a;a=b;k=8;break a}case 5:{g=j;i=a;a=c;k=8;break a}default:break a}}else{g=c;i=c;a=c;k=8}while(0);if((k|0)==8){h[d>>3]=a;h[e>>3]=i;h[f>>3]=g}return}function mQ(b){b=b|0;var d=0,e=0;d=a[b>>0]|0;if(((d<<24>>24!=98?(e=b+1|0,!(d<<24>>24==119|(y$(e,134184,4)|0)==0)):0)?!(d<<24>>24==108|(y$(e,134189,4)|0)==0):0)?(y$(e,134194,8)|0)!=0:0){do if(d<<24>>24==47){d=z$(e,47)|0;if(!d)b=e;else{if((a[e>>0]|0)!=47){e=(U$(134203,e,4)|0)==0;b=e?d+1|0:b;break}d=c[46600]|0;if((d|0?a[d>>0]|0:0)?U$(134203,d,3)|0:0){b=oQ(d,b+2|0)|0;break}b=b+2|0}}else{d=c[46600]|0;if(((d|0)!=0?(a[d>>0]|0)!=0:0)?(U$(134203,d,3)|0)!=0:0)b=oQ(d,b)|0}while(0);b=hQ(b)|0}return b|0}function nQ(a,b){a=a|0;b=b|0;return N$(c[a>>2]|0,c[b>>2]|0)|0}function oQ(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;f=l;l=l+16|0;e=f;g=V_(a)|0;g=(V_(b)|0)+g|0;d=g+13|0;if((g+3|0)>>>0<(c[46601]|0)>>>0)d=c[46602]|0;else{c[46601]=d;d=wH(c[46602]|0,d)|0;c[46602]=d}c[e>>2]=a;c[e+4>>2]=b;X0(d,134208,e)|0;l=f;return c[46602]|0}function pQ(a){a=a|0;c[46600]=a;return}function qQ(a,b,c,d,e){a=a|0;b=+b;c=+c;d=+d;e=+e;var f=0,g=0;f=l;l=l+208|0;g=f;rQ(g,+h[a>>3],+h[a+8>>3],b,c,d,e);a=sQ(g)|0;l=f;return a|0}function rQ(a,b,c,d,e,f,g){a=a|0;b=+b;c=+c;d=+d;e=+e;f=+f;g=+g;var i=0,j=0;h[a>>3]=b;h[a+8>>3]=c;j=a+16|0;h[j>>3]=d;i=a+24|0;h[i>>3]=e;h[a+32>>3]=0.0;c=+K(+(+F(+f)/e),+(+E(+f)/d));h[a+56>>3]=c;e=+K(+(+F(+g)/e),+(+E(+g)/d));h[a+40>>3]=1.0;h[a+48>>3]=0.0;e=e-+A(+((e-c)*.15915494309189535))*6.283185307179586;h[a+64>>3]=g-f>3.141592653589793&e-c<3.141592653589793?e+6.283185307179586:e;yQ(a);zQ(a);AQ(a);g=+h[j>>3];g=(g-+h[i>>3])/g;h[a+168>>3]=g;h[a+176>>3]=(2.0-g)*g;g=1.0-g;h[a+184>>3]=g;h[a+192>>3]=g*g;return}function sQ(a){a=a|0;var b=0,c=0.0,d=0,e=0.0,f=0.0,g=0.0,i=0.0,j=0,k=0,l=0,m=0,n=0.0,o=0.0,p=0,q=0,r=0.0,s=0.0,t=0.0,u=0.0,v=0.0,w=0.0,x=0.0,y=0.0,z=0.0;q=tH(8)|0;f=+h[a+56>>3];e=+h[a+64>>3]-f;p=1;b=0;while(1){o=e/+(p|0);if(!(b<<24>>24==0&(p|0)<1024))break;a:do if(!(o<=1.5707963267948966))b=0;else{c=f;d=0;b=1;while(1){if(!(b<<24>>24!=0&(d|0)<(p|0)))break a;n=c+o;b=+tQ(a,c,n)<=1.0e-05&1;c=n;d=d+1|0}}while(0);p=p<<1}i=+E(+f);u=+F(+f);d=a+16|0;s=+h[d>>3];v=s*i;j=a+24|0;c=+h[j>>3];g=c*u;i=c*i;c=+h[a>>3];k=a+40|0;t=+h[k>>3];l=a+48|0;r=+h[l>>3];e=t*v+c-r*g;m=a+8|0;n=+h[m>>3];g=r*v+t*g+n;s=-(u*s);uQ(q,c,n);vQ(q,e,g);n=+G(+(o*.5));n=+F(+o)*.3333333333333333*(+C(+(n*n*3.0+4.0))+-1.0);c=f;f=g;g=r*s+t*i;i=t*s-r*i;b=0;while(1){if((b|0)>=(p|0))break;r=c+o;u=+E(+r);v=+F(+r);x=+h[d>>3];z=x*u;w=+h[j>>3];t=w*v;u=w*u;w=+h[k>>3];y=+h[l>>3];s=w*z+ +h[a>>3]-y*t;t=y*z+w*t+ +h[m>>3];x=-(v*x);v=w*x-y*u;u=y*x+w*u;wQ(q,e+i*n,f+g*n,s-v*n,t-u*n,s,t);c=r;e=s;f=t;g=u;i=v;b=b+1|0}xQ(q);return q|0}function tQ(a,b,c){a=a|0;b=+b;c=+c;var d=0.0,e=0.0,f=0.0,g=0.0,i=0.0;d=c+b;i=+h[a+16>>3];e=+h[a+24>>3]/i;g=+E(+d);f=+E(+(d*2.0));d=+E(+(d*3.0));a=e<.25?10392:10648;return +(((e*.001+4.98)*e+.207)/(e+.0067)*i*+L(+(((+h[a+32>>3]*e+ +h[a+40>>3])*e+ +h[a+48>>3])/(+h[a+56>>3]+e)*g+((+h[a>>3]*e+ +h[a+8>>3])*e+ +h[a+16>>3])/(+h[a+24>>3]+e)+((+h[a+64>>3]*e+ +h[a+72>>3])*e+ +h[a+80>>3])/(+h[a+88>>3]+e)*f+((+h[a+96>>3]*e+ +h[a+104>>3])*e+ +h[a+112>>3])/(+h[a+120>>3]+e)*d+(((+h[a+160>>3]*e+ +h[a+168>>3])*e+ +h[a+176>>3])/(+h[a+184>>3]+e)*g+((+h[a+128>>3]*e+ +h[a+136>>3])*e+ +h[a+144>>3])/(+h[a+152>>3]+e)+((+h[a+192>>3]*e+ +h[a+200>>3])*e+ +h[a+208>>3])/(+h[a+216>>3]+e)*f+((+h[a+224>>3]*e+ +h[a+232>>3])*e+ +h[a+240>>3])/(+h[a+248>>3]+e)*d)*(c-b))))}function uQ(a,b,d){a=a|0;b=+b;d=+d;var e=0;c[46603]=100;e=tH(1600)|0;c[a>>2]=e;h[e>>3]=b;h[e+8>>3]=d;c[a+4>>2]=1;return}function vQ(a,b,d){a=a|0;b=+b;d=+d;var e=0,f=0;f=c[a>>2]|0;e=(c[a+4>>2]|0)+-1|0;wQ(a,+h[f+(e<<4)>>3],+h[f+(e<<4)+8>>3],b,d,b,d);return}function wQ(a,b,d,e,f,g,i){a=a|0;b=+b;d=+d;e=+e;f=+f;g=+g;i=+i;var j=0,k=0,l=0,m=0;l=a+4|0;j=c[l>>2]|0;k=c[46603]|0;if((j+3|0)<(k|0))a=c[a>>2]|0;else{c[46603]=k<<1;j=E_(c[a>>2]|0,k<<5)|0;c[a>>2]=j;a=j;j=c[l>>2]|0}h[a+(j<<4)>>3]=b;m=j+1|0;h[a+(j<<4)+8>>3]=d;h[a+(m<<4)>>3]=e;k=j+2|0;h[a+(m<<4)+8>>3]=f;h[a+(k<<4)>>3]=g;c[l>>2]=j+3;h[a+(k<<4)+8>>3]=i;return}function xQ(a){a=a|0;var b=0;b=c[a>>2]|0;vQ(a,+h[b>>3],+h[b+8>>3]);c[a>>2]=E_(c[a>>2]|0,c[a+4>>2]<<4)|0;c[46603]=0;return}function yQ(a){a=a|0;var b=0.0,c=0.0,d=0.0,e=0.0;d=+h[a+16>>3];b=+h[a+24>>3];b=+C(+(d*d-b*b));d=b*+h[a+40>>3];b=b*+h[a+48>>3];e=+h[a>>3];h[a+104>>3]=e-d;c=+h[a+8>>3];h[a+112>>3]=c-b;h[a+120>>3]=e+d;h[a+128>>3]=c+b;return}function zQ(a){a=a|0;var b=0.0,c=0.0,d=0.0,e=0.0,f=0.0,g=0.0,i=0.0,j=0.0;d=+h[a+16>>3];i=+h[a+56>>3];j=+E(+i)*d;b=+h[a+24>>3];i=+F(+i)*b;g=+h[a+64>>3];d=+E(+g)*d;b=+F(+g)*b;g=+h[a>>3];c=+h[a+40>>3];e=+h[a+48>>3];h[a+72>>3]=c*j+g-e*i;f=+h[a+8>>3];h[a+80>>3]=e*j+f+c*i;h[a+88>>3]=g+c*d-e*b;h[a+96>>3]=f+e*d+c*b;return}function AQ(a){a=a|0;var b=0.0,c=0.0,d=0.0,e=0.0,f=0.0,g=0.0,i=0.0,j=0.0,k=0.0,l=0.0,m=0.0,n=0;k=+h[a+24>>3];l=+h[a+16>>3];e=k/l;m=+h[a+48>>3];n=+B(+m)<.1;j=+h[a+40>>3];do if(n){b=m/j;c=+J(+(b*e));d=-c;if(j<0.0){b=+J(+(b/e));e=d;d=3.141592653589793-c;c=4.71238898038469-b;b=1.5707963267948966-b;break}else{b=+J(+(b/e));e=-3.141592653589793-c;c=1.5707963267948966-b;b=-1.5707963267948966-b;break}}else{b=j/m;c=+J(+(b/e));d=c+1.5707963267948966;if(m<0.0){b=+J(+(b*e));e=c+-1.5707963267948966;c=b+3.141592653589793;break}else{b=+J(+(b*e));e=d;d=c+4.71238898038469;c=b;b=b+-3.141592653589793;break}}while(0);g=+h[a+56>>3];e=e-+A(+((e-g)*.15915494309189535))*6.283185307179586;b=b-+A(+((b-g)*.15915494309189535))*6.283185307179586;f=d-+A(+((d-g)*.15915494309189535))*6.283185307179586;g=c-+A(+((c-g)*.15915494309189535))*6.283185307179586;i=+h[a+64>>3];if(!(e<=i)){e=+h[a+72>>3];c=+h[a+88>>3];c=e>3]-k*+F(+e)*m;h[a+136>>3]=c;if(!(b<=i)){e=+h[a+80>>3];d=+h[a+96>>3];d=e>3]+ +F(+b)*k*j;h[a+144>>3]=d;if(!(f<=i)){f=+h[a+72>>3];b=+h[a+88>>3];b=f>b?f:b}else b=+E(+f)*l*j+ +h[a>>3]-k*+F(+f)*m;h[a+152>>3]=b-c;if(!(g<=i)){m=+h[a+80>>3];b=+h[a+96>>3];b=m>b?m:b}else b=+E(+g)*l*m+ +h[a+8>>3]+ +F(+g)*k*j;h[a+160>>3]=b-d;return}function BQ(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0.0,i=0,j=0,k=0.0,m=0,n=0;n=l;l=l+80|0;m=n;CQ(b);k=+h[e+56>>3];g=+h[e+64>>3];switch(a[e+80>>0]|0){case 116:{g=(+h[e+48>>3]-+DQ(d))*.5+g;f=4;break}case 98:{g=g-(+h[e+48>>3]-+DQ(d))*.5;f=4;break}default:{}}if((f|0)==4)g=g+-1.0;h[m>>3]=k;h[m+8>>3]=g;c[m+20>>2]=c[e+8>>2];c[m+16>>2]=c[e+4>>2];h[m+32>>3]=+h[e+16>>3];j=b+16|0;f=wx(c[(c[j>>2]|0)+8>>2]|0,134215)|0;e=m+56|0;c[e>>2]=f;i=m+60|0;c[i>>2]=c[(c[j>>2]|0)+212>>2];j=m+64|0;a[j>>0]=0;if(!((f|0)!=0?(a[f>>0]|0)!=0:0))c[e>>2]=134226;if((a[d+4>>0]|0)==1){e=c[d>>2]|0;XO(b,c[(c[b>>2]|0)+336>>2]|0);f=c[e+24>>2]|0;if(!f)TO(b,134232);else TO(b,f);FQ(b,e,m);if(a[j>>0]|0)C_(c[i>>2]|0)}else EQ(b,c[d>>2]|0,m);GQ(b);l=n;return}function CQ(a){a=a|0;var d=0,e=0,f=0;d=ME(a)|0;e=c[d>>2]|0;a=c[e+4>>2]|0;c[d+4>>2]=a;c[d+12>>2]=c[e+12>>2];switch(a|0){case 2:{a=e+8|0;f=6;break}case 0:{a=e+8|0;f=6;break}case 1:{a=e+8|0;f=6;break}case 3:{a=e+8|0;f=6;break}default:{}}if((f|0)==6)c[d+8>>2]=c[a>>2];c[d+208>>2]=c[e+208>>2];c[d+228>>2]=c[e+228>>2];c[d+244>>2]=c[e+244>>2];f=d+260|0;b[f>>1]=b[f>>1]&-2|b[e+260>>1]&1;return}function DQ(b){b=b|0;var d=0.0,e=0,f=0;switch(a[b+4>>0]|0){case 1:{e=c[b>>2]|0;b=e+72|0;e=e+56|0;f=5;break}case 3:{e=c[b>>2]|0;b=e+24|0;e=e+8|0;f=5;break}case 2:{e=c[b>>2]|0;b=e+32|0;e=e+16|0;f=5;break}default:d=0.0}if((f|0)==5)d=+h[b>>3]-+h[e>>3];return +d}function EQ(d,e,f){d=d|0;e=e|0;f=f|0;var g=0,i=0,j=0,k=0,m=0,n=0,o=0.0,p=0.0,q=0,r=0,s=0;n=l;l=l+96|0;j=n+64|0;i=n+32|0;g=n+16|0;k=n;m=b[e+4>>1]|0;if(m<<16>>16>=1){r=e+8|0;p=+h[e+24>>3];o=+h[r>>3];h[k>>3]=(o+p)*.5+ +h[f>>3];h[k+8>>3]=(+h[e+16>>3]+ +h[e+32>>3])*.5+ +h[f+8>>3];q=c[e>>2]|0;s=f+16|0;f=a[e+6>>0]|0;c[g>>2]=c[k>>2];c[g+4>>2]=c[k+4>>2];c[g+8>>2]=c[k+8>>2];c[g+12>>2]=c[k+12>>2];c[i>>2]=c[s>>2];c[i+4>>2]=c[s+4>>2];c[i+8>>2]=c[s+8>>2];c[i+12>>2]=c[s+12>>2];c[i+16>>2]=c[s+16>>2];c[i+20>>2]=c[s+20>>2];c[i+24>>2]=c[s+24>>2];c[i+28>>2]=c[s+28>>2];c[j>>2]=c[r>>2];c[j+4>>2]=c[r+4>>2];c[j+8>>2]=c[r+8>>2];c[j+12>>2]=c[r+12>>2];c[j+16>>2]=c[r+16>>2];c[j+20>>2]=c[r+20>>2];c[j+24>>2]=c[r+24>>2];c[j+28>>2]=c[r+28>>2];SQ(d,m<<16>>16,q,g,(p-o)*.5,i,j,f)}l=n;return}function FQ(e,f,g){e=e|0;f=f|0;g=g|0;var i=0,j=0,k=0,m=0.0,n=0.0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0;y=l;l=l+176|0;t=y+96|0;v=y+64|0;w=y+136|0;p=y;q=y+128|0;r=f+48|0;c[v>>2]=c[r>>2];c[v+4>>2]=c[r+4>>2];c[v+8>>2]=c[r+8>>2];c[v+12>>2]=c[r+12>>2];c[v+16>>2]=c[r+16>>2];c[v+20>>2]=c[r+20>>2];c[v+24>>2]=c[r+24>>2];c[v+28>>2]=c[r+28>>2];m=+h[g>>3];n=+h[g+8>>3];r=f+84|0;i=c[r>>2]|0;if(!(c[f>>2]|0))x=(c[f+8>>2]|0)!=0;else x=1;u=f+108|0;j=c[u>>2]|0;if(j|0)HQ(g,j,183464);h[v>>3]=+h[v>>3]+m;s=v+16|0;h[s>>3]=+h[s>>3]+m;s=v+8|0;h[s>>3]=+h[s>>3]+n;s=v+24|0;h[s>>3]=+h[s>>3]+n;if(x?(c[e+152>>2]&4|0)==0:0){c[t>>2]=c[v>>2];c[t+4>>2]=c[v+4>>2];c[t+8>>2]=c[v+8>>2];c[t+12>>2]=c[v+12>>2];c[t+16>>2]=c[v+16>>2];c[t+20>>2]=c[v+20>>2];c[t+24>>2]=c[v+24>>2];c[t+28>>2]=c[v+28>>2];s=IQ(e,g,f,t,w)|0}else s=0;o=f+42|0;j=b[o>>1]|0;if(!(j&32)){k=c[f+20>>2]|0;if(k){j=JQ(e,k,c[f+28>>2]|0,j&65535,q)|0;if(!(b[o>>1]&4)){c[t>>2]=c[v>>2];c[t+4>>2]=c[v+4>>2];c[t+8>>2]=c[v+8>>2];c[t+12>>2]=c[v+12>>2];c[t+16>>2]=c[v+16>>2];c[t+20>>2]=c[v+20>>2];c[t+24>>2]=c[v+24>>2];c[t+28>>2]=c[v+28>>2];_O(e,t,j)}else{o=d[f+33>>0]|0;c[t>>2]=c[v>>2];c[t+4>>2]=c[v+4>>2];c[t+8>>2]=c[v+8>>2];c[t+12>>2]=c[v+12>>2];c[t+16>>2]=c[v+16>>2];c[t+20>>2]=c[v+20>>2];c[t+24>>2]=c[v+24>>2];c[t+28>>2]=c[v+28>>2];DJ(e,KQ(p,t,o)|0,4,4,j)}C_(c[q>>2]|0)}while(1){j=c[i>>2]|0;if(!j)break;LQ(e,j,g);i=i+4|0}i=c[r>>2]|0;eP(e,1.0);j=f+24|0;while(1){k=i+4|0;i=c[i>>2]|0;if(!i)break;if(!(a[i+100>>0]|0)){i=k;continue}MQ(e,i,g,c[j>>2]|0,c[k>>2]|0);i=k}if(a[f+33>>0]|0){c[t>>2]=c[v>>2];c[t+4>>2]=c[v+4>>2];c[t+8>>2]=c[v+8>>2];c[t+12>>2]=c[v+12>>2];c[t+16>>2]=c[v+16>>2];c[t+20>>2]=c[v+20>>2];c[t+24>>2]=c[v+24>>2];c[t+28>>2]=c[v+28>>2];NQ(e,f,t)}}if(s|0)OQ(e,w);if((x?c[e+152>>2]&4|0:0)?(c[t>>2]=c[v>>2],c[t+4>>2]=c[v+4>>2],c[t+8>>2]=c[v+8>>2],c[t+12>>2]=c[v+12>>2],c[t+16>>2]=c[v+16>>2],c[t+20>>2]=c[v+20>>2],c[t+24>>2]=c[v+24>>2],c[t+28>>2]=c[v+28>>2],IQ(e,g,f,t,w)|0):0)OQ(e,w);if(c[u>>2]|0)PQ(g,183464);l=y;return}function GQ(a){a=a|0;var b=0;b=c[a+16>>2]|0;c[b+208>>2]=0;c[b+228>>2]=0;c[b+244>>2]=0;c[b+212>>2]=0;NE(a);return}function HQ(a,b,d){a=a|0;b=b|0;d=d|0;var e=0.0,f=0,g=0,i=0;i=a+16|0;f=c[i>>2]|0;if(f|0){if(!(c[b>>2]|0)){f=0;g=d}else{c[d>>2]=f;f=c[b>>2]|0;g=i}c[g>>2]=f}f=c[a+20>>2]|0;if(f|0){g=b+4|0;if(!(c[g>>2]|0)){f=0;g=d}else{c[d+4>>2]=f;f=c[g>>2]|0;g=i}c[g+4>>2]=f}e=+h[a+32>>3];if(e>=0.0){f=b+16|0;if(!(+h[f>>3]>=0.0))e=-1.0;else{h[d+16>>3]=e;e=+h[f>>3];d=i}h[d+16>>3]=e}return}function IQ(d,e,f,g,h){d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;u=l;l=l+224|0;n=u+8|0;k=u;t=u+40|0;j=u+184|0;i=u+56|0;m=c[d+16>>2]|0;o=m+208|0;c[h>>2]=c[o>>2];p=m+228|0;c[h+4>>2]=c[p>>2];q=m+244|0;c[h+8>>2]=c[q>>2];r=m+212|0;c[h+12>>2]=c[r>>2];s=m+260|0;a[h+16>>0]=(b[s>>1]<<15&65535)<<16>>16>>15;h=c[f+16>>2]|0;if((h|0)!=0?(a[h>>0]|0)!=0:0)i=0;else{Sw(t,128,i);i=e+60|0;h=c[i>>2]|0;if(!h){h=m1(PE(d,c[m+8>>2]|0,t)|0)|0;c[i>>2]=h;a[e+64>>0]=1}Vw(t,h)|0;i=c[46604]|0;c[46604]=i+1;c[k>>2]=i;X0(j,134309,k)|0;Vw(t,j)|0;i=t+4|0;h=c[i>>2]|0;if(h>>>0>=(c[t+8>>2]|0)>>>0){Tw(t,1)|0;h=c[i>>2]|0}a[h>>0]=0;h=c[t>>2]|0;c[i>>2]=h;i=1}h=OE(d,0,c[f>>2]|0,c[f+12>>2]|0,c[f+8>>2]|0,h,c[m+8>>2]|0)|0;if(i)Ww(t);do if(h|0){if((c[o>>2]|0)==0?(b[s>>1]&1)==0:0)break;c[n>>2]=c[g>>2];c[n+4>>2]=c[g+4>>2];c[n+8>>2]=c[g+8>>2];c[n+12>>2]=c[g+12>>2];c[n+16>>2]=c[g+16>>2];c[n+20>>2]=c[g+20>>2];c[n+24>>2]=c[g+24>>2];c[n+28>>2]=c[g+28>>2];WE(d,n);OO(d,c[o>>2]|0,c[p>>2]|0,c[q>>2]|0,c[r>>2]|0)}while(0);l=u;return h|0}function JQ(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var h=0.0,i=0,j=0;j=l;l=l+16|0;i=j;if(!((tG(b,f,i)|0)<<24>>24)){VO(a,b);b=1}else{VO(a,c[f>>2]|0);b=c[f+4>>2]|0;h=+g[i>>2];if(!b)WO(a,134232,d,h);else WO(a,b,d,h);b=e>>>1&1|2}TO(a,134297);l=j;return b|0}function KQ(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0.0,g=0.0,i=0.0,j=0.0;c[a>>2]=c[b>>2];c[a+4>>2]=c[b+4>>2];c[a+8>>2]=c[b+8>>2];c[a+12>>2]=c[b+12>>2];e=a+32|0;b=b+16|0;c[e>>2]=c[b>>2];c[e+4>>2]=c[b+4>>2];c[e+8>>2]=c[b+8>>2];c[e+12>>2]=c[b+12>>2];if((d|0)>1){j=+(d|0)*.5;i=+h[a>>3]+j;h[a>>3]=i;d=a+8|0;g=+h[d>>3]+j;h[d>>3]=g;f=+h[e>>3]-j;h[e>>3]=f;e=a+40|0;j=+h[e>>3]-j;h[e>>3]=j}else{f=+h[e>>3];g=+h[a+8>>3];i=+h[a>>3];j=+h[a+40>>3]}h[a+16>>3]=f;h[a+24>>3]=g;h[a+48>>3]=i;h[a+56>>3]=j;return a|0}function LQ(e,f,g){e=e|0;f=f|0;g=g|0;var i=0,j=0.0,k=0.0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0;v=l;l=l+176|0;r=v+96|0;s=v+136|0;t=v+64|0;p=v;q=v+128|0;u=f+48|0;c[t>>2]=c[u>>2];c[t+4>>2]=c[u+4>>2];c[t+8>>2]=c[u+8>>2];c[t+12>>2]=c[u+12>>2];c[t+16>>2]=c[u+16>>2];c[t+20>>2]=c[u+20>>2];c[t+24>>2]=c[u+24>>2];c[t+28>>2]=c[u+28>>2];j=+h[g>>3];k=+h[g+8>>3];if(!(c[f>>2]|0))u=(c[f+8>>2]|0)!=0;else u=1;h[t>>3]=+h[t>>3]+j;o=t+16|0;h[o>>3]=+h[o>>3]+j;o=t+8|0;h[o>>3]=+h[o>>3]+k;o=t+24|0;h[o>>3]=+h[o>>3]+k;if(u?(c[e+152>>2]&4|0)==0:0){c[r>>2]=c[t>>2];c[r+4>>2]=c[t+4>>2];c[r+8>>2]=c[t+8>>2];c[r+12>>2]=c[t+12>>2];c[r+16>>2]=c[t+16>>2];c[r+20>>2]=c[t+20>>2];c[r+24>>2]=c[t+24>>2];c[r+28>>2]=c[t+28>>2];o=IQ(e,g,f,r,s)|0}else o=0;n=f+42|0;i=b[n>>1]|0;a:do if(!(i&32)){m=c[f+20>>2]|0;if(m|0){i=JQ(e,m,c[f+28>>2]|0,i&65535,q)|0;if(!(b[n>>1]&4)){c[r>>2]=c[t>>2];c[r+4>>2]=c[t+4>>2];c[r+8>>2]=c[t+8>>2];c[r+12>>2]=c[t+12>>2];c[r+16>>2]=c[t+16>>2];c[r+20>>2]=c[t+20>>2];c[r+24>>2]=c[t+24>>2];c[r+28>>2]=c[t+28>>2];_O(e,r,i)}else{n=d[f+33>>0]|0;c[r>>2]=c[t>>2];c[r+4>>2]=c[t+4>>2];c[r+8>>2]=c[t+8>>2];c[r+12>>2]=c[t+12>>2];c[r+16>>2]=c[t+16>>2];c[r+20>>2]=c[t+20>>2];c[r+24>>2]=c[t+24>>2];c[r+28>>2]=c[t+28>>2];DJ(e,KQ(p,r,n)|0,4,4,i)}C_(c[q>>2]|0)}if(a[f+33>>0]|0){c[r>>2]=c[t>>2];c[r+4>>2]=c[t+4>>2];c[r+8>>2]=c[t+8>>2];c[r+12>>2]=c[t+12>>2];c[r+16>>2]=c[t+16>>2];c[r+20>>2]=c[t+20>>2];c[r+24>>2]=c[t+24>>2];c[r+28>>2]=c[t+28>>2];NQ(e,f,r)}i=f+88|0;switch(a[f+92>>0]|0){case 1:{FQ(e,c[i>>2]|0,g);break a}case 3:{RQ(e,c[i>>2]|0,g);break a}default:{EQ(e,c[i>>2]|0,g);break a}}}while(0);if(o|0)OQ(e,s);if((u?c[e+152>>2]&4|0:0)?(c[r>>2]=c[t>>2],c[r+4>>2]=c[t+4>>2],c[r+8>>2]=c[t+8>>2],c[r+12>>2]=c[t+12>>2],c[r+16>>2]=c[t+16>>2],c[r+20>>2]=c[t+20>>2],c[r+24>>2]=c[t+24>>2],c[r+28>>2]=c[t+28>>2],IQ(e,g,f,r,s)|0):0)OQ(e,s);l=v;return}function MQ(f,g,i,j,k){f=f|0;g=g|0;i=i|0;j=j|0;k=k|0;var m=0.0,n=0,o=0.0,p=0.0,q=0,r=0.0,s=0.0,t=0.0,u=0.0,v=0,w=0,x=0.0,y=0,z=0,A=0,B=0,C=0;A=l;l=l+32|0;y=A+16|0;z=A;r=+h[i>>3];x=+h[i+8>>3];q=(j|0)==0?134232:j;VO(f,q);TO(f,q);t=+h[g+48>>3];o=+h[g+56>>3];u=+h[g+64>>3];p=+h[g+72>>3];s=t+r;r=u+r;x=o+x;q=g+100|0;i=a[q>>0]|0;if((i&1)!=0?(n=c[g+96>>2]|0,((e[g+80>>1]|0)+(e[g+84>>1]|0)|0)<(c[n+104>>2]|0)):0){i=b[g+86>>1]|0;do if(i<<16>>16)if(((e[g+82>>1]|0)+(i&65535)|0)==(c[n+100>>2]|0)){B=a[n+32>>0]|0;C=(B<<24>>24)/2|0;j=(C<<24>>24)+(d[n+33>>0]|0)|0;i=j;j=j&255;m=x-+(C<<24>>24);n=B;break}else{n=a[n+32>>0]|0;i=0;j=((n<<24>>24)/2|0)<<24>>24;m=x;break}else{C=a[n+32>>0]|0;j=((C<<24>>24)/2|0)<<24>>24;i=j+(d[n+33>>0]|0)|0;m=x;n=C}while(0);h[z+8>>3]=m-+(j|0);h[z>>3]=r+ +(((n<<24>>24)/2|0)<<24>>24);c[y>>2]=c[z>>2];c[y+4>>2]=c[z+4>>2];c[y+8>>2]=c[z+8>>2];c[y+12>>2]=c[z+12>>2];QQ(f,y,0.0,p-o+ +(i&255|0)+ +(n<<24>>24));i=a[q>>0]|0}if(i&2?(v=b[g+86>>1]|0,w=c[g+96>>2]|0,((e[g+82>>1]|0)+(v&65535)|0)<(c[w+100>>2]|0)):0){i=b[g+84>>1]|0;do if(!(i<<16>>16)){i=a[w+32>>0]|0;C=(i<<24>>24)/2|0;n=(C<<24>>24)+(d[w+33>>0]|0)|0;j=n&255;n=n&255;m=+(C<<24>>24);h[z>>3]=s-m-+(n|0);if((c[w+104>>2]|0)==(e[g+80>>1]|0)){j=n<<1&255;break}if((k|0)!=0?(b[k+86>>1]|0)!=v<<16>>16:0)j=~~(+(j&255)-u+ +h[w+64>>3]-m)&255}else{if(((e[g+80>>1]|0)+(i&65535)|0)==(c[w+104>>2]|0)){i=a[w+32>>0]|0;C=(i<<24>>24)/2|0;j=(C&255)+(d[w+33>>0]|0)&255;h[z>>3]=s-+(C<<24>>24);break}i=a[w+32>>0]|0;m=+(((i<<24>>24)/2|0)<<24>>24);h[z>>3]=s-m;if((k|0)!=0?(b[k+86>>1]|0)!=v<<16>>16:0)j=~~(+h[w+64>>3]-u-m)&255;else j=0}while(0);h[z+8>>3]=x-+(((i<<24>>24)/2|0)<<24>>24);c[y>>2]=c[z>>2];c[y+4>>2]=c[z+4>>2];c[y+8>>2]=c[z+8>>2];c[y+12>>2]=c[z+12>>2];QQ(f,y,u-t+ +(j&255)+ +(i<<24>>24),0.0)}l=A;return}function NQ(e,f,g){e=e|0;f=f|0;g=g|0;var i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0.0;p=l;l=l+160|0;o=p+112|0;n=p;j=p+144|0;m=c[f+24>>2]|0;TO(e,(m|0)==0?134232:m);m=f+42|0;i=b[m>>1]|0;if(!(i&384))XO(e,c[(c[e>>2]|0)+336>>2]|0);else{c[j+4>>2]=0;c[j>>2]=0;i=i&65535;if(!(i&256)){if(i&128|0){i=134238;k=4}}else{i=134245;k=4}if((k|0)==4)c[j>>2]=i;XO(e,j)}k=f+33|0;eP(e,+(d[k>>0]|0));a:do if(!(b[m>>1]&4)){i=b[f+36>>1]&15360;if(!(i<<16>>16)){i=a[k>>0]|0;if((i&255)>1){q=+(i&255)*.5;h[g>>3]=+h[g>>3]+q;n=g+8|0;h[n>>3]=+h[n>>3]+q;n=g+16|0;h[n>>3]=+h[n>>3]-q;n=g+24|0;h[n>>3]=+h[n>>3]-q};c[o>>2]=c[g>>2];c[o+4>>2]=c[g+4>>2];c[o+8>>2]=c[g+8>>2];c[o+12>>2]=c[g+12>>2];c[o+16>>2]=c[g+16>>2];c[o+20>>2]=c[g+20>>2];c[o+24>>2]=c[g+24>>2];c[o+28>>2]=c[g+28>>2];_O(e,o,0);break}j=n+16|0;m=d[k>>0]|0;c[o>>2]=c[g>>2];c[o+4>>2]=c[g+4>>2];c[o+8>>2]=c[g+8>>2];c[o+12>>2]=c[g+12>>2];c[o+16>>2]=c[g+16>>2];c[o+20>>2]=c[g+20>>2];c[o+24>>2]=c[g+24>>2];c[o+28>>2]=c[g+28>>2];KQ(j,o,m)|0;do switch(((i&65535)+-1024|0)>>>10&4194303|0){case 7:{aP(e,j,2);break a}case 3:{aP(e,n+32|0,2);break a}case 1:{aP(e,n+48|0,2);break a}case 0:{g=n+64|0;c[n>>2]=c[g>>2];c[n+4>>2]=c[g+4>>2];c[n+8>>2]=c[g+8>>2];c[n+12>>2]=c[g+12>>2];aP(e,n,2);break a}case 11:{aP(e,j,3);break a}case 5:{aP(e,n+32|0,3);break a}case 2:{g=n+80|0;c[g>>2]=c[j>>2];c[g+4>>2]=c[j+4>>2];c[g+8>>2]=c[j+8>>2];c[g+12>>2]=c[j+12>>2];aP(e,n+48|0,3);break a}case 8:{g=n+64|0;c[n>>2]=c[g>>2];c[n+4>>2]=c[g+4>>2];c[n+8>>2]=c[g+8>>2];c[n+12>>2]=c[g+12>>2];aP(e,n,3);break a}case 13:{aP(e,j,4);break a}case 6:{g=n+80|0;c[g>>2]=c[j>>2];c[g+4>>2]=c[j+4>>2];c[g+8>>2]=c[j+8>>2];c[g+12>>2]=c[j+12>>2];aP(e,n+32|0,4);break a}case 10:{g=n+80|0;c[g>>2]=c[j>>2];c[g+4>>2]=c[j+4>>2];c[g+8>>2]=c[j+8>>2];c[g+12>>2]=c[j+12>>2];g=n+96|0;o=n+32|0;c[g>>2]=c[o>>2];c[g+4>>2]=c[o+4>>2];c[g+8>>2]=c[o+8>>2];c[g+12>>2]=c[o+12>>2];aP(e,n+48|0,4);break a}case 12:{g=n+64|0;c[n>>2]=c[g>>2];c[n+4>>2]=c[g+4>>2];c[n+8>>2]=c[g+8>>2];c[n+12>>2]=c[g+12>>2];aP(e,n,4);break a}case 9:{aP(e,j,2);aP(e,n+48|0,2);break a}case 4:{g=n+64|0;c[n>>2]=c[g>>2];c[n+4>>2]=c[g+4>>2];c[n+8>>2]=c[g+8>>2];c[n+12>>2]=c[g+12>>2];aP(e,n,2);aP(e,n+32|0,2);break a}default:break a}while(0)}else{m=d[k>>0]|0;c[o>>2]=c[g>>2];c[o+4>>2]=c[g+4>>2];c[o+8>>2]=c[g+8>>2];c[o+12>>2]=c[g+12>>2];c[o+16>>2]=c[g+16>>2];c[o+20>>2]=c[g+20>>2];c[o+24>>2]=c[g+24>>2];c[o+28>>2]=c[g+28>>2];DJ(e,KQ(n,o,m)|0,4,4,0)}while(0);l=p;return}function OQ(d,e){d=d|0;e=e|0;var f=0,g=0,h=0;h=c[d+16>>2]|0;f=h+208|0;if((c[f>>2]|0)==0?(b[h+260>>1]&1)==0:0)d=0;else{PO(d);d=c[f>>2]|0}if((d|0)!=(c[e>>2]|0)){C_(d);c[f>>2]=c[e>>2]}d=h+228|0;f=c[d>>2]|0;g=e+4|0;if((f|0)!=(c[g>>2]|0)){C_(f);c[d>>2]=c[g>>2]}d=h+244|0;f=c[d>>2]|0;g=e+8|0;if((f|0)!=(c[g>>2]|0)){C_(f);c[d>>2]=c[g>>2]}d=h+212|0;f=c[d>>2]|0;g=e+12|0;if((f|0)!=(c[g>>2]|0)){C_(f);c[d>>2]=c[g>>2]}h=h+260|0;b[h>>1]=b[h>>1]&-2|a[e+16>>0]&1;return}function PQ(a,b){a=a|0;b=b|0;var d=0.0,e=0;e=c[b>>2]|0;if(e|0)c[a+16>>2]=e;e=c[b+4>>2]|0;if(e|0)c[a+20>>2]=e;d=+h[b+16>>3];if(d>=0.0)h[a+32>>3]=d;return}function QQ(a,b,d,e){a=a|0;b=b|0;d=+d;e=+e;var f=0,g=0,i=0;f=l;l=l+64|0;g=f+32|0;i=f;c[i>>2]=c[b>>2];c[i+4>>2]=c[b+4>>2];c[i+8>>2]=c[b+8>>2];c[i+12>>2]=c[b+12>>2];h[i+16>>3]=+h[b>>3]+d;h[i+24>>3]=+h[b+8>>3]+e;c[g>>2]=c[i>>2];c[g+4>>2]=c[i+4>>2];c[g+8>>2]=c[i+8>>2];c[g+12>>2]=c[i+12>>2];c[g+16>>2]=c[i+16>>2];c[g+20>>2]=c[i+20>>2];c[g+24>>2]=c[i+24>>2];c[g+28>>2]=c[i+28>>2];_O(a,g,1);l=f;return}function RQ(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,i=0,j=0.0,k=0.0,m=0.0,n=0.0;i=l;l=l+64|0;g=i;k=+h[e>>3];n=k+ +h[d>>3];m=+h[e+8>>3];j=m+ +h[d+8>>3];k=k+ +h[d+16>>3];m=m+ +h[d+24>>3];h[g>>3]=k;h[g+8>>3]=m;h[g+32>>3]=n;h[g+40>>3]=j;h[g+16>>3]=n;h[g+24>>3]=m;h[g+48>>3]=k;h[g+56>>3]=j;f=c[d+36>>2]|0;if(!f)f=c[e+56>>2]|0;e=c[d+32>>2]|0;if(!e)qa(134252,134260,623,134272);if(!(a[e>>0]|0))qa(134286,134260,624,134272);else{cP(b,e,g,4,1,f);l=i;return}}function SQ(d,e,f,g,i,j,k,m){d=d|0;e=e|0;f=f|0;g=g|0;i=+i;j=j|0;k=k|0;m=m|0;var n=0.0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0.0,J=0,K=0,L=0,M=0.0,N=0.0,O=0,P=0,Q=0,R=0;R=l;l=l+128|0;K=R+104|0;O=R+48|0;P=R+16|0;L=R;J=L;c[J>>2]=0;c[J+4>>2]=0;M=+h[g>>3];N=M-i;I=M+i;J=L+8|0;h[J>>3]=(+h[k+24>>3]-+h[k+8>>3])*.5+ +h[g+8>>3];QO(d,1);D=P+16|0;E=P+4|0;F=P+24|0;G=O+4|0;H=O+16|0;s=(m|0)==0;t=O+24|0;u=O+8|0;v=O+32|0;w=O+40|0;x=O+48|0;y=j+16|0;z=j+4|0;A=P+8|0;q=0;while(1){if((q|0)>=(e|0))break;switch(a[f+(q*24|0)+6>>0]|0){case 108:{i=N;break}case 114:{i=I-+h[f+(q*24|0)+8>>3];break}default:i=M-+h[f+(q*24|0)+8>>3]*.5}h[g>>3]=i;B=f+(q*24|0)+16|0;h[J>>3]=+h[J>>3]-+h[B>>3];C=f+(q*24|0)+4|0;p=c[f+(q*24|0)>>2]|0;r=0;while(1){if((r|0)>=(b[C>>1]|0))break;o=p+4|0;m=c[o>>2]|0;if(m){h[D>>3]=+h[(+h[m+16>>3]>0.0?m:j)+16>>3];c[P>>2]=c[((c[m>>2]|0)==0?j:m)>>2];k=c[((c[m+4>>2]|0)==0?j:m)+4>>2]|0;c[E>>2]=k;m=c[m+24>>2]&127;if(!m)Q=12;else m=c[F>>2]&-128|m}else{h[D>>3]=+h[y>>3];c[P>>2]=c[j>>2];k=c[z>>2]|0;c[E>>2]=k;Q=12}if((Q|0)==12){Q=0;m=c[F>>2]&-128}c[F>>2]=m;TO(d,k);c[O>>2]=c[p>>2];c[G>>2]=P;h[H>>3]=+h[p+16>>3];if(s)n=1.0;else n=+h[p+24>>3];h[t>>3]=n;c[A>>2]=c[(c[o>>2]|0)+8>>2];c[u>>2]=c[p+8>>2];o=p+32|0;h[v>>3]=+h[o>>3];h[w>>3]=+h[B>>3];a[x>>0]=108;h[L>>3]=i;c[K>>2]=c[L>>2];c[K+4>>2]=c[L+4>>2];c[K+8>>2]=c[L+8>>2];c[K+12>>2]=c[L+12>>2];SO(d,K,O);n=+h[o>>3]+i;h[g>>3]=n;p=p+56|0;r=r+1|0;i=n}q=q+1|0}RO(d);l=R;return}function TQ(a){a=a|0;C_(c[a>>2]|0);C_(c[a+4>>2]|0);C_(c[a+8>>2]|0);C_(c[a+16>>2]|0);C_(c[a+12>>2]|0);C_(c[a+20>>2]|0);C_(c[a+24>>2]|0);return}function UQ(a){a=a|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0;if(a|0){j=a+4|0;e=0;g=c[a>>2]|0;while(1){if((e|0)>=(b[j>>1]|0))break;k=g+4|0;d=0;f=c[g>>2]|0;while(1){if((d|0)>=(b[k>>1]|0))break;C_(c[f>>2]|0);h=c[f+8>>2]|0;if(h|0?(i=c[f+12>>2]|0,i|0):0)tb[i&127](h);d=d+1|0;f=f+56|0}e=e+1|0;g=g+24|0}d=c[a>>2]|0;if(d|0)C_(d);C_(a)}return}function VQ(a){a=a|0;C_(c[a+32>>2]|0);C_(a);return}function WQ(b,d){b=b|0;d=d|0;switch(a[b+4>>0]|0){case 1:{XQ(c[b>>2]|0);break}case 3:{VQ(c[b>>2]|0);break}default:UQ(c[b>>2]|0)}if(d|0)C_(b);return}function XQ(a){a=a|0;var b=0,d=0,e=0;e=a+84|0;if((c[a+100>>2]|0)==-1)xw(c[e>>2]|0)|0;else{b=c[e>>2]|0;C_(c[a+92>>2]|0);C_(c[a+96>>2]|0);while(1){d=c[b>>2]|0;if(!d)break;YQ(d);b=b+4|0}C_(c[e>>2]|0)}TQ(a);C_(a);return}function YQ(a){a=a|0;WQ(a+88|0,0);TQ(a);C_(a);return}function ZQ(b,e,f){b=b|0;e=e|0;f=f|0;var g=0;b=c[(c[(c[b+16>>2]|0)+104>>2]|0)+72>>2]|0;if((a[b+4>>0]|0)!=2?(g=_Q(c[b>>2]|0,e)|0,(g|0)!=0):0){c[f>>2]=d[g+35>>0];b=g+48|0}else b=0;return b|0}function _Q(a,b){a=a|0;b=b|0;var d=0,e=0;d=c[a+4>>2]|0;if(!((d|0)!=0?(N$(d,b)|0)==0:0))e=3;a:do if((e|0)==3){d=c[a+84>>2]|0;while(1){a=c[d>>2]|0;if(!a){a=0;break a}a=$Q(a,b)|0;if(!a)d=d+4|0;else break}}while(0);return a|0}function $Q(b,d){b=b|0;d=d|0;var e=0;e=c[b+4>>2]|0;if(!((e|0)!=0?(N$(e,d)|0)==0:0))if((a[b+92>>0]|0)==1)b=_Q(c[b+88>>2]|0,d)|0;else b=0;return b|0}function aR(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return 0}function bR(d){d=d|0;var f=0.0,g=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;p=d+92|0;c[p>>2]=tH((c[d+100>>2]<<2)+4|0)|0;n=tH((c[d+104>>2]<<2)+4|0)|0;c[d+96>>2]=n;o=d+32|0;m=c[d+84>>2]|0;while(1){l=c[m>>2]|0;if(!l)break;d=b[l+82>>1]|0;f=+h[l+72>>3];if(d<<16>>16==1)i=~~f;else{i=~~((f-+(O((a[o>>0]|0)+-1|0,(d&65535)+-1|0)|0))/+(d&65535));i=(i|0)>1?i:1}j=b[l+80>>1]|0;f=+h[l+64>>3];if(j<<16>>16==1)k=~~f;else{k=~~((f-+(O((a[o>>0]|0)+-1|0,(j&65535)+-1|0)|0))/+(j&65535));k=(k|0)>1?k:1}q=e[l+86>>1]|0;g=(d&65535)+q|0;d=q;while(1){if((d|0)>=(g|0))break;q=(c[p>>2]|0)+(d<<2)|0;r=c[q>>2]|0;c[q>>2]=(r|0)>(i|0)?r:i;d=d+1|0}d=e[l+84>>1]|0;g=(j&65535)+d|0;while(1){if((d|0)>=(g|0))break;r=n+(d<<2)|0;q=c[r>>2]|0;c[r>>2]=(q|0)>(k|0)?q:k;d=d+1|0}m=m+4|0}return}function cR(a){a=a|0;var b=0,d=0;d=l;l=l+16|0;b=d;if(a>>>0<21)a=c[55736+(a<<2)>>2]|0;else{c[b>>2]=a;X0(191879,134313,b)|0;a=191879}l=d;return a|0}function dR(a,b,d){a=a|0;b=b|0;d=d|0;var f=0,g=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;k=a+104|0;l=a+100|0;j=d+16|0;f=0;g=0;while(1){if((f|0)>(c[k>>2]|0))break;i=$y(d,cR(f)|0,1)|0;zz(i,134365,304,1)|0;m=i+16|0;c[(c[m>>2]|0)+176>>2]=0;o=tH((c[l>>2]<<2)+4|0)|0;n=c[m>>2]|0;c[n+172>>2]=o;c[n+184>>2]=0;n=tH((c[l>>2]<<2)+4|0)|0;c[(c[m>>2]|0)+180>>2]=n;if(!g)c[(c[j>>2]|0)+192>>2]=i;else c[(c[g+16>>2]|0)+164>>2]=i;f=f+1|0;g=i}j=b+16|0;f=0;g=0;while(1){if((f|0)>(c[l>>2]|0))break;i=$y(b,cR(f)|0,1)|0;zz(i,134365,304,1)|0;o=i+16|0;c[(c[o>>2]|0)+176>>2]=0;m=tH((c[k>>2]<<2)+4|0)|0;n=c[o>>2]|0;c[n+172>>2]=m;c[n+184>>2]=0;n=tH((c[k>>2]<<2)+4|0)|0;c[(c[o>>2]|0)+180>>2]=n;if(!g)c[(c[j>>2]|0)+192>>2]=i;else c[(c[g+16>>2]|0)+164>>2]=i;f=f+1|0;g=i}f=c[a+84>>2]|0;while(1){g=c[f>>2]|0;if(!g)break;o=g+84|0;n=$y(d,cR(e[o>>1]|0)|0,0)|0;o=$y(d,cR((e[g+80>>1]|0)+(e[o>>1]|0)|0)|0,0)|0;eR(d,n,o,~~+h[g+64>>3]);o=g+86|0;n=$y(b,cR(e[o>>1]|0)|0,0)|0;o=$y(b,cR((e[g+82>>1]|0)+(e[o>>1]|0)|0)|0,0)|0;eR(b,n,o,~~+h[g+72>>3]);f=f+4|0}fR(d);fR(b);return}function eR(a,d,f,g){a=a|0;d=d|0;f=f|0;g=g|0;var h=0,i=0;h=Qx(a,d,f,0,0)|0;if(!h){i=Qx(a,d,f,0,1)|0;zz(i,134378,176,1)|0;b[(c[i+16>>2]|0)+170>>1]=g;d=d+16|0;a=c[d>>2]|0;h=c[a+180>>2]|0;if(!h)a=uH((c[a+184>>2]<<2)+8|0)|0;else a=wH(h,(c[a+184>>2]<<2)+8|0)|0;g=c[d>>2]|0;c[g+180>>2]=a;g=g+184|0;h=c[g>>2]|0;c[g>>2]=h+1;c[a+(h<<2)>>2]=i;d=c[d>>2]|0;c[(c[d+180>>2]|0)+(c[d+184>>2]<<2)>>2]=0;d=f+16|0;a=c[d>>2]|0;h=c[a+172>>2]|0;if(!h)a=uH((c[a+176>>2]<<2)+8|0)|0;else a=wH(h,(c[a+176>>2]<<2)+8|0)|0;g=c[d>>2]|0;c[g+172>>2]=a;g=g+176|0;f=c[g>>2]|0;c[g>>2]=f+1;c[a+(f<<2)>>2]=i;i=c[d>>2]|0;c[(c[i+172>>2]|0)+(c[i+176>>2]<<2)>>2]=0}else{i=(c[h+16>>2]|0)+170|0;f=e[i>>1]|0;b[i>>1]=(f|0)>(g|0)?f:g}return}function fR(a){a=a|0;var d=0,e=0,f=0,g=0,h=0,i=0;d=c[(c[a+16>>2]|0)+192>>2]|0;while(1){f=d+16|0;h=c[(c[f>>2]|0)+164>>2]|0;if(!h)break;if(Qx(a,d,h,0,0)|0){d=h;continue}g=Qx(a,d,h,0,1)|0;zz(g,134378,176,1)|0;b[(c[g+16>>2]|0)+170>>1]=0;d=c[f>>2]|0;e=c[d+180>>2]|0;if(!e)d=uH((c[d+184>>2]<<2)+8|0)|0;else d=wH(e,(c[d+184>>2]<<2)+8|0)|0;i=c[f>>2]|0;c[i+180>>2]=d;i=i+184|0;e=c[i>>2]|0;c[i>>2]=e+1;c[d+(e<<2)>>2]=g;f=c[f>>2]|0;c[(c[f+180>>2]|0)+(c[f+184>>2]<<2)>>2]=0;f=h+16|0;d=c[f>>2]|0;e=c[d+172>>2]|0;if(!e)d=uH((c[d+176>>2]<<2)+8|0)|0;else d=wH(e,(c[d+176>>2]<<2)+8|0)|0;e=c[f>>2]|0;c[e+172>>2]=d;e=e+176|0;i=c[e>>2]|0;c[e>>2]=i+1;c[d+(i<<2)>>2]=g;d=c[f>>2]|0;c[(c[d+172>>2]|0)+(c[d+176>>2]<<2)>>2]=0;d=h}return}function gR(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;g=a+92|0;e=0;f=0;b=c[(c[(c[b+16>>2]|0)+192>>2]|0)+16>>2]|0;while(1){b=c[b+164>>2]|0;if(!b)break;b=c[b+16>>2]|0;h=b+232|0;c[(c[g>>2]|0)+(f<<2)>>2]=(c[h>>2]|0)-e;e=c[h>>2]|0;f=f+1|0}a=a+96|0;e=0;f=0;b=c[(c[(c[d+16>>2]|0)+192>>2]|0)+16>>2]|0;while(1){b=c[b+164>>2]|0;if(!b)break;b=c[b+16>>2]|0;h=b+232|0;c[(c[a>>2]|0)+(f<<2)>>2]=(c[h>>2]|0)-e;e=c[h>>2]|0;f=f+1|0}return}function hR(b){b=b|0;var d=0,e=0,f=0,g=0,h=0;h=l;l=l+16|0;g=h+4|0;d=h;c[d>>2]=c[4621];e=c[b+100>>2]|0;if((e|0)!=1?(f=b+104|0,(c[f>>2]|0)!=1):0){c[b+92>>2]=tH((e<<2)+4|0)|0;c[b+96>>2]=tH((c[f>>2]<<2)+4|0)|0;a[g>>0]=a[d>>0]|0;a[g+1>>0]=a[d+1>>0]|0;a[g+2>>0]=a[d+2>>0]|0;a[g+3>>0]=a[d+3>>0]|0;f=Wx(134391,g,0)|0;a[g>>0]=a[d>>0]|0;a[g+1>>0]=a[d+1>>0]|0;a[g+2>>0]=a[d+2>>0]|0;a[g+3>>0]=a[d+3>>0]|0;g=Wx(134396,g,0)|0;zz(f,134401,280,1)|0;zz(g,134401,280,1)|0;dR(b,f,g);eI(f,2,2147483647)|0;eI(g,2,2147483647)|0;gR(b,f,g);iR(f,g)}else bR(b);l=h;return}function iR(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=(c[b+16>>2]|0)+192|0;while(1){d=c[d>>2]|0;if(!d)break;f=d+16|0;d=c[f>>2]|0;e=c[d+172>>2]|0;if(e){C_(e);d=c[f>>2]|0}e=c[d+180>>2]|0;if(e){C_(e);d=c[f>>2]|0}d=d+164|0}_x(a)|0;_x(b)|0;return}function jR(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0.0,r=0.0;p=l;l=l+272|0;n=p+104|0;o=p+136|0;j=p+72|0;k=p;g=p+144|0;c[k+48>>2]=b;switch(oz(b)|0){case 0:{e=c[b+60>>2]|0;break}case 1:{e=dz(b)|0;break}case 2:{e=dz(c[((c[b>>2]&3|0)==2?b:b+-48|0)+40>>2]|0)|0;break}default:{}}i=k+52|0;c[i>>2]=e;m=c[e+60>>2]|0;h[k+32>>3]=+h[d+16>>3];c[k+16>>2]=c[d+4>>2];c[k+20>>2]=c[d+8>>2];c[k+40>>2]=0;f=tT(c[d>>2]|0,o,k)|0;if(!f){Sw(n,128,g);a[d+82>>0]=0;e=m1(kR(b,n)|0)|0;c[d>>2]=e;if((c[d+12>>2]|0)==1)e=QM(e)|0;else e=NM(e,c[i>>2]|0)|0;C_(c[d>>2]|0);c[d>>2]=e;hH(c[(c[m+16>>2]|0)+144>>2]|0,d);Ww(n);e=c[o>>2]|0}else{e=f+4|0;if((a[e>>0]|0)==1){if((c[(c[f>>2]|0)+24>>2]|0)==0?lR(b)|0:0){i=m1(lR(b)|0)|0;c[(c[f>>2]|0)+24>>2]=i}m=mR(m,c[f>>2]|0,0,k)|0;c[o>>2]=c[o>>2]|m;m=c[f>>2]|0;r=+h[m+64>>3]*.5;q=+h[m+72>>3]*.5;nR(j,-r,-q,r,q);m=c[f>>2]|0;c[n>>2]=c[j>>2];c[n+4>>2]=c[j+4>>2];c[n+8>>2]=c[j+8>>2];c[n+12>>2]=c[j+12>>2];c[n+16>>2]=c[j+16>>2];c[n+20>>2]=c[j+20>>2];c[n+24>>2]=c[j+24>>2];c[n+28>>2]=c[j+28>>2];oR(m,n,15)}else{pR(c[(c[m+16>>2]|0)+144>>2]|0,c[f>>2]|0,k);n=c[f>>2]|0;q=+h[n+24>>3]*.5;r=+h[n+32>>3]*.5;nR(j,-q,-r,q,r);n=(c[f>>2]|0)+8|0;c[n>>2]=c[j>>2];c[n+4>>2]=c[j+4>>2];c[n+8>>2]=c[j+8>>2];c[n+12>>2]=c[j+12>>2];c[n+16>>2]=c[j+16>>2];c[n+20>>2]=c[j+20>>2];c[n+24>>2]=c[j+24>>2];c[n+28>>2]=c[j+28>>2]}h[d+24>>3]=+h[j+16>>3]-+h[j>>3];h[d+32>>3]=+h[j+24>>3]-+h[j+8>>3];c[d+72>>2]=f;if((a[e>>0]|0)==1){C_(c[d>>2]|0);c[d>>2]=m1(138529)|0}e=c[o>>2]|0}l=p;return e|0}function kR(b,d){b=b|0;d=d|0;var e=0;a:do switch(oz(b)|0){case 0:{Vw(d,qy(b)|0)|0;break}case 1:{Vw(d,qy(b)|0)|0;break}case 2:{Vw(d,qy(c[((c[b>>2]&3|0)==3?b:b+48|0)+40>>2]|0)|0)|0;e=b+-48|0;Vw(d,qy(c[((c[b>>2]&3|0)==2?b:e)+40>>2]|0)|0)|0;if(!(dy(dz(c[((c[b>>2]&3|0)==2?b:e)+40>>2]|0)|0)|0)){Vw(d,138665)|0;break a}else{Vw(d,134656)|0;break a}}default:{}}while(0);e=d+4|0;b=c[e>>2]|0;if(b>>>0>=(c[d+8>>2]|0)>>>0){Tw(d,1)|0;b=c[e>>2]|0}a[b>>0]=0;d=c[d>>2]|0;c[e>>2]=d;return d|0}function lR(b){b=b|0;var c=0,d=0;c=wx(b,134647)|0;if(!((c|0)!=0?(a[c>>0]|0)!=0:0))d=3;do if((d|0)==3){c=wx(b,137741)|0;if(c|0?a[c>>0]|0:0)break;c=0}while(0);return c|0}function mR(f,g,i,j){f=f|0;g=g|0;i=i|0;j=j|0;var k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0;w=l;l=l+16|0;u=w+8|0;t=w;v=g+108|0;k=c[v>>2]|0;if(k|0)HQ(j,k,183496);c[g+80>>2]=i;k=tR(f,g,j)|0;r=g+36|0;f=b[r>>1]|0;if(!(f&128))a[g+32>>0]=2;i=g+33|0;if(!(f&32))a[i>>0]=1;hR(g);n=c[g+104>>2]|0;p=a[g+32>>0]|0;f=O(n+1|0,p)|0;o=d[i>>0]<<1;q=c[g+100>>2]|0;p=O(q+1|0,p)|0;m=g+96|0;f=o+f|0;i=0;while(1){if((i|0)>=(n|0))break;f=(c[(c[m>>2]|0)+(i<<2)>>2]|0)+f|0;i=i+1|0}n=g+92|0;i=p+o|0;m=0;while(1){if((m|0)>=(q|0))break;i=(c[(c[n>>2]|0)+(m<<2)>>2]|0)+i|0;m=m+1|0}n=g+38|0;do if(b[r>>1]&1){r=b[n>>1]|0;m=r&65535;if(r<<16>>16?(s=b[g+40>>1]|0,s<<16>>16):0){if(!((f|0)>(m|0)|(i|0)>(s&65535|0))){i=0;f=0;break}Ow(0,134447,t)|0;k=1;i=0;f=0;break}Ow(0,134481,u)|0;k=1}while(0);u=e[n>>1]|0;h[g+64>>3]=+(((f|0)>(u|0)?f:u)|0);u=e[g+40>>1]|0;h[g+72>>3]=+(((i|0)>(u|0)?i:u)|0);if(c[v>>2]|0)PQ(j,183496);l=w;return k|0}function nR(a,b,c,d,e){a=a|0;b=+b;c=+c;d=+d;e=+e;h[a>>3]=b;h[a+8>>3]=c;h[a+16>>3]=d;h[a+24>>3]=e;return}function oR(e,f,g){e=e|0;f=f|0;g=g|0;var i=0,j=0,k=0,m=0.0,n=0.0,o=0,p=0,q=0.0,r=0.0,s=0,t=0,u=0,v=0,w=0,x=0,y=0.0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0.0,K=0;I=l;l=l+64|0;G=I+32|0;H=I;E=c[e+84>>2]|0;k=c[e+80>>2]|0;if((k|0?(i=c[k+24>>2]|0,i|0):0)?(j=e+24|0,(c[j>>2]|0)==0):0)c[j>>2]=m1(i)|0;F=e+48|0;i=f+16|0;n=+h[i>>3];m=+h[f>>3];k=~~(n-m-+(~~+h[e+64>>3]|0));if((k|0)<=-1)qa(134414,134260,1761,134424);o=f+24|0;y=+h[o>>3];p=f+8|0;q=+h[p>>3];r=+(~~+h[e+72>>3]|0);s=~~(y-q-r);if((s|0)<=-1)qa(134437,134260,1764,134424);t=b[e+36>>1]|0;j=t&65535;a:do if(j&1){b:do if((k|0)>0)switch(j&6){case 4:{h[i>>3]=m+r;break b}case 2:{J=+(k|0);h[i>>3]=n+J;m=m+J;h[f>>3]=m;break b}default:{J=+(k>>>1|0);m=m+J;h[f>>3]=m;h[i>>3]=n-J;break b}}while(0);if((s|0)>0)switch(t&24){case 16:{y=q+r;h[o>>3]=y;s=0;i=0;break a}case 8:{J=+(s|0);y=y+J;h[o>>3]=y;h[p>>3]=q+J;s=0;i=0;break a}default:{J=+(s>>>1|0);h[p>>3]=q+J;y=y-J;h[o>>3]=y;s=0;i=0;break a}}else{s=0;i=0}}else i=k;while(0);n=+(d[e+33>>0]|0);C=e+32|0;u=a[C>>0]|0;q=+(u<<24>>24);D=e+104|0;k=c[D>>2]|0;t=(i|0)/(k|0)|0;o=i-(O(t,k)|0)|0;o=~~(((o|0)>-1?.5:-.5)+ +(o|0));B=e+96|0;p=u<<24>>24;i=~~(m+n+q);j=0;while(1){if((j|0)>(k|0))break;A=(c[B>>2]|0)+(j<<2)|0;k=c[A>>2]|0;c[A>>2]=i;i=i+t+((j|0)<(o|0)&1)+k+p|0;j=j+1|0;k=c[D>>2]|0}A=e+100|0;k=c[A>>2]|0;t=(s|0)/(k|0)|0;p=s-(O(t,k)|0)|0;p=~~(((p|0)>-1?.5:-.5)+ +(p|0));z=e+92|0;o=u<<24>>24;i=~~(y-n-q);j=0;while(1){if((j|0)>(k|0))break;x=(c[z>>2]|0)+(j<<2)|0;k=c[x>>2]|0;c[x>>2]=i;i=i-t+(((j|0)<(p|0))<<31>>31)-k-o|0;j=j+1|0;k=c[A>>2]|0}u=(g|0)==0;v=H+16|0;w=H+24|0;x=H+8|0;i=E;while(1){o=c[i>>2]|0;if(!o)break;k=b[o+84>>1]|0;if(u){j=0;p=b[o+80>>1]|0;s=b[o+86>>1]|0;t=b[o+82>>1]|0}else{j=k<<16>>16==0?8:0;s=b[o+86>>1]|0;j=s<<16>>16==0?j|4:j;p=b[o+80>>1]|0;t=b[o+82>>1]|0;j=(((p&65535)+(k&65535)|0)==(c[D>>2]|0)?j|2:j)|((t&65535)+(s&65535)|0)==(c[A>>2]|0)}K=c[B>>2]|0;k=k&65535;h[H>>3]=+(c[K+(k<<2)>>2]|0);E=a[C>>0]|0;h[v>>3]=+((c[K+((p&65535)+k<<2)>>2]|0)-E|0);p=c[z>>2]|0;h[w>>3]=+(c[p+((s&65535)<<2)>>2]|0);h[x>>3]=+((c[p+((t&65535)+(s&65535)<<2)>>2]|0)+E|0);c[G>>2]=c[H>>2];c[G+4>>2]=c[H+4>>2];c[G+8>>2]=c[H+8>>2];c[G+12>>2]=c[H+12>>2];c[G+16>>2]=c[H+16>>2];c[G+20>>2]=c[H+20>>2];c[G+24>>2]=c[H+24>>2];c[G+28>>2]=c[H+28>>2];qR(o,G,j&g);i=i+4|0}a[e+35>>0]=g;c[F>>2]=c[f>>2];c[F+4>>2]=c[f+4>>2];c[F+8>>2]=c[f+8>>2];c[F+12>>2]=c[f+12>>2];c[F+16>>2]=c[f+16>>2];c[F+20>>2]=c[f+20>>2];c[F+24>>2]=c[f+24>>2];c[F+28>>2]=c[f+28>>2];l=I;return}function pR(d,e,f){d=d|0;e=e|0;f=f|0;var g=0,i=0,j=0.0,k=0.0,m=0,n=0,o=0.0,p=0.0,q=0.0,r=0,s=0.0,t=0.0,u=0.0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0.0,Q=0.0,R=0.0;O=l;l=l+112|0;H=O+48|0;I=O+16|0;J=O;c[I>>2]=0;c[I+4>>2]=0;c[I+8>>2]=0;c[I+12>>2]=0;c[I+16>>2]=0;c[I+20>>2]=0;c[I+24>>2]=0;c[I+28>>2]=0;K=e+4|0;L=f+16|0;M=f+32|0;N=I+16|0;r=b[K>>1]|0;n=r<<16>>16;g=0;j=-1.0;m=0;while(1){if((m|0)>=(n|0)){g=1;break}i=c[e>>2]|0;if((b[i+(m*24|0)+4>>1]|0)>1){g=0;break}i=c[(c[i+(m*24|0)>>2]|0)+4>>2]|0;if(!i){k=+h[M>>3];h[N>>3]=k;i=L}else{if(c[i+24>>2]&127|0){g=0;break}k=+h[(+h[i+16>>3]>0.0?i:L)+16>>3];h[N>>3]=k;i=(c[i>>2]|0)==0?L:i}i=c[i>>2]|0;c[I>>2]=i;if(!(j==-1.0)){if(k!=j){g=0;break}}else j=k;if(g){if(a$(i,g)|0){g=0;break}}else g=i;m=m+1|0}a[e+6>>0]=g;E=f+48|0;F=f+20|0;G=I+4|0;w=f+40|0;x=I+24|0;y=d+144|0;z=H+4|0;v=J+8|0;A=H+16|0;B=H+24|0;C=H+8|0;D=H+12|0;f=(g|0)==0;j=0.0;s=0.0;t=0.0;u=0.0;n=0;g=r;while(1){if((n|0)>=(g<<16>>16|0))break;k=0.0;q=0.0;m=0;p=0.0;j=0.0;i=c[e>>2]|0;while(1){if((m|0)>=(b[i+(n*24|0)+4>>1]|0))break;c[H>>2]=oH(c[(c[i+(n*24|0)>>2]|0)+(m*56|0)>>2]|0,c[E>>2]|0)|0;i=(c[e>>2]|0)+(n*24|0)|0;g=c[(c[i>>2]|0)+(m*56|0)+4>>2]|0;if(!g){h[N>>3]=+h[M>>3];c[I>>2]=c[L>>2];c[G>>2]=c[F>>2];c[x>>2]=c[x>>2]&-128|c[w>>2]&127}else{g=c[g+24>>2]&127;if(!g)g=c[w>>2]&127;c[x>>2]=c[x>>2]&-128|g;r=c[(c[i>>2]|0)+(m*56|0)+4>>2]|0;h[N>>3]=+h[(+h[r+16>>3]>0.0?r:L)+16>>3];c[I>>2]=c[((c[r>>2]|0)==0?L:r)>>2];c[G>>2]=c[((c[r+4>>2]|0)==0?L:r)+4>>2]}i=c[y>>2]|0;c[z>>2]=nb[c[i>>2]&63](i,I,1)|0;vL(J,d,H);Q=+h[J>>3];o=+h[v>>3];C_(c[(c[(c[e>>2]|0)+(n*24|0)>>2]|0)+(m*56|0)>>2]|0);i=c[e>>2]|0;r=c[i+(n*24|0)>>2]|0;c[r+(m*56|0)>>2]=c[H>>2];h[r+(m*56|0)+32>>3]=Q;h[r+(m*56|0)+16>>3]=+h[A>>3];h[r+(m*56|0)+24>>3]=+h[B>>3];c[r+(m*56|0)+4>>2]=c[z>>2];c[r+(m*56|0)+8>>2]=c[C>>2];c[r+(m*56|0)+12>>2]=c[D>>2];P=+h[N>>3];R=+h[B>>3];k=R>k?R:k;q=Q+q;m=m+1|0;p=P>p?P:p;j=o>j?o:j}h[i+(n*24|0)+8>>3]=q;g=(n|0)==0;do if(f)if(g){o=p;k=p-k;g=i;break}else{o=p;k=t-u+p-k;g=i+(n*24|0)|0;break}else{o=j;k=g?p:j;g=i+(n*24|0)|0}while(0);h[g+16>>3]=k;s=q>s?q:s;t=o+t;u=+h[i+(n*24|0)+16>>3]+u;n=n+1|0;g=b[K>>1]|0}h[e+24>>3]=s;h[e+32>>3]=g<<16>>16==1?j:t;l=O;return}function qR(e,f,g){e=e|0;f=f|0;g=g|0;var i=0,j=0,k=0.0,m=0.0,n=0.0,o=0.0,p=0.0,q=0.0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0.0,A=0.0;y=l;l=l+64|0;v=y+32|0;x=y;j=e+24|0;if((c[j>>2]|0)==0?(i=c[(c[e+96>>2]|0)+24>>2]|0,i|0):0)c[j>>2]=m1(i)|0;t=e+36|0;w=b[t>>1]|0;i=w&65535;a:do if(i&1){k=+h[e+64>>3];q=+h[e+72>>3];j=f+16|0;m=+h[j>>3];o=+h[f>>3];n=m-o-k;b:do if(n>0.0)switch(i&6){case 4:{m=o+k;h[j>>3]=m;k=o;break b}case 2:{m=n+m;h[j>>3]=m;k=o+n;h[f>>3]=k;break b}default:{p=n*.5;k=p+o;h[f>>3]=k;m=m-p;h[j>>3]=m;break b}}else k=o;while(0);i=f+24|0;p=+h[i>>3];j=f+8|0;n=+h[j>>3];o=p-n-q;if(o>0.0)switch(w&24){case 16:{o=n+q;h[i>>3]=o;break a}case 8:{q=o+p;h[i>>3]=q;n=n+o;h[j>>3]=n;o=q;break a}default:{o=o*.5;n=o+n;h[j>>3]=n;o=p-o;h[i>>3]=o;break a}}else o=p}else{k=+h[f>>3];n=+h[f+8>>3];m=+h[f+16>>3];o=+h[f+24>>3]}while(0);s=e+48|0;c[s>>2]=c[f>>2];c[s+4>>2]=c[f+4>>2];c[s+8>>2]=c[f+8>>2];c[s+12>>2]=c[f+12>>2];c[s+16>>2]=c[f+16>>2];c[s+20>>2]=c[f+20>>2];c[s+24>>2]=c[f+24>>2];c[s+28>>2]=c[f+28>>2];a[e+35>>0]=g;A=+(d[e+33>>0]|0);z=+(d[e+34>>0]|0);p=k+A+z;h[x>>3]=p;q=n+A+z;s=x+8|0;h[s>>3]=q;n=m-A-z;f=x+16|0;h[f>>3]=n;o=o-A-z;r=x+24|0;h[r>>3]=o;j=e+88|0;switch(a[e+92>>0]|0){case 1:{w=c[j>>2]|0;c[v>>2]=c[x>>2];c[v+4>>2]=c[x+4>>2];c[v+8>>2]=c[x+8>>2];c[v+12>>2]=c[x+12>>2];c[v+16>>2]=c[x+16>>2];c[v+20>>2]=c[x+20>>2];c[v+24>>2]=c[x+24>>2];c[v+28>>2]=c[x+28>>2];oR(w,v,g);break}case 3:{i=c[j>>2]|0;k=+h[i+24>>3];m=n-p-+h[i+16>>3];c:do if(m>0.0)switch(w&6){case 4:{h[f>>3]=n-m;break c}case 2:{h[x>>3]=m+p;break c}default:break c}while(0);k=o-q-k;d:do if(k>0.0)switch(w&24){case 16:{h[r>>3]=o-k;break d}case 8:{h[s>>3]=k+q;break d}default:break d}while(0);c[v>>2]=c[x>>2];c[v+4>>2]=c[x+4>>2];c[v+8>>2]=c[x+8>>2];c[v+12>>2]=c[x+12>>2];c[v+16>>2]=c[x+16>>2];c[v+20>>2]=c[x+20>>2];c[v+24>>2]=c[x+24>>2];c[v+28>>2]=c[x+28>>2];rR(i,v);break}default:{i=c[j>>2]|0;k=+h[i+32>>3];m=n-p-+h[i+24>>3];e:do if(m>0.0?(u=w&6,u<<16>>16!=6):0)switch(u&7){case 4:{h[f>>3]=n-m;break e}case 2:{h[x>>3]=m+p;break e}default:{A=m*.5;h[x>>3]=A+p;h[f>>3]=n-A;break e}}while(0);k=o-q-k;f:do if(k>0.0)switch(w&24){case 16:{h[r>>3]=o-k;break f}case 8:{h[s>>3]=k+q;break f}default:{A=k*.5;h[s>>3]=A+q;h[r>>3]=o-A;break f}}while(0);w=i+8|0;c[w>>2]=c[x>>2];c[w+4>>2]=c[x+4>>2];c[w+8>>2]=c[x+8>>2];c[w+12>>2]=c[x+12>>2];c[w+16>>2]=c[x+16>>2];c[w+20>>2]=c[x+20>>2];c[w+24>>2]=c[x+24>>2];c[w+28>>2]=c[x+28>>2];x=b[t>>1]&768;sR(c[j>>2]|0,(x&1023)==512?108:(x&1023)==256?114:110)}}l=y;return}function rR(a,b){a=a|0;b=b|0;c[a>>2]=c[b>>2];c[a+4>>2]=c[b+4>>2];c[a+8>>2]=c[b+8>>2];c[a+12>>2]=c[b+12>>2];c[a+16>>2]=c[b+16>>2];c[a+20>>2]=c[b+20>>2];c[a+24>>2]=c[b+24>>2];c[a+28>>2]=c[b+28>>2];return}function sR(d,e){d=d|0;e=e|0;var f=0,g=0,h=0;g=b[d+4>>1]|0;f=0;while(1){if((f|0)>=(g|0))break;h=(c[d>>2]|0)+(f*24|0)+6|0;if(!(a[h>>0]|0))a[h>>0]=e;f=f+1|0}return}function tR(d,f,g){d=d|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0;l=f+84|0;t=c[l>>2]|0;u=uI()|0;v=xR()|0;i=0;h=0;k=zw(t)|0;while(1){if(!k)break;j=zw(c[k+8>>2]|0)|0;while(1){if(!j)break;j=c[j>>2]|0;i=i+1|0}h=h+1|0;if(a[k+12>>0]|0)BR(v,h);k=c[k>>2]|0}h=tH((i<<2)+4|0)|0;c[l>>2]=h;i=0;j=0;k=0;q=0;r=zw(t)|0;while(1){if(!r)break;s=q&65535;p=0;o=zw(c[r+8>>2]|0)|0;while(1){if(!o)break;n=c[o+8>>2]|0;c[h>>2]=n;k=uR(d,n,f,g)|0|k;l=vR(u,q,p,n)|0;b[n+86>>1]=s;b[n+84>>1]=l;l=l+(e[n+80>>1]|0)|0;m=q+(e[n+82>>1]|0)|0;if(CR(v,m)|0){p=n+100|0;a[p>>0]=a[p>>0]|2}p=l;h=h+4|0;o=c[o>>2]|0;i=(l|0)>(i|0)?l:i;j=(m|0)>(j|0)?m:j}q=q+1|0;r=c[r>>2]|0}c[f+100>>2]=j;c[f+104>>2]=i;xw(t)|0;xw(v)|0;xI(u);return k|0}function uR(f,g,i,j){f=f|0;g=g|0;i=i|0;j=j|0;var k=0.0,m=0.0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0.0;u=l;l=l+16|0;t=u+8|0;s=u;c[g+96>>2]=i;q=g+36|0;o=b[q>>1]|0;if(!(o&64)){if(!(b[i+36>>1]&64))n=2;else n=a[i+34>>0]|0;a[g+34>>0]=n}if(!(o&32)){n=a[i+88>>0]|0;if(n<<24>>24<=-1)if(!(b[i+36>>1]&32))n=1;else n=a[i+33>>0]|0;a[g+33>>0]=n}n=g+88|0;p=g+92|0;switch(a[p>>0]|0){case 1:{o=mR(f,c[n>>2]|0,g,j)|0;i=c[n>>2]|0;n=o;o=i+64|0;i=i+72|0;break}case 3:{o=wR(c[n>>2]|0,j)|0;i=c[n>>2]|0;n=o;o=i+16|0;i=i+24|0;break}default:{pR(c[(c[f+16>>2]|0)+144>>2]|0,c[n>>2]|0,j);i=c[n>>2]|0;n=0;o=i+24|0;i=i+32|0}}k=+((d[g+33>>0]|0)+(d[g+34>>0]|0)<<1|0);m=+h[o>>3]+k;k=+h[i>>3]+k;i=g+38|0;do if(b[q>>1]&1){o=b[i>>1]|0;if(o<<16>>16?(r=b[g+40>>1]|0,r<<16>>16):0){if(!(m>+(o&65535)|k>+(r&65535))){m=0.0;k=0.0;break}if((a[p>>0]|0)==3){m=0.0;k=0.0;break}Ow(0,134532,s)|0;n=1;m=0.0;k=0.0;break}Ow(0,134565,t)|0;n=1}while(0);v=+(e[i>>1]|0);h[g+64>>3]=m>v?m:v;m=+(e[g+40>>1]|0);h[g+72>>3]=k>m?k:m;l=u;return n|0}function vR(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var f=0,g=0,h=0,i=0,j=0;j=d+80|0;i=(e[j>>1]|0)+-1|0;h=0;a:while(1){f=c;while(1){if(h)break a;g=i+f|0;while(1){if((g|0)<(f|0)){c=f;h=1;continue a}if(CI(a,g,b)|0)break;g=g+-1|0}f=g+1|0}}h=d+82|0;f=c;while(1){if((f|0)<(c+(e[j>>1]|0)|0))g=b;else break;while(1){if((g|0)>=((e[h>>1]|0)+b|0))break;AI(a,f,g);g=g+1|0}f=f+1|0}return c|0}function wR(b,d){b=b|0;d=d|0;var e=0.0,f=0.0,g=0,i=0,j=0,k=0,m=0;m=l;l=l+16|0;j=m;i=m+8|0;d=d+52|0;g=b+32|0;BC(i,c[d>>2]|0,c[g>>2]|0);k=c[i>>2]|0;i=c[i+4>>2]|0;if((i&k|0)==-1){c[j>>2]=c[g>>2];Ow(1,134615,j)|0;d=1;f=0.0;e=0.0}else{a[(c[(c[d>>2]|0)+16>>2]|0)+114>>0]=1;d=0;f=+(i|0);e=+(k|0)}c[b>>2]=0;c[b+4>>2]=0;c[b+8>>2]=0;c[b+12>>2]=0;h[b+16>>3]=e;h[b+24>>3]=f;l=m;return d|0}function xR(){return Bw(55820,c[4555]|0)|0}function yR(a,b,d){a=a|0;b=b|0;d=d|0;d=tH(12)|0;c[d>>2]=c[b>>2];return d|0}function zR(a,b,c){a=a|0;b=b|0;c=c|0;C_(b);return}function AR(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;b=c[b>>2]|0;e=c[d>>2]|0;return ((b|0)>(e|0)?1:((b|0)<(e|0))<<31>>31)|0}function BR(a,b){a=a|0;b=b|0;var d=0,e=0;d=l;l=l+16|0;e=d;c[e>>2]=b;nb[c[a>>2]&63](a,e,1)|0;l=d;return}function CR(a,b){a=a|0;b=b|0;var d=0,e=0;d=l;l=l+16|0;e=d;c[e>>2]=b;b=(nb[c[a>>2]&63](a,e,512)|0)!=0&1;l=d;return b|0}function DR(a){a=a|0;var b=0;if(!(c[46605]|0)){b=tH((a<<2)+4|0)|0;c[46605]=b;c[b>>2]=186424;c[46616]=a}c[46617]=0;return}function ER(){C_(c[46605]|0);c[46605]=0;c[46617]=0;return}function FR(){c[46617]=0;return}function GR(){var a=0,b=0,d=0;b=c[46617]|0;d=c[46605]|0;a=1;while(1){if((a|0)>(b|0)){a=5;break}if((c[(c[d+(a<<2)>>2]|0)+4>>2]|0)==(a|0))a=a+1|0;else{a=4;break}}if((a|0)==4)qa(135312,134659,59,134665);else if((a|0)==5)return}function HR(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0;f=c[46605]|0;g=c[f+(a<<2)>>2]|0;h=c[g>>2]|0;while(1){b=(a|0)/2|0;d=c[f+(b<<2)>>2]|0;e=f+(a<<2)|0;if((c[d>>2]|0)>=(h|0))break;c[e>>2]=d;c[d+4>>2]=a;a=b}c[e>>2]=g;c[g+4>>2]=a;return}function IR(a){a=a|0;var b=0,d=0;d=l;l=l+16|0;b=c[46617]|0;if((b|0)==(c[46616]|0)){Ow(1,134673,d)|0;a=1}else{b=b+1|0;c[46617]=b;c[(c[46605]|0)+(b<<2)>>2]=a;HR(b);GR();a=0}l=d;return a|0}function JR(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0;e=c[46605]|0;f=c[e+(a<<2)>>2]|0;g=c[f>>2]|0;h=c[46617]|0;i=(h|0)/2|0;while(1){if((a|0)>(i|0))break;d=a<<1;b=c[e+(d<<2)>>2]|0;if((d|0)<(h|0)){l=d|1;j=c[e+(l<<2)>>2]|0;k=(c[b>>2]|0)<(c[j>>2]|0);d=k?l:d;b=k?j:b}if((g|0)>=(c[b>>2]|0))break;c[e+(a<<2)>>2]=b;c[b+4>>2]=a;a=d}c[e+(a<<2)>>2]=f;c[f+4>>2]=a;return}function KR(){var a=0,b=0,d=0,e=0;b=c[46617]|0;if(!b)a=0;else{e=c[46605]|0;d=e+4|0;a=c[d>>2]|0;c[d>>2]=c[e+(b<<2)>>2];b=b+-1|0;c[46617]=b;if(b|0)JR(1);GR()}return a|0}function LR(a,b){a=a|0;b=b|0;c[a>>2]=b;HR(c[a+4>>2]|0);GR();return}function MR(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;m=b+16|0;j=c[m>>2]|0;j=(a[j+((c[e+12>>2]|0)*40|0)+36>>0]|0)!=(a[j+((c[e+16>>2]|0)*40|0)+36>>0]|0);k=~~((+h[d+64>>3]+-3.0-+h[d+48>>3])*.5);l=~~((+h[d+56>>3]+-3.0-+h[d+40>>3])*.5);g=(k|0)<(l|0)?k:l;n=d+4|0;f=0;while(1){b=c[n>>2]|0;if((f|0)>=(b|0)){g=f;break}i=c[d+8+(f<<2)>>2]|0;o=c[m>>2]|0;if((a[o+((c[i+12>>2]|0)*40|0)+36>>0]|0)==(a[o+((c[i+16>>2]|0)*40|0)+36>>0]|0)){g=f;break}NR(i,g);f=f+1|0}while(1){if((g|0)>=(b|0))break;f=c[d+8+(g<<2)>>2]|0;if(j|(f|0)==(e|0)){NR(f,a[(c[m>>2]|0)+((c[f+12>>2]|0)*40|0)+36>>0]|0?k:l);b=c[n>>2]|0}g=g+1|0}return}function NR(a,b){a=a|0;b=b|0;var d=0,e=0;d=a+8|0;e=c[d>>2]|0;c[d>>2]=e+1;if((e|0)>=(b|0)){c[d>>2]=0;h[a>>3]=+h[a>>3]+16384.0}return}function OR(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,i=0,j=0,k=0,m=0,n=0.0,o=0.0,p=0.0,q=0.0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0.0,z=0.0,A=0.0,B=0.0,C=0,D=0,E=0.0;x=l;l=l+112|0;u=x+64|0;t=x+96|0;m=x+32|0;v=x;w=tH(28)|0;b=$x(a)|0;s=w+4|0;c[s>>2]=b;b=tH(b*72|0)|0;r=w+12|0;c[r>>2]=b;e=v+8|0;h[e>>3]=1797693134862315708145274.0e284;h[v>>3]=1797693134862315708145274.0e284;f=v+24|0;h[f>>3]=-1797693134862315708145274.0e284;g=v+16|0;h[g>>3]=-1797693134862315708145274.0e284;i=m+16|0;j=m+8|0;k=m+24|0;d=Ry(a)|0;n=1797693134862315708145274.0e284;o=1797693134862315708145274.0e284;p=-1797693134862315708145274.0e284;q=-1797693134862315708145274.0e284;while(1){if(!d)break;C=d+16|0;D=c[C>>2]|0;z=(+h[D+96>>3]+ +h[D+88>>3])*.5;z=z<1.0?1.0:z;y=+h[D+80>>3]*.5;y=y<1.0?1.0:y;E=+h[D+16>>3];B=E-z;h[m>>3]=B;z=E+z;h[i>>3]=z;E=+h[D+24>>3];A=E-y;h[j>>3]=A;y=E+y;h[k>>3]=y;B=+h[(n>3];h[v>>3]=B;A=+h[(o>3];h[e>>3]=A;z=+h[(p>z?v:m)+16>>3];h[g>>3]=z;y=+h[(q>y?v:m)+24>>3];h[f>>3]=y;D=b+40|0;c[D>>2]=c[m>>2];c[D+4>>2]=c[m+4>>2];c[D+8>>2]=c[m+8>>2];c[D+12>>2]=c[m+12>>2];c[D+16>>2]=c[m+16>>2];c[D+20>>2]=c[m+20>>2];c[D+24>>2]=c[m+24>>2];c[D+28>>2]=c[m+28>>2];c[b>>2]=c[b>>2]|1;c[(c[C>>2]|0)+112>>2]=b;b=b+72|0;d=Sy(a,d)|0;n=B;o=A;p=z;q=y}h[v>>3]=n+-36.0;h[e>>3]=o+-36.0;h[g>>3]=p+36.0;h[f>>3]=q+36.0;D=c[r>>2]|0;f=c[s>>2]|0;c[u>>2]=c[v>>2];c[u+4>>2]=c[v+4>>2];c[u+8>>2]=c[v+8>>2];c[u+12>>2]=c[v+12>>2];c[u+16>>2]=c[v+16>>2];c[u+20>>2]=c[v+20>>2];c[u+24>>2]=c[v+24>>2];c[u+28>>2]=c[v+28>>2];f=YR(D,f,t,u)|0;if(c[46553]&1|0){r=c[r>>2]|0;C=c[s>>2]|0;D=c[t>>2]|0;c[u>>2]=c[v>>2];c[u+4>>2]=c[v+4>>2];c[u+8>>2]=c[v+8>>2];c[u+12>>2]=c[v+12>>2];c[u+16>>2]=c[v+16>>2];c[u+20>>2]=c[v+20>>2];c[u+24>>2]=c[v+24>>2];c[u+28>>2]=c[v+28>>2];PR(r,C,u,f,D)}e=w+8|0;c[e>>2]=tH((c[t>>2]|0)*72|0)|0;c[w>>2]=c[t>>2];d=c[t>>2]|0;b=0;while(1){if((b|0)>=(d|0))break;D=(c[e>>2]|0)+(b*72|0)+40|0;C=f+(b<<5)|0;c[D>>2]=c[C>>2];c[D+4>>2]=c[C+4>>2];c[D+8>>2]=c[C+8>>2];c[D+12>>2]=c[C+12>>2];c[D+16>>2]=c[C+16>>2];c[D+20>>2]=c[C+20>>2];c[D+24>>2]=c[C+24>>2];c[D+28>>2]=c[C+28>>2];b=b+1|0}C_(f);c[u>>2]=c[v>>2];c[u+4>>2]=c[v+4>>2];c[u+8>>2]=c[v+8>>2];c[u+12>>2]=c[v+12>>2];c[u+16>>2]=c[v+16>>2];c[u+20>>2]=c[v+20>>2];c[u+24>>2]=c[v+24>>2];c[u+28>>2]=c[v+28>>2];c[w+16>>2]=QR(w,u)|0;l=x;return w|0}function PR(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0.0,i=0,j=0,k=0.0,m=0.0,n=0.0,o=0,p=0,q=0,r=0,s=0,t=0.0,u=0.0,v=0.0;q=l;l=l+128|0;p=q+96|0;o=q+64|0;j=q+32|0;r=q+16|0;s=q;m=+h[d+16>>3];n=+h[d>>3];k=+h[d+24>>3];g=+h[d+8>>3];i=c[15686]|0;C1(134688,i)|0;c[s>>2]=10;c[s+4>>2]=10;c[s+8>>2]=~~(m+10.0-n);c[s+12>>2]=~~(k+10.0-g);f1(i,135118,s)|0;h[r>>3]=10.0-n;h[r+8>>3]=10.0-g;f1(i,135166,r)|0;C1(135183,i)|0;d=0;while(1){if((d|0)>=(b|0))break;v=+h[a+(d*72|0)+48>>3];u=+h[a+(d*72|0)+56>>3];t=+h[a+(d*72|0)+64>>3];h[j>>3]=+h[a+(d*72|0)+40>>3];h[j+8>>3]=v;h[j+16>>3]=u;h[j+24>>3]=t;f1(i,135202,j)|0;d=d+1|0}C1(135220,i)|0;d=0;while(1){if((d|0)>=(f|0))break;t=+h[e+(d<<5)+8>>3];u=+h[e+(d<<5)+16>>3];v=+h[e+(d<<5)+24>>3];h[o>>3]=+h[e+(d<<5)>>3];h[o+8>>3]=t;h[o+16>>3]=u;h[o+24>>3]=v;f1(i,135239,o)|0;d=d+1|0}C1(135257,i)|0;h[p>>3]=n;h[p+8>>3]=g;h[p+16>>3]=m;h[p+24>>3]=k;f1(i,135239,p)|0;C1(135004,i)|0;l=q;return}function QR(a,b){a=a|0;b=b|0;var d=0,e=0.0,f=0,g=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0;A=l;l=l+32|0;t=A+16|0;k=A;w=c[a>>2]|0;y=mO(w<<2|2)|0;z=Bw(55856,c[4555]|0)|0;v=Bw(55892,c[4555]|0)|0;w=tH(w<<7)|0;f=tH(c[a>>2]<<4)|0;x=a+8|0;g=b+16|0;i=k+8|0;j=b+24|0;m=b+8|0;d=0;while(1){if((d|0)>=(c[a>>2]|0))break;n=c[x>>2]|0;o=n+(d*72|0)|0;c[n+(d*72|0)+32>>2]=4;p=n+(d*72|0)+36|0;c[p>>2]=f+(d<<2<<2);q=n+(d*72|0)+40|0;e=+h[n+(d*72|0)+56>>3];if(e<+h[g>>3]){h[k>>3]=e;h[i>>3]=+h[n+(d*72|0)+48>>3];c[t>>2]=c[k>>2];c[t+4>>2]=c[k+4>>2];c[t+8>>2]=c[k+8>>2];c[t+12>>2]=c[k+12>>2];s=RR(y,z,t,w,1)|0;c[s+20>>2]=o;c[c[p>>2]>>2]=s}e=+h[n+(d*72|0)+64>>3];if(e<+h[j>>3]){h[k>>3]=+h[q>>3];h[i>>3]=e;c[t>>2]=c[k>>2];c[t+4>>2]=c[k+4>>2];c[t+8>>2]=c[k+8>>2];c[t+12>>2]=c[k+12>>2];s=RR(y,v,t,w,0)|0;c[s+20>>2]=o;c[(c[p>>2]|0)+4>>2]=s}if(+h[q>>3]>+h[b>>3]){c[t>>2]=c[q>>2];c[t+4>>2]=c[q+4>>2];c[t+8>>2]=c[q+8>>2];c[t+12>>2]=c[q+12>>2];s=RR(y,z,t,w,1)|0;c[s+24>>2]=o;c[(c[p>>2]|0)+8>>2]=s}if(+h[n+(d*72|0)+48>>3]>+h[m>>3]){c[t>>2]=c[q>>2];c[t+4>>2]=c[q+4>>2];c[t+8>>2]=c[q+8>>2];c[t+12>>2]=c[q+12>>2];s=RR(y,v,t,w,0)|0;c[s+24>>2]=o;c[(c[p>>2]|0)+12>>2]=s}d=d+1|0}o=tH(c[y>>2]<<2)|0;r=a+4|0;s=a+12|0;p=t+8|0;m=0;q=0;n=0;while(1){d=c[r>>2]|0;if((n|0)>=(d|0)){b=0;break}g=c[s>>2]|0;i=g+(n*72|0)|0;j=g+(n*72|0)+36|0;c[j>>2]=o+(m<<2);b=g+(n*72|0)+40|0;c[t>>2]=c[b>>2];c[t+4>>2]=c[b+4>>2];c[t+8>>2]=c[b+8>>2];c[t+12>>2]=c[b+12>>2];b=g+(n*72|0)+56|0;k=g+(n*72|0)+32|0;d=nb[c[v>>2]&63](v,t,512)|0;while(1){if(!d)break;if(!(+h[d+8>>3]<+h[b>>3]))break;C=c[d>>2]|0;B=c[j>>2]|0;f=c[k>>2]|0;c[k>>2]=f+1;c[B+(f<<2)>>2]=C;c[(c[d>>2]|0)+24>>2]=i;d=nb[c[v>>2]&63](v,d,8)|0}f=g+(n*72|0)+64|0;d=nb[c[z>>2]&63](z,t,512)|0;while(1){if(!d){u=20;break}e=+h[f>>3];if(!(+h[d+16>>3]>2]|0;B=c[j>>2]|0;C=c[k>>2]|0;c[k>>2]=C+1;c[B+(C<<2)>>2]=b;c[(c[d>>2]|0)+24>>2]=i;d=nb[c[z>>2]&63](z,d,8)|0}if((u|0)==20){u=0;e=+h[f>>3]}h[p>>3]=e;b=g+(n*72|0)+56|0;d=nb[c[v>>2]&63](v,t,512)|0;while(1){if(!d){u=25;break}e=+h[b>>3];if(!(+h[d+8>>3]>2]|0;B=c[j>>2]|0;C=c[k>>2]|0;c[k>>2]=C+1;c[B+(C<<2)>>2]=D;c[(c[d>>2]|0)+20>>2]=i;d=nb[c[v>>2]&63](v,d,8)|0}if((u|0)==25){u=0;e=+h[b>>3]}h[t>>3]=e;h[p>>3]=+h[g+(n*72|0)+48>>3];d=nb[c[z>>2]&63](z,t,512)|0;while(1){if(!d)break;if(!(+h[d+16>>3]<+h[f>>3]))break;B=c[d>>2]|0;C=c[j>>2]|0;D=c[k>>2]|0;c[k>>2]=D+1;c[C+(D<<2)>>2]=B;c[(c[d>>2]|0)+20>>2]=i;d=nb[c[z>>2]&63](z,d,8)|0}D=c[k>>2]|0;m=D+m|0;q=(D|0)>(q|0)?D:q;n=n+1|0}while(1){if((b|0)>=(d|0))break;SR((c[s>>2]|0)+(b*72|0)|0);b=b+1|0;d=c[r>>2]|0}d=c[y>>2]|0;D=c[y+16>>2]|0;c[D+(d*40|0)+32>>2]=d;d=d+1|0;c[D+(d*40|0)+32>>2]=d;lO(y,q);d=0;while(1){if((d|0)>=(c[a>>2]|0))break;TR((c[x>>2]|0)+(d*72|0)|0,y);d=d+1|0}xw(z)|0;xw(v)|0;C_(w);UR(y);jO(y);l=A;return y|0}function RR(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0;h=nb[c[d>>2]&63](d,e,512)|0;do if(!h){b=nO(b)|0;if(!f)qa(135101,135049,291,135108);else{h=c[b+32>>2]|0;i=f+(h<<5)|0;f=f+(h<<5)+8|0;c[f>>2]=c[e>>2];c[f+4>>2]=c[e+4>>2];c[f+8>>2]=c[e+8>>2];c[f+12>>2]=c[e+12>>2];c[i>>2]=b;a[b+36>>0]=g;nb[c[d>>2]&63](d,i,1)|0;break}}else i=h;while(0);return c[i>>2]|0}function SR(b){b=b|0;var d=0,e=0,f=0,g=0,i=0,j=0;a:do if((+h[b+64>>3]+-3.0-+h[b+48>>3])*.5<2.0){i=c[b+32>>2]|0;j=b+36|0;g=0;while(1){if((g|0)>=(i|0))break a;d=c[(c[j>>2]|0)+(g<<2)>>2]|0;b:do if(a[d+36>>0]|0){f=c[d+20>>2]|0;if((f|0)==(b|0)){e=c[d+24>>2]|0;d=e;e=c[e>>2]|0;do{c[d>>2]=e|8;d=c[c[d+36>>2]>>2]|0;if(!d)break b;d=c[d+24>>2]|0;e=c[d>>2]|0}while(!(e&1|0))}else{e=f;d=c[f>>2]|0;do{c[e>>2]=d|8;d=c[(c[e+36>>2]|0)+8>>2]|0;if(!d)break b;e=c[d+20>>2]|0;d=c[e>>2]|0}while(!(d&1|0))}}while(0);g=g+1|0}}while(0);c:do if((+h[b+56>>3]+-3.0-+h[b+40>>3])*.5<2.0){i=c[b+32>>2]|0;j=b+36|0;g=0;while(1){if((g|0)>=(i|0))break c;d=c[(c[j>>2]|0)+(g<<2)>>2]|0;d:do if(!(a[d+36>>0]|0)){f=c[d+20>>2]|0;if((f|0)==(b|0)){e=c[d+24>>2]|0;d=e;e=c[e>>2]|0;do{c[d>>2]=e|16;d=c[(c[d+36>>2]|0)+4>>2]|0;if(!d)break d;d=c[d+24>>2]|0;e=c[d>>2]|0}while(!(e&1|0))}else{e=f;d=c[f>>2]|0;do{c[e>>2]=d|16;d=c[(c[e+36>>2]|0)+12>>2]|0;if(!d)break d;e=c[d+20>>2]|0;d=c[e>>2]|0}while(!(d&1|0))}}while(0);g=g+1|0}}while(0);return}function TR(a,b){a=a|0;b=b|0;var d=0,e=0,f=0.0,g=0.0,i=0.0,j=0,k=0,l=0,m=0,n=0,o=0,p=0.0,q=0;g=+h[a+56>>3]-+h[a+40>>3];i=+h[a+64>>3]-+h[a+48>>3];f=(i+g)*.5+500.0;if((i+-3.0)*.5<2.0){l=(c[a>>2]&8|0)==0;f=l?16384.0:f;p=l?16384.0:g}else p=g;if((g+-3.0)*.5<2.0){l=(c[a>>2]&16|0)==0;i=l?16384.0:i;f=l?16384.0:f}l=a+36|0;d=c[l>>2]|0;e=c[d+8>>2]|0;if((e|0)!=0?(j=c[d+4>>2]|0,(j|0)!=0):0){j=oO(b,e,j,f)|0;e=a+4|0;d=c[e>>2]|0;c[e>>2]=d+1;c[a+8+(d<<2)>>2]=j;d=c[l>>2]|0}e=c[d+4>>2]|0;if((e|0)!=0?(k=c[d>>2]|0,(k|0)!=0):0){k=oO(b,e,k,f)|0;j=a+4|0;d=c[j>>2]|0;c[j>>2]=d+1;c[a+8+(d<<2)>>2]=k;d=c[l>>2]|0}e=c[d+8>>2]|0;if((e|0)!=0?(m=c[d+12>>2]|0,(m|0)!=0):0){m=oO(b,e,m,f)|0;k=a+4|0;d=c[k>>2]|0;c[k>>2]=d+1;c[a+8+(d<<2)>>2]=m;d=c[l>>2]|0}e=c[d+12>>2]|0;if((e|0)!=0?(n=c[d>>2]|0,(n|0)!=0):0){n=oO(b,e,n,f)|0;m=a+4|0;d=c[m>>2]|0;c[m>>2]=d+1;c[a+8+(d<<2)>>2]=n;d=c[l>>2]|0}e=c[d+4>>2]|0;if((e|0)!=0?(o=c[d+12>>2]|0,(o|0)!=0):0){o=oO(b,e,o,i)|0;n=a+4|0;d=c[n>>2]|0;c[n>>2]=d+1;c[a+8+(d<<2)>>2]=o;d=c[l>>2]|0}e=c[d+8>>2]|0;if(e|0?(q=c[d>>2]|0,q|0):0){b=oO(b,e,q,p)|0;o=a+4|0;q=c[o>>2]|0;c[o>>2]=q+1;c[a+8+(q<<2)>>2]=b}return}function UR(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0;j=l;l=l+16|0;i=j+8|0;h=j;f=a+16|0;g=c[15686]|0;e=0;while(1){if((e|0)>=(c[a>>2]|0)){b=10;break}b=c[f>>2]|0;d=b+(e*40|0)+20|0;if((c[d>>2]|0)==0?(c[h>>2]=e,f1(g,135014,h)|0,(c[d>>2]|0)==0):0){b=5;break}b=b+(e*40|0)+24|0;if((c[b>>2]|0)==0?(c[i>>2]=e,f1(g,135066,i)|0,(c[b>>2]|0)==0):0){b=8;break}e=e+1|0}if((b|0)==5)qa(135036,135049,311,135056);else if((b|0)==8)qa(135088,135049,313,135056);else if((b|0)==10){l=j;return}}function VR(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0.0,f=0.0;e=+h[b+8>>3];f=+h[c+8>>3];if(!(e>f))if(!(e>3];e=+h[c>>3];if(f>e)a=1;else a=(f>31}else a=-1;else a=1;return a|0}function WR(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0.0,f=0.0;e=+h[b>>3];f=+h[c>>3];if(!(e>f))if(!(e>3];e=+h[c+8>>3];if(f>e)a=1;else a=(f>31}else a=-1;else a=1;return a|0}function XR(a){a=a|0;var b=0,d=0;d=a+8|0;C_(c[(c[d>>2]|0)+36>>2]|0);b=a+12|0;C_(c[(c[b>>2]|0)+36>>2]|0);C_(c[d>>2]|0);C_(c[b>>2]|0);qO(c[a+16>>2]|0);xw(c[a+20>>2]|0)|0;xw(c[a+24>>2]|0)|0;C_(a);return}function YR(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0;p=l;l=l+32|0;h=p;i=b<<2;f=i+4|0;i=i+5|0;o=uH(i*56|0)|0;i=tH(i<<2)|0;g=f*5|1;j=uH(g*72|0)|0;m=g<<5;k=tH(m)|0;m=tH(m)|0;c[h>>2]=c[e>>2];c[h+4>>2]=c[e+4>>2];c[h+8>>2]=c[e+8>>2];c[h+12>>2]=c[e+12>>2];c[h+16>>2]=c[e+16>>2];c[h+20>>2]=c[e+20>>2];c[h+24>>2]=c[e+24>>2];c[h+28>>2]=c[e+28>>2];ZR(a,b,h,o,0);h2(173);_R(f,i);iS(f,o,i,g,j)|0;n=$R(f,o,j,0,k)|0;c[h>>2]=c[e>>2];c[h+4>>2]=c[e+4>>2];c[h+8>>2]=c[e+8>>2];c[h+12>>2]=c[e+12>>2];c[h+16>>2]=c[e+16>>2];c[h+20>>2]=c[e+20>>2];c[h+24>>2]=c[e+24>>2];c[h+28>>2]=c[e+28>>2];ZR(a,b,h,o,1);_R(f,i);iS(f,o,i,g,j)|0;f=$R(f,o,j,1,m)|0;g=tH(O(n<<5,f)|0)|0;b=0;a=0;while(1){if((b|0)>=(f|0))break;h=m+(b<<5)|0;e=0;while(1){if((e|0)>=(n|0))break;q=a+((aS(g+(a<<5)|0,h,k+(e<<5)|0)|0)!=0&1)|0;e=e+1|0;a=q}b=b+1|0}q=wH(g,a<<5)|0;C_(o);C_(i);C_(j);C_(k);C_(m);c[d>>2]=a;l=p;return q|0}function ZR(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0;j=l;l=l+96|0;h=j+64|0;i=j;c[h>>2]=c[d>>2];c[h+4>>2]=c[d+4>>2];c[h+8>>2]=c[d+8>>2];c[h+12>>2]=c[d+12>>2];c[h+16>>2]=c[d+16>>2];c[h+20>>2]=c[d+20>>2];c[h+24>>2]=c[d+24>>2];c[h+28>>2]=c[d+28>>2];gS(h,f,1,i);d=hS(e,1,i)|0;g=0;while(1){if((g|0)>=(b|0))break;k=a+(g*72|0)+40|0;c[h>>2]=c[k>>2];c[h+4>>2]=c[k+4>>2];c[h+8>>2]=c[k+8>>2];c[h+12>>2]=c[k+12>>2];c[h+16>>2]=c[k+16>>2];c[h+20>>2]=c[k+20>>2];c[h+24>>2]=c[k+24>>2];c[h+28>>2]=c[k+28>>2];gS(h,f,0,i);d=hS(e,d,i)|0;g=g+1|0}l=j;return}function _R(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;d=0;while(1){if((d|0)>(a|0))break;c[b+(d<<2)>>2]=d;d=d+1|0}g=a+1|0;d=1;while(1){if((d|0)>(a|0))break;h=~~(+j2()*+(g-d|0)+ +(d|0));e=b+(d<<2)|0;f=b+(h<<2)|0;if((d|0)!=(h|0)){h=c[e>>2]|0;c[e>>2]=c[f>>2];c[f>>2]=h}d=d+1|0}return}function $R(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;g=a*5|0;j=g+1|0;l=tH(j<<2)|0;c[46618]=tH(j<<4)|0;c[46619]=tH((a*56|0)+56|0)|0;j=tH(a<<2)|0;c[46620]=j;k=0;while(1){if((k|0)>(g|0))break;if(bS(d+(k*72|0)|0,b)|0)break;k=k+1|0}h=c[46618]|0;i=c[46619]|0;g=1;while(1){if((g|0)>(a|0))break;c[h+(g<<4)+8>>2]=c[b+(g*56|0)+48>>2];m=b+(g*56|0)+44|0;c[h+(g<<4)+4>>2]=c[m>>2];c[h+(g<<4)>>2]=g;n=i+(g*56|0)|0;o=b+(g*56|0)|0;c[n>>2]=c[o>>2];c[n+4>>2]=c[o+4>>2];c[n+8>>2]=c[o+8>>2];c[n+12>>2]=c[o+12>>2];c[i+(g*56|0)+16>>2]=c[m>>2];c[i+(g*56|0)+32>>2]=g;c[i+(g*56|0)+48>>2]=1;g=g+1|0}c[46621]=a;c[46622]=0;c[j>>2]=1;g=c[d+(k*72|0)+40>>2]|0;if((g|0)<=0){g=c[d+(k*72|0)+48>>2]|0;if((g|0)>0)g=cS(l,f,0,b,d,0,k,g,e,2)|0;else g=0}else g=cS(l,f,0,b,d,0,k,g,e,1)|0;C_(l);C_(c[46618]|0);C_(c[46619]|0);C_(c[46620]|0);return g|0}function aS(a,b,c){a=a|0;b=b|0;c=c|0;var d=0.0,e=0.0,f=0.0,g=0.0;g=+h[(+h[b>>3]>+h[c>>3]?b:c)>>3];f=+h[(+h[b+16>>3]<+h[c+16>>3]?b:c)+16>>3];h[a+16>>3]=f;h[a>>3]=g;e=+h[(+h[b+8>>3]>+h[c+8>>3]?b:c)+8>>3];d=+h[(+h[b+24>>3]<+h[c+24>>3]?b:c)+24>>3];h[a+24>>3]=d;h[a+8>>3]=e;return !(g>=f)&!(e>=d)&1|0}function bS(a,b){a=a|0;b=b|0;var d=0.0,e=0.0,f=0;f=c[a+4>>2]|0;do if((c[a+68>>2]|0)!=2?!((f|0)<1|(c[a>>2]|0)<1):0){if(!((c[a+40>>2]|0)<1?(c[a+44>>2]|0)<1:0)){if((c[a+48>>2]|0)>=1){a=0;break}if((c[a+52>>2]|0)>=1){a=0;break}}d=+h[b+(f*56|0)+24>>3];e=+h[b+(f*56|0)+8>>3];if(!(d>e+1.0e-07))if(d>3]>+h[b+(f*56|0)>>3]&1;else a=1}else a=0;while(0);return a|0}function cS(a,b,d,e,f,g,i,j,k,l){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;i=i|0;j=j|0;k=k|0;l=l|0;var m=0,n=0,o=0.0,p=0.0,q=0.0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0.0,J=0,K=0.0,L=0,M=0,N=0,O=0,P=0;D=(k|0)==0;C=i;a:while(1){y=f+(C*72|0)|0;if((C|0)<1)break;i=a+(C<<2)|0;if(c[i>>2]|0)break;c[i>>2]=1;v=f+(C*72|0)+8|0;t=f+(C*72|0)+16|0;p=+h[t>>3];w=f+(C*72|0)+24|0;x=f+(C*72|0)+32|0;o=+h[x>>3];if((p>o?(A=c[y>>2]|0,I=+h[e+(A*56|0)>>3],I==+h[e+(A*56|0)+16>>3]):0)?(A=c[f+(C*72|0)+4>>2]|0,K=+h[e+(A*56|0)>>3],K==+h[e+(A*56|0)+16>>3]):0){i=b+(d<<5)|0;if(D){h[i>>3]=I;q=p;p=K}else{h[i>>3]=o;q=-I;o=-K}h[b+(d<<5)+8>>3]=o;h[b+(d<<5)+16>>3]=p;h[b+(d<<5)+24>>3]=q;d=d+1|0}i=f+(C*72|0)+40|0;z=c[i>>2]|0;do if((z|0)<1?(L=f+(C*72|0)+44|0,(c[L>>2]|0)<1):0){i=f+(C*72|0)+48|0;n=f+(C*72|0)+52|0;if((c[i>>2]|0)>0?(M=c[n>>2]|0,(M|0)>0):0){m=c[f+(M*72|0)>>2]|0;l=c[y>>2]|0;if((M|0)==(j|0)){l=dS(g,l,m)|0;d=cS(a,b,d,e,f,g,c[n>>2]|0,C,k,1)|0;g=l;l=1;break}else{l=dS(g,m,l)|0;d=cS(a,b,d,e,f,g,c[i>>2]|0,C,k,1)|0;g=l;i=n;l=1;break}}d=cS(a,b,d,e,f,g,z,C,k,2)|0;d=cS(a,b,d,e,f,g,c[L>>2]|0,C,k,2)|0;d=cS(a,b,d,e,f,g,c[i>>2]|0,C,k,1)|0;i=n;l=1}else P=19;while(0);do if((P|0)==19){P=0;A=f+(C*72|0)+48|0;r=c[A>>2]|0;if((r|0)<1?(N=f+(C*72|0)+52|0,(c[N>>2]|0)<1):0){n=f+(C*72|0)+44|0;if((z|0)>0?(O=c[n>>2]|0,(O|0)>0):0){m=c[f+(C*72|0)+4>>2]|0;l=c[f+(z*72|0)+4>>2]|0;if((O|0)==(j|0)){l=dS(g,l,m)|0;d=cS(a,b,d,e,f,g,c[n>>2]|0,C,k,2)|0;g=l;l=2;break}else{l=dS(g,m,l)|0;d=cS(a,b,d,e,f,g,c[i>>2]|0,C,k,2)|0;g=l;i=n;l=2;break}}d=cS(a,b,d,e,f,g,z,C,k,2)|0;d=cS(a,b,d,e,f,g,c[n>>2]|0,C,k,2)|0;d=cS(a,b,d,e,f,g,c[A>>2]|0,C,k,1)|0;i=N;l=1;break}u=f+(C*72|0)+44|0;s=c[u>>2]|0;m=(s|0)>0;if((z|0)>0){if(m){if((r|0)>0?(E=f+(C*72|0)+52|0,F=c[E>>2]|0,(F|0)>0):0){n=c[f+(F*72|0)>>2]|0;m=c[f+(z*72|0)+4>>2]|0;if(!((l|0)==2&(F|0)==(j|0))?!((l|0)==1&(s|0)==(j|0)):0){l=dS(g,n,m)|0;d=cS(a,b,d,e,f,g,c[i>>2]|0,C,k,2)|0;d=cS(a,b,d,e,f,g,c[A>>2]|0,C,k,1)|0;d=cS(a,b,d,e,f,l,c[u>>2]|0,C,k,2)|0;g=l;i=E;l=1;break}l=dS(g,m,n)|0;d=cS(a,b,d,e,f,g,c[u>>2]|0,C,k,2)|0;d=cS(a,b,d,e,f,g,c[E>>2]|0,C,k,1)|0;d=cS(a,b,d,e,f,l,c[i>>2]|0,C,k,2)|0;g=l;i=A;l=1;break}m=c[y>>2]|0;if(+B(+(+h[x>>3]-+h[e+(m*56|0)+24>>3]))<=1.0e-07?+B(+(+h[w>>3]-+h[e+(m*56|0)+16>>3]))<=1.0e-07:0){n=c[f+(z*72|0)+4>>2]|0;m=c[e+(m*56|0)+44>>2]|0;if((l|0)==1&(z|0)==(j|0)){l=dS(g,m,n)|0;d=cS(a,b,d,e,f,g,c[i>>2]|0,C,k,2)|0;d=cS(a,b,d,e,f,l,c[A>>2]|0,C,k,1)|0;d=cS(a,b,d,e,f,l,c[u>>2]|0,C,k,2)|0;g=l;i=f+(C*72|0)+52|0;l=1;break}else{l=dS(g,n,m)|0;d=cS(a,b,d,e,f,g,c[u>>2]|0,C,k,2)|0;d=cS(a,b,d,e,f,g,c[A>>2]|0,C,k,1)|0;d=cS(a,b,d,e,f,g,c[f+(C*72|0)+52>>2]|0,C,k,1)|0;g=l;l=2;break}}n=c[f+(C*72|0)+4>>2]|0;m=c[f+(z*72|0)+4>>2]|0;if((l|0)==1&(s|0)==(j|0)){l=dS(g,m,n)|0;d=cS(a,b,d,e,f,g,c[u>>2]|0,C,k,2)|0;d=cS(a,b,d,e,f,l,c[f+(C*72|0)+52>>2]|0,C,k,1)|0;d=cS(a,b,d,e,f,l,c[A>>2]|0,C,k,1)|0;g=l;l=2;break}else{l=dS(g,n,m)|0;d=cS(a,b,d,e,f,g,c[i>>2]|0,C,k,2)|0;d=cS(a,b,d,e,f,g,c[A>>2]|0,C,k,1)|0;d=cS(a,b,d,e,f,g,c[f+(C*72|0)+52>>2]|0,C,k,1)|0;g=l;i=u;l=2;break}}}else if(!m)break a;if((r|0)>0?(G=f+(C*72|0)+52|0,H=c[G>>2]|0,(H|0)>0):0){n=c[y>>2]|0;if(+B(+(+h[t>>3]-+h[e+(n*56|0)+8>>3]))<=1.0e-07?+B(+(+h[v>>3]-+h[e+(n*56|0)>>3]))<=1.0e-07:0){m=c[f+(H*72|0)>>2]|0;if((l|0)==2&(r|0)==(j|0)){l=dS(g,m,n)|0;d=cS(a,b,d,e,f,g,c[A>>2]|0,C,k,1)|0;d=cS(a,b,d,e,f,l,c[i>>2]|0,C,k,2)|0;d=cS(a,b,d,e,f,l,c[f+(C*72|0)+44>>2]|0,C,k,2)|0;g=l;i=G;l=1;break}else{l=dS(g,n,m)|0;d=cS(a,b,d,e,f,g,c[f+(C*72|0)+44>>2]|0,C,k,2)|0;d=cS(a,b,d,e,f,g,c[G>>2]|0,C,k,1)|0;d=cS(a,b,d,e,f,g,c[i>>2]|0,C,k,2)|0;g=l;i=A;l=1;break}}m=c[f+(H*72|0)>>2]|0;n=c[e+((c[f+(C*72|0)+4>>2]|0)*56|0)+44>>2]|0;if((l|0)==2&(H|0)==(j|0)){l=dS(g,n,m)|0;d=cS(a,b,d,e,f,g,c[G>>2]|0,C,k,1)|0;d=cS(a,b,d,e,f,l,c[f+(C*72|0)+44>>2]|0,C,k,2)|0;d=cS(a,b,d,e,f,l,c[i>>2]|0,C,k,2)|0;g=l;i=A;l=1;break}else{l=dS(g,m,n)|0;d=cS(a,b,d,e,f,g,c[i>>2]|0,C,k,2)|0;d=cS(a,b,d,e,f,g,c[A>>2]|0,C,k,1)|0;d=cS(a,b,d,e,f,g,c[f+(C*72|0)+44>>2]|0,C,k,2)|0;g=l;i=G;l=1;break}}o=+h[t>>3];n=c[y>>2]|0;if(((+B(+(o-+h[e+(n*56|0)+8>>3]))<=1.0e-07?+B(+(+h[v>>3]-+h[e+(n*56|0)>>3]))<=1.0e-07:0)?(J=c[f+(C*72|0)+4>>2]|0,+B(+(+h[x>>3]-+h[e+(J*56|0)+8>>3]))<=1.0e-07):0)?+B(+(+h[w>>3]-+h[e+(J*56|0)>>3]))<=1.0e-07:0)if((l|0)==1){l=dS(g,n,J)|0;d=cS(a,b,d,e,f,g,c[i>>2]|0,C,k,2)|0;d=cS(a,b,d,e,f,g,c[f+(C*72|0)+44>>2]|0,C,k,2)|0;d=cS(a,b,d,e,f,l,c[f+(C*72|0)+52>>2]|0,C,k,1)|0;g=l;i=A;l=1;break}else{l=dS(g,J,n)|0;d=cS(a,b,d,e,f,g,c[f+(C*72|0)+52>>2]|0,C,k,1)|0;d=cS(a,b,d,e,f,g,c[A>>2]|0,C,k,1)|0;d=cS(a,b,d,e,f,l,c[i>>2]|0,C,k,2)|0;g=l;i=f+(C*72|0)+44|0;l=2;break}j=c[f+(C*72|0)+4>>2]|0;if(((+B(+(o-+h[e+(j*56|0)+24>>3]))<=1.0e-07?+B(+(+h[v>>3]-+h[e+(j*56|0)+16>>3]))<=1.0e-07:0)?+B(+(+h[x>>3]-+h[e+(n*56|0)+24>>3]))<=1.0e-07:0)?+B(+(+h[w>>3]-+h[e+(n*56|0)+16>>3]))<=1.0e-07:0){m=c[e+(j*56|0)+44>>2]|0;j=c[e+(n*56|0)+44>>2]|0;if((l|0)==1){l=dS(g,j,m)|0;d=cS(a,b,d,e,f,g,c[i>>2]|0,C,k,2)|0;d=cS(a,b,d,e,f,g,c[f+(C*72|0)+44>>2]|0,C,k,2)|0;d=cS(a,b,d,e,f,l,c[f+(C*72|0)+52>>2]|0,C,k,1)|0;g=l;i=A;l=1;break}else{l=dS(g,m,j)|0;d=cS(a,b,d,e,f,g,c[f+(C*72|0)+52>>2]|0,C,k,1)|0;d=cS(a,b,d,e,f,g,c[A>>2]|0,C,k,1)|0;d=cS(a,b,d,e,f,l,c[i>>2]|0,C,k,2)|0;g=l;i=f+(C*72|0)+44|0;l=2;break}}d=cS(a,b,d,e,f,g,z,C,k,2)|0;d=cS(a,b,d,e,f,g,c[A>>2]|0,C,k,1)|0;d=cS(a,b,d,e,f,g,c[f+(C*72|0)+44>>2]|0,C,k,2)|0;i=f+(C*72|0)+52|0;l=1}while(0);j=C;C=c[i>>2]|0}return d|0}function dS(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0;f=l;l=l+16|0;r=f+4|0;i=f;e=(c[46622]|0)+1|0;c[46622]=e;m=c[46619]|0;eS(b,d,r,i);r=c[r>>2]|0;h=c[m+(b*56|0)+32+(r<<2)>>2]|0;i=c[m+(d*56|0)+32+(c[i>>2]<<2)>>2]|0;n=c[46621]|0;g=n+1|0;n=n+2|0;c[46621]=n;q=c[46618]|0;c[q+(g<<4)>>2]=b;c[q+(n<<4)>>2]=d;o=q+(h<<4)+4|0;p=q+(g<<4)+4|0;c[p>>2]=c[o>>2];c[q+(c[o>>2]<<4)+8>>2]=g;c[q+(g<<4)+8>>2]=n;c[q+(n<<4)+4>>2]=g;j=q+(i<<4)+8|0;c[q+(n<<4)+8>>2]=c[j>>2];c[q+(c[j>>2]<<4)+4>>2]=n;c[o>>2]=i;c[j>>2]=h;j=m+(b*56|0)+48|0;o=c[j>>2]|0;i=m+(d*56|0)+48|0;k=c[i>>2]|0;c[m+(b*56|0)+16+(r<<2)>>2]=d;c[m+(b*56|0)+32+(o<<2)>>2]=g;c[m+(b*56|0)+16+(o<<2)>>2]=c[q+(c[p>>2]<<4)>>2];c[m+(d*56|0)+32+(k<<2)>>2]=n;c[m+(d*56|0)+16+(k<<2)>>2]=b;c[j>>2]=(c[j>>2]|0)+1;c[i>>2]=(c[i>>2]|0)+1;d=c[46620]|0;c[d+(a<<2)>>2]=h;c[d+(e<<2)>>2]=g;l=f;return e|0}function eS(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0.0,h=0,i=0,j=0.0,k=0.0,l=0,m=0,n=0;l=c[46619]|0;m=l+(a*56|0)|0;n=l+(b*56|0)|0;f=0;g=-4.0;i=0;while(1){if((i|0)==4)break;h=c[l+(a*56|0)+16+(i<<2)>>2]|0;if((h|0)>=1?(j=+fS(m,l+(h*56|0)|0,n),j>g):0){f=i;g=j}i=i+1|0}c[d>>2]=f;f=0;i=0;g=-4.0;while(1){if((i|0)==4)break;h=c[l+(b*56|0)+16+(i<<2)>>2]|0;if((h|0)>=1?(k=+fS(n,l+(h*56|0)|0,m),k>g):0){f=i;g=k}i=i+1|0}c[e>>2]=f;return}function fS(a,b,c){a=a|0;b=b|0;c=c|0;var d=0.0,e=0.0,f=0.0,g=0.0,i=0.0;g=+h[a>>3];i=+h[b>>3]-g;d=+h[a+8>>3];f=+h[b+8>>3]-d;g=+h[c>>3]-g;d=+h[c+8>>3]-d;e=d*f+g*i;if(!(d*i-g*f>=0.0))d=-e/(+C(+(d*d+g*g))*+C(+(f*f+i*i)))+-2.0;else d=e/(+C(+(d*d+g*g))*+C(+(f*f+i*i)));return +d}function gS(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,i=0,j=0,k=0.0,l=0.0;c[e>>2]=c[a>>2];c[e+4>>2]=c[a+4>>2];c[e+8>>2]=c[a+8>>2];c[e+12>>2]=c[a+12>>2];i=e+32|0;j=a+16|0;c[i>>2]=c[j>>2];c[i+4>>2]=c[j+4>>2];c[i+8>>2]=c[j+8>>2];c[i+12>>2]=c[j+12>>2];if(!d){f=a+8|0;g=j;i=a+24|0;d=a}else{f=a+24|0;g=a;i=a+8|0;d=j}k=+h[g>>3];l=+h[i>>3];h[e+16>>3]=+h[d>>3];h[e+24>>3]=l;h[e+48>>3]=k;h[e+56>>3]=+h[f>>3];a:do if(b|0){d=0;while(1){if((d|0)==4)break a;j=e+(d<<4)+8|0;l=+h[j>>3];b=e+(d<<4)|0;h[j>>3]=+h[b>>3];h[b>>3]=-l;d=d+1|0}}while(0);return}function hS(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;h=b+3|0;i=b+1|0;j=b+2|0;k=a+(b*56|0)+44|0;l=a+(h*56|0)+44|0;e=0;f=b;while(1){if((f|0)>(h|0))break;do if((f|0)!=(b|0))if((f|0)==(h|0)){c[l>>2]=b;g=j;break}else{c[a+(f*56|0)+44>>2]=f+1;g=f+-1|0;break}else{c[k>>2]=i;g=h}while(0);c[a+(f*56|0)+48>>2]=g;c[a+(f*56|0)+32>>2]=0;n=a+(f*56|0)|0;m=d+(e<<4)|0;c[n>>2]=c[m>>2];c[n+4>>2]=c[m+4>>2];c[n+8>>2]=c[m+8>>2];c[n+12>>2]=c[m+12>>2];F3(a+(g*56|0)+16|0,m|0,16)|0;e=e+1|0;f=f+1|0}return b+4|0}function iS(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0;c[46623]=e<<1;c[46624]=e;k=tH(e*80|0)|0;c[46625]=1;c[46626]=1;G3(f|0,0,e*72|0)|0;g=jS(c[d+4>>2]|0,b,f,k)|0;e=1;while(1){if((e|0)>(a|0))break;c[b+(e*56|0)+40>>2]=g;c[b+(e*56|0)+36>>2]=g;e=e+1|0}j=kS(a)|0;g=2;i=1;while(1){if((i|0)>(j|0))break;e=lS(a,i+-1|0)|0;h=lS(a,i)|0;while(1){if((e|0)>=(h|0)){e=1;break}mS(c[d+(g<<2)>>2]|0,b,f,k);e=e+1|0;g=g+1|0}while(1){if((e|0)>(a|0))break;nS(e,b,f,k);e=e+1|0}i=i+1|0}e=lS(a,j)|0;while(1){if((e|0)>=(a|0))break;mS(c[d+(g<<2)>>2]|0,b,f,k);g=g+1|0;e=e+1|0}C_(k);return c[46625]|0}function jS(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;f=sS()|0;c[e+(f*40|0)>>2]=2;s=e+(f*40|0)+8|0;k=b+(a*56|0)|0;l=b+(a*56|0)+16|0;wS(s,k,l);n=sS()|0;c[e+(f*40|0)+36>>2]=n;c[e+(n*40|0)>>2]=3;c[e+(n*40|0)+28>>2]=f;j=sS()|0;c[e+(f*40|0)+32>>2]=j;c[e+(j*40|0)>>2]=2;r=e+(j*40|0)+8|0;xS(r,k,l);c[e+(j*40|0)+28>>2]=f;l=sS()|0;c[e+(j*40|0)+32>>2]=l;c[e+(l*40|0)>>2]=3;c[e+(l*40|0)+28>>2]=j;k=sS()|0;c[e+(j*40|0)+36>>2]=k;c[e+(k*40|0)>>2]=1;c[e+(k*40|0)+4>>2]=a;c[e+(k*40|0)+28>>2]=j;j=sS()|0;c[e+(k*40|0)+32>>2]=j;c[e+(j*40|0)>>2]=3;c[e+(j*40|0)+28>>2]=k;g=sS()|0;c[e+(k*40|0)+36>>2]=g;c[e+(g*40|0)>>2]=3;c[e+(g*40|0)+28>>2]=k;k=rS(d)|0;i=rS(d)|0;m=rS(d)|0;o=rS(d)|0;p=d+(k*72|0)+8|0;q=d+(i*72|0)+8|0;t=d+(o*72|0)+24|0;c[t>>2]=c[s>>2];c[t+4>>2]=c[s+4>>2];c[t+8>>2]=c[s+8>>2];c[t+12>>2]=c[s+12>>2];F3(q|0,s|0,16)|0;c[p>>2]=c[q>>2];c[p+4>>2]=c[q+4>>2];c[p+8>>2]=c[q+8>>2];c[p+12>>2]=c[q+12>>2];p=d+(k*72|0)+24|0;q=d+(i*72|0)+24|0;s=d+(m*72|0)+8|0;c[s>>2]=c[r>>2];c[s+4>>2]=c[r+4>>2];c[s+8>>2]=c[r+8>>2];c[s+12>>2]=c[r+12>>2];F3(q|0,r|0,16)|0;c[p>>2]=c[q>>2];c[p+4>>2]=c[q+4>>2];c[p+8>>2]=c[q+8>>2];c[p+12>>2]=c[q+12>>2];h[d+(o*72|0)+16>>3]=1073741824.0;h[d+(o*72|0)+8>>3]=1073741824.0;h[d+(m*72|0)+32>>3]=-1073741824.0;h[d+(m*72|0)+24>>3]=-1073741824.0;c[d+(i*72|0)>>2]=a;c[d+(k*72|0)+4>>2]=a;c[d+(i*72|0)+40>>2]=o;c[d+(k*72|0)+40>>2]=o;c[d+(i*72|0)+48>>2]=m;c[d+(k*72|0)+48>>2]=m;c[d+(m*72|0)+40>>2]=k;c[d+(o*72|0)+48>>2]=k;c[d+(m*72|0)+44>>2]=i;c[d+(o*72|0)+52>>2]=i;c[d+(k*72|0)+56>>2]=j;c[d+(i*72|0)+56>>2]=g;c[d+(m*72|0)+56>>2]=l;c[d+(o*72|0)+56>>2]=n;c[d+(i*72|0)+68>>2]=1;c[d+(k*72|0)+68>>2]=1;c[d+(o*72|0)+68>>2]=1;c[d+(m*72|0)+68>>2]=1;c[e+(n*40|0)+24>>2]=o;c[e+(l*40|0)+24>>2]=m;c[e+(j*40|0)+24>>2]=k;c[e+(g*40|0)+24>>2]=i;c[b+(a*56|0)+32>>2]=1;return f|0}function kS(a){a=a|0;var b=0.0;b=+(a|0);a=0;while(1){if(!(b>=1.0))break;b=+f$(b);a=a+1|0}return a+-1|0}function lS(a,b){a=a|0;b=b|0;var c=0.0,d=0.0;d=+(a|0);c=d;a=0;while(1){if((a|0)>=(b|0))break;c=+f$(c);a=a+1|0}return ~~+N(+(d/c))|0}function mS(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,i=0.0,j=0.0,k=0,m=0,n=0,o=0,p=0,q=0.0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0;W=l;l=l+96|0;S=W+32|0;f=W+16|0;T=W;s=S;k=b+(a*56|0)|0;r=s+56|0;do{c[s>>2]=c[k>>2];s=s+4|0;k=k+4|0}while((s|0)<(r|0));U=S+16|0;V=S+24|0;i=+h[V>>3];H=S+8|0;j=+h[H>>3];do if(!(i>j+1.0e-07)){if(!(i>3]>+h[S>>3]:0){G=4;break}G=(qS(a,b,1)|0)==0;f=c[S+36>>2]|0;if(G){n=0;G=7}else{f=oS(S,U,f,b,e)|0;G=20}}else G=4;while(0);if((G|0)==4){c[f>>2]=c[S>>2];c[f+4>>2]=c[S+4>>2];c[f+8>>2]=c[S+8>>2];c[f+12>>2]=c[S+12>>2];c[S>>2]=c[U>>2];c[S+4>>2]=c[U+4>>2];c[S+8>>2]=c[U+8>>2];c[S+12>>2]=c[U+12>>2];c[U>>2]=c[f>>2];c[U+4>>2]=c[f+4>>2];c[U+8>>2]=c[f+8>>2];c[U+12>>2]=c[f+12>>2];E=S+36|0;F=c[E>>2]|0;G=S+40|0;f=c[G>>2]|0;c[E>>2]=f;c[G>>2]=F;if(!(qS(a,b,2)|0)){n=1;G=7}else{f=oS(S,U,f,b,e)|0;G=19}}if((G|0)==7){m=oS(S,U,f,b,e)|0;f=rS(d)|0;c[d+(f*72|0)+68>>2]=1;s=d+(f*72|0)|0;k=d+(m*72|0)|0;r=s+72|0;do{c[s>>2]=c[k>>2];s=s+4|0;k=k+4|0}while((s|0)<(r|0));q=+h[H>>3];h[d+(f*72|0)+16>>3]=q;h[d+(m*72|0)+32>>3]=q;q=+h[S>>3];h[d+(f*72|0)+8>>3]=q;h[d+(m*72|0)+24>>3]=q;c[d+(m*72|0)+48>>2]=f;c[d+(m*72|0)+52>>2]=0;c[d+(f*72|0)+40>>2]=m;c[d+(f*72|0)+44>>2]=0;g=c[d+(f*72|0)+48>>2]|0;if((g|0)>0){k=d+(g*72|0)+40|0;if((c[k>>2]|0)==(m|0))c[k>>2]=f;g=d+(g*72|0)+44|0;if((c[g>>2]|0)==(m|0))c[g>>2]=f}g=c[d+(f*72|0)+52>>2]|0;if((g|0)>0){k=d+(g*72|0)+40|0;if((c[k>>2]|0)==(m|0))c[k>>2]=f;g=d+(g*72|0)+44|0;if((c[g>>2]|0)==(m|0))c[g>>2]=f}E=sS()|0;G=sS()|0;F=d+(m*72|0)+56|0;D=c[F>>2]|0;c[e+(D*40|0)>>2]=2;C=e+(D*40|0)+8|0;c[C>>2]=c[S>>2];c[C+4>>2]=c[S+4>>2];c[C+8>>2]=c[S+8>>2];c[C+12>>2]=c[S+12>>2];c[e+(D*40|0)+4>>2]=a;c[e+(D*40|0)+32>>2]=G;c[e+(D*40|0)+36>>2]=E;c[e+(E*40|0)>>2]=3;c[e+(E*40|0)+24>>2]=m;c[e+(E*40|0)+28>>2]=D;c[e+(G*40|0)>>2]=3;c[e+(G*40|0)+24>>2]=f;c[e+(G*40|0)+28>>2]=D;c[F>>2]=E;c[d+(f*72|0)+56>>2]=G;if(n)G=19;else G=20}if((G|0)==19)if(!(qS(a,b,1)|0)){g=1;G=21}else{g=1;G=32}else if((G|0)==20)if(!(qS(a,b,2)|0)){g=0;G=21}else{g=0;G=32}if((G|0)==21){o=oS(U,S,c[S+40>>2]|0,b,e)|0;n=rS(d)|0;c[d+(n*72|0)+68>>2]=1;s=d+(n*72|0)|0;k=d+(o*72|0)|0;r=s+72|0;do{c[s>>2]=c[k>>2];s=s+4|0;k=k+4|0}while((s|0)<(r|0));q=+h[V>>3];h[d+(n*72|0)+16>>3]=q;h[d+(o*72|0)+32>>3]=q;q=+h[U>>3];h[d+(n*72|0)+8>>3]=q;h[d+(o*72|0)+24>>3]=q;c[d+(o*72|0)+48>>2]=n;c[d+(o*72|0)+52>>2]=0;c[d+(n*72|0)+40>>2]=o;c[d+(n*72|0)+44>>2]=0;k=c[d+(n*72|0)+48>>2]|0;if((k|0)>0){m=d+(k*72|0)+40|0;if((c[m>>2]|0)==(o|0))c[m>>2]=n;k=d+(k*72|0)+44|0;if((c[k>>2]|0)==(o|0))c[k>>2]=n}k=c[d+(n*72|0)+52>>2]|0;if((k|0)>0){m=d+(k*72|0)+40|0;if((c[m>>2]|0)==(o|0))c[m>>2]=n;k=d+(k*72|0)+44|0;if((c[k>>2]|0)==(o|0))c[k>>2]=n}D=sS()|0;F=sS()|0;E=d+(o*72|0)+56|0;C=c[E>>2]|0;c[e+(C*40|0)>>2]=2;A=e+(C*40|0)+8|0;c[A>>2]=c[U>>2];c[A+4>>2]=c[U+4>>2];c[A+8>>2]=c[U+8>>2];c[A+12>>2]=c[U+12>>2];c[e+(C*40|0)+4>>2]=a;c[e+(C*40|0)+32>>2]=F;c[e+(C*40|0)+36>>2]=D;c[e+(D*40|0)>>2]=3;c[e+(D*40|0)+24>>2]=o;c[e+(D*40|0)+28>>2]=C;c[e+(F*40|0)>>2]=3;c[e+(F*40|0)+24>>2]=n;c[e+(F*40|0)+28>>2]=C;c[E>>2]=D;c[d+(n*72|0)+56>>2]=F;F=f;f=0}else if((G|0)==32){F=f;o=oS(U,S,c[S+40>>2]|0,b,e)|0;f=1}a:do if((F|0)>0){D=d+(o*72|0)+24|0;E=d+(o*72|0)+32|0;C=(f|0)!=0;y=g?b+(a*56|0)+48|0:b+(a*56|0)+44|0;z=T+8|0;g=0;f=0;x=F;b:while(1){k=d+(x*72|0)|0;v=d+(x*72|0)+24|0;if(!(tS(v,D)|0))break a;m=d+(x*72|0)+56|0;u=c[m>>2]|0;n=sS()|0;p=sS()|0;c[e+(u*40|0)>>2]=1;c[e+(u*40|0)+4>>2]=a;c[e+(u*40|0)+32>>2]=n;c[e+(u*40|0)+36>>2]=p;c[e+(n*40|0)>>2]=3;c[e+(n*40|0)+24>>2]=x;c[e+(n*40|0)+28>>2]=u;c[e+(p*40|0)>>2]=3;w=rS(d)|0;c[e+(p*40|0)+24>>2]=w;A=d+(w*72|0)|0;c[d+(w*72|0)+68>>2]=1;c[e+(p*40|0)+28>>2]=u;g=(x|0)==(F|0)?w:g;u=d+(x*72|0)+32|0;if(+B(+(+h[u>>3]-+h[E>>3]))<=1.0e-07?+B(+(+h[v>>3]-+h[D>>3]))<=1.0e-07:0)f=w;s=A;r=s+72|0;do{c[s>>2]=c[k>>2];s=s+4|0;k=k+4|0}while((s|0)<(r|0));c[m>>2]=n;c[d+(w*72|0)+56>>2]=p;t=d+(x*72|0)+48|0;m=d+(x*72|0)+52|0;k=(c[m>>2]|0)<1;do if((c[t>>2]|0)<1){if(k)break b;s=d+(x*72|0)+40|0;k=c[s>>2]|0;do if((k|0)>0?(M=d+(x*72|0)+44|0,N=c[M>>2]|0,(N|0)>0):0){r=d+(x*72|0)+60|0;k=c[r>>2]|0;if((k|0)<=0){c[d+(w*72|0)+40>>2]=N;c[d+(w*72|0)+44>>2]=-1;c[M>>2]=-1;c[d+(N*72|0)+48>>2]=w;break}if((c[d+(x*72|0)+64>>2]|0)==1){c[d+(w*72|0)+40>>2]=N;c[M>>2]=-1;c[d+(w*72|0)+44>>2]=k;c[d+((c[s>>2]|0)*72|0)+48>>2]=x;p=w;n=N}else{c[d+(w*72|0)+44>>2]=-1;t=d+(w*72|0)+40|0;c[t>>2]=c[M>>2];n=c[s>>2]|0;c[M>>2]=n;c[s>>2]=k;c[d+(k*72|0)+48>>2]=x;p=x;k=c[t>>2]|0}c[d+(n*72|0)+48>>2]=p;c[d+(k*72|0)+48>>2]=w;c[d+(w*72|0)+60>>2]=0;c[r>>2]=0}else G=77;while(0);do if((G|0)==77){G=0;n=d+(k*72|0)+48|0;p=c[n>>2]|0;k=d+(k*72|0)+52|0;if((p|0)>0?(c[k>>2]|0)>0:0){k=c[d+(p*72|0)+4>>2]|0;if((k|0)>0?(pS(k,b,U)|0)==0:0){c[d+(w*72|0)+44>>2]=-1;c[d+(x*72|0)+44>>2]=-1;c[s>>2]=-1;c[d+((c[d+(w*72|0)+40>>2]|0)*72|0)+52>>2]=w;break}c[d+(x*72|0)+44>>2]=-1;c[d+(w*72|0)+44>>2]=-1;c[d+(w*72|0)+40>>2]=-1;c[d+((c[s>>2]|0)*72|0)+48>>2]=x;break}c[n>>2]=x;c[k>>2]=w}while(0);if(+B(+(+h[u>>3]-+h[E>>3]))<=1.0e-07?C&+B(+(+h[v>>3]-+h[D>>3]))<=1.0e-07:0){k=c[y>>2]|0;if((k|0)>0?(pS(k,b,S)|0)!=0:0){c[d+((c[m>>2]|0)*72|0)+40>>2]=x;n=d+(w*72|0)+52|0;k=w}else{c[d+((c[d+(w*72|0)+52>>2]|0)*72|0)+44>>2]=w;n=m;k=x}c[n>>2]=-1;c[d+(k*72|0)+48>>2]=-1;k=c[m>>2]|0;break}k=c[m>>2]|0;m=d+(k*72|0)+40|0;n=c[m>>2]|0;p=d+(k*72|0)+44|0;if((n|0)>0?(O=c[p>>2]|0,P=(n|0)==(x|0),(O|0)>0):0){c[d+(k*72|0)+60>>2]=P?O:n;c[d+(k*72|0)+64>>2]=P?1:2}c[m>>2]=x;c[p>>2]=w}else{if(!k){i=+h[u>>3];j=+h[H>>3];q=i-j;if(!(+B(+q)<=1.0e-07)){h[z>>3]=i;i=+h[S>>3];h[T>>3]=(+h[U>>3]-i)*(q/(+h[V>>3]-j))+i;s=(uS(T,v)|0)!=0}else s=+h[v>>3]>+h[S>>3];r=d+(x*72|0)+40|0;k=c[r>>2]|0;do if((k|0)>0?(Q=d+(x*72|0)+44|0,R=c[Q>>2]|0,(R|0)>0):0){p=d+(x*72|0)+60|0;k=c[p>>2]|0;if((k|0)<=0){c[d+(w*72|0)+40>>2]=R;c[d+(w*72|0)+44>>2]=-1;c[Q>>2]=-1;c[d+(R*72|0)+48>>2]=w;break}if((c[d+(x*72|0)+64>>2]|0)==1){c[d+(w*72|0)+40>>2]=R;c[Q>>2]=-1;c[d+(w*72|0)+44>>2]=k;c[d+((c[r>>2]|0)*72|0)+48>>2]=x;n=w;m=R}else{c[d+(w*72|0)+44>>2]=-1;X=d+(w*72|0)+40|0;c[X>>2]=c[Q>>2];m=c[r>>2]|0;c[Q>>2]=m;c[r>>2]=k;c[d+(k*72|0)+48>>2]=x;n=x;k=c[X>>2]|0}c[d+(m*72|0)+48>>2]=n;c[d+(k*72|0)+48>>2]=w;c[d+(w*72|0)+60>>2]=0;c[p>>2]=0}else G=106;while(0);do if((G|0)==106){G=0;m=d+(k*72|0)+48|0;n=c[m>>2]|0;k=d+(k*72|0)+52|0;if((n|0)>0?(c[k>>2]|0)>0:0){k=c[d+(n*72|0)+4>>2]|0;if((k|0)>0?(pS(k,b,U)|0)==0:0){c[d+(w*72|0)+44>>2]=-1;c[d+(x*72|0)+44>>2]=-1;c[r>>2]=-1;c[d+((c[d+(w*72|0)+40>>2]|0)*72|0)+52>>2]=w;break}c[d+(x*72|0)+44>>2]=-1;c[d+(w*72|0)+44>>2]=-1;c[d+(w*72|0)+40>>2]=-1;c[d+((c[r>>2]|0)*72|0)+48>>2]=x;break}c[m>>2]=x;c[k>>2]=w}while(0);if(+B(+(+h[u>>3]-+h[E>>3]))<=1.0e-07?C&+B(+(+h[v>>3]-+h[D>>3]))<=1.0e-07:0){k=c[t>>2]|0;c[d+(k*72|0)+40>>2]=x;c[d+(k*72|0)+44>>2]=-1;k=d+(x*72|0)+52|0;X=c[k>>2]|0;c[d+(X*72|0)+40>>2]=w;c[d+(X*72|0)+44>>2]=-1;c[d+(w*72|0)+48>>2]=X;c[d+(w*72|0)+52>>2]=-1;c[k>>2]=-1;k=-1}else G=116;do if((G|0)==116){G=0;k=c[t>>2]|0;c[d+(k*72|0)+40>>2]=x;m=d+(k*72|0)+44|0;if(s){c[m>>2]=w;X=d+(x*72|0)+52|0;v=c[X>>2]|0;c[d+(v*72|0)+40>>2]=w;c[d+(v*72|0)+44>>2]=-1;c[X>>2]=-1;break}else{c[m>>2]=-1;k=d+(x*72|0)+52|0;X=c[k>>2]|0;c[d+(X*72|0)+40>>2]=x;c[d+(X*72|0)+44>>2]=w;c[d+(w*72|0)+48>>2]=X;c[d+(w*72|0)+52>>2]=-1;k=c[k>>2]|0;break}}while(0);break}s=d+(x*72|0)+40|0;k=c[s>>2]|0;do if((k|0)>0?(I=d+(x*72|0)+44|0,J=c[I>>2]|0,(J|0)>0):0){r=d+(x*72|0)+60|0;k=c[r>>2]|0;if((k|0)<=0){c[d+(w*72|0)+40>>2]=J;c[d+(w*72|0)+44>>2]=-1;c[I>>2]=-1;c[d+(J*72|0)+48>>2]=w;break}if((c[d+(x*72|0)+64>>2]|0)==1){c[d+(w*72|0)+40>>2]=J;c[I>>2]=-1;c[d+(w*72|0)+44>>2]=k;c[d+((c[s>>2]|0)*72|0)+48>>2]=x;p=w;n=J}else{c[d+(w*72|0)+44>>2]=-1;X=d+(w*72|0)+40|0;c[X>>2]=c[I>>2];n=c[s>>2]|0;c[I>>2]=n;c[s>>2]=k;c[d+(k*72|0)+48>>2]=x;p=x;k=c[X>>2]|0}c[d+(n*72|0)+48>>2]=p;c[d+(k*72|0)+48>>2]=w;c[d+(w*72|0)+60>>2]=0;c[r>>2]=0}else G=51;while(0);do if((G|0)==51){G=0;n=d+(k*72|0)+48|0;p=c[n>>2]|0;k=d+(k*72|0)+52|0;if((p|0)>0?(c[k>>2]|0)>0:0){k=c[d+(p*72|0)+4>>2]|0;if((k|0)>0?(pS(k,b,U)|0)==0:0){c[d+(w*72|0)+44>>2]=-1;c[d+(x*72|0)+44>>2]=-1;c[s>>2]=-1;c[d+((c[d+(w*72|0)+40>>2]|0)*72|0)+52>>2]=w;break}c[d+(x*72|0)+44>>2]=-1;c[d+(w*72|0)+44>>2]=-1;c[d+(w*72|0)+40>>2]=-1;c[d+((c[s>>2]|0)*72|0)+48>>2]=x;break}c[n>>2]=x;c[k>>2]=w}while(0);if(+B(+(+h[u>>3]-+h[E>>3]))<=1.0e-07?C&+B(+(+h[v>>3]-+h[D>>3]))<=1.0e-07:0){k=c[y>>2]|0;if((k|0)>0?(pS(k,b,S)|0)!=0:0){c[d+((c[t>>2]|0)*72|0)+40>>2]=x;m=d+(w*72|0)+52|0;k=w}else{c[d+((c[d+(w*72|0)+48>>2]|0)*72|0)+44>>2]=w;k=x}c[m>>2]=-1;c[d+(k*72|0)+48>>2]=-1;k=c[t>>2]|0;break}k=c[t>>2]|0;m=d+(k*72|0)+40|0;n=c[m>>2]|0;p=d+(k*72|0)+44|0;if((n|0)>0?(K=c[p>>2]|0,L=(n|0)==(x|0),(K|0)>0):0){c[d+(k*72|0)+60>>2]=L?K:n;c[d+(k*72|0)+64>>2]=L?1:2}c[m>>2]=x;c[p>>2]=w}while(0);c[A>>2]=a;c[d+(x*72|0)+4>>2]=a;if((k|0)>0)x=k;else break a}D1(135342,19,1,c[15686]|0)|0}else{g=0;f=0}while(0);vS(a,F,o,1,d,e);vS(a,g,f,2,d,e);c[b+(a*56|0)+32>>2]=1;l=W;return}function nS(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0;if(!(c[b+(a*56|0)+32>>2]|0)){f=b+(a*56|0)|0;g=b+(a*56|0)+16|0;h=b+(a*56|0)+36|0;c[h>>2]=c[d+((oS(f,g,c[h>>2]|0,b,e)|0)*72|0)+56>>2];a=b+(a*56|0)+40|0;c[a>>2]=c[d+((oS(g,f,c[a>>2]|0,b,e)|0)*72|0)+56>>2]}return}function oS(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0.0,i=0,j=0.0,k=0.0,l=0.0,m=0.0,n=0.0,o=0,p=0.0,q=0,r=0;o=a+8|0;q=b+8|0;a:while(1){b:do switch(c[f+(d*40|0)>>2]|0){case 3:{r=3;break a}case 2:{g=+h[o>>3];i=f+(d*40|0)+8|0;j=+h[f+(d*40|0)+16>>3];k=j+1.0e-07;do if(!(g>k)){l=j+-1.0e-07;if(!(g>3]>+h[i>>3]:0)break;if(+B(+(g-j))<=1.0e-07?(m=+h[i>>3],+B(+(+h[a>>3]-m))<=1.0e-07):0){g=+h[q>>3];do if(!(g>k)){if(!(g>3]>m:0)break;d=f+(d*40|0)+32|0;break b}while(0);d=f+(d*40|0)+36|0;break b}d=f+(d*40|0)+32|0;break b}while(0);d=f+(d*40|0)+36|0;break}case 1:{g=+h[o>>3];i=c[f+(d*40|0)+4>>2]|0;if(+B(+(g-+h[e+(i*56|0)+8>>3]))<=1.0e-07?(n=+h[a>>3],+B(+(n-+h[e+(i*56|0)>>3]))<=1.0e-07):0)j=n;else r=19;do if((r|0)==19){r=0;if(+B(+(g-+h[e+(i*56|0)+24>>3]))<=1.0e-07?(p=+h[a>>3],+B(+(p-+h[e+(i*56|0)+16>>3]))<=1.0e-07):0){j=p;break}if(!(pS(i,e,a)|0)){d=f+(d*40|0)+36|0;break b}else{d=f+(d*40|0)+32|0;break b}}while(0);if(!(+B(+(g-+h[q>>3]))<=1.0e-07))if(!(pS(i,e,b)|0)){d=f+(d*40|0)+36|0;break b}else{d=f+(d*40|0)+32|0;break b}else if(+h[b>>3]>2]|0}if((r|0)==3)return c[f+(d*40|0)+24>>2]|0;else if((r|0)==31){D1(135276,35,1,c[15686]|0)|0;qa(135312,135314,349,135326)}return 0}function pS(a,b,c){a=a|0;b=b|0;c=c|0;var d=0.0,e=0.0,f=0,g=0.0,i=0,j=0,k=0.0;f=b+(a*56|0)+16|0;g=+h[b+(a*56|0)+24>>3];i=b+(a*56|0)|0;e=+h[b+(a*56|0)+8>>3];do if(!(g>e+1.0e-07)){if(!(g>3]>+h[i>>3]:0){j=4;break}d=+h[c+8>>3];if(+B(+(g-d))<=1.0e-07){d=+h[c>>3]<+h[f>>3]?1.0:-1.0;break}if(!(+B(+(e-d))<=1.0e-07)){k=+h[f>>3];d=(+h[i>>3]-k)*(d-g)-(+h[c>>3]-k)*(e-g);break}else{d=+h[c>>3]<+h[i>>3]?1.0:-1.0;break}}else j=4;while(0);do if((j|0)==4){d=+h[c+8>>3];if(+B(+(g-d))<=1.0e-07){d=+h[c>>3]<+h[f>>3]?1.0:-1.0;break}if(!(+B(+(e-d))<=1.0e-07)){k=+h[i>>3];d=(+h[f>>3]-k)*(d-e)-(+h[c>>3]-k)*(g-e);break}else{d=+h[c>>3]<+h[i>>3]?1.0:-1.0;break}}while(0);return d>0.0|0}function qS(a,b,d){a=a|0;b=b|0;d=d|0;return c[b+((c[((d|0)==1?b+(a*56|0)+48|0:b+(a*56|0)+44|0)>>2]|0)*56|0)+32>>2]|0}function rS(a){a=a|0;var b=0,d=0,e=0;e=l;l=l+16|0;d=e;b=c[46625]|0;if((b|0)<(c[46624]|0)){c[a+(b*72|0)>>2]=-1;c[a+(b*72|0)+4>>2]=-1;c[a+(b*72|0)+68>>2]=1;c[46625]=b+1;l=e;return b|0}else{e=c[15686]|0;c[d>>2]=b;f1(e,135401,d)|0;qa(135312,135314,88,135439)}return 0}function sS(){var a=0;a=c[46626]|0;if((a|0)<(c[46623]|0)){c[46626]=a+1;return a|0}else{D1(135362,30,1,c[15686]|0)|0;qa(135312,135314,72,135393)}return 0}function tS(a,b){a=a|0;b=b|0;var c=0.0,d=0.0;c=+h[a+8>>3];d=+h[b+8>>3];if(!(c>d+1.0e-07))if(c>3]>=+h[b>>3]&1;else a=1;return a|0}function uS(a,b){a=a|0;b=b|0;var c=0.0,d=0.0;c=+h[a+8>>3];d=+h[b+8>>3];if(!(cd+1.0e-07)a=0;else a=+h[a>>3]<+h[b>>3]&1;else a=1;return a|0}function vS(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;q=f+(d*72|0)+24|0;p=(e|0)==1;a:while(1){o=f+(b*72|0)+24|0;j=f+(b*72|0)+48|0;k=f+(b*72|0)+52|0;l=f+(b*72|0)|0;m=f+(b*72|0)+4|0;n=f+(b*72|0)+56|0;if((b|0)<=0)break;while(1){if(!(tS(o,q)|0))break a;d=c[j>>2]|0;e=(d|0)>0;do if(p){if(e?(c[f+(d*72|0)+4>>2]|0)==(a|0):0)break;d=c[k>>2]|0;if((d|0)<=0){b=d;continue a}if((c[f+(d*72|0)+4>>2]|0)!=(a|0)){b=d;continue a}}else{if(e?(c[f+(d*72|0)>>2]|0)==(a|0):0)break;d=c[k>>2]|0;if((d|0)<=0){b=d;continue a}if((c[f+(d*72|0)>>2]|0)!=(a|0)){b=d;continue a}}while(0);if((c[l>>2]|0)!=(c[f+(d*72|0)>>2]|0)){b=d;continue a}if((c[m>>2]|0)!=(c[f+(d*72|0)+4>>2]|0)){b=d;continue a}r=c[f+(d*72|0)+56>>2]|0;e=c[g+(r*40|0)+28>>2]|0;h=g+(e*40|0)+32|0;i=c[n>>2]|0;if((c[h>>2]|0)==(r|0))c[h>>2]=i;else c[g+(e*40|0)+36>>2]=i;e=c[f+(d*72|0)+48>>2]|0;c[j>>2]=e;do if((e|0)>0){h=f+(e*72|0)+40|0;if((c[h>>2]|0)==(d|0)){c[h>>2]=b;break}e=f+(e*72|0)+44|0;if((c[e>>2]|0)==(d|0))c[e>>2]=b}while(0);e=c[f+(d*72|0)+52>>2]|0;c[k>>2]=e;do if((e|0)>0){h=f+(e*72|0)+40|0;if((c[h>>2]|0)==(d|0)){c[h>>2]=b;break}e=f+(e*72|0)+44|0;if((c[e>>2]|0)==(d|0))c[e>>2]=b}while(0);r=f+(d*72|0)+24|0;c[o>>2]=c[r>>2];c[o+4>>2]=c[r+4>>2];c[o+8>>2]=c[r+8>>2];c[o+12>>2]=c[r+12>>2];c[f+(d*72|0)+68>>2]=2}}return}function wS(a,b,d){a=a|0;b=b|0;d=d|0;var e=0.0,f=0.0;e=+h[b+8>>3];f=+h[d+8>>3];do if(!(e>f+1.0e-07)){if(!(+B(+(e-f))<=1.0e-07)){c[a>>2]=c[d>>2];c[a+4>>2]=c[d+4>>2];c[a+8>>2]=c[d+8>>2];c[a+12>>2]=c[d+12>>2];break}if(+h[b>>3]>+h[d>>3]+1.0e-07){c[a>>2]=c[b>>2];c[a+4>>2]=c[b+4>>2];c[a+8>>2]=c[b+8>>2];c[a+12>>2]=c[b+12>>2];break}else{c[a>>2]=c[d>>2];c[a+4>>2]=c[d+4>>2];c[a+8>>2]=c[d+8>>2];c[a+12>>2]=c[d+12>>2];break}}else{c[a>>2]=c[b>>2];c[a+4>>2]=c[b+4>>2];c[a+8>>2]=c[b+8>>2];c[a+12>>2]=c[b+12>>2]}while(0);return}function xS(a,b,d){a=a|0;b=b|0;d=d|0;var e=0.0,f=0.0;e=+h[b+8>>3];f=+h[d+8>>3];do if(!(e>2]=c[d>>2];c[a+4>>2]=c[d+4>>2];c[a+8>>2]=c[d+8>>2];c[a+12>>2]=c[d+12>>2];break}if(+h[b>>3]<+h[d>>3]){c[a>>2]=c[b>>2];c[a+4>>2]=c[b+4>>2];c[a+8>>2]=c[b+8>>2];c[a+12>>2]=c[b+12>>2];break}else{c[a>>2]=c[d>>2];c[a+4>>2]=c[d+4>>2];c[a+8>>2]=c[d+8>>2];c[a+12>>2]=c[d+12>>2];break}}else{c[a>>2]=c[b>>2];c[a+4>>2]=c[b+4>>2];c[a+8>>2]=c[b+8>>2];c[a+12>>2]=c[b+12>>2]}while(0);return}function yS(a){a=a|0;var b=0;b=tH(8)|0;if(b|0){c[b+4>>2]=a;c[b>>2]=0}return b|0}function zS(a,b){a=a|0;b=b|0;if(b){b=yS(b)|0;c[b>>2]=a;a=b}return a|0}function AS(a){a=a|0;var b=0;do{b=a;a=c[a>>2]|0;C_(b)}while((a|0)!=0);return}function BS(){var a=0;a=tH(1992)|0;if(a|0)c[a>>2]=CS(a)|0;return a|0}function CS(a){a=a|0;var b=0;b=IS(a)|0;c[b+4>>2]=0;a=a+1972|0;c[a>>2]=(c[a>>2]|0)+1;return b|0}function DS(a){a=a|0;ES(a,c[a>>2]|0);C_(c[a>>2]|0);C_(a);return 0}function ES(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0;g=a+1980|0;h=a+1912|0;i=a+1936|0;a:do if((c[b+4>>2]|0)>0){d=0;while(1){if((d|0)==64)break a;e=b+8+(d*20|0)+16|0;f=c[e>>2]|0;if(f|0?(ES(a,f),C_(c[e>>2]|0),OS(b,d),c[g>>2]=(c[g>>2]|0)+-1,c[h>>2]|0):0)c[i>>2]=(c[i>>2]|0)+1;d=d+1|0}}else{d=0;while(1){if((d|0)==64)break a;if(c[b+8+(d*20|0)+16>>2]|0?(OS(b,d),c[g>>2]=(c[g>>2]|0)+-1,c[h>>2]|0):0)c[i>>2]=(c[i>>2]|0)+1;d=d+1|0}}while(0);return}function FS(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0;if(!b)qa(135797,135447,194,135455);e=c[b+4>>2]|0;if((e|0)<=-1)qa(135467,135447,195,135455);if(!d)qa(135739,135447,196,135455);i=a+1952|0;c[i>>2]=(c[i>>2]|0)+1;a:do if((e|0)>0){i=0;e=0;while(1){if((i|0)==64)break a;f=b+8+(i*20|0)+16|0;if((c[f>>2]|0)!=0?(TS(d,b+8+(i*20|0)|0)|0)!=0:0){g=FS(a,c[f>>2]|0,d)|0;if(!e)e=g;else{f=e;while(1){h=c[f>>2]|0;if(!h)break;else f=h}c[f>>2]=g}}i=i+1|0}}else{g=0;e=0;while(1){if((g|0)==64)break a;f=b+8+(g*20|0)|0;if((c[b+8+(g*20|0)+16>>2]|0)!=0?(TS(d,f)|0)!=0:0)e=zS(e,f)|0;g=g+1|0}}while(0);return e|0}function GS(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0;p=l;l=l+64|0;k=p+52|0;m=p+32|0;n=p+16|0;o=p;c[k>>2]=0;if(!((b|0)!=0&(e|0)!=0))qa(135653,135447,247,135481);if((f|0)>-1?(j=c[e>>2]|0,(c[j+4>>2]|0)>=(f|0)):0){g=0;while(1){if((g|0)>=2)break;if((c[b+(g<<2)>>2]|0)>(c[b+(g+2<<2)>>2]|0)){h=8;break}else g=g+1|0}if((h|0)==8)qa(135528,135447,250,135481);i=a+1912|0;g=a+1908|0;h=c[g>>2]|0;if(c[i>>2]|0){q=h|0?a+1924|0:a+1916|0;c[q>>2]=(c[q>>2]|0)+1}if(!h){q=a+1964|0;c[q>>2]=(c[q>>2]|0)+1}if(!(HS(a,b,d,j,k,f)|0))g=0;else{if(c[i>>2]|0){q=c[g>>2]|0?a+1948|0:a+1944|0;c[q>>2]=(c[q>>2]|0)+1}g=IS(a)|0;q=a+1976|0;c[q>>2]=(c[q>>2]|0)+1;q=c[e>>2]|0;c[g+4>>2]=(c[q+4>>2]|0)+1;LS(n,q);c[m>>2]=c[n>>2];c[m+4>>2]=c[n+4>>2];c[m+8>>2]=c[n+8>>2];c[m+12>>2]=c[n+12>>2];q=m+16|0;c[q>>2]=c[e>>2];NS(a,m,g,0)|0;LS(o,c[k>>2]|0);c[m>>2]=c[o>>2];c[m+4>>2]=c[o+4>>2];c[m+8>>2]=c[o+8>>2];c[m+12>>2]=c[o+12>>2];c[q>>2]=c[k>>2];NS(a,m,g,0)|0;c[e>>2]=g;g=a+1980|0;c[g>>2]=(c[g>>2]|0)+2;g=1}l=p;return g|0}qa(135493,135447,248,135481);return 0}function HS(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0;q=l;l=l+80|0;m=q+52|0;n=q+48|0;o=q+32|0;p=q+16|0;k=q;c[n>>2]=0;if(!((b|0)!=0&(e|0)!=0&(f|0)!=0))qa(135571,135447,311,135585);if((g|0)>-1?(i=e+4|0,h=c[i>>2]|0,(h|0)>=(g|0)):0){if(c[a+1912>>2]|0){h=c[a+1908>>2]|0?a+1948|0:a+1944|0;c[h>>2]=(c[h>>2]|0)+1;h=c[i>>2]|0}do if((h|0)>(g|0)){i=MS(b,e)|0;h=e+8+(i*20|0)+16|0;i=e+8+(i*20|0)|0;if(!(HS(a,b,d,c[h>>2]|0,n,g)|0)){SS(o,b,i);c[i>>2]=c[o>>2];c[i+4>>2]=c[o+4>>2];c[i+8>>2]=c[o+8>>2];c[i+12>>2]=c[o+12>>2];j=0;break}else{LS(p,c[h>>2]|0);c[i>>2]=c[p>>2];c[i+4>>2]=c[p+4>>2];c[i+8>>2]=c[p+8>>2];c[i+12>>2]=c[p+12>>2];j=c[n>>2]|0;c[m+16>>2]=j;LS(k,j);c[m>>2]=c[k>>2];c[m+4>>2]=c[k+4>>2];c[m+8>>2]=c[k+8>>2];c[m+12>>2]=c[k+12>>2];j=a+1980|0;c[j>>2]=(c[j>>2]|0)+1;j=NS(a,m,e,f)|0;break}}else if((h|0)==(g|0)){c[m>>2]=c[b>>2];c[m+4>>2]=c[b+4>>2];c[m+8>>2]=c[b+8>>2];c[m+12>>2]=c[b+12>>2];c[m+16>>2]=d;j=a+1980|0;c[j>>2]=(c[j>>2]|0)+1;j=NS(a,m,e,f)|0;break}else qa(135630,135447,341,135585);while(0);l=q;return j|0}qa(135598,135447,312,135585);return 0}function IS(a){a=a|0;a=a+1968|0;c[a>>2]=(c[a>>2]|0)+1;a=B_(1288)|0;JS(a);return a|0}function JS(a){a=a|0;var b=0;c[a>>2]=0;c[a+4>>2]=-1;b=0;while(1){if((b|0)==64)break;KS(a+8+(b*20|0)|0);b=b+1|0}return}function KS(a){a=a|0;PS(a);c[a+16>>2]=0;return}function LS(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0;i=l;l=l+32|0;g=i+16|0;h=i;if(!b)qa(135797,135636,99,135643);PS(g);d=1;f=0;while(1){if((f|0)==64)break;do if(c[b+8+(f*20|0)+16>>2]|0){e=b+8+(f*20|0)|0;if(!d){SS(h,g,e);c[g>>2]=c[h>>2];c[g+4>>2]=c[h+4>>2];c[g+8>>2]=c[h+8>>2];c[g+12>>2]=c[h+12>>2];d=0;break}else{c[g>>2]=c[e>>2];c[g+4>>2]=c[e+4>>2];c[g+8>>2]=c[e+8>>2];c[g+12>>2]=c[e+12>>2];d=0;break}}while(0);f=f+1|0}c[a>>2]=c[g>>2];c[a+4>>2]=c[g+4>>2];c[a+8>>2]=c[g+8>>2];c[a+12>>2]=c[g+12>>2];l=i;return}function MS(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0;k=l;l=l+32|0;i=k+16|0;j=k;if(!((a|0)!=0&(b|0)!=0))qa(135653,135636,125,135660);d=0;e=0;f=0;g=1;h=0;while(1){if((h|0)==64)break;if(c[b+8+(h*20|0)+16>>2]|0){n=b+8+(h*20|0)|0;p=RS(n)|0;SS(j,a,n);c[i>>2]=c[j>>2];c[i+4>>2]=c[j+4>>2];c[i+8>>2]=c[j+8>>2];c[i+12>>2]=c[j+12>>2];n=(RS(i)|0)-p|0;m=(g|0)!=0|(n|0)<(f|0);o=m|(p|0)<(e|0)&(n|0)==(f|0);d=o?h:d;e=o?p:e;f=o?n:f;g=m?0:g}h=h+1|0}l=k;return d|0}function NS(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0;if(!b)qa(135819,135636,167,135671);if(!d)qa(135797,135636,168,135671);do if((c[d>>2]|0)<64){a=0;while(1){if((a|0)>=64){e=10;break}if(!(c[d+8+(a*20|0)+16>>2]|0)){e=8;break}a=a+1|0}if((e|0)==8){f=d+8+(a*20|0)|0;c[f>>2]=c[b>>2];c[f+4>>2]=c[b+4>>2];c[f+8>>2]=c[b+8>>2];c[f+12>>2]=c[b+12>>2];c[f+16>>2]=c[b+16>>2];f=0;g=d;break}else if((e|0)==10)qa(135681,135636,178,135671)}else{if(c[a+1912>>2]|0){h=c[a+1908>>2]|0?a+1948|0:a+1944|0;c[h>>2]=(c[h>>2]|0)+1}if(!e)qa(135694,135636,187,135671);else{US(a,d,b,e);f=1;g=(c[d+4>>2]|0)==0?a+1972|0:a+1976|0;break}}while(0);c[g>>2]=(c[g>>2]|0)+1;return f|0}function OS(a,b){a=a|0;b=b|0;if(!((a|0)!=0&b>>>0<64))qa(135698,135636,201,135726);if(!(c[a+8+(b*20|0)+16>>2]|0))qa(136220,135636,202,135726);else{KS(a+8+(b*20|0)|0);c[a>>2]=(c[a>>2]|0)+-1;return}}function PS(a){a=a|0;var b=0;b=0;while(1){if((b|0)==4)break;c[a+(b<<2)>>2]=0;b=b+1|0}return}function QS(a){a=a|0;var b=0,d=0,e=0;e=l;l=l+16|0;d=e;c[d>>2]=1;c[d+8>>2]=-1;b=1;while(1){if((b|0)==2)break;c[d+(b+2<<2)>>2]=0;c[d+(b<<2)>>2]=0;b=b+1|0}c[a>>2]=c[d>>2];c[a+4>>2]=c[d+4>>2];c[a+8>>2]=c[d+8>>2];c[a+12>>2]=c[d+12>>2];l=e;return}function RS(a){a=a|0;var b=0,d=0,e=0;if(!a)qa(135739,135741,128,135753);a:do if((c[a>>2]|0)>(c[a+8>>2]|0))b=0;else{b=1;d=0;while(1){if((d|0)==2)break a;e=O(c[a+(d+2<<2)>>2]|0,b)|0;b=e-(c[a+(d<<2)>>2]|0)|0;d=d+1|0}}while(0);return b|0}function SS(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0;g=l;l=l+16|0;f=g;if(!((b|0)!=0&(d|0)!=0))qa(135762,135741,195,135770);do if((c[b>>2]|0)>(c[b+8>>2]|0)){c[a>>2]=c[d>>2];c[a+4>>2]=c[d+4>>2];c[a+8>>2]=c[d+8>>2];c[a+12>>2]=c[d+12>>2]}else{if((c[d>>2]|0)>(c[d+8>>2]|0)){c[a>>2]=c[b>>2];c[a+4>>2]=c[b+4>>2];c[a+8>>2]=c[b+8>>2];c[a+12>>2]=c[b+12>>2];break}else e=0;while(1){if((e|0)==2)break;j=c[b+(e<<2)>>2]|0;h=c[d+(e<<2)>>2]|0;c[f+(e<<2)>>2]=(j|0)<(h|0)?j:h;h=e+2|0;j=c[b+(h<<2)>>2]|0;i=c[d+(h<<2)>>2]|0;c[f+(h<<2)>>2]=(j|0)>(i|0)?j:i;e=e+1|0}c[a>>2]=c[f>>2];c[a+4>>2]=c[f+4>>2];c[a+8>>2]=c[f+8>>2];c[a+12>>2]=c[f+12>>2]}while(0);l=g;return}function TS(a,b){a=a|0;b=b|0;var d=0,e=0;if((a|0)!=0&(b|0)!=0)d=0;else qa(135782,135741,216,135789);while(1){if((d|0)>=2){d=1;break}e=d+2|0;if((c[a+(d<<2)>>2]|0)>(c[b+(e<<2)>>2]|0)){d=0;break}if((c[b+(d<<2)>>2]|0)>(c[a+(e<<2)>>2]|0)){d=0;break}else d=d+1|0}return d|0}function US(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,h=0,i=0,j=0;if(!b)qa(135797,135799,40,135809);if(!d)qa(135819,135799,41,135809);j=a+1912|0;if(c[j>>2]|0){i=c[a+1908>>2]|0?a+1932|0:a+1928|0;c[i>>2]=(c[i>>2]|0)+1}h=b+4|0;i=c[h>>2]|0;VS(a,b,d);d=a+1324|0;WS(a);f=RS(a+1852|0)|0;f=(RS(a+1868|0)|0)+f|0;if(c[j>>2]|0?(f|0)!=0&(c[a+1908>>2]|0)==0:0){j=a+1960|0;g[j>>2]=+((c[a+1320>>2]|0)>>>0)/+(f|0)+ +g[j>>2]}j=IS(a)|0;c[e>>2]=j;c[h>>2]=i;c[j+4>>2]=i;XS(a,b,j,d);if(((c[c[e>>2]>>2]|0)+(c[b>>2]|0)|0)==65)return;else qa(135821,135799,86,135809)}function VS(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0;h=l;l=l+16|0;g=h;if(!b)qa(135797,135799,106,136208);if(!d)qa(135819,135799,107,136208);else e=0;while(1){if((e|0)>=64)break;if(!(c[b+8+(e*20|0)+16>>2]|0)){f=7;break}j=b+8+(e*20|0)|0;i=a+4+(e*20|0)|0;c[i>>2]=c[j>>2];c[i+4>>2]=c[j+4>>2];c[i+8>>2]=c[j+8>>2];c[i+12>>2]=c[j+12>>2];c[i+16>>2]=c[j+16>>2];e=e+1|0}if((f|0)==7)qa(136220,135799,111,136208);e=a+4|0;j=a+1284|0;c[j>>2]=c[d>>2];c[j+4>>2]=c[d+4>>2];c[j+8>>2]=c[d+8>>2];c[j+12>>2]=c[d+12>>2];c[j+16>>2]=c[d+16>>2];d=a+1304|0;c[d>>2]=c[e>>2];c[d+4>>2]=c[e+4>>2];c[d+8>>2]=c[e+8>>2];c[d+12>>2]=c[e+12>>2];e=1;while(1){if((e|0)==65)break;SS(g,d,a+4+(e*20|0)|0);c[d>>2]=c[g>>2];c[d+4>>2]=c[g+4>>2];c[d+8>>2]=c[g+8>>2];c[d+12>>2]=c[g+12>>2];e=e+1|0}c[a+1320>>2]=RS(d)|0;JS(b);l=h;return}function WS(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0;u=l;l=l+48|0;i=u+32|0;k=u+16|0;m=u;YS(a);ZS(a);q=a+1844|0;s=a+1848|0;t=a+1892|0;n=a+1852|0;o=a+1884|0;p=a+1868|0;j=a+1888|0;f=0;e=0;while(1){d=c[q>>2]|0;b=c[s>>2]|0;if((b+d|0)>=65)break;h=65-(c[t>>2]|0)|0;if((d|0)<(h|0)&(b|0)<(h|0)){g=-1;h=0}else{r=12;break}while(1){if((h|0)==65)break;if(!(c[a+1584+(h<<2)>>2]|0)){v=a+4+(h*20|0)|0;SS(k,v,n);c[i>>2]=c[k>>2];c[i+4>>2]=c[k+4>>2];c[i+8>>2]=c[k+8>>2];c[i+12>>2]=c[k+12>>2];b=RS(i)|0;d=c[o>>2]|0;SS(m,v,p);c[i>>2]=c[m>>2];c[i+4>>2]=c[m+4>>2];c[i+8>>2]=c[m+8>>2];c[i+12>>2]=c[m+12>>2];v=RS(i)|0;b=v-(c[j>>2]|0)+(d-b)|0;d=(b|0)>-1;b=d?b:0-b|0;d=(d^1)&1;if((b|0)<=(g|0))if((b|0)==(g|0)){v=(c[a+1844+(d<<2)>>2]|0)<(c[a+1844+(f<<2)>>2]|0);b=g;d=v?d:f;e=v?h:e}else{b=g;d=f}else e=h}else{b=g;d=f}g=b;h=h+1|0;f=d}_S(a,e,f)}if((r|0)==12){b=(d|0)>=(65-(c[t>>2]|0)|0)&1;d=0;while(1){if((d|0)==65)break;if(!(c[a+1584+(d<<2)>>2]|0))_S(a,d,b);d=d+1|0}d=c[q>>2]|0;b=c[s>>2]|0}if((b+d|0)!=65)qa(135964,135799,210,136050);v=c[t>>2]|0;if((d|0)<(v|0)|(b|0)<(v|0))qa(136061,135799,212,136050);else{l=u;return}}function XS(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0;if(!b)qa(135797,135799,297,135861);if(!d)qa(135871,135799,298,135861);if(!e)qa(135873,135799,299,135861);else f=0;while(1){if((f|0)>=65){e=14;break}e=c[a+1324+(f<<2)>>2]|0;if(e>>>0>=2){e=9;break}switch(e|0){case 0:{NS(a,a+4+(f*20|0)|0,b,0)|0;break}case 1:{NS(a,a+4+(f*20|0)|0,d,0)|0;break}default:{}}f=f+1|0}if((e|0)==9)qa(135875,135799,303,135861);else if((e|0)==14)return}function YS(a){a=a|0;var b=0,d=0,e=0,f=0;d=l;l=l+16|0;e=d;c[a+1848>>2]=0;c[a+1844>>2]=0;b=a+1852|0;f=a+1868|0;QS(e);c[f>>2]=c[e>>2];c[f+4>>2]=c[e+4>>2];c[f+8>>2]=c[e+8>>2];c[f+12>>2]=c[e+12>>2];c[b>>2]=c[e>>2];c[b+4>>2]=c[e+4>>2];c[b+8>>2]=c[e+8>>2];c[b+12>>2]=c[e+12>>2];c[a+1888>>2]=0;c[a+1884>>2]=0;b=0;while(1){if((b|0)==65)break;c[a+1584+(b<<2)>>2]=0;c[a+1324+(b<<2)>>2]=-1;b=b+1|0}l=d;return}function ZS(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0;o=l;l=l+304|0;k=o+32|0;m=o+16|0;n=o;b=0;while(1){if((b|0)==65)break;c[k+(b<<2)>>2]=RS(a+4+(b*20|0)|0)|0;b=b+1|0}b=0;d=0;e=0;g=0;a:while(1){if((g|0)==64)break;i=g+1|0;j=a+4+(g*20|0)|0;h=k+(g<<2)|0;f=i;while(1){if((f|0)==65){g=i;continue a}SS(n,j,a+4+(f*20|0)|0);c[m>>2]=c[n>>2];c[m+4>>2]=c[n+4>>2];c[m+8>>2]=c[n+8>>2];c[m+12>>2]=c[n+12>>2];p=RS(m)|0;p=p-(c[h>>2]|0)-(c[k+(f<<2)>>2]|0)|0;q=p>>>0>e>>>0;r=q?f:b;f=f+1|0;b=r;d=q?g:d;e=q?p:e}}_S(a,d,0);_S(a,b,1);l=o;return}function _S(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0;i=l;l=l+16|0;h=i;e=a+1584+(b<<2)|0;if(c[e>>2]|0)qa(136164,135799,257,136199);c[a+1324+(b<<2)>>2]=d;c[e>>2]=1;g=a+1844+(d<<2)|0;f=a+1852+(d<<4)|0;e=a+4+(b*20|0)|0;if(!(c[g>>2]|0)){c[f>>2]=c[e>>2];c[f+4>>2]=c[e+4>>2];c[f+8>>2]=c[e+8>>2];c[f+12>>2]=c[e+12>>2]}else{SS(h,e,f);c[f>>2]=c[h>>2];c[f+4>>2]=c[h+4>>2];c[f+8>>2]=c[h+8>>2];c[f+12>>2]=c[h+12>>2]}c[a+1884+(d<<2)>>2]=RS(f)|0;c[g>>2]=(c[g>>2]|0)+1;l=i;return}function $S(){var e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;t=l;l=l+1200|0;r=t+800|0;g=t;c[46627]=0;c[46628]=-2;f=r;i=200;n=g;p=0;q=0;o=r;a:while(1){b[o>>1]=p;if((f+(i<<1)+-2|0)>>>0>o>>>0)k=i;else{m=o-f>>1;e=m+1|0;if(i>>>0>9999){s=95;break}k=i<<1;k=k>>>0<1e4?k:1e4;h=B_(k*6|3)|0;if(h){E3(h|0,f|0,e<<1|0)|0;i=h+(k>>>1<<2)|0;E3(i|0,n|0,e<<2|0)|0;if((f|0)==(r|0)){e=0;f=h}else{C_(f);e=0;f=h}}else{e=4;i=n}j=(e|0)==0;h=f+(m<<1)|0;switch((j?((f+(k<<1)+-2|0)>>>0>h>>>0?0:9):e)&15){case 9:{e=1;s=96;break a}case 4:{s=95;break a}case 0:{g=j?i+(m<<2)|0:g;n=i;o=j?h:o;break}default:{e=0;break a}}}if((p|0)==31){e=0;s=96;break}e=b[65430+(p<<1)>>1]|0;j=e<<16>>16;do if(e<<16>>16!=-82){h=c[46628]|0;if((h|0)==-2){h=oU()|0;c[46628]=h}if((h|0)>=1)if(h>>>0<296)i=d[136239+h>>0]|0;else i=2;else{c[46628]=0;i=0}h=i+j|0;if(h>>>0<=271?(i|0)==(a[136535+h>>0]|0):0){p=a[136807+h>>0]|0;e=p<<24>>24;if(p<<24>>24<1){h=0-e|0;s=23;break}else{c[46628]=-2;g=g+4|0;c[g>>2]=c[46629];j=(q|0)==0?0:q+-1|0;h=o;break}}else s=22}else s=22;while(0);if((s|0)==22){s=0;p=a[137079+p>>0]|0;h=p&255;if(!(p<<24>>24)){h=c[46628]|0;b:do switch(q|0){case 0:{c[46627]=(c[46627]|0)+1;uT(140679);h=o;break}case 3:if((h|0)<1)if(!h){e=1;s=96;break a}else{h=o;break b}else{c[46628]=-2;h=o;break b}default:h=o}while(0);while(1){if(e<<16>>16==8)break;if((h|0)==(f|0)){e=1;s=96;break a}e=h+-2|0;g=g+-4|0;h=e;e=b[65430+(b[e>>1]<<1)>>1]|0}g=g+4|0;c[g>>2]=c[46629];e=1;j=3}else s=23}do if((s|0)==23){s=0;j=d[137195+h>>0]|0;e=c[g+(1-j<<2)>>2]|0;do switch(h|0){case 4:{s=26;break a}case 2:{c[46630]=aT(c[g+-4>>2]|0,2)|0;break}case 3:{c[46630]=aT(c[g+-4>>2]|0,1)|0;break}case 5:{e=cT()|0;break}case 8:{dT(c[46631]|0);break}case 9:{eT(c[g>>2]|0);break}case 18:{fT(c[g>>2]|0);break}case 19:{gT();break}case 20:{fT(c[g>>2]|0);break}case 21:{gT();break}case 22:{fT(c[g>>2]|0);break}case 23:{gT();break}case 24:{fT(c[g>>2]|0);break}case 25:{gT();break}case 26:{fT(c[g>>2]|0);break}case 27:{gT();break}case 28:{fT(c[g>>2]|0);break}case 29:{gT();break}case 30:{fT(c[g>>2]|0);break}case 31:{gT();break}case 32:{fT(c[g>>2]|0);break}case 33:{gT();break}case 34:{e=c[g+-4>>2]|0;break}case 35:{e=c[g>>2]|0;break}case 38:{e=c[46631]|0;i=c[e+4>>2]|0;if(i>>>0>=(c[e+8>>2]|0)>>>0){Tw(e,1)|0;i=c[46631]|0;e=i;i=c[i+4>>2]|0}a[i>>0]=0;p=c[e>>2]|0;c[e+4>>2]=p;if(hT(p)|0){s=51;break a}c[(c[g>>2]|0)+80>>2]=c[46632];e=Bw(55928,c[4554]|0)|0;c[(c[g>>2]|0)+84>>2]=e;c[46632]=c[g>>2];c[(c[g>>2]|0)+108>>2]=c[c[46633]>>2];e=c[g>>2]|0;break}case 39:{e=c[46631]|0;i=c[e+4>>2]|0;if(i>>>0>=(c[e+8>>2]|0)>>>0){Tw(e,1)|0;i=c[46631]|0;e=i;i=c[i+4>>2]|0}a[i>>0]=0;p=c[e>>2]|0;c[e+4>>2]=p;if(hT(p)|0){s=56;break a}e=c[46632]|0;c[46632]=c[e+80>>2];break}case 40:{e=c[g>>2]|0;break}case 41:{e=c[g+-4>>2]|0;break}case 42:{e=c[g+-4>>2]|0;break}case 43:{e=c[g+-4>>2]|0;break}case 44:{e=c[g+-4>>2]|0;break}case 45:{e=c[g+-4>>2]|0;break}case 48:{e=c[g>>2]|0;break}case 49:{e=c[g>>2]|0;break}case 50:{a[(c[g+-8>>2]|0)+12>>0]=1;e=c[g>>2]|0;break}case 51:{iT();break}case 52:{e=jT()|0;break}case 53:{e=c[g>>2]|0;break}case 54:{e=c[g>>2]|0;break}case 55:{e=(c[g+-8>>2]|0)+100|0;a[e>>0]=a[e>>0]|1;e=c[g>>2]|0;break}case 56:{kT(c[g+-4>>2]|0,c[g>>2]|0,1);break}case 57:{e=c[g+-12>>2]|0;break}case 58:{kT(c[g+-4>>2]|0,c[g>>2]|0,2);break}case 59:{e=c[g+-12>>2]|0;break}case 60:{kT(c[g+-4>>2]|0,c[g>>2]|0,3);break}case 61:{e=c[g+-12>>2]|0;break}case 62:{kT(c[g>>2]|0,cT()|0,2);break}case 63:{e=c[g+-8>>2]|0;break}case 64:{e=c[g+-4>>2]|0;break}case 65:{e=c[g>>2]|0;break}default:{}}while(0);i=0-j|0;p=g+(i<<2)|0;i=o+(i<<1)|0;g=p+4|0;c[p+4>>2]=e;e=(d[137367+h>>0]|0)+-41|0;p=b[i>>1]|0;h=p+(b[65662+(e<<1)>>1]|0)|0;if(h>>>0<272?(a[136535+h>>0]|0)==(p|0):0){e=a[136807+h>>0]|0;j=q;h=i;break}e=a[137437+e>>0]|0;j=q;h=i}while(0);i=k;p=e;q=j;o=h+2|0}if((s|0)==26){bT();e=1;s=96}else if((s|0)==51){uT(137265);bT();e=1;s=96}else if((s|0)==56){uT(137316);bT();e=1;s=96}else if((s|0)==95){uT(137476);e=2;s=96}if((s|0)==96)if((f|0)!=(r|0))C_(f);l=t;return e|0}function aT(b,d){b=b|0;d=d|0;var e=0;e=tH(8)|0;a[e+4>>0]=d;c[e>>2]=b;return e|0}function bT(){var a=0,b=0;a=c[46632]|0;b=c[46630]|0;if(b|0){WQ(b,1);c[46630]=0}c[13995]=67;while(1){if(!a)break;b=c[a+80>>2]|0;oT(a);a=b}c[13995]=56;c[14004]=68;b=c[46635]|0;nb[c[b>>2]&63](b,0,64)|0;c[14004]=56;c[14013]=69;b=c[46636]|0;nb[c[b>>2]&63](b,0,64)|0;c[14013]=56;rT();return}function cT(){var a=0,d=0,e=0,f=0,g=0,h=0;e=c[46636]|0;f=tH(40)|0;if(Dw(c[46635]|0)|0)eT(0);a=Dw(e)|0;b[f+4>>1]=a;a:do if(!a)a=e;else{c[f>>2]=tH(a*24|0)|0;a=0;d=nb[c[e>>2]&63](e,0,128)|0;while(1){if(!d){a=e;break a}g=(c[f>>2]|0)+(a*24|0)|0;h=d+8|0;c[g>>2]=c[h>>2];c[g+4>>2]=c[h+4>>2];c[g+8>>2]=c[h+8>>2];c[g+12>>2]=c[h+12>>2];c[g+16>>2]=c[h+16>>2];c[g+20>>2]=c[h+20>>2];a=a+1|0;d=nb[c[e>>2]&63](e,d,8)|0}}while(0);nb[c[a>>2]&63](e,0,64)|0;return f|0}function dT(b){b=b|0;var d=0,e=0,f=0;e=tH(64)|0;f=b+4|0;d=c[f>>2]|0;if(d>>>0>=(c[b+8>>2]|0)>>>0){Tw(b,1)|0;d=c[f>>2]|0}a[d>>0]=0;b=c[b>>2]|0;c[f>>2]=b;c[e+8>>2]=m1(b)|0;c[e+12>>2]=c[c[46633]>>2];f=c[46635]|0;nb[c[f>>2]&63](f,e,1)|0;return}function eT(d){d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0;i=tH(32)|0;j=c[46635]|0;e=Dw(j)|0;k=i+8|0;a[i+14>>0]=d;a:do if(!e){c[k>>2]=tH(56)|0;b[i+12>>1]=1;h=m1(191979)|0;k=c[k>>2]|0;c[k>>2]=h;c[k+4>>2]=c[c[46633]>>2]}else{b[i+12>>1]=e;c[k>>2]=tH(e*56|0)|0;d=0;e=zw(j)|0;while(1){if(!e)break a;f=(c[k>>2]|0)+(d*56|0)|0;g=e+8|0;h=f+56|0;do{c[f>>2]=c[g>>2];f=f+4|0;g=g+4|0}while((f|0)<(h|0));d=d+1|0;e=c[e>>2]|0}}while(0);nb[c[j>>2]&63](j,0,64)|0;k=c[46636]|0;nb[c[k>>2]&63](k,i,1)|0;return}function fT(a){a=a|0;var b=0,d=0.0,e=0,f=0,g=0,i=0,j=0;j=l;l=l+32|0;g=j;i=tH(8)|0;f=c[c[46633]>>2]|0;c[g>>2]=c[a>>2];c[g+4>>2]=c[a+4>>2];c[g+8>>2]=c[a+8>>2];c[g+12>>2]=c[a+12>>2];c[g+16>>2]=c[a+16>>2];c[g+20>>2]=c[a+20>>2];c[g+24>>2]=c[a+24>>2];c[g+28>>2]=c[a+28>>2];if(f|0){a=g+4|0;if((c[a>>2]|0)==0?(b=c[f+4>>2]|0,b|0):0)c[a>>2]=b;a=g+16|0;if(+h[a>>3]<0.0?(d=+h[f+16>>3],d>=0.0):0)h[a>>3]=d;if((c[g>>2]|0)==0?(e=c[f>>2]|0,e|0):0)c[g>>2]=e;a=c[f+24>>2]&127;if(a|0){f=g+24|0;e=c[f>>2]|0;c[f>>2]=e&127|a|e&-128}}f=c[(c[46634]|0)+144>>2]|0;c[i>>2]=nb[c[f>>2]&63](f,g,1)|0;c[i+4>>2]=c[46633];c[46633]=i;l=j;return}function gT(){var a=0,b=0;b=c[46633]|0;a=c[b+4>>2]|0;C_(b);c[46633]=a;return}function hT(b){b=b|0;var c=0;while(1){c=a[b>>0]|0;if(!(c<<24>>24)){b=0;break}if(c<<24>>24==32)b=b+1|0;else{b=1;break}}return b|0}function iT(){var b=0,d=0,e=0;e=Bw(55964,c[4554]|0)|0;b=c[46632]|0;d=tH(16)|0;c[d+8>>2]=e;if(a[b+112>>0]&2)a[d+12>>0]=1;e=c[b+84>>2]|0;nb[c[e>>2]&63](e,d,1)|0;return}function jT(){var a=0;a=c[(c[46632]|0)+84>>2]|0;return nb[c[a>>2]&63](a,0,256)|0}function kT(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0;g=tH(16)|0;f=c[46632]|0;h=c[f+84>>2]|0;h=c[(nb[c[h>>2]&63](h,0,256)|0)+8>>2]|0;c[g+8>>2]=b;nb[c[h>>2]&63](h,g,1)|0;a[b+92>>0]=e;if(a[f+112>>0]&1)a[b+100>>0]=1;c[b+88>>2]=d;return}function lT(a,b,c){a=a|0;b=b|0;c=c|0;C_(b);return}function mT(a,b,d){a=a|0;b=b|0;d=d|0;xw(c[b+8>>2]|0)|0;C_(b);return}function nT(a,b,d){a=a|0;b=b|0;d=d|0;sT(c[b+8>>2]|0);C_(b);return}function oT(a){a=a|0;xw(c[a+84>>2]|0)|0;TQ(a);C_(a);return}function pT(a,b,d){a=a|0;b=b|0;d=d|0;C_(c[b+8>>2]|0);C_(b);return}function qT(a,d,e){a=a|0;d=d|0;e=e|0;var f=0,g=0,h=0;g=d+12|0;a=b[g>>1]|0;if(a<<16>>16){h=d+8|0;e=0;f=c[h>>2]|0;while(1){if((e|0)>=(a<<16>>16|0))break;C_(c[f>>2]|0);e=e+1|0;f=f+56|0;a=b[g>>1]|0}C_(c[h>>2]|0)}C_(d);return}function rT(){var a=0,b=0;a=c[46633]|0;while(1){b=c[a+4>>2]|0;if(!b)break;C_(a);a=b}return}function sT(b){b=b|0;var d=0;d=b+88|0;switch(a[b+92>>0]|0){case 1:{oT(c[d>>2]|0);break}case 2:{UQ(c[d>>2]|0);break}default:{}}TQ(b);C_(b);return}function tT(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0;f=l;l=l+160|0;e=f+8|0;g=f;c[g>>2]=0;c[g+4>>2]=0;c[46633]=g;c[46632]=0;c[46630]=0;c[46634]=c[(c[(c[d+52>>2]|0)+16>>2]|0)+144>>2];c[46635]=Bw(56e3,c[4554]|0)|0;c[46636]=Bw(56036,c[4554]|0)|0;Sw(e,128,f+24|0);c[46631]=e;if(!(xT(a,e,d)|0)){$S()|0;c[b>>2]=nU()|0;a=c[46630]|0}else{c[b>>2]=2;a=0}xw(c[46635]|0)|0;xw(c[46636]|0)|0;c[46635]=0;c[46636]=0;c[46633]=0;Ww(e);l=f;return a|0}function uT(b){b=b|0;var d=0,e=0,f=0;e=l;l=l+16|0;d=e;if(!(a[186581]|0)){a[186581]=1;f=vT()|0;c[d>>2]=b;c[d+4>>2]=f;Ow(1,137493,d)|0;wT()}l=e;return}function vT(){return cX(c[46637]|0)|0}function wT(){var b=0,d=0,e=0,f=0;f=l;l=l+16|0;e=f;b=c[46640]|0;c[b+4>>2]=c[b>>2];d=c[46649]|0;if((d|0)>0){Uw(b,c[46647]|0,d)|0;b=c[46640]|0}Uw(b,c[46646]|0,c[46648]|0)|0;d=c[46640]|0;b=c[d+4>>2]|0;if(b>>>0>=(c[d+8>>2]|0)>>>0){Tw(d,1)|0;b=c[46640]|0;d=b;b=c[b+4>>2]|0}c[d+4>>2]=b+1;a[b>>0]=0;b=c[46640]|0;d=c[b>>2]|0;c[b+4>>2]=d;c[e>>2]=d;Ow(3,137509,e)|0;l=f;return}function xT(b,e,f){b=b|0;e=e|0;f=f|0;c[46640]=e;Sw(186564,128,0);c[46638]=b;a[186583]=0;a[186580]=0;a[186581]=0;c[46648]=0;c[46649]=0;a[186582]=1;f=f+52|0;e=CV(gH(d[(c[(c[f>>2]|0)+16>>2]|0)+115>>0]|0)|0)|0;c[46637]=e;RW(e,c[(c[(c[f>>2]|0)+16>>2]|0)+144>>2]|0);SW(c[46637]|0,70,27);TW(c[46637]|0,71);return 0}function yT(b,d,e){b=b|0;d=d|0;e=e|0;do if(!(N$(d,137521)|0)){c[46629]=CT(e)|0;a[186582]=0;c[46639]=286}else{if(N$(d,137527)|0?N$(d,137530)|0:0){if(!(N$(d,137533)|0)){a[186582]=1;c[46629]=DT(e)|0;c[46639]=287;break}if(!(N$(d,137541)|0)){c[46629]=ET(b,e,0)|0;c[46639]=288;break}if(!(N$(d,137546)|0)){c[46629]=ET(b,0,1)|0;c[46639]=290;break}if(!(N$(d,137562)|0)){c[46629]=ET(b,0,32)|0;c[46639]=295;break}if(!(N$(d,137548)|0)){c[46629]=ET(b,0,4)|0;c[46639]=291;break}if(!(N$(d,137550)|0)){c[46629]=ET(b,0,64)|0;c[46639]=292;break}if(!(N$(d,137552)|0)){c[46629]=ET(b,0,2)|0;c[46639]=289;break}if(!(N$(d,137554)|0)){c[46629]=ET(b,0,8)|0;c[46639]=293;break}if(!(N$(d,137558)|0)){c[46629]=ET(b,0,16)|0;c[46639]=294;break}if(!(N$(d,137564)|0)){FT(e);c[46639]=283;break}if(!(N$(d,137567)|0)){c[46639]=277;break}if(!(N$(d,137570)|0)){c[46639]=280;break}if(!(N$(d,137573)|0)){c[46629]=GT(e)|0;c[46639]=285;break}if(!(N$(d,137536)|0)){c[46639]=262;break}else{BT(d);break}}a[186582]=0;c[46639]=260}while(0);return}function zT(b,d){b=b|0;d=d|0;do if(!(N$(d,137521)|0)){c[46639]=264;a[186582]=1}else{if(N$(d,137527)|0?N$(d,137530)|0:0){if(!(N$(d,137533)|0)){c[46639]=265;a[186582]=0;break}if(!(N$(d,137536)|0)){c[46639]=263;break}if(!(N$(d,137541)|0)){c[46639]=266;break}if(!(N$(d,137546)|0)){c[46639]=270;break}if(!(N$(d,137548)|0)){c[46639]=271;break}if(!(N$(d,137550)|0)){c[46639]=272;break}if(!(N$(d,137552)|0)){c[46639]=269;break}if(!(N$(d,137554)|0)){c[46639]=273;break}if(!(N$(d,137558)|0)){c[46639]=274;break}if(!(N$(d,137562)|0)){c[46639]=275;break}if(!(N$(d,137564)|0)){c[46639]=(c[46639]|0)==283?282:258;break}if(!(N$(d,137567)|0)){c[46639]=(c[46639]|0)==277?276:278;break}if(!(N$(d,137570)|0)){c[46639]=(c[46639]|0)==280?279:281;break}if(!(N$(d,137573)|0)){c[46639]=(c[46639]|0)==285?284:259;break}else{BT(d);break}}c[46639]=261}while(0);return}function AT(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0;if(a[186582]|0){b=0;while(1){if(!e)break;h=d+1|0;g=a[d>>0]|0;if((g&255)>31){d=c[46640]|0;f=c[d+4>>2]|0;if(f>>>0>=(c[d+8>>2]|0)>>>0){Tw(d,1)|0;f=c[46640]|0;d=f;f=c[f+4>>2]|0}c[d+4>>2]=f+1;a[f>>0]=g;b=b+1|0}d=h;e=e+-1|0}if(b|0)c[46639]=267}return}function BT(b){b=b|0;var d=0,e=0,f=0;d=l;l=l+16|0;e=d;c[46639]=268;a[186581]=1;f=vT()|0;c[e>>2]=b;c[e+4>>2]=f;Ow(1,137577,e)|0;l=d;return}function CT(b){b=b|0;var d=0;d=tH(120)|0;c[d+100>>2]=-1;a[d+88>>0]=-1;HT(d,56296,22,b,138529);return d|0}function DT(a){a=a|0;var c=0;c=tH(104)|0;b[c+80>>1]=1;b[c+82>>1]=1;HT(c,56120,22,a,137883);return c|0}function ET(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;f=l;l=l+32|0;e=f;c[e>>2]=0;c[e+4>>2]=0;c[e+8>>2]=0;c[e+12>>2]=0;c[e+16>>2]=0;c[e+20>>2]=0;c[e+24>>2]=0;c[e+28>>2]=0;h[e+16>>3]=-1.0;c[e+24>>2]=d&127;if(b|0)HT(e,56096,3,b,137734);d=c[a+144>>2]|0;e=nb[c[d>>2]&63](d,e,1)|0;l=f;return e|0}function FT(a){a=a|0;c[46629]=0;HT(186516,56088,1,a,137670);return}function GT(a){a=a|0;var b=0;b=tH(40)|0;HT(b,56072,2,a,137616);return b|0}function HT(b,e,f,g,h){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,m=0,n=0,o=0;o=l;l=l+16|0;n=o;m=o+8|0;while(1){k=c[g>>2]|0;if(!k)break;i=c[g+4>>2]|0;c[m>>2]=k;j=d2(m,e,f,8,102)|0;if(!j){c[n>>2]=k;c[n+4>>2]=h;Ow(0,137622,n)|0;i=1}else{i=lb[c[j+4>>2]&127](b,i)|0;i=(i|(d[186580]|0))&255}a[186580]=i;g=g+8|0}l=o;return}function IT(a,b){a=a|0;b=b|0;return N$(c[a>>2]|0,c[b>>2]|0)|0}function JT(a,b){a=a|0;b=b|0;c[a+36>>2]=m1(b)|0;return 0}function KT(a,b){a=a|0;b=b|0;c[a+32>>2]=m1(b)|0;return 0}function LT(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0;i=l;l=l+16|0;g=i;f=(H0(a[d>>0]|0)|0)<<24>>24;switch(f|0){case 82:{e=d+1|0;if(!(N$(e,137681)|0)){c[b>>2]=114;e=0}else h=5;break}case 76:{h=6;break}default:{e=d+1|0;h=5}}do if((h|0)==5)if(!(N$(e,137686)|0))h=6;else{if((f|0)!=67?(N$(e,137690)|0)==0:0){c[g>>2]=d;Ow(0,137696,g)|0;e=1;break}c[b>>2]=110;e=0}while(0);if((h|0)==6){c[b>>2]=108;e=0}l=i;return e|0}function MT(a,b){a=a|0;b=b|0;c[a+4>>2]=b;return 0}function NT(a,b){a=a|0;b=b|0;c[a>>2]=b;return 0}function OT(a,b){a=a|0;b=b|0;var d=0,e=0;e=l;l=l+16|0;d=e;if(!(PT(b,137763,0,255,d)|0)){h[a+16>>3]=+(c[d>>2]|0);a=0}else a=1;l=e;return a|0}function PT(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,m=0;k=l;l=l+48|0;j=k+24|0;i=k+8|0;h=k;m=k+36|0;g=h1(a,m,10)|0;do if((c[m>>2]|0)!=(a|0)){if((g|0)>(e|0)){c[i>>2]=b;c[i+4>>2]=a;c[i+8>>2]=e;Ow(0,137805,i)|0;a=1;break}if((g|0)<(d|0)){c[j>>2]=b;c[j+4>>2]=a;c[j+8>>2]=d;Ow(0,137844,j)|0;a=1;break}else{c[f>>2]=g;a=0;break}}else{c[h>>2]=b;c[h+4>>2]=a;Ow(0,137774,h)|0;a=1}while(0);l=k;return a|0}function QT(d,e){d=d|0;e=e|0;var f=0,g=0,h=0;h=l;l=l+16|0;f=h;switch((H0(a[e>>0]|0)|0)<<24>>24|0){case 76:{if(!(N$(e+1|0,137686)|0)){d=d+36|0;b[d>>1]=b[d>>1]|4;d=0}else g=9;break}case 82:{if(!(N$(e+1|0,137681)|0)){d=d+36|0;b[d>>1]=b[d>>1]|2;d=0}else g=9;break}case 84:{if(!(N$(e+1|0,138481)|0)){d=d+36|0;b[d>>1]=b[d>>1]|6;d=0}else g=9;break}case 67:{if(!(N$(e+1|0,137690)|0))d=0;else g=9;break}default:g=9}if((g|0)==9){c[f>>2]=e;Ow(0,138485,f)|0;d=1}l=h;return d|0}function RT(d,e){d=d|0;e=e|0;var f=0,g=0,h=0;h=l;l=l+16|0;f=h;switch((H0(a[e>>0]|0)|0)<<24>>24|0){case 76:{if(!(N$(e+1|0,137686)|0)){d=d+36|0;b[d>>1]=b[d>>1]|512;d=0}else g=7;break}case 82:{if(!(N$(e+1|0,137681)|0)){d=d+36|0;b[d>>1]=b[d>>1]|256;d=0}else g=7;break}case 67:{if(!(N$(e+1|0,137690)|0))d=0;else g=7;break}default:g=7}if((g|0)==7){c[f>>2]=e;Ow(0,138436,f)|0;d=1}l=h;return d|0}function ST(a,b){a=a|0;b=b|0;c[a+20>>2]=m1(b)|0;return 0}function TT(d,e){d=d|0;e=e|0;var f=0,g=0;g=l;l=l+16|0;f=g;if(!(PT(e,138429,0,255,f)|0)){a[d+33>>0]=c[f>>2];d=d+36|0;b[d>>1]=b[d>>1]|32;d=0}else d=1;l=g;return d|0}function UT(d,e){d=d|0;e=e|0;var f=0,g=0;g=l;l=l+16|0;f=g;if(!(PT(e,138417,0,255,f)|0)){a[d+34>>0]=c[f>>2];d=d+36|0;b[d>>1]=b[d>>1]|64;d=0}else d=1;l=g;return d|0}function VT(d,e){d=d|0;e=e|0;var f=0,g=0;g=l;l=l+16|0;f=g;if(!(PT(e,138405,-128,127,f)|0)){a[d+32>>0]=c[f>>2];d=d+36|0;b[d>>1]=b[d>>1]|128;d=0}else d=1;l=g;return d|0}function WT(a,b){a=a|0;b=b|0;c[a+24>>2]=m1(b)|0;return 0}function XT(a,d){a=a|0;d=d|0;var e=0,f=0,g=0;g=l;l=l+16|0;f=g;e=g+4|0;do if(!(PT(d,138360,0,65535,e)|0)){d=c[e>>2]|0;if(!d){Ow(0,138368,f)|0;d=1;break}else{b[a+80>>1]=d;d=0;break}}else d=1;while(0);l=g;return d|0}function YT(a,e){a=a|0;e=e|0;var f=0,g=0,h=0;h=l;l=l+16|0;f=h;switch((H0(d[e>>0]|0)|0)<<24>>24|0){case 84:{if(!(N$(e+1|0,138309)|0)){a=a+36|0;b[a>>1]=b[a>>1]|1;a=0}else g=5;break}case 70:{if(!(N$(e+1|0,138313)|0))a=0;else g=5;break}default:g=5}if((g|0)==5){c[f>>2]=e;Ow(0,138318,f)|0;a=1}l=h;return a|0}function ZT(a,b){a=a|0;b=b|0;var d=0,e=0;e=l;l=l+16|0;d=e;if(!(PT(b,138295,0,360,d)|0)){c[a+28>>2]=c[d>>2]&65535;a=0}else a=1;l=e;return a|0}function _T(a,d){a=a|0;d=d|0;var e=0,f=0;f=l;l=l+16|0;e=f;if(!(PT(d,138288,0,65535,e)|0)){b[a+40>>1]=c[e>>2];a=0}else a=1;l=f;return a|0}function $T(a,b){a=a|0;b=b|0;c[a>>2]=m1(b)|0;return 0}function aU(a,b){a=a|0;b=b|0;c[a+16>>2]=m1(b)|0;return 0}function bU(a,b){a=a|0;b=b|0;c[a+4>>2]=m1(b)|0;return 0}function cU(a,d){a=a|0;d=d|0;var e=0,f=0,g=0;g=l;l=l+16|0;f=g;e=g+4|0;do if(!(PT(d,138243,0,65535,e)|0)){d=c[e>>2]|0;if(!d){Ow(0,138251,f)|0;d=1;break}else{b[a+82>>1]=d;d=0;break}}else d=1;while(0);l=g;return d|0}function dU(d,e){d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0;k=l;l=l+16|0;i=k;h=0;a:while(1){b:while(1){g=e+1|0;e=a[e>>0]|0;if(!(e<<24>>24))break a;e=e<<24>>24;f=(O$(e)|0)+-98|0;switch(f>>>1|f<<31|0){case 5:{j=5;break b}case 9:{f=2048;break b}case 8:{j=6;break b}case 0:{j=7;break b}default:{}}c[i>>2]=e;c[i+4>>2]=e;Ow(0,138190,i)|0;e=g}if((j|0)==5){j=0;f=1024}else if((j|0)==6){j=0;f=4096}else if((j|0)==7){j=0;f=8192}e=g;h=h|f}if(h<<16>>16!=15360){j=d+36|0;b[j>>1]=b[j>>1]|h}l=k;return 0}function eU(d,e){d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0;k=l;l=l+16|0;j=k+8|0;i=k;h=m1(e)|0;g=d+42|0;f=0;e=h;while(1){d=j1(e,138100)|0;if(!d)break;if(((H0(a[d>>0]|0)|0)&255|0)==82){e=d+1|0;if(!(N$(e,138103)|0)){b[g>>1]=b[g>>1]|4;d=f;e=0;f=d;continue}if(!(N$(e,138110)|0)){b[g>>1]=b[g>>1]|2;d=f;e=0;f=d;continue}else{c[i>>2]=d;Ow(0,138116,i)|0;f=1;e=0;continue}}if(!(N$(d,138154)|0)){b[g>>1]=b[g>>1]&-385;d=f;e=0;f=d;continue}if(N$(d,138160)|0?N$(d,138170)|0:0){if(!(N$(d,138176)|0)){b[g>>1]=b[g>>1]|128;d=f;e=0;f=d;continue}if(!(N$(d,138183)|0)){b[g>>1]=b[g>>1]|256;d=f;e=0;f=d;continue}else{c[j>>2]=d;Ow(0,138116,j)|0;f=1;e=0;continue}}b[g>>1]=b[g>>1]|32;d=f;e=0;f=d}C_(h);l=k;return f|0}function fU(a,b){a=a|0;b=b|0;c[a+8>>2]=m1(b)|0;return 0}function gU(a,b){a=a|0;b=b|0;c[a+12>>2]=m1(b)|0;return 0}function hU(d,e){d=d|0;e=e|0;var f=0,g=0,h=0;h=l;l=l+16|0;f=h;switch((H0(a[e>>0]|0)|0)<<24>>24|0){case 66:{if(!(N$(e+1|0,138046)|0)){d=d+36|0;b[d>>1]=b[d>>1]|16;d=0}else g=7;break}case 84:{if(!(N$(e+1|0,138052)|0)){d=d+36|0;b[d>>1]=b[d>>1]|8;d=0}else g=7;break}case 77:{if(!(N$(e+1|0,138055)|0))d=0;else g=7;break}default:g=7}if((g|0)==7){c[f>>2]=e;Ow(0,138061,f)|0;d=1}l=h;return d|0}function iU(a,d){a=a|0;d=d|0;var e=0,f=0;f=l;l=l+16|0;e=f;if(!(PT(d,138040,0,65535,e)|0)){b[a+38>>1]=c[e>>2];a=0}else a=1;l=f;return a|0}function jU(d,e){d=d|0;e=e|0;var f=0,g=0,h=0;h=l;l=l+16|0;f=h;switch((H0(a[e>>0]|0)|0)<<24>>24|0){case 76:{if(!(N$(e+1|0,137686)|0)){d=d+36|0;b[d>>1]=b[d>>1]|4;d=0}else g=7;break}case 82:{if(!(N$(e+1|0,137681)|0)){d=d+36|0;b[d>>1]=b[d>>1]|2;d=0}else g=7;break}case 67:{if(!(N$(e+1|0,137690)|0))d=0;else g=7;break}default:g=7}if((g|0)==7){c[f>>2]=e;Ow(0,137696,f)|0;d=1}l=h;return d|0}function kU(b,d){b=b|0;d=d|0;var e=0,f=0;f=l;l=l+16|0;e=f;if(!(PT(d,138638,0,127,e)|0)){a[b+88>>0]=c[e>>2];b=0}else b=1;l=f;return b|0}function lU(b,d){b=b|0;d=d|0;var e=0,f=0;f=l;l=l+16|0;e=f;if((a[d>>0]|0)==42){b=b+112|0;a[b>>0]=a[b>>0]|1;b=0}else{c[e>>2]=d;Ow(0,138598,e)|0;b=1}l=f;return b|0}function mU(b,d){b=b|0;d=d|0;var e=0,f=0;f=l;l=l+16|0;e=f;if((a[d>>0]|0)==42){b=b+112|0;a[b>>0]=a[b>>0]|2;b=0}else{c[e>>2]=d;Ow(0,138561,e)|0;b=1}l=f;return b|0}function nU(){var b=0;b=(a[186581]|a[186580])<<24>>24;IV(c[46637]|0);Ww(186564);return b|0}function oU(){var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0;j=l;l=l+16|0;i=j;c[46639]=0;d=0;a:do{b:do switch(a[186583]|0){case 2:{b=-1;break a}case 0:{a[186583]=1;h=6;b=138650;d=0;break}default:{b=c[46638]|0;if(!(a[b>>0]|0)){a[186583]=2;h=7;b=138657;break b}else{d=pU(b)|0;h=d-b|0;break b}}}while(0);c[46647]=c[46646];c[46649]=c[46648];c[46646]=b;c[46648]=h;e=c[46642]|0;f=e-(c[46641]|0)|0;g=c[46637]|0;if(!f)b=UW(g,b,h,(h|0)==0&1)|0;else{if(e>>>0<(c[46643]|0)>>>0)b=e;else{Tw(186564,1)|0;b=c[46642]|0}a[b>>0]=0;b=c[46641]|0;c[46642]=b;b=UW(g,b,f,0)|0}if(!((b|0)!=0|(a[186581]|0)!=0)){g=dX(bX(c[46637]|0)|0)|0;h=vT()|0;c[i>>2]=g;c[i+4>>2]=h;Ow(1,137493,i)|0;wT();a[186581]=1;c[46639]=268}if(d|0)c[46638]=d;b=c[46639]|0}while((b|0)==0);l=j;return b|0}function pU(b){b=b|0;var d=0,e=0,f=0,g=0,h=0;h=l;l=l+16|0;f=h;d=b+1|0;e=a[b>>0]|0;a:do if(e<<24>>24==60){e=a[d>>0]|0;if(e<<24>>24==33)if(!(y$(b+2|0,138665,2)|0)){e=qU(b+4|0)|0;d=e;e=a[e>>0]|0;g=8}else{e=d;g=5}else g=6;b:while(1)if((g|0)==5){d=e;e=a[e>>0]|0;g=6;continue}else if((g|0)==6){switch(e<<24>>24){case 62:case 0:{g=8;continue b}default:{}}e=d+1|0;g=5;continue}else if((g|0)==8)if(e<<24>>24==62){g=10;break}else{g=9;break}if((g|0)==9){Ow(0,138668,f)|0;a[186580]=1;break}else if((g|0)==10){d=d+1|0;break}}else{d=b;b=e;while(1){switch(b<<24>>24){case 60:case 0:break a;case 38:{e=d+1|0;if((a[e>>0]|0)==35)g=15;else e=LM(e,186564)|0;break}default:g=15}if((g|0)==15){g=0;e=c[46642]|0;if(e>>>0>=(c[46643]|0)>>>0){Tw(186564,1)|0;e=c[46642]|0}c[46642]=e+1;a[e>>0]=b;e=d+1|0}d=e;b=a[e>>0]|0}}while(0);l=h;return d|0}function qU(b){b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0;j=l;l=l+16|0;i=j;f=1;c=b;a:while(1){e=(f|0)==0;d=c;b:while(1){if(e)break a;g=d+1|0;switch(a[d>>0]|0){case 0:{c=g;break a}case 60:{h=5;break b}case 62:{c=-1;break b}default:d=g}}if((h|0)==5){h=0;c=1}f=f+c|0;c=g}d=c+-1|0;do if(a[d>>0]|0){c=c+-3|0;if(c>>>0>=b>>>0?(y$(c,138665,2)|0)==0:0)break;Ow(0,138709,i)|0;a[186580]=1}while(0);l=j;return d|0}function rU(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;d=B_(28)|0;if(!d)d=0;else{e=0;f=0;while(1){if((e|0)>=(b|0))break;r=(c[(c[a+(e<<2)>>2]|0)+4>>2]|0)+f|0;e=e+1|0;f=r}o=d+8|0;c[o>>2]=sU(f<<4)|0;p=d+12|0;c[p>>2]=sU((b<<2)+4|0)|0;e=f<<2;q=d+16|0;c[q>>2]=sU(e)|0;e=sU(e)|0;r=d+20|0;c[r>>2]=e;c[d+4>>2]=f;c[d>>2]=b;f=0;h=0;while(1){c[(c[p>>2]|0)+(h<<2)>>2]=f;if((h|0)>=(b|0))break;j=a+(h<<2)|0;n=c[j>>2]|0;k=c[n+4>>2]|0;l=f+-1|0;g=0;i=f;m=k;while(1){if((g|0)>=(m|0))break;m=(c[o>>2]|0)+(i<<4)|0;e=(c[n>>2]|0)+(g<<4)|0;c[m>>2]=c[e>>2];c[m+4>>2]=c[e+4>>2];c[m+8>>2]=c[e+8>>2];c[m+12>>2]=c[e+12>>2];m=i+1|0;c[(c[q>>2]|0)+(i<<2)>>2]=m;e=c[r>>2]|0;c[e+(i<<2)>>2]=i+-1;s=c[j>>2]|0;g=g+1|0;i=m;m=c[s+4>>2]|0;n=s}s=l+k|0;c[(c[q>>2]|0)+(s<<2)>>2]=f;c[e+(f<<2)>>2]=s;f=i;h=h+1|0}sV(d)}return d|0}function sU(a){a=a|0;if(!a)a=0;else a=B_(a)|0;return a|0}function tU(a){a=a|0;var b=0,d=0;C_(c[a+8>>2]|0);C_(c[a+12>>2]|0);C_(c[a+16>>2]|0);C_(c[a+20>>2]|0);d=a+24|0;b=c[d>>2]|0;if(b|0){C_(c[b>>2]|0);C_(c[d>>2]|0)}C_(a);return}function uU(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0;p=l;l=l+32|0;m=p+16|0;j=p;c[m>>2]=c[b>>2];c[m+4>>2]=c[b+4>>2];c[m+8>>2]=c[b+8>>2];c[m+12>>2]=c[b+12>>2];n=zV(a,d,m)|0;c[m>>2]=c[e>>2];c[m+4>>2]=c[e+4>>2];c[m+8>>2]=c[e+8>>2];c[m+12>>2]=c[e+12>>2];o=zV(a,f,m)|0;c[j>>2]=c[b>>2];c[j+4>>2]=c[b+4>>2];c[j+8>>2]=c[b+8>>2];c[j+12>>2]=c[b+12>>2];c[m>>2]=c[e>>2];c[m+4>>2]=c[e+4>>2];c[m+8>>2]=c[e+8>>2];c[m+12>>2]=c[e+12>>2];m=iV(j,d,n,m,f,o,a)|0;d=c[a+4>>2]|0;j=d+1|0;f=1;h=d;while(1){h=c[m+(h<<2)>>2]|0;k=f+1|0;if((h|0)==(j|0))break;else f=k}i=B_(k<<4)|0;h=i+(f<<4)|0;c[h>>2]=c[e>>2];c[h+4>>2]=c[e+4>>2];c[h+8>>2]=c[e+8>>2];c[h+12>>2]=c[e+12>>2];a=a+8|0;while(1){d=c[m+(d<<2)>>2]|0;f=f+-1|0;h=i+(f<<4)|0;if((d|0)==(j|0))break;e=(c[a>>2]|0)+(d<<4)|0;c[h>>2]=c[e>>2];c[h+4>>2]=c[e+4>>2];c[h+8>>2]=c[e+8>>2];c[h+12>>2]=c[e+12>>2]}c[h>>2]=c[b>>2];c[h+4>>2]=c[b+4>>2];c[h+8>>2]=c[b+8>>2];c[h+12>>2]=c[b+12>>2];if(f|0)qa(138727,138734,148,138740);if(n|0)C_(n);if(o|0)C_(o);c[g+4>>2]=k;c[g>>2]=i;C_(m);l=p;return 1}function vU(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0;j=l;l=l+48|0;h=j+32|0;g=j+16|0;f=j;i=c[a>>2]|0;d=c[a+4>>2]|0;e=d+-1|0;a=0;while(1){if((a|0)>=(d|0)){a=1;break}m=i+(((e+a|0)%(d|0)|0)<<4)|0;k=i+(a<<4)|0;c[f>>2]=c[m>>2];c[f+4>>2]=c[m+4>>2];c[f+8>>2]=c[m+8>>2];c[f+12>>2]=c[m+12>>2];c[g>>2]=c[k>>2];c[g+4>>2]=c[k+4>>2];c[g+8>>2]=c[k+8>>2];c[g+12>>2]=c[k+12>>2];c[h>>2]=c[b>>2];c[h+4>>2]=c[b+4>>2];c[h+8>>2]=c[b+8>>2];c[h+12>>2]=c[b+12>>2];if((oV(f,g,h)|0)==1){a=0;break}else a=a+1|0}l=j;return a|0}function wU(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,m=0,n=0,q=0,r=0,s=0,t=0,u=0;u=l;l=l+64|0;m=u+48|0;k=u+32|0;s=4;j=B_(40)|0;c[j>>2]=0;n=u+16|0;q=u;r=c[d>>2]|0;i=c[d+4>>2]|0;s=C3(186600,1,j|0,s|0)|0;j=z;o=0;d=o;o=0;if((d|0)!=0&(p|0)!=0){g=D3(c[d>>2]|0,s|0,j|0)|0;if(!g)bb(d|0,p|0);z=p}else g=-1;if((g|0)==1)d=z;else d=0;while(1){if(d|0){d=-1;break}o=0;c[m>>2]=c[e>>2];c[m+4>>2]=c[e+4>>2];c[m+8>>2]=c[e+8>>2];c[m+12>>2]=c[e+12>>2];ja(28,n|0,m|0);d=o;o=0;if((d|0)!=0&(p|0)!=0){g=D3(c[d>>2]|0,s|0,j|0)|0;if(!g)bb(d|0,p|0);z=p}else g=-1;if((g|0)==1){d=z;continue};c[e>>2]=c[n>>2];c[e+4>>2]=c[n+4>>2];c[e+8>>2]=c[n+8>>2];c[e+12>>2]=c[n+12>>2];h=e+16|0;o=0;c[m>>2]=c[h>>2];c[m+4>>2]=c[h+4>>2];c[m+8>>2]=c[h+8>>2];c[m+12>>2]=c[h+12>>2];ja(28,q|0,m|0);d=o;o=0;if((d|0)!=0&(p|0)!=0){g=D3(c[d>>2]|0,s|0,j|0)|0;if(!g)bb(d|0,p|0);z=p}else g=-1;if((g|0)==1){d=z;continue};c[h>>2]=c[q>>2];c[h+4>>2]=c[q+4>>2];c[h+8>>2]=c[q+8>>2];c[h+12>>2]=c[q+12>>2];c[46689]=0;o=0;ia(112,4);d=o;o=0;if((d|0)!=0&(p|0)!=0){g=D3(c[d>>2]|0,s|0,j|0)|0;if(!g)bb(d|0,p|0);z=p}else g=-1;if((g|0)==1){d=z;continue}g=c[46690]|0;d=c[46689]|0;c[46689]=d+1;d=g+(d<<4)|0;c[d>>2]=c[r>>2];c[d+4>>2]=c[r+4>>2];c[d+8>>2]=c[r+8>>2];c[d+12>>2]=c[r+12>>2];o=0;c[k>>2]=c[e>>2];c[k+4>>2]=c[e+4>>2];c[k+8>>2]=c[e+8>>2];c[k+12>>2]=c[e+12>>2];c[m>>2]=c[h>>2];c[m+4>>2]=c[h+4>>2];c[m+8>>2]=c[h+8>>2];c[m+12>>2]=c[h+12>>2];d=fa(1,a|0,b|0,r|0,i|0,k|0,m|0)|0;g=o;o=0;if((g|0)!=0&(p|0)!=0){h=D3(c[g>>2]|0,s|0,j|0)|0;if(!h)bb(g|0,p|0);z=p}else h=-1;if((h|0)==1)d=z;else{t=8;break}}if((t|0)==8)if((d|0)==-1)d=-1;else{c[f+4>>2]=c[46689];c[f>>2]=c[46690];d=0}C_(s|0);l=u;return d|0}function xU(a,b){a=a|0;b=b|0;var d=0.0,e=0,f=0.0,g=0.0,i=0.0;d=+h[b>>3];e=b+8|0;f=+h[e>>3];i=f*f+d*d;g=+C(+i);if(i>1.0e-06){h[b>>3]=d/g;h[e>>3]=f/g};c[a>>2]=c[b>>2];c[a+4>>2]=c[b+4>>2];c[a+8>>2]=c[b+8>>2];c[a+12>>2]=c[b+12>>2];return}function yU(a){a=a|0;var b=0,d=0,e=0,f=0;f=l;l=l+32|0;e=f+16|0;d=f;if((c[46693]|0)<(a|0)){b=c[46690]|0;if(!b){e=B_(a<<4)|0;c[46690]=e;if(!e){e=c[15686]|0;c[d>>2]=138749;c[d+4>>2]=531;c[d+8>>2]=138884;f1(e,138757,d)|0;bb(186600,1)}}else{d=E_(b,a<<4)|0;c[46690]=d;if(!d){d=c[15686]|0;c[e>>2]=138749;c[e+4>>2]=537;c[e+8>>2]=138902;f1(d,138757,e)|0;bb(186600,1)}}c[46693]=a}l=f;return}function zU(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var i=0,j=0.0,k=0,m=0.0,n=0,o=0.0,p=0.0,q=0,r=0.0,s=0.0,t=0.0,u=0.0,v=0.0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0.0,U=0.0,V=0.0,W=0.0;R=l;l=l+336|0;J=R+320|0;I=R+304|0;w=R+144|0;q=R+128|0;G=R+112|0;H=R+96|0;Q=R+80|0;A=R+64|0;C=R+48|0;K=R+32|0;L=R+16|0;M=R;x=R+288|0;y=R+272|0;z=R+256|0;B=R+240|0;D=R+224|0;E=R+208|0;N=R+192|0;O=R+176|0;P=R+160|0;i=c[46692]|0;do if((c[46691]|0)<(e|0)){if(!i){i=B_(e*40|0)|0;c[46692]=i;if(!i){i=-1;break}}else{i=E_(i,e*40|0)|0;c[46692]=i;if(!i){i=-1;break}}c[46691]=e;k=6}else k=6;while(0);if((k|0)==6){h[i>>3]=0.0;k=1;j=0.0;while(1){if((k|0)>=(e|0))break;n=d+(k<<4)|0;F=d+(k+-1<<4)|0;c[I>>2]=c[n>>2];c[I+4>>2]=c[n+4>>2];c[I+8>>2]=c[n+8>>2];c[I+12>>2]=c[n+12>>2];c[J>>2]=c[F>>2];c[J+4>>2]=c[F+4>>2];c[J+8>>2]=c[F+8>>2];c[J+12>>2]=c[F+12>>2];v=+AU(I,J)+j;h[i+(k*40|0)>>3]=v;k=k+1|0;j=v}F=e+-1|0;n=i+(F*40|0)|0;k=1;while(1){if((k|0)>=(e|0))break;S=i+(k*40|0)|0;h[S>>3]=+h[S>>3]/+h[n>>3];k=k+1|0}k=0;while(1){if((k|0)>=(e|0))break;S=i+(k*40|0)+8|0;n=i+(k*40|0)|0;v=+BU(+h[n>>3]);c[J>>2]=c[f>>2];c[J+4>>2]=c[f+4>>2];c[J+8>>2]=c[f+8>>2];c[J+12>>2]=c[f+12>>2];CU(x,J,v);c[S>>2]=c[x>>2];c[S+4>>2]=c[x+4>>2];c[S+8>>2]=c[x+8>>2];c[S+12>>2]=c[x+12>>2];S=i+(k*40|0)+24|0;v=+DU(+h[n>>3]);c[J>>2]=c[g>>2];c[J+4>>2]=c[g+4>>2];c[J+8>>2]=c[g+8>>2];c[J+12>>2]=c[g+12>>2];CU(y,J,v);c[S>>2]=c[y>>2];c[S+4>>2]=c[y+4>>2];c[S+8>>2]=c[y+8>>2];c[S+12>>2]=c[y+12>>2];k=k+1|0}c[I>>2]=c[f>>2];c[I+4>>2]=c[f+4>>2];c[I+8>>2]=c[f+8>>2];c[I+12>>2]=c[f+12>>2];c[J>>2]=c[g>>2];c[J+4>>2]=c[g+4>>2];c[J+8>>2]=c[g+8>>2];c[J+12>>2]=c[g+12>>2];EU(d,e,i,I,J,G,A,H,C);c[q>>2]=c[G>>2];c[q+4>>2]=c[G+4>>2];c[q+8>>2]=c[G+8>>2];c[q+12>>2]=c[G+12>>2];c[w>>2]=c[A>>2];c[w+4>>2]=c[A+4>>2];c[w+8>>2]=c[A+8>>2];c[w+12>>2]=c[A+12>>2];c[I>>2]=c[H>>2];c[I+4>>2]=c[H+4>>2];c[I+8>>2]=c[H+8>>2];c[I+12>>2]=c[H+12>>2];c[J>>2]=c[C>>2];c[J+4>>2]=c[C+4>>2];c[J+8>>2]=c[C+8>>2];c[J+12>>2]=c[C+12>>2];if(!(FU(a,b,q,w,I,J,d,e)|0)){c[J>>2]=c[A>>2];c[J+4>>2]=c[A+4>>2];c[J+8>>2]=c[A+8>>2];c[J+12>>2]=c[A+12>>2];CU(z,J,.3333333333333333);c[I>>2]=c[G>>2];c[I+4>>2]=c[G+4>>2];c[I+8>>2]=c[G+8>>2];c[I+12>>2]=c[G+12>>2];c[J>>2]=c[z>>2];c[J+4>>2]=c[z+4>>2];c[J+8>>2]=c[z+8>>2];c[J+12>>2]=c[z+12>>2];GU(B,I,J);v=+h[B>>3];u=+h[B+8>>3];c[J>>2]=c[C>>2];c[J+4>>2]=c[C+4>>2];c[J+8>>2]=c[C+8>>2];c[J+12>>2]=c[C+12>>2];CU(D,J,.3333333333333333);c[I>>2]=c[H>>2];c[I+4>>2]=c[H+4>>2];c[I+8>>2]=c[H+8>>2];c[I+12>>2]=c[H+12>>2];c[J>>2]=c[D>>2];c[J+4>>2]=c[D+4>>2];c[J+8>>2]=c[D+8>>2];c[J+12>>2]=c[D+12>>2];HU(E,I,J);t=+h[E>>3];p=+h[E+8>>3];q=c[46692]|0;r=+h[G>>3];s=+h[H>>3];o=+h[G+8>>3];m=+h[H+8>>3];n=Q+8|0;i=-1;j=-1.0;k=1;while(1){if((k|0)>=(F|0))break;T=+h[q+(k*40|0)>>3];U=+IU(T);V=+BU(T);W=+DU(T);T=+JU(T);h[Q>>3]=V*v+r*U+W*t+s*T;h[n>>3]=W*p+V*u+o*U+m*T;S=d+(k<<4)|0;c[I>>2]=c[Q>>2];c[I+4>>2]=c[Q+4>>2];c[I+8>>2]=c[Q+8>>2];c[I+12>>2]=c[Q+12>>2];c[J>>2]=c[S>>2];c[J+4>>2]=c[S+4>>2];c[J+8>>2]=c[S+8>>2];c[J+12>>2]=c[S+12>>2];T=+AU(I,J);S=T>j;i=S?k:i;j=S?T:j;k=k+1|0}S=d+(i<<4)|0;Q=d+(i+-1<<4)|0;c[I>>2]=c[S>>2];c[I+4>>2]=c[S+4>>2];c[I+8>>2]=c[S+8>>2];c[I+12>>2]=c[S+12>>2];c[J>>2]=c[Q>>2];c[J+4>>2]=c[Q+4>>2];c[J+8>>2]=c[Q+8>>2];c[J+12>>2]=c[Q+12>>2];HU(N,I,J);c[J>>2]=c[N>>2];c[J+4>>2]=c[N+4>>2];c[J+8>>2]=c[N+8>>2];c[J+12>>2]=c[N+12>>2];xU(L,J);Q=i+1|0;N=d+(Q<<4)|0;c[I>>2]=c[N>>2];c[I+4>>2]=c[N+4>>2];c[I+8>>2]=c[N+8>>2];c[I+12>>2]=c[N+12>>2];c[J>>2]=c[S>>2];c[J+4>>2]=c[S+4>>2];c[J+8>>2]=c[S+8>>2];c[J+12>>2]=c[S+12>>2];HU(O,I,J);c[J>>2]=c[O>>2];c[J+4>>2]=c[O+4>>2];c[J+8>>2]=c[O+8>>2];c[J+12>>2]=c[O+12>>2];xU(M,J);c[I>>2]=c[L>>2];c[I+4>>2]=c[L+4>>2];c[I+8>>2]=c[L+8>>2];c[I+12>>2]=c[L+12>>2];c[J>>2]=c[M>>2];c[J+4>>2]=c[M+4>>2];c[J+8>>2]=c[M+8>>2];c[J+12>>2]=c[M+12>>2];GU(P,I,J);c[J>>2]=c[P>>2];c[J+4>>2]=c[P+4>>2];c[J+8>>2]=c[P+8>>2];c[J+12>>2]=c[P+12>>2];xU(K,J);c[I>>2]=c[f>>2];c[I+4>>2]=c[f+4>>2];c[I+8>>2]=c[f+8>>2];c[I+12>>2]=c[f+12>>2];c[J>>2]=c[K>>2];c[J+4>>2]=c[K+4>>2];c[J+8>>2]=c[K+8>>2];c[J+12>>2]=c[K+12>>2];zU(a,b,d,Q,I,J)|0;c[I>>2]=c[K>>2];c[I+4>>2]=c[K+4>>2];c[I+8>>2]=c[K+8>>2];c[I+12>>2]=c[K+12>>2];c[J>>2]=c[g>>2];c[J+4>>2]=c[g+4>>2];c[J+8>>2]=c[g+8>>2];c[J+12>>2]=c[g+12>>2];zU(a,b,S,e-i|0,I,J)|0;i=0}else i=0}l=R;return i|0}function AU(a,b){a=a|0;b=b|0;var c=0.0,d=0.0;c=+h[b>>3]-+h[a>>3];d=+h[b+8>>3]-+h[a+8>>3];return +(+C(+(d*d+c*c)))}function BU(a){a=+a;var b=0.0;b=1.0-a;return +(b*b*(a*3.0))}function CU(a,b,d){a=a|0;b=b|0;d=+d;var e=0;h[b>>3]=+h[b>>3]*d;e=b+8|0;h[e>>3]=+h[e>>3]*d;c[a>>2]=c[b>>2];c[a+4>>2]=c[b+4>>2];c[a+8>>2]=c[b+8>>2];c[a+12>>2]=c[b+12>>2];return}function DU(a){a=+a;return +(a*a*3.0*(1.0-a))}function EU(a,b,d,e,f,g,i,j,k){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;i=i|0;j=j|0;k=k|0;var m=0.0,n=0.0,o=0.0,p=0.0,q=0,r=0,s=0,t=0,u=0,v=0,w=0.0,x=0.0,y=0.0,z=0.0,A=0.0,B=0,C=0,D=0,E=0,F=0,G=0,H=0.0,I=0.0,J=0,K=0,L=0,M=0;G=l;l=l+128|0;B=G+112|0;v=G+80|0;u=G;r=G+96|0;s=G+64|0;t=G+48|0;C=G+32|0;D=G+16|0;E=a+(b+-1<<4)|0;q=0;w=0.0;x=0.0;y=0.0;z=0.0;A=0.0;while(1){if((q|0)>=(b|0))break;K=d+(q*40|0)+8|0;c[v>>2]=c[K>>2];c[v+4>>2]=c[K+4>>2];c[v+8>>2]=c[K+8>>2];c[v+12>>2]=c[K+12>>2];c[B>>2]=c[K>>2];c[B+4>>2]=c[K+4>>2];c[B+8>>2]=c[K+8>>2];c[B+12>>2]=c[K+12>>2];H=+PU(v,B)+x;J=d+(q*40|0)+24|0;c[v>>2]=c[K>>2];c[v+4>>2]=c[K+4>>2];c[v+8>>2]=c[K+8>>2];c[v+12>>2]=c[K+12>>2];c[B>>2]=c[J>>2];c[B+4>>2]=c[J+4>>2];c[B+8>>2]=c[J+8>>2];c[B+12>>2]=c[J+12>>2];p=+PU(v,B)+A;c[v>>2]=c[J>>2];c[v+4>>2]=c[J+4>>2];c[v+8>>2]=c[J+8>>2];c[v+12>>2]=c[J+12>>2];c[B>>2]=c[J>>2];c[B+4>>2]=c[J+4>>2];c[B+8>>2]=c[J+8>>2];c[B+12>>2]=c[J+12>>2];o=+PU(v,B)+y;L=a+(q<<4)|0;M=d+(q*40|0)|0;I=+QU(+h[M>>3]);c[B>>2]=c[a>>2];c[B+4>>2]=c[a+4>>2];c[B+8>>2]=c[a+8>>2];c[B+12>>2]=c[a+12>>2];CU(s,B,I);I=+RU(+h[M>>3]);c[B>>2]=c[E>>2];c[B+4>>2]=c[E+4>>2];c[B+8>>2]=c[E+8>>2];c[B+12>>2]=c[E+12>>2];CU(t,B,I);c[v>>2]=c[s>>2];c[v+4>>2]=c[s+4>>2];c[v+8>>2]=c[s+8>>2];c[v+12>>2]=c[s+12>>2];c[B>>2]=c[t>>2];c[B+4>>2]=c[t+4>>2];c[B+8>>2]=c[t+8>>2];c[B+12>>2]=c[t+12>>2];GU(r,v,B);c[v>>2]=c[L>>2];c[v+4>>2]=c[L+4>>2];c[v+8>>2]=c[L+8>>2];c[v+12>>2]=c[L+12>>2];c[B>>2]=c[r>>2];c[B+4>>2]=c[r+4>>2];c[B+8>>2]=c[r+8>>2];c[B+12>>2]=c[r+12>>2];HU(u,v,B);c[v>>2]=c[K>>2];c[v+4>>2]=c[K+4>>2];c[v+8>>2]=c[K+8>>2];c[v+12>>2]=c[K+12>>2];c[B>>2]=c[u>>2];c[B+4>>2]=c[u+4>>2];c[B+8>>2]=c[u+8>>2];c[B+12>>2]=c[u+12>>2];I=+PU(v,B)+w;c[v>>2]=c[J>>2];c[v+4>>2]=c[J+4>>2];c[v+8>>2]=c[J+8>>2];c[v+12>>2]=c[J+12>>2];c[B>>2]=c[u>>2];c[B+4>>2]=c[u+4>>2];c[B+8>>2]=c[u+8>>2];c[B+12>>2]=c[u+12>>2];q=q+1|0;w=I;x=H;y=o;z=+PU(v,B)+z;A=p}o=y*x-A*A;p=o>=0.0?o:-o;if(!(p>=1.0e-06?(m=(y*w-A*z)/o,n=(x*z-A*w)/o,!(p<1.0e-06|m<=0.0|n<=0.0)):0))F=6;if((F|0)==6){c[v>>2]=c[a>>2];c[v+4>>2]=c[a+4>>2];c[v+8>>2]=c[a+8>>2];c[v+12>>2]=c[a+12>>2];c[B>>2]=c[E>>2];c[B+4>>2]=c[E+4>>2];c[B+8>>2]=c[E+8>>2];c[B+12>>2]=c[E+12>>2];m=+AU(v,B)*.3333333333333333;n=m};c[g>>2]=c[a>>2];c[g+4>>2]=c[a+4>>2];c[g+8>>2]=c[a+8>>2];c[g+12>>2]=c[a+12>>2];c[B>>2]=c[e>>2];c[B+4>>2]=c[e+4>>2];c[B+8>>2]=c[e+8>>2];c[B+12>>2]=c[e+12>>2];CU(C,B,m);c[i>>2]=c[C>>2];c[i+4>>2]=c[C+4>>2];c[i+8>>2]=c[C+8>>2];c[i+12>>2]=c[C+12>>2];c[j>>2]=c[E>>2];c[j+4>>2]=c[E+4>>2];c[j+8>>2]=c[E+8>>2];c[j+12>>2]=c[E+12>>2];c[B>>2]=c[f>>2];c[B+4>>2]=c[f+4>>2];c[B+8>>2]=c[f+8>>2];c[B+12>>2]=c[f+12>>2];CU(D,B,n);c[k>>2]=c[D>>2];c[k+4>>2]=c[D+4>>2];c[k+8>>2]=c[D+8>>2];c[k+12>>2]=c[D+12>>2];l=G;return}function FU(a,b,d,e,f,g,i,j){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;i=i|0;j=j|0;var k=0.0,m=0.0,n=0.0,o=0.0,p=0.0,q=0,r=0.0,s=0.0,t=0,u=0.0,v=0,w=0.0,x=0,y=0.0,z=0,A=0,B=0,C=0,D=0.0,E=0;C=l;l=l+64|0;B=C;z=(j|0)==2;y=+h[d>>3];u=+h[d+8>>3];v=B+8|0;w=+h[e>>3];x=B+16|0;p=+h[e+8>>3];q=B+24|0;r=+h[f>>3];s=+h[g>>3];t=B+32|0;o=+h[f+8>>3];n=+h[g+8>>3];e=B+40|0;f=B+48|0;g=B+56|0;d=1;k=4.0;m=4.0;while(1){h[B>>3]=y;h[v>>3]=u;D=m*.3333333333333333;h[x>>3]=D*w+y;h[q>>3]=D*p+u;D=k*.3333333333333333;h[t>>3]=r-D*s;h[e>>3]=o-D*n;h[f>>3]=r;h[g>>3]=o;if(d?(D=+KU(B,4),D<+KU(i,j)+-.001):0){d=0;break}if(LU(a,b,B)|0){A=5;break}if(m==0.0&k==0.0){A=9;break}E=m>.01;d=0;k=E?k*.5:0.0;m=E?m*.5:0.0}a:do if((A|0)==5){yU((c[46689]|0)+4|0);e=c[46690]|0;d=1;while(1){if((d|0)==4){d=1;break a}E=c[46689]|0;h[e+(E<<4)>>3]=+h[B+(d<<4)>>3];D=+h[B+(d<<4)+8>>3];c[46689]=E+1;h[e+(E<<4)+8>>3]=D;d=d+1|0}}else if((A|0)==9)if(z){yU((c[46689]|0)+4|0);e=c[46690]|0;d=1;while(1){if((d|0)==4){d=1;break a}E=c[46689]|0;h[e+(E<<4)>>3]=+h[B+(d<<4)>>3];D=+h[B+(d<<4)+8>>3];c[46689]=E+1;h[e+(E<<4)+8>>3]=D;d=d+1|0}}else d=0;while(0);l=C;return d|0}function GU(a,b,d){a=a|0;b=b|0;d=d|0;var e=0;h[b>>3]=+h[b>>3]+ +h[d>>3];e=b+8|0;h[e>>3]=+h[e>>3]+ +h[d+8>>3];c[a>>2]=c[b>>2];c[a+4>>2]=c[b+4>>2];c[a+8>>2]=c[b+8>>2];c[a+12>>2]=c[b+12>>2];return}function HU(a,b,d){a=a|0;b=b|0;d=d|0;var e=0;h[b>>3]=+h[b>>3]-+h[d>>3];e=b+8|0;h[e>>3]=+h[e>>3]-+h[d+8>>3];c[a>>2]=c[b>>2];c[a+4>>2]=c[b+4>>2];c[a+8>>2]=c[b+8>>2];c[a+12>>2]=c[b+12>>2];return}function IU(a){a=+a;a=1.0-a;return +(a*a*a)}function JU(a){a=+a;return +(a*a*a)}function KU(a,b){a=a|0;b=b|0;var c=0.0,d=0,e=0.0,f=0.0,g=0;c=0.0;d=1;while(1){if((d|0)>=(b|0))break;g=d+-1|0;e=+h[a+(d<<4)>>3]-+h[a+(g<<4)>>3];f=+h[a+(d<<4)+8>>3]-+h[a+(g<<4)+8>>3];c=+C(+(f*f+e*e))+c;d=d+1|0}return +c}function LU(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,i=0,j=0,k=0,m=0,n=0,o=0.0,p=0.0,q=0.0,r=0.0,s=0.0,t=0,u=0,v=0.0,w=0,x=0.0,y=0,z=0,A=0,B=0,C=0,D=0.0,E=0.0;C=l;l=l+64|0;t=C+32|0;u=C;w=u+16|0;y=d+16|0;z=d+32|0;A=d+48|0;B=d+8|0;g=d+24|0;i=d+40|0;j=d+56|0;k=u+8|0;m=u+24|0;f=0;a:while(1){if((f|0)>=(b|0)){e=1;break}n=a+(f<<5)|0;c[u>>2]=c[n>>2];c[u+4>>2]=c[n+4>>2];c[u+8>>2]=c[n+8>>2];c[u+12>>2]=c[n+12>>2];n=a+(f<<5)+16|0;c[w>>2]=c[n>>2];c[w+4>>2]=c[n+4>>2];c[w+8>>2]=c[n+8>>2];c[w+12>>2]=c[n+12>>2];n=MU(d,u,t)|0;b:do if((n|0)!=4){o=+h[u>>3];p=+h[k>>3];q=+h[w>>3];r=+h[m>>3];e=0;while(1){if((e|0)>=(n|0))break b;s=+h[t+(e<<3)>>3];if((!(s<1.0e-06|s>.999999)?(x=s*s*s,E=s*3.0,D=1.0-s,s=E*s*D,v=D*D,E=v*E,D=v*D,v=+h[y>>3]*E+ +h[d>>3]*D+ +h[z>>3]*s+ +h[A>>3]*x,x=+h[g>>3]*E+ +h[B>>3]*D+ +h[i>>3]*s+ +h[j>>3]*x,s=v-o,D=x-p,!(D*D+s*s<.001)):0)?(E=v-q,D=x-r,!(D*D+E*E<.001)):0){e=0;break a}e=e+1|0}}while(0);f=f+1|0}l=C;return e|0}function MU(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0.0,i=0,j=0.0,k=0,m=0,n=0,o=0,p=0.0,q=0.0,r=0,s=0,t=0,u=0,v=0;v=l;l=l+96|0;s=v+48|0;t=v+24|0;k=v;u=v+80|0;p=+h[b>>3];g=+h[b+16>>3]-p;q=+h[b+8>>3];j=+h[b+24>>3]-q;c[u>>2]=0;a:do if(!(g==0.0)){j=j/g;m=a+16|0;n=a+32|0;o=a+48|0;NU(+h[a+8>>3]-+h[a>>3]*j,+h[a+24>>3]-+h[m>>3]*j,+h[a+40>>3]-+h[n>>3]*j,+h[a+56>>3]-+h[o>>3]*j,s);h[s>>3]=j*p-q+ +h[s>>3];e=jV(s,t)|0;if((e|0)==4)b=4;else{f=s+8|0;i=s+16|0;k=s+24|0;g=1.0/g;b=0;while(1){if((b|0)>=(e|0))break;j=+h[t+(b<<3)>>3];if(j>=0.0&j<=1.0?(NU(+h[a>>3],+h[m>>3],+h[n>>3],+h[o>>3],s),q=(+h[s>>3]-p+((+h[k>>3]*j+ +h[i>>3])*j+ +h[f>>3])*j)*g,q>=0.0&q<=1.0):0)OU(j,d,u);b=b+1|0}b=c[u>>2]|0}}else{NU(+h[a>>3],+h[a+16>>3],+h[a+32>>3],+h[a+48>>3],s);h[s>>3]=+h[s>>3]-p;r=jV(s,t)|0;if(!(j==0.0)){if((r|0)==4){b=4;break}m=a+8|0;n=a+24|0;o=a+40|0;e=a+56|0;f=s+8|0;i=s+16|0;k=s+24|0;g=1.0/j;b=0;while(1){if((b|0)>=(r|0))break;j=+h[t+(b<<3)>>3];if(j>=0.0&j<=1.0?(NU(+h[m>>3],+h[n>>3],+h[o>>3],+h[e>>3],s),p=(+h[s>>3]-q+((+h[k>>3]*j+ +h[i>>3])*j+ +h[f>>3])*j)*g,p>=0.0&p<=1.0):0)OU(j,d,u);b=b+1|0}b=c[u>>2]|0;break}NU(+h[a+8>>3],+h[a+24>>3],+h[a+40>>3],+h[a+56>>3],s);h[s>>3]=+h[s>>3]-q;i=jV(s,k)|0;b=(i|0)==4;b:do if((r|0)==4){if(b){b=4;break a}else b=0;while(1){if((b|0)>=(i|0))break b;OU(+h[k+(b<<3)>>3],d,u);b=b+1|0}}else{if(b){b=0;while(1){if((b|0)>=(r|0))break b;OU(+h[t+(b<<3)>>3],d,u);b=b+1|0}}else e=0;while(1){if((e|0)>=(r|0))break b;f=t+(e<<3)|0;b=0;while(1){if((b|0)>=(i|0))break;g=+h[f>>3];if(g==+h[k+(b<<3)>>3])OU(g,d,u);b=b+1|0}e=e+1|0}}while(0);b=c[u>>2]|0}while(0);l=v;return b|0}function NU(a,b,c,d,e){a=+a;b=+b;c=+c;d=+d;e=e|0;h[e+24>>3]=d-a+(b-c)*3.0;h[e+16>>3]=(c+a)*3.0-b*6.0;h[e+8>>3]=(b-a)*3.0;h[e>>3]=a;return}function OU(a,b,d){a=+a;b=b|0;d=d|0;var e=0;if(a>=0.0&a<=1.0){e=c[d>>2]|0;h[b+(e<<3)>>3]=a;c[d>>2]=e+1}return}function PU(a,b){a=a|0;b=b|0;return +(+h[b+8>>3]*+h[a+8>>3]+ +h[b>>3]*+h[a>>3])}function QU(a){a=+a;var b=0.0;b=1.0-a;return +(b*b*(b+a*3.0))}function RU(a){a=+a;return +(a*a*((1.0-a)*3.0+a))}function SU(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,i=0.0,j=0,k=0,m=0,n=0,q=0,r=0,s=0,u=0,v=0,w=0,x=0,y=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0.0;H=l;l=l+112|0;E=H+80|0;D=H+64|0;C=H+48|0;G=4;F=B_(40)|0;c[F>>2]=0;w=H+32|0;x=H+16|0;y=H;A=H+96|0;G=C3(186776,1,F|0,G|0)|0;F=z;o=0;e=o;o=0;if((e|0)!=0&(p|0)!=0){f=D3(c[e>>2]|0,G|0,F|0)|0;if(!f)bb(e|0,p|0);z=p}else f=-1;if((f|0)==1)e=z;else e=0;a:while(1){if(e|0){e=-2;break}g=a+4|0;o=0;ia(113,c[g>>2]|0);e=o;o=0;if((e|0)!=0&(p|0)!=0){f=D3(c[e>>2]|0,G|0,F|0)|0;if(!f)bb(e|0,p|0);z=p}else f=-1;if((f|0)==1){e=z;continue}c[46733]=0;c[46734]=0;o=0;ia(114,c[g>>2]<<1|0);e=o;o=0;if((e|0)!=0&(p|0)!=0){f=D3(c[e>>2]|0,G|0,F|0)|0;if(!f)bb(e|0,p|0);z=p}else f=-1;if((f|0)==1){e=z;continue}m=(c[46736]|0)/2|0;c[46737]=m;c[46738]=m+-1;m=c[g>>2]|0;g=c[a>>2]|0;e=0;f=-1;i=t;while(1){if((e|0)>=(m|0))break;I=+h[g+(e<<4)>>3];v=i>I;u=v?e:f;e=e+1|0;f=u;i=v?I:i}v=g+(f<<4)|0;c[x>>2]=c[v>>2];c[x+4>>2]=c[v+4>>2];c[x+8>>2]=c[v+8>>2];c[x+12>>2]=c[v+12>>2];v=g+(((f|0)==0?m:f)+-1<<4)|0;c[w>>2]=c[v>>2];c[w+4>>2]=c[v+4>>2];c[w+8>>2]=c[v+8>>2];c[w+12>>2]=c[v+12>>2];v=g+(((f|0)==(m+-1|0)?0:f+1|0)<<4)|0;c[y>>2]=c[v>>2];c[y+4>>2]=c[v+4>>2];c[y+8>>2]=c[v+8>>2];c[y+12>>2]=c[v+12>>2];I=+h[x>>3];if((+h[w>>3]==I?I==+h[y>>3]:0)?+h[y+8>>3]>+h[x+8>>3]:0)v=15;else v=12;b:do if((v|0)==12){v=0;o=0;e=ca(33,w|0,x|0,y|0)|0;f=o;o=0;if((f|0)!=0&(p|0)!=0){g=D3(c[f>>2]|0,G|0,F|0)|0;if(!g)bb(f|0,p|0);z=p}else g=-1;if((g|0)==1){e=z;continue a}if((e|0)==1){g=c[46740]|0;e=c[46741]|0;f=0;while(1){if((f|0)>=(m|0))break b;j=c[a>>2]|0;if(!(((f|0)>0?(B=f+-1|0,+h[j+(f<<4)>>3]==+h[j+(B<<4)>>3]):0)?+h[j+(f<<4)+8>>3]==+h[j+(B<<4)+8>>3]:0)){u=c[46733]|0;c[g+(u<<3)>>2]=j+(f<<4);c[g+(u<<3)+4>>2]=g+(((u|0)%(m|0)|0)<<3);c[e+(u<<2)>>2]=g+(u<<3);c[46733]=u+1}f=f+1|0}}else v=15}while(0);c:do if((v|0)==15){v=0;j=c[46740]|0;e=c[46741]|0;g=m;while(1){f=g+-1|0;if((g|0)<=0)break c;k=c[a>>2]|0;if(((g|0)<(m|0)?+h[k+(f<<4)>>3]==+h[k+(g<<4)>>3]:0)?+h[k+(f<<4)+8>>3]==+h[k+(g<<4)+8>>3]:0){g=f;continue}g=c[46733]|0;c[j+(g<<3)>>2]=k+(f<<4);c[j+(g<<3)+4>>2]=j+(((g|0)%(m|0)|0)<<3);c[e+(g<<2)>>2]=j+(g<<3);c[46733]=g+1;g=f}}while(0);o=0;ja(29,e|0,c[46733]|0);e=o;o=0;if((e|0)!=0&(p|0)!=0){f=D3(c[e>>2]|0,G|0,F|0)|0;if(!f)bb(e|0,p|0);z=p}else f=-1;if((f|0)==1){e=z;continue}j=0;e=c[46734]|0;d:while(1){if((j|0)>=(e|0)){s=0;break}k=j+1|0;g=k;while(1){if((g|0)>=(e|0)){j=k;continue d}o=0;ja(30,j|0,g|0);e=o;o=0;if((e|0)!=0&(p|0)!=0){f=D3(c[e>>2]|0,G|0,F|0)|0;if(!f)bb(e|0,p|0);z=p}else f=-1;if((f|0)==1){e=z;continue a}g=g+1|0;e=c[46734]|0}}while(1){if((s|0)>=(e|0))break;o=0;f=aa(103,s|0,b|0)|0;g=o;o=0;if((g|0)!=0&(p|0)!=0){j=D3(c[g>>2]|0,G|0,F|0)|0;if(!j)bb(g|0,p|0);z=p}else j=-1;if((j|0)==1){e=z;continue a}if(f|0)break;s=s+1|0}if((s|0)==(e|0)){e=c[15686]|0;o=0;c[C>>2]=138776;c[C+4>>2]=192;c[C+8>>2]=138787;ca(29,e|0,138757,C|0)|0;e=o;o=0;if((e|0)!=0&(p|0)!=0){f=D3(c[e>>2]|0,G|0,F|0)|0;if(!f)bb(e|0,p|0);z=p}else f=-1;if((f|0)==1){e=z;continue}else{v=41;break}}u=b+16|0;k=0;while(1){if((k|0)>=(e|0))break;o=0;f=aa(103,k|0,u|0)|0;g=o;o=0;if((g|0)!=0&(p|0)!=0){j=D3(c[g>>2]|0,G|0,F|0)|0;if(!j)bb(g|0,p|0);z=p}else j=-1;if((j|0)==1){e=z;continue a}if(f|0)break;k=k+1|0}if((k|0)==(e|0)){e=c[15686]|0;o=0;c[D>>2]=138776;c[D+4>>2]=200;c[D+8>>2]=138820;ca(29,e|0,138757,D|0)|0;e=o;o=0;if((e|0)!=0&(p|0)!=0){f=D3(c[e>>2]|0,G|0,F|0)|0;if(!f)bb(e|0,p|0);z=p}else f=-1;if((f|0)==1){e=z;continue}else{v=48;break}}o=0;e=aa(104,s|0,k|0)|0;f=o;o=0;if((f|0)!=0&(p|0)!=0){g=D3(c[f>>2]|0,G|0,F|0)|0;if(!g)bb(f|0,p|0);z=p}else g=-1;if((g|0)==1){e=z;continue}if(!e){e=c[15686]|0;o=0;c[E>>2]=138776;c[E+4>>2]=207;c[E+8>>2]=138858;ca(29,e|0,138757,E|0)|0;e=o;o=0;if((e|0)!=0&(p|0)!=0){f=D3(c[e>>2]|0,G|0,F|0)|0;if(!f)bb(e|0,p|0);z=p}else f=-1;if((f|0)==1){e=z;continue}o=0;ia(115,2);e=o;o=0;if((e|0)!=0&(p|0)!=0){f=D3(c[e>>2]|0,G|0,F|0)|0;if(!f)bb(e|0,p|0);z=p}else f=-1;if((f|0)==1){e=z;continue}else{v=53;break}}if((s|0)==(k|0)){o=0;ia(115,2);e=o;o=0;if((e|0)!=0&(p|0)!=0){f=D3(c[e>>2]|0,G|0,F|0)|0;if(!f)bb(e|0,p|0);z=p}else f=-1;if((f|0)==1){e=z;continue}else{v=56;break}}c[A>>2]=b;c[A+4>>2]=0;f=A+8|0;c[f>>2]=u;c[A+12>>2]=0;o=0;ja(31,1,A|0);e=o;o=0;if((e|0)!=0&(p|0)!=0){g=D3(c[e>>2]|0,G|0,F|0)|0;if(!g)bb(e|0,p|0);z=p}else g=-1;if((g|0)==1){e=z;continue}c[46739]=c[46737];q=s;e:while(1){if((q|0)==-1){g=f;e=0;break}r=c[46743]|0;c[r+(q*52|0)>>2]=2;e=0;while(1){if((e|0)>=3){v=65;break}v=c[r+(q*52|0)+4+(e<<4)+12>>2]|0;if(v|0?(c[v>>2]|0)==1:0){v=68;break}e=e+1|0}if((v|0)==65){v=0;if((e|0)==3){e=c[46735]|0;k=c[e+(c[46738]<<2)>>2]|0;o=0;e=ca(33,u|0,c[c[e+(c[46737]<<2)>>2]>>2]|0,c[k>>2]|0)|0;g=o;o=0;if((g|0)!=0&(p|0)!=0){j=D3(c[g>>2]|0,G|0,F|0)|0;if(!j)bb(g|0,p|0);z=p}else j=-1;if((j|0)==1){e=z;continue a}j=(e|0)==1;n=j?f:k;j=j?k:f}else v=68}if((v|0)==68){v=0;k=c[r+(q*52|0)+4+(e<<4)>>2]|0;m=c[r+(q*52|0)+4+(e<<4)+4>>2]|0;o=0;e=ca(33,c[k>>2]|0,c[c[r+(q*52|0)+4+(((e+1|0)%3|0)<<4)+4>>2]>>2]|0,c[m>>2]|0)|0;g=o;o=0;if((g|0)!=0&(p|0)!=0){j=D3(c[g>>2]|0,G|0,F|0)|0;if(!j)bb(g|0,p|0);z=p}else j=-1;if((j|0)==1){e=z;continue a}j=(e|0)==1;n=j?k:m;j=j?m:k}do if((q|0)==(s|0)){o=0;ja(31,2,j|0);e=o;o=0;if((e|0)!=0&(p|0)!=0){g=D3(c[e>>2]|0,G|0,F|0)|0;if(!g)bb(e|0,p|0);z=p}else g=-1;if((g|0)==1){e=z;continue a}o=0;ja(31,1,n|0);e=o;o=0;if((e|0)!=0&(p|0)!=0){g=D3(c[e>>2]|0,G|0,F|0)|0;if(!g)bb(e|0,p|0);z=p}else g=-1;if((g|0)==1){e=z;continue a}e=0}else{m=c[46735]|0;if((c[m+(c[46737]<<2)>>2]|0)!=(n|0)?(c[m+(c[46738]<<2)>>2]|0)!=(n|0):0){o=0;j=$(34,n|0)|0;e=o;o=0;if((e|0)!=0&(p|0)!=0){g=D3(c[e>>2]|0,G|0,F|0)|0;if(!g)bb(e|0,p|0);z=p}else g=-1;if((g|0)==1){e=z;continue a}o=0;ja(32,2,j|0);e=o;o=0;if((e|0)!=0&(p|0)!=0){g=D3(c[e>>2]|0,G|0,F|0)|0;if(!g)bb(e|0,p|0);z=p}else g=-1;if((g|0)==1){e=z;continue a}o=0;ja(31,1,n|0);e=o;o=0;if((e|0)!=0&(p|0)!=0){g=D3(c[e>>2]|0,G|0,F|0)|0;if(!g)bb(e|0,p|0);z=p}else g=-1;if((g|0)==1){e=z;continue a}if((j|0)<=(c[46739]|0)){e=0;break}c[46739]=j;e=0;break}o=0;k=$(34,j|0)|0;e=o;o=0;if((e|0)!=0&(p|0)!=0){g=D3(c[e>>2]|0,G|0,F|0)|0;if(!g)bb(e|0,p|0);z=p}else g=-1;if((g|0)==1){e=z;continue a}o=0;ja(32,1,k|0);e=o;o=0;if((e|0)!=0&(p|0)!=0){g=D3(c[e>>2]|0,G|0,F|0)|0;if(!g)bb(e|0,p|0);z=p}else g=-1;if((g|0)==1){e=z;continue a}o=0;ja(31,2,j|0);e=o;o=0;if((e|0)!=0&(p|0)!=0){g=D3(c[e>>2]|0,G|0,F|0)|0;if(!g)bb(e|0,p|0);z=p}else g=-1;if((g|0)==1){e=z;continue a}if((k|0)>=(c[46739]|0)){e=0;break}c[46739]=k;e=0}while(0);while(1){if((e|0)>=3){q=-1;continue e}g=c[r+(q*52|0)+4+(e<<4)+12>>2]|0;if(g|0?(c[g>>2]|0)==1:0)break;e=e+1|0}q=(g-(c[46743]|0)|0)/52|0}while(1){if(!g)break;g=c[g+4>>2]|0;e=e+1|0}o=0;ia(115,e|0);g=o;o=0;if((g|0)!=0&(p|0)!=0){j=D3(c[g>>2]|0,G|0,F|0)|0;if(!j)bb(g|0,p|0);z=p}else j=-1;if((j|0)==1)e=z;else{v=94;break}}if((v|0)==41)e=-1;else if((v|0)==48)e=-1;else if((v|0)==53){c[d+4>>2]=2;e=c[46742]|0;c[e>>2]=c[b>>2];c[e+4>>2]=c[b+4>>2];c[e+8>>2]=c[b+8>>2];c[e+12>>2]=c[b+12>>2];F=e+16|0;c[F>>2]=c[u>>2];c[F+4>>2]=c[u+4>>2];c[F+8>>2]=c[u+8>>2];c[F+12>>2]=c[u+12>>2];c[d>>2]=e;e=0}else if((v|0)==56){c[d+4>>2]=2;e=c[46742]|0;c[e>>2]=c[b>>2];c[e+4>>2]=c[b+4>>2];c[e+8>>2]=c[b+8>>2];c[e+12>>2]=c[b+12>>2];F=e+16|0;c[F>>2]=c[u>>2];c[F+4>>2]=c[u+4>>2];c[F+8>>2]=c[u+8>>2];c[F+12>>2]=c[u+12>>2];c[d>>2]=e;e=0}else if((v|0)==94){c[d+4>>2]=e;g=c[46742]|0;while(1){e=e+-1|0;if(!f)break;F=g+(e<<4)|0;E=c[f>>2]|0;c[F>>2]=c[E>>2];c[F+4>>2]=c[E+4>>2];c[F+8>>2]=c[E+8>>2];c[F+12>>2]=c[E+12>>2];f=c[f+4>>2]|0}c[d>>2]=g;e=0}C_(G|0);l=H;return e|0}function TU(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0;h=l;l=l+64|0;e=h+48|0;g=h+32|0;f=h+16|0;d=h;if((c[46746]|0)<(a|0)){b=c[46740]|0;if(!b){g=B_(a<<3)|0;c[46740]=g;if(!g){g=c[15686]|0;c[d>>2]=138776;c[d+4>>2]=523;c[d+8>>2]=139026;f1(g,138757,d)|0;bb(186776,1)}g=B_(a<<2)|0;c[46741]=g;if(!g){g=c[15686]|0;c[f>>2]=138776;c[f+4>>2]=527;c[f+8>>2]=139045;f1(g,138757,f)|0;bb(186776,1)}}else{f=E_(b,a<<3)|0;c[46740]=f;if(!f){f=c[15686]|0;c[g>>2]=138776;c[g+4>>2]=533;c[g+8>>2]=139065;f1(f,138757,g)|0;bb(186776,1)}g=E_(c[46741]|0,a<<2)|0;c[46741]=g;if(!g){g=c[15686]|0;c[e>>2]=138776;c[e+4>>2]=539;c[e+8>>2]=139085;f1(g,138757,e)|0;bb(186776,1)}}c[46746]=a}l=h;return}function UU(a){a=a|0;var b=0,d=0,e=0,f=0;f=l;l=l+32|0;e=f+16|0;d=f;if((c[46736]|0)<(a|0)){b=c[46735]|0;if(!b){e=B_(a<<2)|0;c[46735]=e;if(!e){e=c[15686]|0;c[d>>2]=138776;c[d+4>>2]=573;c[d+8>>2]=138981;f1(e,138757,d)|0;bb(186776,1)}}else{d=E_(b,a<<2)|0;c[46735]=d;if(!d){d=c[15686]|0;c[e>>2]=138776;c[e+4>>2]=580;c[e+8>>2]=139003;f1(d,138757,e)|0;bb(186776,1)}}c[46736]=a}l=f;return}function VU(a,b,c){a=a|0;b=b|0;c=c|0;var d=0.0,e=0.0;d=+h[b+8>>3];e=+h[b>>3];d=(+h[c>>3]-e)*(+h[a+8>>3]-d)-(+h[a>>3]-e)*(+h[c+8>>3]-d);return (d>0.0?1:d<0.0?2:3)|0}function WU(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0;i=l;l=l+16|0;h=i;a:while(1){if((b|0)>3)e=0;else{b=9;break}while(1){if((e|0)>=(b|0)){b=8;break a}f=e+1|0;d=(f|0)%(b|0)|0;g=(e+2|0)%(b|0)|0;if(!(cV(e,g,a,b)|0))e=f;else break}dV(c[a+(e<<2)>>2]|0,c[a+(d<<2)>>2]|0,c[a+(g<<2)>>2]|0);b=b+-1|0;while(1){if((d|0)>=(b|0))continue a;g=d+1|0;c[a+(d<<2)>>2]=c[a+(g<<2)>>2];d=g}}if((b|0)==8){a=c[15686]|0;c[h>>2]=138776;c[h+4>>2]=324;c[h+8>>2]=138921;f1(a,138757,h)|0}else if((b|0)==9)dV(c[a>>2]|0,c[a+4>>2]|0,c[a+8>>2]|0);l=i;return}function XU(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;i=c[46743]|0;j=i+(a*52|0)|0;k=i+(b*52|0)|0;g=0;while(1){if((g|0)==3)break;l=i+(a*52|0)+4+(g<<4)|0;m=i+(a*52|0)+4+(g<<4)+4|0;n=i+(a*52|0)+4+(g<<4)+12|0;f=0;while(1){if((f|0)==3)break;o=c[c[l>>2]>>2]|0;h=c[c[i+(b*52|0)+4+(f<<4)>>2]>>2]|0;if((o|0)==(h|0)){d=c[c[i+(b*52|0)+4+(f<<4)+4>>2]>>2]|0;if((c[c[m>>2]>>2]|0)==(d|0))e=10;else e=8}else{d=c[c[i+(b*52|0)+4+(f<<4)+4>>2]>>2]|0;e=8}if(((e|0)==8?(e=0,(o|0)==(d|0)):0)?(c[c[m>>2]>>2]|0)==(h|0):0)e=10;if((e|0)==10){c[n>>2]=k;c[i+(b*52|0)+4+(f<<4)+12>>2]=j}f=f+1|0}g=g+1|0}return}function YU(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;f=c[46743]|0;d=0;e=0;while(1){if((e|0)==3)break;d=d+((VU(c[c[f+(a*52|0)+4+(e<<4)>>2]>>2]|0,c[c[f+(a*52|0)+4+(e<<4)+4>>2]>>2]|0,b)|0)!=2&1)|0;e=e+1|0}return ((d|0)==3|(d|0)==0)&1|0}function ZU(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=c[46743]|0;e=d+(a*52|0)|0;a:do if(!(c[e>>2]|0)){c[e>>2]=1;if((a|0)==(b|0))d=1;else{f=0;while(1){if((f|0)>=3)break;e=c[d+(a*52|0)+4+(f<<4)+12>>2]|0;if(e){if(ZU((e-d|0)/52|0,b)|0){d=1;break a}d=c[46743]|0}f=f+1|0}c[d+(a*52|0)>>2]=0;d=0}}else d=0;while(0);return d|0}function _U(a){a=a|0;var b=0,d=0,e=0,f=0;f=l;l=l+32|0;e=f+16|0;d=f;if((c[46744]|0)<(a|0)){b=c[46742]|0;if(!b){e=B_(a<<4)|0;c[46742]=e;if(!e){e=c[15686]|0;c[d>>2]=138776;c[d+4>>2]=593;c[d+8>>2]=138884;f1(e,138757,d)|0;bb(186776,1)}}else{d=E_(b,a<<4)|0;c[46742]=d;if(!d){d=c[15686]|0;c[e>>2]=138776;c[e+4>>2]=599;c[e+8>>2]=138902;f1(d,138757,e)|0;bb(186776,1)}}c[46744]=a}l=f;return}function $U(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=c[46738]|0;e=c[46737]|0;f=(d|0)>=(e|0);if((a|0)==1)if(f){c[b+4>>2]=c[(c[46735]|0)+(e<<2)>>2];a=186948;d=-1}else{a=186948;d=-1}else if(f){c[b+4>>2]=c[(c[46735]|0)+(d<<2)>>2];a=186952;d=1}else{a=186952;d=1}f=(c[a>>2]|0)+d|0;c[a>>2]=f;c[(c[46735]|0)+(f<<2)>>2]=b;return}function aV(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;f=c[46739]|0;g=c[46735]|0;b=c[46737]|0;while(1){if((b|0)>=(f|0)){e=4;break}d=b+1|0;if((VU(c[c[g+(d<<2)>>2]>>2]|0,c[c[g+(b<<2)>>2]>>2]|0,c[a>>2]|0)|0)==1)break;else b=d}a:do if((e|0)==4){b=c[46738]|0;while(1){if((b|0)<=(f|0)){b=f;break a}d=b+-1|0;if((VU(c[c[g+(d<<2)>>2]>>2]|0,c[c[g+(b<<2)>>2]>>2]|0,c[a>>2]|0)|0)==2)break;else b=d}}while(0);return b|0}function bV(a,b){a=a|0;b=b|0;c[((a|0)==1?186952:186948)>>2]=b;return}function cV(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0;f=c[c[d+(((a+-1+e|0)%(e|0)|0)<<2)>>2]>>2]|0;i=c[c[d+(a<<2)>>2]>>2]|0;g=c[c[d+(((a+1|0)%(e|0)|0)<<2)>>2]>>2]|0;k=(VU(f,i,g)|0)==1;j=c[c[d+(b<<2)>>2]>>2]|0;if(k)if((VU(i,j,f)|0)==1){f=VU(j,i,g)|0;g=1;h=5}else f=0;else{f=VU(i,j,g)|0;g=2;h=5}a:do if((h|0)==5)if((f|0)==(g|0)){f=0;while(1){if((f|0)>=(e|0)){f=1;break a}g=f;f=f+1|0;h=(f|0)%(e|0)|0;if((h|0)==(b|0)|((g|0)==(b|0)|((g|0)==(a|0)|(h|0)==(a|0))))continue;if(fV(i,j,c[c[d+(g<<2)>>2]>>2]|0,c[c[d+(h<<2)>>2]>>2]|0)|0){f=0;break}}}else f=0;while(0);return f|0}function dV(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;e=c[46734]|0;f=c[46745]|0;if((e|0)<(f|0))h=e;else{eV(f+20|0);h=c[46734]|0}g=c[46743]|0;c[46734]=h+1;f=g+(h*52|0)|0;c[f>>2]=0;c[g+(h*52|0)+4>>2]=a;c[g+(h*52|0)+8>>2]=b;c[g+(h*52|0)+16>>2]=0;c[g+(h*52|0)+20>>2]=b;c[g+(h*52|0)+24>>2]=d;c[g+(h*52|0)+32>>2]=0;c[g+(h*52|0)+36>>2]=d;c[g+(h*52|0)+40>>2]=a;c[g+(h*52|0)+48>>2]=0;e=0;while(1){if((e|0)==3)break;c[g+(h*52|0)+4+(e<<4)+8>>2]=f;e=e+1|0}return}function eV(a){a=a|0;var b=0,d=0,e=0,f=0;f=l;l=l+32|0;e=f+16|0;d=f;if((c[46745]|0)<(a|0)){b=c[46743]|0;if(!b){e=B_(a*52|0)|0;c[46743]=e;if(!e){e=c[15686]|0;c[d>>2]=138776;c[d+4>>2]=552;c[d+8>>2]=138942;f1(e,138757,d)|0;bb(186776,1)}}else{d=E_(b,a*52|0)|0;c[46743]=d;if(!d){d=c[15686]|0;c[e>>2]=138776;c[e+4>>2]=558;c[e+8>>2]=138961;f1(d,138757,e)|0;bb(186776,1)}}c[46745]=a}l=f;return}function fV(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0;f=VU(a,b,c)|0;if((((f|0)!=3?(g=VU(a,b,d)|0,(g|0)!=3):0)?(h=VU(c,d,a)|0,(h|0)!=3):0)?(e=VU(c,d,b)|0,(e|0)!=3):0)return ((f|0)==1^(g|0)==1)&((h|0)==1^(e|0)==1)&1|0;if(((gV(a,b,c)|0)==0?(gV(a,b,d)|0)==0:0)?(gV(c,d,a)|0)==0:0)return (gV(c,d,b)|0)!=0|0;return 1}function gV(a,b,c){a=a|0;b=b|0;c=c|0;var d=0.0,e=0.0,f=0.0,g=0.0;e=+h[a>>3];g=+h[b>>3]-e;f=+h[a+8>>3];d=+h[b+8>>3]-f;e=+h[c>>3]-e;f=+h[c+8>>3]-f;if((VU(a,b,c)|0)==3?f*d+e*g>=0.0:0)a=f*f+e*e<=d*d+g*g&1;else a=0;return a|0}function hV(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0.0,i=0,j=0.0,k=0,l=0,m=0,n=0,o=0,p=0.0,q=0;m=B_(d<<2)|0;n=B_((d<<3)+8|0)|0;o=n+8|0;f=0;while(1){if((f|0)>=(d|0))break;c[m+(f<<2)>>2]=-1;h[o+(f<<3)>>3]=-2147483647.0;f=f+1|0}h[n>>3]=-2147483648.0;a:while(1){if((a|0)==(b|0))break;l=o+(a<<3)|0;j=+h[l>>3];h[l>>3]=j==-2147483647.0?0.0:-j;k=0;f=-1;while(1){if((k|0)>=(d|0)){a=f;continue a}i=o+(k<<3)|0;g=+h[i>>3];if(g<0.0){q=(a|0)<(k|0);p=+h[(c[e+((q?k:a)<<2)>>2]|0)+((q?a:k)<<3)>>3];j=-(p+ +h[l>>3]);if(p!=0.0&g>3]=j;c[m+(k<<2)>>2]=a;g=j}f=g>+h[o+(f<<3)>>3]?k:f}k=k+1|0}}C_(n);return m|0}function iV(a,b,d,e,f,g,h){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,m=0;j=l;l=l+32|0;k=j+16|0;m=j;i=c[h+4>>2]|0;c[m>>2]=c[a>>2];c[m+4>>2]=c[a+4>>2];c[m+8>>2]=c[a+8>>2];c[m+12>>2]=c[a+12>>2];c[k>>2]=c[e>>2];c[k+4>>2]=c[e+4>>2];c[k+8>>2]=c[e+8>>2];c[k+12>>2]=c[e+12>>2];if(!(BV(m,b,k,f,h)|0)){a=c[h+24>>2]|0;c[a+(i<<2)>>2]=g;m=i+1|0;c[a+(m<<2)>>2]=d;a=hV(m,i,i+2|0,a)|0}else{a=B_((i<<2)+8|0)|0;m=i+1|0;c[a+(i<<2)>>2]=m;c[a+(m<<2)>>2]=-1}l=j;return a|0}function jV(a,b){a=a|0;b=b|0;var c=0,d=0.0,e=0.0,f=0.0,g=0.0,i=0.0,j=0;d=+h[a+24>>3];a:do if(d<1.0e-07&d>-1.0e-07)a=kV(a,b)|0;else{g=+h[a+16>>3]/(d*3.0);f=+h[a+8>>3]/d;e=g*g;d=g*2.0*e-g*f+ +h[a>>3]/d;e=f*.3333333333333333-e;e=e*e*4.0*e;f=d*d+e;if(!(f<0.0)){i=(+C(+f)-d)*.5;e=+m$(i);d=+m$(-d-i)+e;h[b>>3]=d;if(f>0.0)a=1;else{d=d*-.5;h[b+16>>3]=d;a=1;c=7}}else{i=+K(+(+C(+-f)),+-d);d=+m$(+C(+-e)*.5)*2.0;h[b>>3]=d*+E(+(i*.3333333333333333));h[b+8>>3]=+E(+((i+6.283185307179586)*.3333333333333333))*d;d=+E(+((i+-6.283185307179586)*.3333333333333333))*d;a=2;c=7}if((c|0)==7){h[b+(a<<3)>>3]=d;a=3}c=0;while(1){if((c|0)>=(a|0))break a;j=b+(c<<3)|0;h[j>>3]=+h[j>>3]-g;c=c+1|0}}while(0);return a|0}function kV(a,b){a=a|0;b=b|0;var c=0.0,d=0.0;c=+h[a+16>>3];do if(!(c<1.0e-07&c>-1.0e-07)){d=+h[a+8>>3]/(c*2.0);c=d*d-+h[a>>3]/c;if(!(c<0.0))if(c==0.0){h[b>>3]=-d;a=1;break}else{c=+C(+c)-d;h[b>>3]=c;h[b+8>>3]=d*-2.0-c;a=2;break}else a=0}else a=lV(a,b)|0;while(0);return a|0}function lV(a,b){a=a|0;b=b|0;var c=0.0,d=0.0;d=+h[a+8>>3];c=+h[a>>3];if(d<1.0e-07&d>-1.0e-07)a=c<1.0e-07&c>-1.0e-07?4:0;else{h[b>>3]=-c/d;a=1}return a|0}function mV(a){a=a|0;C_(c[a>>2]|0);C_(a);return}function nV(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;e=c[a+4>>2]|0;i=(e*3|0)+-2|0;d=c[46748]|0;if((i|0)>(c[46747]|0)){if(!d)d=B_(i<<4)|0;else d=E_(d,i<<4)|0;c[46748]=d;c[46747]=i;h=d;g=d}else{h=d;g=d}f=c[a>>2]|0;c[h>>2]=c[f>>2];c[h+4>>2]=c[f+4>>2];c[h+8>>2]=c[f+8>>2];c[h+12>>2]=c[f+12>>2];F3(h+16|0,f|0,16)|0;e=e+-1|0;d=1;a=2;while(1){if((d|0)>=(e|0))break;j=h+(a+2<<4)|0;k=h+(a+1<<4)|0;m=h+(a<<4)|0;l=f+(d<<4)|0;c[m>>2]=c[l>>2];c[m+4>>2]=c[l+4>>2];c[m+8>>2]=c[l+8>>2];c[m+12>>2]=c[l+12>>2];F3(k|0,l|0,16)|0;c[j>>2]=c[k>>2];c[j+4>>2]=c[k+4>>2];c[j+8>>2]=c[k+8>>2];c[j+12>>2]=c[k+12>>2];d=d+1|0;a=a+3|0}l=h+(a<<4)|0;m=f+(d<<4)|0;c[l>>2]=c[m>>2];c[l+4>>2]=c[m+4>>2];c[l+8>>2]=c[m+8>>2];c[l+12>>2]=c[m+12>>2];F3(h+(a+1<<4)|0,m|0,16)|0;c[b+4>>2]=i;c[b>>2]=g;return}function oV(a,b,c){a=a|0;b=b|0;c=c|0;var d=0.0,e=0.0;d=+h[b+8>>3];e=+h[b>>3];d=(+h[c>>3]-e)*(+h[a+8>>3]-d)-(+h[a>>3]-e)*(+h[c+8>>3]-d);return (d>.0001?1:(d<-.0001)<<31>>31)|0}function pV(a,b,c){a=a|0;b=b|0;c=c|0;var d=0.0,e=0.0,f=0.0;e=+h[a>>3];f=+h[b>>3];if(e!=f){d=+h[c>>3];if(!(e>3];e=+h[c+8>>3];d=+h[b+8>>3];if(!(f>2]=c[a>>2];c[g+4>>2]=c[a+4>>2];c[g+8>>2]=c[a+8>>2];c[g+12>>2]=c[a+12>>2];c[h>>2]=c[b>>2];c[h+4>>2]=c[b+4>>2];c[h+8>>2]=c[b+8>>2];c[h+12>>2]=c[b+12>>2];c[i>>2]=c[d>>2];c[i+4>>2]=c[d+4>>2];c[i+8>>2]=c[d+8>>2];c[i+12>>2]=c[d+12>>2];j=oV(g,h,i)|0;if((j|0)==0?(c[g>>2]=c[a>>2],c[g+4>>2]=c[a+4>>2],c[g+8>>2]=c[a+8>>2],c[g+12>>2]=c[a+12>>2],c[h>>2]=c[b>>2],c[h+4>>2]=c[b+4>>2],c[h+8>>2]=c[b+8>>2],c[h+12>>2]=c[b+12>>2],c[i>>2]=c[d>>2],c[i+4>>2]=c[d+4>>2],c[i+8>>2]=c[d+8>>2],c[i+12>>2]=c[d+12>>2],(pV(g,h,i)|0)!=0):0)f=1;else k=3;do if((k|0)==3){c[g>>2]=c[a>>2];c[g+4>>2]=c[a+4>>2];c[g+8>>2]=c[a+8>>2];c[g+12>>2]=c[a+12>>2];c[h>>2]=c[b>>2];c[h+4>>2]=c[b+4>>2];c[h+8>>2]=c[b+8>>2];c[h+12>>2]=c[b+12>>2];c[i>>2]=c[e>>2];c[i+4>>2]=c[e+4>>2];c[i+8>>2]=c[e+8>>2];c[i+12>>2]=c[e+12>>2];f=oV(g,h,i)|0;if((f|0)==0?(c[g>>2]=c[a>>2],c[g+4>>2]=c[a+4>>2],c[g+8>>2]=c[a+8>>2],c[g+12>>2]=c[a+12>>2],c[h>>2]=c[b>>2],c[h+4>>2]=c[b+4>>2],c[h+8>>2]=c[b+8>>2],c[h+12>>2]=c[b+12>>2],c[i>>2]=c[e>>2],c[i+4>>2]=c[e+4>>2],c[i+8>>2]=c[e+8>>2],c[i+12>>2]=c[e+12>>2],pV(g,h,i)|0):0){f=1;break};c[g>>2]=c[d>>2];c[g+4>>2]=c[d+4>>2];c[g+8>>2]=c[d+8>>2];c[g+12>>2]=c[d+12>>2];c[h>>2]=c[e>>2];c[h+4>>2]=c[e+4>>2];c[h+8>>2]=c[e+8>>2];c[h+12>>2]=c[e+12>>2];c[i>>2]=c[a>>2];c[i+4>>2]=c[a+4>>2];c[i+8>>2]=c[a+8>>2];c[i+12>>2]=c[a+12>>2];a=oV(g,h,i)|0;c[g>>2]=c[d>>2];c[g+4>>2]=c[d+4>>2];c[g+8>>2]=c[d+8>>2];c[g+12>>2]=c[d+12>>2];c[h>>2]=c[e>>2];c[h+4>>2]=c[e+4>>2];c[h+8>>2]=c[e+8>>2];c[h+12>>2]=c[e+12>>2];c[i>>2]=c[b>>2];c[i+4>>2]=c[b+4>>2];c[i+8>>2]=c[b+8>>2];c[i+12>>2]=c[b+12>>2];k=(O(f,j)|0)<0;f=(O(oV(g,h,i)|0,a)|0)>>>31;f=k?f:0}while(0);l=m;return f|0}function rV(a,b){a=a|0;b=b|0;var c=0.0,d=0.0;c=+h[a>>3]-+h[b>>3];d=+h[a+8>>3]-+h[b+8>>3];return +(d*d+c*c)}function sV(a){a=a|0;c[a+24>>2]=tV(c[a+4>>2]|0)|0;uV(a);return}function tV(a){a=a|0;var b=0,d=0,e=0,f=0;e=a+2|0;f=B_(e<<2)|0;b=D_(O(a,a)|0,8)|0;d=0;while(1){if((d|0)>=(a|0))break;c[f+(d<<2)>>2]=b;b=b+(a<<3)|0;d=d+1|0}while(1){if((a|0)>=(e|0))break;c[f+(a<<2)>>2]=0;a=a+1|0}return f|0}function uV(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0.0;p=l;l=l+32|0;i=p+16|0;g=p;j=c[a+4>>2]|0;m=c[a+8>>2]|0;n=c[a+16>>2]|0;o=c[a+20>>2]|0;d=c[a+24>>2]|0;b=0;while(1){if((b|0)>=(j|0))break;q=c[o+(b<<2)>>2]|0;e=m+(b<<4)|0;f=m+(q<<4)|0;c[g>>2]=c[e>>2];c[g+4>>2]=c[e+4>>2];c[g+8>>2]=c[e+8>>2];c[g+12>>2]=c[e+12>>2];c[i>>2]=c[f>>2];c[i+4>>2]=c[f+4>>2];c[i+8>>2]=c[f+8>>2];c[i+12>>2]=c[f+12>>2];r=+vV(g,i);f=c[d+(b<<2)>>2]|0;h[f+(q<<3)>>3]=r;h[(c[d+(q<<2)>>2]|0)+(b<<3)>>3]=r;a=b+-1|0;a=(q|0)==(a|0)?b+-2|0:a;while(1){if((a|0)<=-1)break;if((wV(b,a,m,n,o)|0?wV(a,b,m,n,o)|0:0)?(k=m+(a<<4)|0,c[g>>2]=c[e>>2],c[g+4>>2]=c[e+4>>2],c[g+8>>2]=c[e+8>>2],c[g+12>>2]=c[e+12>>2],c[i>>2]=c[k>>2],c[i+4>>2]=c[k+4>>2],c[i+8>>2]=c[k+8>>2],c[i+12>>2]=c[k+12>>2],xV(g,i,j,j,j,m,n)|0):0){c[g>>2]=c[e>>2];c[g+4>>2]=c[e+4>>2];c[g+8>>2]=c[e+8>>2];c[g+12>>2]=c[e+12>>2];c[i>>2]=c[k>>2];c[i+4>>2]=c[k+4>>2];c[i+8>>2]=c[k+8>>2];c[i+12>>2]=c[k+12>>2];r=+vV(g,i);h[f+(a<<3)>>3]=r;h[(c[d+(a<<2)>>2]|0)+(b<<3)>>3]=r}a=a+-1|0}b=b+1|0}l=p;return}function vV(a,b){a=a|0;b=b|0;var d=0.0,e=0,f=0,g=0;e=l;l=l+32|0;f=e+16|0;g=e;c[g>>2]=c[a>>2];c[g+4>>2]=c[a+4>>2];c[g+8>>2]=c[a+8>>2];c[g+12>>2]=c[a+12>>2];c[f>>2]=c[b>>2];c[f+4>>2]=c[b+4>>2];c[f+8>>2]=c[b+8>>2];c[f+12>>2]=c[b+12>>2];d=+C(+(+rV(g,f)));l=e;return +d}function wV(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,m=0,n=0;g=l;l=l+64|0;h=g+48|0;i=g+32|0;j=g+16|0;k=g;n=d+(c[f+(a<<2)>>2]<<4)|0;m=d+(a<<4)|0;e=d+(c[e+(a<<2)>>2]<<4)|0;f=d+(b<<4)|0;c[k>>2]=c[n>>2];c[k+4>>2]=c[n+4>>2];c[k+8>>2]=c[n+8>>2];c[k+12>>2]=c[n+12>>2];c[j>>2]=c[m>>2];c[j+4>>2]=c[m+4>>2];c[j+8>>2]=c[m+8>>2];c[j+12>>2]=c[m+12>>2];c[i>>2]=c[e>>2];c[i+4>>2]=c[e+4>>2];c[i+8>>2]=c[e+8>>2];c[i+12>>2]=c[e+12>>2];c[h>>2]=c[f>>2];c[h+4>>2]=c[f+4>>2];c[h+8>>2]=c[f+8>>2];c[h+12>>2]=c[f+12>>2];f=yV(k,j,i,h)|0;l=g;return f|0}function xV(a,b,d,e,f,g,h){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0;p=l;l=l+64|0;n=p+48|0;m=p+32|0;k=p+16|0;j=p;i=0;while(1){if((i|0)>=(d|0)){o=4;break}r=g+(i<<4)|0;q=g+(c[h+(i<<2)>>2]<<4)|0;c[j>>2]=c[a>>2];c[j+4>>2]=c[a+4>>2];c[j+8>>2]=c[a+8>>2];c[j+12>>2]=c[a+12>>2];c[k>>2]=c[b>>2];c[k+4>>2]=c[b+4>>2];c[k+8>>2]=c[b+8>>2];c[k+12>>2]=c[b+12>>2];c[m>>2]=c[r>>2];c[m+4>>2]=c[r+4>>2];c[m+8>>2]=c[r+8>>2];c[m+12>>2]=c[r+12>>2];c[n>>2]=c[q>>2];c[n+4>>2]=c[q+4>>2];c[n+8>>2]=c[q+8>>2];c[n+12>>2]=c[q+12>>2];if(!(qV(j,k,m,n)|0))i=i+1|0;else{e=0;break}}a:do if((o|0)==4)while(1){if((e|0)>=(f|0)){e=1;break a}q=g+(e<<4)|0;r=g+(c[h+(e<<2)>>2]<<4)|0;c[j>>2]=c[a>>2];c[j+4>>2]=c[a+4>>2];c[j+8>>2]=c[a+8>>2];c[j+12>>2]=c[a+12>>2];c[k>>2]=c[b>>2];c[k+4>>2]=c[b+4>>2];c[k+8>>2]=c[b+8>>2];c[k+12>>2]=c[b+12>>2];c[m>>2]=c[q>>2];c[m+4>>2]=c[q+4>>2];c[m+8>>2]=c[q+8>>2];c[m+12>>2]=c[q+12>>2];c[n>>2]=c[r>>2];c[n+4>>2]=c[r+4>>2];c[n+8>>2]=c[r+8>>2];c[n+12>>2]=c[r+12>>2];if(!(qV(j,k,m,n)|0)){e=e+1|0;o=4}else{e=0;break}}while(0);l=p;return e|0}function yV(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0;g=l;l=l+48|0;h=g+32|0;i=g+16|0;j=g;c[j>>2]=c[e>>2];c[j+4>>2]=c[e+4>>2];c[j+8>>2]=c[e+8>>2];c[j+12>>2]=c[e+12>>2];c[i>>2]=c[a>>2];c[i+4>>2]=c[a+4>>2];c[i+8>>2]=c[a+8>>2];c[i+12>>2]=c[a+12>>2];c[h>>2]=c[b>>2];c[h+4>>2]=c[b+4>>2];c[h+8>>2]=c[b+8>>2];c[h+12>>2]=c[b+12>>2];f=oV(j,i,h)|0;c[j>>2]=c[e>>2];c[j+4>>2]=c[e+4>>2];c[j+8>>2]=c[e+8>>2];c[j+12>>2]=c[e+12>>2];c[i>>2]=c[b>>2];c[i+4>>2]=c[b+4>>2];c[i+8>>2]=c[b+8>>2];c[i+12>>2]=c[b+12>>2];c[h>>2]=c[d>>2];c[h+4>>2]=c[d+4>>2];c[h+8>>2]=c[d+8>>2];c[h+12>>2]=c[d+12>>2];e=oV(j,i,h)|0;c[j>>2]=c[a>>2];c[j+4>>2]=c[a+4>>2];c[j+8>>2]=c[a+8>>2];c[j+12>>2]=c[a+12>>2];c[i>>2]=c[b>>2];c[i+4>>2]=c[b+4>>2];c[i+8>>2]=c[b+8>>2];c[i+12>>2]=c[b+12>>2];c[h>>2]=c[d>>2];c[h+4>>2]=c[d+4>>2];c[h+8>>2]=c[d+8>>2];c[h+12>>2]=c[d+12>>2];d=(oV(j,i,h)|0)>0;l=g;return (d?e|f:e&f)>>>31^1|0}function zV(a,b,d){a=a|0;b=b|0;d=d|0;var e=0.0,f=0,g=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;s=l;l=l+80|0;j=s+64|0;i=s+48|0;g=s+32|0;k=s+16|0;o=s;p=c[a+4>>2]|0;q=c[a+8>>2]|0;r=c[a+16>>2]|0;m=c[a+20>>2]|0;n=B_((p<<3)+16|0)|0;if((b|0)==-2222){c[j>>2]=c[d>>2];c[j+4>>2]=c[d+4>>2];c[j+8>>2]=c[d+8>>2];c[j+12>>2]=c[d+12>>2];b=AV(a,j)|0}if((b|0)>-1){a=c[a+12>>2]|0;f=c[a+(b+1<<2)>>2]|0;a=c[a+(b<<2)>>2]|0}else{f=p;a=p}b=0;while(1){if((b|0)>=(a|0)){b=a;break}u=q+(b<<4)|0;c[o>>2]=c[u>>2];c[o+4>>2]=c[u+4>>2];c[o+8>>2]=c[u+8>>2];c[o+12>>2]=c[u+12>>2];u=q+(c[m+(b<<2)>>2]<<4)|0;t=q+(c[r+(b<<2)>>2]<<4)|0;c[k>>2]=c[u>>2];c[k+4>>2]=c[u+4>>2];c[k+8>>2]=c[u+8>>2];c[k+12>>2]=c[u+12>>2];c[g>>2]=c[o>>2];c[g+4>>2]=c[o+4>>2];c[g+8>>2]=c[o+8>>2];c[g+12>>2]=c[o+12>>2];c[i>>2]=c[t>>2];c[i+4>>2]=c[t+4>>2];c[i+8>>2]=c[t+8>>2];c[i+12>>2]=c[t+12>>2];c[j>>2]=c[d>>2];c[j+4>>2]=c[d+4>>2];c[j+8>>2]=c[d+8>>2];c[j+12>>2]=c[d+12>>2];if((yV(k,g,i,j)|0)!=0?(c[i>>2]=c[d>>2],c[i+4>>2]=c[d+4>>2],c[i+8>>2]=c[d+8>>2],c[i+12>>2]=c[d+12>>2],c[j>>2]=c[o>>2],c[j+4>>2]=c[o+4>>2],c[j+8>>2]=c[o+8>>2],c[j+12>>2]=c[o+12>>2],(xV(i,j,a,f,p,q,r)|0)!=0):0){c[i>>2]=c[d>>2];c[i+4>>2]=c[d+4>>2];c[i+8>>2]=c[d+8>>2];c[i+12>>2]=c[d+12>>2];c[j>>2]=c[o>>2];c[j+4>>2]=c[o+4>>2];c[j+8>>2]=c[o+8>>2];c[j+12>>2]=c[o+12>>2];e=+vV(i,j)}else e=0.0;h[n+(b<<3)>>3]=e;b=b+1|0}while(1){if((b|0)>=(f|0)){b=f;break}h[n+(b<<3)>>3]=0.0;b=b+1|0}while(1){if((b|0)>=(p|0))break;t=q+(b<<4)|0;c[o>>2]=c[t>>2];c[o+4>>2]=c[t+4>>2];c[o+8>>2]=c[t+8>>2];c[o+12>>2]=c[t+12>>2];t=q+(c[m+(b<<2)>>2]<<4)|0;u=q+(c[r+(b<<2)>>2]<<4)|0;c[k>>2]=c[t>>2];c[k+4>>2]=c[t+4>>2];c[k+8>>2]=c[t+8>>2];c[k+12>>2]=c[t+12>>2];c[g>>2]=c[o>>2];c[g+4>>2]=c[o+4>>2];c[g+8>>2]=c[o+8>>2];c[g+12>>2]=c[o+12>>2];c[i>>2]=c[u>>2];c[i+4>>2]=c[u+4>>2];c[i+8>>2]=c[u+8>>2];c[i+12>>2]=c[u+12>>2];c[j>>2]=c[d>>2];c[j+4>>2]=c[d+4>>2];c[j+8>>2]=c[d+8>>2];c[j+12>>2]=c[d+12>>2];if((yV(k,g,i,j)|0)!=0?(c[i>>2]=c[d>>2],c[i+4>>2]=c[d+4>>2],c[i+8>>2]=c[d+8>>2],c[i+12>>2]=c[d+12>>2],c[j>>2]=c[o>>2],c[j+4>>2]=c[o+4>>2],c[j+8>>2]=c[o+8>>2],c[j+12>>2]=c[o+12>>2],(xV(i,j,a,f,p,q,r)|0)!=0):0){c[i>>2]=c[d>>2];c[i+4>>2]=c[d+4>>2];c[i+8>>2]=c[d+8>>2];c[i+12>>2]=c[d+12>>2];c[j>>2]=c[o>>2];c[j+4>>2]=c[o+4>>2];c[j+8>>2]=c[o+8>>2];c[j+12>>2]=c[o+12>>2];e=+vV(i,j)}else e=0.0;h[n+(b<<3)>>3]=e;b=b+1|0}h[n+(p<<3)>>3]=0.0;h[n+(p+1<<3)>>3]=0.0;l=s;return n|0}function AV(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0;m=l;l=l+32|0;f=m+8|0;e=m;h=m+24|0;i=a+8|0;j=a+12|0;k=h+4|0;d=0;while(1){if((d|0)>=(c[a>>2]|0)){d=-1111;break}o=c[j>>2]|0;n=c[o+(d<<2)>>2]|0;c[h>>2]=(c[i>>2]|0)+(n<<4);g=d+1|0;c[k>>2]=(c[o+(g<<2)>>2]|0)-n;c[e>>2]=c[h>>2];c[e+4>>2]=c[h+4>>2];c[f>>2]=c[b>>2];c[f+4>>2]=c[b+4>>2];c[f+8>>2]=c[b+8>>2];c[f+12>>2]=c[b+12>>2];if(!(vU(e,f)|0))d=g;else break}l=m;return d|0}function BV(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;t=l;l=l+64|0;n=t+48|0;m=t+32|0;p=t+16|0;o=t;r=c[f+4>>2]|0;s=c[f+8>>2]|0;q=c[f+16>>2]|0;g=(e|0)<0;do if((b|0)<0)if(g){g=0;i=0;f=0;h=0}else{b=c[f+12>>2]|0;f=0;h=0;i=e;j=b;b=b+(e<<2)|0;k=9}else{if(g){k=c[f+12>>2]|0;f=0;h=0;i=b;j=k;b=k+(b<<2)|0;k=9;break}g=c[f+12>>2]|0;if((b|0)>(e|0)){f=c[g+(e+1<<2)>>2]|0;h=c[g+(e<<2)>>2]|0;i=b;j=g;b=g+(b<<2)|0;k=9;break}else{f=c[g+(b+1<<2)>>2]|0;h=c[g+(b<<2)>>2]|0;i=e;j=g;b=g+(e<<2)|0;k=9;break}}while(0);if((k|0)==9){g=c[j+(i+1<<2)>>2]|0;i=c[b>>2]|0}b=0;while(1){if((b|0)>=(h|0)){k=13;break}j=s+(b<<4)|0;e=s+(c[q+(b<<2)>>2]<<4)|0;c[o>>2]=c[a>>2];c[o+4>>2]=c[a+4>>2];c[o+8>>2]=c[a+8>>2];c[o+12>>2]=c[a+12>>2];c[p>>2]=c[d>>2];c[p+4>>2]=c[d+4>>2];c[p+8>>2]=c[d+8>>2];c[p+12>>2]=c[d+12>>2];c[m>>2]=c[j>>2];c[m+4>>2]=c[j+4>>2];c[m+8>>2]=c[j+8>>2];c[m+12>>2]=c[j+12>>2];c[n>>2]=c[e>>2];c[n+4>>2]=c[e+4>>2];c[n+8>>2]=c[e+8>>2];c[n+12>>2]=c[e+12>>2];if(!(qV(o,p,m,n)|0))b=b+1|0;else{g=0;break}}a:do if((k|0)==13){while(1){if((f|0)>=(i|0))break;e=s+(f<<4)|0;k=s+(c[q+(f<<2)>>2]<<4)|0;c[o>>2]=c[a>>2];c[o+4>>2]=c[a+4>>2];c[o+8>>2]=c[a+8>>2];c[o+12>>2]=c[a+12>>2];c[p>>2]=c[d>>2];c[p+4>>2]=c[d+4>>2];c[p+8>>2]=c[d+8>>2];c[p+12>>2]=c[d+12>>2];c[m>>2]=c[e>>2];c[m+4>>2]=c[e+4>>2];c[m+8>>2]=c[e+8>>2];c[m+12>>2]=c[e+12>>2];c[n>>2]=c[k>>2];c[n+4>>2]=c[k+4>>2];c[n+8>>2]=c[k+8>>2];c[n+12>>2]=c[k+12>>2];if(!(qV(o,p,m,n)|0)){f=f+1|0;k=13}else{g=0;break a}}while(1){if((g|0)>=(r|0)){g=1;break a}e=s+(g<<4)|0;k=s+(c[q+(g<<2)>>2]<<4)|0;c[o>>2]=c[a>>2];c[o+4>>2]=c[a+4>>2];c[o+8>>2]=c[a+8>>2];c[o+12>>2]=c[a+12>>2];c[p>>2]=c[d>>2];c[p+4>>2]=c[d+4>>2];c[p+8>>2]=c[d+8>>2];c[p+12>>2]=c[d+12>>2];c[m>>2]=c[e>>2];c[m+4>>2]=c[e+4>>2];c[m+8>>2]=c[e+8>>2];c[m+12>>2]=c[e+12>>2];c[n>>2]=c[k>>2];c[n+4>>2]=c[k+4>>2];c[n+8>>2]=c[k+8>>2];c[n+12>>2]=c[k+12>>2];if(!(qV(o,p,m,n)|0))g=g+1|0;else{g=0;break}}}while(0);l=t;return g|0}function CV(a){a=a|0;return DV(a,0,0)|0}function DV(a,b,c){a=a|0;b=b|0;c=c|0;return EV(a,b,c,0)|0}function EV(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0;if(!d){g=B_(496)|0;if(!g)g=0;else{c[g+12>>2]=35;c[g+16>>2]=105;c[g+20>>2]=103;d=35;h=6}}else{g=kb[c[d>>2]&63](496)|0;if(!g)g=0;else{h=c[d>>2]|0;c[g+12>>2]=h;c[g+16>>2]=c[d+4>>2];c[g+20>>2]=c[d+8>>2];d=h;h=6}}do if((h|0)==6){c[g+8>>2]=0;c[g+32>>2]=0;c[g+376>>2]=16;j=g+12|0;i=kb[d&63](256)|0;d=g+388|0;c[d>>2]=i;if(!i){tb[c[g+20>>2]&127](g);g=0;break}h=kb[c[j>>2]&63](1024)|0;i=g+44|0;c[i>>2]=h;if(!h){e=g+20|0;tb[c[e>>2]&127](c[d>>2]|0);tb[c[e>>2]&127](g);g=0;break}c[g+48>>2]=h+1024;if(!f){f=FV(j)|0;c[g+352>>2]=f;if(!f){e=g+20|0;tb[c[e>>2]&127](c[i>>2]|0);tb[c[e>>2]&127](c[d>>2]|0);tb[c[e>>2]&127](g);g=0;break}}else c[g+352>>2]=f;c[g+372>>2]=0;c[g+364>>2]=0;c[g+300>>2]=0;c[g+464>>2]=0;c[g+460>>2]=0;c[g+124>>2]=0;c[g+244>>2]=0;d=g+468|0;a[d>>0]=33;h=g+232|0;a[h>>0]=0;a[g+233>>0]=0;c[g+392>>2]=0;c[g+396>>2]=0;a[g+400>>0]=0;f=g+228|0;c[f>>2]=0;GV(g+412|0,j);GV(g+436|0,j);HV(g,b);if(b|0?(c[f>>2]|0)==0:0){IV(g);g=0;break}if(!e){c[g+224>>2]=SX()|0;break}else{a[h>>0]=1;c[g+224>>2]=wZ()|0;a[d>>0]=a[e>>0]|0;break}}while(0);return g|0}function FV(b){b=b|0;var d=0;d=kb[c[b>>2]&63](188)|0;if(d|0){GV(d+80|0,b);GV(d+104|0,b);PW(d,b);PW(d+20|0,b);PW(d+40|0,b);PW(d+60|0,b);a[d+131>>0]=0;PW(d+132|0,b);c[d+152>>2]=0;c[d+156>>2]=0;a[d+160>>0]=0;b=d+164|0;c[b>>2]=0;c[b+4>>2]=0;c[b+8>>2]=0;c[b+12>>2]=0;c[b+16>>2]=0;c[b+20>>2]=0;a[d+128>>0]=1;a[d+129>>0]=0;a[d+130>>0]=0}return d|0}function GV(a,b){a=a|0;b=b|0;c[a>>2]=0;c[a+4>>2]=0;c[a+8>>2]=0;c[a+12>>2]=0;c[a+16>>2]=0;c[a+20>>2]=b;return}function HV(d,e){d=d|0;e=e|0;var f=0,g=0,h=0;c[d+276>>2]=56;DZ(d+252|0);if(e|0)c[d+228>>2]=QV(e,d+12|0)|0;c[d+356>>2]=0;GY(d+148|0,d+144|0,0)|0;c[d>>2]=0;c[d+4>>2]=0;e=d+116|0;g=d+52|0;h=g+64|0;do{c[g>>2]=0;g=g+4|0}while((g|0)<(h|0));c[e>>2]=d;c[d+120>>2]=0;e=d+128|0;c[e>>2]=0;c[e+4>>2]=0;c[e+8>>2]=0;c[e+12>>2]=0;e=c[d+8>>2]|0;c[d+24>>2]=e;c[d+28>>2]=e;c[d+36>>2]=0;c[d+40>>2]=0;e=d+312|0;g=d+404|0;c[g>>2]=0;c[g+4>>2]=0;g=d+280|0;f=d+304|0;c[g>>2]=0;c[g+4>>2]=0;c[g+8>>2]=0;c[g+12>>2]=0;c[g+16>>2]=0;g=e;h=g+36|0;do{c[g>>2]=0;g=g+4|0}while((g|0)<(h|0));b[e+36>>1]=0;a[f>>0]=1;c[d+308>>2]=0;c[d+360>>2]=0;c[d+368>>2]=0;c[d+380>>2]=0;c[d+236>>2]=0;c[d+248>>2]=0;c[d+240>>2]=0;c[d+472>>2]=0;c[d+476>>2]=0;a[d+484>>0]=0;a[d+485>>0]=0;c[d+488>>2]=0;c[d+492>>2]=0;return}function IV(b){b=b|0;var d=0,e=0,f=0,g=0,h=0;if(b|0){e=b+364|0;g=b+20|0;d=c[b+360>>2]|0;while(1){if(!d){d=c[e>>2]|0;if(!d)break;c[e>>2]=0}h=c[d>>2]|0;tb[c[g>>2]&127](c[d+36>>2]|0);JV(c[d+44>>2]|0,b);tb[c[g>>2]&127](d);d=h}e=b+300|0;d=c[b+296>>2]|0;while(1){if(!d){d=c[e>>2]|0;if(!d)break;c[e>>2]=0}h=c[d+8>>2]|0;tb[c[g>>2]&127](d);d=h}JV(c[b+372>>2]|0,b);JV(c[b+368>>2]|0,b);KV(b+412|0);KV(b+436|0);d=b+12|0;tb[c[g>>2]&127](c[b+228>>2]|0);if((a[b+484>>0]|0)==0?(f=c[b+352>>2]|0,f|0):0)LV(f,(c[b+472>>2]|0)==0&1,d);tb[c[g>>2]&127](c[b+388>>2]|0);tb[c[g>>2]&127](c[b+460>>2]|0);tb[c[g>>2]&127](c[b+8>>2]|0);tb[c[g>>2]&127](c[b+44>>2]|0);tb[c[g>>2]&127](c[b+392>>2]|0);tb[c[g>>2]&127](c[b+236>>2]|0);d=c[b+248>>2]|0;if(d|0)tb[d&127](c[b+240>>2]|0);tb[c[g>>2]&127](b)}return}function JV(a,b){a=a|0;b=b|0;var d=0;b=b+20|0;while(1){if(!a)break;d=c[a+4>>2]|0;tb[c[b>>2]&127](c[a+16>>2]|0);tb[c[b>>2]&127](a);a=d}return}function KV(a){a=a|0;var b=0,d=0,e=0;d=a+20|0;b=c[a>>2]|0;while(1){if(!b)break;e=c[b>>2]|0;tb[c[(c[d>>2]|0)+8>>2]&127](b);b=e}b=c[a+4>>2]|0;while(1){if(!b)break;e=c[b>>2]|0;tb[c[(c[d>>2]|0)+8>>2]&127](b);b=e}return}function LV(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;h=l;l=l+16|0;f=h;g=a+20|0;MV(f,g);d=d+8|0;while(1){e=NV(f)|0;if(!e)break;if(!(c[e+16>>2]|0))continue;tb[c[d>>2]&127](c[e+20>>2]|0)}OV(a);OV(a+132|0);OV(g);OV(a+40|0);OV(a+60|0);KV(a+80|0);KV(a+104|0);if(b<<24>>24){tb[c[d>>2]&127](c[a+184>>2]|0);tb[c[d>>2]&127](c[a+164>>2]|0)}tb[c[d>>2]&127](a);l=h;return}function MV(a,b){a=a|0;b=b|0;var d=0;d=c[b>>2]|0;c[a>>2]=d;c[a+4>>2]=d+(c[b+8>>2]<<2);return}function NV(a){a=a|0;var b=0,d=0,e=0;d=c[a+4>>2]|0;e=c[a>>2]|0;do{if((e|0)==(d|0)){b=0;break}b=e;e=e+4|0;c[a>>2]=e;b=c[b>>2]|0}while(!(b|0));return b|0}function OV(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;d=a+8|0;e=a+16|0;b=0;while(1){f=c[(c[e>>2]|0)+8>>2]|0;g=c[a>>2]|0;if(b>>>0>=(c[d>>2]|0)>>>0)break;tb[f&127](c[g+(b<<2)>>2]|0);b=b+1|0}tb[f&127](g);return}function PV(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0;f=RV(a)|0;if(!f){c[a+276>>2]=57;f=SV(a,b,d,e)|0}return f|0}function QV(b,d){b=b|0;d=d|0;var e=0,f=0;e=0;do{f=e;e=e+1|0}while((a[b+f>>0]|0)!=0);d=kb[c[d>>2]&63](e)|0;if(!d)d=0;else E3(d|0,b|0,e|0)|0;return d|0}function RV(b){b=b|0;var d=0;d=b+228|0;if(!(nb[(a[b+232>>0]<<24>>24?35:34)&63](b+148|0,b+144|0,c[d>>2]|0)|0))b=OW(b,c[d>>2]|0)|0;else b=0;return b|0}function SV(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0;g=l;l=l+16|0;h=g;c[h>>2]=d;j=b+144|0;i=c[j>>2]|0;i=ob[c[i>>2]&127](i,d,e,h)|0;f=TV(b,c[j>>2]|0,d,e,i,c[h>>2]|0,f,(a[b+480>>0]|0)==0&1)|0;l=g;return f|0}function TV(b,e,f,g,h,i,j,k){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;var m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0,la=0,ma=0,na=0,oa=0,pa=0,qa=0,ra=0,sa=0,ta=0,ua=0,va=0,wa=0,xa=0,ya=0,za=0,Aa=0,Ba=0,Ca=0,Da=0,Ea=0,Fa=0,Ga=0;Ga=l;l=l+16|0;Da=Ga;c[Da>>2]=i;r=c[b+352>>2]|0;s=b+144|0;if((c[s>>2]|0)==(e|0)){p=b+284|0;q=b+288|0;na=b+296|0}else{na=b+296|0;q=c[na>>2]|0;p=q;q=q+4|0}t=k<<24>>24!=0;pa=b+252|0;u=b+80|0;v=b+476|0;w=b+84|0;x=b+320|0;y=b+412|0;z=b+316|0;A=b+424|0;B=b+428|0;C=b+324|0;ra=b+4|0;D=b+485|0;E=r+132|0;F=b+312|0;ta=r+129|0;G=r+128|0;H=r+80|0;I=r+92|0;J=r+96|0;K=b+136|0;L=b+88|0;M=b+488|0;va=b+112|0;wa=r+131|0;xa=b+116|0;ya=r+130|0;za=b+108|0;Aa=b+356|0;N=b+340|0;O=b+132|0;P=b+344|0;Q=b+348|0;R=b+328|0;S=b+349|0;T=b+420|0;U=r+120|0;V=r+116|0;W=b+92|0;X=b+472|0;Y=b+336|0;Z=b+332|0;_=b+96|0;$=b+256|0;aa=b+464|0;ba=b+460|0;ca=r+160|0;da=r+184|0;ea=r+180|0;fa=r+164|0;ga=b+128|0;ha=b+12|0;ia=b+16|0;ja=b+268|0;ka=b+120|0;la=r+176|0;ma=r+168|0;o=e;n=f;e=h;a:while(1){c[p>>2]=n;f=c[Da>>2]|0;c[q>>2]=f;i=f;b:do if((e|0)<1){if(t&(e|0)!=0){m=7;break a}switch(e|0){case -1:{i=5;m=280;break a}case 0:{m=9;break a}case -2:{i=6;break a}case -4:{m=10;break a}case -15:{e=15;break b}default:{}}c[Da>>2]=g;e=0-e|0;i=g}while(0);h=pb[c[pa>>2]&127](pa,e,n,i,o)|0;c:do switch(h|0){case 2:{m=58;break a}case -1:{m=184;break a}case 1:{i=UV(b,0,n,c[Da>>2]|0)|0;if(i|0){m=280;break a}i=c[s>>2]|0;break}case 4:{if(!(c[w>>2]|0))i=1;else{m=VV(y,o,n,c[Da>>2]|0)|0;c[z>>2]=m;if(!m){i=1;m=280;break a}c[B>>2]=c[A>>2];c[C>>2]=0;i=0}c[x>>2]=0;m=274;break}case 7:{i=c[w>>2]|0;if(!i)m=275;else{yb[i&15](c[ra>>2]|0,c[z>>2]|0,c[x>>2]|0,c[C>>2]|0,1);c[z>>2]=0;WV(y);i=o}break}case 57:{i=UV(b,1,n,c[Da>>2]|0)|0;if(i|0){m=280;break a}i=c[s>>2]|0;break}case 6:{a[D>>0]=0;m=XV(b,E,75291,36)|0;c[F>>2]=m;if(!m){i=1;m=280;break a}a[ta>>0]=1;if(!(c[w>>2]|0))m=33;else{if(!(ob[c[o+52>>2]&127](o,n,c[Da>>2]|0,p)|0)){i=32;m=280;break a}i=c[o+64>>2]|0;i=VV(y,o,n+i|0,(c[Da>>2]|0)+(0-i)|0)|0;if(!i){i=1;m=280;break a}YV(i);c[B>>2]=c[A>>2];c[C>>2]=i;i=0;m=34}break}case 14:{m=33;break}case 8:{i=c[z>>2]|0;if(!i)i=1;else{yb[c[w>>2]&15](c[ra>>2]|0,i,c[x>>2]|0,c[C>>2]|0,0);WV(y);i=0}if(!((c[x>>2]|0)==0?!(a[D>>0]|0):0)){f=a[ta>>0]|0;a[ta>>0]=1;do if(c[M>>2]|0?c[va>>2]|0:0){h=XV(b,E,75291,36)|0;if(!h){i=1;m=280;break a}if(!(a[D>>0]|0))e=h+20|0;else{e=h+20|0;c[e>>2]=c[Aa>>2]}a[wa>>0]=0;if(!(pb[c[va>>2]&127](c[xa>>2]|0,0,c[e>>2]|0,c[h+16>>2]|0,c[h+24>>2]|0)|0)){i=21;m=280;break a}if(!(a[wa>>0]|0)){if(c[x>>2]|0)break;a[ta>>0]=f;break}if(((a[ya>>0]|0)==0?(oa=c[za>>2]|0,oa|0):0)?(kb[oa&63](c[ra>>2]|0)|0)==0:0){i=22;m=280;break a}}while(0);a[D>>0]=0}e=c[L>>2]|0;if(!e)m=274;else{tb[e&127](c[ra>>2]|0);i=o}break}case 34:{m=_V(b,o,n,c[Da>>2]|0)|0;c[N>>2]=m;if(!m){i=1;m=280;break a}else m=80;break}case 22:{m=$V(b,o,n,c[Da>>2]|0)|0;c[P>>2]=m;if(!m){i=1;m=280;break a}a[Q>>0]=0;c[R>>2]=0;a[S>>0]=0;m=80;break}case 23:{a[Q>>0]=1;c[R>>2]=139106;m=80;break}case 24:{a[S>>0]=1;c[R>>2]=139112;m=80;break}case 25:{c[R>>2]=139115;m=80;break}case 26:{c[R>>2]=139121;m=80;break}case 27:{c[R>>2]=139128;m=80;break}case 28:{c[R>>2]=139135;m=80;break}case 29:{c[R>>2]=139144;m=80;break}case 30:{c[R>>2]=139152;m=80;break}case 32:case 31:{if((a[G>>0]|0)!=0?(c[O>>2]|0)!=0:0){if(!(aW(y,(c[R>>2]|0)==0?((h|0)==32?139161:139171):139173)|0)){i=1;m=280;break a}if(!(bW(y,o,n,c[Da>>2]|0)|0)){i=1;m=280;break a}c[R>>2]=c[B>>2];i=o}else m=275;break}case 36:case 35:{if(a[G>>0]|0){if(!(cW(c[N>>2]|0,c[P>>2]|0,a[Q>>0]|0,a[S>>0]|0,0,b)|0)){i=1;m=280;break a}if((c[O>>2]|0)!=0?(qa=c[R>>2]|0,(qa|0)!=0):0){switch(a[qa>>0]|0){case 40:{m=93;break}case 78:{if((a[qa+1>>0]|0)==79)m=93;break}default:{}}if((m|0)==93){m=0;i=c[A>>2]|0;if((i|0)==(c[T>>2]|0)){if(!((dW(y)|0)<<24>>24)){i=1;m=280;break a}i=c[A>>2]|0}c[A>>2]=i+1;a[i>>0]=41;i=c[A>>2]|0;if((i|0)==(c[T>>2]|0)){if(!((dW(y)|0)<<24>>24)){i=1;m=280;break a}i=c[A>>2]|0}c[A>>2]=i+1;a[i>>0]=0;c[R>>2]=c[B>>2];c[B>>2]=c[A>>2]}c[q>>2]=n;zb[c[O>>2]&15](c[ra>>2]|0,c[c[N>>2]>>2]|0,c[c[P>>2]>>2]|0,c[R>>2]|0,0,(h|0)==36&1);WV(y);i=o}else m=275}else m=275;break}case 38:case 37:{if(a[G>>0]|0){i=c[o+64>>2]|0;i=eW(b,o,a[Q>>0]|0,n+i|0,(c[Da>>2]|0)+(0-i)|0,H)|0;if(i|0){m=280;break a}e=c[J>>2]|0;c[J>>2]=c[I>>2];if(!(cW(c[N>>2]|0,c[P>>2]|0,a[Q>>0]|0,0,e,b)|0)){i=1;m=280;break a}if((c[O>>2]|0)!=0?(sa=c[R>>2]|0,(sa|0)!=0):0){switch(a[sa>>0]|0){case 40:{m=108;break}case 78:{if((a[sa+1>>0]|0)==79)m=108;break}default:{}}if((m|0)==108){m=0;i=c[A>>2]|0;if((i|0)==(c[T>>2]|0)){if(!((dW(y)|0)<<24>>24)){i=1;m=280;break a}i=c[A>>2]|0}c[A>>2]=i+1;a[i>>0]=41;i=c[A>>2]|0;if((i|0)==(c[T>>2]|0)){if(!((dW(y)|0)<<24>>24)){i=1;m=280;break a}i=c[A>>2]|0}c[A>>2]=i+1;a[i>>0]=0;c[R>>2]=c[B>>2];c[B>>2]=c[A>>2]}c[q>>2]=n;zb[c[O>>2]&15](c[ra>>2]|0,c[c[N>>2]>>2]|0,c[c[P>>2]>>2]|0,c[R>>2]|0,e,(h|0)==38&1);WV(y);i=o}else m=275}else m=275;break}case 12:{if(a[G>>0]|0){i=c[o+64>>2]|0;i=fW(b,o,n+i|0,(c[Da>>2]|0)+(0-i)|0)|0;e=c[F>>2]|0;f=c[U>>2]|0;if(e){c[e+4>>2]=f;c[(c[F>>2]|0)+8>>2]=(c[V>>2]|0)-(c[U>>2]|0);c[U>>2]=c[V>>2];if(!(c[K>>2]|0))e=1;else{c[q>>2]=n;e=c[F>>2]|0;Ab[c[K>>2]&0](c[ra>>2]|0,c[e>>2]|0,d[e+33>>0]|0,c[e+4>>2]|0,c[e+8>>2]|0,c[Aa>>2]|0,0,0,0);e=0}}else{c[V>>2]=f;e=1}if(!i){i=e;m=274}else{m=280;break a}}else m=275;break}case 5:{a[D>>0]=0;a[ta>>0]=1;if(!(c[w>>2]|0)){c[x>>2]=75291;i=1}else{m=c[o+64>>2]|0;m=VV(y,o,n+m|0,(c[Da>>2]|0)+(0-m)|0)|0;c[x>>2]=m;if(!m){i=1;m=280;break a}c[B>>2]=c[A>>2];i=0}if((((a[ya>>0]|0)==0?(c[M>>2]|0)==0:0)?(ua=c[za>>2]|0,ua|0):0)?(kb[ua&63](c[ra>>2]|0)|0)==0:0){i=22;m=280;break a}if(!(c[F>>2]|0)){e=XV(b,E,75291,36)|0;c[F>>2]=e;if(!e){i=1;m=280;break a}c[e+24>>2]=0;m=133}else m=133;break}case 13:{i=1;m=133;break}case 15:{if(((a[G>>0]|0)!=0?(c[F>>2]|0)!=0:0)?(c[K>>2]|0)!=0:0){c[q>>2]=n;i=c[F>>2]|0;Ab[c[K>>2]&0](c[ra>>2]|0,c[i>>2]|0,d[i+33>>0]|0,0,0,c[i+20>>2]|0,c[i+16>>2]|0,c[i+24>>2]|0,0);i=o}else m=275;break}case 16:{if((a[G>>0]|0)!=0?(c[F>>2]|0)!=0:0){h=VV(H,o,n,c[Da>>2]|0)|0;c[(c[F>>2]|0)+28>>2]=h;if(!(c[(c[F>>2]|0)+28>>2]|0)){i=1;m=280;break a}c[J>>2]=c[I>>2];if(c[W>>2]|0){c[q>>2]=n;i=c[F>>2]|0;zb[c[W>>2]&15](c[ra>>2]|0,c[i>>2]|0,c[i+20>>2]|0,c[i+16>>2]|0,c[i+24>>2]|0,c[i+28>>2]|0);i=o;break c}if(c[K>>2]|0){c[q>>2]=n;i=c[F>>2]|0;Ab[c[K>>2]&0](c[ra>>2]|0,c[i>>2]|0,0,0,0,c[i+20>>2]|0,c[i+16>>2]|0,c[i+24>>2]|0,c[i+28>>2]|0);i=o}else m=275}else m=275;break}case 9:{if(nb[c[o+44>>2]&63](o,n,c[Da>>2]|0)|0){c[F>>2]=0;m=275;break c}if(!(a[G>>0]|0)){c[I>>2]=c[J>>2];c[F>>2]=0;m=275;break c}i=VV(H,o,n,c[Da>>2]|0)|0;if(!i){i=1;m=280;break a}e=XV(b,r,i,36)|0;c[F>>2]=e;if(!e){i=1;m=280;break a}if((c[e>>2]|0)!=(i|0)){c[I>>2]=c[J>>2];c[F>>2]=0;m=275;break c}c[J>>2]=c[I>>2];c[(c[F>>2]|0)+24>>2]=0;a[(c[F>>2]|0)+33>>0]=0;if(!(c[X>>2]|0))i=(c[na>>2]|0)!=0;else i=1;a[(c[F>>2]|0)+34>>0]=(i^1)&1;if(!(c[K>>2]|0))m=275;else i=o;break}case 10:{if(!(a[G>>0]|0)){c[I>>2]=c[J>>2];c[F>>2]=0;m=275;break c}i=VV(H,o,n,c[Da>>2]|0)|0;if(!i){i=1;m=280;break a}e=XV(b,E,i,36)|0;c[F>>2]=e;if(!e){i=1;m=280;break a}if((c[e>>2]|0)!=(i|0)){c[I>>2]=c[J>>2];c[F>>2]=0;m=275;break c}c[J>>2]=c[I>>2];c[(c[F>>2]|0)+24>>2]=0;a[(c[F>>2]|0)+33>>0]=1;if(!(c[X>>2]|0))i=(c[na>>2]|0)!=0;else i=1;a[(c[F>>2]|0)+34>>0]=(i^1)&1;if(!(c[K>>2]|0))m=275;else i=o;break}case 18:{c[Y>>2]=0;c[Z>>2]=0;if(!(c[_>>2]|0))m=275;else{n=VV(y,o,n,c[Da>>2]|0)|0;c[Z>>2]=n;if(!n){i=1;m=280;break a}c[B>>2]=c[A>>2];i=o}break}case 21:{if(!(ob[c[o+52>>2]&127](o,n,c[Da>>2]|0,p)|0)){i=32;m=280;break a}if(!(c[Z>>2]|0))m=275;else{i=c[o+64>>2]|0;i=VV(y,o,n+i|0,(c[Da>>2]|0)+(0-i)|0)|0;if(!i){i=1;m=280;break a}YV(i);c[Y>>2]=i;c[B>>2]=c[A>>2];i=o}break}case 19:{if((c[Z>>2]|0)!=0?(c[_>>2]|0)!=0:0){i=c[o+64>>2]|0;i=VV(y,o,n+i|0,(c[Da>>2]|0)+(0-i)|0)|0;if(!i){i=1;m=280;break a}c[q>>2]=n;yb[c[_>>2]&15](c[ra>>2]|0,c[Z>>2]|0,c[Aa>>2]|0,i,c[Y>>2]|0);i=0}else i=1;WV(y);m=274;break}case 20:{if((c[Y>>2]|0)!=0?(c[_>>2]|0)!=0:0){c[q>>2]=n;yb[c[_>>2]&15](c[ra>>2]|0,c[Z>>2]|0,c[Aa>>2]|0,0,c[Y>>2]|0);i=0}else i=1;WV(y);m=274;break}case 58:{if(c[u>>2]|0)gW(b,o,n,c[Da>>2]|0);i=hW(b,o,Da,g,j,k)|0;if(i|0){m=280;break a}if(!(c[Da>>2]|0)){m=189;break a}else i=o;break}case 44:{i=c[aa>>2]|0;do if((c[$>>2]|0)>>>0>=i>>>0){if(!i){h=c[ha>>2]|0;c[aa>>2]=32;h=kb[h&63](32)|0;c[ba>>2]=h;if(!h){m=198;break a}else break}f=c[ia>>2]|0;h=c[ba>>2]|0;i=i<<1;c[aa>>2]=i;i=lb[f&127](h,i)|0;if(!i){m=193;break a}c[ba>>2]=i;i=c[da>>2]|0;if(i|0){i=lb[c[ia>>2]&127](i,c[aa>>2]<<2)|0;if(!i){i=1;m=280;break a}c[da>>2]=i}}while(0);a[(c[ba>>2]|0)+(c[$>>2]|0)>>0]=0;if(a[ca>>0]|0){i=jW(b)|0;if((i|0)<0){i=1;m=280;break a}c[(c[da>>2]|0)+(c[ea>>2]<<2)>>2]=i;c[ea>>2]=(c[ea>>2]|0)+1;c[(c[fa>>2]|0)+(i*28|0)>>2]=6;if(c[ga>>2]|0)i=o;else m=275}else m=275;break}case 50:{i=(c[ba>>2]|0)+(c[$>>2]|0)|0;if((a[i>>0]|0)==124){i=2;m=280;break a}a[i>>0]=44;if((a[ca>>0]|0)!=0?(c[ga>>2]|0)!=0:0)i=o;else m=275;break}case 49:{f=c[ba>>2]|0;e=c[$>>2]|0;i=a[f+e>>0]|0;if(i<<24>>24==44){i=2;m=280;break a}if(i<<24>>24==0&(a[ca>>0]|0)!=0?(Ba=(c[fa>>2]|0)+((c[(c[da>>2]|0)+((c[ea>>2]|0)+-1<<2)>>2]|0)*28|0)|0,(c[Ba>>2]|0)!=3):0){c[Ba>>2]=5;i=(c[ga>>2]|0)==0&1;f=c[ba>>2]|0;e=c[$>>2]|0}else i=1;a[f+e>>0]=124;m=274;break}case 59:case 60:{a[ta>>0]=1;if(c[M>>2]|0){e=c[o+64>>2]|0;e=VV(H,o,n+e|0,(c[Da>>2]|0)+(0-e)|0)|0;if(!e){i=1;m=280;break a}f=XV(b,E,e,0)|0;c[I>>2]=c[J>>2];do if(c[ja>>2]|0){if(!(a[ya>>0]|0)){if(a[ta>>0]|0){m=219;break}}else if(c[na>>2]|0){m=219;break}if(!f){i=11;m=280;break a}if(!(a[f+34>>0]|0)){i=24;m=280;break a}}else m=219;while(0);if((m|0)==219?(m=0,(f|0)==0):0){a[G>>0]=a[ya>>0]|0;if((h|0)!=60){m=275;break c}i=c[ka>>2]|0;if(!i){m=275;break c}vb[i&127](c[ra>>2]|0,e,1);i=o;break c}i=f+32|0;if(a[i>>0]|0){i=12;m=280;break a}if(c[f+4>>2]|0){i=kW(b,f,(h|0)==60&1)|0;e=(i|0)==0;if(e){i=(e^1)&1;m=274;break c}else{m=280;break a}}if(!(c[va>>2]|0)){a[G>>0]=a[ya>>0]|0;m=275;break c}a[wa>>0]=0;a[i>>0]=1;h=(pb[c[va>>2]&127](c[xa>>2]|0,0,c[f+20>>2]|0,c[f+16>>2]|0,c[f+24>>2]|0)|0)==0;a[i>>0]=0;if(h){i=21;m=280;break a}e=a[ya>>0]|0;if(!(a[wa>>0]|0)){a[G>>0]=e;i=o;break c}else i=0}else{e=a[ya>>0]|0;a[G>>0]=e;i=1}if((e<<24>>24==0?(Ca=c[za>>2]|0,(Ca|0)!=0):0)?(kb[Ca&63](c[ra>>2]|0)|0)==0:0){i=22;m=280;break a}else m=274;break}case 40:{if(!(c[ga>>2]|0))m=275;else{n=_V(b,o,n,c[Da>>2]|0)|0;c[N>>2]=n;if(!n){i=1;m=280;break a}c[ea>>2]=0;c[la>>2]=0;a[ca>>0]=1;i=o}break}case 42:case 41:{if(!(a[ca>>0]|0))m=275;else{if(!(c[ga>>2]|0))i=1;else{i=kb[c[ha>>2]&63](20)|0;if(!i){i=1;m=280;break a}m=i+4|0;c[m>>2]=0;c[m+4>>2]=0;c[m+8>>2]=0;c[m+12>>2]=0;c[i>>2]=(h|0)==41?2:1;c[q>>2]=n;vb[c[ga>>2]&127](c[ra>>2]|0,c[c[N>>2]>>2]|0,i);i=0}a[ca>>0]=0;m=274}break}case 43:{if((a[ca>>0]|0)!=0?(c[(c[fa>>2]|0)+((c[(c[da>>2]|0)+((c[ea>>2]|0)+-1<<2)>>2]|0)*28|0)>>2]=3,(c[ga>>2]|0)!=0):0)i=o;else m=275;break}case 51:{e=0;m=247;break}case 53:{e=1;m=247;break}case 52:{e=2;m=247;break}case 54:{e=3;m=247;break}case 45:{f=0;m=258;break}case 47:{f=1;m=258;break}case 46:{f=2;m=258;break}case 48:{f=3;m=258;break}case 55:{if(!(mW(b,o,n,c[Da>>2]|0)|0)){i=1;m=280;break a}else i=o;break}case 56:{if(!(nW(b,o,n,c[Da>>2]|0)|0)){i=1;m=280;break a}else i=o;break}case 0:{if((e|0)==14)i=o;else m=275;break}case 3:{if(!(c[w>>2]|0))m=275;else i=o;break}case 11:{if((a[G>>0]|0)!=0?(c[K>>2]|0)!=0:0)i=o;else m=275;break}case 17:{if(!(c[_>>2]|0))m=275;else i=o;break}case 33:{if((a[G>>0]|0)!=0?(c[O>>2]|0)!=0:0)i=o;else m=275;break}case 39:{if(!(c[ga>>2]|0))m=275;else i=o;break}default:m=275}while(0);if((m|0)==33)if(!(ob[c[o+52>>2]&127](o,n,c[Da>>2]|0,p)|0)){i=32;m=280;break}else{i=1;m=34}else if((m|0)==80){m=0;if((a[G>>0]|0)!=0?(c[O>>2]|0)!=0:0)i=o;else m=275}else if((m|0)==133){m=0;if((a[G>>0]|0)!=0?(c[F>>2]|0)!=0:0){e=c[o+64>>2]|0;e=VV(H,o,n+e|0,(c[Da>>2]|0)+(0-e)|0)|0;c[(c[F>>2]|0)+16>>2]=e;e=c[F>>2]|0;if(!(c[e+16>>2]|0)){i=1;m=280;break}c[e+20>>2]=c[Aa>>2];c[J>>2]=c[I>>2];if((h|0)==13&(c[K>>2]|0)!=0)i=o;else m=274}else m=274}else if((m|0)==247){m=0;if(a[ca>>0]|0){i=c[Da>>2]|0;if(e)i=i+(0-(c[o+64>>2]|0))|0;f=jW(b)|0;if((f|0)<0){i=1;m=280;break}c[(c[fa>>2]|0)+(f*28|0)>>2]=4;c[(c[fa>>2]|0)+(f*28|0)+4>>2]=e;i=_V(b,o,n,i)|0;if(!i){i=1;m=280;break}e=c[i>>2]|0;c[(c[fa>>2]|0)+(f*28|0)+8>>2]=e;i=0;do{h=i;i=i+1|0}while((a[e+h>>0]|0)!=0);c[ma>>2]=(c[ma>>2]|0)+i;if(c[ga>>2]|0)i=o;else m=275}else m=275}else if((m|0)==258)if(a[ca>>0]|0){e=(c[ga>>2]|0)==0;i=e&1;m=(c[ea>>2]|0)+-1|0;c[ea>>2]=m;c[(c[fa>>2]|0)+((c[(c[da>>2]|0)+(m<<2)>>2]|0)*28|0)+4>>2]=f;if(!(c[ea>>2]|0)){if(!e){e=lW(b)|0;if(!e){i=1;m=280;break}c[q>>2]=n;vb[c[ga>>2]&127](c[ra>>2]|0,c[c[N>>2]>>2]|0,e)}a[ca>>0]=0;c[ma>>2]=0;m=274}else m=274}else m=275;if((m|0)==34){m=0;if((a[G>>0]|0)!=0?(c[F>>2]|0)!=0:0){e=c[o+64>>2]|0;e=VV(H,o,n+e|0,(c[Da>>2]|0)+(0-e)|0)|0;if(!e){i=1;m=280;break}YV(e);c[(c[F>>2]|0)+24>>2]=e;c[J>>2]=c[I>>2];if((h|0)==14&(c[K>>2]|0)!=0)i=o;else m=274}else m=274}if((m|0)==274){m=0;if(!(i<<24>>24))i=o;else m=275}if((m|0)==275){m=0;if(!(c[u>>2]|0))i=o;else{gW(b,o,n,c[Da>>2]|0);i=o}}switch(c[v>>2]|0){case 3:{m=278;break a}case 2:{i=35;m=280;break a}default:{}}e=c[Da>>2]|0;o=i;n=e;e=ob[c[i>>2]&127](i,e,g,Da)|0}d:switch(m|0){case 7:{c[j>>2]=n;i=0;break}case 9:{c[p>>2]=f;i=4;break}case 10:{i=(o|0)==(c[s>>2]|0);if(!i?(a[(c[na>>2]|0)+20>>0]|0)==0:0){c[j>>2]=n;i=0;break}if((a[b+484>>0]|0)!=0|i^1)if((pb[c[pa>>2]&127](pa,-4,g,g,o)|0)==-1)i=29;else{c[j>>2]=n;i=0}else i=3;break}case 58:{do if((a[D>>0]|0?(Ea=a[ta>>0]|0,a[ta>>0]=1,c[M>>2]|0):0)?c[va>>2]|0:0){i=XV(b,E,75291,36)|0;if(!i){i=1;break d}Da=i+20|0;c[Da>>2]=c[Aa>>2];a[wa>>0]=0;if(!(pb[c[va>>2]&127](c[xa>>2]|0,0,c[Da>>2]|0,c[i+16>>2]|0,c[i+24>>2]|0)|0)){i=21;break d}if(!(a[wa>>0]|0)){a[ta>>0]=Ea;break}if(((a[ya>>0]|0)==0?(Fa=c[za>>2]|0,Fa|0):0)?(kb[Fa&63](c[ra>>2]|0)|0)==0:0){i=22;break d}}while(0);c[b+276>>2]=58;i=ZV(b,n,g,j)|0;break}case 184:{i=(e|0)==28?10:(e|0)==12?17:2;break}case 189:{c[b+276>>2]=59;i=0;break}case 193:{c[aa>>2]=(c[aa>>2]|0)>>>1;i=1;break}case 198:{c[aa>>2]=0;i=1;break}case 278:{c[j>>2]=c[Da>>2];i=0;break}case 280:break}l=Ga;return i|0}function UV(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0;q=l;l=l+32|0;p=q+16|0;m=q+12|0;i=q+8|0;j=q+4|0;k=q;c[p>>2]=0;c[m>>2]=0;c[i>>2]=0;c[k>>2]=-1;n=b+144|0;o=b+284|0;g=(d|0)!=0;a:do if(rb[(a[b+232>>0]<<24>>24?2:1)&3](d,c[n>>2]|0,e,f,o,i,j,p,m,k)|0){if((c[k>>2]|0)==1&(g^1)?(a[(c[b+352>>2]|0)+130>>0]=1,h=b+488|0,(c[h>>2]|0)==1):0)c[h>>2]=0;h=b+140|0;if(!(c[h>>2]|0))if(!(c[b+80>>2]|0)){e=0;d=0}else{gW(b,c[n>>2]|0,e,f);e=0;d=0}else{d=c[p>>2]|0;if(!d)d=0;else{f=c[n>>2]|0;d=VV(b+436|0,f,d,d+(lb[c[f+28>>2]&127](f,d)|0)|0)|0;if(!d){d=1;break}c[b+452>>2]=c[b+448>>2]}g=c[i>>2]|0;if(g){i=c[n>>2]|0;g=VV(b+436|0,i,g,(c[j>>2]|0)+(0-(c[i+64>>2]|0))|0)|0;if(!g){d=1;break}}else g=0;xb[c[h>>2]&31](c[b+4>>2]|0,g,d,c[k>>2]|0);e=g}do if(!(c[b+228>>2]|0)){g=c[m>>2]|0;h=g;if(g|0){k=c[g+64>>2]|0;m=c[n>>2]|0;if((k|0)==(c[m+64>>2]|0)?(k|0)!=2|(g|0)==(m|0):0){c[n>>2]=h;break}c[o>>2]=c[p>>2];d=19;break a}g=c[p>>2]|0;if(g|0){h=b+436|0;if(!d){d=c[n>>2]|0;d=VV(h,d,g,g+(lb[c[d+28>>2]&127](d,g)|0)|0)|0;if(!d){d=1;break a}}d=OW(b,d)|0;WV(h);if((d|0)!=18)break a;c[o>>2]=c[p>>2];d=18;break a}}while(0);if((d|0)!=0|(e|0)!=0){WV(b+436|0);d=0}else d=0}else d=g?31:30;while(0);l=q;return d|0}function VV(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;do if(!(bW(b,d,e,f)|0))d=0;else{e=b+12|0;d=c[e>>2]|0;if((d|0)==(c[b+8>>2]|0)){if(!((dW(b)|0)<<24>>24)){d=0;break}d=c[e>>2]|0}c[e>>2]=d+1;a[d>>0]=0;d=c[b+16>>2]|0}while(0);return d|0}function WV(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;e=a+4|0;b=c[e>>2]|0;a:do if(!b){c[e>>2]=c[a>>2];b=a}else{d=c[a>>2]|0;while(1){if(!d){b=a;break a}g=c[d>>2]|0;c[d>>2]=b;c[e>>2]=d;f=d;d=g;b=f}}while(0);c[b>>2]=0;c[a+16>>2]=0;c[a+12>>2]=0;c[a+8>>2]=0;return}function XV(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0;w=e+8|0;a:do if(!(c[w>>2]|0))if(g){a[e+4>>0]=6;c[w>>2]=64;h=e+16|0;i=kb[c[c[h>>2]>>2]&63](256)|0;c[e>>2]=i;if(!i){c[w>>2]=0;h=0;break}else{G3(i|0,0,256)|0;j=MW(b,f)|0;j=(c[w>>2]|0)+-1&j;i=e;o=27;break}}else h=0;else{v=MW(b,f)|0;k=c[w>>2]|0;j=k+-1|0;l=c[e>>2]|0;m=v&0-k;u=e+4|0;n=j>>>2;i=0;j=j&v;while(1){h=c[l+(j<<2)>>2]|0;if(!h)break;if((NW(f,c[h>>2]|0)|0)<<24>>24)break a;if(!(i<<24>>24))h=(m>>>((d[u>>0]|0)+-1|0)&n|1)&255;else h=i;t=h&255;i=h;j=j-t+(j>>>0>>0?k:0)|0}if(g){i=a[u>>0]|0;h=i&255;if(!((c[e+12>>2]|0)>>>(h+-1|0))){h=e+16|0;i=e;o=27;break}q=h+1&255;j=i+1&255;s=1<>2]>>2]&63](i)|0;if(t){G3(t|0,0,i|0)|0;p=0-s|0;n=j+-1|0;o=r>>>2;m=0;while(1){if(m>>>0>=(c[w>>2]|0)>>>0)break;i=c[(c[e>>2]|0)+(m<<2)>>2]|0;if(i|0){i=MW(b,c[i>>2]|0)|0;k=((i&p)>>>n&o|1)&255;i=i&r;j=0;while(1){l=t+(i<<2)|0;if(!(c[l>>2]|0))break;l=j<<24>>24==0?k:j;x=l&255;i=i+(i>>>0>>0?s:0)-x|0;j=l}c[l>>2]=c[(c[e>>2]|0)+(m<<2)>>2]}m=m+1|0}tb[c[(c[h>>2]|0)+8>>2]&127](c[e>>2]|0);c[e>>2]=t;a[u>>0]=q;c[w>>2]=s;k=((v&p)>>>n&o|1)&255;i=r&v;j=0;while(1){if(!(c[t+(i<<2)>>2]|0)){j=i;i=e;o=27;break a}x=j<<24>>24==0?k:j;w=x&255;i=i+(i>>>0>>0?s:0)-w|0;j=x}}else h=0}else h=0}while(0);if((o|0)==27){h=kb[c[c[h>>2]>>2]&63](g)|0;c[(c[i>>2]|0)+(j<<2)>>2]=h;h=c[(c[i>>2]|0)+(j<<2)>>2]|0;if(!h)h=0;else{G3(h|0,0,g|0)|0;c[c[(c[i>>2]|0)+(j<<2)>>2]>>2]=f;h=e+12|0;c[h>>2]=(c[h>>2]|0)+1;h=c[(c[i>>2]|0)+(j<<2)>>2]|0}}return h|0}function YV(b){b=b|0;var c=0,d=0,e=0;e=b;c=b;while(1){d=a[e>>0]|0;if(!(d<<24>>24))break;switch(d<<24>>24|0){case 10:case 13:case 32:{if((c|0)!=(b|0)){if((a[c+-1>>0]|0)!=32){a[c>>0]=32;c=c+1|0}}else c=b;break}default:{a[c>>0]=d;c=c+1|0}}e=e+1|0}if((c|0)!=(b|0)){b=c+-1|0;b=(a[b>>0]|0)==32?b:c}a[b>>0]=0;return}function ZV(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;d=qW(b,0,c[b+144>>2]|0,d,e,f,(a[b+480>>0]|0)==0&1)|0;if((d|0)==0?(zW(b)|0)<<24>>24==0:0)d=1;return d|0}function _V(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0;g=c[a+352>>2]|0;b=VV(g+80|0,b,d,e)|0;do if((b|0)!=0?(f=XV(a,g+20|0,b,24)|0,(f|0)!=0):0)if((c[f>>2]|0)==(b|0)){c[g+96>>2]=c[g+92>>2];if(!(BW(a,f)|0)){f=0;break}}else c[g+92>>2]=c[g+96>>2];else f=0;while(0);return f|0}function $V(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;m=c[b+352>>2]|0;k=m+80|0;n=m+92|0;h=c[n>>2]|0;l=m+88|0;if((h|0)==(c[l>>2]|0))if(!((dW(k)|0)<<24>>24))g=0;else{h=c[n>>2]|0;i=4}else i=4;a:do if((i|0)==4){c[n>>2]=h+1;a[h>>0]=0;d=VV(k,d,e,f)|0;if((d|0)!=0?(j=d+1|0,g=XV(b,m+40|0,j,12)|0,(g|0)!=0):0){if((c[g>>2]|0)!=(j|0)){c[n>>2]=c[m+96>>2];break}h=c[n>>2]|0;i=m+96|0;c[i>>2]=h;if(a[b+232>>0]|0){e=a[j>>0]|0;b:do if(e<<24>>24==120)if((((a[d+2>>0]|0)==109?(a[d+3>>0]|0)==108:0)?(a[d+4>>0]|0)==110:0)?(a[d+5>>0]|0)==115:0){switch(a[d+6>>0]|0){case 0:{h=m+152|0;break}case 58:{h=XV(b,m+60|0,d+7|0,8)|0;break}default:{f=0;d=120;break b}}c[g+4>>2]=h;a[g+9>>0]=1;break a}else{f=0;d=120}else{f=0;d=e}while(0);c:while(1){switch(d<<24>>24){case 0:break a;case 58:{e=0;break c}default:{}}d=f+1|0;f=d;d=a[j+d>>0]|0}while(1){d=(h|0)==(c[l>>2]|0);if((e|0)>=(f|0))break;if(d){if(!((dW(k)|0)<<24>>24)){g=0;break a}h=c[n>>2]|0}d=a[j+e>>0]|0;c[n>>2]=h+1;a[h>>0]=d;e=e+1|0;h=c[n>>2]|0}if(d){if(!((dW(k)|0)<<24>>24)){g=0;break}h=c[n>>2]|0}c[n>>2]=h+1;a[h>>0]=0;h=XV(b,m+60|0,c[i>>2]|0,8)|0;c[g+4>>2]=h;if(h){d=c[i>>2]|0;if((c[h>>2]|0)==(d|0)){c[i>>2]=c[n>>2];break}else{c[n>>2]=d;break}}else g=0}}else g=0}while(0);return g|0}function aW(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0;g=b+12|0;h=b+8|0;while(1){e=a[d>>0]|0;if(!(e<<24>>24)){i=7;break}f=c[g>>2]|0;if((f|0)==(c[h>>2]|0)){if(!((dW(b)|0)<<24>>24)){d=0;break}f=c[g>>2]|0;e=a[d>>0]|0}c[g>>2]=f+1;a[f>>0]=e;d=d+1|0}if((i|0)==7)d=c[b+16>>2]|0;return d|0}function bW(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0;i=l;l=l+16|0;h=i;c[h>>2]=d;g=a+12|0;if((c[g>>2]|0)==0?(dW(a)|0)<<24>>24==0:0)d=0;else f=3;a:do if((f|0)==3){d=b+56|0;f=a+8|0;while(1){if((pb[c[d>>2]&127](b,h,e,g,c[f>>2]|0)|0)>>>0<2)break;if(!((dW(a)|0)<<24>>24)){d=0;break a}}d=c[a+16>>2]|0}while(0);l=i;return d|0}function cW(b,d,e,f,g,h){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0;i=f<<24>>24==0;n=b+12|0;m=c[n>>2]|0;a:do if(!(i&(g|0)==0)){j=b+20|0;f=0;while(1){if((f|0)>=(m|0))break;if((c[(c[j>>2]|0)+(f*12|0)>>2]|0)==(d|0)){f=1;break a}else f=f+1|0}if((!i?(k=b+8|0,(c[k>>2]|0)==0):0)?(a[d+9>>0]|0)==0:0){c[k>>2]=d;l=9}else l=9}else l=9;while(0);b:do if((l|0)==9){j=b+16|0;do if((m|0)==(c[j>>2]|0))if(!m){c[j>>2]=8;f=kb[c[h+12>>2]&63](96)|0;c[b+20>>2]=f;if(f|0)break;c[j>>2]=0;f=0;break b}else{i=b+20|0;f=lb[c[h+16>>2]&127](c[i>>2]|0,m*24|0)|0;if(!f){f=0;break b}c[j>>2]=m<<1;c[i>>2]=f;break}else f=c[b+20>>2]|0;while(0);h=c[n>>2]|0;c[f+(h*12|0)>>2]=d;c[f+(h*12|0)+8>>2]=g;a[f+(h*12|0)+4>>0]=e;if(!(e<<24>>24))a[d+8>>0]=1;c[n>>2]=(c[n>>2]|0)+1;f=1}while(0);return f|0}function dW(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0;b=a+4|0;e=c[b>>2]|0;do if(e){f=a+16|0;g=c[f>>2]|0;if(!g){c[a>>2]=e;c[b>>2]=c[e>>2];c[e>>2]=0;l=c[a>>2]|0;b=l+8|0;c[f>>2]=b;c[a+8>>2]=(c[l+4>>2]|0)+(l+8);c[a+12>>2]=b;b=1;break}d=a+8|0;if(((c[d>>2]|0)-g|0)<(c[e+4>>2]|0)){k=c[e>>2]|0;c[e>>2]=c[a>>2];l=c[b>>2]|0;c[a>>2]=l;c[b>>2]=k;b=c[f>>2]|0;E3(l+8|0,b|0,(c[d>>2]|0)-b|0)|0;b=c[a>>2]|0;l=a+12|0;c[l>>2]=(c[l>>2]|0)-(c[f>>2]|0)+(b+8);c[f>>2]=b+8;c[d>>2]=(c[b+4>>2]|0)+(b+8);b=1}else h=6}else h=6;while(0);a:do if((h|0)==6){e=c[a>>2]|0;k=a+16|0;do if(!e){i=k;b=c[k>>2]|0}else{j=c[k>>2]|0;b=j;if((j|0)!=(e+8|0)){i=k;break}f=a+8|0;g=(c[f>>2]|0)-b<<1;h=a+12|0;d=(c[h>>2]|0)-b|0;if((g|0)<0){b=0;break a}b=LW(g)|0;if(!b){b=0;break a}b=lb[c[(c[a+20>>2]|0)+4>>2]&127](e,b)|0;if(!b){b=0;break a}c[a>>2]=b;c[b+4>>2]=g;b=c[a>>2]|0;c[h>>2]=b+8+d;c[k>>2]=b+8;c[f>>2]=b+8+g;b=1;break a}while(0);j=a+8|0;b=(c[j>>2]|0)-b|0;if((b|0)>=0){if((b|0)>=1024){b=b<<1;if((b|0)<0){b=0;break}}else b=1024;d=LW(b)|0;if((d|0)!=0?(l=kb[c[c[a+20>>2]>>2]&63](d)|0,(l|0)!=0):0){c[l+4>>2]=b;c[l>>2]=c[a>>2];c[a>>2]=l;h=a+12|0;a=c[h>>2]|0;e=c[k>>2]|0;d=a;f=e;if((a|0)==(e|0)){g=l+8|0;e=f}else{g=l+8|0;E3(g|0,e|0,d-f|0)|0;e=c[i>>2]|0;d=c[h>>2]|0}c[h>>2]=l+8+(d-e);c[k>>2]=g;c[j>>2]=l+8+b;b=1}else b=0}else b=0}while(0);return b|0}function eW(b,d,e,f,g,h){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0;b=KW(b,d,e,f,g,h)|0;do if(!b){d=h+12|0;b=c[d>>2]|0;if((e<<24>>24==0?(c[h+16>>2]|0)!=(b|0):0)?(i=b+-1|0,(a[i>>0]|0)==32):0){c[d>>2]=i;b=i}if((b|0)==(c[h+8>>2]|0)){if(!((dW(h)|0)<<24>>24)){b=1;break}b=c[d>>2]|0}c[d>>2]=b+1;a[b>>0]=0;b=0}while(0);return b|0}function fW(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0;H=l;l=l+16|0;B=H;C=H+4|0;g=c[b+352>>2]|0;D=g+104|0;F=b+272|0;E=c[F>>2]|0;c[F>>2]=1;if((c[D>>2]|0)==0?(dW(D)|0)<<24>>24==0:0)g=1;else{n=d+20|0;o=b+484|0;p=b+144|0;q=b+412|0;r=d+64|0;s=g+132|0;t=b+428|0;u=b+424|0;v=b+224|0;w=b+112|0;m=g+130|0;x=g+128|0;y=g+131|0;z=b+116|0;A=g+112|0;j=g+116|0;k=d+40|0;a:while(1){b:do switch(ob[c[n>>2]&127](d,e,f,B)|0){case -4:{g=0;break a}case -1:{G=37;break a}case 0:{G=39;break a}case 28:{if((a[o>>0]|0)==0?(c[p>>2]|0)==(d|0):0){G=19;break a}g=c[r>>2]|0;g=VV(q,d,e+g|0,(c[B>>2]|0)+(0-g)|0)|0;if(!g){g=1;break a}h=XV(b,s,g,0)|0;c[u>>2]=c[t>>2];if(!h){G=9;break a}i=h+32|0;if(a[i>>0]|0){G=11;break a}g=h+16|0;if(!(c[g>>2]|0)){a[i>>0]=1;g=c[h+4>>2]|0;g=fW(b,c[v>>2]|0,g,g+(c[h+8>>2]|0)|0)|0;a[i>>0]=0;if(!g)break b;else break a}if(c[w>>2]|0){a[y>>0]=0;a[i>>0]=1;h=(pb[c[w>>2]&127](c[z>>2]|0,0,c[h+20>>2]|0,c[g>>2]|0,c[h+24>>2]|0)|0)==0;a[i>>0]=0;if(h){g=21;break a}if(a[y>>0]|0)break b}a[x>>0]=a[m>>0]|0;break}case 6:case 9:{if(!(bW(D,d,e,c[B>>2]|0)|0)){g=1;break a}break}case -3:{c[B>>2]=e+(c[r>>2]|0);G=22;break}case 7:{G=22;break}case 10:{g=lb[c[k>>2]&127](d,e)|0;if((g|0)<0){G=27;break a}h=fX(g,C)|0;e=0;while(1){if((e|0)>=(h|0))break;g=c[j>>2]|0;if((c[A>>2]|0)==(g|0)){if(!((dW(D)|0)<<24>>24)){g=1;G=35;break a}g=c[j>>2]|0}i=a[C+e>>0]|0;c[j>>2]=g+1;a[g>>0]=i;e=e+1|0}break}default:{G=41;break a}}while(0);if((G|0)==22){G=0;g=c[j>>2]|0;if((c[A>>2]|0)==(g|0)){if(!((dW(D)|0)<<24>>24)){g=1;break}g=c[j>>2]|0}c[j>>2]=g+1;a[g>>0]=10}e=c[B>>2]|0}if((G|0)==9){a[x>>0]=a[m>>0]|0;g=0}else if((G|0)==11)if((c[p>>2]|0)==(d|0)){c[b+284>>2]=e;g=12}else g=12;else if((G|0)==19){c[b+284>>2]=e;g=10}else if((G|0)==27)if((c[p>>2]|0)==(d|0)){c[b+284>>2]=e;g=14;G=35}else{g=14;G=35}else if((G|0)==37)if((c[p>>2]|0)==(d|0)){c[b+284>>2]=e;g=4}else g=4;else if((G|0)==39)if((c[p>>2]|0)==(d|0)){c[b+284>>2]=c[B>>2];g=4}else g=4;else if((G|0)==41)if((c[p>>2]|0)==(d|0)){c[b+284>>2]=e;g=23}else g=23;c[F>>2]=E}l=H;return g|0}function gW(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0;p=l;l=l+16|0;n=p;o=p+4|0;c[n>>2]=e;if(!(a[d+68>>0]|0)){if((c[b+144>>2]|0)==(d|0)){g=b+288|0;h=b+284|0}else{h=c[b+296>>2]|0;g=h+4|0}i=b+44|0;j=d+56|0;k=b+48|0;m=b+80|0;e=b+4|0;do{c[o>>2]=c[i>>2];b=pb[c[j>>2]&127](d,n,f,o,c[k>>2]|0)|0;c[g>>2]=c[n>>2];q=c[i>>2]|0;vb[c[m>>2]&127](c[e>>2]|0,q,(c[o>>2]|0)-q|0);c[h>>2]=c[n>>2]}while(b>>>0>1)}else vb[c[b+80>>2]&127](c[b+4>>2]|0,e,f-e|0);l=p;return}function hW(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,m=0,n=0;m=l;l=l+16|0;j=m;k=c[d>>2]|0;if((c[a+144>>2]|0)==(b|0)){i=a+284|0;c[i>>2]=k;h=a+288|0}else{i=c[a+296>>2]|0;h=i+4|0}c[i>>2]=k;c[d>>2]=0;n=ob[c[b+12>>2]&127](b,k,e,j)|0;e=c[j>>2]|0;c[h>>2]=e;switch(n|0){case 42:{if(c[a+80>>2]|0){gW(a,b,k,e);e=c[j>>2]|0}c[d>>2]=e;c[f>>2]=e;e=(c[a+476>>2]|0)==2?35:0;break}case 0:{c[i>>2]=e;e=4;break}case -2:{if(!(g<<24>>24))e=6;else{c[f>>2]=k;e=0}break}case -4:case -1:{if(!(g<<24>>24))e=2;else{c[f>>2]=k;e=0}break}default:{c[i>>2]=e;e=23}}l=m;return e|0}function iW(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0;h=l;l=l+16|0;g=h;c[g>>2]=d;d=hW(b,c[b+144>>2]|0,g,e,f,(a[b+480>>0]|0)==0&1)|0;g=c[g>>2]|0;if(!((d|0)!=0|(g|0)==0)){c[b+276>>2]=57;d=SV(b,g,e,f)|0}l=h;return d|0}function jW(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0;i=c[a+352>>2]|0;j=i+184|0;if(!(c[j>>2]|0)){b=kb[c[a+12>>2]&63](c[a+464>>2]<<2)|0;c[j>>2]=b;if(!b)b=-1;else{c[b>>2]=0;d=4}}else d=4;do if((d|0)==4){h=i+176|0;b=c[h>>2]|0;g=i+172|0;d=c[g>>2]|0;f=i+164|0;e=c[f>>2]|0;if(b>>>0>>0)g=e;else{if(!e){b=kb[c[a+12>>2]&63](896)|0;if(!b){b=-1;break}else{d=b;b=32}}else{b=lb[c[a+16>>2]&127](e,d*56|0)|0;if(!b){b=-1;break}d=b;b=c[g>>2]<<1}c[g>>2]=b;c[f>>2]=d;b=c[h>>2]|0;g=d}c[h>>2]=b+1;d=c[i+180>>2]|0;if(d|0){a=c[(c[j>>2]|0)+(d+-1<<2)>>2]|0;f=g+(a*28|0)+16|0;d=c[f>>2]|0;if(d|0)c[g+(d*28|0)+24>>2]=b;d=g+(a*28|0)+20|0;e=c[d>>2]|0;if(!e)c[g+(a*28|0)+12>>2]=b;c[f>>2]=b;c[d>>2]=e+1}j=g+(b*28|0)+12|0;c[j>>2]=0;c[j+4>>2]=0;c[j+8>>2]=0;c[j+12>>2]=0}while(0);return b|0}function kW(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0;p=l;l=l+16|0;n=p;o=b+300|0;f=c[o>>2]|0;if(!f){f=kb[c[b+12>>2]&63](24)|0;if(!f)f=1;else{m=f;g=4}}else{c[o>>2]=c[f+8>>2];m=f;g=4}do if((g|0)==4){h=d+32|0;a[h>>0]=1;i=d+12|0;c[i>>2]=0;j=b+296|0;k=m+8|0;c[k>>2]=c[j>>2];c[j>>2]=m;c[m+12>>2]=d;f=b+308|0;c[m+16>>2]=c[f>>2];a[m+20>>0]=e;c[m>>2]=0;c[m+4>>2]=0;g=c[d+4>>2]|0;e=g+(c[d+8>>2]|0)|0;c[n>>2]=g;if(!(a[d+33>>0]|0))f=qW(b,c[f>>2]|0,c[b+224>>2]|0,g,e,n,0)|0;else{d=b+224|0;f=c[d>>2]|0;f=ob[c[f>>2]&127](f,g,e,n)|0;f=TV(b,c[d>>2]|0,g,e,f,c[n>>2]|0,n,0)|0}if(!f){f=c[n>>2]|0;if((e|0)!=(f|0)?(c[b+476>>2]|0)==3:0){c[i>>2]=f-g;c[b+276>>2]=60;f=0;break}a[h>>0]=0;c[j>>2]=c[k>>2];c[k>>2]=c[o>>2];c[o>>2]=m;f=0}}while(0);l=p;return f|0}function lW(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;g=l;l=l+16|0;d=g+4|0;e=g;b=c[a+352>>2]|0;f=b+176|0;b=kb[c[a+12>>2]&63](((c[f>>2]|0)*20|0)+(c[b+168>>2]|0)|0)|0;if(!b)b=0;else{c[e>>2]=b+((c[f>>2]|0)*20|0);c[d>>2]=b+20;pW(a,0,b,d,e)}l=g;return b|0}function mW(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0;j=a+64|0;if(!(c[j>>2]|0))if(!(c[a+80>>2]|0))d=1;else{gW(a,b,d,e);d=1}else{h=b+64|0;g=d+(c[h>>2]<<1)|0;d=g+(lb[c[b+28>>2]&127](b,g)|0)|0;f=a+412|0;g=VV(f,b,g,d)|0;if((g|0)!=0?(c[a+428>>2]=c[a+424>>2],i=lb[c[b+32>>2]&127](b,d)|0,i=VV(f,b,i,e+(0-(c[h>>2]<<1))|0)|0,(i|0)!=0):0){oW(i);vb[c[j>>2]&127](c[a+4>>2]|0,g,i);WV(f);d=1}else d=0}return d|0}function nW(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0;g=a+68|0;if(!(c[g>>2]|0))if(!(c[a+80>>2]|0))b=1;else{gW(a,b,d,e);b=1}else{f=a+412|0;h=c[b+64>>2]|0;b=VV(f,b,d+(h<<2)|0,e+(O(h,-3)|0)|0)|0;if(!b)b=0;else{oW(b);ub[c[g>>2]&63](c[a+4>>2]|0,b);WV(f);b=1}}return b|0}function oW(b){b=b|0;var c=0,d=0,e=0;a:while(1){switch(a[b>>0]|0){case 0:break a;case 13:{d=b;c=13;e=4;break a}default:{}}b=b+1|0}if((e|0)==4){while(1){if(c<<24>>24==13){a[d>>0]=10;e=b+1|0;b=(a[e>>0]|0)==10?b+2|0:e}else{a[d>>0]=c;b=b+1|0}d=d+1|0;c=a[b>>0]|0;if(!(c<<24>>24))break;else e=4}a[d>>0]=0}return}function pW(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0;k=(c[b+352>>2]|0)+164|0;j=c[(c[k>>2]|0)+(d*28|0)>>2]|0;c[e>>2]=j;c[e+4>>2]=c[(c[k>>2]|0)+(d*28|0)+4>>2];if((j|0)==4){c[e+8>>2]=c[g>>2];d=c[(c[k>>2]|0)+(d*28|0)+8>>2]|0;while(1){j=a[d>>0]|0;k=c[g>>2]|0;c[g>>2]=k+1;a[k>>0]=j;if(!(a[d>>0]|0))break;else d=d+1|0}c[e+12>>2]=0;c[e+16>>2]=0}else{h=c[(c[k>>2]|0)+(d*28|0)+20>>2]|0;i=e+12|0;c[i>>2]=h;j=e+16|0;c[j>>2]=c[f>>2];c[f>>2]=(c[f>>2]|0)+(h*20|0);d=(c[k>>2]|0)+(d*28|0)+12|0;h=0;while(1){d=c[d>>2]|0;if(h>>>0>=(c[i>>2]|0)>>>0)break;pW(b,d,(c[j>>2]|0)+(h*20|0)|0,f,g);d=(c[k>>2]|0)+(d*28|0)+24|0;h=h+1|0}c[e+8>>2]=0}return}function qW(b,d,e,f,g,h,i){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0,la=0,ma=0,na=0;ma=l;l=l+48|0;ja=ma+28|0;ea=ma+32|0;ka=ma+24|0;Z=ma;c[ja>>2]=f;_=c[b+352>>2]|0;if((c[b+144>>2]|0)==(e|0)){fa=b+284|0;Y=b+288|0}else{Y=c[b+296>>2]|0;fa=Y;Y=Y+4|0}c[fa>>2]=f;t=e+4|0;ga=b+80|0;u=b+476|0;v=e+44|0;w=e+64|0;x=_+80|0;y=_+96|0;z=_+92|0;A=_+129|0;B=b+112|0;C=b+116|0;D=b+428|0;E=b+424|0;F=b+304|0;G=b+120|0;ha=b+4|0;H=_+130|0;$=b+60|0;I=b+364|0;J=b+12|0;K=b+360|0;L=e+28|0;ia=b+308|0;aa=e+56|0;M=b+16|0;N=b+52|0;O=b+412|0;P=b+388|0;Q=b+56|0;R=b+232|0;S=b+233|0;T=b+468|0;U=b+104|0;V=b+372|0;W=e+40|0;X=b+72|0;ba=e+68|0;ca=b+44|0;da=b+48|0;a:while(1){s=c[ja>>2]|0;c[ea>>2]=s;s=ob[c[t>>2]&127](e,s,g,ea)|0;f=c[ea>>2]|0;c[Y>>2]=f;k=f;b:do switch(s|0){case -3:{la=6;break a}case -4:{la=15;break a}case 0:{la=20;break a}case -1:{la=21;break a}case -2:{la=23;break a}case 12:{f=17;break a}case -5:{la=134;break a}case 9:{s=c[w>>2]|0;s=(nb[c[v>>2]&63](e,(c[ja>>2]|0)+s|0,k+(0-s)|0)|0)&255;a[ka>>0]=s;do if(s<<24>>24){f=c[$>>2]|0;if(f|0){vb[f&127](c[ha>>2]|0,ka,1);break}if(c[ga>>2]|0)gW(b,e,c[ja>>2]|0,c[ea>>2]|0)}else{j=c[w>>2]|0;j=VV(x,e,(c[ja>>2]|0)+j|0,(c[ea>>2]|0)+(0-j)|0)|0;if(!j){f=1;la=56;break a}k=XV(b,_,j,0)|0;c[z>>2]=c[y>>2];if((a[A>>0]|0)!=0?(a[H>>0]|0)==0:0){if(!k){f=c[G>>2]|0;if(f|0){vb[f&127](c[ha>>2]|0,j,0);break}if(!(c[ga>>2]|0))break;gW(b,e,c[ja>>2]|0,c[ea>>2]|0);break}}else{if(!k){f=11;la=56;break a}if(!(a[k+34>>0]|0)){f=24;la=56;break a}}f=k+32|0;if(a[f>>0]|0){f=12;la=56;break a}if(c[k+28>>2]|0){f=15;la=56;break a}if(!(c[k+4>>2]|0)){if(!(c[B>>2]|0)){if(!(c[ga>>2]|0))break;gW(b,e,c[ja>>2]|0,c[ea>>2]|0);break}a[f>>0]=1;j=sW(b)|0;a[f>>0]=0;if(!j){f=1;la=56;break a}if(!(pb[c[B>>2]&127](c[C>>2]|0,j,c[k+20>>2]|0,c[k+16>>2]|0,c[k+24>>2]|0)|0)){f=21;la=56;break a}c[E>>2]=c[D>>2];break}if(a[F>>0]|0){f=kW(b,k,0)|0;if(!f)break;else{la=58;break a}}f=c[G>>2]|0;if(!f){if(c[ga>>2]|0)gW(b,e,c[ja>>2]|0,c[ea>>2]|0)}else vb[f&127](c[ha>>2]|0,c[k>>2]|0,0);break b}while(0);break}case 1:case 2:{f=c[I>>2]|0;if(!f){f=kb[c[J>>2]&63](48)|0;if(!f){f=1;la=75;break a}j=kb[c[J>>2]&63](32)|0;c[f+36>>2]=j;if(!j){la=63;break a}c[f+40>>2]=j+32}else c[I>>2]=c[f>>2];o=f+44|0;c[o>>2]=0;c[f>>2]=c[K>>2];c[K>>2]=f;s=f+12|0;c[f+16>>2]=0;c[f+20>>2]=0;r=(c[ja>>2]|0)+(c[w>>2]|0)|0;q=f+4|0;c[q>>2]=r;p=f+8|0;c[p>>2]=lb[c[L>>2]&127](e,r)|0;c[ia>>2]=(c[ia>>2]|0)+1;q=c[q>>2]|0;p=q+(c[p>>2]|0)|0;c[Z>>2]=q;q=f+36|0;c[ka>>2]=c[q>>2];r=f+40|0;j=c[r>>2]|0;while(1){na=pb[c[aa>>2]&127](e,Z,p,ka,j+-1|0)|0;j=c[ka>>2]|0;m=c[q>>2]|0;k=m;n=j-k|0;if((na|0)==1?1:(c[Z>>2]|0)>>>0>=p>>>0)break;k=(c[r>>2]|0)-k<<1;j=lb[c[M>>2]&127](m,k)|0;if(!j){la=69;break a}c[q>>2]=j;na=j+k|0;c[r>>2]=na;c[ka>>2]=j+n;j=na}c[f+24>>2]=n;c[s>>2]=k;a[j>>0]=0;f=tW(b,e,c[ja>>2]|0,s,o)|0;if(f|0){la=75;break a}f=c[N>>2]|0;if(!f){if(c[ga>>2]|0)gW(b,e,c[ja>>2]|0,c[ea>>2]|0)}else vb[f&127](c[ha>>2]|0,c[s>>2]|0,c[P>>2]|0);WV(O);break}case 3:case 4:{na=(c[ja>>2]|0)+(c[w>>2]|0)|0;c[ka>>2]=0;na=VV(O,e,na,na+(lb[c[L>>2]&127](e,na)|0)|0)|0;c[Z>>2]=na;if(!na){f=1;la=89;break a}c[D>>2]=c[E>>2];f=tW(b,e,c[ja>>2]|0,Z,ka)|0;if(f|0){la=79;break a}c[D>>2]=c[E>>2];f=c[N>>2]|0;if(!f)j=1;else{vb[f&127](c[ha>>2]|0,c[Z>>2]|0,c[P>>2]|0);j=0}f=c[Q>>2]|0;if(!f){if(j|0?c[ga>>2]|0:0)gW(b,e,c[ja>>2]|0,c[ea>>2]|0)}else{if(c[N>>2]|0){c[fa>>2]=c[Y>>2];f=c[Q>>2]|0}ub[f&63](c[ha>>2]|0,c[Z>>2]|0)}WV(O);uW(b,c[ka>>2]|0);if((c[ia>>2]|0)==0?(c[u>>2]&-2|0)!=2:0){la=92;break a}break}case 5:{if((c[ia>>2]|0)==(d|0)){f=13;break a}n=c[K>>2]|0;c[K>>2]=c[n>>2];c[n>>2]=c[I>>2];c[I>>2]=n;f=(c[ja>>2]|0)+(c[w>>2]<<1)|0;j=lb[c[L>>2]&127](e,f)|0;if((j|0)!=(c[n+8>>2]|0)){la=96;break a}if(K0(c[n+4>>2]|0,f,j)|0){la=96;break a}c[ia>>2]=(c[ia>>2]|0)+-1;f=c[Q>>2]|0;if(!f){if(c[ga>>2]|0)gW(b,e,c[ja>>2]|0,c[ea>>2]|0)}else{j=c[n+16>>2]|0;m=n+12|0;if((j|0)!=0&(a[R>>0]|0)!=0){f=(c[m>>2]|0)+(c[n+28>>2]|0)|0;while(1){k=a[j>>0]|0;if(!(k<<24>>24))break;a[f>>0]=k;f=f+1|0;j=j+1|0}j=c[n+20>>2]|0;c:do if((j|0)!=0&(a[S>>0]|0)!=0){a[f>>0]=a[T>>0]|0;while(1){f=f+1|0;k=a[j>>0]|0;if(!(k<<24>>24))break c;a[f>>0]=k;j=j+1|0}}while(0);a[f>>0]=0;f=c[Q>>2]|0}ub[f&63](c[ha>>2]|0,c[m>>2]|0)}k=n+44|0;while(1){m=c[k>>2]|0;if(!m)break;f=c[U>>2]|0;if(!f){f=m;j=m}else{ub[f&63](c[ha>>2]|0,c[c[m>>2]>>2]|0);f=m;j=c[k>>2]|0}c[k>>2]=c[j+4>>2];c[m+4>>2]=c[V>>2];c[V>>2]=m;c[(c[f>>2]|0)+4>>2]=c[m+8>>2]}if(!(c[ia>>2]|0)){la=117;break a}break}case 10:{f=lb[c[W>>2]&127](e,c[ja>>2]|0)|0;if((f|0)<0){f=14;break a}j=c[$>>2]|0;if(j|0){s=c[ha>>2]|0;na=fX(f,ka)|0;vb[j&127](s,ka,na);break b}if(c[ga>>2]|0)gW(b,e,c[ja>>2]|0,c[ea>>2]|0);break}case 7:{f=c[$>>2]|0;if(f|0){a[ka>>0]=10;vb[f&127](c[ha>>2]|0,ka,1);break b}if(c[ga>>2]|0)gW(b,e,c[ja>>2]|0,k);break}case 8:{f=c[X>>2]|0;if(!f){if(c[ga>>2]|0)gW(b,e,c[ja>>2]|0,k)}else tb[f&127](c[ha>>2]|0);f=wW(b,e,ea,g,h,i)|0;if(f|0)break a;if(!(c[ea>>2]|0)){la=133;break a}break}case 6:{j=c[$>>2]|0;if(!j){if(!(c[ga>>2]|0))break b;gW(b,e,c[ja>>2]|0,k);break b}if(!(a[ba>>0]|0))f=k;else{na=c[ja>>2]|0;vb[j&127](c[ha>>2]|0,na,f-na|0);break b}while(1){c[ka>>2]=c[ca>>2];na=pb[c[aa>>2]&127](e,ja,f,ka,c[da>>2]|0)|0;c[Y>>2]=c[ja>>2];s=c[ca>>2]|0;vb[j&127](c[ha>>2]|0,s,(c[ka>>2]|0)-s|0);if(na>>>0<2)break;c[fa>>2]=c[ja>>2];f=c[ea>>2]|0}break}case 11:{if(!(mW(b,e,c[ja>>2]|0,k)|0)){f=1;break a}break}case 13:{if(!(nW(b,e,c[ja>>2]|0,k)|0)){f=1;break a}break}default:if(c[ga>>2]|0)gW(b,e,c[ja>>2]|0,k)}while(0);na=c[ea>>2]|0;c[ja>>2]=na;c[fa>>2]=na;switch(c[u>>2]|0){case 2:{f=35;break a}case 3:{la=160;break a}default:{}}}switch(la|0){case 6:{if(i<<24>>24){c[h>>2]=c[ja>>2];f=0;break}c[Y>>2]=g;f=c[$>>2]|0;if(!f){if(c[ga>>2]|0)gW(b,e,c[ja>>2]|0,g)}else{a[ka>>0]=10;vb[f&127](c[ha>>2]|0,ka,1)}if(d)if((c[ia>>2]|0)==(d|0)){c[h>>2]=g;f=0}else f=13;else f=3;break}case 15:{if(i<<24>>24){c[h>>2]=c[ja>>2];f=0;break}if((d|0)>0)if((c[ia>>2]|0)==(d|0)){c[h>>2]=c[ja>>2];f=0}else f=13;else f=3;break}case 20:{c[fa>>2]=f;f=4;break}case 21:{if(!(i<<24>>24))f=5;else{c[h>>2]=c[ja>>2];f=0}break}case 23:{if(!(i<<24>>24))f=6;else{c[h>>2]=c[ja>>2];f=0}break}case 56:break;case 58:break;case 63:{tb[c[b+20>>2]&127](f);f=1;la=75;break}case 69:{f=1;la=75;break}case 79:{uW(b,c[ka>>2]|0);la=89;break}case 92:{f=vW(b,c[ea>>2]|0,g,h)|0;break}case 96:{c[fa>>2]=f;f=7;break}case 117:{f=vW(b,c[ea>>2]|0,g,h)|0;break}case 133:{c[b+276>>2]=61;f=0;break}case 134:{if(i<<24>>24){c[h>>2]=c[ja>>2];f=0;break}f=c[$>>2]|0;do if(!f){if(c[ga>>2]|0)gW(b,e,c[ja>>2]|0,g)}else if(!(a[ba>>0]|0)){c[ka>>2]=c[ca>>2];pb[c[aa>>2]&127](e,ja,g,ka,c[da>>2]|0)|0;na=c[ca>>2]|0;vb[c[$>>2]&127](c[ha>>2]|0,na,(c[ka>>2]|0)-na|0);break}else{na=c[ja>>2]|0;vb[f&127](c[ha>>2]|0,na,g-na|0);break}while(0);if(!d){c[fa>>2]=g;f=3;break}if((c[ia>>2]|0)==(d|0)){c[h>>2]=g;f=0;break}else{c[fa>>2]=g;f=13;break}}case 160:{c[h>>2]=c[ea>>2];f=0;break}}l=ma;return f|0}function rW(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;q=l;l=l+16|0;p=q;k=b+296|0;m=c[k>>2]|0;do if(m){n=c[m+12>>2]|0;h=n+4|0;j=c[h>>2]|0;i=n+12|0;g=j+(c[i>>2]|0)|0;j=j+(c[n+8>>2]|0)|0;c[p>>2]=g;o=n+33|0;if(!(a[o>>0]|0))g=qW(b,c[m+16>>2]|0,c[b+224>>2]|0,g,j,p,0)|0;else{s=b+224|0;r=c[s>>2]|0;r=ob[c[r>>2]&127](r,g,j,p)|0;g=TV(b,c[s>>2]|0,g,j,r,c[p>>2]|0,p,0)|0}if(!g){g=c[p>>2]|0;if((j|0)!=(g|0)?(c[b+476>>2]|0)==3:0){c[i>>2]=g-(c[h>>2]|0);g=0;break}a[n+32>>0]=0;s=m+8|0;c[k>>2]=c[s>>2];g=b+300|0;c[s>>2]=c[g>>2];c[g>>2]=m;g=b+276|0;if(!(a[o>>0]|0)){c[g>>2]=58;g=qW(b,(c[b+472>>2]|0)!=0&1,c[b+144>>2]|0,d,e,f,(a[b+480>>0]|0)==0&1)|0;break}else{c[g>>2]=57;s=b+144|0;g=c[s>>2]|0;g=ob[c[g>>2]&127](g,d,e,p)|0;g=TV(b,c[s>>2]|0,d,e,g,c[p>>2]|0,f,(a[b+480>>0]|0)==0&1)|0;break}}}else g=23;while(0);l=q;return g|0}function sW(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0;q=l;l=l+16|0;n=q;m=c[b+352>>2]|0;h=m+156|0;o=b+412|0;p=b+424|0;a:do if(!(c[h>>2]|0)){d=0;i=b+420|0;k=b+468|0;j=12}else{d=c[p>>2]|0;i=b+420|0;if((d|0)==(c[i>>2]|0)){if(!((dW(o)|0)<<24>>24)){d=0;break}d=c[p>>2]|0}c[p>>2]=d+1;a[d>>0]=61;g=b+468|0;e=(c[(c[h>>2]|0)+20>>2]|0)+(((a[g>>0]|0)!=0)<<31>>31)|0;f=0;while(1){if((f|0)>=(e|0)){d=1;k=g;j=12;break a}d=c[p>>2]|0;if((d|0)==(c[i>>2]|0)){if(!((dW(o)|0)<<24>>24)){d=0;break a}d=c[p>>2]|0}k=a[(c[(c[h>>2]|0)+16>>2]|0)+f>>0]|0;c[p>>2]=d+1;a[d>>0]=k;f=f+1|0}}while(0);b:do if((j|0)==12){MV(n,m+60|0);c:while(1){do{e=NV(n)|0;if(!e)break c;h=e+4|0}while(!(c[h>>2]|0));if(d<<24>>24){d=c[p>>2]|0;if((d|0)==(c[i>>2]|0)){if(!((dW(o)|0)<<24>>24)){d=0;break b}d=c[p>>2]|0}c[p>>2]=d+1;a[d>>0]=12}g=c[e>>2]|0;while(1){e=a[g>>0]|0;d=c[p>>2]|0;f=(d|0)==(c[i>>2]|0);if(!(e<<24>>24))break;if(f){if(!((dW(o)|0)<<24>>24)){d=0;break b}d=c[p>>2]|0;e=a[g>>0]|0}c[p>>2]=d+1;a[d>>0]=e;g=g+1|0}if(f){if(!((dW(o)|0)<<24>>24)){d=0;break b}d=c[p>>2]|0}c[p>>2]=d+1;a[d>>0]=61;f=(c[(c[h>>2]|0)+20>>2]|0)+(((a[k>>0]|0)!=0)<<31>>31)|0;e=0;while(1){if((e|0)>=(f|0)){d=1;continue c}d=c[p>>2]|0;if((d|0)==(c[i>>2]|0)){if(!((dW(o)|0)<<24>>24)){d=0;break b}d=c[p>>2]|0}j=a[(c[(c[h>>2]|0)+16>>2]|0)+e>>0]|0;c[p>>2]=d+1;a[d>>0]=j;e=e+1|0}}MV(n,m);d:while(1){do{e=NV(n)|0;if(!e)break d}while(!(a[e+32>>0]|0));if(d<<24>>24){d=c[p>>2]|0;if((d|0)==(c[i>>2]|0)){if(!((dW(o)|0)<<24>>24)){d=0;break b}d=c[p>>2]|0}c[p>>2]=d+1;a[d>>0]=12}f=c[e>>2]|0;while(1){e=a[f>>0]|0;if(!(e<<24>>24)){d=1;continue d}d=c[p>>2]|0;if((d|0)==(c[i>>2]|0)){if(!((dW(o)|0)<<24>>24)){d=0;break b}d=c[p>>2]|0;e=a[f>>0]|0}c[p>>2]=d+1;a[d>>0]=e;f=f+1|0}}d=c[p>>2]|0;if((d|0)==(c[i>>2]|0)){if(!((dW(o)|0)<<24>>24)){d=0;break}d=c[p>>2]|0}c[p>>2]=d+1;a[d>>0]=0;d=c[b+428>>2]|0}while(0);l=q;return d|0}function tW(b,e,f,g,h){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0;O=l;l=l+80|0;K=O+16|0;L=O;M=c[b+352>>2]|0;k=M+20|0;i=XV(b,k,c[g>>2]|0,0)|0;if(!i){i=AW(M+80|0,c[g>>2]|0)|0;if((i|0)!=0?(j=XV(b,k,i,24)|0,(j|0)!=0):0)if((a[b+232>>0]|0)!=0?(BW(b,j)|0)==0:0)i=1;else A=6;else i=1}else{j=i;A=6}a:do if((A|0)==6){x=c[j+12>>2]|0;k=e+36|0;m=b+376|0;t=b+388|0;u=ob[c[k>>2]&127](e,f,c[m>>2]|0,c[t>>2]|0)|0;i=u+x|0;n=c[m>>2]|0;if((i|0)>(n|0)){i=i+16|0;c[m>>2]=i;i=lb[c[b+16>>2]&127](c[t>>2]|0,i<<4)|0;if(!i){c[m>>2]=n;i=1;break}c[t>>2]=i;if((u|0)>(n|0))ob[c[k>>2]&127](e,f,u,i)|0}J=c[t>>2]|0;r=e+28|0;H=b+412|0;I=b+428|0;w=j+20|0;q=b+424|0;s=0;p=0;k=0;while(1){if((p|0)>=(u|0))break;o=c[(c[t>>2]|0)+(p<<4)>>2]|0;o=$V(b,e,o,o+(lb[c[r>>2]&127](e,o)|0)|0)|0;if(!o){i=1;break a}i=(c[o>>2]|0)+-1|0;if(a[i>>0]|0){A=15;break}a[i>>0]=1;f=s+1|0;c[J+(s<<2)>>2]=c[o>>2];n=c[t>>2]|0;if(a[n+(p<<4)+12>>0]|0){G=VV(H,e,c[n+(p<<4)+4>>2]|0,c[n+(p<<4)+8>>2]|0)|0;c[J+(f<<2)>>2]=G;if(!G){i=1;break a}}else{b:do if(!(a[o+8>>0]|0))i=1;else{i=0;while(1){if((i|0)>=(x|0)){i=1;break b}m=c[w>>2]|0;if((o|0)==(c[m+(i*12|0)>>2]|0))break;i=i+1|0}i=a[m+(i*12|0)+4>>0]|0}while(0);i=eW(b,e,i,c[n+(p<<4)+4>>2]|0,c[n+(p<<4)+8>>2]|0,H)|0;if(i|0)break a;c[J+(f<<2)>>2]=c[I>>2]}c[I>>2]=c[q>>2];i=c[o+4>>2]|0;do if(i)if(a[o+9>>0]|0){i=CW(b,i,o,c[J+(f<<2)>>2]|0,h)|0;if(!i){i=s;break}else break a}else{a[(c[o>>2]|0)+-1>>0]=2;k=k+1|0;i=s+2|0;break}else i=s+2|0;while(0);s=i;p=p+1|0}if((A|0)==15){if((c[b+144>>2]|0)!=(e|0)){i=8;break}c[b+284>>2]=c[(c[t>>2]|0)+(p<<4)>>2];i=8;break}c[b+380>>2]=s;i=c[j+8>>2]|0;c:do if((i|0)!=0?(v=c[i>>2]|0,(a[v+-1>>0]|0)!=0):0){i=0;while(1){if((i|0)>=(s|0)){f=0;p=k;G=s;break c}if((c[J+(i<<2)>>2]|0)==(v|0)){A=37;break c}i=i+2|0}}else{i=-1;A=37}while(0);if((A|0)==37){c[b+384>>2]=i;f=0;p=k;G=s}while(1){if((f|0)>=(x|0))break;i=c[w>>2]|0;n=i+(f*12|0)|0;k=c[n>>2]|0;m=(c[k>>2]|0)+-1|0;d:do if((a[m>>0]|0)==0?(y=i+(f*12|0)+8|0,z=c[y>>2]|0,(z|0)!=0):0){i=c[k+4>>2]|0;do if(i)if(a[k+9>>0]|0){i=CW(b,i,k,z,h)|0;if(!i){i=p;k=G;break d}else break a}else{a[m>>0]=2;i=p+1|0;break}else{a[m>>0]=1;i=p}while(0);c[J+(G<<2)>>2]=c[c[n>>2]>>2];c[J+(G+1<<2)>>2]=c[y>>2];k=G+2|0}else{i=p;k=G}while(0);f=f+1|0;p=i;G=k}c[J+(G<<2)>>2]=0;e:do if(!p)i=0;else{o=b+396|0;n=c[o>>2]|0;F=b+400|0;f=a[F>>0]|0;i=f&255;do if(!(p<<1>>i)){i=1<>24}while((p>>(E&255)|0)!=0);i=(i&255)>3?i:3;a[F>>0]=i;i=i&255;m=b+392|0;k=lb[c[b+16>>2]&127](c[m>>2]|0,12<>0]=f;i=1;break a}else{c[m>>2]=k;k=1<>2]|0)+(E*12|0)>>2]=-1;i=E}}while(0);E=i+-1|0;c[o>>2]=E;w=M+40|0;x=b+424|0;y=b+420|0;z=k+-1|0;A=0-k|0;B=z>>>2;C=b+233|0;D=b+468|0;i=0;v=p;g:while(1){while(1){if((i|0)>=(G|0))break e;e=J+(i<<2)|0;n=c[e>>2]|0;f=n+-1|0;if((a[f>>0]|0)==2)break;a[f>>0]=0;i=i+2|0}DW(b,L);EW(K,L);a[f>>0]=0;f=XV(b,w,n,0)|0;if(!f){i=1;break}f=c[f+4>>2]|0;if(!f){i=1;break}u=c[f+4>>2]|0;if(!u){i=27;break}q=u+20|0;r=u+16|0;p=0;while(1){f=c[q>>2]|0;o=c[r>>2]|0;if((p|0)>=(f|0))break;o=a[o+p>>0]|0;f=c[x>>2]|0;if((f|0)==(c[y>>2]|0)){if(!((dW(H)|0)<<24>>24)){i=1;break g}f=c[x>>2]|0}c[x>>2]=f+1;a[f>>0]=o;p=p+1|0}FW(K,o,f);do{t=n;n=n+1|0}while((a[t>>0]|0)!=58);FW(K,n,GW(n)|0);while(1){f=c[x>>2]|0;if((f|0)==(c[y>>2]|0)){if(!((dW(H)|0)<<24>>24)){i=1;break g}f=c[x>>2]|0}t=a[n>>0]|0;c[x>>2]=f+1;a[f>>0]=t;if(!(a[n>>0]|0))break;else n=n+1|0}t=HW(K)|0;q=c[m>>2]|0;r=t&A;n=0;s=z&t;while(1){if((c[q+(s*12|0)>>2]|0)!=(E|0))break;if((c[q+(s*12|0)+4>>2]|0)==(t|0)){f=c[q+(s*12|0)+8>>2]|0;o=c[I>>2]|0;while(1){P=a[o>>0]|0;p=P<<24>>24==0;if(p|P<<24>>24!=(a[f>>0]|0))break;f=f+1|0;o=o+1|0}if(p){i=8;break g}}if(!(n<<24>>24))n=(r>>>((d[F>>0]|0)+-1|0)&B|1)&255;P=n&255;s=s+((s|0)<(P|0)?k:0)-P|0}if(a[C>>0]|0){a[(c[x>>2]|0)+-1>>0]=a[D>>0]|0;f=c[c[u>>2]>>2]|0;while(1){n=c[x>>2]|0;if((n|0)==(c[y>>2]|0)){if(!((dW(H)|0)<<24>>24)){i=1;break g}n=c[x>>2]|0}P=a[f>>0]|0;c[x>>2]=n+1;a[n>>0]=P;if(!(a[f>>0]|0))break;else f=f+1|0}}P=c[I>>2]|0;c[I>>2]=c[x>>2];c[e>>2]=P;c[(c[m>>2]|0)+(s*12|0)>>2]=E;c[(c[m>>2]|0)+(s*12|0)+4>>2]=t;c[(c[m>>2]|0)+(s*12|0)+8>>2]=P;v=v+-1|0;i=i+2|0;if(!v)break e}break a}while(0);while(1){if((i|0)>=(G|0)){i=h;break}a[(c[J+(i<<2)>>2]|0)+-1>>0]=0;i=i+2|0}while(1){i=c[i>>2]|0;if(!i)break;a[(c[c[i+12>>2]>>2]|0)+-1>>0]=0;i=i+4|0}if(!(a[b+232>>0]|0))i=0;else{i=c[j+4>>2]|0;if(!i){i=c[M+156>>2]|0;if(!i){i=0;break}k=c[g>>2]|0}else{i=c[i+4>>2]|0;if(!i){i=27;break}j=c[g>>2]|0;while(1){k=j+1|0;if((a[j>>0]|0)==58)break;else j=k}}if((a[b+233>>0]|0)!=0?(N=c[c[i>>2]>>2]|0,(N|0)!=0):0){j=0;while(1){m=j+1|0;if(!(a[N+j>>0]|0))break;else j=m}}else m=0;c[g+4>>2]=k;p=i+20|0;c[g+16>>2]=c[p>>2];c[g+8>>2]=c[c[i>>2]>>2];c[g+20>>2]=m;q=0;while(1){r=q+1|0;if(!(a[k+q>>0]|0))break;else q=r}j=c[p>>2]|0;n=r+m+j|0;f=i+24|0;if((n|0)>(c[f>>2]|0)){j=n+24|0;o=kb[c[b+12>>2]&63](j)|0;if(!o){i=1;break}c[f>>2]=j;f=i+16|0;E3(o|0,c[f>>2]|0,c[p>>2]|0)|0;j=b+360|0;while(1){j=c[j>>2]|0;if(!j)break;n=j+12|0;if((c[n>>2]|0)==(c[f>>2]|0))c[n>>2]=o}tb[c[b+20>>2]&127](c[f>>2]|0);c[f>>2]=o;n=o;j=c[p>>2]|0}else{n=i+16|0;f=n;n=c[n>>2]|0}j=n+j|0;E3(j|0,k|0,r|0)|0;if(m|0){P=j+q|0;a[P>>0]=a[b+468>>0]|0;E3(P+1|0,c[c[i>>2]>>2]|0,m|0)|0}c[g>>2]=c[f>>2];i=0}}while(0);l=O;return i|0}function uW(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;e=a+104|0;f=a+372|0;d=a+4|0;while(1){if(!b)break;a=c[e>>2]|0;if(!a)a=b;else{ub[a&63](c[d>>2]|0,c[c[b>>2]>>2]|0);a=b}h=b+4|0;g=c[h>>2]|0;c[h>>2]=c[f>>2];c[f>>2]=b;c[(c[a>>2]|0)+4>>2]=c[b+8>>2];b=g}return}function vW(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0;q=l;l=l+16|0;j=q;c[b+276>>2]=62;k=b+284|0;c[k>>2]=d;m=b+144|0;n=b+288|0;o=b+80|0;i=b+476|0;g=d;a:while(1){c[j>>2]=0;r=c[m>>2]|0;r=ob[c[r>>2]&127](r,g,e,j)|0;d=c[j>>2]|0;c[n>>2]=d;h=d;switch(r|0){case -15:{p=3;break a}case -4:{p=7;break a}case 0:{p=12;break a}case -1:{p=13;break a}case -2:{p=15;break a}case 15:{if(c[o>>2]|0)gW(b,c[m>>2]|0,g,h);break}case 11:{if(!(mW(b,c[m>>2]|0,g,h)|0)){d=1;break a}break}case 13:{if(!(nW(b,c[m>>2]|0,g,h)|0)){d=1;break a}break}default:{d=9;break a}}d=c[j>>2]|0;c[k>>2]=d;switch(c[i>>2]|0){case 2:{d=35;break a}case 3:{p=18;break a}default:{}}g=d}do if((p|0)==3){if(c[o>>2]|0){gW(b,c[m>>2]|0,g,h);if((c[i>>2]|0)==2){d=35;break}d=c[j>>2]|0}c[f>>2]=d;d=0}else if((p|0)==7){c[f>>2]=g;d=0}else if((p|0)==12){c[k>>2]=d;d=4}else if((p|0)==13)if(!(a[b+480>>0]|0)){c[f>>2]=g;d=0}else d=5;else if((p|0)==15)if(!(a[b+480>>0]|0)){c[f>>2]=g;d=0}else d=6;else if((p|0)==18){c[f>>2]=d;d=0}while(0);l=q;return d|0}function wW(b,d,e,f,g,h){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0;B=l;l=l+16|0;y=B+8|0;z=B+4|0;x=B;i=c[e>>2]|0;c[y>>2]=i;if((c[b+144>>2]|0)==(d|0)){s=b+284|0;c[s>>2]=i;t=b+288|0}else{t=c[b+296>>2]|0;s=t;t=t+4|0}c[s>>2]=i;c[e>>2]=0;k=d+8|0;m=b+60|0;u=b+80|0;v=b+4|0;w=b+476|0;n=d+68|0;o=b+44|0;p=d+56|0;q=b+48|0;a:while(1){j=ob[c[k>>2]&127](d,c[y>>2]|0,f,z)|0;i=c[z>>2]|0;c[t>>2]=i;r=i;b:do switch(j|0){case 40:{A=6;break a}case 0:{A=23;break a}case -2:{A=24;break a}case -4:case -1:{A=26;break a}case 7:{i=c[m>>2]|0;if(i|0){a[x>>0]=10;vb[i&127](c[v>>2]|0,x,1);break b}if(c[u>>2]|0)gW(b,d,c[y>>2]|0,r);break}case 6:{j=c[m>>2]|0;if(!j){if(!(c[u>>2]|0))break b;gW(b,d,c[y>>2]|0,r);break b}if(!(a[n>>0]|0))i=r;else{r=c[y>>2]|0;vb[j&127](c[v>>2]|0,r,i-r|0);break b}while(1){c[x>>2]=c[o>>2];r=pb[c[p>>2]&127](d,y,i,x,c[q>>2]|0)|0;c[t>>2]=c[z>>2];i=c[o>>2]|0;vb[j&127](c[v>>2]|0,i,(c[x>>2]|0)-i|0);if(r>>>0<2)break;c[s>>2]=c[y>>2];i=c[z>>2]|0}break}default:{A=28;break a}}while(0);r=c[z>>2]|0;c[y>>2]=r;c[s>>2]=r;switch(c[w>>2]|0){case 3:{A=30;break a}case 2:{i=35;break a}default:{}}}if((A|0)==6){i=c[b+76>>2]|0;if(!i){if(c[u>>2]|0)gW(b,d,c[y>>2]|0,r)}else tb[i&127](c[v>>2]|0);i=c[z>>2]|0;c[e>>2]=i;c[g>>2]=i;i=(c[w>>2]|0)==2?35:0}else if((A|0)==23){c[s>>2]=i;i=4}else if((A|0)==24)if(!(h<<24>>24))i=6;else{c[g>>2]=c[y>>2];i=0}else if((A|0)==26)if(!(h<<24>>24))i=20;else{c[g>>2]=c[y>>2];i=0}else if((A|0)==28){c[s>>2]=i;i=23}else if((A|0)==30){c[g>>2]=c[z>>2];i=0}l=B;return i|0}function xW(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0;h=l;l=l+16|0;g=h;c[g>>2]=d;d=wW(b,c[b+144>>2]|0,g,e,f,(a[b+480>>0]|0)==0&1)|0;g=c[g>>2]|0;do if(!((d|0)!=0|(g|0)==0)){d=b+276|0;if(!(c[b+472>>2]|0)){c[d>>2]=58;d=ZV(b,g,e,f)|0;break}else{c[d>>2]=63;d=yW(b,g,e,f)|0;break}}while(0);l=h;return d|0}function yW(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;d=qW(b,1,c[b+144>>2]|0,d,e,f,(a[b+480>>0]|0)==0&1)|0;if((d|0)==0?(zW(b)|0)<<24>>24==0:0)d=1;return d|0}function zW(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;m=a+16|0;a=a+360|0;while(1){a=c[a>>2]|0;if(!a){a=1;break}i=(c[a+24>>2]|0)+1|0;j=a+36|0;f=c[j>>2]|0;e=f+i|0;l=a+4|0;d=c[l>>2]|0;if((d|0)==(e|0)){a=1;break}k=a+8|0;b=c[k>>2]|0;g=b+i|0;h=a+40|0;if((g|0)>((c[h>>2]|0)-f|0)){e=lb[c[m>>2]&127](f,g)|0;if(!e){a=0;break}b=a+12|0;f=c[j>>2]|0;if((c[b>>2]|0)==(f|0))c[b>>2]=e;b=a+16|0;d=c[b>>2]|0;if(d|0)c[b>>2]=e+(d-f);c[j>>2]=e;c[h>>2]=e+g;e=e+i|0;d=c[l>>2]|0;b=c[k>>2]|0}E3(e|0,d|0,b|0)|0;c[l>>2]=e}return a|0}function AW(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0;f=b+12|0;g=b+8|0;while(1){e=c[f>>2]|0;if((e|0)==(c[g>>2]|0)){if(!((dW(b)|0)<<24>>24)){d=0;break}e=c[f>>2]|0}i=a[d>>0]|0;c[f>>2]=e+1;a[e>>0]=i;if(!(a[d>>0]|0)){h=6;break}else d=d+1|0}if((h|0)==6){i=b+16|0;d=c[i>>2]|0;c[i>>2]=c[f>>2]}return d|0}function BW(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;n=c[b+352>>2]|0;j=n+80|0;k=n+92|0;l=n+88|0;m=n+60|0;n=n+96|0;i=d+4|0;h=c[d>>2]|0;a:while(1){switch(a[h>>0]|0){case 0:{e=1;break a}case 58:{g=c[d>>2]|0;while(1){e=c[k>>2]|0;f=(e|0)==(c[l>>2]|0);if((g|0)==(h|0))break;if(f){if(!((dW(j)|0)<<24>>24)){e=0;break a}e=c[k>>2]|0}f=a[g>>0]|0;c[k>>2]=e+1;a[e>>0]=f;g=g+1|0}if(f){if(!((dW(j)|0)<<24>>24)){e=0;break a}e=c[k>>2]|0}c[k>>2]=e+1;a[e>>0]=0;e=XV(b,m,c[n>>2]|0,8)|0;if(!e){e=0;break a}f=c[n>>2]|0;if((c[e>>2]|0)==(f|0))c[n>>2]=c[k>>2];else c[k>>2]=f;c[i>>2]=e;break}default:{}}h=h+1|0}return e|0}function CW(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;k=a[f>>0]|0;i=c[d>>2]|0;h=(i|0)==0;do if(!(k<<24>>24))if(h){m=0;j=11}else h=28;else if(((!h?(a[i>>0]|0)==120:0)?(a[i+1>>0]|0)==109:0)?(a[i+2>>0]|0)==108:0){h=a[i+3>>0]|0;if((h<<24>>24==110?(a[i+4>>0]|0)==115:0)?(a[i+5>>0]|0)==0:0){h=39;break}m=h<<24>>24==0&1;j=11}else{m=0;j=11}while(0);a:do if((j|0)==11){l=m<<24>>24!=0;h=1;i=1;n=0;while(1){j=i<<24>>24!=0;if(!(k<<24>>24))break;do if(j){if((n|0)<=36?k<<24>>24==(a[139175+n>>0]|0):0)break;i=0}else i=0;while(0);do if(!(l|h<<24>>24==0)){if((n|0)<=29?k<<24>>24==(a[139212+n>>0]|0):0)break;h=0}while(0);k=n+1|0;n=k;k=a[f+k>>0]|0}if((m&255|0)!=(j&(n|0)==36&1|0)){h=l?38:40;break}if(!(h<<24>>24!=0&(n|0)==29)){o=b+468|0;n=n+((a[o>>0]|0)!=0&1)|0;h=b+372|0;j=c[h>>2]|0;do if(!j){h=b+12|0;i=kb[c[h>>2]&63](28)|0;if(!i){h=1;break a}j=n+24|0;m=kb[c[h>>2]&63](j)|0;c[i+16>>2]=m;if(!m){tb[c[b+20>>2]&127](i);h=1;break a}else{c[i+24>>2]=j;j=i;break}}else{i=j+24|0;if((n|0)>(c[i>>2]|0)){k=j+16|0;l=n+24|0;m=lb[c[b+16>>2]&127](c[k>>2]|0,l)|0;if(!m){h=1;break a}c[k>>2]=m;c[i>>2]=l}c[h>>2]=c[j+4>>2]}while(0);c[j+20>>2]=n;i=j+16|0;E3(c[i>>2]|0,f|0,n|0)|0;h=a[o>>0]|0;if(h<<24>>24)a[(c[i>>2]|0)+(n+-1)>>0]=h;c[j>>2]=d;c[j+12>>2]=e;i=d+4|0;c[j+8>>2]=c[i>>2];if((a[f>>0]|0)==0?((c[b+352>>2]|0)+152|0)==(d|0):0)h=0;else h=j;c[i>>2]=h;c[j+4>>2]=c[g>>2];c[g>>2]=j;if((e|0)!=0?(p=c[b+100>>2]|0,(p|0)!=0):0){vb[p&127](c[b+4>>2]|0,c[d>>2]|0,c[i>>2]|0?f:0);h=0}else h=0}else h=40}while(0);return h|0}function DW(a,b){a=a|0;b=b|0;var d=0;d=b;c[d>>2]=0;c[d+4>>2]=0;b=b+8|0;c[b>>2]=JW(a)|0;c[b+4>>2]=0;return}function EW(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;d=b;g=c[d+4>>2]^1936682341;e=a;c[e>>2]=c[d>>2]^1886610805;c[e+4>>2]=g;e=b+8|0;g=e;d=c[g+4>>2]^1685025377;f=a+8|0;c[f>>2]=c[g>>2]^1852075885;c[f+4>>2]=d;f=b;b=c[f+4>>2]^1819895653;d=a+16|0;c[d>>2]=c[f>>2]^1852142177;c[d+4>>2]=b;d=c[e+4>>2]^1952801890;b=a+24|0;c[b>>2]=c[e>>2]^2037671283;c[b+4>>2]=d;c[a+40>>2]=a+32;b=a+48|0;c[b>>2]=0;c[b+4>>2]=0;return}function FW(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,A=0,B=0;n=e+f|0;o=b+40|0;p=b+40|0;q=b+32|0;r=b+33|0;s=b+34|0;t=b+35|0;h=b+36|0;i=b+37|0;j=b+38|0;k=b+39|0;l=b+24|0;m=b+48|0;f=e;do{while(1){g=c[o>>2]|0;if(f>>>0>=n>>>0){e=0;break}if(g>>>0>=p>>>0){e=1;break}e=a[f>>0]|0;c[o>>2]=g+1;a[g>>0]=e;f=f+1|0}if(g>>>0

>>0)break;A=d[q>>0]|0;B=z3(d[r>>0]|0|0,0,8)|0;g=z;y=z3(d[s>>0]|0|0,0,16)|0;g=g|z;w=z3(d[t>>0]|0|0,0,24)|0;g=g|z|(d[h>>0]|0);u=z3(d[i>>0]|0|0,0,40)|0;g=g|z;x=z3(d[j>>0]|0|0,0,48)|0;g=g|z;v=z3(d[k>>0]|0|0,0,56)|0;v=B|A|y|w|u|x|v;g=g|z;x=l;u=g^c[x+4>>2];w=l;c[w>>2]=v^c[x>>2];c[w+4>>2]=u;IW(b,2);w=b;g=c[w+4>>2]^g;u=b;c[u>>2]=c[w>>2]^v;c[u+4>>2]=g;c[o>>2]=q;u=m;u=r3(c[u>>2]|0,c[u+4>>2]|0,8,0)|0;g=m;c[g>>2]=u;c[g+4>>2]=z}while(e);return}function GW(b){b=b|0;var c=0;c=0;while(1){if(!(a[b>>0]|0))break;c=c+1|0;b=b+1|0}return c|0}function HW(a){a=a|0;var b=0,e=0,f=0,g=0,h=0,i=0;f=a+32|0;h=(c[a+40>>2]|0)-f|0;e=a+48|0;e=r3(c[e>>2]|0,c[e+4>>2]|0,h|0,0)|0;e=z3(e|0,z|0,56)|0;b=z;switch(h<<24>>24|0){case 7:{e=z3(d[a+38>>0]|0|0,0,48)|0|e;b=z|b;g=3;break}case 6:{g=3;break}case 5:{g=4;break}case 4:{g=5;break}case 3:{g=6;break}case 2:{g=7;break}case 1:{g=8;break}default:{}}if((g|0)==3){h=z3(d[a+37>>0]|0|0,0,40)|0;e=h|e;b=z|b;g=4}if((g|0)==4){b=d[a+36>>0]|0|b;g=5}if((g|0)==5){h=z3(d[a+35>>0]|0|0,0,24)|0;e=h|e;b=z|b;g=6}if((g|0)==6){h=z3(d[a+34>>0]|0|0,0,16)|0;e=h|e;b=z|b;g=7}if((g|0)==7){h=z3(d[a+33>>0]|0|0,0,8)|0;b=z|b;e=h|e;g=8}if((g|0)==8)e=e|(d[f>>0]|0);h=a+24|0;i=h;g=c[i+4>>2]^b;f=h;c[f>>2]=c[i>>2]^e;c[f+4>>2]=g;IW(a,2);f=a;b=c[f+4>>2]^b;g=a;c[g>>2]=c[f>>2]^e;c[g+4>>2]=b;g=a+16|0;b=g;e=c[b+4>>2]|0;f=g;c[f>>2]=c[b>>2]^255;c[f+4>>2]=e;IW(a,4);f=a;a=a+8|0;z=c[a+4>>2]^c[f+4>>2]^c[g+4>>2]^c[h+4>>2];return c[a>>2]^c[f>>2]^c[g>>2]^c[h>>2]|0}function IW(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;e=a+8|0;f=a+24|0;g=a+16|0;d=0;while(1){if((d|0)>=(b|0))break;h=e;n=c[h>>2]|0;h=c[h+4>>2]|0;o=a;o=r3(c[o>>2]|0,c[o+4>>2]|0,n|0,h|0)|0;k=z;m=z3(n|0,h|0,13)|0;l=z;h=y3(n|0,h|0,51)|0;h=(m|h)^o;l=(l|z)^k;m=f;n=c[m>>2]|0;m=c[m+4>>2]|0;j=g;j=r3(c[j>>2]|0,c[j+4>>2]|0,n|0,m|0)|0;i=z;q=z3(n|0,m|0,16)|0;p=z;m=y3(n|0,m|0,48)|0;m=(q|m)^j;p=(p|z)^i;o=r3(k|0,o|0,m|0,p|0)|0;k=z;q=a;c[q>>2]=o;c[q+4>>2]=k;q=z3(m|0,p|0,21)|0;n=z;p=y3(m|0,p|0,43)|0;m=f;c[m>>2]=(q|p)^o;c[m+4>>2]=(n|z)^k;i=r3(j|0,i|0,h|0,l|0)|0;j=z;m=z3(h|0,l|0,17)|0;k=z;l=y3(h|0,l|0,47)|0;h=e;c[h>>2]=(m|l)^i;c[h+4>>2]=(k|z)^j;h=g;c[h>>2]=j;c[h+4>>2]=i;d=d+1|0}return}function JW(a){a=a|0;var b=0;while(1){b=c[a+472>>2]|0;if(!b)break;else a=b}return c[a+492>>2]|0}function KW(b,d,e,f,g,h){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0;L=l;l=l+16|0;I=L;J=L+4|0;K=c[b+352>>2]|0;o=d+16|0;p=d+40|0;q=b+144|0;r=b+284|0;s=e<<24>>24==0;t=h+12|0;v=h+16|0;w=h+8|0;x=d+44|0;y=d+64|0;z=b+436|0;A=b+452|0;B=b+448|0;C=(K+80|0)==(h|0);D=b+268|0;E=K+130|0;F=K+129|0;G=b+296|0;H=b+224|0;i=0;a:while(1){b:while(1){switch(ob[c[o>>2]&127](d,f,g,I)|0){case -4:{i=0;n=61;break a}case 0:{n=4;break a}case -1:{n=6;break a}case 6:{n=21;break b}case -3:{n=22;break b}case 7:case 39:{n=23;break b}case 10:{j=lb[c[p>>2]&127](d,f)|0;c:do if((j|0)<0)if((c[q>>2]|0)==(d|0)){c[r>>2]=f;j=1;i=14}else{j=1;i=14}else{if(s&(j|0)==32){k=c[t>>2]|0;if((c[v>>2]|0)==(k|0)){j=4;break}if((a[k+-1>>0]|0)==32){j=4;break}}m=fX(j,J)|0;k=0;while(1){if((k|0)>=(m|0)){j=0;break c}j=c[t>>2]|0;if((j|0)==(c[w>>2]|0)){if(!((dW(h)|0)<<24>>24)){j=1;i=1;break c}j=c[t>>2]|0}M=a[J+k>>0]|0;c[t>>2]=j+1;a[j>>0]=M;k=k+1|0}}while(0);switch(j&7){case 4:case 0:break b;default:{}}break}case 9:{j=c[y>>2]|0;j=(nb[c[x>>2]&63](d,f+j|0,(c[I>>2]|0)+(0-j)|0)|0)&255;if(j<<24>>24){n=31;break b}j=c[y>>2]|0;j=VV(z,d,f+j|0,(c[I>>2]|0)+(0-j)|0)|0;if(!j){i=1;n=61;break a}m=XV(b,K,j,0)|0;c[B>>2]=c[A>>2];do if(C){if(!(c[D>>2]|0))if(!m)break b;else break;if(!(a[E>>0]|0)){j=(m|0)!=0;if(!(a[F>>0]|0)){n=45;break}else{u=j;n=47;break}}else{j=(m|0)!=0;if(!(c[G>>2]|0)){n=45;break}else{u=j;n=47;break}}}else if(!(a[F>>0]|0))if(!m){i=11;n=61;break a}else{n=46;break}else{j=(m|0)!=0;if(!(a[E>>0]|0)){u=j;n=47;break}else{n=45;break}}while(0);if((n|0)==45)if(j)n=46;else{i=11;n=61;break a}else if((n|0)==47?(n=0,!u):0)break b;if((n|0)==46?(n=0,(a[m+34>>0]|0)==0):0){i=24;n=61;break a}k=m+32|0;if(a[k>>0]|0){n=49;break a}if(c[m+28>>2]|0){n=52;break a}j=c[m+4>>2]|0;if(!j){n=55;break a}m=j+(c[m+8>>2]|0)|0;a[k>>0]=1;m=KW(b,c[H>>2]|0,e,j,m,h)|0;a[k>>0]=0;j=(m|0)==0;if(j)break b;else{j=(j^1)&1;i=m}break}default:{n=58;break a}}if(j)break a}if((n|0)==21){n=0;if(!(bW(h,d,f,c[I>>2]|0)|0)){i=1;n=61;break}}else if((n|0)==22){c[I>>2]=f+(c[y>>2]|0);n=23}else if((n|0)==31){n=0;f=c[t>>2]|0;if((f|0)==(c[w>>2]|0)){if(!((dW(h)|0)<<24>>24)){i=1;n=61;break}f=c[t>>2]|0}c[t>>2]=f+1;a[f>>0]=j}do if((n|0)==23){n=0;f=c[t>>2]|0;if(s){if((c[v>>2]|0)==(f|0))break;if((a[f+-1>>0]|0)==32)break}if((f|0)==(c[w>>2]|0)){if(!((dW(h)|0)<<24>>24)){i=1;n=61;break a}f=c[t>>2]|0}c[t>>2]=f+1;a[f>>0]=32}while(0);f=c[I>>2]|0}if((n|0)==4)if((c[q>>2]|0)==(d|0)){c[r>>2]=c[I>>2];i=4;n=61}else{i=4;n=61}else if((n|0)==6)if((c[q>>2]|0)==(d|0)){c[r>>2]=f;i=4;n=61}else{i=4;n=61}else if((n|0)==49)if((c[q>>2]|0)==(d|0)){c[r>>2]=f;i=12;n=61}else{i=12;n=61}else if((n|0)==52)if((c[q>>2]|0)==(d|0)){c[r>>2]=f;i=15;n=61}else{i=15;n=61}else if((n|0)==55)if((c[q>>2]|0)==(d|0)){c[r>>2]=f;i=16;n=61}else{i=16;n=61}else if((n|0)==58)if((c[q>>2]|0)==(d|0)){c[r>>2]=f;i=23;n=61}else{i=23;n=61}l=L;return i|0}function LW(a){a=a|0;var b=0;b=a+8|0;return ((a|0)<1?0:(b|0)>0?b:0)|0}function MW(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;c=l;l=l+80|0;d=c+16|0;e=c;DW(a,e);EW(d,e);FW(d,b,GW(b)|0);b=HW(d)|0;l=c;return b|0}function NW(b,c){b=b|0;c=c|0;var d=0;while(1){d=a[b>>0]|0;if(d<<24>>24!=(a[c>>0]|0)){c=0;break}if(!(d<<24>>24)){c=1;break}c=c+1|0;b=b+1|0}return c|0}function OW(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0;k=l;l=l+1040|0;i=k;f=c[b+124>>2]|0;a:do if(!f)e=18;else{e=0;while(1){if((e|0)==256)break;c[i+(e<<2)>>2]=-1;e=e+1|0}g=i+1028|0;c[g>>2]=0;j=i+1024|0;c[j>>2]=0;h=i+1032|0;c[h>>2]=0;do if(nb[f&63](c[b+244>>2]|0,d,i)|0){f=c[b+12>>2]|0;e=gX()|0;e=kb[f&63](e)|0;c[b+236>>2]=e;if(!e){e=c[h>>2]|0;if(!e)e=1;else{tb[e&127](c[j>>2]|0);e=1}}else{e=ob[(a[b+232>>0]<<24>>24?65:64)&127](e,i,c[g>>2]|0,c[j>>2]|0)|0;if(!e)break;c[b+240>>2]=c[j>>2];c[b+248>>2]=c[h>>2];c[b+144>>2]=e;e=0}break a}while(0);e=c[h>>2]|0;if(e|0)tb[e&127](c[j>>2]|0);e=18}while(0);l=k;return e|0}function PW(b,d){b=b|0;d=d|0;a[b+4>>0]=0;c[b+8>>2]=0;c[b+12>>2]=0;c[b>>2]=0;c[b+16>>2]=d;return}function QW(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;l=c[b+352>>2]|0;m=b+424|0;n=b+420|0;o=b+412|0;p=b+428|0;q=l+152|0;r=b+368|0;j=l+60|0;k=l+80|0;a:while(1){h=d;b:while(1){if(!(a[d>>0]|0)){d=1;break a}f=a[h>>0]|0;switch(f<<24>>24){case 0:case 12:{s=5;break b}case 61:break b;default:{}}e=c[m>>2]|0;if((e|0)==(c[n>>2]|0)){if(!((dW(o)|0)<<24>>24)){d=0;break a}e=c[m>>2]|0;f=a[h>>0]|0}c[m>>2]=e+1;a[e>>0]=f;h=h+1|0}if((s|0)==5){s=0;d=c[m>>2]|0;if((d|0)==(c[n>>2]|0)){if(!((dW(o)|0)<<24>>24)){d=0;break}d=c[m>>2]|0}c[m>>2]=d+1;a[d>>0]=0;d=XV(b,l,c[p>>2]|0,0)|0;if(d|0)a[d+32>>0]=1;d=(a[h>>0]|0)==0?h:h+1|0;c[m>>2]=c[p>>2];continue}d=c[m>>2]|0;if((c[p>>2]|0)==(d|0))f=q;else{if((d|0)==(c[n>>2]|0)){if(!((dW(o)|0)<<24>>24)){d=0;break}d=c[m>>2]|0}c[m>>2]=d+1;a[d>>0]=0;f=XV(b,j,c[p>>2]|0,8)|0;if(!f){d=0;break}e=c[f>>2]|0;i=c[p>>2]|0;d=i;if((e|0)==(i|0)){i=AW(k,e)|0;c[f>>2]=i;if(!i){d=0;break}d=c[p>>2]|0}c[m>>2]=d}c:while(1){i=h+1|0;e=a[i>>0]|0;g=(d|0)==(c[n>>2]|0);switch(e<<24>>24){case 0:case 12:break c;default:{}}if(g){if(!((dW(o)|0)<<24>>24)){d=0;break a}d=c[m>>2]|0;e=a[i>>0]|0}c[m>>2]=d+1;a[d>>0]=e;h=i;d=c[m>>2]|0}if(g){if(!((dW(o)|0)<<24>>24)){d=0;break}d=c[m>>2]|0}c[m>>2]=d+1;a[d>>0]=0;if(CW(b,f,0,c[p>>2]|0,r)|0){d=0;break}c[m>>2]=c[p>>2];d=(a[i>>0]|0)==0?i:h+2|0}return d|0}function RW(a,b){a=a|0;b=b|0;var d=0,e=0;if(a|0?(d=a+4|0,e=(c[d>>2]|0)==(c[a>>2]|0),c[a>>2]=b,e):0)c[d>>2]=b;return}function SW(a,b,d){a=a|0;b=b|0;d=d|0;if(a|0){c[a+52>>2]=b;c[a+56>>2]=d}return}function TW(a,b){a=a|0;b=b|0;if(a|0)c[a+60>>2]=b;return}function UW(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0;g=(b|0)==0;a:do if(!(g|(e|0)<0)?!((d|0)==0&(e|0)!=0):0){h=b+476|0;switch(c[h>>2]|0){case 3:{c[b+280>>2]=33;g=0;break a}case 2:{c[b+280>>2]=36;g=0;break a}case 0:{if((c[b+472>>2]|0)==0?(VW(b)|0)<<24>>24==0:0){c[b+280>>2]=1;g=0;break a}break}default:{}}c[h>>2]=1;if(e|0){g=XW(b,e)|0;if(!g){g=0;break}E3(g|0,d|0,e|0)|0;g=YW(b,e,f)|0;break}a[b+480>>0]=f;if(!f)g=1;else{g=b+24|0;j=c[g>>2]|0;d=b+292|0;c[d>>2]=j;f=c[b+28>>2]|0;c[b+40>>2]=f;e=b+276|0;f=ob[c[e>>2]&127](b,j,f,g)|0;c[b+280>>2]=f;if(f|0){c[b+288>>2]=c[b+284>>2];c[e>>2]=66;g=0;break}switch(c[h>>2]|0){case 3:{j=c[b+144>>2]|0;xb[c[j+48>>2]&31](j,c[d>>2]|0,c[g>>2]|0,b+404|0);c[d>>2]=c[g>>2];g=2;break a}case 1:case 0:{c[h>>2]=2;g=1;break a}default:{g=1;break a}}}}else i=3;while(0);if((i|0)==3)if(g)g=0;else{c[b+280>>2]=41;g=0}return g|0}function VW(b){b=b|0;var d=0;d=b+492|0;if(!(c[d>>2]|0))c[d>>2]=ZW()|0;if(!(a[b+232>>0]|0))b=1;else b=QW(b,139242)|0;return b|0}function WW(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;return c[a+280>>2]|0}function XW(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;a:do if(!a)d=0;else{if((b|0)<0){c[a+280>>2]=1;d=0;break}switch(c[a+476>>2]|0){case 3:{c[a+280>>2]=33;d=0;break a}case 2:{c[a+280>>2]=36;d=0;break a}default:{m=a+32|0;j=c[m>>2]|0;n=a+28|0;e=c[n>>2]|0;d=e;if((j-e|0)>=(b|0))break a;p=a+24|0;k=c[p>>2]|0;i=e-k|0;e=i+b|0;if((e|0)<0){c[a+280>>2]=1;d=0;break a}l=a+8|0;f=c[l>>2]|0;q=f;g=k-q|0;h=(g|0)>1024;b=h?1024:g;e=b+e|0;do if((e|0)>(j-q|0)){d=j-k|0;d=(d|0)==0?1024:d;do d=d<<1;while((d|0)<(e|0)&(d|0)>0);if((d|0)<1){c[a+280>>2]=1;d=0;break a}e=kb[c[a+12>>2]&63](d)|0;if(!e){c[a+280>>2]=1;d=0;break a}c[m>>2]=e+d;d=c[p>>2]|0;if(!d){d=e+(c[n>>2]|0)|0;c[n>>2]=d;c[l>>2]=e;o=22;break}else{q=d;o=q-(c[l>>2]|0)|0;o=(o|0)<1024?o:1024;E3(e|0,d+(0-o)|0,(c[n>>2]|0)-q+o|0)|0;tb[c[a+20>>2]&127](c[l>>2]|0);c[l>>2]=e;d=e+((c[n>>2]|0)-(c[p>>2]|0))+o|0;c[n>>2]=d;e=e+o|0;o=22;break}}else if(h){e=g-b|0;F3(f|0,f+e|0,b+i|0)|0;e=0-e|0;d=(c[n>>2]|0)+e|0;c[n>>2]=d;e=(c[p>>2]|0)+e|0;o=22}while(0);if((o|0)==22)c[p>>2]=e;c[a+288>>2]=0;c[a+284>>2]=0;c[a+292>>2]=0;break a}}}while(0);return d|0}function YW(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0;a:do if(!b)d=0;else{f=b+476|0;switch(c[f>>2]|0){case 3:{c[b+280>>2]=33;d=0;break a}case 2:{c[b+280>>2]=36;d=0;break a}case 0:{if((c[b+472>>2]|0)==0?(VW(b)|0)<<24>>24==0:0){c[b+280>>2]=1;d=0;break a}break}default:{}}c[f>>2]=1;g=b+24|0;j=c[g>>2]|0;h=b+292|0;c[h>>2]=j;k=b+28|0;i=(c[k>>2]|0)+d|0;c[k>>2]=i;c[b+40>>2]=i;k=b+36|0;c[k>>2]=(c[k>>2]|0)+d;a[b+480>>0]=e;d=b+276|0;i=ob[c[d>>2]&127](b,j,i,g)|0;c[b+280>>2]=i;if(i|0){c[b+288>>2]=c[b+284>>2];c[d>>2]=66;d=0;break}switch(c[f>>2]|0){case 3:{d=2;break}case 1:case 0:{if(!e)d=1;else{c[f>>2]=2;d=1;break a}break}default:d=1}k=c[b+144>>2]|0;xb[c[k+48>>2]&31](k,c[h>>2]|0,c[g>>2]|0,b+404|0);c[h>>2]=c[g>>2]}while(0);return d|0}function ZW(){var a=0,b=0,d=0;b=l;l=l+16|0;a=b;if(!(_W(a)|0)){d=aX()|0;d=(G1()|0)^d;c[a>>2]=d;a=$W(139296,O(d,2147483647)|0)|0}else a=$W(139283,c[a>>2]|0)|0;l=b;return a|0}function _W(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;f=l;l=l+16|0;e=W_(139283,0,f)|0;if((e|0)<0)b=0;else{b=0;while(1){g=F1(e,a+b|0,4-b|0)|0;d=g+b|0;if((g|0)>0)if(d>>>0<4)b=d;else{b=1;break}if((c[(N_()|0)>>2]|0)!=4){b=0;break}}W0(e)|0}l=f;return b|0}function $W(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;f=l;l=l+16|0;e=f;d=Ta(139361)|0;if(d|0?(a$(d,139381)|0)==0:0){d=c[15686]|0;c[e>>2]=a;c[e+4>>2]=8;c[e+8>>2]=b;c[e+12>>2]=4;f1(d,139383,e)|0}l=f;return b|0}function aX(){var a=0,b=0;b=l;l=l+16|0;a=b;if(!(Ua(a|0,0)|0)){l=b;return c[a+4>>2]|0}else qa(139308,139330,819,139341);return 0}function bX(a){a=a|0;if(!a)a=41;else a=c[a+280>>2]|0;return a|0}function cX(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;if(!a)a=0;else{b=a+284|0;d=c[b>>2]|0;if(d|0?(e=a+292|0,f=c[e>>2]|0,d>>>0>=f>>>0):0){g=c[a+144>>2]|0;xb[c[g+48>>2]&31](g,f,d,a+404|0);c[e>>2]=c[b>>2]}a=(c[a+404>>2]|0)+1|0}return a|0}function dX(a){a=a|0;do switch(a|0){case 41:{a=139420;break}case 1:{a=140692;break}case 2:{a=140679;break}case 3:{a=140662;break}case 4:{a=140630;break}case 5:{a=140615;break}case 6:{a=140597;break}case 7:{a=140582;break}case 8:{a=140562;break}case 9:{a=140534;break}case 10:{a=140499;break}case 11:{a=140482;break}case 12:{a=140455;break}case 13:{a=140435;break}case 14:{a=140397;break}case 15:{a=140370;break}case 16:{a=140328;break}case 17:{a=140281;break}case 18:{a=140264;break}case 19:{a=140213;break}case 20:{a=140190;break}case 21:{a=140144;break}case 22:{a=140117;break}case 23:{a=140066;break}case 24:{a=140030;break}case 25:{a=139978;break}case 26:{a=139933;break}case 27:{a=139918;break}case 28:{a=139892;break}case 29:{a=139854;break}case 30:{a=139822;break}case 31:{a=139789;break}case 32:{a=139755;break}case 33:{a=139738;break}case 34:{a=139717;break}case 35:{a=139701;break}case 36:{a=139684;break}case 37:{a=139640;break}case 38:{a=139560;break}case 39:{a=139501;break}case 40:{a=139437;break}default:a=0}while(0);return a|0}function eX(a,b){a=a|0;b=b|0;var e=0,f=0,g=0,h=0,i=0;e=c[b>>2]|0;f=0;a:while(1){if(e>>>0<=a>>>0)break;h=e+-1|0;g=d[h>>0]|0;do if((g&248|0)==240)if((f+1|0)>>>0>3){i=5;break a}else f=0;else{if((g&240|0)==224)if((f+1|0)>>>0>2){i=8;break a}else{f=0;break}if((g&224|0)==192)if((f+1|0)>>>0>1){i=11;break a}else{f=0;break}else if(!(g&128))break a;else break}while(0);e=h;f=f+1|0}if((i|0)==5)e=e+3|0;else if((i|0)==8)e=e+2|0;else if((i|0)==11)e=e+1|0;c[b>>2]=e;return}function fX(b,c){b=b|0;c=c|0;do if((b|0)>=0){if((b|0)<128){a[c>>0]=b;b=1;break}if((b|0)<2048){a[c>>0]=b>>>6|192;a[c+1>>0]=b&63|128;b=2;break}if((b|0)<65536){a[c>>0]=b>>>12|224;a[c+1>>0]=b>>>6&63|128;a[c+2>>0]=b&63|128;b=3;break}if((b|0)<1114112){a[c>>0]=b>>>18|240;a[c+1>>0]=b>>>12&63|128;a[c+2>>0]=b>>>6&63|128;a[c+3>>0]=b&63|128;b=4}else b=0}else b=0;while(0);return b|0}function gX(){return 1908}function hX(e,f,g,h){e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;i=0;while(1){if((i|0)==364){i=0;break}a[e+i>>0]=a[56472+i>>0]|0;i=i+1|0}a:while(1){if((i|0)>=128){j=5;break}switch(a[56544+i>>0]|0){case 0:case 28:break;default:if((c[f+(i<<2)>>2]|0)!=(i|0)){e=0;break a}}i=i+1|0}b:do if((j|0)==5){q=e+72|0;m=e+372|0;n=e+884|0;o=(g|0)==0;l=0;while(1){if((l|0)>=256)break;p=c[f+(l<<2)>>2]|0;do if((p|0)==-1){a[q+l>>0]=1;b[m+(l<<1)>>1]=-1;a[n+(l<<2)>>0]=1;a[n+(l<<2)+1>>0]=0}else{if((p|0)<0){if(o|(p|0)<-4){e=0;break b}a[q+l>>0]=3-p;a[n+(l<<2)>>0]=0;b[m+(l<<1)>>1]=0;break}if((p|0)<128){i=a[56544+p>>0]|0;switch(i<<24>>24){case 0:case 28:break;default:if((p|0)!=(l|0)){e=0;break b}}a[q+l>>0]=i;a[n+(l<<2)>>0]=1;a[n+(l<<2)+1>>0]=p;b[m+(l<<1)>>1]=(p|0)==0?-1:p&65535;break}if((iX(p)|0)<0){a[q+l>>0]=0;b[m+(l<<1)>>1]=-1;a[n+(l<<2)>>0]=1;a[n+(l<<2)+1>>0]=0;break}if((p|0)>65535){e=0;break b}i=p>>>8;j=p>>>5&7;k=1<<(p&31);if(!(c[56836+((d[140706+i>>0]<<3|j)<<2)>>2]&k))a[q+l>>0]=c[56836+((d[140962+i>>0]<<3|j)<<2)>>2]&k|0?26:28;else a[q+l>>0]=22;a[n+(l<<2)>>0]=fX(p,n+(l<<2)+1|0)|0;b[m+(l<<1)>>1]=p}while(0);l=l+1|0}c[e+368>>2]=h;c[e+364>>2]=g;if(!o){c[e+328>>2]=106;c[e+332>>2]=106;c[e+336>>2]=106;c[e+340>>2]=107;c[e+344>>2]=107;c[e+348>>2]=107;c[e+352>>2]=108;c[e+356>>2]=108;c[e+360>>2]=108}c[e+56>>2]=13;c[e+60>>2]=14}while(0);return e|0}function iX(b){b=b|0;var c=0;switch(b>>8|0){case 223:case 222:case 221:case 220:case 219:case 218:case 217:case 216:{b=-1;break}case 0:{if(!(a[56544+b>>0]|0))b=-1;else c=4;break}case 255:{if((b|1|0)==65535)b=-1;else c=4;break}default:c=4}return b|0}function jX(a,b){a=a|0;b=b|0;a=lb[c[a+364>>2]&127](c[a+368>>2]|0,b)|0;if(a>>>0>65535)a=0;else a=c[56836+(((d[140962+(a>>>8)>>0]|0)<<3|a>>>5&7)<<2)>>2]&1<<(a&31);return a|0}function kX(a,b){a=a|0;b=b|0;a=lb[c[a+364>>2]&127](c[a+368>>2]|0,b)|0;if(a>>>0>65535)a=0;else a=c[56836+(((d[140706+(a>>>8)>>0]|0)<<3|a>>>5&7)<<2)>>2]&1<<(a&31);return a|0}function lX(a,b){a=a|0;b=b|0;a=lb[c[a+364>>2]&127](c[a+368>>2]|0,b)|0;if(a>>>0>65535)a=1;else a=(iX(a)|0)>>>31;return a|0}function mX(b,e,f,g,h){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0;q=l;l=l+16|0;m=q;n=b+364|0;o=b+884|0;p=b+368|0;k=b+72|0;while(1){i=c[e>>2]|0;if((i|0)==(f|0)){h=0;break}r=d[i>>0]|0;j=o+(r<<2)+1|0;r=a[o+(r<<2)>>0]|0;b=r<<24>>24;if(!(r<<24>>24)){b=fX(lb[c[n>>2]&127](c[p>>2]|0,i)|0,m)|0;if((b|0)>(h-(c[g>>2]|0)|0)){h=2;break}i=c[e>>2]|0;j=m;i=i+((d[k+(d[i>>0]|0)>>0]|0)+-3)|0}else{if((h-(c[g>>2]|0)|0)<(b|0)){h=2;break}i=i+1|0}c[e>>2]=i;E3(c[g>>2]|0,j|0,b|0)|0;c[g>>2]=(c[g>>2]|0)+b}l=q;return h|0}function nX(a,e,f,g,h){a=a|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0;m=a+372|0;n=a+364|0;o=a+368|0;l=a+72|0;while(1){k=c[e>>2]|0;a=k>>>0>>0;i=c[g>>2]|0;if(!(a&i>>>0>>0))break;a=b[m+((d[k>>0]|0)<<1)>>1]|0;if(!(a<<16>>16)){a=(lb[c[n>>2]&127](c[o>>2]|0,k)|0)&65535;i=c[e>>2]|0;j=(d[l+(d[i>>0]|0)>>0]|0)+-3|0}else{j=1;i=k}c[e>>2]=i+j;k=c[g>>2]|0;c[g>>2]=k+2;b[k>>1]=a}return ((i|0)!=(h|0)|a^1?0:2)|0}function oX(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0;a:do if(e>>>0>>0){n=b+72|0;do switch(a[n+(d[e>>0]|0)>>0]|0){case 12:{h=PX(12,b,e+1|0,f,g)|0;break a}case 13:{h=PX(13,b,e+1|0,f,g)|0;break a}case 2:{h=e+1|0;if((f-h|0)<=0){h=-1;break a}switch(a[n+(d[h>>0]|0)>>0]|0){case 16:{h=QX(b,e+2|0,f,g)|0;break a}case 15:{h=LX(b,e+2|0,f,g)|0;break a}case 7:case 6:case 5:case 29:case 24:case 22:{c[g>>2]=e;h=29;break a}default:{c[g>>2]=h;h=0;break a}}}case 9:{if((e+1|0)==(f|0)){c[g>>2]=f;h=-15;break a}else k=3;break}case 10:case 21:{k=3;break}case 30:{h=FX(b,e+1|0,f,g)|0;break a}case 35:{c[g>>2]=e+1;h=38;break a}case 20:{c[g>>2]=e+1;h=25;break a}case 4:{i=e+1|0;h=f-i|0;if((h|0)<=0){h=-26;break a}if((a[i>>0]|0)==93){if((h|0)<=1){h=-1;break a}if((a[e+2>>0]|0)==62){c[g>>2]=e+3;h=34;break a}}c[g>>2]=i;h=26;break a}case 31:{c[g>>2]=e+1;h=23;break a}case 32:{h=e+1|0;if((f-h|0)<=0){h=-24;break a}switch(a[n+(d[h>>0]|0)>>0]|0){case 33:{c[g>>2]=e+2;h=36;break a}case 15:{c[g>>2]=e+2;h=35;break a}case 34:{c[g>>2]=e+2;h=37;break a}case 32:case 36:case 35:case 11:case 21:case 10:case 9:{c[g>>2]=h;h=24;break a}default:{c[g>>2]=h;h=0;break a}}}case 36:{c[g>>2]=e+1;h=21;break a}case 11:{c[g>>2]=e+1;h=17;break a}case 19:{h=RX(b,e+1|0,f,g)|0;break a}case 5:{if((f-e|0)<2){h=-2;break a}if(!(lb[c[b+340>>2]&127](b,e)|0))if(!(lb[c[b+328>>2]&127](b,e)|0)){c[g>>2]=e;h=0;break a}else{h=19;i=2}else{h=18;i=2}break}case 6:{if((f-e|0)<3){h=-2;break a}if(!(lb[c[b+344>>2]&127](b,e)|0))if(!(lb[c[b+332>>2]&127](b,e)|0)){c[g>>2]=e;h=0;break a}else{h=19;i=3}else{h=18;i=3}break}case 7:{if((f-e|0)<4){h=-2;break a}if(!(lb[c[b+348>>2]&127](b,e)|0))if(!(lb[c[b+336>>2]&127](b,e)|0)){c[g>>2]=e;h=0;break a}else{h=19;i=4}else{h=18;i=4}break}case 24:case 22:{h=18;i=1;break}case 23:case 27:case 26:case 25:{h=19;i=1;break}default:{c[g>>2]=e;h=0;break a}}while(0);if((k|0)==3){j=f;i=e;b:while(1){h=i;i=i+1|0;if((j-i|0)<=0){k=18;break}switch(a[n+(d[i>>0]|0)>>0]|0){case 10:case 21:continue b;case 9:break;default:{k=17;break b}}if((h+2|0)==(f|0)){k=17;break}}if((k|0)==17){c[g>>2]=i;h=15;break}else if((k|0)==18){c[g>>2]=i;h=15;break}}k=b+328|0;l=b+332|0;m=b+336|0;j=e+i|0;c:while(1){i=f-j|0;if((i|0)<=0){k=99;break}switch(a[n+(d[j>>0]|0)>>0]|0){case 29:{k=56;break c}case 10:case 9:case 21:case 30:case 20:case 36:case 35:case 32:case 11:{k=70;break c}case 34:{k=89;break c}case 33:{k=92;break c}case 15:{k=95;break c}case 27:case 26:case 25:case 24:case 22:{e=h;j=j+1|0;h=e;continue c}case 5:{if((i|0)<2){h=-2;break a}if(!(lb[c[k>>2]&127](b,j)|0)){k=60;break c}e=h;j=j+2|0;h=e;continue c}case 6:{if((i|0)<3){h=-2;break a}if(!(lb[c[l>>2]&127](b,j)|0)){k=64;break c}e=h;j=j+3|0;h=e;continue c}case 7:{if((i|0)<4){h=-2;break a}if(!(lb[c[m>>2]&127](b,j)|0)){k=68;break c}e=h;j=j+4|0;h=e;continue c}case 23:{i=j+1|0;switch(h&63){case 18:break;case 41:{h=19;j=i;continue c}default:{e=h;j=i;h=e;continue c}}h=f-i|0;if((h|0)<=0){h=-1;break a}switch(a[n+(d[i>>0]|0)>>0]|0){case 29:{k=74;break c}case 27:case 26:case 25:case 24:case 22:{h=41;j=j+2|0;continue c}case 5:{if((h|0)<2){h=-2;break a}if(!(lb[c[k>>2]&127](b,i)|0)){k=78;break c}h=41;j=j+3|0;continue c}case 6:{if((h|0)<3){h=-2;break a}if(!(lb[c[l>>2]&127](b,i)|0)){k=82;break c}h=41;j=j+4|0;continue c}case 7:{if((h|0)<4){h=-2;break a}if(!(lb[c[m>>2]&127](b,i)|0)){k=86;break c}h=41;j=j+5|0;continue c}default:{h=19;j=i;continue c}}}default:{k=98;break c}}}switch(k|0){case 56:{c[g>>2]=j;h=0;break a}case 60:{c[g>>2]=j;h=0;break a}case 64:{c[g>>2]=j;h=0;break a}case 68:{c[g>>2]=j;h=0;break a}case 70:{c[g>>2]=j;break a}case 74:{c[g>>2]=i;h=0;break a}case 78:{c[g>>2]=i;h=0;break a}case 82:{c[g>>2]=i;h=0;break a}case 86:{c[g>>2]=i;h=0;break a}case 89:if((h|0)==19){c[g>>2]=j;h=0;break a}else{c[g>>2]=j+1;h=32;break a}case 92:if((h|0)==19){c[g>>2]=j;h=0;break a}else{c[g>>2]=j+1;h=31;break a}case 95:if((h|0)==19){c[g>>2]=j;h=0;break a}else{c[g>>2]=j+1;h=30;break a}case 98:{c[g>>2]=j;h=0;break a}case 99:{h=0-h|0;break a}}}else h=-4;while(0);return h|0}function pX(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0;a:do if(e>>>0>>0){m=b+72|0;b:do switch(a[m+(d[e>>0]|0)>>0]|0){case 2:{h=IX(b,e+1|0,f,g)|0;break a}case 3:{h=EX(b,e+1|0,f,g)|0;break a}case 9:{h=e+1|0;if((f-h|0)<=0){h=-3;break a}c[g>>2]=(a[m+(d[h>>0]|0)>>0]|0)==10?e+2|0:h;h=7;break a}case 10:{c[g>>2]=e+1;h=7;break a}case 4:{i=e+1|0;if((f-i|0)<=0){h=-5;break a}if((a[i>>0]|0)==93){h=e+2|0;if((f-h|0)<=0){h=-5;break a}if((a[h>>0]|0)==62){c[g>>2]=h;h=0;break a}else h=f}else h=f;break}case 5:{h=f;if((h-e|0)<2){h=-2;break a}if(!(lb[c[b+352>>2]&127](b,e)|0)){i=e+2|0;break b}else{c[g>>2]=e;h=0;break a}}case 6:{h=f;if((h-e|0)<3){h=-2;break a}if(!(lb[c[b+356>>2]&127](b,e)|0)){i=e+3|0;break b}else{c[g>>2]=e;h=0;break a}}case 7:{h=f;if((h-e|0)<4){h=-2;break a}if(!(lb[c[b+360>>2]&127](b,e)|0)){i=e+4|0;break b}else{c[g>>2]=e;h=0;break a}}case 8:case 1:case 0:{c[g>>2]=e;h=0;break a}default:{i=e+1|0;h=f}}while(0);j=b+352|0;k=b+356|0;l=b+360|0;c:while(1){f=h-i|0;if((f|0)<=0){f=49;break}switch(a[m+(d[i>>0]|0)>>0]|0){case 10:case 9:case 8:case 1:case 0:case 2:case 3:{f=47;break c}case 5:{if((f|0)<2){f=32;break c}if(lb[c[j>>2]&127](b,i)|0){f=32;break c}i=i+2|0;continue c}case 6:{if((f|0)<3){f=36;break c}if(lb[c[k>>2]&127](b,i)|0){f=36;break c}i=i+3|0;continue c}case 7:{if((f|0)<4){f=40;break c}if(lb[c[l>>2]&127](b,i)|0){f=40;break c}i=i+4|0;continue c}case 4:{if((f|0)<=1){f=47;break c}e=i+1|0;if((a[e>>0]|0)!=93){i=e;continue c}if((f|0)<=2){f=47;break c}i=i+2|0;if((a[i>>0]|0)==62){f=46;break c}else{i=e;continue c}}default:{i=i+1|0;continue c}}}if((f|0)==32){c[g>>2]=i;h=6;break}else if((f|0)==36){c[g>>2]=i;h=6;break}else if((f|0)==40){c[g>>2]=i;h=6;break}else if((f|0)==46){c[g>>2]=i;h=0;break}else if((f|0)==47){c[g>>2]=i;h=6;break}else if((f|0)==49){c[g>>2]=i;h=6;break}}else h=-4;while(0);return h|0}function qX(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0;a:do if(e>>>0>>0){l=b+72|0;b:do switch(a[l+(d[e>>0]|0)>>0]|0){case 4:{i=e+1|0;h=f;if((h-i|0)<=0){h=-1;break a}if((a[i>>0]|0)==93){f=e+2|0;if((h-f|0)<=0){h=-1;break a}if((a[f>>0]|0)==62){c[g>>2]=e+3;h=40;break a}}break}case 9:{h=e+1|0;if((f-h|0)<=0){h=-1;break a}c[g>>2]=(a[l+(d[h>>0]|0)>>0]|0)==10?e+2|0:h;h=7;break a}case 10:{c[g>>2]=e+1;h=7;break a}case 5:{h=f;if((h-e|0)<2){h=-2;break a}if(!(lb[c[b+352>>2]&127](b,e)|0)){i=e+2|0;break b}else{c[g>>2]=e;h=0;break a}}case 6:{h=f;if((h-e|0)<3){h=-2;break a}if(!(lb[c[b+356>>2]&127](b,e)|0)){i=e+3|0;break b}else{c[g>>2]=e;h=0;break a}}case 7:{h=f;if((h-e|0)<4){h=-2;break a}if(!(lb[c[b+360>>2]&127](b,e)|0)){i=e+4|0;break b}else{c[g>>2]=e;h=0;break a}}case 8:case 1:case 0:{c[g>>2]=e;h=0;break a}default:{i=e+1|0;h=f}}while(0);e=b+352|0;j=b+356|0;k=b+360|0;c:while(1){f=h-i|0;if((f|0)<=0){f=39;break}switch(a[l+(d[i>>0]|0)>>0]|0){case 4:case 10:case 9:case 8:case 1:case 0:{f=37;break c}case 5:{if((f|0)<2){f=30;break c}if(!(lb[c[e>>2]&127](b,i)|0))f=2;else{f=30;break c}break}case 6:{if((f|0)<3){f=33;break c}if(!(lb[c[j>>2]&127](b,i)|0))f=3;else{f=33;break c}break}case 7:{if((f|0)<4){f=36;break c}if(!(lb[c[k>>2]&127](b,i)|0))f=4;else{f=36;break c}break}default:f=1}i=i+f|0}if((f|0)==30){c[g>>2]=i;h=6;break}else if((f|0)==33){c[g>>2]=i;h=6;break}else if((f|0)==36){c[g>>2]=i;h=6;break}else if((f|0)==37){c[g>>2]=i;h=6;break}else if((f|0)==39){c[g>>2]=i;h=6;break}}else h=-4;while(0);return h|0}function rX(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;j=b+72|0;k=b+352|0;l=b+356|0;m=b+360|0;i=0;a:while(1){h=f-e|0;if((h|0)<=0){f=-1;break}switch(a[j+(d[e>>0]|0)>>0]|0){case 8:case 1:case 0:{n=16;break a}case 5:{if((h|0)<2){f=-2;break a}if(lb[c[k>>2]&127](b,e)|0){n=6;break a}h=i;e=e+2|0;i=h;continue a}case 6:{if((h|0)<3){f=-2;break a}if(lb[c[l>>2]&127](b,e)|0){n=10;break a}h=i;e=e+3|0;i=h;continue a}case 7:{if((h|0)<4){f=-2;break a}if(lb[c[m>>2]&127](b,e)|0){n=14;break a}h=i;e=e+4|0;i=h;continue a}case 2:{h=e+1|0;if((f-h|0)<=0){f=-1;break a}if((a[h>>0]|0)!=33){o=i;e=h;i=o;continue a}h=e+2|0;if((f-h|0)<=0){f=-1;break a}o=(a[h>>0]|0)==91;i=i+(o&1)|0;e=o?e+3|0:h;continue a}case 4:{h=e+1|0;if((f-h|0)<=0){f=-1;break a}if((a[h>>0]|0)!=93){o=i;e=h;i=o;continue a}h=e+2|0;if((f-h|0)<=0){f=-1;break a}if((a[h>>0]|0)!=62){o=i;e=h;i=o;continue a}e=e+3|0;if(!i){n=26;break a}i=i+-1|0;continue a}default:{o=i;e=e+1|0;i=o;continue a}}}if((n|0)==6){c[g>>2]=e;f=0}else if((n|0)==10){c[g>>2]=e;f=0}else if((n|0)==14){c[g>>2]=e;f=0}else if((n|0)==16){c[g>>2]=e;f=0}else if((n|0)==26){c[g>>2]=e;f=42}return f|0}function sX(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0;do if(e>>>0>>0){k=f;if((k-e|0)>0){l=b+72|0;i=e;a:while(1){if((k-i|0)<=0){j=24;break}switch(a[l+(d[i>>0]|0)>>0]|0){case 3:{j=8;break a}case 2:{j=11;break a}case 10:{j=12;break a}case 9:{j=15;break a}case 21:{j=19;break a}case 5:{h=2;break}case 6:{h=3;break}case 7:{h=4;break}default:h=1}i=i+h|0}if((j|0)==8)if((i|0)==(e|0)){h=EX(b,e+1|0,f,g)|0;break}else{c[g>>2]=i;h=6;break}else if((j|0)==11){c[g>>2]=i;h=0;break}else if((j|0)==12)if((i|0)==(e|0)){c[g>>2]=e+1;h=7;break}else{c[g>>2]=i;h=6;break}else if((j|0)==15){if((i|0)!=(e|0)){c[g>>2]=i;h=6;break}h=e+1|0;if((k-h|0)<=0){h=-3;break}c[g>>2]=(a[l+(d[h>>0]|0)>>0]|0)==10?e+2|0:h;h=7;break}else if((j|0)==19)if((i|0)==(e|0)){c[g>>2]=e+1;h=39;break}else{c[g>>2]=i;h=6;break}else if((j|0)==24){c[g>>2]=i;h=6;break}}else h=-1}else h=-4;while(0);return h|0}function tX(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0;do if(e>>>0>>0){k=f;if((k-e|0)>0){l=b+72|0;i=e;a:while(1){if((k-i|0)<=0){j=23;break}switch(a[l+(d[i>>0]|0)>>0]|0){case 3:{j=8;break a}case 30:{j=11;break a}case 10:{j=14;break a}case 9:{j=17;break a}case 5:{h=2;break}case 6:{h=3;break}case 7:{h=4;break}default:h=1}i=i+h|0}if((j|0)==8)if((i|0)==(e|0)){h=EX(b,e+1|0,f,g)|0;break}else{c[g>>2]=i;h=6;break}else if((j|0)==11)if((i|0)==(e|0)){h=FX(b,e+1|0,f,g)|0;h=(h|0)==22?0:h;break}else{c[g>>2]=i;h=6;break}else if((j|0)==14)if((i|0)==(e|0)){c[g>>2]=e+1;h=7;break}else{c[g>>2]=i;h=6;break}else if((j|0)==17){if((i|0)!=(e|0)){c[g>>2]=i;h=6;break}h=e+1|0;if((k-h|0)<=0){h=-3;break}c[g>>2]=(a[l+(d[h>>0]|0)>>0]|0)==10?e+2|0:h;h=7;break}else if((j|0)==23){c[g>>2]=i;h=6;break}}else h=-1}else h=-4;while(0);return h|0}function uX(b,c,d,e){b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0;f=d;b=c;while(1){c=a[e>>0]|0;if(!(c<<24>>24)){g=6;break}if((f-b|0)<1){b=0;break}if((a[b>>0]|0)!=c<<24>>24){b=0;break}e=e+1|0;b=b+1|0}if((g|0)==6)b=(b|0)==(d|0)&1;return b|0}function vX(b,c){b=b|0;c=c|0;var e=0,f=0;f=b+72|0;b=c;a:while(1){switch(a[f+(d[b>>0]|0)>>0]|0){case 5:{e=2;break}case 6:{e=3;break}case 7:{e=4;break}case 27:case 26:case 25:case 24:case 23:case 22:case 29:{e=1;break}default:break a}b=b+e|0}return b-c|0}function wX(b,c){b=b|0;c=c|0;b=b+72|0;a:while(1){switch(a[b+(d[c>>0]|0)>>0]|0){case 21:case 9:case 10:break;default:break a}c=c+1|0}return c|0}function xX(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;l=b+72|0;j=0;k=0;b=1;a:while(1){h=e+1|0;i=a[h>>0]|0;do switch(a[l+(i&255)>>0]|0){case 5:{if(!b)if((k|0)<(f|0)){c[g+(k<<4)>>2]=h;a[g+(k<<4)+12>>0]=1;b=1}else b=1;h=k;i=j;e=e+2|0;k=h;j=i;continue a}case 6:{if(!b)if((k|0)<(f|0)){c[g+(k<<4)>>2]=h;a[g+(k<<4)+12>>0]=1;b=1}else b=1;h=k;i=j;e=e+3|0;k=h;j=i;continue a}case 7:{if(!b)if((k|0)<(f|0)){c[g+(k<<4)>>2]=h;a[g+(k<<4)+12>>0]=1;b=1}else b=1;h=k;i=j;e=e+4|0;k=h;j=i;continue a}case 24:case 22:case 29:{if(b|0){o=b;n=k;i=j;e=h;b=o;k=n;j=i;continue a}if((k|0)>=(f|0)){n=k;o=j;b=1;e=h;k=n;j=o;continue a}c[g+(k<<4)>>2]=h;a[g+(k<<4)+12>>0]=1;n=k;o=j;b=1;e=h;k=n;j=o;continue a}case 12:{if((b|0)!=2){if((k|0)>=(f|0)){o=k;j=12;b=2;e=h;k=o;continue a}c[g+(k<<4)+4>>2]=e+2;o=k;j=12;b=2;e=h;k=o;continue a}if((j|0)!=12){n=k;o=j;b=2;e=h;k=n;j=o;continue a}if((k|0)<(f|0))c[g+(k<<4)+8>>2]=h;j=12;k=k+1|0;b=0;e=h;continue a}case 13:{if((b|0)!=2){if((k|0)>=(f|0)){o=k;j=13;b=2;e=h;k=o;continue a}c[g+(k<<4)+4>>2]=e+2;o=k;j=13;b=2;e=h;k=o;continue a}if((j|0)!=13){n=k;o=j;b=2;e=h;k=n;j=o;continue a}if((k|0)<(f|0))c[g+(k<<4)+8>>2]=h;j=13;k=k+1|0;b=0;e=h;continue a}case 3:{if((k|0)>=(f|0)){i=b;n=k;o=j;e=h;b=i;k=n;j=o;continue a}a[g+(k<<4)+12>>0]=0;i=b;n=k;o=j;e=h;b=i;k=n;j=o;continue a}case 21:{switch(b|0){case 1:{n=k;o=j;b=0;e=h;k=n;j=o;continue a}case 2:break;default:{i=b;n=k;o=j;e=h;b=i;k=n;j=o;continue a}}if((k|0)>=(f|0)){n=k;o=j;b=2;e=h;k=n;j=o;continue a}b=g+(k<<4)+12|0;if(!(a[b>>0]|0)){n=k;o=j;b=2;e=h;k=n;j=o;continue a}if(((i<<24>>24==32?(h|0)!=(c[g+(k<<4)+4>>2]|0):0)?(m=a[e+2>>0]|0,m<<24>>24!=32):0)?(j|0)!=(d[l+(m&255)>>0]|0):0){n=k;o=j;b=2;e=h;k=n;j=o;continue a}a[b>>0]=0;n=k;o=j;b=2;e=h;k=n;j=o;continue a}case 10:case 9:{switch(b|0){case 1:{n=k;o=j;b=0;e=h;k=n;j=o;continue a}case 2:break;default:{i=b;n=k;o=j;e=h;b=i;k=n;j=o;continue a}}if((k|0)>=(f|0)){n=k;o=j;b=2;e=h;k=n;j=o;continue a}a[g+(k<<4)+12>>0]=0;n=k;o=j;b=2;e=h;k=n;j=o;continue a}case 17:case 11:if((b|0)==2){n=k;o=j;b=2;e=h;k=n;j=o;continue a}else break a;default:{i=b;n=k;o=j;e=h;b=i;k=n;j=o;continue a}}while(0)}return k|0}function yX(b,c){b=b|0;c=c|0;var d=0,e=0;b=c+2|0;d=a[b>>0]|0;a:do if(d<<24>>24==120){d=c+3|0;b=0;while(1){b:while(1){e=a[d>>0]|0;c=e<<24>>24;if(e<<24>>24==59){e=14;break a}switch(c|0){case 57:case 56:case 55:case 54:case 53:case 52:case 51:case 50:case 49:case 48:{e=7;break b}case 70:case 69:case 68:case 67:case 66:case 65:{e=8;break b}case 102:case 101:case 100:case 99:case 98:case 97:{e=9;break b}default:{}}d=d+1|0}if((e|0)==7){e=0;b=c+-48|b<<4}else if((e|0)==8){e=0;b=(b<<4)+-55+c|0}else if((e|0)==9){e=0;b=(b<<4)+-87+c|0}if((b|0)<1114112)d=d+1|0;else{b=-1;break}}}else{c=b;b=0;while(1){if(d<<24>>24==59){e=14;break a}b=(d<<24>>24)+-48+(b*10|0)|0;if((b|0)>=1114112){b=-1;break a}d=c+1|0;c=d;d=a[d>>0]|0}}while(0);if((e|0)==14)b=iX(b)|0;return b|0}function zX(b,c,d){b=b|0;c=c|0;d=d|0;var e=0;a:do switch(d-c|0){case 2:{if((a[c+1>>0]|0)==116){b=a[c>>0]|0;b=b<<24>>24==108?60:b<<24>>24==103?62:0}else e=14;break}case 3:{if(((a[c>>0]|0)==97?(a[c+1>>0]|0)==109:0)?(a[c+2>>0]|0)==112:0)b=38;else e=14;break}case 4:switch(a[c>>0]|0){case 113:{if((a[c+1>>0]|0)!=117){e=14;break a}if((a[c+2>>0]|0)!=111){e=14;break a}if((a[c+3>>0]|0)==116){b=34;break a}else{e=14;break a}}case 97:{if((a[c+1>>0]|0)!=112){e=14;break a}if((a[c+2>>0]|0)!=111){e=14;break a}if((a[c+3>>0]|0)==115){b=39;break a}else{e=14;break a}}default:{e=14;break a}}default:e=14}while(0);if((e|0)==14)b=0;return b|0}function AX(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var h=0,i=0;h=b+72|0;i=g+4|0;while(1){if((f-e|0)<=0)break;switch(a[h+(d[e>>0]|0)>>0]|0){case 5:{e=e+2|0;break}case 6:{e=e+3|0;break}case 7:{e=e+4|0;break}case 10:{c[i>>2]=-1;c[g>>2]=(c[g>>2]|0)+1;e=e+1|0;break}case 9:{c[g>>2]=(c[g>>2]|0)+1;b=e+1|0;if((f-b|0)>0)e=(a[h+(d[b>>0]|0)>>0]|0)==10?e+2|0:b;else e=b;c[i>>2]=-1;break}default:e=e+1|0}c[i>>2]=(c[i>>2]|0)+1}return}function BX(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0;g=e+-1|0;b=b+72|0;a:while(1){d=d+1|0;if((g-d|0)<=0){d=1;break}e=a[d>>0]|0;switch(a[b+(e&255)>>0]|0){case 23:case 19:case 30:case 33:case 16:case 18:case 10:case 9:case 15:case 14:case 17:case 35:case 34:case 32:case 31:case 13:case 27:case 24:case 25:continue a;case 21:if(e<<24>>24==9){h=7;break a}else continue a;case 22:case 26:{if(e<<24>>24>=0)continue a;break}default:{}}switch(e<<24>>24|0){case 64:case 36:break;default:{h=7;break a}}}if((h|0)==7){c[f>>2]=d;d=0}return d|0}function CX(b,e,f,g,h){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0;i=h;while(1){j=c[e>>2]|0;if((j|0)==(f|0)){b=0;break}k=d[j>>0]|0;b=c[g>>2]|0;if(!(k&128)){if((b|0)==(h|0)){b=2;break}c[e>>2]=j+1;j=a[j>>0]|0;k=c[g>>2]|0;c[g>>2]=k+1;a[k>>0]=j;continue}else{if((i-b|0)<2){b=2;break}c[g>>2]=b+1;a[b>>0]=k>>>6|192;j=c[g>>2]|0;c[g>>2]=j+1;a[j>>0]=k&63|128;c[e>>2]=(c[e>>2]|0)+1;continue}}return b|0}function DX(a,e,f,g,h){a=a|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0;while(1){a=c[e>>2]|0;i=a>>>0>>0;j=c[g>>2]|0;if(!(i&j>>>0>>0))break;c[e>>2]=a+1;i=d[a>>0]|0;j=c[g>>2]|0;c[g>>2]=j+2;b[j>>1]=i}return ((j|0)!=(h|0)|i^1?0:2)|0}function EX(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0;k=f;h=k-e|0;a:do if((h|0)>0){l=b+72|0;switch(a[l+(d[e>>0]|0)>>0]|0){case 29:{c[g>>2]=e;f=0;break a}case 24:case 22:{f=1;break}case 5:{if((h|0)<2){f=-2;break a}if(!(lb[c[b+340>>2]&127](b,e)|0)){c[g>>2]=e;f=0;break a}else f=2;break}case 6:{if((h|0)<3){f=-2;break a}if(!(lb[c[b+344>>2]&127](b,e)|0)){c[g>>2]=e;f=0;break a}else f=3;break}case 7:{if((h|0)<4){f=-2;break a}if(!(lb[c[b+348>>2]&127](b,e)|0)){c[g>>2]=e;f=0;break a}else f=4;break}case 19:{f=GX(b,e+1|0,f,g)|0;break a}default:{c[g>>2]=e;f=0;break a}}h=b+328|0;i=b+332|0;j=b+336|0;e=e+f|0;b:while(1){f=k-e|0;if((f|0)<=0){f=-1;break a}switch(a[l+(d[e>>0]|0)>>0]|0){case 29:{h=18;break b}case 18:{h=29;break b}case 27:case 26:case 25:case 24:case 22:{f=1;break}case 5:{if((f|0)<2){f=-2;break a}if(!(lb[c[h>>2]&127](b,e)|0)){h=21;break b}else f=2;break}case 6:{if((f|0)<3){f=-2;break a}if(!(lb[c[i>>2]&127](b,e)|0)){h=24;break b}else f=3;break}case 7:{if((f|0)<4){f=-2;break a}if(!(lb[c[j>>2]&127](b,e)|0)){h=27;break b}else f=4;break}default:{h=30;break b}}e=e+f|0}if((h|0)==18){c[g>>2]=e;f=0;break}else if((h|0)==21){c[g>>2]=e;f=0;break}else if((h|0)==24){c[g>>2]=e;f=0;break}else if((h|0)==27){c[g>>2]=e;f=0;break}else if((h|0)==29){c[g>>2]=e+1;f=9;break}else if((h|0)==30){c[g>>2]=e;f=0;break}}else f=-1;while(0);return f|0}function FX(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0;h=f-e|0;a:do if((h|0)>0){l=b+72|0;switch(a[l+(d[e>>0]|0)>>0]|0){case 29:{c[g>>2]=e;f=0;break a}case 24:case 22:{h=1;break}case 5:{if((h|0)<2){f=-2;break a}if(!(lb[c[b+340>>2]&127](b,e)|0)){c[g>>2]=e;f=0;break a}else h=2;break}case 6:{if((h|0)<3){f=-2;break a}if(!(lb[c[b+344>>2]&127](b,e)|0)){c[g>>2]=e;f=0;break a}else h=3;break}case 7:{if((h|0)<4){f=-2;break a}if(!(lb[c[b+348>>2]&127](b,e)|0)){c[g>>2]=e;f=0;break a}else h=4;break}case 30:case 9:case 10:case 21:{c[g>>2]=e;f=22;break a}default:{c[g>>2]=e;f=0;break a}}i=b+328|0;j=b+332|0;k=b+336|0;e=e+h|0;b:while(1){h=f-e|0;if((h|0)<=0){f=-1;break a}switch(a[l+(d[e>>0]|0)>>0]|0){case 29:{h=18;break b}case 18:{h=29;break b}case 27:case 26:case 25:case 24:case 22:{h=1;break}case 5:{if((h|0)<2){f=-2;break a}if(!(lb[c[i>>2]&127](b,e)|0)){h=21;break b}else h=2;break}case 6:{if((h|0)<3){f=-2;break a}if(!(lb[c[j>>2]&127](b,e)|0)){h=24;break b}else h=3;break}case 7:{if((h|0)<4){f=-2;break a}if(!(lb[c[k>>2]&127](b,e)|0)){h=27;break b}else h=4;break}default:{h=30;break b}}e=e+h|0}if((h|0)==18){c[g>>2]=e;f=0;break}else if((h|0)==21){c[g>>2]=e;f=0;break}else if((h|0)==24){c[g>>2]=e;f=0;break}else if((h|0)==27){c[g>>2]=e;f=0;break}else if((h|0)==29){c[g>>2]=e+1;f=28;break}else if((h|0)==30){c[g>>2]=e;f=0;break}}else f=-1;while(0);return f|0}function GX(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var h=0,i=0;i=f;a:do if((i-e|0)>0){h=a[e>>0]|0;if(h<<24>>24==120){b=HX(b,e+1|0,f,g)|0;break}f=b+72|0;if((a[f+(h&255)>>0]|0)!=25){c[g>>2]=e;b=0;break}b:while(1){b=e+1|0;if((i-b|0)<=0){b=-1;break a}switch(a[f+(d[b>>0]|0)>>0]|0){case 25:{e=b;break}case 18:{f=8;break b}default:{f=9;break b}}}if((f|0)==8){c[g>>2]=e+2;b=10;break}else if((f|0)==9){c[g>>2]=b;b=0;break}}else b=-1;while(0);return b|0}function HX(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var h=0;a:do if((f-e|0)>0){b=b+72|0;if((a[b+(d[e>>0]|0)>>0]&-2)<<24>>24!=24){c[g>>2]=e;f=0;break}b:while(1){h=e+1|0;if((f-h|0)<=0){f=-1;break a}switch(a[b+(d[h>>0]|0)>>0]|0){case 24:case 25:{e=h;break}case 18:{b=6;break b}default:{b=7;break b}}}if((b|0)==6){c[g>>2]=e+2;f=10;break}else if((b|0)==7){c[g>>2]=h;f=0;break}}else f=-1;while(0);return f|0}function IX(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;q=f;h=q-e|0;a:do if((h|0)>0){p=b+72|0;switch(a[p+(d[e>>0]|0)>>0]|0){case 29:{c[g>>2]=e;h=0;break a}case 24:case 22:{h=1;break}case 5:{if((h|0)<2){h=-2;break a}if(!(lb[c[b+340>>2]&127](b,e)|0)){c[g>>2]=e;h=0;break a}else h=2;break}case 6:{if((h|0)<3){h=-2;break a}if(!(lb[c[b+344>>2]&127](b,e)|0)){c[g>>2]=e;h=0;break a}else h=3;break}case 7:{if((h|0)<4){h=-2;break a}if(!(lb[c[b+348>>2]&127](b,e)|0)){c[g>>2]=e;h=0;break a}else h=4;break}case 16:{h=e+1|0;if((q-h|0)<=0){h=-1;break a}switch(a[p+(d[h>>0]|0)>>0]|0){case 27:{h=JX(b,e+2|0,f,g)|0;break a}case 20:{h=KX(e+2|0,f,g)|0;break a}default:{c[g>>2]=h;h=0;break a}}}case 15:{h=LX(b,e+1|0,f,g)|0;break a}case 17:{h=MX(b,e+1|0,f,g)|0;break a}default:{c[g>>2]=e;h=0;break a}}j=b+328|0;k=b+332|0;l=b+336|0;m=b+340|0;n=b+344|0;o=b+348|0;i=0;h=e+h|0;b:while(1){e=q-h|0;if((e|0)<=0){h=-1;break a}c:do switch(a[p+(d[h>>0]|0)>>0]|0){case 29:{r=24;break b}case 10:case 9:case 21:{r=50;break b}case 11:{r=64;break b}case 17:break b;case 27:case 26:case 25:case 24:case 22:{e=1;break}case 5:{if((e|0)<2){h=-2;break a}if(!(lb[c[j>>2]&127](b,h)|0)){r=27;break b}else e=2;break}case 6:{if((e|0)<3){h=-2;break a}if(!(lb[c[k>>2]&127](b,h)|0)){r=30;break b}else e=3;break}case 7:{if((e|0)<4){h=-2;break a}if(!(lb[c[l>>2]&127](b,h)|0)){r=33;break b}else e=4;break}case 23:{if(i|0){r=35;break b}i=h+1|0;e=q-i|0;if((e|0)<=0){h=-1;break a}switch(a[p+(d[i>>0]|0)>>0]|0){case 29:{r=38;break b}case 24:case 22:{i=1;e=2;break c}case 5:{if((e|0)<2){h=-2;break a}if(!(lb[c[m>>2]&127](b,i)|0)){r=42;break b}else{i=1;e=3;break c}}case 6:{if((e|0)<3){h=-2;break a}if(!(lb[c[n>>2]&127](b,i)|0)){r=45;break b}else{i=1;e=4;break c}}case 7:{if((e|0)<4){h=-2;break a}if(!(lb[c[o>>2]&127](b,i)|0)){r=48;break b}else{i=1;e=5;break c}}default:{r=49;break b}}}default:{r=69;break b}}while(0);h=h+e|0}d:switch(r|0){case 24:{c[g>>2]=h;h=0;break a}case 27:{c[g>>2]=h;h=0;break a}case 30:{c[g>>2]=h;h=0;break a}case 33:{c[g>>2]=h;h=0;break a}case 35:{c[g>>2]=h;h=0;break a}case 38:{c[g>>2]=i;h=0;break a}case 42:{c[g>>2]=i;h=0;break a}case 45:{c[g>>2]=i;h=0;break a}case 48:{c[g>>2]=i;h=0;break a}case 49:{c[g>>2]=i;h=0;break a}case 50:{e:while(1){r=0;i=h+1|0;e=q-i|0;if((e|0)<=0){h=-1;break a}switch(a[p+(d[i>>0]|0)>>0]|0){case 11:{h=i;r=64;break d}case 17:{h=i;break d}case 10:case 9:case 21:{h=i;r=50;break}case 29:{r=52;break e}case 24:case 22:{i=2;break e}case 5:{r=53;break e}case 6:{r=56;break e}case 7:{r=59;break e}default:{r=62;break e}}}if((r|0)==52){c[g>>2]=i;h=0;break a}else if((r|0)==53){if((e|0)<2){h=-2;break a}if(!(lb[c[m>>2]&127](b,i)|0)){c[g>>2]=i;h=0;break a}else i=3}else if((r|0)==56){if((e|0)<3){h=-2;break a}if(!(lb[c[n>>2]&127](b,i)|0)){c[g>>2]=i;h=0;break a}else i=4}else if((r|0)==59){if((e|0)<4){h=-2;break a}if(!(lb[c[o>>2]&127](b,i)|0)){c[g>>2]=i;h=0;break a}else i=5}else if((r|0)==62){c[g>>2]=i;h=0;break a}h=NX(b,h+i|0,f,g)|0;break a}case 69:{c[g>>2]=h;h=0;break a}}if((r|0)==64){c[g>>2]=h+1;h=2;break}i=h+1|0;if((q-i|0)>0)if((a[i>>0]|0)==62){c[g>>2]=h+2;h=4;break}else{c[g>>2]=i;h=0;break}else h=-1}else h=-1;while(0);return h|0}function JX(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0;a:do if((f-e|0)>0){if((a[e>>0]|0)!=45){c[g>>2]=e;f=0;break}h=b+72|0;i=b+352|0;j=b+356|0;k=b+360|0;l=e+1|0;b:while(1){e=f-l|0;if((e|0)<=0){f=-1;break a}switch(a[h+(d[l>>0]|0)>>0]|0){case 8:case 1:case 0:{e=19;break b}case 5:{if((e|0)<2){f=-2;break a}if(lb[c[i>>2]&127](b,l)|0){e=9;break b}l=l+2|0;continue b}case 6:{if((e|0)<3){f=-2;break a}if(lb[c[j>>2]&127](b,l)|0){e=13;break b}l=l+3|0;continue b}case 7:{if((e|0)<4){f=-2;break a}if(lb[c[k>>2]&127](b,l)|0){e=17;break b}l=l+4|0;continue b}case 27:{e=l+1|0;if((f-e|0)<=0){f=-1;break a}if((a[e>>0]|0)==45){e=22;break b}else{l=e;continue b}}default:{l=l+1|0;continue b}}}if((e|0)==9){c[g>>2]=l;f=0;break}else if((e|0)==13){c[g>>2]=l;f=0;break}else if((e|0)==17){c[g>>2]=l;f=0;break}else if((e|0)==19){c[g>>2]=l;f=0;break}else if((e|0)==22){e=l+2|0;if((f-e|0)<=0){f=-1;break}if((a[e>>0]|0)==62){c[g>>2]=l+3;f=13;break}else{c[g>>2]=e;f=0;break}}}else f=-1;while(0);return f|0}function KX(b,d,e){b=b|0;d=d|0;e=e|0;if((d-b|0)>5){d=0;while(1){if((d|0)>=6){d=8;break}if((a[b>>0]|0)!=(a[141218+d>>0]|0)){d=0;break}d=d+1|0;b=b+1|0}c[e>>2]=b}else d=-1;return d|0}function LX(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0;q=l;l=l+16|0;p=q;o=f;f=o-e|0;a:do if((f|0)>0){n=b+72|0;switch(a[n+(d[e>>0]|0)>>0]|0){case 29:{c[g>>2]=e;f=0;break a}case 24:case 22:{f=1;break}case 5:{if((f|0)<2){f=-2;break a}if(!(lb[c[b+340>>2]&127](b,e)|0)){c[g>>2]=e;f=0;break a}else f=2;break}case 6:{if((f|0)<3){f=-2;break a}if(!(lb[c[b+344>>2]&127](b,e)|0)){c[g>>2]=e;f=0;break a}else f=3;break}case 7:{if((f|0)<4){f=-2;break a}if(!(lb[c[b+348>>2]&127](b,e)|0)){c[g>>2]=e;f=0;break a}else f=4;break}default:{c[g>>2]=e;f=0;break a}}i=b+328|0;j=b+332|0;k=b+336|0;f=e+f|0;b:while(1){h=o-f|0;if((h|0)<=0){f=-1;break a}switch(a[n+(d[f>>0]|0)>>0]|0){case 29:{m=17;break b}case 10:case 9:case 21:{m=28;break b}case 15:{m=50;break b}case 27:case 26:case 25:case 24:case 22:{h=1;break}case 5:{if((h|0)<2){f=-2;break a}if(!(lb[c[i>>2]&127](b,f)|0)){m=20;break b}else h=2;break}case 6:{if((h|0)<3){f=-2;break a}if(!(lb[c[j>>2]&127](b,f)|0)){m=23;break b}else h=3;break}case 7:{if((h|0)<4){f=-2;break a}if(!(lb[c[k>>2]&127](b,f)|0)){m=26;break b}else h=4;break}default:break b}f=f+h|0}if((m|0)==17){c[g>>2]=f;f=0;break}else if((m|0)==20){c[g>>2]=f;f=0;break}else if((m|0)==23){c[g>>2]=f;f=0;break}else if((m|0)==26){c[g>>2]=f;f=0;break}else if((m|0)==28){if(!(OX(e,f,p)|0)){c[g>>2]=f;f=0;break}i=b+352|0;j=b+356|0;k=b+360|0;h=f+1|0;c:while(1){f=o-h|0;if((f|0)<=0){f=-1;break a}switch(a[n+(d[h>>0]|0)>>0]|0){case 8:case 1:case 0:{m=45;break c}case 5:{if((f|0)<2){f=-2;break a}if(lb[c[i>>2]&127](b,h)|0){m=35;break c}h=h+2|0;continue c}case 6:{if((f|0)<3){f=-2;break a}if(lb[c[j>>2]&127](b,h)|0){m=39;break c}h=h+3|0;continue c}case 7:{if((f|0)<4){f=-2;break a}if(lb[c[k>>2]&127](b,h)|0){m=43;break c}h=h+4|0;continue c}case 15:{f=h+1|0;if((o-f|0)<=0){f=-1;break a}if((a[f>>0]|0)==62){m=48;break c}else{h=f;continue c}}default:{h=h+1|0;continue c}}}if((m|0)==35){c[g>>2]=h;f=0;break}else if((m|0)==39){c[g>>2]=h;f=0;break}else if((m|0)==43){c[g>>2]=h;f=0;break}else if((m|0)==45){c[g>>2]=h;f=0;break}else if((m|0)==48){c[g>>2]=h+2;f=c[p>>2]|0;break}}else if((m|0)==50){if(!(OX(e,f,p)|0)){c[g>>2]=f;f=0;break}h=f+1|0;if((o-h|0)<=0){f=-1;break}if((a[h>>0]|0)==62){c[g>>2]=f+2;f=c[p>>2]|0;break}else f=h}c[g>>2]=f;f=0}else f=-1;while(0);l=q;return f|0}function MX(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0;h=f-e|0;a:do if((h|0)>0){l=b+72|0;switch(a[l+(d[e>>0]|0)>>0]|0){case 29:{c[g>>2]=e;f=0;break a}case 24:case 22:{h=1;break}case 5:{if((h|0)<2){f=-2;break a}if(!(lb[c[b+340>>2]&127](b,e)|0)){c[g>>2]=e;f=0;break a}else h=2;break}case 6:{if((h|0)<3){f=-2;break a}if(!(lb[c[b+344>>2]&127](b,e)|0)){c[g>>2]=e;f=0;break a}else h=3;break}case 7:{if((h|0)<4){f=-2;break a}if(!(lb[c[b+348>>2]&127](b,e)|0)){c[g>>2]=e;f=0;break a}else h=4;break}default:{c[g>>2]=e;f=0;break a}}i=b+328|0;j=b+332|0;k=b+336|0;h=e+h|0;b:while(1){e=f-h|0;if((e|0)<=0){f=-1;break a}switch(a[l+(d[h>>0]|0)>>0]|0){case 29:{i=17;break b}case 10:case 9:case 21:{i=27;break b}case 11:{i=32;break b}case 23:case 27:case 26:case 25:case 24:case 22:{e=1;break}case 5:{if((e|0)<2){f=-2;break a}if(!(lb[c[i>>2]&127](b,h)|0)){i=20;break b}else e=2;break}case 6:{if((e|0)<3){f=-2;break a}if(!(lb[c[j>>2]&127](b,h)|0)){i=23;break b}else e=3;break}case 7:{if((e|0)<4){f=-2;break a}if(!(lb[c[k>>2]&127](b,h)|0)){i=26;break b}else e=4;break}default:{i=33;break b}}h=h+e|0}if((i|0)==17){c[g>>2]=h;f=0;break}else if((i|0)==20){c[g>>2]=h;f=0;break}else if((i|0)==23){c[g>>2]=h;f=0;break}else if((i|0)==26){c[g>>2]=h;f=0;break}else if((i|0)==27){c:while(1){e=h+1|0;if((f-e|0)<=0){f=-1;break a}switch(a[l+(d[e>>0]|0)>>0]|0){case 10:case 9:case 21:{h=e;i=27;break}case 11:{i=29;break c}default:{i=30;break c}}}if((i|0)==29){c[g>>2]=h+2;f=5;break}else if((i|0)==30){c[g>>2]=e;f=0;break}}else if((i|0)==32){c[g>>2]=h+1;f=5;break}else if((i|0)==33){c[g>>2]=h;f=0;break}}else f=-1;while(0);return f|0}function NX(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0;y=l;l=l+16|0;v=y;c[v>>2]=e;w=f;r=b+72|0;s=b+328|0;t=b+332|0;u=b+336|0;k=b+340|0;m=b+344|0;n=b+348|0;o=b+352|0;p=b+356|0;q=b+360|0;i=0;a:while(1){h=w-e|0;if((h|0)<=0){e=-1;break}b:do switch(a[r+(d[e>>0]|0)>>0]|0){case 29:{x=4;break a}case 27:case 26:case 25:case 24:case 22:{h=e+1|0;c[v>>2]=h;j=i;e=h;i=j;continue a}case 5:{if((h|0)<2){e=-2;break a}if(!(lb[c[s>>2]&127](b,e)|0)){x=8;break a}h=e+2|0;c[v>>2]=h;j=i;e=h;i=j;continue a}case 6:{if((h|0)<3){e=-2;break a}if(!(lb[c[t>>2]&127](b,e)|0)){x=12;break a}h=e+3|0;c[v>>2]=h;j=i;e=h;i=j;continue a}case 7:{if((h|0)<4){e=-2;break a}if(!(lb[c[u>>2]&127](b,e)|0)){x=16;break a}h=e+4|0;c[v>>2]=h;j=i;e=h;i=j;continue a}case 23:{if(i|0){x=19;break a}h=e+1|0;c[v>>2]=h;i=w-h|0;if((i|0)<=0){e=-1;break a}switch(a[r+(d[h>>0]|0)>>0]|0){case 29:{x=22;break a}case 24:case 22:{j=e+2|0;c[v>>2]=j;i=1;e=j;continue a}case 5:{if((i|0)<2){e=-2;break a}if(!(lb[c[k>>2]&127](b,h)|0)){x=26;break a}j=e+3|0;c[v>>2]=j;i=1;e=j;continue a}case 6:{if((i|0)<3){e=-2;break a}if(!(lb[c[m>>2]&127](b,h)|0)){x=30;break a}j=e+4|0;c[v>>2]=j;i=1;e=j;continue a}case 7:{if((i|0)<4){e=-2;break a}if(!(lb[c[n>>2]&127](b,h)|0)){x=34;break a}j=e+5|0;c[v>>2]=j;i=1;e=j;continue a}default:{x=36;break a}}}case 10:case 9:case 21:while(1){e=e+1|0;c[v>>2]=e;if((w-e|0)<=0){e=-1;break a}switch(a[r+(d[e>>0]|0)>>0]|0){case 14:break b;case 9:case 10:case 21:break;default:{x=39;break a}}}case 14:break;default:{x=92;break a}}while(0);while(1){h=e+1|0;c[v>>2]=h;if((w-h|0)<=0){e=-1;break a}j=a[r+(d[h>>0]|0)>>0]|0;if((j|1)<<24>>24==13)break;switch(j<<24>>24){case 9:case 10:case 21:{e=h;break}default:{x=43;break a}}}e=e+2|0;c[v>>2]=e;c:while(1){h=w-e|0;if((h|0)<=0){e=-1;break a}i=a[r+(d[e>>0]|0)>>0]|0;if(i<<24>>24==j<<24>>24)break;switch(i<<24>>24){case 8:case 1:case 0:{x=60;break a}case 2:{x=65;break a}case 5:{if((h|0)<2){e=-2;break a}if(lb[c[o>>2]&127](b,e)|0){x=50;break a}i=e+2|0;c[v>>2]=i;e=i;continue c}case 6:{if((h|0)<3){e=-2;break a}if(lb[c[p>>2]&127](b,e)|0){x=54;break a}i=e+3|0;c[v>>2]=i;e=i;continue c}case 7:{if((h|0)<4){e=-2;break a}if(lb[c[q>>2]&127](b,e)|0){x=58;break a}i=e+4|0;c[v>>2]=i;e=i;continue c}case 3:{e=EX(b,e+1|0,f,v)|0;if((e|0)<1){x=63;break a}e=c[v>>2]|0;continue c}default:{i=e+1|0;c[v>>2]=i;e=i;continue c}}}h=e+1|0;c[v>>2]=h;if((w-h|0)<=0){e=-1;break}switch(a[r+(d[h>>0]|0)>>0]|0){case 11:{x=86;break a}case 17:{x=87;break a}case 10:case 9:case 21:{e=h;break}default:{x=69;break a}}d:while(1){h=e+1|0;c[v>>2]=h;i=w-h|0;if((i|0)<=0){e=-1;break a}switch(a[r+(d[h>>0]|0)>>0]|0){case 29:{x=72;break a}case 11:{x=86;break a}case 17:{x=87;break a}case 10:case 9:case 21:{e=h;break}case 24:case 22:{x=73;break d}case 5:{x=74;break d}case 6:{x=78;break d}case 7:{x=82;break d}default:{x=91;break a}}}if((x|0)==73){x=0;e=e+2|0;c[v>>2]=e;i=0;continue}else if((x|0)==74){x=0;if((i|0)<2){e=-2;break}if(!(lb[c[k>>2]&127](b,h)|0)){x=76;break}e=e+3|0;c[v>>2]=e;i=0;continue}else if((x|0)==78){x=0;if((i|0)<3){e=-2;break}if(!(lb[c[m>>2]&127](b,h)|0)){x=80;break}e=e+4|0;c[v>>2]=e;i=0;continue}else if((x|0)==82){x=0;if((i|0)<4){e=-2;break}if(!(lb[c[n>>2]&127](b,h)|0)){x=84;break}e=e+5|0;c[v>>2]=e;i=0;continue}}switch(x|0){case 4:{c[g>>2]=e;e=0;break}case 8:{c[g>>2]=e;e=0;break}case 12:{c[g>>2]=e;e=0;break}case 16:{c[g>>2]=e;e=0;break}case 19:{c[g>>2]=e;e=0;break}case 22:{c[g>>2]=h;e=0;break}case 26:{c[g>>2]=h;e=0;break}case 30:{c[g>>2]=h;e=0;break}case 34:{c[g>>2]=h;e=0;break}case 36:{c[g>>2]=h;e=0;break}case 39:{c[g>>2]=e;e=0;break}case 43:{c[g>>2]=h;e=0;break}case 50:{c[g>>2]=e;e=0;break}case 54:{c[g>>2]=e;e=0;break}case 58:{c[g>>2]=e;e=0;break}case 60:{c[g>>2]=e;e=0;break}case 63:{if(!e){c[g>>2]=c[v>>2];e=0}break}case 65:{c[g>>2]=e;e=0;break}case 69:{c[g>>2]=h;e=0;break}case 72:{c[g>>2]=h;e=0;break}case 76:{c[g>>2]=h;e=0;break}case 80:{c[g>>2]=h;e=0;break}case 84:{c[g>>2]=h;e=0;break}case 86:{c[g>>2]=e+2;e=1;break}case 87:{e=h+1|0;c[v>>2]=e;if((w-e|0)>0)if((a[e>>0]|0)==62){c[g>>2]=h+2;e=3;break}else{c[g>>2]=e;e=0;break}else e=-1;break}case 91:{c[g>>2]=h;e=0;break}case 92:{c[g>>2]=e;e=0;break}}l=y;return e|0}function OX(b,d,e){b=b|0;d=d|0;e=e|0;c[e>>2]=11;a:do if((d-b|0)==3){switch(a[b>>0]|0){case 120:{d=0;break}case 88:{d=1;break}default:{d=1;break a}}switch(a[b+1>>0]|0){case 109:break;case 77:{d=1;break}default:{d=1;break a}}switch(a[b+2>>0]|0){case 108:break;case 76:{d=0;break a}default:{d=1;break a}}if(!d){c[e>>2]=12;d=1}else d=0}else d=1;while(0);return d|0}function PX(b,e,f,g,h){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0;k=e+72|0;l=e+352|0;m=e+356|0;n=e+360|0;a:while(1){i=g-f|0;if((i|0)<=0){g=-1;break}j=a[k+(d[f>>0]|0)>>0]|0;switch(j<<24>>24){case 8:case 1:case 0:{o=16;break a}case 5:{if((i|0)<2){g=-2;break a}if(lb[c[l>>2]&127](e,f)|0){o=6;break a}f=f+2|0;continue a}case 6:{if((i|0)<3){g=-2;break a}if(lb[c[m>>2]&127](e,f)|0){o=10;break a}f=f+3|0;continue a}case 7:{if((i|0)<4){g=-2;break a}if(lb[c[n>>2]&127](e,f)|0){o=14;break a}f=f+4|0;continue a}case 13:case 12:{f=f+1|0;if((j&255|0)==(b|0)){o=18;break a}else continue a}default:{f=f+1|0;continue a}}}b:do if((o|0)==6){c[h>>2]=f;g=0}else if((o|0)==10){c[h>>2]=f;g=0}else if((o|0)==14){c[h>>2]=f;g=0}else if((o|0)==16){c[h>>2]=f;g=0}else if((o|0)==18)if((g-f|0)>0){c[h>>2]=f;switch(a[k+(d[f>>0]|0)>>0]|0){case 20:case 30:case 11:case 10:case 9:case 21:{g=27;break b}default:{}}g=0}else g=-27;while(0);return g|0}function QX(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0;h=f;a:do if((h-e|0)>0){i=b+72|0;switch(a[i+(d[e>>0]|0)>>0]|0){case 27:{b=JX(b,e+1|0,f,g)|0;break a}case 20:{c[g>>2]=e+1;b=33;break a}case 24:case 22:{b:while(1){b=e+1|0;f=h-b|0;if((f|0)<=0){b=-1;break a}switch(a[i+(d[b>>0]|0)>>0]|0){case 24:case 22:{e=b;break}case 30:{j=8;break b}case 10:case 9:case 21:break b;default:{j=12;break b}}}if((j|0)==12){c[g>>2]=b;b=0;break a}c:do if((j|0)==8){if((f|0)<=1){b=-1;break a}switch(a[i+(d[e+2>>0]|0)>>0]|0){case 30:case 10:case 9:case 21:break;default:break c}c[g>>2]=b;b=0;break a}while(0);c[g>>2]=b;b=16;break a}default:{c[g>>2]=e;b=0;break a}}}else b=-1;while(0);return b|0} +function Qv(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0;f=a;while(1){j=c[f>>2]|0;if(!j){k=6;break}if((c[j>>2]|0)==(b|0))break;f=j+4|0}if((k|0)==6)qa(93188,93195,217,93206);i=j+8|0;f=c[i>>2]|0;g=j+4|0;b=c[g>>2]|0;c[(f|0?f+4|0:a)>>2]=b;h=a+4|0;c[(b|0?b+8|0:h)>>2]=f;b=0;f=a;while(1){f=c[f>>2]|0;if(!f)break;if((c[f>>2]|0)==(d|0)){k=9;break}b=f;f=f+4|0}if((k|0)==9){do if(!e)if((f|0)==(c[a>>2]|0)){c[a>>2]=j;c[g>>2]=f;c[i>>2]=0;f=f+8|0;break}else{c[b+4>>2]=j;c[i>>2]=b;c[g>>2]=f;f=f+8|0;break}else if((f|0)==(c[h>>2]|0)){c[h>>2]=j;c[g>>2]=0;c[i>>2]=f;f=f+4|0;break}else{c[i>>2]=f;f=f+4|0;c[g>>2]=c[f>>2];c[(c[f>>2]|0)+8>>2]=j;break}while(0);c[f>>2]=j}return}function Rv(a){a=a|0;return c[a+8>>2]|0}function Sv(a,b){a=a|0;b=b|0;Tv(a,Nv(b)|0);C_(b);return}function Tv(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=c[b>>2]|0;if(d|0){e=a+4|0;f=c[e>>2]|0;c[f+4>>2]=d;c[d+8>>2]=f;c[e>>2]=c[b+4>>2];d=a+8|0;c[d>>2]=(c[d>>2]|0)+(c[b+8>>2]|0)}return}function Uv(a,b,d){a=a|0;b=b|0;d=+d;var e=0,f=0.0,g=0.0,i=0.0,j=0.0,k=0,l=0,m=0,n=0,o=0.0;m=c[b+8>>2]|0;Vv(a,b);l=Wv(m)|0;a=Yv(Xv(l)|0)|0;Zv(m,a);m=_v(a,m)|0;a=Rv(m)|0;j=+$v(m);k=(a|0)==1;f=+(a|0);i=f*.15915494309189535*(j+d);g=k?0.0:i;a=m;while(1){a=c[a>>2]|0;if(!a)break;if(c[(c[(c[(c[a>>2]|0)+16>>2]|0)+112>>2]|0)+4>>2]&8|0){e=4;break}a=a+4|0}if((e|0)==4)Ov(m,a);d=1.0/f;e=0;a=m;while(1){a=c[a>>2]|0;if(!a)break;n=(c[a>>2]|0)+16|0;c[(c[(c[n>>2]|0)+112>>2]|0)+16>>2]=e;h[(c[(c[n>>2]|0)+112>>2]|0)+24>>3]=0.0;f=6.283185307179586*d*+(e|0);o=+E(+f)*g;n=c[(c[n>>2]|0)+132>>2]|0;h[n>>3]=o;h[n+8>>3]=+F(+f)*g;e=e+1|0;a=a+4|0}o=k?j*.5:i;h[b+16>>3]=o;h[b+24>>3]=o;h[b+48>>3]=-1.0;_x(l)|0;return m|0}function Vv(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;f=c[b+8>>2]|0;d=Ry(f)|0;while(1){if(!d)break;e=Dx(a,d)|0;while(1){if(!e)break;if((c[(c[(c[(c[((c[e>>2]&3|0)==2?e:e+-48|0)+40>>2]|0)+16>>2]|0)+112>>2]|0)+12>>2]|0)==(b|0))Ux(f,e,1)|0;e=Fx(a,e)|0}d=Sy(f,d)|0}return}function Wv(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0;k=l;l=l+16|0;g=k;f=fw(a,g)|0;g=c[g>>2]|0;i=$x(g)|0;h=gw(g)|0;i=i+-3|0;e=0;while(1){if((e|0)>=(i|0))break;j=pw(h)|0;d=Ix(g,j)|0;while(1){if(!d)break;b=c[d>>2]&3;a=c[((b|0)==2?d:d+-48|0)+40>>2]|0;if((j|0)==(a|0))a=c[((b|0)==3?d:d+48|0)+40>>2]|0;ow(h,a);d=Jx(g,d,j)|0}hw(g,j,f);d=Ix(g,j)|0;while(1){if(!d)break;b=c[d>>2]&3;a=c[((b|0)==2?d:d+-48|0)+40>>2]|0;if((j|0)==(a|0))a=c[((b|0)==3?d:d+48|0)+40>>2]|0;b=(c[a+16>>2]|0)+236|0;c[b>>2]=(c[b>>2]|0)+-1;nw(h,a);d=Jx(g,d,j)|0}cz(g,j)|0;e=e+1|0}_x(g)|0;mw(h);l=k;return f|0}function Xv(a){a=a|0;var b=0,d=0,e=0,f=0;f=l;l=l+144|0;b=f;e=f+8|0;d=c[46162]|0;c[46162]=d+1;c[b>>2]=d;X0(e,93221,b)|0;e=uA(a,e,1)|0;zz(e,134401,280,1)|0;b=Ry(a)|0;while(1){if(!b)break;Wy(e,b,1)|0;d=b+16|0;c[(c[(c[d>>2]|0)+112>>2]|0)+16+12>>2]=0;c[(c[(c[d>>2]|0)+112>>2]|0)+32>>2]=0;d=(c[(c[d>>2]|0)+112>>2]|0)+4|0;c[d>>2]=c[d>>2]&-2;b=Sy(a,b)|0}b=Ry(a)|0;while(1){if(!b)break;d=c[(c[b+16>>2]|0)+112>>2]|0;if(!(c[d+4>>2]&1)){c[d+16>>2]=0;ew(a,b,e)}b=Sy(a,b)|0}l=f;return e|0}function Yv(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;if(($x(a)|0)!=1){d=Ry(a)|0;while(1){if(!d)break;b=0;e=Ix(a,d)|0;while(1){if(!e)break;b=b+1|0;e=Jx(a,e,d)|0}if((b|0)==1)dw(d,d,0,0);d=Sy(a,d)|0}b=0;f=0;d=Ry(a)|0;while(1){if(!d)break;g=c[(c[d+16>>2]|0)+112>>2]|0;g=(c[g+32>>2]|0)+(c[g+16+12>>2]|0)|0;e=(g|0)>(b|0);b=e?g:b;f=e?d:f;d=Sy(a,d)|0}b=Jv()|0;e=f+16|0;d=(c[(c[e>>2]|0)+112>>2]|0)+16+4|0;while(1){d=c[d>>2]|0;if((d|0)==(f|0))break;Lv(b,0,d);d=c[(c[d+16>>2]|0)+112>>2]|0;g=d+4|0;c[g>>2]=c[g>>2]|16;d=d+16|0}Lv(b,0,f);g=c[(c[e>>2]|0)+112>>2]|0;a=g+4|0;c[a>>2]=c[a>>2]|16;if(c[g+32>>2]|0){a=Jv()|0;d=(c[(c[e>>2]|0)+112>>2]|0)+24|0;while(1){d=c[d>>2]|0;if((d|0)==(f|0))break;Lv(a,0,d);d=c[(c[d+16>>2]|0)+112>>2]|0;g=d+4|0;c[g>>2]=c[g>>2]|16;d=d+16|0}Sv(b,a)}}else{b=Jv()|0;g=Ry(a)|0;Lv(b,0,g);g=(c[(c[g+16>>2]|0)+112>>2]|0)+4|0;c[g>>2]=c[g>>2]|16}return b|0}function Zv(a,b){a=a|0;b=b|0;var d=0;d=Ry(a)|0;while(1){if(!d)break;if(!(c[(c[(c[d+16>>2]|0)+112>>2]|0)+4>>2]&16))cw(a,d,b);d=Sy(a,d)|0}return}function _v(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;g=l;l=l+16|0;f=g;d=aw(a,b)|0;c[f>>2]=d;a:do if(d){e=0;while(1){if((e|0)>=10)break a;a=bw(a,b,f)|0;h=d;d=c[f>>2]|0;if((h|0)==(d|0)|(d|0)==0)break;else e=e+1|0}}while(0);l=g;return a|0}function $v(a){a=a|0;var b=0.0,d=0.0,e=0.0,f=0;b=0.0;while(1){a=c[a>>2]|0;if(!a)break;f=c[(c[c[(c[(c[a>>2]|0)+16>>2]|0)+112>>2]>>2]|0)+16>>2]|0;d=+h[f+32>>3];d=d>b?d:b;e=+h[f+40>>3];b=e>d?e:d;a=a+4|0}return +b}function aw(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0;k=qw()|0;e=Ry(b)|0;while(1){if(!e)break;d=Dx(b,e)|0;while(1){if(!d)break;c[c[(c[d+16>>2]|0)+120>>2]>>2]=0;d=Fx(b,d)|0}e=Sy(b,e)|0}j=1;d=0;while(1){h=c[a>>2]|0;if(!h)break;i=c[h>>2]|0;g=Ix(b,i)|0;while(1){if(!g)break;f=g+16|0;if((c[c[(c[f>>2]|0)+120>>2]>>2]|0)>0){a=nb[c[k>>2]&63](k,0,128)|0;while(1){if(!a)break;e=c[a+8>>2]|0;if((c[c[(c[e+16>>2]|0)+120>>2]>>2]|0)>(c[c[(c[f>>2]|0)+120>>2]>>2]|0)?(l=c[e>>2]&3,(c[((l|0)==2?e:e+-48|0)+40>>2]|0)!=(i|0)):0)d=d+((c[((l|0)==3?e:e+48|0)+40>>2]|0)!=(i|0)&1)|0;a=nb[c[k>>2]&63](k,a,8)|0}ww(k,g)}g=Jx(b,g,i)|0}e=Ix(b,i)|0;while(1){if(!e)break;a=c[(c[e+16>>2]|0)+120>>2]|0;if(!(c[a>>2]|0)){c[a>>2]=j;vw(k,e)}e=Jx(b,e,i)|0}a=h+4|0;j=j+1|0}uw(k);return d|0}function bw(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0;e=c[d>>2]|0;k=Ry(b)|0;a:while(1){if(!k)break;j=Ix(b,k)|0;while(1){if(!j)break;g=c[j>>2]&3;f=c[((g|0)==3?j:j+48|0)+40>>2]|0;if((f|0)==(k|0))f=c[((g|0)==2?j:j+-48|0)+40>>2]|0;i=0;while(1){if((i|0)>=2)break;h=Pv(a)|0;Qv(a,k,f,i);g=aw(a,b)|0;if((g|0)<(e|0)){Kv(h);if(!g){e=0;break a}else e=g}else{Kv(a);a=h}i=i+1|0}j=Jx(b,j,k)|0}k=Sy(b,k)|0}c[d>>2]=e;return a|0}function cw(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;h=Jv()|0;e=Dx(a,b)|0;while(1){if(!e)break;f=e+-48|0;Lv(h,0,c[((c[e>>2]&3|0)==2?e:f)+40>>2]|0);f=(c[(c[(c[((c[e>>2]&3|0)==2?e:f)+40>>2]|0)+16>>2]|0)+112>>2]|0)+4|0;c[f>>2]=c[f>>2]|32;e=Fx(a,e)|0}e=Gx(a,b)|0;while(1){if(!e)break;f=e+48|0;Lv(h,0,c[((c[e>>2]&3|0)==3?e:f)+40>>2]|0);f=(c[(c[(c[((c[e>>2]&3|0)==3?e:f)+40>>2]|0)+16>>2]|0)+112>>2]|0)+4|0;c[f>>2]=c[f>>2]|32;e=Hx(a,e)|0}a:do if((Rv(h)|0)>1){f=d+4|0;a=d;while(1){e=c[a>>2]|0;if(!e){g=13;break a}a=e+4|0;if(!(c[(c[(c[(c[e>>2]|0)+16>>2]|0)+112>>2]|0)+4>>2]&32))continue;if(c[(c[(c[(c[c[((e|0)==(c[f>>2]|0)?d:a)>>2]>>2]|0)+16>>2]|0)+112>>2]|0)+4>>2]&32|0)break}Lv(d,e,b)}else g=13;while(0);b:do if((g|0)==13){c:do if((Rv(h)|0)>0){e=d;while(1){e=c[e>>2]|0;if(!e)break c;if(c[(c[(c[(c[e>>2]|0)+16>>2]|0)+112>>2]|0)+4>>2]&32|0)break;e=e+4|0}Lv(d,e,b);break b}while(0);Lv(d,0,b)}while(0);e=h;while(1){e=c[e>>2]|0;if(!e)break;d=(c[(c[(c[e>>2]|0)+16>>2]|0)+112>>2]|0)+4|0;c[d>>2]=c[d>>2]&-33;e=e+4|0}Kv(h);return}function dw(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0;while(1){g=c[(c[(c[b+16>>2]|0)+112>>2]|0)+16>>2]|0;if(!g)break;h=d+1|0;i=g+16|0;j=c[(c[i>>2]|0)+112>>2]|0;b=j+16|0;f=c[b+12>>2]|0;if(f){if((f|0)>(d|0)){k=11;break}b=c[b+4>>2]|0;f=b;if((b|0)==(e|0))b=j;else{d=j+24|0;if(!((c[j+32>>2]|0)!=0?(c[d>>2]|0)==(e|0):0))e=b;c[d>>2]=f;b=c[(c[i>>2]|0)+112>>2]|0;c[b+32>>2]=c[b+16+12>>2];b=c[(c[i>>2]|0)+112>>2]|0}b=b+16|0}c[b+4>>2]=a;c[(c[(c[i>>2]|0)+112>>2]|0)+16+12>>2]=h;b=g;d=h}if((k|0)==11?(c[j+32>>2]|0)<=(d|0):0){c[j+24>>2]=a;c[(c[(c[i>>2]|0)+112>>2]|0)+32>>2]=h}return}function ew(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0;g=(c[(c[b+16>>2]|0)+112>>2]|0)+4|0;c[g>>2]=c[g>>2]|1;g=Ix(a,b)|0;while(1){if(!g)break;f=c[g>>2]&3;e=c[((f|0)==2?g:g+-48|0)+40>>2]|0;if((e|0)==(b|0))e=c[((f|0)==3?g:g+48|0)+40>>2]|0;f=e+16|0;if(!(c[(c[(c[f>>2]|0)+112>>2]|0)+4>>2]&1)){Ux(d,g,1)|0;c[(c[(c[f>>2]|0)+112>>2]|0)+16>>2]=b;ew(a,e,d)}g=Jx(a,g,b)|0}return}function fw(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0;k=l;l=l+144|0;j=k+8|0;i=k;e=k+16|0;h=c[46163]|0;c[46163]=h+1;c[i>>2]=h;X0(e,93230,i)|0;i=uA(b,e,1)|0;zz(i,134401,280,1)|0;h=c[46163]|0;c[46163]=h+1;c[j>>2]=h;X0(e,93230,j)|0;h=b+24|0;a[j>>0]=a[h>>0]|0;a[j+1>>0]=a[h+1>>0]|0;a[j+2>>0]=a[h+2>>0]|0;a[j+3>>0]=a[h+3>>0]|0;j=Wx(e,j,0)|0;e=Ry(b)|0;while(1){if(!e)break;Wy(i,e,1)|0;h=$y(j,qy(e)|0,1)|0;zz(h,134365,304,1)|0;c[(c[(c[e+16>>2]|0)+112>>2]|0)+16>>2]=h;e=Sy(b,e)|0}f=Ry(b)|0;while(1){if(!f)break;g=c[(c[(c[f+16>>2]|0)+112>>2]|0)+16>>2]|0;h=g+16|0;e=Dx(b,f)|0;while(1){if(!e)break;Ux(i,e,1)|0;m=c[(c[(c[(c[((c[e>>2]&3|0)==2?e:e+-48|0)+40>>2]|0)+16>>2]|0)+112>>2]|0)+16>>2]|0;n=Qx(j,g,m,0,1)|0;zz(n,134378,176,1)|0;c[(c[n+16>>2]|0)+116>>2]=e;n=(c[h>>2]|0)+236|0;c[n>>2]=(c[n>>2]|0)+1;m=(c[m+16>>2]|0)+236|0;c[m>>2]=(c[m>>2]|0)+1;e=Fx(b,e)|0}f=Sy(b,f)|0}c[d>>2]=j;l=k;return i|0}function gw(a){a=a|0;var b=0,c=0;c=iw()|0;b=Ry(a)|0;while(1){if(!b)break;nw(c,b);b=Sy(a,b)|0}return c|0}function hw(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;m=c[(c[b+16>>2]|0)+236>>2]|0;p=m<<2;o=uH(p)|0;p=uH(p)|0;i=0;l=Ix(a,b)|0;n=0;f=0;while(1){if(!l)break;e=c[l>>2]&3;g=c[((e|0)==2?l:l+-48|0)+40>>2]|0;if((g|0)==(b|0))g=c[((e|0)==3?l:l+48|0)+40>>2]|0;h=0;k=Ix(a,b)|0;j=i;while(1){if(!k)break;if((k|0)!=(l|0)){i=c[k>>2]&3;e=c[((i|0)==2?k:k+-48|0)+40>>2]|0;if((e|0)==(b|0))e=c[((i|0)==3?k:k+48|0)+40>>2]|0;i=Qx(a,g,e,0,0)|0;if(i)if(g>>>0>>0){e=j+1|0;h=i+16|0;i=c[(c[h>>2]|0)+116>>2]|0;if(!i)h=1;else{cz(d,i)|0;c[(c[h>>2]|0)+116>>2]=0;h=1}}else{h=1;e=j}else e=j}else e=j;k=Jx(a,k,b)|0;j=e}if(!h){c[p+(n<<2)>>2]=g;e=n+1|0}else{c[o+(f<<2)>>2]=g;e=n;f=f+1|0}i=j;l=Jx(a,l,b)|0;n=e}e=m+-1-i|0;a:do if((e|0)>0){if((e|0)<(n|0))g=0;else{if((e|0)!=(n|0))break;f=c[o>>2]|0;g=f+16|0;e=0;while(1){if((e|0)>=(n|0))break a;m=c[p+(e<<2)>>2]|0;zz(Qx(a,f,m,0,1)|0,134378,176,1)|0;d=(c[g>>2]|0)+236|0;c[d>>2]=(c[d>>2]|0)+1;m=(c[m+16>>2]|0)+236|0;c[m>>2]=(c[m>>2]|0)+1;e=e+1|0}}while(1){if((g|0)>=(n|0)){f=2;break}f=g|1;if((f|0)>=(n|0)){f=2;break}d=c[p+(g<<2)>>2]|0;m=c[p+(f<<2)>>2]|0;zz(Qx(a,d,m,0,1)|0,134378,176,1)|0;d=(c[d+16>>2]|0)+236|0;c[d>>2]=(c[d>>2]|0)+1;m=(c[m+16>>2]|0)+236|0;c[m>>2]=(c[m>>2]|0)+1;g=g+2|0;e=e+-1|0}while(1){if((e|0)<=0)break a;m=c[p>>2]|0;n=c[p+(f<<2)>>2]|0;zz(Qx(a,m,n,0,1)|0,134378,176,1)|0;m=(c[m+16>>2]|0)+236|0;c[m>>2]=(c[m>>2]|0)+1;n=(c[n+16>>2]|0)+236|0;c[n>>2]=(c[n>>2]|0)+1;f=f+1|0;e=e+-1|0}}while(0);C_(p);C_(o);return}function iw(){return Bw(18136,c[4555]|0)|0}function jw(a,b,d){a=a|0;b=b|0;d=d|0;d=uH(16)|0;c[d+12>>2]=0;c[d+8>>2]=c[b+8>>2];return d|0}function kw(a,b,c){a=a|0;b=b|0;c=c|0;C_(b);return}function lw(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;b=c[b>>2]|0;e=c[d>>2]|0;return ((b|0)<(e|0)?-1:(b|0)>(e|0)&1)|0}function mw(a){a=a|0;xw(a)|0;return}function nw(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=l;l=l+16|0;f=d;e=b+16|0;c[f+8>>2]=c[(c[e>>2]|0)+236>>2];a=(nb[c[a>>2]&63](a,f,1)|0)+12|0;c[(c[e>>2]|0)+164>>2]=c[a>>2];c[a>>2]=b;l=d;return}function ow(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;h=l;l=l+16|0;g=h;f=b+16|0;c[g+8>>2]=c[(c[f>>2]|0)+236>>2];g=nb[c[a>>2]&63](a,g,4)|0;if(!g)qa(93240,93243,107,93253);e=g+12|0;d=c[e>>2]|0;if((d|0)==(b|0)){b=c[(c[f>>2]|0)+164>>2]|0;c[e>>2]=b;if(!b)nb[c[a>>2]&63](a,g,2)|0}else{do{a=(c[d+16>>2]|0)+164|0;d=c[a>>2]|0;e=(d|0)!=0}while(e&(d|0)!=(b|0));if(e)c[a>>2]=c[(c[d+16>>2]|0)+164>>2]}l=h;return}function pw(a){a=a|0;var b=0,d=0,e=0,f=0;d=nb[c[a>>2]&63](a,0,128)|0;if(d){f=d+12|0;b=c[f>>2]|0;e=c[(c[b+16>>2]|0)+164>>2]|0;c[f>>2]=e;if(!e)nb[c[a>>2]&63](a,d,2)|0}else b=0;return b|0}function qw(){return Bw(18172,c[4555]|0)|0}function rw(a,b,d){a=a|0;b=b|0;d=d|0;d=uH(12)|0;c[d+8>>2]=c[b+8>>2];return d|0}function sw(a,b,c){a=a|0;b=b|0;c=c|0;C_(b);return}function tw(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;b=c[b>>2]|0;e=c[d>>2]|0;return (b>>>0>e>>>0?1:(b>>>0>>0)<<31>>31)|0}function uw(a){a=a|0;xw(a)|0;return}function vw(a,b){a=a|0;b=b|0;var d=0,e=0;d=l;l=l+16|0;e=d;c[e+8>>2]=b;nb[c[a>>2]&63](a,e,1)|0;l=d;return}function ww(a,b){a=a|0;b=b|0;var d=0,e=0;d=l;l=l+16|0;e=d;c[e+8>>2]=b;nb[c[a>>2]&63](a,e,2)|0;l=d;return}function xw(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0;do if((a|0)!=0?(c[a+24>>2]|0)<=0:0){h=c[a+4>>2]|0;g=h+32|0;b=c[g>>2]|0;if(b){b=ob[b&127](a,2,0,h)|0;if((b|0)<0){b=-1;break}}else b=0;if(c[a+28>>2]|0)Gw(a,0)|0;f=(b|0)==0;if(f){nb[c[c[a+16>>2]>>2]&63](a,0,64)|0;if((Dw(a)|0)>0){b=-1;break}d=a+8|0;b=c[d>>2]|0;if((c[b+12>>2]|0)>0){e=a+12|0;ob[c[e>>2]&127](a,c[b+8>>2]|0,0,h)|0;b=c[d>>2]|0}else e=a+12|0;ob[c[e>>2]&127](a,b,0,h)|0}b=c[a+20>>2]|0;if(b){if(f&(b|0)==1)ob[c[a+12>>2]&127](a,a,0,h)|0}else C_(a);b=c[g>>2]|0;if(!b)b=0;else{ob[b&127](a,6,0,h)|0;b=0}}else b=-1;while(0);return b|0}function yw(a){a=a|0;var b=0,d=0,e=0;e=a+8|0;b=c[e>>2]|0;d=c[b>>2]|0;a:do if(!(d&12)){if(!(d&3)){d=b+8|0;a=c[d>>2]|0;c[d>>2]=0;break}a=zw(a)|0;d=c[e>>2]|0;b=c[d+8>>2]|0;d=b+(c[d+12>>2]<<2)|0;while(1){if(b>>>0>=d>>>0)break a;c[b>>2]=0;b=b+4|0}}else a=c[b+4>>2]|0;while(0);e=c[e>>2]|0;c[e>>2]=c[e>>2]&-4097;c[e+16>>2]=0;c[e+4>>2]=0;return a|0}function zw(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;g=a+8|0;a=c[g>>2]|0;b=c[a>>2]|0;if(!(b&4096)){a:do if(!(b&3)){if(b&112|0){a=c[a+8>>2]|0;break}a=c[a+4>>2]|0;if(!a)a=0;else{while(1){b=a+4|0;d=c[b>>2]|0;if(!d){e=a;break}c[b>>2]=c[d>>2];c[d>>2]=a;a=d}while(1){b=c[e>>2]|0;if(!b)break a;d=c[b+4>>2]|0;if(!d){e=b;continue}while(1){c[b+4>>2]=c[d>>2];c[d>>2]=b;b=c[d+4>>2]|0;if(!b)break;else{f=d;d=b;b=f}}c[e>>2]=d;e=d}}}else{e=c[a+8>>2]|0;f=e+(c[a+12>>2]<<2)|0;b=0;a=0;while(1){if(e>>>0>=f>>>0)break a;d=c[e>>2]|0;if(d){if(!b){b=d;a=d}else c[b>>2]=d;while(1){d=c[b>>2]|0;if(!d)break;else b=d}c[e>>2]=b}e=e+4|0}}while(0);g=c[g>>2]|0;c[g+4>>2]=a;c[g>>2]=c[g>>2]|4096}else a=c[a+4>>2]|0;return a|0}function Aw(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;s=a+8|0;if(c[c[s>>2]>>2]&4096|0)Cw(a,0)|0;r=c[a+4>>2]|0;m=c[r>>2]|0;n=c[r+4>>2]|0;q=r+8|0;u=c[q>>2]|0;o=c[r+20>>2]|0;p=a+20|0;f=c[p>>2]&-32769;c[p>>2]=f;a:do if(!b){if(d&384|0){f=c[s>>2]|0;e=c[f+8>>2]|0;if(!e){e=0;break}if(d&256){e=c[e+4>>2]|0;c[f+4>>2]=e;if(!e){e=0;break}}else c[f+4>>2]=e;if((u|0)<0){e=c[e+8>>2]|0;break}else{e=e+(0-u)|0;break}}if(d&4098|0){e=c[s>>2]|0;if(c[e>>2]&144|0){e=0;break}e=c[e+8>>2]|0;if(!e){e=0;break}else{h=e;t=84;break}}if(!(d&64))e=0;else{i=r+16|0;b:do if((c[i>>2]|0)!=0|(u|0)<0){j=a+12|0;k=(u|0)<0;f=0-u|0;e=c[(c[s>>2]|0)+8>>2]|0;while(1){if(!e)break b;g=c[e>>2]|0;h=c[i>>2]|0;if(h|0){if(k)b=c[e+8>>2]|0;else b=e+f|0;vb[h&127](a,b,r)}if((c[q>>2]|0)>=0){e=g;continue}ob[c[j>>2]&127](a,e,0,r)|0;e=g}}while(0);e=c[s>>2]|0;c[e+4>>2]=0;c[e+8>>2]=0;c[(c[s>>2]|0)+16>>2]=0;e=0}}else{if(d&2049|0){g=r+12|0;e=c[g>>2]|0;h=(d&1|0)==0;if(!(h|(e|0)==0)){e=nb[e&63](a,b,r)|0;if(!e){e=0;break}else f=e}else f=b;do if((u|0)>-1)h=f+u|0;else{e=ob[c[a+12>>2]&127](a,0,12,r)|0;if(e|0){c[e+8>>2]=f;h=e;break}if(!(c[g>>2]|0)){e=0;break a}e=c[r+16>>2]|0;if(h|(e|0)==0){e=0;break a}vb[e&127](a,f,r);e=0;break a}while(0);g=c[s>>2]|0;e=c[g>>2]|0;do if(!(e&128)){if(!(e&16))if(!(e&32)){t=51;break}else{t=48;break}f=c[g+4>>2]|0;e=(f|0)!=0;if(!(d&8192)){if(!e){t=48;break}if((f|0)==(c[g+8>>2]|0)){t=48;break}r=f+4|0;a=c[r>>2]|0;c[h+4>>2]=a;c[a>>2]=h;c[h>>2]=f;c[r>>2]=h;break}else{if(!e){t=51;break}e=c[f>>2]|0;if(!e){t=51;break}c[h>>2]=e;c[e+4>>2]=h;c[h+4>>2]=f;c[f>>2]=h;break}}else if(!(d&8192))t=48;else t=51;while(0);if((t|0)==48){e=c[g+8>>2]|0;c[h>>2]=e;if(!e)e=h;else c[h+4>>2]=c[e+4>>2];c[e+4>>2]=h;c[(c[s>>2]|0)+8>>2]=h}else if((t|0)==51){f=g+8|0;e=c[f>>2]|0;if(!e){c[f>>2]=h;e=h}else{r=e+4|0;c[c[r>>2]>>2]=h;c[h+4>>2]=c[r>>2]}c[e+4>>2]=h;c[h>>2]=0}e=c[s>>2]|0;f=e+16|0;g=c[f>>2]|0;if((g|0)>-1)c[f>>2]=g+1;c[e+4>>2]=h;if((u|0)<0){e=c[h+8>>2]|0;break}else{e=h+(0-u)|0;break}}h=c[s>>2]|0;do if(!(d&512)){e=c[h+4>>2]|0;if(e|0){if((u|0)<0)g=c[e+8>>2]|0;else g=e+(0-u)|0;if((g|0)==(b|0))break}e=b+m|0;if((n|0)<0){b=c[e>>2]|0;t=68}else{b=e;t=68}}else t=68;while(0);if((t|0)==68){g=(u|0)<0;i=(n|0)<0;j=(o|0)==0;k=(n|0)<1;l=0-u|0;e=h+8|0;do{e=c[e>>2]|0;if(!e){e=0;break a}if(g)f=c[e+8>>2]|0;else f=e+l|0;f=f+m|0;if(i)f=c[f>>2]|0;do if(j)if(k){f=a$(b,f)|0;break}else{f=K0(b,f,n)|0;break}else f=ob[o&127](a,b,f,r)|0;while(0)}while((f|0)!=0);f=c[p>>2]|0}c[p>>2]=f|32768;if(!(d&4098)){do if(!(d&8)){f=c[s>>2]|0;if(!(d&16)){c[f+4>>2]=e;break}if((e|0)==(c[f+8>>2]|0)){c[f+4>>2]=0;e=0;break a}else{e=e+4|0;t=108;break}}else{f=c[s>>2]|0;t=108}while(0);if((t|0)==108){e=c[e>>2]|0;c[f+4>>2]=e;if(!e){e=0;break}}if((u|0)<0){e=c[e+8>>2]|0;break}else{e=e+(0-u)|0;break}}else{h=e;t=84}}while(0);if((t|0)==84){e=c[h>>2]|0;if(e){c[e+4>>2]=c[h+4>>2];e=c[h>>2]|0}f=(c[s>>2]|0)+8|0;g=c[f>>2]|0;if((h|0)==(g|0)){c[f>>2]=e;e=c[(c[s>>2]|0)+8>>2]|0;if(e|0)c[e+4>>2]=c[h+4>>2]}else{f=h+4|0;c[c[f>>2]>>2]=e;e=g+4|0;if((h|0)==(c[e>>2]|0))c[e>>2]=c[f>>2]}e=c[s>>2]|0;f=e+4|0;if((h|0)==(c[f>>2]|0))g=c[h>>2]|0;else g=0;c[f>>2]=g;t=e+16|0;c[t>>2]=(c[t>>2]|0)+-1;if((u|0)<0)e=c[h+8>>2]|0;else e=h+(0-u)|0;f=c[r+16>>2]|0;if(!((d&2|0)==0|(f|0)==0))vb[f&127](a,e,r);if((c[q>>2]|0)<0)ob[c[a+12>>2]&127](a,h,0,r)|0}return e|0}function Bw(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0;j=l;l=l+16|0;g=j;a:do if((a|0)!=0&(b|0)!=0?(f=B_(40)|0,(f|0)!=0):0){c[f>>2]=0;c[f+16>>2]=0;c[f+4>>2]=0;Jw(f,a,0)|0;d=f+20|0;i=a+32|0;c[d>>2]=0;c[d+4>>2]=0;c[d+8>>2]=0;c[d+12>>2]=0;c[d+16>>2]=0;d=c[i>>2]|0;do if(d){c[g>>2]=0;d=ob[d&127](f,1,g,a)|0;if((d|0)>=0)if(d){e=c[g>>2]|0;if(e|0)if(!(c[b+4>>2]&c[e>>2])){d=f;h=12;break}else{d=f;break}d=a+28|0;if(!(c[d>>2]|0)){d=f;h=12}else{C_(f);e=ob[c[d>>2]&127](0,0,40,a)|0;if(!e){d=0;break a}c[e>>2]=0;c[e+16>>2]=0;c[e+4>>2]=0;Jw(e,a,0)|0;c[e+20>>2]=1;c[e+24>>2]=0;c[e+32>>2]=0;c[e+28>>2]=0;d=e;f=e;h=11}}else{d=f;h=11}else{d=f;h=12}}else{d=f;h=11}while(0);if((h|0)==11){e=ob[c[d+12>>2]&127](d,0,28,a)|0;c[g>>2]=e;if(!e){d=f;h=12}else{c[e>>2]=c[b+4>>2];g=e+4|0;c[g>>2]=0;c[g+4>>2]=0;c[g+8>>2]=0;c[g+12>>2]=0;c[g+16>>2]=0;c[g+20>>2]=0}}if((h|0)==12){C_(d);d=0;break}c[d+8>>2]=e;c[d>>2]=c[b>>2];c[d+16>>2]=b;e=c[i>>2]|0;if(e)ob[e&127](d,5,f,a)|0}else d=0;while(0);l=j;return d|0}function Cw(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0;f=c[c[a+16>>2]>>2]|0;j=a+8|0;g=c[j>>2]|0;h=c[g>>2]|0;d=h&4096;if(!b)if(!d)b=-1;else{e=d;b=c[g+4>>2]|0;i=5}else if(!(c[g+16>>2]|0)){e=0;i=5}else b=-1;a:do if((i|0)==5){c[g>>2]=h&-4097;if(!(h&3)){d=g+4|0;if(!(h&12)){c[d>>2]=0;d=g+8|0}c[d>>2]=b;if(e|0){b=0;break}c[(c[j>>2]|0)+16>>2]=-1;b=0;break}c[g+4>>2]=0;if(!e){c[g+16>>2]=0;while(1){if(!b){b=0;break a}j=c[b>>2]|0;nb[f&63](a,b,32)|0;b=j}}e=c[g+8>>2]|0;a=e+(c[g+12>>2]<<2)|0;while(1){if(e>>>0>=a>>>0){b=0;break a}d=c[e>>2]|0;if(d){c[e>>2]=b;b=c[d>>2]|0;c[d>>2]=0}e=e+4|0}}while(0);return b|0}function Dw(a){a=a|0;var b=0,d=0,e=0;b=a+8|0;d=c[b>>2]|0;if(c[d>>2]&4096){Cw(a,0)|0;d=c[b>>2]|0}e=d+16|0;a=c[e>>2]|0;do if((a|0)<0){b=c[d>>2]|0;if(b&12|0){a=Ew(c[d+4>>2]|0)|0;c[e>>2]=a;break}if(b&112){a=0;b=d+8|0;while(1){b=c[b>>2]|0;if(!b)break;a=a+1|0}c[e>>2]=a}}while(0);return a|0}function Ew(a){a=a|0;var b=0;if(!a)return 0;else{b=Ew(c[a+4>>2]|0)|0;return b+1+(Ew(c[a>>2]|0)|0)|0}return 0}function Fw(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0;G=l;l=l+128|0;z=G+120|0;r=G;F=a+8|0;e=c[F>>2]|0;if(c[e>>2]&4096){Cw(a,0)|0;e=c[F>>2]|0}E=c[a+4>>2]|0;A=c[E>>2]|0;B=c[E+4>>2]|0;x=E+8|0;D=c[x>>2]|0;C=c[E+20>>2]|0;t=a+20|0;c[t>>2]=c[t>>2]&-32769;h=c[e+4>>2]|0;a:do if(!b)if((d&448|0)==0|(h|0)==0)e=0;else{if(!(d&64)){b:do if(!(d&256)){e=h;while(1){f=e+4|0;g=c[f>>2]|0;if(!g)break b;c[f>>2]=c[g>>2];c[g>>2]=e;e=g}}else{e=h;while(1){f=c[e>>2]|0;if(!f)break b;a=f+4|0;c[e>>2]=c[a>>2];c[a>>2]=e;e=f}}while(0);c[(c[F>>2]|0)+4>>2]=e;if((D|0)<0){e=c[e+8>>2]|0;break}else{e=e+(0-D)|0;break}}b=E+16|0;if((c[b>>2]|0)!=0|(D|0)<0){j=a+12|0;k=(D|0)<0;i=0-D|0;e=h;do{h=e;while(1){e=h+4|0;f=c[e>>2]|0;if(!f)break;c[e>>2]=c[f>>2];c[f>>2]=h;h=f}e=c[h>>2]|0;f=c[b>>2]|0;if(f|0){if(k)g=c[h+8>>2]|0;else g=h+i|0;vb[f&127](a,g,E)}if((c[x>>2]|0)<0)ob[c[j>>2]&127](a,h,0,E)|0}while((e|0)!=0);e=c[F>>2]|0}c[e+16>>2]=0;c[e+4>>2]=0;e=0}else{y=a+16|0;u=(d&4098|0)==0;c:do if(u|(c[(c[y>>2]|0)+4>>2]|0)!=8)v=45;else{k=(B|0)<0;e=b+A|0;if(k)e=c[e>>2]|0;i=(C|0)==0;j=(B|0)<1;g=nb[c[a>>2]&63](a,b,4)|0;while(1){if(!g){v=45;break c}f=g+A|0;if(k)f=c[f>>2]|0;do if(i)if(j){f=a$(e,f)|0;break}else{f=K0(e,f,B)|0;break}else f=ob[C&127](a,e,f,E)|0;while(0);if(f|0){v=45;break c}if((g|0)==(b|0))break;g=nb[c[a>>2]&63](a,g,8)|0}h=c[(c[F>>2]|0)+4>>2]|0;c[z>>2]=c[h+4>>2];c[z+4>>2]=c[h>>2];e=z;v=180}while(0);d:do if((v|0)==45){do if(!(d&2565)){if(d&32|0){if((D|0)<0)g=c[b+8>>2]|0;else g=b+(0-D)|0;e=g+A|0;if((B|0)<0)f=c[e>>2]|0;else f=e;if(!h){e=b;f=z;h=z;v=198;break}else{e=b;s=f;j=b;v=64;break}}if(h){if((D|0)<0)e=c[h+8>>2]|0;else e=h+(0-D)|0;if((e|0)!=(b|0)){f=b+A|0;if((B|0)<0){g=b;e=0;s=c[f>>2]|0;j=0;v=64}else{g=b;e=0;s=f;j=0;v=64}}else{e=0;g=b;f=z;k=z;j=0;v=141}}else{e=0;g=b;f=z;h=z;v=198}}else{if(!(d&512)){e=b+A|0;if((B|0)<0)f=c[e>>2]|0;else f=e}else f=b;if(!h){e=0;g=b;f=z;h=z;v=198}else{g=b;e=0;s=f;j=0;v=64}}while(0);e:do if((v|0)==64){f:do if((c[(c[y>>2]|0)+4>>2]|0)==4?(q=c[(c[F>>2]|0)+24>>2]|0,!((d&516|0)==0|(q|0)==0)):0){b=(D|0)<0;m=(B|0)<0;n=(C|0)==0;o=(B|0)<1;p=0-D|0;k=0;f=h;while(1){if((k|0)>=(q|0)){f=z;k=z;m=0;break}if(b)i=c[f+8>>2]|0;else i=f+p|0;i=i+A|0;if(m)i=c[i>>2]|0;do if(n)if(o){i=a$(s,i)|0;break}else{i=K0(s,i,B)|0;break}else i=ob[C&127](a,s,i,E)|0;while(0);if(!i){v=80;break}c[r+(k<<2)>>2]=i;f=c[((i|0)<0?f+4|0:f)>>2]|0;if(!f){e=0;break a}else k=k+1|0}if((v|0)==80)if(b){e=c[f+8>>2]|0;break a}else{e=f+p|0;break a}while(1){if((m|0)>=(q|0))break f;do if((c[r+(m<<2)>>2]|0)<0){i=h+4|0;b=c[i>>2]|0;if((c[r+((m|1)<<2)>>2]|0)<0){c[i>>2]=c[b>>2];c[b>>2]=h;c[f+4>>2]=b;f=b;h=k;i=b+4|0;break}else{c[k>>2]=b;c[f+4>>2]=h;f=h;h=b;i=b;break}}else{i=c[h>>2]|0;if((c[r+((m|1)<<2)>>2]|0)>0){p=i+4|0;c[h>>2]=c[p>>2];c[p>>2]=h;c[k>>2]=i;h=i;break}else{c[f+4>>2]=i;c[k>>2]=h;f=i;i=i+4|0;break}}while(0);k=h;m=m+2|0;h=c[i>>2]|0}}else{f=z;k=z}while(0);n=(D|0)<0;o=(B|0)<0;p=(C|0)!=0;q=(B|0)<1;r=0-D|0;i=h;g:while(1){h=i;while(1){if(n)i=c[h+8>>2]|0;else i=h+r|0;i=i+A|0;if(o)i=c[i>>2]|0;do if(!p)if(q){i=a$(s,i)|0;break}else{i=K0(s,i,B)|0;break}else i=ob[C&127](a,s,i,E)|0;while(0);if(!i){v=140;break g}if((i|0)>=0)break;b=h+4|0;m=c[b>>2]|0;if(!m){v=121;break g}if(n)i=c[m+8>>2]|0;else i=m+r|0;i=i+A|0;if(o)i=c[i>>2]|0;do if(!p)if(q){i=a$(s,i)|0;break}else{i=K0(s,i,B)|0;break}else i=ob[C&127](a,s,i,E)|0;while(0);if((i|0)>=0){v=118;break}c[b>>2]=c[m>>2];c[m>>2]=h;c[f+4>>2]=m;h=c[m+4>>2]|0;if(!h){f=m;h=k;v=198;break e}else f=m}if((v|0)==118){v=0;if(!i){v=119;break}c[k>>2]=m;c[f+4>>2]=h;i=c[m>>2]|0;if(!i){f=h;h=m;v=198;break e}else{f=h;k=m;continue}}b=c[h>>2]|0;if(!b){v=139;break}if(n)i=c[b+8>>2]|0;else i=b+r|0;i=i+A|0;if(o)i=c[i>>2]|0;do if(!p)if(q){i=a$(s,i)|0;break}else{i=K0(s,i,B)|0;break}else i=ob[C&127](a,s,i,E)|0;while(0);if((i|0)>0){i=b+4|0;c[h>>2]=c[i>>2];c[i>>2]=h;c[k>>2]=b;i=c[b>>2]|0;if(!i){h=b;v=198;break e}else{k=b;continue}}if(!i){v=137;break}c[f+4>>2]=b;c[k>>2]=h;i=c[b+4>>2]|0;if(!i){f=b;v=198;break e}else{f=b;k=h}}if((v|0)==119){c[f+4>>2]=h;f=h;h=m;v=141;break}else if((v|0)==121){c[f+4>>2]=h;f=h;h=k;v=198;break}else if((v|0)==137){c[k>>2]=h;k=h;h=b;v=141;break}else if((v|0)==139){c[k>>2]=h;v=198;break}else if((v|0)==140)if(!h){h=k;v=198;break}else{v=141;break}}while(0);do if((v|0)==141){c[t>>2]=c[t>>2]|32768;i=h+4|0;c[k>>2]=c[i>>2];c[f+4>>2]=c[h>>2];if(!(d&516)){if(d&8|0){c[i>>2]=c[z>>2];c[h>>2]=0;c[z>>2]=h;v=169;break}if(d&16|0){v=z+4|0;c[h>>2]=c[v>>2];c[i>>2]=0;c[v>>2]=h;v=175;break}if(!u){e=f;v=180;break d}if(d&2049|0){if(c[(c[y>>2]|0)+4>>2]&4|0){e=h;break}c[i>>2]=0;e=z+4|0;c[h>>2]=c[e>>2];c[e>>2]=h;e=h;v=205;break}if(!(d&32)){e=0;break a}if(!(c[(c[y>>2]|0)+4>>2]&4)){c[e+4>>2]=0;x=z+4|0;c[e>>2]=c[x>>2];c[x>>2]=j;e=(c[F>>2]|0)+16|0;c[e>>2]=(c[e>>2]|0)+1;e=h;break}e=c[E+16>>2]|0;if(e|0)vb[e&127](a,g,E);if((c[x>>2]|0)<0){ob[c[a+12>>2]&127](a,j,0,E)|0;e=h}else e=h}else e=h}else if((v|0)==198){c[f+4>>2]=0;c[h>>2]=0;if(!(d&8))if(!(d&16)){if(d&516|0){e=f;break d}if(!(d&2049)){if(!(d&32)){g=0;e=f;break d}x=(c[F>>2]|0)+16|0;c[x>>2]=(c[x>>2]|0)+1}else{e=0;v=205}}else v=175;else v=169}while(0);if((v|0)==169){h=z+4|0;e=c[h>>2]|0;if(!e){e=f;break}while(1){f=e+4|0;g=c[f>>2]|0;if(!g)break;c[f>>2]=c[g>>2];c[g>>2]=e;e=g}c[h>>2]=c[e>>2]}else if((v|0)==175){e=c[z>>2]|0;if(!e){e=f;break}while(1){f=c[e>>2]|0;if(!f)break;x=f+4|0;c[e>>2]=c[x>>2];c[x>>2]=e;e=f}c[z>>2]=c[e+4>>2]}else if((v|0)==205){i=E+12|0;h=c[i>>2]|0;j=(d&1|0)==0;if(!(j|(h|0)==0))g=nb[h&63](a,g,E)|0;do if(g){if((D|0)>-1){e=g+D|0;v=215;break}e=ob[c[a+12>>2]&127](a,0,12,E)|0;if(e|0){c[e+8>>2]=g;break}if((c[i>>2]|0)!=0?(w=c[E+16>>2]|0,!(j|(w|0)==0)):0){vb[w&127](a,g,E);v=215}else v=215}else v=215;while(0);if((v|0)==215)if(!e){e=f;break}f=(c[F>>2]|0)+16|0;g=c[f>>2]|0;if((g|0)>-1)c[f>>2]=g+1}c[e+4>>2]=c[z>>2];c[e>>2]=c[z+4>>2];h:do if(!((d&516|0)==0?1:(c[(c[y>>2]|0)+4>>2]&8|0)==0)){m=(D|0)<0;if(m)f=c[e+8>>2]|0;else f=e+(0-D)|0;n=(B|0)<0;f=f+A|0;if(n)f=c[f>>2]|0;j=(C|0)==0;k=(B|0)<1;b=0-D|0;while(1){i=e+4|0;g=c[i>>2]|0;if(!g)break h;while(1){h=c[g>>2]|0;if(!h)break;z=h+4|0;c[g>>2]=c[z>>2];c[z>>2]=g;g=h}c[i>>2]=g;if(m)h=c[g+8>>2]|0;else h=g+b|0;h=h+A|0;if(n)h=c[h>>2]|0;do if(j)if(k){h=a$(f,h)|0;break}else{h=K0(f,h,B)|0;break}else h=ob[C&127](a,f,h,E)|0;while(0);if(h|0)break h;c[i>>2]=c[g>>2];c[g>>2]=e;e=g}}while(0);c[(c[F>>2]|0)+4>>2]=e;if((D|0)<0){e=c[e+8>>2]|0;break a}else{e=e+(0-D)|0;break a}}while(0);if((v|0)==180){if((D|0)<0)g=c[h+8>>2]|0;else g=h+(0-D)|0;f=c[E+16>>2]|0;if(!((d&2|0)==0|(f|0)==0))vb[f&127](a,g,E);if((c[x>>2]|0)<0)ob[c[a+12>>2]&127](a,h,0,E)|0;a=(c[F>>2]|0)+16|0;E=c[a>>2]|0;c[a>>2]=(E|0)<1?-1:E+-1|0}do{f=e+4|0;e=c[f>>2]|0}while((e|0)!=0);c[f>>2]=c[z>>2];c[(c[F>>2]|0)+4>>2]=c[z+4>>2];e=d&2|0?g:0}while(0);l=G;return e|0}function Gw(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;if(c[c[a+8>>2]>>2]&4096|0)Cw(a,0)|0;f=(b|0)!=0;if(f){if(c[c[b+8>>2]>>2]&4096|0)Cw(b,0)|0;if((c[b+16>>2]|0)==(c[a+16>>2]|0)){d=b;e=7}else b=0}else{d=0;e=7}a:do if((e|0)==7){while(1){if(!d)break;if((d|0)==(a|0)){b=0;break a}d=c[d+28>>2]|0;e=7}d=a+28|0;e=c[d>>2]|0;if(e|0){g=e+24|0;c[g>>2]=(c[g>>2]|0)+-1}c[a+32>>2]=0;c[d>>2]=0;if(f){c[d>>2]=b;c[a>>2]=25;g=b+24|0;c[g>>2]=(c[g>>2]|0)+1;break}else{c[a>>2]=c[c[a+16>>2]>>2];b=e;break}}while(0);return b|0}function Hw(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;a:do if(!(d&99)){if((d&516|0)==0?(e=c[(c[a+16>>2]|0)+4>>2]|0,!((d&384|0)!=0&(e&12|0)==0)):0){if(e&12|0){if(!(d&408)){e=0;break}o=(d&136|0)!=0;p=(d&272|0)!=0;l=0;f=0;e=0;n=a;while(1){if(!n)break;m=nb[c[c[n+16>>2]>>2]&63](n,b,d)|0;do if(!m)g=l;else{h=c[n+4>>2]|0;i=c[h+4>>2]|0;j=c[h+20>>2]|0;g=m+(c[h>>2]|0)|0;if((i|0)<0)k=c[g>>2]|0;else k=g;if(e|0){do if(!j)if((i|0)<1){g=a$(k,f)|0;break}else{g=K0(k,f,i)|0;break}else g=ob[j&127](n,k,f,h)|0;while(0);if(!(o&(g|0)<0|p&(g|0)>0)){g=l;break}}g=n;f=k;e=m}while(0);l=g;n=c[n+28>>2]|0}c[a+32>>2]=l;break}if(!(d&24)){e=0;break}j=a+32|0;f=c[j>>2]|0;if(f){e=c[(c[f+4>>2]|0)+8>>2]|0;g=c[(c[f+8>>2]|0)+4>>2]|0;if((e|0)<0)e=c[g+8>>2]|0;else e=g+(0-e)|0;if((e|0)==(b|0))e=b;else{f=a;h=32}}else{f=a;h=32}do if((h|0)==32){while(1){if(!f){h=33;break}e=nb[c[c[f+16>>2]>>2]&63](f,b,4)|0;if(e|0){h=36;break}f=c[f+28>>2]|0;h=32}if((h|0)==33){c[j>>2]=0;e=0;break a}else if((h|0)==36){c[j>>2]=f;break}}while(0);i=(d<<4&128^128)+128|0;e=nb[c[c[f+16>>2]>>2]&63](f,e,d)|0;while(1){h=f+16|0;while(1){if(!e)break;else g=a;while(1){if((g|0)==(f|0))break a;if(nb[c[c[g+16>>2]>>2]&63](g,e,4)|0)break;g=c[g+28>>2]|0}e=nb[c[c[h>>2]>>2]&63](f,e,d)|0}f=c[f+28>>2]|0;c[j>>2]=f;if(!f){e=0;break a}e=nb[c[c[f+16>>2]>>2]&63](f,0,i)|0}}else f=a;while(1){if(!f){f=0;e=0;break}e=nb[c[c[f+16>>2]>>2]&63](f,b,d)|0;if(e|0)break;f=c[f+28>>2]|0}c[a+32>>2]=f}else e=nb[c[c[a+16>>2]>>2]&63](a,b,d)|0;while(0);return e|0}function Iw(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;g=a+32|0;f=nb[c[a>>2]&63](a,0,128)|0;do{if(!f){e=0;break}h=c[g>>2]|0;e=f;f=nb[c[a>>2]&63](a,f,8)|0;e=nb[b&63]((h|0)==0?a:h,e,d)|0}while((e|0)>=0);return e|0}function Jw(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;f=a+4|0;n=c[f>>2]|0;a:do if(n)if(b){m=c[c[a+16>>2]>>2]|0;g=a+8|0;if(c[c[g>>2]>>2]&4096|0)Cw(a,0)|0;e=c[n+32>>2]|0;if(e|0?(ob[e&127](a,3,b,n)|0)<0:0){b=0;break}c[f>>2]=b;e=c[b+28>>2]|0;c[a+12>>2]=(e|0)==0?52:e;e=c[c[g>>2]>>2]|0;if(!(e&112)){do if(!(e&2))if(!(e&3))if(!(d&1))break;else{b=n;break a}else if((d&3|0)==3){b=n;break a}else break;else if(d&2|0){b=n;break a}while(0);h=zw(a)|0;e=c[g>>2]|0;l=c[e>>2]|0;c[e>>2]=l&-4097;c[e+4>>2]=0;c[e+16>>2]=0;b:do if(l&3|0){l=c[e+8>>2]|0;f=l+(c[e+12>>2]<<2)|0;e=l;while(1){if(e>>>0>=f>>>0)break b;c[e>>2]=0;e=e+4|0}}while(0);i=(d&2|0)==0;j=b+8|0;k=b+4|0;l=b+24|0;while(1){if(!h){b=n;break a}d=c[h>>2]|0;if(i){e=c[j>>2]|0;if((e|0)<0)e=c[h+8>>2]|0;else e=h+(0-e)|0;g=c[k>>2]|0;e=e+(c[b>>2]|0)|0;if((g|0)<0)e=c[e>>2]|0;f=c[l>>2]|0;if(!f)e=Lw(0,e,g)|0;else e=nb[f&63](a,e,b)|0;c[h+4>>2]=e}nb[m&63](a,h,32)|0;h=d}}else b=n}else b=n;else{c[f>>2]=b;n=c[b+28>>2]|0;c[a+12>>2]=(n|0)==0?52:n}while(0);return b|0}function Kw(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;a=(c|0)==0;do if(!b)if(a)a=0;else a=B_(c)|0;else if(a){C_(b);a=0;break}else{a=E_(b,c)|0;break}while(0);return a|0}function Lw(b,c,e){b=b|0;c=c|0;e=e|0;var f=0,g=0,h=0;g=c;if((e|0)>=1){h=c+e+-1|0;g=(h>>>0>>0?c:h)+(1-g)&-2;f=c;while(1){if(f>>>0>=h>>>0)break;b=O(((d[f>>0]|0)<<8)+b+(d[f+1>>0]|0)|0,17109811)|0;f=f+2|0}f=c+g|0;if(f>>>0>h>>>0)c=e;else{c=e;b=O(((d[f>>0]|0)<<8)+b|0,17109811)|0}}else{while(1){f=a[c>>0]|0;if(!(f<<24>>24))break;h=a[c+1>>0]|0;e=O(((f&255)<<8)+b+(h&255)|0,17109811)|0;b=e;c=c+(h<<24>>24?2:1)|0}c=c-g|0}return O(b+c|0,17109811)|0}function Mw(a){a=a|0;var b=0;b=c[46164]|0;c[46164]=a;return b|0}function Nw(a){a=a|0;var b=0;b=c[46165]|0;c[46165]=a;return b|0}function Ow(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;e=l;l=l+16|0;f=e;c[f>>2]=d;d=Pw(a,b,f)|0;l=e;return d|0}function Pw(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0;g=l;l=l+16|0;e=g;f=(a|0)==3;h=f?c[46167]|0:(a|0)==2?1:a;c[46167]=h;i=c[46168]|0;c[46168]=i>>>0>h>>>0?i:h;do if(h>>>0<(c[46165]|0)>>>0){a=c[46166]|0;if(!a){a=k3()|0;c[46166]=a;if(!a){a=1;break}}if(!f){n3(a)|0;a=c[46166]|0}q0(a,b,d)|0;a=0}else{if(c[46164]|0){Qw(a,b,d);a=0;break}if(f)a=c[15686]|0;else{i=c[15686]|0;c[e>>2]=(a|0)==1?93267:93273;f1(i,93281,e)|0;a=i}q0(a,b,d)|0;a=0}while(0);l=g;return a|0}function Qw(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;if((c[46169]|0)==0?(f=B_(c[4564]|0)|0,c[46169]=f,(f|0)==0):0)C1(93286,c[15686]|0)|0;else e=4;do if((e|0)==4){if((a|0)!=3){kb[c[46164]&63]((a|0)==1?93267:93273)|0;kb[c[46164]&63](93945)|0}while(1){a=p0(c[46169]|0,c[4564]|0,b,d)|0;e=c[4564]|0;if((a|0)>-1&(a|0)<(e|0)){e=7;break}e=e<<1;f=a+1|0;f=(e|0)>(f|0)?e:f;c[4564]=f;if(!(E_(c[46169]|0,f)|0)){e=9;break}}if((e|0)==7){kb[c[46164]&63](c[46169]|0)|0;break}else if((e|0)==9){C1(93286,c[15686]|0)|0;break}}while(0);return}function Rw(a,b){a=a|0;b=b|0;var d=0,e=0;d=l;l=l+16|0;e=d;c[e>>2]=b;Pw(1,a,e)|0;l=d;return}function Sw(b,d,e){b=b|0;d=d|0;e=e|0;var f=0;if(!e){e=(d|0)==0?1024:d;d=e;e=B_(e)|0;f=1}else f=0;c[b+12>>2]=f;c[b>>2]=e;c[b+8>>2]=e+d;c[b+4>>2]=e;a[e>>0]=0;return}function Tw(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0;h=a+8|0;f=c[a>>2]|0;g=(c[h>>2]|0)-f|0;e=g<<1;g=g+b|0;e=g>>>0>e>>>0?g:e;g=a+4|0;b=f;f=(c[g>>2]|0)-f|0;d=a+12|0;if(!(c[d>>2]|0)){i=B_(e)|0;E3(i|0,b|0,f|0)|0;c[d>>2]=1;b=i}else b=E_(b,e)|0;c[a>>2]=b;c[g>>2]=b+f;c[h>>2]=b+e;return 0}function Uw(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;f=a+4|0;e=c[f>>2]|0;if((e+d|0)>>>0>(c[a+8>>2]|0)>>>0){Tw(a,d)|0;e=c[f>>2]|0}E3(e|0,b|0,d|0)|0;c[f>>2]=(c[f>>2]|0)+d;return d|0}function Vw(a,b){a=a|0;b=b|0;return Uw(a,b,V_(b)|0)|0}function Ww(a){a=a|0;if(c[a+12>>2]|0)C_(c[a>>2]|0);return}function Xw(a){a=a|0;var b=0,e=0;b=a+4|0;e=c[b>>2]|0;if(e>>>0>(c[a>>2]|0)>>>0){c[b>>2]=e+-1;a=d[e>>0]|0}else a=-1;return a|0}function Yw(a,b,d){a=a|0;b=b|0;d=d|0;Pz(c[46171]|0,c[b+8>>2]|0)|0;Pz(c[46171]|0,c[b+12>>2]|0)|0;My(c[46171]|0,b);return}function Zw(a,b){a=a|0;b=b|0;var c=0;c=xz(a,93334,0)|0;if((b|0)!=0&(c|0)==0){_w(a);c=xz(a,93334,0)|0}return c|0}function _w(a){a=a|0;var b=0,c=0,d=0;d=ez(a)|0;iB(d,d,104,0,1)|0;c=Ry(d)|0;while(1){if(!c)break;ax(a,c);b=Dx(d,c)|0;while(1){if(!b)break;bx(a,b);b=Fx(d,b)|0}c=Sy(d,c)|0}return}function $w(b){b=b|0;var c=0;c=b+24|0;a[c>>0]=a[c>>0]|64;gx(b);c=xA(b)|0;dx((c|0)==0?b:c,b);return}function ax(a,b){a=a|0;b=b|0;var d=0;d=cx(b)|0;if(!((d|0)!=0?(c[d+8>>2]|0)!=0:0))dx(a,b);return}function bx(a,b){a=a|0;b=b|0;var d=0;d=cx(b)|0;if(!((d|0)!=0?(c[d+8>>2]|0)!=0:0))dx(a,b);return}function cx(a){a=a|0;return xz(a,93322,0)|0}function dx(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=zz(b,93322,16,0)|0;f=ex(a,c[b>>2]&3)|0;e=d+8|0;a:do if(!(c[e>>2]|0)){a=ez(a)|0;c[e>>2]=ex(a,c[b>>2]&3)|0;a=fx(b)|0;d=d+12|0;c[d>>2]=Ly(dz(b)|0,((a|0)>4?a:4)<<2)|0;a=nb[c[f>>2]&63](f,0,128)|0;while(1){if(!a)break a;e=dz(b)|0;e=Nz(e,c[a+12>>2]|0)|0;c[(c[d>>2]|0)+(c[a+16>>2]<<2)>>2]=e;a=nb[c[f>>2]&63](f,a,8)|0}}while(0);return}function ex(a,b){a=a|0;b=b|0;var d=0,e=0;e=l;l=l+16|0;d=e;a=Zw(a,0)|0;a:do if(!a)a=0;else switch(b|0){case 0:{a=c[a+16>>2]|0;break a}case 1:{a=c[a+8>>2]|0;break a}case 2:case 3:{a=c[a+12>>2]|0;break a}default:{c[d>>2]=b;Ow(1,93347,d)|0;a=0;break a}}while(0);l=e;return a|0}function fx(a){a=a|0;var b=0;b=ez(dz(a)|0)|0;a=ex(b,c[a>>2]&3)|0;if(!a)a=0;else a=Dw(a)|0;return a|0}function gx(a){a=a|0;var b=0,d=0,e=0,f=0;d=zz(a,93334,20,0)|0;e=d+8|0;c[e>>2]=BA(a,18260,c[4563]|0)|0;f=d+12|0;c[f>>2]=BA(a,18260,c[4563]|0)|0;d=d+16|0;c[d>>2]=BA(a,18260,c[4563]|0)|0;b=xA(a)|0;if(!b){b=c[46170]|0;if(!((b|0)==0|(b|0)==(a|0))){b=Zw(b,0)|0;hx(c[b+8>>2]|0,c[e>>2]|0,a,1);hx(c[b+12>>2]|0,c[f>>2]|0,a,2);hx(c[b+16>>2]|0,c[d>>2]|0,a,0)}}else{a=Zw(b,0)|0;Gw(c[e>>2]|0,c[a+8>>2]|0)|0;Gw(c[f>>2]|0,c[a+12>>2]|0)|0;Gw(c[d>>2]|0,c[a+16>>2]|0)|0}return}function hx(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0;g=nb[c[b>>2]&63](b,0,128)|0;while(1){if(!g)break;h=ix(e,c[g+8>>2]|0,c[g+12>>2]|0,c[g+16>>2]|0,f)|0;a[h+22>>0]=a[g+22>>0]|0;a[h+21>>0]=a[g+21>>0]|0;nb[c[d>>2]&63](d,h,1)|0;g=nb[c[b>>2]&63](b,g,8)|0}return}function ix(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0;h=Ly(b,24)|0;a[h+20>>0]=g;c[h+8>>2]=Nz(b,d)|0;c[h+12>>2]=Nz(b,e)|0;c[h+16>>2]=f;return h|0}function jx(a,b){a=a|0;b=b|0;var d=0,e=0;d=l;l=l+32|0;e=d;c[e+8>>2]=b;b=nb[c[a>>2]&63](a,e,4)|0;l=d;return b|0}function kx(a,b){a=a|0;b=b|0;var c=0;c=Gw(a,0)|0;b=jx(a,b)|0;Gw(a,c)|0;return b|0}function lx(a,b){a=a|0;b=b|0;a=cx(a)|0;if(!a)a=0;else a=jx(c[a+8>>2]|0,b)|0;return a|0}function mx(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0;h=l;l=l+16|0;g=h;if(!b){b=c[46170]|0;if(!b){a[g>>0]=a[18296]|0;a[g+1>>0]=a[18297]|0;a[g+2>>0]=a[18298]|0;a[g+3>>0]=a[18299]|0;b=Wx(0,g,0)|0;c[46170]=b}}if(!f)b=ox(b,d,e)|0;else b=nx(b,d,e,f)|0;l=h;return b|0}function nx(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0;i=ez(a)|0;Zw(a,1)|0;g=ex(a,b)|0;f=kx(g,d)|0;a:do if(!f){f=jx(g,d)|0;if(f|0){f=ix(a,d,e,c[f+16>>2]|0,b)|0;nb[c[g>>2]&63](g,f,1)|0;h=16;break}g=ex(i,b)|0;f=ix(a,d,e,Dw(g)|0,b)|0;nb[c[g>>2]&63](g,f,1)|0;switch(b|0){case 0:{iB(i,i,57,f,1)|0;h=16;break a}case 1:{d=Ry(i)|0;while(1){if(!d){h=16;break a}px(a,d,f);d=Sy(i,d)|0}}case 2:case 3:{g=Ry(i)|0;while(1){if(!g){h=16;break a}d=Dx(i,g)|0;while(1){if(!d)break;px(a,d,f);d=Fx(i,d)|0}g=Sy(i,g)|0}}default:break a}}else{h=f+12|0;Pz(a,c[h>>2]|0)|0;c[h>>2]=Nz(a,e)|0;h=16}while(0);if((h|0)==16)if((b|0)==0&(f|0)!=0)qx(a,f,e)|0;hz(a,a,f);return f|0}function ox(a,b,c){a=a|0;b=b|0;c=c|0;a=ex(a,b)|0;if(!a)a=0;else a=jx(a,c)|0;return a|0}function px(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0;b=cx(b)|0;f=d+16|0;e=c[f>>2]|0;if((e|0)>3){g=c[a+64>>2]|0;b=b+12|0;e=e<<2;c[b>>2]=ob[c[(c[g>>2]|0)+8>>2]&127](c[g+12>>2]|0,c[b>>2]|0,e,e+4|0)|0}else b=b+12|0;g=Nz(a,c[d+12>>2]|0)|0;c[(c[b>>2]|0)+(c[f>>2]<<2)>>2]=g;return}function qx(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0;h=dz(a)|0;g=(cx(a)|0)+12|0;i=b+16|0;Pz(h,c[(c[g>>2]|0)+(c[i>>2]<<2)>>2]|0)|0;f=Nz(h,d)|0;c[(c[g>>2]|0)+(c[i>>2]<<2)>>2]=f;do if(!(c[a>>2]&3)){e=c[(Zw(h,0)|0)+16>>2]|0;f=b+8|0;g=kx(e,c[f>>2]|0)|0;if(!g){i=ix(h,c[f>>2]|0,d,c[i>>2]|0,c[a>>2]&3)|0;nb[c[e>>2]&63](e,i,1)|0;break}else{i=g+12|0;Pz(h,c[i>>2]|0)|0;c[i>>2]=Nz(h,d)|0;break}}while(0);hz(h,a,b);return 0}function rx(a,b,d){a=a|0;b=b|0;d=d|0;a=ex(a,b)|0;do if(a){b=c[a>>2]|0;if(!d){a=nb[b&63](a,0,128)|0;break}else{a=nb[b&63](a,d,8)|0;break}}else a=0;while(0);return a|0}function sx(a){a=a|0;var b=0;c[46171]=a;b=cx(a)|0;if(b|0){tx(a,b);Bz(a,c[b>>2]|0)|0}b=Zw(a,0)|0;if(b)if(((DA(a,c[b+8>>2]|0)|0)==0?(DA(a,c[b+12>>2]|0)|0)==0:0)?(DA(a,c[b+16>>2]|0)|0)==0:0){Bz(a,c[b>>2]|0)|0;b=0}else b=1;else b=0;return b|0}function tx(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;f=dz(a)|0;e=fx(a)|0;b=b+12|0;a=0;while(1){d=c[b>>2]|0;if((a|0)>=(e|0))break;Pz(f,c[d+(a<<2)>>2]|0)|0;a=a+1|0}My(f,d);return}function ux(a){a=a|0;var b=0;b=cx(a)|0;if(b|0){tx(a,b);Bz(a,93322)|0}return}function vx(a){a=a|0;var b=0;b=cx(a)|0;if(b|0){tx(a,b);Bz(a,93322)|0}return}function wx(a,b){a=a|0;b=b|0;b=lx(a,b)|0;if(!b)b=0;else{a=c[(cx(a)|0)+12>>2]|0;b=c[a+(c[b+16>>2]<<2)>>2]|0}return b|0}function xx(a,b){a=a|0;b=b|0;a=c[(cx(a)|0)+12>>2]|0;return c[a+(c[b+16>>2]<<2)>>2]|0}function yx(a,b,c){a=a|0;b=b|0;c=c|0;b=lx(a,b)|0;if(!b)b=-1;else{qx(a,b,c)|0;b=0}return b|0}function zx(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0;f=dz(a)|0;f=mx(f,c[a>>2]&3,b,0)|0;if(!f){f=dz(a)|0;f=mx(f,c[a>>2]&3,b,e)|0}qx(a,f,d)|0;return 0}function Ax(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;g=dz(a)|0;f=c[a>>2]|0;a:do if(!((c[b>>2]^f)&3)){d=1;e=0;while(1){e=rx(g,f&3,e)|0;if(!e)break a;d=lx(b,c[e+8>>2]|0)|0;if(!d){d=1;break a}f=xx(a,e)|0;qx(b,d,f)|0;if(Qz(f)|0)Rz(xx(b,d)|0);d=0;f=c[a>>2]|0}}else d=1;while(0);return d|0}function Bx(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0;a=c[b+40>>2]|0;f=c[d+40>>2]|0;if((a|0)==(f|0)){e=(c[b>>2]|0)>>>4;a=(c[d>>2]|0)>>>4;if(e>>>0>=a>>>0)if(e>>>0>a>>>0)a=1;else g=6;else a=-1}else{e=(c[a>>2]|0)>>>4;a=(c[f>>2]|0)>>>4;if(e>>>0>=a>>>0)if(e>>>0>a>>>0)a=1;else g=6;else a=-1}if((g|0)==6)a=0;return a|0}function Cx(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0;a=(c[b+40>>2]|0)+8|0;g=c[a>>2]|0;a=c[a+4>>2]|0;f=(c[d+40>>2]|0)+8|0;e=c[f>>2]|0;f=c[f+4>>2]|0;do if(!(a>>>0>>0|(a|0)==(f|0)&g>>>0>>0))if(a>>>0>f>>>0|(a|0)==(f|0)&g>>>0>e>>>0)a=1;else{e=b+8|0;a=c[e>>2]|0;e=c[e+4>>2]|0;if(!((a|0)==0&(e|0)==0)?(i=d+8|0,h=c[i>>2]|0,i=c[i+4>>2]|0,!((h|0)==0&(i|0)==0)):0){if(e>>>0>>0|(e|0)==(i|0)&a>>>0>>0){a=-1;break}if(e>>>0>i>>>0|(e|0)==(i|0)&a>>>0>h>>>0){a=1;break}}a=0}else a=-1;while(0);return a|0}function Dx(a,b){a=a|0;b=b|0;var d=0;b=Ex(a,b)|0;if(!b)b=0;else{d=a+44|0;a=b+32|0;Cw(c[d>>2]|0,c[a>>2]|0)|0;b=c[d>>2]|0;b=nb[c[b>>2]&63](b,0,128)|0;c[a>>2]=yw(c[d>>2]|0)|0}return b|0}function Ex(a,b){a=a|0;b=b|0;var d=0,e=0;e=l;l=l+48|0;d=e;if((c[b+24>>2]|0)==(a|0))a=b+28|0;else{c[d+16>>2]=b;a=c[a+40>>2]|0;a=nb[c[a>>2]&63](a,d,4)|0}l=e;return a|0}function Fx(a,b){a=a|0;b=b|0;var d=0,e=0;d=Ex(a,c[((c[b>>2]&3|0)==3?b:b+48|0)+40>>2]|0)|0;if(!d)a=0;else{e=a+44|0;d=d+32|0;Cw(c[e>>2]|0,c[d>>2]|0)|0;a=c[e>>2]|0;a=nb[c[a>>2]&63](a,b,8)|0;c[d>>2]=yw(c[e>>2]|0)|0}return a|0}function Gx(a,b){a=a|0;b=b|0;var d=0;b=Ex(a,b)|0;if(!b)b=0;else{d=a+44|0;a=b+28|0;Cw(c[d>>2]|0,c[a>>2]|0)|0;b=c[d>>2]|0;b=nb[c[b>>2]&63](b,0,128)|0;c[a>>2]=yw(c[d>>2]|0)|0}return b|0}function Hx(a,b){a=a|0;b=b|0;var d=0,e=0;d=Ex(a,c[((c[b>>2]&3|0)==2?b:b+-48|0)+40>>2]|0)|0;if(!d)a=0;else{e=a+44|0;d=d+28|0;Cw(c[e>>2]|0,c[d>>2]|0)|0;a=c[e>>2]|0;a=nb[c[a>>2]&63](a,b,8)|0;c[d>>2]=yw(c[e>>2]|0)|0}return a|0}function Ix(a,b){a=a|0;b=b|0;var c=0;c=Dx(a,b)|0;if(!c)c=Gx(a,b)|0;return c|0}function Jx(a,b,d){a=a|0;b=b|0;d=d|0;a:do if((c[b>>2]&3|0)==2){b=Fx(a,b)|0;if(!b){b=0;do{if(!b)b=Gx(a,d)|0;else b=Hx(a,b)|0;if(!b){b=0;break a}}while((c[b+40>>2]|0)==(d|0))}}else do{b=Hx(a,b)|0;if(!b){b=0;break a}}while((c[b+40>>2]|0)==(d|0));while(0);return b|0}function Kx(a,b,e){a=a|0;b=b|0;e=e|0;var f=0,g=0,h=0;h=l;l=l+32|0;f=h+16|0;g=h;if((fy(a)|0)!=0?(c[g>>2]=0,c[g+4>>2]=0,c[g+8>>2]=0,c[g+12>>2]=0,c[f>>2]=c[g>>2],c[f+4>>2]=c[g+4>>2],c[f+8>>2]=c[g+8>>2],c[f+12>>2]=c[g+12>>2],(Ox(a,b,e,f)|0)!=0):0)f=0;else f=((d[a+24>>0]|0)>>>2&1^1)&255|(b|0)!=(e|0);l=h;return f|0}function Lx(a,b){a=a|0;b=b|0;Nx(a,b);return}function Mx(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0;Wy(b,d,1)|0;Wy(b,e,1)|0;h=Ly(b,96)|0;i=h+48|0;l=Zx(b,2)|0;j=c[i>>2]|0;k=c[h>>2]|0;m=h+8|0;c[m>>2]=f;c[m+4>>2]=g;m=h+56|0;c[m>>2]=f;c[m+4>>2]=g;g=l<<4;c[h>>2]=k&12|g|2;c[i>>2]=j&12|g|3;c[h+88>>2]=d;c[h+40>>2]=e;Nx(b,h);if(a[b+24>>0]&64){zz(h,93322,16,0)|0;bx(b,h)}fz(b,h);return h|0}function Nx(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0;i=l;l=l+16|0;d=i;h=c[b>>2]&3;g=(h|0)==2?b:b+-48|0;h=(h|0)==3?b:b+48|0;e=c[h+40>>2]|0;f=c[g+40>>2]|0;while(1){if(!a)break;c[d>>2]=c[b>>2];c[d+4>>2]=c[b+4>>2];c[d+8>>2]=c[b+8>>2];c[d+12>>2]=c[b+12>>2];if(Ox(a,e,f,d)|0)break;j=Ex(a,e)|0;m=a+44|0;Px(c[m>>2]|0,j+32|0,g);k=a+48|0;Px(c[k>>2]|0,j+24|0,g);j=Ex(a,f)|0;Px(c[m>>2]|0,j+28|0,h);Px(c[k>>2]|0,j+20|0,h);a=xA(a)|0}l=i;return}function Ox(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0;h=l;l=l+48|0;f=h;if(!((b|0)==0|(d|0)==0)?(c[f>>2]=c[e>>2],c[f+4>>2]=c[e+4>>2],c[f+8>>2]=c[e+8>>2],c[f+12>>2]=c[e+12>>2],c[f+40>>2]=b,g=Ex(a,d)|0,(g|0)!=0):0){e=a+48|0;g=g+20|0;Cw(c[e>>2]|0,c[g>>2]|0)|0;a=c[e>>2]|0;a=nb[c[a>>2]&63](a,f,4)|0;c[g>>2]=yw(c[e>>2]|0)|0}else a=0;l=h;return a|0}function Px(a,b,d){a=a|0;b=b|0;d=d|0;Cw(a,c[b>>2]|0)|0;nb[c[a>>2]&63](a,d,1)|0;c[b>>2]=yw(a)|0;return}function Qx(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0;n=l;l=l+48|0;i=n+24|0;k=n+16|0;j=n;do if(!(ny(a,2,e,k,0)|0))if(!e){if(f|0?(fy(a)|0)==0:0){m=18;break};c[j>>2]=0;c[j+4>>2]=0;c[j+8>>2]=0;c[j+12>>2]=0;m=7}else m=17;else{o=j;c[o>>2]=0;c[o+4>>2]=0;o=k;g=c[o+4>>2]|0;m=j+8|0;c[m>>2]=c[o>>2];c[m+4>>2]=g;c[j>>2]=2;m=7}while(0);a:do if((m|0)==7){c[i>>2]=c[j>>2];c[i+4>>2]=c[j+4>>2];c[i+8>>2]=c[j+8>>2];c[i+12>>2]=c[j+12>>2];g=Ox(a,b,d,i)|0;b:do if(!g){if(ey(a)|0?(c[i>>2]=c[j>>2],c[i+4>>2]=c[j+4>>2],c[i+8>>2]=c[j+8>>2],c[i+12>>2]=c[j+12>>2],h=Ox(a,d,b,i)|0,h|0):0){g=h;break}do if(f|0){g=ez(a)|0;c[i>>2]=c[j>>2];c[i+4>>2]=c[j+4>>2];c[i+8>>2]=c[j+8>>2];c[i+12>>2]=c[j+12>>2];g=Ox(g,b,d,i)|0;if(!g){if(!(ey(a)|0))break;g=ez(a)|0;c[i>>2]=c[j>>2];c[i+4>>2]=c[j+4>>2];c[i+8>>2]=c[j+8>>2];c[i+12>>2]=c[j+12>>2];g=Ox(g,d,b,i)|0;if(!g)break}Lx(a,g);break b}while(0);m=17;break a}while(0)}while(0);if((m|0)==17)if(!f)g=0;else m=18;if((m|0)==18)if((Kx(a,b,d)|0)!=0?(ny(a,2,e,k,1)|0)!=0:0){g=k;g=Mx(a,b,d,c[g>>2]|0,c[g+4>>2]|0)|0;ry(a,2,g)}else g=0;l=n;return g|0}function Rx(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;d=(c[b>>2]&3|0)==3;g=d?b+-48|0:b;d=d?b:b+48|0;b=c[g+40>>2]|0;h=Ex(a,c[d+40>>2]|0)|0;f=a+44|0;Sx(c[f>>2]|0,h+32|0,g);e=a+48|0;Sx(c[e>>2]|0,h+24|0,g);b=Ex(a,b)|0;Sx(c[f>>2]|0,b+28|0,d);Sx(c[e>>2]|0,b+20|0,d);return}function Sx(a,b,d){a=a|0;b=b|0;d=d|0;Cw(a,c[b>>2]|0)|0;nb[c[a>>2]&63](a,d,2)|0;c[b>>2]=yw(a)|0;return}function Tx(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0;e=l;l=l+16|0;f=e;d=(c[d>>2]&3|0)==2?d:d+-48|0;g=c[d>>2]&3;h=c[((g|0)==3?d:d+48|0)+40>>2]|0;g=c[((g|0)==2?d:d+-48|0)+40>>2]|0;c[f>>2]=c[d>>2];c[f+4>>2]=c[d+4>>2];c[f+8>>2]=c[d+8>>2];c[f+12>>2]=c[d+12>>2];if(Ox(b,h,g,f)|0){if((ez(b)|0)==(b|0)){if(a[b+24>>0]&64)vx(d);jz(b,d);Hz(d);h=d+8|0;py(b,2,c[h>>2]|0,c[h+4>>2]|0)}if(!(iB(b,d,58,0,0)|0))if((ez(b)|0)==(b|0)){My(b,d);d=0}else d=0;else d=-1}else d=-1;l=e;return d|0}function Ux(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;h=l;l=l+16|0;e=h;f=Wy(a,c[((c[b>>2]&3|0)==3?b:b+48|0)+40>>2]|0,d)|0;g=Wy(a,c[((c[b>>2]&3|0)==2?b:b+-48|0)+40>>2]|0,d)|0;do if((f|0)!=0&(g|0)!=0){c[e>>2]=c[b>>2];c[e+4>>2]=c[b+4>>2];c[e+8>>2]=c[b+8>>2];c[e+12>>2]=c[b+12>>2];e=Ox(a,f,g,e)|0;f=(e|0)==0;if(!((d|0)!=0&f)){if(f)break}else{Nx(a,b);e=b}d=c[e>>2]&3;l=h;return ((d|0)==(c[b>>2]&3|0)?e:e+(((d|0)==3?-1:1)*48|0)|0)|0}while(0);l=h;return 0}function Vx(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;b=b+8|0;e=d+8|0;e=s3(c[b>>2]|0,c[b+4>>2]|0,c[e>>2]|0,c[e+4>>2]|0)|0;return ((e|0)==0?0:e>>31|1)|0}function Wx(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0;h=l;l=l+16|0;g=h;j=Xx(e)|0;f=lb[c[(c[j>>2]|0)+4>>2]&127](c[j+12>>2]|0,72)|0;c[f>>2]=c[f>>2]&-4;i=f+64|0;c[i>>2]=j;k=f+24|0;d=c[d>>2]|0;c[k>>2]=d;a[k>>0]=d&255|8;c[f+60>>2]=f;e=lb[c[c[j+4>>2]>>2]&127](f,e)|0;c[(c[i>>2]|0)+16>>2]=e;if(ny(f,0,b,g,1)|0){i=g;j=c[i+4>>2]|0;k=f+8|0;c[k>>2]=c[i>>2];c[k+4>>2]=j}k=Yx(f)|0;ry(k,0,f);l=h;return k|0}function Xx(b){b=b|0;var d=0,e=0,f=0,g=0;d=(b|0)!=0;if(d){e=c[b>>2]|0;e=(e|0)==0?18632:e}else e=18632;g=kb[c[e>>2]&63](b)|0;f=lb[c[e+4>>2]&127](g,80)|0;c[f>>2]=e;c[f+12>>2]=g;if(d){g=c[b+4>>2]|0;c[f+4>>2]=(g|0)==0?18508:g;b=c[b+8>>2]|0;b=(b|0)==0?18608:b}else{c[f+4>>2]=18508;b=18608}c[f+8>>2]=b;a[f+52>>0]=1;return f|0}function Yx(b){b=b|0;var d=0,e=0;c[b+36>>2]=BA(b,18688,c[4563]|0)|0;c[b+40>>2]=BA(b,18652,c[4563]|0)|0;d=(ez(b)|0)==(b|0);c[b+44>>2]=BA(b,d?18300:18336,c[4563]|0)|0;d=(ez(b)|0)==(b|0);c[b+48>>2]=BA(b,d?18372:18408,c[4563]|0)|0;c[b+52>>2]=BA(b,18444,c[4563]|0)|0;d=xA(b)|0;if(!((d|0)!=0?(e=Zx(d,0)|0,c[b>>2]=c[b>>2]&15|e<<4,e=c[d+52>>2]|0,nb[c[e>>2]&63](e,b,1)|0,!(a[d+24>>0]&64)):0))$w(b);fz(b,b);return b|0}function Zx(a,b){a=a|0;b=b|0;var d=0;d=(c[a+64>>2]|0)+24+(b<<3)|0;b=d;b=r3(c[b>>2]|0,c[b+4>>2]|0,1,0)|0;a=z;c[d>>2]=b;c[d+4>>2]=a;z=a;return b|0}function _x(b){b=b|0;var d=0,e=0,f=0,g=0;f=xA(b)|0;g=(f|0)==0;if(g?(d=b+64|0,(c[(c[c[d>>2]>>2]|0)+16>>2]|0)!=0):0){jz(b,b);g=b+8|0;py(b,0,c[g>>2]|0,c[g+4>>2]|0);d=c[d>>2]|0;tb[c[(c[d>>2]|0)+16>>2]&127](c[d+12>>2]|0);d=0}else e=4;do if((e|0)==4){d=vA(b)|0;while(1){if(!d)break;e=wA(d)|0;_x(d)|0;d=e}d=Ry(b)|0;while(1){if(!d)break;e=Sy(b,d)|0;bz(b,d)|0;d=e}Ay(b);jz(b,b);if(((((DA(b,c[b+40>>2]|0)|0)==0?(DA(b,c[b+36>>2]|0)|0)==0:0)?(DA(b,c[b+48>>2]|0)|0)==0:0)?(DA(b,c[b+44>>2]|0)|0)==0:0)?(DA(b,c[b+52>>2]|0)|0)==0:0){if(a[b+24>>0]&64?sx(b)|0:0){d=-1;break}Hz(b);e=b+8|0;py(b,0,c[e>>2]|0,c[e+4>>2]|0);if(!g){yA(f,b)|0;My(f,b);d=0;break}d=b+64|0;while(1){e=c[d>>2]|0;f=c[e+48>>2]|0;if(!f)break;mz(b,c[f>>2]|0)|0}tb[c[(c[e+4>>2]|0)+20>>2]&127](c[e+16>>2]|0);if(!(Iz(b)|0)){d=c[d>>2]|0;g=c[d+12>>2]|0;f=(c[d>>2]|0)+12|0;ub[c[f>>2]&63](g,b);ub[c[f>>2]&63](g,d);d=0}else d=-1}else d=-1}while(0);return d|0}function $x(a){a=a|0;return Dw(c[a+40>>2]|0)|0}function ay(a){a=a|0;var b=0,c=0,d=0;b=0;c=Ry(a)|0;while(1){if(!c)break;d=(by(a,c,0,1)|0)+b|0;b=d;c=Sy(a,c)|0}return b|0}function by(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0;f=Ex(a,b)|0;if(f){if(!e)b=0;else b=cy(c[a+44>>2]|0,f+32|0)|0;if(d)b=(cy(c[a+44>>2]|0,f+28|0)|0)+b|0}else b=0;return b|0}function cy(a,b){a=a|0;b=b|0;var d=0;Cw(a,c[b>>2]|0)|0;d=Dw(a)|0;c[b>>2]=yw(a)|0;return d|0}function dy(b){b=b|0;return a[b+24>>0]&1|0}function ey(a){a=a|0;return (dy(a)|0)==0|0}function fy(a){a=a|0;return (d[a+24>>0]|0)>>>1&1|0}function gy(a,b){a=a|0;b=b|0;return a|0}function hy(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;if(!d){f=1392;d=c[f>>2]|0;f=c[f+4>>2]|0;c[e>>2]=d;c[e+4>>2]=f;f=r3(d|0,f|0,2,0)|0;e=1392;c[e>>2]=f;c[e+4>>2]=z}else{if(!f)a=Kz(a,d)|0;else a=Nz(a,d)|0;c[e>>2]=a;c[e+4>>2]=0}return 1}function iy(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return 0}function jy(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;if((c&1|0)==0&0==0)Pz(a,c)|0;return}function ky(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return ((c&1|0)==0&0==0?c:0)|0}function ly(a){a=a|0;return}function my(a,b,c){a=a|0;b=b|0;c=c|0;return}function ny(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0;i=(e|0)!=0;do if(i){if((a[e>>0]|0)!=37?(h=c[b+64>>2]|0,h=pb[c[(c[h+4>>2]|0)+4>>2]&127](c[h+16>>2]|0,d,e,f,g)|0,h|0):0)break;h=sy(b,d,e,f)|0;if(!h)j=5}else j=5;while(0);if((j|0)==5)if(g){h=c[b+64>>2]|0;h=pb[c[(c[h+4>>2]|0)+4>>2]&127](c[h+16>>2]|0,d,0,f,g)|0;if(i&(h|0)!=0){j=f;ty(b,d,e,c[j>>2]|0,c[j+4>>2]|0)}}else h=0;return h|0}function oy(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;a=c[a+64>>2]|0;return ob[c[(c[a+4>>2]|0)+8>>2]&127](c[a+16>>2]|0,b,d,e)|0}function py(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;yy(a,b,d,e)|0;a=c[a+64>>2]|0;xb[c[(c[a+4>>2]|0)+12>>2]&31](c[a+16>>2]|0,b,d,e);return}function qy(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0;h=l;l=l+16|0;g=h;d=dz(a)|0;f=a+8|0;b=f;b=wy(d,c[a>>2]&3,c[b>>2]|0,c[b+4>>2]|0)|0;do if(!b){b=c[d+64>>2]|0;d=c[(c[b+4>>2]|0)+16>>2]|0;if(d|0?(e=f,e=ob[d&127](c[b+16>>2]|0,c[a>>2]&3,c[e>>2]|0,c[e+4>>2]|0)|0,e|0):0){b=e;break}if((c[a>>2]&3|0)==2)b=0;else{e=c[f>>2]|0;f=c[f+4>>2]|0;c[g>>2]=37;b=g+8|0;c[b>>2]=e;c[b+4>>2]=f;X0(191693,93374,g)|0;b=191693}}while(0);l=h;return b|0}function ry(a,b,d){a=a|0;b=b|0;d=d|0;a=c[a+64>>2]|0;vb[c[(c[a+4>>2]|0)+24>>2]&127](c[a+16>>2]|0,b,d);return}function sy(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0;i=l;l=l+32|0;h=i;b=c[(c[a+64>>2]|0)+56+(((b|0)==3?2:b)<<2)>>2]|0;if(((b|0)!=0?(f=Kz(a,d)|0,(f|0)!=0):0)?(c[h+24>>2]=f,g=nb[c[b>>2]&63](b,h,4)|0,(g|0)!=0):0){d=g+16|0;h=c[d+4>>2]|0;b=e;c[b>>2]=c[d>>2];c[b+4>>2]=h;b=1}else b=0;l=i;return b|0}function ty(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0;h=Ly(a,32)|0;g=h+16|0;c[g>>2]=e;c[g+4>>2]=f;c[h+24>>2]=Nz(a,d)|0;e=(b|0)==3?2:b;g=a+64|0;d=c[g>>2]|0;b=c[d+56+(e<<2)>>2]|0;if(!b){f=BA(a,18536,c[4563]|0)|0;c[(c[g>>2]|0)+56+(e<<2)>>2]=f;b=c[g>>2]|0}else{f=b;b=d}b=c[b+68+(e<<2)>>2]|0;if(!b){b=BA(a,18572,c[4563]|0)|0;c[(c[g>>2]|0)+68+(e<<2)>>2]=b}nb[c[f>>2]&63](f,h,1)|0;nb[c[b>>2]&63](b,h,1)|0;return}function uy(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;a=b+16|0;b=c[a>>2]|0;a=c[a+4>>2]|0;d=d+16|0;e=c[d>>2]|0;d=c[d+4>>2]|0;return (a>>>0>d>>>0|(a|0)==(d|0)&b>>>0>e>>>0?1:(a>>>0>>0|(a|0)==(d|0)&b>>>0>>0)<<31>>31)|0}function vy(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;b=c[b+24>>2]|0;e=c[d+24>>2]|0;return (b>>>0>e>>>0?1:(b>>>0>>0)<<31>>31)|0}function wy(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;a=xy(a,b,d,e)|0;if(!a)a=0;else a=c[a+24>>2]|0;return a|0}function xy(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0;g=l;l=l+32|0;f=g;a=c[(c[a+64>>2]|0)+68+(((b|0)==3?2:b)<<2)>>2]|0;if(!a)a=0;else{b=f+16|0;c[b>>2]=d;c[b+4>>2]=e;a=nb[c[a>>2]&63](a,f,4)|0}l=g;return a|0}function yy(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0;f=(b|0)==3?2:b;b=xy(a,f,d,e)|0;if(!b)b=0;else{e=a+64|0;d=c[(c[e>>2]|0)+56+(f<<2)>>2]|0;nb[c[d>>2]&63](d,b,2)|0;e=c[(c[e>>2]|0)+68+(f<<2)>>2]|0;nb[c[e>>2]&63](e,b,2)|0;Pz(a,c[b+24>>2]|0)|0;My(a,b);b=1}return b|0}function zy(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0;c[46171]=b;g=c[b+64>>2]|0;f=0;while(1){if((f|0)==3)break;h=g+56+(f<<2)|0;d=c[h>>2]|0;a:do if(d|0){d=nb[c[d>>2]&63](d,0,128)|0;while(1){if(!d)break a;e=c[h>>2]|0;e=nb[c[e>>2]&63](e,d,8)|0;if((a[c[d+24>>2]>>0]|0)!=37){d=e;continue}i=d+16|0;yy(b,f,c[i>>2]|0,c[i+4>>2]|0)|0;d=e}}while(0);f=f+1|0}return}function Ay(a){a=a|0;c[46171]=a;a=a+64|0;By((c[a>>2]|0)+56|0);By((c[a>>2]|0)+68|0);return}function By(a){a=a|0;var b=0,d=0,e=0;b=0;while(1){if((b|0)==3)break;d=a+(b<<2)|0;e=c[d>>2]|0;if(e|0){xw(e)|0;c[d>>2]=0}b=b+1|0}return}function Cy(a,b,c){a=a|0;b=b|0;c=c|0;if(!(N0(b,c,a)|0))a=0;else a=V_(b)|0;return a|0}function Dy(a,b){a=a|0;b=b|0;return C1(b,a)|0}function Ey(a){a=a|0;return v1(a)|0}function Fy(a){a=a|0;var b=0,d=0,e=0;b=l;l=l+32|0;e=b+12|0;d=b;c[4656]=c[4653];c[4657]=c[4654];c[e>>2]=a;c[e+4>>2]=V_(a)|0;c[e+8>>2]=0;c[d>>2]=18632;c[d+4>>2]=18508;c[d+8>>2]=18620;a=SB(e,d)|0;Tz(0);l=b;return a|0}function Gy(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0;if((e|0)!=0?(h=b+8|0,f=c[h>>2]|0,(f|0)<(c[b+4>>2]|0)):0){i=(c[b>>2]|0)+f|0;b=0;g=a[i>>0]|0;f=d;d=i;while(1){d=d+1|0;a[f>>0]=g;b=b+1|0;if(!(g<<24>>24!=10&(b|0)<(e|0)))break;g=a[d>>0]|0;if(!(g<<24>>24))break;else f=f+1|0}c[h>>2]=(c[h>>2]|0)+b}else b=0;return b|0}function Hy(a){a=a|0;return 0}function Iy(a,b){a=a|0;b=b|0;a=B_(b)|0;G3(a|0,0,b|0)|0;return a|0}function Jy(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;a=E_(b,d)|0;if(d>>>0>c>>>0)G3(a+c|0,0,d-c|0)|0;return a|0}function Ky(a,b){a=a|0;b=b|0;C_(b);return}function Ly(a,b){a=a|0;b=b|0;var d=0;d=l;l=l+16|0;a=c[a+64>>2]|0;a=lb[c[(c[a>>2]|0)+4>>2]&127](c[a+12>>2]|0,b)|0;if(!a)Ow(1,93380,d)|0;l=d;return a|0}function My(a,b){a=a|0;b=b|0;if(b|0){a=c[a+64>>2]|0;ub[c[(c[a>>2]|0)+12>>2]&63](c[a+12>>2]|0,b)}return}function Ny(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;a=(c[b+16>>2]|0)+8|0;b=c[a>>2]|0;a=c[a+4>>2]|0;d=(c[d+16>>2]|0)+8|0;e=c[d>>2]|0;d=c[d+4>>2]|0;return (a>>>0>>0|(a|0)==(d|0)&b>>>0>>0?-1:(a>>>0>d>>>0|(a|0)==(d|0)&b>>>0>e>>>0)&1)|0}function Oy(a,b,d){a=a|0;b=b|0;d=d|0;a=c[b+16>>2]|0;if((a+28|0)!=(b|0))My(c[a+24>>2]|0,b);return}function Py(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;b=(c[c[b+16>>2]>>2]|0)>>>4;e=(c[c[d+16>>2]>>2]|0)>>>4;return (b>>>0>>0?-1:b>>>0>e>>>0&1)|0}function Qy(a,b,d){a=a|0;b=b|0;d=d|0;var e=0;e=183176;c[e>>2]=b;c[e+4>>2]=d;c[46176]=183168;a=c[a+40>>2]|0;a=nb[c[a>>2]&63](a,184688,4)|0;if(!a)a=0;else a=c[a+16>>2]|0;return a|0}function Ry(a){a=a|0;a=c[a+36>>2]|0;a=nb[c[a>>2]&63](a,0,128)|0;if(!a)a=0;else a=c[a+16>>2]|0;return a|0}function Sy(a,b){a=a|0;b=b|0;var d=0;b=Ex(a,b)|0;if((b|0)!=0?(d=c[a+36>>2]|0,d=nb[c[d>>2]&63](d,b,8)|0,(d|0)!=0):0)b=c[d+16>>2]|0;else b=0;return b|0}function Ty(a){a=a|0;a=c[a+36>>2]|0;a=nb[c[a>>2]&63](a,0,256)|0;if(!a)a=0;else a=c[a+16>>2]|0;return a|0}function Uy(a,b){a=a|0;b=b|0;var d=0;b=Ex(a,b)|0;if((b|0)!=0?(d=c[a+36>>2]|0,d=nb[c[d>>2]&63](d,b,16)|0,(d|0)!=0):0)b=c[d+16>>2]|0;else b=0;return b|0}function Vy(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0;e=Qy(a,b,c)|0;do if((d|0)!=0&(e|0)==0){e=ez(a)|0;if((e|0)!=(a|0)?(f=Qy(e,b,c)|0,f|0):0){Wy(a,f,1)|0;e=f;break}if(!(oy(a,1,b,c)|0))e=0;else{e=Zx(a,1)|0;e=Xy(a,b,c,e,z)|0;Yy(a,e);Zy(a,e)}}while(0);return e|0}function Wy(a,b,d){a=a|0;b=b|0;d=d|0;var e=0;e=ez(a)|0;if((e|0)==(c[b+24>>2]|0)){e=b+8|0;e=Qy(a,c[e>>2]|0,c[e+4>>2]|0)|0;if((d|0)!=0&(e|0)==0){e=xA(a)|0;if(!e)e=0;else{d=Wy(e,b,d)|0;_y(a,d);return d|0}}}else e=0;return e|0}function Xy(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0;g=Ly(b,64)|0;h=c[g>>2]|0;i=g+8|0;c[i>>2]=d;c[i+4>>2]=e;c[g>>2]=h&12|f<<4|1;c[g+24>>2]=ez(b)|0;if(a[(ez(b)|0)+24>>0]&64)zz(g,93322,16,0)|0;return g|0}function Yy(a,b){a=a|0;b=b|0;do{_y(a,b);a=xA(a)|0}while((a|0)!=0);return}function Zy(b,c){b=b|0;c=c|0;if(a[(ez(b)|0)+24>>0]&64)ax(b,c);fz(b,c);return}function _y(a,b){a=a|0;b=b|0;var d=0,e=0;e=a+40|0;Dw(c[e>>2]|0)|0;if((ez(a)|0)==(a|0))d=b+28|0;else d=Ly(a,36)|0;c[d+16>>2]=b;e=c[e>>2]|0;nb[c[e>>2]&63](e,d,1)|0;e=c[a+36>>2]|0;nb[c[e>>2]&63](e,d,1)|0;return}function $y(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0;j=l;l=l+16|0;g=j;h=ez(a)|0;if(ny(a,1,b,g,0)|0){e=g;e=Qy(a,c[e>>2]|0,c[e+4>>2]|0)|0;if(!e)if(!((d|0)==0|(h|0)==(a|0))?(f=g,f=Qy(h,c[f>>2]|0,c[f+4>>2]|0)|0,(f|0)!=0):0)e=Wy(a,f,1)|0;else i=6}else i=6;if((i|0)==6)if((d|0)!=0?(ny(a,1,b,g,1)|0)!=0:0){i=g;h=c[i>>2]|0;i=c[i+4>>2]|0;e=Zx(a,1)|0;e=Xy(a,h,i,e,z)|0;Yy(a,e);Zy(a,e);ry(a,1,e)}else e=0;l=j;return e|0}function az(a,b,d){a=a|0;b=b|0;d=d|0;var e=0;c[46185]=b;d=Ix(a,b)|0;while(1){if(!d)break;e=Jx(a,d,b)|0;Rx(a,d,0);d=e}e=c[a+40>>2]|0;nb[c[e>>2]&63](e,184724,2)|0;e=c[a+36>>2]|0;nb[c[e>>2]&63](e,184724,2)|0;return}function bz(b,d){b=b|0;d=d|0;var e=0,f=0,g=0;f=d+8|0;e=f;if(Qy(b,c[e>>2]|0,c[e+4>>2]|0)|0){if((ez(b)|0)==(b|0)){e=Ix(b,d)|0;while(1){if(!e)break;g=Jx(b,e,d)|0;Tx(b,e)|0;e=g}if(a[b+24>>0]&64)ux(d);jz(b,d);Hz(d);g=f;py(b,1,c[g>>2]|0,c[g+4>>2]|0)}if(!(iB(b,d,59,0,0)|0))if((ez(b)|0)==(b|0)){My(b,d);e=0}else e=0;else e=-1}else e=-1;return e|0}function cz(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;h=l;l=l+16|0;e=h;d=c[b>>2]|0;do if(!(d&3))if((xA(b)|0)==(a|0)){d=c[b>>2]|0;g=5;break}else{Ow(1,93406,e)|0;f=-1;break}else g=5;while(0);a:do if((g|0)==5)switch(d&3){case 1:{f=bz(a,b)|0;break a}case 2:case 3:{f=Tx(a,b)|0;break a}case 0:{f=_x(b)|0;break a}default:{}}while(0);l=h;return f|0}function dz(a){a=a|0;var b=0;switch(c[a>>2]&3){case 2:case 3:{b=c[(c[a+40>>2]|0)+24>>2]|0;break}case 1:{b=c[a+24>>2]|0;break}case 0:{b=a;break}default:{}}return b|0}function ez(a){a=a|0;var b=0;switch(c[a>>2]&3){case 2:case 3:{b=(c[a+40>>2]|0)+24|0;break}case 1:{b=a+24|0;break}case 0:{b=a+60|0;break}default:{}}return c[b>>2]|0}function fz(b,d){b=b|0;d=d|0;var e=0;e=c[b+64>>2]|0;if(!(a[e+52>>0]|0))pz(b,d,100,0);else gz(b,d,c[e+48>>2]|0);return}function gz(a,b,d){a=a|0;b=b|0;d=d|0;var e=0;a:do if(d|0){gz(a,b,c[d+8>>2]|0);switch(c[b>>2]&3){case 0:{e=c[d>>2]|0;break}case 1:{e=(c[d>>2]|0)+12|0;break}case 2:{e=(c[d>>2]|0)+24|0;break}default:break a}e=c[e>>2]|0;if(e|0)vb[e&127](a,b,c[d+4>>2]|0)}while(0);return}function hz(b,d,e){b=b|0;d=d|0;e=e|0;var f=0;f=c[b+64>>2]|0;if(!(a[f+52>>0]|0))pz(b,d,101,e);else iz(b,d,e,c[f+48>>2]|0);return}function iz(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0;a:do if(e|0){iz(a,b,d,c[e+8>>2]|0);switch(c[b>>2]&3){case 0:{f=(c[e>>2]|0)+4|0;break}case 1:{f=(c[e>>2]|0)+16|0;break}case 2:{f=(c[e>>2]|0)+28|0;break}default:break a}f=c[f>>2]|0;if(f|0)xb[f&31](a,b,c[e+4>>2]|0,d)}while(0);return}function jz(b,d){b=b|0;d=d|0;var e=0;e=c[b+64>>2]|0;if(!(a[e+52>>0]|0))pz(b,d,102,0);else kz(b,d,c[e+48>>2]|0);return}function kz(a,b,d){a=a|0;b=b|0;d=d|0;var e=0;a:do if(d|0){kz(a,b,c[d+8>>2]|0);switch(c[b>>2]&3){case 0:{e=(c[d>>2]|0)+8|0;break}case 1:{e=(c[d>>2]|0)+20|0;break}case 2:{e=(c[d>>2]|0)+32|0;break}default:break a}e=c[e>>2]|0;if(e|0)vb[e&127](a,b,c[d+4>>2]|0)}while(0);return}function lz(a,b,d){a=a|0;b=b|0;d=d|0;var e=0;e=Ly(a,12)|0;c[e>>2]=b;c[e+4>>2]=d;d=(c[a+64>>2]|0)+48|0;c[e+8>>2]=c[d>>2];c[d>>2]=e;return}function mz(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;e=(c[a+64>>2]|0)+48|0;d=c[e>>2]|0;a:do if(!d)d=-1;else{if((c[d>>2]|0)!=(b|0)){while(1){if(!d){d=-1;break a}e=d+8|0;f=c[e>>2]|0;if((c[f>>2]|0)==(b|0))break;else d=f}if(f)c[e>>2]=c[f+8>>2]}else c[e>>2]=c[d+8>>2];My(a,d);d=0}while(0);return d|0}function nz(a,b){a=a|0;b=b|0;var d=0;d=ez(a)|0;a:do if((d|0)==(ez(b)|0))switch(c[b>>2]&3){case 0:{while(1){if((b|0)==(a|0)){b=1;break a}b=xA(b)|0;if(!b){b=0;break}}break}case 1:{b=b+8|0;b=(Vy(a,c[b>>2]|0,c[b+4>>2]|0,0)|0)!=0;break a}default:{b=(Ux(a,b,0)|0)!=0;break a}}else b=0;while(0);return b&1|0}function oz(a){a=a|0;return c[a>>2]&3|0}function pz(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0;h=l;l=l+16|0;g=h;f=zz(a,93430,44,0)|0;switch(c|0){case 100:{e=qz(f,b,100)|0;if(!(rz(e,b)|0))sz(e,a,b,d)|0;break}case 101:{if(((rz(qz(f,b,100)|0,b)|0)==0?(rz(qz(f,b,102)|0,b)|0)==0:0)?(e=qz(f,b,101)|0,(rz(e,b)|0)==0):0)sz(e,a,b,d)|0;break}case 102:{tz(qz(f,b,100)|0,b);tz(qz(f,b,101)|0,b);e=qz(f,b,102)|0;if(!(rz(e,b)|0))sz(e,a,b,d)|0;break}default:Ow(1,93442,g)|0}l=h;return}function qz(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0;g=l;l=l+16|0;e=g;a:do switch(c[b>>2]&3){case 0:switch(d|0){case 100:{d=a+8|0;break a}case 101:{d=a+20|0;break a}case 102:{d=a+32|0;break a}default:{f=14;break a}}case 1:switch(d|0){case 100:{d=a+12|0;break a}case 101:{d=a+24|0;break a}case 102:{d=a+36|0;break a}default:{f=14;break a}}case 2:switch(d|0){case 100:{d=a+16|0;break a}case 101:{d=a+28|0;break a}case 102:{d=a+40|0;break a}default:{f=14;break a}}default:f=14}while(0);if((f|0)==14){Ow(1,93476,e)|0;d=0}a=c[d>>2]|0;if(!a){a=dz(b)|0;a=BA(a,18724,c[4563]|0)|0;c[d>>2]=a}l=g;return a|0}function rz(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=l;l=l+32|0;e=d;f=uz(b)|0;b=e+8|0;c[b>>2]=f;c[b+4>>2]=z;b=nb[c[a>>2]&63](a,e,4)|0;l=d;return b|0}function sz(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0;f=Ly(dz(d)|0,32)|0;c[f+20>>2]=d;g=uz(d)|0;d=f+8|0;c[d>>2]=g;c[d+4>>2]=z;c[f+16>>2]=b;if(e|0){g=Ly(b,8)|0;c[f+24>>2]=g;c[g>>2]=e}nb[c[a>>2]&63](a,f,1)|0;return f|0}function tz(a,b){a=a|0;b=b|0;b=rz(a,b)|0;if(b|0)nb[c[a>>2]&63](a,b,2)|0;return}function uz(a){a=a|0;a=a+8|0;z=c[a+4>>2]|0;return c[a>>2]|0}function vz(a,b,d){a=a|0;b=b|0;d=d|0;wz(b);My(c[b+16>>2]|0,b);return}function wz(a){a=a|0;var b=0,d=0;b=a+16|0;a=c[a+24>>2]|0;while(1){if(!a)break;d=c[a+4>>2]|0;My(c[b>>2]|0,a);a=d}return}function xz(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0;k=l;l=l+16|0;i=k;h=c[b+16>>2]|0;f=h;while(1){if(!f){f=0;break}g=c[f>>2]|0;if((g|0)==(d|0)){j=7;break}if((a[d>>0]|0)==(a[g>>0]|0)?(a$(d,g)|0)==0:0){j=7;break}f=c[f+4>>2]|0;if((f|0)==(h|0)){f=0;break}}do if((j|0)==7){if(!(c[b>>2]&4)){if((f|0)==(h|0)&(e|0)==0){f=h;break}yz(b,f,e);break}if(e)if((h|0)==(f|0))f=h;else Ow(1,93501,i)|0}while(0);l=k;return f|0}function yz(a,b,d){a=a|0;b=b|0;d=d|0;var e=0;c[a+16>>2]=b;e=c[a>>2]|0;d=d<<2&4;c[a>>2]=e&-5|d;if(e&2|0){e=(e&3|0)==3?-1:1;c[a+(e*48|0)+16>>2]=b;e=a+(e*48|0)|0;c[e>>2]=c[e>>2]&-5|d}return}function zz(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0;h=dz(a)|0;f=xz(a,b,0)|0;a:do if((d|0)!=0&(f|0)==0){d=Ly(h,d)|0;c[d>>2]=Nz(h,b)|0;switch(c[a>>2]&3){case 0:{Az(a,d);g=d;break a}case 1:{Az(a,d);g=d;break a}case 2:case 3:{Az(a,d);g=d;break a}default:{}}}else g=f;while(0);if(e|0)xz(a,b,1)|0;return g|0}function Az(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=c[a+16>>2]|0;do if(d){e=d+4|0;f=c[e>>2]|0;if((f|0)==(d|0)){c[e>>2]=b;e=d;d=b;break}else{c[b+4>>2]=f;e=b;break}}else{e=b;d=b}while(0);c[d+4>>2]=e;if(!(c[a>>2]&4))yz(a,b,0);return}function Bz(a,b){a=a|0;b=b|0;var d=0,e=0;e=dz(a)|0;d=xz(a,b,0)|0;if(!d)b=-1;else{Cz(a,d);if(!(c[a>>2]&3)){Dz(e,a,d);b=d}else{iB(ez(e)|0,a,60,d,0)|0;b=d}Pz(e,c[d>>2]|0)|0;My(e,b);b=0}return b|0}function Cz(a,b){a=a|0;b=b|0;var d=0;a=c[a+16>>2]|0;do{d=a+4|0;a=c[d>>2]|0}while((a|0)!=(b|0));c[d>>2]=c[b+4>>2];return}function Dz(a,b,d){a=a|0;b=b|0;d=d|0;if((c[b+16>>2]|0)==(d|0)){a=c[d+4>>2]|0;yz(b,(a|0)==(d|0)?0:a,0)}return}function Ez(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0;f=(d|0)>-1;g=f?d:0-d|0;a:do switch(b|0){case 0:{zz(a,c,g,e)|0;if(!f){b=vA(a)|0;while(1){if(!b)break a;Ez(b,0,c,d,e);b=wA(b)|0}}break}case 3:case 2:case 1:{d=(b|0)==1;b=Ry(a)|0;while(1){if(!b)break a;b:do if(d)zz(b,c,g,e)|0;else{f=Dx(a,b)|0;while(1){if(!f)break b;zz(f,c,g,e)|0;f=Fx(a,f)|0}}while(0);b=Sy(a,b)|0}}default:{}}while(0);return}function Fz(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;a:do switch(b|0){case 0:{iB(a,a,61,c,1)|0;break}case 3:case 2:case 1:{e=(b|0)==1;d=Ry(a)|0;while(1){if(!d)break a;b:do if(e)Bz(d,c)|0;else{b=Dx(a,d)|0;while(1){if(!b)break b;Bz(b,c)|0;b=Fx(a,b)|0}}while(0);d=Sy(a,d)|0}}default:{}}while(0);return}function Gz(a,b,c){a=a|0;b=b|0;c=c|0;Bz(b,c)|0;return}function Hz(a){a=a|0;var b=0,d=0,e=0;d=dz(a)|0;b=a+16|0;a=c[b>>2]|0;if(a|0)do{e=a;a=c[a+4>>2]|0;Pz(d,c[e>>2]|0)|0;My(d,e)}while((a|0)!=(c[b>>2]|0));c[b>>2]=0;return}function Iz(a){a=a|0;return DA(a,Jz(a)|0)|0}function Jz(a){a=a|0;var b=0,d=0;if(!a)d=184760;else d=(c[a+64>>2]|0)+20|0;b=c[d>>2]|0;if(!b){b=BA(a,18760,c[4563]|0)|0;c[d>>2]=b;a=183232;c[a>>2]=-2147483648;c[a+4>>2]=0;a=183240;c[a>>2]=2147483647;c[a+4>>2]=-1}return b|0}function Kz(a,b){a=a|0;b=b|0;return Lz(Jz(a)|0,b)|0}function Lz(a,b){a=a|0;b=b|0;a=Mz(a,b)|0;if(!a)a=0;else a=c[a+16>>2]|0;return a|0}function Mz(a,b){a=a|0;b=b|0;var d=0,e=0;d=l;l=l+32|0;e=d;c[e+16>>2]=b;b=nb[c[a>>2]&63](a,e,4)|0;l=d;return b|0}function Nz(a,b){a=a|0;b=b|0;var d=0,e=0;if(!b)d=0;else{e=Jz(a)|0;d=Mz(e,b)|0;if(!d){d=(V_(b)|0)+24|0;if(!a)d=B_(d)|0;else d=Ly(a,d)|0;a=d+8|0;c[a>>2]=1;c[a+4>>2]=0;a=d+20|0;a0(a,b)|0;c[d+16>>2]=a;nb[c[e>>2]&63](e,d,1)|0}else{e=d+8|0;b=e;b=r3(c[b>>2]|0,c[b+4>>2]|0,1,0)|0;c[e>>2]=b;c[e+4>>2]=z}d=c[d+16>>2]|0}return d|0}function Oz(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;if(!b)d=0;else{e=Jz(a)|0;d=Mz(e,b)|0;if(!d){d=(V_(b)|0)+24|0;if(!a)d=B_(d)|0;else d=Ly(a,d)|0;g=183232;f=c[g+4>>2]|0;a=d+8|0;c[a>>2]=c[g>>2]|1;c[a+4>>2]=f;a=d+20|0;a0(a,b)|0;c[d+16>>2]=a;nb[c[e>>2]&63](e,d,1)|0}else{g=d+8|0;f=g;f=r3(c[f>>2]|0,c[f+4>>2]|0,1,0)|0;c[g>>2]=f;c[g+4>>2]=z}d=c[d+16>>2]|0}return d|0}function Pz(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;if((b|0)!=0?(d=Jz(a)|0,e=Mz(d,b)|0,(e|0)!=0):0)if((c[e+16>>2]|0)==(b|0)?(b=e+8|0,g=b,g=r3(c[g>>2]|0,c[g+4>>2]|0,-1,-1)|0,f=z,b,c[b>>2]=g,c[b+4>>2]=f,b=183240,(g|0)==0&(f|0)==0|(c[b>>2]|0)==0&(c[b+4>>2]|0)==0):0){CA(a,d,e)|0;a=0}else a=0;else a=-1;return a|0}function Qz(a){a=a|0;var b=0;if(!a)a=0;else{a=a+-12|0;b=183232;a=c[b>>2]&c[a>>2]}return a|0}function Rz(a){a=a|0;var b=0,d=0,e=0;if(a|0){d=183232;a=a+-12|0;e=a;b=c[e+4>>2]|c[d+4>>2];c[a>>2]=c[e>>2]|c[d>>2];c[a+4>>2]=b}return}function Sz(a){a=a|0;c[4699]=a;return}function Tz(a){a=a|0;c[46195]=a;c[4699]=1;return}function Uz(a,b){a=a|0;b=b|0;c[46196]=a;c[46197]=b;c[46198]=0;return}function Vz(){var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;if(!(c[46199]|0)){c[46199]=1;if(!(c[46200]|0))c[46200]=1;if(!(c[46191]|0))c[46191]=c[15621];if(!(c[46192]|0))c[46192]=c[15653];k=c[46201]|0;if(!((k|0)!=0?(c[k>>2]|0)!=0:0)){Wz();k=Xz(c[46191]|0,16384)|0;c[c[46201]>>2]=k}Yz()}a:while(1){j=c[46202]|0;a[j>>0]=a[191725]|0;e=(c[(c[c[46201]>>2]|0)+28>>2]|0)+(c[46200]|0)|0;f=j;b:while(1){h=f;while(1){f=c[18800+(d[h>>0]<<2)>>2]|0;if(b[63752+(e<<1)>>1]|0){c[46203]=e;c[46204]=h}c:while(1){g=f&255;do{f=g+(b[63938+(e<<1)>>1]|0)|0;if((e|0)==(b[64148+(f<<1)>>1]|0))break c;k=b[64684+(e<<1)>>1]|0;e=k<<16>>16}while(k<<16>>16<=92);f=c[19824+(g<<2)>>2]|0}e=b[64894+(f<<1)>>1]|0;f=h+1|0;if((b[63938+(e<<1)>>1]|0)==219)break;else h=f}d:while(1){k=j;e:while(1){e=b[63752+(e<<1)>>1]|0;if(!(e<<16>>16)){e=b[63752+(c[46203]<<1)>>1]|0;f=c[46204]|0}else e=e<<16>>16;c[46193]=j;i=f;c[46194]=i-k;a[191725]=a[f>>0]|0;a[f>>0]=0;c[46202]=f;f:while(1){switch(e|0){case 1:{m=27;break a}case 12:{m=53;break a}case 13:{m=55;break a}case 14:{m=57;break a}case 15:{m=61;break a}case 16:{m=65;break a}case 17:{m=67;break a}case 18:{m=69;break a}case 19:{m=72;break a}case 20:{m=75;break a}case 21:{m=78;break a}case 23:{m=86;break a}case 33:{m=118;break a}case 39:case 38:case 37:case 36:{l=0;break a}case 2:{m=29;break b}case 3:{m=32;break b}case 4:{m=35;break b}case 5:{m=37;break b}case 6:{m=39;break b}case 7:{m=42;break b}case 8:{m=44;break b}case 9:{m=47;break b}case 10:{m=49;break b}case 11:{m=51;break b}case 22:{m=83;break b}case 24:{m=89;break b}case 25:{m=92;break b}case 26:{m=95;break b}case 27:{m=98;break b}case 28:{m=101;break b}case 29:{m=104;break b}case 30:{m=109;break b}case 31:{m=112;break b}case 32:{m=115;break b}case 34:{m=121;break b}case 0:break f;case 35:break;default:{m=134;break a}}h=c[46193]|0;a[f>>0]=a[191725]|0;e=c[46201]|0;g=c[e>>2]|0;if(!(c[g+44>>2]|0)){n=c[g+16>>2]|0;c[46206]=n;c[g>>2]=c[46191];g=c[e>>2]|0;c[g+44>>2]=1;e=n}else e=c[46206]|0;if((c[46202]|0)>>>0<=((c[g+4>>2]|0)+e|0)>>>0){m=128;break e}switch(fA()|0){case 0:{m=132;break d}case 2:{m=133;break e}case 1:break;default:continue a}c[46202]=c[46193];e=(((c[46200]|0)+-1|0)/2|0)+36|0}a[f>>0]=a[191725]|0;f=c[46204]|0;e=c[46203]|0}if((m|0)==128){m=0;g=i-h|0;h=c[46193]|0;f=h+(g+-1)|0;c[46202]=f;e=dA()|0;i=eA(e)|0;j=c[46193]|0;if(!i)continue;else{m=129;break}}else if((m|0)==133){m=0;f=(c[(c[c[46201]>>2]|0)+4>>2]|0)+(c[46206]|0)|0;c[46202]=f;e=dA()|0;j=c[46193]|0;continue}}if((m|0)==129){m=0;f=h+g|0;c[46202]=f;e=i;continue}else if((m|0)==132){m=0;f=(c[46193]|0)+(i-h+-1)|0;c[46202]=f;e=dA()|0;j=c[46193]|0;continue}}switch(m|0){case 29:{m=0;e=c[46194]|0;if(e|0)c[(c[c[46201]>>2]|0)+28>>2]=(a[(c[46193]|0)+(e+-1)>>0]|0)==10&1;c[4699]=(c[4699]|0)+1;continue a}case 32:{m=0;e=c[46194]|0;if(e|0)c[(c[c[46201]>>2]|0)+28>>2]=(a[(c[46193]|0)+(e+-1)>>0]|0)==10&1;c[46200]=3;continue a}case 35:{m=0;e=c[46194]|0;if(!e)continue a;c[(c[c[46201]>>2]|0)+28>>2]=(a[(c[46193]|0)+(e+-1)>>0]|0)==10&1;continue a}case 37:{m=0;e=c[46194]|0;if(!e)continue a;c[(c[c[46201]>>2]|0)+28>>2]=(a[(c[46193]|0)+(e+-1)>>0]|0)==10&1;continue a}case 39:{m=0;e=c[46194]|0;if(e|0)c[(c[c[46201]>>2]|0)+28>>2]=(a[(c[46193]|0)+(e+-1)>>0]|0)==10&1;c[46200]=1;continue a}case 42:{m=0;e=c[46194]|0;if(!e)continue a;c[(c[c[46201]>>2]|0)+28>>2]=(a[(c[46193]|0)+(e+-1)>>0]|0)==10&1;continue a}case 44:{m=0;e=c[46194]|0;if(e|0)c[(c[c[46201]>>2]|0)+28>>2]=(a[(c[46193]|0)+(e+-1)>>0]|0)==10&1;Zz();continue a}case 47:{m=0;e=c[46194]|0;if(!e)continue a;c[(c[c[46201]>>2]|0)+28>>2]=(a[(c[46193]|0)+(e+-1)>>0]|0)==10&1;continue a}case 49:{m=0;e=c[46194]|0;if(!e)continue a;c[(c[c[46201]>>2]|0)+28>>2]=(a[(c[46193]|0)+(e+-1)>>0]|0)==10&1;continue a}case 51:{m=0;e=c[46194]|0;if(!e)continue a;c[(c[c[46201]>>2]|0)+28>>2]=(a[(c[46193]|0)+(e+-1)>>0]|0)==10&1;continue a}case 83:{m=0;e=c[46194]|0;if(e|0)c[(c[c[46201]>>2]|0)+28>>2]=(a[(c[46193]|0)+(e+-1)>>0]|0)==10&1;c[46200]=5;$z();continue a}case 89:{m=0;e=c[46194]|0;if(e|0)c[(c[c[46201]>>2]|0)+28>>2]=(a[(c[46193]|0)+(e+-1)>>0]|0)==10&1;bA(95669);continue a}case 92:{m=0;e=c[46194]|0;if(e|0)c[(c[c[46201]>>2]|0)+28>>2]=(a[(c[46193]|0)+(e+-1)>>0]|0)==10&1;bA(93534);continue a}case 95:{m=0;e=c[46194]|0;if(e|0)c[(c[c[46201]>>2]|0)+28>>2]=(a[(c[46193]|0)+(e+-1)>>0]|0)==10&1;c[4699]=(c[4699]|0)+1;continue a}case 98:{m=0;f=c[46194]|0;e=c[46193]|0;if(f|0)c[(c[c[46201]>>2]|0)+28>>2]=(a[e+(f+-1)>>0]|0)==10&1;bA(e);continue a}case 101:{m=0;e=c[46194]|0;if(e|0)c[(c[c[46201]>>2]|0)+28>>2]=(a[(c[46193]|0)+(e+-1)>>0]|0)==10&1;c[46200]=7;c[46205]=1;$z();continue a}case 104:{m=0;e=c[46194]|0;if(e|0)c[(c[c[46201]>>2]|0)+28>>2]=(a[(c[46193]|0)+(e+-1)>>0]|0)==10&1;n=(c[46205]|0)+-1|0;c[46205]=n;if(!n){m=108;break a}bA(c[46193]|0);continue a}case 109:{m=0;f=c[46194]|0;e=c[46193]|0;if(f|0)c[(c[c[46201]>>2]|0)+28>>2]=(a[e+(f+-1)>>0]|0)==10&1;c[46205]=(c[46205]|0)+1;bA(e);continue a}case 112:{m=0;f=c[46194]|0;e=c[46193]|0;if(f|0)c[(c[c[46201]>>2]|0)+28>>2]=(a[e+(f+-1)>>0]|0)==10&1;bA(e);c[4699]=(c[4699]|0)+1;continue a}case 115:{m=0;f=c[46194]|0;e=c[46193]|0;if(f|0)c[(c[c[46201]>>2]|0)+28>>2]=(a[e+(f+-1)>>0]|0)==10&1;bA(e);continue a}case 121:{m=0;f=c[46194]|0;e=c[46193]|0;if(f|0)c[(c[c[46201]>>2]|0)+28>>2]=(a[e+(f+-1)>>0]|0)==10&1;D1(e,f,1,c[46192]|0)|0;continue a}}}switch(m|0){case 27:{e=c[46194]|0;if(!e)l=-1;else{c[(c[c[46201]>>2]|0)+28>>2]=(a[(c[46193]|0)+(e+-1)>>0]|0)==10&1;l=-1}break}case 53:{e=c[46194]|0;if(!e)l=259;else{c[(c[c[46201]>>2]|0)+28>>2]=(a[(c[46193]|0)+(e+-1)>>0]|0)==10&1;l=259}break}case 55:{e=c[46194]|0;if(!e)l=260;else{c[(c[c[46201]>>2]|0)+28>>2]=(a[(c[46193]|0)+(e+-1)>>0]|0)==10&1;l=260}break}case 57:{e=c[46194]|0;if(e|0)c[(c[c[46201]>>2]|0)+28>>2]=(a[(c[46193]|0)+(e+-1)>>0]|0)==10&1;if(!(c[46198]|0)){c[46198]=258;l=258}else l=258;break}case 61:{e=c[46194]|0;if(e|0)c[(c[c[46201]>>2]|0)+28>>2]=(a[(c[46193]|0)+(e+-1)>>0]|0)==10&1;if(!(c[46198]|0)){c[46198]=261;l=261}else l=261;break}case 65:{e=c[46194]|0;if(!e)l=263;else{c[(c[c[46201]>>2]|0)+28>>2]=(a[(c[46193]|0)+(e+-1)>>0]|0)==10&1;l=263}break}case 67:{e=c[46194]|0;if(!e)l=262;else{c[(c[c[46201]>>2]|0)+28>>2]=(a[(c[46193]|0)+(e+-1)>>0]|0)==10&1;l=262}break}case 69:{e=c[46194]|0;if(e|0)c[(c[c[46201]>>2]|0)+28>>2]=(a[(c[46193]|0)+(e+-1)>>0]|0)==10&1;l=(c[46198]|0)==261?264:45;break}case 72:{e=c[46194]|0;if(e|0)c[(c[c[46201]>>2]|0)+28>>2]=(a[(c[46193]|0)+(e+-1)>>0]|0)==10&1;l=(c[46198]|0)==258?264:45;break}case 75:{f=c[46194]|0;e=c[46193]|0;if(f|0)c[(c[c[46201]>>2]|0)+28>>2]=(a[e+(f+-1)>>0]|0)==10&1;c[46221]=Nz(c[46171]|0,e)|0;l=267;break}case 78:{e=c[46194]|0;if(e|0)c[(c[c[46201]>>2]|0)+28>>2]=(a[(c[46193]|0)+(e+-1)>>0]|0)==10&1;if(_z()|0){m=(c[46194]|0)+-1|0;a[f>>0]=a[191725]|0;n=j+m|0;c[46202]=n;c[46193]=j;c[46194]=m;a[191725]=a[n>>0]|0;a[n>>0]=0;c[46202]=n}c[46221]=Nz(c[46171]|0,c[46193]|0)|0;l=267;break}case 86:{e=c[46194]|0;if(e|0)c[(c[c[46201]>>2]|0)+28>>2]=(a[(c[46193]|0)+(e+-1)>>0]|0)==10&1;c[46200]=1;aA();l=268;break}case 108:{c[46200]=1;cA();l=268;break}case 118:{f=c[46194]|0;e=c[46193]|0;if(f|0)c[(c[c[46201]>>2]|0)+28>>2]=(a[e+(f+-1)>>0]|0)==10&1;l=a[e>>0]|0;break}case 134:{gA(93537);break}}return l|0}function Wz(){var a=0,b=0,d=0;b=c[46201]|0;do if(!b){a=nA(4)|0;c[46201]=a;if(!a)gA(93895);else{c[a>>2]=0;a=1;d=9;break}}else{a=c[46212]|0;if(0>=(a+-1|0)>>>0){a=a+8|0;b=hA(b,a<<2)|0;c[46201]=b;if(!b)gA(93895);else{d=b+(c[46212]<<2)|0;c[d>>2]=0;c[d+4>>2]=0;c[d+8>>2]=0;c[d+12>>2]=0;c[d+16>>2]=0;c[d+20>>2]=0;c[d+24>>2]=0;c[d+28>>2]=0;d=9;break}}}while(0);if((d|0)==9)c[46212]=a;return}function Xz(a,b){a=a|0;b=b|0;var d=0;d=nA(48)|0;if(!d)gA(93850);c[d+12>>2]=b;b=nA(b+2|0)|0;c[d+4>>2]=b;if(!b)gA(93850);else{c[d+20>>2]=1;jA(d,a);return d|0}return 0}function Yz(){var b=0,d=0;d=c[46201]|0;b=c[d>>2]|0;c[46206]=c[b+16>>2];b=c[b+8>>2]|0;c[46202]=b;c[46193]=b;c[46191]=c[c[d>>2]>>2];a[191725]=a[b>>0]|0;return}function Zz(){var b=0,d=0,e=0,f=0,g=0,h=0,i=0;g=l;l=l+32|0;f=g;d=g+16|0;e=g+12|0;h=c[46193]|0;b=h+1|0;i=(y$(b,93834,4)|0)==0;b=i?h+5|0:b;c[f>>2]=e;c[f+4>>2]=g+20;c[f+8>>2]=d;f=M1(b,93839,f)|0;if((f|0)>0?(c[4699]=(c[e>>2]|0)+-1,(f|0)!=1):0){d=b+(c[d>>2]|0)|0;b=d;a:while(1){e=a[b>>0]|0;switch(e<<24>>24){case 0:case 34:break a;default:{}}b=b+1|0}if((b|0)!=(d|0)&e<<24>>24==34){a[b>>0]=0;mA(d,b-d|0)}}l=g;return}function _z(){var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0;j=l;l=l+2080|0;i=j+8|0;f=j;b=j+1056|0;d=j+32|0;h=j+16|0;k=a[(c[46193]|0)+((c[46194]|0)+-1)>>0]|0;e=k<<24>>24==46;if(e|((k&255)+-48|0)>>>0<10)if(e?(lA()|0)!=0:0)g=4;else b=0;else g=4;if((g|0)==4){k=c[46195]|0;Sw(h,1024,b);Vw(h,93745)|0;Vw(h,c[46193]|0)|0;c[f>>2]=c[4699];X0(d,93789,f)|0;Vw(h,d)|0;Vw(h,(k|0)==0?93739:k)|0;Vw(h,93806)|0;d=h+4|0;b=c[d>>2]|0;if(b>>>0>=(c[h+8>>2]|0)>>>0){Tw(h,1)|0;b=c[d>>2]|0}a[b>>0]=0;b=c[h>>2]|0;c[d>>2]=b;c[i>>2]=b;Ow(0,93831,i)|0;Ww(h);b=1}l=j;return b|0}function $z(){var b=0;b=c[46207]|0;if(!b){b=B_(1024)|0;c[46207]=b;c[46209]=b+1024}c[46208]=b;a[b>>0]=0;return}function aA(){c[46221]=Nz(c[46171]|0,c[46207]|0)|0;a[c[46207]>>0]=0;return}function bA(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0;e=c[46208]|0;d=c[46207]|0;if(e>>>0>d>>>0){e=e+-1|0;f=3}a:while(1){if((f|0)==3)c[46208]=e;f=c[46209]|0;g=f;do{h=b;b=b+1|0;h=a[h>>0]|0;i=e;e=e+1|0;a[i>>0]=h;if(!(h<<24>>24))break a}while(e>>>0>>0);c[46208]=e;f=d;i=g-f<<1;d=E_(d,i)|0;c[46207]=d;c[46209]=d+i;e=d+(e-f)|0;f=3}c[46208]=e;return}function cA(){c[46221]=Oz(c[46171]|0,c[46207]|0)|0;a[c[46207]>>0]=0;return}function dA(){var d=0,e=0,f=0,g=0,h=0;h=c[46202]|0;g=c[46193]|0;e=(c[(c[c[46201]>>2]|0)+28>>2]|0)+(c[46200]|0)|0;while(1){if(g>>>0>=h>>>0)break;d=a[g>>0]|0;if(!(d<<24>>24))d=1;else d=c[18800+((d&255)<<2)>>2]|0;if(b[63752+(e<<1)>>1]|0){c[46203]=e;c[46204]=g}a:while(1){f=d&255;do{d=f+(b[63938+(e<<1)>>1]|0)|0;if((e|0)==(b[64148+(d<<1)>>1]|0))break a;d=b[64684+(e<<1)>>1]|0;e=d<<16>>16}while(d<<16>>16<=92);d=c[19824+(f<<2)>>2]|0}g=g+1|0;e=b[64894+(d<<1)>>1]|0}return e|0}function eA(a){a=a|0;var d=0;if(b[63752+(a<<1)>>1]|0){d=c[46202]|0;c[46203]=a;c[46204]=d}while(1){d=(b[63938+(a<<1)>>1]|0)+1|0;if((a|0)==(b[64148+(d<<1)>>1]|0))break;a=b[64684+(a<<1)>>1]|0}d=b[64894+(d<<1)>>1]|0;return (d<<16>>16==92?0:d<<16>>16)|0}function fA(){var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;j=c[46201]|0;g=c[j>>2]|0;i=c[g+4>>2]|0;f=c[46193]|0;l=c[46202]|0;k=l;if(l>>>0>(i+((c[46206]|0)+1)|0)>>>0)gA(93592);h=k-f|0;if(!(c[g+40>>2]|0))b=(h|0)==1?1:2;else{l=h+-1|0;h=i;g=0;while(1){if((g|0)>=(l|0))break;a[h>>0]=a[f>>0]|0;h=h+1|0;f=f+1|0;g=g+1|0}f=c[j>>2]|0;do if((c[f+44>>2]|0)==2){c[46206]=0;c[f+16>>2]=0;e=f;m=17}else{while(1){i=f+12|0;h=c[i>>2]|0;g=h-l+-1|0;if(g|0){m=16;break}g=f+4|0;j=c[g>>2]|0;if(!(c[f+20>>2]|0)){m=12;break}f=h<<1;f=(f|0)==0?(h>>>3)+h|0:f;c[i>>2]=f;f=hA(j,f+2|0)|0;c[g>>2]=f;if(!f)break;j=f+(k-j)|0;c[46202]=j;f=c[c[46201]>>2]|0;k=j}if((m|0)==12)c[g>>2]=0;else if((m|0)==16){d=nb[c[c[(c[46196]|0)+8>>2]>>2]&63](c[46197]|0,(c[f+4>>2]|0)+l|0,g>>>0<8192?g:8192)|0;e=c[c[46201]>>2]|0;c[46206]=d;c[e+16>>2]=d;if(!d){m=17;break}else{b=0;break}}gA(93648)}while(0);do if((m|0)==17)if(!l){iA(c[46191]|0);b=1;d=c[46206]|0;e=c[c[46201]>>2]|0;break}else{c[e+44>>2]=2;b=2;d=0;break}while(0);f=d+l|0;do if(f>>>0>(c[e+12>>2]|0)>>>0){m=hA(c[e+4>>2]|0,f+(d>>>1)|0)|0;d=c[46201]|0;c[(c[d>>2]|0)+4>>2]=m;d=c[(c[d>>2]|0)+4>>2]|0;if(!d)gA(93692);else{n=c[46206]|0;o=d;break}}else{n=d;o=c[e+4>>2]|0}while(0);n=n+l|0;c[46206]=n;a[o+n>>0]=0;o=c[46201]|0;a[(c[(c[o>>2]|0)+4>>2]|0)+((c[46206]|0)+1)>>0]=0;c[46193]=c[(c[o>>2]|0)+4>>2]}return b|0}function gA(a){a=a|0;var b=0,d=0;b=l;l=l+16|0;d=c[15686]|0;c[b>>2]=a;f1(d,93588,b)|0;Sa(2)}function hA(a,b){a=a|0;b=b|0;return E_(a,b)|0}function iA(a){a=a|0;var b=0,d=0,e=0;d=c[46201]|0;if((d|0)!=0?(b=c[d>>2]|0,(b|0)!=0):0)e=4;else{Wz();b=Xz(c[46191]|0,16384)|0;d=c[46201]|0;c[d>>2]=b;if(!d)b=0;else e=4}jA(b,a);Yz();return}function jA(a,b){a=a|0;b=b|0;var d=0;d=c[(N_()|0)>>2]|0;kA(a);c[a>>2]=b;c[a+40>>2]=1;b=c[46201]|0;if(!b)b=0;else b=c[b>>2]|0;if((b|0)!=(a|0)){c[a+32>>2]=1;c[a+36>>2]=0}c[a+24>>2]=0;c[(N_()|0)>>2]=d;return}function kA(b){b=b|0;var d=0;if(b|0){c[b+16>>2]=0;d=b+4|0;a[c[d>>2]>>0]=0;a[(c[d>>2]|0)+1>>0]=0;c[b+8>>2]=c[d>>2];c[b+28>>2]=1;c[b+44>>2]=0;d=c[46201]|0;if(!d)d=0;else d=c[d>>2]|0;if((d|0)==(b|0))Yz()}return}function lA(){var b=0,d=0;d=c[46193]|0;b=(c[46194]|0)+-2|0;while(1){if((b|0)<=-1){b=0;break}if((a[d+b>>0]|0)==46){b=1;break}else b=b+-1|0}return b|0}function mA(a,b){a=a|0;b=b|0;var d=0;d=c[46210]|0;if((d|0)<(b|0)){if(!d)d=B_(b+1|0)|0;else d=E_(c[46211]|0,b+1|0)|0;c[46211]=d;c[46210]=b}else d=c[46211]|0;a0(d,a)|0;c[46195]=c[46211];return}function nA(a){a=a|0;return B_(a)|0}function oA(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0;m=l;l=l+2112|0;k=m+32|0;i=m+24|0;h=m+16|0;g=m+8|0;f=m;d=m+56|0;j=m+40|0;Sw(j,1024,m+1080|0);e=c[46195]|0;if(e|0){Vw(j,e)|0;Vw(j,93945)|0}Vw(j,b)|0;c[f>>2]=c[4699];X0(d,93948,f)|0;Vw(j,d)|0;a:do if(!(a[c[46193]>>0]|0))switch(((c[46200]|0)+-1|0)/2|0|0){case 2:{c[g>>2]=16384;X0(d,93968,g)|0;Vw(j,d)|0;b=c[46207]|0;if(!(a[b>>0]|0))break a;i=V_(b)|0;Vw(j,94030)|0;b=c[46207]|0;if((i|0)>80)a[b+80>>0]=0;Vw(j,b)|0;break a}case 3:{c[h>>2]=16384;X0(d,94049,h)|0;Vw(j,d)|0;b=c[46207]|0;if(!(a[b>>0]|0))break a;i=V_(b)|0;Vw(j,94117)|0;b=c[46207]|0;if((i|0)>80)a[b+80>>0]=0;Vw(j,b)|0;break a}case 1:{c[i>>2]=16384;X0(d,94136,i)|0;Vw(j,d)|0;break a}default:break a}else{Vw(j,93960)|0;Vw(j,c[46193]|0)|0;d=j+4|0;b=c[d>>2]|0;if(b>>>0>=(c[j+8>>2]|0)>>>0){Tw(j,1)|0;b=c[d>>2]|0}c[d>>2]=b+1;a[b>>0]=39}while(0);e=j+4|0;b=c[e>>2]|0;d=j+8|0;if(b>>>0>=(c[d>>2]|0)>>>0){Tw(j,1)|0;b=c[e>>2]|0}c[e>>2]=b+1;a[b>>0]=10;b=c[e>>2]|0;if(b>>>0>=(c[d>>2]|0)>>>0){Tw(j,1)|0;b=c[e>>2]|0}a[b>>0]=0;i=c[j>>2]|0;c[e>>2]=i;c[k>>2]=i;Ow(1,93831,k)|0;Ww(j);l=m;return}function pA(){qA(c[46193]|0);return}function qA(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;j=c[46202]|0;a[j>>0]=a[191725]|0;i=c[46201]|0;e=c[i>>2]|0;d=c[e+4>>2]|0;if(j>>>0<(d+2|0)>>>0){f=d+((c[46206]|0)+2)|0;g=d+((c[e+12>>2]|0)+2)|0;k=d;h=e;while(1){if(f>>>0<=k>>>0)break;e=f+-1|0;k=g+-1|0;a[k>>0]=a[e>>0]|0;h=c[i>>2]|0;f=e;g=k;k=c[h+4>>2]|0}e=g-f|0;d=j+e|0;j=c[h+12>>2]|0;c[46206]=j;c[h+16>>2]=j;if(d>>>0<(k+2|0)>>>0)gA(94195);else{l=b+e|0;m=d}}else{l=b;m=j}b=m+-1|0;a[b>>0]=64;c[46193]=l;a[191725]=a[b>>0]|0;c[46202]=b;return}function rA(){var a=0;a=c[46201]|0;if(!a)a=0;else a=c[a>>2]|0;kA(a);return}function sA(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0;e=l;l=l+80|0;f=e;g=a+52|0;EA(a,c[g>>2]|0,18444);a=f+8|0;c[a>>2]=b;c[a+4>>2]=d;d=c[g>>2]|0;d=nb[c[d>>2]&63](d,f,4)|0;l=e;return d|0}function tA(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0;f=sA(b,d,e)|0;if(!f){f=Ly(b,72)|0;c[f+64>>2]=c[b+64>>2];g=f+24|0;h=c[b+24>>2]|0;c[g>>2]=h;a[g>>0]=h&255&-9;c[f+56>>2]=b;c[f+60>>2]=c[b+60>>2];b=f+8|0;c[b>>2]=d;c[b+4>>2]=e;Yx(f)|0}return f|0}function uA(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0;g=l;l=l+16|0;f=g;if(!(((b|0)!=0?(ny(a,0,b,f,0)|0)!=0:0)?(e=f,e=sA(a,c[e>>2]|0,c[e+4>>2]|0)|0,(e|0)!=0):0))if((d|0)!=0?(ny(a,0,b,f,1)|0)!=0:0){e=f;e=tA(a,c[e>>2]|0,c[e+4>>2]|0)|0;ry(a,0,e)}else e=0;l=g;return e|0}function vA(a){a=a|0;a=c[a+52>>2]|0;return nb[c[a>>2]&63](a,0,128)|0}function wA(a){a=a|0;var b=0;b=xA(a)|0;if(!b)a=0;else{b=c[b+52>>2]|0;a=nb[c[b>>2]&63](b,a,8)|0}return a|0}function xA(a){a=a|0;return c[a+56>>2]|0}function yA(a,b){a=a|0;b=b|0;a=c[a+52>>2]|0;return nb[c[a>>2]&63](a,b,2)|0}function zA(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;a=c[46213]|0;e=(b|0)!=0;do if(!a)if(e){C_(b);a=0;break}else{a=B_(d)|0;break}else if(e){My(a,b);a=0;break}else{a=Ly(a,d)|0;break}while(0);return a|0}function AA(a,b,d){a=a|0;b=b|0;d=d|0;a=c[46213]|0;if(!a)C_(b);else My(a,b);return}function BA(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;e=b+28|0;f=c[e>>2]|0;c[e>>2]=7;c[46213]=a;d=Bw(b,d)|0;c[e>>2]=f;c[46213]=0;return d|0}function CA(a,b,d){a=a|0;b=b|0;d=d|0;c[46213]=a;return nb[c[b>>2]&63](b,d,2)|0}function DA(a,b){a=a|0;b=b|0;var d=0,e=0;d=(Jw(b,0,0)|0)+28|0;e=c[d>>2]|0;c[d>>2]=7;c[46213]=a;if(!(xw(b)|0)){c[d>>2]=e;c[46213]=0;a=0}else a=1;return a|0}function EA(a,b,c){a=a|0;b=b|0;c=c|0;if(c|0?(Jw(b,0,0)|0)!=(c|0):0)Jw(b,c,0)|0;return}function FA(a,b){a=a|0;b=b|0;if(!(Qz(a)|0))b=HA(a,b)|0;else GA(a,b)|0;return b|0}function GA(b,c){b=b|0;c=c|0;var d=0,e=0,f=0;a[c>>0]=60;e=c;while(1){d=e+1|0;f=a[b>>0]|0;if(!(f<<24>>24))break;a[d>>0]=f;b=b+1|0;e=d}a[d>>0]=62;a[e+2>>0]=0;return c|0}function HA(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;a:do if((b|0)!=0?(a[b>>0]|0)!=0:0){a[d>>0]=34;l=a[b>>0]|0;q=0;g=((l+-45&255)<2|((l&255)+-48|0)>>>0<10)&1;h=0;i=0;j=0;e=d+1|0;f=b+1|0;b:while(1){k=e;while(1){if(!(l<<24>>24))break b;e=l&255;c:do if(l<<24>>24==34){a[k>>0]=92;m=g;n=1;k=k+1|0}else{if(!g){n=l<<24>>24>-1&(l<<24>>24!=95&(L$(e)|0)==0);m=0;n=n?1:h;break}switch(l<<24>>24){case 45:{n=(j|0)==0;m=n?g:0;n=n?h:1;break c}case 46:{n=(i|0)==0;m=n?g:0;n=n?h:1;i=i+1|0;break c}default:{n=(e+-48|0)>>>0<10;m=n?g:0;n=n?h:1;break c}}}while(0);e=k+1|0;a[k>>0]=l;p=f+1|0;o=a[f>>0]|0;j=j+1|0;f=c[5005]|0;if(!f){g=m;h=n;k=e;f=p;l=o;continue}g=o&255;h=o<<24>>24!=0;if((q&h?!(l<<24>>24==92|l<<24>>24>-1&((l+-45&255)>1&(L$(l<<24>>24)|0)==0)^1):0)?!(o<<24>>24>-1&((o+-45&255)>1&(L$(g)|0)==0)):0)break;if((j|0)<(f|0)|h^1){g=m;h=n;k=e;f=p;l=o;continue}if(l<<24>>24==92|l<<24>>24>-1&((L$(l<<24>>24)|0)==0&(l+-45&255)>1)^1){q=1;g=m;h=n;l=o;f=p;continue b}if(o<<24>>24>-1&((o+-45&255)>1&(L$(g)|0)==0)){q=1;g=m;h=n;l=o;f=p;continue b}a[e>>0]=92;a[k+2>>0]=10;g=m;h=1;j=0;k=k+3|0;f=p;l=o}a[e>>0]=92;a[k+2>>0]=10;q=0;g=m;h=1;j=0;l=o;e=k+3|0;f=p}a[k>>0]=34;a[k+1>>0]=0;if(!h){if((j|0)==1?((a[b>>0]|0)+-45&255)<2:0){b=d;break}else e=20024;while(1){f=c[e>>2]|0;if(!f)break a;if(!(N$(f,b)|0)){b=d;break}else e=e+4|0}}else b=d}else b=94227;while(0);return b|0}function IA(a){a=a|0;return FA(a,JA(a)|0)|0}function JA(a){a=a|0;var b=0;b=((V_(a)|0)<<1)+2|0;b=b>>>0>1024?b:1024;a=c[46215]|0;if(b>>>0>(c[46214]|0)>>>0){if(!a)a=B_(b)|0;else a=E_(a,b)|0;c[46215]=a;c[46214]=b}return a|0}function KA(a,b){a=a|0;b=b|0;a=vA(a)|0;while(1){if(!a){a=0;break}if((LA(a)|0)==0?Wy(a,b,0)|0:0){a=1;break}a=wA(a)|0}return a|0}function LA(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0;h=qy(b)|0;if((h|0)!=0?(a[h>>0]|0)!=37:0)d=0;else e=3;a:do if((e|0)==3){d=cx(b)|0;b:do if(d|0?(f=cx(xA(b)|0)|0,f|0):0){h=Dw(c[(cx(ez(b)|0)|0)+8>>2]|0)|0;g=d+12|0;e=f+12|0;d=0;while(1){if((d|0)>=(h|0))break b;f=c[(c[g>>2]|0)+(d<<2)>>2]|0;if((f|0?(i=c[(c[e>>2]|0)+(d<<2)>>2]|0,i|0):0)?a$(f,i)|0:0){d=0;break a}d=d+1|0}}while(0);d=Zw(b,0)|0;if(d)if((Dw(c[d+8>>2]|0)|0)>0)d=0;else return (Dw(c[d+12>>2]|0)|0)<1|0;else d=1}while(0);return d|0}function MA(b,d){b=b|0;d=d|0;var e=0,f=0;c[46216]=0;e=wx(b,94237)|0;if((e|0?((a[e>>0]|0)+-48|0)>>>0<10:0)?(f=h1(e,0,10)|0,(f|0)==0|(f|0)>59):0)c[5005]=f;NA(b,1);if(((OA(b,d,1)|0)!=-1?(PA(b,d)|0)!=-1:0)?(QA(b,d)|0)!=-1:0){c[5005]=128;b=kb[c[(c[(c[b+64>>2]|0)+8>>2]|0)+8>>2]&63](d)|0}else b=-1;return b|0}function NA(a,b){a=a|0;b=b|0;var d=0;c[a>>2]=c[a>>2]&-9;d=vA(a)|0;while(1){if(!d)break;NA(d,0);d=wA(d)|0}a:do if(b|0){b=Ry(a)|0;while(1){if(!b)break a;c[b>>2]=c[b>>2]&-9;d=Dx(a,b)|0;while(1){if(!d)break;c[d>>2]=c[d>>2]&-9;d=Fx(a,d)|0}b=Sy(a,b)|0}}while(0);return}function OA(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0;if((e|0)==0?(xA(b)|0)!=0:0){i=0;g=191979;k=106488}else{k=(a[b+24>>0]&1)==0?191979:94281;g=(fy(b)|0)==0;c[46217]=mx(b,2,108373,0)|0;c[46218]=mx(b,2,108382,0)|0;i=1;g=g?191979:94284}f=qy(b)|0;if((f|0)!=0?(a[f>>0]|0)!=37:0){h=1;j=99578}else{h=0;j=191979;f=191979}do if((RA(b,d)|0)!=-1?(SA(b,d,g)|0)!=-1:0){g=(h|0)==0;if(h|i|0){if((SA(b,d,k)|0)==-1){f=-1;break}if((SA(b,d,99571)|0)==-1){f=-1;break}}if(!g?(bB(b,d,f)|0)==-1:0){f=-1;break}if(((SA(b,d,j)|0)!=-1?(SA(b,d,94292)|0)!=-1:0)?(c[46216]=(c[46216]|0)+1,(gB(b,d,e)|0)!=-1):0){c[b>>2]=c[b>>2]|8;f=0}else f=-1}else f=-1;while(0);return f|0}function PA(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0;a:do if((TA(a,b)|0)==-1)d=-1;else{k=Zw(ez(a)|0,0)|0;i=(k|0)==0;j=k+12|0;k=k+8|0;h=Ry(a)|0;while(1){if(!h){d=0;break a}if(UA(a,h,(c[h>>2]|0)>>>4,0)|0){if(i)d=0;else d=c[k>>2]|0;if((VA(h,b,d)|0)==-1){d=-1;break a}}g=Dx(a,h)|0;d=h;while(1){if(!g)break;f=g+-48|0;e=c[((c[g>>2]&3|0)==2?g:f)+40>>2]|0;if((d|0)!=(e|0)?(UA(a,e,(c[h>>2]|0)>>>4,0)|0)!=0:0){if(i)d=0;else d=c[k>>2]|0;if((VA(c[((c[g>>2]&3|0)==2?g:f)+40>>2]|0,b,d)|0)==-1){d=-1;break a}d=c[((c[g>>2]&3|0)==2?g:f)+40>>2]|0}if(WA(a,g)|0){if(i)e=0;else e=c[j>>2]|0;if((XA(g,b,e)|0)==-1){d=-1;break a}}g=Fx(a,g)|0}h=Sy(a,h)|0}}while(0);return d|0}function QA(a,b){a=a|0;b=b|0;c[46216]=(c[46216]|0)+-1;if((RA(a,b)|0)==-1)a=-1;else a=((SA(a,b,107982)|0)==-1)<<31>>31;return a|0}function RA(a,b){a=a|0;b=b|0;var d=0;d=c[46216]|0;while(1){if((d|0)<=0){d=0;break}if((SA(a,b,150515)|0)==-1){d=-1;break}else d=d+-1|0}return d|0}function SA(a,b,d){a=a|0;b=b|0;d=d|0;return lb[c[(c[(c[a+64>>2]|0)+8>>2]|0)+4>>2]&127](b,d)|0}function TA(a,b){a=a|0;b=b|0;a=vA(a)|0;while(1){if(!a){a=0;break}if(!(LA(a)|0)){if((OA(a,b,0)|0)==-1){a=-1;break}if((PA(a,b)|0)==-1){a=-1;break}if((QA(a,b)|0)==-1){a=-1;break}}else TA(a,b)|0;a=wA(a)|0}return a|0}function UA(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0;if((KA(a,b)|0)==0?(dB(a,b,c,d)|0)!=0:0)if((eB(a,b)|0)==0?(fB(b)|0)==0:0)e=5;else a=1;else e=5;if((e|0)==5)a=0;return a|0}function VA(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;d=dz(a)|0;do if((RA(d,b)|0)!=-1?(YA(a,b)|0)!=-1:0){if((_A(a)|0)==0?($A(a,b,c)|0)==-1:0){a=-1;break}a=SA(d,b,94248)|0}else a=-1;while(0);return a|0}function WA(a,b){a=a|0;b=b|0;a=vA(a)|0;while(1){if(!a){a=1;break}if((LA(a)|0)==0?Ux(a,b,0)|0:0){a=0;break}a=wA(a)|0}return a|0}function XA(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0;e=c[a>>2]&3;g=c[((e|0)==3?a:a+48|0)+40>>2]|0;e=c[((e|0)==2?a:a+-48|0)+40>>2]|0;f=dz(g)|0;do if((((((RA(f,b)|0)!=-1?(YA(g,b)|0)!=-1:0)?(ZA(a,b,c[46217]|0)|0)!=-1:0)?(g=(dy(dz(g)|0)|0)!=0,(SA(f,b,g?97053:97058)|0)!=-1):0)?(YA(e,b)|0)!=-1:0)?(ZA(a,b,c[46218]|0)|0)!=-1:0){if(!(_A(a)|0)){if(($A(a,b,d)|0)==-1){a=-1;break}}else if((aB(a,b,1)|0)==-1){a=-1;break}a=SA(f,b,94248)|0}else a=-1;while(0);return a|0}function YA(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0;i=l;l=l+32|0;g=i;d=i+8|0;e=qy(a)|0;f=dz(a)|0;if(!e){j=a+8|0;a=c[j+4>>2]|0;e=g;c[e>>2]=c[j>>2];c[e+4>>2]=a;X0(d,94268,g)|0;if((SA(f,b,d)|0)==-1)a=-1;else h=4}else if((bB(f,b,e)|0)==-1)a=-1;else h=4;if((h|0)==4)a=0;l=i;return a|0}function ZA(b,c,d){b=b|0;c=c|0;d=d|0;var e=0,f=0;a:do if((d|0)!=0?(e=dz(b)|0,f=xx(b,d)|0,(a[f>>0]|0)!=0):0)if((SA(e,c,104958)|0)==-1)b=-1;else{do if(Qz(f)|0){if((bB(e,c,f)|0)==-1){b=-1;break a}}else{b=z$(f,58)|0;if(!b)if((cB(e,c,f,0)|0)==-1){b=-1;break a}else break;a[b>>0]=0;if((cB(e,c,f,0)|0)==-1){b=-1;break a}if((SA(e,c,104958)|0)==-1){b=-1;break a}if((cB(e,c,b+1|0,0)|0)==-1){b=-1;break a}a[b>>0]=58}while(0);b=0}else b=0;while(0);return b|0}function _A(a){a=a|0;return (c[a>>2]|0)>>>3&1|0}function $A(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0;a:do if(!(c[a>>2]&2)){e=0;k=4}else{switch(aB(a,b,0)|0){case -1:{e=-1;break a}case 0:{e=0;k=4;break a}default:{}}e=1;k=4}while(0);b:do if((k|0)==4){f=cx(a)|0;j=dz(a)|0;c:do if(f){i=f+12|0;h=nb[c[d>>2]&63](d,0,128)|0;while(1){if(!h)break c;do if(c[a>>2]&2){g=c[46217]|0;if(g|0?(c[h+16>>2]|0)==(c[g+16>>2]|0):0)break;g=c[46218]|0;if(!((g|0)!=0?(c[h+16>>2]|0)==(c[g+16>>2]|0):0))k=12}else k=12;while(0);if((k|0)==12){k=0;f=h+16|0;if((c[(c[i>>2]|0)+(c[f>>2]<<2)>>2]|0)!=(c[h+12>>2]|0)){g=e+1|0;if(e){if((SA(j,b,94263)|0)==-1){e=-1;break b}if((RA(j,b)|0)==-1){e=-1;break b}}else{if((RA(j,b)|0)==-1){e=-1;break b}if((SA(j,b,94260)|0)==-1){e=-1;break b}c[46216]=(c[46216]|0)+1}if((bB(j,b,c[h+8>>2]|0)|0)==-1){e=-1;break b}if((SA(j,b,94266)|0)==-1){e=-1;break b}if((bB(j,b,c[(c[i>>2]|0)+(c[f>>2]<<2)>>2]|0)|0)==-1){e=-1;break b}else e=g}}h=nb[c[d>>2]&63](d,h,8)|0}}while(0);if((e|0)>0){if((SA(j,b,94258)|0)==-1){e=-1;break}c[46216]=(c[46216]|0)+-1}c[a>>2]=c[a>>2]|8;e=0}while(0);return e|0}function aB(b,c,d){b=b|0;c=c|0;d=d|0;var e=0,f=0;e=qy(b)|0;b=dz(b)|0;if((e|0)!=0?(a[e>>0]|0)!=0:0)if((SA(b,c,94251)|0)!=-1?(bB(b,c,e)|0)!=-1:0)if((d|0)!=0?(SA(b,c,94258)|0)==-1:0)b=-1;else{b=1;f=7}else b=-1;else{b=0;f=7}return b|0}function bB(a,b,c){a=a|0;b=b|0;c=c|0;return cB(a,b,c,1)|0}function cB(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;if(!d)c=HA(c,JA(c)|0)|0;else c=IA(c)|0;return SA(a,b,c)|0}function dB(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;a:do if(0>>0|(0==(e|0)?(c[b>>2]|0)>>>4>>>0>>0:0))b=0;else{b=Gx(a,b)|0;while(1){if(!b){b=1;break a}if(0>>0|(0==(e|0)?(c[c[b+40>>2]>>2]|0)>>>4>>>0>>0:0)){b=0;break a}b=Hx(a,b)|0}}while(0);return b|0}function eB(a,b){a=a|0;b=b|0;if(!(Gx(a,b)|0))a=(Dx(a,b)|0)==0&1;else a=0;return a|0}function fB(a){a=a|0;var b=0,d=0,e=0;a=cx(a)|0;a:do if(!a)a=0;else{d=a+8|0;e=c[d>>2]|0;b=a+12|0;a=nb[c[e>>2]&63](e,0,128)|0;while(1){if(!a){a=0;break a}if((c[(c[b>>2]|0)+(c[a+16>>2]<<2)>>2]|0)!=(c[a+12>>2]|0)){a=1;break a}e=c[d>>2]|0;a=nb[c[e>>2]&63](e,a,8)|0}}while(0);return a|0}function gB(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;e=Zw(a,0)|0;if(e)if(((hB(a,b,108412,c[e+16>>2]|0,d)|0)!=-1?(hB(a,b,108399,c[e+8>>2]|0,d)|0)!=-1:0)?(hB(a,b,108368,c[e+12>>2]|0,d)|0)!=-1:0)f=5;else a=-1;else f=5;if((f|0)==5)a=0;return a|0}function hB(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;m=(g|0)!=0;if(m)l=0;else l=Gw(f,0)|0;k=(l|0)==0;j=nb[c[f>>2]&63](f,0,128)|0;g=0;while(1){if(!j){n=23;break}i=j+12|0;n=c[i>>2]|0;if((n|0)!=0?(a[n>>0]|0)!=0:0)n=12;else n=7;do if((n|0)==7){n=0;if(!(a[j+22>>0]|0)){if(!k){h=nb[c[l>>2]&63](l,j,4)|0;o=c[h+12>>2]|0;if(o|0?a[o>>0]|0:0){n=12;break}if(!(a[h+22>>0]|0))n=12}}else n=12}while(0);if((n|0)==12){n=0;h=g+1|0;if(g){if((SA(b,d,94263)|0)==-1){g=-1;break}if((RA(b,d)|0)==-1){g=-1;break}}else{if((RA(b,d)|0)==-1){g=-1;break}if((SA(b,d,e)|0)==-1){g=-1;break}if((SA(b,d,94260)|0)==-1){g=-1;break}c[46216]=(c[46216]|0)+1}if((bB(b,d,c[j+8>>2]|0)|0)==-1){g=-1;break}if((SA(b,d,94266)|0)==-1){g=-1;break}if((bB(b,d,c[i>>2]|0)|0)==-1){g=-1;break}else g=h}j=nb[c[f>>2]&63](f,j,8)|0}do if((n|0)==23){if((g|0)>0){c[46216]=(c[46216]|0)+-1;if((g|0)!=1){if((SA(b,d,150517)|0)==-1){g=-1;break}if((RA(b,d)|0)==-1){g=-1;break}}g=(SA(b,d,94295)|0)==-1;if(m|g){g=g<<31>>31;break}}else if(m){g=0;break}Gw(f,l)|0;g=0}while(0);return g|0}function iB(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0;switch(c[b>>2]&3){case 0:{g=80;break}case 1:{g=81;break}case 3:case 2:{g=82;break}default:{}}b=lb[g&127](a,b)|0;if(!b)b=-1;else{mB(a,b,d,e,g,f);b=0}return b|0}function jB(a,b){a=a|0;b=b|0;if((dz(b)|0)!=(a|0))b=Ux(a,b,0)|0;return b|0}function kB(a,b){a=a|0;b=b|0;if((dz(b)|0)!=(a|0))b=Wy(a,b,0)|0;return b|0}function lB(a,b){a=a|0;b=b|0;return a|0}function mB(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0;h=(f|0)!=0;if(h)vb[c&127](a,b,d);g=vA(a)|0;while(1){if(!g)break;i=lb[e&127](g,b)|0;if(i|0)mB(g,i,c,d,e,f);g=wA(g)|0}if(!h)vb[c&127](a,b,d);return}function nB(){var e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;t=l;l=l+1200|0;r=t+800|0;g=t;c[46219]=0;c[46220]=-2;f=r;i=200;n=g;p=0;q=0;o=r;a:while(1){b[o>>1]=p;if((f+(i<<1)+-2|0)>>>0>o>>>0)k=i;else{m=o-f>>1;e=m+1|0;if(i>>>0>9999){s=75;break}k=i<<1;k=k>>>0<1e4?k:1e4;h=B_(k*6|3)|0;if(h){E3(h|0,f|0,e<<1|0)|0;i=h+(k>>>1<<2)|0;E3(i|0,n|0,e<<2|0)|0;if((f|0)==(r|0)){e=0;f=h}else{C_(f);e=0;f=h}}else{e=4;i=n}j=(e|0)==0;h=f+(m<<1)|0;switch((j?((f+(k<<1)+-2|0)>>>0>h>>>0?0:9):e)&15){case 9:{e=1;s=76;break a}case 4:{s=75;break a}case 0:{g=j?i+(m<<2)|0:g;n=i;o=j?h:o;break}default:{e=0;break a}}}if((p|0)==6){e=0;s=76;break}e=a[94299+p>>0]|0;j=e<<24>>24;do if(e<<24>>24!=-18){h=c[46220]|0;if((h|0)==-2){h=Vz()|0;c[46220]=h}if((h|0)>=1)if(h>>>0<269)i=d[94379+h>>0]|0;else i=2;else{c[46220]=0;i=0}h=i+j|0;if(h>>>0<=59?(i|0)==(d[94648+h>>0]|0):0){p=a[94708+h>>0]|0;e=p<<24>>24;if(p<<24>>24<1){h=0-e|0;s=23;break}else{c[46220]=-2;g=g+4|0;c[g>>2]=c[46221];j=(q|0)==0?0:q+-1|0;h=o;break}}else s=22}else s=22;while(0);if((s|0)==22){s=0;p=a[94768+p>>0]|0;h=p&255;if(!(p<<24>>24)){h=c[46220]|0;b:do switch(q|0){case 0:{c[46219]=(c[46219]|0)+1;oA(140679);h=o;break}case 3:if((h|0)<1)if(!h){e=1;s=76;break a}else{h=o;break b}else{c[46220]=-2;h=o;break b}default:h=o}while(0);while(1){if(e<<24>>24==18)break;if((h|0)==(f|0)){e=1;s=76;break a}e=h+-2|0;g=g+-4|0;h=e;e=a[94299+(b[e>>1]|0)>>0]|0}g=g+4|0;c[g>>2]=c[46221];e=1;j=3}else s=23}do if((s|0)==23){s=0;i=d[94848+h>>0]|0;e=c[g+(1-i<<2)>>2]|0;c:do switch(h|0){case 2:{oB();pB();break}case 3:{if(c[46222]|0){oB();pB();_x(c[46222]|0)|0;c[46171]=0;c[46222]=0}break}case 6:{qB(c[g>>2]|0,c[g+-4>>2]|0,c[g+-8>>2]|0);break}case 7:{e=c[g>>2]|0;break}case 8:{e=0;break}case 9:{e=1;break}case 10:{e=0;break}case 11:{e=0;break}case 12:{e=1;break}case 21:if(!(c[g+-4>>2]|0)){sB();break c}else{rB();break c}case 24:{tB();break}case 25:{tB();break}case 26:{e=1;break}case 27:{e=0;break}case 30:{uB(c[g>>2]|0,0,0);break}case 31:{uB(c[g+-8>>2]|0,c[g>>2]|0,0);break}case 32:{uB(c[g+-16>>2]|0,c[g+-8>>2]|0,c[g>>2]|0);break}case 33:{vB(c[g+-8>>2]|0,c[g+-4>>2]|0);break}case 34:{vB(258,0);break}case 35:{e=258;break}case 36:{e=259;break}case 37:{e=260;break}case 38:{e=c[g+-4>>2]|0;break}case 39:{e=0;break}case 48:{wB(c[g+-8>>2]|0,c[g>>2]|0);break}case 49:{wB(c[g>>2]|0,0);break}case 51:{xB(c[g>>2]|0);break}case 52:{yB();break}case 53:{e=c[g>>2]|0;break}case 54:{e=0;break}case 55:{e=0;break}case 59:{e=c[g>>2]|0;break}case 60:{e=c[g>>2]|0;break}case 61:{e=c[g>>2]|0;break}case 62:{e=zB(c[g+-8>>2]|0,c[g>>2]|0)|0;break}default:{}}while(0);i=0-i|0;p=g+(i<<2)|0;i=o+(i<<1)|0;g=p+4|0;c[p+4>>2]=e;e=(d[94911+h>>0]|0)+-24|0;p=b[i>>1]|0;h=p+(a[94974+e>>0]|0)|0;if(h>>>0<60?(d[94648+h>>0]|0)==(p|0):0){e=a[94708+h>>0]|0;j=q;h=i;break}e=a[95009+e>>0]|0;j=q;h=i}while(0);i=k;p=e;q=j;o=h+2|0}if((s|0)==75){oA(137476);e=2;s=76}if((s|0)==76)if((f|0)!=(r|0))C_(f);l=t;return e|0}function oB(){var a=0,b=0;a=c[46223]|0;while(1){if(!a)break;HB(a+8|0);HB((c[46223]|0)+24|0);HB((c[46223]|0)+16|0);b=AB(c[46223]|0)|0;c[46223]=b;a=b}return}function pB(){pA();zy(c[46222]|0);return}function qB(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0;h=l;l=l+16|0;g=h;f=c[46222]|0;if(!f){a[184896]=d&1|(e&255)<<1&2|a[184896]&-12|8;f=c[46225]|0;a[g>>0]=a[184896]|0;a[g+1>>0]=a[184897]|0;a[g+2>>0]=a[184898]|0;a[g+3>>0]=a[184899]|0;f=Wx(b,g,f)|0;c[46222]=f}c[46171]=f;c[46223]=BB(c[46223]|0,f)|0;Pz(0,b)|0;l=h;return}function rB(){var b=0,d=0,e=0,f=0,g=0,h=0;GB(2);e=c[46223]|0;f=a[95044]|0;h=0;b=e+24|0;while(1){d=c[b>>2]|0;if(!d)break;if(((c[d>>2]|0)==267?(g=c[d+4>>2]|0,(a[g>>0]|0)==f<<24>>24):0)?(a$(g,95044)|0)==0:0)b=c[d+8>>2]|0;else b=h;h=b;b=d+12|0}b=e+16|0;a:while(1){e=c[b>>2]|0;b=e+12|0;if(!(c[b>>2]|0))break;d=e+4|0;if((c[e>>2]|0)==262){e=c[d>>2]|0;d=Ry(e)|0;while(1){if(!d)continue a;g=Wy(c[c[46223]>>2]|0,d,0)|0;OB(g,0,c[b>>2]|0,h);d=Sy(e,d)|0}}else while(1){d=c[d>>2]|0;if(!d)continue a;OB(c[d+4>>2]|0,c[d+8>>2]|0,c[b>>2]|0,h);d=d+12|0}}HB((c[46223]|0)+8|0);HB((c[46223]|0)+16|0);HB((c[46223]|0)+24|0);c[(c[46223]|0)+4>>2]=0;return}function sB(){var a=0;GB(1);a=(c[46223]|0)+8|0;while(1){a=c[a>>2]|0;if(!a)break;NB(c[a+4>>2]|0);a=a+12|0}HB((c[46223]|0)+8|0);HB((c[46223]|0)+24|0);HB((c[46223]|0)+16|0);c[(c[46223]|0)+4>>2]=0;return}function tB(){var a=0,b=0;a=c[46223]|0;b=c[a+8>>2]|0;if(!b){b=c[a+4>>2]|0;if(!b)b=0;else{b=MB(b)|0;a=c[46223]|0}c[a+4>>2]=0}else{b=LB(b)|0;a=c[46223]|0;c[a+12>>2]=0;c[a+8>>2]=0}if(b|0)DB(a+16|0,b);return}function uB(a,b,d){a=a|0;b=b|0;d=d|0;if(d)b=JB(b,d)|0;d=KB($y(c[c[46223]>>2]|0,a,1)|0,b)|0;DB((c[46223]|0)+8|0,d);Pz(c[46222]|0,a)|0;return}function vB(b,d){b=b|0;d=d|0;var e=0,f=0,g=0;if(d|0)FB();d=(c[46223]|0)+24|0;while(1){d=c[d>>2]|0;if(!d)break;if(!(c[d+8>>2]|0))FB();d=d+12|0}g=(b|0)==260?2:(b|0)==259&1;GB(g);b=c[46223]|0;d=b+24|0;while(1){f=c[d>>2]|0;if(!f)break;do if((c[f>>2]|0)!=267){d=c[f+4>>2]|0;e=c[b>>2]|0;if(!((a[d+21>>0]|0)!=0&(e|0)==(c[46222]|0))){d=mx(e,g,c[d+8>>2]|0,c[f+8>>2]|0)|0;b=c[46223]|0;if((c[b>>2]|0)!=(c[46222]|0))break}a[d+22>>0]=1}while(0);d=f+12|0}HB(b+24|0);return}function wB(a,b){a=a|0;b=b|0;b=CB(a,b)|0;DB((c[46223]|0)+24|0,b);return}function xB(a){a=a|0;var b=0;b=c[46223]|0;c[46223]=BB(b,uA(c[b>>2]|0,a,1)|0)|0;Pz(c[46222]|0,a)|0;return}function yB(){var a=0,b=0;a=c[46223]|0;b=c[a>>2]|0;a=AB(a)|0;c[46223]=a;c[a+4>>2]=b;return}function zB(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;g=l;l=l+1024|0;f=g;d=V_(a)|0;d=d+1+(V_(b)|0)|0;if(d>>>0<1025)d=f;else d=B_(d)|0;a0(d,a)|0;o1(d,b)|0;e=Nz(c[46222]|0,d)|0;Pz(c[46222]|0,a)|0;Pz(c[46222]|0,b)|0;if((d|0)!=(f|0))C_(d);l=g;return e|0}function AB(a){a=a|0;var b=0;b=c[(c[46223]|0)+32>>2]|0;My(c[46222]|0,a);return b|0}function BB(a,b){a=a|0;b=b|0;var d=0;d=Ly(c[46222]|0,36)|0;c[d+32>>2]=a;c[d>>2]=b;return d|0}function CB(a,b){a=a|0;b=b|0;return EB(267,a,b)|0}function DB(a,b){a=a|0;b=b|0;var d=0,e=0;d=a+4|0;e=c[d>>2]|0;if(e|0)c[e+12>>2]=b;c[d>>2]=b;if(!(c[a>>2]|0))c[a>>2]=b;return}function EB(a,b,d){a=a|0;b=b|0;d=d|0;var e=0;e=Ly(c[46222]|0,16)|0;c[e>>2]=a;c[e+4>>2]=b;c[e+8>>2]=d;return e|0}function FB(){var a=0;a=l;l=l+16|0;Ow(0,95048,a)|0;l=a;return}function GB(b){b=b|0;var d=0,e=0,f=0,g=0,h=0;g=(b|0)==2;d=(c[46223]|0)+24|0;while(1){d=c[d>>2]|0;if(!d)break;e=d+4|0;f=c[e>>2]|0;if(!((g?(a[f>>0]|0)==(a[95044]|0):0)?!(a$(f,95044)|0):0)){h=mx(c[c[46223]>>2]|0,b,f,0)|0;c[e>>2]=h;if(!h)c[e>>2]=mx(c[c[46223]>>2]|0,b,f,191979)|0;c[d>>2]=266;Pz(c[46222]|0,f)|0}d=d+12|0}return}function HB(a){a=a|0;IB(c[a>>2]|0);c[a+4>>2]=0;c[a>>2]=0;return}function IB(a){a=a|0;var b=0;while(1){if(!a)break;b=c[a+12>>2]|0;switch(c[a>>2]|0){case 265:{IB(c[a+4>>2]|0);break}case 266:case 267:{Pz(c[46222]|0,c[a+8>>2]|0)|0;break}default:{}}My(c[46222]|0,a);a=b}return}function JB(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;h=l;l=l+1040|0;f=h;g=h+8|0;d=V_(a)|0;d=d+2+(V_(b)|0)|0;if(d>>>0<1025)e=g;else e=B_(d)|0;c[f>>2]=a;c[f+4>>2]=b;X0(e,95081,f)|0;d=Nz(c[46222]|0,e)|0;Pz(c[46222]|0,a)|0;Pz(c[46222]|0,b)|0;if((e|0)!=(g|0))C_(e);l=h;return d|0}function KB(a,b){a=a|0;b=b|0;return EB(259,a,b)|0}function LB(a){a=a|0;return EB(265,a,0)|0}function MB(a){a=a|0;return EB(262,a,0)|0}function NB(a){a=a|0;var b=0,d=0;b=(c[46223]|0)+24|0;while(1){b=c[b>>2]|0;if(!b)break;if((c[b>>2]|0)==266?(d=c[b+4>>2]|0,d|0):0)qx(a,d,c[b+8>>2]|0)|0;b=b+12|0}return}function OB(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0;f=d+4|0;a:do if((c[d>>2]|0)==262){d=c[f>>2]|0;f=Ry(d)|0;while(1){if(!f)break a;PB(a,b,Wy(c[c[46223]>>2]|0,f,0)|0,0,e);f=Sy(d,f)|0}}else while(1){f=c[f>>2]|0;if(!f)break a;d=Wy(c[c[46223]>>2]|0,c[f+4>>2]|0,0)|0;PB(a,b,d,c[f+8>>2]|0,e);f=f+12|0}while(0);return}function PB(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0;d=Qx(c[c[46223]>>2]|0,a,d,f,1)|0;if(d|0){g=c[d>>2]&3;f=c[((g|0)==2?d:d+-48|0)+40>>2]|0;a=(f|0)==(a|0)?(c[((g|0)==3?d:d+48|0)+40>>2]|0)!=(f|0):0;QB(d,108373,a?e:b);QB(d,108382,a?b:e);NB(d)}return}function QB(a,b,d){a=a|0;b=b|0;d=d|0;var e=0;if(d|0){e=mx(c[c[46223]>>2]|0,2,b,0)|0;if(!e)e=mx(c[c[46223]>>2]|0,2,b,191979)|0;qx(a,e,d)|0}return}function RB(a,b,d){a=a|0;b=b|0;d=d|0;c[46191]=b;c[46222]=a;c[46171]=0;a=d|0?d:18496;c[46225]=a;Uz(a,b);nB()|0;a=c[46171]|0;if(!a){rA();a=c[46171]|0}return a|0}function SB(a,b){a=a|0;b=b|0;return RB(0,a,b)|0}function TB(a,b){a=a|0;b=b|0;b=vC(a,1,b)|0;if(!b)b=999;else{b=c[b+16>>2]|0;c[a+184>>2]=c[b+4>>2];c[a+172>>2]=c[b+12>>2];c[a+176>>2]=c[b>>2];c[a+180>>2]=c[b+16>>2];b=300}return b|0}function UB(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0;i=l;l=l+16|0;f=i;zz(b,134401,280,1)|0;g=b+16|0;c[(c[g>>2]|0)+144>>2]=a;if((ez(b)|0)!=(b|0))c[(c[(ez(b)|0)+16>>2]|0)+144>>2]=a;e=wx(b,95297)|0;d=a+172|0;if((e|0)!=0?(c[d>>2]=0,(TB(a,e)|0)==999):0){d=wC(a,1,e)|0;c[f>>2]=e;c[f+4>>2]=d;Ow(1,95824,f)|0;d=-1}else{e=c[d>>2]|0;if(!e)d=-1;else{BG(1);aH(b,c[c[a+180>>2]>>2]&1);d=c[(c[g>>2]|0)+8>>2]|0;c[(c[(ez(b)|0)+16>>2]|0)+8>>2]=d;KK();d=c[e>>2]|0;if(d|0?(tb[d&127](b),h=c[e+4>>2]|0,h|0):0)c[(c[g>>2]|0)+148>>2]=h;BG(0);d=0}}l=i;return d|0}function VB(a,b){a=a|0;b=b|0;var d=0,e=0;if(zz(b,134401,0,1)|0){d=b+16|0;a=c[d>>2]|0;e=c[a+148>>2]|0;if(e){tb[e&127](b);a=c[d>>2]|0;c[a+148>>2]=0}if(c[a+8>>2]|0)fH(b)}return 0}function WB(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0;k=l;l=l+16|0;j=k+8|0;i=k;d=c[b+76>>2]|0;f=c[b>>2]|0;if((d|0)!=0?(e=c[d>>2]|0,(e|0)!=0):0){tb[e&127](b);g=12}else g=4;do if((g|0)==4)if((c[b+40>>2]|0)==0?(h=b+36|0,(c[h>>2]|0)==0):0){if(a[f+13>>0]|0)XB(b);d=b+32|0;e=c[d>>2]|0;if(!e){c[h>>2]=c[15653];g=12;break}f=K1(e,103486)|0;c[h>>2]=f;if(!f){j=c[(c[b+12>>2]|0)+16>>2]|0;h=c[d>>2]|0;d=b$(c[(N_()|0)>>2]|0)|0;c[i>>2]=h;c[i+4>>2]=d;ub[j&63](95087,i);d=1}else g=12}else g=12;while(0);if((g|0)==12)if(!(c[b+152>>2]&1024))d=0;else{ub[c[(c[b+12>>2]|0)+16>>2]&63](95125,j);d=1}l=k;return d|0}function XB(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0;h=l;l=l+112|0;e=h;g=h+4|0;d=c[b+24>>2]|0;if(!d)a[g>>0]=0;else{c[e>>2]=d+1;X0(g,95143,e)|0}e=c[b+20>>2]|0;e=e|0?e:95147;d=V_(e)|0;i=V_(g)|0;f=b+52|0;i=d+1+i+(V_(c[f>>2]|0)|0)|0;d=i+11|0;if((c[46226]|0)>>>0<(i+1|0)>>>0){c[46226]=d;d=E_(c[46227]|0,d)|0;c[46227]=d}else d=c[46227]|0;a0(d,e)|0;o1(c[46227]|0,g)|0;d=c[46227]|0;d=d+(V_(d)|0)|0;a[d>>0]=46;a[d+1>>0]=0;d=m1(c[f>>2]|0)|0;f=c[46227]|0;while(1){e=n1(d,58)|0;if(!e)break;o1(f,e+1|0)|0;i=c[46227]|0;g=i+(V_(i)|0)|0;a[g>>0]=46;a[g+1>>0]=0;a[e>>0]=0;f=i}o1(f,d)|0;C_(d);c[b+32>>2]=c[46227];l=h;return}function YB(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;h=l;l=l+16|0;g=h+8|0;f=h;if((b|0)!=0&(d|0)!=0){if(c[a+152>>2]&1024|0){ub[c[(c[a+12>>2]|0)+16>>2]&63](95125,f);Sa(1)}if((ZB(a,b,d)|0)==(d|0))e=d;else{f=c[(c[a+12>>2]|0)+16>>2]|0;c[g>>2]=d;ub[f&63](95157,g);Sa(1)}}else e=0;l=h;return e|0}function ZB(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0;o=l;l=l+16|0;n=o;f=c[(c[b>>2]|0)+104>>2]|0;do if(!f){j=b+40|0;h=c[j>>2]|0;if(!h){e=D1(d,1,e,c[b+36>>2]|0)|0;break}f=b+44|0;i=b+48|0;g=c[i>>2]|0;do if(((c[f>>2]|0)+-1-g|0)>>>0>>0){g=e+4096+g&-4096;c[f>>2]=g;f=E_(h,g)|0;c[j>>2]=f;if(!f){ub[c[(c[b+12>>2]|0)+16>>2]&63](95182,n);Sa(1)}else{k=f;m=c[i>>2]|0;break}}else{k=h;m=g}while(0);E3(k+m|0,d|0,e|0)|0;n=(c[i>>2]|0)+e|0;c[i>>2]=n;a[(c[j>>2]|0)+n>>0]=0}else e=nb[f&63](b,d,e)|0;while(0);l=o;return e|0}function _B(a,b){a=a|0;b=b|0;var c=0;c=V_(b)|0;b=(YB(a,b,c)|0)==(c|0);return (b?1:-1)|0}function $B(b,c){b=b|0;c=c|0;var d=0,e=0;d=l;l=l+16|0;e=d;a[e>>0]=c;b=(YB(b,e,1)|0)==1;l=d;return (b?c:-1)|0}function aC(b){b=b|0;var d=0;d=c[b+36>>2]|0;if(((d|0)!=0?(a[b+144>>0]|0)==0:0)?(c[(c[b>>2]|0)+104>>2]|0)==0:0)b=v1(d)|0;else b=0;return b|0}function bC(a){a=a|0;var b=0,d=0;b=c[a+76>>2]|0;if(b|0?(d=c[b+4>>2]|0,d|0):0)tb[d&127](a);aC(a)|0;return}function cC(a){a=a|0;var b=0,d=0,e=0;e=l;l=l+16|0;d=c[a+76>>2]|0;if(c[a+152>>2]&1024|0){ub[c[(c[a+12>>2]|0)+16>>2]&63](95209,e);Sa(1)}if((d|0)!=0?(b=c[d+8>>2]|0,(b|0)!=0):0)tb[b&127](a);else{aC(a)|0;dC(a)}l=e;return}function dC(b){b=b|0;var d=0,e=0,f=0;d=b+32|0;if((c[d>>2]|0?(e=b+36|0,f=c[e>>2]|0,(f|0)!=(c[15653]|0)):0)?(a[b+144>>0]|0)==0:0){if(f|0){r1(f)|0;c[e>>2]=0}c[d>>2]=0}return}function eC(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0;i=l;l=l+1056|0;f=i;h=i+24|0;g=i+8|0;c[g>>2]=d;e=p0(h,1024,b,g)|0;if((e|0)>=0){if((e|0)>1023){e=uH(e+1|0)|0;c[g>>2]=d;f=e;e=Y0(e,b,g)|0}else f=h;YB(a,f,e)|0;if((f|0)!=(h|0))C_(f)}else{c[f>>2]=b$(c[(N_()|0)>>2]|0)|0;Ow(1,95226,f)|0}l=i;return}function fC(a,b){a=a|0;b=+b;var d=0,e=0,f=0;d=l;l=l+16|0;e=d;f=gC(e,b)|0;YB(a,f,c[e>>2]|0)|0;l=d;return}function gC(b,d){b=b|0;d=+d;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0;if(!(d<-1.0e15))if(!(d>1.0e15)){d=d*1.0e4;f=~~((d<0.0?-.5:.5)+d);if(!f){f=135312;e=1}else{l=(f|0)<0;k=4;i=0;e=191746;f=l?0-f|0:f;while(1){if(!((f|0)!=0|(k|0)>0))break;g=(f|0)%10|0;j=(f|0)/10|0;h=e+-1|0;if((g|0)==0&i<<24>>24==0)f=0;else{a[h>>0]=g|48;f=1;e=h}if((k|0)==1)if(!(f<<24>>24))f=1;else{e=e+-1|0;a[e>>0]=46;f=1}k=k+-1|0;i=f;f=j}if(l){e=e+-1|0;a[e>>0]=45}f=e;e=191746-e|0}}else{f=95241;e=18}else{f=95240;e=19}c[b>>2]=e;return f|0}function hC(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=l;l=l+16|0;e=d;f=gC(e,+h[b>>3])|0;YB(a,f,c[e>>2]|0)|0;YB(a,99578,1)|0;b=gC(e,+h[b+8>>3])|0;YB(a,b,c[e>>2]|0)|0;l=d;return}function iC(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;g=l;l=l+16|0;f=g;e=0;while(1){h=b+(e<<4)|0;c[f>>2]=c[h>>2];c[f+4>>2]=c[h+4>>2];c[f+8>>2]=c[h+8>>2];c[f+12>>2]=c[h+12>>2];hC(a,f);e=e+1|0;if((e|0)>=(d|0))break;YB(a,99578,1)|0}l=g;return}function jC(a,b){a=a|0;b=b|0;var d=0;d=tH(392)|0;if(d|0){c[d>>2]=20052;c[d+16>>2]=23;c[d+32>>2]=a;c[d+36>>2]=b}return d|0}function kC(a){a=a|0;var b=0,d=0,e=0,f=0;b=tH(392)|0;d=b;e=a;f=d+40|0;do{c[d>>2]=c[e>>2];d=d+4|0;e=e+4|0}while((d|0)<(f|0));f=b+60|0;e=a+60|0;c[f>>2]=c[e>>2];c[f+4>>2]=c[e+4>>2];c[f+8>>2]=c[e+8>>2];c[f+12>>2]=c[e+12>>2];c[f+16>>2]=c[e+16>>2];f=b+80|0;e=a+80|0;c[f>>2]=c[e>>2];c[f+4>>2]=c[e+4>>2];c[f+8>>2]=c[e+8>>2];c[f+12>>2]=c[e+12>>2];c[f+16>>2]=c[e+16>>2];return b|0}function lC(a){a=a|0;sC(a);C_(a);return}function mC(a,b){a=a|0;b=b|0;var d=0,e=0;e=a+160|0;d=c[e>>2]|0;if(d){e=c[46228]|0;if(e){d=c[e+4>>2]|0;if(!d){d=tH(632)|0;c[(c[46228]|0)+4>>2]=d}}}else{d=tH(632)|0;c[e>>2]=d;c[a+164>>2]=d}c[46228]=d;c[d+32>>2]=b;c[d>>2]=a;return}function nC(a,b){a=a|0;b=b|0;var d=0,e=0;e=a+160|0;d=c[e>>2]|0;if(d){e=c[46229]|0;if(e){d=c[e+4>>2]|0;if(!d){d=tH(632)|0;c[(c[46229]|0)+4>>2]=d}}}else{d=tH(632)|0;c[e>>2]=d;c[a+164>>2]=d}c[46229]=d;c[d+52>>2]=b;c[d>>2]=a;return (vC(a,3,b)|0)!=0|0}function oC(a){a=a|0;var b=0;b=c[a+160>>2]|0;c[a+164>>2]=b;return b|0}function pC(a){a=a|0;var b=0,d=0,e=0;a=a+164|0;b=c[a>>2]|0;d=c[b+4>>2]|0;if(d|0?(e=d+52|0,(c[e>>2]|0)==0):0)c[e>>2]=c[b+52>>2];c[a>>2]=d;return d|0}function qC(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;e=a+8|0;f=b+10|0;if((c[e>>2]|0)>(b|0))a=c[a>>2]|0;else{c[e>>2]=f;f=wH(c[a>>2]|0,f<<2)|0;c[a>>2]=f;a=f}c[a+(b<<2)>>2]=d;return}function rC(a){a=a|0;var b=0;b=c[a>>2]|0;if(b|0)C_(b);c[a>>2]=0;c[a+8>>2]=0;c[a+4>>2]=0;return}function sC(a){a=a|0;var b=0,d=0,e=0;d=a+160|0;b=c[d>>2]|0;while(1){if(!b)break;e=c[b+4>>2]|0;rC(b+604|0);rC(b+592|0);C_(c[b+584>>2]|0);C_(c[b+588>>2]|0);C_(b);b=e}c[46229]=0;c[46228]=0;c[a+192>>2]=0;c[a+164>>2]=0;c[d>>2]=0;c[a+28>>2]=0;return}function tC(b,d,e,f,g,h){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,m=0,n=0;n=l;l=l+128|0;k=n+64|0;m=n;T0(k,e,63)|0;i=z$(k,58)|0;if(i|0)a[i>>0]=0;b=b+60+(d<<2)|0;while(1){d=c[b>>2]|0;if(!d){d=b;b=0;break}T0(m,c[d+4>>2]|0,63)|0;d=z$(m,58)|0;if(d|0)a[d>>0]=0;if((a$(k,m)|0)<1){j=9;break}b=c[b>>2]|0}while(1){if((j|0)==9){d=b;b=c[b>>2]|0}if(!b)break;T0(m,c[b+4>>2]|0,63)|0;b=z$(m,58)|0;if(b|0)a[b>>0]=0;if(a$(k,m)|0)break;b=c[d>>2]|0;if((c[b+8>>2]|0)<=(f|0))break;j=9}m=uH(20)|0;c[m>>2]=c[d>>2];c[d>>2]=m;c[m+4>>2]=e;c[m+8>>2]=f;c[m+12>>2]=g;c[m+16>>2]=h;l=n;return 1}function uC(a,b){a=a|0;b=b|0;b=l;l=l+16|0;Ow(1,95321,b)|0;l=b;return 0}function vC(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;s=l;l=l+144|0;r=s;o=s+80|0;p=s+16|0;n=(d+-3|0)>>>0<2?0:d;T0(o,e,63)|0;e=z$(o,58)|0;if(e){f=e+1|0;a[e>>0]=0;e=z$(f,58)|0;if(!e)m=0;else{a[e>>0]=0;m=e+1|0}}else{m=0;f=0}i=(f|0)!=0;j=(m|0)==0;k=(n|0)==(d|0);h=b+60+(d<<2)|0;a:while(1){e=c[h>>2]|0;if(!e){e=0;break}T0(p,c[e+4>>2]|0,63)|0;e=z$(p,58)|0;if(!e)e=0;else{a[e>>0]=0;e=e+1|0}do if(!(a$(p,o)|0)){g=(e|0)!=0;if(i&g?a$(e,f)|0:0)break;if(!j?a$(m,c[(c[(c[h>>2]|0)+12>>2]|0)+8>>2]|0)|0:0)break;if(k|g^1){q=16;break a}if(vC(b,n,e)|0){q=16;break a}}while(0);h=c[h>>2]|0}do if((q|0)==16){e=c[h>>2]|0;if(e){f=e+16|0;if((c[f>>2]|0)==0?(uC(0,0)|0,(c[f>>2]|0)==0):0){e=0;break}if((c[b+8>>2]|0)>0){q=c[15686]|0;o=c[e+4>>2]|0;p=c[(c[e+12>>2]|0)+8>>2]|0;c[r>>2]=c[20064+(d<<2)>>2];c[r+4>>2]=o;c[r+8>>2]=p;f1(q,95352,r)|0}}else e=0}while(0);c[b+80+(d<<2)>>2]=e;l=s;return e|0}function wC(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0;do if(!e)e=0;else{if(c[5021]|0){Sw(184920,0,0);c[5021]=0}h=m1(e)|0;e=z$(h,58)|0;if(e){a[e>>0]=0;f=b+60+(d<<2)|0;e=1;g=f;while(1){b=c[g>>2]|0;if(!b)break;d=m1(c[b+4>>2]|0)|0;b=z$(d,58)|0;if(b|0)a[b>>0]=0;if(!((a[h>>0]|0)!=0?(N$(h,d)|0)!=0:0)){e=c[46231]|0;if(e>>>0>=(c[46232]|0)>>>0){Tw(184920,1)|0;e=c[46231]|0}c[46231]=e+1;a[e>>0]=32;Vw(184920,c[(c[g>>2]|0)+4>>2]|0)|0;e=c[46231]|0;if(e>>>0>=(c[46232]|0)>>>0){Tw(184920,1)|0;e=c[46231]|0}c[46231]=e+1;a[e>>0]=58;Vw(184920,c[(c[(c[g>>2]|0)+12>>2]|0)+8>>2]|0)|0;e=0}C_(d);g=c[g>>2]|0}C_(h);if(e<<24>>24){g=0;i=19}}else{C_(h);g=0;f=b+60+(d<<2)|0;e=1;i=19}if((i|0)==19){while(1){b=c[f>>2]|0;if(!b)break;d=m1(c[b+4>>2]|0)|0;b=z$(d,58)|0;if(b|0)a[b>>0]=0;if(!((g|0)!=0?(N$(g,d)|0)==0:0)){e=c[46231]|0;if(e>>>0>=(c[46232]|0)>>>0){Tw(184920,1)|0;e=c[46231]|0}c[46231]=e+1;a[e>>0]=32;Vw(184920,d)|0;e=0}g=d;f=c[f>>2]|0;i=19}if(e<<24>>24){e=191979;break}}e=c[46231]|0;if(e>>>0>=(c[46232]|0)>>>0){Tw(184920,1)|0;e=c[46231]|0}a[e>>0]=0;e=c[46230]|0;c[46231]=e}while(0);return e|0}function xC(b){b=b|0;var d=0;if(!b)qa(108182,95369,573,95383);if(!(a[b>>0]|0))qa(108187,95369,574,95383);d=c[46234]|0;if(!d)b=0;else b=nb[c[d>>2]&63](d,b,512)|0;return b|0}function yC(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0;k=l;l=l+16|0;j=k+8|0;i=k;if(!b)qa(108230,95369,589,95400);g=b+8|0;e=c[g>>2]|0;if(!e)qa(108233,95369,590,95400);if(!(a[e>>0]|0))qa(108242,95369,591,95400);h=b+20|0;f=c[h>>2]|0;do if(!f){d=YL(e)|0;if(!d){c[i>>2]=c[g>>2];Ow(0,95424,i)|0;d=0;break}i=K1(d,135739)|0;c[h>>2]=i;if(!i){c[j>>2]=b$(c[(N_()|0)>>2]|0)|0;c[j+4>>2]=d;Ow(0,95449,j)|0;d=0;break}d=c[46235]|0;if((d|0)>49){a[b+17>>0]=1;d=1;break}else{c[46235]=d+1;d=1;break}}else{Y1(f,0,0)|0;if(!(c[h>>2]|0))qa(95470,95369,614,95400);else d=1}while(0);l=k;return d|0}function zC(b){b=b|0;var d=0,e=0;if(a[b+17>>0]|0?(d=b+20|0,e=c[d>>2]|0,e|0):0){r1(e)|0;c[d>>2]=0}return}function AC(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0.0,g=0.0;if(!b){e=-1;d=-1}else{e=c[b+48>>2]|0;f=+(e|0);if(!e){g=+h[d>>3];f=+h[d+8>>3]}else{h[d+8>>3]=f;h[d>>3]=f;g=f}e=~~(+((c[b+40>>2]|0)*72|0)/g);d=~~(+((c[b+44>>2]|0)*72|0)/f)}c[a>>2]=e;c[a+4>>2]=d;return}function BC(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,i=0,j=0,k=0,m=0,n=0.0;m=l;l=l+48|0;f=m+16|0;j=m;k=m+32|0;if((e|0)!=0?(a[e>>0]|0)!=0:0){if((0==0?(g=c[46362]|0,(c[46236]|0)!=(g|0)):0)?(c[46236]=g,i=c[46234]|0,i|0):0){xw(i)|0;c[46234]=0}n=+h[(c[(c[d+16>>2]|0)+8>>2]|0)+24>>3];n=!(n>=1.0)?96.0:n;h[j+8>>3]=n;h[j>>3]=n;d=CC(e)|0;c[f>>2]=c[j>>2];c[f+4>>2]=c[j+4>>2];c[f+8>>2]=c[j+8>>2];c[f+12>>2]=c[j+12>>2];AC(k,d,f);d=c[k>>2]|0;f=c[k+4>>2]|0}else{d=-1;f=-1}c[b>>2]=d;c[b+4>>2]=f;l=m;return}function CC(a){a=a|0;var b=0,d=0,e=0,f=0;f=l;l=l+16|0;e=f;if(!a)qa(108182,95369,638,95476);if(!(c[46234]|0))c[46234]=Bw(20088,c[4563]|0)|0;b=xC(a)|0;a:do if(!b){b=tH(64)|0;if(!b)b=0;else{d=b+8|0;c[d>>2]=Nz(0,a)|0;if(!((yC(b)|0)<<24>>24)){DC(b);b=0;break}if(!(c[b+20>>2]|0))qa(95470,95369,653,95476);do switch(EC(b)|0){case 0:{a=UJ(c[d>>2]|0)|0;c[b+52>>2]=a;if(!a){c[e>>2]=c[d>>2];Ow(0,95493,e)|0;DC(b);b=0;break a}break}case 2:{FC(b);break}case 3:{GC(b);break}case 1:{HC(b);break}case 4:{IC(b);break}case 6:{JC(b);break}case 11:{KC(b);break}case 8:{LC(b);break}case 5:{MC(b);break}case 12:{NC(b);break}default:{}}while(0);zC(b);e=c[46234]|0;nb[c[e>>2]&63](e,b,1)|0}}else zC(b);while(0);l=f;return b|0}function DC(a){a=a|0;var b=0;b=c[a+8>>2]|0;if(b|0)Pz(0,b)|0;C_(a);return}function EC(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0;j=l;l=l+224|0;f=j+200|0;g=j;h=a+20|0;b=c[h>>2]|0;a:do if((b|0)!=0?(f3(f,1,20,b)|0)==20:0){d=0;while(1){if(d>>>0>=10){i=13;break a}if(!(K0(f,c[20124+(d<<4)>>2]|0,c[20124+(d<<4)+4>>2]|0)|0))break;d=d+1|0}e=a+28|0;c[e>>2]=c[20124+(d<<4)+12>>2];b=c[20124+(d<<4)+8>>2]|0;a=a+24|0;c[a>>2]=b;switch(d|0){case 7:break;case 8:{if(K0(f+8|0,95709,4)|0)break a;c[e>>2]=95714;c[a>>2]=11;b=11;break a}default:break a}while(1){if(!(N0(g,200,c[h>>2]|0)|0)){i=11;break}if(!(K0(g,95704,4)|0)){i=8;break}}if((i|0)==8){c[e>>2]=98777;c[a>>2]=8;b=8;break}else if((i|0)==11){b=c[a>>2]|0;break}}else i=13;while(0);if((i|0)==13){c[a+28>>2]=95719;c[a+24>>2]=0;b=0}l=j;return b|0}function FC(a){a=a|0;var b=0,d=0,e=0,f=0;f=l;l=l+16|0;b=f+4|0;d=f;c[a+48>>2]=0;e=a+20|0;Y1(c[e>>2]|0,6,0)|0;if((WC(c[e>>2]|0,2,b)|0)<<24>>24?(WC(c[e>>2]|0,2,d)|0)<<24>>24:0){c[a+40>>2]=c[b>>2];c[a+44>>2]=c[d>>2]}l=f;return}function GC(a){a=a|0;var b=0,d=0,e=0,f=0;f=l;l=l+16|0;b=f+4|0;d=f;c[a+48>>2]=0;e=a+20|0;Y1(c[e>>2]|0,16,0)|0;if((OC(c[e>>2]|0,4,b)|0)<<24>>24?(OC(c[e>>2]|0,4,d)|0)<<24>>24:0){c[a+40>>2]=c[b>>2];c[a+44>>2]=c[d>>2]}l=f;return}function HC(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0;h=l;l=l+16|0;b=h+12|0;d=h+8|0;e=h+4|0;f=h;c[a+48>>2]=0;g=a+20|0;Y1(c[g>>2]|0,16,0)|0;if((((WC(c[g>>2]|0,2,b)|0)<<24>>24?(WC(c[g>>2]|0,2,d)|0)<<24>>24:0)?(WC(c[g>>2]|0,2,e)|0)<<24>>24:0)?(WC(c[g>>2]|0,2,f)|0)<<24>>24:0){c[a+40>>2]=c[b>>2]<<16|c[d>>2];c[a+44>>2]=c[e>>2]<<16|c[f>>2]}l=h;return}function IC(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0;m=l;l=l+32|0;b=m+16|0;e=m+12|0;f=m+8|0;h=m+4|0;i=m;c[a+48>>2]=0;j=a+20|0;while(1){if(!((OC(c[j>>2]|0,1,b)|0)<<24>>24))break;d=c[b>>2]|0;if((d|0)==255)continue;if(z$(95692,d)|0)continue;if((d|0)==192){k=6;break}g=c[j>>2]|0;if((d|0)==194){k=11;break}if(!((OC(g,2,e)|0)<<24>>24))break;Y1(c[j>>2]|0,(c[e>>2]|0)+-2|0,1)|0}if((k|0)==6){if(((OC(c[j>>2]|0,3,i)|0)<<24>>24?(OC(c[j>>2]|0,2,f)|0)<<24>>24:0)?(OC(c[j>>2]|0,2,h)|0)<<24>>24:0){c[a+44>>2]=c[f>>2];c[a+40>>2]=c[h>>2]}}else if((((k|0)==11?(OC(g,3,i)|0)<<24>>24:0)?(OC(c[j>>2]|0,2,f)|0)<<24>>24:0)?(OC(c[j>>2]|0,2,h)|0)<<24>>24:0){c[a+44>>2]=c[f>>2];c[a+40>>2]=c[h>>2]}l=m;return}function JC(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0;m=l;l=l+1056|0;j=m;b=m+32|0;e=m+28|0;f=m+24|0;g=m+20|0;h=m+16|0;c[a+48>>2]=72;i=a+20|0;Y1(c[i>>2]|0,0,0)|0;while(1){if(!(N0(b,1024,c[i>>2]|0)|0))break;d=O0(b,95677)|0;if(!d)continue;c[j>>2]=e;c[j+4>>2]=f;c[j+8>>2]=g;c[j+12>>2]=h;if((M1(d,101285,j)|0)==4){k=5;break}}if((k|0)==5){j=c[e>>2]|0;c[a+32>>2]=j;k=c[f>>2]|0;c[a+36>>2]=k;c[a+40>>2]=(c[g>>2]|0)-j;c[a+44>>2]=(c[h>>2]|0)-k}l=m;return}function KC(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0;g=l;l=l+16|0;b=g+4|0;d=g;c[a+48>>2]=0;e=a+20|0;Y1(c[e>>2]|0,15,0)|0;h=(l3(c[e>>2]|0)|0)==88;f=c[e>>2]|0;if(h){Y1(f,24,0)|0;if((WC(c[e>>2]|0,4,b)|0)<<24>>24?(WC(c[e>>2]|0,4,d)|0)<<24>>24:0){c[a+40>>2]=c[b>>2];c[a+44>>2]=c[d>>2]}}else{Y1(f,26,0)|0;if((WC(c[e>>2]|0,2,b)|0)<<24>>24?(WC(c[e>>2]|0,2,d)|0)<<24>>24:0){c[a+40>>2]=c[b>>2];c[a+44>>2]=c[d>>2]}}l=g;return}function LC(b){b=b|0;var d=0,e=0,f=0,g=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0;F=l;l=l+352|0;C=F+80|0;B=F+72|0;E=F+64|0;D=F+56|0;A=F+48|0;d=F+40|0;s=F+32|0;t=F+24|0;u=F+16|0;v=F+8|0;w=F;x=F+328|0;y=F+128|0;z=F+96|0;if(!(c[46237]|0)){if(n2(184952,95562,1)|0){c[d>>2]=95562;Ow(1,95589,d)|0}c[46237]=184952}m=b+20|0;Y1(c[m>>2]|0,0,0)|0;n=z+12|0;o=z+20|0;p=z+8|0;q=z+16|0;r=z+4|0;d=0;g=0;f=0;e=0;a:while(1){if(!(N0(y,200,c[m>>2]|0)|0))break;if(g<<24>>24==0|d<<24>>24==0){i=y;k=e}else break;b:while(1){j=f;c:while(1){while(1){if($2(184952,i,4,z,0)|0){f=j;e=k;continue a}a[i+(c[n>>2]|0)>>0]=0;a[i+(c[o>>2]|0)>>0]=0;e=i+(c[p>>2]|0)|0;f=i+(c[q>>2]|0)|0;i=i+((c[r>>2]|0)+1)|0;if(!(a$(e,138034)|0))break;if(!(a$(e,137966)|0))break c;if(a$(e,95636)|0)continue;c[C>>2]=t;c[C+4>>2]=u;c[C+8>>2]=v;c[C+12>>2]=w;if((M1(f,95644,C)|0)==4)break b}c[A>>2]=s;c[A+4>>2]=x;if((M1(f,95626,A)|0)!=2){c[D>>2]=s;if((M1(f,98183,D)|0)==1){e=1;f=VC(+h[s>>3],95633)|0}else{e=g;f=j}}else{e=1;f=VC(+h[s>>3],x)|0}if(!(d<<24>>24)){d=0;g=e;j=f}else{g=e;e=k;continue a}}c[E>>2]=s;c[E+4>>2]=x;if((M1(f,95626,E)|0)!=2){c[B>>2]=s;if((M1(f,98183,B)|0)==1){d=1;e=VC(+h[s>>3],95633)|0}else e=k}else{d=1;e=VC(+h[s>>3],x)|0}if(!(g<<24>>24)){g=0;f=j;k=e}else{f=j;continue a}}d=1;g=1;f=~~(+h[v>>3]+1.0-+h[t>>3])>>>0;e=~~(+h[w>>3]+1.0-+h[u>>3])>>>0}c[b+48>>2]=0;c[b+40>>2]=f;c[b+44>>2]=e;l=F;return}function MC(a){a=a|0;var b=0,d=0,e=0,f=0.0,g=0.0;d=l;l=l+32|0;b=d;c[a+48>>2]=0;e=a+20|0;Y1(c[e>>2]|0,0,0)|0;if(!(PC(c[e>>2]|0,b)|0)){g=+h[b>>3];c[a+32>>2]=~~g;f=+h[b+8>>3];c[a+36>>2]=~~f;c[a+40>>2]=~~(+h[b+16>>3]-g);c[a+44>>2]=~~(+h[b+24>>3]-f)}l=d;return}function NC(a){a=a|0;var b=0,d=0,e=0,f=0;f=l;l=l+16|0;b=f+4|0;d=f;c[a+48>>2]=0;e=a+20|0;Y1(c[e>>2]|0,6,0)|0;if((OC(c[e>>2]|0,1,b)|0)<<24>>24?(OC(c[e>>2]|0,1,d)|0)<<24>>24:0){c[a+40>>2]=c[b>>2];c[a+44>>2]=c[d>>2]}l=f;return}function OC(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;c[d>>2]=0;e=0;while(1){if(e>>>0>=b>>>0){e=1;break}f=l3(a)|0;if(q1(a)|0){e=0;break}c[d>>2]=c[d>>2]<<8|f;e=e+1|0}return e|0}function PC(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;h=l;l=l+1040|0;d=h;e=h+16|0;while(1){if(!(N0(e,1024,a)|0)){a=1;break}f=O0(e,95552)|0;if(f|0){g=4;break}}if((g|0)==4){c[d+4>>2]=e;c[d>>2]=f+9;c[d+8>>2]=a;a=QC(d,b)|0}l=h;return a|0}function QC(b,d){b=b|0;d=d|0;var e=0,f=0,g=0;g=l;l=l+1024|0;f=g;RC(b);e=a[c[b>>2]>>0]|0;if(!(e<<24>>24))e=(SC(b)|0)&255;else e=e<<24>>24;if((((e|0)==91?(c[b>>2]=(c[b>>2]|0)+1,TC(b,f),(UC(f,d)|0)==0):0)?(TC(b,f),(UC(f,d+8|0)|0)==0):0)?(TC(b,f),(UC(f,d+16|0)|0)==0):0){TC(b,f);e=(UC(f,d+24|0)|0)!=0&1}else e=1;l=g;return e|0}function RC(b){b=b|0;var d=0;d=c[b>>2]|0;while(1){d=a[d>>0]|0;if(!(d<<24>>24))d=(SC(b)|0)&255;else d=d<<24>>24;if(!((d&255)<<24>>24))break;if(!(A$(d&255)|0))break;d=(c[b>>2]|0)+1|0;c[b>>2]=d}return}function SC(b){b=b|0;var d=0;d=b+4|0;if(!(N0(c[d>>2]|0,1024,c[b+8>>2]|0)|0))b=0;else{d=c[d>>2]|0;c[b>>2]=d;b=a[d>>0]|0}return b|0}function TC(b,d){b=b|0;d=d|0;var e=0,f=0,g=0;RC(b);e=0;f=c[b>>2]|0;while(1){f=a[f>>0]|0;if(!(f<<24>>24))g=(SC(b)|0)&255;else g=f<<24>>24;f=g<<24>>24;if(!f)break;if(!((f|0)==46|(f+-48|0)>>>0<10))break;a[d+e>>0]=g;e=e+1|0;f=(c[b>>2]|0)+1|0;c[b>>2]=f;if((e|0)==1023){e=1023;break}}a[d+e>>0]=0;return}function UC(a,b){a=a|0;b=b|0;var d=0.0,e=0,f=0;e=l;l=l+16|0;f=e;d=+b2(a,f);if((c[f>>2]|0)==(a|0))a=1;else{h[b>>3]=d;a=0}l=e;return a|0}function VC(a,b){a=+a;b=b|0;var c=0.0;do if(!(a$(b,95660)|0)){a=a*72.0;c=a;a=a>=0.0?.5:-.5}else{if(!(a$(b,95663)|0)){a=a*.75;c=a;a=a>=0.0?.5:-.5;break}if(!(a$(b,95666)|0)){a=a*12.0;c=a;a=a>=0.0?.5:-.5;break}if(a$(b,95633)|0?a$(b,95669)|0:0)if(!(a$(b,95671)|0)){a=a*28.346456664;c=a;a=a>=0.0?.5:-.5;break}else{b=(a$(b,95674)|0)==0;c=a*2.8346456663999997;return (b?~~(c+(c>=0.0?.5:-.5)):0)|0}c=a>=0.0?.5:-.5}while(0);return ~~(a+c)|0}function WC(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;c[d>>2]=0;e=0;while(1){if(e>>>0>=b>>>0){e=1;break}f=l3(a)|0;if(q1(a)|0){e=0;break}c[d>>2]=c[d>>2]|f<<(e<<3);e=e+1|0}return e|0}function XC(a,b,d){a=a|0;b=b|0;d=d|0;var e=0;a=c[b+20>>2]|0;if(a|0)r1(a)|0;if(c[b+52>>2]|0?(e=c[b+60>>2]|0,e|0):0)tb[e&127](b);C_(b);return}function YC(){var a=0;mx(0,1,105198,102467)|0;a=jC(0,1)|0;KP(a,0);return a|0}function ZC(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,i=0,j=0,k=0,m=0.0,n=0.0,o=0.0,p=0.0;k=l;l=l+304|0;j=k+24|0;i=k+8|0;f=k;g=k+40|0;if((TB(b,e)|0)!=999)if((UB(b,d)|0)==-1)b=-1;else{b=c[d+16>>2]|0;e=b+16|0;if(!(a[(c[b+8>>2]|0)+81>>0]|0)){p=+h[e>>3];o=+h[b+24>>3];n=+h[b+32>>3];m=+h[b+40>>3];c[j>>2]=~~(p+(p>=0.0?.5:-.5));c[j+4>>2]=~~(o+(o>=0.0?.5:-.5));c[j+8>>2]=~~(n+(n>=0.0?.5:-.5));c[j+12>>2]=~~(m+(m>=0.0?.5:-.5));X0(g,95873,j)|0}else{m=+h[b+24>>3];n=+h[e>>3];o=+h[b+40>>3];p=+h[b+32>>3];c[i>>2]=~~(m+(m>=0.0?.5:-.5));c[i+4>>2]=~~(n+(n>=0.0?.5:-.5));c[i+8>>2]=~~(o+(o>=0.0?.5:-.5));c[i+12>>2]=~~(p+(p>=0.0?.5:-.5));X0(g,95873,i)|0}zx(d,99645,g,191979)|0;b=0}else{b=wC(b,1,e)|0;c[f>>2]=e;c[f+4>>2]=b;Ow(1,95824,f)|0;b=-1}l=k;return b|0}function _C(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0;i=l;l=l+16|0;g=i;f=c[b+60>>2]|0;nC(a,d)|0;b=c[a+164>>2]|0;c[b+56>>2]=tO(b,c[b+52>>2]|0)|0;if((zz(f,134401,0,1)|0)!=0?(c[(c[f+16>>2]|0)+8>>2]|0)!=0:0)h=5;else if(!(c[b+152>>2]&67108864)){Rw(95885,g);b=-1}else h=5;if((h|0)==5){c[b+36>>2]=e;if(!e){h=b+152|0;c[h>>2]=c[h>>2]|134217728}h=CG(a,f)|0;vO(b);sC(a);b=h}l=i;return b|0}function $C(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0;i=l;l=l+16|0;g=i;f=c[b+60>>2]|0;nC(a,d)|0;b=c[a+164>>2]|0;c[b+56>>2]=tO(b,c[b+52>>2]|0)|0;if((zz(f,134401,0,1)|0)!=0?(c[(c[f+16>>2]|0)+8>>2]|0)!=0:0)h=5;else if(!(c[b+152>>2]&67108864)){Rw(95885,g);b=-1}else h=5;if((h|0)==5){mC(a,e);h=CG(a,f)|0;vO(b);cC(b);sC(a);b=h}l=i;return b|0}function aD(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,m=0;m=l;l=l+16|0;h=m+8|0;g=m;b=c[b+60>>2]|0;nC(a,d)|0;j=c[a+164>>2]|0;c[j+56>>2]=tO(j,c[j+52>>2]|0)|0;if((zz(b,134401,0,1)|0)!=0?(c[(c[b+16>>2]|0)+8>>2]|0)!=0:0)k=5;else if(!(c[j+152>>2]&67108864)){Rw(95885,g);b=-1}else k=5;do if((k|0)==5){if(e|0?(i=B_(4096)|0,c[e>>2]=i,i|0):0){g=j+40|0;c[g>>2]=i;c[j+44>>2]=4096;d=j+48|0;c[d>>2]=0;b=CG(a,b)|0;vO(j);if(!b){c[e>>2]=c[g>>2];c[f>>2]=c[d>>2]}sC(a);break}Ow(1,95906,h)|0;b=-1}while(0);l=m;return b|0}function bD(a,b){a=a|0;b=b|0;IP(a,0,b);return}function cD(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,m=0,n=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0;H=l;l=l+4288|0;E=H+8|0;D=H;F=4;G=B_(40)|0;c[G>>2]=0;A=H+4152|0;B=H+4148|0;C=H+4128|0;j=H+4112|0;k=H+16|0;o=0;i=$(24,b|0)|0;g=o;o=0;if((g|0)!=0&(p|0)!=0){h=D3(c[g>>2]|0,G|0,F|0)|0;if(!h)bb(g|0,p|0);z=p}else h=-1;a:do if((h|0)!=1){if(!i){c[d>>2]=0;g=0;break}o=0;n=ca(26,e|0,B|0,A|0)|0;g=o;o=0;if((g|0)!=0&(p|0)!=0){h=D3(c[g>>2]|0,G|0,F|0)|0;if(!h)bb(g|0,p|0);z=p}else h=-1;if((h|0)!=1){o=0;m=$(23,40)|0;g=o;o=0;if((g|0)!=0&(p|0)!=0){h=D3(c[g>>2]|0,G|0,F|0)|0;if(!h)bb(g|0,p|0);z=p}else h=-1;if((h|0)!=1){o=0;na(7,C|0,j|0,k|0,24,83);g=o;o=0;if((g|0)!=0&(p|0)!=0){h=D3(c[g>>2]|0,G|0,F|0)|0;if(!h)bb(g|0,p|0);z=p}else h=-1;if((h|0)!=1){o=0;e=$(25,b|0)|0;g=o;o=0;if((g|0)!=0&(p|0)!=0){h=D3(c[g>>2]|0,G|0,F|0)|0;if(!h)bb(g|0,p|0);z=p}else h=-1;if((h|0)!=1){j=C+16|0;i=c[j>>2]|0;g=e;while(1){if(!g)break;o=0;aa(i|0,g|0,0)|0;h=o;o=0;if((h|0)!=0&(p|0)!=0){e=D3(c[h>>2]|0,G|0,F|0)|0;if(!e)bb(h|0,p|0);z=p}else e=-1;if((e|0)==1){y=0;x=j;w=m;v=n;g=z;m=15;break a}o=0;g=aa(84,b|0,g|0)|0;h=o;o=0;if((h|0)!=0&(p|0)!=0){e=D3(c[h>>2]|0,G|0,F|0)|0;if(!e)bb(h|0,p|0);z=p}else e=-1;if((e|0)==1){y=0;x=j;w=m;v=n;g=z;m=15;break a}}G=C3(184984,1,G|0,F|0)|0;F=z;o=0;g=o;o=0;if((g|0)!=0&(p|0)!=0){h=D3(c[g>>2]|0,G|0,F|0)|0;if(!h)bb(g|0,p|0);z=p}else h=-1;if((h|0)==1){y=m;x=j;w=m;v=n;g=z;m=15}else{y=m;x=j;w=m;v=n;g=0;m=15}}else{y=0;x=0;w=m;v=n;g=z;m=15}}else{y=0;x=0;w=m;v=n;g=z;m=15}}else{y=0;x=0;w=m;v=n;g=z;m=15}}else{y=0;x=0;w=0;v=n;g=z;m=15}}else{y=0;x=0;w=0;v=0;g=z;m=15}while(0);do if((m|0)==15){b:while(1){c:do if(!g){o=0;e=$(25,b|0)|0;g=o;o=0;if((g|0)!=0&(p|0)!=0){h=D3(c[g>>2]|0,G|0,F|0)|0;if(!h)bb(g|0,p|0);z=p}else h=-1;if((h|0)==1){s=v;t=w;u=x;m=y;g=z;v=s;w=t;x=u;y=m;m=15;continue b}u=v+(c[B>>2]|0)|0;k=0;m=0;j=0;while(1){if(!e)break;o=0;g=aa(c[x>>2]|0,e|0,-1)|0;h=o;o=0;if((h|0)!=0&(p|0)!=0){i=D3(c[h>>2]|0,G|0,F|0)|0;if(!i)bb(h|0,p|0);z=p}else i=-1;if((i|0)==1){s=v;t=w;u=x;m=y;g=z;v=s;w=t;x=u;y=m;m=15;continue b}if((g|0)==0?(a[(c[e+16>>2]|0)+119>>0]|0)==3:0){if(!m){o=0;c[D>>2]=j;ca(27,u|0,134313,D|0)|0;g=o;o=0;if((g|0)!=0&(p|0)!=0){h=D3(c[g>>2]|0,G|0,F|0)|0;if(!h)bb(g|0,p|0);z=p}else h=-1;if((h|0)==1){s=v;t=w;u=x;m=y;g=z;v=s;w=t;x=u;y=m;m=15;continue b}o=0;i=ca(28,b|0,v|0,1)|0;g=o;o=0;if((g|0)!=0&(p|0)!=0){h=D3(c[g>>2]|0,G|0,F|0)|0;if(!h)bb(g|0,p|0);z=p}else h=-1;if((h|0)==1){s=v;t=w;u=x;m=y;g=z;v=s;w=t;x=u;y=m;m=15;continue b}o=0;da(53,i|0,134401,280,1)|0;g=o;o=0;if((g|0)!=0&(p|0)!=0){h=D3(c[g>>2]|0,G|0,F|0)|0;if(!h)bb(g|0,p|0);z=p}else h=-1;if((h|0)==1){s=v;t=w;u=x;m=y;g=z;v=s;w=t;x=u;y=m;m=15;continue b}c[y+(j<<2)>>2]=i;k=1;j=j+1|0}else i=m;o=0;da(54,b|0,e|0,i|0,C|0)|0;g=o;o=0;if((g|0)!=0&(p|0)!=0){h=D3(c[g>>2]|0,G|0,F|0)|0;if(!h)bb(g|0,p|0);z=p}else h=-1;if((h|0)==1){s=v;t=w;u=x;m=y;g=z;v=s;w=t;x=u;y=m;m=15;continue b}}else i=m;o=0;e=aa(84,b|0,e|0)|0;g=o;o=0;if((g|0)!=0&(p|0)!=0){h=D3(c[g>>2]|0,G|0,F|0)|0;if(!h)bb(g|0,p|0);z=p}else h=-1;if((h|0)==1){s=v;t=w;u=x;m=y;g=z;v=s;w=t;x=u;y=m;m=15;continue b}m=i}o=0;e=$(25,b|0)|0;g=o;o=0;if((g|0)!=0&(p|0)!=0){h=D3(c[g>>2]|0,G|0,F|0)|0;if(!h)bb(g|0,p|0);z=p}else h=-1;if((h|0)==1){s=v;t=w;u=x;m=y;g=z;v=s;w=t;x=u;y=m;m=15;continue b}i=10;n=y;q=w;r=w;t=w;while(1){if(!e){m=0;i=r;e=t;break c}o=0;g=aa(c[x>>2]|0,e|0,-1)|0;h=o;o=0;if((h|0)!=0&(p|0)!=0){m=D3(c[h>>2]|0,G|0,F|0)|0;if(!m)bb(h|0,p|0);z=p}else m=-1;if((m|0)==1){s=v;t=w;u=x;m=y;g=z;v=s;w=t;x=u;y=m;m=15;continue b}if(!g){o=0;c[E>>2]=j;ca(27,u|0,134313,E|0)|0;g=o;o=0;if((g|0)!=0&(p|0)!=0){h=D3(c[g>>2]|0,G|0,F|0)|0;if(!h)bb(g|0,p|0);z=p}else h=-1;if((h|0)==1){s=v;t=w;u=x;m=y;g=z;v=s;w=t;x=u;y=m;m=15;continue b}o=0;s=ca(28,b|0,v|0,1)|0;g=o;o=0;if((g|0)!=0&(p|0)!=0){h=D3(c[g>>2]|0,G|0,F|0)|0;if(!h)bb(g|0,p|0);z=p}else h=-1;if((h|0)==1){s=v;t=w;u=x;m=y;g=z;v=s;w=t;x=u;y=m;m=15;continue b}o=0;da(53,s|0,134401,280,1)|0;h=o;o=0;if((h|0)!=0&(p|0)!=0){g=D3(c[h>>2]|0,G|0,F|0)|0;if(!g)bb(h|0,p|0);z=p}else g=-1;if((g|0)==1){s=v;t=w;u=x;m=y;g=z;v=s;w=t;x=u;y=m;m=15;continue b}o=0;da(54,b|0,e|0,s|0,C|0)|0;g=o;o=0;if((g|0)!=0&(p|0)!=0){h=D3(c[g>>2]|0,G|0,F|0)|0;if(!h)bb(g|0,p|0);z=p}else h=-1;if((h|0)==1){s=v;t=w;u=x;m=y;g=z;v=s;w=t;x=u;y=m;m=15;continue b}if((j|0)==(i|0)){i=j<<1;o=0;m=aa(85,q|0,j<<3|0)|0;g=o;o=0;if((g|0)!=0&(p|0)!=0){h=D3(c[g>>2]|0,G|0,F|0)|0;if(!h)bb(g|0,p|0);z=p}else h=-1;if((h|0)==1){s=v;t=w;u=x;m=y;g=z;v=s;w=t;x=u;y=m;m=15;continue b}g=m;q=m;r=m;h=m}else{g=n;h=t}c[g+(j<<2)>>2]=s;n=g;j=j+1|0;m=h}else m=t;o=0;e=aa(84,b|0,e|0)|0;g=o;o=0;if((g|0)!=0&(p|0)!=0){h=D3(c[g>>2]|0,G|0,F|0)|0;if(!h)bb(g|0,p|0);z=p}else h=-1;if((h|0)==1){s=v;t=w;u=x;m=y;g=z;v=s;w=t;x=u;y=m;m=15;continue b}t=m}}else{m=1;k=0;n=y;j=0;i=w;e=w}while(0);o=0;ia(105,C|0);g=o;o=0;if((g|0)!=0&(p|0)!=0){h=D3(c[g>>2]|0,G|0,F|0)|0;if(!h)bb(g|0,p|0);z=p}else h=-1;if((h|0)==1){s=v;t=w;u=x;m=y;g=z;v=s;w=t;x=u;y=m;m=15;continue}if((v|0)!=(A|0)){o=0;ia(103,v|0);g=o;o=0;if((g|0)!=0&(p|0)!=0){h=D3(c[g>>2]|0,G|0,F|0)|0;if(!h)bb(g|0,p|0);z=p}else h=-1;if((h|0)==1){s=v;t=w;u=x;m=y;g=z;v=s;w=t;x=u;y=m;m=15;continue}}if(!m){o=0;g=aa(85,e|0,j<<2|0)|0;h=o;o=0;if((h|0)!=0&(p|0)!=0){e=D3(c[h>>2]|0,G|0,F|0)|0;if(!e)bb(h|0,p|0);z=p}else e=-1;if((e|0)==1){s=v;t=w;u=x;m=y;g=z;v=s;w=t;x=u;y=m;m=15;continue}else{m=58;break}}c[d>>2]=0;g=0;while(1){if((g|0)>=(j|0))break;o=0;$(26,c[n+(g<<2)>>2]|0)|0;h=o;o=0;if((h|0)!=0&(p|0)!=0){e=D3(c[h>>2]|0,G|0,F|0)|0;if(!e)bb(h|0,p|0);z=p}else e=-1;if((e|0)==1){s=v;t=w;u=x;m=y;g=z;v=s;w=t;x=u;y=m;m=15;continue b}g=g+1|0}o=0;ia(103,i|0);g=o;o=0;if((g|0)!=0&(p|0)!=0){h=D3(c[g>>2]|0,G|0,F|0)|0;if(!h)bb(g|0,p|0);z=p}else h=-1;if((h|0)==1){s=v;t=w;u=x;m=y;g=z;v=s;w=t;x=u;y=m;m=15}else{m=56;break}}if((m|0)==56){g=0;break}else if((m|0)==58){c[d>>2]=j;a[f>>0]=k;break}}while(0);C_(G|0);l=H;return g|0}function dD(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;if(!((a|0)!=0?(mD(a)|0)!=0:0))a=95962;e=V_(a)|0;if((e|0)>=104){d=uH(e+25|0)|0;if(!d)d=0;else f=6}else f=6;if((f|0)==6){a0(d,a)|0;c[b>>2]=e}return d|0}function eD(a,b){a=a|0;b=b|0;Wy(b,a,1)|0;return}function fD(b,d){b=b|0;d=d|0;var e=0;b=(c[b+16>>2]|0)+157|0;e=a[b>>0]|0;if((d|0)>=0)a[b>>0]=d;return e|0}function gD(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;c[b>>2]=d;c[b+4>>2]=d+4096;c[b+12>>2]=0;c[b+8>>2]=0;c[a>>2]=b;c[a+4>>2]=b;c[a+8>>2]=d;c[a+12>>2]=e;c[a+16>>2]=f;return}function hD(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0;kD(e,b);i=e+12|0;j=e+16|0;b=0;a:while(1){k=lD(e)|0;if(!k)break;b=b+1|0;f=c[i>>2]|0;if(f|0)ub[f&63](k,d);h=Ix(a,k)|0;while(1){if(!h)continue a;g=c[h>>2]&3;f=c[((g|0)==3?h:h+48|0)+40>>2]|0;if((f|0)==(k|0))f=c[((g|0)==2?h:h+-48|0)+40>>2]|0;if(!(lb[c[j>>2]&127](f,-1)|0))kD(e,f);h=Jx(a,h,k)|0}}return b|0}function iD(a){a=a|0;var b=0;a=c[(c[a>>2]|0)+12>>2]|0;while(1){if(!a)break;b=c[a+12>>2]|0;jD(a);a=b}return}function jD(a){a=a|0;C_(c[a>>2]|0);C_(a);return}function kD(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0;k=l;l=l+16|0;j=k+8|0;f=k;g=a+8|0;i=a+4|0;d=c[i>>2]|0;if((c[g>>2]|0)==(c[d+4>>2]|0)){d=c[d+12>>2]|0;do if(!d){e=uH(16)|0;if(!e){Ow(1,95943,f)|0;bb(184984,1)}c[e+8>>2]=c[i>>2];c[e+12>>2]=0;d=uH(4e6)|0;c[e>>2]=d;if(!d){Ow(1,95943,j)|0;bb(184984,1)}else{c[e+4>>2]=d+4e6;c[(c[i>>2]|0)+12>>2]=e;h=e;break}}else h=d;while(0);c[i>>2]=h;c[g>>2]=c[h>>2]}lb[c[a+16>>2]&127](b,1)|0;j=c[g>>2]|0;c[g>>2]=j+4;c[j>>2]=b;l=k;return}function lD(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;f=a+8|0;b=c[f>>2]|0;d=a+4|0;e=c[d>>2]|0;if((b|0)==(c[e>>2]|0))if((e|0)==(c[a>>2]|0))b=0;else{b=c[e+8>>2]|0;c[d>>2]=b;b=c[b+4>>2]|0;c[f>>2]=b;g=4}else g=4;if((g|0)==4){b=b+-4|0;c[f>>2]=b;b=c[b>>2]|0}return b|0}function mD(b){b=b|0;var c=0;a:while(1){c=b;b=b+1|0;c=a[c>>0]|0;switch(c<<24>>24){case 95:continue a;case 0:{b=1;break a}default:{}}if(!(L$(c&255)|0)){b=0;break}}return b|0}function nD(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,A=0,B=0;B=l;l=l+4272|0;x=B;y=4;A=B_(40)|0;c[A>>2]=0;u=B+4144|0;v=B+4140|0;w=B+4120|0;h=B+4104|0;i=B+8|0;o=0;f=$(24,a|0)|0;g=o;o=0;if((g|0)!=0&(p|0)!=0){e=D3(c[g>>2]|0,A|0,y|0)|0;if(!e)bb(g|0,p|0);z=p}else e=-1;a:do if((e|0)!=1)if(f){o=0;k=ca(26,d|0,v|0,u|0)|0;e=o;o=0;if((e|0)!=0&(p|0)!=0){d=D3(c[e>>2]|0,A|0,y|0)|0;if(!d)bb(e|0,p|0);z=p}else d=-1;if((d|0)!=1){o=0;j=$(23,40)|0;e=o;o=0;if((e|0)!=0&(p|0)!=0){d=D3(c[e>>2]|0,A|0,y|0)|0;if(!d)bb(e|0,p|0);z=p}else d=-1;if((d|0)!=1){o=0;na(7,w|0,h|0,i|0,24,83);e=o;o=0;if((e|0)!=0&(p|0)!=0){d=D3(c[e>>2]|0,A|0,y|0)|0;if(!d)bb(e|0,p|0);z=p}else d=-1;if((d|0)!=1){o=0;f=$(25,a|0)|0;e=o;o=0;if((e|0)!=0&(p|0)!=0){d=D3(c[e>>2]|0,A|0,y|0)|0;if(!d)bb(e|0,p|0);z=p}else d=-1;if((d|0)!=1){h=w+16|0;g=c[h>>2]|0;e=f;while(1){if(!e)break;o=0;aa(g|0,e|0,0)|0;d=o;o=0;if((d|0)!=0&(p|0)!=0){f=D3(c[d>>2]|0,A|0,y|0)|0;if(!f)bb(d|0,p|0);z=p}else f=-1;if((f|0)==1){t=h;s=j;r=k;e=z;j=14;break a}o=0;e=aa(84,a|0,e|0)|0;d=o;o=0;if((d|0)!=0&(p|0)!=0){f=D3(c[d>>2]|0,A|0,y|0)|0;if(!f)bb(d|0,p|0);z=p}else f=-1;if((f|0)==1){t=h;s=j;r=k;e=z;j=14;break a}}A=C3(184984,1,A|0,y|0)|0;y=z;o=0;e=o;o=0;if((e|0)!=0&(p|0)!=0){d=D3(c[e>>2]|0,A|0,y|0)|0;if(!d)bb(e|0,p|0);z=p}else d=-1;if((d|0)==1){t=h;s=j;r=k;e=z;j=14}else{t=h;s=j;r=k;e=0;j=14}}else{t=0;s=j;r=k;e=z;j=14}}else{t=0;s=j;r=k;e=z;j=14}}else{t=0;s=j;r=k;e=z;j=14}}else{t=0;s=0;r=k;e=z;j=14}}else{d=0;e=0}else{t=0;s=0;r=0;e=z;j=14}while(0);b:do if((j|0)==14){c:while(1){if(e|0){o=0;ia(105,w|0);e=o;o=0;if((e|0)!=0&(p|0)!=0){d=D3(c[e>>2]|0,A|0,y|0)|0;if(!d)bb(e|0,p|0);z=p}else d=-1;if((d|0)==1){n=r;q=s;j=t;e=z;r=n;s=q;t=j;j=14;continue}o=0;ia(103,s|0);e=o;o=0;if((e|0)!=0&(p|0)!=0){d=D3(c[e>>2]|0,A|0,y|0)|0;if(!d)bb(e|0,p|0);z=p}else d=-1;if((d|0)==1){n=r;q=s;j=t;e=z;r=n;s=q;t=j;j=14;continue}if((r|0)==(u|0)){d=0;e=0;break b}o=0;ia(103,r|0);e=o;o=0;if((e|0)!=0&(p|0)!=0){d=D3(c[e>>2]|0,A|0,y|0)|0;if(!d)bb(e|0,p|0);z=p}else d=-1;if((d|0)==1){n=r;q=s;j=t;e=z;r=n;s=q;t=j;j=14;continue}else{j=19;break}}o=0;f=$(25,a|0)|0;e=o;o=0;if((e|0)!=0&(p|0)!=0){d=D3(c[e>>2]|0,A|0,y|0)|0;if(!d)bb(e|0,p|0);z=p}else d=-1;if((d|0)==1){n=r;q=s;j=t;e=z;r=n;s=q;t=j;j=14;continue}q=r+(c[v>>2]|0)|0;h=10;k=s;e=0;j=s;n=s;while(1){if(!f)break;o=0;d=aa(c[t>>2]|0,f|0,-1)|0;g=o;o=0;if((g|0)!=0&(p|0)!=0){i=D3(c[g>>2]|0,A|0,y|0)|0;if(!i)bb(g|0,p|0);z=p}else i=-1;if((i|0)==1){n=r;q=s;j=t;e=z;r=n;s=q;t=j;j=14;continue c}if(!d){o=0;c[x>>2]=e;ca(27,q|0,134313,x|0)|0;d=o;o=0;if((d|0)!=0&(p|0)!=0){g=D3(c[d>>2]|0,A|0,y|0)|0;if(!g)bb(d|0,p|0);z=p}else g=-1;if((g|0)==1){n=r;q=s;j=t;e=z;r=n;s=q;t=j;j=14;continue c}o=0;m=ca(28,a|0,r|0,1)|0;d=o;o=0;if((d|0)!=0&(p|0)!=0){g=D3(c[d>>2]|0,A|0,y|0)|0;if(!g)bb(d|0,p|0);z=p}else g=-1;if((g|0)==1){n=r;q=s;j=t;e=z;r=n;s=q;t=j;j=14;continue c}o=0;da(53,m|0,134401,280,1)|0;d=o;o=0;if((d|0)!=0&(p|0)!=0){g=D3(c[d>>2]|0,A|0,y|0)|0;if(!g)bb(d|0,p|0);z=p}else g=-1;if((g|0)==1){n=r;q=s;j=t;e=z;r=n;s=q;t=j;j=14;continue c}o=0;da(54,a|0,f|0,m|0,w|0)|0;d=o;o=0;if((d|0)!=0&(p|0)!=0){g=D3(c[d>>2]|0,A|0,y|0)|0;if(!g)bb(d|0,p|0);z=p}else g=-1;if((g|0)==1){n=r;q=s;j=t;e=z;r=n;s=q;t=j;j=14;continue c}if((e|0)==(h|0)){h=e<<1;o=0;i=aa(85,j|0,e<<3|0)|0;d=o;o=0;if((d|0)!=0&(p|0)!=0){g=D3(c[d>>2]|0,A|0,y|0)|0;if(!g)bb(d|0,p|0);z=p}else g=-1;if((g|0)==1){n=r;q=s;j=t;e=z;r=n;s=q;t=j;j=14;continue c}g=i;j=i;d=i}else{g=k;d=n}c[g+(e<<2)>>2]=m;e=e+1|0;k=g;i=d}else i=n;o=0;f=aa(84,a|0,f|0)|0;d=o;o=0;if((d|0)!=0&(p|0)!=0){g=D3(c[d>>2]|0,A|0,y|0)|0;if(!g)bb(d|0,p|0);z=p}else g=-1;if((g|0)==1){n=r;q=s;j=t;e=z;r=n;s=q;t=j;j=14;continue c}n=i}o=0;ia(105,w|0);d=o;o=0;if((d|0)!=0&(p|0)!=0){f=D3(c[d>>2]|0,A|0,y|0)|0;if(!f)bb(d|0,p|0);z=p}else f=-1;if((f|0)==1){n=r;q=s;j=t;e=z;r=n;s=q;t=j;j=14;continue}o=0;d=aa(85,n|0,e<<2|0)|0;f=o;o=0;if((f|0)!=0&(p|0)!=0){g=D3(c[f>>2]|0,A|0,y|0)|0;if(!g)bb(f|0,p|0);z=p}else g=-1;if((g|0)==1){n=r;q=s;j=t;e=z;r=n;s=q;t=j;j=14;continue}if((r|0)==(u|0))break b;o=0;ia(103,r|0);f=o;o=0;if((f|0)!=0&(p|0)!=0){g=D3(c[f>>2]|0,A|0,y|0)|0;if(!g)bb(f|0,p|0);z=p}else g=-1;if((g|0)==1){n=r;q=s;j=t;e=z;r=n;s=q;t=j;j=14}else{j=39;break}}if((j|0)==19){d=0;e=0;break}else if((j|0)==39)break}while(0);c[b>>2]=e;C_(A|0);l=B;return d|0}function oD(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=0;f=Ry(a)|0;while(1){if(!f)break;e=Dx(b,f)|0;while(1){if(!e)break;if(Wy(a,c[((c[e>>2]&3|0)==2?e:e+-48|0)+40>>2]|0,0)|0){Ux(a,e,1)|0;d=d+1|0}e=Fx(b,e)|0}f=Sy(a,f)|0}return d|0}function pD(a){a=a|0;a=xz(a,95967,0)|0;if(!a)qa(95972,95975,529,95984);else return c[a+8>>2]|0;return 0}function qD(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0;u=l;l=l+4320|0;s=u+24|0;r=u+8|0;q=u;t=u+4184|0;p=u+4160|0;f=u+40|0;if($x(b)|0){Ez(b,0,95993,-12,0);Ez(b,1,96005,16,0);o=dD(e,f,t)|0;k=rD(b)|0;m=uH(($x(k)|0)<<2)|0;gD(p,u+4144|0,u+48|0,24,86);h=Ry(k)|0;n=p+16|0;i=o+(c[f>>2]|0)|0;j=c[15686]|0;e=0;while(1){if(!h)break;if(!(lb[c[n>>2]&127](h,-1)|0)){c[q>>2]=e;X0(i,96907,q)|0;v=uA(k,o,1)|0;w=uA(b,o,1)|0;zz(w,95993,12,0)|0;a[(xz(w,95993,0)|0)+8>>0]=1;f=hD(k,h,v,p)|0;tD(v,w);g=uD(w)|0;vD(b,w);c[m+(e<<2)>>2]=w;cz(k,v)|0;if(0){c[r>>2]=e;c[r+4>>2]=f;c[r+8>>2]=g;f1(j,96017,r)|0}e=e+1|0}h=Sy(k,h)|0}if(0){r=$x(b)|0;v=ay(b)|0;w=qy(b)|0;c[s>>2]=r;c[s+4>>2]=v;c[s+8>>2]=e;c[s+12>>2]=w;f1(j,96047,s)|0}_x(k)|0;Fz(b,0,95993);Fz(b,1,96005);iD(p);f=wH(m,e<<2)|0;if((o|0)!=(t|0))C_(o)}else{f=0;e=0}c[d>>2]=e;l=u;return f|0}function rD(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0;i=l;l=l+16|0;h=i;a[h>>0]=a[18492]|0;a[h+1>>0]=a[18493]|0;a[h+2>>0]=a[18494]|0;a[h+3>>0]=a[18495]|0;h=Wx(96094,h,0)|0;yD(h,b);d=Ry(b)|0;while(1){if(!d)break;if(!(c[(xz(d,96005,0)|0)+12>>2]|0)){g=$y(h,qy(d)|0,1)|0;zz(g,96005,16,1)|0;c[(c[g+16>>2]|0)+12>>2]=d;c[(xz(d,96005,0)|0)+12>>2]=g}d=Sy(b,d)|0}e=Ry(b)|0;while(1){if(!e)break;f=c[(xz(e,96005,0)|0)+12>>2]|0;d=Dx(b,e)|0;while(1){if(!d)break;g=c[(xz(c[((c[d>>2]&3|0)==2?d:d+-48|0)+40>>2]|0,96005,0)|0)+12>>2]|0;do if((g|0)!=(f|0))if(g>>>0>f>>>0){Qx(h,f,g,0,1)|0;break}else{Qx(h,g,f,0,1)|0;break}while(0);d=Fx(b,d)|0}e=Sy(b,e)|0}l=i;return h|0}function sD(b,d){b=b|0;d=d|0;var e=0;b=(c[b+16>>2]|0)+8|0;e=a[b>>0]|0;if((d|0)>=0)a[b>>0]=d;return e|0}function tD(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;e=Ry(a)|0;while(1){if(!e)break;f=c[(c[e+16>>2]|0)+12>>2]|0;a:do if((c[f>>2]&3|0)==1)Wy(b,f,1)|0;else{d=Ry(f)|0;while(1){if(!d)break a;Wy(b,d,1)|0;d=Sy(f,d)|0}}while(0);e=Sy(a,e)|0}return}function uD(a){a=a|0;return oD(a,c[a+60>>2]|0)|0}function vD(a,b){a=a|0;b=b|0;wD(a,b,0);return}function wD(b,c,d){b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0;g=(d|0)==0;b=vA(b)|0;while(1){if(!b)break;if((a[(xz(b,95993,0)|0)+8>>0]|0)==0?(f=xD(b,c,d)|0,f|0):0){if(g)e=(y$(qy(b)|0,104980,7)|0)==0;else e=1;wD(b,f,e&1)}b=wA(b)|0}return}function xD(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0;e=0;g=Ry(a)|0;while(1){if(!g)break;f=$y(b,qy(g)|0,0)|0;if(f){if(!e)e=uA(b,qy(a)|0,1)|0;Wy(e,f,1)|0}g=Sy(a,g)|0}if((d|0)!=0&(e|0)==0)e=uA(b,qy(a)|0,1)|0;if(e|0?(oD(e,a)|0,Ax(a,e)|0,(y$(qy(e)|0,104980,7)|0)==0):0)c[(zz(e,95967,12,0)|0)+8>>2]=a;return e|0}function yD(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0;h=l;l=l+16|0;g=h;d=vA(b)|0;e=c[15686]|0;while(1){if(!d)break;a:do if(!(y$(qy(d)|0,104980,7)|0)){f=$y(a,qy(d)|0,1)|0;zz(f,96005,16,1)|0;c[(c[f+16>>2]|0)+12>>2]=d;b=Ry(d)|0;while(1){if(!b)break a;if(c[(xz(b,96005,0)|0)+12>>2]|0){k=qy(b)|0;j=qy(d)|0;i=qy(c[(xz(b,96005,0)|0)+12>>2]|0)|0;c[g>>2]=k;c[g+4>>2]=j;c[g+8>>2]=i;f1(e,96097,g)|0}c[(xz(b,96005,0)|0)+12>>2]=f;b=Sy(d,b)|0}}else yD(a,d);while(0);d=wA(d)|0}l=h;return}function zD(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,i=0,j=0,k=0,l=0,m=0,n=0.0;n=+h[a>>3];j=~~(n+(n>=0.0?.5:-.5));n=+h[a+8>>3];a=~~(n+(n>=0.0?.5:-.5));n=+h[b>>3];g=~~(n+(n>=0.0?.5:-.5));n=+h[b+8>>3];f=~~(n+(n>=0.0?.5:-.5));l=g-j|0;i=((l|0)>-1?l:0-l|0)<<1;l=l>>31|1;m=f-a|0;k=((m|0)>-1?m:0-m|0)<<1;m=m>>31|1;a:do if((i|0)>(k|0)){e=0-i|0;d=k-(i>>1)|0;b=j;while(1){AI(c,b,a);if((b|0)==(g|0))break a;j=(d|0)>-1;d=d+k+(j?e:0)|0;b=b+l|0;a=(j?m:0)+a|0}}else{e=0-k|0;d=j;b=i-(k>>1)|0;while(1){AI(c,d,a);if((a|0)==(f|0))break a;k=(b|0)>-1;d=(k?l:0)+d|0;b=b+i+(k?e:0)|0;a=a+m|0}}while(0);return}function AD(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0;n=l;l=l+16|0;k=n;j=n+4|0;do if((a|0)<1)d=0;else{f=e+16|0;if((c[f>>2]|0)>>>0<4){d=BD(a,b,d,e)|0;break}m=uH(a<<5)|0;d=0;while(1){if((d|0)==(a|0))break;g=c[b+(d<<2)>>2]|0;lM(g);h=m+(d<<5)|0;g=(c[g+16>>2]|0)+16|0;c[h>>2]=c[g>>2];c[h+4>>2]=c[g+4>>2];c[h+8>>2]=c[g+8>>2];c[h+12>>2]=c[g+12>>2];c[h+16>>2]=c[g+16>>2];c[h+20>>2]=c[g+20>>2];c[h+24>>2]=c[g+24>>2];c[h+28>>2]=c[g+28>>2];d=d+1|0}if((c[f>>2]|0)==4){h=e+28|0;a:do if(c[h>>2]&2|0){f=e+24|0;c[f>>2]=tH(a<<2)|0;d=0;while(1){if((d|0)==(a|0))break a;g=wx(c[b+(d<<2)>>2]|0,96164)|0;if(g|0?(c[k>>2]=j,g=(M1(g,134313,k)|0)>0,i=c[j>>2]|0,g&(i|0)>-1):0)c[(c[f>>2]|0)+(d<<2)>>2]=i;d=d+1|0}}while(0);d=CD(a,m,e)|0;if(c[h>>2]&2)C_(c[e+24>>2]|0)}else d=0;C_(m)}while(0);l=n;return d|0}function BD(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0.0,I=0.0,J=0.0,K=0.0;G=l;l=l+144|0;B=G+136|0;A=G+64|0;F=G+48|0;v=G+40|0;u=G;t=G+120|0;x=G+104|0;C=G+96|0;D=c[f+20>>2]|0;c[x>>2]=0;c[x+4>>2]=0;c[x+8>>2]=0;c[x+12>>2]=0;a:do if((b|0)>=1){o=(D|0)==0;E=c[15686]|0;p=t+4|0;q=t+8|0;r=t+12|0;y=x+4|0;w=x+8|0;z=x+12|0;n=0;g=0;while(1){if((n|0)==(b|0))break;s=c[d+(n<<2)>>2]|0;lM(s);if(!o?(a[D+n>>0]|0)!=0:0){m=c[s+16>>2]|0;H=+h[m+16>>3];i=~~(H+(H>=0.0?.5:-.5));c[t>>2]=i;H=+h[m+24>>3];j=~~(H+(H>=0.0?.5:-.5));c[p>>2]=j;H=+h[m+32>>3];k=~~(H+(H>=0.0?.5:-.5));c[q>>2]=k;H=+h[m+40>>3];m=~~(H+(H>=0.0?.5:-.5));c[r>>2]=m;if(!g){c[x>>2]=c[t>>2];c[x+4>>2]=c[t+4>>2];c[x+8>>2]=c[t+8>>2];c[x+12>>2]=c[t+12>>2]}else{c[x>>2]=c[((c[x>>2]|0)>(i|0)?t:x)>>2];c[y>>2]=c[((c[y>>2]|0)>(j|0)?t:x)+4>>2];c[w>>2]=c[((c[w>>2]|0)<(k|0)?t:x)+8>>2];c[z>>2]=c[((c[z>>2]|0)<(m|0)?t:x)+12>>2]}g=g+1|0}if(0>2){m=qy(s)|0;s=c[s+16>>2]|0;K=+h[s+16>>3];J=+h[s+24>>3];I=+h[s+32>>3];H=+h[s+40>>3];c[u>>2]=m;h[u+8>>3]=K;h[u+16>>3]=J;h[u+24>>3]=I;h[u+32>>3]=H;f1(E,96231,u)|0}n=n+1|0}q=uH(b<<5)|0;g=0;while(1){if((g|0)==(b|0))break;u=q+(g<<5)|0;t=(c[(c[d+(g<<2)>>2]|0)+16>>2]|0)+16|0;c[u>>2]=c[t>>2];c[u+4>>2]=c[t+4>>2];c[u+8>>2]=c[t+8>>2];c[u+12>>2]=c[t+12>>2];c[u+16>>2]=c[t+16>>2];c[u+20>>2]=c[t+20>>2];c[u+24>>2]=c[t+24>>2];c[u+28>>2]=c[t+28>>2];g=g+1|0}o=f+8|0;p=FD(b,q,c[o>>2]|0)|0;if(0){c[v>>2]=p;f1(E,96259,v)|0}if((p|0)>=1){n=(D|0)!=0;if(n){i=((c[w>>2]|0)+(c[x>>2]|0)|0)/2|0;g=((c[z>>2]|0)+(c[y>>2]|0)|0)/2|0}else{i=0;g=0}c[C+4>>2]=g;c[C>>2]=i;m=tH(b<<4)|0;k=f+16|0;g=0;while(1){if((g|0)>=(b|0))break;i=c[d+(g<<2)>>2]|0;j=m+(g<<4)|0;c[m+(g<<4)+12>>2]=g;if((c[k>>2]|0)==3){x=(c[i+16>>2]|0)+16|0;y=c[o>>2]|0;z=qy(i)|0;c[A>>2]=c[x>>2];c[A+4>>2]=c[x+4>>2];c[A+8>>2]=c[x+8>>2];c[A+12>>2]=c[x+12>>2];c[A+16>>2]=c[x+16>>2];c[A+20>>2]=c[x+20>>2];c[A+24>>2]=c[x+24>>2];c[A+28>>2]=c[x+28>>2];c[B>>2]=c[C>>2];c[B+4>>2]=c[C+4>>2];GD(A,j,p,y,B,z)}else{c[B>>2]=c[C>>2];c[B+4>>2]=c[C+4>>2];HD(e,i,j,p,f,B)}g=g+1|0}j=tH(b<<2)|0;g=0;while(1){if((g|0)>=(b|0))break;c[j+(g<<2)>>2]=m+(g<<4);g=g+1|0}Z0(j,b,4,87);k=uI()|0;g=tH(b<<3)|0;b:do if(n){i=0;while(1){if((i|0)>=(b|0)){i=0;break}if(a[D+i>>0]|0){e=c[j+(i<<2)>>2]|0;f=g+(c[e+12>>2]<<3)|0;c[B>>2]=c[C>>2];c[B+4>>2]=c[C+4>>2];JD(e,k,f,B)}i=i+1|0}while(1){if((i|0)>=(b|0))break b;if(!(a[D+i>>0]|0)){C=c[j+(i<<2)>>2]|0;KD(i,C,k,g+(c[C+12>>2]<<3)|0,p,c[o>>2]|0,q)}i=i+1|0}}else{i=0;while(1){if((i|0)>=(b|0))break b;D=c[j+(i<<2)>>2]|0;KD(i,D,k,g+(c[D+12>>2]<<3)|0,p,c[o>>2]|0,q);i=i+1|0}}while(0);C_(j);i=0;while(1){if((i|0)>=(b|0))break;C_(c[m+(i<<4)+4>>2]|0);i=i+1|0}C_(m);xI(k);C_(q);if(0>1){i=0;while(1){if((i|0)>=(b|0))break a;C=c[g+(i<<3)>>2]|0;D=c[g+(i<<3)+4>>2]|0;c[F>>2]=i;c[F+4>>2]=C;c[F+8>>2]=D;f1(E,96275,F)|0;i=i+1|0}}}else g=0}else g=0;while(0);l=G;return g|0}function CD(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,i=0.0,j=0,k=0,m=0.0,n=0.0,o=0.0,p=0.0,q=0.0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0;z=l;l=l+16|0;g=z;x=tH(a<<3)|0;f=c[d+4>>2]|0;y=d+28|0;e=(f|0)>0;do if(!(c[y>>2]&1))if(e){k=1;w=(a+-1+f|0)/(f|0)|0;break}else{f=~~+N(+(+C(+(+(a|0)))));k=1;w=(a+-1+f|0)/(f|0)|0;break}else if(e){k=0;w=f;f=(a+-1+f|0)/(f|0)|0;break}else{f=~~+N(+(+C(+(+(a|0)))));k=0;w=f;f=(a+-1+f|0)/(f|0)|0;break}while(0);if(0){v=c[15686]|0;c[g>>2]=k|0?96170:96180;c[g+4>>2]=w;c[g+8>>2]=f;f1(v,96193,g)|0}t=tH((f<<3)+8|0)|0;u=tH((w<<3)+8|0)|0;v=tH(a*24|0)|0;j=d+8|0;e=0;g=v;while(1){if((e|0)>=(a|0))break;p=+h[b+(e<<5)+8>>3];o=+h[b+(e<<5)+24>>3];q=+((c[j>>2]|0)>>>0);h[g>>3]=+h[b+(e<<5)+16>>3]-+h[b+(e<<5)>>3]+q;h[g+8>>3]=o-p+q;c[g+16>>2]=e;e=e+1|0;g=g+24|0}s=tH(a<<2)|0;e=0;while(1){if((e|0)>=(a|0))break;c[s+(e<<2)>>2]=v+(e*24|0);e=e+1|0}e=c[d+24>>2]|0;if(!e){if(!(c[y>>2]&64))Z0(s,a,4,89)}else{c[46285]=e;Z0(s,a,4,88)}r=(k|0)==0;e=0;g=0;j=0;while(1){if((j|0)>=(a|0)){i=0.0;e=0;break}k=c[s+(j<<2)>>2]|0;d=t+(g<<3)|0;q=+h[d>>3];p=+h[k>>3];h[d>>3]=q>p?q:p;d=u+(e<<3)|0;p=+h[d>>3];q=+h[k+8>>3];h[d>>3]=p>q?p:q;if(r){e=e+1|0;d=(e|0)==(w|0);e=d?0:e;g=g+(d&1)|0}else{g=g+1|0;d=(g|0)==(f|0);e=e+(d&1)|0;g=d?0:g}j=j+1|0}while(1){if((e|0)>(f|0)){i=0.0;e=w;break}d=t+(e<<3)|0;q=+h[d>>3];h[d>>3]=i;i=q+i;e=e+1|0}while(1){if((e|0)<=0)break;d=e+-1|0;q=+h[u+(d<<3)>>3];h[u+(e<<3)>>3]=i;i=q+i;e=d}h[u>>3]=i;e=0;g=0;d=0;while(1){if((d|0)>=(a|0))break;k=c[(c[s+(d<<2)>>2]|0)+16>>2]|0;i=+h[b+(k<<5)>>3];m=-i;p=+h[b+(k<<5)+8>>3];q=-p;n=+h[b+(k<<5)+16>>3];o=+h[b+(k<<5)+24>>3];j=c[y>>2]|0;do if(!(j&4))if(!(j&8)){i=(m-n+ +h[t+(g<<3)>>3]+ +h[t+(g+1<<3)>>3])*.5;break}else{i=i-n+ +h[t+(g+1<<3)>>3];break}else i=+h[t+(g<<3)>>3];while(0);c[x+(k<<3)>>2]=~~i;do if(!(j&16))if(!(j&32)){i=(q-o+ +h[u+(e<<3)>>3]+ +h[u+(e+1<<3)>>3])*.5;break}else{i=+h[u+(e+1<<3)>>3];break}else i=p-o+ +h[u+(e<<3)>>3];while(0);c[x+(k<<3)+4>>2]=~~i;if(r){e=e+1|0;k=(e|0)==(w|0);e=k?0:e;g=g+(k&1)|0}else{g=g+1|0;k=(g|0)==(f|0);e=e+(k&1)|0;g=k?0:g}d=d+1|0}C_(v);C_(s);C_(t);C_(u);l=z;return x|0}function DD(a,b){a=a|0;b=b|0;var d=0;d=c[46285]|0;a=c[d+(c[(c[a>>2]|0)+16>>2]<<2)>>2]|0;b=c[d+(c[(c[b>>2]|0)+16>>2]<<2)>>2]|0;return ((a|0)>(b|0)?1:((a|0)<(b|0))<<31>>31)|0}function ED(a,b){a=a|0;b=b|0;var d=0.0,e=0.0;a=c[a>>2]|0;b=c[b>>2]|0;e=+h[a>>3]+ +h[a+8>>3];d=+h[b>>3]+ +h[b+8>>3];return (ed)<<31>>31)|0}function FD(a,b,d){a=a|0;b=b|0;d=d|0;var e=0.0,f=0.0,g=0.0,i=0.0,j=0.0,k=0,m=0,n=0.0,o=0.0,p=0,q=0,r=0,s=0;s=l;l=l+96|0;q=s+80|0;r=s+48|0;p=s+8|0;m=s;k=(a*100|0)+-1|0;e=+(d<<1|0);n=0.0;o=0.0;d=0;while(1){if((d|0)>=(a|0))break;j=+h[b+(d<<5)+16>>3]-+h[b+(d<<5)>>3]+e;i=+h[b+(d<<5)+24>>3]-+h[b+(d<<5)+8>>3]+e;n=n-j-i;o=o-i*j;d=d+1|0}i=+(k|0);j=n*n-i*4.0*o;if(!(j<0.0)){e=+C(+j);g=i*2.0;f=(e-n)/g;g=(-n-e)/g;d=~~f;d=(d|0)==0?1:d;if(0>2){m=c[15686]|0;D1(96418,27,1,m)|0;h[p>>3]=i;h[p+8>>3]=n;h[p+16>>3]=o;h[p+24>>3]=j;h[p+32>>3]=e;f1(m,96446,p)|0;c[r>>2]=d;h[r+8>>3]=f;c[r+16>>2]=~~g;h[r+24>>3]=g;f1(m,96472,r)|0;h[q>>3]=(f*i+n)*f+o;h[q+8>>3]=(g*i+n)*g+o;f1(m,96494,q)|0}}else{h[m>>3]=j;Ow(1,96391,m)|0;d=-1}l=s;return d|0}function GD(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var i=0,j=0,k=0,m=0,n=0.0,o=0.0,p=0.0,q=0.0,r=0,s=0,t=0,u=0,v=0.0,w=0.0;u=l;l=l+32|0;t=u+16|0;s=u;p=+h[a>>3];q=+h[a+8>>3];n=+h[a+16>>3];o=+h[a+24>>3];r=uI()|0;j=c[f>>2]|0;a=j-e|0;k=c[f+4>>2]|0;i=k-e|0;j=e-~~(p+(p>=0.0?.5:-.5))+j+~~(n+(n>=0.0?.5:-.5))|0;k=e-~~(q+(q>=0.0?.5:-.5))+k+~~(o+(o>=0.0?.5:-.5))|0;if((a|0)>-1)f=(a|0)/(d|0)|0;else f=((a+1|0)/(d|0)|0)+-1|0;if((i|0)>-1)m=(i|0)/(d|0)|0;else m=((i+1|0)/(d|0)|0)+-1|0;if((j|0)>-1)j=(j|0)/(d|0)|0;else j=((j+1|0)/(d|0)|0)+-1|0;if((k|0)>-1)i=(k|0)/(d|0)|0;else i=((k+1|0)/(d|0)|0)+-1|0;while(1){if((f|0)>(j|0))break;else a=m;while(1){if((a|0)>(i|0))break;AI(r,f,a);a=a+1|0}f=f+1|0}k=b+4|0;c[k>>2]=EI(r)|0;j=DI(r)|0;m=b+8|0;c[m>>2]=j;w=+(e<<1|0);v=+(d|0);i=~~+N(+((n+w-p)/v));a=~~+N(+((o+w-q)/v));c[b>>2]=a+i;a:do if(0>2){f=c[15686]|0;c[s>>2]=g;c[s+4>>2]=j;c[s+8>>2]=i;c[s+12>>2]=a;f1(f,96350,s)|0;a=0;while(1){if((a|0)>=(c[m>>2]|0))break a;g=c[k>>2]|0;s=c[g+(a<<3)+4>>2]|0;c[t>>2]=c[g+(a<<3)>>2];c[t+4>>2]=s;f1(f,96377,t)|0;a=a+1|0}}while(0);xI(r);l=u;return}function HD(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0.0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,O=0,P=0,Q=0.0,R=0.0;P=l;l=l+128|0;F=P+112|0;E=P+104|0;O=P+16|0;M=P;H=P+64|0;I=P+56|0;z=P+40|0;A=P+96|0;y=P+88|0;v=P+24|0;w=P+80|0;x=P+72|0;K=c[f+8>>2]|0;G=c[f+12>>2]|0;C=(a|0)==0?b:a;L=uI()|0;J=b+16|0;B=c[J>>2]|0;t=+h[B+16>>3];D=(c[g>>2]|0)-~~(t+(t>=0.0?.5:-.5))|0;t=+h[B+24>>3];B=(c[g+4>>2]|0)-~~(t+(t>=0.0?.5:-.5))|0;a:do if((c[f+16>>2]|0)==1){v=uH(($x(b)|0)<<2)|0;a=0;g=Ry(b)|0;while(1){if(!g)break;x=g+16|0;c[v+(a<<2)>>2]=c[(c[x>>2]|0)+112>>2];c[(c[x>>2]|0)+112>>2]=0;a=a+1|0;g=Sy(b,g)|0}o=D-K|0;p=B-K|0;q=D+K|0;r=B+K|0;n=1;while(1){a=c[J>>2]|0;if((n|0)>(c[a+180>>2]|0))break;m=c[(c[a+184>>2]|0)+(n<<2)>>2]|0;i=c[m+16>>2]|0;t=+h[i+16>>3];a=~~(t+(t>=0.0?.5:-.5));t=+h[i+24>>3];g=~~(t+(t>=0.0?.5:-.5));t=+h[i+32>>3];f=~~(t+(t>=0.0?.5:-.5));t=+h[i+40>>3];i=~~(t+(t>=0.0?.5:-.5));b:do if((f|0)>(a|0)&(i|0)>(g|0)){a=o+a|0;j=p+g|0;f=q+f|0;k=r+i|0;if((a|0)>-1)g=(a|0)/(e|0)|0;else g=((a+1|0)/(e|0)|0)+-1|0;if((j|0)>-1)j=(j|0)/(e|0)|0;else j=((j+1|0)/(e|0)|0)+-1|0;if((f|0)>-1)i=(f|0)/(e|0)|0;else i=((f+1|0)/(e|0)|0)+-1|0;if((k|0)>-1)f=(k|0)/(e|0)|0;else f=((k+1|0)/(e|0)|0)+-1|0;while(1){if((g|0)>(i|0))break;else a=j;while(1){if((a|0)>(f|0))break;AI(L,g,a);a=a+1|0}g=g+1|0}a=Ry(m)|0;while(1){if(!a)break b;c[(c[a+16>>2]|0)+212>>2]=m;a=Sy(m,a)|0}}while(0);n=n+1|0}r=z+8|0;s=H+4|0;t=+(K|0);u=I+4|0;q=A+4|0;p=y+4|0;o=Ry(b)|0;while(1){if(!o)break;VL(z,o);R=+h[z>>3];Q=+h[r>>3];m=D+~~(R+(R>=0.0?.5:-.5))|0;c[H>>2]=m;n=B+~~(Q+(Q>=0.0?.5:-.5))|0;c[s>>2]=n;g=o+16|0;a=c[g>>2]|0;c:do if(!(c[a+212>>2]|0)){c[I>>2]=~~((+h[a+96>>3]+ +h[a+88>>3])*.5+t);c[u>>2]=~~(+h[a+80>>3]*.5+t);c[E>>2]=c[H>>2];c[E+4>>2]=c[H+4>>2];c[F>>2]=c[I>>2];c[F+4>>2]=c[I+4>>2];MD(A,E,F);a=c[A>>2]|0;f=c[q>>2]|0;c[E>>2]=c[H>>2];c[E+4>>2]=c[H+4>>2];c[F>>2]=c[I>>2];c[F+4>>2]=c[I+4>>2];ND(y,E,F);i=c[y>>2]|0;j=c[p>>2]|0;if((a|0)>-1)g=(a|0)/(e|0)|0;else g=((a+1|0)/(e|0)|0)+-1|0;if((f|0)>-1)k=(f|0)/(e|0)|0;else k=((f+1|0)/(e|0)|0)+-1|0;if((i|0)>-1)i=(i|0)/(e|0)|0;else i=((i+1|0)/(e|0)|0)+-1|0;if((j|0)>-1)f=(j|0)/(e|0)|0;else f=((j+1|0)/(e|0)|0)+-1|0;while(1){if((g|0)>(i|0))break;else a=k;while(1){if((a|0)>(f|0))break;AI(L,g,a);a=a+1|0}g=g+1|0}if((m|0)>-1)a=(m|0)/(e|0)|0;else a=((m+1|0)/(e|0)|0)+-1|0;c[H>>2]=a;if((n|0)>-1)a=(n|0)/(e|0)|0;else a=((n+1|0)/(e|0)|0)+-1|0;c[s>>2]=a;a=Dx(C,o)|0;while(1){if(!a)break c;c[F>>2]=c[H>>2];c[F+4>>2]=c[H+4>>2];OD(a,F,L,D,B,e,G);a=Fx(C,a)|0}}else{if((m|0)>-1)a=(m|0)/(e|0)|0;else a=((m+1|0)/(e|0)|0)+-1|0;c[H>>2]=a;if((n|0)>-1)a=(n|0)/(e|0)|0;else a=((n+1|0)/(e|0)|0)+-1|0;c[s>>2]=a;a=Dx(C,o)|0;while(1){if(!a)break c;if((c[(c[g>>2]|0)+212>>2]|0)!=(c[(c[(c[((c[a>>2]&3|0)==2?a:a+-48|0)+40>>2]|0)+16>>2]|0)+212>>2]|0)){c[F>>2]=c[H>>2];c[F+4>>2]=c[H+4>>2];OD(a,F,L,D,B,e,G)}a=Fx(C,a)|0}}while(0);o=Sy(b,o)|0}a=0;g=Ry(b)|0;while(1){if(!g)break;c[(c[g+16>>2]|0)+112>>2]=c[v+(a<<2)>>2];a=a+1|0;g=Sy(b,g)|0}C_(v)}else{r=v+8|0;s=H+4|0;t=+(K|0);u=I+4|0;q=w+4|0;p=x+4|0;o=Ry(b)|0;while(1){if(!o)break a;VL(v,o);Q=+h[v>>3];R=+h[r>>3];m=D+~~(Q+(Q>=0.0?.5:-.5))|0;c[H>>2]=m;n=B+~~(R+(R>=0.0?.5:-.5))|0;c[s>>2]=n;a=c[o+16>>2]|0;c[I>>2]=~~((+h[a+96>>3]+ +h[a+88>>3])*.5+t);c[u>>2]=~~(+h[a+80>>3]*.5+t);c[E>>2]=c[H>>2];c[E+4>>2]=c[H+4>>2];c[F>>2]=c[I>>2];c[F+4>>2]=c[I+4>>2];MD(w,E,F);a=c[w>>2]|0;f=c[q>>2]|0;c[E>>2]=c[H>>2];c[E+4>>2]=c[H+4>>2];c[F>>2]=c[I>>2];c[F+4>>2]=c[I+4>>2];ND(x,E,F);i=c[x>>2]|0;j=c[p>>2]|0;if((a|0)>-1)g=(a|0)/(e|0)|0;else g=((a+1|0)/(e|0)|0)+-1|0;if((f|0)>-1)k=(f|0)/(e|0)|0;else k=((f+1|0)/(e|0)|0)+-1|0;if((i|0)>-1)i=(i|0)/(e|0)|0;else i=((i+1|0)/(e|0)|0)+-1|0;if((j|0)>-1)f=(j|0)/(e|0)|0;else f=((j+1|0)/(e|0)|0)+-1|0;while(1){if((g|0)>(i|0))break;else a=k;while(1){if((a|0)>(f|0))break;AI(L,g,a);a=a+1|0}g=g+1|0}if((m|0)>-1)a=(m|0)/(e|0)|0;else a=((m+1|0)/(e|0)|0)+-1|0;c[H>>2]=a;if((n|0)>-1)a=(n|0)/(e|0)|0;else a=((n+1|0)/(e|0)|0)+-1|0;c[s>>2]=a;a=Dx(C,o)|0;while(1){if(!a)break;c[F>>2]=c[H>>2];c[F+4>>2]=c[H+4>>2];OD(a,F,L,D,B,e,G);a=Fx(C,a)|0}o=Sy(b,o)|0}}while(0);i=d+4|0;c[i>>2]=EI(L)|0;j=d+8|0;c[j>>2]=DI(L)|0;g=c[J>>2]|0;Q=+(K<<1|0);R=+(e|0);a=~~+N(+((+h[g+32>>3]+Q-+h[g+16>>3])/R));g=~~+N(+((+h[g+40>>3]+Q-+h[g+24>>3])/R));c[d>>2]=g+a;d:do if(0>2){f=c[15686]|0;d=qy(b)|0;b=c[j>>2]|0;c[M>>2]=d;c[M+4>>2]=b;c[M+8>>2]=a;c[M+12>>2]=g;f1(f,96350,M)|0;a=0;while(1){if((a|0)>=(c[j>>2]|0))break d;b=c[i>>2]|0;M=c[b+(a<<3)+4>>2]|0;c[O>>2]=c[b+(a<<3)>>2];c[O+4>>2]=M;f1(f,96377,O)|0;a=a+1|0}}while(0);xI(L);l=P;return}function ID(a,b){a=a|0;b=b|0;return (c[c[b>>2]>>2]|0)-(c[c[a>>2]>>2]|0)|0}function JD(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0;j=l;l=l+32|0;h=j+16|0;i=j;k=c[a+4>>2]|0;g=c[a+8>>2]|0;c[d>>2]=0-(c[e>>2]|0);f=d+4|0;c[f>>2]=0-(c[e+4>>2]|0);a=0;e=k;while(1){if((a|0)>=(g|0))break;c[h>>2]=c[e>>2];c[h+4>>2]=c[e+4>>2];yI(b,h);a=a+1|0;e=e+8|0}if(0>1){k=c[15686]|0;b=c[d>>2]|0;d=c[f>>2]|0;c[i>>2]=g;c[i+4>>2]=b;c[i+8>>2]=d;f1(k,96324,i)|0}l=j;return}function KD(a,b,d,e,f,g,i){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;i=i|0;var j=0,k=0,l=0.0,m=0.0,n=0.0,o=0.0,p=0.0,q=0.0;k=c[b+12>>2]|0;l=+h[i+(k<<5)>>3];m=+h[i+(k<<5)+8>>3];n=+h[i+(k<<5)+16>>3];o=+h[i+(k<<5)+24>>3];if(!((a|0)==0?(q=+(g<<1|0),p=+(f|0),(LD((~~+N(+((q-l+n)/p))|0)/-2|0,(~~+N(+((q-m+o)/p))|0)/-2|0,b,d,e,f,i)|0)!=0):0))j=3;a:do if((j|0)==3?(LD(0,0,b,d,e,f,i)|0)==0:0)if((~~+N(+(n-l))|0)<(~~+N(+(o-m))|0)){k=1;while(1){j=0-k|0;a=0;while(1){if((a|0)<=(j|0)){g=j;break}if(LD(j,a,b,d,e,f,i)|0)break a;a=a+-1|0}while(1){if((g|0)>=(k|0))break;if(LD(g,a,b,d,e,f,i)|0)break a;g=g+1|0}while(1){if((a|0)>=(k|0))break;if(LD(g,a,b,d,e,f,i)|0)break a;a=a+1|0}while(1){if((g|0)<=(j|0))break;if(LD(g,a,b,d,e,f,i)|0)break a;g=g+-1|0}while(1){if((a|0)<=0)break;if(!(LD(g,a,b,d,e,f,i)|0))a=a+-1|0;else break a}k=k+1|0}}else{k=1;while(1){j=0-k|0;a=0;while(1){if((a|0)>=(k|0)){g=j;break}if(LD(a,j,b,d,e,f,i)|0)break a;a=a+1|0}while(1){if((g|0)>=(k|0))break;if(LD(a,g,b,d,e,f,i)|0)break a;g=g+1|0}while(1){if((a|0)<=(j|0))break;if(LD(a,g,b,d,e,f,i)|0)break a;a=a+-1|0}while(1){if((g|0)<=(j|0))break;if(LD(a,g,b,d,e,f,i)|0)break a;g=g+-1|0}while(1){if((a|0)>=0)break;if(!(LD(a,g,b,d,e,f,i)|0))a=a+1|0;else break a}k=k+1|0}}while(0);return}function LD(a,b,d,e,f,g,i){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;i=i|0;var j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0.0,x=0.0;t=l;l=l+48|0;r=t+32|0;s=t+8|0;q=t;m=d+4|0;o=c[d+8>>2]|0;p=q+4|0;j=c[m>>2]|0;k=0;while(1){if((k|0)>=(o|0)){n=5;break}v=j;u=c[v+4>>2]|0;c[q>>2]=(c[v>>2]|0)+a;c[p>>2]=u+b;c[r>>2]=c[q>>2];c[r+4>>2]=c[q+4>>2];if(BI(e,r)|0){j=0;break}j=j+8|0;k=k+1|0}if((n|0)==5){d=c[d+12>>2]|0;x=+h[i+(d<<5)>>3];w=+h[i+(d<<5)+8>>3];c[f>>2]=(O(g,a)|0)-~~(x+(x>=0.0?.5:-.5));d=f+4|0;c[d>>2]=(O(g,b)|0)-~~(w+(w>=0.0?.5:-.5));j=c[m>>2]|0;k=0;while(1){if((k|0)>=(o|0))break;u=j;v=c[u+4>>2]|0;c[q>>2]=(c[u>>2]|0)+a;c[p>>2]=v+b;c[r>>2]=c[q>>2];c[r+4>>2]=c[q+4>>2];yI(e,r);j=j+8|0;k=k+1|0}if(0>1){j=c[15686]|0;u=c[f>>2]|0;v=c[d>>2]|0;c[s>>2]=o;c[s+4>>2]=a;c[s+8>>2]=b;c[s+12>>2]=u;c[s+16>>2]=v;f1(j,96290,s)|0;j=1}else j=1}l=t;return j|0}function MD(a,b,d){a=a|0;b=b|0;d=d|0;var e=0;e=(c[b+4>>2]|0)-(c[d+4>>2]|0)|0;c[a>>2]=(c[b>>2]|0)-(c[d>>2]|0);c[a+4>>2]=e;return}function ND(a,b,d){a=a|0;b=b|0;d=d|0;var e=0;e=(c[d+4>>2]|0)+(c[b+4>>2]|0)|0;c[a>>2]=(c[d>>2]|0)+(c[b>>2]|0);c[a+4>>2]=e;return}function OD(a,b,d,e,f,g,i){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;i=i|0;var j=0.0,k=0.0,m=0,n=0,o=0.0,p=0.0,q=0.0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0;A=l;l=l+112|0;x=A+96|0;w=A+80|0;r=A+48|0;s=A+32|0;y=A+16|0;z=A;n=A+64|0;h[y>>3]=+(c[b>>2]|0);t=y+8|0;h[t>>3]=+(c[b+4>>2]|0);a:do if((i|0)!=0?(u=a+16|0,m=c[(c[u>>2]|0)+8>>2]|0,(m|0)!=0):0){q=+(e|0);p=+(f|0);o=1.0/+(g|0);n=z+8|0;i=0;while(1){if((i|0)>=(c[m+4>>2]|0))break a;f=c[m>>2]|0;a=c[f+(i*48|0)>>2]|0;b=c[f+(i*48|0)+4>>2]|0;g=c[f+(i*48|0)+8>>2]|0;e=c[f+(i*48|0)+12>>2]|0;m=f+(i*48|0)+16|0;c[r>>2]=c[m>>2];c[r+4>>2]=c[m+4>>2];c[r+8>>2]=c[m+8>>2];c[r+12>>2]=c[m+12>>2];f=f+(i*48|0)+32|0;c[s>>2]=c[f>>2];c[s+4>>2]=c[f+4>>2];c[s+8>>2]=c[f+8>>2];c[s+12>>2]=c[f+12>>2];if(!g){c[y>>2]=c[a>>2];c[y+4>>2]=c[a+4>>2];c[y+8>>2]=c[a+8>>2];c[y+12>>2]=c[a+12>>2];m=a+16|0;c[z>>2]=c[m>>2];c[z+4>>2]=c[m+4>>2];c[z+8>>2]=c[m+8>>2];c[z+12>>2]=c[m+12>>2];m=2}else{c[y>>2]=c[r>>2];c[y+4>>2]=c[r+4>>2];c[y+8>>2]=c[r+8>>2];c[y+12>>2]=c[r+12>>2];c[z>>2]=c[a>>2];c[z+4>>2]=c[a+4>>2];c[z+8>>2]=c[a+8>>2];c[z+12>>2]=c[a+12>>2];m=1}j=+h[y>>3]+q;h[y>>3]=j;k=+h[t>>3]+p;h[t>>3]=k;if(!(j>=0.0))j=(j+1.0)*o+-1.0;else j=j*o;h[y>>3]=j;if(!(k>=0.0))j=(k+1.0)*o+-1.0;else j=k*o;h[t>>3]=j;j=+h[z>>3]+q;h[z>>3]=j;k=+h[n>>3]+p;h[n>>3]=k;if(!(j>=0.0))j=(j+1.0)*o+-1.0;else j=j*o;h[z>>3]=j;if(!(k>=0.0))j=(k+1.0)*o+-1.0;else j=k*o;h[n>>3]=j;c[w>>2]=c[y>>2];c[w+4>>2]=c[y+4>>2];c[w+8>>2]=c[y+8>>2];c[w+12>>2]=c[y+12>>2];c[x>>2]=c[z>>2];c[x+4>>2]=c[z+4>>2];c[x+8>>2]=c[z+8>>2];c[x+12>>2]=c[z+12>>2];zD(w,x,d);while(1){if((m|0)>=(b|0))break;c[y>>2]=c[z>>2];c[y+4>>2]=c[z+4>>2];c[y+8>>2]=c[z+8>>2];c[y+12>>2]=c[z+12>>2];g=a+(m<<4)|0;c[z>>2]=c[g>>2];c[z+4>>2]=c[g+4>>2];c[z+8>>2]=c[g+8>>2];c[z+12>>2]=c[g+12>>2];j=+h[z>>3]+q;h[z>>3]=j;k=+h[n>>3]+p;h[n>>3]=k;if(!(j>=0.0))j=(j+1.0)*o+-1.0;else j=j*o;h[z>>3]=j;if(!(k>=0.0))j=(k+1.0)*o+-1.0;else j=k*o;h[n>>3]=j;c[w>>2]=c[y>>2];c[w+4>>2]=c[y+4>>2];c[w+8>>2]=c[y+8>>2];c[w+12>>2]=c[y+12>>2];c[x>>2]=c[z>>2];c[x+4>>2]=c[z+4>>2];c[x+8>>2]=c[z+8>>2];c[x+12>>2]=c[z+12>>2];zD(w,x,d);m=m+1|0}if(e|0){c[y>>2]=c[z>>2];c[y+4>>2]=c[z+4>>2];c[y+8>>2]=c[z+8>>2];c[y+12>>2]=c[z+12>>2];c[z>>2]=c[s>>2];c[z+4>>2]=c[s+4>>2];c[z+8>>2]=c[s+8>>2];c[z+12>>2]=c[s+12>>2];j=+h[z>>3]+q;h[z>>3]=j;k=+h[n>>3]+p;h[n>>3]=k;if(!(j>=0.0))j=(j+1.0)*o+-1.0;else j=j*o;h[z>>3]=j;if(!(k>=0.0))j=(k+1.0)*o+-1.0;else j=k*o;h[n>>3]=j;c[w>>2]=c[y>>2];c[w+4>>2]=c[y+4>>2];c[w+8>>2]=c[y+8>>2];c[w+12>>2]=c[y+12>>2];c[x>>2]=c[z>>2];c[x+4>>2]=c[z+4>>2];c[x+8>>2]=c[z+8>>2];c[x+12>>2]=c[z+12>>2];zD(w,x,d)}i=i+1|0;m=c[(c[u>>2]|0)+8>>2]|0}}else v=4;while(0);if((v|0)==4){VL(n,c[((c[a>>2]&3|0)==2?a:a+-48|0)+40>>2]|0);c[z>>2]=c[n>>2];c[z+4>>2]=c[n+4>>2];c[z+8>>2]=c[n+8>>2];c[z+12>>2]=c[n+12>>2];j=+h[z>>3]+ +(e|0);h[z>>3]=j;m=z+8|0;k=+h[m>>3]+ +(f|0);h[m>>3]=k;if(!(j>=0.0))j=(j+1.0)/+(g|0)+-1.0;else j=j/+(g|0);h[z>>3]=j;if(!(k>=0.0))j=(k+1.0)/+(g|0)+-1.0;else j=k/+(g|0);h[m>>3]=j;c[w>>2]=c[y>>2];c[w+4>>2]=c[y+4>>2];c[w+8>>2]=c[y+8>>2];c[w+12>>2]=c[y+12>>2];c[x>>2]=c[z>>2];c[x+4>>2]=c[z+4>>2];c[x+8>>2]=c[z+8>>2];c[x+12>>2]=c[z+12>>2];zD(w,x,d)}l=A;return}function PD(a,b,d){a=a|0;b=b|0;d=d|0;a:do if((a|0)<1)a=0;else switch(c[d+16>>2]|0){case 4:{a=CD(a,b,d)|0;break a}case 3:{a=QD(a,b,d)|0;break a}default:{a=0;break a}}while(0);return a|0}function QD(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0;n=l;l=l+80|0;g=n+64|0;f=n+24|0;m=n+8|0;e=n;h=n+56|0;j=d+8|0;k=FD(a,b,c[j>>2]|0)|0;if(0){i=c[15686]|0;c[e>>2]=k;f1(i,96259,e)|0}a:do if((k|0)>=1){c[h+4>>2]=0;c[h>>2]=0;i=tH(a<<4)|0;d=0;while(1){if((d|0)>=(a|0))break;c[i+(d<<4)+12>>2]=d;o=b+(d<<5)|0;e=c[j>>2]|0;c[f>>2]=c[o>>2];c[f+4>>2]=c[o+4>>2];c[f+8>>2]=c[o+8>>2];c[f+12>>2]=c[o+12>>2];c[f+16>>2]=c[o+16>>2];c[f+20>>2]=c[o+20>>2];c[f+24>>2]=c[o+24>>2];c[f+28>>2]=c[o+28>>2];c[g>>2]=c[h>>2];c[g+4>>2]=c[h+4>>2];GD(f,i+(d<<4)|0,k,e,g,191979);d=d+1|0}f=tH(a<<2)|0;d=0;while(1){if((d|0)>=(a|0))break;c[f+(d<<2)>>2]=i+(d<<4);d=d+1|0}Z0(f,a,4,87);g=uI()|0;d=tH(a<<3)|0;e=0;while(1){if((e|0)>=(a|0))break;o=c[f+(e<<2)>>2]|0;KD(e,o,g,d+(c[o+12>>2]<<3)|0,k,c[j>>2]|0,b);e=e+1|0}C_(f);e=0;while(1){if((e|0)>=(a|0))break;C_(c[i+(e<<4)+4>>2]|0);e=e+1|0}C_(i);xI(g);if(0>1){f=c[15686]|0;e=0;while(1){if((e|0)>=(a|0))break a;b=c[d+(e<<3)>>2]|0;o=c[d+(e<<3)+4>>2]|0;c[m>>2]=e;c[m+4>>2]=b;c[m+8>>2]=o;f1(f,96275,m)|0;e=e+1|0}}}else d=0;while(0);l=n;return d|0}function RD(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,i=0,j=0,k=0,l=0,m=0.0,n=0.0,o=0.0,p=0.0,q=0,r=0,s=0,t=0;a:do if((a|0)<1)f=0-a|0;else{s=(e|0)==0;q=(f|0)==0;j=0;while(1){if((j|0)==(a|0)){f=0;break a}r=c[b+(j<<2)>>2]|0;g=s?r:e;k=c[d+(j<<3)>>2]|0;l=c[d+(j<<3)+4>>2]|0;m=+(k|0);n=m*.013888888888888888;o=+(l|0);p=o*.013888888888888888;i=Ry(r)|0;while(1){if(!i)break;f=c[i+16>>2]|0;t=c[f+132>>2]|0;h[t>>3]=+h[t>>3]+n;t=t+8|0;h[t>>3]=+h[t>>3]+p;t=f+16|0;h[t>>3]=+h[t>>3]+m;t=f+24|0;h[t>>3]=+h[t>>3]+o;f=c[f+108>>2]|0;if(f|0){t=f+56|0;h[t>>3]=+h[t>>3]+m;t=f+64|0;h[t>>3]=+h[t>>3]+o}b:do if(!q){f=Dx(g,i)|0;while(1){if(!f)break b;SD(f,k,l);f=Fx(g,f)|0}}while(0);i=Sy(r,i)|0}TD(r,k,l);j=j+1|0}}while(0);return f|0}function SD(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,i=0,j=0.0,k=0,l=0.0,m=0,n=0;e=c[a+16>>2]|0;a=c[e+96>>2]|0;if(a|0){m=a+56|0;h[m>>3]=+h[m>>3]+ +(b|0);m=a+64|0;h[m>>3]=+h[m>>3]+ +(d|0)}a=c[e+108>>2]|0;if(a|0){m=a+56|0;h[m>>3]=+h[m>>3]+ +(b|0);m=a+64|0;h[m>>3]=+h[m>>3]+ +(d|0)}a=c[e+100>>2]|0;if(a|0){m=a+56|0;h[m>>3]=+h[m>>3]+ +(b|0);m=a+64|0;h[m>>3]=+h[m>>3]+ +(d|0)}a=c[e+104>>2]|0;if(a|0){m=a+56|0;h[m>>3]=+h[m>>3]+ +(b|0);m=a+64|0;h[m>>3]=+h[m>>3]+ +(d|0)}m=c[e+8>>2]|0;a:do if(m|0){l=+(b|0);j=+(d|0);b=c[m+4>>2]|0;a=0;while(1){if((a|0)>=(b|0))break a;k=c[m>>2]|0;d=c[k+(a*48|0)>>2]|0;f=c[k+(a*48|0)+4>>2]|0;g=c[k+(a*48|0)+8>>2]|0;i=c[k+(a*48|0)+12>>2]|0;e=0;while(1){if((e|0)>=(f|0))break;n=d+(e<<4)|0;h[n>>3]=+h[n>>3]+l;n=d+(e<<4)+8|0;h[n>>3]=+h[n>>3]+j;e=e+1|0}if(g|0){n=k+(a*48|0)+16|0;h[n>>3]=+h[n>>3]+l;n=k+(a*48|0)+24|0;h[n>>3]=+h[n>>3]+j}if(i|0){n=k+(a*48|0)+32|0;h[n>>3]=+h[n>>3]+l;n=k+(a*48|0)+40|0;h[n>>3]=+h[n>>3]+j}a=a+1|0}}while(0);return}function TD(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0.0,i=0.0,j=0,k=0.0,l=0.0,m=0,n=0.0,o=0;j=b+16|0;b=c[j>>2]|0;o=b+16|0;m=b+24|0;f=b+32|0;b=b+40|0;g=+(d|0);l=+h[f>>3]+g;i=+(e|0);n=+h[m>>3]+i;k=+h[b>>3]+i;h[o>>3]=+h[o>>3]+g;h[m>>3]=n;h[f>>3]=l;h[b>>3]=k;b=c[j>>2]|0;f=c[b+12>>2]|0;if((f|0)!=0?(a[f+81>>0]|0)!=0:0){o=f+56|0;h[o>>3]=+h[o>>3]+g;f=f+64|0;h[f>>3]=+h[f>>3]+i;f=1}else f=1;while(1){if((f|0)>(c[b+180>>2]|0))break;TD(c[(c[b+184>>2]|0)+(f<<2)>>2]|0,d,e);f=f+1|0;b=c[j>>2]|0}return}function UD(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0;f=AD(a,b,d,e)|0;if(!f)a=1;else{a=RD(a,b,f,d,c[e+12>>2]|0)|0;C_(f)}return a|0}function VD(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0;p=l;l=l+32|0;o=p;n=UD(a,b,d,e)|0;if(!n){lM(d);m=(c[d+16>>2]|0)+16|0;c[o>>2]=c[m>>2];c[o+4>>2]=c[m+4>>2];c[o+8>>2]=c[m+8>>2];c[o+12>>2]=c[m+12>>2];c[o+16>>2]=c[m+16>>2];c[o+20>>2]=c[m+20>>2];c[o+24>>2]=c[m+24>>2];c[o+28>>2]=c[m+28>>2];f=o+8|0;g=o+16|0;i=o+24|0;e=0;while(1){if((e|0)>=(a|0))break;k=c[(c[b+(e<<2)>>2]|0)+16>>2]|0;j=c[k+180>>2]|0;k=k+184|0;d=1;while(1){if((d|0)>(j|0))break;r=(c[(c[(c[k>>2]|0)+(d<<2)>>2]|0)+16>>2]|0)+16|0;h[o>>3]=+h[(+h[o>>3]<+h[r>>3]?o:r)>>3];r=c[(c[(c[k>>2]|0)+(d<<2)>>2]|0)+16>>2]|0;q=r+16|0;h[f>>3]=+h[(+h[f>>3]<+h[r+24>>3]?o:q)+8>>3];h[g>>3]=+h[(+h[g>>3]>+h[r+32>>3]?o:q)+16>>3];h[i>>3]=+h[(+h[i>>3]>+h[r+40>>3]?o:q)+24>>3];d=d+1|0}e=e+1|0}c[m>>2]=c[o>>2];c[m+4>>2]=c[o+4>>2];c[m+8>>2]=c[o+8>>2];c[m+12>>2]=c[o+12>>2];c[m+16>>2]=c[o+16>>2];c[m+20>>2]=c[o+20>>2];c[m+24>>2]=c[o+24>>2];c[m+28>>2]=c[o+28>>2]}l=p;return n|0}function WD(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0;g=l;l=l+16|0;f=g;if(!e)qa(96508,96514,1400,96521);d=XD(a,d,d)|0;c[e+8>>2]=d;if(0){h=c[15686]|0;c[f>>2]=d;f1(h,96533,f)|0}c[e+12>>2]=0;c[e+20>>2]=0;YD(a,b,e)|0;l=g;return c[e+16>>2]|0}function XD(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0;i=l;l=l+16|0;h=i;f=i+4|0;g=wx(b,96663)|0;a:do if(g){c[h>>2]=f;h=(M1(g,134313,h)|0)==1;b=c[f>>2]|0;if(h&(b|0)>-1)d=b;else{switch(a[g>>0]|0){case 84:case 116:break;default:break a}d=e}}while(0);l=i;return d|0}function YD(a,b,c){a=a|0;b=b|0;c=c|0;return ZD(wx(a,96546)|0,b,c)|0}function ZD(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0.0;u=l;l=l+64|0;r=u+40|0;q=u+32|0;t=u+24|0;s=u+16|0;m=u+8|0;k=u;i=u+48|0;j=u+44|0;if(!e)qa(96508,96514,1292,96555);o=e+28|0;c[o>>2]=0;p=e+16|0;c[p>>2]=d;n=e+4|0;c[n>>2]=0;c[e+24>>2]=0;a:do if(b|0?(f=a[b>>0]|0,f<<24>>24):0)switch(f<<24>>24|0){case 97:if(!(y$(b,96573,5)|0)){c[p>>2]=4;m=_D(b+5|0,e)|0;c[k>>2]=j;m=(M1(m,134313,k)|0)>0;d=c[j>>2]|0;if(!(m&(d|0)>0))break a;c[n>>2]=d;break a}else{if(y$(b,96579,6)|0)break a;c[p>>2]=5;c[m>>2]=i;m=(M1(b+5|0,96586,m)|0)>0;v=+g[i>>2];g[e>>2]=m&v>0.0?v:1.0;break a}case 99:{if(f<<24>>24!=99)break a;if(a$(b,104980)|0)break a;c[p>>2]=1;break a}case 103:{if(f<<24>>24!=103)break a;if(a$(b,108412)|0)break a;c[p>>2]=3;break a}case 110:{if(f<<24>>24!=110)break a;if(a$(b,108399)|0)break a;c[p>>2]=2;break a}default:break a}while(0);if(0){d=c[15686]|0;D1(96589,11,1,d)|0;c[s>>2]=$D(c[p>>2]|0)|0;f1(d,96601,s)|0;if((c[p>>2]|0)==5){h[t>>3]=+g[e>>2];f1(d,96614,t)|0}c[q>>2]=c[n>>2];f1(d,96627,q)|0;c[r>>2]=c[o>>2];f1(d,96640,r)|0}l=u;return c[p>>2]|0}function _D(b,d){b=b|0;d=d|0;var e=0,f=0,g=0;a:do if((a[b>>0]|0)==95){f=d+28|0;e=1;while(1){b=b+1|0;b:while(1){if(!e)break a;d=a[b>>0]|0;if(!(d<<24>>24))break a;switch(d<<24>>24|0){case 99:{g=10;break b}case 105:{g=9;break b}case 117:{g=11;break b}case 116:{g=12;break b}case 98:{d=32;break b}case 108:{g=7;break b}case 114:{g=8;break b}default:e=0}}if((g|0)==7){g=0;d=4}else if((g|0)==8){g=0;d=8}else if((g|0)==9){g=0;d=64}else if((g|0)==10){g=0;d=1}else if((g|0)==11){g=0;d=2}else if((g|0)==12){g=0;d=16}c[f>>2]=c[f>>2]|d}}while(0);return b|0}function $D(a){a=a|0;switch(a|0){case 1:{a=104980;break}case 2:{a=108399;break}case 3:{a=108412;break}case 4:{a=96573;break}case 5:{a=96579;break}default:a=96653}return a|0}function aE(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0;n=l;l=l+96|0;k=n;m=n+80|0;do if(a){if(!e){e=D_(1,20)|0;c[e+4>>2]=d>>>0>80?d:80}d=c[e>>2]|0;j=c[e+4>>2]|0;if(!d){h=100;d=a;i=D_(100,j)|0}else{h=d+100|0;i=E_(c[e+8>>2]|0,O(h,j)|0)|0;G3(i+(O(j,d)|0)|0,0,j*100|0)|0;d=a}while(1){d=bE(k,d,b,m)|0;if(!d)break;a=c[e>>2]|0;f=h<<1;g=O(h,j)|0;if((a|0)==(h|0)){i=E_(i,O(f,j)|0)|0;G3(i+g|0,0,g|0)|0;a=c[e>>2]|0}else f=h;a=i+(O(a,j)|0)|0;g=k;h=a+80|0;do{c[a>>2]=c[g>>2];a=a+4|0;g=g+4|0}while((a|0)<(h|0));c[e>>2]=(c[e>>2]|0)+1;h=f}if(c[m>>2]|0){m=e+16|0;c[m>>2]=c[m>>2]|1}d=c[e>>2]|0;if(!d){C_(i);C_(e);e=0;break}else{c[e+8>>2]=E_(i,O(d,j)|0)|0;break}}while(0);l=n;return e|0}function bE(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0;j=l;l=l+80|0;h=j+64|0;i=j;c[f>>2]=0;do{g=a[d>>0]|0;d=d+1|0}while((A$(g)|0)!=0);a:do switch(g|0){case 69:{c[b>>2]=0;d=cE(d,b+8|0)|0;if(!d){c[f>>2]=1;d=0;break a}if(e)c[b+72>>2]=c[e>>2];break}case 101:{c[b>>2]=1;d=cE(d,b+8|0)|0;if(!d){c[f>>2]=1;d=0;break a}if(e)c[b+72>>2]=c[e>>2];break}case 80:{c[b>>2]=2;d=dE(d,b+8|0)|0;if(!d){c[f>>2]=1;d=0;break a}if(e)c[b+72>>2]=c[e+4>>2];break}case 112:{c[b>>2]=3;d=dE(d,b+8|0)|0;if(!d){c[f>>2]=1;d=0;break a}if(e)c[b+72>>2]=c[e+4>>2];break}case 98:{c[b>>2]=4;d=dE(d,b+8|0)|0;if(!d){c[f>>2]=1;d=0;break a}if(e)c[b+72>>2]=c[e+8>>2];break}case 66:{c[b>>2]=5;d=dE(d,b+8|0)|0;if(!d){c[f>>2]=1;d=0;break a}if(e)c[b+72>>2]=c[e+8>>2];break}case 99:{d=eE(d,h)|0;if(!d){c[f>>2]=1;d=0;break a}g=fE(c[h>>2]|0,i)|0;c[h>>2]=g;if(!g){c[f>>2]=1;d=0;break a}if(!(c[i>>2]|0)){c[b>>2]=9;c[b+8>>2]=c[i+8>>2];if(!e)break a;c[b+72>>2]=c[e+24>>2];break a}else{c[b>>2]=14;f=b+8|0;g=i;h=f+64|0;do{c[f>>2]=c[g>>2];f=f+4|0;g=g+4|0}while((f|0)<(h|0));if(!e)break a;c[b+72>>2]=c[e+40>>2];break a}}case 67:{d=eE(d,h)|0;if(!d){c[f>>2]=1;d=0;break a}g=fE(c[h>>2]|0,i)|0;c[h>>2]=g;if(!g){c[f>>2]=1;d=0;break a}if(!(c[i>>2]|0)){c[b>>2]=8;c[b+8>>2]=c[i+8>>2];if(!e)break a;c[b+72>>2]=c[e+20>>2];break a}else{c[b>>2]=13;f=b+8|0;g=i;h=f+64|0;do{c[f>>2]=c[g>>2];f=f+4|0;g=g+4|0}while((f|0)<(h|0));if(!e)break a;c[b+72>>2]=c[e+40>>2];break a}}case 76:{c[b>>2]=6;d=dE(d,b+8|0)|0;if(!d){c[f>>2]=1;d=0;break a}if(e)c[b+72>>2]=c[e+12>>2];break}case 84:{c[b>>2]=7;d=gE(d,b+8|0)|0;if(!d){c[f>>2]=1;d=0;break a}d=gE(d,b+16|0)|0;if(!d){c[f>>2]=1;d=0;break a}d=hE(d,b+24|0)|0;if(!d){c[f>>2]=1;d=0;break a}d=gE(d,b+32|0)|0;if(!d){c[f>>2]=1;d=0;break a}d=eE(d,b+40|0)|0;if(!d){c[f>>2]=1;d=0;break a}if(e)c[b+72>>2]=c[e+16>>2];break}case 70:{c[b>>2]=10;d=gE(d,b+8|0)|0;if(!d){c[f>>2]=1;d=0;break a}d=eE(d,b+16|0)|0;if(!d){c[f>>2]=1;d=0;break a}if(e)c[b+72>>2]=c[e+28>>2];break}case 83:{c[b>>2]=11;d=eE(d,b+8|0)|0;if(!d){c[f>>2]=1;d=0;break a}if(e)c[b+72>>2]=c[e+32>>2];break}case 73:{c[b>>2]=12;d=cE(d,b+8|0)|0;if(!d){c[f>>2]=1;d=0;break a}d=eE(d,b+40|0)|0;if(!d){c[f>>2]=1;d=0;break a}if(e)c[b+72>>2]=c[e+36>>2];break}case 116:{c[b>>2]=15;d=iE(d,b+8|0)|0;if(!d){c[f>>2]=1;d=0;break a}if(e)c[b+72>>2]=c[e+44>>2];break}case 0:{d=0;break}default:{c[f>>2]=1;d=0}}while(0);l=j;return d|0}function cE(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,i=0;i=l;l=l+16|0;e=i;h[b>>3]=+b2(a,e);f=c[e>>2]|0;if(((f|0)!=(a|0)?(h[b+8>>3]=+b2(f,e),g=c[e>>2]|0,(f|0)!=(g|0)):0)?(h[b+16>>3]=+b2(g,e),d=c[e>>2]|0,(g|0)!=(d|0)):0){h[b+24>>3]=+b2(d,e);a=c[e>>2]|0;a=(d|0)==(a|0)?0:a}else a=0;l=i;return a|0}function dE(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,i=0,j=0,k=0;k=l;l=l+16|0;j=k+4|0;g=k;a=jE(a,j)|0;do if(a){d=c[j>>2]|0;i=D_(d,24)|0;c[b>>2]=d;e=i;f=0;while(1){if((f|0)>=(d|0)){d=9;break}h[e>>3]=+b2(a,g);d=c[g>>2]|0;if((a|0)==(d|0)){d=5;break}h[e+8>>3]=+b2(d,g);a=c[g>>2]|0;if((d|0)==(a|0)){d=7;break}h[e+16>>3]=0.0;e=e+24|0;d=c[b>>2]|0;f=f+1|0}if((d|0)==5){c[j>>2]=f;C_(i);a=0;break}else if((d|0)==7){c[j>>2]=f;C_(i);a=0;break}else if((d|0)==9){c[j>>2]=f;c[b+4>>2]=i;break}}else a=0;while(0);l=k;return a|0}function eE(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0;j=l;l=l+16|0;i=j;b=jE(b,i)|0;f=c[i>>2]|0;do if(!((b|0)==0|(f|0)<1)){while(1){h=a[b>>0]|0;e=h<<24>>24==0;if(e^h<<24>>24!=45)b=b+1|0;else break}if(!e){h=D_(f+1|0,1)|0;g=h;e=f;while(1){b=b+1|0;if((e|0)<=0){e=9;break}e=a[b>>0]|0;if(!(e<<24>>24)){e=8;break}a[g>>0]=e;e=(c[i>>2]|0)+-1|0;c[i>>2]=e;g=g+1|0}if((e|0)==8){C_(h);b=0;break}else if((e|0)==9){a[g>>0]=0;c[d>>2]=h;break}}else b=0}else b=0;while(0);l=j;return b|0}function fE(b,d){b=b|0;d=d|0;var e=0;e=a[b>>0]|0;switch(e|0){case 91:{b=kE(b+1|0,d)|0;break}case 40:{b=lE(b+1|0,d)|0;break}case 47:case 35:{c[d>>2]=0;c[d+8>>2]=b;break}default:if(!(L$(e)|0))b=0;else{c[d>>2]=0;c[d+8>>2]=b}}return b|0}function gE(a,b){a=a|0;b=b|0;var d=0,e=0.0,f=0;f=l;l=l+16|0;d=f;e=+b2(a,d);d=c[d>>2]|0;if((d|0)==(a|0))d=0;else h[b>>3]=e;l=f;return d|0}function hE(a,b){a=a|0;b=b|0;var d=0,e=0;d=l;l=l+16|0;e=d;a=jE(a,e)|0;e=c[e>>2]|0;c[b>>2]=(e|0)<0?0:e|0?2:1;l=d;return a|0}function iE(a,b){a=a|0;b=b|0;var d=0,e=0;d=l;l=l+16|0;e=d;c[b>>2]=B$(a,e,10)|0;b=c[e>>2]|0;l=d;return ((b|0)==(a|0)?0:b)|0}function jE(a,b){a=a|0;b=b|0;var d=0,e=0;d=l;l=l+16|0;e=d;c[b>>2]=h1(a,e,10)|0;b=c[e>>2]|0;l=d;return ((b|0)==(a|0)?0:b)|0}function kE(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,i=0,j=0,k=0,m=0,n=0,o=0;o=l;l=l+16|0;m=o;c[b>>2]=1;n=b+8|0;i=gE(a,n)|0;do if(((((i|0)!=0?(j=gE(i,b+16|0)|0,(j|0)!=0):0)?(e=gE(j,b+24|0)|0,(e|0)!=0):0)?(f=gE(e,b+32|0)|0,(f|0)!=0):0)?(k=b+40|0,d=jE(f,k)|0,(d|0)!=0):0){b=c[k>>2]|0;f=D_(b,8)|0;e=0;while(1){if((e|0)>=(b|0)){d=13;break}d=gE(d,m)|0;if(!d){d=9;break}g[f+(e<<3)>>2]=+h[m>>3];d=eE(d,f+(e<<3)+4|0)|0;if(!d){d=12;break}e=e+1|0;b=c[k>>2]|0}if((d|0)==9){C_(f);a=0;break}else if((d|0)==12){C_(f);a=0;break}else if((d|0)==13){c[n+36>>2]=f;break}}else a=0;while(0);l=o;return a|0}function lE(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0;p=l;l=l+16|0;n=p;c[b>>2]=2;k=gE(a,b+8|0)|0;do if(((((((k|0)!=0?(m=gE(k,b+16|0)|0,(m|0)!=0):0)?(e=gE(m,b+24|0)|0,(e|0)!=0):0)?(f=gE(e,b+32|0)|0,(f|0)!=0):0)?(i=gE(f,b+40|0)|0,(i|0)!=0):0)?(j=gE(i,b+48|0)|0,(j|0)!=0):0)?(o=b+56|0,d=jE(j,o)|0,(d|0)!=0):0){e=c[o>>2]|0;i=D_(e,8)|0;f=0;while(1){if((f|0)>=(e|0)){d=15;break}d=gE(d,n)|0;if(!d){d=11;break}g[i+(f<<3)>>2]=+h[n>>3];d=eE(d,i+(f<<3)+4|0)|0;if(!d){d=14;break}f=f+1|0;e=c[o>>2]|0}if((d|0)==11){C_(i);a=0;break}else if((d|0)==14){C_(i);a=0;break}else if((d|0)==15){c[b+60>>2]=i;break}}else a=0;while(0);l=p;return a|0}function mE(a,b,c){a=a|0;b=b|0;c=c|0;return aE(a,b,c,0)|0}function nE(a){a=a|0;return mE(a,0,0)|0}function oE(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0;e=c[a+12>>2]|0;if(a|0){f=c[a+8>>2]|0;g=a+4|0;h=(e|0)==0;b=0;while(1){if((b|0)>=(c[a>>2]|0))break;d=f+(O(c[g>>2]|0,b)|0)|0;if(!h)tb[e&127](d);pE(d);b=b+1|0}C_(f);C_(a)}return}function pE(a){a=a|0;switch(c[a>>2]|0){case 3:case 2:{C_(c[a+8+4>>2]|0);break}case 5:case 4:{C_(c[a+8+4>>2]|0);break}case 6:{C_(c[a+8+4>>2]|0);break}case 7:{C_(c[a+40>>2]|0);break}case 9:case 8:{C_(c[a+8>>2]|0);break}case 14:case 13:{qE(a+8|0);break}case 10:{C_(c[a+16>>2]|0);break}case 11:{C_(c[a+8>>2]|0);break}case 12:{C_(c[a+40>>2]|0);break}default:{}}return}function qE(a){a=a|0;var b=0,d=0,e=0;switch(c[a>>2]|0){case 1:{e=a+40|0;b=a+8+36|0;a=0;while(1){d=c[b>>2]|0;if((a|0)>=(c[e>>2]|0))break;C_(c[d+(a<<3)+4>>2]|0);a=a+1|0}C_(d);break}case 2:{e=a+56|0;d=a+60|0;a=0;while(1){b=c[d>>2]|0;if((a|0)>=(c[e>>2]|0))break;C_(c[b+(a<<3)+4>>2]|0);a=a+1|0}C_(b);break}default:{}}return}function rE(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0;o=l;l=l+16|0;k=o+4|0;n=o;c[d>>2]=0;c[e>>2]=(dy(dz(b)|0)|0)!=0&1;f=c[46414]|0;a:do if(f|0?(h=xx(b,f)|0,i=a[h>>0]|0,i<<24>>24):0){f=20284;while(1){g=c[f>>2]|0;if(!g)break a;if(i<<24>>24==(a[g>>0]|0)?(a$(h,g)|0)==0:0)break;f=f+12|0}c[d>>2]=c[f+4>>2];c[e>>2]=c[f+8>>2]}while(0);f=c[46425]|0;if((f|0?(c[e>>2]|0)==1:0)?(j=xx(b,f)|0,a[j>>0]|0):0)sE(j,e);f=c[46426]|0;if((f|0?(c[d>>2]|0)==1:0)?(m=xx(b,f)|0,a[m>>0]|0):0)sE(m,d);if(a[(c[b+16>>2]|0)+153>>0]|0){j=b+-48|0;i=dz(c[((c[b>>2]&3|0)==2?b:j)+40>>2]|0)|0;m=c[b>>2]&3;rE(Qx(i,c[((m|0)==2?b:j)+40>>2]|0,c[((m|0)==3?b:b+48|0)+40>>2]|0,0,0)|0,k,n);c[e>>2]=c[k>>2]|c[e>>2];c[d>>2]=c[n>>2]|c[d>>2]}l=o;return}function sE(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0;o=l;l=l+16|0;m=o;k=o+4|0;j=0;e=0;a:while(1){c[d>>2]=e;g=(j|0)<4;h=(j|0)==3;i=(j|0)==0;while(1){if(!(g&(a[b>>0]|0)!=0))break a;c[k>>2]=0;f=tE(b,k)|0;e=c[k>>2]|0;if(!e){n=5;break a}b=(e|0)==8;if(!(h&b)){if(!(i&b))break;if(a[f>>0]|0)break}c[k>>2]=0;b=f}e=c[d>>2]|e<<(j<<3);j=j+1|0;b=f}if((n|0)==5){c[m>>2]=b;Ow(0,96668,m)|0}l=o;return}function tE(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;f=l;l=l+16|0;e=f;c[e>>2]=0;d=uE(a,20344,e)|0;if((d|0)==(a|0)){while(1){d=uE(a,20360,e)|0;if((a|0)==(d|0))break;else a=d}d=uE(a,20408,e)|0}a=c[e>>2]|0;if((a|0)!=0&(a&15|0)==0){a=a|1;c[e>>2]=a}c[b>>2]=c[b>>2]|a;l=f;return d|0}function uE(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0;while(1){e=c[b>>2]|0;if(!e)break;f=V_(e)|0;if(!(y$(a,e,f)|0)){g=4;break}b=b+8|0}if((g|0)==4){c[d>>2]=c[d>>2]|c[b+4>>2];a=a+f|0}return a|0}function vE(a,b){a=a|0;b=b|0;var d=0.0,e=0,f=0,g=0,i=0;g=0;d=0.0;while(1){if((g|0)==4)break;f=b>>(g<<3)&15;e=1400;while(1){if(!(c[e+16>>2]|0))break;if((f|0)==(c[e>>2]|0)){i=6;break}e=e+24|0}if((i|0)==6){i=0;d=+h[e+8>>3]+d}g=g+1|0}return +(d*10.0*+KL(a,c[46418]|0,1.0,0.0))}function wE(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=+e;f=+f;g=g|0;var i=0.0,j=0.0,k=0.0,m=0,n=0.0,o=0,p=0;p=l;l=l+96|0;m=p+80|0;o=p;k=f>4.0?f*.0875:.35;i=+h[d+8>>3];n=i*k;j=+h[d>>3];k=j*k;e=+h[b>>3];j=e+j;h[m>>3]=j;f=+h[b+8>>3];i=i+f;h[m+8>>3]=i;d=o+64|0;if(!(g&32)){c[d>>2]=c[m>>2];c[d+4>>2]=c[m+4>>2];c[d+8>>2]=c[m+8>>2];c[d+12>>2]=c[m+12>>2];c[o>>2]=c[m>>2];c[o+4>>2]=c[m+4>>2];c[o+8>>2]=c[m+8>>2];c[o+12>>2]=c[m+12>>2];m=o+32|0;c[m>>2]=c[b>>2];c[m+4>>2]=c[b+4>>2];c[m+8>>2]=c[b+8>>2];c[m+12>>2]=c[b+12>>2];f=i;e=j}else{c[d>>2]=c[b>>2];c[d+4>>2]=c[b+4>>2];c[d+8>>2]=c[b+8>>2];c[d+12>>2]=c[b+12>>2];c[o>>2]=c[b>>2];c[o+4>>2]=c[b+4>>2];c[o+8>>2]=c[b+8>>2];c[o+12>>2]=c[b+12>>2];b=o+32|0;c[b>>2]=c[m>>2];c[b+4>>2]=c[m+4>>2];c[b+8>>2]=c[m+8>>2];c[b+12>>2]=c[m+12>>2]}h[o+16>>3]=e+n;h[o+24>>3]=f-k;h[o+48>>3]=e-n;h[o+56>>3]=f+k;do if(!(g&64))if(!(g&128)){ZO(a,o+16|0,3,g>>>4&1^1);break}else{ZO(a,o+32|0,3,g>>>4&1^1);break}else ZO(a,o,3,g>>>4&1^1);while(0);l=p;return}function xE(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=+e;f=+f;g=g|0;var i=0.0,j=0.0,k=0.0,m=0.0,n=0,o=0.0,p=0.0,q=0.0,r=0.0,s=0.0,t=0.0,u=0.0,v=0.0,w=0,x=0,y=0;x=l;l=l+160|0;n=x+144|0;w=x;q=e*4.0;y=(g&32|0)==0;q=!(q1.0)|y?0.0:(f+-1.0)*.05/e;u=+h[d+8>>3];r=-u;v=q*r;t=+h[d>>3];q=t*q;r=s*r;s=t*s;p=+h[b>>3];e=p+t;h[n>>3]=e;o=+h[b+8>>3];f=u+o;h[n+8>>3]=f;t=t*.5+p;u=u*.5+o;d=w+128|0;if(y){c[d>>2]=c[n>>2];c[d+4>>2]=c[n+4>>2];c[d+8>>2]=c[n+8>>2];c[d+12>>2]=c[n+12>>2];c[w>>2]=c[n>>2];c[w+4>>2]=c[n+4>>2];c[w+8>>2]=c[n+8>>2];c[w+12>>2]=c[n+12>>2];y=w+64|0;c[y>>2]=c[b>>2];c[y+4>>2]=c[b+4>>2];c[y+8>>2]=c[b+8>>2];c[y+12>>2]=c[b+12>>2];i=o;j=p;k=o;m=p;f=o;e=p}else{c[d>>2]=c[b>>2];c[d+4>>2]=c[b+4>>2];c[d+8>>2]=c[b+8>>2];c[d+12>>2]=c[b+12>>2];c[w>>2]=c[b>>2];c[w+4>>2]=c[b+4>>2];c[w+8>>2]=c[b+8>>2];c[w+12>>2]=c[b+12>>2];y=w+64|0;c[y>>2]=c[n>>2];c[y+4>>2]=c[n+4>>2];c[y+8>>2]=c[n+8>>2];c[y+12>>2]=c[n+12>>2];i=f+s;j=e+r;k=f-s;m=e-r}h[w+16>>3]=e-v;h[w+24>>3]=f-q;h[w+32>>3]=t-r;h[w+40>>3]=u-s;h[w+48>>3]=m;h[w+56>>3]=k;h[w+80>>3]=j;h[w+88>>3]=i;h[w+96>>3]=t+r;h[w+104>>3]=u+s;h[w+112>>3]=e+v;h[w+120>>3]=f+q;do if(!(g&64))if(!(g&128)){ZO(a,w,9,1);break}else{ZO(a,w+48|0,6,1);break}else ZO(a,w,6,1);while(0);l=x;return}function yE(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=+e;f=+f;g=g|0;var i=0.0,j=0.0,k=0.0,m=0.0,n=0,o=0,p=0,q=0,r=0,s=0.0,t=0.0;q=l;l=l+64|0;p=q;t=+h[d+8>>3];s=+h[d>>3];k=+h[b>>3];e=k+s;m=+h[b+8>>3];f=m+t;i=k+s*.2;j=m+t*.2;k=k+s*.6;m=m+t*.6;h[p>>3]=i-t;h[p+8>>3]=j+s;n=p+16|0;h[n>>3]=i+t;o=p+24|0;h[o>>3]=j-s;h[p+32>>3]=k+t;h[p+40>>3]=m-s;h[p+48>>3]=k-t;h[p+56>>3]=m+s;if(!(g&64)){if(g&128|0){d=2;g=1;r=3}}else{d=3;g=0;r=3}if((r|0)==3){h[p+(g<<4)>>3]=i;h[p+(g<<4)+8>>3]=j;h[p+(d<<4)>>3]=k;h[p+(d<<4)+8>>3]=m}ZO(a,p,4,1);c[p>>2]=c[b>>2];c[p+4>>2]=c[b+4>>2];c[p+8>>2]=c[b+8>>2];c[p+12>>2]=c[b+12>>2];h[n>>3]=e;h[o>>3]=f;aP(a,p,2);l=q;return}function zE(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=+e;f=+f;g=g|0;var i=0.0,j=0.0,k=0,m=0,n=0,o=0,p=0,q=0.0,r=0.0,s=0.0,t=0.0;o=l;l=l+64|0;n=o;j=+h[d+8>>3];r=j*-.4;i=+h[d>>3];q=i*.4;t=+h[b>>3];e=t+i*.8;s=+h[b+8>>3];f=s+j*.8;i=t+i;j=s+j;h[n>>3]=t+r;k=n+8|0;h[k>>3]=s+q;d=n+16|0;h[d>>3]=t-r;m=n+24|0;h[m>>3]=s-q;h[n+32>>3]=e-r;h[n+40>>3]=f-q;h[n+48>>3]=e+r;h[n+56>>3]=f+q;if(!(g&64)){if(g&128|0){c[d>>2]=c[b>>2];c[d+4>>2]=c[b+4>>2];c[d+8>>2]=c[b+8>>2];c[d+12>>2]=c[b+12>>2];d=2;p=5}}else{c[n>>2]=c[b>>2];c[n+4>>2]=c[b+4>>2];c[n+8>>2]=c[b+8>>2];c[n+12>>2]=c[b+12>>2];d=3;p=5}if((p|0)==5){h[n+(d<<4)>>3]=e;h[n+(d<<4)+8>>3]=f}ZO(a,n,4,g>>>4&1^1);h[n>>3]=e;h[k>>3]=f;h[n+16>>3]=i;h[m>>3]=j;aP(a,n,2);l=o;return}function AE(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=+e;f=+f;g=g|0;var i=0,j=0,k=0.0,m=0.0,n=0.0,o=0.0,p=0.0,q=0.0;j=l;l=l+80|0;i=j;n=+h[d+8>>3];k=n*-.3333333333333333;p=+h[d>>3];f=p*.3333333333333333;q=+h[b>>3];m=q+p*.5;o=+h[b+8>>3];e=o+n*.5;d=i+64|0;h[i+64>>3]=q+p;h[i+72>>3]=o+n;c[i>>2]=c[d>>2];c[i+4>>2]=c[d+4>>2];c[i+8>>2]=c[d+8>>2];c[i+12>>2]=c[d+12>>2];h[i+16>>3]=m+k;h[i+24>>3]=e+f;d=i+32|0;c[d>>2]=c[b>>2];c[d+4>>2]=c[b+4>>2];c[d+8>>2]=c[b+8>>2];c[d+12>>2]=c[b+12>>2];h[i+48>>3]=m-k;h[i+56>>3]=e-f;do if(!(g&64)){d=g>>>4&1^1;if(!(g&128)){ZO(a,i,4,d);break}else{ZO(a,i,3,d);break}}else ZO(a,d,3,g>>>4&1^1);while(0);l=j;return}function BE(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=+d;e=+e;f=f|0;var g=0,i=0,j=0.0,k=0.0,m=0.0;g=l;l=l+32|0;i=g;k=+h[c>>3];e=+h[c+8>>3];d=+C(+(e*e+k*k))*.5;m=+h[b>>3];k=k*.5;h[i>>3]=m+k-d;j=+h[b+8>>3];e=e*.5;h[i+8>>3]=j-d+e;h[i+16>>3]=m+d+k;h[i+24>>3]=j+d+e;YO(a,i,2,f>>>4&1^1);l=g;return}function CE(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=+e;f=+f;g=g|0;var i=0.0,j=0.0,k=0.0,m=0.0,n=0.0,o=0.0,p=0.0,q=0,r=0,s=0,t=0;t=l;l=l+112|0;q=t+48|0;r=t+16|0;s=t;n=f>4.0?f*.125:.5;p=+h[b>>3];o=+h[d>>3];i=+h[b+8>>3];m=+h[d+8>>3];e=m*n;f=o*n;c[r>>2]=c[b>>2];c[r+4>>2]=c[b+4>>2];c[r+8>>2]=c[b+8>>2];c[r+12>>2]=c[b+12>>2];h[r+16>>3]=o+p;h[r+24>>3]=m+i;h[q>>3]=n*(o-m)+p;j=n*(m+o);k=j+i;h[q+8>>3]=k;h[q+48>>3]=j+p;i=n*(m-o)+i;h[q+56>>3]=i;o=e*-.95;m=o+f+p;n=f*1.3333333333333333;if(!(g&32)){e=e*1.3333333333333333;j=f*-.33333333333333326;i=i-e;f=k-e;e=m-n}else{e=e*1.3333333333333333;j=f*2.333333333333333;i=i+e;f=k+e;e=m+n}h[q+16>>3]=e;h[q+24>>3]=f;h[q+32>>3]=j-o+p;h[q+40>>3]=i;aP(a,r,2);if(!(g&64)){if(g&128|0)WL(s,q,3,.5,q,0)}else WL(s,q,3,.5,0,q);$O(a,q,4,0,0,0);l=t;return}function DE(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=+e;f=+f;g=g|0;var i=0;g=l;l=l+32|0;i=g;e=+h[d>>3]+ +h[b>>3];f=+h[d+8>>3]+ +h[b+8>>3];c[i>>2]=c[b>>2];c[i+4>>2]=c[b+4>>2];c[i+8>>2]=c[b+8>>2];c[i+12>>2]=c[b+12>>2];h[i+16>>3]=e;h[i+24>>3]=f;aP(a,i,2);l=g;return}function EE(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var i=0.0,j=0,k=0,m=0,n=0,o=0.0,p=0.0,q=0,r=0,s=0;n=l;l=l+80|0;j=n+72|0;k=n+8|0;m=n;i=+vE(a,g);i=i*i;h[m>>3]=i;c[f+12>>2]=g;g=f+32|0;a=e+3|0;f=b+(a<<4)|0;c[g>>2]=c[f>>2];c[g+4>>2]=c[f+4>>2];c[g+8>>2]=c[f+8>>2];c[g+12>>2]=c[f+12>>2];if((e|0)>(d|0)?(o=+h[b+(e<<4)>>3]-+h[f>>3],p=+h[b+(e<<4)+8>>3]-+h[b+(a<<4)+8>>3],p*p+o*o>2]=c[r>>2];c[s+4>>2]=c[r+4>>2];c[s+8>>2]=c[r+8>>2];c[s+12>>2]=c[r+12>>2];q=k+32|0;a=b+(e+1<<4)|0;c[q>>2]=c[a>>2];c[q+4>>2]=c[a+4>>2];c[q+8>>2]=c[a+8>>2];c[q+12>>2]=c[a+12>>2];f=k+16|0;d=b+(e+2<<4)|0;c[f>>2]=c[d>>2];c[f+4>>2]=c[d+4>>2];c[f+8>>2]=c[d+8>>2];c[f+12>>2]=c[d+12>>2];c[k>>2]=c[g>>2];c[k+4>>2]=c[g+4>>2];c[k+8>>2]=c[g+8>>2];c[k+12>>2]=c[g+12>>2];c[j>>2]=k;c[j+4>>2]=m;LK(j,90,k,1);c[r>>2]=c[s>>2];c[r+4>>2]=c[s+4>>2];c[r+8>>2]=c[s+8>>2];c[r+12>>2]=c[s+12>>2];c[a>>2]=c[q>>2];c[a+4>>2]=c[q+4>>2];c[a+8>>2]=c[q+8>>2];c[a+12>>2]=c[q+12>>2];c[d>>2]=c[f>>2];c[d+4>>2]=c[f+4>>2];c[d+8>>2]=c[f+8>>2];c[d+12>>2]=c[f+12>>2];m=b+(e+3<<4)|0;c[m>>2]=c[k>>2];c[m+4>>2]=c[k+4>>2];c[m+8>>2]=c[k+8>>2];c[m+12>>2]=c[k+12>>2];l=n;return e|0}function FE(a,b){a=a|0;b=b|0;var d=0.0,e=0.0,f=0;f=c[a>>2]|0;d=+h[b>>3]-+h[f>>3];e=+h[b+8>>3]-+h[f+8>>3];return e*e+d*d<=+h[c[a+4>>2]>>3]|0}function GE(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var i=0,j=0.0,k=0,m=0,n=0,o=0,p=0.0,q=0.0,r=0,s=0;o=l;l=l+80|0;k=o+72|0;m=o+8|0;n=o;j=+vE(a,g);j=j*j;h[n>>3]=j;c[f+8>>2]=g;f=f+16|0;a=b+(d<<4)|0;c[f>>2]=c[a>>2];c[f+4>>2]=c[a+4>>2];c[f+8>>2]=c[a+8>>2];c[f+12>>2]=c[a+12>>2];if(!((e|0)>(d|0)?(i=d+3|0,p=+h[a>>3]-+h[b+(i<<4)>>3],q=+h[b+(d<<4)+8>>3]-+h[b+(i<<4)+8>>3],q*q+p*p>2]=c[e>>2];c[m+4>>2]=c[e+4>>2];c[m+8>>2]=c[e+8>>2];c[m+12>>2]=c[e+12>>2];g=m+16|0;d=b+(i+2<<4)|0;c[g>>2]=c[d>>2];c[g+4>>2]=c[d+4>>2];c[g+8>>2]=c[d+8>>2];c[g+12>>2]=c[d+12>>2];r=m+32|0;a=b+(i+1<<4)|0;c[r>>2]=c[a>>2];c[r+4>>2]=c[a+4>>2];c[r+8>>2]=c[a+8>>2];c[r+12>>2]=c[a+12>>2];s=m+48|0;c[s>>2]=c[f>>2];c[s+4>>2]=c[f+4>>2];c[s+8>>2]=c[f+8>>2];c[s+12>>2]=c[f+12>>2];c[k>>2]=s;c[k+4>>2]=n;LK(k,90,m,0);n=b+(i<<4)|0;c[n>>2]=c[s>>2];c[n+4>>2]=c[s+4>>2];c[n+8>>2]=c[s+8>>2];c[n+12>>2]=c[s+12>>2];c[a>>2]=c[r>>2];c[a+4>>2]=c[r+4>>2];c[a+8>>2]=c[r+8>>2];c[a+12>>2]=c[r+12>>2];c[d>>2]=c[g>>2];c[d+4>>2]=c[g+4>>2];c[d+8>>2]=c[g+8>>2];c[d+12>>2]=c[g+12>>2];c[e>>2]=c[m>>2];c[e+4>>2]=c[m+4>>2];c[e+8>>2]=c[m+8>>2];c[e+12>>2]=c[m+12>>2];l=o;return i|0}function HE(a,b,d,e,f,g,i){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;i=i|0;var j=0.0,k=0.0,l=0,m=0.0,n=0.0,o=0.0,p=0.0,q=0.0,r=0,s=0.0,t=0.0,u=0,v=0,w=0;u=(g|0)!=0;l=(i|0)!=0;if(!((e|0)==(d|0)&(u&l))){if(l){j=+vE(a,i);k=+h[b+(e<<4)>>3];p=+h[b+(e<<4)+8>>3];l=e+3|0;r=b+(l<<4)|0;n=+h[r>>3];l=b+(l<<4)+8|0;o=+h[l>>3];t=k-n;s=p-o;t=+C(+(s*s+t*t))*.9;j=j>=t?t:j;if(p==o){m=(k>3]=k;h[b+(w<<4)+8>>3]=p;e=b+(e+2<<4)|0;h[r>>3]=m;h[l>>3]=j;c[e>>2]=c[r>>2];c[e+4>>2]=c[r+4>>2];c[e+8>>2]=c[r+8>>2];c[e+12>>2]=c[r+12>>2];c[f+12>>2]=i;h[f+32>>3]=n;h[f+40>>3]=o}if(u){m=+vE(a,g);l=b+(d<<4)|0;k=+h[l>>3];j=+h[b+(d<<4)+8>>3];w=d+3|0;o=+h[b+(w<<4)>>3];p=+h[b+(w<<4)+8>>3];t=k-o;s=j-p;t=+C(+(s*s+t*t))*.9;m=m>=t?t:m;if(j==p){n=(k>3]=n;h[b+(w<<4)+8>>3]=m;c[l>>2]=c[v>>2];c[l+4>>2]=c[v+4>>2];c[l+8>>2]=c[v+8>>2];c[l+12>>2]=c[v+12>>2];v=d+2|0;h[b+(v<<4)>>3]=o;h[b+(v<<4)+8>>3]=p;v=16}}else{r=b+(e<<4)|0;s=+h[r>>3];t=+h[b+(e<<4)+8>>3];l=e+3|0;u=b+(l<<4)|0;k=+h[u>>3];l=b+(l<<4)+8|0;j=+h[l>>3];m=+vE(a,g);q=+vE(a,i);n=s-k;p=t-j;n=+C(+(p*p+n*n));w=!(q+m>=n);n=n*.3333333333333333;m=w?m:n;n=w?q:n;if(t==j){w=s>3]=q;h[b+(w<<4)+8>>3]=o;c[r>>2]=c[v>>2];c[r+4>>2]=c[v+4>>2];c[r+8>>2]=c[v+8>>2];c[r+12>>2]=c[v+12>>2];v=b+(e+2<<4)|0;h[u>>3]=p;h[l>>3]=m;c[v>>2]=c[u>>2];c[v+4>>2]=c[u+4>>2];c[v+8>>2]=c[u+8>>2];c[v+12>>2]=c[u+12>>2];c[f+12>>2]=i;h[f+32>>3]=s;h[f+40>>3]=t;v=16}if((v|0)==16){c[f+8>>2]=g;h[f+16>>3]=k;h[f+24>>3]=j}return}function IE(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=+d;e=e|0;var f=0.0,g=0.0,i=0.0,j=0.0,k=0.0,l=0.0,m=0.0,n=0.0,o=0.0;n=+h[b>>3];k=+h[c>>3]-n;o=+h[b+8>>3];l=+h[c+8>>3]-o;j=d*10.0/(+C(+(k*k+l*l))+.0001);k=j*((k>=0.0?.0001:-.0001)+k);j=((l>=0.0?.0001:-.0001)+l)*j;l=k*.5;m=j*.5;i=n-m;f=o-l;n=m+n;l=o+l;o=i+k;m=f+j;k=n+k;j=l+j;g=o>k?o:k;g=n>g?n:g;d=m>j?m:j;d=l>d?l:d;k=o>3]=i>3]=f>3]=i>g?i:g;h[a+24>>3]=f>d?f:d;return}function JE(a,b,d,e,f,g,i){a=a|0;b=b|0;d=d|0;e=e|0;f=+f;g=+g;i=i|0;var j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0.0,s=0.0,t=0.0;q=l;l=l+48|0;m=q+32|0;k=q+16|0;p=q;n=(c[a+16>>2]|0)+12|0;o=c[n>>2]|0;c[n>>2]=b;XO(a,c[(c[a>>2]|0)+336>>2]|0);eP(a,g);t=+h[e>>3]-+h[d>>3];b=e+8|0;s=+h[b>>3]-+h[d+8>>3];r=10.0/(+C(+(t*t+s*s))+.0001);h[e>>3]=r*((t>=0.0?.0001:-.0001)+t);h[b>>3]=((s>=0.0?.0001:-.0001)+s)*r;b=0;while(1){if((b|0)>=4)break;j=i>>(b<<3)&255;if(!j)break;c[k>>2]=c[d>>2];c[k+4>>2]=c[d+4>>2];c[k+8>>2]=c[d+8>>2];c[k+12>>2]=c[d+12>>2];c[m>>2]=c[e>>2];c[m+4>>2]=c[e+4>>2];c[m+8>>2]=c[e+8>>2];c[m+12>>2]=c[e+12>>2];KE(p,a,k,m,f,g,j);c[d>>2]=c[p>>2];c[d+4>>2]=c[p+4>>2];c[d+8>>2]=c[p+8>>2];c[d+12>>2]=c[p+12>>2];b=b+1|0}c[n>>2]=o;l=q;return}function KE(a,b,d,e,f,g,i){a=a|0;b=b|0;d=d|0;e=e|0;f=+f;g=+g;i=i|0;var j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0.0;q=l;l=l+32|0;m=q+16|0;k=q;n=i&15;j=1400;while(1){o=c[j>>2]|0;if(!o)break;if((n|0)==(o|0)){p=4;break}j=j+24|0}if((p|0)==4){r=+h[j+8>>3]*f;h[e>>3]=r*+h[e>>3];o=e+8|0;h[o>>3]=r*+h[o>>3];p=c[j+16>>2]|0;c[k>>2]=c[d>>2];c[k+4>>2]=c[d+4>>2];c[k+8>>2]=c[d+8>>2];c[k+12>>2]=c[d+12>>2];c[m>>2]=c[e>>2];c[m+4>>2]=c[e+4>>2];c[m+8>>2]=c[e+8>>2];c[m+12>>2]=c[e+12>>2];wb[p&15](b,k,m,f,g,i);h[d>>3]=+h[e>>3]+ +h[d>>3];p=d+8|0;h[p>>3]=+h[o>>3]+ +h[p>>3]};c[a>>2]=c[d>>2];c[a+4>>2]=c[d+4>>2];c[a+8>>2]=c[d+8>>2];c[a+12>>2]=c[d+12>>2];l=q;return}function LE(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0;i=l;l=l+16|0;g=i+8|0;f=i;d=wx(b,96770)|0;if((d|0)!=0?(a[d>>0]|0)!=0:0){e=d;h=5}else{d=wx(b,96782)|0;if((d|0)!=0?(a[d>>0]|0)!=0:0){e=d;h=5}else d=0}if((h|0)==5){d=mE(e,0,120)|0;if(!d){c[f>>2]=qy(b)|0;Ow(0,96789,f)|0;c[g>>2]=e;Ow(3,96842,g)|0}}l=i;return d|0}function ME(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;g=l;l=l+16|0;f=tH(304)|0;if(!f)Ow(1,96850,g)|0;e=a+16|0;a=c[e>>2]|0;c[f>>2]=a;c[e>>2]=f;if(!a){c[f+144>>2]=3;c[f+148>>2]=0;h[f+152>>3]=1.0}else{b=f+16|0;d=a+16|0;e=b+40|0;do{c[b>>2]=c[d>>2];b=b+4|0;d=d+4|0}while((b|0)<(e|0));b=f+56|0;d=a+56|0;e=b+40|0;do{c[b>>2]=c[d>>2];b=b+4|0;d=d+4|0}while((b|0)<(e|0));c[f+144>>2]=c[a+144>>2];c[f+148>>2]=c[a+148>>2];h[f+152>>3]=+h[a+152>>3];c[f+136>>2]=c[a+136>>2];b=f+96|0;d=a+96|0;e=b+40|0;do{c[b>>2]=c[d>>2];b=b+4|0;d=d+4|0}while((b|0)<(e|0))}l=g;return f|0}function NE(a){a=a|0;var b=0;a=a+16|0;b=c[a>>2]|0;if(!b)qa(96876,96880,117,96887);else{C_(c[b+212>>2]|0);C_(c[b+208>>2]|0);C_(c[b+216>>2]|0);C_(c[b+220>>2]|0);C_(c[b+224>>2]|0);C_(c[b+228>>2]|0);C_(c[b+232>>2]|0);C_(c[b+236>>2]|0);C_(c[b+240>>2]|0);C_(c[b+244>>2]|0);C_(c[b+248>>2]|0);C_(c[b+252>>2]|0);C_(c[b+256>>2]|0);C_(c[b+272>>2]|0);C_(c[b+284>>2]|0);C_(c[b+280>>2]|0);c[a>>2]=c[b>>2];C_(b);return}}function OE(d,e,f,g,h,i,j){d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;var k=0,l=0;l=c[d+16>>2]|0;k=c[d+152>>2]|0;if((e|0)!=0&(k&32768|0)!=0)c[l+192>>2]=e;if(((k&65536|0)!=0?(c[l+212>>2]=oH(i,j)|0,(f|0)!=0):0)?(a[f>>0]|0)!=0:0){c[l+208>>2]=oH(f,j)|0;d=1}else d=0;do if(k&4194304){if(g|0?a[g>>0]|0:0){c[l+228>>2]=oH(g,j)|0;d=l+260|0;b[d>>1]=b[d>>1]|1;d=1;break}e=c[l+192>>2]|0;if(e){c[l+228>>2]=m1(e)|0;d=1}}while(0);if((h|0)!=0&(k&8388608|0)!=0?(a[h>>0]|0)!=0:0){c[l+244>>2]=oH(h,j)|0;d=1}return d|0}function PE(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0;j=l;l=l+80|0;i=j;h=j+8|0;g=c[(c[b>>2]|0)+168>>2]|0;f=c[(c[(c[g+16>>2]|0)+8>>2]|0)+92>>2]|0;QE(b,e);b=wx(d,137978)|0;if((b|0)!=0?(a[b>>0]|0)!=0:0){Vw(e,b)|0;f=e+4|0;b=c[f>>2]|0;if(b>>>0>=(c[e+8>>2]|0)>>>0){Tw(e,1)|0;b=c[f>>2]|0}a[b>>0]=0;b=c[e>>2]|0;c[f>>2]=b}else{if((g|0)!=(d|0)&(f|0)!=0){Vw(e,f)|0;f=e+4|0;b=c[f>>2]|0;if(b>>>0>=(c[e+8>>2]|0)>>>0){Tw(e,1)|0;b=c[f>>2]|0}c[f>>2]=b+1;a[b>>0]=95}switch(oz(d)|0){case 0:{f=(g|0)==(d|0)?108412:96901;b=(c[d>>2]|0)>>>4;break}case 1:{f=108399;b=(c[d>>2]|0)>>>4;break}case 2:{f=108368;b=(c[d>>2]|0)>>>4;break}default:{f=0;b=0}}Vw(e,f)|0;c[i>>2]=b;X0(h,96907,i)|0;Vw(e,h)|0;f=e+4|0;b=c[f>>2]|0;if(b>>>0>=(c[e+8>>2]|0)>>>0){Tw(e,1)|0;b=c[f>>2]|0}a[b>>0]=0;b=c[e>>2]|0;c[f>>2]=b}l=j;return b|0}function QE(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0;i=l;l=l+144|0;h=i;g=i+8|0;e=c[b+160>>2]|0;if((e|0)>1?c[b+152>>2]&64|0:0){Vw(d,c[(c[(c[b>>2]|0)+308>>2]|0)+(e<<2)>>2]|0)|0;f=d+4|0;e=c[f>>2]|0;if(e>>>0>=(c[d+8>>2]|0)>>>0){Tw(d,1)|0;e=c[f>>2]|0}c[f>>2]=e+1;a[e>>0]=95}f=c[b+196>>2]|0;e=c[b+200>>2]|0;if((f|0)>0|(e|0)>0){c[h>>2]=f;c[h+4>>2]=e;X0(g,96911,h)|0;Vw(d,g)|0}l=i;return}function RE(a,b,d){a=a|0;b=b|0;d=d|0;var e=0.0,f=0,i=0.0,j=0,k=0.0,m=0.0,n=0,o=0,p=0,q=0,r=0.0,s=0;s=l;l=l+48|0;p=s+16|0;f=s+32|0;q=s;r=+h[(c[a+16>>2]|0)+152>>3];o=SE(d,0,f)|0;if((o+-1|0)>>>0>=2){e=+h[b+16>>3];k=(e+ +h[b>>3])*.5;h[q>>3]=k;i=+h[b+24>>3];m=(i+ +h[b+8>>3])*.5;h[q+8>>3]=m;k=e-k;m=i-m;n=r>.5;if(n)eP(a,.5);j=c[f>>2]|0;i=0.0;f=c[j+8>>2]|0;while(1){d=c[f>>2]|0;if(!d)break;b=f+4|0;if(+g[b>>2]==0.0)e=i;else{VO(a,d);if(!(c[f+12>>2]|0))e=6.283185307179586;else e=+g[b>>2]*6.283185307179586+i;c[p>>2]=c[q>>2];c[p+4>>2]=c[q+4>>2];c[p+8>>2]=c[q+8>>2];c[p+12>>2]=c[q+12>>2];b=qQ(p,k,m,i,e)|0;$O(a,c[b>>2]|0,c[b+4>>2]|0,0,0,1);mV(b)}i=e;f=f+12|0}if(n)eP(a,r);TE(j)}l=s;return o|0}function SE(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,h=0,i=0,j=0.0,k=0.0,m=0.0,n=0,o=0,p=0,q=0,r=0;r=l;l=l+16|0;o=r+8|0;n=r;q=tH(12)|0;i=m1(b)|0;a:do if(!d){d=1;f=i;while(1){switch(a[f>>0]|0){case 0:break a;case 58:{d=d+1|0;break}default:{}}f=f+1|0}}while(0);c[q+4>>2]=i;p=tH((d*12|0)+12|0)|0;c[q+8>>2]=p;m=1.0;h=0;d=0;f=i;while(1){f=j1(f,104958)|0;if(!f){f=20;break}j=+UE(f);if(!(j>=0.0)){f=17;break}k=j-m;if(k>0.0)if((c[5130]|0)!=0?!(k<1.0e-05&k>-1.0e-05):0){c[n>>2]=b;Ow(0,96922,n)|0;c[5130]=0;j=m;d=3}else j=m;k=m-j;if(j>0.0)a[p+(h*12|0)+8>>0]=1;if(a[f>>0]|0)c[p+(h*12|0)>>2]=f;f=h+1|0;g[p+(h*12|0)+4>>2]=j;if(k<1.0e-05&k>-1.0e-05){h=f;f=30;break}else{m=k;h=f;f=0}}b:do if((f|0)==17){if(!(c[5130]|0))d=1;else{c[o>>2]=b;Ow(1,96957,o)|0;c[5130]=0;d=2}TE(q)}else if((f|0)==20)if(m>0.0){f=0;i=0;while(1){if((f|0)>=(h|0))break;o=i+(+g[p+(f*12|0)+4>>2]==0.0&1)|0;f=f+1|0;i=o}if((i|0)<=0){f=p+((h+-1|0)*12|0)+4|0;g[f>>2]=m+ +g[f>>2];f=30;break}j=m/+(i|0);f=0;while(1){if((f|0)>=(h|0)){f=30;break b}i=p+(f*12|0)+4|0;if(+g[i>>2]==0.0)g[i>>2]=j;f=f+1|0}}else f=30;while(0);if((f|0)==30){while(1){f=h+-1|0;if((h|0)<=0)break;if(+g[p+(f*12|0)+4>>2]>0.0)break;else h=f}c[p+(h*12|0)>>2]=0;c[q>>2]=h;c[e>>2]=q}l=r;return d|0}function TE(a){a=a|0;C_(c[a+4>>2]|0);C_(c[a+8>>2]|0);C_(a);return}function UE(b){b=b|0;var d=0.0,e=0,f=0,g=0;f=l;l=l+16|0;e=f;b=z$(b,59)|0;if(!b)d=0.0;else{g=b+1|0;a[b>>0]=0;d=+b2(g,e);d=(d>=0.0?(c[e>>2]|0)!=(g|0):0)?d:-1.0}l=f;return +d}function VE(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0.0,i=0,j=0,k=0,m=0.0,n=0.0,o=0,p=0,q=0,r=0,s=0.0,t=0;t=l;l=l+80|0;i=t+64|0;r=t;s=+h[(c[a+16>>2]|0)+152>>3];q=SE(d,0,i)|0;if((q+-1|0)>>>0>=2){if(!e){c[r>>2]=c[b>>2];c[r+4>>2]=c[b+4>>2];c[r+8>>2]=c[b+8>>2];c[r+12>>2]=c[b+12>>2];p=r+16|0;o=b+16|0;c[p>>2]=c[o>>2];c[p+4>>2]=c[o+4>>2];c[p+8>>2]=c[o+8>>2];c[p+12>>2]=c[o+12>>2];p=r+32|0;o=b+32|0;c[p>>2]=c[o>>2];c[p+4>>2]=c[o+4>>2];c[p+8>>2]=c[o+8>>2];c[p+12>>2]=c[o+12>>2];p=r+48|0;o=b+48|0;c[p>>2]=c[o>>2];c[p+4>>2]=c[o+4>>2];c[p+8>>2]=c[o+8>>2];c[p+12>>2]=c[o+12>>2]}else{p=b+32|0;c[r>>2]=c[p>>2];c[r+4>>2]=c[p+4>>2];c[r+8>>2]=c[p+8>>2];c[r+12>>2]=c[p+12>>2];p=r+16|0;o=b+48|0;c[p>>2]=c[o>>2];c[p+4>>2]=c[o+4>>2];c[p+8>>2]=c[o+8>>2];c[p+12>>2]=c[o+12>>2];p=r+32|0;c[p>>2]=c[b>>2];c[p+4>>2]=c[b+4>>2];c[p+8>>2]=c[b+8>>2];c[p+12>>2]=c[b+12>>2];p=r+48|0;o=b+16|0;c[p>>2]=c[o>>2];c[p+4>>2]=c[o+4>>2];c[p+8>>2]=c[o+8>>2];c[p+12>>2]=c[o+12>>2]}k=r+16|0;m=+h[k>>3];f=+h[r>>3];n=m-f;o=r+32|0;h[o>>3]=f;h[k>>3]=f;p=s>.5;if(p)eP(a,.5);i=c[i>>2]|0;j=r+48|0;e=c[i+8>>2]|0;while(1){d=c[e>>2]|0;if(!d)break;b=e+4|0;if(!(+g[b>>2]==0.0)){VO(a,d);if(!(c[e+12>>2]|0))f=m;else f=n*+g[b>>2]+ +h[r>>3];h[o>>3]=f;h[k>>3]=f;ZO(a,r,4,1);f=+h[k>>3];h[j>>3]=f;h[r>>3]=f}e=e+12|0}if(p)eP(a,s);TE(i)}l=t;return q|0}function WE(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;d=c[a+16>>2]|0;e=c[a+152>>2]|0;if(e&4259840|0){f=e&131072;g=f>>>16^2;c[d+264>>2]=g;h=d+268|0;c[h>>2]=g+2;g=d+272|0;C_(c[g>>2]|0);d=tH(c[h>>2]<<4)|0;c[g>>2]=d;c[d>>2]=c[b>>2];c[d+4>>2]=c[b+4>>2];c[d+8>>2]=c[b+8>>2];c[d+12>>2]=c[b+12>>2];g=d+16|0;b=b+16|0;c[g>>2]=c[b>>2];c[g+4>>2]=c[b+4>>2];c[g+8>>2]=c[b+8>>2];c[g+12>>2]=c[b+12>>2];if(!(e&8192))xO(a,d,d,2)|0;if(!f)VG(d)}return}function XE(a,b){a=a|0;b=b|0;var c=0,d=0.0,e=0,f=0,g=0,i=0.0,j=0.0,k=0.0,m=0.0,n=0.0,o=0,p=0,q=0;q=l;l=l+144|0;c=q+80|0;e=q+16|0;f=q;k=+h[b>>3];o=a+16|0;m=+h[o>>3];if(!(((((((((!(k>m)?(n=+h[a>>3],!(k>3],i=+h[a+24>>3],!(d>i)):0)?(j=+h[a+8>>3],!(d>3],!(k>m|k>3],!(k>i|k>3],!(k>m|k>3],!(k>i|k>3],!(k>m|k>3],!(n>i|n>3];if(!(d>+h[o>>3])){if(d<+h[a>>3]){c=a;p=16}}else{c=o;p=16}if((p|0)==16){p=0;h[c>>3]=d}d=+h[b+(e<<4)+8>>3];if(!(d>+h[f>>3])){if(d<+h[g>>3]){c=a;p=19}}else{c=o;p=19}if((p|0)==19){p=0;h[c+8>>3]=d}e=e+1|0}}while(0);l=q;return}function YE(a){a=a|0;var b=0,d=0,e=0,f=0,g=0.0,h=0,i=0;b=l;l=l+48|0;d=b+32|0;e=b+16|0;f=b;i=a+48|0;h=a+16|0;c[f>>2]=c[a>>2];c[f+4>>2]=c[a+4>>2];c[f+8>>2]=c[a+8>>2];c[f+12>>2]=c[a+12>>2];c[e>>2]=c[i>>2];c[e+4>>2]=c[i+4>>2];c[e+8>>2]=c[i+8>>2];c[e+12>>2]=c[i+12>>2];c[d>>2]=c[h>>2];c[d+4>>2]=c[h+4>>2];c[d+8>>2]=c[h+8>>2];c[d+12>>2]=c[h+12>>2];g=+_G(f,e,d);h=a+32|0;c[f>>2]=c[a>>2];c[f+4>>2]=c[a+4>>2];c[f+8>>2]=c[a+8>>2];c[f+12>>2]=c[a+12>>2];c[e>>2]=c[i>>2];c[e+4>>2]=c[i+4>>2];c[e+8>>2]=c[i+8>>2];c[e+12>>2]=c[i+12>>2];c[d>>2]=c[h>>2];c[d+4>>2]=c[h+4>>2];c[d+8>>2]=c[h+8>>2];c[d+12>>2]=c[h+12>>2];a=g<4.0&+_G(f,e,d)<4.0&1;l=b;return a|0}function ZE(b,d){b=b|0;d=d|0;var e=0,f=0,g=0.0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0.0,G=0.0,H=0.0,I=0.0,J=0,K=0;D=l;l=l+272|0;u=D+256|0;v=D+224|0;w=D+192|0;x=D+128|0;y=D+64|0;z=D;A=D+160|0;B=D+96|0;C=D+32|0;t=c[d+16>>2]|0;s=c[t+144>>2]|0;r=t+16|0;c[x>>2]=c[r>>2];c[x+4>>2]=c[r+4>>2];c[x+8>>2]=c[r+8>>2];c[x+12>>2]=c[r+12>>2];c[x+16>>2]=c[r+16>>2];c[x+20>>2]=c[r+20>>2];c[x+24>>2]=c[r+24>>2];c[x+28>>2]=c[r+28>>2];t=c[(c[t+8>>2]|0)+88>>2]|0;c[z>>2]=0;c[z+4>>2]=0;c[z+8>>2]=0;c[z+12>>2]=0;c[z+16>>2]=0;c[z+20>>2]=0;c[z+24>>2]=0;c[z+28>>2]=0;if(!t){c[b>>2]=c[x>>2];c[b+4>>2]=c[x+4>>2];c[b+8>>2]=c[x+8>>2];c[b+12>>2]=c[x+12>>2];c[b+16>>2]=c[x+16>>2];c[b+20>>2]=c[x+20>>2];c[b+24>>2]=c[x+24>>2];c[b+28>>2]=c[x+28>>2]}else{d=x+16|0;if(+h[x>>3]==+h[d>>3]?(e=x+8|0,f=x+24|0,+h[e>>3]==+h[f>>3]):0){h[e>>3]=1797693134862315708145274.0e284;h[x>>3]=1797693134862315708145274.0e284;h[f>>3]=-1797693134862315708145274.0e284;h[d>>3]=-1797693134862315708145274.0e284}j=v+8|0;k=v+16|0;m=v+24|0;n=y+16|0;o=y+24|0;p=s+144|0;q=w+16|0;r=t+12|0;d=0;f=c[t+8>>2]|0;e=0;g=0.0;i=0;while(1){if((i|0)>=(c[t>>2]|0))break;c[y>>2]=c[z>>2];c[y+4>>2]=c[z+4>>2];c[y+8>>2]=c[z+8>>2];c[y+12>>2]=c[z+12>>2];c[y+16>>2]=c[z+16>>2];c[y+20>>2]=c[z+20>>2];c[y+24>>2]=c[z+24>>2];c[y+28>>2]=c[z+28>>2];switch(c[f>>2]|0){case 1:case 0:{H=+h[f+8>>3];I=+h[f+24>>3];h[v>>3]=H-I;F=+h[f+16>>3];G=+h[f+32>>3];h[j>>3]=F-G;h[k>>3]=I+H;h[m>>3]=G+F;E=f+80|0;c[E>>2]=c[v>>2];c[E+4>>2]=c[v+4>>2];c[E+8>>2]=c[v+8>>2];c[E+12>>2]=c[v+12>>2];E=f+96|0;c[E>>2]=c[k>>2];c[E+4>>2]=c[k+4>>2];c[E+8>>2]=c[k+8>>2];c[E+12>>2]=c[k+12>>2];c[u>>2]=c[v>>2];c[u+4>>2]=c[v+4>>2];c[u+8>>2]=c[v+8>>2];c[u+12>>2]=c[v+12>>2];_E(x,u);c[u>>2]=c[k>>2];c[u+4>>2]=c[k+4>>2];c[u+8>>2]=c[k+8>>2];c[u+12>>2]=c[k+12>>2];_E(x,u);break}case 3:case 2:{E=f+80|0;J=f+8|0;$E(A,c[J+4>>2]|0,c[J>>2]|0,x);c[E>>2]=c[A>>2];c[E+4>>2]=c[A+4>>2];c[E+8>>2]=c[A+8>>2];c[E+12>>2]=c[A+12>>2];c[E+16>>2]=c[A+16>>2];c[E+20>>2]=c[A+20>>2];c[E+24>>2]=c[A+24>>2];c[E+28>>2]=c[A+28>>2];break}case 5:case 4:{J=f+80|0;E=f+8|0;$E(B,c[E+4>>2]|0,c[E>>2]|0,x);c[J>>2]=c[B>>2];c[J+4>>2]=c[B+4>>2];c[J+8>>2]=c[B+8>>2];c[J+12>>2]=c[B+12>>2];c[J+16>>2]=c[B+16>>2];c[J+20>>2]=c[B+20>>2];c[J+24>>2]=c[B+24>>2];c[J+28>>2]=c[B+28>>2];break}case 6:{J=f+80|0;E=f+8|0;$E(C,c[E+4>>2]|0,c[E>>2]|0,x);c[J>>2]=c[C>>2];c[J+4>>2]=c[C+4>>2];c[J+8>>2]=c[C+8>>2];c[J+12>>2]=c[C+12>>2];c[J+16>>2]=c[C+16>>2];c[J+20>>2]=c[C+20>>2];c[J+24>>2]=c[C+24>>2];c[J+28>>2]=c[C+28>>2];break}case 7:{J=f+112|0;c[J>>2]=tH(56)|0;E=m1(c[f+40>>2]|0)|0;K=c[J>>2]|0;c[K>>2]=E;a[K+48>>0]=a[97003+(c[f+24>>2]|0)>>0]|0;c[y>>2]=e;h[n>>3]=g;c[o>>2]=c[o>>2]&-128|d&127;K=c[p>>2]|0;K=nb[c[K>>2]&63](K,y,1)|0;E=c[J>>2]|0;c[E+4>>2]=K;vL(u,s,E);aF(w,+h[f+8>>3],+h[f+16>>3],c[J>>2]|0);J=f+80|0;c[J>>2]=c[w>>2];c[J+4>>2]=c[w+4>>2];c[J+8>>2]=c[w+8>>2];c[J+12>>2]=c[w+12>>2];c[J+16>>2]=c[w+16>>2];c[J+20>>2]=c[w+20>>2];c[J+24>>2]=c[w+24>>2];c[J+28>>2]=c[w+28>>2];c[u>>2]=c[w>>2];c[u+4>>2]=c[w+4>>2];c[u+8>>2]=c[w+8>>2];c[u+12>>2]=c[w+12>>2];_E(x,u);c[u>>2]=c[q>>2];c[u+4>>2]=c[q+4>>2];c[u+8>>2]=c[q+8>>2];c[u+12>>2]=c[q+12>>2];_E(x,u);if(!(c[r>>2]|0))c[r>>2]=106;break}case 10:{e=c[f+16>>2]|0;g=+h[f+8>>3];break}case 15:{d=c[f+8>>2]|0;break}default:{}}f=f+120|0;i=i+1|0}c[b>>2]=c[x>>2];c[b+4>>2]=c[x+4>>2];c[b+8>>2]=c[x+8>>2];c[b+12>>2]=c[x+12>>2];c[b+16>>2]=c[x+16>>2];c[b+20>>2]=c[x+20>>2];c[b+24>>2]=c[x+24>>2];c[b+28>>2]=c[x+28>>2]}l=D;return}function _E(a,b){a=a|0;b=b|0;var c=0.0,d=0;c=+h[b>>3];d=a+16|0;if(c>+h[d>>3])h[d>>3]=c;if(c<+h[a>>3])h[a>>3]=c;c=+h[b+8>>3];b=a+24|0;if(c>+h[b>>3])h[b>>3]=c;b=a+8|0;if(c<+h[b>>3])h[b>>3]=c;return}function $E(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0.0,g=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0;r=l;l=l+48|0;k=r+32|0;n=r;f=+h[b>>3];o=n+16|0;h[o>>3]=f;h[n>>3]=f;f=+h[b+8>>3];p=n+24|0;h[p>>3]=f;m=n+8|0;h[m>>3]=f;j=1;while(1){if((j|0)>=(d|0))break;i=b+24|0;f=+h[i>>3];if(!(f<+h[n>>3])){if(f>+h[o>>3]){g=o;q=5}}else{g=n;q=5}if((q|0)==5){q=0;h[g>>3]=f}f=+h[b+32>>3];if(!(f<+h[m>>3])){if(f>+h[p>>3]){b=o;q=8}}else{b=n;q=8}if((q|0)==8){q=0;h[b+8>>3]=f}j=j+1|0;b=i}c[k>>2]=c[n>>2];c[k+4>>2]=c[n+4>>2];c[k+8>>2]=c[n+8>>2];c[k+12>>2]=c[n+12>>2];_E(e,k);c[k>>2]=c[o>>2];c[k+4>>2]=c[o+4>>2];c[k+8>>2]=c[o+8>>2];c[k+12>>2]=c[o+12>>2];_E(e,k);c[a>>2]=c[n>>2];c[a+4>>2]=c[n+4>>2];c[a+8>>2]=c[n+8>>2];c[a+12>>2]=c[n+12>>2];c[a+16>>2]=c[n+16>>2];c[a+20>>2]=c[n+20>>2];c[a+24>>2]=c[n+24>>2];c[a+28>>2]=c[n+28>>2];l=r;return}function aF(b,c,d,e){b=b|0;c=+c;d=+d;e=e|0;var f=0.0,g=0,i=0,j=0,k=0.0,m=0,n=0;n=l;l=l+16|0;i=n+8|0;j=n;f=+h[e+32>>3];k=+h[e+40>>3];switch(a[e+48>>0]|0){case 108:{h[i>>3]=c;f=f+c;g=j;m=5;break}case 110:{f=f*.5;h[i>>3]=c-f;f=f+c;g=j;m=5;break}case 114:{h[j>>3]=c;f=c-f;g=i;m=5;break}default:{c=0.0;f=0.0}}if((m|0)==5){h[g>>3]=f;c=+h[i>>3];f=+h[j>>3]}d=+h[e+16>>3]+d;h[b>>3]=c;h[b+8>>3]=d-k;h[b+16>>3]=f;h[b+24>>3]=d;l=n;return}function bF(a){a=a|0;if((c[a>>2]|0)==7)lH(c[a+112>>2]|0,1);return}function cF(b,d){b=b|0;d=d|0;var e=0,f=0.0,g=0.0,i=0.0,j=0,k=0,m=0,n=0.0;m=l;l=l+16|0;k=m;j=c[b+152>>2]|0;n=+h[b+432>>3];i=+h[b+352>>3]*.013888888888888888;f=i*n;h[b+488>>3]=f;g=+h[b+440>>3];i=i*g;h[b+496>>3]=i;h[b+520>>3]=n*.013888888888888888;e=b+528|0;h[e>>3]=g*.013888888888888888;if(j&4096|c[46369]|0)h[e>>3]=g*-.013888888888888888;e=(c[b+360>>2]|0)==0;n=+((c[b+448>>2]|0)>>>0);g=+((c[b+452>>2]|0)>>>0);h[b+368>>3]=(e?n:g)/f;h[b+376>>3]=(e?g:n)/i;bP(b,ML(d,mx(d,0,98496,0)|0,191979)|0);c[b+160>>2]=0;dF(b,d);if(j&2|0)eF(b,d);e=Ry(d)|0;while(1){if(!e)break;a[(c[e+16>>2]|0)+116>>0]=0;e=Sy(d,e)|0}fF(b,k);while(1){if(!((gF(b)|0)<<24>>24))break;if((hF(b)|0)>1)CO(b);iF(b);while(1){if(!((jF(b)|0)<<24>>24))break;kF(b,d);lF(b)}if((hF(b)|0)>1)DO(b);mF(b,k)}nF(b);l=m;return}function dF(a,b){a=a|0;b=b|0;var d=0;d=ME(a)|0;c[d+4>>2]=0;c[d+8>>2]=b;c[d+12>>2]=0;mG(a,c[(c[b+16>>2]|0)+12>>2]|0,b);yO(a,b);return}function eF(b,c){b=b|0;c=c|0;var d=0,e=0,f=0,g=0;VO(b,131718);d=wx(c,137895)|0;if(d|0?a[d>>0]|0:0)VO(b,d);d=wx(c,98420)|0;if(d|0?a[d>>0]|0:0)TO(b,d);yG(b,c);g=Ry(c)|0;while(1){if(!g)break;d=wx(g,137741)|0;if(d|0?a[d>>0]|0:0)TO(b,d);d=wx(g,134647)|0;if(d|0?a[d>>0]|0:0)VO(b,d);d=wx(g,98392)|0;do if(d|0?a[d>>0]|0:0){if(!(z$(d,58)|0)){TO(b,d);break}e=m1(d)|0;d=e;while(1){d=j1(d,104958)|0;if(!d)break;if(!(a[d>>0]|0)){d=0;continue}TO(b,d);d=0}C_(e)}while(0);d=wx(g,98420)|0;if(d|0?a[d>>0]|0:0)TO(b,d);f=Dx(c,g)|0;while(1){if(!f)break;d=wx(f,137741)|0;do if(d|0?a[d>>0]|0:0){if(!(z$(d,58)|0)){TO(b,d);break}e=m1(d)|0;d=e;while(1){d=j1(d,104958)|0;if(!d)break;if(!(a[d>>0]|0)){d=0;continue}TO(b,d);d=0}C_(e)}while(0);d=wx(f,98420)|0;if(d|0?a[d>>0]|0:0)TO(b,d);f=Fx(c,f)|0}g=Sy(c,g)|0}return}function fF(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0;i=l;l=l+16|0;e=i+8|0;g=i;h=c[a>>2]|0;d=c[h+312>>2]|0;f=a+156|0;c[f>>2]=d;h=c[h+316>>2]|0;if(!h)if((d|0)>1?(c[a+152>>2]&64|0)==0:0){c[e>>2]=c[a+52>>2];Ow(0,97541,e)|0;c[f>>2]=1;e=1;d=0}else{e=1;d=0}else{d=h+4|0;if((c[h>>2]|0)>1?(c[a+152>>2]&64|0)==0:0){c[g>>2]=c[a+52>>2];Ow(0,97541,g)|0;c[h+8>>2]=(c[f>>2]|0)+1}e=c[d>>2]|0;d=h+8|0}c[a+160>>2]=e;c[b>>2]=d;l=i;return}function gF(a){a=a|0;return (c[a+160>>2]|0)<=(c[a+156>>2]|0)|0}function hF(a){a=a|0;var b=0;b=c[(c[a>>2]|0)+316>>2]|0;return c[((b|0)==0?a+156|0:b)>>2]|0}function iF(a){a=a|0;var b=0,d=0;d=a+172|0;b=c[d+4>>2]|0;a=a+196|0;c[a>>2]=c[d>>2];c[a+4>>2]=b;return}function jF(a){a=a|0;var b=0,d=0;d=c[a+196>>2]|0;if(((d|0)>-1?(d|0)<(c[a+164>>2]|0):0)?(b=c[a+200>>2]|0,(b|0)>-1):0)a=(b|0)<(c[a+168>>2]|0)&1;else a=0;return a|0}function kF(d,e){d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0;p=l;l=l+176|0;k=p;f=p+48|0;m=p+32|0;n=c[d+16>>2]|0;o=c[d+152>>2]|0;if((c[d+160>>2]|0)<=1?(c[d+196>>2]|0)<=0:0)h=0;else{Sw(m,128,f);g=n+212|0;h=c[g>>2]|0;QE(d,m);Vw(m,h)|0;i=m+4|0;f=c[i>>2]|0;if(f>>>0>=(c[m+8>>2]|0)>>>0){Tw(m,1)|0;f=c[i>>2]|0}a[f>>0]=0;f=c[m>>2]|0;c[i>>2]=f;c[g>>2]=f}pQ(wx(e,97006)|0);pF(d);AO(d);TO(d,134232);VO(d,131718);do if(o&4259840|0){if((c[n+208>>2]|0)==0?(b[n+260>>1]&1)==0:0)break;if(o&655360){i=o&131072;c[n+264>>2]=i>>>16^2;f=tH((i>>>12^32)+32|0)|0;g=d+288|0;c[f>>2]=c[g>>2];c[f+4>>2]=c[g+4>>2];c[f+8>>2]=c[g+8>>2];c[f+12>>2]=c[g+12>>2];g=f+16|0;q=d+304|0;c[g>>2]=c[q>>2];c[g+4>>2]=c[q+4>>2];c[g+8>>2]=c[q+8>>2];c[g+12>>2]=c[q+12>>2];if(!i){VG(f);g=4}else g=2}else{f=0;g=0}if(!(o&8192))xO(d,f,f,g)|0;c[n+272>>2]=f;c[n+268>>2]=g}while(0);if(o&32768|0?(j=c[(c[e+16>>2]|0)+12>>2]|0,j|0):0)c[n+192>>2]=c[j>>2];g=(o&4|0)!=0;do if(!g){f=n+208|0;if((c[f>>2]|0)==0?(b[n+260>>1]&1)==0:0)break;q=d+256|0;c[k>>2]=c[q>>2];c[k+4>>2]=c[q+4>>2];c[k+8>>2]=c[q+8>>2];c[k+12>>2]=c[q+12>>2];c[k+16>>2]=c[q+16>>2];c[k+20>>2]=c[q+20>>2];c[k+24>>2]=c[q+24>>2];c[k+28>>2]=c[q+28>>2];WE(d,k);OO(d,c[f>>2]|0,c[n+228>>2]|0,c[n+244>>2]|0,c[n+212>>2]|0)}while(0);qF(d,e);f=c[(c[e+16>>2]|0)+12>>2]|0;if(f|0)nH(d,4,f);do if(!g){if((c[n+208>>2]|0)==0?(b[n+260>>1]&1)==0:0)break;PO(d)}while(0);rF(d,e,o);BO(d);if(h|0){Ww(m);c[n+212>>2]=h}l=p;return}function lF(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0;h=l;l=l+32|0;d=h+24|0;b=h+16|0;j=h+8|0;f=h;g=a+196|0;i=a+188|0;c[b>>2]=c[g>>2];c[b+4>>2]=c[g+4>>2];c[d>>2]=c[i>>2];c[d+4>>2]=c[i+4>>2];oF(j,b,d);i=c[j+4>>2]|0;e=g;c[e>>2]=c[j>>2];c[e+4>>2]=i;if(!((jF(a)|0)<<24>>24)){e=a+180|0;if(!(c[a+184>>2]|0))c[a+200>>2]=c[a+176>>2];else c[g>>2]=c[a+172>>2];c[b>>2]=c[g>>2];c[b+4>>2]=c[g+4>>2];c[d>>2]=c[e>>2];c[d+4>>2]=c[e+4>>2];oF(f,b,d);i=c[f+4>>2]|0;j=g;c[j>>2]=c[f>>2];c[j+4>>2]=i}l=h;return}function mF(a,b){a=a|0;b=b|0;var d=0;d=c[b>>2]|0;if(!d){d=a+160|0;c[d>>2]=(c[d>>2]|0)+1}else{c[a+160>>2]=c[d>>2];c[b>>2]=d+4}return}function nF(a){a=a|0;zO(a);NE(a);return}function oF(a,b,d){a=a|0;b=b|0;d=d|0;var e=0;e=(c[d+4>>2]|0)+(c[b+4>>2]|0)|0;c[a>>2]=(c[d>>2]|0)+(c[b>>2]|0);c[a+4>>2]=e;return}function pF(a){a=a|0;var b=0.0,d=0.0,e=0.0,f=0,g=0.0,i=0,j=0,k=0,m=0,n=0,o=0.0,p=0,q=0,r=0,s=0,t=0,u=0.0;t=l;l=l+48|0;n=t+32|0;f=t+24|0;j=t+8|0;k=t+16|0;m=t;r=a+196|0;q=c[r>>2]|0;r=c[r+4>>2]|0;p=f;c[p>>2]=q;c[p+4>>2]=r;p=a+164|0;i=c[p>>2]|0;p=c[p+4>>2]|0;s=j;c[s>>2]=i;c[s+4>>2]=p;s=a+360|0;if(!(c[s>>2]|0)){k=q;j=r}else{c[n>>2]=c[f>>2];c[n+4>>2]=c[f+4>>2];xG(k,n);r=k;k=c[r>>2]|0;r=c[r+4>>2]|0;p=f;c[p>>2]=k;c[p+4>>2]=r;c[n>>2]=c[j>>2];c[n+4>>2]=c[j+4>>2];xG(m,n);p=m;i=c[p>>2]|0;p=c[p+4>>2]|0;c[j>>2]=i;c[j+4>>2]=p;j=r}d=+h[a+320>>3];g=d*+(k|0)-+h[a+240>>3];h[a+288>>3]=g;e=+h[a+328>>3];o=e*+(j|0)-+h[a+248>>3];h[a+296>>3]=o;h[a+304>>3]=d+g;h[a+312>>3]=e+o;f=a+472|0;if(!(c[(c[a+12>>2]|0)+28>>2]|0)){r=a+456|0;c[f>>2]=c[r>>2];c[f+4>>2]=c[r+4>>2];c[f+8>>2]=c[r+8>>2];c[f+12>>2]=c[r+12>>2]}else{q=a+456|0;c[f>>2]=c[((c[f>>2]|0)<(c[q>>2]|0)?f:q)>>2];r=a+476|0;c[r>>2]=c[((c[r>>2]|0)<(c[a+460>>2]|0)?f:q)+4>>2];r=a+480|0;c[r>>2]=c[((c[r>>2]|0)>(c[a+464>>2]|0)?f:q)+8>>2];r=a+484|0;c[r>>2]=c[((c[r>>2]|0)>(c[a+468>>2]|0)?f:q)+12>>2]}m=c[a+152>>2]|0;b=+h[a+336>>3];if(!(m&128)){b=(+(k|0)-+(i|0)*.5)*d+b;h[a+256>>3]=b;g=(+(j|0)-+(p|0)*.5)*e+ +h[a+344>>3];o=g;d=d+b;g=g+e}else{d=+h[a+368>>3]*.5;e=b-d;h[a+256>>3]=e;g=+h[a+344>>3];u=+h[a+376>>3]*.5;o=g-u;d=d+b;g=u+g;b=e}h[a+264>>3]=o;h[a+272>>3]=d;h[a+280>>3]=g;if(!(c[s>>2]|0)){e=+h[a+352>>3];h[a+504>>3]=+h[a+384>>3]/e-b;if(!(m&4096|c[46369])){d=+h[a+392>>3]/e;b=o}else{d=-g;b=+h[a+392>>3]/e}h[a+512>>3]=d-b}else{f=a+384|0;e=+h[a+352>>3];h[a+512>>3]=-g-+h[a+392>>3]/e;if(!(m&4096|c[46369]))d=+h[f>>3]/e;else{d=-d;b=+h[f>>3]/e}h[a+504>>3]=d-b}l=t;return}function qF(b,d){b=b|0;d=d|0;var e=0,f=0.0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;s=l;l=l+48|0;q=s;o=s+40|0;p=s+36|0;r=s+32|0;e=wx(d,137895)|0;if(!e){j=1;e=134116}else{i=(a[e>>0]|0)==0;j=i&1;e=i?134116:e}h=c[b+152>>2]|0;i=(a[e>>0]|0)==116;if(!(h&256))if(i){m=(a$(e,134297)|0)==0;k=m?134116:e;m=m?1:j;n=8}else{k=e;m=j;n=8}else if(!(i?!(a$(e,134297)|0):0)){k=e;m=j;n=8}if((n|0)==8?!((m|0)!=0&(h&33554432|0)!=0):0)if(!((tG(k,o,p)|0)<<24>>24)){VO(b,k);TO(b,134297);r=b+256|0;c[q>>2]=c[r>>2];c[q+4>>2]=c[r+4>>2];c[q+8>>2]=c[r+8>>2];c[q+12>>2]=c[r+12>>2];c[q+16>>2]=c[r+16>>2];c[q+20>>2]=c[r+20>>2];c[q+24>>2]=c[r+24>>2];c[q+28>>2]=c[r+28>>2];_O(b,q,1)}else{c[r>>2]=0;i=c[o>>2]|0;VO(b,i);TO(b,134297);sG(d,r)|0;e=c[o+4>>2]|0;h=JL(d,c[46373]|0,0,0)|0;f=+g[p>>2];if(!e)WO(b,134232,h,f);else WO(b,e,h,f);r=(c[r>>2]|0)>>>1&1|2;p=b+256|0;c[q>>2]=c[p>>2];c[q+4>>2]=c[p+4>>2];c[q+8>>2]=c[p+8>>2];c[q+12>>2]=c[p+12>>2];c[q+16>>2]=c[p+16>>2];c[q+20>>2]=c[p+20>>2];c[q+24>>2]=c[p+24>>2];c[q+28>>2]=c[p+28>>2];_O(b,q,r);C_(i)}e=c[(c[(c[d+16>>2]|0)+8>>2]|0)+88>>2]|0;if(e|0)vG(b,e);l=s;return}function rF(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0;g=(c[a>>2]|0)+28|0;c[g>>2]=(c[g>>2]|0)+1;g=(d&4|0)!=0;if(!g)sF(a,b,d);a:do if(!(d&1)){if(d&16|0){IO(a);f=Ry(b)|0;while(1){if(!f)break;e=Dx(b,f)|0;while(1){if(!e)break;uF(a,e);e=Fx(b,e)|0}f=Sy(b,f)|0}JO(a);GO(a);e=Ry(b)|0;while(1){if(!e)break;tF(a,e);e=Sy(b,e)|0}HO(a);break}if(!(d&8)){f=Ry(b)|0;while(1){if(!f)break a;tF(a,f);e=Dx(b,f)|0;while(1){if(!e)break;tF(a,c[((c[e>>2]&3|0)==2?e:e+-48|0)+40>>2]|0);uF(a,e);e=Fx(b,e)|0}f=Sy(b,f)|0}}GO(a);e=Ry(b)|0;while(1){if(!e)break;if((vF(b,e)|0)<<24>>24)tF(a,e);e=Sy(b,e)|0}HO(a);IO(a);f=Ry(b)|0;while(1){if(!f)break;e=Dx(b,f)|0;while(1){if(!e)break;if((wF(b,e)|0)<<24>>24)uF(a,e);e=Fx(b,e)|0}f=Sy(b,f)|0}JO(a)}else{GO(a);e=Ry(b)|0;while(1){if(!e)break;tF(a,e);e=Sy(b,e)|0}HO(a);IO(a);f=Ry(b)|0;while(1){if(!f)break;e=Dx(b,f)|0;while(1){if(!e)break;uF(a,e);e=Fx(b,e)|0}f=Sy(b,f)|0}JO(a)}while(0);if(g)sF(a,b,d);return}function sF(e,f,i){e=e|0;f=f|0;i=i|0;var j=0,k=0,m=0,n=0,o=0.0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0;P=l;l=l+128|0;w=P+72|0;N=P+64|0;H=P+112|0;I=P;J=P+104|0;K=f+16|0;L=(i&4|0)!=0;M=e+16|0;x=I+32|0;y=I+16|0;A=I+8|0;B=I+24|0;C=I+48|0;D=I+40|0;E=I+56|0;F=(i&8|0)==0;G=J+4|0;v=1;while(1){j=c[K>>2]|0;if((v|0)>(c[j+180>>2]|0))break;u=c[(c[j+184>>2]|0)+(v<<2)>>2]|0;if((qG(e,u)|0)<<24>>24){if(L)sF(e,u,i);rG(e,u);r=c[M>>2]|0;s=r+208|0;if(!(c[s>>2]|0))t=(b[r+260>>1]&1)!=0;else t=1;pQ(wx(u,97006)|0);if(!(L|t^1)){q=(c[u+16>>2]|0)+16|0;c[w>>2]=c[q>>2];c[w+4>>2]=c[q+4>>2];c[w+8>>2]=c[q+8>>2];c[w+12>>2]=c[q+12>>2];c[w+16>>2]=c[q+16>>2];c[w+20>>2]=c[q+20>>2];c[w+24>>2]=c[q+24>>2];c[w+28>>2]=c[q+28>>2];WE(e,w);OO(e,c[s>>2]|0,c[r+228>>2]|0,c[r+244>>2]|0,c[r+212>>2]|0)}c[H>>2]=0;j=sG(u,H)|0;if(!j)p=0;else{XO(e,j);p=c[H>>2]&1}q=u+16|0;j=d[(c[q>>2]|0)+112>>0]|0;do if(!(j&1)){if(j&2|0){j=NL(u,0,103230)|0;k=NL(u,0,103238)|0;O=29;break}if(j&8|0){j=NL(u,0,103246)|0;k=NL(u,0,103254)|0;O=29;break}if(j&4|0){j=NL(u,0,103262)|0;k=NL(u,0,103270)|0;O=29;break}j=wx(u,137741)|0;if(!j)k=0;else k=(a[j>>0]|0)==0?0:j;j=wx(u,134647)|0;if(!j)j=k;else j=(a[j>>0]|0)==0?k:j;m=wx(u,98392)|0;if(m)k=(a[m>>0]|0)==0?k:m;if(!((p|0)!=0&(k|0)!=0)){m=wx(u,137895)|0;if(m|0?a[m>>0]|0:0){k=m;O=29;break}j=(j|0)==0?134232:j;n=(k|0)==0?131718:k;c[J>>2]=0;if(!p)k=0;else O=31}else O=29}else{j=NL(u,0,103214)|0;k=NL(u,0,103222)|0;O=29}while(0);if((O|0)==29){c[J>>2]=0;j=(j|0)==0?134232:j;n=(k|0)==0?131718:k;O=31}if((O|0)==31){O=0;if(!((tG(n,J,w)|0)<<24>>24)){VO(e,n);k=1}else{VO(e,c[J>>2]|0);k=c[G>>2]|0;m=JL(u,c[46373]|0,0,0)|0;o=+g[w>>2];if(!k)WO(e,134232,m,o);else WO(e,k,m,o);k=(c[H>>2]|0)>>>1&1|2}}m=c[46372]|0;if((m|0?(z=xx(u,m)|0,z|0):0)?a[z>>0]|0:0)eP(e,+KL(u,c[46372]|0,1.0,0.0));p=c[H>>2]|0;do if(p&4){m=JL(u,c[46371]|0,1,0)|0;if(m|k|0){n=c[q>>2]|0;Q=n+16|0;c[I>>2]=c[Q>>2];c[I+4>>2]=c[Q+4>>2];c[I+8>>2]=c[Q+8>>2];c[I+12>>2]=c[Q+12>>2];n=n+32|0;c[x>>2]=c[n>>2];c[x+4>>2]=c[n+4>>2];c[x+8>>2]=c[n+8>>2];c[x+12>>2]=c[n+12>>2];h[y>>3]=+h[x>>3];h[B>>3]=+h[A>>3];h[C>>3]=+h[I>>3];h[E>>3]=+h[D>>3];if(!m)TO(e,134297);else TO(e,j);DJ(e,I,4,p,k)}}else{if(!(p&64)){if(JL(u,c[46371]|0,1,0)|0){TO(e,j);Q=(c[q>>2]|0)+16|0;c[w>>2]=c[Q>>2];c[w+4>>2]=c[Q+4>>2];c[w+8>>2]=c[Q+8>>2];c[w+12>>2]=c[Q+12>>2];c[w+16>>2]=c[Q+16>>2];c[w+20>>2]=c[Q+20>>2];c[w+24>>2]=c[Q+24>>2];c[w+28>>2]=c[Q+28>>2];_O(e,w,k);break}if(!k)break;TO(e,134297);Q=(c[q>>2]|0)+16|0;c[w>>2]=c[Q>>2];c[w+4>>2]=c[Q+4>>2];c[w+8>>2]=c[Q+8>>2];c[w+12>>2]=c[Q+12>>2];c[w+16>>2]=c[Q+16>>2];c[w+20>>2]=c[Q+20>>2];c[w+24>>2]=c[Q+24>>2];c[w+28>>2]=c[Q+28>>2];_O(e,w,k);break}Q=c[q>>2]|0;p=Q+16|0;c[I>>2]=c[p>>2];c[I+4>>2]=c[p+4>>2];c[I+8>>2]=c[p+8>>2];c[I+12>>2]=c[p+12>>2];Q=Q+32|0;c[x>>2]=c[Q>>2];c[x+4>>2]=c[Q+4>>2];c[x+8>>2]=c[Q+8>>2];c[x+12>>2]=c[Q+12>>2];h[y>>3]=+h[x>>3];h[B>>3]=+h[A>>3];h[C>>3]=+h[I>>3];h[E>>3]=+h[D>>3];if(!(JL(u,c[46371]|0,1,0)|0))TO(e,134297);else TO(e,j);if((VE(e,I,n,0)|0)>1){c[N>>2]=qy(u)|0;Ow(3,97374,N)|0}Q=(c[q>>2]|0)+16|0;c[w>>2]=c[Q>>2];c[w+4>>2]=c[Q+4>>2];c[w+8>>2]=c[Q+8>>2];c[w+12>>2]=c[Q+12>>2];c[w+16>>2]=c[Q+16>>2];c[w+20>>2]=c[Q+20>>2];c[w+24>>2]=c[Q+24>>2];c[w+28>>2]=c[Q+28>>2];_O(e,w,0)}while(0);C_(c[J>>2]|0);j=c[(c[q>>2]|0)+12>>2]|0;if(j|0)nH(e,5,j);if(t){if(L){Q=(c[q>>2]|0)+16|0;c[w>>2]=c[Q>>2];c[w+4>>2]=c[Q+4>>2];c[w+8>>2]=c[Q+8>>2];c[w+12>>2]=c[Q+12>>2];c[w+16>>2]=c[Q+16>>2];c[w+20>>2]=c[Q+20>>2];c[w+24>>2]=c[Q+24>>2];c[w+28>>2]=c[Q+28>>2];WE(e,w);OO(e,c[s>>2]|0,c[r+228>>2]|0,c[r+244>>2]|0,c[r+212>>2]|0)}PO(e)}a:do if(!F){k=Ry(u)|0;while(1){if(!k)break a;tF(e,k);j=Dx(u,k)|0;while(1){if(!j)break;uF(e,j);j=Fx(u,j)|0}k=Sy(u,k)|0}}while(0);uG(e,f);if(!L)sF(e,u,i)}v=v+1|0}l=P;return}function tF(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0;j=l;l=l+32|0;e=j;h=c[b>>2]|0;i=d+16|0;a:do if(((c[(c[i>>2]|0)+8>>2]|0?(iG(b,dz(d)|0,d)|0)<<24>>24:0)?(k=b+256|0,c[e>>2]=c[k>>2],c[e+4>>2]=c[k+4>>2],c[e+8>>2]=c[k+8>>2],c[e+12>>2]=c[k+12>>2],c[e+16>>2]=c[k+16>>2],c[e+20>>2]=c[k+20>>2],c[e+24>>2]=c[k+24>>2],c[e+28>>2]=c[k+28>>2],(jG(d,e)|0)<<24>>24):0)?(f=(c[i>>2]|0)+116|0,g=c[h+28>>2]|0,(g|0)!=(a[f>>0]|0)):0){a[f>>0]=g;bP(b,qy(d)|0);e=ML(d,c[46399]|0,191979)|0;if(a[e>>0]|0)bP(b,e);e=ML(d,c[46387]|0,191979)|0;b:do if(a[e>>0]|0){zF(e)|0;e=185144;while(1){f=e;e=e+4|0;f=c[f>>2]|0;if(!f)break b;if((a[f>>0]|0)!=105)continue;if(!(a$(f,131253)|0))break a}}while(0);kG(b,d);ub[c[(c[(c[(c[i>>2]|0)+8>>2]|0)+4>>2]|0)+20>>2]&63](b,d);e=c[(c[i>>2]|0)+108>>2]|0;if(e|0?a[e+81>>0]|0:0)nH(b,10,e);lG(b)}while(0);l=j;return}function uF(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0;h=l;l=l+32|0;g=h;e=b+256|0;c[g>>2]=c[e>>2];c[g+4>>2]=c[e+4>>2];c[g+8>>2]=c[e+8>>2];c[g+12>>2]=c[e+12>>2];c[g+16>>2]=c[e+16>>2];c[g+20>>2]=c[e+20>>2];c[g+24>>2]=c[e+24>>2];c[g+28>>2]=c[e+28>>2];a:do if((xF(d,g)|0)<<24>>24?(f=d+-48|0,(yF(b,d)|0)<<24>>24):0){i=d+48|0;e=V_(qy(c[((c[d>>2]&3|0)==3?d:i)+40>>2]|0)|0)|0;e=B_(e+3+(V_(qy(c[((c[d>>2]&3|0)==2?d:f)+40>>2]|0)|0)|0)|0)|0;a0(e,qy(c[((c[d>>2]&3|0)==3?d:i)+40>>2]|0)|0)|0;i=(dy(dz(c[((c[d>>2]&3|0)==2?d:f)+40>>2]|0)|0)|0)==0;g=e+(V_(e)|0)|0;if(i){a[g>>0]=a[138665]|0;a[g+1>>0]=a[138666]|0;a[g+2>>0]=a[138667]|0}else{a[g>>0]=a[134656]|0;a[g+1>>0]=a[134657]|0;a[g+2>>0]=a[134658]|0}o1(e,qy(c[((c[d>>2]&3|0)==2?d:f)+40>>2]|0)|0)|0;bP(b,e);C_(e);e=ML(d,c[46421]|0,191979)|0;if(a[e>>0]|0)bP(b,e);e=ML(d,c[46415]|0,191979)|0;b:do if(!(a[e>>0]|0))e=0;else{zF(e)|0;e=185144;while(1){f=e;e=e+4|0;f=c[f>>2]|0;if(!f){e=185144;break b}if((a[f>>0]|0)!=105)continue;if(!(a$(f,131253)|0))break a}}while(0);AF(b,d,e);BF(b,d,e);CF(b)}while(0);l=h;return}function vF(a,b){a=a|0;b=b|0;var d=0,e=0;d=a+16|0;a=1;while(1){e=c[d>>2]|0;if((a|0)>(c[e+180>>2]|0)){a=1;break}if(!(nz(c[(c[e+184>>2]|0)+(a<<2)>>2]|0,b)|0))a=a+1|0;else{a=0;break}}return a|0}function wF(a,b){a=a|0;b=b|0;var d=0,e=0;d=a+16|0;a=1;while(1){e=c[d>>2]|0;if((a|0)>(c[e+180>>2]|0)){a=1;break}if(!(nz(c[(c[e+184>>2]|0)+(a<<2)>>2]|0,b)|0))a=a+1|0;else{a=0;break}}return a|0}function xF(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0;j=l;l=l+64|0;i=j+32|0;f=j;g=b+16|0;b=c[g>>2]|0;e=c[b+8>>2]|0;if((e|0)!=0?(e=e+8|0,c[f>>2]=c[e>>2],c[f+4>>2]=c[e+4>>2],c[f+8>>2]=c[e+8>>2],c[f+12>>2]=c[e+12>>2],c[f+16>>2]=c[e+16>>2],c[f+20>>2]=c[e+20>>2],c[f+24>>2]=c[e+24>>2],c[f+28>>2]=c[e+28>>2],c[i>>2]=c[d>>2],c[i+4>>2]=c[d+4>>2],c[i+8>>2]=c[d+8>>2],c[i+12>>2]=c[d+12>>2],c[i+16>>2]=c[d+16>>2],c[i+20>>2]=c[d+20>>2],c[i+24>>2]=c[d+24>>2],c[i+28>>2]=c[d+28>>2],(hG(f,i)|0)!=0):0)b=1;else h=3;do if((h|0)==3){e=c[b+96>>2]|0;if(e){c[i>>2]=c[d>>2];c[i+4>>2]=c[d+4>>2];c[i+8>>2]=c[d+8>>2];c[i+12>>2]=c[d+12>>2];c[i+16>>2]=c[d+16>>2];c[i+20>>2]=c[d+20>>2];c[i+24>>2]=c[d+24>>2];c[i+28>>2]=c[d+28>>2];if((UM(e,i)|0)<<24>>24){b=1;break}b=c[g>>2]|0}b=c[b+108>>2]|0;if((b|0?a[b+81>>0]|0:0)?(c[i>>2]=c[d>>2],c[i+4>>2]=c[d+4>>2],c[i+8>>2]=c[d+8>>2],c[i+12>>2]=c[d+12>>2],c[i+16>>2]=c[d+16>>2],c[i+20>>2]=c[d+20>>2],c[i+24>>2]=c[d+24>>2],c[i+28>>2]=c[d+28>>2],(UM(b,i)|0)<<24>>24):0){b=1;break}b=0}while(0);l=j;return b|0}function yF(b,d){b=b|0;d=d|0;var e=0,f=0;a:do if((c[b+156>>2]|0)>=2?(e=ML(d,c[46420]|0,191979)|0,(dG(b,e)|0)<<24>>24==0):0)if(!(a[e>>0]|0)){e=0;while(1){if((e|0)>=2){e=0;break a}f=(e|0)==1;f=ML(c[((c[d>>2]&3|0)==((f?2:3)|0)?d:d+((f?-1:1)*48|0)|0)+40>>2]|0,c[46397]|0,191979)|0;if(!(a[f>>0]|0)){e=1;break a}if(!((dG(b,f)|0)<<24>>24))e=e+1|0;else{e=1;break}}}else e=0;else e=1;while(0);return e|0}function zF(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0;p=l;l=l+192|0;o=p+24|0;n=p+16|0;m=p+8|0;k=p;g=p+48|0;j=p+32|0;if(a[97256]|0){Sw(185408,128,191746);a[97256]=0}Sw(j,128,p+56|0);c[g>>2]=b;h=j+4|0;i=j+8|0;d=0;e=0;a:while(1){f=d;b:while(1)switch(bG(g,j)|0){case 0:{d=21;break a}case 40:if(!(f<<24>>24)){f=1;continue b}else{d=7;break a}case 41:if(!(f<<24>>24)){d=9;break a}else{f=0;continue b}default:break b}if(!(f<<24>>24)){if((e|0)==63){d=12;break}d=c[46353]|0;if(d>>>0>=(c[46354]|0)>>>0){Tw(185408,1)|0;d=c[46353]|0}c[46353]=d+1;a[d>>0]=0;c[185144+(e<<2)>>2]=c[46353];e=e+1|0}d=c[h>>2]|0;if(d>>>0>=(c[i>>2]|0)>>>0){Tw(j,1)|0;d=c[h>>2]|0}a[d>>0]=0;d=c[j>>2]|0;c[h>>2]=d;Vw(185408,d)|0;d=c[46353]|0;if(d>>>0>=(c[46354]|0)>>>0){Tw(185408,1)|0;d=c[46353]|0}c[46353]=d+1;a[d>>0]=0;d=f}do if((d|0)==7){c[k>>2]=b;Ow(1,97257,k)|0;c[46286]=0;Ww(j)}else if((d|0)==9){c[m>>2]=b;Ow(1,97291,m)|0;c[46286]=0;Ww(j)}else if((d|0)==12){c[n>>2]=b;Ow(0,97319,n)|0;c[46349]=0;Ww(j)}else if((d|0)==21){if(f<<24>>24){c[o>>2]=b;Ow(1,97342,o)|0;c[46286]=0;Ww(j);break}c[185144+(e<<2)>>2]=0;Ww(j);d=c[46353]|0;if(d>>>0>=(c[46354]|0)>>>0){Tw(185408,1)|0;d=c[46353]|0}a[d>>0]=0;c[46353]=c[46352]}while(0);l=p;return 185144}function AF(d,f,g){d=d|0;f=f|0;g=g|0;var i=0,j=0,k=0,m=0.0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0;A=l;l=l+160|0;y=A+24|0;w=A+20|0;v=A+16|0;o=A;p=A+32|0;x=c[d+152>>2]|0;c[y>>2]=0;c[w>>2]=0;c[v>>2]=0;z=ME(d)|0;c[z+4>>2]=3;c[z+8>>2]=f;c[z+12>>2]=9;t=f+16|0;n=c[(c[t>>2]|0)+96>>2]|0;if((n|0?(a[n+82>>0]|0)==0:0)?(QL(wx(f,97079)|0,0)|0)<<24>>24:0){n=z+260|0;b[n>>1]=b[n>>1]|512}if(g|0?c[(c[t>>2]|0)+8>>2]|0:0)XO(d,g);g=c[46436]|0;if((g|0?(i=xx(f,g)|0,i|0):0)?a[i>>0]|0:0)eP(d,+KL(f,c[46436]|0,1.0,0.0));do if(x&16777216|0){g=f+48|0;if((e[(c[(dz(c[((c[f>>2]&3|0)==3?f:g)+40>>2]|0)|0)+16>>2]|0)+178>>1]|0)>2){m=+h[(c[(c[(c[((c[f>>2]&3|0)==3?f:g)+40>>2]|0)+16>>2]|0)+132>>2]|0)+16>>3]*72.0;h[z+176>>3]=+(~~(m+(m>=0.0?.5:-.5))|0);m=+h[(c[(c[(c[((c[f>>2]&3|0)==2?f:f+-48|0)+40>>2]|0)+16>>2]|0)+132>>2]|0)+16>>3]*72.0;h[z+184>>3]=+(~~(m+(m>=0.0?.5:-.5))|0);break}else{n=z+176|0;c[n>>2]=0;c[n+4>>2]=0;c[n+8>>2]=0;c[n+12>>2]=0;break}}while(0);if(x&32768|0){n=c[t>>2]|0;g=c[n+96>>2]|0;if(!g)g=c[z+192>>2]|0;else{g=c[g>>2]|0;c[z+192>>2]=g}i=z+196|0;c[i>>2]=g;k=z+204|0;c[k>>2]=g;j=z+200|0;c[j>>2]=g;g=c[n+108>>2]|0;if(g|0)c[i>>2]=c[g>>2];g=c[n+104>>2]|0;if(g|0)c[j>>2]=c[g>>2];g=c[n+100>>2]|0;if(g|0)c[k>>2]=c[g>>2]}if(!(x&65536))j=0;else{Sw(o,128,p);c[z+212>>2]=oH(PE(d,f,o)|0,f)|0;Ww(o);g=wx(f,137973)|0;if((g|0)!=0?(a[g>>0]|0)!=0:0)q=31;else{g=wx(f,108395)|0;if((g|0)!=0?(a[g>>0]|0)!=0:0)q=31;else i=0}if((q|0)==31)i=oH(g,f)|0;g=wx(f,97092)|0;if((g|0)!=0?(a[g>>0]|0)!=0:0)q=36;else q=34;do if((q|0)==34){g=wx(f,97101)|0;if(g|0?a[g>>0]|0:0){q=36;break}if(i|0){g=m1(i)|0;q=39}}while(0);if((q|0)==36){g=oH(g,f)|0;q=39}if((q|0)==39)c[z+208>>2]=g;g=wx(f,97109)|0;if((g|0)!=0?(a[g>>0]|0)!=0:0)q=44;else q=42;do if((q|0)==42){g=wx(f,97119)|0;if(g|0?a[g>>0]|0:0){q=44;break}if(i|0){g=m1(i)|0;q=47}}while(0);if((q|0)==44){g=oH(g,f)|0;q=47}if((q|0)==47)c[z+216>>2]=g;g=wx(f,97128)|0;if((g|0)!=0?(a[g>>0]|0)!=0:0)q=52;else q=50;do if((q|0)==50){g=wx(f,97137)|0;if(g|0?a[g>>0]|0:0){q=52;break}if(i|0)c[z+220>>2]=m1(i)|0}while(0);if((q|0)==52){c[z+220>>2]=oH(g,f)|0;q=z+260|0;b[q>>1]=b[q>>1]|128}g=wx(f,97145)|0;if((g|0)!=0?(a[g>>0]|0)!=0:0)q=59;else q=57;do if((q|0)==57){g=wx(f,97154)|0;if(g|0?a[g>>0]|0:0){q=59;break}if(i|0)c[z+224>>2]=m1(i)|0}while(0);if((q|0)==59){c[z+224>>2]=oH(g,f)|0;q=z+260|0;b[q>>1]=b[q>>1]|256}j=i}do if(x&8388608){g=wx(f,138006)|0;if((g|0)!=0?(a[g>>0]|0)!=0:0)i=oH(g,f)|0;else i=0;g=wx(f,97162)|0;if((g|0)!=0?(a[g>>0]|0)!=0:0){q=z+260|0;b[q>>1]=b[q>>1]|64;g=oH(g,f)|0;q=72}else q=70;if((q|0)==70?i|0:0){g=m1(i)|0;q=72}if((q|0)==72)c[z+244>>2]=g;g=wx(f,97173)|0;if((g|0)!=0?(a[g>>0]|0)!=0:0){g=oH(g,f)|0;q=78}else q=76;if((q|0)==76?i|0:0){g=m1(i)|0;q=78}if((q|0)==78)c[z+248>>2]=g;g=wx(f,97185)|0;if((g|0)!=0?(a[g>>0]|0)!=0:0){c[z+252>>2]=oH(g,f)|0;p=z+260|0;b[p>>1]=b[p>>1]|16}else q=82;if((q|0)==82?i|0:0)c[z+252>>2]=m1(i)|0;g=wx(f,97196)|0;if(g|0?a[g>>0]|0:0){q=z+260|0;b[q>>1]=b[q>>1]|32;c[z+256>>2]=oH(g,f)|0;break}if(i)c[z+256>>2]=m1(i)|0;else i=0}else i=0;while(0);do if(x&4194304|0){g=wx(f,138019)|0;if((g|0)!=0?(a[g>>0]|0)!=0:0)q=94;else q=92;do if((q|0)==92){g=wx(f,97207)|0;if(g|0?a[g>>0]|0:0){q=94;break}g=c[z+192>>2]|0;if(g|0)c[z+228>>2]=m1(g)|0}while(0);if((q|0)==94){p=VF(g,f)|0;c[z+228>>2]=oH(p,f)|0;C_(p);p=z+260|0;b[p>>1]=b[p>>1]|1}g=wx(f,97219)|0;if((g|0)!=0?(a[g>>0]|0)!=0:0){p=VF(g,f)|0;c[z+232>>2]=oH(p,f)|0;C_(p);p=z+260|0;b[p>>1]=b[p>>1]|8}else q=100;if((q|0)==100?(r=c[z+192>>2]|0,r|0):0)c[z+232>>2]=m1(r)|0;g=wx(f,97232)|0;if((g|0)!=0?(a[g>>0]|0)!=0:0){r=VF(g,f)|0;c[z+236>>2]=oH(r,f)|0;C_(r);r=z+260|0;b[r>>1]=b[r>>1]|2}else q=105;if((q|0)==105?(s=c[z+200>>2]|0,s|0):0)c[z+236>>2]=m1(s)|0;g=wx(f,97244)|0;if(g|0?a[g>>0]|0:0){s=VF(g,f)|0;c[z+240>>2]=oH(s,f)|0;C_(s);s=z+260|0;b[s>>1]=b[s>>1]|4;break}g=c[z+204>>2]|0;if(g|0)c[z+240>>2]=m1(g)|0}while(0);C_(j);C_(i);do if(x&4259840|0?(u=c[(c[t>>2]|0)+8>>2]|0,u|0):0){if(!(c[z+208>>2]|0)){if((x&524288|0)==0|(c[z+228>>2]|0)==0)break}else if(!(x&524288))break;m=+h[(c[d+16>>2]|0)+152>>3]*.5;m=m>2.0?m:2.0;i=c[u+4>>2]|0;g=0;while(1){if((g|0)>=(i|0))break;WF(y,w,v,(c[u>>2]|0)+(g*48|0)|0,m);g=g+1|0}j=c[v>>2]|0;c[z+276>>2]=j;k=c[w>>2]|0;c[z+280>>2]=k;if(!(x&8192)){g=0;i=0;while(1){if((i|0)>=(j|0))break;g=(c[k+(i<<2)>>2]|0)+g|0;i=i+1|0}y=c[y>>2]|0;xO(d,y,y,g)|0;g=y}else g=c[y>>2]|0;c[z+284>>2]=g;c[z+264>>2]=2;c[z+272>>2]=g;c[z+268>>2]=c[k>>2]}while(0);MO(d,f);g=c[z+208>>2]|0;if(!((g|0)==0?!(b[z+260>>1]&1):0))OO(d,g,c[z+228>>2]|0,c[z+244>>2]|0,c[z+212>>2]|0);l=A;return}function BF(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0.0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0.0,N=0.0,O=0,P=0,Q=0,R=0,S=0;P=l;l=l+240|0;L=P+224|0;K=P+208|0;x=P+128|0;w=P+112|0;O=P+64|0;C=P+48|0;D=P+32|0;E=P+16|0;F=P;G=P+192|0;H=P+176|0;y=P+160|0;B=P+144|0;c[E>>2]=0;c[E+4>>2]=0;c[E+8>>2]=0;c[E+12>>2]=0;M=+h[(c[b+16>>2]|0)+152>>3];pQ(wx(e,97006)|0);J=e+16|0;a:do if(c[(c[J>>2]|0)+8>>2]|0){N=+KL(e,c[46418]|0,1.0,0.0);k=ML(e,c[46406]|0,191979)|0;v=(f|0)!=0;b:do if(v){g=f;while(1){i=g;g=g+4|0;i=c[i>>2]|0;if(!i){o=0;break b}if((a[i>>0]|0)!=116)continue;if(!(a$(i,108091)|0)){o=1;break}}}else o=0;while(0);j=k;q=0;i=0;c:while(1){switch(a[j>>0]|0){case 0:break c;case 58:{g=q+1|0;break}case 59:{g=q;i=i+1|0;break}default:g=q}j=j+1|0;q=g}n=(q|0)!=0;if((i|0)!=0&n)if(!(JF(b,e,f,k,q+1|0,N,M)|0))break;else m=134232;else m=k;g=d[(c[J>>2]|0)+115>>0]|0;if(!(g&1))if(!(g&2))if(!(g&8))if(!(g&4)){i=m;j=NL(e,c[46407]|0,m)|0}else{j=103270;g=103262;k=185632;i=185632;p=18}else{j=103254;g=103246;k=185632;i=185632;p=18}else{j=103238;g=103230;k=185632;i=185632;p=18}else{j=103222;g=103214;k=185632;i=185632;p=18}if((p|0)==18){i=c[i>>2]|0;i=NL(e,i,KF(m,g)|0)|0;g=NL(e,c[k>>2]|0,j)|0;if((i|0)==(m|0)){i=m;j=g}else{TO(b,i);j=g}}if((j|0)!=(m|0))VO(b,j);if(o<<24>>24){i=(a[i>>0]|0)==0?134232:i;g=(a[j>>0]|0)==0?134232:j;TO(b,134297);VO(b,i);u=O;r=c[c[(c[J>>2]|0)+8>>2]>>2]|0;s=u+48|0;do{c[u>>2]=c[r>>2];u=u+4|0;r=r+4|0}while((u|0)<(s|0));J=jL(O,LF(e)|0,M,0,0)|0;ZO(b,c[J+8>>2]|0,c[J>>2]|0,1);MF(J);TO(b,i);if((g|0)!=(i|0))VO(b,g);g=c[O+8>>2]|0;if(g|0){I=O+16|0;J=c[O>>2]|0;c[K>>2]=c[I>>2];c[K+4>>2]=c[I+4>>2];c[K+8>>2]=c[I+8>>2];c[K+12>>2]=c[I+12>>2];c[L>>2]=c[J>>2];c[L+4>>2]=c[J+4>>2];c[L+8>>2]=c[J+8>>2];c[L+12>>2]=c[J+12>>2];JE(b,2,K,L,N,M,g)}g=c[O+12>>2]|0;if(!g)break;J=O+32|0;O=(c[O>>2]|0)+((c[O+4>>2]|0)+-1<<4)|0;c[K>>2]=c[J>>2];c[K+4>>2]=c[J+4>>2];c[K+8>>2]=c[J+8>>2];c[K+12>>2]=c[J+12>>2];c[L>>2]=c[O>>2];c[L+4>>2]=c[O+4>>2];c[L+8>>2]=c[O+8>>2];c[L+12>>2]=c[O+12>>2];JE(b,3,K,L,N,M,g);break}g=c[J>>2]|0;if(!n){do if(!(a[g+115>>0]&3)){if(a[i>>0]|0){TO(b,i);VO(b,j);break}TO(b,134232);if(!(a[j>>0]|0)){VO(b,134232);break}else{VO(b,j);break}}while(0);k=b+152|0;m=O+4|0;n=O+8|0;o=O+12|0;p=O+32|0;q=O+16|0;j=0;while(1){g=c[(c[J>>2]|0)+8>>2]|0;if((j|0)>=(c[g+4>>2]|0))break a;u=O;r=(c[g>>2]|0)+(j*48|0)|0;s=u+48|0;do{c[u>>2]=c[r>>2];u=u+4|0;r=r+4|0}while((u|0)<(s|0));g=c[O>>2]|0;i=c[m>>2]|0;do if(!(c[k>>2]&16384)){$O(b,g,i,0,0,0);g=c[n>>2]|0;if(g|0){I=c[O>>2]|0;c[K>>2]=c[q>>2];c[K+4>>2]=c[q+4>>2];c[K+8>>2]=c[q+8>>2];c[K+12>>2]=c[q+12>>2];c[L>>2]=c[I>>2];c[L+4>>2]=c[I+4>>2];c[L+8>>2]=c[I+8>>2];c[L+12>>2]=c[I+12>>2];JE(b,2,K,L,N,M,g)}g=c[o>>2]|0;if(g|0){I=(c[O>>2]|0)+((c[m>>2]|0)+-1<<4)|0;c[K>>2]=c[p>>2];c[K+4>>2]=c[p+4>>2];c[K+8>>2]=c[p+8>>2];c[K+12>>2]=c[p+12>>2];c[L>>2]=c[I>>2];c[L+4>>2]=c[I+4>>2];c[L+8>>2]=c[I+8>>2];c[L+12>>2]=c[I+12>>2];JE(b,3,K,L,N,M,g)}if((c[(c[(c[J>>2]|0)+8>>2]|0)+4>>2]|0)>1){if(!(c[n>>2]|0)){if(!(v&(c[o>>2]|0)!=0))break}else if(!v)break;XO(b,f)}}else $O(b,g,i,c[n>>2]|0,c[o>>2]|0,0);while(0);j=j+1|0}}I=c[(c[g+8>>2]|0)+4>>2]|0;A=I*48|0;z=B_(A)|0;A=B_(A)|0;t=+(q+2|0)*.5;v=O+4|0;p=C+8|0;q=D+8|0;e=E+8|0;f=F+8|0;o=0;while(1){if((o|0)>=(I|0))break;u=O;r=(c[c[(c[J>>2]|0)+8>>2]>>2]|0)+(o*48|0)|0;s=u+48|0;do{c[u>>2]=c[r>>2];u=u+4|0;r=r+4|0}while((u|0)<(s|0));g=c[v>>2]|0;c[z+(o*48|0)+4>>2]=g;c[A+(o*48|0)+4>>2]=g;n=g<<4;m=B_(n)|0;c[z+(o*48|0)>>2]=m;n=B_(n)|0;c[A+(o*48|0)>>2]=n;k=c[O>>2]|0;c[F>>2]=c[k>>2];c[F+4>>2]=c[k+4>>2];c[F+8>>2]=c[k+8>>2];c[F+12>>2]=c[k+12>>2];k=0;while(1){if((k|0)>=(g+-1|0))break;c[C>>2]=c[F>>2];c[C+4>>2]=c[F+4>>2];c[C+8>>2]=c[F+8>>2];c[C+12>>2]=c[F+12>>2];g=k+1|0;j=(c[O>>2]|0)+(g<<4)|0;c[D>>2]=c[j>>2];c[D+4>>2]=c[j+4>>2];c[D+8>>2]=c[j+8>>2];c[D+12>>2]=c[j+12>>2];j=m+(k<<4)|0;if(!k){c[K>>2]=c[C>>2];c[K+4>>2]=c[C+4>>2];c[K+8>>2]=c[C+8>>2];c[K+12>>2]=c[C+12>>2];c[L>>2]=c[D>>2];c[L+4>>2]=c[D+4>>2];c[L+8>>2]=c[D+8>>2];c[L+12>>2]=c[D+12>>2];NF(G,K,L);c[j>>2]=c[G>>2];c[j+4>>2]=c[G+4>>2];c[j+8>>2]=c[G+8>>2];c[j+12>>2]=c[G+12>>2]}else{c[K>>2]=c[E>>2];c[K+4>>2]=c[E+4>>2];c[K+8>>2]=c[E+8>>2];c[K+12>>2]=c[E+12>>2];c[L>>2]=c[D>>2];c[L+4>>2]=c[D+4>>2];c[L+8>>2]=c[D+8>>2];c[L+12>>2]=c[D+12>>2];NF(H,K,L);c[j>>2]=c[H>>2];c[j+4>>2]=c[H+4>>2];c[j+8>>2]=c[H+8>>2];c[j+12>>2]=c[H+12>>2]}R=c[O>>2]|0;s=k+2|0;S=R+(s<<4)|0;c[E>>2]=c[S>>2];c[E+4>>2]=c[S+4>>2];c[E+8>>2]=c[S+8>>2];c[E+12>>2]=c[S+12>>2];u=k+3|0;R=R+(u<<4)|0;c[F>>2]=c[R>>2];c[F+4>>2]=c[R+4>>2];c[F+8>>2]=c[R+8>>2];c[F+12>>2]=c[R+12>>2];Q=m+(g<<4)|0;r=m+(s<<4)|0;c[w>>2]=c[C>>2];c[w+4>>2]=c[C+4>>2];c[w+8>>2]=c[C+8>>2];c[w+12>>2]=c[C+12>>2];c[x>>2]=c[D>>2];c[x+4>>2]=c[D+4>>2];c[x+8>>2]=c[D+8>>2];c[x+12>>2]=c[D+12>>2];c[K>>2]=c[S>>2];c[K+4>>2]=c[S+4>>2];c[K+8>>2]=c[S+8>>2];c[K+12>>2]=c[S+12>>2];c[L>>2]=c[R>>2];c[L+4>>2]=c[R+4>>2];c[L+8>>2]=c[R+8>>2];c[L+12>>2]=c[R+12>>2];OF(y,w,x,K,L);c[r>>2]=c[y>>2];c[r+4>>2]=c[y+4>>2];c[r+8>>2]=c[y+8>>2];c[r+12>>2]=c[y+12>>2];c[Q>>2]=c[y>>2];c[Q+4>>2]=c[y+4>>2];c[Q+8>>2]=c[y+8>>2];c[Q+12>>2]=c[y+12>>2];h[n+(k<<4)>>3]=+h[C>>3]-+h[j>>3]*t;h[n+(k<<4)+8>>3]=+h[p>>3]-+h[m+(k<<4)+8>>3]*t;h[n+(g<<4)>>3]=+h[D>>3]-+h[Q>>3]*t;h[n+(g<<4)+8>>3]=+h[q>>3]-+h[m+(g<<4)+8>>3]*t;h[n+(s<<4)>>3]=+h[E>>3]-+h[r>>3]*t;h[n+(s<<4)+8>>3]=+h[e>>3]-+h[m+(s<<4)+8>>3]*t;k=u;g=c[v>>2]|0}S=m+(k<<4)|0;c[K>>2]=c[E>>2];c[K+4>>2]=c[E+4>>2];c[K+8>>2]=c[E+8>>2];c[K+12>>2]=c[E+12>>2];c[L>>2]=c[F>>2];c[L+4>>2]=c[F+4>>2];c[L+8>>2]=c[F+8>>2];c[L+12>>2]=c[F+12>>2];NF(B,K,L);c[S>>2]=c[B>>2];c[S+4>>2]=c[B+4>>2];c[S+8>>2]=c[B+8>>2];c[S+12>>2]=c[B+12>>2];h[n+(k<<4)>>3]=+h[F>>3]-+h[S>>3]*t;h[n+(k<<4)+8>>3]=+h[f>>3]-+h[m+(k<<4)+8>>3]*t;o=o+1|0}s=m1(i)|0;f=0;r=i;g=i;j=i;i=s;while(1){i=j1(i,104958)|0;if(!i)break;e=(a[i>>0]|0)==0?134232:i;if((e|0)!=(j|0))if(!(a[(c[J>>2]|0)+115>>0]&3)){TO(b,e);VO(b,e);j=e}else j=e;m=(f|0)==0;n=f>>>0<2;i=0;while(1){if((i|0)>=(I|0))break;o=c[A+(i*48|0)>>2]|0;p=c[z+(i*48|0)>>2]|0;q=c[A+(i*48|0)+4>>2]|0;k=0;while(1){if((k|0)>=(q|0))break;S=o+(k<<4)|0;h[S>>3]=+h[S>>3]+ +h[p+(k<<4)>>3];S=o+(k<<4)+8|0;h[S>>3]=+h[S>>3]+ +h[p+(k<<4)+8>>3];k=k+1|0}$O(b,o,q,0,0,0);i=i+1|0}f=f+1|0;r=m?e:r;g=n?e:g;i=0}i=c[O+8>>2]|0;if(!i)i=0;else{if(g){if(!(a[(c[J>>2]|0)+115>>0]&3)){TO(b,g);VO(b,g)}}else g=0;R=O+16|0;S=c[O>>2]|0;c[K>>2]=c[R>>2];c[K+4>>2]=c[R+4>>2];c[K+8>>2]=c[R+8>>2];c[K+12>>2]=c[R+12>>2];c[L>>2]=c[S>>2];c[L+4>>2]=c[S+4>>2];c[L+8>>2]=c[S+8>>2];c[L+12>>2]=c[S+12>>2];JE(b,2,K,L,N,M,i);i=g}j=O+12|0;g=c[j>>2]|0;if(g|0){if((i|0)!=(r|0)?(a[(c[J>>2]|0)+115>>0]&3)==0:0){TO(b,r);VO(b,r);g=c[j>>2]|0}R=O+32|0;S=(c[O>>2]|0)+((c[v>>2]|0)+-1<<4)|0;c[K>>2]=c[R>>2];c[K+4>>2]=c[R+4>>2];c[K+8>>2]=c[R+8>>2];c[K+12>>2]=c[R+12>>2];c[L>>2]=c[S>>2];c[L+4>>2]=c[S+4>>2];c[L+8>>2]=c[S+8>>2];c[L+12>>2]=c[S+12>>2];JE(b,3,K,L,N,M,g)}C_(s);g=0;while(1){if((g|0)>=(I|0))break;C_(c[z+(g*48|0)>>2]|0);C_(c[A+(g*48|0)>>2]|0);g=g+1|0}C_(z);C_(A)}while(0);l=P;return}function CF(a){a=a|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0;x=l;l=l+64|0;r=x+48|0;u=x+32|0;t=x+16|0;s=x;w=c[a+16>>2]|0;v=c[w+8>>2]|0;q=w+208|0;if(!((c[q>>2]|0)==0?!(b[w+260>>1]&1):0))d=3;a:do if((d|0)==3?(PO(a),p=w+276|0,e=c[p>>2]|0,e|0):0){h=w+280|0;d=c[h>>2]|0;i=w+268|0;j=w+284|0;k=w+272|0;m=w+228|0;n=w+244|0;o=w+212|0;f=c[d>>2]|0;g=1;while(1){if((g|0)>=(e|0))break a;c[i>>2]=c[d+(g<<2)>>2];c[k>>2]=(c[j>>2]|0)+(f<<4);OO(a,c[q>>2]|0,c[m>>2]|0,c[n>>2]|0,c[o>>2]|0);PO(a);y=c[h>>2]|0;f=(c[y+(g<<2)>>2]|0)+f|0;g=g+1|0;e=c[p>>2]|0;d=y}}while(0);c[w+268>>2]=0;c[w+272>>2]=0;q=v+16|0;d=c[q>>2]|0;e=c[d+8>>2]|0;if(!e)f=w+260|0;else{p=c[e>>2]|0;d=c[p>>2]|0;y=c[p+8>>2]|0;o=p+16|0;c[t>>2]=c[o>>2];c[t+4>>2]=c[o+4>>2];c[t+8>>2]=c[o+8>>2];c[t+12>>2]=c[o+12>>2];p=p+32|0;c[s>>2]=c[p>>2];c[s+4>>2]=c[p+4>>2];c[s+8>>2]=c[p+8>>2];c[s+12>>2]=c[p+12>>2];if(!y){c[u>>2]=c[d>>2];c[u+4>>2]=c[d+4>>2];c[u+8>>2]=c[d+8>>2];c[u+12>>2]=c[d+12>>2]}else{c[u>>2]=c[t>>2];c[u+4>>2]=c[t+4>>2];c[u+8>>2]=c[t+8>>2];c[u+12>>2]=c[t+12>>2]}f=w+260|0;p=b[f>>1]|0;o=c[w+220>>2]|0;c[r>>2]=c[u>>2];c[r+4>>2]=c[u+4>>2];c[r+8>>2]=c[u+8>>2];c[r+12>>2]=c[u+12>>2];DF(a,r,(p<<8&65535)<<16>>16>>15&255,o,(p<<14&65535)<<16>>16>>15&255);p=c[(c[q>>2]|0)+8>>2]|0;o=c[p>>2]|0;p=(c[p+4>>2]|0)+-1|0;d=c[o+(p*48|0)>>2]|0;e=c[o+(p*48|0)+4>>2]|0;y=c[o+(p*48|0)+12>>2]|0;n=o+(p*48|0)+16|0;c[t>>2]=c[n>>2];c[t+4>>2]=c[n+4>>2];c[t+8>>2]=c[n+8>>2];c[t+12>>2]=c[n+12>>2];t=o+(p*48|0)+32|0;c[s>>2]=c[t>>2];c[s+4>>2]=c[t+4>>2];c[s+8>>2]=c[t+8>>2];c[s+12>>2]=c[t+12>>2];if(!y){y=d+(e+-1<<4)|0;c[u>>2]=c[y>>2];c[u+4>>2]=c[y+4>>2];c[u+8>>2]=c[y+8>>2];c[u+12>>2]=c[y+12>>2]}else{c[u>>2]=c[s>>2];c[u+4>>2]=c[s+4>>2];c[u+8>>2]=c[s+8>>2];c[u+12>>2]=c[s+12>>2]}d=b[f>>1]|0;y=c[w+224>>2]|0;c[r>>2]=c[u>>2];c[r+4>>2]=c[u+4>>2];c[r+8>>2]=c[u+8>>2];c[r+12>>2]=c[u+12>>2];DF(a,r,(d<<7&65535)<<16>>16>>15&255,y,(d<<13&65535)<<16>>16>>15&255);d=c[q>>2]|0}e=c[d+96>>2]|0;g=(b[f>>1]<<12&65535)<<16>>16>>15<<16>>16;m=w+216|0;h=c[m>>2]|0;n=w+232|0;i=c[n>>2]|0;o=w+248|0;j=c[o>>2]|0;p=w+212|0;k=c[p>>2]|0;if(!((PL(ML(v,c[46416]|0,134226)|0)|0)<<24>>24))d=0;else d=c[(c[q>>2]|0)+8>>2]|0;EF(a,e,11,g,h,i,j,k,d);j=c[(c[q>>2]|0)+108>>2]|0;k=(b[f>>1]<<12&65535)<<16>>16>>15<<16>>16;i=c[m>>2]|0;h=c[n>>2]|0;e=c[o>>2]|0;g=c[p>>2]|0;if(!((PL(ML(v,c[46416]|0,134226)|0)|0)<<24>>24))d=0;else d=c[(c[q>>2]|0)+8>>2]|0;EF(a,j,11,k,i,h,e,g,d);EF(a,c[(c[q>>2]|0)+100>>2]|0,7,(b[f>>1]<<13&65535)<<16>>16>>15<<16>>16,c[w+224>>2]|0,c[w+240>>2]|0,c[w+256>>2]|0,c[p>>2]|0,0);EF(a,c[(c[q>>2]|0)+104>>2]|0,6,(b[f>>1]<<14&65535)<<16>>16>>15<<16>>16,c[w+220>>2]|0,c[w+236>>2]|0,c[w+252>>2]|0,c[p>>2]|0,0);NO(a);NE(a);l=x;return}function DF(a,d,e,f,g){a=a|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0;j=l;l=l+16|0;h=j;i=c[a+16>>2]|0;if(!(e<<24>>24))f=c[i+208>>2]|0;if(!(g<<24>>24==0?((f|0)==0?(b[i+260>>1]&1)==0:0):0)){c[h>>2]=c[d>>2];c[h+4>>2]=c[d+4>>2];c[h+8>>2]=c[d+8>>2];c[h+12>>2]=c[d+12>>2];IF(a,h)}l=j;return}function EF(b,d,e,f,g,h,i,j,k){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;var m=0,n=0,o=0,p=0,q=0,r=0;r=l;l=l+16|0;o=r;q=c[b+152>>2]|0;if(d|0?a[d+81>>0]|0:0){if(!j)n=0;else{n=tH((V_(j)|0)+11|0)|0;switch(e|0){case 11:{m=105198;break}case 7:{m=98557;break}case 6:{m=98567;break}default:qa(135312,96880,2730,97018)}c[o>>2]=j;c[o+4>>2]=m;X0(n,97034,o)|0}o=b+16|0;j=(c[o>>2]|0)+12|0;p=c[j>>2]|0;c[j>>2]=e;j=(f|0)!=0|(g|0)!=0;m=(q&4|0)==0;if(j&m){FF(b,d);OO(b,g,h,i,n)}nH(b,e,d);if(k|0)GF(b,d,k);if(j){if(!m){FF(b,d);OO(b,g,h,i,n)}PO(b)}C_(n);c[(c[o>>2]|0)+12>>2]=p}l=r;return}function FF(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,i=0,j=0;d=c[a+16>>2]|0;e=c[a+152>>2]|0;if(e&4259840|0){f=e&131072;i=f>>>16^2;c[d+264>>2]=i;j=d+268|0;c[j>>2]=i+2;i=d+272|0;C_(c[i>>2]|0);d=tH(c[j>>2]<<4)|0;c[i>>2]=d;i=b+56|0;j=b+24|0;h[d>>3]=+h[i>>3]-+h[j>>3]*.5;g=b+64|0;b=b+32|0;h[d+8>>3]=+h[g>>3]-+h[b>>3]*.5;h[d+16>>3]=+h[j>>3]*.5+ +h[i>>3];h[d+24>>3]=+h[b>>3]*.5+ +h[g>>3];if(!(e&8192))xO(a,d,d,2)|0;if(!f)VG(d)}return}function GF(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0.0;o=l;l=l+96|0;g=o+80|0;i=o+32|0;j=o+16|0;k=o;f=c[d>>2]|0;while(1){m=a[f>>0]|0;if(!(m<<24>>24))break;if(!(A$(m&255)|0)){n=4;break}else f=f+1|0}if((n|0)==4){p=+h[d+24>>3];m=d+56|0;HF(i,+h[m>>3]+p*.5,+h[d+64>>3]-+h[d+32>>3]*.5);n=i+16|0;HF(j,+h[i>>3]-p,+h[i+8>>3]);c[n>>2]=c[j>>2];c[n+4>>2]=c[j+4>>2];c[n+8>>2]=c[j+8>>2];c[n+12>>2]=c[j+12>>2];n=i+32|0;c[g>>2]=c[m>>2];c[g+4>>2]=c[m+4>>2];c[g+8>>2]=c[m+8>>2];c[g+12>>2]=c[m+12>>2];aM(k,e,g);c[n>>2]=c[k>>2];c[n+4>>2]=c[k+4>>2];c[n+8>>2]=c[k+8>>2];c[n+12>>2]=c[k+12>>2];XO(b,c[(c[b>>2]|0)+336>>2]|0);TO(b,c[d+8>>2]|0);aP(b,i,3)}l=o;return}function HF(a,b,c){a=a|0;b=+b;c=+c;h[a>>3]=b;h[a+8>>3]=c;return}function IF(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0.0,i=0.0,j=0,k=0;d=c[a+16>>2]|0;e=c[a+152>>2]|0;if(e&4259840|0){f=e&131072;j=f>>>16^2;c[d+264>>2]=j;k=d+268|0;c[k>>2]=j+2;j=d+272|0;C_(c[j>>2]|0);d=tH(c[k>>2]<<4)|0;c[j>>2]=d;i=+h[b>>3];h[d>>3]=i+-3.0;g=+h[b+8>>3];h[d+8>>3]=g+-3.0;h[d+16>>3]=i+3.0;h[d+24>>3]=g+3.0;if(!(e&8192))xO(a,d,d,2)|0;if(!f)VG(d)}return}function JF(a,b,d,e,f,h,i){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;h=+h;i=+i;var j=0,k=0,m=0.0,n=0.0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0;J=l;l=l+256|0;D=J+224|0;C=J+208|0;j=J+192|0;F=J+144|0;G=J+96|0;H=J+48|0;E=J;k=J+240|0;e=SE(e,f,k)|0;if((e|0)>1){z=b+48|0;A=dz(c[((c[b>>2]&3|0)==3?b:z)+40>>2]|0)|0;z=qy(c[((c[b>>2]&3|0)==3?b:z)+40>>2]|0)|0;A=(dy(A)|0)!=0;B=qy(c[((c[b>>2]&3|0)==2?b:b+-48|0)+40>>2]|0)|0;c[j>>2]=z;c[j+4>>2]=A?97053:97058;c[j+8>>2]=B;Ow(3,97063,j)|0;if((e|0)==2)e=1;else I=4}else if((e|0)==1)e=1;else I=4;if((I|0)==4){B=b+16|0;r=c[k>>2]|0;s=r+8|0;t=H+4|0;u=F+8|0;v=F+12|0;w=(d|0)!=0;q=(d|0)==0;x=F+32|0;y=F+4|0;z=F+16|0;A=E+4|0;e=0;p=0;while(1){f=c[(c[B>>2]|0)+8>>2]|0;if((p|0)>=(c[f+4>>2]|0))break;j=F;f=(c[f>>2]|0)+(p*48|0)|0;b=j+48|0;do{c[j>>2]=c[f>>2];j=j+4|0;f=f+4|0}while((j|0)<(b|0));b=1;m=1.0;o=c[s>>2]|0;a:while(1){f=c[o>>2]|0;if(!f)break;k=o+4|0;n=+g[k>>2];do if(n<1.0e-05&n>-1.0e-05)f=b;else{TO(a,f);n=+g[k>>2];m=m-n;e=c[o>>2]|0;if(b|0){TF(F,n,H,E);k=c[H>>2]|0;$O(a,k,c[t>>2]|0,0,0,0);C_(k);if(m<1.0e-05&m>-1.0e-05){I=11;break a}else{f=0;break}}if(m<1.0e-05&m>-1.0e-05){I=13;break a}j=G;f=E;b=j+48|0;do{c[j>>2]=c[f>>2];j=j+4|0;f=f+4|0}while((j|0)<(b|0));n=+g[k>>2];TF(G,n/(m+n),H,E);C_(c[G>>2]|0);f=c[H>>2]|0;$O(a,f,c[t>>2]|0,0,0,0);C_(f);f=0}while(0);b=f;o=o+12|0}if((I|0)==11){I=0;C_(c[E>>2]|0)}else if((I|0)==13){I=0;o=c[E>>2]|0;$O(a,o,c[A>>2]|0,0,0,0);C_(o)}if(c[u>>2]|0){TO(a,c[c[s>>2]>>2]|0);VO(a,c[c[s>>2]>>2]|0);k=c[F>>2]|0;o=c[u>>2]|0;c[C>>2]=c[z>>2];c[C+4>>2]=c[z+4>>2];c[C+8>>2]=c[z+8>>2];c[C+12>>2]=c[z+12>>2];c[D>>2]=c[k>>2];c[D+4>>2]=c[k+4>>2];c[D+8>>2]=c[k+8>>2];c[D+12>>2]=c[k+12>>2];JE(a,2,C,D,h,i,o)}if(c[v>>2]|0){TO(a,e);VO(a,e);k=(c[F>>2]|0)+((c[y>>2]|0)+-1<<4)|0;o=c[v>>2]|0;c[C>>2]=c[x>>2];c[C+4>>2]=c[x+4>>2];c[C+8>>2]=c[x+8>>2];c[C+12>>2]=c[x+12>>2];c[D>>2]=c[k>>2];c[D+4>>2]=c[k+4>>2];c[D+8>>2]=c[k+8>>2];c[D+12>>2]=c[k+12>>2];JE(a,3,C,D,h,i,o)}do if((c[(c[(c[B>>2]|0)+8>>2]|0)+4>>2]|0)>1){if(!(c[u>>2]|0)){if(!(w&(c[v>>2]|0)!=0))break}else if(q)break;XO(a,d)}while(0);p=p+1|0}TE(r);e=0}l=J;return e|0}function KF(b,d){b=b|0;d=d|0;var e=0,f=0;e=1;a:while(1){switch(a[b>>0]|0){case 0:break a;case 58:{e=e+1|0;break}default:{}}b=b+1|0}f=O((V_(d)|0)+1|0,e)|0;b=f+10|0;if((c[46350]|0)<(f|0)){c[46350]=b;b=E_(c[46351]|0,b)|0;c[46351]=b}else b=c[46351]|0;a0(b,d)|0;while(1){e=e+-1|0;b=c[46351]|0;if(!e)break;f=b+(V_(b)|0)|0;a[f>>0]=58;a[f+1>>0]=0;o1(b,d)|0}return b|0}function LF(b){b=b|0;var d=0,e=0;d=c[46414]|0;a:do if(!d)e=7;else{d=xx(b,d)|0;switch(a[d>>0]|0){case 110:if(!(a$(d,132627)|0)){d=1;break a}else{e=7;break a}case 102:if(!(a$(d,97040)|0)){d=2;break a}else{e=7;break a}case 98:{if(!(a$(d,97048)|0)){d=3;break a}if(!(a$(d,108195)|0)){d=4;break a}else{e=7;break a}}default:{e=7;break a}}}while(0);if((e|0)==7){d=(dy(dz(c[((c[b>>2]&3|0)==2?b:b+-48|0)+40>>2]|0)|0)|0)!=0;d=d?2:1}return d|0}function MF(a){a=a|0;if(a|0){C_(c[a+8>>2]|0);C_(a)}return}function NF(a,b,c){a=a|0;b=b|0;c=c|0;var d=0.0,e=0.0,f=0.0;e=+h[b>>3]-+h[c>>3];f=+h[b+8>>3]-+h[c+8>>3];d=2.0/+C(+(e*e+.0001+f*f));h[a>>3]=d*f;h[a+8>>3]=-(e*d);return}function OF(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0.0,g=0.0,i=0.0,j=0.0;g=+h[c>>3]-+h[d>>3];i=+h[c+8>>3]-+h[d+8>>3];f=+C(+(i*i+g*g));if(f<.0001){j=+h[b>>3]-+h[e>>3];f=+h[b+8>>3]-+h[e+8>>3];i=f;g=j;f=+C(+(j*j+.0001+f*f))}j=2.0/f;h[a>>3]=i*j;h[a+8>>3]=-(j*g);return}function PF(a,b,c){a=+a;b=+b;c=+c;return +(c*.5*(1.0-a/b))}function QF(a,b,c){a=+a;b=+b;c=+c;return +(c*.5)}function RF(a,b,c){a=+a;b=+b;c=+c;return +(c*.5*(a/b))}function SF(a,b,c){a=+a;b=+b;c=+c;b=a/b;return +((!(b<=.5)?1.0-b:b)*c)}function TF(a,b,d,e){a=a|0;b=+b;d=d|0;e=e|0;var f=0.0,g=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0.0,r=0,s=0;p=l;l=l+16|0;o=p;n=c[a+4>>2]|0;j=(n+-1|0)/3|0;if((n+-4|0)>>>0<3){c[d+4>>2]=4;c[d>>2]=tH(64)|0;c[e+4>>2]=4;n=tH(64)|0;c[e>>2]=n;WL(o,c[a>>2]|0,3,b,c[d>>2]|0,n)}else{n=tH(j<<3)|0;g=0;i=c[a>>2]|0;f=0.0;while(1){if((g|0)>=(j|0))break;q=+UF(i);h[n+(g<<3)>>3]=q;g=g+1|0;i=i+48|0;f=q+f}b=f*b;m=0;f=0.0;while(1){if((j|0)<=(m|0))break;f=+h[n+(m<<3)>>3]+f;if(f>=b)break;m=m+1|0}k=m*3|0;g=k+4|0;i=d+4|0;c[i>>2]=g;c[d>>2]=tH(g<<4)|0;g=((j-m|0)*3|0)+1|0;j=e+4|0;c[j>>2]=g;c[e>>2]=tH(g<<4)|0;g=0;while(1){if((g|0)>=(c[i>>2]|0))break;r=(c[d>>2]|0)+(g<<4)|0;s=(c[a>>2]|0)+(g<<4)|0;c[r>>2]=c[s>>2];c[r+4>>2]=c[s+4>>2];c[r+8>>2]=c[s+8>>2];c[r+12>>2]=c[s+12>>2];g=g+1|0}g=g+-4|0;i=0;while(1){if((i|0)>=(c[j>>2]|0))break;s=(c[e>>2]|0)+(i<<4)|0;r=(c[a>>2]|0)+(g<<4)|0;c[s>>2]=c[r>>2];c[s+4>>2]=c[r+4>>2];c[s+8>>2]=c[r+8>>2];c[s+12>>2]=c[r+12>>2];g=g+1|0;i=i+1|0}q=+h[n+(m<<3)>>3];WL(o,(c[a>>2]|0)+(k<<4)|0,3,(b-f+q)/q,(c[d>>2]|0)+(k<<4)|0,c[e>>2]|0);C_(n)}l=p;return}function UF(a){a=a|0;var b=0.0,c=0.0,d=0.0,e=0.0,f=0.0;e=+h[a+16>>3];d=+h[a>>3]-e;f=+h[a+24>>3];b=+h[a+8>>3]-f;d=+C(+(b*b+d*d));b=+h[a+32>>3];e=e-b;c=+h[a+40>>3];f=f-c;d=+C(+(f*f+e*e))+d;b=b-+h[a+48>>3];c=c-+h[a+56>>3];return +(d+ +C(+(c*c+b*b)))}function VF(b,d){b=b|0;d=d|0;d=ez(d)|0;if((a[(c[d+16>>2]|0)+115>>0]|0)==1)d=QM(b)|0;else d=NM(b,d)|0;return aG(d)|0}function WF(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=+f;var g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;q=l;l=l+1664|0;m=q+1600|0;n=q+800|0;o=q;p=uH(24)|0;c[p+16>>2]=1;j=((c[e+4>>2]|0)+-1|0)/3|0;h=0;i=p;while(1){if((h|0)>=(j|0))break;k=h*3|0;g=0;while(1){if((g|0)==4)break;r=m+(g<<4)|0;s=(c[e>>2]|0)+(g+k<<4)|0;c[r>>2]=c[s>>2];c[r+4>>2]=c[s+4>>2];c[r+8>>2]=c[s+8>>2];c[r+12>>2]=c[s+12>>2];g=g+1|0}h=h+1|0;i=XF(m,i)|0}g=0;h=0;i=p;while(1){if(!i){h=p;g=p;break}j=c[i+16>>2]|0;k=n+(g<<4)|0;e=o+(g<<4)|0;YF(h,i,j,k,e,f);g=g+1|0;if(!((g|0)==50|(j|0)==0)){h=i;i=j;continue}ZF(a,b,d,g,n,o);c[n>>2]=c[k>>2];c[n+4>>2]=c[k+4>>2];c[n+8>>2]=c[k+8>>2];c[n+12>>2]=c[k+12>>2];c[o>>2]=c[e>>2];c[o+4>>2]=c[e+4>>2];c[o+8>>2]=c[e+8>>2];c[o+12>>2]=c[e+12>>2];h=i;g=1;i=j}while(1){if(!h)break;s=c[h+16>>2]|0;C_(g);h=s;g=s}l=q;return}function XF(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;g=l;l=l+144|0;f=g+128|0;d=g+64|0;e=g;if(!(YE(a)|0)){WL(f,a,3,.5,d,e);d=XF(e,XF(d,b)|0)|0}else{d=b+16|0;if((c[d>>2]|0)==1){c[d>>2]=0;c[b>>2]=c[a>>2];c[b+4>>2]=c[a+4>>2];c[b+8>>2]=c[a+8>>2];c[b+12>>2]=c[a+12>>2]}d=a+48|0;c[f>>2]=c[d>>2];c[f+4>>2]=c[d+4>>2];c[f+8>>2]=c[d+8>>2];c[f+12>>2]=c[d+12>>2];d=$F(f,b)|0}l=g;return d|0}function YF(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=+g;var i=0.0,j=0.0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0.0,t=0.0;r=l;l=l+96|0;n=r+80|0;m=r+64|0;k=r+48|0;o=r+32|0;p=r+16|0;q=r;c[o>>2]=c[b>>2];c[o+4>>2]=c[b+4>>2];c[o+8>>2]=c[b+8>>2];c[o+12>>2]=c[b+12>>2];do if(a){c[p>>2]=c[a>>2];c[p+4>>2]=c[a+4>>2];c[p+8>>2]=c[a+8>>2];c[p+12>>2]=c[a+12>>2];if(!d){i=+h[o>>3];h[q>>3]=i*2.0-+h[p>>3];j=+h[o+8>>3];h[q+8>>3]=j*2.0-+h[p+8>>3];break}else{c[q>>2]=c[d>>2];c[q+4>>2]=c[d+4>>2];c[q+8>>2]=c[d+8>>2];c[q+12>>2]=c[d+12>>2];i=+h[o>>3];j=+h[o+8>>3];break}}else{c[q>>2]=c[d>>2];c[q+4>>2]=c[d+4>>2];c[q+8>>2]=c[d+8>>2];c[q+12>>2]=c[d+12>>2];i=+h[o>>3];h[p>>3]=i*2.0-+h[q>>3];j=+h[o+8>>3];h[p+8>>3]=j*2.0-+h[q+8>>3]}while(0);c[k>>2]=c[p>>2];c[k+4>>2]=c[p+4>>2];c[k+8>>2]=c[p+8>>2];c[k+12>>2]=c[p+12>>2];c[m>>2]=c[o>>2];c[m+4>>2]=c[o+4>>2];c[m+8>>2]=c[o+8>>2];c[m+12>>2]=c[o+12>>2];c[n>>2]=c[q>>2];c[n+4>>2]=c[q+4>>2];c[n+8>>2]=c[q+8>>2];c[n+12>>2]=c[q+12>>2];t=+_F(k,m,n);s=+E(+t)*g;g=+F(+t)*g;h[e>>3]=i+s;h[e+8>>3]=j+g;h[f>>3]=i-s;h[f+8>>3]=j-g;l=r;return}function ZF(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0;i=e<<1;j=c[d>>2]|0;h=0;k=0;while(1){if((h|0)>=(j|0))break;l=(c[(c[b>>2]|0)+(h<<2)>>2]|0)+k|0;h=h+1|0;k=l}l=j+1|0;c[d>>2]=l;l=wH(c[b>>2]|0,l<<2)|0;c[b>>2]=l;c[l+(h<<2)>>2]=i;c[a>>2]=wH(c[a>>2]|0,k+i<<4)|0;b=i+-1+k|0;h=0;while(1){if((h|0)>=(e|0))break;l=(c[a>>2]|0)+(h+k<<4)|0;j=f+(h<<4)|0;c[l>>2]=c[j>>2];c[l+4>>2]=c[j+4>>2];c[l+8>>2]=c[j+8>>2];c[l+12>>2]=c[j+12>>2];l=(c[a>>2]|0)+(b-h<<4)|0;j=g+(h<<4)|0;c[l>>2]=c[j>>2];c[l+4>>2]=c[j+4>>2];c[l+8>>2]=c[j+8>>2];c[l+12>>2]=c[j+12>>2];h=h+1|0}return}function _F(a,b,c){a=a|0;b=b|0;c=c|0;var d=0.0,e=0.0,f=0.0;f=+h[b+8>>3];d=+h[b>>3];e=+K(+(+h[c+8>>3]-f),+(+h[c>>3]-d));d=+K(+(+h[a+8>>3]-f),+(+h[a>>3]-d));e=e-d;return +((e>0.0?e+-6.283185307179586:e)*.5+d)}function $F(a,b){a=a|0;b=b|0;var d=0;d=uH(24)|0;c[d+16>>2]=0;c[d>>2]=c[a>>2];c[d+4>>2]=c[a+4>>2];c[d+8>>2]=c[a+8>>2];c[d+12>>2]=c[a+12>>2];c[b+16>>2]=d;return d|0}function aG(b){b=b|0;var c=0,d=0,e=0,f=0,g=0;c=b;f=b;a:while(1){e=0;while(1){d=c;c=c+1|0;d=a[d>>0]|0;if(!(d<<24>>24))break a;if(e<<24>>24){g=5;break}if(d<<24>>24!=92)break;else e=1}b:do if((g|0)==5){g=0;switch(d<<24>>24|0){case 114:{d=13;break b}case 108:case 110:{d=10;break b}default:break b}}while(0);a[f>>0]=d;f=f+1|0}a[f>>0]=0;return b|0}function bG(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0;e=c[b>>2]|0;while(1){g=a[e>>0]|0;if(!(g<<24>>24)){f=0;break}f=g<<24>>24;if(!(g<<24>>24==44|(A$(f)|0)!=0)){h=5;break}e=e+1|0}a:do if((h|0)==5){switch(f|0){case 0:{f=0;break a}case 41:case 40:{e=e+1|0;break a}default:{}}h=d+4|0;i=d+8|0;while(1){if((cG(g<<24>>24)|0)<<24>>24){f=1;break a}f=c[h>>2]|0;if(f>>>0>=(c[i>>2]|0)>>>0){Tw(d,1)|0;f=c[h>>2]|0}c[h>>2]=f+1;a[f>>0]=g;f=e+1|0;e=f;g=a[f>>0]|0}}while(0);c[b>>2]=e;return f|0}function cG(a){a=a|0;switch(a|0){case 0:case 44:case 41:case 40:{a=1;break}default:a=0}return a|0}function dG(a,b){a=a|0;b=b|0;return eG(c[a>>2]|0,c[a+160>>2]|0,c[a+156>>2]|0,b)|0}function eG(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0;o=l;l=l+160|0;k=o+20|0;m=o+16|0;n=o;c[k>>2]=0;c[m>>2]=0;Sw(n,128,o+24|0);Vw(n,f)|0;g=n+4|0;f=c[g>>2]|0;if(f>>>0>=(c[n+8>>2]|0)>>>0){Tw(n,1)|0;f=c[g>>2]|0}a[f>>0]=0;h=c[n>>2]|0;c[g>>2]=h;i=b+300|0;j=b+296|0;f=0;g=h;a:while(1){if(f){f=1;break}f=l1(g,c[i>>2]|0,k)|0;if(!f){f=0;break}g=l1(f,c[j>>2]|0,m)|0;h=(g|0)!=0;if(h)f=l1(0,c[j>>2]|0,m)|0;else f=0;switch(((f|0)!=0&1)+(h&1)&3){case 2:{g=fG(b,g,0)|0;f=fG(b,f,e)|0;h=(g|0)>(f|0);f=(f&g|0)>-1&(((h?g:f)|0)>=(d|0)&((h?f:g)|0)<=(d|0));g=0;continue a}case 1:{f=(fG(b,g,d)|0)==(d|0);g=0;continue a}default:{f=0;g=0;continue a}}}Ww(n);l=o;return f|0}function fG(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0;h=a[d>>0]|0;if(!(h<<24>>24==97?(a$(d,97370)|0)==0:0))f=3;a:do if((f|0)==3){if((gG(d)|0)<<24>>24){e=$1(d)|0;break}g=c[b+308>>2]|0;if(!g)e=-1;else{b=c[b+312>>2]|0;e=1;while(1){if((e|0)>(b|0)){e=-1;break a}f=c[g+(e<<2)>>2]|0;if(h<<24>>24==(a[f>>0]|0)?(a$(d,f)|0)==0:0)break a;e=e+1|0}}}while(0);return e|0}function gG(b){b=b|0;var c=0;while(1){c=a[b>>0]|0;if(!(c<<24>>24)){b=1;break}if(((c&255)+-48|0)>>>0<10)b=b+1|0;else{b=0;break}}return b|0}function hG(a,b){a=a|0;b=b|0;if((+h[a+16>>3]>=+h[b>>3]?+h[b+16>>3]>=+h[a>>3]:0)?+h[a+24>>3]>=+h[b+8>>3]:0)a=+h[b+24>>3]>=+h[a+8>>3]&1;else a=0;return a|0}function iG(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0;a:do if((c[b+156>>2]|0)>=2?(f=ML(e,c[46397]|0,191979)|0,(dG(b,f)|0)<<24>>24==0):0)if(!(a[f>>0]|0))if(!(Ix(d,e)|0))f=1;else{f=Ix(d,e)|0;while(1){if(!f){f=0;break a}g=ML(f,c[46420]|0,191979)|0;if(!(a[g>>0]|0)){f=1;break a}if((dG(b,g)|0)<<24>>24){f=1;break a}f=Jx(d,f,e)|0}}else f=0;else f=1;while(0);return f|0}function jG(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=l;l=l+64|0;e=d+32|0;f=d;a=(c[a+16>>2]|0)+48|0;c[f>>2]=c[a>>2];c[f+4>>2]=c[a+4>>2];c[f+8>>2]=c[a+8>>2];c[f+12>>2]=c[a+12>>2];c[f+16>>2]=c[a+16>>2];c[f+20>>2]=c[a+20>>2];c[f+24>>2]=c[a+24>>2];c[f+28>>2]=c[a+28>>2];c[e>>2]=c[b>>2];c[e+4>>2]=c[b+4>>2];c[e+8>>2]=c[b+8>>2];c[e+12>>2]=c[b+12>>2];c[e+16>>2]=c[b+16>>2];c[e+20>>2]=c[b+20>>2];c[e+24>>2]=c[b+24>>2];c[e+28>>2]=c[b+28>>2];b=(hG(f,e)|0)&255;l=d;return b|0}function kG(a,d){a=a|0;d=d|0;var f=0.0,g=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0.0,r=0,s=0,t=0,u=0.0,v=0.0;r=c[a+152>>2]|0;s=ME(a)|0;c[s+4>>2]=2;c[s+8>>2]=d;c[s+12>>2]=8;if(r&16777216|0){if((e[(c[(dz(d)|0)+16>>2]|0)+178>>1]|0)>2){f=+h[(c[(c[d+16>>2]|0)+132>>2]|0)+16>>3]*72.0;f=+(~~(f+(f>=0.0?.5:-.5))|0)}else f=0.0;h[s+168>>3]=f}k=d+16|0;mG(a,c[(c[k>>2]|0)+104>>2]|0,d);do if(r&4259840|0){if((c[s+208>>2]|0)==0?(b[s+260>>1]&1)==0:0)break;p=GJ(d)|0;l=c[k>>2]|0;f=+h[l+16>>3];q=+h[l+24>>3];l=nG(d)|0;a:do if((p|2|0)==3){n=c[(c[k>>2]|0)+12>>2]|0;if(!((oG(n)|0)<<24>>24))g=0;else g=(c[n+4>>2]|l|0)!=0;if(!((r&524288|0)==0|((n|0)==0|g))){i=n+8|0;o=c[i>>2]|0;o=(o|0)<3?1:o;j=n+4|0;m=c[j>>2]|0;m=(m|0)>1?m:1;p=c[n+44>>2]|0;g=wx(d,99679)|0;if(!g)g=0;else g=$1(g)|0;g=(g+-4|0)>>>0>56?20:g;if(!(c[j>>2]|l)){c[s+264>>2]=0;i=tH(32)|0;g=c[k>>2]|0;v=+h[g+88>>3];h[i>>3]=f-v;u=+h[g+80>>3]*.5;h[i+8>>3]=q-u;h[i+16>>3]=v+f;h[i+24>>3]=u+q;g=2;break}i=c[i>>2]|0;if(((i|0)<3?+h[n+32>>3]==0.0:0)?+h[n+24>>3]==0.0:0){i=s+264|0;if(c[n>>2]|0){c[i>>2]=1;i=tH(32)|0;h[i>>3]=f;h[i+8>>3]=q;g=(m<<1)+-1|0;h[i+16>>3]=+h[p+(g<<4)>>3]+f;h[i+24>>3]=+h[p+(g<<4)+8>>3]+q;g=2;break}c[i>>2]=2;i=(m<<1)+-1|0;i=pG(+h[p+(i<<4)>>3],+h[p+(i<<4)+8>>3],g)|0;j=0;while(1){if((j|0)>=(g|0))break a;p=i+(j<<4)|0;h[p>>3]=+h[p>>3]+f;p=i+(j<<4)+8|0;h[p>>3]=+h[p>>3]+q;j=j+1|0}}m=O(i,m+-1|0)|0;c[s+264>>2]=2;if((i|0)<(g|0)){i=tH(o<<4)|0;g=0;while(1){if((g|0)>=(o|0)){g=o;break a}n=g+m|0;h[i+(g<<4)>>3]=+h[p+(n<<4)>>3]+f;h[i+(g<<4)+8>>3]=+h[p+(n<<4)+8>>3]+q;g=g+1|0}}else{l=(i|0)/(g|0)|0;i=tH(g<<4)|0;j=0;k=0;while(1){if((j|0)>=(g|0))break a;o=k+m|0;h[i+(j<<4)>>3]=+h[p+(o<<4)>>3]+f;h[i+(j<<4)+8>>3]=+h[p+(o<<4)+8>>3]+q;j=j+1|0;k=k+l|0}}}else t=31}else t=31;while(0);if((t|0)==31){c[s+264>>2]=0;i=tH(32)|0;g=c[k>>2]|0;h[i>>3]=f-+h[g+88>>3];v=+h[g+80>>3]*.5;h[i+8>>3]=q-v;h[i+16>>3]=+h[g+96>>3]+f;h[i+24>>3]=v+q;g=2}if(!(r&8192))xO(a,i,i,g)|0;c[s+272>>2]=i;c[s+268>>2]=g}while(0);pQ(wx(d,97006)|0);KO(a,d);return}function lG(a){a=a|0;LO(a);NE(a);return}function mG(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,m=0;m=l;l=l+144|0;j=m;f=wx(e,137973)|0;i=wx(e,138019)|0;k=wx(e,138006)|0;Sw(j,128,m+16|0);if(!d)h=0;else h=c[d>>2]|0;if(!((f|0)!=0?(a[f>>0]|0)!=0:0))f=wx(e,108395)|0;g=PE(b,e,j)|0;if(!i)d=0;else d=VF(i,e)|0;OE(b,h,f,d,k,g,e)|0;C_(d);Ww(j);l=m;return}function nG(b){b=b|0;var d=0,e=0;b=NL(b,c[46387]|0,191979)|0;a:do if(!(a[b>>0]|0))b=0;else{zF(b)|0;b=0;d=185144;while(1){e=c[d>>2]|0;if(!e)break a;e=(a$(e,108075)|0)==0;b=e?1:b;d=d+4|0}}while(0);return b|0}function oG(a){a=a|0;var b=0.0;if(((c[a+8>>2]|0)==4?(b=+h[a+16>>3],((~~(b+(b>=0.0?.5:-.5))|0)%90|0|0)==0):0)?+h[a+24>>3]==0.0:0)a=+h[a+32>>3]==0.0&1;else a=0;return a|0}function pG(a,b,c){a=+a;b=+b;c=c|0;var d=0.0,e=0,f=0.0,g=0;f=6.283185307179586/+(c|0);g=tH(c<<4)|0;d=0.0;e=0;while(1){if((e|0)>=(c|0))break;h[g+(e<<4)>>3]=+E(+d)*a;h[g+(e<<4)+8>>3]=+F(+d)*b;d=d+f;e=e+1|0}return g|0}function qG(b,d){b=b|0;d=d|0;var e=0;a:do if((c[b+156>>2]|0)>=2?(e=ML(d,mx(d,0,98484,0)|0,191979)|0,(dG(b,e)|0)<<24>>24==0):0)if(!(a[e>>0]|0)){e=Ry(d)|0;while(1){if(!e){e=0;break a}if((iG(b,d,e)|0)<<24>>24){e=1;break a}e=Sy(d,e)|0}}else e=0;else e=1;while(0);return e|0}function rG(a,b){a=a|0;b=b|0;var d=0;d=ME(a)|0;c[d+4>>2]=1;c[d+8>>2]=b;c[d+12>>2]=1;mG(a,c[(c[b+16>>2]|0)+12>>2]|0,b);EO(a,b);return}function sG(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0;b=wx(b,138e3)|0;a:do if((b|0)!=0?(a[b>>0]|0)!=0:0){zF(b)|0;e=185144;b=0;while(1){while(1){f=c[e>>2]|0;if(!f){e=185144;break a}if(!(a$(f,108075)|0)){g=10;break}if(!(a$(f,103308)|0)){f=e;g=12;break}if(!(a$(f,103315)|0)){f=e;g=14;break}if(!(a$(f,103290)|0)){f=e;g=16;break}e=e+4|0}if((g|0)==10){e=e+4|0;b=b|1;continue}else if((g|0)==12){while(1){h=f;f=f+4|0;g=c[f>>2]|0;c[h>>2]=g;if(!g)break;else g=12}b=b|3;continue}else if((g|0)==14){while(1){g=f;f=f+4|0;h=c[f>>2]|0;c[g>>2]=h;if(!h)break;else g=14}b=b|64;continue}else if((g|0)==16){while(1){g=f;f=f+4|0;h=c[f>>2]|0;c[g>>2]=h;if(!h)break;else g=16}b=b|4;continue}}}else{e=0;b=0}while(0);c[d>>2]=b;return e|0}function tG(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,h=0,i=0,j=0,k=0,m=0;k=l;l=l+16|0;i=k;j=k+4|0;c[j>>2]=0;m=(SE(b,0,j)|0)==0;j=c[j>>2]|0;if((m?(f=c[j>>2]|0,(f|0)>=2):0)?(h=j+8|0,(c[c[h>>2]>>2]|0)!=0):0){if((f|0)>2)Ow(0,97389,i)|0;m=uH((V_(b)|0)+1|0)|0;c[d>>2]=m;a0(m,c[c[h>>2]>>2]|0)|0;if(!(c[(c[h>>2]|0)+12>>2]|0))c[d+4>>2]=0;else{m=c[d>>2]|0;m=m+((V_(m)|0)+1)|0;c[d+4>>2]=m;a0(m,c[(c[h>>2]|0)+12>>2]|0)|0}b=c[h>>2]|0;do if(!(a[b+8>>0]|0))if(!(a[b+20>>0]|0)){g[e>>2]=0.0;break}else{g[e>>2]=1.0-+g[b+16>>2];break}else c[e>>2]=c[b+4>>2];while(0);TE(j);b=1}else{c[d>>2]=0;TE(j);b=0}l=k;return b|0}function uG(a,b){a=a|0;b=b|0;FO(a,b);NE(a);return}function vG(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,i=0,j=0,k=0.0,m=0.0,n=0,o=0.0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0;x=l;l=l+96|0;p=x+48|0;s=x+16|0;w=x+8|0;v=x;t=x+80|0;c[t>>2]=1e3;f=uH(16e3)|0;u=a+256|0;e=1;j=1;i=0;q=0;r=c[b+8>>2]|0;while(1){if((q|0)>=(c[b>>2]|0))break;d=c[r>>2]|0;a:do switch(d|0){case 1:case 0:{n=r+80|0;c[s>>2]=c[n>>2];c[s+4>>2]=c[n+4>>2];c[s+8>>2]=c[n+8>>2];c[s+12>>2]=c[n+12>>2];c[s+16>>2]=c[n+16>>2];c[s+20>>2]=c[n+20>>2];c[s+24>>2]=c[n+24>>2];c[s+28>>2]=c[n+28>>2];c[p>>2]=c[u>>2];c[p+4>>2]=c[u+4>>2];c[p+8>>2]=c[u+8>>2];c[p+12>>2]=c[u+12>>2];c[p+16>>2]=c[u+16>>2];c[p+20>>2]=c[u+20>>2];c[p+24>>2]=c[u+24>>2];c[p+28>>2]=c[u+28>>2];if(!(hG(s,p)|0))d=j;else{z=r+8|0;A=r+24|0;h[f>>3]=+h[z>>3]-+h[A>>3];n=r+16|0;y=r+32|0;h[f+8>>3]=+h[n>>3]-+h[y>>3];h[f+16>>3]=+h[A>>3]+ +h[z>>3];h[f+24>>3]=+h[y>>3]+ +h[n>>3];YO(a,f,2,(d|0)==0?j:0);d=j}break}case 3:case 2:{A=r+80|0;c[s>>2]=c[A>>2];c[s+4>>2]=c[A+4>>2];c[s+8>>2]=c[A+8>>2];c[s+12>>2]=c[A+12>>2];c[s+16>>2]=c[A+16>>2];c[s+20>>2]=c[A+20>>2];c[s+24>>2]=c[A+24>>2];c[s+28>>2]=c[A+28>>2];c[p>>2]=c[u>>2];c[p+4>>2]=c[u+4>>2];c[p+8>>2]=c[u+8>>2];c[p+12>>2]=c[u+12>>2];c[p+16>>2]=c[u+16>>2];c[p+20>>2]=c[u+20>>2];c[p+24>>2]=c[u+24>>2];c[p+28>>2]=c[u+28>>2];if(!(hG(s,p)|0))d=j;else{d=r+8|0;f=wG(f,t,c[d+4>>2]|0,c[d>>2]|0)|0;ZO(a,f,c[d>>2]|0,(c[r>>2]|0)==2?j:0);d=j}break}case 5:case 4:{A=r+80|0;c[s>>2]=c[A>>2];c[s+4>>2]=c[A+4>>2];c[s+8>>2]=c[A+8>>2];c[s+12>>2]=c[A+12>>2];c[s+16>>2]=c[A+16>>2];c[s+20>>2]=c[A+20>>2];c[s+24>>2]=c[A+24>>2];c[s+28>>2]=c[A+28>>2];c[p>>2]=c[u>>2];c[p+4>>2]=c[u+4>>2];c[p+8>>2]=c[u+8>>2];c[p+12>>2]=c[u+12>>2];c[p+16>>2]=c[u+16>>2];c[p+20>>2]=c[u+20>>2];c[p+24>>2]=c[u+24>>2];c[p+28>>2]=c[u+28>>2];if(!(hG(s,p)|0))d=j;else{d=r+8|0;f=wG(f,t,c[d+4>>2]|0,c[d>>2]|0)|0;$O(a,f,c[d>>2]|0,0,0,(c[r>>2]|0)==4?j&255:0);d=j}break}case 6:{A=r+80|0;c[s>>2]=c[A>>2];c[s+4>>2]=c[A+4>>2];c[s+8>>2]=c[A+8>>2];c[s+12>>2]=c[A+12>>2];c[s+16>>2]=c[A+16>>2];c[s+20>>2]=c[A+20>>2];c[s+24>>2]=c[A+24>>2];c[s+28>>2]=c[A+28>>2];c[p>>2]=c[u>>2];c[p+4>>2]=c[u+4>>2];c[p+8>>2]=c[u+8>>2];c[p+12>>2]=c[u+12>>2];c[p+16>>2]=c[u+16>>2];c[p+20>>2]=c[u+20>>2];c[p+24>>2]=c[u+24>>2];c[p+28>>2]=c[u+28>>2];if(!(hG(s,p)|0))d=j;else{d=r+8|0;f=wG(f,t,c[d+4>>2]|0,c[d>>2]|0)|0;aP(a,f,c[d>>2]|0);d=j}break}case 7:{A=r+80|0;c[s>>2]=c[A>>2];c[s+4>>2]=c[A+4>>2];c[s+8>>2]=c[A+8>>2];c[s+12>>2]=c[A+12>>2];c[s+16>>2]=c[A+16>>2];c[s+20>>2]=c[A+20>>2];c[s+24>>2]=c[A+24>>2];c[s+28>>2]=c[A+28>>2];c[p>>2]=c[u>>2];c[p+4>>2]=c[u+4>>2];c[p+8>>2]=c[u+8>>2];c[p+12>>2]=c[u+12>>2];c[p+16>>2]=c[u+16>>2];c[p+20>>2]=c[u+20>>2];c[p+24>>2]=c[u+24>>2];c[p+28>>2]=c[u+28>>2];if(!(hG(s,p)|0))d=j;else{h[f>>3]=+h[r+8>>3];h[f+8>>3]=+h[r+16>>3];d=c[r+112>>2]|0;c[p>>2]=c[f>>2];c[p+4>>2]=c[f+4>>2];c[p+8>>2]=c[f+8>>2];c[p+12>>2]=c[f+12>>2];SO(a,p,d);d=j}break}case 8:{VO(a,c[r+8>>2]|0);d=1;break}case 9:{TO(a,c[r+8>>2]|0);d=1;break}case 13:{if((c[r+8>>2]|0)!=2){d=r+16|0;z=c[d+36>>2]|0;A=c[z+12>>2]|0;o=+g[z+8>>2];d=~~(+K(+(+h[r+40>>3]-+h[r+24>>3]),+(+h[r+32>>3]-+h[d>>3]))*57.29577951308232);VO(a,c[z+4>>2]|0);WO(a,A,d,o);d=2;break a}A=c[r+68>>2]|0;j=c[A+4>>2]|0;n=c[A+12>>2]|0;o=+g[A+8>>2];k=+h[r+40>>3];m=+h[r+16>>3];if(k==m?+h[r+48>>3]==+h[r+24>>3]:0)d=0;else d=~~(+H(+((m-k)/+h[r+32>>3]))*57.29577951308232);VO(a,j);WO(a,n,d,o);d=3;break}case 14:{Ow(0,97455,v)|0;d=j;break}case 12:{if(!e){e=0;d=j}else{Ow(0,97495,w)|0;e=0;d=j}break}case 11:{zF(c[r+8>>2]|0)|0;XO(a,185144);i=185144;d=j;break}default:d=j}while(0);j=d;q=q+1|0;r=r+120|0}if(i|0)XO(a,c[(c[a>>2]|0)+336>>2]|0);C_(f);l=x;return}function wG(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0;g=c[b>>2]|0;f=g<<1;f=(f|0)>(e|0)?f:e;if((g|0)<(e|0)){a=wH(a,f<<4)|0;c[b>>2]=f}b=0;while(1){if((b|0)>=(e|0))break;h[a+(b<<4)>>3]=+h[d+(b*24|0)>>3];h[a+(b<<4)+8>>3]=+h[d+(b*24|0)+8>>3];b=b+1|0}return a|0}function xG(a,b){a=a|0;b=b|0;var d=0;d=c[b>>2]|0;c[a>>2]=c[b+4>>2];c[a+4>>2]=d;return}function yG(b,d){b=b|0;d=d|0;var e=0,f=0,g=0;g=d+16|0;f=1;while(1){d=c[g>>2]|0;if((f|0)>(c[d+180>>2]|0))break;e=c[(c[d+184>>2]|0)+(f<<2)>>2]|0;yG(b,e);d=wx(e,137741)|0;if(d|0?a[d>>0]|0:0)TO(b,d);d=wx(e,134647)|0;if(d|0?a[d>>0]|0:0)TO(b,d);d=wx(e,137895)|0;if(d|0?a[d>>0]|0:0)TO(b,d);d=wx(e,98392)|0;if(d|0?a[d>>0]|0:0)VO(b,d);d=wx(e,98420)|0;if(d|0?a[d>>0]|0:0)TO(b,d);f=f+1|0}return}function zG(a){a=a|0;var b=0,d=0,e=0;b=c[46356]|0;if(!b){b=Bw(20524,c[4555]|0)|0;c[46356]=b}if(!(nb[c[b>>2]&63](b,a,4)|0)){d=c[46356]|0;e=c[d>>2]|0;b=m1(a)|0;nb[e&63](d,b,1)|0;b=1}else b=0;return b|0}function AG(a,b,c){a=a|0;b=b|0;c=c|0;C_(b);return}function BG(a){a=a|0;var b=0;b=c[46357]|0;if(!a){if((b|0)>0?(b=b+-1|0,c[46357]=b,(b|0)==0):0){I0(1,c[46358]|0)|0;C_(c[46358]|0)}}else{c[46357]=b+1;if(!b){c[46358]=m1(I0(1,0)|0)|0;I0(1,150481)|0}}return}function CG(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0.0;u=l;l=l+96|0;r=u+72|0;q=u+56|0;p=u+48|0;t=u+32|0;s=u+24|0;e=u+8|0;d=u;if(0)DL();do if((zz(b,134401,0,1)|0)!=0?(o=b+16|0,(c[(c[o>>2]|0)+8>>2]|0)!=0):0){DG(b);EG(a,b);FG(a,b);BG(1);j=a+56|0;k=a+184|0;m=a+192|0;n=a+28|0;i=oC(a)|0;a:while(1){if(!i){g=33;break}d=c[j>>2]|0;if(!d){c[i+20>>2]=0;d=0}else{c[i+20>>2]=c[d+8>>2];d=c[d+12>>2]|0}c[i+24>>2]=d;c[i+12>>2]=a;c[i+28>>2]=c[k>>2];c[i+620>>2]=25660;c[i+624>>2]=14;if(!(c[(c[o>>2]|0)+8>>2]|0)){g=13;break}e=i+52|0;g=tO(i,c[e>>2]|0)|0;c[i+56>>2]=g;switch(g|0){case 999:{g=16;break a}case 21:{d=1;break}case 24:{d=520;break}default:d=GG(b)|0}f=i+152|0;c[f>>2]=c[f>>2]|d;d=c[m>>2]|0;do if(!d)g=24;else{if(c[d+152>>2]&32|0?(a$(c[e>>2]|0,c[d+52>>2]|0)|0)==0:0){d=c[46359]|0;if(!d){g=27;break}c[d+8>>2]=i;c[i+36>>2]=c[d+36>>2];g=29;break}vO(d);c[m>>2]=0;c[n>>2]=0;g=24}while(0);if((g|0)==24){c[46359]=0;g=27}if((g|0)==27?(g=0,(uO(i)|0)==0):0){c[m>>2]=i;g=29}if((g|0)==29){c[i+8>>2]=0;c[i+104>>2]=25772;HG(i);IG(i);JG(i,b);KG(i,b);LG(i,b);if(!(c[f>>2]&128))cF(i,b);c[46359]=i}i=pC(a)|0}if((g|0)==13){Ow(1,97653,s)|0;BG(0);if(!0){d=-1;break}d=c[15686]|0;s=qy(b)|0;v=+EL();c[t>>2]=s;h[t+8>>3]=v;f1(d,97624,t)|0;d=-1;break}else if((g|0)==16){c[p>>2]=c[e>>2];Ow(1,97674,p)|0;BG(0);if(!0){d=-1;break}d=c[15686]|0;t=qy(b)|0;v=+EL();c[q>>2]=t;h[q+8>>3]=v;f1(d,97624,q)|0;d=-1;break}else if((g|0)==33){BG(0);if(!0){d=0;break}d=c[15686]|0;t=qy(b)|0;v=+EL();c[r>>2]=t;h[r+8>>3]=v;f1(d,97624,r)|0;d=0;break}}else g=5;while(0);if((g|0)==5){Ow(1,97576,d)|0;if(!0)d=-1;else{d=c[15686]|0;t=qy(b)|0;v=+EL();c[e>>2]=t;h[e+8>>3]=v;f1(d,97624,e)|0;d=-1}}l=u;return d|0}function DG(a){a=a|0;var b=0;b=Ry(a)|0;while(1){if(!b)break;QG(a,b);b=Sy(a,b)|0}return}function EG(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0.0;o=l;l=l+32|0;k=o+24|0;f=o+16|0;j=o+8|0;n=o;c[b+168>>2]=d;g=b+293|0;a[g>>0]=0;e=wx(d,102470)|0;if(e|0?(c[f>>2]=j,c[f+4>>2]=n,i=M1(e,102477,f)|0,(i|0)>0):0){p=+h[j>>3]*72.0;e=b+208|0;h[e>>3]=p;h[b+200>>3]=p;if((i|0)!=1)h[e>>3]=+h[n>>3]*72.0;a[g>>0]=1}f=b+292|0;a[f>>0]=0;e=wx(d,98076)|0;if(e|0?(c[k>>2]=j,c[k+4>>2]=n,m=M1(e,102477,k)|0,(m|0)>0):0){p=+h[j>>3]*72.0;e=b+224|0;h[e>>3]=p;h[b+216>>3]=p;if((m|0)!=1)h[e>>3]=+h[n>>3]*72.0;a[f>>0]=1}e=b+294|0;a[e>>0]=0;f=b+232|0;g=d+16|0;n=(c[(c[g>>2]|0)+8>>2]|0)+48|0;c[f>>2]=c[n>>2];c[f+4>>2]=c[n+4>>2];c[f+8>>2]=c[n+8>>2];c[f+12>>2]=c[n+12>>2];f=c[(c[g>>2]|0)+8>>2]|0;if(+h[f+48>>3]>.001?+h[f+56>>3]>.001:0)a[e>>0]=1;c[b+288>>2]=a[f+81>>0]|0?90:0;e=b+196|0;c[e>>2]=98080;f=wx(d,98083)|0;if(f|0?a[f>>0]|0:0)c[e>>2]=f;n=b+256|0;m=(c[g>>2]|0)+16|0;c[n>>2]=c[m>>2];c[n+4>>2]=c[m+4>>2];c[n+8>>2]=c[m+8>>2];c[n+12>>2]=c[m+12>>2];c[n+16>>2]=c[m+16>>2];c[n+20>>2]=c[m+20>>2];c[n+24>>2]=c[m+24>>2];c[n+28>>2]=c[m+28>>2];c[46371]=mx(d,0,98446,0)|0;c[46372]=mx(d,0,98437,0)|0;c[b+320>>2]=NL(0,c[46381]|0,104968)|0;h[b+328>>3]=+KL(0,c[46380]|0,14.0,1.0);c[b+336>>2]=20560;c[b+188>>2]=qy(d)|0;l=o;return}function FG(b,d){b=b|0;d=d|0;var e=0,f=0,g=0;e=b+304|0;f=c[e>>2]|0;if(f|0){C_(f);c[e>>2]=0}f=b+308|0;e=c[f>>2]|0;if(e|0){C_(e);c[f>>2]=0}g=b+316|0;e=c[g>>2]|0;if(e|0){C_(e);c[g>>2]=0}e=wx(d,97827)|0;if(e){c[b+312>>2]=OG(b,d,e)|0;e=wx(d,97834)|0;if(e|0?a[e>>0]|0:0)c[g>>2]=PG(b,e)|0}else{c[f>>2]=0;c[b+312>>2]=1}return}function GG(b){b=b|0;b=wx(b,97795)|0;a:do if(!b)b=0;else switch(a[b>>0]|0){case 110:{if(!(a$(b+1|0,97807)|0))b=1;else{b=0;break a}break}case 101:{if(!(a$(b+1|0,97817)|0))b=16;else{b=0;break a}break}default:{b=0;break a}}while(0);return b|0}function HG(b){b=b|0;var d=0.0,e=0;e=c[b>>2]|0;if(!(a[e+292>>0]|0)){if((c[b+56>>2]|0)==300)d=+h[(c[b+68>>2]|0)+8>>3];else d=4.0;h[b+248>>3]=d;h[b+240>>3]=d}else{b=b+240|0;e=e+216|0;c[b>>2]=c[e>>2];c[b+4>>2]=c[e+4>>2];c[b+8>>2]=c[e+8>>2];c[b+12>>2]=c[e+12>>2]}return}function IG(b){b=b|0;var d=0;d=c[b>>2]|0;a:do if(!(a[d+293>>0]|0))switch(c[b+56>>2]|0){case 300:{d=b+416|0;b=(c[b+84>>2]|0)+8|0;c[d>>2]=c[b>>2];c[d+4>>2]=c[b+4>>2];c[d+8>>2]=c[b+8>>2];c[d+12>>2]=c[b+12>>2];break a}case 30:case 21:case 22:case 4:case 3:case 2:{h[b+424>>3]=36.0;h[b+416>>3]=36.0;break a}default:{d=b+416|0;c[d>>2]=0;c[d+4>>2]=0;c[d+8>>2]=0;c[d+12>>2]=0;break a}}else{b=b+416|0;d=d+200|0;c[b>>2]=c[d>>2];c[b+4>>2]=c[d+4>>2];c[b+8>>2]=c[d+8>>2];c[b+12>>2]=c[d+12>>2]}while(0);return}function JG(b,d){b=b|0;d=d|0;var e=0.0,f=0;f=c[(c[b>>2]|0)+192>>2]|0;e=+h[(c[(c[d+16>>2]|0)+8>>2]|0)+24>>3];do if(!(e!=0.0)){if(f|0?a[f+128>>0]|0:0){b=b+432|0;f=f+112|0;c[b>>2]=c[f>>2];c[b+4>>2]=c[f+4>>2];c[b+8>>2]=c[f+8>>2];c[b+12>>2]=c[f+12>>2];break}d=b+432|0;if((c[b+56>>2]|0)==300){b=(c[b+84>>2]|0)+40|0;c[d>>2]=c[b>>2];c[d+4>>2]=c[b+4>>2];c[d+8>>2]=c[b+8>>2];c[d+12>>2]=c[b+12>>2];break}else{h[b+440>>3]=96.0;h[d>>3]=96.0;break}}else{h[b+440>>3]=e;h[b+432>>3]=e}while(0);return}function KG(b,d){b=b|0;d=d|0;var e=0.0,f=0.0,g=0,i=0.0,j=0.0,k=0.0,m=0,n=0,o=0.0,p=0.0,q=0.0,r=0.0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0;A=l;l=l+112|0;t=A+80|0;u=A+56|0;s=A+40|0;v=A+32|0;w=A+24|0;x=A+16|0;y=A+8|0;z=A;m=c[b>>2]|0;o=+h[m+272>>3];q=+h[m+280>>3];p=+h[m+256>>3];r=+h[m+264>>3];f=+h[b+240>>3];e=p-f;h[b+208>>3]=e;i=+h[b+248>>3];j=r-i;h[b+216>>3]=j;f=f+o;h[b+224>>3]=f;i=i+q;h[b+232>>3]=i;e=f-e;j=i-j;h[x>>3]=1.0;g=c[(c[d+16>>2]|0)+8>>2]|0;i=+h[g+64>>3];do if(i>.001?(k=+h[g+72>>3],k>.001):0){e=e==0.0?i:e;f=j==0.0?k:j;if(!(if&(i>e&(a[g+80>>0]|0)!=0)):0){k=e;j=f;i=1.0;break}n=i/e>3]=i;k=e;j=f}else{k=e;i=1.0}while(0);f=(p+o)*.5;h[y>>3]=f;e=(r+q)*.5;h[z>>3]=e;c[b+360>>2]=c[m+288>>2];k=i*k;h[v>>3]=k;j=i*j;h[w>>3]=j;g=wx(d,97726)|0;if(g){m=B_((V_(g)|0)+1|0)|0;n=B_((V_(g)|0)+1|0)|0;c[s>>2]=v;c[s+4>>2]=w;c[s+8>>2]=x;c[s+12>>2]=m;do if((M1(g,97735,s)|0)==4){g=$y(c[d+60>>2]|0,m,0)|0;if(g|0){u=c[g+16>>2]|0;h[y>>3]=+h[u+16>>3];h[z>>3]=+h[u+24>>3]}}else{c[u>>2]=v;c[u+4>>2]=w;c[u+8>>2]=x;c[u+12>>2]=m;c[u+16>>2]=n;if((M1(g,97755,u)|0)!=4){c[t>>2]=v;c[t+4>>2]=w;c[t+8>>2]=x;c[t+12>>2]=y;c[t+16>>2]=z;M1(g,97775,t)|0;break}g=$y(c[d+60>>2]|0,m,0)|0;if(g|0){u=c[g+16>>2]|0;h[y>>3]=+h[u+16>>3];h[z>>3]=+h[u+24>>3]}}while(0);C_(m);C_(n);k=+h[v>>3];j=+h[w>>3];i=+h[x>>3];f=+h[y>>3];e=+h[z>>3]}h[b+368>>3]=k;h[b+376>>3]=j;h[b+352>>3]=i;h[b+336>>3]=f;h[b+344>>3]=e;l=A;return}function LG(b,d){b=b|0;d=d|0;var e=0,f=0,g=0.0,i=0.0,j=0,k=0.0,m=0.0,n=0.0,o=0.0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0.0,P=0.0,Q=0.0;M=l;l=l+224|0;J=M+200|0;z=M+168|0;E=M+144|0;I=M+120|0;F=M+96|0;G=M+64|0;e=M+184|0;v=M+176|0;w=M+160|0;y=M+136|0;x=M+112|0;A=M+80|0;B=M+48|0;C=M+32|0;D=M+16|0;K=M+8|0;L=M;u=c[b>>2]|0;c[G>>2]=0;c[G+4>>2]=0;c[G+8>>2]=0;c[G+12>>2]=0;H=b+368|0;c[I>>2]=c[H>>2];c[I+4>>2]=c[H+4>>2];c[I+8>>2]=c[H+8>>2];c[I+12>>2]=c[H+12>>2];H=b+360|0;if(c[H>>2]|0){c[J>>2]=c[I>>2];c[J+4>>2]=c[I+4>>2];c[J+8>>2]=c[I+8>>2];c[J+12>>2]=c[I+12>>2];MG(e,J);c[I>>2]=c[e>>2];c[I+4>>2]=c[e+4>>2];c[I+8>>2]=c[e+8>>2];c[I+12>>2]=c[e+12>>2]}t=b+416|0;c[F>>2]=c[t>>2];c[F+4>>2]=c[t+4>>2];c[F+8>>2]=c[t+8>>2];c[F+12>>2]=c[t+12>>2];if((a[u+294>>0]|0)!=0?(c[b+152>>2]&32|0)!=0:0){i=+h[u+232>>3]-+h[F>>3]*2.0;h[E>>3]=i;k=+h[u+240>>3]-+h[F+8>>3]*2.0;p=E+8|0;h[p>>3]=k;if(!(i<.0001)){o=+h[I>>3];e=~~(o/i);f=b+164|0;c[f>>2]=e;if(o-i*+(e|0)>.0001){e=e+1|0;c[f>>2]=e}}else{c[b+164>>2]=1;e=1}if(!(k<.0001)){g=+h[I+8>>3];f=~~(g/k);j=b+168|0;c[j>>2]=f;if(g-k*+(f|0)>.0001){f=f+1|0;c[j>>2]=f}}else{c[b+168>>2]=1;f=1;g=+h[I+8>>3]}c[b+204>>2]=O(f,e)|0;o=+h[(+h[I>>3]>3];h[I>>3]=o;e=p;f=I;m=+h[(g>3];g=o;j=21}else{if(c[b+68>>2]|0){e=c[b+84>>2]|0;i=+h[e+24>>3]-+h[F>>3]*2.0;i=i<0.0?0.0:i;h[E>>3]=i;o=+h[e+32>>3]-+h[F+8>>3]*2.0;e=E+8|0;h[e>>3]=o;if(o<0.0){f=E;j=17}else e=E}else{h[E+8>>3]=0.0;f=E;e=E;j=17}if((j|0)==17){h[e>>3]=0.0;e=f;i=+h[f>>3]}c[b+204>>2]=1;c[b+168>>2]=1;c[b+164>>2]=1;g=+h[I>>3];if(i>3]=g;i=g}e=E+8|0;k=+h[e>>3];m=+h[I+8>>3];if(k>3]=m;r=e;m=+h[e>>3]}n=+h[F>>3];s=b+432|0;k=+h[s>>3]*.013888888888888888*(n*2.0+i);c[b+448>>2]=~~(k+(k>=0.0?.5:-.5));q=F+8|0;k=+h[q>>3];t=b+440|0;o=+h[t>>3]*.013888888888888888*(k*2.0+m);c[b+452>>2]=~~(o+(o>=0.0?.5:-.5));j=b+188|0;p=b+180|0;e=b+172|0;f=u+196|0;c[e>>2]=0;c[e+4>>2]=0;c[e+8>>2]=0;c[e+12>>2]=0;c[e+16>>2]=0;c[e+20>>2]=0;NG(v,b,a[c[f>>2]>>0]|0);u=v;v=c[u+4>>2]|0;e=p;c[e>>2]=c[u>>2];c[e+4>>2]=v;NG(w,b,a[(c[f>>2]|0)+1>>0]|0);e=w;w=c[e>>2]|0;e=c[e+4>>2]|0;v=j;c[v>>2]=w;c[v+4>>2]=e;w=(c[p>>2]|0)+w|0;if(!((((w|0)>-1?w:0-w|0)|0)==1?(w=(c[b+184>>2]|0)+e|0,(((w|0)>-1?w:0-w|0)|0)==1):0)){NG(y,b,66);v=y;y=c[v+4>>2]|0;w=p;c[w>>2]=c[v>>2];c[w+4>>2]=y;NG(x,b,76);w=x;x=c[w+4>>2]|0;y=j;c[y>>2]=c[w>>2];c[y+4>>2]=x;c[z>>2]=c[f>>2];Ow(0,97706,z)|0}if(a[(c[(c[d+16>>2]|0)+8>>2]|0)+82>>0]|0){if(i>g){m=(i-g)*.5;h[G>>3]=m}else m=0.0;i=+h[r>>3];o=+h[I+8>>3];if(i>o){i=(i-o)*.5;h[G+8>>3]=i}else i=0.0}else{i=0.0;m=0.0}if(!(c[H>>2]|0))j=1;else{c[J>>2]=c[I>>2];c[J+4>>2]=c[I+4>>2];c[J+8>>2]=c[I+8>>2];c[J+12>>2]=c[I+12>>2];MG(A,J);c[I>>2]=c[A>>2];c[I+4>>2]=c[A+4>>2];c[I+8>>2]=c[A+8>>2];c[I+12>>2]=c[A+12>>2];c[J>>2]=c[E>>2];c[J+4>>2]=c[E+4>>2];c[J+8>>2]=c[E+8>>2];c[J+12>>2]=c[E+12>>2];MG(B,J);c[E>>2]=c[B>>2];c[E+4>>2]=c[B+4>>2];c[E+8>>2]=c[B+8>>2];c[E+12>>2]=c[B+12>>2];c[J>>2]=c[F>>2];c[J+4>>2]=c[F+4>>2];c[J+8>>2]=c[F+8>>2];c[J+12>>2]=c[F+12>>2];MG(C,J);c[F>>2]=c[C>>2];c[F+4>>2]=c[C+4>>2];c[F+8>>2]=c[C+8>>2];c[F+12>>2]=c[C+12>>2];c[J>>2]=c[G>>2];c[J+4>>2]=c[G+4>>2];c[J+8>>2]=c[G+8>>2];c[J+12>>2]=c[G+12>>2];MG(D,J);c[G>>2]=c[D>>2];c[G+4>>2]=c[D+4>>2];c[G+8>>2]=c[D+8>>2];c[G+12>>2]=c[D+12>>2];n=+h[F>>3];m=+h[G>>3];k=+h[q>>3];i=+h[G+8>>3];g=+h[I>>3];j=(c[H>>2]|0)==0}o=m+n;h[b+384>>3]=o;P=i+k;h[b+392>>3]=P;N=m+n+g;h[b+400>>3]=N;Q=+h[I+8>>3];n=i+k+Q;h[b+408>>3]=n;m=+h[b+352>>3];h[b+320>>3]=g/m;h[b+328>>3]=Q/m;m=+h[s>>3];o=o*.013888888888888888*m;f=b+456|0;c[f>>2]=~~(o+(o>=0.0?.5:-.5));o=+h[t>>3];k=P*.013888888888888888*o;c[b+460>>2]=~~(k+(k>=0.0?.5:-.5));m=N*.013888888888888888*m;e=b+464|0;c[e>>2]=~~(m+(m>=0.0?.5:-.5));o=n*.013888888888888888*o;c[b+468>>2]=~~(o+(o>=0.0?.5:-.5));if(!j){c[J>>2]=c[f>>2];c[J+4>>2]=c[f+4>>2];xG(K,J);I=K;K=c[I+4>>2]|0;b=f;c[b>>2]=c[I>>2];c[b+4>>2]=K;c[J>>2]=c[e>>2];c[J+4>>2]=c[e+4>>2];xG(L,J);b=L;K=c[b+4>>2]|0;L=e;c[L>>2]=c[b>>2];c[L+4>>2]=K}l=M;return}function MG(a,b){a=a|0;b=b|0;var c=0.0;c=+h[b>>3];h[a>>3]=+h[b+8>>3];h[a+8>>3]=c;return}function NG(a,b,d){a=a|0;b=b|0;d=d|0;d=(d<<24>>24)+-66|0;switch(d>>>1|d<<31|0){case 9:{c[b+176>>2]=(c[b+168>>2]|0)+-1;b=0;d=-1;break}case 0:{b=0;d=1;break}case 5:{b=1;d=0;break}case 8:{c[b+172>>2]=(c[b+164>>2]|0)+-1;b=-1;d=0;break}default:{b=0;d=0}}c[a>>2]=b;c[a+4>>2]=d;return}function OG(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0;j=l;l=l+16|0;g=j;f=wx(d,97947)|0;i=b+296|0;c[i>>2]=(f|0)==0?97956:f;d=wx(d,97960)|0;f=b+300|0;d=(d|0)==0?97973:d;c[f>>2]=d;d=p1(c[i>>2]|0,d)|0;if(d|0){c[g>>2]=a[d>>0];Ow(0,97975,g)|0;c[f>>2]=191979}d=m1(e)|0;c[b+304>>2]=d;h=b+308|0;f=0;b=0;while(1){e=j1(d,c[i>>2]|0)|0;if(!e)break;g=b+1|0;if((b|0)<(f|0))d=c[h>>2]|0;else{f=f+128|0;d=c[h>>2]|0;if(!d)d=uH(f<<2)|0;else d=wH(d,f<<2)|0;c[h>>2]=d}c[d+(g<<2)>>2]=e;b=g;d=0}if(b|0){i=wH(c[h>>2]|0,(b<<2)+8|0)|0;c[h>>2]=i;c[i>>2]=0;c[(c[h>>2]|0)+(b+1<<2)>>2]=0}l=j;return b|0}function PG(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0;k=l;l=l+16|0;j=k;i=a+312|0;d=uH((c[i>>2]<<2)+8|0)|0;e=0;h=1;while(1){g=c[i>>2]|0;if((h|0)>(g|0))break;f=e+1|0;if((eG(a,h,g,b)|0)<<24>>24){c[d+(f<<2)>>2]=h;e=f}h=h+1|0}if(!e){c[j>>2]=b;Ow(0,97846,j)|0;C_(d);d=0}else{c[d>>2]=e;c[d+(e+1<<2)>>2]=(c[i>>2]|0)+1}l=k;return d|0}function QG(a,b){a=a|0;b=b|0;var d=0,e=0.0,f=0.0,g=0.0;d=c[b+16>>2]|0;g=+h[d+16>>3];h[d+48>>3]=g-+h[d+88>>3];e=+h[d+24>>3];f=+h[d+80>>3]*.5;h[d+56>>3]=e-f;h[d+64>>3]=+h[d+96>>3]+g;h[d+72>>3]=f+e;b=Dx(a,b)|0;while(1){if(!b)break;RG(b);b=Fx(a,b)|0}return}function RG(a){a=a|0;a=c[(c[a+16>>2]|0)+8>>2]|0;if(a|0)SG(a);return}function SG(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0;C=l;l=l+240|0;v=C+192|0;u=C+176|0;w=C+64|0;x=C+32|0;y=C;z=C+144|0;A=C+112|0;B=a+4|0;if((c[B>>2]|0)<=0)qa(98114,96880,3994,98128);b=c[a>>2]|0;d=w;e=b;f=d+48|0;do{c[d>>2]=c[e>>2];d=d+4|0;e=e+4|0}while((d|0)<(f|0));d=v;e=b;f=d+48|0;do{c[d>>2]=c[e>>2];d=d+4|0;e=e+4|0}while((d|0)<(f|0));TG(x,v);i=x+8|0;j=y+8|0;k=x+16|0;m=y+16|0;n=x+24|0;o=y+24|0;p=w+8|0;q=w+12|0;r=w+32|0;s=w+4|0;t=w+16|0;g=0;while(1){if((g|0)>=(c[B>>2]|0))break;if((g|0)>0){b=(c[a>>2]|0)+(g*48|0)|0;d=w;e=b;f=d+48|0;do{c[d>>2]=c[e>>2];d=d+4|0;e=e+4|0}while((d|0)<(f|0));d=v;e=b;f=d+48|0;do{c[d>>2]=c[e>>2];d=d+4|0;e=e+4|0}while((d|0)<(f|0));TG(y,v);h[x>>3]=+h[(+h[x>>3]<+h[y>>3]?x:y)>>3];h[i>>3]=+h[(+h[i>>3]<+h[j>>3]?x:y)+8>>3];h[k>>3]=+h[(+h[k>>3]>+h[m>>3]?x:y)+16>>3];h[n>>3]=+h[(+h[n>>3]>+h[o>>3]?x:y)+24>>3]}b=c[p>>2]|0;if(b|0){f=c[w>>2]|0;c[u>>2]=c[t>>2];c[u+4>>2]=c[t+4>>2];c[u+8>>2]=c[t+8>>2];c[u+12>>2]=c[t+12>>2];c[v>>2]=c[f>>2];c[v+4>>2]=c[f+4>>2];c[v+8>>2]=c[f+8>>2];c[v+12>>2]=c[f+12>>2];IE(z,u,v,1.0,b);c[y>>2]=c[z>>2];c[y+4>>2]=c[z+4>>2];c[y+8>>2]=c[z+8>>2];c[y+12>>2]=c[z+12>>2];c[y+16>>2]=c[z+16>>2];c[y+20>>2]=c[z+20>>2];c[y+24>>2]=c[z+24>>2];c[y+28>>2]=c[z+28>>2];h[x>>3]=+h[(+h[x>>3]<+h[y>>3]?x:y)>>3];h[i>>3]=+h[(+h[i>>3]<+h[j>>3]?x:y)+8>>3];h[k>>3]=+h[(+h[k>>3]>+h[m>>3]?x:y)+16>>3];h[n>>3]=+h[(+h[n>>3]>+h[o>>3]?x:y)+24>>3]}b=c[q>>2]|0;if(b|0){f=(c[w>>2]|0)+((c[s>>2]|0)+-1<<4)|0;c[u>>2]=c[r>>2];c[u+4>>2]=c[r+4>>2];c[u+8>>2]=c[r+8>>2];c[u+12>>2]=c[r+12>>2];c[v>>2]=c[f>>2];c[v+4>>2]=c[f+4>>2];c[v+8>>2]=c[f+8>>2];c[v+12>>2]=c[f+12>>2];IE(A,u,v,1.0,b);c[y>>2]=c[A>>2];c[y+4>>2]=c[A+4>>2];c[y+8>>2]=c[A+8>>2];c[y+12>>2]=c[A+12>>2];c[y+16>>2]=c[A+16>>2];c[y+20>>2]=c[A+20>>2];c[y+24>>2]=c[A+24>>2];c[y+28>>2]=c[A+28>>2];h[x>>3]=+h[(+h[x>>3]<+h[y>>3]?x:y)>>3];h[i>>3]=+h[(+h[i>>3]<+h[j>>3]?x:y)+8>>3];h[k>>3]=+h[(+h[k>>3]>+h[m>>3]?x:y)+16>>3];h[n>>3]=+h[(+h[n>>3]>+h[o>>3]?x:y)+24>>3]}g=g+1|0}B=a+8|0;c[B>>2]=c[x>>2];c[B+4>>2]=c[x+4>>2];c[B+8>>2]=c[x+8>>2];c[B+12>>2]=c[x+12>>2];c[B+16>>2]=c[x+16>>2];c[B+20>>2]=c[x+20>>2];c[B+24>>2]=c[x+24>>2];c[B+28>>2]=c[x+28>>2];l=C;return}function TG(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,i=0,j=0,k=0,m=0,n=0,o=0.0,p=0.0,q=0.0,r=0.0,s=0.0,t=0;n=l;l=l+48|0;i=n+32|0;j=n;k=c[b+4>>2]|0;if((k|0)<=0)qa(98144,96880,3968,98156);if(((k>>>0)%3|0|0)!=1)qa(98166,96880,3969,98156);m=j+16|0;d=c[b>>2]|0;c[m>>2]=c[d>>2];c[m+4>>2]=c[d+4>>2];c[m+8>>2]=c[d+8>>2];c[m+12>>2]=c[d+12>>2];c[j>>2]=c[d>>2];c[j+4>>2]=c[d+4>>2];c[j+8>>2]=c[d+8>>2];c[j+12>>2]=c[d+12>>2];e=i+8|0;f=j+8|0;g=j+24|0;b=1;while(1){if((b|0)>=(k|0))break;p=+h[d+(b<<4)+8>>3];t=b+1|0;o=+h[d+(t<<4)+8>>3];r=(+h[d+(t<<4)>>3]+ +h[d+(b<<4)>>3])*.5;h[i>>3]=r;p=(o+p)*.5;h[e>>3]=p;o=+h[(+h[j>>3]>3];h[j>>3]=o;s=+h[(+h[f>>3]>3];h[f>>3]=s;r=+h[(+h[m>>3]>r?m:i)>>3];h[m>>3]=r;p=+h[(+h[g>>3]>p?m:i)+8>>3];h[g>>3]=p;t=d+(b+2<<4)|0;c[i>>2]=c[t>>2];c[i+4>>2]=c[t+4>>2];c[i+8>>2]=c[t+8>>2];c[i+12>>2]=c[t+12>>2];q=+h[i>>3];h[j>>3]=+h[(o>3];o=+h[e>>3];h[f>>3]=+h[(s>3];h[m>>3]=+h[(r>q?m:i)>>3];h[g>>3]=+h[(p>o?m:i)+8>>3];b=b+3|0}c[a>>2]=c[j>>2];c[a+4>>2]=c[j+4>>2];c[a+8>>2]=c[j+8>>2];c[a+12>>2]=c[j+12>>2];c[a+16>>2]=c[j+16>>2];c[a+20>>2]=c[j+20>>2];c[a+24>>2]=c[j+24>>2];c[a+28>>2]=c[j+28>>2];l=n;return}function UG(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0.0,f=0.0,g=0.0,i=0,j=0.0,k=0,l=0,m=0.0,n=0.0,o=0.0,p=0.0,q=0.0,r=0.0;q=+h[a>>3];r=+h[c>>3];k=!(q>=r);if((!k?q<=+h[c+16>>3]:0)?(e=+h[a+8>>3],e>=+h[c+8>>3]):0)i=e<=+h[c+24>>3];else i=0;e=+h[b>>3];if((e>=r?e<=+h[c+16>>3]:0)?(f=+h[b+8>>3],f>=+h[c+8>>3]):0){d=f<=+h[c+24>>3];if(!(i^d))if(i&d)d=1;else l=11;else d=0}else if(i)d=0;else l=11;a:do if((l|0)==11){p=+h[a+8>>3];do if(q==e){r=+h[c+8>>3];if(!(k|p>=r^+h[b+8>>3]>=r^1)?q<=+h[c+16>>3]:0){d=0;break a}}else{j=+h[b+8>>3];if(p==j){if(!(q>=r^e>=r))break;if(!(p>=+h[c+8>>3]))break;if(!(p<=+h[c+24>>3]))break;else{d=0;break a}}o=(j-p)/(e-q);l=q>3];if(!(!(r>=g)|!(r<=e)|!(f>=m))?f<=+h[c+24>>3]:0){d=0;break a}n=+h[c+16>>3];f=(n-r)*o+f;if(f>=m?!(!(n<=e)|(n>=g?!(f<=+h[c+24>>3]):1)):0){d=0;break a}l=p=r?!(!(m<=f)|(!(m>=g)|!(e<=n))):0){d=0;break a}p=+h[c+24>>3];q=(p-m)/o+e;if(q>=r?!(!(p<=f)|(!(p>=g)|!(q<=n))):0){d=0;break a}}while(0);d=-1}while(0);return d|0}function VG(a){a=a|0;var b=0,c=0.0;b=a+16|0;c=+h[b>>3];h[a+32>>3]=c;h[a+48>>3]=c;h[a+40>>3]=+h[a+24>>3];h[a+56>>3]=+h[a+8>>3];h[b>>3]=+h[a>>3];return}function WG(a,b,d){a=a|0;b=b|0;d=d|0;var e=0.0,f=0.0,g=0.0,i=0.0;if((c[46360]|0)!=(d|0)){v$(+(d|0)*.15915494309189535,183248,183256);c[46360]=d}g=+h[b>>3];e=+h[22907];f=+h[b+8>>3];i=+h[22906];h[a>>3]=e*g-i*f;h[a+8>>3]=i*g+f*e;return}function XG(a,b,d){a=a|0;b=b|0;d=d|0;var e=0.0,f=0,g=0.0,i=0,j=0,k=0;k=l;l=l+16|0;f=k;e=+h[b>>3];i=b+8|0;g=+h[i>>3];a:do switch(d|0){case 0:{j=11;break}case 90:{h[b>>3]=g;e=-e;j=10;break}case 180:{e=-g;j=10;break}case 270:{h[b>>3]=g;j=10;break}default:{if((d|0)<0){c[f>>2]=c[b>>2];c[f+4>>2]=c[b+4>>2];c[f+8>>2]=c[b+8>>2];c[f+12>>2]=c[b+12>>2];YG(a,f,0-d|0);break a}if((d|0)>360){c[f>>2]=c[b>>2];c[f+4>>2]=c[b+4>>2];c[f+8>>2]=c[b+8>>2];c[f+12>>2]=c[b+12>>2];XG(a,f,(d>>>0)%360|0);break a}else{c[f>>2]=c[b>>2];c[f+4>>2]=c[b+4>>2];c[f+8>>2]=c[b+8>>2];c[f+12>>2]=c[b+12>>2];WG(a,f,d);break a}}}while(0);if((j|0)==10){h[i>>3]=e;j=11}if((j|0)==11){c[a>>2]=c[b>>2];c[a+4>>2]=c[b+4>>2];c[a+8>>2]=c[b+8>>2];c[a+12>>2]=c[b+12>>2]}l=k;return}function YG(a,b,d){a=a|0;b=b|0;d=d|0;var e=0.0,f=0,g=0.0,i=0,j=0,k=0;k=l;l=l+16|0;f=k;e=+h[b>>3];i=b+8|0;g=+h[i>>3];a:do switch(d|0){case 0:{j=11;break}case 90:{h[b>>3]=-g;j=10;break}case 180:{e=-g;j=10;break}case 270:{h[b>>3]=g;j=10;break}default:{if((d|0)<0){c[f>>2]=c[b>>2];c[f+4>>2]=c[b+4>>2];c[f+8>>2]=c[b+8>>2];c[f+12>>2]=c[b+12>>2];XG(a,f,0-d|0);break a}if((d|0)>360){c[f>>2]=c[b>>2];c[f+4>>2]=c[b+4>>2];c[f+8>>2]=c[b+8>>2];c[f+12>>2]=c[b+12>>2];YG(a,f,(d>>>0)%360|0);break a}else{c[f>>2]=c[b>>2];c[f+4>>2]=c[b+4>>2];c[f+8>>2]=c[b+8>>2];c[f+12>>2]=c[b+12>>2];WG(a,f,360-d|0);break a}}}while(0);if((j|0)==10){h[i>>3]=e;j=11}if((j|0)==11){c[a>>2]=c[b>>2];c[a+4>>2]=c[b+4>>2];c[a+8>>2]=c[b+8>>2];c[a+12>>2]=c[b+12>>2]}l=k;return}function ZG(a,b,c){a=a|0;b=b|0;c=c|0;var d=0.0,e=0.0,f=0.0,g=0.0;g=+h[c>>3];d=+h[c+8>>3];f=d+ +h[b>>3];e=g+ +h[b+24>>3];d=d+ +h[b+16>>3];h[a>>3]=g+ +h[b+8>>3];h[a+8>>3]=f;h[a+16>>3]=e;h[a+24>>3]=d;return}function _G(a,b,c){a=a|0;b=b|0;c=c|0;var d=0.0,e=0.0,f=0.0,g=0.0;f=+h[a>>3];d=+h[b>>3]-f;g=+h[a+8>>3];e=+h[b+8>>3]-g;f=(+h[c+8>>3]-g)*d-(+h[c>>3]-f)*e;f=f*f;return +(f<1.0e-10?0.0:f/(e*e+d*d))}function $G(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0;g=l;l=l+16|0;f=g+8|0;e=g;a=wx(a,b)|0;if(a|0?(c[f>>2]=e,(M1(a,98183,f)|0)>0):0)h[d>>3]=+h[e>>3];l=g;return}function aH(b,d){b=b|0;d=d|0;var e=0,f=0.0,g=0,i=0,j=0,k=0,m=0,n=0;n=l;l=l+16|0;g=n+8|0;i=n;e=tH(96)|0;m=b+16|0;c[(c[m>>2]|0)+8>>2]=e;e=wx(b,98187)|0;if(!e){e=Ta(98196)|0;if(e|0)k=3}else k=3;if((k|0)==3)cb(98208,e|0,1)|0;e=(bH(b)|0)&255;a[(c[m>>2]|0)+115>>0]=e;if(0==0?(e=wx(b,98219)|0,c[46362]=e,(e|0)==0):0)c[46362]=c[46361];f=+KL(b,mx(b,0,98229,0)|0,0.0,0.0);h[c[(c[m>>2]|0)+8>>2]>>3]=f;e=wx(b,98237)|0;a:do if(!e)e=0;else{switch(a[e>>0]|0){case 76:{if(!(a$(e,98245)|0)){e=1;break a}break}case 66:{if(!(a$(e,98248)|0)){e=2;break a}break}case 82:{e=(a$(e,98251)|0)==0;e=e?3:0;break a}default:{e=0;break a}}e=0}while(0);c[(c[m>>2]|0)+116>>2]=e<<2|(d<<24>>24==0?0:e);f=+KL(b,mx(b,0,98254,0)|0,.25,.02);h[i>>3]=f;f=f*72.0;c[(c[m>>2]|0)+248>>2]=~~(f+(f>=0.0?.5:-.5));e=ML(b,mx(b,0,98262,0)|0,0)|0;if(e){c[g>>2]=i;if(M1(e,98183,g)|0){f=+h[i>>3];if(f<.02){h[i>>3]=.02;f=.02}}else{h[i>>3]=.5;f=.5}if(O0(e,98270)|0)a[(c[m>>2]|0)+276>>0]=1}else{h[i>>3]=.5;f=.5}f=f*72.0;c[(c[m>>2]|0)+252>>2]=~~(f+(f>=0.0?.5:-.5));i=(JL(b,mx(b,0,98278,0)|0,0,0)|0)&255;a[(c[m>>2]|0)+243>>0]=i;i=$L(ML(b,mx(b,0,98288,0)|0,0)|0,20572,20588)|0;c[(c[m>>2]|0)+244>>2]=i;cH(b);i=dH(b,98298,(c[(c[m>>2]|0)+8>>2]|0)+64|0)|0;e=c[(c[m>>2]|0)+8>>2]|0;a[e+80>>0]=i;dH(b,98303,e+48|0)|0;e=PL(wx(b,98308)|0)|0;a[(c[(c[m>>2]|0)+8>>2]|0)+82>>0]=e;e=wx(b,98315)|0;do if(!e){e=wx(b,98322)|0;if(e|0){e=(a[e>>0]|32)<<24>>24==108&1;k=27;break}e=wx(b,98334)|0;if(e|0){e=PL(e)|0;k=27}}else{e=($1(e)|0)==90&1;k=27}while(0);if((k|0)==27)a[(c[(c[m>>2]|0)+8>>2]|0)+81>>0]=e;c[46364]=$L(wx(b,98344)|0,20604,20620)|0;a[191874]=PL(wx(b,98356)|0)|0;c[46367]=0;c[46368]=0;h[(c[(c[m>>2]|0)+8>>2]|0)+24>>3]=0.0;e=wx(b,98368)|0;if((e|0)!=0?(a[e>>0]|0)!=0:0)k=32;else k=30;if(((k|0)==30?(j=wx(b,98372)|0,j|0):0)?a[j>>0]|0:0){e=j;k=32}if((k|0)==32){f=+a2(e);h[(c[(c[m>>2]|0)+8>>2]|0)+24>>3]=f}eH(b);h[22910]=1.e+37;c[46370]=mx(b,0,98383,0)|0;c[46373]=mx(b,0,137952,0)|0;c[46374]=mx(b,0,102470,0)|0;c[46375]=mx(b,1,137966,0)|0;c[46376]=mx(b,1,138034,0)|0;c[46377]=mx(b,1,105204,0)|0;c[46378]=mx(b,1,137741,0)|0;c[46379]=mx(b,1,98392,0)|0;c[46387]=mx(b,1,138e3,0)|0;c[46380]=mx(b,1,98402,0)|0;c[46381]=mx(b,1,98411,0)|0;c[46382]=mx(b,1,98420,0)|0;k=mx(b,1,105198,0)|0;c[46384]=k;if(!k)c[46384]=mx(b,1,105198,102467)|0;c[46385]=mx(b,1,98430,0)|0;c[46388]=mx(b,1,98278,0)|0;c[46402]=mx(b,1,98437,0)|0;c[46391]=mx(b,1,98383,0)|0;c[46383]=mx(b,1,102470,0)|0;c[46389]=mx(b,1,137994,0)|0;c[46390]=mx(b,1,98446,0)|0;c[46393]=mx(b,1,98458,0)|0;c[46392]=mx(b,1,98322,0)|0;c[46394]=mx(b,1,98463,0)|0;c[46395]=mx(b,1,137942,0)|0;c[46396]=mx(b,1,134215,0)|0;c[46386]=mx(b,1,98474,0)|0;c[46397]=mx(b,1,98484,0)|0;c[46398]=mx(b,1,98490,0)|0;c[46399]=mx(b,1,98496,0)|0;c[46400]=mx(b,1,98504,0)|0;c[46401]=mx(b,1,98513,0)|0;c[46403]=mx(b,1,137952,0)|0;c[46404]=mx(b,2,98515,0)|0;c[46406]=mx(b,2,137741,0)|0;c[46407]=mx(b,2,98392,0)|0;c[46409]=mx(b,2,98402,0)|0;c[46410]=mx(b,2,98411,0)|0;c[46411]=mx(b,2,98420,0)|0;c[46412]=mx(b,2,105198,0)|0;c[46413]=mx(b,2,98430,0)|0;c[46422]=mx(b,2,98522,0)|0;c[46414]=mx(b,2,98533,0)|0;c[46425]=mx(b,2,98537,0)|0;c[46426]=mx(b,2,98547,0)|0;c[46427]=mx(b,2,98557,0)|0;c[46428]=mx(b,2,98567,0)|0;c[46429]=mx(b,2,98577,0)|0;c[46430]=mx(b,2,98591,0)|0;c[46431]=mx(b,2,98605,0)|0;c[46432]=mx(b,2,98620,0)|0;c[46433]=mx(b,2,98634,0)|0;c[46405]=mx(b,2,98645,0)|0;c[46417]=mx(b,2,98278,0)|0;c[46415]=mx(b,2,138e3,0)|0;c[46416]=mx(b,2,98652,0)|0;c[46418]=mx(b,2,98661,0)|0;c[46419]=mx(b,2,98671,0)|0;c[46420]=mx(b,2,98484,0)|0;c[46421]=mx(b,2,98496,0)|0;c[46434]=mx(b,2,98682,0)|0;c[46435]=mx(b,2,98691,0)|0;c[46436]=mx(b,2,98437,0)|0;e=LE(b)|0;c[(c[(c[m>>2]|0)+8>>2]|0)+88>>2]=e;e=wx(b,137978)|0;if(e|0?a[e>>0]|0:0){b=oH(e,b)|0;c[(c[(c[m>>2]|0)+8>>2]|0)+92>>2]=b}l=n;return}function bH(a){a=a|0;var b=0,d=0;d=l;l=l+16|0;b=d;a=NL(a,mx(a,0,98781,0)|0,98789)|0;if(((((((N$(a,98795)|0)!=0?(N$(a,98803)|0)!=0:0)?(N$(a,98810)|0)!=0:0)?(N$(a,98813)|0)!=0:0)?(N$(a,98824)|0)!=0:0)?(N$(a,98835)|0)!=0:0)?(N$(a,98845)|0)!=0:0)if((N$(a,98856)|0)!=0?(N$(a,98862)|0)!=0:0)if((N$(a,98789)|0)!=0?(N$(a,98867)|0)!=0:0){c[b>>2]=a;Ow(0,98872,b)|0;a=0}else a=0;else a=2;else a=1;l=d;return a|0}function cH(b){b=b|0;var d=0.0,e=0,f=0;e=wx(b,98739)|0;a:do if(e|0?(f=a[e>>0]|0,f<<24>>24):0)switch(f<<24>>24|0){case 97:{if(f<<24>>24!=97)break a;if(a$(e,98745)|0)break a;c[(c[(c[b+16>>2]|0)+8>>2]|0)+84>>2]=4;break a}case 99:{if(f<<24>>24!=99)break a;if(a$(e,98750)|0)break a;c[(c[(c[b+16>>2]|0)+8>>2]|0)+84>>2]=3;break a}case 101:{if(f<<24>>24!=101)break a;if(a$(e,98759)|0)break a;c[(c[(c[b+16>>2]|0)+8>>2]|0)+84>>2]=5;break a}case 102:{if(f<<24>>24!=102)break a;if(a$(e,98766)|0)break a;c[(c[(c[b+16>>2]|0)+8>>2]|0)+84>>2]=2;break a}default:{d=+a2(e);if(!(d>0.0))break a;b=c[(c[b+16>>2]|0)+8>>2]|0;c[b+84>>2]=1;h[b+16>>3]=d;break a}}while(0);return}function dH(b,d,e){b=b|0;d=d|0;e=e|0;var f=0.0,g=0.0,i=0,j=0,k=0,m=0,n=0,o=0;o=l;l=l+48|0;m=o+32|0;i=o+16|0;k=o+8|0;j=o;n=o+40|0;a[n>>0]=0;b=wx(b,d)|0;do if(b){c[i>>2]=k;c[i+4>>2]=j;c[i+8>>2]=n;i=(M1(b,98723,i)|0)>1;g=+h[k>>3];f=+h[j>>3];if(i&g>0.0&f>0.0){g=g*72.0;h[e>>3]=+(~~(g+(g>=0.0?.5:-.5))|0);g=f*72.0;h[e+8>>3]=+(~~(g+(g>=0.0?.5:-.5))|0);b=(a[n>>0]|0)==33;break}a[n>>0]=0;c[m>>2]=k;c[m+4>>2]=n;m=(M1(b,98733,m)|0)>0;f=+h[k>>3];if(m&f>0.0){g=f*72.0;g=+(~~(g+(g>=0.0?.5:-.5))|0);h[e>>3]=g;h[e+8>>3]=g;b=(a[n>>0]|0)==33}else b=0}else b=0;while(0);l=o;return b&1|0}function eH(b){b=b|0;var d=0,e=0,f=0.0,g=0.0,i=0;d=wx(b,105198)|0;do if(d|0?a[d>>0]|0:0){e=(c[(c[b+60>>2]|0)+16>>2]|0)+113|0;a[e>>0]=a[e>>0]|8;e=(Qz(d)|0)!=0;g=+KL(b,mx(b,0,98402,0)|0,14.0,1.0);i=NL(b,mx(b,0,98411,0)|0,104968)|0;d=jH(b,d,e?2:0,g,i,NL(b,mx(b,0,98420,0)|0,134232)|0)|0;i=b+16|0;c[(c[i>>2]|0)+12>>2]=d;d=wx(b,102602)|0;e=(d|0)!=0;do if((ez(b)|0)==(b|0)){if(e?(a[d>>0]|0)==116:0){d=1;break}d=0}else{if(e?(a[d>>0]|0)==98:0){d=0;break}d=1}while(0);e=wx(b,98700)|0;a:do if(e)switch(a[e>>0]|0){case 108:{d=d|2;break a}case 114:{d=d|4;break a}default:break a}while(0);a[(c[i>>2]|0)+275>>0]=d;if((ez(b)|0)!=(b|0)){d=c[(c[i>>2]|0)+12>>2]|0;f=+h[d+24>>3]+16.0;g=+h[d+32>>3]+8.0;b=(c[(c[(ez(b)|0)+16>>2]|0)+116>>2]&1|0)==0;d=c[i>>2]|0;e=a[d+275>>0]<<1&2;if(b){b=e&255;h[d+48+(b<<4)>>3]=f;h[d+48+(b<<4)+8>>3]=g;break}else{b=(e^3)&255;h[d+48+(b<<4)>>3]=g;h[d+48+(b<<4)+8>>3]=f;break}}}while(0);return}function fH(a){a=a|0;var b=0,d=0,e=0;e=a+16|0;d=c[e>>2]|0;b=c[d+8>>2]|0;do if(!b)b=d;else{d=c[b+88>>2]|0;if(d){oE(d);d=c[e>>2]|0;b=c[d+8>>2]|0;if(!b){b=d;break}}C_(c[b+92>>2]|0);b=c[e>>2]|0}while(0);C_(c[b+8>>2]|0);e=c[e>>2]|0;c[e+8>>2]=0;mH(c[e+12>>2]|0);Fz(a,0,134401);return}function gH(a){a=a|0;var b=0,d=0;d=l;l=l+16|0;b=d;switch(a|0){case 0:{a=98945;break}case 1:{a=98813;break}case 2:{a=98951;break}default:{c[b>>2]=a;Ow(1,98915,b)|0;a=98945}}l=d;return a|0}function hH(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0;f=c[d>>2]|0;l=d+24|0;c[l>>2]=0;c[l+4>>2]=0;c[l+8>>2]=0;c[l+12>>2]=0;if(a[f>>0]|0){i=uH((V_(f)|0)+1|0)|0;a[i>>0]=0;j=d+12|0;e=i;a:while(1){b:while(1){h=f+1|0;g=a[f>>0]|0;if(!(g<<24>>24))break a;if(!(g<<24>>24==-1|((g&255)<161|(c[j>>2]|0)!=2))){a[e>>0]=g;h=a[h>>0]|0;g=e+2|0;a[e+1>>0]=h;if(!(h<<24>>24)){e=g;break a}else{e=g;f=f+2|0;continue}}switch(g<<24>>24){case 92:break b;case 10:{k=12;break b}default:{}}a[e>>0]=g;e=e+1|0;f=h}if((k|0)==12){k=0;f=e+1|0;a[e>>0]=0;iH(b,d,i,110);e=f;i=f;f=h;continue}g=a[h>>0]|0;switch(g<<24>>24|0){case 114:case 108:case 110:{g=e+1|0;a[e>>0]=0;iH(b,d,i,a[h>>0]|0);e=g;break}default:{a[e>>0]=g;e=e+1|0;g=i}}i=g;f=(a[h>>0]|0)==0?h:f+2|0}if((i|0)!=(e|0)){a[e>>0]=0;iH(b,d,i,110)}d=d+40|0;c[d>>2]=c[l>>2];c[d+4>>2]=c[l+4>>2];c[d+8>>2]=c[l+8>>2];c[d+12>>2]=c[l+12>>2]}return}function iH(d,e,f,g){d=d|0;e=e|0;f=f|0;g=g|0;var i=0.0,j=0.0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;s=l;l=l+32|0;q=s+16|0;p=s;r=e+76|0;k=b[r>>1]|0;o=e+72|0;m=c[o>>2]|0;if(!m)n=tH((k*56|0)+112|0)|0;else n=vH(m,k+2|0,56,k+1|0)|0;c[o>>2]=n;k=b[r>>1]|0;m=n+(k*56|0)|0;c[m>>2]=f;a[n+(k*56|0)+48>>0]=g;if((f|0)!=0?(a[f>>0]|0)!=0:0){c[45824]=c[e+4>>2];h[22914]=+h[e+16>>3];g=c[d+144>>2]|0;c[n+(k*56|0)+4>>2]=nb[c[g>>2]&63](g,183296,1)|0;vL(p,d,m);j=+h[p>>3];h[q>>3]=j;i=+h[p+8>>3]}else{h[q>>3]=0.0;i=+(~~(+h[e+16>>3]*1.2)|0);h[n+(k*56|0)+40>>3]=i;j=0.0}b[r>>1]=(b[r>>1]|0)+1<<16>>16;r=e+24|0;h[r>>3]=+h[(+h[r>>3]>j?r:q)>>3];r=e+32|0;h[r>>3]=+h[r>>3]+i;l=s;return}function jH(b,e,f,g,i,j){b=b|0;e=e|0;f=f|0;g=+g;i=i|0;j=j|0;var k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;u=l;l=l+32|0;r=u+16|0;q=u+8|0;p=u;t=tH(88)|0;switch(oz(b)|0){case 0:{m=0;s=c[b+60>>2]|0;n=b;o=0;break}case 1:{m=0;s=ez(dz(b)|0)|0;n=0;o=b;break}case 2:{m=b;s=ez(dz(c[((c[b>>2]&3|0)==2?b:b+-48|0)+40>>2]|0)|0)|0;n=0;o=0;break}default:{m=0;s=0;n=0;o=0}}c[t+4>>2]=i;c[t+8>>2]=j;h[t+16>>3]=g;k=s+16|0;j=t+12|0;c[j>>2]=d[(c[k>>2]|0)+115>>0];a:do if(f&4){c[t>>2]=m1(e)|0;if(f&2|0)a[t+82>>0]=1}else switch(f|0){case 2:{c[t>>2]=m1(e)|0;a[t+82>>0]=1;if(!(jR(b,t)|0))break a;switch(oz(b)|0){case 0:{c[p>>2]=qy(n)|0;Ow(3,98957,p)|0;break a}case 1:{c[q>>2]=qy(o)|0;Ow(3,98979,q)|0;break a}case 2:{p=qy(c[((c[m>>2]&3|0)==3?m:m+48|0)+40>>2]|0)|0;q=(dy(s)|0)!=0;s=qy(c[((c[m>>2]&3|0)==2?m:m+-48|0)+40>>2]|0)|0;c[r>>2]=p;c[r+4>>2]=q?134656:138665;c[r+8>>2]=s;Ow(3,99e3,r)|0;break a}default:break a}}case 0:{i=kH(e,b,0)|0;c[t>>2]=i;if((c[j>>2]|0)==1)i=QM(i)|0;else i=NM(i,s)|0;C_(c[t>>2]|0);c[t>>2]=i;hH(c[(c[k>>2]|0)+144>>2]|0,t);break a}default:qa(99027,99043,166,99052)}while(0);l=u;return t|0}function kH(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0;switch(oz(d)|0){case 0:{i=qy(d)|0;g=V_(i)|0;f=c[(c[d+16>>2]|0)+12>>2]|0;if(f){f=c[f>>2]|0;if(!b){v=0;t=2;u=2;s=2;h=2;y=99075;m=99072;j=102467;o=191979;q=191979;p=0;r=0;n=2;w=f;x=99069}else{v=0;t=2;u=2;s=2;h=2;y=99075;m=99072;j=102467;o=191979;q=191979;p=0;r=0;n=V_(f)|0;w=f;x=99069}}else{v=0;t=2;u=2;s=2;h=2;y=99075;m=99072;j=102467;o=191979;q=191979;p=0;r=0;n=2;w=99063;x=99069}break}case 1:{i=qy(dz(d)|0)|0;g=V_(i)|0;j=qy(d)|0;h=V_(j)|0;f=c[(c[d+16>>2]|0)+104>>2]|0;if(f){f=c[f>>2]|0;if(!b){v=0;t=2;u=2;s=2;y=99075;m=99072;o=191979;q=191979;p=0;r=0;n=2;w=f;x=99069}else{v=0;t=2;u=2;s=2;y=99075;m=99072;o=191979;q=191979;p=0;r=0;n=V_(f)|0;w=f;x=99069}}else{v=0;t=2;u=2;s=2;y=99075;m=99072;o=191979;q=191979;p=0;r=0;n=2;w=99063;x=99069}break}case 2:{h=d+48|0;i=qy(ez(dz(c[((c[d>>2]&3|0)==3?d:h)+40>>2]|0)|0)|0)|0;g=V_(i)|0;l=qy(c[((c[d>>2]&3|0)==3?d:h)+40>>2]|0)|0;k=V_(l)|0;f=d+16|0;q=c[(c[f>>2]|0)+52>>2]|0;if(!q)r=0;else r=V_(q)|0;m=qy(c[((c[d>>2]&3|0)==2?d:d+-48|0)+40>>2]|0)|0;f=c[f>>2]|0;o=c[f+92>>2]|0;if(!o)p=0;else p=V_(o)|0;j=V_(m)|0;f=c[f+96>>2]|0;if(f){f=c[f>>2]|0;if(!b)n=2;else n=V_(f)|0}else{n=2;f=99063}x=(dy(ez(dz(c[((c[d>>2]&3|0)==3?d:h)+40>>2]|0)|0)|0)|0)==0;v=1;t=k;u=j;s=k+2+(r|0?r+1|0:0)+j+(p|0?p+1|0:0)|0;h=2;y=l;j=102467;w=f;x=x?138665:134656;break}default:{v=0;t=2;u=2;s=2;h=2;g=2;y=99075;m=99072;j=102467;i=99066;o=191979;q=191979;p=0;r=0;n=2;w=99063;x=99069}}e=(e|0)==0;l=0;f=b;a:while(1){d=f+1|0;b:do switch(a[f>>0]|0){case 0:break a;case 92:{f=f+2|0;switch(a[d>>0]|0){case 78:{k=h;break b}case 71:{k=g;break b}case 69:{k=s;break b}case 72:{k=u;break b}case 84:{k=t;break b}case 76:{k=n;break b}case 92:{if(!e){k=1;break b}break}default:{}}k=2;break}default:{k=1;f=d}}while(0);l=l+k|0}s=uH(l+1|0)|0;n=(v|0)==0;l=(r|0)==0;d=(p|0)==0;f=s;g=b;c:while(1){k=g+1|0;h=a[g>>0]|0;switch(h<<24>>24){case 0:break c;case 92:break;default:{a[f>>0]=h;f=f+1|0;g=k;continue c}}h=g+2|0;g=a[k>>0]|0;switch(g<<24>>24|0){case 71:{g=i;while(1){b=a[g>>0]|0;a[f>>0]=b;if(!(b<<24>>24)){g=h;continue c}g=g+1|0;f=f+1|0}}case 78:{g=j;while(1){b=a[g>>0]|0;a[f>>0]=b;if(!(b<<24>>24)){g=h;continue c}g=g+1|0;f=f+1|0}}case 69:{if(n){g=h;continue c}else g=y;while(1){b=a[g>>0]|0;a[f>>0]=b;if(!(b<<24>>24))break;g=g+1|0;f=f+1|0}if(l)g=x;else{a[f>>0]=58;g=q;while(1){f=f+1|0;b=a[g>>0]|0;a[f>>0]=b;if(!(b<<24>>24)){g=x;break}else g=g+1|0}}while(1){b=a[g>>0]|0;a[f>>0]=b;if(!(b<<24>>24)){g=m;break}g=g+1|0;f=f+1|0}while(1){b=a[g>>0]|0;a[f>>0]=b;if(!(b<<24>>24))break;g=g+1|0;f=f+1|0}if(d){g=h;continue c}a[f>>0]=58;g=o;while(1){f=f+1|0;b=a[g>>0]|0;a[f>>0]=b;if(!(b<<24>>24)){g=h;continue c}else g=g+1|0}}case 84:{g=y;while(1){b=a[g>>0]|0;a[f>>0]=b;if(!(b<<24>>24)){g=h;continue c}g=g+1|0;f=f+1|0}}case 72:{g=m;while(1){b=a[g>>0]|0;a[f>>0]=b;if(!(b<<24>>24)){g=h;continue c}f=f+1|0;g=g+1|0}}case 76:{g=w;while(1){b=a[g>>0]|0;a[f>>0]=b;if(!(b<<24>>24)){g=h;continue c}f=f+1|0;g=g+1|0}}case 92:{if(!e){a[f>>0]=92;f=f+1|0;g=h;continue c}break}default:{}}a[f>>0]=92;a[f+1>>0]=g;f=f+2|0;g=h}a[f>>0]=0;return s|0}function lH(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;if(a|0){d=a;e=0;while(1){if((e|0)>=(b|0))break;if(!e)C_(c[d>>2]|0);g=c[d+8>>2]|0;if(g|0?(f=c[d+12>>2]|0,f|0):0)tb[f&127](g);d=d+56|0;e=e+1|0}C_(a)}return}function mH(d){d=d|0;var e=0;if(d|0){C_(c[d>>2]|0);e=d+72|0;if(a[d+82>>0]|0){e=c[e>>2]|0;if(e|0)WQ(e,1)}else lH(c[e>>2]|0,b[d+76>>1]|0);C_(d)}return}function nH(d,e,f){d=d|0;e=e|0;f=f|0;var g=0.0,i=0,j=0.0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;u=l;l=l+32|0;q=u+16|0;r=u;k=c[d+16>>2]|0;s=k+12|0;t=c[s>>2]|0;c[s>>2]=e;if(!(a[f+82>>0]|0)){p=f+76|0;if((b[p>>1]|0)>=1){QO(d,0);TO(d,c[f+8>>2]|0);switch(a[f+80>>0]|0){case 116:{j=+h[f+64>>3];g=+h[f+48>>3]*.5+j;break}case 98:{j=+h[f+64>>3];g=+h[f+48>>3]*-.5+j+ +h[f+32>>3];break}default:{j=+h[f+64>>3];g=+h[f+32>>3]*.5+j}}g=g-+h[f+16>>3];o=r+8|0;h[o>>3]=g;if(b[k+260>>1]&512)h[o>>3]=g-j;m=f+72|0;n=f+56|0;i=f+40|0;e=0;while(1){if((e|0)>=(b[p>>1]|0))break;k=c[m>>2]|0;switch(a[k+(e*56|0)+48>>0]|0){case 108:{g=+h[n>>3]-+h[i>>3]*.5;break}case 114:{g=+h[i>>3]*.5+ +h[n>>3];break}default:g=+h[n>>3]}h[r>>3]=g;c[q>>2]=c[r>>2];c[q+4>>2]=c[r+4>>2];c[q+8>>2]=c[r+8>>2];c[q+12>>2]=c[r+12>>2];SO(d,q,k+(e*56|0)|0);h[o>>3]=+h[o>>3]-+h[(c[m>>2]|0)+(e*56|0)+40>>3];e=e+1|0}RO(d);i=18}}else{BQ(d,c[f+72>>2]|0,f);i=18}if((i|0)==18)c[s>>2]=t;l=u;return}function oH(a,b){a=a|0;b=b|0;return kH(a,b,1)|0}function pH(a){a=a|0;return qH(a,0)|0}function qH(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0;e=c[46437]|0;if(!e){c[46438]=64;e=uH(64)|0;c[46437]=e}j=d<<24>>24==0;i=0;f=0;h=b;while(1){if(!h)break;d=a[h>>0]|0;if(!(d<<24>>24))break;b=c[46438]|0;if((i|0)>(b+-8|0)){e=b<<1;c[46438]=e;e=wH(c[46437]|0,e)|0;c[46437]=e;e=e+i|0;d=a[h>>0]|0}a:do switch(d<<24>>24){case 38:{if(j?(rH(h)|0)!=0:0)k=18;else{f=5;d=99104}break}case 60:{f=4;d=99127;break}case 62:{f=4;d=99110;break}case 45:{f=5;d=99121;break}default:{if((f|0)!=0&d<<24>>24==32)if((a[f>>0]|0)==32){f=6;d=99097;break a}else{k=18;break a}switch(d<<24>>24){case 34:{f=6;d=99090;break a}case 39:{f=5;d=99115;break a}case 10:if(j){k=18;break a}else{f=5;d=99084;break a}default:{k=18;break a}}}}while(0);if((k|0)==18){k=0;d=j|d<<24>>24!=13;f=d?1:5;d=d?h:99078}g=e+f|0;b=f;while(1){if(!b)break;a[e>>0]=a[d>>0]|0;b=b+-1|0;d=d+1|0;e=e+1|0}b=h;i=f+i|0;e=g;h=h+1|0;f=b}a[e>>0]=0;return c[46437]|0}function rH(b){b=b|0;var c=0,d=0;d=b+1|0;c=a[d>>0]|0;a:do if(c<<24>>24==35){d=b+2|0;c=a[d>>0]|0;switch(c<<24>>24){case 88:case 120:break;default:{b=d;while(1){d=b+1|0;if((c+-48&255)>=10)break a;b=d;c=a[d>>0]|0}}}d=b+3|0;while(1){c=a[d>>0]|0;if((c+-48&255)>=10)switch(c<<24>>24){case 65:case 66:case 67:case 68:case 69:case 70:case 97:case 98:case 99:case 100:case 101:case 102:break;default:break a}d=d+1|0}}else while(1){b=d+1|0;if(((c&-33)+-65&255)>=26)break a;d=b;c=a[b>>0]|0}while(0);return c<<24>>24==59|0}function sH(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0;d=c[46439]|0;if(!d){c[46440]=64;d=uH(64)|0;c[46439]=d;i=0}else i=0;while(1){if(!b)break;e=a[b>>0]|0;if(!(e<<24>>24))break;f=c[46440]|0;if((i|0)>(f+-8|0)){d=f<<1;c[46440]=d;d=wH(c[46439]|0,d)|0;c[46439]=d;d=d+i|0;e=a[b>>0]|0}switch(e<<24>>24){case 38:{if(!(rH(b)|0)){g=5;e=99104}else j=12;break}case 60:{g=4;e=99127;break}case 62:{g=4;e=99110;break}case 34:{g=6;e=99090;break}case 39:{g=5;e=99115;break}default:j=12}if((j|0)==12){j=0;g=1;e=b}h=d+g|0;f=g;while(1){if(!f)break;a[d>>0]=a[e>>0]|0;f=f+-1|0;e=e+1|0;d=d+1|0}i=g+i|0;d=h;b=b+1|0}a[d>>0]=0;return c[46439]|0}function tH(a){a=a|0;var b=0;if(!a)a=0;else{b=uH(a)|0;G3(b|0,0,a|0)|0;a=b}return a|0}function uH(a){a=a|0;if(a){a=B_(a)|0;if(!a){D1(108658,14,1,c[15686]|0)|0;a=0}}else a=0;return a|0}function vH(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;a=E_(a,O(d,b)|0)|0;if(!((b|0)!=0&(a|0)==0)){if(b>>>0>e>>>0)G3(a+(O(e,d)|0)|0,0,O(b-e|0,d)|0)|0}else D1(108658,14,1,c[15686]|0)|0;return a|0}function wH(a,b){a=a|0;b=b|0;a=E_(a,b)|0;if((b|0)!=0&(a|0)==0)D1(108658,14,1,c[15686]|0)|0;return a|0} +function nl(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0;M=l;l=l+320|0;H=M+296|0;G=M+280|0;x=M+136|0;w=M+120|0;n=M+104|0;i=M+88|0;f=M+80|0;E=M+16|0;z=M;j=M+264|0;k=M+248|0;m=M+232|0;o=M+216|0;A=M+200|0;B=M+184|0;y=M+168|0;D=M+152|0;g=ol(wx(a,87703)|0,b)|0;q=ol(wx(a,87709)|0,b)|0;r=(q|0)!=0;b=(g|0)!=0;do if(b|r?(L=a+16|0,e=c[(c[L>>2]|0)+8>>2]|0,e|0):0){if((c[e+4>>2]|0)>1){K=qy(c[((c[a>>2]&3|0)==3?a:a+48|0)+40>>2]|0)|0;L=qy(c[((c[a>>2]&3|0)==2?a:a+-48|0)+40>>2]|0)|0;c[f>>2]=K;c[f+4>>2]=L;Ow(0,87715,f)|0;break}I=c[e>>2]|0;e=c[I+4>>2]|0;p=c[a>>2]&3;s=a+-48|0;t=c[((p|0)==2?a:s)+40>>2]|0;u=a+48|0;p=c[((p|0)==3?a:u)+40>>2]|0;J=uH(48)|0;v=I+12|0;c[J+12>>2]=c[v>>2];C=I+8|0;c[J+8>>2]=c[C>>2];do if(b){h=(c[g+16>>2]|0)+16|0;g=(c[t+16>>2]|0)+16|0;c[H>>2]=c[g>>2];c[H+4>>2]=c[g+4>>2];c[H+8>>2]=c[g+8>>2];c[H+12>>2]=c[g+12>>2];if(!(pl(H,h)|0)){o=qy(c[((c[a>>2]&3|0)==3?a:u)+40>>2]|0)|0;F=qy(c[((c[a>>2]&3|0)==2?a:s)+40>>2]|0)|0;K=wx(a,87703)|0;c[i>>2]=o;c[i+4>>2]=F;c[i+8>>2]=K;Ow(0,87756,i)|0;K=26;break}b=c[I>>2]|0;c[H>>2]=c[b>>2];c[H+4>>2]=c[b+4>>2];c[H+8>>2]=c[b+8>>2];c[H+12>>2]=c[b+12>>2];if(pl(H,h)|0){F=(c[p+16>>2]|0)+16|0;c[H>>2]=c[F>>2];c[H+4>>2]=c[F+4>>2];c[H+8>>2]=c[F+8>>2];c[H+12>>2]=c[F+12>>2];if(pl(H,h)|0){o=qy(c[((c[a>>2]&3|0)==3?a:u)+40>>2]|0)|0;F=qy(c[((c[a>>2]&3|0)==2?a:s)+40>>2]|0)|0;K=wx(a,87703)|0;c[n>>2]=o;c[n+4>>2]=F;c[n+8>>2]=K;Ow(0,87799,n)|0;K=26;break}if(!(c[C>>2]|0))qa(87841,87852,369,87863);o=I+16|0;c[G>>2]=c[b>>2];c[G+4>>2]=c[b+4>>2];c[G+8>>2]=c[b+8>>2];c[G+12>>2]=c[b+12>>2];c[H>>2]=c[o>>2];c[H+4>>2]=c[o+4>>2];c[H+8>>2]=c[o+8>>2];c[H+12>>2]=c[o+12>>2];ql(z,G,H,h);F=(c[I>>2]|0)+48|0;c[F>>2]=c[z>>2];c[F+4>>2]=c[z+4>>2];c[F+8>>2]=c[z+8>>2];c[F+12>>2]=c[z+12>>2];F=(c[I>>2]|0)+16|0;c[G>>2]=c[z>>2];c[G+4>>2]=c[z+4>>2];c[G+8>>2]=c[z+8>>2];c[G+12>>2]=c[z+12>>2];c[H>>2]=c[o>>2];c[H+4>>2]=c[o+4>>2];c[H+8>>2]=c[o+8>>2];c[H+12>>2]=c[o+12>>2];rl(j,G,H);c[F>>2]=c[j>>2];c[F+4>>2]=c[j+4>>2];c[F+8>>2]=c[j+8>>2];c[F+12>>2]=c[j+12>>2];F=c[I>>2]|0;b=F+16|0;c[G>>2]=c[b>>2];c[G+4>>2]=c[b+4>>2];c[G+8>>2]=c[b+8>>2];c[G+12>>2]=c[b+12>>2];c[H>>2]=c[o>>2];c[H+4>>2]=c[o+4>>2];c[H+8>>2]=c[o+8>>2];c[H+12>>2]=c[o+12>>2];rl(k,G,H);c[F>>2]=c[k>>2];c[F+4>>2]=c[k+4>>2];c[F+8>>2]=c[k+8>>2];c[F+12>>2]=c[k+12>>2];F=c[I>>2]|0;b=F+32|0;F=F+16|0;c[G>>2]=c[F>>2];c[G+4>>2]=c[F+4>>2];c[G+8>>2]=c[F+8>>2];c[G+12>>2]=c[F+12>>2];c[H>>2]=c[z>>2];c[H+4>>2]=c[z+4>>2];c[H+8>>2]=c[z+8>>2];c[H+12>>2]=c[z+12>>2];rl(m,G,H);c[b>>2]=c[m>>2];c[b+4>>2]=c[m+4>>2];c[b+8>>2]=c[m+8>>2];c[b+12>>2]=c[m+12>>2];b=c[v>>2]|0;if(!b){F=3;break}F=(EE(a,c[I>>2]|0,0,0,J,b)|0)+3|0;break}g=e+-1|0;b=0;while(1){if((b|0)>=(g|0))break;if(sl((c[I>>2]|0)+(b<<4)|0,h)|0)break;b=b+3|0}e=c[v>>2]|0;f=(e|0)!=0;if((b|0)==(g|0))if(f){F=J+32|0;m=I+32|0;n=(c[I>>2]|0)+(g<<4)|0;c[G>>2]=c[m>>2];c[G+4>>2]=c[m+4>>2];c[G+8>>2]=c[m+8>>2];c[G+12>>2]=c[m+12>>2];c[H>>2]=c[n>>2];c[H+4>>2]=c[n+4>>2];c[H+8>>2]=c[n+8>>2];c[H+12>>2]=c[n+12>>2];ql(o,G,H,h);c[F>>2]=c[o>>2];c[F+4>>2]=c[o+4>>2];c[F+8>>2]=c[o+8>>2];c[F+12>>2]=c[o+12>>2];F=g;break}else qa(87880,87852,387,87863);else{if(f)b=EE(a,c[I>>2]|0,0,b,J,e)|0;F=b+3|0;break}}else K=26;while(0);if((K|0)==26){b=e+-1|0;if(!(c[v>>2]|0))F=b;else{F=J+32|0;o=I+32|0;c[F>>2]=c[o>>2];c[F+4>>2]=c[o+4>>2];c[F+8>>2]=c[o+8>>2];c[F+12>>2]=c[o+12>>2];F=b}}do if(r){f=(c[q+16>>2]|0)+16|0;r=(c[p+16>>2]|0)+16|0;c[H>>2]=c[r>>2];c[H+4>>2]=c[r+4>>2];c[H+8>>2]=c[r+8>>2];c[H+12>>2]=c[r+12>>2];if(!(pl(H,f)|0)){G=qy(c[((c[a>>2]&3|0)==3?a:u)+40>>2]|0)|0;H=qy(c[((c[a>>2]&3|0)==2?a:s)+40>>2]|0)|0;K=wx(a,87709)|0;c[w>>2]=G;c[w+4>>2]=H;c[w+8>>2]=K;Ow(0,87891,w)|0;K=52;break}b=(c[I>>2]|0)+(F<<4)|0;c[H>>2]=c[b>>2];c[H+4>>2]=c[b+4>>2];c[H+8>>2]=c[b+8>>2];c[H+12>>2]=c[b+12>>2];if(pl(H,f)|0){E=(c[t+16>>2]|0)+16|0;c[H>>2]=c[E>>2];c[H+4>>2]=c[E+4>>2];c[H+8>>2]=c[E+8>>2];c[H+12>>2]=c[E+12>>2];if(pl(H,f)|0){G=qy(c[((c[a>>2]&3|0)==3?a:u)+40>>2]|0)|0;H=qy(c[((c[a>>2]&3|0)==2?a:s)+40>>2]|0)|0;K=wx(a,87709)|0;c[x>>2]=G;c[x+4>>2]=H;c[x+8>>2]=K;Ow(0,87934,x)|0;K=52;break}if(!(c[v>>2]|0))qa(87880,87852,429,87863);x=J+32|0;c[G>>2]=c[b>>2];c[G+4>>2]=c[b+4>>2];c[G+8>>2]=c[b+8>>2];c[G+12>>2]=c[b+12>>2];c[H>>2]=c[x>>2];c[H+4>>2]=c[x+4>>2];c[H+8>>2]=c[x+8>>2];c[H+12>>2]=c[x+12>>2];ql(z,G,H,f);d=F+-3|0;E=(c[I>>2]|0)+(d<<4)|0;c[E>>2]=c[z>>2];c[E+4>>2]=c[z+4>>2];c[E+8>>2]=c[z+8>>2];c[E+12>>2]=c[z+12>>2];E=F+-1|0;b=(c[I>>2]|0)+(E<<4)|0;c[G>>2]=c[z>>2];c[G+4>>2]=c[z+4>>2];c[G+8>>2]=c[z+8>>2];c[G+12>>2]=c[z+12>>2];c[H>>2]=c[x>>2];c[H+4>>2]=c[x+4>>2];c[H+8>>2]=c[x+8>>2];c[H+12>>2]=c[x+12>>2];rl(A,G,H);c[b>>2]=c[A>>2];c[b+4>>2]=c[A+4>>2];c[b+8>>2]=c[A+8>>2];c[b+12>>2]=c[A+12>>2];b=c[I>>2]|0;D=b+(F<<4)|0;b=b+(E<<4)|0;c[G>>2]=c[b>>2];c[G+4>>2]=c[b+4>>2];c[G+8>>2]=c[b+8>>2];c[G+12>>2]=c[b+12>>2];c[H>>2]=c[x>>2];c[H+4>>2]=c[x+4>>2];c[H+8>>2]=c[x+8>>2];c[H+12>>2]=c[x+12>>2];rl(B,G,H);c[D>>2]=c[B>>2];c[D+4>>2]=c[B+4>>2];c[D+8>>2]=c[B+8>>2];c[D+12>>2]=c[B+12>>2];D=c[I>>2]|0;b=D+(F+-2<<4)|0;E=D+(E<<4)|0;c[G>>2]=c[E>>2];c[G+4>>2]=c[E+4>>2];c[G+8>>2]=c[E+8>>2];c[G+12>>2]=c[E+12>>2];c[H>>2]=c[z>>2];c[H+4>>2]=c[z+4>>2];c[H+8>>2]=c[z+8>>2];c[H+12>>2]=c[z+12>>2];rl(y,G,H);c[b>>2]=c[y>>2];c[b+4>>2]=c[y+4>>2];c[b+8>>2]=c[y+8>>2];c[b+12>>2]=c[y+12>>2];b=c[C>>2]|0;if(!b)break;d=GE(a,c[I>>2]|0,d,d,J,b)|0;break}e=F;while(1){if((e|0)>0)b=0;else break;while(1){if((b|0)==4)break;B=E+(b<<4)|0;A=(c[I>>2]|0)+(e-b<<4)|0;c[B>>2]=c[A>>2];c[B+4>>2]=c[A+4>>2];c[B+8>>2]=c[A+8>>2];c[B+12>>2]=c[A+12>>2];b=b+1|0}if(sl(E,f)|0){b=0;K=43;break}e=e+-3|0}a:do if((K|0)==43)while(1){K=0;if((b|0)==4)break a;K=(c[I>>2]|0)+(e-b<<4)|0;B=E+(b<<4)|0;c[K>>2]=c[B>>2];c[K+4>>2]=c[B+4>>2];c[K+8>>2]=c[B+8>>2];c[K+12>>2]=c[B+12>>2];b=b+1|0;K=43}while(0);if(e|0){d=e+-3|0;b=c[C>>2]|0;if(!b)break;d=GE(a,c[I>>2]|0,d,F+-3|0,J,b)|0;break}if(!(c[C>>2]|0))qa(87841,87852,452,87863);else{d=J+16|0;E=I+16|0;a=c[I>>2]|0;c[G>>2]=c[E>>2];c[G+4>>2]=c[E+4>>2];c[G+8>>2]=c[E+8>>2];c[G+12>>2]=c[E+12>>2];c[H>>2]=c[a>>2];c[H+4>>2]=c[a+4>>2];c[H+8>>2]=c[a+8>>2];c[H+12>>2]=c[a+12>>2];ql(D,G,H,f);c[d>>2]=c[D>>2];c[d+4>>2]=c[D+4>>2];c[d+8>>2]=c[D+8>>2];c[d+12>>2]=c[D+12>>2];d=0;break}}else K=52;while(0);if((K|0)==52)if(!(c[C>>2]|0))d=0;else{d=J+16|0;K=I+16|0;c[d>>2]=c[K>>2];c[d+4>>2]=c[K+4>>2];c[d+8>>2]=c[K+8>>2];c[d+12>>2]=c[K+12>>2];d=0}b=F-d+1|0;e=J+4|0;c[e>>2]=b;c[J>>2]=uH(b<<4)|0;b=0;while(1){if((b|0)>=(c[e>>2]|0))break;K=(c[J>>2]|0)+(b<<4)|0;a=(c[I>>2]|0)+(d<<4)|0;c[K>>2]=c[a>>2];c[K+4>>2]=c[a+4>>2];c[K+8>>2]=c[a+8>>2];c[K+12>>2]=c[a+12>>2];d=d+1|0;b=b+1|0}C_(c[I>>2]|0);C_(I);c[c[(c[L>>2]|0)+8>>2]>>2]=J}while(0);l=M;return}function ol(b,d){b=b|0;d=d|0;var e=0,f=0;f=l;l=l+16|0;e=f;if((b|0)!=0?(a[b>>0]|0)!=0:0){d=uM(d,b)|0;if(!d){c[e>>2]=b;Ow(0,88054,e)|0;d=0}}else d=0;l=f;return d|0}function pl(a,b){a=a|0;b=b|0;var c=0.0,d=0.0;d=+h[a>>3];if((+h[b>>3]<=d?d<=+h[b+16>>3]:0)?(c=+h[a+8>>3],+h[b+8>>3]<=c):0)a=c<=+h[b+24>>3]&1;else a=0;return a|0}function ql(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0.0,g=0.0,i=0,j=0.0,k=0.0,m=0.0,n=0,o=0.0,p=0.0,q=0.0,r=0.0,s=0.0,t=0.0,u=0,v=0,w=0,x=0,y=0.0,z=0,A=0,B=0,C=0;C=l;l=l+464|0;n=C+48|0;B=C+32|0;u=C+16|0;v=C;w=C+364|0;x=C+264|0;z=C+164|0;A=C+64|0;q=+h[b>>3];r=+h[b+8>>3];s=+h[d>>3];t=+h[d+8>>3];c[u>>2]=c[e>>2];c[u+4>>2]=c[e+4>>2];c[u+8>>2]=c[e+8>>2];c[u+12>>2]=c[e+12>>2];e=e+16|0;c[v>>2]=c[e>>2];c[v+4>>2]=c[e+4>>2];c[v+8>>2]=c[e+8>>2];c[v+12>>2]=c[e+12>>2];k=+h[u>>3];if((s=+h[u+8>>3]):0)?f<=+h[v+8>>3]:0){o=f;p=k}else i=4;do if((i|0)==4){j=+h[v>>3];if(s>j){g=r+ +(~~((j-q)*(r-t)/(q-s))|0);f=+h[u+8>>3];if(g>=f?g<=+h[v+8>>3]:0){o=g;p=j;break}}else f=+h[u+8>>3];if(t=k)|!(m<=j))):0){o=f;p=m;break}f=+h[v+8>>3];if(t>f?(y=q+ +(~~((f-r)*(q-s)/(r-t))|0),!(!(y>=k)|!(y<=j))):0){o=f;p=y;break};c[n>>2]=c[b>>2];c[n+4>>2]=c[b+4>>2];c[n+8>>2]=c[b+8>>2];c[n+12>>2]=c[b+12>>2];w=xl(n,w)|0;c[n>>2]=c[d>>2];c[n+4>>2]=c[d+4>>2];c[n+8>>2]=c[d+8>>2];c[n+12>>2]=c[d+12>>2];x=xl(n,x)|0;c[n>>2]=c[u>>2];c[n+4>>2]=c[u+4>>2];c[n+8>>2]=c[u+8>>2];c[n+12>>2]=c[u+12>>2];z=xl(n,z)|0;c[n>>2]=c[v>>2];c[n+4>>2]=c[v+4>>2];c[n+8>>2]=c[v+8>>2];c[n+12>>2]=c[v+12>>2];A=xl(n,A)|0;c[B>>2]=w;c[B+4>>2]=x;c[B+8>>2]=z;c[B+12>>2]=A;Ow(1,87976,B)|0;qa(135312,87852,78,88028)}while(0);h[a>>3]=p;h[a+8>>3]=o;l=C;return}function rl(a,b,c){a=a|0;b=b|0;c=c|0;var d=0.0;d=(+h[c+8>>3]+ +h[b+8>>3])*.5;h[a>>3]=(+h[c>>3]+ +h[b>>3])*.5;h[a+8>>3]=d;return}function sl(a,b){a=a|0;b=b|0;var d=0.0,e=0,f=0.0,g=0,i=0,j=0,k=0,m=0;m=l;l=l+80|0;j=m+16|0;k=m;e=0;while(1){if((e|0)==4)break;i=j+(e<<4)|0;g=a+(e<<4)|0;c[i>>2]=c[g>>2];c[i+4>>2]=c[g+4>>2];c[i+8>>2]=c[g+8>>2];c[i+12>>2]=c[g+12>>2];e=e+1|0}e=b+8|0;i=b+24|0;d=+tl(a,0.0,1.0,+h[b>>3],+h[e>>3],+h[i>>3]);if(d>=0.0&d<2.0)WL(k,j,3,d,a,0);else d=2.0;g=b+16|0;f=+tl(a,0.0,d>1.0?1.0:d,+h[g>>3],+h[e>>3],+h[i>>3]);if(f>=0.0&f1.0?1.0:d,+h[e>>3],+h[b>>3],+h[g>>3]);if(f>=0.0&f1.0?1.0:d,+h[i>>3],+h[b>>3],+h[g>>3]);if(f>=0.0&f>3]-d))<=.005){b=+h[a+56>>3];b=!(b>=e)|!(b<=f)?-1.0:c;break a}break}default:{}}WL(i,a,3,.5,j,k);g=(c+b)*.5;b=+tl(j,b,g,d,e,f);if(!(b>=0.0))b=+tl(k,g,c,d,e,f)}while(0);l=m;return +b}function ul(a,b,c,d,e,f){a=a|0;b=+b;c=+c;d=+d;e=+e;f=+f;var g=0.0,i=0,j=0,k=0,m=0;m=l;l=l+144|0;j=m+80|0;k=m+16|0;i=m;a:do if(!(b==c)){switch(vl(a,d)|0){case 0:{b=-1.0;break a}case 1:{if(+B(+(+h[a+56>>3]-d))<=.005){b=+h[a+48>>3];b=!(b>=e)|!(b<=f)?-1.0:c;break a}break}default:{}}WL(i,a,3,.5,j,k);g=(c+b)*.5;b=+ul(j,b,g,d,e,f);if(!(b>=0.0))b=+ul(k,g,c,d,e,f)}while(0);l=m;return +b}function vl(a,b){a=a|0;b=+b;var c=0,d=0,e=0,f=0.0,g=0,i=0;f=+h[a+8>>3];e=fb&1;c=1;d=e;e=(e|0)==0&1;while(1){if((c|0)==4)break;f=+h[a+(c<<4)+8>>3];i=fb&1;g=e+((d|0)!=0&(i|0)!=(d|0)&1)|0;c=c+1|0;d=i;e=g}return e|0}function wl(a,b){a=a|0;b=+b;var c=0,d=0,e=0,f=0.0,g=0,i=0;f=+h[a>>3];e=fb&1;c=1;d=e;e=(e|0)==0&1;while(1){if((c|0)==4)break;f=+h[a+(c<<4)>>3];i=fb&1;g=e+((d|0)!=0&(i|0)!=(d|0)&1)|0;c=c+1|0;d=i;e=g}return e|0}function xl(a,b){a=a|0;b=b|0;var c=0,d=0,e=0.0;c=l;l=l+16|0;d=c;e=+h[a+8>>3];h[d>>3]=+h[a>>3];h[d+8>>3]=e;X0(b,88042,d)|0;l=c;return b|0}function yl(a){a=a|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,q=0,r=0,s=0,t=0,u=0,v=0;v=l;l=l+16|0;s=v;u=4;t=B_(40)|0;c[t>>2]=0;r=a+16|0;e=c[r>>2]|0;a:do if(((b[e+238>>1]|0)-(b[e+236>>1]|0)|0)>=2){m=1;d=e;e=c[e+196>>2]|0;b:while(1){n=m+1|0;if(!(c[e+(n<<6)>>2]|0)){q=15;break}else k=0;while(1){h=c[e+(m<<6)>>2]|0;if((k|0)>=(h|0)){m=n;continue b}j=c[(c[e+(m<<6)+4>>2]|0)+(k<<2)>>2]|0;o=0;d=$(20,j|0)|0;f=o;o=0;if((f|0)!=0&(p|0)!=0){g=D3(c[f>>2]|0,t|0,u|0)|0;if(!g)bb(f|0,p|0);z=p}else g=-1;if((g|0)==1){d=z;break b}if(d<<24>>24){i=k;d=h;while(1){g=i+1|0;if((g|0)>=(d|0))break;o=0;d=aa(65,j|0,c[(c[e+(m<<6)+4>>2]|0)+(g<<2)>>2]|0)|0;e=o;o=0;if((e|0)!=0&(p|0)!=0){f=D3(c[e>>2]|0,t|0,u|0)|0;if(!f)bb(e|0,p|0);z=p}else f=-1;if((f|0)==1){d=z;break b}if(!(d<<24>>24))break;d=c[(c[r>>2]|0)+196>>2]|0;i=g;e=d;d=c[d+(m<<6)>>2]|0}if((g-k|0)>1){o=0;na(6,a|0,m|0,k|0,i|0,1);d=o;o=0;if((d|0)!=0&(p|0)!=0){e=D3(c[d>>2]|0,t|0,u|0)|0;if(!e)bb(d|0,p|0);z=p}else e=-1;if((e|0)==1){d=z;break b}}}e=c[r>>2]|0;k=k+1|0;d=e;e=c[e+196>>2]|0}}c:do if((q|0)==15){while(1){if((m|0)>0)k=0;else break;while(1){e=c[d+196>>2]|0;h=c[e+(m<<6)>>2]|0;if((k|0)>=(h|0))break;j=c[(c[e+(m<<6)+4>>2]|0)+(k<<2)>>2]|0;o=0;d=$(21,j|0)|0;f=o;o=0;if((f|0)!=0&(p|0)!=0){g=D3(c[f>>2]|0,t|0,u|0)|0;if(!g)bb(f|0,p|0);z=p}else g=-1;if((g|0)==1){d=z;break c}if(d<<24>>24){i=k;d=h;while(1){g=i+1|0;if((g|0)>=(d|0))break;o=0;d=aa(66,j|0,c[(c[e+(m<<6)+4>>2]|0)+(g<<2)>>2]|0)|0;e=o;o=0;if((e|0)!=0&(p|0)!=0){f=D3(c[e>>2]|0,t|0,u|0)|0;if(!f)bb(e|0,p|0);z=p}else f=-1;if((f|0)==1){d=z;break c}if(!(d<<24>>24))break;d=c[(c[r>>2]|0)+196>>2]|0;i=g;e=d;d=c[d+(m<<6)>>2]|0}if((g-k|0)>1){o=0;na(6,a|0,m|0,k|0,i|0,0);d=o;o=0;if((d|0)!=0&(p|0)!=0){e=D3(c[d>>2]|0,t|0,u|0)|0;if(!e)bb(d|0,p|0);z=p}else e=-1;if((e|0)==1){d=z;break c}}}k=k+1|0;d=c[r>>2]|0}m=m+-1|0;q=15}t=C3(183936,1,t|0,u|0)|0;u=z;o=0;d=o;o=0;if((d|0)!=0&(p|0)!=0){e=D3(c[d>>2]|0,t|0,u|0)|0;if(!e)bb(d|0,p|0);z=p}else e=-1;if((e|0)==1)d=z;else d=0}while(0);d:while(1){if(d){o=0;ca(20,3,88082,s|0)|0;d=o;o=0;if((d|0)!=0&(p|0)!=0){e=D3(c[d>>2]|0,t|0,u|0)|0;if(!e)bb(d|0,p|0);z=p}else e=-1;if((e|0)==1){d=z;continue}else break}else f=1;while(1){d=c[r>>2]|0;if((f|0)>(c[d+180>>2]|0))break a;o=0;ia(99,c[(c[d+184>>2]|0)+(f<<2)>>2]|0);d=o;o=0;if((d|0)!=0&(p|0)!=0){e=D3(c[d>>2]|0,t|0,u|0)|0;if(!e)bb(d|0,p|0);z=p}else e=-1;if((e|0)==1){d=z;continue d}f=f+1|0}}}while(0);C_(t|0);l=v;return}function zl(b){b=b|0;b=c[b+16>>2]|0;if(((a[b+156>>0]|0)==1?(c[b+176>>2]|0)==1:0)?(c[b+184>>2]|0)==1:0)b=(c[b+104>>2]|0)==0&1;else b=0;return b|0}function Al(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0;i=l;l=l+80|0;h=i+40|0;g=i;e=c[c[(c[a+16>>2]|0)+172>>2]>>2]|0;a=c[c[(c[b+16>>2]|0)+172>>2]>>2]|0;if(((zl(b)|0)<<24>>24!=0?(c[((c[e>>2]&3|0)==3?e:e+48|0)+40>>2]|0)==(c[((c[a>>2]&3|0)==3?a:a+48|0)+40>>2]|0):0)?(Gl(e,a)|0)<<24>>24!=0:0){d=(c[a+16>>2]|0)+16|0;f=g;a=(c[e+16>>2]|0)+16|0;b=f+40|0;do{c[f>>2]=c[a>>2];f=f+4|0;a=a+4|0}while((f|0)<(b|0));f=h;a=d;b=f+40|0;do{c[f>>2]=c[a>>2];f=f+4|0;a=a+4|0}while((f|0)<(b|0));a=(ig(g,h)|0)==0&1}else a=0;l=i;return a|0}function Bl(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;t=a+16|0;q=c[(c[(c[(c[t>>2]|0)+196>>2]|0)+(b<<6)+4>>2]|0)+(d<<2)>>2]|0;p=d+1|0;m=(f|0)==1;n=q+16|0;l=p;while(1){if((l|0)>(e|0)){g=e;s=p;break}o=c[(c[(c[(c[t>>2]|0)+196>>2]|0)+(b<<6)+4>>2]|0)+(l<<2)>>2]|0;k=o+16|0;a:do if(m)while(1){d=c[k>>2]|0;j=c[c[d+180>>2]>>2]|0;if(!j)break a;h=c[(c[n>>2]|0)+180>>2]|0;i=j+-48|0;f=0;while(1){d=c[h+(f<<2)>>2]|0;if(!d){r=8;break}if((c[((c[d>>2]&3|0)==2?d:d+-48|0)+40>>2]|0)==(c[((c[j>>2]&3|0)==2?j:i)+40>>2]|0))break;else f=f+1|0}if((r|0)==8){r=0;d=oh(q,c[((c[j>>2]&3|0)==2?j:i)+40>>2]|0,j)|0}while(1){f=c[c[(c[k>>2]|0)+172>>2]>>2]|0;if(!f)break;wh(f,d);jh(f)}jh(j)}else while(1){d=c[k>>2]|0;j=c[c[d+172>>2]>>2]|0;if(!j)break a;h=c[(c[n>>2]|0)+172>>2]|0;i=j+48|0;f=0;while(1){d=c[h+(f<<2)>>2]|0;if(!d){r=17;break}if((c[((c[d>>2]&3|0)==3?d:d+48|0)+40>>2]|0)==(c[((c[j>>2]&3|0)==3?j:i)+40>>2]|0))break;else f=f+1|0}if((r|0)==17){r=0;d=oh(c[((c[j>>2]&3|0)==3?j:i)+40>>2]|0,q,j)|0}while(1){f=c[c[(c[k>>2]|0)+180>>2]>>2]|0;if(!f)break;wh(f,d);jh(f)}jh(j)}while(0);if((c[d+176>>2]|0)!=(0-(c[d+184>>2]|0)|0)){r=23;break}rh(a,o);l=l+1|0}if((r|0)==23)qa(88218,88262,115,88269);while(1){g=g+1|0;d=c[(c[t>>2]|0)+196>>2]|0;f=d+(b<<6)|0;if((g|0)>=(c[f>>2]|0))break;e=c[d+(b<<6)+4>>2]|0;r=c[e+(g<<2)>>2]|0;c[e+(s<<2)>>2]=r;c[(c[r+16>>2]|0)+236>>2]=s;s=s+1|0}c[f>>2]=s;c[(c[d+(b<<6)+4>>2]|0)+(s<<2)>>2]=0;return}function Cl(b){b=b|0;b=c[b+16>>2]|0;if(((a[b+156>>0]|0)==1?(c[b+184>>2]|0)==1:0)?(c[b+176>>2]|0)==1:0)b=(c[b+104>>2]|0)==0&1;else b=0;return b|0}function Dl(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0;i=l;l=l+80|0;h=i+40|0;g=i;e=c[c[(c[a+16>>2]|0)+180>>2]>>2]|0;a=c[c[(c[b+16>>2]|0)+180>>2]>>2]|0;if(((Cl(b)|0)<<24>>24!=0?(c[((c[e>>2]&3|0)==2?e:e+-48|0)+40>>2]|0)==(c[((c[a>>2]&3|0)==2?a:a+-48|0)+40>>2]|0):0)?(Gl(e,a)|0)<<24>>24!=0:0){d=(c[a+16>>2]|0)+56|0;f=g;a=(c[e+16>>2]|0)+56|0;b=f+40|0;do{c[f>>2]=c[a>>2];f=f+4|0;a=a+4|0}while((f|0)<(b|0));f=h;a=d;b=f+40|0;do{c[f>>2]=c[a>>2];f=f+4|0;a=a+4|0}while((f|0)<(b|0));a=(ig(g,h)|0)==0&1}else a=0;l=i;return a|0}function El(d){d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0;r=l;l=l+32|0;p=r+16|0;o=r;m=d+16|0;f=c[m>>2]|0;e=b[f+236>>1]|0;while(1){if((e|0)>(b[f+238>>1]|0))break;c[(c[f+268>>2]|0)+(e<<2)>>2]=0;e=e+1|0;f=c[m>>2]|0}wj(d);j=Ry(d)|0;while(1){if(!j)break;Fl(d,j);i=Dx(d,j)|0;while(1){if(!i)break;else f=i;while(1){e=c[(c[f+16>>2]|0)+172>>2]|0;if(!e)break;else f=e}h=i+-48|0;while(1){e=f+-48|0;g=c[((c[f>>2]&3|0)==2?f:e)+40>>2]|0;if((c[(c[g+16>>2]|0)+232>>2]|0)>=(c[(c[(c[((c[i>>2]&3|0)==2?i:h)+40>>2]|0)+16>>2]|0)+232>>2]|0))break;Fl(d,g);f=c[c[(c[(c[((c[f>>2]&3|0)==2?f:e)+40>>2]|0)+16>>2]|0)+180>>2]>>2]|0}i=Fx(d,i)|0}j=Sy(d,j)|0}e=c[m>>2]|0;i=b[e+236>>1]|0;while(1){if((i|0)>(b[e+238>>1]|0)){k=1;n=e;break}e=c[(c[e+268>>2]|0)+(i<<2)>>2]|0;j=c[(c[(c[(hg(d)|0)+16>>2]|0)+196>>2]|0)+(i<<6)+4>>2]|0;f=e+16|0;if((c[j+(c[(c[f>>2]|0)+236>>2]<<2)>>2]|0)!=(e|0)){q=17;break}h=c[(c[(c[(hg(d)|0)+16>>2]|0)+196>>2]|0)+(i<<6)+4>>2]|0;e=c[m>>2]|0;f=c[e+196>>2]|0;c[f+(i<<6)+4>>2]=h+(c[(c[(c[(c[e+268>>2]|0)+(i<<2)>>2]|0)+16>>2]|0)+236>>2]<<2);e=-1;h=0;a:while(1){if((h|0)>=(c[f+(i<<6)>>2]|0))break;f=c[(c[f+(i<<6)+4>>2]|0)+(h<<2)>>2]|0;if(!f)break;g=c[f+16>>2]|0;b:do if(!(a[g+156>>0]|0))if(!(nz(d,f)|0))break a;else e=h;else{f=c[c[g+172>>2]>>2]|0;while(1){if(!f)break b;g=c[(c[f+16>>2]|0)+116>>2]|0;if(!g)break;else f=g}if(nz(d,c[((c[f>>2]&3|0)==3?f:f+48|0)+40>>2]|0)|0){j=(nz(d,c[((c[f>>2]&3|0)==2?f:f+-48|0)+40>>2]|0)|0)==0;e=j?e:h}}while(0);h=h+1|0;f=c[(c[m>>2]|0)+196>>2]|0}if((e|0)==-1){c[p>>2]=qy(d)|0;c[p+4>>2]=i;Ow(0,88182,p)|0}j=c[m>>2]|0;c[(c[j+196>>2]|0)+(i<<6)>>2]=e+1;i=i+1|0;e=j}if((q|0)==17){p=qy(e)|0;q=c[(c[f>>2]|0)+236>>2]|0;c[o>>2]=p;c[o+4>>2]=q;c[o+8>>2]=i;Ow(1,88124,o)|0;bb(183936,1)}while(1){if((k|0)>(c[n+180>>2]|0))break;El(c[(c[n+184>>2]|0)+(k<<2)>>2]|0);k=k+1|0;n=c[m>>2]|0}l=r;return}function Fl(a,b){a=a|0;b=b|0;var d=0,e=0;d=c[b+16>>2]|0;a=(c[(c[a+16>>2]|0)+268>>2]|0)+(c[d+232>>2]<<2)|0;e=c[a>>2]|0;if(!((e|0)!=0?(c[(c[e+16>>2]|0)+236>>2]|0)<=(c[d+236>>2]|0):0))c[a>>2]=b;return}function Gl(b,d){b=b|0;d=d|0;var e=0,f=0;while(1){f=c[b+16>>2]|0;if(!(a[f+112>>0]|0))break;b=c[f+116>>2]|0}while(1){e=c[d+16>>2]|0;if(!(a[e+112>>0]|0))break;d=c[e+116>>2]|0}if((a[f+153>>0]|0)==0?(a[e+153>>0]|0)==0:0){f=c[d>>2]&3;e=c[b>>2]&3;b=(O((c[(c[(c[((e|0)==3?b:b+48|0)+40>>2]|0)+16>>2]|0)+232>>2]|0)-(c[(c[(c[((e|0)==2?b:b+-48|0)+40>>2]|0)+16>>2]|0)+232>>2]|0)|0,(c[(c[(c[((f|0)==3?d:d+48|0)+40>>2]|0)+16>>2]|0)+232>>2]|0)-(c[(c[(c[((f|0)==2?d:d+-48|0)+40>>2]|0)+16>>2]|0)+232>>2]|0)|0)|0)>0&1}else b=0;return b|0}function Hl(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0;k=l;l=l+544|0;j=k+528|0;Il(j,k+512|0,k);e=(a[190690]|0)+1<<24>>24;a[190690]=e<<24>>24==0?1:e;e=c[b+16>>2]|0;c[e+220>>2]=0;c[e+232>>2]=0;e=(d|0)>0;d=Ry(b)|0;while(1){if(!d)break;if(e?(h=c[d+16>>2]|0,i=c[h+212>>2]|0,(i|0)!=0):0){g=c[(c[(c[i+16>>2]|0)+268>>2]|0)+(c[h+232>>2]<<2)>>2]|0;f=7}else f=6;if((f|0)==6?(f=0,(d|0)==(RL(d)|0)):0){g=d;f=7}if((f|0)==7?(0,(a[(c[g+16>>2]|0)+157>>0]|0)!=(a[190690]|0)):0){Jl(b);Kl(j,b,g);Ll(b)}d=Sy(b,d)|0}Ml(j);l=k;return}function Il(a,b,d){a=a|0;b=b|0;d=d|0;c[b>>2]=d;c[b+4>>2]=d+512;c[b+12>>2]=0;c[b+8>>2]=0;c[a>>2]=b;c[a+4>>2]=b;c[a+8>>2]=d;return}function Jl(a){a=a|0;c[(c[a+16>>2]|0)+192>>2]=0;c[46023]=0;return}function Kl(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0;q=l;l=l+32|0;p=q;Nl(b,e);k=p+8|0;m=p+16|0;n=p+24|0;a:while(1){o=Ol(b)|0;if(!o)break;e=o+16|0;if((a[(c[e>>2]|0)+157>>0]|0)==(a[190690]|0))continue;Pl(d,o);h=c[e>>2]|0;g=h+180|0;j=c[g+4>>2]|0;i=p;c[i>>2]=c[g>>2];c[i+4>>2]=j;i=h+172|0;j=c[i+4>>2]|0;g=k;c[g>>2]=c[i>>2];c[g+4>>2]=j;g=h+188|0;j=c[g+4>>2]|0;i=m;c[i>>2]=c[g>>2];c[i+4>>2]=j;h=h+196|0;i=c[h+4>>2]|0;j=n;c[j>>2]=c[h>>2];c[j+4>>2]=i;j=3;while(1){if((j|0)<=-1)continue a;e=c[p+(j<<3)>>2]|0;b:do if(e|0){i=(c[p+(j<<3)+4>>2]|0)+-1|0;h=e+(i<<2)|0;while(1){if((i|0)<=-1)break b;f=c[h>>2]|0;g=c[f>>2]&3;e=c[((g|0)==2?f:f+-48|0)+40>>2]|0;if((e|0)==(o|0))e=c[((g|0)==3?f:f+48|0)+40>>2]|0;if((a[(c[e+16>>2]|0)+157>>0]|0)!=(a[190690]|0)?(e|0)==(RL(e)|0):0)Nl(b,e);h=h+-4|0;i=i+-1|0}}while(0);j=j+-1|0}}l=q;return}function Ll(a){a=a|0;var b=0,d=0,e=0,f=0;d=a+16|0;b=c[d>>2]|0;f=b+220|0;e=c[f>>2]|0;a=e+1|0;c[f>>2]=a;b=c[b+216>>2]|0;if(!b)a=uH(a<<2)|0;else a=wH(b,a<<2)|0;f=c[d>>2]|0;c[f+216>>2]=a;c[a+(e<<2)>>2]=c[f+192>>2];return}function Ml(a){a=a|0;var b=0;a=c[(c[a>>2]|0)+12>>2]|0;while(1){if(!a)break;b=c[a+12>>2]|0;C_(c[a>>2]|0);C_(a);a=b}return}function Nl(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0;k=l;l=l+16|0;h=k+8|0;g=k;j=b+8|0;f=c[j>>2]|0;i=b+4|0;b=c[i>>2]|0;if((f|0)==(c[b+4>>2]|0)){f=c[b+12>>2]|0;if(!f){f=tH(16)|0;if(!f)Ow(1,95943,g)|0;c[f+8>>2]=c[i>>2];c[f+12>>2]=0;b=tH(4e6)|0;c[f>>2]=b;if(!b){Ow(1,88282,h)|0;b=c[f>>2]|0}c[f+4>>2]=b+4e6;c[(c[i>>2]|0)+12>>2]=f}c[i>>2]=f;f=c[f>>2]|0;c[j>>2]=f}a[(c[e+16>>2]|0)+157>>0]=(d[190690]|0)+1;c[j>>2]=f+4;c[f>>2]=e;l=k;return}function Ol(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;f=a+8|0;b=c[f>>2]|0;d=a+4|0;e=c[d>>2]|0;if((b|0)==(c[e>>2]|0))if((e|0)==(c[a>>2]|0))b=0;else{b=c[e+8>>2]|0;c[d>>2]=b;b=c[b+4>>2]|0;c[f>>2]=b;g=4}else g=4;if((g|0)==4){b=b+-4|0;c[f>>2]=b;b=c[b>>2]|0}return b|0}function Pl(b,d){b=b|0;d=d|0;var e=0,f=0,g=0;f=c[b+16>>2]|0;g=f+232|0;c[g>>2]=(c[g>>2]|0)+1;g=c[d+16>>2]|0;a[g+157>>0]=a[190690]|0;b=c[46023]|0;e=g+168|0;if(!b){c[e>>2]=0;c[f+192>>2]=d}else{c[e>>2]=b;c[(c[b+16>>2]|0)+164>>2]=d}c[46023]=d;c[g+164>>2]=0;return}function Ql(b){b=b|0;var d=0,e=0,f=0,g=0,i=0,j=0,k=0,l=0,m=0,n=0.0,o=0.0;m=b+16|0;d=(c[m>>2]|0)+192|0;while(1){d=c[d>>2]|0;if(!d)break;g=d+16|0;d=c[g>>2]|0;e=c[d+188>>2]|0;a:do if(!e)f=0;else{f=0;while(1){e=c[e+(f<<2)>>2]|0;if(!e){f=0;break a}Rl(e);d=c[g>>2]|0;f=f+1|0;e=c[d+188>>2]|0}}while(0);while(1){if((f|0)>=(c[d+208>>2]|0))break;e=c[(c[d+204>>2]|0)+(f<<2)>>2]|0;l=c[e>>2]&3;if((c[(c[(c[((l|0)==2?e:e+-48|0)+40>>2]|0)+16>>2]|0)+232>>2]|0)==(c[(c[(c[((l|0)==3?e:e+48|0)+40>>2]|0)+16>>2]|0)+232>>2]|0)){Rl(e);d=c[g>>2]|0}f=f+1|0}d=d+164|0}l=c[m>>2]|0;d=c[l+196>>2]|0;if(!((c[d+56>>2]|0)==0?(c[l+180>>2]|0)<=0:0))i=13;b:do if((i|0)==13){i=c[d+4>>2]|0;g=0;c:while(1){d=c[i+(g<<2)>>2]|0;if(!d)break b;e=c[(c[d+16>>2]|0)+196>>2]|0;d=0;while(1){f=c[e+(d<<2)>>2]|0;if(!f)break;l=c[f+16>>2]|0;if(c[l+96>>2]|0?(a[l+113>>0]|0)==0:0)break c;d=d+1|0}g=g+1|0}Sl(b)}while(0);Ii(b);e=0;d=(c[m>>2]|0)+192|0;while(1){d=c[d>>2]|0;if(!d)break;l=d+16|0;d=c[l>>2]|0;f=c[d+188>>2]|0;d:do if(f){k=0;while(1){g=c[f+(k<<2)>>2]|0;if(!g){k=0;break}i=c[g+16>>2]|0;j=c[i+96>>2]|0;do if(j)if(!(a[i+113>>0]|0)){Tl(g);f=c[l>>2]|0;e=1;d=f;f=c[f+188>>2]|0;break}else{h[i+136>>3]=+h[((c[(c[m>>2]|0)+116>>2]&1|0)==0?j+24|0:j+32|0)>>3];break}while(0);k=k+1|0}while(1){if((k|0)>=(c[d+208>>2]|0))break d;i=c[(c[d+204>>2]|0)+(k<<2)>>2]|0;j=c[i>>2]&3;g=c[((j|0)==3?i:i+48|0)+40>>2]|0;j=c[((j|0)==2?i:i+-48|0)+40>>2]|0;do if(!((g|0)==(j|0)?1:(c[(c[g+16>>2]|0)+232>>2]|0)!=(c[(c[j+16>>2]|0)+232>>2]|0))){f=i;do{j=c[f+16>>2]|0;f=c[j+172>>2]|0}while((f|0)!=0);f=a[j+113>>0]|0;g=c[i+16>>2]|0;a[g+113>>0]=f;g=c[g+96>>2]|0;if(g)if(!(f<<24>>24)){Tl(i);e=1;d=c[l>>2]|0;break}else{o=+h[((c[(c[m>>2]|0)+116>>2]&1|0)==0?g+24|0:g+32|0)>>3];j=j+136|0;n=+h[j>>3];h[j>>3]=o>n?o:n;break}}while(0);k=k+1|0}}while(0);d=d+164|0}if(e|0){Bh(b);Ph(b)}return e|0}function Rl(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0;d=c[b>>2]&3;i=c[((d|0)==3?b:b+48|0)+40>>2]|0;f=i+16|0;g=c[(c[f>>2]|0)+236>>2]|0;d=c[(c[(c[((d|0)==2?b:b+-48|0)+40>>2]|0)+16>>2]|0)+236>>2]|0;h=(g|0)<(d|0);e=h?d:g;i=c[(c[(hg(i)|0)+16>>2]|0)+196>>2]|0;f=i+(c[(c[f>>2]|0)+232>>2]<<6)+4|0;d=h?g:d;a:while(1){d=d+1|0;if((d|0)>=(e|0))break;g=c[(c[(c[f>>2]|0)+(d<<2)>>2]|0)+16>>2]|0;switch(a[g+156>>0]|0){case 0:break a;case 1:break;default:continue a}if(c[g+104>>2]|0)break}if((d|0)==(e|0))do{i=c[b+16>>2]|0;a[i+113>>0]=1;b=c[i+172>>2]|0}while((b|0)!=0);return}function Sl(a){a=a|0;var d=0,e=0,f=0,g=0;g=a+16|0;a=c[g>>2]|0;if(b[a+236>>1]|0)qa(88339,88322,190,88358);d=(b[a+238>>1]|0)+3|0;a=c[a+196>>2]|0;if(!a)a=uH(d<<6)|0;else a=wH(a,d<<6)|0;d=a+64|0;a=c[g>>2]|0;c[a+196>>2]=d;a=b[a+238>>1]|0;while(1){if((a|0)<=-1)break;f=a+-1|0;e=d+(a<<6)|0;a=d+(f<<6)|0;d=e+64|0;do{c[e>>2]=c[a>>2];e=e+4|0;a=a+4|0}while((e|0)<(d|0));a=f;d=c[(c[g>>2]|0)+196>>2]|0}c[d+(a<<6)+8>>2]=0;c[d+(a<<6)>>2]=0;e=tH(8)|0;g=c[g>>2]|0;f=c[g+196>>2]|0;c[f+(a<<6)+12>>2]=e;c[f+(a<<6)+4>>2]=e;c[f+(a<<6)+56>>2]=0;h[f+(a<<6)+24>>3]=1.0;h[f+(a<<6)+16>>3]=1.0;h[f+(a<<6)+40>>3]=1.0;h[f+(a<<6)+32>>3]=1.0;g=g+236|0;b[g>>1]=(b[g>>1]|0)+-1<<16>>16;return}function Tl(b){b=b|0;var d=0,e=0,f=0.0,g=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0.0,q=0.0,r=0.0;j=b+16|0;if(c[(c[j>>2]|0)+96>>2]|0){m=b+48|0;k=hg(c[((c[b>>2]&3|0)==3?b:m)+40>>2]|0)|0;d=c[(c[(c[((c[b>>2]&3|0)==3?b:m)+40>>2]|0)+16>>2]|0)+232>>2]|0;l=Ul(k,b)|0;n=k+16|0;e=c[n>>2]|0;g=c[e+196>>2]|0;o=d+-1|0;i=c[c[g+(o<<6)+4>>2]>>2]|0;if(!i)f=+h[g+(d<<6)+24>>3]+ +h[(c[(c[c[g+(d<<6)+4>>2]>>2]|0)+16>>2]|0)+24>>3]+ +(c[e+252>>2]|0);else f=+h[(c[i+16>>2]|0)+24>>3]-+h[g+(o<<6)+16>>3];d=Vl(k,o,l)|0;k=c[(c[j>>2]|0)+96>>2]|0;q=+h[k+24>>3];p=+h[k+32>>3];j=(c[(c[n>>2]|0)+116>>2]&1|0)==0;r=j?p:q;g=d+16|0;e=c[g>>2]|0;h[e+80>>3]=r;l=~~(r*.5);p=(j?q:p)*.5;h[e+96>>3]=p;h[e+88>>3]=p;c[e+104>>2]=k;h[e+24>>3]=+(l+~~f|0);e=oh(d,c[((c[b>>2]&3|0)==3?b:m)+40>>2]|0,b)|0;e=c[e+16>>2]|0;h[e+16>>3]=-+h[(c[g>>2]|0)+88>>3];h[e+56>>3]=+h[(c[(c[((c[b>>2]&3|0)==3?b:m)+40>>2]|0)+16>>2]|0)+96>>3];a[e+112>>0]=4;e=b+-48|0;d=oh(d,c[((c[b>>2]&3|0)==2?b:e)+40>>2]|0,b)|0;g=c[g>>2]|0;d=c[d+16>>2]|0;h[d+16>>3]=+h[g+96>>3];h[d+56>>3]=+h[(c[(c[((c[b>>2]&3|0)==2?b:e)+40>>2]|0)+16>>2]|0)+88>>3];a[d+112>>0]=4;d=c[(c[n>>2]|0)+196>>2]|0;e=d+(o<<6)+16|0;f=+(l|0);if(+h[e>>3]>3]=f;d=d+(o<<6)+24|0;if(+h[d>>3]>3]=f;c[g+112>>2]=b}return}function Ul(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0;n=l;l=l+32|0;j=n+8|0;f=n+4|0;g=n;d=c[b>>2]&3;e=c[((d|0)==3?b:b+48|0)+40>>2]|0;k=(c[(c[e+16>>2]|0)+232>>2]|0)+-1|0;a=c[(c[a+16>>2]|0)+196>>2]|0;h=c[a+(k<<6)+4>>2]|0;a=c[a+(k<<6)>>2]|0;k=j+8|0;c[k>>2]=-1;c[j>>2]=-1;m=j+12|0;c[m>>2]=a;i=j+4|0;c[i>>2]=a;Wl(e,c[((d|0)==2?b:b+-48|0)+40>>2]|0,f,g);f=c[f>>2]|0;g=c[g>>2]|0;d=0;e=a;b=-1;while(1){if((d|0)>=(e|0))break;e=e+-1|0;Xl(c[h+(d<<2)>>2]|0,j,f,g);if((d|0)!=(e|0))Xl(c[h+(e<<2)>>2]|0,j,f,g);a=c[i>>2]|0;b=c[j>>2]|0;if((a-b|0)<2)break;else d=d+1|0}if((b|0)>(a|0))a=(c[m>>2]|0)+(c[k>>2]|0)|0;else a=a+b|0;l=n;return (a+1|0)/2|0|0}function Vl(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0;g=a+16|0;f=c[(c[g>>2]|0)+196>>2]|0;e=f+(b<<6)|0;f=c[f+(b<<6)+4>>2]|0;if(!f)f=uH((c[e>>2]<<2)+8|0)|0;else f=wH(f,(c[e>>2]<<2)+8|0)|0;e=c[(c[g>>2]|0)+196>>2]|0;c[e+(b<<6)+4>>2]=f;e=c[e+(b<<6)>>2]|0;while(1){if((e|0)<=(d|0))break;h=e+-1|0;i=c[f+(h<<2)>>2]|0;c[f+(e<<2)>>2]=i;i=(c[i+16>>2]|0)+236|0;c[i>>2]=(c[i>>2]|0)+1;e=h}h=th(a)|0;i=f+(d<<2)|0;c[i>>2]=h;h=c[h+16>>2]|0;c[h+236>>2]=d;c[h+232>>2]=b;g=(c[(c[g>>2]|0)+196>>2]|0)+(b<<6)|0;h=(c[g>>2]|0)+1|0;c[g>>2]=h;c[f+(h<<2)>>2]=0;return c[i>>2]|0}function Wl(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0;a=c[(c[a+16>>2]|0)+236>>2]|0;b=c[(c[b+16>>2]|0)+236>>2]|0;f=(a|0)>(b|0);c[d>>2]=f?b:a;c[e>>2]=f?a:b;return}function Xl(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,m=0,n=0;m=l;l=l+16|0;h=m+4|0;g=m;b=c[b+16>>2]|0;do if((a[b+156>>0]|0)==1){k=c[b+236>>2]|0;if(c[b+176>>2]|0){i=c[b+180>>2]|0;b=0;g=0;h=0;while(1){j=c[i+(h<<2)>>2]|0;if(!j)break;n=c[(c[(c[((c[j>>2]&3|0)==2?j:j+-48|0)+40>>2]|0)+16>>2]|0)+236>>2]|0;j=(n|0)>(e|0);b=j?((n|0)<(f|0)?b:1):b;g=j?g:1;h=h+1|0}if(g<<24>>24!=0&b<<24>>24==0){c[d>>2]=k+1;break}if(!(g<<24>>24==0&b<<24>>24!=0))break;c[d+4>>2]=k+-1;break}if((c[b+184>>2]|0)!=2)qa(88302,88322,63,88329);i=c[b+180>>2]|0;n=c[i>>2]|0;i=c[i+4>>2]|0;Wl(c[((c[n>>2]&3|0)==2?n:n+-48|0)+40>>2]|0,c[((c[i>>2]&3|0)==2?i:i+-48|0)+40>>2]|0,h,g);i=c[g>>2]|0;if((i|0)<=(e|0)){c[d>>2]=k;c[d+8>>2]=k;break}b=c[h>>2]|0;if((b|0)>=(f|0)){c[d+4>>2]=k;c[d+12>>2]=k;break}g=(b|0)<(e|0);h=(i|0)>(f|0);if(!(h&g)){if(!(!g?!((i|0)<(f|0)&(b|0)==(e|0)):0))c[d+8>>2]=k;if(!h?!((i|0)==(f|0)&(b|0)>(e|0)):0)break;c[d+12>>2]=k}}while(0);l=m;return}function Yl(a){a=a|0;c[46363]=1;qm(a);c[46363]=0;return}function Zl(a){a=a|0;c[46363]=2;qm(a);c[46363]=0;return}function _l(a){a=a|0;var b=0;zz(a,134365,304,1)|0;cM(a);b=tH((e[(c[(dz(a)|0)+16>>2]|0)+176>>1]|0)<<3)|0;c[(c[a+16>>2]|0)+132>>2]=b;aN(a,c[(c[(dz(a)|0)+16>>2]|0)+116>>2]&1);return}function $l(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0.0,u=0.0;s=l;l=l+64|0;j=s+48|0;o=s+40|0;k=s+24|0;i=s+8|0;q=s+56|0;m=s;do if((b|0)!=0?(r=e+16|0,p=c[(c[r>>2]|0)+132>>2]|0,g=xx(e,b)|0,(a[g>>0]|0)!=0):0){a[q>>0]=0;b=p+8|0;if((c[46366]|0)>2?(c[i>>2]=p,c[i+4>>2]=b,c[i+8>>2]=p+16,c[i+12>>2]=q,(M1(g,88435,i)|0)>2):0){a[(c[r>>2]|0)+119>>0]=1;g=c[46366]|0;a:do if(+h[22908]>0.0){b=0;while(1){if((b|0)>=(g|0))break a;o=p+(b<<3)|0;h[o>>3]=+h[o>>3]/+h[22908];b=b+1|0}}while(0);if((g|0)>3)Gn(e,f,3);if((a[q>>0]|0)!=33){if(!d){b=1;break}if(!((PL(xx(e,d)|0)|0)<<24>>24)){b=1;break}}a[(c[r>>2]|0)+119>>0]=3;b=1;break}c[k>>2]=p;c[k+4>>2]=b;c[k+8>>2]=q;if((M1(g,98723,k)|0)<=1){c[j>>2]=qy(e)|0;c[j+4>>2]=g;Ow(1,88449,j)|0;b=0;break}a[(c[r>>2]|0)+119>>0]=1;g=c[46366]|0;b:do if(+h[22908]>0.0){b=0;while(1){if((b|0)>=(g|0))break b;k=p+(b<<3)|0;h[k>>3]=+h[k>>3]/+h[22908];b=b+1|0}}while(0);do if((g|0)>2){b=c[46401]|0;if((b|0?(n=xx(e,b)|0,n|0):0)?(c[o>>2]=m,(M1(n,98183,o)|0)==1):0){u=+h[22908];t=+h[m>>3];h[p+16>>3]=u>0.0?t/u:t;Gn(e,f,3);break}Hn(e,f)}while(0);if((a[q>>0]|0)!=33){if(!d){b=1;break}if(!((PL(xx(e,d)|0)|0)<<24>>24)){b=1;break}}a[(c[r>>2]|0)+119>>0]=3;b=1}else b=0;while(0);l=s;return b|0}function am(a){a=a|0;var b=0,c=0;c=Ry(a)|0;while(1){if(!c)break;b=Dx(a,c)|0;while(1){if(!b)break;IM(b);b=Fx(a,b)|0}GM(c);c=Sy(a,c)|0}bm(a);return}function bm(a){a=a|0;if((c[46363]|0)!=0|(c[46025]|0)<0)En(a);if((ez(a)|0)!=(a|0))Fz(a,0,134401);return}function cm(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0;q=l;l=l+48|0;m=q+32|0;o=q;k=mx(b,0,99611,0)|0;e=mx(b,0,99645,0)|0;p=(QL(wx(b,88493)|0,0)|0)<<24>>24!=0;if(!e)e=mx(b,0,99645,191979)|0;Dn(b)|0;n=b+16|0;i=0;while(1){j=c[(c[(c[n>>2]|0)+152>>2]|0)+(i<<2)>>2]|0;if(!j){f=12;break}g=j+16|0;f=c[g>>2]|0;if(!(a[f+119>>0]|0)){if(y$(qy(j)|0,104980,7)|0){f=8;break}f=c[g>>2]|0}f=c[f+108>>2]|0;if(f|0)dm(j,f,99607);i=i+1|0}a:do if((f|0)==8){p=qy(j)|0;e=qy(b)|0;c[m>>2]=p;c[m+4>>2]=e;Ow(1,88505,m)|0;e=-1}else if((f|0)==12){em(b,k,e);j=fm(b)|0;e=c[(c[n>>2]|0)+8>>2]|0;if(!(c[e+88>>2]|0))e=0;else{c[e+84>>2]=0;e=1}g=(d|0)!=0;i=(e|0)!=0;if(!(i|g&(c[46363]|0)==1^1)?(sq(b)|0)!=0:0){f=c[(c[n>>2]|0)+12>>2]|0;if(!f)f=1;else{a[f+81>>0]=0;f=1}}else f=0;lM(b);if(i){d=(c[n>>2]|0)+16|0;ZE(o,b);c[d>>2]=c[o>>2];c[d+4>>2]=c[o+4>>2];c[d+8>>2]=c[o+8>>2];c[d+12>>2]=c[o+12>>2];c[d+16>>2]=c[o+16>>2];c[d+20>>2]=c[o+20>>2];c[d+24>>2]=c[o+24>>2];c[d+28>>2]=c[o+28>>2]}if(!g){c[46367]=1;f=Ry(b)|0;while(1){if(!f)break a;p=c[f+16>>2]|0;o=c[p+132>>2]|0;h[p+16>>3]=+h[o>>3]*72.0;h[p+24>>3]=+h[o+8>>3]*72.0;f=Sy(b,f)|0}}do if(!(p|i)){p=c[n>>2]|0;if(!(+h[p+16>>3]!=0.0)?!(+h[p+24>>3]!=0.0):0)break;bn(b)}while(0);if(!((j|0)!=0&(f|($m(b)|0)<<24>>24!=0))){if((j|0)==2){c[46367]=1;break}}else gm(b);_m(b,0)}while(0);l=q;return e|0}function dm(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,i=0,j=0,k=0;k=l;l=l+48|0;j=k+32|0;f=k+24|0;g=k+16|0;i=k;b=wx(b,e)|0;if(b|0?(c[j>>2]=f,c[j+4>>2]=g,(M1(b,102477,j)|0)==2):0){j=d+56|0;jm(i,+h[f>>3],+h[g>>3]);c[j>>2]=c[i>>2];c[j+4>>2]=c[i+4>>2];c[j+8>>2]=c[i+8>>2];c[j+12>>2]=c[i+12>>2];a[d+81>>0]=1}l=k;return}function em(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,i=0,j=0,k=0,m=0,n=0;m=l;l=l+48|0;k=m+32|0;f=m+24|0;g=m+16|0;i=m;j=b+16|0;if((d|0?(c[(c[j>>2]|0)+12>>2]|0)!=0:0)?(n=xx(b,d)|0,c[k>>2]=f,c[k+4>>2]=g,(M1(n,102477,k)|0)==2):0){n=(c[(c[j>>2]|0)+12>>2]|0)+56|0;jm(i,+h[f>>3],+h[g>>3]);c[n>>2]=c[i>>2];c[n+4>>2]=c[i+4>>2];c[n+8>>2]=c[i+8>>2];c[n+12>>2]=c[i+12>>2];a[(c[(c[j>>2]|0)+12>>2]|0)+81>>0]=1}a:do if(e|0){f=vA(b)|0;while(1){if(!f)break a;km(f,b,d,e);f=wA(f)|0}}while(0);l=m;return}function fm(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;if(ay(a)|0){f=mx(a,2,99597,0)|0;if(!((f|0)==0|(c[46363]|0)<2)){b=0;e=Ry(a)|0;while(1){if(!e)break;d=Dx(a,e)|0;while(1){if(!d)break;g=b+((hm(f,d)|0)!=0&1)|0;d=Fx(a,d)|0;b=g}e=Sy(a,e)|0}if(b){b=(b|0)==(ay(a)|0);b=b?2:1}else b=0}else b=0}else b=2;return b|0}function gm(a){a=a|0;var b=0,d=0,e=0;d=Ry(a)|0;while(1){if(!d)break;b=Dx(a,d)|0;while(1){if(!b)break;JM(b);e=b+16|0;mH(c[(c[e>>2]|0)+96>>2]|0);mH(c[(c[e>>2]|0)+108>>2]|0);mH(c[(c[e>>2]|0)+100>>2]|0);mH(c[(c[e>>2]|0)+104>>2]|0);b=Fx(a,b)|0}d=Sy(a,d)|0}return}function hm(b,d){b=b|0;d=d|0;var e=0,f=0,g=0.0,i=0.0,j=0.0,k=0.0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0;B=l;l=l+96|0;z=B+72|0;x=B+56|0;A=B+48|0;y=B+32|0;w=B+16|0;r=B+88|0;s=B+8|0;t=B;u=B+84|0;v=B+80|0;b=xx(d,b)|0;do if(a[b>>0]|0){rE(d,u,v);q=1;f=0;e=0;j=0.0;i=0.0;k=0.0;g=0.0;a:while(1){c[w>>2]=s;c[w+4>>2]=t;c[w+8>>2]=r;if((M1(b,88542,w)|0)==2){p=1;b=b+(c[r>>2]|0)|0;i=+h[s>>3];g=+h[t>>3]}else p=e;c[y>>2]=s;c[y+4>>2]=t;c[y+8>>2]=r;if((M1(b,88554,y)|0)==2){o=1;b=b+(c[r>>2]|0)|0;j=+h[s>>3];k=+h[t>>3]}else o=f;m=im(b)|0;if(!((m|0)>3&((m|0)%3|0|0)==1)){e=8;break}n=uH(m<<4)|0;e=n;f=m;while(1){if(!f)break;c[x>>2]=s;c[x+4>>2]=t;c[x+8>>2]=r;if((M1(b,88624,x)|0)<2){e=13;break a}C=b+(c[r>>2]|0)|0;h[e>>3]=+h[s>>3];h[e+8>>3]=+h[t>>3];e=e+16|0;f=f+-1|0;b=C}while(1){e=a[b>>0]|0;f=b+1|0;if(!(A$(e<<24>>24)|0))break;else b=f}C=e<<24>>24==0;b=C?b:f;q=C?0:q;f=OK(d,m)|0;if(p|0){c[f+8>>2]=c[u>>2];h[f+16>>3]=i;h[f+24>>3]=g}if(o|0){c[f+12>>2]=c[v>>2];h[f+32>>3]=j;h[f+40>>3]=k}e=0;while(1){if((e|0)>=(m|0))break;C=(c[f>>2]|0)+(e<<4)|0;D=n+(e<<4)|0;c[C>>2]=c[D>>2];c[C+4>>2]=c[D+4>>2];c[C+8>>2]=c[D+8>>2];c[C+12>>2]=c[D+12>>2];e=e+1|0}C_(n);if(!q){e=26;break}else{f=o;e=p}}if((e|0)==8){JM(d);if(a[190691]|0){b=0;break}a[190691]=1;D=qy(c[((c[d>>2]&3|0)==3?d:d+48|0)+40>>2]|0)|0;b=qy(c[((c[d>>2]&3|0)==2?d:d+-48|0)+40>>2]|0)|0;c[A>>2]=D;c[A+4>>2]=b;Ow(0,88567,A)|0;b=0;break}else if((e|0)==13){if(!(a[190691]|0)){a[190691]=1;C=qy(c[((c[d>>2]&3|0)==3?d:d+48|0)+40>>2]|0)|0;D=qy(c[((c[d>>2]&3|0)==2?d:d+-48|0)+40>>2]|0)|0;c[z>>2]=C;c[z+4>>2]=D;Ow(0,88634,z)|0}C_(n);JM(d);b=0;break}else if((e|0)==26){f=d+16|0;b=c[f>>2]|0;e=c[b+96>>2]|0;if(e){dm(d,e,99611);b=c[f>>2]|0}e=c[b+108>>2]|0;if(e){dm(d,e,99607);b=c[f>>2]|0}e=c[b+100>>2]|0;if(e){dm(d,e,99614);b=c[f>>2]|0}b=c[b+104>>2]|0;if(!b){b=1;break}dm(d,b,99622);b=1;break}}else b=0;while(0);l=B;return b|0}function im(b){b=b|0;var c=0,d=0;d=0;do{while(1){c=a[b>>0]|0;if(!(A$(c&255)|0))break;else b=b+1|0}a:do if(!(c<<24>>24))c=0;else{d=d+1|0;while(1){if(!(c<<24>>24)){c=0;break a}if(c<<24>>24==59|(A$(c&255)|0)!=0)break a;c=b+1|0;b=c;c=a[c>>0]|0}}while(0)}while((A$(c&255)|0)!=0);return d|0}function jm(a,b,c){a=a|0;b=+b;c=+c;h[a>>3]=b;h[a+8>>3]=c;return}function km(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0;h=l;l=l+32|0;f=h;if((y$(qy(a)|0,104980,7)|0)==0?(lm(a,e,f)|0)!=0:0){zz(a,134401,280,1)|0;i=(c[a+16>>2]|0)+16|0;c[i>>2]=c[f>>2];c[i+4>>2]=c[f+4>>2];c[i+8>>2]=c[f+8>>2];c[i+12>>2]=c[f+12>>2];c[i+16>>2]=c[f+16>>2];c[i+20>>2]=c[f+20>>2];c[i+24>>2]=c[f+24>>2];c[i+28>>2]=c[f+28>>2];mm(b,a);em(a,d,e)}else g=4;a:do if((g|0)==4){a=vA(a)|0;while(1){if(!a)break a;km(a,b,d,e);a=wA(a)|0}}while(0);l=h;return}function lm(a,b,d){a=a|0;b=b|0;d=d|0;var e=0.0,f=0.0,g=0,i=0,j=0,k=0;i=l;l=l+48|0;j=i+32|0;g=i;k=xx(a,b)|0;a=g+8|0;b=g+24|0;c[j>>2]=g;c[j+4>>2]=a;c[j+8>>2]=g+16;c[j+12>>2]=b;if((M1(k,88682,j)|0)==4){e=+h[a>>3];f=+h[b>>3];if(e>f){h[a>>3]=f;h[b>>3]=e};c[d>>2]=c[g>>2];c[d+4>>2]=c[g+4>>2];c[d+8>>2]=c[g+8>>2];c[d+12>>2]=c[g+12>>2];c[d+16>>2]=c[g+16>>2];c[d+20>>2]=c[g+20>>2];c[d+24>>2]=c[g+24>>2];c[d+28>>2]=c[g+28>>2];a=1}else a=0;l=i;return a|0}function mm(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;e=a+16|0;d=c[e>>2]|0;g=d+180|0;a=c[g>>2]|0;f=a+1|0;c[g>>2]=f;d=c[d+184>>2]|0;if(!d)a=tH((a<<2)+8|0)|0;else a=vH(d,a+2|0,4,f)|0;c[(c[e>>2]|0)+184>>2]=a;c[a+(f<<2)>>2]=b;eH(b);return}function nm(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,m=0,n=0;n=l;l=l+48|0;m=n+8|0;k=n;i=n+16|0;j=n+12|0;h=wx(b,88698)|0;do if((h|0)!=0?(g=a[h>>0]|0,g<<24>>24!=0):0){g=g&255;if(!(M$(g)|0))if((e|0)==2|(g+-48|0)>>>0<10)e=h;else break;else{if(!(y$(h,88704,4)|0)){e=0;break}if(!(y$(h,102485,7)|0)){e=1;break}if(y$(h,88709,6)|0)if((e|0)==2)e=h;else break;else e=h+6|0}if(!(((d[e>>0]|0)+-48|0)>>>0<10?(c[k>>2]=j,(M1(e,96907,k)|0)>=1):0)){k=G1()|0;k=(db(0)|0)^k;c[j>>2]=k;c[m>>2]=k;X0(i,96907,m)|0;yx(b,88698,i)|0}c[f>>2]=c[j>>2];e=2}while(0);l=n;return e|0}function om(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;f=l;l=l+16|0;e=f+4|0;c[e>>2]=1;d=nm(a,d,e)|0;if((d|0)!=2&(c[46026]|0)!=0)Ow(0,88716,f)|0;if((d|0)==1)pm(a,b);h2(c[e>>2]|0);l=f;return d|0}function pm(b,d){b=b|0;d=d|0;var e=0,f=0.0,g=0.0,i=0.0,j=0,k=0,l=0.0;g=+(d|0);i=6.283185307179586/g;e=Ry(b)|0;f=0.0;while(1){if(!e)break;l=+E(+f)*g;j=c[e+16>>2]|0;k=c[j+132>>2]|0;h[k>>3]=l;h[k+8>>3]=+F(+f)*g;a[j+119>>0]=1;if((c[46366]|0)>2)Hn(e,d);e=Sy(b,e)|0;f=f+i}return}function qm(b){b=b|0;var d=0,e=0,f=0,g=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0.0,r=0;r=l;l=l+80|0;d=r+24|0;n=r+32|0;k=r;p=r+28|0;m=r+64|0;q=+h[22908];do if(c[46363]|0){h[22908]=72.0;rm(b);sm(b);if((cm(b,1)|0)<0){Ow(3,88764,d)|0;break}else{OI(b,0);f=32;break}}else{o=QL(wx(b,88493)|0,0)|0;h[22908]=+LL(b);rm(b);g=tm(b)|0;Rp(b,k,0)|0;i=um(b)|0;j=YD(b,0,n)|0;d=XD(b,-1,8)|0;c[46025]=d;e=(d|0)<0;do if(!j){if((g|0)!=0&e){c[46025]=8;c[n+16>>2]=2;f=11;break}c[n+16>>2]=2;if((d|0)<=-1){vm(b,g,i);Up(b,k)|0;sm(b);if(!(o<<24>>24)){gn(b);break}else{wm(b);break}}else f=11}else if(e){c[46025]=8;f=11}else f=11;while(0);if((f|0)==11){j=cD(b,p,88792,m)|0;d=c[p>>2]|0;do if((d|0)<=1){vm(b,g,i);Up(b,k)|0;if(!(o<<24>>24)){gn(b);break}else{wm(b);break}}else{f=o<<24>>24==0;e=0;while(1){if((e|0)>=(d|0))break;d=c[j+(e<<2)>>2]|0;uD(d)|0;vm(d,g,i);Up(d,k)|0;_M(d,2);if(f)gn(d);else wm(d);e=e+1|0;d=c[p>>2]|0}if(!(a[m>>0]|0))e=0;else{e=tH(d)|0;a[e>>0]=1;d=c[p>>2]|0}c[n+8>>2]=c[46025];c[n+20>>2]=e;c[n+12>>2]=1;UD(d,j,b,n)|0;C_(e)}while(0);lM(b);sm(b);d=0;while(1){if((d|0)>=(c[p>>2]|0))break;n=c[j+(d<<2)>>2]|0;En(n);Bz(n,134401)|0;cz(b,n)|0;d=d+1|0}C_(j)}OI(b,o<<24>>24==0&1);f=32}while(0);if((f|0)==32)h[22908]=q;l=r;return}function rm(a){a=a|0;var d=0,e=0,f=0,g=0;_M(a,2);f=JL(a,mx(a,0,89557,0)|0,2,2)|0;d=(JL(a,mx(a,0,90633,0)|0,f,2)|0)&65535;b[(c[(ez(a)|0)+16>>2]|0)+176>>1]=d;d=c[(c[a+60>>2]|0)+16>>2]|0;g=d+176|0;e=b[g>>1]|0;e=(e&65535)<10?e:10;b[g>>1]=e;e=e&65535;c[46366]=e;b[d+178>>1]=(f|0)<(e|0)?f:e;Gm(a);return}function sm(a){a=a|0;var b=0,d=0,e=0,f=0;f=l;l=l+1040|0;e=f;d=f+8|0;a:do if((c[46366]|0)>2&(c[46401]|0)!=0){b=Ry(a)|0;while(1){if(!b)break a;h[e>>3]=+h[(c[(c[b+16>>2]|0)+132>>2]|0)+16>>3]*72.0;X0(d,98183,e)|0;qx(b,c[46401]|0,d)|0;b=Sy(a,b)|0}}while(0);l=f;return}function tm(b){b=b|0;var d=0,e=0,f=0;f=l;l=l+16|0;e=f;d=wx(b,89477)|0;a:do if(!d)b=1;else{switch(a[d>>0]|0){case 0:{b=1;break a}case 75:{if(!(a$(d,89482)|0)){b=0;break a}break}case 109:{if(!(a$(d,89485)|0)){b=1;break a}break}case 104:{if(!(a$(d,89491)|0)){b=2;break a}break}default:{}}b=qy(b)|0;c[e>>2]=d;c[e+4>>2]=b;Ow(0,89496,e)|0;b=1}while(0);l=f;return b|0}function um(b){b=b|0;var d=0,e=0,f=0,g=0,h=0;h=l;l=l+32|0;g=h+16|0;f=h+8|0;e=h;d=wx(b,89260)|0;a:do if(!d)b=0;else{switch(a[d>>0]|0){case 0:{b=0;break a}case 99:{if(!(a$(d,89266)|0)){b=1;break a}break}case 115:{if(!(a$(d,89274)|0)){b=2;break a}if(!(a$(d,89281)|0)){b=0;break a}break}case 109:{if(!(a$(d,89291)|0)){if(mx(b,2,90566,0)|0){b=3;break a}c[e>>2]=qy(b)|0;Ow(0,89295,e)|0;Ow(3,89358,f)|0;b=0;break a}break}default:{}}b=qy(b)|0;c[g>>2]=d;c[g+4>>2]=b;Ow(0,89415,g)|0;b=0}while(0);l=h;return b|0}function vm(a,b,d){a=a|0;b=b|0;d=d|0;var e=0;e=wx(a,90975)|0;if(!e)if((b|0)==1)e=200;else e=($x(a)|0)*100|0;else e=$1(e)|0;c[46365]=e;e=xn(a,b)|0;do if(!((e|0)<2|(c[46365]|0)<0))if(!b){ym(a,e,d);break}else{xm(a,e,b,d,c[46366]|0);break}while(0);return}function wm(a){a=a|0;lM(a);_m(a,1);return}function xm(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,i=0,j=0,k=0,m=0.0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;u=l;l=l+64|0;r=u+40|0;o=u+24|0;n=u;p=u+48|0;t=u+44|0;q=(d|0)==2;i=om(a,b,q?0:2)|0;j=Fm(a)|0;k=j|4;s=uH(f<<2)|0;c[s>>2]=uH(O(b<<3,f)|0)|0;g=c[46366]|0;f=1;while(1){if((f|0)>=(g|0))break;c[s+(f<<2)>>2]=(c[s>>2]|0)+((O(f,b)|0)<<3);f=f+1|0}g=(i|0)==0;f=g?k:j;if(0){k=c[15686]|0;j=c[46365]|0;m=+h[22909];c[n>>2]=e;c[n+4>>2]=g&1;c[n+8>>2]=f&3;c[n+12>>2]=j;h[n+16>>3]=m;f1(k,89073,n)|0;D1(89130,15,1,k)|0;DL();D1(89146,13,1,k)|0}n=Bm(a,b,p,d,e,t)|0;if(0){k=c[15686]|0;m=+EL();c[o>>2]=b;h[o+8>>3]=m;f1(k,89160,o)|0}if((d|0)!=1){m=+KL(a,mx(a,0,89179,0)|0,0.0,-1797693134862315708145274.0e284);if(q){f=Fq(n,b,c[p>>2]|0,s,c[t>>2]|0,c[46366]|0,f,e,c[46365]|0,m)|0;g=12}else g=14}else{f=pn(n,b,c[p>>2]|0,s,c[t>>2]|0,c[46366]|0,f,e,c[46365]|0)|0;g=12}if((g|0)==12)if((f|0)<0)Ow(3,89189,r)|0;else g=14;a:do if((g|0)==14){g=Ry(a)|0;while(1){if(!g)break a;k=c[g+16>>2]|0;i=c[k+120>>2]|0;j=c[46366]|0;k=k+132|0;f=0;while(1){if((f|0)>=(j|0))break;h[(c[k>>2]|0)+(f<<3)>>3]=+h[(c[s+(f<<2)>>2]|0)+(i<<3)>>3];f=f+1|0}g=Sy(a,g)|0}}while(0);ar(n);C_(c[s>>2]|0);C_(s);C_(c[t>>2]|0);l=u;return}function ym(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,i=0.0,j=0;g=l;l=l+48|0;f=g+32|0;e=g;switch(d|0){case 2:{zm(a,b);break}case 1:{if(!(Bq(a,b)|0)){c[e>>2]=qy(a)|0;Ow(0,88802,e)|0;Ow(3,91952,g+8|0)|0;Ow(3,88854,g+16|0)|0;Ow(3,88926,g+24|0)|0;Vn(a,b)}break}default:{Vn(a,b);if((d|0)==3)Am(a)}}Jn(a,b);Kn(a,b);if(0){e=c[15686]|0;j=c[46365]|0;i=+h[22909];c[f>>2]=d;c[f+4>>2]=j;h[f+8>>3]=i;f1(e,88964,f)|0;DL()}Ln(a,b);l=g;return}function zm(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,i=0,j=0;j=l;l=l+16|0;g=Bm(a,b,j,0,2,0)|0;i=cs(g,b)|0;e=a+16|0;a=0;while(1){if((a|0)>=(b|0))break;f=i+(a<<2)|0;d=0;while(1){if((d|0)==(b|0))break;h[(c[(c[(c[e>>2]|0)+160>>2]|0)+(a<<2)>>2]|0)+(d<<3)>>3]=+(c[(c[f>>2]|0)+(d<<2)>>2]|0);d=d+1|0}a=a+1|0}C_(c[i>>2]|0);C_(i);ar(g);l=j;return}function Am(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,i=0,j=0.0;f=a+16|0;d=Ry(a)|0;while(1){if(!d)break;b=Dx(a,d)|0;while(1){if(!b)break;g=c[b>>2]&3;e=(c[c[((g|0)==3?b:b+48|0)+40>>2]>>2]|0)>>>4;g=(c[c[((g|0)==2?b:b+-48|0)+40>>2]>>2]|0)>>>4;if((e|0)!=(g|0)){j=+h[(c[b+16>>2]|0)+136>>3];i=c[(c[f>>2]|0)+160>>2]|0;h[(c[i+(g<<2)>>2]|0)+(e<<3)>>3]=j;h[(c[i+(e<<2)>>2]|0)+(g<<3)>>3]=j}b=Fx(a,b)|0}d=Sy(a,d)|0}return}function Bm(a,b,d,e,f,i){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;i=i|0;var j=0,k=0,l=0,m=0,n=0,o=0.0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0.0,I=0;j=ay(a)|0;G=FI()|0;if((f|0)==2){k=0;D=0}else{D=mx(a,2,90566,0)|0;k=(c[46404]|0)!=0&1;D=(D|0)!=0}A=(e|1|0)==3;E=uH(b*20|0)|0;F=uH(b<<2)|0;l=(j<<1)+b<<2;m=uH(l)|0;z=A|D;if(z)f=uH(l)|0;else f=0;C=(k|0)!=0;if(C)j=uH(l)|0;else j=0;if(A)k=uH(l)|0;else k=0;l=0;x=Ry(a)|0;y=0;while(1){if(!x)break;II(G);if((c[(c[x+16>>2]|0)+120>>2]|0)!=(y|0)){B=12;break}c[F+(y<<2)>>2]=x;u=E+(y*20|0)+4|0;c[u>>2]=m;v=E+(y*20|0)+8|0;c[v>>2]=z?f:0;w=E+(y*20|0)+12|0;c[w>>2]=C?j:0;c[E+(y*20|0)+16>>2]=A?k:0;r=1;t=Ix(a,x)|0;s=1;q=l;m=m+4|0;f=z?f+4|0:f;j=C?j+4|0:j;k=A?k+4|0:k;while(1){if(!t)break;n=c[t>>2]&3;p=t+-48|0;l=t+48|0;do if((c[((n|0)==2?t:p)+40>>2]|0)==(c[((n|0)==3?t:l)+40>>2]|0)){n=r;p=s;l=q}else{n=Cm(G,t,r)|0;if((n|0)!=(r|0)){if(C){p=(c[w>>2]|0)+(n<<2)|0;g[p>>2]=+h[(c[t+16>>2]|0)+128>>3]+ +g[p>>2]}if(!D){n=r;p=s;l=q;break}n=(c[v>>2]|0)+(n<<2)|0;H=+h[(c[t+16>>2]|0)+136>>3];o=+(~~+g[n>>2]|0);g[n>>2]=H>o?H:o;n=r;p=s;l=q;break}I=c[t>>2]&3;l=(I|0)==3?t:l;q=q+1|0;n=r+1|0;r=m+4|0;c[m>>2]=c[(c[(c[((c[l+40>>2]|0)==(x|0)?((I|0)==2?t:p):l)+40>>2]|0)+16>>2]|0)+120>>2];if(C){g[j>>2]=+h[(c[t+16>>2]|0)+128>>3];j=j+4|0}if(D){l=f+4|0;g[f>>2]=+h[(c[t+16>>2]|0)+136>>3];if(A){f=l;B=27}else f=l}else if(A){g[f>>2]=1.0;f=f+4|0;B=27}if((B|0)==27){B=0;l=wx(t,98533)|0;if((l|0)!=0?(y$(l,132627,4)|0)==0:0)o=0.0;else o=(x|0)==(c[((c[t>>2]&3|0)==2?t:p)+40>>2]|0)?1.0:-1.0;g[k>>2]=o;k=k+4|0}p=s+1|0;l=q;m=r}while(0);r=n;t=Jx(a,t,x)|0;s=p;q=l}c[E+(y*20|0)>>2]=s;c[c[u>>2]>>2]=y;l=q;x=Sy(a,x)|0;y=y+1|0}if((B|0)==12)qa(89003,89018,819,89030);if(A)Dm(E,b,e,F);n=(l|0)/2|0;a:do if((n|0)!=(ay(a)|0)){l=(n<<1)+b<<2;k=wH(c[E+4>>2]|0,l)|0;if(D)f=wH(c[E+8>>2]|0,l)|0;if(C){m=0;j=wH(c[E+12>>2]|0,l)|0}else m=0;while(1){if((m|0)>=(b|0))break a;l=c[E+(m*20|0)>>2]|0;c[E+(m*20|0)+4>>2]=k;if(D){c[E+(m*20|0)+8>>2]=f;f=f+(l<<2)|0}if(C){c[E+(m*20|0)+12>>2]=j;j=j+(l<<2)|0}m=m+1|0;k=k+(l<<2)|0}}while(0);c[d>>2]=n;if(!i)C_(F);else c[i>>2]=F;JI(G);return E|0}function Cm(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;f=c[b>>2]&3;e=c[(c[(c[((f|0)==3?b:b+48|0)+40>>2]|0)+16>>2]|0)+120>>2]|0;b=c[(c[(c[((f|0)==2?b:b+-48|0)+40>>2]|0)+16>>2]|0)+120>>2]|0;f=(e|0)>(b|0);return KI(a,f?b:e,f?e:b,d)|0}function Dm(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0;g=0;while(1){if((g|0)>=(d|0)){g=0;break}h=c[(c[f+(g<<2)>>2]|0)+16>>2]|0;a[h+157>>0]=0;a[h+158>>0]=0;g=g+1|0}while(1){if((g|0)>=(d|0))break;if(!(a[(c[(c[f+(g<<2)>>2]|0)+16>>2]|0)+157>>0]|0))Em(b,g,e,f);g=g+1|0}return}function Em(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0.0,p=0,q=0;q=(c[f+(d<<2)>>2]|0)+16|0;l=c[q>>2]|0;a[l+157>>0]=1;a[l+158>>0]=1;l=b+(d*20|0)|0;m=b+(d*20|0)+16|0;n=b+(d*20|0)+4|0;o=(e|0)==3?-1.0:1.0;k=1;a:while(1){if((k|0)>=(c[l>>2]|0)){h=14;break}h=(c[m>>2]|0)+(k<<2)|0;do if(!(+g[h>>2]==1.0)){p=c[(c[n>>2]|0)+(k<<2)>>2]|0;i=c[(c[f+(p<<2)>>2]|0)+16>>2]|0;if(!(a[i+158>>0]|0)){if(a[i+157>>0]|0)break;Em(b,p,e,f);break}g[h>>2]=o;i=b+(p*20|0)+4|0;j=c[b+(p*20|0)>>2]|0;h=1;while(1){if((h|0)>=(j|0)){h=9;break a}if((c[(c[i>>2]|0)+(h<<2)>>2]|0)==(d|0))break;h=h+1|0}g[(c[b+(p*20|0)+16>>2]|0)+(h<<2)>>2]=-1.0}while(0);k=k+1|0}if((h|0)==9)qa(89044,89018,721,89064);else if((h|0)==14){a[(c[q>>2]|0)+158>>0]=0;return}}function Fm(a){a=a|0;var b=0,d=0;d=l;l=l+16|0;b=d;a=JL(a,mx(a,0,89205,0)|0,2,0)|0;if((a|0)==0|(a|0)>2){c[b>>2]=89205;Ow(0,89214,b)|0;a=2}l=d;return a|0}function Gm(a){a=a|0;var b=0,d=0,e=0;d=$x(a)|0;c[46026]=mx(a,1,99597,0)|0;e=mx(a,1,90570,0)|0;b=Ry(a)|0;while(1){if(!b)break;_l(b);$l(c[46026]|0,e,b,d)|0;b=Sy(a,b)|0}d=Ry(a)|0;while(1){if(!d)break;b=Dx(a,d)|0;while(1){if(!b)break;Hm(b);b=Fx(a,b)|0}d=Sy(a,d)|0}return}function Hm(a){a=a|0;var b=0.0;zz(a,134378,176,1)|0;dM(a)|0;b=+KL(a,c[46404]|0,1.0,1.0);h[(c[a+16>>2]|0)+128>>3]=b;return}function Im(a,d,e){a=a|0;d=d|0;e=e|0;var f=0,g=0;a=tH(64)|0;e=a+8|0;f=d+8|0;g=e+48|0;do{c[e>>2]=c[f>>2];e=e+4|0;f=f+4|0}while((e|0)<(g|0));d=c[d+56>>2]|0;c[a+56>>2]=d;b[(c[d+16>>2]|0)+168>>1]=1;return a|0}function Jm(a,b,c){a=a|0;b=b|0;c=c|0;C_(b);return}function Km(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;a=c[b>>2]|0;e=c[d>>2]|0;if(a>>>0<=e>>>0)if(a>>>0>=e>>>0){e=c[b+24>>2]|0;a=c[d+24>>2]|0;if(e>>>0<=a>>>0)if(e>>>0>=a>>>0){a=~~(+h[b+8>>3]-+h[d+8>>3]);if(!a){a=~~(+h[b+16>>3]-+h[d+16>>3]);if(!a){a=~~(+h[b+32>>3]-+h[d+32>>3]);if(!a)a=~~(+h[b+40>>3]-+h[d+40>>3])}}}else a=-1;else a=1}else a=-1;else a=1;return a|0}function Lm(d,e,f){d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,m=0.0;k=l;l=l+16|0;g=k;h=e+16|0;i=b[(c[h>>2]|0)+168>>1]|0;j=i<<16>>16;if(i<<16>>16!=1&(a[191874]|0)==0){i=uH(j<<2)|0;g=0;while(1){if((g|0)>=(j|0))break;c[i+(g<<2)>>2]=e;e=c[(c[e+16>>2]|0)+172>>2]|0;g=g+1|0}m=+(f|0);XK(d,i,0,j,m,m,17764);e=0;while(1){if((e|0)>=(j|0))break;g=c[i+(e<<2)>>2]|0;h=g+16|0;if(c[(c[h>>2]|0)+96>>2]|0){f=dz(c[((c[g>>2]&3|0)==3?g:g+48|0)+40>>2]|0)|0;jM(f,c[(c[h>>2]|0)+96>>2]|0)}cL(g);e=e+1|0}C_(i)}else{c[g>>2]=e;m=+(f|0);XK(d,g,0,1,m,m,17764);if(c[(c[h>>2]|0)+96>>2]|0){j=dz(c[((c[e>>2]&3|0)==3?e:e+48|0)+40>>2]|0)|0;jM(j,c[(c[h>>2]|0)+96>>2]|0)}cL(e)}l=k;return}function Mm(a){a=a|0;return 0}function Nm(a){a=a|0;return 0}function Om(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,i=0,j=0,k=0.0,m=0.0,n=0.0,o=0.0,p=0.0,q=0.0,r=0,s=0.0,t=0,u=0,v=0,w=0.0,x=0.0,y=0.0,z=0,A=0,B=0,D=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0;Q=l;l=l+384|0;O=Q+368|0;P=Q+112|0;j=Q+32|0;r=Q+336|0;K=Q+320|0;L=Q+304|0;M=Q+288|0;N=Q+272|0;i=Q+256|0;H=Q+240|0;I=Q+224|0;J=Q+208|0;t=Q+192|0;u=Q+176|0;v=Q+160|0;z=Q+144|0;A=Q+128|0;B=Q+96|0;D=Q+16|0;G=Q;a:do switch(GJ(b)|0){case 3:case 1:{f=tH(8)|0;z=b+16|0;b=c[z>>2]|0;i=c[b+12>>2]|0;do if(!(e<<24>>24)){b=c[i+8>>2]|0;if((b|0)>2){y=0.0;j=c[i+44>>2]|0;e=0;p=+g[d>>2];q=+g[d+4>>2];break}else{y=+j2()*.01;b=8;j=0;e=1;p=0.0;q=0.0;break}}else if(!(c[i+40>>2]&2048)){q=+h[b+88>>3];p=-q;y=+h[b+80>>3];x=y*-.5;h[j>>3]=p;h[j+8>>3]=x;h[j+16>>3]=q;h[j+24>>3]=x;y=y*.5;h[j+32>>3]=q;h[j+40>>3]=y;h[j+48>>3]=p;h[j+56>>3]=y;y=0.0;b=4;e=0;p=0.0;q=0.0;break}else{iM(r,i);p=+h[r>>3];x=+h[r+8>>3];q=+h[r+16>>3];y=+h[r+24>>3];h[j>>3]=p;h[j+8>>3]=x;h[j+16>>3]=q;h[j+24>>3]=x;h[j+32>>3]=q;h[j+40>>3]=y;h[j+48>>3]=p;h[j+56>>3]=y;y=0.0;b=4;e=0;p=0.0;q=0.0;break}while(0);c[f+4>>2]=b;r=tH(b<<4)|0;c[f>>2]=r;s=1.0/+(b|0);t=d+8|0;u=d+4|0;v=(b|0)==4;w=-p;x=-q;i=0;while(1){if((b|0)<=(i|0))break a;do if(e){k=+(i|0)*6.283185307179586*s+y;m=+E(+k);k=+F(+k);if(!(a[t>>0]|0)){P=c[z>>2]|0;n=k*+g[u>>2]*+h[P+80>>3];k=m*+g[d>>2]*(+h[P+96>>3]+ +h[P+88>>3])}else{P=c[z>>2]|0;n=(+h[P+80>>3]+ +g[u>>2])*k;k=(+h[P+96>>3]+ +h[P+88>>3]+ +g[d>>2])*m}o=k*.5;k=n*.5}else{if(!(a[t>>0]|0)){o=+h[j+(i<<4)>>3]*p;k=+h[j+(i<<4)+8>>3]*q;break}if(!v){o=+h[j+(i<<4)>>3];k=+h[j+(i<<4)+8>>3];n=+C(+(k*k+o*o));o=(p/n+1.0)*o;k=(q/n+1.0)*k;break}switch(i|0){case 0:{m=q;k=p;break}case 1:{m=q;k=w;break}case 2:{m=x;k=w;break}case 3:{m=x;k=p;break}default:{m=0.0;k=0.0}}o=+h[j+(i<<4)>>3]+k;k=+h[j+(i<<4)+8>>3]+m}while(0);O=c[z>>2]|0;P=b-i+-1|0;h[r+(P<<4)>>3]=+h[O+16>>3]+o;h[r+(P<<4)+8>>3]=+h[O+24>>3]+k;i=i+1|0}}case 2:{G=b+16|0;f=c[(c[G>>2]|0)+12>>2]|0;k=+h[f+16>>3];o=+h[f+24>>3];m=+h[f+32>>3];n=+h[f+40>>3];f=tH(8)|0;c[f+4>>2]=4;b=tH(64)|0;c[f>>2]=b;G=(c[G>>2]|0)+16|0;c[P>>2]=c[G>>2];c[P+4>>2]=c[G+4>>2];c[P+8>>2]=c[G+8>>2];c[P+12>>2]=c[G+12>>2];if(!(a[d+8>>0]|0)){c[O>>2]=c[P>>2];c[O+4>>2]=c[P+4>>2];c[O+8>>2]=c[P+8>>2];c[O+12>>2]=c[P+12>>2];Qm(i,k,o,O,d);c[b>>2]=c[i>>2];c[b+4>>2]=c[i+4>>2];c[b+8>>2]=c[i+8>>2];c[b+12>>2]=c[i+12>>2];N=(c[f>>2]|0)+16|0;c[O>>2]=c[P>>2];c[O+4>>2]=c[P+4>>2];c[O+8>>2]=c[P+8>>2];c[O+12>>2]=c[P+12>>2];Qm(H,k,n,O,d);c[N>>2]=c[H>>2];c[N+4>>2]=c[H+4>>2];c[N+8>>2]=c[H+8>>2];c[N+12>>2]=c[H+12>>2];N=(c[f>>2]|0)+32|0;c[O>>2]=c[P>>2];c[O+4>>2]=c[P+4>>2];c[O+8>>2]=c[P+8>>2];c[O+12>>2]=c[P+12>>2];Qm(I,m,n,O,d);c[N>>2]=c[I>>2];c[N+4>>2]=c[I+4>>2];c[N+8>>2]=c[I+8>>2];c[N+12>>2]=c[I+12>>2];N=(c[f>>2]|0)+48|0;c[O>>2]=c[P>>2];c[O+4>>2]=c[P+4>>2];c[O+8>>2]=c[P+8>>2];c[O+12>>2]=c[P+12>>2];Qm(J,m,o,O,d);c[N>>2]=c[J>>2];c[N+4>>2]=c[J+4>>2];c[N+8>>2]=c[J+8>>2];c[N+12>>2]=c[J+12>>2];break a}else{y=k-+g[d>>2];J=d+4|0;x=o-+g[J>>2];c[O>>2]=c[P>>2];c[O+4>>2]=c[P+4>>2];c[O+8>>2]=c[P+8>>2];c[O+12>>2]=c[P+12>>2];Pm(K,y,x,O);c[b>>2]=c[K>>2];c[b+4>>2]=c[K+4>>2];c[b+8>>2]=c[K+8>>2];c[b+12>>2]=c[K+12>>2];K=(c[f>>2]|0)+16|0;x=k-+g[d>>2];y=n+ +g[J>>2];c[O>>2]=c[P>>2];c[O+4>>2]=c[P+4>>2];c[O+8>>2]=c[P+8>>2];c[O+12>>2]=c[P+12>>2];Pm(L,x,y,O);c[K>>2]=c[L>>2];c[K+4>>2]=c[L+4>>2];c[K+8>>2]=c[L+8>>2];c[K+12>>2]=c[L+12>>2];L=(c[f>>2]|0)+32|0;y=m+ +g[d>>2];x=n+ +g[J>>2];c[O>>2]=c[P>>2];c[O+4>>2]=c[P+4>>2];c[O+8>>2]=c[P+8>>2];c[O+12>>2]=c[P+12>>2];Pm(M,y,x,O);c[L>>2]=c[M>>2];c[L+4>>2]=c[M+4>>2];c[L+8>>2]=c[M+8>>2];c[L+12>>2]=c[M+12>>2];M=(c[f>>2]|0)+48|0;x=m+ +g[d>>2];y=o-+g[J>>2];c[O>>2]=c[P>>2];c[O+4>>2]=c[P+4>>2];c[O+8>>2]=c[P+8>>2];c[O+12>>2]=c[P+12>>2];Pm(N,x,y,O);c[M>>2]=c[N>>2];c[M+4>>2]=c[N+4>>2];c[M+8>>2]=c[N+8>>2];c[M+12>>2]=c[N+12>>2];break a}}case 4:{b=b+16|0;f=tH(8)|0;c[f+4>>2]=4;i=tH(64)|0;c[f>>2]=i;j=c[b>>2]|0;N=j+16|0;c[P>>2]=c[N>>2];c[P+4>>2]=c[N+4>>2];c[P+8>>2]=c[N+8>>2];c[P+12>>2]=c[N+12>>2];k=-+h[j+88>>3];if(!(a[d+8>>0]|0)){x=-+h[j+80>>3];c[O>>2]=c[P>>2];c[O+4>>2]=c[P+4>>2];c[O+8>>2]=c[P+8>>2];c[O+12>>2]=c[P+12>>2];Qm(A,k,x,O,d);c[i>>2]=c[A>>2];c[i+4>>2]=c[A+4>>2];c[i+8>>2]=c[A+8>>2];c[i+12>>2]=c[A+12>>2];N=(c[f>>2]|0)+16|0;M=c[b>>2]|0;x=-+h[M+88>>3];y=+h[M+80>>3];c[O>>2]=c[P>>2];c[O+4>>2]=c[P+4>>2];c[O+8>>2]=c[P+8>>2];c[O+12>>2]=c[P+12>>2];Qm(B,x,y,O,d);c[N>>2]=c[B>>2];c[N+4>>2]=c[B+4>>2];c[N+8>>2]=c[B+8>>2];c[N+12>>2]=c[B+12>>2];N=(c[f>>2]|0)+32|0;M=c[b>>2]|0;y=+h[M+96>>3];x=+h[M+80>>3];c[O>>2]=c[P>>2];c[O+4>>2]=c[P+4>>2];c[O+8>>2]=c[P+8>>2];c[O+12>>2]=c[P+12>>2];Qm(D,y,x,O,d);c[N>>2]=c[D>>2];c[N+4>>2]=c[D+4>>2];c[N+8>>2]=c[D+8>>2];c[N+12>>2]=c[D+12>>2];N=(c[f>>2]|0)+48|0;M=c[b>>2]|0;x=+h[M+96>>3];y=-+h[M+80>>3];c[O>>2]=c[P>>2];c[O+4>>2]=c[P+4>>2];c[O+8>>2]=c[P+8>>2];c[O+12>>2]=c[P+12>>2];Qm(G,x,y,O,d);c[N>>2]=c[G>>2];c[N+4>>2]=c[G+4>>2];c[N+8>>2]=c[G+8>>2];c[N+12>>2]=c[G+12>>2];break a}else{y=k-+g[d>>2];M=d+4|0;x=-+h[j+80>>3]-+g[M>>2];c[O>>2]=c[P>>2];c[O+4>>2]=c[P+4>>2];c[O+8>>2]=c[P+8>>2];c[O+12>>2]=c[P+12>>2];Pm(t,y,x,O);c[i>>2]=c[t>>2];c[i+4>>2]=c[t+4>>2];c[i+8>>2]=c[t+8>>2];c[i+12>>2]=c[t+12>>2];N=(c[f>>2]|0)+16|0;L=c[b>>2]|0;x=-+h[L+88>>3]-+g[d>>2];y=+h[L+80>>3]+ +g[M>>2];c[O>>2]=c[P>>2];c[O+4>>2]=c[P+4>>2];c[O+8>>2]=c[P+8>>2];c[O+12>>2]=c[P+12>>2];Pm(u,x,y,O);c[N>>2]=c[u>>2];c[N+4>>2]=c[u+4>>2];c[N+8>>2]=c[u+8>>2];c[N+12>>2]=c[u+12>>2];N=(c[f>>2]|0)+32|0;L=c[b>>2]|0;y=+h[L+96>>3]+ +g[d>>2];x=+h[L+80>>3]+ +g[M>>2];c[O>>2]=c[P>>2];c[O+4>>2]=c[P+4>>2];c[O+8>>2]=c[P+8>>2];c[O+12>>2]=c[P+12>>2];Pm(v,y,x,O);c[N>>2]=c[v>>2];c[N+4>>2]=c[v+4>>2];c[N+8>>2]=c[v+8>>2];c[N+12>>2]=c[v+12>>2];N=(c[f>>2]|0)+48|0;L=c[b>>2]|0;x=+h[L+96>>3]+ +g[d>>2];y=-+h[L+80>>3]-+g[M>>2];c[O>>2]=c[P>>2];c[O+4>>2]=c[P+4>>2];c[O+8>>2]=c[P+8>>2];c[O+12>>2]=c[P+12>>2];Pm(z,x,y,O);c[N>>2]=c[z>>2];c[N+4>>2]=c[z+4>>2];c[N+8>>2]=c[z+8>>2];c[N+12>>2]=c[z+12>>2];break a}}default:f=0}while(0);l=Q;return f|0}function Pm(a,b,c,d){a=a|0;b=+b;c=+c;d=d|0;c=+h[d+8>>3]+c;h[a>>3]=+h[d>>3]+b;h[a+8>>3]=c;return}function Qm(a,b,c,d,e){a=a|0;b=+b;c=+c;d=d|0;e=e|0;c=+g[e+4>>2]*c+ +h[d+8>>3];h[a>>3]=+g[e>>2]*b+ +h[d>>3];h[a+8>>3]=c;return}function Rm(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0;o=l;l=l+112|0;j=o+88|0;i=o+72|0;k=o+32|0;m=o+16|0;n=o;f=o+56|0;g=o+40|0;h=b+48|0;r=(c[(c[((c[b>>2]&3|0)==3?b:h)+40>>2]|0)+16>>2]|0)+16|0;p=b+16|0;q=(c[p>>2]|0)+16|0;c[i>>2]=c[r>>2];c[i+4>>2]=c[r+4>>2];c[i+8>>2]=c[r+8>>2];c[i+12>>2]=c[r+12>>2];c[j>>2]=c[q>>2];c[j+4>>2]=c[q+4>>2];c[j+8>>2]=c[q+8>>2];c[j+12>>2]=c[q+12>>2];Sm(f,i,j);c[m>>2]=c[f>>2];c[m+4>>2]=c[f+4>>2];c[m+8>>2]=c[f+8>>2];c[m+12>>2]=c[f+12>>2];f=b+-48|0;q=(c[(c[((c[b>>2]&3|0)==2?b:f)+40>>2]|0)+16>>2]|0)+16|0;p=(c[p>>2]|0)+56|0;c[i>>2]=c[q>>2];c[i+4>>2]=c[q+4>>2];c[i+8>>2]=c[q+8>>2];c[i+12>>2]=c[q+12>>2];c[j>>2]=c[p>>2];c[j+4>>2]=c[p+4>>2];c[j+8>>2]=c[p+8>>2];c[j+12>>2]=c[p+12>>2];Sm(g,i,j);c[n>>2]=c[g>>2];c[n+4>>2]=c[g+4>>2];c[n+8>>2]=c[g+8>>2];c[n+12>>2]=c[g+12>>2];if(!e){g=-1111;f=-1111}else{r=c[b>>2]&3;g=c[(c[(c[((r|0)==2?b:f)+40>>2]|0)+16>>2]|0)+288>>2]|0;f=c[(c[(c[((r|0)==3?b:h)+40>>2]|0)+16>>2]|0)+288>>2]|0};c[i>>2]=c[m>>2];c[i+4>>2]=c[m+4>>2];c[i+8>>2]=c[m+8>>2];c[i+12>>2]=c[m+12>>2];c[j>>2]=c[n>>2];c[j+4>>2]=c[n+4>>2];c[j+8>>2]=c[n+8>>2];c[j+12>>2]=c[n+12>>2];uU(d,i,f,j,g,k)|0;p=k;q=c[p+4>>2]|0;r=a;c[r>>2]=c[p>>2];c[r+4>>2]=q;l=o;return}function Sm(a,b,c){a=a|0;b=b|0;c=c|0;var d=0.0;d=+h[c+8>>3]+ +h[b+8>>3];h[a>>3]=+h[c>>3]+ +h[b>>3];h[a+8>>3]=d;return}function Tm(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0;u=l;l=l+144|0;p=u+104|0;q=u+88|0;o=u+80|0;n=u+72|0;j=u+64|0;s=u+128|0;k=u+32|0;m=u+124|0;t=u+16|0;r=u;i=u+120|0;h=(c[b+16>>2]|0)+144|0;g=c[h>>2]|0;h=c[h+4>>2]|0;v=j;c[v>>2]=g;c[v+4>>2]=h;v=g;c[t>>2]=c[v>>2];c[t+4>>2]=c[v+4>>2];c[t+8>>2]=c[v+8>>2];c[t+12>>2]=c[v+12>>2];h=g+(h+-1<<4)|0;c[r>>2]=c[h>>2];c[r+4>>2]=c[h+4>>2];c[r+8>>2]=c[h+8>>2];c[r+12>>2]=c[h+12>>2];a:do if(!(f<<24>>24)){g=-1111;f=-1111}else{g=-1111;f=-1111;h=0;while(1){if((h|0)>=(e|0))break a;if((f|0)==-1111){f=c[d+(h<<2)>>2]|0;c[q>>2]=c[f>>2];c[q+4>>2]=c[f+4>>2];c[p>>2]=c[t>>2];c[p+4>>2]=c[t+4>>2];c[p+8>>2]=c[t+8>>2];c[p+12>>2]=c[t+12>>2];f=(vU(q,p)|0)==0;f=f?-1111:h}if((g|0)==-1111){g=c[d+(h<<2)>>2]|0;c[q>>2]=c[g>>2];c[q+4>>2]=c[g+4>>2];c[p>>2]=c[r>>2];c[p+4>>2]=c[r+4>>2];c[p+8>>2]=c[r+8>>2];c[p+12>>2]=c[r+12>>2];g=(vU(q,p)|0)==0;g=g?-1111:h}h=h+1|0}}while(0);Um(d,e,f,g,i,m);c[k>>2]=0;c[k+4>>2]=0;c[k+8>>2]=0;c[k+12>>2]=0;c[k+16>>2]=0;c[k+20>>2]=0;c[k+24>>2]=0;c[k+28>>2]=0;h=c[i>>2]|0;v=c[m>>2]|0;c[p>>2]=c[j>>2];c[p+4>>2]=c[j+4>>2];if((wU(h,v,p,k,s)|0)<0){t=qy(c[((c[b>>2]&3|0)==3?b:b+48|0)+40>>2]|0)|0;v=qy(c[((c[b>>2]&3|0)==2?b:b+-48|0)+40>>2]|0)|0;c[n>>2]=t;c[n+4>>2]=v;Ow(1,89563,n)|0}else{if(0>1){g=c[15686]|0;n=qy(c[((c[b>>2]&3|0)==3?b:b+48|0)+40>>2]|0)|0;f=b+-48|0;v=qy(c[((c[b>>2]&3|0)==2?b:f)+40>>2]|0)|0;c[o>>2]=n;c[o+4>>2]=v;f1(g,89611,o)|0;g=b}else{f=b+-48|0;g=b}PK(b,c[((c[g>>2]&3|0)==2?b:f)+40>>2]|0,c[s>>2]|0,c[s+4>>2]|0,17764);C_(h);c[q>>2]=c[t>>2];c[q+4>>2]=c[t+4>>2];c[q+8>>2]=c[t+8>>2];c[q+12>>2]=c[t+12>>2];c[p>>2]=c[r>>2];c[p+4>>2]=c[r+4>>2];c[p+8>>2]=c[r+8>>2];c[p+12>>2]=c[r+12>>2];iL(a,b,q,p)}l=u;return}function Um(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;i=0;h=0;while(1){if((i|0)>=(b|0))break;if(!((i|0)==(d|0)|(i|0)==(e|0)))h=(c[(c[a+(i<<2)>>2]|0)+4>>2]|0)+h|0;i=i+1|0}o=uH(h<<5)|0;i=0;n=0;while(1){if((n|0)>=(b|0))break;a:do if(!((n|0)==(d|0)|(n|0)==(e|0))){m=a+(n<<2)|0;l=0;while(1){j=c[m>>2]|0;k=c[j+4>>2]|0;if((l|0)>=(k|0))break a;p=l+1|0;q=o+(i<<5)|0;j=(c[j>>2]|0)+(l<<4)|0;c[q>>2]=c[j>>2];c[q+4>>2]=c[j+4>>2];c[q+8>>2]=c[j+8>>2];c[q+12>>2]=c[j+12>>2];j=o+(i<<5)+16|0;k=(c[c[m>>2]>>2]|0)+(((p|0)<(k|0)?p:0)<<4)|0;c[j>>2]=c[k>>2];c[j+4>>2]=c[k+4>>2];c[j+8>>2]=c[k+8>>2];c[j+12>>2]=c[k+12>>2];l=p;i=i+1|0}}while(0);n=n+1|0}if((i|0)==(h|0)){c[f>>2]=o;c[g>>2]=h;return}else qa(89625,89632,77,89647)}function Vm(a,d,e){a=a|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0;n=l;l=l+32|0;k=n+12|0;f=n;tq(f,a);c[k>>2]=c[f>>2];c[k+4>>2]=c[f+4>>2];c[k+8>>2]=c[f+8>>2];f=Ry(a)|0;while(1){if(!f)break;g=Dx(a,f)|0;while(1){if(!g)break;JK(g);g=Fx(a,g)|0}f=Sy(a,f)|0}h=Bw(17728,c[4555]|0)|0;f=Ry(a)|0;while(1){if(!f)break;g=Dx(a,f)|0;while(1){if(!g)break;if((c[46363]|0)>1?(i=c[g+16>>2]|0,(c[i+8>>2]|0)!=0):0){o=i+168|0;b[o>>1]=(b[o>>1]|0)+1<<16>>16}else m=14;if((m|0)==14?(m=0,j=Wm(h,g)|0,(j|0)!=(g|0)):0){o=c[j+16>>2]|0;p=o+168|0;b[p>>1]=(b[p>>1]|0)+1<<16>>16;o=o+172|0;c[(c[g+16>>2]|0)+172>>2]=c[o>>2];c[o>>2]=g}g=Fx(a,g)|0}f=Sy(a,f)|0}xw(h)|0;if(!(nb[d&63](a,k,e)|0)){c[46367]=1;f=0}else f=1;l=n;return f|0}function Wm(a,b){a=a|0;b=b|0;var d=0,e=0,f=0.0,g=0.0,i=0,j=0.0,k=0.0,m=0.0,n=0.0,o=0,p=0,q=0;q=l;l=l+64|0;p=q;e=c[b>>2]&3;i=c[((e|0)==3?b:b+48|0)+40>>2]|0;e=c[((e|0)==2?b:b+-48|0)+40>>2]|0;do if(i>>>0>=e>>>0){d=b+16|0;if(i>>>0>e>>>0){d=c[d>>2]|0;o=e;e=i;k=+h[d+16>>3];m=+h[d+24>>3];g=+h[d+56>>3];f=+h[d+64>>3];break}o=c[d>>2]|0;j=+h[o+56>>3];n=+h[o+64>>3];g=+h[o+16>>3];f=+h[o+24>>3];if(!(gj)){d=f>n;if(f>2]|0;o=i;k=+h[d+56>>3];m=+h[d+64>>3];g=+h[d+16>>3];f=+h[d+24>>3]}while(0);c[p+8>>2]=o;h[p+16>>3]=g;h[p+24>>3]=f;c[p+32>>2]=e;h[p+40>>3]=k;h[p+48>>3]=m;c[p+56>>2]=b;p=c[(nb[c[a>>2]&63](a,p,1)|0)+56>>2]|0;l=q;return p|0}function Xm(a,b){a=a|0;b=b|0;return Vm(a,21,b)|0}function Ym(d,e,f){d=d|0;e=e|0;f=f|0;var i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0.0,H=0;F=l;l=l+112|0;B=F+88|0;A=F+72|0;t=F+40|0;q=F+8|0;p=F;u=F+64|0;C=F+48|0;D=F+24|0;i=(c[46363]|0)>1&1;do if((f|0)>5){s=tH(($x(d)|0)<<2)|0;o=(f|0)==8;n=o&1;m=Ry(d)|0;r=0;while(1){if(!m)break;j=Om(m,e,n)|0;k=(c[m+16>>2]|0)+288|0;if(!j){c[k>>2]=-1111;j=r}else{c[k>>2]=r;c[s+(r<<2)>>2]=j;j=r+1|0}m=Sy(d,m)|0;r=j}if(s){j=ls(s,r)|0;if(j|0){if(o){y=0;z=s;x=s;w=1;break}y=rU(s,r)|0;z=s;x=s;w=1;break}if(o){Ow(0,89661,p)|0;j=0;y=0;z=s;x=s;w=1;break}else{G=+g[e+4>>2];h[q>>3]=+g[e>>2];h[q+8>>3]=G;Ow(0,89739,q)|0;j=0;y=0;z=s;x=s;w=1;break}}else{j=0;y=0;z=0;x=0;w=0}}else{j=0;y=0;z=0;r=0;x=0;w=0}while(0);if(0){k=c[15686]|0;if((f|0)==8&(j|0)!=0)m=89845;else m=(y|0)==0?89831:(f|0)==10?107030:89821;c[t>>2]=m;f1(k,89862,t)|0}v=(y|0)!=0;a:do if(!v){if((f|0)==8&(j|0)!=0){bN(d,0);i=1}}else{k=Ry(d)|0;while(1){if(!k)break a;j=Dx(d,k)|0;while(1){if(!j)break;t=(c[j+16>>2]|0)+144|0;Rm(u,j,y,1,0,0);q=u;s=c[q+4>>2]|0;c[t>>2]=c[q>>2];c[t+4>>2]=s;j=Fx(d,j)|0}k=Sy(d,k)|0}}while(0);p=(i|0)==0;q=d+60|0;s=(f|0)==10;i=0;o=Ry(d)|0;j=0;while(1){if(!o)break;t=o+16|0;e=Dx(d,o)|0;while(1){if(!e)break;n=c[((c[e>>2]&3|0)==2?e:e+-48|0)+40>>2]|0;k=e+16|0;m=c[k>>2]|0;if(!p?(c[m+8>>2]|0)!=0:0){H=(c[t>>2]|0)+16|0;u=m+16|0;c[A>>2]=c[H>>2];c[A+4>>2]=c[H+4>>2];c[A+8>>2]=c[H+8>>2];c[A+12>>2]=c[H+12>>2];c[B>>2]=c[u>>2];c[B+4>>2]=c[u+4>>2];c[B+8>>2]=c[u+8>>2];c[B+12>>2]=c[u+12>>2];Sm(C,A,B);n=(c[n+16>>2]|0)+16|0;u=(c[k>>2]|0)+56|0;c[A>>2]=c[n>>2];c[A+4>>2]=c[n+4>>2];c[A+8>>2]=c[n+8>>2];c[A+12>>2]=c[n+12>>2];c[B>>2]=c[u>>2];c[B+4>>2]=c[u+4>>2];c[B+8>>2]=c[u+8>>2];c[B+12>>2]=c[u+12>>2];Sm(D,A,B);c[A>>2]=c[C>>2];c[A+4>>2]=c[C+4>>2];c[A+8>>2]=c[C+8>>2];c[A+12>>2]=c[C+12>>2];c[B>>2]=c[D>>2];c[B+4>>2]=c[D+4>>2];c[B+8>>2]=c[D+8>>2];c[B+12>>2]=c[D+12>>2];iL(d,e,A,B)}else E=35;b:do if((E|0)==35){E=0;H=b[m+168>>1]|0;k=H<<16>>16;if(H<<16>>16){if((o|0)==(n|0)){if(!i){j=tH(96)|0;c[j+84>>2]=tH((($x(d)|0)<<5)+11520|0)|0;i=j}Lm(i,e,c[(c[(c[q>>2]|0)+16>>2]|0)+248>>2]|0);break}if(!v){yJ(d,e,f,17764);break}k=a[191874]|0?1:k;m=e;n=0;while(1){if((n|0)>=(k|0))break b;if(s)Tm(d,m,z,r,1);else Zm(d,m);m=c[(c[m+16>>2]|0)+172>>2]|0;n=n+1|0}}}while(0);e=Fx(d,e)|0}o=Sy(d,o)|0}if(v)tU(y);if(i|0){C_(c[i+84>>2]|0);C_(j)}if(w){i=0;while(1){if((i|0)>=(r|0))break;C_(c[z+(i<<2)>>2]|0);i=i+1|0}C_(x)}l=F;return 0}function Zm(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0;k=l;l=l+96|0;g=k+64|0;f=k+48|0;d=k+40|0;h=k+80|0;e=k+32|0;i=k+16|0;j=k;m=(c[b+16>>2]|0)+144|0;n=c[m>>2]|0;m=c[m+4>>2]|0;o=e;c[o>>2]=n;c[o+4>>2]=m;o=n;c[i>>2]=c[o>>2];c[i+4>>2]=c[o+4>>2];c[i+8>>2]=c[o+8>>2];c[i+12>>2]=c[o+12>>2];m=n+(m+-1<<4)|0;c[j>>2]=c[m>>2];c[j+4>>2]=c[m+4>>2];c[j+8>>2]=c[m+8>>2];c[j+12>>2]=c[m+12>>2];c[g>>2]=c[e>>2];c[g+4>>2]=c[e+4>>2];nV(g,h);if(0>1){o=c[15686]|0;m=qy(c[((c[b>>2]&3|0)==3?b:b+48|0)+40>>2]|0)|0;e=b+-48|0;n=qy(c[((c[b>>2]&3|0)==2?b:e)+40>>2]|0)|0;c[d>>2]=m;c[d+4>>2]=n;f1(o,89887,d)|0;d=e;e=b}else{d=b+-48|0;e=b}PK(b,c[((c[e>>2]&3|0)==2?b:d)+40>>2]|0,c[h>>2]|0,c[h+4>>2]|0,17764);c[f>>2]=c[i>>2];c[f+4>>2]=c[i+4>>2];c[f+8>>2]=c[i+8>>2];c[f+12>>2]=c[i+12>>2];c[g>>2]=c[j>>2];c[g+4>>2]=c[j+4>>2];c[g+8>>2]=c[j+8>>2];c[g+12>>2]=c[j+12>>2];iL(a,b,f,g);l=k;return}function _m(a,d){a=a|0;d=d|0;var e=0;e=b[(c[a+16>>2]|0)+136>>1]&14;if(d<<24>>24)$m(a)|0;if(e<<16>>16)Xm(a,e&65535)|0;return}function $m(a){a=a|0;var b=0,d=0,e=0,f=0;d=an(a)|0;b=Ry(a)|0;while(1){if(!b)break;e=c[b+16>>2]|0;f=c[e+132>>2]|0;h[e+16>>3]=+h[f>>3]*72.0;h[e+24>>3]=+h[f+8>>3]*72.0;b=Sy(a,b)|0}return d|0}function an(a){a=a|0;var b=0,d=0,e=0,f=0.0,g=0.0,i=0.0,j=0,k=0;a:do if((c[a+60>>2]|0)==(a|0)?(d=a+16|0,e=c[d>>2]|0,(c[(c[e+8>>2]|0)+84>>2]|0)!=0):0){if(!(+h[e+16>>3]!=0.0)?!(+h[e+24>>3]!=0.0):0)b=0;else{bn(a);b=1;e=c[d>>2]|0}j=(c[e+116>>2]&1|0)==0;if(!j){k=e+32|0;i=+h[k>>3];d=e+40|0;h[k>>3]=+h[d>>3];h[d>>3]=i}d=c[e+8>>2]|0;b:do switch(c[d+84>>2]|0){case 2:{f=+h[d+64>>3];if(f<=0.0)break a;g=f/+h[e+32>>3];f=+h[d+72>>3]/+h[e+40>>3];if(g<1.0|f<1.0)if(g>3];if(f<=0.0)break a;g=f/+h[e+32>>3];f=+h[d+72>>3]/+h[e+40>>3];if(!(g>1.0&f>1.0))break a;f=g>3];f=+h[e+40>>3]/+h[e+32>>3];if(f1){d=Ry(a)|0;while(1){if(!d)break c;b=Dx(a,d)|0;while(1){if(!b)break;if(c[(c[b+16>>2]|0)+8>>2]|0)cn(b,f,g);b=Fx(a,b)|0}d=Sy(a,d)|0}}while(0);b=Ry(a)|0;while(1){if(!b)break;k=c[(c[b+16>>2]|0)+132>>2]|0;h[k>>3]=+h[k>>3]*f;k=k+8|0;h[k>>3]=+h[k>>3]*g;b=Sy(a,b)|0}dn(a,f,g);b=1}else b=0;while(0);return b|0}function bn(b){b=b|0;var d=0,e=0,f=0.0,g=0.0,i=0.0,j=0.0,k=0,m=0,n=0,o=0;n=l;l=l+32|0;k=n+16|0;m=n;d=(c[b+16>>2]|0)+16|0;c[m>>2]=c[d>>2];c[m+4>>2]=c[d+4>>2];c[m+8>>2]=c[d+8>>2];c[m+12>>2]=c[d+12>>2];f=+h[m>>3];g=f*.013888888888888888;i=+h[m+8>>3];j=i*.013888888888888888;d=Ry(b)|0;while(1){if(!d)break;e=c[d+16>>2]|0;o=c[e+132>>2]|0;h[o>>3]=+h[o>>3]-g;o=o+8|0;h[o>>3]=+h[o>>3]-j;e=c[e+108>>2]|0;if(e|0?a[e+81>>0]|0:0){o=e+56|0;h[o>>3]=+h[o>>3]-f;o=e+64|0;h[o>>3]=+h[o>>3]-i}d=Sy(b,d)|0}e=Ry(b)|0;while(1){if(!e)break;d=Dx(b,e)|0;while(1){if(!d)break;if(c[(c[d+16>>2]|0)+8>>2]|0){c[k>>2]=c[m>>2];c[k+4>>2]=c[m+4>>2];c[k+8>>2]=c[m+8>>2];c[k+12>>2]=c[m+12>>2];en(d,k)}d=Fx(b,d)|0}e=Sy(b,e)|0}c[k>>2]=c[m>>2];c[k+4>>2]=c[m+4>>2];c[k+8>>2]=c[m+8>>2];c[k+12>>2]=c[m+12>>2];fn(b,k);l=n;return}function cn(b,d,e){b=b|0;d=+d;e=+e;var f=0,g=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0.0,p=0,q=0.0,r=0.0,s=0.0,t=0.0,u=0;p=c[b>>2]&3;i=c[(c[(c[((p|0)==2?b:b+-48|0)+40>>2]|0)+16>>2]|0)+132>>2]|0;s=(d+-1.0)*72.0;q=s*+h[i>>3];t=(e+-1.0)*72.0;r=t*+h[i+8>>3];p=c[(c[(c[((p|0)==3?b:b+48|0)+40>>2]|0)+16>>2]|0)+132>>2]|0;s=s*+h[p>>3];t=t*+h[p+8>>3];p=c[b+16>>2]|0;i=c[p+8>>2]|0;j=c[i+4>>2]|0;k=j+-1|0;b=0;i=c[i>>2]|0;while(1){if((b|0)>=(j|0))break;l=c[i+4>>2]|0;m=l+-1|0;n=(b|0)==(k|0);f=0;g=c[i>>2]|0;while(1){if((f|0)>=(l|0))break;do if(f|b){o=+h[g>>3];if((f|0)==(m|0)&n){h[g>>3]=o+q;u=g+8|0;h[u>>3]=+h[u>>3]+r;break}else{h[g>>3]=o*d;u=g+8|0;h[u>>3]=+h[u>>3]*e;break}}else{h[g>>3]=+h[g>>3]+s;u=g+8|0;h[u>>3]=+h[u>>3]+t}while(0);f=f+1|0;g=g+16|0}if(c[i+8>>2]|0){u=i+16|0;h[u>>3]=+h[u>>3]+s;u=i+24|0;h[u>>3]=+h[u>>3]+t}if(c[i+12>>2]|0){u=i+32|0;h[u>>3]=+h[u>>3]+q;u=i+40|0;h[u>>3]=+h[u>>3]+r}b=b+1|0;i=i+48|0}b=c[p+96>>2]|0;if(b|0?a[b+81>>0]|0:0){u=b+56|0;h[u>>3]=+h[u>>3]*d;u=b+64|0;h[u>>3]=+h[u>>3]*e}b=c[p+100>>2]|0;if(b|0?a[b+81>>0]|0:0){u=b+56|0;h[u>>3]=+h[u>>3]+q;u=b+64|0;h[u>>3]=+h[u>>3]+r}b=c[p+104>>2]|0;if(b|0?a[b+81>>0]|0:0){u=b+56|0;h[u>>3]=+h[u>>3]+s;u=b+64|0;h[u>>3]=+h[u>>3]+t}return}function dn(b,d,e){b=b|0;d=+d;e=+e;var f=0,g=0,i=0;i=b+16|0;g=c[i>>2]|0;b=g+32|0;h[b>>3]=+h[b>>3]*d;b=g+40|0;h[b>>3]=+h[b>>3]*e;b=g+16|0;h[b>>3]=+h[b>>3]*d;b=g+24|0;h[b>>3]=+h[b>>3]*e;b=c[g+12>>2]|0;if((b|0)!=0?(a[b+81>>0]|0)!=0:0){f=b+56|0;h[f>>3]=+h[f>>3]*d;f=b+64|0;h[f>>3]=+h[f>>3]*e;f=1;b=g}else{f=1;b=g}while(1){if((f|0)>(c[b+180>>2]|0))break;dn(c[(c[b+184>>2]|0)+(f<<2)>>2]|0,d,e);f=f+1|0;b=c[i>>2]|0}return}function en(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,i=0,j=0,k=0,l=0,m=0;k=c[b+16>>2]|0;b=c[k+8>>2]|0;j=c[b+4>>2]|0;l=d+8|0;b=c[b>>2]|0;g=0;while(1){if((g|0)>=(j|0))break;i=c[b+4>>2]|0;e=c[b>>2]|0;f=0;while(1){if((f|0)>=(i|0))break;h[e>>3]=+h[e>>3]-+h[d>>3];m=e+8|0;h[m>>3]=+h[m>>3]-+h[l>>3];e=e+16|0;f=f+1|0}if(c[b+8>>2]|0){m=b+16|0;h[m>>3]=+h[m>>3]-+h[d>>3];m=b+24|0;h[m>>3]=+h[m>>3]-+h[l>>3]}if(c[b+12>>2]|0){m=b+32|0;h[m>>3]=+h[m>>3]-+h[d>>3];m=b+40|0;h[m>>3]=+h[m>>3]-+h[l>>3]}b=b+48|0;g=g+1|0}b=c[k+96>>2]|0;if(b|0?a[b+81>>0]|0:0){m=b+56|0;h[m>>3]=+h[m>>3]-+h[d>>3];m=b+64|0;h[m>>3]=+h[m>>3]-+h[l>>3]}b=c[k+108>>2]|0;if(b|0?a[b+81>>0]|0:0){m=b+56|0;h[m>>3]=+h[m>>3]-+h[d>>3];m=b+64|0;h[m>>3]=+h[m>>3]-+h[l>>3]}b=c[k+100>>2]|0;if(b|0?a[b+81>>0]|0:0){m=b+56|0;h[m>>3]=+h[m>>3]-+h[d>>3];m=b+64|0;h[m>>3]=+h[m>>3]-+h[l>>3]}b=c[k+104>>2]|0;if(b|0?a[b+81>>0]|0:0){m=b+56|0;h[m>>3]=+h[m>>3]-+h[d>>3];m=b+64|0;h[m>>3]=+h[m>>3]-+h[l>>3]}return}function fn(b,d){b=b|0;d=d|0;var e=0,f=0.0,g=0.0,i=0,j=0,k=0,m=0;k=l;l=l+16|0;j=k;g=+h[d>>3];i=b+16|0;b=c[i>>2]|0;e=b+32|0;h[e>>3]=+h[e>>3]-g;f=+h[d+8>>3];e=b+40|0;h[e>>3]=+h[e>>3]-f;e=b+16|0;h[e>>3]=+h[e>>3]-g;e=b+24|0;h[e>>3]=+h[e>>3]-f;e=c[b+12>>2]|0;if((e|0)!=0?(a[e+81>>0]|0)!=0:0){m=e+56|0;h[m>>3]=+h[m>>3]-g;e=e+64|0;h[e>>3]=+h[e>>3]-f;e=1}else e=1;while(1){if((e|0)>(c[b+180>>2]|0))break;m=c[(c[b+184>>2]|0)+(e<<2)>>2]|0;c[j>>2]=c[d>>2];c[j+4>>2]=c[d+4>>2];c[j+8>>2]=c[d+8>>2];c[j+12>>2]=c[d+12>>2];fn(m,j);e=e+1|0;b=c[i>>2]|0}l=k;return}function gn(a){a=a|0;var b=0,d=0,e=0,f=0.0,g=0.0,i=0,j=0;i=l;l=l+16|0;d=i;lM(a);e=a+16|0;b=c[e>>2]|0;f=+h[b+16>>3]*.013888888888888888;g=+h[b+24>>3]*.013888888888888888;b=Ry(a)|0;while(1){if(!b)break;j=c[(c[b+16>>2]|0)+132>>2]|0;h[j>>3]=+h[j>>3]-f;j=j+8|0;h[j>>3]=+h[j>>3]-g;b=Sy(a,b)|0}j=(c[e>>2]|0)+16|0;c[d>>2]=c[j>>2];c[d+4>>2]=c[j+4>>2];c[d+8>>2]=c[j+8>>2];c[d+12>>2]=c[j+12>>2];hn(a,d);_m(a,1);l=i;return}function hn(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,i=0.0,j=0.0;g=l;l=l+16|0;f=g;d=a+16|0;a=1;while(1){e=c[d>>2]|0;if((a|0)>(c[e+180>>2]|0))break;e=c[(c[e+184>>2]|0)+(a<<2)>>2]|0;c[f>>2]=c[b>>2];c[f+4>>2]=c[b+4>>2];c[f+8>>2]=c[b+8>>2];c[f+12>>2]=c[b+12>>2];hn(e,f);a=a+1|0}j=+h[b>>3];f=e+32|0;h[f>>3]=+h[f>>3]-j;i=+h[b+8>>3];b=e+40|0;h[b>>3]=+h[b>>3]-i;b=e+16|0;h[b>>3]=+h[b>>3]-j;b=e+24|0;h[b>>3]=+h[b>>3]-i;l=g;return}function jn(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0.0;p=(e|0)>2;n=0;o=0;j=c[f+4>>2]|0;b=c[f>>2]|0;while(1){if((o|0)>=(d|0)){b=0;break}i=c[(c[g+(o<<2)>>2]|0)+16>>2]|0;l=a[i+119>>0]|0;a:do if(!(l<<24>>24)){k=b+8|0;h[b>>3]=+j2();i=j+8|0;h[j>>3]=+j2();if(p){b=2;while(1){if((b|0)==(e|0)){j=n;b=k;break a}q=+j2();h[(c[f+(b<<2)>>2]|0)+(o<<3)>>3]=q;b=b+1|0}}else{j=n;b=k}}else{k=c[i+132>>2]|0;m=b+8|0;h[b>>3]=+h[k>>3];i=j+8|0;h[j>>3]=+h[k+8>>3];b:do if(p){j=2;b=k+16|0;while(1){if((j|0)==(e|0))break b;h[(c[f+(j<<2)>>2]|0)+(o<<3)>>3]=+h[b>>3];j=j+1|0;b=b+8|0}}while(0);j=(l&255)>1?1:n;b=m}while(0);n=j;o=o+1|0;j=i}while(1){if((b|0)>=(e|0))break;Hs(d,c[f+(b<<2)>>2]|0);b=b+1|0}return n|0}function kn(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,i=0,j=0,k=0,l=0.0,m=0,n=0,o=0,p=0;d=tH(((O(b+1|0,b)|0)/2|0)<<2)|0;n=vn(b,b,0.0)|0;o=vn(b,b,0.0)|0;a:do if(!(c[a+8>>2]|0)){e=0;while(1){if((e|0)>=(b|0))break a;i=c[a+(e*20|0)>>2]|0;j=a+(e*20|0)+4|0;k=n+(e<<2)|0;f=1;while(1){if((f|0)>=(i|0))break;m=c[(c[j>>2]|0)+(f<<2)>>2]|0;h[(c[n+(m<<2)>>2]|0)+(e<<3)>>3]=-1.0;h[(c[k>>2]|0)+(m<<3)>>3]=-1.0;f=f+1|0}e=e+1|0}}else{e=0;while(1){if((e|0)>=(b|0))break a;i=c[a+(e*20|0)>>2]|0;j=a+(e*20|0)+4|0;k=a+(e*20|0)+8|0;m=n+(e<<2)|0;f=1;while(1){if((f|0)>=(i|0))break;p=c[(c[j>>2]|0)+(f<<2)>>2]|0;l=-1.0/+g[(c[k>>2]|0)+(f<<2)>>2];h[(c[n+(p<<2)>>2]|0)+(e<<3)>>3]=l;h[(c[m>>2]|0)+(p<<3)>>3]=l;f=f+1|0}e=e+1|0}}while(0);b:do if(!(Aq(b,n,o)|0)){C_(d);d=0}else{f=0;j=0;m=b;while(1){if((j|0)>=(b|0))break b;k=o+(j<<2)|0;e=j;i=f;while(1){if((e|0)==(b|0))break;if((j|0)==(e|0))l=0.0;else{p=c[k>>2]|0;l=+h[(c[o+(e<<2)>>2]|0)+(e<<3)>>3]+ +h[p+(j<<3)>>3]+ +h[p+(e<<3)>>3]*-2.0}g[d+(i<<2)>>2]=l;e=e+1|0;i=i+1|0}f=f+m|0;j=j+1|0;m=m+-1|0}}while(0);wn(n);wn(o);return d|0}function ln(a,b){a=a|0;b=b|0;var d=0,e=0,f=0.0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0.0;r=l;l=l+16|0;q=r;if(c[a+8>>2]|0){d=mn(a,b)|0;f=0.0;e=0;p=0;while(1){if((p|0)>=(b|0))break;e=e+p|0;o=c[a+(p*20|0)>>2]|0;k=a+(p*20|0)+4|0;m=(O(p,b)|0)-e|0;n=a+(p*20|0)+8|0;j=1;while(1){if((j|0)>=(o|0))break;i=c[(c[k>>2]|0)+(j<<2)>>2]|0;if((i|0)>=(p|0)){i=d+(m+i<<2)|0;s=+g[(c[n>>2]|0)+(j<<2)>>2];f=f+ +B(+(+g[i>>2]-s));g[i>>2]=s}j=j+1|0}p=p+1|0}if(0){b=c[15686]|0;h[q>>3]=f;f1(b,89903,q)|0}}else d=0;l=r;return d|0}function mn(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0;m=l;l=l+16|0;h=m;i=tH(((O(b+1|0,b)|0)/2|0)<<2)|0;j=tH(b<<2)|0;yq(h,b);d=0;f=0;k=b;while(1){if((d|0)>=(b|0))break;hr(d,a,b,j);e=d;g=f;while(1){if((e|0)==(b|0))break;c[i+(g<<2)>>2]=c[j+(e<<2)>>2];e=e+1|0;g=g+1|0}d=d+1|0;f=f+k|0;k=k+-1|0}C_(j);zq(h);l=m;return i|0}function nn(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,h=0,i=0,j=0,k=0,m=0,n=0;n=l;l=l+16|0;i=n;j=tH(((O(b+1|0,b)|0)/2|0)<<2)|0;k=tH(b<<2)|0;yq(i,b);d=0;f=0;m=b;while(1){if((d|0)>=(b|0))break;uq(d,a,b,k,i);e=d;h=f;while(1){if((e|0)==(b|0))break;g[j+(h<<2)>>2]=+(c[k+(e<<2)>>2]|0);e=e+1|0;h=h+1|0}d=d+1|0;f=f+m|0;m=m+-1|0}C_(k);zq(i);l=n;return j|0}function on(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,h=0,i=0,j=0,k=0,l=0.0,m=0,n=0,o=0,p=0,q=0,r=0,s=0.0;r=a+8|0;d=c[r>>2]|0;e=0;f=0;while(1){if((f|0)>=(b|0))break;e=(c[a+(f*20|0)>>2]|0)+e|0;f=f+1|0}f=tH(e<<2)|0;q=tH(b<<2)|0;e=0;while(1){if((e|0)>=(b|0))break;c[q+(e<<2)>>2]=0;e=e+1|0}if(!(c[r>>2]|0)){h=0;while(1){if((h|0)>=(b|0))break;c[a+(h*20|0)+8>>2]=f;Zr(a,h,q);i=a+(h*20|0)|0;j=c[i>>2]|0;k=a+(h*20|0)+4|0;l=+(j+-1|0);e=1;while(1){if((e|0)>=(j|0))break;p=c[(c[k>>2]|0)+(e<<2)>>2]|0;s=+((c[a+(p*20|0)>>2]|0)+-1|0)+l;g[f+(e<<2)>>2]=s-+((Yr(a,h,p,q)|0)<<1|0);e=e+1|0}_r(a,h,q);f=f+(c[i>>2]<<2)|0;h=h+1|0}f=nn(a,b)|0}else{j=0;while(1){if((j|0)>=(b|0))break;Zr(a,j,q);k=a+(j*20|0)|0;m=c[k>>2]|0;n=a+(j*20|0)+4|0;o=m+-2|0;p=a+(j*20|0)+8|0;i=1;while(1){if((i|0)>=(m|0))break;e=c[(c[n>>2]|0)+(i<<2)>>2]|0;h=o+(c[a+(e*20|0)>>2]|0)|0;s=+(h-((Yr(a,j,e,q)|0)<<1)|0);l=+g[(c[p>>2]|0)+(i<<2)>>2];if(l>2]=l;i=i+1|0}_r(a,j,q);c[p>>2]=f;f=f+(c[k>>2]<<2)|0;j=j+1|0}f=mn(a,b)|0}C_(q);C_(c[r>>2]|0);c[r>>2]=0;a:do if(d|0){e=0;while(1){if((e|0)>=(b|0))break a;c[a+(e*20|0)+8>>2]=d;d=d+(c[a+(e*20|0)>>2]<<2)|0;e=e+1|0}}while(0);return f|0}function pn(a,b,e,f,i,j,k,m,n){a=a|0;b=b|0;e=e|0;f=f|0;i=i|0;j=j|0;k=k|0;m=m|0;n=n|0;var o=0,p=0,q=0,r=0.0,s=0,t=0,u=0,v=0.0,w=0,x=0.0,y=0,z=0,A=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0.0,P=0.0;M=l;l=l+80|0;L=M+56|0;K=M+48|0;A=M+40|0;u=M+32|0;t=M+24|0;s=M+16|0;p=M+8|0;o=M;q=k&4;J=k&3;a:do if((n|0)<0)e=0;else{if(0)DL();k=(m|0)==2;b:do if(k){if(0)D1(91878,24,1,c[15686]|0)|0;e=on(a,b)|0;w=14}else{switch(m|0){case 1:{e=kn(a,b)|0;if(e|0){I=e;break b}Ow(0,91903,o)|0;Ow(3,91952,p)|0;w=15;break b}case 3:break;default:{w=15;break b}}if(0)D1(92005,21,1,c[15686]|0)|0;e=ln(a,b)|0;w=14}while(0);if((w|0)==14)if(!e)w=15;else I=e;do if((w|0)==15){if(0)D1(92027,26,1,c[15686]|0)|0;if(!(c[a+8>>2]|0)){I=nn(a,b)|0;break}else{I=mn(a,b)|0;break}}while(0);if(0){H=c[15686]|0;h[s>>3]=+EL();f1(H,92054,s)|0;D1(92066,25,1,H)|0;DL()}c:do if((b|0)>1&(q|0)!=0)if((qn(a,b,f,j,q,J,k&1)|0)<0){u=0;t=0;e=-1;a=0;s=0;q=0;p=0;o=0;m=0;k=0}else{k=0;while(1){if((k|0)>=(j|0)){y=0;w=35;break c}m=f+(k<<2)|0;r=1.0;e=0;while(1){if((e|0)==(b|0))break;x=+B(+(+h[(c[m>>2]|0)+(e<<3)>>3]));r=x>r?x:r;e=e+1|0}r=1.0/r;e=0;while(1){if((e|0)==(b|0)){e=0;break}H=(c[m>>2]|0)+(e<<3)|0;h[H>>3]=+h[H>>3]*r;e=e+1|0}while(1){if((e|0)==(b|0))break;x=(+j2()+-.5)*1.0e-06;H=(c[m>>2]|0)+(e<<3)|0;h[H>>3]=+h[H>>3]+x;e=e+1|0}Hs(b,c[m>>2]|0);k=k+1|0}}else{y=jn(0,b,j,f,i)|0;w=35}while(0);d:do if((w|0)==35){if(0){H=c[15686]|0;h[t>>3]=+EL();f1(H,92092,t)|0}if((b|0)==1|(n|0)==0){e=0;break a}if(0){H=c[15686]|0;h[u>>3]=+EL();f1(H,92054,u)|0;D1(89925,26,1,H)|0;DL()}s=j<<2;H=tH(s)|0;t=b<<2;a=O(t,j)|0;G=tH(a)|0;e=0;while(1){if((e|0)>=(j|0))break;m=G+((O(e,b)|0)<<2)|0;c[H+(e<<2)>>2]=m;o=f+(e<<2)|0;k=0;while(1){if((k|0)>=(b|0))break;g[m+(k<<2)>>2]=+h[(c[o>>2]|0)+(k<<3)>>3];k=k+1|0}e=e+1|0}e:do if(!J){p=b+-1|0;e=0;r=0.0;o=0;while(1){if((o|0)>=(p|0))break e;q=b-o|0;m=e;k=1;while(1){e=m+1|0;if((k|0)>=(q|0))break;m=e;r=+g[I+(e<<2)>>2]+r;k=k+1|0}o=o+1|0}}else r=+(b|0)*.5*+(b+-1|0);while(0);C=(O(b+1|0,b)|0)/2|0;D=(J|0)==2;if(D)bt(C,I);ct(C,I);E=b<<3;m=tH(E)|0;G3(m|0,0,E|0)|0;F=b+-1|0;e=0;o=0;while(1){if((o|0)>=(F|0)){e=b;k=0;o=0;break}p=b-o|0;v=0.0;k=1;while(1){e=e+1|0;if((k|0)>=(p|0))break;x=+g[I+(e<<2)>>2];z=m+(k+o<<3)|0;h[z>>3]=+h[z>>3]-x;v=v+x;k=k+1|0}z=m+(o<<3)|0;h[z>>3]=+h[z>>3]-v;o=o+1|0}while(1){if((k|0)>=(b|0))break;g[I+(o<<2)>>2]=+h[m+(k<<3)>>3];z=e+o|0;e=e+-1|0;k=k+1|0;o=z}z=tH(s)|0;c[z>>2]=tH(a)|0;e=1;while(1){if((e|0)>=(j|0))break;c[z+(e<<2)>>2]=(c[z>>2]|0)+((O(e,b)|0)<<2);e=e+1|0}p=tH(t)|0;o=tH(t)|0;k=tH(C<<2)|0;if(0){w=c[15686]|0;h[A>>3]=+EL();f1(w,92054,A)|0;D1(89952,15,1,w)|0;DL()}w=(y|0)==0;y=c[15686]|0;e=0;q=0;x=1797693134862315708145274.0e284;while(1){if(!(q<<24>>24==0&(e|0)<(n|0)))break;G3(m|0,0,E|0)|0;if(D){dt(C,I,k);u=0;a=0}else{u=0;a=0}while(1){if((u|0)>=(F|0)){q=b;s=0;a=0;break}t=b-u+-1|0;$s(t,0.0,o);q=0;while(1){if((q|0)>=(j|0))break;A=H+(q<<2)|0;$s(t,+g[(c[A>>2]|0)+(u<<2)>>2],p);Ws(t,p,-1.0,(c[A>>2]|0)+(u<<2)+4|0);bt(t,p);Vs(t,p,o,o);q=q+1|0}et(t,o);q=0;while(1){if((q|0)>=(t|0))break;s=o+(q<<2)|0;v=+g[s>>2];if(v>=3402823466385288598117041.0e14|v<0.0)g[s>>2]=0.0;q=q+1|0}q=a+1|0;a=u+1|0;f:do if(D){v=0.0;s=0;while(1){if((s|0)>=(t|0))break f;A=k+(q<<2)|0;N=+g[A>>2]*+g[o+(s<<2)>>2];g[A>>2]=N;A=m+(a+s<<3)|0;h[A>>3]=+h[A>>3]-N;v=v+N;q=q+1|0;s=s+1|0}}else{v=0.0;s=0;while(1){if((s|0)>=(t|0))break f;N=+g[o+(s<<2)>>2];g[k+(q<<2)>>2]=N;A=m+(a+s<<3)|0;h[A>>3]=+h[A>>3]-N;v=v+N;q=q+1|0;s=s+1|0}}while(0);A=m+(u<<3)|0;h[A>>3]=+h[A>>3]-v;u=a;a=q}while(1){if((s|0)>=(b|0)){q=0;break}g[k+(a<<2)>>2]=+h[m+(s<<3)>>3];A=q+a|0;q=q+-1|0;s=s+1|0;a=A}while(1){if((q|0)>=(j|0)){v=0.0;q=0;break}Ts(k,b,c[H+(q<<2)>>2]|0,c[z+(q<<2)>>2]|0);q=q+1|0}while(1){if((q|0)>=(j|0))break;v=+Zs(b,c[H+(q<<2)>>2]|0,c[z+(q<<2)>>2]|0)+v;q=q+1|0}v=v*2.0+r;q=0;while(1){if((q|0)>=(j|0))break;A=H+(q<<2)|0;Ts(I,b,c[A>>2]|0,p);v=v-+Zs(b,c[A>>2]|0,p);q=q+1|0}P=x-v;N=+h[22909];q=(v=0.0?P:-P)/x=(j|0))break;t=H+(a<<2)|0;s=c[t>>2]|0;g:do if(w){if((Eq(I,s,c[z+(a<<2)>>2]|0,b,.001,b)|0)<0){u=z;t=I;e=-1;a=G;s=H;q=z;break d}}else{Ys(b,s,p);if((Eq(I,p,c[z+(a<<2)>>2]|0,b,.001,b)|0)<0){u=z;t=I;e=-1;a=G;s=H;q=z;break d}else s=0;while(1){if((s|0)>=(b|0))break g;if((d[(c[(c[i+(s<<2)>>2]|0)+16>>2]|0)+119>>0]|0)<=1)c[(c[t>>2]|0)+(s<<2)>>2]=c[p+(s<<2)>>2];s=s+1|0}}while(0);a=a+1|0}if(((e|0)%5|0|0)==0&0!=0?(h[K>>3]=v,f1(y,90277,K)|0,((e+5|0)%50|0|0)==0):0)m3(10,y)|0;e=e+1|0;x=v}if(!0)q=0;else{N=+rn(H,I,j,b,J);P=+EL();h[L>>3]=N;c[L+8>>2]=e;h[L+16>>3]=P;f1(y,89968,L)|0;q=0}while(1){if((q|0)>=(j|0)){u=z;t=I;a=G;s=H;q=z;break d}a=H+(q<<2)|0;t=f+(q<<2)|0;s=0;while(1){if((s|0)>=(b|0))break;h[(c[t>>2]|0)+(s<<3)>>3]=+g[(c[a>>2]|0)+(s<<2)>>2];s=s+1|0}q=q+1|0}}while(0);C_(a);C_(s);C_(t);if(u|0){C_(c[u>>2]|0);C_(q)}C_(p);C_(o);C_(m);C_(k)}while(0);l=M;return e|0}function qn(b,d,e,f,i,j,k){b=b|0;d=d|0;e=e|0;f=f|0;i=i|0;j=j|0;k=k|0;var m=0,n=0,o=0,p=0.0,q=0,r=0,s=0.0,t=0,u=0.0,v=0,w=0,x=0,y=0,z=0,A=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,P=0,Q=0,R=0;R=l;l=l+32|0;o=R+24|0;Q=R+8|0;H=R+4|0;N=R;M=(d|0)<50?d:50;P=uH(M<<2)|0;G=d<<3;n=uH(O(G,M)|0)|0;m=0;while(1){if((m|0)>=(M|0))break;c[P+(m<<2)>>2]=n+((O(m,d)|0)<<3);m=m+1|0}E=M<<1;E=(E|0)>50?E:50;E=(E|0)>(d|0)?d:E;c[o>>2]=0;rr(b,d,E,o,k);sr(c[o>>2]|0,d,E);lt(c[o>>2]|0,E,d,P,M);C_(c[c[o>>2]>>2]|0);C_(c[o>>2]|0);E=d<<2;L=uH(E)|0;m=0;while(1){if((m|0)>=(d|0))break;c[L+(m<<2)>>2]=-1;m=m+1|0}yq(Q,d);J=c[b+8>>2]|0;I=(k|0)!=0;if(I)ds(b,d);C=uH(E)|0;K=uH(160)|0;n=uH(d*160|0)|0;D=uH(160)|0;m=0;while(1){if((m|0)==40)break;c[D+(m<<2)>>2]=n+((O(m,d)|0)<<2);m=m+1|0}m=(f2()|0)%(d|0)|0;c[L+(m<<2)>>2]=0;c[K>>2]=m;n=c[D>>2]|0;if(I){br(m,b,d,n);n=0;o=0}else{uq(m,b,d,n,Q);n=0;o=0}while(1){if((o|0)>=(d|0)){r=1;break}F=c[(c[D>>2]|0)+(o<<2)>>2]|0;c[C+(o<<2)>>2]=F;A=(F|0)>(n|0);m=A?o:m;n=A?F:n;o=o+1|0}while(1){if((r|0)==40){m=0;break}c[L+(m<<2)>>2]=r;c[K+(r<<2)>>2]=m;t=D+(r<<2)|0;n=c[t>>2]|0;if(I){br(m,b,d,n);q=0;n=0}else{uq(m,b,d,n,Q);q=0;n=0}while(1){if((q|0)>=(d|0))break;o=C+(q<<2)|0;F=c[o>>2]|0;k=c[(c[t>>2]|0)+(q<<2)>>2]|0;k=(F|0)<(k|0)?F:k;c[o>>2]=k;if((k|0)<=(n|0)){if((k|0)==(n|0)?((f2()|0)%(q+1|0)|0|0)==0:0){n=c[o>>2]|0;m=q}}else{n=k;m=q}q=q+1|0}r=r+1|0}while(1){if((m|0)>=(d|0))break;c[C+(m<<2)>>2]=-1;m=m+1|0}w=uH(E)|0;F=uH(d<<4)|0;x=d+-1|0;y=x<<2;A=0;o=0;k=0;n=0;z=0;while(1){if((z|0)>=(d|0))break;m=L+(z<<2)|0;a:do if((c[m>>2]|0)>-1){t=F+(z<<4)+4|0;c[t>>2]=uH(y)|0;v=uH(y)|0;c[F+(z<<4)+8>>2]=v;c[F+(z<<4)>>2]=x;a[F+(z<<4)+12>>0]=1;r=D+(c[m>>2]<<2)|0;m=0;while(1){if((m|0)==(z|0)){q=z;break}c[(c[t>>2]|0)+(m<<2)>>2]=m;c[v+(m<<2)>>2]=c[(c[r>>2]|0)+(m<<2)>>2];m=m+1|0}while(1){m=q+1|0;if((q|0)==(x|0)){m=x;break a}c[(c[t>>2]|0)+(q<<2)>>2]=m;c[v+(q<<2)>>2]=c[(c[r>>2]|0)+(m<<2)>>2];q=m}}else{if((n|0)<40){k=uH(E)|0;o=uH(E)|0;n=d;m=1}else m=0;a[F+(z<<4)+12>>0]=m;c[F+(z<<4)+4>>2]=k;c[F+(z<<4)+8>>2]=o;c[F+(z<<4)>>2]=40;m=0;while(1){if((m|0)==40)break;c[k+(m<<2)>>2]=c[K+(m<<2)>>2];c[o+(m<<2)>>2]=c[(c[D+(m<<2)>>2]|0)+(z<<2)>>2];m=m+1|0}o=o+160|0;k=k+160|0;n=n+-40|0;m=40}while(0);A=m+A|0;z=z+1|0}C_(C);C_(w);if(D|0){C_(c[D>>2]|0);C_(D)}D=uH(d*20|0)|0;q=A+d<<2;r=uH(q)|0;v=(j|0)==2;q=uH(q)|0;t=0;while(1){if((t|0)>=(d|0))break;c[D+(t*20|0)+4>>2]=r;c[D+(t*20|0)+8>>2]=q;m=(c[F+(t<<4)>>2]|0)+1|0;w=D+(t*20|0)|0;c[w>>2]=m;o=(c[F+(t<<4)+8>>2]|0)+-4|0;k=F+(t<<4)+4|0;b:do if(v){p=0.0;n=1;while(1){if((n|0)>=(m|0))break b;c[r+(n<<2)>>2]=c[(c[k>>2]|0)+(n+-1<<2)>>2];u=+(c[o+(n<<2)>>2]|0);u=-1.0/(u*u);g[q+(n<<2)>>2]=u;p=p-u;n=n+1|0;m=c[w>>2]|0}}else{p=0.0;n=1;while(1){if((n|0)>=(m|0))break b;c[r+(n<<2)>>2]=c[(c[k>>2]|0)+(n+-1<<2)>>2];u=-1.0/+(c[o+(n<<2)>>2]|0);g[q+(n<<2)>>2]=u;p=p-u;n=n+1|0;m=c[w>>2]|0}}while(0);c[r>>2]=t;g[q>>2]=p;E=c[w>>2]|0;q=q+(E<<2)|0;r=r+(E<<2)|0;t=t+1|0}C=uH(f<<2)|0;c[C>>2]=uH(O(f<<3,M)|0)|0;m=1;while(1){if((m|0)>=(f|0))break;c[C+(m<<2)>>2]=(c[C>>2]|0)+((O(m,M)|0)<<3);m=m+1|0}c:do if(i){m=0;while(1){if((m|0)>=(f|0))break;o=C+(m<<2)|0;n=0;while(1){if((n|0)>=(M|0))break;h[(c[o>>2]|0)+(n<<3)>>3]=0.0;n=n+1|0}m=m+1|0}if((f|0)!=2){m=0;while(1){if((m|0)>=(f|0)){m=0;break c}h[(c[C+(m<<2)>>2]|0)+(m<<3)>>3]=1.0;m=m+1|0}}h[c[C>>2]>>3]=1.0;m=C+4|0;if(!((mt(P,M,d,c[m>>2]|0)|0)<<24>>24)){n=c[m>>2]|0;m=0;while(1){if((m|0)>=(M|0))break;h[n+(m<<3)>>3]=0.0;m=m+1|0}h[n+8>>3]=1.0;m=0}else m=0}else{n=0;while(1){if((n|0)>=(f|0)){m=0;break c}o=C+(n<<2)|0;m=0;while(1){if((m|0)>=(M|0))break;u=+(f2()|0)*4.656612875245797e-10;h[(c[o>>2]|0)+(m<<3)>>3]=u;m=m+1|0}n=n+1|0}}while(0);while(1){if((m|0)>=(f|0))break;Rs(P,d,M,c[C+(m<<2)>>2]|0,c[e+(m<<2)>>2]|0);m=m+1|0}c[H>>2]=0;c[N>>2]=0;Gs(D,P,d,M,H);Es(P,c[H>>2]|0,M,d,M,N);C_(c[c[H>>2]>>2]|0);C_(c[H>>2]|0);z=uH(G)|0;A=uH(M<<3)|0;m=0;n=0;p=+sn(e,F,f,d,j);d:while(1){if((n|0)<50&m<<24>>24==0)x=0;else break;while(1){if((x|0)>=(f|0))break;y=e+(x<<2)|0;o=0;while(1){if((o|0)>=(d|0))break;q=z+(o<<3)|0;h[q>>3]=0.0;r=(c[F+(o<<4)+8>>2]|0)+-4|0;t=c[D+(o*20|0)+4>>2]|0;v=c[D+(o*20|0)+8>>2]|0;w=D+(o*20|0)|0;s=0.0;k=1;while(1){if((k|0)>=(c[w>>2]|0))break;m=c[t+(k<<2)>>2]|0;u=+fs(e,f,o,m);if(u>1.0e-30){u=-(+g[v+(k<<2)>>2]*+(c[r+(k<<2)>>2]|0))/u;h[q>>3]=u*+h[(c[y>>2]|0)+(m<<3)>>3]+ +h[q>>3];s=s-u}k=k+1|0}h[q>>3]=+h[q>>3]+ +h[(c[y>>2]|0)+(o<<3)>>3]*s;o=o+1|0}Ds(P,M,d,z,A);m=C+(x<<2)|0;if(Dq(c[N>>2]|0,c[m>>2]|0,A,M,.001,M,0)|0){n=-1;break d}Rs(P,d,M,c[m>>2]|0,c[y>>2]|0);x=x+1|0}if(!(n&1)){u=+sn(e,F,f,d,j);p=+B(+(u-p))/(u+1.0e-10);m=p<+h[22909]&1;p=u}else m=0;n=n+1|0}C_(A);C_(z);if(I){es(b,d,J);m=0}else m=0;while(1){if((m|0)>=(d|0))break;if(a[F+(m<<4)+12>>0]|0){C_(c[F+(m<<4)+4>>2]|0);C_(c[F+(m<<4)+8>>2]|0)}m=m+1|0}C_(F);C_(c[D+4>>2]|0);C_(c[D+8>>2]|0);C_(D);C_(L);C_(K);C_(c[C>>2]|0);C_(C);m=c[N>>2]|0;if(m|0){C_(c[m>>2]|0);C_(c[N>>2]|0)}C_(c[P>>2]|0);C_(P);zq(Q);l=R;return n|0}function rn(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var h=0.0,i=0.0,j=0,k=0,l=0.0,m=0,n=0,o=0,p=0,q=0,r=0;q=e+-1|0;o=(f|0)==2;h=0.0;f=0;m=0;while(1){if((m|0)>=(q|0))break;p=e-m|0;n=1;while(1){f=f+1|0;if((n|0)>=(p|0))break;k=n+m|0;i=0.0;j=0;while(1){if((j|0)>=(d|0))break;r=c[a+(j<<2)>>2]|0;l=+g[r+(m<<2)>>2]-+g[r+(k<<2)>>2];i=i+l*l;j=j+1|0}i=+C(+i);l=+g[b+(f<<2)>>2];if(o){i=1.0/+C(+l)-i;i=i*i}else{i=1.0/l-i;i=i*i}n=n+1|0;h=i*l+h}m=m+1|0}return +h}function sn(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0.0,i=0.0,j=0,k=0,l=0,m=0,n=0,o=0,p=0.0,q=0;a:do if((f|0)==2){g=0.0;l=0;while(1){if((l|0)>=(e|0))break a;n=c[b+(l<<4)>>2]|0;o=b+(l<<4)+4|0;m=b+(l<<4)+8|0;k=0;while(1){if((k|0)>=(n|0))break;j=c[(c[o>>2]|0)+(k<<2)>>2]|0;if((j|0)>(l|0)){i=0.0;f=0;while(1){if((f|0)>=(d|0))break;q=c[a+(f<<2)>>2]|0;p=+h[q+(l<<3)>>3]-+h[q+(j<<3)>>3];i=p*p+i;f=f+1|0}i=+C(+i);p=+(c[(c[m>>2]|0)+(k<<2)>>2]|0);i=p-i;g=i*i/(p*p)+g}k=k+1|0}l=l+1|0}}else{l=0;g=0.0;while(1){if((l|0)>=(e|0))break a;m=c[b+(l<<4)>>2]|0;n=b+(l<<4)+4|0;o=b+(l<<4)+8|0;k=0;while(1){if((k|0)>=(m|0))break;j=c[(c[n>>2]|0)+(k<<2)>>2]|0;if((j|0)>(l|0)){i=0.0;f=0;while(1){if((f|0)>=(d|0))break;q=c[a+(f<<2)>>2]|0;p=+h[q+(l<<3)>>3]-+h[q+(j<<3)>>3];i=p*p+i;f=f+1|0}i=+C(+i);p=+(c[(c[o>>2]|0)+(k<<2)>>2]|0);i=p-i;g=i*i/p+g}k=k+1|0}l=l+1|0}}while(0);return +g}function tn(a){a=+a;return +(+C(+a)*a)}function un(a,b,d){a=a|0;b=b|0;d=d|0;var e=0.0,f=0,g=0,i=0.0;g=c[46366]|0;e=0.0;f=0;while(1){if((f|0)>=(g|0))break;i=+h[a+(f<<3)>>3]-+h[b+(f<<3)>>3];h[d+(f<<3)>>3]=i;e=i*i+e;f=f+1|0}return +(+C(+e))}function vn(a,b,d){a=a|0;b=b|0;d=+d;var e=0,f=0,g=0,i=0;i=tH(a<<2)|0;f=0;g=tH(O(a<<3,b)|0)|0;while(1){if((f|0)>=(a|0))break;c[i+(f<<2)>>2]=g;e=0;while(1){if((e|0)>=(b|0))break;h[g+(e<<3)>>3]=d;e=e+1|0}f=f+1|0;g=g+(b<<3)|0}return i|0}function wn(a){a=a|0;if(a|0){C_(c[a>>2]|0);C_(a)}return}function xn(b,d){b=b|0;d=d|0;var e=0.0,f=0.0,g=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0;o=l;l=l+16|0;n=$x(b)|0;m=ay(b)|0;k=mx(b,2,90566,0)|0;a:do if(!d){h[22909]=+(n|0)*.0001;$G(b,105860,183272);g=wx(c[b+60>>2]|0,90006)|0;if(!g)e=.99;else e=+a2(g);h[22911]=e;g=tH((n<<2)+4|0)|0;j=b+16|0;c[(c[j>>2]|0)+152>>2]=g;g=0;e=0.0;i=Ry(b)|0;while(1){if(!i)break a;c[(c[(c[j>>2]|0)+152>>2]|0)+(g<<2)>>2]=i;p=c[i+16>>2]|0;c[p+120>>2]=g;c[p+124>>2]=-1;f=+An(b,i,k)+e;g=g+1|0;e=f;i=Sy(b,i)|0}}else{h[22909]=.0001;$G(b,105860,183272);g=0;e=0.0;i=Ry(b)|0;while(1){if(!i)break a;c[(c[i+16>>2]|0)+120>>2]=g;f=+An(b,i,k)+e;g=g+1|0;e=f;i=Sy(b,i)|0}}while(0);g=wx(b,90014)|0;if((g|0)!=0?(a[g>>0]|0)!=0:0){e=+h[22909];f=+a2(g);if(!(e>f))e=f}else e=e/+(((m|0)>1?m:1)|0)*+C(+(+(n|0)))+1.0;h[22910]=e;if(!(c[46363]|d)){d=vn(n,n,e)|0;p=b+16|0;c[(c[p>>2]|0)+160>>2]=d;d=vn(n,n,1.0)|0;c[(c[p>>2]|0)+164>>2]=d;d=vn(n,c[46366]|0,1.0)|0;c[(c[p>>2]|0)+168>>2]=d;d=Bn(n,n,c[46366]|0)|0;c[(c[p>>2]|0)+172>>2]=d}l=o;return n|0}function yn(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0;f=0;e=0;j=Ix(a,b)|0;a:while(1){if(!j)break;h=c[j>>2]&3;g=c[((h|0)==2?j:j+-48|0)+40>>2]|0;h=c[((h|0)==3?j:j+48|0)+40>>2]|0;do if((g|0)!=(h|0)){i=(h|0)==(b|0);if((e|0)!=1){f=i?g:h;c[d>>2]=f;e=e+1|0;break}if(!((g|0)==(f|0)&i)?!((g|0)==(b|0)&(h|0)==(f|0)):0){e=2;break a}else e=1}while(0);j=Jx(a,j,b)|0}return e|0}function zn(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;h=l;l=l+16|0;f=h;g=a+60|0;a:while(1){b:while(1){if(!b)break a;switch(yn(a,b,f)|0){case 0:{e=5;break b}case 1:{e=8;break b}default:b=0}}if((e|0)==5){if((d|0)==(b|0))d=Sy(a,d)|0;cz(c[g>>2]|0,b)|0;b=0;continue}else if((e|0)==8){if((d|0)==(b|0))d=Sy(a,d)|0;cz(c[g>>2]|0,b)|0;b=c[f>>2]|0;continue}}l=h;return d|0}function An(a,b,d){a=a|0;b=b|0;d=d|0;var e=0.0,f=0.0,g=0,i=0,j=0,k=0;k=l;l=l+32|0;i=k+8|0;g=k;b=Dx(a,b)|0;e=0.0;while(1){if(!b)break;switch(Cn(b,d,g)|0){case 0:{f=+h[g>>3];break}case 2:{c[i>>2]=qy(a)|0;h[i+8>>3]=1.0;Ow(3,90026,i)|0;j=6;break}default:j=6}if((j|0)==6){j=0;h[g>>3]=1.0;f=1.0}h[(c[b+16>>2]|0)+136>>3]=f;b=Fx(a,b)|0;e=f+e}l=k;return +e}function Bn(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,i=0,j=0,k=0,l=0;j=tH((a<<2)+4|0)|0;k=(b<<2)+4|0;l=d<<3;g=0;while(1){if((g|0)>=(a|0))break;i=j+(g<<2)|0;c[i>>2]=tH(k)|0;f=0;while(1){if((f|0)>=(b|0))break;e=tH(l)|0;c[(c[i>>2]|0)+(f<<2)>>2]=e;e=0;while(1){if((e|0)>=(d|0))break;h[(c[(c[i>>2]|0)+(f<<2)>>2]|0)+(e<<3)>>3]=0.0;e=e+1|0}f=f+1|0}c[(c[i>>2]|0)+(f<<2)>>2]=0;g=g+1|0}c[j+(g<<2)>>2]=0;return j|0}function Cn(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0.0,i=0,j=0,k=0;k=l;l=l+16|0;j=k+8|0;i=k;do if((d|0)!=0?(f=xx(b,d)|0,(a[f>>0]|0)!=0):0){c[i>>2]=e;if(((M1(f,98183,i)|0)>=1?(g=+h[e>>3],!(g<0.0)):0)?g!=0.0|(c[46363]|0)!=0:0){b=0;break}c[j>>2]=f;Ow(0,90053,j)|0;b=2}else b=1;while(0);l=k;return b|0}function Dn(a){a=a|0;return xn(a,0)|0}function En(a){a=a|0;a=a+16|0;C_(c[(c[a>>2]|0)+152>>2]|0);if(!(c[46363]|0)){wn(c[(c[a>>2]|0)+160>>2]|0);wn(c[(c[a>>2]|0)+164>>2]|0);wn(c[(c[a>>2]|0)+168>>2]|0);Fn(c[(c[a>>2]|0)+172>>2]|0);c[(c[a>>2]|0)+172>>2]=0}return}function Fn(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;if(a|0){f=0;while(1){g=a+(f<<2)|0;b=c[g>>2]|0;if(!b)break;else e=0;while(1){d=c[b+(e<<2)>>2]|0;if(!d)break;C_(d);e=e+1|0;b=c[g>>2]|0}C_(b);f=f+1|0}C_(a)}return}function Gn(a,b,d){a=a|0;b=b|0;d=d|0;var e=0.0,f=0.0;e=+(b|0);b=a+16|0;while(1){if((d|0)>=(c[46366]|0))break;f=+j2()*e;h[(c[(c[b>>2]|0)+132>>2]|0)+(d<<3)>>3]=f;d=d+1|0}return}function Hn(a,b){a=a|0;b=b|0;Gn(a,b,2);return}function In(a,b){a=a|0;b=b|0;var d=0,e=0.0,f=0.0;e=+(b|0);f=+j2()*e;d=a+16|0;h[c[(c[d>>2]|0)+132>>2]>>3]=f;e=+j2()*e;h[(c[(c[d>>2]|0)+132>>2]|0)+8>>3]=e;if((c[46366]|0)>2)Hn(a,b);return}function Jn(b,d){b=b|0;d=d|0;var e=0,f=0;f=l;l=l+16|0;e=f;if(0)D1(90071,26,1,c[15686]|0)|0;d=om(b,d,2)|0;a:do if((d|0)!=1){if(!(c[46027]|d)){Ow(0,90098,e)|0;c[46027]=1}e=b+16|0;d=0;while(1){b=c[(c[(c[e>>2]|0)+152>>2]|0)+(d<<2)>>2]|0;if(!b)break a;if(!(a[(c[b+16>>2]|0)+119>>0]|0))In(b,1);d=d+1|0}}while(0);l=f;return}function Kn(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0.0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0.0;q=l;l=l+96|0;p=q+80|0;n=q;if(0){D1(90147,25,1,c[15686]|0)|0;DL()}o=a+16|0;f=c[o>>2]|0;k=c[f+164>>2]|0;f=c[f+160>>2]|0;m=0;while(1){if((m|0)>=(b|0))break;i=f+(m<<2)|0;j=k+(m<<2)|0;e=0;while(1){if((e|0)==(m|0))break;g=+h[(c[i>>2]|0)+(e<<3)>>3];g=1.0/(g*g);d=c[(c[o>>2]|0)+152>>2]|0;d=Qx(a,c[d+(m<<2)>>2]|0,c[d+(e<<2)>>2]|0,0,0)|0;if(d)g=+h[(c[d+16>>2]|0)+128>>3]*g;h[(c[k+(e<<2)>>2]|0)+(m<<3)>>3]=g;h[(c[j>>2]|0)+(e<<3)>>3]=g;e=e+1|0}m=m+1|0}a=c[46366]|0;e=0;while(1){if((e|0)<(b|0))d=0;else break;while(1){if((d|0)>=(a|0))break;h[(c[(c[(c[o>>2]|0)+168>>2]|0)+(e<<2)>>2]|0)+(d<<3)>>3]=0.0;d=d+1|0}e=e+1|0}i=0;while(1){d=c[(c[(c[o>>2]|0)+152>>2]|0)+(i<<2)>>2]|0;if(!d)break;a=d+16|0;d=0;while(1){if((d|0)>=(b|0))break;a:do if((i|0)!=(d|0)){g=+un(c[(c[a>>2]|0)+132>>2]|0,c[(c[(c[(c[(c[o>>2]|0)+152>>2]|0)+(d<<2)>>2]|0)+16>>2]|0)+132>>2]|0,n);f=c[46366]|0;g=1.0/g;e=0;while(1){if((e|0)>=(f|0))break a;m=c[o>>2]|0;r=+h[n+(e<<3)>>3];r=(r-+h[(c[(c[m+160>>2]|0)+(i<<2)>>2]|0)+(d<<3)>>3]*r*g)*+h[(c[(c[m+164>>2]|0)+(i<<2)>>2]|0)+(d<<3)>>3];h[(c[(c[(c[m+172>>2]|0)+(i<<2)>>2]|0)+(d<<2)>>2]|0)+(e<<3)>>3]=r;m=(c[(c[m+168>>2]|0)+(i<<2)>>2]|0)+(e<<3)|0;h[m>>3]=+h[m>>3]+r;e=e+1|0}}while(0);d=d+1|0}i=i+1|0}if(0){o=c[15686]|0;h[p>>3]=+EL();f1(o,90173,p)|0}l=q;return}function Ln(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,i=0,j=0.0,k=0;i=l;l=l+32|0;g=i+24|0;f=i+8|0;e=i;j=+h[22909];h[22831]=j*j;while(1){d=Mn(a,b)|0;if(!d)break;Nn(a,b,d)}if(!0)b=a+16|0;else{d=c[15686]|0;h[e>>3]=+On(a,b);f1(d,90183,e)|0;b=a+16|0;k=c[(c[b>>2]|0)+156>>2]|0;e=(k|0)==(c[46365]|0)?90197:191979;j=+EL();c[f>>2]=k;c[f+4>>2]=e;h[f+8>>3]=j;f1(d,90199,f)|0}b=c[(c[b>>2]|0)+156>>2]|0;if((b|0)==(c[46365]|0)){k=qy(a)|0;c[g>>2]=b;c[g+4>>2]=k;Ow(0,90226,g)|0}l=i;return}function Mn(a,b){a=a|0;b=b|0;var e=0.0,f=0,g=0,i=0.0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0.0;r=l;l=l+16|0;q=r;o=(c[46029]|0)+1|0;c[46029]=o;a=c[a+16>>2]|0;if((c[a+156>>2]|0)<(c[46365]|0)){m=c[46366]|0;n=a+152|0;k=a+168|0;a=0;e=0.0;j=0;while(1){if((j|0)>=(b|0))break;g=c[(c[n>>2]|0)+(j<<2)>>2]|0;if((d[(c[g+16>>2]|0)+119>>0]|0)<=1){i=0.0;f=0;while(1){if((f|0)>=(m|0))break;s=+h[(c[(c[k>>2]|0)+(j<<2)>>2]|0)+(f<<3)>>3];i=s*s+i;f=f+1|0}if(i>e){a=g;e=i}}j=j+1|0}if(!(e<+h[22831])){if(0!=0&((o|0)%100|0|0)==0?(p=c[15686]|0,h[q>>3]=+C(+e),f1(p,90277,q)|0,((c[46029]|0)%1e3|0|0)==0):0)m3(10,p)|0}else a=0}else a=0;l=r;return a|0}function Nn(a,b,d){a=a|0;b=b|0;d=d|0;var e=0.0,f=0,g=0,i=0,j=0,k=0,m=0,n=0,o=0;o=l;l=l+16|0;n=o;k=d+16|0;m=c[(c[k>>2]|0)+120>>2]|0;f=c[46028]|0;if(!f){g=c[46366]|0;g=uH(O(g<<3,g)|0)|0}else{g=c[46366]|0;g=wH(f,O(g<<3,g)|0)|0}c[46028]=g;Pn(a,b,m,g);i=c[46366]|0;j=a+16|0;f=0;while(1){if((f|0)>=(i|0))break;h[182656+(f<<3)>>3]=-+h[(c[(c[(c[j>>2]|0)+168>>2]|0)+(m<<2)>>2]|0)+(f<<3)>>3];f=f+1|0}Wt(g,182736,182656,i);f=0;while(1){if((f|0)>=(c[46366]|0))break;e=+h[22911];e=(1.0-e)*2.0*+j2()+e;i=182736+(f<<3)|0;e=e*+h[i>>3];h[i>>3]=e;i=(c[(c[k>>2]|0)+132>>2]|0)+(f<<3)|0;h[i>>3]=+h[i>>3]+e;f=f+1|0}k=(c[j>>2]|0)+156|0;c[k>>2]=(c[k>>2]|0)+1;Qn(a,b,m);if(bM()|0){g=c[46366]|0;e=0.0;f=0;while(1){if((f|0)>=(g|0))break;e=+B(+(+h[182736+(f<<3)>>3]))+e;f=f+1|0}e=+C(+e);m=c[15686]|0;c[n>>2]=qy(d)|0;h[n+8>>3]=e;f1(m,90268,n)|0}l=o;return}function On(a,b){a=a|0;b=b|0;var d=0.0,e=0.0,f=0,g=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0.0;q=b+-1|0;n=a+16|0;o=c[46366]|0;g=0;d=0.0;a:while(1){if((g|0)>=(q|0))break;m=c[n>>2]|0;p=c[m+152>>2]|0;j=g+1|0;k=(c[p+(g<<2)>>2]|0)+16|0;l=m+164|0;m=m+160|0;i=j;while(1){if((i|0)>=(b|0)){g=j;continue a}f=(c[p+(i<<2)>>2]|0)+16|0;a=0;e=0.0;while(1){if((a|0)>=(o|0))break;r=+h[(c[(c[k>>2]|0)+132>>2]|0)+(a<<3)>>3]-+h[(c[(c[f>>2]|0)+132>>2]|0)+(a<<3)>>3];a=a+1|0;e=r*r+e}r=+h[(c[(c[m>>2]|0)+(g<<2)>>2]|0)+(i<<3)>>3];r=((+C(+e)*-2.0+r)*r+e)*+h[(c[(c[l>>2]|0)+(g<<2)>>2]|0)+(i<<3)>>3]+d;i=i+1|0;d=r}}return +d}function Pn(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,i=0,j=0,k=0,m=0,n=0.0,o=0.0,p=0.0,q=0.0,r=0.0,s=0,t=0,u=0,v=0,w=0,x=0;x=l;l=l+80|0;w=x;v=c[a+16>>2]|0;k=c[v+164>>2]|0;m=c[v+160>>2]|0;v=c[v+152>>2]|0;j=c[v+(d<<2)>>2]|0;g=c[46366]|0;a=0;while(1){if((a|0)>=(g|0))break;i=O(g,a)|0;f=0;while(1){if((f|0)==(g|0))break;h[e+(i+f<<3)>>3]=0.0;f=f+1|0}a=a+1|0}u=c[46366]|0;t=j+16|0;s=k+(d<<2)|0;k=m+(d<<2)|0;j=0;while(1){if((j|0)>=(b|0))break;a:do if((j|0)!=(d|0)){f=(c[v+(j<<2)>>2]|0)+16|0;r=0.0;a=0;while(1){if((a|0)>=(u|0))break;q=+h[(c[(c[t>>2]|0)+132>>2]|0)+(a<<3)>>3]-+h[(c[(c[f>>2]|0)+132>>2]|0)+(a<<3)>>3];h[w+(a<<3)>>3]=q;r=q*q+r;a=a+1|0}n=1.0/+tn(r);i=0;while(1){if((i|0)>=(u|0))break a;f=(c[s>>2]|0)+(j<<3)|0;g=(c[k>>2]|0)+(j<<3)|0;o=+h[w+(i<<3)>>3];a=0;while(1){p=+h[f>>3];q=+h[g>>3];if((a|0)==(i|0))break;m=e+((O(u,a)|0)+i<<3)|0;h[m>>3]=+h[m>>3]+p*n*q*o*+h[w+(a<<3)>>3];a=a+1|0}m=e+((O(u,i)|0)+i<<3)|0;h[m>>3]=(1.0-q*n*(r-o*o))*p+ +h[m>>3];i=i+1|0}}while(0);j=j+1|0}f=c[46366]|0;i=1;while(1){if((i|0)>=(f|0))break;g=O(f,i)|0;a=0;while(1){if((a|0)==(i|0))break;h[e+(g+a<<3)>>3]=+h[e+((O(f,a)|0)+i<<3)>>3];a=a+1|0}i=i+1|0}l=x;return}function Qn(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,i=0.0,j=0,k=0,m=0,n=0,o=0.0,p=0.0,q=0,r=0,s=0;m=l;l=l+80|0;k=m;j=a+16|0;f=c[j>>2]|0;g=c[(c[f+152>>2]|0)+(d<<2)>>2]|0;e=c[46366]|0;f=f+168|0;a=0;while(1){if((a|0)>=(e|0))break;h[(c[(c[f>>2]|0)+(d<<2)>>2]|0)+(a<<3)>>3]=0.0;a=a+1|0}f=g+16|0;a=0;while(1){if((a|0)>=(b|0))break;a:do if((a|0)!=(d|0)){i=+un(c[(c[f>>2]|0)+132>>2]|0,c[(c[(c[(c[(c[j>>2]|0)+152>>2]|0)+(a<<2)>>2]|0)+16>>2]|0)+132>>2]|0,k);g=c[46366]|0;i=1.0/i;e=0;while(1){if((e|0)>=(g|0))break a;n=c[j>>2]|0;q=c[n+172>>2]|0;r=(c[(c[q+(d<<2)>>2]|0)+(a<<2)>>2]|0)+(e<<3)|0;o=+h[k+(e<<3)>>3];o=(o-+h[(c[(c[n+160>>2]|0)+(d<<2)>>2]|0)+(a<<3)>>3]*o*i)*+h[(c[(c[n+164>>2]|0)+(d<<2)>>2]|0)+(a<<3)>>3];h[r>>3]=o;n=c[n+168>>2]|0;s=(c[n+(d<<2)>>2]|0)+(e<<3)|0;h[s>>3]=+h[s>>3]+o;q=(c[(c[q+(a<<2)>>2]|0)+(d<<2)>>2]|0)+(e<<3)|0;o=+h[q>>3];p=-+h[r>>3];h[q>>3]=p;n=(c[n+(a<<2)>>2]|0)+(e<<3)|0;h[n>>3]=p-o+ +h[n>>3];e=e+1|0}}while(0);a=a+1|0}l=m;return}function Rn(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,i=0,j=0;d=a+16|0;g=c[46030]|0;b=c[(c[d>>2]|0)+124>>2]|0;while(1){if((b|0)<=0)break;i=(b+-1|0)/2|0;j=g+(i<<2)|0;e=c[j>>2]|0;f=e+16|0;if(+h[(c[f>>2]|0)+136>>3]<=+h[(c[d>>2]|0)+136>>3])break;c[j>>2]=a;c[(c[d>>2]|0)+124>>2]=i;c[g+(b<<2)>>2]=e;c[(c[f>>2]|0)+124>>2]=b;b=i}return}function Sn(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,i=0,j=0,k=0,l=0;i=a+16|0;j=c[46031]|0;k=c[46030]|0;g=c[(c[i>>2]|0)+124>>2]|0;while(1){e=g<<1|1;if((e|0)>=(j|0))break;d=e+1|0;if((d|0)<(j|0)){f=c[k+(d<<2)>>2]|0;b=c[k+(e<<2)>>2]|0;if(+h[(c[f+16>>2]|0)+136>>3]<+h[(c[b+16>>2]|0)+136>>3]){e=d;b=f}else l=6}else{b=c[k+(e<<2)>>2]|0;l=6}if((l|0)==6)l=0;d=b+16|0;if(+h[(c[i>>2]|0)+136>>3]<=+h[(c[d>>2]|0)+136>>3])break;c[k+(e<<2)>>2]=a;c[(c[i>>2]|0)+124>>2]=e;c[k+(g<<2)>>2]=b;c[(c[d>>2]|0)+124>>2]=g;g=e}return}function Tn(a){a=a|0;var b=0,d=0;b=(c[a+16>>2]|0)+124|0;if((c[b>>2]|0)>=0)qa(90283,90303,643,90311);d=c[46031]|0;c[46031]=d+1;c[b>>2]=d;c[(c[46030]|0)+(d<<2)>>2]=a;if((d|0)>0)Rn(a);return}function Un(){var a=0,b=0,d=0,e=0;b=c[46031]|0;if(!b)a=0;else{e=c[46030]|0;a=c[e>>2]|0;d=b+-1|0;c[46031]=d;d=c[e+(d<<2)>>2]|0;c[e>>2]=d;c[(c[d+16>>2]|0)+124>>2]=0;if((b|0)>2)Sn(d);c[(c[a+16>>2]|0)+124>>2]=-1}return a|0}function Vn(a,b){a=a|0;b=b|0;var d=0,e=0;e=l;l=l+16|0;d=e;c[46030]=tH((b<<2)+4|0)|0;if(0){D1(90325,28,1,c[15686]|0)|0;DL()}b=Ry(a)|0;while(1){if(!b)break;Wn(a,b);b=Sy(a,b)|0}if(0){a=c[15686]|0;h[d>>3]=+EL();f1(a,90173,d)|0}C_(c[46030]|0);l=e;return}function Wn(a,b){a=a|0;b=b|0;var d=0,e=0,f=0.0,g=0,i=0,j=0,k=0;e=c[(c[a+16>>2]|0)+152>>2]|0;f=+h[22910];d=0;while(1){g=c[e+(d<<2)>>2]|0;if(!g)break;h[(c[g+16>>2]|0)+136>>3]=f;d=d+1|0}c[46032]=b;k=c[b+16>>2]|0;h[k+136>>3]=0.0;c[k+128>>2]=0;Tn(b);a:while(1){k=Un()|0;if(!k)break;d=c[46032]|0;j=k+16|0;if((k|0)!=(d|0))Xn(a,d,k,+h[(c[j>>2]|0)+136>>3]);i=Ix(a,k)|0;while(1){if(!i)continue a;d=c[i>>2]&3;b=c[((d|0)==3?i:i+48|0)+40>>2]|0;if((b|0)==(k|0))b=c[((d|0)==2?i:i+-48|0)+40>>2]|0;d=c[j>>2]|0;f=+h[(c[i+16>>2]|0)+136>>3]+ +h[d+136>>3];e=c[b+16>>2]|0;g=e+136|0;do if(+h[g>>3]>f){h[g>>3]=f;if((c[e+124>>2]|0)>-1){Rn(b);break}else{c[e+128>>2]=(c[d+128>>2]|0)+1;Tn(b);break}}while(0);i=Jx(a,i,k)|0}}return}function Xn(a,b,d,e){a=a|0;b=b|0;d=d|0;e=+e;b=c[(c[b+16>>2]|0)+120>>2]|0;d=c[(c[d+16>>2]|0)+120>>2]|0;a=c[(c[a+16>>2]|0)+160>>2]|0;h[(c[a+(d<<2)>>2]|0)+(b<<3)>>3]=e;h[(c[a+(b<<2)>>2]|0)+(d<<3)>>3]=e;return}function Yn(a){a=a|0;_M(a,2);b[(c[a+16>>2]|0)+176>>1]=2;c[46366]=2;Zn(a);return}function Zn(a){a=a|0;var b=0,d=0,e=0,f=0;b=$x(a)|0;e=tH(b*56|0)|0;b=tH((b<<2)+4|0)|0;f=a+16|0;c[(c[f>>2]|0)+152>>2]=b;b=Ry(a)|0;d=0;while(1){if(!b)break;_l(b);c[(c[b+16>>2]|0)+112>>2]=e+(d*56|0);c[(c[(c[f>>2]|0)+152>>2]|0)+(d<<2)>>2]=b;b=Sy(a,b)|0;d=d+1|0}d=Ry(a)|0;while(1){if(!d)break;b=Dx(a,d)|0;while(1){if(!b)break;_n(b);b=Fx(a,b)|0}d=Sy(a,d)|0}return}function _n(a){a=a|0;var b=0.0;zz(a,134378,176,1)|0;dM(a)|0;b=+KL(a,c[46404]|0,1.0,0.0);h[(c[a+16>>2]|0)+128>>3]=b;return}function $n(b){b=b|0;var d=0,e=0,f=0,g=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;u=l;l=l+80|0;m=u+32|0;i=u+24|0;g=u+16|0;j=u;t=u+72|0;p=u+40|0;if($x(b)|0){Yn(b);f=wx(b,93136)|0;if(f)if(a[f>>0]|0){d=$y(b,f,0)|0;if(!d){c[g>>2]=f;Ow(0,90354,g)|0;Ow(3,90394,i)|0;d=0;s=1}else s=0}else{d=0;s=1}else{d=0;s=0}n=mx(b,1,93136,0)|0;o=(n|0)!=0;f=wx(b,137660)|0;if((f|0?a[f>>0]|0:0)?(k=j+8|0,c[m>>2]=j,c[m+4>>2]=k,(M1(f,102477,m)|0)==1):0)h[k>>3]=+h[j>>3];if($x(b)|0){m=nD(b,t,0)|0;if((c[t>>2]|0)==1){g=(d|0)!=0;do if(g)e=d;else{if(o?(e=ao(b,n)|0,e|0):0)break;e=0}while(0);f=Yt(b,e)|0;if(!((e|0)!=0|o^1))qx(f,n,139381)|0;r=(Ry(b)|0)+16|0;C_(c[(c[r>>2]|0)+112>>2]|0);c[(c[r>>2]|0)+112>>2]=0;sq(b)|0;gn(b);d=(s|0)==0|g?d:f}else{WD(b,2,8,p)|0;c[p+12>>2]=0;k=(s|0)==0;j=0;while(1){if((j|0)>=(c[t>>2]|0))break;g=c[m+(j<<2)>>2]|0;e=(d|0)!=0;if(e?(nz(g,d)|0)!=0:0)f=d;else r=23;do if((r|0)==23){r=0;if(o?(q=ao(g,n)|0,q|0):0){f=q;break}f=0}while(0);uD(g)|0;i=Yt(g,f)|0;d=k|e?d:i;if(o?(f|0)==0|(f|0)==(d|0):0)qx(i,n,139381)|0;sq(g)|0;j=j+1|0}r=(Ry(b)|0)+16|0;C_(c[(c[r>>2]|0)+112>>2]|0);c[(c[r>>2]|0)+112>>2]=0;VD(c[t>>2]|0,m,b,p)|0;gn(b)}e=0;while(1){if((e|0)>=(c[t>>2]|0))break;cz(b,c[m+(e<<2)>>2]|0)|0;e=e+1|0}C_(m)}if(s|0)yx(b,93136,qy(d)|0)|0;dJ(b)}l=u;return}function ao(a,b){a=a|0;b=b|0;var c=0;c=Ry(a)|0;while(1){if(!c){c=0;break}if((PL(xx(c,b)|0)|0)<<24>>24)break;c=Sy(a,c)|0}return c|0}function bo(a){a=a|0;var b=0,c=0;b=Ry(a)|0;if(b|0){while(1){if(!b)break;c=Dx(a,b)|0;while(1){if(!c)break;IM(c);c=Fx(a,c)|0}GM(b);b=Sy(a,b)|0}co(a)}return}function co(a){a=a|0;C_(c[(c[a+16>>2]|0)+152>>2]|0);if((ez(a)|0)!=(a|0))Fz(a,0,134401);return}function eo(a){a=a|0;fo(a);if(!(($x(a)|0)==0?!(c[(c[a+16>>2]|0)+180>>2]|0):0)){mu(a);dJ(a)}return}function fo(a){a=a|0;c[46377]=mx(a,1,105204,105210)|0;_M(a,2);b[(c[a+16>>2]|0)+176>>1]=2;c[46366]=2;go(a,0);ho(a);return}function go(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0;i=l;l=l+16|0;g=i;h=(b|0)==0;if(h){ko(g);b=g}d=vA(a)|0;while(1){if(!d)break;if(!(y$(qy(d)|0,104980,7)|0)){zz(d,134401,280,1)|0;lo(b,d);go(d,0)}else go(d,b);d=wA(d)|0}if(h?(e=c[g+8>>2]|0,f=a+16|0,c[(c[f>>2]|0)+180>>2]=e,e|0):0){h=wH(c[g>>2]|0,(e<<2)+4|0)|0;c[(c[f>>2]|0)+184>>2]=h}l=i;return}function ho(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;f=tH(($x(a)|0)<<2)|0;b=tH((($x(a)|0)<<2)+4|0)|0;g=a+16|0;c[(c[g>>2]|0)+152>>2]=b;b=Ry(a)|0;d=0;while(1){if(!b)break;zz(b,134365,304,1)|0;c[(c[b+16>>2]|0)+112>>2]=f+(d<<2);c[(c[(c[g>>2]|0)+152>>2]|0)+(d<<2)>>2]=b;io(b);e=Dx(a,b)|0;while(1){if(!e)break;jo(e);e=Fx(a,e)|0}b=Sy(a,b)|0;d=d+1|0}return}function io(a){a=a|0;yx(a,105204,105210)|0;return}function jo(a){a=a|0;zz(a,134378,304,1)|0;return}function ko(a){a=a|0;c[a>>2]=0;c[a+4>>2]=0;c[a+8>>2]=0;return}function lo(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;g=a+8|0;d=(c[g>>2]|0)+1|0;c[g>>2]=d;e=a+4|0;h=c[e>>2]|0;f=h+10|0;if((d|0)<(h|0))a=c[a>>2]|0;else{c[e>>2]=f;d=wH(c[a>>2]|0,f<<2)|0;c[a>>2]=d;a=d;d=c[g>>2]|0}c[a+(d<<2)>>2]=b;return}function mo(a){a=a|0;var b=0,d=0;b=Ry(a)|0;if(b|0){C_(c[(c[b+16>>2]|0)+112>>2]|0);while(1){if(!b)break;d=Dx(a,b)|0;while(1){if(!d)break;IM(d);d=Fx(a,d)|0}GM(b);b=Sy(a,b)|0}no(a)}return}function no(a){a=a|0;C_(c[(c[a+16>>2]|0)+152>>2]|0);if((ez(a)|0)!=(a|0))Fz(a,0,134401);return}function oo(a){a=a|0;var d=0,e=0,f=0;po(a);qo(a,0);ro(a,0);so(a,0);d=c[a+16>>2]|0;if(!(c[(c[d+8>>2]|0)+84>>2]|0)){d=b[d+136>>1]&14;if(d<<16>>16)Xm(a,d&65535)|0}else{d=Ry(a)|0;while(1){if(!d)break;f=c[d+16>>2]|0;e=c[f+132>>2]|0;h[e>>3]=+h[f+16>>3]*.013888888888888888;h[e+8>>3]=+h[f+24>>3]*.013888888888888888;d=Sy(a,d)|0}_m(a,1)}dJ(a);return}function po(a){a=a|0;var d=0,e=0;_M(a,2);b[(c[a+16>>2]|0)+176>>1]=2;c[46366]=2;d=Ry(a)|0;while(1){if(!d)break;_l(d);d=Sy(a,d)|0}e=Ry(a)|0;while(1){if(!e)break;d=Dx(a,e)|0;while(1){if(!d)break;zz(d,134378,176,1)|0;dM(d)|0;d=Fx(a,d)|0}e=Sy(a,e)|0}return}function qo(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0;i=l;l=l+16|0;g=i;h=(b|0)==0;if(h){xo(g);b=g}d=vA(a)|0;while(1){if(!d)break;if(!(y$(qy(d)|0,104980,7)|0)){zz(d,134401,280,1)|0;eH(d);yo(b,d);qo(d,0)}else qo(d,b);d=wA(d)|0}if(h?(e=c[g+8>>2]|0,f=a+16|0,c[(c[f>>2]|0)+180>>2]=e,e|0):0){h=wH(c[g>>2]|0,(e<<2)+4|0)|0;c[(c[f>>2]|0)+184>>2]=h}l=i;return}function ro(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,i=0.0,j=0.0,k=0.0,m=0.0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0;Q=l;l=l+448|0;G=Q+400|0;F=Q+384|0;P=Q+344|0;O=Q+304|0;N=Q+248|0;D=Q+192|0;x=Q+152|0;y=Q+96|0;o=Q+72|0;d=Q+64|0;I=Q+32|0;J=Q;B=Q+416|0;u=Q+328|0;w=Q+288|0;K=Q+232|0;L=Q+176|0;M=Q+136|0;H=Q+80|0;n=c[a+60>>2]|0;if(0>1){to(b);E=c[15686]|0;c[d>>2]=qy(a)|0;f1(E,90637,d)|0}E=a+16|0;f=b+1|0;d=1;e=0;while(1){g=c[E>>2]|0;if((d|0)>(c[g+180>>2]|0))break;C=c[(c[g+184>>2]|0)+(d<<2)>>2]|0;ro(C,f);d=d+1|0;e=($x(C)|0)+e|0}p=($x(a)|0)-e|0;d=c[E>>2]|0;C=(c[d+180>>2]|0)+p|0;v=(C|0)==0;if(v?(c[d+12>>2]|0)==0:0){P=d+16|0;c[P>>2]=0;c[P+4>>2]=0;c[P+8>>2]=0;c[P+12>>2]=0;h[d+40>>3]=18.0;h[d+32>>3]=18.0}else{d=B+16|0;do if((WD(a,4,4,B)|0)>>>0>=3)if((c[d>>2]|0)==4?(c[B+28>>2]&2|0)!=0:0){e=mx(n,0,96164,0)|0;d=mx(n,1,96164,0)|0;if((e|0)!=0|(d|0)!=0){c[B+24>>2]=tH(C<<2)|0;break}else{c[o>>2]=qy(a)|0;Ow(0,90483,o)|0;d=0;e=0;break}}else{d=0;e=0}else{c[d>>2]=3;d=0;e=0}while(0);z=tH(C<<5)|0;A=tH(C<<2)|0;s=B+24|0;n=(e|0)!=0;r=0;g=1;while(1){f=c[E>>2]|0;if((g|0)>(c[f+180>>2]|0))break;f=c[(c[f+184>>2]|0)+(g<<2)>>2]|0;t=z+(r<<5)|0;q=(c[f+16>>2]|0)+16|0;c[t>>2]=c[q>>2];c[t+4>>2]=c[q+4>>2];c[t+8>>2]=c[q+8>>2];c[t+12>>2]=c[q+12>>2];c[t+16>>2]=c[q+16>>2];c[t+20>>2]=c[q+20>>2];c[t+24>>2]=c[q+24>>2];c[t+28>>2]=c[q+28>>2];if(n&(c[s>>2]|0)!=0){t=JL(f,e,0,0)|0;c[(c[s>>2]|0)+(r<<2)>>2]=t}c[A+(r<<2)>>2]=f;r=r+1|0;g=g+1|0}a:do if((p|0)>0){o=I+16|0;p=I+24|0;q=(d|0)!=0;n=Ry(a)|0;e=r;while(1){if(!n)break a;f=c[n+16>>2]|0;g=f+112|0;if(!(c[g>>2]|0)){c[g>>2]=a;c[I>>2]=0;c[I+4>>2]=0;c[I+8>>2]=0;c[I+12>>2]=0;h[o>>3]=+h[f+96>>3]+ +h[f+88>>3];h[p>>3]=+h[f+80>>3];t=z+(e<<5)|0;c[t>>2]=c[I>>2];c[t+4>>2]=c[I+4>>2];c[t+8>>2]=c[I+8>>2];c[t+12>>2]=c[I+12>>2];c[t+16>>2]=c[I+16>>2];c[t+20>>2]=c[I+20>>2];c[t+24>>2]=c[I+24>>2];c[t+28>>2]=c[I+28>>2];if(q&(c[s>>2]|0)!=0){t=JL(n,d,0,0)|0;c[(c[s>>2]|0)+(e<<2)>>2]=t}c[A+(e<<2)>>2]=n;e=e+1|0}n=Sy(a,n)|0}}while(0);t=PD(C,z,B)|0;d=c[s>>2]|0;if(d|0)C_(d);uo(J,2147483647.0,2147483647.0);s=J+16|0;uo(u,-2147483647.0,-2147483647.0);c[s>>2]=c[u>>2];c[s+4>>2]=c[u+4>>2];c[s+8>>2]=c[u+8>>2];c[s+12>>2]=c[u+12>>2];g=I+16|0;n=I+8|0;o=I+24|0;p=J+8|0;q=J+24|0;r=c[15686]|0;d=0;while(1){if((d|0)>=(C|0))break;j=+(c[t+(d<<3)>>2]|0);m=+(c[t+(d<<3)+4>>2]|0);e=z+(d<<5)|0;c[I>>2]=c[e>>2];c[I+4>>2]=c[e+4>>2];c[I+8>>2]=c[e+8>>2];c[I+12>>2]=c[e+12>>2];c[I+16>>2]=c[e+16>>2];c[I+20>>2]=c[e+20>>2];c[I+24>>2]=c[e+24>>2];c[I+28>>2]=c[e+28>>2];i=+h[I>>3]+j;h[I>>3]=i;j=+h[g>>3]+j;h[g>>3]=j;k=+h[n>>3]+m;h[n>>3]=k;m=+h[o>>3]+m;h[o>>3]=m;h[J>>3]=+h[(+h[J>>3]>3];h[p>>3]=+h[(+h[p>>3]>3];h[s>>3]=+h[(+h[s>>3]>j?J:I)+16>>3];h[q>>3]=+h[(+h[q>>3]>m?J:I)+24>>3];e=c[A+(d<<2)>>2]|0;f=e+16|0;if((d|0)<(c[(c[E>>2]|0)+180>>2]|0)){u=(c[f>>2]|0)+16|0;c[u>>2]=c[I>>2];c[u+4>>2]=c[I+4>>2];c[u+8>>2]=c[I+8>>2];c[u+12>>2]=c[I+12>>2];c[u+16>>2]=c[I+16>>2];c[u+20>>2]=c[I+20>>2];c[u+24>>2]=c[I+24>>2];c[u+28>>2]=c[I+28>>2];if(0>1){to(b);c[y>>2]=qy(e)|0;h[y+8>>3]=i;h[y+16>>3]=k;h[y+24>>3]=j;h[y+32>>3]=m;f1(r,90462,y)|0}}else{u=(c[f>>2]|0)+16|0;c[F>>2]=c[I>>2];c[F+4>>2]=c[I+4>>2];c[F+8>>2]=c[I+8>>2];c[F+12>>2]=c[I+12>>2];c[G>>2]=c[g>>2];c[G+4>>2]=c[g+4>>2];c[G+8>>2]=c[g+8>>2];c[G+12>>2]=c[g+12>>2];vo(w,F,G);c[u>>2]=c[w>>2];c[u+4>>2]=c[w+4>>2];c[u+8>>2]=c[w+8>>2];c[u+12>>2]=c[w+12>>2];if(0>1){to(b);u=qy(e)|0;f=c[f>>2]|0;k=+h[f+16>>3];m=+h[f+24>>3];c[x>>2]=u;h[x+8>>3]=k;h[x+16>>3]=m;f1(r,90450,x)|0}}d=d+1|0}e=c[E>>2]|0;d=c[e+12>>2]|0;if(d|0){i=+h[d+24>>3];if(v){j=+h[d+32>>3];c[J>>2]=0;c[J+4>>2]=0;c[J+8>>2]=0;c[J+12>>2]=0;h[s>>3]=i;h[q>>3]=j;j=0.0;k=i}else{j=+h[J>>3];k=+h[s>>3]}m=i-(k-j);i=m*.5;if(m>0.0){h[J>>3]=j-i;h[s>>3]=k+i}}if((b|0)>0)i=+((c[B+8>>2]|0)>>>0)*.5;else i=0.0;j=+h[J>>3]-i;h[J>>3]=j;k=+h[s>>3]+i;h[s>>3]=k;m=-i-+h[e+56>>3]+ +h[p>>3];h[p>>3]=m;i=+h[e+88>>3]+i+ +h[q>>3];h[q>>3]=i;if(0>1){to(b);c[D>>2]=qy(a)|0;h[D+8>>3]=j;h[D+16>>3]=m;h[D+24>>3]=k;h[D+32>>3]=i;f1(r,90462,D)|0}d=0;while(1){if((d|0)>=(C|0))break;e=c[A+(d<<2)>>2]|0;f=e+16|0;if((d|0)<(c[(c[E>>2]|0)+180>>2]|0)){D=(c[f>>2]|0)+16|0;c[I>>2]=c[D>>2];c[I+4>>2]=c[D+4>>2];c[I+8>>2]=c[D+8>>2];c[I+12>>2]=c[D+12>>2];c[I+16>>2]=c[D+16>>2];c[I+20>>2]=c[D+20>>2];c[I+24>>2]=c[D+24>>2];c[I+28>>2]=c[D+28>>2];c[F>>2]=c[D>>2];c[F+4>>2]=c[D+4>>2];c[F+8>>2]=c[D+8>>2];c[F+12>>2]=c[D+12>>2];c[G>>2]=c[J>>2];c[G+4>>2]=c[J+4>>2];c[G+8>>2]=c[J+8>>2];c[G+12>>2]=c[J+12>>2];wo(I,F,G);c[F>>2]=c[g>>2];c[F+4>>2]=c[g+4>>2];c[F+8>>2]=c[g+8>>2];c[F+12>>2]=c[g+12>>2];c[G>>2]=c[J>>2];c[G+4>>2]=c[J+4>>2];c[G+8>>2]=c[J+8>>2];c[G+12>>2]=c[J+12>>2];wo(K,F,G);c[g>>2]=c[K>>2];c[g+4>>2]=c[K+4>>2];c[g+8>>2]=c[K+8>>2];c[g+12>>2]=c[K+12>>2];D=(c[f>>2]|0)+16|0;c[D>>2]=c[I>>2];c[D+4>>2]=c[I+4>>2];c[D+8>>2]=c[I+8>>2];c[D+12>>2]=c[I+12>>2];c[D+16>>2]=c[I+16>>2];c[D+20>>2]=c[I+20>>2];c[D+24>>2]=c[I+24>>2];c[D+28>>2]=c[I+28>>2];if(0>1){to(b);D=qy(e)|0;i=+h[I>>3];j=+h[n>>3];k=+h[g>>3];m=+h[o>>3];c[N>>2]=D;h[N+8>>3]=i;h[N+16>>3]=j;h[N+24>>3]=k;h[N+32>>3]=m;f1(r,90462,N)|0}}else{D=(c[f>>2]|0)+16|0;c[F>>2]=c[D>>2];c[F+4>>2]=c[D+4>>2];c[F+8>>2]=c[D+8>>2];c[F+12>>2]=c[D+12>>2];c[G>>2]=c[J>>2];c[G+4>>2]=c[J+4>>2];c[G+8>>2]=c[J+8>>2];c[G+12>>2]=c[J+12>>2];wo(L,F,G);c[D>>2]=c[L>>2];c[D+4>>2]=c[L+4>>2];c[D+8>>2]=c[L+8>>2];c[D+12>>2]=c[L+12>>2];if(0>1){to(b);D=qy(e)|0;B=c[f>>2]|0;k=+h[B+16>>3];m=+h[B+24>>3];c[O>>2]=D;h[O+8>>3]=k;h[O+16>>3]=m;f1(r,90450,O)|0}}d=d+1|0}c[F>>2]=c[s>>2];c[F+4>>2]=c[s+4>>2];c[F+8>>2]=c[s+8>>2];c[F+12>>2]=c[s+12>>2];c[G>>2]=c[J>>2];c[G+4>>2]=c[J+4>>2];c[G+8>>2]=c[J+8>>2];c[G+12>>2]=c[J+12>>2];wo(M,F,G);c[s>>2]=c[M>>2];c[s+4>>2]=c[M+4>>2];c[s+8>>2]=c[M+8>>2];c[s+12>>2]=c[M+12>>2];c[F>>2]=c[J>>2];c[F+4>>2]=c[J+4>>2];c[F+8>>2]=c[J+8>>2];c[F+12>>2]=c[J+12>>2];c[G>>2]=c[J>>2];c[G+4>>2]=c[J+4>>2];c[G+8>>2]=c[J+8>>2];c[G+12>>2]=c[J+12>>2];wo(H,F,G);c[J>>2]=c[H>>2];c[J+4>>2]=c[H+4>>2];c[J+8>>2]=c[H+8>>2];c[J+12>>2]=c[H+12>>2];O=(c[E>>2]|0)+16|0;c[O>>2]=c[J>>2];c[O+4>>2]=c[J+4>>2];c[O+8>>2]=c[J+8>>2];c[O+12>>2]=c[J+12>>2];c[O+16>>2]=c[J+16>>2];c[O+20>>2]=c[J+20>>2];c[O+24>>2]=c[J+24>>2];c[O+28>>2]=c[J+28>>2];if(0>1){to(b);O=qy(a)|0;i=+h[J>>3];j=+h[p>>3];k=+h[s>>3];m=+h[q>>3];c[P>>2]=O;h[P+8>>3]=i;h[P+16>>3]=j;h[P+24>>3]=k;h[P+32>>3]=m;f1(r,90462,P)|0}C_(z);C_(A);C_(t)}l=Q;return}function so(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,i=0,j=0.0,k=0.0,m=0.0,n=0.0,o=0,p=0.0,q=0.0,r=0,s=0,t=0,u=0;t=l;l=l+80|0;s=t+32|0;i=t+8|0;d=t;r=a+16|0;o=c[r>>2]|0;p=+h[o+16>>3];q=+h[o+24>>3];if(0>1){to(b);o=c[15686]|0;c[d>>2]=qy(a)|0;f1(o,90435,d)|0}o=(b|0)!=0;a:do if(o){d=Ry(a)|0;e=c[15686]|0;while(1){if(!d)break a;f=d+16|0;g=c[f>>2]|0;if((c[g+112>>2]|0)==(a|0)?(u=g+16|0,h[u>>3]=+h[u>>3]+p,g=g+24|0,h[g>>3]=+h[g>>3]+q,0>1):0){to(b);u=qy(d)|0;g=c[f>>2]|0;m=+h[g+16>>3];n=+h[g+24>>3];c[i>>2]=u;h[i+8>>3]=m;h[i+16>>3]=n;f1(e,90450,i)|0}d=Sy(a,d)|0}}else e=c[15686]|0;while(0);i=b+1|0;a=1;while(1){d=c[r>>2]|0;if((a|0)>(c[d+180>>2]|0))break;g=c[(c[d+184>>2]|0)+(a<<2)>>2]|0;if(o){f=g+16|0;d=c[f>>2]|0;j=+h[d+16>>3]+p;k=+h[d+24>>3]+q;m=+h[d+32>>3]+p;n=+h[d+40>>3]+q;if(0>1){to(b);c[s>>2]=qy(g)|0;h[s+8>>3]=j;h[s+16>>3]=k;h[s+24>>3]=m;h[s+32>>3]=n;f1(e,90462,s)|0;d=c[f>>2]|0}h[d+16>>3]=j;h[d+24>>3]=k;h[d+32>>3]=m;h[d+40>>3]=n}so(g,i);a=a+1|0}l=t;return}function to(a){a=a|0;var b=0;b=c[15686]|0;while(1){if((a|0)<=0)break;C1(90480,b)|0;a=a+-1|0}return}function uo(a,b,c){a=a|0;b=+b;c=+c;h[a>>3]=b;h[a+8>>3]=c;return}function vo(a,b,c){a=a|0;b=b|0;c=c|0;var d=0.0;d=(+h[c+8>>3]+ +h[b+8>>3])*.5;h[a>>3]=(+h[c>>3]+ +h[b>>3])*.5;h[a+8>>3]=d;return}function wo(a,b,c){a=a|0;b=b|0;c=c|0;var d=0.0;d=+h[b+8>>3]-+h[c+8>>3];h[a>>3]=+h[b>>3]-+h[c>>3];h[a+8>>3]=d;return}function xo(a){a=a|0;c[a>>2]=0;c[a+4>>2]=0;c[a+8>>2]=0;return}function yo(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;g=a+8|0;d=(c[g>>2]|0)+1|0;c[g>>2]=d;e=a+4|0;h=c[e>>2]|0;f=h+10|0;if((d|0)<(h|0))a=c[a>>2]|0;else{c[e>>2]=f;d=wH(c[a>>2]|0,f<<2)|0;c[a>>2]=d;a=d;d=c[g>>2]|0}c[a+(d<<2)>>2]=b;return}function zo(a){a=a|0;var b=0;b=Ry(a)|0;while(1){if(!b)break;GM(b);b=Sy(a,b)|0}Ao(a);return}function Ao(a){a=a|0;var b=0,d=0,e=0;b=a+16|0;a=1;while(1){e=c[b>>2]|0;d=c[e+184>>2]|0;if((a|0)>(c[e+180>>2]|0))break;e=c[d+(a<<2)>>2]|0;mH(c[(c[e+16>>2]|0)+12>>2]|0);Ao(e);a=a+1|0}C_(d);return}function Bo(a){a=a|0;var b=0,d=0,e=0;Ez(a,1,134365,304,1);rM(a)|0;b=tH((($x(a)|0)<<2)+4|0)|0;e=a+16|0;c[(c[e>>2]|0)+152>>2]=b;b=0;d=Ry(a)|0;while(1){if(!d)break;Co(d);c[(c[(c[e>>2]|0)+152>>2]|0)+(b<<2)>>2]=d;c[(c[d+16>>2]|0)+120>>2]=b;b=b+1|0;d=Sy(a,d)|0}e=mx(a,2,90566,0)|0;d=Ry(a)|0;while(1){if(!d)break;b=Dx(a,d)|0;while(1){if(!b)break;Do(b,e);b=Fx(a,b)|0}d=Sy(a,d)|0}Eo(a);return}function Co(a){a=a|0;var b=0;cM(a);b=tH((e[(c[(dz(a)|0)+16>>2]|0)+176>>1]|0)<<3)|0;c[(c[a+16>>2]|0)+132>>2]=b;aN(a,c[(c[(dz(a)|0)+16>>2]|0)+116>>2]&1);return}function Do(a,b){a=a|0;b=b|0;var d=0,e=0.0;zz(a,134378,176,1)|0;e=+KL(a,c[46404]|0,1.0,0.0);d=a+16|0;h[(c[d>>2]|0)+128>>3]=e;e=+KL(a,b,+h[1371],0.0);h[(c[d>>2]|0)+136>>3]=e;dM(a)|0;return}function Eo(b){b=b|0;var d=0,e=0,f=0,g=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;r=l;l=l+32|0;q=r+16|0;p=r;m=r+24|0;n=mx(b,1,99597,0)|0;a:do if(n|0){o=mx(b,1,90570,0)|0;i=b+16|0;j=(o|0)==0;k=c[15686]|0;g=0;while(1){e=c[(c[(c[i>>2]|0)+152>>2]|0)+(g<<2)>>2]|0;if(!e)break a;b=xx(e,n)|0;do if(a[b>>0]|0){f=e+16|0;d=c[(c[f>>2]|0)+132>>2]|0;a[m>>0]=0;c[p>>2]=d;c[p+4>>2]=d+8;c[p+8>>2]=m;if((M1(b,98723,p)|0)<=1){c[q>>2]=qy(e)|0;c[q+4>>2]=b;f1(k,90574,q)|0;break}b:do if(+h[22908]>0.0){b=0;while(1){if((b|0)==2)break b;s=d+(b<<3)|0;h[s>>3]=+h[s>>3]/+h[22908];b=b+1|0}}while(0);b=c[f>>2]|0;a[b+119>>0]=1;if((a[m>>0]|0)!=33){if(j)break;if(!((PL(xx(e,o)|0)|0)<<24>>24))break;b=c[f>>2]|0}a[b+119>>0]=3}while(0);g=g+1|0}}while(0);l=r;return}function Fo(a){a=a|0;var b=0,c=0;c=Ry(a)|0;while(1){if(!c)break;b=Dx(a,c)|0;while(1){if(!b)break;IM(b);b=Fx(a,b)|0}GM(c);c=Sy(a,c)|0}Go(a);return}function Go(a){a=a|0;Ho(a);a=a+16|0;C_(c[(c[a>>2]|0)+152>>2]|0);C_(c[(c[a>>2]|0)+140>>2]|0);return}function Ho(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;g=a+16|0;f=1;while(1){e=c[g>>2]|0;b=c[e+184>>2]|0;if((f|0)>(c[e+180>>2]|0))break;e=c[b+(f<<2)>>2]|0;b=e+16|0;mH(c[(c[b>>2]|0)+12>>2]|0);d=c[(c[b>>2]|0)+140>>2]|0;if(d|0){C_(c[d>>2]|0);C_(c[(c[b>>2]|0)+140>>2]|0)}Ho(e);f=f+1|0}C_(b);if((ez(a)|0)!=(a|0))Bz(a,134401)|0;return}function Io(a,b){a=a|0;b=b|0;c[b+4>>2]=mx(a,0,90626,0)|0;c[b+8>>2]=mx(a,0,138034,0)|0;c[b+12>>2]=mx(a,0,137966,0)|0;c[b>>2]=a;c[b+16>>2]=0;c[b+36>>2]=WD(a,2,4,b+20|0)|0;return}function Jo(a){a=a|0;var d=0,e=0;_M(a,2);d=tH(56)|0;e=a+16|0;c[(c[e>>2]|0)+140>>2]=d;d=(JL(a,mx(a,0,90633,0)|0,2,2)|0)&65535;d=(d&65535)<10?d:10;b[(c[e>>2]|0)+176>>1]=d;c[46366]=d&65535;Ko(a,0,a);gp(a);Bo(a);return}function Ko(a,d,e){a=a|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0;m=l;l=l+16|0;j=m;k=(d|0)==0;if(k){Lo(j);d=j}g=e+16|0;f=vA(a)|0;while(1){if(!f)break;if(!(y$(qy(f)|0,104980,7)|0)){zz(f,134401,280,1)|0;n=tH(56)|0;p=c[f+16>>2]|0;c[p+140>>2]=n;o=c[g>>2]|0;b[p+176>>1]=b[o+176>>1]|0;c[n+44>>2]=(c[(c[o+140>>2]|0)+44>>2]|0)+1;c[n+48>>2]=e;Mo(d,f);Ko(f,0,f)}else Ko(f,d,e);f=wA(f)|0}if(k?(h=c[j+8>>2]|0,i=a+16|0,c[(c[i>>2]|0)+180>>2]=h,h|0):0){p=wH(c[j>>2]|0,(h<<2)+4|0)|0;c[(c[i>>2]|0)+184>>2]=p}l=m;return}function Lo(a){a=a|0;c[a>>2]=0;c[a+4>>2]=0;c[a+8>>2]=0;return}function Mo(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;g=a+8|0;d=(c[g>>2]|0)+1|0;c[g>>2]=d;e=a+4|0;h=c[e>>2]|0;f=h+10|0;if((d|0)<(h|0))a=c[a>>2]|0;else{c[e>>2]=f;d=wH(c[a>>2]|0,f<<2)|0;c[a>>2]=d;a=d;d=c[g>>2]|0}c[a+(d<<2)>>2]=b;return}function No(a){a=a|0;var b=0,c=0;b=l;l=l+64|0;c=b;Io(a,c);Oo(a,c);Po(a);Qo(a,a);Ro(a);l=b;return}function Oo(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0.0,u=0.0,v=0,w=0.0,x=0.0;s=l;l=l+64|0;r=s+48|0;e=s+40|0;o=s+56|0;n=s+52|0;m=s;if(0){q=c[15686]|0;c[e>>2]=qy(b)|0;f1(q,90637,e)|0}e=Ry(b)|0;while(1){if(!e)break;c[(c[e+16>>2]|0)+164>>2]=0;e=Sy(b,e)|0}p=So(b,d)|0;q=Hu(p,o,n)|0;e=q;while(1){k=e+4|0;f=c[e>>2]|0;if(!f)break;hp(f,m);e=Ry(f)|0;while(1){if(!e)break;g=Sy(f,e)|0;i=e+16|0;j=c[i>>2]|0;if(c[j+212>>2]|0){v=To(e,f)|0;Oo(v,d);v=c[(c[v+16>>2]|0)+140>>2]|0;u=+h[v+24>>3];j=c[i>>2]|0;h[j+32>>3]=u;t=+h[v+32>>3];h[j+40>>3]=t;u=u*36.0;h[j+88>>3]=u;h[j+96>>3]=u;h[j+80>>3]=t*72.0;e=g;continue}if(c[(c[j+112>>2]|0)+8>>2]|0){e=g;continue}cz(f,e)|0;e=g}if(($x(f)|0)<=1){e=k;continue}if((c[d>>2]|0)==(b|0))Pp(f)|0;up(f,m);e=k}e=c[o>>2]|0;if((e|0)<=1)if((e|0)==1){lM(c[q>>2]|0);e=0}else e=0;else{if(!(c[n>>2]|0))f=0;else{f=tH(e)|0;a[f>>0]=1;e=c[o>>2]|0}c[d+40>>2]=f;e=AD(e,q,0,d+20|0)|0;C_(f)}Uo(p,c[o>>2]|0,q,e,b,d);C_(e);f=Ry(p)|0;while(1){if(!f)break;g=c[f+16>>2]|0;e=c[g+212>>2]|0;if(!e){e=c[(c[g+112>>2]|0)+8>>2]|0;if(e|0){o=c[g+132>>2]|0;v=c[(c[e+16>>2]|0)+132>>2]|0;h[v>>3]=+h[o>>3];h[v+8>>3]=+h[o+8>>3]}}else{o=c[g+132>>2]|0;x=+h[g+32>>3];w=+h[o>>3]-x*.5;v=c[(c[e+16>>2]|0)+140>>2]|0;h[v+8>>3]=w;t=+h[g+40>>3];u=+h[o+8>>3]-t*.5;h[v+16>>3]=u;h[v+24>>3]=x+w;h[v+32>>3]=t+u}f=Sy(p,f)|0}v=(c[(c[b+16>>2]|0)+140>>2]|0)+8|0;o=(c[(c[p+16>>2]|0)+140>>2]|0)+8|0;c[v>>2]=c[o>>2];c[v+4>>2]=c[o+4>>2];c[v+8>>2]=c[o+8>>2];c[v+12>>2]=c[o+12>>2];c[v+16>>2]=c[o+16>>2];c[v+20>>2]=c[o+20>>2];c[v+24>>2]=c[o+24>>2];c[v+28>>2]=c[o+28>>2];Vo(p,q);C_(q);if(0){v=c[15686]|0;c[r>>2]=qy(b)|0;f1(v,90648,r)|0}l=s;return}function Po(b){b=b|0;var d=0,e=0,f=0.0,g=0.0,i=0.0,j=0.0,k=0;d=Ry(b)|0;while(1){if(!d)break;e=c[d+16>>2]|0;if(a[e+118>>0]|0){k=c[(c[(c[e+212>>2]|0)+16>>2]|0)+140>>2]|0;j=+h[k+24>>3]-+h[k+8>>3];i=+h[k+32>>3]-+h[k+16>>3];g=j*36.0;f=i*36.0;k=c[e+132>>2]|0;h[k>>3]=j*.5;h[k+8>>3]=i*.5;h[e+32>>3]=j;h[e+40>>3]=i;h[e+96>>3]=g;h[e+88>>3]=g;h[e+80>>3]=i*72.0;e=c[(c[e+12>>2]|0)+44>>2]|0;h[e>>3]=g;h[e+8>>3]=f;i=-g;h[e+16>>3]=i;h[e+24>>3]=f;h[e+32>>3]=i;f=-f;h[e+40>>3]=f;h[e+48>>3]=g;h[e+56>>3]=f}d=Sy(b,d)|0}return}function Qo(a,b){a=a|0;b=b|0;var d=0,e=0,f=0.0,g=0.0,i=0,j=0,k=0.0,l=0,m=0.0,n=0,o=0.0,p=0;i=a+16|0;j=c[(c[i>>2]|0)+140>>2]|0;f=+h[j+8>>3];g=+h[j+16>>3];j=(a|0)!=(b|0);a:do if(j){d=Ry(a)|0;while(1){if(!d){a=1;break a}e=c[d+16>>2]|0;if((c[e+212>>2]|0)==(a|0)){e=c[e+132>>2]|0;h[e>>3]=+h[e>>3]+f;e=e+8|0;h[e>>3]=+h[e>>3]+g}d=Sy(a,d)|0}}else a=1;while(0);while(1){d=c[i>>2]|0;if((a|0)>(c[d+180>>2]|0))break;d=c[(c[d+184>>2]|0)+(a<<2)>>2]|0;if(j){e=c[(c[d+16>>2]|0)+140>>2]|0;p=e+8|0;n=e+16|0;l=e+24|0;e=e+32|0;o=+h[n>>3]+g;m=+h[l>>3]+f;k=+h[e>>3]+g;h[p>>3]=+h[p>>3]+f;h[n>>3]=o;h[l>>3]=m;h[e>>3]=k}Qo(d,b);a=a+1|0}return}function Ro(a){a=a|0;var b=0,d=0,e=0.0,f=0.0,g=0.0;b=a+16|0;a=c[b>>2]|0;d=c[a+140>>2]|0;g=+h[d+16>>3]*72.0;f=+h[d+24>>3]*72.0;e=+h[d+32>>3]*72.0;h[a+16>>3]=+h[d+8>>3]*72.0;h[a+24>>3]=g;h[a+32>>3]=f;h[a+40>>3]=e;a=1;while(1){d=c[b>>2]|0;if((a|0)>(c[d+180>>2]|0))break;Ro(c[(c[d+184>>2]|0)+(a<<2)>>2]|0);a=a+1|0}return}function So(d,e){d=d|0;e=e|0;var f=0,g=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0;y=l;l=l+160|0;s=y+24|0;t=y+8|0;g=y;f=y+56|0;w=e+16|0;x=c[w>>2]|0;c[w>>2]=x+1;c[s>>2]=x;X0(f,90710,s)|0;if(0>1){x=c[15686]|0;w=qy(d)|0;c[g>>2]=f;c[g+4>>2]=w;f1(x,90717,g)|0};a[s>>0]=a[18484]|0;a[s+1>>0]=a[18485]|0;a[s+2>>0]=a[18486]|0;a[s+3>>0]=a[18487]|0;x=Wx(91072,s,0)|0;zz(x,134401,280,1)|0;v=tH(56)|0;w=x+16|0;o=c[w>>2]|0;c[o+140>>2]=v;v=d+16|0;b[o+176>>1]=b[(c[v>>2]|0)+176>>1]|0;$o(d,x,91095);$o(d,x,91700);$o(d,x,90983);o=e+4|0;p=s+16|0;q=s+8|0;r=s+24|0;j=0;n=1;while(1){f=c[v>>2]|0;if((n|0)>(c[f+180>>2]|0))break;c[s>>2]=c[332];c[s+4>>2]=c[333];c[s+8>>2]=c[334];c[s+12>>2]=c[335];c[s+16>>2]=c[336];c[s+20>>2]=c[337];c[s+24>>2]=c[338];c[s+28>>2]=c[339];g=c[(c[f+184>>2]|0)+(n<<2)>>2]|0;eH(g);i=ap(x,qy(g)|0)|0;k=i+16|0;f=c[k>>2]|0;c[f+212>>2]=g;m=j+1|0;c[f+120>>2]=j;if(c[o>>2]|0)bp(g,i,e,s);f=Ry(g)|0;while(1){if(!f)break;c[(c[f+16>>2]|0)+164>>2]=i;f=Sy(g,f)|0}f=c[k>>2]|0;if(a[f+119>>0]|0){k=c[f+132>>2]|0;h[k>>3]=(+h[p>>3]+ +h[s>>3])*.5;h[k+8>>3]=(+h[r>>3]+ +h[q>>3])*.5}j=m;n=n+1|0}k=Ry(d)|0;while(1){if(!k)break;f=k+16|0;g=c[f>>2]|0;if(!(c[g+164>>2]|0)){i=g+212|0;s=c[i>>2]|0;if(s|0?(s|0)!=(c[(c[(c[v>>2]|0)+140>>2]|0)+48>>2]|0):0){u=18;break}c[i>>2]=d;if(!(a[g+118>>0]|0)){i=ap(x,qy(k)|0)|0;g=c[f>>2]|0;c[g+164>>2]=i;i=c[i+16>>2]|0;c[i+120>>2]=j;h[i+32>>3]=+h[g+32>>3];h[i+40>>3]=+h[g+40>>3];h[i+88>>3]=+h[g+88>>3];h[i+96>>3]=+h[g+96>>3];h[i+80>>3]=+h[g+80>>3];c[i+8>>2]=c[g+8>>2];c[i+12>>2]=c[g+12>>2];f=a[g+119>>0]|0;if(f<<24>>24){e=c[g+132>>2]|0;s=c[i+132>>2]|0;h[s>>3]=+h[e>>3];h[s+8>>3]=+h[e+8>>3];a[i+119>>0]=f}c[(c[i+112>>2]|0)+8>>2]=k;f=j+1|0}else f=j}else f=j;k=Sy(d,k)|0;j=f}if((u|0)==18){e=qy(k)|0;s=qy(d)|0;u=qy(c[(c[f>>2]|0)+212>>2]|0)|0;c[t>>2]=e;c[t+4>>2]=s;c[t+8>>2]=u;Ow(1,90740,t)|0;bb(184132,1)}m=Ry(d)|0;while(1){if(!m)break;n=c[(c[m+16>>2]|0)+164>>2]|0;o=n+16|0;i=Dx(d,m)|0;while(1){if(!i)break;f=c[(c[(c[((c[i>>2]&3|0)==2?i:i+-48|0)+40>>2]|0)+16>>2]|0)+164>>2]|0;if((f|0)!=(n|0)){if(f>>>0>n>>>0)k=Qx(x,n,f,0,1)|0;else k=Qx(x,f,n,0,1)|0;zz(k,134378,176,1)|0;g=c[i+16>>2]|0;u=c[k+16>>2]|0;h[u+136>>3]=+h[g+136>>3];h[u+128>>3]=+h[g+128>>3];f=c[(c[f+16>>2]|0)+112>>2]|0;g=f+4|0;c[g>>2]=(c[g>>2]|0)+1;g=c[(c[o>>2]|0)+112>>2]|0;t=g+4|0;c[t>>2]=(c[t>>2]|0)+1;if(!(c[u+172>>2]|0)){c[f>>2]=(c[f>>2]|0)+1;c[g>>2]=(c[g>>2]|0)+1}cp(k,i)}i=Fx(d,i)|0}m=Sy(d,m)|0}f=c[(c[v>>2]|0)+140>>2]|0;g=c[f>>2]|0;if(g|0){i=tH((c[f+4>>2]<<4)+16|0)|0;c[c[(c[w>>2]|0)+140>>2]>>2]=i;f=0;while(1){if(!(c[g>>2]|0))break;m=c[(c[(c[g+4>>2]|0)+16>>2]|0)+164>>2]|0;if(m){dp(d,g);n=ap(x,190692)|0;o=n+16|0;c[(c[o>>2]|0)+120>>2]=j;if(n>>>0>m>>>0)k=Qx(x,m,n,0,1)|0;else k=Qx(x,n,m,0,1)|0;zz(k,134378,176,1)|0;u=c[g>>2]|0;t=c[u+16>>2]|0;v=c[k+16>>2]|0;h[v+136>>3]=+h[t+136>>3];h[v+128>>3]=+h[t+128>>3];cp(k,u);u=c[(c[o>>2]|0)+112>>2]|0;v=u+4|0;c[v>>2]=(c[v>>2]|0)+1;v=c[(c[m+16>>2]|0)+112>>2]|0;t=v+4|0;c[t>>2]=(c[t>>2]|0)+1;c[u>>2]=(c[u>>2]|0)+1;c[v>>2]=(c[v>>2]|0)+1;c[i+4>>2]=n;h[i+8>>3]=+h[g+8>>3];c[i>>2]=k;f=f+1|0;i=i+16|0;j=j+1|0}g=g+16|0}c[(c[(c[w>>2]|0)+140>>2]|0)+4>>2]=f}l=y;return x|0}function To(a,b){a=a|0;b=b|0;var d=0.0,e=0,f=0,g=0,i=0,j=0,k=0,l=0;l=c[a+16>>2]|0;k=c[l+212>>2]|0;l=c[(c[l+112>>2]|0)+4>>2]|0;do if(l|0){j=tH((l<<4)+16|0)|0;f=Yo(a,b)|0;g=f+8|0;b=0;e=f;while(1){if(!(c[e>>2]|0))break;i=e+24|0;if(!(c[i>>2]|0))d=+h[g>>3]+6.283185307179586;else d=+h[e+32>>3];b=Zo(a,e,j,b,d)|0;e=i}if((b|0)==(l|0)){a=c[(c[k+16>>2]|0)+140>>2]|0;c[a>>2]=j;c[a+4>>2]=l;C_(f);break}else qa(90656,90666,766,90675)}while(0);return k|0}function Uo(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var i=0.0,j=0,k=0.0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0.0,H=0.0;B=l;l=l+32|0;x=B+16|0;A=B;m=c[g+8>>2]|0;j=c[g+12>>2]|0;y=(c[g>>2]|0)==(f|0);z=(b|0)!=0;a:do if(z){p=c[(c[d>>2]|0)+16>>2]|0;k=+h[p+16>>3];m=~~(k+(k>=0.0?.5:-.5));c[A>>2]=m;k=+h[p+24>>3];g=~~(k+(k>=0.0?.5:-.5));u=A+4|0;c[u>>2]=g;k=+h[p+32>>3];n=~~(k+(k>=0.0?.5:-.5));v=A+8|0;c[v>>2]=n;k=+h[p+40>>3];p=~~(k+(k>=0.0?.5:-.5));w=A+12|0;c[w>>2]=p;if((b|0)>1){q=c[e>>2]|0;t=c[e+4>>2]|0;m=q+m|0;c[A>>2]=m;b=t+g|0;c[u>>2]=b;n=q+n|0;c[v>>2]=n;q=x+4|0;r=x+8|0;s=x+12|0;o=e;g=d;t=t+p|0;p=b;while(1){g=g+4|0;j=o+8|0;c[w>>2]=t;b=c[g>>2]|0;if(!b){j=0;r=p;s=t;break a}E=c[b+16>>2]|0;G=+h[E+16>>3];i=+h[E+24>>3];k=+h[E+32>>3];H=+h[E+40>>3];E=~~(H+(H>=0.0?.5:-.5));c[s>>2]=E;b=c[j>>2]|0;F=c[o+12>>2]|0;D=b+~~(G+(G>=0.0?.5:-.5))|0;c[x>>2]=D;C=F+~~(i+(i>=0.0?.5:-.5))|0;c[q>>2]=C;b=b+~~(k+(k>=0.0?.5:-.5))|0;c[r>>2]=b;E=F+E|0;c[s>>2]=E;D=c[((m|0)<(D|0)?A:x)>>2]|0;c[A>>2]=D;C=c[((p|0)<(C|0)?A:x)+4>>2]|0;c[u>>2]=C;b=c[((n|0)>(b|0)?A:x)+8>>2]|0;c[v>>2]=b;o=j;t=c[((t|0)>(E|0)?A:x)+12>>2]|0;m=D;p=C;n=b}}else{j=0;r=g;s=p}}else{c[A>>2]=0;c[A+4>>2]=0;n=JL(f,m,54,3)|0;c[A+8>>2]=n;s=JL(f,j,36,3)|0;c[A+12>>2]=s;j=1;m=0;r=0}while(0);b=f+16|0;o=c[b>>2]|0;g=c[o+12>>2]|0;if(g){H=+h[g+24>>3];g=m-n+~~(H+(H>=0.0?.5:-.5))|0;if((g|0)>0){g=g>>>1;m=m-g|0;c[A>>2]=m;n=n+g|0;c[A+8>>2]=n;g=0}else g=0}else g=j;if(y|(g|0)!=0){j=0;g=o}else{j=JL(a,c[46374]|0,8,0)|0;g=c[b>>2]|0}q=j-m|0;p=~~(+h[g+56>>3]+ +(j-r|0));c[A>>2]=0;c[A+4>>2]=0;o=q+j+n|0;c[A+8>>2]=o;b=~~(+h[g+88>>3]+ +(j+p|0)+ +(s|0));c[A+12>>2]=b;b:do if(z){g=e;c:while(1){n=d+4|0;j=c[d>>2]|0;if(!j)break b;if(!g){m=0;d=q;g=p}else{m=g+8|0;d=(c[g>>2]|0)+q|0;g=(c[g+4>>2]|0)+p|0}k=+(d|0)*.013888888888888888;i=+(g|0)*.013888888888888888;d=Ry(j)|0;while(1){if(!d){d=n;g=m;continue c}F=c[(c[d+16>>2]|0)+132>>2]|0;h[F>>3]=+h[F>>3]+k;F=F+8|0;h[F>>3]=+h[F>>3]+i;d=Sy(j,d)|0}}}while(0);F=c[(c[a+16>>2]|0)+140>>2]|0;E=F+8|0;c[E>>2]=0;c[E+4>>2]=0;c[E+8>>2]=0;c[E+12>>2]=0;h[F+24>>3]=+(o|0)*.013888888888888888;h[F+32>>3]=+(b|0)*.013888888888888888;l=B;return}function Vo(a,b){a=a|0;b=b|0;var d=0,e=0;while(1){d=c[b>>2]|0;if(!d)break;Wo(d);Bz(d,134401)|0;b=b+4|0}b=c[c[(c[a+16>>2]|0)+140>>2]>>2]|0;if(b|0)C_(b);Wo(a);Bz(a,134401)|0;d=Ry(a)|0;while(1){if(!d)break;e=Sy(a,d)|0;b=Dx(a,d)|0;while(1){if(!b)break;C_(c[(c[b+16>>2]|0)+172>>2]|0);Bz(b,134378)|0;b=Fx(a,b)|0}Xo(d);d=e}_x(a)|0;return}function Wo(a){a=a|0;C_(c[(c[a+16>>2]|0)+140>>2]|0);return}function Xo(a){a=a|0;var b=0;b=a+16|0;C_(c[(c[b>>2]|0)+112>>2]|0);C_(c[(c[b>>2]|0)+132>>2]|0);Bz(a,134365)|0;return}function Yo(a,b){a=a|0;b=b|0;var d=0.0,e=0,f=0,g=0.0,i=0,j=0,k=0,l=0,m=0;k=a+16|0;l=c[c[(c[k>>2]|0)+112>>2]>>2]|0;m=tH((l*24|0)+24|0)|0;i=0;j=Ix(b,a)|0;while(1){if(!j)break;f=c[j>>2]&3;e=c[((f|0)==2?j:j+-48|0)+40>>2]|0;if((e|0)==(a|0))e=c[((f|0)==3?j:j+48|0)+40>>2]|0;e=c[(c[e+16>>2]|0)+132>>2]|0;f=c[(c[k>>2]|0)+132>>2]|0;g=+h[e>>3]-+h[f>>3];d=+h[e+8>>3]-+h[f+8>>3];c[m+(i*24|0)>>2]=j;h[m+(i*24|0)+8>>3]=+K(+d,+g);h[m+(i*24|0)+16>>3]=d*d+g*g;i=i+1|0;j=Jx(b,j,a)|0}if((i|0)!=(l|0))qa(90689,90666,642,90698);Z0(m,l,24,67);a:do if((l|0)>1){j=l+-1|0;e=0;b:while(1){if((e|0)>=(j|0))break a;g=+h[m+(e*24|0)+8>>3];f=e+1|0;i=f;while(1){if((i|0)>=(l|0))break;if(!(+h[m+(i*24|0)+8>>3]==g))break;i=i+1|0}if((i|0)==(f|0)){e=f;continue}if((i|0)==(l|0))d=3.141592653589793;else d=+h[m+(i*24|0)+8>>3];d=(d-g)/+(i-e|0);d=d>.03490658503988659?.03490658503988659:d;g=0.0;while(1){if((e|0)>=(i|0))continue b;k=m+(e*24|0)+8|0;h[k>>3]=+h[k>>3]+g;g=g+d;e=e+1|0}}}while(0);return m|0}function Zo(a,d,e,f,g){a=a|0;d=d|0;e=e|0;f=f|0;g=+g;var i=0,j=0,k=0,l=0.0,m=0,n=0,o=0,p=0.0,q=0;k=c[d>>2]|0;n=c[k+16>>2]|0;m=b[n+168>>1]|0;o=m<<16>>16;j=c[k>>2]&3;i=c[((j|0)==2?k:k+-48|0)+40>>2]|0;if((i|0)==(a|0))i=c[((j|0)==3?k:k+48|0)+40>>2]|0;p=+h[d+8>>3];g=(g-p)/+(m<<16>>16);g=g>.03490658503988659?.03490658503988659:g;m=i>>>0>a>>>0;l=m?g:-g;d=m?1:-1;k=0;i=c[n+172>>2]|0;j=m?f:f+-1+o|0;g=m?p:g*+(o+-1|0)+p;while(1){if((k|0)>=(o|0))break;n=c[i>>2]|0;c[e+(j<<4)>>2]=n;m=c[n>>2]&3;q=(m|0)==3?n:n+48|0;c[e+(j<<4)+4>>2]=c[((c[(c[(c[q+40>>2]|0)+16>>2]|0)+164>>2]|0)==(a|0)?q:(m|0)==2?n:n+-48|0)+40>>2];h[e+(j<<4)+8>>3]=g;k=k+1|0;i=i+4|0;j=j+d|0;g=g+l}return o+f|0}function _o(a,b){a=a|0;b=b|0;var c=0.0,d=0.0;c=+h[a+8>>3];d=+h[b+8>>3];if(!(c>d))if(!(c>3];c=+h[b+16>>3];if(d>c)a=1;else a=(d>31}else a=-1;else a=1;return a|0}function $o(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;d=mx(a,0,c,0)|0;do if(d|0){a=xx(a,d)|0;d=mx(b,0,c,0)|0;if(!d){mx(b,0,c,a)|0;break}else{qx(b,d,a)|0;break}}while(0);return}function ap(a,b){a=a|0;b=b|0;var d=0,f=0;b=$y(a,b,1)|0;zz(b,134365,304,1)|0;f=tH(32)|0;d=b+16|0;c[(c[d>>2]|0)+112>>2]=f;a=uH((e[(c[a+16>>2]|0)+176>>1]|0)<<3)|0;c[(c[d>>2]|0)+132>>2]=a;return b|0}function bp(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0.0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0;q=l;l=l+80|0;n=q+56|0;m=q+32|0;p=q;o=q+64|0;i=c[e+4>>2]|0;k=xx(b,i)|0;do if(a[k>>0]|0){if((c[e>>2]|0)!=(b|0)){e=xx(xA(b)|0,i)|0;if((e|0)==(k|0))break;if(!(a$(k,e)|0))break}a[o>>0]=0;e=p+8|0;i=p+16|0;j=p+24|0;c[m>>2]=p;c[m+4>>2]=e;c[m+8>>2]=i;c[m+12>>2]=j;c[m+16>>2]=o;if((M1(k,90851,m)|0)<=3){c[n>>2]=qy(b)|0;c[n+4>>2]=k;Ow(0,90869,n)|0;break}g=+h[22908];if(g>0.0){h[p>>3]=+h[p>>3]/g;h[e>>3]=+h[e>>3]/g;h[i>>3]=+h[i>>3]/g;h[j>>3]=+h[j>>3]/g}e=a[o>>0]|0;if(e<<24>>24==33)a[(c[d+16>>2]|0)+119>>0]=3;else a[(c[d+16>>2]|0)+119>>0]=e<<24>>24==63?2:1;c[f>>2]=c[p>>2];c[f+4>>2]=c[p+4>>2];c[f+8>>2]=c[p+8>>2];c[f+12>>2]=c[p+12>>2];c[f+16>>2]=c[p+16>>2];c[f+20>>2]=c[p+20>>2];c[f+24>>2]=c[p+24>>2];c[f+28>>2]=c[p+28>>2]}while(0);l=q;return}function cp(a,d){a=a|0;d=d|0;var e=0,f=0,g=0;g=a+16|0;f=c[g>>2]|0;a=b[f+168>>1]|0;f=c[f+172>>2]|0;if(!f){a=a<<16>>16;e=a;a=uH((a<<2)+4|0)|0}else{a=a<<16>>16;e=a;a=wH(f,(a<<2)+4|0)|0}c[a+(e<<2)>>2]=d;d=c[g>>2]|0;c[d+172>>2]=a;d=d+168|0;b[d>>1]=(b[d>>1]|0)+1<<16>>16;return}function dp(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0;i=l;l=l+48|0;h=i+24|0;g=i;e=c[b>>2]|0;d=c[e>>2]&3;f=c[((d|0)==2?e:e+-48|0)+40>>2]|0;d=c[((d|0)==3?e:e+48|0)+40>>2]|0;b=V_(qy(a)|0)|0;j=V_(qy(f)|0)|0;j=(b+8+j+(V_(qy(d)|0)|0)|0)>999;b=qy(a)|0;if(j){d=qy(d)|0;j=qy(f)|0;h=(c[e>>2]|0)>>>4;c[g>>2]=b;c[g+4>>2]=d;c[g+8>>2]=j;j=g+16|0;c[j>>2]=h;c[j+4>>2]=0;X0(190692,90809,g)|0}else{d=c[(c[d+16>>2]|0)+120>>2]|0;j=c[(c[f+16>>2]|0)+120>>2]|0;g=(c[e>>2]|0)>>>4;c[h>>2]=b;c[h+4>>2]=d;c[h+8>>2]=j;j=h+16|0;c[j>>2]=g;c[j+4>>2]=0;X0(190692,90828,h)|0}l=i;return}function ep(a){a=a|0;var d=0,e=0,f=0.0,g=0.0,i=0,j=0,k=0;j=4;i=B_(40)|0;c[i>>2]=0;g=+h[22908];o=0;f=+Z(1,a|0);d=o;o=0;if((d|0)!=0&(p|0)!=0){e=D3(c[d>>2]|0,i|0,j|0)|0;if(!e)bb(d|0,p|0);z=p}else e=-1;if((e|0)!=1){h[22908]=f;o=0;ia(100,a|0);d=o;o=0;if((d|0)!=0&(p|0)!=0){e=D3(c[d>>2]|0,i|0,j|0)|0;if(!e)bb(d|0,p|0);z=p}else e=-1;if((e|0)!=1){i=C3(184132,1,i|0,j|0)|0;j=z;o=0;e=o;o=0;if((e|0)!=0&(p|0)!=0){d=D3(c[e>>2]|0,i|0,j|0)|0;if(!d)bb(e|0,p|0);z=p}else d=-1;if((d|0)!=1)d=0;else d=z}else d=z}else d=z;while(1){if(d|0)break;o=0;ia(101,a|0);d=o;o=0;if((d|0)!=0&(p|0)!=0){e=D3(c[d>>2]|0,i|0,j|0)|0;if(!e)bb(d|0,p|0);z=p}else e=-1;if((e|0)==1){d=z;continue}o=0;$(22,a|0)|0;d=o;o=0;if((d|0)!=0&(p|0)!=0){e=D3(c[d>>2]|0,i|0,j|0)|0;if(!e)bb(d|0,p|0);z=p}else e=-1;if((e|0)==1){d=z;continue}if(b[(c[a+16>>2]|0)+136>>1]&14){o=0;ia(102,a|0);d=o;o=0;if((d|0)!=0&(p|0)!=0){e=D3(c[d>>2]|0,i|0,j|0)|0;if(!e)bb(d|0,p|0);z=p}else e=-1;if((e|0)==1){d=z;continue}}o=0;ja(22,a|0,0);d=o;o=0;if((d|0)!=0&(p|0)!=0){e=D3(c[d>>2]|0,i|0,j|0)|0;if(!e)bb(d|0,p|0);z=p}else e=-1;if((e|0)==1)d=z;else{k=12;break}}if((k|0)==12)h[22908]=g;C_(i|0);return}function fp(a){a=a|0;var d=0,e=0,f=0,g=0,h=0,i=0;i=l;l=l+16|0;g=i;e=a+16|0;f=b[(c[e>>2]|0)+136>>1]&14;d=f&65535;if((f&65535)>8){if(f<<16>>16==12){if(Vm(a,22,10)|0){c[46363]=2;h=5}}else h=5;do if((h|0)==5)if(!(b[(c[e>>2]|0)+136>>1]&1)){Xm(a,d)|0;break}else{Ow(0,90912,g)|0;d=2;break}while(0);c[46363]=0}if((c[46367]|0)<1)Xm(a,d)|0;l=i;return}function gp(a){a=a|0;var b=0.0,d=0.0,e=0;e=l;l=l+16|0;c[45704]=1;c[45705]=1;c[45707]=-1;c[45709]=50;h[22860]=0.0;h[22855]=0.0;h[22856]=1.0;c[45708]=JL(a,mx(a,0,90975,0)|0,600,0)|0;d=+KL(a,mx(a,0,90983,0)|0,.3,0.0);h[22857]=d;h[1371]=d;if(-1.0==-1.0)b=+KL(a,mx(a,0,90985,0)|0,-1.0,0.0);else b=-1.0;h[22858]=b;c[45706]=1;a=nm(a,2,182824)|0;c[45718]=a;if(!a){Ow(0,90988,e)|0;c[45706]=2}c[45734]=(O(c[45708]|0,c[45709]|0)|0)/100|0;d=+h[22857];h[22862]=d*d;if(c[45704]|0){b=+h[22860];if(b<=0.0){b=d*3.0;h[22860]=b}h[22861]=b*b}l=e;return}function hp(a,b){a=a|0;b=b|0;var d=0,e=0.0,f=0.0,g=0,i=0,j=0;j=l;l=l+16|0;d=j;g=c[c[(c[a+16>>2]|0)+140>>2]>>2]|0;i=ip(a,b)|0;jp(d,a,g);e=+h[d>>3];f=+h[d+8>>3];a:do if(!(c[45704]|0)){b=0;while(1){if((b|0)>=(c[45735]|0))break a;mp(a,+kp(b),g);b=b+1|0}}else{d=Ju($x(a)|0)|0;Ou(d,$x(a)|0);b=0;while(1){if((b|0)>=(c[45735]|0))break;lp(a,+kp(b),g,d);b=b+1|0}Qu(d)}while(0);b:do if(e!=0.0|f!=0.0){b=Ry(a)|0;while(1){if(!b)break b;g=c[(c[b+16>>2]|0)+132>>2]|0;h[g>>3]=+h[g>>3]+e;g=g+8|0;h[g>>3]=+h[g>>3]+f;b=Sy(a,b)|0}}while(0);if(i|0)np();l=j;return}function ip(a,b){a=a|0;b=b|0;var d=0.0,e=0,f=0,g=0,i=0,j=0;if(+h[22858]==-1.0){i=$x(a)|0;d=+h[22857];h[22858]=+h[22856]*.2*d*+C(+(+(i|0)));i=1}else{i=0;d=+h[22857]}g=c[45734]|0;h[b+8>>3]=+kp(g);h[b+16>>3]=d;h[b+24>>3]=+h[22855];e=c[45708]|0;a=e-g|0;c[b>>2]=a;f=c[45707]|0;do if((f|0)>-1){if((f|0)<=(g|0)){c[45735]=f;a=0;j=10;break}if((f|0)<=(e|0)){c[45735]=g;a=f-g|0;j=10}}else{c[45735]=g;j=10}while(0);if((j|0)==10)c[b+32>>2]=a;return i|0}function jp(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,i=0.0,j=0.0,k=0,l=0.0,m=0.0,n=0,o=0.0,p=0.0,q=0,r=0,s=0.0,t=0.0,u=0,v=0,w=0.0,x=0,y=0,z=0;v=$x(d)|0;x=c[(c[(c[d+16>>2]|0)+140>>2]|0)+4>>2]|0;u=Ry(d)|0;q=0;r=0;g=0;k=0;n=0;while(1){if(!u)break;f=c[u+16>>2]|0;if(!(a[f+119>>0]|0))f=r;else{f=c[f+132>>2]|0;i=+h[f>>3];if(!q){k=~~i;g=~~+h[f+8>>3];n=g;f=k}else{p=+(r|0);s=+h[f+8>>3];t=+(g|0);w=+(k|0);o=+(n|0);n=~~(s>o?s:o);f=~~(iw?i:w)}q=q+1|0}u=Sy(d,u)|0;r=f}i=+h[22857]*(+C(+(+(v-x|0)))+1.0);s=i*.6;h[22864]=s;h[22863]=s;if((q|0)!=1)if((q|0)>1){t=+(k+r|0)*.5;w=+(n+g|0)*.5;o=+(k-r|0);p=o*1.2;l=+(n-g|0);m=l*1.2;i=i*2.4*s;j=m*p/i;do if(!(j>=1.0)){if(j>0.0){i=+C(+j)*2.0;j=p/i;h[22863]=j;i=m/i;z=20;break}if(p>0.0){j=o*.6;h[22863]=j;i=i/p*.5;z=20;break}if(m>0.0){j=i/m*.5;h[22863]=j;i=l*.6;z=20}else{i=s;j=s}}else{j=o*.6;h[22863]=j;i=l*.6;z=20}while(0);if((z|0)==20)h[22864]=i;s=+K(+i,+j);j=j/+E(+s);h[22863]=j;i=i/+F(+s);h[22864]=i}else{t=0.0;w=0.0;j=s;i=s}else{t=+(r|0);w=+(g|0);j=s;i=s}h[22865]=j*j;h[22866]=i*i;if((c[45718]|0)==2)f=c[45706]|0;else{f=G1()|0;f=(db(0)|0)^f}h2(f);a:do if(!e){e=Ry(d)|0;if(!q)while(1){if(!e)break a;s=+h[22863];s=(+j2()*2.0+-1.0)*s;z=e+16|0;h[c[(c[z>>2]|0)+132>>2]>>3]=s;s=+h[22864];s=(+j2()*2.0+-1.0)*s;h[(c[(c[z>>2]|0)+132>>2]|0)+8>>3]=s;e=Sy(d,e)|0}while(1){if(!e)break a;f=e+16|0;g=c[f>>2]|0;if(!(a[g+119>>0]|0)){s=+h[22863];s=(+j2()*2.0+-1.0)*s;h[c[(c[f>>2]|0)+132>>2]>>3]=s;s=+h[22864];s=(+j2()*2.0+-1.0)*s;h[(c[(c[f>>2]|0)+132>>2]|0)+8>>3]=s}else{z=c[g+132>>2]|0;h[z>>3]=+h[z>>3]-t;z=z+8|0;h[z>>3]=+h[z>>3]-w}e=Sy(d,e)|0}}else{while(1){if(!(c[e>>2]|0))break;u=e+8|0;s=+E(+(+h[u>>3]))*+h[22863]+t;x=c[(c[e+4>>2]|0)+16>>2]|0;v=c[x+132>>2]|0;h[v>>3]=s;h[v+8>>3]=+F(+(+h[u>>3]))*+h[22864]+w;a[x+119>>0]=1;e=e+16|0}l=t*.1;m=w*.1;r=Ry(d)|0;while(1){if(!r)break a;q=r+16|0;e=c[q>>2]|0;if(!((c[(c[e+112>>2]|0)+8>>2]|0)==0?!(c[e+212>>2]|0):0))z=32;do if((z|0)==32){z=0;if(a[e+119>>0]|0){x=c[e+132>>2]|0;h[x>>3]=+h[x>>3]-t;x=x+8|0;h[x>>3]=+h[x>>3]-w;break}n=Ix(d,r)|0;e=0;j=0.0;i=0.0;while(1){if(!n)break;k=c[n>>2]&3;f=(k|0)==2?n:n+-48|0;g=c[f+40>>2]|0;k=(k|0)==3?n:n+48|0;do if((g|0)!=(c[k+40>>2]|0)?(y=c[(c[((g|0)==(r|0)?k:f)+40>>2]|0)+16>>2]|0,(a[y+119>>0]|0)!=0):0)if(!e){x=c[y+132>>2]|0;e=1;j=+h[x>>3];i=+h[x+8>>3];break}else{p=+(e|0);x=c[y+132>>2]|0;e=e+1|0;s=+(e|0);j=(+h[x>>3]+j*p)/s;i=(+h[x+8>>3]+i*p)/s;break}while(0);n=Jx(d,n,r)|0}do if((e|0)<=1)if((e|0)==1){f=c[q>>2]|0;e=c[f+132>>2]|0;h[e>>3]=j*.98+l;i=i*.9+m;break}else{i=+j2()*6.283185307179586;s=+j2()*.9;p=s*+h[22863]*+E(+i);f=c[q>>2]|0;e=c[f+132>>2]|0;h[e>>3]=p;i=+h[22864]*s*+F(+i);break}else{f=c[q>>2]|0;e=c[f+132>>2]|0;h[e>>3]=j}while(0);h[e+8>>3]=i;a[f+119>>0]=1}while(0);r=Sy(d,r)|0}}while(0);h[b>>3]=t;h[b+8>>3]=w;return}function kp(a){a=a|0;var b=0;b=c[45708]|0;return +(+h[22858]*+(b-a|0)/+(b|0))}function lp(a,b,d,e){a=a|0;b=+b;d=d|0;e=e|0;var f=0,g=0,i=0,j=0.0;if(!(b<=0.0)){Pu(e);f=Ry(a)|0;while(1){if(!f)break;i=c[f+16>>2]|0;g=(c[i+112>>2]|0)+16|0;c[g>>2]=0;c[g+4>>2]=0;c[g+8>>2]=0;c[g+12>>2]=0;i=c[i+132>>2]|0;j=+h[22860];g=~~+A(+(+h[i>>3]/j));Su(e,g,~~+A(+(+h[i+8>>3]/j)),f);f=Sy(a,f)|0}g=Ry(a)|0;while(1){if(!g)break;f=Dx(a,g)|0;while(1){if(!f)break;i=c[((c[f>>2]&3|0)==2?f:f+-48|0)+40>>2]|0;if((g|0)!=(i|0))pp(g,i,f);f=Fx(a,f)|0}g=Sy(a,g)|0}Uu(e,23);qp(a,b,d)}return}function mp(a,b,d){a=a|0;b=+b;d=d|0;var e=0,f=0,g=0;if(!(b<=0.0)){e=Ry(a)|0;while(1){if(!e)break;g=(c[(c[e+16>>2]|0)+112>>2]|0)+16|0;c[g>>2]=0;c[g+4>>2]=0;c[g+8>>2]=0;c[g+12>>2]=0;e=Sy(a,e)|0}g=Ry(a)|0;while(1){if(!g)break;else e=g;while(1){e=Sy(a,e)|0;if(!e)break;op(g,e)}e=Dx(a,g)|0;while(1){if(!e)break;f=c[((c[e>>2]&3|0)==2?e:e+-48|0)+40>>2]|0;if((g|0)!=(f|0))pp(g,f,e);e=Fx(a,e)|0}g=Sy(a,g)|0}qp(a,b,d)}return}function np(){h[22858]=-1.0;return}function op(a,b){a=a|0;b=b|0;var d=0.0,e=0.0,f=0,g=0;g=c[(c[b+16>>2]|0)+132>>2]|0;f=c[(c[a+16>>2]|0)+132>>2]|0;d=+h[g>>3]-+h[f>>3];e=+h[g+8>>3]-+h[f+8>>3];rp(a,b,d,e,e*e+d*d);return}function pp(a,b,d){a=a|0;b=b|0;d=d|0;var e=0.0,f=0.0,g=0.0,i=0.0,j=0,k=0;j=b+16|0;k=c[(c[j>>2]|0)+132>>2]|0;a=a+16|0;b=c[(c[a>>2]|0)+132>>2]|0;e=+h[k>>3]-+h[b>>3];f=+h[k+8>>3]-+h[b+8>>3];g=e;i=f;e=e*e;f=f*f;while(1){e=e+f;if(!(e==0.0))break;e=+(5-((f2()|0)%10|0)|0);f=+(5-((f2()|0)%10|0)|0);g=e;i=f;e=e*e;f=f*f}f=+C(+e);b=c[d+16>>2]|0;e=+h[b+128>>3];if(!(c[45705]|0))e=e*f/+h[b+136>>3];else e=(f-+h[b+136>>3])*e/f;g=e*g;k=c[(c[j>>2]|0)+112>>2]|0;j=k+16|0;h[j>>3]=+h[j>>3]-g;i=e*i;k=k+24|0;h[k>>3]=+h[k>>3]-i;k=c[(c[a>>2]|0)+112>>2]|0;j=k+16|0;h[j>>3]=+h[j>>3]+g;k=k+24|0;h[k>>3]=+h[k>>3]+i;return}function qp(b,d,e){b=b|0;d=+d;e=e|0;var f=0.0,g=0.0,i=0.0,j=0.0,k=0,l=0,m=0,n=0,o=0.0;o=d*d;n=(e|0)==0;m=Ry(b)|0;while(1){if(!m)break;l=c[m+16>>2]|0;if(!(a[l+119>>0]&2)){k=c[l+112>>2]|0;f=+h[k+16>>3];i=+h[k+24>>3];g=i*i+f*f;if(g>2]|0;j=+h[e>>3]+f;f=+h[e+8>>3]+i}else{g=d/+C(+g);e=c[l+132>>2]|0;j=+h[e>>3]+g*f;f=+h[e+8>>3]+g*i}do if(!n){g=+C(+(f*f/+h[22866]+j*j/+h[22865]));if((c[k+8>>2]|0)==0?(c[l+212>>2]|0)==0:0){h[e>>3]=j/g;f=f/g;break}if(!(g>=1.0)){h[e>>3]=j;break}else{h[e>>3]=j*.95/g;f=f*.95/g;break}}else h[e>>3]=j;while(0);h[e+8>>3]=f}m=Sy(b,m)|0}return}function rp(a,b,d,e,f){a=a|0;b=b|0;d=+d;e=+e;f=+f;var g=0.0,i=0,j=0;g=d;d=f;while(1){if(!(d==0.0))break;d=+(5-((f2()|0)%10|0)|0);e=+(5-((f2()|0)%10|0)|0);g=d;d=e*e+d*d}if(!(c[45705]|0))d=+h[22862]/d;else{f=+C(+d);d=+h[22862]/(f*d)}j=c[a+16>>2]|0;a=c[j+112>>2]|0;if(((c[a+8>>2]|0)==0?(c[j+212>>2]|0)==0:0)?(i=c[b+16>>2]|0,(c[(c[i+112>>2]|0)+8>>2]|0)==0):0)d=(c[i+212>>2]|0)==0?d*10.0:d;f=d*g;j=c[(c[b+16>>2]|0)+112>>2]|0;b=j+16|0;h[b>>3]=+h[b>>3]+f;g=d*e;j=j+24|0;h[j>>3]=+h[j>>3]+g;j=a+16|0;h[j>>3]=+h[j>>3]-f;j=a+24|0;h[j>>3]=+h[j>>3]-g;return}function sp(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;f=c[b+8>>2]|0;g=c[b>>2]|0;e=c[b+4>>2]|0;b=f;while(1){if(!b)break;a=f;while(1){if(!a)break;if((b|0)!=(a|0))op(c[b>>2]|0,c[a>>2]|0);a=c[a+4>>2]|0}b=c[b+4>>2]|0}h=g+-1|0;a=e+-1|0;tp(d,h,a,f);tp(d,h,e,f);b=e+1|0;tp(d,h,b,f);tp(d,g,a,f);tp(d,g,b,f);g=g+1|0;tp(d,g,a,f);tp(d,g,e,f);tp(d,g,b,f);return 0}function tp(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0.0,g=0.0,i=0.0,j=0,k=0,l=0,m=0;a=Vu(a,b,d)|0;if((e|0)!=0&(a|0)!=0){k=a+8|0;do{d=c[e>>2]|0;j=d+16|0;a=k;while(1){a=c[a>>2]|0;if(!a)break;b=c[a>>2]|0;m=c[(c[b+16>>2]|0)+132>>2]|0;l=c[(c[j>>2]|0)+132>>2]|0;f=+h[m>>3]-+h[l>>3];g=+h[m+8>>3]-+h[l+8>>3];i=g*g+f*f;if(i<+h[22861])rp(d,b,f,g,i);a=a+4|0}e=c[e+4>>2]|0}while((e|0)!=0)}return}function up(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0;h=l;l=l+16|0;g=h;e=wx(b,91095)|0;if(0)D1(91032,8,1,c[15686]|0)|0;if(!((e|0)!=0?(a[e>>0]|0)!=0:0))e=91041;f=z$(e,58)|0;do if(!f)f=0;else{if((f|0)!=(e|0)?((a[e>>0]|0)+-48|0)>>>0>=10:0){f=0;break}i=$1(e)|0;e=f+1|0;f=(i|0)>0?i:0}while(0);if(0){i=c[15686]|0;c[g>>2]=f;c[g+4>>2]=e;f1(i,91049,g)|0}if(!((f|0)!=0?!(vp(b,d,f)|0):0))rq(b,e)|0;l=h;return}function vp(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,i=0,j=0,k=0,m=0.0,n=0.0,o=0.0,p=0.0,q=0.0,r=0,s=0,t=0;t=l;l=l+64|0;r=t;j=t+40|0;s=$x(b)|0;k=ay(b)|0;pq(j,b);c[46072]=c[j>>2];c[46073]=c[j+4>>2];c[46074]=c[j+8>>2];if(a[184296]|0){g[46072]=+g[46072]*.013888888888888888;g[46073]=+g[46073]*.013888888888888888}f=wp(b)|0;a:do if(!f)f=0;else{j=r;i=j+40|0;do{c[j>>2]=c[d>>2];j=j+4|0;d=d+4|0}while((j|0)<(i|0));j=r+16|0;q=+h[j>>3];o=+(k|0)*2.0;p=1.0/+(O(s+-1|0,s)|0);i=0;n=q;while(1){if(!((f|0)!=0&(i|0)<(e|0)))break a;xp(s,r);m=+h[22868]*+h[170];h[22869]=m;h[22870]=o*m*p;d=0;while(1){if((d|0)>=(c[45742]|0))break;m=+yp(d);if(m<=0.0)break;f=zp(b,m)|0;if(!f){f=0;break}else d=d+1|0}m=n+q;h[j>>3]=m;i=i+1|0;n=m}}while(0);l=t;return f|0}function wp(a){a=a|0;var b=0,c=0,d=0,e=0;b=0;e=Ry(a)|0;while(1){if(!e)break;else d=e;while(1){c=Sy(a,d)|0;if(!c)break;d=c;b=(Cp(e,c)|0)+b|0}e=Sy(a,e)|0}return b|0}function xp(a,b){a=a|0;b=b|0;var d=0.0,e=0.0,f=0.0;e=+h[b+16>>3];h[171]=e;c[344]=c[b>>2];f=+h[b+8>>3];h[22872]=f;c[45742]=c[b+32>>2];d=+h[b+24>>3];if(d>0.0)h[170]=d;h[22868]=e*e;if(f==0.0)h[22872]=+C(+(+(a|0)))*.2*e;return}function yp(a){a=a|0;var b=0;b=c[344]|0;return +(+h[22872]*+(b-a|0)/+(b|0))}function zp(b,d){b=b|0;d=+d;var e=0,f=0,g=0,i=0.0,j=0,k=0.0,l=0.0,m=0.0;e=Ry(b)|0;while(1){if(!e)break;j=(c[(c[e+16>>2]|0)+112>>2]|0)+16|0;c[j>>2]=0;c[j+4>>2]=0;c[j+8>>2]=0;c[j+12>>2]=0;e=Sy(b,e)|0}e=0;j=Ry(b)|0;while(1){if(!j)break;else g=j;while(1){f=Sy(b,g)|0;if(!f)break;g=f;e=(Ap(j,f)|0)+e|0}f=Dx(b,j)|0;while(1){if(!f)break;Bp(j,c[((c[f>>2]&3|0)==2?f:f+-48|0)+40>>2]|0);f=Fx(b,f)|0}j=Sy(b,j)|0}a:do if(!e)e=0;else{m=d*d;g=Ry(b)|0;while(1){if(!g)break a;f=c[g+16>>2]|0;if((a[f+119>>0]|0)!=3){j=c[f+112>>2]|0;k=+h[j+16>>3];i=+h[j+24>>3];l=i*i+k*k;if(l>2]|0;h[f>>3]=+h[f>>3]+k}else{l=+C(+l);f=c[f+132>>2]|0;h[f>>3]=+h[f>>3]+k*d/l;i=i*d/l}j=f+8|0;h[j>>3]=+h[j>>3]+i}g=Sy(b,g)|0}}while(0);return e|0}function Ap(a,b){a=a|0;b=b|0;var d=0.0,e=0.0,f=0,g=0;g=c[(c[b+16>>2]|0)+132>>2]|0;f=c[(c[a+16>>2]|0)+132>>2]|0;d=+h[g>>3]-+h[f>>3];e=+h[g+8>>3]-+h[f+8>>3];return Ep(a,b,d,e,e*e+d*d)|0}function Bp(a,b){a=a|0;b=b|0;var d=0.0,e=0.0,f=0,g=0.0,i=0,j=0.0,k=0.0,l=0,m=0;if(!(Cp(a,b)|0)){i=c[b+16>>2]|0;m=c[i+132>>2]|0;f=c[a+16>>2]|0;l=c[f+132>>2]|0;e=+h[m>>3]-+h[l>>3];d=+h[m+8>>3]-+h[l+8>>3];g=+C(+(d*d+e*e));j=+Dp(a);j=+Dp(b)+j;k=g-j;g=k*k/((+h[171]+j)*g);e=g*e;b=c[i+112>>2]|0;a=b+16|0;h[a>>3]=+h[a>>3]-e;d=g*d;b=b+24|0;h[b>>3]=+h[b>>3]-d;b=c[f+112>>2]|0;a=b+16|0;h[a>>3]=+h[a>>3]+e;b=b+24|0;h[b>>3]=+h[b>>3]+d}return}function Cp(b,d){b=b|0;d=d|0;var e=0.0,f=0.0,i=0.0,j=0.0,k=0,l=0;k=c[d+16>>2]|0;l=c[k+132>>2]|0;d=c[b+16>>2]|0;b=c[d+132>>2]|0;i=+h[l>>3]-+h[b>>3];j=+h[l+8>>3]-+h[b+8>>3];j=j<0.0?-j:j;b=(a[184296]|0)==0;e=+h[d+32>>3];if(b){f=+g[46072];e=e*.5*f;f=+h[k+32>>3]*.5*f}else{f=+g[46072];e=e*.5+f;f=+h[k+32>>3]*.5+f}if(!((i<0.0?-i:i)<=f+e))d=0;else{e=+h[d+40>>3];if(b){i=+g[46073];f=e*.5*i;e=+h[k+40>>3]*.5*i}else{i=+g[46073];f=e*.5+i;e=+h[k+40>>3]*.5+i}d=j<=e+f&1}return d|0}function Dp(b){b=b|0;var d=0.0,e=0.0;b=c[b+16>>2]|0;d=+h[b+32>>3];if(!(a[184296]|0)){e=d*.5*+g[46072];d=+h[b+40>>3]*.5*+g[46073]}else{e=d*.5+ +g[46072];d=+h[b+40>>3]*.5+ +g[46073]}return +(+C(+(d*d+e*e)))}function Ep(a,b,d,e,f){a=a|0;b=b|0;d=+d;e=+e;f=+f;var g=0,i=0;while(1){if(!(f==0.0))break;f=+(5-((f2()|0)%10|0)|0);e=+(5-((f2()|0)%10|0)|0);d=f;f=e*e+f*f}g=Cp(a,b)|0;f=((g|0)==0?+h[22870]:+h[22869])/f;d=f*d;b=c[(c[b+16>>2]|0)+112>>2]|0;i=b+16|0;h[i>>3]=+h[i>>3]+d;f=f*e;b=b+24|0;h[b>>3]=+h[b>>3]+f;b=c[(c[a+16>>2]|0)+112>>2]|0;a=b+16|0;h[a>>3]=+h[a>>3]-d;b=b+24|0;h[b>>3]=+h[b>>3]-f;return g|0}function Fp(a){a=a|0;_M(a,2);b[(c[a+16>>2]|0)+176>>1]=2;c[46366]=2;Gp(a);return}function Gp(a){a=a|0;var b=0,d=0,e=0,f=0;e=tH(($x(a)|0)<<2)|0;b=tH((($x(a)|0)<<2)+4|0)|0;f=a+16|0;c[(c[f>>2]|0)+152>>2]=b;b=Ry(a)|0;d=0;while(1){if(!b)break;_l(b);c[(c[b+16>>2]|0)+112>>2]=e+(d<<2);c[(c[(c[f>>2]|0)+152>>2]|0)+(d<<2)>>2]=b;b=Sy(a,b)|0;d=d+1|0}d=Ry(a)|0;while(1){if(!d)break;b=Dx(a,d)|0;while(1){if(!b)break;Hp(b);b=Fx(a,b)|0}d=Sy(a,d)|0}return}function Hp(a){a=a|0;var b=0.0;zz(a,134378,176,1)|0;dM(a)|0;b=+KL(a,c[46404]|0,1.0,0.0);h[(c[a+16>>2]|0)+128>>3]=b;return}function Ip(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0;n=l;l=l+16|0;m=n+4|0;k=n;a[m>>0]=a[18492]|0;a[m+1>>0]=a[18493]|0;a[m+2>>0]=a[18494]|0;a[m+3>>0]=a[18495]|0;m=Wx(91072,m,0)|0;zz(m,91080,280,1)|0;c[(c[b+16>>2]|0)+140>>2]=m;e=Ry(b)|0;while(1){if(!e)break;f=e+16|0;if(!(c[c[(c[f>>2]|0)+112>>2]>>2]|0)){j=Jp(m,qy(e)|0,e)|0;c[c[(c[f>>2]|0)+112>>2]>>2]=j}e=Sy(b,e)|0}f=Ry(b)|0;while(1){if(!f)break;e=Dx(b,f)|0;while(1){if(!e)break;h=c[e>>2]&3;g=c[c[(c[(c[((h|0)==3?e:e+48|0)+40>>2]|0)+16>>2]|0)+112>>2]>>2]|0;h=c[c[(c[(c[((h|0)==2?e:e+-48|0)+40>>2]|0)+16>>2]|0)+112>>2]>>2]|0;if((g|0)!=(h|0))zz(Qx(m,g,h,0,1)|0,134378,176,1)|0;e=Fx(b,e)|0}f=Sy(b,f)|0}j=nD(m,k,0)|0;f=0;while(1){if((f|0)>=(c[k>>2]|0))break;h=c[j+(f<<2)>>2]|0;e=Ry(h)|0;while(1){if(!e)break;g=Dx(b,c[c[(c[e+16>>2]|0)+112>>2]>>2]|0)|0;while(1){if(!g)break;i=c[c[(c[(c[((c[g>>2]&3|0)==2?g:g+-48|0)+40>>2]|0)+16>>2]|0)+112>>2]>>2]|0;if((e|0)!=(i|0)){i=Qx(m,e,i,0,1)|0;zz(i,134378,176,1)|0;Ux(h,i,1)|0}g=Fx(b,g)|0}e=Sy(h,e)|0}f=f+1|0}e=Ry(m)|0;while(1){if(!e)break;f=Dx(m,e)|0;while(1){if(!f)break;b=tH(8)|0;c[(c[f+16>>2]|0)+120>>2]=b;f=Fx(m,f)|0}e=Sy(m,e)|0}c[d>>2]=c[k>>2];l=n;return j|0}function Jp(a,b,d){a=a|0;b=b|0;d=d|0;var e=0;b=$y(a,b,1)|0;zz(b,134365,304,1)|0;e=tH(40)|0;a=b+16|0;c[(c[a>>2]|0)+112>>2]=e;e=tH(c[46366]<<3)|0;a=c[a>>2]|0;c[a+132>>2]=e;e=c[d+16>>2]|0;h[a+88>>3]=+h[e+88>>3];h[a+96>>3]=+h[e+96>>3];h[a+80>>3]=+h[e+80>>3];c[c[a+112>>2]>>2]=d;return b|0}function Kp(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0;h=l;l=l+48|0;b=h+32|0;e=h;if($x(a)|0){g=Ip(a,b)|0;f=c[b>>2]|0;b=c[g>>2]|0;if((f|0)==1){Wu(b,a);Lp(c[g>>2]|0);sq(a)|0}else{d=c[b+60>>2]|0;WD(a,2,8,e)|0;b=0;while(1){if((b|0)>=(f|0))break;i=c[g+(b<<2)>>2]|0;Wu(i,a);sq(i)|0;b=b+1|0}VD(f,g,d,e)|0;b=0;while(1){if((b|0)>=(f|0))break;Lp(c[g+(b<<2)>>2]|0);b=b+1|0}}C_(g)}l=h;return}function Lp(a){a=a|0;var b=0,d=0,e=0;b=Ry(a)|0;while(1){if(!b)break;d=c[b+16>>2]|0;e=c[d+132>>2]|0;d=c[(c[(c[c[d+112>>2]>>2]|0)+16>>2]|0)+132>>2]|0;h[d>>3]=+h[e>>3];h[d+8>>3]=+h[e+8>>3];b=Sy(a,b)|0}return}function Mp(a){a=a|0;if($x(a)|0){Fp(a);Kp(a);C_(c[(c[(Ry(a)|0)+16>>2]|0)+112>>2]|0);gn(a);dJ(a)}return}function Np(a){a=a|0;var b=0,d=0,e=0;b=Ry(a)|0;if(b|0){e=a+16|0;Op(c[(c[e>>2]|0)+140>>2]|0);while(1){if(!b)break;d=Dx(a,b)|0;while(1){if(!d)break;IM(d);d=Fx(a,d)|0}GM(b);b=Sy(a,b)|0}C_(c[(c[e>>2]|0)+152>>2]|0);if((ez(a)|0)!=(a|0))Fz(a,0,134401)}return}function Op(a){a=a|0;var b=0,d=0;d=Ry(a)|0;while(1){if(!d)break;b=Dx(a,d)|0;while(1){if(!b)break;C_(c[(c[b+16>>2]|0)+120>>2]|0);b=Fx(a,b)|0}b=d+16|0;C_(c[(c[b>>2]|0)+112>>2]|0);C_(c[(c[b>>2]|0)+132>>2]|0);d=Sy(a,d)|0}_x(a)|0;return}function Pp(a){a=a|0;var b=0,d=0,e=0.0,f=0,g=0.0,i=0.0,j=0.0,k=0,m=0,n=0,o=0.0,p=0.0;m=l;l=l+16|0;k=m;a:do if(Qp(a,k)|0){b=c[(c[(Ry(a)|0)+16>>2]|0)+132>>2]|0;g=+h[b>>3];e=+h[b+8>>3];b=Ry(a)|0;while(1){if(!b)break;f=c[(c[b+16>>2]|0)+132>>2]|0;h[f>>3]=+h[f>>3]-g;f=f+8|0;h[f>>3]=+h[f>>3]-e;b=Sy(a,b)|0}b=(g!=0.0|e!=0.0)&1;d=Ry(a)|0;while(1){if(!d)break a;f=Dx(a,d)|0;if(f|0)break;d=Sy(a,d)|0}n=c[f>>2]&3;d=c[(c[(c[((n|0)==2?f:f+-48|0)+40>>2]|0)+16>>2]|0)+132>>2]|0;f=c[(c[(c[((n|0)==3?f:f+48|0)+40>>2]|0)+16>>2]|0)+132>>2]|0;i=+h[f+8>>3];j=+h[f>>3];e=+K(+(+h[d+8>>3]-i),+(+h[d>>3]-j));e=+h[k>>3]-e;h[k>>3]=e;if(e!=0.0){g=+E(+e);e=+F(+e);b=Ry(a)|0;while(1){if(!b){b=1;break a}k=c[(c[b+16>>2]|0)+132>>2]|0;p=+h[k>>3]-j;n=k+8|0;o=+h[n>>3]-i;h[k>>3]=p*g+j-o*e;h[n>>3]=p*e+i+o*g;b=Sy(a,b)|0}}}else b=0;while(0);l=m;return b|0}function Qp(b,d){b=b|0;d=d|0;var e=0.0,f=0,g=0;g=l;l=l+16|0;f=g;b=wx(b,91085)|0;do if((b|0)!=0?(a[b>>0]|0)!=0:0){e=+b2(b,f);if((c[f>>2]|0)==(b|0))if(!((PL(b)|0)<<24>>24)){b=0;break}else e=0.0;while(1){if(!(e>180.0))break;e=e+-360.0}while(1){if(!(e<=-180.0))break;e=e+360.0}h[d>>3]=e*.017453292519943295;b=1}else b=0;while(0);l=g;return b|0}function Rp(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;d=wx(a,91095)|0;return Sp(a,(d|0)==0?(c|0?c:191979):d,b)|0}function Sp(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,i=0,j=0,k=0,m=0,n=0,o=0.0;n=l;l=l+32|0;m=n+16|0;j=n+8|0;i=n;if((d|0)!=0?(a[d>>0]|0)!=0:0){f=17792;while(1){g=c[f+4>>2]|0;if(!g)break;if(!(U$(d,g,c[f+8>>2]|0)|0)){k=6;break}f=f+16|0}if((k|0)==6){if(!(c[f+12>>2]|0)){c[i>>2]=g;Ow(0,91103,i)|0;f=17792}i=c[f>>2]|0;c[e>>2]=i;c[e+4>>2]=c[f+12>>2];if((i|0)==18)Tp(b,d+(c[f+8>>2]|0)|0,e)}if(!(c[f+4>>2]|0)){f=QL(d,63)|0;if(f<<24>>24==63){c[j>>2]=d;Ow(0,91145,j)|0;f=0}else f=f&255;f=(f|0)==0;c[e>>2]=f&1;f=f?91192:132627;k=15}}else{c[e>>2]=0;f=132627;k=15}if((k|0)==15)c[e+4>>2]=f;if(0){k=c[15686]|0;j=c[e+8>>2]|0;o=+h[e+16>>3];c[m>>2]=c[e+4>>2];c[m+4>>2]=j;h[m+8>>3]=o;f1(k,91200,m)|0}l=n;return e|0}function Tp(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0;e=l;l=l+16|0;f=e;g=e+4|0;c[f>>2]=g;f=(M1(b,134313,f)|0)>0;b=c[g>>2]|0;c[d+8>>2]=f&(b|0)>-1?b:1e3;h[d+16>>3]=+KL(a,mx(a,0,91236,0)|0,-4.0,-1.0e10);l=e;return}function Up(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0;h=l;l=l+16|0;g=h+8|0;f=h;do if(($x(a)|0)>=2){d=Pp(a)|0;d=(Vp(a)|0)+d|0;e=c[b>>2]|0;if(e){if(0){e=c[15686]|0;j=qy(a)|0;i=c[b+4>>2]|0;c[f>>2]=j;c[f+4>>2]=i;f1(e,91565,f)|0;e=c[b>>2]|0}if(e>>>0>2){switch(e|0){case 3:{e=Wq(a,1)|0;break}case 4:{e=Wq(a,0)|0;break}case 6:case 5:{e=0;break}case 10:case 9:case 7:case 8:case 14:case 13:case 11:case 12:{Gq(a,e)|0;e=0;break}case 15:{e=Wq(a,-1)|0;break}default:{c[g>>2]=c[b+4>>2];Ow(0,91588,g)|0;e=0}}d=e+d|0;break}if(Wp(a)|0){Xp();C_(c[46075]|0);c[46075]=0;break}Yp(a);if((c[b>>2]|0)==2)e=Zp()|0;else e=_p()|0;if(e|0)$p();Xp();C_(c[46075]|0);c[46075]=0;d=e+d|0}}else d=0;while(0);l=h;return d|0}function Vp(a){a=a|0;var b=0,d=0.0,e=0,f=0,g=0.0,i=0,j=0,k=0,m=0;m=l;l=l+48|0;i=m+24|0;f=m+16|0;j=m;b=wx(a,137660)|0;a:do if(((b|0)!=0?(k=j+8|0,c[f>>2]=j,c[f+4>>2]=k,e=M1(b,102477,f)|0,(e|0)!=0):0)?(g=+h[j>>3],!(+B(+g)<1.0e-09)):0){if((e|0)!=1){d=+h[k>>3];if(+B(+d)<1.0e-09){b=0;break}}else{h[k>>3]=g;d=g}if(!(d==1.0&g==1.0)){if(0){f=c[15686]|0;h[i>>3]=g;h[i+8>>3]=d;f1(f,91748,i)|0}b=Ry(a)|0;while(1){if(!b){b=1;break a}i=c[(c[b+16>>2]|0)+132>>2]|0;h[i>>3]=+h[i>>3]*+h[j>>3];i=i+8|0;h[i>>3]=+h[i>>3]*+h[k>>3];b=Sy(a,b)|0}}else b=0}else b=0;while(0);l=m;return b|0}function Wp(b){b=b|0;var d=0,e=0,f=0,i=0.0,j=0.0,k=0,m=0,n=0,o=0;n=l;l=l+16|0;k=n;c[46084]=$x(b)|0;tr();c[46099]=uH((c[46084]|0)*96|0)|0;f=Ry(b)|0;d=c[46099]|0;pq(k,b);i=+g[k>>2];j=+g[k+4>>2];k=(a[k+8>>0]|0)==0;j=k?j:j*.013888888888888888;i=k?i:i*.013888888888888888;k=k?2:1;e=0;while(1){if((e|0)>=(c[46084]|0)){d=0;break}o=c[(c[f+16>>2]|0)+132>>2]|0;h[d+8>>3]=+h[o>>3];h[d+16>>3]=+h[o+8>>3];if(mb[k&3](d+40|0,f,i,j)|0){m=4;break}c[d+24>>2]=e;c[d+28>>2]=1;c[d>>2]=f;c[d+88>>2]=0;d=d+96|0;e=e+1|0;f=Sy(b,f)|0}if((m|0)==4){C_(c[46099]|0);c[46099]=0;d=1}l=n;return d|0}function Xp(){var a=0,b=0;a=c[46099]|0;b=0;while(1){if((b|0)>=(c[46084]|0))break;ot(a+40|0);a=a+96|0;b=b+1|0}nt();Vr();C_(c[46099]|0);return}function Yp(b){b=b|0;var d=0,e=0,f=0,g=0.0,i=0.0,j=0.0,k=0.0,m=0,n=0,o=0,p=0,q=0.0,r=0.0,s=0.0,t=0.0;o=l;l=l+32|0;m=o+16|0;n=o;p=c[46099]|0;i=+h[p+8>>3];k=+h[p+16>>3];f=c[46084]|0;d=p;e=1;g=+h[p+40>>3]+i;i=+h[p+56>>3]+i;j=+h[p+48>>3]+k;k=+h[p+64>>3]+k;while(1){if((e|0)>=(f|0))break;s=+h[d+104>>3];q=+h[d+112>>3];t=+h[d+136>>3]+s;r=+h[d+144>>3]+q;s=+h[d+152>>3]+s;q=+h[d+160>>3]+q;d=d+96|0;e=e+1|0;g=ti?s:i;j=rk?q:k}d=wx(b,91688)|0;if(d|0?a[d>>0]|0:0)h[173]=+a2(d);s=+h[173];t=s*(k-j);s=s*(i-g);h[m>>3]=g-s;h[m+8>>3]=j-t;h[n>>3]=s+i;h[n+8>>3]=t+k;hq(m,n);l=o;return}function Zp(){var a=0,b=0,d=0,e=0;d=l;l=l+16|0;b=d;if(aq(0)|0){bq();a=0;do{oq();a=a+1|0}while((aq(a)|0)!=0);if(!0)a=1;else{e=c[15686]|0;c[b>>2]=a;f1(e,91616,b)|0;a=1}}else a=0;l=d;return a|0}function _p(){var a=0,b=0,d=0,e=0,f=0,g=0,h=0,i=0;i=l;l=l+16|0;h=i+8|0;g=i;b=aq(0)|0;if(!b)a=0;else{bq();cq(0);Xt(0,1);a=0;e=0;d=0;while(1){eq();d=d+1|0;f=aq(d)|0;if(!f)break;b=(f|0)<(b|0)?0:e+1|0;c[46076]=1;if(b){fq();a=a+1|0}cq(1);Xt(0,1);e=b;b=f}if(0){f=c[15686]|0;c[g>>2]=d;f1(f,91616,g)|0;c[h>>2]=a;f1(f,91643,h)|0}gq();a=1}l=i;return a|0}function $p(){var a=0,b=0,d=0,e=0;d=c[46084]|0;a=c[46099]|0;b=0;while(1){if((b|0)>=(d|0))break;e=c[(c[(c[a>>2]|0)+16>>2]|0)+132>>2]|0;h[e>>3]=+h[a+8>>3];h[e+8>>3]=+h[a+16>>3];a=a+96|0;b=b+1|0}return}function aq(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0;q=l;l=l+48|0;o=q+24|0;n=q+8|0;p=q;d=c[46099]|0;e=c[46084]|0;b=0;while(1){if((b|0)>=(e|0)){f=0;b=0;break}c[d+(b*96|0)+32>>2]=0;b=b+1|0}a:while(1){if((b|0)>=(e+-1|0))break;m=d+96|0;b=b+1|0;j=d+8|0;k=d+40|0;i=d+32|0;g=m;h=b;while(1){if((h|0)>=(e|0)){d=m;continue a}e=g+8|0;c[n>>2]=c[j>>2];c[n+4>>2]=c[j+4>>2];c[n+8>>2]=c[j+8>>2];c[n+12>>2]=c[j+12>>2];c[o>>2]=c[e>>2];c[o+4>>2]=c[e+4>>2];c[o+8>>2]=c[e+8>>2];c[o+12>>2]=c[e+12>>2];if(!(xt(n,k,o,g+40|0)|0))d=f;else{c[i>>2]=1;c[g+32>>2]=1;d=f+1|0}g=g+96|0;h=h+1|0;f=d;e=c[46084]|0}}if(0>1){o=c[15686]|0;c[p>>2]=a;c[p+4>>2]=f;f1(o,91669,p)|0}l=q;return f|0}function bq(){var a=0,b=0,d=0,e=0.0,f=0,g=0.0,i=0,j=0,k=0,l=0,m=0,n=0;mq();k=c[46078]|0;l=c[46099]|0;a=c[46075]|0;a:while(1){i=a;if(a>>>0>=k>>>0)break;b=a+4|0;if(b>>>0>=k>>>0){a=b;continue}f=c[b>>2]|0;d=c[a>>2]|0;g=+h[d>>3];if(+h[f>>3]!=g){a=b;continue}e=+h[d+8>>3];if(+h[f+8>>3]!=e){a=b;continue}j=a+8|0;f=2;while(1){if(j>>>0>=k>>>0)break;d=c[j>>2]|0;if(!(+h[d>>3]==g)){m=11;break}if(!(+h[d+8>>3]==e)){m=11;break}j=j+4|0;f=f+1|0}if((m|0)==11){m=0;d=c[j>>2]|0;if(+h[d+8>>3]==e){e=(+h[d>>3]-g)/+(f|0);d=(((j>>>0>b>>>0?j:b)+-1+(0-i)|0)>>>2)+1|0;a=1;while(1){if((a|0)==(d|0)){a=j;continue a}i=c[b>>2]|0;h[i>>3]=+h[i>>3]+e*+(a|0);a=a+1|0;b=b+4|0}}}while(1){if(b>>>0>=j>>>0){a=j;continue a}f=c[a>>2]|0;n=c[f+16>>2]|0;i=c[b>>2]|0;d=c[i+16>>2]|0;h[i>>3]=(+h[l+(n*96|0)+56>>3]-+h[l+(n*96|0)+40>>3]+ +h[l+(d*96|0)+56>>3]-+h[l+(d*96|0)+40>>3])*.5+ +h[f>>3];b=b+4|0;a=a+4|0}}return}function cq(a){a=a|0;var b=0.0,d=0.0,e=0.0,f=0,g=0.0,i=0,j=0,k=0;if(a|0)mq();i=c[46075]|0;j=c[i>>2]|0;d=+h[j>>3];h[22887]=d;k=c[46084]|0;f=1;g=+h[j>>3];while(1){if((f|0)>=(k|0))break;a=c[i+(f<<2)>>2]|0;b=+h[a>>3];if(b>3]}else{e=b;b=d}f=f+1|0;d=b;g=e>g?e:g}e=+h[j+8>>3];h[22888]=e;h[22890]=+h[(c[i+(k+-1<<2)>>2]|0)+8>>3]-e;h[22889]=g-d;return}function dq(){var a=0;a=c[46077]|0;if(a>>>0<(c[46078]|0)>>>0){c[46077]=a+4;a=c[a>>2]|0}else a=0;return a|0}function eq(){var a=0,b=0,d=0;a=c[46099]|0;iq();d=(c[46076]|0)==0;b=0;while(1){if((b|0)>=(c[46084]|0))break;if(!(d?!(c[a+32>>2]|0):0))jq(a);a=a+96|0;b=b+1|0}return}function fq(){var a=0,b=0,c=0,d=0.0,e=0.0,f=0.0,g=0.0,i=0.0,j=0.0;a=l;l=l+32|0;c=a+16|0;b=a;j=+h[22883];i=+h[22881];g=+h[22884];e=+h[22882];d=(i-e)*.05;f=(j-g)*.05;h[b>>3]=f+j;h[b+8>>3]=i+d;h[c>>3]=g-f;h[c+8>>3]=e-d;hq(c,b);l=a;return}function gq(){Gr();Ir();Jt();mr();return}function hq(a,b){a=a|0;b=b|0;var c=0.0,d=0.0,e=0.0,f=0.0;f=+h[a>>3];h[22884]=f;e=+h[b>>3];h[22883]=e;c=+h[a+8>>3];h[22882]=c;d=+h[b+8>>3];h[22881]=d;h[22873]=f;h[22875]=f;h[22877]=e;h[22879]=e;h[22880]=d;h[22876]=d;h[22878]=c;h[22874]=c;return}function iq(){var a=0,b=0.0,d=0.0,e=0.0,f=0.0,g=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0.0,s=0.0,t=0.0,u=0.0;m=c[46099]|0;g=m+8|0;f=+ur(g,182984);e=+ur(g,183e3);d=+ur(g,183016);a=1;b=+ur(g,183032);g=m;i=m;j=m;k=m;while(1){l=m+96|0;if((a|0)>=(c[46084]|0))break;q=m+104|0;r=+ur(q,182984);n=r>2]|0;o=k+8|0;b=0.0;d=0.0;e=0.0;k=c[k>>2]|0;while(1){f=c[k>>2]|0;if(!f)break;s=k+8|0;r=f+8|0;c[g>>2]=c[o>>2];c[g+4>>2]=c[o+4>>2];c[g+8>>2]=c[o+8>>2];c[g+12>>2]=c[o+12>>2];c[i>>2]=c[s>>2];c[i+4>>2]=c[s+4>>2];c[i+8>>2]=c[s+8>>2];c[i+12>>2]=c[s+12>>2];c[j>>2]=c[r>>2];c[j+4>>2]=c[r+4>>2];c[j+8>>2]=c[r+8>>2];c[j+12>>2]=c[r+12>>2];q=+kq(g,i,j);c[g>>2]=c[o>>2];c[g+4>>2]=c[o+4>>2];c[g+8>>2]=c[o+8>>2];c[g+12>>2]=c[o+12>>2];c[i>>2]=c[s>>2];c[i+4>>2]=c[s+4>>2];c[i+8>>2]=c[s+8>>2];c[i+12>>2]=c[s+12>>2];c[j>>2]=c[r>>2];c[j+4>>2]=c[r+4>>2];c[j+8>>2]=c[r+8>>2];c[j+12>>2]=c[r+12>>2];lq(g,i,j,m,n);b=+h[n>>3]*q+b;d=+h[m>>3]*q+d;e=q+e;k=f}h[a+8>>3]=d/e;h[a+16>>3]=b/e;l=p;return}function kq(a,b,c){a=a|0;b=b|0;c=c|0;var d=0.0,e=0.0,f=0.0;d=+h[b+8>>3];f=+h[c+8>>3];e=+h[a+8>>3];return +(+B(+((f-e)*+h[b>>3]+(d-f)*+h[a>>3]+ +h[c>>3]*(e-d)))*.5)}function lq(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;h[d>>3]=(+h[b>>3]+ +h[a>>3]+ +h[c>>3])*.3333333333333333;h[e>>3]=(+h[b+8>>3]+ +h[a+8>>3]+ +h[c+8>>3])*.3333333333333333;return}function mq(){var a=0,b=0,d=0,e=0;a=c[46075]|0;if(!a){a=uH(c[46084]<<2)|0;c[46075]=a;c[46078]=a+(c[46084]<<2)}d=c[46099]|0;Vr();e=c[46084]|0;b=0;while(1){if((b|0)>=(e|0))break;c[a>>2]=d+8;c[d+88>>2]=0;c[d+28>>2]=1;d=d+96|0;a=a+4|0;b=b+1|0}Z0(c[46075]|0,e,4,68);c[46077]=c[46075];return}function nq(a,b){a=a|0;b=b|0;var d=0.0,e=0.0;a=c[a>>2]|0;b=c[b>>2]|0;d=+h[a+8>>3];e=+h[b+8>>3];if(!(de)){e=+h[a>>3];d=+h[b>>3];if(ed&1}else a=1;else a=-1;return a|0}function oq(){var a=0,b=0,d=0,e=0;d=c[46084]|0;a=0;b=c[46099]|0;while(1){if((a|0)>=(d|0))break;e=b+8|0;h[e>>3]=+h[e>>3]*1.05;e=b+16|0;h[e>>3]=+h[e>>3]*1.05;a=a+1|0;b=b+96|0}return}function pq(b,e){b=b|0;e=e|0;var f=0,i=0,j=0,k=0,m=0,n=0.0,o=0.0;m=l;l=l+48|0;k=m;j=m+24|0;f=wx(e,91700)|0;if(!((f|0)!=0?(qq(f,j,1.0,0.0)|0)!=0:0))i=3;do if((i|0)==3){e=wx(e,91704)|0;if(e|0?qq(e,j,.800000011920929,4.0)|0:0)break;g[j+4>>2]=4.0;g[j>>2]=4.0;a[j+8>>0]=1}while(0);if(0){i=c[15686]|0;o=+g[j>>2];n=+g[j+4>>2];c[k>>2]=d[j+8>>0];h[k+8>>3]=o;h[k+16>>3]=n;f1(i,91709,k)|0};c[b>>2]=c[j>>2];c[b+4>>2]=c[j+4>>2];c[b+8>>2]=c[j+8>>2];l=m;return}function qq(b,d,e,f){b=b|0;d=d|0;e=+e;f=+f;var h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0.0;o=l;l=l+16|0;m=o;j=o+12|0;k=o+8|0;while(1){h=a[b>>0]|0;i=b+1|0;if(!(A$(h<<24>>24)|0))break;else b=i}p=h<<24>>24==43;h=d+8|0;a[h>>0]=p&1;c[m>>2]=j;c[m+4>>2]=k;switch(M1(p?i:b,91742,m)|0){case 0:{b=0;break}case 1:{c[k>>2]=c[j>>2];n=5;break}default:n=5}if((n|0)==5){do if(a[h>>0]|0){if(e>1.0){q=+g[j>>2]/e;g[d>>2]=q>f?f:q;e=+g[k>>2]/e;e=e>f?f:e;break}if(e<1.0){q=+g[j>>2]/e;g[d>>2]=q>2]/e;e=e>2]=c[j>>2];e=+g[k>>2];break}}else{g[d>>2]=+g[j>>2]/e+1.0;e=+g[k>>2]/e+1.0}while(0);g[d+4>>2]=e;b=1}l=o;return b|0}function rq(a,b){a=a|0;b=b|0;var c=0,d=0;d=l;l=l+32|0;c=d;if(($x(a)|0)<2)a=0;else{Sp(a,b,c)|0;a=Up(a,c)|0}l=d;return a|0}function sq(a){a=a|0;return rq(a,wx(a,91095)|0)|0}function tq(b,e){b=b|0;e=e|0;var f=0,i=0,j=0,k=0,m=0,n=0.0,o=0.0;m=l;l=l+48|0;k=m;j=m+24|0;f=wx(e,91704)|0;if(!((f|0)!=0?(qq(f,j,1.0,0.0)|0)!=0:0))i=3;do if((i|0)==3){e=wx(e,91700)|0;if(e|0?qq(e,j,1.25,3.200000047683716)|0:0)break;g[j+4>>2]=3.200000047683716;g[j>>2]=3.200000047683716;a[j+8>>0]=1}while(0);if(0){i=c[15686]|0;o=+g[j>>2];n=+g[j+4>>2];c[k>>2]=d[j+8>>0];h[k+8>>3]=o;h[k+16>>3]=n;f1(i,91771,k)|0};c[b>>2]=c[j>>2];c[b+4>>2]=c[j+4>>2];c[b+8>>2]=c[j+8>>2];l=m;return}function uq(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0;p=l;l=l+16|0;o=p;h=0;while(1){if((h|0)>=(d|0))break;c[e+(h<<2)>>2]=-1;h=h+1|0}c[e+(a<<2)>>2]=0;vq(f,a);a:do if(!(c[b+8>>2]|0)){h=2147483647;b:while(1){if(!((wq(f,o)|0)<<24>>24))break a;j=c[o>>2]|0;h=c[e+(j<<2)>>2]|0;i=b+(j*20|0)|0;j=b+(j*20|0)+4|0;k=h+1|0;a=1;while(1){if((a|0)>=(c[i>>2]|0))continue b;m=c[(c[j>>2]|0)+(a<<2)>>2]|0;n=e+(m<<2)|0;if((c[n>>2]|0)<0){c[n>>2]=k;xq(f,m)|0}a=a+1|0}}}else{h=2147483647;c:while(1){if(!((wq(f,o)|0)<<24>>24))break a;k=c[o>>2]|0;h=c[e+(k<<2)>>2]|0;i=b+(k*20|0)|0;j=b+(k*20|0)+4|0;k=b+(k*20|0)+8|0;a=1;while(1){if((a|0)>=(c[i>>2]|0))continue c;m=c[(c[j>>2]|0)+(a<<2)>>2]|0;n=e+(m<<2)|0;if((c[n>>2]|0)<0){c[n>>2]=h+~~+g[(c[k>>2]|0)+(a<<2)>>2];xq(f,m)|0}a=a+1|0}}}while(0);a=h+10|0;h=0;while(1){if((h|0)>=(d|0))break;i=e+(h<<2)|0;if((c[i>>2]|0)<0)c[i>>2]=a;h=h+1|0}l=p;return}function vq(a,b){a=a|0;b=b|0;c[c[a>>2]>>2]=b;c[a+12>>2]=0;c[a+8>>2]=1;return}function wq(a,b){a=a|0;b=b|0;var d=0,e=0;d=a+12|0;e=c[d>>2]|0;if((e|0)<(c[a+8>>2]|0)){a=c[a>>2]|0;c[d>>2]=e+1;c[b>>2]=c[a+(e<<2)>>2];a=1}else a=0;return a|0}function xq(a,b){a=a|0;b=b|0;var d=0,e=0;d=a+8|0;e=c[d>>2]|0;if((e|0)<(c[a+4>>2]|0)){a=c[a>>2]|0;c[d>>2]=e+1;c[a+(e<<2)>>2]=b;a=1}else a=0;return a|0}function yq(a,b){a=a|0;b=b|0;c[a>>2]=uH(b<<2)|0;c[a+4>>2]=b;c[a+8>>2]=0;c[a+12>>2]=0;return}function zq(a){a=a|0;C_(c[a>>2]|0);return}function Aq(a,b,d){a=a|0;b=b|0;d=d|0;var e=0.0,f=0,g=0,i=0;if(!0)g=0;else{D1(91804,25,1,c[15686]|0)|0;g=0}while(1){if((g|0)>=(a|0))break;i=b+(g<<2)|0;f=0;e=0.0;while(1){if((f|0)==(a|0))break;if((g|0)!=(f|0))e=+h[(c[i>>2]|0)+(f<<3)>>3]+e;f=f+1|0}h[(c[i>>2]|0)+(g<<3)>>3]=-e;g=g+1|0}return ws(b,d,a+-1|0)|0}function Bq(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,i=0,j=0,k=0,l=0.0;j=vn(b,b,0.0)|0;k=vn(b,b,0.0)|0;e=Ry(a)|0;while(1){if(!e)break;d=Ix(a,e)|0;while(1){if(!d)break;g=c[d>>2]&3;f=(c[c[((g|0)==3?d:d+48|0)+40>>2]>>2]|0)>>>4;g=(c[c[((g|0)==2?d:d+-48|0)+40>>2]>>2]|0)>>>4;if((f|0)!=(g|0)){l=-1.0/+h[(c[d+16>>2]|0)+136>>3];h[(c[j+(g<<2)>>2]|0)+(f<<3)>>3]=l;h[(c[j+(f<<2)>>2]|0)+(g<<3)>>3]=l}d=Jx(a,d,e)|0}e=Sy(a,e)|0}i=Aq(b,j,k)|0;a:do if(i|0){f=a+16|0;e=0;while(1){if((e|0)>=(b|0))break a;g=k+(e<<2)|0;d=0;while(1){if((d|0)==(b|0))break;a=c[g>>2]|0;h[(c[(c[(c[f>>2]|0)+160>>2]|0)+(e<<2)>>2]|0)+(d<<3)>>3]=+h[(c[k+(d<<2)>>2]|0)+(d<<3)>>3]+ +h[a+(e<<3)>>3]+ +h[a+(d<<3)>>3]*-2.0;d=d+1|0}e=e+1|0}}while(0);wn(j);wn(k);return i|0}function Cq(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=+e;f=f|0;var g=0.0,h=0.0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;s=l;l=l+16|0;j=s;n=d<<3;o=uH(n)|0;p=uH(n)|0;q=uH(n)|0;k=uH(n)|0;m=uH(n)|0;n=uH(n)|0;Os(d,c,n);Hs(d,n);Hs(d,b);Js(a,d,b,k);Ls(d,n,k,o);Os(d,o,p);i=f+-1|0;c=0;g=+Ps(d,o,o);while(1){if((c|0)>=(f|0)){c=0;break}if(!(+Qs(d,o)>e)){c=0;break}Js(a,d,p,q);h=+Ps(d,p,q);if(h==0.0){c=0;break}h=g/h;Ns(d,p,h,m);Ms(d,b,m,b);if((c|0)<(i|0)){Ns(d,q,h,q);Ls(d,o,q,o);h=+Ps(d,o,o);if(g==0.0){r=7;break}Ns(d,p,h/g,p);Ms(d,o,p,p);g=h}c=c+1|0}if((r|0)==7){Ow(1,91830,j)|0;c=1}C_(o);C_(p);C_(q);C_(k);C_(m);C_(n);l=s;return c|0}function Dq(a,b,c,d,e,f,g){a=a|0;b=b|0;c=c|0;d=d|0;e=+e;f=f|0;g=g|0;var h=0.0,i=0.0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;s=l;l=l+16|0;j=s;o=d<<3;p=uH(o)|0;q=uH(o)|0;k=uH(o)|0;m=uH(o)|0;n=uH(o)|0;o=uH(o)|0;Os(d,c,o);if(g<<24>>24){Hs(d,o);Hs(d,b)}Ks(a,d,b,m);Ls(d,o,m,p);Os(d,p,q);g=f+-1|0;c=0;h=+Ps(d,p,p);while(1){if((c|0)>=(f|0)){c=0;break}if(!(+Qs(d,p)>e)){c=0;break}Ks(a,d,q,k);i=+Ps(d,q,k);if(i==0.0){c=0;break}i=h/i;Ns(d,q,i,n);Ms(d,b,n,b);if((c|0)<(g|0)){Ns(d,k,i,k);Ls(d,p,k,p);i=+Ps(d,p,p);if(h==0.0){r=9;break}Ns(d,q,i/h,q);Ms(d,p,q,q);h=i}c=c+1|0}if((r|0)==9){Ow(1,91830,j)|0;c=1}C_(p);C_(q);C_(k);C_(m);C_(n);C_(o);l=s;return c|0}function Eq(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=+e;f=f|0;var g=0.0,h=0.0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0;q=l;l=l+16|0;j=q;k=d<<2;m=tH(k)|0;n=tH(k)|0;o=tH(k)|0;k=tH(k)|0;Ss(d,b);Ss(d,c);Ts(a,d,b,k);Ss(d,k);Us(d,c,k,m);Ys(d,m,n);i=f+-1|0;c=0;g=+Zs(d,m,m);while(1){if((c|0)>=(f|0)){c=0;break}if(!(+at(d,m)>e)){c=0;break}Ss(d,n);Ss(d,b);Ss(d,m);Ts(a,d,n,o);Ss(d,o);h=+Zs(d,n,o);if(h==0.0){c=0;break}h=g/h;Ws(d,b,h,n);if((c|0)<(i|0)){Ws(d,m,-h,o);h=+Zs(d,m,m);if(g==0.0){p=7;break}Xs(d,n,h/g,n);Vs(d,m,n,n);g=h}c=c+1|0}if((p|0)==7){Ow(1,91830,j)|0;c=1}C_(m);C_(n);C_(o);C_(k);l=q;return c|0}function Fq(a,b,d,e,f,i,j,k,m,n){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;i=i|0;j=j|0;k=k|0;m=m|0;n=+n;var o=0,p=0,q=0.0,r=0,s=0,t=0,u=0,v=0.0,w=0,x=0,y=0,z=0,A=0.0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0.0;M=l;l=l+48|0;F=M+24|0;E=M+16|0;D=M+8|0;C=M;J=M+40|0;K=M+36|0;H=M+32|0;s=j&4;c[J>>2]=0;c[K>>2]=0;a:do if(c[a+16>>2]|0){p=0;o=0;while(1){if((p|0)>=(b|0))break;t=c[a+(p*20|0)>>2]|0;u=a+(p*20|0)+16|0;r=1;while(1){if((r|0)>=(t|0))break;if(!(o<<24>>24))o=+g[(c[u>>2]|0)+(r<<2)>>2]!=0.0;else o=1;r=r+1|0;o=o&1}p=p+1|0}if(o<<24>>24){z=(s|0)!=0;if(z){r=e+4|0;b:do if((i|0)>2){o=i+-1|0;if((pn(a,b,d,r,f,o,j,k,15)|0)<0){o=-1;break a}p=e+(o<<2)|0;o=0;while(1){if((o|0)>=(b|0))break b;h[(c[p>>2]|0)+(o<<3)>>3]=+h[(c[r>>2]|0)+(o<<3)>>3];o=o+1|0}}while(0);y=c[e>>2]|0;w=c[r>>2]|0;if((jt(a,b,w,b)|0)==0?(jv(a,b,.01,.1,w,J,K,H)|0)==0:0){x=c[H>>2]|0;if((x|0)<1){o=pn(a,b,d,e,f,i,j,k,m)|0;break}c:do if(n>0.0){s=c[J>>2]|0;t=c[K>>2]|0;u=x+-1|0;q=0.0;r=0;while(1){if((r|0)>=(x|0))break c;o=c[t+(r<<2)>>2]|0;A=n-q-+h[w+(c[s+(o<<2)>>2]<<3)>>3]+ +h[w+(c[s+(o+-1<<2)>>2]<<3)>>3];q=(A<0.0?0.0:A)+q;if((r|0)<(u|0))p=c[t+(r+1<<2)>>2]|0;else p=b;while(1){if((o|0)>=(p|0))break;I=w+(c[s+(o<<2)>>2]<<3)|0;h[I>>3]=+h[I>>3]+q;o=o+1|0}r=r+1|0}}while(0);if((i|0)==2?(Pt(a,b,w,y,+h[22909])|0)!=0:0){p=0;o=-1}else L=33}else{p=0;o=-1}}else{jn(a,b,i,e,f)|0;if(!(jv(a,b,.01,.1,0,J,K,H)|0))L=33;else{p=0;o=-1}}d:do if((L|0)==33){if((b|0)==1){o=0;break a}I=uH(c[H>>2]<<2)|0;if(!m){o=0;break a}if(0)DL();switch(k|0){case 2:{if(0)D1(91878,24,1,c[15686]|0)|0;o=on(a,b)|0;L=46;break}case 1:{o=kn(a,b)|0;if(!o){Ow(0,91903,C)|0;Ow(3,91952,D)|0;L=47}else G=o;break}case 3:{if(0)D1(92005,21,1,c[15686]|0)|0;o=ln(a,b)|0;L=46;break}default:L=47}if((L|0)==46)if(!o)L=47;else G=o;if((L|0)==47){if(0)D1(92027,26,1,c[15686]|0)|0;G=nn(a,b)|0}if(0){a=c[15686]|0;h[E>>3]=+EL();f1(a,92054,E)|0;D1(92066,25,1,a)|0;DL()}a=b+-1|0;y=(O(a,b)|0)/2|0;E=y+b|0;e:do if(!z){q=1.0;p=0;while(1){if((p|0)>=(i|0))break;r=e+(p<<2)|0;o=0;while(1){if((o|0)>=(b|0))break;A=+B(+(+h[(c[r>>2]|0)+(o<<3)>>3]));q=A>q?A:q;o=o+1|0}p=p+1|0}q=1.0/q;p=0;while(1){if((p|0)>=(i|0))break e;r=e+(p<<2)|0;o=0;while(1){if((o|0)>=(b|0))break;D=(c[r>>2]|0)+(o<<3)|0;h[D>>3]=+h[D>>3]*(10.0*q);o=o+1|0}p=p+1|0}}while(0);f:do if(n>0.0){v=+(y|0);o=0;q=0.0;s=0;g:while(1){if((s|0)>=(a|0))break;t=s+1|0;r=o;p=t;while(1){o=r+1|0;if((p|0)>=(b|0)){s=t;continue g}A=+fs(e,i,s,p);r=o;q=A/+g[G+(o<<2)>>2]+q;p=p+1|0}}q=q/v;o=0;while(1){if((o|0)>=(E|0)){o=0;break f}D=G+(o<<2)|0;g[D>>2]=+g[D>>2]*q;o=o+1|0}}else o=0;while(0);while(1){if((o|0)>=(i|0))break;Hs(b,c[e+(o<<2)>>2]|0);o=o+1|0}p=c[e+4>>2]|0;q=+h[p>>3];o=0;while(1){if((o|0)>=(b|0))break;D=p+(o<<3)|0;h[D>>3]=+h[D>>3]-q;o=o+1|0}u=i<<2;D=uH(u)|0;x=b<<2;w=O(x,i)|0;r=uH(w)|0;o=0;while(1){if((o|0)>=(i|0))break;s=r+((O(o,b)|0)<<2)|0;c[D+(o<<2)>>2]=s;t=e+(o<<2)|0;p=0;while(1){if((p|0)>=(b|0))break;g[s+(p<<2)>>2]=+h[(c[t>>2]|0)+(p<<3)>>3];p=p+1|0}o=o+1|0}v=+(y|0);if(0){C=c[15686]|0;h[F>>3]=+EL();f1(C,92092,F)|0}bt(E,G);ct(E,G);C=uH(b<<3)|0;_s(b,0.0,C);o=0;r=0;while(1){if((r|0)>=(a|0)){o=b;p=0;r=0;break}s=b-r|0;q=0.0;p=1;while(1){o=o+1|0;if((p|0)>=(s|0))break;A=+g[G+(o<<2)>>2];F=C+(p+r<<3)|0;h[F>>3]=+h[F>>3]-A;q=q+A;p=p+1|0}F=C+(r<<3)|0;h[F>>3]=+h[F>>3]-q;r=r+1|0}while(1){if((p|0)>=(b|0))break;g[G+(r<<2)>>2]=+h[C+(p<<3)>>3];F=o+r|0;o=o+-1|0;p=p+1|0;r=F}k=uH(u)|0;c[k>>2]=uH(w)|0;o=1;while(1){if((o|0)>=(i|0))break;c[k+(o<<2)>>2]=(c[k>>2]|0)+((O(o,b)|0)<<2);o=o+1|0}z=uH(x)|0;f=uH(x)|0;j=uH(E<<2)|0;p=Dt(G,b)|0;d=It(G,b,c[J>>2]|0,c[K>>2]|0,c[H>>2]|0)|0;y=k+4|0;r=0;A=1797693134862315708145274.0e284;o=0;while(1){if(!(r<<24>>24==0&(o|0)<(m|0)))break;_s(b,0.0,C);dt(E,G,j);w=0;t=0;while(1){if((w|0)>=(a|0)){r=0;s=b;t=0;break}x=b-w+-1|0;$s(b,0.0,f);r=0;while(1){if((r|0)>=(i|0))break;H=D+(r<<2)|0;$s(x,+g[(c[H>>2]|0)+(w<<2)>>2],z);Ws(x,z,-1.0,(c[H>>2]|0)+(w<<2)+4|0);bt(x,z);Vs(x,z,f,f);r=r+1|0}et(x,f);r=0;while(1){if((r|0)>=(x|0))break;s=f+(r<<2)|0;q=+g[s>>2];if(q>=3402823466385288598117041.0e14|q<0.0)g[s>>2]=0.0;r=r+1|0}u=w+1|0;q=0.0;r=t;s=0;while(1){r=r+1|0;if((s|0)>=(x|0))break;H=j+(r<<2)|0;N=+g[H>>2]*+g[f+(s<<2)>>2];g[H>>2]=N;H=C+(u+s<<3)|0;h[H>>3]=+h[H>>3]-N;q=q+N;s=s+1|0}t=C+(w<<3)|0;h[t>>3]=+h[t>>3]-q;w=u;t=r}while(1){if((r|0)>=(b|0)){r=0;break}g[j+(t<<2)>>2]=+h[C+(r<<3)>>3];H=s+t|0;r=r+1|0;s=s+-1|0;t=H}while(1){if((r|0)>=(i|0)){q=0.0;r=0;break}Ts(j,b,c[D+(r<<2)>>2]|0,c[k+(r<<2)>>2]|0);r=r+1|0}while(1){if((r|0)>=(i|0))break;q=+Zs(b,c[D+(r<<2)>>2]|0,c[k+(r<<2)>>2]|0)+q;r=r+1|0}q=q*2.0+v;r=0;while(1){if((r|0)>=(i|0))break;H=D+(r<<2)|0;Ts(G,b,c[H>>2]|0,z);q=q-+Zs(b,c[H>>2]|0,z);r=r+1|0}N=+B(+(q-A))/+B(+(A+1.0e-10));r=((o|0)>1&q>A|N<+h[22909])&1;s=0;while(1){if((s|0)>=(i|0))break;if((s|0)!=1){if(Eq(G,c[D+(s<<2)>>2]|0,c[k+(s<<2)>>2]|0,b,.001,b)|0){o=-1;break d}}else Et(d,c[y>>2]|0,D,i,1,15,I,n)|0;s=s+1|0}A=q;o=o+1|0}C_(I);Ht(d);if(D|0){r=0;while(1){if((r|0)>=(i|0))break;t=D+(r<<2)|0;u=e+(r<<2)|0;s=0;while(1){if((s|0)>=(b|0))break;h[(c[u>>2]|0)+(s<<3)>>3]=+g[(c[t>>2]|0)+(s<<2)>>2];s=s+1|0}r=r+1|0}C_(c[D>>2]|0);C_(D)}if(k|0){C_(c[k>>2]|0);C_(k)}C_(z);C_(f);C_(C);C_(G);C_(j)}while(0);C_(c[J>>2]|0);C_(c[K>>2]|0);if(p){C_(c[p>>2]|0);C_(p)}}else L=10}else L=10;while(0);if((L|0)==10)o=pn(a,b,d,e,f,i,j,k,m)|0;l=M;return o|0}function Gq(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,i=0,j=0,k=0,m=0;m=l;l=l+48|0;f=m+24|0;g=m+12|0;d=m;i=$x(a)|0;k=uH(i*48|0)|0;pq(d,a);c[g>>2]=c[d>>2];c[g+4>>2]=c[d+4>>2];c[g+8>>2]=c[d+8>>2];d=Ry(a)|0;e=k;while(1){if(!d)break;c[f>>2]=c[g>>2];c[f+4>>2]=c[g+4>>2];c[f+8>>2]=c[g+8>>2];Hq(d,e,f);d=Sy(a,d)|0;e=e+48|0}a:do if(!(Iq(k,i)|0))d=0;else{switch(b|0){case 9:{Kq(a,k,i,69,1);Mq(a,k,i,70,1);d=0;e=k;break}case 10:{Mq(a,k,i,70,1);Kq(a,k,i,69,1);d=0;e=k;break}case 7:{Kq(a,k,i,71,1);Mq(a,k,i,70,1);j=9;break}case 8:{j=9;break}case 13:{j=10;break}case 14:{Mq(a,k,i,70,0);Kq(a,k,i,69,0);d=0;e=k;break}case 12:{Mq(a,k,i,72,0);Kq(a,k,i,69,0);d=0;e=k;break}default:{Kq(a,k,i,71,0);Mq(a,k,i,70,0);d=0;e=k}}if((j|0)==9){Mq(a,k,i,72,1);Kq(a,k,i,69,1);j=10}if((j|0)==10){Kq(a,k,i,69,0);Mq(a,k,i,70,0);d=0;e=k}while(1){if((d|0)>=(i|0)){d=1;break a}g=c[e+16>>2]|0;j=c[(c[(c[e+20>>2]|0)+16>>2]|0)+132>>2]|0;h[j>>3]=+(c[e+12>>2]|0)*1.3888888888888887e-03;h[j+8>>3]=+(g|0)*1.3888888888888887e-03;d=d+1|0;e=e+48|0}}while(0);C_(k);l=m;return d|0}function Hq(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,i=0,j=0,k=0,l=0.0,m=0.0;f=c[b+16>>2]|0;k=c[f+132>>2]|0;l=+h[k>>3]*720.0;j=~~(l+(l>=0.0?.5:-.5));l=+h[k+8>>3]*720.0;k=~~(l+(l>=0.0?.5:-.5));if(!(a[e+8>>0]|0)){m=+h[f+32>>3]*72.0*(+g[e>>2]*5.0);l=+h[f+40>>3]*72.0*(+g[e+4>>2]*5.0);i=~~(m+(m>=0.0?.5:-.5));f=~~(l+(l>=0.0?.5:-.5))}else{l=+h[f+32>>3]*36.0;m=+h[f+40>>3]*36.0;i=~~((+g[e>>2]+ +(~~(l+(l>=0.0?.5:-.5))|0))*10.0);f=~~((+g[e+4>>2]+ +(~~(m+(m>=0.0?.5:-.5))|0))*10.0)}c[d+12>>2]=j;c[d+16>>2]=k;c[d+20>>2]=b;c[d+32>>2]=j-i;c[d+36>>2]=k-f;c[d+40>>2]=i+j;c[d+44>>2]=f+k;return}function Iq(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0;k=b+-1|0;d=0;a:while(1){if((d|0)>=(k|0)){a=0;break}j=a+48|0;d=d+1|0;g=a+32|0;h=a+40|0;i=a+36|0;f=a+44|0;a=j;e=d;while(1){if((e|0)>=(b|0)){a=j;continue a}if((((c[g>>2]|0)<=(c[a+40>>2]|0)?(c[a+32>>2]|0)<=(c[h>>2]|0):0)?(c[i>>2]|0)<=(c[a+44>>2]|0):0)?(c[a+36>>2]|0)<=(c[f>>2]|0):0){a=1;break a}a=a+48|0;e=e+1|0}}return a|0}function Jq(a,b){a=a|0;b=b|0;if((c[a+36>>2]|0)>(c[b+44>>2]|0))a=0;else a=(c[b+36>>2]|0)<=(c[a+44>>2]|0)&1;return a|0}function Kq(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0;i=Bw(18064,c[4558]|0)|0;g=b;h=0;while(1){if((h|0)>=(d|0))break;c[g+8>>2]=c[g+12>>2];nb[c[i>>2]&63](i,g,1)|0;g=g+48|0;h=h+1|0}if(!f)h=Sq(a,i,e,73)|0;else h=Rq(i,e,73)|0;eI(h,2,2147483647)|0;g=0;while(1){if((g|0)>=(d|0))break;f=b+12|0;a=c[(c[(c[b+24>>2]|0)+16>>2]|0)+232>>2]|0;e=a-(c[f>>2]|0)|0;c[f>>2]=a;f=b+32|0;c[f>>2]=(c[f>>2]|0)+e;f=b+40|0;c[f>>2]=(c[f>>2]|0)+e;b=b+48|0;g=g+1|0}Tq(h);xw(i)|0;return}function Lq(a,b){a=a|0;b=b|0;if((c[a+32>>2]|0)>(c[b+40>>2]|0))a=0;else a=(c[b+32>>2]|0)<=(c[a+40>>2]|0)&1;return a|0}function Mq(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0;i=Bw(18064,c[4558]|0)|0;g=b;h=0;while(1){if((h|0)>=(d|0))break;c[g+8>>2]=c[g+16>>2];nb[c[i>>2]&63](i,g,1)|0;g=g+48|0;h=h+1|0}if(!f)h=Sq(a,i,e,74)|0;else h=Rq(i,e,74)|0;eI(h,2,2147483647)|0;g=0;while(1){if((g|0)>=(d|0))break;f=b+16|0;a=c[(c[(c[b+24>>2]|0)+16>>2]|0)+232>>2]|0;e=a-(c[f>>2]|0)|0;c[f>>2]=a;f=b+36|0;c[f>>2]=(c[f>>2]|0)+e;f=b+44|0;c[f>>2]=(c[f>>2]|0)+e;b=b+48|0;g=g+1|0}Tq(h);xw(i)|0;return}function Nq(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;d=a+32|0;e=b+32|0;if((c[a+36>>2]|0)<=(c[b+44>>2]|0)?(c[b+36>>2]|0)<=(c[a+44>>2]|0):0)if((c[a+40>>2]|0)<(c[e>>2]|0))a=1;else{g=Qq(d,e)|0;g=g-(c[b+12>>2]|0)+(c[a+12>>2]|0)|0;b=c[b+16>>2]|0;a=c[a+16>>2]|0;f=(b|0)<(a|0);e=Pq(d,e)|0;a=(g|0)<=(e-(f?a:b)+(f?b:a)|0)&1}else a=0;return a|0}function Oq(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;d=a+32|0;e=b+32|0;if((c[d>>2]|0)<=(c[b+40>>2]|0)?(c[e>>2]|0)<=(c[a+40>>2]|0):0)if((c[a+44>>2]|0)<(c[b+36>>2]|0))a=1;else{g=Pq(d,e)|0;g=g-(c[b+16>>2]|0)+(c[a+16>>2]|0)|0;b=c[b+12>>2]|0;a=c[a+12>>2]|0;f=(b|0)<(a|0);e=Qq(d,e)|0;a=(g|0)<=(e-(f?a:b)+(f?b:a)|0)&1}else a=0;return a|0}function Pq(a,b){a=a|0;b=b|0;return ((c[a+12>>2]|0)-(c[a+4>>2]|0)+(c[b+12>>2]|0)-(c[b+4>>2]|0)|0)/2|0|0}function Qq(a,b){a=a|0;b=b|0;return ((c[a+8>>2]|0)-(c[a>>2]|0)+(c[b+8>>2]|0)-(c[b>>2]|0)|0)/2|0|0}function Rq(d,e,f){d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0;x=l;l=l+16|0;v=x;a[v>>0]=a[18484]|0;a[v+1>>0]=a[18485]|0;a[v+2>>0]=a[18486]|0;a[v+3>>0]=a[18487]|0;w=Wx(92103,v,0)|0;zz(w,134401,280,1)|0;g=zw(d)|0;h=-2147483647;u=0;while(1){if(!g)break;s=c[g+8>>2]|0;t=u+((h|0)!=(s|0)&1)|0;g=c[g>>2]|0;h=s;u=t}s=w+16|0;t=(u<<3)+-4|0;n=0;j=0;g=0;h=0;m=0;r=zw(d)|0;i=-2147483647;while(1){if(!r)break;q=c[r+8>>2]|0;if((i|0)!=(q|0)){p=$y(w,qy(c[r+20>>2]|0)|0,1)|0;zz(p,134365,304,1)|0;o=p+16|0;g=c[o>>2]|0;c[g+112>>2]=r;if(!h){c[(c[s>>2]|0)+192>>2]=p;n=p}else{c[(c[n+16>>2]|0)+164>>2]=p;n=h}c[g+176>>2]=0;k=j+1|0;i=tH(k<<2)|0;c[(c[o>>2]|0)+172>>2]=i;if(!m){j=k;k=p;m=p;g=p;h=n;i=q}else{i=m+16|0;c[(c[i>>2]|0)+184>>2]=0;j=tH((m|0)==(n|0)?t:u-j<<2)|0;c[(c[i>>2]|0)+180>>2]=j;j=Qx(w,m,p,0,1)|0;zz(j,134378,176,1)|0;g=c[j+16>>2]|0;b[g+170>>1]=10;c[g+156>>2]=1;g=c[i>>2]|0;h=c[g+180>>2]|0;if(!h)g=uH((c[g+184>>2]<<2)+8|0)|0;else g=wH(h,(c[g+184>>2]<<2)+8|0)|0;m=c[i>>2]|0;c[m+180>>2]=g;m=m+184|0;h=c[m>>2]|0;c[m>>2]=h+1;c[g+(h<<2)>>2]=j;g=c[i>>2]|0;c[(c[g+180>>2]|0)+(c[g+184>>2]<<2)>>2]=0;g=c[o>>2]|0;h=c[g+172>>2]|0;if(!h)g=uH((c[g+176>>2]<<2)+8|0)|0;else g=wH(h,(c[g+176>>2]<<2)+8|0)|0;h=c[o>>2]|0;c[h+172>>2]=g;h=h+176|0;m=c[h>>2]|0;c[h>>2]=m+1;c[g+(m<<2)>>2]=j;j=c[o>>2]|0;c[(c[j+172>>2]|0)+(c[j+176>>2]<<2)>>2]=0;j=k;k=p;m=p;g=p;h=n;i=q}}else{k=g;g=n}c[r+24>>2]=k;n=g;g=k;r=c[r>>2]|0}m=m+16|0;c[(c[m>>2]|0)+184>>2]=0;g=tH(4)|0;c[(c[m>>2]|0)+180>>2]=g;a[v>>0]=a[18484]|0;a[v+1>>0]=a[18485]|0;a[v+2>>0]=a[18486]|0;a[v+3>>0]=a[18487]|0;m=Wx(92150,v,0)|0;g=zw(d)|0;while(1){if(!g)break;v=$y(m,qy(c[g+20>>2]|0)|0,1)|0;zz(v,134365,304,1)|0;c[g+28>>2]=v;c[(c[v+16>>2]|0)+112>>2]=g;g=c[g>>2]|0}g=0;k=zw(d)|0;h=-2147483647;a:while(1){if(!k)break;j=c[k+8>>2]|0;b:do if((h|0)==(j|0))j=h;else{g=k;while(1){g=c[g>>2]|0;if(!g)break a;if((c[g+8>>2]|0)!=(j|0))break b}}while(0);i=k+28|0;h=g;while(1){if(!h)break;if(lb[e&127](k,h)|0)Qx(m,c[i>>2]|0,c[h+28>>2]|0,0,1)|0;h=c[h>>2]|0}k=c[k>>2]|0;h=j}Uq(m,w,f);_x(m)|0;l=x;return w|0}function Sq(d,e,f,g){d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;s=l;l=l+16|0;r=s;a[r>>0]=a[18484]|0;a[r+1>>0]=a[18485]|0;a[r+2>>0]=a[18486]|0;a[r+3>>0]=a[18487]|0;r=Wx(92103,r,0)|0;zz(r,134401,280,1)|0;k=r+16|0;h=zw(e)|0;i=0;while(1){if(!h)break;j=$y(r,qy(c[h+20>>2]|0)|0,1)|0;zz(j,134365,304,1)|0;p=j+16|0;n=c[p>>2]|0;c[n+112>>2]=h;c[h+24>>2]=j;c[n+176>>2]=0;n=tH(4)|0;o=c[p>>2]|0;c[o+172>>2]=n;c[o+184>>2]=0;o=tH(4)|0;c[(c[p>>2]|0)+180>>2]=o;if(!i)c[(c[k>>2]|0)+192>>2]=j;else c[(c[i+16>>2]|0)+164>>2]=j;h=c[h>>2]|0;i=j}m=zw(e)|0;a:while(1){if(!m)break;n=m+32|0;o=m+24|0;p=m+20|0;h=m;while(1){h=c[h>>2]|0;if(!h)break;if(lb[f&127](m,h)|0){i=lb[g&127](n,h+32|0)|0;j=Qx(r,c[o>>2]|0,c[h+24>>2]|0,0,1)|0;zz(j,134378,176,1)|0;if((i|0)>=65536){q=13;break a}k=j+16|0;t=c[k>>2]|0;b[t+170>>1]=i;c[t+156>>2]=1;if(j|0?Qx(d,c[p>>2]|0,c[h+20>>2]|0,0,0)|0:0)c[(c[k>>2]|0)+156>>2]=100}}m=c[m>>2]|0}if((q|0)==13)qa(92106,92122,254,92135);m=zw(e)|0;while(1){if(!m)break;k=c[m+24>>2]|0;n=k+16|0;k=Dx(r,k)|0;while(1){if(!k)break;h=c[n>>2]|0;i=c[h+180>>2]|0;if(!i)h=uH((c[h+184>>2]<<2)+8|0)|0;else h=wH(i,(c[h+184>>2]<<2)+8|0)|0;i=c[n>>2]|0;c[i+180>>2]=h;i=i+184|0;j=c[i>>2]|0;c[i>>2]=j+1;c[h+(j<<2)>>2]=k;j=c[n>>2]|0;c[(c[j+180>>2]|0)+(c[j+184>>2]<<2)>>2]=0;j=k+-48|0;h=c[(c[((c[k>>2]&3|0)==2?k:j)+40>>2]|0)+16>>2]|0;i=c[h+172>>2]|0;if(!i)h=uH((c[h+176>>2]<<2)+8|0)|0;else h=wH(i,(c[h+176>>2]<<2)+8|0)|0;c[(c[(c[((c[k>>2]&3|0)==2?k:j)+40>>2]|0)+16>>2]|0)+172>>2]=h;g=c[(c[((c[k>>2]&3|0)==2?k:j)+40>>2]|0)+16>>2]|0;q=c[g+172>>2]|0;g=g+176|0;t=c[g>>2]|0;c[g>>2]=t+1;c[q+(t<<2)>>2]=k;t=c[(c[((c[k>>2]&3|0)==2?k:j)+40>>2]|0)+16>>2]|0;c[(c[t+172>>2]|0)+(c[t+176>>2]<<2)>>2]=0;k=Fx(r,k)|0}m=c[m>>2]|0}l=s;return r|0}function Tq(a){a=a|0;var b=0,d=0,e=0,f=0;f=Ry(a)|0;while(1){if(!f)break;d=f+16|0;b=c[d>>2]|0;e=c[b+172>>2]|0;if(e){C_(e);b=c[d>>2]|0}b=c[b+180>>2]|0;if(b|0)C_(b);f=Sy(a,f)|0}_x(a)|0;return}function Uq(a,d,e){a=a|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;k=Ry(a)|0;while(1){if(!k)break;n=c[(c[k+16>>2]|0)+112>>2]|0;m=c[n+24>>2]|0;n=n+32|0;o=m+16|0;l=Dx(a,k)|0;while(1){if(!l)break;h=c[(c[(c[((c[l>>2]&3|0)==2?l:l+-48|0)+40>>2]|0)+16>>2]|0)+112>>2]|0;p=lb[e&127](n,h+32|0)|0;h=c[h+24>>2]|0;i=Qx(d,m,h,0,1)|0;zz(i,134378,176,1)|0;j=i+16|0;f=c[j>>2]|0;c[f+156>>2]=1;g=b[f+170>>1]|0;if((p|0)>(g&65535|0)){if(!(g<<16>>16)){f=c[o>>2]|0;g=c[f+180>>2]|0;if(!g)f=uH((c[f+184>>2]<<2)+8|0)|0;else f=wH(g,(c[f+184>>2]<<2)+8|0)|0;q=c[o>>2]|0;c[q+180>>2]=f;q=q+184|0;g=c[q>>2]|0;c[q>>2]=g+1;c[f+(g<<2)>>2]=i;f=c[o>>2]|0;c[(c[f+180>>2]|0)+(c[f+184>>2]<<2)>>2]=0;h=h+16|0;f=c[h>>2]|0;g=c[f+172>>2]|0;if(!g)f=uH((c[f+176>>2]<<2)+8|0)|0;else f=wH(g,(c[f+176>>2]<<2)+8|0)|0;g=c[h>>2]|0;c[g+172>>2]=f;g=g+176|0;q=c[g>>2]|0;c[g>>2]=q+1;c[f+(q<<2)>>2]=i;f=c[h>>2]|0;c[(c[f+172>>2]|0)+(c[f+176>>2]<<2)>>2]=0;f=c[j>>2]|0}b[f+170>>1]=p}l=Fx(a,l)|0}k=Sy(a,k)|0}return}function Vq(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;return (c[b>>2]|0)-(c[d>>2]|0)|0}function Wq(b,d){b=b|0;d=d|0;var e=0,f=0,i=0.0,j=0.0,k=0.0,m=0.0,n=0.0,o=0.0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0.0,A=0.0;y=l;l=l+64|0;u=y+24|0;s=y+16|0;r=y+52|0;q=y+40|0;t=y;w=$x(b)|0;x=uH(w*72|0)|0;pq(q,b);k=+g[q>>2];m=+g[q+4>>2];q=(a[q+8>>0]|0)!=0;k=q?k*.013888888888888888:k;m=q?m*.013888888888888888:m;n=k*.5;o=m*.5;e=x;f=Ry(b)|0;while(1){if(!f)break;p=c[f+16>>2]|0;i=+h[p+32>>3];if(q){j=+h[p+40>>3]*.5+m;i=i*.5+k}else{j=o*+h[p+40>>3];i=n*i}p=c[p+132>>2]|0;A=+h[p>>3];h[e>>3]=A;z=+h[p+8>>3];h[e+8>>3]=z;h[e+16>>3]=A-i;h[e+24>>3]=z-j;h[e+32>>3]=A+i;h[e+40>>3]=z+j;h[e+48>>3]=i;h[e+56>>3]=j;c[e+64>>2]=f;e=e+72|0;f=Sy(b,f)|0}do if((d|0)<0){i=+Xq(x,w);if(i==0.0){C_(x);e=0;break}if(!0){k=i;j=i;v=19}else{v=c[15686]|0;h[s>>3]=i;f1(v,92153,s)|0;k=i;j=i;v=19}}else{f=Yq(x,w,r)|0;e=c[r>>2]|0;if(!e){C_(f);C_(x);e=0;break}if(!d){_q(t,f,e);i=+h[t>>3];j=+h[t+8>>3]}else{j=+Zq(f,e);i=j}C_(f);if(!0){k=i;v=19}else{v=c[15686]|0;h[u>>3]=i;h[u+8>>3]=j;f1(v,92167,u)|0;k=i;v=19}}while(0);if((v|0)==19){e=0;f=x;while(1){if((e|0)>=(w|0))break;v=c[(c[(c[f+64>>2]|0)+16>>2]|0)+132>>2]|0;h[v>>3]=+h[f>>3]*k;h[v+8>>3]=+h[f+8>>3]*j;e=e+1|0;f=f+72|0}C_(x);e=1}l=y;return e|0}function Xq(a,b){a=a|0;b=b|0;var c=0.0,d=0,e=0.0,f=0.0,g=0.0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;c=0.0;d=0;a:while(1){if((d|0)>=(b|0))break;r=a+72|0;d=d+1|0;m=a+16|0;n=a+8|0;o=a+56|0;p=a+48|0;q=a+32|0;k=a+24|0;l=a+40|0;i=d;j=r;while(1){if((i|0)>=(b|0)){a=r;continue a}if(((+h[m>>3]<=+h[j+32>>3]?+h[j+16>>3]<=+h[q>>3]:0)?+h[k>>3]<=+h[j+40>>3]:0)?+h[j+24>>3]<=+h[l>>3]:0){c=0.0;break a}e=+h[a>>3];f=+h[j>>3];if(e==f)g=t;else{g=+B(+(e-f));g=(+h[j+48>>3]+ +h[p>>3])/g}e=+h[n>>3];f=+h[j+8>>3];if(e==f)e=t;else{e=+B(+(e-f));e=(+h[j+56>>3]+ +h[o>>3])/e}g=ec?g:c}}return +c}function Yq(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0.0,g=0.0,i=0,j=0.0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0;k=uH((b<<4)+16|0)|0;m=0;e=0;n=k;o=b;i=k;a:while(1){if((e|0)>=(b|0))break;z=a+72|0;e=e+1|0;y=a+16|0;r=a+32|0;s=a+24|0;u=a+40|0;v=a+8|0;w=a+56|0;x=a+48|0;p=e;q=z;l=i;while(1){if((p|0)==(b|0)){a=z;i=l;continue a}if(((+h[y>>3]<=+h[q+32>>3]?+h[q+16>>3]<=+h[r>>3]:0)?+h[s>>3]<=+h[q+40>>3]:0)?+h[q+24>>3]<=+h[u>>3]:0){i=o+b|0;if((m|0)==(o|0)){k=wH(k,(i<<4)+16|0)|0;n=k;l=k}else i=o;f=+h[a>>3];g=+h[q>>3];if(!(f==g)){f=(+h[q+48>>3]+ +h[x>>3])/+B(+(f-g));if(f<1.0){f=1.0;A=13}}else{f=t;A=13}if((A|0)==13)A=0;g=+h[v>>3];j=+h[q+8>>3];if(!(g==j)){g=(+h[q+56>>3]+ +h[w>>3])/+B(+(g-j));if(g<1.0){g=1.0;A=16}}else{g=t;A=16}if((A|0)==16)A=0;m=m+1|0;h[n+(m<<4)>>3]=f;h[n+(m<<4)+8>>3]=g}else i=o;p=p+1|0;q=q+72|0;o=i}}A=wH(i,(m<<4)+16|0)|0;c[d>>2]=m;return A|0}function Zq(a,b){a=a|0;b=b|0;var c=0,d=0,e=0.0,f=0.0,g=0.0;d=1;e=0.0;while(1){c=a+16|0;if((d|0)>(b|0))break;g=+h[c>>3];f=+h[a+24>>3];f=ge?f:e;a=c}return +e}function _q(a,b,c){a=a|0;b=b|0;c=c|0;var d=0.0,e=0,f=0,g=0,i=0.0;h[b>>3]=1.0;h[b+8>>3]=t;Z0(b+16|0,c,16,75);g=uH((c<<4)+16|0)|0;h[g+(c<<4)>>3]=+h[b+(c<<4)>>3];f=c;d=1.0;while(1){h[g+(f<<4)+8>>3]=d;e=f+-1|0;if((f|0)<=0){d=t;e=0;f=0;break}h[g+(e<<4)>>3]=+h[b+(e<<4)>>3];i=+h[(+h[b+(f<<4)+8>>3]>d?b:g)+(f<<4)+8>>3];f=e;d=i}while(1){if((f|0)>(c|0))break;i=+h[g+(f<<4)+8>>3]*+h[g+(f<<4)>>3];b=i>3];h[a>>3]=+h[g+(e<<4)>>3];h[a+8>>3]=i;return}else qa(92184,92122,832,92204)}function $q(a,b){a=a|0;b=b|0;var c=0.0,d=0.0;c=+h[a>>3];d=+h[b>>3];if(!(cd)){d=+h[a+8>>3];c=+h[b+8>>3];if(dc&1}else a=1;else a=-1;return a|0}function ar(a){a=a|0;var b=0;if(a|0){b=c[a+4>>2]|0;if(b|0)C_(b);b=c[a+8>>2]|0;if(b|0)C_(b);b=c[a+16>>2]|0;if(b|0)C_(b);C_(a)}return}function br(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0;o=l;l=l+16|0;n=o+8|0;m=o;k=E_(c[46079]|0,d<<2)|0;c[46079]=k;f=0;while(1){if((f|0)>=(d|0))break;c[e+(f<<2)>>2]=2147483647;f=f+1|0}c[e+(a<<2)>>2]=0;h=b+(a*20|0)|0;i=b+(a*20|0)+8|0;j=b+(a*20|0)+4|0;f=1;while(1){if((f|0)>=(c[h>>2]|0))break;c[e+(c[(c[j>>2]|0)+(f<<2)>>2]<<2)>>2]=~~+g[(c[i>>2]|0)+(f<<2)>>2];f=f+1|0}cr(n,a,k,e,d);i=-2147483639;while(1){if(!((dr(n,m,c[46079]|0,e)|0)<<24>>24)){f=0;break}f=c[m>>2]|0;a=c[e+(f<<2)>>2]|0;if((a|0)==2147483647){f=0;break}i=b+(f*20|0)|0;j=b+(f*20|0)+4|0;h=b+(f*20|0)+8|0;f=1;while(1){if((f|0)>=(c[i>>2]|0))break;er(n,c[(c[j>>2]|0)+(f<<2)>>2]|0,a+~~+g[(c[h>>2]|0)+(f<<2)>>2]|0,c[46079]|0,e);f=f+1|0}i=a+10|0}while(1){if((f|0)>=(d|0))break;h=e+(f<<2)|0;if((c[h>>2]|0)==2147483647)c[h>>2]=i;f=f+1|0}fr(n);l=o;return}function cr(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0;if((f|0)==1)i=0;else i=uH((f<<2)+-4|0)|0;c[a>>2]=i;j=f+-1|0;c[a+4>>2]=j;g=0;h=0;while(1){if((h|0)>=(f|0))break;if((h|0)!=(b|0)){c[i+(g<<2)>>2]=h;c[d+(h<<2)>>2]=g;g=g+1|0}h=h+1|0}g=(j|0)/2|0;while(1){if((g|0)<=-1)break;gr(a,g,d,e);g=g+-1|0}return}function dr(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0;f=a+4|0;if(!(c[f>>2]|0))a=0;else{g=c[a>>2]|0;c[b>>2]=c[g>>2];b=c[g+((c[f>>2]|0)+-1<<2)>>2]|0;c[g>>2]=b;c[d+(b<<2)>>2]=0;c[f>>2]=(c[f>>2]|0)+-1;gr(a,0,d,e);a=1}return a|0}function er(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0;g=f+(b<<2)|0;if((c[g>>2]|0)>(d|0)){j=e+(b<<2)|0;i=c[j>>2]|0;c[g>>2]=d;g=c[a>>2]|0;a=i;while(1){if((a|0)<=0)break;h=a>>>1;i=c[g+(h<<2)>>2]|0;if((c[f+(i<<2)>>2]|0)<=(d|0))break;c[g+(a<<2)>>2]=i;c[e+(i<<2)>>2]=a;a=h}c[g+(a<<2)>>2]=b;c[j>>2]=a}return}function fr(a){a=a|0;a=c[a>>2]|0;if(a|0)C_(a);return}function gr(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0;i=a+4|0;while(1){f=b<<1;g=f|1;h=c[i>>2]|0;if(!((f|0)<(h|0)?(j=c[a>>2]|0,(c[e+(c[j+(f<<2)>>2]<<2)>>2]|0)<(c[e+(c[j+(b<<2)>>2]<<2)>>2]|0)):0))f=b;if((g|0)<(h|0)){j=c[a>>2]|0;f=(c[e+(c[j+(g<<2)>>2]<<2)>>2]|0)<(c[e+(c[j+(f<<2)>>2]<<2)>>2]|0)?g:f}if((f|0)==(b|0))break;j=c[a>>2]|0;h=j+(f<<2)|0;g=c[h>>2]|0;j=j+(b<<2)|0;c[h>>2]=c[j>>2];c[j>>2]=g;c[d+(c[h>>2]<<2)>>2]=f;c[d+(c[j>>2]<<2)>>2]=b;b=f}return}function hr(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,h=0,i=0,j=0,k=0.0,m=0,n=0,o=0,p=0;p=l;l=l+16|0;m=p+8|0;n=p;c[n>>2]=0;o=uH(d<<2)|0;f=0;while(1){if((f|0)>=(d|0))break;g[e+(f<<2)>>2]=3402823466385288598117041.0e14;f=f+1|0}g[e+(a<<2)>>2]=0.0;h=c[b+(a*20|0)>>2]|0;i=b+(a*20|0)+8|0;j=b+(a*20|0)+4|0;f=1;while(1){if((f|0)>=(h|0))break;c[e+(c[(c[j>>2]|0)+(f<<2)>>2]<<2)>>2]=c[(c[i>>2]|0)+(f<<2)>>2];f=f+1|0}ir(m,a,o,e,d);a:while(1){if(!((jr(m,n,o,e)|0)<<24>>24))break;f=c[n>>2]|0;k=+g[e+(f<<2)>>2];if(k==3402823466385288598117041.0e14)break;i=b+(f*20|0)|0;j=b+(f*20|0)+4|0;h=b+(f*20|0)+8|0;f=1;while(1){if((f|0)>=(c[i>>2]|0))continue a;kr(m,c[(c[j>>2]|0)+(f<<2)>>2]|0,+g[(c[h>>2]|0)+(f<<2)>>2]+k,o,e);f=f+1|0}}fr(m);C_(o);l=p;return}function ir(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0;i=f+-1|0;j=uH(i<<2)|0;c[a>>2]=j;c[a+4>>2]=i;g=0;h=0;while(1){if((h|0)>=(f|0))break;if((h|0)!=(b|0)){c[j+(g<<2)>>2]=h;c[d+(h<<2)>>2]=g;g=g+1|0}h=h+1|0}g=(i|0)/2|0;while(1){if((g|0)<=-1)break;lr(a,g,d,e);g=g+-1|0}return}function jr(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0;f=a+4|0;if(!(c[f>>2]|0))a=0;else{g=c[a>>2]|0;c[b>>2]=c[g>>2];b=c[g+((c[f>>2]|0)+-1<<2)>>2]|0;c[g>>2]=b;c[d+(b<<2)>>2]=0;c[f>>2]=(c[f>>2]|0)+-1;lr(a,0,d,e);a=1}return a|0}function kr(a,b,d,e,f){a=a|0;b=b|0;d=+d;e=e|0;f=f|0;var h=0,i=0,j=0,k=0;h=f+(b<<2)|0;if(!(+g[h>>2]<=d)){k=e+(b<<2)|0;j=c[k>>2]|0;g[h>>2]=d;h=c[a>>2]|0;a=j;while(1){if((a|0)<=0)break;i=a>>>1;j=c[h+(i<<2)>>2]|0;if(!(+g[f+(j<<2)>>2]>d))break;c[h+(a<<2)>>2]=j;c[e+(j<<2)>>2]=a;a=i}c[h+(a<<2)>>2]=b;c[k>>2]=a}return}function lr(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,h=0,i=0,j=0,k=0;j=a+4|0;while(1){f=b<<1;h=f|1;i=c[j>>2]|0;if(!((f|0)<(i|0)?(k=c[a>>2]|0,+g[e+(c[k+(f<<2)>>2]<<2)>>2]<+g[e+(c[k+(b<<2)>>2]<<2)>>2]):0))f=b;if((h|0)<(i|0)?(k=c[a>>2]|0,+g[e+(c[k+(h<<2)>>2]<<2)>>2]<+g[e+(c[k+(f<<2)>>2]<<2)>>2]):0)f=h;if((f|0)==(b|0))break;k=c[a>>2]|0;i=k+(f<<2)|0;h=c[i>>2]|0;k=k+(b<<2)|0;c[i>>2]=c[k>>2];c[k>>2]=h;c[d+(c[i>>2]<<2)>>2]=f;c[d+(c[k>>2]<<2)>>2]=b;b=f}return}function mr(){ft(184320,48);c[46083]=0;return}function nr(a,b){a=a|0;b=b|0;var d=0.0,e=0.0,f=0.0,g=0.0,i=0;i=ht(184320)|0;c[i+32>>2]=a;c[i+36>>2]=b;Ot(a);Ot(b);c[i+24>>2]=0;c[i+28>>2]=0;f=+h[a>>3];g=+h[b>>3]-f;e=+h[a+8>>3];d=+h[b+8>>3]-e;f=d*e+g*f+(d*d+g*g)*.5;b=i+16|0;h[b>>3]=f;if((g>0.0?g:-g)>(d>0.0?d:-d)){h[i>>3]=1.0;e=d/g;d=g;a=i+8|0}else{h[i+8>>3]=1.0;e=g/d;a=i}h[a>>3]=e;h[b>>3]=f/d;b=c[46083]|0;c[i+40>>2]=b;c[46083]=b+1;return i|0}function or(a){a=a|0;var b=0,d=0,e=0.0,f=0.0,g=0.0,i=0.0,j=0.0,k=0.0,l=0.0,m=0;l=+h[a>>3];a:do if(l==1.0){if(!(+h[a+8>>3]>=0.0)){b=c[a+28>>2]|0;d=c[a+24>>2]|0;if(!d)m=9;else m=5}else{b=c[a+24>>2]|0;d=c[a+28>>2]|0;if(!d)m=9;else m=5}do if((m|0)==5){e=+h[d+8>>3];if(e>+h[22881])break a;f=+h[22882];if(!(e>=f)){i=f;e=+h[a+16>>3]-+h[a+8>>3]*f;break}else{i=e;e=+h[d>>3];break}}else if((m|0)==9){f=+h[22882];i=f;e=+h[a+16>>3]-+h[a+8>>3]*f}while(0);do if(b){g=+h[b+8>>3];if(g>3]-+h[a+8>>3]*f;break}else{f=+h[b>>3];break}}else{f=+h[22881];g=f;f=+h[a+16>>3]-+h[a+8>>3]*f}while(0);j=+h[22883];b=e>j;d=f>j;k=+h[22884];if(!(b&d|e>3]-j)/+h[a+8>>3];e=j}if(e>3]-k)/+h[a+8>>3];e=k}if(d){g=(+h[a+16>>3]-j)/+h[a+8>>3];f=j}if(f>3]-k)/+h[a+8>>3];f=k;m=46}else m=46}}else{d=c[a+28>>2]|0;b=c[a+24>>2]|0;do if(b){e=+h[b>>3];if(e>+h[22883])break a;g=+h[22884];if(!(e>=g)){i=+h[a+16>>3]-g*l;e=g;break}else{i=+h[b+8>>3];break}}else{g=+h[22884];i=+h[a+16>>3]-g*l;e=g}while(0);do if(d){f=+h[d>>3];if(f>3]-l*j;f=j;break}else{g=+h[d+8>>3];break}}else{f=+h[22883];g=+h[a+16>>3]-l*f}while(0);j=+h[22881];b=i>j;d=g>j;k=+h[22882];if(!(b&d|i>3]-j)/l}if(i>3]-k)/l}if(d){g=j;f=(+h[a+16>>3]-j)/l}if(g>3]-k)/l;m=46}else m=46}}while(0);if((m|0)==46)pr(a,e,i,f,g);return}function pr(a,b,d,e,f){a=a|0;b=+b;d=+d;e=+e;f=+f;var g=0;g=a+32|0;Wr(c[g>>2]|0,b,d);Wr(c[g>>2]|0,e,f);a=a+36|0;Wr(c[a>>2]|0,b,d);Wr(c[a>>2]|0,e,f);return}function qr(a,b,d){a=a|0;b=b|0;d=d|0;c[a+24+(b<<2)>>2]=d;Ot(d);if(c[a+24+(1-b<<2)>>2]|0){or(a);Nt(c[a+32>>2]|0);Nt(c[a+36>>2]|0);it(a,184320)}return}function rr(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;p=l;l=l+16|0;o=p;m=b<<2;h=uH(O(m,d)|0)|0;g=c[e>>2]|0;m=uH(m)|0;n=c[a+8>>2]|0;if(g|0){C_(c[g>>2]|0);C_(g)}k=uH(d<<2)|0;c[e>>2]=k;g=0;while(1){if((g|0)>=(d|0))break;c[k+(g<<2)>>2]=h+((O(g,b)|0)<<2);g=g+1|0}j=(f|0)!=0;if(j)ds(a,b);e=(f2()|0)%(b|0)|0;yq(o,b);g=c[k>>2]|0;if(j){br(e,a,b,g);f=0;g=0}else{uq(e,a,b,g,o);f=0;g=0}while(1){if((g|0)>=(b|0)){i=1;break}h=c[(c[k>>2]|0)+(g<<2)>>2]|0;c[m+(g<<2)>>2]=h;i=(h|0)>(f|0);f=i?h:f;e=i?g:e;g=g+1|0}while(1){if((i|0)>=(d|0))break;h=k+(i<<2)|0;g=c[h>>2]|0;if(j){br(e,a,b,g);g=0;f=0}else{uq(e,a,b,g,o);g=0;f=0}while(1){if((g|0)>=(b|0))break;s=m+(g<<2)|0;q=c[s>>2]|0;r=c[(c[h>>2]|0)+(g<<2)>>2]|0;r=(q|0)<(r|0)?q:r;c[s>>2]=r;s=(r|0)>(f|0);q=s?g:e;g=g+1|0;f=s?r:f;e=q}i=i+1|0}C_(m);if(j)es(a,b,n);l=p;return}function sr(a,b,d){a=a|0;b=b|0;d=d|0;var e=0.0,f=0,g=0,h=0,i=0.0,j=0,k=0;i=1.0/+(b|0);h=0;while(1){if((h|0)>=(d|0))break;j=a+(h<<2)|0;e=0.0;f=0;while(1){if((f|0)>=(b|0))break;e=e+ +(c[(c[j>>2]|0)+(f<<2)>>2]|0);f=f+1|0}g=~~(e*i);f=0;while(1){if((f|0)>=(b|0))break;k=(c[j>>2]|0)+(f<<2)|0;c[k>>2]=(c[k>>2]|0)-g;f=f+1|0}h=h+1|0}return}function tr(){c[46085]=~~+C(+(+((c[46084]|0)+4|0)));return}function ur(a,b){a=a|0;b=b|0;var c=0.0,d=0.0;c=+h[a>>3]-+h[b>>3];d=+h[a+8>>3]-+h[b+8>>3];return +(d*d+c*c)}function vr(a,b,c){a=a|0;b=b|0;c=c|0;h[a>>3]=+h[b>>3]-+h[c>>3];h[a+8>>3]=+h[b+8>>3]-+h[c+8>>3];return}function wr(a,b,c){a=a|0;b=b|0;c=c|0;h[a>>3]=+h[c>>3]+ +h[b>>3];h[a+8>>3]=+h[c+8>>3]+ +h[b+8>>3];return}function xr(a,b,c){a=a|0;b=b|0;c=c|0;var d=0.0,e=0.0;d=+h[b+8>>3];e=+h[b>>3];return +((+h[c>>3]-e)*(+h[a+8>>3]-d)-(+h[a>>3]-e)*(+h[c+8>>3]-d))}function yr(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;e=l;l=l+48|0;f=e+32|0;g=e+16|0;h=e;c[h>>2]=c[a>>2];c[h+4>>2]=c[a+4>>2];c[h+8>>2]=c[a+8>>2];c[h+12>>2]=c[a+12>>2];c[g>>2]=c[b>>2];c[g+4>>2]=c[b+4>>2];c[g+8>>2]=c[b+8>>2];c[g+12>>2]=c[b+12>>2];c[f>>2]=c[d>>2];c[f+4>>2]=c[d+4>>2];c[f+8>>2]=c[d+8>>2];c[f+12>>2]=c[d+12>>2];d=+xr(h,g,f)>0.0&1;l=e;return d|0}function zr(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0.0,g=0.0,i=0.0,j=0.0,k=0.0,l=0.0,m=0.0,n=0.0,o=0.0,p=0.0,q=0.0;o=+h[a>>3];p=+h[d+8>>3];q=+h[c+8>>3];m=(p-q)*o;n=+h[b>>3];l=+h[d>>3];k=+h[b+8>>3];i=+h[a+8>>3];j=k-i;f=+h[c>>3];g=m+n*(q-p)+j*l+f*(i-k);if(g==0.0)d=0;else{p=(f*(i-p)+m+(q-i)*l)/g;q=-(f*j+((q-k)*o+(i-q)*n))/g;h[e>>3]=p*(n-o)+o;h[e+8>>3]=j*p+i;d=q<=1.0&(q>=0.0&(p>=0.0&p<=1.0))&1}return d|0}function Ar(a,b,d){a=a|0;b=b|0;d=+d;var e=0,f=0,g=0.0,i=0;c[a+20>>2]=b;Ot(b);i=a+24|0;h[i>>3]=+h[b+8>>3]+d;e=c[46086]|0;e=e+((Br(a)|0)*40|0)|0;while(1){f=e+32|0;e=c[f>>2]|0;if(!e)break;d=+h[i>>3];g=+h[e+24>>3];if(d>g)continue;if(!(d==g))break;if(!(+h[b>>3]>+h[c[e+20>>2]>>3]))break}c[a+32>>2]=e;c[f>>2]=a;c[46087]=(c[46087]|0)+1;return}function Br(a){a=a|0;var b=0.0,d=0,e=0.0;d=c[46088]|0;e=+(d|0);b=(+h[a+24>>3]-+h[22888])/+h[22890]*e;do if(!(b<0.0))if(!(b>=e)){a=~~b;break}else{a=d+-1|0;break}else a=0;while(0);if((a|0)<(c[46089]|0))c[46089]=a;return a|0}function Cr(a){a=a|0;var b=0,d=0,e=0;d=a+20|0;if(c[d>>2]|0){b=c[46086]|0;b=b+((Br(a)|0)*40|0)|0;do{e=b+32|0;b=c[e>>2]|0}while((b|0)!=(a|0));c[e>>2]=c[a+32>>2];c[46087]=(c[46087]|0)+-1;Nt(c[d>>2]|0);c[d>>2]=0}return}function Dr(){return (c[46087]|0)==0|0}function Er(a){a=a|0;var b=0,d=0,e=0,f=0.0;b=c[46086]|0;d=c[46089]|0;while(1){e=c[b+(d*40|0)+32>>2]|0;if(e|0)break;e=d+1|0;c[46089]=e;d=e}f=+h[e+24>>3];h[a>>3]=+h[c[e+20>>2]>>3];h[a+8>>3]=f;return}function Fr(){var a=0,b=0;b=(c[46086]|0)+((c[46089]|0)*40|0)+32|0;a=c[b>>2]|0;c[b>>2]=c[a+32>>2];c[46087]=(c[46087]|0)+-1;return a|0}function Gr(){C_(c[46086]|0);c[46086]=0;return}function Hr(){var a=0,b=0,d=0;c[46087]=0;c[46089]=0;a=c[46085]|0;b=a<<2;c[46088]=b;d=c[46086]|0;if(!d){d=uH(a*160|0)|0;c[46086]=d;b=c[46088]|0}a=0;while(1){if((a|0)>=(b|0))break;c[d+(a*40|0)+32>>2]=0;a=a+1|0}return}function Ir(){ft(184368,40);C_(c[46095]|0);c[46095]=0;return}function Jr(){var a=0,b=0,d=0;ft(184368,40);a=c[46085]|0;b=a<<1;c[46096]=b;d=c[46095]|0;if(!d){d=uH(a<<3)|0;c[46095]=d;b=c[46096]|0}a=0;while(1){if((a|0)>=(b|0))break;c[d+(a<<2)>>2]=0;a=a+1|0}c[46090]=Kr(0,0)|0;c[46091]=Kr(0,0)|0;c[c[46090]>>2]=0;d=c[46091]|0;b=c[46090]|0;c[b+4>>2]=d;c[d>>2]=b;c[(c[46091]|0)+4>>2]=0;d=c[46095]|0;c[d>>2]=c[46090];c[d+((c[46096]|0)+-1<<2)>>2]=c[46091];return}function Kr(b,d){b=b|0;d=d|0;var e=0;e=ht(184368)|0;c[e+8>>2]=b;a[e+16>>0]=d;c[e+32>>2]=0;c[e+20>>2]=0;c[e+12>>2]=0;return e|0}function Lr(b,d){b=b|0;d=d|0;var e=0,f=0.0,g=0.0,i=0,j=0.0,k=0,l=0.0,m=0.0,n=0.0,o=0,p=0.0,q=0.0;i=c[b+8>>2]|0;k=c[d+8>>2]|0;do if((!((i|0)==0|(k|0)==0)?(o=c[i+36>>2]|0,e=c[k+36>>2]|0,(o|0)!=(e|0)):0)?(j=+h[i>>3],f=+h[k+8>>3],g=+h[i+8>>3],l=+h[k>>3],m=f*j-l*g,!(m>-1.0e-10&m<1.0e-10)):0){p=+h[i+16>>3];q=+h[k+16>>3];n=(p*f-q*g)/m;j=(q*j-p*l)/m;f=+h[o+8>>3];g=+h[e+8>>3];do if(f>3]<+h[e>>3]:0){e=o;break}b=d}while(0);b=a[b+16>>0]|0;if(!(n>=+h[e>>3])){if(b<<24>>24==1){b=0;break}}else if(!(b<<24>>24)){b=0;break}b=Kt()|0;c[b+20>>2]=0;h[b>>3]=n;h[b+8>>3]=j}else b=0;while(0);return b|0}function Mr(b,d){b=b|0;d=d|0;var e=0.0,f=0,g=0.0,i=0.0,j=0.0,k=0,l=0.0,m=0,n=0,o=0.0,p=0;n=c[b+8>>2]|0;k=c[n+36>>2]|0;l=+h[d>>3];o=+h[k>>3];m=l>o;p=a[b+16>>0]|0;if(m)if(!(p<<24>>24))b=1;else f=4;else if(p<<24>>24==1)b=0;else f=4;if((f|0)==4){e=+h[n>>3];a:do if(e==1.0){e=+h[d+8>>3];g=e-+h[k+8>>3];i=l-o;j=+h[n+8>>3];d=j<0.0;do if(m?j>=0.0:d){if(g>=j*i){b=1;break a}}else{b=j*e+l>+h[n+16>>3];if(d)if(b){b=0;break a}else break;else if(b)break;else{b=0;break a}}while(0);o=o-+h[c[n+32>>2]>>3];b=j*(i*i-g*g)>3]-l*e;j=+h[d+8>>3]-i;o=l-o;l=i-+h[k+8>>3];b=j*j>l*l+o*o}while(0);b=(b^p<<24>>24!=0)&1}return b|0}function Nr(a,b){a=a|0;b=b|0;c[b>>2]=a;a=a+4|0;c[b+4>>2]=c[a>>2];c[c[a>>2]>>2]=b;c[a>>2]=b;return}function Or(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;f=c[46096]|0;b=~~((+h[a>>3]-+h[22887])/+h[22889]*+(f|0));b=(b|0)>0?b:0;f=(b|0)<(f|0)?b:f+-1|0;b=Pr(f)|0;if(!b){d=1;while(1){b=Pr(f-d|0)|0;if(b|0)break;b=Pr(d+f|0)|0;if(b|0)break;d=d+1|0}c[46097]=(c[46097]|0)+d}c[46098]=(c[46098]|0)+1;e=c[46090]|0;d=c[46091]|0;a:do if((b|0)==(e|0))g=9;else{if((b|0)!=(d|0)?(Mr(b,a)|0)!=0:0){g=9;break}while(1){b=c[b>>2]|0;if((b|0)==(e|0))break a;if(Mr(b,a)|0){e=b;break}}}while(0);if((g|0)==9){while(1){b=c[b+4>>2]|0;if((b|0)==(d|0))break;if(!(Mr(b,a)|0))break;else g=9}e=c[b>>2]|0}if((f|0)>0?(f|0)<((c[46096]|0)+-1|0):0){b=(c[46095]|0)+(f<<2)|0;d=c[b>>2]|0;if(d|0){g=d+12|0;c[g>>2]=(c[g>>2]|0)+-1}c[b>>2]=e;g=e+12|0;c[g>>2]=(c[g>>2]|0)+1}return e|0}function Pr(a){a=a|0;var b=0,d=0;if((a|0)>-1&(c[46096]|0)>(a|0)?(d=(c[46095]|0)+(a<<2)|0,b=c[d>>2]|0,(b|0)!=0):0){if((c[b+8>>2]|0)==(-2|0)){c[d>>2]=0;a=b+12|0;d=(c[a>>2]|0)+-1|0;c[a>>2]=d;if(!d){it(b,184368);b=0}else b=0}}else b=0;return b|0}function Qr(a){a=a|0;var b=0,d=0;b=a+4|0;d=c[a>>2]|0;c[d+4>>2]=c[b>>2];c[c[b>>2]>>2]=d;c[a+8>>2]=-2;return}function Rr(a){a=a|0;return c[a+4>>2]|0}function Sr(a){a=a|0;return c[a>>2]|0}function Tr(b){b=b|0;var d=0;d=c[b+8>>2]|0;if(!d)b=184588;else b=(a[b+16>>0]|0)==0?d+32|0:d+36|0;return c[b>>2]|0}function Ur(b){b=b|0;var d=0;d=c[b+8>>2]|0;if(!d)b=184588;else b=(a[b+16>>0]|0)==0?d+36|0:d+32|0;return c[b>>2]|0}function Vr(){ft(184400,24);return}function Wr(a,b,d){a=a|0;b=+b;d=+d;var e=0,f=0,g=0,i=0,j=0;j=l;l=l+32|0;i=j;g=(c[46099]|0)+((c[a+16>>2]|0)*96|0)+88|0;f=c[g>>2]|0;h[i+8>>3]=b;h[i+16>>3]=d;e=Xr(a,i,f)|0;do if(e|0){if((e|0)<0){i=ht(184400)|0;h[i+8>>3]=b;h[i+16>>3]=d;c[i>>2]=f;c[g>>2]=i;break}while(1){e=c[f>>2]|0;g=Xr(a,i,e)|0;if((g|0)>0)f=e;else break}if(g|0){i=ht(184400)|0;h[i+8>>3]=b;h[i+16>>3]=d;c[f>>2]=i;c[i>>2]=e}}while(0);l=j;return}function Xr(a,b,c){a=a|0;b=b|0;c=c|0;var d=0.0,e=0.0,f=0.0,g=0.0,i=0.0,j=0.0,k=0.0;do if(c){e=+h[b+8>>3];i=+h[c+8>>3];d=+h[b+16>>3];f=+h[c+16>>3];if(!(e==i&d==f)){k=+h[a>>3];j=e-k;e=+h[a+8>>3];g=d-e;i=i-k;d=f-e;if(!(j>=0.0)){if(i>=0.0){b=1;break}e=d/i;d=g/j;if(de){b=1;break}b=j>i?-1:1;break}if(!(i<0.0)){b=i>0.0;if(!(j>0.0)){if(b){b=!(g<=0.0)?1:-1;break}if(g0.0?-1:1;break}e=d/i;d=g/j;if(de){b=1;break}b=j>2]|0;d=a+(d*20|0)+4|0;b=1;a=0;while(1){if((b|0)>=(f|0))break;g=a+((c[e+(c[(c[d>>2]|0)+(b<<2)>>2]<<2)>>2]|0)>0&1)|0;b=b+1|0;a=g}return a|0}function Zr(a,b,d){a=a|0;b=b|0;d=d|0;var e=0;e=a+(b*20|0)|0;b=a+(b*20|0)+4|0;a=1;while(1){if((a|0)>=(c[e>>2]|0))break;c[d+(c[(c[b>>2]|0)+(a<<2)>>2]<<2)>>2]=1;a=a+1|0}return}function _r(a,b,d){a=a|0;b=b|0;d=d|0;var e=0;e=a+(b*20|0)|0;b=a+(b*20|0)+4|0;a=1;while(1){if((a|0)>=(c[e>>2]|0))break;c[d+(c[(c[b>>2]|0)+(a<<2)>>2]<<2)>>2]=0;a=a+1|0}return}function $r(a,b){a=a|0;b=b|0;if(!(c[a+8>>2]|0))a=bs(a,b)|0;else a=as(a,b)|0;return a|0}function as(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;f=b<<2;e=uH(O(f,b)|0)|0;f=uH(f)|0;d=0;while(1){if((d|0)>=(b|0)){d=0;break}c[f+(d<<2)>>2]=e+((O(d,b)|0)<<2);d=d+1|0}while(1){if((d|0)>=(b|0))break;br(d,a,b,c[f+(d<<2)>>2]|0);d=d+1|0}return f|0}function bs(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;h=l;l=l+16|0;f=h;g=b<<2;e=uH(O(g,b)|0)|0;g=uH(g)|0;d=0;while(1){if((d|0)>=(b|0))break;c[g+(d<<2)>>2]=e+((O(d,b)|0)<<2);d=d+1|0}yq(f,b);d=0;while(1){if((d|0)>=(b|0))break;uq(d,a,b,c[g+(d<<2)>>2]|0,f);d=d+1|0}zq(f);l=h;return g|0}function cs(a,b){a=a|0;b=b|0;var d=0,e=0;e=c[a+8>>2]|0;ds(a,b);d=as(a,b)|0;es(a,b,e);return d|0}function ds(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;l=uH(b<<2)|0;d=0;e=0;while(1){if((d|0)>=(b|0))break;k=(c[a+(d*20|0)>>2]|0)+e|0;d=d+1|0;e=k}e=uH(e<<2)|0;d=0;while(1){if((d|0)>=(b|0))break;c[l+(d<<2)>>2]=0;d=d+1|0}f=0;while(1){if((f|0)>=(b|0))break;c[a+(f*20|0)+8>>2]=e;Zr(a,f,l);h=a+(f*20|0)|0;i=c[h>>2]|0;j=a+(f*20|0)+4|0;k=i+-2|0;d=1;while(1){if((d|0)>=(i|0))break;m=c[(c[j>>2]|0)+(d<<2)>>2]|0;n=c[a+(m*20|0)>>2]|0;g[e+(d<<2)>>2]=+(k+n-((Yr(a,0,m,l)|0)<<1)|0);d=d+1|0}_r(a,f,l);e=e+(c[h>>2]<<2)|0;f=f+1|0}C_(l);return}function es(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;e=a+8|0;C_(c[e>>2]|0);c[e>>2]=0;a:do if(d|0){e=0;while(1){if((e|0)>=(b|0))break a;c[a+(e*20|0)+8>>2]=d;f=d+(c[a+(e*20|0)>>2]<<2)|0;e=e+1|0;d=f}}while(0);return}function fs(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0.0,i=0.0,j=0;f=0;g=0.0;while(1){if((f|0)>=(b|0))break;j=c[a+(f<<2)>>2]|0;i=+h[j+(d<<3)>>3]-+h[j+(e<<3)>>3];f=f+1|0;g=i*i+g}return +(+C(+g))}function gs(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;if((e|0)>(d|0)){c[46103]=a;Z0(b+(d<<2)|0,1-d+e|0,4,76)}return}function hs(a,b){a=a|0;b=b|0;var d=0.0,e=0.0,f=0;f=c[46103]|0;e=+g[f+(c[a>>2]<<2)>>2];d=+g[f+(c[b>>2]<<2)>>2];return (ed&1)|0}function is(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0;h=l;l=l+16|0;f=h;if((d|0)<(e|0)){js(a,b,d,e,f);g=c[f>>2]|0;f=g+-1|0;is(a,b,d,f);g=g+1|0;is(a,b,g,e);if(!(ks(a,b,d,f)|0))is(a,b,d,f);if(!(ks(a,b,g,e)|0))is(a,b,g,e)}l=h;return}function js(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,i=0,j=0,k=0,l=0.0,m=0,n=0;g=f2()|0;g=b+(((((f2()|0)<<16|g)>>>0)%((1-d+e|0)>>>0)|0)+d<<2)|0;j=c[g>>2]|0;k=b+(d<<2)|0;c[g>>2]=c[k>>2];c[k>>2]=j;l=+h[a+(j<<3)>>3];g=d+1|0;d=e;a:while(1){if((g|0)>=(d|0))break;while(1){if((g|0)>=(d|0))break;if(!(+h[a+(c[b+(g<<2)>>2]<<3)>>3]<=l))break;g=g+1|0}while(1){if((g|0)>=(d|0))continue a;e=b+(d<<2)|0;i=c[e>>2]|0;if(!(+h[a+(i<<3)>>3]>l))break;d=d+-1|0}n=b+(g<<2)|0;m=c[n>>2]|0;c[n>>2]=i;c[e>>2]=m;g=g+1|0;d=d+-1|0}n=g+((+h[a+(c[b+(g<<2)>>2]<<3)>>3]>l)<<31>>31)|0;c[f>>2]=n;n=b+(n<<2)|0;c[k>>2]=c[n>>2];c[n>>2]=j;return}function ks(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0;g=1;while(1){f=d+1|0;if(!((d|0)<(e|0)&(g|0)!=0))break;g=+h[a+(c[b+(d<<2)>>2]<<3)>>3]>+h[a+(c[b+(f<<2)>>2]<<3)>>3]?0:g;d=f}return g|0}function ls(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0.0,i=0.0,j=0.0,k=0.0,m=0,n=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0.0,A=0.0;x=l;l=l+16|0;v=4;w=B_(40)|0;c[w>>2]=0;t=x;o=0;u=$(23,b*40|0)|0;d=o;o=0;if((d|0)!=0&(p|0)!=0){e=D3(c[d>>2]|0,w|0,v|0)|0;if(!e)bb(d|0,p|0);z=p}else e=-1;if((e|0)!=1){d=0;r=0;while(1){if((d|0)>=(b|0))break;s=(c[(c[a+(d<<2)>>2]|0)+4>>2]|0)+r|0;d=d+1|0;r=s}o=0;s=$(23,r*24|0)|0;d=o;o=0;if((d|0)!=0&(p|0)!=0){e=D3(c[d>>2]|0,w|0,v|0)|0;if(!e)bb(d|0,p|0);z=p}else e=-1;if((e|0)!=1){d=0;m=0;while(1){if((m|0)>=(b|0))break;n=u+(m*40|0)|0;c[n>>2]=s+(d*24|0);q=a+(m<<2)|0;f=0;g=1797693134862315708145274.0e284;i=-1797693134862315708145274.0e284;j=-1797693134862315708145274.0e284;k=1797693134862315708145274.0e284;while(1){e=c[q>>2]|0;if((f|0)>=(c[e+4>>2]|0))break;e=c[e>>2]|0;A=+h[e+(f<<4)>>3];y=+h[e+(f<<4)+8>>3];h[s+(d*24|0)>>3]=A;h[s+(d*24|0)+8>>3]=y;c[s+(d*24|0)+16>>2]=n;c[s+(d*24|0)+20>>2]=0;f=f+1|0;d=d+1|0;g=gA?i:A;j=j>y?j:y;k=k>2]=s+((d+-1|0)*24|0);h[u+(m*40|0)+8>>3]=g;h[u+(m*40|0)+16>>3]=k;h[u+(m*40|0)+24>>3]=i;h[u+(m*40|0)+32>>3]=j;m=m+1|0}c[t>>2]=r;c[t+4>>2]=b;w=C3(184416,1,w|0,v|0)|0;v=z;o=0;d=o;o=0;if((d|0)!=0&(p|0)!=0){e=D3(c[d>>2]|0,w|0,v|0)|0;if(!e)bb(d|0,p|0);z=p}else e=-1;if((e|0)==1){d=z;q=s;m=s;n=u}else{d=0;q=s;m=s;n=u}}else{d=z;q=0;m=s;n=u}}else{d=z;q=0;m=0;n=0}while(1){if(d|0){o=0;ia(103,u|0);d=o;o=0;if((d|0)!=0&(p|0)!=0){e=D3(c[d>>2]|0,w|0,v|0)|0;if(!e)bb(d|0,p|0);z=p}else e=-1;if((e|0)==1){f=n;r=m;s=q;d=z;n=f;m=r;q=s;continue}o=0;ia(103,m|0);d=o;o=0;if((d|0)!=0&(p|0)!=0){e=D3(c[d>>2]|0,w|0,v|0)|0;if(!e)bb(d|0,p|0);z=p}else e=-1;if((e|0)==1){f=n;r=m;s=q;d=z;n=f;m=r;q=s;continue}else{e=17;break}}o=0;d=aa(77,q|0,t|0)|0;e=o;o=0;if((e|0)!=0&(p|0)!=0){f=D3(c[e>>2]|0,w|0,v|0)|0;if(!f)bb(e|0,p|0);z=p}else f=-1;if((f|0)==1){f=n;r=m;s=q;d=z;n=f;m=r;q=s;continue}if(!d){o=0;d=ca(24,a|0,b|0,n|0)|0;e=o;o=0;if((e|0)!=0&(p|0)!=0){f=D3(c[e>>2]|0,w|0,v|0)|0;if(!f)bb(e|0,p|0);z=p}else f=-1;if((f|0)==1){f=n;r=m;s=q;d=z;n=f;m=r;q=s;continue}}o=0;ia(103,u|0);e=o;o=0;if((e|0)!=0&(p|0)!=0){f=D3(c[e>>2]|0,w|0,v|0)|0;if(!f)bb(e|0,p|0);z=p}else f=-1;if((f|0)==1){f=n;r=m;s=q;d=z;n=f;m=r;q=s;continue}o=0;ia(103,m|0);e=o;o=0;if((e|0)!=0&(p|0)!=0){f=D3(c[e>>2]|0,w|0,v|0)|0;if(!f)bb(e|0,p|0);z=p}else f=-1;if((f|0)==1){f=n;r=m;s=q;d=z;n=f;m=r;q=s}else{e=24;break}}if((e|0)==17)d=0;else if((e|0)==24)d=(d|0)==0&1;C_(w|0);l=x;return d|0}function ms(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0;v=l;l=l+16|0;q=v;o=v+8|0;p=v+4|0;c[b+8>>2]=0;u=uH(c[b>>2]<<2)|0;f=c[b>>2]|0;e=0;while(1){if((e|0)>=(f|0))break;c[u+(e<<2)>>2]=a+(e*24|0);e=e+1|0}Z0(u,f,4,78);m=0;g=0;f=0;h=0;a:while(1){if((m|0)>=(c[b>>2]|0)){s=0;d=g;t=h;break}n=u+(m<<2)|0;e=c[n>>2]|0;c[o>>2]=e;a=c[e+16>>2]|0;if((c[a>>2]|0)==(e|0))e=c[a+4>>2]|0;else e=e+-24|0;c[p>>2]=e;k=0;a=g;j=h;while(1){if((k|0)>=2)break;switch(os(o,p)|0){case -1:{g=0;h=a;while(1){if((g|0)>=(j|0))break;i=ps(c[h>>2]|0,e)|0;if(i|0){s=i;d=a;t=j;break a}g=g+1|0;h=c[h+4>>2]|0}g=uH(12)|0;if(!j){f=0;a=g}else c[f+4>>2]=g;c[g+8>>2]=f;c[g>>2]=e;c[g+4>>2]=0;c[e+20>>2]=g;h=j+1|0;break}case 1:{e=e+20|0;g=c[e>>2]|0;if(!g){r=19;break a}do if((j|0)!=1){if((g|0)==(a|0)){a=c[a+4>>2]|0;c[a+8>>2]=0;break}if((g|0)==(f|0)){f=c[f+8>>2]|0;c[f+4>>2]=0;break}else{i=g+4|0;h=c[g+8>>2]|0;c[h+4>>2]=c[i>>2];c[(c[i>>2]|0)+8>>2]=h;break}}else{a=0;f=0}while(0);C_(g);c[e>>2]=0;g=f;h=j+-1|0;break}default:{g=f;h=j}}e=c[n>>2]|0;f=c[e+16>>2]|0;if((e|0)==(c[f+4>>2]|0))f=c[f>>2]|0;else f=e+24|0;c[p>>2]=f;k=k+1|0;f=g;j=h}m=m+1|0;g=a;h=j}if((r|0)==19){Ow(1,92219,q)|0;bb(184416,1)}e=0;while(1){if((e|0)>=(t|0))break;r=c[d+4>>2]|0;C_(d);e=e+1|0;d=r}C_(u);l=v;return s|0}function ns(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0.0,g=0,i=0,j=0.0,k=0.0,m=0,n=0,o=0,p=0,q=0,r=0.0,s=0.0,t=0.0,u=0,v=0.0,w=0.0,x=0.0,y=0.0,z=0,A=0,B=0,C=0,D=0,E=0.0;D=l;l=l+48|0;o=D+24|0;n=D+16|0;u=D;e=0;a:while(1){if((e|0)>=(b|0)){e=0;break}z=c[a+(e<<2)>>2]|0;A=c[z>>2]|0;c[u>>2]=c[A>>2];c[u+4>>2]=c[A+4>>2];c[u+8>>2]=c[A+8>>2];c[u+12>>2]=c[A+12>>2];A=e+1|0;B=d+(e*40|0)+8|0;p=d+(e*40|0)+24|0;q=d+(e*40|0)+32|0;g=d+(e*40|0)+16|0;e=A;while(1){if((e|0)>=(b|0)){e=A;continue a}i=c[a+(e<<2)>>2]|0;j=+h[B>>3];k=+h[d+(e*40|0)+24>>3];m=!(j<=k);f=+h[d+(e*40|0)+8>>3];if((((!(m|!(j>=f))?(r=+h[g>>3],s=+h[d+(e*40|0)+32>>3],r<=s):0)?(t=+h[d+(e*40|0)+16>>3],r>=t):0)?(E=+h[p>>3],!(!(E<=k)|!(E>=f))):0)?(E=+h[q>>3],!(!(E<=s)|!(E>=t))):0){c[n>>2]=c[i>>2];c[n+4>>2]=c[i+4>>2];c[o>>2]=c[u>>2];c[o+4>>2]=c[u+4>>2];c[o+8>>2]=c[u+8>>2];c[o+12>>2]=c[u+12>>2];if(vU(n,o)|0){e=1;break a}}else C=11;if((((((C|0)==11?(C=0,v=+h[p>>3],!(!(f<=v)|!(f>=j))):0)?(w=+h[d+(e*40|0)+16>>3],x=+h[q>>3],w<=x):0)?(y=+h[g>>3],!(!(w>=y)|(!(k<=v)|m))):0)?(E=+h[d+(e*40|0)+32>>3],!(!(E<=x)|!(E>=y))):0)?(m=c[i>>2]|0,c[n>>2]=c[z>>2],c[n+4>>2]=c[z+4>>2],c[o>>2]=c[m>>2],c[o+4>>2]=c[m+4>>2],c[o+8>>2]=c[m+8>>2],c[o+12>>2]=c[m+12>>2],vU(n,o)|0):0){e=1;break a}e=e+1|0}}l=D;return e|0}function os(a,b){a=a|0;b=b|0;var d=0.0,e=0;e=c[a>>2]|0;a=c[b>>2]|0;d=+h[e>>3]-+h[a>>3];if(!(d!=0.0)){d=+h[e+8>>3]-+h[a+8>>3];if(d==0.0)a=0;else a=d>0.0?1:-1}else a=d>0.0?1:-1;return a|0}function ps(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,i=0,j=0,k=0,m=0;m=l;l=l+64|0;g=m+32|0;i=m+24|0;j=m+16|0;k=m;f=m+48|0;qs(a,b,f);d=f+8|0;e=c[d>>2]|0;do if((e|0)>0)d=0;else{if((e|0)<0){qs(b,a,f);d=c[d>>2]|0;if((d|0)>0){d=0;break}if((d|0)<0)d=3;else{d=c[f>>2]|0;d=rs(b,a,(d|0)>-1?d:0-d|0)|0}if(!(ss(a,b,i,j,d)|0)){d=0;break}}else{d=c[f>>2]|0;if((d|0)==(c[f+4>>2]|0)){d=rs(a,b,0)|0;d=(rs(a,b,(d|0)<=(rs(a,b,1)|0)&1)|0)<<1}else d=rs(a,b,(d|0)>-1?d:0-d|0)|0;if(!(ss(a,b,i,j,d)|0)){d=0;break}}h[k>>3]=+h[i>>3];h[k+8>>3]=+h[j>>3];c[g>>2]=c[k>>2];c[g+4>>2]=c[k+4>>2];c[g+8>>2]=c[k+8>>2];c[g+12>>2]=c[k+12>>2];d=ts(a,b,g)|0}while(0);l=m;return d|0}function qs(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0.0,g=0.0,i=0.0,j=0.0,k=0.0,l=0.0;i=+h[a>>3];j=+h[a+8>>3];e=c[a+16>>2]|0;if((c[e+4>>2]|0)==(a|0)){a=c[e>>2]|0;e=a}else{e=a+24|0;a=a+24|0}g=+h[e>>3]-i;f=+h[a+8>>3]-j;e=c[b+16>>2]|0;if((c[e+4>>2]|0)==(b|0)){a=c[e>>2]|0;e=a}else{e=b+24|0;a=b+24|0}k=+h[e>>3]-i;l=+h[a+8>>3]-j;j=(+h[b+8>>3]-j)*g-(+h[b>>3]-i)*f;b=j==0.0?0:j>0.0?1:-1;c[d>>2]=b;j=l*g-k*f;a=j==0.0?0:j>0.0?1:-1;c[d+4>>2]=a;c[d+8>>2]=O(a,b)|0;return}function rs(a,b,d){a=a|0;b=b|0;d=d|0;var e=0.0,f=0,g=0.0,i=0.0,j=0.0,k=0.0,l=0.0;k=+h[a>>3];l=+h[a+8>>3];f=c[a+16>>2]|0;if((c[f+4>>2]|0)==(a|0))a=c[f>>2]|0;else a=a+24|0;j=+h[a>>3];i=+h[a+8>>3];do if(d){a=c[b+16>>2]|0;if((c[a+4>>2]|0)==(b|0)){b=c[a>>2]|0;break}else{b=b+24|0;break}}while(0);g=+h[b>>3];e=+h[b+8>>3];if(k==j)if(k==g)b=(vs(l,e,i)|0)!=-1&1;else b=0;else b=vs(k,g,j)|0;return b|0}function ss(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,i=0.0,j=0.0,k=0.0,l=0.0,m=0.0,n=0.0,o=0.0,p=0.0;a:do if((f|0)<1)g=0;else{n=+h[a>>3];p=+h[a+8>>3];g=c[a+16>>2]|0;if((c[g+4>>2]|0)==(a|0))g=c[g>>2]|0;else g=a+24|0;l=+h[g>>3];j=+h[g+8>>3];m=+h[b>>3];o=+h[b+8>>3];g=c[b+16>>2]|0;if((c[g+4>>2]|0)==(b|0))g=c[g>>2]|0;else g=b+24|0;k=+h[g>>3];i=+h[g+8>>3];b:do switch(f|0){case 3:{if(n==l){h[d>>3]=n;i=(o-i)/(m-k)*(n-k)+i;break b}if(m==k){h[d>>3]=m;i=(p-j)/(n-l)*(m-l)+j;break b}else{k=(o-i)/(m-k);l=(p-j)/(n-l);o=o-k*m;p=p-l*n;i=k-l;h[d>>3]=(p-o)/i;i=(k*p-o*l)/i;break b}}case 2:{if((rs(a,b,0)|0)==-1)if((rs(b,a,1)|0)==-1){f=(rs(b,a,0)|0)==-1;l=f?l:n;k=m;j=f?j:p;i=o}else{l=k;k=m;j=i;i=o}else if((rs(a,b,1)|0)!=-1)if((rs(b,a,0)|0)==-1){k=n;i=p}else{g=0;break a}else{l=m;j=o}h[d>>3]=(k+l)*.5;i=(i+j)*.5;break}case 1:if((o-p)*(n-l)==(m-n)*(p-j)){h[d>>3]=m;i=o;break b}else{h[d>>3]=k;break b}default:{g=1;break a}}while(0);h[e>>3]=i;g=1}while(0);return g|0}function ts(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0.0,g=0.0,i=0.0,j=0.0,k=0.0,m=0.0,n=0.0,o=0.0,p=0.0,q=0,r=0,s=0;s=l;l=l+16|0;q=s;o=+h[a>>3];p=+h[a+8>>3];e=c[a+16>>2]|0;if((c[e+4>>2]|0)==(a|0))e=c[e>>2]|0;else e=a+24|0;m=+h[e>>3];j=+h[e+8>>3];k=+h[b>>3];n=+h[b+8>>3];e=c[b+16>>2]|0;if((c[e+4>>2]|0)==(b|0))e=c[e>>2]|0;else e=b+24|0;i=+h[e>>3];g=+h[e+8>>3];a:do if(!(o!=m&k!=i)){do if(o==m){f=+h[d>>3];if(o==f?p==+h[d+8>>3]:0)break;if(!(m==f)){r=18;break a}if(!(j==+h[d+8>>3])){r=18;break a}}while(0);if(k==i){f=+h[d>>3];if(k==f?n==+h[d+8>>3]:0){e=0;break}if(i==f?g==+h[d+8>>3]:0)e=0;else r=18}else e=0}else r=18;while(0);if((r|0)==18)if(0>1){e=c[15686]|0;p=+h[d+8>>3];h[q>>3]=+h[d>>3];h[q+8>>3]=p;f1(e,92248,q)|0;us(1,a);us(2,b);e=1}else e=1;l=s;return e|0}function us(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0.0,i=0.0,j=0,k=0,m=0.0,n=0.0;k=l;l=l+48|0;j=k;f=c[15686]|0;g=+h[b>>3];i=+h[b+8>>3];d=c[b+16>>2]|0;if((c[d+4>>2]|0)==(b|0)){d=c[d>>2]|0;e=d}else{e=b+24|0;d=b+24|0}n=+h[e>>3];m=+h[d+8>>3];c[j>>2]=a;h[j+8>>3]=g;h[j+16>>3]=i;h[j+24>>3]=n;h[j+32>>3]=m;f1(f,92276,j)|0;l=k;return}function vs(a,b,c){a=+a;b=+b;c=+c;return (a==b|b==c?0:(a>3]=0.0;e=e+1|0}h[f+(a<<3)>>3]=1.0;lv(c[b+(a<<2)>>2]|0,f,d);a=a+1|0}C_(f);f=0;while(1){if((f|0)>=(d|0)){a=1;break a}e=b+(f<<2)|0;a=0;while(1){if((a|0)==(f|0))break;j=(c[e>>2]|0)+(a<<3)|0;i=+h[j>>3];g=(c[b+(a<<2)>>2]|0)+(f<<3)|0;h[j>>3]=+h[g>>3];h[g>>3]=i;a=a+1|0}f=f+1|0}}while(0);return a|0}function xs(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var i=0,j=0.0,k=0,l=0.0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;q=b<<3;p=uH(q)|0;q=uH(q)|0;r=b*30|0;n=(d|0)<(b|0)?d:b;o=b+-1|0;m=(g|0)==0;d=0;i=0;a:while(1){if((i|0)>=(n|0))break;k=c[e+(i<<2)>>2]|0;do{b:do if(m)d=0;else{d=0;while(1){if((d|0)==(b|0)){d=0;break b}h[k+(d<<3)>>3]=+((f2()|0)%100|0|0);d=d+1|0}}while(0);while(1){if((d|0)==(i|0))break;g=c[e+(d<<2)>>2]|0;zs(k,0,o,-+ys(g,0,o,k),g);d=d+1|0}j=+As(k,0,o)}while(j<1.0e-10);Bs(k,0,o,1.0/j,k);d=0;do{Cs(q,0,o,k);Ds(a,b,b,k,p);Cs(k,0,o,p);g=0;while(1){if((g|0)==(i|0))break;s=c[e+(g<<2)>>2]|0;zs(k,0,o,-+ys(s,0,o,k),s);g=g+1|0}s=d;d=d+1|0;j=+As(k,0,o);if(!((s|0)<(r|0)&!(j<1.0e-10)))break a;Bs(k,0,o,1.0/j,k);l=+ys(k,0,o,q)}while(+B(+l)<.999);h[f+(i<<3)>>3]=l*j;i=i+1|0}while(1){if((i|0)>=(n|0))break;k=c[e+(i<<2)>>2]|0;g=0;while(1){if((g|0)>=(b|0)){g=0;break}h[k+(g<<3)>>3]=+((f2()|0)%100|0|0);g=g+1|0}while(1){if((g|0)>=(i|0))break;s=c[e+(g<<2)>>2]|0;zs(k,0,o,-+ys(s,0,o,k),s);g=g+1|0}Bs(k,0,o,1.0/+As(k,0,o),k);h[f+(i<<3)>>3]=0.0;i=i+1|0}m=n+-1|0;i=0;while(1){if((i|0)>=(m|0))break;a=f+(i<<3)|0;b=i+1|0;j=+h[a>>3];g=i;k=b;while(1){if((k|0)>=(n|0))break;l=+h[f+(k<<3)>>3];s=j>2]|0);s=e+(g<<2)|0;Cs(c[k>>2]|0,0,o,c[s>>2]|0);Cs(c[s>>2]|0,0,o,p);h[f+(g<<3)>>3]=+h[a>>3];h[a>>3]=j;i=b}C_(p);C_(q);return (d|0)<=(r|0)|0}function ys(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0.0;f=0.0;e=1-b+c|0;d=d+(b<<3)|0;c=a+(b<<3)|0;while(1){if(!e)break;f=+h[d>>3]*+h[c>>3]+f;e=e+-1|0;d=d+8|0;c=c+8|0}return +f}function zs(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=+d;e=e|0;var f=0;f=1-b+c|0;e=e+(b<<3)|0;c=a+(b<<3)|0;while(1){if(!f)break;h[c>>3]=+h[c>>3]+ +h[e>>3]*d;f=f+-1|0;e=e+8|0;c=c+8|0}return}function As(a,b,c){a=a|0;b=b|0;c=c|0;return +(+C(+(+ys(a,b,c,a))))}function Bs(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=+d;e=e|0;var f=0;f=1-b+c|0;e=e+(b<<3)|0;c=a+(b<<3)|0;while(1){if(!f)break;h[c>>3]=+h[e>>3]*d;f=f+-1|0;e=e+8|0;c=c+8|0}return}function Cs(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0;e=1-b+c|0;d=d+(b<<3)|0;c=a+(b<<3)|0;while(1){if(!e)break;h[c>>3]=+h[d>>3];e=e+-1|0;d=d+8|0;c=c+8|0}return}function Ds(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0.0,i=0,j=0,k=0;j=0;while(1){if((j|0)>=(b|0))break;k=a+(j<<2)|0;g=0.0;i=0;while(1){if((i|0)>=(d|0))break;g=+h[e+(i<<3)>>3]*+h[(c[k>>2]|0)+(i<<3)>>3]+g;i=i+1|0}h[f+(j<<3)>>3]=g;j=j+1|0}return}function Es(a,b,d,e,f,i){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;i=i|0;var j=0,k=0,l=0.0,m=0,n=0,o=0,p=0.0;k=c[i>>2]|0;if(!k){o=d<<2;j=B_(O(o,f)|0)|0;o=B_(o)|0}else{o=d<<2;j=E_(c[k>>2]|0,O(o,f)|0)|0;o=E_(k,o)|0}c[i>>2]=o;k=0;while(1){if((k|0)>=(d|0)){i=0;break}c[o+(k<<2)>>2]=j;k=k+1|0;j=j+(f<<2)|0}while(1){if((i|0)>=(d|0))break;m=a+(i<<2)|0;n=o+(i<<2)|0;k=0;while(1){if((k|0)<(f|0)){j=0;l=0.0}else break;while(1){if((j|0)>=(e|0))break;p=+h[(c[m>>2]|0)+(j<<3)>>3]*+g[(c[b+(j<<2)>>2]|0)+(k<<2)>>2]+l;j=j+1|0;l=p}g[(c[n>>2]|0)+(k<<2)>>2]=l;k=k+1|0}i=i+1|0}return}function Fs(a,b,d,e,f,i){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;i=i|0;var j=0,k=0,l=0.0,m=0,n=0,o=0;k=c[i>>2]|0;if(!k){j=B_(O(d<<3,f)|0)|0;o=B_(d<<2)|0}else{j=E_(c[k>>2]|0,O(d<<3,f)|0)|0;o=E_(k,d<<2)|0}c[i>>2]=o;k=0;while(1){if((k|0)>=(d|0)){i=0;break}c[o+(k<<2)>>2]=j;k=k+1|0;j=j+(f<<3)|0}while(1){if((i|0)>=(d|0))break;m=a+(i<<2)|0;n=o+(i<<2)|0;k=0;while(1){if((k|0)<(f|0)){l=0.0;j=0}else break;while(1){if((j|0)>=(e|0))break;l=+h[(c[m>>2]|0)+(j<<3)>>3]*+g[(c[b+(j<<2)>>2]|0)+(k<<2)>>2]+l;j=j+1|0}h[(c[n>>2]|0)+(k<<3)>>3]=l;k=k+1|0}i=i+1|0}return}function Gs(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var i=0,j=0,k=0.0,l=0,m=0,n=0,o=0,p=0,q=0;j=c[f>>2]|0;if(!j){i=B_(O(d*20|0,e)|0)|0;q=B_(d<<2)|0}else{i=E_(c[j>>2]|0,O(d*20|0,e)|0)|0;q=E_(j,d<<2)|0}c[f>>2]=q;j=0;while(1){if((j|0)>=(d|0)){f=0;break}c[q+(j<<2)>>2]=i;j=j+1|0;i=i+(e<<2)|0}while(1){if((f|0)>=(d|0))break;l=c[a+(f*20|0)+4>>2]|0;m=c[a+(f*20|0)+8>>2]|0;n=c[a+(f*20|0)>>2]|0;o=q+(f<<2)|0;i=0;while(1){if((i|0)>=(e|0))break;p=b+(i<<2)|0;k=0.0;j=0;while(1){if((j|0)>=(n|0))break;k=+h[(c[p>>2]|0)+(c[l+(j<<2)>>2]<<3)>>3]*+g[m+(j<<2)>>2]+k;j=j+1|0}g[(c[o>>2]|0)+(i<<2)>>2]=k;i=i+1|0}f=f+1|0}return}function Hs(a,b){a=a|0;b=b|0;var c=0.0,d=0,e=0;c=0.0;d=b;e=a;while(1){if(!e)break;c=+h[d>>3]+c;d=d+8|0;e=e+-1|0}c=c/+(a|0);while(1){if(!a)break;h[b>>3]=+h[b>>3]-c;b=b+8|0;a=a+-1|0}return}function Is(a,b){a=a|0;b=b|0;var c=0;c=0;while(1){if((c|0)>=(a|0))break;h[b+(c<<3)>>3]=+((f2()|0)%500|0|0);c=c+1|0}Hs(a,b);return}function Js(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0.0,i=0,j=0,k=0,l=0,m=0;j=0;while(1){if((j|0)>=(b|0))break;k=c[a+(j*20|0)>>2]|0;l=a+(j*20|0)+8|0;m=a+(j*20|0)+4|0;f=0.0;i=0;while(1){if((i|0)>=(k|0))break;f=+h[d+(c[(c[m>>2]|0)+(i<<2)>>2]<<3)>>3]*+g[(c[l>>2]|0)+(i<<2)>>2]+f;i=i+1|0}h[e+(j<<3)>>3]=f;j=j+1|0}return}function Ks(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0.0,i=0,j=0,k=0;j=0;while(1){if((j|0)>=(b|0))break;k=a+(j<<2)|0;f=0.0;i=0;while(1){if((i|0)==(b|0))break;f=+h[d+(i<<3)>>3]*+g[(c[k>>2]|0)+(i<<2)>>2]+f;i=i+1|0}h[e+(j<<3)>>3]=f;j=j+1|0}return}function Ls(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0;e=0;while(1){if((e|0)>=(a|0))break;h[d+(e<<3)>>3]=+h[b+(e<<3)>>3]-+h[c+(e<<3)>>3];e=e+1|0}return}function Ms(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0;e=0;while(1){if((e|0)>=(a|0))break;h[d+(e<<3)>>3]=+h[c+(e<<3)>>3]+ +h[b+(e<<3)>>3];e=e+1|0}return}function Ns(a,b,c,d){a=a|0;b=b|0;c=+c;d=d|0;var e=0;e=0;while(1){if((e|0)>=(a|0))break;h[d+(e<<3)>>3]=+h[b+(e<<3)>>3]*c;e=e+1|0}return}function Os(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;d=0;while(1){if((d|0)>=(a|0))break;h[c+(d<<3)>>3]=+h[b+(d<<3)>>3];d=d+1|0}return}function Ps(a,b,c){a=a|0;b=b|0;c=c|0;var d=0.0,e=0;d=0.0;e=0;while(1){if((e|0)>=(a|0))break;d=+h[c+(e<<3)>>3]*+h[b+(e<<3)>>3]+d;e=e+1|0}return +d}function Qs(a,b){a=a|0;b=b|0;var c=0,d=0.0,e=0.0;c=0;d=-1.e+50;while(1){if((c|0)>=(a|0))break;e=+B(+(+h[b+(c<<3)>>3]));c=c+1|0;d=e>d?e:d}return +d}function Rs(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0.0,i=0,j=0;j=0;while(1){if((j|0)<(b|0)){g=0.0;i=0}else break;while(1){if((i|0)>=(d|0))break;g=+h[e+(i<<3)>>3]*+h[(c[a+(i<<2)>>2]|0)+(j<<3)>>3]+g;i=i+1|0}h[f+(j<<3)>>3]=g;j=j+1|0}return}function Ss(a,b){a=a|0;b=b|0;var c=0.0,d=0,e=0;c=0.0;d=b;e=a;while(1){if(!e)break;c=+g[d>>2]+c;d=d+4|0;e=e+-1|0}c=c/+(a|0);while(1){if(!a)break;g[b>>2]=+g[b>>2]-c;b=b+4|0;a=a+-1|0}return}function Ts(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0.0,h=0,i=0,j=0,k=0,l=0.0,m=0,n=0.0,o=0,p=0.0;e=0;while(1){if((e|0)>=(b|0)){h=0;j=0;m=b;break}g[d+(e<<2)>>2]=0.0;e=e+1|0}while(1){if((j|0)>=(b|0))break;l=+g[c+(j<<2)>>2];k=j+1|0;f=+g[a+(h<<2)>>2]*l;i=k;e=h;while(1){e=e+1|0;if((i|0)==(b|0))break;p=+g[a+(e<<2)>>2];n=+g[c+(i<<2)>>2]*p+f;o=d+(i<<2)|0;g[o>>2]=+g[o>>2]+p*l;f=n;i=i+1|0}o=d+(j<<2)|0;g[o>>2]=+g[o>>2]+f;h=h+m|0;j=k;m=m+-1|0}return}function Us(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0;e=0;while(1){if((e|0)>=(a|0))break;g[d+(e<<2)>>2]=+g[b+(e<<2)>>2]-+g[c+(e<<2)>>2];e=e+1|0}return}function Vs(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0;e=0;while(1){if((e|0)>=(a|0))break;g[d+(e<<2)>>2]=+g[c+(e<<2)>>2]+ +g[b+(e<<2)>>2];e=e+1|0}return}function Ws(a,b,c,d){a=a|0;b=b|0;c=+c;d=d|0;var e=0,f=0;e=0;while(1){if((e|0)>=(a|0))break;f=b+(e<<2)|0;g[f>>2]=+g[d+(e<<2)>>2]*c+ +g[f>>2];e=e+1|0}return}function Xs(a,b,c,d){a=a|0;b=b|0;c=+c;d=d|0;var e=0;e=0;while(1){if((e|0)>=(a|0))break;g[d+(e<<2)>>2]=+g[b+(e<<2)>>2]*c;e=e+1|0}return}function Ys(a,b,d){a=a|0;b=b|0;d=d|0;var e=0;e=0;while(1){if((e|0)>=(a|0))break;c[d+(e<<2)>>2]=c[b+(e<<2)>>2];e=e+1|0}return}function Zs(a,b,c){a=a|0;b=b|0;c=c|0;var d=0.0,e=0;d=0.0;e=0;while(1){if((e|0)>=(a|0))break;d=d+ +g[c+(e<<2)>>2]*+g[b+(e<<2)>>2];e=e+1|0}return +d}function _s(a,b,c){a=a|0;b=+b;c=c|0;var d=0;d=0;while(1){if((d|0)>=(a|0))break;h[c+(d<<3)>>3]=b;d=d+1|0}return}function $s(a,b,c){a=a|0;b=+b;c=c|0;var d=0;d=0;while(1){if((d|0)>=(a|0))break;g[c+(d<<2)>>2]=b;d=d+1|0}return}function at(a,b){a=a|0;b=b|0;var c=0.0,d=0,e=0.0;c=-1000000015047466219876688.0e6;d=0;while(1){if((d|0)>=(a|0))break;e=+B(+(+g[b+(d<<2)>>2]));c=e>c?e:c;d=d+1|0}return +c}function bt(a,b){a=a|0;b=b|0;var c=0,d=0,e=0.0;c=0;while(1){if((c|0)>=(a|0))break;d=b+(c<<2)|0;e=+g[d>>2];g[d>>2]=e*e;c=c+1|0}return}function ct(a,b){a=a|0;b=b|0;var c=0,d=0,e=0.0;c=0;while(1){if((c|0)>=(a|0))break;d=b+(c<<2)|0;e=+g[d>>2];if(e!=0.0)g[d>>2]=1.0/e;c=c+1|0}return}function dt(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0.0;d=0;while(1){if((d|0)>=(a|0))break;e=+g[b+(d<<2)>>2];if(e>=0.0)g[c+(d<<2)>>2]=+C(+e);d=d+1|0}return}function et(a,b){a=a|0;b=b|0;var c=0,d=0,e=0.0;c=0;while(1){if((c|0)>=(a|0))break;d=b+(c<<2)|0;e=+g[d>>2];if(e>0.0)g[d>>2]=1.0/+C(+e);c=c+1|0}return}function ft(a,b){a=a|0;b=b|0;var d=0;c[a>>2]=0;if(b&3)if(!(4%(b>>>0)|0))b=4;else b=O(4/((gt(b)|0)>>>0)|0,b)|0;c[a+8>>2]=b;a=a+4|0;b=c[a>>2]|0;a:do if(b|0)while(1){if(!b)break a;d=c[b>>2]|0;C_(c[b+4>>2]|0);C_(b);b=d}while(0);c[a>>2]=0;return}function gt(a){a=a|0;var b=0,c=0;c=4;a:while(1){b=c;while(1){if((b|0)==(a|0))break a;if((b|0)<=(a|0))break;b=b-a|0}c=b;a=a-b|0}return a|0}function ht(a){a=a|0;var b=0,d=0,e=0,f=0;b=c[a>>2]|0;if(!b){d=c[a+8>>2]|0;e=uH(8)|0;f=uH(O(c[46085]|0,d)|0)|0;c[e+4>>2]=f;b=0;while(1){if((b|0)>=(c[46085]|0))break;it(f+(O(b,d)|0)|0,a);b=b+1|0}b=a+4|0;c[e>>2]=c[b>>2];c[b>>2]=e;b=c[a>>2]|0}c[a>>2]=c[b>>2];return b|0}function it(a,b){a=a|0;b=b|0;c[a>>2]=c[b>>2];c[b>>2]=a;return}function jt(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,h=0,i=0,j=0,k=0,l=0,m=0;m=tH(b<<3)|0;l=a+8|0;f=c[l>>2]|0;kt(a,b,m);Is(b,d);h=0;i=0;while(1){if((i|0)>=(b|0))break;h=(c[a+(i*20|0)>>2]|0)+h|0;i=i+1|0}h=uH(h<<2)|0;j=0;while(1){if((j|0)>=(b|0))break;c[a+(j*20|0)+8>>2]=h;k=c[a+(j*20|0)>>2]|0;g[h>>2]=+(1-k|0);i=1;while(1){if((i|0)>=(k|0))break;g[h+(i<<2)>>2]=1.0;i=i+1|0}h=h+(k<<2)|0;j=j+1|0}i=Cq(a,d,m,b,.001,e)|0;C_(c[l>>2]|0);h=0;while(1){if((h|0)>=(b|0))break;c[a+(h*20|0)+8>>2]=f;f=f+(c[a+(h*20|0)>>2]<<2)|0;h=h+1|0}C_(m);return i>>>31|0}function kt(a,b,d){a=a|0;b=b|0;d=d|0;var e=0.0,f=0,i=0,j=0,k=0,l=0,m=0;k=a+16|0;i=0;while(1){if((i|0)>=(b|0))break;if(c[k>>2]|0){l=c[a+(i*20|0)>>2]|0;m=a+(i*20|0)+8|0;j=a+(i*20|0)+16|0;e=0.0;f=1;while(1){if((f|0)>=(l|0))break;e=e+ +g[(c[j>>2]|0)+(f<<2)>>2]*+g[(c[m>>2]|0)+(f<<2)>>2];f=f+1|0}h[d+(i<<3)>>3]=e}i=i+1|0}return}function lt(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,i=0,j=0.0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0.0;r=uH(f<<2)|0;i=b<<3;g=0;while(1){if((g|0)>=(f|0))break;c[r+(g<<2)>>2]=uH(i)|0;g=g+1|0}p=uH(f<<3)|0;q=uH(b<<2)|0;g=uH(O(i,b)|0)|0;i=0;while(1){if((i|0)>=(b|0))break;c[q+(i<<2)>>2]=g;g=g+(b<<3)|0;i=i+1|0}k=0;o=1;while(1){if((k|0)>=(b|0))break;l=a+(k<<2)|0;m=q+(k<<2)|0;i=0;while(1){if((i|0)==(o|0))break;n=a+(i<<2)|0;g=0;j=0.0;while(1){if((g|0)>=(d|0))break;s=j+ +(O(c[(c[n>>2]|0)+(g<<2)>>2]|0,c[(c[l>>2]|0)+(g<<2)>>2]|0)|0);g=g+1|0;j=s}h[(c[q+(i<<2)>>2]|0)+(k<<3)>>3]=j;h[(c[m>>2]|0)+(i<<3)>>3]=j;i=i+1|0}k=k+1|0;o=o+1|0}xs(q,b,f,r,p,1)|0;i=0;while(1){if((i|0)>=(f|0)){g=0;break}l=r+(i<<2)|0;m=e+(i<<2)|0;k=0;while(1){if((k|0)<(d|0)){g=0;j=0.0}else break;while(1){if((g|0)>=(b|0))break;s=+h[(c[l>>2]|0)+(g<<3)>>3]*+(c[(c[a+(g<<2)>>2]|0)+(k<<2)>>2]|0)+j;g=g+1|0;j=s}h[(c[m>>2]|0)+(k<<3)>>3]=j;k=k+1|0}i=i+1|0}while(1){if((g|0)>=(f|0))break;C_(c[r+(g<<2)>>2]|0);g=g+1|0}C_(r);C_(p);C_(c[q>>2]|0);C_(q);return}function mt(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0;f=l;l=l+32|0;g=f+16|0;j=f+20|0;i=f+12|0;h=f+8|0;c[g>>2]=e;c[i>>2]=0;c[h>>2]=0;_u(c[a>>2]|0,d,d<<2,j);Gs(c[j>>2]|0,a,d,b,i);Fs(a,c[i>>2]|0,b,d,b,h);C_(c[c[i>>2]>>2]|0);C_(c[i>>2]|0);e=(xs(c[h>>2]|0,b,1,g,f,1)|0)&255;l=f;return e|0}function nt(){c[46143]=0;C_(c[46144]|0);C_(c[46145]|0);C_(c[46146]|0);c[46144]=0;c[46145]=0;c[46146]=0;return}function ot(a){a=a|0;C_(c[a+36>>2]|0);return}function pt(b,d,e,f){b=b|0;d=d|0;e=+e;f=+f;var g=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0.0,t=0.0,u=0.0,v=0.0;r=l;l=l+80|0;o=r+64|0;q=r+68|0;i=r+48|0;j=r+32|0;k=r+16|0;m=r;n=d+16|0;g=c[n>>2]|0;a:do if(!(c[g+212>>2]|0))switch(GJ(d)|0){case 1:{g=c[n>>2]|0;j=c[g+12>>2]|0;k=c[j+8>>2]|0;c[q>>2]=k;g=c[c[g+8>>2]>>2]|0;switch(a[g>>0]|0){case 98:{if(!(a$(g,105210)|0))p=11;else p=8;break}case 112:{if((a$(g,102695)|0)==0?(qt(c[j+44>>2]|0,k)|0)!=0:0)p=11;else p=8;break}default:p=8}do if((p|0)==8)if((k|0)<3){c[b+40>>2]=(c[j>>2]|0)==0?0:2;p=17;break}else{g=b+40|0;c[g>>2]=0;break}else if((p|0)==11){g=b+40|0;c[g>>2]=1;if((k|0)<=2)p=17}while(0);if((p|0)==17){i=rt(d,q,e,f)|0;p=21;break a}i=uH(k<<4)|0;j=j+44|0;if((c[g>>2]|0)==1){p=c[j>>2]|0;s=e;h[i>>3]=+h[p>>3]*.013888888888888888+s;e=f;h[i+8>>3]=+h[p+8>>3]*.013888888888888888+e;h[i+16>>3]=+h[p+16>>3]*.013888888888888888-s;h[i+24>>3]=+h[p+24>>3]*.013888888888888888+e;h[i+32>>3]=+h[p+32>>3]*.013888888888888888-s;h[i+40>>3]=+h[p+40>>3]*.013888888888888888-e;h[i+48>>3]=+h[p+48>>3]*.013888888888888888+s;h[i+56>>3]=+h[p+56>>3]*.013888888888888888-e;p=21;break a}g=0;while(1){if((g|0)>=(k|0)){p=21;break a}p=c[j>>2]|0;u=+h[p+(g<<4)>>3];s=+h[p+(g<<4)+8>>3];t=+C(+(s*s+u*u));h[i+(g<<4)>>3]=(e/t+1.0)*u*.013888888888888888;h[i+(g<<4)+8>>3]=(f/t+1.0)*s*.013888888888888888;g=g+1|0}}case 2:{c[q>>2]=4;p=uH(64)|0;d=c[(c[n>>2]|0)+12>>2]|0;v=+h[d+32>>3];t=+h[d+40>>3];o=~~+h[d+16>>3];d=~~+h[d+24>>3];u=-e;s=-f;st(i,o,d,u,s);c[p>>2]=c[i>>2];c[p+4>>2]=c[i+4>>2];c[p+8>>2]=c[i+8>>2];c[p+12>>2]=c[i+12>>2];i=p+16|0;n=~~v;st(j,n,d,e,s);c[i>>2]=c[j>>2];c[i+4>>2]=c[j+4>>2];c[i+8>>2]=c[j+8>>2];c[i+12>>2]=c[j+12>>2];i=p+32|0;d=~~t;st(k,n,d,e,f);c[i>>2]=c[k>>2];c[i+4>>2]=c[k+4>>2];c[i+8>>2]=c[k+8>>2];c[i+12>>2]=c[k+12>>2];i=p+48|0;st(m,o,d,u,f);c[i>>2]=c[m>>2];c[i+4>>2]=c[m+4>>2];c[i+8>>2]=c[m+8>>2];c[i+12>>2]=c[m+12>>2];c[b+40>>2]=1;i=p;p=21;break a}case 3:{c[b+40>>2]=2;i=rt(d,q,e,f)|0;p=21;break a}default:{c[o>>2]=c[c[(c[n>>2]|0)+8>>2]>>2];Ow(1,92312,o)|0;g=1;break a}}else{c[q>>2]=4;u=+h[g+32>>3]*.5+e;v=+h[g+40>>3]*.5+f;c[b+40>>2]=1;i=uH(64)|0;h[i>>3]=u;h[i+8>>3]=v;t=-u;h[i+16>>3]=t;h[i+24>>3]=v;h[i+32>>3]=t;v=-v;h[i+40>>3]=v;h[i+48>>3]=u;h[i+56>>3]=v;p=21}while(0);if((p|0)==21){c[b+36>>2]=i;g=c[q>>2]|0;c[b+32>>2]=g;tt(i,g,b,b+16|0);if((g|0)>(c[46143]|0)){c[46143]=g;g=0}else g=0}l=r;return g|0}function qt(a,b){a=a|0;b=b|0;var c=0.0,d=0.0;do if((b|0)==4){c=+h[a+8>>3];b=a+16|0;d=+h[a+24>>3];if(c==d){if(!(+h[a+40>>3]==+h[a+56>>3])){b=0;break}if(!(+h[a>>3]==+h[a+48>>3])){b=0;break}b=+h[b>>3]==+h[a+32>>3];break}if((+h[a>>3]==+h[b>>3]?+h[a+32>>3]==+h[a+48>>3]:0)?c==+h[a+56>>3]:0)b=d==+h[a+40>>3];else b=0}else b=0;while(0);return b&1|0}function rt(a,b,d,e){a=a|0;b=b|0;d=+d;e=+e;var f=0,g=0.0,i=0,j=0,k=0.0,l=0;f=wx(a,99679)|0;if(!f)f=0;else f=$1(f)|0;i=(f|0)<3?20:f;j=uH(i<<4)|0;a=a+16|0;g=1.0/+(i|0);f=0;while(1){if((f|0)>=(i|0))break;l=c[a>>2]|0;k=g*+(f|0)*6.283185307179586;h[j+(f<<4)>>3]=(+h[l+32>>3]*.5+d)*+E(+k);h[j+(f<<4)+8>>3]=(+h[l+40>>3]*.5+e)*+F(+k);f=f+1|0}c[b>>2]=i;return j|0}function st(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=+d;e=+e;h[a>>3]=+(b|0)*.013888888888888888+d;h[a+8>>3]=+(c|0)*.013888888888888888+e;return}function tt(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0.0,g=0.0,i=0.0,j=0.0,k=0,l=0.0,m=0.0;j=+h[a>>3];i=+h[a+8>>3];e=1;f=i;g=j;while(1){if((e|0)>=(b|0))break;k=a+16|0;l=+h[k>>3];m=+h[a+24>>3];e=e+1|0;f=m>f?m:f;g=l>g?l:g;i=m>3]=j;h[c+8>>3]=i;h[d>>3]=g;h[d+8>>3]=f;return}function ut(b,d,e,f){b=b|0;d=d|0;e=+e;f=+f;var g=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0.0,t=0.0,u=0.0,v=0.0;r=l;l=l+80|0;n=r+64|0;p=r+68|0;i=r+48|0;j=r+32|0;k=r+16|0;m=r;o=d+16|0;g=c[o>>2]|0;a:do if(!(c[g+212>>2]|0))switch(GJ(d)|0){case 1:{m=c[(c[o>>2]|0)+12>>2]|0;n=m+8|0;k=c[n>>2]|0;c[p>>2]=k;b:do if((k|0)>2){i=uH(k<<4)|0;j=m+44|0;g=0;while(1){if((g|0)>=(k|0))break b;d=c[j>>2]|0;h[i+(g<<4)>>3]=+h[d+(g<<4)>>3]*.013888888888888888;h[i+(g<<4)+8>>3]=+h[d+(g<<4)+8>>3]*.013888888888888888;g=g+1|0}}else i=rt(d,p,0.0,0.0)|0;while(0);g=c[c[(c[o>>2]|0)+8>>2]>>2]|0;switch(a[g>>0]|0){case 98:{if(!(a$(g,105210)|0))g=1;else q=13;break}case 112:{if((a$(g,102695)|0)==0?(qt(i,c[p>>2]|0)|0)!=0:0)g=1;else q=13;break}default:q=13}do if((q|0)==13){if((c[n>>2]|0)<3?c[m>>2]|0:0){g=2;break}g=0}while(0);c[b+40>>2]=g;q=20;break a}case 2:{c[p>>2]=4;q=uH(64)|0;o=c[(c[o>>2]|0)+12>>2]|0;t=+h[o+16>>3];v=+h[o+24>>3];u=+h[o+32>>3];s=+h[o+40>>3];vt(i,t,v);c[q>>2]=c[i>>2];c[q+4>>2]=c[i+4>>2];c[q+8>>2]=c[i+8>>2];c[q+12>>2]=c[i+12>>2];i=q+16|0;vt(j,u,v);c[i>>2]=c[j>>2];c[i+4>>2]=c[j+4>>2];c[i+8>>2]=c[j+8>>2];c[i+12>>2]=c[j+12>>2];i=q+32|0;vt(k,u,s);c[i>>2]=c[k>>2];c[i+4>>2]=c[k+4>>2];c[i+8>>2]=c[k+8>>2];c[i+12>>2]=c[k+12>>2];i=q+48|0;vt(m,t,s);c[i>>2]=c[m>>2];c[i+4>>2]=c[m+4>>2];c[i+8>>2]=c[m+8>>2];c[i+12>>2]=c[m+12>>2];c[b+40>>2]=1;i=q;q=20;break a}case 3:{c[b+40>>2]=2;i=rt(d,p,0.0,0.0)|0;q=20;break a}default:{c[n>>2]=c[c[(c[o>>2]|0)+8>>2]>>2];Ow(1,92348,n)|0;g=1;break a}}else{c[p>>2]=4;u=+h[g+32>>3]*.5;v=+h[g+40>>3]*.5;c[b+40>>2]=1;i=uH(64)|0;h[i>>3]=u;h[i+8>>3]=v;t=-u;h[i+16>>3]=t;h[i+24>>3]=v;h[i+32>>3]=t;v=-v;h[i+40>>3]=v;h[i+48>>3]=u;h[i+56>>3]=v;q=20}while(0);if((q|0)==20){g=c[p>>2]|0;if(e!=1.0|f!=1.0)wt(i,g,e,f);c[b+36>>2]=i;c[b+32>>2]=g;tt(i,g,b,b+16|0);if((g|0)>(c[46143]|0)){c[46143]=g;g=0}else g=0}l=r;return g|0}function vt(a,b,c){a=a|0;b=+b;c=+c;h[a>>3]=b*.013888888888888888;h[a+8>>3]=c*.013888888888888888;return}function wt(a,b,c,d){a=a|0;b=b|0;c=+c;d=+d;var e=0,f=0;e=0;while(1){if((e|0)>=(b|0))break;h[a>>3]=+h[a>>3]*c;f=a+8|0;h[f>>3]=+h[f>>3]*d;a=a+16|0;e=e+1|0}return}function xt(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0.0,t=0.0,u=0.0,v=0;r=l;l=l+128|0;o=r+112|0;n=r+96|0;m=r+80|0;f=r+64|0;p=r+48|0;q=r+32|0;j=r+16|0;k=r;c[n>>2]=c[a>>2];c[n+4>>2]=c[a+4>>2];c[n+8>>2]=c[a+8>>2];c[n+12>>2]=c[a+12>>2];c[o>>2]=c[b>>2];c[o+4>>2]=c[b+4>>2];c[o+8>>2]=c[b+8>>2];c[o+12>>2]=c[b+12>>2];wr(p,n,o);g=b+16|0;c[n>>2]=c[a>>2];c[n+4>>2]=c[a+4>>2];c[n+8>>2]=c[a+8>>2];c[n+12>>2]=c[a+12>>2];c[o>>2]=c[g>>2];c[o+4>>2]=c[g+4>>2];c[o+8>>2]=c[g+8>>2];c[o+12>>2]=c[g+12>>2];wr(q,n,o);c[n>>2]=c[d>>2];c[n+4>>2]=c[d+4>>2];c[n+8>>2]=c[d+8>>2];c[n+12>>2]=c[d+12>>2];c[o>>2]=c[e>>2];c[o+4>>2]=c[e+4>>2];c[o+8>>2]=c[e+8>>2];c[o+12>>2]=c[e+12>>2];wr(j,n,o);i=e+16|0;c[n>>2]=c[d>>2];c[n+4>>2]=c[d+4>>2];c[n+8>>2]=c[d+8>>2];c[n+12>>2]=c[d+12>>2];c[o>>2]=c[i>>2];c[o+4>>2]=c[i+4>>2];c[o+8>>2]=c[i+8>>2];c[o+12>>2]=c[i+12>>2];wr(k,n,o);c[f>>2]=c[p>>2];c[f+4>>2]=c[p+4>>2];c[f+8>>2]=c[p+8>>2];c[f+12>>2]=c[p+12>>2];c[m>>2]=c[q>>2];c[m+4>>2]=c[q+4>>2];c[m+8>>2]=c[q+8>>2];c[m+12>>2]=c[q+12>>2];c[n>>2]=c[j>>2];c[n+4>>2]=c[j+4>>2];c[n+8>>2]=c[j+8>>2];c[n+12>>2]=c[j+12>>2];c[o>>2]=c[k>>2];c[o+4>>2]=c[k+4>>2];c[o+8>>2]=c[k+8>>2];c[o+12>>2]=c[k+12>>2];do if(yt(f,m,n,o)|0){f=c[b+40>>2]|0;if(f&1|0?c[e+40>>2]&1|0:0){f=1;break}if(f&2|0?c[e+40>>2]&2|0:0){s=+h[g>>3]-+h[b>>3]+ +h[i>>3]-+h[e>>3];t=+h[a>>3]-+h[d>>3];u=+h[a+8>>3]-+h[d+8>>3];f=!(u*u+t*t>s*s*.25);break}f=c[46144]|0;if(!f){c[46144]=uH(c[46143]<<4)|0;i=uH(c[46143]<<4)|0;c[46145]=i;f=c[46144]|0}else i=c[46145]|0;v=c[b+36>>2]|0;b=b+32|0;g=c[b>>2]|0;c[o>>2]=c[a>>2];c[o+4>>2]=c[a+4>>2];c[o+8>>2]=c[a+8>>2];c[o+12>>2]=c[a+12>>2];zt(v,g,o,f);a=c[e+36>>2]|0;g=e+32|0;e=c[g>>2]|0;c[o>>2]=c[d>>2];c[o+4>>2]=c[d+4>>2];c[o+8>>2]=c[d+8>>2];c[o+12>>2]=c[d+12>>2];zt(a,e,o,i);if(!(At(f,i,c[b>>2]|0,c[g>>2]|0)|0)){f=c[46144]|0;c[m>>2]=c[f>>2];c[m+4>>2]=c[f+4>>2];c[m+8>>2]=c[f+8>>2];c[m+12>>2]=c[f+12>>2];c[n>>2]=c[j>>2];c[n+4>>2]=c[j+4>>2];c[n+8>>2]=c[j+8>>2];c[n+12>>2]=c[j+12>>2];c[o>>2]=c[k>>2];c[o+4>>2]=c[k+4>>2];c[o+8>>2]=c[k+8>>2];c[o+12>>2]=c[k+12>>2];if(Bt(m,n,o)|0?(k=c[46145]|0,v=c[g>>2]|0,c[o>>2]=c[f>>2],c[o+4>>2]=c[f+4>>2],c[o+8>>2]=c[f+8>>2],c[o+12>>2]=c[f+12>>2],Ct(k,v,o)|0):0){f=1;break}f=c[46145]|0;c[m>>2]=c[f>>2];c[m+4>>2]=c[f+4>>2];c[m+8>>2]=c[f+8>>2];c[m+12>>2]=c[f+12>>2];c[n>>2]=c[p>>2];c[n+4>>2]=c[p+4>>2];c[n+8>>2]=c[p+8>>2];c[n+12>>2]=c[p+12>>2];c[o>>2]=c[q>>2];c[o+4>>2]=c[q+4>>2];c[o+8>>2]=c[q+8>>2];c[o+12>>2]=c[q+12>>2];if(!(Bt(m,n,o)|0))f=0;else{q=c[46144]|0;v=c[b>>2]|0;c[o>>2]=c[f>>2];c[o+4>>2]=c[f+4>>2];c[o+8>>2]=c[f+8>>2];c[o+12>>2]=c[f+12>>2];f=(Ct(q,v,o)|0)!=0}}else f=1}else f=0;while(0);l=r;return f&1|0}function yt(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;if((+h[a>>3]<=+h[d>>3]?+h[c>>3]<=+h[b>>3]:0)?+h[a+8>>3]<=+h[d+8>>3]:0)a=+h[c+8>>3]<=+h[b+8>>3]&1;else a=0;return a|0}function zt(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0;f=c+8|0;e=0;while(1){if((e|0)>=(b|0))break;h[d>>3]=+h[c>>3]+ +h[a>>3];h[d+8>>3]=+h[f>>3]+ +h[a+8>>3];e=e+1|0;a=a+16|0;d=d+16|0}return}function At(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0.0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0;A=l;l=l+112|0;s=A+96|0;r=A+80|0;q=A+64|0;p=A+48|0;u=A+32|0;v=A+16|0;w=A;x=d+-1|0;y=e+-1|0;z=d<<1;t=e<<1;f=0;g=0;h=0;i=0;while(1){B=a+(f<<4)|0;C=a+(((x+f|0)%(d|0)|0)<<4)|0;c[r>>2]=c[B>>2];c[r+4>>2]=c[B+4>>2];c[r+8>>2]=c[B+8>>2];c[r+12>>2]=c[B+12>>2];c[s>>2]=c[C>>2];c[s+4>>2]=c[C+4>>2];c[s+8>>2]=c[C+8>>2];c[s+12>>2]=c[C+12>>2];vr(u,r,s);o=b+(g<<4)|0;n=b+(((y+g|0)%(e|0)|0)<<4)|0;c[r>>2]=c[o>>2];c[r+4>>2]=c[o+4>>2];c[r+8>>2]=c[o+8>>2];c[r+12>>2]=c[o+12>>2];c[s>>2]=c[n>>2];c[s+4>>2]=c[n+4>>2];c[s+8>>2]=c[n+8>>2];c[s+12>>2]=c[n+12>>2];vr(v,r,s);c[q>>2]=c[45770];c[q+4>>2]=c[45771];c[q+8>>2]=c[45772];c[q+12>>2]=c[45773];c[r>>2]=c[u>>2];c[r+4>>2]=c[u+4>>2];c[r+8>>2]=c[u+8>>2];c[r+12>>2]=c[u+12>>2];c[s>>2]=c[v>>2];c[s+4>>2]=c[v+4>>2];c[s+8>>2]=c[v+8>>2];c[s+12>>2]=c[v+12>>2];j=+xr(q,r,s);c[q>>2]=c[C>>2];c[q+4>>2]=c[C+4>>2];c[q+8>>2]=c[C+8>>2];c[q+12>>2]=c[C+12>>2];c[r>>2]=c[B>>2];c[r+4>>2]=c[B+4>>2];c[r+8>>2]=c[B+8>>2];c[r+12>>2]=c[B+12>>2];c[s>>2]=c[o>>2];c[s+4>>2]=c[o+4>>2];c[s+8>>2]=c[o+8>>2];c[s+12>>2]=c[o+12>>2];k=yr(q,r,s)|0;c[q>>2]=c[n>>2];c[q+4>>2]=c[n+4>>2];c[q+8>>2]=c[n+8>>2];c[q+12>>2]=c[n+12>>2];c[r>>2]=c[o>>2];c[r+4>>2]=c[o+4>>2];c[r+8>>2]=c[o+8>>2];c[r+12>>2]=c[o+12>>2];c[s>>2]=c[B>>2];c[s+4>>2]=c[B+4>>2];c[s+8>>2]=c[B+8>>2];c[s+12>>2]=c[B+12>>2];m=yr(q,r,s)|0;c[p>>2]=c[C>>2];c[p+4>>2]=c[C+4>>2];c[p+8>>2]=c[C+8>>2];c[p+12>>2]=c[C+12>>2];c[q>>2]=c[B>>2];c[q+4>>2]=c[B+4>>2];c[q+8>>2]=c[B+8>>2];c[q+12>>2]=c[B+12>>2];c[r>>2]=c[n>>2];c[r+4>>2]=c[n+4>>2];c[r+8>>2]=c[n+8>>2];c[r+12>>2]=c[n+12>>2];c[s>>2]=c[o>>2];c[s+4>>2]=c[o+4>>2];c[s+8>>2]=c[o+8>>2];c[s+12>>2]=c[o+12>>2];if(zr(p,q,r,s,w)|0){f=1;break}n=(k|0)==0;o=(m|0)==0;do if(j!=0.0|(m|k|0)!=0)if(!(j>=0.0))if(o){f=(f+1|0)%(d|0)|0;h=h+1|0;break}else{g=(g+1|0)%(e|0)|0;i=i+1|0;break}else if(n){g=(g+1|0)%(e|0)|0;i=i+1|0;break}else{f=(f+1|0)%(d|0)|0;h=h+1|0;break}else{f=(f+1|0)%(d|0)|0;h=h+1|0}while(0);if(!((i|0)<(t|0)&((h|0)<(z|0)&((i|0)<(e|0)|(h|0)<(d|0))))){f=0;break}}l=A;return f|0}function Bt(a,b,c){a=a|0;b=b|0;c=c|0;var d=0.0,e=0.0;e=+h[a>>3];if((e<=+h[c>>3]?e>=+h[b>>3]:0)?(d=+h[a+8>>3],d<=+h[c+8>>3]):0)a=d>=+h[b+8>>3]&1;else a=0;return a|0}function Ct(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0.0,g=0,i=0,j=0.0,k=0.0,l=0;e=c[46146]|0;if(!e){e=uH(c[46143]<<4)|0;c[46146]=e}i=d+8|0;g=0;while(1){if((g|0)>=(b|0))break;h[e+(g<<4)>>3]=+h[a+(g<<4)>>3]-+h[d>>3];h[e+(g<<4)+8>>3]=+h[a+(g<<4)+8>>3]-+h[i>>3];g=g+1|0}d=b+-1|0;f=0.0;a=0;a:while(1){if((a|0)>=(b|0)){l=19;break}g=(d+a|0)%(b|0)|0;j=+h[e+(a<<4)+8>>3];i=j==0.0;if(i?+h[e+(g<<4)+8>>3]==0.0:0){if(+h[e+(g<<4)>>3]*+h[e+(a<<4)>>3]<0.0){e=1;break}}else l=11;do if((l|0)==11){l=0;k=+h[e+(g<<4)+8>>3];if(!(j>=0.0)|!(k<=0.0)?!(k>=0.0)|!(j<=0.0):0)break;j=(k*+h[e+(a<<4)>>3]-j*+h[e+(g<<4)>>3])/(k-j);if(j==0.0){e=1;break a}if(j>0.0)if(k==0.0|i){f=f+.5;break}else{f=f+1.0;break}}while(0);a=a+1|0}if((l|0)==19)e=((~~f|0)%2|0|0)==1&1;return e|0}function Dt(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0;j=uH(b<<2)|0;i=O(b,b)|0;d=uH(i<<2)|0;c[j>>2]=d;$s(i,0.0,d);d=1;while(1){if((d|0)>=(b|0)){d=0;g=0;i=b;break}c[j+(d<<2)>>2]=(c[j>>2]|0)+((O(d,b)|0)<<2);d=d+1|0}while(1){if((g|0)>=(b|0))break;h=j+(g<<2)|0;e=g;f=d;while(1){if((e|0)==(b|0))break;k=c[a+(f<<2)>>2]|0;c[(c[h>>2]|0)+(e<<2)>>2]=k;c[(c[j+(e<<2)>>2]|0)+(g<<2)>>2]=k;e=e+1|0;f=f+1|0}d=d+i|0;g=g+1|0;i=i+-1|0}return j|0}function Et(a,b,d,e,f,h,i,j){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;h=h|0;i=i|0;j=+j;var k=0.0,l=0.0,m=0.0,n=0,o=0,p=0,q=0.0,r=0,s=0.0,t=0,u=0,v=0,w=0,x=0,y=0.0,z=0,A=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0.0;M=c[d+(f<<2)>>2]|0;C=c[a+4>>2]|0;D=c[a>>2]|0;E=c[a+48>>2]|0;F=c[a+52>>2]|0;G=c[a+56>>2]|0;a:do if((h|0)<1)d=0;else{Gt(M,C,E,F,G,j);H=c[a+28>>2]|0;I=c[a+32>>2]|0;J=c[a+36>>2]|0;K=c[a+12>>2]|0;L=c[a+16>>2]|0;f=0;e=0;d=-1;while(1){if((f|0)>=(C|0))break;if((f|0)>=(e|0)){d=d+1|0;if((d|0)==(G|0)){e=C;d=G}else e=c[F+(d<<2)>>2]|0}c[L+(c[E+(f<<2)>>2]<<2)>>2]=d;f=f+1|0}z=c[a+40>>2]|0;A=I+(C+-1<<2)|0;d=0;e=0;while(1){if(e<<24>>24==0&(d|0)<(h|0)){k=-1.0e9;f=0;e=1}else break a;b:while(1){x=f;while(1){if((x|0)>=(C|0))break b;f=c[E+(x<<2)>>2]|0;y=+g[M+(f<<2)>>2];l=y;w=x;m=0.0;while(1){g[z+(f<<2)>>2]=m;f=w+1|0;if((f|0)>=(C|0)){v=0;break}l=(c[L+(f<<2)>>2]|0)>(c[L+(w<<2)>>2]|0)?l+j:l;a=c[E+(f<<2)>>2]|0;m=+g[M+(a<<2)>>2];if(+B(+(m-l))>1.0e-09){v=1;break}w=f;m=m-y;f=a}n=x;while(1){if((n|0)>(w|0)){a=0;o=x;break}o=c[E+(n<<2)>>2]|0;p=c[D+(o<<2)>>2]|0;a=0;l=-+g[b+(o<<2)>>2];while(1){if((a|0)>=(C|0))break;if((a|0)!=(o|0))l=+g[M+(a<<2)>>2]*+g[p+(a<<2)>>2]+l;a=a+1|0}g[H+(o<<2)>>2]=l/-+g[p+(o<<2)>>2]-+g[z+(o<<2)>>2];n=n+1|0}c:while(1){if((o|0)>(w|0)){m=0.0;q=0.0;r=0;break}n=c[L+(c[E+(o<<2)>>2]<<2)>>2]|0;if((n|0)==(G|0))r=f;else{r=c[F+(n<<2)>>2]|0;r=(f|0)<(r|0)?f:r}p=o;while(1){if((p|0)>=(r|0)){p=o;break}n=c[E+(p<<2)>>2]|0;if(+g[H+(n<<2)>>2]>2]=n;a=a+1|0}p=p+1|0}while(1){if((p|0)>=(r|0))break;n=c[E+(p<<2)>>2]|0;if(+g[H+(n<<2)>>2]==y){c[K+(a<<2)>>2]=n;a=a+1|0}p=p+1|0}while(1){if((o|0)>=(r|0)){o=r;continue c}n=c[E+(o<<2)>>2]|0;if(+g[H+(n<<2)>>2]>y){c[K+(a<<2)>>2]=n;a=a+1|0}o=o+1|0}}while(1){if((r|0)>=(a|0))break;o=c[K+(r<<2)>>2]|0;p=c[D+(o<<2)>>2]|0;l=0.0;n=0;while(1){if((n|0)==(r|0))break;l=l-+g[p+(c[K+(n<<2)>>2]<<2)>>2];n=n+1|0}N=l*2.0;u=p+(o<<2)|0;s=+g[u>>2];l=N+m;s=(N*y+m*q-+g[H+(o<<2)>>2]*s)/(l-s);g[I+(r<<2)>>2]=s;m=l-+g[u>>2];q=s;r=r+1|0}p=(a|0)==(C|0);if(p)g[A>>2]=y;u=a+-1|0;m=0.0;q=0.0;o=u;while(1){if((o|0)<=-1)break;r=c[K+(o<<2)>>2]|0;t=c[D+(r<<2)>>2]|0;l=0.0;n=o;while(1){n=n+1|0;if((n|0)>=(a|0))break;l=l-+g[t+(c[K+(n<<2)>>2]<<2)>>2]}l=l*2.0;t=t+(r<<2)|0;N=+g[t>>2];s=l+m;N=(l*y+m*q-+g[H+(r<<2)>>2]*N)/(s-N);g[J+(o<<2)>>2]=N;m=s-+g[t>>2];q=N;o=o+-1|0}if(p){g[J>>2]=y;s=0.0;n=-1;p=0}else{s=0.0;n=-1;p=0}while(1){if((a|0)<=(p|0))break;q=+g[J+(p<<2)>>2];if((p|0)>0)l=+g[I+(p+-1<<2)>>2];else l=q;do if(qy;if(qs;s=t?N:s;n=t?p:n;p=p+1|0}if((n|0)>-1)break;if(v?(c[L+(c[E+(f<<2)>>2]<<2)>>2]|0)>(c[L+(c[E+(w<<2)>>2]<<2)>>2]|0):0){k=+g[M+(c[K+(u<<2)>>2]<<2)>>2]+j;x=f;continue}k=+g[M+(c[K+(u<<2)>>2]<<2)>>2];x=f}m=+g[J+(n<<2)>>2];if(!n)q=m;else q=+g[I+(n+-1<<2)>>2];if(v){t=c[E+(f<<2)>>2]|0;l=+g[M+(t<<2)>>2];l=((c[L+(t<<2)>>2]|0)>(c[L+(c[E+(w<<2)>>2]<<2)>>2]|0)?l-j:l)-+g[z+(c[K+(u<<2)>>2]<<2)>>2]}else l=1.0e9;l=mk?q:k;do if(ly;if(l=(n|0))break;t=c[K+(o<<2)>>2]|0;g[M+(t<<2)>>2]=+g[z+(t<<2)>>2]+l;o=o+1|0}while(1){if((n|0)>=(a|0))break;t=c[K+(n<<2)>>2]|0;g[M+(t<<2)>>2]=+g[z+(t<<2)>>2]+m;n=n+1|0}if(v?(c[L+(c[E+(f<<2)>>2]<<2)>>2]|0)>(c[L+(c[E+(w<<2)>>2]<<2)>>2]|0):0)k=+g[M+(c[K+(u<<2)>>2]<<2)>>2]+j;else k=+g[M+(c[K+(u<<2)>>2]<<2)>>2];a=x;while(1){if((a|0)>(w|0))break;c[E+(a<<2)>>2]=c[K+(a-x<<2)>>2];a=a+1|0}if(e<<24>>24!=0?+B(+(l-y))<.01:0)e=+B(+(m-y))<.01;else e=0;e=e&1}Ss(C,M);Ft(M,E,F,G,i);d=d+1|0}}while(0);return d|0}function Ft(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0;g=0;while(1){if((g|0)>=(e|0))break;c[f+(g<<2)>>2]=c[a+(c[b+((c[d+(g<<2)>>2]|0)+-1<<2)>>2]<<2)>>2];g=g+1|0}return}function Gt(a,b,d,e,f,h){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;h=+h;var i=0.0,j=0,k=0,l=0,m=0;i=-1.0e9;k=0;j=-1;m=0;while(1){if((m|0)>=(b|0))break;if((m|0)<(k|0))l=k;else{j=j+1|0;if((j|0)==(f|0))k=b;else k=c[e+(j<<2)>>2]|0;if((m|0)>0)i=+g[a+(c[d+(m+-1<<2)>>2]<<2)>>2]+h;else i=-1.0e9;gs(a,d,m,k+-1|0);l=k}k=a+(c[d+(m<<2)>>2]<<2)|0;if(+g[k>>2]>2]=i;k=l;m=m+1|0}return}function Ht(a){a=a|0;C_(c[c[a>>2]>>2]|0);C_(c[a>>2]|0);C_(c[a+8>>2]|0);C_(c[a+28>>2]|0);C_(c[a+32>>2]|0);C_(c[a+36>>2]|0);C_(c[a+40>>2]|0);C_(c[a+12>>2]|0);C_(c[a+16>>2]|0);C_(c[a+20>>2]|0);C_(c[a+24>>2]|0);C_(a);return}function It(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0;k=uH(60)|0;c[k>>2]=0;l=k+4|0;c[l>>2]=b;c[k+48>>2]=d;c[k+52>>2]=e;c[k+56>>2]=f;c[k>>2]=Dt(a,b)|0;i=b<<2;j=uH(i)|0;c[k+8>>2]=j;h=0;b=0;a=-1;while(1){if((h|0)>=(c[l>>2]|0))break;g=a+1|0;if((h|0)>=(b|0)){b=c[((g|0)==(f|0)?l:e+(g<<2)|0)>>2]|0;a=g}c[j+(c[d+(h<<2)>>2]<<2)>>2]=a;h=h+1|0}c[k+28>>2]=uH(i)|0;c[k+32>>2]=uH(i)|0;c[k+36>>2]=uH(i)|0;c[k+40>>2]=uH(i)|0;c[k+12>>2]=uH(i)|0;c[k+16>>2]=uH(i)|0;c[k+20>>2]=uH(i)|0;c[k+24>>2]=uH(i)|0;return k|0}function Jt(){ft(184592,24);c[46151]=0;return}function Kt(){return ht(184592)|0}function Lt(a,b){a=a|0;b=b|0;var c=0.0,d=0.0;c=+h[a>>3]-+h[b>>3];d=+h[a+8>>3]-+h[b+8>>3];return +(+C(+(d*d+c*c)))}function Mt(a){a=a|0;var b=0;b=c[46151]|0;c[a+16>>2]=b;c[46151]=b+1;return}function Nt(a){a=a|0;var b=0,d=0;d=a+20|0;b=(c[d>>2]|0)+-1|0;c[d>>2]=b;if(!b)it(a,184592);return}function Ot(a){a=a|0;a=a+20|0;c[a>>2]=(c[a>>2]|0)+1;return}function Pt(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=+f;var i=0.0,j=0,k=0,m=0,n=0.0,o=0,p=0.0,q=0,r=0.0,s=0,t=0,u=0,v=0,w=0,x=0,y=0;x=l;l=l+16|0;o=x;c[o>>2]=e;q=b<<2;v=uH(q)|0;m=b<<3;w=uH(m)|0;u=$r(a,b)|0;a=0;while(1){if((a|0)>=(b|0))break;k=u+(a<<2)|0;j=0;while(1){if((j|0)==(b|0))break;s=(c[k>>2]|0)+(j<<2)|0;c[s>>2]=c[s>>2]<<8;j=j+1|0}a=a+1|0}if(!d)qa(92381,92389,283,92403);s=uH(m)|0;a=0;while(1){if((a|0)>=(b|0))break;h[s+(a<<3)>>3]=+h[d+(a<<3)>>3];a=a+1|0}Qt(s,b);i=0.0;n=0.0;m=1;while(1){if((m|0)>=(b|0))break;j=u+(m<<2)|0;k=d+(m<<3)|0;a=0;while(1){if((a|0)==(m|0))break;y=c[(c[j>>2]|0)+(a<<2)>>2]|0;r=+h[k>>3]-+h[d+(a<<3)>>3];i=r*r*(1.0/+(O(y,y)|0))+i;n=+B(+r)*(1.0/+(y|0))+n;a=a+1|0}m=m+1|0}r=n/i;a=0;while(1){if((a|0)>=(b|0))break;y=d+(a<<3)|0;h[y>>3]=+h[y>>3]*r;a=a+1|0}Rt(b,o,f,d,u);k=uH(O(q,b)|0)|0;j=0;while(1){if((j|0)>=(b|0)){k=1;break}m=k+((O(j,b)|0)<<2)|0;c[v+(j<<2)>>2]=m;o=u+(j<<2)|0;i=0.0;a=0;while(1){if((a|0)==(b|0))break;if((a|0)!=(j|0)){p=+(c[(c[o>>2]|0)+(a<<2)>>2]|0);p=-1.0/(p*p);g[m+(a<<2)>>2]=p;i=i-p}a=a+1|0}g[m+(j<<2)>>2]=i;j=j+1|0}while(1){if((k|0)>=(b|0)){j=0;break}i=+h[d+(k<<3)>>3];j=u+(k<<2)|0;a=0;while(1){if((a|0)==(k|0))break;y=(c[j>>2]|0)+(a<<2)|0;n=+(c[y>>2]|0);p=i-+h[d+(a<<3)>>3];p=n*n-p*p;q=~~+C(+p);q=p>0.0?q:0;c[(c[u+(a<<2)>>2]|0)+(k<<2)>>2]=q;c[y>>2]=q;a=a+1|0}k=k+1|0}while(1){if((j|0)>=(b|0)){q=0;a=0;break}n=+h[e+(j<<3)>>3];m=w+(j<<3)|0;h[m>>3]=0.0;o=u+(j<<2)|0;k=v+(j<<2)|0;a=0;i=0.0;while(1){if((a|0)==(b|0))break;if((a|0)!=(j|0)){p=+g[(c[k>>2]|0)+(a<<2)>>2]*+(c[(c[o>>2]|0)+(a<<2)>>2]|0);i=i+(n>=+h[e+(a<<3)>>3]?-p:p);h[m>>3]=i}a=a+1|0}j=j+1|0}while(1){if(!(a<<24>>24==0&(q|0)<200)){t=42;break}if((Dq(v,e,w,b,f,b,1)|0)<0){a=1;break}else{a=1;o=0}while(1){if((o|0)>=(b|0))break;p=+h[e+(o<<3)>>3];k=u+(o<<2)|0;m=v+(o<<2)|0;i=0.0;j=0;while(1){if((j|0)==(b|0))break;do if((j|0)!=(o|0)){n=+g[(c[m>>2]|0)+(j<<2)>>2]*+(c[(c[k>>2]|0)+(j<<2)>>2]|0);if(!(p>=+h[e+(j<<3)>>3])){i=i+n;break}else{i=i+-n;break}}while(0);j=j+1|0}j=w+(o<<3)|0;p=+h[j>>3];if(i!=p?+B(+(1.0-i/p))>1.0e-05:0){h[j>>3]=i;a=0}o=o+1|0}q=q+1|0}a:do if((t|0)==42){i=1.0/r;a=0;while(1){if((a|0)>=(b|0)){a=0;break a}y=d+(a<<3)|0;h[y>>3]=+h[y>>3]*i;y=e+(a<<3)|0;h[y>>3]=+h[y>>3]*i;a=a+1|0}}while(0);C_(c[u>>2]|0);C_(u);C_(c[v>>2]|0);C_(v);C_(s);C_(w);l=x;return a|0}function Qt(a,b){a=a|0;b=b|0;var c=0,d=0.0,e=0.0,f=0;c=0;d=0.0;while(1){if((c|0)>=(b|0))break;e=+h[a+(c<<3)>>3]+d;c=c+1|0;d=e}d=d/+(b|0);c=0;while(1){if((c|0)>=(b|0))break;f=a+(c<<3)|0;h[f>>3]=+h[f>>3]-d;c=c+1|0}f=b+-1|0;Bs(a,0,f,1.0/+As(a,0,f),a);return}function Rt(a,b,d,e,f){a=a|0;b=b|0;d=+d;e=e|0;f=f|0;var g=0,i=0,j=0,k=0,l=0,m=0;k=St(f,a)|0;l=uH(8)|0;if(!e){f=0;j=0}else{g=uH(a<<3)|0;f=0;while(1){if((f|0)>=(a|0))break;h[g+(f<<3)>>3]=+h[e+(f<<3)>>3];f=f+1|0}Qt(g,a);f=g;j=g}Tt(k,a,b,l,f,d);e=0;while(1){if((e|0)==1)break;g=l+(e<<3)|0;i=b+(e<<2)|0;f=0;while(1){if((f|0)>=(a|0))break;d=+C(+(+B(+(+h[g>>3]))));m=(c[i>>2]|0)+(f<<3)|0;h[m>>3]=+h[m>>3]*d;f=f+1|0}e=e+1|0}C_(c[k>>2]|0);C_(k);C_(l);C_(j);return}function St(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,h=0.0,i=0,j=0,k=0,m=0,n=0,o=0,p=0.0;o=l;l=l+16|0;f=o;n=b<<2;e=uH(O(n,b)|0)|0;n=uH(n)|0;d=0;while(1){if((d|0)>=(b|0))break;c[n+(d<<2)>>2]=e+((O(d,b)|0)<<2);d=d+1|0}m=Vt(a,b,f)|0;h=+g[f>>2];e=0;k=1;while(1){if((e|0)>=(b|0))break;f=a+(e<<2)|0;i=m+(e<<2)|0;j=n+(e<<2)|0;d=0;while(1){if((d|0)==(k|0))break;p=+(c[(c[f>>2]|0)+(d<<2)>>2]|0);p=+g[m+(d<<2)>>2]+ +g[i>>2]-p*p-h;g[(c[j>>2]|0)+(d<<2)>>2]=p;g[(c[n+(d<<2)>>2]|0)+(e<<2)>>2]=p;d=d+1|0}e=e+1|0;k=k+1|0}C_(m);l=o;return n|0}function Tt(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=+g;var i=0,j=0,k=0,l=0,m=0.0,n=0.0,o=0,p=0,q=0,r=0,s=0;r=b<<3;q=uH(r)|0;r=uH(r)|0;n=1.0-g;o=(b|0)<1?b:1;p=b+-1|0;k=(f|0)==0;j=0;a:while(1){if((j|0)>=(o|0))break;l=c[d+(j<<2)>>2]|0;do{i=0;while(1){if((i|0)==(b|0))break;h[l+(i<<3)>>3]=+((f2()|0)%100|0|0);i=i+1|0}if(k)i=0;else{zs(l,0,p,-+ys(f,0,p,l),f);i=0}while(1){if((i|0)==(j|0))break;s=d+(i<<2)|0;m=-+ys(c[s>>2]|0,0,p,l);zs(l,0,p,m,c[s>>2]|0);i=i+1|0}g=+As(l,0,p)}while(g<1.0e-10);Bs(l,0,p,1.0/g,l);do{Cs(r,0,p,l);Ut(a,b,b,l,q,f);Cs(l,0,p,q);i=0;while(1){if((i|0)==(j|0))break;s=d+(i<<2)|0;m=-+ys(c[s>>2]|0,0,p,l);zs(l,0,p,m,c[s>>2]|0);i=i+1|0}g=+As(l,0,p);if(g<1.0e-10)break a;Bs(l,0,p,1.0/g,l);m=+ys(l,0,p,r)}while(+B(+m)>3]=m*g;j=j+1|0}while(1){if((j|0)>=(o|0))break;k=c[d+(j<<2)>>2]|0;i=0;while(1){if((i|0)>=(b|0)){i=0;break}h[k+(i<<3)>>3]=+((f2()|0)%100|0|0);i=i+1|0}while(1){if((i|0)>=(j|0))break;s=d+(i<<2)|0;n=-+ys(c[s>>2]|0,0,p,k);zs(k,0,p,n,c[s>>2]|0);i=i+1|0}Bs(k,0,p,1.0/+As(k,0,p),k);h[e+(j<<3)>>3]=0.0;j=j+1|0}l=o+-1|0;j=0;while(1){if((j|0)>=(l|0))break;a=e+(j<<3)|0;f=j+1|0;g=+h[a>>3];i=j;k=f;while(1){if((k|0)>=(o|0))break;n=+h[e+(k<<3)>>3];s=g>2]|0);s=d+(i<<2)|0;Cs(c[b>>2]|0,0,p,c[s>>2]|0);Cs(c[s>>2]|0,0,p,q);h[e+(i<<3)>>3]=+h[a>>3];h[a>>3]=g;j=f}C_(q);C_(r);return}function Ut(a,b,d,e,f,i){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;i=i|0;var j=0,k=0.0,l=0,m=0;j=0;while(1){if((j|0)>=(b|0))break;m=a+(j<<2)|0;k=0.0;l=0;while(1){if((l|0)>=(d|0))break;k=+h[e+(l<<3)>>3]*+g[(c[m>>2]|0)+(l<<2)>>2]+k;l=l+1|0}h[f+(j<<3)>>3]=k;j=j+1|0}j=b+-1|0;if(i|0)zs(f,0,j,-+ys(f,0,j,i),i);return}function Vt(a,b,d){a=a|0;b=b|0;d=d|0;var e=0.0,f=0.0,h=0,i=0,j=0,k=0.0,l=0,m=0.0;j=uH(b<<2)|0;k=1.0/+(b|0);e=0.0;i=0;while(1){if((i|0)>=(b|0))break;l=a+(i<<2)|0;f=0.0;h=0;while(1){if((h|0)==(b|0))break;m=+(c[(c[l>>2]|0)+(h<<2)>>2]|0);m=m*m;f=m+f;h=h+1|0;e=m+e}g[j+(i<<2)>>2]=k*f;i=i+1|0}g[d>>2]=e/+(O(b,b)|0);return j|0}function Wt(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0.0,g=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0.0,u=0;q=O(d,d)|0;r=uH(q<<3)|0;s=uH(d<<3)|0;e=0;while(1){if((e|0)>=(d|0))break;h[s+(e<<3)>>3]=+h[c+(e<<3)>>3];e=e+1|0}e=0;while(1){if((e|0)>=(q|0))break;h[r+(e<<3)>>3]=+h[a+(e<<3)>>3];e=e+1|0}p=d+-1|0;g=0;o=0;a:while(1){if((o|0)<(p|0)){f=0.0;e=o}else{l=21;break}while(1){if((e|0)>=(d|0))break;t=+B(+(+h[a+((O(e,d)|0)+o<<3)>>3]));m=t=(d|0))break;l=a+(e+i<<3)|0;t=+h[l>>3];m=a+(e+n<<3)|0;h[l>>3]=+h[m>>3];h[m>>3]=t;e=e+1|0}m=c+(g<<3)|0;t=+h[m>>3];j=c+(o<<3)|0;h[m>>3]=+h[j>>3];h[j>>3]=t;m=o+1|0;k=a+(n+o<<3)|0;e=m;while(1){if((e|0)>=(d|0)){o=m;continue a}l=O(e,d)|0;f=+h[a+(l+o<<3)>>3]/+h[k>>3];i=c+(e<<3)|0;h[i>>3]=+h[i>>3]-+h[j>>3]*f;i=0;while(1){if((i|0)>=(d|0))break;u=a+(i+l<<3)|0;h[u>>3]=+h[u>>3]-+h[a+(i+n<<3)>>3]*f;i=i+1|0}e=e+1|0}}if((l|0)==21){f=+h[a+(q+-1<<3)>>3];if(+B(+f)<1.0e-10)l=33;else{h[b+(p<<3)>>3]=+h[c+(p<<3)>>3]/f;e=0;while(1){if((e|0)>=(p|0)){e=0;break}g=d-e|0;i=g+-2|0;f=+h[c+(i<<3)>>3];j=b+(i<<3)|0;h[j>>3]=f;k=O(i,d)|0;g=g+-1|0;while(1){if((g|0)>=(d|0))break;t=f-+h[b+(g<<3)>>3]*+h[a+(g+k<<3)>>3];h[j>>3]=t;g=g+1|0;f=t}h[j>>3]=f/+h[a+(k+i<<3)>>3];e=e+1|0}while(1){if((e|0)>=(d|0)){e=0;break}h[c+(e<<3)>>3]=+h[s+(e<<3)>>3];e=e+1|0}while(1){if((e|0)>=(q|0))break;h[a+(e<<3)>>3]=+h[r+(e<<3)>>3];e=e+1|0}C_(r);C_(s)}}if((l|0)==33){j3(92418)|0;C_(r);C_(s)}return}function Xt(b,d){b=b|0;d=d|0;var e=0.0,f=0.0,g=0.0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0;s=l;l=l+16|0;r=s;mr();Jt();Hr();c[46147]=jb[d&3]()|0;Jr();q=r+8|0;p=jb[d&3]()|0;e=0.0;f=0.0;a:while(1){n=(p|0)==0;o=p+8|0;while(1){if(!(Dr()|0)){Er(r);e=+h[r>>3];f=+h[q>>3]}if(!n){if(Dr()|0)break;g=+h[o>>3];if(g>3]>2]|0;Mt(j);qr(c[t+8>>2]|0,a[t+16>>0]|0,j);qr(c[v+8>>2]|0,a[v+16>>0]|0,j);Qr(t);Cr(v);Qr(v);v=+h[m+8>>3]>+h[u+8>>3];t=v&1;k=v?u:m;u=nr(k,v?m:u)|0;m=Kr(u,t)|0;Nr(b,m);qr(u,(t^1)&255,j);Nt(j);j=Lr(b,m)|0;if(j|0){Cr(b);Ar(b,j,+Lt(j,k))}b=Lr(m,i)|0;if(!b)continue;Ar(m,b,+Lt(b,k))}b=Or(p)|0;k=Rr(b)|0;i=nr(Ur(b)|0,p)|0;m=Kr(i,0)|0;Nr(b,m);j=Lr(b,m)|0;if(j|0){Cr(b);Ar(b,j,+Lt(j,p))}i=Kr(i,1)|0;Nr(m,i);b=Lr(i,k)|0;if(b|0)Ar(i,b,+Lt(b,p));p=jb[d&3]()|0}b=c[46090]|0;while(1){b=Rr(b)|0;if((b|0)==(c[46091]|0))break;or(c[b+8>>2]|0)}l=s;return}function Yt(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;g=l;l=l+16|0;f=g+8|0;e=g;do if(($x(a)|0)!=1){Zt(a);if(!b)b=_t(a)|0;d=$t(a,b)|0;if(0){h=c[15686]|0;c[e>>2]=qy(b)|0;c[e+4>>2]=d;f1(h,92434,e)|0}if((d|0)<0){Ow(1,92468,f)|0;break}else{au(a);bu(a,b);cu(a,b);du(a,d);break}}else{h=c[(c[(Ry(a)|0)+16>>2]|0)+132>>2]|0;c[h>>2]=0;c[h+4>>2]=0;c[h+8>>2]=0;c[h+12>>2]=0}while(0);l=g;return b|0}function Zt(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;d=$x(a)|0;d=O(d,d)|0;b=Ry(a)|0;while(1){if(!b)break;e=b+16|0;f=c[(c[e>>2]|0)+112>>2]|0;g=f+24|0;c[g>>2]=d;c[g+4>>2]=0;h[f+48>>3]=10.0;f=(lu(a,b)|0)==0;e=c[(c[e>>2]|0)+112>>2]|0;c[e>>2]=f?d:0;c[e+4>>2]=f?0:0;b=Sy(a,b)|0}return}function _t(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0;e=($x(a)|0)<3;b=Ry(a)|0;a:do if(!e){while(1){if(!b)break;e=c[(c[b+16>>2]|0)+112>>2]|0;if((c[e>>2]|0)==0&(c[e+4>>2]|0)==0)ku(a,b,0);b=Sy(a,b)|0}d=0;b=0;e=Ry(a)|0;while(1){if(!e)break a;h=c[(c[e+16>>2]|0)+112>>2]|0;g=c[h>>2]|0;h=c[h+4>>2]|0;f=((d|0)<0)<<31>>31;f=h>>>0>f>>>0|(h|0)==(f|0)&g>>>0>d>>>0;d=f?g:d;b=f?e:b;e=Sy(a,e)|0}}while(0);return b|0}function $t(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0;d=c[(c[b+16>>2]|0)+112>>2]|0;f=d+24|0;e=c[f>>2]|0;c[f>>2]=0;c[f+4>>2]=0;c[d+32>>2]=0;hu(a,b);d=Ry(a)|0;e=x3(0,e|0,32)|0;f=z;b=0;while(1){if(!d)break;h=(c[(c[d+16>>2]|0)+112>>2]|0)+24|0;g=c[h>>2]|0;h=c[h+4>>2]|0;if((g|0)==(e|0)&(h|0)==(f|0)){b=-1;break}i=((b|0)<0)<<31>>31;b=h>>>0>i>>>0|(h|0)==(i|0)&g>>>0>b>>>0?g:b;d=Sy(a,d)|0}return b|0}function au(a){a=a|0;var b=0,d=0,e=0,f=0;d=Ry(a)|0;while(1){if(!d)break;b=c[(c[d+16>>2]|0)+112>>2]|0;e=b+16|0;a:do if((c[e>>2]|0)==0&(c[e+4>>2]|0)==0)while(1){e=b+8|0;f=e;f=r3(c[f>>2]|0,c[f+4>>2]|0,1,0)|0;c[e>>2]=f;c[e+4>>2]=z;b=c[b+32>>2]|0;if(!b)break a;b=c[(c[b+16>>2]|0)+112>>2]|0}while(0);d=Sy(a,d)|0}return}function bu(a,b){a=a|0;b=b|0;h[(c[(c[b+16>>2]|0)+112>>2]|0)+40>>3]=6.283185307179586;gu(a,b);return}function cu(a,b){a=a|0;b=b|0;h[(c[(c[b+16>>2]|0)+112>>2]|0)+48>>3]=0.0;fu(a,b);return}function du(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,i=0,j=0.0,k=0.0;i=l;l=l+16|0;f=i;g=eu(a,b)|0;if(0){e=c[15686]|0;C1(92524,e)|0;d=0;while(1){if((d|0)>(b|0))break;h[f>>3]=+h[g+(d<<3)>>3];f1(e,92543,f)|0;d=d+1|0}C1(150517,e)|0}d=Ry(a)|0;while(1){if(!d)break;f=c[d+16>>2]|0;e=c[f+112>>2]|0;j=+h[g+(c[e+24>>2]<<3)>>3];e=e+48|0;k=+E(+(+h[e>>3]))*j;f=c[f+132>>2]|0;h[f>>3]=k;h[f+8>>3]=+F(+(+h[e>>3]))*j;d=Sy(a,d)|0}C_(g);l=i;return}function eu(b,d){b=b|0;d=d|0;var e=0.0,f=0.0,g=0,i=0.0,j=0,k=0,m=0,n=0;n=l;l=l+16|0;k=n;m=tH((d<<3)+8|0)|0;b=ML(b,mx(c[b+60>>2]|0,0,98262,0)|0,0)|0;a:do if(!b){f=1.0;e=0.0;b=1}else{i=0.0;e=0.0;g=1;b:while(1){if((g|0)>(d|0)){f=i;b=g;break a}f=+b2(b,k);if(!(f>0.0)){f=i;b=g;break a}i=f>.02?f:.02;e=i+e;j=g+1|0;h[m+(g<<3)>>3]=e;b=c[k>>2]|0;while(1){g=a[b>>0]|0;if(!(g<<24>>24)){g=j;continue b}if(!(g<<24>>24==58|(A$(g<<24>>24)|0)!=0)){g=j;continue b}b=b+1|0}}}while(0);while(1){if((b|0)>(d|0))break;i=e+f;h[m+(b<<3)>>3]=i;b=b+1|0;e=i}l=n;return m|0}function fu(a,b){a=a|0;b=b|0;var d=0,e=0.0,f=0,g=0,i=0,j=0.0;d=c[(c[b+16>>2]|0)+112>>2]|0;if(!(c[d+32>>2]|0))e=0.0;else e=+h[d+48>>3]-+h[d+40>>3]*.5;g=Ix(a,b)|0;while(1){if(!g)break;d=c[g>>2]&3;f=c[((d|0)==3?g:g+48|0)+40>>2]|0;if((f|0)==(b|0))f=c[((d|0)==2?g:g+-48|0)+40>>2]|0;d=c[(c[f+16>>2]|0)+112>>2]|0;if((c[d+32>>2]|0)==(b|0)?(i=d+48|0,!(+h[i>>3]!=10.0)):0){j=+h[d+40>>3];h[i>>3]=j*.5+e;e=j+e;d=d+16|0;if(!((c[d>>2]|0)==0&(c[d+4>>2]|0)==0))fu(a,f)}g=Jx(a,g,b)|0}return}function gu(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0.0,i=0,j=0;e=c[(c[b+16>>2]|0)+112>>2]|0;f=e+8|0;g=+h[e+40>>3]/(+((c[f>>2]|0)>>>0)+4294967296.0*+((c[f+4>>2]|0)>>>0));f=Ix(a,b)|0;while(1){if(!f)break;e=c[f>>2]&3;d=c[((e|0)==3?f:f+48|0)+40>>2]|0;if((d|0)==(b|0))d=c[((e|0)==2?f:f+-48|0)+40>>2]|0;e=c[(c[d+16>>2]|0)+112>>2]|0;if(((c[e+32>>2]|0)==(b|0)?(i=e+40|0,!(+h[i>>3]!=0.0)):0)?(j=e+8|0,h[i>>3]=g*(+((c[j>>2]|0)>>>0)+4294967296.0*+((c[j+4>>2]|0)>>>0)),e=e+16|0,!((c[e>>2]|0)==0&(c[e+4>>2]|0)==0)):0)gu(a,d);f=Jx(a,f,b)|0}return}function hu(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0;p=l;l=l+16|0;n=p;o=mx(b,2,98515,0)|0;c[n+4>>2]=0;c[n>>2]=0;iu(n,d);j=(o|0)==0;a:while(1){k=ju(n)|0;if(!k)break;m=k+16|0;h=c[(c[(c[m>>2]|0)+112>>2]|0)+24>>2]|0;g=Ix(b,k)|0;h=r3(0,h|0,0,1)|0;h=x3(h|0,z|0,32)|0;i=z;while(1){if(!g)continue a;if(!((!j?(a[(xx(g,o)|0)>>0]|0)==48:0)?!(a$(xx(g,o)|0,135312)|0):0)){d=c[g>>2]&3;e=c[((d|0)==3?g:g+48|0)+40>>2]|0;if((e|0)==(k|0))e=c[((d|0)==2?g:g+-48|0)+40>>2]|0;d=c[(c[e+16>>2]|0)+112>>2]|0;f=d+24|0;q=f;r=c[q+4>>2]|0;if(i>>>0>>0|((i|0)==(r|0)?h>>>0<(c[q>>2]|0)>>>0:0)){r=f;c[r>>2]=h;c[r+4>>2]=i;c[d+32>>2]=k;r=(c[(c[m>>2]|0)+112>>2]|0)+16|0;q=r;q=r3(c[q>>2]|0,c[q+4>>2]|0,1,0)|0;c[r>>2]=q;c[r+4>>2]=z;iu(n,e)}}g=Jx(b,g,k)|0}}l=p;return}function iu(a,b){a=a|0;b=b|0;var d=0,e=0;d=tH(8)|0;c[d>>2]=b;b=a+4|0;e=c[b>>2]|0;c[((e|0)==0?a:e+4|0)>>2]=d;c[b>>2]=d;return}function ju(a){a=a|0;var b=0,d=0;d=c[a>>2]|0;if(d){b=c[d>>2]|0;c[a>>2]=c[d+4>>2];C_(d);if(!(c[a>>2]|0))c[a+4>>2]=0}else b=0;return b|0}function ku(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0;h=c[c[(c[b+16>>2]|0)+112>>2]>>2]|0;g=Ix(a,b)|0;h=r3(0,h|0,0,1)|0;h=x3(h|0,z|0,32)|0;i=z;while(1){if(!g)break;f=c[g>>2]&3;e=c[((f|0)==3?g:g+48|0)+40>>2]|0;if((e|0)==(b|0))e=c[((f|0)==2?g:g+-48|0)+40>>2]|0;if((e|0)!=(d|0)?(j=c[(c[e+16>>2]|0)+112>>2]|0,f=j,k=c[f+4>>2]|0,i>>>0>>0|((i|0)==(k|0)?h>>>0<(c[f>>2]|0)>>>0:0)):0){k=j;c[k>>2]=h;c[k+4>>2]=i;ku(a,e,b)}g=Jx(a,g,b)|0}return}function lu(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;f=0;g=Ix(a,b)|0;while(1){if(!g){d=1;break}e=c[g>>2]&3;d=c[((e|0)==3?g:g+48|0)+40>>2]|0;if((d|0)==(b|0))d=c[((e|0)==2?g:g+-48|0)+40>>2]|0;if((d|0)!=(b|0)){if(f)if((f|0)==(d|0))d=f;else{d=0;break}}else d=f;f=d;g=Jx(a,g,b)|0}return d|0}function mu(a){a=a|0;var b=0,d=0,e=0,f=0.0,g=0;b=l;l=l+32|0;e=b;d=mx(a,1,92551,0)|0;g=mx(a,0,92551,0)|0;a=nu(a,g,d,mx(a,0,92556,0)|0)|0;d=a+16|0;f=+C(+(+h[a>>3]+.1));yu(e,0.0,0.0,f,f);c[d>>2]=c[e>>2];c[d+4>>2]=c[e+4>>2];c[d+8>>2]=c[e+8>>2];c[d+12>>2]=c[e+12>>2];c[d+16>>2]=c[e+16>>2];c[d+20>>2]=c[e+20>>2];c[d+24>>2]=c[e+24>>2];c[d+28>>2]=c[e+28>>2];ou(a);pu(a);qu(a);l=b;return}function nu(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0.0,g=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;o=tH(72)|0;c[o+60>>2]=0;c[o+56>>2]=a;k=a+16|0;f=0.0;l=0;i=1;j=0;m=0;while(1){g=c[k>>2]|0;if((i|0)>(c[g+180>>2]|0))break;g=nu(c[(c[g+184>>2]|0)+(i<<2)>>2]|0,b,d,e)|0;f=+h[g>>3]+f;if(j|0)c[j+52>>2]=g;l=l+1|0;i=i+1|0;j=g;m=(m|0)==0?g:m}n=Ry(a)|0;g=m;while(1){if(!n)break;i=n+16|0;if(!(c[c[(c[i>>2]|0)+112>>2]>>2]|0)){k=tu(n,d)|0;f=+h[k>>3]+f;if(j|0)c[j+52>>2]=k;c[c[(c[i>>2]|0)+112>>2]>>2]=a;i=l+1|0;j=k;g=(g|0)==0?k:g}else i=l;n=Sy(a,n)|0;l=i}c[o+64>>2]=l;if(!l)f=+vu(a,b);else{h[o+8>>3]=f;f=+uu(o,e)}h[o>>3]=f;c[o+48>>2]=g;return o|0}function ou(a){a=a|0;var b=0,d=0,e=0,f=0,g=0.0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0.0,r=0.0,s=0.0,t=0.0,u=0.0;p=l;l=l+176|0;f=p+144|0;n=p+64|0;k=p+32|0;i=p;o=c[a+64>>2]|0;a:do if(o|0){m=tH(o<<2)|0;b=a+48|0;e=0;d=b;while(1){d=c[d>>2]|0;if((e|0)>=(o|0))break;c[m+(e<<2)>>2]=d;e=e+1|0;d=d+52|0}Z0(m,o,4,79);j=tH(o<<3)|0;d=0;while(1){if((d|0)>=(o|0))break;h[j+(d<<3)>>3]=+h[c[m+(d<<2)>>2]>>3];d=d+1|0}g=+h[a+8>>3];if(+h[a>>3]==g){i=a+16|0;c[f>>2]=c[i>>2];c[f+4>>2]=c[i+4>>2];c[f+8>>2]=c[i+8>>2];c[f+12>>2]=c[i+12>>2];c[f+16>>2]=c[i+16>>2];c[f+20>>2]=c[i+20>>2];c[f+24>>2]=c[i+24>>2];c[f+28>>2]=c[i+28>>2];i=wu(o,j,f)|0}else{q=+h[a+40>>3];r=+h[a+32>>3];h[i>>3]=+h[a+16>>3];h[i+8>>3]=+h[a+24>>3];s=q-r;g=(r+q-+C(+(g*4.0+s*s)))*.5;h[i+16>>3]=r-g;h[i+24>>3]=q-g;c[f>>2]=c[i>>2];c[f+4>>2]=c[i+4>>2];c[f+8>>2]=c[i+8>>2];c[f+12>>2]=c[i+12>>2];c[f+16>>2]=c[i+16>>2];c[f+20>>2]=c[i+20>>2];c[f+24>>2]=c[i+24>>2];c[f+28>>2]=c[i+28>>2];i=wu(o,j,f)|0}if(0){f=c[15686]|0;q=+h[a+24>>3];r=+h[a+32>>3];s=+h[a+40>>3];h[k>>3]=+h[a+16>>3];h[k+8>>3]=q;h[k+16>>3]=r;h[k+24>>3]=s;f1(f,92603,k)|0}e=c[15686]|0;d=0;while(1){if((d|0)>=(o|0))break;k=(c[m+(d<<2)>>2]|0)+16|0;f=i+(d<<5)|0;c[k>>2]=c[f>>2];c[k+4>>2]=c[f+4>>2];c[k+8>>2]=c[f+8>>2];c[k+12>>2]=c[f+12>>2];c[k+16>>2]=c[f+16>>2];c[k+20>>2]=c[f+20>>2];c[k+24>>2]=c[f+24>>2];c[k+28>>2]=c[f+28>>2];if(0){g=+h[f>>3];r=+h[i+(d<<5)+16>>3];u=r*.5;q=+h[i+(d<<5)+8>>3];s=+h[i+(d<<5)+24>>3];t=s*.5;h[n>>3]=+h[j+(d<<3)>>3];h[n+8>>3]=g-u;h[n+16>>3]=q-t;h[n+24>>3]=u+g;h[n+32>>3]=t+q;h[n+40>>3]=s*r;h[n+48>>3]=g;h[n+56>>3]=q;h[n+64>>3]=r;h[n+72>>3]=s;f1(e,92620,n)|0}d=d+1|0}C_(m);C_(j);C_(i);d=0;while(1){b=c[b>>2]|0;if((d|0)>=(o|0))break a;if(!(c[b+60>>2]|0))ou(b);b=b+52|0;d=d+1|0}}while(0);l=p;return}function pu(a){a=a|0;var b=0,d=0,e=0,f=0,g=0.0,i=0.0,j=0,k=0.0,m=0.0;f=l;l=l+48|0;e=f;if(c[a+60>>2]|0){k=+h[a+24>>3];i=+h[a+32>>3];g=+h[a+40>>3];b=c[a+56>>2]|0;d=b+16|0;j=c[d>>2]|0;h[j+16>>3]=+h[a+16>>3];h[j+24>>3]=k;a=c[d>>2]|0;h[a+32>>3]=i*.013888888888888888;h[a+40>>3]=g*.013888888888888888;aN(b,c[(c[(dz(b)|0)+16>>2]|0)+116>>2]&1);ru(b);if(0){j=c[15686]|0;a=qy(b)|0;d=c[d>>2]|0;m=+h[d+16>>3];g=+h[d+24>>3];i=+h[d+80>>3];k=+h[d+96>>3]+ +h[d+88>>3];c[e>>2]=a;h[e+8>>3]=m;h[e+16>>3]=g;h[e+24>>3]=i;h[e+32>>3]=k;f1(j,92562,e)|0}}else{b=a+48|0;while(1){b=c[b>>2]|0;if(!b)break;pu(b);b=b+52|0}i=+h[a+32>>3];m=+h[a+40>>3];g=+h[a+16>>3]-i*.5;k=+h[a+24>>3]-m*.5;j=c[(c[a+56>>2]|0)+16>>2]|0;h[j+16>>3]=g;h[j+24>>3]=k;h[j+32>>3]=g+i;h[j+40>>3]=k+m}l=f;return}function qu(a){a=a|0;var b=0,d=0,e=0;e=c[a+64>>2]|0;b=a+48|0;d=0;while(1){b=c[b>>2]|0;if((d|0)>=(e|0))break;qu(b);b=b+52|0;d=d+1|0}C_(a);return}function ru(b){b=b|0;var d=0,e=0,f=0,g=0;g=l;l=l+48|0;f=g;d=g+8|0;e=c[46380]|0;if(e|0?(a[(xx(b,e)|0)>>0]|0)==0:0){h[f>>3]=+h[(c[b+16>>2]|0)+80>>3]*.7;X0(d,92597,f)|0;qx(b,c[46380]|0,d)|0}cM(b);l=g;return}function su(a,b){a=a|0;b=b|0;var d=0.0;d=+h[c[a>>2]>>3]-+h[c[b>>2]>>3];return (d<0.0?1:(d>0.0)<<31>>31)|0}function tu(a,b){a=a|0;b=b|0;var d=0;d=tH(72)|0;h[d>>3]=+vu(a,b);c[d+60>>2]=1;c[d+56>>2]=a;return d|0}function uu(a,b){a=a|0;b=b|0;var d=0.0;d=+KL(c[a+56>>2]|0,b,0.0,0.0);if(d==0.0)d=+h[a+8>>3];else{d=+C(+(+h[a+8>>3]))+d*2.0;d=d*d}return +d}function vu(a,b){a=a|0;b=b|0;var c=0.0;c=+KL(a,b,1.0,0.0);return +(c==0.0?1.0e3:c*1.0e3)}function wu(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0.0,g=0,i=0,j=0.0;i=l;l=l+32|0;g=i;e=0;f=0.0;while(1){if((e|0)>=(a|0))break;j=+h[b+(e<<3)>>3]+f;e=e+1|0;f=j}if(f>+h[d+24>>3]*+h[d+16>>3]+.001)e=0;else{e=tH(a<<5)|0;c[g>>2]=c[d>>2];c[g+4>>2]=c[d+4>>2];c[g+8>>2]=c[d+8>>2];c[g+12>>2]=c[d+12>>2];c[g+16>>2]=c[d+16>>2];c[g+20>>2]=c[d+20>>2];c[g+24>>2]=c[d+24>>2];c[g+28>>2]=c[d+28>>2];xu(a,b,e,0,0.0,1.0,0.0,1.0,g)}l=i;return e|0}function xu(a,b,d,e,f,g,i,j,k){a=a|0;b=b|0;d=d|0;e=e|0;f=+f;g=+g;i=+i;j=+j;k=k|0;var m=0,n=0.0,o=0.0,p=0,q=0.0,r=0.0,s=0.0,t=0.0,u=0,v=0.0,w=0,x=0,y=0,z=0,A=0,B=0.0;z=l;l=l+112|0;y=z+72|0;u=z+40|0;p=z+32|0;m=z;w=k+16|0;q=+h[w>>3];x=k+24|0;r=+h[x>>3];v=+h[k+16+((!(q>3];do if((a|0)>=1){if(0){A=c[15686]|0;B=+h[k+8>>3];h[m>>3]=+h[k>>3];h[m+8>>3]=q;h[m+16>>3]=B;h[m+24>>3]=r;f1(A,92657,m)|0;c[p>>2]=e;f1(A,92703,p)|0}if(!e){i=+h[b>>3];B=v*v;v=i/B;B=B/i;c[y>>2]=c[k>>2];c[y+4>>2]=c[k+4>>2];c[y+8>>2]=c[k+8>>2];c[y+12>>2]=c[k+12>>2];c[y+16>>2]=c[k+16>>2];c[y+20>>2]=c[k+20>>2];c[y+24>>2]=c[k+24>>2];c[y+28>>2]=c[k+28>>2];xu(a,b,d,1,i,i,i,v>B?v:B,y);break}if((a|0)>(e|0)?(t=+h[b+(e<<3)>>3],n=tg?g:t,t=t+i,o=t/v,o=o*o,B=o/s,o=n/o,o=B>o?B:o,o<=j):0){c[y>>2]=c[k>>2];c[y+4>>2]=c[k+4>>2];c[y+8>>2]=c[k+8>>2];c[y+12>>2]=c[k+12>>2];c[y+16>>2]=c[k+16>>2];c[y+20>>2]=c[k+20>>2];c[y+24>>2]=c[k+24>>2];c[y+28>>2]=c[k+28>>2];xu(a,b,d,e+1|0,n,s,t,o,y);break}q=i/v;if(0){A=c[15686]|0;c[u>>2]=e;h[u+8>>3]=i;h[u+16>>3]=v;h[u+24>>3]=q;f1(A,92728,u)|0}n=+h[w>>3];if(v==n){o=1.0/q;p=k+8|0;n=+h[k>>3]-n*.5;m=0;while(1){if((m|0)>=(e|0))break;h[d+(m<<5)+24>>3]=q;B=+h[b+(m<<3)>>3]*o;h[d+(m<<5)+16>>3]=B;h[d+(m<<5)+8>>3]=(+h[x>>3]-q)*.5+ +h[p>>3];h[d+(m<<5)>>3]=B*.5+n;n=B+n;m=m+1|0}h[p>>3]=+h[p>>3]-q*.5;m=1}else{o=1.0/q;n=+h[x>>3]*.5+ +h[k+8>>3];m=0;while(1){if((m|0)>=(e|0))break;h[d+(m<<5)+16>>3]=q;B=+h[b+(m<<3)>>3]*o;h[d+(m<<5)+24>>3]=B;h[d+(m<<5)>>3]=(q-+h[w>>3])*.5+ +h[k>>3];h[d+(m<<5)+8>>3]=n-B*.5;n=n-B;m=m+1|0}h[k>>3]=+h[k>>3]+q*.5;m=0}A=k+16+(m<<3)|0;h[A>>3]=+h[A>>3]-q;c[y>>2]=c[k>>2];c[y+4>>2]=c[k+4>>2];c[y+8>>2]=c[k+8>>2];c[y+12>>2]=c[k+12>>2];c[y+16>>2]=c[k+16>>2];c[y+20>>2]=c[k+20>>2];c[y+24>>2]=c[k+24>>2];c[y+28>>2]=c[k+28>>2];xu(a-e|0,b+(e<<3)|0,d+(e<<5)|0,0,0.0,0.0,0.0,1.0,y)}while(0);l=z;return}function yu(a,b,c,d,e){a=a|0;b=+b;c=+c;d=+d;e=+e;h[a>>3]=b;h[a+8>>3]=c;h[a+16>>3]=d;h[a+24>>3]=e;return}function zu(a,d,e){a=a|0;d=d|0;e=e|0;var f=0,i=0,j=0,k=0,m=0.0,n=0.0,o=0.0,p=0.0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0;D=l;l=l+96|0;C=D+48|0;B=D+24|0;A=D+16|0;z=D+8|0;u=D+80|0;v=D;w=a+16|0;x=d+4|0;y=u+4|0;s=Ry(a)|0;e=0;f=0;i=0;j=0;while(1){if(!s)break;t=Dx(a,s)|0;q=e;r=j;while(1){if(!t)break;e=(b[(c[t+16>>2]|0)+168>>1]|0)==0;do if((s|0)==(c[((c[t>>2]&3|0)==2?t:t+-48|0)+40>>2]|0))if(e){j=q;e=r}else{if(!f){e=tH(96)|0;c[e+84>>2]=tH((($x(a)|0)<<5)+11520|0)|0;f=e}else e=r;Lm(f,t,c[(c[w>>2]|0)+248>>2]|0);j=q}else if(!e){i=Au(t,d)|0;j=i+8|0;if(ls(c[j>>2]|0,c[i>>2]|0)|0){k=rU(c[j>>2]|0,c[i>>2]|0)|0;if(!k){Ow(0,92781,z)|0;j=1;e=r;break}else e=t;while(1){if(!e)break;E=e+16|0;F=(c[E>>2]|0)+144|0;Rm(v,e,k,0,c[j>>2]|0,c[i>>2]|0);H=v;G=c[H+4>>2]|0;c[F>>2]=c[H>>2];c[F+4>>2]=G;Tm(a,e,c[j>>2]|0,c[i>>2]|0,0);e=c[(c[E>>2]|0)+172>>2]|0}Bu(i);j=q;e=r;break}if(!q){pq(u,a);e=XD(a,8,8)|0;Ow(0,92865,A)|0;n=+(e|0);o=+g[d>>2];p=+g[x>>2];if(!(o>=n)&!(p>=n)){m=+g[u>>2];n=+g[y>>2];if(!(!(m<=o)&!(n<=p))){h[C>>3]=m;h[C+8>>3]=n;h[C+16>>3]=o;h[C+24>>3]=p;Ow(3,92981,C)|0}}else{c[B>>2]=e;h[B+8>>3]=o;h[B+16>>3]=p;Ow(3,92931,B)|0}j=1;e=r}else{j=q;e=r}}else{j=q;e=r}while(0);t=Fx(a,t)|0;q=j;r=e}s=Sy(a,s)|0;e=q;j=r}Cu(i);if(f|0){C_(c[f+84>>2]|0);C_(j)}l=D;return e|0}function Au(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0;p=l;l=l+16|0;m=p+4|0;n=p;e=c[b>>2]&3;f=c[((e|0)==2?b:b+-48|0)+40>>2]|0;e=c[((e|0)==3?b:b+48|0)+40>>2]|0;q=f+16|0;h=c[(c[q>>2]|0)+212>>2]|0;c[m>>2]=h;i=e+16|0;g=c[(c[i>>2]|0)+212>>2]|0;c[n>>2]=g;k=tH(12)|0;b=h;j=g;if(a[(c[q>>2]|0)+118>>0]|0){b=c[(c[(c[b+16>>2]|0)+140>>2]|0)+48>>2]|0;c[m>>2]=b;f=h;h=b}if(!(a[(c[i>>2]|0)+118>>0]|0))i=j;else{i=c[(c[(c[j+16>>2]|0)+140>>2]|0)+48>>2]|0;c[n>>2]=i;e=g;g=i}h=c[(c[(c[h+16>>2]|0)+140>>2]|0)+44>>2]|0;g=c[(c[(c[g+16>>2]|0)+140>>2]|0)+44>>2]|0;if((h|0)<=(g|0))if((g|0)>(h|0)){Du(k,g,e,h,n,d);b=c[n>>2]|0;g=b;e=n;o=11}else h=i;else{Du(k,h,f,g,m,d);b=c[m>>2]|0;f=b;g=e;e=m;o=11}while(1){if((o|0)==11){c[e>>2]=c[(c[(c[b+16>>2]|0)+140>>2]|0)+48>>2];e=g;b=c[m>>2]|0;h=c[n>>2]|0}if((b|0)==(h|0))break;Eu(k,b,0,f,d);Eu(k,h,e,0,d);c[m>>2]=c[(c[(c[b+16>>2]|0)+140>>2]|0)+48>>2];f=b;g=h;e=n;b=h;o=11}Eu(k,h,e,f,d);l=p;return k|0}function Bu(a){a=a|0;c[a>>2]=0;return}function Cu(a){a=a|0;if(a|0){C_(c[a+8>>2]|0);C_(a)}return}function Du(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0;i=f;while(1){h=c[i>>2]|0;if((b|0)<=(e|0))break;Eu(a,h,d,0,g);b=b+-1|0;i=(c[(c[h+16>>2]|0)+140>>2]|0)+48|0;d=h}c[f>>2]=d;return}function Eu(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0;h=Ry(d)|0;while(1){if(!h)break;i=c[h+16>>2]|0;if(!((h|0)==(f|0)|((h|0)==(e|0)?1:(c[i+212>>2]|0)!=(d|0)))?(a[i+118>>0]|0)==0:0)Fu(b,Om(h,g,0)|0);h=Sy(d,h)|0}i=d+16|0;d=1;while(1){h=c[i>>2]|0;if((d|0)>(c[h+180>>2]|0))break;h=c[(c[h+184>>2]|0)+(d<<2)>>2]|0;if(!((h|0)==(e|0)|(h|0)==(f|0)))Fu(b,Gu(h,g)|0);d=d+1|0}return}function Fu(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;e=a+4|0;f=c[e>>2]|0;g=a+8|0;d=c[g>>2]|0;do if((f|0)==(c[a>>2]|0))if(!d){d=uH(400)|0;c[g>>2]=d;c[e>>2]=100;break}else{c[e>>2]=f<<1;d=wH(d,f<<3)|0;c[g>>2]=d;break}while(0);g=c[a>>2]|0;c[a>>2]=g+1;c[d+(g<<2)>>2]=b;return}function Gu(b,d){b=b|0;d=d|0;var e=0.0,f=0.0,i=0.0,j=0.0,k=0.0,l=0.0,m=0,n=0.0,o=0.0,p=0.0;m=tH(8)|0;b=c[b+16>>2]|0;e=+h[b+16>>3];l=+h[b+24>>3];f=+h[b+32>>3];k=+h[b+40>>3];c[m+4>>2]=4;b=tH(64)|0;c[m>>2]=b;if(!(a[d+8>>0]|0)){p=+g[d>>2];o=+g[d+4>>2];i=(f+e)*.5*(p+-1.0);n=(k+l)*.5*(o+-1.0);j=e*p-i;i=f*p-i;f=k*o-n;e=l*o-n}else{i=+g[d>>2];p=+g[d+4>>2];j=e-i;i=f+i;f=k+p;e=l-p}h[b>>3]=j;h[b+8>>3]=e;h[b+16>>3]=j;h[b+24>>3]=f;h[b+32>>3]=i;h[b+40>>3]=f;h[b+48>>3]=i;h[b+56>>3]=e;return m|0}function Hu(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0;o=l;l=l+160|0;n=o+16|0;j=o+8|0;g=o;k=o+24|0;m=tH($x(b)|0)|0;h=b+16|0;f=c[c[(c[h>>2]|0)+140>>2]>>2]|0;a:do if(!f){g=0;f=0}else{p=qy(b)|0;i=c[46152]|0;c[g>>2]=p;c[g+4>>2]=i;X0(k,93041,g)|0;i=uA(b,k,1)|0;zz(i,134401,280,1)|0;g=tH(56)|0;c[(c[i+16>>2]|0)+140>>2]=g;c[g>>2]=f;c[g+4>>2]=c[(c[(c[h>>2]|0)+140>>2]|0)+4>>2];while(1){g=c[f+4>>2]|0;if(!g){g=i;f=1;break a}if(!(a[m+(c[(c[g+16>>2]|0)+120>>2]|0)>>0]|0))Iu(b,g,i,m);f=f+16|0}}while(0);h=0;i=Ry(b)|0;while(1){if(!i)break;p=c[i+16>>2]|0;if((a[m+(c[p+120>>2]|0)>>0]|0)==0?(a[p+119>>0]|0)==3:0){if(!g){p=qy(b)|0;g=(c[46152]|0)+f|0;c[j>>2]=p;c[j+4>>2]=g;X0(k,93041,j)|0;g=uA(b,k,1)|0;zz(g,134401,280,1)|0;p=tH(56)|0;c[(c[g+16>>2]|0)+140>>2]=p;f=f+1|0}Iu(b,i,g,m);h=1}i=Sy(b,i)|0}if(g|0)uD(g)|0;g=Ry(b)|0;while(1){if(!g)break;if(!(a[m+(c[(c[g+16>>2]|0)+120>>2]|0)>>0]|0)){j=qy(b)|0;p=(c[46152]|0)+f|0;c[n>>2]=j;c[n+4>>2]=p;X0(k,93049,n)|0;p=uA(b,k,1)|0;zz(p,134401,280,1)|0;j=tH(56)|0;c[(c[p+16>>2]|0)+140>>2]=j;Iu(b,g,p,m);uD(p)|0;f=f+1|0}g=Sy(b,g)|0}C_(m);c[46152]=(c[46152]|0)+f;if(d|0)c[d>>2]=f;if(e|0)c[e>>2]=h;i=tH((f<<2)+4|0)|0;h=i;g=vA(b)|0;while(1){if(!g)break;c[h>>2]=g;h=h+4|0;g=wA(g)|0;f=f+-1|0}if(!f){c[h>>2]=0;l=o;return i|0}else qa(93057,93068,134,93075);return 0}function Iu(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0;a[f+(c[(c[d+16>>2]|0)+120>>2]|0)>>0]=1;Wy(e,d,1)|0;i=Ix(b,d)|0;while(1){if(!i)break;h=c[i>>2]&3;g=c[((h|0)==3?i:i+48|0)+40>>2]|0;if((g|0)==(d|0))g=c[((h|0)==2?i:i+-48|0)+40>>2]|0;if(!(a[f+(c[(c[g+16>>2]|0)+120>>2]|0)>>0]|0))Iu(b,g,e,f);i=Jx(b,i,d)|0}return}function Ju(a){a=a|0;var b=0;b=uH(24)|0;c[46153]=b;c[b>>2]=Bw(18100,c[4555]|0)|0;c[b+16>>2]=0;c[b+12>>2]=0;c[b+4>>2]=Ku(a)|0;return b|0}function Ku(a){a=a|0;var b=0,d=0;b=uH(16)|0;c[b+12>>2]=0;d=uH(a*20|0)|0;c[b>>2]=d;c[b+8>>2]=d+(a*20|0);c[b+4>>2]=d;return b|0}function Lu(a,b,d){a=a|0;b=b|0;d=d|0;d=Nu(c[46153]|0)|0;c[d>>2]=c[b>>2];c[d+4>>2]=c[b+4>>2];c[d+8>>2]=0;return d|0}function Mu(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;a=(c[b>>2]|0)-(c[d>>2]|0)|0;if(!a)a=(c[b+4>>2]|0)-(c[d+4>>2]|0)|0;return a|0}function Nu(a){a=a|0;var b=0,d=0,e=0,f=0;f=a+8|0;a=c[f>>2]|0;b=c[a+4>>2]|0;if((b|0)==(c[a+8>>2]|0)){d=a+12|0;e=c[d>>2]|0;if(!e){a=Ku(((b-(c[a>>2]|0)|0)/20|0)<<1)|0;c[d>>2]=a}else a=e;c[f>>2]=a;b=c[a>>2]|0;c[a+4>>2]=b}c[a+4>>2]=b+20;return b|0}function Ou(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;f=a+12|0;d=c[f>>2]|0;if((d|0)<(b|0)){e=d<<1;e=(e|0)<(b|0)?b:e;b=a+16|0;d=c[b>>2]|0;if(d|0)C_(d);c[b>>2]=uH(e<<3)|0;c[f>>2]=e}return}function Pu(a){a=a|0;var b=0;b=c[a>>2]|0;nb[c[b>>2]&63](b,0,64)|0;c[a+20>>2]=c[a+16>>2];b=c[a+4>>2]|0;c[a+8>>2]=b;c[b+4>>2]=c[b>>2];return}function Qu(a){a=a|0;xw(c[a>>2]|0)|0;Ru(c[a+4>>2]|0);C_(c[a+16>>2]|0);C_(a);return}function Ru(a){a=a|0;var b=0;while(1){if(!a)break;b=c[a+12>>2]|0;C_(c[a>>2]|0);C_(a);a=b}return}function Su(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0;g=l;l=l+32|0;f=g;h=g+12|0;c[h>>2]=b;c[h+4>>2]=d;i=c[a>>2]|0;h=(nb[c[i>>2]&63](i,h,1)|0)+8|0;c[h>>2]=Tu(a,e,c[h>>2]|0)|0;if(0>2){i=c[15686]|0;h=qy(e)|0;c[f>>2]=b;c[f+4>>2]=d;c[f+8>>2]=h;f1(i,93085,f)|0}l=g;return}function Tu(a,b,d){a=a|0;b=b|0;d=d|0;var e=0;e=a+20|0;a=c[e>>2]|0;c[e>>2]=a+8;c[a>>2]=b;c[a+4>>2]=d;return a|0}function Uu(a,b){a=a|0;b=b|0;Iw(c[a>>2]|0,b,a)|0;return}function Vu(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;e=l;l=l+32|0;f=e;c[f>>2]=b;c[f+4>>2]=d;d=c[a>>2]|0;d=nb[c[d>>2]&63](d,f,4)|0;l=e;return d|0}function Wu(a,b){a=a|0;b=b|0;if(($x(a)|0)==1){a=c[(c[(Ry(a)|0)+16>>2]|0)+132>>2]|0;c[a>>2]=0;c[a+4>>2]=0;c[a+8>>2]=0;c[a+12>>2]=0}else{Xu(a);if(!((PL(wx(b,93102)|0)|0)<<24>>24))b=sv(a,183128)|0;else b=Yu(a)|0;Bv(a,b,183128);Zu(b)}return}function Xu(a){a=a|0;var b=0;b=dz(c[c[(c[(Ry(a)|0)+16>>2]|0)+112>>2]>>2]|0)|0;a=c[46154]|0;if((b|0)!=(a|0)){c[45785]=0;c[46154]=b;c[46155]=mx(b,0,93111,0)|0;c[46156]=mx(c[46154]|0,1,93119,0)|0;c[46157]=mx(c[46154]|0,1,93136,0)|0;a=c[46154]|0}c[46158]=wx(a,93136)|0;mv(183128);c[45784]=1;h[22895]=+KL(c[46154]|0,c[46155]|0,1.0,0.0);c[45786]=c[46156];c[45787]=c[46157];c[45788]=c[46158];return}function Yu(a){a=a|0;var b=0,d=0,e=0,f=0;f=l;l=l+144|0;e=f;d=f+8|0;b=c[45785]|0;c[45785]=b+1;c[e>>2]=b;X0(d,93152,e)|0;d=nv(uA(a,d,1)|0)|0;e=d+8|0;b=Ry(a)|0;while(1){if(!b)break;Wy(c[e>>2]|0,b,1)|0;c[(c[(c[b+16>>2]|0)+112>>2]|0)+12>>2]=d;b=Sy(a,b)|0}l=f;return d|0}function Zu(a){a=a|0;Av(a);return}function _u(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0;e=l;l=l+16|0;f=e;$u(f,c);av(a,b,c,f);bv(b,f,d);cv(f);l=e;return}function $u(a,b){a=a|0;b=b|0;c[a>>2]=uH(b<<4)|0;c[a+4>>2]=b;c[a+8>>2]=0;return}function av(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0;D=l;l=l+64|0;r=D+32|0;u=D+48|0;v=D+16|0;w=D;t=b<<2;A=uH(t)|0;C=uH(t)|0;c[v>>2]=0;c[v+4>>2]=0;c[v+8>>2]=0;c[v+12>>2]=0;s=uH(t)|0;t=uH(t)|0;f=0;while(1){if((f|0)>=(b|0))break;c[s+(f<<2)>>2]=f;f=f+1|0}q=b+-1|0;is(a,s,0,q);f=0;while(1){if((f|0)>=(b|0))break;c[t+(c[s+(f<<2)>>2]<<2)>>2]=f;f=f+1|0}ev(u,a,s,b);f=1;while(1){if((f|0)>=(b|0)){f=0;break}c[A+(c[s+(f<<2)>>2]<<2)>>2]=c[s+(f+-1<<2)>>2];f=f+1|0}while(1){if((f|0)>=(q|0))break;p=f+1|0;c[C+(c[s+(f<<2)>>2]<<2)>>2]=c[s+(p<<2)>>2];f=p}k=e+8|0;m=e+4|0;n=v+4|0;o=w+4|0;p=w+8|0;j=0;while(1){if((j|0)>=(d|0))break;if(!((fv(u,v)|0)<<24>>24))break;f=c[k>>2]|0;b=c[m>>2]|0;if((f|0)<(b|0))b=c[e>>2]|0;else{c[m>>2]=b<<1;b=E_(c[e>>2]|0,b<<5)|0;c[e>>2]=b;f=c[k>>2]|0}c[k>>2]=f+1;f=b+(f<<4)|0;c[f>>2]=c[v>>2];c[f+4>>2]=c[v+4>>2];c[f+8>>2]=c[v+8>>2];c[f+12>>2]=c[v+12>>2];f=c[v>>2]|0;b=c[t+(f<<2)>>2]|0;g=c[n>>2]|0;i=c[t+(g<<2)>>2]|0;if((b|0)>0?(x=c[s+(b+-1<<2)>>2]|0,y=C+(x<<2)|0,(c[t+(c[y>>2]<<2)>>2]|0)<(i|0)):0){c[w>>2]=x;c[o>>2]=g;h[p>>3]=+h[a+(g<<3)>>3]-+h[a+(x<<3)>>3];c[r>>2]=c[w>>2];c[r+4>>2]=c[w+4>>2];c[r+8>>2]=c[w+8>>2];c[r+12>>2]=c[w+12>>2];gv(u,r);c[y>>2]=g;c[A+(g<<2)>>2]=x}if((i|0)<(q|0)?(z=c[s+(i+1<<2)>>2]|0,B=A+(z<<2)|0,(c[t+(c[B>>2]<<2)>>2]|0)>(b|0)):0){c[w>>2]=f;c[o>>2]=z;h[p>>3]=+h[a+(z<<3)>>3]-+h[a+(f<<3)>>3];c[r>>2]=c[w>>2];c[r+4>>2]=c[w+4>>2];c[r+8>>2]=c[w+8>>2];c[r+12>>2]=c[w+12>>2];gv(u,r);c[B>>2]=f;c[C+(f<<2)>>2]=z}j=j+1|0}C_(A);C_(C);C_(s);C_(t);hv(u);l=D;return}function bv(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;k=uH(a<<2)|0;l=b+8|0;i=c[l>>2]|0;j=(i<<1)+a|0;h=j<<2;e=uH(h)|0;h=uH(h)|0;f=0;while(1){if((f|0)>=(a|0))break;c[k+(f<<2)>>2]=1;f=f+1|0}f=0;while(1){if((f|0)>=(i|0)){f=0;break}n=c[b>>2]|0;m=c[n+(f<<4)+4>>2]|0;n=k+(c[n+(f<<4)>>2]<<2)|0;c[n>>2]=(c[n>>2]|0)+1;m=k+(m<<2)|0;c[m>>2]=(c[m>>2]|0)+1;f=f+1|0}while(1){if((f|0)>=(j|0))break;g[h+(f<<2)>>2]=1.0;f=f+1|0}i=uH(a*20|0)|0;c[d>>2]=i;f=0;while(1){if((f|0)>=(a|0))break;c[i+(f*20|0)>>2]=1;c[i+(f*20|0)+8>>2]=h;c[i+(f*20|0)+4>>2]=e;c[e>>2]=f;g[h>>2]=0.0;n=c[k+(f<<2)>>2]|0;h=h+(n<<2)|0;e=e+(n<<2)|0;f=f+1|0}C_(k);while(1){e=c[l>>2]|0;if(!e)break;n=e+-1|0;c[l>>2]=n;m=c[b>>2]|0;dv(i,c[m+(n<<4)>>2]|0,c[m+(n<<4)+4>>2]|0)}return}function cv(a){a=a|0;C_(c[a>>2]|0);return}function dv(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,h=0,i=0,j=0;f=a+(b*20|0)|0;h=c[f>>2]|0;i=c[a+(b*20|0)+4>>2]|0;e=0;while(1){if((e|0)>=(h|0)){j=4;break}if((c[i+(e<<2)>>2]|0)==(d|0))break;else e=e+1|0}if((j|0)==4?(c[f>>2]=h+1,c[i+(h<<2)>>2]=d,i=c[a+(d*20|0)+4>>2]|0,h=a+(d*20|0)|0,j=c[h>>2]|0,c[h>>2]=j+1,c[i+(j<<2)>>2]=b,c[a+8>>2]|0):0){j=c[a+(b*20|0)+8>>2]|0;g[j>>2]=+g[j>>2]+-1.0;j=c[a+(d*20|0)+8>>2]|0;g[j>>2]=+g[j>>2]+-1.0}return}function ev(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,i=0,j=0.0,k=0,l=0;f=e+-1|0;c[a+4>>2]=f;c[a+8>>2]=f;c[a>>2]=uH(f<<4)|0;e=0;while(1){if((e|0)>=(f|0))break;l=c[d+(e<<2)>>2]|0;g=e+1|0;k=c[d+(g<<2)>>2]|0;j=+h[b+(k<<3)>>3]-+h[b+(l<<3)>>3];i=c[a>>2]|0;c[i+(e<<4)>>2]=l;c[i+(e<<4)+4>>2]=k;h[i+(e<<4)+8>>3]=j;e=g}e=(f|0)/2|0;while(1){if((e|0)<=-1)break;iv(a,e);e=e+-1|0}return}function fv(a,b){a=a|0;b=b|0;var d=0,e=0;d=a+4|0;if(!(c[d>>2]|0))a=0;else{e=c[a>>2]|0;c[b>>2]=c[e>>2];c[b+4>>2]=c[e+4>>2];c[b+8>>2]=c[e+8>>2];c[b+12>>2]=c[e+12>>2];b=c[a>>2]|0;e=b+((c[d>>2]|0)+-1<<4)|0;c[b>>2]=c[e>>2];c[b+4>>2]=c[e+4>>2];c[b+8>>2]=c[e+8>>2];c[b+12>>2]=c[e+12>>2];c[d>>2]=(c[d>>2]|0)+-1;iv(a,0);a=1}return a|0}function gv(a,b){a=a|0;b=b|0;var d=0,e=0.0,f=0.0,g=0,i=0,j=0,k=0,m=0,n=0;n=l;l=l+16|0;m=n;j=a+4|0;g=c[j>>2]|0;d=a+8|0;if((g|0)==(c[d>>2]|0)){c[d>>2]=g<<1;d=E_(c[a>>2]|0,g<<5)|0;c[a>>2]=d;k=a;i=c[j>>2]|0}else{k=a;i=g;d=c[a>>2]|0}c[j>>2]=i+1;j=d+(g<<4)|0;c[j>>2]=c[b>>2];c[j+4>>2]=c[b+4>>2];c[j+8>>2]=c[b+8>>2];c[j+12>>2]=c[b+12>>2];while(1){if((g|0)<=0)break;d=c[k>>2]|0;e=+h[d+(g<<4)+8>>3];a=g>>>1;f=+h[d+(a<<4)+8>>3];if(!(e>2]|0}j=d+(g<<4)|0;c[m>>2]=c[j>>2];c[m+4>>2]=c[j+4>>2];c[m+8>>2]=c[j+8>>2];c[m+12>>2]=c[j+12>>2];b=d+(a<<4)|0;c[j>>2]=c[b>>2];c[j+4>>2]=c[b+4>>2];c[j+8>>2]=c[b+8>>2];c[j+12>>2]=c[b+12>>2];j=(c[k>>2]|0)+(a<<4)|0;c[j>>2]=c[m>>2];c[j+4>>2]=c[m+4>>2];c[j+8>>2]=c[m+8>>2];c[j+12>>2]=c[m+12>>2];g=a}l=n;return}function hv(a){a=a|0;C_(c[a>>2]|0);return}function iv(a,b){a=a|0;b=b|0;var d=0,e=0.0,f=0.0,g=0,i=0,j=0,k=0,m=0,n=0;m=l;l=l+16|0;i=m;j=a+4|0;while(1){d=b<<1;g=d|1;if((d|0)<(c[j>>2]|0)){n=c[a>>2]|0;e=+h[n+(d<<4)+8>>3];f=+h[n+(b<<4)+8>>3];if(!(e>2]|0)){n=c[a>>2]|0;e=+h[n+(g<<4)+8>>3];f=+h[n+(d<<4)+8>>3];if(!(e>2]|0;n=g+(d<<4)|0;c[i>>2]=c[n>>2];c[i+4>>2]=c[n+4>>2];c[i+8>>2]=c[n+8>>2];c[i+12>>2]=c[n+12>>2];g=g+(b<<4)|0;c[n>>2]=c[g>>2];c[n+4>>2]=c[g+4>>2];c[n+8>>2]=c[g+8>>2];c[n+12>>2]=c[g+12>>2];n=(c[a>>2]|0)+(b<<4)|0;c[n>>2]=c[i>>2];c[n+4>>2]=c[i+4>>2];c[n+8>>2]=c[i+8>>2];c[n+12>>2]=c[i+12>>2];b=d}l=m;return}function jv(a,b,d,e,f,g,i,j){a=a|0;b=b|0;d=+d;e=+e;f=f|0;g=g|0;i=i|0;j=j|0;var k=0,l=0,m=0,n=0.0;l=(f|0)!=0;if(!l){f=uH(b<<3)|0;if(!(jt(a,b,f,b)|0))m=3;else{a=1;m=17}}else m=3;if((m|0)==3){k=tH(b<<2)|0;c[g>>2]=k;a=0;while(1){if((a|0)>=(b|0))break;c[k+(a<<2)>>2]=a;a=a+1|0}a=b+-1|0;is(f,k,0,a);n=+h[f+(c[k>>2]<<3)>>3];e=(+h[f+(c[k+(a<<2)>>2]<<3)>>3]-n)*e/+(a|0);e=e=(b|0))break;n=+h[f+(c[k+(g<<2)>>2]<<3)>>3];a=a+(n-d>e&1)|0;g=g+1|0;d=n}c[j>>2]=a;a:do if(!a){k=uH(4)|0;c[i>>2]=k;c[k>>2]=b}else{j=uH(a<<2)|0;c[i>>2]=j;a=0;g=1;while(1){if((g|0)>=(b|0))break a;if(+h[f+(c[k+(g<<2)>>2]<<3)>>3]-+h[f+(c[k+(g+-1<<2)>>2]<<3)>>3]>e){c[j+(a<<2)>>2]=g;a=a+1|0}g=g+1|0}}while(0);if(l)a=0;else{a=0;m=17}}if((m|0)==17)C_(f);return a|0}function kv(a,b){a=a|0;b=b|0;var d=0,e=0,f=0.0,g=0,i=0,j=0.0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;d=c[46159]|0;if(d|0)wn(d);c[46159]=vn(b,b,0.0)|0;d=c[46160]|0;if(d|0)C_(d);c[46160]=tH(b<<2)|0;d=c[46161]|0;if(d|0)C_(d);n=tH(b<<3)|0;c[46161]=n;o=c[46159]|0;p=c[46160]|0;i=0;while(1){if((i|0)>=(b|0)){e=10;break}e=a+(i<<2)|0;g=o+(i<<2)|0;f=0.0;d=0;while(1){if((d|0)==(b|0))break;j=+h[(c[e>>2]|0)+(d<<3)>>3];h[(c[g>>2]|0)+(d<<3)>>3]=j;j=+B(+j);f=f>3]=1.0/f;c[p+(i<<2)>>2]=i;i=i+1|0}a:do if((e|0)==10){m=b+-1|0;d=0;l=0;b:while(1){if((l|0)<(m|0)){e=l;k=d;f=0.0}else break;while(1){if((e|0)>=(b|0))break;a=c[p+(e<<2)>>2]|0;j=+B(+(+h[(c[o+(a<<2)>>2]|0)+(l<<3)>>3]));j=+h[n+(a<<3)>>3]*j;a=f>2]|0;a=p+(k<<2)|0;c[d>>2]=c[a>>2];c[a>>2]=i}g=c[o+(c[d>>2]<<2)>>2]|0;a=l+1|0;f=1.0/+h[g+(l<<3)>>3];e=a;while(1){if((e|0)>=(b|0)){d=k;l=a;continue b}i=c[o+(c[p+(e<<2)>>2]<<2)>>2]|0;d=i+(l<<3)|0;j=+h[d>>3]*f;h[d>>3]=j;c:do if(j!=0.0){d=a;while(1){if((d|0)>=(b|0))break c;q=i+(d<<3)|0;h[q>>3]=+h[q>>3]-+h[g+(d<<3)>>3]*j;d=d+1|0}}while(0);e=e+1|0}}d=+h[(c[o+(c[p+(m<<2)>>2]<<2)>>2]|0)+(m<<3)>>3]!=0.0&1}else if((e|0)==15){h[n+(i<<3)>>3]=0.0;d=0}while(0);return d|0}function lv(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0.0,g=0,i=0,j=0,k=0,l=0;k=c[46159]|0;l=c[46160]|0;j=0;while(1){if((j|0)>=(d|0)){e=d;break}g=c[l+(j<<2)>>2]|0;i=k+(g<<2)|0;f=0.0;e=0;while(1){if((e|0)==(j|0))break;f=+h[a+(e<<3)>>3]*+h[(c[i>>2]|0)+(e<<3)>>3]+f;e=e+1|0}h[a+(j<<3)>>3]=+h[b+(g<<3)>>3]-f;j=j+1|0}while(1){b=e+-1|0;if((e|0)<=0)break;g=l+(b<<2)|0;f=0.0;while(1){if((e|0)>=(d|0))break;f=+h[a+(e<<3)>>3]*+h[(c[k+(c[g>>2]<<2)>>2]|0)+(e<<3)>>3]+f;e=e+1|0}e=a+(b<<3)|0;h[e>>3]=(+h[e>>3]-f)/+h[(c[k+(c[g>>2]<<2)>>2]|0)+(b<<3)>>3];e=b}return}function mv(a){a=a|0;c[a>>2]=0;c[a+4>>2]=0;return}function nv(a){a=a|0;var b=0;b=tH(64)|0;mv(b+36|0);c[b+8>>2]=a;return b|0}function ov(a){a=a|0;if(a|0){Kv(c[a+32>>2]|0);C_(a)}return}function pv(a){a=a|0;return $x(c[a+8>>2]|0)|0}function qv(a,b){a=a|0;b=b|0;var d=0,e=0;c[b+4>>2]=0;d=a+4|0;e=c[d>>2]|0;c[((e|0)==0?a:e+4|0)>>2]=b;c[d>>2]=b;return}function rv(a,b){a=a|0;b=b|0;var d=0;d=c[a>>2]|0;if(!d){c[a>>2]=b;a=a+4|0}else c[b+4>>2]=d;c[a>>2]=b;return}function sv(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0;tv(a,b);j=c[b>>2]|0;h=c[j+4>>2]|0;while(1){if(!h)break;k=c[h+8>>2]|0;i=Ry(k)|0;d=c[(c[i+16>>2]|0)+112>>2]|0;a=c[d+16+4>>2]|0;d=c[d+8>>2]|0;f=i;i=Sy(k,i)|0;while(1){if(!i)break;e=c[(c[i+16>>2]|0)+112>>2]|0;g=c[e+16+4>>2]|0;if((g|0)<(a|0)){f=i;d=c[e+8>>2]|0;a=g}i=Sy(k,i)|0}i=c[(c[d+16>>2]|0)+112>>2]|0;k=i+4|0;c[k>>2]=c[k>>2]|8;c[h>>2]=f;k=c[h+4>>2]|0;qv((c[i+12>>2]|0)+36|0,h);h=k}mv(b);return j|0}function tv(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0;i=l;l=l+16|0;h=i;g=i+8|0;e=c[b+24>>2]|0;if(!((e|0)!=0?(d=$y(a,e,0)|0,(d|0)!=0):0))f=3;a:do if((f|0)==3){e=b+20|0;b:do if(c[e>>2]|0){d=Ry(a)|0;while(1){if(!d)break b;if((OL(c[c[(c[d+16>>2]|0)+112>>2]>>2]|0,c[e>>2]|0,0)|0)<<24>>24)break a;d=Sy(a,d)|0}}while(0);d=Ry(a)|0}while(0);if(0){f=c[15686]|0;c[h>>2]=qy(d)|0;f1(f,93141,h)|0}c[g+4>>2]=0;c[g>>2]=0;uv(a,d,b,1,g);l=i;return}function uv(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0;l=d+8|0;k=c[l>>2]|0;c[l>>2]=k+1;l=b+16|0;c[(c[(c[l>>2]|0)+112>>2]|0)+16+4>>2]=k;c[(c[(c[l>>2]|0)+112>>2]|0)+24>>2]=k;k=(e|0)==0;j=Ix(a,b)|0;while(1){if(!j)break;e=c[j>>2]&3;g=c[((e|0)==2?j:j+-48|0)+40>>2]|0;if((g|0)==(b|0)){e=c[((e|0)==3?j:j+48|0)+40>>2]|0;g=c[(c[j+16>>2]|0)+120>>2]|0;if(!(c[g>>2]|0))c[g>>2]=-1}else{e=c[(c[j+16>>2]|0)+120>>2]|0;if(!(c[e>>2]|0)){c[e>>2]=1;e=g}else e=g}g=e+16|0;h=c[(c[g>>2]|0)+112>>2]|0;i=c[h+16+4>>2]|0;do if(!i){c[h+8>>2]=b;vv(f,j);uv(a,e,d,0,f);i=(c[(c[l>>2]|0)+112>>2]|0)+24|0;c[i>>2]=c[(c[(c[((c[i>>2]|0)<(c[(c[(c[g>>2]|0)+112>>2]|0)+24>>2]|0)?b:e)+16>>2]|0)+112>>2]|0)+24>>2];if((c[(c[(c[g>>2]|0)+112>>2]|0)+24>>2]|0)>=(c[(c[(c[l>>2]|0)+112>>2]|0)+16+4>>2]|0)){e=0;do{h=wv(f)|0;g=(c[c[(c[h+16>>2]|0)+120>>2]>>2]|0)==1;g=c[((c[h>>2]&3|0)==((g?2:3)|0)?h:h+((g?-1:1)*48|0)|0)+40>>2]|0;if(!(c[(c[(c[g+16>>2]|0)+112>>2]|0)+12>>2]|0)){if(!e)e=xv(a,d)|0;yv(e,g)}}while((h|0)!=(j|0));if(e|0){if((c[(c[(c[l>>2]|0)+112>>2]|0)+12>>2]|0)==0?(pv(e)|0)>1:0)yv(e,b);if(!k?(c[(c[(c[l>>2]|0)+112>>2]|0)+12>>2]|0)==(e|0):0){rv(d,e);break}qv(d,e)}}}else{g=c[(c[l>>2]|0)+112>>2]|0;if((c[g+8>>2]|0)!=(e|0)){h=g+24|0;g=c[h>>2]|0;c[h>>2]=(g|0)<(i|0)?g:i}}while(0);j=Jx(a,j,b)|0}if(!k?(c[(c[(c[l>>2]|0)+112>>2]|0)+12>>2]|0)==0:0){l=xv(a,d)|0;yv(l,b);rv(d,l)}return}function vv(a,b){a=a|0;b=b|0;c[(c[(c[b+16>>2]|0)+120>>2]|0)+4>>2]=c[a>>2];c[a>>2]=b;b=a+4|0;c[b>>2]=(c[b>>2]|0)+1;return}function wv(a){a=a|0;var b=0,d=0,e=0;b=c[a>>2]|0;if(!b)qa(135312,93172,65,93184);d=a+4|0;e=c[d>>2]|0;if((e|0)>0){c[a>>2]=c[(c[(c[b+16>>2]|0)+120>>2]|0)+4>>2];c[d>>2]=e+-1;return b|0}else qa(93162,93172,61,93184);return 0}function xv(a,b){a=a|0;b=b|0;return nv(zv(a,b)|0)|0}function yv(a,b){a=a|0;b=b|0;Wy(c[a+8>>2]|0,b,1)|0;c[(c[(c[b+16>>2]|0)+112>>2]|0)+12>>2]=a;return}function zv(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;d=l;l=l+144|0;f=d;e=d+8|0;g=b+12|0;b=c[g>>2]|0;c[g>>2]=b+1;c[f>>2]=b;X0(e,93152,f)|0;b=uA(a,e,1)|0;zz(b,134401,280,1)|0;l=d;return b|0}function Av(a){a=a|0;var b=0,d=0;b=c[a+36>>2]|0;while(1){if(!b)break;d=c[b+4>>2]|0;Av(b);b=d}ov(a);return}function Bv(a,b,c){a=a|0;b=b|0;c=c|0;Cv(a,b,+h[c+32>>3]);return}function Cv(a,b,d){a=a|0;b=b|0;d=+d;var e=0,f=0,g=0,i=0;e=b+36|0;f=0;while(1){e=c[e>>2]|0;if(!e)break;Cv(a,e,d);e=e+4|0;f=f+1|0}e=Uv(a,b,d)|0;c[b+32>>2]=e;a=Rv(e)|0;if((f|0)>0)d=+Dv(f,a,e,b,d);else d=3.141592653589793;if((((a|0)==1?(g=c[b>>2]|0,g|0):0)?c[(c[(c[g+16>>2]|0)+112>>2]|0)+8>>2]|0:0)?(i=b+48|0,h[i>>3]=d,d<0.0):0)h[i>>3]=d+6.283185307179586;return}function Dv(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=+f;var g=0.0,i=0,j=0.0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0;v=l;l=l+48|0;t=v;u=tH(a*56|0)|0;c[t+40>>2]=c[e+36>>2];p=e+16|0;j=+h[p>>3];q=t+8|0;h[q>>3]=j;h[t>>3]=j;c[t+44>>2]=c[e>>2];j=6.283185307179586/+(b|0);h[t+16>>3]=j;r=t+24|0;h[r>>3]=-1.0;s=t+32|0;h[s>>3]=-1.0;k=0;o=0;g=0.0;while(1){i=c[d>>2]|0;if(!i)break;d=c[i>>2]|0;if(!(c[(c[(c[d+16>>2]|0)+112>>2]|0)+4>>2]&8))d=o;else{n=u+(o*56|0)|0;c[n>>2]=d;h[u+(o*56|0)+8>>3]=j*+(k|0);d=o+1|0;g=+Ev(n,t,f)}k=k+1|0;o=d;d=i+4|0}a:do switch(o|0){case 1:{h[u+40>>3]=1.0;d=0;break}case 2:{j=+h[u+64>>3]-+h[u+8>>3];Fv(u,u+56|0,j>3.141592653589793?6.283185307179586-j:j);d=0;break}default:{n=u+8|0;m=u;d=0;while(1){if((d|0)>=(o|0)){d=0;break a}d=d+1|0;if((d|0)==(o|0)){i=u;j=+h[n>>3]+6.283185307179586-+h[m+8>>3];k=m+56|0}else{k=m+56|0;i=k;j=+h[m+64>>3]-+h[m+8>>3]}Fv(m,i,j);m=k}}}while(0);while(1){if((d|0)>=(o|0))break;Gv(u+(d*56|0)|0,t,b,f);d=d+1|0}C_(u);if((a|0)==1){f=g+f*.5;Hv(e,-f,0.0,0.0);h[p>>3]=+h[p>>3]+f;u=e+56|0;c[u>>2]=c[u>>2]|1}else h[p>>3]=+h[q>>3];l=v;return +((+h[s>>3]+ +h[r>>3])*.5+-3.141592653589793)}function Ev(a,b,d){a=a|0;b=b|0;d=+d;var e=0,f=0.0,g=0.0,i=0,j=0,k=0.0;i=0;f=0.0;g=0.0;e=b+40|0;while(1){j=c[e>>2]|0;if(!j)break;e=c[j>>2]|0;if(!e)e=0;else e=c[(c[(c[e+16>>2]|0)+112>>2]|0)+8>>2]|0;if((e|0)==(c[a>>2]|0)){k=+h[j+16>>3];e=i+1|0;f=f+d+k*2.0;g=g>3]=f;c[a+48>>2]=i;h[a+16>>3]=g+d+ +h[b>>3];h[a+24>>3]=g;return +g}function Fv(a,b,c){a=a|0;b=b|0;c=+c;var d=0.0,e=0.0;e=+h[b+16>>3];d=+h[a+16>>3];c=(d*+h[b+32>>3]+e*+h[a+32>>3])/(c*2.0*e*d);c=c<1.0?1.0:c;a=a+40|0;if(c>+h[a>>3])h[a>>3]=c;a=b+40|0;if(c>+h[a>>3])h[a>>3]=c;return}function Gv(a,b,d,e){a=a|0;b=b|0;d=d|0;e=+e;var f=0.0,g=0.0,i=0,j=0.0,k=0.0,l=0.0,m=0.0,n=0,o=0,p=0.0,q=0.0,r=0,s=0,t=0,u=0.0,v=0.0,w=0,x=0,y=0.0,z=0,A=0,B=0,C=0,D=0.0,G=0.0;z=b+8|0;y=+h[z>>3];A=b+24|0;k=+h[A>>3];B=b+32|0;j=+h[B>>3];f=+h[a+16>>3]*+h[a+40>>3];x=(d|0)==1;if(x){v=+h[a+32>>3];g=v*.15915494309189535;g=f>g?f:g;f=g*6.283185307179586-v;if(f>0.0){e=f/+(c[a+48>>2]|0)+e;l=0.0;f=g}else{l=0.0;f=g}}else l=+h[a+8>>3]-+h[a+32>>3]/(f*2.0);q=+h[a+24>>3]+f;r=q>y;s=a+48|0;t=((c[s>>2]|0)+1|0)/2|0;u=1.0/f;v=e/f*.5;w=a+8|0;n=b+40|0;o=0;p=0.0;g=l;while(1){n=c[n>>2]|0;if(!n)break;i=c[n>>2]|0;if(!i)i=0;else i=c[(c[(c[i+16>>2]|0)+112>>2]|0)+8>>2]|0;if((i|0)==(c[a>>2]|0)?(Rv(c[n+32>>2]|0)|0)>=1:0){l=+h[n+16>>3];m=l*u;do if(!x)if((c[s>>2]|0)==1){g=+h[w>>3];break}else{g=g+v+m;break}else{if(g!=0.0)g=(c[s>>2]|0)==2?3.141592653589793:m+g;j=g;k=k<0.0?g:k}while(0);G=+E(+g)*f;D=+F(+g)*f;Hv(n,G,D,+Iv(n,G,D,g));g=(x?(l+e)*u:m+v)+g;o=o+1|0;i=o;l=(o|0)==(t|0)?g:p}else{i=o;l=p}n=n+4|0;o=i;p=l}f=r?q:y;if((d|0)>1?(C=c[a>>2]|0,(C|0)==(c[b+44>>2]|0)):0)h[(c[(c[C+16>>2]|0)+112>>2]|0)+24>>3]=p;h[z>>3]=f;h[A>>3]=k;h[B>>3]=j;return}function Hv(a,b,d,e){a=a|0;b=+b;d=+d;e=+e;var f=0,g=0.0,i=0.0,j=0.0,k=0,l=0,m=0,n=0,o=0.0,p=0.0;m=c[a+8>>2]|0;n=e!=0.0;f=Ry(m)|0;while(1){if(!f)break;k=c[(c[f+16>>2]|0)+132>>2]|0;i=+h[k>>3];l=k+8|0;g=+h[l>>3];if(n){o=+E(+e);p=+F(+e);j=o*i-p*g;g=p*i+o*g}else j=i;h[k>>3]=j+b;h[l>>3]=g+d;f=Sy(m,f)|0}f=a+36|0;while(1){f=c[f>>2]|0;if(!f)break;Hv(f,b,d,e);f=f+4|0}return}function Iv(a,b,d,e){a=a|0;b=+b;d=+d;e=+e;var f=0.0,g=0,i=0,j=0.0,k=0.0,l=0,m=0,n=0,o=0;m=c[a+8>>2]|0;f=+h[a+48>>3];do if(!(f>=0.0)){if((Rv(c[a+32>>2]|0)|0)==2){f=e+-1.5707963267948966;break}l=c[a>>2]|0;n=l+16|0;i=c[(c[n>>2]|0)+132>>2]|0;f=+h[i>>3]+b;k=+h[i+8>>3]+d;f=k*k+f*f;i=Ry(m)|0;g=l;while(1){if(!i)break;if((i|0)!=(l|0)?(o=c[(c[i+16>>2]|0)+132>>2]|0,j=+h[o>>3]+b,k=+h[o+8>>3]+d,j=k*k+j*j,j>3];k=+h[a+16>>3]-j;g=c[n>>2]|0;i=c[g+132>>2]|0;f=+h[i>>3];if(f>-k?(c[a+56>>2]&1|0)!=0:0){d=+C(+(d*d+b*b));b=+K(+(+h[i+8>>3]),+(f+k));f=+E(+b);f=e+1.5707963267948966-b-+I(+((k-j/f)/d*f));break}else{f=+K(+(+h[i+8>>3]),+f);f=e+3.141592653589793-f-+h[(c[g+112>>2]|0)+24>>3];f=f>6.283185307179586?f+-6.283185307179586:f;break}}else f=0.0}else{f=3.141592653589793-f+e;f=f<0.0?f+6.283185307179586:f}while(0);return +f}function Jv(){return tH(12)|0}function Kv(a){a=a|0;var b=0,d=0;if(a|0){b=c[a>>2]|0;while(1){if(!b)break;d=c[b+4>>2]|0;C_(b);b=d}C_(a)}return}function Lv(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;f=Mv(d)|0;d=a+8|0;c[d>>2]=(c[d>>2]|0)+1;d=a+4|0;e=c[d>>2]|0;if((b|0)==0|(e|0)==(b|0)){c[(e|0?e+4|0:a)>>2]=f;c[f+8>>2]=e;e=0}else{e=b+4|0;d=c[e>>2]|0;c[e>>2]=f;c[f+8>>2]=b;e=d;d=d+8|0}c[d>>2]=f;c[f+4>>2]=e;return}function Mv(a){a=a|0;var b=0;b=tH(12)|0;c[b>>2]=a;return b|0}function Nv(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;b=c[a>>2]|0;d=b;while(1){if(!b)break;g=b+4|0;e=c[g>>2]|0;f=b+8|0;c[g>>2]=c[f>>2];c[f>>2]=e;b=e}f=a+4|0;g=c[f>>2]|0;c[f>>2]=d;c[a>>2]=g;return a|0}function Ov(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=c[a>>2]|0;if((d|0)!=(b|0)){f=b+8|0;e=c[f>>2]|0;c[a>>2]=b;c[f>>2]=0;b=a+4|0;a=c[b>>2]|0;c[a+4>>2]=d;c[d+8>>2]=a;c[b>>2]=e;c[e+4>>2]=0}return}function Pv(a){a=a|0;var b=0,d=0,e=0;d=Jv()|0;e=d+4|0;b=0;while(1){a=c[a>>2]|0;if(!a)break;Lv(d,b,c[a>>2]|0);b=c[e>>2]|0;a=a+4|0}return d|0} +function Bb(a){a=a|0;var b=0;b=l;l=l+a|0;l=l+15&-16;return b|0}function Cb(){return l|0}function Db(a){a=a|0;l=a}function Eb(a,b){a=a|0;b=b|0;l=a;m=b}function Fb(a,b){a=a|0;b=b|0;if(!o){o=a;p=b}}function Gb(a){a=a|0;z=a}function Hb(){return z|0}function Ib(a){a=a|0;c[45884]=a;return 0}function Jb(){return c[45884]|0}function Kb(a,b){a=a|0;b=b|0;Oa(0,a|0,b|0)|0;return}function Lb(a){a=a|0;c[46369]=a;return}function Mb(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0;i=l;l=l+16|0;f=i+4|0;g=i;c[f>>2]=0;h=YC()|0;bD(h,10976);bD(h,17220);bD(h,17440);Nw(1)|0;Mw(18)|0;Sz(1);while(1){a=Fy(a)|0;e=c[f>>2]|0;if(!a)break;if(!e){ZC(h,a,d)|0;aD(h,a,b,f,g)|0;VB(h,a)|0}_x(a)|0;a=191979}l=i;return e|0}function Nb(a){a=a|0;var d=0,e=0,f=0,g=0;g=l;l=l+16|0;d=g+4|0;e=g;f=c[(c[a+16>>2]|0)+8>>2]|0;a=a+64|0;switch(c[a>>2]|0){case 0:{tI(f);break}case 1:{if(b[(c[f+16>>2]|0)+136>>1]&1)EM(f);break}case 4:case 5:case 6:{qI(f,e,d);Qb(f,c[e>>2]|0,c[d>>2]|0,c[a>>2]|0);break}default:{}}l=g;return}function Ob(a){a=a|0;var b=0,d=0,e=0,f=0;d=c[(c[a+16>>2]|0)+8>>2]|0;if(!(c[45885]|0)){c[45885]=c[4652];c[45886]=57;c[45887]=19}e=d+64|0;f=(c[e>>2]|0)+8|0;b=c[f>>2]|0;c[f>>2]=183540;switch(c[a+64>>2]|0){case 2:{gI(a,d,a,0);break}case 3:{gI(a,d,a,1);break}case 1:case 0:{if(!(c[a+152>>2]&134217728))MA(d,a)|0;break}case 6:case 5:case 4:{Pb(d);if(!(c[a+152>>2]&134217728))MA(d,a)|0;break}default:{}}c[(c[e>>2]|0)+8>>2]=b;return}function Pb(b){b=b|0;var d=0,e=0;d=c[45889]|0;if((d|0)!=(c[45888]|0)){e=c[c[45920]>>2]|0;if(!e){e=KM(b,0,96782,191979)|0;c[c[45920]>>2]=e;d=c[45889]|0}if(d>>>0>=(c[45890]|0)>>>0){Tw(183552,1)|0;d=c[45889]|0}a[d>>0]=0;d=c[45888]|0;c[45889]=d;qx(b,e,d)|0}if(c[(c[b+16>>2]|0)+12>>2]|0){e=c[(c[45920]|0)+4>>2]|0;d=c[45905]|0;if(d>>>0>=(c[45906]|0)>>>0){Tw(183616,1)|0;d=c[45905]|0}a[d>>0]=0;d=c[45904]|0;c[45905]=d;qx(b,e,d)|0}zx(b,66649,c[(c[45920]|0)+8236>>2]|0,191979)|0;d=0;while(1){if((d|0)==8)break;Ww(183552+(d<<4)|0);d=d+1|0}C_(c[45920]|0);h[1]=1.0;h[5]=1.0;c[45921]=0;c[45925]=0;return}function Qb(d,e,f,g){d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0;i=B_(8240)|0;c[45920]=i;a:do switch(g|0){case 6:{b[i+8232>>1]=14;g=66665;break}case 5:{b[i+8232>>1]=12;g=66669;break}default:{g=wx(d,66649)|0;if((g|0?a[g>>0]|0:0)?(h=Rb(g)|0,(h&65535)>10):0){i=c[45920]|0;b[i+8232>>1]=h;break a}g=Rb(66661)|0;i=c[45920]|0;b[i+8232>>1]=g;g=66661}}while(0);c[i+8236>>2]=g;j=d+16|0;g=c[j>>2]|0;if(!(c[g+180>>2]|0))h=0;else{h=KM(d,0,96782,191979)|0;i=c[45920]|0;g=c[j>>2]|0}c[i>>2]=h;if(!(a[g+113>>0]&8))g=0;else g=KM(d,0,66673,191979)|0;c[(c[45920]|0)+4>>2]=g;i=KM(d,1,96782,191979)|0;c[(c[45920]|0)+8>>2]=i;i=KM(d,1,66673,191979)|0;c[(c[45920]|0)+12>>2]=i;i=KM(d,2,96782,191979)|0;g=c[45920]|0;c[g+16>>2]=i;if(!f)h=0;else{h=KM(d,2,66681,191979)|0;g=c[45920]|0}c[g+20>>2]=h;if(!e)h=0;else{h=KM(d,2,66689,191979)|0;g=c[45920]|0}c[g+24>>2]=h;h=a[(c[j>>2]|0)+113>>0]|0;if(!(h&33))i=0;else{i=KM(d,2,66673,191979)|0;g=c[45920]|0;h=a[(c[j>>2]|0)+113>>0]|0}c[g+28>>2]=i;if(!(h&2))i=0;else{i=KM(d,2,66697,191979)|0;g=c[45920]|0;h=a[(c[j>>2]|0)+113>>0]|0}c[g+32>>2]=i;if(!(h&4))h=0;else{h=KM(d,2,66706,191979)|0;g=c[45920]|0}c[g+36>>2]=h;g=0;while(1){if((g|0)==8)break;Sw(183552+(g<<4)|0,1024,(c[45920]|0)+40+(g<<10)|0);g=g+1|0}return}function Rb(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0;j=l;l=l+1040|0;h=j;g=j+8|0;f=0;d=b;a:while(1){do{e=d;d=d+1|0;e=a[e>>0]|0;if(!(e<<24>>24))break a}while(((e<<24>>24)+-48|0)>>>0>=10);if((f|0)>=1023){i=7;break}a[g+f>>0]=e;f=f+1|0}if((i|0)==7){c[h>>2]=b;Ow(0,66715,h)|0}a[g+f>>0]=0;i=($1(g)|0)&65535;l=j;return i|0}function Sb(b){b=b|0;var d=0,e=0;e=c[(c[b+16>>2]|0)+8>>2]|0;d=c[c[45920]>>2]|0;b=c[45893]|0;if(b>>>0>=(c[45894]|0)>>>0){Tw(183568,1)|0;b=c[45893]|0}a[b>>0]=0;b=c[45892]|0;c[45893]=b;qx(e,d,b)|0;if(c[(c[e+16>>2]|0)+12>>2]|0){d=c[(c[45920]|0)+4>>2]|0;b=c[45909]|0;if(b>>>0>=(c[45910]|0)>>>0){Tw(183632,1)|0;b=c[45909]|0}a[b>>0]=0;b=c[45908]|0;c[45909]=b;qx(e,d,b)|0}h[2]=1.0;h[6]=1.0;c[45922]=0;c[45926]=0;return}function Tb(b){b=b|0;var d=0,e=0;e=c[(c[b+16>>2]|0)+8>>2]|0;b=c[45893]|0;if((c[45892]|0)!=(b|0)){d=c[(c[45920]|0)+8>>2]|0;if(b>>>0>=(c[45894]|0)>>>0){Tw(183568,1)|0;b=c[45893]|0}a[b>>0]=0;b=c[45892]|0;c[45893]=b;qx(e,d,b)|0}b=c[45909]|0;if((c[45908]|0)!=(b|0)){d=c[(c[45920]|0)+12>>2]|0;if(b>>>0>=(c[45910]|0)>>>0){Tw(183632,1)|0;b=c[45909]|0}a[b>>0]=0;b=c[45908]|0;c[45909]=b;qx(e,d,b)|0}h[9]=1.0;h[11]=1.0;c[45929]=0;c[45931]=0;return}function Ub(b){b=b|0;var d=0,e=0;e=c[(c[b+16>>2]|0)+8>>2]|0;b=c[45893]|0;if((c[45892]|0)!=(b|0)){d=c[(c[45920]|0)+16>>2]|0;if(b>>>0>=(c[45894]|0)>>>0){Tw(183568,1)|0;b=c[45893]|0}a[b>>0]=0;b=c[45892]|0;c[45893]=b;qx(e,d,b)|0}b=c[45897]|0;if((c[45896]|0)!=(b|0)){d=c[(c[45920]|0)+24>>2]|0;if(b>>>0>=(c[45898]|0)>>>0){Tw(183584,1)|0;b=c[45897]|0}a[b>>0]=0;b=c[45896]|0;c[45897]=b;qx(e,d,b)|0}b=c[45901]|0;if((c[45900]|0)!=(b|0)){d=c[(c[45920]|0)+20>>2]|0;if(b>>>0>=(c[45902]|0)>>>0){Tw(183600,1)|0;b=c[45901]|0}a[b>>0]=0;b=c[45900]|0;c[45901]=b;qx(e,d,b)|0}b=c[45909]|0;if((c[45908]|0)!=(b|0)){d=c[(c[45920]|0)+28>>2]|0;if(b>>>0>=(c[45910]|0)>>>0){Tw(183632,1)|0;b=c[45909]|0}a[b>>0]=0;b=c[45908]|0;c[45909]=b;qx(e,d,b)|0}b=c[45913]|0;if((c[45912]|0)!=(b|0)){d=c[(c[45920]|0)+36>>2]|0;if(b>>>0>=(c[45914]|0)>>>0){Tw(183648,1)|0;b=c[45913]|0}a[b>>0]=0;b=c[45912]|0;c[45913]=b;qx(e,d,b)|0}b=c[45917]|0;if((c[45916]|0)!=(b|0)){d=c[(c[45920]|0)+32>>2]|0;if(b>>>0>=(c[45918]|0)>>>0){Tw(183664,1)|0;b=c[45917]|0}a[b>>0]=0;b=c[45916]|0;c[45917]=b;qx(e,d,b)|0}h[10]=1.0;h[12]=1.0;h[3]=1.0;h[4]=1.0;h[7]=1.0;h[8]=1.0;c[45930]=0;c[45932]=0;c[45923]=0;c[45924]=0;c[45927]=0;c[45928]=0;return}function Vb(d,e,f){d=d|0;e=e|0;f=f|0;var g=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;t=l;l=l+1056|0;j=t+16|0;s=t+8|0;r=t;k=t+32|0;o=c[(c[d+16>>2]|0)+12>>2]|0;p=c[11416+(o<<2)>>2]|0;Vw(p,66812)|0;g=f+4|0;cc(k,+h[(c[g>>2]|0)+16>>3]);Vw(p,k)|0;fc(d,191979,c[c[g>>2]>>2]|0);$b(d);q=a[f+48>>0]|0;q=q<<24>>24==108?-1:q<<24>>24==114&1;g=c[g>>2]|0;if(!g)g=0;else g=c[g+24>>2]&127;i=b[(c[45920]|0)+8232>>1]|0;if((i&65535)>14?(m=c[11464+((i&65535)+-15<<2)>>2]&g,n=183684+(o<<2)|0,(c[n>>2]|0)!=(m|0)):0){c[r>>2]=m;X0(k,66815,r)|0;Vw(p,k)|0;c[n>>2]=m}r=e+8|0;h[r>>3]=+h[r>>3]+ +h[f+24>>3];Vw(p,66821)|0;c[j>>2]=c[e>>2];c[j+4>>2]=c[e+4>>2];c[j+8>>2]=c[e+8>>2];c[j+12>>2]=c[e+12>>2];bc(p,j);c[s>>2]=q;X0(k,99194,s)|0;Vw(p,k)|0;cc(k,+h[f+32>>3]);Vw(p,k)|0;fc(d,191979,c[f>>2]|0);l=t;return}function Wb(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,i=0;i=l;l=l+1040|0;f=i;g=i+16|0;e=c[(c[a+16>>2]|0)+12>>2]|0;_b(a);$b(a);if(!d){a=c[11416+(e<<2)>>2]|0;Vw(a,66809)|0}else{if((d|1|0)==3)hc(a,d,b,2);else ic(a);a=c[11416+(e<<2)>>2]|0;Vw(a,66806)|0};c[f>>2]=c[b>>2];c[f+4>>2]=c[b+4>>2];c[f+8>>2]=c[b+8>>2];c[f+12>>2]=c[b+12>>2];bc(a,f);cc(g,+h[b+16>>3]-+h[b>>3]);Vw(a,g)|0;cc(g,+h[b+24>>3]-+h[b+8>>3]);Vw(a,g)|0;l=i;return}function Xb(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;_b(a);$b(a);if(!d)ac(a,112,b,c);else{if((d|1|0)==3)hc(a,d,b,c);else ic(a);ac(a,80,b,c)}return}function Yb(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;_b(a);$b(a);if(!f)ac(a,66,b,c);else{if((f|1|0)==3)hc(a,f,b,c);else ic(a);ac(a,98,b,c)}return}function Zb(a,b,c){a=a|0;b=b|0;c=c|0;_b(a);$b(a);ac(a,76,b,c);return}function _b(b){b=b|0;var d=0,e=0,f=0,g=0.0,i=0,j=0,k=0,m=0,n=0;n=l;l=l+1184|0;i=n;f=n+24|0;m=n+8|0;Sw(m,1024,n+152|0);j=b+16|0;d=c[j>>2]|0;g=+h[d+152>>3];e=8+(c[d+12>>2]<<3)|0;if(g!=+h[e>>3]){h[e>>3]=g;Vw(m,66778)|0;h[i>>3]=+h[(c[j>>2]|0)+152>>3];X0(f,66792,i)|0;dc(f,0);Vw(m,f)|0;f=m+4|0;d=c[f>>2]|0;e=m+8|0;if(d>>>0>=(c[e>>2]|0)>>>0){Tw(m,1)|0;d=c[f>>2]|0}c[f>>2]=d+1;a[d>>0]=41;d=c[f>>2]|0;if(d>>>0>=(c[e>>2]|0)>>>0){Tw(m,1)|0;d=c[f>>2]|0}a[d>>0]=0;d=c[m>>2]|0;c[f>>2]=d;fc(b,66797,d);d=c[j>>2]|0}d=c[d+160>>2]|0;if(d|0){j=m+4|0;k=m+8|0;a:while(1){i=d+4|0;d=c[d>>2]|0;if(!d)break;switch(a[d>>0]|0){case 102:{if(!(a$(d,108075)|0)){d=i;continue a}break}case 98:{if(!(a$(d,108057)|0)){d=i;continue a}break}case 115:{if(!(a$(d,108062)|0)){d=i;continue a}break}default:{}}Vw(m,d)|0;do{f=d;d=d+1|0}while((a[f>>0]|0)!=0);if(a[d>>0]|0){e=c[j>>2]|0;if(e>>>0>=(c[k>>2]|0)>>>0){Tw(m,1)|0;e=c[j>>2]|0}c[j>>2]=e+1;a[e>>0]=40;f=0;while(1){if(!(a[d>>0]|0))break;if(f|0){e=c[j>>2]|0;if(e>>>0>=(c[k>>2]|0)>>>0){Tw(m,1)|0;e=c[j>>2]|0}c[j>>2]=e+1;a[e>>0]=44}Vw(m,d)|0;do{e=d;d=d+1|0}while((a[e>>0]|0)!=0);f=f+1|0}d=c[j>>2]|0;if(d>>>0>=(c[k>>2]|0)>>>0){Tw(m,1)|0;d=c[j>>2]|0}c[j>>2]=d+1;a[d>>0]=41}d=c[j>>2]|0;if(d>>>0>=(c[k>>2]|0)>>>0){Tw(m,1)|0;d=c[j>>2]|0}a[d>>0]=0;d=c[m>>2]|0;c[j>>2]=d;fc(b,66797,d);d=i}Ww(m)}l=n;return}function $b(a){a=a|0;ec((c[a+16>>2]|0)+16|0);fc(a,75730,190678);return}function ac(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0;k=l;l=l+1040|0;j=k;i=k+16|0;h=c[11416+(c[(c[b+16>>2]|0)+12>>2]<<2)>>2]|0;g=h+4|0;b=c[g>>2]|0;if(b>>>0>=(c[h+8>>2]|0)>>>0){Tw(h,1)|0;b=c[g>>2]|0}c[g>>2]=b+1;a[b>>0]=d;c[j>>2]=f;X0(i,66742,j)|0;Vw(h,i)|0;b=0;while(1){if((b|0)>=(f|0))break;i=e+(b<<4)|0;c[j>>2]=c[i>>2];c[j+4>>2]=c[i+4>>2];c[j+8>>2]=c[i+8>>2];c[j+12>>2]=c[i+12>>2];bc(h,j);b=b+1|0}l=k;return}function bc(a,b){a=a|0;b=b|0;var c=0,d=0;c=l;l=l+1024|0;d=c;cc(d,+h[b>>3]);Vw(a,d)|0;cc(d,+fI(+h[b+8>>3]));Vw(a,d)|0;l=c;return}function cc(a,b){a=a|0;b=+b;var c=0,d=0;c=l;l=l+16|0;d=c;h[d>>3]=b>-1.0e-08&b<1.0e-08?0.0:b;X0(a,66747,d)|0;dc(a,1);l=c;return}function dc(b,c){b=b|0;c=c|0;var d=0,e=0;d=z$(b,46)|0;if(!d){if(c|0){d=b+(V_(b)|0)|0;e=10}}else{while(1){b=d+1|0;if(!(a[b>>0]|0))break;else d=b}a:while(1){switch(a[d>>0]|0){case 46:{e=5;break a}case 48:break;default:{e=6;break a}}a[d>>0]=0;d=d+-1|0}if((e|0)==5)a[d>>0]=0;else if((e|0)==6)d=d+1|0;if(c|0)e=10}if((e|0)==10){a[d>>0]=32;a[d+1>>0]=0}return}function ec(b){b=b|0;var e=0,f=0,g=0,h=0,i=0,j=0;j=l;l=l+32|0;i=j+16|0;h=j;e=a[b+3>>0]|0;f=d[b>>0]|0;g=d[b+1>>0]|0;b=d[b+2>>0]|0;if(e<<24>>24==-1){c[h>>2]=f;c[h+4>>2]=g;c[h+8>>2]=b;X0(190678,75610,h)|0}else{c[i>>2]=f;c[i+4>>2]=g;c[i+8>>2]=b;c[i+12>>2]=e&255;X0(190678,66760,i)|0}l=j;return}function fc(a,b,d){a=a|0;b=b|0;d=d|0;gc(c[11416+(c[(c[a+16>>2]|0)+12>>2]<<2)>>2]|0,b,d);return}function gc(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0;f=l;l=l+1040|0;h=f;g=f+8|0;i=V_(e)|0;c[h>>2]=d;c[h+4>>2]=i;X0(g,66753,h)|0;Vw(b,g)|0;Vw(b,e)|0;e=b+4|0;d=c[e>>2]|0;if(d>>>0>=(c[b+8>>2]|0)>>>0){Tw(b,1)|0;d=c[e>>2]|0}c[e>>2]=d+1;a[d>>0]=32;l=f;return}function hc(b,d,f,i){b=b|0;d=d|0;f=f|0;i=i|0;var j=0.0,k=0,m=0.0,n=0.0,o=0.0,p=0.0,q=0.0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0.0;x=l;l=l+1120|0;t=x+64|0;w=x+80|0;k=x+32|0;r=x+16|0;s=x;u=c[b+16>>2]|0;j=+(c[u+136>>2]|0)*.017453292519943295;if((e[(c[45920]|0)+8232>>1]|0)<14)ic(b);else{Sw(w,1024,x+96|0);v=(d|0)==2;if(v){$M(f,k,i,j,2);f=w+4|0;d=c[f>>2]|0;if(d>>>0>=(c[w+8>>2]|0)>>>0){Tw(w,1)|0;d=c[f>>2]|0}c[f>>2]=d+1;a[d>>0]=91;c[t>>2]=c[k>>2];c[t+4>>2]=c[k+4>>2];c[t+8>>2]=c[k+8>>2];c[t+12>>2]=c[k+12>>2];bc(w,t);s=k+16|0;c[t>>2]=c[s>>2];c[t+4>>2]=c[s+4>>2];c[t+8>>2]=c[s+8>>2];c[t+12>>2]=c[s+12>>2];bc(w,t)}else{$M(f,k,i,0.0,3);q=+h[k+24>>3];o=+h[k>>3];if(j==0.0){n=+h[k+8>>3];p=q*.25;j=n;m=o}else{p=q*.25;y=p;m=+E(+j)*y+o;n=+h[k+8>>3];j=+F(+j)*y+n}h[r>>3]=m;h[r+8>>3]=j;h[s>>3]=o;h[s+8>>3]=n;f=w+4|0;d=c[f>>2]|0;if(d>>>0>=(c[w+8>>2]|0)>>>0){Tw(w,1)|0;d=c[f>>2]|0}c[f>>2]=d+1;a[d>>0]=40;c[t>>2]=c[r>>2];c[t+4>>2]=c[r+4>>2];c[t+8>>2]=c[r+8>>2];c[t+12>>2]=c[r+12>>2];bc(w,t);jc(w,p);c[t>>2]=c[s>>2];c[t+4>>2]=c[s+4>>2];c[t+8>>2]=c[s+8>>2];c[t+12>>2]=c[s+12>>2];bc(w,t);jc(w,q)}Vw(w,66803)|0;d=u+140|0;j=+g[d>>2];f=u+56|0;if(j>0.0){kc(w,j,f);kc(w,+g[d>>2],u+96|0)}else{kc(w,0.0,f);kc(w,1.0,u+96|0)}Xw(w)|0;k=w+4|0;d=c[k>>2]|0;i=w+8|0;f=d>>>0>=(c[i>>2]|0)>>>0;if(v){if(f){Tw(w,1)|0;d=c[k>>2]|0}c[k>>2]=d+1;a[d>>0]=93}else{if(f){Tw(w,1)|0;d=c[k>>2]|0}c[k>>2]=d+1;a[d>>0]=41}d=c[k>>2]|0;if(d>>>0>=(c[i>>2]|0)>>>0){Tw(w,1)|0;d=c[k>>2]|0}a[d>>0]=0;v=c[w>>2]|0;c[k>>2]=v;fc(b,66800,v);Ww(w)}l=x;return}function ic(a){a=a|0;ec((c[a+16>>2]|0)+56|0);fc(a,66800,190678);return}function jc(a,b){a=a|0;b=+b;var c=0,d=0;c=l;l=l+1024|0;d=c;cc(d,b);Vw(a,d)|0;l=c;return}function kc(a,b,c){a=a|0;b=+b;c=c|0;var d=0,e=0,f=0;d=l;l=l+1040|0;f=d;e=d+8|0;h[f>>3]=b;X0(e,92597,f)|0;dc(e,1);ec(c);gc(a,e,190678);l=d;return}function lc(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,i=0;e=l;l=l+1040|0;i=e;f=e+16|0;g=c[11416+(c[(c[a+16>>2]|0)+12>>2]<<2)>>2]|0;Vw(g,66909)|0;c[i>>2]=c[d>>2];c[i+4>>2]=c[d+4>>2];c[i+8>>2]=c[d+8>>2];c[i+12>>2]=c[d+12>>2];bc(g,i);cc(f,+h[d+16>>3]-+h[d>>3]);Vw(g,f)|0;cc(f,+h[d+24>>3]-+h[d+8>>3]);Vw(g,f)|0;fc(a,191979,c[b+8>>2]|0);l=e;return}function mc(a){a=a|0;var b=0;switch(c[a+64>>2]|0){case 0:{b=kC(c[a>>2]|0)|0;_C(b,c[(c[a+16>>2]|0)+8>>2]|0,67693,0)|0;lC(b);break}case 1:{tI(c[(c[a>>2]|0)+168>>2]|0);break}default:{}}return}function nc(b){b=b|0;var d=0,e=0,f=0,g=0;f=l;l=l+16|0;d=f;e=c[(c[b+16>>2]|0)+8>>2]|0;if(!(c[45933]|0)){c[45933]=c[4652];c[45934]=57;c[45935]=19}c[(c[e+64>>2]|0)+8>>2]=183732;oc(e,1);c[d>>2]=0;a[d+4>>0]=(a[(c[e+16>>2]|0)+115>>0]|0)==1&1;g=c[b+64>>2]|0;a[d+5>>0]=((g|0)==0|(g|0)==3)&1;a[d+6>>0]=0;pc(e,b,1,d);l=f;return}function oc(a,b){a=a|0;b=b|0;var d=0;c[a>>2]=c[a>>2]&-9;d=vA(a)|0;while(1){if(!d)break;oc(d,0);d=wA(d)|0}a:do if(b|0){b=Ry(a)|0;while(1){if(!b)break a;c[b>>2]=c[b>>2]&-9;d=Dx(a,b)|0;while(1){if(!d)break;c[d>>2]=c[d>>2]&-9;d=Fx(a,d)|0}b=Sy(a,b)|0}}while(0);return}function pc(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0;q=l;l=l+16|0;p=q+8|0;o=q;n=(d|0)!=0;if(n){m=Bw(11836,c[4555]|0)|0;Ez(a,1,137978,12,0);Ez(a,2,137978,12,0);Ez(a,0,137978,-12,0);f=qc(a,0,m)|0;j=Ry(a)|0;i=0;g=0;while(1){if(!j)break;if(!(y$(qy(j)|0,104980,7)|0)){k=g;g=rc(m,qy(j)|0)|0}else{k=g+1|0;g=g+f|0}c[(xz(j,137978,0)|0)+8>>2]=g;h=Dx(a,j)|0;g=i;while(1){if(!h)break;c[(xz(h,137978,0)|0)+8>>2]=g;h=Fx(a,h)|0;g=g+1|0}j=Sy(a,j)|0;i=g;g=k}xw(m)|0}else f=0;m=c[e>>2]|0;c[e>>2]=m+1;sc(b,m);_B(b,94292)|0;tc(a,b,d,e);uc(a,b,e);_B(b,94263)|0;sc(b,c[e>>2]|0);if(n){c[o>>2]=f;eC(b,66912,o)}else{c[p>>2]=c[(xz(a,137978,0)|0)+8>>2];eC(b,66932,p)}wc(a,b,d,vc(a,b,d,e)|0,e);xc(a,b,d,e);_B(b,150517)|0;p=(c[e>>2]|0)+-1|0;c[e>>2]=p;sc(b,p);if(n)_B(b,107982)|0;else _B(b,75253)|0;l=q;return}function qc(a,b,d){a=a|0;b=b|0;d=d|0;var e=0;if((ez(a)|0)!=(a|0)){e=b+1|0;c[(xz(a,137978,0)|0)+8>>2]=b;if(!(y$(qy(a)|0,104980,7)|0)){b=qy(a)|0;Jc(d,b,c[(xz(a,137978,0)|0)+8>>2]|0);b=e}else b=e}e=vA(a)|0;while(1){if(!e)break;a=qc(e,b,d)|0;e=wA(e)|0;b=a}return b|0}function rc(a,b){a=a|0;b=b|0;a=nb[c[a>>2]&63](a,b,512)|0;if(!a)a=-1;else a=c[a+12>>2]|0;return a|0}function sc(a,b){a=a|0;b=b|0;while(1){if((b|0)<=0)break;_B(a,90480)|0;b=b+-1|0}return}function tc(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0;h=l;l=l+32|0;g=h+16|0;f=h+8|0;i=h;j=qy(a)|0;sc(b,c[e>>2]|0);c[i>>2]=Ac(j,e)|0;eC(b,67020,i);if(d|0){_B(b,94263)|0;sc(b,c[e>>2]|0);j=(dy(a)|0)!=0;c[f>>2]=j?104626:134226;eC(b,67634,f);sc(b,c[e>>2]|0);j=(fy(a)|0)!=0;c[g>>2]=j?104626:134226;eC(b,67651,g)}l=h;return}function uc(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0;o=l;l=l+16|0;n=o+8|0;m=o;i=ez(b)|0;j=c[b>>2]&3;f=rx(i,j,0)|0;a:do if(f|0){k=e+5|0;while(1){if(!f)break a;g=xx(b,f)|0;do if(g|0){h=f+8|0;if(!(a[g>>0]|0)){g=c[h>>2]|0;if((a[g>>0]|0)!=108)break;if(a$(g,105198)|0)break}_B(d,94263)|0;sc(d,c[e>>2]|0);c[m>>2]=Ac(c[h>>2]|0,e)|0;eC(d,67070,m);if(a[k>>0]|0?Cc(c[h>>2]|0)|0:0){Dc(xx(b,f)|0,d,e);break}c[n>>2]=Ac(xx(b,f)|0,e)|0;eC(d,67077,n)}while(0);f=rx(i,j,f)|0}}while(0);l=o;return}function vc(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0;i=l;l=l+16|0;h=i;f=vA(a)|0;if(f){_B(b,94263)|0;g=c[e>>2]|0;c[e>>2]=g+1;sc(b,g);g=(d|0)!=0;if(g){_B(b,66994)|0;a=0;d=f}else{_B(b,67054)|0;sc(b,c[e>>2]|0);a=0;d=f}while(1){if(!d)break;if(!a)a=1;else _B(b,94263)|0;if(g)Bc(d,b,e);else{c[h>>2]=c[(xz(d,137978,0)|0)+8>>2];eC(b,134313,h)}d=wA(d)|0}if(g)a=1;else{c[e>>2]=(c[e>>2]|0)+-1;_B(b,150517)|0;sc(b,c[e>>2]|0);_B(b,94258)|0;a=1}}else a=0;l=i;return a|0}function wc(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0;g=Ry(a)|0;if(!g){if((d|0)!=0&(e|0)!=0){c[f>>2]=(c[f>>2]|0)+-1;_B(b,150517)|0;sc(b,c[f>>2]|0);_B(b,94258)|0}}else{_B(b,94263)|0;h=(d|0)!=0;if(h)if(!e){e=c[f>>2]|0;c[f>>2]=e+1;sc(b,e);_B(b,66994)|0;e=0}else e=0;else{e=c[f>>2]|0;c[f>>2]=e+1;sc(b,e);_B(b,67008)|0;sc(b,c[f>>2]|0);e=0}while(1){if(!g)break;if(y$(qy(g)|0,104980,7)|0){do if(e)if(h){_B(b,94263)|0;break}else{_B(b,97973)|0;break}else e=1;while(0);zc(g,b,d,f)}g=Sy(a,g)|0}c[f>>2]=(c[f>>2]|0)+-1;_B(b,150517)|0;sc(b,c[f>>2]|0);_B(b,94258)|0}return}function xc(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0;f=Ry(a)|0;a:do if(f|0){while(1){if(!f)break a;if(Dx(a,f)|0)break;f=Sy(a,f)|0}_B(b,94263)|0;i=c[e>>2]|0;c[e>>2]=i+1;sc(b,i);_B(b,66944)|0;i=(d|0)!=0;if(i)g=0;else{sc(b,c[e>>2]|0);g=0}while(1){if(!f)break;h=Dx(a,f)|0;while(1){if(!h)break;do if(g)if(i){_B(b,94263)|0;break}else{_B(b,97973)|0;break}else g=1;while(0);yc(h,b,d,e);h=Fx(a,h)|0}f=Sy(a,f)|0}c[e>>2]=(c[e>>2]|0)+-1;_B(b,150517)|0;sc(b,c[e>>2]|0);_B(b,94258)|0}while(0);return}function yc(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0;j=l;l=l+32|0;i=j+24|0;h=j+16|0;g=j+8|0;f=j;if(!d){c[i>>2]=c[(xz(a,137978,0)|0)+8>>2];eC(b,134313,i)}else{i=c[e>>2]|0;c[e>>2]=i+1;sc(b,i);_B(b,94292)|0;sc(b,c[e>>2]|0);c[f>>2]=c[(xz(a,137978,0)|0)+8>>2];eC(b,66956,f);sc(b,c[e>>2]|0);c[g>>2]=c[(xz(c[((c[a>>2]&3|0)==3?a:a+48|0)+40>>2]|0,137978,0)|0)+8>>2];eC(b,66970,g);sc(b,c[e>>2]|0);c[h>>2]=c[(xz(c[((c[a>>2]&3|0)==2?a:a+-48|0)+40>>2]|0,137978,0)|0)+8>>2];eC(b,66983,h);uc(a,b,e);_B(b,150517)|0;i=(c[e>>2]|0)+-1|0;c[e>>2]=i;sc(b,i);_B(b,75253)|0}l=j;return}function zc(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0;i=l;l=l+32|0;h=i+16|0;g=i+8|0;f=i;if(!d){c[h>>2]=c[(xz(a,137978,0)|0)+8>>2];eC(b,134313,h)}else{h=c[e>>2]|0;c[e>>2]=h+1;sc(b,h);_B(b,94292)|0;sc(b,c[e>>2]|0);c[f>>2]=c[(xz(a,137978,0)|0)+8>>2];eC(b,66956,f);sc(b,c[e>>2]|0);c[g>>2]=Ac(qy(a)|0,e)|0;eC(b,67020,g);uc(a,b,e);_B(b,150517)|0;h=(c[e>>2]|0)+-1|0;c[e>>2]=h;sc(b,h);_B(b,75253)|0}l=i;return}function Ac(b,d){b=b|0;d=d|0;var e=0,f=0,g=0;g=d+4|0;if(a[g>>0]|0)b=QM(b)|0;if(!(c[45936]|0)){Sw(183744,1024,0);e=b}else e=b;a:while(1){f=a[e>>0]|0;switch(f<<24>>24){case 0:break a;case 34:{Vw(183744,67033)|0;break}case 92:{Vw(183744,93534)|0;break}case 47:{Vw(183744,67036)|0;break}case 8:{Vw(183744,67039)|0;break}case 12:{Vw(183744,67042)|0;break}case 10:{Vw(183744,67045)|0;break}case 13:{Vw(183744,67048)|0;break}case 9:{Vw(183744,67051)|0;break}default:{d=c[45937]|0;if(d>>>0>=(c[45938]|0)>>>0){Tw(183744,1)|0;d=c[45937]|0}c[45937]=d+1;a[d>>0]=f}}e=e+1|0}d=c[45937]|0;if(d>>>0>=(c[45938]|0)>>>0){Tw(183744,1)|0;d=c[45937]|0}a[d>>0]=0;d=c[45936]|0;c[45937]=d;if(a[g>>0]|0)C_(b);return d|0}function Bc(a,b,c){a=a|0;b=b|0;c=c|0;pc(a,b,0,c);a=vA(a)|0;while(1){if(!a)break;_B(b,94263)|0;Bc(a,b,c);a=wA(a)|0}return}function Cc(b){b=b|0;var c=0;c=b+1|0;a:do if((a[b>>0]|0)==95){b=(a[c>>0]|0)+-100<<24>>24;switch(((b&255)>>>2|b<<6&255)<<24>>24){case 0:{if(!(a$(c,67591)|0)){b=1;break a}break}case 2:{if(!(a$(c,67597)|0)){b=1;break a}break}case 1:{if(!(a$(c,67604)|0)){b=1;break a}return (a$(c,67618)|0)==0|0}case 4:{if(!(a$(c,67611)|0)){b=1;break a}b=(a$(c,67626)|0)==0&1;break a}default:{b=0;break a}}b=0}else b=0;while(0);return b|0}function Dc(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0;i=l;l=l+16|0;f=i;do if(b|0?a[b>>0]|0:0){h=nE(b)|0;if(!h){c[f>>2]=b;Ow(0,67082,f)|0;break}_B(d,150517)|0;g=c[e>>2]|0;c[e>>2]=g+1;sc(d,g);_B(d,67109)|0;g=h+8|0;b=0;f=0;while(1){if((f|0)>=(c[h>>2]|0))break;if(!b)b=1;else _B(d,94263)|0;Ec((c[g>>2]|0)+(f*80|0)|0,d,e);f=f+1|0}c[e>>2]=(c[e>>2]|0)+-1;_B(d,150517)|0;sc(d,c[e>>2]|0);_B(d,94258)|0;oE(h)}while(0);l=i;return}function Ec(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0.0,C=0.0,D=0.0;A=l;l=l+240|0;y=A+224|0;x=A+216|0;w=A+208|0;v=A+200|0;u=A+192|0;t=A+184|0;s=A+176|0;r=A+152|0;q=A+136|0;p=A+128|0;o=A+112|0;n=A+104|0;m=A+96|0;k=A+88|0;j=A+72|0;i=A+48|0;z=A+40|0;g=A+8|0;f=A;e=c[d>>2]|0;c[d>>2]=e+1;sc(b,e);_B(b,94292)|0;sc(b,c[d>>2]|0);e=c[a>>2]|0;a:do switch(e|0){case 1:case 0:{c[f>>2]=(e|0)==0?69:101;eC(b,67112,f);sc(b,c[d>>2]|0);D=+h[a+16>>3];C=+h[a+24>>3];B=+h[a+32>>3];h[g>>3]=+h[a+8>>3];h[g+8>>3]=D;h[g+16>>3]=C;h[g+24>>3]=B;eC(b,67125,g);break}case 3:case 2:{c[z>>2]=(e|0)==2?80:112;eC(b,67112,z);sc(b,c[d>>2]|0);Fc(b,a+8|0);break}case 5:case 4:{c[i>>2]=(e|0)==4?66:98;eC(b,67112,i);sc(b,c[d>>2]|0);Fc(b,a+8|0);break}case 6:{eC(b,67160,A+56|0);sc(b,c[d>>2]|0);Fc(b,a+8|0);break}case 7:{eC(b,67172,A+64|0);sc(b,c[d>>2]|0);D=+h[a+16>>3];h[j>>3]=+h[a+8>>3];h[j+8>>3]=D;eC(b,67184,j);sc(b,c[d>>2]|0);z=c[a+24>>2]|0;c[k>>2]=(z|0)==0?108:(z|0)==1?99:114;eC(b,67206,k);sc(b,c[d>>2]|0);h[m>>3]=+h[a+32>>3];eC(b,67222,m);sc(b,c[d>>2]|0);c[n>>2]=Ac(c[a+40>>2]|0,d)|0;eC(b,67239,n);break}case 9:case 8:{c[o>>2]=(e|0)==8?67:99;eC(b,67112,o);sc(b,c[d>>2]|0);eC(b,67253,A+120|0);sc(b,c[d>>2]|0);c[p>>2]=Ac(c[a+8>>2]|0,d)|0;eC(b,67270,p);break}case 13:case 14:{c[q>>2]=(e|0)==13?67:99;eC(b,67112,q);sc(b,c[d>>2]|0);switch(c[a+8>>2]|0){case 0:{eC(b,67253,A+144|0);sc(b,c[d>>2]|0);c[r>>2]=Ac(c[a+16>>2]|0,d)|0;eC(b,67270,r);break a}case 1:{eC(b,67285,A+160|0);sc(b,c[d>>2]|0);Gc(b,a+16|0,d);break a}default:{eC(b,67304,A+168|0);sc(b,c[d>>2]|0);Hc(b,a+16|0,d);break a}}}case 10:{eC(b,67323,s);sc(b,c[d>>2]|0);h[t>>3]=+h[a+8>>3];eC(b,67335,t);sc(b,c[d>>2]|0);c[u>>2]=Ac(c[a+16>>2]|0,d)|0;eC(b,67351,u);break}case 11:{eC(b,67365,v);sc(b,c[d>>2]|0);c[w>>2]=Ac(c[a+8>>2]|0,d)|0;eC(b,67377,w);break}case 15:{eC(b,67392,x);sc(b,c[d>>2]|0);c[y>>2]=c[a+8>>2];eC(b,67404,y);break}default:{}}while(0);z=(c[d>>2]|0)+-1|0;c[d>>2]=z;sc(b,z);_B(b,75253)|0;l=A;return}function Fc(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,i=0,j=0,k=0.0;j=l;l=l+48|0;i=j+32|0;g=j+16|0;f=j+8|0;e=c[b>>2]|0;d=c[b+4>>2]|0;eC(a,67565,j);b=0;while(1){if((b|0)>=(e|0))break;if((b|0)>0)eC(a,97973,f);k=+h[d+(b*24|0)+8>>3];h[g>>3]=+h[d+(b*24|0)>>3];h[g+8>>3]=k;eC(a,67577,g);b=b+1|0}eC(a,67518,i);l=j;return}function Gc(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0.0,i=0;e=l;l=l+32|0;f=e+16|0;i=e;sc(a,c[d>>2]|0);g=+h[b+8>>3];h[i>>3]=+h[b>>3];h[i+8>>3]=g;eC(a,67521,i);sc(a,c[d>>2]|0);g=+h[b+24>>3];h[f>>3]=+h[b+16>>3];h[f+8>>3]=g;eC(a,67543,f);sc(a,c[d>>2]|0);Ic(a,c[b+32>>2]|0,c[b+36>>2]|0,d);l=e;return}function Hc(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0.0,i=0.0,j=0;e=l;l=l+48|0;f=e+24|0;j=e;sc(a,c[d>>2]|0);g=+h[b+8>>3];i=+h[b+16>>3];h[j>>3]=+h[b>>3];h[j+8>>3]=g;h[j+16>>3]=i;eC(a,67420,j);sc(a,c[d>>2]|0);i=+h[b+32>>3];g=+h[b+40>>3];h[f>>3]=+h[b+24>>3];h[f+8>>3]=i;h[f+16>>3]=g;eC(a,67448,f);sc(a,c[d>>2]|0);Ic(a,c[b+48>>2]|0,c[b+52>>2]|0,d);l=e;return}function Ic(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,i=0,j=0,k=0,m=0,n=0,o=0.0;m=l;l=l+48|0;k=m+32|0;j=m+16|0;i=m+8|0;eC(a,67476,m);f=0;while(1){if((f|0)>=(b|0))break;if((f|0)>0)eC(a,97973,i);o=+g[d+(f<<3)>>2];n=Ac(c[d+(f<<3)+4>>2]|0,e)|0;h[j>>3]=o;c[j+8>>2]=n;eC(a,67487,j);f=f+1|0}eC(a,67518,k);l=m;return}function Jc(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0;g=l;l=l+16|0;f=g;e=nb[c[a>>2]&63](a,b,512)|0;if(e){if((c[e+12>>2]|0)!=(d|0)){c[f>>2]=b;Ow(0,67664,f)|0}}else{f=D_(1,16)|0;c[f+8>>2]=m1(b)|0;c[f+12>>2]=d;nb[c[a>>2]&63](a,f,1)|0}l=g;return}function Kc(a,b,d){a=a|0;b=b|0;d=d|0;C_(c[b+8>>2]|0);C_(b);return}function Lc(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0;b=l;l=l+32|0;d=b+24|0;e=b+16|0;g=b;f=c[a+16>>2]|0;_B(a,68519)|0;j=c[c[a+12>>2]>>2]|0;i=c[j+4>>2]|0;h=c[j+8>>2]|0;c[g>>2]=c[j>>2];c[g+4>>2]=i;c[g+8>>2]=h;eC(a,68529,g);c[e>>2]=qy(c[f+8>>2]|0)|0;eC(a,68564,e);c[d>>2]=O(c[a+168>>2]|0,c[a+164>>2]|0)|0;eC(a,68577,d);_B(a,68590)|0;_B(a,68600)|0;_B(a,68608)|0;_B(a,68616)|0;_B(a,68624)|0;_B(a,68632)|0;_B(a,68640)|0;_B(a,68644)|0;_B(a,68649)|0;l=b;return}function Mc(a){a=a|0;_B(a,68500)|0;return}function Nc(a){a=a|0;c[45940]=2;return}function Oc(a){a=a|0;c[45940]=1;return}function Pc(a){a=a|0;c[45940]=2;return}function Qc(a){a=a|0;c[45940]=0;return}function Rc(a){a=a|0;c[45940]=2;return}function Sc(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0.0,i=0.0,j=0,k=0.0,m=0,n=0,o=0,p=0,q=0.0,r=0.0,s=0;p=l;l=l+80|0;o=p;m=c[(c[b+16>>2]|0)+16>>2]|0;n=c[45940]|0;f=c[e+4>>2]|0;g=+h[b+352>>3]*+h[f+16>>3];i=c[b+360>>2]|0?1.5707963267948966:0.0;j=c[e>>2]|0;k=g*.3333333333333333*+((V_(j)|0)>>>0);f=c[f+8>>2]|0;if(!f)f=-1;else f=c[f+20>>2]|0;s=a[e+48>>0]|0;r=+h[d>>3];q=+h[d+8>>3];e=ad(j)|0;c[o>>2]=4;c[o+4>>2]=s<<24>>24==108?0:s<<24>>24==114?2:1;c[o+8>>2]=m;c[o+12>>2]=n;c[o+16>>2]=0;c[o+20>>2]=f;h[o+24>>3]=g;h[o+32>>3]=i;c[o+40>>2]=6;h[o+48>>3]=g;h[o+56>>3]=k;c[o+64>>2]=~~(r+(r>=0.0?.5:-.5));c[o+68>>2]=~~(q+(q+-72.0>=0.0?-71.5:-72.5));c[o+72>>2]=e;eC(b,68445,o);l=p;return}function Tc(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0;n=l;l=l+32|0;j=n;i=n+20|0;m=e+32|0;a:do switch(c[m>>2]|0){case 5:{f=0;while(1){g=c[12724+(f<<2)>>2]|0;if((f|0)==8)break a;h=c[e>>2]|0;if((a[g>>0]|0)==(a[h>>0]|0)?(a$(g,h)|0)==0:0){k=10;break a}f=f+1|0}}case 1:{g=e+1|0;h=e+2|0;f=($c(i,d[e>>0]|0,d[g>>0]|0,d[h>>0]|0)|0)+32|0;if(!(c[i>>2]|0))k=10;else{o=d[e>>0]|0;i=d[g>>0]|0;k=d[h>>0]|0;c[j>>2]=0;c[j+4>>2]=f;c[j+8>>2]=o;c[j+12>>2]=i;c[j+16>>2]=k;eC(b,68388,j);k=10}break}default:qa(135312,67785,163,67816)}while(0);if((k|0)==10)c[e>>2]=f;c[m>>2]=6;l=n;return}function Uc(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0.0,i=0.0,j=0,k=0,m=0.0,n=0.0,o=0.0,p=0,q=0,r=0,s=0,t=0,u=0;e=l;l=l+112|0;f=e+8|0;u=e+104|0;t=e;k=c[a+16>>2]|0;s=~~+h[k+152>>3];r=c[k+16>>2]|0;q=c[k+56>>2]|0;p=c[45940]|0;Zc(k,u,t);n=+h[b>>3];k=~~(n+(n>=0.0?.5:-.5));m=+h[b+8>>3];j=~~(m+(m>=0.0?.5:-.5));i=+h[b+16>>3];n=i-n;g=+h[b+24>>3];m=g-m;b=c[u>>2]|0;o=+h[t>>3];c[f>>2]=1;c[f+4>>2]=1;c[f+8>>2]=b;c[f+12>>2]=s;c[f+16>>2]=r;c[f+20>>2]=q;c[f+24>>2]=p;c[f+28>>2]=0;c[f+32>>2]=d|0?20:-1;h[f+40>>3]=o;c[f+48>>2]=0;h[f+56>>3]=0.0;c[f+64>>2]=k;c[f+68>>2]=j;c[f+72>>2]=~~(n+(n>=0.0?.5:-.5));c[f+76>>2]=~~(m+(m>=0.0?.5:-.5));c[f+80>>2]=k;c[f+84>>2]=j;c[f+88>>2]=~~(i+(i>=0.0?.5:-.5));c[f+92>>2]=~~(g+(g>=0.0?.5:-.5));eC(a,68323,f);l=e;return}function Vc(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,i=0.0,j=0,k=0,m=0,n=0,o=0,p=0,q=0;f=l;l=l+96|0;g=f+8|0;o=f+80|0;p=f;q=c[a+16>>2]|0;n=~~+h[q+152>>3];m=c[q+16>>2]|0;k=c[q+56>>2]|0;j=c[45940]|0;Zc(q,o,p);o=c[o>>2]|0;i=+h[p>>3];c[g>>2]=2;c[g+4>>2]=3;c[g+8>>2]=o;c[g+12>>2]=n;c[g+16>>2]=m;c[g+20>>2]=k;c[g+24>>2]=j;c[g+28>>2]=0;c[g+32>>2]=e|0?20:-1;h[g+40>>3]=i;c[g+48>>2]=0;c[g+52>>2]=0;c[g+56>>2]=0;c[g+60>>2]=0;c[g+64>>2]=0;c[g+68>>2]=d+1;eC(a,68227,g);_c(a,b,d,1);l=f;return}function Wc(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0.0,E=0.0,F=0;C=l;l=l+192|0;B=C+176|0;z=C+168|0;A=C+104|0;y=C+96|0;i=C+88|0;u=C+180|0;v=C+80|0;w=C+16|0;x=C;f=a+16|0;e=c[f>>2]|0;q=~~+h[e+152>>3];r=c[e+16>>2]|0;s=c[45940]|0;if((d|0)<=3)qa(67778,67785,360,67805);t=B_((d*140|0)+140|0)|0;Zc(e,u,v);if(!g){o=4;j=0;k=-1}else{o=5;j=c[(c[f>>2]|0)+56>>2]|0;k=20}E=+h[b>>3];n=w+48|0;h[n>>3]=E;D=+h[b+8>>3];h[w+56>>3]=D;c[i>>2]=~~(E+(E>=0.0?.5:-.5));c[i+4>>2]=~~(D+(D>=0.0?.5:-.5));m=x+8|0;e=t+(X0(t,80995,i)|0)|0;p=1;g=0;while(1){i=g+3|0;if((i|0)>=(d|0))break;c[w>>2]=c[n>>2];c[w+4>>2]=c[n+4>>2];c[w+8>>2]=c[n+8>>2];c[w+12>>2]=c[n+12>>2];f=1;while(1){if((f|0)==4){f=1;break}F=f+g|0;h[w+(f<<4)>>3]=+h[b+(F<<4)>>3];h[w+(f<<4)+8>>3]=+h[b+(F<<4)+8>>3];f=f+1|0}while(1){if((f|0)==7)break;WL(x,w,3,+(f|0)*.16666666666666666,0,0);D=+h[x>>3];E=+h[m>>3];c[y>>2]=~~(D+(D>=0.0?.5:-.5));c[y+4>>2]=~~(E+(E>=0.0?.5:-.5));f=f+1|0;e=e+(X0(e,80995,y)|0)|0}p=p+6|0;g=i}f=c[u>>2]|0;E=+h[v>>3];c[A>>2]=3;c[A+4>>2]=o;c[A+8>>2]=f;c[A+12>>2]=q;c[A+16>>2]=r;c[A+20>>2]=j;c[A+24>>2]=s;c[A+28>>2]=0;c[A+32>>2]=k;h[A+40>>3]=E;c[A+48>>2]=0;c[A+52>>2]=0;c[A+56>>2]=0;c[A+60>>2]=p;eC(a,68278,A);c[z>>2]=t;eC(a,81002,z);C_(t);f=p+-1|0;e=0;while(1){if((e|0)>=(p|0))break;c[B>>2]=((e|0)%(f|0)|0|0)!=0&1;eC(a,81007,B);e=e+1|0}_B(a,150517)|0;l=C;return}function Xc(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0.0,i=0,j=0,k=0,m=0,n=0,o=0;e=l;l=l+96|0;f=e+8|0;m=e+80|0;n=e;o=c[a+16>>2]|0;k=~~+h[o+152>>3];j=c[o+16>>2]|0;i=c[45940]|0;Zc(o,m,n);m=c[m>>2]|0;g=+h[n>>3];c[f>>2]=2;c[f+4>>2]=1;c[f+8>>2]=m;c[f+12>>2]=k;c[f+16>>2]=j;c[f+20>>2]=0;c[f+24>>2]=i;c[f+28>>2]=0;c[f+32>>2]=0;h[f+40>>3]=g;c[f+48>>2]=0;c[f+52>>2]=0;c[f+56>>2]=0;c[f+60>>2]=0;c[f+64>>2]=0;c[f+68>>2]=d;eC(a,68227,f);_c(a,b,d,0);l=e;return}function Yc(a,b){a=a|0;b=b|0;var d=0,e=0;d=l;l=l+16|0;e=d;c[e>>2]=b;eC(a,68221,e);l=d;return}function Zc(a,b,d){a=a|0;b=b|0;d=d|0;var e=0.0;switch(c[a+144>>2]|0){case 1:{e=10.0;a=1;break}case 2:{e=10.0;a=2;break}default:{e=0.0;a=0}}c[b>>2]=a;h[d>>3]=e;return}function _c(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,i=0,j=0,k=0.0,m=0.0;j=l;l=l+16|0;i=j+8|0;g=j;f=0;while(1){if((f|0)>=(d|0))break;m=+h[b+(f<<4)>>3];k=+h[b+(f<<4)+8>>3];c[g>>2]=~~(m+(m>=0.0?.5:-.5));c[g+4>>2]=~~(k+(k>=0.0?.5:-.5));eC(a,80995,g);f=f+1|0}if(e|0){k=+h[b>>3];m=+h[b+8>>3];c[i>>2]=~~(k+(k>=0.0?.5:-.5));c[i+4>>2]=~~(m+(m>=0.0?.5:-.5));eC(a,80995,i)}_B(a,150517)|0;l=j;return}function $c(a,d,e,f){a=a|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;c[a>>2]=0;k=c[45941]|0;h=195075;g=0;i=-1;while(1){if((g|0)>=(k|0)){l=6;break}m=(b[187600+(g<<1)>>1]|0)-d|0;n=(b[188112+(g<<1)>>1]|0)-e|0;j=(b[188624+(g<<1)>>1]|0)-f|0;j=(O(n,n)|0)+(O(m,m)|0)+(O(j,j)|0)|0;if((j|0)<(h|0))if(!j)break;else{h=j;i=g}g=g+1|0}if((l|0)==6){c[45941]=k+1;if((k|0)==256)g=i;else{b[187600+(g<<1)>>1]=d;b[188112+(g<<1)>>1]=e;b[188624+(g<<1)>>1]=f;c[a>>2]=1}}return g|0}function ad(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0;i=l;l=l+16|0;h=i;d=c[45942]|0;if(!d){c[45943]=64;d=B_(64)|0;c[45942]=d;e=0}else e=0;while(1){g=b+1|0;f=a[b>>0]|0;if(!(f<<24>>24))break;b=c[45943]|0;if((e|0)>(b+-8|0)){d=b<<1;c[45943]=d;d=E_(c[45942]|0,d)|0;c[45942]=d;d=d+e|0}if(f<<24>>24<=-1){a[d>>0]=92;c[h>>2]=f&255;X0(d+1|0,81120,h)|0;b=g;d=d+4|0;e=e+4|0;continue}if(f<<24>>24==92){a[d>>0]=92;e=e+1|0;d=d+1|0}a[d>>0]=f;b=g;d=d+1|0;e=e+1|0}a[d>>0]=0;l=i;return c[45942]|0}function bd(b){b=b|0;var d=0,e=0,f=0;e=c[b+16>>2]|0;switch(c[b+64>>2]|0){case 0:{_B(b,68116)|0;d=e+208|0;e=c[d>>2]|0;if(e|0?a[e>>0]|0:0){_B(b,68130)|0;_B(b,pH(c[d>>2]|0)|0)|0;_B(b,150517)|0}break}case 1:{d=e+208|0;f=c[d>>2]|0;if(f|0?a[f>>0]|0:0){_B(b,68130)|0;_B(b,pH(c[d>>2]|0)|0)|0;_B(b,99578)|0;_B(b,pH(qy(c[e+8>>2]|0)|0)|0)|0;_B(b,150517)|0}break}case 3:{f=pH(qy(c[e+8>>2]|0)|0)|0;_B(b,68139)|0;_B(b,f)|0;_B(b,68149)|0;_B(b,f)|0;_B(b,68104)|0;break}default:{}}return}function cd(a){a=a|0;var b=0;b=c[a+16>>2]|0;switch(c[a+64>>2]|0){case 2:{ed(a,c[b+264>>2]|0,c[b+272>>2]|0,c[b+268>>2]|0,c[b+208>>2]|0,c[b+228>>2]|0,c[b+244>>2]|0,c[b+212>>2]|0);break}case 3:{ed(a,c[b+264>>2]|0,c[b+272>>2]|0,c[b+268>>2]|0,c[b+208>>2]|0,c[b+228>>2]|0,c[b+244>>2]|0,c[b+212>>2]|0);_B(a,68108)|0;break}default:{}}return}function dd(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0;g=c[a+16>>2]|0;ed(a,c[g+264>>2]|0,c[g+272>>2]|0,c[g+268>>2]|0,b,d,e,f);return}function ed(b,d,e,f,g,i,j,k){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;i=i|0;j=j|0;k=k|0;var m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0.0;y=l;l=l+128|0;x=y+120|0;u=y+112|0;t=y+96|0;s=y+80|0;r=y+56|0;w=y+48|0;q=y+40|0;v=y+24|0;p=y;a:do if((e|0)!=0&(f|0)!=0){m=f+10|0;if((c[45944]|0)<(f|0)){c[45944]=m;o=E_(c[45945]|0,m<<3)|0;c[45945]=o}else o=c[45945]|0;m=0;while(1){if((m|0)>=(f|0))break;z=+h[e+(m<<4)>>3];c[o+(m<<3)>>2]=~~(z+(z>=0.0?.5:-.5));z=+h[e+(m<<4)+8>>3];c[o+(m<<3)+4>>2]=~~(z+(z>=0.0?.5:-.5));m=m+1|0}n=b+64|0;m=c[n>>2]|0;e=(g|0)!=0;if(e&(m|0)==0){if(!(a[g>>0]|0))break;switch(d|0){case 0:{v=c[o>>2]|0;w=c[o+12>>2]|0;x=c[o+8>>2]|0;f=c[o+4>>2]|0;c[p>>2]=g;c[p+4>>2]=v;c[p+8>>2]=w;c[p+12>>2]=x;c[p+16>>2]=f;eC(b,67850,p);break a}case 1:{w=c[o>>2]|0;x=c[o+4>>2]|0;f=(c[o+8>>2]|0)-w|0;c[v>>2]=g;c[v+4>>2]=w;c[v+8>>2]=x;c[v+12>>2]=f;eC(b,67871,v);break a}case 2:{c[q>>2]=g;eC(b,67891,q);m=0;while(1){if((m|0)>=(f|0))break;v=c[45945]|0;x=c[v+(m<<3)+4>>2]|0;c[w>>2]=c[v+(m<<3)>>2];c[w+4>>2]=x;eC(b,67899,w);m=m+1|0}_B(b,150517)|0;break a}default:qa(135312,67906,63,67926)}}if(e&(m|0)==1){if(!(a[g>>0]|0))break;if(!d){w=c[o+12>>2]|0;x=c[o+8>>2]|0;f=c[o+4>>2]|0;c[r>>2]=c[o>>2];c[r+4>>2]=w;c[r+8>>2]=x;c[r+12>>2]=f;c[r+16>>2]=g;c[r+20>>2]=i;eC(b,67943,r);break}else qa(135312,67906,75,67926)}if((m&-2|0)==2){switch(d|0){case 1:{_B(b,67976)|0;break}case 0:{_B(b,67997)|0;break}case 2:{_B(b,68016)|0;break}default:qa(135312,67906,91,67926)}if(k|0?a[k>>0]|0:0){_B(b,73496)|0;_B(b,sH(k)|0)|0;_B(b,95669)|0}if(e?a[g>>0]|0:0){_B(b,68035)|0;_B(b,sH(g)|0)|0;_B(b,95669)|0}if(j|0?a[j>>0]|0:0){_B(b,74455)|0;_B(b,pH(j)|0)|0;_B(b,95669)|0}if(i|0?a[i>>0]|0:0){_B(b,68043)|0;_B(b,pH(i)|0)|0;_B(b,95669)|0}_B(b,68052)|0;_B(b,68060)|0;b:do switch(d|0){case 1:{f=c[45945]|0;w=c[f>>2]|0;x=c[f+4>>2]|0;f=(c[f+8>>2]|0)-w|0;c[s>>2]=w;c[s+4>>2]=x;c[s+8>>2]=f;eC(b,68070,s);break}case 0:{v=c[45945]|0;w=c[v+12>>2]|0;x=c[v+8>>2]|0;f=c[v+4>>2]|0;c[t>>2]=c[v>>2];c[t+4>>2]=w;c[t+8>>2]=x;c[t+12>>2]=f;eC(b,68079,t);break}case 2:{w=c[45945]|0;m=c[w+4>>2]|0;c[u>>2]=c[w>>2];c[u+4>>2]=m;eC(b,68091,u);m=1;while(1){if((m|0)>=(f|0))break b;v=c[45945]|0;w=c[v+(m<<3)+4>>2]|0;c[x>>2]=c[v+(m<<3)>>2];c[x+4>>2]=w;eC(b,68097,x);m=m+1|0}}default:{}}while(0);if((c[n>>2]|0)==3){_B(b,73320)|0;break}else{_B(b,68104)|0;break}}}while(0);l=y;return}function fd(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0;b=l;l=l+32|0;d=b+24|0;e=b+16|0;g=b;f=c[a+16>>2]|0;_B(a,68519)|0;j=c[c[a+12>>2]>>2]|0;i=c[j+4>>2]|0;h=c[j+8>>2]|0;c[g>>2]=c[j>>2];c[g+4>>2]=i;c[g+8>>2]=h;eC(a,68529,g);c[e>>2]=qy(c[f+8>>2]|0)|0;eC(a,68564,e);c[d>>2]=O(c[a+168>>2]|0,c[a+164>>2]|0)|0;eC(a,68577,d);_B(a,68590)|0;_B(a,68600)|0;_B(a,68608)|0;_B(a,68616)|0;_B(a,68624)|0;_B(a,68632)|0;_B(a,68640)|0;_B(a,68644)|0;_B(a,68649)|0;l=b;return}function gd(a){a=a|0;_B(a,68500)|0;return}function hd(a){a=a|0;c[45946]=2;return}function id(a){a=a|0;c[45946]=1;return}function jd(a){a=a|0;c[45946]=2;return}function kd(a){a=a|0;c[45946]=0;return}function ld(a){a=a|0;c[45946]=2;return}function md(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0.0,i=0.0,j=0,k=0,m=0,n=0,o=0.0,p=0.0,q=0;n=l;l=l+80|0;m=n;j=c[(c[b+16>>2]|0)+16>>2]|0;k=c[45946]|0;f=c[e+4>>2]|0;g=+h[b+352>>3]*+h[f+16>>3];i=c[b+360>>2]|0?1.5707963267948966:0.0;f=c[f+8>>2]|0;if(!f)f=-1;else f=c[f+20>>2]|0;q=a[e+48>>0]|0;p=+h[d>>3];o=+h[d+8>>3];e=wd(c[e>>2]|0)|0;c[m>>2]=4;c[m+4>>2]=q<<24>>24==108?0:q<<24>>24==114?2:1;c[m+8>>2]=j;c[m+12>>2]=k;c[m+16>>2]=0;c[m+20>>2]=f;h[m+24>>3]=g;h[m+32>>3]=i;c[m+40>>2]=4;h[m+48>>3]=0.0;h[m+56>>3]=0.0;c[m+64>>2]=~~(p+(p>=0.0?.5:-.5));c[m+68>>2]=~~(o+(o>=0.0?.5:-.5));c[m+72>>2]=e;eC(b,68445,m);l=n;return}function nd(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0;n=l;l=l+32|0;j=n;i=n+20|0;m=e+32|0;a:do switch(c[m>>2]|0){case 5:{f=0;while(1){g=c[12724+(f<<2)>>2]|0;if((f|0)==8)break a;h=c[e>>2]|0;if((a[g>>0]|0)==(a[h>>0]|0)?(a$(g,h)|0)==0:0){k=10;break a}f=f+1|0}}case 1:{g=e+1|0;h=e+2|0;f=(vd(i,d[e>>0]|0,d[g>>0]|0,d[h>>0]|0)|0)+32|0;if(!(c[i>>2]|0))k=10;else{o=d[e>>0]|0;i=d[g>>0]|0;k=d[h>>0]|0;c[j>>2]=0;c[j+4>>2]=f;c[j+8>>2]=o;c[j+12>>2]=i;c[j+16>>2]=k;eC(b,68388,j);k=10}break}case 0:{f=0;k=10;break}default:qa(135312,68409,168,68428)}while(0);if((k|0)==10)c[e>>2]=f;c[m>>2]=6;l=n;return}function od(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0.0,i=0.0,j=0,k=0,m=0.0,n=0.0,o=0.0,p=0,q=0,r=0,s=0,t=0,u=0;e=l;l=l+112|0;f=e+8|0;u=e+104|0;t=e;k=c[a+16>>2]|0;s=~~+h[k+152>>3];r=c[k+16>>2]|0;q=c[k+56>>2]|0;p=c[45946]|0;td(k,u,t);n=+h[b>>3];k=~~(n+(n>=0.0?.5:-.5));m=+h[b+8>>3];j=~~(m+(m>=0.0?.5:-.5));i=+h[b+16>>3];n=i-n;g=+h[b+24>>3];m=g-m;b=c[u>>2]|0;o=+h[t>>3];c[f>>2]=1;c[f+4>>2]=1;c[f+8>>2]=b;c[f+12>>2]=s;c[f+16>>2]=r;c[f+20>>2]=q;c[f+24>>2]=p;c[f+28>>2]=0;c[f+32>>2]=d|0?20:-1;h[f+40>>3]=o;c[f+48>>2]=0;h[f+56>>3]=0.0;c[f+64>>2]=k;c[f+68>>2]=j;c[f+72>>2]=~~(n+(n>=0.0?.5:-.5));c[f+76>>2]=~~(m+(m>=0.0?.5:-.5));c[f+80>>2]=k;c[f+84>>2]=j;c[f+88>>2]=~~(i+(i>=0.0?.5:-.5));c[f+92>>2]=~~(g+(g>=0.0?.5:-.5));eC(a,68323,f);l=e;return}function pd(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,i=0.0,j=0,k=0,m=0,n=0,o=0,p=0,q=0;f=l;l=l+96|0;g=f+8|0;o=f+80|0;p=f;q=c[a+16>>2]|0;n=~~+h[q+152>>3];m=c[q+16>>2]|0;k=c[q+56>>2]|0;j=c[45946]|0;td(q,o,p);o=c[o>>2]|0;i=+h[p>>3];c[g>>2]=2;c[g+4>>2]=3;c[g+8>>2]=o;c[g+12>>2]=n;c[g+16>>2]=m;c[g+20>>2]=k;c[g+24>>2]=j;c[g+28>>2]=0;c[g+32>>2]=e|0?20:-1;h[g+40>>3]=i;c[g+48>>2]=0;c[g+52>>2]=0;c[g+56>>2]=0;c[g+60>>2]=0;c[g+64>>2]=0;c[g+68>>2]=d+1;eC(a,68227,g);ud(a,b,d,1);l=f;return}function qd(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0.0,E=0.0,F=0;C=l;l=l+192|0;B=C+176|0;z=C+168|0;A=C+104|0;y=C+96|0;f=C+88|0;u=C+180|0;v=C+80|0;w=C+16|0;x=C;e=a+16|0;p=c[e>>2]|0;q=~~+h[p+152>>3];r=c[p+16>>2]|0;s=c[45946]|0;t=B_((d*140|0)+140|0)|0;td(p,u,v);if(!g){o=4;j=0;k=-1}else{o=5;j=c[(c[e>>2]|0)+56>>2]|0;k=20}E=+h[b>>3];n=w+48|0;h[n>>3]=E;D=+h[b+8>>3];h[w+56>>3]=D;c[f>>2]=~~(E+(E>=0.0?.5:-.5));c[f+4>>2]=~~(D+(D>=0.0?.5:-.5));m=x+8|0;e=t+(X0(t,80995,f)|0)|0;p=1;g=0;while(1){i=g+3|0;if((i|0)>=(d|0))break;c[w>>2]=c[n>>2];c[w+4>>2]=c[n+4>>2];c[w+8>>2]=c[n+8>>2];c[w+12>>2]=c[n+12>>2];f=1;while(1){if((f|0)==4){f=1;break}F=f+g|0;h[w+(f<<4)>>3]=+h[b+(F<<4)>>3];h[w+(f<<4)+8>>3]=+h[b+(F<<4)+8>>3];f=f+1|0}while(1){if((f|0)==7)break;WL(x,w,3,+(f|0)*.16666666666666666,0,0);D=+h[x>>3];E=+h[m>>3];c[y>>2]=~~(D+(D>=0.0?.5:-.5));c[y+4>>2]=~~(E+(E>=0.0?.5:-.5));f=f+1|0;e=e+(X0(e,80995,y)|0)|0}p=p+6|0;g=i}f=c[u>>2]|0;E=+h[v>>3];c[A>>2]=3;c[A+4>>2]=o;c[A+8>>2]=f;c[A+12>>2]=q;c[A+16>>2]=r;c[A+20>>2]=j;c[A+24>>2]=s;c[A+28>>2]=0;c[A+32>>2]=k;h[A+40>>3]=E;c[A+48>>2]=0;c[A+52>>2]=0;c[A+56>>2]=0;c[A+60>>2]=p;eC(a,68278,A);c[z>>2]=t;eC(a,81002,z);C_(t);f=p+-1|0;e=0;while(1){if((e|0)>=(p|0))break;c[B>>2]=((e|0)%(f|0)|0|0)!=0&1;eC(a,81007,B);e=e+1|0}_B(a,150517)|0;l=C;return}function rd(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0.0,i=0,j=0,k=0,m=0,n=0,o=0;e=l;l=l+96|0;f=e+8|0;m=e+80|0;n=e;o=c[a+16>>2]|0;k=~~+h[o+152>>3];j=c[o+16>>2]|0;i=c[45946]|0;td(o,m,n);m=c[m>>2]|0;g=+h[n>>3];c[f>>2]=2;c[f+4>>2]=1;c[f+8>>2]=m;c[f+12>>2]=k;c[f+16>>2]=j;c[f+20>>2]=0;c[f+24>>2]=i;c[f+28>>2]=0;c[f+32>>2]=0;h[f+40>>3]=g;c[f+48>>2]=0;c[f+52>>2]=0;c[f+56>>2]=0;c[f+60>>2]=0;c[f+64>>2]=0;c[f+68>>2]=d;eC(a,68227,f);ud(a,b,d,0);l=e;return}function sd(a,b){a=a|0;b=b|0;var d=0,e=0;d=l;l=l+16|0;e=d;c[e>>2]=b;eC(a,68221,e);l=d;return}function td(a,b,d){a=a|0;b=b|0;d=d|0;var e=0.0;switch(c[a+144>>2]|0){case 1:{e=10.0;a=1;break}case 2:{e=10.0;a=2;break}default:{e=0.0;a=0}}c[b>>2]=a;h[d>>3]=e;return}function ud(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,i=0,j=0,k=0.0,m=0.0;j=l;l=l+16|0;i=j+8|0;g=j;f=0;while(1){if((f|0)>=(d|0))break;m=+h[b+(f<<4)>>3];k=+h[b+(f<<4)+8>>3];c[g>>2]=~~(m+(m>=0.0?.5:-.5));c[g+4>>2]=~~(k+(k>=0.0?.5:-.5));eC(a,80995,g);f=f+1|0}if(e|0){k=+h[b>>3];m=+h[b+8>>3];c[i>>2]=~~(k+(k>=0.0?.5:-.5));c[i+4>>2]=~~(m+(m>=0.0?.5:-.5));eC(a,80995,i)}_B(a,150517)|0;l=j;return}function vd(a,d,e,f){a=a|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;c[a>>2]=0;k=c[45947]|0;h=195075;g=0;i=-1;while(1){if((g|0)>=(k|0)){l=6;break}m=(b[189136+(g<<1)>>1]|0)-d|0;n=(b[189648+(g<<1)>>1]|0)-e|0;j=(b[190160+(g<<1)>>1]|0)-f|0;j=(O(n,n)|0)+(O(m,m)|0)+(O(j,j)|0)|0;if((j|0)<(h|0))if(!j)break;else{h=j;i=g}g=g+1|0}if((l|0)==6){c[45947]=k+1;if((k|0)==256)g=i;else{b[189136+(g<<1)>>1]=d;b[189648+(g<<1)>>1]=e;b[190160+(g<<1)>>1]=f;c[a>>2]=1}}return g|0}function wd(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0;i=l;l=l+16|0;h=i;d=c[45948]|0;if(!d){c[45949]=64;d=B_(64)|0;c[45948]=d;e=0}else e=0;while(1){g=b+1|0;f=a[b>>0]|0;if(!(f<<24>>24))break;b=c[45949]|0;if((e|0)>(b+-8|0)){d=b<<1;c[45949]=d;d=E_(c[45948]|0,d)|0;c[45948]=d;d=d+e|0}if(f<<24>>24<=-1){a[d>>0]=92;c[h>>2]=f&255;X0(d+1|0,81120,h)|0;b=g;d=d+4|0;e=e+4|0;continue}if(f<<24>>24==92){a[d>>0]=92;e=e+1|0;d=d+1|0}a[d>>0]=f;b=g;d=d+1|0;e=e+1|0}a[d>>0]=0;l=i;return c[45948]|0}function xd(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;d=l;l=l+16|0;b=d;_B(a,73228)|0;if((c[a+64>>2]|0)==2)_B(a,73243)|0;else _B(a,150517)|0;g=c[c[a+12>>2]>>2]|0;f=c[g+4>>2]|0;e=c[g+8>>2]|0;c[b>>2]=c[g>>2];c[b+4>>2]=f;c[b+8>>2]=e;eC(a,73254,b);l=d;return}function yd(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;g=l;l=l+32|0;f=g+8|0;e=g;_B(a,73182)|0;d=a+64|0;b=a+12|0;if((c[d>>2]|0)!=2){c[e>>2]=c[(c[b>>2]|0)+28>>2];eC(a,73193,e)}if((c[(c[b>>2]|0)+20>>2]|0)==0?(c[d>>2]|0)!=2:0){b=c[a+476>>2]|0;d=c[a+480>>2]|0;e=c[a+484>>2]|0;c[f>>2]=c[a+472>>2];c[f+4>>2]=b;c[f+8>>2]=d;c[f+12>>2]=e;eC(a,69562,f)}_B(a,73208)|0;_B(a,73221)|0;l=g;return}function zd(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0;k=l;l=l+32|0;j=k+24|0;f=k+8|0;i=k;g=c[b+16>>2]|0;a[190688]=0;e=b+12|0;h=g+8|0;if(!(c[(c[e>>2]|0)+28>>2]|0)){c[i>>2]=qy(c[h>>2]|0)|0;eC(b,69493,i);d=b+64|0;if((c[d>>2]|0)==2)_B(b,69526)|0;else _B(b,69508)|0;do if(!(c[(c[e>>2]|0)+20>>2]|0))if((c[d>>2]|0)==2){n=c[b+460>>2]|0;m=c[b+464>>2]|0;d=c[b+468>>2]|0;c[f>>2]=c[b+456>>2];c[f+4>>2]=n;c[f+8>>2]=m;c[f+12>>2]=d;eC(b,69562,f);break}else{_B(b,69538)|0;break}while(0);_B(b,69592)|0;iJ(b,c[(c[e>>2]|0)+24>>2]|0,13e3);kJ(b);d=c[(c[e>>2]|0)+20>>2]|0;if(d|0){c[i>>2]=c[d>>2];c[i+4>>2]=0;iJ(b,0,i)}}c[45950]=(a[(c[(c[h>>2]|0)+16>>2]|0)+115>>0]|0)==1?1:-1;if(!(a[190688]|0)){_B(b,69612)|0;a[190688]=1}d=c[g+208>>2]|0;if(d|0){c[j>>2]=lJ(d,c[45950]|0)|0;eC(b,69625,j)}l=k;return}function Ad(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0;b=l;l=l+16|0;f=b;c[f>>2]=d;c[f+4>>2]=e;eC(a,69477,f);l=b;return}function Bd(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0.0,v=0.0,w=0.0;s=l;l=l+144|0;r=s+128|0;q=s+112|0;p=s+72|0;o=s+56|0;n=s+40|0;m=s+32|0;e=s+24|0;b=s+8|0;d=s;f=c[a+456>>2]|0;j=c[a+460>>2]|0;g=c[a+464>>2]|0;i=c[a+468>>2]|0;k=a+12|0;t=(c[(c[k>>2]|0)+28>>2]|0)+1|0;c[d>>2]=t;c[d+4>>2]=t;eC(a,69104,d);if(!(c[(c[k>>2]|0)+20>>2]|0)){c[b>>2]=f;c[b+4>>2]=j;c[b+8>>2]=g;c[b+12>>2]=i;eC(a,69121,b)}d=a+360|0;c[e>>2]=c[d>>2]|0?69155:69165;eC(a,69174,e);b=a+64|0;if((c[b>>2]|0)==1){c[m>>2]=g;c[m+4>>2]=i;eC(a,69199,m)}m=c[a+200>>2]|0;t=c[a+204>>2]|0;c[n>>2]=c[a+196>>2];c[n+4>>2]=m;c[n+8>>2]=t;eC(a,69238,n);if(!(c[(c[k>>2]|0)+20>>2]|0)){c[o>>2]=f;c[o+4>>2]=j;c[o+8>>2]=g-f;c[o+12>>2]=i-j;eC(a,69258,o)}w=+h[a+496>>3];t=c[d>>2]|0;v=+h[a+504>>3];u=+h[a+512>>3];h[p>>3]=+h[a+488>>3];h[p+8>>3]=w;c[p+16>>2]=t;h[p+24>>3]=v;h[p+32>>3]=u;eC(a,69298,p);if((c[b>>2]|0)==1){if((g|0)>14399|(i|0)>14399){t=c[(c[k>>2]|0)+16>>2]|0;c[q>>2]=g;c[q+4>>2]=i;c[q+8>>2]=14400;ub[t&63](69341,q)}c[r>>2]=f;c[r+4>>2]=j;c[r+8>>2]=g;c[r+12>>2]=i;eC(a,69436,r)}l=s;return}function Cd(a){a=a|0;var b=0,d=0,e=0;e=l;l=l+16|0;d=e;b=a+12|0;if(c[(c[b>>2]|0)+20>>2]|0){_B(a,69028)|0;iJ(a,0,(c[(c[b>>2]|0)+20>>2]|0)+4|0)}_B(a,69045)|0;_B(a,69072)|0;c[d>>2]=c[(c[b>>2]|0)+28>>2];eC(a,69087,d);l=e;return}function Dd(a){a=a|0;var b=0,d=0;b=l;l=l+16|0;d=b;c[d>>2]=qy(c[(c[a+16>>2]|0)+8>>2]|0)|0;eC(a,69021,d);_B(a,69014)|0;l=b;return}function Ed(a){a=a|0;_B(a,84457)|0;return}function Fd(a){a=a|0;_B(a,69014)|0;return}function Gd(a){a=a|0;_B(a,84457)|0;return}function Hd(a){a=a|0;_B(a,69014)|0;return}function Id(a){a=a|0;_B(a,84457)|0;return}function Jd(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0;e=l;l=l+16|0;d=e;if(b|0?(g=(c[a+16>>2]|0)+272|0,c[g>>2]|0):0){_B(a,68910)|0;iC(a,c[g>>2]|0,2);_B(a,68921)|0;c[d>>2]=lJ(b,c[45950]|0)|0;eC(a,68925,d)}l=e;return}function Kd(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0.0,i=0,j=0,k=0,m=0,n=0;m=l;l=l+32|0;j=m+8|0;k=m;f=c[b+16>>2]|0;if(!(+h[f+40>>3]<.5)){Rd(b,f+16|0);i=e+4|0;fC(b,+h[(c[i>>2]|0)+16>>3]);c[j>>2]=c[c[i>>2]>>2];eC(b,68869,j);i=lJ(c[e>>2]|0,c[45950]|0)|0;switch(a[e+48>>0]|0){case 114:{n=e+32|0;f=n;g=+h[n>>3];break}case 108:{f=e+32|0;g=0.0;break}default:{n=e+32|0;f=n;g=+h[n>>3]*.5}}h[d>>3]=+h[d>>3]-g;n=d+8|0;h[n>>3]=+h[n>>3]+ +h[e+24>>3];c[j>>2]=c[d>>2];c[j+4>>2]=c[d+4>>2];c[j+8>>2]=c[d+8>>2];c[j+12>>2]=c[d+12>>2];hC(b,j);_B(b,68884)|0;fC(b,+h[f>>3]);c[k>>2]=i;eC(b,68893,k)}l=m;return}function Ld(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0;g=l;l=l+32|0;f=g;c[f>>2]=c[b>>2];c[f+4>>2]=c[b+4>>2];c[f+8>>2]=c[b+8>>2];c[f+12>>2]=c[b+12>>2];h[f+16>>3]=+h[b+16>>3]-+h[b>>3];h[f+24>>3]=+h[b+24>>3]-+h[b+8>>3];b=a+16|0;if(d|0?(e=c[b>>2]|0,+h[e+80>>3]>.5):0){Rd(a,e+56|0);iC(a,f,2);_B(a,68827)|0}if(+h[(c[b>>2]|0)+40>>3]>.5){Sd(a);Rd(a,(c[b>>2]|0)+16|0);iC(a,f,2);_B(a,68847)|0}l=g;return}function Md(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,i=0,j=0;j=l;l=l+16|0;i=j;g=a+16|0;if(e|0?(f=c[g>>2]|0,+h[f+80>>3]>.5):0){Rd(a,f+56|0);_B(a,68748)|0;c[i>>2]=c[b>>2];c[i+4>>2]=c[b+4>>2];c[i+8>>2]=c[b+8>>2];c[i+12>>2]=c[b+12>>2];hC(a,i);_B(a,68757)|0;e=1;while(1){if((e|0)>=(d|0))break;f=b+(e<<4)|0;c[i>>2]=c[f>>2];c[i+4>>2]=c[f+4>>2];c[i+8>>2]=c[f+8>>2];c[i+12>>2]=c[f+12>>2];hC(a,i);_B(a,68766)|0;e=e+1|0}_B(a,68793)|0}if(+h[(c[g>>2]|0)+40>>3]>.5){Sd(a);Rd(a,(c[g>>2]|0)+16|0);_B(a,68748)|0;c[i>>2]=c[b>>2];c[i+4>>2]=c[b+4>>2];c[i+8>>2]=c[b+8>>2];c[i+12>>2]=c[b+12>>2];hC(a,i);_B(a,68757)|0;e=1;while(1){if((e|0)>=(d|0))break;g=b+(e<<4)|0;c[i>>2]=c[g>>2];c[i+4>>2]=c[g+4>>2];c[i+8>>2]=c[g+8>>2];c[i+12>>2]=c[g+12>>2];hC(a,i);_B(a,68766)|0;e=e+1|0}_B(a,68809)|0}l=j;return}function Nd(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var i=0,j=0,k=0;k=l;l=l+16|0;f=k;i=a+16|0;if(g|0?(j=c[i>>2]|0,+h[j+80>>3]>.5):0){Rd(a,j+56|0);_B(a,68748)|0;c[f>>2]=c[b>>2];c[f+4>>2]=c[b+4>>2];c[f+8>>2]=c[b+8>>2];c[f+12>>2]=c[b+12>>2];hC(a,f);_B(a,68757)|0;e=1;while(1){if((e|0)>=(d|0))break;iC(a,b+(e<<4)|0,3);_B(a,68783)|0;e=e+3|0}_B(a,68793)|0}if(+h[(c[i>>2]|0)+40>>3]>.5){Sd(a);Rd(a,(c[i>>2]|0)+16|0);_B(a,68748)|0;c[f>>2]=c[b>>2];c[f+4>>2]=c[b+4>>2];c[f+8>>2]=c[b+8>>2];c[f+12>>2]=c[b+12>>2];hC(a,f);_B(a,68757)|0;e=1;while(1){if((e|0)>=(d|0))break;iC(a,b+(e<<4)|0,3);_B(a,68783)|0;e=e+3|0}_B(a,68775)|0}l=k;return}function Od(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,i=0;g=l;l=l+16|0;f=g;e=a+16|0;if(+h[(c[e>>2]|0)+40>>3]>.5){Sd(a);Rd(a,(c[e>>2]|0)+16|0);_B(a,68748)|0;c[f>>2]=c[b>>2];c[f+4>>2]=c[b+4>>2];c[f+8>>2]=c[b+8>>2];c[f+12>>2]=c[b+12>>2];hC(a,f);_B(a,68757)|0;e=1;while(1){if((e|0)>=(d|0))break;i=b+(e<<4)|0;c[f>>2]=c[i>>2];c[f+4>>2]=c[i+4>>2];c[f+8>>2]=c[i+8>>2];c[f+12>>2]=c[i+12>>2];hC(a,f);_B(a,68766)|0;e=e+1|0}_B(a,68775)|0}l=g;return}function Pd(a,b){a=a|0;b=b|0;_B(a,68745)|0;_B(a,b)|0;_B(a,150517)|0;return}function Qd(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,i=0,j=0,k=0,m=0,n=0;n=l;l=l+32|0;g=n+16|0;m=n+8|0;k=n;i=a+16|0;if(f|0?(j=c[i>>2]|0,+h[j+80>>3]>.5):0){Rd(a,j+56|0);_B(a,84352)|0;iC(a,d,e);_B(a,99578)|0;c[g>>2]=c[d>>2];c[g+4>>2]=c[d+4>>2];c[g+8>>2]=c[d+8>>2];c[g+12>>2]=c[d+12>>2];hC(a,g);c[k>>2]=e;c[k+4>>2]=b;eC(a,68662,k)}if(+h[(c[i>>2]|0)+40>>3]>.5){Sd(a);Rd(a,(c[i>>2]|0)+16|0);_B(a,84352)|0;iC(a,d,e);_B(a,99578)|0;c[g>>2]=c[d>>2];c[g+4>>2]=c[d+4>>2];c[g+8>>2]=c[d+8>>2];c[g+12>>2]=c[d+12>>2];hC(a,g);c[m>>2]=e;c[m+4>>2]=b;eC(a,68678,m)}l=n;return}function Rd(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0.0,i=0.0;f=l;l=l+32|0;e=f;if(b|0){switch(c[(c[a+16>>2]|0)+4>>2]|0){case 1:case 0:{d=108412;break}case 2:{d=108399;break}case 3:{d=108368;break}default:d=68714}i=+h[b+8>>3];g=+h[b+16>>3];h[e>>3]=+h[b>>3];h[e+8>>3]=i;h[e+16>>3]=g;c[e+24>>2]=d;eC(a,68721,e)}l=f;return}function Sd(b){b=b|0;var d=0,e=0,f=0,g=0,i=0,j=0,k=0,m=0;m=l;l=l+16|0;k=m+8|0;j=m;g=b+16|0;i=c[g>>2]|0;d=c[i+160>>2]|0;fC(b,+h[i+152>>3]);_B(b,68695)|0;while(1){if(!d)break;i=d+4|0;f=c[d>>2]|0;if(!f)break;if(!(a$(f,108062)|0)){d=i;continue}else e=f;while(1){d=e+1|0;if(!(a[e>>0]|0))break;else e=d}a:while(1){if(!(a[d>>0]|0))break;c[j>>2]=d;eC(b,68710,j);while(1){e=d+1|0;if(!(a[d>>0]|0)){d=e;continue a}else d=e}}if(!(a$(f,131253)|0))h[(c[g>>2]|0)+152>>3]=0.0;c[k>>2]=f;eC(b,93588,k);d=i}l=m;return}function Td(b){b=b|0;var d=0;_B(b,74734)|0;d=wx(c[(c[b>>2]|0)+168>>2]|0,74790)|0;if(d|0?a[d>>0]|0:0){_B(b,74801)|0;_B(b,d)|0;_B(b,74825)|0}_B(b,74846)|0;_B(b,74894)|0;_B(b,74948)|0;d=b+12|0;_B(b,pH(c[c[c[d>>2]>>2]>>2]|0)|0)|0;_B(b,78077)|0;_B(b,pH(c[(c[c[d>>2]>>2]|0)+4>>2]|0)|0)|0;_B(b,78087)|0;_B(b,pH(c[(c[c[d>>2]>>2]|0)+8>>2]|0)|0)|0;_B(b,75330)|0;_B(b,75354)|0;return}function Ud(b){b=b|0;var d=0,e=0,f=0,g=0,i=0,j=0.0,k=0.0,m=0.0;i=l;l=l+48|0;g=i+16|0;f=i+8|0;e=i;d=c[b+16>>2]|0;_B(b,74569)|0;d=d+8|0;if(a[(qy(c[d>>2]|0)|0)>>0]|0){_B(b,75293)|0;_B(b,pH(qy(c[d>>2]|0)|0)|0)|0}c[e>>2]=O(c[b+168>>2]|0,c[b+164>>2]|0)|0;eC(b,74574,e);e=c[b+452>>2]|0;c[f>>2]=c[b+448>>2];c[f+4>>2]=e;eC(b,74590,f);m=+h[b+392>>3];k=+h[b+400>>3];j=+h[b+408>>3];h[g>>3]=+h[b+384>>3];h[g+8>>3]=m;h[g+16>>3]=k;h[g+24>>3]=j;eC(b,74623,g);_B(b,74654)|0;_B(b,74690)|0;_B(b,76284)|0;l=i;return}function Vd(a){a=a|0;_B(a,74561)|0;return}function Wd(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;re(a,b,0,98484,c[(c[a+16>>2]|0)+8>>2]|0);_B(a,76284)|0;return}function Xd(a){a=a|0;_B(a,74409)|0;return}function Yd(b){b=b|0;var d=0,e=0,f=0,g=0;e=l;l=l+16|0;f=e;g=c[b+16>>2]|0;d=g+8|0;re(b,c[g+212>>2]|0,0,108412,c[d>>2]|0);_B(b,74513)|0;fC(b,+h[b+488>>3]);_B(b,99578)|0;fC(b,+h[b+496>>3]);c[f>>2]=0-(c[b+360>>2]|0);eC(b,74532,f);fC(b,+h[b+504>>3]);_B(b,99578)|0;fC(b,-+h[b+512>>3]);_B(b,74556)|0;if(a[(qy(c[d>>2]|0)|0)>>0]|0){_B(b,74465)|0;_B(b,pH(qy(c[d>>2]|0)|0)|0)|0;_B(b,74473)|0}l=e;return}function Zd(a){a=a|0;_B(a,74409)|0;return}function _d(a){a=a|0;var b=0,d=0;d=c[a+16>>2]|0;b=d+8|0;re(a,c[d+212>>2]|0,0,104980,c[b>>2]|0);_B(a,76284)|0;_B(a,74465)|0;_B(a,pH(qy(c[b>>2]|0)|0)|0)|0;_B(a,74473)|0;return}function $d(a){a=a|0;_B(a,74409)|0;return}function ae(a){a=a|0;var b=0,d=0,e=0;d=c[a+16>>2]|0;b=c[a+160>>2]|0;if((b|0)>1)b=c[(c[(c[a>>2]|0)+308>>2]|0)+(b<<2)>>2]|0;else b=0;e=d+8|0;re(a,c[d+212>>2]|0,b,108399,c[e>>2]|0);_B(a,76284)|0;_B(a,74465)|0;_B(a,pH(qy(c[e>>2]|0)|0)|0)|0;_B(a,74473)|0;return}function be(a){a=a|0;_B(a,74409)|0;return}function ce(a){a=a|0;var b=0,d=0;d=c[a+16>>2]|0;b=d+8|0;re(a,c[d+212>>2]|0,0,108368,c[b>>2]|0);_B(a,76284)|0;_B(a,74465)|0;b=oH(99069,c[b>>2]|0)|0;_B(a,pH(b)|0)|0;C_(b);_B(a,74473)|0;return}function de(a){a=a|0;_B(a,74409)|0;return}function ee(b,c,d,e,f){b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;_B(b,74415)|0;if(f|0){_B(b,74418)|0;_B(b,pH(f)|0)|0;_B(b,95669)|0}_B(b,74308)|0;_B(b,76245)|0;if(c|0?a[c>>0]|0:0){_B(b,74426)|0;_B(b,c)|0;_B(b,95669)|0}if(d|0?a[d>>0]|0:0){_B(b,74440)|0;_B(b,qH(d,1)|0)|0;_B(b,95669)|0}if(e|0?a[e>>0]|0:0){_B(b,74455)|0;_B(b,pH(e)|0)|0;_B(b,95669)|0}_B(b,76284)|0;return}function fe(a){a=a|0;_B(a,76239)|0;_B(a,74409)|0;return}function ge(e,f,g){e=e|0;f=f|0;g=g|0;var i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0.0,H=0,I=0,J=0,K=0,L=0,M=0;M=l;l=l+176|0;L=M+160|0;K=M+152|0;F=M+136|0;J=M+128|0;E=M+120|0;D=M+112|0;C=M+104|0;B=M+96|0;A=M+88|0;y=M+80|0;w=M+72|0;v=M+64|0;u=M+56|0;t=M+48|0;i=M+40|0;q=M+32|0;s=M+24|0;r=M+16|0;p=M+8|0;o=M;I=c[e+16>>2]|0;_B(e,73940)|0;switch(a[g+48>>0]|0){case 108:{_B(e,73946)|0;break}case 114:{_B(e,73967)|0;break}default:_B(e,73986)|0}H=f+8|0;G=+h[H>>3]+ +h[g+24>>3];h[H>>3]=G;H=I+260|0;if(!(b[H>>1]&512)){_B(e,74008)|0;fC(e,+h[f>>3]);_B(e,74013)|0;fC(e,-G);_B(e,95669)|0}x=g+4|0;f=c[x>>2]|0;n=c[f+8>>2]|0;if(n){switch(c[(c[(c[(c[e>>2]|0)+168>>2]|0)+16>>2]|0)+244>>2]|0){case 1:{m=n;f=n+16|0;i=n+8|0;break}case 2:{m=n+24|0;f=n+32|0;i=n+28|0;break}default:{m=n+4|0;f=n+16|0;i=n+8|0}}j=c[f>>2]|0;f=c[i>>2]|0;k=c[n+12>>2]|0;c[o>>2]=c[m>>2];eC(e,74019,o);i=c[n+24>>2]|0;if(i|0){c[p>>2]=i;eC(e,74036,p)}_B(e,95669)|0;if(f|0){c[r>>2]=f;eC(e,74040,r)}if(k|0){c[s>>2]=k;eC(e,74058,s)}if(!j)j=0;else{c[q>>2]=j;eC(e,74077,q)}}else{c[i>>2]=c[f>>2];eC(e,74094,i);j=0;f=0}i=c[x>>2]|0;if(i|0?(z=c[i+24>>2]|0,z&127|0):0){if(!((f|0)!=0|(z&1|0)==0))eC(e,74112,t);if(!((j|0)!=0|(z&2|0)==0))eC(e,74132,u);if(z&100|0){eC(e,74153,v);if(!(z&4))f=0;else{eC(e,102960,w);f=1}if(z&64){c[y>>2]=f|0?97973:191979;eC(e,74172,y);f=1}if(z&32|0){c[A>>2]=f|0?97973:191979;eC(e,74183,A)}eC(e,95669,B)}if(z&8|0)eC(e,74198,C);if(z&16|0)eC(e,74222,D)}h[E>>3]=+h[(c[x>>2]|0)+16>>3];eC(e,74244,E);f=I+16|0;switch(c[I+48>>2]|0){case 5:{f=c[f>>2]|0;if(N$(f,134232)|0){c[J>>2]=f;eC(e,74262,J)}break}case 1:{E=d[f+1>>0]|0;J=d[f+2>>0]|0;c[F>>2]=d[f>>0];c[F+4>>2]=E;c[F+8>>2]=J;eC(e,74273,F);break}default:qa(135312,73454,486,74295)}_B(e,74308)|0;if(b[H>>1]&512){c[K>>2]=pH(c[I+212>>2]|0)|0;eC(e,74310,K);_B(e,74359)|0;fC(e,-G);_B(e,74377)|0}_B(e,qH(c[g>>2]|0,1)|0)|0;if(b[H>>1]&512)eC(e,74380,L);_B(e,74400)|0;l=M;return}function he(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;switch(c|0){case 2:{d=oe(a,b,2)|0;break}case 3:{d=pe(a)|0;break}default:d=0}_B(a,73904)|0;me(a,c,d);_B(a,73913)|0;fC(a,+h[b>>3]);_B(a,73919)|0;c=b+8|0;fC(a,-+h[c>>3]);_B(a,73926)|0;fC(a,+h[b+16>>3]-+h[b>>3]);_B(a,73933)|0;fC(a,+h[b+24>>3]-+h[c>>3]);_B(a,73320)|0;return}function ie(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0;switch(d|0){case 2:{e=oe(a,b,c)|0;break}case 3:{e=pe(a)|0;break}default:e=0}_B(a,73895)|0;me(a,d,e);_B(a,73310)|0;e=0;while(1){if((e|0)>=(c|0))break;fC(a,+h[b+(e<<4)>>3]);_B(a,97973)|0;fC(a,-+h[b+(e<<4)+8>>3]);_B(a,99578)|0;e=e+1|0}fC(a,+h[b>>3]);_B(a,97973)|0;fC(a,-+h[b+8>>3]);_B(a,73320)|0;return}function je(a,d,e,f,g,h){a=a|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;g=c[a+16>>2]|0;switch(h|0){case 2:{f=oe(a,d,e)|0;break}case 3:{f=pe(a)|0;break}default:f=0}_B(a,73490)|0;if(b[g+260>>1]&512){_B(a,73496)|0;_B(a,pH(c[g+212>>2]|0)|0)|0;_B(a,73502)|0}me(a,h,f);_B(a,73507)|0;qe(a,d,e);_B(a,73320)|0;return}function ke(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;_B(a,73300)|0;me(a,0,0);_B(a,73310)|0;d=0;while(1){if((d|0)>=(c|0))break;fC(a,+h[b+(d<<4)>>3]);_B(a,97973)|0;fC(a,-+h[b+(d<<4)+8>>3]);_B(a,99578)|0;d=d+1|0}_B(a,73320)|0;return}function le(a,b){a=a|0;b=b|0;_B(a,73294)|0;_B(a,pH(b)|0)|0;_B(a,75354)|0;return}function me(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0;q=l;l=l+96|0;k=q+48|0;p=q+40|0;n=q+32|0;o=q+24|0;j=q+16|0;g=q+8|0;f=q;m=c[b+16>>2]|0;_B(b,73325)|0;a:do switch(d|0){case 2:{c[f>>2]=e;eC(b,73333,f);break}case 3:{c[g>>2]=e;eC(b,73344,g);break}case 0:{_B(b,132627)|0;break}default:{d=m+56|0;f=k;g=d;i=f+40|0;do{c[f>>2]=c[g>>2];f=f+4|0;g=g+4|0}while((f|0)<(i|0));ne(b,k);if((c[m+88>>2]|0)==1){d=a[d+3>>0]|0;switch(d<<24>>24){case -1:case 0:break a;default:{}}h[j>>3]=+(d&255)*.00392156862745098;eC(b,73355,j)}}}while(0);_B(b,73374)|0;e=m+16|0;f=k;g=e;i=f+40|0;do{c[f>>2]=c[g>>2];f=f+4|0;g=g+4|0}while((f|0)<(i|0));ne(b,k);d=m+152|0;if(+h[d>>3]!=1.0){_B(b,73385)|0;fC(b,+h[d>>3])}switch(c[m+144>>2]|0){case 1:{c[o>>2]=73425;eC(b,73402,o);break}case 2:{c[n>>2]=73429;eC(b,73402,n);break}default:{}}b:do if((c[m+48>>2]|0)==1){d=a[e+3>>0]|0;switch(d<<24>>24){case -1:case 0:break b;default:{}}h[p>>3]=+(d&255)*.00392156862745098;eC(b,73433,p)}while(0);_B(b,95669)|0;l=q;return}function ne(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,i=0;g=l;l=l+16|0;f=g;a:do switch(c[e+32>>2]|0){case 5:{_B(b,c[e>>2]|0)|0;break}case 1:if(!(a[e+3>>0]|0)){_B(b,134297)|0;break a}else{i=d[e+1>>0]|0;h=d[e+2>>0]|0;c[f>>2]=d[e>>0];c[f+4>>2]=i;c[f+8>>2]=h;eC(b,75610,f);break a}default:qa(135312,73454,117,73474)}while(0);l=g;return}function oe(b,d,e){b=b|0;d=d|0;e=e|0;var f=0.0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;t=l;l=l+112|0;o=t+64|0;r=t+56|0;n=t+48|0;m=t+40|0;i=t+32|0;k=t;q=c[45952]|0;c[45952]=q+1;p=c[b+16>>2]|0;f=+(c[p+136>>2]|0)*.017453292519943295;c[k>>2]=0;c[k+4>>2]=0;c[k+8>>2]=0;c[k+12>>2]=0;c[k+16>>2]=0;c[k+20>>2]=0;c[k+24>>2]=0;c[k+28>>2]=0;$M(d,k,e,f,0);c[o>>2]=q;eC(b,73727,o);_B(b,73792)|0;fC(b,+h[k>>3]);_B(b,73797)|0;fC(b,+h[k+8>>3]);_B(b,73804)|0;fC(b,+h[k+16>>3]);_B(b,73811)|0;fC(b,+h[k+24>>3]);_B(b,73818)|0;k=p+140|0;f=+g[k>>2];if(f>0.0){h[i>>3]=f+-.001;eC(b,73823,i)}else _B(b,73599)|0;d=p+56|0;e=o;i=d;j=e+40|0;do{c[e>>2]=c[i>>2];e=e+4|0;i=i+4|0}while((e|0)<(j|0));ne(b,o);_B(b,73635)|0;a:do if((c[p+88>>2]|0)==1){d=a[d+3>>0]|0;switch(d<<24>>24){case -1:case 0:{s=7;break a}default:{}}h[m>>3]=+(d&255)*.00392156862745098;eC(b,96586,m)}else s=7;while(0);if((s|0)==7)_B(b,73650)|0;_B(b,73653)|0;f=+g[k>>2];if(f>0.0){h[n>>3]=f;eC(b,73823,n)}else _B(b,73659)|0;d=p+96|0;e=o;i=d;j=e+40|0;do{c[e>>2]=c[i>>2];e=e+4|0;i=i+4|0}while((e|0)<(j|0));ne(b,o);_B(b,73635)|0;b:do if((c[p+128>>2]|0)==1){d=a[d+3>>0]|0;switch(d<<24>>24){case -1:case 0:{s=14;break b}default:{}}h[r>>3]=+(d&255)*.00392156862745098;eC(b,96586,r)}else s=14;while(0);if((s|0)==14)_B(b,73650)|0;_B(b,73863)|0;l=t;return q|0}function pe(b){b=b|0;var d=0,e=0.0,f=0,g=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0.0;q=l;l=l+64|0;k=q+16|0;o=q+8|0;j=q;n=c[45951]|0;c[45951]=n+1;m=c[b+16>>2]|0;r=+(c[m+136>>2]|0)*.017453292519943295;e=r;if(r==0.0){f=50;d=50}else{f=~~((+E(+e)+1.0)*50.0);d=~~((1.0-+F(+e))*50.0)}c[k>>2]=n;c[k+4>>2]=f;c[k+8>>2]=d;eC(b,73515,k);_B(b,73599)|0;d=m+56|0;f=k;g=d;i=f+40|0;do{c[f>>2]=c[g>>2];f=f+4|0;g=g+4|0}while((f|0)<(i|0));ne(b,k);_B(b,73635)|0;a:do if((c[m+88>>2]|0)==1){d=a[d+3>>0]|0;switch(d<<24>>24){case -1:case 0:{p=6;break a}default:{}}h[j>>3]=+(d&255)*.00392156862745098;eC(b,96586,j)}else p=6;while(0);if((p|0)==6)_B(b,73650)|0;_B(b,73653)|0;_B(b,73659)|0;d=m+96|0;f=k;g=d;i=f+40|0;do{c[f>>2]=c[g>>2];f=f+4|0;g=g+4|0}while((f|0)<(i|0));ne(b,k);_B(b,73635)|0;b:do if((c[m+128>>2]|0)==1){d=a[d+3>>0]|0;switch(d<<24>>24){case -1:case 0:{p=10;break b}default:{}}h[o>>3]=+(d&255)*.00392156862745098;eC(b,96586,o)}else p=10;while(0);if((p|0)==10)_B(b,73650)|0;_B(b,73695)|0;l=q;return n|0}function qe(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,i=0;i=l;l=l+16|0;g=i;e=77;f=0;while(1){if((f|0)>=(d|0))break;c[g>>2]=e;eC(a,73512,g);fC(a,+h[b+(f<<4)>>3]);_B(a,97973)|0;fC(a,-+h[b+(f<<4)+8>>3]);e=(f|0)==0?67:32;f=f+1|0}l=i;return}function re(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0;j=l;l=l+16|0;i=j+8|0;h=j;_B(b,74483)|0;_B(b,pH(d)|0)|0;if(e|0){c[h>>2]=pH(e)|0;eC(b,74491,h)}c[i>>2]=f;eC(b,74495,i);d=wx(g,74507)|0;if(d|0?a[d>>0]|0:0){_B(b,99578)|0;_B(b,pH(d)|0)|0}_B(b,95669)|0;l=j;return}function se(a){a=a|0;var b=0;_B(a,75314)|0;b=a+12|0;_B(a,Ce(c[c[c[b>>2]>>2]>>2]|0)|0)|0;_B(a,78077)|0;_B(a,Ce(c[(c[c[b>>2]>>2]|0)+4>>2]|0)|0)|0;_B(a,78087)|0;_B(a,Ce(c[(c[c[b>>2]>>2]|0)+8>>2]|0)|0)|0;_B(a,75330)|0;return}function te(b){b=b|0;var d=0,e=0,f=0;f=l;l=l+16|0;e=f;d=c[b+16>>2]|0;_B(b,75291)|0;d=d+8|0;if(a[(qy(c[d>>2]|0)|0)>>0]|0){_B(b,75293)|0;_B(b,Ce(qy(c[d>>2]|0)|0)|0)|0}c[e>>2]=O(c[b+168>>2]|0,c[b+164>>2]|0)|0;eC(b,75302,e);c[45953]=0;l=f;return}function ue(a){a=a|0;c[45953]=1;return}function ve(a){a=a|0;c[45953]=-1;return}function we(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,i=0,j=0,k=0,m=0,n=0;n=l;l=l+48|0;i=n+8|0;m=n;f=c[b+16>>2]|0;if(c[f+144>>2]|0?(k=e+4|0,j=~~(+h[b+352>>3]*+h[(c[k>>2]|0)+16>>3]),j|0):0){De(b);_B(b,75230)|0;g=d+8|0;h[g>>3]=+h[g>>3]-+(j|0)*.55;c[i>>2]=c[d>>2];c[i+4>>2]=c[d+4>>2];c[i+8>>2]=c[d+8>>2];c[i+12>>2]=c[d+12>>2];hC(b,i);_B(b,75244)|0;_B(b,c[e>>2]|0)|0;_B(b,75253)|0;_B(b,75051)|0;g=i;d=f+16|0;f=g+40|0;do{c[g>>2]=c[d>>2];g=g+4|0;d=d+4|0}while((g|0)<(f|0));Ee(b,i);_B(b,75255)|0;i=c[k>>2]|0;k=c[i+8>>2]|0;k=c[((k|0)==0?i:k+4|0)>>2]|0;_B(b,95669)|0;_B(b,k)|0;_B(b,95669)|0;c[m>>2]=j;eC(b,75264,m);switch(a[e+48>>0]|0){case 108:{_B(b,75269)|0;break}case 114:{_B(b,75280)|0;break}default:{}}Fe(b);_B(b,150517)|0}l=n;return}function xe(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,i=0,j=0,k=0.0,m=0.0,n=0.0;j=l;l=l+48|0;f=j;g=c[a+16>>2]|0;i=g+144|0;if(c[i>>2]|0){n=+h[b>>3];m=+h[b+24>>3];e=b+8|0;k=+h[e>>3];h[b>>3]=n-+h[b+16>>3]+n;h[e>>3]=k-m+k;De(a);_B(a,75216)|0;iC(a,b,2);_B(a,75051)|0;do if(!d)if(!(c[45953]|0)){_B(a,94227)|0;break}else{_B(a,134116)|0;break}else{b=f;d=g+56|0;e=b+40|0;do{c[b>>2]=c[d>>2];b=b+4|0;d=d+4|0}while((b|0)<(e|0));Ee(a,f)}while(0);if((c[45953]|0)==1)c[45953]=0;_B(a,75162)|0;fC(a,+h[g+152>>3]);_B(a,75205)|0;b=f;d=g+16|0;e=b+40|0;do{c[b>>2]=c[d>>2];b=b+4|0;d=d+4|0}while((b|0)<(e|0));Ee(a,f);b=c[i>>2]|0;if((b|0)==1){_B(a,75059)|0;b=c[i>>2]|0}if((b|0)==2)_B(a,75068)|0;Fe(a);_B(a,150517)|0}l=j;return}function ye(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,i=0,j=0;j=l;l=l+48|0;f=j;g=c[a+16>>2]|0;i=g+144|0;if(c[i>>2]|0){De(a);_B(a,75188)|0;iC(a,b,d);_B(a,75051)|0;do if(!e)if(!(c[45953]|0)){_B(a,94227)|0;break}else{_B(a,134116)|0;break}else{b=f;d=g+56|0;e=b+40|0;do{c[b>>2]=c[d>>2];b=b+4|0;d=d+4|0}while((b|0)<(e|0));Ee(a,f)}while(0);if((c[45953]|0)==1)c[45953]=0;_B(a,75162)|0;fC(a,+h[g+152>>3]);_B(a,75205)|0;b=f;d=g+16|0;e=b+40|0;do{c[b>>2]=c[d>>2];b=b+4|0;d=d+4|0}while((b|0)<(e|0));Ee(a,f);b=c[i>>2]|0;if((b|0)==1){_B(a,75059)|0;b=c[i>>2]|0}if((b|0)==2)_B(a,75068)|0;Fe(a);_B(a,150517)|0}l=j;return}function ze(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var i=0,j=0,k=0,m=0;m=l;l=l+48|0;i=m;j=c[a+16>>2]|0;k=j+144|0;if(c[k>>2]|0){De(a);_B(a,75037)|0;iC(a,b,d);_B(a,75051)|0;e=i;f=j+16|0;g=e+40|0;do{c[e>>2]=c[f>>2];e=e+4|0;f=f+4|0}while((e|0)<(g|0));Ee(a,i);_B(a,75162)|0;fC(a,+h[j+152>>3]);e=c[k>>2]|0;if((e|0)==1){_B(a,75059)|0;e=c[k>>2]|0}if((e|0)==2)_B(a,75068)|0;_B(a,75171)|0;Fe(a);_B(a,150517)|0}l=m;return}function Ae(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0;i=l;l=l+48|0;g=i;e=c[a+16>>2]|0;h=e+144|0;if(c[h>>2]|0){De(a);_B(a,75037)|0;iC(a,b,d);_B(a,75051)|0;f=g;b=e+16|0;d=f+40|0;do{c[f>>2]=c[b>>2];f=f+4|0;b=b+4|0}while((f|0)<(d|0));Ee(a,g);b=c[h>>2]|0;if((b|0)==1){_B(a,75059)|0;b=c[h>>2]|0}if((b|0)==2)_B(a,75068)|0;Fe(a);_B(a,150517)|0}l=i;return}function Be(a,b){a=a|0;b=b|0;_B(a,75034)|0;_B(a,Ce(b)|0)|0;_B(a,150517)|0;return}function Ce(a){a=a|0;return a|0}function De(b){b=b|0;if(!(a[b+144>>0]|0))_B(b,75159)|0;else _B(b,c[b+148>>2]|0)|0;return}function Ee(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,i=0;g=l;l=l+16|0;f=g;a:do switch(c[e+32>>2]|0){case 5:{_B(b,c[e>>2]|0)|0;break}case 1:if(!(a[e+3>>0]|0)){_B(b,94227)|0;break a}else{i=d[e+1>>0]|0;h=d[e+2>>0]|0;c[f>>2]=d[e>>0];c[f+4>>2]=i;c[f+8>>2]=h;eC(b,75610,f);break a}default:qa(135312,75077,49,75141)}while(0);l=g;return}function Fe(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0;h=l;l=l+16|0;g=h;f=c[a+16>>2]|0;switch(c[f+12>>2]|0){case 8:{b=1;d=108399;e=f+8|0;break}case 10:{b=0;d=108399;e=f+8|0;break}case 3:case 2:case 9:{b=1;d=108368;e=f+8|0;break}case 7:case 6:case 11:{b=0;d=108368;e=f+8|0;break}case 0:{b=1;d=108412;e=f+8|0;break}case 4:{b=0;d=75113;e=f+8|0;break}case 1:{b=1;d=108412;e=f+8|0;break}case 5:{b=0;d=108412;e=f+8|0;break}default:qa(135312,75077,106,75096)}f=c[(c[e>>2]|0)+8>>2]|0;c[g>>2]=b;c[g+4>>2]=d;c[g+8>>2]=f;eC(a,75125,g);l=h;return}function Ge(a){a=a|0;var b=0;_B(a,78049)|0;_B(a,78057)|0;b=a+12|0;_B(a,Re(c[c[c[b>>2]>>2]>>2]|0)|0)|0;_B(a,78077)|0;_B(a,Re(c[(c[c[b>>2]>>2]|0)+4>>2]|0)|0)|0;_B(a,78087)|0;_B(a,Re(c[(c[c[b>>2]>>2]|0)+8>>2]|0)|0)|0;_B(a,78090)|0;return}function He(b){b=b|0;var d=0,e=0,f=0,g=0,i=0,j=0;j=l;l=l+32|0;i=j+24|0;g=j+16|0;f=j+8|0;e=j;d=c[b+16>>2]|0;c[45957]=~~(+h[b+232>>3]-+h[b+216>>3]);c[45956]=~~(+h[b+224>>3]-+h[b+208>>3]);_B(b,76736)|0;_B(b,76743)|0;d=qy(c[d+8>>2]|0)|0;if(a[d>>0]|0){_B(b,76812)|0;_B(b,Re(d)|0)|0;_B(b,76820)|0}c[e>>2]=O(c[b+168>>2]|0,c[b+164>>2]|0)|0;eC(b,76829,e);_B(b,76849)|0;_B(b,76884)|0;_B(b,76912)|0;_B(b,76918)|0;_B(b,76961)|0;_B(b,77002)|0;_B(b,77021)|0;_B(b,77038)|0;_B(b,77086)|0;_B(b,77139)|0;_B(b,77215)|0;_B(b,77291)|0;_B(b,77300)|0;_B(b,77323)|0;_B(b,77350)|0;_B(b,77403)|0;_B(b,77425)|0;_B(b,77470)|0;_B(b,77482)|0;_B(b,77492)|0;_B(b,77518)|0;_B(b,77403)|0;_B(b,77570)|0;_B(b,77470)|0;_B(b,77482)|0;_B(b,77614)|0;_B(b,77323)|0;_B(b,77350)|0;_B(b,77403)|0;_B(b,77570)|0;_B(b,77470)|0;_B(b,77482)|0;_B(b,77492)|0;_B(b,77518)|0;_B(b,77403)|0;_B(b,77425)|0;_B(b,77470)|0;_B(b,77482)|0;_B(b,77627)|0;_B(b,77635)|0;_B(b,77641)|0;_B(b,77655)|0;_B(b,77663)|0;_B(b,77696)|0;e=(c[45957]|0)+10|0;c[f>>2]=c[45956];c[f+4>>2]=e;eC(b,77773,f);_B(b,77803)|0;_B(b,77812)|0;_B(b,77870)|0;_B(b,77880)|0;_B(b,77945)|0;f=c[45957]|0;c[g>>2]=c[45956];c[g+4>>2]=f;eC(b,77982,g);g=c[45957]|0;c[i>>2]=c[45956];c[i+4>>2]=g;eC(b,78010,i);l=j;return}function Ie(a){a=a|0;_B(a,76287)|0;_B(a,76299)|0;_B(a,76307)|0;_B(a,76370)|0;_B(a,76299)|0;_B(a,76415)|0;_B(a,76464)|0;_B(a,76518)|0;_B(a,76299)|0;_B(a,76618)|0;_B(a,76667)|0;_B(a,76299)|0;_B(a,76719)|0;return}function Je(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0;j=l;l=l+32|0;i=j+16|0;h=j+8|0;g=j;_B(b,76245)|0;if(d|0?a[d>>0]|0:0){c[g>>2]=Re(d)|0;eC(b,76248,g)}if(e|0?a[e>>0]|0:0){c[h>>2]=Re(e)|0;eC(b,76259,h)}if(f|0?a[f>>0]|0:0){c[i>>2]=Re(f)|0;eC(b,76271,i)}_B(b,76284)|0;l=j;return}function Ke(a){a=a|0;_B(a,76239)|0;return}function Le(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,i=0.0,j=0.0,k=0.0,m=0.0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0.0;A=l;l=l+112|0;y=A+96|0;z=A+88|0;w=A+80|0;q=A+72|0;v=A+64|0;t=A+56|0;s=A+48|0;r=A+40|0;p=A+24|0;o=A+8|0;n=A;x=c[b+16>>2]|0;switch(a[f+48>>0]|0){case 108:{j=+h[e>>3];m=+h[f+32>>3];break}case 114:{m=+h[f+32>>3];j=+h[e>>3]-m;break}default:{m=+h[f+32>>3];j=+h[e>>3]-m*.5}}g=f+40|0;i=+h[g>>3];u=f+4|0;k=+h[(c[u>>2]|0)+16>>3];if(i>3]=i}B=j+-8.0;k=+((c[45957]|0)>>>0)-+h[e+8>>3]-i+k*.2+(k<12.0?1.4:2.0);eC(b,75901,n);h[o>>3]=B;h[o+8>>3]=k;eC(b,75838,o);h[p>>3]=j+8.0+m-B;h[p+8>>3]=i;eC(b,75862,p);_B(b,75936)|0;_B(b,75970)|0;g=c[u>>2]|0;e=c[g+8>>2]|0;if(e){c[r>>2]=c[e+4>>2];eC(b,76060,r);g=c[e+8>>2]|0;if(g|0){c[s>>2]=g;eC(b,76079,s)}g=c[e+12>>2]|0;if(g|0){c[t>>2]=g;eC(b,76096,t)}g=c[e+16>>2]|0;if(g|0){c[v>>2]=g;eC(b,76114,v)}}else{c[q>>2]=c[g>>2];eC(b,76060,q)}h[w>>3]=+h[(c[u>>2]|0)+16>>3];eC(b,76130,w);g=x+16|0;switch(c[x+48>>2]|0){case 5:{g=c[g>>2]|0;if(N$(g,134232)|0){c[z>>2]=g;eC(b,76150,z)}break}case 1:{x=d[g+1>>0]|0;z=d[g+2>>0]|0;c[y>>2]=d[g>>0];c[y+4>>2]=x;c[y+8>>2]=z;eC(b,76160,y);break}default:qa(135312,75624,438,76181)}_B(b,76194)|0;_B(b,Re(c[f>>2]|0)|0)|0;_B(b,76205)|0;_B(b,76228)|0;l=A;return}function Me(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0.0,i=0.0,j=0,k=0.0,m=0.0;e=l;l=l+32|0;f=e+16|0;j=e;_B(a,75802)|0;m=+h[b>>3];i=+h[b+16>>3]-m;k=+h[b+24>>3];g=k-+h[b+8>>3];k=+((c[45957]|0)>>>0)-k;h[j>>3]=m-i;h[j+8>>3]=k;eC(a,75838,j);h[f>>3]=i*2.0;h[f+8>>3]=g*2.0;eC(a,75862,f);Ve(a,d);_B(a,75684)|0;Te(a);_B(a,75890)|0;l=e;return}function Ne(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0.0,g=0,i=0.0,j=0,k=0,m=0,n=0;m=l;l=l+48|0;k=m+24|0;j=m+8|0;g=m;_B(a,75407)|0;n=c[45957]|0;c[g>>2]=c[45956];c[g+4>>2]=n;eC(a,75660,g);Ve(a,e);_B(a,75684)|0;Te(a);_B(a,75687)|0;g=d+-1|0;e=0;while(1){if((e|0)>=(d|0))break;i=+h[b+(e<<4)>>3];f=+((c[45957]|0)>>>0)-+h[b+(e<<4)+8>>3];if(!e){_B(a,75714)|0;h[j>>3]=i;h[j+8>>3]=f;eC(a,75780,j);_B(a,75791)|0}else{h[k>>3]=i;h[k+8>>3]=f;eC(a,75780,k)}if((e|0)==(g|0))_B(a,75794)|0;e=e+1|0}_B(a,75523)|0;l=m;return}function Oe(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0;f=l;l=l+16|0;e=f;_B(a,75407)|0;h=c[45957]|0;c[e>>2]=c[45956];c[e+4>>2]=h;eC(a,75660,e);Ve(a,g);_B(a,75684)|0;Te(a);_B(a,75687)|0;We(a,b,d);_B(a,75700)|0;l=f;return}function Pe(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,i=0,j=0,k=0,m=0.0;k=l;l=l+48|0;j=k+24|0;i=k+8|0;f=k;_B(a,75407)|0;g=c[45957]|0;c[f>>2]=c[45956];c[f+4>>2]=g;eC(a,75444,f);_B(a,75484)|0;f=d+-1|0;g=b+8|0;e=0;while(1){if((e|0)>=(d|0))break;if(!e){_B(a,75496)|0;m=+((c[45957]|0)>>>0)-+h[g>>3];h[i>>3]=+h[b>>3];h[i+8>>3]=m;eC(a,75500,i);_B(a,75511)|0}else{m=+((c[45957]|0)>>>0)-+h[b+(e<<4)+8>>3];h[j>>3]=+h[b+(e<<4)>>3];h[j+8>>3]=m;eC(a,75500,j)}if((e|0)==(f|0))_B(a,75515)|0;e=e+1|0}_B(a,75519)|0;Te(a);_B(a,75523)|0;l=k;return}function Qe(a,b){a=a|0;b=b|0;_B(a,75342)|0;_B(a,Re(b)|0)|0;_B(a,75354)|0;return}function Re(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;u=l;l=l+16|0;e=u;d=c[45954]|0;if(!d){c[45955]=64;d=uH(64)|0;c[45954]=d}s=e+15|0;r=e+14|0;g=0;q=0;o=0;e=0;f=0;a:while(1){n=(o|0)!=0;k=g;p=b;j=e;b:while(1){if(!p){t=32;break a}e=a[p>>0]|0;if(!(e<<24>>24)){t=32;break a}b=c[45955]|0;if((q|0)>(b+-8|0)){d=b<<1;c[45955]=d;d=wH(c[45954]|0,d)|0;c[45954]=d;d=d+q|0;e=a[p>>0]|0}switch(e<<24>>24){case 60:{e=4;b=99127;t=26;break b}case 62:{e=4;b=99110;t=27;break b}case 38:{t=10;break b}case 45:{e=5;b=99121;i=j;break b}default:{}}if(n&e<<24>>24==32){t=12;break}switch(e<<24>>24){case 34:{e=6;b=99090;t=26;break b}case 39:{e=5;b=99115;t=27;break b}default:{}}if(e<<24>>24<0){i=127;b=0}else{e=1;b=p;t=26;break}while(1){g=i&255;h=e&255;if(g>>>0>=h>>>0)break;e=i&h&255;i=g>>>1;b=b+1|0}if((b|0)<=1){g=z3(j|0,f|0,6)|0;g=r3(g|0,z|0,e&255|0,0)|0;f=z;m=k+-1|0;if((k|0)>1){b=m;e=g}else{t=21;break}}else{b=b+-1|0;e=e&255;f=0}k=b;p=p+1|0;j=e}if((t|0)==10){t=0;b=(Se(p)|0)==0;e=b?5:1;b=b?99104:p;i=j}else if((t|0)==12){t=0;b=(a[o>>0]|0)==32;e=b?6:1;b=b?99097:p;i=j}else if((t|0)==21){t=0;a[s>>0]=59;e=3;h=r;i=g;j=f;while(1){b=w3(i|0,j|0,10,0)|0;g=h+-1|0;a[h>>0]=b|48;b=i;i=v3(i|0,j|0,10,0)|0;f=j;j=z;o=e;e=e+1|0;if((o|0)>11){t=23;break a}if(!(f>>>0>0|(f|0)==0&b>>>0>9))break;else h=g}b=h+-2|0;a[g>>0]=35;a[b>>0]=38;k=m;f=j}else if((t|0)==26){t=0;i=j}else if((t|0)==27){t=0;i=j}h=d+e|0;g=e;while(1){if(!g)break;a[d>>0]=a[b>>0]|0;g=g+-1|0;b=b+1|0;d=d+1|0}g=k;b=p+1|0;q=e+q|0;o=p;d=h;e=i}if((t|0)==23){D1(75360,46,1,c[15686]|0)|0;Sa(1)}else if((t|0)==32){a[d>>0]=0;l=u;return c[45954]|0}return 0}function Se(b){b=b|0;var c=0,d=0;d=b+1|0;c=a[d>>0]|0;a:do if(c<<24>>24==35){d=b+2|0;c=a[d>>0]|0;switch(c<<24>>24){case 88:case 120:break;default:{b=d;while(1){d=b+1|0;if((c+-48&255)>=10)break a;b=d;c=a[d>>0]|0}}}d=b+3|0;while(1){c=a[d>>0]|0;if((c+-48&255)>=10)switch(c<<24>>24){case 65:case 66:case 67:case 68:case 69:case 70:case 97:case 98:case 99:case 100:case 101:case 102:break;default:break a}d=d+1|0}}else while(1){b=d+1|0;if(((c&-33)+-65&255)>=26)break a;d=b;c=a[b>>0]|0}while(0);return c<<24>>24==59|0}function Te(a){a=a|0;var b=0.0,d=0,e=0,f=0,g=0,i=0,j=0,k=0;k=l;l=l+48|0;d=k+8|0;j=k;i=c[a+16>>2]|0;_B(a,75535)|0;e=d;f=i+16|0;g=e+40|0;do{c[e>>2]=c[f>>2];e=e+4|0;f=f+4|0}while((e|0)<(g|0));Ue(a,d);b=+h[i+152>>3];if(b!=1.0){h[j>>3]=b;eC(a,75553,j)}switch(c[i+144>>2]|0){case 1:{_B(a,75570)|0;break}case 2:{_B(a,75588)|0;break}default:{}}_B(a,75605)|0;l=k;return}function Ue(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,i=0;g=l;l=l+16|0;f=g;a:do switch(c[e+32>>2]|0){case 5:{_B(b,c[e>>2]|0)|0;break}case 1:if(!(a[e+3>>0]|0)){_B(b,132627)|0;break a}else{i=d[e+1>>0]|0;h=d[e+2>>0]|0;c[f>>2]=d[e>>0];c[f+4>>2]=i;c[f+8>>2]=h;eC(b,75610,f);break a}default:qa(135312,75624,94,75644)}while(0);l=g;return}function Ve(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;g=l;l=l+48|0;f=g;if(!b)_B(a,75763)|0;else{d=c[a+16>>2]|0;_B(a,75733)|0;b=f;d=d+56|0;e=b+40|0;do{c[b>>2]=c[d>>2];b=b+4|0;d=d+4|0}while((b|0)<(e|0));Ue(a,f);_B(a,75760)|0}l=g;return}function We(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,i=0,j=0.0,k=0.0;i=l;l=l+32|0;g=i;e=75714;f=0;while(1){if((f|0)>=(d|0))break;k=+h[b+(f<<4)>>3];j=+((c[45957]|0)>>>0)-+h[b+(f<<4)+8>>3];c[g>>2]=e;h[g+8>>3]=k;h[g+16>>3]=j;eC(a,75717,g);e=(f|0)==0?75730:191979;f=f+1|0}_B(a,95669)|0;l=i;return}function Xe(a){a=a|0;var b=0,d=0,e=0;b=l;l=l+16|0;d=b+8|0;e=b;_B(a,80347)|0;_B(a,80362)|0;_B(a,80401)|0;_B(a,80450)|0;c[e>>2]=134232;c[e+4>>2]=80538;eC(a,80519,e);c[d>>2]=134116;c[d+4>>2]=80544;eC(a,80519,d);l=b;return}function Ye(a){a=a|0;var b=0,d=0,e=0.0,f=0.0,g=0.0,i=0.0,j=0;b=l;l=l+64|0;d=b+8|0;j=b;c[j>>2]=qy(c[(c[a+16>>2]|0)+8>>2]|0)|0;eC(a,79300,j);i=+h[a+368>>3]*.5*+h[a+488>>3];g=+h[a+376>>3]*.5*+h[a+496>>3];f=+J(+(i*2.0000000949949026e-03))*180.0*.6366197723675814;e=+J(+(g*2.0000000949949026e-03))*180.0*.6366197723675814;h[d>>3]=i;h[d+8>>3]=g;h[d+16>>3]=-500.0;h[d+24>>3]=i;h[d+32>>3]=g;h[d+40>>3]=0.0;h[d+48>>3]=(f>e?f:e)*1.2;eC(a,79322,d);_B(a,79469)|0;_B(a,80299)|0;l=b;return}function Ze(a){a=a|0;_B(a,79283)|0;return}function _e(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,h=0;f=l;l=l+16|0;h=f;c[h>>2]=b;c[h+4>>2]=d;c[h+8>>2]=e;eC(a,79253,h);g[45958]=+(O(d,-10)|0);l=f;return}function $e(a){a=a|0;_B(a,79236)|0;return}function af(a){a=a|0;_B(a,79218)|0;return}function bf(a){a=a|0;_B(a,79202)|0;return}function cf(a){a=a|0;_B(a,79181)|0;g[45958]=+g[45958]+-2.0;return}function df(a){a=a|0;_B(a,79162)|0;return}function ef(a){a=a|0;var b=0,d=0;b=l;l=l+16|0;d=b;c[d>>2]=qy(c[(c[a+16>>2]|0)+8>>2]|0)|0;eC(a,79140,d);l=b;return}function ff(a){a=a|0;_B(a,79124)|0;return}function gf(a){a=a|0;_B(a,79106)|0;g[45958]=+g[45958]+-5.0;return}function hf(a){a=a|0;_B(a,79090)|0;g[45958]=+g[45958]+5.0;return}function jf(b,d,e){b=b|0;d=d|0;e=e|0;var f=0.0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0.0,t=0.0,u=0.0;r=l;l=l+144|0;o=r+104|0;q=r+56|0;m=r+32|0;j=r+24|0;n=r;p=e+4|0;i=c[p>>2]|0;f=+h[i+16>>3];i=c[i>>2]|0;c[n>>2]=c[e>>2];h[n+8>>3]=f;c[n+16>>2]=i;eC(b,78936,n);g[45959]=+g[45958]+-9.0;switch(a[e+48>>0]|0){case 108:{f=+h[d>>3];break}case 114:{i=d;f=+h[d>>3]-+h[e+32>>3];k=5;break}default:{i=d;f=+h[d>>3]-+h[e+32>>3]*.5;k=5}}if((k|0)==5)h[i>>3]=f;u=+h[b+488>>3];t=(+h[b+504>>3]+f)*u;s=(+h[b+512>>3]+ +h[d+8>>3])*+h[b+496>>3];h[j>>3]=+h[(c[p>>2]|0)+16>>3]*u;n=pf(b,78988,j)|0;f=+(c[b+360>>2]|0);h[m>>3]=0.0;h[m+8>>3]=0.0;h[m+16>>3]=f;i=pf(b,78205,m)|0;f=+g[45959];h[o>>3]=t;h[o+8>>3]=s;h[o+16>>3]=f;d=pf(b,78237,o)|0;j=o;k=(c[b+16>>2]|0)+16|0;m=j+40|0;do{c[j>>2]=c[k>>2];j=j+4|0;k=k+4|0}while((j|0)<(m|0));o=qf(b,o,0.0)|0;e=c[e>>2]|0;c[q>>2]=c[c[p>>2]>>2];h[q+8>>3]=.25;h[q+16>>3]=0.0;c[q+24>>2]=e;c[q+28>>2]=79075;c[q+32>>2]=n;c[q+36>>2]=i;c[q+40>>2]=d;c[q+44>>2]=o;q=pf(b,79e3,q)|0;_B(b,q)|0;C_(q);C_(i);C_(o);C_(d);C_(n);l=r;return}function kf(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,i=0.0,j=0.0,k=0.0,m=0,n=0,o=0,p=0.0,q=0.0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0.0;z=l;l=l+240|0;x=z+192|0;y=z+152|0;t=z+128|0;r=z+104|0;o=z+80|0;n=z+48|0;e=z+24|0;m=z;_B(a,78813)|0;g[45959]=+g[45958]+-6.0;i=+h[b>>3];j=+h[a+488>>3];p=(+h[a+504>>3]+i)*j;A=+h[b+8>>3];k=+h[a+496>>3];q=(+h[a+512>>3]+A)*k;j=(+h[b+16>>3]-i)*j;k=(+h[b+24>>3]-A)*k;s=a+16|0;A=k+j;i=+h[(c[s>>2]|0)+152>>3]/A*2.5;h[m>>3]=j;h[m+8>>3]=A*.25;h[m+16>>3]=k;b=pf(a,78173,m)|0;m=a+360|0;A=+(c[m>>2]|0);h[e>>3]=90.0;h[e+8>>3]=0.0;h[e+16>>3]=A;e=pf(a,78205,e)|0;A=+g[45959];h[x>>3]=p;h[x+8>>3]=q;h[x+16>>3]=A;f=pf(a,78237,x)|0;u=x;v=(c[s>>2]|0)+16|0;w=u+40|0;do{c[u>>2]=c[v>>2];u=u+4|0;v=v+4|0}while((u|0)<(w|0));v=qf(a,x,0.0)|0;h[n>>3]=1.0;h[n+8>>3]=i;c[n+16>>2]=b;c[n+20>>2]=e;c[n+24>>2]=f;c[n+28>>2]=v;w=pf(a,78828,n)|0;_B(a,w)|0;C_(b);C_(e);C_(f);C_(v);C_(w);if(d|0){h[o>>3]=j;h[o+8>>3]=k;h[o+16>>3]=1.0;f=pf(a,78173,o)|0;A=+(c[m>>2]|0);h[r>>3]=0.0;h[r+8>>3]=0.0;h[r+16>>3]=A;e=pf(a,78205,r)|0;A=+g[45959];h[t>>3]=p;h[t+8>>3]=q;h[t+16>>3]=A;b=pf(a,78237,t)|0;u=x;v=(c[s>>2]|0)+56|0;w=u+40|0;do{c[u>>2]=c[v>>2];u=u+4|0;v=v+4|0}while((u|0)<(w|0));x=qf(a,x,0.0)|0;h[y>>3]=0.0;h[y+8>>3]=0.0;h[y+16>>3]=0.0;c[y+24>>2]=f;c[y+28>>2]=e;c[y+32>>2]=b;c[y+36>>2]=x;y=pf(a,78874,y)|0;_B(a,y)|0;C_(f);C_(e);C_(b);C_(x);C_(y)}l=z;return}function lf(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0.0,M=0,N=0.0;K=l;l=l+336|0;B=K+296|0;J=K+288|0;I=K+272|0;H=K+264|0;G=K+240|0;D=K+232|0;A=K+208|0;z=K+184|0;w=K+160|0;v=K+152|0;u=K+136|0;t=K+128|0;s=K+96|0;r=K+88|0;q=K+56|0;f=K+48|0;m=K+24|0;k=K;_B(a,78678)|0;g[45959]=+g[45958]+-2.0;o=a+488|0;p=a+496|0;L=+h[p>>3];h[k>>3]=+h[o>>3];h[k+8>>3]=L;h[k+16>>3]=1.0;k=pf(a,78173,k)|0;y=a+360|0;L=+(c[y>>2]|0);h[m>>3]=0.0;h[m+8>>3]=0.0;h[m+16>>3]=L;m=pf(a,78205,m)|0;L=+g[45959]+-2.0;h[B>>3]=0.0;h[B+8>>3]=0.0;h[B+16>>3]=L;n=pf(a,78237,B)|0;C=a+16|0;i=B;j=(c[C>>2]|0)+16|0;x=i+40|0;do{c[i>>2]=c[j>>2];i=i+4|0;j=j+4|0}while((i|0)<(x|0));j=qf(a,B,0.0)|0;c[f>>2]=78300;c[f+4>>2]=d+1;E=a+504|0;F=a+512|0;i=0;f=pf(a,78269,f)|0;while(1){if((i|0)>=(d|0))break;N=+h[F>>3]+ +h[b+(i<<4)+8>>3];L=+h[(c[C>>2]|0)+152>>3];h[q>>3]=+h[E>>3]+ +h[b+(i<<4)>>3];h[q+8>>3]=N;h[q+16>>3]=0.0;h[q+24>>3]=L;M=pf(a,78314,q)|0;c[r>>2]=f;c[r+4>>2]=M;x=pf(a,78343,r)|0;C_(M);C_(f);i=i+1|0;f=x}L=+h[F>>3]+ +h[b+8>>3];N=+h[(c[C>>2]|0)+152>>3];h[s>>3]=+h[E>>3]+ +h[b>>3];h[s+8>>3]=L;h[s+16>>3]=0.0;h[s+24>>3]=N;x=pf(a,78314,s)|0;c[t>>2]=f;c[t+4>>2]=x;M=pf(a,78343,t)|0;C_(x);C_(f);c[u>>2]=k;c[u+4>>2]=m;c[u+8>>2]=n;c[u+12>>2]=j;x=pf(a,78693,u)|0;c[v>>2]=M;c[v+4>>2]=x;M=pf(a,78398,v)|0;C_(x);_B(a,M)|0;C_(k);C_(m);C_(n);C_(j);C_(M);if(e|0){N=+h[p>>3];h[w>>3]=+h[o>>3];h[w+8>>3]=N;h[w+16>>3]=1.0;n=pf(a,78173,w)|0;N=+(c[y>>2]|0);h[z>>3]=0.0;h[z+8>>3]=0.0;h[z+16>>3]=N;m=pf(a,78205,z)|0;N=+g[45959]+-2.0;h[A>>3]=0.0;h[A+8>>3]=0.0;h[A+16>>3]=N;k=pf(a,78237,A)|0;i=B;j=(c[C>>2]|0)+56|0;x=i+40|0;do{c[i>>2]=c[j>>2];i=i+4|0;j=j+4|0}while((i|0)<(x|0));j=qf(a,B,.25)|0;c[D>>2]=d;i=0;f=pf(a,78738,D)|0;while(1){if((i|0)>=(d|0))break;N=+h[F>>3]+ +h[b+(i<<4)+8>>3];h[G>>3]=+h[E>>3]+ +h[b+(i<<4)>>3];h[G+8>>3]=N;h[G+16>>3]=0.0;D=pf(a,78753,G)|0;c[H>>2]=f;c[H+4>>2]=D;M=pf(a,78775,H)|0;C_(D);C_(f);i=i+1|0;f=M}c[I>>2]=n;c[I+4>>2]=m;c[I+8>>2]=k;c[I+12>>2]=j;I=pf(a,78785,I)|0;c[J>>2]=f;c[J+4>>2]=I;M=pf(a,78398,J)|0;C_(I);_B(a,M)|0;C_(n);C_(m);C_(k);C_(j);C_(M)}l=K;return}function mf(a,b,d,e,f,i){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;i=i|0;var j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0.0,D=0.0;B=l;l=l+208|0;e=B+160|0;A=B+152|0;z=B+136|0;y=B+128|0;x=B+96|0;w=B+88|0;v=B+56|0;k=B+48|0;s=B+24|0;r=B;_B(a,78605)|0;g[45959]=+g[45958]+-4.0;C=+h[a+496>>3];h[r>>3]=+h[a+488>>3];h[r+8>>3]=C;h[r+16>>3]=1.0;r=pf(a,78173,r)|0;C=+(c[a+360>>2]|0);h[s>>3]=0.0;h[s+8>>3]=0.0;h[s+16>>3]=C;s=pf(a,78205,s)|0;C=+g[45959]+-2.0;h[e>>3]=0.0;h[e+8>>3]=0.0;h[e+16>>3]=C;t=pf(a,78237,e)|0;u=a+16|0;f=e;i=(c[u>>2]|0)+56|0;j=f+40|0;do{c[f>>2]=c[i>>2];f=f+4|0;i=i+4|0}while((f|0)<(j|0));n=qf(a,e,0.0)|0;c[k>>2]=78619;c[k+4>>2]=d+2;o=a+504|0;p=a+512|0;q=d+-1|0;m=0;e=pf(a,78269,k)|0;while(1){if((m|0)>=(d|0))break;f=b+(m<<4)|0;i=b+(m<<4)+8|0;D=+h[p>>3]+ +h[i>>3];C=+h[(c[u>>2]|0)+152>>3];h[v>>3]=+h[o>>3]+ +h[f>>3];h[v+8>>3]=D;h[v+16>>3]=0.0;h[v+24>>3]=C;k=pf(a,78314,v)|0;c[w>>2]=e;c[w+4>>2]=k;j=pf(a,78343,w)|0;C_(k);C_(e);if((m|0)==0|(m|0)==(q|0)){C=+h[p>>3]+ +h[i>>3];D=+h[(c[u>>2]|0)+152>>3];h[x>>3]=+h[o>>3]+ +h[f>>3];h[x+8>>3]=C;h[x+16>>3]=0.0;h[x+24>>3]=D;k=pf(a,78314,x)|0;c[y>>2]=j;c[y+4>>2]=k;e=pf(a,78343,y)|0;C_(k);C_(j)}else e=j;m=m+1|0}c[z>>2]=r;c[z+4>>2]=s;c[z+8>>2]=t;c[z+12>>2]=n;b=pf(a,78628,z)|0;c[A>>2]=e;c[A+4>>2]=b;d=pf(a,78398,A)|0;C_(b);_B(a,d)|0;C_(r);C_(s);C_(t);C_(n);C_(d);l=B;return}function nf(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0.0,x=0,y=0.0;v=l;l=l+160|0;e=v+120|0;u=v+112|0;t=v+96|0;s=v+88|0;r=v+56|0;m=v+48|0;n=v+24|0;q=v;_B(a,78157)|0;g[45959]=+g[45958]+-6.0;w=+h[a+496>>3];h[q>>3]=+h[a+488>>3];h[q+8>>3]=w;h[q+16>>3]=1.0;q=pf(a,78173,q)|0;w=+(c[a+360>>2]|0);h[n>>3]=0.0;h[n+8>>3]=0.0;h[n+16>>3]=w;n=pf(a,78205,n)|0;w=+g[45959];h[e>>3]=0.0;h[e+8>>3]=0.0;h[e+16>>3]=w;o=pf(a,78237,e)|0;p=a+16|0;f=e;i=(c[p>>2]|0)+16|0;j=f+40|0;do{c[f>>2]=c[i>>2];f=f+4|0;i=i+4|0}while((f|0)<(j|0));i=qf(a,e,0.0)|0;c[m>>2]=78300;c[m+4>>2]=d;j=a+504|0;k=a+512|0;f=0;e=pf(a,78269,m)|0;while(1){if((f|0)>=(d|0))break;y=+h[k>>3]+ +h[b+(f<<4)+8>>3];w=+h[(c[p>>2]|0)+152>>3];h[r>>3]=+h[j>>3]+ +h[b+(f<<4)>>3];h[r+8>>3]=y;h[r+16>>3]=0.0;h[r+24>>3]=w;x=pf(a,78314,r)|0;c[s>>2]=e;c[s+4>>2]=x;m=pf(a,78343,s)|0;C_(x);C_(e);f=f+1|0;e=m}c[t>>2]=q;c[t+4>>2]=n;c[t+8>>2]=o;c[t+12>>2]=i;t=pf(a,78352,t)|0;c[u>>2]=e;c[u+4>>2]=t;x=pf(a,78398,u)|0;C_(t);_B(a,x)|0;C_(q);C_(n);C_(o);C_(i);C_(x);l=v;return}function of(a,b){a=a|0;b=b|0;var d=0,e=0;d=l;l=l+16|0;e=d;c[e>>2]=b;eC(a,78138,e);l=d;return}function pf(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0;i=l;l=l+1056|0;h=i;e=i+24|0;f=i+8|0;c[f>>2]=d;g=p0(e,1024,b,f)|0;do if((g|0)>=0)if((g|0)>1023){a=B_(g+1|0)|0;c[f>>2]=d;Y0(a,b,f)|0;break}else{a=m1(e)|0;break}else{a=c[(c[a+12>>2]|0)+16>>2]|0;c[h>>2]=b$(c[(N_()|0)>>2]|0)|0;ub[a&63](78583,h);a=m1(191979)|0}while(0);l=i;return a|0}function qf(a,b,e){a=a|0;b=b|0;e=+e;var f=0,g=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0.0,s=0.0;q=l;l=l+112|0;o=q+104|0;j=q+96|0;i=q+64|0;n=q+48|0;p=q+32|0;m=q+16|0;k=q;g=c[b+32>>2]|0;a:do switch(g|0){case 5:{f=c[b>>2]|0;if(!(a$(f,133220)|0)){c[k>>2]=78420;h[k+8>>3]=e;f=pf(a,78403,k)|0;break a}if(!(a$(f,130350)|0)){c[m>>2]=78424;h[m+8>>3]=e;f=pf(a,78403,m)|0;break a}if(!(a$(f,128349)|0)){c[p>>2]=78430;h[p+8>>3]=e;f=pf(a,78403,p)|0;break a}else{c[n>>2]=f;h[n+8>>3]=e;f=pf(a,78403,n)|0;break a}}case 1:{s=+(d[b+1>>0]|0)*.00390625;r=+(d[b+2>>0]|0)*.00390625;h[i>>3]=+(d[b>>0]|0)*.00390625;h[i+8>>3]=s;h[i+16>>3]=r;h[i+24>>3]=e;f=pf(a,78435,i)|0;break}default:{p=c[15686]|0;n=c[b>>2]|0;c[j>>2]=g;c[j+4>>2]=n;f1(p,78474,j)|0;qa(135312,78524,436,78544)}}while(0);c[o>>2]=f;p=pf(a,78561,o)|0;C_(f);l=q;return p|0}function rf(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0;b=l;l=l+32|0;d=b+24|0;e=b+16|0;g=b;f=c[a+16>>2]|0;h=c[c[a+12>>2]>>2]|0;j=c[h>>2]|0;i=c[h+4>>2]|0;h=c[h+8>>2]|0;c[g>>2]=80990;c[g+4>>2]=j;c[g+8>>2]=i;c[g+12>>2]=h;eC(a,83609,g);f=qy(c[f+8>>2]|0)|0;c[e>>2]=80990;c[e+4>>2]=f;eC(a,83641,e);c[d>>2]=80990;eC(a,83655,d);l=b;return}function sf(a){a=a|0;var b=0,d=0;b=l;l=l+16|0;d=b;c[d>>2]=80990;eC(a,83557,d);l=b;return}function tf(a){a=a|0;var b=0.0,d=0.0,e=0.0,f=0,g=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0;W=l;l=l+304|0;V=W+296|0;U=W+288|0;T=W+272|0;R=W+264|0;Q=W+256|0;P=W+248|0;O=W+240|0;N=W+232|0;M=W+224|0;L=W+216|0;K=W+208|0;J=W+200|0;I=W+192|0;H=W+184|0;G=W+176|0;F=W+168|0;E=W+160|0;C=W+152|0;A=W+144|0;z=W+136|0;y=W+128|0;x=W+120|0;w=W+112|0;v=W+104|0;u=W+96|0;t=W+88|0;s=W+80|0;r=W+72|0;q=W+64|0;p=W+56|0;o=W+48|0;S=W+40|0;B=W+24|0;n=W+16|0;m=W;g=c[a+456>>2]|0;i=c[a+460>>2]|0;j=c[a+464>>2]|0;k=c[a+468>>2]|0;f=a+360|0;a:do if(c[4025]|0){switch(c[f>>2]|0){case 90:case 0:break a;default:{}}Ff();c[4025]=0}while(0);e=(+(k|0)-+(i|0))*.013888888888888888;b=(+(j|0)-+(g|0))*.013888888888888888;k=(c[f>>2]|0)==90;d=k?e:b;e=k?b:e;h[m>>3]=d;h[m+8>>3]=e;eC(a,81177,m);c[n>>2]=80990;eC(a,81192,n);if(d>0.0){b=+i$(d);h[18829]=b;b=b+3.0-+(~~b|0)}else b=3.0;b=+D(10.0,+b);h[18829]=b;h[B>>3]=b;h[B+8>>3]=b;eC(a,81361,B);c[S>>2]=80990;eC(a,81396,S);c[o>>2]=80990;eC(a,81454,o);c[p>>2]=80990;eC(a,81514,p);c[q>>2]=80990;eC(a,81563,q);c[r>>2]=80990;eC(a,81602,r);c[s>>2]=80990;eC(a,81653,s);c[t>>2]=80990;eC(a,81715,t);c[u>>2]=80990;eC(a,81825,u);c[v>>2]=80990;eC(a,81916,v);c[w>>2]=80990;eC(a,81970,w);c[x>>2]=80990;eC(a,82039,x);eC(a,82075,y);c[z>>2]=80990;eC(a,82200,z);c[A>>2]=80990;eC(a,82229,A);eC(a,82269,C);c[E>>2]=80990;eC(a,82362,E);c[F>>2]=80990;eC(a,82421,F);c[G>>2]=80990;eC(a,82502,G);eC(a,82572,H);c[I>>2]=80990;eC(a,82661,I);c[J>>2]=80990;eC(a,82766,J);c[K>>2]=80990;eC(a,82842,K);c[L>>2]=80990;eC(a,82881,L);c[M>>2]=80990;eC(a,82980,M);c[N>>2]=80990;eC(a,83026,N);eC(a,83115,O);c[P>>2]=80990;eC(a,83156,P);c[Q>>2]=80990;eC(a,83239,Q);c[R>>2]=80990;eC(a,83340,R);h[T>>3]=e;h[T+8>>3]=d;eC(a,83404,T);eC(a,83432,U);eC(a,83440,V);l=W;return}function uf(a){a=a|0;var b=0;b=l;l=l+16|0;eC(a,81170,b);l=b;return}function vf(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0.0,i=0.0,j=0.0,k=0,m=0,n=0.0,o=0,p=0,q=0,r=0;r=l;l=l+48|0;q=r+24|0;p=r+8|0;o=r;switch(a[e+48>>0]|0){case 108:{k=d;i=+h[e+32>>3];j=+h[d>>3];break}case 114:{i=+h[e+32>>3];g=i;f=5;break}default:{i=+h[e+32>>3];g=i*.5;f=5}}if((f|0)==5){j=+h[d>>3]-g;h[d>>3]=j;k=d}m=e+4|0;f=c[m>>2]|0;g=+h[f+16>>3];d=d+8|0;n=+h[d>>3]+g*.004629629629629629;h[d>>3]=n;i=j+i*.006944444444444444;h[k>>3]=i;f=c[f>>2]|0;do if(f){d=c[45960]|0;if(d|0?(a$(d,f)|0)==0:0)break;c[o>>2]=Df(f)|0;eC(b,81069,o);o=c[m>>2]|0;c[45960]=c[o>>2];g=+h[o+16>>3]}while(0);f=~~g;f=(f|0)>1?f:1;if((f|0)!=(c[45961]|0)){j=+h[18829];c[p>>2]=f;h[p+8>>3]=j;eC(b,81077,p);c[45961]=f}c[q>>2]=Ef(c[e>>2]|0)|0;h[q+8>>3]=i;h[q+16>>3]=n;eC(b,81098,q);l=r;return}function wf(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0.0,i=0.0,j=0.0,k=0.0;e=l;l=l+48|0;f=e;i=+h[b>>3];k=(+h[b+16>>3]-i)*.027777777777777776;g=+h[b+8>>3];j=(+h[b+24>>3]-g)*.027777777777777776;c[f>>2]=1;c[f+4>>2]=d|0?81011:191979;h[f+8>>3]=k;h[f+16>>3]=j;h[f+24>>3]=i*.013888888888888888;h[f+32>>3]=g*.013888888888888888;eC(a,81017,f);l=e;return}function xf(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;e=l;l=l+16|0;Bf(c[a+16>>2]|0,e+8|0,e);Cf(a,b,d,1);l=e;return}function yf(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0.0,v=0.0,w=0;t=l;l=l+128|0;s=t+112|0;q=t+104|0;p=t+96|0;e=t+88|0;n=t+16|0;o=t;k=c[a+16>>2]|0;j=B_((d*140|0)+140|0)|0;Bf(k,t+116|0,t+80|0);v=+h[b>>3];k=n+48|0;h[k>>3]=v;u=+h[b+8>>3];h[n+56>>3]=u;c[e>>2]=~~(v+(v>=0.0?.5:-.5));c[e+4>>2]=~~(u+(u>=0.0?.5:-.5));i=o+8|0;e=j+(X0(j,80995,e)|0)|0;r=1;g=0;while(1){m=g+3|0;if((m|0)>=(d|0))break;c[n>>2]=c[k>>2];c[n+4>>2]=c[k+4>>2];c[n+8>>2]=c[k+8>>2];c[n+12>>2]=c[k+12>>2];f=1;while(1){if((f|0)==4){f=1;break}w=f+g|0;h[n+(f<<4)>>3]=+h[b+(w<<4)>>3];h[n+(f<<4)+8>>3]=+h[b+(w<<4)+8>>3];f=f+1|0}while(1){if((f|0)==7)break;WL(o,n,3,+(f|0)*.16666666666666666,0,0);u=+h[o>>3];v=+h[i>>3];c[p>>2]=~~(u+(u>=0.0?.5:-.5));c[p+4>>2]=~~(v+(v>=0.0?.5:-.5));f=f+1|0;e=e+(X0(e,80995,p)|0)|0}r=r+6|0;g=m}c[q>>2]=j;eC(a,81002,q);C_(j);f=r+-1|0;e=0;while(1){if((e|0)>=(r|0))break;c[s>>2]=((e|0)%(f|0)|0|0)!=0&1;eC(a,81007,s);e=e+1|0}_B(a,150517)|0;l=t;return}function zf(a,b,d){a=a|0;b=b|0;d=d|0;var e=0;e=l;l=l+16|0;Bf(c[a+16>>2]|0,e+8|0,e);Cf(a,b,d,0);l=e;return}function Af(a,b){a=a|0;b=b|0;var d=0,e=0;d=l;l=l+16|0;e=d;c[e>>2]=80990;c[e+4>>2]=b;eC(a,80983,e);l=d;return}function Bf(a,b,d){a=a|0;b=b|0;d=d|0;var e=0.0;switch(c[a+144>>2]|0){case 1:{e=10.0;a=1;break}case 2:{e=10.0;a=2;break}default:{e=0.0;a=0}}c[b>>2]=a;h[d>>3]=e;return}function Cf(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,i=0,j=0,k=0.0,m=0.0;j=l;l=l+16|0;i=j+8|0;g=j;f=0;while(1){if((f|0)>=(d|0))break;m=+h[b+(f<<4)>>3];k=+h[b+(f<<4)+8>>3];c[g>>2]=~~(m+(m>=0.0?.5:-.5));c[g+4>>2]=~~(k+(k>=0.0?.5:-.5));eC(a,80995,g);f=f+1|0}if(e|0){k=+h[b>>3];m=+h[b+8>>3];c[i>>2]=~~(k+(k>=0.0?.5:-.5));c[i+4>>2]=~~(m+(m>=0.0?.5:-.5));eC(a,80995,i)}_B(a,150517)|0;l=j;return}function Df(b){b=b|0;var d=0,e=0,f=0,g=0,h=0;h=l;l=l+16|0;f=h;a:while(1){d=15828;while(1){e=c[d+4>>2]|0;if(!e)break;if(!(a$(e,b)|0)){g=6;break a}d=d+8|0}c[f>>2]=81151;c[f+4>>2]=b;Ow(1,81125,f)|0;d=n1(b,45)|0;if(!d){d=81168;break}a[d>>0]=0}l=h;return d|0}function Ef(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0;i=l;l=l+16|0;h=i;d=c[45962]|0;if(!d){c[45963]=64;d=B_(64)|0;c[45962]=d;e=0}else e=0;while(1){g=b+1|0;f=a[b>>0]|0;if(!(f<<24>>24))break;b=c[45963]|0;if((e|0)>(b+-8|0)){d=b<<1;c[45963]=d;d=E_(c[45962]|0,d)|0;c[45962]=d;d=d+e|0}if(f<<24>>24<=-1){a[d>>0]=92;c[h>>2]=f&255;X0(d+1|0,81120,h)|0;b=g;d=d+4|0;e=e+4|0;continue}if(f<<24>>24==92){a[d>>0]=92;e=e+1|0;d=d+1|0}a[d>>0]=f;b=g;d=d+1|0;e=e+1|0}a[d>>0]=0;l=i;return c[45962]|0}function Ff(){var a=0,b=0;a=l;l=l+16|0;b=a;c[b>>2]=81151;c[b+4>>2]=83548;Ow(0,83530,b)|0;l=a;return}function Gf(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0.0,i=0.0,j=0,k=0;e=l;l=l+32|0;f=e+8|0;j=e;b=b+8|0;k=c[b>>2]|0;c[j>>2]=k;c[j+4>>2]=k;eC(a,84128,j);i=(+h[d>>3]+ +h[d+16>>3])*.5;g=(+h[d+8>>3]+ +h[d+24>>3])*.5;c[f>>2]=c[b>>2];h[f+8>>3]=i;h[f+16>>3]=g;eC(a,84170,f);l=e;return}function Hf(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0.0,i=0.0,j=0.0,k=0.0;e=l;l=l+48|0;f=e;i=+h[d>>3];k=+h[d+16>>3]-i;g=+h[d+24>>3];j=g-+h[d+8>>3];g=+(~~(+h[a+232>>3]-+h[a+216>>3])>>>0)-g;c[f>>2]=c[b+8>>2];h[f+8>>3]=k;h[f+16>>3]=j;h[f+24>>3]=i;h[f+32>>3]=g;eC(a,84215,f);_B(a,84307)|0;l=e;return}function If(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return}function Jf(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0.0,g=0.0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0.0;t=l;l=l+160|0;s=t+152|0;r=t+136|0;q=t+120|0;k=t+112|0;n=t+104|0;m=t+88|0;j=t+72|0;i=t+64|0;o=t;if(!a)qa(108200,84312,212,84331);if(!b)qa(108230,84312,213,84331);p=b+8|0;if(!(c[p>>2]|0))qa(108233,84312,214,84331);if(c[b+52>>2]|0){c[o>>2]=c[d>>2];c[o+4>>2]=c[d+4>>2];c[o+8>>2]=c[d+8>>2];c[o+12>>2]=c[d+12>>2];b=o+32|0;d=d+16|0;c[b>>2]=c[d>>2];c[b+4>>2]=c[d+4>>2];c[b+8>>2]=c[d+8>>2];c[b+12>>2]=c[d+12>>2];f=+h[o>>3];h[o+16>>3]=f;h[o+24>>3]=+h[o+40>>3];h[o+48>>3]=+h[b>>3];g=+h[o+8>>3];h[o+56>>3]=g;if(e<<24>>24){eC(a,84352,i);b=0;while(1){if((b|0)==4)break;u=+h[o+(b<<4)+8>>3];h[j>>3]=+h[o+(b<<4)>>3];h[j+8>>3]=u;eC(a,84355,j);b=b+1|0}h[m>>3]=f;h[m+8>>3]=g;eC(a,84355,m);m=c[p>>2]|0;c[n>>2]=4;c[n+4>>2]=m;eC(a,84362,n)}eC(a,84352,k);b=0;while(1){if((b|0)==4)break;u=+h[o+(b<<4)+8>>3];h[q>>3]=+h[o+(b<<4)>>3];h[q+8>>3]=u;eC(a,84355,q);b=b+1|0}h[r>>3]=f;h[r+8>>3]=g;eC(a,84355,r);r=c[p>>2]|0;c[s>>2]=4;c[s+4>>2]=r;eC(a,84377,s)}l=t;return}function Kf(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0.0;o=l;l=l+112|0;n=o+24|0;m=o+16|0;k=o;i=o+28|0;if(!b)qa(108200,84312,153,84393);if(!d)qa(108230,84312,154,84393);if(!(c[d+8>>2]|0))qa(108233,84312,155,84393);j=d+52|0;if(c[j>>2]|0){f=d+60|0;g=c[f>>2]|0;if((g|0)==98)g=18;else{tb[g&127](d);c[j>>2]=0;c[f>>2]=0;c[d+56>>2]=0;g=10}}else g=10;do if((g|0)==10){if(!((yC(d)|0)<<24>>24))break;f=i3(c[d+20>>2]|0)|0;if((c[d+24>>2]&-2|0)==6){I1(f,i)|0;i=c[i+36>>2]|0;c[d+56>>2]=i;f=T_(0,i,1,1,f,0)|0;c[j>>2]=f;a[d+16>>0]=1}else f=c[j>>2]|0;if(f|0)c[d+60>>2]=98;zC(d);if(c[j>>2]|0)g=18}while(0);if((g|0)==18){p=+h[e+8>>3]-+(c[d+36>>2]|0);h[k>>3]=+h[e>>3]-+(c[d+32>>2]|0);h[k+8>>3]=p;eC(b,84411,k);if(!(a[d+16>>0]|0)){c[m>>2]=c[d+12>>2];eC(b,84442,m)}else jJ(b,d);eC(b,84457,n)}l=o;return}function Lf(a){a=a|0;R_(c[a+52>>2]|0,c[a+56>>2]|0)|0;return}function Mf(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0;g=l;l=l+80|0;f=g+48|0;if(!a)qa(108200,84312,121,84467);e=c[a+16>>2]|0;if(!e)qa(96876,84312,123,84467);if(!b)qa(108230,84312,124,84467);d=b+8|0;if(!(c[d>>2]|0))qa(108233,84312,125,84467);if(!(c[e+8>>2]|0))qa(135797,84312,128,84467);else{eC(a,84487,g);eC(a,84496,g+8|0);eC(a,84523,g+16|0);eC(a,84548,g+24|0);eC(a,84577,g+32|0);eC(a,84605,g+40|0);c[f>>2]=c[d>>2];eC(a,84612,f);eC(a,84651,g+56|0);eC(a,107982,g+64|0);l=g;return}}function Nf(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,i=0,j=0,k=0,m=0.0;i=l;l=l+128|0;g=i+80|0;f=i;if(!a)qa(108200,84312,97,84656);if(!b)qa(108230,84312,98,84656);e=c[b+8>>2]|0;if(!e)qa(108233,84312,99,84656);else{m=+h[d>>3];j=~~(m+(m>=0.0?.5:-.5));m=+h[d+8>>3];b=~~(m+(m>=0.0?.5:-.5));m=+h[d+16>>3];k=~~(m+(m>=0.0?.5:-.5));m=+h[d+24>>3];d=~~(m+(m>=0.0?.5:-.5));c[f>>2]=2;c[f+4>>2]=5;c[f+8>>2]=0;c[f+12>>2]=0;c[f+16>>2]=0;c[f+20>>2]=-1;c[f+24>>2]=1;c[f+28>>2]=-1;c[f+32>>2]=0;h[f+40>>3]=0.0;c[f+48>>2]=0;c[f+52>>2]=0;c[f+56>>2]=0;c[f+60>>2]=0;c[f+64>>2]=0;c[f+68>>2]=5;c[f+72>>2]=0;c[f+76>>2]=e;eC(a,84675,f);c[g>>2]=j;c[g+4>>2]=b;c[g+8>>2]=j;c[g+12>>2]=d;c[g+16>>2]=k;c[g+20>>2]=d;c[g+24>>2]=k;c[g+28>>2]=b;c[g+32>>2]=j;c[g+36>>2]=b;eC(a,84733,g);l=i;return}}function Of(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0.0,g=0.0,i=0.0,j=0.0,k=0,m=0,n=0,o=0;o=l;l=l+96|0;n=o+56|0;m=o+32|0;k=o;i=+h[d>>3];j=+h[d+16>>3]-i;f=+h[d+24>>3];g=f-+h[d+8>>3];if(!a)qa(108200,84312,53,84765);if(!b)qa(108230,84312,54,84765);e=b+8|0;if(!(c[e>>2]|0))qa(108233,84312,55,84765);_B(a,84784)|0;_B(a,c[e>>2]|0)|0;e=a+360|0;f=-f;if(!(c[e>>2]|0)){h[n>>3]=j;h[n+8>>3]=g;h[n+16>>3]=i;h[n+24>>3]=f;eC(a,84913,n)}else{h[k>>3]=g;h[k+8>>3]=j;h[k+16>>3]=i;h[k+24>>3]=f;eC(a,84804,k);c[m>>2]=c[e>>2];h[m+8>>3]=i;h[m+16>>3]=f;eC(a,84883,m)}_B(a,84992)|0;l=o;return}function Pf(a){a=a|0;var b=0,c=0;b=Ry(a)|0;while(1){if(!b)break;Qf(b);b=Sy(a,b)|0}c=Ry(a)|0;while(1){if(!c)break;b=Dx(a,c)|0;while(1){if(!b)break;Rf(b);b=Fx(a,b)|0}c=Sy(a,c)|0}return}function Qf(a){a=a|0;var b=0,d=0;zz(a,134365,304,1)|0;cM(a);aN(a,c[(c[(dz(a)|0)+16>>2]|0)+116>>2]&1);a=a+16|0;c[(c[a>>2]|0)+176>>2]=0;b=tH(20)|0;d=c[a>>2]|0;c[d+172>>2]=b;c[d+184>>2]=0;d=tH(20)|0;b=c[a>>2]|0;c[b+180>>2]=d;c[b+200>>2]=0;b=tH(12)|0;d=c[a>>2]|0;c[d+196>>2]=b;c[d+192>>2]=0;d=tH(12)|0;b=c[a>>2]|0;c[b+188>>2]=d;c[b+208>>2]=0;b=tH(12)|0;a=c[a>>2]|0;c[a+204>>2]=b;c[a+216>>2]=1;return}function Rf(d){d=d|0;var e=0,f=0,g=0,h=0,i=0;zz(d,134378,176,1)|0;dM(d)|0;h=JL(d,c[46404]|0,1,0)|0;g=d+16|0;c[(c[g>>2]|0)+156>>2]=h;h=ML(c[((c[d>>2]&3|0)==3?d:d+48|0)+40>>2]|0,c[46398]|0,191979)|0;i=ML(c[((c[d>>2]&3|0)==2?d:d+-48|0)+40>>2]|0,c[46398]|0,191979)|0;e=c[g>>2]|0;f=e+154|0;b[f>>1]=1;b[e+168>>1]=1;if((h|0)==(i|0)&(a[h>>0]|0)!=0){b[f>>1]=1e3;i=e+156|0;c[i>>2]=(c[i>>2]|0)*100}if(Nk(d)|0){i=c[g>>2]|0;b[i+154>>1]=0;c[i+156>>2]=0}i=(JL(d,c[46417]|0,0,0)|0)&255;a[(c[g>>2]|0)+152>>0]=i;i=(JL(d,c[46405]|0,1,0)|0)&65535;b[(c[g>>2]|0)+170>>1]=i;return}function Sf(a){a=a|0;var b=0,d=0;Tf(c[(c[a+16>>2]|0)+192>>2]|0);d=Ry(a)|0;while(1){if(!d)break;b=Dx(a,d)|0;while(1){if(!b)break;IM(b);b=Fx(a,b)|0}Uf(d);d=Sy(a,d)|0}Vf(a);return}function Tf(b){b=b|0;var d=0,e=0,f=0,g=0;while(1){if(!b)break;f=b+16|0;g=c[(c[f>>2]|0)+164>>2]|0;Wf(b);d=c[f>>2]|0;if((a[d+156>>0]|0)!=1){b=g;continue}e=c[d+180>>2]|0;if(e){C_(e);d=c[f>>2]|0}e=c[d+172>>2]|0;if(e){C_(e);d=c[f>>2]|0}C_(d);C_(b);b=g}return}function Uf(a){a=a|0;var b=0,d=0,e=0;e=a+16|0;b=c[e>>2]|0;d=c[b+172>>2]|0;if(d){C_(d);b=c[e>>2]|0}d=c[b+180>>2]|0;if(d){C_(d);b=c[e>>2]|0}d=c[b+188>>2]|0;if(d){C_(d);b=c[e>>2]|0}d=c[b+196>>2]|0;if(d){C_(d);b=c[e>>2]|0}d=c[b+204>>2]|0;if(d){C_(d);b=c[e>>2]|0}mH(c[b+104>>2]|0);mH(c[(c[e>>2]|0)+108>>2]|0);b=c[(c[e>>2]|0)+8>>2]|0;if(b|0)tb[c[(c[b+4>>2]|0)+4>>2]&127](a);Bz(a,134365)|0;return}function Vf(a){a=a|0;var d=0,e=0,f=0;d=vA(a)|0;while(1){if(!d)break;Vf(d);d=wA(d)|0}if(zz(a,134401,0,1)|0){f=a+16|0;d=c[f>>2]|0;e=c[d+184>>2]|0;if(e){C_(e);d=c[f>>2]|0}e=c[d+268>>2]|0;if(e){C_(e);d=c[f>>2]|0}e=c[d+216>>2]|0;if(e){C_(e);d=c[f>>2]|0}do if(c[d+196>>2]|0){e=b[d+236>>1]|0;while(1){if((e|0)>(b[d+238>>1]|0))break;C_(c[(c[d+196>>2]|0)+(e<<6)+12>>2]|0);e=e+1|0;d=c[f>>2]|0}e=c[d+196>>2]|0;if((b[d+236>>1]|0)==-1){C_(e+-64|0);break}else{C_(e);break}}while(0);if((ez(a)|0)!=(a|0)){mH(c[(c[f>>2]|0)+12>>2]|0);Bz(a,134401)|0}}return}function Wf(a){a=a|0;var b=0,d=0,e=0;e=a+16|0;d=c[e>>2]|0;b=c[d+176>>2]|0;while(1){a=b+-1|0;if((b|0)<=0)break;b=c[(c[d+172>>2]|0)+(a<<2)>>2]|0;jh(b);C_(c[b+16>>2]|0);C_(b);b=a;d=c[e>>2]|0}b=c[d+184>>2]|0;while(1){a=b+-1|0;if((b|0)<=0)break;b=c[(c[(c[e>>2]|0)+180>>2]|0)+(a<<2)>>2]|0;jh(b);C_(c[b+16>>2]|0);C_(b);b=a}return}function Xf(a){a=a|0;if($x(a)|0)Yf(a);dJ(a);return}function Yf(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0;h=l;l=l+48|0;g=h+32|0;f=h;b=XD(a,-1,8)|0;d=YD(a,0,f)|0;WD(a,2,8,f)|0;d=(d|0)==0;e=(b|0)<0;if(e&d)Zf(a);else{if(d)c[f+16>>2]=3;else b=e?8:b;c[f+8>>2]=b;c[f+20>>2]=0;e=qD(a,g,0)|0;b=c[g>>2]|0;do if((b|0)==1){Zf(a);b=0}else{if(c[(c[(c[a+16>>2]|0)+8>>2]|0)+84>>2]|0){Zf(a);b=0;break}c[f+12>>2]=1;d=0;while(1){if((d|0)>=(b|0))break;b=c[e+(d<<2)>>2]|0;_f(b,a);Zf(b);d=d+1|0;b=c[g>>2]|0}$f(a);VD(c[g>>2]|0,e,a,f)|0;ag(a);bg(c[g>>2]|0,e,a);b=0}while(0);while(1){if((b|0)>=(c[g>>2]|0))break;f=e+(b<<2)|0;C_(c[(c[(c[f>>2]|0)+16>>2]|0)+8>>2]|0);Vf(c[f>>2]|0);cz(a,c[f>>2]|0)|0;b=b+1|0}C_(e)}l=h;return}function Zf(a){a=a|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0;m=l;l=l+48|0;k=m+40|0;e=m;i=JL(a,mx(a,0,85007,0)|0,-1,1)|0;_M(a,10);d=Mk(a,e)|0;dg(a,a);Pf(a);f=(i|0)==1;g=e+32|0;h=(i|0)==2;i=(i|0)==3;j=e+28|0;e=e+24|0;while(1){yj(a,d);if(f){d=3;break}if(c[g>>2]|0){Ow(0,85013,k)|0;c[e>>2]=0;d=0}Ih(a,(d|0)!=0&1);if(h){d=7;break}Li(a,d);if(i){d=9;break}n=(c[j>>2]|0)+-1|0;c[j>>2]=n;if(!((n|0)!=0&(c[e>>2]|0)!=0)){d=11;break}}if((d|0)==3)eg(a,1);else if((d|0)==7)eg(a,2);else if((d|0)==9)eg(a,2);else if((d|0)==11){if(b[(c[a+16>>2]|0)+136>>1]&16)fg(a);sk(a);jg(a);if((PL(wx(a,85104)|0)|0)<<24>>24)ml(a)}l=m;return}function _f(b,d){b=b|0;d=d|0;var e=0,f=0;zz(b,134401,280,1)|0;e=tH(96)|0;b=c[b+16>>2]|0;c[b+8>>2]=e;d=c[d+16>>2]|0;f=c[d+8>>2]|0;h[e>>3]=+h[f>>3];h[e+24>>3]=+h[f+24>>3];c[b+144>>2]=c[d+144>>2];a[b+115>>0]=a[d+115>>0]|0;c[b+116>>2]=c[d+116>>2];c[b+248>>2]=c[d+248>>2];c[b+252>>2]=c[d+252>>2];c[b+244>>2]=c[d+244>>2];return}function $f(a){a=a|0;var b=0,d=0,e=0;b=tH(($x(a)|0)<<4)|0;d=Ry(a)|0;while(1){if(!d)break;e=c[d+16>>2]|0;c[e+132>>2]=b;h[b>>3]=+h[e+16>>3]*.013888888888888888;h[b+8>>3]=+h[e+24>>3]*.013888888888888888;b=b+16|0;d=Sy(a,d)|0}return}function ag(a){a=a|0;var b=0,d=0,e=0,f=0;e=c[(c[(Ry(a)|0)+16>>2]|0)+132>>2]|0;b=e;d=Ry(a)|0;while(1){if(!d)break;f=c[d+16>>2]|0;c[f+132>>2]=0;h[f+16>>3]=+h[b>>3]*72.0;h[f+24>>3]=+h[b+8>>3]*72.0;b=b+16|0;d=Sy(a,d)|0}C_(e);return}function bg(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0;e=0;f=0;while(1){if((e|0)>=(a|0))break;i=(c[(c[(c[b+(e<<2)>>2]|0)+16>>2]|0)+180>>2]|0)+f|0;e=e+1|0;f=i}i=d+16|0;c[(c[i>>2]|0)+180>>2]=f;g=tH((f<<2)+4|0)|0;c[(c[i>>2]|0)+184>>2]=g;g=0;e=1;while(1){if((g|0)>=(a|0))break;h=(c[b+(g<<2)>>2]|0)+16|0;f=1;while(1){d=c[h>>2]|0;if((f|0)>(c[d+180>>2]|0))break;d=pD(c[(c[d+184>>2]|0)+(f<<2)>>2]|0)|0;c[(c[(c[i>>2]|0)+184>>2]|0)+(e<<2)>>2]=d;cg(c[(c[(c[h>>2]|0)+184>>2]|0)+(f<<2)>>2]|0,d);f=f+1|0;e=e+1|0}g=g+1|0}return}function cg(b,d){b=b|0;d=d|0;var e=0,f=0,g=0;zz(d,134401,280,1)|0;g=d+16|0;d=(c[g>>2]|0)+16|0;f=b+16|0;b=(c[f>>2]|0)+16|0;c[d>>2]=c[b>>2];c[d+4>>2]=c[b+4>>2];c[d+8>>2]=c[b+8>>2];c[d+12>>2]=c[b+12>>2];c[d+16>>2]=c[b+16>>2];c[d+20>>2]=c[b+20>>2];c[d+24>>2]=c[b+24>>2];c[d+28>>2]=c[b+28>>2];b=c[f>>2]|0;d=c[g>>2]|0;a[d+275>>0]=a[b+275>>0]|0;d=d+48|0;b=b+48|0;e=d+64|0;do{c[d>>2]=c[b>>2];d=d+4|0;b=b+4|0}while((d|0)<(e|0));b=c[(c[f>>2]|0)+180>>2]|0;c[(c[g>>2]|0)+180>>2]=b;d=tH((b<<2)+4|0)|0;c[(c[g>>2]|0)+184>>2]=d;d=1;while(1){e=c[f>>2]|0;if((d|0)>(b|0))break;e=pD(c[(c[e+184>>2]|0)+(d<<2)>>2]|0)|0;c[(c[(c[g>>2]|0)+184>>2]|0)+(d<<2)>>2]=e;cg(c[(c[(c[f>>2]|0)+184>>2]|0)+(d<<2)>>2]|0,e);d=d+1|0}f=e+12|0;c[(c[g>>2]|0)+12>>2]=c[f>>2];c[f>>2]=0;return}function dg(a,b){a=a|0;b=b|0;if((ez(a)|0)!=(a|0))zz(a,134401,280,1)|0;if((a|0)==(b|0))c[(c[(ez(a)|0)+16>>2]|0)+188>>2]=a;a=vA(a)|0;while(1){if(!a)break;dg(a,b);a=wA(a)|0}return}function eg(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0;m=l;l=l+1040|0;k=m+8|0;j=m;e=m+16|0;f=mx(a,1,87076,191979)|0;g=mx(a,1,85147,191979)|0;h=(b|0)>0;d=(b|0)==1;b=Ry(a)|0;while(1){if(!b)break;if(h?(i=b+16|0,c[j>>2]=c[(c[i>>2]|0)+232>>2],X0(e,134313,j)|0,qx(b,f,e)|0,!d):0){c[k>>2]=c[(c[i>>2]|0)+236>>2];X0(e,134313,k)|0;qx(b,g,e)|0}b=Sy(a,b)|0}l=m;return}function fg(a){a=a|0;var b=0,c=0,d=0;c=uA(a,86580,0)|0;if(c|0){b=Ry(c)|0;while(1){if(!b)break;d=Sy(c,b)|0;rh(a,b);gg(a,b);Uf(b);bz(a,b)|0;b=d}yA(a,c)|0}return}function gg(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0;j=c[(c[b+16>>2]|0)+232>>2]|0;i=a+16|0;a=c[(c[i>>2]|0)+196>>2]|0;d=c[a+(j<<6)>>2]|0;h=a+(j<<6)+4|0;g=0;e=0;while(1){if((e|0)>=(d|0)){f=7;break}f=c[(c[h>>2]|0)+(e<<2)>>2]|0;e=e+1|0;if((f|0)==(b|0)){f=4;break}else g=f}if((f|0)==4){while(1){if((e|0)>=(d|0))break;f=c[a+(j<<6)+4>>2]|0;c[f+(e+-1<<2)>>2]=c[f+(e<<2)>>2];f=c[(c[i>>2]|0)+196>>2]|0;e=e+1|0;d=c[f+(j<<6)>>2]|0;a=f;f=4}c[a+(j<<6)>>2]=d+-1}else if((f|0)==7?(g|0)!=(b|0):0)qa(85113,85120,248,85130);return}function hg(a){a=a|0;return c[(c[(ez(a)|0)+16>>2]|0)+188>>2]|0}function ig(b,c){b=b|0;c=c|0;var d=0;d=a[b+28>>0]|0;if(a[c+28>>0]|0)if(d<<24>>24){d=~~(+h[b>>3]-+h[c>>3]);if(!d)d=~~(+h[b+8>>3]-+h[c+8>>3])}else d=-1;else d=d<<24>>24!=0&1;return d|0}function jg(a){a=a|0;kg(a,1);return}function kg(d,e){d=d|0;e=e|0;var f=0,g=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0.0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0.0;Z=l;l=l+656|0;O=Z+592|0;N=Z+552|0;f=Z+544|0;T=Z+96|0;U=Z;Y=Z+632|0;V=d+16|0;X=b[(c[V>>2]|0)+136>>1]&14;P=X&65535;Q=T+16|0;c[Q>>2]=Z+368;R=U+16|0;c[R>>2]=Z+192;do if(X<<16>>16){S=X<<16>>16==4;do if(S){lg(d);if(!(a[(c[(c[d+60>>2]|0)+16>>2]|0)+113>>0]&1))A=9;else{Ow(0,85153,f)|0;A=9}}else if(X<<16>>16==8){lg(d);if(!(a[(c[(c[d+60>>2]|0)+16>>2]|0)+113>>0]&1)){bN(d,0);n=0;m=0;k=0;break}else{mg(d);bN(d,1);n=0;m=0;k=0;break}}else A=9;while(0);if((A|0)==9){kl(d);if(pJ()|0)break;W=tH(96)|0;K=c[(c[V>>2]|0)+248>>2]|0;c[Y+8>>2]=(K|0)/4|0;c[Y+12>>2]=K;k=tH(512)|0;F=Y+4|0;c[F>>2]=0;c[Y>>2]=0;j=c[V>>2]|0;C=b[j+236>>1]|0;D=0;L=0;M=k;E=k;m=k;n=k;o=k;H=0;I=0;a:while(1){if((C|0)>(b[j+238>>1]|0))break;p=c[j+196>>2]|0;i=c[p+(C<<6)>>2]|0;G=i+D|0;g=c[p+(C<<6)+4>>2]|0;f=c[g>>2]|0;if(!f)f=H;else{_=+(H|0);f=c[f+16>>2]|0;y=+h[f+16>>3]-+h[f+88>>3];f=~~(y>_?_:y)}if((i|0)!=0?(J=c[g+(i+-1<<2)>>2]|0,(J|0)!=0):0){y=+(I|0);g=c[J+16>>2]|0;_=+h[g+96>>3]+ +h[g+16>>3];g=~~(_=(i|0))break;k=c[(c[f+(C<<6)+4>>2]|0)+(x<<2)>>2]|0;w=k+16|0;f=c[w>>2]|0;i=c[f+112>>2]|0;if(i){i=i+16|0;j=c[(c[i>>2]|0)+96>>2]|0;if(!j){A=21;break a}s=j+56|0;f=f+16|0;c[s>>2]=c[f>>2];c[s+4>>2]=c[f+4>>2];c[s+8>>2]=c[f+8>>2];c[s+12>>2]=c[f+12>>2];a[(c[(c[i>>2]|0)+96>>2]|0)+81>>0]=1;f=c[w>>2]|0}if((a[f+156>>0]|0)!=0?(kb[c[17300>>2]&63](k)|0)<<24>>24==0:0){q=t;f=r;j=u;k=v;i=o}else{s=0;q=t;j=u;k=v;A=25}b:do if((A|0)==25){while(1){A=0;p=c[w>>2]|0;i=c[(c[p+180>>2]|0)+(s<<2)>>2]|0;if(!i)break;switch(a[(c[i+16>>2]|0)+112>>0]|0){case 6:case 4:{f=q;i=r;break}default:{ng(i,1,16,64);f=q+1|0;c[r+(q<<2)>>2]=i;if(!(f&127)){g=wH(g,(q<<2)+516|0)|0;i=g;j=g;k=g;n=g;o=g}else i=r}}s=s+1|0;q=f;r=i;A=25}f=c[p+188>>2]|0;c:do if(!f)i=o;else{s=0;i=o;while(1){f=c[f+(s<<2)>>2]|0;if(!f)break c;ng(f,2,0,128);o=q+1|0;c[r+(q<<2)>>2]=f;if(!(o&127)){g=wH(i,(q<<2)+516|0)|0;f=g;j=g;k=g;n=g;i=g}else f=r;p=c[w>>2]|0;s=s+1|0;q=o;r=f;f=c[p+188>>2]|0}}while(0);f=c[p+204>>2]|0;if(!f)f=r;else{if(!(a[p+156>>0]|0)){v=p+96|0;_=+h[v>>3];s=p+240|0;h[v>>3]=+h[s>>3];h[s>>3]=_;s=0;p=r}else{s=0;p=r}while(1){f=c[f+(s<<2)>>2]|0;if(!f){f=p;break b}ng(f,0,0,128);o=q+1|0;c[p+(q<<2)>>2]=f;if(!(o&127)){g=wH(n,(q<<2)+516|0)|0;f=g;j=g;k=g;n=g;i=g}else f=p;s=s+1|0;q=o;p=f;f=c[(c[w>>2]|0)+204>>2]|0}}}while(0);u=c[V>>2]|0;w=c[u+196>>2]|0;x=x+1|0;t=q;r=f;q=u;u=j;v=k;o=i;i=c[w+(C<<6)>>2]|0;f=w}C=C+1|0;D=G;L=t;M=r;E=u;j=q;m=v;k=g;H=B;I=z}if((A|0)==21)qa(85221,85234,313,85247);c[Y>>2]=H;c[F>>2]=I;Z0(E,L,4,58);c[W+84>>2]=tH((D<<5)+11520|0)|0;c[Y+16>>2]=tH(C<<5)|0;d:do if(X<<16>>16==2){f=(c[V>>2]|0)+192|0;while(1){g=c[f>>2]|0;if(!g)break d;i=g+16|0;f=c[i>>2]|0;if((a[f+156>>0]|0)==1?(c[f+104>>2]|0)!=0:0){pg(g);f=c[i>>2]|0}f=f+164|0}}while(0);z=U+48|0;A=U+-48|0;B=T+48|0;C=T+-48|0;y=+(K|0);x=0;e:while(1){if((x|0)>=(L|0))break;v=M+(x<<2)|0;r=c[v>>2]|0;s=qg(r)|0;t=r+16|0;g=c[t>>2]|0;if(!(a[g+44>>0]|0)){g=(a[g+84>>0]|0)==0?s:r;f=g;g=c[g+16>>2]|0}else f=r;i=f+16|0;if(c[g+164>>2]&32){g=c[Q>>2]|0;E3(g|0,c[i>>2]|0,176)|0;n=T;o=f;p=n+48|0;do{c[n>>2]=c[o>>2];n=n+4|0;o=o+4|0}while((n|0)<(p|0));c[Q>>2]=g;o=c[f>>2]&3;n=c[T>>2]&3;c[((n|0)==3?T:B)+40>>2]=c[((o|0)==2?f:f+-48|0)+40>>2];c[((n|0)==2?T:C)+40>>2]=c[((o|0)==3?f:f+48|0)+40>>2];n=g+16|0;o=(c[i>>2]|0)+56|0;p=n+40|0;do{c[n>>2]=c[o>>2];n=n+4|0;o=o+4|0}while((n|0)<(p|0));n=g+56|0;o=(c[i>>2]|0)+16|0;p=n+40|0;do{c[n>>2]=c[o>>2];n=n+4|0;o=o+4|0}while((n|0)<(p|0));a[g+112>>0]=1;c[g+116>>2]=f;f=T}q=f+16|0;w=1;f=x;while(1){u=f+1|0;if((u|0)>=(L|0))break;j=M+(u<<2)|0;f=c[j>>2]|0;if((s|0)!=(qg(f)|0))break;if(!(a[(c[t>>2]|0)+113>>0]|0)){k=f+16|0;g=c[k>>2]|0;if(!(a[g+44>>0]|0)){g=(a[g+84>>0]|0)==0?s:f;f=g;g=c[g+16>>2]|0}i=f+16|0;if(c[g+164>>2]&32){g=c[R>>2]|0;E3(g|0,c[i>>2]|0,176)|0;n=U;o=f;p=n+48|0;do{c[n>>2]=c[o>>2];n=n+4|0;o=o+4|0}while((n|0)<(p|0));c[R>>2]=g;o=c[f>>2]&3;n=c[U>>2]&3;c[((n|0)==3?U:z)+40>>2]=c[((o|0)==2?f:f+-48|0)+40>>2];c[((n|0)==2?U:A)+40>>2]=c[((o|0)==3?f:f+48|0)+40>>2];n=g+16|0;o=(c[i>>2]|0)+56|0;p=n+40|0;do{c[n>>2]=c[o>>2];n=n+4|0;o=o+4|0}while((n|0)<(p|0));n=g+56|0;o=(c[i>>2]|0)+16|0;p=n+40|0;do{c[n>>2]=c[o>>2];n=n+4|0;o=o+4|0}while((n|0)<(p|0));a[g+112>>0]=1;c[g+116>>2]=f}i=c[q>>2]|0;f=g+16|0;n=N;o=i+16|0;p=n+40|0;do{c[n>>2]=c[o>>2];n=n+4|0;o=o+4|0}while((n|0)<(p|0));n=O;o=f;p=n+40|0;do{c[n>>2]=c[o>>2];n=n+4|0;o=o+4|0}while((n|0)<(p|0));if(ig(N,O)|0)break;f=g+56|0;n=N;o=i+56|0;p=n+40|0;do{c[n>>2]=c[o>>2];n=n+4|0;o=o+4|0}while((n|0)<(p|0));n=O;o=f;p=n+40|0;do{c[n>>2]=c[o>>2];n=n+4|0;o=o+4|0}while((n|0)<(p|0));if(ig(N,O)|0)break;K=c[t>>2]|0;if((c[K+164>>2]&15|0)==2?(c[K+96>>2]|0)!=(c[(c[k>>2]|0)+96>>2]|0):0)break;if(c[(c[(c[j>>2]|0)+16>>2]|0)+164>>2]&64|0)break}w=w+1|0;f=u}if(S){if((w|0)==1)f=O;else f=tH(w<<2)|0;c[f>>2]=qg(c[v>>2]|0)|0;g=1;while(1){if((g|0)>=(w|0))break;c[f+(g<<2)>>2]=c[v+(g<<2)>>2];g=g+1|0}zJ(d,f,w,P,17296);if((w|0)>1)C_(f);x=u;continue}f=c[r>>2]&3;K=c[((f|0)==3?r:r+48|0)+40>>2]|0;f=c[((f|0)==2?r:r+-48|0)+40>>2]|0;g=c[K+16>>2]|0;i=c[g+232>>2]|0;if((K|0)!=(f|0))if((i|0)==(c[(c[f+16>>2]|0)+232>>2]|0)){rg(d,Y,W,M,x,w,P);x=u;continue}else{sg(d,Y,W,M,x,w,P);x=u;continue}f=c[V>>2]|0;do if((i|0)==(b[f+238>>1]|0))if((i|0)>0){f=~~(+h[(c[(c[c[(c[f+196>>2]|0)+(i+-1<<6)+4>>2]>>2]|0)+16>>2]|0)+24>>3]-+h[g+24>>3]);break}else{f=~~+h[g+80>>3];break}else if((i|0)==(b[f+236>>1]|0)){f=~~(+h[g+24>>3]-+h[(c[(c[c[(c[f+196>>2]|0)+(i+1<<6)+4>>2]>>2]|0)+16>>2]|0)+24>>3]);break}else{f=c[f+196>>2]|0;_=+h[g+24>>3];K=~~(+h[(c[(c[c[f+(i+-1<<6)+4>>2]>>2]|0)+16>>2]|0)+24>>3]-_);f=~~(_-+h[(c[(c[c[f+(i+1<<6)+4>>2]>>2]|0)+16>>2]|0)+24>>3]);f=(K|0)<(f|0)?K:f;break}while(0);XK(W,M,x,w,y,+((f|0)/2|0|0),17296);f=0;while(1){if((f|0)>=(w|0)){x=u;continue e}g=c[(c[(c[M+(f+x<<2)>>2]|0)+16>>2]|0)+96>>2]|0;if(g|0)jM(d,g);f=f+1|0}}f=(c[V>>2]|0)+192|0;while(1){g=c[f>>2]|0;if(!g)break;i=g+16|0;f=c[i>>2]|0;if((a[f+156>>0]|0)==1?(c[f+104>>2]|0)!=0:0){pg(g);jM(d,c[(c[i>>2]|0)+104>>2]|0);f=c[i>>2]|0}f=f+164|0}if(!e){n=W;k=W}else{tg(d);n=W;k=W}}f:do if((c[46427]|0)!=0|(c[46428]|0)!=0?(c[46433]|0)!=0|(c[46432]|0)!=0:0){j=Ry(d)|0;while(1){if(!j)break f;g:do if(c[46427]|0){f=Gx(d,j)|0;while(1){if(!f)break g;g=f+-48|0;i=(c[f>>2]&3|0)==2?f:g;if(c[(c[i+16>>2]|0)+100>>2]|0){dL(i,1)|0;jM(d,c[(c[((c[f>>2]&3|0)==2?f:g)+16>>2]|0)+100>>2]|0)}f=Hx(d,f)|0}}while(0);h:do if(c[46428]|0){f=Dx(d,j)|0;while(1){if(!f)break h;g=f+16|0;if(c[(c[g>>2]|0)+104>>2]|0?dL(f,0)|0:0)jM(d,c[(c[g>>2]|0)+104>>2]|0);f=Fx(d,f)|0}}while(0);j=Sy(d,j)|0}}while(0);switch(X&15){case 4:case 8:break;default:{C_(m);C_(c[n+84>>2]|0);C_(k);C_(c[Y+16>>2]|0);qJ()}}c[46367]=1;c[46368]=1}while(0);l=Z;return}function lg(a){a=a|0;var b=0,d=0,e=0.0,f=0;b=Ry(a)|0;while(1){if(!b)break;d=c[b+16>>2]|0;if(c[d+204>>2]|0){f=d+96|0;e=+h[f>>3];d=d+240|0;h[f>>3]=+h[d>>3];h[d>>3]=e}b=Sy(a,b)|0}return}function mg(b){b=b|0;var d=0,e=0,f=0,g=0;d=(c[b+16>>2]|0)+192|0;a:while(1){f=c[d>>2]|0;if(!f){d=12;break}g=f+16|0;d=c[g>>2]|0;do if((a[d+156>>0]|0)==1){e=c[d+112>>2]|0;if(!e){e=c[d+104>>2]|0;if(!e)break;pg(f);d=e}else{e=c[(c[e+16>>2]|0)+96>>2]|0;if(!e){d=6;break a}f=e+56|0;d=d+16|0;c[f>>2]=c[d>>2];c[f+4>>2]=c[d+4>>2];c[f+8>>2]=c[d+8>>2];c[f+12>>2]=c[d+12>>2];a[e+81>>0]=1;d=e}jM(b,d);d=c[g>>2]|0}while(0);d=d+164|0}if((d|0)==6)qa(85421,85234,234,85440);else if((d|0)==12)return}function ng(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0;do if(!d){g=c[b>>2]&3;d=c[((g|0)==3?b:b+48|0)+40>>2]|0;g=c[((g|0)==2?b:b+-48|0)+40>>2]|0;if((d|0)!=(g|0)){d=(c[(c[d+16>>2]|0)+232>>2]|0)==(c[(c[g+16>>2]|0)+232>>2]|0)?2:1;break}d=c[b+16>>2]|0;if(!(a[d+44>>0]|0))d=(a[d+84>>0]|0)==0?8:4;else d=4}while(0);a:do if(!e)switch(d|0){case 1:{e=c[b>>2]&3;e=(c[(c[(c[((e|0)==3?b:b+48|0)+40>>2]|0)+16>>2]|0)+232>>2]|0)<(c[(c[(c[((e|0)==2?b:b+-48|0)+40>>2]|0)+16>>2]|0)+232>>2]|0)?16:32;break a}case 2:{e=c[b>>2]&3;e=(c[(c[(c[((e|0)==3?b:b+48|0)+40>>2]|0)+16>>2]|0)+236>>2]|0)<(c[(c[(c[((e|0)==2?b:b+-48|0)+40>>2]|0)+16>>2]|0)+236>>2]|0)?16:32;break a}default:{e=16;break a}}while(0);c[(c[b+16>>2]|0)+164>>2]=d|f|e;return}function og(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0;D=l;l=l+624|0;z=D+584|0;y=D+544|0;s=D+368|0;e=D+192|0;t=D+96|0;v=D;u=t+16|0;c[u>>2]=s;w=v+16|0;c[w>>2]=e;C=c[b>>2]|0;B=c[d>>2]|0;x=C+16|0;q=c[x>>2]|0;d=c[q+164>>2]|0;f=d&15;A=B+16|0;b=c[A>>2]|0;g=c[b+164>>2]&15;do if((g|0)==(f|0)){p=qg(C)|0;r=qg(B)|0;n=c[p>>2]|0;g=n&3;f=c[(c[((g|0)==3?p:p+48|0)+40>>2]|0)+16>>2]|0;g=c[(c[((g|0)==2?p:p+-48|0)+40>>2]|0)+16>>2]|0;i=(c[f+232>>2]|0)-(c[g+232>>2]|0)|0;o=c[r>>2]|0;m=o&3;k=c[(c[((m|0)==3?r:r+48|0)+40>>2]|0)+16>>2]|0;m=c[(c[((m|0)==2?r:r+-48|0)+40>>2]|0)+16>>2]|0;j=(c[k+232>>2]|0)-(c[m+232>>2]|0)|0;i=(i|0)>-1?i:0-i|0;j=(j|0)>-1?j:0-j|0;if((i|0)!=(j|0)){b=i-j|0;break}g=~~(+h[f+16>>3]-+h[g+16>>3]);g=(g|0)>-1?g:0-g|0;f=~~(+h[k+16>>3]-+h[m+16>>3]);f=(f|0)>-1?f:0-f|0;if((g|0)!=(f|0)){b=g-f|0;break}g=n>>>4;f=o>>>4;if((g|0)!=(f|0)){b=g-f|0;break}if(!(a[q+44>>0]|0)){d=(a[q+84>>0]|0)==0?p:C;g=d;d=c[(c[d+16>>2]|0)+164>>2]|0}else g=C;f=g+16|0;if(d&32){E3(s|0,c[f>>2]|0,176)|0;i=t;j=g;k=i+48|0;do{c[i>>2]=c[j>>2];i=i+4|0;j=j+4|0}while((i|0)<(k|0));c[u>>2]=s;j=c[g>>2]&3;i=c[t>>2]&3;c[((i|0)==3?t:t+48|0)+40>>2]=c[((j|0)==2?g:g+-48|0)+40>>2];c[((i|0)==2?t:t+-48|0)+40>>2]=c[((j|0)==3?g:g+48|0)+40>>2];i=s+16|0;j=(c[f>>2]|0)+56|0;k=i+40|0;do{c[i>>2]=c[j>>2];i=i+4|0;j=j+4|0}while((i|0)<(k|0));i=s+56|0;j=(c[f>>2]|0)+16|0;k=i+40|0;do{c[i>>2]=c[j>>2];i=i+4|0;j=j+4|0}while((i|0)<(k|0));a[s+112>>0]=1;c[s+116>>2]=g;g=t;b=c[A>>2]|0}if(!(a[b+44>>0]|0)){b=(a[b+84>>0]|0)==0?r:B;f=b;b=c[b+16>>2]|0}else f=B;d=f+16|0;if(!(c[b+164>>2]&32))e=b;else{E3(e|0,c[d>>2]|0,176)|0;i=v;j=f;k=i+48|0;do{c[i>>2]=c[j>>2];i=i+4|0;j=j+4|0}while((i|0)<(k|0));c[w>>2]=e;j=c[f>>2]&3;i=c[v>>2]&3;c[((i|0)==3?v:v+48|0)+40>>2]=c[((j|0)==2?f:f+-48|0)+40>>2];c[((i|0)==2?v:v+-48|0)+40>>2]=c[((j|0)==3?f:f+48|0)+40>>2];i=e+16|0;j=(c[d>>2]|0)+56|0;k=i+40|0;do{c[i>>2]=c[j>>2];i=i+4|0;j=j+4|0}while((i|0)<(k|0));i=e+56|0;j=(c[d>>2]|0)+16|0;k=i+40|0;do{c[i>>2]=c[j>>2];i=i+4|0;j=j+4|0}while((i|0)<(k|0));a[e+112>>0]=1;c[e+116>>2]=f}d=c[g+16>>2]|0;b=e+16|0;i=y;j=d+16|0;k=i+40|0;do{c[i>>2]=c[j>>2];i=i+4|0;j=j+4|0}while((i|0)<(k|0));i=z;j=b;k=i+40|0;do{c[i>>2]=c[j>>2];i=i+4|0;j=j+4|0}while((i|0)<(k|0));b=ig(y,z)|0;if(!b){b=e+56|0;i=y;j=d+56|0;k=i+40|0;do{c[i>>2]=c[j>>2];i=i+4|0;j=j+4|0}while((i|0)<(k|0));i=z;j=b;k=i+40|0;do{c[i>>2]=c[j>>2];i=i+4|0;j=j+4|0}while((i|0)<(k|0));b=ig(y,z)|0;if(!b){d=c[(c[x>>2]|0)+164>>2]&192;b=c[(c[A>>2]|0)+164>>2]&192;if((d|0)==(b|0)){b=((c[C>>2]|0)>>>4)-((c[B>>2]|0)>>>4)|0;break}else{b=d-b|0;break}}}}else b=g-f|0;while(0);l=D;return b|0}function pg(b){b=b|0;var d=0,e=0,f=0,g=0.0,i=0.0;f=b+16|0;d=c[f>>2]|0;if(c[d+176>>2]|0){d=c[d+180>>2]|0;while(1){d=(c[d>>2]|0)+16|0;e=c[d>>2]|0;if(!(a[e+112>>0]|0))break;else d=e+116|0}e=c[e+96>>2]|0;g=+h[e+24>>3];i=+h[e+32>>3];e=(c[(c[(dz(b)|0)+16>>2]|0)+116>>2]&1|0)!=0;b=c[f>>2]|0;f=c[(c[d>>2]|0)+96>>2]|0;h[f+56>>3]=(e?i:g)*.5+ +h[b+16>>3];h[f+64>>3]=+h[b+24>>3];a[f+81>>0]=1}return}function qg(a){a=a|0;var b=0,d=0;while(1){b=c[a+16>>2]|0;d=c[b+172>>2]|0;if(!d)break;else a=d}while(1){b=c[b+116>>2]|0;if(!b)break;a=b;b=c[b+16>>2]|0}return a|0}function rg(b,d,e,f,g,i,j){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;i=i|0;j=j|0;var k=0,m=0.0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0.0,w=0,x=0,y=0,z=0,A=0,B=0,C=0.0,D=0.0,E=0.0,F=0.0,G=0.0;B=l;l=l+1712|0;x=B+1664|0;s=B+1488|0;t=B+1392|0;A=B+1696|0;y=B+696|0;z=B;p=t+16|0;c[p>>2]=s;q=c[f+(g<<2)>>2]|0;r=q+16|0;k=c[r>>2]|0;u=a[k+113>>0]|0;if(c[k+164>>2]&32){E3(s|0,k|0,176)|0;k=t;n=q;o=k+48|0;do{c[k>>2]=c[n>>2];k=k+4|0;n=n+4|0}while((k|0)<(o|0));c[p>>2]=s;k=c[t>>2]&3;c[((k|0)==3?t:t+48|0)+40>>2]=c[((c[q>>2]&3|0)==2?q:q+-48|0)+40>>2];c[((k|0)==2?t:t+-48|0)+40>>2]=c[((c[q>>2]&3|0)==3?q:q+48|0)+40>>2];k=s+16|0;n=(c[r>>2]|0)+56|0;o=k+40|0;do{c[k>>2]=c[n>>2];k=k+4|0;n=n+4|0}while((k|0)<(o|0));k=s+56|0;n=(c[r>>2]|0)+16|0;o=k+40|0;do{c[k>>2]=c[n>>2];k=k+4|0;n=n+4|0}while((k|0)<(o|0));a[s+112>>0]=1;c[s+116>>2]=q;q=t}k=1;while(1){if((k|0)>=(i|0)){w=6;break}if(!(a[(c[(c[f+(k+g<<2)>>2]|0)+16>>2]|0)+113>>0]|0))k=k+1|0;else{w=7;break}}a:do if((w|0)==6)if(!(u<<24>>24)){k=c[q+16>>2]|0;if(c[k+96>>2]|0){Rg(b,d,e,q,j);break}if((j|0)==2){A=c[q>>2]&3;Sg(c[((A|0)==3?q:q+48|0)+40>>2]|0,c[((A|0)==2?q:q+-48|0)+40>>2]|0,f,g,i,2);break}t=a[k+49>>0]|0;u=a[k+89>>0]|0;if(!(t<<24>>24==1&u<<24>>24!=4)?!(t<<24>>24!=4&u<<24>>24==1):0){p=c[q>>2]&3;o=c[((p|0)==3?q:q+48|0)+40>>2]|0;p=c[((p|0)==2?q:q+-48|0)+40>>2]|0;k=c[o+16>>2]|0;n=c[k+232>>2]|0;if((n|0)>0){u=c[(c[b+16>>2]|0)+196>>2]|0;t=n+~(a[(c[(c[b+60>>2]|0)+16>>2]|0)+113>>0]&1)|0;m=+h[(c[(c[c[u+(t<<6)+4>>2]>>2]|0)+16>>2]|0)+24>>3]-+h[u+(t<<6)+16>>3]-+h[k+24>>3]-+h[u+(n<<6)+24>>3]}else m=+(c[(c[b+16>>2]|0)+252>>2]|0);C=+(i+1|0);v=+(c[d+12>>2]|0)/C;m=m/C;Ug(b,d,e,o,q,y,1);Ug(b,d,e,p,q,z,0);s=y+52|0;t=z+52|0;p=(j|0)==10;q=e+80|0;k=0;while(1){if((k|0)>=(i|0))break a;r=c[f+(k+g<<2)>>2]|0;o=c[s>>2]|0;n=o+-1|0;G=+h[y+56+(n<<5)>>3];F=+h[y+56+(n<<5)+16>>3];E=+h[y+56+(n<<5)+24>>3];h[18830]=G;h[18831]=E;k=k+1|0;C=+(k|0);D=v*C;h[18832]=F+D;C=E+m*C;h[18833]=C;h[18834]=G;h[18835]=C;n=(c[t>>2]|0)+-1|0;G=+h[z+56+(n<<5)+16>>3];h[18836]=G;h[18837]=C+m;E=+h[z+56+(n<<5)>>3];F=+h[z+56+(n<<5)+24>>3];h[18840]=G;h[18839]=F;h[18838]=E-D;h[18841]=C;n=0;while(1){if((n|0)>=(o|0)){n=0;break}o=y+56+(n<<5)|0;c[x>>2]=c[o>>2];c[x+4>>2]=c[o+4>>2];c[x+8>>2]=c[o+8>>2];c[x+12>>2]=c[o+12>>2];c[x+16>>2]=c[o+16>>2];c[x+20>>2]=c[o+20>>2];c[x+24>>2]=c[o+24>>2];c[x+28>>2]=c[o+28>>2];RK(e,x);n=n+1|0;o=c[s>>2]|0}while(1){if((n|0)==3)break;j=150640+(n<<5)|0;c[x>>2]=c[j>>2];c[x+4>>2]=c[j+4>>2];c[x+8>>2]=c[j+8>>2];c[x+12>>2]=c[j+12>>2];c[x+16>>2]=c[j+16>>2];c[x+20>>2]=c[j+20>>2];c[x+24>>2]=c[j+24>>2];c[x+28>>2]=c[j+28>>2];RK(e,x);n=n+1|0}o=c[t>>2]|0;while(1){n=o+-1|0;if((o|0)<=0)break;o=z+56+(n<<5)|0;c[x>>2]=c[o>>2];c[x+4>>2]=c[o+4>>2];c[x+8>>2]=c[o+8>>2];c[x+12>>2]=c[o+12>>2];c[x+16>>2]=c[o+16>>2];c[x+20>>2]=c[o+20>>2];c[x+24>>2]=c[o+24>>2];c[x+28>>2]=c[o+28>>2];RK(e,x);o=n}if(p)n=rJ(e,A)|0;else n=xJ(e,A)|0;o=c[A>>2]|0;if(!o)break a;PK(r,c[((c[r>>2]&3|0)==2?r:r+-48|0)+40>>2]|0,n,o,17296);c[q>>2]=0}}Tg(b,d,e,f,g,i,q,(j|0)==10&1)}else w=7;while(0);if((w|0)==7)Qg(b,f,g,i,q,j);l=B;return}function sg(b,d,e,f,g,i,j){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;i=i|0;j=j|0;var k=0,m=0.0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0;ba=l;l=l+2576|0;S=ba+2528|0;_=ba+2568|0;k=ba+2352|0;n=ba+2176|0;t=ba+1904|0;Y=ba+1808|0;$=ba+1712|0;T=ba+1016|0;U=ba+320|0;V=ba+256|0;X=ba+2564|0;Z=ba+2560|0;z=ba+288|0;A=ba+224|0;L=ba+192|0;M=ba+160|0;N=ba+128|0;P=ba+96|0;Q=ba+64|0;R=ba+32|0;W=ba;s=t+16|0;c[s>>2]=k;o=Y+16|0;c[o>>2]=n;aa=$+16|0;c[aa>>2]=ba+2e3;if(!(c[45964]|0)){c[45964]=uH(32e3)|0;c[45965]=uH(32e3)|0;c[45966]=2e3;c[45967]=2e3}u=c[f+(g<<2)>>2]|0;K=c[u>>2]&3;p=u+48|0;q=u+-48|0;K=(c[(c[(c[((K|0)==3?u:p)+40>>2]|0)+16>>2]|0)+232>>2]|0)-(c[(c[(c[((K|0)==2?u:q)+40>>2]|0)+16>>2]|0)+232>>2]|0)|0;r=u+16|0;if((((K|0)>-1?K:0-K|0)|0)<=1){k=c[r>>2]|0;if(!(c[k+164>>2]&32)){K=u;n=0}else{n=c[s>>2]|0;E3(n|0,k|0,176)|0;w=t;x=u;y=w+48|0;do{c[w>>2]=c[x>>2];w=w+4|0;x=x+4|0}while((w|0)<(y|0));c[s>>2]=n;w=c[t>>2]&3;c[((w|0)==3?t:t+48|0)+40>>2]=c[((c[u>>2]&3|0)==2?u:q)+40>>2];c[((w|0)==2?t:t+-48|0)+40>>2]=c[((c[u>>2]&3|0)==3?u:p)+40>>2];w=n+16|0;x=(c[r>>2]|0)+56|0;y=w+40|0;do{c[w>>2]=c[x>>2];w=w+4|0;x=x+4|0}while((w|0)<(y|0));k=c[s>>2]|0;w=k+56|0;x=(c[r>>2]|0)+16|0;y=w+40|0;do{c[w>>2]=c[x>>2];w=w+4|0;x=x+4|0}while((w|0)<(y|0));a[k+112>>0]=1;n=0;J=12}}else{E3(k|0,c[r>>2]|0,176)|0;w=t;x=u;y=w+48|0;do{c[w>>2]=c[x>>2];w=w+4|0;x=x+4|0}while((w|0)<(y|0));w=t+48|0;x=p;y=w+48|0;do{c[w>>2]=c[x>>2];w=w+4|0;x=x+4|0}while((w|0)<(y|0));c[s>>2]=k;k=c[r>>2]|0;if(!(c[k+164>>2]&32)){E3(n|0,k|0,176)|0;w=Y;x=u;y=w+48|0;do{c[w>>2]=c[x>>2];w=w+4|0;x=x+4|0}while((w|0)<(y|0));c[o>>2]=n;o=c[t>>2]|0;c[((o&3|0)==3?t:t+48|0)+40>>2]=c[((c[u>>2]&3|0)==3?u:p)+40>>2];w=Y+48|0;x=p;y=w+48|0;do{c[w>>2]=c[x>>2];w=w+4|0;x=x+4|0}while((w|0)<(y|0))}else{n=c[o>>2]|0;E3(n|0,k|0,176)|0;w=Y;x=u;y=w+48|0;do{c[w>>2]=c[x>>2];w=w+4|0;x=x+4|0}while((w|0)<(y|0));c[o>>2]=n;w=c[Y>>2]&3;c[((w|0)==3?Y:Y+48|0)+40>>2]=c[((c[u>>2]&3|0)==2?u:q)+40>>2];c[((w|0)==2?Y:Y+-48|0)+40>>2]=c[((c[u>>2]&3|0)==3?u:p)+40>>2];w=n+16|0;x=(c[r>>2]|0)+56|0;y=w+40|0;do{c[w>>2]=c[x>>2];w=w+4|0;x=x+4|0}while((w|0)<(y|0));k=c[o>>2]|0;w=k+56|0;x=(c[r>>2]|0)+16|0;y=w+40|0;do{c[w>>2]=c[x>>2];w=w+4|0;x=x+4|0}while((w|0)<(y|0));a[k+112>>0]=1;c[k+116>>2]=u;o=c[t>>2]|0;c[((o&3|0)==3?t:t+48|0)+40>>2]=c[((c[u>>2]&3|0)==2?u:q)+40>>2];w=(c[s>>2]|0)+16|0;x=(c[r>>2]|0)+56|0;y=w+40|0;do{c[w>>2]=c[x>>2];w=w+4|0;x=x+4|0}while((w|0)<(y|0))}k=qg(u)|0;while(1){n=c[(c[k+16>>2]|0)+172>>2]|0;if(!n)break;else k=n}c[((o&3|0)==2?t:t+-48|0)+40>>2]=c[((c[k>>2]&3|0)==2?k:k+-48|0)+40>>2];k=c[s>>2]|0;a[k+84>>0]=0;a[k+112>>0]=1;n=k+56|0;c[n>>2]=0;c[n+4>>2]=0;c[n+8>>2]=0;c[n+12>>2]=0;n=1;J=12}if((J|0)==12){c[k+116>>2]=u;K=t}H=(j|0)==2;if(H?(v=wg(b,K,c[45964]|0,_)|0,c[Z>>2]=v,(v|0)!=0):0)J=63;else J=15;a:do if((J|0)==15){G=(j|0)==10;c[Z>>2]=0;o=c[K>>2]&3;k=c[((o|0)==3?K:K+48|0)+40>>2]|0;o=c[((o|0)==2?K:K+-48|0)+40>>2]|0;c[_>>2]=o;xg(z,b,d,k,0,K);c[T>>2]=c[z>>2];c[T+4>>2]=c[z+4>>2];c[T+8>>2]=c[z+8>>2];c[T+12>>2]=c[z+12>>2];c[T+16>>2]=c[z+16>>2];c[T+20>>2]=c[z+20>>2];c[T+24>>2]=c[z+24>>2];c[T+28>>2]=c[z+28>>2];c[V>>2]=c[z>>2];c[V+4>>2]=c[z+4>>2];c[V+8>>2]=c[z+8>>2];c[V+12>>2]=c[z+12>>2];c[V+16>>2]=c[z+16>>2];c[V+20>>2]=c[z+20>>2];SK(e,K,1,T,yg(k)|0);B=T+52|0;I=(c[B>>2]|0)+-1|0;D=V+24|0;h[D>>3]=+h[T+56+(I<<5)+24>>3];E=V+8|0;h[E>>3]=+h[T+56+(I<<5)+8>>3];I=c[k+16>>2]|0;F=b+16|0;m=+h[I+24>>3]-+h[(c[(c[F>>2]|0)+196>>2]|0)+(c[I+232>>2]<<6)+16>>3];c[S>>2]=c[V>>2];c[S+4>>2]=c[V+4>>2];c[S+8>>2]=c[V+8>>2];c[S+12>>2]=c[V+12>>2];c[S+16>>2]=c[V+16>>2];c[S+20>>2]=c[V+20>>2];c[S+24>>2]=c[V+24>>2];c[S+28>>2]=c[V+28>>2];zg(A,S,1,m);c[V>>2]=c[A>>2];c[V+4>>2]=c[A+4>>2];c[V+8>>2]=c[A+8>>2];c[V+12>>2]=c[A+12>>2];c[V+16>>2]=c[A+16>>2];c[V+20>>2]=c[A+20>>2];c[V+24>>2]=c[A+24>>2];c[V+28>>2]=c[A+28>>2];A=V+16|0;if(+h[V>>3]<+h[A>>3]?+h[E>>3]<+h[D>>3]:0){I=c[B>>2]|0;c[B>>2]=I+1;I=T+56+(I<<5)|0;c[I>>2]=c[V>>2];c[I+4>>2]=c[V+4>>2];c[I+8>>2]=c[V+8>>2];c[I+12>>2]=c[V+12>>2];c[I+16>>2]=c[V+16>>2];c[I+20>>2]=c[V+20>>2];c[I+24>>2]=c[V+24>>2];c[I+28>>2]=c[V+28>>2]}w=b+60|0;C=U+52|0;x=e+56|0;y=e+69|0;j=e+16|0;z=e+29|0;I=K;q=0;r=-1;b:while(1){s=k;t=0;k=0;u=I;while(1){p=o;v=o;if((a[(c[p+16>>2]|0)+156>>0]|0)!=1)break b;if((kb[c[17300>>2]&63](p)|0)<<24>>24)break b;o=t|1;ca=150640+(t<<5)|0;Ag(L,d,b,c[(c[s+16>>2]|0)+232>>2]|0);c[ca>>2]=c[L>>2];c[ca+4>>2]=c[L+4>>2];c[ca+8>>2]=c[L+8>>2];c[ca+12>>2]=c[L+12>>2];c[ca+16>>2]=c[L+16>>2];c[ca+20>>2]=c[L+20>>2];c[ca+24>>2]=c[L+24>>2];c[ca+28>>2]=c[L+28>>2];if(!k){q=Bg(p)|0;k=(q|0)<((a[(c[(c[w>>2]|0)+16>>2]|0)+113>>0]<<1&2)+3&255|0);q=k?q:q+-2|0;r=k?r:1;k=(k^1)&1}if(!((k|0)==0|(r|0)>0))break;ca=150640+(o<<5)|0;xg(M,b,d,p,u,c[c[(c[p+16>>2]|0)+180>>2]>>2]|0);c[ca>>2]=c[M>>2];c[ca+4>>2]=c[M+4>>2];c[ca+8>>2]=c[M+8>>2];c[ca+12>>2]=c[M+12>>2];c[ca+16>>2]=c[M+16>>2];c[ca+20>>2]=c[M+20>>2];c[ca+24>>2]=c[M+24>>2];c[ca+28>>2]=c[M+28>>2];ca=c[c[(c[v+16>>2]|0)+180>>2]>>2]|0;o=c[ca>>2]&3;s=c[((o|0)==3?ca:ca+48|0)+40>>2]|0;o=c[((o|0)==2?ca:ca+-48|0)+40>>2]|0;c[_>>2]=o;t=t+2|0;r=r+-1|0;u=ca}xg(N,b,d,p,u,c[c[(c[p+16>>2]|0)+180>>2]>>2]|0);c[U>>2]=c[N>>2];c[U+4>>2]=c[N+4>>2];c[U+8>>2]=c[N+8>>2];c[U+12>>2]=c[N+12>>2];c[U+16>>2]=c[N+16>>2];c[U+20>>2]=c[N+20>>2];c[U+24>>2]=c[N+24>>2];c[U+28>>2]=c[N+28>>2];VK(e,u,1,U,yg(c[((c[u>>2]&3|0)==2?u:u+-48|0)+40>>2]|0)|0);ca=U+56+((c[C>>2]|0)+-1<<5)|0;t=c[v+16>>2]|0;m=+h[(c[(c[F>>2]|0)+196>>2]|0)+(c[t+232>>2]<<6)+24>>3]+ +h[t+24>>3];c[S>>2]=c[ca>>2];c[S+4>>2]=c[ca+4>>2];c[S+8>>2]=c[ca+8>>2];c[S+12>>2]=c[ca+12>>2];c[S+16>>2]=c[ca+16>>2];c[S+20>>2]=c[ca+20>>2];c[S+24>>2]=c[ca+24>>2];c[S+28>>2]=c[ca+28>>2];zg(V,S,4,m);if(+h[V>>3]<+h[A>>3]?+h[E>>3]<+h[D>>3]:0){ca=c[C>>2]|0;c[C>>2]=ca+1;ca=U+56+(ca<<5)|0;c[ca>>2]=c[V>>2];c[ca+4>>2]=c[V+4>>2];c[ca+8>>2]=c[V+8>>2];c[ca+12>>2]=c[V+12>>2];c[ca+16>>2]=c[V+16>>2];c[ca+20>>2]=c[V+20>>2];c[ca+24>>2]=c[V+24>>2];c[ca+28>>2]=c[V+28>>2]}h[x>>3]=1.5707963267948966;a[y>>0]=1;Cg(e,I,u,T,U,o);if(!G){k=xJ(e,X)|0;o=c[X>>2]|0;if(H&(o|0)>4){ca=k+16|0;c[ca>>2]=c[k>>2];c[ca+4>>2]=c[k+4>>2];c[ca+8>>2]=c[k+8>>2];c[ca+12>>2]=c[k+12>>2];ca=k+32|0;o=k+(o+-1<<4)|0;c[ca>>2]=c[o>>2];c[ca+4>>2]=c[o+4>>2];c[ca+8>>2]=c[o+8>>2];c[ca+12>>2]=c[o+12>>2];F3(k+48|0,o|0,16)|0;c[X>>2]=4;o=4}else J=33}else{k=rJ(e,X)|0;o=c[X>>2]|0;J=33}if((J|0)==33){J=0;if(!o)break a}u=c[Z>>2]|0;p=u+o|0;if((p|0)>(c[45966]|0)){c[45966]=p<<1;t=wH(c[45964]|0,p<<5)|0;c[45964]=t;o=c[X>>2]|0}else t=c[45964]|0;s=0;p=u;while(1){if((s|0)>=(o|0))break;ca=t+(p<<4)|0;u=k+(s<<4)|0;c[ca>>2]=c[u>>2];c[ca+4>>2]=c[u+4>>2];c[ca+8>>2]=c[u+8>>2];c[ca+12>>2]=c[u+12>>2];s=s+1|0;p=p+1|0}c[Z>>2]=p;o=Dg(c[c[(c[v+16>>2]|0)+180>>2]>>2]|0,q,t,Z)|0;Eg(I,e);p=c[o>>2]&3;k=c[((p|0)==3?o:o+48|0)+40>>2]|0;p=c[((p|0)==2?o:o+-48|0)+40>>2]|0;c[_>>2]=p;I=k+16|0;xg(P,b,d,k,c[c[(c[I>>2]|0)+172>>2]>>2]|0,o);c[T>>2]=c[P>>2];c[T+4>>2]=c[P+4>>2];c[T+8>>2]=c[P+8>>2];c[T+12>>2]=c[P+12>>2];c[T+16>>2]=c[P+16>>2];c[T+20>>2]=c[P+20>>2];c[T+24>>2]=c[P+24>>2];c[T+28>>2]=c[P+28>>2];SK(e,o,1,T,yg(k)|0);ca=T+56+((c[B>>2]|0)+-1<<5)|0;I=c[I>>2]|0;m=+h[I+24>>3]-+h[(c[(c[F>>2]|0)+196>>2]|0)+(c[I+232>>2]<<6)+16>>3];c[S>>2]=c[ca>>2];c[S+4>>2]=c[ca+4>>2];c[S+8>>2]=c[ca+8>>2];c[S+12>>2]=c[ca+12>>2];c[S+16>>2]=c[ca+16>>2];c[S+20>>2]=c[ca+20>>2];c[S+24>>2]=c[ca+24>>2];c[S+28>>2]=c[ca+28>>2];zg(V,S,1,m);if(+h[V>>3]<+h[A>>3]?+h[E>>3]<+h[D>>3]:0){ca=c[B>>2]|0;c[B>>2]=ca+1;ca=T+56+(ca<<5)|0;c[ca>>2]=c[V>>2];c[ca+4>>2]=c[V+4>>2];c[ca+8>>2]=c[V+8>>2];c[ca+12>>2]=c[V+12>>2];c[ca+16>>2]=c[V+16>>2];c[ca+20>>2]=c[V+20>>2];c[ca+24>>2]=c[V+24>>2];c[ca+28>>2]=c[V+28>>2]}h[j>>3]=-1.5707963267948966;a[z>>0]=1;I=o;o=p}k=t|1;r=150640+(t<<5)|0;Ag(Q,d,b,c[(c[s+16>>2]|0)+232>>2]|0);c[r>>2]=c[Q>>2];c[r+4>>2]=c[Q+4>>2];c[r+8>>2]=c[Q+8>>2];c[r+12>>2]=c[Q+12>>2];c[r+16>>2]=c[Q+16>>2];c[r+20>>2]=c[Q+20>>2];c[r+24>>2]=c[Q+24>>2];c[r+28>>2]=c[Q+28>>2];xg(R,b,d,p,u,0);c[U>>2]=c[R>>2];c[U+4>>2]=c[R+4>>2];c[U+8>>2]=c[R+8>>2];c[U+12>>2]=c[R+12>>2];c[U+16>>2]=c[R+16>>2];c[U+20>>2]=c[R+20>>2];c[U+24>>2]=c[R+24>>2];c[U+28>>2]=c[R+28>>2];c[V>>2]=c[R>>2];c[V+4>>2]=c[R+4>>2];c[V+8>>2]=c[R+8>>2];c[V+12>>2]=c[R+12>>2];c[V+16>>2]=c[R+16>>2];c[V+20>>2]=c[R+20>>2];c[V+24>>2]=c[R+24>>2];c[V+28>>2]=c[R+28>>2];r=(n|0)!=0;s=u+-48|0;VK(e,r?Y:u,1,U,yg(c[((c[u>>2]&3|0)==2?u:s)+40>>2]|0)|0);ca=(c[C>>2]|0)+-1|0;h[D>>3]=+h[U+56+(ca<<5)+24>>3];h[E>>3]=+h[U+56+(ca<<5)+8>>3];ca=c[v+16>>2]|0;m=+h[(c[(c[F>>2]|0)+196>>2]|0)+(c[ca+232>>2]<<6)+24>>3]+ +h[ca+24>>3];c[S>>2]=c[V>>2];c[S+4>>2]=c[V+4>>2];c[S+8>>2]=c[V+8>>2];c[S+12>>2]=c[V+12>>2];c[S+16>>2]=c[V+16>>2];c[S+20>>2]=c[V+20>>2];c[S+24>>2]=c[V+24>>2];c[S+28>>2]=c[V+28>>2];zg(W,S,4,m);c[V>>2]=c[W>>2];c[V+4>>2]=c[W+4>>2];c[V+8>>2]=c[W+8>>2];c[V+12>>2]=c[W+12>>2];c[V+16>>2]=c[W+16>>2];c[V+20>>2]=c[W+20>>2];c[V+24>>2]=c[W+24>>2];c[V+28>>2]=c[W+28>>2];if(+h[V>>3]<+h[A>>3]?+h[E>>3]<+h[D>>3]:0){ca=c[C>>2]|0;c[C>>2]=ca+1;ca=U+56+(ca<<5)|0;c[ca>>2]=c[V>>2];c[ca+4>>2]=c[V+4>>2];c[ca+8>>2]=c[V+8>>2];c[ca+12>>2]=c[V+12>>2];c[ca+16>>2]=c[V+16>>2];c[ca+20>>2]=c[V+20>>2];c[ca+24>>2]=c[V+24>>2];c[ca+28>>2]=c[V+28>>2]}Cg(e,I,u,T,U,k);if(G)q=rJ(e,X)|0;else q=xJ(e,X)|0;k=c[X>>2]|0;if(!(H&(k|0)>4)){if(!k)break}else{ca=q+16|0;c[ca>>2]=c[q>>2];c[ca+4>>2]=c[q+4>>2];c[ca+8>>2]=c[q+8>>2];c[ca+12>>2]=c[q+12>>2];ca=q+32|0;k=q+(k+-1<<4)|0;c[ca>>2]=c[k>>2];c[ca+4>>2]=c[k+4>>2];c[ca+8>>2]=c[k+8>>2];c[ca+12>>2]=c[k+12>>2];F3(q+48|0,k|0,16)|0;c[X>>2]=4;k=4}o=c[Z>>2]|0;n=o+k|0;if((n|0)>(c[45966]|0)){c[45966]=n<<1;p=wH(c[45964]|0,n<<5)|0;c[45964]=p;k=c[X>>2]|0}else p=c[45964]|0;n=0;while(1){if((n|0)>=(k|0))break;ca=p+(o<<4)|0;X=q+(n<<4)|0;c[ca>>2]=c[X>>2];c[ca+4>>2]=c[X+4>>2];c[ca+8>>2]=c[X+8>>2];c[ca+12>>2]=c[X+12>>2];n=n+1|0;o=o+1|0}c[Z>>2]=o;Eg(I,e);if(r)k=(c[Y>>2]&3|0)==2?Y:Y+-48|0;else k=(c[u>>2]&3|0)==2?u:s;c[_>>2]=c[k+40>>2];v=o;J=63}while(0);c:do if((J|0)==63){if((i|0)==1){PK(K,c[_>>2]|0,c[45964]|0,v,17296);break}t=d+12|0;u=v+-1|0;m=+((O(c[t>>2]|0,i+-1|0)|0)/2|0|0);n=c[45964]|0;k=1;while(1){if((k|0)>=(u|0))break;ca=n+(k<<4)|0;h[ca>>3]=+h[ca>>3]-m;k=k+1|0}k=c[45966]|0;if((k|0)>(c[45967]|0)){c[45967]=k;o=wH(c[45965]|0,k<<4)|0;c[45965]=o;n=c[45964]|0}else o=c[45965]|0;k=0;while(1){if((k|0)>=(v|0))break;ca=o+(k<<4)|0;d=n+(k<<4)|0;c[ca>>2]=c[d>>2];c[ca+4>>2]=c[d+4>>2];c[ca+8>>2]=c[d+8>>2];c[ca+12>>2]=c[d+12>>2];k=k+1|0}PK(K,c[_>>2]|0,o,v,17296);r=$+48|0;s=$+-48|0;q=1;while(1){if((q|0)>=(i|0))break c;o=c[f+(q+g<<2)>>2]|0;p=o+16|0;k=c[p>>2]|0;if(c[k+164>>2]&32){n=c[aa>>2]|0;E3(n|0,k|0,176)|0;w=$;x=o;y=w+48|0;do{c[w>>2]=c[x>>2];w=w+4|0;x=x+4|0}while((w|0)<(y|0));c[aa>>2]=n;w=c[$>>2]&3;c[((w|0)==3?$:r)+40>>2]=c[((c[o>>2]&3|0)==2?o:o+-48|0)+40>>2];c[((w|0)==2?$:s)+40>>2]=c[((c[o>>2]&3|0)==3?o:o+48|0)+40>>2];w=n+16|0;x=(c[p>>2]|0)+56|0;y=w+40|0;do{c[w>>2]=c[x>>2];w=w+4|0;x=x+4|0}while((w|0)<(y|0));k=c[aa>>2]|0;w=k+56|0;x=(c[p>>2]|0)+16|0;y=w+40|0;do{c[w>>2]=c[x>>2];w=w+4|0;x=x+4|0}while((w|0)<(y|0));a[k+112>>0]=1;c[k+116>>2]=o;o=$}p=c[45964]|0;k=1;while(1){if((k|0)>=(u|0))break;ca=p+(k<<4)|0;h[ca>>3]=+h[ca>>3]+ +(c[t>>2]|0);k=k+1|0}n=c[45965]|0;k=0;while(1){if((k|0)>=(v|0))break;ca=n+(k<<4)|0;_=p+(k<<4)|0;c[ca>>2]=c[_>>2];c[ca+4>>2]=c[_+4>>2];c[ca+8>>2]=c[_+8>>2];c[ca+12>>2]=c[_+12>>2];k=k+1|0}PK(o,c[((c[o>>2]&3|0)==2?o:o+-48|0)+40>>2]|0,n,v,17296);q=q+1|0}}while(0);l=ba;return}function tg(a){a=a|0;var b=0,d=0,e=0;b=Ry(a)|0;while(1){if(!b)break;d=Dx(a,b)|0;while(1){if(!d)break;if((kb[c[4324]&63](d)|0)<<24>>24?(e=c[(c[d+16>>2]|0)+8>>2]|0,e|0):0)ug(e);d=Fx(a,d)|0}b=Sy(a,b)|0}return}function ug(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;f=c[a+4>>2]|0;g=uH(f*48|0)|0;b=g;d=0;e=(c[a>>2]|0)+((f+-1|0)*48|0)|0;while(1){if((d|0)>=(f|0)){b=0;break}vg(e,b);b=b+48|0;d=d+1|0;e=e+-48|0}while(1){d=c[a>>2]|0;if((b|0)>=(f|0))break;C_(c[d+(b*48|0)>>2]|0);b=b+1|0}C_(d);c[a>>2]=g;return}function vg(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;g=c[a+4>>2]|0;h=uH(g<<4)|0;d=h;e=0;f=(c[a>>2]|0)+(g+-1<<4)|0;while(1){if((e|0)>=(g|0))break;c[d>>2]=c[f>>2];c[d+4>>2]=c[f+4>>2];c[d+8>>2]=c[f+8>>2];c[d+12>>2]=c[f+12>>2];d=d+16|0;e=e+1|0;f=f+-16|0}c[b>>2]=h;c[b+4>>2]=g;c[b+8>>2]=c[a+12>>2];c[b+12>>2]=c[a+8>>2];h=b+16|0;g=a+32|0;c[h>>2]=c[g>>2];c[h+4>>2]=c[g+4>>2];c[h+8>>2]=c[g+8>>2];c[h+12>>2]=c[g+12>>2];h=b+32|0;g=a+16|0;c[h>>2]=c[g>>2];c[h+4>>2]=c[g+4>>2];c[h+8>>2]=c[g+8>>2];c[h+12>>2]=c[g+12>>2];return}function wg(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,i=0.0,j=0.0,k=0.0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0;x=l;l=l+96|0;q=x+80|0;s=x+64|0;r=x+48|0;u=x+32|0;v=x+16|0;w=x;m=d;while(1){t=m+16|0;g=c[t>>2]|0;if(!(a[g+112>>0]|0))break;m=c[g+116>>2]|0}g=c[m>>2]&3;o=c[((g|0)==2?m:m+-48|0)+40>>2]|0;g=c[((g|0)==3?m:m+48|0)+40>>2]|0;m=o+16|0;n=g+16|0;y=(c[(c[m>>2]|0)+232>>2]|0)-(c[(c[n>>2]|0)+232>>2]|0)|0;switch(((y|0)>-1?y:0-y|0)|0){case 1:{g=0;break}case 2:{if(!(a[(c[(c[b+60>>2]|0)+16>>2]|0)+113>>0]&1))p=6;else g=0;break}default:p=6}do if((p|0)==6){if((c[((c[d>>2]&3|0)==3?d:d+48|0)+40>>2]|0)==(g|0)){c[f>>2]=o;y=(c[n>>2]|0)+16|0;p=(c[t>>2]|0)+16|0;c[s>>2]=c[y>>2];c[s+4>>2]=c[y+4>>2];c[s+8>>2]=c[y+8>>2];c[s+12>>2]=c[y+12>>2];c[q>>2]=c[p>>2];c[q+4>>2]=c[p+4>>2];c[q+8>>2]=c[p+8>>2];c[q+12>>2]=c[p+12>>2];Og(u,s,q);p=(c[m>>2]|0)+16|0;y=(c[t>>2]|0)+56|0;c[s>>2]=c[p>>2];c[s+4>>2]=c[p+4>>2];c[s+8>>2]=c[p+8>>2];c[s+12>>2]=c[p+12>>2];c[q>>2]=c[y>>2];c[q+4>>2]=c[y+4>>2];c[q+8>>2]=c[y+8>>2];c[q+12>>2]=c[y+12>>2];Og(v,s,q)}else{c[f>>2]=g;y=(c[m>>2]|0)+16|0;p=(c[t>>2]|0)+56|0;c[s>>2]=c[y>>2];c[s+4>>2]=c[y+4>>2];c[s+8>>2]=c[y+8>>2];c[s+12>>2]=c[y+12>>2];c[q>>2]=c[p>>2];c[q+4>>2]=c[p+4>>2];c[q+8>>2]=c[p+8>>2];c[q+12>>2]=c[p+12>>2];Og(u,s,q);p=(c[n>>2]|0)+16|0;y=(c[t>>2]|0)+16|0;c[s>>2]=c[p>>2];c[s+4>>2]=c[p+4>>2];c[s+8>>2]=c[p+8>>2];c[s+12>>2]=c[p+12>>2];c[q>>2]=c[y>>2];c[q+4>>2]=c[y+4>>2];c[q+8>>2]=c[y+8>>2];c[q+12>>2]=c[y+12>>2];Og(v,s,q)}g=c[(c[t>>2]|0)+96>>2]|0;if(!g){g=e+16|0;c[e>>2]=c[u>>2];c[e+4>>2]=c[u+4>>2];c[e+8>>2]=c[u+8>>2];c[e+12>>2]=c[u+12>>2];c[g>>2]=c[u>>2];c[g+4>>2]=c[u+4>>2];c[g+8>>2]=c[u+8>>2];c[g+12>>2]=c[u+12>>2];g=e+48|0;y=e+32|0;c[y>>2]=c[v>>2];c[y+4>>2]=c[v+4>>2];c[y+8>>2]=c[v+8>>2];c[y+12>>2]=c[v+12>>2];c[g>>2]=c[v>>2];c[g+4>>2]=c[v+4>>2];c[g+8>>2]=c[v+8>>2];c[g+12>>2]=c[v+12>>2];g=4;break}j=+h[g+24>>3];i=+h[g+32>>3];p=(c[(c[(dz(o)|0)+16>>2]|0)+116>>2]&1|0)==0;k=p?i:j;y=(c[(c[t>>2]|0)+96>>2]|0)+56|0;c[w>>2]=c[y>>2];c[w+4>>2]=c[y+4>>2];c[w+8>>2]=c[y+8>>2];c[w+12>>2]=c[y+12>>2];c[r>>2]=c[v>>2];c[r+4>>2]=c[v+4>>2];c[r+8>>2]=c[v+8>>2];c[r+12>>2]=c[v+12>>2];c[s>>2]=c[u>>2];c[s+4>>2]=c[u+4>>2];c[s+8>>2]=c[u+8>>2];c[s+12>>2]=c[u+12>>2];c[q>>2]=c[y>>2];c[q+4>>2]=c[y+4>>2];c[q+8>>2]=c[y+8>>2];c[q+12>>2]=c[y+12>>2];y=(Pg(r,s,q)|0)==0;i=(p?j:i)*.5;j=+h[w>>3];if(y){h[w>>3]=j-i;y=w+8|0;h[y>>3]=+h[y>>3]+k*.5}else{h[w>>3]=j+i;y=w+8|0;h[y>>3]=+h[y>>3]-k*.5}g=e+16|0;c[e>>2]=c[u>>2];c[e+4>>2]=c[u+4>>2];c[e+8>>2]=c[u+8>>2];c[e+12>>2]=c[u+12>>2];c[g>>2]=c[u>>2];c[g+4>>2]=c[u+4>>2];c[g+8>>2]=c[u+8>>2];c[g+12>>2]=c[u+12>>2];g=e+32|0;y=e+48|0;u=e+64|0;c[u>>2]=c[w>>2];c[u+4>>2]=c[w+4>>2];c[u+8>>2]=c[w+8>>2];c[u+12>>2]=c[w+12>>2];c[y>>2]=c[w>>2];c[y+4>>2]=c[w+4>>2];c[y+8>>2]=c[w+8>>2];c[y+12>>2]=c[w+12>>2];c[g>>2]=c[w>>2];c[g+4>>2]=c[w+4>>2];c[g+8>>2]=c[w+8>>2];c[g+12>>2]=c[w+12>>2];g=e+80|0;y=e+96|0;c[y>>2]=c[v>>2];c[y+4>>2]=c[v+4>>2];c[y+8>>2]=c[v+8>>2];c[y+12>>2]=c[v+12>>2];c[g>>2]=c[v>>2];c[g+4>>2]=c[v+4>>2];c[g+8>>2]=c[v+8>>2];c[g+12>>2]=c[v+12>>2];g=7}while(0);l=x;return g|0}function xg(b,d,e,f,g,i){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;i=i|0;var j=0.0,k=0,l=0,m=0.0,n=0,o=0.0,p=0.0,q=0;q=c[f+16>>2]|0;p=+h[q+16>>3];j=p-+h[q+88>>3];m=j+-4.0;l=Kg(d,f,g,i,-1)|0;if(!l){n=~~(j+(m>=0.0?-3.5:-4.5));k=c[e>>2]|0;k=(k|0)>(n|0)?n:k}else{k=Lg(d,f,l)|0;do if(!k){n=c[l+16>>2]|0;j=+h[n+240>>3]+ +h[n+16>>3];if(!(a[n+156>>0]|0)){j=+(c[(c[d+16>>2]|0)+248>>2]|0)*.5+j;break}else{j=j+ +(c[e+8>>2]|0);break}}else j=+h[(c[k+16>>2]|0)+32>>3]+ +(c[e+8>>2]|0);while(0);o=j=0.0?.5:-.5))}o=+(k|0);n=(a[q+156>>0]|0)==1;if(n?(c[q+104>>2]|0)!=0:0)m=p+10.0;else m=p+4.0+ +h[q+96>>3];l=Kg(d,f,g,i,1)|0;if(!l){f=~~(m+(m>=0.0?.5:-.5));k=c[e+4>>2]|0;k=(k|0)<(f|0)?f:k}else{k=Lg(d,f,l)|0;do if(!k){f=c[l+16>>2]|0;j=+h[f+16>>3]-+h[f+88>>3];if(!(a[f+156>>0]|0)){j=j-+(c[(c[d+16>>2]|0)+248>>2]|0)*.5;break}else{j=j-+(c[e+8>>2]|0);break}}else j=+h[(c[k+16>>2]|0)+16>>3]-+(c[e+8>>2]|0);while(0);m=j>m?j:m;k=~~(m+(m>=0.0?.5:-.5))}j=+(k|0);if(n?(c[q+104>>2]|0)!=0:0){j=j-+h[q+96>>3];if(j>3];d=c[(c[d+16>>2]|0)+196>>2]|0;q=c[q+232>>2]|0;m=p-+h[d+(q<<6)+16>>3];p=+h[d+(q<<6)+24>>3]+p;h[b>>3]=o;h[b+8>>3]=m;h[b+16>>3]=j;h[b+24>>3]=p;return}function yg(b){b=b|0;b=c[b+16>>2]|0;if((a[b+156>>0]|0)==1)if((c[b+176>>2]|0)>1)b=1;else b=(c[b+184>>2]|0)>1&1;else b=0;return b|0}function zg(a,b,d,e){a=a|0;b=b|0;d=d|0;e=+e;var f=0,g=0;g=l;l=l+32|0;f=g;switch(d|0){case 1:{Jg(f,+h[b>>3],e,+h[b+16>>3],+h[b+8>>3]);break}case 4:{Jg(f,+h[b>>3],+h[b+24>>3],+h[b+16>>3],e);break}default:{}}c[a>>2]=c[f>>2];c[a+4>>2]=c[f+4>>2];c[a+8>>2]=c[f+8>>2];c[a+12>>2]=c[f+12>>2];c[a+16>>2]=c[f+16>>2];c[a+20>>2]=c[f+20>>2];c[a+24>>2]=c[f+24>>2];c[a+28>>2]=c[f+28>>2];l=g;return}function Ag(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0.0,g=0.0,i=0.0,j=0.0,k=0,l=0,m=0,n=0,o=0;l=c[b+16>>2]|0;k=l+(e<<5)|0;j=+h[k>>3];m=l+(e<<5)+8|0;g=+h[m>>3];n=l+(e<<5)+16|0;f=+h[n>>3];l=l+(e<<5)+24|0;i=+h[l>>3];if(j==f){d=c[(c[d+16>>2]|0)+196>>2]|0;o=e+1|0;j=+(c[b>>2]|0);g=+h[d+(o<<6)+24>>3]+ +h[(c[(c[c[d+(o<<6)+4>>2]>>2]|0)+16>>2]|0)+24>>3];f=+(c[b+4>>2]|0);i=+h[(c[(c[c[d+(e<<6)+4>>2]>>2]|0)+16>>2]|0)+24>>3]-+h[d+(e<<6)+16>>3];h[k>>3]=j;h[m>>3]=g;h[n>>3]=f;h[l>>3]=i}h[a>>3]=j;h[a+8>>3]=g;h[a+16>>3]=f;h[a+24>>3]=i;return}function Bg(b){b=b|0;var d=0,e=0;b=c[b+16>>2]|0;e=b+16|0;d=0;while(1){b=c[c[b+180>>2]>>2]|0;b=c[(c[((c[b>>2]&3|0)==2?b:b+-48|0)+40>>2]|0)+16>>2]|0;if((a[b+156>>0]|0)!=1)break;if((c[b+184>>2]|0)!=1)break;if((c[b+176>>2]|0)!=1)break;if(+h[b+16>>3]!=+h[e>>3])break;d=d+1|0}return d|0}function Cg(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0;k=l;l=l+32|0;j=k;h=Gg(b,-1)|0;b=Gg(b,1)|0;if(!((h|0)!=0?!(eL(h)|0):0))i=3;do if((i|0)==3){if(b|0?(eL(b)|0)==0:0)break;h=Hg(d,-1)|0;b=Hg(d,1)|0;if(h|0?(eL(h)|0)==0:0)break;if(b|0?(eL(b)|0)==0:0)break;h=e+52|0;b=0;while(1){if((b|0)>=(c[h>>2]|0))break;d=e+56+(b<<5)|0;c[j>>2]=c[d>>2];c[j+4>>2]=c[d+4>>2];c[j+8>>2]=c[d+8>>2];c[j+12>>2]=c[d+12>>2];c[j+16>>2]=c[d+16>>2];c[j+20>>2]=c[d+20>>2];c[j+24>>2]=c[d+24>>2];c[j+28>>2]=c[d+28>>2];RK(a,j);b=b+1|0}h=c[a+80>>2]|0;i=g+-3|0;b=0;while(1){if((b|0)>=(g|0))break;e=150640+(b<<5)|0;c[j>>2]=c[e>>2];c[j+4>>2]=c[e+4>>2];c[j+8>>2]=c[e+8>>2];c[j+12>>2]=c[e+12>>2];c[j+16>>2]=c[e+16>>2];c[j+20>>2]=c[e+20>>2];c[j+24>>2]=c[e+24>>2];c[j+28>>2]=c[e+28>>2];RK(a,j);b=b+1|0}d=h+1|0;i=i+d|0;h=c[f+52>>2]|0;while(1){b=h+-1|0;if((h|0)<=0)break;h=f+56+(b<<5)|0;c[j>>2]=c[h>>2];c[j+4>>2]=c[h+4>>2];c[j+8>>2]=c[h+8>>2];c[j+12>>2]=c[h+12>>2];c[j+16>>2]=c[h+16>>2];c[j+20>>2]=c[h+20>>2];c[j+24>>2]=c[h+24>>2];c[j+28>>2]=c[h+28>>2];RK(a,j);h=b}Ig(a,d,i)}while(0);l=k;return}function Dg(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0;f=c[e>>2]|0;while(1){if(!b)break;a=c[c[(c[(c[((c[a>>2]&3|0)==2?a:a+-48|0)+40>>2]|0)+16>>2]|0)+180>>2]>>2]|0;b=b+-1|0}c[e>>2]=f+1;g=d+(f<<4)|0;b=d+(f+-1<<4)|0;c[g>>2]=c[b>>2];c[g+4>>2]=c[b+4>>2];c[g+8>>2]=c[b+8>>2];c[g+12>>2]=c[b+12>>2];f=c[e>>2]|0;c[e>>2]=f+1;f=d+(f<<4)|0;c[f>>2]=c[b>>2];c[f+4>>2]=c[b+4>>2];c[f+8>>2]=c[b+8>>2];c[f+12>>2]=c[b+12>>2];f=d+(c[e>>2]<<4)|0;e=(c[(c[((c[a>>2]&3|0)==3?a:a+48|0)+40>>2]|0)+16>>2]|0)+16|0;c[f>>2]=c[e>>2];c[f+4>>2]=c[e+4>>2];c[f+8>>2]=c[e+8>>2];c[f+12>>2]=c[e+12>>2];return a|0}function Eg(b,d){b=b|0;d=d|0;var e=0,f=0.0,g=0.0,i=0,j=0,k=0,l=0,m=0;m=d+84|0;l=d+80|0;e=0;d=b;a:while(1){j=c[((c[d>>2]&3|0)==2?d:d+-48|0)+40>>2]|0;k=j+16|0;if((a[(c[k>>2]|0)+156>>0]|0)!=1)break;if((kb[c[17300>>2]&63](j)|0)<<24>>24)break;d=c[l>>2]|0;while(1){if((e|0)>=(d|0))break a;if(!(+h[(c[m>>2]|0)+(e<<5)+8>>3]>+h[(c[k>>2]|0)+24>>3]))break;e=e+1|0}d=c[m>>2]|0;b=c[k>>2]|0;do if(!(+h[d+(e<<5)+24>>3]<+h[b+24>>3])){g=+h[d+(e<<5)>>3];i=~~g;f=+h[d+(e<<5)+16>>3];if(!(c[b+104>>2]|0)){Fg(j,i,~~((f+g)*.5),~~f);break}else{Fg(j,i,~~f,~~(+h[b+96>>3]+f));break}}while(0);d=c[c[(c[k>>2]|0)+180>>2]>>2]|0}return}function Fg(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;a=c[a+16>>2]|0;h[a+16>>3]=+(d|0);h[a+88>>3]=+(d-b|0);h[a+96>>3]=+(e-d|0);return}function Gg(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0;h=c[a>>2]&3;i=c[(c[(c[((h|0)==3?a:a+48|0)+40>>2]|0)+16>>2]|0)+180>>2]|0;h=((h|0)==2?a:a+-48|0)+40|0;g=0;a=0;while(1){e=c[i+(g<<2)>>2]|0;if(!e)break;f=c[(c[(c[((c[e>>2]&3|0)==2?e:e+-48|0)+40>>2]|0)+16>>2]|0)+236>>2]|0;do if((O(f-(c[(c[(c[h>>2]|0)+16>>2]|0)+236>>2]|0)|0,b)|0)>=1){d=c[e+16>>2]|0;if(!(c[d+8>>2]|0)){d=c[d+116>>2]|0;if(!d)break;if(!(c[(c[d+16>>2]|0)+8>>2]|0))break}if(a|0?(O((c[(c[(c[((c[a>>2]&3|0)==2?a:a+-48|0)+40>>2]|0)+16>>2]|0)+236>>2]|0)-f|0,b)|0)<=0:0)break;a=e}while(0);g=g+1|0}return a|0}function Hg(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0;h=c[a>>2]&3;i=c[(c[(c[((h|0)==2?a:a+-48|0)+40>>2]|0)+16>>2]|0)+172>>2]|0;h=((h|0)==3?a:a+48|0)+40|0;g=0;a=0;while(1){e=c[i+(g<<2)>>2]|0;if(!e)break;f=c[(c[(c[((c[e>>2]&3|0)==3?e:e+48|0)+40>>2]|0)+16>>2]|0)+236>>2]|0;do if((O(f-(c[(c[(c[h>>2]|0)+16>>2]|0)+236>>2]|0)|0,b)|0)>=1){d=c[e+16>>2]|0;if(!(c[d+8>>2]|0)){d=c[d+116>>2]|0;if(!d)break;if(!(c[(c[d+16>>2]|0)+8>>2]|0))break}if(a|0?(O((c[(c[(c[((c[a>>2]&3|0)==3?a:a+48|0)+40>>2]|0)+16>>2]|0)+236>>2]|0)-f|0,b)|0)<=0:0)break;a=e}while(0);g=g+1|0}return a|0}function Ig(a,b,d){a=a|0;b=b|0;d=d|0;var e=0.0,f=0,g=0,i=0,j=0,k=0,l=0,m=0.0;l=a+84|0;i=b+-1|0;while(1){if((i|0)>(d|0))break;f=c[l>>2]|0;j=f+(i<<5)|0;e=+h[j>>3];if(!(i-b&1)){f=f+(i<<5)+16|0;m=+h[f>>3];g=~~((m+e)*.5);if(e>=m){h[j>>3]=+(g+-8|0);h[f>>3]=+(g+8|0)}}else{f=f+(i<<5)+16|0;m=+h[f>>3];g=~~((m+e)*.5);if(e+16.0>m){h[j>>3]=+(g+-8|0);h[f>>3]=+(g+8|0)}}i=i+1|0}k=(c[a+80>>2]|0)+-1|0;g=0;while(1){if((g|0)>=(k|0))break;i=c[l>>2]|0;f=i+(g<<5)|0;j=g+1|0;a=i+(j<<5)|0;if(!((g|0)<(b|0)|(g|0)>(d|0))?(g-b&1|0)==0:0){e=+h[f>>3]+16.0;f=i+(j<<5)+16|0;if(e>+h[f>>3])h[f>>3]=e;e=+h[i+(g<<5)+16>>3]+-16.0;if(!(e<+h[a>>3])){g=j;continue}h[a>>3]=e;g=j;continue}if(!((g|0)<(d|0)&(j|0)>=(b|0))){g=j;continue}if(j-b&1|0){g=j;continue}e=+h[i+(j<<5)+16>>3];if(+h[f>>3]+16.0>e)h[f>>3]=e+-16.0;f=i+(g<<5)+16|0;e=+h[a>>3];if(!(+h[f>>3]+-16.0>3]=e+16.0;g=j}return}function Jg(a,b,c,d,e){a=a|0;b=+b;c=+c;d=+d;e=+e;h[a>>3]=b;h[a+8>>3]=c;h[a+16>>3]=d;h[a+24>>3]=e;return}function Kg(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0;k=c[(c[b+16>>2]|0)+196>>2]|0;h=c[d+16>>2]|0;j=c[h+232>>2]|0;i=k+(j<<6)|0;j=k+(j<<6)+4|0;h=c[h+236>>2]|0;a:do{h=h+g|0;if((h|0)<=-1){b=0;break}if((h|0)>=(c[i>>2]|0)){b=0;break}b=c[(c[j>>2]|0)+(h<<2)>>2]|0;k=c[b+16>>2]|0;switch(a[k+156>>0]|0){case 0:break a;case 1:{if(c[k+104>>2]|0)break a;break}default:{}}}while((Ng(b,d,e,f)|0)<<24>>24!=0);return b|0}function Lg(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0;d=c[d+16>>2]|0;if(!(a[d+156>>0]|0)){i=c[d+212>>2]|0;h=i}else{i=c[(c[(c[c[d+180>>2]>>2]|0)+16>>2]|0)+116>>2]|0;g=c[i>>2]&3;h=c[(c[(c[((g|0)==2?i:i+-48|0)+40>>2]|0)+16>>2]|0)+212>>2]|0;i=c[(c[(c[((g|0)==3?i:i+48|0)+40>>2]|0)+16>>2]|0)+212>>2]|0}d=c[e+16>>2]|0;if(!(a[d+156>>0]|0)){e=c[d+212>>2]|0;e=(e|0)==(b|0)?0:e;return ((e|0)==(h|0)|((e|0)==0|(e|0)==(i|0))?0:e)|0}f=c[(c[(c[c[d+180>>2]>>2]|0)+16>>2]|0)+116>>2]|0;g=c[f>>2]&3;d=c[(c[(c[((g|0)==3?f:f+48|0)+40>>2]|0)+16>>2]|0)+212>>2]|0;d=(d|0)==(b|0)?0:d;if(!(!((d|0)==(h|0)|((d|0)==0|(d|0)==(i|0)))?(Mg(d,e)|0)!=0:0)){d=c[(c[(c[((g|0)==2?f:f+-48|0)+40>>2]|0)+16>>2]|0)+212>>2]|0;d=(d|0)==(b|0)?0:d;if((d|0)==(h|0)|((d|0)==0|(d|0)==(i|0)))d=0;else{e=(Mg(d,e)|0)==0;return (e?0:d)|0}}return d|0}function Mg(a,b){a=a|0;b=b|0;var d=0,e=0.0,f=0.0;d=c[a+16>>2]|0;a=c[b+16>>2]|0;f=+h[a+16>>3];if((+h[d+16>>3]<=f?f<=+h[d+32>>3]:0)?(e=+h[a+24>>3],+h[d+24>>3]<=e):0)a=e<=+h[d+40>>3]&1;else a=0;return a|0}function Ng(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0;i=c[b+16>>2]|0;j=(c[i+236>>2]|0)>(c[(c[d+16>>2]|0)+236>>2]|0);a:do if((c[i+184>>2]|0)==1){b:do if(f|0){h=0;b=c[c[i+180>>2]>>2]|0;while(1){if((h|0)>=2)break b;b=c[((c[b>>2]&3|0)==2?b:b+-48|0)+40>>2]|0;d=c[((c[f>>2]&3|0)==2?f:f+-48|0)+40>>2]|0;if((b|0)==(d|0))break b;g=c[b+16>>2]|0;b=c[d+16>>2]|0;if(j^(c[g+236>>2]|0)>(c[b+236>>2]|0)){b=1;break a}if((c[g+184>>2]|0)!=1)break b;if(!(a[g+156>>0]|0))break b;if((c[b+184>>2]|0)!=1)break b;if(!(a[b+156>>0]|0))break b;h=h+1|0;f=c[c[b+180>>2]>>2]|0;b=c[c[g+180>>2]>>2]|0}}while(0);if(e|0?(c[i+176>>2]|0)==1:0){g=0;d=e;b=c[c[i+172>>2]>>2]|0;while(1){if((g|0)>=2){b=0;break a}b=c[((c[b>>2]&3|0)==3?b:b+48|0)+40>>2]|0;d=c[((c[d>>2]&3|0)==3?d:d+48|0)+40>>2]|0;if((b|0)==(d|0)){b=0;break a}f=c[b+16>>2]|0;b=c[d+16>>2]|0;if(j^(c[f+236>>2]|0)>(c[b+236>>2]|0)){b=1;break a}if((c[f+176>>2]|0)!=1){b=0;break a}if(!(a[f+156>>0]|0)){b=0;break a}if((c[b+176>>2]|0)!=1){b=0;break a}if(!(a[b+156>>0]|0)){b=0;break a}g=g+1|0;d=c[c[b+172>>2]>>2]|0;b=c[c[f+172>>2]>>2]|0}}else b=0}else b=0;while(0);return b|0}function Og(a,b,c){a=a|0;b=b|0;c=c|0;var d=0.0;d=+h[c+8>>3]+ +h[b+8>>3];h[a>>3]=+h[c>>3]+ +h[b>>3];h[a+8>>3]=d;return}function Pg(a,b,c){a=a|0;b=b|0;c=c|0;var d=0.0,e=0.0;d=+h[b+8>>3];e=+h[b>>3];return (~~((+h[c>>3]-e)*(+h[a+8>>3]-d)-(+h[a>>3]-e)*(+h[c+8>>3]-d))|0)>0|0}function Qg(b,d,e,f,g,i){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;i=i|0;var j=0,k=0,m=0.0,n=0,o=0,p=0,q=0,r=0,s=0.0,t=0,u=0,v=0.0,w=0.0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0;R=l;l=l+256|0;D=R+232|0;C=R+216|0;P=R+88|0;O=R+80|0;K=R+64|0;L=R+200|0;M=R+184|0;N=R;E=R+168|0;F=R+152|0;G=R+136|0;H=R+120|0;I=R+104|0;B=c[g>>2]&3;J=c[((B|0)==3?g:g+48|0)+40>>2]|0;B=c[((B|0)==2?g:g+-48|0)+40>>2]|0;do if((GJ(J)|0)!=2?(GJ(B)|0)!=2:0){g=0;j=0;k=0;while(1){if((k|0)>=(f|0))break;A=c[(c[d+(k+e<<2)>>2]|0)+16>>2]|0;g=g+((c[A+96>>2]|0)!=0&1)|0;if(!((a[A+44>>0]|0)==0?(a[A+84>>0]|0)==0:0))j=1;k=k+1|0}if(!j)if(!g){Sg(J,B,d,e,f,i);break}else{Xg(J,B,d,e,f,i,g);break}y=tH(156)|0;z=Yg(b,y)|0;t=uA(z,85383,1)|0;zz(t,134401,280,1)|0;yx(t,87076,87090)|0;m=+h[(c[B+16>>2]|0)+16>>3];s=+h[(c[J+16>>2]|0)+16>>3];A=b+16|0;q=(c[(c[A>>2]|0)+116>>2]&1|0)==0;r=q?B:J;q=q?J:B;t=Zg(t,q)|0;u=Zg(z,r)|0;g=0;p=0;while(1){if((p|0)>=(f|0))break;j=d+(p+e<<2)|0;while(1){o=c[j>>2]|0;n=o+16|0;j=c[n>>2]|0;if(!(a[j+112>>0]|0))break;else j=j+116|0}if((c[((c[o>>2]&3|0)==3?o:o+48|0)+40>>2]|0)==(q|0))k=_g(z,t,u,o)|0;else k=_g(z,u,t,o)|0;j=c[n>>2]|0;c[j+120>>2]=k;if(!g)if((a[j+44>>0]|0)==0?(a[j+84>>0]|0)==0:0){c[(c[k+16>>2]|0)+120>>2]=o;g=k}else g=0;p=p+1|0}if(!g)x=Qx(z,t,u,0,1)|0;else x=g;qx(x,c[46404]|0,85387)|0;g=z+16|0;n=c[g>>2]|0;c[n+144>>2]=c[(c[A>>2]|0)+144>>2];c[n+188>>2]=z;_M(z,i);Pf(z);yj(z,0);Ih(z,0);Li(z,0);q=q+16|0;i=c[q>>2]|0;n=c[r+16>>2]|0;r=t+16|0;o=c[r>>2]|0;p=o+16|0;v=+(~~m|0);w=+(~~((+h[(c[u+16>>2]|0)+16>>3]+ +h[p>>3])*.5)|0);m=+(~~s|0);s=+(~~((+h[i+16>>3]-+h[i+96>>3]+ +h[n+16>>3]+ +h[n+88>>3])*.5)|0);n=o+24|0;g=(c[g>>2]|0)+192|0;while(1){j=c[g>>2]|0;if(!j)break;do if((j|0)!=(t|0)){g=c[j+16>>2]|0;k=g+24|0;if((j|0)==(u|0)){h[k>>3]=m;h[g+16>>3]=w;break}else{h[k>>3]=s;break}}else{h[n>>3]=v;h[p>>3]=w;g=o}while(0);g=g+164|0}sk(z);kg(z,0);dJ(z);k=c[q>>2]|0;g=c[r>>2]|0;if(!(c[(c[A>>2]|0)+116>>2]&1)){j=g+16|0;m=+h[k+24>>3]-+h[g+24>>3]}else{j=g+24|0;m=+h[g+16>>3]+ +h[k+24>>3]}h[K>>3]=+h[k+16>>3]-+h[j>>3];h[K+8>>3]=m;i=N+16|0;t=N+32|0;u=N+48|0;r=0;while(1){if((r|0)>=(f|0))break;g=d+(r+e<<2)|0;while(1){j=c[g>>2]|0;q=j+16|0;g=c[q>>2]|0;if(!(a[g+112>>0]|0))break;else g=g+116|0}o=c[g+120>>2]|0;p=o+16|0;g=c[p>>2]|0;if(!((o|0)==(x|0)&(c[g+120>>2]|0)==0)){n=c[c[g+8>>2]>>2]|0;o=n+4|0;j=OK(j,c[o>>2]|0)|0;c[j+8>>2]=c[n+8>>2];g=j+16|0;k=n+16|0;S=c[(c[A>>2]|0)+116>>2]&1;c[C>>2]=c[k>>2];c[C+4>>2]=c[k+4>>2];c[C+8>>2]=c[k+8>>2];c[C+12>>2]=c[k+12>>2];c[D>>2]=c[K>>2];c[D+4>>2]=c[K+4>>2];c[D+8>>2]=c[K+8>>2];c[D+12>>2]=c[K+12>>2];$g(L,C,D,S);c[g>>2]=c[L>>2];c[g+4>>2]=c[L+4>>2];c[g+8>>2]=c[L+8>>2];c[g+12>>2]=c[L+12>>2];c[j+12>>2]=c[n+12>>2];g=j+32|0;S=n+32|0;k=c[(c[A>>2]|0)+116>>2]&1;c[C>>2]=c[S>>2];c[C+4>>2]=c[S+4>>2];c[C+8>>2]=c[S+8>>2];c[C+12>>2]=c[S+12>>2];c[D>>2]=c[K>>2];c[D+4>>2]=c[K+4>>2];c[D+8>>2]=c[K+8>>2];c[D+12>>2]=c[K+12>>2];$g(M,C,D,k);c[g>>2]=c[M>>2];c[g+4>>2]=c[M+4>>2];c[g+8>>2]=c[M+8>>2];c[g+12>>2]=c[M+12>>2];g=0;while(1){if((g|0)>=(c[o>>2]|0))break;k=(c[j>>2]|0)+(g<<4)|0;T=(c[n>>2]|0)+(g<<4)|0;S=c[(c[A>>2]|0)+116>>2]&1;c[C>>2]=c[T>>2];c[C+4>>2]=c[T+4>>2];c[C+8>>2]=c[T+8>>2];c[C+12>>2]=c[T+12>>2];c[D>>2]=c[K>>2];c[D+4>>2]=c[K+4>>2];c[D+8>>2]=c[K+8>>2];c[D+12>>2]=c[K+12>>2];$g(E,C,D,S);c[k>>2]=c[E>>2];c[k+4>>2]=c[E+4>>2];c[k+8>>2]=c[E+8>>2];c[k+12>>2]=c[E+12>>2];c[N>>2]=c[E>>2];c[N+4>>2]=c[E+4>>2];c[N+8>>2]=c[E+8>>2];c[N+12>>2]=c[E+12>>2];k=g+1|0;if((k|0)>=(c[o>>2]|0)){Q=48;break}S=(c[j>>2]|0)+(k<<4)|0;k=(c[n>>2]|0)+(k<<4)|0;T=c[(c[A>>2]|0)+116>>2]&1;c[C>>2]=c[k>>2];c[C+4>>2]=c[k+4>>2];c[C+8>>2]=c[k+8>>2];c[C+12>>2]=c[k+12>>2];c[D>>2]=c[K>>2];c[D+4>>2]=c[K+4>>2];c[D+8>>2]=c[K+8>>2];c[D+12>>2]=c[K+12>>2];$g(F,C,D,T);c[S>>2]=c[F>>2];c[S+4>>2]=c[F+4>>2];c[S+8>>2]=c[F+8>>2];c[S+12>>2]=c[F+12>>2];c[i>>2]=c[F>>2];c[i+4>>2]=c[F+4>>2];c[i+8>>2]=c[F+8>>2];c[i+12>>2]=c[F+12>>2];S=g+2|0;T=(c[j>>2]|0)+(S<<4)|0;S=(c[n>>2]|0)+(S<<4)|0;k=c[(c[A>>2]|0)+116>>2]&1;c[C>>2]=c[S>>2];c[C+4>>2]=c[S+4>>2];c[C+8>>2]=c[S+8>>2];c[C+12>>2]=c[S+12>>2];c[D>>2]=c[K>>2];c[D+4>>2]=c[K+4>>2];c[D+8>>2]=c[K+8>>2];c[D+12>>2]=c[K+12>>2];$g(G,C,D,k);c[T>>2]=c[G>>2];c[T+4>>2]=c[G+4>>2];c[T+8>>2]=c[G+8>>2];c[T+12>>2]=c[G+12>>2];c[t>>2]=c[G>>2];c[t+4>>2]=c[G+4>>2];c[t+8>>2]=c[G+8>>2];c[t+12>>2]=c[G+12>>2];T=g+3|0;k=(c[n>>2]|0)+(T<<4)|0;S=c[(c[A>>2]|0)+116>>2]&1;c[C>>2]=c[k>>2];c[C+4>>2]=c[k+4>>2];c[C+8>>2]=c[k+8>>2];c[C+12>>2]=c[k+12>>2];c[D>>2]=c[K>>2];c[D+4>>2]=c[K+4>>2];c[D+8>>2]=c[K+8>>2];c[D+12>>2]=c[K+12>>2];$g(H,C,D,S);c[u>>2]=c[H>>2];c[u+4>>2]=c[H+4>>2];c[u+8>>2]=c[H+8>>2];c[u+12>>2]=c[H+12>>2];XE((c[A>>2]|0)+16|0,N);g=T}if((Q|0)==48)Q=0;g=c[(c[q>>2]|0)+96>>2]|0;if(g|0){T=g+56|0;p=(c[(c[p>>2]|0)+96>>2]|0)+56|0;S=c[(c[A>>2]|0)+116>>2]&1;c[C>>2]=c[p>>2];c[C+4>>2]=c[p+4>>2];c[C+8>>2]=c[p+8>>2];c[C+12>>2]=c[p+12>>2];c[D>>2]=c[K>>2];c[D+4>>2]=c[K+4>>2];c[D+8>>2]=c[K+8>>2];c[D+12>>2]=c[K+12>>2];$g(I,C,D,S);c[T>>2]=c[I>>2];c[T+4>>2]=c[I+4>>2];c[T+8>>2]=c[I+8>>2];c[T+12>>2]=c[I+12>>2];T=c[(c[q>>2]|0)+96>>2]|0;a[T+81>>0]=1;jM(b,T)}}r=r+1|0}ah(z,y)}else Q=3;while(0);if((Q|0)==3?(c[45968]|0)==0:0){c[45968]=1;Ow(0,85260,O)|0;Q=qy(J)|0;S=(dy(b)|0)!=0;T=qy(B)|0;c[P>>2]=Q;c[P+4>>2]=S?134656:138665;c[P+8>>2]=T;Ow(3,85366,P)|0}l=R;return}function Rg(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0.0,B=0.0,C=0.0,D=0.0,E=0.0;z=l;l=l+1600|0;u=z+1552|0;n=z+1536|0;t=z+840|0;v=z+144|0;w=z+1584|0;j=z+32|0;s=z+16|0;o=z;q=c[f>>2]&3;p=c[((q|0)==3?f:f+48|0)+40>>2]|0;x=f+-48|0;q=c[((q|0)==2?f:x)+40>>2]|0;r=f+16|0;k=c[r>>2]|0;i=c[k+172>>2]|0;while(1){m=c[(c[i+16>>2]|0)+172>>2]|0;if(!m)break;else i=m}k=(c[k+96>>2]|0)+56|0;i=(c[((c[i>>2]&3|0)==3?i:i+48|0)+40>>2]|0)+16|0;m=(c[i>>2]|0)+16|0;c[k>>2]=c[m>>2];c[k+4>>2]=c[m+4>>2];c[k+8>>2]=c[m+8>>2];c[k+12>>2]=c[m+12>>2];k=c[r>>2]|0;a[(c[k+96>>2]|0)+81>>0]=1;if((g|0)!=2){k=c[i>>2]|0;C=+h[k+16>>3];E=C-+h[k+88>>3];C=+h[k+96>>3]+C;B=+h[k+24>>3];D=+h[k+80>>3]*.5+B;k=c[(c[b+16>>2]|0)+196>>2]|0;m=c[p+16>>2]|0;j=c[m+232>>2]|0;B=+(~~(+(~~(B-+h[k+(j<<6)+16>>3]-+h[m+24>>3]+ +h[k+(j<<6)+24>>3])|0)*.16666666666666666)|0);B=D-(B<5.0?5.0:B);Ug(b,d,e,p,f,t,1);Ug(b,d,e,q,f,v,0);j=t+52|0;k=c[j>>2]|0;m=k+-1|0;A=+h[t+56+(m<<5)>>3];h[18830]=A;h[18831]=+h[t+56+(m<<5)+24>>3];h[18832]=E;h[18833]=B;h[18834]=A;h[18835]=B;m=v+52|0;i=(c[m>>2]|0)+-1|0;A=+h[v+56+(i<<5)+16>>3];h[18836]=A;h[18837]=D;h[18838]=C;h[18841]=B;h[18839]=+h[v+56+(i<<5)+24>>3];h[18840]=A;i=0;while(1){if((i|0)>=(k|0)){i=0;break}k=t+56+(i<<5)|0;c[u>>2]=c[k>>2];c[u+4>>2]=c[k+4>>2];c[u+8>>2]=c[k+8>>2];c[u+12>>2]=c[k+12>>2];c[u+16>>2]=c[k+16>>2];c[u+20>>2]=c[k+20>>2];c[u+24>>2]=c[k+24>>2];c[u+28>>2]=c[k+28>>2];RK(e,u);i=i+1|0;k=c[j>>2]|0}while(1){if((i|0)==3)break;t=150640+(i<<5)|0;c[u>>2]=c[t>>2];c[u+4>>2]=c[t+4>>2];c[u+8>>2]=c[t+8>>2];c[u+12>>2]=c[t+12>>2];c[u+16>>2]=c[t+16>>2];c[u+20>>2]=c[t+20>>2];c[u+24>>2]=c[t+24>>2];c[u+28>>2]=c[t+28>>2];RK(e,u);i=i+1|0}j=c[m>>2]|0;while(1){i=j+-1|0;if((j|0)<=0)break;j=v+56+(i<<5)|0;c[u>>2]=c[j>>2];c[u+4>>2]=c[j+4>>2];c[u+8>>2]=c[j+8>>2];c[u+12>>2]=c[j+12>>2];c[u+16>>2]=c[j+16>>2];c[u+20>>2]=c[j+20>>2];c[u+24>>2]=c[j+24>>2];c[u+28>>2]=c[j+28>>2];RK(e,u);j=i}if((g|0)==10)j=rJ(e,w)|0;else j=xJ(e,w)|0;i=c[w>>2]|0;if(i|0)y=17}else{i=(c[p+16>>2]|0)+16|0;v=k+16|0;c[n>>2]=c[i>>2];c[n+4>>2]=c[i+4>>2];c[n+8>>2]=c[i+8>>2];c[n+12>>2]=c[i+12>>2];c[u>>2]=c[v>>2];c[u+4>>2]=c[v+4>>2];c[u+8>>2]=c[v+8>>2];c[u+12>>2]=c[v+12>>2];Og(s,n,u);v=(c[q+16>>2]|0)+16|0;i=(c[r>>2]|0)+56|0;c[n>>2]=c[v>>2];c[n+4>>2]=c[v+4>>2];c[n+8>>2]=c[v+8>>2];c[n+12>>2]=c[v+12>>2];c[u>>2]=c[i>>2];c[u+4>>2]=c[i+4>>2];c[u+8>>2]=c[i+8>>2];c[u+12>>2]=c[i+12>>2];Og(o,n,u);i=c[(c[r>>2]|0)+96>>2]|0;D=+h[i+56>>3];E=+h[i+64>>3]-+h[i+32>>3]*.5;i=j+16|0;c[j>>2]=c[s>>2];c[j+4>>2]=c[s+4>>2];c[j+8>>2]=c[s+8>>2];c[j+12>>2]=c[s+12>>2];c[i>>2]=c[s>>2];c[i+4>>2]=c[s+4>>2];c[i+8>>2]=c[s+8>>2];c[i+12>>2]=c[s+12>>2];i=j+32|0;v=j+48|0;y=j+64|0;h[j+64>>3]=D;h[j+72>>3]=E;c[v>>2]=c[y>>2];c[v+4>>2]=c[y+4>>2];c[v+8>>2]=c[y+8>>2];c[v+12>>2]=c[y+12>>2];c[i>>2]=c[y>>2];c[i+4>>2]=c[y+4>>2];c[i+8>>2]=c[y+8>>2];c[i+12>>2]=c[y+12>>2];i=j+80|0;y=j+96|0;c[y>>2]=c[o>>2];c[y+4>>2]=c[o+4>>2];c[y+8>>2]=c[o+8>>2];c[y+12>>2]=c[o+12>>2];c[i>>2]=c[o>>2];c[i+4>>2]=c[o+4>>2];c[i+8>>2]=c[o+8>>2];c[i+12>>2]=c[o+12>>2];c[w>>2]=7;i=7;y=17}if((y|0)==17)PK(f,c[((c[f>>2]&3|0)==2?f:x)+40>>2]|0,j,i,17296);l=z;return}function Sg(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var i=0.0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0.0,s=0,t=0.0,u=0,v=0,w=0,x=0,y=0,z=0.0,A=0.0,B=0.0,C=0.0,D=0.0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0;N=l;l=l+352|0;x=N+336|0;w=N+320|0;L=N+128|0;u=N+304|0;y=N+288|0;M=N+112|0;E=N+96|0;F=N+80|0;G=N+64|0;H=N+48|0;I=N+32|0;J=N+16|0;K=N;a=a+16|0;q=(c[a>>2]|0)+16|0;v=(c[d+(e<<2)>>2]|0)+16|0;s=(c[v>>2]|0)+16|0;c[w>>2]=c[q>>2];c[w+4>>2]=c[q+4>>2];c[w+8>>2]=c[q+8>>2];c[w+12>>2]=c[q+12>>2];c[x>>2]=c[s>>2];c[x+4>>2]=c[s+4>>2];c[x+8>>2]=c[s+8>>2];c[x+12>>2]=c[s+12>>2];Og(u,w,x);C=+h[u>>3];D=+h[u+8>>3];u=(c[b+16>>2]|0)+16|0;v=(c[v>>2]|0)+56|0;c[w>>2]=c[u>>2];c[w+4>>2]=c[u+4>>2];c[w+8>>2]=c[u+8>>2];c[w+12>>2]=c[u+12>>2];c[x>>2]=c[v>>2];c[x+4>>2]=c[v+4>>2];c[x+8>>2]=c[v+8>>2];c[x+12>>2]=c[v+12>>2];Og(y,w,x);A=+h[y>>3];B=+h[y+8>>3];if((f|0)>1){z=+h[(c[a>>2]|0)+80>>3];i=z*.5;z=z/+(f+-1|0)}else{i=0.0;z=0.0}p=(g|8|0)==10;m=L+8|0;q=L+16|0;r=(A+C*2.0)*.3333333333333333;s=L+32|0;t=(A*2.0+C)*.3333333333333333;n=L+24|0;u=L+48|0;v=L+64|0;w=L+80|0;x=L+96|0;y=L+112|0;k=L+128|0;o=L+136|0;i=D-i;b=0;while(1){if((b|0)>=(f|0))break;j=c[d+(b+e<<2)>>2]|0;h[L>>3]=C;h[m>>3]=D;if(p){Wg(M,r,i);c[q>>2]=c[M>>2];c[q+4>>2]=c[M+4>>2];c[q+8>>2]=c[M+8>>2];c[q+12>>2]=c[M+12>>2];Wg(E,t,i);c[s>>2]=c[E>>2];c[s+4>>2]=c[E+4>>2];c[s+8>>2]=c[E+8>>2];c[s+12>>2]=c[E+12>>2];a=4;g=3}else{h[q>>3]=C;h[n>>3]=D;Wg(F,r,i);c[s>>2]=c[F>>2];c[s+4>>2]=c[F+4>>2];c[s+8>>2]=c[F+8>>2];c[s+12>>2]=c[F+12>>2];Wg(G,r,i);c[u>>2]=c[G>>2];c[u+4>>2]=c[G+4>>2];c[u+8>>2]=c[G+8>>2];c[u+12>>2]=c[G+12>>2];Wg(H,r,i);c[v>>2]=c[H>>2];c[v+4>>2]=c[H+4>>2];c[v+8>>2]=c[H+8>>2];c[v+12>>2]=c[H+12>>2];Wg(I,t,i);c[w>>2]=c[I>>2];c[w+4>>2]=c[I+4>>2];c[w+8>>2]=c[I+8>>2];c[w+12>>2]=c[I+12>>2];Wg(J,t,i);c[x>>2]=c[J>>2];c[x+4>>2]=c[J+4>>2];c[x+8>>2]=c[J+8>>2];c[x+12>>2]=c[J+12>>2];Wg(K,t,i);c[y>>2]=c[K>>2];c[y+4>>2]=c[K+4>>2];c[y+8>>2]=c[K+8>>2];c[y+12>>2]=c[K+12>>2];h[k>>3]=A;h[o>>3]=B;a=10;g=9}h[L+(g<<4)>>3]=A;h[L+(g<<4)+8>>3]=B;PK(j,c[((c[j>>2]&3|0)==2?j:j+-48|0)+40>>2]|0,L,a,17296);i=i+z;b=b+1|0}l=N;return}function Tg(a,d,e,f,g,i,j,k){a=a|0;d=d|0;e=e|0;f=f|0;g=g|0;i=i|0;j=j|0;k=k|0;var m=0,n=0.0,o=0,p=0,q=0,r=0,s=0.0,t=0,u=0,v=0,w=0,x=0,y=0,z=0.0,A=0.0,B=0.0,C=0.0,D=0.0;x=l;l=l+1440|0;t=x+1392|0;v=x+1424|0;w=x+696|0;u=x;r=c[j>>2]&3;q=c[((r|0)==3?j:j+48|0)+40>>2]|0;r=c[((r|0)==2?j:j+-48|0)+40>>2]|0;m=c[q+16>>2]|0;o=c[m+232>>2]|0;p=c[a+16>>2]|0;if((o|0)<(b[p+238>>1]|0)){y=c[p+196>>2]|0;p=o+1|0;n=+h[m+24>>3]-+h[y+(o<<6)+32>>3]-+h[(c[(c[c[y+(p<<6)+4>>2]>>2]|0)+16>>2]|0)+24>>3]-+h[y+(p<<6)+40>>3]}else n=+(c[p+252>>2]|0);z=+(i+1|0);s=+(c[d+12>>2]|0)/z;n=n/z;Vg(a,d,e,q,j,w,1);Vg(a,d,e,r,j,u,0);r=w+52|0;j=u+52|0;a=(k|0)==0;d=e+80|0;m=0;while(1){if((m|0)>=(i|0))break;q=c[f+(m+g<<2)>>2]|0;p=c[r>>2]|0;o=p+-1|0;D=+h[w+56+(o<<5)>>3];B=+h[w+56+(o<<5)+8>>3];C=+h[w+56+(o<<5)+16>>3];h[18830]=D;h[18833]=B;m=m+1|0;z=+(m|0);A=s*z;h[18832]=C+A;z=B-n*z;h[18831]=z;h[18834]=D;h[18837]=z;o=(c[j>>2]|0)+-1|0;D=+h[u+56+(o<<5)+16>>3];h[18836]=D;h[18835]=z-n;B=+h[u+56+(o<<5)>>3];C=+h[u+56+(o<<5)+8>>3];h[18840]=D;h[18841]=C;h[18838]=B-A;h[18839]=z;o=0;while(1){if((o|0)>=(p|0)){o=0;break}p=w+56+(o<<5)|0;c[t>>2]=c[p>>2];c[t+4>>2]=c[p+4>>2];c[t+8>>2]=c[p+8>>2];c[t+12>>2]=c[p+12>>2];c[t+16>>2]=c[p+16>>2];c[t+20>>2]=c[p+20>>2];c[t+24>>2]=c[p+24>>2];c[t+28>>2]=c[p+28>>2];RK(e,t);o=o+1|0;p=c[r>>2]|0}while(1){if((o|0)==3)break;y=150640+(o<<5)|0;c[t>>2]=c[y>>2];c[t+4>>2]=c[y+4>>2];c[t+8>>2]=c[y+8>>2];c[t+12>>2]=c[y+12>>2];c[t+16>>2]=c[y+16>>2];c[t+20>>2]=c[y+20>>2];c[t+24>>2]=c[y+24>>2];c[t+28>>2]=c[y+28>>2];RK(e,t);o=o+1|0}p=c[j>>2]|0;while(1){o=p+-1|0;if((p|0)<=0)break;p=u+56+(o<<5)|0;c[t>>2]=c[p>>2];c[t+4>>2]=c[p+4>>2];c[t+8>>2]=c[p+8>>2];c[t+12>>2]=c[p+12>>2];c[t+16>>2]=c[p+16>>2];c[t+20>>2]=c[p+20>>2];c[t+24>>2]=c[p+24>>2];c[t+28>>2]=c[p+28>>2];RK(e,t);p=o}if(a)o=xJ(e,v)|0;else o=rJ(e,v)|0;p=c[v>>2]|0;if(!p)break;PK(q,c[((c[q>>2]&3|0)==2?q:q+-48|0)+40>>2]|0,o,p,17296);c[d>>2]=0}l=x;return}function Ug(a,b,d,e,f,g,i){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;i=i|0;var j=0,k=0,m=0,n=0,o=0,p=0.0;n=l;l=l+128|0;j=n+96|0;k=n+64|0;o=n+32|0;m=n;xg(o,a,b,e,0,f);c[g>>2]=c[o>>2];c[g+4>>2]=c[o+4>>2];c[g+8>>2]=c[o+8>>2];c[g+12>>2]=c[o+12>>2];c[g+16>>2]=c[o+16>>2];c[g+20>>2]=c[o+20>>2];c[g+24>>2]=c[o+24>>2];c[g+28>>2]=c[o+28>>2];c[k>>2]=c[o>>2];c[k+4>>2]=c[o+4>>2];c[k+8>>2]=c[o+8>>2];c[k+12>>2]=c[o+12>>2];c[k+16>>2]=c[o+16>>2];c[k+20>>2]=c[o+20>>2];c[k+24>>2]=c[o+24>>2];c[k+28>>2]=c[o+28>>2];c[g+48>>2]=4;if(!(i<<24>>24))VK(d,f,2,g,0);else SK(d,f,2,g,0);b=g+52|0;f=(c[b>>2]|0)+-1|0;o=k+24|0;h[o>>3]=+h[g+56+(f<<5)+24>>3];i=k+8|0;h[i>>3]=+h[g+56+(f<<5)+8>>3];e=c[e+16>>2]|0;p=+h[(c[(c[a+16>>2]|0)+196>>2]|0)+(c[e+232>>2]<<6)+24>>3]+ +h[e+24>>3];c[j>>2]=c[k>>2];c[j+4>>2]=c[k+4>>2];c[j+8>>2]=c[k+8>>2];c[j+12>>2]=c[k+12>>2];c[j+16>>2]=c[k+16>>2];c[j+20>>2]=c[k+20>>2];c[j+24>>2]=c[k+24>>2];c[j+28>>2]=c[k+28>>2];zg(m,j,4,p);c[k>>2]=c[m>>2];c[k+4>>2]=c[m+4>>2];c[k+8>>2]=c[m+8>>2];c[k+12>>2]=c[m+12>>2];c[k+16>>2]=c[m+16>>2];c[k+20>>2]=c[m+20>>2];c[k+24>>2]=c[m+24>>2];c[k+28>>2]=c[m+28>>2];if(+h[k>>3]<+h[k+16>>3]?+h[i>>3]<+h[o>>3]:0){o=c[b>>2]|0;c[b>>2]=o+1;o=g+56+(o<<5)|0;c[o>>2]=c[k>>2];c[o+4>>2]=c[k+4>>2];c[o+8>>2]=c[k+8>>2];c[o+12>>2]=c[k+12>>2];c[o+16>>2]=c[k+16>>2];c[o+20>>2]=c[k+20>>2];c[o+24>>2]=c[k+24>>2];c[o+28>>2]=c[k+28>>2]}l=n;return}function Vg(a,b,d,e,f,g,i){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;i=i|0;var j=0,k=0,m=0,n=0,o=0,p=0.0;n=l;l=l+128|0;j=n+96|0;k=n+64|0;o=n+32|0;m=n;xg(o,a,b,e,0,f);c[g>>2]=c[o>>2];c[g+4>>2]=c[o+4>>2];c[g+8>>2]=c[o+8>>2];c[g+12>>2]=c[o+12>>2];c[g+16>>2]=c[o+16>>2];c[g+20>>2]=c[o+20>>2];c[g+24>>2]=c[o+24>>2];c[g+28>>2]=c[o+28>>2];c[k>>2]=c[o>>2];c[k+4>>2]=c[o+4>>2];c[k+8>>2]=c[o+8>>2];c[k+12>>2]=c[o+12>>2];c[k+16>>2]=c[o+16>>2];c[k+20>>2]=c[o+20>>2];c[k+24>>2]=c[o+24>>2];c[k+28>>2]=c[o+28>>2];c[g+48>>2]=1;if(!(i<<24>>24))VK(d,f,2,g,0);else SK(d,f,2,g,0);b=g+52|0;f=(c[b>>2]|0)+-1|0;o=k+24|0;h[o>>3]=+h[g+56+(f<<5)+24>>3];i=k+8|0;h[i>>3]=+h[g+56+(f<<5)+8>>3];e=c[e+16>>2]|0;p=+h[e+24>>3]-+h[(c[(c[a+16>>2]|0)+196>>2]|0)+(c[e+232>>2]<<6)+24>>3];c[j>>2]=c[k>>2];c[j+4>>2]=c[k+4>>2];c[j+8>>2]=c[k+8>>2];c[j+12>>2]=c[k+12>>2];c[j+16>>2]=c[k+16>>2];c[j+20>>2]=c[k+20>>2];c[j+24>>2]=c[k+24>>2];c[j+28>>2]=c[k+28>>2];zg(m,j,1,p);c[k>>2]=c[m>>2];c[k+4>>2]=c[m+4>>2];c[k+8>>2]=c[m+8>>2];c[k+12>>2]=c[m+12>>2];c[k+16>>2]=c[m+16>>2];c[k+20>>2]=c[m+20>>2];c[k+24>>2]=c[m+24>>2];c[k+28>>2]=c[m+28>>2];if(+h[k>>3]<+h[k+16>>3]?+h[i>>3]<+h[o>>3]:0){o=c[b>>2]|0;c[b>>2]=o+1;o=g+56+(o<<5)|0;c[o>>2]=c[k>>2];c[o+4>>2]=c[k+4>>2];c[o+8>>2]=c[k+8>>2];c[o+12>>2]=c[k+12>>2];c[o+16>>2]=c[k+16>>2];c[o+20>>2]=c[k+20>>2];c[o+24>>2]=c[k+24>>2];c[o+28>>2]=c[k+28>>2]}l=n;return}function Wg(a,b,c){a=a|0;b=+b;c=+c;h[a>>3]=b;h[a+8>>3]=c;return}function Xg(b,d,e,f,g,i,j){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;i=i|0;j=j|0;var k=0,m=0,n=0,o=0,p=0.0,q=0.0,r=0.0,s=0.0,t=0.0,u=0.0,v=0.0,w=0.0,x=0.0,y=0,z=0,A=0.0,B=0.0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0.0;Y=l;l=l+288|0;R=Y+256|0;Q=Y+240|0;P=Y+224|0;V=Y+280|0;W=Y+272|0;X=Y+32|0;S=Y+16|0;T=Y;m=Y+208|0;n=Y+192|0;o=c[e+(f<<2)>>2]|0;U=tH(g<<2)|0;k=0;while(1){if((k|0)>=(g|0))break;c[U+(k<<2)>>2]=c[e+(k+f<<2)>>2];k=k+1|0}Z0(U,g,4,59);e=b+16|0;f=(c[e>>2]|0)+16|0;o=o+16|0;C=(c[o>>2]|0)+16|0;c[Q>>2]=c[f>>2];c[Q+4>>2]=c[f+4>>2];c[Q+8>>2]=c[f+8>>2];c[Q+12>>2]=c[f+12>>2];c[R>>2]=c[C>>2];c[R+4>>2]=c[C+4>>2];c[R+8>>2]=c[C+8>>2];c[R+12>>2]=c[C+12>>2];Og(m,Q,R);c[S>>2]=c[m>>2];c[S+4>>2]=c[m+4>>2];c[S+8>>2]=c[m+8>>2];c[S+12>>2]=c[m+12>>2];C=d+16|0;f=(c[C>>2]|0)+16|0;o=(c[o>>2]|0)+56|0;c[Q>>2]=c[f>>2];c[Q+4>>2]=c[f+4>>2];c[Q+8>>2]=c[f+8>>2];c[Q+12>>2]=c[f+12>>2];c[R>>2]=c[o>>2];c[R+4>>2]=c[o+4>>2];c[R+8>>2]=c[o+8>>2];c[R+12>>2]=c[o+12>>2];Og(n,Q,R);c[T>>2]=c[n>>2];c[T+4>>2]=c[n+4>>2];c[T+8>>2]=c[n+8>>2];c[T+12>>2]=c[n+12>>2];w=+h[(c[e>>2]|0)+96>>3]+ +h[S>>3];x=+h[T>>3]-+h[(c[C>>2]|0)+88>>3];u=x+w;v=u*.5;C=c[U>>2]|0;c[X>>2]=c[S>>2];c[X+4>>2]=c[S+4>>2];c[X+8>>2]=c[S+8>>2];c[X+12>>2]=c[S+12>>2];o=X+16|0;c[o>>2]=c[S>>2];c[o+4>>2]=c[S+4>>2];c[o+8>>2]=c[S+8>>2];c[o+12>>2]=c[S+12>>2];e=X+32|0;c[e>>2]=c[T>>2];c[e+4>>2]=c[T+4>>2];c[e+8>>2]=c[T+8>>2];c[e+12>>2]=c[T+12>>2];f=X+48|0;c[f>>2]=c[T>>2];c[f+4>>2]=c[T+4>>2];c[f+8>>2]=c[T+8>>2];c[f+12>>2]=c[T+12>>2];PK(C,c[((c[C>>2]&3|0)==2?C:C+-48|0)+40>>2]|0,X,4,17296);C=c[(c[C+16>>2]|0)+96>>2]|0;h[C+56>>3]=v;z=S+8|0;r=+h[z>>3];s=+h[C+32>>3];h[C+64>>3]=(s+6.0)*.5+r;a[C+81>>0]=1;r=r+3.0;B=+h[C+24>>3];A=(u-B)*.5;B=(B+u)*.5;C=X+24|0;D=X+40|0;E=X+56|0;F=X+64|0;G=T+8|0;H=X+72|0;I=X+80|0;J=X+88|0;K=X+96|0;L=X+104|0;M=X+112|0;N=X+120|0;O=V+4|0;n=(i|0)==6&1;q=0.0;p=0.0;s=s+r;m=1;while(1){if((m|0)>=(j|0)){y=6;break}d=c[U+(m<<2)>>2]|0;if(!(m&1)){c[X>>2]=c[S>>2];c[X+4>>2]=c[S+4>>2];c[X+8>>2]=c[S+8>>2];c[X+12>>2]=c[S+12>>2];h[o>>3]=A;h[C>>3]=+h[z>>3];h[e>>3]=A;h[D>>3]=s;h[f>>3]=B;h[E>>3]=s;h[F>>3]=B;t=+h[G>>3];h[H>>3]=t;Z=+h[T>>3];h[I>>3]=Z;h[J>>3]=t;h[K>>3]=Z;Z=s+6.0;h[L>>3]=Z;h[M>>3]=+h[S>>3];h[N>>3]=Z;s=+h[(c[(c[d+16>>2]|0)+96>>2]|0)+32>>3];t=Z+s*.5;s=Z+s}else{k=d+16|0;b=c[(c[k>>2]|0)+96>>2]|0;if((m|0)==1){p=+h[b+24>>3];q=(p+u)*.5;p=(u-p)*.5}r=r+-6.0-+h[b+32>>3];c[X>>2]=c[S>>2];c[X+4>>2]=c[S+4>>2];c[X+8>>2]=c[S+8>>2];c[X+12>>2]=c[S+12>>2];h[o>>3]=+h[S>>3];t=r+-6.0;h[C>>3]=t;h[e>>3]=+h[T>>3];h[D>>3]=t;c[f>>2]=c[T>>2];c[f+4>>2]=c[T+4>>2];c[f+8>>2]=c[T+8>>2];c[f+12>>2]=c[T+12>>2];h[F>>3]=q;h[H>>3]=+h[G>>3];h[I>>3]=q;h[J>>3]=r;h[K>>3]=p;h[L>>3]=r;h[M>>3]=p;h[N>>3]=+h[z>>3];t=+h[(c[(c[k>>2]|0)+96>>2]|0)+32>>3]*.5+r}c[O>>2]=8;c[V>>2]=X;c[P>>2]=c[S>>2];c[P+4>>2]=c[S+4>>2];c[P+8>>2]=c[S+8>>2];c[P+12>>2]=c[S+12>>2];c[Q>>2]=c[T>>2];c[Q+4>>2]=c[T+4>>2];c[Q+8>>2]=c[T+8>>2];c[Q+12>>2]=c[T+12>>2];c[R>>2]=c[V>>2];c[R+4>>2]=c[V+4>>2];k=nJ(P,Q,R,W,n)|0;b=c[W>>2]|0;if(!b)break;i=c[(c[d+16>>2]|0)+96>>2]|0;h[i+56>>3]=v;h[i+64>>3]=t;a[i+81>>0]=1;PK(d,c[((c[d>>2]&3|0)==2?d:d+-48|0)+40>>2]|0,k,b,17296);m=m+1|0}a:do if((y|0)==6){v=(x+w*2.0)*.3333333333333333;u=(x*2.0+w)*.3333333333333333;while(1){if((m|0)>=(g|0))break;d=c[U+(m<<2)>>2]|0;if(!(m&1)){c[X>>2]=c[S>>2];c[X+4>>2]=c[S+4>>2];c[X+8>>2]=c[S+8>>2];c[X+12>>2]=c[S+12>>2];h[o>>3]=A;h[C>>3]=+h[z>>3];h[e>>3]=A;h[D>>3]=s;h[f>>3]=B;h[E>>3]=s;h[F>>3]=B;t=+h[G>>3];h[H>>3]=t;Z=+h[T>>3];h[I>>3]=Z;h[J>>3]=t;h[K>>3]=Z;Z=s+6.0;h[L>>3]=Z;h[M>>3]=+h[S>>3];s=Z;t=p;p=Z}else{y=(m|0)==1;t=y?v:p;q=y?u:q;p=r+-6.0;c[X>>2]=c[S>>2];c[X+4>>2]=c[S+4>>2];c[X+8>>2]=c[S+8>>2];c[X+12>>2]=c[S+12>>2];h[o>>3]=+h[S>>3];r=r+-12.0;h[C>>3]=r;h[e>>3]=+h[T>>3];h[D>>3]=r;c[f>>2]=c[T>>2];c[f+4>>2]=c[T+4>>2];c[f+8>>2]=c[T+8>>2];c[f+12>>2]=c[T+12>>2];h[F>>3]=q;h[H>>3]=+h[G>>3];h[I>>3]=q;h[J>>3]=p;h[K>>3]=t;h[L>>3]=p;h[M>>3]=t;r=p;p=+h[z>>3]}h[N>>3]=p;c[O>>2]=8;c[V>>2]=X;c[P>>2]=c[S>>2];c[P+4>>2]=c[S+4>>2];c[P+8>>2]=c[S+8>>2];c[P+12>>2]=c[S+12>>2];c[Q>>2]=c[T>>2];c[Q+4>>2]=c[T+4>>2];c[Q+8>>2]=c[T+8>>2];c[Q+12>>2]=c[T+12>>2];c[R>>2]=c[V>>2];c[R+4>>2]=c[V+4>>2];k=nJ(P,Q,R,W,n)|0;b=c[W>>2]|0;if(!b)break a;PK(d,c[((c[d>>2]&3|0)==2?d:d+-48|0)+40>>2]|0,k,b,17296);m=m+1|0;p=t}C_(U)}while(0);l=Y;return}function Yg(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,i=0,j=0,k=0;g=l;l=l+16|0;f=g;j=(dy(b)|0)==0;j=j?18488:18480;a[f>>0]=a[j>>0]|0;a[f+1>>0]=a[j+1>>0]|0;a[f+2>>0]=a[j+2>>0]|0;a[f+3>>0]=a[j+3>>0]|0;f=Wx(85398,f,0)|0;zz(f,134401,280,1)|0;mx(f,0,87076,191979)|0;j=tH(96)|0;e=c[f+16>>2]|0;c[e+8>>2]=j;i=c[b+16>>2]|0;k=c[i+8>>2]|0;h[j>>3]=+h[k>>3];h[j+24>>3]=+h[k+24>>3];a[e+115>>0]=a[i+115>>0]|0;c[e+116>>2]=c[i+116>>2]&1^1;c[e+248>>2]=c[i+248>>2];c[e+252>>2]=c[i+252>>2];e=rx(ez(b)|0,1,0)|0;while(1){if(!e)break;mx(f,1,c[e+8>>2]|0,c[e+12>>2]|0)|0;e=rx(ez(b)|0,1,e)|0}e=rx(ez(b)|0,2,0)|0;while(1){if(!e)break;mx(f,2,c[e+8>>2]|0,c[e+12>>2]|0)|0;e=rx(ez(b)|0,2,e)|0}if(!(mx(f,2,108382,0)|0))mx(f,2,108382,191979)|0;if(!(mx(f,2,108373,0)|0))mx(f,2,108373,191979)|0;bh(f,d);l=g;return f|0}function Zg(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;e=l;l=l+16|0;d=e;a=$y(a,qy(b)|0,1)|0;zz(a,134365,304,1)|0;Ax(b,a)|0;if((GJ(b)|0)==2){f=b+16|0;b=uH((V_(c[c[(c[f>>2]|0)+104>>2]>>2]|0)|0)+3|0)|0;c[d>>2]=c[c[(c[f>>2]|0)+104>>2]>>2];X0(b,85393,d)|0;yx(a,105198,b)|0}l=e;return a|0}function _g(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;c=Qx(a,b,c,0,1)|0;zz(c,134378,176,1)|0;Ax(d,c)|0;return c|0}function $g(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,i=0,j=0.0;i=l;l=l+32|0;g=i+16|0;f=i;if(e|0){j=+h[b>>3];e=b+8|0;h[b>>3]=+h[e>>3];h[e>>3]=-j};c[f>>2]=c[b>>2];c[f+4>>2]=c[b+4>>2];c[f+8>>2]=c[b+8>>2];c[f+12>>2]=c[b+12>>2];c[g>>2]=c[d>>2];c[g+4>>2]=c[d+4>>2];c[g+8>>2]=c[d+8>>2];c[g+12>>2]=c[d+12>>2];Og(a,f,g);l=i;return}function ah(a,b){a=a|0;b=b|0;c[46419]=c[b>>2];c[46423]=c[b+4>>2];c[46424]=c[b+8>>2];c[46404]=c[b+12>>2];c[46405]=c[b+16>>2];c[46411]=c[b+20>>2];c[46410]=c[b+24>>2];c[46409]=c[b+28>>2];c[46435]=c[b+32>>2];c[46427]=c[b+36>>2];c[46412]=c[b+40>>2];c[46422]=c[b+44>>2];c[46431]=c[b+48>>2];c[46430]=c[b+52>>2];c[46429]=c[b+56>>2];c[46434]=c[b+60>>2];c[46428]=c[b+64>>2];c[46413]=c[b+68>>2];c[46375]=c[b+72>>2];c[46376]=c[b+76>>2];c[46377]=c[b+80>>2];c[46387]=c[b+84>>2];c[46380]=c[b+88>>2];c[46381]=c[b+92>>2];c[46382]=c[b+96>>2];c[46384]=c[b+100>>2];c[46385]=c[b+104>>2];c[46388]=c[b+108>>2];c[46391]=c[b+112>>2];c[46389]=c[b+116>>2];c[46390]=c[b+120>>2];c[46393]=c[b+124>>2];c[46392]=c[b+128>>2];c[46394]=c[b+132>>2];c[46395]=c[b+136>>2];c[46386]=c[b+140>>2];c[46398]=c[b+144>>2];c[46370]=c[b+148>>2];c[46367]=c[b+152>>2];C_(b);Sf(a);_x(a)|0;return}function bh(a,b){a=a|0;b=b|0;c[b>>2]=c[46419];c[b+4>>2]=c[46423];c[b+8>>2]=c[46424];c[b+12>>2]=c[46404];c[b+16>>2]=c[46405];c[b+20>>2]=c[46411];c[b+24>>2]=c[46410];c[b+28>>2]=c[46409];c[b+32>>2]=c[46435];c[b+36>>2]=c[46427];c[b+40>>2]=c[46412];c[b+44>>2]=c[46422];c[b+48>>2]=c[46431];c[b+52>>2]=c[46430];c[b+56>>2]=c[46429];c[b+60>>2]=c[46434];c[b+64>>2]=c[46428];c[b+68>>2]=c[46413];c[b+72>>2]=c[46375];c[b+76>>2]=c[46376];c[b+80>>2]=c[46377];c[b+84>>2]=c[46387];c[b+88>>2]=c[46380];c[b+92>>2]=c[46381];c[b+96>>2]=c[46382];c[b+100>>2]=c[46384];c[b+104>>2]=c[46385];c[b+108>>2]=c[46388];c[b+112>>2]=c[46391];c[b+116>>2]=c[46389];c[b+120>>2]=c[46390];c[b+124>>2]=c[46393];c[b+128>>2]=c[46392];c[b+132>>2]=c[46394];c[b+136>>2]=c[46395];c[b+140>>2]=c[46386];c[b+144>>2]=c[46398];c[b+152>>2]=c[46367];c[b+148>>2]=c[46370];c[46419]=0;c[46423]=mx(a,2,87317,0)|0;c[46424]=mx(a,2,87326,0)|0;b=mx(a,2,98515,0)|0;c[46404]=b;if(!b)c[46404]=mx(a,2,98515,191979)|0;c[46405]=0;c[46411]=0;c[46410]=mx(a,2,98411,0)|0;c[46409]=mx(a,2,98402,0)|0;c[46435]=mx(a,2,98691,0)|0;c[46427]=0;c[46412]=mx(a,2,105198,0)|0;c[46422]=mx(a,2,85403,0)|0;c[46431]=0;c[46430]=mx(a,2,98591,0)|0;c[46429]=mx(a,2,98577,0)|0;c[46434]=mx(a,2,98682,0)|0;c[46428]=0;c[46413]=0;c[46375]=mx(a,1,137966,0)|0;c[46376]=mx(a,1,138034,0)|0;c[46377]=mx(a,1,105204,0)|0;c[46387]=0;c[46380]=mx(a,1,98402,0)|0;c[46381]=mx(a,1,98411,0)|0;c[46382]=0;c[46384]=mx(a,1,105198,0)|0;c[46385]=0;c[46388]=0;c[46391]=mx(a,1,98383,0)|0;c[46389]=mx(a,1,137994,0)|0;c[46390]=mx(a,1,98446,0)|0;c[46393]=mx(a,1,98458,0)|0;c[46392]=mx(a,1,98322,0)|0;c[46394]=mx(a,1,98463,0)|0;c[46395]=mx(a,1,85415,0)|0;c[46386]=0;c[46398]=0;c[46370]=mx(a,0,98383,0)|0;return}function ch(a,b){a=a|0;b=b|0;var d=0,e=0.0,f=0.0,g=0.0,i=0.0;d=c[(c[(c[a>>2]|0)+16>>2]|0)+96>>2]|0;a=c[(c[(c[b>>2]|0)+16>>2]|0)+96>>2]|0;b=(a|0)!=0;if(d)if(b?(f=+h[d+24>>3],i=+h[d+32>>3],e=+h[a+24>>3],g=+h[a+32>>3],!(f>e)):0)if(!(fg)a=-1;else a=i>2]|0)+116>>2]|0;if(!b)break;else a=b}b=c[a>>2]&3;d=c[(c[((b|0)==2?a:a+-48|0)+40>>2]|0)+16>>2]|0;e=c[d+232>>2]|0;a=c[(c[((b|0)==3?a:a+48|0)+40>>2]|0)+16>>2]|0;b=c[a+232>>2]|0;if((e|0)<=(b|0))if((e|0)<(b|0))a=1;else a=(c[d+236>>2]|0)<(c[a+236>>2]|0)&1;else a=0;return a|0}function eh(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;d=l;l=l+16|0;e=d+8|0;f=d;h=(c[a+16>>2]|0)+180|0;g=(c[b+16>>2]|0)+172|0;c[f>>2]=c[h>>2];c[f+4>>2]=c[h+4>>2];c[e>>2]=c[g>>2];c[e+4>>2]=c[g+4>>2];b=fh(a,f,b,e)|0;l=d;return b|0}function fh(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0;f=c[b+4>>2]|0;a:do if((f|0)>0?(g=c[e+4>>2]|0,(g|0)>0):0)if((f|0)<(g|0)){f=c[b>>2]|0;e=0;while(1){b=c[f+(e<<2)>>2]|0;if(!b){b=0;break a}if((c[((c[b>>2]&3|0)==2?b:b+-48|0)+40>>2]|0)==(d|0))break;else e=e+1|0}}else{f=c[e>>2]|0;e=0;while(1){b=c[f+(e<<2)>>2]|0;if(!b){b=0;break a}if((c[((c[b>>2]&3|0)==3?b:b+48|0)+40>>2]|0)==(a|0))break;else e=e+1|0}}else b=0;while(0);return b|0}function gh(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;d=l;l=l+16|0;e=d+8|0;f=d;h=(c[a+16>>2]|0)+188|0;g=(c[b+16>>2]|0)+196|0;c[f>>2]=c[h>>2];c[f+4>>2]=c[h+4>>2];c[e>>2]=c[g>>2];c[e+4>>2]=c[g+4>>2];b=fh(a,f,b,e)|0;l=d;return b|0}function hh(a){a=a|0;var b=0,d=0,e=0,f=0;e=a+48|0;d=c[(c[((c[a>>2]&3|0)==3?a:e)+40>>2]|0)+16>>2]|0;b=c[d+180>>2]|0;if(!b)b=uH((c[d+184>>2]<<2)+8|0)|0;else b=wH(b,(c[d+184>>2]<<2)+8|0)|0;c[(c[(c[((c[a>>2]&3|0)==3?a:e)+40>>2]|0)+16>>2]|0)+180>>2]=b;f=c[(c[((c[a>>2]&3|0)==3?a:e)+40>>2]|0)+16>>2]|0;d=c[f+180>>2]|0;f=f+184|0;b=c[f>>2]|0;c[f>>2]=b+1;c[d+(b<<2)>>2]=a;e=c[(c[((c[a>>2]&3|0)==3?a:e)+40>>2]|0)+16>>2]|0;c[(c[e+180>>2]|0)+(c[e+184>>2]<<2)>>2]=0;e=a+-48|0;b=c[(c[((c[a>>2]&3|0)==2?a:e)+40>>2]|0)+16>>2]|0;d=c[b+172>>2]|0;if(!d)b=uH((c[b+176>>2]<<2)+8|0)|0;else b=wH(d,(c[b+176>>2]<<2)+8|0)|0;c[(c[(c[((c[a>>2]&3|0)==2?a:e)+40>>2]|0)+16>>2]|0)+172>>2]=b;b=c[(c[((c[a>>2]&3|0)==2?a:e)+40>>2]|0)+16>>2]|0;d=c[b+172>>2]|0;b=b+176|0;f=c[b>>2]|0;c[b>>2]=f+1;c[d+(f<<2)>>2]=a;f=c[(c[((c[a>>2]&3|0)==2?a:e)+40>>2]|0)+16>>2]|0;c[(c[f+172>>2]|0)+(c[f+176>>2]<<2)>>2]=0;return a|0}function ih(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0;e=a+4|0;f=c[e>>2]|0;d=0;while(1){if((d|0)>=(f|0))break;g=c[a>>2]|0;h=g+(d<<2)|0;if((c[h>>2]|0)==(b|0)){i=4;break}else d=d+1|0}if((i|0)==4){i=f+-1|0;c[e>>2]=i;c[h>>2]=c[g+(i<<2)>>2];c[(c[a>>2]|0)+(i<<2)>>2]=0}return}function jh(a){a=a|0;if(!a)qa(85456,85466,117,85475);else{ih((c[(c[((c[a>>2]&3|0)==3?a:a+48|0)+40>>2]|0)+16>>2]|0)+180|0,a);ih((c[(c[((c[a>>2]&3|0)==2?a:a+-48|0)+40>>2]|0)+16>>2]|0)+172|0,a);return}}function kh(a){a=a|0;var b=0,d=0,e=0,f=0;e=a+48|0;d=c[(c[((c[a>>2]&3|0)==3?a:e)+40>>2]|0)+16>>2]|0;b=c[d+204>>2]|0;if(!b)b=uH((c[d+208>>2]<<2)+8|0)|0;else b=wH(b,(c[d+208>>2]<<2)+8|0)|0;c[(c[(c[((c[a>>2]&3|0)==3?a:e)+40>>2]|0)+16>>2]|0)+204>>2]=b;f=c[(c[((c[a>>2]&3|0)==3?a:e)+40>>2]|0)+16>>2]|0;b=c[f+204>>2]|0;f=f+208|0;d=c[f>>2]|0;c[f>>2]=d+1;c[b+(d<<2)>>2]=a;e=c[(c[((c[a>>2]&3|0)==3?a:e)+40>>2]|0)+16>>2]|0;c[(c[e+204>>2]|0)+(c[e+208>>2]<<2)>>2]=0;return}function lh(a){a=a|0;mh(a,(c[(c[((c[a>>2]&3|0)==3?a:a+48|0)+40>>2]|0)+16>>2]|0)+204|0);return}function mh(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;h=b+4|0;e=c[h>>2]|0;f=c[b>>2]|0;d=0;while(1){if((d|0)>=(e|0)){g=4;break}if((c[f+(d<<2)>>2]|0)==(a|0))break;else d=d+1|0}if((g|0)==4){if(!f)d=uH((e<<2)+8|0)|0;else d=wH(f,(e<<2)+8|0)|0;c[b>>2]=d;f=c[h>>2]|0;g=f+1|0;c[h>>2]=g;c[d+(f<<2)>>2]=a;c[(c[b>>2]|0)+(g<<2)>>2]=0}return}function nh(d,e,f){d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;n=tH(96)|0;g=n+48|0;c[g>>2]=c[g>>2]|3;c[n>>2]=c[n>>2]&-4|2;h=tH(176)|0;m=n+16|0;c[m>>2]=h;c[((c[n>>2]&3|0)==3?n:g)+40>>2]=d;j=n+-48|0;c[((c[n>>2]&3|0)==2?n:j)+40>>2]=e;a[h+112>>0]=1;if(!f){c[h+156>>2]=1;b[h+154>>1]=1;b[h+168>>1]=1;b[h+170>>1]=1}else{c[n>>2]=c[n>>2]&15|c[f>>2]&-16;c[g>>2]=c[g>>2]&15|c[f>>2]&-16;l=f+16|0;i=c[l>>2]|0;b[h+168>>1]=b[i+168>>1]|0;b[h+154>>1]=b[i+154>>1]|0;c[h+156>>2]=c[i+156>>2];b[h+170>>1]=b[i+170>>1]|0;d=c[((c[n>>2]&3|0)==3?n:g)+40>>2]|0;e=c[f>>2]&3;k=f+48|0;if((d|0)!=(c[((e|0)==3?f:k)+40>>2]|0)){g=f+-48|0;if((d|0)==(c[((e|0)==2?f:g)+40>>2]|0)){h=h+16|0;d=i+56|0;e=h+40|0;do{c[h>>2]=c[d>>2];h=h+4|0;d=d+4|0}while((h|0)<(e|0))}}else{h=h+16|0;d=i+16|0;e=h+40|0;do{c[h>>2]=c[d>>2];h=h+4|0;d=d+4|0}while((h|0)<(e|0));g=f+-48|0}d=c[((c[n>>2]&3|0)==2?n:j)+40>>2]|0;e=c[f>>2]&3;if((d|0)!=(c[((e|0)==2?f:g)+40>>2]|0)){if((d|0)==(c[((e|0)==3?f:k)+40>>2]|0)){h=(c[m>>2]|0)+56|0;d=(c[l>>2]|0)+16|0;e=h+40|0;do{c[h>>2]=c[d>>2];h=h+4|0;d=d+4|0}while((h|0)<(e|0))}}else{h=(c[m>>2]|0)+56|0;d=(c[l>>2]|0)+56|0;e=h+40|0;do{c[h>>2]=c[d>>2];h=h+4|0;d=d+4|0}while((h|0)<(e|0))}d=(c[l>>2]|0)+172|0;if(!(c[d>>2]|0))c[d>>2]=n;c[(c[m>>2]|0)+116>>2]=f}return n|0}function oh(a,b,c){a=a|0;b=b|0;c=c|0;return hh(nh(a,b,c)|0)|0}function ph(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;a=(c[a+16>>2]|0)+192|0;f=c[a>>2]|0;d=c[b+16>>2]|0;c[d+164>>2]=f;e=f;if(f|0)c[(c[e+16>>2]|0)+168>>2]=b;c[a>>2]=b;c[d+168>>2]=0;if((e|0)==(b|0))qa(85492,85466,215,85508);else return}function qh(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;if((a|0)==(b|0))qa(85518,85466,220,85525);f=c[b+16>>2]|0;d=f+164|0;if(c[d>>2]|0)qa(85538,85466,221,85525);e=(c[a+16>>2]|0)+164|0;c[d>>2]=c[e>>2];d=c[e>>2]|0;if(d|0)c[(c[d+16>>2]|0)+168>>2]=b;c[f+168>>2]=a;c[e>>2]=b;return}function rh(a,b){a=a|0;b=b|0;var d=0,e=0;if(!(sh(a,b)|0))qa(85557,85466,231,85578);b=c[b+16>>2]|0;d=c[b+164>>2]|0;e=d;b=b+168|0;if(d|0)c[(c[d+16>>2]|0)+168>>2]=c[b>>2];b=c[b>>2]|0;if(!b)c[(c[a+16>>2]|0)+192>>2]=e;else c[(c[b+16>>2]|0)+164>>2]=e;return}function sh(a,b){a=a|0;b=b|0;a=(c[a+16>>2]|0)+192|0;while(1){a=c[a>>2]|0;if((a|0)==0|(a|0)==(b|0))break;a=(c[a+16>>2]|0)+164|0}return a|0}function th(b){b=b|0;var d=0,e=0,f=0,g=0;d=tH(64)|0;c[d>>2]=c[d>>2]&-4|1;e=d+16|0;c[e>>2]=tH(304)|0;c[d+24>>2]=ez(b)|0;g=c[e>>2]|0;a[g+156>>0]=1;h[g+96>>3]=1.0;h[g+88>>3]=1.0;h[g+80>>3]=1.0;c[g+216>>2]=1;c[g+176>>2]=0;g=tH(20)|0;f=c[e>>2]|0;c[f+172>>2]=g;c[f+184>>2]=0;f=tH(20)|0;c[(c[e>>2]|0)+180>>2]=f;ph(b,d);b=(c[b+16>>2]|0)+232|0;c[b>>2]=(c[b>>2]|0)+1;return d|0}function uh(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0;g=d+48|0;e=c[(c[((c[d>>2]&3|0)==3?d:g)+40>>2]|0)+16>>2]|0;f=c[e+188>>2]|0;if(!f)e=uH((c[e+192>>2]<<2)+8|0)|0;else e=wH(f,(c[e+192>>2]<<2)+8|0)|0;c[(c[(c[((c[d>>2]&3|0)==3?d:g)+40>>2]|0)+16>>2]|0)+188>>2]=e;h=c[(c[((c[d>>2]&3|0)==3?d:g)+40>>2]|0)+16>>2]|0;f=c[h+188>>2]|0;h=h+192|0;e=c[h>>2]|0;c[h>>2]=e+1;c[f+(e<<2)>>2]=d;g=c[(c[((c[d>>2]&3|0)==3?d:g)+40>>2]|0)+16>>2]|0;c[(c[g+188>>2]|0)+(c[g+192>>2]<<2)>>2]=0;g=d+-48|0;e=c[(c[((c[d>>2]&3|0)==2?d:g)+40>>2]|0)+16>>2]|0;f=c[e+196>>2]|0;if(!f)e=uH((c[e+200>>2]<<2)+8|0)|0;else e=wH(f,(c[e+200>>2]<<2)+8|0)|0;c[(c[(c[((c[d>>2]&3|0)==2?d:g)+40>>2]|0)+16>>2]|0)+196>>2]=e;e=c[(c[((c[d>>2]&3|0)==2?d:g)+40>>2]|0)+16>>2]|0;f=c[e+196>>2]|0;e=e+200|0;h=c[e>>2]|0;c[e>>2]=h+1;c[f+(h<<2)>>2]=d;h=c[(c[((c[d>>2]&3|0)==2?d:g)+40>>2]|0)+16>>2]|0;c[(c[h+196>>2]|0)+(c[h+200>>2]<<2)>>2]=0;a[(c[b+16>>2]|0)+240>>0]=1;a[(c[(hg(b)|0)+16>>2]|0)+240>>0]=1;return}function vh(a){a=a|0;var b=0,d=0;if(!a)qa(85456,85466,269,85595);b=c[(c[a+16>>2]|0)+116>>2]|0;if(b|0?(d=(c[b+16>>2]|0)+172|0,(c[d>>2]|0)==(a|0)):0)c[d>>2]=0;ih((c[(c[((c[a>>2]&3|0)==3?a:a+48|0)+40>>2]|0)+16>>2]|0)+188|0,a);ih((c[(c[((c[a>>2]&3|0)==2?a:a+-48|0)+40>>2]|0)+16>>2]|0)+196|0,a);return}function wh(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;f=l;l=l+16|0;d=(c[a+16>>2]|0)+172|0;e=c[d>>2]|0;do if((e|0)!=(b|0))if(!e){c[d>>2]=b;xh(a,b);break}else qa(87498,85466,340,85633);else Ow(0,85612,f)|0;while(0);l=f;return}function xh(a,d){a=a|0;d=d|0;var f=0,g=0,h=0,i=0;f=(c[d+16>>2]|0)+170|0;i=c[a+16>>2]|0;a=b[i+170>>1]|0;if((e[f>>1]|0)<(a&65535))b[f>>1]=a;g=i+168|0;h=i+154|0;f=i+156|0;a=d;while(1){if(!a)break;d=c[a+16>>2]|0;i=d+168|0;b[i>>1]=(e[i>>1]|0)+(e[g>>1]|0);i=d+154|0;b[i>>1]=(e[i>>1]|0)+(e[h>>1]|0);i=d+156|0;c[i>>2]=(c[i>>2]|0)+(c[f>>2]|0);a=c[d+172>>2]|0}return}function yh(d){d=d|0;var e=0,f=0,g=0,h=0;f=d+16|0;e=c[(c[f>>2]|0)+172>>2]|0;a:while(1){if(!e)break;zh(e,d);h=c[e+16>>2]|0;g=c[h+172>>2]|0;if(!(b[h+168>>1]|0))Ah(e);while(1){if((a[(c[e+16>>2]|0)+112>>0]|0)!=1){e=g;continue a}e=c[(c[((c[e>>2]&3|0)==2?e:e+-48|0)+40>>2]|0)+16>>2]|0;if((a[e+156>>0]|0)!=1){e=g;continue a}if((c[e+184>>2]|0)!=1){e=g;continue a}e=c[c[e+180>>2]>>2]|0;zh(e,d)}}c[(c[f>>2]|0)+172>>2]=0;return}function zh(a,d){a=a|0;d=d|0;var f=0;f=c[d+16>>2]|0;d=c[a+16>>2]|0;a=d+168|0;b[a>>1]=(e[a>>1]|0)-(e[f+168>>1]|0);a=d+154|0;b[a>>1]=(e[a>>1]|0)-(e[f+154>>1]|0);d=d+156|0;c[d>>2]=(c[d>>2]|0)-(c[f+156>>2]|0);return}function Ah(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;if(!a)qa(85456,85466,128,85646);g=a+48|0;d=0;while(1){b=c[a>>2]|0;e=(c[(c[((b&3|0)==3?a:g)+40>>2]|0)+16>>2]|0)+180|0;f=c[(c[e>>2]|0)+(d<<2)>>2]|0;if(!f)break;if((f|0)==(a|0))ih(e,a);d=d+1|0}g=a+-48|0;f=0;while(1){d=(c[(c[((b&3|0)==2?a:g)+40>>2]|0)+16>>2]|0)+172|0;e=c[(c[d>>2]|0)+(f<<2)>>2]|0;if(!e)break;if((e|0)==(a|0)){ih(d,a);b=c[a>>2]|0}f=f+1|0}return}function Bh(d){d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;p=l;l=l+1040|0;n=p+1032|0;o=p;m=p+8|0;k=d+16|0;d=c[k>>2]|0;j=b[d+236>>1]|0;while(1){if((j|0)>(b[d+238>>1]|0))break;i=c[d+196>>2]|0;h=i+(j<<6)|0;i=i+(j<<6)+4|0;g=0;d=0;while(1){if((g|0)>=(c[h>>2]|0))break;e=c[(c[i>>2]|0)+(g<<2)>>2]|0;f=e+16|0;if(c[(c[f>>2]|0)+112>>2]|0){if(!d){a[n>>0]=a[18484]|0;a[n+1>>0]=a[18485]|0;a[n+2>>0]=a[18486]|0;a[n+3>>0]=a[18487]|0;d=Wx(85668,n,0)|0}c[o>>2]=g;X0(m,134313,o)|0;t=$y(d,m,1)|0;zz(t,91080,24,1)|0;q=c[(c[f>>2]|0)+180>>2]|0;r=c[q>>2]|0;r=c[(c[(c[((c[r>>2]&3|0)==2?r:r+-48|0)+40>>2]|0)+16>>2]|0)+236>>2]|0;q=c[q+4>>2]|0;q=c[(c[(c[((c[q>>2]&3|0)==2?q:q+-48|0)+40>>2]|0)+16>>2]|0)+236>>2]|0;s=(r|0)>(q|0);f=c[t+16>>2]|0;c[f+12>>2]=s?q:r;c[f+16>>2]=s?r:q;c[f+20>>2]=e}g=g+1|0}if(d|0){if(($x(d)|0)>1)Ch(d,h);_x(d)|0}j=j+1|0;d=c[k>>2]|0}l=p;return}function Ch(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0;d=0;h=Ry(a)|0;a:while(1){if(!h)break;i=Sy(a,h)|0;j=h+16|0;g=i;while(1){if(!g){h=i;continue a}f=c[g+16>>2]|0;e=c[j>>2]|0;if((c[f+16>>2]|0)>(c[e+12>>2]|0)){if((c[e+16>>2]|0)<=(c[f+12>>2]|0))Qx(a,h,g,0,1)|0}else{Qx(a,g,h,0,1)|0;d=1}g=Sy(a,g)|0}}do if(d|0){h=uA(a,85671,1)|0;j=tH(($x(a)|0)<<2)|0;i=tH(($x(a)|0)<<2)|0;f=b+4|0;e=Ry(a)|0;b:while(1){if(!e){d=23;break}if((c[(c[e+16>>2]|0)+8>>2]|0)==0?by(a,e,1,1)|0:0){c:do if(Dh(a,e,h,i)|0){g=$x(h)|0;if((Eh(a,h,j)|0)!=(g|0)){d=17;break b}Z0(i,g,4,60);d=0;while(1){if((d|0)>=(g|0))break c;b=i+(d<<2)|0;k=c[j+(d<<2)>>2]|0;c[(c[k+16>>2]|0)+236>>2]=c[b>>2];c[(c[f>>2]|0)+(c[b>>2]<<2)>>2]=k;d=d+1|0}}while(0);Gh(h)}e=Sy(a,e)|0}if((d|0)==17)qa(85676,85686,265,85697);else if((d|0)==23){C_(j);break}}while(0);return}function Dh(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0;h=c[b+16>>2]|0;c[h+8>>2]=1;h=c[(c[(c[h+20>>2]|0)+16>>2]|0)+236>>2]|0;c[e+(($x(d)|0)<<2)>>2]=h;Wy(d,b,1)|0;h=Dx(a,b)|0;f=0;while(1){if(!h)break;j=c[h>>2]&3;g=c[((j|0)==2?h:h+-48|0)+40>>2]|0;i=c[g+16>>2]|0;f=f+((c[(c[(c[i+20>>2]|0)+16>>2]|0)+236>>2]|0)>(c[(c[(c[(c[(c[((j|0)==3?h:h+48|0)+40>>2]|0)+16>>2]|0)+20>>2]|0)+16>>2]|0)+236>>2]|0)&1)|0;if(!(c[i+8>>2]|0))f=(Dh(a,g,d,e)|0)+f|0;h=Fx(a,h)|0}h=Gx(a,b)|0;while(1){if(!h)break;i=c[h>>2]&3;g=c[((i|0)==3?h:h+48|0)+40>>2]|0;j=c[g+16>>2]|0;f=f+((c[(c[(c[(c[(c[((i|0)==2?h:h+-48|0)+40>>2]|0)+16>>2]|0)+20>>2]|0)+16>>2]|0)+236>>2]|0)>(c[(c[(c[j+20>>2]|0)+16>>2]|0)+236>>2]|0)&1)|0;if(!(c[j+8>>2]|0))f=(Dh(a,g,d,e)|0)+f|0;h=Hx(a,h)|0}return f|0}function Eh(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0;f=0;while(1){e=Hh(a,b)|0;if(!e)break;c[d+(f<<2)>>2]=c[(c[e+16>>2]|0)+20>>2];bz(b,e)|0;e=Dx(a,e)|0;while(1){if(!e)break;g=Fx(a,e)|0;Tx(a,e)|0;e=g}f=f+1|0}return f|0}function Fh(a,b){a=a|0;b=b|0;return (c[a>>2]|0)-(c[b>>2]|0)|0}function Gh(a){a=a|0;var b=0,c=0;b=Ry(a)|0;while(1){if(!b)break;c=Sy(a,b)|0;bz(a,b)|0;b=c}return}function Hh(a,b){a=a|0;b=b|0;var c=0;c=Ry(b)|0;while(1){if(!c){c=0;break}if(!(by(a,c,1,0)|0))break;c=Sy(b,c)|0}return c|0}function Ih(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0;Jh(b);i=b+16|0;f=0;e=0;while(1){if((f|0)>=(c[(c[i>>2]|0)+220>>2]|0))break;Kh(b,f);f=f+1|0;e=(Lh(b,0,d)|0)+e|0}Mh(b);h=1;while(1){f=c[i>>2]|0;g=c[f+180>>2]|0;if((h|0)>(g|0))break;g=(Nh(c[(c[f+184>>2]|0)+(h<<2)>>2]|0,d)|0)+e|0;h=h+1|0;e=g}do if((g|0)>0){f=wx(b,85711)|0;if(f|0?(PL(f)|0)<<24>>24==0:0)break;kl(b);a[190689]=1;e=Lh(b,2,d)|0}while(0);Oh(b,e);return}function Jh(d){d=d|0;var e=0;if(0)DL();a[190689]=0;c[45971]=d;e=((ay(hg(d)|0)|0)<<2)+4|0;c[45970]=tH(e)|0;c[45969]=tH(e)|0;Ei(d);e=d+16|0;if(b[(c[e>>2]|0)+136>>1]&16)Fi(d);Tk(d);Hl(d,1);Gi(d);Vh(d);e=c[e>>2]|0;c[45972]=b[e+236>>1];c[45973]=b[e+238>>1];return}function Kh(a,d){a=a|0;d=d|0;var e=0,f=0,g=0;a=c[a+16>>2]|0;c[a+192>>2]=c[(c[a+216>>2]|0)+(d<<2)>>2];a:do if((d|0)>0){d=b[a+238>>1]|0;e=a+196|0;a=b[a+236>>1]|0;while(1){if((a|0)>(d|0))break a;f=c[e>>2]|0;g=f+(a<<6)+4|0;f=f+(a<<6)|0;c[g>>2]=(c[g>>2]|0)+(c[f>>2]<<2);c[f>>2]=0;a=a+1|0}}while(0);return}function Lh(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,i=0,j=0,k=0,m=0,n=0,o=0;o=l;l=l+32|0;n=o;if((b|0)>1){e=ji(0)|0;ki(a)}else e=2147483647;m=c[15686]|0;k=b;f=0;b=e;while(1){if((k|0)>=3)break;f=c[46365]|0;if((k|0)==2)if((e|0)>(b|0)){mi(a);e=b}else e=b;else{e=(f|0)<4?f:4;if((hg(a)|0)==(a|0))li(a,k);if(!k)Wh(a);Xh(a);g=ji(0)|0;if((g|0)>(b|0)){f=e;e=g}else{ki(a);f=e;e=g;b=g}}g=0;j=0;while(1){if((j|0)>=(f|0))break;if(0){c[n>>2]=k;c[n+4>>2]=j;c[n+8>>2]=g;c[n+12>>2]=e;c[n+16>>2]=b;f1(m,86104,n)|0}i=g+1|0;if((e|0)==0|(g|0)>=(c[45974]|0))break;ni(a,j);e=ji(0)|0;if((e|0)>(b|0))g=i;else{ki(a);g=+h[22830]*+(b|0)>+(e|0)?0:i;b=e}j=j+1|0}if(!e){e=0;break}else k=k+1|0}if((e|0)>(b|0))mi(a);if((b|0)>0){oi(a,0);e=ji(0)|0}else e=b;a:do if(d|0){b=0;while(1){if((b|0)>=(f|0))break a;pi(a);b=b+1|0}}while(0);l=o;return e|0}function Mh(a){a=a|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0;p=l;l=l+16|0;n=p;ii(a);k=a+16|0;d=c[k>>2]|0;m=c[15686]|0;j=b[d+236>>1]|0;while(1){if((j|0)>(b[d+238>>1]|0))break;e=c[d+196>>2]|0;f=c[e+(j<<6)+8>>2]|0;c[e+(j<<6)>>2]=f;g=c[e+(j<<6)+12>>2]|0;c[e+(j<<6)+4>>2]=g;i=0;while(1){if((i|0)>=(f|0))break;h=c[g+(i<<2)>>2]|0;if(!h){o=6;break}c[(c[h+16>>2]|0)+236>>2]=i;i=i+1|0}if((o|0)==6){o=0;if(0){e=qy(a)|0;d=c[(c[(c[k>>2]|0)+196>>2]|0)+(j<<6)>>2]|0;c[n>>2]=e;c[n+4>>2]=j;c[n+8>>2]=i;c[n+12>>2]=d;f1(m,86054,n)|0;d=c[k>>2]|0;e=c[d+196>>2]|0}c[e+(j<<6)>>2]=i}j=j+1|0}l=p;return}function Nh(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;el(a);Vh(a);Wh(a);Xh(a);f=a+16|0;d=Lh(a,2,b)|0;e=1;while(1){g=c[f>>2]|0;if((e|0)>(c[g+180>>2]|0))break;d=(Nh(c[(c[g+184>>2]|0)+(e<<2)>>2]|0,b)|0)+d|0;e=e+1|0}Yh(a);return d|0}function Oh(d,e){d=d|0;e=e|0;var f=0,g=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0.0;q=l;l=l+16|0;p=q;f=c[45969]|0;if(f|0){C_(f);c[45969]=0}f=c[45970]|0;if(f|0){C_(f);c[45970]=0}o=d+16|0;f=1;while(1){g=c[o>>2]|0;if((f|0)>(c[g+180>>2]|0))break;Ph(c[(c[g+184>>2]|0)+(f<<2)>>2]|0);f=f+1|0}n=b[g+236>>1]|0;f=g;while(1){if((n|0)>(b[f+238>>1]|0))break;else m=0;while(1){f=c[f+196>>2]|0;if((m|0)>=(c[f+(n<<6)>>2]|0))break;k=(c[(c[f+(n<<6)+4>>2]|0)+(m<<2)>>2]|0)+16|0;f=c[k>>2]|0;c[f+236>>2]=m;f=c[f+188>>2]|0;a:do if(f|0){g=0;while(1){i=c[f+(g<<2)>>2]|0;if(!i)break a;j=i+16|0;if((a[(c[j>>2]|0)+112>>0]|0)==4){vh(i);C_(c[j>>2]|0);C_(i);g=g+-1|0;f=c[(c[k>>2]|0)+188>>2]|0}g=g+1|0}}while(0);m=m+1|0;f=c[o>>2]|0}Qh(c[f+(n<<6)+56>>2]|0);n=n+1|0;f=c[o>>2]|0}if(0){o=c[15686]|0;d=qy(d)|0;r=+EL();c[p>>2]=d;c[p+4>>2]=e;h[p+8>>3]=r;f1(o,85722,p)|0}l=q;return}function Ph(a){a=a|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0;g=a+16|0;d=1;while(1){f=c[g>>2]|0;if((d|0)>(c[f+180>>2]|0))break;Ph(c[(c[f+184>>2]|0)+(d<<2)>>2]|0);d=d+1|0}a:do if(c[f+268>>2]|0){e=b[f+236>>1]|0;d=f;while(1){if((e|0)>(b[d+238>>1]|0))break a;j=c[(c[d+268>>2]|0)+(e<<2)>>2]|0;i=Rh(a,j,-1)|0;j=Rh(a,j,1)|0;c[(c[(c[g>>2]|0)+268>>2]|0)+(e<<2)>>2]=i;k=c[(c[(c[(hg(a)|0)+16>>2]|0)+196>>2]|0)+(e<<6)+4>>2]|0;i=c[(c[i+16>>2]|0)+236>>2]|0;f=c[g>>2]|0;h=c[f+196>>2]|0;c[h+(e<<6)+4>>2]=k+(i<<2);c[h+(e<<6)>>2]=(c[(c[j+16>>2]|0)+236>>2]|0)+1-i;e=e+1|0;d=f}}while(0);return}function Qh(a){a=a|0;if(a|0){C_(c[a+8>>2]|0);C_(a)}return}function Rh(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;d=b;while(1){b=Sh(b,c)|0;if(!b)break;if(Th(a,b)|0){d=b;continue}e=(Uh(a,b)|0)==0;d=e?d:b}return d|0}function Sh(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;if(!a)qa(85761,85686,1023,85763);if((b|0)<0){a=c[a+16>>2]|0;e=c[a+236>>2]|0;if((e|0)>0){a=(c[(c[(c[45971]|0)+16>>2]|0)+196>>2]|0)+(c[a+232>>2]<<6)+4|0;d=e+-1|0;f=7}else g=0}else{a=c[a+16>>2]|0;e=c[a+236>>2]|0;a=(c[(c[(c[45971]|0)+16>>2]|0)+196>>2]|0)+(c[a+232>>2]<<6)+4|0;d=e+1|0;f=7}if((f|0)==7){a=c[(c[a>>2]|0)+(d<<2)>>2]|0;if(a)if((O((c[(c[a+16>>2]|0)+236>>2]|0)-e|0,b)|0)>0)g=a;else qa(85772,85686,1029,85763);else g=0}return g|0}function Th(b,d){b=b|0;d=d|0;if(!(a[(c[d+16>>2]|0)+156>>0]|0))b=(nz(b,d)|0)!=0&1;else b=0;return b|0}function Uh(b,d){b=b|0;d=d|0;var e=0,f=0;d=c[d+16>>2]|0;if(((a[d+156>>0]|0)==1?(c[d+176>>2]|0)==1:0)?(c[d+184>>2]|0)==1:0){d=c[d+180>>2]|0;while(1){d=c[d>>2]|0;e=c[d+16>>2]|0;if(!(a[e+112>>0]|0))break;else d=e+116|0}if(nz(b,d)|0)d=1;else f=7}else f=7;if((f|0)==7)d=0;return d|0}function Vh(b){b=b|0;var d=0,e=0,f=0;f=l;l=l+16|0;e=f;d=c[46370]|0;a:do if((d|0)!=0|(c[46391]|0)!=0){d=ML(b,d,0)|0;if(d|0){switch(a[d>>0]|0){case 0:break a;case 111:{if(!(a$(d,85974)|0)){di(b,1);break a}break}case 105:{if(!(a$(d,95660)|0)){di(b,0);break a}break}default:{}}c[e>>2]=d;Ow(1,85978,e)|0;break}d=vA(b)|0;while(1){if(!d)break;if(!(Qj(d)|0))Vh(d);d=wA(d)|0}if(c[46391]|0)ei(b)}while(0);l=f;return}function Wh(d){d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0;k=d+16|0;e=c[k>>2]|0;j=b[e+236>>1]|0;while(1){if((j|0)>(b[e+238>>1]|0))break;else{f=0;i=0}while(1){g=c[e+196>>2]|0;h=c[g+(j<<6)>>2]|0;if((i|0)>=(h|0))break;g=c[(c[(c[g+(j<<6)+4>>2]|0)+(i<<2)>>2]|0)+16>>2]|0;a[g+158>>0]=0;a[g+157>>0]=0;c[g+284>>2]=i;if((f|0)==0&(c[g+192>>2]|0)>0){f=bi(h,h)|0;e=c[k>>2]|0;c[(c[e+196>>2]|0)+(j<<6)+56>>2]=f;f=1}i=i+1|0}a:do if(f){i=0;f=h;while(1){if((i|0)>=(f|0))break a;h=c[(c[g+(j<<6)+4>>2]|0)+(i<<2)>>2]|0;if(!(a[(c[h+16>>2]|0)+157>>0]|0)){ci(d,h);e=c[k>>2]|0;f=c[e+196>>2]|0;g=f;f=c[f+(j<<6)>>2]|0}i=i+1|0}}while(0);j=j+1|0}return}function Xh(d){d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;s=d+16|0;e=c[s>>2]|0;if(a[e+240>>0]|0){h=0;r=b[e+236>>1]|0;q=0;i=0;a:while(1){if((r|0)>(b[e+238>>1]|0))break;f=c[e+196>>2]|0;g=c[f+(r<<6)>>2]|0;if(!g){g=q;f=i}else{f=c[f+(r<<6)+4>>2]|0;o=c[(c[(c[f>>2]|0)+16>>2]|0)+236>>2]|0;e=0;while(1){if((e|0)>=(g|0))break;a[(c[(c[f+(e<<2)>>2]|0)+16>>2]|0)+157>>0]=0;e=e+1|0}e=(e<<2)+4|0;if(!h)p=uH(e)|0;else p=wH(i,e)|0;m=0;n=0;while(1){e=c[s>>2]|0;f=c[e+196>>2]|0;g=c[f+(r<<6)>>2]|0;if((g|0)<=(n|0))break;j=c[(c[f+(r<<6)+4>>2]|0)+(((c[e+116>>2]&1|0)==0?g+~n|0:n)<<2)>>2]|0;l=j+16|0;e=0;k=0;while(1){i=c[l>>2]|0;if((e|0)>=(c[i+200>>2]|0)){f=0;g=0;e=i;break}i=k+((Zh(d,c[(c[i+196>>2]|0)+(e<<2)>>2]|0)|0)!=0&1)|0;e=e+1|0;k=i}while(1){if((g|0)>=(c[e+192>>2]|0))break;i=f+((Zh(d,c[(c[e+188>>2]|0)+(g<<2)>>2]|0)|0)!=0&1)|0;f=i;g=g+1|0;e=c[l>>2]|0}if(f|k)if((k|0)==0&(a[e+157>>0]|0)==0)e=(_h(d,j,p+(m<<2)|0,r)|0)+m|0;else e=m;else{c[p+(m<<2)>>2]=j;e=m+1|0}m=e;n=n+1|0}b:do if(m){c:do if(!(c[e+116>>2]&1)){f=p;e=p+(m<<2)|0;while(1){e=e+-4|0;if(f>>>0>=e>>>0){g=0;break c}n=c[f>>2]|0;c[f>>2]=c[e>>2];c[e>>2]=n;f=f+4|0}}else g=0;while(0);while(1){e=c[s>>2]|0;i=c[e+196>>2]|0;f=c[i+(r<<6)>>2]|0;if((g|0)>=(f|0)){m=0;g=i;break}n=c[p+(g<<2)>>2]|0;c[(c[i+(r<<6)+4>>2]|0)+(g<<2)>>2]=n;c[(c[n+16>>2]|0)+236>>2]=g+o;g=g+1|0}while(1){if((m|0)>=(f|0))break b;l=(c[(c[g+(r<<6)+4>>2]|0)+(m<<2)>>2]|0)+16|0;i=c[(c[l>>2]|0)+188>>2]|0;if(i){k=0;f=i;while(1){g=c[f+(k<<2)>>2]|0;e=c[s>>2]|0;if(!g)break;j=c[g>>2]&3;i=c[(c[(c[((j|0)==2?g:g+-48|0)+40>>2]|0)+16>>2]|0)+236>>2]|0;j=c[(c[(c[((j|0)==3?g:g+48|0)+40>>2]|0)+16>>2]|0)+236>>2]|0;if(!(c[e+116>>2]&1))if((i|0)<(j|0))t=36;else e=k;else if((i|0)>(j|0))t=36;else e=k;if((t|0)==36){t=0;if(Zh(d,g)|0){t=37;break a}vh(g);$h(d,g);e=k+-1|0;f=c[(c[l>>2]|0)+188>>2]|0}k=e+1|0}f=c[e+196>>2]|0;g=f;f=c[f+(r<<6)>>2]|0}m=m+1|0}}while(0);a[(c[(c[(c[45971]|0)+16>>2]|0)+196>>2]|0)+(r<<6)+49>>0]=0;h=p;g=p;f=p}r=r+1|0;q=g;i=f}if((t|0)==37)qa(85820,85686,1561,85859);if(h|0)C_(q)}return}function Yh(a){a=a|0;var d=0,e=0;e=a+16|0;a=c[e>>2]|0;a:do if(c[a+268>>2]|0){d=b[a+236>>1]|0;while(1){if((d|0)>(b[a+238>>1]|0))break a;c[(c[a+268>>2]|0)+(d<<2)>>2]=c[c[(c[a+196>>2]|0)+(d<<6)+4>>2]>>2];d=d+1|0;a=c[e>>2]|0}}while(0);return}function Zh(a,b){a=a|0;b=b|0;if((c[(c[b+16>>2]|0)+156>>2]|0)!=0?(ai(a,c[((c[b>>2]&3|0)==3?b:b+48|0)+40>>2]|0)|0)!=0:0)a=(ai(a,c[((c[b>>2]&3|0)==2?b:b+-48|0)+40>>2]|0)|0)!=0&1;else a=0;return a|0}function _h(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0;l=d+16|0;g=c[l>>2]|0;a[g+157>>0]=1;a:do if((c[g+192>>2]|0)>0){h=0;j=0;while(1){i=c[(c[g+188>>2]|0)+(j<<2)>>2]|0;if(!i)break a;if((Zh(b,i)|0)!=0?(k=c[((c[i>>2]&3|0)==2?i:i+-48|0)+40>>2]|0,(a[(c[k+16>>2]|0)+157>>0]|0)==0):0)h=(_h(b,k,e+(h<<2)|0,f)|0)+h|0;j=j+1|0;g=c[l>>2]|0}}else h=0;while(0);if((c[g+232>>2]|0)==(f|0)){c[e+(h<<2)>>2]=d;return h+1|0}else qa(85872,85686,1490,85888);return 0}function $h(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;i=c[d>>2]&3;j=c[((i|0)==2?d:d+-48|0)+40>>2]|0;f=c[(c[j+16>>2]|0)+188>>2]|0;a:do if(!f){e=d+48|0;m=15}else{l=d+48|0;g=((i|0)==3?d:l)+40|0;e=0;while(1){h=c[f+(e<<2)>>2]|0;if(!h){e=l;m=15;break a}if((c[((c[h>>2]&3|0)==2?h:h+-48|0)+40>>2]|0)==(c[g>>2]|0))break;else e=e+1|0}wh(d,h);e=(c[d+16>>2]|0)+172|0;if(!(c[e>>2]|0))c[e>>2]=h;e=c[h+16>>2]|0;if((a[e+112>>0]|0)==4?(k=e+116|0,(c[k>>2]|0)==0):0)c[k>>2]=d;e=c[(c[((c[d>>2]&3|0)==3?d:l)+40>>2]|0)+16>>2]|0;f=c[e+204>>2]|0;if(!f)e=uH((c[e+208>>2]<<2)+8|0)|0;else e=wH(f,(c[e+208>>2]<<2)+8|0)|0;c[(c[(c[((c[d>>2]&3|0)==3?d:l)+40>>2]|0)+16>>2]|0)+204>>2]=e;i=c[(c[((c[d>>2]&3|0)==3?d:l)+40>>2]|0)+16>>2]|0;j=c[i+204>>2]|0;i=i+208|0;k=c[i>>2]|0;c[i>>2]=k+1;c[j+(k<<2)>>2]=d;d=c[(c[((c[d>>2]&3|0)==3?d:l)+40>>2]|0)+16>>2]|0;c[(c[d+204>>2]|0)+(c[d+208>>2]<<2)>>2]=0}while(0);if((m|0)==15){m=nh(j,c[((i|0)==3?d:e)+40>>2]|0,d)|0;l=c[d+16>>2]|0;d=c[m+16>>2]|0;a[d+112>>0]=(a[l+112>>0]|0)==4?4:3;c[d+96>>2]=c[l+96>>2];uh(b,m)}return}function ai(a,b){a=a|0;b=b|0;var c=0;c=Th(a,b)|0;return Uh(a,b)|0|c|0}function bi(a,b){a=a|0;b=b|0;var d=0;d=tH(12)|0;c[d>>2]=a;c[d+4>>2]=b;c[d+8>>2]=tH(O(b,a)|0)|0;return d|0}function ci(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;o=d+16|0;l=c[o>>2]|0;k=c[(c[(c[b+16>>2]|0)+196>>2]|0)+(c[l+232>>2]<<6)+56>>2]|0;a[l+157>>0]=1;a[l+158>>0]=1;l=(c[(c[(hg(b)|0)+16>>2]|0)+180>>2]|0)>0;e=c[o>>2]|0;f=c[e+188>>2]|0;a:do if(f){m=k+4|0;n=k+8|0;d=0;b:while(1){j=c[f+(d<<2)>>2]|0;if(!j){p=e;break a}if(l){if((nz(b,c[((c[j>>2]&3|0)==3?j:j+48|0)+40>>2]|0)|0)!=0?(nz(b,c[((c[j>>2]&3|0)==2?j:j+-48|0)+40>>2]|0)|0)!=0:0)q=7}else q=7;do if((q|0)==7){q=0;h=j+16|0;if(c[(c[h>>2]|0)+156>>2]|0){e=c[j>>2]&3;g=j+-48|0;r=c[(c[((e|0)==2?j:g)+40>>2]|0)+16>>2]|0;i=c[r+284>>2]|0;f=(i|0)<(c[k>>2]|0);if((a[r+158>>0]|0)==1){if(!f){q=10;break b}e=c[(c[(c[((e|0)==3?j:j+48|0)+40>>2]|0)+16>>2]|0)+284>>2]|0;f=c[m>>2]|0;if((e|0)>=(f|0)){q=12;break b}a[(c[n>>2]|0)+((O(f,i)|0)+e)>>0]=1;vh(j);d=d+-1|0;if((a[(c[h>>2]|0)+112>>0]|0)==4)break;$h(b,j);break}else{if(!f){q=16;break b}e=c[(c[(c[((e|0)==3?j:j+48|0)+40>>2]|0)+16>>2]|0)+284>>2]|0;f=c[m>>2]|0;if((e|0)>=(f|0)){q=18;break b}a[(c[n>>2]|0)+((O(f,e)|0)+i)>>0]=1;e=c[((c[j>>2]&3|0)==2?j:g)+40>>2]|0;if(a[(c[e+16>>2]|0)+157>>0]|0)break;ci(b,e);break}}}while(0);f=c[o>>2]|0;d=d+1|0;e=f;f=c[f+188>>2]|0}if((q|0)==10)qa(85898,85686,1251,85930);else if((q|0)==12)qa(85942,85686,1252,85930);else if((q|0)==16)qa(85898,85686,1260,85930);else if((q|0)==18)qa(85942,85686,1261,85930)}else p=e;while(0);a[p+158>>0]=0;return}function di(a,b){a=a|0;b=b|0;var c=0;c=Ry(a)|0;while(1){if(!c)break;fi(a,c,b);c=Sy(a,c)|0}return}function ei(b){b=b|0;var d=0,e=0,f=0,g=0,h=0;g=l;l=l+16|0;f=g;d=Ry(b)|0;while(1){if(!d)break;e=ML(d,c[46391]|0,0)|0;a:do if(e|0){switch(a[e>>0]|0){case 0:break a;case 111:{if(!(a$(e,85974)|0)){fi(b,d,1);break a}break}case 105:{if(!(a$(e,95660)|0)){fi(b,d,0);break a}break}default:{}}h=qy(d)|0;c[f>>2]=e;c[f+4>>2]=h;Ow(1,86009,f)|0}while(0);d=Sy(b,d)|0}l=g;return}function fi(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0;j=c[45970]|0;h=d+16|0;f=c[h>>2]|0;a:do if(!(c[f+212>>2]|0)){i=(e|0)!=0;b:do if(i){g=0;d=0;e=f;while(1){f=c[(c[e+180>>2]|0)+(g<<2)>>2]|0;if(!f)break b;if(!(gi(f)|0)){c[j+(d<<2)>>2]=f;d=d+1|0;e=c[h>>2]|0}g=g+1|0}}else{g=0;d=0;e=f;while(1){f=c[(c[e+172>>2]|0)+(g<<2)>>2]|0;if(!f)break b;if(!(gi(f)|0)){c[j+(d<<2)>>2]=f;d=d+1|0;e=c[h>>2]|0}g=g+1|0}}while(0);if((d|0)>=2){c[j+(d<<2)>>2]=0;Z0(j,d,4,61);h=i?2:3;g=i?-1:1;f=1;while(1){d=c[j+(f<<2)>>2]|0;if(!d)break a;e=c[j+(f+-1<<2)>>2]|0;e=c[((c[e>>2]&3|0)==(h|0)?e:e+(g*48|0)|0)+40>>2]|0;d=c[((c[d>>2]&3|0)==(h|0)?d:d+(g*48|0)|0)+40>>2]|0;if(gh(e,d)|0)break a;i=nh(e,d,0)|0;a[(c[i+16>>2]|0)+112>>0]=4;uh(b,i);f=f+1|0}}}while(0);return}function gi(a){a=a|0;var b=0;while(1){b=c[(c[a+16>>2]|0)+116>>2]|0;if(!b)break;else a=b}b=c[a>>2]&3;return (c[(c[(c[((b|0)==3?a:a+48|0)+40>>2]|0)+16>>2]|0)+212>>2]|0)!=(c[(c[(c[((b|0)==2?a:a+-48|0)+40>>2]|0)+16>>2]|0)+212>>2]|0)|0}function hi(a,b){a=a|0;b=b|0;return ((c[c[a>>2]>>2]|0)>>>4)-((c[c[b>>2]>>2]|0)>>>4)|0}function ii(a){a=a|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0;f=c[a+16>>2]|0;g=f+220|0;h=c[g>>2]|0;if((h|0)>=2){i=f+216|0;a=0;e=0;while(1){if((e|0)>=(h|0))break;d=c[(c[i>>2]|0)+(e<<2)>>2]|0;if(a|0)c[(c[a+16>>2]|0)+164>>2]=d;j=c[d+16>>2]|0;c[j+168>>2]=a;a=d;d=j;while(1){d=c[d+164>>2]|0;if(!d)break;a=d;d=c[d+16>>2]|0}e=e+1|0}c[g>>2]=1;c[f+192>>2]=c[c[f+216>>2]>>2];b[f+236>>1]=c[45972];b[f+238>>1]=c[45973]}return}function ji(d){d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0;i=c[45971]|0;j=i+16|0;f=c[j>>2]|0;g=0;h=b[f+236>>1]|0;while(1){if((h|0)>=(b[f+238>>1]|0))break;d=c[f+196>>2]|0;if(!(a[d+(h<<6)+49>>0]|0)){e=Ci(i,h)|0;d=c[j>>2]|0;f=c[d+196>>2]|0;c[f+(h<<6)+52>>2]=e;a[f+(h<<6)+49>>0]=1}else{e=c[d+(h<<6)+52>>2]|0;d=f}g=e+g|0;h=h+1|0;f=d}return g|0}function ki(a){a=a|0;var d=0,e=0,f=0,g=0,i=0,j=0;a=c[a+16>>2]|0;g=b[a+238>>1]|0;i=a+196|0;a=b[a+236>>1]|0;while(1){if((a|0)>(g|0))break;f=c[i>>2]|0;e=c[f+(a<<6)>>2]|0;f=f+(a<<6)+4|0;d=0;while(1){if((d|0)>=(e|0))break;j=c[(c[(c[f>>2]|0)+(d<<2)>>2]|0)+16>>2]|0;h[j+16>>3]=+(c[j+236>>2]|0);d=d+1|0}a=a+1|0}return}function li(d,e){d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0;r=l;l=l+16|0;m=r;n=d+16|0;o=FL(c[(c[n>>2]|0)+232>>2]|0)|0;j=c[n>>2]|0;f=j+192|0;g=f;while(1){g=c[g>>2]|0;if(!g)break;g=c[g+16>>2]|0;a[g+157>>0]=0;g=g+164|0}h=b[j+238>>1]|0;i=j+196|0;g=b[j+236>>1]|0;while(1){if((g|0)>(h|0))break;c[(c[i>>2]|0)+(g<<6)>>2]=0;g=g+1|0}i=(e|0)==0;while(1){g=c[f>>2]|0;if(!g)break;h=g+16|0;f=c[h>>2]|0;if((c[c[(i?f+172|0:f+180|0)>>2]>>2]|0)==0?(k=f+157|0,(a[k>>0]|0)==0):0){a[k>>0]=1;HL(o,g);while(1){f=IL(o)|0;if(!f)break;if((a[(c[f+16>>2]|0)+159>>0]|0)==7){jl(d,f,e,o);continue}else{Ai(d,f);Bi(o,f,e);continue}}f=c[h>>2]|0}f=f+164|0}if(IL(o)|0)Ow(1,86217,m)|0;f=c[n>>2]|0;j=b[f+236>>1]|0;while(1){if((j|0)>(b[f+238>>1]|0))break;a[(c[(c[(c[45971]|0)+16>>2]|0)+196>>2]|0)+(j<<6)+49>>0]=0;if((c[f+116>>2]&1|0)!=0?(p=c[f+196>>2]|0,q=c[p+(j<<6)>>2]|0,(q|0)>0):0){g=c[p+(j<<6)+4>>2]|0;h=q+-1|0;i=(h|0)/2|0;f=0;while(1){if((f|0)>(i|0))break;ui(c[g+(f<<2)>>2]|0,c[g+(h-f<<2)>>2]|0);f=f+1|0}f=c[n>>2]|0}j=j+1|0}if((hg(d)|0)==(d|0)?(ji(0)|0)>0:0)oi(d,0);GL(o);l=r;return}function mi(d){d=d|0;var e=0,f=0,g=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;n=d+16|0;d=c[n>>2]|0;f=b[d+236>>1]|0;e=b[d+238>>1]|0;l=e<<16>>16;m=d+196|0;g=f;while(1){if((g|0)>(l|0))break;k=c[m>>2]|0;j=c[k+(g<<6)>>2]|0;k=k+(g<<6)+4|0;i=0;while(1){if((i|0)>=(j|0))break;o=c[(c[(c[k>>2]|0)+(i<<2)>>2]|0)+16>>2]|0;c[o+236>>2]=~~+h[o+16>>3];i=i+1|0}g=g+1|0}while(1){if((f|0)>(e<<16>>16|0))break;a[(c[(c[(c[45971]|0)+16>>2]|0)+196>>2]|0)+(f<<6)+49>>0]=0;o=c[d+196>>2]|0;Z0(c[o+(f<<6)+4>>2]|0,c[o+(f<<6)>>2]|0,4,62);o=c[n>>2]|0;f=f+1|0;e=b[o+238>>1]|0;d=o}return}function ni(a,d){a=a|0;d=d|0;var e=0,f=0,g=0;g=((d|0)%4|0|0)<2&1;e=c[a+16>>2]|0;if(!(d&1)){d=b[e+236>>1]|0;f=1;e=b[e+238>>1]|0;d=(d<<16>>16<=(b[(c[(c[45971]|0)+16>>2]|0)+236>>1]|0)&1)+(d<<16>>16)|0}else{d=b[e+238>>1]|0;f=-1;e=b[e+236>>1]|0;d=((d<<16>>16>=(b[(c[(c[45971]|0)+16>>2]|0)+238>>1]|0))<<31>>31)+(d<<16>>16)|0}e=f+e|0;while(1){if((d|0)==(e|0))break;xi(a,d,g,(wi(a,d,d-f|0)|0)&255);d=d+f|0}oi(a,g^1);return}function oi(d,e){d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0;k=d+16|0;g=c[k>>2]|0;i=b[g+236>>1]|0;j=b[g+238>>1]|0;h=g+196|0;f=i<<16>>16;while(1){if((f|0)>(j|0)){h=i;break}a[(c[h>>2]|0)+(f<<6)+48>>0]=1;f=f+1|0}while(1){f=0;h=h<<16>>16;while(1){if((h|0)>(b[g+238>>1]|0))break;if(a[(c[g+196>>2]|0)+(h<<6)+48>>0]|0){f=(vi(d,h,e)|0)+f|0;g=c[k>>2]|0}h=h+1|0}if((f|0)<=0)break;h=b[g+236>>1]|0}return}function pi(d){d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;o=d+16|0;e=c[o>>2]|0;n=b[e+238>>1]|0;a:while(1){if((n|0)<(b[e+236>>1]|0)){e=16;break}f=c[e+196>>2]|0;a[f+(n<<6)+48>>0]=0;p=(n|0)>0;q=n+1|0;g=0;b:while(1){l=(c[f+(n<<6)>>2]|0)+-1|0;m=f+(n<<6)+4|0;k=f+(q<<6)|0;while(1){if((g|0)>=(l|0))break b;j=c[m>>2]|0;i=c[j+(g<<2)>>2]|0;g=g+1|0;j=c[j+(g<<2)>>2]|0;if((c[(c[i+16>>2]|0)+236>>2]|0)>=(c[(c[j+16>>2]|0)+236>>2]|0)){e=7;break a}if(qi(d,i,j)|0)continue;if(p){f=ri(i,j)|0;h=ri(j,i)|0}else{f=0;h=0}if((c[k>>2]|0)>0){f=(si(i,j)|0)+f|0;h=(si(j,i)|0)+h|0}if((h|0)<=(f|0))break}ti(d,n,i,j);e=c[o>>2]|0;f=c[e+196>>2]|0}n=n+-1|0}if((e|0)==7)qa(86168,85686,721,86194);else if((e|0)==16)return}function qi(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0;j=c[d+16>>2]|0;i=c[j+212>>2]|0;f=c[e+16>>2]|0;g=c[f+212>>2]|0;h=(i|0)!=(g|0);do if(!(a[190689]|0))if((g|0)==0|((i|0)==0|h^1))k=9;else{if((a[j+159>>0]|0)==7?(a[j+156>>0]|0)==1:0){b=0;break}if((a[f+159>>0]|0)==7?(a[f+156>>0]|0)==1:0){b=0;break}b=1}else if(h)b=1;else k=9;while(0);if((k|0)==9){f=c[b+16>>2]|0;b=c[(c[f+196>>2]|0)+(c[j+232>>2]<<6)+56>>2]|0;if(!b)b=0;else{j=(c[f+116>>2]&1|0)==0;k=O(c[b+4>>2]|0,c[(c[(j?d:e)+16>>2]|0)+284>>2]|0)|0;b=a[(c[b+8>>2]|0)+((c[(c[(j?e:d)+16>>2]|0)+284>>2]|0)+k)>>0]|0}}return b|0}function ri(a,d){a=a|0;d=d|0;var e=0,f=0,g=0,i=0,j=0,k=0,l=0,m=0,n=0;l=a+16|0;j=c[(c[d+16>>2]|0)+172>>2]|0;d=0;while(1){a=c[j>>2]|0;if(!a)break;i=c[a+16>>2]|0;k=b[i+154>>1]|0;g=c[(c[(c[((c[a>>2]&3|0)==3?a:a+48|0)+40>>2]|0)+16>>2]|0)+236>>2]|0;i=i+16|0;f=c[(c[l>>2]|0)+172>>2]|0;a=d;while(1){d=c[f>>2]|0;if(!d)break;e=(c[(c[(c[((c[d>>2]&3|0)==3?d:d+48|0)+40>>2]|0)+16>>2]|0)+236>>2]|0)-g|0;if((e|0)<=0){if((e|0)==0?(m=c[d+16>>2]|0,+h[m+16>>3]>+h[i>>3]):0){d=m;n=9}}else{d=c[d+16>>2]|0;n=9}if((n|0)==9){n=0;a=(O(b[d+154>>1]|0,k)|0)+a|0}f=f+4|0}j=j+4|0;d=a}return d|0}function si(a,d){a=a|0;d=d|0;var e=0,f=0,g=0,i=0,j=0,k=0,l=0,m=0,n=0;l=a+16|0;j=c[(c[d+16>>2]|0)+180>>2]|0;d=0;while(1){a=c[j>>2]|0;if(!a)break;i=c[a+16>>2]|0;k=b[i+154>>1]|0;g=c[(c[(c[((c[a>>2]&3|0)==2?a:a+-48|0)+40>>2]|0)+16>>2]|0)+236>>2]|0;i=i+56|0;f=c[(c[l>>2]|0)+180>>2]|0;a=d;while(1){d=c[f>>2]|0;if(!d)break;e=(c[(c[(c[((c[d>>2]&3|0)==2?d:d+-48|0)+40>>2]|0)+16>>2]|0)+236>>2]|0)-g|0;if((e|0)<=0){if((e|0)==0?(m=c[d+16>>2]|0,+h[m+56>>3]>+h[i>>3]):0){d=m;n=9}}else{d=c[d+16>>2]|0;n=9}if((n|0)==9){n=0;a=(O(b[d+154>>1]|0,k)|0)+a|0}f=f+4|0}j=j+4|0;d=a}return d|0}function ti(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;i=a[(c[e+16>>2]|0)+156>>0]|0;if(i<<24>>24!=(a[(c[f+16>>2]|0)+156>>0]|0)){j=b+16|0;l=c[(c[j>>2]|0)+196>>2]|0;k=c[l+(d<<6)>>2]|0;l=l+(d<<6)+4|0;b=0;g=0;h=0;while(1){if((b|0)>=(k|0))break;o=(a[(c[(c[(c[l>>2]|0)+(b<<2)>>2]|0)+16>>2]|0)+156>>0]|0)==0;b=b+1|0;g=g+(o&1)|0;h=h+((o^1)&1)|0}i=i<<24>>24==0;h=(g|0)<(h|0)?(i?e:f):i?f:e;i=0;b=0;while(1){if((b|0)>=(k|0))break;i=(c[(c[l>>2]|0)+(b<<2)>>2]|0)==(h|0)?b:i;b=b+1|0}o=(a[(c[h+16>>2]|0)+156>>0]|0)==0&1;n=0;g=i;while(1){b=g+-1|0;if((g|0)<=0){m=0;b=i;break}if((a[(c[(c[(c[l>>2]|0)+(b<<2)>>2]|0)+16>>2]|0)+156>>0]|0)!=(o|0)){m=0;b=i;break}n=n+1|0;g=b}while(1){b=b+1|0;if((b|0)>=(k|0))break;if((a[(c[(c[(c[l>>2]|0)+(b<<2)>>2]|0)+16>>2]|0)+156>>0]|0)!=(o|0))break;m=m+1|0}ui(e,f);j=c[(c[j>>2]|0)+196>>2]|0;k=c[j+(d<<6)>>2]|0;j=j+(d<<6)+4|0;b=0;while(1){if((b|0)>=(k|0)){h=0;g=i;break}i=(c[(c[j>>2]|0)+(b<<2)>>2]|0)==(h|0)?b:i;b=b+1|0}while(1){b=g+-1|0;if((g|0)<=0){g=0;b=i;break}if((a[(c[(c[(c[j>>2]|0)+(b<<2)>>2]|0)+16>>2]|0)+156>>0]|0)!=(o|0)){g=0;b=i;break}h=h+1|0;g=b}while(1){b=b+1|0;if((b|0)>=(k|0))break;if((a[(c[(c[(c[j>>2]|0)+(b<<2)>>2]|0)+16>>2]|0)+156>>0]|0)!=(o|0))break;g=g+1|0}d=h-g|0;o=n-m|0;if((((d|0)>-1?d:0-d|0)|0)>(((o|0)>-1?o:0-o|0)|0))ui(e,f)}return}function ui(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;f=c[a+16>>2]|0;e=c[f+232>>2]|0;f=f+236|0;d=c[f>>2]|0;g=b+16|0;h=c[(c[g>>2]|0)+236>>2]|0;c[f>>2]=h;f=(c[45971]|0)+16|0;c[(c[(c[(c[f>>2]|0)+196>>2]|0)+(e<<6)+4>>2]|0)+(h<<2)>>2]=a;c[(c[g>>2]|0)+236>>2]=d;c[(c[(c[(c[f>>2]|0)+196>>2]|0)+(e<<6)+4>>2]|0)+(d<<2)>>2]=b;return}function vi(d,e,f){d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;q=d+16|0;n=c[(c[q>>2]|0)+196>>2]|0;a[n+(e<<6)+48>>0]=0;r=(e|0)>0;s=e+1|0;o=(f|0)!=0;p=e+-1|0;g=0;i=0;f=n;a:while(1){l=(c[f+(e<<6)>>2]|0)+-1|0;m=f+(e<<6)+4|0;h=f+(s<<6)|0;n=g;while(1){if((n|0)>=(l|0)){f=17;break a}k=c[m>>2]|0;j=c[k+(n<<2)>>2]|0;n=n+1|0;k=c[k+(n<<2)>>2]|0;if((c[(c[j+16>>2]|0)+236>>2]|0)>=(c[(c[k+16>>2]|0)+236>>2]|0)){f=5;break a}if(qi(d,j,k)|0)continue;if(r){f=ri(j,k)|0;g=ri(k,j)|0}else{f=0;g=0}if((c[h>>2]|0)>0){f=(si(j,k)|0)+f|0;g=(si(k,j)|0)+g|0}if((f|0)>(g|0))break;if((f|0)==(g|0)&(o&(f|0)>0)){f=g;break}}ui(j,k);i=f-g+i|0;g=c[(c[(c[45971]|0)+16>>2]|0)+196>>2]|0;a[g+(e<<6)+49>>0]=0;h=c[q>>2]|0;f=c[h+196>>2]|0;a[f+(e<<6)+48>>0]=1;if((b[h+236>>1]|0)<(e|0)){a[g+(p<<6)+49>>0]=0;a[f+(p<<6)+48>>0]=1}if((b[h+238>>1]|0)<=(e|0)){g=n;continue}a[g+(s<<6)+49>>0]=0;a[f+(s<<6)+48>>0]=1;g=n}if((f|0)==5)qa(86168,85686,770,86202);else if((f|0)==17)return i|0;return 0}function wi(a,e,f){a=a|0;e=e|0;f=f|0;var g=0,i=0.0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;p=c[45969]|0;q=a+16|0;a=c[(c[q>>2]|0)+196>>2]|0;r=c[a+(e<<6)+4>>2]|0;n=(f|0)>(e|0);o=p+4|0;m=0;while(1){f=c[a+(e<<6)>>2]|0;if((m|0)>=(f|0)){a=0;j=0;break}l=(c[r+(m<<2)>>2]|0)+16|0;a=c[l>>2]|0;a:do if(n){k=c[a+180>>2]|0;a=0;j=0;while(1){f=c[k+(j<<2)>>2]|0;if(!f)break a;g=c[f+16>>2]|0;if((b[g+154>>1]|0)>0){c[p+(a<<2)>>2]=c[(c[(c[((c[f>>2]&3|0)==2?f:f+-48|0)+40>>2]|0)+16>>2]|0)+236>>2]<<8|d[g+88>>0];a=a+1|0}j=j+1|0}}else{k=c[a+172>>2]|0;j=0;a=0;while(1){f=c[k+(j<<2)>>2]|0;if(!f)break a;g=c[f+16>>2]|0;if((b[g+154>>1]|0)>0){c[p+(a<<2)>>2]=c[(c[(c[((c[f>>2]&3|0)==3?f:f+48|0)+40>>2]|0)+16>>2]|0)+236>>2]<<8|d[g+48>>0];a=a+1|0}j=j+1|0}}while(0);b:do switch(a|0){case 0:{i=-1.0;break}case 1:{i=+(c[p>>2]|0);break}case 2:{i=+(((c[o>>2]|0)+(c[p>>2]|0)|0)/2|0|0);break}default:{Z0(p,a,4,60);f=(a|0)/2|0;if(a&1|0){i=+(c[p+(f<<2)>>2]|0);break b}j=c[p+(f<<2)>>2]|0;g=(c[p+(a+-1<<2)>>2]|0)-j|0;a=c[p+(f+-1<<2)>>2]|0;f=a-(c[p>>2]|0)|0;if((f|0)==(g|0)){i=+((a+j|0)/2|0|0);break b}else{i=+(((O(f,j)|0)+(O(a,g)|0)|0)/(f+g|0)|0|0);break b}}}while(0);h[(c[l>>2]|0)+240>>3]=i;m=m+1|0;a=c[(c[q>>2]|0)+196>>2]|0}while(1){if((j|0)>=(f|0))break;g=c[r+(j<<2)>>2]|0;p=c[g+16>>2]|0;if((c[p+184>>2]|0)==0?(c[p+176>>2]|0)==0:0){a=(yi(g)|0|a&255)&255;f=c[(c[(c[q>>2]|0)+196>>2]|0)+(e<<6)>>2]|0}j=j+1|0}return a|0}function xi(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,i=0,j=0,k=0,l=0,m=0.0,n=0,o=0,p=0,q=0,r=0,s=0;o=c[(c[b+16>>2]|0)+196>>2]|0;s=c[o+(d<<6)+4>>2]|0;o=c[o+(d<<6)>>2]|0;q=(e|0)!=0;p=(f|e|0)==0;f=0;e=o;o=s+(o<<2)|0;while(1){n=e+-1|0;if((e|0)>0)e=s;else break;a:while(1){b:while(1){if(e>>>0>=o>>>0)break a;while(1){if(e>>>0>=o>>>0)break a;l=c[e>>2]|0;m=+h[(c[l+16>>2]|0)+240>>3];if(!(m<0.0))break;e=e+4|0}k=0;while(1){g=k<<24>>24==0;while(1){e=e+4|0;if(e>>>0>=o>>>0)break a;if(g){g=11;break}i=c[e>>2]|0;if(!(c[(c[i+16>>2]|0)+212>>2]|0)){g=13;break}}if((g|0)==11){i=c[e>>2]|0;j=i}else if((g|0)==13)j=i;if(qi(b,l,j)|0)continue b;g=c[i+16>>2]|0;if(+h[g+240>>3]>=0.0)break;k=(c[g+212>>2]|0)==0?k:1}g=~~m;k=~~+h[(c[i+16>>2]|0)+240>>3];if((g|0)>(k|0)|q&(g|0)==(k|0))break}ui(l,j);f=f+1|0}e=n;o=p?o+-4|0:o}if(f|0?(r=c[(c[(c[45971]|0)+16>>2]|0)+196>>2]|0,a[r+(d<<6)+49>>0]=0,(d|0)>0):0)a[r+(d+-1<<6)+49>>0]=0;return}function yi(a){a=a|0;var b=0.0,d=0,e=0,f=0,g=0;g=c[a+16>>2]|0;if((c[g+200>>2]|0)>0){f=c[g+196>>2]|0;a=c[f>>2]|0;a=c[((c[a>>2]&3|0)==3?a:a+48|0)+40>>2]|0;d=1;while(1){e=c[f+(d<<2)>>2]|0;if(!e)break;e=c[((c[e>>2]&3|0)==3?e:e+48|0)+40>>2]|0;a=(c[(c[e+16>>2]|0)+236>>2]|0)>(c[(c[a+16>>2]|0)+236>>2]|0)?e:a;d=d+1|0}b=+h[(c[a+16>>2]|0)+240>>3];if(!(b>=0.0))a=1;else{h[g+240>>3]=b+1.0;a=0}}else if((c[g+192>>2]|0)>0){e=c[g+188>>2]|0;d=c[e>>2]|0;a=1;d=c[((c[d>>2]&3|0)==2?d:d+-48|0)+40>>2]|0;while(1){f=c[e+(a<<2)>>2]|0;if(!f)break;f=c[((c[f>>2]&3|0)==2?f:f+-48|0)+40>>2]|0;a=a+1|0;d=(c[(c[f+16>>2]|0)+236>>2]|0)<(c[(c[d+16>>2]|0)+236>>2]|0)?f:d}b=+h[(c[d+16>>2]|0)+240>>3];if(b>0.0){h[g+240>>3]=b+-1.0;a=0}else a=1}else a=1;return a|0}function zi(a,b){a=a|0;b=b|0;return (c[(c[(c[a>>2]|0)+16>>2]|0)+236>>2]|0)-(c[(c[(c[b>>2]|0)+16>>2]|0)+236>>2]|0)|0}function Ai(a,d){a=a|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0;p=l;l=l+96|0;o=p+64|0;n=p+48|0;h=p+24|0;f=p;j=d+16|0;k=c[(c[j>>2]|0)+232>>2]|0;m=a+16|0;e=c[(c[m>>2]|0)+196>>2]|0;i=c[e+(k<<6)>>2]|0;do if((c[e+(k<<6)+8>>2]|0)>=1){c[(c[e+(k<<6)+4>>2]|0)+(i<<2)>>2]=d;c[(c[j>>2]|0)+236>>2]=i;a=c[m>>2]|0;f=c[a+196>>2]|0;e=f+(k<<6)|0;g=c[e>>2]|0;c[e>>2]=g+1;if((g|0)>=(c[f+(k<<6)+8>>2]|0))qa(86282,85686,1346,86318);g=c[(c[(c[(c[45971]|0)+16>>2]|0)+196>>2]|0)+(k<<6)+8>>2]|0;if((i|0)>(g|0)){m=qy(d)|0;n=c[(c[j>>2]|0)+236>>2]|0;o=c[(c[(c[(c[45971]|0)+16>>2]|0)+196>>2]|0)+(k<<6)+8>>2]|0;c[h>>2]=1359;c[h+4>>2]=m;c[h+8>>2]=n;c[h+12>>2]=k;c[h+16>>2]=o;Ow(1,86334,h)|0;break}e=b[a+236>>1]|0;a=b[a+238>>1]|0;if((k|0)<(e|0)|(k|0)>(a<<16>>16|0)){c[n>>2]=1364;c[n+4>>2]=k;c[n+8>>2]=e;c[n+12>>2]=a<<16>>16;Ow(1,86407,n)|0;break}if(((c[f+(k<<6)+4>>2]|0)+(i<<2)|0)>>>0>((c[f+(k<<6)+12>>2]|0)+(g<<2)|0)>>>0){i=qy(d)|0;n=c[(c[m>>2]|0)+196>>2]|0;m=(c[n+(k<<6)+4>>2]|0)+(c[(c[j>>2]|0)+236>>2]<<2)|0;n=(c[n+(k<<6)+12>>2]|0)+(c[(c[(c[(c[45971]|0)+16>>2]|0)+196>>2]|0)+(k<<6)+8>>2]<<2)|0;c[o>>2]=1370;c[o+4>>2]=k;c[o+8>>2]=i;c[o+12>>2]=m;c[o+16>>2]=k;c[o+20>>2]=k;c[o+24>>2]=n;Ow(1,86468,o)|0}}else{n=qy(a)|0;o=qy(d)|0;c[f>>2]=1339;c[f+4>>2]=n;c[f+8>>2]=o;c[f+12>>2]=k;c[f+16>>2]=i;Ow(1,86227,f)|0}while(0);l=p;return}function Bi(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0;h=d+16|0;a:do if(!e){g=0;while(1){d=c[h>>2]|0;if((g|0)>=(c[d+184>>2]|0))break a;d=c[(c[d+180>>2]|0)+(g<<2)>>2]|0;e=d+-48|0;f=(c[(c[((c[d>>2]&3|0)==2?d:e)+40>>2]|0)+16>>2]|0)+157|0;if(!(a[f>>0]|0)){a[f>>0]=1;HL(b,c[((c[d>>2]&3|0)==2?d:e)+40>>2]|0)}g=g+1|0}}else{g=0;while(1){d=c[h>>2]|0;if((g|0)>=(c[d+176>>2]|0))break a;d=c[(c[d+172>>2]|0)+(g<<2)>>2]|0;e=d+48|0;f=(c[(c[((c[d>>2]&3|0)==3?d:e)+40>>2]|0)+16>>2]|0)+157|0;if(!(a[f>>0]|0)){a[f>>0]=1;HL(b,c[((c[d>>2]&3|0)==3?d:e)+40>>2]|0)}g=g+1|0}}while(0);return}function Ci(d,e){d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0;v=l;l=l+16|0;u=v;g=d+16|0;f=c[(c[g>>2]|0)+196>>2]|0;s=c[f+(e<<6)+4>>2]|0;t=e+1|0;d=c[(c[(c[(c[45971]|0)+16>>2]|0)+196>>2]|0)+(t<<6)>>2]|0;if((c[45975]|0)>(d|0))q=c[45976]|0;else{d=d+1|0;c[45975]=d;f=c[45976]|0;if(!f)d=uH(d<<2)|0;else d=wH(f,d<<2)|0;c[45976]=d;f=c[(c[g>>2]|0)+196>>2]|0;q=d}r=f+(t<<6)|0;d=0;while(1){if((d|0)>=(c[r>>2]|0))break;c[q+(d<<2)>>2]=0;d=d+1|0}p=f+(e<<6)|0;o=0;h=0;d=0;j=q;while(1){k=c[p>>2]|0;if((o|0)>=(k|0))break;n=c[(c[(c[s+(o<<2)>>2]|0)+16>>2]|0)+180>>2]|0;a:do if((h|0)>0){m=0;while(1){g=c[n+(m<<2)>>2]|0;if(!g)break a;k=g+16|0;i=c[(c[(c[((c[g>>2]&3|0)==2?g:g+-48|0)+40>>2]|0)+16>>2]|0)+236>>2]|0;while(1){g=i+1|0;if((i|0)>=(h|0))break;i=g;d=(O(c[j+(g<<2)>>2]|0,b[(c[k>>2]|0)+154>>1]|0)|0)+d|0}m=m+1|0}}while(0);i=0;while(1){g=c[n+(i<<2)>>2]|0;if(!g)break;j=c[(c[(c[((c[g>>2]&3|0)==2?g:g+-48|0)+40>>2]|0)+16>>2]|0)+236>>2]|0;m=q+(j<<2)|0;c[m>>2]=(c[m>>2]|0)+(b[(c[g+16>>2]|0)+154>>1]|0);h=(j|0)>(h|0)?j:h;i=i+1|0;j=q}o=o+1|0}i=f+(e<<6)+4|0;h=0;while(1){if((h|0)>=(k|0))break;g=c[(c[(c[i>>2]|0)+(h<<2)>>2]|0)+16>>2]|0;if(a[g+145>>0]|0){e=g+180|0;c[u>>2]=c[e>>2];c[u+4>>2]=c[e+4>>2];d=(Di(u,1)|0)+d|0}h=h+1|0}i=c[r>>2]|0;h=f+(t<<6)+4|0;g=0;while(1){if((g|0)>=(i|0))break;f=c[(c[(c[h>>2]|0)+(g<<2)>>2]|0)+16>>2]|0;if(a[f+145>>0]|0){t=f+172|0;c[u>>2]=c[t>>2];c[u+4>>2]=c[t+4>>2];d=(Di(u,-1)|0)+d|0}g=g+1|0}l=v;return d|0}function Di(a,d){a=a|0;d=d|0;var e=0,f=0,g=0,i=0,j=0,k=0,l=0,m=0,n=0;n=(d|0)<1;l=c[a>>2]|0;d=0;a=0;a:while(1){m=c[l+(d<<2)>>2]|0;if(!m)break;d=d+1|0;if(n){j=m+48|0;k=m+16|0;i=d;while(1){e=c[l+(i<<2)>>2]|0;if(!e)continue a;f=c[e+16>>2]|0;g=c[k>>2]|0;if((+h[f+56>>3]-+h[g+56>>3])*+((c[(c[(c[((c[e>>2]&3|0)==3?e:e+48|0)+40>>2]|0)+16>>2]|0)+236>>2]|0)-(c[(c[(c[((c[m>>2]&3|0)==3?m:j)+40>>2]|0)+16>>2]|0)+236>>2]|0)|0)<0.0)a=(O(b[f+154>>1]|0,b[g+154>>1]|0)|0)+a|0;i=i+1|0}}else{j=m+-48|0;k=m+16|0;i=d;while(1){e=c[l+(i<<2)>>2]|0;if(!e)continue a;f=c[e+16>>2]|0;g=c[k>>2]|0;if((+h[f+16>>3]-+h[g+16>>3])*+((c[(c[(c[((c[e>>2]&3|0)==2?e:e+-48|0)+40>>2]|0)+16>>2]|0)+236>>2]|0)-(c[(c[(c[((c[m>>2]&3|0)==2?m:j)+40>>2]|0)+16>>2]|0)+236>>2]|0)|0)<0.0)a=(O(b[f+154>>1]|0,b[g+154>>1]|0)|0)+a|0;i=i+1|0}}}return a|0}function Ei(a){a=a|0;var b=0.0,d=0.0;c[45974]=8;c[46365]=24;h[22830]=.995;a=wx(a,86590)|0;if(a|0?(b=+a2(a),b>0.0):0){d=b*+(c[45974]|0);c[45974]=~~(d>1.0?d:1.0);b=b*+(c[46365]|0);c[46365]=~~(b>1.0?b:1.0)}return}function Fi(a){a=a|0;var d=0,e=0;e=(b[(c[a+16>>2]|0)+238>>1]|0)+2|0;d=tH(e<<2)|0;Hi(a,d,e,0)|0;C_(d);return}function Gi(a){a=a|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0;h=a+16|0;i=tH((b[(c[h>>2]|0)+238>>1]<<2)+8|0)|0;g=Ry(a)|0;while(1){if(!g)break;f=i+(c[(c[g+16>>2]|0)+232>>2]<<2)|0;c[f>>2]=(c[f>>2]|0)+1;f=Dx(a,g)|0;while(1){if(!f)break;j=c[f>>2]&3;d=c[(c[(c[((j|0)==3?f:f+48|0)+40>>2]|0)+16>>2]|0)+232>>2]|0;j=c[(c[(c[((j|0)==2?f:f+-48|0)+40>>2]|0)+16>>2]|0)+232>>2]|0;k=(d|0)>(j|0);e=k?d:j;d=k?j:d;while(1){d=d+1|0;if((d|0)>=(e|0))break;k=i+(d<<2)|0;c[k>>2]=(c[k>>2]|0)+1}f=Fx(a,f)|0}g=Sy(a,g)|0}f=tH((b[(c[h>>2]|0)+238>>1]<<6)+128|0)|0;e=c[h>>2]|0;c[e+196>>2]=f;d=b[e+236>>1]|0;while(1){if((d|0)>(b[e+238>>1]|0))break;j=i+(d<<2)|0;e=c[j>>2]|0;c[f+(d<<6)>>2]=e;c[f+(d<<6)+8>>2]=e;j=tH((c[j>>2]<<2)+4|0)|0;e=c[h>>2]|0;k=c[e+196>>2]|0;c[k+(d<<6)+4>>2]=j;c[k+(d<<6)+12>>2]=j;d=d+1|0;f=k}C_(i);return}function Hi(a,d,e,f){a=a|0;d=d|0;e=e|0;f=f|0;var g=0,i=0,j=0,k=0,l=0,m=0;m=a+16|0;i=1;while(1){g=c[m>>2]|0;if((i|0)>(c[g+180>>2]|0))break;l=Hi(c[(c[g+184>>2]|0)+(i<<2)>>2]|0,d,e,f)|0;i=i+1|0;f=l}a:do if((hg(a)|0)!=(a|0)){G3(d|0,0,e<<2|0)|0;g=Ry(a)|0;while(1){if(!g)break;k=g+16|0;c[d+(c[(c[k>>2]|0)+232>>2]<<2)>>2]=1;i=Dx(a,g)|0;while(1){if(!i)break;l=i+-48|0;j=c[(c[k>>2]|0)+232>>2]|0;while(1){e=j+1|0;if((j|0)>=(c[(c[(c[((c[i>>2]&3|0)==2?i:l)+40>>2]|0)+16>>2]|0)+232>>2]|0))break;c[d+(e<<2)>>2]=1;j=e}i=Fx(a,i)|0}g=Sy(a,g)|0}g=c[m>>2]|0;i=b[g+236>>1]|0;while(1){if((i|0)>(b[g+238>>1]|0))break a;if(!(c[d+(i<<2)>>2]|0)){if(!f)f=uA(hg(a)|0,86580,1)|0;g=$y(f,0,1)|0;zz(g,134365,304,1)|0;l=g+16|0;j=c[l>>2]|0;c[j+232>>2]=i;h[j+96>>3]=.5;h[j+88>>3]=.5;h[j+80>>3]=1.0;c[j+216>>2]=1;c[j+176>>2]=0;j=tH(20)|0;k=c[l>>2]|0;c[k+172>>2]=j;c[k+184>>2]=0;k=tH(20)|0;c[(c[l>>2]|0)+180>>2]=k;Wy(a,g,1)|0;g=c[m>>2]|0}i=i+1|0}}while(0);return f|0}function Ii(a){a=a|0;var b=0,d=0;Yh(a);b=a+16|0;a=1;while(1){d=c[b>>2]|0;if((a|0)>(c[d+180>>2]|0))break;Ii(c[(c[d+184>>2]|0)+(a<<2)>>2]|0);a=a+1|0}return}function Ji(a){a=a|0;var b=0,d=0;b=c[a>>2]&3;d=Ki(c[((b|0)==3?a:a+48|0)+40>>2]|0)|0;b=c[17308+(d*12|0)+((Ki(c[((b|0)==2?a:a+-48|0)+40>>2]|0)|0)<<2)>>2]|0;a=(c[a+16>>2]|0)+156|0;c[a>>2]=O(c[a>>2]|0,b)|0;return}function Ki(b){b=b|0;b=c[b+16>>2]|0;if((a[b+156>>0]|0)==1)b=2;else b=(a[b+160>>0]|0)<2&1;return b|0}function Li(b,d){b=b|0;d=d|0;if(c[(c[b+16>>2]|0)+192>>2]|0){kl(b);Mi(b);if(a[191874]|0)yl(b);Ni(b);if(Ql(b)|0)Mi(b);Oi(b);if(eI(b,2,Pi(b)|0)|0?(Qi(b),eI(b,2,Pi(b)|0)|0):0)qa(86598,86626,134,86637);Ri(b);Si(b,d);Ti(b)}return}function Mi(d){d=d|0;var e=0,f=0,g=0,i=0,j=0.0,k=0.0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0.0,z=0.0;v=d+16|0;e=c[v>>2]|0;w=c[e+196>>2]|0;t=b[e+236>>1]|0;while(1){if((t|0)>(b[e+238>>1]|0))break;n=w+(t<<6)|0;o=w+(t<<6)+4|0;p=w+(t<<6)+40|0;q=w+(t<<6)+24|0;r=w+(t<<6)+32|0;s=w+(t<<6)+16|0;m=0;while(1){if((m|0)>=(c[n>>2]|0))break;l=(c[(c[o>>2]|0)+(m<<2)>>2]|0)+16|0;e=c[l>>2]|0;j=+h[e+80>>3]*.5;i=c[e+204>>2]|0;a:do if(i){g=0;while(1){f=c[i+(g<<2)>>2]|0;if(!f)break a;x=c[f>>2]&3;if((c[((x|0)==3?f:f+48|0)+40>>2]|0)==(c[((x|0)==2?f:f+-48|0)+40>>2]|0)?(u=c[(c[f+16>>2]|0)+96>>2]|0,(u|0)!=0):0){k=+h[u+32>>3]*.5;j=j>k?j:k}g=g+1|0}}while(0);if(+h[p>>3]>3]=j;h[p>>3]=j}if(+h[r>>3]>3]=j;h[r>>3]=j}f=c[e+212>>2]|0;if(f|0){if((f|0)==(d|0))g=0;else{g=JL(f,c[46374]|0,8,0)|0;e=c[l>>2]|0}i=c[e+232>>2]|0;f=c[f+16>>2]|0;e=f+128|0;j=j+ +(g|0);if((i|0)==(b[f+236>>1]|0)){k=+h[e>>3];h[e>>3]=k>j?k:j}e=f+120|0;if((i|0)==(b[f+238>>1]|0)){k=+h[e>>3];h[e>>3]=k>j?k:j}}m=m+1|0}t=t+1|0;e=c[v>>2]|0}m=sj(d)|0;g=c[v>>2]|0;e=b[g+238>>1]|0;h[(c[(c[c[w+(e<<6)+4>>2]>>2]|0)+16>>2]|0)+24>>3]=+h[w+(e<<6)+16>>3];f=b[g+236>>1]|0;i=g+252|0;k=0.0;while(1){l=e+-1|0;if((e|0)<=(f|0))break;y=+h[w+(l<<6)+32>>3]+ +h[w+(e<<6)+40>>3]+ +(c[i>>2]|0);j=+h[w+(e<<6)+24>>3]+8.0+ +h[w+(l<<6)+16>>3];j=y>j?y:j;if((c[w+(l<<6)>>2]|0)>0)h[(c[(c[c[w+(l<<6)+4>>2]>>2]|0)+16>>2]|0)+24>>3]=+h[(c[(c[c[w+(e<<6)+4>>2]>>2]|0)+16>>2]|0)+24>>3]+j;k=k>j?k:j;e=l}b:do if((m|0)!=0?(c[g+116>>2]&1|0)!=0:0){tj(d,0);g=c[v>>2]|0;if(a[g+276>>0]|0){e=b[g+238>>1]|0;f=b[g+236>>1]|0;j=+h[(c[(c[c[w+(e<<6)+4>>2]>>2]|0)+16>>2]|0)+24>>3];k=0.0;while(1){i=e+-1|0;if((e|0)<=(f|0))break b;z=+h[(c[(c[c[w+(i<<6)+4>>2]>>2]|0)+16>>2]|0)+24>>3];y=z-j;j=z;k=k>y?k:y;e=i}}}while(0);c:do if(a[g+276>>0]|0){i=b[g+236>>1]|0;f=b[g+238>>1]|0;while(1){e=f+-1|0;if((f|0)<=(i|0))break c;if((c[w+(e<<6)>>2]|0)<=0){f=e;continue}h[(c[(c[c[w+(e<<6)+4>>2]>>2]|0)+16>>2]|0)+24>>3]=+h[(c[(c[c[w+(f<<6)+4>>2]>>2]|0)+16>>2]|0)+24>>3]+k;f=e}}while(0);e=g+192|0;while(1){e=c[e>>2]|0;if(!e)break;e=c[e+16>>2]|0;h[e+24>>3]=+h[(c[(c[c[w+(c[e+232>>2]<<6)+4>>2]>>2]|0)+16>>2]|0)+24>>3];e=e+164|0}return}function Ni(a){a=a|0;var b=0,d=0,e=0;oj(a);b=(c[a+16>>2]|0)+192|0;while(1){b=c[b>>2]|0;if(!b)break;e=b+16|0;b=c[e>>2]|0;d=c[b+224>>2]|0;if(d){pj(a,d);b=c[e>>2]|0}d=c[b+228>>2]|0;if(!d)d=b;else{pj(a,d);d=c[e>>2]|0}e=c[d+204>>2]|0;if(e|0){b=0;while(1)if(!(c[e+(b<<2)>>2]|0))break;else b=b+1|0}b=d+164|0}return}function Oi(a){a=a|0;aj(a);bj(a);cj(a);dj(a);ej(a);return}function Pi(a){a=a|0;var b=0,c=0.0;b=wx(a,86826)|0;if(!b)a=2147483647;else{c=+a2(b);a=~~(c*+($x(a)|0))}return a|0}function Qi(d){d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;r=d+16|0;e=c[r>>2]|0;q=b[e+236>>1]|0;while(1){p=b[e+238>>1]|0;if((q|0)>(p|0)){s=19;break}n=c[e+196>>2]|0;o=n+(q<<6)|0;m=c[o>>2]|0;n=n+(q<<6)+4|0;l=0;f=0;a:while(1){if((l|0)>=(m|0)){s=14;break}f=c[(c[n>>2]|0)+(l<<2)>>2]|0;h=c[f+16>>2]|0;i=c[h+256>>2]|0;b:do if(i|0){g=0;while(1){j=c[i+(g<<2)>>2]|0;if(!j)break b;k=c[j>>2]&3;if((c[(c[(c[((k|0)==2?j:j+-48|0)+40>>2]|0)+16>>2]|0)+232>>2]|0)>(q|0))break a;if((c[(c[(c[((k|0)==3?j:j+48|0)+40>>2]|0)+16>>2]|0)+232>>2]|0)>(q|0))break a;else g=g+1|0}}while(0);h=c[h+248>>2]|0;c:do if(h|0){g=0;while(1){i=c[h+(g<<2)>>2]|0;if(!i)break c;j=c[i>>2]&3;if((c[(c[(c[((j|0)==3?i:i+48|0)+40>>2]|0)+16>>2]|0)+232>>2]|0)>(q|0))break a;if((c[(c[(c[((j|0)==2?i:i+-48|0)+40>>2]|0)+16>>2]|0)+232>>2]|0)>(q|0))break a;else g=g+1|0}}while(0);l=l+1|0}if((s|0)==14){s=0;if(f){f=c[c[n>>2]>>2]|0;e=c[c[o+(((q|0)<(p|0)?1:-1)<<6)+4>>2]>>2]|0;if(!e){s=16;break}o=th(d)|0;p=o+16|0;a[(c[p>>2]|0)+156>>0]=2;_i(o,f,0.0,0)|0;_i(o,e,0.0,0)|0;c[(c[p>>2]|0)+232>>2]=c[(c[((c[(c[f+16>>2]|0)+232>>2]|0)<(c[(c[e+16>>2]|0)+232>>2]|0)?f:e)+16>>2]|0)+232>>2];e=c[r>>2]|0}}q=q+1|0}if((s|0)==16)qa(86734,86626,111,86737);else if((s|0)==19)return}function Ri(a){a=a|0;var d=0,e=0,f=0,g=0,i=0,j=0,k=0;a=c[a+16>>2]|0;i=c[a+196>>2]|0;e=b[a+238>>1]|0;a=b[a+236>>1]|0;while(1){if((a|0)>(e|0))break;f=c[i+(a<<6)>>2]|0;g=i+(a<<6)+4|0;d=0;while(1){if((d|0)>=(f|0))break;k=c[(c[(c[g>>2]|0)+(d<<2)>>2]|0)+16>>2]|0;j=k+232|0;h[k+16>>3]=+(c[j>>2]|0);c[j>>2]=a;d=d+1|0}a=a+1|0}return}function Si(a,d){a=a|0;d=d|0;var e=0,f=0.0,g=0,i=0.0,j=0,k=0,l=0.0,m=0,n=0,o=0,p=0;Ui(a,a);g=a+16|0;k=c[g>>2]|0;a:do if((b[k+238>>1]|0)>0?(j=c[k+8>>2]|0,e=c[j+84>>2]|0,e|0):0){o=~~(+h[k+32>>3]-+h[k+16>>3]);m=~~(+h[k+40>>3]-+h[k+24>>3]);p=(c[k+116>>2]&1|0)==0;n=p?m:o;m=p?o:m;if((e|0)==4){e=Vi(a)|0;k=c[g>>2]|0;j=c[k+8>>2]|0}else e=(e|0)==2&1;b:do if(!(e<<24>>24)){switch(c[j+84>>2]|0){case 5:{f=+h[j+64>>3];if(f<=0.0)break a;i=f/+h[k+32>>3];l=+h[j+72>>3]/+h[k+40>>3];f=i1.0&l>1.0){l=f;break b}else break a}case 1:break;default:break a}i=+h[j+16>>3];f=+(n|0)/+(m|0);if(f>3];if(f<=0.0)break a;i=f/+(m|0);f=+h[j+72>>3]/+(n|0);if(i<1.0|f<1.0)if(i>2]&1|0)==0;i=e?f:l;f=e?l:f;e=k+192|0;while(1){e=c[e>>2]|0;if(!e)break;e=c[e+16>>2]|0;p=e+16|0;l=+h[p>>3]*f;h[p>>3]=+(~~(l+(l>=0.0?.5:-.5))|0);p=e+24|0;l=+h[p>>3]*i;h[p>>3]=+(~~(l+(l>=0.0?.5:-.5))|0);e=e+164|0}Wi(a,f,i)}while(0);if(d|0)Xi(a,d);return}function Ti(b){b=b|0;var d=0,e=0,f=0,g=0,h=0;h=b+16|0;b=(c[h>>2]|0)+192|0;while(1){b=c[b>>2]|0;if(!b)break;g=b+16|0;d=0;while(1){b=c[g>>2]|0;f=c[b+180>>2]|0;e=c[f+(d<<2)>>2]|0;if(!e)break;C_(c[e+16>>2]|0);C_(e);d=d+1|0}if(f){C_(f);b=c[g>>2]|0}d=c[b+172>>2]|0;if(d){C_(d);b=c[g>>2]|0}f=b+256|0;e=c[f+4>>2]|0;b=b+180|0;c[b>>2]=c[f>>2];c[b+4>>2]=e;b=c[g>>2]|0;e=b+248|0;f=c[e+4>>2]|0;b=b+172|0;c[b>>2]=c[e>>2];c[b+4>>2]=f;b=(c[g>>2]|0)+164|0}b=0;d=c[(c[h>>2]|0)+192>>2]|0;a:while(1){g=(b|0)==0;f=b+16|0;b=d;while(1){if(!b)break a;e=c[b+16>>2]|0;d=c[e+164>>2]|0;if((a[e+156>>0]|0)!=2)continue a;if(g)c[(c[h>>2]|0)+192>>2]=d;else c[(c[f>>2]|0)+164>>2]=d;C_(e);C_(b);b=d}}c[(c[(c[(c[h>>2]|0)+192>>2]|0)+16>>2]|0)+168>>2]=0;return}function Ui(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;e=a+16|0;d=1;while(1){f=c[e>>2]|0;if((d|0)>(c[f+180>>2]|0))break;Ui(c[(c[f+184>>2]|0)+(d<<2)>>2]|0,b);d=d+1|0}Zi(a,b);return}function Vi(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,i=0,j=0.0,k=0.0,m=0,n=0.0,o=0.0,p=0.0,q=0.0,r=0,s=0,t=0;s=l;l=l+80|0;e=s+64|0;d=s+48|0;f=s+16|0;m=s;r=s+32|0;a=a+16|0;b=c[(c[a>>2]|0)+8>>2]|0;t=b+48|0;c[f>>2]=c[t>>2];c[f+4>>2]=c[t+4>>2];c[f+8>>2]=c[t+8>>2];c[f+12>>2]=c[t+12>>2];if((!(+h[f>>3]<.001)?(g=f+8|0,!(+h[g>>3]<.001)):0)?(i=b+32|0,c[m>>2]=c[i>>2],c[m+4>>2]=c[i+4>>2],c[m+8>>2]=c[i+8>>2],c[m+12>>2]=c[i+12>>2],c[d>>2]=c[f>>2],c[d+4>>2]=c[f+4>>2],c[d+8>>2]=c[f+8>>2],c[d+12>>2]=c[f+12>>2],c[e>>2]=c[i>>2],c[e+4>>2]=c[i+4>>2],c[e+8>>2]=c[i+8>>2],c[e+12>>2]=c[i+12>>2],Yi(r,d,e),c[f>>2]=c[r>>2],c[f+4>>2]=c[r+4>>2],c[f+8>>2]=c[r+8>>2],c[f+12>>2]=c[r+12>>2],c[d>>2]=c[r>>2],c[d+4>>2]=c[r+4>>2],c[d+8>>2]=c[r+8>>2],c[d+12>>2]=c[r+12>>2],c[e>>2]=c[m>>2],c[e+4>>2]=c[m+4>>2],c[e+8>>2]=c[m+8>>2],c[e+12>>2]=c[m+12>>2],Yi(f,d,e),i=c[a>>2]|0,j=+h[i+32>>3],k=+h[i+40>>3],n=+h[f>>3],o=n/j,p=+h[g>>3],q=p/k,!(o>=1.0&q>=1.0)):0){o=o.5?o:.5;q=+N(+(o*k/p))*p/k;p=+N(+(o*j/n))*n/j*j;a=c[i+8>>2]|0;h[a+64>>3]=p;h[a+72>>3]=q*k;a=1}else a=0;l=s;return a|0}function Wi(a,b,d){a=a|0;b=+b;d=+d;var e=0,f=0;e=a+16|0;a=1;while(1){f=c[e>>2]|0;if((a|0)>(c[f+180>>2]|0))break;Wi(c[(c[f+184>>2]|0)+(a<<2)>>2]|0,b,d);a=a+1|0}e=f+16|0;h[e>>3]=+h[e>>3]*b;e=f+24|0;h[e>>3]=+h[e>>3]*d;e=f+32|0;h[e>>3]=+h[e>>3]*b;f=f+40|0;h[f>>3]=+h[f>>3]*d;return}function Xi(a,b){a=a|0;b=b|0;var d=0.0,e=0.0,f=0,g=0,i=0.0,j=0,k=0,m=0,n=0;m=l;l=l+32|0;j=m+24|0;g=m+16|0;f=m;n=c[a+16>>2]|0;e=+h[n+32>>3]-+h[n+16>>3];d=+h[n+40>>3]-+h[n+24>>3];i=e/d;if(0){n=c[15686]|0;h[f>>3]=i;h[f+8>>3]=e*.0001*d;f1(n,86650,f)|0;c[g>>2]=yk(a)|0;f1(n,86675,g)|0}d=+h[b>>3];do if(!(i>d*1.1)){a=b+24|0;if(!(i<=d*.8)){c[a>>2]=0;k=9;break}c[a>>2]=-1;if(0){D1(86685,34,1,c[15686]|0)|0;k=9}}else{c[b+24>>2]=~~(d*+((c[b+20>>2]|0)-(c[b+16>>2]|0)|0)/i);k=9}while(0);if((k|0)==9?0:0){n=c[15686]|0;c[j>>2]=c[b+24>>2];f1(n,86720,j)|0}l=m;return}function Yi(a,b,c){a=a|0;b=b|0;c=c|0;var d=0.0;d=+h[b+8>>3]-+h[c+8>>3];h[a>>3]=+h[b>>3]-+h[c>>3];h[a+8>>3]=d;return}function Zi(d,e){d=d|0;e=e|0;var f=0,g=0.0,i=0.0,j=0,k=0,l=0,m=0.0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0.0;s=(hg(d)|0)==(d|0);v=d+16|0;w=c[v>>2]|0;a:do if(s){f=b[w+236>>1]|0;d=b[w+238>>1]|0;q=d<<16>>16;r=w+196|0;s=w+196|0;p=f<<16>>16;i=-2147483647.0;g=2147483647.0;while(1){if((p|0)>(q|0))break;j=c[r>>2]|0;o=c[j+(p<<6)>>2]|0;if((o|0)!=0?(t=c[j+(p<<6)+4>>2]|0,u=c[t>>2]|0,(u|0)!=0):0){l=1;j=u;while(1){j=c[j+16>>2]|0;k=a[j+156>>0]|0;if(!((l|0)<(o|0)&k<<24>>24!=0))break;j=c[t+(l<<2)>>2]|0;l=l+1|0}if(!(k<<24>>24)){m=+h[j+16>>3]-+h[j+88>>3];n=g>2]|0)+(p<<6)+4>>2]|0;k=o+-2|0;j=o+-1|0;while(1){j=c[(c[l+(j<<2)>>2]|0)+16>>2]|0;if(!(a[j+156>>0]|0))break;else{j=k;k=k+-1|0}}x=+h[j+96>>3]+ +h[j+16>>3];i=i>x?i:x;g=n?g:m}}p=p+1|0}k=c[w+180>>2]|0;l=w+184|0;j=1;while(1){if((j|0)>(k|0))break a;u=c[(c[(c[l>>2]|0)+(j<<2)>>2]|0)+16>>2]|0;x=+h[u+16>>3]+-8.0;m=+h[u+32>>3]+8.0;j=j+1|0;i=i>m?i:m;g=g>2]|0)+16>>2]|0)+232>>2]|0);g=+(c[(c[(c[w+256>>2]|0)+16>>2]|0)+232>>2]|0);f=b[w+236>>1]|0;d=b[w+238>>1]|0}while(0);e=c[(c[e+16>>2]|0)+196>>2]|0;m=+h[(c[(c[c[e+(d<<16>>16<<6)+4>>2]>>2]|0)+16>>2]|0)+24>>3]-+h[w+120>>3];x=+h[w+128>>3]+ +h[(c[(c[c[e+(f<<16>>16<<6)+4>>2]>>2]|0)+16>>2]|0)+24>>3];h[w+16>>3]=g;h[w+24>>3]=m;e=c[v>>2]|0;h[e+32>>3]=i;h[e+40>>3]=x;return}function _i(a,d,e,f){a=a|0;d=d|0;e=+e;f=f|0;var g=0,h=0,i=0,j=0;i=tH(96)|0;j=i+48|0;c[j>>2]=c[j>>2]|3;c[i>>2]=c[i>>2]&-4|2;g=tH(176)|0;h=i+16|0;c[h>>2]=g;c[((c[i>>2]&3|0)==3?i:j)+40>>2]=a;c[((c[i>>2]&3|0)==2?i:i+-48|0)+40>>2]=d;if(e>65535.0){$i(e);e=65535.0;g=c[h>>2]|0}b[g+170>>1]=~~(e+(e>=0.0?.5:-.5));c[g+156>>2]=f;hh(i)|0;return i|0}function $i(a){a=+a;var b=0,d=0;b=l;l=l+16|0;d=b;h[d>>3]=a;c[d+8>>2]=65535;Ow(1,86750,d)|0;l=b;return}function aj(a){a=a|0;var b=0,d=0,e=0,f=0;a=(c[a+16>>2]|0)+192|0;while(1){a=c[a>>2]|0;if(!a)break;f=a+16|0;e=c[f>>2]|0;a=e+172|0;d=c[a+4>>2]|0;e=e+248|0;c[e>>2]=c[a>>2];c[e+4>>2]=d;e=c[f>>2]|0;d=e+180|0;a=c[d+4>>2]|0;e=e+256|0;c[e>>2]=c[d>>2];c[e+4>>2]=a;e=c[f>>2]|0;a=c[e+180>>2]|0;d=0;while(1)if(!(c[a+(d<<2)>>2]|0))break;else d=d+1|0;b=c[e+172>>2]|0;a=0;while(1)if(!(c[b+(a<<2)>>2]|0))break;else a=a+1|0;c[e+176>>2]=0;a=tH((a+d<<2)+16|0)|0;e=c[f>>2]|0;c[e+172>>2]=a;c[e+184>>2]=0;e=tH(16)|0;a=c[f>>2]|0;c[a+180>>2]=e;a=a+164|0}return}function bj(d){d=d|0;var f=0,g=0,i=0.0,j=0,k=0,m=0,n=0,o=0,p=0.0,q=0,r=0,s=0,t=0.0,u=0,v=0,w=0,x=0,y=0,z=0,A=0.0,B=0.0;z=l;l=l+16|0;w=z;x=d+16|0;u=c[x>>2]|0;y=c[u+196>>2]|0;d=(a[(c[(c[d+60>>2]|0)+16>>2]|0)+113>>0]&1)!=0;v=c[u+248>>2]|0;c[w>>2]=v;c[w+4>>2]=d?5:v;v=b[u+236>>1]|0;d=u;while(1){if((v|0)>(b[d+238>>1]|0))break;r=y+(v<<6)+4|0;c[(c[(c[c[r>>2]>>2]|0)+16>>2]|0)+232>>2]=0;s=y+(v<<6)|0;t=+(c[w+((v&1)<<2)>>2]|0);p=0.0;k=0;a:while(1){if((k|0)>=(c[s>>2]|0))break;f=c[r>>2]|0;m=c[f+(k<<2)>>2]|0;u=m+16|0;d=c[u>>2]|0;i=+h[d+96>>3];h[d+240>>3]=i;if((c[d+208>>2]|0)>0){j=0;f=0;while(1){g=c[(c[d+204>>2]|0)+(j<<2)>>2]|0;if(!g)break;q=c[g>>2]&3;if((c[((q|0)==3?g:g+48|0)+40>>2]|0)==(c[((q|0)==2?g:g+-48|0)+40>>2]|0)){f=(WK(g)|0)+f|0;d=c[u>>2]|0}j=j+1|0}q=d+96|0;i=+h[q>>3]+ +(f|0);h[q>>3]=i;f=c[r>>2]|0}q=k+1|0;f=c[f+(q<<2)>>2]|0;if(f){o=f+16|0;i=i+t+ +h[(c[o>>2]|0)+88>>3];_i(m,f,i,0)|0;d=~~(i+p);c[(c[o>>2]|0)+232>>2]=d;p=+(d|0);d=c[u>>2]|0}f=c[d+112>>2]|0;if(f){j=c[d+256>>2]|0;k=c[j>>2]|0;j=c[j+4>>2]|0;d=(c[(c[(c[((c[k>>2]&3|0)==2?k:k+-48|0)+40>>2]|0)+16>>2]|0)+236>>2]|0)>(c[(c[(c[((c[j>>2]&3|0)==2?j:j+-48|0)+40>>2]|0)+16>>2]|0)+236>>2]|0);g=d?j:k;j=d?k:j;k=f+16|0;d=c[k>>2]|0;i=+((O(c[(c[x>>2]|0)+248>>2]|0,e[d+170>>1]|0)|0)/2|0|0);o=c[g>>2]&3;f=c[((o|0)==2?g:g+-48|0)+40>>2]|0;g=c[((o|0)==3?g:g+48|0)+40>>2]|0;if(!(mj(g,f)|0))_i(f,g,+(~~(+h[(c[f+16>>2]|0)+96>>3]+i+ +h[(c[g+16>>2]|0)+88>>3])|0),c[d+156>>2]|0)|0;d=c[j>>2]&3;f=c[((d|0)==3?j:j+48|0)+40>>2]|0;d=c[((d|0)==2?j:j+-48|0)+40>>2]|0;if(!(mj(d,f)|0)){_i(f,d,+(~~(+h[(c[f+16>>2]|0)+96>>3]+i+ +h[(c[d+16>>2]|0)+88>>3])|0),c[(c[k>>2]|0)+156>>2]|0)|0;o=0}else o=0}else o=0;while(1){d=c[u>>2]|0;if((o|0)>=(c[d+192>>2]|0)){k=q;continue a}m=c[(c[d+188>>2]|0)+(o<<2)>>2]|0;k=c[m>>2]&3;g=c[((k|0)==3?m:m+48|0)+40>>2]|0;k=c[((k|0)==2?m:m+-48|0)+40>>2]|0;j=(c[(c[g+16>>2]|0)+236>>2]|0)<(c[(c[k+16>>2]|0)+236>>2]|0);f=j?g:k;g=j?k:g;i=+h[(c[g+16>>2]|0)+88>>3]+ +h[(c[f+16>>2]|0)+96>>3];k=m+16|0;j=~~(i+ +(O(c[(c[x>>2]|0)+248>>2]|0,e[(c[k>>2]|0)+170>>1]|0)|0));n=eh(f,g)|0;if(!n){d=c[k>>2]|0;if(!(c[d+96>>2]|0))_i(f,g,+(j|0),c[d+156>>2]|0)|0}else{A=+(j|0);d=c[k>>2]|0;B=+h[d+136>>3];i=i+ +(c[(c[x>>2]|0)+248>>2]|0)+ +(~~(B+(B>=0.0?.5:-.5))|0);f=~~(i65535){$i(+(f|0));f=65535;d=c[k>>2]|0}k=c[n+16>>2]|0;j=k+170|0;g=e[j>>1]|0;b[j>>1]=(f|0)<(g|0)?g:f;k=k+156|0;c[k>>2]=c[(c[((c[k>>2]|0)>(c[d+156>>2]|0)?n:m)+16>>2]|0)+156>>2]}o=o+1|0}}v=v+1|0;d=c[x>>2]|0}l=z;return}function cj(b){b=b|0;var d=0,e=0,f=0,g=0,i=0,j=0,k=0,l=0,m=0,n=0;d=(c[b+16>>2]|0)+192|0;while(1){d=c[d>>2]|0;if(!d)break;g=d+16|0;d=c[g>>2]|0;e=c[d+256>>2]|0;a:do if(e){f=0;while(1){e=c[e+(f<<2)>>2]|0;if(!e)break a;n=th(b)|0;d=n+16|0;a[(c[d>>2]|0)+156>>0]=2;l=e+16|0;k=c[l>>2]|0;i=~~(+h[k+56>>3]-+h[k+16>>3]);m=(i|0)>0;j=m?0:0-i|0;i=m?i:0;m=e+48|0;_i(n,c[((c[e>>2]&3|0)==3?e:m)+40>>2]|0,+(i+1|0),c[k+156>>2]|0)|0;k=e+-48|0;_i(n,c[((c[e>>2]&3|0)==2?e:k)+40>>2]|0,+(j+1|0),c[(c[l>>2]|0)+156>>2]|0)|0;l=c[e>>2]&3;i=(c[(c[(c[((l|0)==3?e:m)+40>>2]|0)+16>>2]|0)+232>>2]|0)-i|0;e=(c[(c[(c[((l|0)==2?e:k)+40>>2]|0)+16>>2]|0)+232>>2]|0)-j|0;c[(c[d>>2]|0)+232>>2]=((i|0)<(e|0)?i:e)+-1;d=c[g>>2]|0;f=f+1|0;e=c[d+256>>2]|0}}while(0);d=d+164|0}return}function dj(a){a=a|0;if((c[(c[a+16>>2]|0)+180>>2]|0)>0){hj(a);ij(a);jj(a);kj(a)}return}function ej(a){a=a|0;var b=0.0,d=0.0,e=0,f=0;e=a+16|0;f=c[(c[e>>2]|0)+8>>2]|0;if((c[f+84>>2]|0)==3?(b=+h[f+64>>3],d=+h[f+72>>3],!(d*b<=1.0)):0){fj(a);f=c[e>>2]|0;d=(c[f+116>>2]&1|0)==0?b:d;_i(c[f+256>>2]|0,c[f+260>>2]|0,d<65535.0?d:65535.0,1e3)|0}return}function fj(a){a=a|0;var d=0,e=0,f=0.0,g=0,i=0,j=0,k=0,m=0,n=0;n=l;l=l+16|0;m=n;e=JL(a,c[46374]|0,8,0)|0;gj(a);i=a+16|0;g=c[i>>2]|0;j=c[g+256>>2]|0;k=c[g+260>>2]|0;f=+(e|0);e=b[g+236>>1]|0;while(1){if((e|0)>(b[g+238>>1]|0))break;d=c[g+196>>2]|0;do if(c[d+(e<<6)>>2]|0){d=c[c[d+(e<<6)+4>>2]>>2]|0;if(!d){c[m>>2]=qy(a)|0;c[m+4>>2]=e;Ow(1,86834,m)|0;break}else{_i(j,d,+h[(c[d+16>>2]|0)+88>>3]+f+ +h[g+96>>3],0)|0;g=c[i>>2]|0;d=c[g+196>>2]|0;d=c[(c[d+(e<<6)+4>>2]|0)+((c[d+(e<<6)>>2]|0)+-1<<2)>>2]|0;_i(d,k,+h[(c[d+16>>2]|0)+96>>3]+f+ +h[g+64>>3],0)|0;break}}while(0);e=e+1|0;g=c[i>>2]|0}l=n;return}function gj(b){b=b|0;var d=0,e=0,f=0;d=b+16|0;if(!(c[(c[d>>2]|0)+256>>2]|0)){f=th(hg(b)|0)|0;a[(c[f+16>>2]|0)+156>>0]=2;e=th(hg(b)|0)|0;a[(c[e+16>>2]|0)+156>>0]=2;if((c[(c[d>>2]|0)+12>>2]|0?(hg(b)|0)!=(b|0):0)?(c[(c[(ez(b)|0)+16>>2]|0)+116>>2]&1|0)==0:0){b=c[d>>2]|0;_i(f,e,+(~~+h[b+48+((+h[b+48>>3]>+h[b+80>>3]?0:2)<<4)>>3]|0),0)|0}d=c[d>>2]|0;c[d+256>>2]=f;c[d+260>>2]=e}return}function hj(a){a=a|0;var b=0,d=0;do if((hg(a)|0)!=(a|0)){fj(a);a=a+16|0;b=c[a>>2]|0;b=eh(c[b+256>>2]|0,c[b+260>>2]|0)|0;if(!b){d=c[a>>2]|0;_i(c[d+256>>2]|0,c[d+260>>2]|0,1.0,128)|0;break}else{d=(c[b+16>>2]|0)+156|0;c[d>>2]=(c[d>>2]|0)+128;break}}else a=a+16|0;while(0);b=1;while(1){d=c[a>>2]|0;if((b|0)>(c[d+180>>2]|0))break;hj(c[(c[d+184>>2]|0)+(b<<2)>>2]|0);b=b+1|0}return}function ij(d){d=d|0;var e=0,f=0,g=0,i=0,j=0,k=0,l=0,m=0.0,n=0,o=0;k=JL(d,c[46374]|0,8,0)|0;o=d+16|0;e=c[o>>2]|0;m=+(k|0);k=b[e+236>>1]|0;while(1){if((k|0)>(b[e+238>>1]|0)){f=1;break}e=c[e+196>>2]|0;a:do if(c[e+(k<<6)>>2]|0?(l=c[c[e+(k<<6)+4>>2]>>2]|0,l|0):0){i=l+16|0;f=c[(c[i>>2]|0)+236>>2]|0;while(1){if((f|0)<=0)break;f=f+-1|0;j=c[(c[(c[(c[(hg(d)|0)+16>>2]|0)+196>>2]|0)+(k<<6)+4>>2]|0)+(f<<2)>>2]|0;g=j+16|0;e=c[g>>2]|0;if(!(a[e+156>>0]|0)){n=10;break}if(lj(d,j)|0){n=9;break}}if((n|0)==9){e=c[g>>2]|0;n=10}if((n|0)==10){n=0;_i(j,c[(c[o>>2]|0)+256>>2]|0,+h[e+96>>3]+m,0)|0}f=(c[(c[(c[o>>2]|0)+196>>2]|0)+(k<<6)>>2]|0)+(c[(c[i>>2]|0)+236>>2]|0)|0;while(1){if((f|0)>=(c[(c[(c[(hg(d)|0)+16>>2]|0)+196>>2]|0)+(k<<6)>>2]|0))break a;i=c[(c[(c[(c[(hg(d)|0)+16>>2]|0)+196>>2]|0)+(k<<6)+4>>2]|0)+(f<<2)>>2]|0;g=i+16|0;e=c[g>>2]|0;if(!(a[e+156>>0]|0))break;if(!(lj(d,i)|0))f=f+1|0;else{n=15;break}}if((n|0)==15){n=0;e=c[g>>2]|0}_i(c[(c[o>>2]|0)+260>>2]|0,i,+h[e+88>>3]+m,0)|0}while(0);k=k+1|0;e=c[o>>2]|0}while(1){if((f|0)>(c[e+180>>2]|0))break;ij(c[(c[e+184>>2]|0)+(f<<2)>>2]|0);f=f+1|0;e=c[o>>2]|0}return}function jj(a){a=a|0;var b=0,d=0.0,e=0,f=0,g=0;e=JL(a,c[46374]|0,8,0)|0;gj(a);b=a+16|0;d=+(e|0);a=1;while(1){e=c[b>>2]|0;if((a|0)>(c[e+180>>2]|0))break;e=c[(c[e+184>>2]|0)+(a<<2)>>2]|0;gj(e);f=c[b>>2]|0;g=e+16|0;_i(c[f+256>>2]|0,c[(c[g>>2]|0)+256>>2]|0,+h[f+96>>3]+d,0)|0;f=c[b>>2]|0;_i(c[(c[g>>2]|0)+260>>2]|0,c[f+260>>2]|0,+h[f+64>>3]+d,0)|0;jj(e);a=a+1|0}return}function kj(a){a=a|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0.0,n=0,o=0;d=JL(a,c[46374]|0,8,0)|0;n=a+16|0;a=1;while(1){f=c[n>>2]|0;e=c[f+180>>2]|0;if((a|0)>(e|0))break;gj(c[(c[f+184>>2]|0)+(a<<2)>>2]|0);a=a+1|0}m=+(d|0);l=1;a=e;d=f;while(1){if((l|0)>(a|0))break;k=l+1|0;j=k;while(1){e=c[d+184>>2]|0;f=c[e+(l<<2)>>2]|0;if((j|0)>(a|0))break;e=c[e+(j<<2)>>2]|0;g=(b[(c[f+16>>2]|0)+236>>1]|0)>(b[(c[e+16>>2]|0)+236>>1]|0);i=g?e:f;e=g?f:e;f=c[i+16>>2]|0;g=c[e+16>>2]|0;o=b[g+236>>1]|0;h=o<<16>>16;if((b[f+238>>1]|0)>=o<<16>>16){a=(c[(c[(c[c[(c[f+196>>2]|0)+(h<<6)+4>>2]>>2]|0)+16>>2]|0)+236>>2]|0)<(c[(c[(c[c[(c[g+196>>2]|0)+(h<<6)+4>>2]>>2]|0)+16>>2]|0)+236>>2]|0);_i(c[(c[(a?i:e)+16>>2]|0)+260>>2]|0,c[(c[(a?e:i)+16>>2]|0)+256>>2]|0,m,0)|0;a=c[n>>2]|0;d=a;a=c[a+180>>2]|0}j=j+1|0}kj(f);d=c[n>>2]|0;l=k;a=c[d+180>>2]|0}return}function lj(b,d){b=b|0;d=d|0;var e=0;d=c[d+16>>2]|0;if((a[d+156>>0]|0)==1){d=c[c[d+256>>2]>>2]|0;while(1){e=c[(c[d+16>>2]|0)+116>>2]|0;if(!e)break;else d=e}if(!(nz(b,c[((c[d>>2]&3|0)==3?d:d+48|0)+40>>2]|0)|0))d=(nz(b,c[((c[d>>2]&3|0)==2?d:d+-48|0)+40>>2]|0)|0)==0&1;else d=0}else d=0;return d|0}function mj(a,b){a=a|0;b=b|0;return nj(a,b)|0}function nj(a,b){a=a|0;b=b|0;var d=0,e=0;a:do if((a|0)==(b|0))a=1;else{d=c[(c[a+16>>2]|0)+180>>2]|0;a=0;while(1){e=c[d+(a<<2)>>2]|0;if(!e){a=0;break a}if(!(nj(c[((c[e>>2]&3|0)==2?e:e+-48|0)+40>>2]|0,b)|0))a=a+1|0;else{a=1;break}}}while(0);return a|0}function oj(d){d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0;k=d+16|0;d=c[k>>2]|0;j=b[d+236>>1]|0;while(1){if((j|0)>(b[d+238>>1]|0))break;h=c[d+196>>2]|0;g=c[h+(j<<6)>>2]|0;h=h+(j<<6)+4|0;i=0;f=0;while(1){if((f|0)>=(g|0))break;e=c[(c[(c[h>>2]|0)+(f<<2)>>2]|0)+16>>2]|0;c[e+236>>2]=i;if((a[e+159>>0]|0)==6)e=c[e+216>>2]|0;else e=1;i=e+i|0;f=f+1|0}if((i|0)>(g|0)){d=c[h>>2]|0;if(!d)d=uH((i<<2)+4|0)|0;else d=wH(d,(i<<2)+4|0)|0;f=c[(c[k>>2]|0)+196>>2]|0;c[f+(j<<6)+4>>2]=d;e=c[f+(j<<6)>>2]|0;while(1){d=e+-1|0;if((e|0)<=0)break;h=c[f+(j<<6)+4>>2]|0;e=c[h+(d<<2)>>2]|0;c[h+(c[(c[e+16>>2]|0)+236>>2]<<2)>>2]=e;e=d;f=c[(c[k>>2]|0)+196>>2]|0}c[f+(j<<6)>>2]=i;c[(c[f+(j<<6)+4>>2]|0)+(i<<2)>>2]=0;d=c[k>>2]|0}j=j+1|0}return}function pj(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0;o=l;l=l+48|0;n=o+32|0;m=o+8|0;d=o+24|0;k=o+16|0;j=o;e=b+16|0;f=c[e>>2]|0;a:do if((c[f+216>>2]|0)>=2){c[m>>2]=~~(+h[f+16>>3]-+h[f+88>>3]);c[m+4>>2]=~~+h[f+24>>3];c[n>>2]=c[m>>2];c[n+4>>2]=c[m+4>>2];qj(d,b,n);g=d;i=c[g+4>>2]|0;d=m;c[d>>2]=c[g>>2];c[d+4>>2]=i;d=c[e>>2]|0;if((c[d+184>>2]|0)>0){j=c[c[d+180>>2]>>2]|0;d=(c[d+236>>2]|0)+1|0;j=Gx(a,c[((c[j>>2]&3|0)==2?j:j+-48|0)+40>>2]|0)|0;while(1){if(!j)break a;i=(c[j>>2]&3|0)==2?j:j+-48|0;e=i+48|0;f=c[((c[i>>2]&3|0)==3?i:e)+40>>2]|0;if((f|0)!=(b|0)?(RL(f)|0)==(b|0):0){f=c[((c[i>>2]&3|0)==3?i:e)+40>>2]|0;c[n>>2]=c[m>>2];c[n+4>>2]=c[m+4>>2];rj(k,a,f,n,d);f=k;e=c[f+4>>2]|0;g=m;c[g>>2]=c[f>>2];c[g+4>>2]=e;yh(i);g=i+-48|0;e=c[(c[((c[i>>2]&3|0)==2?i:g)+40>>2]|0)+16>>2]|0;f=c[e+172>>2]|0;if(!f)e=uH((c[e+176>>2]<<2)+8|0)|0;else e=wH(f,(c[e+176>>2]<<2)+8|0)|0;c[(c[(c[((c[i>>2]&3|0)==2?i:g)+40>>2]|0)+16>>2]|0)+172>>2]=e;p=c[(c[((c[i>>2]&3|0)==2?i:g)+40>>2]|0)+16>>2]|0;e=c[p+172>>2]|0;p=p+176|0;f=c[p>>2]|0;c[p>>2]=f+1;c[e+(f<<2)>>2]=i;i=c[(c[((c[i>>2]&3|0)==2?i:g)+40>>2]|0)+16>>2]|0;c[(c[i+172>>2]|0)+(c[i+176>>2]<<2)>>2]=0;d=d+1|0}j=Hx(a,j)|0}}else{i=c[c[d+172>>2]>>2]|0;d=(c[d+236>>2]|0)+1|0;i=Dx(a,c[((c[i>>2]&3|0)==3?i:i+48|0)+40>>2]|0)|0;while(1){if(!i)break a;e=i+-48|0;f=c[((c[i>>2]&3|0)==2?i:e)+40>>2]|0;if((f|0)!=(b|0)?(RL(f)|0)==(b|0):0){f=c[((c[i>>2]&3|0)==2?i:e)+40>>2]|0;c[n>>2]=c[m>>2];c[n+4>>2]=c[m+4>>2];rj(j,a,f,n,d);f=j;e=c[f+4>>2]|0;g=m;c[g>>2]=c[f>>2];c[g+4>>2]=e;yh(i);g=i+48|0;e=c[(c[((c[i>>2]&3|0)==3?i:g)+40>>2]|0)+16>>2]|0;f=c[e+180>>2]|0;if(!f)e=uH((c[e+184>>2]<<2)+8|0)|0;else e=wH(f,(c[e+184>>2]<<2)+8|0)|0;c[(c[(c[((c[i>>2]&3|0)==3?i:g)+40>>2]|0)+16>>2]|0)+180>>2]=e;f=c[(c[((c[i>>2]&3|0)==3?i:g)+40>>2]|0)+16>>2]|0;k=c[f+180>>2]|0;f=f+184|0;p=c[f>>2]|0;c[f>>2]=p+1;c[k+(p<<2)>>2]=i;p=c[(c[((c[i>>2]&3|0)==3?i:g)+40>>2]|0)+16>>2]|0;c[(c[p+180>>2]|0)+(c[p+184>>2]<<2)>>2]=0;d=d+1|0}i=Fx(a,i)|0}}}while(0);l=o;return}function qj(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0.0;aN(b,c[(c[(dz(b)|0)+16>>2]|0)+116>>2]&1);e=c[b+16>>2]|0;h[e+24>>3]=+(c[d+4>>2]|0);f=+h[e+88>>3]+ +(c[d>>2]|0);h[e+16>>3]=f;f=f+ +h[e+96>>3];c[d>>2]=~~(f+ +(c[(c[(dz(b)|0)+16>>2]|0)+248>>2]|0));e=d;b=c[e+4>>2]|0;d=a;c[d>>2]=c[e>>2];c[d+4>>2]=b;return}function rj(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0;i=l;l=l+16|0;h=i;b=hg(b)|0;g=RL(d)|0;if((g|0)!=(d|0))qh(g,d);j=c[d+16>>2]|0;c[j+236>>2]=f;g=c[(c[g+16>>2]|0)+232>>2]|0;c[j+232>>2]=g;c[(c[(c[(c[b+16>>2]|0)+196>>2]|0)+(g<<6)+4>>2]|0)+(f<<2)>>2]=d;c[h>>2]=c[e>>2];c[h+4>>2]=c[e+4>>2];qj(a,d,h);l=i;return}function sj(a){a=a|0;var d=0.0,e=0.0,f=0,g=0,i=0,j=0.0,k=0,l=0,m=0,n=0.0;m=c[(c[(hg(a)|0)+16>>2]|0)+196>>2]|0;if((hg(a)|0)==(a|0))j=8.0;else j=+(JL(a,c[46374]|0,8,0)|0);l=a+16|0;g=c[l>>2]|0;f=0;k=1;e=+h[g+120>>3];d=+h[g+128>>3];while(1){if((k|0)>(c[g+180>>2]|0))break;i=c[(c[g+184>>2]|0)+(k<<2)>>2]|0;f=sj(i)|0|f;i=c[i+16>>2]|0;g=c[l>>2]|0;if((b[i+238>>1]|0)==(b[g+238>>1]|0)){n=+h[i+120>>3]+j;e=e>n?e:n}if((b[i+236>>1]|0)==(b[g+236>>1]|0)){n=+h[i+128>>3]+j;d=d>n?d:n}k=k+1|0}if((hg(a)|0)!=(a|0)?(c[(c[l>>2]|0)+12>>2]|0)!=0:0)if(!(c[(c[(ez(a)|0)+16>>2]|0)+116>>2]&1)){k=c[l>>2]|0;f=1;e=+h[k+56>>3]+e;d=+h[k+88>>3]+d}else f=1;k=c[l>>2]|0;h[k+120>>3]=e;h[k+128>>3]=d;if((hg(a)|0)!=(a|0)){l=c[l>>2]|0;a=m+(b[l+236>>1]<<6)+24|0;n=+h[a>>3];h[a>>3]=n>d?n:d;m=m+(b[l+238>>1]<<6)+16|0;n=+h[m>>3];h[m>>3]=n>e?n:e}return f|0}function tj(a,d){a=a|0;d=d|0;var e=0,f=0.0,g=0.0,i=0,j=0,k=0.0,l=0,m=0,n=0,o=0,p=0.0,q=0.0;o=c[(c[(hg(a)|0)+16>>2]|0)+196>>2]|0;if((hg(a)|0)==(a|0))e=0;else e=JL(a,c[46374]|0,8,0)|0;l=a+16|0;i=c[l>>2]|0;m=e+d|0;k=+(e|0);j=1;f=+h[i+128>>3];g=+h[i+120>>3];e=i;while(1){if((j|0)>(c[e+180>>2]|0))break;i=c[(c[e+184>>2]|0)+(j<<2)>>2]|0;tj(i,m);i=c[i+16>>2]|0;e=c[l>>2]|0;if((b[i+238>>1]|0)==(b[e+238>>1]|0)){q=+h[i+120>>3]+k;g=g>q?g:q}if((b[i+236>>1]|0)==(b[e+236>>1]|0)){q=+h[i+128>>3]+k;f=f>q?f:q}j=j+1|0}h[e+120>>3]=g;h[e+128>>3]=f;if(((hg(a)|0)!=(a|0)?(n=c[l>>2]|0,c[n+12>>2]|0):0)?(p=-g-f+ +h[n+48+((+h[n+104>>3]>+h[n+72>>3]?3:1)<<4)+8>>3]-+h[(c[(c[c[o+(b[n+236>>1]<<6)+4>>2]>>2]|0)+16>>2]|0)+24>>3]+ +h[(c[(c[c[o+(b[n+238>>1]<<6)+4>>2]>>2]|0)+16>>2]|0)+24>>3],p>0.0):0)uj(a,~~p,d);if((hg(a)|0)!=(a|0)){n=c[l>>2]|0;m=o+(b[n+236>>1]<<6)+24|0;q=+h[m>>3];p=+h[n+128>>3];h[m>>3]=q>p?q:p;o=o+(b[n+238>>1]<<6)+16|0;p=+h[o>>3];q=+h[n+120>>3];h[o>>3]=p>q?p:q}return}function uj(a,d,e){a=a|0;d=d|0;e=e|0;var f=0,g=0.0,i=0.0,j=0.0,k=0,l=0,m=0,n=0.0,o=0.0,p=0,q=0,r=0;k=c[(hg(a)|0)+16>>2]|0;q=c[k+196>>2]|0;p=c[a+16>>2]|0;a=b[p+238>>1]|0;f=b[p+236>>1]|0;l=(d+1|0)/2|0;m=p+120|0;n=+h[m>>3];o=+(l|0);i=+(e|0);e=~~(o+i+n-+h[q+(a<<6)+16>>3]);if((e|0)>0){g=+(e|0);while(1){if((a|0)<(f|0))break;if((c[q+(a<<6)>>2]|0)>0){r=(c[(c[c[q+(a<<6)+4>>2]>>2]|0)+16>>2]|0)+24|0;h[r>>3]=+h[r>>3]+g}a=a+-1|0}j=+h[p+128>>3];a=e;g=j+ +(d-l|0)}else{j=+h[p+128>>3];a=d-l|0;g=j}a=~~(+(a|0)+i+g-+h[q+(f<<6)+24>>3]);a:do if((a|0)>0){e=b[k+236>>1]|0;g=+(a|0);while(1){a=f+-1|0;if((f|0)<=(e|0))break a;if((c[q+(a<<6)>>2]|0)<=0){f=a;continue}f=(c[(c[c[q+(a<<6)+4>>2]>>2]|0)+16>>2]|0)+24|0;h[f>>3]=+h[f>>3]+g;f=a}}while(0);h[p+128>>3]=j+ +(d-l|0);h[m>>3]=n+o;return}function vj(b,d){b=b|0;d=d|0;var e=0,f=0;e=c[b+16>>2]|0;f=a[e+84>>0]|0;b=c[d+16>>2]|0;do if(f<<24>>24==(a[b+84>>0]|0)){if(+h[e+56>>3]==+h[b+56>>3]){if(!(f<<24>>24==0?1:+h[e+64>>3]==+h[b+64>>3])){b=0;break}}else if(f<<24>>24){b=0;break}if(+h[e+16>>3]==+h[b+16>>3]?+h[e+24>>3]==+h[b+24>>3]:0){b=1;break}b=(a[e+44>>0]|0)==0&1}else b=0;while(0);return b|0}function wj(a){a=a|0;var d=0,e=0,f=0,g=0,h=0,i=0;i=a+16|0;d=c[i>>2]|0;b[d+236>>1]=32767;b[d+238>>1]=-1;d=0;h=Ry(a)|0;while(1){e=c[i>>2]|0;if(!h)break;f=e+238|0;g=c[(c[h+16>>2]|0)+232>>2]|0;if((g|0)>(b[f>>1]|0))b[f>>1]=g;e=e+236|0;if((g|0)<(b[e>>1]|0))b[e>>1]=g;if(!d)d=h;else d=(g|0)<(c[(c[d+16>>2]|0)+232>>2]|0)?h:d;h=Sy(a,h)|0}c[e+264>>2]=d;return}function xj(a){a=a|0;var b=0,d=0,e=0,f=0,g=0.0;b=wx(a,86879)|0;if(!b)b=2147483647;else{g=+a2(b);b=~~(g*+($x(a)|0))}e=a+16|0;d=0;while(1){f=c[e>>2]|0;if((d|0)>=(c[f+220>>2]|0))break;c[f+192>>2]=c[(c[f+216>>2]|0)+(d<<2)>>2];eI(a,(c[f+180>>2]|0)==0&1,b)|0;d=d+1|0}return}function yj(a,d){a=a|0;d=d|0;var e=0,f=0,g=0;f=l;l=l+16|0;e=f;if(!(wx(a,86888)|0))Aj(a,d);else{g=(c[a+16>>2]|0)+136|0;b[g>>1]=b[g>>1]|16;zj(a,d)}if(0){g=c[15686]|0;a=c[a+16>>2]|0;d=b[a+236>>1]|0;c[e>>2]=b[a+238>>1];c[e+4>>2]=d;f1(g,86896,e)|0}l=f;return}function zj(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0.0;i=l;l=l+16|0;h=i;c[45977]=0;a[h>>0]=a[18484]|0;a[h+1>>0]=a[18485]|0;a[h+2>>0]=a[18486]|0;a[h+3>>0]=a[18487]|0;h=Wx(87106,h,0)|0;zz(h,87135,280,1)|0;lz(h,17404,17344);Bj(b);e=wx(b,86879)|0;if(!e)f=2147483647;else{j=+a2(e);f=~~(j*+($x(b)|0))}Rj(b,0);Sj(b,h);Tj(b,h);Uj(b,h,0,0);Vj(h);g=Wj(h)|0;Xj(h);if(d|0){Lk(h);zk(h)}e=wx(b,99560)|0;if(!e)e=-1;else e=$1(e)|0;xH(h,1,f,e)|0;Yj(b,h,g);_x(h)|0;l=i;return}function Aj(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0;g=l;l=l+32|0;f=g+16|0;e=g+8|0;d=g;Bj(a);do if(!b){Cj(a,a);Ok(a);Dj(d,a);h=d;d=c[h+4>>2]|0;b=e;c[b>>2]=c[h>>2];c[b+4>>2]=d;Hl(a,0);b=0}else{Lk(a);zk(a);Cj(a,a);Ok(a);Dj(d,a);i=d;d=c[i+4>>2]|0;h=e;c[h>>2]=c[i>>2];c[h+4>>2]=d;Hl(a,0);h=c[a+16>>2]|0;if((c[h+220>>2]|0)<=1?(c[h+180>>2]|0)<=0:0)break;c[b+32>>2]=1;b=0}while(0);wk(a);c[f>>2]=c[e>>2];c[f+4>>2]=c[e+4>>2];if(Ej(a,f)|0)Hl(a,0);if(!b)xj(a);else Ak(a,b);Fj(a,b);Gj(a);l=g;return}function Bj(d){d=d|0;var f=0,g=0,h=0;if(a[(c[(c[d+60>>2]|0)+16>>2]|0)+113>>0]&1){g=Ry(d)|0;while(1){if(!g)break;f=Dx(d,g)|0;while(1){if(!f)break;h=(c[f+16>>2]|0)+170|0;b[h>>1]=(e[h>>1]|0)<<1;f=Fx(d,f)|0}g=Sy(d,g)|0}h=(c[d+16>>2]|0)+252|0;c[h>>2]=((c[h>>2]|0)+1|0)/2|0}return}function Cj(a,b){a=a|0;b=b|0;var d=0;b=vA(b)|0;while(1){if(!b)break;d=Oj(b)|0;do if(d)if((d|0)==7&(c[46364]|0)==100){Kj(a,b);break}else{Pj(a,b,d);break}else Cj(a,b);while(0);b=wA(b)|0}return}function Dj(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0;i=d+16|0;e=c[i>>2]|0;d=c[e+228>>2]|0;e=c[e+224>>2]|0;f=(e|0)==0;if(!d)if(f){j=0;k=0}else g=4;else if(f)g=5;else g=4;if((g|0)==4){d=RL(e)|0;e=c[i>>2]|0;c[e+224>>2]=d;d=c[e+228>>2]|0;if(!d){h=0;d=e;g=12}else g=5}do if((g|0)==5){d=RL(d)|0;e=c[i>>2]|0;c[e+228>>2]=d;if(d){e=d+16|0;d=c[e>>2]|0;f=(a[d+159>>0]|0)==5&1;while(1){d=c[c[d+180>>2]>>2]|0;if(!d){g=11;break}h=c[((c[d>>2]&3|0)==2?d:d+-48|0)+40>>2]|0;if((h|0)!=(RL(h)|0)){g=9;break}vk(d);d=c[e>>2]|0}if((g|0)==9)qa(86999,86939,346,87031);else if((g|0)==11){h=f;d=c[i>>2]|0;g=12;break}}else{h=0;d=e;g=12}}while(0);a:do if((g|0)==12){d=c[d+224>>2]|0;if(!d){j=0;k=h}else{e=d+16|0;d=c[e>>2]|0;f=(a[d+159>>0]|0)==3&1;while(1){d=c[c[d+172>>2]>>2]|0;if(!d){j=f;k=h;break a}i=c[((c[d>>2]&3|0)==3?d:d+48|0)+40>>2]|0;if((i|0)!=(RL(i)|0))break;vk(d);d=c[e>>2]|0}qa(87044,86939,353,87031)}}while(0);c[b>>2]=j;c[b+4>>2]=k;return}function Ej(a,d){a=a|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0;j=a+16|0;i=c[j>>2]|0;if((c[i+228>>2]|0)==0?(c[i+224>>2]|0)==0:0)d=0;else e=3;a:do if((e|0)==3){g=Ry(a)|0;i=d+4|0;h=c[d>>2]&65535;d=0;while(1){if(!g)break a;if((g|0)==(RL(g)|0)){f=g+16|0;e=c[f>>2]|0;if((c[e+184>>2]|0)==0?(k=c[(c[j>>2]|0)+228>>2]|0,!((k|0)==0|(g|0)==(k|0))):0){d=oh(g,k,0)|0;e=c[d+16>>2]|0;b[e+170>>1]=c[i>>2];c[e+156>>2]=0;e=c[f>>2]|0}if((c[e+176>>2]|0)==0?(l=c[(c[j>>2]|0)+224>>2]|0,!((l|0)==0|(g|0)==(l|0))):0){d=oh(l,g,0)|0;f=c[d+16>>2]|0;b[f+170>>1]=h;c[f+156>>2]=0}}g=Sy(a,g)|0}}while(0);return (d|0)!=0|0}function Fj(d,e){d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0;g=Ry(d)|0;k=d+16|0;f=c[k>>2]|0;a:do if(g){b[f+236>>1]=32767;b[f+238>>1]=-1;j=(e|0)==0;while(1){if(!g)break;f=RL(g)|0;i=c[g+16>>2]|0;e=c[i+232>>2]|0;do if((f|0)!=(g|0)){if(!j)if(!e)e=0;else break;e=e+(c[(c[f+16>>2]|0)+232>>2]|0)|0;c[i+232>>2]=e}while(0);f=c[k>>2]|0;h=f+238|0;if((e|0)>(b[h>>1]|0))b[h>>1]=e;f=f+236|0;if((e|0)<(b[f>>1]|0))b[f>>1]=e;switch(a[i+159>>0]|0){case 6:case 0:break;default:TL(g)}g=Sy(d,g)|0}if((hg(d)|0)==(d|0)){if((c[46364]|0)==100)e=1;else{Jj(d);break}while(1){f=c[k>>2]|0;if((e|0)>(c[f+180>>2]|0))break a;Ij(c[(c[f+184>>2]|0)+(e<<2)>>2]|0);e=e+1|0}}}else{b[f+238>>1]=0;b[f+236>>1]=0}while(0);return}function Gj(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;j=b+16|0;e=0;while(1){d=c[j>>2]|0;if((e|0)>=(c[d+220>>2]|0))break;i=c[(c[d+216>>2]|0)+(e<<2)>>2]|0;c[d+192>>2]=i;d=i;while(1){if(!d)break;i=d+16|0;Hj((c[i>>2]|0)+172|0);Hj((c[i>>2]|0)+180|0);i=c[i>>2]|0;a[i+157>>0]=0;d=c[i+164>>2]|0}e=e+1|0}i=Ry(b)|0;while(1){if(!i)break;h=Dx(b,i)|0;while(1){if(!h)break;f=h+16|0;d=c[f>>2]|0;g=c[d+172>>2]|0;if((g|0)!=0?(k=g+16|0,(h|0)==(c[(c[k>>2]|0)+116>>2]|0)):0){d=Ry(b)|0;while(1){if(!d)break;e=Dx(b,d)|0;while(1){if(!e)break;if((h|0)!=(e|0)?(l=(c[e+16>>2]|0)+172|0,m=c[l>>2]|0,(m|0)!=0&(g|0)==(m|0)):0)c[l>>2]=0;e=Fx(b,e)|0}d=Sy(b,d)|0}C_(c[k>>2]|0);C_(g);d=c[f>>2]|0}c[d+172>>2]=0;h=Fx(b,h)|0}i=Sy(b,i)|0}C_(c[(c[j>>2]|0)+216>>2]|0);m=c[j>>2]|0;c[m+216>>2]=0;c[m+220>>2]=0;return}function Hj(a){a=a|0;var b=0,d=0;d=a+4|0;b=c[d>>2]|0;while(1){if((b|0)<=-1)break;c[(c[a>>2]|0)+(b<<2)>>2]=0;b=b+-1|0}c[d>>2]=0;return}function Ij(a){a=a|0;var d=0,f=0,g=0;d=a+16|0;f=c[d>>2]|0;g=c[(c[(c[f+264>>2]|0)+16>>2]|0)+232>>2]|0;a=f+236|0;b[a>>1]=g+(e[a>>1]|0);a=f+238|0;b[a>>1]=g+(e[a>>1]|0);a=1;while(1){if((a|0)>(c[f+180>>2]|0))break;Ij(c[(c[f+184>>2]|0)+(a<<2)>>2]|0);a=a+1|0;f=c[d>>2]|0}return}function Jj(b){b=b|0;var d=0;d=vA(hg(b)|0)|0;while(1){if(!d)break;if((a[(c[d+16>>2]|0)+274>>0]|0)==7)Kj(b,d);d=wA(d)|0}return}function Kj(a,b){a=a|0;b=b|0;var d=0;d=(c[b+16>>2]|0)+200|0;do if((c[d>>2]|0)==0?(c[d>>2]=a,Lj(a,b),Ry(b)|0):0){Mj(a,b);if((c[46364]|0)==100){Aj(b,0);Nj(b);break}else{wj(b);break}}while(0);return}function Lj(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0;h=b+16|0;g=Ry(d)|0;while(1){if(!g)break;i=Sy(d,g)|0;j=g+16|0;if(!(a[(c[j>>2]|0)+159>>0]|0))f=1;else{cz(d,g)|0;g=i;continue}while(1){e=c[h>>2]|0;b=c[e+180>>2]|0;if((f|0)>=(b|0))break;if(nz(c[(c[e+184>>2]|0)+(f<<2)>>2]|0,g)|0){k=7;break}f=f+1|0}if((k|0)==7){k=0;b=c[(c[h>>2]|0)+180>>2]|0}if((f|0)<(b|0))cz(d,g)|0;c[(c[j>>2]|0)+212>>2]=0;g=i}e=Ry(d)|0;while(1){if(!e)break;b=Dx(hg(d)|0,e)|0;while(1){if(!b)break;if(nz(d,c[((c[b>>2]&3|0)==2?b:b+-48|0)+40>>2]|0)|0)Ux(d,b,1)|0;b=Fx(hg(d)|0,b)|0}e=Sy(d,e)|0}return}function Mj(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;e=a+16|0;d=c[e>>2]|0;g=d+180|0;a=c[g>>2]|0;f=a+1|0;c[g>>2]=f;d=c[d+184>>2]|0;if(!d)a=tH((a<<2)+8|0)|0;else a=vH(d,a+2|0,4,f)|0;c[(c[e>>2]|0)+184>>2]=a;c[a+(f<<2)>>2]=b;eH(b);return}function Nj(b){b=b|0;var d=0,e=0,f=0,g=0,h=0;g=c[b+16>>2]|0;d=g+192|0;h=0;while(1){d=c[d>>2]|0;if(!d)break;f=c[d+16>>2]|0;if(!(c[f+232>>2]|0))e=(a[f+156>>0]|0)==0?d:h;else e=h;d=f+164|0;h=e}if(!h)qa(86924,86939,238,86946);c[g+264>>2]=h;d=Ry(b)|0;while(1){if(!d){d=13;break}e=d+16|0;if(!((d|0)==(h|0)?1:(c[(c[e>>2]|0)+216>>2]|0)<2)){d=11;break}SL(d,h)|0;a[(c[e>>2]|0)+159>>0]=7;d=Sy(b,d)|0}if((d|0)==11)qa(86961,86939,242,86946);else if((d|0)==13)return}function Oj(b){b=b|0;var d=0;if(!(Qj(b)|0)){d=$L(wx(b,87076)|0,17356,17380)|0;a[(c[b+16>>2]|0)+274>>0]=d;b=d}else b=7;return b|0}function Pj(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0;g=Ry(d)|0;a:do if(g|0){j=e&255;i=g+16|0;f=g;h=j;while(1){a[(c[f+16>>2]|0)+159>>0]=h;f=Sy(d,f)|0;if(!f)break;SL(g,f)|0;h=a[(c[i>>2]|0)+159>>0]|0}switch(e|0){case 3:case 2:{b=b+16|0;f=c[b>>2]|0;h=c[f+224>>2]|0;if(h){g=SL(h,g)|0;f=c[b>>2]|0}c[f+224>>2]=g;break}case 5:case 4:{b=b+16|0;f=c[b>>2]|0;h=c[f+228>>2]|0;if(h){g=SL(h,g)|0;f=c[b>>2]|0}c[f+228>>2]=g;break}default:break a}switch(e|0){case 3:{f=f+224|0;break}case 5:{f=f+228|0;break}default:break a}a[(c[(c[f>>2]|0)+16>>2]|0)+159>>0]=j}while(0);return}function Qj(a){a=a|0;return (y$(qy(a)|0,104980,7)|0)==0|0}function Rj(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0;m=l;l=l+16|0;g=m;if(!(kk(b)|0)){do if(pM(b)|0)if(!d){c[(c[b+16>>2]|0)+204>>2]=0;d=b;break}else{c[(c[b+16>>2]|0)+204>>2]=(c[(c[d+16>>2]|0)+204>>2]|0)+1;lk(b,d);d=b;break}while(0);e=vA(b)|0;while(1){if(!e)break;Rj(e,d);e=wA(e)|0}a:do if(pM(b)|0){e=Ry(b)|0;while(1){if(!e)break a;f=(c[e+16>>2]|0)+212|0;if(!(c[f>>2]|0))c[f>>2]=b;e=Sy(b,e)|0}}while(0);switch(mk(b)|0){case 3:{d=d+16|0;a[(c[d>>2]|0)+241>>0]=1;k=19;break}case 2:{d=d+16|0;k=19;break}case 5:{d=d+16|0;a[(c[d>>2]|0)+242>>0]=1;k=21;break}case 4:{d=d+16|0;k=21;break}case 1:{nk(b)|0;break}case 6:break;default:{e=qy(b)|0;f=wx(b,87076)|0;c[g>>2]=e;c[g+4>>2]=f;Ow(0,87259,g)|0}}if((k|0)==19){k=nk(b)|0;k=ok(k,c[(c[d>>2]|0)+208>>2]|0)|0;c[(c[d>>2]|0)+208>>2]=k}else if((k|0)==21){k=nk(b)|0;k=ok(k,c[(c[d>>2]|0)+212>>2]|0)|0;c[(c[d>>2]|0)+212>>2]=k}if((pM(b)|0?(h=b+16|0,i=c[h>>2]|0,j=c[i+208>>2]|0,j|0):0)?(j|0)==(c[i+212>>2]|0):0){j=nk(b)|0;k=c[h>>2]|0;c[k+208>>2]=j;c[k+212>>2]=j}}l=m;return}function Sj(a,b){a=a|0;b=b|0;var d=0,e=0;c[45977]=0;d=Ry(a)|0;while(1){if(!d)break;if((Zj(d)|0)==(d|0)){e=ak(b,qy(d)|0)|0;c[(c[d+16>>2]|0)+148>>2]=e}d=Sy(a,d)|0}d=Ry(a)|0;while(1){if(!d)break;b=d+16|0;if(!(c[(c[b>>2]|0)+148>>2]|0)){e=c[(c[(Zj(d)|0)+16>>2]|0)+148>>2]|0;c[(c[b>>2]|0)+148>>2]=e}d=Sy(a,d)|0}return}function Tj(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0;h=Ry(a)|0;while(1){if(!h)break;d=c[(c[h+16>>2]|0)+148>>2]|0;i=Dx(a,h)|0;while(1){if(!i)break;do if((fk(i)|0)==0?(j=i+-48|0,k=c[(c[(Zj(c[((c[i>>2]&3|0)==2?i:j)+40>>2]|0)|0)+16>>2]|0)+148>>2]|0,(d|0)!=(k|0)):0){f=c[i>>2]&3;g=i+48|0;e=((f|0)==3?i:g)+40|0;f=c[(c[(c[((f|0)==2?i:j)+40>>2]|0)+16>>2]|0)+212>>2]|0;if(!(gk(i)|0)){if((ek(c[(c[(c[e>>2]|0)+16>>2]|0)+212>>2]|0)|0)==0?(ek(f)|0)==0:0){hk(b,d,k,i);break}ik(b,d,k,i);break}else{f=Zj(c[e>>2]|0)|0;e=c[i>>2]&3;if((f|0)!=(c[(c[(c[(c[(c[((e|0)==3?i:g)+40>>2]|0)+16>>2]|0)+212>>2]|0)+16>>2]|0)+212>>2]|0)?(g=Zj(c[((e|0)==2?i:j)+40>>2]|0)|0,(g|0)!=(c[(c[(c[(c[(c[((c[i>>2]&3|0)==2?i:j)+40>>2]|0)+16>>2]|0)+212>>2]|0)+16>>2]|0)+208>>2]|0)):0)e=k;else{e=d;d=k}hk(b,d,e,i);break}}while(0);i=Fx(a,i)|0}h=Sy(a,h)|0}return}function Uj(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0;if((pM(a)|0)!=0?(ek(a)|0)!=0:0){g=Ry(a)|0;while(1){if(!g)break;if(!(Gx(a,g)|0)){f=c[(c[(Zj(g)|0)+16>>2]|0)+148>>2]|0;if(!d)d=ak(b,87157)|0;Qx(b,d,f,0,1)|0}if(!(Dx(a,g)|0)){f=c[(c[(Zj(g)|0)+16>>2]|0)+148>>2]|0;if(!e)e=ak(b,87162)|0;Qx(b,f,e,0,1)|0}g=Sy(a,g)|0}if((e|0)!=0&(d|0)!=0){dk(Qx(b,d,e,0,1)|0,0,1e3);f=d}else f=d}else f=d;d=vA(a)|0;while(1){if(!d)break;Uj(d,b,f,e);d=wA(d)|0}return}function Vj(b){b=b|0;var d=0,e=0;d=Ry(b)|0;while(1){if(!d)break;e=c[d+16>>2]|0;a[e+158>>0]=0;a[e+157>>0]=0;d=Sy(b,d)|0}d=Ry(b)|0;while(1){if(!d)break;bk(b,d);d=Sy(b,d)|0}return}function Wj(a){a=a|0;var b=0,d=0,e=0,f=0;b=Ry(a)|0;while(1){if(!b)break;c[(c[b+16>>2]|0)+128>>2]=0;b=Sy(a,b)|0}b=0;e=Ry(a)|0;while(1){if(!e)break;d=b+1|0;if(!(c[(c[e+16>>2]|0)+128>>2]|0)){$j(a,e,d);b=d}e=Sy(a,e)|0}a:do if((b|0)>1){f=ak(a,87151)|0;d=1;e=Ry(a)|0;while(1){if(!e)break a;if((c[(c[e+16>>2]|0)+128>>2]|0)==(d|0)){Qx(a,f,e,0,1)|0;d=d+1|0}e=Sy(a,e)|0}}while(0);return b|0}function Xj(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0;g=Ry(a)|0;while(1){if(!g)break;h=g+16|0;f=Dx(a,g)|0;while(1){if(!f)break;b=c[h>>2]|0;d=c[b+180>>2]|0;if(!d)b=uH((c[b+184>>2]<<2)+8|0)|0;else b=wH(d,(c[b+184>>2]<<2)+8|0)|0;d=c[h>>2]|0;c[d+180>>2]=b;d=d+184|0;e=c[d>>2]|0;c[d>>2]=e+1;c[b+(e<<2)>>2]=f;e=c[h>>2]|0;c[(c[e+180>>2]|0)+(c[e+184>>2]<<2)>>2]=0;e=f+-48|0;b=c[(c[((c[f>>2]&3|0)==2?f:e)+40>>2]|0)+16>>2]|0;d=c[b+172>>2]|0;if(!d)b=uH((c[b+176>>2]<<2)+8|0)|0;else b=wH(d,(c[b+176>>2]<<2)+8|0)|0;c[(c[(c[((c[f>>2]&3|0)==2?f:e)+40>>2]|0)+16>>2]|0)+172>>2]=b;i=c[(c[((c[f>>2]&3|0)==2?f:e)+40>>2]|0)+16>>2]|0;b=c[i+172>>2]|0;i=i+176|0;d=c[i>>2]|0;c[i>>2]=d+1;c[b+(d<<2)>>2]=f;e=c[(c[((c[f>>2]&3|0)==2?f:e)+40>>2]|0)+16>>2]|0;c[(c[e+172>>2]|0)+(c[e+176>>2]<<2)>>2]=0;f=Fx(a,f)|0}g=Sy(a,g)|0}return}function Yj(a,d,f){a=a|0;d=d|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;n=a+16|0;o=c[n>>2]|0;b[o+236>>1]=32767;b[o+238>>1]=-1;a:do if((f|0)>1){h=tH((f<<2)+4|0)|0;g=f+1|0;f=1;while(1){if((f|0)==(g|0)){m=h;o=h;break a}c[h+(f<<2)>>2]=32767;f=f+1|0}}else{m=0;o=0}while(0);i=(m|0)==0;h=Ry(a)|0;while(1){if(!h)break;j=c[(c[(c[(Zj(h)|0)+16>>2]|0)+148>>2]|0)+16>>2]|0;k=c[j+232>>2]|0;l=c[h+16>>2]|0;c[l+232>>2]=k;f=c[n>>2]|0;g=f+238|0;if((k|0)>(b[g>>1]|0))b[g>>1]=k;f=f+236|0;if((k|0)<(b[f>>1]|0))b[f>>1]=k;if(!i){j=c[j+128>>2]|0;c[l+128>>2]=j;l=m+(j<<2)|0;j=c[l>>2]|0;c[l>>2]=(j|0)<(k|0)?j:k}h=Sy(a,h)|0}j=(m|0)!=0;b:do if(!j){m=b[(c[n>>2]|0)+236>>1]|0;g=m<<16>>16;if(m<<16>>16>0){f=Ry(a)|0;while(1){if(!f)break;m=(c[f+16>>2]|0)+232|0;c[m>>2]=(c[m>>2]|0)-g;f=Sy(a,f)|0}f=c[n>>2]|0;n=f+236|0;b[n>>1]=(e[n>>1]|0)-g;f=f+238|0;b[f>>1]=(e[f>>1]|0)-g;f=0}else f=0}else{f=Ry(a)|0;while(1){if(!f){f=1;break b}l=c[f+16>>2]|0;n=l+232|0;c[n>>2]=(c[n>>2]|0)-(c[m+(c[l+128>>2]<<2)>>2]|0);f=Sy(a,f)|0}}while(0);_j(a,f);i=Ry(d)|0;while(1){if(!i)break;g=i+16|0;f=c[g>>2]|0;h=c[f+172>>2]|0;if(h){C_(h);f=c[g>>2]|0}f=c[f+180>>2]|0;if(f|0)C_(f);i=Sy(d,i)|0}C_(c[(c[(Ry(a)|0)+16>>2]|0)+112>>2]|0);f=Ry(a)|0;while(1){if(!f)break;c[(c[f+16>>2]|0)+112>>2]=0;f=Sy(a,f)|0}if(j)C_(o);return}function Zj(a){a=a|0;var b=0,d=0,e=0;b=a+16|0;d=(c[b>>2]|0)+152|0;e=c[d>>2]|0;if(e){if((e|0)!=(a|0)){e=Zj(e)|0;c[(c[b>>2]|0)+152>>2]=e;return e|0}}else c[d>>2]=a;return a|0}function _j(a,d){a=a|0;d=d|0;var e=0,f=0,g=0,h=0,i=0;i=a+16|0;e=1;while(1){f=c[i>>2]|0;if((e|0)>(c[f+180>>2]|0))break;_j(c[(c[f+184>>2]|0)+(e<<2)>>2]|0,0);e=e+1|0}if((d|0)!=0|(c[f+200>>2]|0)!=0){b[f+236>>1]=32767;b[f+238>>1]=-1;e=0;h=Ry(a)|0;while(1){if(!h)break;g=c[(c[h+16>>2]|0)+232>>2]|0;d=c[i>>2]|0;f=d+238|0;if((g|0)>(b[f>>1]|0))b[f>>1]=g;d=d+236|0;if((g|0)<(b[d>>1]|0)){b[d>>1]=g;e=h}h=Sy(a,h)|0}c[(c[i>>2]|0)+264>>2]=e}return}function $j(a,b,d){a=a|0;b=b|0;d=d|0;var e=0;e=(c[b+16>>2]|0)+128|0;a:do if(!(c[e>>2]|0)){c[e>>2]=d;e=Dx(a,b)|0;while(1){if(!e)break;$j(a,c[((c[e>>2]&3|0)==2?e:e+-48|0)+40>>2]|0,d);e=Fx(a,e)|0}e=Gx(a,b)|0;while(1){if(!e)break a;$j(a,c[((c[e>>2]&3|0)==3?e:e+48|0)+40>>2]|0,d);e=Hx(a,e)|0}}while(0);return}function ak(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;f=$y(a,b,1)|0;b=f+16|0;c[(c[b>>2]|0)+176>>2]=0;e=tH(20)|0;d=c[b>>2]|0;c[d+172>>2]=e;c[d+184>>2]=0;d=tH(20)|0;b=c[b>>2]|0;c[b+180>>2]=d;d=c[45977]|0;e=b+168|0;if(!d){c[e>>2]=0;c[(c[a+16>>2]|0)+192>>2]=f}else{c[e>>2]=d;c[(c[d+16>>2]|0)+164>>2]=f}c[45977]=f;c[b+164>>2]=0;return f|0}function bk(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0;h=d+16|0;e=c[h>>2]|0;f=e+157|0;if(!(a[f>>0]|0)){a[f>>0]=1;a[e+158>>0]=1;d=Dx(b,d)|0;while(1){if(!d)break;e=Fx(b,d)|0;f=c[((c[d>>2]&3|0)==2?d:d+-48|0)+40>>2]|0;g=c[f+16>>2]|0;if(a[g+158>>0]|0){ck(b,d);d=e;continue}if(a[g+157>>0]|0){d=e;continue}bk(b,f);d=e}a[(c[h>>2]|0)+158>>0]=0}return}function ck(a,b){a=a|0;b=b|0;var d=0,f=0,g=0;d=c[b>>2]&3;g=b+-48|0;f=b+48|0;d=Qx(a,c[((d|0)==2?b:g)+40>>2]|0,c[((d|0)==3?b:f)+40>>2]|0,0,0)|0;if(!d){d=c[b>>2]&3;d=Qx(a,c[((d|0)==2?b:g)+40>>2]|0,c[((d|0)==3?b:f)+40>>2]|0,0,1)|0}g=c[b+16>>2]|0;dk(d,e[g+170>>1]|0,c[g+156>>2]|0);cz(a,b)|0;return}function dk(a,d,f){a=a|0;d=d|0;f=f|0;var g=0,h=0;a=c[a+16>>2]|0;g=a+170|0;h=e[g>>1]|0;b[g>>1]=(h|0)>(d|0)?h:d;d=a+156|0;c[d>>2]=(c[d>>2]|0)+f;return}function ek(a){a=a|0;return (QL(wx(a,87167)|0,0)|0)&255|0}function fk(b){b=b|0;var d=0,e=0;d=c[46419]|0;if((((d|0)!=0?(e=xx(b,d)|0,(e|0)!=0):0)?(a[e>>0]|0)!=0:0)?(PL(e)|0)<<24>>24==0:0)b=1;else b=0;return b|0}function gk(a){a=a|0;var b=0,d=0;d=c[a>>2]&3;b=c[(c[(c[((d|0)==3?a:a+48|0)+40>>2]|0)+16>>2]|0)+212>>2]|0;a=c[(c[(c[((d|0)==2?a:a+-48|0)+40>>2]|0)+16>>2]|0)+212>>2]|0;if((b|0)==(a|0))return 1;else{d=jk(b,a)|0;return ((d|0)==(b|0)|(d|0)==(a|0))&1|0}return 0}function hk(a,b,d,f){a=a|0;b=b|0;d=d|0;f=f|0;var g=0,h=0,i=0,j=0;j=l;l=l+16|0;h=j;g=Qx(a,b,d,0,0)|0;if(!g){g=Qx(a,d,b,0,0)|0;if(!g){g=Qx(a,b,d,0,1)|0;if(!g){b=qy(b)|0;f=qy(d)|0;c[h>>2]=b;c[h+4>>2]=f;Ow(1,87184,h)|0}else i=4}else i=4}else i=4;if((i|0)==4){i=c[f+16>>2]|0;dk(g,e[i+170>>1]|0,c[i+156>>2]|0)}l=j;return}function ik(a,d,f,g){a=a|0;d=d|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,m=0,n=0;m=l;l=l+112|0;j=m;i=m+4|0;h=Gx(a,d)|0;while(1){if(!h){k=6;break}n=Dx(a,c[((c[h>>2]&3|0)==3?h:h+48|0)+40>>2]|0)|0;if(n|0?(c[((c[n>>2]&3|0)==2?n:n+-48|0)+40>>2]|0)==(f|0):0)break;h=Hx(a,h)|0}if((k|0)==6){n=c[45978]|0;c[45978]=n+1;c[j>>2]=n;X0(i,87175,j)|0;i=ak(a,i)|0;n=Qx(a,i,d,0,1)|0;i=Qx(a,i,f,0,1)|0;f=c[g+16>>2]|0;k=f+156|0;n=(c[n+16>>2]|0)+156|0;c[n>>2]=(c[n>>2]|0)+((c[k>>2]|0)*1e3|0);n=c[i+16>>2]|0;j=n+170|0;b[j>>1]=b[(c[((e[j>>1]|0)>(e[f+170>>1]|0)?i:g)+16>>2]|0)+170>>1]|0;n=n+156|0;c[n>>2]=(c[n>>2]|0)+(c[k>>2]|0)}l=m;return}function jk(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;a:while(1){e=a+16|0;while(1){if((a|0)==(b|0))break a;f=c[e>>2]|0;d=c[b+16>>2]|0;if((c[f+204>>2]|0)>=(c[d+204>>2]|0))break;b=c[d+200>>2]|0}a=c[f+200>>2]|0}return a|0}function kk(a){a=a|0;return (Ry(a)|0)==0|0}function lk(a,b){a=a|0;b=b|0;c[(c[a+16>>2]|0)+200>>2]=b;Mj(b,a);Lj(b,a);return}function mk(b){b=b|0;var c=0;b=wx(b,87076)|0;if((b|0)!=0?(a[b>>0]|0)!=0:0)if(a$(b,87086)|0)if(a$(b,87090)|0)if(a$(b,87097)|0)if(a$(b,87101)|0)if(!(a$(b,87081)|0))b=1;else c=8;else b=5;else b=4;else b=3;else b=2;else c=8;if((c|0)==8)b=6;return b|0}function nk(a){a=a|0;var b=0,c=0;c=Ry(a)|0;a:do if(!c)b=0;else{b=Zj(c)|0;while(1){c=Sy(a,c)|0;if(!c)break a;ok(b,c)|0}}while(0);return b|0}function ok(a,b){a=a|0;b=b|0;if(b){a=Zj(a)|0;c[(c[(Zj(b)|0)+16>>2]|0)+152>>2]=a}return a|0}function pk(a,b,d){a=a|0;b=b|0;d=d|0;zz(b,87135,c[d>>2]|0,1)|0;return}function qk(a,b,d){a=a|0;b=b|0;d=d|0;zz(b,87302,c[d+4>>2]|0,1)|0;return}function rk(a,b,d){a=a|0;b=b|0;d=d|0;zz(b,87287,c[d+8>>2]|0,1)|0;return}function sk(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0;p=l;l=l+240|0;m=p+120|0;n=p;c[46423]=mx(b,2,87317,0)|0;k=mx(b,2,87326,0)|0;c[46424]=k;a:do if((k|0)!=0|(c[46423]|0)!=0){k=Ry(b)|0;while(1){if(!k)break a;j=0;d=0;i=Ix(b,k)|0;while(1){if(!i){f=0;break}e=c[i>>2]|0;g=e&3;f=c[((g|0)==2?i:i+-48|0)+40>>2]|0;h=i+48|0;b:do if((f|0)!=(c[((g|0)==3?i:h)+40>>2]|0)){g=c[46423]|0;do if((f|0)==(k|0)&(g|0)!=0){f=xx(i,g)|0;if(!(a[f>>0]|0)){e=c[i>>2]|0;break}else{e=j;d=tk(m,d,k,i,f)|0;break b}}while(0);f=c[46424]|0;if((f|0?(c[((e&3|0)==3?i:h)+40>>2]|0)==(k|0):0)?(o=xx(i,f)|0,(a[o>>0]|0)!=0):0)e=tk(n,j,k,i,o)|0;else e=j}else e=j;while(0);j=e;i=Jx(b,i,k)|0}while(1){if((f|0)>=(d|0)){e=0;break}e=m+(f*24|0)+4|0;if((c[m+(f*24|0)+8>>2]|0)>1)uk(k,e);e=c[e>>2]|0;if(e|0)C_(e);f=f+1|0}while(1){if((e|0)>=(j|0))break;d=n+(e*24|0)+4|0;if((c[n+(e*24|0)+8>>2]|0)>1)uk(k,d);d=c[d>>2]|0;if(d|0)C_(d);e=e+1|0}k=Sy(b,k)|0}}while(0);l=p;return}function tk(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var i=0.0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;p=l;l=l+16|0;k=p;m=p+12|0;n=p+8|0;o=0;while(1){if((o|0)>=(d|0)){j=10;break}j=c[b+(o*24|0)>>2]|0;if((a[j>>0]|0)==(a[g>>0]|0)?(a$(j,g)|0)==0:0){j=5;break}o=o+1|0}do if((j|0)==5){k=b+(o*24|0)+4|0;j=c[k>>2]|0;if(!j){j=b+(o*24|0)+8|0;g=j;j=uH((c[j>>2]<<2)+8|0)|0}else{q=b+(o*24|0)+8|0;g=q;j=wH(j,(c[q>>2]<<2)+8|0)|0}c[k>>2]=j;r=c[g>>2]|0;q=r+1|0;c[g>>2]=q;c[j+(r<<2)>>2]=f;c[(c[k>>2]|0)+(q<<2)>>2]=0;j=13}else if((j|0)==10)if((d|0)>4){r=qy(e)|0;c[k>>2]=5;c[k+4>>2]=r;Ow(1,87335,k)|0;break}else{s=b+(o*24|0)+8|0;c[s>>2]=0;k=tH(8)|0;r=b+(o*24|0)+4|0;c[r>>2]=k;q=c[s>>2]|0;j=q+1|0;c[s>>2]=j;c[k+(q<<2)>>2]=f;c[(c[r>>2]|0)+(j<<2)>>2]=0;c[b+(o*24|0)>>2]=g;c[b+(o*24|0)+12>>2]=0;h[b+(o*24|0)+16>>3]=0.0;d=d+1|0;j=13;break}while(0);if((j|0)==13){rE(f,m,n);j=(c[((c[f>>2]&3|0)==2?f:f+-48|0)+40>>2]|0)==(e|0)?c[n>>2]|0:c[m>>2]|0;if(j){r=b+(o*24|0)+12|0;s=c[r>>2]|0;c[r>>2]=s+1;if(!s)i=+vE(f,j);else i=0.0;h[b+(o*24|0)+16>>3]=i}}l=p;return d|0}function uk(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,i=0,j=0.0,k=0.0,m=0.0,n=0,o=0.0,p=0.0,q=0.0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0.0;x=l;l=l+80|0;t=x+68|0;u=x+64|0;r=x;v=d+4|0;n=c[v>>2]|0;w=b+16|0;i=0;p=0.0;q=0.0;while(1){if((i|0)>=(n|0))break;f=c[(c[d>>2]|0)+(i<<2)>>2]|0;g=c[f>>2]&3;e=c[((g|0)==2?f:f+-48|0)+40>>2]|0;if((e|0)==(b|0))e=c[((g|0)==3?f:f+48|0)+40>>2]|0;g=c[e+16>>2]|0;s=c[w>>2]|0;k=+h[g+16>>3]-+h[s+16>>3];m=+h[g+24>>3]-+h[s+24>>3];o=+t$(k,m);i=i+1|0;p=k/o+p;q=m/o+q}j=+t$(p,q);s=c[w>>2]|0;k=+h[s+16>>3];m=+h[s+24>>3];y=+h[s+96>>3]+ +h[s+88>>3];o=+h[s+80>>3];s=y>o+ +(c[(c[(dz(b)|0)+16>>2]|0)+252>>2]|0);e=c[w>>2]|0;if(s)o=+h[e+96>>3]+ +h[e+88>>3];else{o=+h[e+80>>3];o=o+ +(c[(c[(dz(b)|0)+16>>2]|0)+252>>2]|0);e=c[w>>2]|0}y=+h[e+16>>3]+o*(p/j);j=+h[e+24>>3]+o*(q/j);h[r>>3]=k;n=r+8|0;h[n>>3]=m;h[r+16>>3]=(y+k*2.0)*.3333333333333333;h[r+24>>3]=(j+m*2.0)*.3333333333333333;h[r+32>>3]=(y*2.0+k)*.3333333333333333;h[r+40>>3]=(j*2.0+m)*.3333333333333333;h[r+48>>3]=y;h[r+56>>3]=j;MK(b,r);s=c[w>>2]|0;j=+h[r>>3]-+h[s+16>>3];k=+h[n>>3]-+h[s+24>>3];j=+(~~(j+(j>=0.0?.5:-.5))|0);k=+(~~(k+(k>=0.0?.5:-.5))|0);y=+h[s+88>>3];s=~~((y+j)*256.0/(+h[s+96>>3]+y))&255;r=0;while(1){if((r|0)>=(c[v>>2]|0))break;n=c[(c[d>>2]|0)+(r<<2)>>2]|0;rE(n,t,u);while(1){if(!n)break;else g=n;while(1){if(!g){i=n;break}e=c[g>>2]|0;i=g+-48|0;if((c[((e&3|0)==2?g:i)+40>>2]|0)==(b|0)){e=c[g+16>>2]|0;h[e+56>>3]=j;h[e+64>>3]=k;h[e+72>>3]=0.0;c[e+80>>2]=0;a[e+84>>0]=1;a[e+85>>0]=0;a[e+86>>0]=0;a[e+87>>0]=0;a[e+88>>0]=s;a[e+89>>0]=0;c[e+92>>2]=0;e=c[g>>2]|0}f=g+16|0;if((c[((e&3|0)==3?g:g+48|0)+40>>2]|0)==(b|0)){e=c[f>>2]|0;h[e+16>>3]=j;h[e+24>>3]=k;h[e+32>>3]=0.0;c[e+40>>2]=0;a[e+44>>0]=1;a[e+45>>0]=0;a[e+46>>0]=0;a[e+47>>0]=0;a[e+48>>0]=s;a[e+49>>0]=0;c[e+52>>2]=0}if((a[(c[f>>2]|0)+112>>0]|0)!=1){g=0;continue}e=c[(c[((c[g>>2]&3|0)==2?g:i)+40>>2]|0)+16>>2]|0;if((a[e+156>>0]|0)!=1){g=0;continue}if((c[e+184>>2]|0)!=1){g=0;continue}g=c[c[e+180>>2]>>2]|0}while(1){if(!i)break;e=c[i>>2]|0;if((c[((e&3|0)==2?i:i+-48|0)+40>>2]|0)==(b|0)){e=c[i+16>>2]|0;h[e+56>>3]=j;h[e+64>>3]=k;h[e+72>>3]=0.0;c[e+80>>2]=0;a[e+84>>0]=1;a[e+85>>0]=0;a[e+86>>0]=0;a[e+87>>0]=0;a[e+88>>0]=s;a[e+89>>0]=0;c[e+92>>2]=0;e=c[i>>2]|0}f=i+48|0;g=i+16|0;if((c[((e&3|0)==3?i:f)+40>>2]|0)==(b|0)){e=c[g>>2]|0;h[e+16>>3]=j;h[e+24>>3]=k;h[e+32>>3]=0.0;c[e+40>>2]=0;a[e+44>>0]=1;a[e+45>>0]=0;a[e+46>>0]=0;a[e+47>>0]=0;a[e+48>>0]=s;a[e+49>>0]=0;c[e+52>>2]=0}if((a[(c[g>>2]|0)+112>>0]|0)!=1){i=0;continue}e=c[(c[((c[i>>2]&3|0)==3?i:f)+40>>2]|0)+16>>2]|0;if((a[e+156>>0]|0)!=1){i=0;continue}if((c[e+176>>2]|0)!=1){i=0;continue}i=c[c[e+172>>2]>>2]|0}n=c[(c[n+16>>2]|0)+172>>2]|0}r=r+1|0}a[(c[w>>2]|0)+145>>0]=1;l=x;return}function vk(a){a=a|0;var b=0,d=0,e=0;jh(a);b=c[a>>2]&3;d=a+-48|0;e=a+48|0;b=eh(c[((b|0)==2?a:d)+40>>2]|0,c[((b|0)==3?a:e)+40>>2]|0)|0;if(!b){b=c[a>>2]&3;oh(c[((b|0)==2?a:d)+40>>2]|0,c[((b|0)==3?a:e)+40>>2]|0,a)|0}else wh(a,b);return}function wk(b){b=b|0;var d=0,e=0,f=0,g=0;f=b+16|0;e=0;while(1){b=c[f>>2]|0;if((e|0)>=(c[b+220>>2]|0))break;d=c[(c[b+216>>2]|0)+(e<<2)>>2]|0;c[b+192>>2]=d;b=d;d=b;while(1){if(!d)break;g=c[d+16>>2]|0;a[g+157>>0]=0;d=c[g+164>>2]|0}while(1){if(!b)break;xk(b);b=c[(c[b+16>>2]|0)+164>>2]|0}e=e+1|0}return}function xk(b){b=b|0;var d=0,e=0,f=0,g=0;g=b+16|0;d=c[g>>2]|0;b=d+157|0;if(!(a[b>>0]|0)){a[b>>0]=1;a[d+158>>0]=1;b=0;while(1){f=c[(c[d+180>>2]|0)+(b<<2)>>2]|0;if(!f)break;d=c[((c[f>>2]&3|0)==2?f:f+-48|0)+40>>2]|0;e=c[d+16>>2]|0;if(!(a[e+158>>0]|0)){if(!(a[e+157>>0]|0))xk(d)}else{vk(f);b=b+-1|0}b=b+1|0;d=c[g>>2]|0}a[d+158>>0]=0}return}function yk(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0;e=Ry(a)|0;b=0;while(1){if(!e)break;d=Dx(a,e)|0;while(1){if(!d)break;g=c[d>>2]&3;h=c[(c[(c[((g|0)==2?d:d+-48|0)+40>>2]|0)+16>>2]|0)+232>>2]|0;g=c[(c[(c[((g|0)==3?d:d+48|0)+40>>2]|0)+16>>2]|0)+232>>2]|0;f=h-g|0;d=Fx(a,d)|0;b=((h|0)==(g|0)?0:((f|0)>-1?f:0-f|0)+-1|0)+b|0}e=Sy(a,e)|0}return b|0}function zk(b){b=b|0;var d=0,e=0,f=0,g=0;e=Ry(b)|0;while(1){if(!e)break;g=c[e+16>>2]|0;f=c[g+176>>2]|0;g=g+172|0;d=0;while(1){if((d|0)>=(f|0))break;a[(c[(c[(c[g>>2]|0)+(d<<2)>>2]|0)+16>>2]|0)+112>>0]=0;d=d+1|0}e=Sy(b,e)|0}return}function Ak(a,b){a=a|0;b=b|0;var d=0,e=0.0,f=0.0,g=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0;q=l;l=l+16|0;o=q;j=c[b+24>>2]|0;Bk(a);k=(j|0)==-1;m=b+8|0;i=k^1;n=c[15686]|0;f=1797693134862315708145274.0e284;g=0;while(1){if(!(k|(g|0)<(j|0)))break;d=Ry(a)|0;while(1){if(!d)break;c[(c[d+16>>2]|0)+232>>2]=0;d=Sy(a,d)|0}xj(a);e=+Ck(a);h[m>>3]=e;if(0){h[o>>3]=e;f1(n,87387,o)|0;e=+h[m>>3]}if(!(!(e<=+h[b>>3])&(!(f<=e)|i))){p=9;break}Dk(a);f=e;g=g+1|0}if((p|0)==9){p=b+20|0;c[b+16>>2]=c[p>>2];c[p>>2]=g}xj(a);Ek(a);Fk();h[m>>3]=+Ck(a);l=q;return}function Bk(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,i=0,j=0,k=0,l=0.0,m=0.0,n=0;c[45982]=uH(($x(a)|0)*24|0)|0;c[45981]=0;b=Ry(a)|0;while(1){if(!b)break;c[(c[b+16>>2]|0)+120>>2]=-1;b=Sy(a,b)|0}i=Ry(a)|0;while(1){if(!i)break;j=i+16|0;do if(!(c[(c[j>>2]|0)+216>>2]|0)){f=tH(4)|0;g=c[45982]|0;k=c[45981]|0;c[g+(k*24|0)>>2]=f;c[f>>2]=i;c[g+(k*24|0)+4>>2]=1;j=c[j>>2]|0;h[g+(k*24|0)+8>>3]=+h[j+32>>3];h[g+(k*24|0)+16>>3]=+h[j+40>>3];c[j+120>>2]=k;c[45981]=k+1}else{g=RL(i)|0;k=g+16|0;b=c[k>>2]|0;d=c[b+120>>2]|0;if((d|0)>-1){g=c[45982]|0;f=c[g+(d*24|0)>>2]|0;e=g+(d*24|0)+4|0;k=c[e>>2]|0;c[e>>2]=k+1;c[f+(k<<2)>>2]=i;k=c[j>>2]|0;j=g+(d*24|0)+8|0;h[j>>3]=+h[j>>3]+ +h[k+32>>3];j=g+(d*24|0)+16|0;l=+h[j>>3];m=+h[k+40>>3];h[j>>3]=l>2]=d;break}d=tH(c[b+216>>2]<<2)|0;e=c[45982]|0;f=c[45981]|0;b=e+(f*24|0)|0;c[b>>2]=d;c[d>>2]=g;if((g|0)==(i|0)){h[e+(f*24|0)+8>>3]=+h[(c[k>>2]|0)+32>>3];d=1;b=i}else{c[(c[b>>2]|0)+4>>2]=i;n=c[k>>2]|0;b=c[j>>2]|0;h[e+(f*24|0)+8>>3]=+h[b+32>>3]+ +h[n+32>>3];d=2;b=+h[n+40>>3]<+h[b+40>>3]?i:g}c[e+(f*24|0)+4>>2]=d;h[e+(f*24|0)+16>>3]=+h[(c[b+16>>2]|0)+40>>3];c[(c[k>>2]|0)+120>>2]=f;c[(c[j>>2]|0)+120>>2]=f;c[45981]=f+1}while(0);i=Sy(a,i)|0}return}function Ck(a){a=a|0;var b=0.0,d=0.0,e=0,f=0,g=0,i=0.0,j=0.0;Ek(a);g=c[45979]|0;e=c[a+16>>2]|0;b=+(O(c[e+252>>2]|0,g+-1|0)|0);f=c[45980]|0;e=e+248|0;a=0;d=0.0;while(1){if((a|0)>=(g|0))break;i=+h[f+(a*40|0)+24>>3]+ +(O(c[e>>2]|0,c[f+(a*40|0)+16>>2]|0)|0);j=+h[f+(a*40|0)+32>>3]+b;a=a+1|0;b=j;d=d=($x(a)|0))break;c[(c[45983]|0)+(b<<2)>>2]=b;b=b+1|0}Ek(a);Gk(a);Hk(a);return}function Ek(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,i=0,j=0.0,k=0,l=0;c[45979]=0;b=c[45980]|0;if(b|0){e=0;while(1){if((e|0)>=(c[45981]|0))break;d=c[b+(e*40|0)+4>>2]|0;if(d){C_(d);b=c[45980]|0}d=c[b+(e*40|0)+8>>2]|0;if(d){C_(d);b=c[45980]|0}e=e+1|0}C_(b)}c[45980]=tH((c[45981]|0)*40|0)|0;b=0;while(1){d=c[45981]|0;if((b|0)>=(d|0))break;k=tH(d<<2)|0;c[(c[45980]|0)+(b*40|0)+4>>2]=k;k=tH(c[45981]<<2)|0;l=c[45980]|0;c[l+(b*40|0)+8>>2]=k;c[l+(b*40|0)>>2]=b;c[l+(b*40|0)+12>>2]=0;c[l+(b*40|0)+16>>2]=0;l=l+(b*40|0)+24|0;c[l>>2]=0;c[l+4>>2]=0;c[l+8>>2]=0;c[l+12>>2]=0;b=b+1|0}e=Ry(a)|0;while(1){if(!e)break;d=Dx(a,e)|0;while(1){if(!d)break;i=c[d>>2]|0;f=d+-48|0;g=c[45980]|0;b=c[(c[(c[((i&3|0)==3?d:d+48|0)+40>>2]|0)+16>>2]|0)+232>>2]|0;while(1){b=b+1|0;if((b|0)>=(c[(c[(c[((i&3|0)==2?d:f)+40>>2]|0)+16>>2]|0)+232>>2]|0))break;i=g+(b*40|0)+16|0;c[i>>2]=(c[i>>2]|0)+1;i=c[d>>2]|0}d=Fx(a,d)|0}e=Sy(a,e)|0}i=c[45981]|0;k=c[45982]|0;l=c[45980]|0;d=a+16|0;b=0;while(1){if((b|0)>=(i|0))break;e=(c[c[k+(b*24|0)>>2]>>2]|0)+16|0;f=c[(c[e>>2]|0)+232>>2]|0;if((f|0)>=(c[45979]|0))c[45979]=f+1;g=l+(f*40|0)+24|0;j=+h[g>>3];h[g>>3]=j+ +h[k+(b*24|0)+8>>3]*72.0+(j>0.0?+(c[(c[d>>2]|0)+248>>2]|0):0.0);g=l+(f*40|0)+32|0;j=+h[k+(b*24|0)+16>>3]*72.0;if(+h[g>>3]>3]=j;c[(c[l+(f*40|0)+4>>2]|0)+(c[l+(f*40|0)+12>>2]<<2)>>2]=k+(b*24|0);a=l+((c[(c[e>>2]|0)+232>>2]|0)*40|0)+12|0;c[a>>2]=(c[a>>2]|0)+1;b=b+1|0}return}function Fk(){var a=0,b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;k=c[45979]|0;l=c[45980]|0;j=0;b=0;a=0;while(1){if((j|0)>=(k|0))break;d=l+(j*40|0)|0;i=c[l+(j*40|0)+12>>2]|0;e=(b|0)==0;a:do if(i)if(!e){if((c[d>>2]|0)>(a|0)){f=l+(j*40|0)+4|0;d=0;while(1){if((d|0)>=(i|0))break a;g=c[(c[f>>2]|0)+(d<<2)>>2]|0;h=c[g+4>>2]|0;e=0;while(1){if((e|0)>=(h|0))break;m=(c[(c[(c[g>>2]|0)+(e<<2)>>2]|0)+16>>2]|0)+232|0;c[m>>2]=(c[m>>2]|0)-b;e=e+1|0}d=d+1|0}}}else b=0;else{if(e)a=c[d>>2]|0;b=b+1|0}while(0);j=j+1|0}return}function Gk(a){a=a|0;var b=0;b=c[45983]|0;Z0(b,$x(a)|0,4,63);return}function Hk(b){b=b|0;var d=0.0,e=0,f=0,g=0,i=0,j=0,k=0,l=0,m=0.0,n=0,o=0,p=0,q=0,r=0.0,s=0;j=c[45979]|0;k=c[45980]|0;g=c[45983]|0;i=0;while(1){if((i|0)>=(j|0)){e=0;d=0.0;break}e=c[g+(i<<2)>>2]|0;f=i+1|0;if((c[k+(e*40|0)+12>>2]|0)<2)i=f;else{l=4;break}}if((l|0)==4)if((j|0)>(f|0))d=+h[k+((c[g+(f<<2)>>2]|0)*40|0)+24>>3];else d=0.0;a:do if((i|0)!=(j|0)){Z0(c[k+(e*40|0)+4>>2]|0,c[k+(e*40|0)+12>>2]|0,4,64);g=c[45980]|0;r=+h[g+(e*40|0)+24>>3];r=!(d<=r*.25)&!(d>=r*.75)?d:r*.5;s=c[g+(e*40|0)+12>>2]|0;q=b+16|0;n=0;o=0;d=0.0;f=0;p=0;while(1){if((p|0)>=(f+s|0))break a;do if(!(c[(c[g+(e*40|0)+8>>2]|0)+(p<<2)>>2]|0)){l=c[(c[g+(e*40|0)+4>>2]|0)+(p<<2)>>2]|0;b=l+8|0;m=+h[b>>3]*72.0+d+(d>0.0?+(c[(c[q>>2]|0)+248>>2]|0):0.0);i=(o|0)!=0;if(!(i&!(m<=r))){j=i?n:l;i=i?o:1;d=m;break}j=n+4|0;k=l+4|0;i=0;while(1){if((i|0)<(c[j>>2]|0))g=0;else break;while(1){if((g|0)>=(c[k>>2]|0))break;a[(c[(oh(c[(c[n>>2]|0)+(i<<2)>>2]|0,c[(c[l>>2]|0)+(g<<2)>>2]|0,0)|0)+16>>2]|0)+112>>0]=1;g=g+1|0}i=i+1|0}g=c[45980]|0;c[(c[g+(e*40|0)+8>>2]|0)+(p<<2)>>2]=1;j=g+(e*40|0)+12|0;c[j>>2]=(c[j>>2]|0)+-1;j=g+(e*40|0)+16|0;c[j>>2]=(c[j>>2]|0)+1;j=g+(e*40|0)+24|0;h[j>>3]=+h[b>>3]*-72.0-+(c[(c[q>>2]|0)+248>>2]|0)+ +h[j>>3];j=n;i=o}else{j=n;i=o;f=f+1|0}while(0);n=j;o=i;p=p+1|0}}while(0);return}function Ik(a,b){a=a|0;b=b|0;a=Jk(c[a>>2]|0)|0;b=Jk(c[b>>2]|0)|0;return ((b|0)<(a|0)&1)-((b|0)>(a|0)&1)|0}function Jk(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;f=a+4|0;d=0;b=0;while(1){if((d|0)>=(c[f>>2]|0))break;e=c[(c[a>>2]|0)+(d<<2)>>2]|0;g=dz(e)|0;e=Dx(g,e)|0;while(1){if(!e)break;e=Fx(g,e)|0;b=b+1|0}d=d+1|0}return b|0}function Kk(a,b){a=a|0;b=b|0;var d=0.0,e=0.0,f=0;f=c[45980]|0;e=+h[f+((c[b>>2]|0)*40|0)+24>>3];d=+h[f+((c[a>>2]|0)*40|0)+24>>3];return (e>d&1)-(e>2]|0)+216>>2]=0;b=Sy(a,b)|0}return}function Mk(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;g=l;l=l+32|0;f=g+16|0;e=g+8|0;d=g+20|0;c[d>>2]=5;a=wx(a,96579)|0;if(a|0?(c[e>>2]=g,c[e+4>>2]=d,(M1(a,87402,e)|0)>=1):0)Ow(0,87409,f)|0;c[b+24>>2]=0;c[b+32>>2]=0;l=g;return 0}function Nk(b){b=b|0;var d=0,e=0;d=c[46419]|0;if((((d|0)!=0?(e=xx(b,d)|0,(e|0)!=0):0)?(a[e>>0]|0)!=0:0)?(PL(e)|0)<<24>>24==0:0)b=1;else b=0;return b|0}function Ok(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0;hl(a);b=Ry(a)|0;while(1){if(!b)break;d=Dx(a,b)|0;while(1){if(!d)break;do if(((c[(c[d+16>>2]|0)+172>>2]|0)==0?(Nk(d)|0)==0:0)?(e=d+48|0,f=RL(c[((c[d>>2]&3|0)==3?d:e)+40>>2]|0)|0,g=d+-48|0,h=RL(c[((c[d>>2]&3|0)==2?d:g)+40>>2]|0)|0,(f|0)!=(h|0)):0){if((c[(c[f+16>>2]|0)+212>>2]|0)==0?(c[(c[h+16>>2]|0)+212>>2]|0)==0:0){i=eh(f,h)|0;if(!i){oh(f,h,d)|0;break}else{wh(d,i);break}}i=c[d>>2]&3;Pk(a,c[((i|0)==3?d:e)+40>>2]|0,c[((i|0)==2?d:g)+40>>2]|0,d)}while(0);d=Fx(a,d)|0}b=Sy(a,b)|0}return}function Pk(b,d,f,g){b=b|0;d=d|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0;j=c[g>>2]&3;h=c[(c[((j|0)==3?g:g+48|0)+40>>2]|0)+16>>2]|0;i=c[h+212>>2]|0;if(!i)k=0;else k=(c[h+232>>2]|0)-(c[(c[(c[(c[i+16>>2]|0)+264>>2]|0)+16>>2]|0)+232>>2]|0)|0;h=c[(c[((j|0)==2?g:g+-48|0)+40>>2]|0)+16>>2]|0;i=c[h+212>>2]|0;if(!i)h=0;else h=(c[(c[(c[(c[i+16>>2]|0)+264>>2]|0)+16>>2]|0)+232>>2]|0)-(c[h+232>>2]|0)|0;j=g+16|0;k=h+k+(e[(c[j>>2]|0)+170>>1]|0)|0;b=th(b)|0;a[(c[b+16>>2]|0)+156>>0]=2;i=RL(d)|0;d=RL(f)|0;f=_i(b,i,(k|0)>0?0.0:+(0-k|0),(c[(c[j>>2]|0)+156>>2]|0)*10|0)|0;c[(c[(_i(b,d,+(((k|0)>0?k:0)|0),c[(c[j>>2]|0)+156>>2]|0)|0)+16>>2]|0)+116>>2]=g;c[(c[f+16>>2]|0)+116>>2]=g;return}function Qk(a,d,f,g){a=a|0;d=d|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0;j=c[d>>2]&3;i=(j|0)==3?d:d+48|0;j=(j|0)==2?d:d+-48|0;j=c[(c[(c[((c[(c[(c[i+40>>2]|0)+16>>2]|0)+232>>2]|0)>(c[(c[(c[j+40>>2]|0)+16>>2]|0)+232>>2]|0)?i:j)+40>>2]|0)+16>>2]|0)+232>>2]|0;i=d+16|0;d=(c[i>>2]|0)+172|0;if(c[d>>2]|0)qa(87498,87520,148,87529);c[d>>2]=f;h=(g|0)==0;do{d=c[i>>2]|0;if(h)g=c[f+16>>2]|0;else{g=c[f+16>>2]|0;k=g+168|0;b[k>>1]=(e[k>>1]|0)+(e[d+168>>1]|0)}k=g+154|0;b[k>>1]=(e[k>>1]|0)+(e[d+154>>1]|0);g=g+156|0;c[g>>2]=(c[g>>2]|0)+(c[d+156>>2]|0);d=f+-48|0;g=c[((c[f>>2]&3|0)==2?f:d)+40>>2]|0;if((c[(c[g+16>>2]|0)+232>>2]|0)==(j|0))break;Rk(a,g);f=c[c[(c[(c[((c[f>>2]&3|0)==2?f:d)+40>>2]|0)+16>>2]|0)+180>>2]>>2]|0}while((f|0)!=0);return}function Rk(a,b){a=a|0;b=b|0;var d=0.0;d=+((c[(c[a+16>>2]|0)+248>>2]|0)/2|0|0);b=c[b+16>>2]|0;a=b+88|0;h[a>>3]=+h[a>>3]+d;b=b+96|0;h[b>>3]=+h[b>>3]+d;return}function Sk(a,b){a=a|0;b=b|0;var d=0,e=0;if(((((a|0)!=0&(b|0)!=0?(e=c[a>>2]&3,d=c[b>>2]&3,(c[((e|0)==3?a:a+48|0)+40>>2]|0)==(c[((d|0)==3?b:b+48|0)+40>>2]|0)):0)?(c[((e|0)==2?a:a+-48|0)+40>>2]|0)==(c[((d|0)==2?b:b+-48|0)+40>>2]|0):0)?(c[(c[a+16>>2]|0)+96>>2]|0)==(c[(c[b+16>>2]|0)+96>>2]|0):0)?(vj(a,b)|0)!=0:0)a=1;else a=0;return a|0}function Tk(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;r=b+16|0;d=c[r>>2]|0;c[d+192>>2]=0;c[d+232>>2]=0;hl(b);d=1;while(1){e=c[r>>2]|0;if((d|0)>(c[e+180>>2]|0))break;il(b,c[(c[e+184>>2]|0)+(d<<2)>>2]|0);d=d+1|0}h=Ry(b)|0;while(1){if(!h)break;g=Dx(b,h)|0;while(1){if(!g)break;d=c[g>>2]|0;e=(c[(c[((d&3|0)==2?g:g+-48|0)+40>>2]|0)+16>>2]|0)+160|0;f=a[e>>0]|0;if(f<<24>>24<3){a[e>>0]=f+1<<24>>24;d=c[g>>2]|0}d=(c[(c[((d&3|0)==3?g:g+48|0)+40>>2]|0)+16>>2]|0)+160|0;e=a[d>>0]|0;if(e<<24>>24<3)a[d>>0]=e+1<<24>>24;g=Fx(b,g)|0}h=Sy(b,h)|0}m=Ry(b)|0;while(1){if(!m)break;if((c[(c[m+16>>2]|0)+212>>2]|0)==0?(m|0)==(RL(m)|0):0){ph(b,m);l=(c[r>>2]|0)+232|0;c[l>>2]=(c[l>>2]|0)+1}d=0;l=Dx(b,m)|0;while(1){if(!l)break;k=l+16|0;h=c[k>>2]|0;a:do if(!(c[h+172>>2]|0)){if(Uk(l)|0){if(!(Sk(d,l)|0)){Vk(b,l);d=l;break}e=c[(c[d+16>>2]|0)+172>>2]|0;if(e|0){Qk(b,l,e,0);kh(l);break}k=c[l>>2]&3;if((c[(c[(c[((k|0)==3?l:l+48|0)+40>>2]|0)+16>>2]|0)+232>>2]|0)!=(c[(c[(c[((k|0)==2?l:l+-48|0)+40>>2]|0)+16>>2]|0)+232>>2]|0))break;wh(l,d);kh(l);break}if(d){i=c[l>>2]&3;e=l+48|0;f=c[((i|0)==3?l:e)+40>>2]|0;g=c[d>>2]&3;if((f|0)==(c[((g|0)==3?d:d+48|0)+40>>2]|0)?(n=c[((i|0)==2?l:l+-48|0)+40>>2]|0,(n|0)==(c[((g|0)==2?d:d+-48|0)+40>>2]|0)):0){if((c[(c[f+16>>2]|0)+232>>2]|0)==(c[(c[n+16>>2]|0)+232>>2]|0)){wh(l,d);kh(l);break}if(((c[h+96>>2]|0)==0?(o=d+16|0,(c[(c[o>>2]|0)+96>>2]|0)==0):0)?(vj(l,d)|0)!=0:0)if(!(a[191874]|0)){Qk(b,l,c[(c[o>>2]|0)+172>>2]|0,1);kh(l);break}else{a[(c[k>>2]|0)+112>>0]=6;break}else i=e}else i=e}else i=l+48|0;h=c[l>>2]&3;e=c[((h|0)==3?l:i)+40>>2]|0;j=l+-48|0;if((e|0)==(c[((h|0)==2?l:j)+40>>2]|0)){kh(l);d=l;break}e=RL(e)|0;f=RL(c[((c[l>>2]&3|0)==2?l:j)+40>>2]|0)|0;h=c[l>>2]&3;if((c[((h|0)==3?l:i)+40>>2]|0)==(e|0)?(c[((h|0)==2?l:j)+40>>2]|0)==(f|0):0){g=c[(c[e+16>>2]|0)+232>>2]|0;h=c[(c[f+16>>2]|0)+232>>2]|0;if((g|0)==(h|0)){uh(b,l);d=l;break}if((h|0)>(g|0)){Wk(b,e,f,l);d=l;break}e=Qx(b,f,e,0,0)|0;do if(e|0?(p=c[e>>2]&3,q=c[((p|0)==2?e:e+-48|0)+40>>2]|0,(q|0)!=(c[((c[l>>2]&3|0)==2?l:j)+40>>2]|0)):0){f=e+16|0;if(!(c[(c[f>>2]|0)+172>>2]|0))Wk(b,c[((p|0)==3?e:e+48|0)+40>>2]|0,q,e);if((c[(c[k>>2]|0)+96>>2]|0)==0?(c[(c[f>>2]|0)+96>>2]|0)==0:0){if(!(vj(l,e)|0))break;if(!(a[191874]|0)){kh(l);Qk(b,l,c[(c[f>>2]|0)+172>>2]|0,1);break a}else{a[(c[k>>2]|0)+112>>0]=6;a[(c[f>>2]|0)+153>>0]=1;break a}}}while(0);d=c[l>>2]&3;Wk(b,c[((d|0)==2?l:j)+40>>2]|0,c[((d|0)==3?l:i)+40>>2]|0,l);d=l}}else d=l;while(0);l=Fx(b,l)|0}m=Sy(b,m)|0}if((hg(b)|0)!=(b|0)){d=c[(c[r>>2]|0)+216>>2]|0;if(!d)d=uH(4)|0;else d=wH(d,4)|0;r=c[r>>2]|0;c[r+216>>2]=d;c[d>>2]=c[r+192>>2]}return}function Uk(b){b=b|0;var d=0;d=c[b>>2]&3;if((a[(c[(c[((d|0)==3?b:b+48|0)+40>>2]|0)+16>>2]|0)+159>>0]|0)==7)b=1;else b=(a[(c[(c[((d|0)==2?b:b+-48|0)+40>>2]|0)+16>>2]|0)+159>>0]|0)==7&1;return b|0}function Vk(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0;f=Zk(c[((c[d>>2]&3|0)==3?d:d+48|0)+40>>2]|0)|0;g=Zk(c[((c[d>>2]&3|0)==2?d:d+-48|0)+40>>2]|0)|0;i=(c[(c[f+16>>2]|0)+232>>2]|0)>(c[(c[g+16>>2]|0)+232>>2]|0);e=i?f:g;f=i?g:f;g=f+16|0;i=e+16|0;a:do if((c[(c[g>>2]|0)+212>>2]|0)!=(c[(c[i>>2]|0)+212>>2]|0)){h=eh(f,e)|0;if(h|0){Qk(b,d,h,1);break}if((c[(c[g>>2]|0)+232>>2]|0)!=(c[(c[i>>2]|0)+232>>2]|0)){Wk(b,f,e,d);e=(c[d+16>>2]|0)+172|0;while(1){e=c[e>>2]|0;if(!e)break a;f=e+-48|0;if((c[(c[(c[((c[e>>2]&3|0)==2?e:f)+40>>2]|0)+16>>2]|0)+232>>2]|0)>(c[(c[i>>2]|0)+232>>2]|0))break a;a[(c[e+16>>2]|0)+112>>0]=5;e=c[(c[(c[((c[e>>2]&3|0)==2?e:f)+40>>2]|0)+16>>2]|0)+180>>2]|0}}}while(0);return}function Wk(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0;k=e+16|0;f=c[k>>2]|0;if(!(c[f+96>>2]|0))j=-1;else j=((c[(c[d+16>>2]|0)+232>>2]|0)+(c[(c[b+16>>2]|0)+232>>2]|0)|0)/2|0;if(c[f+172>>2]|0)qa(87541,87520,89,87566);i=d+16|0;h=c[(c[b+16>>2]|0)+232>>2]|0;while(1){g=h+1|0;f=c[(c[i>>2]|0)+232>>2]|0;if((h|0)>=(f|0))break;if((g|0)<(f|0)){if((g|0)==(j|0))f=Xk(a,e)|0;else f=Yk(a)|0;c[(c[f+16>>2]|0)+232>>2]=g}else f=d;Ji(oh(b,f,e)|0);h=g;b=f}if(!(c[(c[k>>2]|0)+172>>2]|0))qa(87577,87520,103,87566);else return}function Xk(b,d){b=b|0;d=d|0;var e=0.0,f=0.0,g=0,i=0,j=0.0;i=d+16|0;g=c[(c[i>>2]|0)+96>>2]|0;e=+h[g+24>>3];f=+h[g+32>>3];g=th(b)|0;d=g+16|0;c[(c[d>>2]|0)+104>>2]=c[(c[i>>2]|0)+96>>2];j=+(c[(c[(ez(g)|0)+16>>2]|0)+248>>2]|0);h[(c[d>>2]|0)+88>>3]=j;if(!(a[(c[i>>2]|0)+114>>0]|0)){b=(c[(c[(ez(b)|0)+16>>2]|0)+116>>2]&1|0)==0;i=c[d>>2]|0;h[i+80>>3]=b?f:e;h[i+96>>3]=b?e:f}return g|0}function Yk(a){a=a|0;var b=0;b=th(a)|0;Rk(a,b);return b|0}function Zk(b){b=b|0;var d=0;d=c[b+16>>2]|0;if((a[d+159>>0]|0)==7)b=c[(c[(c[(c[d+212>>2]|0)+16>>2]|0)+268>>2]|0)+(c[d+232>>2]<<2)>>2]|0;else b=RL(b)|0;return b|0}function _k(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;j=hg(a)|0;h=Ry(a)|0;while(1){if(!h)break;b=Ix(j,h)|0;i=0;while(1){if(!b)break;l=Jx(j,b,h)|0;if(nz(a,b)|0){k=i;b=l;i=k;continue}k=(c[b>>2]&3|0)==2?b:b+-48|0;m=(Sk(i,k)|0)==0;e=c[k>>2]&3;b=c[((e|0)==3?k:k+48|0)+40>>2]|0;d=c[(c[b+16>>2]|0)+232>>2]|0;e=c[((e|0)==2?k:k+-48|0)+40>>2]|0;f=c[(c[e+16>>2]|0)+232>>2]|0;g=(d|0)==(f|0);if(!m){c[(c[k+16>>2]|0)+172>>2]=g?i:0;b=c[(c[i+16>>2]|0)+172>>2]|0;if(!b){m=i;b=l;i=m;continue}Qk(a,k,b,0);lh(k);m=i;b=l;i=m;continue}if(!g)if((f|0)>(d|0)){$k(b,e,k);b=l;i=k;continue}else{$k(e,b,k);b=l;i=k;continue}b=gh(b,e)|0;if(!b){uh(j,k);b=l;i=k;continue}if((k|0)==(b|0)){m=i;b=l;i=m;continue}lh(k);if(c[(c[k+16>>2]|0)+172>>2]|0){m=i;b=l;i=m;continue}wh(k,b);m=i;b=l;i=m}h=Sy(a,h)|0}return}function $k(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;f=al(a)|0;e=al(b)|0;bl(f,e,d,c[(c[d+16>>2]|0)+172>>2]|0,(f|0)==(a|0)&(e|0)==(b|0)?1:5);return}function al(b){b=b|0;var d=0,e=0,f=0;d=c[b+16>>2]|0;e=c[d+212>>2]|0;if((e|0)!=0?(f=c[e+16>>2]|0,(a[f+272>>0]|0)==0):0)b=c[(c[f+268>>2]|0)+(c[d+232>>2]<<2)>>2]|0;return b|0}function bl(d,e,f,g,h){d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0;n=d+16|0;k=c[(c[n>>2]|0)+232>>2]|0;o=e+16|0;i=c[(c[o>>2]|0)+232>>2]|0;if((i|0)<=(k|0))qa(87602,87630,81,87640);m=c[g>>2]&3;if(!((c[((m|0)==3?g:g+48|0)+40>>2]|0)==(d|0)?(c[((m|0)==2?g:g+-48|0)+40>>2]|0)==(e|0):0))l=5;a:do if((l|0)==5){if((b[(c[g+16>>2]|0)+168>>1]|0)>1){c[(c[f+16>>2]|0)+172>>2]=0;if(((i-k|0)==1?(j=eh(d,e)|0,j|0):0)?vj(f,j)|0:0){wh(f,j);if(a[(c[n>>2]|0)+156>>0]|0)break;if(a[(c[o>>2]|0)+156>>0]|0)break;kh(f);break}m=h&255;h=d;l=c[(c[n>>2]|0)+232>>2]|0;while(1){i=c[(c[o>>2]|0)+232>>2]|0;if((l|0)>=(i|0))break a;if((l|0)<(i+-1|0)){i=hg(d)|0;j=g+-48|0;i=cl(i,c[((c[g>>2]&3|0)==2?g:j)+40>>2]|0)|0;k=g}else{i=e;j=g+-48|0;k=g}a[(c[(oh(h,i,f)|0)+16>>2]|0)+112>>0]=m;n=(c[g+16>>2]|0)+168|0;b[n>>1]=(b[n>>1]|0)+-1<<16>>16;h=i;l=l+1|0;g=c[c[(c[(c[((c[k>>2]&3|0)==2?g:j)+40>>2]|0)+16>>2]|0)+180>>2]>>2]|0}}do if((i-k|0)==1){g=eh(d,e)|0;if(g|0?vj(f,g)|0:0){c[(c[f+16>>2]|0)+172>>2]=g;m=c[g+16>>2]|0;a[m+112>>0]=h;m=m+168|0;b[m>>1]=(b[m>>1]|0)+1<<16>>16;if(a[(c[n>>2]|0)+156>>0]|0)break;if(a[(c[o>>2]|0)+156>>0]|0)break;kh(f);break}c[(c[f+16>>2]|0)+172>>2]=0;g=oh(d,e,f)|0;a[(c[g+16>>2]|0)+112>>0]=h}while(0);i=c[(c[o>>2]|0)+232>>2]|0;if((i-(c[(c[n>>2]|0)+232>>2]|0)|0)>1){if((c[((c[g>>2]&3|0)==3?g:g+48|0)+40>>2]|0)==(d|0))l=i;else{n=f+16|0;c[(c[n>>2]|0)+172>>2]=0;l=oh(d,c[((c[g>>2]&3|0)==2?g:g+-48|0)+40>>2]|0,f)|0;c[(c[n>>2]|0)+172>>2]=l;jh(g);g=l;l=c[(c[o>>2]|0)+232>>2]|0}while(1){i=c[g>>2]&3;j=c[((i|0)==2?g:g+-48|0)+40>>2]|0;k=c[j+16>>2]|0;if((c[k+232>>2]|0)==(l|0))break;g=c[c[k+180>>2]>>2]|0}if((j|0)!=(e|0)){a[(c[(oh(c[((i|0)==3?g:g+48|0)+40>>2]|0,e,f)|0)+16>>2]|0)+112>>0]=h;jh(g)}}}while(0);return}function cl(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=b+16|0;b=c[d>>2]|0;e=c[b+232>>2]|0;dl(a,e,c[b+236>>2]|0,2);b=th(a)|0;d=c[d>>2]|0;f=c[b+16>>2]|0;h[f+88>>3]=+h[d+88>>3];h[f+96>>3]=+h[d+96>>3];c[f+232>>2]=c[d+232>>2];d=(c[d+236>>2]|0)+1|0;c[f+236>>2]=d;c[(c[(c[(c[a+16>>2]|0)+196>>2]|0)+(e<<6)+4>>2]|0)+(d<<2)>>2]=b;return b|0}function dl(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0;h=a+16|0;f=c[(c[h>>2]|0)+196>>2]|0;i=c[f+(b<<6)+4>>2]|0;a:do if((e|0)<1){d=d-e|0;while(1){g=d+1|0;a=c[f+(b<<6)>>2]|0;if((g|0)>=(a|0))break;a=c[i+(g<<2)>>2]|0;f=d+e|0;c[(c[a+16>>2]|0)+236>>2]=f;c[i+(f<<2)>>2]=a;d=g;f=c[(c[h>>2]|0)+196>>2]|0}g=e+-1|0;d=g+a|0;while(1){if((d|0)>=(a|0))break a;c[i+(d<<2)>>2]=0;f=c[(c[h>>2]|0)+196>>2]|0;d=d+1|0;a=c[f+(b<<6)>>2]|0}}else{g=e+-1|0;a=c[f+(b<<6)>>2]|0;while(1){a=a+-1|0;if((a|0)<=(d|0))break;j=c[i+(a<<2)>>2]|0;f=g+a|0;c[(c[j+16>>2]|0)+236>>2]=f;c[i+(f<<2)>>2]=j}f=e+d|0;a=d;while(1){a=a+1|0;if((a|0)>=(f|0))break;c[i+(a<<2)>>2]=0}a=c[(c[h>>2]|0)+196>>2]|0;f=a;a=c[a+(b<<6)>>2]|0}while(0);c[f+(b<<6)>>2]=g+a;return}function el(a){a=a|0;var b=0;Tk(a);b=c[a+16>>2]|0;c[b+220>>2]=1;c[c[b+216>>2]>>2]=c[b+192>>2];Gi(a);li(a,0);fl(a);_k(a);gl(a);return}function fl(d){d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;k=hg(d)|0;l=d+16|0;f=c[l>>2]|0;j=b[f+236>>1]|0;e=j<<16>>16;m=k+16|0;if(j<<16>>16>0)a[(c[(c[m>>2]|0)+196>>2]|0)+(e+-1<<6)+49>>0]=0;j=e;while(1){if((j|0)>(b[f+238>>1]|0))break;i=c[(c[(c[(c[f+268>>2]|0)+(j<<2)>>2]|0)+16>>2]|0)+236>>2]|0;dl(k,j,i,c[(c[f+196>>2]|0)+(j<<6)>>2]|0);g=0;h=i;while(1){f=c[l>>2]|0;e=c[f+196>>2]|0;if((g|0)>=(c[e+(j<<6)>>2]|0))break;e=c[(c[e+(j<<6)+4>>2]|0)+(g<<2)>>2]|0;c[(c[(c[(c[m>>2]|0)+196>>2]|0)+(j<<6)+4>>2]|0)+(h<<2)>>2]=e;f=c[e+16>>2]|0;c[f+236>>2]=h;if((a[f+156>>0]|0)==1)c[e+24>>2]=ez(k)|0;rh(d,e);ph(k,e);f=(c[m>>2]|0)+232|0;c[f>>2]=(c[f>>2]|0)+1;g=g+1|0;h=h+1|0}h=c[(c[m>>2]|0)+196>>2]|0;c[e+(j<<6)+4>>2]=(c[h+(j<<6)+4>>2]|0)+(i<<2);a[h+(j<<6)+49>>0]=0;j=j+1|0}e=c[m>>2]|0;if((j|0)<(b[e+238>>1]|0))a[(c[e+196>>2]|0)+(j<<6)+49>>0]=0;a[f+272>>0]=1;return}function gl(a){a=a|0;var d=0,e=0,f=0,g=0,h=0,i=0;i=a+16|0;d=c[i>>2]|0;h=b[d+236>>1]|0;while(1){if((h|0)>(b[d+238>>1]|0))break;f=c[(c[d+268>>2]|0)+(h<<2)>>2]|0;g=f+16|0;while(1){d=c[g>>2]|0;e=c[c[d+180>>2]>>2]|0;if(!e)break;jh(e)}while(1){d=c[c[d+172>>2]>>2]|0;if(!d)break;jh(d);d=c[g>>2]|0}rh(hg(a)|0,f);c[(c[(c[i>>2]|0)+268>>2]|0)+(h<<2)>>2]=0;h=h+1|0;d=c[i>>2]|0}return}function hl(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0;o=l;l=l+16|0;n=o;f=Ry(b)|0;while(1){if(!f)break;e=f+16|0;d=c[e>>2]|0;if((a[d+159>>0]|0)==7){TL(f);d=c[e>>2]|0}c[d+212>>2]=0;f=Sy(b,f)|0}m=b+16|0;k=1;while(1){d=c[m>>2]|0;if((k|0)>(c[d+180>>2]|0))break;h=c[(c[d+184>>2]|0)+(k<<2)>>2]|0;i=h+16|0;d=Ry(h)|0;a:while(1){if(!d)break;j=Sy(h,d)|0;e=d+16|0;if(a[(c[e>>2]|0)+159>>0]|0){f=qy(d)|0;g=qy(b)|0;c[n>>2]=f;c[n+4>>2]=g;Ow(0,87649,n)|0;cz(h,d)|0;d=j;continue}UL(d,c[(c[i>>2]|0)+264>>2]|0);g=c[e>>2]|0;c[g+212>>2]=h;a[g+159>>0]=7;g=Dx(h,d)|0;while(1){if(!g){d=j;continue a}d=c[(c[g+16>>2]|0)+172>>2]|0;b:do if(d|0)do{e=d+-48|0;f=c[(c[((c[d>>2]&3|0)==2?d:e)+40>>2]|0)+16>>2]|0;if((a[f+156>>0]|0)!=1)break b;c[f+212>>2]=h;d=c[c[(c[(c[((c[d>>2]&3|0)==2?d:e)+40>>2]|0)+16>>2]|0)+180>>2]>>2]|0}while((d|0)!=0);while(0);g=Fx(h,g)|0}}k=k+1|0}l=o;return}function il(d,e){d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0;k=e+16|0;g=tH((b[(c[k>>2]|0)+238>>1]<<2)+8|0)|0;f=c[k>>2]|0;c[f+268>>2]=g;g=0;h=b[f+236>>1]|0;while(1){if((h|0)>(b[f+238>>1]|0))break;f=th(d)|0;c[(c[(c[k>>2]|0)+268>>2]|0)+(h<<2)>>2]=f;j=c[f+16>>2]|0;c[j+232>>2]=h;a[j+159>>0]=7;c[j+212>>2]=e;if(g|0){j=(c[(oh(g,f,0)|0)+16>>2]|0)+154|0;b[j>>1]=(b[j>>1]|0)*1e3}g=f;h=h+1|0;f=c[k>>2]|0}j=Ry(e)|0;while(1){f=c[k>>2]|0;if(!j)break;h=(c[(c[f+268>>2]|0)+(c[(c[j+16>>2]|0)+232>>2]<<2)>>2]|0)+16|0;f=(c[h>>2]|0)+216|0;c[f>>2]=(c[f>>2]|0)+1;f=Dx(e,j)|0;while(1){if(!f)break;i=c[f>>2]|0;d=f+-48|0;g=c[(c[(c[((i&3|0)==3?f:f+48|0)+40>>2]|0)+16>>2]|0)+232>>2]|0;while(1){if((g|0)>=(c[(c[(c[((i&3|0)==2?f:d)+40>>2]|0)+16>>2]|0)+232>>2]|0))break;i=(c[(c[c[(c[h>>2]|0)+180>>2]>>2]|0)+16>>2]|0)+168|0;b[i>>1]=(b[i>>1]|0)+1<<16>>16;g=g+1|0;i=c[f>>2]|0}f=Fx(e,f)|0}j=Sy(e,j)|0}d=b[f+238>>1]|0;i=f+268|0;f=b[f+236>>1]|0;while(1){if((f|0)>(d|0))break;g=(c[(c[(c[i>>2]|0)+(f<<2)>>2]|0)+16>>2]|0)+216|0;h=c[g>>2]|0;if((h|0)>1)c[g>>2]=h+-1;f=f+1|0}return}function jl(d,e,f,g){d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0;k=(c[(c[e+16>>2]|0)+212>>2]|0)+16|0;e=c[k>>2]|0;j=f+1|0;if((j|0)!=(a[e+273>>0]|0)){i=b[e+236>>1]|0;while(1){h=b[e+238>>1]|0;if((i|0)>(h<<16>>16|0))break;Ai(d,c[(c[e+268>>2]|0)+(i<<2)>>2]|0);i=i+1|0;e=c[k>>2]|0}i=b[e+236>>1]|0;while(1){if((i|0)>(h<<16>>16|0))break;Bi(g,c[(c[e+268>>2]|0)+(i<<2)>>2]|0,f);d=c[k>>2]|0;i=i+1|0;h=b[d+238>>1]|0;e=d}a[e+273>>0]=j}return}function kl(b){b=b|0;var d=0,e=0,f=0,g=0,h=0;h=Ry(b)|0;while(1){if(!h)break;c[(c[h+16>>2]|0)+212>>2]=0;g=Dx(b,h)|0;while(1){if(!g)break;d=c[(c[g+16>>2]|0)+172>>2]|0;a:do if(d|0)do{e=d+-48|0;f=c[(c[((c[d>>2]&3|0)==2?d:e)+40>>2]|0)+16>>2]|0;if((a[f+156>>0]|0)!=1)break a;c[f+212>>2]=0;d=c[c[(c[(c[((c[d>>2]&3|0)==2?d:e)+40>>2]|0)+16>>2]|0)+180>>2]>>2]|0}while((d|0)!=0);while(0);g=Fx(b,g)|0}h=Sy(b,h)|0}ll(b);return}function ll(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0;e=b+16|0;d=1;while(1){f=c[e>>2]|0;if((d|0)>(c[f+180>>2]|0))break;ll(c[(c[f+184>>2]|0)+(d<<2)>>2]|0);d=d+1|0}i=Ry(b)|0;while(1){if(!i)break;d=(c[i+16>>2]|0)+212|0;if(!(c[d>>2]|0))c[d>>2]=b;h=Dx(b,i)|0;while(1){if(!h)break;d=c[(c[h+16>>2]|0)+172>>2]|0;a:do if(d|0)do{e=c[d>>2]|0;g=d+-48|0;f=c[(c[((e&3|0)==2?d:g)+40>>2]|0)+16>>2]|0;if((a[f+156>>0]|0)!=1)break a;f=f+212|0;if(!(c[f>>2]|0)){c[f>>2]=b;e=c[d>>2]|0}d=c[c[(c[(c[((e&3|0)==2?d:g)+40>>2]|0)+16>>2]|0)+180>>2]>>2]|0}while((d|0)!=0);while(0);h=Fx(b,h)|0}i=Sy(b,i)|0}return}function ml(a){a=a|0;var b=0,c=0,d=0;d=sM(a)|0;c=Ry(a)|0;while(1){if(!c)break;b=Dx(a,c)|0;while(1){if(!b)break;nl(b,d);b=Fx(a,b)|0}c=Sy(a,c)|0}xw(d)|0;return} +function xH(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,i=0,j=0,k=0.0,m=0,n=0,q=0,r=0,s=0,t=0,u=0;u=l;l=l+80|0;r=u+40|0;q=u+32|0;n=u+24|0;m=u;s=4;t=B_(40)|0;c[t>>2]=0;f=u+68|0;g=u+64|0;if(0){o=0;ka(62,a|0,f|0,g|0);i=o;o=0;if((i|0)!=0&(p|0)!=0){j=D3(c[i>>2]|0,t|0,s|0)|0;if(!j)bb(i|0,p|0);z=p}else j=-1;if((j|0)!=1){j=c[15686]|0;i=c[f>>2]|0;f=c[g>>2]|0;o=0;c[m>>2]=99176;c[m+4>>2]=i;c[m+8>>2]=f;c[m+12>>2]=d;c[m+16>>2]=b;ca(29,j|0,99132,m|0)|0;f=o;o=0;if((f|0)!=0&(p|0)!=0){g=D3(c[f>>2]|0,t|0,s|0)|0;if(!g)bb(f|0,p|0);z=p}else g=-1;if((g|0)!=1){o=0;ha(1);f=o;o=0;if((f|0)!=0&(p|0)!=0){g=D3(c[f>>2]|0,t|0,s|0)|0;if(!g)bb(f|0,p|0);z=p}else g=-1;if((g|0)!=1)j=6;else{f=z;j=15}}else{f=z;j=15}}else{f=z;j=15}}else j=6;do if((j|0)==6){o=0;f=$(27,a|0)|0;g=o;o=0;if((g|0)!=0&(p|0)!=0){i=D3(c[g>>2]|0,t|0,s|0)|0;if(!i)bb(g|0,p|0);z=p}else i=-1;if((i|0)!=1){if(!f){o=0;ha(2);f=o;o=0;if((f|0)!=0&(p|0)!=0){g=D3(c[f>>2]|0,t|0,s|0)|0;if(!g)bb(f|0,p|0);z=p}else g=-1;if((g|0)==1){f=z;j=15;break}}if((d|0)<1){o=0;ha(3);f=o;o=0;if((f|0)!=0&(p|0)!=0){g=D3(c[f>>2]|0,t|0,s|0)|0;if(!g)bb(f|0,p|0);z=p}else g=-1;if((g|0)==1){f=z;j=15;break}f=0;break}else{c[46441]=(e|0)>-1?e:30;t=C3(185768,1,t|0,s|0)|0;s=z;o=0;f=o;o=0;if((f|0)!=0&(p|0)!=0){g=D3(c[f>>2]|0,t|0,s|0)|0;if(!g)bb(f|0,p|0);z=p}else g=-1;if((g|0)==1){f=z;j=15;break}f=0;j=15;break}}else{f=z;j=15}}while(0);a:do if((j|0)==15){b:while(1){if(f|0){f=2;break a}o=0;ha(4);f=o;o=0;if((f|0)!=0&(p|0)!=0){g=D3(c[f>>2]|0,t|0,s|0)|0;if(!g)bb(f|0,p|0);z=p}else g=-1;if((g|0)==1){f=z;j=15;continue}a=c[15686]|0;m=0;while(1){o=0;j=_(2)|0;f=o;o=0;if((f|0)!=0&(p|0)!=0){g=D3(c[f>>2]|0,t|0,s|0)|0;if(!g)bb(f|0,p|0);z=p}else g=-1;if((g|0)==1){f=z;j=15;continue b}if(!j)break;o=0;f=$(28,j|0)|0;g=o;o=0;if((g|0)!=0&(p|0)!=0){i=D3(c[g>>2]|0,t|0,s|0)|0;if(!i)bb(g|0,p|0);z=p}else i=-1;if((i|0)==1){f=z;j=15;continue b}o=0;ja(25,j|0,f|0);f=o;o=0;if((f|0)!=0&(p|0)!=0){g=D3(c[f>>2]|0,t|0,s|0)|0;if(!g)bb(f|0,p|0);z=p}else g=-1;if((g|0)==1){f=z;j=15;continue b}m=m+1|0;do if(((m|0)%100|0|0)==0&0!=0){f=(m|0)%1e3|0;if((f|0)==100){o=0;aa(91,99176,a|0)|0;f=o;o=0;if((f|0)!=0&(p|0)!=0){g=D3(c[f>>2]|0,t|0,s|0)|0;if(!g)bb(f|0,p|0);z=p}else g=-1;if((g|0)==1){f=z;j=15;continue b}o=0;c[n>>2]=m;ca(29,a|0,99194,n|0)|0;f=o;o=0;if((f|0)!=0&(p|0)!=0){g=D3(c[f>>2]|0,t|0,s|0)|0;if(!g)bb(f|0,p|0);z=p}else g=-1;if((g|0)==1){f=z;j=15;continue b}break}o=0;c[q>>2]=m;ca(29,a|0,99194,q|0)|0;g=o;o=0;if((g|0)!=0&(p|0)!=0){i=D3(c[g>>2]|0,t|0,s|0)|0;if(!i)bb(g|0,p|0);z=p}else i=-1;if((i|0)==1){f=z;j=15;continue b}if(!f){o=0;aa(92,10,a|0)|0;f=o;o=0;if((f|0)!=0&(p|0)!=0){g=D3(c[f>>2]|0,t|0,s|0)|0;if(!g)bb(f|0,p|0);z=p}else g=-1;if((g|0)==1){f=z;j=15;continue b}}}while(0);if((m|0)>=(d|0))break}switch(b|0){case 1:{o=0;ha(5);f=o;o=0;if((f|0)!=0&(p|0)!=0){g=D3(c[f>>2]|0,t|0,s|0)|0;if(!g)bb(f|0,p|0);z=p}else g=-1;if((g|0)==1){f=z;j=15;continue b}break}case 2:{o=0;ha(6);f=o;o=0;if((f|0)!=0&(p|0)!=0){g=D3(c[f>>2]|0,t|0,s|0)|0;if(!g)bb(f|0,p|0);z=p}else g=-1;if((g|0)==1){f=z;j=15;continue b}break}default:{o=0;ha(7);f=o;o=0;if((f|0)!=0&(p|0)!=0){g=D3(c[f>>2]|0,t|0,s|0)|0;if(!g)bb(f|0,p|0);z=p}else g=-1;if((g|0)==1){f=z;j=15;continue b}o=0;ha(3);f=o;o=0;if((f|0)!=0&(p|0)!=0){g=D3(c[f>>2]|0,t|0,s|0)|0;if(!g)bb(f|0,p|0);z=p}else g=-1;if((g|0)==1){f=z;j=15;continue b}}}if(!0){f=0;break a}if((m|0)>99){o=0;aa(92,10,a|0)|0;f=o;o=0;if((f|0)!=0&(p|0)!=0){g=D3(c[f>>2]|0,t|0,s|0)|0;if(!g)bb(f|0,p|0);z=p}else g=-1;if((g|0)==1){f=z;j=15;continue}}f=c[46481]|0;g=c[46482]|0;o=0;k=+X(1);i=o;o=0;if((i|0)!=0&(p|0)!=0){j=D3(c[i>>2]|0,t|0,s|0)|0;if(!j)bb(i|0,p|0);z=p}else j=-1;if((j|0)==1){f=z;j=15;continue}o=0;c[r>>2]=99176;c[r+4>>2]=f;c[r+8>>2]=g;c[r+12>>2]=m;h[r+16>>3]=k;ca(29,a|0,99198,r|0)|0;f=o;o=0;if((f|0)!=0&(p|0)!=0){g=D3(c[f>>2]|0,t|0,s|0)|0;if(!g)bb(f|0,p|0);z=p}else g=-1;if((g|0)==1){f=z;j=15}else break}f=0}while(0);C_(t|0);l=u;return f|0}function yH(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;a=(c[a+16>>2]|0)+192|0;e=0;h=0;while(1){a=c[a>>2]|0;if(!a)break;g=c[a+16>>2]|0;f=c[g+180>>2]|0;a=0;while(1){if(!(c[f+(a<<2)>>2]|0))break;a=a+1|0;e=e+1|0}a=g+164|0;h=h+1|0}c[b>>2]=h;c[d>>2]=e;return}function zH(b){b=b|0;var d=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0;c[46484]=b;c[46491]=0;c[46482]=0;c[46481]=0;i=b+16|0;b=(c[i>>2]|0)+192|0;h=0;f=0;while(1){b=c[b>>2]|0;if(!b)break;g=c[b+16>>2]|0;a[g+157>>0]=0;h=h+1|0;c[46481]=h;d=c[g+180>>2]|0;b=0;while(1){if(!(c[d+(b<<2)>>2]|0))break;k=f+1|0;c[46482]=k;b=b+1|0;f=k}b=g+164|0}b=c[46492]|0;if(!b)b=uH(h<<2)|0;else b=wH(b,h<<2)|0;c[46492]=b;c[46493]=0;b=c[46486]|0;if(!b)b=uH(c[46481]<<2)|0;else b=wH(b,c[46481]<<2)|0;c[46486]=b;c[46485]=0;d=1;b=(c[i>>2]|0)+192|0;while(1){b=c[b>>2]|0;if(!b)break;k=b+16|0;i=c[k>>2]|0;j=i+292|0;c[j>>2]=0;i=c[i+172>>2]|0;h=d;g=0;b=0;while(1){d=c[i+(g<<2)>>2]|0;if(!d)break;f=b+1|0;c[j>>2]=f;b=c[d+16>>2]|0;c[b+160>>2]=0;c[b+164>>2]=-1;if(!h)b=0;else{l=c[d>>2]&3;b=((c[(c[(c[((l|0)==2?d:d+-48|0)+40>>2]|0)+16>>2]|0)+232>>2]|0)-(c[(c[(c[((l|0)==3?d:d+48|0)+40>>2]|0)+16>>2]|0)+232>>2]|0)|0)<(e[b+170>>1]|0|0)?0:h}h=b;g=g+1|0;b=f}b=tH((g<<2)+4|0)|0;d=c[k>>2]|0;c[d+264>>2]=b;c[d+268>>2]=0;d=c[d+180>>2]|0;b=0;do{l=b;b=b+1|0}while((c[d+(l<<2)>>2]|0)!=0);d=tH(b<<2)|0;b=c[k>>2]|0;c[b+272>>2]=d;c[b+276>>2]=0;d=h;b=b+164|0}return d|0}function AH(){var a=0,b=0,d=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0;o=l;l=l+16|0;n=o+8|0;k=o;m=FL(c[46481]|0)|0;a=(c[(c[46484]|0)+16>>2]|0)+192|0;while(1){b=c[a>>2]|0;if(!b){j=0;break}d=b+16|0;a=c[d>>2]|0;if(!(c[a+292>>2]|0)){HL(m,b);a=c[d>>2]|0}a=a+164|0}while(1){a=IL(m)|0;if(!a)break;i=a+16|0;a=c[i>>2]|0;f=a+232|0;c[f>>2]=0;d=c[a+172>>2]|0;b=0;h=0;while(1){g=c[d+(b<<2)>>2]|0;if(!g){f=0;break}g=(c[(c[(c[((c[g>>2]&3|0)==3?g:g+48|0)+40>>2]|0)+16>>2]|0)+232>>2]|0)+(e[(c[g+16>>2]|0)+170>>1]|0)|0;g=(h|0)>(g|0)?h:g;c[f>>2]=g;b=b+1|0;h=g}while(1){b=c[(c[a+180>>2]|0)+(f<<2)>>2]|0;if(!b)break;d=b+-48|0;g=(c[(c[((c[b>>2]&3|0)==2?b:d)+40>>2]|0)+16>>2]|0)+292|0;h=c[g>>2]|0;c[g>>2]=h+-1;if((h|0)<2){HL(m,c[((c[b>>2]&3|0)==2?b:d)+40>>2]|0);a=c[i>>2]|0}f=f+1|0}j=j+1|0}a:do if((j|0)!=(c[46481]|0)){Ow(1,99530,k)|0;a=(c[(c[46484]|0)+16>>2]|0)+192|0;while(1){b=c[a>>2]|0;if(!b)break a;d=b+16|0;a=c[d>>2]|0;if(c[a+292>>2]|0){k=qy(b)|0;a=c[(c[d>>2]|0)+292>>2]|0;c[n>>2]=k;c[n+4>>2]=a;Ow(3,99552,n)|0;a=c[d>>2]|0}a=a+164|0}}while(0);GL(m);l=o;return}function BH(){var b=0,d=0,e=0;b=(c[(c[46484]|0)+16>>2]|0)+192|0;while(1){b=c[b>>2]|0;if(!b)break;e=b+16|0;b=c[e>>2]|0;d=c[b+264>>2]|0;if(d){C_(d);b=c[e>>2]|0}d=c[b+272>>2]|0;if(d){C_(d);b=c[e>>2]|0}a[b+157>>0]=0;b=b+164|0}return}function CH(){var a=0,b=0,d=0,e=0,f=0;a=(c[(c[46484]|0)+16>>2]|0)+192|0;while(1){a=c[a>>2]|0;if(!a)break;a=c[a+16>>2]|0;c[a+280>>2]=0;a=a+164|0}f=tH(c[46481]<<2)|0;e=0;a=(c[(c[46484]|0)+16>>2]|0)+192|0;while(1){b=c[a>>2]|0;if(!b)break;d=b+16|0;a=c[d>>2]|0;if(!(c[a+280>>2]|0)){c[f+(e<<2)>>2]=PH(b)|0;b=e+1|0;a=c[d>>2]|0}else b=e;e=b;a=a+164|0}a=QH(f,e)|0;while(1){if((RH(a)|0)<=1)break;VH(a,c[(UH(TH(SH(a)|0)|0)|0)+8>>2]|0)}C_(a);a=0;while(1){if((a|0)>=(e|0))break;C_(c[f+(a<<2)>>2]|0);a=a+1|0}C_(f);if((c[46485]|0)==((c[46481]|0)+-1|0)){WH();return}else qa(99275,99305,523,99310)}function DH(){var a=0,b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0;i=c[46491]|0;f=c[46485]|0;j=c[46486]|0;k=c[46441]|0;b=0;a=0;g=i;while(1){if((g|0)>=(f|0)){h=8;break}e=c[j+(g<<2)>>2]|0;d=c[(c[e+16>>2]|0)+160>>2]|0;if((d|0)<0){if(!a)a=e;else a=(c[(c[a+16>>2]|0)+160>>2]|0)>(d|0)?e:a;b=b+1|0;if((b|0)>=(k|0))break}e=g+1|0;c[46491]=e;g=e}if((h|0)==8)if((i|0)>0){f=0;while(1){if((f|0)>=(i|0))break;d=c[j+(f<<2)>>2]|0;e=c[(c[d+16>>2]|0)+160>>2]|0;if((e|0)<0){if(!a)a=d;else a=(c[(c[a+16>>2]|0)+160>>2]|0)>(e|0)?d:a;b=b+1|0;if((b|0)>=(k|0))break}f=f+1|0}c[46491]=f}return a|0}function EH(a){a=a|0;var b=0,d=0;b=c[a>>2]&3;d=c[((b|0)==3?a:a+48|0)+40>>2]|0;a=c[((b|0)==2?a:a+-48|0)+40>>2]|0;b=(c[(c[d+16>>2]|0)+288>>2]|0)<(c[(c[a+16>>2]|0)+288>>2]|0);a=b?d:a;c[46487]=0;c[46488]=2147483647;d=c[a+16>>2]|0;c[46489]=c[d+284>>2];c[46490]=c[d+288>>2];if(b)OH(a);else NH(a);return c[46487]|0}function FH(a,b){a=a|0;b=b|0;var d=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0;o=l;l=l+16|0;n=o;g=c[b>>2]&3;m=b+-48|0;j=b+48|0;k=b+16|0;g=(c[(c[(c[((g|0)==2?b:m)+40>>2]|0)+16>>2]|0)+232>>2]|0)-(c[(c[(c[((g|0)==3?b:j)+40>>2]|0)+16>>2]|0)+232>>2]|0)-(e[(c[k>>2]|0)+170>>1]|0)|0;do if((g|0)>0){d=c[a>>2]&3;h=c[((d|0)==3?a:a+48|0)+40>>2]|0;i=c[h+16>>2]|0;if(((c[i+276>>2]|0)+(c[i+268>>2]|0)|0)==1){JH(h,g);break}d=c[((d|0)==2?a:a+-48|0)+40>>2]|0;f=c[d+16>>2]|0;if(((c[f+276>>2]|0)+(c[f+268>>2]|0)|0)==1){JH(d,0-g|0);break}if((c[i+288>>2]|0)<(c[f+288>>2]|0)){JH(h,g);break}else{JH(d,0-g|0);break}}while(0);d=a+16|0;f=c[(c[d>>2]|0)+160>>2]|0;g=c[b>>2]&3;g=KH(c[((g|0)==3?b:j)+40>>2]|0,c[((g|0)==2?b:m)+40>>2]|0,f,1)|0;i=c[b>>2]&3;if((KH(c[((i|0)==2?b:m)+40>>2]|0,c[((i|0)==3?b:j)+40>>2]|0,f,0)|0)==(g|0)){c[(c[k>>2]|0)+160>>2]=0-f;c[(c[d>>2]|0)+160>>2]=0;LH(a,b);n=c[g+16>>2]|0;MH(g,c[n+280>>2]|0,c[n+284>>2]|0)|0;l=o;return}else{Ow(1,99236,n)|0;bb(185768,1)}}function GH(){var b=0,d=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;IH();m=tH((c[46483]<<2)+4|0)|0;d=c[46483]|0;b=0;while(1){if((b|0)>(d|0))break;c[m+(b<<2)>>2]=0;b=b+1|0}b=(c[(c[46484]|0)+16>>2]|0)+192|0;d=b;while(1){d=c[d>>2]|0;if(!d)break;d=c[d+16>>2]|0;if(!(a[d+156>>0]|0)){l=m+(c[d+232>>2]<<2)|0;c[l>>2]=(c[l>>2]|0)+1}d=d+164|0}while(1){b=c[b>>2]|0;if(!b)break;l=b+16|0;b=c[l>>2]|0;if(!(a[b+156>>0]|0)){h=c[46483]|0;f=c[b+172>>2]|0;k=0;j=0;d=0;while(1){g=c[f+(d<<2)>>2]|0;if(!g)break;n=c[g+16>>2]|0;i=(c[(c[(c[((c[g>>2]&3|0)==3?g:g+48|0)+40>>2]|0)+16>>2]|0)+232>>2]|0)+(e[n+170>>1]|0)|0;k=(c[n+156>>2]|0)+k|0;j=(j|0)>(i|0)?j:i;d=d+1|0}g=c[b+180>>2]|0;i=0;d=0;while(1){f=c[g+(d<<2)>>2]|0;if(!f)break;o=c[f+16>>2]|0;n=(c[(c[(c[((c[f>>2]&3|0)==2?f:f+-48|0)+40>>2]|0)+16>>2]|0)+232>>2]|0)-(e[o+170>>1]|0)|0;i=(c[o+156>>2]|0)+i|0;h=(h|0)<(n|0)?h:n;d=d+1|0}d=(j|0)>0?j:0;if((k|0)==(i|0)){g=d;f=d;while(1){d=f+1|0;if((f|0)>=(h|0))break;g=(c[m+(d<<2)>>2]|0)<(c[m+(g<<2)>>2]|0)?d:g;f=d}o=b+232|0;n=m+(c[o>>2]<<2)|0;c[n>>2]=(c[n>>2]|0)+-1;n=m+(g<<2)|0;c[n>>2]=(c[n>>2]|0)+1;c[o>>2]=g}d=c[b+264>>2]|0;if(d){C_(d);b=c[l>>2]|0}d=c[b+272>>2]|0;if(d){C_(d);b=c[l>>2]|0}a[b+157>>0]=0}b=b+164|0}C_(m);return}function HH(){var a=0,b=0,d=0,f=0,g=0,h=0;b=0;while(1){if((b|0)>=(c[46485]|0))break;a=c[(c[46486]|0)+(b<<2)>>2]|0;do if(((c[(c[a+16>>2]|0)+160>>2]|0)==0?(d=EH(a)|0,d|0):0)?(f=c[d>>2]&3,f=(c[(c[(c[((f|0)==2?d:d+-48|0)+40>>2]|0)+16>>2]|0)+232>>2]|0)-(c[(c[(c[((f|0)==3?d:d+48|0)+40>>2]|0)+16>>2]|0)+232>>2]|0)-(e[(c[d+16>>2]|0)+170>>1]|0)|0,(f|0)>=2):0){h=c[a>>2]&3;g=c[((h|0)==3?a:a+48|0)+40>>2]|0;a=c[((h|0)==2?a:a+-48|0)+40>>2]|0;if((c[(c[g+16>>2]|0)+288>>2]|0)<(c[(c[a+16>>2]|0)+288>>2]|0)){JH(g,f>>>1);break}else{JH(a,(f|0)/-2|0);break}}while(0);b=b+1|0}BH();return}function IH(){var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0;i=l;l=l+16|0;h=i;c[h>>2]=0;c[h>>2]=2147483647;c[46483]=-2147483647;b=(c[(c[46484]|0)+16>>2]|0)+192|0;e=b;g=2147483647;f=-2147483647;while(1){d=c[e>>2]|0;if(!d)break;e=c[d+16>>2]|0;if(!(a[e+156>>0]|0)){j=c[e+232>>2]|0;d=(g|0)<(j|0)?g:j;c[h>>2]=d;f=(f|0)>(j|0)?f:j;c[46483]=f}else d=g;e=e+164|0;g=d}if(g|0){while(1){b=c[b>>2]|0;if(!b)break;b=c[b+16>>2]|0;j=b+232|0;c[j>>2]=(c[j>>2]|0)-g;b=b+164|0}c[46483]=f-g;c[h>>2]=0}l=i;return}function JH(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;f=a+16|0;a=c[f>>2]|0;e=a+232|0;c[e>>2]=(c[e>>2]|0)-b;e=0;while(1){d=c[(c[a+272>>2]|0)+(e<<2)>>2]|0;if(!d){e=0;break}if((d|0)!=(c[a+280>>2]|0)){JH(c[((c[d>>2]&3|0)==2?d:d+-48|0)+40>>2]|0,b);a=c[f>>2]|0}e=e+1|0}while(1){d=c[(c[a+264>>2]|0)+(e<<2)>>2]|0;if(!d)break;if((d|0)!=(c[a+280>>2]|0)){JH(c[((c[d>>2]&3|0)==3?d:d+48|0)+40>>2]|0,b);a=c[f>>2]|0}e=e+1|0}return}function KH(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0;g=(e|0)==0&1;h=0-d|0;f=c[(c[b+16>>2]|0)+288>>2]|0;b=a;while(1){a=c[b+16>>2]|0;if((c[a+284>>2]|0)<=(f|0)?(f|0)<=(c[a+288>>2]|0):0)break;a=c[a+280>>2]|0;i=a+48|0;j=(c[a+16>>2]|0)+160|0;c[j>>2]=(((b|0)==(c[((c[a>>2]&3|0)==3?a:i)+40>>2]|0)?e:g)|0?d:h)+(c[j>>2]|0);j=c[a>>2]&3;i=c[((j|0)==3?a:i)+40>>2]|0;a=c[((j|0)==2?a:a+-48|0)+40>>2]|0;b=(c[(c[i+16>>2]|0)+288>>2]|0)>(c[(c[a+16>>2]|0)+288>>2]|0)?i:a}return b|0}function LH(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0;i=a+16|0;e=(c[i>>2]|0)+164|0;c[(c[b+16>>2]|0)+164>>2]=c[e>>2];c[(c[46486]|0)+(c[e>>2]<<2)>>2]=b;c[(c[i>>2]|0)+164>>2]=-1;i=(c[((c[a>>2]&3|0)==3?a:a+48|0)+40>>2]|0)+16|0;e=c[i>>2]|0;g=e+276|0;f=c[g>>2]|0;j=f+-1|0;c[g>>2]=j;g=e+272|0;h=0;while(1){if((h|0)>=(f|0)){k=3;break}d=c[g>>2]|0;if((c[d+(h<<2)>>2]|0)==(a|0))break;h=h+1|0}if((k|0)==3)d=c[e+272>>2]|0;c[d+(h<<2)>>2]=c[d+(j<<2)>>2];c[(c[(c[i>>2]|0)+272>>2]|0)+(j<<2)>>2]=0;i=(c[((c[a>>2]&3|0)==2?a:a+-48|0)+40>>2]|0)+16|0;e=c[i>>2]|0;g=e+268|0;f=c[g>>2]|0;j=f+-1|0;c[g>>2]=j;g=e+264|0;h=0;while(1){if((h|0)>=(f|0)){k=8;break}d=c[g>>2]|0;if((c[d+(h<<2)>>2]|0)==(a|0))break;h=h+1|0}if((k|0)==8)d=c[e+264>>2]|0;c[d+(h<<2)>>2]=c[d+(j<<2)>>2];c[(c[(c[i>>2]|0)+264>>2]|0)+(j<<2)>>2]=0;k=(c[((c[b>>2]&3|0)==3?b:b+48|0)+40>>2]|0)+16|0;a=c[k>>2]|0;j=c[a+272>>2]|0;a=a+276|0;i=c[a>>2]|0;c[a>>2]=i+1;c[j+(i<<2)>>2]=b;k=c[k>>2]|0;c[(c[k+272>>2]|0)+(c[k+276>>2]<<2)>>2]=0;k=(c[((c[b>>2]&3|0)==2?b:b+-48|0)+40>>2]|0)+16|0;i=c[k>>2]|0;j=c[i+264>>2]|0;i=i+268|0;a=c[i>>2]|0;c[i>>2]=a+1;c[j+(a<<2)>>2]=b;k=c[k>>2]|0;c[(c[k+264>>2]|0)+(c[k+268>>2]<<2)>>2]=0;return}function MH(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0;g=a+16|0;a=c[g>>2]|0;c[a+280>>2]=b;c[a+284>>2]=d;f=0;while(1){e=c[(c[a+272>>2]|0)+(f<<2)>>2]|0;if(!e){f=0;break}if((e|0)!=(b|0)){d=MH(c[((c[e>>2]&3|0)==2?e:e+-48|0)+40>>2]|0,e,d)|0;a=c[g>>2]|0}f=f+1|0}while(1){e=c[(c[a+264>>2]|0)+(f<<2)>>2]|0;if(!e)break;if((e|0)!=(b|0)){d=MH(c[((c[e>>2]&3|0)==3?e:e+48|0)+40>>2]|0,e,d)|0;a=c[g>>2]|0}f=f+1|0}c[a+288>>2]=d;return d+1|0}function NH(a){a=a|0;var b=0,d=0,f=0,g=0,h=0,i=0,j=0;i=a+16|0;g=0;while(1){a=c[i>>2]|0;d=c[(c[a+180>>2]|0)+(g<<2)>>2]|0;if(!d){d=0;break}f=c[d+16>>2]|0;if((c[f+164>>2]|0)<0){a=c[d>>2]&3;b=c[(c[((a|0)==2?d:d+-48|0)+40>>2]|0)+16>>2]|0;j=c[b+288>>2]|0;if((c[46489]|0)>(j|0)|(j|0)>(c[46490]|0)?(h=(c[b+232>>2]|0)-(c[(c[(c[((a|0)==3?d:d+48|0)+40>>2]|0)+16>>2]|0)+232>>2]|0)-(e[f+170>>1]|0)|0,(h|0)<(c[46488]|0)|(c[46487]|0)==0):0){c[46487]=d;c[46488]=h}}else{b=c[((c[d>>2]&3|0)==2?d:d+-48|0)+40>>2]|0;if((c[(c[b+16>>2]|0)+288>>2]|0)<(c[a+288>>2]|0))NH(b)}g=g+1|0}while(1){b=c[(c[a+264>>2]|0)+(d<<2)>>2]|0;if(!((b|0)!=0&(c[46488]|0)>0))break;b=c[((c[b>>2]&3|0)==3?b:b+48|0)+40>>2]|0;if((c[(c[b+16>>2]|0)+288>>2]|0)<(c[a+288>>2]|0)){NH(b);a=c[i>>2]|0}d=d+1|0}return}function OH(a){a=a|0;var b=0,d=0,f=0,g=0,h=0,i=0,j=0;i=a+16|0;g=0;while(1){a=c[i>>2]|0;d=c[(c[a+172>>2]|0)+(g<<2)>>2]|0;if(!d){d=0;break}f=c[d+16>>2]|0;if((c[f+164>>2]|0)<0){a=c[d>>2]&3;b=c[(c[((a|0)==3?d:d+48|0)+40>>2]|0)+16>>2]|0;j=c[b+288>>2]|0;if((c[46489]|0)>(j|0)|(j|0)>(c[46490]|0)?(h=(c[(c[(c[((a|0)==2?d:d+-48|0)+40>>2]|0)+16>>2]|0)+232>>2]|0)-(c[b+232>>2]|0)-(e[f+170>>1]|0)|0,(h|0)<(c[46488]|0)|(c[46487]|0)==0):0){c[46487]=d;c[46488]=h}}else{b=c[((c[d>>2]&3|0)==3?d:d+48|0)+40>>2]|0;if((c[(c[b+16>>2]|0)+288>>2]|0)<(c[a+288>>2]|0))OH(b)}g=g+1|0}while(1){b=c[(c[a+272>>2]|0)+(d<<2)>>2]|0;if(!((b|0)!=0&(c[46488]|0)>0))break;b=c[((c[b>>2]&3|0)==2?b:b+-48|0)+40>>2]|0;if((c[(c[b+16>>2]|0)+288>>2]|0)<(c[a+288>>2]|0)){OH(b);a=c[i>>2]|0}d=d+1|0}return}function PH(a){a=a|0;var b=0;b=tH(16)|0;c[b>>2]=a;c[b+4>>2]=dI(a,b)|0;c[b+12>>2]=b;return b|0}function QH(a,b){a=a|0;b=b|0;var d=0,e=0;e=tH(8)|0;c[e>>2]=a;c[e+4>>2]=b;d=0;while(1){if((d|0)>=(b|0))break;c[(c[a+(d<<2)>>2]|0)+8>>2]=d;d=d+1|0}d=(b|0)/2|0;while(1){if((d|0)<=-1)break;VH(e,d);d=d+-1|0}return e|0}function RH(a){a=a|0;return c[a+4>>2]|0}function SH(a){a=a|0;var b=0,d=0,e=0,f=0;f=c[a>>2]|0;b=c[f>>2]|0;c[b+8>>2]=-1;d=a+4|0;e=(c[d>>2]|0)+-1|0;c[f>>2]=c[f+(e<<2)>>2];f=c[a>>2]|0;c[(c[f>>2]|0)+8>>2]=0;c[f+(e<<2)>>2]=b;c[d>>2]=e;VH(a,0);return b|0}function TH(a){a=a|0;return cI(c[a>>2]|0,0,0)|0}function UH(a){a=a|0;var b=0,d=0,f=0,g=0,h=0,i=0;b=a+16|0;if((c[(c[b>>2]|0)+164>>2]|0)>-1)qa(99324,99305,463,99338);g=a+48|0;d=_H(c[((c[a>>2]&3|0)==3?a:g)+40>>2]|0)|0;i=a+-48|0;f=_H(c[((c[a>>2]&3|0)==2?a:i)+40>>2]|0)|0;h=c[a>>2]&3;b=(c[(c[(c[((h|0)==2?a:i)+40>>2]|0)+16>>2]|0)+232>>2]|0)-(c[(c[(c[((h|0)==3?a:g)+40>>2]|0)+16>>2]|0)+232>>2]|0)-(e[(c[b>>2]|0)+170>>1]|0)|0;if((c[d+8>>2]|0)==-1)$H(c[d>>2]|0,0,b);else $H(c[f>>2]|0,0,0-b|0);aI(a);return bI(d,f)|0}function VH(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0;h=c[a>>2]|0;g=c[a+4>>2]|0;while(1){a=b<<1;f=a+2|0;a=a|1;if(!((a|0)<(g|0)?(c[(c[h+(a<<2)>>2]|0)+4>>2]|0)<(c[(c[h+(b<<2)>>2]|0)+4>>2]|0):0))a=b;if((f|0)>=(g|0))break;d=h+(f<<2)|0;e=c[d>>2]|0;if((f|0)==(b|0)?1:(c[e+4>>2]|0)>=(c[(c[h+(a<<2)>>2]|0)+4>>2]|0))break;i=h+(b<<2)|0;a=c[i>>2]|0;c[i>>2]=e;c[d>>2]=a;c[(c[i>>2]|0)+8>>2]=b;c[a+8>>2]=f;b=f}return}function WH(){MH(c[(c[(c[46484]|0)+16>>2]|0)+192>>2]|0,0,1)|0;XH(c[(c[(c[46484]|0)+16>>2]|0)+192>>2]|0,0);return}function XH(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;f=a+16|0;d=0;while(1){a=c[f>>2]|0;e=c[(c[a+272>>2]|0)+(d<<2)>>2]|0;if(!e){e=0;break}if((e|0)!=(b|0))XH(c[((c[e>>2]&3|0)==2?e:e+-48|0)+40>>2]|0,e);d=d+1|0}while(1){d=c[(c[a+264>>2]|0)+(e<<2)>>2]|0;if(!d)break;if((d|0)!=(b|0)){XH(c[((c[d>>2]&3|0)==3?d:d+48|0)+40>>2]|0,d);a=c[f>>2]|0}e=e+1|0}if(b|0)YH(b);return}function YH(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0;b=c[a>>2]&3;d=c[((b|0)==3?a:a+48|0)+40>>2]|0;e=c[d+16>>2]|0;if((c[e+280>>2]|0)==(a|0))i=1;else{e=c[((b|0)==2?a:a+-48|0)+40>>2]|0;i=-1;d=e;e=c[e+16>>2]|0}g=c[e+180>>2]|0;b=0;f=0;while(1){h=c[g+(f<<2)>>2]|0;if(!h)break;b=(ZH(h,d,i)|0)+b|0;f=f+1|0}g=c[e+172>>2]|0;e=0;while(1){f=c[g+(e<<2)>>2]|0;if(!f)break;b=(ZH(f,d,i)|0)+b|0;e=e+1|0}c[(c[a+16>>2]|0)+160>>2]=b;return}function ZH(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0;h=c[a>>2]&3;i=(h|0)==3?a:a+48|0;e=c[i+40>>2]|0;if((e|0)==(b|0))e=c[((h|0)==2?a:a+-48|0)+40>>2]|0;g=c[b+16>>2]|0;f=c[(c[e+16>>2]|0)+288>>2]|0;if((c[g+284>>2]|0)<=(f|0)?(f|0)<=(c[g+288>>2]|0):0){f=c[a+16>>2]|0;if((c[f+164>>2]|0)>-1)e=c[f+160>>2]|0;else e=0;g=1;e=e-(c[f+156>>2]|0)|0}else{g=0;e=c[(c[a+16>>2]|0)+156>>2]|0}i=(c[((d|0)>0?((h|0)==2?a:a+-48|0):i)+40>>2]|0)==(b|0)?1:-1;return (((g?i:0-i|0)|0)<0?0-e|0:e)|0}function _H(a){a=a|0;var b=0,d=0;a=c[(c[a+16>>2]|0)+280>>2]|0;while(1){b=a+12|0;d=c[b>>2]|0;if(!((d|0)!=(a|0)&(d|0)!=0))break;a=c[d+12>>2]|0;if(!a){a=d;continue}c[b>>2]=a}return a|0}function $H(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;h=a+16|0;e=c[h>>2]|0;g=e+232|0;c[g>>2]=(c[g>>2]|0)+d;g=0;while(1){f=c[(c[e+264>>2]|0)+(g<<2)>>2]|0;if(!f){g=0;break}f=c[((c[f>>2]&3|0)==3?f:f+48|0)+40>>2]|0;if((f|0)!=(b|0)){$H(f,a,d);e=c[h>>2]|0}g=g+1|0}while(1){f=c[(c[e+272>>2]|0)+(g<<2)>>2]|0;if(!f)break;f=c[((c[f>>2]&3|0)==2?f:f+-48|0)+40>>2]|0;if((f|0)!=(b|0)){$H(f,a,d);e=c[h>>2]|0}g=g+1|0}return}function aI(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0;h=l;l=l+32|0;d=(c[b+16>>2]|0)+164|0;if((c[d>>2]|0)>-1){Ow(1,99427,h)|0;bb(185768,1)}g=c[46485]|0;c[d>>2]=g;d=c[46486]|0;c[46485]=g+1;c[d+(g<<2)>>2]=b;d=c[b>>2]|0;g=b+48|0;e=c[((d&3|0)==3?b:g)+40>>2]|0;if(!(a[(c[e+16>>2]|0)+157>>0]|0)){f=c[46492]|0;d=c[46493]|0;c[46493]=d+1;c[f+(d<<2)>>2]=e;d=c[b>>2]|0}f=b+-48|0;e=c[((d&3|0)==2?b:f)+40>>2]|0;if(!(a[(c[e+16>>2]|0)+157>>0]|0)){i=c[46492]|0;d=c[46493]|0;c[46493]=d+1;c[i+(d<<2)>>2]=e;d=c[b>>2]|0}i=(c[((d&3|0)==3?b:g)+40>>2]|0)+16|0;d=c[i>>2]|0;a[d+157>>0]=1;e=c[d+272>>2]|0;d=d+276|0;g=c[d>>2]|0;c[d>>2]=g+1;c[e+(g<<2)>>2]=b;g=c[i>>2]|0;c[(c[g+272>>2]|0)+(c[g+276>>2]<<2)>>2]=0;i=c[i>>2]|0;if(!(c[(c[i+180>>2]|0)+((c[i+276>>2]|0)+-1<<2)>>2]|0)){Ow(1,99461,h+8|0)|0;bb(185768,1)}i=(c[((c[b>>2]&3|0)==2?b:f)+40>>2]|0)+16|0;e=c[i>>2]|0;a[e+157>>0]=1;f=c[e+264>>2]|0;e=e+268|0;g=c[e>>2]|0;c[e>>2]=g+1;c[f+(g<<2)>>2]=b;b=c[i>>2]|0;c[(c[b+264>>2]|0)+(c[b+268>>2]<<2)>>2]=0;i=c[i>>2]|0;if(!(c[(c[i+172>>2]|0)+((c[i+268>>2]|0)+-1<<2)>>2]|0)){Ow(1,99496,h+16|0)|0;bb(185768,1)}else{l=h;return}}function bI(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0;while(1){g=a+12|0;d=c[g>>2]|0;if((d|0)==0|(d|0)==(a|0))break;else a=d}while(1){f=b+12|0;d=c[f>>2]|0;if((d|0)==0|(d|0)==(b|0))break;else b=d}if((a|0)!=(b|0)){e=c[a+8>>2]|0;d=c[b+8>>2]|0;do if((e|0)>-1)if((d|0)==-1)h=a;else j=10;else if((d|0)>-1)if((e|0)==-1){h=b;break}else{j=10;break}else qa(99350,99305,327,99397);while(0);if((j|0)==10)h=(c[b+4>>2]|0)<(c[a+4>>2]|0)?a:b;c[f>>2]=h;c[g>>2]=h;c[h+4>>2]=(c[b+4>>2]|0)+(c[a+4>>2]|0);if((c[h+8>>2]|0)>-1)i=h;else qa(99408,99305,335,99397)}else i=a;return i|0}function cI(a,b,d){a=a|0;b=b|0;d=d|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;l=_H(a)|0;if(d){k=c[d>>2]&3;if(((c[(c[(c[((k|0)==2?d:d+-48|0)+40>>2]|0)+16>>2]|0)+232>>2]|0)-(c[(c[(c[((k|0)==3?d:d+48|0)+40>>2]|0)+16>>2]|0)+232>>2]|0)|0)!=(e[(c[d+16>>2]|0)+170>>1]|0|0))f=3}else{d=0;f=3}a:do if((f|0)==3){k=a+16|0;j=0;while(1){f=c[k>>2]|0;i=c[(c[f+180>>2]|0)+(j<<2)>>2]|0;if(!i){j=0;break}f=i+16|0;g=i+-48|0;h=c[((c[i>>2]&3|0)==2?i:g)+40>>2]|0;do if((c[(c[f>>2]|0)+164>>2]|0)>-1){if((h|0)!=(b|0))d=cI(h,a,d)|0}else if((_H(h)|0)!=(l|0)){if(d|0?(m=c[i>>2]&3,h=c[d>>2]&3,((c[(c[(c[((m|0)==2?i:g)+40>>2]|0)+16>>2]|0)+232>>2]|0)-(c[(c[(c[((m|0)==3?i:i+48|0)+40>>2]|0)+16>>2]|0)+232>>2]|0)-(e[(c[f>>2]|0)+170>>1]|0)|0)>=((c[(c[(c[((h|0)==2?d:d+-48|0)+40>>2]|0)+16>>2]|0)+232>>2]|0)-(c[(c[(c[((h|0)==3?d:d+48|0)+40>>2]|0)+16>>2]|0)+232>>2]|0)-(e[(c[d+16>>2]|0)+170>>1]|0)|0)):0)break;d=i}while(0);j=j+1|0}while(1){f=c[(c[f+172>>2]|0)+(j<<2)>>2]|0;if(!f)break a;g=f+16|0;h=f+48|0;i=c[((c[f>>2]&3|0)==3?f:h)+40>>2]|0;do if((c[(c[g>>2]|0)+164>>2]|0)>-1){if((i|0)!=(b|0))d=cI(i,a,d)|0}else if((_H(i)|0)!=(l|0)){if(d|0?(i=c[f>>2]&3,m=c[d>>2]&3,((c[(c[(c[((i|0)==2?f:f+-48|0)+40>>2]|0)+16>>2]|0)+232>>2]|0)-(c[(c[(c[((i|0)==3?f:h)+40>>2]|0)+16>>2]|0)+232>>2]|0)-(e[(c[g>>2]|0)+170>>1]|0)|0)>=((c[(c[(c[((m|0)==2?d:d+-48|0)+40>>2]|0)+16>>2]|0)+232>>2]|0)-(c[(c[(c[((m|0)==3?d:d+48|0)+40>>2]|0)+16>>2]|0)+232>>2]|0)-(e[(c[d+16>>2]|0)+170>>1]|0)|0)):0)break;d=f}while(0);j=j+1|0;f=c[k>>2]|0}}while(0);return d|0}function dI(a,b){a=a|0;b=b|0;var d=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;l=a+16|0;d=c[l>>2]|0;c[d+280>>2]=b;a=1;h=0;while(1){g=c[(c[d+172>>2]|0)+(h<<2)>>2]|0;if(!g){h=0;break}f=c[g+16>>2]|0;if(((c[f+164>>2]|0)<=-1?(i=c[g>>2]&3,j=g+48|0,k=c[(c[((i|0)==3?g:j)+40>>2]|0)+16>>2]|0,(c[k+280>>2]|0)==0):0)?((c[(c[(c[((i|0)==2?g:g+-48|0)+40>>2]|0)+16>>2]|0)+232>>2]|0)-(c[k+232>>2]|0)|0)==(e[f+170>>1]|0|0):0){aI(g);a=(dI(c[((c[g>>2]&3|0)==3?g:j)+40>>2]|0,b)|0)+a|0;d=c[l>>2]|0}h=h+1|0}while(1){f=c[(c[d+180>>2]|0)+(h<<2)>>2]|0;if(!f)break;g=c[f+16>>2]|0;if(((c[g+164>>2]|0)<=-1?(m=c[f>>2]&3,n=f+-48|0,o=c[(c[((m|0)==2?f:n)+40>>2]|0)+16>>2]|0,(c[o+280>>2]|0)==0):0)?((c[o+232>>2]|0)-(c[(c[(c[((m|0)==3?f:f+48|0)+40>>2]|0)+16>>2]|0)+232>>2]|0)|0)==(e[g+170>>1]|0|0):0){aI(f);a=(dI(c[((c[f>>2]&3|0)==2?f:n)+40>>2]|0,b)|0)+a|0;d=c[l>>2]|0}h=h+1|0}return a|0}function eI(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;d=wx(a,99560)|0;if(!d)d=30;else d=$1(d)|0;return xH(a,b,c,d)|0}function fI(a){a=+a;return +((c[46369]|0)==0?a:+h[22916]-a)}function gI(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0.0,t=0.0,u=0;r=l;l=l+16|0;q=r;c[46494]=c[(c[(c[d+64>>2]|0)+8>>2]|0)+4>>2];hI(d);i=c[d+16>>2]|0;t=+h[i+32>>3];s=+h[i+40>>3];iI(e,99571,+h[b+352>>3]);iI(e,99578,t*.013888888888888888);iI(e,99578,s*.013888888888888888);jI(e);i=Ry(d)|0;while(1){if(!i)break;g=i+16|0;if(!(a[(c[g>>2]|0)+118>>0]|0)){kI(e,99580,IA(qy(i)|0)|0);p=(c[g>>2]|0)+16|0;c[q>>2]=c[p>>2];c[q+4>>2]=c[p+4>>2];c[q+8>>2]=c[p+8>>2];c[q+12>>2]=c[p+12>>2];lI(e,q);if(!(a[(c[(c[g>>2]|0)+104>>2]|0)+82>>0]|0)){b=dz(i)|0;b=mI(b,c[c[(c[g>>2]|0)+104>>2]>>2]|0)|0}else b=IA(xx(i,c[46384]|0)|0)|0;iI(e,99578,+h[(c[g>>2]|0)+32>>3]);iI(e,99578,+h[(c[g>>2]|0)+40>>3]);kI(e,99578,b);kI(e,99578,NL(i,c[46387]|0,108041)|0);kI(e,99578,c[c[(c[g>>2]|0)+8>>2]>>2]|0);kI(e,99578,NL(i,c[46378]|0,134232)|0);b=NL(i,c[46379]|0,191979)|0;if(!(a[b>>0]|0))b=NL(i,c[46378]|0,131718)|0;kI(e,99578,b);jI(e)}i=Sy(d,i)|0}o=f<<24>>24==0;n=Ry(d)|0;while(1){if(!n)break;m=Dx(d,n)|0;while(1){if(!m)break;if(o){f=191979;j=191979}else{j=wx(m,108373)|0;f=wx(m,108382)|0;f=f|0?f:191979;j=j|0?j:191979}p=m+16|0;b=c[p>>2]|0;k=c[b+8>>2]|0;a:do if(k){i=c[k+4>>2]|0;b=0;g=0;while(1){if((b|0)>=(i|0))break;u=(c[(c[k>>2]|0)+(b*48|0)+4>>2]|0)+g|0;b=b+1|0;g=u}kI(e,0,108368);nI(e,c[((c[m>>2]&3|0)==3?m:m+48|0)+40>>2]|0,j);nI(e,c[((c[m>>2]&3|0)==2?m:m+-48|0)+40>>2]|0,f);oI(e,g);f=0;while(1){b=c[p>>2]|0;g=c[b+8>>2]|0;if((f|0)>=(c[g+4>>2]|0))break a;i=c[g>>2]|0;g=c[i+(f*48|0)>>2]|0;i=c[i+(f*48|0)+4>>2]|0;b=0;while(1){if((b|0)>=(i|0))break;u=g+(b<<4)|0;c[q>>2]=c[u>>2];c[q+4>>2]=c[u+4>>2];c[q+8>>2]=c[u+8>>2];c[q+12>>2]=c[u+12>>2];lI(e,q);b=b+1|0}f=f+1|0}}while(0);if(c[b+96>>2]|0){u=dz(c[((c[m>>2]&3|0)==3?m:m+48|0)+40>>2]|0)|0;kI(e,99578,mI(u,c[c[(c[p>>2]|0)+96>>2]>>2]|0)|0);u=(c[(c[p>>2]|0)+96>>2]|0)+56|0;c[q>>2]=c[u>>2];c[q+4>>2]=c[u+4>>2];c[q+8>>2]=c[u+8>>2];c[q+12>>2]=c[u+12>>2];lI(e,q)}kI(e,99578,NL(m,c[46415]|0,108041)|0);kI(e,99578,NL(m,c[46406]|0,134232)|0);jI(e);m=Fx(d,m)|0}n=Sy(d,n)|0}pI(99586,e);l=r;return}function hI(a){a=a|0;var b=0.0;if(c[46369]|0){a=c[a+16>>2]|0;b=+h[a+24>>3]+ +h[a+40>>3];h[22916]=b;h[22917]=b*.013888888888888888}return}function iI(a,b,c){a=a|0;b=b|0;c=+c;var d=0,e=0,f=0;f=l;l=l+1040|0;e=f;d=f+8|0;if(b|0)pI(b,a);h[e>>3]=c;X0(d,99592,e)|0;pI(d,a);l=f;return}function jI(b){b=b|0;a[191875]=10;lb[c[46494]&127](b,191875)|0;return}function kI(a,b,c){a=a|0;b=b|0;c=c|0;if(b|0)pI(b,a);pI(c,a);return}function lI(a,b){a=a|0;b=b|0;var d=0.0;iI(a,99578,+h[b>>3]*.013888888888888888);if(!(c[46369]|0))d=+h[b+8>>3];else d=+h[22916]-+h[b+8>>3];iI(a,99578,d*.013888888888888888);return}function mI(a,b){a=a|0;b=b|0;var c=0;c=Nz(a,b)|0;b=IA(c)|0;Pz(a,c)|0;return b|0}function nI(b,d,e){b=b|0;d=d|0;e=e|0;var f=0;if(!(a[(c[d+16>>2]|0)+118>>0]|0))d=IA(qy(d)|0)|0;else{f=dz(d)|0;d=mI(f,(z$(qy(d)|0,58)|0)+1|0)|0}kI(b,99578,d);if(e|0?a[e>>0]|0:0)kI(b,104958,IA(e)|0);return}function oI(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=l;l=l+1040|0;f=d;e=d+8|0;pI(99578,a);c[f>>2]=b;X0(e,134313,f)|0;pI(e,a);l=d;return}function pI(a,b){a=a|0;b=b|0;lb[c[46494]&127](b,a)|0;return}function qI(d,f,g){d=d|0;f=f|0;g=g|0;var i=0,j=0,k=0,m=0.0,n=0,o=0.0,p=0,q=0.0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0;Y=l;l=l+2288|0;W=Y+208|0;V=Y+192|0;U=Y+176|0;T=Y+160|0;S=Y+144|0;R=Y+128|0;P=Y+112|0;O=Y+96|0;N=Y+80|0;M=Y+64|0;L=Y+56|0;K=Y+48|0;X=Y+32|0;Q=Y+24|0;J=Y;G=Y+1264|0;H=Y+224|0;I=d+16|0;C=(e[(c[I>>2]|0)+178>>1]|0)>2;BG(1);hI(d);Sw(H,1024,Y+240|0);KM(d,1,99597,191979)|0;KM(d,1,99601,191979)|0;c[46376]=KM(d,1,138034,191979)|0;c[46375]=KM(d,1,137966,191979)|0;KM(d,2,99597,191979)|0;i=a[(c[I>>2]|0)+113>>0]|0;if(i&16){KM(d,1,99607,191979)|0;i=a[(c[I>>2]|0)+113>>0]|0}if(i&1){KM(d,2,99611,191979)|0;i=a[(c[I>>2]|0)+113>>0]|0}if(i&32){KM(d,2,99607,191979)|0;i=a[(c[I>>2]|0)+113>>0]|0}if(i&2){KM(d,2,99614,191979)|0;i=a[(c[I>>2]|0)+113>>0]|0}if(i&4){KM(d,2,99622,191979)|0;i=a[(c[I>>2]|0)+113>>0]|0}if(!(i&8)){v=0;w=0;x=0}else{x=KM(d,0,99611,191979)|0;w=KM(d,0,99630,191979)|0;v=KM(d,0,99637,191979)|0}z=KM(d,0,99645,191979)|0;A=H+4|0;B=H+8|0;u=0;i=0;y=Ry(d)|0;while(1){if(!y)break;t=y+16|0;k=c[t>>2]|0;o=+h[k+16>>3];j=(c[46369]|0)==0;if(C){if(j)m=+h[k+24>>3];else m=+h[22916]-+h[k+24>>3];q=+h[(c[k+132>>2]|0)+16>>3]*72.0;h[J>>3]=o;h[J+8>>3]=m;h[J+16>>3]=q;X0(G,99648,J)|0;Vw(H,G)|0;j=3;while(1){if((j|0)>=(e[(c[I>>2]|0)+178>>1]|0))break;h[Q>>3]=+h[(c[(c[t>>2]|0)+132>>2]|0)+(j<<3)>>3]*72.0;X0(G,99663,Q)|0;Vw(H,G)|0;j=j+1|0}j=c[A>>2]|0;if(j>>>0>=(c[B>>2]|0)>>>0){Tw(H,1)|0;j=c[A>>2]|0}a[j>>0]=0;s=c[H>>2]|0;c[A>>2]=s;yx(y,99597,s)|0;s=y}else{if(j)m=+h[k+24>>3];else m=+h[22916]-+h[k+24>>3];h[X>>3]=o;h[X+8>>3]=m;X0(G,99669,X)|0;yx(y,99597,G)|0;s=y}h[K>>3]=+h[(c[t>>2]|0)+80>>3]*.013888888888888888;X0(G,99592,K)|0;qx(s,c[46375]|0,G)|0;j=c[t>>2]|0;h[L>>3]=(+h[j+96>>3]+ +h[j+88>>3])*.013888888888888888;X0(G,99592,L)|0;qx(s,c[46376]|0,G)|0;j=c[t>>2]|0;k=c[j+108>>2]|0;if((k|0)!=0?(a[k+81>>0]|0)!=0:0){q=+h[k+64>>3];q=(c[46369]|0)==0?q:+h[22916]-q;h[M>>3]=+h[k+56>>3];h[M+8>>3]=q;X0(G,99669,M)|0;yx(s,99607,G)|0;j=c[t>>2]|0}if(a$(c[c[j+8>>2]>>2]|0,103194)|0){if(c[46400]|0?(TJ(y)|0)<<24>>24:0){k=c[(c[t>>2]|0)+12>>2]|0;r=k+8|0;j=c[r>>2]|0;if((j|0)<3){j=wx(s,99679)|0;if(!j)j=8;else j=$1(j)|0;j=(j|0)<3?8:j}p=k+44|0;q=1.0/+(j|0);n=0;while(1){if((n|0)>=(j|0))break;if((n|0)>0){k=c[A>>2]|0;if(k>>>0>=(c[B>>2]|0)>>>0){Tw(H,1)|0;k=c[A>>2]|0}c[A>>2]=k+1;a[k>>0]=32}if((c[r>>2]|0)>2){k=c[p>>2]|0;if(!(c[46369]|0))m=+h[k+(n<<4)+8>>3]*.013888888888888888;else m=+h[22917]-+h[k+(n<<4)+8>>3]*.013888888888888888;h[N>>3]=+h[k+(n<<4)>>3]*.013888888888888888;h[N+8>>3]=m;X0(G,99692,N)|0}else{k=c[t>>2]|0;m=q*+(n|0)*6.283185307179586;o=+h[k+32>>3]*.5*+E(+m);if(!(c[46369]|0))m=+h[k+40>>3]*.5*+F(+m);else m=+h[22917]-+h[k+40>>3]*.5*+F(+m);h[O>>3]=o;h[O+8>>3]=m;X0(G,99692,O)|0}Vw(H,G)|0;n=n+1|0}k=c[46400]|0;j=c[A>>2]|0;if(j>>>0>=(c[B>>2]|0)>>>0){Tw(H,1)|0;j=c[A>>2]|0}a[j>>0]=0;t=c[H>>2]|0;c[A>>2]=t;qx(s,k,t)|0}}else{rI(y,c[j+12>>2]|0,H);Xw(H)|0;j=c[A>>2]|0;if(j>>>0>=(c[B>>2]|0)>>>0){Tw(H,1)|0;j=c[A>>2]|0}a[j>>0]=0;t=c[H>>2]|0;c[A>>2]=t;yx(s,99601,t)|0}a:do if((c[46367]|0)>0){t=Dx(d,y)|0;j=u;while(1){if(!t)break a;s=t+16|0;k=c[s>>2]|0;do if((a[k+112>>0]|0)!=6?(D=c[k+8>>2]|0,(D|0)!=0):0){r=0;k=D;while(1){if((r|0)>=(c[k+4>>2]|0))break;if((r|0)>0){k=c[A>>2]|0;if(k>>>0>=(c[B>>2]|0)>>>0){Tw(H,1)|0;k=c[A>>2]|0}c[A>>2]=k+1;a[k>>0]=59;k=c[(c[s>>2]|0)+8>>2]|0}k=c[k>>2]|0;if(c[k+(r*48|0)+8>>2]|0){if(!(c[46369]|0))m=+h[k+(r*48|0)+24>>3];else m=+h[22916]-+h[k+(r*48|0)+24>>3];h[P>>3]=+h[k+(r*48|0)+16>>3];h[P+8>>3]=m;X0(G,99702,P)|0;Vw(H,G)|0;i=1;k=c[c[(c[s>>2]|0)+8>>2]>>2]|0}if(c[k+(r*48|0)+12>>2]|0){if(!(c[46369]|0))m=+h[k+(r*48|0)+40>>3];else m=+h[22916]-+h[k+(r*48|0)+40>>3];h[R>>3]=+h[k+(r*48|0)+32>>3];h[R+8>>3]=m;X0(G,99715,R)|0;Vw(H,G)|0;j=1}p=0;while(1){k=c[(c[s>>2]|0)+8>>2]|0;n=c[k>>2]|0;if((p|0)>=(c[n+(r*48|0)+4>>2]|0))break;if((p|0)>0){k=c[A>>2]|0;if(k>>>0>=(c[B>>2]|0)>>>0){Tw(H,1)|0;k=c[A>>2]|0}c[A>>2]=k+1;a[k>>0]=32;k=c[c[(c[s>>2]|0)+8>>2]>>2]|0}else k=n;u=c[k+(r*48|0)>>2]|0;q=+h[u+(p<<4)+8>>3];q=(c[46369]|0)==0?q:+h[22916]-q;h[S>>3]=+h[u+(p<<4)>>3];h[S+8>>3]=q;X0(G,99669,S)|0;Vw(H,G)|0;p=p+1|0}r=r+1|0}k=c[A>>2]|0;if(k>>>0>=(c[B>>2]|0)>>>0){Tw(H,1)|0;k=c[A>>2]|0}a[k>>0]=0;k=c[H>>2]|0;c[A>>2]=k;yx(t,99597,k)|0;k=c[s>>2]|0;n=c[k+96>>2]|0;if(n){q=+h[n+64>>3];q=(c[46369]|0)==0?q:+h[22916]-q;h[T>>3]=+h[n+56>>3];h[T+8>>3]=q;X0(G,99669,T)|0;yx(t,99611,G)|0;k=c[s>>2]|0}n=c[k+108>>2]|0;do if(n){if(!(a[n+81>>0]|0))break;q=+h[n+64>>3];q=(c[46369]|0)==0?q:+h[22916]-q;h[U>>3]=+h[n+56>>3];h[U+8>>3]=q;X0(G,99669,U)|0;yx(t,99607,G)|0;k=c[s>>2]|0}while(0);n=c[k+100>>2]|0;if(n){q=+h[n+64>>3];q=(c[46369]|0)==0?q:+h[22916]-q;h[V>>3]=+h[n+56>>3];h[V+8>>3]=q;X0(G,99669,V)|0;yx(t,99614,G)|0;k=c[s>>2]|0}k=c[k+104>>2]|0;if(!k)break;q=+h[k+64>>3];q=(c[46369]|0)==0?q:+h[22916]-q;h[W>>3]=+h[k+56>>3];h[W+8>>3]=q;X0(G,99669,W)|0;yx(t,99622,G)|0}while(0);t=Fx(d,t)|0}}else j=u;while(0);u=j;y=Sy(d,y)|0}sI(d,z,x,w,v);Ww(H);if(b[(c[I>>2]|0)+136>>1]&1)EM(d);c[f>>2]=i;c[g>>2]=u;BG(0);l=Y;return}function rI(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0.0,g=0.0,i=0.0,j=0,k=0,m=0,n=0,o=0.0;n=l;l=l+1056|0;k=n;j=n+32|0;m=b+48|0;if(!(c[m>>2]|0)){e=c[a+16>>2]|0;i=+h[e+16>>3];if(!(c[46369]|0)){g=+h[e+24>>3];f=g+ +h[b+24>>3];g=g+ +h[b+40>>3]}else{g=+h[e+24>>3];f=+h[22916]-+h[b+24>>3]-g;g=+h[22916]-+h[b+40>>3]-g}o=i+ +h[b+32>>3];h[k>>3]=i+ +h[b+16>>3];h[k+8>>3]=f;h[k+16>>3]=o;h[k+24>>3]=g;X0(j,99753,k)|0;Vw(d,j)|0}b=b+56|0;e=0;while(1){if((e|0)>=(c[m>>2]|0))break;rI(a,c[(c[b>>2]|0)+(e<<2)>>2]|0,d);e=e+1|0}l=n;return}function sI(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var i=0,j=0,k=0.0,m=0.0,n=0,o=0,p=0,q=0,r=0,s=0,t=0.0;s=l;l=l+1088|0;o=s+56|0;q=s+48|0;p=s+32|0;j=s;n=s+64|0;r=b+16|0;i=c[r>>2]|0;if(!(c[46369]|0)){k=+h[i+24>>3];m=+h[i+40>>3]}else{m=+h[22916];k=m-+h[i+24>>3];m=m-+h[i+40>>3]}t=+h[i+32>>3];h[j>>3]=+h[i+16>>3];h[j+8>>3]=k;h[j+16>>3]=t;h[j+24>>3]=m;X0(n,99728,j)|0;qx(b,d,n)|0;i=c[(c[r>>2]|0)+12>>2]|0;if((i|0)!=0?(a[c[i>>2]>>0]|0)!=0:0){t=+h[i+64>>3];t=(c[46369]|0)==0?t:+h[22916]-t;h[p>>3]=+h[i+56>>3];h[p+8>>3]=t;X0(n,99669,p)|0;qx(b,e,n)|0;i=c[(c[r>>2]|0)+12>>2]|0;t=+h[i+32>>3];h[q>>3]=+h[i+24>>3]*.013888888888888888;X0(n,99748,q)|0;qx(b,f,n)|0;h[o>>3]=t*.013888888888888888;X0(n,99748,o)|0;qx(b,g,n)|0;i=1}else i=1;while(1){j=c[r>>2]|0;if((i|0)>(c[j+180>>2]|0))break;sI(c[(c[j+184>>2]|0)+(i<<2)>>2]|0,d,e,f,g);i=i+1|0}l=s;return}function tI(a){a=a|0;var b=0;b=l;l=l+16|0;qI(a,b,b+4|0);l=b;return}function uI(){return Bw(20636,c[4555]|0)|0}function vI(a,b,c){a=a|0;b=b|0;c=c|0;C_(b);return}function wI(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;a=c[b>>2]|0;e=c[d>>2]|0;if((a|0)<=(e|0))if((a|0)<(e|0))a=-1;else{b=c[b+4>>2]|0;d=c[d+4>>2]|0;return ((b|0)>(d|0)?1:((b|0)<(d|0))<<31>>31)|0}else a=1;return a|0}function xI(a){a=a|0;xw(a)|0;return}function yI(a,b){a=a|0;b=b|0;var d=0,e=0;d=l;l=l+16|0;e=d;c[e>>2]=c[b>>2];c[e+4>>2]=c[b+4>>2];b=zI(e)|0;if((nb[c[a>>2]&63](a,b,1)|0)!=(b|0))C_(b);l=d;return}function zI(a){a=a|0;var b=0,d=0,e=0;b=tH(16)|0;e=a;d=c[e+4>>2]|0;a=b+8|0;c[a>>2]=c[e>>2];c[a+4>>2]=d;return b|0}function AI(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0;e=l;l=l+16|0;f=e+8|0;g=e;c[g>>2]=b;c[g+4>>2]=d;c[f>>2]=c[g>>2];c[f+4>>2]=c[g+4>>2];b=zI(f)|0;if((nb[c[a>>2]&63](a,b,1)|0)!=(b|0))C_(b);l=e;return}function BI(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;d=l;l=l+16|0;e=d;g=b;f=c[g+4>>2]|0;b=e+8|0;c[b>>2]=c[g>>2];c[b+4>>2]=f;b=(nb[c[a>>2]&63](a,e,4)|0)!=0&1;l=d;return b|0}function CI(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;e=l;l=l+16|0;f=e;c[f+8>>2]=b;c[f+12>>2]=d;d=(nb[c[a>>2]&63](a,f,4)|0)!=0&1;l=e;return d|0}function DI(a){a=a|0;return Dw(a)|0}function EI(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;d=tH((Dw(a)|0)<<3)|0;b=d;a=zw(a)|0;while(1){if(!a)break;g=a+8|0;f=c[g+4>>2]|0;e=b;c[e>>2]=c[g>>2];c[e+4>>2]=f;b=b+8|0;a=c[a>>2]|0}return d|0}function FI(){var a=0,b=0,d=0,e=0;a=uH(40)|0;b=a;d=20672;e=b+36|0;do{c[b>>2]=c[d>>2];b=b+4|0;d=d+4|0}while((b|0)<(e|0));c[a+36>>2]=0;return Bw(a,c[4555]|0)|0}function GI(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;d=d+36|0;a=c[d>>2]|0;if(!a)a=uH(20)|0;else c[d>>2]=c[a>>2];f=b+8|0;e=c[f+4>>2]|0;d=a+8|0;c[d>>2]=c[f>>2];c[d+4>>2]=e;c[a+16>>2]=c[b+16>>2];return a|0}function HI(a,b,d){a=a|0;b=b|0;d=d|0;d=d+36|0;c[b>>2]=c[d>>2];c[d>>2]=b;return}function II(a){a=a|0;nb[c[a>>2]&63](a,0,64)|0;return}function JI(a){a=a|0;var b=0,d=0;b=c[a+4>>2]|0;xw(a)|0;a=c[b+36>>2]|0;while(1){if(!a)break;d=c[a>>2]|0;C_(a);a=d}C_(b);return}function KI(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0;f=l;l=l+32|0;g=f;c[g+8>>2]=b;c[g+12>>2]=d;c[g+16>>2]=e;e=c[(nb[c[a>>2]&63](a,g,1)|0)+16>>2]|0;l=f;return e|0}function LI(a,b){a=a|0;b=b|0;var d=0,e=0.0,f=0.0,g=0.0,i=0.0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;t=l;l=l+160|0;q=t+144|0;d=t+48|0;j=t+128|0;k=t+112|0;m=t+96|0;n=t+80|0;o=t+32|0;p=t+16|0;r=t;s=a+16|0;a=c[s>>2]|0;e=+h[a+16>>3];f=+h[a+24>>3];g=+h[a+32>>3];i=+h[a+40>>3];if((b+-1|0)>>>0<2){MI(j,e,i);c[q>>2]=c[j>>2];c[q+4>>2]=c[j+4>>2];c[q+8>>2]=c[j+8>>2];c[q+12>>2]=c[j+12>>2];NI(d,q);p=d+16|0;MI(k,g,f);c[q>>2]=c[k>>2];c[q+4>>2]=c[k+4>>2];c[q+8>>2]=c[k+8>>2];c[q+12>>2]=c[k+12>>2];NI(m,q);c[p>>2]=c[m>>2];c[p+4>>2]=c[m+4>>2];c[p+8>>2]=c[m+8>>2];c[p+12>>2]=c[m+12>>2]}else{MI(n,e,f);c[q>>2]=c[n>>2];c[q+4>>2]=c[n+4>>2];c[q+8>>2]=c[n+8>>2];c[q+12>>2]=c[n+12>>2];NI(d,q);n=d+16|0;MI(o,g,i);c[q>>2]=c[o>>2];c[q+4>>2]=c[o+4>>2];c[q+8>>2]=c[o+8>>2];c[q+12>>2]=c[o+12>>2];NI(p,q);c[n>>2]=c[p>>2];c[n+4>>2]=c[p+4>>2];c[n+8>>2]=c[p+8>>2];c[n+12>>2]=c[p+12>>2]}a=(c[s>>2]|0)+16|0;c[a>>2]=c[d>>2];c[a+4>>2]=c[d+4>>2];c[a+8>>2]=c[d+8>>2];c[a+12>>2]=c[d+12>>2];c[a+16>>2]=c[d+16>>2];c[a+20>>2]=c[d+20>>2];c[a+24>>2]=c[d+24>>2];c[a+28>>2]=c[d+28>>2];a=c[(c[s>>2]|0)+12>>2]|0;if(!a)a=1;else{a=a+56|0;c[q>>2]=c[a>>2];c[q+4>>2]=c[a+4>>2];c[q+8>>2]=c[a+8>>2];c[q+12>>2]=c[a+12>>2];NI(r,q);c[a>>2]=c[r>>2];c[a+4>>2]=c[r+4>>2];c[a+8>>2]=c[r+8>>2];c[a+12>>2]=c[r+12>>2];a=1}while(1){d=c[s>>2]|0;if((a|0)>(c[d+180>>2]|0))break;LI(c[(c[d+184>>2]|0)+(a<<2)>>2]|0,b);a=a+1|0}l=t;return}function MI(a,b,c){a=a|0;b=+b;c=+c;h[a>>3]=b;h[a+8>>3]=c;return}function NI(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;d=l;l=l+32|0;g=d+16|0;e=d;f=(c[46495]|0)*90|0;c[g>>2]=c[b>>2];c[g+4>>2]=c[b+4>>2];c[g+8>>2]=c[b+8>>2];c[g+12>>2]=c[b+12>>2];YG(e,g,f);c[b>>2]=c[e>>2];c[b+4>>2]=c[e+4>>2];c[b+8>>2]=c[e+8>>2];c[b+12>>2]=c[e+12>>2];h[b>>3]=+h[b>>3]-+h[22918];e=b+8|0;h[e>>3]=+h[e>>3]-+h[22919];c[a>>2]=c[b>>2];c[a+4>>2]=c[b+4>>2];c[a+8>>2]=c[b+8>>2];c[a+12>>2]=c[b+12>>2];l=d;return}function OI(b,d){b=b|0;d=d|0;var e=0,f=0.0,g=0,i=0,j=0.0,k=0.0,m=0,n=0.0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0;w=l;l=l+1168|0;s=w+144|0;v=w+96|0;u=w+64|0;t=w+48|0;o=w+32|0;p=w+16|0;q=w;c[t>>2]=0;c[t+4>>2]=0;c[t+8>>2]=0;c[t+12>>2]=0;r=b+16|0;m=c[(c[r>>2]|0)+116>>2]|0;c[46495]=m&3;m=m&1;a[191877]=m;if(!(m<<24>>24))QI(b);else PI(b);RI(b);m=c[r>>2]|0;e=c[m+12>>2]|0;do if(e|0?(a[e+81>>0]|0)==0:0){g=e+24|0;c[t>>2]=c[g>>2];c[t+4>>2]=c[g+4>>2];c[t+8>>2]=c[g+8>>2];c[t+12>>2]=c[g+12>>2];n=+h[t>>3]+16.0;h[t>>3]=n;g=t+8|0;f=+h[g>>3]+8.0;h[g>>3]=f;g=(a[m+275>>0]&1)!=0;if(a[191877]|0){if(g){i=m+32|0;h[i>>3]=+h[i>>3]+f}else{i=m+16|0;h[i>>3]=+h[i>>3]-f}g=m+40|0;f=+h[g>>3];i=m+24|0;j=+h[i>>3];k=f-j;if(!(n>k))break;n=(n-k)*.5;h[i>>3]=j-n;h[g>>3]=f+n;break}i=(c[46495]|0)==0;do if(g)if(i){i=m+40|0;h[i>>3]=+h[i>>3]+f;break}else{i=m+24|0;h[i>>3]=+h[i>>3]-f;break}else if(i){i=m+24|0;h[i>>3]=+h[i>>3]-f;break}else{i=m+40|0;h[i>>3]=+h[i>>3]+f;break}while(0);g=m+32|0;f=+h[g>>3];i=m+16|0;j=+h[i>>3];k=f-j;if(n>k){n=(n-k)*.5;h[i>>3]=j-n;h[g>>3]=f+n}}while(0);if(d){switch(c[46495]|0){case 0:{q=m+16|0;c[45836]=c[q>>2];c[45837]=c[q+4>>2];c[45838]=c[q+8>>2];c[45839]=c[q+12>>2];break}case 1:{MI(o,-+h[m+40>>3],+h[m+16>>3]);c[45836]=c[o>>2];c[45837]=c[o+4>>2];c[45838]=c[o+8>>2];c[45839]=c[o+12>>2];break}case 2:{MI(p,+h[m+16>>3],-+h[m+40>>3]);c[45836]=c[p>>2];c[45837]=c[p+4>>2];c[45838]=c[p+8>>2];c[45839]=c[p+12>>2];break}case 3:{MI(q,+h[m+24>>3],+h[m+16>>3]);c[45836]=c[q>>2];c[45837]=c[q+4>>2];c[45838]=c[q+8>>2];c[45839]=c[q+12>>2];break}default:{}}SI(b);e=c[(c[r>>2]|0)+12>>2]|0}if(e|0?(a[e+81>>0]|0)==0:0){c[s>>2]=c[t>>2];c[s+4>>2]=c[t+4>>2];c[s+8>>2]=c[t+8>>2];c[s+12>>2]=c[t+12>>2];TI(b,s)}if(!0){l=w;return}if(!(a[191877]|0)){n=+h[22919];k=+h[22918];h[v>>3]=n;h[v+8>>3]=k;h[v+16>>3]=n;h[v+24>>3]=k;h[v+32>>3]=-k;h[v+40>>3]=-n;X0(s,99989,v)|0}else{k=+h[22918];n=+h[22919];h[u>>3]=k;h[u+8>>3]=n;h[u+16>>3]=k;h[u+24>>3]=n;X0(s,99774,u)|0}m1(s)|0;ab()}function PI(b){b=b|0;var d=0,e=0.0,f=0.0,g=0,i=0,j=0;j=b+16|0;if(((ez(b)|0)!=(b|0)?(g=c[j>>2]|0,i=c[g+12>>2]|0,(i|0)!=0):0)?(a[i+81>>0]|0)==0:0){d=a[g+275>>0]|0;if(!(d&1)){f=+h[g+16>>3]+ +h[g+96>>3]*.5;b=g+104|0}else{f=+h[g+32>>3]-+h[g+64>>3]*.5;b=g+72|0}e=+h[b>>3];b=d<<24>>24;do if(!(b&4))if(!(b&2)){e=(+h[g+40>>3]+ +h[g+24>>3])*.5;break}else{e=+h[g+40>>3]-e*.5;break}else e=+h[g+24>>3]+e*.5;while(0);h[i+56>>3]=f;h[i+64>>3]=e;a[(c[(c[j>>2]|0)+12>>2]|0)+81>>0]=1;b=1}else b=1;while(1){d=c[j>>2]|0;if((b|0)>(c[d+180>>2]|0))break;PI(c[(c[d+184>>2]|0)+(b<<2)>>2]|0);b=b+1|0}return}function QI(b){b=b|0;var d=0,e=0.0,f=0.0,g=0.0,i=0,j=0,k=0;k=b+16|0;if(((ez(b)|0)!=(b|0)?(i=c[k>>2]|0,j=c[i+12>>2]|0,(j|0)!=0):0)?(a[j+81>>0]|0)==0:0){d=a[i+275>>0]|0;if(!(d&1)){g=+h[i+24>>3]+ +h[i+56>>3]*.5;b=i+48|0}else{g=+h[i+40>>3]-+h[i+88>>3]*.5;b=i+80|0}f=+h[b>>3];b=d<<24>>24;do if(!(b&4)){e=+h[i+16>>3];if(!(b&2)){e=(+h[i+32>>3]+e)*.5;break}else{e=e+f*.5;break}}else e=+h[i+32>>3]-f*.5;while(0);h[j+56>>3]=e;h[j+64>>3]=g;a[(c[(c[k>>2]|0)+12>>2]|0)+81>>0]=1;b=1}else b=1;while(1){d=c[k>>2]|0;if((b|0)>(c[d+180>>2]|0))break;QI(c[(c[d+184>>2]|0)+(b<<2)>>2]|0);b=b+1|0}return}function RI(e){e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0;S=l;l=l+544|0;L=S+504|0;R=S+416|0;Q=S+376|0;K=S+352|0;J=S+312|0;I=S+288|0;H=S+248|0;M=S+200|0;B=S+152|0;O=S+96|0;p=S+488|0;C=S+456|0;D=S+424|0;E=S+384|0;F=S+360|0;G=S+320|0;w=S+296|0;x=S+256|0;y=S+232|0;z=S+168|0;A=S+136|0;f=S+56|0;N=S+16|0;P=S;o=e+16|0;u=c[o>>2]|0;g=b[u+136>>1]&14;u=d[u+113>>0]|0;if(!((u&54|0)==0?(u&1|0)==0|(c[46368]|0)!=0:0)){u=g<<16>>16==0;n=Ry(e)|0;h=0;j=0;i=0;while(1){if(!n)break;g=c[(c[n+16>>2]|0)+108>>2]|0;do if(g)if(!(a[g+81>>0]|0)){i=i+1|0;break}else{h=h+1|0;break}while(0);m=Dx(e,n)|0;g=j;while(1){if(!m)break;k=c[m+16>>2]|0;j=c[k+108>>2]|0;do if(j){if(a[j+81>>0]|0){h=h+1|0;break}if(!u)g=g+((c[k+8>>2]|0)!=0&1)|0}while(0);j=c[k+100>>2]|0;do if(j){if(a[j+81>>0]|0){h=h+1|0;break}if(!u)g=g+((c[k+8>>2]|0)!=0&1)|0}while(0);j=c[k+104>>2]|0;do if(j){if(a[j+81>>0]|0){h=h+1|0;break}if(!u)g=g+((c[k+8>>2]|0)!=0&1)|0}while(0);j=c[k+96>>2]|0;do if(j){if(a[j+81>>0]|0){h=h+1|0;break}if(!u)g=g+((c[k+8>>2]|0)!=0&1)|0}while(0);m=Fx(e,m)|0}n=Sy(e,n)|0;j=g}if(!(a[(c[o>>2]|0)+113>>0]&8))o=0;else o=VI(e)|0;t=j+i|0;if(t|0){q=h+j+o+($x(e)|0)|0;r=tH(q*40|0)|0;s=tH(t*40|0)|0;MI(M,2147483647.0,2147483647.0);g=M+16|0;MI(p,-2147483647.0,-2147483647.0);c[g>>2]=c[p>>2];c[g+4>>2]=c[p+4>>2];c[g+8>>2]=c[p+8>>2];c[g+12>>2]=c[p+12>>2];g=s;i=r;n=Ry(e)|0;while(1){if(!n)break;c[L>>2]=c[M>>2];c[L+4>>2]=c[M+4>>2];c[L+8>>2]=c[M+8>>2];c[L+12>>2]=c[M+12>>2];c[L+16>>2]=c[M+16>>2];c[L+20>>2]=c[M+20>>2];c[L+24>>2]=c[M+24>>2];c[L+28>>2]=c[M+28>>2];WI(C,n,i,L);c[M>>2]=c[C>>2];c[M+4>>2]=c[C+4>>2];c[M+8>>2]=c[C+8>>2];c[M+12>>2]=c[C+12>>2];c[M+16>>2]=c[C+16>>2];c[M+20>>2]=c[C+20>>2];c[M+24>>2]=c[C+24>>2];c[M+28>>2]=c[C+28>>2];h=c[(c[n+16>>2]|0)+108>>2]|0;do if(h)if(!(a[h+81>>0]|0)){c[L>>2]=c[B>>2];c[L+4>>2]=c[B+4>>2];c[L+8>>2]=c[B+8>>2];c[L+12>>2]=c[B+12>>2];YI(h,i,g,0,L);g=g+40|0;break}else{i=i+40|0;c[L>>2]=c[M>>2];c[L+4>>2]=c[M+4>>2];c[L+8>>2]=c[M+8>>2];c[L+12>>2]=c[M+12>>2];c[L+16>>2]=c[M+16>>2];c[L+20>>2]=c[M+20>>2];c[L+24>>2]=c[M+24>>2];c[L+28>>2]=c[M+28>>2];XI(D,h,i,L);c[M>>2]=c[D>>2];c[M+4>>2]=c[D+4>>2];c[M+8>>2]=c[D+8>>2];c[M+12>>2]=c[D+12>>2];c[M+16>>2]=c[D+16>>2];c[M+20>>2]=c[D+20>>2];c[M+24>>2]=c[D+24>>2];c[M+28>>2]=c[D+28>>2];break}while(0);m=Dx(e,n)|0;i=i+40|0;while(1){if(!m)break;k=m+16|0;h=c[k>>2]|0;j=c[h+96>>2]|0;a:do if(!j)v=52;else{do if(!(a[j+81>>0]|0)){if(!u?c[h+8>>2]|0:0){fL(F,e,m);c[L>>2]=c[F>>2];c[L+4>>2]=c[F+4>>2];c[L+8>>2]=c[F+8>>2];c[L+12>>2]=c[F+12>>2];YI(j,i,g,1,L);g=g+40|0;break}c[H>>2]=c[j>>2];Ow(0,100801,H)|0;break a}else{c[L>>2]=c[M>>2];c[L+4>>2]=c[M+4>>2];c[L+8>>2]=c[M+8>>2];c[L+12>>2]=c[M+12>>2];c[L+16>>2]=c[M+16>>2];c[L+20>>2]=c[M+20>>2];c[L+24>>2]=c[M+24>>2];c[L+28>>2]=c[M+28>>2];XI(E,j,i,L);c[M>>2]=c[E>>2];c[M+4>>2]=c[E+4>>2];c[M+8>>2]=c[E+8>>2];c[M+12>>2]=c[E+12>>2];c[M+16>>2]=c[E+16>>2];c[M+20>>2]=c[E+20>>2];c[M+24>>2]=c[E+24>>2];c[M+28>>2]=c[E+28>>2]}while(0);i=i+40|0;h=c[k>>2]|0;v=52}while(0);b:do if((v|0)==52){v=0;j=c[h+104>>2]|0;if(j){do if(!(a[j+81>>0]|0)){if(!u?c[h+8>>2]|0:0){ZI(w,m);c[L>>2]=c[w>>2];c[L+4>>2]=c[w+4>>2];c[L+8>>2]=c[w+8>>2];c[L+12>>2]=c[w+12>>2];YI(j,i,g,1,L);g=g+40|0;break}c[I>>2]=c[j>>2];Ow(0,100836,I)|0;break b}else{c[L>>2]=c[M>>2];c[L+4>>2]=c[M+4>>2];c[L+8>>2]=c[M+8>>2];c[L+12>>2]=c[M+12>>2];c[L+16>>2]=c[M+16>>2];c[L+20>>2]=c[M+20>>2];c[L+24>>2]=c[M+24>>2];c[L+28>>2]=c[M+28>>2];XI(G,j,i,L);c[M>>2]=c[G>>2];c[M+4>>2]=c[G+4>>2];c[M+8>>2]=c[G+8>>2];c[M+12>>2]=c[G+12>>2];c[M+16>>2]=c[G+16>>2];c[M+20>>2]=c[G+20>>2];c[M+24>>2]=c[G+24>>2];c[M+28>>2]=c[G+28>>2]}while(0);i=i+40|0;h=c[k>>2]|0}j=c[h+100>>2]|0;if(j){do if(!(a[j+81>>0]|0)){if(!u?c[h+8>>2]|0:0){_I(y,m);c[L>>2]=c[y>>2];c[L+4>>2]=c[y+4>>2];c[L+8>>2]=c[y+8>>2];c[L+12>>2]=c[y+12>>2];YI(j,i,g,1,L);g=g+40|0;break}c[J>>2]=c[j>>2];Ow(0,100876,J)|0;break b}else{c[L>>2]=c[M>>2];c[L+4>>2]=c[M+4>>2];c[L+8>>2]=c[M+8>>2];c[L+12>>2]=c[M+12>>2];c[L+16>>2]=c[M+16>>2];c[L+20>>2]=c[M+20>>2];c[L+24>>2]=c[M+24>>2];c[L+28>>2]=c[M+28>>2];XI(x,j,i,L);c[M>>2]=c[x>>2];c[M+4>>2]=c[x+4>>2];c[M+8>>2]=c[x+8>>2];c[M+12>>2]=c[x+12>>2];c[M+16>>2]=c[x+16>>2];c[M+20>>2]=c[x+20>>2];c[M+24>>2]=c[x+24>>2];c[M+28>>2]=c[x+28>>2]}while(0);i=i+40|0;h=c[k>>2]|0}j=c[h+108>>2]|0;if(j){do if(!(a[j+81>>0]|0)){if(!u?c[h+8>>2]|0:0){fL(A,e,m);c[L>>2]=c[A>>2];c[L+4>>2]=c[A+4>>2];c[L+8>>2]=c[A+8>>2];c[L+12>>2]=c[A+12>>2];YI(j,i,g,1,L);g=g+40|0;break}c[K>>2]=c[j>>2];Ow(0,100916,K)|0;break b}else{c[L>>2]=c[M>>2];c[L+4>>2]=c[M+4>>2];c[L+8>>2]=c[M+8>>2];c[L+12>>2]=c[M+12>>2];c[L+16>>2]=c[M+16>>2];c[L+20>>2]=c[M+20>>2];c[L+24>>2]=c[M+24>>2];c[L+28>>2]=c[M+28>>2];XI(z,j,i,L);c[M>>2]=c[z>>2];c[M+4>>2]=c[z+4>>2];c[M+8>>2]=c[z+8>>2];c[M+12>>2]=c[z+12>>2];c[M+16>>2]=c[z+16>>2];c[M+20>>2]=c[z+20>>2];c[M+24>>2]=c[z+24>>2];c[M+28>>2]=c[z+28>>2]}while(0);i=i+40|0}}while(0);m=Fx(e,m)|0}n=Sy(e,n)|0}if(o|0){c[f>>2]=c[M>>2];c[f+4>>2]=c[M+4>>2];c[f+8>>2]=c[M+8>>2];c[f+12>>2]=c[M+12>>2];c[f+16>>2]=c[M+16>>2];c[f+20>>2]=c[M+20>>2];c[f+24>>2]=c[M+24>>2];c[f+28>>2]=c[M+28>>2];c[f+32>>2]=i;h=L;g=h+40|0;do{c[h>>2]=c[f>>2];h=h+4|0;f=f+4|0}while((h|0)<(g|0));$I(N,e,L);c[M>>2]=c[N>>2];c[M+4>>2]=c[N+4>>2];c[M+8>>2]=c[N+8>>2];c[M+12>>2]=c[N+12>>2];c[M+16>>2]=c[N+16>>2];c[M+20>>2]=c[N+20>>2];c[M+24>>2]=c[N+24>>2];c[M+28>>2]=c[N+28>>2]}a[O+32>>0]=OL(e,mx(e,0,100952,0)|0,1)|0;c[O>>2]=c[M>>2];c[O+4>>2]=c[M+4>>2];c[O+8>>2]=c[M+8>>2];c[O+12>>2]=c[M+12>>2];c[O+16>>2]=c[M+16>>2];c[O+20>>2]=c[M+20>>2];c[O+24>>2]=c[M+24>>2];c[O+28>>2]=c[M+28>>2];RP(r,q,s,t,O)|0;if(0)aJ(r,q,s,t,O);f=0;g=0;h=s;while(1){if((g|0)>=(t|0))break;if(a[h+36>>0]|0){O=c[h+32>>2]|0;a[O+81>>0]=1;N=O+56|0;bJ(P,h);c[N>>2]=c[P>>2];c[N+4>>2]=c[P+4>>2];c[N+8>>2]=c[P+8>>2];c[N+12>>2]=c[P+12>>2];jM(e,O);f=f+1|0}g=g+1|0;h=h+40|0}if(!0){if((f|0)!=(t|0)){c[R>>2]=f;c[R+4>>2]=t;Ow(0,100997,R)|0}}else{R=c[15686]|0;c[Q>>2]=f;c[Q+4>>2]=t;f1(R,100964,Q)|0}C_(r);C_(s)}}l=S;return}function SI(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,i=0,j=0;i=l;l=l+48|0;e=i+32|0;f=i+16|0;g=i;if(+h[22918]!=0.0|+h[22919]!=0.0|(c[46495]|0)!=0){d=Ry(a)|0;while(1){if(!d)break;if(c[46495]|0)aN(d,0);b=d+16|0;j=(c[b>>2]|0)+16|0;c[e>>2]=c[j>>2];c[e+4>>2]=c[j+4>>2];c[e+8>>2]=c[j+8>>2];c[e+12>>2]=c[j+12>>2];NI(f,e);c[j>>2]=c[f>>2];c[j+4>>2]=c[f+4>>2];c[j+8>>2]=c[f+8>>2];c[j+12>>2]=c[f+12>>2];b=c[(c[b>>2]|0)+108>>2]|0;if(b|0){j=b+56|0;c[e>>2]=c[j>>2];c[e+4>>2]=c[j+4>>2];c[e+8>>2]=c[j+8>>2];c[e+12>>2]=c[j+12>>2];NI(g,e);c[j>>2]=c[g>>2];c[j+4>>2]=c[g+4>>2];c[j+8>>2]=c[g+8>>2];c[j+12>>2]=c[g+12>>2]}a:do if((c[46367]|0)==1){b=Dx(a,d)|0;while(1){if(!b)break a;UI(b);b=Fx(a,b)|0}}while(0);d=Sy(a,d)|0}LI(a,c[(c[a+16>>2]|0)+116>>2]&3)}l=i;return}function TI(b,d){b=b|0;d=d|0;var e=0.0,f=0.0,g=0,i=0,j=0;i=b+16|0;j=c[i>>2]|0;g=a[j+275>>0]|0;b=g<<24>>24;do if(!(b&4)){e=+h[j+16>>3];if(!(b&2)){f=(+h[j+32>>3]+e)*.5;break}else{f=+h[d>>3]*.5+e;break}}else f=+h[j+32>>3]-+h[d>>3]*.5;while(0);if(!(g&1))e=+h[d+8>>3]*.5+ +h[j+24>>3];else e=+h[j+40>>3]-+h[d+8>>3]*.5;j=c[j+12>>2]|0;h[j+56>>3]=f;h[j+64>>3]=e;a[(c[(c[i>>2]|0)+12>>2]|0)+81>>0]=1;return}function UI(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;s=l;l=l+144|0;q=s+120|0;e=s+16|0;i=s+104|0;j=s+88|0;k=s+72|0;m=s+56|0;n=s+40|0;o=s+24|0;r=s;p=b+16|0;d=c[p>>2]|0;f=c[d+8>>2]|0;if(!f){if((a[191874]|0)==0?(a[d+112>>0]|0)!=6:0){q=qy(c[((c[b>>2]&3|0)==3?b:b+48|0)+40>>2]|0)|0;r=qy(c[((c[b>>2]&3|0)==2?b:b+-48|0)+40>>2]|0)|0;c[e>>2]=q;c[e+4>>2]=r;Ow(1,100784,e)|0}}else{h=0;b=f;while(1){if((h|0)>=(c[b+4>>2]|0))break;g=c[b>>2]|0;b=c[g+(h*48|0)>>2]|0;e=c[g+(h*48|0)+4>>2]|0;f=c[g+(h*48|0)+8>>2]|0;g=c[g+(h*48|0)+12>>2]|0;d=0;while(1){if((d|0)>=(e|0))break;t=b+(d<<4)|0;c[q>>2]=c[t>>2];c[q+4>>2]=c[t+4>>2];c[q+8>>2]=c[t+8>>2];c[q+12>>2]=c[t+12>>2];NI(i,q);c[t>>2]=c[i>>2];c[t+4>>2]=c[i+4>>2];c[t+8>>2]=c[i+8>>2];c[t+12>>2]=c[i+12>>2];d=d+1|0}if(f|0){t=(c[c[(c[p>>2]|0)+8>>2]>>2]|0)+(h*48|0)+16|0;c[q>>2]=c[t>>2];c[q+4>>2]=c[t+4>>2];c[q+8>>2]=c[t+8>>2];c[q+12>>2]=c[t+12>>2];NI(j,q);c[t>>2]=c[j>>2];c[t+4>>2]=c[j+4>>2];c[t+8>>2]=c[j+8>>2];c[t+12>>2]=c[j+12>>2]}if(g|0){t=(c[c[(c[p>>2]|0)+8>>2]>>2]|0)+(h*48|0)+32|0;c[q>>2]=c[t>>2];c[q+4>>2]=c[t+4>>2];c[q+8>>2]=c[t+8>>2];c[q+12>>2]=c[t+12>>2];NI(k,q);c[t>>2]=c[k>>2];c[t+4>>2]=c[k+4>>2];c[t+8>>2]=c[k+8>>2];c[t+12>>2]=c[k+12>>2]}d=c[p>>2]|0;h=h+1|0;b=c[d+8>>2]|0}b=c[d+96>>2]|0;if(b){d=b+56|0;c[q>>2]=c[d>>2];c[q+4>>2]=c[d+4>>2];c[q+8>>2]=c[d+8>>2];c[q+12>>2]=c[d+12>>2];NI(m,q);c[d>>2]=c[m>>2];c[d+4>>2]=c[m+4>>2];c[d+8>>2]=c[m+8>>2];c[d+12>>2]=c[m+12>>2];d=c[p>>2]|0}b=c[d+108>>2]|0;if(b){d=b+56|0;c[q>>2]=c[d>>2];c[q+4>>2]=c[d+4>>2];c[q+8>>2]=c[d+8>>2];c[q+12>>2]=c[d+12>>2];NI(n,q);c[d>>2]=c[n>>2];c[d+4>>2]=c[n+4>>2];c[d+8>>2]=c[n+8>>2];c[d+12>>2]=c[n+12>>2];d=c[p>>2]|0}b=c[d+100>>2]|0;if(b){d=b+56|0;c[q>>2]=c[d>>2];c[q+4>>2]=c[d+4>>2];c[q+8>>2]=c[d+8>>2];c[q+12>>2]=c[d+12>>2];NI(o,q);c[d>>2]=c[o>>2];c[d+4>>2]=c[o+4>>2];c[d+8>>2]=c[o+8>>2];c[d+12>>2]=c[o+12>>2];d=c[p>>2]|0}d=c[d+104>>2]|0;if(d|0){t=d+56|0;c[q>>2]=c[t>>2];c[q+4>>2]=c[t+4>>2];c[q+8>>2]=c[t+8>>2];c[q+12>>2]=c[t+12>>2];NI(r,q);c[t>>2]=c[r>>2];c[t+4>>2]=c[r+4>>2];c[t+8>>2]=c[r+8>>2];c[t+12>>2]=c[r+12>>2]}}l=s;return}function VI(b){b=b|0;var d=0,e=0,f=0;f=b+16|0;if((ez(b)|0)!=(b|0)?(d=c[(c[f>>2]|0)+12>>2]|0,(d|0)!=0):0){e=1;b=(a[d+81>>0]|0)!=0&1}else{e=1;b=0}while(1){d=c[f>>2]|0;if((e|0)>(c[d+180>>2]|0))break;d=(VI(c[(c[d+184>>2]|0)+(e<<2)>>2]|0)|0)+b|0;e=e+1|0;b=d}return b|0}function WI(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,i=0,j=0.0,k=0.0,m=0,n=0;g=l;l=l+32|0;i=g;n=(a[191877]|0)==0;d=d+16|0;m=c[d>>2]|0;k=+h[(n?m+32|0:m+40|0)>>3];h[e+16>>3]=k*72.0;j=+h[(n?m+40|0:m+32|0)>>3];h[e+24>>3]=j*72.0;d=(c[d>>2]|0)+16|0;c[e>>2]=c[d>>2];c[e+4>>2]=c[d+4>>2];c[e+8>>2]=c[d+8>>2];c[e+12>>2]=c[d+12>>2];h[e>>3]=+h[e>>3]-k*36.0;d=e+8|0;h[d>>3]=+h[d>>3]-j*36.0;c[i>>2]=c[f>>2];c[i+4>>2]=c[f+4>>2];c[i+8>>2]=c[f+8>>2];c[i+12>>2]=c[f+12>>2];c[i+16>>2]=c[f+16>>2];c[i+20>>2]=c[f+20>>2];c[i+24>>2]=c[f+24>>2];c[i+28>>2]=c[f+28>>2];cJ(b,e,i);l=g;return}function XI(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,i=0,j=0.0,k=0.0,m=0,n=0;g=l;l=l+32|0;i=g;n=(a[191877]|0)==0;m=d+24|0;k=+h[(n?m:d+32|0)>>3];h[e+16>>3]=k;j=+h[(n?d+32|0:m)>>3];h[e+24>>3]=j;d=d+56|0;c[e>>2]=c[d>>2];c[e+4>>2]=c[d+4>>2];c[e+8>>2]=c[d+8>>2];c[e+12>>2]=c[d+12>>2];h[e>>3]=+h[e>>3]-k*.5;d=e+8|0;h[d>>3]=+h[d>>3]-j*.5;c[i>>2]=c[f>>2];c[i+4>>2]=c[f+4>>2];c[i+8>>2]=c[f+8>>2];c[i+12>>2]=c[f+12>>2];c[i+16>>2]=c[f+16>>2];c[i+20>>2]=c[f+20>>2];c[i+24>>2]=c[f+24>>2];c[i+28>>2]=c[f+28>>2];cJ(b,e,i);l=g;return}function YI(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;if(f|0){f=d+16|0;c[f>>2]=0;c[f+4>>2]=0;c[f+8>>2]=0;c[f+12>>2]=0;c[d>>2]=c[g>>2];c[d+4>>2]=c[g+4>>2];c[d+8>>2]=c[g+8>>2];c[d+12>>2]=c[g+12>>2]}if(!(a[191877]|0)){g=b+24|0;c[e>>2]=c[g>>2];c[e+4>>2]=c[g+4>>2];c[e+8>>2]=c[g+8>>2];c[e+12>>2]=c[g+12>>2]}else{h[e>>3]=+h[b+32>>3];h[e+8>>3]=+h[b+24>>3]}c[e+32>>2]=b;a[e+36>>0]=0;c[d+32>>2]=e;return}function ZI(a,b){a=a|0;b=b|0;b=eL(b)|0;do if(b){b=c[b>>2]|0;if(!(c[b+8>>2]|0)){b=c[b>>2]|0;c[a>>2]=c[b>>2];c[a+4>>2]=c[b+4>>2];c[a+8>>2]=c[b+8>>2];c[a+12>>2]=c[b+12>>2];break}else{b=b+16|0;c[a>>2]=c[b>>2];c[a+4>>2]=c[b+4>>2];c[a+8>>2]=c[b+8>>2];c[a+12>>2]=c[b+12>>2];break}}else{c[a>>2]=0;c[a+4>>2]=0;c[a+8>>2]=0;c[a+12>>2]=0}while(0);return}function _I(a,b){a=a|0;b=b|0;var d=0;b=eL(b)|0;do if(b){d=c[b>>2]|0;b=(c[b+4>>2]|0)+-1|0;if(!(c[d+(b*48|0)+12>>2]|0)){d=(c[d+(b*48|0)>>2]|0)+((c[d+(b*48|0)+4>>2]|0)+-1<<4)|0;c[a>>2]=c[d>>2];c[a+4>>2]=c[d+4>>2];c[a+8>>2]=c[d+8>>2];c[a+12>>2]=c[d+12>>2];break}else{d=d+(b*48|0)+32|0;c[a>>2]=c[d>>2];c[a+4>>2]=c[d+4>>2];c[a+8>>2]=c[d+8>>2];c[a+12>>2]=c[d+12>>2];break}}else{c[a>>2]=0;c[a+4>>2]=0;c[a+8>>2]=0;c[a+12>>2]=0}while(0);return}function $I(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0;q=l;l=l+112|0;k=q+72|0;n=q+32|0;o=q;p=d+16|0;j=1;while(1){f=c[p>>2]|0;if((j|0)>(c[f+180>>2]|0))break;f=c[(c[f+184>>2]|0)+(j<<2)>>2]|0;g=k;h=e;i=g+40|0;do{c[g>>2]=c[h>>2];g=g+4|0;h=h+4|0}while((g|0)<(i|0));$I(n,f,k);g=e;h=n;i=g+40|0;do{c[g>>2]=c[h>>2];g=g+4|0;h=h+4|0}while((g|0)<(i|0));j=j+1|0}if(((ez(d)|0)!=(d|0)?(m=c[(c[p>>2]|0)+12>>2]|0,m|0):0)?a[m+81>>0]|0:0){p=e+32|0;n=c[p>>2]|0;c[k>>2]=c[e>>2];c[k+4>>2]=c[e+4>>2];c[k+8>>2]=c[e+8>>2];c[k+12>>2]=c[e+12>>2];c[k+16>>2]=c[e+16>>2];c[k+20>>2]=c[e+20>>2];c[k+24>>2]=c[e+24>>2];c[k+28>>2]=c[e+28>>2];XI(o,m,n,k);c[e>>2]=c[o>>2];c[e+4>>2]=c[o+4>>2];c[e+8>>2]=c[o+8>>2];c[e+12>>2]=c[o+12>>2];c[e+16>>2]=c[o+16>>2];c[e+20>>2]=c[o+20>>2];c[e+24>>2]=c[o+24>>2];c[e+28>>2]=c[o+28>>2];c[p>>2]=(c[p>>2]|0)+40}g=b;h=e;i=g+40|0;do{c[g>>2]=c[h>>2];g=g+4|0;h=h+4|0}while((g|0)<(i|0));l=q;return}function aJ(a,b,e,f,g){a=a|0;b=b|0;e=e|0;f=f|0;g=g|0;var i=0.0,j=0.0,k=0.0,m=0.0,n=0,o=0,p=0,q=0,r=0,s=0;s=l;l=l+160|0;r=s+96|0;p=s+48|0;o=s;q=c[15686]|0;n=d[g+32>>0]|0;i=+h[g>>3];j=+h[g+8>>3];k=+h[g+16>>3];m=+h[g+24>>3];c[o>>2]=b;c[o+4>>2]=f;c[o+8>>2]=n;h[o+16>>3]=i;h[o+24>>3]=j;h[o+32>>3]=k;h[o+40>>3]=m;f1(q,101039,o)|0;a:do if(0>=2){D1(101099,8,1,q)|0;o=0;while(1){if((o|0)>=(b|0))break;g=c[a+32>>2]|0;i=+h[a>>3];j=+h[a+8>>3];k=+h[a+16>>3];m=+h[a+24>>3];if(!g)n=191979;else n=c[c[g+32>>2]>>2]|0;c[p>>2]=o;h[p+8>>3]=i;h[p+16>>3]=j;h[p+24>>3]=k;h[p+32>>3]=m;c[p+40>>2]=g;c[p+44>>2]=n;f1(q,101108,p)|0;o=o+1|0;a=a+40|0}D1(101151,8,1,q)|0;g=0;while(1){if((g|0)>=(f|0))break a;b=d[e+36>>0]|0;i=+h[e+16>>3];j=+h[e+24>>3];k=+h[e>>3];m=+h[e+8>>3];p=c[c[e+32>>2]>>2]|0;c[r>>2]=g;c[r+4>>2]=e;c[r+8>>2]=b;h[r+16>>3]=i;h[r+24>>3]=j;h[r+32>>3]=k;h[r+40>>3]=m;c[r+48>>2]=p;f1(q,101160,r)|0;e=e+40|0;g=g+1|0}}while(0);l=s;return}function bJ(a,b){a=a|0;b=b|0;var c=0.0;c=+h[b+8>>3]*.5+ +h[b+24>>3];h[a>>3]=+h[b>>3]*.5+ +h[b+16>>3];h[a+8>>3]=c;return}function cJ(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,i=0.0,j=0.0;e=l;l=l+16|0;f=e;j=+h[b>>3];h[d>>3]=+h[(+h[d>>3]>3];g=d+8|0;i=+h[b+8>>3];h[g>>3]=+h[(+h[g>>3]>3];j=+h[b+16>>3]+j;h[f>>3]=j;i=+h[b+24>>3]+i;h[f+8>>3]=i;g=d+16|0;h[g>>3]=+h[(+h[g>>3]>j?g:f)>>3];b=d+24|0;h[b>>3]=+h[(+h[b>>3]>i?g:f)+8>>3];c[a>>2]=c[d>>2];c[a+4>>2]=c[d+4>>2];c[a+8>>2]=c[d+8>>2];c[a+12>>2]=c[d+12>>2];c[a+16>>2]=c[d+16>>2];c[a+20>>2]=c[d+20>>2];c[a+24>>2]=c[d+24>>2];c[a+28>>2]=c[d+28>>2];l=e;return}function dJ(a){a=a|0;OI(a,1);return}function eJ(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;e=l;l=l+16|0;d=e;b=YL(wx(a,102500)|0)|0;if(b){b=fJ(b)|0;if(b|0){f=c[b+40>>2]|0;d=c[b+44>>2]|0;g=a+16|0;a=c[g>>2]|0;h[a+32>>3]=+(f|0)*.013888888888888888;h[a+40>>3]=+(d|0)*.013888888888888888;a=tH(12)|0;c[(c[g>>2]|0)+12>>2]=a;c[a>>2]=c[b+12>>2];c[a+4>>2]=((f|0)/-2|0)-(c[b+32>>2]|0);c[a+8>>2]=((d|0)/-2|0)-(c[b+36>>2]|0)}}else{c[d>>2]=qy(a)|0;Ow(0,101208,d)|0}l=e;return}function fJ(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0;p=l;l=l+1152|0;i=p+24|0;h=p+8|0;e=p;f=p+120|0;j=p+44|0;k=p+40|0;m=p+36|0;n=p+32|0;o=p+28|0;d=c[46496]|0;if(!d){d=Bw(20708,c[4555]|0)|0;c[46496]=d}d=nb[c[d>>2]&63](d,b,512)|0;do if(!d){g=K1(b,135739)|0;if(!g){c[e>>2]=b;Ow(0,101257,e)|0;d=0;break}else{d=0;e=0}while(1){if(!(N0(f,1024,g)|0)){f=11;break}c[h>>2]=k;c[h+4>>2]=m;c[h+8>>2]=n;c[h+12>>2]=o;q=(M1(f,101285,h)|0)==4;e=q?1:e;if((a[f>>0]|0)!=37){q=(O0(f,101314)|0)==0;d=q?d:1}if((e|0)!=0&(d|0)!=0){f=12;break}}if((f|0)==11)if(!e){c[i>>2]=b;Ow(0,101319,i)|0;d=0}else f=12;if((f|0)==12){q=uH(64)|0;k=c[k>>2]|0;c[q+32>>2]=k;m=c[m>>2]|0;c[q+40>>2]=(c[n>>2]|0)-k;c[q+36>>2]=(c[o>>2]|0)-m;c[q+8>>2]=b;o=c[46497]|0;c[46497]=o+1;c[q+12>>2]=o;I1(i3(g)|0,j)|0;o=c[j+36>>2]|0;n=uH(o+1|0)|0;c[q+52>>2]=n;Y1(g,0,0)|0;f3(n,o,1,g)|0;a[n+o>>0]=0;o=c[46496]|0;nb[c[o>>2]&63](o,q,1)|0;a[q+16>>0]=d;d=q}r1(g)|0}while(0);l=p;return d|0}function gJ(a,b,d){a=a|0;b=b|0;d=d|0;C_(c[b+52>>2]|0);return}function hJ(a){a=a|0;C_(c[(c[a+16>>2]|0)+12>>2]|0);return}function iJ(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0;n=l;l=l+16|0;m=n+8|0;k=n;j=(d|0)!=0;a:do if(j){h=0;f=0;b:while(1)while(1){if(h)break a;g=c[d+(f<<2)>>2]|0;if(!g){i=6;break a}f=f+1|0;if(!(a[g>>0]|0)){h=1;continue b}}}else i=6;while(0);c:do if((i|0)==6)while(1){f=c[e>>2]|0;if(!f)break c;_B(b,f)|0;_B(b,150517)|0;e=e+4|0;i=6}while(0);d:do if(j){h=0;while(1){f=c[d+(h<<2)>>2]|0;if(!f)break d;do if(a[f>>0]|0){e=YL(f)|0;if(!e){c[k>>2]=f;Ow(0,101358,k)|0;break}g=K1(e,135739)|0;if(!g){c[m>>2]=e;Ow(0,101386,m)|0;break}while(1){f=XL(g)|0;if(!f)break;_B(b,f)|0}_B(b,150517)|0;r1(g)|0}while(0);h=h+1|0}}while(0);l=n;return}function jJ(b,d){b=b|0;d=d|0;var e=0,f=0,g=0;d=c[d+52>>2]|0;a:while(1){e=a[d>>0]|0;b:do switch(e<<24>>24){case 0:break a;case 37:{if((a[d+1>>0]|0)==37){e=d+2|0;if((((U$(e,101414,3)|0)!=0?(U$(e,101418,5)|0)!=0:0)?(U$(e,101424,3)|0)!=0:0)?(U$(e,101428,7)|0)!=0:0){e=37;break b}else g=37;c:while(1){switch(g<<24>>24){case 13:{f=10;break c}case 10:case 0:{f=12;break c}default:{}}g=d+1|0;d=g;g=a[g>>0]|0}if((f|0)==10){e=d+1|0;if((a[e>>0]|0)==10){d=d+2|0;continue a}}else if((f|0)==12)e=d+1|0;d=g<<24>>24==0?d:e;continue a}else e=37;break}default:{}}while(0);d:while(1){switch(e<<24>>24){case 10:case 13:case 0:break d;default:{}}$B(b,e<<24>>24)|0;g=d+1|0;d=g;e=a[g>>0]|0}f=d+1|0;if(e<<24>>24==13?(a[f>>0]|0)==10:0)d=d+2|0;else d=e<<24>>24==0?d:f;$B(b,10)|0}return}function kJ(b){b=b|0;var d=0,e=0,f=0,g=0;f=l;l=l+16|0;e=f;d=c[46496]|0;a:do if(d|0){d=nb[c[d>>2]&63](d,0,128)|0;while(1){if(!d)break a;if(!(a[d+16>>0]|0)){c[e>>2]=c[d+12>>2];eC(b,101436,e);_B(b,101454)|0;jJ(b,d);_B(b,101472)|0;_B(b,101487)|0}g=c[46496]|0;d=nb[c[g>>2]&63](g,d,8)|0}}while(0);l=f;return}function lJ(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0;g=l;l=l+16|0;e=g;a:do switch(d|0){case 0:{f=b;break}case 1:{f=RM(b)|0;break}default:{switch(mJ(b)|0){case 2:break;case 1:{f=RM(b)|0;break a}default:{f=b;break a}}if(!(c[46498]|0)){Ow(0,101499,e)|0;c[46498]=1;f=b}else f=b}}while(0);if(!(c[46499]|0))Sw(185996,0,0);d=c[46500]|0;if(d>>>0>=(c[46501]|0)>>>0){Tw(185996,1)|0;d=c[46500]|0}c[46500]=d+1;a[d>>0]=40;e=f;b:while(1){switch(a[e>>0]|0){case 0:break b;case 92:case 41:case 40:{d=c[46500]|0;if(d>>>0>=(c[46501]|0)>>>0){Tw(185996,1)|0;d=c[46500]|0}c[46500]=d+1;a[d>>0]=92;break}default:{}}d=c[46500]|0;if(d>>>0>=(c[46501]|0)>>>0){Tw(185996,1)|0;d=c[46500]|0}h=a[e>>0]|0;c[46500]=d+1;a[d>>0]=h;e=e+1|0}d=c[46500]|0;if(d>>>0>=(c[46501]|0)>>>0){Tw(185996,1)|0;d=c[46500]|0}c[46500]=d+1;a[d>>0]=41;if((f|0)!=(b|0))C_(f);d=c[46500]|0;if(d>>>0>=(c[46501]|0)>>>0){Tw(185996,1)|0;d=c[46500]|0}a[d>>0]=0;h=c[46499]|0;c[46500]=h;l=g;return h|0}function mJ(b){b=b|0;var c=0,d=0;c=0;a:while(1){while(1){d=a[b>>0]|0;if(!(d<<24>>24))break a;if((d&255)<127)b=b+1|0;else break}if((d&-4)<<24>>24==-64){c=1;b=b+2|0}else{c=2;break}}return c|0}function nJ(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0;n=l;l=l+96|0;i=n+80|0;j=n+72|0;m=n+64|0;g=n+32|0;k=n;h[g>>3]=+h[a>>3];h[g+8>>3]=+h[a+8>>3];h[g+16>>3]=+h[b>>3];h[g+24>>3]=+h[b+8>>3];do if((SU(d,g,j)|0)>=0){if(!f){b=d+4|0;a=c[b>>2]|0;f=c[46504]|0;if((a|0)>(c[46503]|0)){if(!f)a=uH(a<<5)|0;else a=wH(f,a<<5)|0;c[46504]=a;g=c[b>>2]|0;c[46503]=g;f=a}else g=a;b=c[d>>2]|0;a=0;while(1){if((a|0)>=(g|0))break;o=f+(a<<5)|0;d=b+(a<<4)|0;c[o>>2]=c[d>>2];c[o+4>>2]=c[d+4>>2];c[o+8>>2]=c[d+8>>2];c[o+12>>2]=c[d+12>>2];o=f+(a<<5)+16|0;d=a+1|0;p=b+(((d|0)%(g|0)|0)<<4)|0;c[o>>2]=c[p>>2];c[o+4>>2]=c[p+4>>2];c[o+8>>2]=c[p+8>>2];c[o+12>>2]=c[p+12>>2];a=d}c[k>>2]=0;c[k+4>>2]=0;c[k+8>>2]=0;c[k+12>>2]=0;c[k+16>>2]=0;c[k+20>>2]=0;c[k+24>>2]=0;c[k+28>>2]=0;c[i>>2]=c[j>>2];c[i+4>>2]=c[j+4>>2];if((wU(f,g,i,k,m)|0)<0){a=0;break}}else{c[i>>2]=c[j>>2];c[i+4>>2]=c[j+4>>2];nV(i,m)}a=m+4|0;if(!(oJ(c[a>>2]|0)|0)){g=c[a>>2]|0;a=c[46505]|0;f=c[m>>2]|0;b=0;while(1){if((b|0)>=(g|0))break;p=a+(b<<4)|0;o=f+(b<<4)|0;c[p>>2]=c[o>>2];c[p+4>>2]=c[o+4>>2];c[p+8>>2]=c[o+8>>2];c[p+12>>2]=c[o+12>>2];b=b+1|0}c[e>>2]=g}else a=0}else a=0;while(0);l=n;return a|0}function oJ(a){a=a|0;var b=0,d=0,e=0;e=l;l=l+16|0;d=e;b=c[46506]|0;do if((b|0)<(a|0)){a=a+300-((a|0)%300|0)+b|0;b=wH(c[46505]|0,a<<4)|0;c[46505]=b;if(!b){Ow(1,101589,d)|0;a=1;break}else{c[46506]=a;a=0;break}}else a=0;while(0);l=e;return a|0}function pJ(){var a=0,b=0,d=0;b=l;l=l+16|0;a=b;d=c[46507]|0;c[46507]=d+1;do if((d|0)<=0){d=uH(4800)|0;c[46505]=d;if(!d){Ow(1,101612,a)|0;a=1;break}c[46506]=300;c[46508]=0;c[46509]=0;if(0){DL();a=0}else a=0}else a=0;while(0);l=b;return a|0}function qJ(){var a=0,b=0,d=0,e=0.0,f=0,g=0;b=l;l=l+16|0;a=b;d=c[46507]|0;c[46507]=d+-1;if((d|0)<=1?(C_(c[46505]|0),0):0){d=c[15686]|0;g=c[46508]|0;f=c[46509]|0;e=+EL();c[a>>2]=g;c[a+4>>2]=f;h[a+8>>3]=e;f1(d,101650,a)|0}l=b;return}function rJ(a,b){a=a|0;b=b|0;return sJ(a,b,0)|0}function sJ(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,i=0,j=0,k=0.0,m=0.0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0;L=l;l=l+176|0;G=L+168|0;K=L+128|0;x=L+120|0;v=L+112|0;i=L+104|0;s=L+88|0;n=L+72|0;g=L+64|0;t=L+160|0;I=L+152|0;y=L+144|0;u=L+32|0;w=L;J=L+136|0;c[46508]=(c[46508]|0)+1;H=c[b+80>>2]|0;c[46509]=(c[46509]|0)+H;f=b+88|0;while(1){C=c[f>>2]|0;if(!C){D=4;break}f=c[C+16>>2]|0;if(!(a[f+112>>0]|0)){D=5;break}else f=f+116|0}do if((D|0)==4){Ow(1,101693,g)|0;f=0}else if((D|0)==5){B=c[b+84>>2]|0;if(!(tJ(H,B,b)|0)){g=H<<3;if((g|0)>(c[46510]|0)){f=c[46511]|0;if(!f)f=uH(H<<7)|0;else f=wH(f,H<<7)|0;c[46511]=f;c[46510]=g}a:do if((H|0)>1?+h[B+8>>3]>+h[B+40>>3]:0){f=0;while(1){if((f|0)==(H|0)){p=1;break a}z=B+(f<<5)+24|0;m=+h[z>>3];A=B+(f<<5)+8|0;h[z>>3]=-+h[A>>3];h[A>>3]=-m;f=f+1|0}}else p=0;while(0);r=c[C>>2]&3;z=C+48|0;f=c[((r|0)==3?C:z)+40>>2]|0;A=C+-48|0;if((f|0)==(c[((r|0)==2?C:A)+40>>2]|0)){c[i>>2]=qy(f)|0;Ow(1,101800,i)|0;f=0;break}o=H+-1|0;q=c[46511]|0;r=q;f=0;j=0;b:while(1){if((j|0)>=(H|0)){j=o;n=f;break}if((j|0)>0)g=+h[B+(j<<5)+8>>3]>+h[B+(j+-1<<5)+8>>3]?-1:1;else g=0;if((j|0)<(o|0))i=+h[B+(j+1<<5)+8>>3]>+h[B+(j<<5)+8>>3]?1:-1;else i=0;c:do if((g|0)!=(i|0))if((g|0)==1|(i|0)==-1){g=B+(j<<5)|0;h[q+(f<<4)>>3]=+h[g>>3];i=f+1|0;h[q+(f<<4)+8>>3]=+h[B+(j<<5)+24>>3];h[q+(i<<4)>>3]=+h[g>>3];g=B+(j<<5)+8|0;D=29;break}else{g=B+(j<<5)+16|0;h[q+(f<<4)>>3]=+h[g>>3];i=f+1|0;h[q+(f<<4)+8>>3]=+h[B+(j<<5)+8>>3];h[q+(i<<4)>>3]=+h[g>>3];g=B+(j<<5)+24|0;D=29;break}else{switch(g|0){case -1:break c;case 0:break;default:{D=28;break b}}g=B+(j<<5)|0;h[q+(f<<4)>>3]=+h[g>>3];i=f+1|0;h[q+(f<<4)+8>>3]=+h[B+(j<<5)+24>>3];h[q+(i<<4)>>3]=+h[g>>3];g=B+(j<<5)+8|0;D=29}while(0);if((D|0)==29){D=0;h[q+(i<<4)+8>>3]=+h[g>>3];f=f+2|0}j=j+1|0}if((D|0)==28){c[n>>2]=g;c[n+4>>2]=g;c[n+8>>2]=480;Ow(1,101735,n)|0;f=0;break}d:while(1){if((j|0)<=-1)break;if((j|0)<(o|0))f=+h[B+(j<<5)+8>>3]>+h[B+(j+1<<5)+8>>3]?-1:1;else f=0;if((j|0)>0)g=+h[B+(j+-1<<5)+8>>3]>+h[B+(j<<5)+8>>3]?1:-1;else g=0;e:do if((f|0)!=(g|0))if((f|0)==1|(g|0)==-1){f=B+(j<<5)|0;h[q+(n<<4)>>3]=+h[f>>3];g=n+1|0;h[q+(n<<4)+8>>3]=+h[B+(j<<5)+24>>3];h[q+(g<<4)>>3]=+h[f>>3];f=B+(j<<5)+8|0;i=2;break}else{f=B+(j<<5)+16|0;h[q+(n<<4)>>3]=+h[f>>3];g=n+1|0;h[q+(n<<4)+8>>3]=+h[B+(j<<5)+8>>3];h[q+(g<<4)>>3]=+h[f>>3];f=B+(j<<5)+24|0;i=2;break}else switch(f|0){case 0:{f=B+(j<<5)+16|0;h[q+(n<<4)>>3]=+h[f>>3];g=n+1|0;h[q+(n<<4)+8>>3]=+h[B+(j<<5)+8>>3];h[q+(g<<4)>>3]=+h[f>>3];f=B+(j<<5)+24|0;i=2;break e}case -1:{N=B+(j<<5)+16|0;h[q+(n<<4)>>3]=+h[N>>3];f=B+(j<<5)+8|0;i=n+1|0;h[q+(n<<4)+8>>3]=+h[f>>3];h[q+(i<<4)>>3]=+h[N>>3];N=B+(j<<5)+24|0;M=n+2|0;h[q+(i<<4)+8>>3]=+h[N>>3];i=B+(j<<5)|0;h[q+(M<<4)>>3]=+h[i>>3];g=n+3|0;h[q+(M<<4)+8>>3]=+h[N>>3];h[q+(g<<4)>>3]=+h[i>>3];i=4;break e}default:{D=42;break d}}while(0);h[q+(g<<4)+8>>3]=+h[f>>3];j=j+-1|0;n=n+i|0}if((D|0)==42){c[s>>2]=f;c[s+4>>2]=f;c[s+8>>2]=513;Ow(1,101735,s)|0;f=0;break}f:do if(!p)f=0;else{f=0;while(1){if((f|0)>=(H|0)){f=0;break}M=B+(f<<5)+24|0;m=+h[M>>3];N=B+(f<<5)+8|0;h[M>>3]=-+h[N>>3];h[N>>3]=-m;f=f+1|0}while(1){if((f|0)>=(n|0)){f=0;break f}N=q+(f<<4)+8|0;h[N>>3]=-+h[N>>3];f=f+1|0}}while(0);while(1){if((f|0)>=(H|0))break;h[B+(f<<5)>>3]=2147483647.0;h[B+(f<<5)+16>>3]=-2147483648.0;f=f+1|0}c[t>>2]=r;i=t+4|0;c[i>>2]=n;h[u>>3]=+h[b>>3];h[u+8>>3]=+h[b+8>>3];h[u+16>>3]=+h[b+40>>3];h[u+24>>3]=+h[b+48>>3];if((SU(t,u,I)|0)<0){Ow(1,101839,v)|0;f=0;break}if(!e){g=c[i>>2]|0;f=c[46504]|0;if((g|0)>(c[46503]|0)){if(!f)f=uH(g<<5)|0;else f=wH(f,g<<5)|0;c[46504]=f;g=c[i>>2]|0;c[46503]=g}j=c[46511]|0;i=0;while(1){if((i|0)>=(g|0))break;M=f+(i<<5)|0;N=j+(i<<4)|0;c[M>>2]=c[N>>2];c[M+4>>2]=c[N+4>>2];c[M+8>>2]=c[N+8>>2];c[M+12>>2]=c[N+12>>2];M=f+(i<<5)+16|0;N=i+1|0;v=j+(((N|0)%(g|0)|0)<<4)|0;c[M>>2]=c[v>>2];c[M+4>>2]=c[v+4>>2];c[M+8>>2]=c[v+8>>2];c[M+12>>2]=c[v+12>>2];i=N}if(!(a[b+29>>0]|0)){k=0.0;m=0.0}else{m=+h[b+16>>3];k=+E(+m);m=+F(+m)}h[w+8>>3]=m;h[w>>3]=k;if(!(a[b+69>>0]|0)){k=0.0;m=0.0}else{m=+h[b+56>>3];k=-+E(+m);m=-+F(+m)}h[w+24>>3]=m;h[w+16>>3]=k;c[G>>2]=c[I>>2];c[G+4>>2]=c[I+4>>2];if((wU(f,g,G,w,y)|0)<0){Ow(1,101878,x)|0;f=0;break}}else{c[G>>2]=c[I>>2];c[G+4>>2]=c[I+4>>2];nV(G,y)}n=y+4|0;if(!(oJ(c[n>>2]|0)|0)){f=0;while(1){if((f|0)>=(H|0))break;h[B+(f<<5)>>3]=2147483647.0;h[B+(f<<5)+16>>3]=-2147483648.0;f=f+1|0}i=c[n>>2]|0;j=c[46505]|0;g=c[y>>2]|0;f=0;while(1){if((f|0)>=(i|0)){i=1;f=10;g=0;break}N=j+(f<<4)|0;M=g+(f<<4)|0;c[N>>2]=c[M>>2];c[N+4>>2]=c[M+4>>2];c[N+8>>2]=c[M+8>>2];c[N+12>>2]=c[M+12>>2];f=f+1|0}while(1){if(!((g|0)<15&i<<24>>24!=0))break;uJ(B,H,c[46505]|0,c[n>>2]|0,f);j=0;while(1){if((j|0)>=(H|0))break;if(+h[B+(j<<5)>>3]==2147483647.0){D=82;break}if(+h[B+(j<<5)+16>>3]==-2147483648.0){D=82;break}j=j+1|0}if((D|0)==82){D=0;N=f<<1;f=N;g=(N|0)>(2147483647/(H|0)|0|0)?15:g}i=(j|0)==(H|0)?0:i;g=g+1|0}if(i<<24>>24){M=qy(c[((c[C>>2]&3|0)==3?C:z)+40>>2]|0)|0;N=qy(c[((c[C>>2]&3|0)==2?C:A)+40>>2]|0)|0;c[K>>2]=M;c[K+4>>2]=N;Ow(0,101916,K)|0;c[G>>2]=c[I>>2];c[G+4>>2]=c[I+4>>2];nV(G,J);uJ(B,H,c[J>>2]|0,c[J+4>>2]|0,10);C_(c[J>>2]|0)}c[d>>2]=c[n>>2];f=c[46505]|0}else f=0}else f=0}while(0);l=L;return f|0}function tJ(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0.0,g=0.0,i=0,j=0,k=0,m=0.0,n=0.0,o=0,p=0.0,q=0.0,r=0.0,s=0.0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0.0,L=0,M=0,N=0,O=0.0,P=0,Q=0,R=0;R=l;l=l+32|0;I=R+16|0;H=R+8|0;k=R;e=0;j=0;while(1){if((j|0)>=(a|0))break;i=b+(j<<5)|0;s=+h[b+(j<<5)+8>>3]-+h[b+(j<<5)+24>>3];if(!((s>=0.0?s:-s)<.01)?(s=+h[i>>3]-+h[b+(j<<5)+16>>3],!((s>=0.0?s:-s)<.01)):0){if((e|0)!=(j|0)){P=b+(e<<5)|0;c[P>>2]=c[i>>2];c[P+4>>2]=c[i+4>>2];c[P+8>>2]=c[i+8>>2];c[P+12>>2]=c[i+12>>2];c[P+16>>2]=c[i+16>>2];c[P+20>>2]=c[i+20>>2];c[P+24>>2]=c[i+24>>2];c[P+28>>2]=c[i+28>>2]}e=e+1|0}j=j+1|0}J=b+16|0;do if(!(+h[b>>3]>+h[J>>3])?(L=b+8|0,N=b+24|0,!(+h[L>>3]>+h[N>>3])):0){P=e+-1|0;M=c[15686]|0;w=0;while(1){if((w|0)>=(P|0))break;D=w+1|0;E=b+(D<<5)|0;f=+h[E>>3];F=b+(D<<5)+16|0;g=+h[F>>3];if(f>g){Q=16;break}A=b+(D<<5)+8|0;m=+h[A>>3];B=b+(D<<5)+24|0;n=+h[B>>3];if(m>n){Q=16;break}G=b+(w<<5)+16|0;v=+h[G>>3]>3]>g;a=u&1;z=b+(w<<5)+24|0;t=+h[z>>3]>3]>n;i=k&1;x=a+e+j+i|0;o=(x|0)!=0;if(!(0==0|o^1)){c[I>>2]=w;c[I+4>>2]=D;f1(M,102116,I)|0;vJ(d)}a:do if(o){if(!v)if(!u)if(!t){if(k){k=0;o=e;e=B;i=y;Q=24}}else{k=i;j=0;o=e;e=A;i=z;Q=24}else{k=i;a=0;o=e;e=F;i=C;Q=24}else{k=i;o=0;e=E;i=G;Q=24}if((Q|0)==24){Q=0;w=~~+h[i>>3];h[i>>3]=+h[e>>3];h[e>>3]=+(w|0);i=k;e=o}o=x+-1|0;k=0;while(1){if((k|0)>=(o|0))break a;do if((e|0)!=1){if((a|0)==1){s=+(~~((+h[F>>3]+ +h[C>>3])*.5+.5)|0);h[F>>3]=s;h[C>>3]=s;a=0;break}if((j|0)==1){s=+(~~((+h[A>>3]+ +h[z>>3])*.5+.5)|0);h[A>>3]=s;h[z>>3]=s;j=0;break}if((i|0)==1){s=+(~~((+h[B>>3]+ +h[y>>3])*.5+.5)|0);h[B>>3]=s;h[y>>3]=s;i=0}}else{s=+(~~((+h[E>>3]+ +h[G>>3])*.5+.5)|0);h[E>>3]=s;h[G>>3]=s;e=0}while(0);k=k+1|0}}while(0);p=+h[C>>3];q=+h[G>>3];r=+h[E>>3];s=+h[F>>3];i=wJ(~~p,~~q,~~r,~~s)|0;n=+h[y>>3];m=+h[z>>3];g=+h[A>>3];f=+h[B>>3];e=wJ(~~n,~~m,~~g,~~f)|0;if(!((i|0)!=0&(e|0)!=0)){w=D;continue}if((i|0)<(e|0)){B=q-p>s-r;w=q>3]=B?(w?r:s):w?q:p;w=D;continue}else{B=m-n>f-g;w=m>3]=B?(w?g:f):w?m:n;w=D;continue}}if((Q|0)==16){c[H>>2]=D;Ow(1,102070,H)|0;vJ(d);e=1;break}f=+h[d>>3];g=+h[b>>3];if(!(((!(f+h[J>>3]):0)?(K=+h[d+8>>3],!(K<+h[L>>3])):0)?!(K>+h[N>>3]):0)){if(0){D1(102159,42,1,M)|0;vJ(d);g=+h[b>>3];f=+h[d>>3]}if(f>3]=g;else g=f;f=+h[J>>3];if(g>f)h[d>>3]=f;e=d+8|0;g=+h[e>>3];f=+h[L>>3];if(g>3]=f;g=f}f=+h[N>>3];if(g>f)h[e>>3]=f}i=d+40|0;f=+h[i>>3];e=b+(P<<5)|0;g=+h[e>>3];if(((!(f+h[b+(P<<5)+16>>3]):0)?(O=+h[d+48>>3],!(O<+h[b+(P<<5)+8>>3])):0)?!(O>+h[b+(P<<5)+24>>3]):0){e=0;break}if(0){D1(102202,39,1,M)|0;vJ(d);g=+h[e>>3];f=+h[i>>3]}if(f>3]=g;f=g}g=+h[b+(P<<5)+16>>3];if(f>g)h[i>>3]=g;e=d+48|0;f=+h[e>>3];g=+h[b+(P<<5)+8>>3];if(f>3]=g;else g=f;f=+h[b+(P<<5)+24>>3];if(g>f){h[e>>3]=f;e=0}else e=0}else Q=12;while(0);if((Q|0)==12){Ow(1,102025,k)|0;vJ(d);e=1}l=R;return e|0}function uJ(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,i=0,j=0,k=0,l=0,m=0.0,n=0.0,o=0,p=0,q=0,r=0,s=0,t=0.0,u=0,v=0.0,w=0.0,x=0.0,y=0.0,z=0.0;s=O(e,b)|0;t=1.0/+(s|0);e=0;a:while(1){u=e+3|0;if((u|0)>=(d|0))break;o=c+(e<<4)|0;p=c+(e<<4)+8|0;r=e+1|0;q=c+(r<<4)|0;r=c+(r<<4)+8|0;j=e+2|0;i=c+(j<<4)|0;j=c+(j<<4)+8|0;k=c+(u<<4)|0;l=c+(u<<4)+8|0;g=0;while(1){if((g|0)>(s|0)){e=u;continue a}v=t*+(g|0);m=+h[o>>3];n=+h[p>>3];y=+h[q>>3];w=+h[r>>3];z=+h[i>>3];x=+h[j>>3];m=(y-m)*v+m;n=(w-n)*v+n;y=(z-y)*v+y;w=(x-w)*v+w;m=(y-m)*v+m;n=(w-n)*v+n;m=((z-y+(+h[k>>3]-z)*v)*v+y-m)*v+m;n=((x-w+(+h[l>>3]-x)*v)*v+w-n)*v+n;f=0;while(1){if((f|0)>=(b|0))break;if(n<=+h[a+(f<<5)+24>>3]+.0001?n>=+h[a+(f<<5)+8>>3]+-.0001:0){e=a+(f<<5)|0;if(+h[e>>3]>m)h[e>>3]=m;e=a+(f<<5)+16|0;if(+h[e>>3]>3]=m}f=f+1|0}g=g+1|0}}return}function vJ(b){b=b|0;var d=0,e=0,f=0,g=0,i=0,j=0,k=0,m=0,n=0.0,o=0.0,p=0.0,q=0.0,r=0;m=l;l=l+112|0;j=m+80|0;k=m+48|0;i=m+8|0;g=m;e=c[15686]|0;f=b+80|0;c[g>>2]=c[f>>2];f1(e,102242,g)|0;g=b+84|0;d=0;while(1){if((d|0)>=(c[f>>2]|0))break;r=c[g>>2]|0;q=+h[r+(d<<5)>>3];p=+h[r+(d<<5)+8>>3];o=+h[r+(d<<5)+16>>3];n=+h[r+(d<<5)+24>>3];c[i>>2]=d;h[i+8>>3]=q;h[i+16>>3]=p;h[i+24>>3]=o;h[i+32>>3]=n;f1(e,102253,i)|0;d=d+1|0}q=+h[b+8>>3];p=+h[b+16>>3];r=a[b+29>>0]|0?102284:102296;h[k>>3]=+h[b>>3];h[k+8>>3]=q;h[k+16>>3]=p;c[k+24>>2]=r;f1(e,102312,k)|0;p=+h[b+48>>3];q=+h[b+56>>3];r=a[b+69>>0]|0?102284:102296;h[j>>3]=+h[b+40>>3];h[j+8>>3]=p;h[j+16>>3]=q;c[j+24>>2]=r;f1(e,102363,j)|0;l=m;return}function wJ(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;do if((b|0)>(c|0)&(d|0)>(a|0)){if(!((c|0)>(a|0)|(d|0)<(a|0))){a=d-a|0;break}if((b|0)<(c|0)|(b|0)>(d|0)){b=b-a|0;a=d-c|0;a=(b|0)<(a|0)?b:a;break}else{a=b-c|0;break}}else a=0;while(0);return a|0}function xJ(a,b){a=a|0;b=b|0;return sJ(a,b,1)|0}function yJ(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0;j=l;l=l+80|0;g=j;i=1;f=b;while(1){h=f;f=c[(c[f+16>>2]|0)+172>>2]|0;if(!((f|0)!=0&(h|0)!=(f|0)))break;else i=i+1|0}if((i|0)>=21)g=tH(i<<2)|0;h=0;f=b;while(1){if((h|0)>=(i|0))break;c[g+(h<<2)>>2]=f;h=h+1|0;f=c[(c[f+16>>2]|0)+172>>2]|0}zJ(a,g,i,d,e);if((i|0)>20)C_(g);l=j;return}function zJ(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var i=0,j=0,k=0,m=0.0,n=0.0,o=0.0,p=0.0,q=0.0,r=0,s=0.0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0.0,M=0.0,N=0.0,P=0,Q=0;K=l;l=l+304|0;A=K+272|0;z=K+208|0;G=K+96|0;H=K+32|0;I=K+16|0;J=K;r=K+192|0;y=K+176|0;i=K+160|0;B=K+296|0;D=K+288|0;j=c[d>>2]|0;w=c[j>>2]&3;k=j+-48|0;E=c[((w|0)==2?j:k)+40>>2]|0;t=G+16|0;w=(c[(c[((w|0)==3?j:j+48|0)+40>>2]|0)+16>>2]|0)+16|0;x=j+16|0;F=(c[x>>2]|0)+16|0;c[z>>2]=c[w>>2];c[z+4>>2]=c[w+4>>2];c[z+8>>2]=c[w+8>>2];c[z+12>>2]=c[w+12>>2];c[A>>2]=c[F>>2];c[A+4>>2]=c[F+4>>2];c[A+8>>2]=c[F+8>>2];c[A+12>>2]=c[F+12>>2];AJ(r,z,A);c[G>>2]=c[r>>2];c[G+4>>2]=c[r+4>>2];c[G+8>>2]=c[r+8>>2];c[G+12>>2]=c[r+12>>2];c[t>>2]=c[r>>2];c[t+4>>2]=c[r+4>>2];c[t+8>>2]=c[r+8>>2];c[t+12>>2]=c[r+12>>2];c[I>>2]=c[r>>2];c[I+4>>2]=c[r+4>>2];c[I+8>>2]=c[r+8>>2];c[I+12>>2]=c[r+12>>2];r=G+32|0;F=G+48|0;w=(c[E+16>>2]|0)+16|0;x=(c[x>>2]|0)+56|0;c[z>>2]=c[w>>2];c[z+4>>2]=c[w+4>>2];c[z+8>>2]=c[w+8>>2];c[z+12>>2]=c[w+12>>2];c[A>>2]=c[x>>2];c[A+4>>2]=c[x+4>>2];c[A+8>>2]=c[x+8>>2];c[A+12>>2]=c[x+12>>2];AJ(y,z,A);c[F>>2]=c[y>>2];c[F+4>>2]=c[y+4>>2];c[F+8>>2]=c[y+8>>2];c[F+12>>2]=c[y+12>>2];c[r>>2]=c[y>>2];c[r+4>>2]=c[y+4>>2];c[r+8>>2]=c[y+8>>2];c[r+12>>2]=c[y+12>>2];c[J>>2]=c[y>>2];c[J+4>>2]=c[y+4>>2];c[J+8>>2]=c[y+8>>2];c[J+12>>2]=c[y+12>>2];a:do if((e|0)!=1&(a[191874]|0)==0){m=+h[G>>3];n=+h[F>>3];L=m-n;o=+h[G+8>>3];p=+h[G+56>>3];s=o-p;q=s*s;if(q+L*L<1.0e-06){c[t>>2]=c[G>>2];c[t+4>>2]=c[G+4>>2];c[t+8>>2]=c[G+8>>2];c[t+12>>2]=c[G+12>>2];c[r>>2]=c[F>>2];c[r+4>>2]=c[F+4>>2];c[r+8>>2]=c[F+8>>2];c[r+12>>2]=c[F+12>>2];y=G+24|0;x=G+40|0;n=0.0;m=0.0}else{M=n-m;L=+C(+(q+M*M));w=c[(c[(c[b+60>>2]|0)+16>>2]|0)+248>>2]|0;N=+((O(w,e+-1|0)|0)/2|0|0);q=s*N/L;h[t>>3]=q+m;m=M*N/L;y=G+24|0;h[y>>3]=m+o;h[r>>3]=q+n;x=G+40|0;h[x>>3]=p+m;m=+(0-w|0);n=M*m/L;m=s*m/L}f=(f|0)==6;u=D+4|0;v=B+4|0;j=0;while(1){if((j|0)>=(e|0))break a;w=c[d+(j<<2)>>2]|0;k=w+-48|0;b:do if((c[((c[w>>2]&3|0)==2?w:k)+40>>2]|0)==(E|0)){c[I>>2]=c[G>>2];c[I+4>>2]=c[G+4>>2];c[I+8>>2]=c[G+8>>2];c[I+12>>2]=c[G+12>>2];c[J>>2]=c[F>>2];c[J+4>>2]=c[F+4>>2];c[J+8>>2]=c[F+8>>2];c[J+12>>2]=c[F+12>>2];i=0;while(1){if((i|0)==4)break b;P=H+(i<<4)|0;Q=G+(i<<4)|0;c[P>>2]=c[Q>>2];c[P+4>>2]=c[Q+4>>2];c[P+8>>2]=c[Q+8>>2];c[P+12>>2]=c[Q+12>>2];i=i+1|0}}else{c[I>>2]=c[F>>2];c[I+4>>2]=c[F+4>>2];c[I+8>>2]=c[F+8>>2];c[I+12>>2]=c[F+12>>2];c[J>>2]=c[G>>2];c[J+4>>2]=c[G+4>>2];c[J+8>>2]=c[G+8>>2];c[J+12>>2]=c[G+12>>2];i=0;while(1){if((i|0)==4)break b;Q=H+(3-i<<4)|0;P=G+(i<<4)|0;c[Q>>2]=c[P>>2];c[Q+4>>2]=c[P+4>>2];c[Q+8>>2]=c[P+8>>2];c[Q+12>>2]=c[P+12>>2];i=i+1|0}}while(0);if(f){c[u>>2]=4;c[D>>2]=z;i=0;while(1){if((i|0)==4)break;Q=z+(i<<4)|0;P=H+(i<<4)|0;c[Q>>2]=c[P>>2];c[Q+4>>2]=c[P+4>>2];c[Q+8>>2]=c[P+8>>2];c[Q+12>>2]=c[P+12>>2];i=i+1|0}c[A>>2]=c[D>>2];c[A+4>>2]=c[D+4>>2];nV(A,B);PK(w,c[((c[w>>2]&3|0)==2?w:k)+40>>2]|0,c[B>>2]|0,c[v>>2]|0,g)}else PK(w,c[((c[w>>2]&3|0)==2?w:k)+40>>2]|0,H,4,g);c[z>>2]=c[I>>2];c[z+4>>2]=c[I+4>>2];c[z+8>>2]=c[I+8>>2];c[z+12>>2]=c[I+12>>2];c[A>>2]=c[J>>2];c[A+4>>2]=c[J+4>>2];c[A+8>>2]=c[J+8>>2];c[A+12>>2]=c[J+12>>2];iL(b,w,z,A);h[t>>3]=+h[t>>3]+m;h[y>>3]=+h[y>>3]+n;h[r>>3]=+h[r>>3]+m;h[x>>3]=+h[x>>3]+n;j=j+1|0}}else{if((f|0)==4){BJ(i,b);c[A>>2]=c[i>>2];c[A+4>>2]=c[i+4>>2];c[A+8>>2]=c[i+8>>2];c[A+12>>2]=c[i+12>>2];CJ(G,A)}PK(j,c[((c[j>>2]&3|0)==2?j:k)+40>>2]|0,G,4,g);c[z>>2]=c[I>>2];c[z+4>>2]=c[I+4>>2];c[z+8>>2]=c[I+8>>2];c[z+12>>2]=c[I+12>>2];c[A>>2]=c[J>>2];c[A+4>>2]=c[J+4>>2];c[A+8>>2]=c[J+8>>2];c[A+12>>2]=c[J+12>>2];iL(b,j,z,A)}while(0);l=K;return}function AJ(a,b,c){a=a|0;b=b|0;c=c|0;var d=0.0;d=+h[c+8>>3]+ +h[b+8>>3];h[a>>3]=+h[c>>3]+ +h[b>>3];h[a+8>>3]=d;return}function BJ(a,b){a=a|0;b=b|0;b=c[b+16>>2]|0;h[22920]=(+h[b+32>>3]+ +h[b+16>>3])*.5;h[22921]=(+h[b+40>>3]+ +h[b+24>>3])*.5;c[a>>2]=c[45840];c[a+4>>2]=c[45841];c[a+8>>2]=c[45842];c[a+12>>2]=c[45843];return}function CJ(a,b){a=a|0;b=b|0;var c=0.0,d=0.0,e=0.0,f=0.0,g=0.0,i=0.0;f=+h[a>>3];d=+h[a+48>>3];i=(d+f)*.5;g=+h[a+8>>3];c=+h[a+56>>3];e=(c+g)*.5;f=d-f;g=c-g;f=+C(+(g*g+f*f))*.2;g=+h[b>>3]-i;c=+h[b+8>>3]-e;d=+C(+(c*c+g*g));if(!(d==0.0)){g=i-g/d*f;i=e-c/d*f;h[a+32>>3]=g;h[a+16>>3]=g;h[a+40>>3]=i;h[a+24>>3]=i}return}function DJ(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,i=0,j=0,k=0,m=0.0,n=0,o=0.0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,D=0,E=0,F=0.0,G=0,H=0.0,I=0.0,J=0.0;E=l;l=l+208|0;t=E+192|0;s=E+176|0;B=E+32|0;w=E+16|0;x=E;y=E+160|0;z=E+144|0;u=E+128|0;v=E+112|0;g=e&2130706432;A=(e&8|0)==0?((g|0)==0?4:g):8;if((A|0)==436207616)EJ(a,b,d,f);else{D=tH((d<<6)+64|0)|0;p=d+-1|0;q=x+8|0;r=w+8|0;o=12.0;e=0;while(1){if((e|0)>=(d|0))break;n=b+(e<<4)|0;c[w>>2]=c[n>>2];c[w+4>>2]=c[n+4>>2];c[w+8>>2]=c[n+8>>2];c[w+12>>2]=c[n+12>>2];if((e|0)<(p|0)){e=e+1|0;n=b+(e<<4)|0;c[x>>2]=c[n>>2];c[x+4>>2]=c[n+4>>2];c[x+8>>2]=c[n+8>>2];c[x+12>>2]=c[n+12>>2]}else{c[x>>2]=c[b>>2];c[x+4>>2]=c[b+4>>2];c[x+8>>2]=c[b+8>>2];c[x+12>>2]=c[b+12>>2];e=e+1|0}m=+h[x>>3]-+h[w>>3];F=+h[q>>3]-+h[r>>3];m=+C(+(F*F+m*m))*.3333333333333333;o=o=(d|0))break;g=b+(i<<4)|0;c[w>>2]=c[g>>2];c[w+4>>2]=c[g+4>>2];c[w+8>>2]=c[g+8>>2];c[w+12>>2]=c[g+12>>2];if((i|0)<(p|0)){g=b+(i+1<<4)|0;c[x>>2]=c[g>>2];c[x+4>>2]=c[g+4>>2];c[x+8>>2]=c[g+8>>2];c[x+12>>2]=c[g+12>>2]}else{c[x>>2]=c[b>>2];c[x+4>>2]=c[b+4>>2];c[x+8>>2]=c[b+8>>2];c[x+12>>2]=c[b+12>>2]}m=+h[x>>3]-+h[w>>3];F=+h[q>>3]-+h[r>>3];m=o/+C(+(F*F+m*m));m=k?m*.3333333333333333:j?m*.5:m;g=D+(e<<4)|0;if(n){c[s>>2]=c[w>>2];c[s+4>>2]=c[w+4>>2];c[s+8>>2]=c[w+8>>2];c[s+12>>2]=c[w+12>>2];c[t>>2]=c[x>>2];c[t+4>>2]=c[x+4>>2];c[t+8>>2]=c[x+8>>2];c[t+12>>2]=c[x+12>>2];FJ(y,m*.5,s,t);c[g>>2]=c[y>>2];c[g+4>>2]=c[y+4>>2];c[g+8>>2]=c[y+8>>2];c[g+12>>2]=c[y+12>>2]}else{c[g>>2]=c[w>>2];c[g+4>>2]=c[w+4>>2];c[g+8>>2]=c[w+8>>2];c[g+12>>2]=c[w+12>>2]}g=D+(e+1<<4)|0;c[s>>2]=c[w>>2];c[s+4>>2]=c[w+4>>2];c[s+8>>2]=c[w+8>>2];c[s+12>>2]=c[w+12>>2];c[t>>2]=c[x>>2];c[t+4>>2]=c[x+4>>2];c[t+8>>2]=c[x+8>>2];c[t+12>>2]=c[x+12>>2];FJ(z,m,s,t);c[g>>2]=c[z>>2];c[g+4>>2]=c[z+4>>2];c[g+8>>2]=c[z+8>>2];c[g+12>>2]=c[z+12>>2];g=e+3|0;G=D+(e+2<<4)|0;c[s>>2]=c[w>>2];c[s+4>>2]=c[w+4>>2];c[s+8>>2]=c[w+8>>2];c[s+12>>2]=c[w+12>>2];c[t>>2]=c[x>>2];c[t+4>>2]=c[x+4>>2];c[t+8>>2]=c[x+8>>2];c[t+12>>2]=c[x+12>>2];FJ(u,1.0-m,s,t);c[G>>2]=c[u>>2];c[G+4>>2]=c[u+4>>2];c[G+8>>2]=c[u+8>>2];c[G+12>>2]=c[u+12>>2];if(n){G=D+(g<<4)|0;c[s>>2]=c[w>>2];c[s+4>>2]=c[w+4>>2];c[s+8>>2]=c[w+8>>2];c[s+12>>2]=c[w+12>>2];c[t>>2]=c[x>>2];c[t+4>>2]=c[x+4>>2];c[t+8>>2]=c[x+8>>2];c[t+12>>2]=c[x+12>>2];FJ(v,1.0-m*.5,s,t);c[G>>2]=c[v>>2];c[G+4>>2]=c[v+4>>2];c[G+8>>2]=c[v+8>>2];c[G+12>>2]=c[v+12>>2];e=e+4|0}else e=g;i=i+1|0}k=D+(e<<4)|0;c[k>>2]=c[D>>2];c[k+4>>2]=c[D+4>>2];c[k+8>>2]=c[D+8>>2];c[k+12>>2]=c[D+12>>2];k=D+(e+1<<4)|0;j=D+16|0;c[k>>2]=c[j>>2];c[k+4>>2]=c[j+4>>2];c[k+8>>2]=c[j+8>>2];c[k+12>>2]=c[j+12>>2];e=D+(e+2<<4)|0;k=D+32|0;c[e>>2]=c[k>>2];c[e+4>>2]=c[k+4>>2];c[e+8>>2]=c[k+8>>2];c[e+12>>2]=c[k+12>>2];e=A&2147483647;a:do if((e|0)<201326592){if((e|0)>=83886080){if((e|0)<134217728){if((e|0)<100663296){switch(e|0){case 83886080:break;default:break a}if((d|0)==4){G=tH(192)|0;c[G>>2]=c[b>>2];c[G+4>>2]=c[b+4>>2];c[G+8>>2]=c[b+8>>2];c[G+12>>2]=c[b+12>>2];p=G+16|0;t=b+16|0;c[p>>2]=c[t>>2];c[p+4>>2]=c[t+4>>2];c[p+8>>2]=c[t+8>>2];c[p+12>>2]=c[t+12>>2];p=D+48|0;t=D+64|0;o=+h[t>>3];n=G+32|0;h[n>>3]=o;q=D+56|0;r=D+72|0;H=+h[r>>3];z=G+40|0;h[z>>3]=H;F=+h[p>>3]+o-+h[k>>3];u=G+48|0;h[u>>3]=F;J=+h[q>>3]+H-+h[D+40>>3];x=G+56|0;h[x>>3]=J;I=+h[t>>3]+F-+h[p>>3];p=G+64|0;h[p>>3]=I;m=+h[r>>3]+J-+h[q>>3];q=G+72|0;h[q>>3]=m;r=G+80|0;h[r>>3]=o+I-F;h[G+88>>3]=H+m-J;t=D+96|0;v=D+80|0;J=+h[v>>3];d=G+144|0;h[d>>3]=J;w=D+104|0;s=D+88|0;m=+h[s>>3];h[G+152>>3]=m;H=+h[t>>3]+J-+h[D+112>>3];y=G+128|0;h[y>>3]=H;F=+h[w>>3]+m-+h[D+120>>3];A=G+136|0;h[A>>3]=F;I=+h[v>>3]+H-+h[t>>3];t=G+112|0;h[t>>3]=I;o=+h[s>>3]+F-+h[w>>3];w=G+120|0;h[w>>3]=o;s=G+96|0;h[s>>3]=J+I-H;v=G+104|0;h[v>>3]=m+o-F;k=G+160|0;j=b+32|0;c[k>>2]=c[j>>2];c[k+4>>2]=c[j+4>>2];c[k+8>>2]=c[j+8>>2];c[k+12>>2]=c[j+12>>2];k=G+176|0;b=b+48|0;c[k>>2]=c[b>>2];c[k+4>>2]=c[b+4>>2];c[k+8>>2]=c[b+8>>2];c[k+12>>2]=c[b+12>>2];ZO(a,G,12,f);c[B>>2]=c[n>>2];c[B+4>>2]=c[n+4>>2];c[B+8>>2]=c[n+8>>2];c[B+12>>2]=c[n+12>>2];F=+h[n>>3];o=+h[u>>3];F=F+F-o;u=B+16|0;h[u>>3]=F;m=+h[z>>3];H=+h[x>>3];m=m+m-H;x=B+24|0;h[x>>3]=m;z=B+32|0;h[z>>3]=+h[p>>3]+F-o;b=B+40|0;h[b>>3]=+h[q>>3]+m-H;f=B+48|0;c[f>>2]=c[r>>2];c[f+4>>2]=c[r+4>>2];c[f+8>>2]=c[r+8>>2];c[f+12>>2]=c[r+12>>2];aP(a,B,4);c[B>>2]=c[s>>2];c[B+4>>2]=c[s+4>>2];c[B+8>>2]=c[s+8>>2];c[B+12>>2]=c[s+12>>2];H=+h[s>>3];m=+h[t>>3];H=H-(m-H);h[u>>3]=H;o=+h[v>>3];F=+h[w>>3];o=o-(F-o);h[x>>3]=o;h[z>>3]=+h[y>>3]+H-m;h[b>>3]=+h[A>>3]+o-F;c[f>>2]=c[d>>2];c[f+4>>2]=c[d+4>>2];c[f+8>>2]=c[d+8>>2];c[f+12>>2]=c[d+12>>2];aP(a,B,4);C_(G);break}else qa(102412,102423,737,102432)}if((e|0)<117440512){switch(e|0){case 100663296:break;default:break a}y=d+5|0;G=tH(y<<4)|0;z=b+16|0;H=+h[z>>3];H=(+h[b>>3]-H)*.625+H;h[G>>3]=H;A=b+40|0;J=+h[A>>3];d=b+24|0;v=D+48|0;w=D+56|0;x=D+72|0;J=(+h[d>>3]-J)*.5+J+(+h[w>>3]-+h[x>>3])*1.5;h[G+8>>3]=J;I=+h[z>>3];I=(+h[b>>3]-I)*.25+I;h[G+16>>3]=I;h[G+24>>3]=J;h[G+32>>3]=I;F=+h[A>>3];h[G+40>>3]=(+h[d>>3]-F)*.5+F;I=(+h[k>>3]-+h[v>>3])*.5+I;h[G+48>>3]=I;F=+h[A>>3];h[G+56>>3]=(+h[d>>3]-F)*.5+F;h[G+64>>3]=I;I=+h[A>>3];I=(+h[d>>3]-I)*.5+I+(+h[w>>3]-+h[x>>3]);h[G+72>>3]=I;h[G+80>>3]=H;h[G+88>>3]=I;h[G+96>>3]=H;I=I-(+h[w>>3]-+h[x>>3])*.25;h[G+104>>3]=I;h[G+112>>3]=+h[k>>3]+H-+h[v>>3];h[G+120>>3]=(+h[w>>3]-+h[x>>3])*.5+I;h[G+128>>3]=+h[G>>3];h[G+136>>3]=(+h[w>>3]-+h[x>>3])*.25+J;ZO(a,G,y,f);h[B>>3]=+h[z>>3];J=+h[A>>3];h[B+8>>3]=(+h[d>>3]-J)*.5+J;h[B+16>>3]=+h[b>>3];h[B+24>>3]=(+h[b+8>>3]-+h[b+56>>3])*.5+J;aP(a,B,2);C_(G);break}else{switch(e|0){case 117440512:break;default:break a}d=d+1|0;G=tH(d<<4)|0;h[G>>3]=+h[j>>3];z=D+56|0;A=D+72|0;h[G+8>>3]=+h[D+24>>3]-(+h[z>>3]-+h[A>>3])*.5;h[G+16>>3]=+h[D+48>>3];J=+h[z>>3];h[G+24>>3]=J-(J-+h[A>>3])*.5;h[G+32>>3]=+h[b+32>>3];B=b+40|0;h[G+40>>3]=(+h[z>>3]-+h[A>>3])*.5+ +h[B>>3];h[G+48>>3]=+h[j>>3];h[G+56>>3]=(+h[z>>3]-+h[A>>3])*.5+ +h[B>>3];J=+h[b+8>>3];h[G+72>>3]=J-(J-+h[b+56>>3])*.5;h[G+64>>3]=+h[b>>3];ZO(a,G,d,f);C_(G);break}}if((e|0)<167772160)if((e|0)<150994944){switch(e|0){case 134217728:break;default:break a}y=d+4|0;G=tH(y<<4)|0;z=b+16|0;F=+h[z>>3];x=D+48|0;F=(+h[b>>3]-F)*.5+F+(+h[k>>3]-+h[x>>3])*.25;h[G>>3]=F;A=b+40|0;J=+h[A>>3];d=b+24|0;J=(+h[d>>3]-J)*.5+J;h[G+8>>3]=J;h[G+16>>3]=F;v=D+56|0;w=D+72|0;H=(+h[v>>3]-+h[w>>3])*.5+J;h[G+24>>3]=H;F=(+h[k>>3]-+h[x>>3])*.5+F;h[G+32>>3]=F;h[G+40>>3]=H;h[G+48>>3]=F;F=(+h[v>>3]-+h[w>>3])*.5+H;h[G+56>>3]=F;I=+h[z>>3];I=(+h[b>>3]-I)*.5+I+(+h[k>>3]-+h[x>>3])*-.75;h[G+64>>3]=I;h[G+72>>3]=F;h[G+80>>3]=I;h[G+88>>3]=H;I=+h[z>>3];I=(+h[b>>3]-I)*.5+I+(+h[k>>3]-+h[x>>3])*-.25;h[G+96>>3]=I;h[G+104>>3]=H;h[G+112>>3]=I;h[G+120>>3]=J;ZO(a,G,y,f);h[B>>3]=+h[z>>3];J=+h[A>>3];h[B+8>>3]=(+h[d>>3]-J)*.5+J;h[B+16>>3]=+h[b>>3];h[B+24>>3]=(+h[b+8>>3]-+h[b+56>>3])*.5+J;aP(a,B,2);C_(G);break}else{switch(e|0){case 150994944:break;default:break a}y=d+2|0;G=tH(y<<4)|0;z=b+16|0;H=+h[z>>3];x=D+48|0;H=(+h[b>>3]-H)*.5+H+(+h[k>>3]-+h[x>>3])*.75;h[G>>3]=H;A=b+40|0;J=+h[A>>3];d=b+24|0;J=(+h[d>>3]-J)*.5+J;h[G+8>>3]=J;h[G+16>>3]=H;v=D+56|0;w=D+72|0;H=(+h[v>>3]-+h[w>>3])*.25+J;h[G+24>>3]=H;I=+h[z>>3];h[G+32>>3]=(+h[b>>3]-I)*.5+I+(+h[k>>3]-+h[x>>3])*.25;I=(+h[v>>3]-+h[w>>3])*.5+H;h[G+40>>3]=I;F=+h[z>>3];h[G+48>>3]=(+h[b>>3]-F)*.5+F+(+h[k>>3]-+h[x>>3])*-.25;h[G+56>>3]=I;I=+h[z>>3];I=(+h[b>>3]-I)*.5+I+(+h[k>>3]-+h[x>>3])*-.75;h[G+64>>3]=I;h[G+72>>3]=H;h[G+80>>3]=I;h[G+88>>3]=J;ZO(a,G,y,f);h[B>>3]=+h[z>>3];J=+h[A>>3];h[B+8>>3]=(+h[d>>3]-J)*.5+J;h[B+16>>3]=+h[b>>3];h[B+24>>3]=(+h[b+8>>3]-+h[b+56>>3])*.5+J;aP(a,B,2);C_(G);break}else if((e|0)<184549376){switch(e|0){case 167772160:break;default:break a}y=d+1|0;G=tH(y<<4)|0;z=b+16|0;H=+h[z>>3];v=D+48|0;H=+h[k>>3]+H+(+h[b>>3]-H)*.5-+h[v>>3];h[G>>3]=H;A=b+40|0;J=+h[A>>3];d=b+24|0;w=D+56|0;x=D+72|0;J=(+h[d>>3]-J)*.5+J+(+h[w>>3]-+h[x>>3])*.25;h[G+8>>3]=J;H=H-+h[k>>3]+ +h[v>>3];h[G+16>>3]=H;h[G+24>>3]=+h[w>>3]+J-+h[x>>3];h[G+32>>3]=H;H=(+h[w>>3]-+h[x>>3])*.5+J;h[G+40>>3]=H;I=+h[z>>3];I=(+h[b>>3]-I)*.25+I;h[G+48>>3]=I;h[G+56>>3]=H;h[G+64>>3]=I;h[G+72>>3]=J;ZO(a,G,y,f);h[B>>3]=+h[z>>3];J=+h[A>>3];h[B+8>>3]=(+h[d>>3]-J)*.5+J;h[B+16>>3]=+h[b>>3];h[B+24>>3]=(+h[b+8>>3]-+h[b+56>>3])*.5+J;aP(a,B,2);C_(G);break}else{switch(e|0){case 184549376:break;default:break a}z=d+4|0;G=tH(z<<4)|0;y=b+16|0;H=+h[y>>3];I=+h[b>>3]-H;u=D+48|0;I=I*.125+H+(+h[k>>3]-+h[u>>3]+I)*.5;h[G>>3]=I;w=b+40|0;H=+h[w>>3];x=b+24|0;d=D+56|0;v=D+72|0;H=(+h[x>>3]-H)*.5+H+(+h[d>>3]-+h[v>>3])*.25;h[G+8>>3]=H;J=+h[y>>3];J=(+h[b>>3]-J)*.375+J;h[G+16>>3]=J;h[G+24>>3]=H;h[G+32>>3]=J;H=(+h[d>>3]-+h[v>>3])*.5+H;h[G+40>>3]=H;J=J-(+h[k>>3]-+h[u>>3])*.5;h[G+48>>3]=J;h[G+56>>3]=H;A=G+64|0;h[A>>3]=J;J=+h[w>>3];J=(+h[x>>3]-J)*.5+J+(+h[d>>3]-+h[v>>3])*-.25;h[G+72>>3]=J;H=I-(+h[k>>3]-+h[u>>3])*.5;h[G+80>>3]=H;h[G+88>>3]=J;h[G+96>>3]=H;J=J-(+h[d>>3]-+h[v>>3])*.5;h[G+104>>3]=J;v=G+112|0;h[v>>3]=I;h[G+120>>3]=J;ZO(a,G,z,f);h[B>>3]=+h[y>>3];J=+h[w>>3];y=B+8|0;h[y>>3]=(+h[x>>3]-J)*.5+J;z=B+16|0;h[z>>3]=+h[A>>3];A=b+8|0;d=b+56|0;f=B+24|0;h[f>>3]=(+h[A>>3]-+h[d>>3])*.5+J;aP(a,B,2);h[B>>3]=+h[v>>3];J=+h[w>>3];h[y>>3]=(+h[x>>3]-J)*.5+J;h[z>>3]=+h[b>>3];h[f>>3]=(+h[A>>3]-+h[d>>3])*.5+J;aP(a,B,2);C_(G);break}}if((e|0)<33554432){if((e|0)<8){switch(e|0){case 4:break;default:break a}i=uH((d*96|0)+32|0)|0;e=0;g=0;while(1){j=g|1;k=i+(g<<4)|0;if((e|0)>=(d|0))break;b=e<<2;G=D+(b<<4)|0;c[k>>2]=c[G>>2];c[k+4>>2]=c[G+4>>2];c[k+8>>2]=c[G+8>>2];c[k+12>>2]=c[G+12>>2];G=i+(j<<4)|0;B=D+((b|1)<<4)|0;c[G>>2]=c[B>>2];c[G+4>>2]=c[B+4>>2];c[G+8>>2]=c[B+8>>2];c[G+12>>2]=c[B+12>>2];G=i+(g+2<<4)|0;c[G>>2]=c[B>>2];c[G+4>>2]=c[B+4>>2];c[G+8>>2]=c[B+8>>2];c[G+12>>2]=c[B+12>>2];G=i+(g+3<<4)|0;B=D+((b|2)<<4)|0;c[G>>2]=c[B>>2];c[G+4>>2]=c[B+4>>2];c[G+8>>2]=c[B+8>>2];c[G+12>>2]=c[B+12>>2];G=i+(g+4<<4)|0;c[G>>2]=c[B>>2];c[G+4>>2]=c[B+4>>2];c[G+8>>2]=c[B+8>>2];c[G+12>>2]=c[B+12>>2];G=i+(g+5<<4)|0;b=D+((b|3)<<4)|0;c[G>>2]=c[b>>2];c[G+4>>2]=c[b+4>>2];c[G+8>>2]=c[b+8>>2];c[G+12>>2]=c[b+12>>2];e=e+1|0;g=g+6|0}c[k>>2]=c[i>>2];c[k+4>>2]=c[i+4>>2];c[k+8>>2]=c[i+8>>2];c[k+12>>2]=c[i+12>>2];d=i+(j<<4)|0;G=i+16|0;c[d>>2]=c[G>>2];c[d+4>>2]=c[G+4>>2];c[d+8>>2]=c[G+8>>2];c[d+12>>2]=c[G+12>>2];$O(a,G,j,0,0,f&255);C_(i);break}if((e|0)<16777216){switch(e|0){case 8:break;default:break a}ZO(a,b,d,f);g=B+16|0;e=0;while(1){if((e|0)>=(d|0))break a;G=e*3|0;f=D+(G+2<<4)|0;c[B>>2]=c[f>>2];c[B+4>>2]=c[f+4>>2];c[B+8>>2]=c[f+8>>2];c[B+12>>2]=c[f+12>>2];G=D+(G+4<<4)|0;c[g>>2]=c[G>>2];c[g+4>>2]=c[G+4>>2];c[g+8>>2]=c[G+8>>2];c[g+12>>2]=c[G+12>>2];aP(a,B,2);e=e+1|0}}switch(e|0){case 16777216:break;default:break a}g=d+1|0;i=tH(g<<4)|0;e=1;while(1){if((e|0)>=(d|0))break;G=i+(e<<4)|0;A=b+(e<<4)|0;c[G>>2]=c[A>>2];c[G+4>>2]=c[A+4>>2];c[G+8>>2]=c[A+8>>2];c[G+12>>2]=c[A+12>>2];e=e+1|0}b=d*3|0;A=D+(b+1<<4)|0;c[i>>2]=c[A>>2];c[i+4>>2]=c[A+4>>2];c[i+8>>2]=c[A+8>>2];c[i+12>>2]=c[A+12>>2];d=i+(d<<4)|0;G=D+(b+-1<<4)|0;c[d>>2]=c[G>>2];c[d+4>>2]=c[G+4>>2];c[d+8>>2]=c[G+8>>2];c[d+12>>2]=c[G+12>>2];ZO(a,i,g,f);C_(i);c[B>>2]=c[G>>2];c[B+4>>2]=c[G+4>>2];c[B+8>>2]=c[G+8>>2];c[B+12>>2]=c[G+12>>2];G=B+16|0;c[G>>2]=c[A>>2];c[G+4>>2]=c[A+4>>2];c[G+8>>2]=c[A+8>>2];c[G+12>>2]=c[A+12>>2];f=B+32|0;h[f>>3]=+h[B>>3]+ +h[G>>3]-+h[D+(b<<4)>>3];h[B+40>>3]=+h[B+8>>3]+ +h[B+24>>3]-+h[D+(b<<4)+8>>3];aP(a,G,2);c[G>>2]=c[f>>2];c[G+4>>2]=c[f+4>>2];c[G+8>>2]=c[f+8>>2];c[G+12>>2]=c[f+12>>2];aP(a,B,2);break}else{if((e|0)<50331648){switch(e|0){case 33554432:break;default:break a}g=d+2|0;i=tH(g<<4)|0;c[i>>2]=c[b>>2];c[i+4>>2]=c[b+4>>2];c[i+8>>2]=c[b+8>>2];c[i+12>>2]=c[b+12>>2];j=i+16|0;c[j>>2]=c[k>>2];c[j+4>>2]=c[k+4>>2];c[j+8>>2]=c[k+8>>2];c[j+12>>2]=c[k+12>>2];j=D+48|0;d=D+64|0;h[i+32>>3]=(+h[j>>3]-+h[d>>3])*.3333333333333333+ +h[k>>3];G=D+56|0;e=D+72|0;h[i+40>>3]=(+h[G>>3]-+h[e>>3])*.3333333333333333+ +h[D+40>>3];J=+h[j>>3];h[i+48>>3]=(J-+h[d>>3])*.3333333333333333+J;J=+h[G>>3];h[i+56>>3]=(J-+h[e>>3])*.3333333333333333+J;e=4;while(1){if((e|0)>=(g|0))break;G=i+(e<<4)|0;d=b+(e+-2<<4)|0;c[G>>2]=c[d>>2];c[G+4>>2]=c[d+4>>2];c[G+8>>2]=c[d+8>>2];c[G+12>>2]=c[d+12>>2];e=e+1|0}ZO(a,i,g,f);C_(i);c[B>>2]=c[j>>2];c[B+4>>2]=c[j+4>>2];c[B+8>>2]=c[j+8>>2];c[B+12>>2]=c[j+12>>2];G=B+16|0;c[G>>2]=c[k>>2];c[G+4>>2]=c[k+4>>2];c[G+8>>2]=c[k+8>>2];c[G+12>>2]=c[k+12>>2];aP(a,B,2);break}if((e|0)>=67108864){switch(e|0){case 67108864:break;default:break a}if((d|0)==4){G=tH(96)|0;c[G>>2]=c[b>>2];c[G+4>>2]=c[b+4>>2];c[G+8>>2]=c[b+8>>2];c[G+12>>2]=c[b+12>>2];d=G+16|0;c[d>>2]=c[k>>2];c[d+4>>2]=c[k+4>>2];c[d+8>>2]=c[k+8>>2];c[d+12>>2]=c[k+12>>2];d=G+32|0;A=D+64|0;c[d>>2]=c[A>>2];c[d+4>>2]=c[A+4>>2];c[d+8>>2]=c[A+8>>2];c[d+12>>2]=c[A+12>>2];d=G+48|0;b=b+32|0;c[d>>2]=c[b>>2];c[d+4>>2]=c[b+4>>2];c[d+8>>2]=c[b+8>>2];c[d+12>>2]=c[b+12>>2];b=G+64|0;d=D+128|0;c[b>>2]=c[d>>2];c[b+4>>2]=c[d+4>>2];c[b+8>>2]=c[d+8>>2];c[b+12>>2]=c[d+12>>2];b=G+80|0;z=D+160|0;c[b>>2]=c[z>>2];c[b+4>>2]=c[z+4>>2];c[b+8>>2]=c[z+8>>2];c[b+12>>2]=c[z+12>>2];ZO(a,G,6,f);C_(G);h[B>>3]=+h[D+176>>3]+ +h[j>>3]-+h[D>>3];h[B+8>>3]=+h[D+184>>3]+ +h[D+24>>3]-+h[D+8>>3];G=B+16|0;c[G>>2]=c[A>>2];c[G+4>>2]=c[A+4>>2];c[G+8>>2]=c[A+8>>2];c[G+12>>2]=c[A+12>>2];aP(a,B,2);c[G>>2]=c[d>>2];c[G+4>>2]=c[d+4>>2];c[G+8>>2]=c[d+8>>2];c[G+12>>2]=c[d+12>>2];aP(a,B,2);c[G>>2]=c[D>>2];c[G+4>>2]=c[D+4>>2];c[G+8>>2]=c[D+8>>2];c[G+12>>2]=c[D+12>>2];aP(a,B,2);break}else qa(102412,102423,714,102432)}switch(e|0){case 50331648:break;default:break a}g=d+3|0;i=tH(g<<4)|0;c[i>>2]=c[b>>2];c[i+4>>2]=c[b+4>>2];c[i+8>>2]=c[b+8>>2];c[i+12>>2]=c[b+12>>2];J=+h[b>>3];h[i+16>>3]=J-(J-+h[j>>3])*.25;e=D+56|0;J=(+h[e>>3]-+h[D+72>>3])*.3333333333333333+ +h[b+8>>3];h[i+24>>3]=J;I=+h[b>>3];h[i+32>>3]=I-(I-+h[j>>3])*2.0;h[i+40>>3]=J;J=+h[b>>3];h[i+48>>3]=J-(J-+h[j>>3])*2.25;h[i+56>>3]=+h[e>>3];h[i+64>>3]=+h[D+48>>3];h[i+72>>3]=+h[e>>3];e=4;while(1){if((e|0)>=(g|0))break;G=i+(e<<4)|0;d=b+(e+-3<<4)|0;c[G>>2]=c[d>>2];c[G+4>>2]=c[d+4>>2];c[G+8>>2]=c[d+8>>2];c[G+12>>2]=c[d+12>>2];e=e+1|0}ZO(a,i,g,f);C_(i);break}}else if((e|0)<318767104){if((e|0)<251658240){if((e|0)<218103808){switch(e|0){case 201326592:break;default:break a}G=d<<4;u=tH(G)|0;v=b+16|0;J=+h[v>>3];h[u>>3]=J;z=b+40|0;I=+h[z>>3];A=b+24|0;y=D+48|0;w=D+56|0;x=D+72|0;I=(+h[A>>3]-I)*.5+I+(+h[w>>3]-+h[x>>3])*.125;h[u+8>>3]=I;H=(+h[k>>3]-+h[y>>3])*2.0+J;h[u+16>>3]=H;h[u+24>>3]=I;h[u+32>>3]=H;I=(+h[w>>3]-+h[x>>3])*.5+I;h[u+40>>3]=I;h[u+48>>3]=J;h[u+56>>3]=I;ZO(a,u,d,f);C_(u);G=tH(G)|0;I=+h[k>>3]+ +h[v>>3]-+h[y>>3];h[G>>3]=I;J=+h[z>>3];J=(+h[A>>3]-J)*.5+J+(+h[w>>3]-+h[x>>3])*-.625;h[G+8>>3]=J;H=+h[k>>3]-+h[y>>3]+I;y=G+16|0;h[y>>3]=H;h[G+24>>3]=J;h[G+32>>3]=H;J=(+h[w>>3]-+h[x>>3])*.5+J;h[G+40>>3]=J;h[G+48>>3]=I;h[G+56>>3]=J;ZO(a,G,d,f);h[B>>3]=+h[y>>3];J=+h[z>>3];h[B+8>>3]=(+h[A>>3]-J)*.5+J;h[B+16>>3]=+h[b>>3];h[B+24>>3]=(+h[b+8>>3]-+h[b+56>>3])*.5+J;aP(a,B,2);C_(G);break}if((e|0)<234881024){switch(e|0){case 218103808:break;default:break a}G=d<<4;w=tH(G)|0;J=+h[b>>3];h[w>>3]=J;y=b+40|0;I=+h[y>>3];z=b+24|0;x=D+56|0;A=D+72|0;I=(+h[z>>3]-I)*.5+I+(+h[x>>3]-+h[A>>3])*.125;h[w+8>>3]=I;h[w+16>>3]=J;H=(+h[x>>3]-+h[A>>3])*.5+I;h[w+24>>3]=H;J=J-(+h[x>>3]-+h[A>>3])*2.0;h[w+32>>3]=J;h[w+40>>3]=H;h[w+48>>3]=J;h[w+56>>3]=I;ZO(a,w,d,f);C_(w);G=tH(G)|0;I=+h[b>>3]-+h[k>>3]+ +h[D+48>>3];h[G>>3]=I;J=+h[y>>3];J=(+h[z>>3]-J)*.5+J+(+h[x>>3]-+h[A>>3])*-.625;h[G+8>>3]=J;h[G+16>>3]=I;H=(+h[x>>3]-+h[A>>3])*.5+J;h[G+24>>3]=H;I=I-(+h[x>>3]-+h[A>>3]);h[G+32>>3]=I;h[G+40>>3]=H;A=G+48|0;h[A>>3]=I;h[G+56>>3]=J;ZO(a,G,d,f);h[B>>3]=+h[b+16>>3];J=+h[y>>3];h[B+8>>3]=(+h[z>>3]-J)*.5+J;h[B+16>>3]=+h[A>>3];h[B+24>>3]=(+h[b+8>>3]-+h[b+56>>3])*.5+J;aP(a,B,2);C_(G);break}else{switch(e|0){case 234881024:break;default:break a}G=d<<4;y=tH(G)|0;u=b+16|0;I=+h[u>>3];v=D+48|0;I=(+h[b>>3]-I)*.5+I+(+h[k>>3]-+h[v>>3])*-1.125;h[y>>3]=I;w=b+40|0;J=+h[w>>3];x=b+24|0;A=D+56|0;z=D+72|0;J=(+h[x>>3]-J)*.5+J+(+h[A>>3]-+h[z>>3])*.125;h[y+8>>3]=J;H=+h[k>>3]-+h[v>>3]+I;h[y+16>>3]=H;h[y+24>>3]=J;h[y+32>>3]=H;J=(+h[A>>3]-+h[z>>3])*.5+J;h[y+40>>3]=J;h[y+48>>3]=I;h[y+56>>3]=J;ZO(a,y,d,f);C_(y);y=tH(G)|0;J=+h[u>>3];J=(+h[b>>3]-J)*.5+J+(+h[k>>3]-+h[v>>3])*-1.125;h[y>>3]=J;I=+h[w>>3];I=(+h[x>>3]-I)*.5+I+(+h[A>>3]-+h[z>>3])*-.625;h[y+8>>3]=I;H=+h[k>>3]-+h[v>>3]+J;h[y+16>>3]=H;h[y+24>>3]=I;h[y+32>>3]=H;I=(+h[A>>3]-+h[z>>3])*.5+I;h[y+40>>3]=I;h[y+48>>3]=J;h[y+56>>3]=I;ZO(a,y,d,f);C_(y);y=tH(G)|0;I=+h[u>>3];I=(+h[b>>3]-I)*.5+I+(+h[k>>3]-+h[v>>3])*.125;h[y>>3]=I;J=+h[w>>3];J=(+h[x>>3]-J)*.5+J+(+h[A>>3]-+h[z>>3])*-.625;h[y+8>>3]=J;H=+h[k>>3]-+h[v>>3]+I;h[y+16>>3]=H;h[y+24>>3]=J;h[y+32>>3]=H;J=(+h[A>>3]-+h[z>>3])*.5+J;h[y+40>>3]=J;h[y+48>>3]=I;h[y+56>>3]=J;ZO(a,y,d,f);C_(y);G=tH(G)|0;J=+h[u>>3];J=(+h[b>>3]-J)*.5+J+(+h[k>>3]-+h[v>>3])*.125;h[G>>3]=J;I=+h[w>>3];I=(+h[x>>3]-I)*.5+I+(+h[A>>3]-+h[z>>3])*.125;h[G+8>>3]=I;H=+h[k>>3]-+h[v>>3]+J;y=G+16|0;h[y>>3]=H;h[G+24>>3]=I;h[G+32>>3]=H;I=(+h[A>>3]-+h[z>>3])*.5+I;h[G+40>>3]=I;h[G+48>>3]=J;h[G+56>>3]=I;ZO(a,G,d,f);h[B>>3]=+h[y>>3];I=+h[w>>3];y=B+8|0;h[y>>3]=(+h[x>>3]-I)*.5+I;z=B+16|0;h[z>>3]=+h[b>>3];A=b+8|0;d=b+56|0;f=B+24|0;h[f>>3]=(+h[A>>3]-+h[d>>3])*.5+I;aP(a,B,2);I=+h[u>>3];h[B>>3]=(+h[b>>3]-I)*.5+I+(+h[k>>3]-+h[v>>3])*-1.125;J=+h[w>>3];h[y>>3]=(+h[x>>3]-J)*.5+J;h[z>>3]=I;h[f>>3]=(+h[A>>3]-+h[d>>3])*.5+J;aP(a,B,2);C_(G);break}}if((e|0)<285212672)if((e|0)<268435456){switch(e|0){case 251658240:break;default:break a}G=d<<4;u=tH(G)|0;v=b+16|0;J=+h[v>>3];y=D+48|0;J=J-+h[k>>3]+(+h[b>>3]-J)*.5+ +h[y>>3];h[u>>3]=J;w=b+40|0;I=+h[w>>3];x=b+24|0;A=D+56|0;z=D+72|0;I=(+h[x>>3]-I)*.5+I+(+h[A>>3]-+h[z>>3])*.125;h[u+8>>3]=I;H=(+h[k>>3]-+h[y>>3])*2.0+J;h[u+16>>3]=H;h[u+24>>3]=I;h[u+32>>3]=H;I=(+h[A>>3]-+h[z>>3])*.5+I;h[u+40>>3]=I;h[u+48>>3]=J;h[u+56>>3]=I;ZO(a,u,d,f);C_(u);G=tH(G)|0;I=+h[v>>3];I=I-+h[k>>3]+(+h[b>>3]-I)*.5+ +h[y>>3];h[G>>3]=I;J=+h[w>>3];J=(+h[x>>3]-J)*.5+J+(+h[A>>3]-+h[z>>3])*-.625;h[G+8>>3]=J;H=(+h[k>>3]-+h[y>>3])*2.0+I;y=G+16|0;h[y>>3]=H;h[G+24>>3]=J;h[G+32>>3]=H;J=(+h[A>>3]-+h[z>>3])*.5+J;h[G+40>>3]=J;h[G+48>>3]=I;h[G+56>>3]=J;ZO(a,G,d,f);h[B>>3]=+h[y>>3];J=+h[w>>3];y=B+8|0;h[y>>3]=(+h[x>>3]-J)*.5+J;z=B+16|0;h[z>>3]=+h[b>>3];A=b+8|0;d=b+56|0;f=B+24|0;h[f>>3]=(+h[A>>3]-+h[d>>3])*.5+J;aP(a,B,2);h[B>>3]=+h[v>>3];J=+h[w>>3];h[y>>3]=(+h[x>>3]-J)*.5+J;h[z>>3]=+h[G>>3];h[f>>3]=(+h[A>>3]-+h[d>>3])*.5+J;aP(a,B,2);C_(G);break}else{switch(e|0){case 268435456:break;default:break a}G=tH(d<<4)|0;h[G>>3]=+h[b>>3];v=D+48|0;x=D+56|0;y=D+72|0;h[G+8>>3]=+h[D+24>>3]-(+h[x>>3]-+h[y>>3])*.5;h[G+16>>3]=+h[v>>3];J=+h[x>>3];h[G+24>>3]=J-(J-+h[y>>3])*.5;h[G+32>>3]=+h[b+32>>3];z=b+40|0;h[G+40>>3]=(+h[x>>3]-+h[y>>3])*.5+ +h[z>>3];h[G+48>>3]=+h[b>>3];h[G+56>>3]=(+h[x>>3]-+h[y>>3])*.5+ +h[z>>3];ZO(a,G,d,f);w=b+16|0;J=(+h[k>>3]-+h[v>>3])*.25;I=J+ +h[w>>3];h[B>>3]=I;H=+h[z>>3];u=b+24|0;F=+h[x>>3]-+h[y>>3];H=(+h[u>>3]-H)*.5+H+F*.125;A=B+8|0;h[A>>3]=H;d=B+16|0;h[d>>3]=J+I;f=B+24|0;h[f>>3]=H-F*.25;aP(a,B,2);F=(+h[k>>3]-+h[v>>3])*.25;H=F+ +h[w>>3];h[B>>3]=H;I=+h[z>>3];J=+h[x>>3]-+h[y>>3];I=(+h[u>>3]-I)*.5+I+J*-.125;h[A>>3]=I;h[d>>3]=F+H;h[f>>3]=J*.25+I;aP(a,B,2);I=(+h[k>>3]-+h[v>>3])*.25;h[B>>3]=I+ +h[w>>3];J=(+h[x>>3]-+h[y>>3])*.75+ +h[z>>3];h[A>>3]=J;h[d>>3]=+h[b>>3]-I;h[f>>3]=J;aP(a,B,2);C_(G);break}else if((e|0)<301989888){switch(e|0){case 285212672:break;default:break a}y=tH(d<<4)|0;v=b+16|0;I=+h[v>>3];z=D+48|0;I=(+h[k>>3]-+h[z>>3]+(+h[b>>3]-I))*.5+I;h[y>>3]=I;w=b+40|0;F=+h[w>>3];x=b+24|0;F=(+h[k>>3]-+h[z>>3]+(+h[x>>3]-F))*.5+F;h[y+8>>3]=F;h[y+16>>3]=I;I=+h[w>>3];o=+h[k>>3]-+h[z>>3];I=(+h[x>>3]-I-o)*.5+I;h[y+24>>3]=I;J=+h[v>>3];J=(+h[b>>3]-J-o)*.5+J;h[y+32>>3]=J;h[y+40>>3]=I;h[y+48>>3]=J;h[y+56>>3]=F;ZO(a,y,d,f);C_(y);F=+h[v>>3];F=(+h[b>>3]-F)*.5+F;J=+h[k>>3]-+h[z>>3];I=J*.75;o=F+I;h[B>>3]=o;H=+h[w>>3];H=(+h[x>>3]-H)*.5+H;I=H+I;y=B+8|0;h[y>>3]=I;A=B+16|0;h[A>>3]=o;J=J*-.75;H=H+J;G=B+24|0;h[G>>3]=H;J=F+J;h[B+32>>3]=J;h[B+40>>3]=H;h[B+48>>3]=J;h[B+56>>3]=I;d=B+64|0;c[d>>2]=c[B>>2];c[d+4>>2]=c[B+4>>2];c[d+8>>2]=c[B+8>>2];c[d+12>>2]=c[B+12>>2];aP(a,B,5);I=+h[v>>3];J=+h[b>>3];h[B>>3]=(J-I)*.5+I+(+h[k>>3]-+h[z>>3])*.75;I=+h[w>>3];h[y>>3]=(+h[x>>3]-I)*.5+I;h[A>>3]=J;d=b+8|0;f=b+56|0;h[G>>3]=(+h[d>>3]-+h[f>>3])*.5+I;aP(a,B,2);I=+h[v>>3];h[B>>3]=I;J=+h[w>>3];h[y>>3]=(+h[x>>3]-J)*.5+J;h[A>>3]=(+h[b>>3]-I)*.5+I+(+h[k>>3]-+h[z>>3])*-.75;h[G>>3]=(+h[d>>3]-+h[f>>3])*.5+J;aP(a,B,2);break}else{switch(e|0){case 301989888:break;default:break a}A=d+12|0;G=tH(A<<4)|0;x=b+16|0;m=+h[x>>3];s=D+48|0;m=(+h[b>>3]-m)*.5+m+(+h[k>>3]-+h[s>>3])*.25;h[G>>3]=m;y=b+40|0;F=+h[y>>3];z=b+24|0;v=D+56|0;w=D+72|0;F=(+h[v>>3]-+h[w>>3]+(+h[z>>3]-F))*.5+F;u=G+8|0;h[u>>3]=F;h[G+16>>3]=m;F=(+h[v>>3]-+h[w>>3])*.125+F;t=G+24|0;h[t>>3]=F;H=m-(+h[k>>3]-+h[s>>3])*.125;d=G+32|0;h[d>>3]=H;o=(+h[v>>3]-+h[w>>3])*.125+F;h[G+40>>3]=o;h[G+48>>3]=m;I=(+h[v>>3]-+h[w>>3])*.125+o;h[G+56>>3]=I;h[G+64>>3]=m;m=(+h[v>>3]-+h[w>>3])*.125+I;h[G+72>>3]=m;h[G+80>>3]=H;h[G+88>>3]=m;H=+h[x>>3];H=(+h[b>>3]-H)*.5+H;h[G+96>>3]=H;h[G+104>>3]=I;J=H-(+h[k>>3]-+h[s>>3])*.125;h[G+112>>3]=J;h[G+120>>3]=m;J=J-(+h[k>>3]-+h[s>>3])*.125;h[G+128>>3]=J;h[G+136>>3]=m;h[G+144>>3]=J;h[G+152>>3]=I;I=(+h[k>>3]-+h[s>>3])*.125+J;h[G+160>>3]=I;h[G+168>>3]=o;h[G+176>>3]=J;h[G+184>>3]=F;h[G+192>>3]=J;J=+h[u>>3];h[G+200>>3]=J;h[G+208>>3]=I;h[G+216>>3]=J;u=G+224|0;h[u>>3]=H;h[G+232>>3]=+h[t>>3];h[G+240>>3]=+h[d>>3];h[G+248>>3]=J;ZO(a,G,A,f);J=+h[u>>3];h[B>>3]=J;H=+h[y>>3];H=(+h[z>>3]-H)*.5+H;A=B+8|0;h[A>>3]=H;d=B+16|0;h[d>>3]=J;f=B+24|0;h[f>>3]=(+h[v>>3]-+h[w>>3])*.125+H;aP(a,B,2);H=+h[u>>3];h[B>>3]=H;J=+h[y>>3];I=+h[v>>3]-+h[w>>3];J=(+h[z>>3]-J)*.5+J+I*.25;h[A>>3]=J;h[d>>3]=H;h[f>>3]=I*.125+J;aP(a,B,2);h[B>>3]=+h[x>>3];J=+h[y>>3];h[A>>3]=(+h[z>>3]-J)*.5+J;h[d>>3]=+h[b>>3];h[f>>3]=(+h[b+8>>3]-+h[b+56>>3])*.5+J;aP(a,B,2);C_(G);break}}else{if((e|0)<369098752){if((e|0)<335544320){switch(e|0){case 318767104:break;default:break a}A=d+4|0;G=tH(A<<4)|0;x=b+16|0;H=+h[x>>3];d=D+48|0;H=(+h[b>>3]-H)*.5+H+(+h[k>>3]-+h[d>>3])*.125;h[G>>3]=H;y=b+40|0;J=+h[y>>3];z=b+24|0;v=D+56|0;w=D+72|0;J=(+h[v>>3]-+h[w>>3]+(+h[z>>3]-J))*.5+J;h[G+8>>3]=J;o=(+h[k>>3]-+h[d>>3])*.125+H;h[G+16>>3]=o;I=(+h[v>>3]-+h[w>>3])*.125+J;h[G+24>>3]=I;h[G+32>>3]=o;o=(+h[v>>3]-+h[w>>3])*.25+I;h[G+40>>3]=o;h[G+48>>3]=H;F=(+h[v>>3]-+h[w>>3])*.125+o;h[G+56>>3]=F;H=H-(+h[k>>3]-+h[d>>3])*.25;h[G+64>>3]=H;h[G+72>>3]=F;F=H-(+h[k>>3]-+h[d>>3])*.125;h[G+80>>3]=F;h[G+88>>3]=o;h[G+96>>3]=F;h[G+104>>3]=I;h[G+112>>3]=H;h[G+120>>3]=J;ZO(a,G,A,f);J=+h[x>>3];J=(+h[b>>3]-J)*.5+J;h[B>>3]=J;H=+h[y>>3];H=(+h[z>>3]-H)*.5+H;A=B+8|0;h[A>>3]=H;d=B+16|0;h[d>>3]=J;f=B+24|0;h[f>>3]=(+h[v>>3]-+h[w>>3])*.125+H;aP(a,B,2);H=+h[x>>3];H=(+h[b>>3]-H)*.5+H;h[B>>3]=H;J=+h[y>>3];I=+h[v>>3]-+h[w>>3];J=(+h[z>>3]-J)*.5+J+I*.25;h[A>>3]=J;h[d>>3]=H;h[f>>3]=I*.125+J;aP(a,B,2);h[B>>3]=+h[x>>3];J=+h[y>>3];h[A>>3]=(+h[z>>3]-J)*.5+J;h[d>>3]=+h[b>>3];h[f>>3]=(+h[b+8>>3]-+h[b+56>>3])*.5+J;aP(a,B,2);C_(G);break}if((e|0)<352321536){switch(e|0){case 335544320:break;default:break a}x=d+12|0;G=tH(x<<4)|0;y=b+16|0;m=+h[y>>3];u=D+48|0;m=(+h[b>>3]-m)*.5+m+(+h[k>>3]-+h[u>>3])*.25;h[G>>3]=m;z=b+40|0;F=+h[z>>3];A=b+24|0;s=D+56|0;t=D+72|0;F=(+h[s>>3]-+h[t>>3]+(+h[A>>3]-F))*.5+F;d=G+8|0;h[d>>3]=F;h[G+16>>3]=m;F=(+h[s>>3]-+h[t>>3])*.125+F;v=G+24|0;h[v>>3]=F;I=m-(+h[k>>3]-+h[u>>3])*.125;w=G+32|0;h[w>>3]=I;o=(+h[s>>3]-+h[t>>3])*.125+F;h[G+40>>3]=o;h[G+48>>3]=m;H=(+h[s>>3]-+h[t>>3])*.125+o;h[G+56>>3]=H;h[G+64>>3]=m;m=(+h[s>>3]-+h[t>>3])*.125+H;h[G+72>>3]=m;h[G+80>>3]=I;h[G+88>>3]=m;I=+h[y>>3];I=(+h[b>>3]-I)*.5+I;h[G+96>>3]=I;h[G+104>>3]=H;J=I-(+h[k>>3]-+h[u>>3])*.125;h[G+112>>3]=J;h[G+120>>3]=m;J=J-(+h[k>>3]-+h[u>>3])*.125;h[G+128>>3]=J;h[G+136>>3]=m;h[G+144>>3]=J;h[G+152>>3]=H;H=(+h[k>>3]-+h[u>>3])*.125+J;h[G+160>>3]=H;h[G+168>>3]=o;h[G+176>>3]=J;h[G+184>>3]=F;h[G+192>>3]=J;J=+h[d>>3];h[G+200>>3]=J;h[G+208>>3]=H;h[G+216>>3]=J;d=G+224|0;h[d>>3]=I;h[G+232>>3]=+h[v>>3];h[G+240>>3]=+h[w>>3];h[G+248>>3]=J;ZO(a,G,x,f);c[B>>2]=c[d>>2];c[B+4>>2]=c[d+4>>2];c[B+8>>2]=c[d+8>>2];c[B+12>>2]=c[d+12>>2];d=B+16|0;h[d>>3]=+h[B>>3];J=+h[z>>3];f=B+24|0;h[f>>3]=(+h[A>>3]-J)*.5+J;aP(a,B,2);h[B>>3]=+h[y>>3];J=+h[z>>3];h[B+8>>3]=(+h[A>>3]-J)*.5+J;h[d>>3]=+h[b>>3];h[f>>3]=(+h[b+8>>3]-+h[b+56>>3])*.5+J;aP(a,B,2);C_(G);break}else{switch(e|0){case 352321536:break;default:break a}A=d+4|0;G=tH(A<<4)|0;x=b+16|0;I=+h[x>>3];w=D+48|0;I=(+h[b>>3]-I)*.5+I+(+h[k>>3]-+h[w>>3])*.125;h[G>>3]=I;y=b+40|0;J=+h[y>>3];z=b+24|0;u=D+56|0;v=D+72|0;J=(+h[u>>3]-+h[v>>3]+(+h[z>>3]-J))*.5+J;d=G+8|0;h[d>>3]=J;o=(+h[k>>3]-+h[w>>3])*.125+I;h[G+16>>3]=o;H=(+h[u>>3]-+h[v>>3])*.125+J;h[G+24>>3]=H;h[G+32>>3]=o;o=(+h[u>>3]-+h[v>>3])*.25+H;h[G+40>>3]=o;h[G+48>>3]=I;F=(+h[u>>3]-+h[v>>3])*.125+o;h[G+56>>3]=F;I=I-(+h[k>>3]-+h[w>>3])*.25;h[G+64>>3]=I;h[G+72>>3]=F;F=I-(+h[k>>3]-+h[w>>3])*.125;h[G+80>>3]=F;h[G+88>>3]=o;h[G+96>>3]=F;h[G+104>>3]=H;h[G+112>>3]=I;h[G+120>>3]=J;ZO(a,G,A,f);J=+h[x>>3];J=(+h[b>>3]-J)*.5+J;h[B>>3]=J;A=B+8|0;h[A>>3]=+h[d>>3];d=B+16|0;h[d>>3]=J;J=+h[y>>3];f=B+24|0;h[f>>3]=(+h[z>>3]-J)*.5+J;aP(a,B,2);h[B>>3]=+h[x>>3];J=+h[y>>3];h[A>>3]=(+h[z>>3]-J)*.5+J;h[d>>3]=+h[b>>3];h[f>>3]=(+h[b+8>>3]-+h[b+56>>3])*.5+J;aP(a,B,2);C_(G);break}}if((e|0)<402653184)if((e|0)<385875968){switch(e|0){case 369098752:break;default:break a}d=d+5|0;G=tH(d<<4)|0;B=D+48|0;h[G>>3]=+h[j>>3]-(+h[k>>3]-+h[B>>3])*.5;y=D+56|0;A=D+72|0;h[G+8>>3]=+h[D+24>>3]-(+h[y>>3]-+h[A>>3])*.5;h[G+16>>3]=+h[B>>3];J=+h[y>>3];h[G+24>>3]=J-(J-+h[A>>3])*.5;h[G+32>>3]=+h[b+32>>3];z=b+40|0;h[G+40>>3]=+h[z>>3];J=+h[k>>3];h[G+48>>3]=(J-+h[B>>3])*.5+J;h[G+56>>3]=+h[z>>3];J=+h[k>>3];h[G+64>>3]=(J-+h[B>>3])*.5+J;h[G+72>>3]=(+h[y>>3]-+h[A>>3])*.5+ +h[z>>3];h[G+80>>3]=+h[j>>3]-(+h[k>>3]-+h[B>>3])*.5;h[G+88>>3]=(+h[y>>3]-+h[A>>3])*.5+ +h[z>>3];h[G+96>>3]=+h[j>>3]-(+h[k>>3]-+h[B>>3])*.5;z=b+56|0;h[G+104>>3]=+h[z>>3];A=b+8|0;J=+h[A>>3];h[G+120>>3]=J-(J-+h[z>>3])*.5;h[G+112>>3]=+h[b>>3];h[G+136>>3]=+h[A>>3];h[G+128>>3]=+h[j>>3]-(+h[k>>3]-+h[B>>3])*.5;ZO(a,G,d,f);C_(G);break}else{switch(e|0){case 385875968:break;default:break a}d=d+3|0;G=tH(d<<4)|0;B=D+48|0;h[G>>3]=+h[j>>3]-(+h[k>>3]-+h[B>>3])*.5;y=D+56|0;A=D+72|0;h[G+8>>3]=+h[D+24>>3]-(+h[y>>3]-+h[A>>3])*.5;h[G+16>>3]=+h[B>>3];J=+h[y>>3];h[G+24>>3]=J-(J-+h[A>>3])*.5;h[G+32>>3]=+h[b+32>>3];z=b+40|0;h[G+40>>3]=(+h[y>>3]-+h[A>>3])*.5+ +h[z>>3];h[G+48>>3]=+h[j>>3]-(+h[k>>3]-+h[B>>3])*.5;h[G+56>>3]=(+h[y>>3]-+h[A>>3])*.5+ +h[z>>3];h[G+64>>3]=+h[j>>3]-(+h[k>>3]-+h[B>>3])*.5;z=b+56|0;h[G+72>>3]=+h[z>>3];A=b+8|0;J=+h[A>>3];h[G+88>>3]=J-(J-+h[z>>3])*.5;h[G+80>>3]=+h[b>>3];h[G+104>>3]=+h[A>>3];h[G+96>>3]=+h[j>>3]-(+h[k>>3]-+h[B>>3])*.5;ZO(a,G,d,f);C_(G);break}else if((e|0)<419430400){switch(e|0){case 402653184:break;default:break a}d=d+3|0;G=tH(d<<4)|0;h[G>>3]=+h[b>>3];y=b+8|0;z=D+48|0;A=D+56|0;B=D+72|0;h[G+8>>3]=+h[y>>3]-(+h[A>>3]-+h[B>>3])*.5;J=+h[k>>3];h[G+16>>3]=(J-+h[z>>3])*.5+J;h[G+24>>3]=+h[y>>3]-(+h[A>>3]-+h[B>>3])*.5;J=+h[k>>3];h[G+32>>3]=(J-+h[z>>3])*.5+J;h[G+40>>3]=+h[D+40>>3];h[G+48>>3]=+h[b+16>>3];J=+h[b+24>>3];y=b+40|0;h[G+56>>3]=J-(J-+h[y>>3])*.5;J=+h[k>>3];h[G+64>>3]=(J-+h[z>>3])*.5+J;h[G+72>>3]=+h[y>>3];h[G+88>>3]=(+h[A>>3]-+h[B>>3])*.5+ +h[y>>3];J=+h[k>>3];h[G+80>>3]=(J-+h[z>>3])*.5+J;h[G+104>>3]=(+h[A>>3]-+h[B>>3])*.5+ +h[b+56>>3];h[G+96>>3]=+h[b>>3];ZO(a,G,d,f);C_(G);break}else{switch(e|0){case 419430400:break;default:break a}d=d+5|0;G=tH(d<<4)|0;h[G>>3]=+h[b>>3];B=b+8|0;A=D+48|0;y=D+56|0;z=D+72|0;h[G+8>>3]=+h[B>>3]-(+h[y>>3]-+h[z>>3])*.5;J=+h[k>>3];h[G+16>>3]=(J-+h[A>>3])*.5+J;h[G+24>>3]=+h[B>>3]-(+h[y>>3]-+h[z>>3])*.5;J=+h[k>>3];h[G+32>>3]=(J-+h[A>>3])*.5+J;h[G+40>>3]=+h[D+40>>3];h[G+48>>3]=+h[b+16>>3];J=+h[b+24>>3];B=b+40|0;h[G+56>>3]=J-(J-+h[B>>3])*.5;J=+h[k>>3];h[G+64>>3]=(J-+h[A>>3])*.5+J;h[G+72>>3]=+h[B>>3];h[G+88>>3]=(+h[y>>3]-+h[z>>3])*.5+ +h[B>>3];J=+h[k>>3];h[G+80>>3]=(J-+h[A>>3])*.5+J;B=b+56|0;h[G+104>>3]=(+h[y>>3]-+h[z>>3])*.5+ +h[B>>3];h[G+96>>3]=+h[j>>3]-(+h[k>>3]-+h[A>>3])*.5;h[G+112>>3]=+h[j>>3]-(+h[k>>3]-+h[A>>3])*.5;h[G+120>>3]=+h[B>>3];h[G+128>>3]=+h[b+48>>3];h[G+136>>3]=+h[B>>3];ZO(a,G,d,f);C_(G);break}}while(0);C_(D)}l=E;return}function EJ(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,i=0,j=0,k=0.0;f=l;l=l+112|0;g=f;k=+h[b+8>>3]*2.0;c[g>>2]=c[b>>2];c[g+4>>2]=c[b+4>>2];c[g+8>>2]=c[b+8>>2];c[g+12>>2]=c[b+12>>2];h[g+16>>3]=+h[b+16>>3];h[g+24>>3]=k-+h[b+24>>3];h[g+32>>3]=+h[b+32>>3];h[g+40>>3]=k-+h[b+40>>3];h[g+48>>3]=+h[b+48>>3];h[g+56>>3]=k-+h[b+56>>3];h[g+64>>3]=+h[b+64>>3];h[g+72>>3]=k-+h[b+72>>3];h[g+80>>3]=+h[b+80>>3];h[g+88>>3]=k-+h[b+88>>3];i=g+96|0;j=b+96|0;c[i>>2]=c[j>>2];c[i+4>>2]=c[j+4>>2];c[i+8>>2]=c[j+8>>2];c[i+12>>2]=c[j+12>>2];$O(a,b,d,0,0,e&255);$O(a,g,7,0,0,0);l=f;return}function FJ(a,b,c,d){a=a|0;b=+b;c=c|0;d=d|0;var e=0.0,f=0.0;f=+h[c>>3];e=+h[c+8>>3];e=(+h[d+8>>3]-e)*b+e;h[a>>3]=(+h[d>>3]-f)*b+f;h[a+8>>3]=e;return}function GJ(a){a=a|0;a=c[(c[a+16>>2]|0)+8>>2]|0;if(a){a=c[c[a+4>>2]>>2]|0;if((a|0)!=89)if((a|0)==92)a=2;else return ((a|0)==91?3:(a|0)==94?4:0)|0;else a=1}else a=0;return a|0}function HJ(b){b=b|0;var d=0,e=0,f=0.0,g=0,i=0,j=0,k=0.0,m=0.0,n=0.0,o=0.0,p=0,q=0.0,r=0.0,s=0.0,t=0.0,u=0.0,v=0.0,w=0.0,x=0.0,y=0.0,z=0.0,A=0,D=0,G=0,H=0,I=0,J=0,L=0,M=0,N=0,P=0.0,Q=0.0,R=0,S=0,T=0.0,U=0.0,V=0.0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0.0;aa=l;l=l+144|0;J=aa+112|0;N=aa+104|0;G=aa+96|0;H=aa+88|0;i=aa+80|0;Y=aa+64|0;_=aa+48|0;R=aa+40|0;S=aa+32|0;j=aa+24|0;p=aa+16|0;D=aa+136|0;A=aa+128|0;L=aa;$=tH(48)|0;Z=b+16|0;W=c[(c[(c[Z>>2]|0)+8>>2]|0)+8>>2]|0;g=(W|0)==1616;X=c[W>>2]|0;d=c[W+4>>2]|0;e=c[W+8>>2]|0;m=+h[W+16>>3];n=+h[W+32>>3];o=+h[W+24>>3];X=X|(PL(wx(b,102485)|0)|0)&255;do if(!g){if(!X){W=c[Z>>2]|0;k=+h[W+32>>3]*72.0;f=+h[W+40>>3]*72.0;f=+(~~(f+(f>=0.0?.5:-.5))|0);k=+(~~(k+(k>=0.0?.5:-.5))|0);break}k=+RJ(b);if(k>0.0)f=k;else{W=c[Z>>2]|0;f=+h[W+32>>3];k=+h[W+40>>3];k=(f=0.0?.5:-.5))|0);f=k}}else{f=0.0;k=0.0}while(0);W=JL(b,c[46390]|0,d,0)|0;V=+KL(b,c[46392]|0,0.0,-360.0)+m;if(!e){U=+KL(b,c[46393]|0,0.0,-100.0);I=JL(b,c[46389]|0,4,0)|0;T=+KL(b,c[46394]|0,0.0,-100.0)}else{I=e;U=n;T=o}d=c[(c[Z>>2]|0)+104>>2]|0;e=d+24|0;c[Y>>2]=c[e>>2];c[Y+4>>2]=c[e+4>>2];c[Y+8>>2]=c[e+8>>2];c[Y+12>>2]=c[e+12>>2];q=+h[Y>>3];if(q>0.0){if(!g)M=11}else if(!(g|!(+h[Y+8>>3]>0.0)))M=11;if((M|0)==11){d=wx(b,102470)|0;do if(d){h[p>>3]=0.0;h[j>>3]=0.0;c[i>>2]=j;c[i+4>>2]=p;d=M1(d,102477,i)|0;m=+h[j>>3];if(m<0.0){h[j>>3]=0.0;m=0.0}n=+h[p>>3];if(n<0.0){h[p>>3]=0.0;o=0.0}else o=n;if((d|0)<=0){n=q+16.0;h[Y>>3]=n;m=8.0;break}m=m*72.0;m=+(~~(m+(m>=0.0?.5:-.5))<<1|0);n=q+m;h[Y>>3]=n;if((d|0)!=1){m=o*72.0;m=+(~~(m+(m>=0.0?.5:-.5))<<1|0)}}else{n=q+16.0;h[Y>>3]=n;m=8.0}while(0);d=Y+8|0;h[d>>3]=+h[d>>3]+m;d=c[(c[Z>>2]|0)+104>>2]|0;q=n}s=+h[d+24>>3];m=+h[c[(c[(dz(b)|0)+16>>2]|0)+8>>2]>>3];if(m>0.0){P=m*72.0;P=+(~~(P+(P>=0.0?.5:-.5))|0);Q=+SJ(q,P);h[Y>>3]=Q;p=Y+8|0;h[p>>3]=+SJ(+h[p>>3],P)}else Q=q;d=c[(c[Z>>2]|0)+8>>2]|0;do if(!(a[d+12>>0]|0)){e=wx(b,105999)|0;if((e|0)!=0?(a[e>>0]|0)!=0:0){BC(A,dz(b)|0,e);d=c[A>>2]|0;g=c[A+4>>2]|0;if((g&d|0)==-1){d=qy(b)|0;c[G>>2]=e;c[G+4>>2]=d;Ow(0,102561,G)|0;e=0;d=0;break}else{a[(c[(dz(b)|0)+16>>2]|0)+114>>0]=1;e=d+2|0;d=g+2|0;break}}else{e=0;d=0}}else{d=c[d>>2]|0;if((a[d>>0]|0)==99?(a$(d,102493)|0)==0:0){e=wx(b,102500)|0;BC(D,dz(b)|0,e);d=c[D>>2]|0;g=c[D+4>>2]|0;if((g&d|0)==-1){d=qy(b)|0;c[H>>2]=e|0?e:102510;c[H+4>>2]=d;Ow(0,102516,H)|0;e=0;d=0;break}else{a[(c[(dz(b)|0)+16>>2]|0)+114>>0]=1;e=d+2|0;d=g+2|0;break}}else{e=0;d=0}}while(0);P=+(e|0);h[_>>3]=Q>P?Q:P;P=+h[Y+8>>3];r=+(d|0);d=_+8|0;h[d>>3]=P>r?P:r;e=(I|0)<3&(T!=0.0|U!=0.0)?120:I;g=wx(b,102602)|0;if(!g)i=99;else{i=a[g>>0]|0;i=i<<24>>24==116?116:i<<24>>24==98?98:99}g=c[Z>>2]|0;a[(c[g+104>>2]|0)+80>>0]=i;if((e|0)==4?(T==0.0?((~~(V+(V>=0.0?.5:-.5))|0)%90|0|0)==0:0)&U==0.0:0)p=1;else M=39;do if((M|0)==39){g=c[(c[(c[g+8>>2]|0)+8>>2]|0)+44>>2]|0;if(g|0){p=c[g>>2]|0;c[J>>2]=c[_>>2];c[J+4>>2]=c[_+4>>2];c[J+8>>2]=c[_+8>>2];c[J+12>>2]=c[_+12>>2];ub[p&63](L,J);c[_>>2]=c[L>>2];c[_+4>>2]=c[L+4>>2];c[_+8>>2]=c[L+8>>2];c[_+12>>2]=c[L+12>>2];p=0;break}m=+h[d>>3];n=m*1.4142135623730951;if(f>n&i<<24>>24==99){o=m/f;o=+C(+(1.0/(1.0-o*o)));o=+h[_>>3]*o;h[_>>3]=o}else{o=+h[_>>3]*1.4142135623730951;h[_>>3]=o;h[d>>3]=n;m=n}if((e|0)>2){z=+E(+(3.141592653589793/+(e|0)));h[_>>3]=o/z;h[d>>3]=m/z;p=0}else p=0}while(0);m=+h[d>>3];g=ML(b,c[46395]|0,134226)|0;if((a[g>>0]|0)==115?(a$(g,105204)|0)==0:0){h[_>>3]=k;h[d>>3]=f;N=$+40|0;c[N>>2]=c[N>>2]|2048}else{if(!((PL(g)|0)<<24>>24)){z=+h[_>>3];k=k>z?k:z;h[_>>3]=k;z=+h[d>>3];f=f>z?f:z}else{M=c[(c[Z>>2]|0)+104>>2]|0;if(!(!(k<+h[M+24>>3])?!(f<+h[M+32>>3]):0)){L=qy(b)|0;M=qy(dz(b)|0)|0;c[N>>2]=L;c[N+4>>2]=M;Ow(0,102611,N)|0}h[_>>3]=k}h[d>>3]=f}if(!X){z=f;y=k}else{y=k>f?k:f;h[d>>3]=y;h[_>>3]=y;z=y}do if(!((PL(ML(b,c[46386]|0,134226)|0)|0)<<24>>24)){if(p){f=+h[(Q>+h[_>>3]?Y:_)>>3];break}f=+h[d>>3];if(P>3]*+C(+(1.0-P*P/(f*f)));f=Q>f?Q:f}else f=Q}else f=Q;while(0);g=c[(c[Z>>2]|0)+104>>2]|0;h[g+40>>3]=s-q+f;A=$+40|0;if(!(c[A>>2]&2048)){x=+h[d>>3]-m;h[g+48>>3]=(P1;g=j?W:1;a:do if((e|0)<3){g=tH(g<<5)|0;k=+h[_>>3]*.5;f=+h[d>>3]*.5;h[g>>3]=-k;h[g+8>>3]=-f;h[g+16>>3]=k;h[g+24>>3]=f;if(j){e=1;i=2;while(1){if((e|0)==(W|0))break;y=k+4.0;z=f+4.0;h[g+(i<<4)>>3]=-y;h[g+(i<<4)+8>>3]=-z;S=i|1;h[g+(S<<4)>>3]=y;h[g+(S<<4)+8>>3]=z;e=e+1|0;i=i+2|0;k=y;f=z}h[_>>3]=k*2.0;h[d>>3]=f*2.0;e=2}else e=2}else{g=tH(O(g<<4,e)|0)|0;i=c[(c[(c[(c[Z>>2]|0)+8>>2]|0)+8>>2]|0)+44>>2]|0;b:do if(!i){q=6.283185307179586/+(e|0);t=q*.5;r=+F(+t);s=+t$(+B(+U)+ +B(+T),1.0);t=T*1.4142135623730951/+E(+t);u=U*.5;v$((q+-3.141592653589793)*.5,R,S);v=V*.017453292519943295;k=0.0;f=0.0;m=0.0;i=0;n=+h[S>>3]*.5;o=+h[R>>3]*.5;while(1){if((i|0)>=(e|0))break b;m=m+q;v$(m,R,S);n=+h[S>>3]*r+n;o=+h[R>>3]*r+o;x=(o*t+s)*n+u*o;v$(+K(+o,+x)+v,R,S);x=+t$(x,o);w=+h[S>>3]*x*+h[_>>3];x=+h[R>>3]*x*+h[d>>3];ba=+B(+w);f=ba>f?ba:f;ba=+B(+x);k=ba>k?ba:k;h[g+(i<<4)>>3]=w;h[g+(i<<4)+8>>3]=x;if(p)break;else i=i+1|0}ba=-w;h[g+16>>3]=ba;h[g+24>>3]=x;h[g+32>>3]=ba;ba=-x;h[g+40>>3]=ba;h[g+48>>3]=w;h[g+56>>3]=ba}else{ub[c[i+4>>2]&63](g,_);k=+h[d>>3]*.5;f=+h[_>>3]*.5}while(0);f=f*2.0;k=k*2.0;y=y>f?y:f;h[_>>3]=y;ba=z>k?z:k;h[d>>3]=ba;f=y/f;k=ba/k;i=0;while(1){if((i|0)>=(e|0))break;N=g+(i<<4)|0;b=g+(i<<4)+8|0;ba=+h[b>>3]*k;h[N>>3]=+h[N>>3]*f;h[b>>3]=ba;i=i+1|0}if(j){j=e+-1|0;k=+h[g>>3];m=+h[g+8>>3];f=+K(+(m-+h[g+(j<<4)+8>>3]),+(k-+h[g+(j<<4)>>3]));j=0;c:while(1){if((j|0)>=(e|0))break;p=j+1|0;i=(p|0)%(e|0)|0;n=+h[g+(i<<4)>>3];o=+h[g+(i<<4)+8>>3];q=+K(+(o-m),+(n-k));z=(f+3.141592653589793-q)*.5;ba=4.0/+F(+z);v$(f-z,R,S);h[R>>3]=+h[R>>3]*ba;h[S>>3]=+h[S>>3]*ba;i=1;f=m;while(1){if((i|0)==(W|0)){f=q;j=p;k=n;m=o;continue c}z=+h[S>>3]+k;ba=+h[R>>3]+f;b=(O(i,e)|0)+j|0;h[g+(b<<4)>>3]=z;h[g+(b<<4)+8>>3]=ba;i=i+1|0;k=z;f=ba}}j=O(e,W+-1|0)|0;i=0;while(1){if((i|0)>=(e|0))break a;S=i+j|0;z=+h[g+(S<<4)+8>>3];y=+B(+(+h[g+(S<<4)>>3]))*2.0;ba=+h[_>>3];h[_>>3]=y>ba?y:ba;z=+B(+z)*2.0;ba=+h[d>>3];h[d>>3]=z>ba?z:ba;i=i+1|0}}}while(0);c[$>>2]=X;c[$+4>>2]=W;c[$+8>>2]=e;h[$+16>>3]=V;h[$+32>>3]=U;h[$+24>>3]=T;c[$+44>>2]=g;f=+h[_>>3];if(!(c[A>>2]&2048)){e=c[Z>>2]|0;h[e+32>>3]=f*.013888888888888888}else{e=c[Z>>2]|0;h[e+32>>3]=+h[(Q>f?Y:_)>>3]*.013888888888888888;d=(P>+h[d>>3]?Y:_)+8|0}h[e+40>>3]=+h[d>>3]*.013888888888888888;c[e+12>>2]=$;l=aa;return}function IJ(a){a=a|0;var b=0,d=0,e=0,f=0,g=0.0,i=0.0,j=0,k=0,m=0,n=0,o=0;o=l;l=l+64|0;j=o+40|0;e=o+32|0;k=o+16|0;n=o;d=(c[(c[(dz(a)|0)+16>>2]|0)+116>>2]|0)>>>2&1^1;m=a+16|0;f=c[c[(c[m>>2]|0)+104>>2]>>2]|0;c[46512]=f;f=V_(f)|0;f=tH(((f|0)>1?f:1)+1|0)|0;b=KJ(a,d,1,f)|0;if(!b){c[e>>2]=c[c[(c[m>>2]|0)+104>>2]>>2];Ow(1,102446,e)|0;c[46512]=102467;b=KJ(a,d,1,f)|0}C_(f);LJ(j,a,b);d=c[m>>2]|0;i=+h[d+32>>3]*72.0;i=+(~~(i+(i>=0.0?.5:-.5))|0);h[n>>3]=i;g=+h[d+40>>3]*72.0;g=+(~~(g+(g>=0.0?.5:-.5))|0);d=n+8|0;h[d>>3]=g;if(!((PL(ML(a,c[46395]|0,134226)|0)|0)<<24>>24)){i=+h[(+h[b>>3]>i?b:n)>>3];h[n>>3]=i;e=b+8|0;g=+h[(+h[e>>3]>g?b:n)+8>>3];h[d>>3]=g;d=e;e=b}else{d=b+8|0;e=b}a=(PL(ML(a,c[46386]|0,134226)|0)|0)&255;c[j>>2]=c[n>>2];c[j+4>>2]=c[n+4>>2];c[j+8>>2]=c[n+8>>2];c[j+12>>2]=c[n+12>>2];MJ(b,j,a);NJ(k,i*-.5,g*.5);c[j>>2]=c[k>>2];c[j+4>>2]=c[k+4>>2];c[j+8>>2]=c[k+8>>2];c[j+12>>2]=c[k+12>>2];OJ(b,j,15);n=c[m>>2]|0;h[n+32>>3]=+h[e>>3]*.013888888888888888;h[n+40>>3]=(+h[d>>3]+1.0)*.013888888888888888;c[n+12>>2]=b;l=o;return}function JJ(a){a=a|0;var b=0.0,d=0,e=0.0,f=0.0,g=0,i=0,j=0,k=0,l=0.0,m=0;j=tH(48)|0;k=a+16|0;g=c[(c[(c[(c[k>>2]|0)+8>>2]|0)+8>>2]|0)+4>>2]|0;f=+KL(a,c[46376]|0,1797693134862315708145274.0e284,0.0);b=+KL(a,c[46375]|0,1797693134862315708145274.0e284,0.0);f=f0.0?(f>.0003?f:.0003):f;i=c[k>>2]|0;h[i+40>>3]=f;h[i+32>>3]=f;b=f*72.0;g=JL(a,c[46390]|0,g,0)|0;i=tH((g|0)<1?32:g<<5)|0;f=f*36.0;e=-f;h[i>>3]=e;h[i+8>>3]=e;h[i+16>>3]=f;h[i+24>>3]=f;if((g|0)>1){a=1;d=2;e=f;b=f;while(1){if((a|0)==(g|0))break;l=e+4.0;f=b+4.0;h[i+(d<<4)>>3]=-l;h[i+(d<<4)+8>>3]=-f;m=d|1;h[i+(m<<4)>>3]=l;h[i+(m<<4)+8>>3]=f;a=a+1|0;d=d+2|0;e=l;b=f}b=e*2.0}c[j>>2]=1;c[j+4>>2]=g;c[j+8>>2]=2;m=j+16|0;c[m>>2]=0;c[m+4>>2]=0;c[m+8>>2]=0;c[m+12>>2]=0;c[m+16>>2]=0;c[m+20>>2]=0;c[j+44>>2]=i;l=b*.013888888888888888;m=c[k>>2]|0;h[m+32>>3]=l;h[m+40>>3]=l;c[m+12>>2]=j;return}function KJ(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0;g=tH(72)|0;n=c[(c[b+16>>2]|0)+104>>2]|0;m=0;i=1;j=c[46512]|0;a:while(1){k=a[j>>0]|0;switch(k<<24>>24){case 0:break a;case 92:{j=j+1|0;k=a[j>>0]|0;switch(k<<24>>24){case 124:case 125:case 123:case 92:{l=m;break}default:E=4}break}default:E=4}if((E|0)==4){E=0;switch(k<<24>>24){case 123:{l=m+1|0;break}case 125:{l=m+-1|0;break}default:{l=m;i=i+((m|0)==0&k<<24>>24==124&1)|0}}if((l|0)<0)break}m=l;j=j+1|0}B=g+56|0;c[B>>2]=tH(i<<2)|0;a[g+64>>0]=d;y=(d|0)==0&1;z=n+82|0;A=f+1|0;v=(e|0)!=0;w=n+16|0;x=n+4|0;u=n+8|0;k=0;m=0;d=0;t=0;l=0;e=0;n=f;i=0;j=0;b:while(1){p=k;k=0;c:while(1){d:while(1){s=e;e:while(1){r=k;o=i;f:while(1){q=m;g:while(1){while(1){if(t){E=78;break b}m=c[46512]|0;i=a[m>>0]|0;if((i+-1&255)>=31)break;c[46512]=m+1}switch(i<<24>>24|0){case 92:{E=53;break d}case 0:case 124:case 125:break e;case 60:break f;case 62:break g;case 123:break;default:{k=d;i=m;break d}}i=m+1|0;c[46512]=i;if(l|0){E=34;break b}if(!(a[i>>0]|0)){E=34;break b}e=KJ(b,y,0,f)|0;c[(c[B>>2]|0)+(q<<2)>>2]=e;if(!e){E=36;break b}else{q=q+1|0;l=4}}if(a[z>>0]|0){k=d;i=m;break d}if(!(l&16)){E=27;break b}if(o>>>0>A>>>0?(C=o+-1|0,(C|0)!=(s|0)):0)i=(a[C>>0]|0)==32?C:o;else i=o;a[i>>0]=0;r=m1(f)|0;c[46512]=(c[46512]|0)+1;m=q;l=l&-17;o=i}if(l&6|0){E=22;break b}if(a[z>>0]|0){k=d;i=m;break d}c[46512]=m+1;m=q;l=l|18;k=r;s=f;i=f}if(!((l&16|0)==0&(v|i<<24>>24!=0))){E=38;break b}if(!(l&4)){k=tH(72)|0;c[(c[B>>2]|0)+(q<<2)>>2]=k;m=q+1|0}else{k=p;m=q}if(r|0)c[k+60>>2]=r;if(!(l&5)){a[f+j>>0]=32;l=l|1;j=j+1|0}i=f+j|0;if(l&1){if((j|0)>1?(D=i+-1|0,(D|0)!=(n|0)):0)i=(a[D>>0]|0)==32?D:i;a[i>>0]=0;n=m1(f)|0;c[k+52>>2]=jH(b,n,a[z>>0]|0?2:0,+h[w>>3],c[x>>2]|0,c[u>>2]|0)|0;a[k+64>>0]=1;n=f;j=0}i=c[46512]|0;switch(a[i>>0]|0){case 0:{t=1;e=s;i=o;continue b}case 125:{E=51;break b}default:{}}c[46512]=i+1;p=k;l=0;k=0;e=s;i=o}h:do if((E|0)==53){E=0;k=f+j|0;i=m+1|0;switch(a[i>>0]|0){case 0:{k=d;i=m;break h}case 62:case 60:case 124:case 125:case 123:{k=d;break}case 32:{if(!(a[z>>0]|0))k=1;else E=55;break}default:E=55}if((E|0)==55){E=0;a[k>>0]=92;k=d;l=l|9;j=j+1|0}c[46512]=i}while(0);d=f+j|0;if(l&4|0?(a[i>>0]|0)!=32:0){E=59;break b}if(!(l&24))l=(a[i>>0]|0)==32?l:l|9;if(!(l&8))if(!(l&16))e=s;else{m=a[i>>0]|0;d=(k|0)!=0;if(!(d|m<<24>>24!=32))if((o|0)!=(f|0))if((a[o+-1>>0]|0)==32)m=o;else E=73;else m=f;else E=73;if((E|0)==73){E=0;a[o>>0]=m;m=o+1|0;i=c[46512]|0}e=d?m+-1|0:s;o=m}else{m=a[i>>0]|0;e=(k|0)!=0;if(!((!(e|m<<24>>24!=32)?(a[d+-1>>0]|0)==32:0)?(a[z>>0]|0)==0:0)){a[d>>0]=m;j=j+1|0}if(e){e=s;n=f+j+-1|0}else e=s}i=i+1|0;c[46512]=i;while(1){if((a[i>>0]|0)>=0){m=q;d=k;k=r;i=o;continue c}s=i+1|0;c[46512]=s;a[f+j>>0]=a[i>>0]|0;j=j+1|0;i=s}}}if((E|0)==22){PJ(g,r);g=0}else if((E|0)==27){PJ(g,r);g=0}else if((E|0)==34){PJ(g,r);g=0}else if((E|0)==36){PJ(g,r);g=0}else if((E|0)==38){PJ(g,r);g=0}else if((E|0)==51){c[46512]=i+1;c[g+48>>2]=m}else if((E|0)==59){PJ(g,r);g=0}else if((E|0)==78)c[g+48>>2]=q;return g|0}function LJ(b,d,e){b=b|0;d=d|0;e=e|0;var f=0.0,g=0.0,i=0.0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;u=l;l=l+64|0;k=u+48|0;m=u+40|0;n=u+32|0;t=u+16|0;s=u;j=c[e+52>>2]|0;a:do if(!j){n=t+8|0;o=e+48|0;p=e+56|0;q=e+64|0;r=s+8|0;c[t>>2]=0;c[t+4>>2]=0;c[t+8>>2]=0;c[t+12>>2]=0;j=0;while(1){if((j|0)>=(c[o>>2]|0))break a;LJ(s,d,c[(c[p>>2]|0)+(j<<2)>>2]|0);if(!(a[q>>0]|0)){h[n>>3]=+h[n>>3]+ +h[r>>3];k=t;m=+h[t>>3]>+h[s>>3]?t:s}else{h[t>>3]=+h[t>>3]+ +h[s>>3];k=n;m=(+h[n>>3]>+h[r>>3]?t:s)+8|0}h[k>>3]=+h[m>>3];j=j+1|0}}else{g=+h[j+24>>3];f=+h[j+32>>3];if(g>0.0|f>0.0){j=wx(d,102470)|0;do if(j){c[k>>2]=m;c[k+4>>2]=n;j=M1(j,102477,k)|0;if((j|0)<=0){i=8.0;g=g+16.0;break}i=+h[m>>3]*72.0;i=+(~~(i+(i>=0.0?.5:-.5))<<1|0);g=g+i;if((j|0)!=1){i=+h[n>>3]*72.0;i=+(~~(i+(i>=0.0?.5:-.5))<<1|0)}}else{i=8.0;g=g+16.0}while(0);f=i+f}h[t>>3]=g;h[t+8>>3]=f}while(0);c[e>>2]=c[t>>2];c[e+4>>2]=c[t+4>>2];c[e+8>>2]=c[t+8>>2];c[e+12>>2]=c[t+12>>2];c[b>>2]=c[t>>2];c[b+4>>2]=c[t+4>>2];c[b+8>>2]=c[t+8>>2];c[b+12>>2]=c[t+12>>2];l=u;return}function MJ(b,d,e){b=b|0;d=d|0;e=e|0;var f=0.0,g=0,i=0.0,j=0,k=0,m=0,n=0,o=0,p=0,q=0.0,r=0.0,s=0;s=l;l=l+32|0;o=s+16|0;p=s;q=+h[d>>3];i=q-+h[b>>3];r=+h[d+8>>3];f=r-+h[b+8>>3];c[b>>2]=c[d>>2];c[b+4>>2]=c[d+4>>2];c[b+8>>2]=c[d+8>>2];c[b+12>>2]=c[d+12>>2];d=c[b+52>>2]|0;if(!((e|0)!=0|(d|0)==0)){n=d+40|0;h[n>>3]=+h[n>>3]+i;n=d+48|0;h[n>>3]=+h[n>>3]+f}m=b+48|0;d=c[m>>2]|0;a:do if(d|0){n=b+64|0;f=((a[n>>0]|0)==0?f:i)/+(d|0);k=b+56|0;j=0;while(1){if((j|0)>=(d|0))break a;b=c[(c[k>>2]|0)+(j<<2)>>2]|0;g=j+1|0;d=~~(f*+(g|0))-~~(f*+(j|0))|0;if(!(a[n>>0]|0))NJ(p,q,+h[b+8>>3]+ +(d|0));else NJ(p,+h[b>>3]+ +(d|0),r);c[o>>2]=c[p>>2];c[o+4>>2]=c[p+4>>2];c[o+8>>2]=c[p+8>>2];c[o+12>>2]=c[p+12>>2];MJ(b,o,e);j=g;d=c[m>>2]|0}}while(0);l=s;return}function NJ(a,b,c){a=a|0;b=+b;c=+c;h[a>>3]=b;h[a+8>>3]=c;return}function OJ(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0.0,s=0.0;q=l;l=l+48|0;j=q+32|0;n=q+16|0;m=q;a[b+65>>0]=e;k=b+16|0;s=+h[d>>3];p=d+8|0;r=+h[p>>3];NJ(n,s,r-+h[b+8>>3]);c[k>>2]=c[n>>2];c[k+4>>2]=c[n+4>>2];c[k+8>>2]=c[n+8>>2];c[k+12>>2]=c[n+12>>2];k=b+32|0;NJ(m,+h[b>>3]+s,r);c[k>>2]=c[m>>2];c[k+4>>2]=c[m+4>>2];c[k+8>>2]=c[m+8>>2];c[k+12>>2]=c[m+12>>2];k=c[b+48>>2]|0;m=k+-1|0;n=(e|0)==0;o=b+56|0;i=b+64|0;g=0;while(1){if((g|0)>=(k|0))break;do if(!n){b=(g|0)==0;f=(g|0)==(m|0);if(!(a[i>>0]|0))if(b){b=f?15:14;break}else{b=f?11:10;break}else if(b){b=f?15:13;break}else{b=f?7:5;break}}else b=0;while(0);f=c[(c[o>>2]|0)+(g<<2)>>2]|0;c[j>>2]=c[d>>2];c[j+4>>2]=c[d+4>>2];c[j+8>>2]=c[d+8>>2];c[j+12>>2]=c[d+12>>2];OJ(f,j,b&e);if(!(a[i>>0]|0))h[p>>3]=+h[p>>3]-+h[(c[(c[o>>2]|0)+(g<<2)>>2]|0)+8>>3];else h[d>>3]=+h[c[(c[o>>2]|0)+(g<<2)>>2]>>3]+ +h[d>>3];g=g+1|0}l=q;return}function PJ(a,b){a=a|0;b=b|0;QJ(a);C_(b);return}function QJ(a){a=a|0;var b=0,d=0,e=0;d=a+48|0;e=a+56|0;b=0;while(1){if((b|0)>=(c[d>>2]|0))break;QJ(c[(c[e>>2]|0)+(b<<2)>>2]|0);b=b+1|0}C_(c[a+60>>2]|0);mH(c[a+52>>2]|0);C_(c[e>>2]|0);C_(a);return}function RJ(a){a=a|0;var b=0.0,d=0.0;d=+KL(a,c[46376]|0,0.0,.01);b=+KL(a,c[46375]|0,0.0,.02);b=(d>b?d:b)*72.0;return +(+(~~(b+(b>=0.0?.5:-.5))|0))}function SJ(a,b){a=+a;b=+b;var c=0;c=~~(a/b);return +(+((+(c|0)*b+1.0e-05>2]|0)+8>>2]|0;if(!a)a=0;else a=(c[c[a+4>>2]>>2]|0)==89&1;return a|0}function UJ(b){b=b|0;var d=0,e=0,f=0,g=0,h=0;f=c[46513]|0;a:do if(!f)d=0;else{g=c[46514]|0;e=0;while(1){if((e|0)>=(g|0)){d=0;break a}d=c[f+(e<<2)>>2]|0;h=c[d>>2]|0;if((a[h>>0]|0)==(a[b>>0]|0)?(a$(h,b)|0)==0:0)break a;e=e+1|0}}while(0);return d|0}function VJ(b,d){b=b|0;d=d|0;var e=0,f=0,g=0;if(YL(wx(d,102500)|0)|0)if((a[b>>0]|0)==101?(a$(b,102659)|0)==0:0){d=101;g=6}else{b=102493;g=4}else g=4;if((g|0)==4){d=a[b>>0]|0;if(d<<24>>24==99)if(!(a$(b,102493)|0))g=11;else{d=99;g=6}else g=6}a:do if((g|0)==6){e=20744;while(1){f=c[e>>2]|0;if(!f){g=11;break a}if((a[f>>0]|0)==d<<24>>24?(a$(f,b)|0)==0:0){b=e;break a}e=e+16|0}}while(0);if((g|0)==11)b=WJ(b)|0;return b|0}function WJ(b){b=b|0;var d=0,e=0,f=0,g=0,h=0;h=l;l=l+16|0;g=h;d=UJ(b)|0;if(!d){f=c[46514]|0;d=f+1|0;c[46514]=d;e=c[46513]|0;if(!e)d=uH(d<<2)|0;else d=wH(e,d<<2)|0;c[46513]=d;d=tH(16)|0;c[(c[46513]|0)+(f<<2)>>2]=d;c[d>>2]=c[5186];c[d+4>>2]=c[5187];c[d+8>>2]=c[5188];c[d+12>>2]=c[5189];e=m1(b)|0;c[d>>2]=e;do if(!0){if((a[b>>0]|0)==99?(a$(b,102493)|0)==0:0){e=1;break}c[g>>2]=c[5186];c[g+4>>2]=e;Ow(0,102664,g)|0;e=0}else e=1;while(0);a[d+12>>0]=e}l=h;return d|0}function XJ(a,b){a=a|0;b=b|0;var c=0.0,d=0.0;d=+h[b>>3]*.5257311121191336;c=+h[b+8>>3]*.8944271909999159;c=d>c?d:c;h[a>>3]=c*4.97979656976556;h[a+8>>3]=c*4.73606797749979;return}function YJ(a,b){a=a|0;b=b|0;var c=0.0,d=0.0,e=0.0,f=0,g=0.0,i=0.0,j=0.0,k=0,l=0,m=0.0;d=+h[b>>3];k=b+8|0;e=+h[k>>3];c=e/d;if(!(c>.9510565162951536))if(c<.9510565162951536){j=d;e=d*.9510565162951536}else j=d;else j=e*1.0514622242382672;d=j*.5257311121191336;g=j*.20081141588622725;i=j*.05020285397155681;c=.3141592653589793;f=0;while(1){if((f|0)>=10)break;h[a+(f<<4)>>3]=+E(+c)*d;h[a+(f<<4)+8>>3]=+F(+c)*d-i;m=c+.6283185307179586;l=f|1;h[a+(l<<4)>>3]=+E(+m)*g;h[a+(l<<4)+8>>3]=+F(+m)*g-i;c=c+1.2566370614359172;f=f+2|0}h[b>>3]=j;h[k>>3]=e;return}function ZJ(a){a=a|0;a=c[(c[a+16>>2]|0)+12>>2]|0;if(a|0){C_(c[a+44>>2]|0);C_(a)}return}function _J(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0;o=l;l=l+80|0;k=o+40|0;g=o;n=o+64|0;h=o+56|0;if(!(a[e>>0]|0)){g=4208;h=b+40|0;do{c[b>>2]=c[g>>2];b=b+4|0;g=g+4|0}while((b|0)<(h|0))}else{i=(f|0)==0?103330:f;c[n>>2]=15;j=d+16|0;f=c[j>>2]|0;do if(a[(c[f+104>>2]|0)+82>>0]|0){f=ZQ(d,e,n)|0;if(!f){f=c[j>>2]|0;m=8;break}if(mK(d,f,g,i,c[n>>2]|0,0)|0){c[k>>2]=qy(d)|0;c[k+4>>2]=e;c[k+8>>2]=i;Ow(0,103332,k)|0}}else m=8;while(0);if((m|0)==8){if((c[(c[f+8>>2]|0)+8>>2]|0)==1664)h=0;else{c[h>>2]=d;c[h+4>>2]=0}if(mK(d,0,g,e,c[n>>2]|0,h)|0)nK(d,e)}c[g+36>>2]=0;h=b+40|0;do{c[b>>2]=c[g>>2];b=b+4|0;g=g+4|0}while((b|0)<(h|0))}l=o;return}function $J(a,b){a=a|0;b=b|0;var d=0.0,e=0.0,f=0,g=0,i=0,j=0.0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0.0,t=0;r=l;l=l+112|0;n=r+96|0;m=r+80|0;p=r+64|0;k=r+48|0;q=r+32|0;o=r;f=r+16|0;if(!a){c[46517]=0;a=0}else{g=c[a+4>>2]|0;a=c[a>>2]|0;i=(c[(c[(dz(a)|0)+16>>2]|0)+116>>2]&3)*90|0;c[n>>2]=c[b>>2];c[n+4>>2]=c[b+4>>2];c[n+8>>2]=c[b+8>>2];c[n+12>>2]=c[b+12>>2];YG(f,n,i);c[q>>2]=c[f>>2];c[q+4>>2]=c[f+4>>2];c[q+8>>2]=c[f+8>>2];c[q+12>>2]=c[f+12>>2];a:do if(g){d=+h[g+8>>3];e=+h[g+24>>3];s=+h[q>>3];if((+h[g>>3]<=s?s<=+h[g+16>>3]:0)?(j=+h[q+8>>3],d<=j):0)a=j<=e&1;else a=0}else{if((a|0)==(c[46517]|0)){f=c[46518]|0;g=c[46520]|0;i=c[46519]|0}else{g=c[(c[a+16>>2]|0)+12>>2]|0;c[46521]=g;i=c[g+44>>2]|0;c[46519]=i;f=c[g+8>>2]|0;c[46518]=f;g=O((c[g+4>>2]|0)+-1|0,f)|0;g=(g|0)>0?g:0;c[46520]=g;c[46517]=a}a=0;b=0;while(1){if((a|0)>=(f|0)){a=1;break a}t=i+(g+a<<4)|0;c[o>>2]=c[t>>2];c[o+4>>2]=c[t+4>>2];c[o+8>>2]=c[t+8>>2];c[o+12>>2]=c[t+12>>2];t=i+(g+((a+4|0)%(f|0)|0)<<4)|0;c[k>>2]=c[q>>2];c[k+4>>2]=c[q+4>>2];c[k+8>>2]=c[q+8>>2];c[k+12>>2]=c[q+12>>2];c[p>>2]=c[45844];c[p+4>>2]=c[45845];c[p+8>>2]=c[45846];c[p+12>>2]=c[45847];c[m>>2]=c[o>>2];c[m+4>>2]=c[o+4>>2];c[m+8>>2]=c[o+8>>2];c[m+12>>2]=c[o+12>>2];c[n>>2]=c[t>>2];c[n+4>>2]=c[t+4>>2];c[n+8>>2]=c[t+8>>2];c[n+12>>2]=c[t+12>>2];b=b+((lK(k,p,m,n)|0)==0&1)|0;if((b|0)==2){a=0;break}else a=a+2|0}}while(0)}l=r;return a|0}function aK(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;e=c[b+16>>2]|0;if((a[(c[e+104>>2]|0)+82>>0]|0)!=0?(a[e+145>>0]|0)!=0:0)b=aR(b,d,0,f,g)|0;else b=0;return b|0}function bK(e,f){e=e|0;f=f|0;var i=0,j=0,k=0.0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0.0,C=0.0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,P=0,Q=0,R=0;P=l;l=l+48|0;H=P+24|0;G=P+16|0;A=P+8|0;z=P;L=P+32|0;n=P+28|0;M=c[e+16>>2]|0;N=M+208|0;i=c[N>>2]|0;if((i|0)==0?(b[M+260>>1]&1)==0:0)J=0;else E=4;if((E|0)==4)if(!(c[e+152>>2]&4)){OO(e,i,c[M+228>>2]|0,c[M+244>>2]|0,c[M+212>>2]|0);J=1}else J=1;I=f+16|0;i=c[I>>2]|0;r=c[i+12>>2]|0;F=c[r+44>>2]|0;K=c[r+8>>2]|0;r=c[r+4>>2]|0;if((c[46515]|0)<(K|0)){i=K+5|0;c[46515]=i;j=c[46516]|0;if(!j)i=uH(i<<4)|0;else i=wH(j,i<<4)|0;c[46516]=i;i=c[I>>2]|0}D=(c[i+104>>2]|0)+56|0;i=i+16|0;c[D>>2]=c[i>>2];c[D+4>>2]=c[i+4>>2];c[D+8>>2]=c[i+8>>2];c[D+12>>2]=c[i+12>>2];D=c[I>>2]|0;B=+h[D+32>>3]*72.0;B=(+h[D+96>>3]+ +h[D+88>>3])/+(~~(B+(B>=0.0?.5:-.5))|0);C=+h[D+40>>3]*72.0;C=+h[D+80>>3]/+(~~(C+(C>=0.0?.5:-.5))|0);D=cK(e,f)|0;c[L>>2]=0;i=d[(c[I>>2]|0)+117>>0]|0;do if(!(i&1)){if(i&2|0){s=NL(f,0,103230)|0;TO(e,s);VO(e,NL(f,0,103238)|0);j=0;i=1;break}if(i&8|0){s=NL(f,0,103246)|0;TO(e,s);VO(e,NL(f,0,103254)|0);j=0;i=1;break}if(i&4|0){s=NL(f,0,103262)|0;TO(e,s);VO(e,NL(f,0,103270)|0);j=0;i=1;break}if(!(D&1))if(!(D&576)){j=0;i=0}else{j=dK(f)|0;i=1}else{j=dK(f)|0;if(!((tG(j,L,n)|0)<<24>>24)){VO(e,j);i=1}else{VO(e,c[L>>2]|0);i=c[L+4>>2]|0;m=JL(f,c[46403]|0,0,0)|0;k=+g[n>>2];if(!i)WO(e,134232,m,k);else WO(e,i,m,k);i=(D&2)>>>1|2}}s=eK(e,f)|0}else{s=NL(f,0,103214)|0;TO(e,s);VO(e,NL(f,0,103222)|0);j=0;i=1}while(0);m=c[(c[I>>2]|0)+8>>2]|0;if(a[m+12>>0]|0){m=c[m>>2]|0;if((a[m>>0]|0)==99){m=(a$(m,102493)|0)==0;E=33}else u=1}else{m=1;E=33}if((E|0)==33){m=m^1;if((r|0)!=0|i<<24>>24==0|m)u=m;else{TO(e,134297);r=1;u=0}}v=(K|0)<3;w=(D&512|0)!=0;y=(D&8|0)==0;x=(D&64|0)==0;p=(D&1024|0)==0;q=(D&2130706444|0)==0;t=0;while(1){if((t|0)>=(r|0))break;n=O(t,K)|0;o=c[46516]|0;m=0;while(1){if((m|0)>=(K|0))break;R=m+n|0;k=+h[F+(R<<4)+8>>3];Q=c[I>>2]|0;h[o+(m<<4)>>3]=+h[Q+16>>3]+ +h[F+(R<<4)>>3]*B;h[o+(m<<4)+8>>3]=+h[Q+24>>3]+k*C;m=m+1|0}do if(v){if(w&(t|0)==0?(z$(j,58)|0)!=0:0)if((RE(e,o,j)|0)>1){c[z>>2]=qy(f)|0;Ow(3,103278,z)|0;i=0}else i=0;YO(e,c[46516]|0,K,i&255);if(!y)fK(e,f)}else{if(!x){if((t|0)==0?(VE(e,o,j,1)|0)>1:0){c[A>>2]=qy(f)|0;Ow(3,103278,A)|0}ZO(e,c[46516]|0,K,0);break}if(!p){TO(e,134297);ZO(e,c[46516]|0,K,i&255);TO(e,s);aP(e,(c[46516]|0)+32|0,2);break}i=i&255;if(q){ZO(e,o,K,i);break}else{DJ(e,o,K,D,i);break}}while(0);t=t+1|0;i=0}m=c[(c[I>>2]|0)+8>>2]|0;if(!(a[m+12>>0]|0)){m=wx(f,105999)|0;if(m|0?a[m>>0]|0:0){o=m;E=65}}else{m=c[m>>2]|0;if((a[m>>0]|0)==99?(a$(m,102493)|0)==0:0){m=wx(f,102500)|0;if(m|0?a[m>>0]|0:0){o=m;E=65}}else{o=m;E=65}}if((E|0)==65){n=c[46516]|0;m=0;while(1){if((m|0)>=(K|0))break;k=+h[F+(m<<4)+8>>3];R=c[I>>2]|0;h[n+(m<<4)>>3]=+h[R+16>>3]+ +h[F+(m<<4)>>3]*B;h[n+(m<<4)+8>>3]=+h[R+24>>3]+k*C;m=m+1|0}m=i&255;do if(!(u|i<<24>>24==0)){if(v){if(w&(t|0)==0?(z$(j,58)|0)!=0:0)if((RE(e,n,j)|0)>1){c[G>>2]=qy(f)|0;Ow(3,103278,G)|0;i=0}else i=0;YO(e,c[46516]|0,K,i&255);if(y)break;fK(e,f);break}if(x)if(!(D&12)){ZO(e,n,K,m);break}else{DJ(e,n,K,D,m);break}else{if((VE(e,n,j,1)|0)>1){c[H>>2]=qy(f)|0;Ow(3,103278,H)|0}ZO(e,c[46516]|0,K,0);break}}while(0);R=c[46516]|0;cP(e,o,R,K,i,ML(f,c[46396]|0,134226)|0)}C_(c[L>>2]|0);nH(e,10,c[(c[I>>2]|0)+104>>2]|0);if(J){if(c[e+152>>2]&4|0)OO(e,c[N>>2]|0,c[M+228>>2]|0,c[M+244>>2]|0,c[M+212>>2]|0);PO(e)}l=P;return}function cK(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0;h=l;l=l+16|0;f=h;e=iK(d,f)|0;if(e|0)XO(b,e);e=c[46402]|0;if((e|0?(g=xx(d,e)|0,g|0):0)?a[g>>0]|0:0)eP(b,+KL(d,c[46402]|0,1.0,0.0));l=h;return c[f>>2]|0}function dK(a){a=a|0;return hK(a,131718)|0}function eK(b,d){b=b|0;d=d|0;d=NL(d,c[46378]|0,191979)|0;d=a[d>>0]|0?d:134232;TO(b,d);return d|0}function fK(a,b){a=a|0;b=b|0;var d=0,e=0,f=0.0,g=0,i=0.0,j=0,k=0,m=0;d=l;l=l+96|0;j=d+80|0;k=d+64|0;e=d+32|0;m=d+16|0;g=d;b=c[b+16>>2]|0;f=+h[b+80>>3];h[m+8>>3]=f*.375;i=+h[b+96>>3];h[m>>3]=i*.6614;b=b+16|0;c[k>>2]=c[m>>2];c[k+4>>2]=c[m+4>>2];c[k+8>>2]=c[m+8>>2];c[k+12>>2]=c[m+12>>2];c[j>>2]=c[b>>2];c[j+4>>2]=c[b+4>>2];c[j+8>>2]=c[b+8>>2];c[j+12>>2]=c[b+12>>2];gK(g,k,j);c[e>>2]=c[g>>2];c[e+4>>2]=c[g+4>>2];c[e+8>>2]=c[g+8>>2];c[e+12>>2]=c[g+12>>2];g=e+8|0;b=e+24|0;h[b>>3]=+h[g>>3];h[e+16>>3]=+h[e>>3]-i*1.3228;aP(a,e,2);f=+h[g>>3]-f*.75;h[g>>3]=f;h[b>>3]=f;aP(a,e,2);l=d;return}function gK(a,b,c){a=a|0;b=b|0;c=c|0;var d=0.0;d=+h[c+8>>3]+ +h[b+8>>3];h[a>>3]=+h[c>>3]+ +h[b>>3];h[a+8>>3]=d;return}function hK(b,d){b=b|0;d=d|0;var e=0;e=NL(b,c[46379]|0,191979)|0;if(!(a[e>>0]|0)){e=NL(b,c[46378]|0,191979)|0;return ((a[e>>0]|0)==0?d:e)|0}else return e|0;return 0}function iK(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0;e=NL(b,c[46387]|0,191979)|0;a:do if(!(a[e>>0]|0)){g=0;e=0}else{g=zF(e)|0;h=g;e=0;b:while(1){f=c[h>>2]|0;if(!f)break a;switch(a[f>>0]|0){case 102:{if(!(a$(f,108075)|0)){h=h+4|0;e=e|1;continue b}break}case 114:{if(!(a$(f,103290)|0)){f=h;do{j=f;f=f+4|0;i=c[f>>2]|0;c[j>>2]=i}while((i|0)!=0);j=h;e=e|4;h=j;continue b}if(!(a$(f,103308)|0)){f=h;do{i=f;f=f+4|0;j=c[f>>2]|0;c[i>>2]=j}while((j|0)!=0);j=h;e=e|3;h=j;continue b}break}case 100:{if(!(a$(f,103298)|0)){f=h;do{i=f;f=f+4|0;j=c[f>>2]|0;c[i>>2]=j}while((j|0)!=0);j=h;e=e|8;h=j;continue b}break}case 105:{if(!(a$(f,131253)|0)){h=h+4|0;e=e|32;continue b}break}case 115:{if((a$(f,103315)|0)==0?jK(b)|0:0){f=h;do{i=f;f=f+4|0;j=c[f>>2]|0;c[i>>2]=j}while((j|0)!=0);j=h;e=e|64;h=j;continue b}break}case 119:{if((a$(f,103323)|0)==0?kK(b)|0:0){f=h;do{i=f;f=f+4|0;j=c[f>>2]|0;c[i>>2]=j}while((j|0)!=0);j=h;e=e|512;h=j;continue b}break}default:{}}h=h+4|0}}while(0);f=c[(c[(c[b+16>>2]|0)+8>>2]|0)+8>>2]|0;if(f)e=c[f+40>>2]|e;c[d>>2]=e;return g|0}function jK(a){a=a|0;var b=0.0;a=c[(c[(c[a+16>>2]|0)+8>>2]|0)+8>>2]|0;if((((a|0)!=0?(c[a+8>>2]|0)==4:0)?(b=+h[a+16>>3],((~~(b+(b>=0.0?.5:-.5))|0)%90|0|0)==0):0)?+h[a+24>>3]==0.0:0)a=+h[a+32>>3]==0.0&1;else a=0;return a|0}function kK(a){a=a|0;a=c[(c[(c[a+16>>2]|0)+8>>2]|0)+8>>2]|0;if(!a)a=0;else a=(c[a+8>>2]|0)<3&1;return a|0}function lK(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0.0,f=0.0,g=0.0,i=0.0;i=+h[c+8>>3];g=-(+h[d+8>>3]-i);f=+h[c>>3];e=+h[d>>3]-f;f=e*i+f*g;return (+h[a+8>>3]*e+ +h[a>>3]*g-f>=0.0^+h[b>>3]*g-f+ +h[b+8>>3]*e>=0.0^1)&1|0}function mK(b,d,e,f,g,i){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;i=i|0;var j=0.0,k=0.0,m=0,n=0,o=0,p=0,q=0.0,r=0.0,s=0.0,t=0.0,u=0.0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0;G=l;l=l+192|0;B=G+176|0;E=G+160|0;m=G+144|0;z=G+128|0;A=G+112|0;n=G+96|0;o=G+80|0;p=G+64|0;v=G+48|0;w=G+32|0;x=G+16|0;D=G;if(!d){c[E>>2]=0;c[E+4>>2]=0;c[E+8>>2]=0;c[E+12>>2]=0;m=(c[(c[(dz(b)|0)+16>>2]|0)+116>>2]&1|0)==0;C=c[b+16>>2]|0;q=+h[C+80>>3]*.5;j=+h[C+88>>3];t=m?q:j;q=m?j:q;m=0;C=E;j=0.0;k=-q;r=t;F=E+8|0;s=0.0;t=-t}else{k=+h[d>>3];t=+h[d+8>>3];q=+h[d+16>>3];r=+h[d+24>>3];NJ(m,(q+k)*.5,(r+t)*.5);c[E>>2]=c[m>>2];c[E+4>>2]=c[m+4>>2];c[E+8>>2]=c[m+8>>2];c[E+12>>2]=c[m+12>>2];H=E+8|0;m=1;C=E;j=+h[E>>3];F=H;s=+h[H>>3]}u=(q>r?q:r)*4.0;a:do if((f|0)!=0?(y=a[f>>0]|0,y<<24>>24!=0):0){f=f+1|0;switch(y<<24>>24|0){case 99:{p=1;g=0;f=0;n=0;j=0.0;o=0;break a}case 101:{if(a[f>>0]|0){p=1;g=0;f=0;n=0;j=0.0;o=1;break a}if(!i)h[C>>3]=q;else{oK(z,i,s,u);c[E>>2]=c[z>>2];c[E+4>>2]=c[z+4>>2];c[E+8>>2]=c[z+8>>2];c[E+12>>2]=c[z+12>>2]}p=0;g=g&2;f=0;n=1;j=0.0;o=0;m=1;break a}case 115:{h[F>>3]=t;switch(a[f>>0]|0){case 0:{if(!i)h[C>>3]=j;else{oK(A,i,-u,j);c[E>>2]=c[A>>2];c[E+4>>2]=c[A+4>>2];c[E+8>>2]=c[A+8>>2];c[E+12>>2]=c[A+12>>2]}p=0;g=g&1;f=0;n=1;j=-1.5707963267948966;o=0;m=1;break a}case 101:{if(!i)h[C>>3]=q;else{oK(n,i,-u,u);c[E>>2]=c[n>>2];c[E+4>>2]=c[n+4>>2];c[E+8>>2]=c[n+8>>2];c[E+12>>2]=c[n+12>>2]}p=0;g=g&3;f=0;n=1;j=-.7853981633974483;o=0;m=1;break a}case 119:{if(!i)h[C>>3]=k;else{u=-u;oK(o,i,u,u);c[E>>2]=c[o>>2];c[E+4>>2]=c[o+4>>2];c[E+8>>2]=c[o+8>>2];c[E+12>>2]=c[o+12>>2]}p=0;g=g&9;f=0;n=1;j=-2.356194490192345;o=0;m=1;break a}default:{h[F>>3]=s;p=1;g=0;f=0;n=0;j=0.0;o=1;break a}}}case 119:{if(a[f>>0]|0){p=1;g=0;f=0;n=0;j=0.0;o=1;break a}if(!i)h[C>>3]=k;else{oK(p,i,s,-u);c[E>>2]=c[p>>2];c[E+4>>2]=c[p+4>>2];c[E+8>>2]=c[p+8>>2];c[E+12>>2]=c[p+12>>2]}p=0;g=g&8;f=0;n=1;j=3.141592653589793;o=0;m=1;break a}case 110:{h[F>>3]=r;switch(a[f>>0]|0){case 0:{if(!i)h[C>>3]=j;else{oK(v,i,u,j);c[E>>2]=c[v>>2];c[E+4>>2]=c[v+4>>2];c[E+8>>2]=c[v+8>>2];c[E+12>>2]=c[v+12>>2]}p=0;g=g&4;f=0;n=1;j=1.5707963267948966;o=0;m=1;break a}case 101:{if(!i)h[C>>3]=q;else{oK(w,i,u,u);c[E>>2]=c[w>>2];c[E+4>>2]=c[w+4>>2];c[E+8>>2]=c[w+8>>2];c[E+12>>2]=c[w+12>>2]}p=0;g=g&6;f=0;n=1;j=.7853981633974483;o=0;m=1;break a}case 119:{if(!i)h[C>>3]=k;else{oK(x,i,u,-u);c[E>>2]=c[x>>2];c[E+4>>2]=c[x+4>>2];c[E+8>>2]=c[x+8>>2];c[E+12>>2]=c[x+12>>2]}p=0;g=g&12;f=0;n=1;j=2.356194490192345;o=0;m=1;break a}default:{h[F>>3]=s;p=1;g=0;f=0;n=0;j=0.0;o=1;break a}}}case 95:{p=1;f=1;n=0;j=0.0;o=0;break a}default:{p=1;g=0;f=0;n=0;j=0.0;o=1;break a}}}else{p=1;g=0;f=0;n=0;j=0.0;o=0}while(0);H=(c[(c[(dz(b)|0)+16>>2]|0)+116>>2]&3)*90|0;c[B>>2]=c[E>>2];c[B+4>>2]=c[E+4>>2];c[B+8>>2]=c[E+8>>2];c[B+12>>2]=c[E+12>>2];XG(D,B,H);c[E>>2]=c[D>>2];c[E+4>>2]=c[D+4>>2];c[E+8>>2]=c[D+8>>2];c[E+12>>2]=c[D+12>>2];if(!(f<<24>>24))g=pK(g,c[(c[(dz(b)|0)+16>>2]|0)+116>>2]&3)|0;a[e+33>>0]=g;c[e+24>>2]=d;k=+h[C>>3];h[e>>3]=+(~~(k+(k>=0.0?.5:-.5))|0);k=+h[F>>3];h[e+8>>3]=+(~~(k+(k>=0.0?.5:-.5))|0);h[e+16>>3]=+qK(j,c[(c[(dz(b)|0)+16>>2]|0)+116>>2]&3);k=+h[C>>3];j=+h[F>>3];if(k==0.0&j==0.0)g=-128;else{u=+K(+j,+k);t=u+4.71238898038469;g=~~((!(t>=6.283185307179586)?t:u+-1.5707963267948966)*40.74366543152521)&255}a[e+32>>0]=g;a[e+29>>0]=n;a[e+28>>0]=m;a[e+30>>0]=p;a[e+31>>0]=f;l=G;return o|0}function nK(a,b){a=a|0;b=b|0;var d=0,e=0;d=l;l=l+16|0;e=d;c[e>>2]=qy(a)|0;c[e+4>>2]=b;Ow(0,103393,e)|0;l=d;return}function oK(a,b,d,e){a=a|0;b=b|0;d=+d;e=+e;var f=0,g=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0;p=l;l=l+128|0;g=p+112|0;j=p+48|0;k=p+16|0;m=p+32|0;n=p;o=c[b>>2]|0;i=c[(c[(dz(o)|0)+16>>2]|0)+116>>2]&3;h[k>>3]=e;h[k+8>>3]=d;f=(i|0)!=0;if(f){c[g>>2]=c[k>>2];c[g+4>>2]=c[k+4>>2];c[g+8>>2]=c[k+8>>2];c[g+12>>2]=c[k+12>>2];XG(m,g,i*90|0);c[k>>2]=c[m>>2];c[k+4>>2]=c[m+4>>2];c[k+8>>2]=c[m+8>>2];c[k+12>>2]=c[m+12>>2]}m=j+48|0;q=j+32|0;c[j>>2]=0;c[j+4>>2]=0;c[j+8>>2]=0;c[j+12>>2]=0;c[j+16>>2]=0;c[j+20>>2]=0;c[j+24>>2]=0;c[j+28>>2]=0;c[q>>2]=c[k>>2];c[q+4>>2]=c[k+4>>2];c[q+8>>2]=c[k+8>>2];c[q+12>>2]=c[k+12>>2];c[m>>2]=c[k>>2];c[m+4>>2]=c[k+4>>2];c[m+8>>2]=c[k+8>>2];c[m+12>>2]=c[k+12>>2];LK(b,c[(c[(c[(c[o+16>>2]|0)+8>>2]|0)+4>>2]|0)+12>>2]|0,j,1);if(f){c[g>>2]=c[j>>2];c[g+4>>2]=c[j+4>>2];c[g+8>>2]=c[j+8>>2];c[g+12>>2]=c[j+12>>2];YG(n,g,i*90|0);c[j>>2]=c[n>>2];c[j+4>>2]=c[n+4>>2];c[j+8>>2]=c[n+8>>2];c[j+12>>2]=c[n+12>>2]};c[a>>2]=c[j>>2];c[a+4>>2]=c[j+4>>2];c[a+8>>2]=c[j+8>>2];c[a+12>>2]=c[j+12>>2];l=p;return}function pK(a,b){a=a|0;b=b|0;a:do switch(b|0){case 3:switch(a|0){case 4:{a=2;break a}case 1:{a=8;break a}case 8:{a=1;break a}case 2:{a=4;break a}default:break a}case 2:switch(a|0){case 4:{a=1;break a}case 1:{a=4;break a}default:break a}case 1:switch(a|0){case 4:{a=2;break a}case 1:{a=8;break a}case 8:{a=4;break a}case 2:{a=1;break a}default:break a}default:{}}while(0);return a|0}function qK(a,b){a=+a;b=b|0;switch(b|0){case 3:{if(!(a==3.141592653589793))if(!(a==2.356194490192345))if(!(a==1.5707963267948966))if(!(a==0.0))if(!(a==-.7853981633974483)){if(a==-1.5707963267948966)a=3.141592653589793}else a=2.356194490192345;else a=1.5707963267948966;else a=0.0;else a=-.7853981633974483;else a=-1.5707963267948966;break}case 2:{a=-a;break}case 1:{a=a+-1.5707963267948966;break}default:{}}return +a}function rK(a,b){a=a|0;b=b|0;var d=0.0,e=0,f=0.0,g=0.0,i=0,j=0,k=0;e=l;l=l+32|0;k=e+16|0;i=e;a=c[a>>2]|0;j=(c[(c[(dz(a)|0)+16>>2]|0)+116>>2]&3)*90|0;c[k>>2]=c[b>>2];c[k+4>>2]=c[b+4>>2];c[k+8>>2]=c[b+8>>2];c[k+12>>2]=c[b+12>>2];YG(i,k,j);d=+h[i>>3];g=+h[i+8>>3];a=c[a+16>>2]|0;f=+h[a+80>>3]*.5;if(!(!(g>=-f)|!(g<=f))?d>=-+h[a+88>>3]:0)a=d<=+h[a+96>>3]&1;else a=0;l=e;return a|0}function sK(a,d){a=a|0;d=d|0;var e=0,f=0,g=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0.0;n=l;l=l+32|0;m=n;i=c[a+16>>2]|0;j=i+208|0;g=c[j>>2]|0;if(!g)k=(b[i+260>>1]&1)!=0;else k=1;e=d+16|0;d=c[e>>2]|0;f=c[d+12>>2]|0;if(f|0){if(k?(c[a+152>>2]&4|0)==0:0){OO(a,g,c[i+228>>2]|0,c[i+244>>2]|0,c[i+212>>2]|0);d=c[e>>2]|0}g=c[a+36>>2]|0;p=+h[d+24>>3]+ +(c[f+8>>2]|0);o=c[f>>2]|0;h[m>>3]=+h[d+16>>3]+ +(c[f+4>>2]|0);h[m+8>>3]=p;c[m+16>>2]=o;f1(g,103424,m)|0;g=c[e>>2]|0;m=(c[g+104>>2]|0)+56|0;g=g+16|0;c[m>>2]=c[g>>2];c[m+4>>2]=c[g+4>>2];c[m+8>>2]=c[g+8>>2];c[m+12>>2]=c[g+12>>2];nH(a,10,c[(c[e>>2]|0)+104>>2]|0);if(k){if(c[a+152>>2]&4|0)OO(a,c[j>>2]|0,c[i+228>>2]|0,c[i+244>>2]|0,c[i+212>>2]|0);PO(a)}}l=n;return}function tK(a){a=a|0;QJ(c[(c[a+16>>2]|0)+12>>2]|0);return}function uK(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,m=0;m=l;l=l+64|0;k=m+40|0;h=m;if(!(a[f>>0]|0)){h=4208;g=b+40|0;do{c[b>>2]=c[h>>2];b=b+4|0;h=h+4|0}while((b|0)<(g|0))}else{g=(g|0)==0?103330:g;i=c[(c[e+16>>2]|0)+12>>2]|0;j=AK(i,f)|0;if(!j){if(mK(e,i+16|0,h,f,15,0)|0)nK(e,f)}else if(mK(e,j+16|0,h,g,d[j+65>>0]|0,0)|0){c[k>>2]=qy(e)|0;c[k+4>>2]=f;c[k+8>>2]=g;Ow(0,103332,k)|0}g=b+40|0;do{c[b>>2]=c[h>>2];b=b+4|0;h=h+4|0}while((b|0)<(g|0))}l=m;return}function vK(a,b){a=a|0;b=b|0;var d=0.0,e=0.0,f=0,g=0,i=0,j=0.0,k=0,m=0,n=0.0;k=l;l=l+32|0;m=k+16|0;i=k;f=c[a+4>>2]|0;a=c[a>>2]|0;g=(c[(c[(dz(a)|0)+16>>2]|0)+116>>2]&3)*90|0;c[m>>2]=c[b>>2];c[m+4>>2]=c[b+4>>2];c[m+8>>2]=c[b+8>>2];c[m+12>>2]=c[b+12>>2];YG(i,m,g);c[b>>2]=c[i>>2];c[b+4>>2]=c[i+4>>2];c[b+8>>2]=c[i+8>>2];c[b+12>>2]=c[i+12>>2];if(!f){f=c[(c[a+16>>2]|0)+12>>2]|0;g=f+16|0;a=f+24|0;i=f+32|0;f=f+40|0}else{g=f;a=f+8|0;i=f+16|0;f=f+24|0}e=+h[a>>3];d=+h[f>>3];n=+h[b>>3];if((+h[g>>3]<=n?n<=+h[i>>3]:0)?(j=+h[b+8>>3],e<=j):0)a=j<=d&1;else a=0;l=k;return a|0}function wK(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var i=0.0,j=0.0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0.0,t=0,u=0,v=0.0;u=l;l=l+80|0;r=u+64|0;q=u+32|0;t=u;a:do if(!(a[d+28>>0]|0))e=0;else{i=+h[d>>3];p=b+16|0;m=c[(c[p>>2]|0)+12>>2]|0;k=m+48|0;m=m+56|0;d=0;while(1){if((d|0)>=(c[k>>2]|0))break a;n=(c[(c[(dz(b)|0)+16>>2]|0)+116>>2]&1|0)==0;o=c[(c[m>>2]|0)+(d<<2)>>2]|0;j=+(~~+h[(n?o+16|0:o+24|0)>>3]|0);if(i>=j?(s=+(~~+h[(n?o+32|0:o+40|0)>>3]|0),i<=s):0)break;d=d+1|0}if(!(c[(c[(dz(b)|0)+16>>2]|0)+116>>2]&1)){t=c[p>>2]|0;v=+h[t+16>>3];h[f>>3]=v+j;j=+h[t+24>>3];i=+h[t+80>>3];h[f+8>>3]=j-i*.5;h[f+16>>3]=v+s}else{o=(c[(c[m>>2]|0)+(d<<2)>>2]|0)+16|0;b=(c[p>>2]|0)+16|0;c[q>>2]=c[o>>2];c[q+4>>2]=c[o+4>>2];c[q+8>>2]=c[o+8>>2];c[q+12>>2]=c[o+12>>2];c[q+16>>2]=c[o+16>>2];c[q+20>>2]=c[o+20>>2];c[q+24>>2]=c[o+24>>2];c[q+28>>2]=c[o+28>>2];c[r>>2]=c[b>>2];c[r+4>>2]=c[b+4>>2];c[r+8>>2]=c[b+8>>2];c[r+12>>2]=c[b+12>>2];ZG(t,q,r);c[f>>2]=c[t>>2];c[f+4>>2]=c[t+4>>2];c[f+8>>2]=c[t+8>>2];c[f+12>>2]=c[t+12>>2];c[f+16>>2]=c[t+16>>2];c[f+20>>2]=c[t+20>>2];c[f+24>>2]=c[t+24>>2];c[f+28>>2]=c[t+28>>2];t=c[p>>2]|0;i=+h[t+80>>3];j=+h[t+24>>3]}h[f+24>>3]=i*.5+j;c[g>>2]=1}while(0);l=u;return e|0}function xK(d,e){d=d|0;e=e|0;var f=0,i=0,j=0,k=0.0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0.0;w=l;l=l+144|0;n=w+96|0;p=w+64|0;r=w;s=w+128|0;t=c[d+16>>2]|0;u=t+208|0;f=c[u>>2]|0;if(!f)v=(b[t+260>>1]&1)!=0;else v=1;m=e+16|0;q=c[m>>2]|0;o=c[q+12>>2]|0;j=o+16|0;c[p>>2]=c[j>>2];c[p+4>>2]=c[j+4>>2];c[p+8>>2]=c[j+8>>2];c[p+12>>2]=c[j+12>>2];c[p+16>>2]=c[j+16>>2];c[p+20>>2]=c[j+20>>2];c[p+24>>2]=c[j+24>>2];c[p+28>>2]=c[j+28>>2];x=+h[q+16>>3];h[p>>3]=+h[p>>3]+x;k=+h[q+24>>3];q=p+8|0;h[q>>3]=+h[q>>3]+k;q=p+16|0;h[q>>3]=+h[q>>3]+x;j=p+24|0;h[j>>3]=+h[j>>3]+k;if(v?(c[d+152>>2]&4|0)==0:0)OO(d,f,c[t+228>>2]|0,c[t+244>>2]|0,c[t+212>>2]|0);f=cK(d,e)|0;eK(d,e)|0;c[s>>2]=0;if(!(f&1))i=0;else{i=dK(e)|0;if(!((tG(i,s,n)|0)<<24>>24)){VO(d,i);i=1}else{VO(d,c[s>>2]|0);i=c[s+4>>2]|0;j=JL(e,c[46403]|0,0,0)|0;k=+g[n>>2];if(!i)WO(d,134232,j,k);else WO(d,i,j,k);i=f>>>1&1|2}}j=c[c[(c[m>>2]|0)+8>>2]>>2]|0;if((a[j>>0]|0)==77){m=(a$(j,103201)|0)==0;f=m?f|4:f}if(!(f&2130706444)){c[n>>2]=c[p>>2];c[n+4>>2]=c[p+4>>2];c[n+8>>2]=c[p+8>>2];c[n+12>>2]=c[p+12>>2];c[n+16>>2]=c[p+16>>2];c[n+20>>2]=c[p+20>>2];c[n+24>>2]=c[p+24>>2];c[n+28>>2]=c[p+28>>2];_O(d,n,i)}else{c[r>>2]=c[p>>2];c[r+4>>2]=c[p+4>>2];c[r+8>>2]=c[p+8>>2];c[r+12>>2]=c[p+12>>2];p=r+32|0;c[p>>2]=c[q>>2];c[p+4>>2]=c[q+4>>2];c[p+8>>2]=c[q+8>>2];c[p+12>>2]=c[q+12>>2];h[r+16>>3]=+h[p>>3];h[r+24>>3]=+h[r+8>>3];h[r+48>>3]=+h[r>>3];h[r+56>>3]=+h[r+40>>3];DJ(d,r,4,f,i)}yK(d,e,o);C_(c[s>>2]|0);if(v){if(c[d+152>>2]&4|0)OO(d,c[u>>2]|0,c[t+228>>2]|0,c[t+244>>2]|0,c[t+212>>2]|0);PO(d)}l=w;return}function yK(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;u=l;l=l+144|0;p=u+128|0;o=u+112|0;q=u+16|0;r=u;g=u+96|0;i=u+80|0;s=u+64|0;t=u+48|0;j=e+52|0;f=c[j>>2]|0;if(!f)f=d+16|0;else{n=f+56|0;m=e+16|0;f=e+32|0;c[o>>2]=c[m>>2];c[o+4>>2]=c[m+4>>2];c[o+8>>2]=c[m+8>>2];c[o+12>>2]=c[m+12>>2];c[p>>2]=c[f>>2];c[p+4>>2]=c[f+4>>2];c[p+8>>2]=c[f+8>>2];c[p+12>>2]=c[f+12>>2];zK(g,o,p);f=d+16|0;m=(c[f>>2]|0)+16|0;c[o>>2]=c[g>>2];c[o+4>>2]=c[g+4>>2];c[o+8>>2]=c[g+8>>2];c[o+12>>2]=c[g+12>>2];c[p>>2]=c[m>>2];c[p+4>>2]=c[m+4>>2];c[p+8>>2]=c[m+8>>2];c[p+12>>2]=c[m+12>>2];gK(i,o,p);c[n>>2]=c[i>>2];c[n+4>>2]=c[i+4>>2];c[n+8>>2]=c[i+8>>2];c[n+12>>2]=c[i+12>>2];nH(b,10,c[j>>2]|0);eK(b,d)|0}k=(c[f>>2]|0)+16|0;c[r>>2]=c[k>>2];c[r+4>>2]=c[k+4>>2];c[r+8>>2]=c[k+8>>2];c[r+12>>2]=c[k+12>>2];k=e+48|0;m=e+64|0;n=q+16|0;j=e+56|0;e=q+16|0;i=0;while(1){if((i|0)>=(c[k>>2]|0))break;if((i|0)>0){f=(c[j>>2]|0)+(i<<2)|0;g=c[f>>2]|0;if(!(a[m>>0]|0)){g=g+32|0;c[n>>2]=c[g>>2];c[n+4>>2]=c[g+4>>2];c[n+8>>2]=c[g+8>>2];c[n+12>>2]=c[g+12>>2];h[q>>3]=+h[(c[f>>2]|0)+16>>3];f=n;g=0}else{g=g+16|0;c[q>>2]=c[g>>2];c[q+4>>2]=c[g+4>>2];c[q+8>>2]=c[g+8>>2];c[q+12>>2]=c[g+12>>2];h[e>>3]=+h[q>>3];f=(c[f>>2]|0)+32|0;g=1}h[q+(g<<4)+8>>3]=+h[f+8>>3];c[o>>2]=c[q>>2];c[o+4>>2]=c[q+4>>2];c[o+8>>2]=c[q+8>>2];c[o+12>>2]=c[q+12>>2];c[p>>2]=c[r>>2];c[p+4>>2]=c[r+4>>2];c[p+8>>2]=c[r+8>>2];c[p+12>>2]=c[r+12>>2];gK(s,o,p);c[q>>2]=c[s>>2];c[q+4>>2]=c[s+4>>2];c[q+8>>2]=c[s+8>>2];c[q+12>>2]=c[s+12>>2];c[o>>2]=c[n>>2];c[o+4>>2]=c[n+4>>2];c[o+8>>2]=c[n+8>>2];c[o+12>>2]=c[n+12>>2];c[p>>2]=c[r>>2];c[p+4>>2]=c[r+4>>2];c[p+8>>2]=c[r+8>>2];c[p+12>>2]=c[r+12>>2];gK(t,o,p);c[n>>2]=c[t>>2];c[n+4>>2]=c[t+4>>2];c[n+8>>2]=c[t+8>>2];c[n+12>>2]=c[t+12>>2];aP(b,q,2)}yK(b,d,c[(c[j>>2]|0)+(i<<2)>>2]|0);i=i+1|0}l=u;return}function zK(a,b,c){a=a|0;b=b|0;c=c|0;var d=0.0;d=(+h[c+8>>3]+ +h[b+8>>3])*.5;h[a>>3]=(+h[c>>3]+ +h[b>>3])*.5;h[a+8>>3]=d;return}function AK(b,d){b=b|0;d=d|0;var e=0,f=0,g=0;e=c[b+60>>2]|0;if(!(((e|0)!=0?(a[e>>0]|0)==(a[d>>0]|0):0)?(a$(e,d)|0)==0:0))f=4;a:do if((f|0)==4){g=b+56|0;f=c[b+48>>2]|0;e=0;while(1){if((e|0)>=(f|0)){b=0;break a}b=AK(c[(c[g>>2]|0)+(e<<2)>>2]|0,d)|0;if(!b)e=e+1|0;else break}}while(0);return b|0}function BK(a,b){a=a|0;b=b|0;var d=0;d=b+8|0;h[d>>3]=+h[d>>3]*1.375;c[a>>2]=c[b>>2];c[a+4>>2]=c[b+4>>2];c[a+8>>2]=c[b+8>>2];c[a+12>>2]=c[b+12>>2];return}function CK(a,b){a=a|0;b=b|0;var d=0,e=0.0,f=0.0,g=0.0,i=0.0,j=0.0,k=0.0,l=0.0,m=0.0;k=+h[b>>3];f=k*.5;m=+h[b+8>>3];i=m*.5;h[a>>3]=f;e=m*.40909090909090906;h[a+8>>3]=e;h[a+16>>3]=f;g=m*.4592530909090909;h[a+24>>3]=g;j=k*.275892;h[a+32>>3]=j;h[a+40>>3]=i;h[a+48>>3]=0.0;h[a+56>>3]=i;k=k*-.275892;h[a+64>>3]=k;h[a+72>>3]=i;l=-f;h[a+80>>3]=l;h[a+88>>3]=g;d=a+96|0;h[d>>3]=l;h[a+104>>3]=e;b=a+112|0;c[b>>2]=c[d>>2];c[b+4>>2]=c[d+4>>2];c[b+8>>2]=c[d+8>>2];c[b+12>>2]=c[d+12>>2];b=a+128|0;h[b>>3]=l;h[a+136>>3]=m*-.40909090909090906;d=a+144|0;c[d>>2]=c[b>>2];c[d+4>>2]=c[b+4>>2];c[d+8>>2]=c[b+8>>2];c[d+12>>2]=c[b+12>>2];h[a+160>>3]=l;g=-g;h[a+168>>3]=g;h[a+176>>3]=k;i=-i;h[a+184>>3]=i;h[a+192>>3]=0.0;h[a+200>>3]=i;h[a+208>>3]=j;h[a+216>>3]=i;h[a+224>>3]=f;h[a+232>>3]=g;d=a+240|0;h[d>>3]=f;h[a+248>>3]=-e;b=a+256|0;c[b>>2]=c[d>>2];c[b+4>>2]=c[d+4>>2];c[b+8>>2]=c[d+8>>2];c[b+12>>2]=c[d+12>>2];b=a+288|0;d=a+272|0;c[d>>2]=c[a>>2];c[d+4>>2]=c[a+4>>2];c[d+8>>2]=c[a+8>>2];c[d+12>>2]=c[a+12>>2];c[b>>2]=c[a>>2];c[b+4>>2]=c[a+4>>2];c[b+8>>2]=c[a+8>>2];c[b+12>>2]=c[a+12>>2];return}function DK(a,b){a=a|0;b=b|0;var d=0.0,e=0.0,f=0.0,g=0,i=0.0,j=0,k=0,m=0,n=0,o=0,p=0.0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0;x=l;l=l+144|0;u=x+112|0;t=x+96|0;v=x+80|0;s=x+64|0;w=x+32|0;q=x+16|0;r=x;g=x+48|0;do if(a){j=c[a+4>>2]|0;k=c[a>>2]|0;o=(c[(c[(dz(k)|0)+16>>2]|0)+116>>2]&3)*90|0;c[u>>2]=c[b>>2];c[u+4>>2]=c[b+4>>2];c[u+8>>2]=c[b+8>>2];c[u+12>>2]=c[b+12>>2];YG(g,u,o);c[w>>2]=c[g>>2];c[w+4>>2]=c[g+4>>2];c[w+8>>2]=c[g+8>>2];c[w+12>>2]=c[g+12>>2];if(j|0){d=+h[w>>3];if(!(+h[j>>3]<=d)){a=0;break}if(!(d<=+h[j+16>>3])){a=0;break}d=+h[w+8>>3];if(!(+h[j+8>>3]<=d)){a=0;break}a=d<=+h[j+24>>3];break}if((k|0)==(c[46522]|0)){d=+h[22924];e=+h[22925];i=+h[22926]}else{a=k+16|0;b=c[(c[a>>2]|0)+12>>2]|0;c[46523]=b;c[46524]=c[b+44>>2];c[46525]=c[b+8>>2];if(!(c[b+40>>2]&2048)){n=(c[(c[(dz(k)|0)+16>>2]|0)+116>>2]&1|0)==0;o=c[a>>2]|0;h[(n?183416:183424)>>3]=+h[o+96>>3]+ +h[o+88>>3];h[(n?183424:183416)>>3]=+h[o+80>>3];i=+h[o+32>>3]*72.0;f=+h[o+40>>3]*72.0;f=+(~~(f+(f>=0.0?.5:-.5))|0);i=+(~~(i+(i>=0.0?.5:-.5))|0)}else{iM(u,b);i=+h[u+16>>3]-+h[u>>3];f=+h[u+24>>3]-+h[u+8>>3];o=(c[(c[(dz(k)|0)+16>>2]|0)+116>>2]&1|0)==0;h[(o?183416:183424)>>3]=i;h[(o?183424:183416)>>3]=f}d=+h[22927];if(d==0.0){h[22927]=1.0;d=1.0}e=+h[22928];if(e==0.0){h[22928]=1.0;e=1.0}d=i/d;h[22924]=d;e=f/e;h[22925]=e;i=i*.5;h[22926]=i;h[22929]=f*.5;o=O((c[(c[46523]|0)+4>>2]|0)+-1|0,c[46525]|0)|0;c[46526]=(o|0)>0?o:0;c[46522]=k}f=+h[w>>3]*d;h[w>>3]=f;o=w+8|0;d=+h[o>>3]*e;h[o>>3]=d;if(!(+B(+f)>i)?(e=+B(+d),p=+h[22929],!(e>p)):0){o=c[46525]|0;if((o|0)<3){a=+t$(f/i,d/p)<1.0;break}b=(c[46527]|0)%(o|0)|0;a=(b+1|0)%(o|0)|0;k=c[46524]|0;m=c[46526]|0;n=k+(m+b<<4)|0;c[q>>2]=c[n>>2];c[q+4>>2]=c[n+4>>2];c[q+8>>2]=c[n+8>>2];c[q+12>>2]=c[n+12>>2];n=k+(m+a<<4)|0;c[r>>2]=c[n>>2];c[r+4>>2]=c[n+4>>2];c[r+8>>2]=c[n+8>>2];c[r+12>>2]=c[n+12>>2];c[s>>2]=c[w>>2];c[s+4>>2]=c[w+4>>2];c[s+8>>2]=c[w+8>>2];c[s+12>>2]=c[w+12>>2];c[v>>2]=c[45860];c[v+4>>2]=c[45861];c[v+8>>2]=c[45862];c[v+12>>2]=c[45863];c[t>>2]=c[q>>2];c[t+4>>2]=c[q+4>>2];c[t+8>>2]=c[q+8>>2];c[t+12>>2]=c[q+12>>2];c[u>>2]=c[n>>2];c[u+4>>2]=c[n+4>>2];c[u+8>>2]=c[n+8>>2];c[u+12>>2]=c[n+12>>2];if(lK(s,v,t,u)|0){c[s>>2]=c[w>>2];c[s+4>>2]=c[w+4>>2];c[s+8>>2]=c[w+8>>2];c[s+12>>2]=c[w+12>>2];c[v>>2]=c[q>>2];c[v+4>>2]=c[q+4>>2];c[v+8>>2]=c[q+8>>2];c[v+12>>2]=c[q+12>>2];c[t>>2]=c[r>>2];c[t+4>>2]=c[r+4>>2];c[t+8>>2]=c[r+8>>2];c[t+12>>2]=c[r+12>>2];c[u>>2]=c[45860];c[u+4>>2]=c[45861];c[u+8>>2]=c[45862];c[u+12>>2]=c[45863];n=(lK(s,v,t,u)|0)!=0;if(n?(c[s>>2]=c[w>>2],c[s+4>>2]=c[w+4>>2],c[s+8>>2]=c[w+8>>2],c[s+12>>2]=c[w+12>>2],c[v>>2]=c[r>>2],c[v+4>>2]=c[r+4>>2],c[v+8>>2]=c[r+8>>2],c[v+12>>2]=c[r+12>>2],c[t>>2]=c[45860],c[t+4>>2]=c[45861],c[t+8>>2]=c[45862],c[t+12>>2]=c[45863],c[u>>2]=c[q>>2],c[u+4>>2]=c[q+4>>2],c[u+8>>2]=c[q+8>>2],c[u+12>>2]=c[q+12>>2],(lK(s,v,t,u)|0)!=0):0){a=1;break}else{j=b;b=1}while(1){if((b|0)>=(o|0)){b=31;break}if(n){g=a;a=(a+1|0)%(o|0)|0}else{g=(j+-1+o|0)%(o|0)|0;a=j}q=k+(m+g<<4)|0;r=k+(m+a<<4)|0;c[s>>2]=c[w>>2];c[s+4>>2]=c[w+4>>2];c[s+8>>2]=c[w+8>>2];c[s+12>>2]=c[w+12>>2];c[v>>2]=c[45860];c[v+4>>2]=c[45861];c[v+8>>2]=c[45862];c[v+12>>2]=c[45863];c[t>>2]=c[q>>2];c[t+4>>2]=c[q+4>>2];c[t+8>>2]=c[q+8>>2];c[t+12>>2]=c[q+12>>2];c[u>>2]=c[r>>2];c[u+4>>2]=c[r+4>>2];c[u+8>>2]=c[r+8>>2];c[u+12>>2]=c[r+12>>2];if(!(lK(s,v,t,u)|0)){b=30;break}else{j=g;b=b+1|0}}if((b|0)==30){c[46527]=g;a=0;break}else if((b|0)==31){c[46527]=j;a=1;break}}else a=0}else a=0}else{c[46522]=0;a=0}while(0);l=x;return a&1|0}function EK(a,b){a=a|0;b=b|0;var d=0.0,e=0.0,f=0,g=0.0,i=0,j=0,k=0;j=l;l=l+32|0;f=j+16|0;i=j;if(a){a=c[a>>2]|0;k=(c[(c[(dz(a)|0)+16>>2]|0)+116>>2]&3)*90|0;c[f>>2]=c[b>>2];c[f+4>>2]=c[b+4>>2];c[f+8>>2]=c[b+8>>2];c[f+12>>2]=c[b+12>>2];YG(i,f,k);g=+h[i>>3];e=+h[i+8>>3];if((a|0)==(c[46530]|0))d=+h[22932];else{i=c[(c[a+16>>2]|0)+12>>2]|0;k=(c[i+4>>2]<<1)+-2|0;d=+h[(c[i+44>>2]|0)+((((k|0)>0?k:0)|1)<<4)>>3];h[22932]=d;c[46530]=a}if(+B(+g)>d|+B(+e)>d)a=0;else a=+t$(g,e)<=d&1}else{c[46530]=0;a=0}l=j;return a|0}function FK(e,f){e=e|0;f=f|0;var g=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0.0,v=0,w=0;t=l;l=l+16|0;j=t;r=c[e+16>>2]|0;s=r+208|0;g=c[s>>2]|0;if((g|0)==0?(b[r+260>>1]&1)==0:0)q=0;else if(!(c[e+152>>2]&4)){OO(e,g,c[r+228>>2]|0,c[r+244>>2]|0,c[r+212>>2]|0);q=1}else q=1;n=f+16|0;k=c[(c[n>>2]|0)+12>>2]|0;o=c[k+44>>2]|0;p=c[k+8>>2]|0;k=c[k+4>>2]|0;if((c[46528]|0)<(p|0)){g=p+2|0;c[46528]=g;i=c[46529]|0;if(!i)g=uH(g<<4)|0;else g=wH(i,g<<4)|0;c[46529]=g}iK(f,j)|0;if(!(c[j>>2]&32))XO(e,21916);else XO(e,21912);g=c[46402]|0;if(g|0)eP(e,+KL(f,g,1.0,0.0));g=d[(c[n>>2]|0)+117>>0]|0;do if(!(g&1)){if(g&2|0){TO(e,NL(f,0,103230)|0);g=NL(f,0,103238)|0;VO(e,g);break}if(g&8|0){TO(e,NL(f,0,103246)|0);g=NL(f,0,103254)|0;VO(e,g);break}if(!(g&4)){g=hK(f,134232)|0;VO(e,g);eK(e,f)|0;break}else{TO(e,NL(f,0,103262)|0);g=NL(f,0,103270)|0;VO(e,g);break}}else{TO(e,NL(f,0,103214)|0);g=NL(f,0,103222)|0;VO(e,g)}while(0);if(!k)if(!(a[g>>0]|0))i=1;else{TO(e,g);i=1}else i=k;j=1;f=0;while(1){if((f|0)>=(i|0))break;k=O(f,p)|0;m=c[46529]|0;g=0;while(1){if((g|0)>=(p|0))break;w=g+k|0;u=+h[o+(w<<4)+8>>3];v=c[n>>2]|0;h[m+(g<<4)>>3]=+h[v+16>>3]+ +h[o+(w<<4)>>3];h[m+(g<<4)+8>>3]=+h[v+24>>3]+u;g=g+1|0}YO(e,m,p,j);j=0;f=f+1|0}if(q){if(c[e+152>>2]&4|0)OO(e,c[s>>2]|0,c[r+228>>2]|0,c[r+244>>2]|0,c[r+212>>2]|0);PO(e)}l=t;return}function GK(a,b,e,f){a=a|0;b=b|0;e=e|0;f=f|0;var g=0,h=0;g=l;l=l+48|0;h=g;e=HK(b,e,f)|0;c[h+36>>2]=c[f+36>>2];mK(b,c[f+24>>2]|0,h,e,d[f+33>>0]|0,0)|0;b=h;e=a+40|0;do{c[a>>2]=c[b>>2];a=a+4|0;b=b+4|0}while((a|0)<(e|0));l=g;return}function HK(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,i=0.0,j=0.0,k=0,m=0.0,n=0.0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0.0,B=0.0,C=0;z=l;l=l+32|0;y=z;g=z+24|0;k=z+16|0;x=c[(c[(c[(dz(b)|0)+60>>2]|0)+16>>2]|0)+116>>2]&3;f=b+16|0;w=(c[f>>2]|0)+16|0;c[y>>2]=c[w>>2];c[y+4>>2]=c[w+4>>2];c[y+8>>2]=c[w+8>>2];c[y+12>>2]=c[w+12>>2];IK(g,y,x);w=(c[d+16>>2]|0)+16|0;c[y>>2]=c[w>>2];c[y+4>>2]=c[w+4>>2];c[y+8>>2]=c[w+8>>2];c[y+12>>2]=c[w+12>>2];IK(k,y,x);x=a[e+33>>0]|0;y=x&255;a:do switch(x<<24>>24){case 0:case 15:{d=0;break}default:{d=c[e+24>>2]|0;if(!d){x=(c[(c[(dz(b)|0)+16>>2]|0)+116>>2]&1|0)==0;w=c[f>>2]|0;B=+h[w+80>>3]*.5;A=-B;m=+h[w+88>>3];j=-m;n=x?j:A;i=x?m:B;m=x?B:m;j=x?A:j}else{n=+h[d>>3];i=+h[d+16>>3];m=+h[d+24>>3];j=+h[d+8>>3]}x=c[g>>2]|0;v=c[g+4>>2]|0;w=c[k>>2]|0;s=c[k+4>>2]|0;t=~~j;u=~~((i+n)*.5);r=~~i;q=~~((m+j)*.5);p=~~m;o=~~n;g=0;k=0;d=0;e=0;b=0;while(1){if((k|0)==4)break a;if(1<>2]|0;else f=g}else f=g;g=f;k=k+1|0}}}while(0);l=z;return d|0}function IK(a,b,d){a=a|0;b=b|0;d=d|0;var e=0.0,f=0.0;switch(d|0){case 0:{f=+h[b>>3];e=+h[b+8>>3];break}case 2:{f=+h[b>>3];e=-+h[b+8>>3];break}case 1:{f=-+h[b+8>>3];e=+h[b>>3];break}case 3:{f=+h[b+8>>3];e=+h[b>>3];break}default:{f=0.0;e=0.0}}c[a>>2]=~~(f+(f>=0.0?.5:-.5));c[a+4>>2]=~~(e+(e>=0.0?.5:-.5));return}function JK(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0;i=l;l=l+80|0;f=i+40|0;h=i;g=b+16|0;e=c[g>>2]|0;d=e+16|0;if(a[e+47>>0]|0){e=c[b>>2]&3;GK(f,c[((e|0)==3?b:b+48|0)+40>>2]|0,c[((e|0)==2?b:b+-48|0)+40>>2]|0,d);e=f;f=d+40|0;do{c[d>>2]=c[e>>2];d=d+4|0;e=e+4|0}while((d|0)<(f|0));e=c[g>>2]|0}d=e+56|0;if(a[e+87>>0]|0){e=c[b>>2]&3;GK(h,c[((e|0)==2?b:b+-48|0)+40>>2]|0,c[((e|0)==3?b:b+48|0)+40>>2]|0,d);e=h;f=d+40|0;do{c[d>>2]=c[e>>2];d=d+4|0;e=e+4|0}while((d|0)<(f|0))}l=i;return}function KK(){var a=0,b=0,d=0;a=l;l=l+32|0;b=a+16|0;d=a;c[d>>2]=0;c[d+4>>2]=0;c[d+8>>2]=0;c[d+12>>2]=0;c[b>>2]=c[d>>2];c[b+4>>2]=c[d+4>>2];c[b+8>>2]=c[d+8>>2];c[b+12>>2]=c[d+12>>2];DK(0,b)|0;c[b>>2]=c[d>>2];c[b+4>>2]=c[d+4>>2];c[b+8>>2]=c[d+8>>2];c[b+12>>2]=c[d+12>>2];EK(0,b)|0;c[b>>2]=c[d>>2];c[b+4>>2]=c[d+4>>2];c[b+8>>2]=c[d+8>>2];c[b+12>>2]=c[d+12>>2];$J(0,b)|0;l=a;return}function LK(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0.0,g=0.0,i=0.0,j=0,k=0,m=0,n=0,o=0,p=0.0,q=0,r=0.0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0;z=l;l=l+192|0;s=z+176|0;x=z+112|0;y=z+48|0;t=z+32|0;u=z+24|0;v=z+16|0;w=z;if(!(e<<24>>24)){k=d+48|0;c[t>>2]=c[k>>2];c[t+4>>2]=c[k+4>>2];c[t+8>>2]=c[k+8>>2];c[t+12>>2]=c[k+12>>2];k=u;m=v;n=x;o=0}else{c[t>>2]=c[d>>2];c[t+4>>2]=c[d+4>>2];c[t+8>>2]=c[d+8>>2];c[t+12>>2]=c[d+12>>2];k=v;m=u;n=0;o=x}h[u>>3]=0.0;h[v>>3]=1.0;q=t+8|0;f=0.0;g=1.0;j=0;p=+h[t>>3];while(1){r=+h[q>>3];f=(f+g)*.5;WL(w,d,3,f,n,o);c[t>>2]=c[w>>2];c[t+4>>2]=c[w+4>>2];c[t+8>>2]=c[w+8>>2];c[t+12>>2]=c[w+12>>2];c[s>>2]=c[w>>2];c[s+4>>2]=c[w+4>>2];c[s+8>>2]=c[w+8>>2];c[s+12>>2]=c[w+12>>2];a:do if(!((lb[b&127](a,s)|0)<<24>>24)){e=0;while(1){if((e|0)==4){e=k;j=1;break a}j=y+(e<<4)|0;A=x+(e<<4)|0;c[j>>2]=c[A>>2];c[j+4>>2]=c[A+4>>2];c[j+8>>2]=c[A+8>>2];c[j+12>>2]=c[A+12>>2];e=e+1|0}}else e=m;while(0);h[e>>3]=f;i=+h[t>>3];p=p-i;if(!((p>=0.0?p:-p)>.5)?(r=r-+h[q>>3],!((r>=0.0?r:-r)>.5)):0)break;f=+h[u>>3];g=+h[v>>3];p=i}b:do if(!(j<<24>>24)){e=0;while(1){if((e|0)==4)break b;A=d+(e<<4)|0;y=x+(e<<4)|0;c[A>>2]=c[y>>2];c[A+4>>2]=c[y+4>>2];c[A+8>>2]=c[y+8>>2];c[A+12>>2]=c[y+12>>2];e=e+1|0}}else{e=0;while(1){if((e|0)==4)break b;A=d+(e<<4)|0;x=y+(e<<4)|0;c[A>>2]=c[x>>2];c[A+4>>2]=c[x+4>>2];c[A+8>>2]=c[x+8>>2];c[A+12>>2]=c[x+12>>2];e=e+1|0}}while(0);l=z;return}function MK(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,i=0,j=0,k=0,m=0,n=0.0;m=l;l=l+48|0;d=m+16|0;e=m;f=m+32|0;g=a+16|0;i=c[g>>2]|0;j=c[i+8>>2]|0;if(j|0?(k=j+4|0,c[(c[k>>2]|0)+12>>2]|0):0){c[f>>2]=a;c[f+4>>2]=0;n=+h[i+96>>3];h[e>>3]=+h[b>>3]-+h[i+16>>3];h[e+8>>3]=+h[b+8>>3]-+h[i+24>>3];k=c[(c[k>>2]|0)+12>>2]|0;c[d>>2]=c[e>>2];c[d+4>>2]=c[e+4>>2];c[d+8>>2]=c[e+8>>2];c[d+12>>2]=c[e+12>>2];k=lb[k&127](f,d)|0;h[(c[g>>2]|0)+96>>3]=n;NK(f,a,b,k)}l=m;return}function NK(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,i=0,j=0,k=0.0,m=0,n=0;n=l;l=l+64|0;m=n;j=b+16|0;g=c[j>>2]|0;k=+h[g+96>>3];i=g+16|0;f=g+24|0;b=0;while(1){if((b|0)==4)break;h[m+(b<<4)>>3]=+h[d+(b<<4)>>3]-+h[i>>3];h[m+(b<<4)+8>>3]=+h[d+(b<<4)+8>>3]-+h[f>>3];b=b+1|0}LK(a,c[(c[(c[g+8>>2]|0)+4>>2]|0)+12>>2]|0,m,e);b=0;while(1){if((b|0)==4)break;e=c[j>>2]|0;h[d+(b<<4)>>3]=+h[e+16>>3]+ +h[m+(b<<4)>>3];h[d+(b<<4)+8>>3]=+h[e+24>>3]+ +h[m+(b<<4)+8>>3];b=b+1|0}h[(c[j>>2]|0)+96>>3]=k;l=n;return}function OK(b,d){b=b|0;d=d|0;var e=0,f=0;while(1){f=b+16|0;b=c[f>>2]|0;if(!(a[b+112>>0]|0))break;b=c[b+116>>2]|0}b=c[b+8>>2]|0;if(!b){b=tH(40)|0;c[(c[f>>2]|0)+8>>2]=b}e=c[b>>2]|0;if(!e)b=uH(((c[b+4>>2]|0)*48|0)+48|0)|0;else b=wH(e,((c[b+4>>2]|0)*48|0)+48|0)|0;f=c[(c[f>>2]|0)+8>>2]|0;c[f>>2]=b;f=f+4|0;e=c[f>>2]|0;c[f>>2]=e+1;f=b+(e*48|0)|0;c[f>>2]=tH(d<<4)|0;c[b+(e*48|0)+4>>2]=d;b=b+(e*48|0)+8|0;e=b+40|0;do{c[b>>2]=0;b=b+4|0}while((b|0)<(e|0));return f|0}function PK(b,e,f,g,i){b=b|0;e=e|0;f=f|0;g=g|0;i=i|0;var j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0.0,F=0.0;D=l;l=l+96|0;A=D+16|0;u=D;x=D+92|0;y=D+88|0;v=D+80|0;m=c[((c[b>>2]&3|0)==3?b:b+48|0)+40>>2]|0;z=dz(m)|0;B=OK(b,g)|0;n=b;while(1){o=c[n+16>>2]|0;if(!(a[o+112>>0]|0))break;n=c[o+116>>2]|0}if((a[i+8>>0]|0)==0?(j=c[m+16>>2]|0,k=c[e+16>>2]|0,(c[j+232>>2]|0)==(c[k+232>>2]|0)):0){p=(c[j+236>>2]|0)>(c[k+236>>2]|0);w=p?m:e;m=p?e:m}else w=e;if((m|0)==(c[((c[n>>2]&3|0)==3?n:n+48|0)+40>>2]|0)){j=o+80|0;k=o+40|0;p=d[o+86>>0]|0;e=d[o+46>>0]|0}else{j=o+40|0;k=o+80|0;p=d[o+46>>0]|0;e=d[o+86>>0]|0}o=c[j>>2]|0;j=c[k>>2]|0;if(((e|0)!=0?(r=m+16|0,q=c[(c[r>>2]|0)+8>>2]|0,(q|0)!=0):0)?(c[(c[q+4>>2]|0)+12>>2]|0)!=0:0){c[v>>2]=m;c[v+4>>2]=j;j=g+-4|0;e=u+8|0;k=0;while(1){if((k|0)>=(j|0))break;n=k+3|0;q=c[r>>2]|0;h[u>>3]=+h[f+(n<<4)>>3]-+h[q+16>>3];h[e>>3]=+h[f+(n<<4)+8>>3]-+h[q+24>>3];q=c[(c[(c[q+8>>2]|0)+4>>2]|0)+12>>2]|0;c[A>>2]=c[u>>2];c[A+4>>2]=c[u+4>>2];c[A+8>>2]=c[u+8>>2];c[A+12>>2]=c[u+12>>2];if(!((lb[q&127](v,A)|0)<<24>>24))break;else k=n}c[x>>2]=k;NK(v,m,f+(k<<4)|0,1)}else{c[x>>2]=0;k=0}if(((p|0)!=0?(t=w+16|0,s=c[(c[t>>2]|0)+8>>2]|0,(s|0)!=0):0)?(c[(c[s+4>>2]|0)+12>>2]|0)!=0:0){c[v>>2]=w;c[v+4>>2]=o;m=g+-4|0;e=u+8|0;j=m;while(1){if((j|0)<=0)break;g=c[t>>2]|0;h[u>>3]=+h[f+(j<<4)>>3]-+h[g+16>>3];h[e>>3]=+h[f+(j<<4)+8>>3]-+h[g+24>>3];g=c[(c[(c[g+8>>2]|0)+4>>2]|0)+12>>2]|0;c[A>>2]=c[u>>2];c[A+4>>2]=c[u+4>>2];c[A+8>>2]=c[u+8>>2];c[A+12>>2]=c[u+12>>2];if(!((lb[g&127](v,A)|0)<<24>>24))break;j=j+-3|0}c[y>>2]=j;NK(v,w,f+(j<<4)|0,0)}else{m=g+-4|0;c[y>>2]=m;j=m}while(1){if((k|0)>=(m|0))break;e=k+3|0;E=+h[f+(k<<4)>>3]-+h[f+(e<<4)>>3];F=+h[f+(k<<4)+8>>3]-+h[f+(e<<4)+8>>3];if(F*F+E*E<1.0e-06)k=e;else break}c[x>>2]=k;while(1){if((j|0)<=0)break;v=j+3|0;F=+h[f+(j<<4)>>3]-+h[f+(v<<4)>>3];E=+h[f+(j<<4)+8>>3]-+h[f+(v<<4)+8>>3];if(!(E*E+F*F<1.0e-06))break;j=j+-3|0}c[y>>2]=j;QK(b,w,f,x,y,B,i);r=c[x>>2]|0;n=c[y>>2]|0;m=n+4|0;n=n+3|0;o=A+16|0;p=A+32|0;q=A+48|0;k=z+16|0;j=r;while(1){if((j|0)>=(m|0))break;z=(c[B>>2]|0)+(j-r<<4)|0;e=f+(j<<4)|0;c[z>>2]=c[e>>2];c[z+4>>2]=c[e+4>>2];c[z+8>>2]=c[e+8>>2];c[z+12>>2]=c[e+12>>2];c[A>>2]=c[e>>2];c[A+4>>2]=c[e+4>>2];c[A+8>>2]=c[e+8>>2];c[A+12>>2]=c[e+12>>2];e=j+1|0;if((j|0)>=(n|0)){C=38;break}y=(c[B>>2]|0)+(e-r<<4)|0;z=f+(e<<4)|0;c[y>>2]=c[z>>2];c[y+4>>2]=c[z+4>>2];c[y+8>>2]=c[z+8>>2];c[y+12>>2]=c[z+12>>2];c[o>>2]=c[z>>2];c[o+4>>2]=c[z+4>>2];c[o+8>>2]=c[z+8>>2];c[o+12>>2]=c[z+12>>2];z=j+2|0;y=(c[B>>2]|0)+(z-r<<4)|0;z=f+(z<<4)|0;c[y>>2]=c[z>>2];c[y+4>>2]=c[z+4>>2];c[y+8>>2]=c[z+8>>2];c[y+12>>2]=c[z+12>>2];c[p>>2]=c[z>>2];c[p+4>>2]=c[z+4>>2];c[p+8>>2]=c[z+8>>2];c[p+12>>2]=c[z+12>>2];z=j+3|0;y=f+(z<<4)|0;c[q>>2]=c[y>>2];c[q+4>>2]=c[y+4>>2];c[q+8>>2]=c[y+8>>2];c[q+12>>2]=c[y+12>>2];XE((c[k>>2]|0)+16|0,A);j=z}c[B+4>>2]=m-r;l=D;return}function QK(b,d,e,f,g,h,i){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,m=0,n=0,o=0,p=0;p=l;l=l+16|0;m=p+4|0;n=p;o=b;while(1){j=c[(c[o+16>>2]|0)+116>>2]|0;if(!j)break;else o=j}if(!(a[i+8>>0]|0))j=(kb[c[i>>2]&63](o)|0)&255;else j=0;rE(o,m,n);k=i+4|0;if((kb[c[k>>2]&63](d)|0)<<24>>24)c[n>>2]=0;if((kb[c[k>>2]&63](c[((c[b>>2]&3|0)==3?b:b+48|0)+40>>2]|0)|0)<<24>>24)c[m>>2]=0;if(j|0){d=c[m>>2]|0;c[m>>2]=c[n>>2];c[n>>2]=d}if(!(a[i+9>>0]|0)){j=c[m>>2]|0;if(j|0)c[f>>2]=GE(o,e,c[f>>2]|0,c[g>>2]|0,h,j)|0;j=c[n>>2]|0;if(j|0)c[g>>2]=EE(o,e,c[f>>2]|0,c[g>>2]|0,h,j)|0}else{k=c[n>>2]|0;j=c[m>>2]|0;if(j|k|0)HE(o,e,c[f>>2]|0,c[g>>2]|0,h,j,k)}l=p;return}function RK(a,b){a=a|0;b=b|0;var d=0,e=0;if(+h[b>>3]<+h[b+16>>3]?+h[b+8>>3]<+h[b+24>>3]:0){d=c[a+84>>2]|0;e=a+80|0;a=c[e>>2]|0;c[e>>2]=a+1;a=d+(a<<5)|0;c[a>>2]=c[b>>2];c[a+4>>2]=c[b+4>>2];c[a+8>>2]=c[b+8>>2];c[a+12>>2]=c[b+12>>2];c[a+16>>2]=c[b+16>>2];c[a+20>>2]=c[b+20>>2];c[a+24>>2]=c[b+24>>2];c[a+28>>2]=c[b+28>>2]}return}function SK(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var i=0,j=0,k=0.0,m=0.0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0.0,z=0.0;x=l;l=l+112|0;u=x+72|0;o=x+56|0;n=x+16|0;q=x;j=c[d>>2]&3;p=d+48|0;w=c[((j|0)==3?d:p)+40>>2]|0;t=d+16|0;r=c[t>>2]|0;i=r+16|0;if(a[r+47>>0]|0){GK(n,w,c[((j|0)==2?d:d+-48|0)+40>>2]|0,i);j=n;n=i+40|0;do{c[i>>2]=c[j>>2];i=i+4|0;j=j+4|0}while((i|0)<(n|0))}r=w+16|0;j=c[r>>2]|0;i=c[j+8>>2]|0;if(!i)n=0;else n=c[(c[i+4>>2]|0)+16>>2]|0;i=j+16|0;j=(c[t>>2]|0)+16|0;c[o>>2]=c[i>>2];c[o+4>>2]=c[i+4>>2];c[o+8>>2]=c[i+8>>2];c[o+12>>2]=c[i+12>>2];c[u>>2]=c[j>>2];c[u+4>>2]=c[j+4>>2];c[u+8>>2]=c[j+8>>2];c[u+12>>2]=c[j+12>>2];TK(q,o,u);c[b>>2]=c[q>>2];c[b+4>>2]=c[q+4>>2];c[b+8>>2]=c[q+8>>2];c[b+12>>2]=c[q+12>>2];if(!(g<<24>>24)){i=c[t>>2]|0;if(!(a[i+45>>0]|0))i=0;else{k=+h[i+32>>3];v=9}}else{k=+UK(c[((c[d>>2]&3|0)==3?d:p)+40>>2]|0);v=9}if((v|0)==9){h[b+16>>3]=k;i=1}a[b+29>>0]=i;c[b+80>>2]=0;c[b+88>>2]=d;q=f+32|0;c[q>>2]=c[b>>2];c[q+4>>2]=c[b+4>>2];c[q+8>>2]=c[b+8>>2];c[q+12>>2]=c[b+12>>2];switch(e|0){case 1:{j=c[r>>2]|0;if((a[j+156>>0]|0)==0?(q=a[(c[t>>2]|0)+49>>0]|0,s=q&255,q<<24>>24!=0):0){c[u>>2]=c[f>>2];c[u+4>>2]=c[f+4>>2];c[u+8>>2]=c[f+8>>2];c[u+12>>2]=c[f+12>>2];c[u+16>>2]=c[f+16>>2];c[u+20>>2]=c[f+20>>2];c[u+24>>2]=c[f+24>>2];c[u+28>>2]=c[f+28>>2];do if(!(s&4)){if(s&1|0){c[f+48>>2]=1;i=u+24|0;h[i>>3]=+h[(+h[i>>3]>+h[b+8>>3]?u+16|0:b)+8>>3];i=f+56|0;c[i>>2]=c[u>>2];c[i+4>>2]=c[u+4>>2];c[i+8>>2]=c[u+8>>2];c[i+12>>2]=c[u+12>>2];c[i+16>>2]=c[u+16>>2];c[i+20>>2]=c[u+20>>2];c[i+24>>2]=c[u+24>>2];c[i+28>>2]=c[u+28>>2];i=1;break}i=f+48|0;if(!(s&8)){c[i>>2]=2;h[u>>3]=+h[b>>3];h[u+8>>3]=+h[j+24>>3]-+h[j+80>>3]*.5;h[u+24>>3]=+h[b+8>>3];i=f+56|0;c[i>>2]=c[u>>2];c[i+4>>2]=c[u+4>>2];c[i+8>>2]=c[u+8>>2];c[i+12>>2]=c[u+12>>2];c[i+16>>2]=c[u+16>>2];c[i+20>>2]=c[u+20>>2];c[i+24>>2]=c[u+24>>2];c[i+28>>2]=c[u+28>>2];i=1;break}else{c[i>>2]=8;h[u+16>>3]=+h[b>>3];h[u+8>>3]=+h[j+24>>3]-+h[j+80>>3]*.5;h[u+24>>3]=+h[b+8>>3];i=f+56|0;c[i>>2]=c[u>>2];c[i+4>>2]=c[u+4>>2];c[i+8>>2]=c[u+8>>2];c[i+12>>2]=c[u+12>>2];c[i+16>>2]=c[u+16>>2];c[i+20>>2]=c[u+20>>2];c[i+24>>2]=c[u+24>>2];c[i+28>>2]=c[u+28>>2];i=1;break}}else{c[f+48>>2]=4;k=+h[u>>3];if(+h[b>>3]<+h[j+16>>3]){z=k+-1.0;y=+h[b+8>>3];b=u+16|0;k=+h[b>>3];m=+h[j+80>>3]*.5+ +h[j+24>>3];m=m+ +((c[(c[(dz(w)|0)+16>>2]|0)+252>>2]|0)/2|0|0);i=c[r>>2]|0;h[b>>3]=+h[i+16>>3]-+h[i+88>>3];h[u+24>>3]=y;h[u+8>>3]=+h[i+24>>3]-+h[i+80>>3]*.5;h[u>>3]=z;h[f+56>>3]=z;h[f+64>>3]=y;h[f+72>>3]=k;h[f+80>>3]=m;i=f+88|0;c[i>>2]=c[u>>2];c[i+4>>2]=c[u+4>>2];c[i+8>>2]=c[u+8>>2];c[i+12>>2]=c[u+12>>2];c[i+16>>2]=c[u+16>>2];c[i+20>>2]=c[u+20>>2];c[i+24>>2]=c[u+24>>2];c[i+28>>2]=c[u+28>>2];i=2;break}else{m=+h[b+8>>3];i=u+16|0;y=+h[i>>3]+1.0;z=+h[j+80>>3]*.5+ +h[j+24>>3];z=z+ +((c[(c[(dz(w)|0)+16>>2]|0)+252>>2]|0)/2|0|0);b=c[r>>2]|0;h[u>>3]=+h[b+96>>3]+ +h[b+16>>3];h[u+24>>3]=m;h[u+8>>3]=+h[b+24>>3]-+h[b+80>>3]*.5;h[i>>3]=y;h[f+56>>3]=k;h[f+64>>3]=m;h[f+72>>3]=y;h[f+80>>3]=z;i=f+88|0;c[i>>2]=c[u>>2];c[i+4>>2]=c[u+4>>2];c[i+8>>2]=c[u+8>>2];c[i+12>>2]=c[u+12>>2];c[i+16>>2]=c[u+16>>2];c[i+20>>2]=c[u+20>>2];c[i+24>>2]=c[u+24>>2];c[i+28>>2]=c[u+28>>2];i=2;break}}while(0);c[f+52>>2]=i;while(1){i=c[d+16>>2]|0;if(!(a[i+112>>0]|0))break;d=c[i+116>>2]|0}a[((w|0)==(c[((c[d>>2]&3|0)==3?d:d+48|0)+40>>2]|0)?i+16|0:i+56|0)+30>>0]=0}else{j=1;v=47}break}case 2:{s=a[(c[t>>2]|0)+49>>0]|0;j=s&255;if(!(s<<24>>24))v=46;else{c[u>>2]=c[f>>2];c[u+4>>2]=c[f+4>>2];c[u+8>>2]=c[f+8>>2];c[u+12>>2]=c[f+12>>2];c[u+16>>2]=c[f+16>>2];c[u+20>>2]=c[f+20>>2];c[u+24>>2]=c[f+24>>2];c[u+28>>2]=c[f+28>>2];do if(!(j&4)){if(j&1|0)if((c[f+48>>2]|0)==4){i=c[r>>2]|0;z=+h[i+24>>3]-+h[i+80>>3]*.5;i=u+16|0;y=+h[i>>3]+1.0;k=+h[b>>3];m=z-+((c[(c[(dz(w)|0)+16>>2]|0)+252>>2]|0)/2|0|0);b=c[r>>2]|0;h[u>>3]=+h[b+96>>3]+ +h[b+16>>3];h[u+8>>3]=z;h[u+24>>3]=+h[b+80>>3]*.5+ +h[b+24>>3];h[i>>3]=y;h[f+56>>3]=k;h[f+64>>3]=m;h[f+72>>3]=y;h[f+80>>3]=z;i=f+88|0;c[i>>2]=c[u>>2];c[i+4>>2]=c[u+4>>2];c[i+8>>2]=c[u+8>>2];c[i+12>>2]=c[u+12>>2];c[i+16>>2]=c[u+16>>2];c[i+20>>2]=c[u+20>>2];c[i+24>>2]=c[u+24>>2];c[i+28>>2]=c[u+28>>2];i=2;break}else{i=u+24|0;h[i>>3]=+h[(+h[i>>3]>+h[b+8>>3]?u+16|0:b)+8>>3];i=f+56|0;c[i>>2]=c[u>>2];c[i+4>>2]=c[u+4>>2];c[i+8>>2]=c[u+8>>2];c[i+12>>2]=c[u+12>>2];c[i+16>>2]=c[u+16>>2];c[i+20>>2]=c[u+20>>2];c[i+24>>2]=c[u+24>>2];c[i+28>>2]=c[u+28>>2];i=1;break}k=+h[b>>3];if(!(j&8)){h[u>>3]=k;e=c[r>>2]|0;k=+h[e+24>>3];m=+h[e+80>>3]*.5;if((c[f+48>>2]|0)==4){h[u+24>>3]=m+k;k=+h[b+8>>3];i=u}else{h[u+8>>3]=k-m;k=+h[b+8>>3]+1.0;i=u+16|0}h[i+8>>3]=k;i=f+56|0;c[i>>2]=c[u>>2];c[i+4>>2]=c[u+4>>2];c[i+8>>2]=c[u+8>>2];c[i+12>>2]=c[u+12>>2];c[i+16>>2]=c[u+16>>2];c[i+20>>2]=c[u+20>>2];c[i+24>>2]=c[u+24>>2];c[i+28>>2]=c[u+28>>2];i=1;break}else{i=u+16|0;h[i>>3]=k+1.0;e=c[r>>2]|0;k=+h[e+24>>3];m=+h[e+80>>3]*.5;if((c[f+48>>2]|0)==4){h[u+24>>3]=m+k;k=+h[b+8>>3]+-1.0;i=u}else{h[u+8>>3]=k-m;k=+h[b+8>>3]+1.0}h[i+8>>3]=k;i=f+56|0;c[i>>2]=c[u>>2];c[i+4>>2]=c[u+4>>2];c[i+8>>2]=c[u+8>>2];c[i+12>>2]=c[u+12>>2];c[i+16>>2]=c[u+16>>2];c[i+20>>2]=c[u+20>>2];c[i+24>>2]=c[u+24>>2];c[i+28>>2]=c[u+28>>2];i=1;break}}else{i=u+8|0;h[i>>3]=+h[(+h[i>>3]<+h[b+8>>3]?u:b)+8>>3];i=f+56|0;c[i>>2]=c[u>>2];c[i+4>>2]=c[u+4>>2];c[i+8>>2]=c[u+8>>2];c[i+12>>2]=c[u+12>>2];c[i+16>>2]=c[u+16>>2];c[i+20>>2]=c[u+20>>2];c[i+24>>2]=c[u+24>>2];c[i+28>>2]=c[u+28>>2];i=1}while(0);c[f+52>>2]=i;while(1){i=c[d+16>>2]|0;if(!(a[i+112>>0]|0))break;d=c[i+116>>2]|0}a[((w|0)==(c[((c[d>>2]&3|0)==3?d:d+48|0)+40>>2]|0)?i+16|0:i+56|0)+30>>0]=0;c[f+48>>2]=j}break}default:v=46}if((v|0)==46){j=c[f+48>>2]|0;v=47}a:do if((v|0)==47){if(n){d=f+56|0;i=f+52|0;j=pb[n&127](w,(c[t>>2]|0)+16|0,j,d,i)|0;if(j){c[f+48>>2]=j;break}}else{i=f+52|0;d=f+56|0};c[d>>2]=c[f>>2];c[d+4>>2]=c[f+4>>2];c[d+8>>2]=c[f+8>>2];c[d+12>>2]=c[f+12>>2];c[d+16>>2]=c[f+16>>2];c[d+20>>2]=c[f+20>>2];c[d+24>>2]=c[f+24>>2];c[d+28>>2]=c[f+28>>2];c[i>>2]=1;switch(e|0){case 8:{qa(135312,103488,569,103498);break}case 2:{h[((c[f+48>>2]|0)==4?f+56|0:f+72|0)+8>>3]=+h[b+8>>3];break a}case 1:{h[f+80>>3]=+h[b+8>>3];c[f+48>>2]=1;break a}default:break a}}while(0);l=x;return}function TK(a,b,c){a=a|0;b=b|0;c=c|0;var d=0.0;d=+h[c+8>>3]+ +h[b+8>>3];h[a>>3]=+h[c>>3]+ +h[b>>3];h[a+8>>3]=d;return}function UK(a){a=a|0;var b=0.0,d=0,e=0,f=0.0,g=0,i=0,j=0,k=0.0,l=0.0;i=c[a+16>>2]|0;j=c[i+172>>2]|0;f=0.0;g=0;while(1){a=c[j+(g<<2)>>2]|0;if(!a)break;f=+h[(c[(c[((c[a>>2]&3|0)==3?a:a+48|0)+40>>2]|0)+16>>2]|0)+16>>3]+f;g=g+1|0}e=c[i+180>>2]|0;b=0.0;a=0;while(1){d=c[e+(a<<2)>>2]|0;if(!d)break;b=+h[(c[(c[((c[d>>2]&3|0)==2?d:d+-48|0)+40>>2]|0)+16>>2]|0)+16>>3]+b;a=a+1|0}k=+h[i+16>>3];l=+h[i+24>>3];j=c[j>>2]|0;f=+K(+(l-+h[(c[(c[((c[j>>2]&3|0)==3?j:j+48|0)+40>>2]|0)+16>>2]|0)+24>>3]),+(k-f/+(g|0)));j=c[e>>2]|0;return +((+K(+(+h[(c[(c[((c[j>>2]&3|0)==2?j:j+-48|0)+40>>2]|0)+16>>2]|0)+24>>3]-l),+(b/+(a|0)-k))+f)*.5)}function VK(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var i=0,j=0,k=0.0,m=0.0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0.0,B=0.0;z=l;l=l+112|0;w=z+72|0;p=z+56|0;n=z+16|0;t=z;j=c[d>>2]&3;r=d+-48|0;y=c[((j|0)==2?d:r)+40>>2]|0;u=d+16|0;s=c[u>>2]|0;i=s+56|0;if(a[s+87>>0]|0){GK(n,y,c[((j|0)==3?d:d+48|0)+40>>2]|0,i);j=n;n=i+40|0;do{c[i>>2]=c[j>>2];i=i+4|0;j=j+4|0}while((i|0)<(n|0))}s=y+16|0;j=c[s>>2]|0;i=c[j+8>>2]|0;if(!i)o=0;else o=c[(c[i+4>>2]|0)+16>>2]|0;n=b+40|0;i=j+16|0;j=(c[u>>2]|0)+56|0;c[p>>2]=c[i>>2];c[p+4>>2]=c[i+4>>2];c[p+8>>2]=c[i+8>>2];c[p+12>>2]=c[i+12>>2];c[w>>2]=c[j>>2];c[w+4>>2]=c[j+4>>2];c[w+8>>2]=c[j+8>>2];c[w+12>>2]=c[j+12>>2];TK(t,p,w);c[n>>2]=c[t>>2];c[n+4>>2]=c[t+4>>2];c[n+8>>2]=c[t+8>>2];c[n+12>>2]=c[t+12>>2];if(!(g<<24>>24)){i=c[u>>2]|0;if(!(a[i+85>>0]|0))q=0;else{h[b+56>>3]=+h[i+72>>3];q=1}}else{m=+UK(c[((c[d>>2]&3|0)==2?d:r)+40>>2]|0)+3.141592653589793;h[b+56>>3]=m;if(m<6.283185307179586)q=1;else qa(103508,103488,606,103532)}a[b+69>>0]=q;t=f+32|0;c[t>>2]=c[n>>2];c[t+4>>2]=c[n+4>>2];c[t+8>>2]=c[n+8>>2];c[t+12>>2]=c[n+12>>2];switch(e|0){case 1:{j=c[s>>2]|0;if((a[j+156>>0]|0)==0?(t=a[(c[u>>2]|0)+89>>0]|0,v=t&255,t<<24>>24!=0):0){c[w>>2]=c[f>>2];c[w+4>>2]=c[f+4>>2];c[w+8>>2]=c[f+8>>2];c[w+12>>2]=c[f+12>>2];c[w+16>>2]=c[f+16>>2];c[w+20>>2]=c[f+20>>2];c[w+24>>2]=c[f+24>>2];c[w+28>>2]=c[f+28>>2];do if(!(v&4))if(!(v&1)){i=f+48|0;if(!(v&8)){c[i>>2]=2;h[w>>3]=+h[n>>3];h[w+24>>3]=+h[j+80>>3]*.5+ +h[j+24>>3];h[w+8>>3]=+h[b+48>>3];i=f+56|0;c[i>>2]=c[w>>2];c[i+4>>2]=c[w+4>>2];c[i+8>>2]=c[w+8>>2];c[i+12>>2]=c[w+12>>2];c[i+16>>2]=c[w+16>>2];c[i+20>>2]=c[w+20>>2];c[i+24>>2]=c[w+24>>2];c[i+28>>2]=c[w+28>>2];i=1;break}else{c[i>>2]=8;h[w+16>>3]=+h[n>>3];h[w+24>>3]=+h[j+80>>3]*.5+ +h[j+24>>3];h[w+8>>3]=+h[b+48>>3];i=f+56|0;c[i>>2]=c[w>>2];c[i+4>>2]=c[w+4>>2];c[i+8>>2]=c[w+8>>2];c[i+12>>2]=c[w+12>>2];c[i+16>>2]=c[w+16>>2];c[i+20>>2]=c[w+20>>2];c[i+24>>2]=c[w+24>>2];c[i+28>>2]=c[w+28>>2];i=1;break}}else{c[f+48>>2]=1;k=+h[w>>3];if(+h[n>>3]<+h[j+16>>3]){B=k+-1.0;m=+h[b+48>>3];b=w+16|0;k=+h[b>>3];A=+h[j+80>>3]*-.5+ +h[j+24>>3];A=A-+((c[(c[(dz(y)|0)+16>>2]|0)+252>>2]|0)/2|0|0);i=c[s>>2]|0;h[b>>3]=+h[i+16>>3]-+h[i+88>>3];h[w+8>>3]=m;h[w+24>>3]=+h[i+80>>3]*.5+ +h[i+24>>3];h[w>>3]=B;h[f+56>>3]=B;h[f+64>>3]=A;h[f+72>>3]=k;h[f+80>>3]=m;i=f+88|0;c[i>>2]=c[w>>2];c[i+4>>2]=c[w+4>>2];c[i+8>>2]=c[w+8>>2];c[i+12>>2]=c[w+12>>2];c[i+16>>2]=c[w+16>>2];c[i+20>>2]=c[w+20>>2];c[i+24>>2]=c[w+24>>2];c[i+28>>2]=c[w+28>>2];i=2;break}else{B=+h[b+48>>3];i=w+16|0;A=+h[i>>3]+1.0;m=+h[j+80>>3]*-.5+ +h[j+24>>3];m=m-+((c[(c[(dz(y)|0)+16>>2]|0)+252>>2]|0)/2|0|0);b=c[s>>2]|0;h[w>>3]=+h[b+96>>3]+ +h[b+16>>3];h[w+8>>3]=B;h[w+24>>3]=+h[b+80>>3]*.5+ +h[b+24>>3];h[i>>3]=A;h[f+56>>3]=k;h[f+64>>3]=m;h[f+72>>3]=A;h[f+80>>3]=B;i=f+88|0;c[i>>2]=c[w>>2];c[i+4>>2]=c[w+4>>2];c[i+8>>2]=c[w+8>>2];c[i+12>>2]=c[w+12>>2];c[i+16>>2]=c[w+16>>2];c[i+20>>2]=c[w+20>>2];c[i+24>>2]=c[w+24>>2];c[i+28>>2]=c[w+28>>2];i=2;break}}else{c[f+48>>2]=4;i=w+8|0;h[i>>3]=+h[(+h[i>>3]<+h[b+48>>3]?w:n)+8>>3];i=f+56|0;c[i>>2]=c[w>>2];c[i+4>>2]=c[w+4>>2];c[i+8>>2]=c[w+8>>2];c[i+12>>2]=c[w+12>>2];c[i+16>>2]=c[w+16>>2];c[i+20>>2]=c[w+20>>2];c[i+24>>2]=c[w+24>>2];c[i+28>>2]=c[w+28>>2];i=1}while(0);c[f+52>>2]=i;while(1){i=c[d+16>>2]|0;if(!(a[i+112>>0]|0))break;d=c[i+116>>2]|0}a[((y|0)==(c[((c[d>>2]&3|0)==2?d:d+-48|0)+40>>2]|0)?i+56|0:i+16|0)+30>>0]=0;c[f+48>>2]=v}else{j=4;x=47}break}case 2:{v=a[(c[u>>2]|0)+89>>0]|0;j=v&255;if(!(v<<24>>24))x=46;else{c[w>>2]=c[f>>2];c[w+4>>2]=c[f+4>>2];c[w+8>>2]=c[f+8>>2];c[w+12>>2]=c[f+12>>2];c[w+16>>2]=c[f+16>>2];c[w+20>>2]=c[f+20>>2];c[w+24>>2]=c[f+24>>2];c[w+28>>2]=c[f+28>>2];do if(!(j&4)){if(j&1|0)if((c[f+48>>2]|0)==4){k=+h[w>>3]+-1.0;i=c[s>>2]|0;B=+h[i+24>>3]-+h[i+80>>3]*.5;A=+h[n>>3];m=B-+((c[(c[(dz(y)|0)+16>>2]|0)+252>>2]|0)/2|0|0);i=c[s>>2]|0;h[w+16>>3]=+h[i+16>>3]+-2.0-+h[i+88>>3];h[w+8>>3]=B;h[w+24>>3]=+h[i+80>>3]*.5+ +h[i+24>>3];h[w>>3]=k;h[f+56>>3]=k;h[f+64>>3]=m;h[f+72>>3]=A;h[f+80>>3]=B;i=f+88|0;c[i>>2]=c[w>>2];c[i+4>>2]=c[w+4>>2];c[i+8>>2]=c[w+8>>2];c[i+12>>2]=c[w+12>>2];c[i+16>>2]=c[w+16>>2];c[i+20>>2]=c[w+20>>2];c[i+24>>2]=c[w+24>>2];c[i+28>>2]=c[w+28>>2];i=2;break}else{i=w+24|0;h[i>>3]=+h[(+h[i>>3]>+h[b+8>>3]?w+16|0:b)+8>>3];i=f+56|0;c[i>>2]=c[w>>2];c[i+4>>2]=c[w+4>>2];c[i+8>>2]=c[w+8>>2];c[i+12>>2]=c[w+12>>2];c[i+16>>2]=c[w+16>>2];c[i+20>>2]=c[w+20>>2];c[i+24>>2]=c[w+24>>2];c[i+28>>2]=c[w+28>>2];i=1;break}k=+h[n>>3];if(!(j&8)){h[w>>3]=k+-1.0;e=c[s>>2]|0;k=+h[e+24>>3];m=+h[e+80>>3]*.5;if((c[f+48>>2]|0)==4){h[w+24>>3]=m+k;k=+h[b+48>>3]+-1.0;i=w}else{h[w+8>>3]=k-m;k=+h[b+48>>3];i=w+16|0}h[i+8>>3]=k;i=f+56|0;c[i>>2]=c[w>>2];c[i+4>>2]=c[w+4>>2];c[i+8>>2]=c[w+8>>2];c[i+12>>2]=c[w+12>>2];c[i+16>>2]=c[w+16>>2];c[i+20>>2]=c[w+20>>2];c[i+24>>2]=c[w+24>>2];c[i+28>>2]=c[w+28>>2];i=1;break}else{i=w+16|0;h[i>>3]=k+1.0;e=c[s>>2]|0;k=+h[e+24>>3];m=+h[e+80>>3]*.5;if((c[f+48>>2]|0)==4){h[w+24>>3]=m+k;k=+h[b+48>>3]+-1.0;i=w}else{h[w+8>>3]=k-m;k=+h[b+48>>3]+1.0}h[i+8>>3]=k;i=f+56|0;c[i>>2]=c[w>>2];c[i+4>>2]=c[w+4>>2];c[i+8>>2]=c[w+8>>2];c[i+12>>2]=c[w+12>>2];c[i+16>>2]=c[w+16>>2];c[i+20>>2]=c[w+20>>2];c[i+24>>2]=c[w+24>>2];c[i+28>>2]=c[w+28>>2];i=1;break}}else{i=w+8|0;h[i>>3]=+h[(+h[i>>3]<+h[b+48>>3]?w:n)+8>>3];i=f+56|0;c[i>>2]=c[w>>2];c[i+4>>2]=c[w+4>>2];c[i+8>>2]=c[w+8>>2];c[i+12>>2]=c[w+12>>2];c[i+16>>2]=c[w+16>>2];c[i+20>>2]=c[w+20>>2];c[i+24>>2]=c[w+24>>2];c[i+28>>2]=c[w+28>>2];i=1}while(0);c[f+52>>2]=i;while(1){i=c[d+16>>2]|0;if(!(a[i+112>>0]|0))break;d=c[i+116>>2]|0}a[((y|0)==(c[((c[d>>2]&3|0)==2?d:d+-48|0)+40>>2]|0)?i+56|0:i+16|0)+30>>0]=0;c[f+48>>2]=j}break}default:x=46}if((x|0)==46){j=c[f+48>>2]|0;x=47}a:do if((x|0)==47){if(o){d=f+56|0;i=f+52|0;j=pb[o&127](y,(c[u>>2]|0)+56|0,j,d,i)|0;if(j){c[f+48>>2]=j;break}}else{i=f+52|0;d=f+56|0};c[d>>2]=c[f>>2];c[d+4>>2]=c[f+4>>2];c[d+8>>2]=c[f+8>>2];c[d+12>>2]=c[f+12>>2];c[d+16>>2]=c[f+16>>2];c[d+20>>2]=c[f+20>>2];c[d+24>>2]=c[f+24>>2];c[d+28>>2]=c[f+28>>2];c[i>>2]=1;switch(e|0){case 8:{qa(135312,103488,765,103532);break}case 2:{h[((c[f+48>>2]|0)==4?f+56|0:f+72|0)+8>>3]=+h[b+48>>3];break a}case 1:{h[f+64>>3]=+h[b+48>>3];c[f+48>>2]=4;break a}default:break a}}while(0);l=z;return}function WK(b){b=b|0;var d=0,e=0,f=0,g=0,i=0,j=0;g=c[b+16>>2]|0;i=c[g+96>>2]|0;if((a[g+44>>0]|0)==0?(a[g+84>>0]|0)==0:0)j=6;else{d=a[g+49>>0]|0;e=d&255;if(((e&8|0)==0?(f=a[g+89>>0]|0,(f&8)==0):0)?((e&5|0)==0?1:d<<24>>24!=f<<24>>24):0)j=6;else b=0}if((j|0)==6)if(!i)b=18;else{b=(c[(c[(dz(c[((c[b>>2]&3|0)==2?b:b+-48|0)+40>>2]|0)|0)+16>>2]|0)+116>>2]&1|0)!=0;b=~~(+h[(b?i+32|0:i+24|0)>>3]+18.0)}return b|0}function XK(b,d,e,f,g,h,i){b=b|0;d=d|0;e=e|0;f=f|0;g=+g;h=+h;i=i|0;var j=0,k=0,l=0,m=0;b=c[(c[d+(e<<2)>>2]|0)+16>>2]|0;if((a[b+44>>0]|0)==0?(a[b+84>>0]|0)==0:0)l=6;else l=3;do if((l|0)==3){j=a[b+49>>0]|0;k=j&255;if(!(k&8)){m=a[b+89>>0]|0;if((m&8)==0?((k&5|0)==0?1:j<<24>>24!=m<<24>>24):0){l=6;break}if(!(a[b+89>>0]&8)){if(k&4|0){ZK(d,e,f,g,h,i);break}if(!(k&1))qa(135312,103488,1231,103540);else{$K(d,e,f,g,h,i);break}}}if((j&2)==0?(a[b+89>>0]&2)==0:0){_K(d,e,f,g,h,i);break}ZK(d,e,f,g,h,i)}while(0);if((l|0)==6)YK(d,e,f,g,h,i);return}function YK(b,e,f,g,i,j){b=b|0;e=e|0;f=f|0;g=+g;i=+i;j=j|0;var k=0,m=0.0,n=0.0,o=0.0,p=0.0,q=0,r=0,s=0,t=0,u=0,v=0.0,w=0,x=0,y=0,z=0.0,A=0,B=0,C=0.0,D=0,E=0.0,F=0.0,G=0.0,H=0.0,I=0.0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0.0,R=0.0,S=0;P=l;l=l+16080|0;L=P+80|0;M=P+64|0;N=P+48|0;O=P+32|0;J=P+16|0;K=P;B=c[b+(e<<2)>>2]|0;n=i*.5/+(f|0);n=n>2.0?n:2.0;D=(c[((c[B>>2]&3|0)==3?B:B+48|0)+40>>2]|0)+16|0;A=c[D>>2]|0;C=+h[A+16>>3];H=+h[A+24>>3];B=c[B+16>>2]|0;m=+h[B+16>>3];E=m+C;F=+h[B+24>>3]+H;i=+h[B+56>>3];G=i+C;H=+h[B+64>>3]+H;k=!(F>=H)?-1:1;p=+h[A+96>>3];switch(aL(d[B+49>>0]|0,d[B+89>>0]|0)|0){case 65:case 32:{if(F==H)k=0-k|0;break}default:{}}Q=(p-m)*3.0;m=(p-i)*3.0;v=n*+(k|0);u=L+8|0;w=L+16|0;x=L+32|0;y=L+48|0;z=(H+F)*.5;A=L+64|0;B=L+80|0;s=L+96|0;t=L+104|0;r=0;o=0.0;i=p;n=p=(f|0))break;q=e+1|0;e=c[b+(e<<2)>>2]|0;p=i+g;n=n+g;m=m+g;o=o+v;h[L>>3]=E;h[u>>3]=F;Q=o+F;bL(M,n*.3333333333333333+E,Q);c[w>>2]=c[M>>2];c[w+4>>2]=c[M+4>>2];c[w+8>>2]=c[M+8>>2];c[w+12>>2]=c[M+12>>2];R=p+C;bL(N,R,Q);c[x>>2]=c[N>>2];c[x+4>>2]=c[N+4>>2];c[x+8>>2]=c[N+8>>2];c[x+12>>2]=c[N+12>>2];bL(O,R,z);c[y>>2]=c[O>>2];c[y+4>>2]=c[O+4>>2];c[y+8>>2]=c[O+8>>2];c[y+12>>2]=c[O+12>>2];Q=H-o;bL(J,R,Q);c[A>>2]=c[J>>2];c[A+4>>2]=c[J+4>>2];c[A+8>>2]=c[J+8>>2];c[A+12>>2]=c[J+12>>2];bL(K,m*.3333333333333333+G,Q);c[B>>2]=c[K>>2];c[B+4>>2]=c[K+4>>2];c[B+8>>2]=c[K+8>>2];c[B+12>>2]=c[K+12>>2];h[s>>3]=G;h[t>>3]=H;k=e+16|0;if((c[(c[k>>2]|0)+96>>2]|0)!=0?(S=(c[(c[(dz(c[((c[e>>2]&3|0)==3?e:e+48|0)+40>>2]|0)|0)+16>>2]|0)+116>>2]&1|0)==0,k=c[(c[k>>2]|0)+96>>2]|0,I=+h[(S?k+24|0:k+32|0)>>3],S=c[D>>2]|0,h[k+56>>3]=I*.5+p+ +h[S+16>>3],h[k+64>>3]=+h[S+24>>3],a[k+81>>0]=1,I>g):0)i=I+i;else i=p;PK(e,c[((c[e>>2]&3|0)==2?e:e+-48|0)+40>>2]|0,L,7,j);e=q;r=r+1|0}l=P;return}function ZK(b,e,f,g,i,j){b=b|0;e=e|0;f=f|0;g=+g;i=+i;j=j|0;var k=0.0,m=0,n=0.0,o=0.0,p=0.0,q=0.0,r=0,s=0.0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0.0,B=0,C=0,D=0.0,E=0,F=0.0,G=0.0,H=0.0,I=0.0,J=0.0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0.0,S=0;Q=l;l=l+16080|0;M=Q+80|0;N=Q+64|0;O=Q+48|0;P=Q+32|0;K=Q+16|0;L=Q;C=c[b+(e<<2)>>2]|0;q=g*.5/+(f|0);q=q>2.0?q:2.0;E=(c[((c[C>>2]&3|0)==3?C:C+48|0)+40>>2]|0)+16|0;m=c[E>>2]|0;H=+h[m+16>>3];D=+h[m+24>>3];C=c[C+16>>2]|0;k=+h[C+16>>3];p=+h[C+24>>3];F=k+H;G=p+D;g=+h[C+56>>3];o=+h[C+64>>3];H=g+H;I=o+D;n=!(F>=H)?-1.0:1.0;s=+h[m+80>>3]*.5;switch(aL(d[C+49>>0]|0,d[C+89>>0]|0)|0){case 15:{k=(q-g+ +h[m+96>>3])*n;break}case 38:{k=(g+q+ +h[m+88>>3])*n;break}case 41:{k=(q-k+ +h[m+96>>3])*n;break}case 48:{k=(q-k+ +h[m+96>>3])*n;break}case 58:case 57:case 51:case 47:case 37:case 14:{k=n*.3333333333333333*(k-g+ +h[m+88>>3]+ +h[m+96>>3]);break}case 73:{k=(k+q+ +h[m+88>>3])*n;break}case 83:{k=(+h[m+88>>3]+k)*n;break}case 84:{k=((k-g+ +h[m+88>>3]+ +h[m+96>>3])*.5+q)*n;break}case 85:case 75:case 74:{k=((k-g+ +h[m+88>>3]+ +h[m+96>>3])*.5+q*2.0)*n;break}default:k=0.0}p=(s-p)*3.0;o=(s-o)*3.0;q=n*q;w=M+8|0;x=M+16|0;y=M+32|0;z=M+48|0;A=(H+F)*.5;B=M+64|0;C=M+80|0;u=M+96|0;v=M+104|0;t=0;g=s;p=s=(f|0))break;r=e+1|0;e=c[b+(e<<2)>>2]|0;o=g+i;p=p+i;n=n+i;k=k+q;h[M>>3]=F;h[w>>3]=G;s=k+F;bL(N,s,p*.3333333333333333+G);c[x>>2]=c[N>>2];c[x+4>>2]=c[N+4>>2];c[x+8>>2]=c[N+8>>2];c[x+12>>2]=c[N+12>>2];R=o+D;bL(O,s,R);c[y>>2]=c[O>>2];c[y+4>>2]=c[O+4>>2];c[y+8>>2]=c[O+8>>2];c[y+12>>2]=c[O+12>>2];bL(P,A,R);c[z>>2]=c[P>>2];c[z+4>>2]=c[P+4>>2];c[z+8>>2]=c[P+8>>2];c[z+12>>2]=c[P+12>>2];s=H-k;bL(K,s,R);c[B>>2]=c[K>>2];c[B+4>>2]=c[K+4>>2];c[B+8>>2]=c[K+8>>2];c[B+12>>2]=c[K+12>>2];bL(L,s,n*.3333333333333333+I);c[C>>2]=c[L>>2];c[C+4>>2]=c[L+4>>2];c[C+8>>2]=c[L+8>>2];c[C+12>>2]=c[L+12>>2];h[u>>3]=H;h[v>>3]=I;m=e+16|0;if((c[(c[m>>2]|0)+96>>2]|0)!=0?(S=(c[(c[(dz(c[((c[e>>2]&3|0)==3?e:e+48|0)+40>>2]|0)|0)+16>>2]|0)+116>>2]&1|0)==0,m=c[(c[m>>2]|0)+96>>2]|0,J=+h[(S?m+32|0:m+24|0)>>3],S=c[E>>2]|0,h[m+64>>3]=J*.5+o+ +h[S+24>>3],h[m+56>>3]=+h[S+16>>3],a[m+81>>0]=1,J>i):0)g=J+g;else g=o;PK(e,c[((c[e>>2]&3|0)==2?e:e+-48|0)+40>>2]|0,M,7,j);e=r;t=t+1|0}l=Q;return}function _K(b,e,f,g,i,j){b=b|0;e=e|0;f=f|0;g=+g;i=+i;j=j|0;var k=0,m=0.0,n=0.0,o=0.0,p=0.0,q=0,r=0,s=0,t=0,u=0,v=0.0,w=0,x=0,y=0,z=0.0,A=0,B=0,C=0.0,D=0,E=0.0,F=0.0,G=0.0,H=0.0,I=0.0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0.0,R=0.0,S=0;P=l;l=l+16080|0;L=P+80|0;M=P+64|0;N=P+48|0;O=P+32|0;J=P+16|0;K=P;B=c[b+(e<<2)>>2]|0;n=i*.5/+(f|0);n=n>2.0?n:2.0;D=(c[((c[B>>2]&3|0)==3?B:B+48|0)+40>>2]|0)+16|0;A=c[D>>2]|0;C=+h[A+16>>3];H=+h[A+24>>3];B=c[B+16>>2]|0;m=+h[B+16>>3];E=m+C;F=+h[B+24>>3]+H;i=+h[B+56>>3];G=i+C;H=+h[B+64>>3]+H;k=!(F>=H)?-1:1;p=+h[A+88>>3];switch(aL(d[B+49>>0]|0,d[B+89>>0]|0)|0){case 67:case 12:{if(F==H)k=0-k|0;break}default:{}}Q=(m+p)*3.0;m=(i+p)*3.0;v=n*+(k|0);u=L+8|0;w=L+16|0;x=L+32|0;y=L+48|0;z=(H+F)*.5;A=L+64|0;B=L+80|0;s=L+96|0;t=L+104|0;r=0;o=0.0;i=p;n=p=(f|0))break;q=e+1|0;e=c[b+(e<<2)>>2]|0;p=i+g;n=n+g;m=m+g;o=o+v;h[L>>3]=E;h[u>>3]=F;Q=o+F;bL(M,E-n*.3333333333333333,Q);c[w>>2]=c[M>>2];c[w+4>>2]=c[M+4>>2];c[w+8>>2]=c[M+8>>2];c[w+12>>2]=c[M+12>>2];R=C-p;bL(N,R,Q);c[x>>2]=c[N>>2];c[x+4>>2]=c[N+4>>2];c[x+8>>2]=c[N+8>>2];c[x+12>>2]=c[N+12>>2];bL(O,R,z);c[y>>2]=c[O>>2];c[y+4>>2]=c[O+4>>2];c[y+8>>2]=c[O+8>>2];c[y+12>>2]=c[O+12>>2];Q=H-o;bL(J,R,Q);c[A>>2]=c[J>>2];c[A+4>>2]=c[J+4>>2];c[A+8>>2]=c[J+8>>2];c[A+12>>2]=c[J+12>>2];bL(K,G-m*.3333333333333333,Q);c[B>>2]=c[K>>2];c[B+4>>2]=c[K+4>>2];c[B+8>>2]=c[K+8>>2];c[B+12>>2]=c[K+12>>2];h[s>>3]=G;h[t>>3]=H;k=e+16|0;if((c[(c[k>>2]|0)+96>>2]|0)!=0?(S=(c[(c[(dz(c[((c[e>>2]&3|0)==3?e:e+48|0)+40>>2]|0)|0)+16>>2]|0)+116>>2]&1|0)==0,k=c[(c[k>>2]|0)+96>>2]|0,I=+h[(S?k+24|0:k+32|0)>>3],S=c[D>>2]|0,h[k+56>>3]=I*-.5-p+ +h[S+16>>3],h[k+64>>3]=+h[S+24>>3],a[k+81>>0]=1,I>g):0)i=I+i;else i=p;PK(e,c[((c[e>>2]&3|0)==2?e:e+-48|0)+40>>2]|0,L,7,j);e=q;r=r+1|0}l=P;return}function $K(b,e,f,g,i,j){b=b|0;e=e|0;f=f|0;g=+g;i=+i;j=j|0;var k=0.0,m=0.0,n=0.0,o=0.0,p=0,q=0,r=0,s=0,t=0,u=0,v=0.0,w=0,x=0.0,y=0.0,z=0.0,A=0.0,B=0.0,C=0,D=0,E=0,F=0.0,G=0,H=0,I=0.0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0.0,R=0.0,S=0;P=l;l=l+16080|0;L=P+80|0;M=P+64|0;N=P+48|0;O=P+32|0;J=P+16|0;K=P;C=c[b+(e<<2)>>2]|0;B=g*.5/+(f|0);w=(c[((c[C>>2]&3|0)==3?C:C+48|0)+40>>2]|0)+16|0;D=c[w>>2]|0;z=+h[D+16>>3];v=+h[D+24>>3];C=c[C+16>>2]|0;m=+h[C+24>>3];x=+h[C+16>>3]+z;y=m+v;n=+h[C+64>>3];z=+h[C+56>>3]+z;A=n+v;u=!(x>=z)?-1:1;o=+h[D+80>>3]*.5;C=(aL(d[C+49>>0]|0,d[C+89>>0]|0)|0)==67;m=(m+o)*3.0;n=(n+o)*3.0;B=(B>2.0?B:2.0)*+((C?0-u|0:u)|0);u=L+8|0;C=L+16|0;D=L+32|0;E=L+48|0;F=(z+x)*.5;G=L+64|0;H=L+80|0;s=L+96|0;t=L+104|0;g=o;k=0.0;m=o=(f|0))break;r=e+1|0;p=c[b+(e<<2)>>2]|0;o=g+i;m=m+i;n=n+i;k=k+B;h[L>>3]=x;h[u>>3]=y;Q=k+x;bL(M,Q,y-m*.3333333333333333);c[C>>2]=c[M>>2];c[C+4>>2]=c[M+4>>2];c[C+8>>2]=c[M+8>>2];c[C+12>>2]=c[M+12>>2];R=v-o;bL(N,Q,R);c[D>>2]=c[N>>2];c[D+4>>2]=c[N+4>>2];c[D+8>>2]=c[N+8>>2];c[D+12>>2]=c[N+12>>2];bL(O,F,R);c[E>>2]=c[O>>2];c[E+4>>2]=c[O+4>>2];c[E+8>>2]=c[O+8>>2];c[E+12>>2]=c[O+12>>2];Q=z-k;bL(J,Q,R);c[G>>2]=c[J>>2];c[G+4>>2]=c[J+4>>2];c[G+8>>2]=c[J+8>>2];c[G+12>>2]=c[J+12>>2];bL(K,Q,A-n*.3333333333333333);c[H>>2]=c[K>>2];c[H+4>>2]=c[K+4>>2];c[H+8>>2]=c[K+8>>2];c[H+12>>2]=c[K+12>>2];h[s>>3]=z;h[t>>3]=A;e=p+16|0;if((c[(c[e>>2]|0)+96>>2]|0)!=0?(S=(c[(c[(dz(c[((c[p>>2]&3|0)==3?p:p+48|0)+40>>2]|0)|0)+16>>2]|0)+116>>2]&1|0)==0,e=c[(c[e>>2]|0)+96>>2]|0,I=+h[(S?e+32|0:e+24|0)>>3],S=c[w>>2]|0,h[e+64>>3]=I*-.5-o+ +h[S+24>>3],h[e+56>>3]=+h[S+16>>3],a[e+81>>0]=1,I>i):0)g=I+g;else g=o;PK(p,c[((c[p>>2]&3|0)==2?p:p+-48|0)+40>>2]|0,L,7,j);e=r;q=q+1|0}l=P;return}function aL(a,b){a=a|0;b=b|0;var d=0;d=0;while(1){if((d|0)>=8){b=-1;break}if((c[21940+(d<<2)>>2]|0)==(b|0)){b=d;break}d=d+1|0}d=0;while(1){if((d|0)>=8){d=-1;break}if((c[21940+(d<<2)>>2]|0)==(a|0))break;d=d+1|0}if((d|b|0)<0)d=0;else d=c[21972+(d<<5)+(b<<2)>>2]|0;return d|0}function bL(a,b,c){a=a|0;b=+b;c=+c;h[a>>3]=b;h[a+8>>3]=c;return}function cL(b){b=b|0;var d=0,e=0;if((c[46433]|0)!=0|(c[46432]|0)!=0){d=b+16|0;e=c[(c[d>>2]|0)+100>>2]|0;if((e|0?(a[e+81>>0]|0)==0:0)?dL(b,1)|0:0){e=dz(c[((c[b>>2]&3|0)==3?b:b+48|0)+40>>2]|0)|0;jM(e,c[(c[d>>2]|0)+100>>2]|0)}e=c[(c[d>>2]|0)+104>>2]|0;if((e|0?(a[e+81>>0]|0)==0:0)?dL(b,0)|0:0){e=dz(c[((c[b>>2]&3|0)==3?b:b+48|0)+40>>2]|0)|0;jM(e,c[(c[d>>2]|0)+104>>2]|0)}}return}function dL(b,d){b=b|0;d=d|0;var e=0,f=0.0,g=0.0,i=0,j=0.0,k=0,m=0,n=0,o=0,p=0,q=0,r=0.0;q=l;l=l+96|0;o=q+32|0;m=q+16|0;n=q;i=b+16|0;do if((a[(c[i>>2]|0)+112>>0]|0)!=6){e=c[46433]|0;if(!((e|0)!=0?(a[(xx(b,e)|0)>>0]|0)!=0:0)){e=c[46432]|0;if(!e){e=0;break}if(!(a[(xx(b,e)|0)>>0]|0)){e=0;break}}d=d<<24>>24==0;p=c[i>>2]|0;p=c[(d?p+104|0:p+100|0)>>2]|0;e=eL(b)|0;if(e){k=c[e>>2]|0;do if(d){if(c[k+8>>2]|0){e=c[k>>2]|0;j=+h[e>>3];g=+h[k+16>>3];e=e+8|0;f=+h[k+24>>3];break}e=c[k>>2]|0;g=+h[e>>3];f=+h[e+8>>3];e=0;while(1){if((e|0)==4)break;n=o+(e<<4)|0;i=(c[k>>2]|0)+(e<<4)|0;c[n>>2]=c[i>>2];c[n+4>>2]=c[i+4>>2];c[n+8>>2]=c[i+8>>2];c[n+12>>2]=c[i+12>>2];e=e+1|0}WL(m,o,3,.1,0,0);j=+h[m>>3];e=m+8|0}else{d=(c[e+4>>2]|0)+-1|0;i=k+(d*48|0)|0;if(c[k+(d*48|0)+12>>2]|0){o=c[i>>2]|0;e=(c[k+(d*48|0)+4>>2]|0)+-1|0;j=+h[o+(e<<4)>>3];g=+h[k+(d*48|0)+32>>3];e=o+(e<<4)+8|0;f=+h[k+(d*48|0)+40>>3];break}m=c[i>>2]|0;d=k+(d*48|0)+4|0;e=(c[d>>2]|0)+-1|0;g=+h[m+(e<<4)>>3];f=+h[m+(e<<4)+8>>3];e=0;while(1){if((e|0)==4)break;m=o+(e<<4)|0;k=(c[i>>2]|0)+(e+-4+(c[d>>2]|0)<<4)|0;c[m>>2]=c[k>>2];c[m+4>>2]=c[k+4>>2];c[m+8>>2]=c[k+8>>2];c[m+12>>2]=c[k+12>>2];e=e+1|0}WL(n,o,3,.9,0,0);j=+h[n>>3];e=n+8|0}while(0);r=+K(+(+h[e>>3]-f),+(j-g));r=+KL(b,c[46433]|0,-25.0,-180.0)*.017453292519943295+r;j=+KL(b,c[46432]|0,1.0,0.0)*10.0;h[p+56>>3]=j*+E(+r)+g;h[p+64>>3]=+F(+r)*j+f;a[p+81>>0]=1;e=1}else e=0}else e=0;while(0);l=q;return e|0}function eL(b){b=b|0;var d=0,e=0,f=0,g=0,h=0;h=l;l=l+16|0;f=h;d=b;while(1){e=c[d+16>>2]|0;d=c[e+8>>2]|0;if(d|0)break;if(!(a[e+112>>0]|0)){g=5;break}d=c[e+116>>2]|0}if((g|0)==5){g=qy(c[((c[b>>2]&3|0)==3?b:b+48|0)+40>>2]|0)|0;d=qy(c[((c[b>>2]&3|0)==2?b:b+-48|0)+40>>2]|0)|0;c[f>>2]=g;c[f+4>>2]=d;Ow(1,103553,f)|0;d=0}l=h;return d|0}function fL(a,d,e){a=a|0;d=d|0;e=e|0;var f=0.0,g=0.0,i=0.0,j=0.0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0.0,u=0.0;s=l;l=l+96|0;m=s+80|0;n=s+64|0;o=s+48|0;p=s+32|0;q=s+16|0;r=s;k=b[(c[d+16>>2]|0)+136>>1]|0;d=e+16|0;gL(c[(c[d>>2]|0)+8>>2]|0,p,q);f=+h[p>>3];g=+h[q>>3];t=f-g;i=+h[p+8>>3];j=+h[q+8>>3];u=i-j;a:do if(u*u+t*t<1.0e-06){c[o>>2]=c[p>>2];c[o+4>>2]=c[p+4>>2];c[o+8>>2]=c[p+8>>2];c[o+12>>2]=c[p+12>>2]}else switch(k&14){case 4:case 10:{h[n>>3]=(g+f)*.5;h[n+8>>3]=(j+i)*.5;q=c[(c[d>>2]|0)+8>>2]|0;c[m>>2]=c[n>>2];c[m+4>>2]=c[n+4>>2];c[m+8>>2]=c[n+8>>2];c[m+12>>2]=c[n+12>>2];aM(r,q,m);c[o>>2]=c[r>>2];c[o+4>>2]=c[r+4>>2];c[o+8>>2]=c[r+8>>2];c[o+12>>2]=c[r+12>>2];break a}default:{hL(o,c[(c[d>>2]|0)+8>>2]|0,p,q);break a}}while(0);c[a>>2]=c[o>>2];c[a+4>>2]=c[o+4>>2];c[a+8>>2]=c[o+8>>2];c[a+12>>2]=c[o+12>>2];l=s;return}function gL(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0;h=l;l=l+32|0;g=h+16|0;f=h;j=c[a>>2]|0;e=c[j>>2]|0;i=c[j+8>>2]|0;k=j+16|0;c[g>>2]=c[k>>2];c[g+4>>2]=c[k+4>>2];c[g+8>>2]=c[k+8>>2];c[g+12>>2]=c[k+12>>2];j=j+32|0;c[f>>2]=c[j>>2];c[f+4>>2]=c[j+4>>2];c[f+8>>2]=c[j+8>>2];c[f+12>>2]=c[j+12>>2];if(!i){c[b>>2]=c[e>>2];c[b+4>>2]=c[e+4>>2];c[b+8>>2]=c[e+8>>2];c[b+12>>2]=c[e+12>>2]}else{c[b>>2]=c[g>>2];c[b+4>>2]=c[g+4>>2];c[b+8>>2]=c[g+8>>2];c[b+12>>2]=c[g+12>>2]}i=c[a>>2]|0;j=(c[a+4>>2]|0)+-1|0;e=c[i+(j*48|0)>>2]|0;a=c[i+(j*48|0)+4>>2]|0;k=c[i+(j*48|0)+12>>2]|0;b=i+(j*48|0)+16|0;c[g>>2]=c[b>>2];c[g+4>>2]=c[b+4>>2];c[g+8>>2]=c[b+8>>2];c[g+12>>2]=c[b+12>>2];j=i+(j*48|0)+32|0;c[f>>2]=c[j>>2];c[f+4>>2]=c[j+4>>2];c[f+8>>2]=c[j+8>>2];c[f+12>>2]=c[j+12>>2];if(!k){k=e+(a+-1<<4)|0;c[d>>2]=c[k>>2];c[d+4>>2]=c[k+4>>2];c[d+8>>2]=c[k+8>>2];c[d+12>>2]=c[k+12>>2]}else{c[d>>2]=c[f>>2];c[d+4>>2]=c[f+4>>2];c[d+8>>2]=c[f+8>>2];c[d+12>>2]=c[f+12>>2]}l=h;return}function hL(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0.0,i=0,j=0,k=0,l=0,m=0.0,n=0.0,o=0.0,p=0.0,q=0.0,r=0,s=0.0;r=c[b+4>>2]|0;g=0.0;f=0;while(1){if((f|0)>=(r|0))break;l=c[b>>2]|0;k=c[l+(f*48|0)>>2]|0;l=c[l+(f*48|0)+4>>2]|0;i=3;j=0;while(1){if((i|0)>=(l|0))break;q=+h[k+(j<<4)>>3]-+h[k+(i<<4)>>3];p=+h[k+(j<<4)+8>>3]-+h[k+(i<<4)+8>>3];i=i+3|0;j=j+3|0;g=+C(+(p*p+q*q))+g}f=f+1|0}l=0;g=g*.5;a:while(1){if((l|0)>=(r|0)){f=15;break}k=c[b>>2]|0;j=c[k+(l*48|0)>>2]|0;k=c[k+(l*48|0)+4>>2]|0;f=3;i=0;while(1){if((f|0)>=(k|0))break;m=+h[j+(i<<4)>>3];p=+h[j+(i<<4)+8>>3];n=+h[j+(f<<4)>>3];o=+h[j+(f<<4)+8>>3];q=m-n;s=p-o;q=+C(+(s*s+q*q));if(q>=g){f=12;break a}f=f+3|0;i=i+3|0;g=g-q}l=l+1|0}if((f|0)==12){h[d>>3]=m;h[d+8>>3]=p;h[e>>3]=n;h[e+8>>3]=o;s=q-g;h[a>>3]=(s*m+n*g)/q;h[a+8>>3]=(s*p+o*g)/q;return}else if((f|0)==15)qa(135630,103488,1316,103615)}function iL(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;cL(b);return}function jL(b,d,e,f,g){b=b|0;d=d|0;e=+e;f=f|0;g=g|0;var i=0.0,j=0.0,k=0.0,l=0.0,m=0.0,n=0,o=0,p=0.0,q=0.0,r=0.0,s=0,t=0.0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0.0,C=0.0,D=0,G=0,H=0,I=0,J=0,K=0,L=0;J=kL(b)|0;I=c[J+4>>2]|0;K=c[J>>2]|0;H=I+-1|0;B=+h[K+(H<<6)+16>>3];C=+(I|0);D=(g|0)==2;G=(f|0)!=0;n=0;j=0.0;i=0.0;l=0.0;m=0.0;while(1){if((n|0)>=(I|0))break;b=~~+lL(+(n+-1|0),C);A=n+1|0;L=~~+lL(+(A|0),C);o=K+(n<<6)|0;m=+h[o>>3];z=K+(n<<6)+8|0;l=+h[z>>3];s=K+(n<<6)+16|0;t=+h[s>>3];u=K+(n<<6)+24|0;v=K+(n<<6)+32|0;w=K+(n<<6)+40|0;x=K+(n<<6)+48|0;y=K+(n<<6)+56|0;k=+mL(+h[K+(L<<6)+8>>3]-l,+h[K+(L<<6)>>3]-m);q=+mL(+h[K+(b<<6)+8>>3]-l,+h[K+(b<<6)>>3]-m);r=+hb[d&7](t,B,e);b=(n|0)==0;do if(b|(n|0)==(H|0))if(b){i=k+1.5707963267948966;if(!D){b=0;p=i;j=r;break}b=0;p=i;j=r;l=l-+F(+k)*r;m=m-+E(+k)*r;break}else{i=q+-1.5707963267948966;if(!D){b=0;p=i;j=r;break}b=0;p=i;j=r;l=l-+F(+q)*r;m=m-+E(+q)*r;break}else{p=k-q;p=1.5707963267948966-(p<0.0?p+6.283185307179586:p)*.5;j=+E(+p);j=j==0.0?0.0:r/j;i=k+1.5707963267948966;k=p+i;if(G|j>r*10.0){q=+lL(q+-1.5707963267948966,6.283185307179586);b=1;p=+lL(i,6.283185307179586);j=r;i=q}else{b=0;p=k;i=k}}while(0);h[o>>3]=m;h[z>>3]=l;h[s>>3]=t;a[u>>0]=108;h[v>>3]=i;h[w>>3]=j;c[x>>2]=b;h[y>>3]=p;n=A}o=tH(12)|0;b=0;while(1){if((b|0)>=(I|0))break;m=+h[K+(b<<6)>>3];l=+h[K+(b<<6)+8>>3];i=+h[K+(b<<6)+32>>3];j=+h[K+(b<<6)+40>>3];L=c[K+(b<<6)+48>>2]|0;k=+h[K+(b<<6)+56>>3];nL(o,+E(+i)*j+m,+F(+i)*j+l);if(L|0)oL(m,l,j,1,i,k,f,o);b=b+1|0}n=(g|0)==1;k=i+3.141592653589793;if(n)pL(o,m,l,j,i,k);else{nL(o,+E(+k)*j+m,+F(+k)*j+l);i=k}b=I+-2|0;k=m;while(1){if((b|0)<=-1)break;m=+h[K+(b<<6)>>3];l=+h[K+(b<<6)+8>>3];j=+h[K+(b<<6)+40>>3];L=c[K+(b<<6)+48>>2]|0;i=+h[K+(b<<6)+32>>3]+3.141592653589793;k=+h[K+(b<<6)+56>>3]+3.141592653589793;nL(o,+E(+k)*j+m,+F(+k)*j+l);if(L|0)oL(m,l,j,0,i,k,f,o);b=b+-1|0;k=m}if(n)pL(o,k,l,j,i,i+3.141592653589793);qL(J);return o|0}function kL(a){a=a|0;var b=0.0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0.0;q=l;l=l+144|0;i=q+128|0;h=q+112|0;j=q+96|0;k=q+64|0;m=q;n=q+80|0;o=rL()|0;p=c[a+4>>2]|0;f=c[a>>2]|0;c[i>>2]=c[f>>2];c[i+4>>2]=c[f+4>>2];c[i+8>>2]=c[f+8>>2];c[i+12>>2]=c[f+12>>2];sL(o,i,0.0);g=m+48|0;c[g>>2]=c[f>>2];c[g+4>>2]=c[f+4>>2];c[g+8>>2]=c[f+8>>2];c[g+12>>2]=c[f+12>>2];d=0;b=0.0;a:while(1){e=d+3|0;if((e|0)>=(p|0))break;c[m>>2]=c[g>>2];c[m+4>>2]=c[g+4>>2];c[m+8>>2]=c[g+8>>2];c[m+12>>2]=c[g+12>>2];a=1;while(1){if((a|0)==4)break;r=m+(a<<4)|0;s=f+(a+d<<4)|0;c[r>>2]=c[s>>2];c[r+4>>2]=c[s+4>>2];c[r+8>>2]=c[s+8>>2];c[r+12>>2]=c[s+12>>2];a=a+1|0}c[j>>2]=c[m>>2];c[j+4>>2]=c[m+4>>2];c[j+8>>2]=c[m+8>>2];c[j+12>>2]=c[m+12>>2];a=1;while(1){if((a|0)==21){d=e;continue a}WL(n,m,3,+(a|0)*.05,0,0);c[k>>2]=c[n>>2];c[k+4>>2]=c[n+4>>2];c[k+8>>2]=c[n+8>>2];c[k+12>>2]=c[n+12>>2];c[h>>2]=c[j>>2];c[h+4>>2]=c[j+4>>2];c[h+8>>2]=c[j+8>>2];c[h+12>>2]=c[j+12>>2];c[i>>2]=c[n>>2];c[i+4>>2]=c[n+4>>2];c[i+8>>2]=c[n+8>>2];c[i+12>>2]=c[n+12>>2];t=+tL(h,i)+b;c[i>>2]=c[k>>2];c[i+4>>2]=c[k+4>>2];c[i+8>>2]=c[k+8>>2];c[i+12>>2]=c[k+12>>2];sL(o,i,t);c[j>>2]=c[k>>2];c[j+4>>2]=c[k+4>>2];c[j+8>>2]=c[k+8>>2];c[j+12>>2]=c[k+12>>2];a=a+1|0;b=t}}uL(o);l=q;return o|0}function lL(a,b){a=+a;b=+b;var c=0.0;c=a-+A(+(a/b))*b;return +(!(a<0.0)&!(a>=b)?a:c)}function mL(a,b){a=+a;b=+b;if(!(a==0.0&b==0.0)){a=+K(+a,+b);if(!(a>=0.0))a=a+6.283185307179586}else a=0.0;return +a}function nL(a,b,d){a=a|0;b=+b;d=+d;var e=0,f=0;e=c[a>>2]|0;f=a+4|0;if((e|0)<(c[f>>2]|0))f=c[a+8>>2]|0;else{c[f>>2]=2e3;e=a+8|0;f=wH(c[e>>2]|0,32e3)|0;c[e>>2]=f;e=c[a>>2]|0}c[a>>2]=e+1;h[f+(e<<4)>>3]=b;h[f+(e<<4)+8>>3]=d;return}function oL(a,b,c,d,e,f,g,h){a=+a;b=+b;c=+c;d=d|0;e=+e;f=+f;g=g|0;h=h|0;var i=0.0;d=(d|0)==0;i=d?e:f;do if((g|0)==1){e=(d?f:e)-i;e=!(e<=1.7453292519943296e-03)?e:e+6.283185307179586;if(e<3.141592653589793){pL(h,a,b,c,e+i,i);break}else{nL(h,+E(+i)*c+a,+F(+i)*c+a);break}}else nL(h,+E(+i)*c+a,+F(+i)*c+a);while(0);return}function pL(a,b,c,d,e,f){a=a|0;b=+b;c=+c;d=+d;e=+e;f=+f;var g=0,h=0.0;nL(a,+E(+e)*d+b,+F(+e)*d+c);a:do if(!(d==0.0)){while(1){if(!(f>e))break;f=f+-6.283185307179586}f=e-f;while(1){if(!(f>6.283185307179586))break;f=f+-6.283185307179586}f=f*.05263157894736842;g=1;while(1){if((g|0)==20)break a;h=e-f*+(g|0);nL(a,+E(+h)*d+b,+F(+h)*d+c);g=g+1|0}}while(0);return}function qL(a){a=a|0;C_(c[a>>2]|0);C_(a);return}function rL(){var a=0;a=tH(12)|0;c[a+4>>2]=0;c[a+8>>2]=2e3;c[a>>2]=tH(128e3)|0;return a|0}function sL(a,b,d){a=a|0;b=b|0;d=+d;var e=0,f=0,g=0,i=0;i=a+4|0;e=c[i>>2]|0;f=a+8|0;g=c[f>>2]|0;if((e|0)<(g|0))a=c[a>>2]|0;else{c[f>>2]=g<<1;e=wH(c[a>>2]|0,g<<7)|0;c[a>>2]=e;a=e;e=c[i>>2]|0}h[a+(e<<6)>>3]=+h[b>>3];h[a+(e<<6)+8>>3]=+h[b+8>>3];c[i>>2]=e+1;h[a+(e<<6)+16>>3]=d;return}function tL(a,b){a=a|0;b=b|0;var c=0.0,d=0.0;c=+h[a>>3]-+h[b>>3];d=+h[a+8>>3]-+h[b+8>>3];return +(+C(+(d*d+c*c)))}function uL(a){a=a|0;var b=0;b=c[a+4>>2]|0;if((c[a+8>>2]|0)>(b|0))c[a>>2]=wH(c[a>>2]|0,b<<6)|0;return}function vL(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0;k=l;l=l+16|0;j=k+8|0;i=k;g=k+12|0;c[g>>2]=0;h=c[d+4>>2]|0;if(!h)qa(103632,103643,203,103654);e=c[h>>2]|0;if(!e)qa(103668,103643,206,103654);f=h+8|0;if(!(c[f>>2]|0))c[f>>2]=wL(e)|0;if(!0)e=0;else{e=(zG(c[h>>2]|0)|0)==0;e=e?0:g}if(!((NP(b,d,e)|0)<<24>>24))xL(d,e);do if(e|0){f=c[g>>2]|0;b=c[15686]|0;e=c[h>>2]|0;if(!f){c[j>>2]=e;f1(b,103711,j)|0;break}else{c[i>>2]=e;c[i+4>>2]=f;f1(b,103679,i)|0;break}}while(0);j=d+32|0;c[a>>2]=c[j>>2];c[a+4>>2]=c[j+4>>2];c[a+8>>2]=c[j+8>>2];c[a+12>>2]=c[j+12>>2];l=k;return}function wL(a){a=a|0;var b=0;b=c[46531]|0;if((b|0)!=0?(N$(b,a)|0)==0:0)a=c[46540]|0;else{C_(b);c[46531]=m1(a)|0;a=d2(186124,22228,35,36,93)|0;c[46540]=a}return a|0}function xL(b,d){b=b|0;d=d|0;var e=0,f=0.0,g=0,i=0.0,j=0,k=0.0;j=c[b+4>>2]|0;e=c[j>>2]|0;i=+h[j+16>>3];j=b+32|0;h[j>>3]=0.0;h[b+40>>3]=i*1.2;h[b+16>>3]=0.0;h[b+24>>3]=i*.1;c[b+8>>2]=0;c[b+12>>2]=0;if(U$(e,103745,4)|0)if((U$(e,103750,5)|0)!=0?(U$(e,103756,9)|0)!=0:0){g=4248;e=103766}else{g=8344;e=103802}else{g=6296;e=103783}if(d|0)c[d>>2]=e;e=c[b>>2]|0;if(e|0){f=0.0;while(1){b=a[e>>0]|0;if(!(b<<24>>24))break;k=f+ +h[g+((b&255)<<3)>>3];h[j>>3]=k;e=e+1|0;f=k}h[j>>3]=f*i}return}function yL(a,b){a=a|0;b=b|0;return N$(c[a>>2]|0,c[b>>2]|0)|0}function zL(a){a=a|0;var b=0;b=a+108|0;c[b>>2]=0;c[a+112>>2]=32;c[a+116>>2]=-1;c[a+120>>2]=30;c[a+124>>2]=63;c[a+128>>2]=55;c[a+132>>2]=0;c[a+136>>2]=0;c[a+140>>2]=0;b=Bw(b,c[4555]|0)|0;c[a+144>>2]=b;return b|0}function AL(a,b,d){a=a|0;b=b|0;d=d|0;d=D_(1,32)|0;a=c[b>>2]|0;if(a|0)c[d>>2]=m1(a)|0;a=c[b+4>>2]|0;if(a|0)c[d+4>>2]=m1(a)|0;c[d+24>>2]=c[b+24>>2]&127;h[d+16>>3]=+h[b+16>>3];c[d+8>>2]=c[b+8>>2];return d|0}function BL(a,b,d){a=a|0;b=b|0;d=d|0;C_(c[b>>2]|0);C_(c[b+4>>2]|0);C_(b);return}function CL(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0.0,g=0.0,i=0,j=0;a=c[b>>2]|0;e=c[d>>2]|0;i=(e|0)==0;if(!a)if(i)j=5;else a=-1;else if(!i){a=a$(a,e)|0;if(!a)j=5}else a=1;do if((j|0)==5){a=c[b+4>>2]|0;e=c[d+4>>2]|0;i=(e|0)==0;if(!a){if(!i){a=-1;break}}else{if(i){a=1;break}a=a$(a,e)|0;if(a|0)break}a=(c[b+24>>2]&127)-(c[d+24>>2]&127)|0;if(!a){g=+h[b+16>>3];f=+h[d+16>>3];if(gf&1}}while(0);return a|0}function DL(){eb(186164)|0;return}function EL(){var a=0,b=0;b=l;l=l+16|0;a=b;eb(a|0)|0;l=b;return +(+((c[a+4>>2]|0)+(c[a>>2]|0)-(c[46541]|0)-(c[46542]|0)|0)*.016666666666666666)}function FL(a){a=a|0;var b=0,d=0;b=tH(16)|0;a=(a|0)>2?a:2;d=tH(a<<2)|0;c[b>>2]=d;c[b+12>>2]=d;c[b+8>>2]=d;c[b+4>>2]=d+(a<<2);return b|0}function GL(a){a=a|0;C_(c[a>>2]|0);C_(a);return}function HL(a,b){a=a|0;b=b|0;var d=0,e=0;d=a+12|0;e=c[d>>2]|0;c[d>>2]=e+4;c[e>>2]=b;if((c[d>>2]|0)>>>0>=(c[a+4>>2]|0)>>>0)c[d>>2]=c[a>>2];return}function IL(a){a=a|0;var b=0,d=0,e=0;d=a+8|0;b=c[d>>2]|0;if((b|0)!=(c[a+12>>2]|0)){e=b+4|0;c[d>>2]=e;b=c[b>>2]|0;if(e>>>0>=(c[a+4>>2]|0)>>>0)c[d>>2]=c[a>>2]}else b=0;return b|0}function JL(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0;i=l;l=l+16|0;g=i;if(((d|0)!=0?(h=xx(b,d)|0,(h|0)!=0):0)?(a[h>>0]|0)!=0:0){d=h1(h,g,10)|0;e=(h|0)==(c[g>>2]|0)?e:(d|0)<(f|0)?f:d}l=i;return e|0}function KL(b,d,e,f){b=b|0;d=d|0;e=+e;f=+f;var g=0,h=0,i=0,j=0.0;i=l;l=l+16|0;g=i;if(((b|0)!=0&(d|0)!=0?(h=xx(b,d)|0,(h|0)!=0):0)?(a[h>>0]|0)!=0:0){j=+b2(h,g);e=(h|0)==(c[g>>2]|0)?e:j0.0)){b=+KL(a,mx(a,0,104612,0)|0,-1.0,0.0);b=b==0.0?72.0:b}return +b}function ML(a,b,c){a=a|0;b=b|0;c=c|0;if((a|0)!=0&(b|0)!=0)c=xx(a,b)|0;return c|0}function NL(b,c,d){b=b|0;c=c|0;d=d|0;b=ML(b,c,d)|0;if((b|0)!=0?(a[b>>0]|0)!=0:0)d=b;return d|0}function OL(a,b,c){a=a|0;b=b|0;c=c|0;if(!b)a=c&255;else a=PL(xx(a,b)|0)|0;return a|0}function PL(a){a=a|0;return QL(a,0)|0}function QL(b,c){b=b|0;c=c|0;var d=0;if((b|0)!=0?(d=a[b>>0]|0,d<<24>>24!=0):0)if((N$(b,134226)|0)!=0?(N$(b,104623)|0)!=0:0)if((N$(b,104626)|0)!=0?(N$(b,104631)|0)!=0:0){if(((d<<24>>24)+-48|0)>>>0<10)c=($1(b)|0)&255}else c=1;else c=0;return c|0}function RL(a){a=a|0;var b=0,d=0;while(1){b=(c[a+16>>2]|0)+220|0;d=c[b>>2]|0;if(!((d|0)!=(a|0)&(d|0)!=0))break;a=c[(c[d+16>>2]|0)+220>>2]|0;if(!a){a=d;continue}c[b>>2]=a}return a|0}function SL(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;if((a|0)!=(b|0)){d=c[a+16>>2]|0;e=d+220|0;if(!(c[e>>2]|0)){c[e>>2]=a;c[d+216>>2]=1}else a=RL(a)|0;d=c[b+16>>2]|0;e=d+220|0;if(!(c[e>>2]|0)){c[e>>2]=b;c[d+216>>2]=1}else{d=RL(b)|0;b=d;d=c[d+16>>2]|0}g=a+16|0;e=c[g>>2]|0;f=b+16|0;h=(c[e+120>>2]|0)>(c[d+120>>2]|0);a=h?b:a;c[(h?e:d)+220>>2]=a;e=(c[(h?f:g)>>2]|0)+216|0;c[e>>2]=(c[e>>2]|0)+(c[(c[(h?g:f)>>2]|0)+216>>2]|0)}return a|0}function TL(b){b=b|0;b=c[b+16>>2]|0;c[b+216>>2]=1;c[b+220>>2]=0;a[b+159>>0]=0;return}function UL(a,b){a=a|0;b=b|0;if((RL(a)|0)==(a|0)){a=c[a+16>>2]|0;c[a+220>>2]=b;b=(c[b+16>>2]|0)+216|0;c[b>>2]=(c[b>>2]|0)+(c[a+216>>2]|0);return}else qa(104643,104635,194,104659)}function VL(a,b){a=a|0;b=b|0;var d=0.0;b=c[(c[b+16>>2]|0)+132>>2]|0;d=+h[b+8>>3]*72.0;h[a>>3]=+h[b>>3]*72.0;h[a+8>>3]=d;return}function WL(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=+e;f=f|0;g=g|0;var i=0,j=0,k=0,m=0.0,n=0,o=0,p=0;o=l;l=l+576|0;n=o;i=0;while(1){if((i|0)>(d|0))break;k=n+(i<<4)|0;j=b+(i<<4)|0;c[k>>2]=c[j>>2];c[k+4>>2]=c[j+4>>2];c[k+8>>2]=c[j+8>>2];c[k+12>>2]=c[j+12>>2];i=i+1|0}m=1.0-e;i=1;while(1){if((i|0)>(d|0))break;j=d-i|0;k=i+-1|0;b=0;while(1){if((b|0)>(j|0))break;p=b+1|0;h[n+(i*96|0)+(b<<4)>>3]=+h[n+(k*96|0)+(p<<4)>>3]*e+ +h[n+(k*96|0)+(b<<4)>>3]*m;h[n+(i*96|0)+(b<<4)+8>>3]=+h[n+(k*96|0)+(p<<4)+8>>3]*e+ +h[n+(k*96|0)+(b<<4)+8>>3]*m;b=p}i=i+1|0}a:do if(f|0){i=0;while(1){if((i|0)>(d|0))break a;p=f+(i<<4)|0;k=n+(i*96|0)|0;c[p>>2]=c[k>>2];c[p+4>>2]=c[k+4>>2];c[p+8>>2]=c[k+8>>2];c[p+12>>2]=c[k+12>>2];i=i+1|0}}while(0);b:do if(g|0){i=0;while(1){if((i|0)>(d|0))break b;p=g+(i<<4)|0;f=n+((d-i|0)*96|0)+(i<<4)|0;c[p>>2]=c[f>>2];c[p+4>>2]=c[f+4>>2];c[p+8>>2]=c[f+8>>2];c[p+12>>2]=c[f+12>>2];i=i+1|0}}while(0);p=n+(d*96|0)|0;c[a>>2]=c[p>>2];c[a+4>>2]=c[p+4>>2];c[a+8>>2]=c[p+8>>2];c[a+12>>2]=c[p+12>>2];l=o;return}function XL(b){b=b|0;var d=0,e=0,f=0,g=0;e=0;do{d=c[46545]|0;f=d+1024|0;if((d-e|0)<1024){c[46545]=f;f=wH(c[46546]|0,f)|0;c[46546]=f;d=c[46545]|0}else f=c[46546]|0;d=N0(f+e|0,d-e|0,b)|0;if(!d){g=6;break}e=(V_(d)|0)+e|0;d=c[46546]|0}while((a[d+(e+-1)>>0]|0)!=10);if((g|0)==6)d=c[46546]|0;return ((e|0)>0?d:0)|0}function YL(b){b=b|0;var d=0,e=0,f=0;f=l;l=l+16|0;do if((b|0)!=0?(a[b>>0]|0)!=0:0)if(!0){d=c[46362]|0;e=c[46548]|0;if((c[46547]|0)==(d|0))d=e;else{if(e){C_(c[e>>2]|0);C_(c[46548]|0);c[46548]=0;d=c[46362]|0}c[46547]=d;if(!d)break;if(!(a[d>>0]|0))break;d=ZL(d)|0;c[46548]=d}if(!((a[b>>0]|0)!=47&(d|0)!=0))break;b=_L(d,c[46549]|0,b)|0;break}else S();else b=0;while(0);l=f;return b|0}function ZL(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;e=0;f=0;g=0;b=m1(a)|0;d=0;while(1){b=j1(b,104958)|0;if(!b)break;a=(g<<2)+8|0;if(!f)a=uH(a)|0;else a=wH(d,a)|0;c[a+(g<<2)>>2]=b;f=V_(b)|0;e=e>>>0>f>>>0?e:f;f=a;g=g+1|0;b=0;d=a}c[f+(g<<2)>>2]=0;c[46549]=e;return f|0}function _L(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;g=l;l=l+16|0;e=g;h=c[46550]|0;c[46550]=E_(h,b+2+(V_(d)|0)|0)|0;while(1){b=c[a>>2]|0;if(!b){a=0;break}h=c[46550]|0;c[e>>2]=b;c[e+4>>2]=104956;c[e+8>>2]=d;X0(h,104949,e)|0;if(!(J1(c[46550]|0,4)|0)){f=4;break}else a=a+4|0}if((f|0)==4)a=c[46550]|0;l=g;return a|0}function $L(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0;g=(b|0)==0;f=0;while(1){h=c[d+(f<<2)>>2]|0;if(!h)break;if((!g?(a[b>>0]|0)==(a[h>>0]|0):0)?(a$(b,h)|0)==0:0)break;f=f+1|0}return c[e+(f<<2)>>2]|0}function aM(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0.0,i=0.0,j=0.0,k=0.0,m=0.0,n=0.0,o=0.0,p=0.0,q=0.0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,C=0;z=l;l=l+80|0;x=z+16|0;y=z;u=c[b+4>>2]|0;v=c[b>>2]|0;w=d+8|0;f=0;e=-1;g=1.e+38;b=-1;while(1){if((f|0)>=(u|0))break;s=c[v+(f*48|0)>>2]|0;t=c[v+(f*48|0)+4>>2]|0;r=0;while(1){if((r|0)>=(t|0))break;q=+h[s+(r<<4)>>3]-+h[d>>3];p=+h[s+(r<<4)+8>>3]-+h[w>>3];q=p*p+q*q;A=(e|0)==-1|q>2]|0;e=e+(((e|0)==((c[v+(b*48|0)+4>>2]|0)+-1|0))<<31>>31)|0;e=e-((e|0)%3|0)|0;b=0;while(1){if((b|0)==4)break;C=b+e|0;h[x+(b<<4)>>3]=+h[f+(C<<4)>>3];h[x+(b<<4)+8>>3]=+h[f+(C<<4)+8>>3];b=b+1|0}q=+h[d>>3];k=+h[x>>3]-q;o=+h[w>>3];p=+h[x+8>>3]-o;j=+h[x+48>>3]-q;n=+h[x+56>>3]-o;b=y+8|0;g=1.0;i=0.0;j=n*n+j*j;k=p*p+k*k;while(1){p=(g+i)*.5;WL(y,x,3,p,0,0);m=+h[y>>3];n=+h[b>>3];if(+B(+(k-j))<1.0)break;if(+B(+(g-i))<1.0e-05)break;C=k>3]=m;h[a+8>>3]=n;l=z;return}function bM(){return 0}function cM(b){b=b|0;var d=0.0,e=0,f=0,g=0,i=0,j=0,k=0,l=0;d=+KL(b,c[46376]|0,.75,.01);g=b+16|0;h[(c[g>>2]|0)+32>>3]=d;d=+KL(b,c[46375]|0,.5,.02);h[(c[g>>2]|0)+40>>3]=d;l=VJ(NL(b,c[46377]|0,104960)|0,b)|0;c[(c[g>>2]|0)+8>>2]=l;l=xx(b,c[46384]|0)|0;d=+KL(b,c[46380]|0,14.0,1.0);e=NL(b,c[46381]|0,104968)|0;f=NL(b,c[46382]|0,134232)|0;i=(Qz(l)|0)!=0;k=(GJ(b)|0)==2;i=jH(b,l,(k?4:0)|(i?2:0),d,e,f)|0;c[(c[g>>2]|0)+104>>2]=i;i=c[46385]|0;if((i|0?(j=xx(b,i)|0,j|0):0)?a[j>>0]|0:0){l=(Qz(j)|0)!=0;l=jH(b,j,l?2:0,d,e,f)|0;c[(c[g>>2]|0)+108>>2]=l;l=(c[(dz(b)|0)+16>>2]|0)+113|0;a[l>>0]=a[l>>0]|16}k=(JL(b,c[46388]|0,0,0)|0)&255;l=c[g>>2]|0;a[l+144>>0]=k;tb[c[c[(c[l+8>>2]|0)+4>>2]>>2]&127](b);return}function dM(b){b=b|0;var d=0,e=0,f=0,g=0,i=0.0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0;v=l;l=l+112|0;m=v+96|0;n=v+80|0;s=v+40|0;u=v;r=b+48|0;p=dz(c[((c[b>>2]&3|0)==3?b:r)+40>>2]|0)|0;g=m+8|0;c[g>>2]=0;o=n+8|0;c[o>>2]=0;d=c[46412]|0;if(((d|0)!=0?(e=xx(b,d)|0,(e|0)!=0):0)?(a[e>>0]|0)!=0:0){eM(b,m);t=(Qz(e)|0)!=0;i=+h[m>>3];f=c[g>>2]|0;d=c[m+12>>2]|0;e=jH(b,e,t?2:0,i,f,d)|0;t=b+16|0;c[(c[t>>2]|0)+96>>2]=e;e=(c[p+16>>2]|0)+113|0;a[e>>0]=a[e>>0]|1;e=PL(ML(b,c[46422]|0,134226)|0)|0;a[(c[t>>2]|0)+114>>0]=e;t=1;e=f}else{t=0;d=0;i=0.0;e=0}f=c[46413]|0;if((f|0?(j=xx(b,f)|0,j|0):0)?a[j>>0]|0:0){if(!e){eM(b,m);i=+h[m>>3];e=c[g>>2]|0;d=c[m+12>>2]|0}g=(Qz(j)|0)!=0;j=jH(b,j,g?2:0,i,e,d)|0;c[(c[b+16>>2]|0)+108>>2]=j;j=(c[p+16>>2]|0)+113|0;a[j>>0]=a[j>>0]|32}d=c[46427]|0;if(((d|0)!=0?(k=xx(b,d)|0,(k|0)!=0):0)?(a[k>>0]|0)!=0:0){fM(b,m,n);j=(Qz(k)|0)!=0;i=+h[n>>3];d=c[o>>2]|0;e=c[n+12>>2]|0;k=jH(b,k,j?2:0,i,d,e)|0;c[(c[b+16>>2]|0)+100>>2]=k;k=(c[p+16>>2]|0)+113|0;a[k>>0]=a[k>>0]|2}else{e=0;i=0.0;d=0}f=c[46428]|0;if((f|0?(q=xx(b,f)|0,q|0):0)?a[q>>0]|0:0){if(!d){fM(b,m,n);e=c[n+12>>2]|0;i=+h[n>>3];d=c[o>>2]|0}o=(Qz(q)|0)!=0;q=jH(b,q,o?2:0,i,d,e)|0;c[(c[b+16>>2]|0)+104>>2]=q;q=(c[p+16>>2]|0)+113|0;a[q>>0]=a[q>>0]|4}d=wx(b,108373)|0;d=d|0?d:191979;if(a[d>>0]|0)a[(c[(c[((c[b>>2]&3|0)==3?b:r)+40>>2]|0)+16>>2]|0)+145>>0]=1;g=b+16|0;f=(c[g>>2]|0)+16|0;e=c[((c[b>>2]&3|0)==3?b:r)+40>>2]|0;gM(s,c[(c[(c[(c[e+16>>2]|0)+8>>2]|0)+4>>2]|0)+8>>2]|0,e,d);d=s;e=f+40|0;do{c[f>>2]=c[d>>2];f=f+4|0;d=d+4|0}while((f|0)<(e|0));if((hM(b,c[46434]|0)|0)<<24>>24)a[(c[g>>2]|0)+46>>0]=0;d=wx(b,108382)|0;d=d|0?d:191979;if(!(a[d>>0]|0))e=b+-48|0;else{e=b+-48|0;a[(c[(c[((c[b>>2]&3|0)==2?b:e)+40>>2]|0)+16>>2]|0)+145>>0]=1}f=(c[g>>2]|0)+56|0;e=c[((c[b>>2]&3|0)==2?b:e)+40>>2]|0;gM(u,c[(c[(c[(c[e+16>>2]|0)+8>>2]|0)+4>>2]|0)+8>>2]|0,e,d);d=u;e=f+40|0;do{c[f>>2]=c[d>>2];f=f+4|0;d=d+4|0}while((f|0)<(e|0));if((hM(b,c[46435]|0)|0)<<24>>24)a[(c[g>>2]|0)+86>>0]=0;l=v;return t|0}function eM(a,b){a=a|0;b=b|0;h[b>>3]=+KL(a,c[46409]|0,14.0,1.0);c[b+8>>2]=NL(a,c[46410]|0,104968)|0;c[b+12>>2]=NL(a,c[46411]|0,134232)|0;return}function fM(a,b,d){a=a|0;b=b|0;d=d|0;var e=0;e=b+8|0;if(!(c[e>>2]|0))eM(a,b);h[d>>3]=+KL(a,c[46429]|0,+h[b>>3],1.0);c[d+8>>2]=NL(a,c[46430]|0,c[e>>2]|0)|0;c[d+12>>2]=NL(a,c[46431]|0,c[b+12>>2]|0)|0;return}function gM(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,m=0;m=l;l=l+128|0;k=m+80|0;h=m+40|0;g=m;if((f|0)!=0?(j=z$(f,58)|0,(j|0)!=0):0){a[j>>0]=0;i=j+1|0;xb[d&31](h,e,f,i);e=k;g=h;d=e+36|0;do{c[e>>2]=c[g>>2];e=e+4|0;g=g+4|0}while((e|0)<(d|0));a[j>>0]=58;f=i}else{xb[d&31](g,e,f,0);e=k;d=e+36|0;do{c[e>>2]=c[g>>2];e=e+4|0;g=g+4|0}while((e|0)<(d|0))}e=b;g=k;d=e+36|0;do{c[e>>2]=c[g>>2];e=e+4|0;g=g+4|0}while((e|0)<(d|0));c[b+36>>2]=f;l=m;return}function hM(b,c){b=b|0;c=c|0;var d=0;if(((c|0)!=0?(d=xx(b,c)|0,(d|0)!=0):0)?(a[d>>0]|0)!=0:0)b=(PL(d)|0)<<24>>24==0&1;else b=0;return b|0}function iM(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,i=0,j=0,k=0,m=0,n=0.0,o=0.0;k=l;l=l+32|0;i=k;j=c[b+8>>2]|0;d=c[b+4>>2]|0;d=(c[b+44>>2]|0)+((O((d|0)>1?d+-1|0:0,j)|0)<<4)|0;e=i+16|0;c[e>>2]=c[d>>2];c[e+4>>2]=c[d+4>>2];c[e+8>>2]=c[d+8>>2];c[e+12>>2]=c[d+12>>2];c[i>>2]=c[d>>2];c[i+4>>2]=c[d+4>>2];c[i+8>>2]=c[d+8>>2];c[i+12>>2]=c[d+12>>2];f=i+8|0;g=i+24|0;b=1;while(1){if((b|0)>=(j|0))break;m=d+(b<<4)|0;o=+h[m>>3];h[i>>3]=+h[(+h[i>>3]>3];n=+h[m+8>>3];h[f>>3]=+h[(+h[f>>3]>3];h[e>>3]=+h[(+h[e>>3]>o?e:m)>>3];h[g>>3]=+h[(+h[g>>3]>n?e:m)+8>>3];b=b+1|0}c[a>>2]=c[i>>2];c[a+4>>2]=c[i+4>>2];c[a+8>>2]=c[i+8>>2];c[a+12>>2]=c[i+12>>2];c[a+16>>2]=c[i+16>>2];c[a+20>>2]=c[i+20>>2];c[a+24>>2]=c[i+24>>2];c[a+28>>2]=c[i+28>>2];l=k;return}function jM(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;d=l;l=l+64|0;g=d+32|0;e=d;f=c[a+16>>2]|0;a=f+16|0;f=c[f+116>>2]&1;c[g>>2]=c[a>>2];c[g+4>>2]=c[a+4>>2];c[g+8>>2]=c[a+8>>2];c[g+12>>2]=c[a+12>>2];c[g+16>>2]=c[a+16>>2];c[g+20>>2]=c[a+20>>2];c[g+24>>2]=c[a+24>>2];c[g+28>>2]=c[a+28>>2];kM(e,g,b,f);c[a>>2]=c[e>>2];c[a+4>>2]=c[e+4>>2];c[a+8>>2]=c[e+8>>2];c[a+12>>2]=c[e+12>>2];c[a+16>>2]=c[e+16>>2];c[a+20>>2]=c[e+20>>2];c[a+24>>2]=c[e+24>>2];c[a+28>>2]=c[e+28>>2];l=d;return}function kM(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0.0,g=0.0,i=0.0,j=0,k=0.0,l=0.0,m=0.0;g=+h[d+56>>3];l=+h[d+64>>3];j=e<<24>>24==0;k=+h[d+24>>3];i=+h[d+32>>3];m=(j?k:i)*.5;f=g-m;g=m+g;if(f<+h[b>>3])h[b>>3]=f;e=b+16|0;if(g>+h[e>>3])h[e>>3]=g;g=(j?i:k)*.5;f=l-g;g=g+l;e=b+8|0;if(f<+h[e>>3])h[e>>3]=f;e=b+24|0;if(g>+h[e>>3])h[e>>3]=g;c[a>>2]=c[b>>2];c[a+4>>2]=c[b+4>>2];c[a+8>>2]=c[b+8>>2];c[a+12>>2]=c[b+12>>2];c[a+16>>2]=c[b+16>>2];c[a+20>>2]=c[b+20>>2];c[a+24>>2]=c[b+24>>2];c[a+28>>2]=c[b+28>>2];return}function lM(b){b=b|0;var d=0,e=0,f=0,g=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0.0,N=0.0,O=0.0,P=0.0;L=l;l=l+448|0;H=L+416|0;t=L+384|0;u=L+304|0;K=L+256|0;G=L+192|0;B=L+144|0;C=L+96|0;d=L+400|0;e=L+368|0;f=L+352|0;g=L+336|0;v=L+288|0;w=L+224|0;x=L+160|0;y=L+112|0;z=L+64|0;A=L+32|0;I=L;J=b+16|0;if(($x(b)|0)==0?(c[(c[J>>2]|0)+180>>2]|0)==0:0){mM(d,0.0,0.0);c[K>>2]=c[d>>2];c[K+4>>2]=c[d+4>>2];c[K+8>>2]=c[d+8>>2];c[K+12>>2]=c[d+12>>2];K=K+16|0;mM(e,0.0,0.0);c[K>>2]=c[e>>2];c[K+4>>2]=c[e+4>>2];c[K+8>>2]=c[e+8>>2];c[K+12>>2]=c[e+12>>2]}else{mM(f,2147483647.0,2147483647.0);c[K>>2]=c[f>>2];c[K+4>>2]=c[f+4>>2];c[K+8>>2]=c[f+8>>2];c[K+12>>2]=c[f+12>>2];F=K+16|0;mM(g,-2147483647.0,-2147483647.0);c[F>>2]=c[g>>2];c[F+4>>2]=c[g+4>>2];c[F+8>>2]=c[g+8>>2];c[F+12>>2]=c[g+12>>2];o=C+8|0;p=u+16|0;D=K+8|0;q=u+8|0;E=K+24|0;r=u+24|0;s=B+8|0;n=Ry(b)|0;while(1){if(!n)break;VL(B,n);d=n+16|0;m=c[d>>2]|0;h[C>>3]=(+h[m+96>>3]+ +h[m+88>>3])*.5;h[o>>3]=+h[m+80>>3]*.5;c[t>>2]=c[B>>2];c[t+4>>2]=c[B+4>>2];c[t+8>>2]=c[B+8>>2];c[t+12>>2]=c[B+12>>2];c[H>>2]=c[C>>2];c[H+4>>2]=c[C+4>>2];c[H+8>>2]=c[C+8>>2];c[H+12>>2]=c[C+12>>2];nM(u,t,H);c[t>>2]=c[B>>2];c[t+4>>2]=c[B+4>>2];c[t+8>>2]=c[B+8>>2];c[t+12>>2]=c[B+12>>2];c[H>>2]=c[C>>2];c[H+4>>2]=c[C+4>>2];c[H+8>>2]=c[C+8>>2];c[H+12>>2]=c[C+12>>2];oM(v,t,H);c[p>>2]=c[v>>2];c[p+4>>2]=c[v+4>>2];c[p+8>>2]=c[v+8>>2];c[p+12>>2]=c[v+12>>2];h[K>>3]=+h[(+h[K>>3]<+h[u>>3]?K:u)>>3];h[D>>3]=+h[(+h[D>>3]<+h[q>>3]?K:u)+8>>3];h[F>>3]=+h[(+h[F>>3]>+h[p>>3]?K:u)+16>>3];h[E>>3]=+h[(+h[E>>3]>+h[r>>3]?K:u)+24>>3];d=c[(c[d>>2]|0)+108>>2]|0;if(d|0?a[d+81>>0]|0:0){m=c[(c[J>>2]|0)+116>>2]&1;c[H>>2]=c[K>>2];c[H+4>>2]=c[K+4>>2];c[H+8>>2]=c[K+8>>2];c[H+12>>2]=c[K+12>>2];c[H+16>>2]=c[K+16>>2];c[H+20>>2]=c[K+20>>2];c[H+24>>2]=c[K+24>>2];c[H+28>>2]=c[K+28>>2];kM(w,H,d,m);c[K>>2]=c[w>>2];c[K+4>>2]=c[w+4>>2];c[K+8>>2]=c[w+8>>2];c[K+12>>2]=c[w+12>>2];c[K+16>>2]=c[w+16>>2];c[K+20>>2]=c[w+20>>2];c[K+24>>2]=c[w+24>>2];c[K+28>>2]=c[w+28>>2]}m=Dx(b,n)|0;while(1){if(!m)break;k=m+16|0;d=c[k>>2]|0;j=d+8|0;e=c[j>>2]|0;if(e|0){i=0;while(1){if((i|0)<(c[e+4>>2]|0))g=0;else break;while(1){f=c[e>>2]|0;if((g|0)>=(c[f+(i*48|0)+4>>2]|0))break;e=(c[f+(i*48|0)>>2]|0)+(g<<4)|0;c[B>>2]=c[e>>2];c[B+4>>2]=c[e+4>>2];c[B+8>>2]=c[e+8>>2];c[B+12>>2]=c[e+12>>2];N=+h[B>>3];h[K>>3]=+h[(+h[K>>3]>3];M=+h[s>>3];h[D>>3]=+h[(+h[D>>3]>3];h[F>>3]=+h[(+h[F>>3]>N?F:B)>>3];h[E>>3]=+h[(+h[E>>3]>M?F:B)+8>>3];g=g+1|0;e=c[j>>2]|0}i=i+1|0}e=c[d+96>>2]|0;if((e|0)!=0?(a[e+81>>0]|0)!=0:0){d=c[(c[J>>2]|0)+116>>2]&1;c[H>>2]=c[K>>2];c[H+4>>2]=c[K+4>>2];c[H+8>>2]=c[K+8>>2];c[H+12>>2]=c[K+12>>2];c[H+16>>2]=c[K+16>>2];c[H+20>>2]=c[K+20>>2];c[H+24>>2]=c[K+24>>2];c[H+28>>2]=c[K+28>>2];kM(x,H,e,d);c[K>>2]=c[x>>2];c[K+4>>2]=c[x+4>>2];c[K+8>>2]=c[x+8>>2];c[K+12>>2]=c[x+12>>2];c[K+16>>2]=c[x+16>>2];c[K+20>>2]=c[x+20>>2];c[K+24>>2]=c[x+24>>2];c[K+28>>2]=c[x+28>>2];d=c[k>>2]|0}e=c[d+100>>2]|0;if((e|0)!=0?(a[e+81>>0]|0)!=0:0){d=c[(c[J>>2]|0)+116>>2]&1;c[H>>2]=c[K>>2];c[H+4>>2]=c[K+4>>2];c[H+8>>2]=c[K+8>>2];c[H+12>>2]=c[K+12>>2];c[H+16>>2]=c[K+16>>2];c[H+20>>2]=c[K+20>>2];c[H+24>>2]=c[K+24>>2];c[H+28>>2]=c[K+28>>2];kM(y,H,e,d);c[K>>2]=c[y>>2];c[K+4>>2]=c[y+4>>2];c[K+8>>2]=c[y+8>>2];c[K+12>>2]=c[y+12>>2];c[K+16>>2]=c[y+16>>2];c[K+20>>2]=c[y+20>>2];c[K+24>>2]=c[y+24>>2];c[K+28>>2]=c[y+28>>2];d=c[k>>2]|0}e=c[d+104>>2]|0;if((e|0)!=0?(a[e+81>>0]|0)!=0:0){d=c[(c[J>>2]|0)+116>>2]&1;c[H>>2]=c[K>>2];c[H+4>>2]=c[K+4>>2];c[H+8>>2]=c[K+8>>2];c[H+12>>2]=c[K+12>>2];c[H+16>>2]=c[K+16>>2];c[H+20>>2]=c[K+20>>2];c[H+24>>2]=c[K+24>>2];c[H+28>>2]=c[K+28>>2];kM(z,H,e,d);c[K>>2]=c[z>>2];c[K+4>>2]=c[z+4>>2];c[K+8>>2]=c[z+8>>2];c[K+12>>2]=c[z+12>>2];c[K+16>>2]=c[z+16>>2];c[K+20>>2]=c[z+20>>2];c[K+24>>2]=c[z+24>>2];c[K+28>>2]=c[z+28>>2];d=c[k>>2]|0}d=c[d+108>>2]|0;if(d|0?a[d+81>>0]|0:0){k=c[(c[J>>2]|0)+116>>2]&1;c[H>>2]=c[K>>2];c[H+4>>2]=c[K+4>>2];c[H+8>>2]=c[K+8>>2];c[H+12>>2]=c[K+12>>2];c[H+16>>2]=c[K+16>>2];c[H+20>>2]=c[K+20>>2];c[H+24>>2]=c[K+24>>2];c[H+28>>2]=c[K+28>>2];kM(A,H,d,k);c[K>>2]=c[A>>2];c[K+4>>2]=c[A+4>>2];c[K+8>>2]=c[A+8>>2];c[K+12>>2]=c[A+12>>2];c[K+16>>2]=c[A+16>>2];c[K+20>>2]=c[A+20>>2];c[K+24>>2]=c[A+24>>2];c[K+28>>2]=c[A+28>>2]}}m=Fx(b,m)|0}n=Sy(b,n)|0}d=c[J>>2]|0;f=c[d+180>>2]|0;g=d+184|0;i=G+8|0;j=G+16|0;k=G+24|0;e=1;while(1){if((e|0)>(f|0))break;P=+h[(c[(c[(c[g>>2]|0)+(e<<2)>>2]|0)+16>>2]|0)+16>>3];h[G>>3]=P;C=c[(c[(c[g>>2]|0)+(e<<2)>>2]|0)+16>>2]|0;O=+h[C+24>>3];h[i>>3]=O;M=+h[C+32>>3];h[j>>3]=M;N=+h[C+40>>3];h[k>>3]=N;h[K>>3]=+h[(+h[K>>3]>3];h[D>>3]=+h[(+h[D>>3]>3];h[F>>3]=+h[(+h[F>>3]>M?K:G)+16>>3];h[E>>3]=+h[(+h[E>>3]>N?K:G)+24>>3];e=e+1|0}e=c[d+12>>2]|0;if((e|0)!=0?(a[e+81>>0]|0)!=0:0){d=c[d+116>>2]&1;c[H>>2]=c[K>>2];c[H+4>>2]=c[K+4>>2];c[H+8>>2]=c[K+8>>2];c[H+12>>2]=c[K+12>>2];c[H+16>>2]=c[K+16>>2];c[H+20>>2]=c[K+20>>2];c[H+24>>2]=c[K+24>>2];c[H+28>>2]=c[K+28>>2];kM(I,H,e,d);c[K>>2]=c[I>>2];c[K+4>>2]=c[I+4>>2];c[K+8>>2]=c[I+8>>2];c[K+12>>2]=c[I+12>>2];c[K+16>>2]=c[I+16>>2];c[K+20>>2]=c[I+20>>2];c[K+24>>2]=c[I+24>>2];c[K+28>>2]=c[I+28>>2];d=c[J>>2]|0}J=d+16|0;c[J>>2]=c[K>>2];c[J+4>>2]=c[K+4>>2];c[J+8>>2]=c[K+8>>2];c[J+12>>2]=c[K+12>>2];c[J+16>>2]=c[K+16>>2];c[J+20>>2]=c[K+20>>2];c[J+24>>2]=c[K+24>>2];c[J+28>>2]=c[K+28>>2]}l=L;return}function mM(a,b,c){a=a|0;b=+b;c=+c;h[a>>3]=b;h[a+8>>3]=c;return}function nM(a,b,c){a=a|0;b=b|0;c=c|0;var d=0.0;d=+h[b+8>>3]-+h[c+8>>3];h[a>>3]=+h[b>>3]-+h[c>>3];h[a+8>>3]=d;return}function oM(a,b,c){a=a|0;b=b|0;c=c|0;var d=0.0;d=+h[c+8>>3]+ +h[b+8>>3];h[a>>3]=+h[c>>3]+ +h[b>>3];h[a+8>>3]=d;return}function pM(a){a=a|0;if((c[a+60>>2]|0)==(a|0))a=1;else a=(U$(qy(a)|0,104980,7)|0)==0&1;return a|0}function qM(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;a:do if(!e)switch(oz(b)|0){case 0:{e=mx(a,0,c,191979)|0;break a}case 1:{e=mx(a,1,c,191979)|0;break a}case 2:{e=mx(a,2,c,191979)|0;break a}default:{e=0;break a}}while(0);qx(b,e,d)|0;return e|0}function rM(d){d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0;k=l;l=l+144|0;g=k;i=sM(d)|0;h=Bw(23488,c[4555]|0)|0;j=uA(d,104988,1)|0;zz(j,134401,280,1)|0;Sw(g,128,k+16|0);e=Ry(d)|0;while(1){if(!e)break;a:do if(!(a[(c[e+16>>2]|0)+118>>0]|0)){f=Dx(d,e)|0;while(1){if(!f)break a;tM(f,j,g,h,i);f=Fx(d,f)|0}}while(0);e=Sy(d,e)|0}Ww(g);xw(h)|0;f=$x(j)|0;e=Ry(j)|0;while(1){if(!e)break;h=Sy(j,e)|0;cz(d,e)|0;e=h}_x(j)|0;if(f|0){j=(c[d+16>>2]|0)+136|0;b[j>>1]=b[j>>1]|1}xw(i)|0;l=k;return f|0}function sM(a){a=a|0;var b=0;b=Bw(23524,c[4555]|0)|0;CM(a,b);return b|0}function tM(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;t=l;l=l+48|0;q=t+32|0;p=t+24|0;s=t+16|0;r=t+8|0;k=t;n=c[b>>2]&3;m=c[((n|0)==3?b:b+48|0)+40>>2]|0;n=c[((n|0)==2?b:b+-48|0)+40>>2]|0;do if(!(a[(c[n+16>>2]|0)+118>>0]|0)){if(!(y$(qy(m)|0,104980,7)|0))o=uM(g,qy(m)|0)|0;else o=0;if(!(y$(qy(n)|0,104980,7)|0))i=uM(g,qy(n)|0)|0;else i=0;h=(o|0)!=0;j=(i|0)!=0;if(h|j){if((o|0)==(i|0)){r=qy(m)|0;s=qy(m)|0;c[k>>2]=r;c[k+4>>2]=s;Ow(0,105003,k)|0;break}g=vM(f,b)|0;if(g|0){wM(b,c[g+16>>2]|0,c[g+20>>2]|0)|0;break}if(!j)if(!(nz(o,n)|0)){yM(f,m,n,wM(b,xM(m,o,e,d)|0,n)|0);break}else{r=qy(n)|0;s=qy(o)|0;c[q>>2]=r;c[q+4>>2]=s;Ow(0,105158,q)|0;break}if(!h)if(!(nz(i,m)|0)){yM(f,m,n,wM(b,m,xM(n,i,e,d)|0)|0);break}else{r=qy(m)|0;s=qy(i)|0;c[p>>2]=r;c[p+4>>2]=s;Ow(0,105121,p)|0;break}if(nz(i,o)|0){q=qy(o)|0;s=qy(i)|0;c[r>>2]=q;c[r+4>>2]=s;Ow(0,105041,r)|0;break}if(!(nz(o,i)|0)){s=xM(m,o,e,d)|0;yM(f,m,n,wM(b,s,xM(n,i,e,d)|0)|0);break}else{q=qy(i)|0;r=qy(o)|0;c[s>>2]=q;c[s+4>>2]=r;Ow(0,105081,s)|0;break}}}while(0);l=t;return}function uM(a,b){a=a|0;b=b|0;a=nb[c[a>>2]&63](a,b,512)|0;if(!a)a=0;else a=c[a+12>>2]|0;return a|0}function vM(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=l;l=l+16|0;e=d;f=c[b>>2]&3;c[e>>2]=c[((f|0)==3?b:b+48|0)+40>>2];c[e+4>>2]=c[((f|0)==2?b:b+-48|0)+40>>2];b=nb[c[a>>2]&63](a,e,512)|0;l=d;return b|0}function wM(a,b,c){a=a|0;b=b|0;c=c|0;c=Qx(dz(b)|0,b,c,0,1)|0;zz(c,134378,176,1)|0;Ax(a,c)|0;return c|0}function xM(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0;k=l;l=l+112|0;g=k;j=k+4|0;Vw(e,105195)|0;i=c[46551]|0;c[46551]=i+1;c[g>>2]=i;X0(j,134313,g)|0;Vw(e,j)|0;j=e+4|0;g=c[j>>2]|0;i=e+8|0;if(g>>>0>=(c[i>>2]|0)>>>0){Tw(e,1)|0;g=c[j>>2]|0}c[j>>2]=g+1;a[g>>0]=58;Vw(e,qy(d)|0)|0;h=ez(d)|0;g=c[j>>2]|0;if(g>>>0>=(c[i>>2]|0)>>>0){Tw(e,1)|0;g=c[j>>2]|0}a[g>>0]=0;e=c[e>>2]|0;c[j>>2]=e;j=$y(h,e,1)|0;zz(j,134365,304,1)|0;a[(c[j+16>>2]|0)+118>>0]=1;Wy(d,j,1)|0;Wy(f,b,1)|0;f=dz(j)|0;c[46384]=qM(f,j,105198,191979,c[46384]|0)|0;f=dz(j)|0;c[46387]=qM(f,j,138e3,131253,c[46387]|0)|0;f=dz(j)|0;c[46377]=qM(f,j,105204,105210,c[46377]|0)|0;l=k;return j|0}function yM(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0;f=l;l=l+32|0;g=f;n=g+8|0;c[n>>2]=b;m=g+12|0;c[m>>2]=d;o=c[e>>2]&3;i=e+48|0;j=g+16|0;c[j>>2]=c[((o|0)==3?e:i)+40>>2];k=e+-48|0;h=g+20|0;c[h>>2]=c[((o|0)==2?e:k)+40>>2];nb[c[a>>2]&63](a,g,1)|0;c[n>>2]=d;c[m>>2]=b;d=c[e>>2]&3;c[j>>2]=c[((d|0)==2?e:k)+40>>2];c[h>>2]=c[((d|0)==3?e:i)+40>>2];nb[c[a>>2]&63](a,g,1)|0;l=f;return}function zM(a,b,d){a=a|0;b=b|0;d=d|0;d=tH(24)|0;c[d+8>>2]=c[b+8>>2];c[d+12>>2]=c[b+12>>2];c[d+16>>2]=c[b+16>>2];c[d+20>>2]=c[b+20>>2];return d|0}function AM(a,b,c){a=a|0;b=b|0;c=c|0;C_(b);return}function BM(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;a=c[b>>2]|0;e=c[d>>2]|0;if(a>>>0>=e>>>0)if(a>>>0>e>>>0)a=1;else{b=c[b+4>>2]|0;d=c[d+4>>2]|0;return (b>>>0>>0?-1:b>>>0>d>>>0&1)|0}else a=-1;return a|0}function CM(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0;h=l;l=l+16|0;g=h;f=a+16|0;e=1;while(1){a=c[f>>2]|0;if((e|0)>(c[a+180>>2]|0))break;a=c[(c[a+184>>2]|0)+(e<<2)>>2]|0;d=qy(a)|0;if(!(nb[c[b>>2]&63](b,d,512)|0)){i=tH(16)|0;c[i+8>>2]=d;c[i+12>>2]=a;nb[c[b>>2]&63](b,i,1)|0}else{c[g>>2]=d;Ow(0,105214,g)|0}CM(a,b);e=e+1|0}l=h;return}function DM(a,b,c){a=a|0;b=b|0;c=c|0;C_(b);return}function EM(a){a=a|0;var b=0,c=0,d=0;d=uA(a,104988,1)|0;zz(d,134401,280,1)|0;b=Ry(a)|0;while(1){if(!b)break;c=Dx(a,b)|0;while(1){if(!c)break;FM(c,d);c=Fx(a,c)|0}b=Sy(a,b)|0}b=Ry(d)|0;while(1){if(!b)break;c=Sy(d,b)|0;GM(b);cz(a,b)|0;b=c}_x(d)|0;return}function FM(b,d){b=b|0;d=d|0;var e=0,f=0;e=c[b>>2]&3;f=c[((e|0)==3?b:b+48|0)+40>>2]|0;e=c[((e|0)==2?b:b+-48|0)+40>>2]|0;if(!((a[(c[f+16>>2]|0)+118>>0]|0)==0?!(a[(c[e+16>>2]|0)+118>>0]|0):0)){f=HM(f,d)|0;e=wM(b,f,HM(e,d)|0)|0;f=c[b+16>>2]|0;d=f+8|0;e=c[e+16>>2]|0;c[e+8>>2]=c[d>>2];c[d>>2]=0;d=f+96|0;c[e+96>>2]=c[d>>2];c[d>>2]=0;d=f+108|0;c[e+108>>2]=c[d>>2];c[d>>2]=0;d=f+100|0;c[e+100>>2]=c[d>>2];c[d>>2]=0;f=f+104|0;c[e+104>>2]=c[f>>2];c[f>>2]=0;IM(b)}return}function GM(a){a=a|0;var b=0,d=0,e=0;e=a+16|0;b=c[e>>2]|0;d=c[b+132>>2]|0;if(d){C_(d);b=c[e>>2]|0}d=c[b+8>>2]|0;if(d){tb[c[(c[d+4>>2]|0)+4>>2]&127](a);b=c[e>>2]|0}mH(c[b+104>>2]|0);mH(c[(c[e>>2]|0)+108>>2]|0);Bz(a,134365)|0;return}function HM(b,d){b=b|0;d=d|0;var e=0,f=0,g=0;f=dz(b)|0;a:do if(a[(c[b+16>>2]|0)+118>>0]|0){Wy(d,b,1)|0;b=z$(qy(b)|0,58)|0;if(!b)qa(108182,104635,1225,105266);d=b+1|0;b=$y(f,d,0)|0;if(!b){b=$y(f,d,1)|0;zz(b,134365,304,1)|0;d=rx(f,1,0)|0;while(1){if(!d)break a;g=xx(b,d)|0;e=c[d+12>>2]|0;if((g|0)!=(e|0))qx(b,d,e)|0;d=rx(f,1,d)|0}}}while(0);return b|0}function IM(a){a=a|0;var b=0;b=a+16|0;C_(c[(c[b>>2]|0)+144>>2]|0);JM(a);mH(c[(c[b>>2]|0)+96>>2]|0);mH(c[(c[b>>2]|0)+108>>2]|0);mH(c[(c[b>>2]|0)+100>>2]|0);mH(c[(c[b>>2]|0)+104>>2]|0);Bz(a,134378)|0;return}function JM(a){a=a|0;var b=0,d=0,e=0;e=a+16|0;a=c[e>>2]|0;b=c[a+8>>2]|0;if(b){d=0;while(1){a=c[b>>2]|0;if((d|0)>=(c[b+4>>2]|0))break;C_(c[a+(d*48|0)>>2]|0);d=d+1|0;b=c[(c[e>>2]|0)+8>>2]|0}C_(a);C_(c[(c[e>>2]|0)+8>>2]|0);a=c[e>>2]|0}c[a+8>>2]=0;return}function KM(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0;e=mx(a,b,c,0)|0;if(!e)e=mx(a,b,c,d)|0;return e|0}function LM(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0;o=l;l=l+32|0;i=o;h=o+8|0;j=o+16|0;m=z$(b,59)|0;n=d+4|0;e=c[n>>2]|0;k=d+8|0;if(e>>>0>=(c[k>>2]|0)>>>0){Tw(d,1)|0;e=c[n>>2]|0}c[n>>2]=e+1;a[e>>0]=38;if(((m|0)!=0?(f=m-b|0,(f+-2|0)>>>0<=6):0)?(T0(j,b,f)|0,a[j+f>>0]=0,c[h>>2]=j,g=d2(h,23560,252,8,94)|0,(g|0)!=0):0){c[i>>2]=c[g+4>>2];X0(j,134313,i)|0;b=c[n>>2]|0;if(b>>>0>=(c[k>>2]|0)>>>0){Tw(d,1)|0;b=c[n>>2]|0}c[n>>2]=b+1;a[b>>0]=35;Vw(d,j)|0;b=c[n>>2]|0;if(b>>>0>=(c[k>>2]|0)>>>0){Tw(d,1)|0;b=c[n>>2]|0}c[n>>2]=b+1;a[b>>0]=59;b=m+1|0}l=o;return b|0}function MM(a,b){a=a|0;b=b|0;return a$(c[a>>2]|0,c[b>>2]|0)|0}function NM(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0;q=l;l=l+1072|0;k=q+8|0;j=q;i=q+16|0;o=q+24|0;c[i>>2]=b;if((c[46552]|0)!=(d|0)){c[46552]=d;a[191878]=0}Sw(o,1024,q+40|0);p=o+4|0;n=o+8|0;while(1){f=b+1|0;c[i>>2]=f;e=a[b>>0]|0;if(!(e<<24>>24))break;do if((e&255)<192)if(e<<24>>24==38){f=PM(i)|0;if(!f)e=38;else{if(f>>>0<127){e=f&255;break}b=c[p>>2]|0;e=b>>>0>=(c[n>>2]|0)>>>0;if(f>>>0<2047){if(e){Tw(o,1)|0;b=c[p>>2]|0}c[p>>2]=b+1;a[b>>0]=f>>>6|192;e=(f&63|128)&255;break}if(e){Tw(o,1)|0;b=c[p>>2]|0}c[p>>2]=b+1;a[b>>0]=f>>>12|224;b=c[p>>2]|0;if(b>>>0>=(c[n>>2]|0)>>>0){Tw(o,1)|0;b=c[p>>2]|0}c[p>>2]=b+1;a[b>>0]=f>>>6&63|128;e=(f&63|128)&255}}else{h=0;m=9}else if((e&255)>=224)if((e&255)>=240)if((e&255)<248){h=3;m=9}else{if(!(a[191878]|0)){c[j>>2]=qy(d)|0;Ow(0,106681,j)|0;a[191878]=1}h=-1;e=OM(e,o)|0;m=9}else{h=2;m=9}else{h=1;m=9}while(0);do if((m|0)==9){m=0;g=0;while(1){if((g|0)>=(h|0)){m=34;break}if((a[f>>0]&-64)<<24>>24!=-128)break;b=c[p>>2]|0;if(b>>>0>=(c[n>>2]|0)>>>0){Tw(o,1)|0;b=c[p>>2]|0}c[p>>2]=b+1;a[b>>0]=e;g=g+1|0;e=a[f>>0]|0;f=f+1|0}if((m|0)==34){m=0;c[i>>2]=f;break}c[i>>2]=f;if(!(a[191878]|0)){g=qy(d)|0;c[k>>2]=h+1;c[k+4>>2]=g;Ow(0,106802,k)|0;a[191878]=1}e=OM(e,o)|0}while(0);b=c[p>>2]|0;if(b>>>0>=(c[n>>2]|0)>>>0){Tw(o,1)|0;b=c[p>>2]|0}c[p>>2]=b+1;a[b>>0]=e;b=c[i>>2]|0}b=c[p>>2]|0;if(b>>>0>=(c[n>>2]|0)>>>0){Tw(o,1)|0;b=c[p>>2]|0}a[b>>0]=0;n=c[o>>2]|0;c[p>>2]=n;p=m1(n)|0;Ww(o);l=q;return p|0}function OM(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0;j=l;l=l+16|0;g=j;a[g>>0]=b;a[g+1>>0]=0;g=QM(g)|0;h=d+4|0;i=d+8|0;e=V_(g)|0;f=g;while(1){if((e|0)<=1)break;b=c[h>>2]|0;if(b>>>0>=(c[i>>2]|0)>>>0){Tw(d,1)|0;b=c[h>>2]|0}k=a[f>>0]|0;c[h>>2]=b+1;a[b>>0]=k;e=e+-1|0;f=f+1|0}k=a[f>>0]|0;C_(g);l=j;return k|0}function PM(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0;i=l;l=l+32|0;h=i;d=i+8|0;e=c[b>>2]|0;a:do if((a[e>>0]|0)!=35){c[h>>2]=d;g=0;b:while(1){if((g|0)>=8){d=0;break a}f=a[e+g>>0]|0;switch(f<<24>>24){case 0:{d=0;break a}case 59:break b;default:{}}a[d>>0]=f;d=d+1|0;g=g+1|0}a[d>>0]=0;d=d2(h,23560,252,8,94)|0;if(!d)d=0;else{e=e+(g+1)|0;d=c[d+4>>2]|0}}else{h=a[e+1>>0]|0;d=h&255;c:do if((h|32)<<24>>24==120){h=0;g=2;while(1){if((g|0)>=8){f=h;break c}f=a[e+g>>0]|0;d=f&255;if((f+-65&255)>=6)if((f+-97&255)>=6)if((f+-48&255)<10)f=-48;else{f=h;break c}else f=-87;else f=-55;d=f+d|0;h=d+(h<<4)|0;g=g+1|0}}else{f=0;g=1;while(1){if((g|0)>=8)break c;h=a[e+g>>0]|0;d=h&255;if((h+-48&255)>=10)break c;f=(f*10|0)+-48+d|0;g=g+1|0}}while(0);d=(d|0)==59;e=d?e+(g+1)|0:e;d=d?f:0}while(0);c[b>>2]=e;l=i;return d|0}function QM(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0;k=l;l=l+1056|0;g=k;i=k+8|0;c[g>>2]=b;Sw(i,1024,k+24|0);j=i+4|0;h=i+8|0;while(1){c[g>>2]=b+1;d=a[b>>0]|0;if(!(d<<24>>24))break;b=d&255;if(d<<24>>24==38){b=PM(g)|0;if(!b){b=38;f=6}else f=5}else f=5;do if((f|0)==5){f=0;if(b>>>0<127)f=6;else{d=c[j>>2]|0;e=d>>>0>=(c[h>>2]|0)>>>0;if(b>>>0<2047){if(e){Tw(i,1)|0;d=c[j>>2]|0}c[j>>2]=d+1;a[d>>0]=b>>>6|192;d=c[j>>2]|0;if(d>>>0>=(c[h>>2]|0)>>>0){Tw(i,1)|0;d=c[j>>2]|0}b=b&63|128;break}if(e){Tw(i,1)|0;d=c[j>>2]|0}c[j>>2]=d+1;a[d>>0]=b>>>12|224;d=c[j>>2]|0;if(d>>>0>=(c[h>>2]|0)>>>0){Tw(i,1)|0;d=c[j>>2]|0}c[j>>2]=d+1;a[d>>0]=b>>>6&63|128;d=c[j>>2]|0;if(d>>>0>=(c[h>>2]|0)>>>0){Tw(i,1)|0;d=c[j>>2]|0}b=b&63|128}}while(0);if((f|0)==6){d=c[j>>2]|0;if(d>>>0>=(c[h>>2]|0)>>>0){Tw(i,1)|0;d=c[j>>2]|0}}c[j>>2]=d+1;a[d>>0]=b;b=c[g>>2]|0}b=c[j>>2]|0;if(b>>>0>=(c[h>>2]|0)>>>0){Tw(i,1)|0;b=c[j>>2]|0}a[b>>0]=0;h=c[i>>2]|0;c[j>>2]=h;j=m1(h)|0;Ww(i);l=k;return j|0}function RM(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0;i=l;l=l+1040|0;g=i;Sw(g,1024,i+16|0);h=g+4|0;f=g+8|0;while(1){d=b+1|0;e=a[b>>0]|0;if(!(e<<24>>24))break;if((e&255)<127){b=c[h>>2]|0;if(b>>>0>=(c[f>>2]|0)>>>0){Tw(g,1)|0;b=c[h>>2]|0}c[h>>2]=b+1;a[b>>0]=e;b=d;continue}else{e=a[d>>0]&63|e<<6&255;d=c[h>>2]|0;if(d>>>0>=(c[f>>2]|0)>>>0){Tw(g,1)|0;d=c[h>>2]|0}c[h>>2]=d+1;a[d>>0]=e;b=b+2|0;continue}}b=c[h>>2]|0;if(b>>>0>=(c[f>>2]|0)>>>0){Tw(g,1)|0;b=c[h>>2]|0}a[b>>0]=0;f=c[g>>2]|0;c[h>>2]=f;h=m1(f)|0;Ww(g);l=i;return h|0}function SM(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,i=0,j=0,k=0,m=0,n=0;n=l;l=l+80|0;e=n+48|0;d=n+32|0;f=n+64|0;g=n+16|0;i=n;j=b+16|0;k=a+16|0;m=c[k>>2]|0;if(((+h[j>>3]>=+h[m+48>>3]?+h[m+64>>3]>=+h[b>>3]:0)?+h[b+24>>3]>=+h[m+56>>3]:0)?+h[m+72>>3]>=+h[b+8>>3]:0){m=m+16|0;c[d>>2]=c[j>>2];c[d+4>>2]=c[j+4>>2];c[d+8>>2]=c[j+8>>2];c[d+12>>2]=c[j+12>>2];c[e>>2]=c[b>>2];c[e+4>>2]=c[b+4>>2];c[e+8>>2]=c[b+8>>2];c[e+12>>2]=c[b+12>>2];TM(g,d,e);c[d>>2]=c[m>>2];c[d+4>>2]=c[m+4>>2];c[d+8>>2]=c[m+8>>2];c[d+12>>2]=c[m+12>>2];c[e>>2]=c[g>>2];c[e+4>>2]=c[g+4>>2];c[e+8>>2]=c[g+8>>2];c[e+12>>2]=c[g+12>>2];nM(i,d,e);c[f>>2]=a;c[f+4>>2]=0;d=c[(c[(c[(c[k>>2]|0)+8>>2]|0)+4>>2]|0)+12>>2]|0;c[e>>2]=c[i>>2];c[e+4>>2]=c[i+4>>2];c[e+8>>2]=c[i+8>>2];c[e+12>>2]=c[i+12>>2];d=lb[d&127](f,e)|0}else d=0;l=n;return d|0}function TM(a,b,c){a=a|0;b=b|0;c=c|0;var d=0.0;d=(+h[c+8>>3]+ +h[b+8>>3])*.5;h[a>>3]=(+h[c>>3]+ +h[b>>3])*.5;h[a+8>>3]=d;return}function UM(a,b){a=a|0;b=b|0;var d=0.0,e=0,f=0.0,g=0,i=0.0,j=0,k=0,m=0,n=0;e=l;l=l+80|0;j=e+64|0;k=e+48|0;m=e;n=e+32|0;g=e+16|0;h[m>>3]=+h[a+24>>3]*.5;h[m+8>>3]=+h[a+32>>3]*.5;a=a+56|0;c[k>>2]=c[a>>2];c[k+4>>2]=c[a+4>>2];c[k+8>>2]=c[a+8>>2];c[k+12>>2]=c[a+12>>2];c[j>>2]=c[m>>2];c[j+4>>2]=c[m+4>>2];c[j+8>>2]=c[m+8>>2];c[j+12>>2]=c[m+12>>2];nM(n,k,j);i=+h[n>>3];f=+h[n+8>>3];c[k>>2]=c[a>>2];c[k+4>>2]=c[a+4>>2];c[k+8>>2]=c[a+8>>2];c[k+12>>2]=c[a+12>>2];c[j>>2]=c[m>>2];c[j+4>>2]=c[m+4>>2];c[j+8>>2]=c[m+8>>2];c[j+12>>2]=c[m+12>>2];oM(g,k,j);d=+h[g+8>>3];if((+h[b+16>>3]>=i?+h[g>>3]>=+h[b>>3]:0)?+h[b+24>>3]>=f:0)a=d>=+h[b+8>>3]&1;else a=0;l=e;return a|0}function VM(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0;n=l;l=l+80|0;k=n+48|0;j=n;h=a+16|0;a=c[h>>2]|0;i=c[a+8>>2]|0;a:do if((i|0)!=0?(g=i+8|0,c[j>>2]=c[g>>2],c[j+4>>2]=c[g+4>>2],c[j+8>>2]=c[g+8>>2],c[j+12>>2]=c[g+12>>2],c[j+16>>2]=c[g+16>>2],c[j+20>>2]=c[g+20>>2],c[j+24>>2]=c[g+24>>2],c[j+28>>2]=c[g+28>>2],c[k>>2]=c[b>>2],c[k+4>>2]=c[b+4>>2],c[k+8>>2]=c[b+8>>2],c[k+12>>2]=c[b+12>>2],c[k+16>>2]=c[b+16>>2],c[k+20>>2]=c[b+20>>2],c[k+24>>2]=c[b+24>>2],c[k+28>>2]=c[b+28>>2],(WM(j,k)|0)!=0):0){d=i+4|0;a=0;while(1){if((a|0)>=(c[d>>2]|0))break;e=j;f=(c[i>>2]|0)+(a*48|0)|0;g=e+48|0;do{c[e>>2]=c[f>>2];e=e+4|0;f=f+4|0}while((e|0)<(g|0));c[k>>2]=c[b>>2];c[k+4>>2]=c[b+4>>2];c[k+8>>2]=c[b+8>>2];c[k+12>>2]=c[b+12>>2];c[k+16>>2]=c[b+16>>2];c[k+20>>2]=c[b+20>>2];c[k+24>>2]=c[b+24>>2];c[k+28>>2]=c[b+28>>2];if(!((XM(j,k)|0)<<24>>24))a=a+1|0;else{a=1;break a}}a=c[h>>2]|0;m=7}else m=7;while(0);do if((m|0)==7){a=c[a+96>>2]|0;if(a|0?(c[k>>2]=c[b>>2],c[k+4>>2]=c[b+4>>2],c[k+8>>2]=c[b+8>>2],c[k+12>>2]=c[b+12>>2],c[k+16>>2]=c[b+16>>2],c[k+20>>2]=c[b+20>>2],c[k+24>>2]=c[b+24>>2],c[k+28>>2]=c[b+28>>2],(UM(a,k)|0)<<24>>24):0){a=1;break}a=0}while(0);l=n;return a|0}function WM(a,b){a=a|0;b=b|0;if((+h[a+16>>3]>=+h[b>>3]?+h[b+16>>3]>=+h[a>>3]:0)?+h[a+24>>3]>=+h[b+8>>3]:0)a=+h[b+24>>3]>=+h[a+8>>3]&1;else a=0;return a|0}function XM(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0;n=l;l=l+96|0;k=n+64|0;j=n+48|0;i=n+32|0;f=n+16|0;g=n;m=a+4|0;d=c[m>>2]|0;if(!d)qa(106911,104635,1637,106919);e=c[a>>2]|0;c[g>>2]=c[e>>2];c[g+4>>2]=c[e+4>>2];c[g+8>>2]=c[e+8>>2];c[g+12>>2]=c[e+12>>2];e=1;while(1){if((e|0)>=(d|0)){h=7;break}d=(c[a>>2]|0)+(e<<4)|0;c[f>>2]=c[d>>2];c[f+4>>2]=c[d+4>>2];c[f+8>>2]=c[d+8>>2];c[f+12>>2]=c[d+12>>2];c[i>>2]=c[d>>2];c[i+4>>2]=c[d+4>>2];c[i+8>>2]=c[d+8>>2];c[i+12>>2]=c[d+12>>2];c[j>>2]=c[g>>2];c[j+4>>2]=c[g+4>>2];c[j+8>>2]=c[g+8>>2];c[j+12>>2]=c[g+12>>2];c[k>>2]=c[b>>2];c[k+4>>2]=c[b+4>>2];c[k+8>>2]=c[b+8>>2];c[k+12>>2]=c[b+12>>2];c[k+16>>2]=c[b+16>>2];c[k+20>>2]=c[b+20>>2];c[k+24>>2]=c[b+24>>2];c[k+28>>2]=c[b+28>>2];if((UG(i,j,k)|0)!=-1){d=1;break};c[g>>2]=c[f>>2];c[g+4>>2]=c[f+4>>2];c[g+8>>2]=c[f+8>>2];c[g+12>>2]=c[f+12>>2];e=e+1|0;d=c[m>>2]|0}do if((h|0)==7){d=c[a+8>>2]|0;if(d|0?(g=a+16|0,h=c[a>>2]|0,c[i>>2]=c[g>>2],c[i+4>>2]=c[g+4>>2],c[i+8>>2]=c[g+8>>2],c[i+12>>2]=c[g+12>>2],c[j>>2]=c[h>>2],c[j+4>>2]=c[h+4>>2],c[j+8>>2]=c[h+8>>2],c[j+12>>2]=c[h+12>>2],c[k>>2]=c[b>>2],c[k+4>>2]=c[b+4>>2],c[k+8>>2]=c[b+8>>2],c[k+12>>2]=c[b+12>>2],c[k+16>>2]=c[b+16>>2],c[k+20>>2]=c[b+20>>2],c[k+24>>2]=c[b+24>>2],c[k+28>>2]=c[b+28>>2],(YM(i,j,d,k)|0)<<24>>24):0){d=1;break}d=c[a+12>>2]|0;if(d|0?(h=a+32|0,m=(c[a>>2]|0)+((c[m>>2]|0)+-1<<4)|0,c[i>>2]=c[h>>2],c[i+4>>2]=c[h+4>>2],c[i+8>>2]=c[h+8>>2],c[i+12>>2]=c[h+12>>2],c[j>>2]=c[m>>2],c[j+4>>2]=c[m+4>>2],c[j+8>>2]=c[m+8>>2],c[j+12>>2]=c[m+12>>2],c[k>>2]=c[b>>2],c[k+4>>2]=c[b+4>>2],c[k+8>>2]=c[b+8>>2],c[k+12>>2]=c[b+12>>2],c[k+16>>2]=c[b+16>>2],c[k+20>>2]=c[b+20>>2],c[k+24>>2]=c[b+24>>2],c[k+28>>2]=c[b+28>>2],(YM(i,j,d,k)|0)<<24>>24):0){d=1;break}d=0}while(0);l=n;return d|0}function YM(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,i=0,j=0,k=0,m=0,n=0,o=0.0;m=l;l=l+160|0;g=m+144|0;f=m+128|0;n=m+96|0;i=m+64|0;j=m+32|0;k=m;o=+h[e+16>>3];c[f>>2]=c[a>>2];c[f+4>>2]=c[a+4>>2];c[f+8>>2]=c[a+8>>2];c[f+12>>2]=c[a+12>>2];c[g>>2]=c[b>>2];c[g+4>>2]=c[b+4>>2];c[g+8>>2]=c[b+8>>2];c[g+12>>2]=c[b+12>>2];IE(n,f,g,1.0,d);if(((o>=+h[n>>3]?(c[f>>2]=c[a>>2],c[f+4>>2]=c[a+4>>2],c[f+8>>2]=c[a+8>>2],c[f+12>>2]=c[a+12>>2],c[g>>2]=c[b>>2],c[g+4>>2]=c[b+4>>2],c[g+8>>2]=c[b+8>>2],c[g+12>>2]=c[b+12>>2],IE(i,f,g,1.0,d),+h[i+16>>3]>=+h[e>>3]):0)?(o=+h[e+24>>3],c[f>>2]=c[a>>2],c[f+4>>2]=c[a+4>>2],c[f+8>>2]=c[a+8>>2],c[f+12>>2]=c[a+12>>2],c[g>>2]=c[b>>2],c[g+4>>2]=c[b+4>>2],c[g+8>>2]=c[b+8>>2],c[g+12>>2]=c[b+12>>2],IE(j,f,g,1.0,d),o>=+h[j+8>>3]):0)?(c[f>>2]=c[a>>2],c[f+4>>2]=c[a+4>>2],c[f+8>>2]=c[a+8>>2],c[f+12>>2]=c[a+12>>2],c[g>>2]=c[b>>2],c[g+4>>2]=c[b+4>>2],c[g+8>>2]=c[b+8>>2],c[g+12>>2]=c[b+12>>2],IE(k,f,g,1.0,d),+h[k+24>>3]>=+h[e+8>>3]):0)f=1;else f=0;l=m;return f|0}function ZM(b,d){b=b|0;d=d|0;var e=0,f=0,g=0;g=l;l=l+16|0;f=g;a:do if((b|0)!=0?(e=a[b>>0]|0,e<<24>>24!=0):0){do switch(e<<24>>24|0){case 48:{d=2;break a}case 57:case 56:case 55:case 54:case 53:case 52:case 51:case 50:case 49:{d=10;break a}case 67:case 99:{e=b+1|0;if(!(N$(e,106934)|0)){d=4;break a}if(!(N$(e,106940)|0)){d=12;break a}break}case 70:case 102:{if(!(N$(b+1|0,106948)|0)){d=2;break a}break}case 76:case 108:{if(!(N$(b+1|0,106953)|0)){d=2;break a}break}case 78:case 110:{e=b+1|0;if(!(N$(e,106957)|0)){d=0;break a}if(!(N$(e,106961)|0)){d=2;break a}break}case 79:case 111:{if(!(N$(b+1|0,106963)|0)){d=8;break a}break}case 80:case 112:{if(!(N$(b+1|0,106968)|0)){d=6;break a}break}case 83:case 115:{if(!(N$(b+1|0,106976)|0)){d=10;break a}break}case 84:case 116:{if(!(N$(b+1|0,106982)|0)){d=10;break a}break}case 89:case 121:{if(!(N$(b+1|0,106986)|0)){d=10;break a}break}default:{}}while(0);c[f>>2]=b;Ow(0,106989,f)|0}while(0);l=g;return d|0}function _M(d,f){d=d|0;f=f|0;var g=0;g=wx(d,107030)|0;if(g)if(!(a[g>>0]|0))f=0;else f=ZM(g,f)|0;d=(c[d+16>>2]|0)+136|0;b[d>>1]=f|e[d>>1];return}function $M(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=+d;e=e|0;var f=0.0,g=0.0,i=0.0,j=0.0,k=0.0,m=0,n=0,o=0.0,p=0,q=0.0,r=0,s=0.0,t=0,u=0,v=0,w=0;v=l;l=l+32|0;p=v+16|0;r=v;t=e&1;u=e&2;a:do if((c|0)==2){s=+h[a+16>>3];f=+h[a>>3];j=+h[a+24>>3];i=+h[a+8>>3];f=f-(s-f);h[p>>3]=f;h[r>>3]=s;i=i-(j-i);h[p+8>>3]=i;h[r+8>>3]=j}else{g=+h[a>>3];h[r>>3]=g;h[p>>3]=g;j=+h[a+8>>3];m=r+8|0;h[m>>3]=j;n=p+8|0;h[n>>3]=j;e=0;f=g;i=j;while(1){if((e|0)>=(c|0)){s=g;break a}w=a+(e<<4)|0;q=+h[w>>3];k=+h[(q>3];h[p>>3]=k;s=+h[a+(e<<4)+8>>3];o=+h[(s>3];h[n>>3]=o;q=+h[(q>g?w:r)>>3];h[r>>3]=q;s=+h[(s>j?w:r)+8>>3];h[m>>3]=s;e=e+1|0;f=k;i=o;g=q;j=s}}while(0);g=(s-f)*.5;q=g+f;o=(j-i)*.5;k=o+i;if(!t){f=j-k;j=d;i=+F(+j);j=+E(+j);if(!u){g=i*f-k;f=-k-o*i}else{f=i*f;g=k-f;f=f+k}h[b+8>>3]=g;h[b+24>>3]=f;d=j*(s-q);h[b>>3]=q-d;h[b+16>>3]=d+q}else{d=+C(+(o*o+g*g));h[b+8>>3]=u|0?k:-k;h[b>>3]=q;h[b+16>>3]=d*.25;h[b+24>>3]=d}l=v;return}function aN(a,b){a=a|0;b=b|0;var d=0.0,e=0,f=0;e=a+16|0;f=c[e>>2]|0;if(!(b<<24>>24)){d=+h[f+32>>3]*36.0;h[f+88>>3]=d;a=f+40|0}else{d=+h[f+40>>3]*36.0;h[f+88>>3]=d;a=f+32|0}h[f+96>>3]=d;h[(c[e>>2]|0)+80>>3]=+h[a>>3]*72.0;return}function bN(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,A=0;y=l;l=l+16|0;j=y+8|0;x=4;w=B_(40)|0;c[w>>2]=0;s=y;o=0;e=$(29,b|0)|0;f=o;o=0;if((f|0)!=0&(p|0)!=0){g=D3(c[f>>2]|0,w|0,x|0)|0;if(!g)bb(f|0,p|0);z=p}else g=-1;a:do if((g|0)!=1){o=0;v=$(23,e<<3|0)|0;f=o;o=0;if((f|0)!=0&(p|0)!=0){e=D3(c[f>>2]|0,w|0,x|0)|0;if(!e)bb(f|0,p|0);z=p}else e=-1;if((e|0)!=1){if(!(a[191874]|0))t=0;else{o=0;e=_(3)|0;f=o;o=0;if((f|0)!=0&(p|0)!=0){g=D3(c[f>>2]|0,w|0,x|0)|0;if(!g)bb(f|0,p|0);z=p}else g=-1;if((g|0)==1){n=0;k=0;m=0;j=0;i=0;d=v;h=v;e=z;g=0;u=74;break}t=e}o=0;e=aa(95,b|0,107038)|0;f=o;o=0;if((f|0)!=0&(p|0)!=0){g=D3(c[f>>2]|0,w|0,x|0)|0;if(!g)bb(f|0,p|0);z=p}else g=-1;if((g|0)!=1){c[46553]=0;b:do if(e|0?(i=a[e>>0]|0,i<<24>>24):0){h=e;f=i;g=0;while(1){i=h+1|0;if(!(f<<24>>24))break b;switch(f<<24>>24|0){case 99:{e=8;u=16;break}case 105:{e=18;u=16;break}case 109:{e=1;u=16;break}case 114:{e=4;u=16;break}case 115:{e=2;u=16;break}default:e=g}if((u|0)==16){u=0;e=g|e;c[46553]=e}h=i;f=a[i>>0]|0;g=e}}while(0);if(d|0){o=0;ca(20,0,107042,j|0)|0;e=o;o=0;if((e|0)!=0&(p|0)!=0){f=D3(c[e>>2]|0,w|0,x|0)|0;if(!f)bb(e|0,p|0);z=p}else f=-1;if((f|0)==1){n=0;k=t;m=0;j=0;i=0;d=v;h=v;e=z;g=0;u=74;break}}o=0;r=aa(96,b|0,0)|0;e=o;o=0;if((e|0)!=0&(p|0)!=0){f=D3(c[e>>2]|0,w|0,x|0)|0;if(!f)bb(e|0,p|0);z=p}else f=-1;if((f|0)!=1){m=c[r+16>>2]|0;if(c[46553]&2|0){o=0;ja(26,c[15686]|0,m|0);e=o;o=0;if((e|0)!=0&(p|0)!=0){f=D3(c[e>>2]|0,w|0,x|0)|0;if(!f)bb(e|0,p|0);z=p}else f=-1;if((f|0)==1){n=0;k=t;m=0;j=0;i=r;d=v;h=v;e=z;g=0;u=74;break}}o=0;g=$(25,b|0)|0;e=o;o=0;if((e|0)!=0&(p|0)!=0){f=D3(c[e>>2]|0,w|0,x|0)|0;if(!f)bb(e|0,p|0);z=p}else f=-1;if((f|0)!=1){n=0;while(1){if(!g)break;o=0;e=aa(97,b|0,g|0)|0;f=o;o=0;if((f|0)!=0&(p|0)!=0){h=D3(c[f>>2]|0,w|0,x|0)|0;if(!h)bb(f|0,p|0);z=p}else h=-1;if((h|0)==1){k=t;m=0;j=0;i=r;d=v;h=v;e=z;g=0;u=74;break a}i=n;while(1){if(!e)break;if(!((c[46363]|0)==2?(c[(c[e+16>>2]|0)+8>>2]|0)!=0:0))u=32;c:do if((u|0)==32){u=0;do if(a[191874]|0){k=c[e>>2]&3;j=(c[c[((k|0)==3?e:e+48|0)+40>>2]>>2]|0)>>>4;k=(c[c[((k|0)==2?e:e+-48|0)+40>>2]>>2]|0)>>>4;if(j>>>0>k>>>0){o=0;f=ca(31,t|0,k|0,j|0)|0;h=o;o=0;if((h|0)!=0&(p|0)!=0){d=D3(c[h>>2]|0,w|0,x|0)|0;if(!d)bb(h|0,p|0);z=p}else d=-1;if((d|0)==1){k=t;m=0;j=0;i=r;d=v;h=v;e=z;g=0;u=74;break a}if(f|0)break c;o=0;ka(64,t|0,k|0,j|0);f=o;o=0;if((f|0)!=0&(p|0)!=0){h=D3(c[f>>2]|0,w|0,x|0)|0;if(!h)bb(f|0,p|0);z=p}else h=-1;if((h|0)==1){k=t;m=0;j=0;i=r;d=v;h=v;e=z;g=0;u=74;break a}break}else{o=0;f=ca(31,t|0,j|0,k|0)|0;h=o;o=0;if((h|0)!=0&(p|0)!=0){d=D3(c[h>>2]|0,w|0,x|0)|0;if(!d)bb(h|0,p|0);z=p}else d=-1;if((d|0)==1){k=t;m=0;j=0;i=r;d=v;h=v;e=z;g=0;u=74;break a}if(f|0)break c;o=0;ka(64,t|0,j|0,k|0);f=o;o=0;if((f|0)!=0&(p|0)!=0){h=D3(c[f>>2]|0,w|0,x|0)|0;if(!h)bb(f|0,p|0);z=p}else h=-1;if((h|0)==1){k=t;m=0;j=0;i=r;d=v;h=v;e=z;g=0;u=74;break a}break}}while(0);c[v+(i<<3)+4>>2]=e;o=0;d=$(30,e|0)|0;f=o;o=0;if((f|0)!=0&(p|0)!=0){h=D3(c[f>>2]|0,w|0,x|0)|0;if(!h)bb(f|0,p|0);z=p}else h=-1;if((h|0)==1){k=t;m=0;j=0;i=r;d=v;h=v;e=z;g=0;u=74;break a}c[v+(i<<3)>>2]=d;i=i+1|0}while(0);o=0;e=aa(98,b|0,e|0)|0;f=o;o=0;if((f|0)!=0&(p|0)!=0){h=D3(c[f>>2]|0,w|0,x|0)|0;if(!h)bb(f|0,p|0);z=p}else h=-1;if((h|0)==1){k=t;m=0;j=0;i=r;d=v;h=v;e=z;g=0;u=74;break a}}o=0;g=aa(84,b|0,g|0)|0;e=o;o=0;if((e|0)!=0&(p|0)!=0){f=D3(c[e>>2]|0,w|0,x|0)|0;if(!f)bb(e|0,p|0);z=p}else f=-1;if((f|0)==1){k=t;m=0;j=0;i=r;d=v;h=v;e=z;g=0;u=74;break a}n=i}o=0;j=$(31,n<<3|0)|0;e=o;o=0;if((e|0)!=0&(p|0)!=0){f=D3(c[e>>2]|0,w|0,x|0)|0;if(!f)bb(e|0,p|0);z=p}else f=-1;if((f|0)!=1){o=0;ma(28,v|0,n|0,8,99);e=o;o=0;if((e|0)!=0&(p|0)!=0){f=D3(c[e>>2]|0,w|0,x|0)|0;if(!f)bb(e|0,p|0);z=p}else f=-1;if((f|0)!=1){g=c[m>>2]|0;o=0;ia(107,g+2|0);e=o;o=0;if((e|0)!=0&(p|0)!=0){f=D3(c[e>>2]|0,w|0,x|0)|0;if(!f)bb(e|0,p|0);z=p}else f=-1;if((f|0)!=1){i=c[m+16>>2]|0;d=i+(g*40|0)|0;i=i+((g+1|0)*40|0)|0;q=c[15686]|0;h=0;while(1){if((h|0)>=(n|0))break;if((h|0)>0?c[46553]&16|0:0){o=0;ja(26,q|0,m|0);e=o;o=0;if((e|0)!=0&(p|0)!=0){f=D3(c[e>>2]|0,w|0,x|0)|0;if(!f)bb(e|0,p|0);z=p}else f=-1;if((f|0)==1){k=t;m=j;i=r;d=v;h=v;e=z;g=q;u=74;break a}}e=c[v+(h<<3)+4>>2]|0;k=c[e>>2]&3;g=c[(c[(c[((k|0)==3?e:e+48|0)+40>>2]|0)+16>>2]|0)+112>>2]|0;e=c[(c[(c[((k|0)==2?e:e+-48|0)+40>>2]|0)+16>>2]|0)+112>>2]|0;if((g|0)==(e|0)){o=0;ma(29,m|0,g|0,i|0,d|0);e=o;o=0;if((e|0)!=0&(p|0)!=0){f=D3(c[e>>2]|0,w|0,x|0)|0;if(!f)bb(e|0,p|0);z=p}else f=-1;if((f|0)==1){k=t;m=j;i=r;d=v;h=v;e=z;g=q;u=74;break a}}else{o=0;ka(65,m|0,e|0,i|0);e=o;o=0;if((e|0)!=0&(p|0)!=0){f=D3(c[e>>2]|0,w|0,x|0)|0;if(!f)bb(e|0,p|0);z=p}else f=-1;if((f|0)==1){k=t;m=j;i=r;d=v;h=v;e=z;g=q;u=74;break a}o=0;ka(65,m|0,g|0,d|0);e=o;o=0;if((e|0)!=0&(p|0)!=0){f=D3(c[e>>2]|0,w|0,x|0)|0;if(!f)bb(e|0,p|0);z=p}else f=-1;if((f|0)==1){k=t;m=j;i=r;d=v;h=v;e=z;g=q;u=74;break a}}o=0;e=ca(32,m|0,i|0,d|0)|0;f=o;o=0;if((f|0)!=0&(p|0)!=0){g=D3(c[f>>2]|0,w|0,x|0)|0;if(!g)bb(f|0,p|0);z=p}else g=-1;if((g|0)==1){k=t;m=j;i=r;d=v;h=v;e=z;g=q;u=74;break a}if(e|0){k=t;m=j;i=r;d=v;h=v;break a}e=j+(h<<3)|0;o=0;ma(30,s|0,m|0,d|0,i|0);f=o;o=0;if((f|0)!=0&(p|0)!=0){g=D3(c[f>>2]|0,w|0,x|0)|0;if(!g)bb(f|0,p|0);z=p}else g=-1;if((g|0)==1){k=t;m=j;i=r;d=v;h=v;e=z;g=q;u=74;break a}g=s;k=c[g+4>>2]|0;c[e>>2]=c[g>>2];c[e+4>>2]=k;o=0;ia(108,m|0);e=o;o=0;if((e|0)!=0&(p|0)!=0){f=D3(c[e>>2]|0,w|0,x|0)|0;if(!f)bb(e|0,p|0);z=p}else f=-1;if((f|0)==1){k=t;m=j;i=r;d=v;h=v;e=z;g=q;u=74;break a}h=h+1|0}o=0;ha(8);e=o;o=0;if((e|0)!=0&(p|0)!=0){f=D3(c[e>>2]|0,w|0,x|0)|0;if(!f)bb(e|0,p|0);z=p}else f=-1;if((f|0)!=1){o=0;e=$(32,r|0)|0;f=o;o=0;if((f|0)!=0&(p|0)!=0){g=D3(c[f>>2]|0,w|0,x|0)|0;if(!g)bb(f|0,p|0);z=p}else g=-1;if((g|0)!=1){c[r+20>>2]=e;o=0;e=$(33,r|0)|0;f=o;o=0;if((f|0)!=0&(p|0)!=0){g=D3(c[f>>2]|0,w|0,x|0)|0;if(!g)bb(f|0,p|0);z=p}else g=-1;if((g|0)!=1){c[r+24>>2]=e;o=0;ka(66,n|0,j|0,r|0);e=o;o=0;if((e|0)!=0&(p|0)!=0){f=D3(c[e>>2]|0,w|0,x|0)|0;if(!f)bb(e|0,p|0);z=p}else f=-1;if((f|0)!=1){w=C3(186216,1,w|0,x|0)|0;x=z;o=0;e=o;o=0;if((e|0)!=0&(p|0)!=0){f=D3(c[e>>2]|0,w|0,x|0)|0;if(!f)bb(e|0,p|0);z=p}else f=-1;if((f|0)!=1){k=t;m=j;i=r;d=v;h=v;e=0;g=q;u=74}else{k=t;m=j;i=r;d=v;h=v;e=z;g=q;u=74}}else{k=t;m=j;i=r;d=v;h=v;e=z;g=q;u=74}}else{k=t;m=j;i=r;d=v;h=v;e=z;g=q;u=74}}else{k=t;m=j;i=r;d=v;h=v;e=z;g=q;u=74}}else{k=t;m=j;i=r;d=v;h=v;e=z;g=q;u=74}}else{k=t;m=j;i=r;d=v;h=v;e=z;g=0;u=74}}else{k=t;m=j;i=r;d=v;h=v;e=z;g=0;u=74}}else{k=t;m=0;i=r;d=v;h=v;e=z;g=0;u=74}}else{n=0;k=t;m=0;j=0;i=r;d=v;h=v;e=z;g=0;u=74}}else{n=0;k=t;m=0;j=0;i=r;d=v;h=v;e=z;g=0;u=74}}else{n=0;k=t;m=0;j=0;i=0;d=v;h=v;e=z;g=0;u=74}}else{n=0;k=0;m=0;j=0;i=0;d=0;h=v;e=z;g=0;u=74}}else{n=0;k=0;m=0;j=0;i=0;d=0;h=0;e=z;g=0;u=74}while(0);d:while(1){if((u|0)==74){u=0;if(e|0){q=g;continue}o=0;ia(109,i|0);e=o;o=0;if((e|0)!=0&(p|0)!=0){f=D3(c[e>>2]|0,w|0,x|0)|0;if(!f)bb(e|0,p|0);z=p}else f=-1;if((f|0)==1){A=g;f=h;q=d;r=i;s=j;t=m;v=k;u=n;e=z;g=A;h=f;d=q;i=r;j=s;m=t;k=v;n=u;u=74;continue}if(c[46553]&4|0){o=0;na(8,g|0,i|0,n|0,m|0,d|0);e=o;o=0;if((e|0)!=0&(p|0)!=0){f=D3(c[e>>2]|0,w|0,x|0)|0;if(!f)bb(e|0,p|0);z=p}else f=-1;if((f|0)==1){f=g;q=h;r=d;s=i;t=j;v=m;A=k;u=n;e=z;g=f;h=q;d=r;i=s;j=t;m=v;k=A;n=u;u=74;continue}}o=0;oa(10,b|0,i|0,n|0,m|0,d|0,0);e=o;o=0;if((e|0)!=0&(p|0)!=0){f=D3(c[e>>2]|0,w|0,x|0)|0;if(!f)bb(e|0,p|0);z=p}else f=-1;if((f|0)==1){f=g;q=h;r=d;s=i;t=j;v=m;A=k;u=n;e=z;g=f;h=q;d=r;i=s;j=t;m=v;k=A;n=u;u=74;continue}q=g}if(!(a[191874]|0))e=0;else{o=0;ia(110,k|0);e=o;o=0;if((e|0)!=0&(p|0)!=0){f=D3(c[e>>2]|0,w|0,x|0)|0;if(!f)bb(e|0,p|0);z=p}else f=-1;if((f|0)==1){e=z;g=q;u=74;continue}e=0}while(1){if((e|0)>=(n|0))break;o=0;ia(103,c[m+(e<<3)+4>>2]|0);f=o;o=0;if((f|0)!=0&(p|0)!=0){g=D3(c[f>>2]|0,w|0,x|0)|0;if(!g)bb(f|0,p|0);z=p}else g=-1;if((g|0)==1){e=z;g=q;u=74;continue d}e=e+1|0}o=0;ia(103,j|0);e=o;o=0;if((e|0)!=0&(p|0)!=0){f=D3(c[e>>2]|0,w|0,x|0)|0;if(!f)bb(e|0,p|0);z=p}else f=-1;if((f|0)==1){e=z;g=q;u=74;continue}o=0;ia(111,i|0);e=o;o=0;if((e|0)!=0&(p|0)!=0){f=D3(c[e>>2]|0,w|0,x|0)|0;if(!f)bb(e|0,p|0);z=p}else f=-1;if((f|0)==1){e=z;g=q;u=74;continue}o=0;ia(103,h|0);e=o;o=0;if((e|0)!=0&(p|0)!=0){f=D3(c[e>>2]|0,w|0,x|0)|0;if(!f)bb(e|0,p|0);z=p}else f=-1;if((f|0)==1){e=z;g=q;u=74}else break}C_(w|0);l=y;return}function cN(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0.0;q=l;l=l+64|0;p=q+32|0;o=q+16|0;j=q;k=q+48|0;C1(107909,a)|0;C1(107920,a)|0;m=b+16|0;n=j+8|0;i=k+4|0;g=0;while(1){if((g|0)>=(c[b>>2]|0))break;d=c[m>>2]|0;e=c[d+(g*40|0)+20>>2]|0;f=c[d+(g*40|0)+24>>2]|0;if((e|0)==(f|0)){XN(j,e);d=~~+h[j>>3];e=~~+h[n>>3]}else{ZN(k,(c[e>>2]&1|0)==0?e:f,d+(g*40|0)|0);d=c[k>>2]|0;e=c[i>>2]|0}c[o>>2]=g;c[o+4>>2]=d;c[o+8>>2]=e;f1(a,107940,o)|0;g=g+1|0}f=b+4|0;e=b+20|0;d=0;while(1){if((d|0)>=(c[f>>2]|0))break;o=c[e>>2]|0;b=c[o+(d*24|0)+16>>2]|0;r=+h[o+(d*24|0)>>3];c[p>>2]=c[o+(d*24|0)+12>>2];c[p+4>>2]=b;h[p+8>>3]=r;f1(a,107960,p)|0;d=d+1|0}C1(107982,a)|0;l=q;return}function dN(a){a=a|0;var b=0.0,d=0.0,e=0,f=0;f=c[a>>2]&3;e=c[(c[((f|0)==3?a:a+48|0)+40>>2]|0)+16>>2]|0;a=c[(c[((f|0)==2?a:a+-48|0)+40>>2]|0)+16>>2]|0;b=+h[e+16>>3]-+h[a+16>>3];d=+h[e+24>>3]-+h[a+24>>3];return ~~(d*d+b*b)|0}function eN(a,b){a=a|0;b=b|0;return (c[a>>2]|0)-(c[b>>2]|0)|0}function fN(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,m=0,n=0;n=l;l=l+32|0;j=n;XN(n+16|0,d);k=d+32|0;m=d+36|0;g=0;while(1){if((g|0)>=(c[k>>2]|0))break;h=c[(c[m>>2]|0)+(g<<2)>>2]|0;do if(!(a[h+36>>0]|0)){i=c[h+20>>2]|0;if((i|0)==(d|0)){VN(j,h,c[h+24>>2]|0);oO(b,f,h,0.0)|0;break}else{VN(j,h,i);oO(b,e,h,0.0)|0;break}}while(0);g=g+1|0}c[b>>2]=(c[b>>2]|0)+2;l=n;return}function gN(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0;k=l;l=l+32|0;h=k;XN(k+16|0,b);i=b+32|0;j=b+36|0;f=0;while(1){if((f|0)>=(c[i>>2]|0))break;g=c[(c[j>>2]|0)+(f<<2)>>2]|0;e=c[g+20>>2]|0;if((e|0)==(b|0))e=c[g+24>>2]|0;VN(h,g,e);oO(a,d,g,0.0)|0;f=f+1|0}c[a>>2]=(c[a>>2]|0)+1;c[d+24>>2]=b;c[d+20>>2]=b;l=k;return}function hN(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,i=0,j=0,k=0.0,m=0.0,n=0,o=0.0,p=0.0,q=0,r=0,s=0,t=0,u=0,v=0,w=0.0,x=0.0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0;H=l;l=l+128|0;C=H+64|0;n=H+48|0;D=H+32|0;E=H+16|0;F=H;g=0;i=e;while(1){if(!i)break;g=g+1|0;i=c[i+8>>2]|0}B=tH((g*56|0)+-112|0)|0;c[C+52>>2]=0;c[C+48>>2]=0;A=e+8|0;e=c[A>>2]|0;i=c[e+8>>2]|0;g=c[e+20>>2]|0;if(c[g>>2]&1)g=c[e+24>>2]|0;VN(n,e,g);j=e;q=e;p=0.0;o=+h[n>>3];z=0;m=0.0;x=+h[n+8>>3];while(1){y=i+8|0;if(!(c[y>>2]|0))break;v=WN(j,i)|0;MR(d,v,c[q+12>>2]|0);t=q+36|0;u=i+36|0;if((a[t>>0]|0)==(a[u>>0]|0))if((c[y>>2]|0)==(f|0)){VN(E,i,v);e=E;G=12}else{j=q;e=z;k=x}else{XN(D,v);e=D;G=12}if((G|0)==12){G=0;w=+h[e>>3];k=+h[e+8>>3];e=a[t>>0]|0;s=e<<24>>24==0;r=(q|0)==(c[A>>2]|0);if(s){if(!(a[u>>0]|0))e=0;else e=(c[i+20>>2]|0)==(v|0)?4:2;n=v+48|0;q=g+48|0;j=g+40|0;g=r?0:p>o?4:2}else{if(e<<24>>24==(a[u>>0]|0))e=0;else e=(c[i+20>>2]|0)==(v|0)?1:3;n=v+40|0;q=g+40|0;j=g+48|0;g=r?0:m>x?1:3}YN(C,s&1,+h[j>>3],+h[q>>3],+h[n>>3],g,e);q=z+1|0;g=B+(z*56|0)|0;e=C;j=g+56|0;do{c[g>>2]=c[e>>2];g=g+4|0;e=e+4|0}while((g|0)<(j|0));if((a[t>>0]|0)!=(a[u>>0]|0)?(c[y>>2]|0)==(f|0):0){VN(F,i,v);n=(a[u>>0]|0)==0;e=v+40|0;g=v+48|0;p=+h[(n?g:e)>>3];YN(C,n&1,+h[(n?e:g)>>3],p,p,n?(o>w?4:2):x>k?1:3,0);n=z+2|0;g=B+(q*56|0)|0;e=C;j=g+56|0;do{c[g>>2]=c[e>>2];g=g+4|0;e=e+4|0}while((g|0)<(j|0));g=v;j=i;p=o;o=w;e=n;m=x}else{g=v;j=i;p=o;o=w;e=q;m=x}}v=i;i=c[y>>2]|0;q=j;z=e;x=k;j=v}i=E_(B,z*56|0)|0;e=z+-1|0;g=0;while(1){if((g|0)>=(z|0))break;if((g|0)>0)c[i+(g*56|0)+48>>2]=i+((g+-1|0)*56|0);if((g|0)<(e|0)){G=g+1|0;c[i+(g*56|0)+52>>2]=i+(G*56|0);g=G;continue}else{g=g+1|0;continue}}c[b>>2]=z;c[b+4>>2]=i;l=H;return}function iN(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,i=0,j=0,k=0;j=Bw(25588,c[4555]|0)|0;k=a+8|0;i=0;while(1){if((i|0)>=(c[a>>2]|0))break;b=(c[k>>2]|0)+(i*72|0)|0;if(!(c[b>>2]&4)){while(1){d=c[(c[b+36>>2]|0)+8>>2]|0;if(!d)break;d=c[d+20>>2]|0;if(!d)break;if(!(c[d>>2]&1))b=d;else break}g=tH(40)|0;c[g+36>>2]=b;h[g+8>>3]=+h[b+40>>3];f=b;d=c[b>>2]|0;while(1){c[f>>2]=d|4;d=c[c[f+36>>2]>>2]|0;if(!d)break;e=c[d+24>>2]|0;if(!e)break;d=c[e>>2]|0;if(d&1|0)break;else f=e}h[g+16>>3]=+h[f+56>>3];QN(j,g,+h[b+48>>3])}i=i+1|0}return j|0}function jN(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,i=0,j=0,k=0;j=Bw(25588,c[4555]|0)|0;k=a+8|0;i=0;while(1){if((i|0)>=(c[a>>2]|0))break;b=(c[k>>2]|0)+(i*72|0)|0;if(!(c[b>>2]&2)){while(1){d=c[(c[b+36>>2]|0)+12>>2]|0;if(!d)break;d=c[d+20>>2]|0;if(!d)break;if(!(c[d>>2]&1))b=d;else break}g=tH(40)|0;c[g+36>>2]=b;h[g+8>>3]=+h[b+48>>3];f=b;d=c[b>>2]|0;while(1){c[f>>2]=d|2;d=c[(c[f+36>>2]|0)+4>>2]|0;if(!d)break;e=c[d+24>>2]|0;if(!e)break;d=c[e>>2]|0;if(d&1|0)break;else f=e}h[g+16>>3]=+h[f+64>>3];QN(j,g,+h[b+40>>3])}i=i+1|0}return j|0}function kN(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0;j=e+20|0;i=e+24|0;e=0;while(1){if((e|0)>=(b|0))break;g=c[d+(e<<3)>>2]|0;h=c[d+(e<<3)+4>>2]|0;f=0;while(1){if((f|0)>=(g|0))break;k=h+(f*56|0)|0;PN(tN(c[((a[k>>0]|0)==0?j:i)>>2]|0,k)|0,k);f=f+1|0}e=e+1|0}return}function lN(a){a=a|0;var b=0,d=0;d=a+20|0;vN(c[d>>2]|0);b=a+24|0;vN(c[b>>2]|0);wN(c[d>>2]|0);wN(c[b>>2]|0);xN(c[d>>2]|0,a);xN(c[b>>2]|0,a);yN(c[d>>2]|0);yN(c[b>>2]|0);return}function mN(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0.0,B=0.0,C=0.0,D=0,E=0.0;z=l;l=l+224|0;n=z+176|0;m=z+208|0;x=z+160|0;y=z+128|0;k=z+96|0;t=z+64|0;u=z;o=z+32|0;v=u+8|0;h[v>>3]=1797693134862315708145274.0e284;h[u>>3]=1797693134862315708145274.0e284;w=u+24|0;h[w>>3]=-1797693134862315708145274.0e284;p=u+16|0;h[p>>3]=-1797693134862315708145274.0e284;C1(107157,a)|0;c[n>>2]=10;c[n+4>>2]=10;f1(a,107563,n)|0;C1(135183,a)|0;i=b+4|0;j=b+12|0;q=t+8|0;r=t+16|0;s=t+24|0;g=0;while(1){if((g|0)>=(c[i>>2]|0))break;D=(c[j>>2]|0)+(g*72|0)+40|0;c[t>>2]=c[D>>2];c[t+4>>2]=c[D+4>>2];c[t+8>>2]=c[D+8>>2];c[t+12>>2]=c[D+12>>2];c[t+16>>2]=c[D+16>>2];c[t+20>>2]=c[D+20>>2];c[t+24>>2]=c[D+24>>2];c[t+28>>2]=c[D+28>>2];C=+h[q>>3];B=+h[r>>3];A=+h[s>>3];h[k>>3]=+h[t>>3];h[k+8>>3]=C;h[k+16>>3]=B;h[k+24>>3]=A;f1(a,135202,k)|0;g=g+1|0}g=0;while(1){if((g|0)>=(d|0))break;D=c[f+(g<<3)+4>>2]|0;k=e+(g<<3)|0;c[m>>2]=c[k>>2];c[m+4>>2]=c[k+4>>2];c[n>>2]=c[u>>2];c[n+4>>2]=c[u+4>>2];c[n+8>>2]=c[u+8>>2];c[n+12>>2]=c[u+12>>2];c[n+16>>2]=c[u+16>>2];c[n+20>>2]=c[u+20>>2];c[n+24>>2]=c[u+24>>2];c[n+28>>2]=c[u+28>>2];uN(o,a,D,m,b,n);c[u>>2]=c[o>>2];c[u+4>>2]=c[o+4>>2];c[u+8>>2]=c[o+8>>2];c[u+12>>2]=c[o+12>>2];c[u+16>>2]=c[o+16>>2];c[u+20>>2]=c[o+20>>2];c[u+24>>2]=c[o+24>>2];c[u+28>>2]=c[o+28>>2];g=g+1|0}C1(107580,a)|0;i=b+8|0;g=0;while(1){if((g|0)>=(c[b>>2]|0))break;D=(c[i>>2]|0)+(g*72|0)+40|0;c[t>>2]=c[D>>2];c[t+4>>2]=c[D+4>>2];c[t+8>>2]=c[D+8>>2];c[t+12>>2]=c[D+12>>2];c[t+16>>2]=c[D+16>>2];c[t+20>>2]=c[D+20>>2];c[t+24>>2]=c[D+24>>2];c[t+28>>2]=c[D+28>>2];E=+h[t>>3];A=+h[q>>3];B=+h[r>>3];C=+h[s>>3];h[y>>3]=E;h[y+8>>3]=A;h[y+16>>3]=B;h[y+24>>3]=C;f1(a,135239,y)|0;h[u>>3]=+h[(+h[u>>3]>3];h[v>>3]=+h[(+h[v>>3]>3];h[p>>3]=+h[(+h[p>>3]>B?u:t)+16>>3];h[w>>3]=+h[(+h[w>>3]>C?u:t)+24>>3];g=g+1|0}v=~~(+h[v>>3]+10.0);y=~~(+h[p>>3]+10.0);D=~~(+h[w>>3]+10.0);c[x>>2]=~~(+h[u>>3]+10.0);c[x+4>>2]=v;c[x+8>>2]=y;c[x+12>>2]=D;f1(a,107605,x)|0;l=z;return}function nN(b,d,e,f,g,i){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;i=i|0;var j=0.0,k=0.0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0;N=l;l=l+112|0;F=N+88|0;E=N+72|0;M=N+32|0;I=N+16|0;J=N;K=N+56|0;L=N+40|0;G=c[15686]|0;w=(i|0)==0;x=J+8|0;y=I+8|0;v=0;m=0;n=0;o=0;p=0;i=0;while(1){if((v|0)>=(e|0))break;z=c[g+(v<<3)+4>>2]|0;A=z+48|0;u=(c[(c[((c[z>>2]&3|0)==3?z:A)+40>>2]|0)+16>>2]|0)+16|0;B=z+16|0;C=(c[B>>2]|0)+16|0;c[E>>2]=c[u>>2];c[E+4>>2]=c[u+4>>2];c[E+8>>2]=c[u+8>>2];c[E+12>>2]=c[u+12>>2];c[F>>2]=c[C>>2];c[F+4>>2]=c[C+4>>2];c[F+8>>2]=c[C+8>>2];c[F+12>>2]=c[C+12>>2];oN(K,E,F);c[I>>2]=c[K>>2];c[I+4>>2]=c[K+4>>2];c[I+8>>2]=c[K+8>>2];c[I+12>>2]=c[K+12>>2];C=z+-48|0;u=(c[(c[((c[z>>2]&3|0)==2?z:C)+40>>2]|0)+16>>2]|0)+16|0;t=(c[B>>2]|0)+56|0;c[E>>2]=c[u>>2];c[E+4>>2]=c[u+4>>2];c[E+8>>2]=c[u+8>>2];c[E+12>>2]=c[u+12>>2];c[F>>2]=c[t>>2];c[F+4>>2]=c[t+4>>2];c[F+8>>2]=c[t+8>>2];c[F+12>>2]=c[t+12>>2];oN(L,E,F);c[J>>2]=c[L>>2];c[J+4>>2]=c[L+4>>2];c[J+8>>2]=c[L+8>>2];c[J+12>>2]=c[L+12>>2];t=c[f+(v<<3)>>2]|0;u=c[f+(v<<3)+4>>2]|0;s=t*3|0;D=s+1|0;if((s|0)>=(n|0)){if(m|0)C_(i);p=uH(D<<4)|0;m=p;n=D;o=p;i=p}if(!(a[u>>0]|0)){k=+(qN(u,d)|0);j=+h[I>>3]}else{j=+pN(u,d);k=+h[y>>3]}r=m+16|0;h[m+16>>3]=j;h[m+24>>3]=k;c[p>>2]=c[r>>2];c[p+4>>2]=c[r+4>>2];c[p+8>>2]=c[r+8>>2];c[p+12>>2]=c[r+12>>2];r=1;q=u;s=2;while(1){if((r|0)>=(t|0))break;q=u+(r*56|0)|0;if(!(a[q>>0]|0))k=+(qN(q,d)|0);else j=+pN(q,d);O=m+(s+2<<4)|0;Q=m+(s+1<<4)|0;P=m+(s<<4)|0;h[P>>3]=j;h[m+(s<<4)+8>>3]=k;c[Q>>2]=c[P>>2];c[Q+4>>2]=c[P+4>>2];c[Q+8>>2]=c[P+8>>2];c[Q+12>>2]=c[P+12>>2];c[O>>2]=c[P>>2];c[O+4>>2]=c[P+4>>2];c[O+8>>2]=c[P+8>>2];c[O+12>>2]=c[P+12>>2];r=r+1|0;s=s+3|0}if(!(a[q>>0]|0)){k=+(qN(q,d)|0);j=+h[J>>3]}else{j=+pN(q,d);k=+h[x>>3]}Q=m+(s<<4)|0;O=s+1|0;P=m+(O<<4)|0;h[P>>3]=j;h[m+(O<<4)+8>>3]=k;c[Q>>2]=c[P>>2];c[Q+4>>2]=c[P+4>>2];c[Q+8>>2]=c[P+8>>2];c[Q+12>>2]=c[P+12>>2];if(0>1){P=qy(c[((c[z>>2]&3|0)==3?z:A)+40>>2]|0)|0;Q=qy(c[((c[z>>2]&3|0)==2?z:C)+40>>2]|0)|0;c[M>>2]=P;c[M+4>>2]=Q;f1(G,107116,M)|0}PK(z,c[((c[z>>2]&3|0)==2?z:C)+40>>2]|0,m,D,25576);if((!w?(H=c[(c[B>>2]|0)+96>>2]|0,H|0):0)?(a[H+81>>0]|0)==0:0){c[E>>2]=c[I>>2];c[E+4>>2]=c[I+4>>2];c[E+8>>2]=c[I+8>>2];c[E+12>>2]=c[I+12>>2];c[F>>2]=c[J>>2];c[F+4>>2]=c[J+4>>2];c[F+8>>2]=c[J+8>>2];c[F+12>>2]=c[J+12>>2];iL(b,z,E,F)}v=v+1|0}C_(o);l=N;return}function oN(a,b,d){a=a|0;b=b|0;d=d|0;var e=0;h[b>>3]=+h[b>>3]+ +h[d>>3];e=b+8|0;h[e>>3]=+h[e>>3]+ +h[d+8>>3];c[a>>2]=c[b>>2];c[a+4>>2]=c[b+4>>2];c[a+8>>2]=c[b+8>>2];c[a+12>>2]=c[b+12>>2];return}function pN(a,b){a=a|0;b=b|0;var d=0.0,e=0;b=tN(c[b+24>>2]|0,a)|0;e=c[b+36>>2]|0;d=+h[e+40>>3];return +((+h[e+56>>3]-d)*(+(c[a+44>>2]|0)/+((c[b+24>>2]|0)+1|0))+d)}function qN(a,b){a=a|0;b=b|0;var d=0.0,e=0;e=tN(c[b+20>>2]|0,a)|0;b=c[e+36>>2]|0;d=+h[b+48>>3];return ~~((1.0-+(c[a+44>>2]|0)/+((c[e+24>>2]|0)+1|0))*(+h[b+64>>3]-d)+d)|0}function rN(a){a=a|0;return 0}function sN(a){a=a|0;return 0}function tN(a,b){a=a|0;b=b|0;a=nb[c[a>>2]&63](a,b+8|0,512)|0;if(!a)qa(107129,107135,423,107143);a=c[a+16>>2]|0;a=nb[c[a>>2]&63](a,b+16|0,512)|0;if(!a)qa(107154,107135,425,107143);else return a|0;return 0}function uN(b,d,e,f,g,i){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;i=i|0;var j=0,k=0.0,m=0,n=0,o=0,p=0.0,q=0.0,r=0.0,s=0.0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0.0,C=0.0,D=0.0;z=l;l=l+32|0;y=z+16|0;u=z+8|0;m=z;j=c[(c[(c[((c[e>>2]&3|0)==3?e:e+48|0)+40>>2]|0)+16>>2]|0)+112>>2]|0;t=c[f+4>>2]|0;if(!(a[t>>0]|0)){k=+h[j+56>>3];s=+h[j+40>>3];j=qN(t,g)|0;k=(s+k)*.5}else{k=+h[j+64>>3];s=+h[j+48>>3];j=~~((s+k)*.5);k=+pN(t,g)}A=~~k;p=+h[i>>3];r=+(A|0);p=p>3]=p;v=i+8|0;q=+h[v>>3];s=+(j|0);q=q>3]=q;w=i+16|0;k=+h[w>>3];r=k>r?k:r;h[w>>3]=r;x=i+24|0;k=+h[x>>3];s=k>s?k:s;h[x>>3]=s;c[m>>2]=A;c[m+4>>2]=j;f1(d,107656,m)|0;o=c[f>>2]|0;m=t;n=1;f=A;while(1){if((n|0)>=(o|0))break;m=t+(n*56|0)|0;if(!(a[m>>0]|0))j=qN(m,g)|0;else f=~~+pN(m,g);B=+(f|0);D=p>3]=D;k=+(j|0);C=q>3]=C;B=r>B?r:B;h[w>>3]=B;k=s>k?s:k;h[x>>3]=k;c[u>>2]=f;c[u+4>>2]=j;f1(d,107678,u)|0;n=n+1|0;p=D;q=C;r=B;s=k}j=c[(c[(c[((c[e>>2]&3|0)==2?e:e+-48|0)+40>>2]|0)+16>>2]|0)+112>>2]|0;if(!(a[m>>0]|0)){k=+h[j+56>>3];D=+h[j+40>>3];j=qN(m,g)|0;k=(D+k)*.5}else{k=+h[j+64>>3];D=+h[j+48>>3];j=~~((D+k)*.5);k=+pN(m,g)}A=~~k;C=+(A|0);h[i>>3]=p>3]=q>3]=r>C?r:C;h[x>>3]=s>D?s:D;c[y>>2]=A;c[y+4>>2]=j;f1(d,107692,y)|0;c[b>>2]=c[i>>2];c[b+4>>2]=c[i+4>>2];c[b+8>>2]=c[i+8>>2];c[b+12>>2]=c[i+12>>2];c[b+16>>2]=c[i+16>>2];c[b+20>>2]=c[i+20>>2];c[b+24>>2]=c[i+24>>2];c[b+28>>2]=c[i+28>>2];l=z;return}function vN(a){a=a|0;var b=0;a=zw(a)|0;while(1){if(!a)break;b=zw(c[a+16>>2]|0)|0;while(1){if(!b)break;c[b+32>>2]=_N(c[b+24>>2]|0)|0;b=c[b>>2]|0}a=c[a>>2]|0}return}function wN(a){a=a|0;var b=0;a=zw(a)|0;while(1){if(!a)break;b=zw(c[a+16>>2]|0)|0;while(1){if(!b)break;if(c[b+24>>2]|0)ON(b);b=c[b>>2]|0}a=c[a>>2]|0}return}function xN(a,b){a=a|0;b=b|0;var d=0;d=zw(a)|0;while(1){if(!d)break;a=zw(c[d+16>>2]|0)|0;while(1){if(!a)break;CN(a,b);a=c[a>>2]|0}d=c[d>>2]|0}return}function yN(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,i=0;e=zw(a)|0;while(1){if(!e)break;i=e+8|0;f=zw(c[e+16>>2]|0)|0;while(1){if(!f)break;a=f+24|0;a:do if(c[a>>2]|0){if(c[46553]&8|0)zN(f,~~+h[i>>3]);g=f+32|0;dO(c[g>>2]|0);b=c[a>>2]|0;d=f+28|0;a=0;while(1){if((a|0)>=(b|0))break a;c[(c[(c[d>>2]|0)+(a<<2)>>2]|0)+44>>2]=(c[(c[(c[g>>2]|0)+4>>2]|0)+(a*12|0)+4>>2]|0)+1;a=a+1|0}}while(0);f=c[f>>2]|0}e=c[e>>2]|0}return}function zN(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,i=0,j=0,k=0.0,m=0.0;j=l;l=l+32|0;d=j;g=a+24|0;a:do if((c[g>>2]|0)>=2){i=c[15686]|0;m=+h[a+8>>3];k=+h[a+16>>3];c[d>>2]=b;h[d+8>>3]=m;h[d+16>>3]=k;f1(i,107713,d)|0;f=a+32|0;a=a+28|0;b=0;while(1){if((b|0)>=(c[g>>2]|0))break a;e=c[(c[(c[f>>2]|0)+4>>2]|0)+(b*12|0)+8>>2]|0;b:do if(Dw(e)|0){AN(i,c[(c[a>>2]|0)+(b<<2)>>2]|0);C1(107733,i)|0;d=nb[c[e>>2]&63](e,0,128)|0;while(1){if(!d)break b;C1(107738,i)|0;AN(i,c[(c[a>>2]|0)+(c[d>>2]<<2)>>2]|0);C1(150517,i)|0;d=nb[c[e>>2]&63](e,d,8)|0}}while(0);b=b+1|0}}while(0);l=j;return}function AN(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,i=0,j=0.0,k=0.0,m=0.0;g=l;l=l+80|0;f=g+40|0;e=g;if(!(a[d>>0]|0)){m=+h[d+16>>3];j=+h[d+8>>3];k=+h[d+24>>3];i=BN(c[d+32>>2]|0)|0;e=BN(c[d+36>>2]|0)|0;h[f>>3]=m;h[f+8>>3]=j;h[f+16>>3]=k;h[f+24>>3]=j;c[f+32>>2]=i;c[f+36>>2]=e;f1(b,107744,f)|0}else{k=+h[d+8>>3];j=+h[d+16>>3];m=+h[d+24>>3];f=BN(c[d+32>>2]|0)|0;i=BN(c[d+36>>2]|0)|0;h[e>>3]=k;h[e+8>>3]=j;h[e+16>>3]=k;h[e+24>>3]=m;c[e+32>>2]=f;c[e+36>>2]=i;f1(b,107744,e)|0}l=g;return}function BN(a){a=a|0;switch(a|0){case 0:{a=107795;break}case 1:{a=107790;break}case 2:{a=107783;break}case 3:{a=107776;break}case 4:{a=107768;break}default:a=0}return a|0}function CN(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0;w=l;l=l+16|0;r=w+8|0;t=w;u=c[a+32>>2]|0;v=c[a+28>>2]|0;p=a+24|0;m=r+4|0;n=t+4|0;j=0;a=c[p>>2]|0;a:while(1){q=j+1|0;if((q|0)>=(a|0))break;o=v+(j<<2)|0;k=q;while(1){if((k|0)>=(a|0)){j=q;continue a}b:do if(((cO(u,j,k)|0)==0?(cO(u,k,j)|0)==0:0)?(s=v+(k<<2)|0,DN(c[o>>2]|0,c[s>>2]|0)|0):0){f=c[o>>2]|0;a=c[f+48>>2]|0;i=c[s>>2]|0;d=c[i+48>>2]|0;e=(d|0)==0;if(a)if(e)a=1;else a=+h[a+8>>3]!=+h[d+8>>3];else a=e^1;g=a&1;EN(r,f,i,0,g);a=c[r>>2]|0;i=c[m>>2]|0;f=g^1;EN(t,c[o>>2]|0,c[s>>2]|0,1,f);d=c[t>>2]|0;e=c[n>>2]|0;switch(i|0){case -1:{FN(c[s>>2]|0,c[o>>2]|0,g,0,a,b);FN(c[s>>2]|0,c[o>>2]|0,f,1,d,b);if((e|0)!=1)break b;GN(c[o>>2]|0,c[s>>2]|0,f,b);break b}case 0:switch(e|0){case -1:{FN(c[s>>2]|0,c[o>>2]|0,g,0,a,b);FN(c[s>>2]|0,c[o>>2]|0,f,1,d,b);break b}case 0:{FN(c[o>>2]|0,c[s>>2]|0,0,g,a,b);FN(c[o>>2]|0,c[s>>2]|0,1,f,d,b);break b}case 1:{FN(c[o>>2]|0,c[s>>2]|0,0,g,a,b);FN(c[o>>2]|0,c[s>>2]|0,1,f,d,b);break b}default:break b}case 1:{FN(c[o>>2]|0,c[s>>2]|0,0,g,a,b);FN(c[o>>2]|0,c[s>>2]|0,1,f,d,b);if((e|0)!=-1)break b;GN(c[o>>2]|0,c[s>>2]|0,f,b);break b}default:break b}}while(0);k=k+1|0;a=c[p>>2]|0}}l=w;return}function DN(a,b){a=a|0;b=b|0;if(!(+h[a+8>>3]==+h[b+8>>3]))qa(107866,107135,843,107897);if((+h[a+16>>3]==+h[b+16>>3]?+h[a+24>>3]==+h[b+24>>3]:0)?(c[a+32>>2]|0)==(c[b+32>>2]|0):0)a=(c[a+36>>2]|0)==(c[b+36>>2]|0)&1;else a=0;return a|0}function EN(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0;g=0;while(1){b=HN(b,e)|0;if(!b){h=0;break}d=HN(d,f)|0;if(!d){i=6;break}if(!(DN(b,d)|0)){i=7;break}g=g+1|0}if((i|0)==6)qa(135312,107135,871,107815);else if((i|0)==7)h=JN(b,IN(b,d)|0,g+1|0,1-e|0)|0;c[a>>2]=g;c[a+4>>2]=h;return}function FN(b,d,e,f,g,i){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;i=i|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0;o=i+20|0;n=i+24|0;i=tN(c[((a[b>>0]|0)==0?o:n)>>2]|0,b)|0;aO(c[i+32>>2]|0,c[b+40>>2]|0,c[d+40>>2]|0);k=1;while(1){if((k|0)>(g|0))break;l=HN(b,e)|0;m=HN(d,f)|0;do if(!(a[b>>0]|0)){j=tN(c[n>>2]|0,l)|0;if(+h[l+8>>3]==+h[b+16>>3]){p=(c[b+32>>2]|0)==1;i=(cO(c[i+32>>2]|0,c[b+40>>2]|0,c[d+40>>2]|0)|0)!=0;b=c[j+32>>2]|0;if(p)if(i){aO(b,c[m+40>>2]|0,c[l+40>>2]|0);i=j;break}else{aO(b,c[l+40>>2]|0,c[m+40>>2]|0);i=j;break}else if(i){aO(b,c[l+40>>2]|0,c[m+40>>2]|0);i=j;break}else{aO(b,c[m+40>>2]|0,c[l+40>>2]|0);i=j;break}}else{p=(c[b+36>>2]|0)==1;i=(cO(c[i+32>>2]|0,c[b+40>>2]|0,c[d+40>>2]|0)|0)!=0;b=c[j+32>>2]|0;if(p)if(i){aO(b,c[l+40>>2]|0,c[m+40>>2]|0);i=j;break}else{aO(b,c[m+40>>2]|0,c[l+40>>2]|0);i=j;break}else if(i){aO(b,c[m+40>>2]|0,c[l+40>>2]|0);i=j;break}else{aO(b,c[l+40>>2]|0,c[m+40>>2]|0);i=j;break}}}else{j=tN(c[o>>2]|0,l)|0;if(+h[l+8>>3]==+h[b+16>>3]){p=(c[b+32>>2]|0)==2;i=(cO(c[i+32>>2]|0,c[b+40>>2]|0,c[d+40>>2]|0)|0)!=0;b=c[j+32>>2]|0;if(p)if(i){aO(b,c[l+40>>2]|0,c[m+40>>2]|0);i=j;break}else{aO(b,c[m+40>>2]|0,c[l+40>>2]|0);i=j;break}else if(i){aO(b,c[m+40>>2]|0,c[l+40>>2]|0);i=j;break}else{aO(b,c[l+40>>2]|0,c[m+40>>2]|0);i=j;break}}else{p=(c[b+36>>2]|0)==2;i=(cO(c[i+32>>2]|0,c[b+40>>2]|0,c[d+40>>2]|0)|0)!=0;b=c[j+32>>2]|0;if(p)if(i){aO(b,c[m+40>>2]|0,c[l+40>>2]|0);i=j;break}else{aO(b,c[l+40>>2]|0,c[m+40>>2]|0);i=j;break}else if(i){aO(b,c[l+40>>2]|0,c[m+40>>2]|0);i=j;break}else{aO(b,c[m+40>>2]|0,c[l+40>>2]|0);i=j;break}}}while(0);b=l;d=m;k=k+1|0}return}function GN(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0;while(1){if(!(DN(b,d)|0))break;g=HN(b,1)|0;d=HN(d,e)|0;b=g}g=c[(tN(c[((a[b>>0]|0)==0?f+20|0:f+24|0)>>2]|0,b)|0)+32>>2]|0;bO(g,c[b+40>>2]|0,c[d+40>>2]|0);return}function HN(a,b){a=a|0;b=b|0;if(!a)qa(107802,107135,798,107806);else return c[((b|0)==0?a+48|0:a+52|0)>>2]|0;return 0}function IN(b,c){b=b|0;c=c|0;var d=0,e=0,f=0;f=l;l=l+16|0;e=f;d=a[b>>0]|0;if(d<<24>>24==(a[c>>0]|0)?!(+h[b+8>>3]!=+h[c+8>>3]):0){if(!(d<<24>>24))b=KN(b,c,3,1)|0;else b=KN(b,c,4,2)|0;l=f;return b|0}Ow(1,107828,e)|0;bb(186216,1);return 0}function JN(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,i=0,j=0;j=1;while(1){if((j|0)>(e|0))break;i=HN(b,f)|0;g=+h[i+8>>3]==+h[b+16>>3];do if(!(a[b>>0]|0))if(g){g=(c[b+32>>2]|0)==1;break}else{g=(c[b+36>>2]|0)==3;break}else if(g){g=(c[b+32>>2]|0)==4;break}else{g=(c[b+36>>2]|0)==2;break}while(0);b=i;j=j+1|0;d=g?0-d|0:d}return d|0}function KN(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0.0,i=0.0,j=0.0,k=0.0,l=0,m=0,n=0,o=0;j=+h[a+24>>3];k=+h[b+16>>3];do if(!(j>3],i=+h[b+24>>3],!(g>i)):0){if(k>2]|0;return ((d|0)==(c[b+32>>2]|0)?0:(d|0)==(e|0)?1:-1)|0}else{d=c[a+32>>2]|0;b=(d|0)==(c[b+36>>2]|0)?0:(d|0)==(e|0)?1:-1;break}if(!(j==i))if(j>2]|0)==(d|0);d=NN(c[b+32>>2]|0,c[a+32>>2]|0,d,e)|0;return (o?d:0-d|0)|0}else{o=(c[b+36>>2]|0)==(e|0);b=NN(c[a+32>>2]|0,c[b+32>>2]|0,d,e)|0;b=o?b:0-b|0;break}o=c[a+32>>2]|0;n=c[b+32>>2]|0;if((o|0)==(n|0)){b=c[b+36>>2]|0;if((c[a+36>>2]|0)==(b|0)){b=0;break}}else b=c[b+36>>2]|0;m=(n|0)==(d|0);if((n|0)==(b|0)){if(m){b=1;break}if((n|0)==(e|0)){b=-1;break}if((o|0)!=(d|0)?(c[a+36>>2]|0)!=(d|0):0){b=1;break}if((o|0)!=(e|0)?(c[a+36>>2]|0)!=(e|0):0){b=-1;break}b=0;break}f=(b|0)==(e|0);if(m&f){b=(c[a+36>>2]|0)==(e|0);if((o|0)==(d|0)){if(!b){b=-1;break}}else if(b){b=1;break}b=0;break}l=(b|0)==(d|0);if((n|0)==(e|0)&l){b=(o|0)==(e|0);if((c[a+36>>2]|0)==(d|0)){if(!b){b=-1;break}}else if(b){b=1;break}b=0;break}if(!n){if(l){b=MN(o,c[a+36>>2]|0,d)|0;break}if(f){b=0-(MN(o,c[a+36>>2]|0,e)|0)|0;break}}f=c[a+36>>2]|0;if(m&(b|0)==0){b=MN(f,o,d)|0;break}else{b=0-(MN(f,o,e)|0)|0;break}}else b=0;while(0);return b|0}function LN(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,i=0.0,j=0.0;i=+h[a+24>>3];j=+h[b+24>>3];do if(i>2]|0;if((a|0)==(d|0)?(c[b+32>>2]|0)==(e|0):0){a=-1;break}if((a|0)==(e|0)?(c[b+32>>2]|0)==(d|0):0){a=1;break}a=0}else{f=c[b+32>>2]|0;g=(f|0)==(e|0);if(i==j)if(g){a=NN(c[a+36>>2]|0,c[b+36>>2]|0,d,e)|0;break}else{a=0-(NN(c[b+36>>2]|0,c[a+36>>2]|0,d,e)|0)|0;break}if(g?(c[b+36>>2]|0)==(e|0):0){a=-1;break}if((f|0)==(d|0)?(c[b+36>>2]|0)==(d|0):0){a=1;break}a=0}while(0);return a|0}function MN(a,b,c){a=a|0;b=b|0;c=c|0;return ((a|0)==(c|0)?((b|0)==(c|0))<<31>>31:1)|0}function NN(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;if((a|0)==(d|0)){b=(a|0)==0;if(b)return 0;else b=b&1}return ((a|0)!=0|(b|0)!=(c|0))<<31>>31|0}function ON(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0;g=c[a+28>>2]|0;h=c[a+24>>2]|0;d=c[a+32>>2]|0;a=0;a:while(1){e=a+1|0;if((e|0)>=(h|0))break;f=g+(a<<2)|0;b=e;while(1){if((b|0)==(h|0)){a=e;continue a}switch(IN(c[f>>2]|0,c[g+(b<<2)>>2]|0)|0){case 1:{aO(d,a,b);break}case -1:{aO(d,b,a);break}default:{}}b=b+1|0}}return}function PN(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;f=a+24|0;e=c[f>>2]|0;d=e+1|0;c[f>>2]=d;c[b+40>>2]=e;e=a+28|0;a=c[e>>2]|0;if(!a)a=uH(d<<2)|0;else a=wH(a,d<<2)|0;c[e>>2]=a;c[a+((c[f>>2]|0)+-1<<2)>>2]=b;return}function QN(a,b,d){a=a|0;b=b|0;d=+d;var e=0,f=0,g=0;g=l;l=l+16|0;f=g;h[f>>3]=d;e=nb[c[a>>2]&63](a,f,512)|0;if(!e){e=tH(24)|0;h[e+8>>3]=+h[f>>3];c[e+16>>2]=Bw(25624,c[4555]|0)|0;nb[c[a>>2]&63](a,e,1)|0}f=c[e+16>>2]|0;nb[c[f>>2]&63](f,b,1)|0;l=g;return}function RN(a,b,d){a=a|0;b=b|0;d=d|0;$N(c[b+32>>2]|0);C_(c[b+28>>2]|0);C_(b);return}function SN(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0.0,f=0.0;e=+h[b>>3];f=+h[c>>3];if(!(e>f))if(e>3]>=+h[c+8>>3])<<31>>31;else a=0;else a=!(+h[b+8>>3]<=+h[c+8>>3])&1;return a|0}function TN(a,b,d){a=a|0;b=b|0;d=d|0;xw(c[b+16>>2]|0)|0;C_(b);return}function UN(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0.0,f=0.0;f=+h[b>>3];e=+h[c>>3];return (f>e?1:(f>31)|0}function VN(b,d,e){b=b|0;d=d|0;e=e|0;var f=0.0,g=0.0,i=0,j=0;i=(a[d+36>>0]|0)!=0;j=e+40|0;do if((c[d+24>>2]|0)==(e|0)){f=+h[j>>3];if(i){g=(+h[e+64>>3]+ +h[e+48>>3])*.5;break}else{g=+h[e+48>>3];f=(+h[e+56>>3]+f)*.5;break}}else if(i){g=(+h[e+64>>3]+ +h[e+48>>3])*.5;f=+h[e+56>>3];break}else{g=+h[e+64>>3];f=(+h[e+56>>3]+ +h[j>>3])*.5;break}while(0);h[b>>3]=f;h[b+8>>3]=g;return}function WN(a,b){a=a|0;b=b|0;var d=0;d=c[a+20>>2]|0;if((d|0)!=(c[b+20>>2]|0)?(d|0)!=(c[b+24>>2]|0):0)d=c[a+24>>2]|0;return d|0}function XN(a,b){a=a|0;b=b|0;var c=0.0;c=(+h[b+64>>3]+ +h[b+48>>3])*.5;h[a>>3]=(+h[b+56>>3]+ +h[b+40>>3])*.5;h[a+8>>3]=c;return}function YN(b,d,e,f,g,i,j){b=b|0;d=d|0;e=+e;f=+f;g=+g;i=i|0;j=j|0;var k=0,l=0;a[b>>0]=d;h[b+8>>3]=e;if(f>3]=f;h[b+16>>3]=e;c[b+36>>2]=d;c[b+32>>2]=l;a[b+1>>0]=k;return}function ZN(a,b,d){a=a|0;b=b|0;d=d|0;var e=0;e=c[b+36>>2]|0;do if((c[e+4>>2]|0)!=(d|0)){if((c[e+12>>2]|0)==(d|0)){e=~~((+h[b+56>>3]+ +h[b+40>>3])*.5);d=~~+h[b+48>>3];break}if((c[e+8>>2]|0)==(d|0)){e=~~+h[b+40>>3];d=~~((+h[b+64>>3]+ +h[b+48>>3])*.5);break}if((c[e>>2]|0)==(d|0)){e=~~+h[b+56>>3];d=~~((+h[b+64>>3]+ +h[b+48>>3])*.5)}else{e=0;d=0}}else{e=~~((+h[b+56>>3]+ +h[b+40>>3])*.5);d=~~+h[b+64>>3]}while(0);c[a>>2]=e;c[a+4>>2]=d;return}function _N(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;d=tH(8)|0;c[d>>2]=a;e=d+4|0;c[e>>2]=tH(a*12|0)|0;b=0;while(1){if((b|0)>=(a|0))break;g=xR()|0;f=c[e>>2]|0;c[f+(b*12|0)+8>>2]=g;c[f+(b*12|0)>>2]=0;b=b+1|0}return d|0}function $N(a){a=a|0;var b=0,d=0,e=0;d=a+4|0;b=0;while(1){e=c[d>>2]|0;if((b|0)>=(c[a>>2]|0))break;xw(c[e+(b*12|0)+8>>2]|0)|0;b=b+1|0}C_(e);C_(a);return}function aO(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;e=l;l=l+16|0;f=e;c[f>>2]=d;d=c[(c[a+4>>2]|0)+(b*12|0)+8>>2]|0;nb[c[d>>2]&63](d,f,1)|0;l=e;return}function bO(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0;e=l;l=l+16|0;f=e;c[f>>2]=d;a=a+4|0;g=c[(c[a>>2]|0)+(b*12|0)+8>>2]|0;nb[c[g>>2]&63](g,f,2)|0;c[f>>2]=b;d=c[(c[a>>2]|0)+(d*12|0)+8>>2]|0;nb[c[d>>2]&63](d,f,2)|0;l=e;return}function cO(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;e=l;l=l+16|0;f=e;c[f>>2]=d;d=c[(c[a+4>>2]|0)+(b*12|0)+8>>2]|0;d=(nb[c[d>>2]&63](d,f,512)|0)!=0&1;l=e;return d|0}function dO(a){a=a|0;var b=0,d=0,e=0,f=0;b=c[a>>2]|0;switch(b|0){case 0:break;case 1:{c[(c[a+4>>2]|0)+4>>2]=0;break}default:{e=eO(b)|0;f=a+4|0;d=0;b=0;while(1){if((d|0)>=(c[a>>2]|0)){b=0;break}if(!(c[(c[f>>2]|0)+(d*12|0)>>2]|0))b=fO(a,d,b,e)|0;d=d+1|0}while(1){d=gO(e)|0;if((d|0)<=-1)break;c[(c[f>>2]|0)+(d*12|0)+4>>2]=b;b=b+1|0}hO(e)}}return}function eO(a){a=a|0;var b=0;b=tH(8)|0;c[b+4>>2]=tH(a<<2)|0;c[b>>2]=-1;return b|0}function fO(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0;i=a+4|0;g=c[i>>2]|0;j=g+(b*12|0)|0;c[j>>2]=1;g=c[g+(b*12|0)+8>>2]|0;h=g+4|0;d=d+1|0;g=zw(g)|0;while(1){if(!g)break;f=c[(c[h>>2]|0)+8>>2]|0;if((f|0)<0)f=c[g+8>>2]|0;else f=g+(0-f)|0;f=c[f>>2]|0;if(!(c[(c[i>>2]|0)+(f*12|0)>>2]|0))d=fO(a,f,d,e)|0;g=c[g>>2]|0}c[j>>2]=2;iO(e,b);return d+1|0}function gO(a){a=a|0;var b=0,d=0;b=c[a>>2]|0;if((b|0)==-1)a=-1;else{d=c[(c[a+4>>2]|0)+(b<<2)>>2]|0;c[a>>2]=b+-1;a=d}return a|0}function hO(a){a=a|0;C_(c[a+4>>2]|0);C_(a);return}function iO(a,b){a=a|0;b=b|0;var d=0;d=(c[a>>2]|0)+1|0;c[a>>2]=d;c[(c[a+4>>2]|0)+(d<<2)>>2]=b;return}function jO(a){a=a|0;var d=0,e=0,f=0;e=c[a>>2]|0;c[a+8>>2]=e;c[a+12>>2]=c[a+4>>2];d=a+16|0;a=0;while(1){if((a|0)>=(e|0))break;f=c[d>>2]|0;b[f+(a*40|0)+18>>1]=b[f+(a*40|0)+16>>1]|0;a=a+1|0}return}function kO(a){a=a|0;var d=0,e=0,f=0;d=c[a+8>>2]|0;c[a>>2]=d;c[a+4>>2]=c[a+12>>2];e=a+16|0;a=0;while(1){if((a|0)>=(d|0))break;f=c[e>>2]|0;b[f+(a*40|0)+16>>1]=b[f+(a*40|0)+18>>1]|0;a=a+1|0}d=d+2|0;while(1){if((a|0)>=(d|0))break;b[(c[e>>2]|0)+(a*40|0)+16>>1]=0;a=a+1|0}return}function lO(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=tH(((c[a>>2]|0)*6|0)+(b<<1)<<2)|0;c[a+20>>2]=tH((((c[a>>2]|0)*3|0)+b|0)*24|0)|0;e=c[a>>2]|0;f=a+16|0;a=0;while(1){if((a|0)>=(e|0))break;c[(c[f>>2]|0)+(a*40|0)+28>>2]=d;d=d+24|0;a=a+1|0}e=e+2|0;while(1){if((a|0)>=(e|0))break;c[(c[f>>2]|0)+(a*40|0)+28>>2]=d;d=d+(b<<2)|0;a=a+1|0}return}function mO(a){a=a|0;var b=0;b=tH(24)|0;c[b>>2]=0;c[b+16>>2]=tH(a*40|0)|0;return b|0}function nO(a){a=a|0;var b=0,d=0;d=c[a+16>>2]|0;b=c[a>>2]|0;c[d+(b*40|0)+32>>2]=b;c[a>>2]=b+1;return d+(b*40|0)|0}function oO(a,b,d,e){a=a|0;b=b|0;d=d|0;e=+e;var f=0,g=0;g=a+4|0;f=c[g>>2]|0;c[g>>2]=f+1;g=c[a+20>>2]|0;a=g+(f*24|0)|0;c[g+(f*24|0)+12>>2]=c[b+32>>2];c[g+(f*24|0)+16>>2]=c[d+32>>2];h[a>>3]=e;c[g+(f*24|0)+8>>2]=0;pO(b,f);pO(d,f);return a|0}function pO(a,d){a=a|0;d=d|0;var e=0,f=0;e=a+16|0;f=b[e>>1]|0;c[(c[a+28>>2]|0)+(f<<16>>16<<2)>>2]=d;b[e>>1]=f+1<<16>>16;return}function qO(a){a=a|0;var b=0;b=a+16|0;C_(c[(c[b>>2]|0)+28>>2]|0);C_(c[b>>2]|0);C_(c[a+20>>2]|0);C_(a);return}function rO(a,d,e){a=a|0;d=d|0;e=e|0;var f=0,g=0,i=0,j=0,k=0,l=0,m=0,n=0;g=c[a>>2]|0;i=a+16|0;f=0;while(1){if((f|0)>=(g|0))break;c[(c[i>>2]|0)+(f*40|0)>>2]=-2147483648;f=f+1|0}FR();a:do if(!(IR(d)|0)){c[d+8>>2]=0;c[d>>2]=0;d=a+20|0;b:while(1){g=KR()|0;if(!g){f=0;break a}c[g>>2]=0-(c[g>>2]|0);if((g|0)==(e|0)){f=0;break a}i=g+16|0;j=g+28|0;f=0;while(1){if((f|0)>=(b[i>>1]|0))continue b;k=(c[d>>2]|0)+((c[(c[j>>2]|0)+(f<<2)>>2]|0)*24|0)|0;l=sO(a,k,g)|0;m=c[l>>2]|0;do if((m|0)<0){n=~~-(+h[k>>3]+ +(c[g>>2]|0));if((m|0)==-2147483648){c[l>>2]=n;if(IR(l)|0){f=1;break a}c[l+8>>2]=g;c[l+12>>2]=k;break}else{if((m|0)>=(n|0))break;LR(l,n);c[l+8>>2]=g;c[l+12>>2]=k;break}}while(0);f=f+1|0}}}else f=1;while(0);return f|0}function sO(a,b,d){a=a|0;b=b|0;d=d|0;var e=0;e=c[b+12>>2]|0;if((e|0)==(c[d+32>>2]|0))e=c[b+16>>2]|0;return (c[a+16>>2]|0)+(e*40|0)|0}function tO(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0;g=c[a>>2]|0;vC(g,3,b)|0;b=c[g+92>>2]|0;do if(b){d=c[b+16>>2]|0;h=c[d+12>>2]|0;c[a+76>>2]=h;e=c[d+16>>2]|0;c[a+84>>2]=e;f=a+80|0;c[f>>2]=c[d>>2];c[a+88>>2]=c[b+4>>2];d=a+152|0;e=c[d>>2]|c[e>>2];c[d>>2]=e;b=c[g+80>>2]|0;if(!b){c[a+60>>2]=0;b=999;break}else{g=c[b+16>>2]|0;c[a+60>>2]=c[g+12>>2];i=c[g+16>>2]|0;c[a+68>>2]=i;c[a+72>>2]=c[b+4>>2];c[d>>2]=e|c[i>>2];c[a+64>>2]=c[((h|0)==0?f:g)>>2];b=300;break}}else b=999;while(0);return b|0}function uO(a){a=a|0;var b=0,d=0;b=c[a+60>>2]|0;if(!(WB(a)|0))if((b|0)!=0?(d=c[b>>2]|0,(d|0)!=0):0){tb[d&127](a);a=0}else a=0;else a=1;return a|0}function vO(a){a=a|0;var b=0,d=0;b=c[a+60>>2]|0;if(b|0?(d=c[b+4>>2]|0,d|0):0)tb[d&127](a);c[(c[a>>2]|0)+24>>2]=0;cC(a);return}function wO(a,b,d){a=a|0;b=b|0;d=d|0;var e=0.0,f=0.0,g=0.0,i=0.0;e=+h[b+504>>3];f=+h[b+512>>3];i=+h[b+352>>3];if(!(c[b+360>>2]|0)){g=+h[d>>3]+e;d=d+8|0;e=f}else g=-(f+ +h[d+8>>3]);f=+h[b+528>>3]*i*(+h[d>>3]+e);h[a>>3]=+h[b+520>>3]*i*g;h[a+8>>3]=f;return}function xO(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0.0,g=0.0,i=0.0,j=0.0,k=0.0;f=+h[a+504>>3];g=+h[a+512>>3];i=+h[a+352>>3];j=+h[a+520>>3]*i;i=+h[a+528>>3]*i;a:do if(!(c[a+360>>2]|0)){a=0;while(1){if((a|0)>=(e|0))break a;h[d+(a<<4)>>3]=(+h[b+(a<<4)>>3]+f)*j;h[d+(a<<4)+8>>3]=(+h[b+(a<<4)+8>>3]+g)*i;a=a+1|0}}else{a=0;while(1){if((a|0)>=(e|0))break a;k=-(j*(+h[b+(a<<4)+8>>3]+g));h[d+(a<<4)+8>>3]=(+h[b+(a<<4)>>3]+f)*i;h[d+(a<<4)>>3]=k;a=a+1|0}}while(0);return d|0}function yO(a,b){a=a|0;b=b|0;var d=0;b=c[a+60>>2]|0;if(b|0?(d=c[b+8>>2]|0,d|0):0)tb[d&127](a);return}function zO(a){a=a|0;var b=0,d=0;b=c[a+60>>2]|0;if(b|0?(d=c[b+12>>2]|0,d|0):0)tb[d&127](a);bC(a);return}function AO(a){a=a|0;var b=0,d=0;b=c[a+60>>2]|0;if(b|0?(d=c[b+24>>2]|0,d|0):0)tb[d&127](a);return}function BO(a){a=a|0;var b=0,d=0;b=c[a+60>>2]|0;if(b|0?(d=c[b+28>>2]|0,d|0):0)tb[d&127](a);return}function CO(a){a=a|0;var b=0,d=0;b=c[a+60>>2]|0;if(b|0?(d=c[b+16>>2]|0,d|0):0){b=c[a+160>>2]|0;xb[d&31](a,c[(c[(c[a>>2]|0)+308>>2]|0)+(b<<2)>>2]|0,b,c[a+156>>2]|0)}return}function DO(a){a=a|0;var b=0,d=0;b=c[a+60>>2]|0;if(b|0?(d=c[b+20>>2]|0,d|0):0)tb[d&127](a);return}function EO(a,b){a=a|0;b=b|0;var d=0;b=c[a+60>>2]|0;if(b|0?(d=c[b+32>>2]|0,d|0):0)tb[d&127](a);return}function FO(a,b){a=a|0;b=b|0;var d=0;b=c[a+60>>2]|0;if(b|0?(d=c[b+36>>2]|0,d|0):0)tb[d&127](a);return}function GO(a){a=a|0;var b=0,d=0;b=c[a+60>>2]|0;if(b|0?(d=c[b+40>>2]|0,d|0):0)tb[d&127](a);return}function HO(a){a=a|0;var b=0,d=0;b=c[a+60>>2]|0;if(b|0?(d=c[b+44>>2]|0,d|0):0)tb[d&127](a);return}function IO(a){a=a|0;var b=0,d=0;b=c[a+60>>2]|0;if(b|0?(d=c[b+48>>2]|0,d|0):0)tb[d&127](a);return}function JO(a){a=a|0;var b=0,d=0;b=c[a+60>>2]|0;if(b|0?(d=c[b+52>>2]|0,d|0):0)tb[d&127](a);return}function KO(a,b){a=a|0;b=b|0;var d=0;b=c[a+60>>2]|0;if(b|0?(d=c[b+56>>2]|0,d|0):0)tb[d&127](a);return}function LO(a){a=a|0;var b=0,d=0;b=c[a+60>>2]|0;if(b|0?(d=c[b+60>>2]|0,d|0):0)tb[d&127](a);return}function MO(a,b){a=a|0;b=b|0;var d=0;b=c[a+60>>2]|0;if(b|0?(d=c[b+64>>2]|0,d|0):0)tb[d&127](a);return}function NO(a){a=a|0;var b=0,d=0;b=c[a+60>>2]|0;if(b|0?(d=c[b+68>>2]|0,d|0):0)tb[d&127](a);return}function OO(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0;g=c[a+60>>2]|0;if(g|0?(h=c[g+72>>2]|0,h|0):0)yb[h&15](a,b,d,e,f);return}function PO(a){a=a|0;var b=0,d=0;b=c[a+60>>2]|0;if(b|0?(d=c[b+76>>2]|0,d|0):0)tb[d&127](a);return}function QO(a,b){a=a|0;b=b|0;var d=0,e=0;d=c[a+60>>2]|0;if(d|0?(e=c[d+80>>2]|0,e|0):0)ub[e&63](a,b);return}function RO(a){a=a|0;var b=0,d=0;b=c[a+60>>2]|0;if(b|0?(d=c[b+84>>2]|0,d|0):0)tb[d&127](a);return}function SO(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,m=0;k=l;l=l+48|0;f=k+32|0;h=k;i=k+16|0;j=c[b+60>>2]|0;m=c[e>>2]|0;do if(m|0?a[m>>0]|0:0){m=c[b+16>>2]|0;if(m|0?(c[m+144>>2]|0)==0:0)break;if(!(c[b+152>>2]&8192)){c[f>>2]=c[d>>2];c[f+4>>2]=c[d+4>>2];c[f+8>>2]=c[d+8>>2];c[f+12>>2]=c[d+12>>2];wO(i,b,f);c[h>>2]=c[i>>2];c[h+4>>2]=c[i+4>>2];c[h+8>>2]=c[i+8>>2];c[h+12>>2]=c[i+12>>2]}else{c[h>>2]=c[d>>2];c[h+4>>2]=c[d+4>>2];c[h+8>>2]=c[d+8>>2];c[h+12>>2]=c[d+12>>2]}if(j|0?(g=c[j+88>>2]|0,g|0):0){c[f>>2]=c[h>>2];c[f+4>>2]=c[h+4>>2];c[f+8>>2]=c[h+8>>2];c[f+12>>2]=c[h+12>>2];vb[g&127](b,f,e)}}while(0);l=k;return}function TO(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0;f=c[b+60>>2]|0;g=(c[b+16>>2]|0)+16|0;i=z$(d,58)|0;h=(i|0)!=0;if(h)a[i>>0]=0;if(f|0?(UO(c[b+68>>2]|0,d,g),e=c[f+92>>2]|0,e|0):0)ub[e&63](b,g);if(h)a[i>>0]=58;return}function UO(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0;k=l;l=l+32|0;g=k+16|0;j=k+8|0;i=k;c[d>>2]=b;c[d+32>>2]=5;e=hQ(b)|0;f=c[a+16>>2]|0;if(!((f|0)!=0?(d2(e,f,c[a+20>>2]|0,4,100)|0)!=0:0))h=3;a:do if((h|0)==3){switch(iQ(b,d,c[a+24>>2]|0)|0){case 0:break a;case 1:break;default:{Ow(1,108020,g)|0;break a}}a=uH((V_(b)|0)+16|0)|0;c[i>>2]=b;X0(a,107985,i)|0;if(zG(a)|0){c[j>>2]=b;Ow(0,107994,j)|0}C_(a)}while(0);l=k;return}function VO(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0;f=c[b+60>>2]|0;g=(c[b+16>>2]|0)+56|0;i=z$(d,58)|0;h=(i|0)!=0;if(h)a[i>>0]=0;if(f|0?(UO(c[b+68>>2]|0,d,g),e=c[f+92>>2]|0,e|0):0)ub[e&63](b,g);if(h)a[i>>0]=58;return}function WO(a,b,d,e){a=a|0;b=b|0;d=d|0;e=+e;var f=0,h=0,i=0,j=0;h=c[a+60>>2]|0;i=a+16|0;j=(c[i>>2]|0)+96|0;if(h|0?(UO(c[a+68>>2]|0,b,j),f=c[h+92>>2]|0,f|0):0)ub[f&63](a,j);j=c[i>>2]|0;c[j+136>>2]=d;g[j+140>>2]=e;return}function XO(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,i=0,j=0,k=0,m=0;m=l;l=l+16|0;k=m;j=c[b+60>>2]|0;b=c[b+16>>2]|0;c[b+160>>2]=d;a:do if((d|0)!=0&(j|0)!=0){j=b+144|0;i=b+152|0;g=b+148|0;b=d;b:while(1){f=b+4|0;b=c[b>>2]|0;if(!b)break a;c:do switch(a[b>>0]|0){case 115:{if(!(a$(b,108041)|0)){c[j>>2]=3;b=f;continue b}if(!(a$(b,108062)|0)){e=115;while(1){d=b+1|0;if(!(e<<24>>24))break;b=d;e=a[d>>0]|0}h[i>>3]=+a2(d);b=f;continue b}break}case 100:{if(!(a$(b,134245)|0)){c[j>>2]=1;b=f;continue b}if(!(a$(b,134238)|0)){c[j>>2]=2;b=f;continue b}break}case 105:{if(a$(b,131253)|0?a$(b,108047)|0:0)break c;c[j>>2]=0;b=f;continue b}case 98:{if(!(a$(b,108057)|0)){h[i>>3]=2.0;b=f;continue b}break}case 102:{if(!(a$(b,108075)|0)){c[g>>2]=1;b=f;continue b}break}case 117:{if(!(a$(b,108082)|0)){c[g>>2]=0;b=f;continue b}break}case 116:{if(!(a$(b,108091)|0)){b=f;continue b}break}default:{}}while(0);c[k>>2]=b;Ow(0,108099,k)|0;b=f}}while(0);l=m;return}function YO(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,i=0,j=0;j=l;l=l+32|0;g=j;d=c[a+60>>2]|0;if((d|0?(i=d+96|0,f=c[i>>2]|0,f|0):0)?c[(c[a+16>>2]|0)+144>>2]|0:0){d=b+16|0;h[g>>3]=(+h[d>>3]+ +h[b>>3])*.5;h[g+8>>3]=(+h[b+24>>3]+ +h[b+8>>3])*.5;b=g+16|0;c[b>>2]=c[d>>2];c[b+4>>2]=c[d+4>>2];c[b+8>>2]=c[d+8>>2];c[b+12>>2]=c[d+12>>2];if(!(c[a+152>>2]&8192)){xO(a,g,g,2)|0;f=c[i>>2]|0}vb[f&127](a,g,e)}l=j;return}function ZO(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0;o=l;l=l+48|0;m=o;f=c[a+60>>2]|0;if((f|0?(n=f+100|0,c[n>>2]|0):0)?(k=a+16|0,j=c[k>>2]|0,c[j+144>>2]|0):0){if(!(e&4)){f=e;g=0}else{f=e&-5;e=j+16|0;g=m;h=e;i=g+40|0;do{c[g>>2]=c[h>>2];g=g+4|0;h=h+4|0}while((g|0)<(i|0));g=e;h=j+56|0;i=g+40|0;do{c[g>>2]=c[h>>2];g=g+4|0;h=h+4|0}while((g|0)<(i|0));g=1}if(!(c[a+152>>2]&8192)){e=d+10|0;if((c[46593]|0)<(d|0)){c[46593]=e;e=wH(c[46594]|0,e<<4)|0;c[46594]=e}else e=c[46594]|0;xO(a,b,e,d)|0;xb[c[n>>2]&31](a,e,d,f)}else xb[c[n>>2]&31](a,b,d,f);if(g|0){g=(c[k>>2]|0)+16|0;h=m;i=g+40|0;do{c[g>>2]=c[h>>2];g=g+4|0;h=h+4|0}while((g|0)<(i|0))}}l=o;return}function _O(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0;e=l;l=l+64|0;f=e;c[f>>2]=c[b>>2];c[f+4>>2]=c[b+4>>2];c[f+8>>2]=c[b+8>>2];c[f+12>>2]=c[b+12>>2];g=f+32|0;b=b+16|0;c[g>>2]=c[b>>2];c[g+4>>2]=c[b+4>>2];c[g+8>>2]=c[b+8>>2];c[g+12>>2]=c[b+12>>2];h[f+16>>3]=+h[f>>3];h[f+24>>3]=+h[f+40>>3];h[f+48>>3]=+h[g>>3];h[f+56>>3]=+h[f+8>>3];ZO(a,f,4,d);l=e;return}function $O(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0;i=c[a+60>>2]|0;do if((i|0?(j=i+104|0,h=c[j>>2]|0,h|0):0)?c[(c[a+16>>2]|0)+144>>2]|0:0){if(c[a+152>>2]&8192|0){zb[h&15](a,b,d,e,f,g&255);break}h=d+10|0;if((c[46593]|0)<(d|0)){c[46593]=h;h=wH(c[46594]|0,h<<4)|0;c[46594]=h}else h=c[46594]|0;xO(a,b,h,d)|0;zb[c[j>>2]&15](a,h,d,e,f,g&255)}while(0);return}function aP(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0;e=c[a+60>>2]|0;do if((e|0?(g=e+108|0,f=c[g>>2]|0,f|0):0)?c[(c[a+16>>2]|0)+144>>2]|0:0){if(c[a+152>>2]&8192|0){vb[f&127](a,b,d);break}e=d+10|0;if((c[46593]|0)<(d|0)){c[46593]=e;e=wH(c[46594]|0,e<<4)|0;c[46594]=e}else e=c[46594]|0;xO(a,b,e,d)|0;vb[c[g>>2]&127](a,e,d)}while(0);return}function bP(b,d){b=b|0;d=d|0;var e=0,f=0;e=c[b+60>>2]|0;if((d|0?!((e|0)==0|(a[d>>0]|0)==0):0)?(f=c[e+112>>2]|0,f|0):0)ub[f&63](b,d);return}function cP(b,d,e,f,g,i){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;i=i|0;var j=0.0,k=0.0,m=0,n=0,o=0.0,p=0.0,q=0.0,r=0.0,s=0,t=0.0,u=0.0,v=0.0,w=0.0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0;F=l;l=l+112|0;B=F+64|0;E=F;n=F+96|0;x=F+48|0;y=F+32|0;C=c[b+60>>2]|0;if(!b)qa(108200,108152,691,108163);if(!d)qa(108182,108152,692,108163);if(!(a[d>>0]|0))qa(108187,108152,693,108163);D=xC(d)|0;if(!D){if((C|0)!=0&(UJ(d)|0)!=0?(m=c[C+116>>2]|0,m|0):0)yb[m&15](b,d,e,f,g&255)}else{s=b+432|0;c[B>>2]=c[s>>2];c[B+4>>2]=c[s+4>>2];c[B+8>>2]=c[s+8>>2];c[B+12>>2]=c[s+12>>2];AC(n,D,B);s=c[n>>2]|0;m=c[n+4>>2]|0;if(!((s|0)<1&(m|0)<1)){n=E+16|0;c[n>>2]=c[e>>2];c[n+4>>2]=c[e+4>>2];c[n+8>>2]=c[e+8>>2];c[n+12>>2]=c[e+12>>2];c[E>>2]=c[e>>2];c[E+4>>2]=c[e+4>>2];c[E+8>>2]=c[e+8>>2];c[E+12>>2]=c[e+12>>2];z=E+8|0;A=E+24|0;d=1;while(1){if((d|0)>=(f|0))break;G=e+(d<<4)|0;v=+h[G>>3];h[E>>3]=+h[(+h[E>>3]>3];w=+h[e+(d<<4)+8>>3];h[z>>3]=+h[(+h[z>>3]>3];h[n>>3]=+h[(+h[n>>3]>v?n:G)>>3];h[A>>3]=+h[(+h[A>>3]>w?n:G)+8>>3];d=d+1|0}k=+h[n>>3];j=+h[E>>3];t=k-j;u=+h[A>>3];v=+h[z>>3];w=u-v;o=+(m|0);p=+(s|0);q=t/p;r=w/o;a:do switch(dP(i)|0){case 1:if(q>3]=j;k=k-t;h[n>>3]=k}if(o>3]=v+w;h[A>>3]=u-w}if(!(c[b+152>>2]&8192)){c[B>>2]=c[E>>2];c[B+4>>2]=c[E+4>>2];c[B+8>>2]=c[E+8>>2];c[B+12>>2]=c[E+12>>2];wO(x,b,B);c[E>>2]=c[x>>2];c[E+4>>2]=c[x+4>>2];c[E+8>>2]=c[x+8>>2];c[E+12>>2]=c[x+12>>2];c[B>>2]=c[n>>2];c[B+4>>2]=c[n+4>>2];c[B+8>>2]=c[n+8>>2];c[B+12>>2]=c[n+12>>2];wO(y,b,B);c[n>>2]=c[y>>2];c[n+4>>2]=c[y+4>>2];c[n+8>>2]=c[y+8>>2];c[n+12>>2]=c[y+12>>2];k=+h[n>>3];j=+h[E>>3]}if(j>k){h[E>>3]=k;h[n>>3]=j}j=+h[z>>3];k=+h[A>>3];if(j>k){h[z>>3]=k;h[A>>3]=j}if(C|0){G=c[b+72>>2]|0;c[B>>2]=c[E>>2];c[B+4>>2]=c[E+4>>2];c[B+8>>2]=c[E+8>>2];c[B+12>>2]=c[E+12>>2];c[B+16>>2]=c[E+16>>2];c[B+20>>2]=c[E+20>>2];c[B+24>>2]=c[E+24>>2];c[B+28>>2]=c[E+28>>2];fP(b,D,B,g,G)}}}l=F;return}function dP(b){b=b|0;if(a[b>>0]|0)if(N$(b,138034)|0)if(N$(b,137966)|0)if(!(N$(b,108195)|0))b=4;else b=(PL(b)|0)<<24>>24!=0&1;else b=3;else b=2;else b=0;return b|0}function eP(a,b){a=a|0;b=+b;if(c[a+60>>2]|0)h[(c[a+16>>2]|0)+152>>3]=b;return} +function RX(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0;h=f-e|0;a:do if((h|0)>0){l=b+72|0;switch(a[l+(d[e>>0]|0)>>0]|0){case 29:{c[g>>2]=e;f=0;break a}case 24:case 22:{h=1;break}case 5:{if((h|0)<2){f=-2;break a}if(!(lb[c[b+340>>2]&127](b,e)|0)){c[g>>2]=e;f=0;break a}else h=2;break}case 6:{if((h|0)<3){f=-2;break a}if(!(lb[c[b+344>>2]&127](b,e)|0)){c[g>>2]=e;f=0;break a}else h=3;break}case 7:{if((h|0)<4){f=-2;break a}if(!(lb[c[b+348>>2]&127](b,e)|0)){c[g>>2]=e;f=0;break a}else h=4;break}default:{c[g>>2]=e;f=0;break a}}i=b+328|0;j=b+332|0;k=b+336|0;e=e+h|0;b:while(1){h=f-e|0;if((h|0)<=0){f=-20;break a}switch(a[l+(d[e>>0]|0)>>0]|0){case 29:{h=17;break b}case 36:case 30:case 11:case 32:case 21:case 10:case 9:{h=28;break b}case 27:case 26:case 25:case 24:case 22:{h=1;break}case 5:{if((h|0)<2){f=-2;break a}if(!(lb[c[i>>2]&127](b,e)|0)){h=20;break b}else h=2;break}case 6:{if((h|0)<3){f=-2;break a}if(!(lb[c[j>>2]&127](b,e)|0)){h=23;break b}else h=3;break}case 7:{if((h|0)<4){f=-2;break a}if(!(lb[c[k>>2]&127](b,e)|0)){h=26;break b}else h=4;break}default:{h=29;break b}}e=e+h|0}if((h|0)==17){c[g>>2]=e;f=0;break}else if((h|0)==20){c[g>>2]=e;f=0;break}else if((h|0)==23){c[g>>2]=e;f=0;break}else if((h|0)==26){c[g>>2]=e;f=0;break}else if((h|0)==28){c[g>>2]=e;f=20;break}else if((h|0)==29){c[g>>2]=e;f=0;break}}else f=-1;while(0);return f|0}function SX(){return 58116}function TX(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0;i=l;l=l+16|0;g=i;c[g>>2]=d;h=c[b>>2]|0;a=f-(c[e>>2]|0)|0;if((d-h|0)>(a|0)){a=h+a|0;c[g>>2]=a;f=1}else{f=0;a=d}eX(h,g);h=c[g>>2]|0;d=c[b>>2]|0;g=h-d|0;E3(c[e>>2]|0,d|0,g|0)|0;c[b>>2]=(c[b>>2]|0)+g;c[e>>2]=(c[e>>2]|0)+g;l=i;return (f?2:h>>>0>>0&1)|0}function UX(d,e,f,g,h){d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0;j=d+72|0;k=f;l=h;m=c[e>>2]|0;n=c[g>>2]|0;a:while(1){d=m>>>0>>0;if(!(n>>>0>>0&d)){o=12;break}d=a[m>>0]|0;i=d&255;switch(a[j+i>>0]|0){case 5:{if((k-m|0)<2){d=1;break a}b[n>>1]=(d&31)<<6|a[m+1>>0]&63;m=m+2|0;n=n+2|0;continue a}case 6:{if((k-m|0)<3){d=1;break a}b[n>>1]=(a[m+1>>0]&63)<<6|i<<12|a[m+2>>0]&63;m=m+3|0;n=n+2|0;continue a}case 7:{if((l-n|0)<4){d=2;break a}if((k-m|0)<4){d=1;break a}i=((a[m+1>>0]&63)<<12|(d&7)<<18|(a[m+2>>0]&63)<<6|a[m+3>>0]&63)+-65536|0;b[n>>1]=i>>>10|55296;b[n+2>>1]=i&1023|56320;m=m+4|0;n=n+4|0;continue a}default:{b[n>>1]=d<<24>>24;m=m+1|0;n=n+2|0;continue a}}}if((o|0)==12)d=d?2:0;c[e>>2]=m;c[g>>2]=n;return d|0}function VX(a,b){a=a|0;b=b|0;a=d[b>>0]|0;b=d[b+1>>0]|0;return 1<<(b&31)&c[56836+(((d[140962+(a>>>2&7)>>0]|0)<<3|a<<1&6|b>>>5&1)<<2)>>2]|0}function WX(b,e){b=b|0;e=e|0;var f=0;f=d[e+1>>0]|0;b=d[e+2>>0]|0;return 1<<(b&31)&c[56836+(((d[140962+(f>>>2&15|a[e>>0]<<4&255)>>0]|0)<<3|f<<1&6|b>>>5&1)<<2)>>2]|0}function XX(a,b){a=a|0;b=b|0;return 0}function YX(a,b){a=a|0;b=b|0;a=d[b>>0]|0;b=d[b+1>>0]|0;return 1<<(b&31)&c[56836+(((d[140706+(a>>>2&7)>>0]|0)<<3|a<<1&6|b>>>5&1)<<2)>>2]|0}function ZX(b,e){b=b|0;e=e|0;var f=0;f=d[e+1>>0]|0;b=d[e+2>>0]|0;return 1<<(b&31)&c[56836+(((d[140706+(f>>>2&15|a[e>>0]<<4&255)>>0]|0)<<3|f<<1&6|b>>>5&1)<<2)>>2]|0}function _X(a,b){a=a|0;b=b|0;if((d[b>>0]|0)<194)return 1;else{b=d[b+1>>0]|0;return b>>>7^1|(b&192|0)==192|0}return 0}function $X(b,c){b=b|0;c=c|0;var d=0;b=a[c+2>>0]|0;do if(b<<24>>24>-1)b=1;else{d=a[c>>0]|0;if(d<<24>>24==-17?(a[c+1>>0]|0)==-65:0)if((b&255)>189){b=1;break}else{b=191;c=-65}else{if((b&255)>191){b=1;break}c=a[c+1>>0]|0;b=c&255;if(d<<24>>24==-32){b=(c&255)<160|(b&192|0)==192;break}}b=(b&128|0)==0?1:d<<24>>24==-19?(c&255)>159:(b&192|0)==192}while(0);return b&1|0}function aY(b,c){b=b|0;c=c|0;var e=0;e=d[c+3>>0]|0;do if(!((e&128|0)==0|(e&192|0)==192)?(e=d[c+2>>0]|0,!((e&128|0)==0|(e&192|0)==192)):0){e=a[c>>0]|0;b=a[c+1>>0]|0;c=b&255;if(e<<24>>24==-16){b=(b&255)<144|(c&192|0)==192;break}else{b=(c&128|0)==0?1:e<<24>>24==-12?(b&255)>143:(c&192|0)==192;break}}else b=1;while(0);return b&1|0}function bY(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0;a:do if(e>>>0>>0){i=e;m=f-i|0;k=(m&1|0)==0;m=m&-2;l=(m|0)==0;m=k|l?f:e+m|0;if(k|l^1){f=a[e+1>>0]|0;if(!(f<<24>>24)){h=a[e>>0]|0;j=h;h=d[b+72+(h&255)>>0]|0}else{h=a[e>>0]|0;j=h;h=rY(f,h)|0}do switch(h|0){case 12:{f=DY(12,b,e+2|0,m,g)|0;break a}case 13:{f=DY(13,b,e+2|0,m,g)|0;break a}case 2:{h=e+2|0;if((m-h|0)<=1){f=-1;break a}f=a[e+3>>0]|0;if(!(f<<24>>24))f=d[b+72+(d[h>>0]|0)>>0]|0;else f=rY(f,a[h>>0]|0)|0;switch(f|0){case 16:{f=EY(b,e+4|0,m,g)|0;break a}case 15:{f=zY(b,e+4|0,m,g)|0;break a}case 7:case 6:case 5:case 29:case 24:case 22:{c[g>>2]=e;f=29;break a}default:{c[g>>2]=h;f=0;break a}}}case 9:{if((e+2|0)==(m|0)){c[g>>2]=m;f=-15;break a}else i=7;break}case 10:case 21:{i=7;break}case 30:{f=tY(b,e+2|0,m,g)|0;break a}case 35:{c[g>>2]=e+2;f=38;break a}case 20:{c[g>>2]=e+2;f=25;break a}case 4:{h=e+2|0;f=m-h|0;if((f|0)<=1){f=-26;break a}if((a[e+3>>0]|0)==0?(a[h>>0]|0)==93:0){if((f|0)<=3){f=-1;break a}if((a[e+5>>0]|0)==0?(a[e+4>>0]|0)==62:0){c[g>>2]=e+6;f=34;break a}}c[g>>2]=h;f=26;break a}case 31:{c[g>>2]=e+2;f=23;break a}case 32:{h=e+2|0;if((m-h|0)<=1){f=-24;break a}f=a[e+3>>0]|0;if(!(f<<24>>24))f=d[b+72+(d[h>>0]|0)>>0]|0;else f=rY(f,a[h>>0]|0)|0;switch(f|0){case 33:{c[g>>2]=e+4;f=36;break a}case 15:{c[g>>2]=e+4;f=35;break a}case 34:{c[g>>2]=e+4;f=37;break a}case 32:case 36:case 35:case 11:case 21:case 10:case 9:{c[g>>2]=h;f=24;break a}default:{c[g>>2]=h;f=0;break a}}}case 36:{c[g>>2]=e+2;f=21;break a}case 11:{c[g>>2]=e+2;f=17;break a}case 19:{f=FY(b,e+2|0,m,g)|0;break a}case 5:{if((m-i|0)<2){f=-2;break a}c[g>>2]=e;f=0;break a}case 6:{if((m-i|0)<3){f=-2;break a}c[g>>2]=e;f=0;break a}case 7:{if((m-i|0)<4){f=-2;break a}c[g>>2]=e;f=0;break a}case 24:case 22:{f=18;i=61;break}case 23:case 27:case 26:case 25:{f=19;i=61;break}case 29:{i=f&255;h=j&255;f=h>>>5;h=1<<(h&31);if(!(h&c[56836+((f|d[140706+i>>0]<<3)<<2)>>2]))if(!(c[56836+((d[140962+i>>0]<<3|f)<<2)>>2]&h))i=64;else{f=19;i=61}else{f=18;i=61}break}default:i=64}while(0);if((i|0)==7){k=m;b=b+72|0;j=e;b:while(1){i=j;j=j+2|0;if((k-j|0)<=1){i=28;break}f=a[i+3>>0]|0;h=a[j>>0]|0;if(!(f<<24>>24))f=d[b+(h&255)>>0]|0;else f=rY(f,h)|0;switch(f|0){case 10:case 21:continue b;case 9:break;default:{i=27;break b}}if((i+4|0)==(m|0)){i=27;break}}if((i|0)==27){c[g>>2]=j;f=15;break}else if((i|0)==28){c[g>>2]=j;f=15;break}}else if((i|0)==61){l=b+72|0;h=e+2|0;c:while(1){e=f&255;d:while(1){k=m-h|0;if((k|0)<=1){i=104;break c}i=a[h+1>>0]|0;j=a[h>>0]|0;if(!(i<<24>>24))b=d[l+(j&255)>>0]|0;else b=rY(i,j)|0;switch(b|0){case 5:{i=73;break c}case 6:{i=74;break c}case 7:{i=76;break c}case 10:case 9:case 21:case 30:case 20:case 36:case 35:case 32:case 11:{i=78;break c}case 34:{i=94;break c}case 33:{i=97;break c}case 15:{i=100;break c}case 29:{k=j&255;if(!(1<<(k&31)&c[56836+((k>>>5|d[140962+(i&255)>>0]<<3)<<2)>>2])){i=71;break c}break}case 27:case 26:case 25:case 24:case 22:break;case 23:{k=h+2|0;switch(e&63){case 41:{f=19;h=k;continue c}case 18:break d;default:{h=k;continue d}}}default:{i=103;break c}}h=h+2|0}b=m-k|0;if((b|0)<=1){f=-1;break a}f=a[h+3>>0]|0;i=a[k>>0]|0;if(!(f<<24>>24))j=d[l+(i&255)>>0]|0;else j=rY(f,i)|0;switch(j|0){case 5:{i=89;break c}case 6:{i=90;break c}case 7:{i=92;break c}case 29:{e=i&255;if(!(1<<(e&31)&c[56836+((e>>>5|d[140962+(f&255)>>0]<<3)<<2)>>2])){i=87;break c}break}case 27:case 26:case 25:case 24:case 22:break;default:{f=19;h=k;continue c}}f=41;h=h+4|0}switch(i|0){case 71:{c[g>>2]=h;f=0;break a}case 73:{c[g>>2]=h;f=0;break a}case 74:{if((k|0)<3){f=-2;break a}c[g>>2]=h;f=0;break a}case 76:{if((k|0)<4){f=-2;break a}c[g>>2]=h;f=0;break a}case 78:{c[g>>2]=h;break a}case 87:{c[g>>2]=k;f=0;break a}case 89:{c[g>>2]=k;f=0;break a}case 90:{if((b|0)<3){f=-2;break a}c[g>>2]=k;f=0;break a}case 92:{if((b|0)<4){f=-2;break a}c[g>>2]=k;f=0;break a}case 94:if((f|0)==19){c[g>>2]=h;f=0;break a}else{c[g>>2]=h+2;f=32;break a}case 97:if((f|0)==19){c[g>>2]=h;f=0;break a}else{c[g>>2]=h+2;f=31;break a}case 100:if((f|0)==19){c[g>>2]=h;f=0;break a}else{c[g>>2]=h+2;f=30;break a}case 103:{c[g>>2]=h;f=0;break a}case 104:{f=0-f|0;break a}}}else if((i|0)==64){c[g>>2]=e;f=0;break}}else f=-1}else f=-4;while(0);return f|0}function cY(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0;a:do if(e>>>0>>0){h=e;i=f-h|0;k=(i&1|0)==0;i=i&-2;j=(i|0)==0;i=k|j?f:e+i|0;if(k|j^1){f=a[e+1>>0]|0;if(!(f<<24>>24))f=d[b+72+(d[e>>0]|0)>>0]|0;else f=rY(f,a[e>>0]|0)|0;do switch(f|0){case 2:{f=wY(b,e+2|0,i,g)|0;break a}case 3:{f=sY(b,e+2|0,i,g)|0;break a}case 9:{h=e+2|0;if((i-h|0)<=1){f=-3;break a}f=a[e+3>>0]|0;if(!(f<<24>>24))f=d[b+72+(d[h>>0]|0)>>0]|0;else f=rY(f,a[h>>0]|0)|0;c[g>>2]=(f|0)==10?e+4|0:h;f=7;break a}case 10:{c[g>>2]=e+2;f=7;break a}case 4:{h=e+2|0;if((i-h|0)<=1){f=-5;break a}if((a[e+3>>0]|0)==0?(a[h>>0]|0)==93:0){f=e+4|0;if((i-f|0)<=1){f=-5;break a}if((a[e+5>>0]|0)==0?(a[f>>0]|0)==62:0){c[g>>2]=f;f=0;break a}else f=i}else f=i;break}case 5:{f=i;if((f-h|0)<2){f=-2;break a}h=e+2|0;break}case 6:{f=i;if((f-h|0)<3){f=-2;break a}h=e+3|0;break}case 7:{f=i;if((f-h|0)<4){f=-2;break a}h=e+4|0;break}case 8:case 1:case 0:{c[g>>2]=e;f=0;break a}default:{h=e+2|0;f=i}}while(0);j=b+72|0;b=h;b:while(1){e=f-b|0;if((e|0)<=1){h=52;break}h=a[b+1>>0]|0;i=a[b>>0]|0;if(!(h<<24>>24))h=d[j+(i&255)>>0]|0;else h=rY(h,i)|0;switch(h|0){case 10:case 9:case 8:case 1:case 0:case 2:case 3:{h=50;break b}case 5:{b=b+2|0;continue b}case 6:{if((e|0)<3){h=38;break b}b=b+3|0;continue b}case 7:{if((e|0)<4){h=41;break b}b=b+4|0;continue b}case 4:{if((e|0)<=3){h=50;break b}h=b+2|0;if(a[b+3>>0]|0){b=h;continue b}if((a[h>>0]|0)!=93){b=h;continue b}if((e|0)<=5){h=50;break b}i=b+4|0;if(a[b+5>>0]|0){b=h;continue b}if((a[i>>0]|0)==62){h=49;break b}else{b=h;continue b}}default:{b=b+2|0;continue b}}}if((h|0)==38){c[g>>2]=b;f=6;break}else if((h|0)==41){c[g>>2]=b;f=6;break}else if((h|0)==49){c[g>>2]=i;f=0;break}else if((h|0)==50){c[g>>2]=b;f=6;break}else if((h|0)==52){c[g>>2]=b;f=6;break}}else f=-1}else f=-4;while(0);return f|0}function dY(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0;a:do if(e>>>0>>0){h=e;i=f-h|0;k=(i&1|0)==0;i=i&-2;j=(i|0)==0;i=k|j?f:e+i|0;if(k|j^1){f=a[e+1>>0]|0;if(!(f<<24>>24))f=d[b+72+(d[e>>0]|0)>>0]|0;else f=rY(f,a[e>>0]|0)|0;switch(f|0){case 4:{h=e+2|0;if((i-h|0)<=1){f=-1;break a}if((a[e+3>>0]|0)==0?(a[h>>0]|0)==93:0){f=e+4|0;if((i-f|0)<=1){f=-1;break a}if((a[e+5>>0]|0)==0?(a[f>>0]|0)==62:0){c[g>>2]=e+6;f=40;break a}}break}case 9:{h=e+2|0;if((i-h|0)<=1){f=-1;break a}f=a[e+3>>0]|0;if(!(f<<24>>24))f=d[b+72+(d[h>>0]|0)>>0]|0;else f=rY(f,a[h>>0]|0)|0;c[g>>2]=(f|0)==10?e+4|0:h;f=7;break a}case 10:{c[g>>2]=e+2;f=7;break a}case 5:{f=i;if((f-h|0)<2){f=-2;break a}h=e+2|0;i=f;break}case 6:{f=i;if((f-h|0)<3){f=-2;break a}h=e+3|0;i=f;break}case 7:{f=i;if((f-h|0)<4){f=-2;break a}h=e+4|0;i=f;break}case 8:case 1:case 0:{c[g>>2]=e;f=0;break a}default:h=e+2|0}j=b+72|0;b=h;b:while(1){e=i-b|0;if((e|0)<=1){h=40;break}f=a[b+1>>0]|0;h=a[b>>0]|0;if(!(f<<24>>24))f=d[j+(h&255)>>0]|0;else f=rY(f,h)|0;switch(f|0){case 10:case 9:case 8:case 1:case 0:case 4:{h=38;break b}case 6:{if((e|0)<3){h=35;break b}else f=3;break}case 7:{if((e|0)<4){h=37;break b}else f=4;break}default:f=2}b=b+f|0}if((h|0)==35){c[g>>2]=b;f=6;break}else if((h|0)==37){c[g>>2]=b;f=6;break}else if((h|0)==38){c[g>>2]=b;f=6;break}else if((h|0)==40){c[g>>2]=b;f=6;break}}else f=-1}else f=-4;while(0);return f|0}function eY(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0;k=f-e|0;k=(k&1|0)==0?f:e+(k&-2)|0;j=b+72|0;i=0;f=e;a:while(1){h=k-f|0;if((h|0)<=1){f=-1;break}b=a[f+1>>0]|0;e=a[f>>0]|0;if(!(b<<24>>24))b=d[j+(e&255)>>0]|0;else b=rY(b,e)|0;switch(b|0){case 8:case 1:case 0:{l=12;break a}case 5:{h=i;f=f+2|0;i=h;continue a}case 6:{if((h|0)<3){f=-2;break a}h=i;f=f+3|0;i=h;continue a}case 7:{if((h|0)<4){f=-2;break a}h=i;f=f+4|0;i=h;continue a}case 2:{b=f+2|0;if((k-b|0)<=1){f=-1;break a}if(a[f+3>>0]|0){h=i;f=b;i=h;continue a}if((a[b>>0]|0)!=33){h=i;f=b;i=h;continue a}b=f+4|0;if((k-b|0)<=1){f=-1;break a}if(a[f+5>>0]|0){h=i;f=b;i=h;continue a}h=(a[b>>0]|0)==91;i=i+(h&1)|0;f=h?f+6|0:b;continue a}case 4:{b=f+2|0;if((k-b|0)<=1){f=-1;break a}if(a[f+3>>0]|0){h=i;f=b;i=h;continue a}if((a[b>>0]|0)!=93){h=i;f=b;i=h;continue a}b=f+4|0;if((k-b|0)<=1){f=-1;break a}if(a[f+5>>0]|0){h=i;f=b;i=h;continue a}if((a[b>>0]|0)!=62){h=i;f=b;i=h;continue a}f=f+6|0;if(!i){l=26;break a}i=i+-1|0;continue a}default:{h=i;f=f+2|0;i=h;continue a}}}if((l|0)==12){c[g>>2]=f;f=0}else if((l|0)==26){c[g>>2]=f;f=42}return f|0}function fY(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0;do if(e>>>0>>0){k=f;if((k-e|0)>1){l=b+72|0;j=e;a:while(1){if((k-j|0)<=1){i=30;break}h=a[j+1>>0]|0;i=a[j>>0]|0;if(!(h<<24>>24))h=d[l+(i&255)>>0]|0;else h=rY(h,i)|0;switch(h|0){case 3:{i=11;break a}case 2:{i=14;break a}case 10:{i=15;break a}case 9:{i=18;break a}case 21:{i=25;break a}case 5:{h=2;break}case 6:{h=3;break}case 7:{h=4;break}default:h=2}j=j+h|0}if((i|0)==11)if((j|0)==(e|0)){h=sY(b,e+2|0,f,g)|0;break}else{c[g>>2]=j;h=6;break}else if((i|0)==14){c[g>>2]=j;h=0;break}else if((i|0)==15)if((j|0)==(e|0)){c[g>>2]=e+2;h=7;break}else{c[g>>2]=j;h=6;break}else if((i|0)==18){if((j|0)!=(e|0)){c[g>>2]=j;h=6;break}j=e+2|0;if((k-j|0)<=1){h=-3;break}h=a[e+3>>0]|0;i=a[j>>0]|0;if(!(h<<24>>24))h=d[l+(i&255)>>0]|0;else h=rY(h,i)|0;c[g>>2]=(h|0)==10?e+4|0:j;h=7;break}else if((i|0)==25)if((j|0)==(e|0)){c[g>>2]=e+2;h=39;break}else{c[g>>2]=j;h=6;break}else if((i|0)==30){c[g>>2]=j;h=6;break}}else h=-1}else h=-4;while(0);return h|0}function gY(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0;do if(e>>>0>>0){k=f;if((k-e|0)>1){l=b+72|0;j=e;a:while(1){if((k-j|0)<=1){i=29;break}h=a[j+1>>0]|0;i=a[j>>0]|0;if(!(h<<24>>24))h=d[l+(i&255)>>0]|0;else h=rY(h,i)|0;switch(h|0){case 3:{i=11;break a}case 30:{i=14;break a}case 10:{i=17;break a}case 9:{i=20;break a}case 5:{h=2;break}case 6:{h=3;break}case 7:{h=4;break}default:h=2}j=j+h|0}if((i|0)==11)if((j|0)==(e|0)){h=sY(b,e+2|0,f,g)|0;break}else{c[g>>2]=j;h=6;break}else if((i|0)==14)if((j|0)==(e|0)){h=tY(b,e+2|0,f,g)|0;h=(h|0)==22?0:h;break}else{c[g>>2]=j;h=6;break}else if((i|0)==17)if((j|0)==(e|0)){c[g>>2]=e+2;h=7;break}else{c[g>>2]=j;h=6;break}else if((i|0)==20){if((j|0)!=(e|0)){c[g>>2]=j;h=6;break}j=e+2|0;if((k-j|0)<=1){h=-3;break}h=a[e+3>>0]|0;i=a[j>>0]|0;if(!(h<<24>>24))h=d[l+(i&255)>>0]|0;else h=rY(h,i)|0;c[g>>2]=(h|0)==10?e+4|0:j;h=7;break}else if((i|0)==29){c[g>>2]=j;h=6;break}}else h=-1}else h=-4;while(0);return h|0}function hY(b,c,d,e){b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0;f=d;b=c;while(1){c=a[e>>0]|0;if(!(c<<24>>24)){g=7;break}if((f-b|0)<2){b=0;break}if(a[b+1>>0]|0){b=0;break}if((a[b>>0]|0)!=c<<24>>24){b=0;break}e=e+1|0;b=b+2|0}if((g|0)==7)b=(b|0)==(d|0)&1;return b|0}function iY(b,c){b=b|0;c=c|0;var e=0,f=0,g=0;g=b+72|0;f=c;a:while(1){b=a[f+1>>0]|0;e=a[f>>0]|0;if(!(b<<24>>24))b=d[g+(e&255)>>0]|0;else b=rY(b,e)|0;switch(b|0){case 5:{b=2;break}case 6:{b=3;break}case 7:{b=4;break}case 27:case 26:case 25:case 24:case 23:case 22:case 29:{b=2;break}default:break a}f=f+b|0}return f-c|0}function jY(b,c){b=b|0;c=c|0;var e=0,f=0;f=b+72|0;a:while(1){b=a[c+1>>0]|0;e=a[c>>0]|0;if(!(b<<24>>24))b=d[f+(e&255)>>0]|0;else b=rY(b,e)|0;switch(b|0){case 21:case 9:case 10:break;default:break a}c=c+2|0}return c|0}function kY(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;o=b+72|0;m=0;n=0;b=1;a:while(1){l=e+2|0;i=e+3|0;h=a[i>>0]|0;j=h<<24>>24==0;k=a[l>>0]|0;if(j)h=d[o+(k&255)>>0]|0;else h=rY(h,k)|0;do switch(h|0){case 5:{if(b|0){i=b;j=n;k=m;e=l;b=i;n=j;m=k;continue a}if((n|0)>=(f|0)){j=n;k=m;b=1;e=l;n=j;m=k;continue a}c[g+(n<<4)>>2]=l;a[g+(n<<4)+12>>0]=1;j=n;k=m;b=1;e=l;n=j;m=k;continue a}case 6:{if(b|0){j=b;k=n;l=m;e=i;b=j;n=k;m=l;continue a}if((n|0)>=(f|0)){k=n;l=m;b=1;e=i;n=k;m=l;continue a}c[g+(n<<4)>>2]=l;a[g+(n<<4)+12>>0]=1;k=n;l=m;b=1;e=i;n=k;m=l;continue a}case 7:{if(!b)if((n|0)<(f|0)){c[g+(n<<4)>>2]=l;a[g+(n<<4)+12>>0]=1;b=1}else b=1;k=n;l=m;e=e+4|0;n=k;m=l;continue a}case 24:case 22:case 29:{if(b|0){i=b;j=n;k=m;e=l;b=i;n=j;m=k;continue a}if((n|0)>=(f|0)){j=n;k=m;b=1;e=l;n=j;m=k;continue a}c[g+(n<<4)>>2]=l;a[g+(n<<4)+12>>0]=1;j=n;k=m;b=1;e=l;n=j;m=k;continue a}case 12:{if((b|0)!=2){if((n|0)>=(f|0)){k=n;m=12;b=2;e=l;n=k;continue a}c[g+(n<<4)+4>>2]=e+4;k=n;m=12;b=2;e=l;n=k;continue a}if((m|0)!=12){j=n;k=m;b=2;e=l;n=j;m=k;continue a}if((n|0)<(f|0))c[g+(n<<4)+8>>2]=l;m=12;n=n+1|0;b=0;e=l;continue a}case 13:{if((b|0)!=2){if((n|0)>=(f|0)){k=n;m=13;b=2;e=l;n=k;continue a}c[g+(n<<4)+4>>2]=e+4;k=n;m=13;b=2;e=l;n=k;continue a}if((m|0)!=13){j=n;k=m;b=2;e=l;n=j;m=k;continue a}if((n|0)<(f|0))c[g+(n<<4)+8>>2]=l;m=13;n=n+1|0;b=0;e=l;continue a}case 3:{if((n|0)>=(f|0)){i=b;j=n;k=m;e=l;b=i;n=j;m=k;continue a}a[g+(n<<4)+12>>0]=0;i=b;j=n;k=m;e=l;b=i;n=j;m=k;continue a}case 21:{switch(b|0){case 1:{j=n;k=m;b=0;e=l;n=j;m=k;continue a}case 2:break;default:{i=b;j=n;k=m;e=l;b=i;n=j;m=k;continue a}}if((n|0)>=(f|0)){j=n;k=m;b=2;e=l;n=j;m=k;continue a}i=g+(n<<4)+12|0;if(!(a[i>>0]|0)){j=n;k=m;b=2;e=l;n=j;m=k;continue a}do if(j&(l|0)!=(c[g+(n<<4)+4>>2]|0)&k<<24>>24==32){h=a[e+5>>0]|0;b=a[e+4>>0]|0;if(!(h<<24>>24)){if(b<<24>>24==32)break;b=d[o+(b&255)>>0]|0}else b=rY(h,b)|0;if((b|0)!=(m|0)){j=n;k=m;b=2;e=l;n=j;m=k;continue a}}while(0);a[i>>0]=0;j=n;k=m;b=2;e=l;n=j;m=k;continue a}case 10:case 9:{switch(b|0){case 1:{j=n;k=m;b=0;e=l;n=j;m=k;continue a}case 2:break;default:{i=b;j=n;k=m;e=l;b=i;n=j;m=k;continue a}}if((n|0)>=(f|0)){j=n;k=m;b=2;e=l;n=j;m=k;continue a}a[g+(n<<4)+12>>0]=0;j=n;k=m;b=2;e=l;n=j;m=k;continue a}case 17:case 11:if((b|0)==2){j=n;k=m;b=2;e=l;n=j;m=k;continue a}else break a;default:{i=b;j=n;k=m;e=l;b=i;n=j;m=k;continue a}}while(0)}return n|0}function lY(b,c){b=b|0;c=c|0;var d=0,e=0;b=c+4|0;a:do if((a[c+5>>0]|0)==0?(a[b>>0]|0)==120:0){c=c+6|0;b=0;while(1){b:while(1){if(!(a[c+1>>0]|0)){d=a[c>>0]|0;if(d<<24>>24==59){e=17;break a}d=d<<24>>24;switch(d|0){case 57:case 56:case 55:case 54:case 53:case 52:case 51:case 50:case 49:case 48:{e=8;break b}case 70:case 69:case 68:case 67:case 66:case 65:{e=9;break b}case 102:case 101:case 100:case 99:case 98:case 97:{e=10;break b}default:{}}}c=c+2|0}if((e|0)==8){e=0;b=d+-48|b<<4}else if((e|0)==9){e=0;b=(b<<4)+-55+d|0}else if((e|0)==10){e=0;b=(b<<4)+-87+d|0}if((b|0)<1114112)c=c+2|0;else{b=-1;break}}}else{d=b;b=0;e=13}while(0);c:do if((e|0)==13)while(1){e=0;if(!(a[d+1>>0]|0)){c=a[d>>0]|0;if(c<<24>>24==59){e=17;break c}c=c<<24>>24}else c=-1;b=(b*10|0)+-48+c|0;if((b|0)>=1114112){b=-1;break}else{d=d+2|0;e=13}}while(0);if((e|0)==17)b=iX(b)|0;return b|0}function mY(b,c,d){b=b|0;c=c|0;d=d|0;var e=0;a:do switch((d-c|0)/2|0|0){case 2:{if((a[c+3>>0]|0)==0?(a[c+2>>0]|0)==116:0){if(!(a[c+1>>0]|0))b=a[c>>0]|0;else b=-1;b=(b|0)==108?60:(b|0)==103?62:0}else e=27;break}case 3:{if((((((a[c+1>>0]|0)==0?(a[c>>0]|0)==97:0)?(a[c+3>>0]|0)==0:0)?(a[c+2>>0]|0)==109:0)?(a[c+5>>0]|0)==0:0)?(a[c+4>>0]|0)==112:0)b=38;else e=27;break}case 4:{if(!(a[c+1>>0]|0))switch(a[c>>0]|0){case 113:{if(a[c+3>>0]|0){e=27;break a}if((a[c+2>>0]|0)!=117){e=27;break a}if(a[c+5>>0]|0){e=27;break a}if((a[c+4>>0]|0)!=111){e=27;break a}if(a[c+7>>0]|0){e=27;break a}if((a[c+6>>0]|0)==116){b=34;break a}else{e=27;break a}}case 97:{if(a[c+3>>0]|0){e=27;break a}if((a[c+2>>0]|0)!=112){e=27;break a}if(a[c+5>>0]|0){e=27;break a}if((a[c+4>>0]|0)!=111){e=27;break a}if(a[c+7>>0]|0){e=27;break a}if((a[c+6>>0]|0)==115){b=39;break a}else{e=27;break a}}default:{e=27;break a}}else e=27;break}default:e=27}while(0);if((e|0)==27)b=0;return b|0}function nY(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0;j=b+72|0;k=g+4|0;while(1){if((f-e|0)<=1)break;b=a[e+1>>0]|0;h=a[e>>0]|0;if(!(b<<24>>24))b=d[j+(h&255)>>0]|0;else b=rY(b,h)|0;switch(b|0){case 5:{e=e+2|0;break}case 6:{e=e+3|0;break}case 7:{e=e+4|0;break}case 10:{c[k>>2]=-1;c[g>>2]=(c[g>>2]|0)+1;e=e+2|0;break}case 9:{c[g>>2]=(c[g>>2]|0)+1;i=e+2|0;if((f-i|0)>1){b=a[e+3>>0]|0;h=a[i>>0]|0;if(!(b<<24>>24))b=d[j+(h&255)>>0]|0;else b=rY(b,h)|0;e=(b|0)==10?e+4|0:i}else e=i;c[k>>2]=-1;break}default:e=e+2|0}c[k>>2]=(c[k>>2]|0)+1}return}function oY(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0;j=f+-2|0;i=b+72|0;f=e;a:while(1){h=f+2|0;if((j-h|0)<=1){f=1;break}f=a[f+3>>0]|0;b=f<<24>>24==0;e=a[h>>0]|0;if(b)f=d[i+(e&255)>>0]|0;else f=rY(f,e)|0;switch(f|0){case 23:case 19:case 30:case 33:case 16:case 18:case 10:case 9:case 15:case 14:case 17:case 35:case 34:case 32:case 31:case 13:case 27:case 24:case 25:{f=h;continue a}case 21:if(b&e<<24>>24==9){k=12;break a}else{f=h;continue a}case 22:case 26:{if(!b){k=12;break a}if(e<<24>>24>=0){f=h;continue a}break}default:if(!b){k=12;break a}}switch(e<<24>>24|0){case 64:case 36:{f=h;break}default:{k=12;break a}}}if((k|0)==12){c[g>>2]=h;f=0}return f|0}function pY(b,e,f,g,h){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0;j=c[e>>2]|0;k=j+(f-j&-2)|0;l=k;m=h;a:while(1){if(j>>>0>=k>>>0){b=0;break}i=a[j>>0]|0;b=a[j+1>>0]|0;f=b&255;switch(b<<24>>24){case 0:{if(i<<24>>24>-1){b=c[g>>2]|0;if((b|0)==(h|0)){b=2;break a}c[g>>2]=b+1;a[b>>0]=i;b=j}else n=7;break}case 7:case 6:case 5:case 4:case 3:case 2:case 1:{n=7;break}case -37:case -38:case -39:case -40:{b=c[g>>2]|0;if((m-b|0)<4){b=2;break a}if((l-j|0)<4){b=1;break a}o=i&255;i=(f<<2&12|o>>>6)+1|0;c[g>>2]=b+1;a[b>>0]=i>>>2|240;b=c[g>>2]|0;c[g>>2]=b+1;a[b>>0]=o>>>2&15|i<<4&48|128;b=j+2|0;i=d[b>>0]|0;f=(o<<4&48|i>>>6|a[j+3>>0]<<2&12|128)&255;j=c[g>>2]|0;c[g>>2]=j+1;a[j>>0]=f;j=c[g>>2]|0;c[g>>2]=j+1;a[j>>0]=i&63|128;break}default:{b=c[g>>2]|0;if((m-b|0)<3){b=2;break a}c[g>>2]=b+1;a[b>>0]=f>>>4|224;o=i&255;b=c[g>>2]|0;c[g>>2]=b+1;a[b>>0]=o>>>6|f<<2&60|128;b=c[g>>2]|0;c[g>>2]=b+1;a[b>>0]=o&63|128;b=j}}if((n|0)==7){n=0;b=c[g>>2]|0;if((m-b|0)<2){b=2;break}o=i&255;c[g>>2]=b+1;a[b>>0]=o>>>6|f<<2|192;b=c[g>>2]|0;c[g>>2]=b+1;a[b>>0]=o&63|128;b=j}j=b+2|0}c[e>>2]=j;return b|0}function qY(e,f,g,h,i){e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,l=0;j=c[f>>2]|0;l=g-j&-2;e=j+l|0;if((l|0)>(i-(c[h>>2]|0)|0)){k=e+-2|0;g=(a[k+1>>0]&-8)<<24>>24==-40;l=g&1;e=g?k:e}else l=0;g=j;while(1){j=g>>>0>>0;k=c[h>>2]|0;if(!(j&k>>>0>>0))break;j=((d[g+1>>0]|0)<<8|(d[g>>0]|0))&65535;c[h>>2]=k+2;b[k>>1]=j;k=(c[f>>2]|0)+2|0;c[f>>2]=k;g=k}return ((k|0)!=(i|0)|j^1?l:2)|0}function rY(a,b){a=a|0;b=b|0;var c=0;switch(a<<24>>24){case -37:case -38:case -39:case -40:{a=7;break}case -33:case -34:case -35:case -36:{a=8;break}case -1:{if((b&255)>253)a=0;else c=4;break}default:c=4}if((c|0)==4)a=29;return a|0}function sY(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0;l=f;j=l-e|0;a:do if((j|0)>1){k=a[e+1>>0]|0;if(!(k<<24>>24)){i=a[e>>0]|0;h=d[b+72+(i&255)>>0]|0}else{i=a[e>>0]|0;h=rY(k,i)|0}switch(h|0){case 29:{j=i&255;if(!(1<<(j&31)&c[56836+((j>>>5|(d[140706+(k&255)>>0]|0)<<3)<<2)>>2])){c[g>>2]=e;b=0;break a}break}case 24:case 22:break;case 5:{c[g>>2]=e;b=0;break a}case 6:{if((j|0)<3){b=-2;break a}c[g>>2]=e;b=0;break a}case 7:{if((j|0)<4){b=-2;break a}c[g>>2]=e;b=0;break a}case 19:{b=uY(b,e+2|0,f,g)|0;break a}default:{c[g>>2]=e;b=0;break a}}k=b+72|0;j=e;b:while(1){i=j+2|0;e=l-i|0;if((e|0)<=1){b=-1;break a}b=a[j+3>>0]|0;h=a[i>>0]|0;if(!(b<<24>>24))f=d[k+(h&255)>>0]|0;else f=rY(b,h)|0;switch(f|0){case 27:case 26:case 25:case 24:case 22:{j=i;continue b}case 5:{h=23;break b}case 6:{h=24;break b}case 7:{h=26;break b}case 18:{h=28;break b}case 29:break;default:{h=29;break b}}e=h&255;if(!(1<<(e&31)&c[56836+((e>>>5|(d[140962+(b&255)>>0]|0)<<3)<<2)>>2])){h=22;break}else j=i}if((h|0)==22){c[g>>2]=i;b=0;break}else if((h|0)==23){c[g>>2]=i;b=0;break}else if((h|0)==24){if((e|0)<3){b=-2;break}c[g>>2]=i;b=0;break}else if((h|0)==26){if((e|0)<4){b=-2;break}c[g>>2]=i;b=0;break}else if((h|0)==28){c[g>>2]=j+4;b=9;break}else if((h|0)==29){c[g>>2]=i;b=0;break}}else b=-1;while(0);return b|0}function tY(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0;j=f-e|0;a:do if((j|0)>1){k=a[e+1>>0]|0;if(!(k<<24>>24)){i=a[e>>0]|0;h=d[b+72+(i&255)>>0]|0}else{i=a[e>>0]|0;h=rY(k,i)|0}switch(h|0){case 29:{l=i&255;if(!(1<<(l&31)&c[56836+((l>>>5|(d[140706+(k&255)>>0]|0)<<3)<<2)>>2])){c[g>>2]=e;f=0;break a}break}case 24:case 22:break;case 5:{c[g>>2]=e;f=0;break a}case 6:{if((j|0)<3){f=-2;break a}c[g>>2]=e;f=0;break a}case 7:{if((j|0)<4){f=-2;break a}c[g>>2]=e;f=0;break a}case 30:case 9:case 10:case 21:{c[g>>2]=e;f=22;break a}default:{c[g>>2]=e;f=0;break a}}l=b+72|0;b=e;b:while(1){k=b+2|0;e=f-k|0;if((e|0)<=1){f=-1;break a}h=a[b+3>>0]|0;i=a[k>>0]|0;if(!(h<<24>>24))j=d[l+(i&255)>>0]|0;else j=rY(h,i)|0;switch(j|0){case 27:case 26:case 25:case 24:case 22:{b=k;continue b}case 5:{h=23;break b}case 6:{h=24;break b}case 7:{h=26;break b}case 18:{h=28;break b}case 29:break;default:{h=29;break b}}e=i&255;if(!(1<<(e&31)&c[56836+((e>>>5|(d[140962+(h&255)>>0]|0)<<3)<<2)>>2])){h=22;break}else b=k}if((h|0)==22){c[g>>2]=k;f=0;break}else if((h|0)==23){c[g>>2]=k;f=0;break}else if((h|0)==24){if((e|0)<3){f=-2;break}c[g>>2]=k;f=0;break}else if((h|0)==26){if((e|0)<4){f=-2;break}c[g>>2]=k;f=0;break}else if((h|0)==28){c[g>>2]=b+4;f=28;break}else if((h|0)==29){c[g>>2]=k;f=0;break}}else f=-1;while(0);return f|0}function uY(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0;k=f;a:do if((k-e|0)>1){i=a[e+1>>0]|0;h=a[e>>0]|0;do if(!(i<<24>>24))if(h<<24>>24==120){h=vY(b,e+2|0,f,g)|0;break a}else{h=d[b+72+(h&255)>>0]|0;break}else h=rY(i,h)|0;while(0);if((h|0)!=25){c[g>>2]=e;h=0;break}j=b+72|0;b=e;b:while(1){i=b+2|0;if((k-i|0)<=1){h=-1;break a}h=a[b+3>>0]|0;f=a[i>>0]|0;if(!(h<<24>>24))h=d[j+(f&255)>>0]|0;else h=rY(h,f)|0;switch(h|0){case 25:{b=i;break}case 18:{f=15;break b}default:{f=16;break b}}}if((f|0)==15){c[g>>2]=b+4;h=10;break}else if((f|0)==16){c[g>>2]=i;h=0;break}}else h=-1;while(0);return h|0}function vY(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0;a:do if((f-e|0)>1){h=a[e+1>>0]|0;if(!(h<<24>>24))h=d[b+72+(d[e>>0]|0)>>0]|0;else h=rY(h,a[e>>0]|0)|0;if((h&-2|0)!=24){c[g>>2]=e;f=0;break}j=b+72|0;b:while(1){i=e+2|0;if((f-i|0)<=1){f=-1;break a}h=a[e+3>>0]|0;b=a[i>>0]|0;if(!(h<<24>>24))h=d[j+(b&255)>>0]|0;else h=rY(h,b)|0;switch(h|0){case 24:case 25:{e=i;break}case 18:{h=13;break b}default:{h=14;break b}}}if((h|0)==13){c[g>>2]=e+4;f=10;break}else if((h|0)==14){c[g>>2]=i;f=0;break}}else f=-1;while(0);return f|0}function wY(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;o=f;j=o-e|0;a:do if((j|0)>1){k=a[e+1>>0]|0;if(!(k<<24>>24)){i=a[e>>0]|0;h=d[b+72+(i&255)>>0]|0}else{i=a[e>>0]|0;h=rY(k,i)|0}switch(h|0){case 29:{m=i&255;if(!(1<<(m&31)&c[56836+((m>>>5|d[140706+(k&255)>>0]<<3)<<2)>>2])){c[g>>2]=e;h=0;break a}break}case 24:case 22:break;case 5:{c[g>>2]=e;h=0;break a}case 6:{if((j|0)<3){h=-2;break a}c[g>>2]=e;h=0;break a}case 7:{if((j|0)<4){h=-2;break a}c[g>>2]=e;h=0;break a}case 16:{i=e+2|0;if((o-i|0)<=1){h=-1;break a}h=a[e+3>>0]|0;if(!(h<<24>>24))h=d[b+72+(d[i>>0]|0)>>0]|0;else h=rY(h,a[i>>0]|0)|0;switch(h|0){case 27:{h=xY(b,e+4|0,f,g)|0;break a}case 20:{h=yY(e+4|0,f,g)|0;break a}default:{c[g>>2]=i;h=0;break a}}}case 15:{h=zY(b,e+2|0,f,g)|0;break a}case 17:{h=AY(b,e+2|0,f,g)|0;break a}default:{c[g>>2]=e;h=0;break a}}m=b+72|0;l=0;h=e+2|0;b:while(1){c:while(1){i=o-h|0;if((i|0)<=1){h=-1;break a}j=a[h+1>>0]|0;k=a[h>>0]|0;if(!(j<<24>>24))e=d[m+(k&255)>>0]|0;else e=rY(j,k)|0;switch(e|0){case 5:{n=34;break b}case 6:{n=35;break b}case 7:{n=37;break b}case 10:case 9:case 21:{n=55;break b}case 11:{n=69;break b}case 17:break b;case 23:break c;case 29:{e=k&255;if(!(1<<(e&31)&c[56836+((e>>>5|d[140962+(j&255)>>0]<<3)<<2)>>2])){n=32;break b}break}case 27:case 26:case 25:case 24:case 22:break;default:{n=75;break b}}h=h+2|0}if(l|0){n=40;break}k=h+2|0;e=o-k|0;if((e|0)<=1){h=-1;break a}l=a[h+3>>0]|0;i=a[k>>0]|0;if(!(l<<24>>24))j=d[m+(i&255)>>0]|0;else j=rY(l,i)|0;switch(j|0){case 5:{n=49;break b}case 6:{n=50;break b}case 7:{n=52;break b}case 29:{e=i&255;if(!(1<<(e&31)&c[56836+((e>>>5|d[140706+(l&255)>>0]<<3)<<2)>>2])){n=47;break b}break}case 24:case 22:break;default:{n=54;break b}}l=1;h=h+4|0}d:switch(n|0){case 32:{c[g>>2]=h;h=0;break a}case 34:{c[g>>2]=h;h=0;break a}case 35:{if((i|0)<3){h=-2;break a}c[g>>2]=h;h=0;break a}case 37:{if((i|0)<4){h=-2;break a}c[g>>2]=h;h=0;break a}case 40:{c[g>>2]=h;h=0;break a}case 47:{c[g>>2]=k;h=0;break a}case 49:{c[g>>2]=k;h=0;break a}case 50:{if((e|0)<3){h=-2;break a}c[g>>2]=k;h=0;break a}case 52:{if((e|0)<4){h=-2;break a}c[g>>2]=k;h=0;break a}case 54:{c[g>>2]=k;h=0;break a}case 55:{e:while(1){n=0;i=h+2|0;j=o-i|0;if((j|0)<=1){h=-1;break a}k=a[h+3>>0]|0;e=a[i>>0]|0;if(!(k<<24>>24))l=d[m+(e&255)>>0]|0;else l=rY(k,e)|0;switch(l|0){case 11:{h=i;n=69;break d}case 17:{h=i;break d}case 10:case 9:case 21:{h=i;n=55;break}case 29:{n=60;break e}case 24:case 22:break e;case 5:{n=63;break e}case 6:{n=64;break e}case 7:{n=66;break e}default:{n=68;break e}}}if((n|0)==60){o=e&255;if(!(1<<(o&31)&c[56836+((o>>>5|d[140706+(k&255)>>0]<<3)<<2)>>2])){c[g>>2]=i;h=0;break a}}else if((n|0)==63){c[g>>2]=i;h=0;break a}else if((n|0)==64){if((j|0)<3){h=-2;break a}c[g>>2]=i;h=0;break a}else if((n|0)==66){if((j|0)<4){h=-2;break a}c[g>>2]=i;h=0;break a}else if((n|0)==68){c[g>>2]=i;h=0;break a}h=BY(b,h+4|0,f,g)|0;break a}case 75:{c[g>>2]=h;h=0;break a}}if((n|0)==69){c[g>>2]=h+2;h=2;break}i=h+2|0;if((o-i|0)>1){if((a[h+3>>0]|0)==0?(a[i>>0]|0)==62:0){c[g>>2]=h+4;h=4;break}c[g>>2]=i;h=0}else h=-1}else h=-1;while(0);return h|0}function xY(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0;j=f;a:do if((j-e|0)>1){if((a[e+1>>0]|0)==0?(a[e>>0]|0)==45:0){i=b+72|0;h=e+2|0;b:while(1){e=j-h|0;if((e|0)<=1){f=-1;break a}f=a[h+1>>0]|0;b=a[h>>0]|0;if(!(f<<24>>24))f=d[i+(b&255)>>0]|0;else f=rY(f,b)|0;switch(f|0){case 8:case 1:case 0:{k=16;break b}case 5:{h=h+2|0;continue b}case 6:{if((e|0)<3){f=-2;break a}h=h+3|0;continue b}case 7:{if((e|0)<4){f=-2;break a}h=h+4|0;continue b}case 27:{f=h+2|0;if((j-f|0)<=1){f=-1;break a}if(a[h+3>>0]|0){h=f;continue b}if((a[f>>0]|0)==45)break b;else{h=f;continue b}}default:{h=h+2|0;continue b}}}if((k|0)==16){c[g>>2]=h;f=0;break}f=h+4|0;if((j-f|0)<=1){f=-1;break}if((a[h+5>>0]|0)==0?(a[f>>0]|0)==62:0){c[g>>2]=h+6;f=13;break}c[g>>2]=f;f=0;break}c[g>>2]=e;f=0}else f=-1;while(0);return f|0}function yY(b,d,e){b=b|0;d=d|0;e=e|0;if((d-b|0)>11){d=0;while(1){if((d|0)>=6){d=8;break}if(a[b+1>>0]|0){d=0;break}if((a[b>>0]|0)!=(a[141218+d>>0]|0)){d=0;break}d=d+1|0;b=b+2|0}c[e>>2]=b}else d=-1;return d|0}function zY(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0;q=l;l=l+16|0;p=q;o=f;j=o-e|0;a:do if((j|0)>1){f=a[e+1>>0]|0;if(!(f<<24>>24)){i=a[e>>0]|0;h=d[b+72+(i&255)>>0]|0}else{i=a[e>>0]|0;h=rY(f,i)|0}switch(h|0){case 29:{m=i&255;if(!(1<<(m&31)&c[56836+((m>>>5|d[140706+(f&255)>>0]<<3)<<2)>>2])){c[g>>2]=e;f=0;break a}break}case 24:case 22:break;case 5:{c[g>>2]=e;f=0;break a}case 6:{if((j|0)<3){f=-2;break a}c[g>>2]=e;f=0;break a}case 7:{if((j|0)<4){f=-2;break a}c[g>>2]=e;f=0;break a}default:{c[g>>2]=e;f=0;break a}}m=b+72|0;k=e;b:while(1){f=k+2|0;h=o-f|0;if((h|0)<=1){f=-1;break a}i=a[k+3>>0]|0;j=a[f>>0]|0;if(!(i<<24>>24))b=d[m+(j&255)>>0]|0;else b=rY(i,j)|0;switch(b|0){case 27:case 26:case 25:case 24:case 22:{k=f;continue b}case 5:{n=22;break b}case 6:{n=23;break b}case 7:{n=25;break b}case 10:case 9:case 21:{n=27;break b}case 15:{n=46;break b}case 29:break;default:break b}k=j&255;if(!(1<<(k&31)&c[56836+((k>>>5|d[140962+(i&255)>>0]<<3)<<2)>>2])){n=21;break}else k=f}if((n|0)==21){c[g>>2]=f;f=0;break}else if((n|0)==22){c[g>>2]=f;f=0;break}else if((n|0)==23){if((h|0)<3){f=-2;break}c[g>>2]=f;f=0;break}else if((n|0)==25){if((h|0)<4){f=-2;break}c[g>>2]=f;f=0;break}else if((n|0)==27){if(!(CY(e,f,p)|0)){c[g>>2]=f;f=0;break}j=k+4|0;c:while(1){i=o-j|0;if((i|0)<=1){f=-1;break a}f=a[j+1>>0]|0;h=a[j>>0]|0;if(!(f<<24>>24))f=d[m+(h&255)>>0]|0;else f=rY(f,h)|0;switch(f|0){case 8:case 1:case 0:{n=40;break c}case 5:{j=j+2|0;continue c}case 6:{if((i|0)<3){f=-2;break a}j=j+3|0;continue c}case 7:{if((i|0)<4){f=-2;break a}j=j+4|0;continue c}case 15:{f=j+2|0;if((o-f|0)<=1){f=-1;break a}if(a[j+3>>0]|0){j=f;continue c}if((a[f>>0]|0)==62){n=44;break c}else{j=f;continue c}}default:{j=j+2|0;continue c}}}if((n|0)==40){c[g>>2]=j;f=0;break}else if((n|0)==44){c[g>>2]=j+4;f=c[p>>2]|0;break}}else if((n|0)==46){if(!(CY(e,f,p)|0)){c[g>>2]=f;f=0;break}f=k+4|0;if((o-f|0)<=1){f=-1;break}if((a[k+5>>0]|0)==0?(a[f>>0]|0)==62:0){c[g>>2]=k+6;f=c[p>>2]|0;break}}c[g>>2]=f;f=0}else f=-1;while(0);l=q;return f|0}function AY(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0;j=f-e|0;a:do if((j|0)>1){k=a[e+1>>0]|0;if(!(k<<24>>24)){i=a[e>>0]|0;h=d[b+72+(i&255)>>0]|0}else{i=a[e>>0]|0;h=rY(k,i)|0}switch(h|0){case 29:{l=i&255;if(!(1<<(l&31)&c[56836+((l>>>5|(d[140706+(k&255)>>0]|0)<<3)<<2)>>2])){c[g>>2]=e;f=0;break a}break}case 24:case 22:break;case 5:{c[g>>2]=e;f=0;break a}case 6:{if((j|0)<3){f=-2;break a}c[g>>2]=e;f=0;break a}case 7:{if((j|0)<4){f=-2;break a}c[g>>2]=e;f=0;break a}default:{c[g>>2]=e;f=0;break a}}l=b+72|0;b=e;b:while(1){j=b+2|0;e=f-j|0;if((e|0)<=1){f=-1;break a}h=a[b+3>>0]|0;i=a[j>>0]|0;if(!(h<<24>>24))k=d[l+(i&255)>>0]|0;else k=rY(h,i)|0;switch(k|0){case 23:case 27:case 26:case 25:case 24:case 22:{b=j;continue b}case 5:{h=22;break b}case 6:{h=23;break b}case 7:{h=25;break b}case 10:case 9:case 21:{h=27;break b}case 11:{h=34;break b}case 29:break;default:{h=35;break b}}e=i&255;if(!(1<<(e&31)&c[56836+((e>>>5|(d[140962+(h&255)>>0]|0)<<3)<<2)>>2])){h=21;break}else b=j}if((h|0)==21){c[g>>2]=j;f=0;break}else if((h|0)==22){c[g>>2]=j;f=0;break}else if((h|0)==23){if((e|0)<3){f=-2;break}c[g>>2]=j;f=0;break}else if((h|0)==25){if((e|0)<4){f=-2;break}c[g>>2]=j;f=0;break}else if((h|0)==27){c:while(1){k=j+2|0;if((f-k|0)<=1){f=-1;break a}h=a[j+3>>0]|0;i=a[k>>0]|0;if(!(h<<24>>24))h=d[l+(i&255)>>0]|0;else h=rY(h,i)|0;switch(h|0){case 10:case 9:case 21:{j=k;h=27;break}case 11:{h=32;break c}default:{h=33;break c}}}if((h|0)==32){c[g>>2]=j+4;f=5;break}else if((h|0)==33){c[g>>2]=k;f=0;break}}else if((h|0)==34){c[g>>2]=b+4;f=5;break}else if((h|0)==35){c[g>>2]=j;f=0;break}}else f=-1;while(0);return f|0}function BY(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;s=l;l=l+16|0;q=s;c[q>>2]=e;r=f;o=b+72|0;h=0;a:while(1){b:while(1){m=r-e|0;if((m|0)<=1){e=-1;break a}i=a[e+1>>0]|0;j=a[e>>0]|0;if(!(i<<24>>24))k=d[o+(j&255)>>0]|0;else k=rY(i,j)|0;switch(k|0){case 5:{p=11;break a}case 6:{p=12;break a}case 7:{p=14;break a}case 23:{p=16;break b}case 10:case 9:case 21:{p=31;break b}case 14:{p=37;break b}case 29:{n=j&255;if(!(1<<(n&31)&c[56836+((n>>>5|d[140962+(i&255)>>0]<<3)<<2)>>2])){p=9;break a}break}case 27:case 26:case 25:case 24:case 22:break;default:{p=89;break a}}n=e+2|0;c[q>>2]=n;e=n}c:do if((p|0)==16){p=0;if(h|0){p=17;break a}h=e+2|0;c[q>>2]=h;i=h;j=r-i|0;if((j|0)<=1){e=-1;break a}k=a[e+3>>0]|0;m=a[h>>0]|0;if(!(k<<24>>24))n=d[o+(m&255)>>0]|0;else n=rY(k,m)|0;switch(n|0){case 5:{p=25;break a}case 6:{p=26;break a}case 7:{p=28;break a}case 24:case 22:{h=1;break c}case 29:break;default:{p=30;break a}}n=m&255;if(!(1<<(n&31)&c[56836+((n>>>5|d[140706+(k&255)>>0]<<3)<<2)>>2])){p=24;break a}else h=1}else if((p|0)==31)while(1){p=0;i=e+2|0;c[q>>2]=i;j=i;if((r-j|0)<=1){e=-1;break a}e=a[e+3>>0]|0;h=a[i>>0]|0;if(!(e<<24>>24))e=d[o+(h&255)>>0]|0;else e=rY(e,h)|0;switch(e|0){case 14:{e=i;p=37;break c}case 9:case 10:case 21:{e=i;p=31;break}default:{p=36;break a}}}while(0);d:do if((p|0)==37){while(1){p=0;j=e+2|0;c[q>>2]=j;k=j;if((r-k|0)<=1){e=-1;break a}h=a[e+3>>0]|0;i=a[j>>0]|0;if(!(h<<24>>24))m=d[o+(i&255)>>0]|0;else m=rY(h,i)|0;if((m|1|0)==13)break;switch(m|0){case 9:case 10:case 21:{e=j;p=37;break}default:{p=43;break a}}}e=e+4|0;c[q>>2]=e;e:while(1){j=r-e|0;if((j|0)<=1){e=-1;break a}h=a[e+1>>0]|0;i=a[e>>0]|0;if(!(h<<24>>24))h=d[o+(i&255)>>0]|0;else h=rY(h,i)|0;if((h|0)==(m|0))break;switch(h|0){case 8:case 1:case 0:{p=56;break a}case 2:{p=61;break a}case 5:{n=e+2|0;c[q>>2]=n;e=n;continue e}case 6:{if((j|0)<3){e=-2;break a}n=e+3|0;c[q>>2]=n;e=n;continue e}case 7:{if((j|0)<4){e=-2;break a}n=e+4|0;c[q>>2]=n;e=n;continue e}case 3:{e=sY(b,e+2|0,f,q)|0;if((e|0)<1){p=59;break a}e=c[q>>2]|0;continue e}default:{n=e+2|0;c[q>>2]=n;e=n;continue e}}}i=e+2|0;c[q>>2]=i;k=i;if((r-k|0)<=1){e=-1;break a}h=a[e+3>>0]|0;j=a[i>>0]|0;if(!(h<<24>>24))h=d[o+(j&255)>>0]|0;else h=rY(h,j)|0;switch(h|0){case 11:{p=81;break a}case 17:{p=82;break a}case 10:case 9:case 21:{e=i;break}default:{p=68;break a}}f:while(1){i=e+2|0;c[q>>2]=i;h=i;j=r-h|0;if((j|0)<=1){e=-1;break a}k=a[e+3>>0]|0;m=a[i>>0]|0;if(!(k<<24>>24))n=d[o+(m&255)>>0]|0;else n=rY(k,m)|0;switch(n|0){case 5:{p=76;break a}case 6:{p=77;break a}case 7:{p=79;break a}case 11:{p=81;break a}case 17:{p=82;break a}case 24:case 22:{h=0;break d}case 10:case 9:case 21:{e=i;break}case 29:break f;default:{p=87;break a}}}n=m&255;if(!(1<<(n&31)&c[56836+((n>>>5|d[140706+(k&255)>>0]<<3)<<2)>>2])){p=75;break a}else h=0}while(0);e=e+4|0;c[q>>2]=e}switch(p|0){case 9:{c[g>>2]=e;e=0;break}case 11:{c[g>>2]=e;e=0;break}case 12:{if((m|0)<3)e=-2;else{c[g>>2]=e;e=0}break}case 14:{if((m|0)<4)e=-2;else{c[g>>2]=e;e=0}break}case 17:{c[g>>2]=e;e=0;break}case 24:{c[g>>2]=h;e=0;break}case 25:{c[g>>2]=h;e=0;break}case 26:{if((j|0)<3)e=-2;else{c[g>>2]=h;e=0}break}case 28:{if((j|0)<4)e=-2;else{c[g>>2]=h;e=0}break}case 30:{c[g>>2]=i;e=0;break}case 36:{c[g>>2]=j;e=0;break}case 43:{c[g>>2]=k;e=0;break}case 56:{c[g>>2]=e;e=0;break}case 59:{if(!e){c[g>>2]=c[q>>2];e=0}break}case 61:{c[g>>2]=e;e=0;break}case 68:{c[g>>2]=k;e=0;break}case 75:{c[g>>2]=i;e=0;break}case 76:{c[g>>2]=i;e=0;break}case 77:{if((j|0)<3)e=-2;else{c[g>>2]=i;e=0}break}case 79:{if((j|0)<4)e=-2;else{c[g>>2]=i;e=0}break}case 81:{c[g>>2]=e+4;e=1;break}case 82:{h=i+2|0;c[q>>2]=h;e=h;if((r-e|0)>1){if((a[i+3>>0]|0)==0?(a[h>>0]|0)==62:0){c[g>>2]=i+4;e=3;break}c[g>>2]=e;e=0}else e=-1;break}case 87:{c[g>>2]=h;e=0;break}case 89:{c[g>>2]=e;e=0;break}}l=s;return e|0}function CY(b,d,e){b=b|0;d=d|0;e=e|0;c[e>>2]=11;a:do if((d-b|0)==6?(a[b+1>>0]|0)==0:0){switch(a[b>>0]|0){case 120:{d=0;break}case 88:{d=1;break}default:{d=1;break a}}if(!(a[b+3>>0]|0)){switch(a[b+2>>0]|0){case 109:break;case 77:{d=1;break}default:{d=1;break a}}if(!(a[b+5>>0]|0)){switch(a[b+4>>0]|0){case 108:break;case 76:{d=0;break a}default:{d=1;break a}}if(!d){c[e>>2]=12;d=1}else d=0}else d=1}else d=1}else d=1;while(0);return d|0}function DY(b,e,f,g,h){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0;k=e+72|0;a:while(1){b:while(1){j=g-f|0;if((j|0)<=1){f=-1;break a}e=a[f+1>>0]|0;i=a[f>>0]|0;if(!(e<<24>>24))e=d[k+(i&255)>>0]|0;else e=rY(e,i)|0;switch(e|0){case 8:case 1:case 0:{l=10;break a}case 6:{l=9;break b}case 7:{l=19;break b}case 5:{f=f+2|0;continue b}case 13:case 12:{i=f+2|0;if((e|0)==(b|0)){l=12;break a}else{f=i;continue b}}default:{f=f+2|0;continue b}}}if((l|0)==9){l=0;if((j|0)<3){f=-2;break}else{f=f+3|0;continue}}else if((l|0)==19){l=0;if((j|0)<4){f=-2;break}else{f=f+4|0;continue}}}c:do if((l|0)==10){c[h>>2]=f;f=0}else if((l|0)==12)if((g-i|0)>1){c[h>>2]=i;g=a[f+3>>0]|0;f=a[i>>0]|0;if(!(g<<24>>24))f=d[k+(f&255)>>0]|0;else f=rY(g,f)|0;switch(f|0){case 20:case 30:case 11:case 10:case 9:case 21:{f=27;break c}default:{}}f=0}else f=-27;while(0);return f|0}function EY(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0;k=f;a:do if((k-e|0)>1){h=a[e+1>>0]|0;if(!(h<<24>>24))h=d[b+72+(d[e>>0]|0)>>0]|0;else h=rY(h,a[e>>0]|0)|0;switch(h|0){case 27:{h=xY(b,e+2|0,f,g)|0;break a}case 20:{c[g>>2]=e+2;h=33;break a}case 24:case 22:{j=b+72|0;b:while(1){i=e+2|0;f=k-i|0;if((f|0)<=1){h=-1;break a}h=a[e+3>>0]|0;b=a[i>>0]|0;if(!(h<<24>>24))h=d[j+(b&255)>>0]|0;else h=rY(h,b)|0;switch(h|0){case 24:case 22:{e=i;break}case 30:{l=15;break b}case 10:case 9:case 21:break b;default:{l=22;break b}}}if((l|0)==22){c[g>>2]=i;h=0;break a}c:do if((l|0)==15){if((f|0)<=3){h=-1;break a}b=a[e+5>>0]|0;h=a[e+4>>0]|0;if(!(b<<24>>24))h=d[j+(h&255)>>0]|0;else h=rY(b,h)|0;switch(h|0){case 30:case 10:case 9:case 21:break;default:break c}c[g>>2]=i;h=0;break a}while(0);c[g>>2]=i;h=16;break a}default:{c[g>>2]=e;h=0;break a}}}else h=-1;while(0);return h|0}function FY(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0;j=f-e|0;a:do if((j|0)>1){k=a[e+1>>0]|0;if(!(k<<24>>24)){i=a[e>>0]|0;h=d[b+72+(i&255)>>0]|0}else{i=a[e>>0]|0;h=rY(k,i)|0}switch(h|0){case 29:{j=i&255;if(!(1<<(j&31)&c[56836+((j>>>5|(d[140706+(k&255)>>0]|0)<<3)<<2)>>2])){c[g>>2]=e;f=0;break a}break}case 24:case 22:break;case 5:{c[g>>2]=e;f=0;break a}case 6:{if((j|0)<3){f=-2;break a}c[g>>2]=e;f=0;break a}case 7:{if((j|0)<4){f=-2;break a}c[g>>2]=e;f=0;break a}default:{c[g>>2]=e;f=0;break a}}b=b+72|0;k=e;b:while(1){h=k;k=k+2|0;e=f-k|0;if((e|0)<=1){f=-20;break a}h=a[h+3>>0]|0;i=a[k>>0]|0;if(!(h<<24>>24))j=d[b+(i&255)>>0]|0;else j=rY(h,i)|0;switch(j|0){case 27:case 26:case 25:case 24:case 22:continue b;case 5:{h=22;break b}case 6:{h=23;break b}case 7:{h=25;break b}case 36:case 30:case 11:case 32:case 21:case 10:case 9:{h=27;break b}case 29:break;default:{h=28;break b}}e=i&255;if(!(1<<(e&31)&c[56836+((e>>>5|(d[140962+(h&255)>>0]|0)<<3)<<2)>>2])){h=21;break}}if((h|0)==21){c[g>>2]=k;f=0;break}else if((h|0)==22){c[g>>2]=k;f=0;break}else if((h|0)==23){if((e|0)<3){f=-2;break}c[g>>2]=k;f=0;break}else if((h|0)==25){if((e|0)<4){f=-2;break}c[g>>2]=k;f=0;break}else if((h|0)==27){c[g>>2]=k;f=20;break}else if((h|0)==28){c[g>>2]=k;f=0;break}}else f=-1;while(0);return f|0}function GY(b,d,e){b=b|0;d=d|0;e=e|0;e=HY(e)|0;if((e|0)==-1)e=0;else{a[b+69>>0]=e;c[b>>2]=67;c[b+4>>2]=68;c[b+48>>2]=31;c[b+72>>2]=d;c[d>>2]=b;e=1}return e|0}function HY(a){a=a|0;var b=0;a:do if(!a)b=6;else{b=0;while(1){if((b|0)>=6){b=-1;break a}if(pZ(a,c[59964+(b<<2)>>2]|0)|0)break a;b=b+1|0}}while(0);return b|0}function IY(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return LY(58844,a,0,b,c,d)|0}function JY(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return LY(58844,a,1,b,c,d)|0}function KY(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;AX(58480,b,c,d);return}function LY(b,d,e,f,g,h){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0;a:do if(f>>>0>>0){l=c[d+72>>2]|0;i=f+1|0;b:do if((i|0)==(g|0)){i=a[d+69>>0]|0;if(((i<<24>>24)+-3|0)>>>0<3){i=-1;break a}switch(a[f>>0]|0){case 60:case 0:{i=-1;break a}case -17:case -1:case -2:break;default:break b}if(!((e|0)==1&i<<24>>24==0)){i=-1;break a}}else{k=a[f>>0]|0;i=a[i>>0]|0;j=((k&255)<<8|i&255)&65535;c:do if(j<<16>>16<-2){if(j<<16>>16>=-257){switch(j<<16>>16){case -257:break;default:break c}if((e|0)==1&(a[d+69>>0]|0)==0)break b;c[h>>2]=f+2;c[l>>2]=c[b+16>>2];i=14;break a}switch(j<<16>>16){case -4165:break;default:break c}if((e|0)==1)switch(a[d+69>>0]|0){case 0:case 3:case 4:case 5:break b;default:{}}i=f+2|0;if((i|0)==(g|0)){i=-1;break a}if((a[i>>0]|0)!=-65)break b;c[h>>2]=f+3;c[l>>2]=c[b+8>>2];i=14;break a}else{if(j<<16>>16<15360){switch(j<<16>>16){case -2:break;default:break c}if((e|0)==1&(a[d+69>>0]|0)==0)break b;c[h>>2]=f+2;c[l>>2]=c[b+20>>2];i=14;break a}switch(j<<16>>16){case 15360:break;default:break c}i=a[d+69>>0]|0;if(i<<24>>24==4){if((e|0)==1)break b}else if((e|0)==1&i<<24>>24==3)break b;i=c[b+20>>2]|0;c[l>>2]=i;i=ob[c[i+(e<<2)>>2]&127](i,f,g,h)|0;break a}while(0);if(k<<24>>24){if((e|0)==1|i<<24>>24!=0)break;i=c[b+20>>2]|0;c[l>>2]=i;i=ob[c[i+(e<<2)>>2]&127](i,f,g,h)|0;break a}if((e|0)==1?(a[d+69>>0]|0)==5:0)break;i=c[b+16>>2]|0;c[l>>2]=i;i=ob[c[i+(e<<2)>>2]&127](i,f,g,h)|0;break a}while(0);i=c[b+(a[d+69>>0]<<2)>>2]|0;c[l>>2]=i;i=ob[c[i+(e<<2)>>2]&127](i,f,g,h)|0}else i=-4;while(0);return i|0}function MY(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0;a:do if(e>>>0>>0){i=e;m=f-i|0;k=(m&1|0)==0;m=m&-2;l=(m|0)==0;m=k|l?f:e+m|0;if(k|l^1){f=a[e>>0]|0;if(!(f<<24>>24)){h=a[e+1>>0]|0;j=h;h=d[b+72+(h&255)>>0]|0}else{h=a[e+1>>0]|0;j=h;h=rY(f,h)|0}do switch(h|0){case 12:{f=lZ(12,b,e+2|0,m,g)|0;break a}case 13:{f=lZ(13,b,e+2|0,m,g)|0;break a}case 2:{h=e+2|0;if((m-h|0)<=1){f=-1;break a}f=a[h>>0]|0;if(!(f<<24>>24))f=d[b+72+(d[e+3>>0]|0)>>0]|0;else f=rY(f,a[e+3>>0]|0)|0;switch(f|0){case 16:{f=mZ(b,e+4|0,m,g)|0;break a}case 15:{f=hZ(b,e+4|0,m,g)|0;break a}case 7:case 6:case 5:case 29:case 24:case 22:{c[g>>2]=e;f=29;break a}default:{c[g>>2]=h;f=0;break a}}}case 9:{if((e+2|0)==(m|0)){c[g>>2]=m;f=-15;break a}else i=7;break}case 10:case 21:{i=7;break}case 30:{f=bZ(b,e+2|0,m,g)|0;break a}case 35:{c[g>>2]=e+2;f=38;break a}case 20:{c[g>>2]=e+2;f=25;break a}case 4:{h=e+2|0;f=m-h|0;if((f|0)<=1){f=-26;break a}if((a[h>>0]|0)==0?(a[e+3>>0]|0)==93:0){if((f|0)<=3){f=-1;break a}if((a[e+4>>0]|0)==0?(a[e+5>>0]|0)==62:0){c[g>>2]=e+6;f=34;break a}}c[g>>2]=h;f=26;break a}case 31:{c[g>>2]=e+2;f=23;break a}case 32:{h=e+2|0;if((m-h|0)<=1){f=-24;break a}f=a[h>>0]|0;if(!(f<<24>>24))f=d[b+72+(d[e+3>>0]|0)>>0]|0;else f=rY(f,a[e+3>>0]|0)|0;switch(f|0){case 33:{c[g>>2]=e+4;f=36;break a}case 15:{c[g>>2]=e+4;f=35;break a}case 34:{c[g>>2]=e+4;f=37;break a}case 32:case 36:case 35:case 11:case 21:case 10:case 9:{c[g>>2]=h;f=24;break a}default:{c[g>>2]=h;f=0;break a}}}case 36:{c[g>>2]=e+2;f=21;break a}case 11:{c[g>>2]=e+2;f=17;break a}case 19:{f=nZ(b,e+2|0,m,g)|0;break a}case 5:{if((m-i|0)<2){f=-2;break a}c[g>>2]=e;f=0;break a}case 6:{if((m-i|0)<3){f=-2;break a}c[g>>2]=e;f=0;break a}case 7:{if((m-i|0)<4){f=-2;break a}c[g>>2]=e;f=0;break a}case 24:case 22:{f=18;i=61;break}case 23:case 27:case 26:case 25:{f=19;i=61;break}case 29:{i=f&255;h=j&255;f=h>>>5;h=1<<(h&31);if(!(h&c[56836+((f|d[140706+i>>0]<<3)<<2)>>2]))if(!(c[56836+((d[140962+i>>0]<<3|f)<<2)>>2]&h))i=64;else{f=19;i=61}else{f=18;i=61}break}default:i=64}while(0);if((i|0)==7){k=m;b=b+72|0;j=e;b:while(1){i=j;j=j+2|0;if((k-j|0)<=1){i=28;break}f=a[j>>0]|0;h=a[i+3>>0]|0;if(!(f<<24>>24))f=d[b+(h&255)>>0]|0;else f=rY(f,h)|0;switch(f|0){case 10:case 21:continue b;case 9:break;default:{i=27;break b}}if((i+4|0)==(m|0)){i=27;break}}if((i|0)==27){c[g>>2]=j;f=15;break}else if((i|0)==28){c[g>>2]=j;f=15;break}}else if((i|0)==61){l=b+72|0;h=e+2|0;c:while(1){e=f&255;d:while(1){k=m-h|0;if((k|0)<=1){i=104;break c}i=a[h>>0]|0;j=a[h+1>>0]|0;if(!(i<<24>>24))b=d[l+(j&255)>>0]|0;else b=rY(i,j)|0;switch(b|0){case 5:{i=73;break c}case 6:{i=74;break c}case 7:{i=76;break c}case 10:case 9:case 21:case 30:case 20:case 36:case 35:case 32:case 11:{i=78;break c}case 34:{i=94;break c}case 33:{i=97;break c}case 15:{i=100;break c}case 29:{k=j&255;if(!(1<<(k&31)&c[56836+((k>>>5|d[140962+(i&255)>>0]<<3)<<2)>>2])){i=71;break c}break}case 27:case 26:case 25:case 24:case 22:break;case 23:{k=h+2|0;switch(e&63){case 41:{f=19;h=k;continue c}case 18:break d;default:{h=k;continue d}}}default:{i=103;break c}}h=h+2|0}b=m-k|0;if((b|0)<=1){f=-1;break a}f=a[k>>0]|0;i=a[h+3>>0]|0;if(!(f<<24>>24))j=d[l+(i&255)>>0]|0;else j=rY(f,i)|0;switch(j|0){case 5:{i=89;break c}case 6:{i=90;break c}case 7:{i=92;break c}case 29:{e=i&255;if(!(1<<(e&31)&c[56836+((e>>>5|d[140962+(f&255)>>0]<<3)<<2)>>2])){i=87;break c}break}case 27:case 26:case 25:case 24:case 22:break;default:{f=19;h=k;continue c}}f=41;h=h+4|0}switch(i|0){case 71:{c[g>>2]=h;f=0;break a}case 73:{c[g>>2]=h;f=0;break a}case 74:{if((k|0)<3){f=-2;break a}c[g>>2]=h;f=0;break a}case 76:{if((k|0)<4){f=-2;break a}c[g>>2]=h;f=0;break a}case 78:{c[g>>2]=h;break a}case 87:{c[g>>2]=k;f=0;break a}case 89:{c[g>>2]=k;f=0;break a}case 90:{if((b|0)<3){f=-2;break a}c[g>>2]=k;f=0;break a}case 92:{if((b|0)<4){f=-2;break a}c[g>>2]=k;f=0;break a}case 94:if((f|0)==19){c[g>>2]=h;f=0;break a}else{c[g>>2]=h+2;f=32;break a}case 97:if((f|0)==19){c[g>>2]=h;f=0;break a}else{c[g>>2]=h+2;f=31;break a}case 100:if((f|0)==19){c[g>>2]=h;f=0;break a}else{c[g>>2]=h+2;f=30;break a}case 103:{c[g>>2]=h;f=0;break a}case 104:{f=0-f|0;break a}}}else if((i|0)==64){c[g>>2]=e;f=0;break}}else f=-1}else f=-4;while(0);return f|0}function NY(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0;a:do if(e>>>0>>0){h=e;i=f-h|0;k=(i&1|0)==0;i=i&-2;j=(i|0)==0;i=k|j?f:e+i|0;if(k|j^1){f=a[e>>0]|0;if(!(f<<24>>24))f=d[b+72+(d[e+1>>0]|0)>>0]|0;else f=rY(f,a[e+1>>0]|0)|0;do switch(f|0){case 2:{f=eZ(b,e+2|0,i,g)|0;break a}case 3:{f=aZ(b,e+2|0,i,g)|0;break a}case 9:{h=e+2|0;if((i-h|0)<=1){f=-3;break a}f=a[h>>0]|0;if(!(f<<24>>24))f=d[b+72+(d[e+3>>0]|0)>>0]|0;else f=rY(f,a[e+3>>0]|0)|0;c[g>>2]=(f|0)==10?e+4|0:h;f=7;break a}case 10:{c[g>>2]=e+2;f=7;break a}case 4:{h=e+2|0;if((i-h|0)<=1){f=-5;break a}if((a[h>>0]|0)==0?(a[e+3>>0]|0)==93:0){f=e+4|0;if((i-f|0)<=1){f=-5;break a}if((a[f>>0]|0)==0?(a[e+5>>0]|0)==62:0){c[g>>2]=f;f=0;break a}else f=i}else f=i;break}case 5:{f=i;if((f-h|0)<2){f=-2;break a}h=e+2|0;break}case 6:{f=i;if((f-h|0)<3){f=-2;break a}h=e+3|0;break}case 7:{f=i;if((f-h|0)<4){f=-2;break a}h=e+4|0;break}case 8:case 1:case 0:{c[g>>2]=e;f=0;break a}default:{h=e+2|0;f=i}}while(0);j=b+72|0;b=h;b:while(1){e=f-b|0;if((e|0)<=1){h=52;break}h=a[b>>0]|0;i=a[b+1>>0]|0;if(!(h<<24>>24))h=d[j+(i&255)>>0]|0;else h=rY(h,i)|0;switch(h|0){case 10:case 9:case 8:case 1:case 0:case 2:case 3:{h=50;break b}case 5:{b=b+2|0;continue b}case 6:{if((e|0)<3){h=38;break b}b=b+3|0;continue b}case 7:{if((e|0)<4){h=41;break b}b=b+4|0;continue b}case 4:{if((e|0)<=3){h=50;break b}h=b+2|0;if(a[h>>0]|0){b=h;continue b}if((a[b+3>>0]|0)!=93){b=h;continue b}if((e|0)<=5){h=50;break b}i=b+4|0;if(a[i>>0]|0){b=h;continue b}if((a[b+5>>0]|0)==62){h=49;break b}else{b=h;continue b}}default:{b=b+2|0;continue b}}}if((h|0)==38){c[g>>2]=b;f=6;break}else if((h|0)==41){c[g>>2]=b;f=6;break}else if((h|0)==49){c[g>>2]=i;f=0;break}else if((h|0)==50){c[g>>2]=b;f=6;break}else if((h|0)==52){c[g>>2]=b;f=6;break}}else f=-1}else f=-4;while(0);return f|0}function OY(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0;a:do if(e>>>0>>0){h=e;i=f-h|0;k=(i&1|0)==0;i=i&-2;j=(i|0)==0;i=k|j?f:e+i|0;if(k|j^1){f=a[e>>0]|0;if(!(f<<24>>24))f=d[b+72+(d[e+1>>0]|0)>>0]|0;else f=rY(f,a[e+1>>0]|0)|0;switch(f|0){case 4:{h=e+2|0;if((i-h|0)<=1){f=-1;break a}if((a[h>>0]|0)==0?(a[e+3>>0]|0)==93:0){f=e+4|0;if((i-f|0)<=1){f=-1;break a}if((a[f>>0]|0)==0?(a[e+5>>0]|0)==62:0){c[g>>2]=e+6;f=40;break a}}break}case 9:{h=e+2|0;if((i-h|0)<=1){f=-1;break a}f=a[h>>0]|0;if(!(f<<24>>24))f=d[b+72+(d[e+3>>0]|0)>>0]|0;else f=rY(f,a[e+3>>0]|0)|0;c[g>>2]=(f|0)==10?e+4|0:h;f=7;break a}case 10:{c[g>>2]=e+2;f=7;break a}case 5:{f=i;if((f-h|0)<2){f=-2;break a}h=e+2|0;i=f;break}case 6:{f=i;if((f-h|0)<3){f=-2;break a}h=e+3|0;i=f;break}case 7:{f=i;if((f-h|0)<4){f=-2;break a}h=e+4|0;i=f;break}case 8:case 1:case 0:{c[g>>2]=e;f=0;break a}default:h=e+2|0}j=b+72|0;b=h;b:while(1){e=i-b|0;if((e|0)<=1){h=40;break}f=a[b>>0]|0;h=a[b+1>>0]|0;if(!(f<<24>>24))f=d[j+(h&255)>>0]|0;else f=rY(f,h)|0;switch(f|0){case 10:case 9:case 8:case 1:case 0:case 4:{h=38;break b}case 6:{if((e|0)<3){h=35;break b}else f=3;break}case 7:{if((e|0)<4){h=37;break b}else f=4;break}default:f=2}b=b+f|0}if((h|0)==35){c[g>>2]=b;f=6;break}else if((h|0)==37){c[g>>2]=b;f=6;break}else if((h|0)==38){c[g>>2]=b;f=6;break}else if((h|0)==40){c[g>>2]=b;f=6;break}}else f=-1}else f=-4;while(0);return f|0}function PY(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0;k=f-e|0;k=(k&1|0)==0?f:e+(k&-2)|0;j=b+72|0;i=0;f=e;a:while(1){h=k-f|0;if((h|0)<=1){f=-1;break}b=a[f>>0]|0;e=a[f+1>>0]|0;if(!(b<<24>>24))b=d[j+(e&255)>>0]|0;else b=rY(b,e)|0;switch(b|0){case 8:case 1:case 0:{l=12;break a}case 5:{h=i;f=f+2|0;i=h;continue a}case 6:{if((h|0)<3){f=-2;break a}h=i;f=f+3|0;i=h;continue a}case 7:{if((h|0)<4){f=-2;break a}h=i;f=f+4|0;i=h;continue a}case 2:{b=f+2|0;if((k-b|0)<=1){f=-1;break a}if(a[b>>0]|0){h=i;f=b;i=h;continue a}if((a[f+3>>0]|0)!=33){h=i;f=b;i=h;continue a}b=f+4|0;if((k-b|0)<=1){f=-1;break a}if(a[b>>0]|0){h=i;f=b;i=h;continue a}h=(a[f+5>>0]|0)==91;i=i+(h&1)|0;f=h?f+6|0:b;continue a}case 4:{b=f+2|0;if((k-b|0)<=1){f=-1;break a}if(a[b>>0]|0){h=i;f=b;i=h;continue a}if((a[f+3>>0]|0)!=93){h=i;f=b;i=h;continue a}b=f+4|0;if((k-b|0)<=1){f=-1;break a}if(a[b>>0]|0){h=i;f=b;i=h;continue a}if((a[f+5>>0]|0)!=62){h=i;f=b;i=h;continue a}f=f+6|0;if(!i){l=26;break a}i=i+-1|0;continue a}default:{h=i;f=f+2|0;i=h;continue a}}}if((l|0)==12){c[g>>2]=f;f=0}else if((l|0)==26){c[g>>2]=f;f=42}return f|0}function QY(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0;do if(e>>>0>>0){k=f;if((k-e|0)>1){l=b+72|0;j=e;a:while(1){if((k-j|0)<=1){i=30;break}h=a[j>>0]|0;i=a[j+1>>0]|0;if(!(h<<24>>24))h=d[l+(i&255)>>0]|0;else h=rY(h,i)|0;switch(h|0){case 3:{i=11;break a}case 2:{i=14;break a}case 10:{i=15;break a}case 9:{i=18;break a}case 21:{i=25;break a}case 5:{h=2;break}case 6:{h=3;break}case 7:{h=4;break}default:h=2}j=j+h|0}if((i|0)==11)if((j|0)==(e|0)){h=aZ(b,e+2|0,f,g)|0;break}else{c[g>>2]=j;h=6;break}else if((i|0)==14){c[g>>2]=j;h=0;break}else if((i|0)==15)if((j|0)==(e|0)){c[g>>2]=e+2;h=7;break}else{c[g>>2]=j;h=6;break}else if((i|0)==18){if((j|0)!=(e|0)){c[g>>2]=j;h=6;break}j=e+2|0;if((k-j|0)<=1){h=-3;break}h=a[j>>0]|0;i=a[e+3>>0]|0;if(!(h<<24>>24))h=d[l+(i&255)>>0]|0;else h=rY(h,i)|0;c[g>>2]=(h|0)==10?e+4|0:j;h=7;break}else if((i|0)==25)if((j|0)==(e|0)){c[g>>2]=e+2;h=39;break}else{c[g>>2]=j;h=6;break}else if((i|0)==30){c[g>>2]=j;h=6;break}}else h=-1}else h=-4;while(0);return h|0}function RY(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0;do if(e>>>0>>0){k=f;if((k-e|0)>1){l=b+72|0;j=e;a:while(1){if((k-j|0)<=1){i=29;break}h=a[j>>0]|0;i=a[j+1>>0]|0;if(!(h<<24>>24))h=d[l+(i&255)>>0]|0;else h=rY(h,i)|0;switch(h|0){case 3:{i=11;break a}case 30:{i=14;break a}case 10:{i=17;break a}case 9:{i=20;break a}case 5:{h=2;break}case 6:{h=3;break}case 7:{h=4;break}default:h=2}j=j+h|0}if((i|0)==11)if((j|0)==(e|0)){h=aZ(b,e+2|0,f,g)|0;break}else{c[g>>2]=j;h=6;break}else if((i|0)==14)if((j|0)==(e|0)){h=bZ(b,e+2|0,f,g)|0;h=(h|0)==22?0:h;break}else{c[g>>2]=j;h=6;break}else if((i|0)==17)if((j|0)==(e|0)){c[g>>2]=e+2;h=7;break}else{c[g>>2]=j;h=6;break}else if((i|0)==20){if((j|0)!=(e|0)){c[g>>2]=j;h=6;break}j=e+2|0;if((k-j|0)<=1){h=-3;break}h=a[j>>0]|0;i=a[e+3>>0]|0;if(!(h<<24>>24))h=d[l+(i&255)>>0]|0;else h=rY(h,i)|0;c[g>>2]=(h|0)==10?e+4|0:j;h=7;break}else if((i|0)==29){c[g>>2]=j;h=6;break}}else h=-1}else h=-4;while(0);return h|0}function SY(b,c,d,e){b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0;f=d;b=c;while(1){c=a[e>>0]|0;if(!(c<<24>>24)){g=7;break}if((f-b|0)<2){b=0;break}if(a[b>>0]|0){b=0;break}if((a[b+1>>0]|0)!=c<<24>>24){b=0;break}e=e+1|0;b=b+2|0}if((g|0)==7)b=(b|0)==(d|0)&1;return b|0}function TY(b,c){b=b|0;c=c|0;var e=0,f=0,g=0;g=b+72|0;f=c;a:while(1){b=a[f>>0]|0;e=a[f+1>>0]|0;if(!(b<<24>>24))b=d[g+(e&255)>>0]|0;else b=rY(b,e)|0;switch(b|0){case 5:{b=2;break}case 6:{b=3;break}case 7:{b=4;break}case 27:case 26:case 25:case 24:case 23:case 22:case 29:{b=2;break}default:break a}f=f+b|0}return f-c|0}function UY(b,c){b=b|0;c=c|0;var e=0,f=0;f=b+72|0;a:while(1){b=a[c>>0]|0;e=a[c+1>>0]|0;if(!(b<<24>>24))b=d[f+(e&255)>>0]|0;else b=rY(b,e)|0;switch(b|0){case 21:case 9:case 10:break;default:break a}c=c+2|0}return c|0}function VY(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;o=b+72|0;m=0;n=0;b=1;a:while(1){l=e+2|0;h=a[l>>0]|0;j=h<<24>>24==0;i=e+3|0;k=a[i>>0]|0;if(j)h=d[o+(k&255)>>0]|0;else h=rY(h,k)|0;do switch(h|0){case 5:{if(b|0){i=b;j=n;k=m;e=l;b=i;n=j;m=k;continue a}if((n|0)>=(f|0)){j=n;k=m;b=1;e=l;n=j;m=k;continue a}c[g+(n<<4)>>2]=l;a[g+(n<<4)+12>>0]=1;j=n;k=m;b=1;e=l;n=j;m=k;continue a}case 6:{if(b|0){j=b;k=n;l=m;e=i;b=j;n=k;m=l;continue a}if((n|0)>=(f|0)){k=n;l=m;b=1;e=i;n=k;m=l;continue a}c[g+(n<<4)>>2]=l;a[g+(n<<4)+12>>0]=1;k=n;l=m;b=1;e=i;n=k;m=l;continue a}case 7:{if(!b)if((n|0)<(f|0)){c[g+(n<<4)>>2]=l;a[g+(n<<4)+12>>0]=1;b=1}else b=1;k=n;l=m;e=e+4|0;n=k;m=l;continue a}case 24:case 22:case 29:{if(b|0){i=b;j=n;k=m;e=l;b=i;n=j;m=k;continue a}if((n|0)>=(f|0)){j=n;k=m;b=1;e=l;n=j;m=k;continue a}c[g+(n<<4)>>2]=l;a[g+(n<<4)+12>>0]=1;j=n;k=m;b=1;e=l;n=j;m=k;continue a}case 12:{if((b|0)!=2){if((n|0)>=(f|0)){k=n;m=12;b=2;e=l;n=k;continue a}c[g+(n<<4)+4>>2]=e+4;k=n;m=12;b=2;e=l;n=k;continue a}if((m|0)!=12){j=n;k=m;b=2;e=l;n=j;m=k;continue a}if((n|0)<(f|0))c[g+(n<<4)+8>>2]=l;m=12;n=n+1|0;b=0;e=l;continue a}case 13:{if((b|0)!=2){if((n|0)>=(f|0)){k=n;m=13;b=2;e=l;n=k;continue a}c[g+(n<<4)+4>>2]=e+4;k=n;m=13;b=2;e=l;n=k;continue a}if((m|0)!=13){j=n;k=m;b=2;e=l;n=j;m=k;continue a}if((n|0)<(f|0))c[g+(n<<4)+8>>2]=l;m=13;n=n+1|0;b=0;e=l;continue a}case 3:{if((n|0)>=(f|0)){i=b;j=n;k=m;e=l;b=i;n=j;m=k;continue a}a[g+(n<<4)+12>>0]=0;i=b;j=n;k=m;e=l;b=i;n=j;m=k;continue a}case 21:{switch(b|0){case 1:{j=n;k=m;b=0;e=l;n=j;m=k;continue a}case 2:break;default:{i=b;j=n;k=m;e=l;b=i;n=j;m=k;continue a}}if((n|0)>=(f|0)){j=n;k=m;b=2;e=l;n=j;m=k;continue a}i=g+(n<<4)+12|0;if(!(a[i>>0]|0)){j=n;k=m;b=2;e=l;n=j;m=k;continue a}do if(j&(l|0)!=(c[g+(n<<4)+4>>2]|0)&k<<24>>24==32){h=a[e+4>>0]|0;b=a[e+5>>0]|0;if(!(h<<24>>24)){if(b<<24>>24==32)break;b=d[o+(b&255)>>0]|0}else b=rY(h,b)|0;if((b|0)!=(m|0)){j=n;k=m;b=2;e=l;n=j;m=k;continue a}}while(0);a[i>>0]=0;j=n;k=m;b=2;e=l;n=j;m=k;continue a}case 10:case 9:{switch(b|0){case 1:{j=n;k=m;b=0;e=l;n=j;m=k;continue a}case 2:break;default:{i=b;j=n;k=m;e=l;b=i;n=j;m=k;continue a}}if((n|0)>=(f|0)){j=n;k=m;b=2;e=l;n=j;m=k;continue a}a[g+(n<<4)+12>>0]=0;j=n;k=m;b=2;e=l;n=j;m=k;continue a}case 17:case 11:if((b|0)==2){j=n;k=m;b=2;e=l;n=j;m=k;continue a}else break a;default:{i=b;j=n;k=m;e=l;b=i;n=j;m=k;continue a}}while(0)}return n|0}function WY(b,c){b=b|0;c=c|0;var d=0,e=0;b=c+4|0;a:do if(!(a[b>>0]|0))if((a[c+5>>0]|0)==120){c=c+6|0;b=0;while(1){b:while(1){if(!(a[c>>0]|0)){d=a[c+1>>0]|0;if(d<<24>>24==59){e=18;break a}d=d<<24>>24;switch(d|0){case 57:case 56:case 55:case 54:case 53:case 52:case 51:case 50:case 49:case 48:{e=8;break b}case 70:case 69:case 68:case 67:case 66:case 65:{e=9;break b}case 102:case 101:case 100:case 99:case 98:case 97:{e=10;break b}default:{}}}c=c+2|0}if((e|0)==8)b=d+-48|b<<4;else if((e|0)==9)b=(b<<4)+-55+d|0;else if((e|0)==10)b=(b<<4)+-87+d|0;if((b|0)<1114112)c=c+2|0;else{b=-1;e=19;break}}}else{c=b;b=0;e=13}else{d=b;b=0;c=-1;e=16}while(0);while(1)if((e|0)==13){if(a[c>>0]|0){d=c;c=-1;e=16;continue}if((a[c+1>>0]|0)==59){e=18;continue}d=c;c=a[c+1>>0]|0;e=16;continue}else if((e|0)==16){b=(b*10|0)+-48+c|0;if((b|0)>=1114112){b=-1;e=19;continue}c=d+2|0;e=13;continue}else if((e|0)==18){b=iX(b)|0;e=19;continue}else if((e|0)==19)return b|0;return 0}function XY(b,c,d){b=b|0;c=c|0;d=d|0;var e=0;a:do switch((d-c|0)/2|0|0){case 2:{if((a[c+2>>0]|0)==0?(a[c+3>>0]|0)==116:0){if(!(a[c>>0]|0))b=a[c+1>>0]|0;else b=-1;b=(b|0)==108?60:(b|0)==103?62:0}else e=27;break}case 3:{if((((((a[c>>0]|0)==0?(a[c+1>>0]|0)==97:0)?(a[c+2>>0]|0)==0:0)?(a[c+3>>0]|0)==109:0)?(a[c+4>>0]|0)==0:0)?(a[c+5>>0]|0)==112:0)b=38;else e=27;break}case 4:{if(!(a[c>>0]|0))switch(a[c+1>>0]|0){case 113:{if(a[c+2>>0]|0){e=27;break a}if((a[c+3>>0]|0)!=117){e=27;break a}if(a[c+4>>0]|0){e=27;break a}if((a[c+5>>0]|0)!=111){e=27;break a}if(a[c+6>>0]|0){e=27;break a}if((a[c+7>>0]|0)==116){b=34;break a}else{e=27;break a}}case 97:{if(a[c+2>>0]|0){e=27;break a}if((a[c+3>>0]|0)!=112){e=27;break a}if(a[c+4>>0]|0){e=27;break a}if((a[c+5>>0]|0)!=111){e=27;break a}if(a[c+6>>0]|0){e=27;break a}if((a[c+7>>0]|0)==115){b=39;break a}else{e=27;break a}}default:{e=27;break a}}else e=27;break}default:e=27}while(0);if((e|0)==27)b=0;return b|0}function YY(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0;j=b+72|0;k=g+4|0;while(1){if((f-e|0)<=1)break;b=a[e>>0]|0;h=a[e+1>>0]|0;if(!(b<<24>>24))b=d[j+(h&255)>>0]|0;else b=rY(b,h)|0;switch(b|0){case 5:{e=e+2|0;break}case 6:{e=e+3|0;break}case 7:{e=e+4|0;break}case 10:{c[k>>2]=-1;c[g>>2]=(c[g>>2]|0)+1;e=e+2|0;break}case 9:{c[g>>2]=(c[g>>2]|0)+1;i=e+2|0;if((f-i|0)>1){b=a[i>>0]|0;h=a[e+3>>0]|0;if(!(b<<24>>24))b=d[j+(h&255)>>0]|0;else b=rY(b,h)|0;e=(b|0)==10?e+4|0:i}else e=i;c[k>>2]=-1;break}default:e=e+2|0}c[k>>2]=(c[k>>2]|0)+1}return}function ZY(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0;k=f+-2|0;j=b+72|0;a:while(1){h=e+2|0;if((k-h|0)<=1){f=1;break}f=a[h>>0]|0;i=f<<24>>24==0;b=a[e+3>>0]|0;if(i)f=d[j+(b&255)>>0]|0;else f=rY(f,b)|0;switch(f|0){case 23:case 19:case 30:case 33:case 16:case 18:case 10:case 9:case 15:case 14:case 17:case 35:case 34:case 32:case 31:case 13:case 27:case 24:case 25:{e=h;continue a}case 21:if(i&b<<24>>24==9){l=12;break a}else{e=h;continue a}case 22:case 26:{if(!i){l=12;break a}if(b<<24>>24>=0){e=h;continue a}break}default:if(!i){l=12;break a}}switch(b<<24>>24|0){case 64:case 36:{e=h;break}default:{l=12;break a}}}if((l|0)==12){c[g>>2]=h;f=0}return f|0}function _Y(b,e,f,g,h){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0;j=c[e>>2]|0;k=j+(f-j&-2)|0;l=k;m=h;a:while(1){if(j>>>0>=k>>>0){b=0;break}i=a[j+1>>0]|0;b=a[j>>0]|0;f=b&255;switch(b<<24>>24){case 0:{if(i<<24>>24>-1){b=c[g>>2]|0;if((b|0)==(h|0)){b=2;break a}c[g>>2]=b+1;a[b>>0]=i;b=j}else n=7;break}case 7:case 6:case 5:case 4:case 3:case 2:case 1:{n=7;break}case -37:case -38:case -39:case -40:{b=c[g>>2]|0;if((m-b|0)<4){b=2;break a}if((l-j|0)<4){b=1;break a}o=i&255;i=(f<<2&12|o>>>6)+1|0;c[g>>2]=b+1;a[b>>0]=i>>>2|240;b=c[g>>2]|0;c[g>>2]=b+1;a[b>>0]=o>>>2&15|i<<4&48|128;b=j+2|0;i=d[j+3>>0]|0;f=(o<<4&48|i>>>6|a[b>>0]<<2&12|128)&255;j=c[g>>2]|0;c[g>>2]=j+1;a[j>>0]=f;j=c[g>>2]|0;c[g>>2]=j+1;a[j>>0]=i&63|128;break}default:{b=c[g>>2]|0;if((m-b|0)<3){b=2;break a}c[g>>2]=b+1;a[b>>0]=f>>>4|224;o=i&255;b=c[g>>2]|0;c[g>>2]=b+1;a[b>>0]=o>>>6|f<<2&60|128;b=c[g>>2]|0;c[g>>2]=b+1;a[b>>0]=o&63|128;b=j}}if((n|0)==7){n=0;b=c[g>>2]|0;if((m-b|0)<2){b=2;break}o=i&255;c[g>>2]=b+1;a[b>>0]=o>>>6|f<<2|192;b=c[g>>2]|0;c[g>>2]=b+1;a[b>>0]=o&63|128;b=j}j=b+2|0}c[e>>2]=j;return b|0}function $Y(e,f,g,h,i){e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,l=0;j=c[f>>2]|0;l=g-j&-2;e=j+l|0;if((l|0)>(i-(c[h>>2]|0)|0)){k=e+-2|0;g=(a[k>>0]&-8)<<24>>24==-40;l=g&1;e=g?k:e}else l=0;g=j;while(1){j=g>>>0>>0;k=c[h>>2]|0;if(!(j&k>>>0>>0))break;j=((d[g>>0]|0)<<8|(d[g+1>>0]|0))&65535;c[h>>2]=k+2;b[k>>1]=j;k=(c[f>>2]|0)+2|0;c[f>>2]=k;g=k}return ((k|0)!=(i|0)|j^1?l:2)|0}function aZ(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0;l=f;j=l-e|0;a:do if((j|0)>1){k=a[e>>0]|0;if(!(k<<24>>24)){i=a[e+1>>0]|0;h=d[b+72+(i&255)>>0]|0}else{i=a[e+1>>0]|0;h=rY(k,i)|0}switch(h|0){case 29:{j=i&255;if(!(1<<(j&31)&c[56836+((j>>>5|(d[140706+(k&255)>>0]|0)<<3)<<2)>>2])){c[g>>2]=e;b=0;break a}break}case 24:case 22:break;case 5:{c[g>>2]=e;b=0;break a}case 6:{if((j|0)<3){b=-2;break a}c[g>>2]=e;b=0;break a}case 7:{if((j|0)<4){b=-2;break a}c[g>>2]=e;b=0;break a}case 19:{b=cZ(b,e+2|0,f,g)|0;break a}default:{c[g>>2]=e;b=0;break a}}k=b+72|0;j=e;b:while(1){i=j+2|0;e=l-i|0;if((e|0)<=1){b=-1;break a}b=a[i>>0]|0;f=a[j+3>>0]|0;if(!(b<<24>>24))h=d[k+(f&255)>>0]|0;else h=rY(b,f)|0;switch(h|0){case 27:case 26:case 25:case 24:case 22:{j=i;continue b}case 5:{f=23;break b}case 6:{f=24;break b}case 7:{f=26;break b}case 18:{f=28;break b}case 29:break;default:{f=29;break b}}e=f&255;if(!(1<<(e&31)&c[56836+((e>>>5|(d[140962+(b&255)>>0]|0)<<3)<<2)>>2])){f=22;break}else j=i}if((f|0)==22){c[g>>2]=i;b=0;break}else if((f|0)==23){c[g>>2]=i;b=0;break}else if((f|0)==24){if((e|0)<3){b=-2;break}c[g>>2]=i;b=0;break}else if((f|0)==26){if((e|0)<4){b=-2;break}c[g>>2]=i;b=0;break}else if((f|0)==28){c[g>>2]=j+4;b=9;break}else if((f|0)==29){c[g>>2]=i;b=0;break}}else b=-1;while(0);return b|0}function bZ(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0;j=f-e|0;a:do if((j|0)>1){k=a[e>>0]|0;if(!(k<<24>>24)){i=a[e+1>>0]|0;h=d[b+72+(i&255)>>0]|0}else{i=a[e+1>>0]|0;h=rY(k,i)|0}switch(h|0){case 29:{l=i&255;if(!(1<<(l&31)&c[56836+((l>>>5|(d[140706+(k&255)>>0]|0)<<3)<<2)>>2])){c[g>>2]=e;f=0;break a}break}case 24:case 22:break;case 5:{c[g>>2]=e;f=0;break a}case 6:{if((j|0)<3){f=-2;break a}c[g>>2]=e;f=0;break a}case 7:{if((j|0)<4){f=-2;break a}c[g>>2]=e;f=0;break a}case 30:case 9:case 10:case 21:{c[g>>2]=e;f=22;break a}default:{c[g>>2]=e;f=0;break a}}l=b+72|0;b=e;b:while(1){k=b+2|0;e=f-k|0;if((e|0)<=1){f=-1;break a}h=a[k>>0]|0;i=a[b+3>>0]|0;if(!(h<<24>>24))j=d[l+(i&255)>>0]|0;else j=rY(h,i)|0;switch(j|0){case 27:case 26:case 25:case 24:case 22:{b=k;continue b}case 5:{h=23;break b}case 6:{h=24;break b}case 7:{h=26;break b}case 18:{h=28;break b}case 29:break;default:{h=29;break b}}e=i&255;if(!(1<<(e&31)&c[56836+((e>>>5|(d[140962+(h&255)>>0]|0)<<3)<<2)>>2])){h=22;break}else b=k}if((h|0)==22){c[g>>2]=k;f=0;break}else if((h|0)==23){c[g>>2]=k;f=0;break}else if((h|0)==24){if((e|0)<3){f=-2;break}c[g>>2]=k;f=0;break}else if((h|0)==26){if((e|0)<4){f=-2;break}c[g>>2]=k;f=0;break}else if((h|0)==28){c[g>>2]=b+4;f=28;break}else if((h|0)==29){c[g>>2]=k;f=0;break}}else f=-1;while(0);return f|0}function cZ(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0;k=f;a:do if((k-e|0)>1){i=a[e>>0]|0;h=a[e+1>>0]|0;do if(!(i<<24>>24))if(h<<24>>24==120){h=dZ(b,e+2|0,f,g)|0;break a}else{h=d[b+72+(h&255)>>0]|0;break}else h=rY(i,h)|0;while(0);if((h|0)!=25){c[g>>2]=e;h=0;break}j=b+72|0;b=e;b:while(1){i=b+2|0;if((k-i|0)<=1){h=-1;break a}h=a[i>>0]|0;f=a[b+3>>0]|0;if(!(h<<24>>24))h=d[j+(f&255)>>0]|0;else h=rY(h,f)|0;switch(h|0){case 25:{b=i;break}case 18:{f=15;break b}default:{f=16;break b}}}if((f|0)==15){c[g>>2]=b+4;h=10;break}else if((f|0)==16){c[g>>2]=i;h=0;break}}else h=-1;while(0);return h|0}function dZ(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0;a:do if((f-e|0)>1){h=a[e>>0]|0;if(!(h<<24>>24))h=d[b+72+(d[e+1>>0]|0)>>0]|0;else h=rY(h,a[e+1>>0]|0)|0;if((h&-2|0)!=24){c[g>>2]=e;f=0;break}j=b+72|0;b:while(1){i=e+2|0;if((f-i|0)<=1){f=-1;break a}h=a[i>>0]|0;b=a[e+3>>0]|0;if(!(h<<24>>24))h=d[j+(b&255)>>0]|0;else h=rY(h,b)|0;switch(h|0){case 24:case 25:{e=i;break}case 18:{h=13;break b}default:{h=14;break b}}}if((h|0)==13){c[g>>2]=e+4;f=10;break}else if((h|0)==14){c[g>>2]=i;f=0;break}}else f=-1;while(0);return f|0}function eZ(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;o=f;j=o-e|0;a:do if((j|0)>1){k=a[e>>0]|0;if(!(k<<24>>24)){i=a[e+1>>0]|0;h=d[b+72+(i&255)>>0]|0}else{i=a[e+1>>0]|0;h=rY(k,i)|0}switch(h|0){case 29:{m=i&255;if(!(1<<(m&31)&c[56836+((m>>>5|d[140706+(k&255)>>0]<<3)<<2)>>2])){c[g>>2]=e;h=0;break a}break}case 24:case 22:break;case 5:{c[g>>2]=e;h=0;break a}case 6:{if((j|0)<3){h=-2;break a}c[g>>2]=e;h=0;break a}case 7:{if((j|0)<4){h=-2;break a}c[g>>2]=e;h=0;break a}case 16:{i=e+2|0;if((o-i|0)<=1){h=-1;break a}h=a[i>>0]|0;if(!(h<<24>>24))h=d[b+72+(d[e+3>>0]|0)>>0]|0;else h=rY(h,a[e+3>>0]|0)|0;switch(h|0){case 27:{h=fZ(b,e+4|0,f,g)|0;break a}case 20:{h=gZ(e+4|0,f,g)|0;break a}default:{c[g>>2]=i;h=0;break a}}}case 15:{h=hZ(b,e+2|0,f,g)|0;break a}case 17:{h=iZ(b,e+2|0,f,g)|0;break a}default:{c[g>>2]=e;h=0;break a}}m=b+72|0;l=0;h=e+2|0;b:while(1){c:while(1){i=o-h|0;if((i|0)<=1){h=-1;break a}j=a[h>>0]|0;k=a[h+1>>0]|0;if(!(j<<24>>24))e=d[m+(k&255)>>0]|0;else e=rY(j,k)|0;switch(e|0){case 5:{n=34;break b}case 6:{n=35;break b}case 7:{n=37;break b}case 10:case 9:case 21:{n=55;break b}case 11:{n=69;break b}case 17:break b;case 23:break c;case 29:{e=k&255;if(!(1<<(e&31)&c[56836+((e>>>5|d[140962+(j&255)>>0]<<3)<<2)>>2])){n=32;break b}break}case 27:case 26:case 25:case 24:case 22:break;default:{n=75;break b}}h=h+2|0}if(l|0){n=40;break}e=h+2|0;l=o-e|0;if((l|0)<=1){h=-1;break a}i=a[e>>0]|0;j=a[h+3>>0]|0;if(!(i<<24>>24))k=d[m+(j&255)>>0]|0;else k=rY(i,j)|0;switch(k|0){case 5:{n=49;break b}case 6:{n=50;break b}case 7:{n=52;break b}case 29:{l=j&255;if(!(1<<(l&31)&c[56836+((l>>>5|d[140706+(i&255)>>0]<<3)<<2)>>2])){n=47;break b}break}case 24:case 22:break;default:{n=54;break b}}l=1;h=h+4|0}d:switch(n|0){case 32:{c[g>>2]=h;h=0;break a}case 34:{c[g>>2]=h;h=0;break a}case 35:{if((i|0)<3){h=-2;break a}c[g>>2]=h;h=0;break a}case 37:{if((i|0)<4){h=-2;break a}c[g>>2]=h;h=0;break a}case 40:{c[g>>2]=h;h=0;break a}case 47:{c[g>>2]=e;h=0;break a}case 49:{c[g>>2]=e;h=0;break a}case 50:{if((l|0)<3){h=-2;break a}c[g>>2]=e;h=0;break a}case 52:{if((l|0)<4){h=-2;break a}c[g>>2]=e;h=0;break a}case 54:{c[g>>2]=e;h=0;break a}case 55:{e:while(1){n=0;i=h+2|0;j=o-i|0;if((j|0)<=1){h=-1;break a}k=a[i>>0]|0;e=a[h+3>>0]|0;if(!(k<<24>>24))l=d[m+(e&255)>>0]|0;else l=rY(k,e)|0;switch(l|0){case 11:{h=i;n=69;break d}case 17:{h=i;break d}case 10:case 9:case 21:{h=i;n=55;break}case 29:{n=60;break e}case 24:case 22:break e;case 5:{n=63;break e}case 6:{n=64;break e}case 7:{n=66;break e}default:{n=68;break e}}}if((n|0)==60){o=e&255;if(!(1<<(o&31)&c[56836+((o>>>5|d[140706+(k&255)>>0]<<3)<<2)>>2])){c[g>>2]=i;h=0;break a}}else if((n|0)==63){c[g>>2]=i;h=0;break a}else if((n|0)==64){if((j|0)<3){h=-2;break a}c[g>>2]=i;h=0;break a}else if((n|0)==66){if((j|0)<4){h=-2;break a}c[g>>2]=i;h=0;break a}else if((n|0)==68){c[g>>2]=i;h=0;break a}h=jZ(b,h+4|0,f,g)|0;break a}case 75:{c[g>>2]=h;h=0;break a}}if((n|0)==69){c[g>>2]=h+2;h=2;break}i=h+2|0;if((o-i|0)>1){if((a[i>>0]|0)==0?(a[h+3>>0]|0)==62:0){c[g>>2]=h+4;h=4;break}c[g>>2]=i;h=0}else h=-1}else h=-1;while(0);return h|0}function fZ(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0;j=f;a:do if((j-e|0)>1){if((a[e>>0]|0)==0?(a[e+1>>0]|0)==45:0){i=b+72|0;h=e+2|0;b:while(1){e=j-h|0;if((e|0)<=1){f=-1;break a}f=a[h>>0]|0;b=a[h+1>>0]|0;if(!(f<<24>>24))f=d[i+(b&255)>>0]|0;else f=rY(f,b)|0;switch(f|0){case 8:case 1:case 0:{k=16;break b}case 5:{h=h+2|0;continue b}case 6:{if((e|0)<3){f=-2;break a}h=h+3|0;continue b}case 7:{if((e|0)<4){f=-2;break a}h=h+4|0;continue b}case 27:{f=h+2|0;if((j-f|0)<=1){f=-1;break a}if(a[f>>0]|0){h=f;continue b}if((a[h+3>>0]|0)==45)break b;else{h=f;continue b}}default:{h=h+2|0;continue b}}}if((k|0)==16){c[g>>2]=h;f=0;break}f=h+4|0;if((j-f|0)<=1){f=-1;break}if((a[f>>0]|0)==0?(a[h+5>>0]|0)==62:0){c[g>>2]=h+6;f=13;break}c[g>>2]=f;f=0;break}c[g>>2]=e;f=0}else f=-1;while(0);return f|0}function gZ(b,d,e){b=b|0;d=d|0;e=e|0;if((d-b|0)>11){d=0;while(1){if((d|0)>=6){d=8;break}if(a[b>>0]|0){d=0;break}if((a[b+1>>0]|0)!=(a[141218+d>>0]|0)){d=0;break}d=d+1|0;b=b+2|0}c[e>>2]=b}else d=-1;return d|0}function hZ(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0;q=l;l=l+16|0;p=q;o=f;i=o-e|0;a:do if((i|0)>1){j=a[e>>0]|0;if(!(j<<24>>24)){h=a[e+1>>0]|0;f=d[b+72+(h&255)>>0]|0}else{h=a[e+1>>0]|0;f=rY(j,h)|0}switch(f|0){case 29:{m=h&255;if(!(1<<(m&31)&c[56836+((m>>>5|d[140706+(j&255)>>0]<<3)<<2)>>2])){c[g>>2]=e;f=0;break a}break}case 24:case 22:break;case 5:{c[g>>2]=e;f=0;break a}case 6:{if((i|0)<3){f=-2;break a}c[g>>2]=e;f=0;break a}case 7:{if((i|0)<4){f=-2;break a}c[g>>2]=e;f=0;break a}default:{c[g>>2]=e;f=0;break a}}m=b+72|0;k=e;b:while(1){f=k+2|0;h=o-f|0;if((h|0)<=1){f=-1;break a}i=a[f>>0]|0;j=a[k+3>>0]|0;if(!(i<<24>>24))b=d[m+(j&255)>>0]|0;else b=rY(i,j)|0;switch(b|0){case 27:case 26:case 25:case 24:case 22:{k=f;continue b}case 5:{n=22;break b}case 6:{n=23;break b}case 7:{n=25;break b}case 10:case 9:case 21:{n=27;break b}case 15:{n=46;break b}case 29:break;default:break b}k=j&255;if(!(1<<(k&31)&c[56836+((k>>>5|d[140962+(i&255)>>0]<<3)<<2)>>2])){n=21;break}else k=f}if((n|0)==21){c[g>>2]=f;f=0;break}else if((n|0)==22){c[g>>2]=f;f=0;break}else if((n|0)==23){if((h|0)<3){f=-2;break}c[g>>2]=f;f=0;break}else if((n|0)==25){if((h|0)<4){f=-2;break}c[g>>2]=f;f=0;break}else if((n|0)==27){if(!(kZ(e,f,p)|0)){c[g>>2]=f;f=0;break}j=k+4|0;c:while(1){i=o-j|0;if((i|0)<=1){f=-1;break a}f=a[j>>0]|0;h=a[j+1>>0]|0;if(!(f<<24>>24))f=d[m+(h&255)>>0]|0;else f=rY(f,h)|0;switch(f|0){case 8:case 1:case 0:{n=40;break c}case 5:{j=j+2|0;continue c}case 6:{if((i|0)<3){f=-2;break a}j=j+3|0;continue c}case 7:{if((i|0)<4){f=-2;break a}j=j+4|0;continue c}case 15:{f=j+2|0;if((o-f|0)<=1){f=-1;break a}if(a[f>>0]|0){j=f;continue c}if((a[j+3>>0]|0)==62){n=44;break c}else{j=f;continue c}}default:{j=j+2|0;continue c}}}if((n|0)==40){c[g>>2]=j;f=0;break}else if((n|0)==44){c[g>>2]=j+4;f=c[p>>2]|0;break}}else if((n|0)==46){if(!(kZ(e,f,p)|0)){c[g>>2]=f;f=0;break}f=k+4|0;if((o-f|0)<=1){f=-1;break}if((a[f>>0]|0)==0?(a[k+5>>0]|0)==62:0){c[g>>2]=k+6;f=c[p>>2]|0;break}}c[g>>2]=f;f=0}else f=-1;while(0);l=q;return f|0}function iZ(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0;j=f-e|0;a:do if((j|0)>1){k=a[e>>0]|0;if(!(k<<24>>24)){i=a[e+1>>0]|0;h=d[b+72+(i&255)>>0]|0}else{i=a[e+1>>0]|0;h=rY(k,i)|0}switch(h|0){case 29:{l=i&255;if(!(1<<(l&31)&c[56836+((l>>>5|(d[140706+(k&255)>>0]|0)<<3)<<2)>>2])){c[g>>2]=e;f=0;break a}break}case 24:case 22:break;case 5:{c[g>>2]=e;f=0;break a}case 6:{if((j|0)<3){f=-2;break a}c[g>>2]=e;f=0;break a}case 7:{if((j|0)<4){f=-2;break a}c[g>>2]=e;f=0;break a}default:{c[g>>2]=e;f=0;break a}}l=b+72|0;b=e;b:while(1){j=b+2|0;e=f-j|0;if((e|0)<=1){f=-1;break a}h=a[j>>0]|0;i=a[b+3>>0]|0;if(!(h<<24>>24))k=d[l+(i&255)>>0]|0;else k=rY(h,i)|0;switch(k|0){case 23:case 27:case 26:case 25:case 24:case 22:{b=j;continue b}case 5:{h=22;break b}case 6:{h=23;break b}case 7:{h=25;break b}case 10:case 9:case 21:{h=27;break b}case 11:{h=34;break b}case 29:break;default:{h=35;break b}}e=i&255;if(!(1<<(e&31)&c[56836+((e>>>5|(d[140962+(h&255)>>0]|0)<<3)<<2)>>2])){h=21;break}else b=j}if((h|0)==21){c[g>>2]=j;f=0;break}else if((h|0)==22){c[g>>2]=j;f=0;break}else if((h|0)==23){if((e|0)<3){f=-2;break}c[g>>2]=j;f=0;break}else if((h|0)==25){if((e|0)<4){f=-2;break}c[g>>2]=j;f=0;break}else if((h|0)==27){c:while(1){k=j+2|0;if((f-k|0)<=1){f=-1;break a}h=a[k>>0]|0;i=a[j+3>>0]|0;if(!(h<<24>>24))h=d[l+(i&255)>>0]|0;else h=rY(h,i)|0;switch(h|0){case 10:case 9:case 21:{j=k;h=27;break}case 11:{h=32;break c}default:{h=33;break c}}}if((h|0)==32){c[g>>2]=j+4;f=5;break}else if((h|0)==33){c[g>>2]=k;f=0;break}}else if((h|0)==34){c[g>>2]=b+4;f=5;break}else if((h|0)==35){c[g>>2]=j;f=0;break}}else f=-1;while(0);return f|0}function jZ(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;s=l;l=l+16|0;q=s;c[q>>2]=e;r=f;o=b+72|0;h=0;a:while(1){b:while(1){m=r-e|0;if((m|0)<=1){e=-1;break a}i=a[e>>0]|0;j=a[e+1>>0]|0;if(!(i<<24>>24))k=d[o+(j&255)>>0]|0;else k=rY(i,j)|0;switch(k|0){case 5:{p=11;break a}case 6:{p=12;break a}case 7:{p=14;break a}case 23:{p=16;break b}case 10:case 9:case 21:{p=31;break b}case 14:{p=37;break b}case 29:{n=j&255;if(!(1<<(n&31)&c[56836+((n>>>5|d[140962+(i&255)>>0]<<3)<<2)>>2])){p=9;break a}break}case 27:case 26:case 25:case 24:case 22:break;default:{p=89;break a}}n=e+2|0;c[q>>2]=n;e=n}c:do if((p|0)==16){p=0;if(h|0){p=17;break a}h=e+2|0;c[q>>2]=h;i=h;j=r-i|0;if((j|0)<=1){e=-1;break a}k=a[h>>0]|0;m=a[e+3>>0]|0;if(!(k<<24>>24))n=d[o+(m&255)>>0]|0;else n=rY(k,m)|0;switch(n|0){case 5:{p=25;break a}case 6:{p=26;break a}case 7:{p=28;break a}case 24:case 22:{h=1;break c}case 29:break;default:{p=30;break a}}n=m&255;if(!(1<<(n&31)&c[56836+((n>>>5|d[140706+(k&255)>>0]<<3)<<2)>>2])){p=24;break a}else h=1}else if((p|0)==31)while(1){p=0;i=e+2|0;c[q>>2]=i;j=i;if((r-j|0)<=1){e=-1;break a}h=a[i>>0]|0;e=a[e+3>>0]|0;if(!(h<<24>>24))e=d[o+(e&255)>>0]|0;else e=rY(h,e)|0;switch(e|0){case 14:{e=i;p=37;break c}case 9:case 10:case 21:{e=i;p=31;break}default:{p=36;break a}}}while(0);d:do if((p|0)==37){while(1){p=0;j=e+2|0;c[q>>2]=j;k=j;if((r-k|0)<=1){e=-1;break a}h=a[j>>0]|0;i=a[e+3>>0]|0;if(!(h<<24>>24))m=d[o+(i&255)>>0]|0;else m=rY(h,i)|0;if((m|1|0)==13)break;switch(m|0){case 9:case 10:case 21:{e=j;p=37;break}default:{p=43;break a}}}e=e+4|0;c[q>>2]=e;e:while(1){j=r-e|0;if((j|0)<=1){e=-1;break a}h=a[e>>0]|0;i=a[e+1>>0]|0;if(!(h<<24>>24))h=d[o+(i&255)>>0]|0;else h=rY(h,i)|0;if((h|0)==(m|0))break;switch(h|0){case 8:case 1:case 0:{p=56;break a}case 2:{p=61;break a}case 5:{n=e+2|0;c[q>>2]=n;e=n;continue e}case 6:{if((j|0)<3){e=-2;break a}n=e+3|0;c[q>>2]=n;e=n;continue e}case 7:{if((j|0)<4){e=-2;break a}n=e+4|0;c[q>>2]=n;e=n;continue e}case 3:{e=aZ(b,e+2|0,f,q)|0;if((e|0)<1){p=59;break a}e=c[q>>2]|0;continue e}default:{n=e+2|0;c[q>>2]=n;e=n;continue e}}}i=e+2|0;c[q>>2]=i;k=i;if((r-k|0)<=1){e=-1;break a}h=a[i>>0]|0;j=a[e+3>>0]|0;if(!(h<<24>>24))h=d[o+(j&255)>>0]|0;else h=rY(h,j)|0;switch(h|0){case 11:{p=81;break a}case 17:{p=82;break a}case 10:case 9:case 21:{e=i;break}default:{p=68;break a}}f:while(1){i=e+2|0;c[q>>2]=i;h=i;j=r-h|0;if((j|0)<=1){e=-1;break a}k=a[i>>0]|0;m=a[e+3>>0]|0;if(!(k<<24>>24))n=d[o+(m&255)>>0]|0;else n=rY(k,m)|0;switch(n|0){case 5:{p=76;break a}case 6:{p=77;break a}case 7:{p=79;break a}case 11:{p=81;break a}case 17:{p=82;break a}case 24:case 22:{h=0;break d}case 10:case 9:case 21:{e=i;break}case 29:break f;default:{p=87;break a}}}n=m&255;if(!(1<<(n&31)&c[56836+((n>>>5|d[140706+(k&255)>>0]<<3)<<2)>>2])){p=75;break a}else h=0}while(0);e=e+4|0;c[q>>2]=e}switch(p|0){case 9:{c[g>>2]=e;e=0;break}case 11:{c[g>>2]=e;e=0;break}case 12:{if((m|0)<3)e=-2;else{c[g>>2]=e;e=0}break}case 14:{if((m|0)<4)e=-2;else{c[g>>2]=e;e=0}break}case 17:{c[g>>2]=e;e=0;break}case 24:{c[g>>2]=h;e=0;break}case 25:{c[g>>2]=h;e=0;break}case 26:{if((j|0)<3)e=-2;else{c[g>>2]=h;e=0}break}case 28:{if((j|0)<4)e=-2;else{c[g>>2]=h;e=0}break}case 30:{c[g>>2]=i;e=0;break}case 36:{c[g>>2]=j;e=0;break}case 43:{c[g>>2]=k;e=0;break}case 56:{c[g>>2]=e;e=0;break}case 59:{if(!e){c[g>>2]=c[q>>2];e=0}break}case 61:{c[g>>2]=e;e=0;break}case 68:{c[g>>2]=k;e=0;break}case 75:{c[g>>2]=i;e=0;break}case 76:{c[g>>2]=i;e=0;break}case 77:{if((j|0)<3)e=-2;else{c[g>>2]=i;e=0}break}case 79:{if((j|0)<4)e=-2;else{c[g>>2]=i;e=0}break}case 81:{c[g>>2]=e+4;e=1;break}case 82:{h=i+2|0;c[q>>2]=h;e=h;if((r-e|0)>1){if((a[h>>0]|0)==0?(a[i+3>>0]|0)==62:0){c[g>>2]=i+4;e=3;break}c[g>>2]=e;e=0}else e=-1;break}case 87:{c[g>>2]=h;e=0;break}case 89:{c[g>>2]=e;e=0;break}}l=s;return e|0}function kZ(b,d,e){b=b|0;d=d|0;e=e|0;c[e>>2]=11;a:do if((d-b|0)==6?(a[b>>0]|0)==0:0){switch(a[b+1>>0]|0){case 120:{d=0;break}case 88:{d=1;break}default:{d=1;break a}}if(!(a[b+2>>0]|0)){switch(a[b+3>>0]|0){case 109:break;case 77:{d=1;break}default:{d=1;break a}}if(!(a[b+4>>0]|0)){switch(a[b+5>>0]|0){case 108:break;case 76:{d=0;break a}default:{d=1;break a}}if(!d){c[e>>2]=12;d=1}else d=0}else d=1}else d=1}else d=1;while(0);return d|0}function lZ(b,e,f,g,h){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0;k=e+72|0;a:while(1){b:while(1){j=g-f|0;if((j|0)<=1){f=-1;break a}e=a[f>>0]|0;i=a[f+1>>0]|0;if(!(e<<24>>24))i=d[k+(i&255)>>0]|0;else i=rY(e,i)|0;switch(i|0){case 8:case 1:case 0:{l=10;break a}case 6:{l=9;break b}case 7:{l=19;break b}case 5:{f=f+2|0;continue b}case 13:case 12:{e=f+2|0;if((i|0)==(b|0)){l=12;break a}else{f=e;continue b}}default:{f=f+2|0;continue b}}}if((l|0)==9){l=0;if((j|0)<3){f=-2;break}else{f=f+3|0;continue}}else if((l|0)==19){l=0;if((j|0)<4){f=-2;break}else{f=f+4|0;continue}}}c:do if((l|0)==10){c[h>>2]=f;f=0}else if((l|0)==12)if((g-e|0)>1){c[h>>2]=e;g=a[e>>0]|0;f=a[f+3>>0]|0;if(!(g<<24>>24))f=d[k+(f&255)>>0]|0;else f=rY(g,f)|0;switch(f|0){case 20:case 30:case 11:case 10:case 9:case 21:{f=27;break c}default:{}}f=0}else f=-27;while(0);return f|0}function mZ(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0;k=f;a:do if((k-e|0)>1){h=a[e>>0]|0;if(!(h<<24>>24))h=d[b+72+(d[e+1>>0]|0)>>0]|0;else h=rY(h,a[e+1>>0]|0)|0;switch(h|0){case 27:{h=fZ(b,e+2|0,f,g)|0;break a}case 20:{c[g>>2]=e+2;h=33;break a}case 24:case 22:{j=b+72|0;b:while(1){i=e+2|0;f=k-i|0;if((f|0)<=1){h=-1;break a}h=a[i>>0]|0;b=a[e+3>>0]|0;if(!(h<<24>>24))h=d[j+(b&255)>>0]|0;else h=rY(h,b)|0;switch(h|0){case 24:case 22:{e=i;break}case 30:{l=15;break b}case 10:case 9:case 21:break b;default:{l=22;break b}}}if((l|0)==22){c[g>>2]=i;h=0;break a}c:do if((l|0)==15){if((f|0)<=3){h=-1;break a}b=a[e+4>>0]|0;h=a[e+5>>0]|0;if(!(b<<24>>24))h=d[j+(h&255)>>0]|0;else h=rY(b,h)|0;switch(h|0){case 30:case 10:case 9:case 21:break;default:break c}c[g>>2]=i;h=0;break a}while(0);c[g>>2]=i;h=16;break a}default:{c[g>>2]=e;h=0;break a}}}else h=-1;while(0);return h|0}function nZ(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0;j=f-e|0;a:do if((j|0)>1){k=a[e>>0]|0;if(!(k<<24>>24)){i=a[e+1>>0]|0;h=d[b+72+(i&255)>>0]|0}else{i=a[e+1>>0]|0;h=rY(k,i)|0}switch(h|0){case 29:{j=i&255;if(!(1<<(j&31)&c[56836+((j>>>5|(d[140706+(k&255)>>0]|0)<<3)<<2)>>2])){c[g>>2]=e;f=0;break a}break}case 24:case 22:break;case 5:{c[g>>2]=e;f=0;break a}case 6:{if((j|0)<3){f=-2;break a}c[g>>2]=e;f=0;break a}case 7:{if((j|0)<4){f=-2;break a}c[g>>2]=e;f=0;break a}default:{c[g>>2]=e;f=0;break a}}b=b+72|0;k=e;b:while(1){h=k;k=k+2|0;e=f-k|0;if((e|0)<=1){f=-20;break a}j=a[k>>0]|0;h=a[h+3>>0]|0;if(!(j<<24>>24))i=d[b+(h&255)>>0]|0;else i=rY(j,h)|0;switch(i|0){case 27:case 26:case 25:case 24:case 22:continue b;case 5:{h=22;break b}case 6:{h=23;break b}case 7:{h=25;break b}case 36:case 30:case 11:case 32:case 21:case 10:case 9:{h=27;break b}case 29:break;default:{h=28;break b}}e=h&255;if(!(1<<(e&31)&c[56836+((e>>>5|(d[140962+(j&255)>>0]|0)<<3)<<2)>>2])){h=21;break}}if((h|0)==21){c[g>>2]=k;f=0;break}else if((h|0)==22){c[g>>2]=k;f=0;break}else if((h|0)==23){if((e|0)<3){f=-2;break}c[g>>2]=k;f=0;break}else if((h|0)==25){if((e|0)<4){f=-2;break}c[g>>2]=k;f=0;break}else if((h|0)==27){c[g>>2]=k;f=20;break}else if((h|0)==28){c[g>>2]=k;f=0;break}}else f=-1;while(0);return f|0}function oZ(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0;while(1){b=c[d>>2]|0;h=b>>>0>>0;i=c[f>>2]|0;if(!(h&i>>>0>>0))break;c[d>>2]=b+1;h=a[b>>0]|0;i=c[f>>2]|0;c[f>>2]=i+1;a[i>>0]=h}return ((i|0)!=(g|0)|h^1?0:2)|0}function pZ(b,c){b=b|0;c=c|0;var d=0,e=0,f=0,g=0;a:while(1){f=a[b>>0]|0;g=a[c>>0]|0;f=(f+-97&255)<26?(f&255)+224&255:f;switch((f<<24>>24==((g+-97&255)<26?(g&255)+224&255:g)<<24>>24?(f<<24>>24==0?2:0):1)&3){case 0:{c=c+1|0;b=b+1|0;break}case 1:{e=3;break a}case 2:{d=1;break a}default:{e=5;break a}}}if((e|0)==3)d=0;return d|0}function qZ(a,b,c,d,e,f,g,h,i,j){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;return sZ(36,a,b,c,d,e,f,g,h,i,j)|0}function rZ(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0;h=l;l=l+144|0;i=h+4|0;f=h+8|0;g=h;c[i>>2]=d;c[g>>2]=f;pb[c[b+56>>2]&127](b,i,e,g,f+127|0)|0;do if((c[i>>2]|0)==(e|0)){a[c[g>>2]>>0]=0;if(pZ(f,141233)|0?(c[b+64>>2]|0)==2:0)break;b=HY(f)|0;if((b|0)!=-1)b=c[58844+(b<<2)>>2]|0;else b=0}else b=0;while(0);l=h;return b|0}function sZ(a,b,d,e,f,g,h,i,j,k,m){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;m=m|0;var n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0;v=l;l=l+16|0;t=v+8|0;q=v+12|0;o=v+4|0;p=v;c[q>>2]=0;c[o>>2]=0;c[p>>2]=0;u=d+64|0;s=c[u>>2]|0;r=e+(s*5|0)|0;c[t>>2]=r;s=f+(0-(s<<1))|0;r=(tZ(d,r,s,o,p,q,t)|0)!=0;n=c[o>>2]|0;e=n;a:do if(r&(n|0)!=0){r=d+24|0;f=c[p>>2]|0;do if(!(ob[c[r>>2]&127](d,n,f,141258)|0)){if(!b){c[g>>2]=e;e=0;break a}}else{if(h|0)c[h>>2]=c[q>>2];if(!i)e=c[t>>2]|0;else{e=c[t>>2]|0;c[i>>2]=e}if(!(tZ(d,e,s,o,p,q,t)|0)){c[g>>2]=c[t>>2];e=0;break a}f=c[o>>2]|0;if(f|0){e=f;n=f;f=c[p>>2]|0;break}if(!b){e=1;break a}c[g>>2]=c[t>>2];e=0;break a}while(0);if(ob[c[r>>2]&127](d,n,f,141266)|0){f=c[q>>2]|0;e=f;if((((uZ(d,f,s)|0)&-33)+-65|0)>>>0>=26){c[g>>2]=e;e=0;break}if(j|0)c[j>>2]=e;e=c[t>>2]|0;if(k|0)c[k>>2]=nb[a&63](d,f,e+(0-(c[u>>2]|0))|0)|0;if(!(tZ(d,e,s,o,p,q,t)|0)){c[g>>2]=c[t>>2];e=0;break}e=c[o>>2]|0;if(!e){e=1;break}n=e;f=c[p>>2]|0}if((b|0)!=0|(ob[c[r>>2]&127](d,n,f,141275)|0)==0){c[g>>2]=e;e=0;break}f=c[q>>2]|0;e=c[t>>2]|0;n=f;if(!(ob[c[r>>2]&127](d,f,e+(0-(c[u>>2]|0))|0,104631)|0)){if(!(ob[c[r>>2]&127](d,f,e+(0-(c[u>>2]|0))|0,104623)|0)){c[g>>2]=n;e=0;break}if(m)c[m>>2]=0}else if(m)c[m>>2]=1;while(1){if(!(vZ(uZ(d,e,s)|0)|0))break;e=e+(c[u>>2]|0)|0}c[t>>2]=e;if((e|0)==(s|0))e=1;else{c[g>>2]=e;e=0}}else{c[g>>2]=c[t>>2];e=0}while(0);l=v;return e|0}function tZ(a,b,d,e,f,g,h){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0;a:do if((b|0)!=(d|0)){if(!(vZ(uZ(a,b,d)|0)|0)){c[h>>2]=b;b=0;break}j=a+64|0;do b=b+(c[j>>2]|0)|0;while((vZ(uZ(a,b,d)|0)|0)!=0);if((b|0)==(d|0)){c[e>>2]=0;b=1;break}c[e>>2]=b;b:while(1){i=uZ(a,b,d)|0;switch(i|0){case -1:{i=11;break b}case 61:{i=12;break b}default:{}}if(vZ(i)|0){i=14;break}b=b+(c[j>>2]|0)|0}if((i|0)==11){c[h>>2]=b;b=0;break}else if((i|0)==12)c[f>>2]=b;else if((i|0)==14){c[f>>2]=b;do{b=b+(c[j>>2]|0)|0;i=uZ(a,b,d)|0}while((vZ(i)|0)!=0);if((i|0)!=61){c[h>>2]=b;b=0;break}}if((b|0)==(c[e>>2]|0)){c[h>>2]=b;b=0;break}do{b=b+(c[j>>2]|0)|0;i=uZ(a,b,d)|0}while((vZ(i)|0)!=0);switch(i|0){case 34:case 39:break;default:{c[h>>2]=b;b=0;break a}}f=b+(c[j>>2]|0)|0;c[g>>2]=f;b=i<<24>>24;c:while(1){i=uZ(a,f,d)|0;if((i|0)==(b|0)){i=30;break}if((i+-48|0)>>>0>9&((i&-33)+-65|0)>>>0>25)switch(i|0){case 45:case 46:case 95:break;default:{i=28;break c}}f=f+(c[j>>2]|0)|0}if((i|0)==28){c[h>>2]=f;b=0;break}else if((i|0)==30){c[h>>2]=f+(c[j>>2]|0);b=1;break}}else{c[e>>2]=0;b=1}while(0);return b|0}function uZ(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0;h=l;l=l+16|0;i=h+4|0;f=h+8|0;g=h;c[i>>2]=d;c[g>>2]=f;pb[c[b+56>>2]&127](b,i,e,g,f+1|0)|0;l=h;return ((c[g>>2]|0)==(f|0)?-1:a[f>>0]|0)|0}function vZ(a){a=a|0;switch(a|0){case 9:case 10:case 13:case 32:{a=1;break}default:a=0}return a|0}function wZ(){return 59988}function xZ(b,d,e){b=b|0;d=d|0;e=e|0;e=HY(e)|0;if((e|0)==-1)e=0;else{a[b+69>>0]=e;c[b>>2]=69;c[b+4>>2]=70;c[b+48>>2]=31;c[b+72>>2]=d;c[d>>2]=b;e=1}return e|0}function yZ(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return LY(60352,a,0,b,c,d)|0}function zZ(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return LY(60352,a,1,b,c,d)|0}function AZ(a,b,c,d,e,f,g,h,i,j){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;return sZ(37,a,b,c,d,e,f,g,h,i,j)|0}function BZ(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0;h=l;l=l+144|0;i=h+4|0;f=h+8|0;g=h;c[i>>2]=d;c[g>>2]=f;pb[c[b+56>>2]&127](b,i,e,g,f+127|0)|0;do if((c[i>>2]|0)==(e|0)){a[c[g>>2]>>0]=0;if(pZ(f,141233)|0?(c[b+64>>2]|0)==2:0)break;b=HY(f)|0;if((b|0)!=-1)b=c[60352+(b<<2)>>2]|0;else b=0}else b=0;while(0);l=h;return b|0}function CZ(b,c,d,e){b=b|0;c=c|0;d=d|0;e=e|0;b=hX(b,c,d,e)|0;if(b|0)a[b+72+58>>0]=23;return b|0}function DZ(a){a=a|0;c[a>>2]=15;c[a+16>>2]=1;c[a+12>>2]=0;c[a+20>>2]=0;return}function EZ(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0;switch(b|0){case 15:{c[a>>2]=16;a=0;break}case 12:{c[a>>2]=16;a=1;break}case 11:{c[a>>2]=16;a=55;break}case 13:{c[a>>2]=16;a=56;break}case 14:{a=0;break}case 16:{if(!(ob[c[f+24>>2]&127](f,d+(c[f+64>>2]<<1)|0,e,141286)|0))g=9;else{c[a>>2]=17;a=3}break}case 29:{c[a>>2]=18;a=2;break}default:g=9}if((g|0)==9)a=IZ(a,b)|0;return a|0}function FZ(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0;switch(b|0){case 14:case 15:{a=0;break}case 11:{a=55;break}case 13:{a=56;break}case 16:{if(!(ob[c[f+24>>2]&127](f,d+(c[f+64>>2]<<1)|0,e,141286)|0))g=7;else{c[a>>2]=17;a=3}break}case 29:{c[a>>2]=18;a=2;break}default:g=7}if((g|0)==7)a=IZ(a,b)|0;return a|0}function GZ(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;switch(b|0){case 15:{a=3;break}case 41:case 18:{c[a>>2]=19;a=4;break}default:a=IZ(a,b)|0}return a|0}function HZ(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return 0}function IZ(a,b){a=a|0;b=b|0;if((b|0)==28&(c[a+16>>2]|0)==0)a=59;else{c[a>>2]=18;a=-1}return a|0}function JZ(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0;a:do switch(b|0){case 15:{a=3;break}case 25:{c[a>>2]=20;a=7;break}case 17:{c[a>>2]=21;a=8;break}case 18:{g=f+24|0;if(ob[c[g>>2]&127](f,d,e,141294)|0){c[a>>2]=22;a=3;break a}if(!(ob[c[g>>2]&127](f,d,e,141301)|0))h=8;else{c[a>>2]=23;a=3}break}default:h=8}while(0);if((h|0)==8)a=IZ(a,b)|0;return a|0}function KZ(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0;a:do switch(b|0){case -4:case 15:{a=0;break}case 16:{g=f+24|0;h=f+64|0;if(ob[c[g>>2]&127](f,d+(c[h>>2]<<1)|0,e,141308)|0){c[a>>2]=24;a=11;break a}if(ob[c[g>>2]&127](f,d+(c[h>>2]<<1)|0,e,141315)|0){c[a>>2]=25;a=33;break a}if(ob[c[g>>2]&127](f,d+(c[h>>2]<<1)|0,e,141323)|0){c[a>>2]=26;a=39;break a}if(!(ob[c[g>>2]&127](f,d+(c[h>>2]<<1)|0,e,141331)|0))i=14;else{c[a>>2]=27;a=17}break}case 11:{a=55;break}case 13:{a=56;break}case 28:{a=60;break}case 26:{c[a>>2]=28;a=3;break}default:i=14}while(0);if((i|0)==14)a=IZ(a,b)|0;return a|0}function LZ(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;f=b+-11|0;switch(f>>>1|f<<31|0){case 2:{a=0;break}case 0:{a=55;break}case 1:{a=56;break}case 9:{c[a>>2]=18;a=2;break}default:a=IZ(a,b)|0}return a|0}function MZ(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;switch(b|0){case 15:{a=3;break}case 27:{c[a>>2]=29;a=5;break}default:a=IZ(a,b)|0}return a|0}function NZ(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;switch(b|0){case 15:{a=3;break}case 27:{c[a>>2]=22;a=6;break}default:a=IZ(a,b)|0}return a|0}function OZ(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;switch(b|0){case 15:{a=3;break}case 25:{c[a>>2]=20;a=7;break}case 17:{c[a>>2]=21;a=8;break}default:a=IZ(a,b)|0}return a|0}function PZ(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;switch(b|0){case 15:{a=11;break}case 22:{c[a>>2]=30;a=11;break}case 18:{c[a>>2]=31;a=9;break}default:a=IZ(a,b)|0}return a|0}function QZ(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;switch(b|0){case 15:{a=33;break}case 41:case 18:{c[a>>2]=32;a=34;break}default:a=IZ(a,b)|0}return a|0}function RZ(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;switch(b|0){case 15:{a=39;break}case 41:case 18:{c[a>>2]=33;a=40;break}default:a=IZ(a,b)|0}return a|0}function SZ(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;switch(b|0){case 15:{a=17;break}case 18:{c[a>>2]=34;a=18;break}default:a=IZ(a,b)|0}return a|0}function TZ(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;switch(b|0){case 15:{a=3;break}case 17:{c[a>>2]=21;a=8;break}default:a=IZ(a,b)|0}return a|0}function UZ(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0;a:do switch(b|0){case 15:{a=17;break}case 18:{g=f+24|0;if(ob[c[g>>2]&127](f,d,e,141294)|0){c[a>>2]=35;a=17;break a}if(!(ob[c[g>>2]&127](f,d,e,141301)|0))h=6;else{c[a>>2]=36;a=17}break}default:h=6}while(0);if((h|0)==6)a=IZ(a,b)|0;return a|0}function VZ(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;switch(b|0){case 15:{a=17;break}case 27:{c[a>>2]=37;c[a+8>>2]=17;a=19;break}default:a=IZ(a,b)|0}return a|0}function WZ(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;switch(b|0){case 15:{a=17;break}case 27:{c[a>>2]=38;a=21;break}default:a=IZ(a,b)|0}return a|0}function XZ(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;switch(b|0){case 15:{a=17;break}case 27:{c[a>>2]=37;c[a+8>>2]=17;a=19;break}case 17:{c[a>>2]=c[a+16>>2]|0?20:39;a=20;break}default:a=IZ(a,b)|0}return a|0}function YZ(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;switch(b|0){case 15:{a=c[a+8>>2]|0;break}case 17:{c[a>>2]=c[a+16>>2]|0?20:39;a=c[a+8>>2]|0;break}default:a=IZ(a,b)|0}return a|0}function ZZ(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0;switch(b|0){case 33:{c[a>>2]=40;d=0;break}case 34:{d=a+12|0;e=c[d>>2]|0;if(!e)g=7;else{c[d>>2]=e+-1;d=0}break}case 15:{d=0;break}case 26:{g=7;break}case -4:{if(!(c[a+12>>2]|0))d=0;else g=7;break}default:d=KZ(a,b,d,e,f)|0}if((g|0)==7)d=IZ(a,b)|0;return d|0}function _Z(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0;a:do switch(b|0){case 15:{a=0;break}case 18:{g=f+24|0;if(ob[c[g>>2]&127](f,d,e,141340)|0){c[a>>2]=41;a=0;break a}if(!(ob[c[g>>2]&127](f,d,e,141348)|0))h=6;else{c[a>>2]=42;a=0}break}default:h=6}while(0);if((h|0)==6)a=IZ(a,b)|0;return a|0}function $Z(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;switch(b|0){case 15:{a=0;break}case 25:{c[a>>2]=39;a=a+12|0;c[a>>2]=(c[a>>2]|0)+1;a=0;break}default:a=IZ(a,b)|0}return a|0}function a_(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;switch(b|0){case 15:{a=0;break}case 25:{c[a>>2]=39;a=58;break}default:a=IZ(a,b)|0}return a|0}function b_(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0;a:do switch(b|0){case 15:{a=39;break}case 18:{g=f+24|0;if(ob[c[g>>2]&127](f,d,e,141355)|0){c[a>>2]=37;c[a+8>>2]=39;a=42;break a}if(!(ob[c[g>>2]&127](f,d,e,141361)|0))h=7;else{c[a>>2]=37;c[a+8>>2]=39;a=41}break}case 23:{c[a>>2]=43;c[a+4>>2]=1;a=44;break}default:h=7}while(0);if((h|0)==7)a=IZ(a,b)|0;return a|0}function c_(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0;switch(b|0){case 15:{a=39;break}case 20:{if(!(ob[c[f+24>>2]&127](f,d+(c[f+64>>2]|0)|0,e,141365)|0))g=9;else{c[a>>2]=44;a=43}break}case 23:{c[a+4>>2]=2;c[a>>2]=45;a=44;break}case 41:case 18:{c[a>>2]=46;a=51;break}case 30:{c[a>>2]=46;a=53;break}case 31:{c[a>>2]=46;a=52;break}case 32:{c[a>>2]=46;a=54;break}default:g=9}if((g|0)==9)a=IZ(a,b)|0;return a|0}function d_(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;switch(b|0){case 15:{a=39;break}case 24:{c[a>>2]=37;c[a+8>>2]=39;a=45;break}case 36:{c[a>>2]=37;c[a+8>>2]=39;a=46;break}case 21:{c[a>>2]=47;a=39;break}default:a=IZ(a,b)|0}return a|0}function e_(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;switch(b|0){case 15:{a=39;break}case 23:{a=a+4|0;c[a>>2]=(c[a>>2]|0)+1;a=44;break}case 41:case 18:{c[a>>2]=46;a=51;break}case 30:{c[a>>2]=46;a=53;break}case 31:{c[a>>2]=46;a=52;break}case 32:{c[a>>2]=46;a=54;break}default:a=IZ(a,b)|0}return a|0}function f_(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;switch(b|0){case 15:{a=39;break}case 24:{e=a+4|0;f=(c[e>>2]|0)+-1|0;c[e>>2]=f;if(!f){c[a>>2]=37;c[a+8>>2]=39;a=45}else a=45;break}case 36:{e=a+4|0;f=(c[e>>2]|0)+-1|0;c[e>>2]=f;if(!f){c[a>>2]=37;c[a+8>>2]=39;a=46}else a=46;break}case 35:{e=a+4|0;f=(c[e>>2]|0)+-1|0;c[e>>2]=f;if(!f){c[a>>2]=37;c[a+8>>2]=39;a=47}else a=47;break}case 37:{e=a+4|0;f=(c[e>>2]|0)+-1|0;c[e>>2]=f;if(!f){c[a>>2]=37;c[a+8>>2]=39;a=48}else a=48;break}case 38:{c[a>>2]=45;a=50;break}case 21:{c[a>>2]=45;a=49;break}default:a=IZ(a,b)|0}return a|0}function g_(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;switch(b|0){case 15:{a=39;break}case 41:case 18:{c[a>>2]=48;a=51;break}default:a=IZ(a,b)|0}return a|0}function h_(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;switch(b|0){case 15:{a=39;break}case 36:{c[a>>2]=37;c[a+8>>2]=39;a=46;break}case 21:{c[a>>2]=47;a=39;break}default:a=IZ(a,b)|0}return a|0}function i_(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;switch(b|0){case 15:{a=33;break}case 17:{c[a>>2]=c[a+16>>2]|0?20:39;a=33;break}case 41:case 18:{c[a>>2]=49;a=22;break}default:a=IZ(a,b)|0}return a|0}function j_(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0;a:do switch(b|0){case 15:{g=33;break}case 18:{h=f+24|0;g=0;while(1){i=c[h>>2]|0;if((g|0)>=8)break;if(ob[i&127](f,d,e,c[62200+(g<<2)>>2]|0)|0){j=6;break}g=g+1|0}if((j|0)==6){c[a>>2]=50;g=g+23|0;break a}if(!(ob[i&127](f,d,e,141331)|0))j=10;else{c[a>>2]=51;g=33}break}case 23:{c[a>>2]=52;g=33;break}default:j=10}while(0);if((j|0)==10)g=IZ(a,b)|0;return g|0}function k_(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0;a:do switch(b|0){case 15:{a=33;break}case 20:{g=f+24|0;h=f+64|0;if(ob[c[g>>2]&127](f,d+(c[h>>2]|0)|0,e,141372)|0){c[a>>2]=32;a=35;break a}if(ob[c[g>>2]&127](f,d+(c[h>>2]|0)|0,e,141380)|0){c[a>>2]=32;a=36;break a}if(!(ob[c[g>>2]&127](f,d+(c[h>>2]|0)|0,e,141389)|0))i=9;else{c[a>>2]=53;a=33}break}case 27:{c[a>>2]=32;a=37;break}default:i=9}while(0);if((i|0)==9)a=IZ(a,b)|0;return a|0}function l_(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;switch(b|0){case 15:{a=33;break}case 23:{c[a>>2]=54;a=33;break}default:a=IZ(a,b)|0}return a|0}function m_(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;switch(b|0){case 15:{a=33;break}case 41:case 18:case 19:{c[a>>2]=55;a=31;break}default:a=IZ(a,b)|0}return a|0}function n_(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;switch(b|0){case 15:{a=33;break}case 24:{c[a>>2]=50;a=33;break}case 21:{c[a>>2]=52;a=33;break}default:a=IZ(a,b)|0}return a|0}function o_(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;switch(b|0){case 15:{a=33;break}case 18:{c[a>>2]=56;a=32;break}default:a=IZ(a,b)|0}return a|0}function p_(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;switch(b|0){case 15:{a=33;break}case 24:{c[a>>2]=50;a=33;break}case 21:{c[a>>2]=54;a=33;break}default:a=IZ(a,b)|0}return a|0}function q_(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;switch(b|0){case 15:{a=33;break}case 27:{c[a>>2]=32;a=38;break}default:a=IZ(a,b)|0}return a|0}function r_(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;switch(b|0){case 15:{a=11;break}case 18:{c[a>>2]=57;a=10;break}default:a=IZ(a,b)|0}return a|0}function s_(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0;a:do switch(b|0){case 15:{a=11;break}case 18:{g=f+24|0;if(ob[c[g>>2]&127](f,d,e,141294)|0){c[a>>2]=58;a=11;break a}if(!(ob[c[g>>2]&127](f,d,e,141301)|0))h=7;else{c[a>>2]=59;a=11}break}case 27:{c[a>>2]=37;c[a+8>>2]=11;a=12;break}default:h=7}while(0);if((h|0)==7)a=IZ(a,b)|0;return a|0}function t_(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;switch(b|0){case 15:{a=11;break}case 27:{c[a>>2]=60;a=13;break}default:a=IZ(a,b)|0}return a|0}function u_(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;switch(b|0){case 15:{a=11;break}case 27:{c[a>>2]=58;a=14;break}default:a=IZ(a,b)|0}return a|0}function v_(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0;switch(b|0){case 15:{a=11;break}case 17:{c[a>>2]=c[a+16>>2]|0?20:39;a=15;break}case 18:{if(!(ob[c[f+24>>2]&127](f,d,e,141443)|0))g=5;else{c[a>>2]=61;a=11}break}default:g=5}if((g|0)==5)a=IZ(a,b)|0;return a|0}function w_(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;switch(b|0){case 15:{a=11;break}case 18:{c[a>>2]=37;c[a+8>>2]=11;a=16;break}default:a=IZ(a,b)|0}return a|0}function x_(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0;a:do switch(b|0){case 15:{a=11;break}case 18:{g=f+24|0;if(ob[c[g>>2]&127](f,d,e,141294)|0){c[a>>2]=62;a=11;break a}if(!(ob[c[g>>2]&127](f,d,e,141301)|0))h=7;else{c[a>>2]=63;a=11}break}case 27:{c[a>>2]=37;c[a+8>>2]=11;a=12;break}default:h=7}while(0);if((h|0)==7)a=IZ(a,b)|0;return a|0}function y_(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;switch(b|0){case 15:{a=11;break}case 27:{c[a>>2]=64;a=13;break}default:a=IZ(a,b)|0}return a|0}function z_(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;switch(b|0){case 15:{a=11;break}case 27:{c[a>>2]=62;a=14;break}default:a=IZ(a,b)|0}return a|0}function A_(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;switch(b|0){case 15:{a=11;break}case 17:{c[a>>2]=c[a+16>>2]|0?20:39;a=15;break}default:a=IZ(a,b)|0}return a|0}function B_(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0;x=l;l=l+16|0;p=x;do if(a>>>0<245){m=a>>>0<11?16:a+11&-8;a=m>>>3;o=c[46749]|0;d=o>>>a;if(d&3|0){b=(d&1^1)+a|0;a=187036+(b<<1<<2)|0;d=a+8|0;e=c[d>>2]|0;f=e+8|0;g=c[f>>2]|0;if((g|0)==(a|0))c[46749]=o&~(1<>2]=a;c[d>>2]=g}w=b<<3;c[e+4>>2]=w|3;w=e+w+4|0;c[w>>2]=c[w>>2]|1;w=f;l=x;return w|0}n=c[46751]|0;if(m>>>0>n>>>0){if(d|0){b=2<>>12&16;b=b>>>i;d=b>>>5&8;b=b>>>d;g=b>>>2&4;b=b>>>g;a=b>>>1&2;b=b>>>a;e=b>>>1&1;e=(d|i|g|a|e)+(b>>>e)|0;b=187036+(e<<1<<2)|0;a=b+8|0;g=c[a>>2]|0;i=g+8|0;d=c[i>>2]|0;if((d|0)==(b|0)){a=o&~(1<>2]=b;c[a>>2]=d;a=o}w=e<<3;h=w-m|0;c[g+4>>2]=m|3;f=g+m|0;c[f+4>>2]=h|1;c[g+w>>2]=h;if(n|0){e=c[46754]|0;b=n>>>3;d=187036+(b<<1<<2)|0;b=1<>2]|0}c[a>>2]=e;c[b+12>>2]=e;c[e+8>>2]=b;c[e+12>>2]=d}c[46751]=h;c[46754]=f;w=i;l=x;return w|0}j=c[46750]|0;if(j){d=(j&0-j)+-1|0;i=d>>>12&16;d=d>>>i;h=d>>>5&8;d=d>>>h;k=d>>>2&4;d=d>>>k;e=d>>>1&2;d=d>>>e;a=d>>>1&1;a=c[187300+((h|i|k|e|a)+(d>>>a)<<2)>>2]|0;d=(c[a+4>>2]&-8)-m|0;e=c[a+16+(((c[a+16>>2]|0)==0&1)<<2)>>2]|0;if(!e){k=a;h=d}else{do{i=(c[e+4>>2]&-8)-m|0;k=i>>>0>>0;d=k?i:d;a=k?e:a;e=c[e+16+(((c[e+16>>2]|0)==0&1)<<2)>>2]|0}while((e|0)!=0);k=a;h=d}i=k+m|0;if(i>>>0>k>>>0){f=c[k+24>>2]|0;b=c[k+12>>2]|0;do if((b|0)==(k|0)){a=k+20|0;b=c[a>>2]|0;if(!b){a=k+16|0;b=c[a>>2]|0;if(!b){d=0;break}}while(1){d=b+20|0;e=c[d>>2]|0;if(e|0){b=e;a=d;continue}d=b+16|0;e=c[d>>2]|0;if(!e)break;else{b=e;a=d}}c[a>>2]=0;d=b}else{d=c[k+8>>2]|0;c[d+12>>2]=b;c[b+8>>2]=d;d=b}while(0);do if(f|0){b=c[k+28>>2]|0;a=187300+(b<<2)|0;if((k|0)==(c[a>>2]|0)){c[a>>2]=d;if(!d){c[46750]=j&~(1<>2]|0)!=(k|0)&1)<<2)>>2]=d;if(!d)break}c[d+24>>2]=f;b=c[k+16>>2]|0;if(b|0){c[d+16>>2]=b;c[b+24>>2]=d}b=c[k+20>>2]|0;if(b|0){c[d+20>>2]=b;c[b+24>>2]=d}}while(0);if(h>>>0<16){w=h+m|0;c[k+4>>2]=w|3;w=k+w+4|0;c[w>>2]=c[w>>2]|1}else{c[k+4>>2]=m|3;c[i+4>>2]=h|1;c[i+h>>2]=h;if(n|0){e=c[46754]|0;b=n>>>3;d=187036+(b<<1<<2)|0;b=1<>2]|0}c[a>>2]=e;c[b+12>>2]=e;c[e+8>>2]=b;c[e+12>>2]=d}c[46751]=h;c[46754]=i}w=k+8|0;l=x;return w|0}else n=m}else n=m}else n=m}else if(a>>>0<=4294967231){a=a+11|0;m=a&-8;k=c[46750]|0;if(k){e=0-m|0;a=a>>>8;if(a)if(m>>>0>16777215)j=31;else{o=(a+1048320|0)>>>16&8;v=a<>>16&4;v=v<>>16&2;j=14-(n|o|j)+(v<>>15)|0;j=m>>>(j+7|0)&1|j<<1}else j=0;d=c[187300+(j<<2)>>2]|0;a:do if(!d){d=0;a=0;v=57}else{a=0;i=d;h=m<<((j|0)==31?0:25-(j>>>1)|0);d=0;while(1){f=(c[i+4>>2]&-8)-m|0;if(f>>>0>>0)if(!f){e=0;d=i;a=i;v=61;break a}else{a=i;e=f}f=c[i+20>>2]|0;i=c[i+16+(h>>>31<<2)>>2]|0;d=(f|0)==0|(f|0)==(i|0)?d:f;f=(i|0)==0;if(f){v=57;break}else h=h<<((f^1)&1)}}while(0);if((v|0)==57){if((d|0)==0&(a|0)==0){a=2<>>12&16;o=o>>>i;h=o>>>5&8;o=o>>>h;j=o>>>2&4;o=o>>>j;n=o>>>1&2;o=o>>>n;d=o>>>1&1;a=0;d=c[187300+((h|i|j|n|d)+(o>>>d)<<2)>>2]|0}if(!d){i=a;h=e}else v=61}if((v|0)==61)while(1){v=0;n=(c[d+4>>2]&-8)-m|0;o=n>>>0>>0;e=o?n:e;a=o?d:a;d=c[d+16+(((c[d+16>>2]|0)==0&1)<<2)>>2]|0;if(!d){i=a;h=e;break}else v=61}if((i|0)!=0?h>>>0<((c[46751]|0)-m|0)>>>0:0){g=i+m|0;if(g>>>0<=i>>>0){w=0;l=x;return w|0}f=c[i+24>>2]|0;b=c[i+12>>2]|0;do if((b|0)==(i|0)){a=i+20|0;b=c[a>>2]|0;if(!b){a=i+16|0;b=c[a>>2]|0;if(!b){b=0;break}}while(1){d=b+20|0;e=c[d>>2]|0;if(e|0){b=e;a=d;continue}d=b+16|0;e=c[d>>2]|0;if(!e)break;else{b=e;a=d}}c[a>>2]=0}else{w=c[i+8>>2]|0;c[w+12>>2]=b;c[b+8>>2]=w}while(0);do if(f){a=c[i+28>>2]|0;d=187300+(a<<2)|0;if((i|0)==(c[d>>2]|0)){c[d>>2]=b;if(!b){e=k&~(1<>2]|0)!=(i|0)&1)<<2)>>2]=b;if(!b){e=k;break}}c[b+24>>2]=f;a=c[i+16>>2]|0;if(a|0){c[b+16>>2]=a;c[a+24>>2]=b}a=c[i+20>>2]|0;if(a){c[b+20>>2]=a;c[a+24>>2]=b;e=k}else e=k}else e=k;while(0);do if(h>>>0>=16){c[i+4>>2]=m|3;c[g+4>>2]=h|1;c[g+h>>2]=h;b=h>>>3;if(h>>>0<256){d=187036+(b<<1<<2)|0;a=c[46749]|0;b=1<>2]|0}c[a>>2]=g;c[b+12>>2]=g;c[g+8>>2]=b;c[g+12>>2]=d;break}b=h>>>8;if(b)if(h>>>0>16777215)b=31;else{v=(b+1048320|0)>>>16&8;w=b<>>16&4;w=w<>>16&2;b=14-(u|v|b)+(w<>>15)|0;b=h>>>(b+7|0)&1|b<<1}else b=0;d=187300+(b<<2)|0;c[g+28>>2]=b;a=g+16|0;c[a+4>>2]=0;c[a>>2]=0;a=1<>2]=g;c[g+24>>2]=d;c[g+12>>2]=g;c[g+8>>2]=g;break}a=h<<((b|0)==31?0:25-(b>>>1)|0);d=c[d>>2]|0;while(1){if((c[d+4>>2]&-8|0)==(h|0)){v=97;break}e=d+16+(a>>>31<<2)|0;b=c[e>>2]|0;if(!b){v=96;break}else{a=a<<1;d=b}}if((v|0)==96){c[e>>2]=g;c[g+24>>2]=d;c[g+12>>2]=g;c[g+8>>2]=g;break}else if((v|0)==97){v=d+8|0;w=c[v>>2]|0;c[w+12>>2]=g;c[v>>2]=g;c[g+8>>2]=w;c[g+12>>2]=d;c[g+24>>2]=0;break}}else{w=h+m|0;c[i+4>>2]=w|3;w=i+w+4|0;c[w>>2]=c[w>>2]|1}while(0);w=i+8|0;l=x;return w|0}else n=m}else n=m}else n=-1;while(0);d=c[46751]|0;if(d>>>0>=n>>>0){b=d-n|0;a=c[46754]|0;if(b>>>0>15){w=a+n|0;c[46754]=w;c[46751]=b;c[w+4>>2]=b|1;c[a+d>>2]=b;c[a+4>>2]=n|3}else{c[46751]=0;c[46754]=0;c[a+4>>2]=d|3;w=a+d+4|0;c[w>>2]=c[w>>2]|1}w=a+8|0;l=x;return w|0}i=c[46752]|0;if(i>>>0>n>>>0){u=i-n|0;c[46752]=u;w=c[46755]|0;v=w+n|0;c[46755]=v;c[v+4>>2]=u|1;c[w+4>>2]=n|3;w=w+8|0;l=x;return w|0}if(!(c[46867]|0)){c[46869]=4096;c[46868]=4096;c[46870]=-1;c[46871]=-1;c[46872]=0;c[46860]=0;c[46867]=p&-16^1431655768;a=4096}else a=c[46869]|0;j=n+48|0;k=n+47|0;h=a+k|0;f=0-a|0;m=h&f;if(m>>>0<=n>>>0){w=0;l=x;return w|0}a=c[46859]|0;if(a|0?(o=c[46857]|0,p=o+m|0,p>>>0<=o>>>0|p>>>0>a>>>0):0){w=0;l=x;return w|0}b:do if(!(c[46860]&4)){d=c[46755]|0;c:do if(d){e=187444;while(1){a=c[e>>2]|0;if(a>>>0<=d>>>0?(s=e+4|0,(a+(c[s>>2]|0)|0)>>>0>d>>>0):0)break;a=c[e+8>>2]|0;if(!a){v=118;break c}else e=a}b=h-i&f;if(b>>>0<2147483647){a=H3(b|0)|0;if((a|0)==((c[e>>2]|0)+(c[s>>2]|0)|0)){if((a|0)!=(-1|0)){h=b;g=a;v=135;break b}}else{e=a;v=126}}else b=0}else v=118;while(0);do if((v|0)==118){d=H3(0)|0;if((d|0)!=(-1|0)?(b=d,q=c[46868]|0,r=q+-1|0,b=((r&b|0)==0?0:(r+b&0-q)-b|0)+m|0,q=c[46857]|0,r=b+q|0,b>>>0>n>>>0&b>>>0<2147483647):0){s=c[46859]|0;if(s|0?r>>>0<=q>>>0|r>>>0>s>>>0:0){b=0;break}a=H3(b|0)|0;if((a|0)==(d|0)){h=b;g=d;v=135;break b}else{e=a;v=126}}else b=0}while(0);do if((v|0)==126){d=0-b|0;if(!(j>>>0>b>>>0&(b>>>0<2147483647&(e|0)!=(-1|0))))if((e|0)==(-1|0)){b=0;break}else{h=b;g=e;v=135;break b}a=c[46869]|0;a=k-b+a&0-a;if(a>>>0>=2147483647){h=b;g=e;v=135;break b}if((H3(a|0)|0)==(-1|0)){H3(d|0)|0;b=0;break}else{h=a+b|0;g=e;v=135;break b}}while(0);c[46860]=c[46860]|4;v=133}else{b=0;v=133}while(0);if(((v|0)==133?m>>>0<2147483647:0)?(g=H3(m|0)|0,s=H3(0)|0,t=s-g|0,u=t>>>0>(n+40|0)>>>0,!((g|0)==(-1|0)|u^1|g>>>0>>0&((g|0)!=(-1|0)&(s|0)!=(-1|0))^1)):0){h=u?t:b;v=135}if((v|0)==135){b=(c[46857]|0)+h|0;c[46857]=b;if(b>>>0>(c[46858]|0)>>>0)c[46858]=b;j=c[46755]|0;do if(j){b=187444;while(1){a=c[b>>2]|0;d=b+4|0;e=c[d>>2]|0;if((g|0)==(a+e|0)){v=143;break}f=c[b+8>>2]|0;if(!f)break;else b=f}if(((v|0)==143?(c[b+12>>2]&8|0)==0:0)?g>>>0>j>>>0&a>>>0<=j>>>0:0){c[d>>2]=e+h;w=(c[46752]|0)+h|0;u=j+8|0;u=(u&7|0)==0?0:0-u&7;v=j+u|0;u=w-u|0;c[46755]=v;c[46752]=u;c[v+4>>2]=u|1;c[j+w+4>>2]=40;c[46756]=c[46871];break}if(g>>>0<(c[46753]|0)>>>0)c[46753]=g;a=g+h|0;b=187444;while(1){if((c[b>>2]|0)==(a|0)){v=151;break}b=c[b+8>>2]|0;if(!b){a=187444;break}}if((v|0)==151)if(!(c[b+12>>2]&8)){c[b>>2]=g;m=b+4|0;c[m>>2]=(c[m>>2]|0)+h;m=g+8|0;m=g+((m&7|0)==0?0:0-m&7)|0;b=a+8|0;b=a+((b&7|0)==0?0:0-b&7)|0;k=m+n|0;i=b-m-n|0;c[m+4>>2]=n|3;do if((j|0)!=(b|0)){if((c[46754]|0)==(b|0)){w=(c[46751]|0)+i|0;c[46751]=w;c[46754]=k;c[k+4>>2]=w|1;c[k+w>>2]=w;break}a=c[b+4>>2]|0;if((a&3|0)==1){h=a&-8;e=a>>>3;d:do if(a>>>0<256){a=c[b+8>>2]|0;d=c[b+12>>2]|0;if((d|0)==(a|0)){c[46749]=c[46749]&~(1<>2]=d;c[d+8>>2]=a;break}}else{g=c[b+24>>2]|0;a=c[b+12>>2]|0;do if((a|0)==(b|0)){e=b+16|0;d=e+4|0;a=c[d>>2]|0;if(!a){a=c[e>>2]|0;if(!a){a=0;break}else d=e}while(1){e=a+20|0;f=c[e>>2]|0;if(f|0){a=f;d=e;continue}e=a+16|0;f=c[e>>2]|0;if(!f)break;else{a=f;d=e}}c[d>>2]=0}else{w=c[b+8>>2]|0;c[w+12>>2]=a;c[a+8>>2]=w}while(0);if(!g)break;d=c[b+28>>2]|0;e=187300+(d<<2)|0;do if((c[e>>2]|0)!=(b|0)){c[g+16+(((c[g+16>>2]|0)!=(b|0)&1)<<2)>>2]=a;if(!a)break d}else{c[e>>2]=a;if(a|0)break;c[46750]=c[46750]&~(1<>2]=g;d=b+16|0;e=c[d>>2]|0;if(e|0){c[a+16>>2]=e;c[e+24>>2]=a}d=c[d+4>>2]|0;if(!d)break;c[a+20>>2]=d;c[d+24>>2]=a}while(0);b=b+h|0;f=h+i|0}else f=i;b=b+4|0;c[b>>2]=c[b>>2]&-2;c[k+4>>2]=f|1;c[k+f>>2]=f;b=f>>>3;if(f>>>0<256){d=187036+(b<<1<<2)|0;a=c[46749]|0;b=1<>2]|0}c[a>>2]=k;c[b+12>>2]=k;c[k+8>>2]=b;c[k+12>>2]=d;break}b=f>>>8;do if(!b)b=0;else{if(f>>>0>16777215){b=31;break}v=(b+1048320|0)>>>16&8;w=b<>>16&4;w=w<>>16&2;b=14-(u|v|b)+(w<>>15)|0;b=f>>>(b+7|0)&1|b<<1}while(0);e=187300+(b<<2)|0;c[k+28>>2]=b;a=k+16|0;c[a+4>>2]=0;c[a>>2]=0;a=c[46750]|0;d=1<>2]=k;c[k+24>>2]=e;c[k+12>>2]=k;c[k+8>>2]=k;break}a=f<<((b|0)==31?0:25-(b>>>1)|0);d=c[e>>2]|0;while(1){if((c[d+4>>2]&-8|0)==(f|0)){v=192;break}e=d+16+(a>>>31<<2)|0;b=c[e>>2]|0;if(!b){v=191;break}else{a=a<<1;d=b}}if((v|0)==191){c[e>>2]=k;c[k+24>>2]=d;c[k+12>>2]=k;c[k+8>>2]=k;break}else if((v|0)==192){v=d+8|0;w=c[v>>2]|0;c[w+12>>2]=k;c[v>>2]=k;c[k+8>>2]=w;c[k+12>>2]=d;c[k+24>>2]=0;break}}else{w=(c[46752]|0)+i|0;c[46752]=w;c[46755]=k;c[k+4>>2]=w|1}while(0);w=m+8|0;l=x;return w|0}else a=187444;while(1){b=c[a>>2]|0;if(b>>>0<=j>>>0?(w=b+(c[a+4>>2]|0)|0,w>>>0>j>>>0):0)break;a=c[a+8>>2]|0}f=w+-47|0;a=f+8|0;a=f+((a&7|0)==0?0:0-a&7)|0;f=j+16|0;a=a>>>0>>0?j:a;b=a+8|0;d=h+-40|0;u=g+8|0;u=(u&7|0)==0?0:0-u&7;v=g+u|0;u=d-u|0;c[46755]=v;c[46752]=u;c[v+4>>2]=u|1;c[g+d+4>>2]=40;c[46756]=c[46871];d=a+4|0;c[d>>2]=27;c[b>>2]=c[46861];c[b+4>>2]=c[46862];c[b+8>>2]=c[46863];c[b+12>>2]=c[46864];c[46861]=g;c[46862]=h;c[46864]=0;c[46863]=b;b=a+24|0;do{v=b;b=b+4|0;c[b>>2]=7}while((v+8|0)>>>0>>0);if((a|0)!=(j|0)){g=a-j|0;c[d>>2]=c[d>>2]&-2;c[j+4>>2]=g|1;c[a>>2]=g;b=g>>>3;if(g>>>0<256){d=187036+(b<<1<<2)|0;a=c[46749]|0;b=1<>2]|0}c[a>>2]=j;c[b+12>>2]=j;c[j+8>>2]=b;c[j+12>>2]=d;break}b=g>>>8;if(b)if(g>>>0>16777215)d=31;else{v=(b+1048320|0)>>>16&8;w=b<>>16&4;w=w<>>16&2;d=14-(u|v|d)+(w<>>15)|0;d=g>>>(d+7|0)&1|d<<1}else d=0;e=187300+(d<<2)|0;c[j+28>>2]=d;c[j+20>>2]=0;c[f>>2]=0;b=c[46750]|0;a=1<>2]=j;c[j+24>>2]=e;c[j+12>>2]=j;c[j+8>>2]=j;break}a=g<<((d|0)==31?0:25-(d>>>1)|0);d=c[e>>2]|0;while(1){if((c[d+4>>2]&-8|0)==(g|0)){v=213;break}e=d+16+(a>>>31<<2)|0;b=c[e>>2]|0;if(!b){v=212;break}else{a=a<<1;d=b}}if((v|0)==212){c[e>>2]=j;c[j+24>>2]=d;c[j+12>>2]=j;c[j+8>>2]=j;break}else if((v|0)==213){v=d+8|0;w=c[v>>2]|0;c[w+12>>2]=j;c[v>>2]=j;c[j+8>>2]=w;c[j+12>>2]=d;c[j+24>>2]=0;break}}}else{w=c[46753]|0;if((w|0)==0|g>>>0>>0)c[46753]=g;c[46861]=g;c[46862]=h;c[46864]=0;c[46758]=c[46867];c[46757]=-1;c[46762]=187036;c[46761]=187036;c[46764]=187044;c[46763]=187044;c[46766]=187052;c[46765]=187052;c[46768]=187060;c[46767]=187060;c[46770]=187068;c[46769]=187068;c[46772]=187076;c[46771]=187076;c[46774]=187084;c[46773]=187084;c[46776]=187092;c[46775]=187092;c[46778]=187100;c[46777]=187100;c[46780]=187108;c[46779]=187108;c[46782]=187116;c[46781]=187116;c[46784]=187124;c[46783]=187124;c[46786]=187132;c[46785]=187132;c[46788]=187140;c[46787]=187140;c[46790]=187148;c[46789]=187148;c[46792]=187156;c[46791]=187156;c[46794]=187164;c[46793]=187164;c[46796]=187172;c[46795]=187172;c[46798]=187180;c[46797]=187180;c[46800]=187188;c[46799]=187188;c[46802]=187196;c[46801]=187196;c[46804]=187204;c[46803]=187204;c[46806]=187212;c[46805]=187212;c[46808]=187220;c[46807]=187220;c[46810]=187228;c[46809]=187228;c[46812]=187236;c[46811]=187236;c[46814]=187244;c[46813]=187244;c[46816]=187252;c[46815]=187252;c[46818]=187260;c[46817]=187260;c[46820]=187268;c[46819]=187268;c[46822]=187276;c[46821]=187276;c[46824]=187284;c[46823]=187284;w=h+-40|0;u=g+8|0;u=(u&7|0)==0?0:0-u&7;v=g+u|0;u=w-u|0;c[46755]=v;c[46752]=u;c[v+4>>2]=u|1;c[g+w+4>>2]=40;c[46756]=c[46871]}while(0);b=c[46752]|0;if(b>>>0>n>>>0){u=b-n|0;c[46752]=u;w=c[46755]|0;v=w+n|0;c[46755]=v;c[v+4>>2]=u|1;c[w+4>>2]=n|3;w=w+8|0;l=x;return w|0}}c[(N_()|0)>>2]=12;w=0;l=x;return w|0}function C_(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0;if(!a)return;d=a+-8|0;f=c[46753]|0;a=c[a+-4>>2]|0;b=a&-8;j=d+b|0;do if(!(a&1)){e=c[d>>2]|0;if(!(a&3))return;h=d+(0-e)|0;g=e+b|0;if(h>>>0>>0)return;if((c[46754]|0)==(h|0)){a=j+4|0;b=c[a>>2]|0;if((b&3|0)!=3){i=h;b=g;break}c[46751]=g;c[a>>2]=b&-2;c[h+4>>2]=g|1;c[h+g>>2]=g;return}d=e>>>3;if(e>>>0<256){a=c[h+8>>2]|0;b=c[h+12>>2]|0;if((b|0)==(a|0)){c[46749]=c[46749]&~(1<>2]=b;c[b+8>>2]=a;i=h;b=g;break}}f=c[h+24>>2]|0;a=c[h+12>>2]|0;do if((a|0)==(h|0)){d=h+16|0;b=d+4|0;a=c[b>>2]|0;if(!a){a=c[d>>2]|0;if(!a){a=0;break}else b=d}while(1){d=a+20|0;e=c[d>>2]|0;if(e|0){a=e;b=d;continue}d=a+16|0;e=c[d>>2]|0;if(!e)break;else{a=e;b=d}}c[b>>2]=0}else{i=c[h+8>>2]|0;c[i+12>>2]=a;c[a+8>>2]=i}while(0);if(f){b=c[h+28>>2]|0;d=187300+(b<<2)|0;if((c[d>>2]|0)==(h|0)){c[d>>2]=a;if(!a){c[46750]=c[46750]&~(1<>2]|0)!=(h|0)&1)<<2)>>2]=a;if(!a){i=h;b=g;break}}c[a+24>>2]=f;b=h+16|0;d=c[b>>2]|0;if(d|0){c[a+16>>2]=d;c[d+24>>2]=a}b=c[b+4>>2]|0;if(b){c[a+20>>2]=b;c[b+24>>2]=a;i=h;b=g}else{i=h;b=g}}else{i=h;b=g}}else{i=d;h=d}while(0);if(h>>>0>=j>>>0)return;a=j+4|0;e=c[a>>2]|0;if(!(e&1))return;if(!(e&2)){if((c[46755]|0)==(j|0)){j=(c[46752]|0)+b|0;c[46752]=j;c[46755]=i;c[i+4>>2]=j|1;if((i|0)!=(c[46754]|0))return;c[46754]=0;c[46751]=0;return}if((c[46754]|0)==(j|0)){j=(c[46751]|0)+b|0;c[46751]=j;c[46754]=h;c[i+4>>2]=j|1;c[h+j>>2]=j;return}f=(e&-8)+b|0;d=e>>>3;do if(e>>>0<256){b=c[j+8>>2]|0;a=c[j+12>>2]|0;if((a|0)==(b|0)){c[46749]=c[46749]&~(1<>2]=a;c[a+8>>2]=b;break}}else{g=c[j+24>>2]|0;a=c[j+12>>2]|0;do if((a|0)==(j|0)){d=j+16|0;b=d+4|0;a=c[b>>2]|0;if(!a){a=c[d>>2]|0;if(!a){d=0;break}else b=d}while(1){d=a+20|0;e=c[d>>2]|0;if(e|0){a=e;b=d;continue}d=a+16|0;e=c[d>>2]|0;if(!e)break;else{a=e;b=d}}c[b>>2]=0;d=a}else{d=c[j+8>>2]|0;c[d+12>>2]=a;c[a+8>>2]=d;d=a}while(0);if(g|0){a=c[j+28>>2]|0;b=187300+(a<<2)|0;if((c[b>>2]|0)==(j|0)){c[b>>2]=d;if(!d){c[46750]=c[46750]&~(1<>2]|0)!=(j|0)&1)<<2)>>2]=d;if(!d)break}c[d+24>>2]=g;a=j+16|0;b=c[a>>2]|0;if(b|0){c[d+16>>2]=b;c[b+24>>2]=d}a=c[a+4>>2]|0;if(a|0){c[d+20>>2]=a;c[a+24>>2]=d}}}while(0);c[i+4>>2]=f|1;c[h+f>>2]=f;if((i|0)==(c[46754]|0)){c[46751]=f;return}}else{c[a>>2]=e&-2;c[i+4>>2]=b|1;c[h+b>>2]=b;f=b}a=f>>>3;if(f>>>0<256){d=187036+(a<<1<<2)|0;b=c[46749]|0;a=1<>2]|0}c[b>>2]=i;c[a+12>>2]=i;c[i+8>>2]=a;c[i+12>>2]=d;return}a=f>>>8;if(a)if(f>>>0>16777215)a=31;else{h=(a+1048320|0)>>>16&8;j=a<>>16&4;j=j<>>16&2;a=14-(g|h|a)+(j<>>15)|0;a=f>>>(a+7|0)&1|a<<1}else a=0;e=187300+(a<<2)|0;c[i+28>>2]=a;c[i+20>>2]=0;c[i+16>>2]=0;b=c[46750]|0;d=1<>>1)|0);d=c[e>>2]|0;while(1){if((c[d+4>>2]&-8|0)==(f|0)){a=73;break}e=d+16+(b>>>31<<2)|0;a=c[e>>2]|0;if(!a){a=72;break}else{b=b<<1;d=a}}if((a|0)==72){c[e>>2]=i;c[i+24>>2]=d;c[i+12>>2]=i;c[i+8>>2]=i;break}else if((a|0)==73){h=d+8|0;j=c[h>>2]|0;c[j+12>>2]=i;c[h>>2]=i;c[i+8>>2]=j;c[i+12>>2]=d;c[i+24>>2]=0;break}}else{c[46750]=b|d;c[e>>2]=i;c[i+24>>2]=e;c[i+12>>2]=i;c[i+8>>2]=i}while(0);j=(c[46757]|0)+-1|0;c[46757]=j;if(!j)a=187452;else return;while(1){a=c[a>>2]|0;if(!a)break;else a=a+8|0}c[46757]=-1;return}function D_(a,b){a=a|0;b=b|0;var d=0;if(a){d=O(b,a)|0;if((b|a)>>>0>65535)d=((d>>>0)/(a>>>0)|0|0)==(b|0)?d:-1}else d=0;a=B_(d)|0;if(!a)return a|0;if(!(c[a+-4>>2]&3))return a|0;G3(a|0,0,d|0)|0;return a|0}function E_(a,b){a=a|0;b=b|0;var d=0,e=0;if(!a){b=B_(b)|0;return b|0}if(b>>>0>4294967231){c[(N_()|0)>>2]=12;b=0;return b|0}d=F_(a+-8|0,b>>>0<11?16:b+11&-8)|0;if(d|0){b=d+8|0;return b|0}d=B_(b)|0;if(!d){b=0;return b|0}e=c[a+-4>>2]|0;e=(e&-8)-((e&3|0)==0?8:4)|0;E3(d|0,a|0,(e>>>0>>0?e:b)|0)|0;C_(a);b=d;return b|0}function F_(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;l=a+4|0;m=c[l>>2]|0;d=m&-8;i=a+d|0;if(!(m&3)){if(b>>>0<256){a=0;return a|0}if(d>>>0>=(b+4|0)>>>0?(d-b|0)>>>0<=c[46869]<<1>>>0:0)return a|0;a=0;return a|0}if(d>>>0>=b>>>0){d=d-b|0;if(d>>>0<=15)return a|0;k=a+b|0;c[l>>2]=m&1|b|2;c[k+4>>2]=d|3;m=i+4|0;c[m>>2]=c[m>>2]|1;G_(k,d);return a|0}if((c[46755]|0)==(i|0)){k=(c[46752]|0)+d|0;d=k-b|0;e=a+b|0;if(k>>>0<=b>>>0){a=0;return a|0}c[l>>2]=m&1|b|2;c[e+4>>2]=d|1;c[46755]=e;c[46752]=d;return a|0}if((c[46754]|0)==(i|0)){e=(c[46751]|0)+d|0;if(e>>>0>>0){a=0;return a|0}d=e-b|0;if(d>>>0>15){k=a+b|0;e=a+e|0;c[l>>2]=m&1|b|2;c[k+4>>2]=d|1;c[e>>2]=d;e=e+4|0;c[e>>2]=c[e>>2]&-2;e=k}else{c[l>>2]=m&1|e|2;e=a+e+4|0;c[e>>2]=c[e>>2]|1;e=0;d=0}c[46751]=d;c[46754]=e;return a|0}e=c[i+4>>2]|0;if(e&2|0){a=0;return a|0}j=(e&-8)+d|0;if(j>>>0>>0){a=0;return a|0}k=j-b|0;f=e>>>3;do if(e>>>0<256){e=c[i+8>>2]|0;d=c[i+12>>2]|0;if((d|0)==(e|0)){c[46749]=c[46749]&~(1<>2]=d;c[d+8>>2]=e;break}}else{h=c[i+24>>2]|0;d=c[i+12>>2]|0;do if((d|0)==(i|0)){f=i+16|0;e=f+4|0;d=c[e>>2]|0;if(!d){d=c[f>>2]|0;if(!d){f=0;break}else g=f}else g=e;while(1){f=d+20|0;e=c[f>>2]|0;if(e|0){d=e;g=f;continue}e=d+16|0;f=c[e>>2]|0;if(!f)break;else{d=f;g=e}}c[g>>2]=0;f=d}else{f=c[i+8>>2]|0;c[f+12>>2]=d;c[d+8>>2]=f;f=d}while(0);if(h|0){d=c[i+28>>2]|0;e=187300+(d<<2)|0;if((c[e>>2]|0)==(i|0)){c[e>>2]=f;if(!f){c[46750]=c[46750]&~(1<>2]|0)!=(i|0)&1)<<2)>>2]=f;if(!f)break}c[f+24>>2]=h;d=i+16|0;e=c[d>>2]|0;if(e|0){c[f+16>>2]=e;c[e+24>>2]=f}d=c[d+4>>2]|0;if(d|0){c[f+20>>2]=d;c[d+24>>2]=f}}}while(0);if(k>>>0<16){c[l>>2]=j|m&1|2;m=a+j+4|0;c[m>>2]=c[m>>2]|1;return a|0}else{i=a+b|0;c[l>>2]=m&1|b|2;c[i+4>>2]=k|3;m=a+j+4|0;c[m>>2]=c[m>>2]|1;G_(i,k);return a|0}return 0}function G_(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0;i=a+b|0;d=c[a+4>>2]|0;do if(!(d&1)){f=c[a>>2]|0;if(!(d&3))return;h=a+(0-f)|0;b=f+b|0;if((c[46754]|0)==(h|0)){a=i+4|0;d=c[a>>2]|0;if((d&3|0)!=3)break;c[46751]=b;c[a>>2]=d&-2;c[h+4>>2]=b|1;c[i>>2]=b;return}e=f>>>3;if(f>>>0<256){a=c[h+8>>2]|0;d=c[h+12>>2]|0;if((d|0)==(a|0)){c[46749]=c[46749]&~(1<>2]=d;c[d+8>>2]=a;break}}g=c[h+24>>2]|0;a=c[h+12>>2]|0;do if((a|0)==(h|0)){e=h+16|0;d=e+4|0;a=c[d>>2]|0;if(!a){a=c[e>>2]|0;if(!a){a=0;break}else d=e}while(1){e=a+20|0;f=c[e>>2]|0;if(f|0){a=f;d=e;continue}e=a+16|0;f=c[e>>2]|0;if(!f)break;else{a=f;d=e}}c[d>>2]=0}else{f=c[h+8>>2]|0;c[f+12>>2]=a;c[a+8>>2]=f}while(0);if(g){d=c[h+28>>2]|0;e=187300+(d<<2)|0;if((c[e>>2]|0)==(h|0)){c[e>>2]=a;if(!a){c[46750]=c[46750]&~(1<>2]|0)!=(h|0)&1)<<2)>>2]=a;if(!a)break}c[a+24>>2]=g;d=h+16|0;e=c[d>>2]|0;if(e|0){c[a+16>>2]=e;c[e+24>>2]=a}d=c[d+4>>2]|0;if(d){c[a+20>>2]=d;c[d+24>>2]=a}}}else h=a;while(0);a=i+4|0;e=c[a>>2]|0;if(!(e&2)){if((c[46755]|0)==(i|0)){i=(c[46752]|0)+b|0;c[46752]=i;c[46755]=h;c[h+4>>2]=i|1;if((h|0)!=(c[46754]|0))return;c[46754]=0;c[46751]=0;return}if((c[46754]|0)==(i|0)){i=(c[46751]|0)+b|0;c[46751]=i;c[46754]=h;c[h+4>>2]=i|1;c[h+i>>2]=i;return}f=(e&-8)+b|0;d=e>>>3;do if(e>>>0<256){a=c[i+8>>2]|0;b=c[i+12>>2]|0;if((b|0)==(a|0)){c[46749]=c[46749]&~(1<>2]=b;c[b+8>>2]=a;break}}else{g=c[i+24>>2]|0;b=c[i+12>>2]|0;do if((b|0)==(i|0)){d=i+16|0;a=d+4|0;b=c[a>>2]|0;if(!b){b=c[d>>2]|0;if(!b){d=0;break}else a=d}while(1){d=b+20|0;e=c[d>>2]|0;if(e|0){b=e;a=d;continue}d=b+16|0;e=c[d>>2]|0;if(!e)break;else{b=e;a=d}}c[a>>2]=0;d=b}else{d=c[i+8>>2]|0;c[d+12>>2]=b;c[b+8>>2]=d;d=b}while(0);if(g|0){b=c[i+28>>2]|0;a=187300+(b<<2)|0;if((c[a>>2]|0)==(i|0)){c[a>>2]=d;if(!d){c[46750]=c[46750]&~(1<>2]|0)!=(i|0)&1)<<2)>>2]=d;if(!d)break}c[d+24>>2]=g;b=i+16|0;a=c[b>>2]|0;if(a|0){c[d+16>>2]=a;c[a+24>>2]=d}b=c[b+4>>2]|0;if(b|0){c[d+20>>2]=b;c[b+24>>2]=d}}}while(0);c[h+4>>2]=f|1;c[h+f>>2]=f;if((h|0)==(c[46754]|0)){c[46751]=f;return}}else{c[a>>2]=e&-2;c[h+4>>2]=b|1;c[h+b>>2]=b;f=b}b=f>>>3;if(f>>>0<256){d=187036+(b<<1<<2)|0;a=c[46749]|0;b=1<>2]|0}c[a>>2]=h;c[b+12>>2]=h;c[h+8>>2]=b;c[h+12>>2]=d;return}b=f>>>8;if(b)if(f>>>0>16777215)b=31;else{g=(b+1048320|0)>>>16&8;i=b<>>16&4;i=i<>>16&2;b=14-(e|g|b)+(i<>>15)|0;b=f>>>(b+7|0)&1|b<<1}else b=0;e=187300+(b<<2)|0;c[h+28>>2]=b;c[h+20>>2]=0;c[h+16>>2]=0;a=c[46750]|0;d=1<>2]=h;c[h+24>>2]=e;c[h+12>>2]=h;c[h+8>>2]=h;return}a=f<<((b|0)==31?0:25-(b>>>1)|0);d=c[e>>2]|0;while(1){if((c[d+4>>2]&-8|0)==(f|0)){b=69;break}e=d+16+(a>>>31<<2)|0;b=c[e>>2]|0;if(!b){b=68;break}else{a=a<<1;d=b}}if((b|0)==68){c[e>>2]=h;c[h+24>>2]=d;c[h+12>>2]=h;c[h+8>>2]=h;return}else if((b|0)==69){g=d+8|0;i=c[g>>2]|0;c[i+12>>2]=h;c[g>>2]=h;c[h+8>>2]=i;c[h+12>>2]=d;c[h+24>>2]=0;return}}function H_(a,b){a=a|0;b=b|0;if(a>>>0<9){b=B_(b)|0;return b|0}else{b=I_(a,b)|0;return b|0}return 0}function I_(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0;a=a>>>0>16?a:16;if(a+-1&a){d=16;while(1)if(d>>>0>>0)d=d<<1;else{a=d;break}}if((-64-a|0)>>>0<=b>>>0){c[(N_()|0)>>2]=12;h=0;return h|0}g=b>>>0<11?16:b+11&-8;d=B_(g+12+a|0)|0;if(!d){h=0;return h|0}f=d+-8|0;do if(a+-1&d){e=(d+a+-1&0-a)+-8|0;b=f;e=(e-b|0)>>>0>15?e:e+a|0;b=e-b|0;a=d+-4|0;i=c[a>>2]|0;d=(i&-8)-b|0;if(!(i&3)){c[e>>2]=(c[f>>2]|0)+b;c[e+4>>2]=d;a=e;b=e;break}else{i=e+4|0;c[i>>2]=d|c[i>>2]&1|2;d=e+d+4|0;c[d>>2]=c[d>>2]|1;c[a>>2]=b|c[a>>2]&1|2;c[i>>2]=c[i>>2]|1;G_(f,b);a=e;b=e;break}}else{a=f;b=f}while(0);a=a+4|0;d=c[a>>2]|0;if(d&3|0?(h=d&-8,h>>>0>(g+16|0)>>>0):0){i=h-g|0;f=b+g|0;c[a>>2]=g|d&1|2;c[f+4>>2]=i|3;h=b+h+4|0;c[h>>2]=c[h>>2]|1;G_(f,i)}i=b+8|0;return i|0}function J_(a){a=a|0;var b=0,d=0;b=l;l=l+16|0;d=b;c[d>>2]=O_(c[a+60>>2]|0)|0;a=M_(Ja(6,d|0)|0)|0;l=b;return a|0}function K_(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,m=0;k=l;l=l+32|0;f=k;i=k+16|0;c[i>>2]=d;g=i+4|0;j=b+48|0;m=c[j>>2]|0;c[g>>2]=e-((m|0)!=0&1);h=b+44|0;c[i+8>>2]=c[h>>2];c[i+12>>2]=m;c[f>>2]=c[b+60>>2];c[f+4>>2]=i;c[f+8>>2]=2;f=M_(ya(145,f|0)|0)|0;if((f|0)>=1){i=c[g>>2]|0;if(f>>>0>i>>>0){g=c[h>>2]|0;h=b+4|0;c[h>>2]=g;c[b+8>>2]=g+(f-i);if(!(c[j>>2]|0))f=e;else{c[h>>2]=g+1;a[d+(e+-1)>>0]=a[g>>0]|0;f=e}}}else c[b>>2]=c[b>>2]|f&48^16;l=k;return f|0}function L_(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0;f=l;l=l+32|0;g=f;e=f+20|0;c[g>>2]=c[a+60>>2];c[g+4>>2]=0;c[g+8>>2]=b;c[g+12>>2]=e;c[g+16>>2]=d;if((M_(xa(140,g|0)|0)|0)<0){c[e>>2]=-1;a=-1}else a=c[e>>2]|0;l=f;return a|0}function M_(a){a=a|0;if(a>>>0>4294963200){c[(N_()|0)>>2]=0-a;a=-1}return a|0}function N_(){return 187492}function O_(a){a=a|0;return a|0}function P_(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0;g=l;l=l+32|0;f=g;c[b+36>>2]=18;if((c[b>>2]&64|0)==0?(c[f>>2]=c[b+60>>2],c[f+4>>2]=21523,c[f+8>>2]=g+16,Ia(54,f|0)|0):0)a[b+75>>0]=-1;f=Q_(b,d,e)|0;l=g;return f|0}function Q_(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0;n=l;l=l+48|0;k=n+16|0;g=n;f=n+32|0;i=a+28|0;e=c[i>>2]|0;c[f>>2]=e;j=a+20|0;e=(c[j>>2]|0)-e|0;c[f+4>>2]=e;c[f+8>>2]=b;c[f+12>>2]=d;e=e+d|0;h=a+60|0;c[g>>2]=c[h>>2];c[g+4>>2]=f;c[g+8>>2]=2;g=M_(za(146,g|0)|0)|0;a:do if((e|0)!=(g|0)){b=2;while(1){if((g|0)<0)break;e=e-g|0;p=c[f+4>>2]|0;o=g>>>0>p>>>0;f=o?f+8|0:f;b=b+(o<<31>>31)|0;p=g-(o?p:0)|0;c[f>>2]=(c[f>>2]|0)+p;o=f+4|0;c[o>>2]=(c[o>>2]|0)-p;c[k>>2]=c[h>>2];c[k+4>>2]=f;c[k+8>>2]=b;g=M_(za(146,k|0)|0)|0;if((e|0)==(g|0)){m=3;break a}}c[a+16>>2]=0;c[i>>2]=0;c[j>>2]=0;c[a>>2]=c[a>>2]|32;if((b|0)==2)d=0;else d=d-(c[f+4>>2]|0)|0}else m=3;while(0);if((m|0)==3){p=c[a+44>>2]|0;c[a+16>>2]=p+(c[a+48>>2]|0);c[i>>2]=p;c[j>>2]=p}l=n;return d|0}function R_(a,b){a=a|0;b=b|0;var d=0,e=0;d=l;l=l+16|0;e=d;c[e>>2]=a;c[e+4>>2]=b;b=M_(Ka(91,e|0)|0)|0;l=d;return b|0}function S_(){return}function T_(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0;i=l;l=l+32|0;h=i;do if((g&4095|0)==0&(((g|0)<0)<<31>>31&-4096|0)==0){if(b>>>0>2147483646){c[(N_()|0)>>2]=12;a=-1;break}c[h>>2]=a;c[h+4>>2]=b;c[h+8>>2]=d;c[h+12>>2]=e;c[h+16>>2]=f;c[h+20>>2]=g>>12;a=M_(Aa(192,h|0)|0)|0}else{c[(N_()|0)>>2]=22;a=-1}while(0);l=i;return a|0}function U_(b,d){b=b|0;d=d|0;var e=0,f=0,g=0;f=d&255;a:do if(!f)b=b+(V_(b)|0)|0;else{if(b&3){e=d&255;do{g=a[b>>0]|0;if(g<<24>>24==0?1:g<<24>>24==e<<24>>24)break a;b=b+1|0}while((b&3|0)!=0)}f=O(f,16843009)|0;e=c[b>>2]|0;b:do if(!((e&-2139062144^-2139062144)&e+-16843009))do{g=e^f;if((g&-2139062144^-2139062144)&g+-16843009|0)break b;b=b+4|0;e=c[b>>2]|0}while(!((e&-2139062144^-2139062144)&e+-16843009|0));while(0);e=d&255;while(1){g=a[b>>0]|0;if(g<<24>>24==0?1:g<<24>>24==e<<24>>24)break;else b=b+1|0}}while(0);return b|0}function V_(b){b=b|0;var d=0,e=0,f=0;f=b;a:do if(!(f&3))e=4;else{d=f;while(1){if(!(a[b>>0]|0)){b=d;break a}b=b+1|0;d=b;if(!(d&3)){e=4;break}}}while(0);if((e|0)==4){while(1){d=c[b>>2]|0;if(!((d&-2139062144^-2139062144)&d+-16843009))b=b+4|0;else break}if((d&255)<<24>>24)do b=b+1|0;while((a[b>>0]|0)!=0)}return b-f|0}function W_(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0;h=l;l=l+48|0;g=h+16|0;f=h;e=h+32|0;if(!(b&4194368))e=0;else{c[e>>2]=d;i=(c[e>>2]|0)+(4-1)&~(4-1);d=c[i>>2]|0;c[e>>2]=i+4;e=d}c[f>>2]=a;c[f+4>>2]=b|32768;c[f+8>>2]=e;e=Ha(5,f|0)|0;if(!((b&524288|0)==0|(e|0)<0)){c[g>>2]=e;c[g+4>>2]=2;c[g+8>>2]=1;Ea(221,g|0)|0}i=M_(e)|0;l=h;return i|0}function X_(b,e){b=b|0;e=e|0;var f=0,g=0;g=0;while(1){if((d[141449+g>>0]|0)==(b|0)){b=2;break}f=g+1|0;if((f|0)==87){f=141537;g=87;b=5;break}else g=f}if((b|0)==2)if(!g)f=141537;else{f=141537;b=5}if((b|0)==5)while(1){do{b=f;f=f+1|0}while((a[b>>0]|0)!=0);g=g+-1|0;if(!g)break;else b=5}return Y_(f,c[e+20>>2]|0)|0}function Y_(a,b){a=a|0;b=b|0;return Z_(a,b)|0}function Z_(a,b){a=a|0;b=b|0;if(!b)b=0;else b=__(c[b>>2]|0,c[b+4>>2]|0,a)|0;return (b|0?b:a)|0}function __(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;o=(c[b>>2]|0)+1794895138|0;h=$_(c[b+8>>2]|0,o)|0;f=$_(c[b+12>>2]|0,o)|0;g=$_(c[b+16>>2]|0,o)|0;a:do if((h>>>0>>2>>>0?(n=d-(h<<2)|0,f>>>0>>0&g>>>0>>0):0)?((g|f)&3|0)==0:0){n=f>>>2;m=g>>>2;l=0;while(1){j=h>>>1;k=l+j|0;i=k<<1;g=i+n|0;f=$_(c[b+(g<<2)>>2]|0,o)|0;g=$_(c[b+(g+1<<2)>>2]|0,o)|0;if(!(g>>>0>>0&f>>>0<(d-g|0)>>>0)){f=0;break a}if(a[b+(g+f)>>0]|0){f=0;break a}f=a$(e,b+g|0)|0;if(!f)break;f=(f|0)<0;if((h|0)==1){f=0;break a}else{l=f?l:k;h=f?j:h-j|0}}f=i+m|0;g=$_(c[b+(f<<2)>>2]|0,o)|0;f=$_(c[b+(f+1<<2)>>2]|0,o)|0;if(f>>>0>>0&g>>>0<(d-f|0)>>>0)f=(a[b+(f+g)>>0]|0)==0?b+f|0:0;else f=0}else f=0;while(0);return f|0}function $_(a,b){a=a|0;b=b|0;var c=0;c=B3(a|0)|0;return ((b|0)==0?a:c)|0}function a$(b,c){b=b|0;c=c|0;var d=0,e=0;d=a[b>>0]|0;e=a[c>>0]|0;if(d<<24>>24==0?1:d<<24>>24!=e<<24>>24)b=e;else{do{b=b+1|0;c=c+1|0;d=a[b>>0]|0;e=a[c>>0]|0}while(!(d<<24>>24==0?1:d<<24>>24!=e<<24>>24));b=e}return (d&255)-(b&255)|0}function b$(a){a=a|0;return X_(a,c[(c$()|0)+188>>2]|0)|0}function c$(){return d$()|0}function d$(){return 62872}function e$(a,b,c){a=+a;b=+b;c=c|0;var d=0.0,e=0.0,f=0.0;f=a*a;d=f*(f*f)*(f*1.58969099521155e-10+-2.5050760253406863e-08)+(f*(f*2.7557313707070068e-06+-1.984126982985795e-04)+.00833333333332249);e=f*a;if(!c)a=e*(f*d+-.16666666666666632)+a;else a=a-(e*.16666666666666632+(f*(b*.5-e*d)-b));return +a}function f$(a){a=+a;var b=0,d=0,e=0,f=0,g=0.0,i=0.0,k=0.0,l=0.0,m=0.0;h[j>>3]=a;b=c[j>>2]|0;d=c[j+4>>2]|0;e=(d|0)<0;do if(e|d>>>0<1048576){if((b|0)==0&(d&2147483647|0)==0){a=-1.0/(a*a);break}if(e){a=(a-a)/0.0;break}else{h[j>>3]=a*18014398509481984.0;d=c[j+4>>2]|0;e=-1077;b=c[j>>2]|0;f=9;break}}else if(d>>>0<=2146435071)if((b|0)==0&0==0&(d|0)==1072693248)a=0.0;else{e=-1023;f=9}while(0);if((f|0)==9){f=d+614242|0;c[j>>2]=b;c[j+4>>2]=(f&1048575)+1072079006;m=+h[j>>3]+-1.0;k=m*(m*.5);i=m/(m+2.0);l=i*i;g=l*l;h[j>>3]=m-k;d=c[j+4>>2]|0;c[j>>2]=0;c[j+4>>2]=d;a=+h[j>>3];g=m-a-k+i*(k+(g*(g*(g*.15313837699209373+.22222198432149784)+.3999999999940942)+l*(g*(g*(g*.14798198605116586+.1818357216161805)+.2857142874366239)+.6666666666666735)));l=a*1.4426950407214463;k=+(e+(f>>>20)|0);i=l+k;a=i+(l+(k-i)+(g*1.4426950407214463+(g+a)*1.6751713164886512e-10))}return +a}function g$(a,b){a=+a;b=b|0;var d=0,e=0,f=0;h[j>>3]=a;d=c[j>>2]|0;e=c[j+4>>2]|0;f=y3(d|0,e|0,52)|0;switch(f&2047){case 0:{if(a!=0.0){a=+g$(a*18446744073709551616.0,b);d=(c[b>>2]|0)+-64|0}else d=0;c[b>>2]=d;break}case 2047:break;default:{c[b>>2]=(f&2047)+-1022;c[j>>2]=d;c[j+4>>2]=e&-2146435073|1071644672;a=+h[j>>3]}}return +a}function h$(a,b){a=+a;b=+b;var c=0.0,d=0.0,e=0.0,f=0.0;c=a*a;d=c*c;e=c*.5;f=1.0-e;return +(f+(1.0-f-e+(c*(c*(c*(c*2.480158728947673e-05+-.001388888888887411)+.0416666666666666)+d*d*(c*(2.087572321298175e-09-c*1.1359647557788195e-11)+-2.7557314351390663e-07))-a*b)))}function i$(a){a=+a;var b=0,d=0,e=0,f=0,g=0.0,i=0.0,k=0.0,l=0.0,m=0.0;h[j>>3]=a;b=c[j>>2]|0;d=c[j+4>>2]|0;e=(d|0)<0;do if(e|d>>>0<1048576){if((b|0)==0&(d&2147483647|0)==0){a=-1.0/(a*a);break}if(e){a=(a-a)/0.0;break}else{h[j>>3]=a*18014398509481984.0;d=c[j+4>>2]|0;e=-1077;b=c[j>>2]|0;f=9;break}}else if(d>>>0<=2146435071)if((b|0)==0&0==0&(d|0)==1072693248)a=0.0;else{e=-1023;f=9}while(0);if((f|0)==9){f=d+614242|0;c[j>>2]=b;c[j+4>>2]=(f&1048575)+1072079006;k=+h[j>>3]+-1.0;i=k*(k*.5);l=k/(k+2.0);m=l*l;g=m*m;h[j>>3]=k-i;d=c[j+4>>2]|0;c[j>>2]=0;c[j+4>>2]=d;a=+h[j>>3];g=k-a-i+l*(i+(g*(g*(g*.15313837699209373+.22222198432149784)+.3999999999940942)+m*(g*(g*(g*.14798198605116586+.1818357216161805)+.2857142874366239)+.6666666666666735)));m=a*.4342944818781689;i=+(e+(f>>>20)|0);l=i*.30102999566361177;k=l+m;a=k+(m+(l-k)+(g*.4342944818781689+(i*3.694239077158931e-13+(g+a)*2.5082946711645275e-11)))}return +a}function j$(a,b){a=+a;b=b|0;var d=0,e=0.0,f=0.0,g=0.0,i=0,k=0.0,m=0,n=0,o=0,p=0,q=0,r=0,s=0.0;r=l;l=l+48|0;m=r+16|0;n=r;h[j>>3]=a;d=c[j>>2]|0;i=c[j+4>>2]|0;o=y3(d|0,i|0,63)|0;q=i&2147483647;do if(q>>>0<1074752123)if((i&1048575|0)!=598523){d=(o|0)!=0;if(q>>>0<1073928573)if(d){g=a+1.5707963267341256;k=g+6.077100506506192e-11;h[b>>3]=k;h[b+8>>3]=g-k+6.077100506506192e-11;d=-1;break}else{g=a+-1.5707963267341256;k=g+-6.077100506506192e-11;h[b>>3]=k;h[b+8>>3]=g-k+-6.077100506506192e-11;d=1;break}else if(d){g=a+3.1415926534682512;k=g+1.2154201013012384e-10;h[b>>3]=k;h[b+8>>3]=g-k+1.2154201013012384e-10;d=-2;break}else{g=a+-3.1415926534682512;k=g+-1.2154201013012384e-10;h[b>>3]=k;h[b+8>>3]=g-k+-1.2154201013012384e-10;d=2;break}}else p=21;else{if(q>>>0<1075594812)if(q>>>0<1075183037){if((q|0)==1074977148){p=21;break}if(!o){g=a+-4.712388980202377;k=g+-1.8231301519518578e-10;h[b>>3]=k;h[b+8>>3]=g-k+-1.8231301519518578e-10;d=3;break}else{g=a+4.712388980202377;k=g+1.8231301519518578e-10;h[b>>3]=k;h[b+8>>3]=g-k+1.8231301519518578e-10;d=-3;break}}else{if((q|0)==1075388923){p=21;break}if(!o){g=a+-6.2831853069365025;k=g+-2.430840202602477e-10;h[b>>3]=k;h[b+8>>3]=g-k+-2.430840202602477e-10;d=4;break}else{g=a+6.2831853069365025;k=g+2.430840202602477e-10;h[b>>3]=k;h[b+8>>3]=g-k+2.430840202602477e-10;d=-4;break}}if(q>>>0>=1094263291){if(q>>>0>2146435071){k=a-a;h[b+8>>3]=k;h[b>>3]=k;d=0;break}c[j>>2]=d;c[j+4>>2]=i&1048575|1096810496;a=+h[j>>3];d=0;do{k=+(~~a|0);h[m+(d<<3)>>3]=k;a=(a-k)*16777216.0;d=d+1|0}while((d|0)!=2);h[m+16>>3]=a;if(a==0.0){d=1;while(1)if(+h[m+(d<<3)>>3]==0.0)d=d+-1|0;else break}else d=2;d=k$(m,n,(q>>>20)+-1046|0,d+1|0,1)|0;a=+h[n>>3];if(!o){h[b>>3]=a;h[b+8>>3]=+h[n+8>>3];break}else{h[b>>3]=-a;h[b+8>>3]=-+h[n+8>>3];d=0-d|0;break}}else p=21}while(0);if((p|0)==21){g=a*.6366197723675814+6755399441055744.0+-6755399441055744.0;d=~~g;e=a-g*1.5707963267341256;f=g*6.077100506506192e-11;a=e-f;h[b>>3]=a;h[j>>3]=a;p=y3(c[j>>2]|0,c[j+4>>2]|0,52)|0;i=q>>>20;if((i-(p&2047)|0)>16){f=g*6.077100506303966e-11;k=e-f;f=g*2.0222662487959506e-21-(e-k-f);a=k-f;h[b>>3]=a;h[j>>3]=a;q=y3(c[j>>2]|0,c[j+4>>2]|0,52)|0;s=g*2.0222662487111665e-21;e=k-s;g=g*8.4784276603689e-32-(k-e-s);if((i-(q&2047)|0)>49){a=e-g;h[b>>3]=a;f=g}else e=k}h[b+8>>3]=e-a-f}l=r;return d|0}function k$(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0.0,i=0.0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0.0;H=l;l=l+560|0;C=H+480|0;z=H+320|0;G=H+160|0;E=H;D=c[63116+(f<<2)>>2]|0;p=e+-1|0;y=(d+-3|0)/24|0;y=(y|0)>0?y:0;B=O(y,-24)|0;j=d+-24+B|0;if((D+p|0)>=0){n=D+e|0;k=y-p|0;m=0;while(1){if((k|0)<0)g=0.0;else g=+(c[63132+(k<<2)>>2]|0);h[z+(m<<3)>>3]=g;m=m+1|0;if((m|0)==(n|0))break;else k=k+1|0}}o=(e|0)>0;n=0;while(1){if(o){m=n+p|0;g=0.0;k=0;do{g=g+ +h[a+(k<<3)>>3]*+h[z+(m-k<<3)>>3];k=k+1|0}while((k|0)!=(e|0))}else g=0.0;h[E+(n<<3)>>3]=g;if((n|0)<(D|0))n=n+1|0;else break}t=(j|0)>0;u=24-j|0;v=23-j|0;w=(e|0)>0;x=(j|0)==0;k=D;a:while(1){g=+h[E+(k<<3)>>3];o=(k|0)>0;if(o){m=k;n=0;while(1){i=+(~~(g*5.9604644775390625e-08)|0);c[C+(n<<2)>>2]=~~(g-i*16777216.0);s=m;m=m+-1|0;g=+h[E+(m<<3)>>3]+i;if((s|0)<=1)break;else n=n+1|0}}g=+l$(g,j);g=g-+A(+(g*.125))*8.0;m=~~g;g=g-+(m|0);do if(!t)if(!x)if(!(g>=.5)){p=0;s=m;break}else{n=2;F=20;break}else{n=c[C+(k+-1<<2)>>2]>>23;F=19;break}else{s=C+(k+-1<<2)|0;n=c[s>>2]|0;F=n>>u;n=n-(F<>2]=n;n=n>>v;m=F+m|0;F=19}while(0);if((F|0)==19){F=0;if((n|0)>0)F=20;else{p=n;s=m}}if((F|0)==20){F=0;s=m+1|0;if(o){m=0;r=0;do{p=C+(r<<2)|0;q=c[p>>2]|0;if(!m)if(!q)m=0;else{m=1;o=16777216;F=23}else{o=16777215;F=23}if((F|0)==23){F=0;c[p>>2]=o-q}r=r+1|0}while((r|0)!=(k|0))}else m=0;b:do if(t){switch(j|0){case 1:{o=8388607;break}case 2:{o=4194303;break}default:break b}r=C+(k+-1<<2)|0;c[r>>2]=c[r>>2]&o}while(0);if((n|0)==2){g=1.0-g;if(!m)p=2;else{p=2;g=g-+l$(1.0,j)}}else p=n}if(!(g==0.0)){F=42;break}if((k|0)>(D|0)){m=0;n=k;do{n=n+-1|0;m=c[C+(n<<2)>>2]|m}while((n|0)>(D|0));if(m){F=41;break}else m=1}else m=1;while(1)if(!(c[C+(D-m<<2)>>2]|0))m=m+1|0;else break;o=m+k|0;if((m|0)<=0){k=o;continue}while(1){n=k+1|0;m=k+e|0;h[z+(m<<3)>>3]=+(c[63132+(n+y<<2)>>2]|0);if(w){g=0.0;k=0;do{g=g+ +h[a+(k<<3)>>3]*+h[z+(m-k<<3)>>3];k=k+1|0}while((k|0)!=(e|0))}else g=0.0;h[E+(n<<3)>>3]=g;if((n|0)<(o|0))k=n;else{k=o;continue a}}}if((F|0)==41)while(1){F=0;j=j+-24|0;k=k+-1|0;if(!(c[C+(k<<2)>>2]|0))F=41;else{o=k;break}}else if((F|0)==42){g=+l$(g,0-j|0);if(g>=16777216.0){i=+(~~(g*5.9604644775390625e-08)|0);c[C+(k<<2)>>2]=~~(g-i*16777216.0);j=B+d|0;k=k+1|0;g=i}c[C+(k<<2)>>2]=~~g;o=k}g=+l$(1.0,j);n=(o|0)>-1;if(n){j=o;while(1){h[E+(j<<3)>>3]=g*+(c[C+(j<<2)>>2]|0);if((j|0)>0){g=g*5.9604644775390625e-08;j=j+-1|0}else break}if(n){k=o;while(1){m=o-k|0;j=0;g=0.0;while(1){g=g+ +h[10904+(j<<3)>>3]*+h[E+(j+k<<3)>>3];if((j|0)>=(D|0)|(j|0)>=(m|0))break;else j=j+1|0}h[G+(m<<3)>>3]=g;if((k|0)>0)k=k+-1|0;else break}}}switch(f|0){case 0:{if(n){g=0.0;j=o;while(1){g=g+ +h[G+(j<<3)>>3];if((j|0)>0)j=j+-1|0;else break}}else g=0.0;i=(p|0)==0?g:-g;F=72;break}case 2:case 1:{if(n){g=0.0;j=o;while(1){g=g+ +h[G+(j<<3)>>3];if((j|0)>0)j=j+-1|0;else break}}else g=0.0;k=(p|0)==0;h[b>>3]=k?g:-g;g=+h[G>>3]-g;if((o|0)>=1){j=1;while(1){g=g+ +h[G+(j<<3)>>3];if((j|0)==(o|0))break;else j=j+1|0}}i=k?g:-g;b=b+8|0;F=72;break}case 3:{if((o|0)>0){j=o;g=+h[G+(o<<3)>>3];do{F=j;j=j+-1|0;E=G+(j<<3)|0;i=+h[E>>3];I=g;g=i+g;h[G+(F<<3)>>3]=I+(i-g);h[E>>3]=g}while((F|0)>1);k=(o|0)>1;if(k){j=o;g=+h[G+(o<<3)>>3];do{F=j;j=j+-1|0;E=G+(j<<3)|0;I=+h[E>>3];i=g;g=I+g;h[G+(F<<3)>>3]=i+(I-g);h[E>>3]=g}while((F|0)>2);if(k){j=o;i=0.0;while(1){i=i+ +h[G+(j<<3)>>3];if((j|0)>2)j=j+-1|0;else break}}else i=0.0}else i=0.0}else i=0.0;g=+h[G>>3];if(!p){h[b>>3]=g;g=+h[G+8>>3]}else{h[b>>3]=-g;i=-i;g=-+h[G+8>>3]}h[b+8>>3]=g;b=b+16|0;F=72;break}default:{}}if((F|0)==72)h[b>>3]=i;l=H;return s&7|0}function l$(a,b){a=+a;b=b|0;var d=0,e=0;if((b|0)<=1023){if((b|0)<-1022){a=a*2.2250738585072014e-308;e=(b|0)<-2044;d=b+2044|0;a=e?a*2.2250738585072014e-308:a;b=e?((d|0)>-1022?d:-1022):b+1022|0}}else{a=a*8988465674311579538646525.0e283;d=(b|0)>2046;e=b+-2046|0;a=d?a*8988465674311579538646525.0e283:a;b=d?((e|0)<1023?e:1023):b+-1023|0}d=z3(b+1023|0,0,52)|0;e=z;c[j>>2]=d;c[j+4>>2]=e;return +(a*+h[j>>3])}function m$(a){a=+a;var b=0,d=0,e=0,f=0.0,g=0.0;h[j>>3]=a;d=c[j+4>>2]|0;b=d&2147483647;do if(b>>>0>2146435071)a=a+a;else{if(b>>>0<1048576){h[j>>3]=a*18014398509481984.0;d=c[j+4>>2]|0;b=d&2147483647;if(!b)break;else e=696219795}else e=715094163;c[j>>2]=0;c[j+4>>2]=((b>>>0)/3|0)+e|d&-2147483648;f=+h[j>>3];g=f*f*(f/a);h[j>>3]=(g*(g*g)*(g*.14599619288661245+-.758397934778766)+(g*(g*1.6214297201053545+-1.8849797954337717)+1.87595182427177))*f;d=r3(c[j>>2]|0,c[j+4>>2]|0,-2147483648,0)|0;e=z;c[j>>2]=d&-1073741824;c[j+4>>2]=e;f=+h[j>>3];a=a/(f*f);a=(a-f)/(f+f+a)*f+f}while(0);return +a}function n$(a,b){a=+a;b=+b;var d=0,e=0;h[j>>3]=a;e=c[j>>2]|0;d=c[j+4>>2]|0;h[j>>3]=b;d=c[j+4>>2]&-2147483648|d&2147483647;c[j>>2]=e;c[j+4>>2]=d;return +(+h[j>>3])}function o$(a,b){a=+a;b=+b;return +(+n$(a,b))}function p$(a,b){a=+a;b=b|0;return +(+l$(a,b))}function q$(a,b){a=+a;b=+b;return +(+r$(a,b))}function r$(a,b){a=+a;b=+b;var d=0,e=0,f=0,g=0,i=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;h[j>>3]=a;i=c[j>>2]|0;l=c[j+4>>2]|0;h[j>>3]=b;n=c[j>>2]|0;o=c[j+4>>2]|0;e=y3(i|0,l|0,52)|0;e=e&2047;m=y3(n|0,o|0,52)|0;m=m&2047;p=l&-2147483648;g=z3(n|0,o|0,1)|0;k=z;a:do if(!((g|0)==0&(k|0)==0)?(f=s$(b)|0,d=z&2147483647,!((e|0)==2047|(d>>>0>2146435072|(d|0)==2146435072&f>>>0>0))):0){d=z3(i|0,l|0,1)|0;f=z;if(!(f>>>0>k>>>0|(f|0)==(k|0)&d>>>0>g>>>0))return +((d|0)==(g|0)&(f|0)==(k|0)?a*0.0:a);if(!e){d=z3(i|0,l|0,12)|0;f=z;if((f|0)>-1|(f|0)==-1&d>>>0>4294967295){e=0;do{e=e+-1|0;d=z3(d|0,f|0,1)|0;f=z}while((f|0)>-1|(f|0)==-1&d>>>0>4294967295)}else e=0;i=z3(i|0,l|0,1-e|0)|0;g=z}else g=l&1048575|1048576;if(!m){f=z3(n|0,o|0,12)|0;k=z;if((k|0)>-1|(k|0)==-1&f>>>0>4294967295){d=0;do{d=d+-1|0;f=z3(f|0,k|0,1)|0;k=z}while((k|0)>-1|(k|0)==-1&f>>>0>4294967295)}else d=0;n=z3(n|0,o|0,1-d|0)|0;m=d;l=z}else l=o&1048575|1048576;f=s3(i|0,g|0,n|0,l|0)|0;d=z;k=(d|0)>-1|(d|0)==-1&f>>>0>4294967295;b:do if((e|0)>(m|0)){while(1){if(k){if((f|0)==0&(d|0)==0)break}else{f=i;d=g}i=z3(f|0,d|0,1)|0;g=z;e=e+-1|0;f=s3(i|0,g|0,n|0,l|0)|0;d=z;k=(d|0)>-1|(d|0)==-1&f>>>0>4294967295;if((e|0)<=(m|0))break b}b=a*0.0;break a}while(0);if(k){if((f|0)==0&(d|0)==0){b=a*0.0;break}}else{d=g;f=i}if(d>>>0<1048576|(d|0)==1048576&f>>>0<0)do{f=z3(f|0,d|0,1)|0;d=z;e=e+-1|0}while(d>>>0<1048576|(d|0)==1048576&f>>>0<0);if((e|0)>0){o=r3(f|0,d|0,0,-1048576)|0;d=z;e=z3(e|0,0,52)|0;d=d|z;e=o|e}else{e=y3(f|0,d|0,1-e|0)|0;d=z}c[j>>2]=e;c[j+4>>2]=d|p;b=+h[j>>3]}else q=3;while(0);if((q|0)==3){b=a*b;b=b/b}return +b}function s$(a){a=+a;var b=0;h[j>>3]=a;b=c[j>>2]|0;z=c[j+4>>2]|0;return b|0}function t$(a,b){a=+a;b=+b;var d=0.0,e=0,f=0,g=0,i=0,k=0.0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;q=l;l=l+32|0;m=q+24|0;n=q+16|0;o=q+8|0;p=q;h[j>>3]=a;t=c[j>>2]|0;g=c[j+4>>2]|0;h[j>>3]=b;e=c[j>>2]|0;g=g&2147483647;f=c[j+4>>2]&2147483647;i=g>>>0>>0|(g|0)==(f|0)&t>>>0>>0;s=i?e:t;r=i?f:g;e=i?t:e;f=i?g:f;g=y3(s|0,r|0,52)|0;i=y3(e|0,f|0,52)|0;c[j>>2]=s;c[j+4>>2]=r;a=+h[j>>3];c[j>>2]=e;c[j+4>>2]=f;k=+h[j>>3];do if((i|0)!=2047){if(!((e|0)==0&(f|0)==0|(g|0)==2047)){if((g-i|0)>64){a=a+k;break}if((g|0)>1533){d=5260135901548373507240989.0e186;b=a*1.90109156629516e-211;a=k*1.90109156629516e-211}else{t=(i|0)<573;d=t?1.90109156629516e-211:1.0;b=t?a*5260135901548373507240989.0e186:a;a=t?k*5260135901548373507240989.0e186:k}u$(m,n,b);u$(o,p,a);a=d*+C(+(+h[p>>3]+ +h[n>>3]+ +h[o>>3]+ +h[m>>3]))}}else a=k;while(0);l=q;return +a}function u$(a,b,c){a=a|0;b=b|0;c=+c;var d=0.0,e=0.0;e=c*134217729.0;e=e+(c-e);d=c-e;c=c*c;h[a>>3]=c;h[b>>3]=d*d+(e*e-c+e*2.0*d);return}function v$(a,b,d){a=+a;b=b|0;d=d|0;var e=0.0,f=0,g=0,i=0.0,k=0,m=0;k=l;l=l+16|0;g=k;h[j>>3]=a;f=c[j+4>>2]&2147483647;do if(f>>>0<1072243196)if(f>>>0<1044816030){h[b>>3]=a;h[d>>3]=1.0;break}else{h[b>>3]=+e$(a,0.0,0);h[d>>3]=+h$(a,0.0);break}else{if(f>>>0>2146435071){i=a-a;h[d>>3]=i;h[b>>3]=i;break}f=j$(a,g)|0;m=g+8|0;e=+e$(+h[g>>3],+h[m>>3],1);a=+h$(+h[g>>3],+h[m>>3]);switch(f&3){case 0:{h[b>>3]=e;i=a;break}case 1:{h[b>>3]=a;i=-e;break}case 2:{h[b>>3]=-e;i=-a;break}case 3:{h[b>>3]=-a;i=e;break}default:{}}h[d>>3]=i}while(0);l=k;return}function w$(a,b){a=+a;b=b|0;return +(+g$(a,b))}function x$(a){a=a|0;if(a>>>0<131072)a=(d[143341+((d[143341+(a>>>8)>>0]|0)<<5|a>>>3&31)>>0]|0)>>>(a&7)&1;else a=0;return a|0}function y$(b,c,e){b=b|0;c=c|0;e=e|0;var f=0,g=0;if(!e)f=0;else{f=a[b>>0]|0;a:do if(!(f<<24>>24))f=0;else while(1){e=e+-1|0;g=a[c>>0]|0;if(!(f<<24>>24==g<<24>>24&((e|0)!=0&g<<24>>24!=0)))break a;b=b+1|0;c=c+1|0;f=a[b>>0]|0;if(!(f<<24>>24)){f=0;break}}while(0);f=(f&255)-(d[c>>0]|0)|0}return f|0}function z$(b,c){b=b|0;c=c|0;b=U_(b,c)|0;return ((a[b>>0]|0)==(c&255)<<24>>24?b:0)|0}function A$(a){a=a|0;return ((a|0)==32|(a+-9|0)>>>0<5)&1|0}function B$(a,b,c){a=a|0;b=b|0;c=c|0;c=E$(a,b,c,-1,0)|0;return c|0}function C$(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0;h=d&255;f=(e|0)!=0;a:do if(f&(b&3|0)!=0){g=d&255;while(1){if((a[b>>0]|0)==g<<24>>24){i=6;break a}b=b+1|0;e=e+-1|0;f=(e|0)!=0;if(!(f&(b&3|0)!=0)){i=5;break}}}else i=5;while(0);if((i|0)==5)if(f)i=6;else e=0;b:do if((i|0)==6){g=d&255;if((a[b>>0]|0)!=g<<24>>24){f=O(h,16843009)|0;c:do if(e>>>0>3)while(1){h=c[b>>2]^f;if((h&-2139062144^-2139062144)&h+-16843009|0)break;b=b+4|0;e=e+-4|0;if(e>>>0<=3){i=11;break c}}else i=11;while(0);if((i|0)==11)if(!e){e=0;break}while(1){if((a[b>>0]|0)==g<<24>>24)break b;b=b+1|0;e=e+-1|0;if(!e){e=0;break}}}}while(0);return (e|0?b:0)|0}function D$(a){a=a|0;return (a+-48|0)>>>0<10|0}function E$(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0;j=l;l=l+128|0;h=j;c[h>>2]=0;i=h+4|0;c[i>>2]=a;c[h+44>>2]=a;g=h+8|0;c[g>>2]=(a|0)<0?-1:a+2147483647|0;c[h+76>>2]=-1;F$(h,0);d=G$(h,d,1,e,f)|0;if(b|0)c[b>>2]=a+((c[i>>2]|0)+(c[h+108>>2]|0)-(c[g>>2]|0));l=j;return d|0}function F$(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;c[a+104>>2]=b;d=c[a+8>>2]|0;e=c[a+4>>2]|0;f=d-e|0;c[a+108>>2]=f;c[a+100>>2]=(b|0)!=0&(f|0)>(b|0)?e+b|0:d;return}function G$(b,e,f,g,h){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;a:do if(e>>>0>36){c[(N_()|0)>>2]=22;h=0;g=0}else{r=b+4|0;q=b+100|0;do{i=c[r>>2]|0;if(i>>>0<(c[q>>2]|0)>>>0){c[r>>2]=i+1;i=d[i>>0]|0}else i=H$(b)|0}while((A$(i)|0)!=0);b:do switch(i|0){case 43:case 45:{i=((i|0)==45)<<31>>31;j=c[r>>2]|0;if(j>>>0<(c[q>>2]|0)>>>0){c[r>>2]=j+1;p=i;i=d[j>>0]|0;break b}else{p=i;i=H$(b)|0;break b}}default:p=0}while(0);j=(e|0)==0;do if((e|16|0)==16&(i|0)==48){i=c[r>>2]|0;if(i>>>0<(c[q>>2]|0)>>>0){c[r>>2]=i+1;i=d[i>>0]|0}else i=H$(b)|0;if((i|32|0)!=120)if(j){e=8;n=46;break}else{n=32;break}i=c[r>>2]|0;if(i>>>0<(c[q>>2]|0)>>>0){c[r>>2]=i+1;i=d[i>>0]|0}else i=H$(b)|0;if((d[146510+i>>0]|0)>15){g=(c[q>>2]|0)==0;if(!g)c[r>>2]=(c[r>>2]|0)+-1;if(!f){F$(b,0);h=0;g=0;break a}if(g){h=0;g=0;break a}c[r>>2]=(c[r>>2]|0)+-1;h=0;g=0;break a}else{e=16;n=46}}else{e=j?10:e;if(e>>>0>(d[146510+i>>0]|0)>>>0)n=32;else{if(c[q>>2]|0)c[r>>2]=(c[r>>2]|0)+-1;F$(b,0);c[(N_()|0)>>2]=22;h=0;g=0;break a}}while(0);c:do if((n|0)==32)if((e|0)==10){e=i+-48|0;if(e>>>0<10){i=0;j=e;do{i=(i*10|0)+j|0;e=c[r>>2]|0;if(e>>>0<(c[q>>2]|0)>>>0){c[r>>2]=e+1;e=d[e>>0]|0}else e=H$(b)|0;j=e+-48|0}while(j>>>0<10&i>>>0<429496729);f=0}else{e=i;i=0;f=0}k=e+-48|0;if(k>>>0<10){j=e;do{e=q3(i|0,f|0,10,0)|0;l=z;m=((k|0)<0)<<31>>31;o=~m;if(l>>>0>o>>>0|(l|0)==(o|0)&e>>>0>~k>>>0){e=10;n=72;break c}i=r3(e|0,l|0,k|0,m|0)|0;f=z;e=c[r>>2]|0;if(e>>>0<(c[q>>2]|0)>>>0){c[r>>2]=e+1;j=d[e>>0]|0}else j=H$(b)|0;k=j+-48|0}while(k>>>0<10&(f>>>0<429496729|(f|0)==429496729&i>>>0<2576980378));if(k>>>0>9){j=p;e=f}else{e=10;n=72}}else{j=p;e=f}}else n=46;while(0);d:do if((n|0)==46){if(!(e+-1&e)){n=a[146766+((e*23|0)>>>5&7)>>0]|0;f=a[146510+i>>0]|0;j=f&255;if(e>>>0>j>>>0){i=0;k=j;do{i=k|i<>2]|0;if(j>>>0<(c[q>>2]|0)>>>0){c[r>>2]=j+1;j=d[j>>0]|0}else j=H$(b)|0;f=a[146510+j>>0]|0;k=f&255}while(i>>>0<134217728&e>>>0>k>>>0);k=0}else{j=i;k=0;i=0}l=y3(-1,-1,n|0)|0;m=z;if(e>>>0<=(f&255)>>>0|(m>>>0>>0|(m|0)==(k|0)&l>>>0>>0)){f=k;n=72;break}else j=k;while(1){i=z3(i|0,j|0,n|0)|0;k=z;i=i|f&255;j=c[r>>2]|0;if(j>>>0<(c[q>>2]|0)>>>0){c[r>>2]=j+1;j=d[j>>0]|0}else j=H$(b)|0;f=a[146510+j>>0]|0;if(e>>>0<=(f&255)>>>0|(k>>>0>m>>>0|(k|0)==(m|0)&i>>>0>l>>>0)){f=k;n=72;break d}else j=k}}f=a[146510+i>>0]|0;j=f&255;if(e>>>0>j>>>0){i=0;k=j;do{i=k+(O(i,e)|0)|0;j=c[r>>2]|0;if(j>>>0<(c[q>>2]|0)>>>0){c[r>>2]=j+1;j=d[j>>0]|0}else j=H$(b)|0;f=a[146510+j>>0]|0;k=f&255}while(i>>>0<119304647&e>>>0>k>>>0);k=0}else{j=i;i=0;k=0}if(e>>>0>(f&255)>>>0){n=v3(-1,-1,e|0,0)|0;o=z;m=k;while(1){if(m>>>0>o>>>0|(m|0)==(o|0)&i>>>0>n>>>0){f=m;n=72;break d}k=q3(i|0,m|0,e|0,0)|0;l=z;f=f&255;if(l>>>0>4294967295|(l|0)==-1&k>>>0>~f>>>0){f=m;n=72;break d}i=r3(k|0,l|0,f|0,0)|0;k=z;j=c[r>>2]|0;if(j>>>0<(c[q>>2]|0)>>>0){c[r>>2]=j+1;j=d[j>>0]|0}else j=H$(b)|0;f=a[146510+j>>0]|0;if(e>>>0<=(f&255)>>>0){f=k;n=72;break}else m=k}}else{f=k;n=72}}while(0);if((n|0)==72)if(e>>>0>(d[146510+j>>0]|0)>>>0){do{i=c[r>>2]|0;if(i>>>0<(c[q>>2]|0)>>>0){c[r>>2]=i+1;i=d[i>>0]|0}else i=H$(b)|0}while(e>>>0>(d[146510+i>>0]|0)>>>0);c[(N_()|0)>>2]=34;j=(g&1|0)==0&0==0?p:0;e=h;i=g}else{j=p;e=f}if(c[q>>2]|0)c[r>>2]=(c[r>>2]|0)+-1;if(!(e>>>0>>0|(e|0)==(h|0)&i>>>0>>0)){if(!((g&1|0)!=0|0!=0|(j|0)!=0)){c[(N_()|0)>>2]=34;g=r3(g|0,h|0,-1,-1)|0;h=z;break}if(e>>>0>h>>>0|(e|0)==(h|0)&i>>>0>g>>>0){c[(N_()|0)>>2]=34;break}}g=((j|0)<0)<<31>>31;g=s3(i^j|0,e^g|0,j|0,g|0)|0;h=z}while(0);z=h;return g|0}function H$(b){b=b|0;var e=0,f=0,g=0,h=0,i=0,j=0;f=b+104|0;h=c[f>>2]|0;if((h|0)!=0?(c[b+108>>2]|0)>=(h|0):0)i=4;else{e=I$(b)|0;if((e|0)>=0){g=c[f>>2]|0;f=b+8|0;if(g){j=c[f>>2]|0;h=c[b+4>>2]|0;f=g-(c[b+108>>2]|0)|0;g=j;if((j-h|0)<(f|0))f=g;else f=h+(f+-1)|0}else{g=c[f>>2]|0;f=g}c[b+100>>2]=f;f=b+4|0;if(!g)f=c[f>>2]|0;else{f=c[f>>2]|0;j=b+108|0;c[j>>2]=g+1-f+(c[j>>2]|0)}f=f+-1|0;if((e|0)!=(d[f>>0]|0|0))a[f>>0]=e}else i=4}if((i|0)==4){c[b+100>>2]=0;e=-1}return e|0}function I$(a){a=a|0;var b=0,e=0;e=l;l=l+16|0;b=e;if((J$(a)|0)==0?(nb[c[a+32>>2]&63](a,b,1)|0)==1:0)a=d[b>>0]|0;else a=-1;l=e;return a|0}function J$(b){b=b|0;var d=0,e=0;d=b+74|0;e=a[d>>0]|0;a[d>>0]=e+255|e;d=b+20|0;e=b+28|0;if((c[d>>2]|0)>>>0>(c[e>>2]|0)>>>0)nb[c[b+36>>2]&63](b,0,0)|0;c[b+16>>2]=0;c[e>>2]=0;c[d>>2]=0;d=c[b>>2]|0;if(!(d&4)){e=(c[b+44>>2]|0)+(c[b+48>>2]|0)|0;c[b+8>>2]=e;c[b+4>>2]=e;d=d<<27>>31}else{c[b>>2]=d|32;d=-1}return d|0}function K$(a){a=a|0;return (a+-48|0)>>>0<10|0}function L$(a){a=a|0;if(!(M$(a)|0))a=(D$(a)|0)!=0&1;else a=1;return a|0}function M$(a){a=a|0;return ((a|32)+-97|0)>>>0<26|0}function N$(b,c){b=b|0;c=c|0;var e=0,f=0,g=0;e=a[b>>0]|0;a:do if(!(e<<24>>24))b=0;else{g=b;b=e;f=e&255;while(1){e=a[c>>0]|0;if(!(e<<24>>24))break a;if(b<<24>>24!=e<<24>>24?(f=O$(f)|0,(f|0)!=(O$(d[c>>0]|0)|0)):0)break;b=g+1|0;c=c+1|0;e=a[b>>0]|0;if(!(e<<24>>24)){b=0;break a}else{g=b;b=e;f=e&255}}b=a[g>>0]|0}while(0);g=O$(b&255)|0;return g-(O$(d[c>>0]|0)|0)|0}function O$(a){a=a|0;var b=0;b=(P$(a)|0)==0;return (b?a:a|32)|0}function P$(a){a=a|0;return (a+-65|0)>>>0<26|0}function Q$(a){a=a|0;return R$(a,0)|0}function R$(c,f){c=c|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0;k=(f<<1)+-1|0;l=f+-1|0;a:do if(!((c+-43008|0)>>>0<22272|((c+-11776|0)>>>0<30784|((c+-1536|0)>>>0<2560|(S$(c)|0)==0)))){g=(f|0)!=0;if(g&(c+-4256|0)>>>0<46){if((c|0)>4293)switch(c|0){case 4295:case 4301:break;default:break a}c=c+7264|0;break}if((c+-11520|0)>>>0<38&(g^1)){c=c+-7264|0;break}else g=0;do{i=a[66242+(g<<2)+2>>0]|0;j=i<<24>>24;h=c-(e[66242+(g<<2)>>1]|0)|0;if((h-(l&j)|0)>>>0<(d[66242+(g<<2)+3>>0]|0)>>>0){m=11;break}g=g+1|0}while((g|0)!=61);if((m|0)==11)if(i<<24>>24==1){c=f+c-(h&1)|0;break}else{c=(O(k,j)|0)+c|0;break}i=1-f|0;g=b[65754+(i<<1)>>1]|0;b:do if(g<<16>>16){h=0;while(1){if((g&65535|0)==(c|0))break;h=h+1|0;g=b[65754+(h<<2)+(i<<1)>>1]|0;if(!(g<<16>>16))break b}c=e[65754+(h<<2)+(f<<1)>>1]|0;break a}while(0);return ((c+-66600+(f*40|0)|0)>>>0<40?c+-40+(f*80|0)|0:c)|0}while(0);return c|0}function S$(a){a=a|0;if(a>>>0<131072)a=(d[146775+((d[146775+(a>>>8)>>0]|0)<<5|a>>>3&31)>>0]|0)>>>(a&7)&1;else a=a>>>0<196606&1;return a|0}function T$(a){a=a|0;var b=0;b=a;while(1)if(!(c[b>>2]|0))break;else b=b+4|0;return b-a>>2|0}function U$(b,c,e){b=b|0;c=c|0;e=e|0;var f=0,g=0,h=0;if(!e)b=0;else{f=a[b>>0]|0;a:do if(!(f<<24>>24))b=0;else{h=b;b=f;f=f&255;while(1){e=e+-1|0;g=a[c>>0]|0;if(!((e|0)!=0&g<<24>>24!=0))break a;if(b<<24>>24!=g<<24>>24?(g=O$(f)|0,(g|0)!=(O$(d[c>>0]|0)|0)):0)break;b=h+1|0;c=c+1|0;f=a[b>>0]|0;if(!(f<<24>>24)){b=0;break a}else{h=b;b=f;f=f&255}}b=a[h>>0]|0}while(0);b=O$(b&255)|0;b=b-(O$(d[c>>0]|0)|0)|0}return b|0}function V$(a){a=a|0;if(a>>>0>=255)if((a+-57344|0)>>>0<8185|(a>>>0<8232|(a+-8234|0)>>>0<47062))a=1;else return (a&65534|0)!=65534&(a+-65532|0)>>>0<1048580&1|0;else a=(a+1&127)>>>0>32&1;return a|0}function W$(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,m=0;k=l;l=l+16|0;g=k;i=(f|0)==0?187560:f;f=c[i>>2]|0;a:do if(!d)if(!f)f=0;else j=17;else{h=(b|0)==0?g:b;if(!e)f=-2;else{if(!f){f=a[d>>0]|0;if(f<<24>>24>-1){c[h>>2]=f&255;f=f<<24>>24!=0&1;break}g=(c[c[(_$()|0)+188>>2]>>2]|0)==0;f=a[d>>0]|0;if(g){c[h>>2]=f<<24>>24&57343;f=1;break}f=(f&255)+-194|0;if(f>>>0>50){j=17;break}f=c[62280+(f<<2)>>2]|0;g=e+-1|0;if(g){d=d+1|0;j=11}}else{g=e;j=11}b:do if((j|0)==11){b=a[d>>0]|0;m=(b&255)>>>3;if((m+-16|m+(f>>26))>>>0>7){j=17;break a}while(1){d=d+1|0;f=(b&255)+-128|f<<6;g=g+-1|0;if((f|0)>=0)break;if(!g)break b;b=a[d>>0]|0;if((b&-64)<<24>>24!=-128){j=17;break a}}c[i>>2]=0;c[h>>2]=f;f=e-g|0;break a}while(0);c[i>>2]=f;f=-2}}while(0);if((j|0)==17){c[i>>2]=0;c[(N_()|0)>>2]=84;f=-1}l=k;return f|0}function X$(a,b){a=a|0;b=b|0;if(!a)a=0;else a=Y$(a,b,0)|0;return a|0}function Y$(b,d,e){b=b|0;d=d|0;e=e|0;do if(b){if(d>>>0<128){a[b>>0]=d;b=1;break}if(!(c[c[(Z$()|0)+188>>2]>>2]|0))if((d&-128|0)==57216){a[b>>0]=d;b=1;break}else{c[(N_()|0)>>2]=84;b=-1;break}if(d>>>0<2048){a[b>>0]=d>>>6|192;a[b+1>>0]=d&63|128;b=2;break}if(d>>>0<55296|(d&-8192|0)==57344){a[b>>0]=d>>>12|224;a[b+1>>0]=d>>>6&63|128;a[b+2>>0]=d&63|128;b=3;break}if((d+-65536|0)>>>0<1048576){a[b>>0]=d>>>18|240;a[b+1>>0]=d>>>12&63|128;a[b+2>>0]=d>>>6&63|128;a[b+3>>0]=d&63|128;b=4;break}else{c[(N_()|0)>>2]=84;b=-1;break}}else b=1;while(0);return b|0}function Z$(){return d$()|0}function _$(){return d$()|0}function $$(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0;p=l;l=l+272|0;n=p+8|0;o=p;do if(!(a[d>>0]|0)){d=Ta(149751)|0;if(d|0?a[d>>0]|0:0)break;d=Ta(149758+(b*12|0)|0)|0;if(d|0?a[d>>0]|0:0)break;d=Ta(149830)|0;if(d|0?a[d>>0]|0:0)break;d=149835}while(0);e=0;a:do{switch(a[d+e>>0]|0){case 47:case 0:break a;default:{}}e=e+1|0}while(e>>>0<15);f=a[d>>0]|0;if(f<<24>>24!=46?(a[d+e>>0]|0)==0:0)if(f<<24>>24==67)m=15;else{k=d;m=16}else{d=149835;m=15}if((m|0)==15)if(!(a[d+1>>0]|0))m=18;else{k=d;m=16}b:do if((m|0)==16)if((a$(k,149835)|0)!=0?(a$(k,149843)|0)!=0:0){d=c[46891]|0;if(d|0)do{if(!(a$(k,d+8|0)|0))break b;d=c[d+24>>2]|0}while((d|0)!=0);ta(187568);d=c[46891]|0;c:do if(d|0){while(1){if(!(a$(k,d+8|0)|0))break;d=c[d+24>>2]|0;if(!d)break c}La(187568);break b}while(0);d:do if(((c[46876]|0)==0?(g=Ta(149849)|0,(g|0)!=0):0)?(a[g>>0]|0)!=0:0){i=254-e|0;j=e+1|0;f=g;while(1){h=U_(f,58)|0;d=a[h>>0]|0;g=h-f+((d<<24>>24!=0)<<31>>31)|0;if(g>>>0>>0){E3(n|0,f|0,g|0)|0;f=n+g|0;a[f>>0]=47;E3(f+1|0,k|0,e|0)|0;a[n+(j+g)>>0]=0;f=ua(n|0,o|0)|0;if(f|0)break;d=a[h>>0]|0}f=h+(d<<24>>24!=0&1)|0;if(!(a[f>>0]|0)){m=41;break d}}d=B_(28)|0;if(!d){R_(f,c[o>>2]|0)|0;m=41;break}else{c[d>>2]=f;c[d+4>>2]=c[o>>2];o=d+8|0;E3(o|0,k|0,e|0)|0;a[o+e>>0]=0;c[d+24>>2]=c[46891];c[46891]=d;break}}else m=41;while(0);if((m|0)==41){d=B_(28)|0;if(d){c[d>>2]=c[15558];c[d+4>>2]=c[15559];o=d+8|0;E3(o|0,k|0,e|0)|0;a[o+e>>0]=0;c[d+24>>2]=c[46891];c[46891]=d}}La(187568);d=(b|0)==0&(d|0)==0?62232:d}else{d=k;m=18}while(0);do if((m|0)==18){if((b|0)==0?(a[d+1>>0]|0)==46:0){d=62232;break}d=0}while(0);l=p;return d|0}function a0(a,b){a=a|0;b=b|0;b0(a,b)|0;return a|0}function b0(b,d){b=b|0;d=d|0;var e=0,f=0;e=d;a:do if(!((e^b)&3)){if(e&3)do{e=a[d>>0]|0;a[b>>0]=e;if(!(e<<24>>24))break a;d=d+1|0;b=b+1|0}while((d&3|0)!=0);e=c[d>>2]|0;if(!((e&-2139062144^-2139062144)&e+-16843009)){f=b;while(1){d=d+4|0;b=f+4|0;c[f>>2]=e;e=c[d>>2]|0;if((e&-2139062144^-2139062144)&e+-16843009|0)break;else f=b}}f=8}else f=8;while(0);if((f|0)==8){f=a[d>>0]|0;a[b>>0]=f;if(f<<24>>24)do{d=d+1|0;b=b+1|0;f=a[d>>0]|0;a[b>>0]=f}while(f<<24>>24!=0)}return b|0}function c0(a){a=a|0;return ((a|0)==32|(a|0)==9)&1|0}function d0(a){a=a|0;if(!a)a=0;else a=(e0(63396,a)|0)!=0&1;return a|0}function e0(a,b){a=a|0;b=b|0;var d=0;if(!b)a=a+((T$(a)|0)<<2)|0;else{while(1){d=c[a>>2]|0;if((d|0)==0|(d|0)==(b|0))break;else a=a+4|0}a=d|0?a:0}return a|0}function f0(a,b){a=a|0;b=b|0;do switch(b|0){case 1:{a=g0(a)|0;break}case 2:{a=S$(a)|0;break}case 3:{a=h0(a)|0;break}case 4:{a=i0(a)|0;break}case 5:{a=K$(a)|0;break}case 6:{a=j0(a)|0;break}case 7:{a=k0(a)|0;break}case 8:{a=V$(a)|0;break}case 9:{a=x$(a)|0;break}case 10:{a=d0(a)|0;break}case 11:{a=l0(a)|0;break}case 12:{a=m0(a)|0;break}default:a=0}while(0);return a|0}function g0(a){a=a|0;if(!(K$(a)|0))a=(S$(a)|0)!=0&1;else a=1;return a|0}function h0(a){a=a|0;return c0(a)|0}function i0(a){a=a|0;return ((a+-65529|0)>>>0<3|((a&-2|0)==8232|(a>>>0<32|(a+-127|0)>>>0<33)))&1|0}function j0(a){a=a|0;if(!(d0(a)|0))a=(V$(a)|0)!=0&1;else a=0;return a|0}function k0(a){a=a|0;return (Q$(a)|0)!=(a|0)|0}function l0(a){a=a|0;return (n0(a)|0)!=(a|0)|0}function m0(a){a=a|0;return ((a+-48|0)>>>0<10|((a|32)+-97|0)>>>0<6)&1|0}function n0(a){a=a|0;return R$(a,1)|0}function o0(a){a=a|0;return (a+-97|0)>>>0<26|0}function p0(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,m=0,n=0;n=l;l=l+128|0;g=n+124|0;m=n;h=m;i=63484;j=h+124|0;do{c[h>>2]=c[i>>2];h=h+4|0;i=i+4|0}while((h|0)<(j|0));if((d+-1|0)>>>0>2147483646)if(!d){b=g;d=1;k=4}else{c[(N_()|0)>>2]=75;d=-1}else k=4;if((k|0)==4){k=-2-b|0;k=d>>>0>k>>>0?k:d;c[m+48>>2]=k;g=m+20|0;c[g>>2]=b;c[m+44>>2]=b;d=b+k|0;b=m+16|0;c[b>>2]=d;c[m+28>>2]=d;d=q0(m,e,f)|0;if(k){m=c[g>>2]|0;a[m+(((m|0)==(c[b>>2]|0))<<31>>31)>>0]=0}}l=n;return d|0}function q0(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;s=l;l=l+224|0;n=s+120|0;p=s+80|0;q=s;r=s+136|0;f=p;g=f+40|0;do{c[f>>2]=0;f=f+4|0}while((f|0)<(g|0));c[n>>2]=c[e>>2];if((r0(0,d,n,q,p)|0)<0)e=-1;else{if((c[b+76>>2]|0)>-1)o=s0(b)|0;else o=0;e=c[b>>2]|0;m=e&32;if((a[b+74>>0]|0)<1)c[b>>2]=e&-33;f=b+48|0;if(!(c[f>>2]|0)){g=b+44|0;h=c[g>>2]|0;c[g>>2]=r;i=b+28|0;c[i>>2]=r;j=b+20|0;c[j>>2]=r;c[f>>2]=80;k=b+16|0;c[k>>2]=r+80;e=r0(b,d,n,q,p)|0;if(h){nb[c[b+36>>2]&63](b,0,0)|0;e=(c[j>>2]|0)==0?-1:e;c[g>>2]=h;c[f>>2]=0;c[k>>2]=0;c[i>>2]=0;c[j>>2]=0}}else e=r0(b,d,n,q,p)|0;f=c[b>>2]|0;c[b>>2]=f|m;if(o|0)t0(b);e=(f&32|0)==0?e:-1}l=s;return e|0}function r0(d,e,f,g,i){d=d|0;e=e|0;f=f|0;g=g|0;i=i|0;var j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0;I=l;l=l+64|0;D=I+16|0;E=I;A=I+24|0;G=I+8|0;H=I+20|0;c[D>>2]=e;w=(d|0)!=0;x=A+40|0;y=x;A=A+39|0;B=G+4|0;j=0;e=0;m=0;a:while(1){do if((e|0)>-1)if((j|0)>(2147483647-e|0)){c[(N_()|0)>>2]=75;e=-1;break}else{e=j+e|0;break}while(0);r=c[D>>2]|0;j=a[r>>0]|0;if(!(j<<24>>24)){v=88;break}else k=r;b:while(1){switch(j<<24>>24){case 37:{j=k;v=9;break b}case 0:{j=k;break b}default:{}}u=k+1|0;c[D>>2]=u;j=a[u>>0]|0;k=u}c:do if((v|0)==9)while(1){v=0;if((a[k+1>>0]|0)!=37)break c;j=j+1|0;k=k+2|0;c[D>>2]=k;if((a[k>>0]|0)!=37)break;else v=9}while(0);j=j-r|0;if(w)u0(d,r,j);if(j|0)continue;u=(D$(a[(c[D>>2]|0)+1>>0]|0)|0)==0;k=c[D>>2]|0;if(!u?(a[k+2>>0]|0)==36:0){s=(a[k+1>>0]|0)+-48|0;n=1;j=3}else{s=-1;n=m;j=1}j=k+j|0;c[D>>2]=j;k=a[j>>0]|0;u=(k<<24>>24)+-32|0;if(u>>>0>31|(1<>24)+-32|m;j=j+1|0;c[D>>2]=j;k=a[j>>0]|0;u=(k<<24>>24)+-32|0}while(!(u>>>0>31|(1<>24==42){if((D$(a[j+1>>0]|0)|0)!=0?(F=c[D>>2]|0,(a[F+2>>0]|0)==36):0){j=F+1|0;c[i+((a[j>>0]|0)+-48<<2)>>2]=10;j=c[g+((a[j>>0]|0)+-48<<3)>>2]|0;k=1;n=F+3|0}else{if(n|0){e=-1;break}if(w){u=(c[f>>2]|0)+(4-1)&~(4-1);j=c[u>>2]|0;c[f>>2]=u+4}else j=0;k=0;n=(c[D>>2]|0)+1|0}c[D>>2]=n;t=(j|0)<0;u=t?0-j|0:j;m=t?m|8192:m;t=k;j=n}else{j=v0(D)|0;if((j|0)<0){e=-1;break}u=j;t=n;j=c[D>>2]|0}do if((a[j>>0]|0)==46){if((a[j+1>>0]|0)!=42){c[D>>2]=j+1;p=v0(D)|0;j=c[D>>2]|0;break}if(D$(a[j+2>>0]|0)|0?(C=c[D>>2]|0,(a[C+3>>0]|0)==36):0){p=C+2|0;c[i+((a[p>>0]|0)+-48<<2)>>2]=10;p=c[g+((a[p>>0]|0)+-48<<3)>>2]|0;j=C+4|0;c[D>>2]=j;break}if(t|0){e=-1;break a}if(w){q=(c[f>>2]|0)+(4-1)&~(4-1);j=c[q>>2]|0;c[f>>2]=q+4}else j=0;q=(c[D>>2]|0)+2|0;c[D>>2]=q;p=j;j=q}else p=-1;while(0);q=0;while(1){if(((a[j>>0]|0)+-65|0)>>>0>57){e=-1;break a}k=j;j=j+1|0;c[D>>2]=j;k=a[(a[k>>0]|0)+-65+(149862+(q*58|0))>>0]|0;n=k&255;if((n+-1|0)>>>0>=8)break;else q=n}if(!(k<<24>>24)){e=-1;break}o=(s|0)>-1;do if(k<<24>>24==19)if(o){e=-1;break a}else v=50;else{if(o){c[i+(s<<2)>>2]=n;o=g+(s<<3)|0;s=c[o+4>>2]|0;v=E;c[v>>2]=c[o>>2];c[v+4>>2]=s;v=50;break}if(!w){e=0;break a}w0(E,n,f);j=c[D>>2]|0}while(0);if((v|0)==50){v=0;if(!w){j=0;m=t;continue}}k=a[j+-1>>0]|0;k=(q|0)!=0&(k&15|0)==3?k&-33:k;j=m&-65537;s=(m&8192|0)==0?m:j;d:do switch(k|0){case 110:switch((q&255)<<24>>24){case 0:{c[c[E>>2]>>2]=e;j=0;m=t;continue a}case 1:{c[c[E>>2]>>2]=e;j=0;m=t;continue a}case 2:{j=c[E>>2]|0;c[j>>2]=e;c[j+4>>2]=((e|0)<0)<<31>>31;j=0;m=t;continue a}case 3:{b[c[E>>2]>>1]=e;j=0;m=t;continue a}case 4:{a[c[E>>2]>>0]=e;j=0;m=t;continue a}case 6:{c[c[E>>2]>>2]=e;j=0;m=t;continue a}case 7:{j=c[E>>2]|0;c[j>>2]=e;c[j+4>>2]=((e|0)<0)<<31>>31;j=0;m=t;continue a}default:{j=0;m=t;continue a}}case 112:{k=120;j=p>>>0>8?p:8;m=s|8;v=62;break}case 88:case 120:{j=p;m=s;v=62;break}case 111:{k=E;j=c[k>>2]|0;k=c[k+4>>2]|0;o=y0(j,k,x)|0;m=y-o|0;q=0;n=150326;p=(s&8|0)==0|(p|0)>(m|0)?p:m+1|0;m=s;v=68;break}case 105:case 100:{k=E;j=c[k>>2]|0;k=c[k+4>>2]|0;if((k|0)<0){j=s3(0,0,j|0,k|0)|0;k=z;m=E;c[m>>2]=j;c[m+4>>2]=k;m=1;n=150326;v=67;break d}else{m=(s&2049|0)!=0&1;n=(s&2048|0)==0?((s&1|0)==0?150326:150328):150327;v=67;break d}}case 117:{k=E;m=0;n=150326;j=c[k>>2]|0;k=c[k+4>>2]|0;v=67;break}case 99:{a[A>>0]=c[E>>2];r=A;q=0;n=150326;o=x;k=1;break}case 109:{k=b$(c[(N_()|0)>>2]|0)|0;v=72;break}case 115:{k=c[E>>2]|0;k=k|0?k:150336;v=72;break}case 67:{c[G>>2]=c[E>>2];c[B>>2]=0;c[E>>2]=G;p=-1;m=G;v=76;break}case 83:{j=c[E>>2]|0;if(!p){A0(d,32,u,0,s);j=0;v=85}else{m=j;v=76}break}case 65:case 71:case 70:case 69:case 97:case 103:case 102:case 101:{j=B0(d,+h[E>>3],u,p,s,k)|0;m=t;continue a}default:{q=0;n=150326;o=x;k=p;j=s}}while(0);e:do if((v|0)==62){s=E;r=c[s>>2]|0;s=c[s+4>>2]|0;o=x0(r,s,x,k&32)|0;n=(m&8|0)==0|(r|0)==0&(s|0)==0;q=n?0:2;n=n?150326:150326+(k>>4)|0;p=j;j=r;k=s;v=68}else if((v|0)==67){o=z0(j,k,x)|0;q=m;m=s;v=68}else if((v|0)==72){v=0;s=C$(k,0,p)|0;m=(s|0)==0;r=k;q=0;n=150326;o=m?k+p|0:s;k=m?p:s-k|0}else if((v|0)==76){v=0;o=m;j=0;k=0;while(1){n=c[o>>2]|0;if(!n)break;k=X$(H,n)|0;if((k|0)<0|k>>>0>(p-j|0)>>>0)break;j=k+j|0;if(p>>>0>j>>>0)o=o+4|0;else break}if((k|0)<0){e=-1;break a}A0(d,32,u,j,s);if(!j){j=0;v=85}else{n=0;while(1){k=c[m>>2]|0;if(!k){v=85;break e}k=X$(H,k)|0;n=k+n|0;if((n|0)>(j|0)){v=85;break e}u0(d,H,k);if(n>>>0>=j>>>0){v=85;break}else m=m+4|0}}}while(0);if((v|0)==68){v=0;k=(j|0)!=0|(k|0)!=0;j=(p|0)!=0|k;k=y-o+((k^1)&1)|0;r=j?o:x;o=x;k=j?((p|0)>(k|0)?p:k):p;j=(p|0)>-1?m&-65537:m}else if((v|0)==85){v=0;A0(d,32,u,j,s^8192);j=(u|0)>(j|0)?u:j;m=t;continue}p=o-r|0;o=(k|0)<(p|0)?p:k;s=o+q|0;m=(u|0)<(s|0)?s:u;A0(d,32,m,s,j);u0(d,n,q);A0(d,48,m,s,j^65536);A0(d,48,o,p,0);u0(d,r,p);A0(d,32,m,s,j^8192);j=m;m=t}f:do if((v|0)==88)if(!d)if(m){e=1;while(1){j=c[i+(e<<2)>>2]|0;if(!j)break;w0(g+(e<<3)|0,j,f);j=e+1|0;if((e|0)<9)e=j;else{e=j;break}}if((e|0)<10)while(1){if(c[i+(e<<2)>>2]|0){e=-1;break f}if((e|0)<9)e=e+1|0;else{e=1;break}}else e=1}else e=0;while(0);l=I;return e|0}function s0(a){a=a|0;return 0}function t0(a){a=a|0;return}function u0(a,b,d){a=a|0;b=b|0;d=d|0;if(!(c[a>>2]&32))D0(b,d,a)|0;return}function v0(b){b=b|0;var d=0,e=0;if(!(D$(a[c[b>>2]>>0]|0)|0))d=0;else{d=0;do{e=c[b>>2]|0;d=(d*10|0)+-48+(a[e>>0]|0)|0;e=e+1|0;c[b>>2]=e}while((D$(a[e>>0]|0)|0)!=0)}return d|0}function w0(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0.0;a:do if(b>>>0<=20)do switch(b|0){case 9:{e=(c[d>>2]|0)+(4-1)&~(4-1);b=c[e>>2]|0;c[d>>2]=e+4;c[a>>2]=b;break a}case 10:{e=(c[d>>2]|0)+(4-1)&~(4-1);b=c[e>>2]|0;c[d>>2]=e+4;e=a;c[e>>2]=b;c[e+4>>2]=((b|0)<0)<<31>>31;break a}case 11:{e=(c[d>>2]|0)+(4-1)&~(4-1);b=c[e>>2]|0;c[d>>2]=e+4;e=a;c[e>>2]=b;c[e+4>>2]=0;break a}case 12:{e=(c[d>>2]|0)+(8-1)&~(8-1);b=e;f=c[b>>2]|0;b=c[b+4>>2]|0;c[d>>2]=e+8;e=a;c[e>>2]=f;c[e+4>>2]=b;break a}case 13:{f=(c[d>>2]|0)+(4-1)&~(4-1);e=c[f>>2]|0;c[d>>2]=f+4;e=(e&65535)<<16>>16;f=a;c[f>>2]=e;c[f+4>>2]=((e|0)<0)<<31>>31;break a}case 14:{f=(c[d>>2]|0)+(4-1)&~(4-1);e=c[f>>2]|0;c[d>>2]=f+4;f=a;c[f>>2]=e&65535;c[f+4>>2]=0;break a}case 15:{f=(c[d>>2]|0)+(4-1)&~(4-1);e=c[f>>2]|0;c[d>>2]=f+4;e=(e&255)<<24>>24;f=a;c[f>>2]=e;c[f+4>>2]=((e|0)<0)<<31>>31;break a}case 16:{f=(c[d>>2]|0)+(4-1)&~(4-1);e=c[f>>2]|0;c[d>>2]=f+4;f=a;c[f>>2]=e&255;c[f+4>>2]=0;break a}case 17:{f=(c[d>>2]|0)+(8-1)&~(8-1);g=+h[f>>3];c[d>>2]=f+8;h[a>>3]=g;break a}case 18:{f=(c[d>>2]|0)+(8-1)&~(8-1);g=+h[f>>3];c[d>>2]=f+8;h[a>>3]=g;break a}default:break a}while(0);while(0);return}function x0(b,c,e,f){b=b|0;c=c|0;e=e|0;f=f|0;if(!((b|0)==0&(c|0)==0))do{e=e+-1|0;a[e>>0]=d[150374+(b&15)>>0]|0|f;b=y3(b|0,c|0,4)|0;c=z}while(!((b|0)==0&(c|0)==0));return e|0}function y0(b,c,d){b=b|0;c=c|0;d=d|0;if(!((b|0)==0&(c|0)==0))do{d=d+-1|0;a[d>>0]=b&7|48;b=y3(b|0,c|0,3)|0;c=z}while(!((b|0)==0&(c|0)==0));return d|0}function z0(b,c,d){b=b|0;c=c|0;d=d|0;var e=0;if(c>>>0>0|(c|0)==0&b>>>0>4294967295){while(1){e=w3(b|0,c|0,10,0)|0;d=d+-1|0;a[d>>0]=e&255|48;e=b;b=v3(b|0,c|0,10,0)|0;if(!(c>>>0>9|(c|0)==9&e>>>0>4294967295))break;else c=z}c=b}else c=b;if(c)while(1){d=d+-1|0;a[d>>0]=(c>>>0)%10|0|48;if(c>>>0<10)break;else c=(c>>>0)/10|0}return d|0}function A0(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0;g=l;l=l+256|0;f=g;if((c|0)>(d|0)&(e&73728|0)==0){e=c-d|0;G3(f|0,b<<24>>24|0,(e>>>0<256?e:256)|0)|0;if(e>>>0>255){b=c-d|0;do{u0(a,f,256);e=e+-256|0}while(e>>>0>255);e=b&255}u0(a,f,e)}l=g;return}function B0(b,e,f,g,h,i){b=b|0;e=+e;f=f|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0.0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0;H=l;l=l+560|0;m=H+8|0;u=H;G=H+524|0;F=G;n=H+512|0;c[u>>2]=0;E=n+12|0;C0(e)|0;if((z|0)<0){e=-e;C=1;B=150343}else{C=(h&2049|0)!=0&1;B=(h&2048|0)==0?((h&1|0)==0?150344:150349):150346}C0(e)|0;do if(0==0&(z&2146435072|0)==2146435072){G=(i&32|0)!=0;j=C+3|0;A0(b,32,f,j,h&-65537);u0(b,B,C);u0(b,e!=e|0.0!=0.0?(G?150511:150370):G?150362:150366,3);A0(b,32,f,j,h^8192)}else{r=+w$(e,u)*2.0;j=r!=0.0;if(j)c[u>>2]=(c[u>>2]|0)+-1;w=i|32;if((w|0)==97){p=i&32;s=(p|0)==0?B:B+9|0;q=C|2;j=12-g|0;do if(!(g>>>0>11|(j|0)==0)){e=8.0;do{j=j+-1|0;e=e*16.0}while((j|0)!=0);if((a[s>>0]|0)==45){e=-(e+(-r-e));break}else{e=r+e-e;break}}else e=r;while(0);k=c[u>>2]|0;j=(k|0)<0?0-k|0:k;j=z0(j,((j|0)<0)<<31>>31,E)|0;if((j|0)==(E|0)){j=n+11|0;a[j>>0]=48}a[j+-1>>0]=(k>>31&2)+43;o=j+-2|0;a[o>>0]=i+15;m=(g|0)<1;n=(h&8|0)==0;j=G;do{D=~~e;k=j+1|0;a[j>>0]=p|d[150374+D>>0];e=(e-+(D|0))*16.0;if((k-F|0)==1?!(n&(m&e==0.0)):0){a[k>>0]=46;j=j+2|0}else j=k}while(e!=0.0);if((g|0)!=0?(-2-F+j|0)<(g|0):0){k=j-F|0;j=g+2|0}else{j=j-F|0;k=j}E=E-o|0;F=E+q+j|0;A0(b,32,f,F,h);u0(b,s,q);A0(b,48,f,F,h^65536);u0(b,G,k);A0(b,48,j-k|0,0,0);u0(b,o,E);A0(b,32,f,F,h^8192);j=F;break}k=(g|0)<0?6:g;if(j){j=(c[u>>2]|0)+-28|0;c[u>>2]=j;e=r*268435456.0}else{e=r;j=c[u>>2]|0}D=(j|0)<0?m:m+288|0;m=D;do{y=~~e>>>0;c[m>>2]=y;m=m+4|0;e=(e-+(y>>>0))*1.0e9}while(e!=0.0);if((j|0)>0){n=D;p=m;while(1){o=(j|0)<29?j:29;j=p+-4|0;if(j>>>0>=n>>>0){m=0;do{x=z3(c[j>>2]|0,0,o|0)|0;x=r3(x|0,z|0,m|0,0)|0;y=z;v=w3(x|0,y|0,1e9,0)|0;c[j>>2]=v;m=v3(x|0,y|0,1e9,0)|0;j=j+-4|0}while(j>>>0>=n>>>0);if(m){n=n+-4|0;c[n>>2]=m}}m=p;while(1){if(m>>>0<=n>>>0)break;j=m+-4|0;if(!(c[j>>2]|0))m=j;else break}j=(c[u>>2]|0)-o|0;c[u>>2]=j;if((j|0)>0)p=m;else break}}else n=D;if((j|0)<0){g=((k+25|0)/9|0)+1|0;t=(w|0)==102;do{s=0-j|0;s=(s|0)<9?s:9;if(n>>>0>>0){o=(1<>>s;q=0;j=n;do{y=c[j>>2]|0;c[j>>2]=(y>>>s)+q;q=O(y&o,p)|0;j=j+4|0}while(j>>>0>>0);j=(c[n>>2]|0)==0?n+4|0:n;if(!q){n=j;j=m}else{c[m>>2]=q;n=j;j=m+4|0}}else{n=(c[n>>2]|0)==0?n+4|0:n;j=m}m=t?D:n;m=(j-m>>2|0)>(g|0)?m+(g<<2)|0:j;j=(c[u>>2]|0)+s|0;c[u>>2]=j}while((j|0)<0);j=n;g=m}else{j=n;g=m}y=D;if(j>>>0>>0){m=(y-j>>2)*9|0;o=c[j>>2]|0;if(o>>>0>=10){n=10;do{n=n*10|0;m=m+1|0}while(o>>>0>=n>>>0)}}else m=0;t=(w|0)==103;v=(k|0)!=0;n=k-((w|0)!=102?m:0)+((v&t)<<31>>31)|0;if((n|0)<(((g-y>>2)*9|0)+-9|0)){n=n+9216|0;s=D+4+(((n|0)/9|0)+-1024<<2)|0;n=(n|0)%9|0;if((n|0)<8){o=10;while(1){o=o*10|0;if((n|0)<7)n=n+1|0;else break}}else o=10;p=c[s>>2]|0;q=(p>>>0)%(o>>>0)|0;n=(s+4|0)==(g|0);if(!(n&(q|0)==0)){r=(((p>>>0)/(o>>>0)|0)&1|0)==0?9007199254740992.0:9007199254740994.0;x=(o|0)/2|0;e=q>>>0>>0?.5:n&(q|0)==(x|0)?1.0:1.5;if(C){x=(a[B>>0]|0)==45;e=x?-e:e;r=x?-r:r}n=p-q|0;c[s>>2]=n;if(r+e!=r){x=n+o|0;c[s>>2]=x;if(x>>>0>999999999){m=s;while(1){n=m+-4|0;c[m>>2]=0;if(n>>>0>>0){j=j+-4|0;c[j>>2]=0}x=(c[n>>2]|0)+1|0;c[n>>2]=x;if(x>>>0>999999999)m=n;else break}}else n=s;m=(y-j>>2)*9|0;p=c[j>>2]|0;if(p>>>0>=10){o=10;do{o=o*10|0;m=m+1|0}while(p>>>0>=o>>>0)}}else n=s}else n=s;n=n+4|0;n=g>>>0>n>>>0?n:g;x=j}else{n=g;x=j}w=n;while(1){if(w>>>0<=x>>>0){u=0;break}j=w+-4|0;if(!(c[j>>2]|0))w=j;else{u=1;break}}g=0-m|0;do if(t){j=k+((v^1)&1)|0;if((j|0)>(m|0)&(m|0)>-5){o=i+-1|0;k=j+-1-m|0}else{o=i+-2|0;k=j+-1|0}j=h&8;if(!j){if(u?(A=c[w+-4>>2]|0,(A|0)!=0):0)if(!((A>>>0)%10|0)){n=0;j=10;do{j=j*10|0;n=n+1|0}while(!((A>>>0)%(j>>>0)|0|0))}else n=0;else n=9;j=((w-y>>2)*9|0)+-9|0;if((o|32|0)==102){s=j-n|0;s=(s|0)>0?s:0;k=(k|0)<(s|0)?k:s;s=0;break}else{s=j+m-n|0;s=(s|0)>0?s:0;k=(k|0)<(s|0)?k:s;s=0;break}}else s=j}else{o=i;s=h&8}while(0);t=k|s;p=(t|0)!=0&1;q=(o|32|0)==102;if(q){v=0;j=(m|0)>0?m:0}else{j=(m|0)<0?g:m;j=z0(j,((j|0)<0)<<31>>31,E)|0;n=E;if((n-j|0)<2)do{j=j+-1|0;a[j>>0]=48}while((n-j|0)<2);a[j+-1>>0]=(m>>31&2)+43;j=j+-2|0;a[j>>0]=o;v=j;j=n-j|0}j=C+1+k+p+j|0;A0(b,32,f,j,h);u0(b,B,C);A0(b,48,f,j,h^65536);if(q){o=x>>>0>D>>>0?D:x;s=G+9|0;p=s;q=G+8|0;n=o;do{m=z0(c[n>>2]|0,0,s)|0;if((n|0)==(o|0)){if((m|0)==(s|0)){a[q>>0]=48;m=q}}else if(m>>>0>G>>>0){G3(G|0,48,m-F|0)|0;do m=m+-1|0;while(m>>>0>G>>>0)}u0(b,m,p-m|0);n=n+4|0}while(n>>>0<=D>>>0);if(t|0)u0(b,150390,1);if(n>>>0>>0&(k|0)>0)while(1){m=z0(c[n>>2]|0,0,s)|0;if(m>>>0>G>>>0){G3(G|0,48,m-F|0)|0;do m=m+-1|0;while(m>>>0>G>>>0)}u0(b,m,(k|0)<9?k:9);n=n+4|0;m=k+-9|0;if(!(n>>>0>>0&(k|0)>9)){k=m;break}else k=m}A0(b,48,k+9|0,9,0)}else{t=u?w:x+4|0;if((k|0)>-1){u=G+9|0;s=(s|0)==0;g=u;p=0-F|0;q=G+8|0;o=x;do{m=z0(c[o>>2]|0,0,u)|0;if((m|0)==(u|0)){a[q>>0]=48;m=q}do if((o|0)==(x|0)){n=m+1|0;u0(b,m,1);if(s&(k|0)<1){m=n;break}u0(b,150390,1);m=n}else{if(m>>>0<=G>>>0)break;G3(G|0,48,m+p|0)|0;do m=m+-1|0;while(m>>>0>G>>>0)}while(0);F=g-m|0;u0(b,m,(k|0)>(F|0)?F:k);k=k-F|0;o=o+4|0}while(o>>>0>>0&(k|0)>-1)}A0(b,48,k+18|0,18,0);u0(b,v,E-v|0)}A0(b,32,f,j,h^8192)}while(0);l=H;return ((j|0)<(f|0)?f:j)|0}function C0(a){a=+a;var b=0;h[j>>3]=a;b=c[j>>2]|0;z=c[j+4>>2]|0;return b|0}function D0(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0;f=e+16|0;g=c[f>>2]|0;if(!g)if(!(E0(e)|0)){g=c[f>>2]|0;h=5}else f=0;else h=5;a:do if((h|0)==5){j=e+20|0;i=c[j>>2]|0;f=i;if((g-i|0)>>>0>>0){f=nb[c[e+36>>2]&63](e,b,d)|0;break}b:do if((a[e+75>>0]|0)>-1){i=d;while(1){if(!i){h=0;g=b;break b}g=i+-1|0;if((a[b+g>>0]|0)==10)break;else i=g}f=nb[c[e+36>>2]&63](e,b,i)|0;if(f>>>0>>0)break a;h=i;g=b+i|0;d=d-i|0;f=c[j>>2]|0}else{h=0;g=b}while(0);E3(f|0,g|0,d|0)|0;c[j>>2]=(c[j>>2]|0)+d;f=h+d|0}while(0);return f|0}function E0(b){b=b|0;var d=0,e=0;d=b+74|0;e=a[d>>0]|0;a[d>>0]=e+255|e;d=c[b>>2]|0;if(!(d&8)){c[b+8>>2]=0;c[b+4>>2]=0;e=c[b+44>>2]|0;c[b+28>>2]=e;c[b+20>>2]=e;c[b+16>>2]=e+(c[b+48>>2]|0);b=0}else{c[b>>2]=d|32;b=-1}return b|0}function F0(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;e=a+20|0;f=c[e>>2]|0;a=(c[a+16>>2]|0)-f|0;a=a>>>0>d>>>0?d:a;E3(f|0,b|0,a|0)|0;c[e>>2]=(c[e>>2]|0)+a;return d|0}function G0(b){b=b|0;var c=0,d=0,e=0,f=0;e=a[b>>0]|0;c=1;d=150392;f=97;while(1){if(e<<24>>24==f<<24>>24?(a$(b,d)|0)==0:0)break;d=d+6|0;f=a[d>>0]|0;if(!(f<<24>>24)){c=0;break}else c=c+1|0}return c|0}function H0(a){a=a|0;var b=0;b=(o0(a)|0)==0;return (b?a:a&95)|0}function I0(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0;h=l;l=l+16|0;g=h;do if(b>>>0>6)d=0;else{ta(187576);if((b|0)!=6){d=J0(b,d)|0;La(187576);break}if(!d){d=194052;b=0}else{b=g;e=150465;f=b+16|0;do{a[b>>0]=a[e>>0]|0;b=b+1|0;e=e+1|0}while((b|0)<(f|0));f=0;do{b=U_(d,59)|0;e=b-d|0;if((e|0)<16){E3(g|0,d|0,e|0)|0;a[g+e>>0]=0;d=(a[b>>0]|0)==0?d:b+1|0}J0(f,g)|0;f=f+1|0}while((f|0)!=6);d=194052;b=0}while(1){f=c[187536+(b<<2)>>2]|0;f=f|0?f+8|0:150481;e=V_(f)|0;E3(d|0,f|0,e|0)|0;f=d+e|0;a[f>>0]=59;b=b+1|0;if((b|0)==6)break;else d=d+(e+1)|0}a[f>>0]=0;La(187576);d=194052}while(0);l=h;return d|0}function J0(a,b){a=a|0;b=b|0;if(!b)a=c[187536+(a<<2)>>2]|0;else{b=$$(a,b)|0;c[187536+(a<<2)>>2]=b;a=b}return (a|0?a+8|0:150481)|0}function K0(b,c,d){b=b|0;c=c|0;d=d|0;var e=0,f=0;a:do if(!d)b=0;else{while(1){e=a[b>>0]|0;f=a[c>>0]|0;if(e<<24>>24!=f<<24>>24)break;d=d+-1|0;if(!d){b=0;break a}else{b=b+1|0;c=c+1|0}}b=(e&255)-(f&255)|0}while(0);return b|0}function L0(a){a=a|0;return M0(a)|0}function M0(a){a=a|0;return A3(a|0)|0}function N0(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;if((c[f+76>>2]|0)>-1)m=s0(f)|0;else m=0;g=e+-1|0;if((e|0)<2){n=f+74|0;l=a[n>>0]|0;a[n>>0]=l+255|l;if(m|0)t0(f);if(!g)a[b>>0]=0;else b=0}else{a:do if(g){k=f+4|0;l=f+8|0;e=b;while(1){h=c[k>>2]|0;o=h;p=(c[l>>2]|0)-o|0;i=C$(h,10,p)|0;j=(i|0)==0;i=j?p:1-o+i|0;i=i>>>0>>0?i:g;E3(e|0,h|0,i|0)|0;h=(c[k>>2]|0)+i|0;c[k>>2]=h;e=e+i|0;i=g-i|0;if(!(j&(i|0)!=0)){n=17;break a}if(h>>>0>=(c[l>>2]|0)>>>0){g=I$(f)|0;if((g|0)<0)break;else j=g}else{c[k>>2]=h+1;j=d[h>>0]|0}g=i+-1|0;h=e+1|0;a[e>>0]=j;if(!((g|0)!=0&(j&255|0)!=10)){e=h;n=17;break a}else e=h}if((e|0)!=(b|0)?(c[f>>2]&16|0)!=0:0)n=17;else b=0}else{e=b;n=17}while(0);if((n|0)==17)if(!b)b=0;else a[e>>0]=0;if(m)t0(f)}return b|0}function O0(b,c){b=b|0;c=c|0;var d=0;d=a[c>>0]|0;do if(d<<24>>24){b=z$(b,d<<24>>24)|0;if(b){if(a[c+1>>0]|0)if(a[b+1>>0]|0){if(!(a[c+2>>0]|0)){b=P0(b,c)|0;break}if(a[b+2>>0]|0){if(!(a[c+3>>0]|0)){b=Q0(b,c)|0;break}if(a[b+3>>0]|0)if(!(a[c+4>>0]|0)){b=R0(b,c)|0;break}else{b=S0(b,c)|0;break}else b=0}else b=0}else b=0}else b=0}while(0);return b|0}function P0(b,c){b=b|0;c=c|0;var e=0,f=0,g=0;g=(d[c>>0]|0)<<8|(d[c+1>>0]|0);f=d[b>>0]|0;while(1){c=b+1|0;e=a[c>>0]|0;if(!(e<<24>>24))break;f=f<<8&65280|e&255;if((f|0)==(g|0))break;else b=c}return (e<<24>>24?b:0)|0}function Q0(b,c){b=b|0;c=c|0;var e=0,f=0;f=(d[c+1>>0]|0)<<16|(d[c>>0]|0)<<24|(d[c+2>>0]|0)<<8;e=b+2|0;c=a[e>>0]|0;b=(d[b+1>>0]|0)<<16|(d[b>>0]|0)<<24|(c&255)<<8;if(!((b|0)==(f|0)|c<<24>>24==0))do{e=e+1|0;c=a[e>>0]|0;b=(b|c&255)<<8}while(!((b|0)==(f|0)|c<<24>>24==0));return (c<<24>>24?e+-2|0:0)|0}function R0(b,c){b=b|0;c=c|0;var e=0,f=0;f=(d[c+1>>0]|0)<<16|(d[c>>0]|0)<<24|(d[c+2>>0]|0)<<8|(d[c+3>>0]|0);c=b+3|0;e=a[c>>0]|0;b=(d[b+1>>0]|0)<<16|(d[b>>0]|0)<<24|(d[b+2>>0]|0)<<8|e&255;if(!(e<<24>>24==0|(b|0)==(f|0)))do{c=c+1|0;e=a[c>>0]|0;b=b<<8|e&255}while(!(e<<24>>24==0|(b|0)==(f|0)));return (e<<24>>24?c+-3|0:0)|0}function S0(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0;v=l;l=l+1056|0;t=v+1024|0;u=v;c[t>>2]=0;c[t+4>>2]=0;c[t+8>>2]=0;c[t+12>>2]=0;c[t+16>>2]=0;c[t+20>>2]=0;c[t+24>>2]=0;c[t+28>>2]=0;e=a[d>>0]|0;a:do if(e<<24>>24){s=0;do{if(!(a[b+s>>0]|0)){e=0;break a}r=t+(((e&255)>>>5&255)<<2)|0;c[r>>2]=c[r>>2]|1<<(e&31);s=s+1|0;c[u+((e&255)<<2)>>2]=s;e=a[d+s>>0]|0}while(e<<24>>24!=0);m=s>>>0>1;if(m){f=0;k=-1;g=1;b:while(1){h=1;e=f;while(1){f=g;c:while(1){j=1;while(1){g=a[d+(j+k)>>0]|0;i=a[d+f>>0]|0;if(g<<24>>24!=i<<24>>24)break c;if((j|0)==(h|0))break;j=j+1|0;f=j+e|0;if(f>>>0>=s>>>0){n=h;e=k;break b}}e=h+e|0;f=e+1|0;if(f>>>0>=s>>>0){n=h;e=k;break b}}h=f-k|0;if((g&255)<=(i&255))break;g=f+1|0;if(g>>>0>=s>>>0){n=h;e=k;break b}else e=f}g=e+2|0;if(g>>>0>=s>>>0){n=1;break}else{f=e+1|0;k=e}}if(m){h=0;m=-1;i=1;while(1){f=1;g=h;while(1){h=i;d:while(1){k=1;while(1){i=a[d+(k+m)>>0]|0;j=a[d+h>>0]|0;if(i<<24>>24!=j<<24>>24)break d;if((k|0)==(f|0))break;k=k+1|0;h=k+g|0;if(h>>>0>=s>>>0){i=n;g=m;h=26;break a}}g=f+g|0;h=g+1|0;if(h>>>0>=s>>>0){i=n;g=m;h=26;break a}}f=h-m|0;if((i&255)>=(j&255))break;i=h+1|0;if(i>>>0>=s>>>0){i=n;g=m;h=26;break a}else g=h}i=g+2|0;if(i>>>0>=s>>>0){i=n;f=1;h=26;break}else{h=g+1|0;m=g}}}else{i=n;f=1;g=-1;h=26}}else{i=1;e=-1;f=1;g=-1;h=26}}else{i=1;e=-1;s=0;f=1;g=-1;h=26}while(0);e:do if((h|0)==26){q=(g+1|0)>>>0>(e+1|0)>>>0;f=q?f:i;q=q?g:e;r=q+1|0;if(!(K0(d,d+f|0,r)|0))p=s-f|0;else{f=s-q+-1|0;p=0;f=(q>>>0>f>>>0?q:f)+1|0}k=s|63;m=s+-1|0;n=(p|0)!=0;o=s-f|0;e=b;j=0;g=b;while(1){h=e;do if((g-h|0)>>>0>>0){i=C$(g,0,k)|0;if(i)if((i-h|0)>>>0>>0){e=0;break e}else break;else{i=g+k|0;break}}else i=g;while(0);g=a[e+m>>0]|0;f:do if(!(1<<(g&31)&c[t+(((g&255)>>>5&255)<<2)>>2])){h=0;g=s}else{g=s-(c[u+((g&255)<<2)>>2]|0)|0;if(g|0){h=0;g=n&(j|0)!=0&g>>>0>>0?o:g;break}g=r>>>0>j>>>0?r:j;h=a[d+g>>0]|0;g:do if(!(h<<24>>24))g=r;else{while(1){if(h<<24>>24!=(a[e+g>>0]|0))break;g=g+1|0;h=a[d+g>>0]|0;if(!(h<<24>>24)){g=r;break g}}h=0;g=g-q|0;break f}while(0);while(1){if(g>>>0<=j>>>0)break e;g=g+-1|0;if((a[d+g>>0]|0)!=(a[e+g>>0]|0)){h=p;g=f;break}}}while(0);e=e+g|0;j=h;g=i}}while(0);l=v;return e|0}function T0(a,b,c){a=a|0;b=b|0;c=c|0;U0(a,b,c)|0;return a|0}function U0(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0;g=d;a:do if(!((g^b)&3)){f=(e|0)!=0;if(f&(g&3|0)!=0)do{g=a[d>>0]|0;a[b>>0]=g;if(!(g<<24>>24))break a;e=e+-1|0;d=d+1|0;b=b+1|0;f=(e|0)!=0}while(f&(d&3|0)!=0);if(f){if(a[d>>0]|0){b:do if(e>>>0>3){f=d;while(1){d=c[f>>2]|0;if((d&-2139062144^-2139062144)&d+-16843009|0){d=f;break b}c[b>>2]=d;e=e+-4|0;d=f+4|0;b=b+4|0;if(e>>>0>3)f=d;else break}}while(0);h=11}}else e=0}else h=11;while(0);c:do if((h|0)==11)if(!e)e=0;else while(1){h=a[d>>0]|0;a[b>>0]=h;if(!(h<<24>>24))break c;e=e+-1|0;b=b+1|0;if(!e){e=0;break}else d=d+1|0}while(0);G3(b|0,0,e|0)|0;return b|0}function V0(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0;g=l;l=l+32|0;f=g;c[f>>2]=0;c[f+4>>2]=0;c[f+8>>2]=0;c[f+12>>2]=0;c[f+16>>2]=0;c[f+20>>2]=0;c[f+24>>2]=0;c[f+28>>2]=0;e=a[d>>0]|0;do if(!(e<<24>>24))d=0;else{if(!(a[d+1>>0]|0)){d=b;while(1)if((a[d>>0]|0)==e<<24>>24)d=d+1|0;else break;d=d-b|0;break}do{h=f+(((e&255)>>>5&255)<<2)|0;c[h>>2]=c[h>>2]|1<<(e&31);d=d+1|0;e=a[d>>0]|0}while(e<<24>>24!=0);e=a[b>>0]|0;a:do if(!(e<<24>>24))d=b;else{d=b;do{if(!(c[f+(((e&255)>>>5&255)<<2)>>2]&1<<(e&31)))break a;d=d+1|0;e=a[d>>0]|0}while(e<<24>>24!=0)}while(0);d=d-b|0}while(0);l=g;return d|0}function W0(a){a=a|0;var b=0,d=0;b=l;l=l+16|0;d=b;c[d>>2]=O_(a)|0;a=Ja(6,d|0)|0;a=M_((a|0)==-4?0:a)|0;l=b;return a|0}function X0(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;e=l;l=l+16|0;f=e;c[f>>2]=d;d=Y0(a,b,f)|0;l=e;return d|0}function Y0(a,b,c){a=a|0;b=b|0;c=c|0;return p0(a,2147483647,b,c)|0}function Z0(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0;m=l;l=l+208|0;j=m+8|0;k=m;h=O(d,b)|0;i=k;c[i>>2]=1;c[i+4>>2]=0;a:do if(h|0){i=0-d|0;c[j+4>>2]=d;c[j>>2]=d;f=2;b=d;g=d;while(1){b=b+d+g|0;c[j+(f<<2)>>2]=b;if(b>>>0>>0){n=g;f=f+1|0;g=b;b=n}else break}g=a+h+i|0;if(g>>>0>a>>>0){h=g;f=1;b=1;do{do if((b&3|0)!=3){b=f+-1|0;if((c[j+(b<<2)>>2]|0)>>>0<(h-a|0)>>>0)_0(a,d,e,f,j);else a1(a,d,e,k,f,0,j);if((f|0)==1){b1(k,1);f=0;break}else{b1(k,b);f=1;break}}else{_0(a,d,e,f,j);$0(k,2);f=f+2|0}while(0);b=c[k>>2]|1;c[k>>2]=b;a=a+d|0}while(a>>>0>>0)}else{f=1;b=1}a1(a,d,e,k,f,0,j);g=k+4|0;while(1){if((f|0)==1&(b|0)==1){if(!(c[g>>2]|0))break a}else if((f|0)>=2){b1(k,2);n=f+-2|0;c[k>>2]=c[k>>2]^7;$0(k,1);a1(a+(0-(c[j+(n<<2)>>2]|0))+i|0,d,e,k,f+-1|0,1,j);b1(k,1);b=c[k>>2]|1;c[k>>2]=b;h=a+i|0;a1(h,d,e,k,n,1,j);a=h;f=n;continue}b=c1(k)|0;$0(k,b);a=a+i|0;f=b+f|0;b=c[k>>2]|0}}while(0);l=m;return}function _0(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,m=0,n=0;n=l;l=l+240|0;m=n;c[m>>2]=a;a:do if((e|0)>1){k=0-b|0;g=a;j=e;e=1;while(1){h=g+k|0;i=j+-2|0;g=h+(0-(c[f+(i<<2)>>2]|0))|0;if((lb[d&127](a,g)|0)>-1?(lb[d&127](a,h)|0)>-1:0)break a;a=e+1|0;e=m+(e<<2)|0;if((lb[d&127](g,h)|0)>-1){c[e>>2]=g;e=j+-1|0}else{c[e>>2]=h;g=h;e=i}if((e|0)<=1){e=a;break a}j=e;e=a;a=c[m>>2]|0}}else e=1;while(0);e1(b,m,e);l=n;return}function $0(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;f=a+4|0;if(b>>>0>31){e=c[f>>2]|0;c[a>>2]=e;c[f>>2]=0;b=b+-32|0;d=0}else{d=c[f>>2]|0;e=c[a>>2]|0}c[a>>2]=d<<32-b|e>>>b;c[f>>2]=d>>>b;return}function a1(a,b,d,e,f,g,h){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0;p=l;l=l+240|0;n=p+232|0;o=p;q=c[e>>2]|0;c[n>>2]=q;j=c[e+4>>2]|0;k=n+4|0;c[k>>2]=j;c[o>>2]=a;a:do if((q|0)!=1|(j|0)!=0?(m=0-b|0,i=a+(0-(c[h+(f<<2)>>2]|0))|0,(lb[d&127](i,a)|0)>=1):0){e=1;g=(g|0)==0;j=i;while(1){if(g&(f|0)>1){g=a+m|0;i=c[h+(f+-2<<2)>>2]|0;if((lb[d&127](g,j)|0)>-1){i=10;break a}if((lb[d&127](g+(0-i)|0,j)|0)>-1){i=10;break a}}g=e+1|0;c[o+(e<<2)>>2]=j;q=c1(n)|0;$0(n,q);f=q+f|0;if(!((c[n>>2]|0)!=1|(c[k>>2]|0)!=0)){e=g;a=j;i=10;break a}a=j+(0-(c[h+(f<<2)>>2]|0))|0;if((lb[d&127](a,c[o>>2]|0)|0)<1){a=j;e=g;g=0;i=9;break}else{q=j;e=g;g=1;j=a;a=q}}}else{e=1;i=9}while(0);if((i|0)==9?(g|0)==0:0)i=10;if((i|0)==10){e1(b,o,e);_0(a,b,d,f,h)}l=p;return}function b1(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;f=a+4|0;if(b>>>0>31){e=c[a>>2]|0;c[f>>2]=e;c[a>>2]=0;b=b+-32|0;d=0}else{d=c[a>>2]|0;e=c[f>>2]|0}c[f>>2]=d>>>(32-b|0)|e<>2]=d<>2]|0)+-1|0)|0;if(!b){b=d1(c[a+4>>2]|0)|0;return ((b|0)==0?0:b+32|0)|0}else return b|0;return 0}function d1(a){a=a|0;var b=0;if(a)if(!(a&1)){b=a;a=0;do{a=a+1|0;b=b>>>1}while(!(b&1|0))}else a=0;else a=32;return a|0}function e1(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0;h=l;l=l+256|0;e=h;a:do if((d|0)>=2?(g=b+(d<<2)|0,c[g>>2]=e,a|0):0)while(1){f=a>>>0<256?a:256;E3(e|0,c[b>>2]|0,f|0)|0;e=0;do{i=b+(e<<2)|0;e=e+1|0;E3(c[i>>2]|0,c[b+(e<<2)>>2]|0,f|0)|0;c[i>>2]=(c[i>>2]|0)+f}while((e|0)!=(d|0));a=a-f|0;if(!a)break a;e=c[g>>2]|0}while(0);l=h;return}function f1(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;e=l;l=l+16|0;f=e;c[f>>2]=d;d=q0(a,b,f)|0;l=e;return d|0}function g1(b){b=b|0;var d=0,e=0,f=0;f=l;l=l+16|0;e=f;sa(0,e|0)|0;d=0;e=(c[e+4>>2]|0)*65537^(e>>>4)+b;while(1){a[b+d>>0]=(e&15)+65|e<<1&32;d=d+1|0;if((d|0)==6)break;else e=e>>>5}l=f;return b|0}function h1(a,b,c){a=a|0;b=b|0;c=c|0;c=E$(a,b,c,-2147483648,0)|0;return c|0}function i1(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0;h=l;l=l+32|0;f=h;e=a[d>>0]|0;a:do if(e<<24>>24!=0?(a[d+1>>0]|0)!=0:0){G3(f|0,0,32)|0;e=a[d>>0]|0;if(e<<24>>24)do{i=f+(((e&255)>>>5&255)<<2)|0;c[i>>2]=c[i>>2]|1<<(e&31);d=d+1|0;e=a[d>>0]|0}while(e<<24>>24!=0);d=a[b>>0]|0;if(!(d<<24>>24))e=b;else{e=b;do{if(c[f+(((d&255)>>>5&255)<<2)>>2]&1<<(d&31)|0)break a;e=e+1|0;d=a[e>>0]|0}while(d<<24>>24!=0)}}else g=3;while(0);if((g|0)==3)e=U_(b,e<<24>>24)|0;l=h;return e-b|0}function j1(b,d){b=b|0;d=d|0;var e=0;if(!b){b=c[46896]|0;if(!b)b=0;else e=3}else e=3;do if((e|0)==3){b=b+(V0(b,d)|0)|0;if(!(a[b>>0]|0)){c[46896]=0;b=0;break}d=b+(i1(b,d)|0)|0;c[46896]=d;if(!(a[d>>0]|0)){c[46896]=0;break}else{c[46896]=d+1;a[d>>0]=0;break}}while(0);return b|0}function k1(b,c,d){b=b|0;c=c|0;d=d|0;var e=0;e=c&255;do{if(!d){c=0;break}d=d+-1|0;c=b+d|0}while((a[c>>0]|0)!=e<<24>>24);return c|0}function l1(b,d,e){b=b|0;d=d|0;e=e|0;var f=0;if(!b){b=c[e>>2]|0;if(!b)b=0;else f=3}else f=3;do if((f|0)==3){b=b+(V0(b,d)|0)|0;if(!(a[b>>0]|0)){c[e>>2]=0;b=0;break}d=b+(i1(b,d)|0)|0;c[e>>2]=d;if(!(a[d>>0]|0)){c[e>>2]=0;break}else{c[e>>2]=d+1;a[d>>0]=0;break}}while(0);return b|0}function m1(a){a=a|0;var b=0,c=0;b=(V_(a)|0)+1|0;c=B_(b)|0;if(!c)a=0;else a=E3(c|0,a|0,b|0)|0;return a|0}function n1(a,b){a=a|0;b=b|0;return k1(a,b,(V_(a)|0)+1|0)|0}function o1(a,b){a=a|0;b=b|0;a0(a+(V_(a)|0)|0,b)|0;return a|0}function p1(b,c){b=b|0;c=c|0;c=b+(i1(b,c)|0)|0;return (a[c>>0]|0?c:0)|0}function q1(a){a=a|0;var b=0;if((c[a+76>>2]|0)>-1){b=(s0(a)|0)==0;a=(c[a>>2]|0)>>>4&1}else a=(c[a>>2]|0)>>>4&1;return a|0}function r1(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;if((c[a+76>>2]|0)>-1)f=s0(a)|0;else f=0;s1(a);g=(c[a>>2]&1|0)!=0;if(!g){e=t1()|0;d=c[a+52>>2]|0;b=a+56|0;if(d|0)c[d+56>>2]=c[b>>2];b=c[b>>2]|0;if(b|0)c[b+52>>2]=d;if((c[e>>2]|0)==(a|0))c[e>>2]=b;u1()}b=v1(a)|0;b=kb[c[a+12>>2]&63](a)|0|b;d=c[a+92>>2]|0;if(d|0)C_(d);if(g){if(f|0)t0(a)}else C_(a);return b|0}function s1(a){a=a|0;var b=0;if(c[a+68>>2]|0){b=c[a+116>>2]|0;a=a+112|0;if(b|0)c[b+112>>2]=c[a>>2];a=c[a>>2]|0;if(!a)a=(x1()|0)+232|0;else a=a+116|0;c[a>>2]=b}return}function t1(){ta(187588);return 187596}function u1(){La(187588);return}function v1(a){a=a|0;var b=0,d=0;do if(a){if((c[a+76>>2]|0)<=-1){b=w1(a)|0;break}d=(s0(a)|0)==0;b=w1(a)|0;if(!d)t0(a)}else{if(!(c[15685]|0))b=0;else b=v1(c[15685]|0)|0;a=c[(t1()|0)>>2]|0;if(a)do{if((c[a+76>>2]|0)>-1)d=s0(a)|0;else d=0;if((c[a+20>>2]|0)>>>0>(c[a+28>>2]|0)>>>0)b=w1(a)|0|b;if(d|0)t0(a);a=c[a+56>>2]|0}while((a|0)!=0);u1()}while(0);return b|0}function w1(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0;b=a+20|0;h=a+28|0;if((c[b>>2]|0)>>>0>(c[h>>2]|0)>>>0?(nb[c[a+36>>2]&63](a,0,0)|0,(c[b>>2]|0)==0):0)a=-1;else{d=a+4|0;e=c[d>>2]|0;f=a+8|0;g=c[f>>2]|0;if(e>>>0>>0)nb[c[a+40>>2]&63](a,e-g|0,1)|0;c[a+16>>2]=0;c[h>>2]=0;c[b>>2]=0;c[f>>2]=0;c[d>>2]=0;a=0}return a|0}function x1(){return d$()|0}function y1(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0;k=l;l=l+64|0;j=k+40|0;h=k+24|0;g=k+16|0;f=k;i=k+56|0;if(z$(150498,a[d>>0]|0)|0){e=B_(1156)|0;if(!e)e=0;else{G3(e|0,0,124)|0;if(!(z$(d,43)|0))c[e>>2]=(a[d>>0]|0)==114?8:4;if(z$(d,101)|0){c[f>>2]=b;c[f+4>>2]=2;c[f+8>>2]=1;Ea(221,f|0)|0}if((a[d>>0]|0)==97){c[g>>2]=b;c[g+4>>2]=3;d=Ea(221,g|0)|0;if(!(d&1024)){c[h>>2]=b;c[h+4>>2]=4;c[h+8>>2]=d|1024;Ea(221,h|0)|0}f=c[e>>2]|128;c[e>>2]=f}else f=c[e>>2]|0;c[e+60>>2]=b;c[e+44>>2]=e+132;c[e+48>>2]=1024;d=e+75|0;a[d>>0]=-1;if((f&8|0)==0?(c[j>>2]=b,c[j+4>>2]=21523,c[j+8>>2]=i,(Ia(54,j|0)|0)==0):0)a[d>>0]=10;c[e+32>>2]=15;c[e+36>>2]=18;c[e+40>>2]=16;c[e+12>>2]=17;if(!(c[46875]|0))c[e+76>>2]=-1;z1(e)|0}}else{c[(N_()|0)>>2]=22;e=0}l=k;return e|0}function z1(a){a=a|0;var b=0,d=0;b=t1()|0;c[a+56>>2]=c[b>>2];d=c[b>>2]|0;if(d|0)c[d+52>>2]=a;c[b>>2]=a;u1();return a|0}function A1(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0;j=l;l=l+16|0;g=j;a:do if(!e)b=0;else{do if(f|0){i=(b|0)==0?g:b;b=a[e>>0]|0;if(b<<24>>24>-1){c[i>>2]=b&255;b=b<<24>>24!=0&1;break a}h=(c[c[(B1()|0)+188>>2]>>2]|0)==0;b=a[e>>0]|0;if(h){c[i>>2]=b<<24>>24&57343;b=1;break a}b=(b&255)+-194|0;if(b>>>0<=50){g=e+1|0;h=c[62280+(b<<2)>>2]|0;if(f>>>0<4?h&-2147483648>>>((f*6|0)+-6|0)|0:0)break;b=d[g>>0]|0;f=b>>>3;if((f+-16|f+(h>>26))>>>0<=7){b=b+-128|h<<6;if((b|0)>=0){c[i>>2]=b;b=2;break a}g=(d[e+2>>0]|0)+-128|0;if(g>>>0<=63){g=g|b<<6;if((g|0)>=0){c[i>>2]=g;b=3;break a}b=(d[e+3>>0]|0)+-128|0;if(b>>>0<=63){c[i>>2]=b|g<<6;b=4;break a}}}}}while(0);c[(N_()|0)>>2]=84;b=-1}while(0);l=j;return b|0}function B1(){return d$()|0}function C1(a,b){a=a|0;b=b|0;var c=0;c=V_(a)|0;return ((D1(a,1,c,b)|0)!=(c|0))<<31>>31|0}function D1(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0;f=O(d,b)|0;d=(b|0)==0?0:d;if((c[e+76>>2]|0)>-1){g=(s0(e)|0)==0;a=D0(a,f,e)|0;if(!g)t0(e)}else a=D0(a,f,e)|0;if((a|0)!=(f|0))d=(a>>>0)/(b>>>0)|0;return d|0}function E1(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,m=0;m=l;l=l+16|0;j=m;k=e&255;a[j>>0]=k;g=b+16|0;h=c[g>>2]|0;if(!h)if(!(E0(b)|0)){h=c[g>>2]|0;i=4}else f=-1;else i=4;do if((i|0)==4){i=b+20|0;g=c[i>>2]|0;if(g>>>0>>0?(f=e&255,(f|0)!=(a[b+75>>0]|0)):0){c[i>>2]=g+1;a[g>>0]=k;break}if((nb[c[b+36>>2]&63](b,j,1)|0)==1)f=d[j>>0]|0;else f=-1}while(0);l=m;return f|0}function F1(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;e=l;l=l+16|0;f=e;c[f>>2]=a;c[f+4>>2]=b;c[f+8>>2]=d;d=M_(Fa(3,f|0)|0)|0;l=e;return d|0}function G1(){var a=0,b=0;b=l;l=l+16|0;a=Da(20,b|0)|0;l=b;return a|0}function H1(b,c){b=b|0;c=c|0;var d=0,e=0,f=0;d=b;e=150483;f=d+15|0;do{a[d>>0]=a[e>>0]|0;d=d+1|0;e=e+1|0}while((d|0)<(f|0));if(!c){a[b+14>>0]=48;a[b+15>>0]=0}else{e=c;d=14;while(1){d=d+1|0;if(e>>>0<10)break;else e=(e>>>0)/10|0}a[b+d>>0]=0;while(1){d=d+-1|0;a[b+d>>0]=(c>>>0)%10|0|48;if(c>>>0<10)break;else c=(c>>>0)/10|0}}return}function I1(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;g=l;l=l+48|0;f=g+40|0;e=g+8|0;d=g;c[d>>2]=a;c[d+4>>2]=b;d=Ca(197,d|0)|0;if((d|0)==-9?(c[e>>2]=a,c[e+4>>2]=1,(Ea(221,e|0)|0)>=0):0){H1(e,a);c[f>>2]=e;c[f+4>>2]=b;b=M_(Ba(195,f|0)|0)|0}else b=M_(d)|0;l=g;return b|0}function J1(a,b){a=a|0;b=b|0;var d=0,e=0;d=l;l=l+16|0;e=d;c[e>>2]=a;c[e+4>>2]=b;b=M_(Ga(33,e|0)|0)|0;l=d;return b|0}function K1(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0;i=l;l=l+48|0;h=i+32|0;g=i+16|0;e=i;if(z$(150498,a[d>>0]|0)|0){f=L1(d)|0;c[e>>2]=b;c[e+4>>2]=f|32768;c[e+8>>2]=438;e=M_(Ha(5,e|0)|0)|0;if((e|0)>=0){if(f&524288|0){c[g>>2]=e;c[g+4>>2]=2;c[g+8>>2]=1;Ea(221,g|0)|0}b=y1(e,d)|0;if(!b){c[h>>2]=e;Ja(6,h|0)|0;b=0}}else b=0}else{c[(N_()|0)>>2]=22;b=0}l=i;return b|0}function L1(b){b=b|0;var c=0,d=0,e=0;d=(z$(b,43)|0)==0;c=a[b>>0]|0;d=d?c<<24>>24!=114&1:2;e=(z$(b,120)|0)==0;d=e?d:d|128;b=(z$(b,101)|0)==0;b=b?d:d|524288;b=c<<24>>24==114?b:b|64;b=c<<24>>24==119?b|512:b;return (c<<24>>24==97?b|1024:b)|0}function M1(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;e=l;l=l+16|0;f=e;c[f>>2]=d;d=N1(a,b,f)|0;l=e;return d|0}function N1(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;g=l;l=l+128|0;e=g;f=e;h=f+124|0;do{c[f>>2]=0;f=f+4|0}while((f|0)<(h|0));c[e+32>>2]=38;c[e+44>>2]=a;c[e+76>>2]=-1;c[e+84>>2]=a;h=P1(e,b,d)|0;l=g;return h|0}function O1(a,b,c){a=a|0;b=b|0;c=c|0;return X1(a,b,c)|0}function P1(b,e,f){b=b|0;e=e|0;f=f|0;var i=0,j=0,k=0,m=0,n=0,o=0.0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0;L=l;l=l+288|0;F=L+8|0;G=L+17|0;H=L;I=L+16|0;if((c[b+76>>2]|0)>-1)K=s0(b)|0;else K=0;i=a[e>>0]|0;a:do if(i<<24>>24){y=b+4|0;A=b+100|0;B=b+108|0;C=b+8|0;D=G+10|0;E=G+33|0;x=F+4|0;p=e;u=0;e=0;j=0;k=i;i=0;b:while(1){c:do if(!(A$(k&255)|0)){k=(a[p>>0]|0)==37;d:do if(k){m=p+1|0;n=a[m>>0]|0;e:do switch(n<<24>>24){case 37:break d;case 42:{w=0;m=p+2|0;break}default:{if(D$(n&255)|0?(a[p+2>>0]|0)==36:0){w=Q1(f,(d[m>>0]|0)+-48|0)|0;m=p+3|0;break e}v=(c[f>>2]|0)+(4-1)&~(4-1);w=c[v>>2]|0;c[f>>2]=v+4}}while(0);if(!(D$(d[m>>0]|0)|0))s=0;else{k=0;do{k=(k*10|0)+-48+(d[m>>0]|0)|0;m=m+1|0}while((D$(d[m>>0]|0)|0)!=0);s=k}p=a[m>>0]|0;n=m+1|0;if(p<<24>>24==109){k=(w|0)!=0&1;j=0;m=n;p=a[n>>0]|0;i=0}else k=0;n=m+1|0;switch(p<<24>>24){case 104:{v=(a[n>>0]|0)==104;p=v?-2:-1;m=v?m+2|0:n;break}case 108:{v=(a[n>>0]|0)==108;p=v?3:1;m=v?m+2|0:n;break}case 106:{p=3;m=n;break}case 116:case 122:{p=1;m=n;break}case 76:{p=2;m=n;break}case 110:case 112:case 67:case 83:case 91:case 99:case 115:case 88:case 71:case 70:case 69:case 65:case 103:case 102:case 101:case 97:case 120:case 117:case 111:case 105:case 100:{p=0;break}default:{J=136;break b}}r=d[m>>0]|0;t=(r&47|0)==3;r=t?r|32:r;t=t?1:p;q=r&255;switch(q<<24>>24){case 99:{s=(s|0)>1?s:1;break}case 91:break;case 110:{R1(w,t,u,((u|0)<0)<<31>>31);n=u;break c}default:{F$(b,0);do{n=c[y>>2]|0;if(n>>>0<(c[A>>2]|0)>>>0){c[y>>2]=n+1;n=d[n>>0]|0}else n=H$(b)|0}while((A$(n)|0)!=0);if(!(c[A>>2]|0))n=c[y>>2]|0;else{n=(c[y>>2]|0)+-1|0;c[y>>2]=n}u=(c[B>>2]|0)+u+n-(c[C>>2]|0)|0}}F$(b,s);p=c[y>>2]|0;n=c[A>>2]|0;if(p>>>0>>0)c[y>>2]=p+1;else{if((H$(b)|0)<0){J=136;break b}n=c[A>>2]|0}if(n|0)c[y>>2]=(c[y>>2]|0)+-1;f:do switch(q<<24>>24){case 91:case 99:case 115:{v=(r|0)==99;g:do if((r|16|0)==115){G3(G|0,-1,257)|0;a[G>>0]=0;if((r|0)==115){a[E>>0]=0;a[D>>0]=0;a[D+1>>0]=0;a[D+2>>0]=0;a[D+3>>0]=0;a[D+4>>0]=0}}else{n=m+1|0;q=(a[n>>0]|0)==94;r=q&1;m=q?m+2|0:n;G3(G|0,r|0,257)|0;a[G>>0]=0;n=a[m>>0]|0;switch(n<<24>>24){case 45:{n=46;J=65;break}case 93:{n=94;J=65;break}default:{}}while(1){if((J|0)==65){J=0;a[G+n>>0]=r^1;n=m+1|0;m=n;n=a[n>>0]|0}h:do switch(n<<24>>24){case 0:{J=136;break b}case 93:break g;case 45:{q=m+1|0;n=a[q>>0]|0;switch(n<<24>>24){case 93:case 0:{n=45;break h}default:{}}m=a[m+-1>>0]|0;if((m&255)<(n&255)){p=(r^1)&255;m=m&255;do{m=m+1|0;a[G+m>>0]=p;n=a[q>>0]|0}while((m|0)<(n&255|0));m=q}else m=q;break}default:{}}while(0);n=(n&255)+1|0;J=65}}while(0);n=v?s+1|0:31;r=(t|0)==1;t=(k|0)!=0;i:do if(r){if(t){i=B_(n<<2)|0;if(!i){j=0;i=0;J=136;break b}}else i=w;c[F>>2]=0;c[x>>2]=0;q=n;j=0;j:while(1){p=(i|0)==0;do{k:while(1){n=c[y>>2]|0;if(n>>>0<(c[A>>2]|0)>>>0){c[y>>2]=n+1;n=d[n>>0]|0}else n=H$(b)|0;if(!(a[G+(n+1)>>0]|0))break j;a[I>>0]=n;switch(W$(H,I,1,F)|0){case -1:{j=0;J=136;break b}case -2:break;default:break k}}if(!p){c[i+(j<<2)>>2]=c[H>>2];j=j+1|0}}while(!(t&(j|0)==(q|0)));j=q<<1|1;n=E_(i,j<<2)|0;if(!n){j=0;J=136;break b}else{p=q;q=j;i=n;j=p}}if(!(S1(F)|0)){j=0;J=136;break b}else{q=j;j=0;p=i}}else{if(t){j=B_(n)|0;if(!j){j=0;i=0;J=136;break b}else{p=n;i=0}while(1){do{n=c[y>>2]|0;if(n>>>0<(c[A>>2]|0)>>>0){c[y>>2]=n+1;n=d[n>>0]|0}else n=H$(b)|0;if(!(a[G+(n+1)>>0]|0)){q=i;p=0;i=0;break i}a[j+i>>0]=n;i=i+1|0}while((i|0)!=(p|0));i=p<<1|1;n=E_(j,i)|0;if(!n){i=0;J=136;break b}else{q=p;p=i;j=n;i=q}}}if(!w)while(1){i=c[y>>2]|0;if(i>>>0<(c[A>>2]|0)>>>0){c[y>>2]=i+1;i=d[i>>0]|0}else i=H$(b)|0;if(!(a[G+(i+1)>>0]|0)){q=0;j=0;p=0;i=0;break i}}else j=0;while(1){i=c[y>>2]|0;if(i>>>0<(c[A>>2]|0)>>>0){c[y>>2]=i+1;i=d[i>>0]|0}else i=H$(b)|0;if(!(a[G+(i+1)>>0]|0)){q=j;j=w;p=0;i=0;break i}a[w+j>>0]=i;j=j+1|0}}while(0);if(!(c[A>>2]|0))n=c[y>>2]|0;else{n=(c[y>>2]|0)+-1|0;c[y>>2]=n}n=n-(c[C>>2]|0)+(c[B>>2]|0)|0;if(!n)break b;if(!((n|0)==(s|0)|v^1))break b;do if(t)if(r){c[w>>2]=p;break}else{c[w>>2]=j;break}while(0);if(!v){if(p|0)c[p+(q<<2)>>2]=0;if(!j){j=0;break f}a[j+q>>0]=0}break}case 120:case 88:case 112:{n=16;J=124;break}case 111:{n=8;J=124;break}case 117:case 100:{n=10;J=124;break}case 105:{n=0;J=124;break}case 71:case 103:case 70:case 102:case 69:case 101:case 65:case 97:{o=+T1(b,t,0);if((c[B>>2]|0)==((c[C>>2]|0)-(c[y>>2]|0)|0))break b;if(w)switch(t|0){case 0:{g[w>>2]=o;break f}case 1:{h[w>>3]=o;break f}case 2:{h[w>>3]=o;break f}default:break f}break}default:{}}while(0);do if((J|0)==124){J=0;n=G$(b,n,0,-1,-1)|0;if((c[B>>2]|0)==((c[C>>2]|0)-(c[y>>2]|0)|0))break b;if((w|0)!=0&(r|0)==112){c[w>>2]=n;break}else{R1(w,t,n,z);break}}while(0);e=e+((w|0)!=0&1)|0;n=(c[B>>2]|0)+u+(c[y>>2]|0)-(c[C>>2]|0)|0;break c}while(0);m=p+(k&1)|0;F$(b,0);k=c[y>>2]|0;if(k>>>0<(c[A>>2]|0)>>>0){c[y>>2]=k+1;k=d[k>>0]|0}else k=H$(b)|0;if((k|0)!=(d[m>>0]|0)){J=22;break b}n=u+1|0}else{m=p;while(1){k=m+1|0;if(!(A$(d[k>>0]|0)|0))break;else m=k}F$(b,0);do{k=c[y>>2]|0;if(k>>>0<(c[A>>2]|0)>>>0){c[y>>2]=k+1;k=d[k>>0]|0}else k=H$(b)|0}while((A$(k)|0)!=0);if(!(c[A>>2]|0))k=c[y>>2]|0;else{k=(c[y>>2]|0)+-1|0;c[y>>2]=k}n=(c[B>>2]|0)+u+k-(c[C>>2]|0)|0}while(0);p=m+1|0;k=a[p>>0]|0;if(!(k<<24>>24))break a;else u=n}if((J|0)==22){if(c[A>>2]|0)c[y>>2]=(c[y>>2]|0)+-1;if((e|0)!=0|(k|0)>-1)break;else{e=0;J=137}}else if((J|0)==136)if(!e){e=k;J=137}if((J|0)==137){k=e;e=-1}if(k){C_(j);C_(i)}}else e=0;while(0);if(K|0)t0(b);l=L;return e|0}function Q1(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;e=l;l=l+16|0;d=e;c[d>>2]=c[a>>2];while(1){f=(c[d>>2]|0)+(4-1)&~(4-1);a=c[f>>2]|0;c[d>>2]=f+4;if(b>>>0>1)b=b+-1|0;else break}l=e;return a|0}function R1(d,e,f,g){d=d|0;e=e|0;f=f|0;g=g|0;a:do if(d|0)switch(e|0){case -2:{a[d>>0]=f;break a}case -1:{b[d>>1]=f;break a}case 0:{c[d>>2]=f;break a}case 1:{c[d>>2]=f;break a}case 3:{e=d;c[e>>2]=f;c[e+4>>2]=g;break a}default:break a}while(0);return}function S1(a){a=a|0;if(!a)a=1;else a=(c[a>>2]|0)==0&1;return a|0}function T1(b,e,f){b=b|0;e=e|0;f=f|0;var g=0.0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;switch(e|0){case 0:{l=-149;m=24;j=4;break}case 1:{l=-1074;m=53;j=4;break}case 2:{l=-1074;m=53;j=4;break}default:g=0.0}a:do if((j|0)==4){o=b+4|0;n=b+100|0;do{e=c[o>>2]|0;if(e>>>0<(c[n>>2]|0)>>>0){c[o>>2]=e+1;e=d[e>>0]|0}else e=H$(b)|0}while((A$(e)|0)!=0);b:do switch(e|0){case 43:case 45:{i=1-(((e|0)==45&1)<<1)|0;e=c[o>>2]|0;if(e>>>0<(c[n>>2]|0)>>>0){c[o>>2]=e+1;h=d[e>>0]|0;break b}else{h=H$(b)|0;break b}}default:{h=e;i=1}}while(0);e=0;do{if((h|32|0)!=(a[150502+e>>0]|0))break;do if(e>>>0<7){h=c[o>>2]|0;if(h>>>0<(c[n>>2]|0)>>>0){c[o>>2]=h+1;h=d[h>>0]|0;break}else{h=H$(b)|0;break}}while(0);e=e+1|0}while(e>>>0<8);c:do switch(e|0){case 8:break;case 3:{j=23;break}default:{k=(f|0)!=0;if(k&e>>>0>3)if((e|0)==8)break c;else{j=23;break c}d:do if(!e){e=0;do{if((h|32|0)!=(a[150511+e>>0]|0))break d;do if(e>>>0<2){h=c[o>>2]|0;if(h>>>0<(c[n>>2]|0)>>>0){c[o>>2]=h+1;h=d[h>>0]|0;break}else{h=H$(b)|0;break}}while(0);e=e+1|0}while(e>>>0<3)}while(0);switch(e|0){case 3:{e=c[o>>2]|0;if(e>>>0<(c[n>>2]|0)>>>0){c[o>>2]=e+1;e=d[e>>0]|0}else e=H$(b)|0;if((e|0)==40)e=1;else{if(!(c[n>>2]|0)){g=s;break a}c[o>>2]=(c[o>>2]|0)+-1;g=s;break a}while(1){h=c[o>>2]|0;if(h>>>0<(c[n>>2]|0)>>>0){c[o>>2]=h+1;h=d[h>>0]|0}else h=H$(b)|0;if(!((h+-48|0)>>>0<10|(h+-65|0)>>>0<26)?!((h|0)==95|(h+-97|0)>>>0<26):0)break;e=e+1|0}if((h|0)==41){g=s;break a}h=(c[n>>2]|0)==0;if(!h)c[o>>2]=(c[o>>2]|0)+-1;if(!k){c[(N_()|0)>>2]=22;F$(b,0);g=0.0;break a}if(!e){g=s;break a}while(1){e=e+-1|0;if(!h)c[o>>2]=(c[o>>2]|0)+-1;if(!e){g=s;break a}}}case 0:{if((h|0)==48){e=c[o>>2]|0;if(e>>>0<(c[n>>2]|0)>>>0){c[o>>2]=e+1;e=d[e>>0]|0}else e=H$(b)|0;if((e|32|0)==120){g=+U1(b,m,l,i,f);break a}if(!(c[n>>2]|0))e=48;else{c[o>>2]=(c[o>>2]|0)+-1;e=48}}else e=h;g=+V1(b,e,m,l,i,f);break a}default:{if(c[n>>2]|0)c[o>>2]=(c[o>>2]|0)+-1;c[(N_()|0)>>2]=22;F$(b,0);g=0.0;break a}}}}while(0);if((j|0)==23){h=(c[n>>2]|0)==0;if(!h)c[o>>2]=(c[o>>2]|0)+-1;if((f|0)!=0&e>>>0>3)do{if(!h)c[o>>2]=(c[o>>2]|0)+-1;e=e+-1|0}while(e>>>0>3)}g=+(i|0)*t}while(0);return +g}function U1(a,b,e,f,g){a=a|0;b=b|0;e=e|0;f=f|0;g=g|0;var h=0.0,i=0,j=0,k=0.0,l=0,m=0,n=0,o=0.0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0;y=a+4|0;i=c[y>>2]|0;x=a+100|0;if(i>>>0<(c[x>>2]|0)>>>0){c[y>>2]=i+1;j=d[i>>0]|0;l=0}else{j=H$(a)|0;l=0}a:while(1){switch(j|0){case 46:{w=8;break a}case 48:break;default:{s=0;n=0;o=1.0;h=0.0;i=0;m=j;t=l;v=0;u=0;l=0;j=0;break a}}i=c[y>>2]|0;if(i>>>0<(c[x>>2]|0)>>>0){c[y>>2]=i+1;j=d[i>>0]|0;l=1;continue}else{j=H$(a)|0;l=1;continue}}if((w|0)==8){i=c[y>>2]|0;if(i>>>0<(c[x>>2]|0)>>>0){c[y>>2]=i+1;j=d[i>>0]|0}else j=H$(a)|0;if((j|0)==48){l=0;j=0;do{i=c[y>>2]|0;if(i>>>0<(c[x>>2]|0)>>>0){c[y>>2]=i+1;m=d[i>>0]|0}else m=H$(a)|0;l=r3(l|0,j|0,-1,-1)|0;j=z}while((m|0)==48);s=1;n=0;o=1.0;h=0.0;i=0;t=1;v=0;u=0}else{s=1;n=0;o=1.0;h=0.0;i=0;m=j;t=l;v=0;u=0;l=0;j=0}}while(1){q=m+-48|0;p=m|32;if(q>>>0>=10){r=(m|0)==46;if(!(r|(p+-97|0)>>>0<6))break;if(r)if(!s){s=1;k=o;r=t;l=u;j=v;q=u;p=v}else{m=46;break}else w=20}else w=20;if((w|0)==20){w=0;m=(m|0)>57?p+-87|0:q;do if(!((v|0)<0|(v|0)==0&u>>>0<8))if((v|0)<0|(v|0)==0&u>>>0<14){o=o*.0625;k=o;h=h+o*+(m|0);break}else{t=(n|0)!=0|(m|0)==0;n=t?n:1;k=o;h=t?h:h+o*.5;break}else{k=o;i=m+(i<<4)|0}while(0);q=r3(u|0,v|0,1,0)|0;r=1;p=z}m=c[y>>2]|0;if(m>>>0<(c[x>>2]|0)>>>0){c[y>>2]=m+1;o=k;m=d[m>>0]|0;t=r;v=p;u=q;continue}else{o=k;m=H$(a)|0;t=r;v=p;u=q;continue}}do if(!t){i=(c[x>>2]|0)==0;if(!i)c[y>>2]=(c[y>>2]|0)+-1;if(g){if(!i)c[y>>2]=(c[y>>2]|0)+-1;if(!((s|0)==0|i))c[y>>2]=(c[y>>2]|0)+-1}else F$(a,0);h=+(f|0)*0.0}else{p=(s|0)==0;q=p?u:l;p=p?v:j;if((v|0)<0|(v|0)==0&u>>>0<8){l=u;j=v;while(1){i=i<<4;w=l;l=r3(l|0,j|0,1,0)|0;if(!((j|0)<0|(j|0)==0&w>>>0<7)){n=i;break}else j=z}}else n=i;if((m|32|0)==112){j=W1(a,g)|0;i=z;if((j|0)==0&(i|0)==-2147483648){if(!g){F$(a,0);h=0.0;break}if(!(c[x>>2]|0)){j=0;i=0}else{c[y>>2]=(c[y>>2]|0)+-1;j=0;i=0}}}else if(!(c[x>>2]|0)){j=0;i=0}else{c[y>>2]=(c[y>>2]|0)+-1;j=0;i=0}l=z3(q|0,p|0,2)|0;l=r3(l|0,z|0,-32,-1)|0;l=r3(l|0,z|0,j|0,i|0)|0;i=z;if(!n){h=+(f|0)*0.0;break}y=0-e|0;g=((y|0)<0)<<31>>31;if((i|0)>(g|0)|(i|0)==(g|0)&l>>>0>y>>>0){c[(N_()|0)>>2]=34;h=+(f|0)*1797693134862315708145274.0e284*1797693134862315708145274.0e284;break}y=e+-106|0;g=((y|0)<0)<<31>>31;if((i|0)<(g|0)|(i|0)==(g|0)&l>>>0>>0){c[(N_()|0)>>2]=34;h=+(f|0)*2.2250738585072014e-308*2.2250738585072014e-308;break}if((n|0)>-1){j=n;do{y=!(h>=.5);j=j<<1|(y^1)&1;h=h+(y?h:h+-1.0);l=r3(l|0,i|0,-1,-1)|0;i=z}while((j|0)>-1);o=h;m=j}else{o=h;m=n}y=((b|0)<0)<<31>>31;e=s3(32,0,e|0,((e|0)<0)<<31>>31|0)|0;i=r3(e|0,z|0,l|0,i|0)|0;e=z;if((e|0)<(y|0)|(e|0)==(y|0)&i>>>0>>0)if((i|0)>0)w=59;else{j=0;i=84;w=61}else{i=b;w=59}if((w|0)==59)if((i|0)<53){j=i;i=84-i|0;w=61}else{k=0.0;h=+(f|0)}if((w|0)==61){h=+(f|0);k=+o$(+l$(1.0,i),h);i=j}f=(m&1|0)==0&(o!=0.0&(i|0)<32);h=(f?0.0:o)*h+(k+h*+((m+(f&1)|0)>>>0))-k;if(!(h!=0.0))c[(N_()|0)>>2]=34;h=+p$(h,l)}while(0);return +h}function V1(a,b,e,f,g,h){a=a|0;b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0.0,j=0.0,k=0,m=0,n=0,o=0,p=0,q=0,r=0.0,s=0.0,t=0.0,u=0,v=0,w=0,x=0,y=0,A=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0.0;J=l;l=l+512|0;G=J;H=f+e|0;I=0-H|0;D=a+4|0;E=a+100|0;k=0;a:while(1){switch(b|0){case 46:{A=6;break a}case 48:break;default:{v=0;p=k;q=0;o=0;break a}}b=c[D>>2]|0;if(b>>>0<(c[E>>2]|0)>>>0){c[D>>2]=b+1;b=d[b>>0]|0;k=1;continue}else{b=H$(a)|0;k=1;continue}}if((A|0)==6){b=c[D>>2]|0;if(b>>>0<(c[E>>2]|0)>>>0){c[D>>2]=b+1;b=d[b>>0]|0}else b=H$(a)|0;if((b|0)==48){k=0;b=0;while(1){k=r3(k|0,b|0,-1,-1)|0;o=z;b=c[D>>2]|0;if(b>>>0<(c[E>>2]|0)>>>0){c[D>>2]=b+1;b=d[b>>0]|0}else b=H$(a)|0;if((b|0)==48)b=o;else{v=1;p=1;q=k;break}}}else{v=1;p=k;q=0;o=0}}c[G>>2]=0;n=b+-48|0;m=(b|0)==46;b:do if(m|n>>>0<10){C=G+496|0;w=0;k=0;u=0;x=v;y=p;A=n;p=0;n=0;c:while(1){do if(m)if(!x){x=1;q=p;o=n}else break c;else{p=r3(p|0,n|0,1,0)|0;n=z;v=(b|0)!=48;if((k|0)>=125){if(!v)break;c[C>>2]=c[C>>2]|1;break}m=G+(k<<2)|0;if(!w)b=A;else b=b+-48+((c[m>>2]|0)*10|0)|0;c[m>>2]=b;w=w+1|0;y=(w|0)==9;w=y?0:w;k=k+(y&1)|0;u=v?p:u;y=1}while(0);b=c[D>>2]|0;if(b>>>0<(c[E>>2]|0)>>>0){c[D>>2]=b+1;b=d[b>>0]|0}else b=H$(a)|0;A=b+-48|0;m=(b|0)==46;if(!(m|A>>>0<10)){v=x;m=y;A=29;break b}}b=w;m=(y|0)!=0;A=37}else{w=0;k=0;u=0;m=p;p=0;n=0;A=29}while(0);do if((A|0)==29){C=(v|0)==0;q=C?p:q;o=C?n:o;m=(m|0)!=0;if(!(m&(b|32|0)==101))if((b|0)>-1){b=w;A=37;break}else{b=w;A=39;break}m=W1(a,h)|0;b=z;if((m|0)==0&(b|0)==-2147483648){if(!h){F$(a,0);i=0.0;break}if(!(c[E>>2]|0)){m=0;b=0}else{c[D>>2]=(c[D>>2]|0)+-1;m=0;b=0}}y=r3(m|0,b|0,q|0,o|0)|0;b=w;o=z;A=41}while(0);if((A|0)==37)if(c[E>>2]|0){c[D>>2]=(c[D>>2]|0)+-1;if(m){y=q;A=41}else A=40}else A=39;if((A|0)==39)if(m){y=q;A=41}else A=40;do if((A|0)==40){c[(N_()|0)>>2]=22;F$(a,0);i=0.0}else if((A|0)==41){m=c[G>>2]|0;if(!m){i=+(g|0)*0.0;break}if(((n|0)<0|(n|0)==0&p>>>0<10)&((y|0)==(p|0)&(o|0)==(n|0))?(e|0)>30|(m>>>e|0)==0:0){i=+(g|0)*+(m>>>0);break}a=(f|0)/-2|0;E=((a|0)<0)<<31>>31;if((o|0)>(E|0)|(o|0)==(E|0)&y>>>0>a>>>0){c[(N_()|0)>>2]=34;i=+(g|0)*1797693134862315708145274.0e284*1797693134862315708145274.0e284;break}a=f+-106|0;E=((a|0)<0)<<31>>31;if((o|0)<(E|0)|(o|0)==(E|0)&y>>>0>>0){c[(N_()|0)>>2]=34;i=+(g|0)*2.2250738585072014e-308*2.2250738585072014e-308;break}if(b){if((b|0)<9){n=G+(k<<2)|0;m=c[n>>2]|0;while(1){m=m*10|0;if((b|0)>=8)break;else b=b+1|0}c[n>>2]=m}k=k+1|0}if((u|0)<9?(u|0)<=(y|0)&(y|0)<18:0){if((y|0)==9){i=+(g|0)*+((c[G>>2]|0)>>>0);break}if((y|0)<9){i=+(g|0)*+((c[G>>2]|0)>>>0)/+(c[63608+(8-y<<2)>>2]|0);break}a=e+27+(O(y,-3)|0)|0;b=c[G>>2]|0;if((a|0)>30|(b>>>a|0)==0){i=+(g|0)*+(b>>>0)*+(c[63608+(y+-10<<2)>>2]|0);break}}b=(y|0)%9|0;if(!b){b=0;n=0}else{u=(y|0)>-1?b:b+9|0;p=c[63608+(8-u<<2)>>2]|0;if(k){q=1e9/(p|0)|0;n=0;o=0;m=y;b=0;do{D=G+(b<<2)|0;E=c[D>>2]|0;a=((E>>>0)/(p>>>0)|0)+n|0;c[D>>2]=a;n=O(q,(E>>>0)%(p>>>0)|0)|0;a=(b|0)==(o|0)&(a|0)==0;m=a?m+-9|0:m;o=a?o+1&127:o;b=b+1|0}while((b|0)!=(k|0));if(!n)n=o;else{c[G+(k<<2)>>2]=n;n=o;k=k+1|0}}else{n=0;k=0;m=y}b=0;y=9-u+m|0}d:while(1){u=(y|0)<18;v=(y|0)==18;w=G+(n<<2)|0;while(1){if(!u){if(!v){m=y;break d}if((c[w>>2]|0)>>>0>=9007199){m=18;break d}}m=0;x=k;k=k+127|0;while(1){o=k&127;p=G+(o<<2)|0;k=z3(c[p>>2]|0,0,29)|0;k=r3(k|0,z|0,m|0,0)|0;m=z;if(m>>>0>0|(m|0)==0&k>>>0>1e9){q=v3(k|0,m|0,1e9,0)|0;k=w3(k|0,m|0,1e9,0)|0}else q=0;c[p>>2]=k;a=(o|0)==(n|0);x=(k|0)==0&(((o|0)!=(x+127&127|0)|a)^1)?o:x;if(a)break;else{m=q;k=o+-1|0}}b=b+-29|0;if(q|0)break;else k=x}n=n+127&127;k=x+127&127;m=G+((x+126&127)<<2)|0;if((n|0)==(x|0))c[m>>2]=c[m>>2]|c[G+(k<<2)>>2];else k=x;c[G+(n<<2)>>2]=q;y=y+9|0}e:while(1){w=k+1&127;x=G+((k+127&127)<<2)|0;while(1){q=(m|0)==18;v=(m|0)>27?9:1;y=n;while(1){p=0;while(1){n=p+y&127;if((n|0)==(k|0)){F=2;A=88;break}n=c[G+(n<<2)>>2]|0;o=c[63640+(p<<2)>>2]|0;if(n>>>0>>0){F=2;A=88;break}if(n>>>0>o>>>0)break;n=p+1|0;if((p|0)<1)p=n;else{F=n;A=88;break}}if((A|0)==88?(A=0,q&(F|0)==2):0){i=0.0;o=0;break e}b=v+b|0;if((y|0)==(k|0))y=k;else break}q=(1<>>v;p=0;n=y;o=y;do{D=G+(o<<2)|0;E=c[D>>2]|0;a=(E>>>v)+p|0;c[D>>2]=a;p=O(E&q,u)|0;a=(o|0)==(n|0)&(a|0)==0;m=a?m+-9|0:m;n=a?n+1&127:n;o=o+1&127}while((o|0)!=(k|0));if(!p)continue;if((w|0)!=(n|0))break;c[x>>2]=c[x>>2]|1}c[G+(k<<2)>>2]=p;k=w}do{n=o+y&127;m=k+1&127;if((n|0)==(k|0)){c[G+(m+-1<<2)>>2]=0;k=m}i=i*1.0e9+ +((c[G+(n<<2)>>2]|0)>>>0);o=o+1|0}while((o|0)!=2);t=+(g|0);j=i*t;o=b+53|0;p=o-f|0;q=(p|0)<(e|0);n=q?((p|0)>0?p:0):e;if((n|0)<53){K=+o$(+l$(1.0,105-n|0),j);r=+q$(j,+l$(1.0,53-n|0));s=K;i=r;r=K+(j-r)}else{s=0.0;i=0.0;r=j}m=y+2&127;if((m|0)!=(k|0)){m=c[G+(m<<2)>>2]|0;do if(m>>>0>=5e8){if((m|0)!=5e8){i=t*.75+i;break}if((y+3&127|0)==(k|0)){i=t*.5+i;break}else{i=t*.75+i;break}}else{if((m|0)==0?(y+3&127|0)==(k|0):0)break;i=t*.25+i}while(0);if((53-n|0)>1?!(+q$(i,1.0)!=0.0):0)j=i+1.0;else j=i}else j=i;i=r+j-s;do if((o&2147483647|0)>(-2-H|0)){H=!(+B(+i)>=9007199254740992.0);b=b+((H^1)&1)|0;i=H?i:i*.5;if((b+50|0)<=(I|0)?!(j!=0.0&(q&((n|0)!=(p|0)|H))):0)break;c[(N_()|0)>>2]=34}while(0);i=+p$(i,b)}while(0);l=J;return +i}function W1(a,b){a=a|0;b=b|0;var e=0,f=0,g=0,h=0,i=0;h=a+4|0;e=c[h>>2]|0;i=a+100|0;if(e>>>0<(c[i>>2]|0)>>>0){c[h>>2]=e+1;e=d[e>>0]|0}else e=H$(a)|0;switch(e|0){case 43:case 45:{f=(e|0)==45&1;e=c[h>>2]|0;if(e>>>0<(c[i>>2]|0)>>>0){c[h>>2]=e+1;e=d[e>>0]|0}else e=H$(a)|0;if((b|0)!=0&(e+-48|0)>>>0>9?(c[i>>2]|0)!=0:0)c[h>>2]=(c[h>>2]|0)+-1;break}default:f=0}if((e+-48|0)>>>0>9)if(!(c[i>>2]|0)){f=-2147483648;e=0}else{c[h>>2]=(c[h>>2]|0)+-1;f=-2147483648;e=0}else{g=0;do{g=e+-48+(g*10|0)|0;e=c[h>>2]|0;if(e>>>0<(c[i>>2]|0)>>>0){c[h>>2]=e+1;e=d[e>>0]|0}else e=H$(a)|0}while((e+-48|0)>>>0<10&(g|0)<214748364);b=((g|0)<0)<<31>>31;if((e+-48|0)>>>0<10)do{b=q3(g|0,b|0,10,0)|0;g=z;e=r3(e|0,((e|0)<0)<<31>>31|0,-48,-1)|0;g=r3(e|0,z|0,b|0,g|0)|0;b=z;e=c[h>>2]|0;if(e>>>0<(c[i>>2]|0)>>>0){c[h>>2]=e+1;e=d[e>>0]|0}else e=H$(a)|0}while((e+-48|0)>>>0<10&((b|0)<21474836|(b|0)==21474836&g>>>0<2061584302));if((e+-48|0)>>>0<10)do{e=c[h>>2]|0;if(e>>>0<(c[i>>2]|0)>>>0){c[h>>2]=e+1;e=d[e>>0]|0}else e=H$(a)|0}while((e+-48|0)>>>0<10);if(c[i>>2]|0)c[h>>2]=(c[h>>2]|0)+-1;i=(f|0)!=0;e=s3(0,0,g|0,b|0)|0;f=i?z:b;e=i?e:g}z=f;return e|0}function X1(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;e=a+84|0;g=c[e>>2]|0;h=d+256|0;f=C$(g,0,h)|0;f=(f|0)==0?h:f-g|0;d=f>>>0>>0?f:d;E3(b|0,g|0,d|0)|0;c[a+4>>2]=g+d;b=g+f|0;c[a+8>>2]=b;c[e>>2]=b;return d|0}function Y1(a,b,c){a=a|0;b=b|0;c=c|0;return Z1(a,b,c)|0}function Z1(a,b,d){a=a|0;b=b|0;d=d|0;var e=0;if((c[a+76>>2]|0)>-1){e=(s0(a)|0)==0;b=_1(a,b,d)|0;if(!e)t0(a)}else b=_1(a,b,d)|0;return b|0}function _1(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;if((d|0)==1)b=b-(c[a+8>>2]|0)+(c[a+4>>2]|0)|0;e=a+20|0;f=a+28|0;if((c[e>>2]|0)>>>0>(c[f>>2]|0)>>>0?(nb[c[a+36>>2]&63](a,0,0)|0,(c[e>>2]|0)==0):0)b=-1;else{c[a+16>>2]=0;c[f>>2]=0;c[e>>2]=0;if((nb[c[a+40>>2]&63](a,b,d)|0)<0)b=-1;else{c[a+8>>2]=0;c[a+4>>2]=0;c[a>>2]=c[a>>2]&-17;b=0}}return b|0}function $1(b){b=b|0;var c=0,d=0,e=0,f=0,g=0;while(1){e=b+1|0;if(!(A$(a[b>>0]|0)|0))break;else b=e}d=a[b>>0]|0;switch(d<<24>>24|0){case 45:{b=1;f=5;break}case 43:{b=0;f=5;break}default:{g=0;c=b;b=d}}if((f|0)==5){g=b;c=e;b=a[e>>0]|0}if(!(D$(b<<24>>24)|0))b=0;else{b=0;do{b=(b*10|0)+48-(a[c>>0]|0)|0;c=c+1|0}while((D$(a[c>>0]|0)|0)!=0)}return (g|0?b:0-b|0)|0}function a2(a){a=a|0;return +(+b2(a,0))}function b2(a,b){a=a|0;b=b|0;return +(+c2(a,b,1))}function c2(a,b,d){a=a|0;b=b|0;d=d|0;var e=0.0,f=0,g=0,h=0,i=0;i=l;l=l+128|0;h=i;f=h;g=f+124|0;do{c[f>>2]=0;f=f+4|0}while((f|0)<(g|0));f=h+4|0;c[f>>2]=a;g=h+8|0;c[g>>2]=-1;c[h+44>>2]=a;c[h+76>>2]=-1;F$(h,0);e=+T1(h,d,1);d=(c[f>>2]|0)-(c[g>>2]|0)+(c[h+108>>2]|0)|0;if(b|0)c[b>>2]=d|0?a+d|0:a;l=i;return +e}function d2(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0;a:do if(!c)b=0;else{h=b;while(1){g=c>>>1;b=h+(O(g,d)|0)|0;f=lb[e&127](a,b)|0;if(!f)break a;if((c|0)==1){b=0;break a}f=(f|0)<0;c=f?g:c-g|0;if(!c){b=0;break}else h=f?h:b}}while(0);return b|0}function e2(a,c){a=a|0;c=c|0;var d=0,f=0,g=0;g=a+2|0;f=a+4|0;d=q3((e[c+2>>1]|0)<<16|(e[c>>1]|0)|0,e[c+4>>1]|0|0,(e[g>>1]|0)<<16|(e[a>>1]|0)|0,e[f>>1]|0|0)|0;c=r3(d|0,z|0,e[c+6>>1]|0|0,0)|0;d=z;b[a>>1]=c;a=y3(c|0,d|0,16)|0;b[g>>1]=a;b[f>>1]=d;z=d&65535;return c|0}function f2(){var a=0,b=0,d=0;b=183528;b=q3(c[b>>2]|0,c[b+4>>2]|0,1284865837,1481765933)|0;b=r3(b|0,z|0,1,0)|0;a=z;d=183528;c[d>>2]=b;c[d+4>>2]=a;a=y3(b|0,a|0,33)|0;return a|0}function g2(a){a=a|0;E3(190672,65740,6)|0;E3(65740,a|0,6)|0;return 190672}function h2(a){a=a|0;var c=0,d=0;c=l;l=l+16|0;d=c;b[d>>1]=13070;b[d+2>>1]=a;b[d+4>>1]=a>>>16;g2(d)|0;l=c;return}function i2(a){a=a|0;var b=0;b=e2(a,65746)|0;b=z3(b|0,z|0,4)|0;a=z|1072693248;c[j>>2]=b;c[j+4>>2]=a;return +(+h[j>>3]+-1.0)}function j2(){return +(+i2(65740))}function k2(a,b){a=a|0;b=b|0;if(!a)b=D_(1,24)|0;else G3(b|0,0,24)|0;return b|0}function l2(a){a=a|0;var b=0,d=0;b=c[a>>2]|0;if(b|0)do{C_(c[b>>2]|0);d=b;b=c[b+4>>2]|0;C_(d)}while((b|0)!=0);C_(a);return}function m2(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0;h=a+16|0;a:do if(!(c[h>>2]|0)){k=a+12|0;g=c[k>>2]|0;if(g>>>0>>0){do if(b)if(!d){c[h>>2]=1;b=0;break a}else{h=a+8|0;c[h>>2]=d;g=1024;b=d;break}else{g=f<<3;g=g>>>0>1024?g:1024;j=B_(8)|0;if(!j){c[h>>2]=1;b=0;break a}b=B_(g)|0;c[j>>2]=b;d=b;if(!b){C_(j);c[h>>2]=1;b=0;break a}c[j+4>>2]=0;h=a+4|0;i=c[h>>2]|0;if(i|0)c[i+4>>2]=j;if(!(c[a>>2]|0))c[a>>2]=j;c[h>>2]=j;h=a+8|0;c[h>>2]=d}while(0);c[k>>2]=g}else{h=a+8|0;b=c[h>>2]|0;d=b}d=d+f&3;d=((d|0)==0?0:4-d|0)+f|0;c[h>>2]=b+d;c[k>>2]=g-d;if(e)G3(b|0,0,d|0)|0}else b=0;while(0);return b|0}function n2(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0;v=l;l=l+48|0;h=v;t=o2()|0;a:do if(!t)b=12;else{u=k2(0,0)|0;if(!u){p2(t);b=12;break}G3(h|0,0,36)|0;c[h>>2]=u;c[h+4>>2]=t;c[h+16>>2]=b;c[h+32>>2]=d;e=h+28|0;c[e>>2]=-1;b=q2(h)|0;b:do if(!b){g=h+20|0;r=c[g>>2]|0;c[a>>2]=r+-1;i=c[h+8>>2]|0;if((c[e>>2]|0)<(r|0)){r=D_(1,68)|0;if(r){q=(c[e>>2]|0)>>>31^1;c[r+60>>2]=q;c[r+64>>2]=0;c[r+28>>2]=c[g>>2];if((d&8|0)==0|(q|0)!=0){b=r2(0,t,i,r)|0;if(b|0){g=r;h=0;i=0;f=0;e=0;break}e=r+40|0;b=c[e>>2]|0;if((b|0)>0){b=B_((b<<2)+4|0)|0;if(!b){g=r;h=0;i=0;b=12;f=0;e=0;break}c[r+32>>2]=b;G3(b|0,-1,(c[e>>2]<<2)+4|0)|0;f=b;b=c[e>>2]|0}else f=0;q=D_(b<<1|1,4)|0;c[r+36>>2]=q;if(!q){g=r;h=0;i=0;b=12;f=0;e=0;break}b=D_(c[g>>2]|0,12)|0;if(!b){g=r;h=0;i=0;b=12;f=0;e=0;break}c[r+16>>2]=b;b=r2(u,t,i,r)|0;if(!b)b=f;else{g=r;h=0;i=0;f=0;e=0;break}}else b=0;p=h+24|0;b=s2(u,t,i,p,b)|0;if(!b){b=c[p>>2]|0;c[p>>2]=b+1;b=t2(u,0,0,b)|0;if((b|0)!=0?(s=u2(u,i,b)|0,(s|0)!=0):0){b=v2(u,t,s)|0;if(!b){o=B_(c[p>>2]<<2)|0;if(o){q=B_(c[p>>2]<<2)|0;if(q){b=c[p>>2]|0;if((b|0)>0)G3(o|0,0,b<<2|0)|0;w2(s,0,o,0)|0;f=c[p>>2]|0;if((f|0)>0){b=0;e=0;do{c[q+(e<<2)>>2]=b;n=o+(e<<2)|0;b=b+1+(c[n>>2]|0)|0;c[n>>2]=0;e=e+1|0}while((e|0)<(f|0));k=b}else k=0;m=D_(k+1|0,32)|0;if(m){c[r>>2]=m;n=r+4|0;c[n>>2]=k;b=w2(s,m,o,q)|0;if(!b){c[r+20>>2]=0;f=s+24|0;b=c[f>>2]|0;e=0;while(1){e=e+1|0;if((c[b>>2]|0)<=-1)break;else b=b+32|0}j=D_(e,32)|0;if(!j){g=r;h=o;i=q;b=12;f=o;e=q}else{c[r+8>>2]=j;f=c[f>>2]|0;e=c[f>>2]|0;if((e|0)>-1){b=0;do{c[j+(b<<5)+8>>2]=m+(c[q+(e<<2)>>2]<<5);c[j+(b<<5)+12>>2]=e;h=j+(b<<5)+16|0;c[h>>2]=0;i=f+12|0;g=c[i>>2]|0;if(g|0){e=0;do{w=e;e=e+1|0}while((c[g+(w<<2)>>2]|0)>-1);e=e<<2;g=B_(e)|0;c[h>>2]=g;if(!g){g=r;h=o;i=q;b=12;f=o;e=q;break b}E3(g|0,c[i>>2]|0,e|0)|0}c[j+(b<<5)+20>>2]=c[f+16>>2];b=b+1|0;f=f+32|0;e=c[f>>2]|0}while((e|0)>-1)}else b=0;c[j+(b<<5)+8>>2]=0;c[n>>2]=k;c[r+12>>2]=m+(c[q+(c[c[s+28>>2]>>2]<<2)>>2]<<5);c[r+52>>2]=c[p>>2];c[r+56>>2]=d;l2(u);p2(t);C_(o);C_(q);c[a+4>>2]=r;b=0;break a}}else{g=r;h=o;i=q;f=o;e=q}}else{g=r;h=o;i=q;b=12;f=o;e=q}}else{g=r;h=o;i=q;b=12;f=o;e=0}}else{g=r;h=o;i=0;b=12;f=0;e=0}}else{g=r;h=0;i=0;f=0;e=0}}else{g=r;h=0;i=0;b=12;f=0;e=0}}else{g=r;h=0;i=0;f=0;e=0}}else{g=r;h=0;i=0;b=12;f=0;e=0}}else{g=0;h=0;i=0;b=6;f=0;e=0}}else{g=0;h=0;i=0;f=0;e=0}while(0);l2(u);p2(t);if(h|0)C_(f);if(i|0)C_(e);c[a+4>>2]=g;x2(a)}while(0);l=v;return b|0}function o2(){var a=0,b=0;a=B_(20)|0;do if(a){b=B_(2048)|0;c[a+16>>2]=b;if(!b){C_(a);a=0;break}else{c[a>>2]=512;c[a+4>>2]=1024e3;c[a+8>>2]=128;c[a+12>>2]=0;break}}while(0);return a|0}function p2(a){a=a|0;C_(c[a+16>>2]|0);C_(a);return}function q2(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;u=l;l=l+16|0;p=u+4|0;q=u;r=c[b+32>>2]&1;s=b+16|0;e=c[s>>2]|0;t=c[b+4>>2]|0;d=B2(t,0)|0;a:do if(!d){m=(r|0)!=0;n=b+8|0;o=b+12|0;d=0;k=1;b:while(1){g=0;h=d;f=0;c:while(1){d=a[e>>0]|0;if(m){if(d<<24>>24==40)break;if((h|0)!=0&d<<24>>24==41)j=13;else j=14}else if(d<<24>>24==92)switch(a[e+1>>0]|0){case 40:break c;case 41:{j=13;break}default:j=14}else j=14;if((j|0)==13){j=0;i=t2(c[b>>2]|0,-1,-1,-1)|0;c[n>>2]=i;if(!i){d=12;break a}else i=f}else if((j|0)==14){j=0;d=Q2(b,e)|0;if(d|0)break a;i=f;e=c[o>>2]|0}d:while(1){e:while(1){d=a[e>>0]|0;switch(d<<24>>24){case 42:case 92:break;default:{if(!m)break e;switch(d<<24>>24){case 123:case 63:case 43:break;default:break e}}}d=d<<24>>24==92;if(m&d)break;f=e+1|0;if(d)switch(a[f>>0]|0){case 123:case 63:case 43:break;default:break e}e=d?f:e;if((!m?(e|0)==((c[s>>2]|0)+1|0):0)?(a[e+-1>>0]|0)==94:0)break;if((a[e>>0]|0)==123){e=R2(e+1|0,r,p,q)|0;if(!e){j=28;break b}d=c[q>>2]|0;f=c[b>>2]|0;if(!d)d=t2(f,-1,-1,-1)|0;else j=36}else{c[p>>2]=0;c[q>>2]=-1;d=a[e>>0]|0;if(d<<24>>24==43){c[p>>2]=1;d=a[e>>0]|0}if(d<<24>>24==63){c[q>>2]=1;d=1}else d=-1;e=e+1|0;f=c[b>>2]|0;j=36}if((j|0)==36){j=0;d=L2(f,c[n>>2]|0,c[p>>2]|0,d,0)|0}c[n>>2]=d;if(!d){d=12;break a}}d=u2(c[b>>2]|0,g,c[n>>2]|0)|0;f=a[e>>0]|0;f:do if(m){if(f<<24>>24==124){j=40;break d}if((h|0)!=0&f<<24>>24==41|f<<24>>24==0)j=47;else{g=d;f=i;continue c}}else{switch(f<<24>>24){case 0:{j=47;break f}case 92:break;default:{g=d;f=i;continue c}}switch(a[e+1>>0]|0){case 124:case 41:break;default:{g=d;f=i;continue c}}d=M2(c[b>>2]|0,i,d)|0;if((a[e+1>>0]|0)==124){f=2;break d}if(!h){d=8;break a}e=e+2|0;f=92}while(0);if((j|0)==47){j=0;d=M2(c[b>>2]|0,i,d)|0;e=f<<24>>24==41?e+1|0:e}d=S2(b,d,C2(t)|0)|0;if(d|0)break a;d=f<<24>>24==0;f=(h|0)<1;if(f&d){j=50;break b}if(f|d){d=8;break a}g=D2(t)|0;h=h+-1|0;i=D2(t)|0}if((j|0)==40){f=1;d=M2(c[b>>2]|0,i,d)|0}g=0;e=e+f|0;f=d}d=A2(t,f)|0;if(d|0)break a;d=A2(t,g)|0;if(d|0)break a;d=B2(t,k)|0;if(d|0)break a;d=h+1|0;k=k+1|0;e=m?e+1|0:e+2|0}if((j|0)==28){d=10;break}else if((j|0)==50){c[b+20>>2]=k;d=0;break}}while(0);l=u;return d|0}function r2(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0;x=z2(d)|0;y=(b|0)==0|(f|0)==0;if(!y){c[f+48>>2]=0;c[c[f+36>>2]>>2]=-1}g=f+28|0;z=B_((c[g>>2]<<3)+8|0)|0;do if(!z)g=12;else{c[z>>2]=-1;A=B_((c[g>>2]<<2)+4|0)|0;if(!A){C_(z);g=12;break}c[A>>2]=-1;B=B_((c[g>>2]<<3)+8|0)|0;if(!B){C_(z);C_(A);g=12;break}h=c[g>>2]|0;g=0;do{c[B+(g<<3)>>2]=-1;g=g+1|0}while(g>>>0<=h>>>0);A2(d,e)|0;g=B2(d,0)|0;a:do if((g|0)!=0|(z2(d)|0)<=(x|0)){e=z;n=0;h=0;m=0;l=-1}else{u=f+32|0;v=f+36|0;w=f+16|0;e=z;n=0;h=0;m=0;t=1;l=-1;s=0;while(1){b:do switch(C2(d)|0){case 6:{i=C2(d)|0;g=0;do{j=e+(g<<2)|0;g=g+1|0}while((c[j>>2]|0)>-1);c[j>>2]=i<<1|1;c[e+(g<<2)>>2]=-1;g=0;while(1)if((c[A+(g<<2)>>2]|0)>-1)g=g+1|0;else break;c[A+(g+-1<<2)>>2]=-1;g=0;j=t;i=s;break}case 0:{q=D2(d)|0;r=q+12|0;j=c[r>>2]|0;if((j|0)>-1){g=0;do{i=e+(g<<2)|0;g=g+1|0}while((c[i>>2]|0)>-1);c[i>>2]=j<<1;c[e+(g<<2)>>2]=-1;if(!y){g=0;while(1)if((c[A+(g<<2)>>2]|0)>-1)g=g+1|0;else break;c[(c[w>>2]|0)+(j*12|0)+8>>2]=0;if((g|0)>0){g=B_((g<<2)+4|0)|0;if(!g){g=12;j=t;i=s;break b}c[(c[w>>2]|0)+(j*12|0)+8>>2]=g;i=c[A>>2]|0;if((i|0)>-1){k=0;j=g;do{c[j>>2]=i;k=k+1|0;i=c[A+(k<<2)>>2]|0;j=g+(k<<2)|0}while((i|0)>-1);g=j}c[g>>2]=-1}}g=B2(d,c[r>>2]|0)|0;if(g|0){j=t;i=s;break b}g=B2(d,6)|0;if(g|0){j=t;i=s;break b}}c:do switch(c[q>>2]|0){case 0:{p=c[c[q+4>>2]>>2]|0;if((p|0)>-1|(p|0)==-4?(c[e>>2]|0)>-1:0){if(y){c[q+20>>2]=1;g=0}else{g=N2(b,q,m)|0;c[(c[u>>2]|0)+(m<<2)>>2]=s;if((l|0)>-1){j=c[v>>2]|0;i=0;while(1){k=j+(i<<2)|0;o=i+1|0;if((c[k>>2]|0)>-1)i=o;else break}c[k>>2]=m;c[j+(o<<2)>>2]=l;c[j+(i+2<<2)>>2]=-1;h=h+1|0;l=-1}O2(e,f,m)}c[e>>2]=-1;p=t+1|0;o=s;n=n+1|0;m=t}else{p=t;g=0;o=s}break}case 1:{j=c[q+4>>2]|0;k=c[j>>2]|0;j=c[j+4>>2]|0;g=A2(d,q)|0;if(!g){g=B2(d,5)|0;if(!g){g=A2(d,j)|0;if(!g){g=B2(d,0)|0;if(!g){i=k+20|0;g=B2(d,(c[i>>2]|0)+t|0)|0;if(!g){if((c[i>>2]|0)>0){i=(c[j+20>>2]|0)>0;g=i?t:-1;i=t+(i&1)|0}else{g=-1;i=t}g=B2(d,g)|0;if(!g){g=B2(d,4)|0;if(!g){g=A2(d,k)|0;if(!g){p=i;g=B2(d,0)|0;o=s}else{p=i;o=s}}else{p=i;o=s}}else{p=i;o=s}}else{p=t;o=s}}else{p=t;o=s}}else{p=t;o=s}}else{p=t;o=s}}else{p=t;o=s}break}case 2:{i=c[q+4>>2]|0;if(y){if((c[e>>2]|0)>-1)g=1;else g=(a[i+12>>0]&1)!=0;g=B2(d,g&1)|0;if(g|0){p=t;o=s;break c}}else{g=B2(d,m)|0;if(g|0){p=t;o=s;break c}g=B2(d,a[i+12>>0]&1)|0;if(g|0){p=t;o=s;break c}}g=A2(d,q)|0;if(!g){g=B2(d,1)|0;if(!g){g=A2(d,c[i>>2]|0)|0;if(!g){g=B2(d,0)|0;if(!g){if((c[e>>2]|0)<=-1?(a[i+12>>0]&1)==0:0){p=t;g=0;o=0;break c}if(y)g=0;else{g=N2(b,q,m)|0;c[(c[u>>2]|0)+(m<<2)>>2]=(a[i+12>>0]&1)==0?s:1;if((l|0)>-1){j=c[v>>2]|0;i=0;while(1){k=j+(i<<2)|0;o=i+1|0;if((c[k>>2]|0)>-1)i=o;else break}c[k>>2]=m;c[j+(o<<2)>>2]=l;c[j+(i+2<<2)>>2]=-1;h=h+1|0;l=-1}O2(e,f,m)}c[e>>2]=-1;p=t+1|0;o=0;n=n+1|0;m=t}else{p=t;o=s}}else{p=t;o=s}}else{p=t;o=s}}else{p=t;o=s}break}case 3:{j=c[q+4>>2]|0;k=c[j>>2]|0;j=c[j+4>>2]|0;i=(c[e>>2]|0)>-1;p=t+1|0;g=B2(d,i?p:t)|0;if(!g){g=B2(d,i?t:m)|0;if(!g){g=A2(d,e)|0;if(!g){g=B2(d,(c[e>>2]|0)>>>31^1)|0;if(!g){g=A2(d,q)|0;if(!g){g=A2(d,j)|0;if(!g){g=A2(d,k)|0;if(!g){g=B2(d,3)|0;if(!g){g=A2(d,j)|0;if(!g){g=B2(d,0)|0;if(g|0){p=t;o=s;break c}g=B2(d,2)|0;if(g|0){p=t;o=s;break c}g=A2(d,k)|0;if(g|0){p=t;o=s;break c}g=B2(d,0)|0;if(g|0){p=t;o=s;break c}if((c[e>>2]|0)>-1){if(y)g=0;else{g=N2(b,q,m)|0;c[(c[u>>2]|0)+(m<<2)>>2]=s;if((l|0)>-1){j=c[v>>2]|0;i=0;while(1){k=j+(i<<2)|0;o=i+1|0;if((c[k>>2]|0)>-1)i=o;else break}c[k>>2]=m;c[j+(o<<2)>>2]=l;c[j+(i+2<<2)>>2]=-1;h=h+1|0;l=-1}O2(e,f,m)}c[e>>2]=-1;n=n+1|0;m=t;i=p}else{g=0;i=t}t=(c[q+16>>2]|0)>0;p=t?i+2|0:i;o=s;m=t?i+1|0:m}else{p=t;o=s}}else{p=t;o=s}}else{p=t;o=s}}else{p=t;o=s}}else{p=t;o=s}}else{p=t;o=s}}else{p=t;o=s}}else{p=t;o=s}}else{p=t;o=s}break}default:{p=t;g=0;o=s}}while(0);j=c[r>>2]|0;if((j|0)>-1){i=0;do{k=A+(i<<2)|0;i=i+1|0}while((c[k>>2]|0)>-1);c[k>>2]=j;c[A+(i<<2)>>2]=-1;j=p;i=o}else{j=p;i=o}break}case 1:{g=D2(d)|0;if(y){i=c[(c[c[g+4>>2]>>2]|0)+20>>2]|0;c[g+20>>2]=(C2(d)|0)+i;i=0;l=-1}else{q=C2(d)|0;r=C2(d)|0;i=q;l=(q|0)==0?l:r}g=0;j=t;i=y?s:(i|0)==0&1;break}case 4:{i=C2(d)|0;j=C2(d)|0;g=0;m=(i|0)>-1?i:m;i=s;break}case 5:{g=D2(d)|0;if(y){j=c[g+4>>2]|0;c[g+20>>2]=(c[(c[j+4>>2]|0)+20>>2]|0)+(c[(c[j>>2]|0)+20>>2]|0);g=0;j=t;i=s}else{g=0;j=t;i=s}break}case 2:{while(1)if((c[e>>2]|0)>-1)e=e+4|0;else{g=0;j=t;i=s;break}break}case 3:{j=D2(d)|0;o=D2(d)|0;g=D2(d)|0;e=C2(d)|0;if(y){r=c[g+4>>2]|0;s=g+16|0;c[g+20>>2]=(c[(c[r>>2]|0)+20>>2]|0)+e+(c[(c[r+4>>2]|0)+20>>2]|0)+((c[s>>2]|0)>0?2:0);g=s}else g=g+16|0;e=D2(d)|0;i=C2(d)|0;k=C2(d)|0;if((c[g>>2]|0)>0){if(y)g=0;else{g=P2(b,j,i)|0;c[(c[u>>2]|0)+(i<<2)>>2]=1;if(!g)g=P2(b,o,k)|0;c[(c[u>>2]|0)+(k<<2)>>2]=1}n=n+2|0;j=t;i=1}else{g=0;j=t;i=1}break}default:{g=0;j=t;i=s}}while(0);if((g|0)!=0|(z2(d)|0)<=(x|0))break a;else{t=j;s=i}}}while(0);if(!y?(O2(e,f,m),(l|0)>-1):0){i=c[f+36>>2]|0;e=0;while(1){j=i+(e<<2)|0;k=e+1|0;if((c[j>>2]|0)>-1)e=k;else break}c[j>>2]=m;c[i+(k<<2)>>2]=l;c[i+(e+2<<2)>>2]=-1;h=h+1|0}c[f+48>>2]=n;c[f+40>>2]=n;c[f+44>>2]=h;C_(z);C_(A);C_(B)}while(0);return g|0}function s2(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0;y=l;l=l+16|0;t=y+12|0;x=y+8|0;u=y+4|0;v=y;w=z2(b)|0;c[t>>2]=0;c[x>>2]=0;d=A2(b,d)|0;a:do if(!d){d=B2(b,0)|0;if(!d){b:do if((z2(b)|0)>(w|0)){g=0;i=0;j=0;c:while(1){q=C2(b)|0;r=D2(b)|0;d:do switch(q|0){case 0:{switch(c[r>>2]|0){case 0:{d=c[r+4>>2]|0;r=c[d>>2]|0;if(!((r|0)>-1|(r|0)==-4)){d=j;break d}r=d+8|0;d=(c[r>>2]|0)+j|0;c[r>>2]=d;if((d|0)<=(c[x>>2]|0)){d=j;break d}c[x>>2]=d;d=j;break d}case 3:{h=c[r+4>>2]|0;d=A2(b,c[h+4>>2]|0)|0;if(d|0)break b;d=B2(b,0)|0;if(d|0)break b;d=A2(b,c[h>>2]|0)|0;if(d|0)break b;break}case 1:{h=c[r+4>>2]|0;d=A2(b,c[h+4>>2]|0)|0;if(d|0)break b;d=B2(b,0)|0;if(d|0)break b;d=A2(b,c[h>>2]|0)|0;if(d|0)break b;break}case 2:{h=c[r+4>>2]|0;d=B2(b,j)|0;if(d|0)break b;d=A2(b,r)|0;if(d|0)break b;d=B2(b,1)|0;if(d|0)break b;d=A2(b,c[h>>2]|0)|0;if(d|0)break b;d=B2(b,0)|0;if(d|0)break b;if((c[h+4>>2]|0)<=1?(c[h+8>>2]|0)<=1:0)d=j;else{c[t>>2]=0;d=0}i=i+1|0;break d}default:{d=j;break d}}d=B2(b,0)|0;if(!d)d=j;else break b;break}case 1:{p=r+4|0;o=c[p>>2]|0;q=C2(b)|0;c[t>>2]=q;n=o+4|0;j=c[n>>2]|0;if((j|0)<=1)if((c[o+8>>2]|0)>1){c[u>>2]=0;if((j|0)>0)s=30;else{d=q;h=0;s=37}}else d=q;else{c[u>>2]=0;s=30}e:do if((s|0)==30){d=K2(a,b,c[o>>2]|0,(j|0)>1?1:2,t,f,v,x)|0;if(!d){h=0;k=q;m=1}else{s=34;break c}while(1){d=c[v>>2]|0;if(!h)h=d;else h=u2(a,h,d)|0;if(!h){d=12;s=34;break c}j=c[n>>2]|0;if((m|0)>=(j|0)){d=k;s=37;break e}k=c[t>>2]|0;m=m+1|0;d=K2(a,b,c[o>>2]|0,(m|0)<(j|0)?1:2,t,f,v,x)|0;if(d|0){s=34;break c}}}while(0);if((s|0)==37){s=0;n=o+8|0;k=c[n>>2]|0;if((k|0)==-1){k=c[t>>2]|0;d=K2(a,b,c[o>>2]|0,0,t,0,u,x)|0;if(d|0)break c;j=L2(a,c[u>>2]|0,0,-1,0)|0;c[u>>2]=j;if(!j){d=12;break c}else d=k}else if((j|0)<(k|0)){k=j;j=0;while(1){m=c[t>>2]|0;d=K2(a,b,c[o>>2]|0,0,t,0,v,x)|0;if(d|0){s=49;break c}if(!j){d=c[v>>2]|0;c[u>>2]=d}else{d=u2(a,c[v>>2]|0,j)|0;c[u>>2]=d}if(!d){d=12;s=49;break c}j=t2(a,-1,-1,-1)|0;if(!j){d=12;s=49;break c}j=M2(a,j,d)|0;c[u>>2]=j;if(!j){d=12;s=49;break c}k=k+1|0;if((k|0)>=(c[n>>2]|0)){d=m;break}}}else j=0;c[t>>2]=d;if(h){if(j){h=u2(a,h,j)|0;s=54}}else{h=j;s=54}if((s|0)==54){s=0;if(!h){d=12;break c}}c[p>>2]=c[h+4>>2];c[r>>2]=c[h>>2]}i=i+-1|0;h=d-q+g|0;if(!i){c[t>>2]=h;g=h;i=0;d=h}else g=h;break}default:d=j}while(0);if((z2(b)|0)>(w|0))j=d;else{d=0;break b}}break a}else{d=0;g=0}while(0);w=(c[e>>2]|0)+g|0;x=c[x>>2]|0;c[e>>2]=(x|0)>(w|0)?x:w}}while(0);l=y;return d|0}function t2(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0;f=m2(a,0,0,1,20)|0;a=J2(a,0,f)|0;if(!a)a=0;else{c[f>>2]=b;c[f+4>>2]=d;c[f+8>>2]=e}return a|0}function u2(a,b,d){a=a|0;b=b|0;d=d|0;var e=0;if(b){e=m2(a,0,0,1,8)|0;a=J2(a,1,e)|0;if(!a)d=0;else{c[e>>2]=b;c[e+4>>2]=d;c[a+16>>2]=(c[d+16>>2]|0)+(c[b+16>>2]|0);d=a}}return d|0}function v2(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0;o=l;l=l+16|0;j=o+4|0;k=o;m=z2(b)|0;d=A2(b,d)|0;a:do if(!d){d=B2(b,0)|0;if(!d)if((z2(b)|0)>(m|0)){b:while(1){h=C2(b)|0;i=D2(b)|0;c:do switch(h|0){case 0:switch(c[i>>2]|0){case 0:{g=c[i+4>>2]|0;f=c[g>>2]|0;if((f|0)==-4){c[i+8>>2]=0;d=g+8|0;h=E2(a,c[d>>2]|0,0,1114111,0,0,-1)|0;c[i+24>>2]=h;if(!h){d=12;break a}h=E2(a,c[d>>2]|0,0,1114111,0,0,c[g+4>>2]|0)|0;c[i+28>>2]=h;if(!h){d=12;break a}else break c}d=i+8|0;if((f|0)<0){c[d>>2]=1;h=F2(a)|0;c[i+24>>2]=h;if(!h){d=12;break a}h=F2(a)|0;c[i+28>>2]=h;if(!h){d=12;break a}else break c}else{c[d>>2]=0;d=g+8|0;e=g+4|0;h=E2(a,c[d>>2]|0,f,c[e>>2]|0,0,0,-1)|0;c[i+24>>2]=h;if(!h){d=12;break a}h=E2(a,c[d>>2]|0,c[g>>2]|0,c[e>>2]|0,c[g+12>>2]|0,c[g+16>>2]|0,-1)|0;c[i+28>>2]=h;if(!h){d=12;break a}else break c}}case 3:{d=A2(b,i)|0;if(d|0)break a;d=B2(b,1)|0;if(d|0)break a;e=i+4|0;d=A2(b,c[(c[e>>2]|0)+4>>2]|0)|0;if(d|0)break a;d=B2(b,0)|0;if(d|0)break a;d=A2(b,c[c[e>>2]>>2]|0)|0;if(d|0)break a;d=B2(b,0)|0;if(!d)break c;else break a}case 1:{d=A2(b,i)|0;if(d|0)break a;d=B2(b,2)|0;if(d|0)break a;e=i+4|0;d=A2(b,c[(c[e>>2]|0)+4>>2]|0)|0;if(d|0)break a;d=B2(b,0)|0;if(d|0)break a;d=A2(b,c[c[e>>2]>>2]|0)|0;if(d|0)break a;d=B2(b,0)|0;if(!d)break c;else break a}case 2:{d=A2(b,i)|0;if(d|0)break a;d=B2(b,3)|0;if(d|0)break a;d=A2(b,c[c[i+4>>2]>>2]|0)|0;if(d|0)break a;d=B2(b,0)|0;if(!d)break c;else break a}default:break c}case 1:{d=c[i+4>>2]|0;e=c[d>>2]|0;f=d+4|0;g=c[f>>2]|0;if(!(c[e+8>>2]|0))h=(c[g+8>>2]|0)!=0;else h=1;c[i+8>>2]=h&1;h=G2(a,c[e+24>>2]|0,c[g+24>>2]|0,0,0)|0;c[i+24>>2]=h;if(!h){d=12;break a}h=G2(a,c[(c[d>>2]|0)+28>>2]|0,c[(c[f>>2]|0)+28>>2]|0,0,0)|0;c[i+28>>2]=h;if(!h){d=12;break a}break}case 3:{h=c[i+4>>2]|0;d=c[h>>2]|0;if(!(c[h+4>>2]|0))e=1;else e=(c[d+8>>2]|0)!=0&1;c[i+8>>2]=e;c[i+24>>2]=c[d+24>>2];c[i+28>>2]=c[d+28>>2];break}case 2:{g=c[i+4>>2]|0;d=c[g>>2]|0;e=d+8|0;if(!(c[e>>2]|0))f=0;else f=(c[(c[g+4>>2]|0)+8>>2]|0)!=0;c[i+8>>2]=f&1;if(c[e>>2]|0){d=H2(b,d,0,0,j)|0;if(d|0)break b;e=B_((c[j>>2]<<2)+4|0)|0;if(!e){d=12;break b}c[e>>2]=-1;c[k>>2]=0;d=H2(b,c[g>>2]|0,e,k,0)|0;if(d|0){n=45;break b}d=g+4|0;h=i+24|0;c[h>>2]=G2(a,c[(c[d>>2]|0)+24>>2]|0,c[(c[g>>2]|0)+24>>2]|0,e,c[k>>2]|0)|0;C_(e);if(!(c[h>>2]|0)){d=12;break b}else f=d}else{c[i+24>>2]=c[d+24>>2];f=g+4|0}d=c[f>>2]|0;if(c[d+8>>2]|0){d=H2(b,d,0,0,j)|0;if(d|0)break b;e=B_((c[j>>2]<<2)+4|0)|0;if(!e){d=12;break b}c[e>>2]=-1;c[k>>2]=0;d=H2(b,c[f>>2]|0,e,k,0)|0;if(d|0){n=52;break b}i=i+28|0;c[i>>2]=G2(a,c[(c[g>>2]|0)+28>>2]|0,c[(c[f>>2]|0)+28>>2]|0,e,c[k>>2]|0)|0;C_(e);if(!(c[i>>2]|0)){d=12;break b}}else c[i+28>>2]=c[d+28>>2];break}default:{}}while(0);if((z2(b)|0)<=(m|0)){d=0;break a}}if((n|0)==45)C_(e);else if((n|0)==52)C_(e)}else d=0}while(0);l=o;return d|0}function w2(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0;a:while(1){switch(c[a>>2]|0){case 2:{a=c[a+4>>2]|0;if((c[a+8>>2]|0)==-1?(h=c[a>>2]|0,h=y2(c[h+28>>2]|0,c[h+24>>2]|0,b,d,e)|0,(h|0)!=0):0){a=h;break a}break}case 3:{f=c[a+4>>2]|0;a=w2(c[f>>2]|0,b,d,e)|0;if(a|0)break a;a=f+4|0;break}case 1:{f=c[a+4>>2]|0;g=f+4|0;a=y2(c[(c[f>>2]|0)+28>>2]|0,c[(c[g>>2]|0)+24>>2]|0,b,d,e)|0;if(a|0)break a;a=w2(c[f>>2]|0,b,d,e)|0;if(!a)a=g;else break a;break}default:{a=0;break a}}a=c[a>>2]|0}return a|0}function x2(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0;h=c[a+4>>2]|0;if(h|0){e=h+4|0;a=c[h>>2]|0;if(c[e>>2]|0){d=0;do{if(c[a+(d<<5)+8>>2]|0){b=c[a+(d<<5)+16>>2]|0;if(b){C_(b);a=c[h>>2]|0}b=c[a+(d<<5)+28>>2]|0;if(b){C_(b);a=c[h>>2]|0}}d=d+1|0}while(d>>>0<(c[e>>2]|0)>>>0)}if(a|0)C_(a);d=h+8|0;a=c[d>>2]|0;if(a|0){if(c[a+8>>2]|0){while(1){b=c[a+16>>2]|0;if(b|0)C_(b);if(!(c[a+40>>2]|0))break;else a=a+32|0}a=c[d>>2]|0}C_(a)}f=h+16|0;a=c[f>>2]|0;if(a|0){g=h+28|0;b=c[g>>2]|0;if(b){e=0;do{d=c[a+(e*12|0)+8>>2]|0;if(d){C_(d);b=c[g>>2]|0;a=c[f>>2]|0}e=e+1|0}while(e>>>0>>0)}C_(a)}a=c[h+32>>2]|0;if(a|0)C_(a);a=c[h+20>>2]|0;if(a|0)C_(a);a=c[h+36>>2]|0;if(a|0)C_(a);C_(h)}return}function y2(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0;g=c[a>>2]|0;h=(g|0)>-1;a:do if(!d)if(h){h=b+32|0;do{if((c[b>>2]|0)>-1?(y=e+(g<<2)|0,c[y>>2]=(c[y>>2]|0)+1,(c[h>>2]|0)>-1):0){g=h;do{y=e+(c[a>>2]<<2)|0;c[y>>2]=(c[y>>2]|0)+1;g=g+32|0}while((c[g>>2]|0)>-1)}a=a+32|0;g=c[a>>2]|0}while((g|0)>-1);g=0}else g=0;else if(h)while(1){h=c[b>>2]|0;b:do if((h|0)>-1){p=a+4|0;q=a+8|0;r=a+16|0;s=a+20|0;t=a+24|0;u=a+28|0;v=a+12|0;e=-1;g=b;while(1){o=h;while(1){if((o|0)!=(e|0))break;g=g+32|0;h=c[g>>2]|0;if((h|0)>-1)o=h;else break b}l=d+(c[f+(c[a>>2]<<2)>>2]<<5)|0;while(1){h=l+8|0;if(!(c[h>>2]|0))break;else l=l+32|0}c[l+40>>2]=0;c[l>>2]=c[p>>2];c[l+4>>2]=c[q>>2];c[h>>2]=d+(c[f+(o<<2)>>2]<<5);c[l+12>>2]=o;h=c[s>>2]|0;e=c[g+16>>2]|c[r>>2]|(h|0?4:0)|(c[t>>2]|0?8:0);i=l+20|0;c[i>>2]=e;j=c[u>>2]|0;if((j|0)>-1){c[i>>2]=e|256;h=j}c[l+24>>2]=h;e=c[t>>2]|0;if(!e)c[l+28>>2]=0;else{h=0;do{n=h;h=h+1|0}while((c[e+(n<<2)>>2]|0)!=0);h=B_(h<<2)|0;c[l+28>>2]=h;if(!h){g=12;break a}k=c[t>>2]|0;e=c[k>>2]|0;if(e){j=0;i=h;do{c[i>>2]=e;j=j+1|0;e=c[k+(j<<2)>>2]|0;i=h+(j<<2)|0}while((e|0)!=0);h=i}c[h>>2]=0}e=c[v>>2]|0;if(!e)h=0;else{h=0;while(1)if((c[e+(h<<2)>>2]|0)>-1)h=h+1|0;else break}k=g+12|0;i=c[k>>2]|0;if(!i)e=0;else{e=0;while(1)if((c[i+(e<<2)>>2]|0)>-1)e=e+1|0;else break}j=l+16|0;i=c[j>>2]|0;if(i|0)C_(i);c[j>>2]=0;h=e+h|0;if((h|0)>0){n=B_((h<<2)+4|0)|0;c[j>>2]=n;if(!n){g=12;break a}e=c[v>>2]|0;if((e|0)!=0?(w=c[e>>2]|0,(w|0)>-1):0){h=0;i=w;do{c[n+(h<<2)>>2]=i;h=h+1|0;i=c[e+(h<<2)>>2]|0}while((i|0)>-1);m=h}else m=0;j=c[k>>2]|0;if((j|0)!=0?(x=c[j>>2]|0,(x|0)>-1):0){k=(m|0)>0;h=m;i=0;l=x;do{c:do if(k){e=0;while(1){if((c[n+(e<<2)>>2]|0)==(l|0))break c;e=e+1|0;if((e|0)>=(m|0)){y=39;break}}}else y=39;while(0);if((y|0)==39){y=0;c[n+(h<<2)>>2]=l;h=h+1|0}i=i+1|0;l=c[j+(i<<2)>>2]|0}while((l|0)>-1)}else h=m;c[n+(h<<2)>>2]=-1}g=g+32|0;h=c[g>>2]|0;if((h|0)<=-1)break;else e=o}}while(0);a=a+32|0;if((c[a>>2]|0)<=-1){g=0;break}}else g=0;while(0);return g|0}function z2(a){a=a|0;return c[a+12>>2]|0}function A2(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=l;l=l+16|0;e=d+4|0;f=d;c[f>>2]=b;c[e>>2]=c[f>>2];b=I2(a,e)|0;l=d;return b|0}function B2(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=l;l=l+16|0;e=d+4|0;f=d;c[f>>2]=b;c[e>>2]=c[f>>2];b=I2(a,e)|0;l=d;return b|0}function C2(a){a=a|0;var b=0,d=0;b=c[a+16>>2]|0;d=a+12|0;a=(c[d>>2]|0)+-1|0;c[d>>2]=a;return c[b+(a<<2)>>2]|0}function D2(a){a=a|0;var b=0,d=0;b=c[a+16>>2]|0;d=a+12|0;a=(c[d>>2]|0)+-1|0;c[d>>2]=a;return c[b+(a<<2)>>2]|0}function E2(a,b,d,e,f,g,h){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;a=m2(a,0,0,1,64)|0;if(!a)a=0;else{c[a>>2]=b;c[a+4>>2]=d;c[a+8>>2]=e;c[a+20>>2]=f;c[a+24>>2]=g;c[a+28>>2]=h;c[a+32>>2]=-1;c[a+36>>2]=-1;c[a+40>>2]=-1}return a|0}function F2(a){a=a|0;a=m2(a,0,0,1,32)|0;if(!a)a=0;else{c[a>>2]=-1;c[a+4>>2]=-1;c[a+8>>2]=-1}return a|0}function G2(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;o=(e|0)==0;if(o)n=0;else{g=0;while(1)if((c[e+(g<<2)>>2]|0)>-1)g=g+1|0;else{n=g;break}}h=0;while(1)if((c[b+(h<<5)>>2]|0)>-1)h=h+1|0;else{g=0;break}while(1)if((c[d+(g<<5)>>2]|0)>-1)g=g+1|0;else break;g=m2(a,0,0,1,(g+h<<5)+32|0)|0;a:do if(!g)g=0;else{h=c[b>>2]|0;if((h|0)>-1){m=(n|0)>0;i=0;while(1){c[g+(i<<5)>>2]=h;c[g+(i<<5)+4>>2]=c[b+(i<<5)+4>>2];c[g+(i<<5)+8>>2]=c[b+(i<<5)+8>>2];c[g+(i<<5)+16>>2]=c[b+(i<<5)+16>>2]|f;c[g+(i<<5)+20>>2]=c[b+(i<<5)+20>>2];c[g+(i<<5)+24>>2]=c[b+(i<<5)+24>>2];c[g+(i<<5)+28>>2]=c[b+(i<<5)+28>>2];l=b+(i<<5)+12|0;j=c[l>>2]|0;h=(j|0)==0;if(o&h)h=0;else{if(h)k=0;else{h=0;while(1)if((c[j+(h<<2)>>2]|0)>-1)h=h+1|0;else{k=h;break}}h=m2(a,0,0,0,(k+n<<2)+4|0)|0;if(!h){g=0;break a}if((k|0)>0){l=c[l>>2]|0;j=0;do{c[h+(j<<2)>>2]=c[l+(j<<2)>>2];j=j+1|0}while((j|0)!=(k|0))}else k=0;if(m){j=0;do{c[h+(j+k<<2)>>2]=c[e+(j<<2)>>2];j=j+1|0}while((j|0)!=(n|0));j=n}else j=0;c[h+(j+k<<2)>>2]=-1}c[g+(i<<5)+12>>2]=h;i=i+1|0;h=c[b+(i<<5)>>2]|0;if((h|0)<=-1){n=i;break}}}else n=0;i=c[d>>2]|0;h=g+(n<<5)|0;if((i|0)>-1){m=0;l=n;do{c[h>>2]=i;c[g+(l<<5)+4>>2]=c[d+(m<<5)+4>>2];c[g+(l<<5)+8>>2]=c[d+(m<<5)+8>>2];c[g+(l<<5)+16>>2]=c[d+(m<<5)+16>>2];c[g+(l<<5)+20>>2]=c[d+(m<<5)+20>>2];c[g+(l<<5)+24>>2]=c[d+(m<<5)+24>>2];c[g+(l<<5)+28>>2]=c[d+(m<<5)+28>>2];j=d+(m<<5)+12|0;h=c[j>>2]|0;if(!h)h=0;else{i=0;while(1)if((c[h+(i<<2)>>2]|0)>-1)i=i+1|0;else break;h=m2(a,0,0,0,(i<<2)+4|0)|0;if(!h){g=0;break a}if((i|0)>0){k=c[j>>2]|0;j=0;do{c[h+(j<<2)>>2]=c[k+(j<<2)>>2];j=j+1|0}while((j|0)!=(i|0))}else i=0;c[h+(i<<2)>>2]=-1}c[g+(l<<5)+12>>2]=h;m=m+1|0;i=c[d+(m<<5)>>2]|0;l=m+n|0;h=g+(l<<5)|0}while((i|0)>-1)}c[h>>2]=-1}while(0);return g|0}function H2(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;o=z2(a)|0;p=(f|0)!=0;if(p)c[f>>2]=0;b=A2(a,b)|0;a:do if(!b){m=(d|0)==0;l=(e|0)==0;if((z2(a)|0)>(o|0))while(1){b=D2(a)|0;b:do switch(c[b>>2]|0){case 0:{b=c[b+4>>2]|0;switch(c[b>>2]|0){case -3:break;case -2:{if(l)break b;c[e>>2]=c[e>>2]|c[b+4>>2];break b}default:break b}h=c[b+4>>2]|0;if((h|0)>-1){c:do if(!m){b=0;while(1){i=d+(b<<2)|0;j=c[i>>2]|0;if((j|0)<=-1)break;if((j|0)==(h|0))break c;else b=b+1|0}c[i>>2]=h;c[d+(b+1<<2)>>2]=-1}while(0);if(p)c[f>>2]=(c[f>>2]|0)+1}break}case 3:{b=c[b+4>>2]|0;h=c[b>>2]|0;if(c[h+8>>2]|0){k=h;n=6;break b}b=c[b+4>>2]|0;if(c[b+8>>2]|0){k=b;n=6}break}case 1:{b=c[b+4>>2]|0;h=A2(a,c[b>>2]|0)|0;if(h|0){g=h;break a}k=c[b+4>>2]|0;n=6;break}case 2:{b=c[c[b+4>>2]>>2]|0;if(c[b+8>>2]|0){k=b;n=6}break}default:{}}while(0);if((n|0)==6?(n=0,g=A2(a,k)|0,g|0):0)break a;if((z2(a)|0)<=(o|0)){g=0;break a}}else g=0}else g=b;while(0);return g|0}function I2(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0;k=l;l=l+16|0;g=k;d=a+12|0;e=c[d>>2]|0;j=c[a>>2]|0;if((e|0)>=(j|0)){d=c[a+4>>2]|0;if((j|0)<(d|0)?(f=(c[a+8>>2]|0)+j|0,f=(f|0)>(d|0)?d:f,h=a+16|0,i=E_(c[h>>2]|0,f<<2)|0,(i|0)!=0):0){c[a>>2]=f;c[h>>2]=i;c[g>>2]=c[b>>2];I2(a,g)|0;d=0}else d=12}else{c[(c[a+16>>2]|0)+(e<<2)>>2]=c[b>>2];c[d>>2]=(c[d>>2]|0)+1;d=0}l=k;return d|0}function J2(a,b,d){a=a|0;b=b|0;d=d|0;a=m2(a,0,0,1,32)|0;if((d|0)!=0&(a|0)!=0){c[a+4>>2]=d;c[a>>2]=b;c[a+8>>2]=-1;c[a+12>>2]=-1}else a=0;return a|0}function K2(b,d,e,f,g,h,i,j){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;r=z2(d)|0;A2(d,e)|0;e=B2(d,0)|0;a:do if(!e){q=(f&1|0)==0;p=(f&2|0)!=0;o=0;l=1;e=i;while(1){if((z2(d)|0)>(r|0))n=e;else{f=o;e=0;break a}b:while(1){c:while(1){switch(C2(d)|0){case 1:{i=7;break c}case 0:{e=D2(d)|0;switch(c[e>>2]|0){case 0:{i=9;break b}case 3:{i=19;break b}case 1:{i=26;break b}case 2:{i=33;break c}default:{}}break}default:{}}if((z2(d)|0)<=(r|0)){f=o;e=0;break a}}if((i|0)==7)e=D2(d)|0;else if((i|0)==33){f=c[e+4>>2]|0;e=A2(d,c[f>>2]|0)|0;if(e|0){f=o;break a}e=B2(d,0)|0;if(e|0){f=o;break a}e=L2(b,c[f>>2]|0,c[f+4>>2]|0,c[f+8>>2]|0,a[f+12>>0]&1)|0;c[n>>2]=e;if(!e){f=o;e=12;break a}e=c[e+4>>2]|0}if((z2(d)|0)>(r|0))n=e;else{f=o;e=0;break a}}if((i|0)==9){m=c[e+4>>2]|0;i=c[m+8>>2]|0;f=c[m>>2]|0;e=c[m+4>>2]|0;if(!((f|0)>-1|(f|0)==-4))if(q|(f|0)!=-3)if((f|0)==-3)if(p&(l|0)!=0){c[h+(e<<2)>>2]=1;f=-3;k=o;l=0}else{f=-3;k=o}else k=o;else{e=-1;f=-1;i=-1;k=o}else{i=(c[g>>2]|0)+i|0;k=o+1|0}e=t2(b,f,e,i)|0;c[n>>2]=e;if(!e)e=12;else{e=c[e+4>>2]|0;c[e+12>>2]=c[m+12>>2];c[e+16>>2]=c[m+16>>2];e=0}if((i|0)>(c[j>>2]|0)){c[j>>2]=i;f=n}else f=n}else if((i|0)==19){i=c[e+4>>2]|0;f=i+4|0;e=M2(b,c[i>>2]|0,c[f>>2]|0)|0;c[n>>2]=e;if(!e){f=o;e=12;break a}m=c[e+4>>2]|0;e=A2(d,c[f>>2]|0)|0;if(e|0){f=o;break a}e=B2(d,0)|0;if(e|0){f=o;break a}e=A2(d,m+4|0)|0;if(e|0){f=o;break a}e=B2(d,1)|0;if(e|0){f=o;break a}e=A2(d,c[i>>2]|0)|0;if(e|0){f=o;break a}k=o;f=m;e=B2(d,0)|0}else if((i|0)==26){m=c[e+4>>2]|0;i=m+4|0;e=u2(b,c[m>>2]|0,c[i>>2]|0)|0;c[n>>2]=e;if(!e){f=o;e=12;break a}f=c[e+4>>2]|0;c[f>>2]=0;k=f+4|0;c[k>>2]=0;e=A2(d,c[i>>2]|0)|0;if(e|0){f=o;break a}e=B2(d,0)|0;if(e|0){f=o;break a}e=A2(d,k)|0;if(e|0){f=o;break a}e=B2(d,1)|0;if(e|0){f=o;break a}e=A2(d,c[m>>2]|0)|0;if(e|0){f=o;break a}k=o;e=B2(d,0)|0}if(!e){o=k;e=f}else{f=k;break}}}else f=0;while(0);c[g>>2]=(c[g>>2]|0)+f;return e|0}function L2(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0;h=m2(b,0,0,1,16)|0;b=J2(b,2,h)|0;if(!b)b=0;else{c[h>>2]=d;c[h+4>>2]=e;c[h+8>>2]=f;h=h+12|0;a[h>>0]=a[h>>0]&-2|g&1;c[b+16>>2]=c[d+16>>2]}return b|0}function M2(a,b,d){a=a|0;b=b|0;d=d|0;var e=0;if(b){e=m2(a,0,0,1,8)|0;a=J2(a,3,e)|0;if((d|0)!=0&(a|0)!=0){c[e>>2]=b;c[e+4>>2]=d;c[a+16>>2]=(c[d+16>>2]|0)+(c[b+16>>2]|0);d=a}else d=0}return d|0}function N2(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;e=m2(a,0,0,0,8)|0;if(((e|0)!=0?(d=t2(a,-3,d,-1)|0,c[e>>2]=d,(d|0)!=0):0)?(f=m2(a,0,0,0,32)|0,c[e+4>>2]=f,(f|0)!=0):0){a=b+4|0;c[f+4>>2]=c[a>>2];c[f>>2]=c[b>>2];c[f+8>>2]=-1;c[f+12>>2]=-1;f=f+16|0;c[f>>2]=0;c[f+4>>2]=0;c[f+8>>2]=0;c[f+12>>2]=0;c[a>>2]=e;c[b>>2]=1;a=0}else a=12;return a|0}function O2(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0;f=c[a>>2]|0;if((f|0)>-1){g=c[b+16>>2]|0;e=0;b=f;do{f=b>>>1;c[((b&1|0)==0?g+(f*12|0)|0:g+(f*12|0)+4|0)>>2]=d;e=e+1|0;b=c[a+(e<<2)>>2]|0}while((b|0)>-1)}c[a>>2]=-1;return}function P2(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;e=m2(a,0,0,0,8)|0;if(((e|0)!=0?(d=t2(a,-3,d,-1)|0,c[e+4>>2]=d,(d|0)!=0):0)?(f=m2(a,0,0,0,32)|0,c[e>>2]=f,(f|0)!=0):0){a=b+4|0;c[f+4>>2]=c[a>>2];c[f>>2]=c[b>>2];c[f+8>>2]=-1;c[f+12>>2]=-1;f=f+16|0;c[f>>2]=0;c[f+4>>2]=0;c[f+8>>2]=0;c[f+12>>2]=0;c[a>>2]=e;c[b>>2]=1;a=0}else a=12;return a|0}function Q2(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0;m=l;l=l+16|0;j=m;i=b+32|0;h=c[i>>2]|0;g=h&1;a:do switch(a[d>>0]|0){case 91:{e=U2(b,d+1|0)|0;break}case 92:{e=d+1|0;f=V2(e)|0;if(f|0){e=Q2(b,f)|0;c[b+12>>2]=d+2;break a}f=a[e>>0]|0;switch(f|0){case 0:{e=5;break a}case 98:{f=t2(c[b>>2]|0,-2,64,-1)|0;break}case 66:{f=t2(c[b>>2]|0,-2,128,-1)|0;break}case 60:{f=t2(c[b>>2]|0,-2,16,-1)|0;break}case 62:{f=t2(c[b>>2]|0,-2,32,-1)|0;break}case 120:{h=d+2|0;i=(a[h>>0]|0)==123;g=i?8:2;h=i?d+3|0:h;e=0;f=0;do{d=W2(a[h+e>>0]|0)|0;if((d|0)<0)break;f=d+(f<<4)|0;e=e+1|0}while((f|0)<1114112&(e|0)<(g|0));e=h+e|0;if(i){if((a[e>>0]|0)!=125){e=9;break a}e=e+1|0}j=c[b>>2]|0;i=b+24|0;k=c[i>>2]|0;c[i>>2]=k+1;f=t2(j,f,f,k)|0;e=e+-1|0;break}case 63:case 43:case 123:if(!g){e=13;break a}else{k=37;break a}case 124:{if(g|0){k=37;break a}e=t2(c[b>>2]|0,-1,-1,-1)|0;k=45;break a}default:{if(!((g|0)==0&(f+-49|0)>>>0<9)){k=37;break a}j=f+-48|0;k=c[b>>2]|0;i=b+24|0;f=c[i>>2]|0;c[i>>2]=f+1;f=t2(k,-4,j,f)|0;k=b+28|0;i=c[k>>2]|0;c[k>>2]=(j|0)<(i|0)?i:j}}d=e+1|0;e=f;k=45;break}case 46:{e=c[b>>2]|0;g=b+24|0;f=c[g>>2]|0;c[g>>2]=f+1;if(h&4){f=t2(e,0,9,f)|0;k=c[b>>2]|0;e=c[g>>2]|0;c[g>>2]=e+1;e=t2(k,11,1114111,e)|0;if((f|0)!=0&(e|0)!=0)e=M2(c[b>>2]|0,f,e)|0;else e=0}else e=t2(e,0,1114111,f)|0;d=d+1|0;k=45;break}case 94:{if((g|0)==0?(c[b+16>>2]|0)!=(d|0):0){e=d;k=37;break a}d=d+1|0;e=t2(c[b>>2]|0,-2,1,-1)|0;k=45;break}case 36:{e=d+1|0;if((g|0)==0?a[e>>0]|0:0){e=d;k=37;break a}d=e;e=t2(c[b>>2]|0,-2,2,-1)|0;k=45;break}case 63:case 43:case 123:case 42:{if(!g){e=d;k=37}else e=13;break}case 124:{if(!g){e=d;k=37}else k=36;break}case 0:{k=36;break}default:{e=d;k=37}}while(0);if((k|0)==36){e=t2(c[b>>2]|0,-1,-1,-1)|0;k=45}else if((k|0)==37){h=A1(j,e,-1)|0;if((h|0)<0)e=2;else{do if(c[i>>2]&2){if((l0(c[j>>2]|0)|0)==0?(k0(c[j>>2]|0)|0)==0:0){k=43;break}i=c[b>>2]|0;n=Q$(c[j>>2]|0)|0;g=Q$(c[j>>2]|0)|0;f=b+24|0;g=t2(i,n,g,c[f>>2]|0)|0;n=c[b>>2]|0;i=n0(c[j>>2]|0)|0;d=n0(c[j>>2]|0)|0;d=t2(n,i,d,c[f>>2]|0)|0;if((g|0)!=0&(d|0)!=0)g=M2(c[b>>2]|0,g,d)|0;else g=0}else k=43;while(0);if((k|0)==43){g=c[j>>2]|0;f=b+24|0;g=t2(c[b>>2]|0,g,g,c[f>>2]|0)|0}c[f>>2]=(c[f>>2]|0)+1;d=e+h|0;e=g;k=45}}if((k|0)==45)if(!e)e=12;else{c[b+8>>2]=e;c[b+12>>2]=d;e=0}l=m;return e|0}function R2(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0;j=l;l=l+16|0;i=j+4|0;g=j;b=T2(b,i)|0;if((a[b>>0]|0)==44){b=T2(b+1|0,g)|0;h=c[g>>2]|0;g=c[i>>2]|0}else{i=c[i>>2]|0;c[g>>2]=i;h=i;g=i}do if(!(g>>>0>255|((h|0)>255|(h|0)>-1&(h|0)<(g|0)))){if(!d)if((a[b>>0]|0)==92)b=b+1|0;else{b=0;break}if((a[b>>0]|0)==125){c[e>>2]=g;c[f>>2]=h;b=b+1|0}else b=0}else b=0;while(0);l=j;return b|0}function S2(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0;if((c[b+12>>2]|0)>-1){e=t2(c[a>>2]|0,-1,-1,-1)|0;if((e|0)!=0?(f=u2(c[a>>2]|0,e,b)|0,(f|0)!=0):0){e=c[b+16>>2]|0;c[f+16>>2]=e;g=6}else e=12}else{f=b;e=c[b+16>>2]|0;g=6}if((g|0)==6){c[f+12>>2]=d;c[f+16>>2]=e+1;c[a+8>>2]=f;e=0}return e|0}function T2(b,d){b=b|0;d=d|0;var e=0;c[d>>2]=-1;a:do if(D$(a[b>>0]|0)|0){c[d>>2]=0;e=0;do{c[d>>2]=(e*10|0)+-48+(a[b>>0]|0);b=b+1|0;if(!(D$(a[b>>0]|0)|0))break a;e=c[d>>2]|0}while((e|0)<=255)}while(0);return b|0}function U2(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;s=l;l=l+288|0;e=s+264|0;g=s;c[e>>2]=c[b>>2];h=e+8|0;c[h>>2]=0;c[e+12>>2]=32;p=B_(128)|0;r=e+4|0;c[r>>2]=p;if(!p)d=12;else{f=g+4|0;c[f>>2]=0;p=(a[d>>0]|0)==94;c[g>>2]=p&1;d=X2(b,p?d+1|0:d,e,g)|0;a:do if(!d){p=(c[g>>2]|0)==0;if(!p){Z0(c[r>>2]|0,c[h>>2]|0,4,109);d=Z2(e)|0;if(!d){d=12;e=0;break}c[d>>2]=1114112;c[d+4>>2]=1114112;c[d+8>>2]=-1;d=c[f>>2]|0;if(d){e=d<<2;f=m2(c[b>>2]|0,0,0,0,e+4|0)|0;if(!f){d=12;e=0;break}E3(f|0,g+8|0,e|0)|0;c[f+(d<<2)>>2]=0}else f=0}else f=0;m=c[h>>2]|0;if((m|0)>0){n=c[r>>2]|0;o=b+24|0;e=0;d=0;k=0;while(1){j=c[n+(k<<2)>>2]|0;g=c[j>>2]|0;h=j+4|0;i=c[h>>2]|0;do if(!p)if((g|0)>(d|0)){c[j>>2]=d;c[h>>2]=g+-1;d=i+1|0;q=14;break}else{j=i+1|0;d=(j|0)>=(d|0)?j:d;break}else q=14;while(0);if((q|0)==14){q=0;c[j+8>>2]=c[o>>2];c[j+16>>2]=f;j=J2(c[b>>2]|0,0,j)|0;e=M2(c[b>>2]|0,e,j)|0;if(!e){d=12;e=0;break a}}k=k+1|0;if((k|0)>=(m|0)){d=0;break}}}else{d=0;e=0}}else e=0;while(0);C_(c[r>>2]|0);r=b+24|0;c[r>>2]=(c[r>>2]|0)+1;c[b+8>>2]=e}l=s;return d|0}function V2(b){b=b|0;var d=0;d=a[b>>0]|0;b=0;while(1){if((a[63648+(b<<3)>>0]|0)==d<<24>>24)break;b=b+1|0;if((b|0)==12){b=12;break}}return c[63648+(b<<3)+4>>2]|0}function W2(a){a=a|0;var b=0;b=a+-48|0;if(b>>>0<10)return b|0;else{b=a|32;return ((b+-97|0)>>>0<6?b+-87|0:-1)|0}return 0}function X2(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;t=l;l=l+32|0;o=t;q=t+4|0;i=A1(o,d,-1)|0;g=a[d>>0]|0;a:do if((i|0)>=1){r=f+4|0;n=b+32|0;h=d;j=i;b:while(1){i=(h|0)==(d|0);if(!(i|g<<24>>24!=93)){s=5;break}c:do if(!(i|g<<24>>24!=45)){switch(a[h+1>>0]|0){case 93:break c;case 45:break;default:{g=11;break a}}if((a[h+2>>0]|0)==93){g=11;break a}}while(0);d:do if(g<<24>>24==91){switch(a[h+1>>0]|0){case 61:case 46:{g=3;break a}case 58:break;default:{s=17;break d}}i=h+2|0;g=0;e:while(1){switch(a[i+g>>0]|0){case 0:{s=16;break b}case 58:break e;default:{}}if((g|0)<13)g=g+1|0;else{s=16;break b}}E3(q|0,i|0,g|0)|0;a[q+g>>0]=0;j=G0(q)|0;if(!j){s=16;break b}h=i+(g+2)|0;if((a[i+(g+1)>>0]|0)!=93){s=16;break b}if(!(c[f>>2]|0)){g=1114111;m=0;k=1;s=25}else{g=c[r>>2]|0;if((g|0)>63){g=12;break a}c[r>>2]=g+1;c[f+8+(g<<2)>>2]=j}}else s=17;while(0);if((s|0)==17){s=0;i=c[o>>2]|0;h=h+j|0;if((a[h>>0]|0)==45?(p=h+1|0,(a[p>>0]|0)!=93):0){h=A1(o,p,-1)|0;g=c[o>>2]|0;if((h|0)<1|(i|0)>(g|0)){g=11;break a}j=0;m=i;h=p+h|0;k=0;s=25}else{j=0;g=i;m=i;k=0;s=25}}if((s|0)==25){s=0;i=Z2(e)|0;if(!i){g=12;break a}c[i>>2]=m;c[i+4>>2]=g;c[i+12>>2]=j;c[i+8>>2]=-1;if(!(k|(c[n>>2]&2|0)==0)?(_2(e,m,g)|0)!=0:0){g=12;break a}}j=A1(o,h,-1)|0;g=a[h>>0]|0;if((j|0)<1){s=3;break a}}if((s|0)==5){c[b+12>>2]=h+1;g=0;break}else if((s|0)==16){g=4;break}}else s=3;while(0);if((s|0)==3)g=g<<24>>24?2:7;l=t;return g|0}function Y2(a,b){a=a|0;b=b|0;return (c[c[a>>2]>>2]|0)-(c[c[b>>2]>>2]|0)|0}function Z2(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0;h=a+8|0;d=c[h>>2]|0;e=a+12|0;f=c[e>>2]|0;if((d|0)>=(f|0))if((f|0)<=32767?(c[e>>2]=f<<1,g=a+4|0,b=E_(c[g>>2]|0,f<<3)|0,(b|0)!=0):0){c[g>>2]=b;d=c[h>>2]|0;i=6}else b=0;else{b=c[a+4>>2]|0;i=6}if((i|0)==6){c[h>>2]=d+1;i=m2(c[a>>2]|0,0,0,1,20)|0;c[b+(d<<2)>>2]=i;b=i}return b|0}function _2(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;a:do if((b|0)>(d|0))b=0;else while(1){b:do if(!(k0(b)|0)){if(!(l0(b)|0)){b=b+1|0;break}f=n0(b)|0;e=f;while(1){g=b+1|0;e=e+1|0;if((b|0)>=(d|0)){h=f;b=g;g=12;break b}if((n0(g)|0)==(e|0))b=g;else{h=f;b=g;g=12;break}}}else{f=Q$(b)|0;e=f;while(1){g=b+1|0;e=e+1|0;if((b|0)>=(d|0)){h=f;b=g;g=12;break b}if((Q$(g)|0)==(e|0))b=g;else{h=f;b=g;g=12;break}}}while(0);if((g|0)==12){g=0;f=Z2(a)|0;if(!f){b=-1;break a}c[f>>2]=h;c[f+4>>2]=e+-1;c[f+8>>2]=-1}if((b|0)>(d|0)){b=0;break}}while(0);return b|0}function $2(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,m=0,n=0;n=l;l=l+16|0;k=n;i=c[a+4>>2]|0;j=i+56|0;h=(c[j>>2]&8|0)==0?d:0;a=c[i+40>>2]|0;if((a|0)>0&(h|0)!=0){a=B_(a<<2)|0;if(!a)a=12;else{g=a;d=a;m=3}}else{g=0;d=0;m=3}if((m|0)==3){if(!(c[i+60>>2]|0))a=b3(i,b,g,f,k)|0;else a=a3(i,b,g,f,k)|0;if(!a)c3(h,e,c[j>>2]|0,i,g,c[k>>2]|0);if(g)C_(d)}l=n;return a|0}function a3(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0;V=l;l=l+16|0;T=V;c[T>>2]=0;o=e&1;R=e&2;S=a+56|0;n=c[S>>2]&4;U=k2(0,0)|0;a:do if(U){p=m2(U,0,0,0,32)|0;if(!p){l2(U);e=12;break}c[p+24>>2]=0;c[p+28>>2]=0;Q=a+40|0;e=c[Q>>2]|0;if(e){e=B_(e<<2)|0;if(!e){m=0;k=0;j=e;e=12;i=0;h=0;g=0}else{j=e;i=e;C=6}}else{j=0;i=0;C=6}b:do if((C|0)==6){e=c[a+28>>2]|0;if(e){e=B_(e<<3)|0;if(!e){m=e;k=0;e=12;h=0;g=0;break}else{m=e;h=e}}else{m=0;h=0}P=a+52|0;e=c[P>>2]|0;if(e){e=B_(e<<2)|0;if(!e){k=e;e=12;g=0;break}else{k=e;g=e}}else{k=0;g=0}K=a+8|0;L=a+12|0;M=(d|0)==0;N=(d|0)!=0;O=a+32|0;J=(n|0)!=0;I=(o|0)==0;r=b;e=1;q=-1;v=-1;B=0;c:while(1){n=c[Q>>2]|0;if((n|0)>0){o=0;do{c[j+(o<<2)>>2]=-1;if(!M){c[d+(o<<2)>>2]=-1;n=c[Q>>2]|0}o=o+1|0}while((o|0)<(n|0))}n=c[P>>2]|0;if((n|0)>0)G3(g|0,0,n<<2|0)|0;G=e+q|0;e=A1(T,r,4)|0;if((e|0)<1)if((e|0)<0){e=1;break b}else e=1;F=r+e|0;H=c[T>>2]|0;n=c[K>>2]|0;o=n+8|0;if(c[o>>2]|0){w=(G|0)!=0;x=(B|0)==95;y=(G|0)==0;A=J&(B|0)==10;z=(G|0)<1&I;u=n;n=0;t=0;s=o;while(1){r=u+20|0;o=c[r>>2]|0;d:do if(o)if((o&1|0)==0|z|A){if(o&2|0?(E=c[T>>2]|0,!((E|R|0)==0|J&(E|0)==10)):0){q=t;break}do if(o&16|0){if(x){q=t;break d}if(g0(B)|0){q=t;break d}o=c[T>>2]|0;if((o|0)==95)break;if(!(g0(o)|0)){q=t;break d}}while(0);o=c[r>>2]|0;if(o&32){if(x){o=c[T>>2]|0;if((o|0)==95){q=t;break}}else{E=(g0(B)|0)==0;o=c[T>>2]|0;if(E|(o|0)==95){q=t;break}}if(g0(o)|0){q=t;break}o=c[r>>2]|0}q=c[T>>2]|0;do if((q|0)!=0&(w&(o&64|0)!=0)){if(x)o=1;else{o=(g0(B)|0)!=0;q=c[T>>2]|0}if((q|0)==95)if(o){q=t;break d}else break;else if(o^(g0(q)|0)!=0)break;else{q=t;break d}}while(0);if(!(c[r>>2]&128)){C=49;break}o=c[T>>2]|0;if(y|(o|0)==0){q=t;break}if(x)q=1;else{q=(g0(B)|0)!=0;o=c[T>>2]|0}if((o|0)==95)if(q){C=49;break}else{q=t;break}else if(q^(g0(o)|0)!=0){q=t;break}else{C=49;break}}else q=t;else C=49;while(0);do if((C|0)==49){C=0;if(!t){n=c[u+16>>2]|0;q=c[s>>2]|0;break}q=p+28|0;o=c[q>>2]|0;if(!o){o=m2(U,0,0,0,32)|0;if(!o){C=53;break c}c[o+24>>2]=p;c[o+28>>2]=0;E=m2(U,0,0,0,c[Q>>2]<<2)|0;c[o+20>>2]=E;if(!E){C=60;break c}c[q>>2]=o;p=o}else p=o;c[p>>2]=G;c[p+4>>2]=F;c[p+8>>2]=c[s>>2];c[p+12>>2]=c[u+12>>2];c[p+16>>2]=c[T>>2];if((c[Q>>2]|0)>0){q=c[p+20>>2]|0;o=0;do{c[q+(o<<2)>>2]=c[j+(o<<2)>>2];o=o+1|0}while((o|0)<(c[Q>>2]|0))}o=c[u+16>>2]|0;if(!o)q=t;else{q=c[o>>2]|0;if((q|0)<=-1){q=t;break}r=c[p+20>>2]|0;do{o=o+4|0;c[r+(q<<2)>>2]=G;q=c[o>>2]|0}while((q|0)>-1);q=t}}while(0);s=u+40|0;if(!(c[s>>2]|0))break;else{u=u+32|0;t=q}}if(n){o=c[n>>2]|0;if((o|0)>-1)do{c[j+(o<<2)>>2]=G;n=n+4|0;o=c[n>>2]|0}while((o|0)>-1)}else n=0;if(!q)C=171;else{s=G;r=F;w=q;x=n;C=79}}else{n=0;C=171}e:while(1){if((C|0)==79){if((w|0)==(c[L>>2]|0)){if((v|0)>=(s|0)){if(!(N&(v|0)==(s|0))){n=x;C=171;continue}n=c[Q>>2]|0;if(!(e3(n,c[O>>2]|0,j,d)|0)){n=x;C=171;continue}}else{if(M){v=s;n=x;C=171;continue}n=c[Q>>2]|0}if((n|0)>0)n=0;else{v=s;n=x;C=171;continue}while(1){c[d+(n<<2)>>2]=c[j+(n<<2)>>2];n=n+1|0;if((n|0)>=(c[Q>>2]|0)){v=s;n=x;C=171;continue e}}}u=w+8|0;if((c[u>>2]|0)!=0?(c[w+20>>2]&256|0)!=0:0){o=c[w+24>>2]|0;c3(o+1|0,m,c[S>>2]&-9,a,j,s);E=c[m+(o<<3)>>2]|0;o=(c[m+(o<<3)+4>>2]|0)-E|0;if(y$(b+E|0,r+-1|0,o)|0){n=x;C=171;continue}E=(o|0)==0;n=E&1;q=c[w+12>>2]|0;if(E?c[k+(q<<2)>>2]|0:0){n=x;C=171;continue}c[k+(q<<2)>>2]=n;o=o+-1|0;r=r+o|0;o=o+s|0;q=c[T>>2]|0;n=A1(T,r,4)|0;if((n|0)<1)if((n|0)<0){e=1;break b}else n=1;D=r+n|0;E=n}else{q=c[T>>2]|0;if(!q){n=x;C=171;continue}n=A1(T,r,4)|0;if((n|0)<1)if((n|0)<0){e=1;break b}else n=1;o=s;D=r+n|0;E=n}s=o+e|0;if(!(c[u>>2]|0)){e=E;n=x;C=171;continue}y=(s|0)!=0;z=(q|0)==95;A=(s|0)==0;C=J&(q|0)==10;B=(s|0)<1&I;t=0;n=x;while(1){f:do if((c[w>>2]|0)>>>0<=q>>>0){if((c[w+4>>2]|0)>>>0>>0)break;r=w+20|0;e=c[r>>2]|0;do if(e|0){if(!((e&1|0)==0|B|C))break f;if(e&2|0?(x=c[T>>2]|0,!((x|R|0)==0|J&(x|0)==10)):0)break f;do if(e&16|0){if(z)break f;if(g0(q)|0)break f;e=c[T>>2]|0;if((e|0)==95)break;if(!(g0(e)|0))break f}while(0);e=c[r>>2]|0;if(e&32){if(z){e=c[T>>2]|0;if((e|0)==95)break f}else{x=(g0(q)|0)==0;e=c[T>>2]|0;if(x|(e|0)==95)break f}if(g0(e)|0)break f;e=c[r>>2]|0}o=c[T>>2]|0;do if((o|0)!=0&(y&(e&64|0)!=0)){if(z)e=1;else{e=(g0(q)|0)!=0;o=c[T>>2]|0}if((o|0)==95)if(e)break f;else break;else if(e^(g0(o)|0)!=0)break;else break f}while(0);do if(c[r>>2]&128|0){e=c[T>>2]|0;if(A|(e|0)==0)break f;if(z)o=1;else{o=(g0(q)|0)!=0;e=c[T>>2]|0}if((e|0)==95)if(o)break;else break f;else if(o^(g0(e)|0)!=0)break f;else break}while(0);e=c[r>>2]|0;do if(e&4){if(c[S>>2]&2|0)break;if(!(f0(q,c[w+24>>2]|0)|0))break f;e=c[r>>2]|0}while(0);do if(e&4|0){if(!(c[S>>2]&2))break;x=n0(q)|0;e=w+24|0;if(f0(x,c[e>>2]|0)|0)break;x=Q$(q)|0;if(!(f0(x,c[e>>2]|0)|0))break f}while(0);if(!(c[r>>2]&8))break;if(d3(c[w+28>>2]|0,q,c[S>>2]&2)|0)break f}while(0);if(!t){t=c[u>>2]|0;n=c[w+16>>2]|0;break}o=p+28|0;e=c[o>>2]|0;if(!e){e=m2(U,0,0,0,32)|0;if(!e){C=145;break c}c[e+24>>2]=p;c[e+28>>2]=0;x=m2(U,0,0,0,c[Q>>2]<<2)|0;c[e+20>>2]=x;if(!x){C=152;break c}c[o>>2]=e;p=e}else p=e;c[p>>2]=s;c[p+4>>2]=D;c[p+8>>2]=c[u>>2];c[p+12>>2]=c[w+12>>2];c[p+16>>2]=c[T>>2];if((c[Q>>2]|0)>0){o=c[p+20>>2]|0;e=0;do{c[o+(e<<2)>>2]=c[j+(e<<2)>>2];e=e+1|0}while((e|0)<(c[Q>>2]|0))}e=c[w+16>>2]|0;if(!e)break;o=c[e>>2]|0;if((o|0)<=-1)break;r=c[p+20>>2]|0;do{c[r+(o<<2)>>2]=s;e=e+4|0;o=c[e>>2]|0}while((o|0)>-1)}while(0);u=w+40|0;if(!(c[u>>2]|0))break;else w=w+32|0}if(!t){e=E;C=171;continue}if(n){e=c[n>>2]|0;if((e|0)>-1){do{n=n+4|0;c[j+(e<<2)>>2]=s;e=c[n>>2]|0}while((e|0)>-1);q=v;o=D;e=E}else{q=v;o=D;e=E}}else{q=v;o=D;e=E;n=0}}else if((C|0)==171){C=0;r=c[p+24>>2]|0;if(!r)break;t=c[p+8>>2]|0;if(c[t+20>>2]&256|0)c[k+(c[p+12>>2]<<2)>>2]=0;s=c[p>>2]|0;u=c[p+4>>2]|0;c[T>>2]=c[p+16>>2];q=c[Q>>2]|0;if((q|0)>0){p=c[p+20>>2]|0;o=0;do{c[j+(o<<2)>>2]=c[p+(o<<2)>>2];o=o+1|0}while((o|0)<(q|0));p=r;q=v;o=u}else{p=r;q=v;o=u}}r=o;v=q;w=t;x=n;C=79}n=(v|0)>-1;if(n|(c[T>>2]|0)==0){C=180;break}c[T>>2]=H;r=F;q=G;B=H}if((C|0)==53){l2(U);if(j|0)C_(i);if(m|0)C_(h);if(!k){e=12;break a}C_(g);e=12;break a}else if((C|0)==60){l2(U);if(j|0)C_(i);if(m|0)C_(h);if(!k){e=12;break a}C_(g);e=12;break a}else if((C|0)==145){l2(U);if(j|0)C_(i);if(m|0)C_(h);if(!k){e=12;break a}C_(g);e=12;break a}else if((C|0)==152){l2(U);if(j|0)C_(i);if(m|0)C_(h);if(!k){e=12;break a}C_(g);e=12;break a}else if((C|0)==180){c[f>>2]=v;e=(n^1)&1;break}}while(0);l2(U);if(j|0)C_(i);if(m|0)C_(h);if(k)C_(g)}else e=12;while(0);l=V;return e|0}function b3(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0;W=l;l=l+16|0;T=W;c[T>>2]=0;k=e&1;Q=e&2;R=a+56|0;j=c[R>>2]&4;if(!d)N=0;else N=c[a+40>>2]|0;P=N<<2;i=a+52|0;e=c[i>>2]|0;h=e<<3;g=h+8|0;e=P+12+h+(g+(O(P,e)|0)<<1)|0;U=B_(e)|0;if(!U)e=12;else{G3(U|0,0,e|0)|0;e=U+P|0;m=e&3;m=e+((m|0)==0?0:4-m|0)|0;e=m+g|0;n=e&3;n=e+((n|0)==0?0:4-n|0)|0;e=n+g|0;M=e&3;M=e+((M|0)==0?0:4-M|0)|0;e=M+h|0;g=e&3;i=c[i>>2]|0;h=(i|0)>0;if(h){e=e+((g|0)==0?0:4-g|0)|0;g=0;while(1){c[n+(g<<3)+4>>2]=e;e=e+P|0;c[m+(g<<3)+4>>2]=e;g=g+1|0;if((g|0)>=(i|0))break;else e=e+P|0}if(h){e=0;do{c[M+(e<<3)>>2]=-1;e=e+1|0}while((e|0)<(i|0))}}e=A1(T,b,4)|0;if((e|0)<1)if((e|0)<0)e=1;else{i=1;V=11}else{i=e;V=11}a:do if((V|0)==11){L=a+8|0;K=(j|0)!=0;E=(k|0)==0;F=(N|0)>0;G=a+12|0;H=(N|0)<1;I=a+44|0;J=a+32|0;C=a+36|0;D=(N|0)==0;h=0;v=b+i|0;u=0;j=0;e=-1;g=m;A=U;x=m;w=n;while(1){if((e|0)<0){a=c[L>>2]|0;k=a+8|0;b:do if(c[k>>2]|0){p=(u|0)!=0;q=(h|0)==95;r=(u|0)==0;t=K&(h|0)==10;s=(u|0)<1&E;while(1){c:while(1){o=a+12|0;if((c[M+(c[o>>2]<<3)>>2]|0)>=(u|0))break;n=a+20|0;b=c[n>>2]|0;if(!b){V=46;break}d:do if((b&1|0)==0|s|t){if(b&2|0?(B=c[T>>2]|0,!((B|Q|0)==0|K&(B|0)==10)):0)break;do if(b&16|0){if(q)break d;if(g0(h)|0)break d;b=c[T>>2]|0;if((b|0)==95)break;if(!(g0(b)|0))break d}while(0);b=c[n>>2]|0;if(b&32){if(q){b=c[T>>2]|0;if((b|0)==95)break}else{B=(g0(h)|0)==0;b=c[T>>2]|0;if(B|(b|0)==95)break}if(g0(b)|0)break;b=c[n>>2]|0}m=c[T>>2]|0;do if((m|0)!=0&(p&(b&64|0)!=0)){if(q)b=1;else{b=(g0(h)|0)!=0;m=c[T>>2]|0}if((m|0)==95)if(b)break d;else break;else if(b^(g0(m)|0)!=0)break;else break d}while(0);if(!(c[n>>2]&128)){V=46;break c}b=c[T>>2]|0;if(r|(b|0)==0)break;if(q)m=1;else{m=(g0(h)|0)!=0;b=c[T>>2]|0}if((b|0)==95)if(m){V=46;break c}else break;else if(m^(g0(b)|0)!=0)break;else{V=46;break c}}while(0);k=a+40|0;if(!(c[k>>2]|0))break b;else a=a+32|0}if((V|0)==46){V=0;c[g>>2]=c[k>>2];if(F)G3(c[g+4>>2]|0,-1,P|0)|0;k=c[a+16>>2]|0;if(k|0?(S=c[k>>2]|0,(S|0)>-1):0){m=g+4|0;b=S;do{if((b|0)<(N|0))c[(c[m>>2]|0)+(b<<2)>>2]=u;k=k+4|0;b=c[k>>2]|0}while((b|0)>-1)}k=(c[g>>2]|0)!=(c[G>>2]|0);if(k|H){j=k?j:1;e=k?e:u;k=g+4|0}else{k=g+4|0;j=c[k>>2]|0;e=0;do{c[d+(e<<2)>>2]=c[j+(e<<2)>>2];e=e+1|0}while((e|0)!=(N|0));j=1;e=u}B=c[o>>2]|0;c[M+(B<<3)>>2]=u;c[M+(B<<3)+4>>2]=k;g=g+8|0}k=a+40|0;if(!(c[k>>2]|0))break;else a=a+32|0}}while(0);c[g>>2]=0;g=c[T>>2]|0;if(!g)break;else h=g}else{if(D)break;h=c[T>>2]|0;if(!((g|0)!=(x|0)&(h|0)!=0))break}B=u+i|0;g=A1(T,v,4)|0;if((g|0)<1)if((g|0)<0){e=1;break a}else i=1;else i=g;z=v+i|0;if((j|0)!=0&(c[I>>2]|0)!=0){if(!(c[x>>2]|0))g=w;else{o=c[C>>2]|0;p=c[o>>2]|0;q=(p|0)>-1;n=x;g=w;do{m=n+4|0;e:do if(q){k=0;b=p;do{a=c[o+((k|1)<<2)>>2]|0;if((b|0)>=(N|0))break e;j=c[m>>2]|0;if((c[j+(a<<2)>>2]|0)==(c[d+(a<<2)>>2]|0)?(c[j+(b<<2)>>2]|0)<(c[d+(b<<2)>>2]|0):0)break e;k=k+2|0;b=c[o+(k<<2)>>2]|0}while((b|0)>-1);k=m;V=75}else{k=m;j=c[m>>2]|0;V=75}while(0);if((V|0)==75){V=0;c[g>>2]=c[n>>2];v=g+4|0;y=c[v>>2]|0;c[v>>2]=j;c[k>>2]=y;g=g+8|0}n=n+8|0}while((c[n>>2]|0)!=0)}c[g>>2]=0;y=x;j=0}else{y=w;w=x}k=c[w>>2]|0;if(!k){k=A;g=y}else{r=(B|0)!=0;s=(h|0)==95;t=(B|0)==0;v=K&(h|0)==10;u=(B|0)<1&E;q=w;a=A;g=y;while(1){b=k+8|0;if(c[b>>2]|0){p=q+4|0;o=a;n=b;while(1){f:do if((c[k>>2]|0)>>>0<=h>>>0?(c[k+4>>2]|0)>>>0>=h>>>0:0){m=k+20|0;a=c[m>>2]|0;do if(a|0){if(!((a&1|0)==0|u|v)){a=o;break f}if(a&2|0?(A=c[T>>2]|0,!((A|Q|0)==0|K&(A|0)==10)):0){a=o;break f}do if(a&16|0){if(s){a=o;break f}if(g0(h)|0){a=o;break f}a=c[T>>2]|0;if((a|0)==95)break;if(!(g0(a)|0)){a=o;break f}}while(0);a=c[m>>2]|0;if(a&32){if(s){a=c[T>>2]|0;if((a|0)==95){a=o;break f}}else{A=(g0(h)|0)==0;a=c[T>>2]|0;if(A|(a|0)==95){a=o;break f}}if(g0(a)|0){a=o;break f}a=c[m>>2]|0}b=c[T>>2]|0;do if((b|0)!=0&(r&(a&64|0)!=0)){if(s)a=1;else{a=(g0(h)|0)!=0;b=c[T>>2]|0}if((b|0)==95)if(a){a=o;break f}else break;else if(a^(g0(b)|0)!=0)break;else{a=o;break f}}while(0);do if(c[m>>2]&128|0){a=c[T>>2]|0;if(t|(a|0)==0){a=o;break f}if(s)b=1;else{b=(g0(h)|0)!=0;a=c[T>>2]|0}if((a|0)==95)if(b)break;else{a=o;break f}else if(b^(g0(a)|0)!=0){a=o;break f}else break}while(0);a=c[m>>2]|0;do if(a&4){if(c[R>>2]&2|0)break;if(!(f0(h,c[k+24>>2]|0)|0)){a=o;break f}a=c[m>>2]|0}while(0);do if(a&4|0){if(!(c[R>>2]&2))break;A=n0(h)|0;a=k+24|0;if(f0(A,c[a>>2]|0)|0)break;A=Q$(h)|0;if(!(f0(A,c[a>>2]|0)|0)){a=o;break f}}while(0);if(!(c[m>>2]&8))break;if(d3(c[k+28>>2]|0,h,c[R>>2]&2)|0){a=o;break f}}while(0);if(F){b=c[p>>2]|0;a=0;do{c[o+(a<<2)>>2]=c[b+(a<<2)>>2];a=a+1|0}while((a|0)!=(N|0))}a=c[k+16>>2]|0;do if(a|0){b=c[a>>2]|0;if((b|0)<=-1)break;do{if((b|0)<(N|0))c[o+(b<<2)>>2]=B;a=a+4|0;b=c[a>>2]|0}while((b|0)>-1)}while(0);a=c[k+12>>2]|0;b=M+(a<<3)|0;if((c[b>>2]|0)>=(B|0)){a=c[M+(a<<3)+4>>2]|0;b=c[a>>2]|0;if(!(e3(N,c[J>>2]|0,o,b)|0)){a=o;break}c[a>>2]=o;if((c[n>>2]|0)!=(c[G>>2]|0)){a=b;break}if(F)e=0;else{j=1;a=b;e=B;break}while(1){c[d+(e<<2)>>2]=c[o+(e<<2)>>2];e=e+1|0;if((e|0)==(N|0)){j=1;a=b;e=B;break f}}}A=c[n>>2]|0;c[g>>2]=A;x=g+4|0;m=c[x>>2]|0;c[x>>2]=o;c[b>>2]=B;c[M+(a<<3)+4>>2]=x;do if((c[G>>2]|0)==(A|0)){if((e|0)==-1)if(F)e=0;else{e=B;j=1;break}else{if(!F)break;if((c[o>>2]|0)>(c[d>>2]|0))break;else e=0}do{c[d+(e<<2)>>2]=c[o+(e<<2)>>2];e=e+1|0}while((e|0)<(N|0));e=B;j=1}while(0);a=m;g=g+8|0}else a=o;while(0);n=k+40|0;if(!(c[n>>2]|0))break;else{k=k+32|0;o=a}}}q=q+8|0;k=c[q>>2]|0;if(!k){k=a;break}}}c[g>>2]=0;v=z;u=B;A=k;x=y}c[f>>2]=e;e=e>>>31}while(0);C_(U)}l=W;return e|0}function c3(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;if((d&8|0)==0&(g|0)>-1?(m=c[e+16>>2]|0,n=c[e+28>>2]|0,l=(a|0)!=0&(n|0)!=0,l):0){k=c[e+48>>2]|0;j=0;do{d=c[m+(j*12|0)>>2]|0;if((d|0)==(k|0))i=g;else i=c[f+(d<<2)>>2]|0;h=b+(j<<3)|0;c[h>>2]=i;d=c[m+(j*12|0)+4>>2]|0;if((d|0)==(k|0))d=g;else d=c[f+(d<<2)>>2]|0;e=b+(j<<3)+4|0;c[e>>2]=d;if((d|0)==-1|(i|0)==-1){c[e>>2]=-1;c[h>>2]=-1}j=j+1|0}while(j>>>0>>0&j>>>0>>0);if(l){d=0;do{i=b+(d<<3)+4|0;j=c[m+(d*12|0)+8>>2]|0;if(j|0?(o=c[j>>2]|0,(o|0)>-1):0){k=b+(d<<3)|0;h=0;f=o;e=c[k>>2]|0;do{if(!((e|0)>=(c[b+(f<<3)>>2]|0)?(c[i>>2]|0)<=(c[b+(f<<3)+4>>2]|0):0)){c[i>>2]=-1;c[k>>2]=-1;e=-1}h=h+1|0;f=c[j+(h<<2)>>2]|0}while((f|0)>-1)}d=d+1|0}while(d>>>0>>0&d>>>0>>0)}else d=0}else d=0;if(d>>>0>>0)G3(b+(d<<3)|0,-1,a-d<<3|0)|0;return}function d3(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;e=c[a>>2]|0;a:do if(!e)d=0;else{f=(d|0)==0;d=e;while(1){if(f){if(f0(b,d)|0){d=1;break a}}else{e=Q$(b)|0;if(f0(e,c[a>>2]|0)|0){d=1;break a}e=n0(b)|0;if(f0(e,c[a>>2]|0)|0){d=1;break a}}a=a+4|0;d=c[a>>2]|0;if(!d){d=0;break}}}while(0);return d|0}function e3(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0;a:do if((a|0)>0){f=0;while(1){h=c[d+(f<<2)>>2]|0;g=c[e+(f<<2)>>2]|0;if(!(c[b+(f<<2)>>2]|0)){if((h|0)<(g|0)){f=1;break a}if((h|0)>(g|0)){f=0;break a}}else{if((h|0)>(g|0)){f=1;break a}if((h|0)<(g|0)){f=0;break a}}f=f+1|0;if((f|0)>=(a|0)){f=0;break}}}else f=0;while(0);return f|0}function f3(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0;k=O(e,d)|0;e=(d|0)==0?0:e;if((c[f+76>>2]|0)>-1)j=s0(f)|0;else j=0;g=f+74|0;h=a[g>>0]|0;a[g>>0]=h+255|h;g=f+4|0;h=c[g>>2]|0;i=(c[f+8>>2]|0)-h|0;if((i|0)>0){i=i>>>0>>0?i:k;E3(b|0,h|0,i|0)|0;c[g>>2]=(c[g>>2]|0)+i;g=k-i|0;b=b+i|0}else g=k;a:do if(!g)l=13;else{i=f+32|0;while(1){if(J$(f)|0)break;h=nb[c[i>>2]&63](f,b,g)|0;if((h+1|0)>>>0<2)break;g=g-h|0;if(!g){l=13;break a}else b=b+h|0}if(j|0)t0(f);e=((k-g|0)>>>0)/(d>>>0)|0}while(0);if((l|0)==13)if(j)t0(f);return e|0}function g3(a){a=a|0;var b=0;if((c[a+76>>2]|0)>-1){b=(s0(a)|0)==0;a=h3(a)|0}else a=h3(a)|0;return a|0}function h3(a){a=a|0;var b=0;if(!(c[a>>2]&128))b=1;else b=(c[a+20>>2]|0)>>>0>(c[a+28>>2]|0)>>>0?2:1;b=nb[c[a+40>>2]&63](a,0,b)|0;if((b|0)>=0)b=b-(c[a+8>>2]|0)+(c[a+4>>2]|0)+(c[a+20>>2]|0)-(c[a+28>>2]|0)|0;return b|0}function i3(a){a=a|0;(c[a+76>>2]|0)>-1?s0(a)|0:0;return c[a+60>>2]|0}function j3(b){b=b|0;var d=0,e=0,f=0,g=0;f=c[15653]|0;if((c[f+76>>2]|0)>-1)g=s0(f)|0;else g=0;do if((C1(b,f)|0)<0)b=-1;else{if((a[f+75>>0]|0)!=10?(d=f+20|0,e=c[d>>2]|0,e>>>0<(c[f+16>>2]|0)>>>0):0){c[d>>2]=e+1;a[e>>0]=10;b=0;break}b=(E1(f,10)|0)>>31}while(0);if(g|0)t0(f);return b|0}function k3(){var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0;k=l;l=l+48|0;i=k+24|0;h=k+16|0;g=k;d=k+28|0;b=d;e=150604;f=b+20|0;do{a[b>>0]=a[e>>0]|0;b=b+1|0;e=e+1|0}while((b|0)<(f|0));e=d+13|0;b=0;while(1){g1(e)|0;c[g>>2]=d;c[g+4>>2]=32962;c[g+8>>2]=384;f=M_(Ha(5,g|0)|0)|0;if((f|0)>-1){j=4;break}if((b|0)<99)b=b+1|0;else{b=0;break}}if((j|0)==4){c[h>>2]=d;wa(10,h|0)|0;b=y1(f,150624)|0;if(!b){c[i>>2]=f;Ja(6,i|0)|0;b=0}}l=k;return b|0}function l3(a){a=a|0;var b=0,e=0,f=0;if((c[a+76>>2]|0)>=0?(s0(a)|0)!=0:0){b=a+4|0;e=c[b>>2]|0;if(e>>>0<(c[a+8>>2]|0)>>>0){c[b>>2]=e+1;b=d[e>>0]|0}else b=I$(a)|0}else f=3;do if((f|0)==3){b=a+4|0;e=c[b>>2]|0;if(e>>>0<(c[a+8>>2]|0)>>>0){c[b>>2]=e+1;b=d[e>>0]|0;break}else{b=I$(a)|0;break}}while(0);return b|0}function m3(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0;if((c[d+76>>2]|0)>=0?(s0(d)|0)!=0:0){f=b&255;e=b&255;if((e|0)!=(a[d+75>>0]|0)?(i=d+20|0,j=c[i>>2]|0,j>>>0<(c[d+16>>2]|0)>>>0):0){c[i>>2]=j+1;a[j>>0]=f}else e=E1(d,b)|0;t0(d)}else k=3;do if((k|0)==3){f=b&255;e=b&255;if((e|0)!=(a[d+75>>0]|0)?(g=d+20|0,h=c[g>>2]|0,h>>>0<(c[d+16>>2]|0)>>>0):0){c[g>>2]=h+1;a[h>>0]=f;break}e=E1(d,b)|0}while(0);return e|0}function n3(a){a=a|0;return g3(a)|0}function o3(){}function p3(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0;f=a&65535;e=b&65535;c=O(e,f)|0;d=a>>>16;a=(c>>>16)+(O(e,d)|0)|0;e=b>>>16;b=O(e,f)|0;return (z=(a>>>16)+(O(e,d)|0)+(((a&65535)+b|0)>>>16)|0,a+b<<16|c&65535|0)|0}function q3(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0;e=a;f=c;c=p3(e,f)|0;a=z;return (z=(O(b,f)|0)+(O(d,e)|0)+a|a&0,c|0|0)|0}function r3(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;c=a+c>>>0;return (z=b+d+(c>>>0>>0|0)>>>0,c|0)|0}function s3(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;d=b-d-(c>>>0>a>>>0|0)>>>0;return (z=d,a-c>>>0|0)|0}function t3(b){b=b|0;var c=0;c=a[n+(b&255)>>0]|0;if((c|0)<8)return c|0;c=a[n+(b>>8&255)>>0]|0;if((c|0)<8)return c+8|0;c=a[n+(b>>16&255)>>0]|0;if((c|0)<8)return c+16|0;return (a[n+(b>>>24)>>0]|0)+24|0} +function u3(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;l=a;j=b;k=j;h=d;n=e;i=n;if(!k){g=(f|0)!=0;if(!i){if(g){c[f>>2]=(l>>>0)%(h>>>0);c[f+4>>2]=0}n=0;f=(l>>>0)/(h>>>0)>>>0;return (z=n,f)|0}else{if(!g){n=0;f=0;return (z=n,f)|0}c[f>>2]=a|0;c[f+4>>2]=b&0;n=0;f=0;return (z=n,f)|0}}g=(i|0)==0;do if(h){if(!g){g=(R(i|0)|0)-(R(k|0)|0)|0;if(g>>>0<=31){m=g+1|0;i=31-g|0;b=g-31>>31;h=m;a=l>>>(m>>>0)&b|k<>>(m>>>0)&b;g=0;i=l<>2]=a|0;c[f+4>>2]=j|b&0;n=0;f=0;return (z=n,f)|0}g=h-1|0;if(g&h|0){i=(R(h|0)|0)+33-(R(k|0)|0)|0;p=64-i|0;m=32-i|0;j=m>>31;o=i-32|0;b=o>>31;h=i;a=m-1>>31&k>>>(o>>>0)|(k<>>(i>>>0))&b;b=b&k>>>(i>>>0);g=l<>>(o>>>0))&j|l<>31;break}if(f|0){c[f>>2]=g&l;c[f+4>>2]=0}if((h|0)==1){o=j|b&0;p=a|0|0;return (z=o,p)|0}else{p=t3(h|0)|0;o=k>>>(p>>>0)|0;p=k<<32-p|l>>>(p>>>0)|0;return (z=o,p)|0}}else{if(g){if(f|0){c[f>>2]=(k>>>0)%(h>>>0);c[f+4>>2]=0}o=0;p=(k>>>0)/(h>>>0)>>>0;return (z=o,p)|0}if(!l){if(f|0){c[f>>2]=0;c[f+4>>2]=(k>>>0)%(i>>>0)}o=0;p=(k>>>0)/(i>>>0)>>>0;return (z=o,p)|0}g=i-1|0;if(!(g&i)){if(f|0){c[f>>2]=a|0;c[f+4>>2]=g&k|b&0}o=0;p=k>>>((t3(i|0)|0)>>>0);return (z=o,p)|0}g=(R(i|0)|0)-(R(k|0)|0)|0;if(g>>>0<=30){b=g+1|0;i=31-g|0;h=b;a=k<>>(b>>>0);b=k>>>(b>>>0);g=0;i=l<>2]=a|0;c[f+4>>2]=j|b&0;o=0;p=0;return (z=o,p)|0}while(0);if(!h){k=i;j=0;i=0}else{m=d|0|0;l=n|e&0;k=r3(m|0,l|0,-1,-1)|0;d=z;j=i;i=0;do{e=j;j=g>>>31|j<<1;g=i|g<<1;e=a<<1|e>>>31|0;n=a>>>31|b<<1|0;s3(k|0,d|0,e|0,n|0)|0;p=z;o=p>>31|((p|0)<0?-1:0)<<1;i=o&1;a=s3(e|0,n|0,o&m|0,(((p|0)<0?-1:0)>>31|((p|0)<0?-1:0)<<1)&l|0)|0;b=z;h=h-1|0}while((h|0)!=0);k=j;j=0}h=0;if(f|0){c[f>>2]=a;c[f+4>>2]=b}o=(g|0)>>>31|(k|h)<<1|(h<<1|g>>>31)&0|j;p=(g<<1|0>>>31)&-2|i;return (z=o,p)|0}function v3(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return u3(a,b,c,d,0)|0}function w3(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0;g=l;l=l+16|0;f=g|0;u3(a,b,d,e,f)|0;l=g;return (z=c[f+4>>2]|0,c[f>>2]|0)|0}function x3(a,b,c){a=a|0;b=b|0;c=c|0;if((c|0)<32){z=b>>c;return a>>>c|(b&(1<>c-32|0}function y3(a,b,c){a=a|0;b=b|0;c=c|0;if((c|0)<32){z=b>>>c;return a>>>c|(b&(1<>>c-32|0}function z3(a,b,c){a=a|0;b=b|0;c=c|0;if((c|0)<32){z=b<>>32-c;return a<>8&255|0}function B3(a){a=a|0;return (a&255)<<24|(a>>8&255)<<16|(a>>16&255)<<8|a>>>24|0}function C3(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0;q=q+1|0;c[a>>2]=q;while((f|0)<(e|0)){if(!(c[d+(f<<3)>>2]|0)){c[d+(f<<3)>>2]=q;c[d+((f<<3)+4)>>2]=b;c[d+((f<<3)+8)>>2]=0;z=e;return d|0}f=f+1|0}e=e*2|0;d=E_(d|0,8*(e+1|0)|0)|0;d=C3(a|0,b|0,d|0,e|0)|0;z=e;return d|0}function D3(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;while((f|0)<(d|0)){e=c[b+(f<<3)>>2]|0;if(!e)break;if((e|0)==(a|0))return c[b+((f<<3)+4)>>2]|0;f=f+1|0}return 0}function E3(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0;if((e|0)>=8192)return Ra(b|0,d|0,e|0)|0;h=b|0;g=b+e|0;if((b&3)==(d&3)){while(b&3){if(!e)return h|0;a[b>>0]=a[d>>0]|0;b=b+1|0;d=d+1|0;e=e-1|0}e=g&-4|0;f=e-64|0;while((b|0)<=(f|0)){c[b>>2]=c[d>>2];c[b+4>>2]=c[d+4>>2];c[b+8>>2]=c[d+8>>2];c[b+12>>2]=c[d+12>>2];c[b+16>>2]=c[d+16>>2];c[b+20>>2]=c[d+20>>2];c[b+24>>2]=c[d+24>>2];c[b+28>>2]=c[d+28>>2];c[b+32>>2]=c[d+32>>2];c[b+36>>2]=c[d+36>>2];c[b+40>>2]=c[d+40>>2];c[b+44>>2]=c[d+44>>2];c[b+48>>2]=c[d+48>>2];c[b+52>>2]=c[d+52>>2];c[b+56>>2]=c[d+56>>2];c[b+60>>2]=c[d+60>>2];b=b+64|0;d=d+64|0}while((b|0)<(e|0)){c[b>>2]=c[d>>2];b=b+4|0;d=d+4|0}}else{e=g-4|0;while((b|0)<(e|0)){a[b>>0]=a[d>>0]|0;a[b+1>>0]=a[d+1>>0]|0;a[b+2>>0]=a[d+2>>0]|0;a[b+3>>0]=a[d+3>>0]|0;b=b+4|0;d=d+4|0}}while((b|0)<(g|0)){a[b>>0]=a[d>>0]|0;b=b+1|0;d=d+1|0}return h|0}function F3(b,c,d){b=b|0;c=c|0;d=d|0;var e=0;if((c|0)<(b|0)&(b|0)<(c+d|0)){e=b;c=c+d|0;b=b+d|0;while((d|0)>0){b=b-1|0;c=c-1|0;d=d-1|0;a[b>>0]=a[c>>0]|0}b=e}else E3(b,c,d)|0;return b|0}function G3(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0;h=b+e|0;d=d&255;if((e|0)>=67){while(b&3){a[b>>0]=d;b=b+1|0}f=h&-4|0;g=f-64|0;i=d|d<<8|d<<16|d<<24;while((b|0)<=(g|0)){c[b>>2]=i;c[b+4>>2]=i;c[b+8>>2]=i;c[b+12>>2]=i;c[b+16>>2]=i;c[b+20>>2]=i;c[b+24>>2]=i;c[b+28>>2]=i;c[b+32>>2]=i;c[b+36>>2]=i;c[b+40>>2]=i;c[b+44>>2]=i;c[b+48>>2]=i;c[b+52>>2]=i;c[b+56>>2]=i;c[b+60>>2]=i;b=b+64|0}while((b|0)<(f|0)){c[b>>2]=i;b=b+4|0}}while((b|0)<(h|0)){a[b>>0]=d;b=b+1|0}return h-e|0}function H3(a){a=a|0;var b=0,d=0;d=c[i>>2]|0;b=d+a|0;if((a|0)>0&(b|0)<(d|0)|(b|0)<0){W()|0;va(12);return -1}c[i>>2]=b;if((b|0)>(V()|0)?(U()|0)==0:0){c[i>>2]=d;va(12);return -1}return d|0}function I3(a){a=a|0;return +gb[a&1]()}function J3(a,b,c,d){a=a|0;b=+b;c=+c;d=+d;return +hb[a&7](+b,+c,+d)}function K3(a,b){a=a|0;b=b|0;return +ib[a&1](b|0)}function L3(a){a=a|0;return jb[a&3]()|0}function M3(a,b){a=a|0;b=b|0;return kb[a&63](b|0)|0}function N3(a,b,c){a=a|0;b=b|0;c=c|0;return lb[a&127](b|0,c|0)|0}function O3(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=+d;e=+e;return mb[a&3](b|0,c|0,+d,+e)|0}function P3(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return nb[a&63](b|0,c|0,d|0)|0}function Q3(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return ob[a&127](b|0,c|0,d|0,e|0)|0}function R3(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return pb[a&127](b|0,c|0,d|0,e|0,f|0)|0}function S3(a,b,c,d,e,f,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;return qb[a&1](b|0,c|0,d|0,e|0,f|0,g|0)|0}function T3(a,b,c,d,e,f,g,h,i,j,k){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;return rb[a&3](b|0,c|0,d|0,e|0,f|0,g|0,h|0,i|0,j|0,k|0)|0}function U3(a){a=a|0;sb[a&15]()}function V3(a,b){a=a|0;b=b|0;tb[a&127](b|0)}function W3(a,b,c){a=a|0;b=b|0;c=c|0;ub[a&63](b|0,c|0)}function X3(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;vb[a&127](b|0,c|0,d|0)}function Y3(a,b,c,d,e,f,g){a=a|0;b=b|0;c=c|0;d=d|0;e=+e;f=+f;g=g|0;wb[a&15](b|0,c|0,d|0,+e,+f,g|0)}function Z3(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;xb[a&31](b|0,c|0,d|0,e|0)}function _3(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;yb[a&15](b|0,c|0,d|0,e|0,f|0)}function $3(a,b,c,d,e,f,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;zb[a&15](b|0,c|0,d|0,e|0,f|0,g|0)}function a4(a,b,c,d,e,f,g,h,i,j){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;Ab[a&0](b|0,c|0,d|0,e|0,f|0,g|0,h|0,i|0,j|0)}function b4(){S(0);return 0.0}function c4(a,b,c){a=+a;b=+b;c=+c;S(1);return 0.0}function d4(a){a=a|0;S(2);return 0.0}function e4(){S(3);return 0}function f4(a){a=a|0;S(4);return 0}function g4(a,b){a=a|0;b=b|0;S(5);return 0}function h4(a,b,c,d){a=a|0;b=b|0;c=+c;d=+d;S(6);return 0}function i4(a,b,c){a=a|0;b=b|0;c=c|0;S(7);return 0}function j4(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;S(8);return 0}function k4(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;S(9);return 0}function l4(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;S(10);return 0}function m4(a,b,c,d,e,f,g,h,i,j){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;S(11);return 0}function n4(){S(12)}function o4(a){a=a|0;S(13)}function p4(a,b){a=a|0;b=b|0;S(14)}function q4(a,b,c){a=a|0;b=b|0;c=c|0;S(15)}function r4(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=+d;e=+e;f=f|0;S(16)}function s4(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;S(17)}function t4(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;S(18)}function u4(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;S(19)}function v4(a,b,c,d,e,f,g,h,i){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;S(20)} + +// EMSCRIPTEN_END_FUNCS +var gb=[b4,EL];var hb=[c4,QF,PF,RF,SF,c4,c4,c4];var ib=[d4,LL];var jb=[e4,dq,DH,uI];var kb=[f4,dh,yg,Mm,Nm,Ey,Hy,rN,sN,hP,iP,jP,kP,lP,mP,nP,oP,J_,Ib,aC,zl,Cl,$m,uH,$x,Ry,_x,zH,EH,ay,dN,tH,iN,jN,aV,B_,f4,f4,f4,f4,f4,f4,f4,f4,f4,f4,f4,f4,f4,f4,f4,f4,f4,f4,f4,f4,f4,f4,f4,f4,f4,f4,f4,f4];var lb=[g4,gy,Dy,Iy,DK,EK,vK,rK,$J,JT,KT,LT,MT,NT,OT,QT,RT,ST,TT,UT,VT,WT,XT,YT,ZT,_T,$T,aU,bU,cU,dU,eU,fU,gU,hU,iU,jU,kU,lU,mU,vX,wX,yX,VX,WX,XX,YX,ZX,_X,$X,aY,TY,UY,WY,iY,jY,lY,_B,og,ch,Fh,hi,zi,Kk,Ik,Al,Dl,_o,nq,Jq,Lq,Nq,Oq,Qq,Pq,$q,hs,ms,os,su,lB,kB,jB,fD,Sy,wH,sD,ID,DD,ED,FE,C1,m3,yL,MM,wx,OR,Dx,Fx,eN,a$,nQ,IT,YU,ZU,E_,jX,kX,lX,Y2,g4,g4,g4,g4,g4,g4,g4,g4,g4,g4,g4,g4,g4,g4,g4,g4,g4,g4];var mb=[h4,pt,ut,h4];var nb=[i4,Im,Lu,jw,rw,Aw,Fw,Cy,Gy,GI,zM,yR,zX,XY,mY,K_,L_,P_,Q_,F0,Ow,Ym,zu,sp,ns,Hw,dD,X0,uA,f1,AL,CI,rO,VU,GY,xZ,rZ,BZ,O1,i4,i4,i4,i4,i4,i4,i4,i4,i4,i4,i4,i4,i4,i4,i4,i4,i4,i4,i4,i4,i4,i4,i4,i4,i4];var ob=[j4,Km,Vq,Mu,lw,tw,Bx,zA,Cx,Vx,iy,ky,vy,uy,Jy,Ny,Py,wI,BM,UN,SN,OP,AR,WR,VR,oX,pX,qX,rX,sX,tX,uX,xX,BX,MY,NY,OY,PY,QY,RY,SY,VY,ZY,bY,cY,dY,eY,fY,gY,hY,kY,oY,Kw,zz,hD,CL,PV,SV,ZV,iW,rW,xW,vW,yW,hX,CZ,WW,IY,JY,yZ,zZ,j4,j4,j4,j4,j4,j4,j4,j4,j4,j4,j4,j4,j4,j4,j4,j4,j4,j4,j4,j4,j4,j4,j4,j4,j4,j4,j4,j4,j4,j4,j4,j4,j4,j4,j4,j4,j4,j4,j4,j4,j4,j4,j4,j4,j4,j4,j4,j4,j4,j4,j4,j4,j4,j4,j4,j4,j4];var pb=[k4,hy,aK,wK,CX,DX,TX,UX,oZ,_Y,$Y,pY,qY,mX,nX,EZ,FZ,GZ,HZ,JZ,KZ,LZ,MZ,NZ,PZ,QZ,RZ,SZ,TZ,OZ,r_,s_,i_,b_,UZ,VZ,WZ,YZ,XZ,ZZ,_Z,$Z,a_,c_,d_,e_,f_,g_,h_,j_,k_,l_,m_,q_,o_,n_,p_,x_,t_,u_,v_,w_,y_,z_,A_,k4,k4,k4,k4,k4,k4,k4,k4,k4,k4,k4,k4,k4,k4,k4,k4,k4,k4,k4,k4,k4,k4,k4,k4,k4,k4,k4,k4,k4,k4,k4,k4,k4,k4,k4,k4,k4,k4,k4,k4,k4,k4,k4,k4,k4,k4,k4,k4,k4,k4,k4,k4,k4,k4,k4,k4,k4,k4,k4,k4,k4,k4,k4];var qb=[l4,zU];var rb=[m4,qZ,AZ,m4];var sb=[n4,DL,AH,BH,CH,GH,HH,IH,ER,n4,n4,n4,n4,n4,n4,n4];var tb=[o4,Nb,Ob,Sb,Tb,Ub,mc,nc,Lc,Mc,Nc,Oc,Pc,Qc,Rc,bd,cd,fd,gd,hd,id,jd,kd,ld,xd,yd,zd,Bd,Cd,Dd,Ed,Fd,Gd,Hd,Id,Td,Ud,Vd,Xd,Yd,Zd,_d,$d,ae,be,ce,de,fe,se,te,ue,ve,Ge,He,Ie,Ke,Xe,Ye,Ze,$e,af,bf,cf,df,ef,ff,gf,hf,rf,sf,tf,uf,Xf,Sf,qm,am,ep,Fo,$n,bo,Mp,Np,Yl,Zl,eo,mo,oo,zo,ly,HJ,ZJ,JJ,IJ,tK,eJ,hJ,pP,uP,Lf,El,Jo,No,fp,C_,$w,iD,bF,DR,kO,lN,xI,XR,yU,TU,UU,_U,o4,o4,o4,o4,o4,o4,o4,o4,o4,o4,o4,o4];var ub=[p4,Tc,Yc,nd,sd,Pd,le,Be,Qe,of,Af,Ky,bK,FK,xK,sK,XJ,YJ,BK,CK,sP,wP,OI,Rw,eD,FH,cN,zT,xU,WU,XU,$U,bV,p4,p4,p4,p4,p4,p4,p4,p4,p4,p4,p4,p4,p4,p4,p4,p4,p4,p4,p4,p4,p4,p4,p4,p4,p4,p4,p4,p4,p4,p4,p4];var vb=[q4,Vb,Wb,Zb,Kc,Sc,Uc,Xc,md,od,rd,Kd,Ld,Od,ge,he,ke,we,xe,Ae,Le,Me,Pe,jf,kf,nf,vf,wf,zf,pk,qk,rk,Jm,kw,sw,Yw,my,Oy,vz,AA,XC,AG,vI,HI,gJ,AM,DM,TN,RN,qP,rP,tP,vP,xP,zR,mT,lT,px,Rx,az,Dz,Gz,yH,BL,AI,gN,kN,nT,pT,qT,yT,AT,q4,q4,q4,q4,q4,q4,q4,q4,q4,q4,q4,q4,q4,q4,q4,q4,q4,q4,q4,q4,q4,q4,q4,q4,q4,q4,q4,q4,q4,q4,q4,q4,q4,q4,q4,q4,q4,q4,q4,q4,q4,q4,q4,q4,q4,q4,q4,q4,q4,q4,q4,q4,q4,q4,q4,q4];var wb=[r4,wE,xE,yE,zE,AE,BE,CE,DE,r4,r4,r4,r4,r4,r4,r4];var xb=[s4,Xb,Vc,pd,Ad,Md,Wd,ie,ye,Ne,_e,lf,xf,Of,Nf,Mf,Kf,Jf,If,lc,Hf,Gf,jy,_J,uK,AX,YY,nY,Z0,fN,hN,KY];var yb=[t4,dd,Jd,Qd,ee,Je,Bl,gD,mN,t4,t4,t4,t4,t4,t4,t4];var zb=[u4,Yb,Wc,qd,Nd,je,ze,Oe,mf,yf,nN,u4,u4,u4,u4,u4];var Ab=[v4];return{___errno_location:N_,___muldi3:q3,___udivdi3:v3,___uremdi3:w3,_bitshift64Ashr:x3,_bitshift64Lshr:y3,_bitshift64Shl:z3,_dtextract:yw,_free:C_,_htons:L0,_i64Add:r3,_i64Subtract:s3,_llvm_bswap_i16:A3,_llvm_bswap_i32:B3,_malloc:B_,_memalign:H_,_memcpy:E3,_memmove:F3,_memset:G3,_realloc:E_,_saveSetjmp:C3,_sbrk:H3,_testSetjmp:D3,_vizCreateFile:Kb,_vizLastErrorMessage:Jb,_vizRenderFromString:Mb,_vizSetY_invert:Lb,dynCall_d:I3,dynCall_dddd:J3,dynCall_di:K3,dynCall_i:L3,dynCall_ii:M3,dynCall_iii:N3,dynCall_iiidd:O3,dynCall_iiii:P3,dynCall_iiiii:Q3,dynCall_iiiiii:R3,dynCall_iiiiiii:S3,dynCall_iiiiiiiiiii:T3,dynCall_v:U3,dynCall_vi:V3,dynCall_vii:W3,dynCall_viii:X3,dynCall_viiiddi:Y3,dynCall_viiii:Z3,dynCall_viiiii:_3,dynCall_viiiiii:$3,dynCall_viiiiiiiii:a4,establishStackSpace:Eb,getTempRet0:Hb,runPostSets:o3,setTempRet0:Gb,setThrew:Fb,stackAlloc:Bb,stackRestore:Db,stackSave:Cb}}) + + +// EMSCRIPTEN_END_ASM +(Module.asmGlobalArg,Module.asmLibraryArg,buffer);var ___errno_location=Module["___errno_location"]=asm["___errno_location"];var ___muldi3=Module["___muldi3"]=asm["___muldi3"];var ___udivdi3=Module["___udivdi3"]=asm["___udivdi3"];var ___uremdi3=Module["___uremdi3"]=asm["___uremdi3"];var _bitshift64Ashr=Module["_bitshift64Ashr"]=asm["_bitshift64Ashr"];var _bitshift64Lshr=Module["_bitshift64Lshr"]=asm["_bitshift64Lshr"];var _bitshift64Shl=Module["_bitshift64Shl"]=asm["_bitshift64Shl"];var _dtextract=Module["_dtextract"]=asm["_dtextract"];var _free=Module["_free"]=asm["_free"];var _htons=Module["_htons"]=asm["_htons"];var _i64Add=Module["_i64Add"]=asm["_i64Add"];var _i64Subtract=Module["_i64Subtract"]=asm["_i64Subtract"];var _llvm_bswap_i16=Module["_llvm_bswap_i16"]=asm["_llvm_bswap_i16"];var _llvm_bswap_i32=Module["_llvm_bswap_i32"]=asm["_llvm_bswap_i32"];var _malloc=Module["_malloc"]=asm["_malloc"];var _memalign=Module["_memalign"]=asm["_memalign"];var _memcpy=Module["_memcpy"]=asm["_memcpy"];var _memmove=Module["_memmove"]=asm["_memmove"];var _memset=Module["_memset"]=asm["_memset"];var _realloc=Module["_realloc"]=asm["_realloc"];var _saveSetjmp=Module["_saveSetjmp"]=asm["_saveSetjmp"];var _sbrk=Module["_sbrk"]=asm["_sbrk"];var _testSetjmp=Module["_testSetjmp"]=asm["_testSetjmp"];var _vizCreateFile=Module["_vizCreateFile"]=asm["_vizCreateFile"];var _vizLastErrorMessage=Module["_vizLastErrorMessage"]=asm["_vizLastErrorMessage"];var _vizRenderFromString=Module["_vizRenderFromString"]=asm["_vizRenderFromString"];var _vizSetY_invert=Module["_vizSetY_invert"]=asm["_vizSetY_invert"];var establishStackSpace=Module["establishStackSpace"]=asm["establishStackSpace"];var getTempRet0=Module["getTempRet0"]=asm["getTempRet0"];var runPostSets=Module["runPostSets"]=asm["runPostSets"];var setTempRet0=Module["setTempRet0"]=asm["setTempRet0"];var setThrew=Module["setThrew"]=asm["setThrew"];var stackAlloc=Module["stackAlloc"]=asm["stackAlloc"];var stackRestore=Module["stackRestore"]=asm["stackRestore"];var stackSave=Module["stackSave"]=asm["stackSave"];var dynCall_d=Module["dynCall_d"]=asm["dynCall_d"];var dynCall_dddd=Module["dynCall_dddd"]=asm["dynCall_dddd"];var dynCall_di=Module["dynCall_di"]=asm["dynCall_di"];var dynCall_i=Module["dynCall_i"]=asm["dynCall_i"];var dynCall_ii=Module["dynCall_ii"]=asm["dynCall_ii"];var dynCall_iii=Module["dynCall_iii"]=asm["dynCall_iii"];var dynCall_iiidd=Module["dynCall_iiidd"]=asm["dynCall_iiidd"];var dynCall_iiii=Module["dynCall_iiii"]=asm["dynCall_iiii"];var dynCall_iiiii=Module["dynCall_iiiii"]=asm["dynCall_iiiii"];var dynCall_iiiiii=Module["dynCall_iiiiii"]=asm["dynCall_iiiiii"];var dynCall_iiiiiii=Module["dynCall_iiiiiii"]=asm["dynCall_iiiiiii"];var dynCall_iiiiiiiiiii=Module["dynCall_iiiiiiiiiii"]=asm["dynCall_iiiiiiiiiii"];var dynCall_v=Module["dynCall_v"]=asm["dynCall_v"];var dynCall_vi=Module["dynCall_vi"]=asm["dynCall_vi"];var dynCall_vii=Module["dynCall_vii"]=asm["dynCall_vii"];var dynCall_viii=Module["dynCall_viii"]=asm["dynCall_viii"];var dynCall_viiiddi=Module["dynCall_viiiddi"]=asm["dynCall_viiiddi"];var dynCall_viiii=Module["dynCall_viiii"]=asm["dynCall_viiii"];var dynCall_viiiii=Module["dynCall_viiiii"]=asm["dynCall_viiiii"];var dynCall_viiiiii=Module["dynCall_viiiiii"]=asm["dynCall_viiiiii"];var dynCall_viiiiiiiii=Module["dynCall_viiiiiiiii"]=asm["dynCall_viiiiiiiii"];Module["asm"]=asm;Module["ccall"]=ccall;Module["Pointer_stringify"]=Pointer_stringify;Module["UTF8ToString"]=UTF8ToString;if(memoryInitializer){if(!isDataURI(memoryInitializer)){if(typeof Module["locateFile"]==="function"){memoryInitializer=Module["locateFile"](memoryInitializer)}else if(Module["memoryInitializerPrefixURL"]){memoryInitializer=Module["memoryInitializerPrefixURL"]+memoryInitializer}}if(ENVIRONMENT_IS_NODE||ENVIRONMENT_IS_SHELL){var data=Module["readBinary"](memoryInitializer);HEAPU8.set(data,GLOBAL_BASE)}else{addRunDependency("memory initializer");var applyMemoryInitializer=(function(data){if(data.byteLength)data=new Uint8Array(data);HEAPU8.set(data,GLOBAL_BASE);if(Module["memoryInitializerRequest"])delete Module["memoryInitializerRequest"].response;removeRunDependency("memory initializer")});function doBrowserLoad(){Module["readAsync"](memoryInitializer,applyMemoryInitializer,(function(){throw"could not load memory initializer "+memoryInitializer}))}var memoryInitializerBytes=tryParseAsDataURI(memoryInitializer);if(memoryInitializerBytes){applyMemoryInitializer(memoryInitializerBytes.buffer)}else if(Module["memoryInitializerRequest"]){function useRequest(){var request=Module["memoryInitializerRequest"];var response=request.response;if(request.status!==200&&request.status!==0){var data=tryParseAsDataURI(Module["memoryInitializerRequestURL"]);if(data){response=data.buffer}else{console.warn("a problem seems to have happened with Module.memoryInitializerRequest, status: "+request.status+", retrying "+memoryInitializer);doBrowserLoad();return}}applyMemoryInitializer(response)}if(Module["memoryInitializerRequest"].response){setTimeout(useRequest,0)}else{Module["memoryInitializerRequest"].addEventListener("load",useRequest)}}else{doBrowserLoad()}}}function ExitStatus(status){this.name="ExitStatus";this.message="Program terminated with exit("+status+")";this.status=status}ExitStatus.prototype=new Error;ExitStatus.prototype.constructor=ExitStatus;var initialStackTop;dependenciesFulfilled=function runCaller(){if(!Module["calledRun"])run();if(!Module["calledRun"])dependenciesFulfilled=runCaller};function run(args){args=args||Module["arguments"];if(runDependencies>0){return}preRun();if(runDependencies>0)return;if(Module["calledRun"])return;function doRun(){if(Module["calledRun"])return;Module["calledRun"]=true;if(ABORT)return;ensureInitRuntime();preMain();if(Module["onRuntimeInitialized"])Module["onRuntimeInitialized"]();postRun()}if(Module["setStatus"]){Module["setStatus"]("Running...");setTimeout((function(){setTimeout((function(){Module["setStatus"]("")}),1);doRun()}),1)}else{doRun()}}Module["run"]=run;function exit(status,implicit){if(implicit&&Module["noExitRuntime"]&&status===0){return}if(Module["noExitRuntime"]){}else{ABORT=true;EXITSTATUS=status;STACKTOP=initialStackTop;exitRuntime();if(Module["onExit"])Module["onExit"](status)}if(ENVIRONMENT_IS_NODE){process["exit"](status)}Module["quit"](status,new ExitStatus(status))}Module["exit"]=exit;function abort(what){if(Module["onAbort"]){Module["onAbort"](what)}if(what!==undefined){Module.print(what);Module.printErr(what);what=JSON.stringify(what)}else{what=""}ABORT=true;EXITSTATUS=1;throw"abort("+what+"). Build with -s ASSERTIONS=1 for more info."}Module["abort"]=abort;if(Module["preInit"]){if(typeof Module["preInit"]=="function")Module["preInit"]=[Module["preInit"]];while(Module["preInit"].length>0){Module["preInit"].pop()()}}Module["noExitRuntime"]=true;run() + + + + + return Module; +}; + +function render(instance, src, options) { + var i; + for (i = 0; i < options.files.length; i++) { + instance['ccall']('vizCreateFile', 'number', ['string', 'string'], [options.files[i].path, options.files[i].data]); + } + + instance['ccall']('vizSetY_invert', 'number', ['number'], [options.yInvert ? 1 : 0]); + + var resultPointer = instance['ccall']('vizRenderFromString', 'number', ['string', 'string', 'string'], [src, options.format, options.engine]); + var resultString = instance['Pointer_stringify'](resultPointer); + instance['ccall']('free', 'number', ['number'], [resultPointer]); + + var errorMessagePointer = instance['ccall']('vizLastErrorMessage', 'number', [], []); + var errorMessageString = instance['Pointer_stringify'](errorMessagePointer); + instance['ccall']('free', 'number', ['number'], [errorMessagePointer]); + + if (errorMessageString != '') { + throw new Error(errorMessageString); + } + + return resultString; +} + +if (typeof importScripts === "function") { + var instance = Module(); + + onmessage = function(event) { + var id = event.data.id; + var src = event.data.src; + var options = event.data.options; + + try { + var result = render(instance, src, options); + postMessage({ id: id, result: result }); + } catch (error) { + postMessage({ id: id, error: { message: error.message, fileName: error.fileName, lineNumber: error.lineNumber } }); + } + } +} + +if (typeof exports === 'object' && typeof module !== 'undefined') { + module.exports = { render: render, Module: Module }; +} else if (typeof define === 'function' && define.amd) { + define(function() { return { render: render, Module: Module }; }); +} + +if (typeof global.Viz !== 'undefined') { + global.Viz.render = render; + global.Viz.Module = Module; +} + +})(typeof self !== 'undefined' ? self : this); diff --git a/samples/RoutingSample.Web/wwwroot/graph-ui.html b/samples/RoutingSample.Web/wwwroot/graph-ui.html new file mode 100644 index 0000000000..3da8cc8260 --- /dev/null +++ b/samples/RoutingSample.Web/wwwroot/graph-ui.html @@ -0,0 +1,34 @@ + + + + + GraphViz UI + + +

Your App's Routing state machine

+

Loading...

+
+ + + + + + + \ No newline at end of file diff --git a/samples/RoutingSample.Web/wwwroot/viz.js b/samples/RoutingSample.Web/wwwroot/viz.js new file mode 100644 index 0000000000..520aee72ec --- /dev/null +++ b/samples/RoutingSample.Web/wwwroot/viz.js @@ -0,0 +1,331 @@ +/* +Viz.js 2.0.0 (Graphviz 2.40.1, Expat 2.2.5, Emscripten 1.37.36) +Copyright (c) 2014-2018 Michael Daines +Licensed under MIT license + +This distribution contains other software in object code form: + +Graphviz +Licensed under Eclipse Public License - v 1.0 +http://www.graphviz.org + +Expat +Copyright (c) 1998, 1999, 2000 Thai Open Source Software Center Ltd and Clark Cooper +Copyright (c) 2001, 2002, 2003, 2004, 2005, 2006 Expat maintainers. +Licensed under MIT license +http://www.libexpat.org + +zlib +Copyright (C) 1995-2013 Jean-loup Gailly and Mark Adler +http://www.zlib.net/zlib_license.html +*/ +(function (global, factory) { + typeof exports === 'object' && typeof module !== 'undefined' ? module.exports = factory() : + typeof define === 'function' && define.amd ? define(factory) : + (global.Viz = factory()); +}(this, (function () { 'use strict'; + + var _typeof = typeof Symbol === "function" && typeof Symbol.iterator === "symbol" ? function (obj) { + return typeof obj; + } : function (obj) { + return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; + }; + + var classCallCheck = function (instance, Constructor) { + if (!(instance instanceof Constructor)) { + throw new TypeError("Cannot call a class as a function"); + } + }; + + var createClass = function () { + function defineProperties(target, props) { + for (var i = 0; i < props.length; i++) { + var descriptor = props[i]; + descriptor.enumerable = descriptor.enumerable || false; + descriptor.configurable = true; + if ("value" in descriptor) descriptor.writable = true; + Object.defineProperty(target, descriptor.key, descriptor); + } + } + + return function (Constructor, protoProps, staticProps) { + if (protoProps) defineProperties(Constructor.prototype, protoProps); + if (staticProps) defineProperties(Constructor, staticProps); + return Constructor; + }; + }(); + + var _extends = Object.assign || function (target) { + for (var i = 1; i < arguments.length; i++) { + var source = arguments[i]; + + for (var key in source) { + if (Object.prototype.hasOwnProperty.call(source, key)) { + target[key] = source[key]; + } + } + } + + return target; + }; + + var WorkerWrapper = function () { + function WorkerWrapper(worker) { + var _this = this; + + classCallCheck(this, WorkerWrapper); + + this.worker = worker; + this.listeners = []; + this.nextId = 0; + + this.worker.addEventListener('message', function (event) { + var id = event.data.id; + var error = event.data.error; + var result = event.data.result; + + _this.listeners[id](error, result); + delete _this.listeners[id]; + }); + } + + createClass(WorkerWrapper, [{ + key: 'render', + value: function render(src, options) { + var _this2 = this; + + return new Promise(function (resolve, reject) { + var id = _this2.nextId++; + + _this2.listeners[id] = function (error, result) { + if (error) { + reject(new Error(error.message, error.fileName, error.lineNumber)); + return; + } + resolve(result); + }; + + _this2.worker.postMessage({ id: id, src: src, options: options }); + }); + } + }]); + return WorkerWrapper; + }(); + + var ModuleWrapper = function ModuleWrapper(module, render) { + classCallCheck(this, ModuleWrapper); + + var instance = module(); + this.render = function (src, options) { + return new Promise(function (resolve, reject) { + try { + resolve(render(instance, src, options)); + } catch (error) { + reject(error); + } + }); + }; + }; + + // https://developer.mozilla.org/en-US/docs/Web/API/WindowBase64/Base64_encoding_and_decoding + + + function b64EncodeUnicode(str) { + return btoa(encodeURIComponent(str).replace(/%([0-9A-F]{2})/g, function (match, p1) { + return String.fromCharCode('0x' + p1); + })); + } + + function defaultScale() { + if ('devicePixelRatio' in window && window.devicePixelRatio > 1) { + return window.devicePixelRatio; + } else { + return 1; + } + } + + function svgXmlToImageElement(svgXml) { + var _ref = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {}, + _ref$scale = _ref.scale, + scale = _ref$scale === undefined ? defaultScale() : _ref$scale, + _ref$mimeType = _ref.mimeType, + mimeType = _ref$mimeType === undefined ? "image/png" : _ref$mimeType, + _ref$quality = _ref.quality, + quality = _ref$quality === undefined ? 1 : _ref$quality; + + return new Promise(function (resolve, reject) { + var svgImage = new Image(); + + svgImage.onload = function () { + var canvas = document.createElement('canvas'); + canvas.width = svgImage.width * scale; + canvas.height = svgImage.height * scale; + + var context = canvas.getContext("2d"); + context.drawImage(svgImage, 0, 0, canvas.width, canvas.height); + + canvas.toBlob(function (blob) { + var image = new Image(); + image.src = URL.createObjectURL(blob); + image.width = svgImage.width; + image.height = svgImage.height; + + resolve(image); + }, mimeType, quality); + }; + + svgImage.onerror = function (e) { + var error; + + if ('error' in e) { + error = e.error; + } else { + error = new Error('Error loading SVG'); + } + + reject(error); + }; + + svgImage.src = 'data:image/svg+xml;base64,' + b64EncodeUnicode(svgXml); + }); + } + + function svgXmlToImageElementFabric(svgXml) { + var _ref2 = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {}, + _ref2$scale = _ref2.scale, + scale = _ref2$scale === undefined ? defaultScale() : _ref2$scale, + _ref2$mimeType = _ref2.mimeType, + mimeType = _ref2$mimeType === undefined ? 'image/png' : _ref2$mimeType, + _ref2$quality = _ref2.quality, + quality = _ref2$quality === undefined ? 1 : _ref2$quality; + + var multiplier = scale; + + var format = void 0; + if (mimeType == 'image/jpeg') { + format = 'jpeg'; + } else if (mimeType == 'image/png') { + format = 'png'; + } + + return new Promise(function (resolve, reject) { + fabric.loadSVGFromString(svgXml, function (objects, options) { + // If there's something wrong with the SVG, Fabric may return an empty array of objects. Graphviz appears to give us at least one element back even given an empty graph, so we will assume an error in this case. + if (objects.length == 0) { + reject(new Error('Error loading SVG with Fabric')); + } + + var element = document.createElement("canvas"); + element.width = options.width; + element.height = options.height; + + var canvas = new fabric.Canvas(element, { enableRetinaScaling: false }); + var obj = fabric.util.groupSVGElements(objects, options); + canvas.add(obj).renderAll(); + + var image = new Image(); + image.src = canvas.toDataURL({ format: format, multiplier: multiplier, quality: quality }); + image.width = options.width; + image.height = options.height; + + resolve(image); + }); + }); + } + + var Viz = function () { + function Viz() { + var _ref3 = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {}, + workerURL = _ref3.workerURL, + worker = _ref3.worker, + Module = _ref3.Module, + render = _ref3.render; + + classCallCheck(this, Viz); + + if (typeof workerURL !== 'undefined') { + this.wrapper = new WorkerWrapper(new Worker(workerURL)); + } else if (typeof worker !== 'undefined') { + this.wrapper = new WorkerWrapper(worker); + } else if (typeof Module !== 'undefined' && typeof render !== 'undefined') { + this.wrapper = new ModuleWrapper(Module, render); + } else if (typeof Viz.Module !== 'undefined' && typeof Viz.render !== 'undefined') { + this.wrapper = new ModuleWrapper(Viz.Module, Viz.render); + } else { + throw new Error('Must specify workerURL or worker option, Module and render options, or include one of full.render.js or lite.render.js after viz.js.'); + } + } + + createClass(Viz, [{ + key: 'renderString', + value: function renderString(src) { + var _ref4 = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {}, + _ref4$format = _ref4.format, + format = _ref4$format === undefined ? 'svg' : _ref4$format, + _ref4$engine = _ref4.engine, + engine = _ref4$engine === undefined ? 'dot' : _ref4$engine, + _ref4$files = _ref4.files, + files = _ref4$files === undefined ? [] : _ref4$files, + _ref4$images = _ref4.images, + images = _ref4$images === undefined ? [] : _ref4$images, + _ref4$yInvert = _ref4.yInvert, + yInvert = _ref4$yInvert === undefined ? false : _ref4$yInvert; + + for (var i = 0; i < images.length; i++) { + files.push({ + path: images[i].path, + data: '\n\n' + }); + } + + return this.wrapper.render(src, { format: format, engine: engine, files: files, images: images, yInvert: yInvert }); + } + }, { + key: 'renderSVGElement', + value: function renderSVGElement(src) { + var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {}; + + return this.renderString(src, _extends({}, options, { format: 'svg' })).then(function (str) { + var parser = new DOMParser(); + return parser.parseFromString(str, 'image/svg+xml').documentElement; + }); + } + }, { + key: 'renderImageElement', + value: function renderImageElement(src) { + var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {}; + var scale = options.scale, + mimeType = options.mimeType, + quality = options.quality; + + + return this.renderString(src, _extends({}, options, { format: 'svg' })).then(function (str) { + if ((typeof fabric === 'undefined' ? 'undefined' : _typeof(fabric)) === "object" && fabric.loadSVGFromString) { + return svgXmlToImageElementFabric(str, { scale: scale, mimeType: mimeType, quality: quality }); + } else { + return svgXmlToImageElement(str, { scale: scale, mimeType: mimeType, quality: quality }); + } + }); + } + }, { + key: 'renderJSONObject', + value: function renderJSONObject(src) { + var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {}; + var format = options.format; + + + if (format !== 'json' || format !== 'json0') { + format = 'json'; + } + + return this.renderString(src, _extends({}, options, { format: format })).then(function (str) { + return JSON.parse(str); + }); + } + }]); + return Viz; + }(); + + return Viz; + +}))); From 33348b4e00ba1e7eb51972a193063274dae66c98 Mon Sep 17 00:00:00 2001 From: Nate McMaster Date: Fri, 28 Sep 2018 17:10:39 -0700 Subject: [PATCH 186/221] automated: bulk infrastructure updates. Update bootstrapper scripts and remove unnecessary signing properties --- Directory.Build.props | 3 --- run.sh | 8 ++++---- 2 files changed, 4 insertions(+), 7 deletions(-) diff --git a/Directory.Build.props b/Directory.Build.props index 42b13bf610..3cc4440559 100644 --- a/Directory.Build.props +++ b/Directory.Build.props @@ -14,9 +14,6 @@ $(MSBuildThisFileDirectory) $(MSBuildThisFileDirectory)build\Key.snk true - Microsoft - MicrosoftNuGet - true true 7.3
diff --git a/run.sh b/run.sh index 61f7a53385..4c1fed5646 100755 --- a/run.sh +++ b/run.sh @@ -220,7 +220,7 @@ if [ -f "$config_file" ]; then config_channel="$(jq -r 'select(.channel!=null) | .channel' "$config_file")" config_tools_source="$(jq -r 'select(.toolsSource!=null) | .toolsSource' "$config_file")" else - _error "$config_file contains invalid JSON." + __error "$config_file contains invalid JSON." exit 1 fi elif __machine_has python ; then @@ -228,7 +228,7 @@ if [ -f "$config_file" ]; then config_channel="$(python -c "import json,codecs;obj=json.load(codecs.open('$config_file', 'r', 'utf-8-sig'));print(obj['channel'] if 'channel' in obj else '')")" config_tools_source="$(python -c "import json,codecs;obj=json.load(codecs.open('$config_file', 'r', 'utf-8-sig'));print(obj['toolsSource'] if 'toolsSource' in obj else '')")" else - _error "$config_file contains invalid JSON." + __error "$config_file contains invalid JSON." exit 1 fi elif __machine_has python3 ; then @@ -236,11 +236,11 @@ if [ -f "$config_file" ]; then config_channel="$(python3 -c "import json,codecs;obj=json.load(codecs.open('$config_file', 'r', 'utf-8-sig'));print(obj['channel'] if 'channel' in obj else '')")" config_tools_source="$(python3 -c "import json,codecs;obj=json.load(codecs.open('$config_file', 'r', 'utf-8-sig'));print(obj['toolsSource'] if 'toolsSource' in obj else '')")" else - _error "$config_file contains invalid JSON." + __error "$config_file contains invalid JSON." exit 1 fi else - _error 'Missing required command: jq or python. Could not parse the JSON file.' + __error 'Missing required command: jq or python. Could not parse the JSON file.' exit 1 fi From 3044cc8d9eb74d8b466bd85ff9ebe8c3c6d3de79 Mon Sep 17 00:00:00 2001 From: Ryan Nowak Date: Sat, 29 Sep 2018 10:46:43 -0700 Subject: [PATCH 187/221] Add .etl to .gitignore (PerfView) --- .gitignore | 1 + 1 file changed, 1 insertion(+) diff --git a/.gitignore b/.gitignore index e6a9de2f95..74fb35463f 100644 --- a/.gitignore +++ b/.gitignore @@ -41,3 +41,4 @@ node_modules global.json BenchmarkDotNet.Artifacts/ *.etl.zip +*.etl \ No newline at end of file From d1f3b90a0e38ff22afe7c05357f48e2f87de898c Mon Sep 17 00:00:00 2001 From: James Newton-King Date: Sun, 30 Sep 2018 08:54:59 +1300 Subject: [PATCH 188/221] RouteValuesAddressMetadata ctors and XML docs (#818) --- .../EndpointMetadataCollection.cs | 4 +- .../RouteContext.cs | 2 +- .../RouteData.cs | 8 ++-- .../RouteValueDictionary.cs | 2 +- .../VirtualPathContext.cs | 4 +- .../Constraints/HttpMethodRouteConstraint.cs | 2 +- .../EndpointNameMetadata.cs | 2 +- .../IRouteValuesAddressMetadata.cs | 11 ++++++ .../Patterns/RoutePatternException.cs | 2 +- .../Patterns/RoutePatternFactory.cs | 8 ++-- .../RouteConstraintBuilder.cs | 2 +- .../RouteValuesAddressMetadata.cs | 39 +++++++++++++++++++ .../Template/InlineConstraint.cs | 2 +- .../Tree/TreeRouter.cs | 2 +- .../EndpointFactory.cs | 2 +- ...neratorRouteValuesAddressExtensionsTest.cs | 28 ++++++------- .../RouteValuesAddressMetadataTests.cs | 2 +- 17 files changed, 86 insertions(+), 36 deletions(-) diff --git a/src/Microsoft.AspNetCore.Routing.Abstractions/EndpointMetadataCollection.cs b/src/Microsoft.AspNetCore.Routing.Abstractions/EndpointMetadataCollection.cs index a792fff295..137423a886 100644 --- a/src/Microsoft.AspNetCore.Routing.Abstractions/EndpointMetadataCollection.cs +++ b/src/Microsoft.AspNetCore.Routing.Abstractions/EndpointMetadataCollection.cs @@ -29,7 +29,7 @@ namespace Microsoft.AspNetCore.Http private readonly ConcurrentDictionary _cache; /// - /// Creates a new . + /// Creates a new instance of . /// /// The metadata items. public EndpointMetadataCollection(IEnumerable items) @@ -44,7 +44,7 @@ namespace Microsoft.AspNetCore.Http } /// - /// Creates a new . + /// Creates a new instance of . /// /// The metadata items. public EndpointMetadataCollection(params object[] items) diff --git a/src/Microsoft.AspNetCore.Routing.Abstractions/RouteContext.cs b/src/Microsoft.AspNetCore.Routing.Abstractions/RouteContext.cs index 767f39b1ec..7162446e7d 100644 --- a/src/Microsoft.AspNetCore.Routing.Abstractions/RouteContext.cs +++ b/src/Microsoft.AspNetCore.Routing.Abstractions/RouteContext.cs @@ -14,7 +14,7 @@ namespace Microsoft.AspNetCore.Routing private RouteData _routeData; /// - /// Creates a new for the provided . + /// Creates a new instance of for the provided . /// /// The associated with the current request. public RouteContext(HttpContext httpContext) diff --git a/src/Microsoft.AspNetCore.Routing.Abstractions/RouteData.cs b/src/Microsoft.AspNetCore.Routing.Abstractions/RouteData.cs index e0628dc1bb..858c3a67f4 100644 --- a/src/Microsoft.AspNetCore.Routing.Abstractions/RouteData.cs +++ b/src/Microsoft.AspNetCore.Routing.Abstractions/RouteData.cs @@ -16,7 +16,7 @@ namespace Microsoft.AspNetCore.Routing private RouteValueDictionary _values; /// - /// Creates a new instance. + /// Creates a new instance of instance. /// public RouteData() { @@ -24,7 +24,7 @@ namespace Microsoft.AspNetCore.Routing } /// - /// Creates a new instance with values copied from . + /// Creates a new instance of instance with values copied from . /// /// The other instance to copy. public RouteData(RouteData other) @@ -52,7 +52,7 @@ namespace Microsoft.AspNetCore.Routing } /// - /// Creates a new instance with the specified values. + /// Creates a new instance of instance with the specified values. /// /// The values. public RouteData(RouteValueDictionary values) @@ -197,7 +197,7 @@ namespace Microsoft.AspNetCore.Routing private readonly RouteValueDictionary _values; /// - /// Creates a new for . + /// Creates a new instance of for . /// /// The . /// The data tokens. diff --git a/src/Microsoft.AspNetCore.Routing.Abstractions/RouteValueDictionary.cs b/src/Microsoft.AspNetCore.Routing.Abstractions/RouteValueDictionary.cs index 837e466d28..ca132a7889 100644 --- a/src/Microsoft.AspNetCore.Routing.Abstractions/RouteValueDictionary.cs +++ b/src/Microsoft.AspNetCore.Routing.Abstractions/RouteValueDictionary.cs @@ -25,7 +25,7 @@ namespace Microsoft.AspNetCore.Routing private int _count; /// - /// Creates a new from the provided array. + /// Creates a new instance of from the provided array. /// The new instance will take ownership of the array, and may mutate it. /// /// The items array. diff --git a/src/Microsoft.AspNetCore.Routing.Abstractions/VirtualPathContext.cs b/src/Microsoft.AspNetCore.Routing.Abstractions/VirtualPathContext.cs index 036aa445f8..88f899e925 100644 --- a/src/Microsoft.AspNetCore.Routing.Abstractions/VirtualPathContext.cs +++ b/src/Microsoft.AspNetCore.Routing.Abstractions/VirtualPathContext.cs @@ -11,7 +11,7 @@ namespace Microsoft.AspNetCore.Routing public class VirtualPathContext { /// - /// Creates a new . + /// Creates a new instance of . /// /// The associated with the current request. /// The set of route values associated with the current request. @@ -25,7 +25,7 @@ namespace Microsoft.AspNetCore.Routing } /// - /// Creates a new . + /// Creates a new instance of . /// /// The associated with the current request. /// The set of route values associated with the current request. diff --git a/src/Microsoft.AspNetCore.Routing/Constraints/HttpMethodRouteConstraint.cs b/src/Microsoft.AspNetCore.Routing/Constraints/HttpMethodRouteConstraint.cs index a894acaacb..f5a4d81830 100644 --- a/src/Microsoft.AspNetCore.Routing/Constraints/HttpMethodRouteConstraint.cs +++ b/src/Microsoft.AspNetCore.Routing/Constraints/HttpMethodRouteConstraint.cs @@ -14,7 +14,7 @@ namespace Microsoft.AspNetCore.Routing.Constraints public class HttpMethodRouteConstraint : IRouteConstraint { /// - /// Creates a new that accepts the HTTP methods specified + /// Creates a new instance of that accepts the HTTP methods specified /// by . /// /// The allowed HTTP methods. diff --git a/src/Microsoft.AspNetCore.Routing/EndpointNameMetadata.cs b/src/Microsoft.AspNetCore.Routing/EndpointNameMetadata.cs index 925c355807..1342962797 100644 --- a/src/Microsoft.AspNetCore.Routing/EndpointNameMetadata.cs +++ b/src/Microsoft.AspNetCore.Routing/EndpointNameMetadata.cs @@ -16,7 +16,7 @@ namespace Microsoft.AspNetCore.Routing public class EndpointNameMetadata : IEndpointNameMetadata { /// - /// Creates a new with the provided endpoint name. + /// Creates a new instance of with the provided endpoint name. /// /// The endpoint name. public EndpointNameMetadata(string endpointName) diff --git a/src/Microsoft.AspNetCore.Routing/IRouteValuesAddressMetadata.cs b/src/Microsoft.AspNetCore.Routing/IRouteValuesAddressMetadata.cs index 1e771c27d8..076dea8a92 100644 --- a/src/Microsoft.AspNetCore.Routing/IRouteValuesAddressMetadata.cs +++ b/src/Microsoft.AspNetCore.Routing/IRouteValuesAddressMetadata.cs @@ -5,9 +5,20 @@ using System.Collections.Generic; namespace Microsoft.AspNetCore.Routing { + /// + /// Represents metadata used during link generation to find + /// the associated endpoint using route values. + /// public interface IRouteValuesAddressMetadata { + /// + /// Gets the route name. Can be null. + /// string RouteName { get; } + + /// + /// Gets the required route values. + /// IReadOnlyDictionary RequiredValues { get; } } } diff --git a/src/Microsoft.AspNetCore.Routing/Patterns/RoutePatternException.cs b/src/Microsoft.AspNetCore.Routing/Patterns/RoutePatternException.cs index 04dc26daf4..7b21ac0ac5 100644 --- a/src/Microsoft.AspNetCore.Routing/Patterns/RoutePatternException.cs +++ b/src/Microsoft.AspNetCore.Routing/Patterns/RoutePatternException.cs @@ -19,7 +19,7 @@ namespace Microsoft.AspNetCore.Routing.Patterns } /// - /// Creates a new . + /// Creates a new instance of . /// /// The route pattern as raw text. /// The exception message. diff --git a/src/Microsoft.AspNetCore.Routing/Patterns/RoutePatternFactory.cs b/src/Microsoft.AspNetCore.Routing/Patterns/RoutePatternFactory.cs index bbc1e50aca..71941ffde6 100644 --- a/src/Microsoft.AspNetCore.Routing/Patterns/RoutePatternFactory.cs +++ b/src/Microsoft.AspNetCore.Routing/Patterns/RoutePatternFactory.cs @@ -67,7 +67,7 @@ namespace Microsoft.AspNetCore.Routing.Patterns } /// - /// Creates a new from a collection of segments. + /// Creates a new instance of from a collection of segments. /// /// The collection of segments. /// The . @@ -82,7 +82,7 @@ namespace Microsoft.AspNetCore.Routing.Patterns } /// - /// Creates a new from a collection of segments. + /// Creates a new instance of from a collection of segments. /// /// The raw text to associate with the route pattern. May be null. /// The collection of segments. @@ -158,7 +158,7 @@ namespace Microsoft.AspNetCore.Routing.Patterns } /// - /// Creates a new from a collection of segments. + /// Creates a new instance of from a collection of segments. /// /// The collection of segments. /// The . @@ -173,7 +173,7 @@ namespace Microsoft.AspNetCore.Routing.Patterns } /// - /// Creates a new from a collection of segments. + /// Creates a new instance of from a collection of segments. /// /// The raw text to associate with the route pattern. May be null. /// The collection of segments. diff --git a/src/Microsoft.AspNetCore.Routing/RouteConstraintBuilder.cs b/src/Microsoft.AspNetCore.Routing/RouteConstraintBuilder.cs index f170ac81fa..0c444236a5 100644 --- a/src/Microsoft.AspNetCore.Routing/RouteConstraintBuilder.cs +++ b/src/Microsoft.AspNetCore.Routing/RouteConstraintBuilder.cs @@ -23,7 +23,7 @@ namespace Microsoft.AspNetCore.Routing private readonly Dictionary> _constraints; private readonly HashSet _optionalParameters; /// - /// Creates a new instance. + /// Creates a new instance of instance. /// /// The . /// The display name (for use in error messages). diff --git a/src/Microsoft.AspNetCore.Routing/RouteValuesAddressMetadata.cs b/src/Microsoft.AspNetCore.Routing/RouteValuesAddressMetadata.cs index a65c48101a..c901d185ee 100644 --- a/src/Microsoft.AspNetCore.Routing/RouteValuesAddressMetadata.cs +++ b/src/Microsoft.AspNetCore.Routing/RouteValuesAddressMetadata.cs @@ -3,22 +3,61 @@ using System; using System.Collections.Generic; +using System.Collections.ObjectModel; using System.Diagnostics; using System.Linq; namespace Microsoft.AspNetCore.Routing { + /// + /// Metadata used during link generation to find the associated endpoint using route values. + /// [DebuggerDisplay("{DebuggerToString(),nq}")] public sealed class RouteValuesAddressMetadata : IRouteValuesAddressMetadata { + private static readonly IReadOnlyDictionary EmptyRouteValues = + new ReadOnlyDictionary(new Dictionary()); + + /// + /// Creates a new instance of with the provided route name. + /// + /// The route name. Can be null. + public RouteValuesAddressMetadata(string routeName) : this(routeName, EmptyRouteValues) + { + } + + /// + /// Creates a new instance of with the provided required route values. + /// + /// The required route values. + public RouteValuesAddressMetadata(IReadOnlyDictionary requiredValues) : this(null, requiredValues) + { + } + + /// + /// Creates a new instance of with the provided route name and required route values. + /// + /// The route name. Can be null. + /// The required route values. public RouteValuesAddressMetadata(string routeName, IReadOnlyDictionary requiredValues) { + if (requiredValues == null) + { + throw new ArgumentNullException(nameof(requiredValues)); + } + RouteName = routeName; RequiredValues = requiredValues; } + /// + /// Gets the route name. Can be null. + /// public string RouteName { get; } + /// + /// Gets the required route values. + /// public IReadOnlyDictionary RequiredValues { get; } internal string DebuggerToString() diff --git a/src/Microsoft.AspNetCore.Routing/Template/InlineConstraint.cs b/src/Microsoft.AspNetCore.Routing/Template/InlineConstraint.cs index 4d58ce6181..a711ecb136 100644 --- a/src/Microsoft.AspNetCore.Routing/Template/InlineConstraint.cs +++ b/src/Microsoft.AspNetCore.Routing/Template/InlineConstraint.cs @@ -12,7 +12,7 @@ namespace Microsoft.AspNetCore.Routing.Template public class InlineConstraint { /// - /// Creates a new . + /// Creates a new instance of . /// /// The constraint text. public InlineConstraint(string constraint) diff --git a/src/Microsoft.AspNetCore.Routing/Tree/TreeRouter.cs b/src/Microsoft.AspNetCore.Routing/Tree/TreeRouter.cs index 679cbf5261..8670b6cdff 100644 --- a/src/Microsoft.AspNetCore.Routing/Tree/TreeRouter.cs +++ b/src/Microsoft.AspNetCore.Routing/Tree/TreeRouter.cs @@ -30,7 +30,7 @@ namespace Microsoft.AspNetCore.Routing.Tree private readonly ILogger _constraintLogger; /// - /// Creates a new . + /// Creates a new instance of . /// /// The list of that contains the route entries. /// The set of . diff --git a/test/Microsoft.AspNetCore.Routing.Tests/EndpointFactory.cs b/test/Microsoft.AspNetCore.Routing.Tests/EndpointFactory.cs index eb23c5daab..e3a5b0f802 100644 --- a/test/Microsoft.AspNetCore.Routing.Tests/EndpointFactory.cs +++ b/test/Microsoft.AspNetCore.Routing.Tests/EndpointFactory.cs @@ -22,7 +22,7 @@ namespace Microsoft.AspNetCore.Routing var d = new List(metadata ?? Array.Empty()); if (requiredValues != null) { - d.Add(new RouteValuesAddressMetadata(null, new RouteValueDictionary(requiredValues))); + d.Add(new RouteValuesAddressMetadata(new RouteValueDictionary(requiredValues))); } return new RouteEndpoint( diff --git a/test/Microsoft.AspNetCore.Routing.Tests/LinkGeneratorRouteValuesAddressExtensionsTest.cs b/test/Microsoft.AspNetCore.Routing.Tests/LinkGeneratorRouteValuesAddressExtensionsTest.cs index 57f530cdb8..3c3e63c78e 100644 --- a/test/Microsoft.AspNetCore.Routing.Tests/LinkGeneratorRouteValuesAddressExtensionsTest.cs +++ b/test/Microsoft.AspNetCore.Routing.Tests/LinkGeneratorRouteValuesAddressExtensionsTest.cs @@ -24,11 +24,11 @@ namespace Microsoft.AspNetCore.Routing var endpoint1 = EndpointFactory.CreateRouteEndpoint( "Home/Index/{id}", defaults: new { controller = "Home", action = "Index", }, - metadata: new[] { new RouteValuesAddressMetadata(routeName: null, new RouteValueDictionary(new { controller = "Home", action = "Index", })) }); + metadata: new[] { new RouteValuesAddressMetadata(new RouteValueDictionary(new { controller = "Home", action = "Index", })) }); var endpoint2 = EndpointFactory.CreateRouteEndpoint( "Home/Index/{id?}", defaults: new { controller = "Home", action = "Index", }, - metadata: new[] { new RouteValuesAddressMetadata(routeName: null, new RouteValueDictionary(new { controller = "Home", action = "Index", })) }); + metadata: new[] { new RouteValuesAddressMetadata(new RouteValueDictionary(new { controller = "Home", action = "Index", })) }); var linkGenerator = CreateLinkGenerator(endpoint1, endpoint2); @@ -59,11 +59,11 @@ namespace Microsoft.AspNetCore.Routing var endpoint1 = EndpointFactory.CreateRouteEndpoint( "Home/Index/{id}", defaults: new { controller = "Home", action = "Index", }, - metadata: new[] { new RouteValuesAddressMetadata(routeName: null, new RouteValueDictionary(new { controller = "Home", action = "Index", })) }); + metadata: new[] { new RouteValuesAddressMetadata(new RouteValueDictionary(new { controller = "Home", action = "Index", })) }); var endpoint2 = EndpointFactory.CreateRouteEndpoint( "Home/Index/{id?}", defaults: new { controller = "Home", action = "Index", }, - metadata: new[] { new RouteValuesAddressMetadata(routeName: null, new RouteValueDictionary(new { controller = "Home", action = "Index", })) }); + metadata: new[] { new RouteValuesAddressMetadata(new RouteValueDictionary(new { controller = "Home", action = "Index", })) }); var linkGenerator = CreateLinkGenerator(endpoint1, endpoint2); @@ -86,11 +86,11 @@ namespace Microsoft.AspNetCore.Routing var endpoint1 = EndpointFactory.CreateRouteEndpoint( "Home/Index/{id}", defaults: new { controller = "Home", action = "Index", }, - metadata: new[] { new RouteValuesAddressMetadata(routeName: null, new RouteValueDictionary(new { controller = "Home", action = "Index", })) }); + metadata: new[] { new RouteValuesAddressMetadata(new RouteValueDictionary(new { controller = "Home", action = "Index", })) }); var endpoint2 = EndpointFactory.CreateRouteEndpoint( "Home/Index/{id?}", defaults: new { controller = "Home", action = "Index", }, - metadata: new[] { new RouteValuesAddressMetadata(routeName: null, new RouteValueDictionary(new { controller = "Home", action = "Index", })) }); + metadata: new[] { new RouteValuesAddressMetadata(new RouteValueDictionary(new { controller = "Home", action = "Index", })) }); var linkGenerator = CreateLinkGenerator(endpoint1, endpoint2); @@ -116,11 +116,11 @@ namespace Microsoft.AspNetCore.Routing var endpoint1 = EndpointFactory.CreateRouteEndpoint( "Home/Index/{id}", defaults: new { controller = "Home", action = "Index", }, - metadata: new[] { new RouteValuesAddressMetadata(routeName: null, new RouteValueDictionary(new { controller = "Home", action = "Index", })) }); + metadata: new[] { new RouteValuesAddressMetadata(new RouteValueDictionary(new { controller = "Home", action = "Index", })) }); var endpoint2 = EndpointFactory.CreateRouteEndpoint( "Home/Index/{id?}", defaults: new { controller = "Home", action = "Index", }, - metadata: new[] { new RouteValuesAddressMetadata(routeName: null, new RouteValueDictionary(new { controller = "Home", action = "Index", })) }); + metadata: new[] { new RouteValuesAddressMetadata(new RouteValueDictionary(new { controller = "Home", action = "Index", })) }); var linkGenerator = CreateLinkGenerator(endpoint1, endpoint2); @@ -145,11 +145,11 @@ namespace Microsoft.AspNetCore.Routing var endpoint1 = EndpointFactory.CreateRouteEndpoint( "Home/Index/{id}", defaults: new { controller = "Home", action = "Index", }, - metadata: new[] { new RouteValuesAddressMetadata(routeName: null, new RouteValueDictionary(new { controller = "Home", action = "Index", })) }); + metadata: new[] { new RouteValuesAddressMetadata(new RouteValueDictionary(new { controller = "Home", action = "Index", })) }); var endpoint2 = EndpointFactory.CreateRouteEndpoint( "Home/Index/{id?}", defaults: new { controller = "Home", action = "Index", }, - metadata: new[] { new RouteValuesAddressMetadata(routeName: null, new RouteValueDictionary(new { controller = "Home", action = "Index", })) }); + metadata: new[] { new RouteValuesAddressMetadata(new RouteValueDictionary(new { controller = "Home", action = "Index", })) }); var linkGenerator = CreateLinkGenerator(endpoint1, endpoint2); @@ -177,11 +177,11 @@ namespace Microsoft.AspNetCore.Routing var endpoint1 = EndpointFactory.CreateRouteEndpoint( "Home/Index/{id}", defaults: new { controller = "Home", action = "Index", }, - metadata: new[] { new RouteValuesAddressMetadata(routeName: null, new RouteValueDictionary(new { controller = "Home", action = "Index", })) }); + metadata: new[] { new RouteValuesAddressMetadata(new RouteValueDictionary(new { controller = "Home", action = "Index", })) }); var endpoint2 = EndpointFactory.CreateRouteEndpoint( "Home/Index/{id?}", defaults: new { controller = "Home", action = "Index", }, - metadata: new[] { new RouteValuesAddressMetadata(routeName: null, new RouteValueDictionary(new { controller = "Home", action = "Index", })) }); + metadata: new[] { new RouteValuesAddressMetadata(new RouteValueDictionary(new { controller = "Home", action = "Index", })) }); var linkGenerator = CreateLinkGenerator(endpoint1, endpoint2); @@ -208,10 +208,10 @@ namespace Microsoft.AspNetCore.Routing // Arrange var endpoint1 = EndpointFactory.CreateRouteEndpoint( "{controller}/{action}/{id}", - metadata: new[] { new RouteValuesAddressMetadata(routeName: null, new RouteValueDictionary(new { controller = "Home", action = "In?dex", })) }); + metadata: new[] { new RouteValuesAddressMetadata(new RouteValueDictionary(new { controller = "Home", action = "In?dex", })) }); var endpoint2 = EndpointFactory.CreateRouteEndpoint( "{controller}/{action}/{id?}", - metadata: new[] { new RouteValuesAddressMetadata(routeName: null, new RouteValueDictionary(new { controller = "Home", action = "In?dex", })) }); + metadata: new[] { new RouteValuesAddressMetadata(new RouteValueDictionary(new { controller = "Home", action = "In?dex", })) }); var linkGenerator = CreateLinkGenerator(endpoint1, endpoint2); diff --git a/test/Microsoft.AspNetCore.Routing.Tests/RouteValuesAddressMetadataTests.cs b/test/Microsoft.AspNetCore.Routing.Tests/RouteValuesAddressMetadataTests.cs index f05e763484..1a237c2ad1 100644 --- a/test/Microsoft.AspNetCore.Routing.Tests/RouteValuesAddressMetadataTests.cs +++ b/test/Microsoft.AspNetCore.Routing.Tests/RouteValuesAddressMetadataTests.cs @@ -13,7 +13,7 @@ namespace Microsoft.AspNetCore.Routing [Fact] public void DebuggerToString_NoNameAndRequiredValues_ReturnsString() { - var metadata = new RouteValuesAddressMetadata(null, null); + var metadata = new RouteValuesAddressMetadata(null, new Dictionary()); Assert.Equal("Name: - Required values: ", metadata.DebuggerToString()); } From 8b99832eaf353604d420469a31c9c2bc96364630 Mon Sep 17 00:00:00 2001 From: Ryan Nowak Date: Thu, 16 Aug 2018 16:41:09 -0700 Subject: [PATCH 189/221] Add ASCII optimized jump tables --- .../Matching/JumpTableSingleEntryBenchmark.cs | 196 +----------------- .../Matching/Ascii.cs | 75 +++++++ .../Matching/JumpTableBuilder.cs | 10 +- .../Matching/SingleEntryAsciiJumpTable.cs | 55 +++++ .../Matching/AsciiTest.cs | 114 ++++++++++ .../Matching/SingleEntryAsciiJumpTableTest.cs | 13 ++ .../Matching/SingleEntryJumpTableTest.cs | 55 +---- .../Matching/SingleEntryJumpTableTestBase.cs | 68 ++++++ 8 files changed, 347 insertions(+), 239 deletions(-) create mode 100644 src/Microsoft.AspNetCore.Routing/Matching/Ascii.cs create mode 100644 src/Microsoft.AspNetCore.Routing/Matching/SingleEntryAsciiJumpTable.cs create mode 100644 test/Microsoft.AspNetCore.Routing.Tests/Matching/AsciiTest.cs create mode 100644 test/Microsoft.AspNetCore.Routing.Tests/Matching/SingleEntryAsciiJumpTableTest.cs create mode 100644 test/Microsoft.AspNetCore.Routing.Tests/Matching/SingleEntryJumpTableTestBase.cs diff --git a/benchmarks/Microsoft.AspNetCore.Routing.Performance/Matching/JumpTableSingleEntryBenchmark.cs b/benchmarks/Microsoft.AspNetCore.Routing.Performance/Matching/JumpTableSingleEntryBenchmark.cs index 1f676ce5ad..99f774620c 100644 --- a/benchmarks/Microsoft.AspNetCore.Routing.Performance/Matching/JumpTableSingleEntryBenchmark.cs +++ b/benchmarks/Microsoft.AspNetCore.Routing.Performance/Matching/JumpTableSingleEntryBenchmark.cs @@ -10,10 +10,10 @@ namespace Microsoft.AspNetCore.Routing.Matching { public class JumpTableSingleEntryBenchmark { - private JumpTable _implementation; - private JumpTable _prototype; + private JumpTable _default; private JumpTable _trie; private JumpTable _vectorTrie; + private JumpTable _ascii; private string[] _strings; private PathSegment[] _segments; @@ -21,10 +21,10 @@ namespace Microsoft.AspNetCore.Routing.Matching [GlobalSetup] public void Setup() { - _implementation = new SingleEntryJumpTable(0, -1, "hello-world", 1); - _prototype = new SingleEntryAsciiVectorizedJumpTable(0, -2, "hello-world", 1); - _trie = new ILEmitTrieJumpTable(0, -1, new[] { ("hello-world", 1), }, vectorize: false, _implementation); - _vectorTrie = new ILEmitTrieJumpTable(0, -1, new[] { ("hello-world", 1), }, vectorize: true, _implementation); + _default = new SingleEntryJumpTable(0, -1, "hello-world", 1); + _trie = new ILEmitTrieJumpTable(0, -1, new[] { ("hello-world", 1), }, vectorize: false, _default); + _vectorTrie = new ILEmitTrieJumpTable(0, -1, new[] { ("hello-world", 1), }, vectorize: true, _default); + _ascii = new SingleEntryAsciiJumpTable(0, -1, "hello-world", 1); _strings = new string[] { @@ -80,7 +80,7 @@ namespace Microsoft.AspNetCore.Routing.Matching } [Benchmark(OperationsPerInvoke = 5)] - public int Implementation() + public int Default() { var strings = _strings; var segments = _segments; @@ -88,14 +88,14 @@ namespace Microsoft.AspNetCore.Routing.Matching var destination = 0; for (var i = 0; i < strings.Length; i++) { - destination = _implementation.GetDestination(strings[i], segments[i]); + destination = _default.GetDestination(strings[i], segments[i]); } return destination; } [Benchmark(OperationsPerInvoke = 5)] - public int Prototype() + public int Ascii() { var strings = _strings; var segments = _segments; @@ -103,7 +103,7 @@ namespace Microsoft.AspNetCore.Routing.Matching var destination = 0; for (var i = 0; i < strings.Length; i++) { - destination = _prototype.GetDestination(strings[i], segments[i]); + destination = _ascii.GetDestination(strings[i], segments[i]); } return destination; @@ -138,181 +138,5 @@ namespace Microsoft.AspNetCore.Routing.Matching return destination; } - - private class SingleEntryAsciiVectorizedJumpTable : JumpTable - { - private readonly int _defaultDestination; - private readonly int _exitDestination; - private readonly string _text; - private readonly int _destination; - - private readonly ulong[] _values; - private readonly int _residue0Lower; - private readonly int _residue0Upper; - private readonly int _residue1Lower; - private readonly int _residue1Upper; - private readonly int _residue2Lower; - private readonly int _residue2Upper; - - public SingleEntryAsciiVectorizedJumpTable( - int defaultDestination, - int exitDestination, - string text, - int destination) - { - _defaultDestination = defaultDestination; - _exitDestination = exitDestination; - _text = text; - _destination = destination; - - var length = text.Length; - var span = text.ToLowerInvariant().AsSpan(); - ref var p = ref Unsafe.As(ref MemoryMarshal.GetReference(span)); - - _values = new ulong[length / 4]; - for (var i = 0; i < length / 4; i++) - { - _values[i] = Unsafe.ReadUnaligned(ref p); - p = Unsafe.Add(ref p, 64); - } - switch (length % 4) - { - case 1: - { - var c = Unsafe.ReadUnaligned(ref p); - _residue0Lower = char.ToLowerInvariant(c); - _residue0Upper = char.ToUpperInvariant(c); - - break; - } - - case 2: - { - var c = Unsafe.ReadUnaligned(ref p); - _residue0Lower = char.ToLowerInvariant(c); - _residue0Upper = char.ToUpperInvariant(c); - - p = Unsafe.Add(ref p, 2); - c = Unsafe.ReadUnaligned(ref p); - _residue1Lower = char.ToLowerInvariant(c); - _residue1Upper = char.ToUpperInvariant(c); - - break; - } - - case 3: - { - var c = Unsafe.ReadUnaligned(ref p); - _residue0Lower = char.ToLowerInvariant(c); - _residue0Upper = char.ToUpperInvariant(c); - - p = Unsafe.Add(ref p, 2); - c = Unsafe.ReadUnaligned(ref p); - _residue1Lower = char.ToLowerInvariant(c); - _residue1Upper = char.ToUpperInvariant(c); - - p = Unsafe.Add(ref p, 2); - c = Unsafe.ReadUnaligned(ref p); - _residue2Lower = char.ToLowerInvariant(c); - _residue2Upper = char.ToUpperInvariant(c); - - break; - } - } - } - - public override int GetDestination(string path, PathSegment segment) - { - var length = segment.Length; - var span = path.AsSpan(segment.Start, length); - ref var p = ref Unsafe.As(ref MemoryMarshal.GetReference(span)); - - var i = 0; - while (length > 3) - { - var value = Unsafe.ReadUnaligned(ref p); - - if ((value & ~0x007F007F007F007FUL) == 0) - { - return _defaultDestination; - } - - var ulongLowerIndicator = value + (0x0080008000800080UL - 0x0041004100410041UL); - var ulongUpperIndicator = value + (0x0080008000800080UL - 0x005B005B005B005BUL); - var ulongCombinedIndicator = (ulongLowerIndicator ^ ulongUpperIndicator) & 0x0080008000800080UL; - var mask = (ulongCombinedIndicator) >> 2; - - value ^= mask; - - if (value != _values[i]) - { - return _defaultDestination; - } - - i++; - length -= 4; - p = ref Unsafe.Add(ref p, 64); - } - - switch (length) - { - case 1: - { - var c = Unsafe.ReadUnaligned(ref p); - if (c != _residue0Lower && c != _residue0Upper) - { - return _defaultDestination; - } - - break; - } - - case 2: - { - var c = Unsafe.ReadUnaligned(ref p); - if (c != _residue0Lower && c != _residue0Upper) - { - return _defaultDestination; - } - - p = ref Unsafe.Add(ref p, 2); - c = Unsafe.ReadUnaligned(ref p); - if (c != _residue1Lower && c != _residue1Upper) - { - return _defaultDestination; - } - - break; - } - - case 3: - { - var c = Unsafe.ReadUnaligned(ref p); - if (c != _residue0Lower && c != _residue0Upper) - { - return _defaultDestination; - } - - p = ref Unsafe.Add(ref p, 2); - c = Unsafe.ReadUnaligned(ref p); - if (c != _residue1Lower && c != _residue1Upper) - { - return _defaultDestination; - } - - p = ref Unsafe.Add(ref p, 2); - c = Unsafe.ReadUnaligned(ref p); - if (c != _residue2Lower && c != _residue2Upper) - { - return _defaultDestination; - } - - break; - } - } - - return _destination; - } - } } } diff --git a/src/Microsoft.AspNetCore.Routing/Matching/Ascii.cs b/src/Microsoft.AspNetCore.Routing/Matching/Ascii.cs new file mode 100644 index 0000000000..6ff7db28ff --- /dev/null +++ b/src/Microsoft.AspNetCore.Routing/Matching/Ascii.cs @@ -0,0 +1,75 @@ +// Copyright (c) .NET Foundation. All rights reserved. +// Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information. + +using System; +using System.Runtime.CompilerServices; +using System.Runtime.InteropServices; + +namespace Microsoft.AspNetCore.Routing.Matching +{ + internal static class Ascii + { + // case-sensitive equality comparison when we KNOW that 'a' is in the ASCII range + // and we know that the spans are the same length. + // + // Similar to https://github.com/dotnet/coreclr/blob/master/src/System.Private.CoreLib/shared/System/Globalization/CompareInfo.cs#L549 + [MethodImpl(MethodImplOptions.AggressiveInlining)] + public static bool AsciiIgnoreCaseEquals(ReadOnlySpan a, ReadOnlySpan b, int length) + { + // The caller should have checked the length. We enforce that here by THROWING if the + // lengths are unequal. + if (a.Length < length || b.Length < length) + { + // This should never happen, but we don't want to have undefined + // behavior if it does. + ThrowArgumentExceptionForLength(); + } + + ref var charA = ref MemoryMarshal.GetReference(a); + ref var charB = ref MemoryMarshal.GetReference(b); + + // Iterates each span for the provided length and compares each character + // case-insensitively. This looks funky because we're using unsafe operations + // to elide bounds-checks. + while (length > 0 && AsciiIgnoreCaseEquals(charA, charB)) + { + charA = ref Unsafe.Add(ref charA, 1); + charB = ref Unsafe.Add(ref charB, 1); + length--; + } + + return length == 0; + } + + // case-insensitive equality comparison for characters in the ASCII range + [MethodImpl(MethodImplOptions.AggressiveInlining)] + public static bool AsciiIgnoreCaseEquals(char charA, char charB) + { + const uint AsciiToLower = 0x20; + return + // Equal when chars are exactly equal + charA == charB || + + // Equal when converted to-lower AND they are letters + ((charA | AsciiToLower) == (charB | AsciiToLower) && (uint)((charA | AsciiToLower) - 'a') <= (uint)('z' - 'a')); + } + + public static bool IsAscii(string text) + { + for (var i = 0; i < text.Length; i++) + { + if (text[i] > (char)0x7F) + { + return false; + } + } + + return true; + } + + private static void ThrowArgumentExceptionForLength() + { + throw new ArgumentException("length"); + } + } +} diff --git a/src/Microsoft.AspNetCore.Routing/Matching/JumpTableBuilder.cs b/src/Microsoft.AspNetCore.Routing/Matching/JumpTableBuilder.cs index 69939ffeeb..efee38f0f1 100644 --- a/src/Microsoft.AspNetCore.Routing/Matching/JumpTableBuilder.cs +++ b/src/Microsoft.AspNetCore.Routing/Matching/JumpTableBuilder.cs @@ -39,7 +39,15 @@ namespace Microsoft.AspNetCore.Routing.Matching return new ZeroEntryJumpTable(defaultDestination, exitDestination); } - // The IL Emit jump table is not faster for a single entry + // The IL Emit jump table is not faster for a single entry - but we have an optimized version when all text + // is ASCII + if (pathEntries.Length == 1 && Ascii.IsAscii(pathEntries[0].text)) + { + var entry = pathEntries[0]; + return new SingleEntryAsciiJumpTable(defaultDestination, exitDestination, entry.text, entry.destination); + } + + // We have a fallback that works for non-ASCII if (pathEntries.Length == 1) { var entry = pathEntries[0]; diff --git a/src/Microsoft.AspNetCore.Routing/Matching/SingleEntryAsciiJumpTable.cs b/src/Microsoft.AspNetCore.Routing/Matching/SingleEntryAsciiJumpTable.cs new file mode 100644 index 0000000000..5ca0bab566 --- /dev/null +++ b/src/Microsoft.AspNetCore.Routing/Matching/SingleEntryAsciiJumpTable.cs @@ -0,0 +1,55 @@ +// Copyright (c) .NET Foundation. All rights reserved. +// Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information. + +using System; +using System.Runtime.CompilerServices; + +namespace Microsoft.AspNetCore.Routing.Matching +{ + // Optimized implementation for cases where we know that we're + // comparing to ASCII. + internal class SingleEntryAsciiJumpTable : JumpTable + { + private readonly int _defaultDestination; + private readonly int _exitDestination; + private readonly string _text; + private readonly int _destination; + + public SingleEntryAsciiJumpTable( + int defaultDestination, + int exitDestination, + string text, + int destination) + { + _defaultDestination = defaultDestination; + _exitDestination = exitDestination; + _text = text; + _destination = destination; + } + + public unsafe override int GetDestination(string path, PathSegment segment) + { + var length = segment.Length; + if (length == 0) + { + return _exitDestination; + } + + var text = _text; + if (length != text.Length) + { + return _defaultDestination; + } + + var a = path.AsSpan(segment.Start, length); + var b = text.AsSpan(); + + return Ascii.AsciiIgnoreCaseEquals(a, b, length) ? _destination : _defaultDestination; + } + + public override string DebuggerToString() + { + return $"{{ {_text}: {_destination}, $+: {_defaultDestination}, $0: {_exitDestination} }}"; + } + } +} diff --git a/test/Microsoft.AspNetCore.Routing.Tests/Matching/AsciiTest.cs b/test/Microsoft.AspNetCore.Routing.Tests/Matching/AsciiTest.cs new file mode 100644 index 0000000000..c6266183a8 --- /dev/null +++ b/test/Microsoft.AspNetCore.Routing.Tests/Matching/AsciiTest.cs @@ -0,0 +1,114 @@ +// Copyright (c) .NET Foundation. All rights reserved. +// Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information. + +using System; +using Xunit; + +namespace Microsoft.AspNetCore.Routing.Matching +{ + // Note that while we don't intend for this code to be used with non-ASCII test, + // we still call into these methods with some non-ASCII characters so that + // we are sure of how it behaves. + public class AsciiTest + { + [Fact] + public void IsAscii_ReturnsTrueForAscii() + { + // Arrange + var text = "abcd\u007F"; + + // Act + var result = Ascii.IsAscii(text); + + // Assert + Assert.True(result); + } + + [Fact] + public void IsAscii_ReturnsFalseForNonAscii() + { + // Arrange + var text = "abcd\u0080"; + + // Act + var result = Ascii.IsAscii(text); + + // Assert + Assert.False(result); + } + + [Theory] + + // Identity + [InlineData('c', 'c')] + [InlineData('C', 'C')] + [InlineData('#', '#')] + [InlineData('\u0080', '\u0080')] + + // Case-insensitive + [InlineData('c', 'C')] + public void AsciiIgnoreCaseEquals_ReturnsTrue(char x, char y) + { + // Arrange + + // Act + var result = Ascii.AsciiIgnoreCaseEquals(x, y); + + // Assert + Assert.True(result); + } + + [Theory] + + // Different letter + [InlineData('c', 'd')] + [InlineData('C', 'D')] + + // Non-letter + casing difference - 'a' and 'A' are 32 bits apart and so are ' ' and '@' + [InlineData(' ', '@')] + [InlineData('\u0080', '\u0080' + 32)] // Outside of ASCII range + public void AsciiIgnoreCaseEquals_ReturnsFalse(char x, char y) + { + // Arrange + + // Act + var result = Ascii.AsciiIgnoreCaseEquals(x, y); + + // Assert + Assert.False(result); + } + + [Theory] + [InlineData("", "", 0)] + [InlineData("abCD", "abcF", 3)] + [InlineData("ab#\u0080-$%", "Ab#\u0080-$%", 7)] + public void UnsafeAsciiIgnoreCaseEquals_ReturnsTrue(string x, string y, int length) + { + // Arrange + var spanX = x.AsSpan(); + var spanY = y.AsSpan(); + + // Act + var result = Ascii.AsciiIgnoreCaseEquals(spanX, spanY, length); + + // Assert + Assert.True(result); + } + + [Theory] + [InlineData("abcD", "abCE", 4)] + [InlineData("ab#\u0080-$%", "Ab#\u0081-$%", 7)] + public void UnsafeAsciiIgnoreCaseEquals_ReturnsFalse(string x, string y, int length) + { + // Arrange + var spanX = x.AsSpan(); + var spanY = y.AsSpan(); + + // Act + var result = Ascii.AsciiIgnoreCaseEquals(spanX, spanY, length); + + // Assert + Assert.False(result); + } + } +} diff --git a/test/Microsoft.AspNetCore.Routing.Tests/Matching/SingleEntryAsciiJumpTableTest.cs b/test/Microsoft.AspNetCore.Routing.Tests/Matching/SingleEntryAsciiJumpTableTest.cs new file mode 100644 index 0000000000..bd068178e9 --- /dev/null +++ b/test/Microsoft.AspNetCore.Routing.Tests/Matching/SingleEntryAsciiJumpTableTest.cs @@ -0,0 +1,13 @@ +// Copyright (c) .NET Foundation. All rights reserved. +// Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information. + +namespace Microsoft.AspNetCore.Routing.Matching +{ + public class SingleEntryAsciiJumpTableTest : SingleEntryJumpTableTestBase + { + private protected override JumpTable CreateJumpTable(int defaultDestination, int exitDestination, string text, int destination) + { + return new SingleEntryAsciiJumpTable(defaultDestination, exitDestination, text, destination); + } + } +} diff --git a/test/Microsoft.AspNetCore.Routing.Tests/Matching/SingleEntryJumpTableTest.cs b/test/Microsoft.AspNetCore.Routing.Tests/Matching/SingleEntryJumpTableTest.cs index e21e8918cd..77c3366f70 100644 --- a/test/Microsoft.AspNetCore.Routing.Tests/Matching/SingleEntryJumpTableTest.cs +++ b/test/Microsoft.AspNetCore.Routing.Tests/Matching/SingleEntryJumpTableTest.cs @@ -1,62 +1,13 @@ // Copyright (c) .NET Foundation. All rights reserved. // Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information. -using Xunit; - namespace Microsoft.AspNetCore.Routing.Matching { - public class SingleEntryJumpTableTest + public class SingleEntryJumpTableTest : SingleEntryJumpTableTestBase { - [Fact] - public void GetDestination_ZeroLengthSegment_JumpsToExit() + private protected override JumpTable CreateJumpTable(int defaultDestination, int exitDestination, string text, int destination) { - // Arrange - var table = new SingleEntryJumpTable(0, 1, "text", 2); - - // Act - var result = table.GetDestination("ignored", new PathSegment(0, 0)); - - // Assert - Assert.Equal(1, result); - } - - [Fact] - public void GetDestination_NonMatchingSegment_JumpsToDefault() - { - // Arrange - var table = new SingleEntryJumpTable(0, 1, "text", 2); - - // Act - var result = table.GetDestination("text", new PathSegment(1, 2)); - - // Assert - Assert.Equal(0, result); - } - - [Fact] - public void GetDestination_SegmentMatchingText_JumpsToDestination() - { - // Arrange - var table = new SingleEntryJumpTable(0, 1, "text", 2); - - // Act - var result = table.GetDestination("some-text", new PathSegment(5, 4)); - - // Assert - Assert.Equal(2, result); - } - - [Fact] - public void GetDestination_SegmentMatchingTextIgnoreCase_JumpsToDestination() - { - // Arrange - var table = new SingleEntryJumpTable(0, 1, "text", 2); - - // Act - var result = table.GetDestination("some-tExt", new PathSegment(5, 4)); - - // Assert - Assert.Equal(2, result); + return new SingleEntryJumpTable(defaultDestination, exitDestination, text, destination); } } } diff --git a/test/Microsoft.AspNetCore.Routing.Tests/Matching/SingleEntryJumpTableTestBase.cs b/test/Microsoft.AspNetCore.Routing.Tests/Matching/SingleEntryJumpTableTestBase.cs new file mode 100644 index 0000000000..dd3c5953a6 --- /dev/null +++ b/test/Microsoft.AspNetCore.Routing.Tests/Matching/SingleEntryJumpTableTestBase.cs @@ -0,0 +1,68 @@ +// Copyright (c) .NET Foundation. All rights reserved. +// Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information. + +using Xunit; + +namespace Microsoft.AspNetCore.Routing.Matching +{ + public abstract class SingleEntryJumpTableTestBase + { + private protected abstract JumpTable CreateJumpTable( + int defaultDestination, + int exitDestination, + string text, + int destination); + + [Fact] + public void GetDestination_ZeroLengthSegment_JumpsToExit() + { + // Arrange + var table = CreateJumpTable(0, 1, "text", 2); + + // Act + var result = table.GetDestination("ignored", new PathSegment(0, 0)); + + // Assert + Assert.Equal(1, result); + } + + [Fact] + public void GetDestination_NonMatchingSegment_JumpsToDefault() + { + // Arrange + var table = CreateJumpTable(0, 1, "text", 2); + + // Act + var result = table.GetDestination("text", new PathSegment(1, 2)); + + // Assert + Assert.Equal(0, result); + } + + [Fact] + public void GetDestination_SegmentMatchingText_JumpsToDestination() + { + // Arrange + var table = CreateJumpTable(0, 1, "text", 2); + + // Act + var result = table.GetDestination("some-text", new PathSegment(5, 4)); + + // Assert + Assert.Equal(2, result); + } + + [Fact] + public void GetDestination_SegmentMatchingTextIgnoreCase_JumpsToDestination() + { + // Arrange + var table = CreateJumpTable(0, 1, "text", 2); + + // Act + var result = table.GetDestination("some-tExt", new PathSegment(5, 4)); + + // Assert + Assert.Equal(2, result); + } + } +} From 1223752517d2a0fa010fa402fce36f86b18cc08f Mon Sep 17 00:00:00 2001 From: "ASP.NET CI" Date: Sun, 30 Sep 2018 12:29:32 -0700 Subject: [PATCH 190/221] Update dependencies.props [auto-updated: dependencies] --- build/dependencies.props | 58 ++++++++++++++++++++-------------------- korebuild-lock.txt | 4 +-- 2 files changed, 31 insertions(+), 31 deletions(-) diff --git a/build/dependencies.props b/build/dependencies.props index 860642931f..5151047a4d 100644 --- a/build/dependencies.props +++ b/build/dependencies.props @@ -4,37 +4,37 @@ 0.10.13 - 2.2.0-preview1-20180918.1 - 2.2.0-preview3-35301 - 2.2.0-preview3-35301 - 2.2.0-preview3-35301 - 2.2.0-preview3-35301 - 2.2.0-preview3-35301 - 2.2.0-preview3-35301 - 2.2.0-preview3-35301 - 2.2.0-preview3-35301 - 2.2.0-preview3-35301 - 2.2.0-preview3-35301 - 2.2.0-preview3-35301 - 2.2.0-preview3-35301 - 2.2.0-preview3-35301 - 2.2.0-preview3-35301 - 2.2.0-preview3-35301 - 2.2.0-preview3-35301 - 2.2.0-preview3-35301 - 2.2.0-preview3-35301 - 2.2.0-preview3-35301 - 2.2.0-preview3-35301 - 2.2.0-preview3-35301 - 2.2.0-preview3-35301 - 2.2.0-preview3-35301 - 2.2.0-preview3-35301 - 2.2.0-preview3-35301 - 2.2.0-preview3-35301 - 2.2.0-preview3-35301 + 2.2.0-preview1-20180928.5 + 2.2.0-preview3-35359 + 2.2.0-preview3-35359 + 2.2.0-preview3-35359 + 2.2.0-preview3-35359 + 2.2.0-preview3-35359 + 2.2.0-preview3-35359 + 2.2.0-preview3-35359 + 2.2.0-preview3-35359 + 2.2.0-preview3-35359 + 2.2.0-preview3-35359 + 2.2.0-preview3-35359 + 2.2.0-preview3-35359 + 2.2.0-preview3-35359 + 2.2.0-preview3-35359 + 2.2.0-preview3-35359 + 2.2.0-preview3-35359 + 2.2.0-preview3-35359 + 2.2.0-preview3-35359 + 2.2.0-preview3-35359 + 2.2.0-preview3-35359 + 2.2.0-preview3-35359 + 2.2.0-preview3-35359 + 2.2.0-preview3-35359 + 2.2.0-preview3-35359 + 2.2.0-preview3-35359 + 2.2.0-preview3-35359 + 2.2.0-preview3-35359 2.0.9 2.1.3 - 2.2.0-preview2-26905-02 + 2.2.0-preview3-26927-02 15.6.1 4.7.49 2.0.3 diff --git a/korebuild-lock.txt b/korebuild-lock.txt index 649bf2ba0b..26697a21fa 100644 --- a/korebuild-lock.txt +++ b/korebuild-lock.txt @@ -1,2 +1,2 @@ -version:2.2.0-preview1-20180918.1 -commithash:ad5e3fc53442741a0dd49bce437d2ac72f4b5800 +version:2.2.0-preview1-20180928.5 +commithash:43faa29f679f47b88689d645b39e6be5e0055d70 From 1f5eec1d55eb9c03d19d33e88e21fb0bc3c547c1 Mon Sep 17 00:00:00 2001 From: Ryan Nowak Date: Thu, 27 Sep 2018 15:06:51 -0700 Subject: [PATCH 191/221] Rename EndpointFeature -> EndpointSelectorContext --- .../EndpointRoutingBenchmarkBase.cs | 2 +- .../Matching/MatcherAzureBenchmark.cs | 4 +- ...indCandidateSetSmallEntryCountBenchmark.cs | 4 +- .../Matching/MatcherGithubBenchmark.cs | 4 +- .../Matching/MatcherSingleEntryBenchmark.cs | 4 +- .../Matching/TrivialMatcher.cs | 10 +- .../EndpointRoutingMiddleware.cs | 16 +-- ...tFeature.cs => EndpointSelectorContext.cs} | 2 +- .../Matching/DataSourceDependentMatcher.cs | 4 +- .../Matching/DefaultEndpointSelector.cs | 15 ++- .../Matching/DfaMatcher.cs | 8 +- .../Matching/EndpointSelector.cs | 8 +- .../Matching/IEndpointSelectorPolicy.cs | 8 +- .../Matching/Matcher.cs | 6 +- .../EndpointMiddlewareTest.cs | 4 +- .../EndpointRoutingMiddlewareTest.cs | 6 +- ...Test.cs => EndpointSelectorContextTest.cs} | 10 +- ...LinkGeneratorEndpointNameExtensionsTest.cs | 4 +- ...neratorRouteValuesAddressExtensionsTest.cs | 4 +- .../LinkGeneratorTestBase.cs | 6 +- .../Matching/BarebonesMatcher.cs | 16 +-- .../DataSourceDependentMatcherTest.cs | 2 +- .../Matching/DefaultEndpointSelectorTest.cs | 74 ++++++------ .../Matching/DfaMatcherConformanceTest.cs | 6 +- .../Matching/DfaMatcherTest.cs | 24 ++-- .../FullFeaturedMatcherConformanceTest.cs | 96 +++++++-------- .../HttpMethodMatcherPolicyIntegrationTest.cs | 114 +++++++++--------- .../Matching/MatcherAssert.cs | 36 +++--- .../MatcherConformanceTest.SingleEndpoint.cs | 102 ++++++++-------- .../Matching/MatcherConformanceTest.cs | 10 +- .../Matching/RouteMatcher.cs | 17 ++- .../Matching/RouteMatcherBuilder.cs | 12 +- .../Matching/TreeRouterMatcher.cs | 16 +-- .../Matching/TreeRouterMatcherBuilder.cs | 12 +- .../TestObjects/TestMatcher.cs | 6 +- 35 files changed, 335 insertions(+), 337 deletions(-) rename src/Microsoft.AspNetCore.Routing/{EndpointFeature.cs => EndpointSelectorContext.cs} (95%) rename test/Microsoft.AspNetCore.Routing.Tests/{EndpointFeatureTest.cs => EndpointSelectorContextTest.cs} (85%) diff --git a/benchmarks/Microsoft.AspNetCore.Routing.Performance/EndpointRoutingBenchmarkBase.cs b/benchmarks/Microsoft.AspNetCore.Routing.Performance/EndpointRoutingBenchmarkBase.cs index 9e3f050d8d..58c50f1225 100644 --- a/benchmarks/Microsoft.AspNetCore.Routing.Performance/EndpointRoutingBenchmarkBase.cs +++ b/benchmarks/Microsoft.AspNetCore.Routing.Performance/EndpointRoutingBenchmarkBase.cs @@ -129,7 +129,7 @@ namespace Microsoft.AspNetCore.Routing protected (HttpContext httpContext, RouteValueDictionary ambientValues) CreateCurrentRequestContext( object ambientValues = null) { - var feature = new EndpointFeature { RouteValues = new RouteValueDictionary(ambientValues) }; + var feature = new EndpointSelectorContext { RouteValues = new RouteValueDictionary(ambientValues) }; var context = new DefaultHttpContext(); context.Features.Set(feature); context.Features.Set(feature); diff --git a/benchmarks/Microsoft.AspNetCore.Routing.Performance/Matching/MatcherAzureBenchmark.cs b/benchmarks/Microsoft.AspNetCore.Routing.Performance/Matching/MatcherAzureBenchmark.cs index a934316c1f..5f437fad33 100644 --- a/benchmarks/Microsoft.AspNetCore.Routing.Performance/Matching/MatcherAzureBenchmark.cs +++ b/benchmarks/Microsoft.AspNetCore.Routing.Performance/Matching/MatcherAzureBenchmark.cs @@ -15,7 +15,7 @@ namespace Microsoft.AspNetCore.Routing.Matching private Matcher _dfa; private int[] _samples; - private EndpointFeature _feature; + private EndpointSelectorContext _feature; [GlobalSetup] public void Setup() @@ -31,7 +31,7 @@ namespace Microsoft.AspNetCore.Routing.Matching _baseline = (BarebonesMatcher)SetupMatcher(new BarebonesMatcherBuilder()); _dfa = SetupMatcher(CreateDfaMatcherBuilder()); - _feature = new EndpointFeature(); + _feature = new EndpointSelectorContext(); } [Benchmark(Baseline = true, OperationsPerInvoke = SampleCount)] diff --git a/benchmarks/Microsoft.AspNetCore.Routing.Performance/Matching/MatcherFindCandidateSetSmallEntryCountBenchmark.cs b/benchmarks/Microsoft.AspNetCore.Routing.Performance/Matching/MatcherFindCandidateSetSmallEntryCountBenchmark.cs index 993dabc419..b5fecec31e 100644 --- a/benchmarks/Microsoft.AspNetCore.Routing.Performance/Matching/MatcherFindCandidateSetSmallEntryCountBenchmark.cs +++ b/benchmarks/Microsoft.AspNetCore.Routing.Performance/Matching/MatcherFindCandidateSetSmallEntryCountBenchmark.cs @@ -16,7 +16,7 @@ namespace Microsoft.AspNetCore.Routing.Matching private TrivialMatcher _baseline; private DfaMatcher _dfa; - private EndpointFeature _feature; + private EndpointSelectorContext _feature; [GlobalSetup] public void Setup() @@ -28,7 +28,7 @@ namespace Microsoft.AspNetCore.Routing.Matching _baseline = (TrivialMatcher)SetupMatcher(new TrivialMatcherBuilder()); _dfa = (DfaMatcher)SetupMatcher(CreateDfaMatcherBuilder()); - _feature = new EndpointFeature(); + _feature = new EndpointSelectorContext(); } private void SetupEndpoints() diff --git a/benchmarks/Microsoft.AspNetCore.Routing.Performance/Matching/MatcherGithubBenchmark.cs b/benchmarks/Microsoft.AspNetCore.Routing.Performance/Matching/MatcherGithubBenchmark.cs index 3657b42c8b..059e97239c 100644 --- a/benchmarks/Microsoft.AspNetCore.Routing.Performance/Matching/MatcherGithubBenchmark.cs +++ b/benchmarks/Microsoft.AspNetCore.Routing.Performance/Matching/MatcherGithubBenchmark.cs @@ -14,7 +14,7 @@ namespace Microsoft.AspNetCore.Routing.Matching private BarebonesMatcher _baseline; private Matcher _dfa; - private EndpointFeature _feature; + private EndpointSelectorContext _feature; [GlobalSetup] public void Setup() @@ -26,7 +26,7 @@ namespace Microsoft.AspNetCore.Routing.Matching _baseline = (BarebonesMatcher)SetupMatcher(new BarebonesMatcherBuilder()); _dfa = SetupMatcher(CreateDfaMatcherBuilder()); - _feature = new EndpointFeature(); + _feature = new EndpointSelectorContext(); } [Benchmark(Baseline = true, OperationsPerInvoke = EndpointCount)] diff --git a/benchmarks/Microsoft.AspNetCore.Routing.Performance/Matching/MatcherSingleEntryBenchmark.cs b/benchmarks/Microsoft.AspNetCore.Routing.Performance/Matching/MatcherSingleEntryBenchmark.cs index 1c15e43862..412ffdaef3 100644 --- a/benchmarks/Microsoft.AspNetCore.Routing.Performance/Matching/MatcherSingleEntryBenchmark.cs +++ b/benchmarks/Microsoft.AspNetCore.Routing.Performance/Matching/MatcherSingleEntryBenchmark.cs @@ -18,7 +18,7 @@ namespace Microsoft.AspNetCore.Routing.Matching private Matcher _route; private Matcher _tree; - private EndpointFeature _feature; + private EndpointSelectorContext _feature; [GlobalSetup] public void Setup() @@ -36,7 +36,7 @@ namespace Microsoft.AspNetCore.Routing.Matching _route = SetupMatcher(new RouteMatcherBuilder()); _tree = SetupMatcher(new TreeRouterMatcherBuilder()); - _feature = new EndpointFeature(); + _feature = new EndpointSelectorContext(); } private Matcher SetupMatcher(MatcherBuilder builder) diff --git a/benchmarks/Microsoft.AspNetCore.Routing.Performance/Matching/TrivialMatcher.cs b/benchmarks/Microsoft.AspNetCore.Routing.Performance/Matching/TrivialMatcher.cs index ffe2428fe3..3e00ce1999 100644 --- a/benchmarks/Microsoft.AspNetCore.Routing.Performance/Matching/TrivialMatcher.cs +++ b/benchmarks/Microsoft.AspNetCore.Routing.Performance/Matching/TrivialMatcher.cs @@ -23,23 +23,23 @@ namespace Microsoft.AspNetCore.Routing.Matching _candidates = new Candidate[] { new Candidate(endpoint), }; } - public sealed override Task MatchAsync(HttpContext httpContext, EndpointFeature feature) + public sealed override Task MatchAsync(HttpContext httpContext, EndpointSelectorContext context) { if (httpContext == null) { throw new ArgumentNullException(nameof(httpContext)); } - if (feature == null) + if (context == null) { - throw new ArgumentNullException(nameof(feature)); + throw new ArgumentNullException(nameof(context)); } var path = httpContext.Request.Path.Value; if (string.Equals(_endpoint.RoutePattern.RawText, path, StringComparison.OrdinalIgnoreCase)) { - feature.Endpoint = _endpoint; - feature.RouteValues = new RouteValueDictionary(); + context.Endpoint = _endpoint; + context.RouteValues = new RouteValueDictionary(); } return Task.CompletedTask; diff --git a/src/Microsoft.AspNetCore.Routing/EndpointRoutingMiddleware.cs b/src/Microsoft.AspNetCore.Routing/EndpointRoutingMiddleware.cs index 1b0385e212..518d3b1202 100644 --- a/src/Microsoft.AspNetCore.Routing/EndpointRoutingMiddleware.cs +++ b/src/Microsoft.AspNetCore.Routing/EndpointRoutingMiddleware.cs @@ -55,7 +55,7 @@ namespace Microsoft.AspNetCore.Routing public async Task Invoke(HttpContext httpContext) { - var feature = new EndpointFeature(); + var feature = new EndpointSelectorContext(); // There's an inherent race condition between waiting for init and accessing the matcher // this is OK because once `_matcher` is initialized, it will not be set to null again. @@ -66,7 +66,7 @@ namespace Microsoft.AspNetCore.Routing { // Set the endpoint feature only on success. This means we won't overwrite any // existing state for related features unless we did something. - SetEndpointFeature(httpContext, feature); + SetFeatures(httpContext, feature); Log.MatchSuccess(_logger, feature); } @@ -78,13 +78,13 @@ namespace Microsoft.AspNetCore.Routing await _next(httpContext); } - private static void SetEndpointFeature(HttpContext httpContext, EndpointFeature feature) + private static void SetFeatures(HttpContext httpContext, EndpointSelectorContext context) { // For back-compat EndpointRouteValuesFeature implements IEndpointFeature, // IRouteValuesFeature and IRoutingFeature - httpContext.Features.Set(feature); - httpContext.Features.Set(feature); - httpContext.Features.Set(feature); + httpContext.Features.Set(context); + httpContext.Features.Set(context); + httpContext.Features.Set(context); } // Initialization is async to avoid blocking threads while reflection and things @@ -126,9 +126,9 @@ namespace Microsoft.AspNetCore.Routing new EventId(2, "MatchFailure"), "Request did not match any endpoints."); - public static void MatchSuccess(ILogger logger, EndpointFeature feature) + public static void MatchSuccess(ILogger logger, EndpointSelectorContext context) { - _matchSuccess(logger, feature.Endpoint.DisplayName, null); + _matchSuccess(logger, context.Endpoint.DisplayName, null); } public static void MatchFailure(ILogger logger) diff --git a/src/Microsoft.AspNetCore.Routing/EndpointFeature.cs b/src/Microsoft.AspNetCore.Routing/EndpointSelectorContext.cs similarity index 95% rename from src/Microsoft.AspNetCore.Routing/EndpointFeature.cs rename to src/Microsoft.AspNetCore.Routing/EndpointSelectorContext.cs index 582f96cb7c..848cc27366 100644 --- a/src/Microsoft.AspNetCore.Routing/EndpointFeature.cs +++ b/src/Microsoft.AspNetCore.Routing/EndpointSelectorContext.cs @@ -7,7 +7,7 @@ using Microsoft.AspNetCore.Http.Features; namespace Microsoft.AspNetCore.Routing { - public sealed class EndpointFeature : IEndpointFeature, IRouteValuesFeature, IRoutingFeature + public sealed class EndpointSelectorContext : IEndpointFeature, IRouteValuesFeature, IRoutingFeature { private RouteData _routeData; private RouteValueDictionary _routeValues; diff --git a/src/Microsoft.AspNetCore.Routing/Matching/DataSourceDependentMatcher.cs b/src/Microsoft.AspNetCore.Routing/Matching/DataSourceDependentMatcher.cs index 85a1214402..fec90b0d64 100644 --- a/src/Microsoft.AspNetCore.Routing/Matching/DataSourceDependentMatcher.cs +++ b/src/Microsoft.AspNetCore.Routing/Matching/DataSourceDependentMatcher.cs @@ -27,9 +27,9 @@ namespace Microsoft.AspNetCore.Routing.Matching // Used in tests internal Matcher CurrentMatcher => _cache.Value; - public override Task MatchAsync(HttpContext httpContext, EndpointFeature feature) + public override Task MatchAsync(HttpContext httpContext, EndpointSelectorContext context) { - return CurrentMatcher.MatchAsync(httpContext, feature); + return CurrentMatcher.MatchAsync(httpContext, context); } private Matcher CreateMatcher(IReadOnlyList endpoints) diff --git a/src/Microsoft.AspNetCore.Routing/Matching/DefaultEndpointSelector.cs b/src/Microsoft.AspNetCore.Routing/Matching/DefaultEndpointSelector.cs index c2128d0e7a..0b3daa97b1 100644 --- a/src/Microsoft.AspNetCore.Routing/Matching/DefaultEndpointSelector.cs +++ b/src/Microsoft.AspNetCore.Routing/Matching/DefaultEndpointSelector.cs @@ -6,7 +6,6 @@ using System.Collections.Generic; using System.Linq; using System.Threading.Tasks; using Microsoft.AspNetCore.Http; -using Microsoft.AspNetCore.Http.Features; namespace Microsoft.AspNetCore.Routing.Matching { @@ -26,26 +25,26 @@ namespace Microsoft.AspNetCore.Routing.Matching public override async Task SelectAsync( HttpContext httpContext, - EndpointFeature feature, + EndpointSelectorContext context, CandidateSet candidateSet) { var selectorPolicies = _selectorPolicies; for (var i = 0; i < _selectorPolicies.Length; i++) { - await selectorPolicies[i].ApplyAsync(httpContext, feature, candidateSet); - if (feature.Endpoint != null) + await selectorPolicies[i].ApplyAsync(httpContext, context, candidateSet); + if (context.Endpoint != null) { // This is a short circuit, the selector chose an endpoint. return; } } - ProcessFinalCandidates(httpContext, feature, candidateSet); + ProcessFinalCandidates(httpContext, context, candidateSet); } private static void ProcessFinalCandidates( HttpContext httpContext, - EndpointFeature feature, + EndpointSelectorContext context, CandidateSet candidateSet) { Endpoint endpoint = null; @@ -87,8 +86,8 @@ namespace Microsoft.AspNetCore.Routing.Matching if (endpoint != null) { - feature.Endpoint = endpoint; - feature.RouteValues = values; + context.Endpoint = endpoint; + context.RouteValues = values; } } diff --git a/src/Microsoft.AspNetCore.Routing/Matching/DfaMatcher.cs b/src/Microsoft.AspNetCore.Routing/Matching/DfaMatcher.cs index 54209ab0e4..fbdf96687c 100644 --- a/src/Microsoft.AspNetCore.Routing/Matching/DfaMatcher.cs +++ b/src/Microsoft.AspNetCore.Routing/Matching/DfaMatcher.cs @@ -23,16 +23,16 @@ namespace Microsoft.AspNetCore.Routing.Matching _maxSegmentCount = maxSegmentCount; } - public sealed override Task MatchAsync(HttpContext httpContext, EndpointFeature feature) + public sealed override Task MatchAsync(HttpContext httpContext, EndpointSelectorContext context) { if (httpContext == null) { throw new ArgumentNullException(nameof(httpContext)); } - if (feature == null) + if (context == null) { - throw new ArgumentNullException(nameof(feature)); + throw new ArgumentNullException(nameof(context)); } // The sequence of actions we take is optimized to avoid doing expensive work @@ -132,7 +132,7 @@ namespace Microsoft.AspNetCore.Routing.Matching state.IsValidCandidate = isMatch; } - return _selector.SelectAsync(httpContext, feature, candidateSet); + return _selector.SelectAsync(httpContext, context, candidateSet); } internal Candidate[] FindCandidateSet( diff --git a/src/Microsoft.AspNetCore.Routing/Matching/EndpointSelector.cs b/src/Microsoft.AspNetCore.Routing/Matching/EndpointSelector.cs index d1f08ab207..ba1345bb5a 100644 --- a/src/Microsoft.AspNetCore.Routing/Matching/EndpointSelector.cs +++ b/src/Microsoft.AspNetCore.Routing/Matching/EndpointSelector.cs @@ -18,16 +18,16 @@ namespace Microsoft.AspNetCore.Routing.Matching /// Asynchronously selects an from the . /// /// The associated with the current request. - /// The associated with the current request. + /// The associated with the current request. /// The . /// A that completes asynchronously once endpoint selection is complete. /// - /// An should assign the - /// and properties once an endpoint is selected. + /// An should assign the + /// and properties once an endpoint is selected. /// public abstract Task SelectAsync( HttpContext httpContext, - EndpointFeature feature, + EndpointSelectorContext context, CandidateSet candidates); } } diff --git a/src/Microsoft.AspNetCore.Routing/Matching/IEndpointSelectorPolicy.cs b/src/Microsoft.AspNetCore.Routing/Matching/IEndpointSelectorPolicy.cs index 1617822f03..6a3675ba20 100644 --- a/src/Microsoft.AspNetCore.Routing/Matching/IEndpointSelectorPolicy.cs +++ b/src/Microsoft.AspNetCore.Routing/Matching/IEndpointSelectorPolicy.cs @@ -20,8 +20,8 @@ namespace Microsoft.AspNetCore.Routing.Matching /// /// The associated with the current request. /// - /// - /// The associated with the current request. + /// + /// The associated with the current request. /// /// The . /// @@ -31,10 +31,10 @@ namespace Microsoft.AspNetCore.Routing.Matching /// to false where desired. /// /// - /// To signal an error condition, set to an + /// To signal an error condition, set to an /// value that will produce the desired error when executed. /// /// - Task ApplyAsync(HttpContext httpContext, EndpointFeature feature, CandidateSet candidates); + Task ApplyAsync(HttpContext httpContext, EndpointSelectorContext context, CandidateSet candidates); } } diff --git a/src/Microsoft.AspNetCore.Routing/Matching/Matcher.cs b/src/Microsoft.AspNetCore.Routing/Matching/Matcher.cs index 0d84df9dd4..b713e4bdf3 100644 --- a/src/Microsoft.AspNetCore.Routing/Matching/Matcher.cs +++ b/src/Microsoft.AspNetCore.Routing/Matching/Matcher.cs @@ -17,10 +17,10 @@ namespace Microsoft.AspNetCore.Routing.Matching /// Attempts to asynchronously select an for the current request. /// /// The associated with the current request. - /// + /// /// The associated with the current request. The - /// will be mutated to contain the result of the operation. + /// will be mutated to contain the result of the operation. /// A which represents the asynchronous completion of the operation. - public abstract Task MatchAsync(HttpContext httpContext, EndpointFeature feature); + public abstract Task MatchAsync(HttpContext httpContext, EndpointSelectorContext context); } } diff --git a/test/Microsoft.AspNetCore.Routing.Tests/EndpointMiddlewareTest.cs b/test/Microsoft.AspNetCore.Routing.Tests/EndpointMiddlewareTest.cs index 6be0ade53b..3958222fa4 100644 --- a/test/Microsoft.AspNetCore.Routing.Tests/EndpointMiddlewareTest.cs +++ b/test/Microsoft.AspNetCore.Routing.Tests/EndpointMiddlewareTest.cs @@ -39,7 +39,7 @@ namespace Microsoft.AspNetCore.Routing var httpContext = new DefaultHttpContext(); httpContext.RequestServices = new ServiceProvider(); - httpContext.Features.Set(new EndpointFeature() + httpContext.Features.Set(new EndpointSelectorContext() { Endpoint = null, }); @@ -71,7 +71,7 @@ namespace Microsoft.AspNetCore.Routing return Task.CompletedTask; }; - httpContext.Features.Set(new EndpointFeature() + httpContext.Features.Set(new EndpointSelectorContext() { Endpoint = new Endpoint(endpointFunc, EndpointMetadataCollection.Empty, "Test"), }); diff --git a/test/Microsoft.AspNetCore.Routing.Tests/EndpointRoutingMiddlewareTest.cs b/test/Microsoft.AspNetCore.Routing.Tests/EndpointRoutingMiddlewareTest.cs index 1e2f1bbca3..a15d94e340 100644 --- a/test/Microsoft.AspNetCore.Routing.Tests/EndpointRoutingMiddlewareTest.cs +++ b/test/Microsoft.AspNetCore.Routing.Tests/EndpointRoutingMiddlewareTest.cs @@ -105,11 +105,11 @@ namespace Microsoft.AspNetCore.Routing private HttpContext CreateHttpContext() { - var feature = new EndpointFeature(); + var context = new EndpointSelectorContext(); var httpContext = new DefaultHttpContext(); - httpContext.Features.Set(feature); - httpContext.Features.Set(feature); + httpContext.Features.Set(context); + httpContext.Features.Set(context); httpContext.RequestServices = new TestServiceProvider(); diff --git a/test/Microsoft.AspNetCore.Routing.Tests/EndpointFeatureTest.cs b/test/Microsoft.AspNetCore.Routing.Tests/EndpointSelectorContextTest.cs similarity index 85% rename from test/Microsoft.AspNetCore.Routing.Tests/EndpointFeatureTest.cs rename to test/Microsoft.AspNetCore.Routing.Tests/EndpointSelectorContextTest.cs index fb27335677..05ca8850da 100644 --- a/test/Microsoft.AspNetCore.Routing.Tests/EndpointFeatureTest.cs +++ b/test/Microsoft.AspNetCore.Routing.Tests/EndpointSelectorContextTest.cs @@ -9,7 +9,7 @@ using Xunit; namespace Microsoft.AspNetCore.Routing { - public class EndpointFeatureTest + public class EndpointSelectorContextTest { [Fact] public void RouteData_CanIntializeDataTokens_WithMetadata() @@ -17,7 +17,7 @@ namespace Microsoft.AspNetCore.Routing // Arrange var expected = new RouteValueDictionary(new { foo = 17, bar = "hello", }); - var feature = new EndpointFeature() + var context = new EndpointSelectorContext() { Endpoint = new RouteEndpoint( TestConstants.EmptyRequestDelegate, @@ -28,7 +28,7 @@ namespace Microsoft.AspNetCore.Routing }; // Act - var routeData = ((IRoutingFeature)feature).RouteData; + var routeData = ((IRoutingFeature)context).RouteData; // Assert Assert.NotSame(expected, routeData.DataTokens); @@ -39,7 +39,7 @@ namespace Microsoft.AspNetCore.Routing public void RouteData_DataTokensIsEmpty_WithoutMetadata() { // Arrange - var feature = new EndpointFeature() + var context = new EndpointSelectorContext() { Endpoint = new RouteEndpoint( TestConstants.EmptyRequestDelegate, @@ -50,7 +50,7 @@ namespace Microsoft.AspNetCore.Routing }; // Act - var routeData = ((IRoutingFeature)feature).RouteData; + var routeData = ((IRoutingFeature)context).RouteData; // Assert Assert.Empty(routeData.DataTokens); diff --git a/test/Microsoft.AspNetCore.Routing.Tests/LinkGeneratorEndpointNameExtensionsTest.cs b/test/Microsoft.AspNetCore.Routing.Tests/LinkGeneratorEndpointNameExtensionsTest.cs index ee16dc1666..85462d314d 100644 --- a/test/Microsoft.AspNetCore.Routing.Tests/LinkGeneratorEndpointNameExtensionsTest.cs +++ b/test/Microsoft.AspNetCore.Routing.Tests/LinkGeneratorEndpointNameExtensionsTest.cs @@ -26,12 +26,12 @@ namespace Microsoft.AspNetCore.Routing var linkGenerator = CreateLinkGenerator(endpoint1, endpoint2); - var feature = new EndpointFeature() + var context = new EndpointSelectorContext() { RouteValues = new RouteValueDictionary(new { p = "5", }) }; var httpContext = CreateHttpContext(); - httpContext.Features.Set(feature); + httpContext.Features.Set(context); httpContext.Request.PathBase = new PathString("/Foo/Bar?encodeme?"); var values = new { query = "some?query", }; diff --git a/test/Microsoft.AspNetCore.Routing.Tests/LinkGeneratorRouteValuesAddressExtensionsTest.cs b/test/Microsoft.AspNetCore.Routing.Tests/LinkGeneratorRouteValuesAddressExtensionsTest.cs index 3c3e63c78e..de046fb2b1 100644 --- a/test/Microsoft.AspNetCore.Routing.Tests/LinkGeneratorRouteValuesAddressExtensionsTest.cs +++ b/test/Microsoft.AspNetCore.Routing.Tests/LinkGeneratorRouteValuesAddressExtensionsTest.cs @@ -32,12 +32,12 @@ namespace Microsoft.AspNetCore.Routing var linkGenerator = CreateLinkGenerator(endpoint1, endpoint2); - var feature = new EndpointFeature() + var context = new EndpointSelectorContext() { RouteValues = new RouteValueDictionary(new { action = "Index", }) }; var httpContext = CreateHttpContext(); - httpContext.Features.Set(feature); + httpContext.Features.Set(context); httpContext.Request.PathBase = new PathString("/Foo/Bar?encodeme?"); // Act diff --git a/test/Microsoft.AspNetCore.Routing.Tests/LinkGeneratorTestBase.cs b/test/Microsoft.AspNetCore.Routing.Tests/LinkGeneratorTestBase.cs index efceecf7b9..a2a9c22db9 100644 --- a/test/Microsoft.AspNetCore.Routing.Tests/LinkGeneratorTestBase.cs +++ b/test/Microsoft.AspNetCore.Routing.Tests/LinkGeneratorTestBase.cs @@ -18,13 +18,13 @@ namespace Microsoft.AspNetCore.Routing { var httpContext = new DefaultHttpContext(); - var feature = new EndpointFeature + var context = new EndpointSelectorContext { RouteValues = new RouteValueDictionary(ambientValues) }; - httpContext.Features.Set(feature); - httpContext.Features.Set(feature); + httpContext.Features.Set(context); + httpContext.Features.Set(context); return httpContext; } diff --git a/test/Microsoft.AspNetCore.Routing.Tests/Matching/BarebonesMatcher.cs b/test/Microsoft.AspNetCore.Routing.Tests/Matching/BarebonesMatcher.cs index 9b96df1ed8..f1501b423f 100644 --- a/test/Microsoft.AspNetCore.Routing.Tests/Matching/BarebonesMatcher.cs +++ b/test/Microsoft.AspNetCore.Routing.Tests/Matching/BarebonesMatcher.cs @@ -20,16 +20,16 @@ namespace Microsoft.AspNetCore.Routing.Matching Matchers = matchers; } - public override Task MatchAsync(HttpContext httpContext, EndpointFeature feature) + public override Task MatchAsync(HttpContext httpContext, EndpointSelectorContext context) { if (httpContext == null) { throw new ArgumentNullException(nameof(httpContext)); } - if (feature == null) + if (context == null) { - throw new ArgumentNullException(nameof(feature)); + throw new ArgumentNullException(nameof(context)); } var path = httpContext.Request.Path.Value; @@ -37,8 +37,8 @@ namespace Microsoft.AspNetCore.Routing.Matching { if (Matchers[i].TryMatch(path)) { - feature.Endpoint = Matchers[i].Endpoint; - feature.RouteValues = new RouteValueDictionary(); + context.Endpoint = Matchers[i].Endpoint; + context.RouteValues = new RouteValueDictionary(); } } @@ -121,12 +121,12 @@ namespace Microsoft.AspNetCore.Routing.Matching return Array.Empty(); } - public override Task MatchAsync(HttpContext httpContext, EndpointFeature feature) + public override Task MatchAsync(HttpContext httpContext, EndpointSelectorContext context) { if (TryMatch(httpContext.Request.Path.Value)) { - feature.Endpoint = Endpoint; - feature.RouteValues = new RouteValueDictionary(); + context.Endpoint = Endpoint; + context.RouteValues = new RouteValueDictionary(); } return Task.CompletedTask; diff --git a/test/Microsoft.AspNetCore.Routing.Tests/Matching/DataSourceDependentMatcherTest.cs b/test/Microsoft.AspNetCore.Routing.Tests/Matching/DataSourceDependentMatcherTest.cs index fc72765748..eb41ea1890 100644 --- a/test/Microsoft.AspNetCore.Routing.Tests/Matching/DataSourceDependentMatcherTest.cs +++ b/test/Microsoft.AspNetCore.Routing.Tests/Matching/DataSourceDependentMatcherTest.cs @@ -134,7 +134,7 @@ namespace Microsoft.AspNetCore.Routing.Matching { public IReadOnlyList Endpoints { get; set; } - public override Task MatchAsync(HttpContext httpContext, EndpointFeature feature) + public override Task MatchAsync(HttpContext httpContext, EndpointSelectorContext context) { throw new NotImplementedException(); } diff --git a/test/Microsoft.AspNetCore.Routing.Tests/Matching/DefaultEndpointSelectorTest.cs b/test/Microsoft.AspNetCore.Routing.Tests/Matching/DefaultEndpointSelectorTest.cs index 769ca3200c..8d41296010 100644 --- a/test/Microsoft.AspNetCore.Routing.Tests/Matching/DefaultEndpointSelectorTest.cs +++ b/test/Microsoft.AspNetCore.Routing.Tests/Matching/DefaultEndpointSelectorTest.cs @@ -21,14 +21,14 @@ namespace Microsoft.AspNetCore.Routing.Matching var scores = new int[] { }; var candidateSet = CreateCandidateSet(endpoints, scores); - var (httpContext, feature) = CreateContext(); + var (httpContext, context) = CreateContext(); var selector = CreateSelector(); // Act - await selector.SelectAsync(httpContext, feature, candidateSet); + await selector.SelectAsync(httpContext, context, candidateSet); // Assert - Assert.Null(feature.Endpoint); + Assert.Null(context.Endpoint); } [Fact] @@ -42,14 +42,14 @@ namespace Microsoft.AspNetCore.Routing.Matching candidateSet[0].Values = new RouteValueDictionary(); candidateSet[0].IsValidCandidate = false; - var (httpContext, feature) = CreateContext(); + var (httpContext, context) = CreateContext(); var selector = CreateSelector(); // Act - await selector.SelectAsync(httpContext, feature, candidateSet); + await selector.SelectAsync(httpContext, context, candidateSet); // Assert - Assert.Null(feature.Endpoint); + Assert.Null(context.Endpoint); } [Fact] @@ -63,14 +63,14 @@ namespace Microsoft.AspNetCore.Routing.Matching candidateSet[0].Values = new RouteValueDictionary(); candidateSet[0].IsValidCandidate = true; - var (httpContext, feature) = CreateContext(); + var (httpContext, context) = CreateContext(); var selector = CreateSelector(); // Act - await selector.SelectAsync(httpContext, feature, candidateSet); + await selector.SelectAsync(httpContext, context, candidateSet); // Assert - Assert.Same(endpoints[0], feature.Endpoint); + Assert.Same(endpoints[0], context.Endpoint); } [Fact] @@ -84,14 +84,14 @@ namespace Microsoft.AspNetCore.Routing.Matching candidateSet[0].IsValidCandidate = false; candidateSet[1].IsValidCandidate = true; - var (httpContext, feature) = CreateContext(); + var (httpContext, context) = CreateContext(); var selector = CreateSelector(); // Act - await selector.SelectAsync(httpContext, feature, candidateSet); + await selector.SelectAsync(httpContext, context, candidateSet); // Assert - Assert.Same(endpoints[1], feature.Endpoint); + Assert.Same(endpoints[1], context.Endpoint); } [Fact] @@ -106,14 +106,14 @@ namespace Microsoft.AspNetCore.Routing.Matching candidateSet[1].IsValidCandidate = true; candidateSet[2].IsValidCandidate = true; - var (httpContext, feature) = CreateContext(); + var (httpContext, context) = CreateContext(); var selector = CreateSelector(); // Act - await selector.SelectAsync(httpContext, feature, candidateSet); + await selector.SelectAsync(httpContext, context, candidateSet); // Assert - Assert.Same(endpoints[1], feature.Endpoint); + Assert.Same(endpoints[1], context.Endpoint); } [Fact] @@ -137,14 +137,14 @@ namespace Microsoft.AspNetCore.Routing.Matching candidateSet[3].IsValidCandidate = false; candidateSet[4].IsValidCandidate = true; - var (httpContext, feature) = CreateContext(); + var (httpContext, context) = CreateContext(); var selector = CreateSelector(); // Act - await selector.SelectAsync(httpContext, feature, candidateSet); + await selector.SelectAsync(httpContext, context, candidateSet); // Assert - Assert.Same(endpoints[4], feature.Endpoint); + Assert.Same(endpoints[4], context.Endpoint); } [Fact] @@ -159,11 +159,11 @@ namespace Microsoft.AspNetCore.Routing.Matching candidateSet[1].IsValidCandidate = true; candidateSet[2].IsValidCandidate = true; - var (httpContext, feature) = CreateContext(); + var (httpContext, context) = CreateContext(); var selector = CreateSelector(); // Act - var ex = await Assert.ThrowsAsync(() => selector.SelectAsync(httpContext, feature, candidateSet)); + var ex = await Assert.ThrowsAsync(() => selector.SelectAsync(httpContext, context, candidateSet)); // Assert Assert.Equal( @@ -171,7 +171,7 @@ namespace Microsoft.AspNetCore.Routing.Matching test: /test2 test: /test3", ex.Message); - Assert.Null(feature.Endpoint); + Assert.Null(context.Endpoint); } [Fact] @@ -185,8 +185,8 @@ test: /test3", ex.Message); var policy = new Mock(); policy .As() - .Setup(p => p.ApplyAsync(It.IsAny(), It.IsAny(), It.IsAny())) - .Returns((c, f, cs) => + .Setup(p => p.ApplyAsync(It.IsAny(), It.IsAny(), It.IsAny())) + .Returns((c, f, cs) => { cs[1].IsValidCandidate = false; return Task.CompletedTask; @@ -196,14 +196,14 @@ test: /test3", ex.Message); candidateSet[1].IsValidCandidate = true; candidateSet[2].IsValidCandidate = true; - var (httpContext, feature) = CreateContext(); + var (httpContext, context) = CreateContext(); var selector = CreateSelector(policy.Object); // Act - await selector.SelectAsync(httpContext, feature, candidateSet); + await selector.SelectAsync(httpContext, context, candidateSet); // Assert - Assert.Same(endpoints[2], feature.Endpoint); + Assert.Same(endpoints[2], context.Endpoint); } [Fact] @@ -217,8 +217,8 @@ test: /test3", ex.Message); var policy1 = new Mock(); policy1 .As() - .Setup(p => p.ApplyAsync(It.IsAny(), It.IsAny(), It.IsAny())) - .Returns((c, f, cs) => + .Setup(p => p.ApplyAsync(It.IsAny(), It.IsAny(), It.IsAny())) + .Returns((c, f, cs) => { f.Endpoint = cs[0].Endpoint; return Task.CompletedTask; @@ -231,31 +231,31 @@ test: /test3", ex.Message); .Returns(1000); policy2 .As() - .Setup(p => p.ApplyAsync(It.IsAny(), It.IsAny(), It.IsAny())) + .Setup(p => p.ApplyAsync(It.IsAny(), It.IsAny(), It.IsAny())) .Throws(new InvalidOperationException()); candidateSet[0].IsValidCandidate = false; candidateSet[1].IsValidCandidate = true; candidateSet[2].IsValidCandidate = true; - var (httpContext, feature) = CreateContext(); + var (httpContext, context) = CreateContext(); var selector = CreateSelector(policy1.Object, policy2.Object); // Act - await selector.SelectAsync(httpContext, feature, candidateSet); + await selector.SelectAsync(httpContext, context, candidateSet); // Assert - Assert.Same(endpoints[0], feature.Endpoint); + Assert.Same(endpoints[0], context.Endpoint); } - private static (HttpContext httpContext, EndpointFeature feature) CreateContext() + private static (HttpContext httpContext, EndpointSelectorContext context) CreateContext() { - var feature = new EndpointFeature(); + var context = new EndpointSelectorContext(); var httpContext = new DefaultHttpContext(); - httpContext.Features.Set(feature); - httpContext.Features.Set(feature); + httpContext.Features.Set(context); + httpContext.Features.Set(context); - return (httpContext, feature); + return (httpContext, context); } private static RouteEndpoint CreateEndpoint(string template) diff --git a/test/Microsoft.AspNetCore.Routing.Tests/Matching/DfaMatcherConformanceTest.cs b/test/Microsoft.AspNetCore.Routing.Tests/Matching/DfaMatcherConformanceTest.cs index 5f55304b02..e34abbd5b3 100644 --- a/test/Microsoft.AspNetCore.Routing.Tests/Matching/DfaMatcherConformanceTest.cs +++ b/test/Microsoft.AspNetCore.Routing.Tests/Matching/DfaMatcherConformanceTest.cs @@ -14,13 +14,13 @@ namespace Microsoft.AspNetCore.Routing.Matching { // Arrange var (matcher, endpoint) = CreateMatcher(template); - var (httpContext, feature) = CreateContext(path); + var (httpContext, context) = CreateContext(path); // Act - await matcher.MatchAsync(httpContext, feature); + await matcher.MatchAsync(httpContext, context); // Assert - MatcherAssert.AssertMatch(feature, httpContext, endpoint, keys, values); + MatcherAssert.AssertMatch(context, httpContext, endpoint, keys, values); } internal override Matcher CreateMatcher(params RouteEndpoint[] endpoints) diff --git a/test/Microsoft.AspNetCore.Routing.Tests/Matching/DfaMatcherTest.cs b/test/Microsoft.AspNetCore.Routing.Tests/Matching/DfaMatcherTest.cs index 43046764db..a0b28ec8bf 100644 --- a/test/Microsoft.AspNetCore.Routing.Tests/Matching/DfaMatcherTest.cs +++ b/test/Microsoft.AspNetCore.Routing.Tests/Matching/DfaMatcherTest.cs @@ -55,14 +55,14 @@ namespace Microsoft.AspNetCore.Routing.Matching var matcher = CreateDfaMatcher(endpointDataSource); - var (httpContext, endpointFeature) = CreateHttpContext(); + var (httpContext, context) = CreateContext(); httpContext.Request.Path = "/1"; // Act - await matcher.MatchAsync(httpContext, endpointFeature); + await matcher.MatchAsync(httpContext, context); // Assert - Assert.NotNull(endpointFeature.Endpoint); + Assert.NotNull(context.Endpoint); } [Fact] @@ -76,7 +76,7 @@ namespace Microsoft.AspNetCore.Routing.Matching var matcher = CreateDfaMatcher(endpointDataSource); - var (httpContext, endpointFeature) = CreateHttpContext(); + var (httpContext, endpointFeature) = CreateContext(); httpContext.Request.Path = "/One"; // Act @@ -101,7 +101,7 @@ namespace Microsoft.AspNetCore.Routing.Matching var matcher = CreateDfaMatcher(endpointDataSource); - var (httpContext, endpointFeature) = CreateHttpContext(); + var (httpContext, endpointFeature) = CreateContext(); httpContext.Request.Path = "/Teams"; // Act @@ -120,7 +120,7 @@ namespace Microsoft.AspNetCore.Routing.Matching var endpointSelector = new Mock(); endpointSelector - .Setup(s => s.SelectAsync(It.IsAny(), It.IsAny(), It.IsAny())) + .Setup(s => s.SelectAsync(It.IsAny(), It.IsAny(), It.IsAny())) .Callback((c, f, cs) => { Assert.Equal(2, cs.Count); @@ -147,7 +147,7 @@ namespace Microsoft.AspNetCore.Routing.Matching var matcher = CreateDfaMatcher(endpointDataSource, endpointSelector.Object); - var (httpContext, endpointFeature) = CreateHttpContext(); + var (httpContext, endpointFeature) = CreateContext(); httpContext.Request.Path = "/Teams"; // Act @@ -157,15 +157,15 @@ namespace Microsoft.AspNetCore.Routing.Matching Assert.Equal(endpoint2, endpointFeature.Endpoint); } - private (HttpContext httpContext, EndpointFeature feature) CreateHttpContext() + private (HttpContext httpContext, EndpointSelectorContext context) CreateContext() { - var feature = new EndpointFeature(); + var context = new EndpointSelectorContext(); var httpContext = new DefaultHttpContext(); - httpContext.Features.Set(feature); - httpContext.Features.Set(feature); + httpContext.Features.Set(context); + httpContext.Features.Set(context); - return (httpContext, feature); + return (httpContext, context); } } } diff --git a/test/Microsoft.AspNetCore.Routing.Tests/Matching/FullFeaturedMatcherConformanceTest.cs b/test/Microsoft.AspNetCore.Routing.Tests/Matching/FullFeaturedMatcherConformanceTest.cs index b831720e67..b470d9369f 100644 --- a/test/Microsoft.AspNetCore.Routing.Tests/Matching/FullFeaturedMatcherConformanceTest.cs +++ b/test/Microsoft.AspNetCore.Routing.Tests/Matching/FullFeaturedMatcherConformanceTest.cs @@ -28,13 +28,13 @@ namespace Microsoft.AspNetCore.Routing.Matching { // Arrange var (matcher, endpoint) = CreateMatcher(template); - var (httpContext, feature) = CreateContext(path); + var (httpContext, context) = CreateContext(path); // Act - await matcher.MatchAsync(httpContext, feature); + await matcher.MatchAsync(httpContext, context); // Assert - MatcherAssert.AssertMatch(feature, httpContext, endpoint, keys, values); + MatcherAssert.AssertMatch(context, httpContext, endpoint, keys, values); } [Fact] @@ -43,13 +43,13 @@ namespace Microsoft.AspNetCore.Routing.Matching // Arrange var endpoint = CreateEndpoint("/a/{b}/{c}", new { b = "17", c = "18", }); var matcher = CreateMatcher(endpoint); - var (httpContext, feature) = CreateContext("/a"); + var (httpContext, context) = CreateContext("/a"); // Act - await matcher.MatchAsync(httpContext, feature); + await matcher.MatchAsync(httpContext, context); // Assert - MatcherAssert.AssertMatch(feature, httpContext, endpoint, new { b = "17", c = "18", }); + MatcherAssert.AssertMatch(context, httpContext, endpoint, new { b = "17", c = "18", }); } [Fact] @@ -58,13 +58,13 @@ namespace Microsoft.AspNetCore.Routing.Matching // Arrange var endpoint = CreateEndpoint("/a/{b}/{c}", new { b = "17", c = "18", d = "19" }); var matcher = CreateMatcher(endpoint); - var (httpContext, feature) = CreateContext("/a"); + var (httpContext, context) = CreateContext("/a"); // Act - await matcher.MatchAsync(httpContext, feature); + await matcher.MatchAsync(httpContext, context); // Assert - MatcherAssert.AssertMatch(feature, httpContext, endpoint, new { b = "17", c = "18", d = "19" }); + MatcherAssert.AssertMatch(context, httpContext, endpoint, new { b = "17", c = "18", d = "19" }); } [Theory] @@ -83,13 +83,13 @@ namespace Microsoft.AspNetCore.Routing.Matching { // Arrange var (matcher, endpoint) = CreateMatcher(template); - var (httpContext, feature) = CreateContext(path); + var (httpContext, context) = CreateContext(path); // Act - await matcher.MatchAsync(httpContext, feature); + await matcher.MatchAsync(httpContext, context); // Assert - MatcherAssert.AssertNotMatch(feature, httpContext); + MatcherAssert.AssertNotMatch(context, httpContext); } [Theory] @@ -115,13 +115,13 @@ namespace Microsoft.AspNetCore.Routing.Matching { // Arrange var (matcher, endpoint) = CreateMatcher(template); - var (httpContext, feature) = CreateContext(path); + var (httpContext, context) = CreateContext(path); // Act - await matcher.MatchAsync(httpContext, feature); + await matcher.MatchAsync(httpContext, context); // Assert - MatcherAssert.AssertMatch(feature, httpContext, endpoint, keys, values); + MatcherAssert.AssertMatch(context, httpContext, endpoint, keys, values); } [Theory] @@ -138,13 +138,13 @@ namespace Microsoft.AspNetCore.Routing.Matching { // Arrange var (matcher, endpoint) = CreateMatcher(template); - var (httpContext, feature) = CreateContext(path); + var (httpContext, context) = CreateContext(path); // Act - await matcher.MatchAsync(httpContext, feature); + await matcher.MatchAsync(httpContext, context); // Assert - MatcherAssert.AssertNotMatch(feature, httpContext); + MatcherAssert.AssertNotMatch(context, httpContext); } [Theory] @@ -162,13 +162,13 @@ namespace Microsoft.AspNetCore.Routing.Matching { // Arrange var (matcher, endpoint) = CreateMatcher(template); - var (httpContext, feature) = CreateContext(path); + var (httpContext, context) = CreateContext(path); // Act - await matcher.MatchAsync(httpContext, feature); + await matcher.MatchAsync(httpContext, context); // Assert - MatcherAssert.AssertMatch(feature, httpContext, endpoint, keys, values); + MatcherAssert.AssertMatch(context, httpContext, endpoint, keys, values); } // Historically catchall segments don't match an empty segment, but only if it's @@ -182,13 +182,13 @@ namespace Microsoft.AspNetCore.Routing.Matching { // Arrange var (matcher, endpoint) = CreateMatcher(template); - var (httpContext, feature) = CreateContext(path); + var (httpContext, context) = CreateContext(path); // Act - await matcher.MatchAsync(httpContext, feature); + await matcher.MatchAsync(httpContext, context); // Assert - MatcherAssert.AssertNotMatch(feature, httpContext); + MatcherAssert.AssertNotMatch(context, httpContext); // Need to access these to prevent a warning from the xUnit analyzer. // Some of these tests will match (and process the values) and some will not. @@ -217,13 +217,13 @@ namespace Microsoft.AspNetCore.Routing.Matching { // Arrange var (matcher, endpoint) = CreateMatcher(template); - var (httpContext, feature) = CreateContext(path); + var (httpContext, context) = CreateContext(path); // Act - await matcher.MatchAsync(httpContext, feature); + await matcher.MatchAsync(httpContext, context); // Assert - MatcherAssert.AssertMatch(feature, httpContext, endpoint, keys, values); + MatcherAssert.AssertMatch(context, httpContext, endpoint, keys, values); } [Theory] @@ -237,13 +237,13 @@ namespace Microsoft.AspNetCore.Routing.Matching { // Arrange var (matcher, endpoint) = CreateMatcher(template); - var (httpContext, feature) = CreateContext(path); + var (httpContext, context) = CreateContext(path); // Act - await matcher.MatchAsync(httpContext, feature); + await matcher.MatchAsync(httpContext, context); // Assert - MatcherAssert.AssertNotMatch(feature, httpContext); + MatcherAssert.AssertNotMatch(context, httpContext); } [Theory] @@ -266,13 +266,13 @@ namespace Microsoft.AspNetCore.Routing.Matching { // Arrange var (matcher, endpoint) = CreateMatcher(template); - var (httpContext, feature) = CreateContext(path); + var (httpContext, context) = CreateContext(path); // Act - await matcher.MatchAsync(httpContext, feature); + await matcher.MatchAsync(httpContext, context); // Assert - MatcherAssert.AssertMatch(feature, httpContext, endpoint, keys, values); + MatcherAssert.AssertMatch(context, httpContext, endpoint, keys, values); } [Theory] @@ -292,13 +292,13 @@ namespace Microsoft.AspNetCore.Routing.Matching { // Arrange var (matcher, endpoint) = CreateMatcher(template); - var (httpContext, feature) = CreateContext(path); + var (httpContext, context) = CreateContext(path); // Act - await matcher.MatchAsync(httpContext, feature); + await matcher.MatchAsync(httpContext, context); // Assert - MatcherAssert.AssertNotMatch(feature, httpContext); + MatcherAssert.AssertNotMatch(context, httpContext); } // Most of are copied from old routing tests that date back to the VS 2010 era. Enjoy! @@ -317,13 +317,13 @@ namespace Microsoft.AspNetCore.Routing.Matching { // Arrange var (matcher, endpoint) = CreateMatcher(template); - var (httpContext, feature) = CreateContext(path); + var (httpContext, context) = CreateContext(path); // Act - await matcher.MatchAsync(httpContext, feature); + await matcher.MatchAsync(httpContext, context); // Assert - MatcherAssert.AssertMatch(feature, httpContext, endpoint, keys, values); + MatcherAssert.AssertMatch(context, httpContext, endpoint, keys, values); } [Theory] @@ -347,13 +347,13 @@ namespace Microsoft.AspNetCore.Routing.Matching // Arrange var matcher = CreateMatcher(other, expected); - var (httpContext, feature) = CreateContext(path); + var (httpContext, context) = CreateContext(path); // Act - await matcher.MatchAsync(httpContext, feature); + await matcher.MatchAsync(httpContext, context); // Assert - MatcherAssert.AssertMatch(feature, httpContext, expected, ignoreValues: true); + MatcherAssert.AssertMatch(context, httpContext, expected, ignoreValues: true); } [Theory] @@ -381,13 +381,13 @@ namespace Microsoft.AspNetCore.Routing.Matching // Arrange var matcher = CreateMatcher(other, expected); - var (httpContext, feature) = CreateContext(path); + var (httpContext, context) = CreateContext(path); // Act - await matcher.MatchAsync(httpContext, feature); + await matcher.MatchAsync(httpContext, context); // Assert - MatcherAssert.AssertMatch(feature, httpContext, expected, ignoreValues: true); + MatcherAssert.AssertMatch(context, httpContext, expected, ignoreValues: true); } [Theory] @@ -434,13 +434,13 @@ namespace Microsoft.AspNetCore.Routing.Matching var expected = endpoints[Array.IndexOf(templates, expectedTemplate)]; var matcher = CreateMatcher(endpoints); - var (httpContext, feature) = CreateContext(path); + var (httpContext, context) = CreateContext(path); // Act - await matcher.MatchAsync(httpContext, feature); + await matcher.MatchAsync(httpContext, context); // Assert - MatcherAssert.AssertMatch(feature, httpContext, expected, ignoreValues: true); + MatcherAssert.AssertMatch(context, httpContext, expected, ignoreValues: true); } } } \ No newline at end of file diff --git a/test/Microsoft.AspNetCore.Routing.Tests/Matching/HttpMethodMatcherPolicyIntegrationTest.cs b/test/Microsoft.AspNetCore.Routing.Tests/Matching/HttpMethodMatcherPolicyIntegrationTest.cs index 6d271b5c83..1aca0d5a64 100644 --- a/test/Microsoft.AspNetCore.Routing.Tests/Matching/HttpMethodMatcherPolicyIntegrationTest.cs +++ b/test/Microsoft.AspNetCore.Routing.Tests/Matching/HttpMethodMatcherPolicyIntegrationTest.cs @@ -23,13 +23,13 @@ namespace Microsoft.AspNetCore.Routing.Matching var endpoint = CreateEndpoint("/hello", httpMethods: new string[] { "GET", }); var matcher = CreateMatcher(endpoint); - var (httpContext, feature) = CreateContext("/hello", "GET"); + var (httpContext, context) = CreateContext("/hello", "GET"); // Act - await matcher.MatchAsync(httpContext, feature); + await matcher.MatchAsync(httpContext, context); // Assert - MatcherAssert.AssertMatch(feature, httpContext, endpoint); + MatcherAssert.AssertMatch(context, httpContext, endpoint); } [Fact] @@ -39,13 +39,13 @@ namespace Microsoft.AspNetCore.Routing.Matching var endpoint = CreateEndpoint("/hello", httpMethods: new string[] { "GET", }, acceptCorsPreflight: true); var matcher = CreateMatcher(endpoint); - var (httpContext, feature) = CreateContext("/hello", "GET"); + var (httpContext, context) = CreateContext("/hello", "GET"); // Act - await matcher.MatchAsync(httpContext, feature); + await matcher.MatchAsync(httpContext, context); // Assert - MatcherAssert.AssertMatch(feature, httpContext, endpoint); + MatcherAssert.AssertMatch(context, httpContext, endpoint); } [Fact] @@ -55,13 +55,13 @@ namespace Microsoft.AspNetCore.Routing.Matching var endpoint = CreateEndpoint("/hello", httpMethods: new string[] { "GET", }, acceptCorsPreflight: true); var matcher = CreateMatcher(endpoint); - var (httpContext, feature) = CreateContext("/hello", "GET", corsPreflight: true); + var (httpContext, context) = CreateContext("/hello", "GET", corsPreflight: true); // Act - await matcher.MatchAsync(httpContext, feature); + await matcher.MatchAsync(httpContext, context); // Assert - MatcherAssert.AssertMatch(feature, httpContext, endpoint); + MatcherAssert.AssertMatch(context, httpContext, endpoint); } @@ -72,14 +72,14 @@ namespace Microsoft.AspNetCore.Routing.Matching var endpoint = CreateEndpoint("/hello", httpMethods: new string[] { "GET", }, acceptCorsPreflight: false); var matcher = CreateMatcher(endpoint); - var (httpContext, feature) = CreateContext("/hello", "GET", corsPreflight: true); + var (httpContext, context) = CreateContext("/hello", "GET", corsPreflight: true); // Act - await matcher.MatchAsync(httpContext, feature); + await matcher.MatchAsync(httpContext, context); // Assert - Assert.NotSame(endpoint, feature.Endpoint); - Assert.Same(HttpMethodMatcherPolicy.Http405EndpointDisplayName, feature.Endpoint.DisplayName); + Assert.NotSame(endpoint, context.Endpoint); + Assert.Same(HttpMethodMatcherPolicy.Http405EndpointDisplayName, context.Endpoint.DisplayName); } [Fact] @@ -89,13 +89,13 @@ namespace Microsoft.AspNetCore.Routing.Matching var endpoint = CreateEndpoint("/hello", httpMethods: new string[] { "GeT", }); var matcher = CreateMatcher(endpoint); - var (httpContext, feature) = CreateContext("/hello", "GET"); + var (httpContext, context) = CreateContext("/hello", "GET"); // Act - await matcher.MatchAsync(httpContext, feature); + await matcher.MatchAsync(httpContext, context); // Assert - MatcherAssert.AssertMatch(feature, httpContext, endpoint); + MatcherAssert.AssertMatch(context, httpContext, endpoint); } [Fact] @@ -105,13 +105,13 @@ namespace Microsoft.AspNetCore.Routing.Matching var endpoint = CreateEndpoint("/hello", httpMethods: new string[] { "GeT", }, acceptCorsPreflight: true); var matcher = CreateMatcher(endpoint); - var (httpContext, feature) = CreateContext("/hello", "GET", corsPreflight: true); + var (httpContext, context) = CreateContext("/hello", "GET", corsPreflight: true); // Act - await matcher.MatchAsync(httpContext, feature); + await matcher.MatchAsync(httpContext, context); // Assert - MatcherAssert.AssertMatch(feature, httpContext, endpoint); + MatcherAssert.AssertMatch(context, httpContext, endpoint); } [Fact] @@ -121,13 +121,13 @@ namespace Microsoft.AspNetCore.Routing.Matching var endpoint = CreateEndpoint("/hello"); var matcher = CreateMatcher(endpoint); - var (httpContext, feature) = CreateContext("/hello", "GET"); + var (httpContext, context) = CreateContext("/hello", "GET"); // Act - await matcher.MatchAsync(httpContext, feature); + await matcher.MatchAsync(httpContext, context); // Assert - MatcherAssert.AssertMatch(feature, httpContext, endpoint); + MatcherAssert.AssertMatch(context, httpContext, endpoint); } [Fact] @@ -137,13 +137,13 @@ namespace Microsoft.AspNetCore.Routing.Matching var endpoint = CreateEndpoint("/hello", acceptCorsPreflight: true); var matcher = CreateMatcher(endpoint); - var (httpContext, feature) = CreateContext("/hello", "GET", corsPreflight: true); + var (httpContext, context) = CreateContext("/hello", "GET", corsPreflight: true); // Act - await matcher.MatchAsync(httpContext, feature); + await matcher.MatchAsync(httpContext, context); // Assert - MatcherAssert.AssertMatch(feature, httpContext, endpoint); + MatcherAssert.AssertMatch(context, httpContext, endpoint); } [Fact] // This matches because the endpoint accepts OPTIONS @@ -153,13 +153,13 @@ namespace Microsoft.AspNetCore.Routing.Matching var endpoint = CreateEndpoint("/hello", acceptCorsPreflight: false); var matcher = CreateMatcher(endpoint); - var (httpContext, feature) = CreateContext("/hello", "GET", corsPreflight: true); + var (httpContext, context) = CreateContext("/hello", "GET", corsPreflight: true); // Act - await matcher.MatchAsync(httpContext, feature); + await matcher.MatchAsync(httpContext, context); // Assert - MatcherAssert.AssertMatch(feature, httpContext, endpoint); + MatcherAssert.AssertMatch(context, httpContext, endpoint); } [Fact] @@ -169,13 +169,13 @@ namespace Microsoft.AspNetCore.Routing.Matching var endpoint = CreateEndpoint("/hello", httpMethods: new string[] { }); var matcher = CreateMatcher(endpoint); - var (httpContext, feature) = CreateContext("/hello", "GET"); + var (httpContext, context) = CreateContext("/hello", "GET"); // Act - await matcher.MatchAsync(httpContext, feature); + await matcher.MatchAsync(httpContext, context); // Assert - MatcherAssert.AssertMatch(feature, httpContext, endpoint); + MatcherAssert.AssertMatch(context, httpContext, endpoint); } [Fact] // When all of the candidates handles specific verbs, use a 405 endpoint @@ -186,19 +186,19 @@ namespace Microsoft.AspNetCore.Routing.Matching var endpoint2 = CreateEndpoint("/hello", httpMethods: new string[] { "DELETE" }); var matcher = CreateMatcher(endpoint1, endpoint2); - var (httpContext, feature) = CreateContext("/hello", "POST"); + var (httpContext, context) = CreateContext("/hello", "POST"); // Act - await matcher.MatchAsync(httpContext, feature); + await matcher.MatchAsync(httpContext, context); // Assert - Assert.NotSame(endpoint1, feature.Endpoint); - Assert.NotSame(endpoint2, feature.Endpoint); + Assert.NotSame(endpoint1, context.Endpoint); + Assert.NotSame(endpoint2, context.Endpoint); - Assert.Same(HttpMethodMatcherPolicy.Http405EndpointDisplayName, feature.Endpoint.DisplayName); + Assert.Same(HttpMethodMatcherPolicy.Http405EndpointDisplayName, context.Endpoint.DisplayName); // Invoke the endpoint - await feature.Endpoint.RequestDelegate(httpContext); + await context.Endpoint.RequestDelegate(httpContext); Assert.Equal(405, httpContext.Response.StatusCode); Assert.Equal("DELETE, GET, PUT", httpContext.Response.Headers["Allow"]); } @@ -211,13 +211,13 @@ namespace Microsoft.AspNetCore.Routing.Matching var endpoint2 = CreateEndpoint("/hello", httpMethods: new string[] { "DELETE" }); var matcher = CreateMatcher(endpoint1, endpoint2); - var (httpContext, feature) = CreateContext("/hello", "POST", corsPreflight: true); + var (httpContext, context) = CreateContext("/hello", "POST", corsPreflight: true); // Act - await matcher.MatchAsync(httpContext, feature); + await matcher.MatchAsync(httpContext, context); // Assert - MatcherAssert.AssertNotMatch(feature, httpContext); + MatcherAssert.AssertNotMatch(context, httpContext); } [Fact] // When one of the candidates handles all verbs, dont use a 405 endpoint @@ -228,13 +228,13 @@ namespace Microsoft.AspNetCore.Routing.Matching var endpoint2 = CreateEndpoint("/hello", httpMethods: new string[] { "DELETE" }); var matcher = CreateMatcher(endpoint1, endpoint2); - var (httpContext, feature) = CreateContext("/hello", "POST"); + var (httpContext, context) = CreateContext("/hello", "POST"); // Act - await matcher.MatchAsync(httpContext, feature); + await matcher.MatchAsync(httpContext, context); // Assert - MatcherAssert.AssertNotMatch(feature, httpContext); + MatcherAssert.AssertNotMatch(context, httpContext); } [Fact] @@ -245,13 +245,13 @@ namespace Microsoft.AspNetCore.Routing.Matching var endpoint2 = CreateEndpoint("/bar"); var matcher = CreateMatcher(endpoint1, endpoint2); - var (httpContext, feature) = CreateContext("/hello", "GET"); + var (httpContext, context) = CreateContext("/hello", "GET"); // Act - await matcher.MatchAsync(httpContext, feature); + await matcher.MatchAsync(httpContext, context); // Assert - MatcherAssert.AssertMatch(feature, httpContext, endpoint1); + MatcherAssert.AssertMatch(context, httpContext, endpoint1); } [Fact] @@ -262,13 +262,13 @@ namespace Microsoft.AspNetCore.Routing.Matching var endpoint2 = CreateEndpoint("/bar", httpMethods: new string[] { }); var matcher = CreateMatcher(endpoint1, endpoint2); - var (httpContext, feature) = CreateContext("/hello", "GET"); + var (httpContext, context) = CreateContext("/hello", "GET"); // Act - await matcher.MatchAsync(httpContext, feature); + await matcher.MatchAsync(httpContext, context); // Assert - MatcherAssert.AssertMatch(feature, httpContext, endpoint1); + MatcherAssert.AssertMatch(context, httpContext, endpoint1); } [Fact] // The non-http-method-specific endpoint is part of the same candidate set @@ -279,13 +279,13 @@ namespace Microsoft.AspNetCore.Routing.Matching var endpoint2 = CreateEndpoint("/{x}", httpMethods: new string[] { }); var matcher = CreateMatcher(endpoint1, endpoint2); - var (httpContext, feature) = CreateContext("/hello", "POST"); + var (httpContext, context) = CreateContext("/hello", "POST"); // Act - await matcher.MatchAsync(httpContext, feature); + await matcher.MatchAsync(httpContext, context); // Assert - MatcherAssert.AssertMatch(feature, httpContext, endpoint2, ignoreValues: true); + MatcherAssert.AssertMatch(context, httpContext, endpoint2, ignoreValues: true); } private static Matcher CreateMatcher(params RouteEndpoint[] endpoints) @@ -305,7 +305,7 @@ namespace Microsoft.AspNetCore.Routing.Matching return builder.Build(); } - internal static (HttpContext httpContext, EndpointFeature feature) CreateContext( + internal static (HttpContext httpContext, EndpointSelectorContext context) CreateContext( string path, string httpMethod, bool corsPreflight = false) @@ -320,11 +320,11 @@ namespace Microsoft.AspNetCore.Routing.Matching httpContext.Request.Headers[AccessControlRequestMethod] = httpMethod; } - var feature = new EndpointFeature(); - httpContext.Features.Set(feature); - httpContext.Features.Set(feature); + var context = new EndpointSelectorContext(); + httpContext.Features.Set(context); + httpContext.Features.Set(context); - return (httpContext, feature); + return (httpContext, context); } internal static RouteEndpoint CreateEndpoint( string template, diff --git a/test/Microsoft.AspNetCore.Routing.Tests/Matching/MatcherAssert.cs b/test/Microsoft.AspNetCore.Routing.Tests/Matching/MatcherAssert.cs index e760c71739..6053946310 100644 --- a/test/Microsoft.AspNetCore.Routing.Tests/Matching/MatcherAssert.cs +++ b/test/Microsoft.AspNetCore.Routing.Tests/Matching/MatcherAssert.cs @@ -12,22 +12,22 @@ namespace Microsoft.AspNetCore.Routing.Matching { internal static class MatcherAssert { - public static void AssertMatch(EndpointFeature feature, HttpContext context, Endpoint expected) + public static void AssertMatch(EndpointSelectorContext context, HttpContext httpContext, Endpoint expected) { - AssertMatch(feature, context, expected, new RouteValueDictionary()); + AssertMatch(context, httpContext, expected, new RouteValueDictionary()); } - public static void AssertMatch(EndpointFeature feature, HttpContext context, Endpoint expected, bool ignoreValues) + public static void AssertMatch(EndpointSelectorContext context, HttpContext httpContext, Endpoint expected, bool ignoreValues) { - AssertMatch(feature, context, expected, new RouteValueDictionary(), ignoreValues); + AssertMatch(context, httpContext, expected, new RouteValueDictionary(), ignoreValues); } - public static void AssertMatch(EndpointFeature feature, HttpContext context, Endpoint expected, object values) + public static void AssertMatch(EndpointSelectorContext context, HttpContext httpContext, Endpoint expected, object values) { - AssertMatch(feature, context, expected, new RouteValueDictionary(values)); + AssertMatch(context, httpContext, expected, new RouteValueDictionary(values)); } - public static void AssertMatch(EndpointFeature feature, HttpContext context, Endpoint expected, string[] keys, string[] values) + public static void AssertMatch(EndpointSelectorContext context, HttpContext httpContext, Endpoint expected, string[] keys, string[] values) { keys = keys ?? Array.Empty(); values = values ?? Array.Empty(); @@ -38,33 +38,33 @@ namespace Microsoft.AspNetCore.Routing.Matching } var zipped = keys.Zip(values, (k, v) => new KeyValuePair(k, v)); - AssertMatch(feature, context, expected, new RouteValueDictionary(zipped)); + AssertMatch(context, httpContext, expected, new RouteValueDictionary(zipped)); } public static void AssertMatch( - EndpointFeature feature, - HttpContext context, + EndpointSelectorContext context, + HttpContext httpContext, Endpoint expected, RouteValueDictionary values, bool ignoreValues = false) { - if (feature.Endpoint == null) + if (context.Endpoint == null) { throw new XunitException($"Was expected to match '{expected.DisplayName}' but did not match."); } - var actualValues = context.Features.Get().RouteValues; + var actualValues = httpContext.Features.Get().RouteValues; if (actualValues == null) { throw new XunitException("RouteValues is null."); } - if (!object.ReferenceEquals(expected, feature.Endpoint)) + if (!object.ReferenceEquals(expected, context.Endpoint)) { throw new XunitException( $"Was expected to match '{expected.DisplayName}' but matched " + - $"'{feature.Endpoint.DisplayName}' with values: {FormatRouteValues(actualValues)}."); + $"'{context.Endpoint.DisplayName}' with values: {FormatRouteValues(actualValues)}."); } if (!ignoreValues) @@ -81,13 +81,13 @@ namespace Microsoft.AspNetCore.Routing.Matching } } - public static void AssertNotMatch(EndpointFeature feature, HttpContext context) + public static void AssertNotMatch(EndpointSelectorContext context, HttpContext httpContext) { - if (feature.Endpoint != null) + if (context.Endpoint != null) { throw new XunitException( - $"Was expected not to match '{feature.Endpoint.DisplayName}' " + - $"but matched with values: {FormatRouteValues(context.Features.Get().RouteValues)}."); + $"Was expected not to match '{context.Endpoint.DisplayName}' " + + $"but matched with values: {FormatRouteValues(httpContext.Features.Get().RouteValues)}."); } } diff --git a/test/Microsoft.AspNetCore.Routing.Tests/Matching/MatcherConformanceTest.SingleEndpoint.cs b/test/Microsoft.AspNetCore.Routing.Tests/Matching/MatcherConformanceTest.SingleEndpoint.cs index 17b569e261..667b5f3f1e 100644 --- a/test/Microsoft.AspNetCore.Routing.Tests/Matching/MatcherConformanceTest.SingleEndpoint.cs +++ b/test/Microsoft.AspNetCore.Routing.Tests/Matching/MatcherConformanceTest.SingleEndpoint.cs @@ -13,13 +13,13 @@ namespace Microsoft.AspNetCore.Routing.Matching { // Arrange var (matcher, endpoint) = CreateMatcher("/"); - var (httpContext, feature) = CreateContext("/"); + var (httpContext, context) = CreateContext("/"); // Act - await matcher.MatchAsync(httpContext, feature); + await matcher.MatchAsync(httpContext, context); // Assert - MatcherAssert.AssertMatch(feature, httpContext, endpoint); + MatcherAssert.AssertMatch(context, httpContext, endpoint); } [Fact] @@ -27,13 +27,13 @@ namespace Microsoft.AspNetCore.Routing.Matching { // Arrange var (matcher, endpoint) = CreateMatcher("/simple"); - var (httpContext, feature) = CreateContext("/simple"); + var (httpContext, context) = CreateContext("/simple"); // Act - await matcher.MatchAsync(httpContext, feature); + await matcher.MatchAsync(httpContext, context); // Assert - MatcherAssert.AssertMatch(feature, httpContext, endpoint); + MatcherAssert.AssertMatch(context, httpContext, endpoint); } [Fact] @@ -41,13 +41,13 @@ namespace Microsoft.AspNetCore.Routing.Matching { // Arrange var (matcher, endpoint) = CreateMatcher("/simple"); - var (httpContext, feature) = CreateContext("/simple/"); + var (httpContext, context) = CreateContext("/simple/"); // Act - await matcher.MatchAsync(httpContext, feature); + await matcher.MatchAsync(httpContext, context); // Assert - MatcherAssert.AssertMatch(feature, httpContext, endpoint); + MatcherAssert.AssertMatch(context, httpContext, endpoint); } [Theory] @@ -58,13 +58,13 @@ namespace Microsoft.AspNetCore.Routing.Matching { // Arrange var (matcher, endpoint) = CreateMatcher("/Simple"); - var (httpContext, feature) = CreateContext(path); + var (httpContext, context) = CreateContext(path); // Act - await matcher.MatchAsync(httpContext, feature); + await matcher.MatchAsync(httpContext, context); // Assert - MatcherAssert.AssertMatch(feature, httpContext, endpoint); + MatcherAssert.AssertMatch(context, httpContext, endpoint); } // Some matchers will optimize for the ASCII case @@ -75,13 +75,13 @@ namespace Microsoft.AspNetCore.Routing.Matching { // Arrange var (matcher, endpoint) = CreateMatcher(template); - var (httpContext, feature) = CreateContext(path); + var (httpContext, context) = CreateContext(path); // Act - await matcher.MatchAsync(httpContext, feature); + await matcher.MatchAsync(httpContext, context); // Assert - MatcherAssert.AssertMatch(feature, httpContext, endpoint); + MatcherAssert.AssertMatch(context, httpContext, endpoint); } // Matchers should operate on the decoded representation - a matcher that calls @@ -93,13 +93,13 @@ namespace Microsoft.AspNetCore.Routing.Matching { // Arrange var (matcher, endpoint) = CreateMatcher(template); - var (httpContext, feature) = CreateContext(path); + var (httpContext, context) = CreateContext(path); // Act - await matcher.MatchAsync(httpContext, feature); + await matcher.MatchAsync(httpContext, context); // Assert - MatcherAssert.AssertMatch(feature, httpContext, endpoint); + MatcherAssert.AssertMatch(context, httpContext, endpoint); } [Theory] @@ -113,13 +113,13 @@ namespace Microsoft.AspNetCore.Routing.Matching { // Arrange var (matcher, endpoint) = CreateMatcher("/simple"); - var (httpContext, feature) = CreateContext(path); + var (httpContext, context) = CreateContext(path); // Act - await matcher.MatchAsync(httpContext, feature); + await matcher.MatchAsync(httpContext, context); // Assert - MatcherAssert.AssertNotMatch(feature, httpContext); + MatcherAssert.AssertNotMatch(context, httpContext); } [Theory] @@ -130,13 +130,13 @@ namespace Microsoft.AspNetCore.Routing.Matching { // Arrange var (matcher, endpoint) = CreateMatcher(template); - var (httpContext, feature) = CreateContext("/simple"); + var (httpContext, context) = CreateContext("/simple"); // Act - await matcher.MatchAsync(httpContext, feature); + await matcher.MatchAsync(httpContext, context); // Assert - MatcherAssert.AssertMatch(feature, httpContext, endpoint); + MatcherAssert.AssertMatch(context, httpContext, endpoint); } // Matchers do their own 'splitting' of the path into segments, so including @@ -153,13 +153,13 @@ namespace Microsoft.AspNetCore.Routing.Matching { // Arrange var (matcher, endpoint) = CreateMatcher(template); - var (httpContext, feature) = CreateContext(path); + var (httpContext, context) = CreateContext(path); // Act - await matcher.MatchAsync(httpContext, feature); + await matcher.MatchAsync(httpContext, context); // Assert - MatcherAssert.AssertMatch(feature, httpContext, endpoint); + MatcherAssert.AssertMatch(context, httpContext, endpoint); } // Matchers do their own 'splitting' of the path into segments, so including @@ -184,13 +184,13 @@ namespace Microsoft.AspNetCore.Routing.Matching { // Arrange var (matcher, endpoint) = CreateMatcher(template); - var (httpContext, feature) = CreateContext(path); + var (httpContext, context) = CreateContext(path); // Act - await matcher.MatchAsync(httpContext, feature); + await matcher.MatchAsync(httpContext, context); // Assert - MatcherAssert.AssertNotMatch(feature, httpContext); + MatcherAssert.AssertNotMatch(context, httpContext); } [Fact] @@ -198,14 +198,14 @@ namespace Microsoft.AspNetCore.Routing.Matching { // Arrange var (matcher, endpoint) = CreateMatcher("/{p}"); - var (httpContext, feature) = CreateContext("/14"); + var (httpContext, context) = CreateContext("/14"); var values = new RouteValueDictionary(new { p = "14", }); // Act - await matcher.MatchAsync(httpContext, feature); + await matcher.MatchAsync(httpContext, context); // Assert - MatcherAssert.AssertMatch(feature, httpContext, endpoint, values); + MatcherAssert.AssertMatch(context, httpContext, endpoint, values); } [Fact] @@ -213,14 +213,14 @@ namespace Microsoft.AspNetCore.Routing.Matching { // Arrange var (matcher, endpoint) = CreateMatcher("/{p:int}"); - var (httpContext, feature) = CreateContext("/14"); + var (httpContext, context) = CreateContext("/14"); var values = new RouteValueDictionary(new { p = "14", }); // Act - await matcher.MatchAsync(httpContext, feature); + await matcher.MatchAsync(httpContext, context); // Assert - MatcherAssert.AssertMatch(feature, httpContext, endpoint, values); + MatcherAssert.AssertMatch(context, httpContext, endpoint, values); } [Fact] @@ -228,14 +228,14 @@ namespace Microsoft.AspNetCore.Routing.Matching { // Arrange var (matcher, endpoint) = CreateMatcher("/{p}"); - var (httpContext, feature) = CreateContext("/14/"); + var (httpContext, context) = CreateContext("/14/"); var values = new RouteValueDictionary(new { p = "14", }); // Act - await matcher.MatchAsync(httpContext, feature); + await matcher.MatchAsync(httpContext, context); // Assert - MatcherAssert.AssertMatch(feature, httpContext, endpoint, values); + MatcherAssert.AssertMatch(context, httpContext, endpoint, values); } [Fact] @@ -243,7 +243,7 @@ namespace Microsoft.AspNetCore.Routing.Matching { // Arrange var (matcher, endpoint) = CreateMatcher("/foo/{ }/{.!$%}/{dynamic.data}"); - var (httpContext, feature) = CreateContext("/foo/space/weirdmatch/matcherid"); + var (httpContext, context) = CreateContext("/foo/space/weirdmatch/matcherid"); var values = new RouteValueDictionary() { { " ", "space" }, @@ -252,10 +252,10 @@ namespace Microsoft.AspNetCore.Routing.Matching }; // Act - await matcher.MatchAsync(httpContext, feature); + await matcher.MatchAsync(httpContext, context); // Assert - MatcherAssert.AssertMatch(feature, httpContext, endpoint, values); + MatcherAssert.AssertMatch(context, httpContext, endpoint, values); } [Theory] @@ -267,13 +267,13 @@ namespace Microsoft.AspNetCore.Routing.Matching { // Arrange var (matcher, endpoint) = CreateMatcher("/{p}"); - var (httpContext, feature) = CreateContext(path); + var (httpContext, context) = CreateContext(path); // Act - await matcher.MatchAsync(httpContext, feature); + await matcher.MatchAsync(httpContext, context); // Assert - MatcherAssert.AssertNotMatch(feature, httpContext); + MatcherAssert.AssertNotMatch(context, httpContext); } [Theory] @@ -288,13 +288,13 @@ namespace Microsoft.AspNetCore.Routing.Matching { // Arrange var (matcher, endpoint) = CreateMatcher(template); - var (httpContext, feature) = CreateContext(path); + var (httpContext, context) = CreateContext(path); // Act - await matcher.MatchAsync(httpContext, feature); + await matcher.MatchAsync(httpContext, context); // Assert - MatcherAssert.AssertMatch(feature, httpContext, endpoint, keys, values); + MatcherAssert.AssertMatch(context, httpContext, endpoint, keys, values); } [Theory] @@ -317,13 +317,13 @@ namespace Microsoft.AspNetCore.Routing.Matching { // Arrange var (matcher, endpoint) = CreateMatcher(template); - var (httpContext, feature) = CreateContext(path); + var (httpContext, context) = CreateContext(path); // Act - await matcher.MatchAsync(httpContext, feature); + await matcher.MatchAsync(httpContext, context); // Assert - MatcherAssert.AssertNotMatch(feature, httpContext); + MatcherAssert.AssertNotMatch(context, httpContext); } } } diff --git a/test/Microsoft.AspNetCore.Routing.Tests/Matching/MatcherConformanceTest.cs b/test/Microsoft.AspNetCore.Routing.Tests/Matching/MatcherConformanceTest.cs index 45673bb525..de2f525a21 100644 --- a/test/Microsoft.AspNetCore.Routing.Tests/Matching/MatcherConformanceTest.cs +++ b/test/Microsoft.AspNetCore.Routing.Tests/Matching/MatcherConformanceTest.cs @@ -14,18 +14,18 @@ namespace Microsoft.AspNetCore.Routing.Matching { internal abstract Matcher CreateMatcher(params RouteEndpoint[] endpoints); - internal static (HttpContext httpContext, EndpointFeature feature) CreateContext(string path) + internal static (HttpContext httpContext, EndpointSelectorContext context) CreateContext(string path) { var httpContext = new DefaultHttpContext(); httpContext.Request.Method = "TEST"; httpContext.Request.Path = path; httpContext.RequestServices = CreateServices(); - var feature = new EndpointFeature(); - httpContext.Features.Set(feature); - httpContext.Features.Set(feature); + var context = new EndpointSelectorContext(); + httpContext.Features.Set(context); + httpContext.Features.Set(context); - return (httpContext, feature); + return (httpContext, context); } // The older routing implementations retrieve services when they first execute. diff --git a/test/Microsoft.AspNetCore.Routing.Tests/Matching/RouteMatcher.cs b/test/Microsoft.AspNetCore.Routing.Tests/Matching/RouteMatcher.cs index 88395c2eff..39eaee6cdd 100644 --- a/test/Microsoft.AspNetCore.Routing.Tests/Matching/RouteMatcher.cs +++ b/test/Microsoft.AspNetCore.Routing.Tests/Matching/RouteMatcher.cs @@ -4,7 +4,6 @@ using System; using System.Threading.Tasks; using Microsoft.AspNetCore.Http; -using Microsoft.AspNetCore.Http.Features; namespace Microsoft.AspNetCore.Routing.Matching { @@ -18,25 +17,25 @@ namespace Microsoft.AspNetCore.Routing.Matching _inner = inner; } - public async override Task MatchAsync(HttpContext httpContext, EndpointFeature feature) + public async override Task MatchAsync(HttpContext httpContext, EndpointSelectorContext context) { if (httpContext == null) { throw new ArgumentNullException(nameof(httpContext)); } - if (feature == null) + if (context == null) { - throw new ArgumentNullException(nameof(feature)); + throw new ArgumentNullException(nameof(context)); } - var context = new RouteContext(httpContext); - await _inner.RouteAsync(context); + var routeContext = new RouteContext(httpContext); + await _inner.RouteAsync(routeContext); - if (context.Handler != null) + if (routeContext.Handler != null) { - feature.RouteValues = context.RouteData.Values; - await context.Handler(httpContext); + context.RouteValues = routeContext.RouteData.Values; + await routeContext.Handler(httpContext); } } } diff --git a/test/Microsoft.AspNetCore.Routing.Tests/Matching/RouteMatcherBuilder.cs b/test/Microsoft.AspNetCore.Routing.Tests/Matching/RouteMatcherBuilder.cs index 5d21424cb5..97906a2c26 100644 --- a/test/Microsoft.AspNetCore.Routing.Tests/Matching/RouteMatcherBuilder.cs +++ b/test/Microsoft.AspNetCore.Routing.Tests/Matching/RouteMatcherBuilder.cs @@ -91,18 +91,18 @@ namespace Microsoft.AspNetCore.Routing.Matching throw new NotImplementedException(); } - public async Task RouteAsync(RouteContext context) + public async Task RouteAsync(RouteContext routeContext) { - var feature = (EndpointFeature)context.HttpContext.Features.Get(); + var context = (EndpointSelectorContext)routeContext.HttpContext.Features.Get(); // This is needed due to a quirk of our tests - they reuse the endpoint feature // across requests. - feature.Endpoint = null; + context.Endpoint = null; - await _selector.SelectAsync(context.HttpContext, feature, new CandidateSet(_candidates, _scores)); - if (feature.Endpoint != null) + await _selector.SelectAsync(routeContext.HttpContext, context, new CandidateSet(_candidates, _scores)); + if (context.Endpoint != null) { - context.Handler = (_) => Task.CompletedTask; + routeContext.Handler = (_) => Task.CompletedTask; } } } diff --git a/test/Microsoft.AspNetCore.Routing.Tests/Matching/TreeRouterMatcher.cs b/test/Microsoft.AspNetCore.Routing.Tests/Matching/TreeRouterMatcher.cs index 3c8c10daa0..c7477e4611 100644 --- a/test/Microsoft.AspNetCore.Routing.Tests/Matching/TreeRouterMatcher.cs +++ b/test/Microsoft.AspNetCore.Routing.Tests/Matching/TreeRouterMatcher.cs @@ -19,25 +19,25 @@ namespace Microsoft.AspNetCore.Routing.Matching _inner = inner; } - public async override Task MatchAsync(HttpContext httpContext, EndpointFeature feature) + public async override Task MatchAsync(HttpContext httpContext, EndpointSelectorContext context) { if (httpContext == null) { throw new ArgumentNullException(nameof(httpContext)); } - if (feature == null) + if (context == null) { - throw new ArgumentNullException(nameof(feature)); + throw new ArgumentNullException(nameof(context)); } - var context = new RouteContext(httpContext); - await _inner.RouteAsync(context); + var routeContext = new RouteContext(httpContext); + await _inner.RouteAsync(routeContext); - if (context.Handler != null) + if (routeContext.Handler != null) { - feature.RouteValues = context.RouteData.Values; - await context.Handler(httpContext); + context.RouteValues = routeContext.RouteData.Values; + await routeContext.Handler(httpContext); } } } diff --git a/test/Microsoft.AspNetCore.Routing.Tests/Matching/TreeRouterMatcherBuilder.cs b/test/Microsoft.AspNetCore.Routing.Tests/Matching/TreeRouterMatcherBuilder.cs index 83c5115120..dd1e28a825 100644 --- a/test/Microsoft.AspNetCore.Routing.Tests/Matching/TreeRouterMatcherBuilder.cs +++ b/test/Microsoft.AspNetCore.Routing.Tests/Matching/TreeRouterMatcherBuilder.cs @@ -93,17 +93,17 @@ namespace Microsoft.AspNetCore.Routing.Matching throw new NotImplementedException(); } - public async Task RouteAsync(RouteContext context) + public async Task RouteAsync(RouteContext routeContext) { - var feature = (EndpointFeature)context.HttpContext.Features.Get(); + var context = (EndpointSelectorContext)routeContext.HttpContext.Features.Get(); // This is needed due to a quirk of our tests - they reuse the endpoint feature. - feature.Endpoint = null; + context.Endpoint = null; - await _selector.SelectAsync(context.HttpContext, feature, new CandidateSet(_candidates, _scores)); - if (feature.Endpoint != null) + await _selector.SelectAsync(routeContext.HttpContext, context, new CandidateSet(_candidates, _scores)); + if (context.Endpoint != null) { - context.Handler = (_) => Task.CompletedTask; + routeContext.Handler = (_) => Task.CompletedTask; } } } diff --git a/test/Microsoft.AspNetCore.Routing.Tests/TestObjects/TestMatcher.cs b/test/Microsoft.AspNetCore.Routing.Tests/TestObjects/TestMatcher.cs index 5da00c6f25..151ca9c67a 100644 --- a/test/Microsoft.AspNetCore.Routing.Tests/TestObjects/TestMatcher.cs +++ b/test/Microsoft.AspNetCore.Routing.Tests/TestObjects/TestMatcher.cs @@ -17,12 +17,12 @@ namespace Microsoft.AspNetCore.Routing.TestObjects _isHandled = isHandled; } - public override Task MatchAsync(HttpContext httpContext, EndpointFeature feature) + public override Task MatchAsync(HttpContext httpContext, EndpointSelectorContext context) { if (_isHandled) { - feature.RouteValues = new RouteValueDictionary(new { controller = "Home", action = "Index" }); - feature.Endpoint = new Endpoint(TestConstants.EmptyRequestDelegate, EndpointMetadataCollection.Empty, "Test endpoint"); + context.RouteValues = new RouteValueDictionary(new { controller = "Home", action = "Index" }); + context.Endpoint = new Endpoint(TestConstants.EmptyRequestDelegate, EndpointMetadataCollection.Empty, "Test endpoint"); } return Task.CompletedTask; From ed15bad5fbee0c960a51dcb214255595258662ea Mon Sep 17 00:00:00 2001 From: Ryan Nowak Date: Thu, 27 Sep 2018 15:52:01 -0700 Subject: [PATCH 192/221] Make CandidateState (publicly) immutable --- .../Matching/CandidateSet.cs | 92 +++++++++++++++++-- .../Matching/CandidateState.cs | 18 ++-- .../Matching/DefaultEndpointSelector.cs | 9 +- .../Matching/DfaMatcher.cs | 16 ++-- .../Matching/IEndpointSelectorPolicy.cs | 2 +- .../Matching/CandidateSetTest.cs | 18 +++- .../Matching/DefaultEndpointSelectorTest.cs | 46 +++++----- .../Matching/DfaMatcherTest.cs | 4 +- .../Matching/RouteMatcherBuilder.cs | 4 +- .../Matching/TreeRouterMatcherBuilder.cs | 4 +- 10 files changed, 154 insertions(+), 59 deletions(-) diff --git a/src/Microsoft.AspNetCore.Routing/Matching/CandidateSet.cs b/src/Microsoft.AspNetCore.Routing/Matching/CandidateSet.cs index 6b2e66ab56..0f38c8690d 100644 --- a/src/Microsoft.AspNetCore.Routing/Matching/CandidateSet.cs +++ b/src/Microsoft.AspNetCore.Routing/Matching/CandidateSet.cs @@ -2,6 +2,8 @@ // Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information. using System; +using System.Collections; +using System.Collections.Specialized; using System.Runtime.CompilerServices; using Microsoft.AspNetCore.Http; @@ -14,6 +16,11 @@ namespace Microsoft.AspNetCore.Routing.Matching /// public sealed class CandidateSet { + private const int BitVectorSize = 32; + + private BitVector32 _validity; + private BitArray _largeCapactityValidity; + // We inline storage for 4 candidates here to avoid allocations in common // cases. There's no real reason why 4 is important, it just seemed like // a plausible number. @@ -26,8 +33,7 @@ namespace Microsoft.AspNetCore.Routing.Matching /// /// - /// Initializes a new instances of the candidate set structure with the provided list of endpoints - /// and associated scores. + /// Initializes a new instances of the candidate set structure with the provided data. /// /// /// The constructor is provided to enable unit tests of implementations of @@ -35,8 +41,9 @@ namespace Microsoft.AspNetCore.Routing.Matching /// /// /// The list of endpoints, sorted in descending priority order. + /// The list of instances. /// The list of endpoint scores. . - public CandidateSet(Endpoint[] endpoints, int[] scores) + public CandidateSet(Endpoint[] endpoints, RouteValueDictionary[] values, int[] scores) { Count = endpoints.Length; @@ -80,6 +87,17 @@ namespace Microsoft.AspNetCore.Routing.Matching } break; } + + // Initialize validity to valid by default. + if (Count < BitVectorSize) + { + // Sets the bit for each candidate that exists (bits > Count will be 0). + _validity = new BitVector32(unchecked((int)~(0xFFFFFFFFu << Count))); + } + else + { + _largeCapactityValidity = new BitArray(Count, defaultValue: true); + } } internal CandidateSet(Candidate[] candidates) @@ -126,25 +144,35 @@ namespace Microsoft.AspNetCore.Routing.Matching } break; } + + // Initialize validity to valid by default. + if (Count < BitVectorSize) + { + // Sets the bit for each candidate that exists (bits > Count will be 0). + _validity = new BitVector32(unchecked((int)~(0xFFFFFFFFu << Count))); + } + else + { + _largeCapactityValidity = new BitArray(Count, defaultValue: true); + } } /// /// Gets the count of candidates in the set. /// public int Count { get; } - + /// /// Gets the associated with the candidate /// at . /// /// The candidate index. /// - /// A reference to the . The result is returned by reference - /// and intended to be mutated. + /// A reference to the . The result is returned by reference. /// public ref CandidateState this[int index] { - // Note that this is a ref-return because of both mutability and performance. + // Note that this is a ref-return because of performance. // We don't want to copy these fat structs if it can be avoided. // PERF: Force inlining @@ -177,6 +205,56 @@ namespace Microsoft.AspNetCore.Routing.Matching } } + /// + /// Gets or sets a value which indicates where the is considered + /// a valid candiate for the current request. Set this value to false to exclude an + /// from consideration. + /// + public bool IsValidCandidate(int index) + { + // Friendliness for inlining + if ((uint)index >= Count) + { + ThrowIndexArgumentOutOfRangeException(); + } + + if (Count < BitVectorSize) + { + // Get the n-th bit + return _validity[0x00000001 << index]; + } + else + { + return _largeCapactityValidity[index]; + } + } + + /// + /// Sets the validitity of the candidate at the provided index. + /// + /// The candidate index. + /// + /// The value to set. If true the candidate is considered valid for the current request. + /// + public void SetValidity(int index, bool value) + { + // Friendliness for inlining + if ((uint)index >= Count) + { + ThrowIndexArgumentOutOfRangeException(); + } + + if (Count < BitVectorSize) + { + // Set the n-th bit + _validity[0x00000001 << index] = value; + } + else + { + _largeCapactityValidity[index] = value; + } + } + private static void ThrowIndexArgumentOutOfRangeException() { throw new ArgumentOutOfRangeException("index"); diff --git a/src/Microsoft.AspNetCore.Routing/Matching/CandidateState.cs b/src/Microsoft.AspNetCore.Routing/Matching/CandidateState.cs index 8cc0c1319e..03bccd517b 100644 --- a/src/Microsoft.AspNetCore.Routing/Matching/CandidateState.cs +++ b/src/Microsoft.AspNetCore.Routing/Matching/CandidateState.cs @@ -14,11 +14,16 @@ namespace Microsoft.AspNetCore.Routing.Matching { Endpoint = endpoint; Score = score; - - IsValidCandidate = true; Values = null; } + internal CandidateState(Endpoint endpoint, RouteValueDictionary values, int score) + { + Endpoint = endpoint; + Values = values; + Score = score; + } + /// /// Gets the . /// @@ -41,17 +46,10 @@ namespace Microsoft.AspNetCore.Routing.Matching /// public int Score { get; } - /// - /// Gets or sets a value which indicates where the is considered - /// a valid candiate for the current request. Set this value to false to exclude an - /// from consideration. - /// - public bool IsValidCandidate { get; set; } - /// /// Gets or sets the associated with the /// and the current request. /// - public RouteValueDictionary Values { get; set; } + public RouteValueDictionary Values { get; internal set; } } } diff --git a/src/Microsoft.AspNetCore.Routing/Matching/DefaultEndpointSelector.cs b/src/Microsoft.AspNetCore.Routing/Matching/DefaultEndpointSelector.cs index 0b3daa97b1..613b94624f 100644 --- a/src/Microsoft.AspNetCore.Routing/Matching/DefaultEndpointSelector.cs +++ b/src/Microsoft.AspNetCore.Routing/Matching/DefaultEndpointSelector.cs @@ -53,10 +53,10 @@ namespace Microsoft.AspNetCore.Routing.Matching for (var i = 0; i < candidateSet.Count; i++) { ref var state = ref candidateSet[i]; - - var isValid = state.IsValidCandidate; + var isValid = candidateSet.IsValidCandidate(i); if (isValid && foundScore == null) { + // This is the first match we've seen - speculatively assign it. endpoint = state.Endpoint; values = state.Values; @@ -98,10 +98,9 @@ namespace Microsoft.AspNetCore.Routing.Matching var matches = new List(); for (var i = 0; i < candidates.Count; i++) { - ref var state = ref candidates[i]; - if (state.IsValidCandidate) + if (candidates.IsValidCandidate(i)) { - matches.Add(state.Endpoint); + matches.Add(candidates[i].Endpoint); } } diff --git a/src/Microsoft.AspNetCore.Routing/Matching/DfaMatcher.cs b/src/Microsoft.AspNetCore.Routing/Matching/DfaMatcher.cs index fbdf96687c..212acaf1b5 100644 --- a/src/Microsoft.AspNetCore.Routing/Matching/DfaMatcher.cs +++ b/src/Microsoft.AspNetCore.Routing/Matching/DfaMatcher.cs @@ -5,7 +5,6 @@ using System; using System.Collections.Generic; using System.Threading.Tasks; using Microsoft.AspNetCore.Http; -using Microsoft.AspNetCore.Http.Features; using Microsoft.AspNetCore.Routing.Patterns; namespace Microsoft.AspNetCore.Routing.Matching @@ -118,18 +117,23 @@ namespace Microsoft.AspNetCore.Routing.Matching // Now that we have the route values, we need to process complex segments. // Complex segments go through an old API that requires a fully-materialized // route value dictionary. - var isMatch = true; if ((flags & Candidate.CandidateFlags.HasComplexSegments) != 0) { - isMatch &= ProcessComplexSegments(candidate.ComplexSegments, path, segments, values); + if (!ProcessComplexSegments(candidate.ComplexSegments, path, segments, values)) + { + candidateSet.SetValidity(i, false); + continue; + } } if ((flags & Candidate.CandidateFlags.HasConstraints) != 0) { - isMatch &= ProcessConstraints(candidate.Constraints, httpContext, values); + if (!ProcessConstraints(candidate.Constraints, httpContext, values)) + { + candidateSet.SetValidity(i, false); + continue; + } } - - state.IsValidCandidate = isMatch; } return _selector.SelectAsync(httpContext, context, candidateSet); diff --git a/src/Microsoft.AspNetCore.Routing/Matching/IEndpointSelectorPolicy.cs b/src/Microsoft.AspNetCore.Routing/Matching/IEndpointSelectorPolicy.cs index 6a3675ba20..f1488bc98d 100644 --- a/src/Microsoft.AspNetCore.Routing/Matching/IEndpointSelectorPolicy.cs +++ b/src/Microsoft.AspNetCore.Routing/Matching/IEndpointSelectorPolicy.cs @@ -28,7 +28,7 @@ namespace Microsoft.AspNetCore.Routing.Matching /// /// Implementations of should implement this method /// and filter the set of candidates in the by setting - /// to false where desired. + /// to false where desired. /// /// /// To signal an error condition, set to an diff --git a/test/Microsoft.AspNetCore.Routing.Tests/Matching/CandidateSetTest.cs b/test/Microsoft.AspNetCore.Routing.Tests/Matching/CandidateSetTest.cs index b0f3eacd91..a80e4dd119 100644 --- a/test/Microsoft.AspNetCore.Routing.Tests/Matching/CandidateSetTest.cs +++ b/test/Microsoft.AspNetCore.Routing.Tests/Matching/CandidateSetTest.cs @@ -22,6 +22,9 @@ namespace Microsoft.AspNetCore.Routing.Matching [InlineData(4)] [InlineData(5)] // this is the break-point where we start to use a list. [InlineData(6)] + [InlineData(31)] + [InlineData(32)] // this is the break point where we use a BitArray + [InlineData(33)] public void Create_CreatesCandidateSet(int count) { // Arrange @@ -41,10 +44,13 @@ namespace Microsoft.AspNetCore.Routing.Matching for (var i = 0; i < candidateSet.Count; i++) { ref var state = ref candidateSet[i]; - Assert.True(state.IsValidCandidate); + Assert.True(candidateSet.IsValidCandidate(i)); Assert.Same(endpoints[i], state.Endpoint); Assert.Equal(candidates[i].Score, state.Score); Assert.Null(state.Values); + + candidateSet.SetValidity(i, false); + Assert.False(candidateSet.IsValidCandidate(i)); } } @@ -58,6 +64,9 @@ namespace Microsoft.AspNetCore.Routing.Matching [InlineData(4)] [InlineData(5)] // this is the break-point where we start to use a list. [InlineData(6)] + [InlineData(31)] + [InlineData(32)] // this is the break point where we use a BitArray + [InlineData(33)] public void Create_CreatesCandidateSet_TestConstructor(int count) { // Arrange @@ -68,16 +77,19 @@ namespace Microsoft.AspNetCore.Routing.Matching } // Act - var candidateSet = new CandidateSet(endpoints, Enumerable.Range(0, count).ToArray()); + var candidateSet = new CandidateSet(endpoints, new RouteValueDictionary[count], Enumerable.Range(0, count).ToArray()); // Assert for (var i = 0; i < candidateSet.Count; i++) { ref var state = ref candidateSet[i]; - Assert.True(state.IsValidCandidate); + Assert.True(candidateSet.IsValidCandidate(i)); Assert.Same(endpoints[i], state.Endpoint); Assert.Equal(i, state.Score); Assert.Null(state.Values); + + candidateSet.SetValidity(i, false); + Assert.False(candidateSet.IsValidCandidate(i)); } } diff --git a/test/Microsoft.AspNetCore.Routing.Tests/Matching/DefaultEndpointSelectorTest.cs b/test/Microsoft.AspNetCore.Routing.Tests/Matching/DefaultEndpointSelectorTest.cs index 8d41296010..ae67bf53fb 100644 --- a/test/Microsoft.AspNetCore.Routing.Tests/Matching/DefaultEndpointSelectorTest.cs +++ b/test/Microsoft.AspNetCore.Routing.Tests/Matching/DefaultEndpointSelectorTest.cs @@ -40,7 +40,7 @@ namespace Microsoft.AspNetCore.Routing.Matching var candidateSet = CreateCandidateSet(endpoints, scores); candidateSet[0].Values = new RouteValueDictionary(); - candidateSet[0].IsValidCandidate = false; + candidateSet.SetValidity(0, false); var (httpContext, context) = CreateContext(); var selector = CreateSelector(); @@ -61,7 +61,7 @@ namespace Microsoft.AspNetCore.Routing.Matching var candidateSet = CreateCandidateSet(endpoints, scores); candidateSet[0].Values = new RouteValueDictionary(); - candidateSet[0].IsValidCandidate = true; + candidateSet.SetValidity(0, true); var (httpContext, context) = CreateContext(); var selector = CreateSelector(); @@ -81,8 +81,8 @@ namespace Microsoft.AspNetCore.Routing.Matching var scores = new int[] { 0, 0 }; var candidateSet = CreateCandidateSet(endpoints, scores); - candidateSet[0].IsValidCandidate = false; - candidateSet[1].IsValidCandidate = true; + candidateSet.SetValidity(0, false); + candidateSet.SetValidity(1, true); var (httpContext, context) = CreateContext(); var selector = CreateSelector(); @@ -102,9 +102,9 @@ namespace Microsoft.AspNetCore.Routing.Matching var scores = new int[] { 0, 0, 1 }; var candidateSet = CreateCandidateSet(endpoints, scores); - candidateSet[0].IsValidCandidate = false; - candidateSet[1].IsValidCandidate = true; - candidateSet[2].IsValidCandidate = true; + candidateSet.SetValidity(0, false); + candidateSet.SetValidity(1, true); + candidateSet.SetValidity(2, true); var (httpContext, context) = CreateContext(); var selector = CreateSelector(); @@ -131,11 +131,11 @@ namespace Microsoft.AspNetCore.Routing.Matching var scores = new int[] { 0, 1, 2, 3, 4 }; var candidateSet = CreateCandidateSet(endpoints, scores); - candidateSet[0].IsValidCandidate = false; - candidateSet[1].IsValidCandidate = false; - candidateSet[2].IsValidCandidate = false; - candidateSet[3].IsValidCandidate = false; - candidateSet[4].IsValidCandidate = true; + candidateSet.SetValidity(0, false); + candidateSet.SetValidity(1, false); + candidateSet.SetValidity(2, false); + candidateSet.SetValidity(3, false); + candidateSet.SetValidity(4, true); var (httpContext, context) = CreateContext(); var selector = CreateSelector(); @@ -155,9 +155,9 @@ namespace Microsoft.AspNetCore.Routing.Matching var scores = new int[] { 0, 1, 1 }; var candidateSet = CreateCandidateSet(endpoints, scores); - candidateSet[0].IsValidCandidate = false; - candidateSet[1].IsValidCandidate = true; - candidateSet[2].IsValidCandidate = true; + candidateSet.SetValidity(0, false); + candidateSet.SetValidity(1, true); + candidateSet.SetValidity(2, true); var (httpContext, context) = CreateContext(); var selector = CreateSelector(); @@ -188,13 +188,13 @@ test: /test3", ex.Message); .Setup(p => p.ApplyAsync(It.IsAny(), It.IsAny(), It.IsAny())) .Returns((c, f, cs) => { - cs[1].IsValidCandidate = false; + cs.SetValidity(1, false); return Task.CompletedTask; }); - candidateSet[0].IsValidCandidate = false; - candidateSet[1].IsValidCandidate = true; - candidateSet[2].IsValidCandidate = true; + candidateSet.SetValidity(0, false); + candidateSet.SetValidity(1, true); + candidateSet.SetValidity(2, true); var (httpContext, context) = CreateContext(); var selector = CreateSelector(policy.Object); @@ -234,9 +234,9 @@ test: /test3", ex.Message); .Setup(p => p.ApplyAsync(It.IsAny(), It.IsAny(), It.IsAny())) .Throws(new InvalidOperationException()); - candidateSet[0].IsValidCandidate = false; - candidateSet[1].IsValidCandidate = true; - candidateSet[2].IsValidCandidate = true; + candidateSet.SetValidity(0, false); + candidateSet.SetValidity(1, true); + candidateSet.SetValidity(2, true); var (httpContext, context) = CreateContext(); var selector = CreateSelector(policy1.Object, policy2.Object); @@ -270,7 +270,7 @@ test: /test3", ex.Message); private static CandidateSet CreateCandidateSet(RouteEndpoint[] endpoints, int[] scores) { - return new CandidateSet(endpoints, scores); + return new CandidateSet(endpoints, new RouteValueDictionary[endpoints.Length], scores); } private static DefaultEndpointSelector CreateSelector(params MatcherPolicy[] policies) diff --git a/test/Microsoft.AspNetCore.Routing.Tests/Matching/DfaMatcherTest.cs b/test/Microsoft.AspNetCore.Routing.Tests/Matching/DfaMatcherTest.cs index a0b28ec8bf..924a11b733 100644 --- a/test/Microsoft.AspNetCore.Routing.Tests/Matching/DfaMatcherTest.cs +++ b/test/Microsoft.AspNetCore.Routing.Tests/Matching/DfaMatcherTest.cs @@ -126,12 +126,12 @@ namespace Microsoft.AspNetCore.Routing.Matching Assert.Equal(2, cs.Count); Assert.Same(endpoint1, cs[0].Endpoint); - Assert.True(cs[0].IsValidCandidate); + Assert.True(cs.IsValidCandidate(0)); Assert.Equal(0, cs[0].Score); Assert.Empty(cs[0].Values); Assert.Same(endpoint2, cs[1].Endpoint); - Assert.True(cs[1].IsValidCandidate); + Assert.True(cs.IsValidCandidate(1)); Assert.Equal(1, cs[1].Score); Assert.Empty(cs[1].Values); diff --git a/test/Microsoft.AspNetCore.Routing.Tests/Matching/RouteMatcherBuilder.cs b/test/Microsoft.AspNetCore.Routing.Tests/Matching/RouteMatcherBuilder.cs index 97906a2c26..a47aafac5b 100644 --- a/test/Microsoft.AspNetCore.Routing.Tests/Matching/RouteMatcherBuilder.cs +++ b/test/Microsoft.AspNetCore.Routing.Tests/Matching/RouteMatcherBuilder.cs @@ -76,6 +76,7 @@ namespace Microsoft.AspNetCore.Routing.Matching { private readonly EndpointSelector _selector; private readonly RouteEndpoint[] _candidates; + private readonly RouteValueDictionary[] _values; private readonly int[] _scores; public SelectorRouter(EndpointSelector selector, RouteEndpoint[] candidates) @@ -83,6 +84,7 @@ namespace Microsoft.AspNetCore.Routing.Matching _selector = selector; _candidates = candidates; + _values = new RouteValueDictionary[_candidates.Length]; _scores = new int[_candidates.Length]; } @@ -99,7 +101,7 @@ namespace Microsoft.AspNetCore.Routing.Matching // across requests. context.Endpoint = null; - await _selector.SelectAsync(routeContext.HttpContext, context, new CandidateSet(_candidates, _scores)); + await _selector.SelectAsync(routeContext.HttpContext, context, new CandidateSet(_candidates, _values, _scores)); if (context.Endpoint != null) { routeContext.Handler = (_) => Task.CompletedTask; diff --git a/test/Microsoft.AspNetCore.Routing.Tests/Matching/TreeRouterMatcherBuilder.cs b/test/Microsoft.AspNetCore.Routing.Tests/Matching/TreeRouterMatcherBuilder.cs index dd1e28a825..0924e3bfd8 100644 --- a/test/Microsoft.AspNetCore.Routing.Tests/Matching/TreeRouterMatcherBuilder.cs +++ b/test/Microsoft.AspNetCore.Routing.Tests/Matching/TreeRouterMatcherBuilder.cs @@ -78,6 +78,7 @@ namespace Microsoft.AspNetCore.Routing.Matching { private readonly EndpointSelector _selector; private readonly RouteEndpoint[] _candidates; + private readonly RouteValueDictionary[] _values; private readonly int[] _scores; public SelectorRouter(EndpointSelector selector, RouteEndpoint[] candidates) @@ -85,6 +86,7 @@ namespace Microsoft.AspNetCore.Routing.Matching _selector = selector; _candidates = candidates; + _values = new RouteValueDictionary[_candidates.Length]; _scores = new int[_candidates.Length]; } @@ -100,7 +102,7 @@ namespace Microsoft.AspNetCore.Routing.Matching // This is needed due to a quirk of our tests - they reuse the endpoint feature. context.Endpoint = null; - await _selector.SelectAsync(routeContext.HttpContext, context, new CandidateSet(_candidates, _scores)); + await _selector.SelectAsync(routeContext.HttpContext, context, new CandidateSet(_candidates, _values, _scores)); if (context.Endpoint != null) { routeContext.Handler = (_) => Task.CompletedTask; From a2f404f4d5b22963c192ffa3922f6828b63d7306 Mon Sep 17 00:00:00 2001 From: Ryan Nowak Date: Thu, 27 Sep 2018 17:00:51 -0700 Subject: [PATCH 193/221] Perf improvements for EndpointSelector --- .../Matching/DefaultEndpointSelector.cs | 66 ++++++++++++++++++- 1 file changed, 63 insertions(+), 3 deletions(-) diff --git a/src/Microsoft.AspNetCore.Routing/Matching/DefaultEndpointSelector.cs b/src/Microsoft.AspNetCore.Routing/Matching/DefaultEndpointSelector.cs index 613b94624f..cf38ffbb51 100644 --- a/src/Microsoft.AspNetCore.Routing/Matching/DefaultEndpointSelector.cs +++ b/src/Microsoft.AspNetCore.Routing/Matching/DefaultEndpointSelector.cs @@ -12,7 +12,7 @@ namespace Microsoft.AspNetCore.Routing.Matching internal class DefaultEndpointSelector : EndpointSelector { private readonly IEndpointSelectorPolicy[] _selectorPolicies; - + public DefaultEndpointSelector(IEnumerable matcherPolicies) { if (matcherPolicies == null) @@ -23,13 +23,73 @@ namespace Microsoft.AspNetCore.Routing.Matching _selectorPolicies = matcherPolicies.OrderBy(p => p.Order).OfType().ToArray(); } - public override async Task SelectAsync( + public override Task SelectAsync( + HttpContext httpContext, + EndpointSelectorContext context, + CandidateSet candidateSet) + { + if (httpContext == null) + { + throw new ArgumentNullException(nameof(httpContext)); + } + + if (context == null) + { + throw new ArgumentNullException(nameof(context)); + } + + if (candidateSet == null) + { + throw new ArgumentNullException(nameof(candidateSet)); + } + + if (_selectorPolicies.Length > 0) + { + // Slow path: we need async to run policies + return SelectAsyncSlow(httpContext, context, candidateSet); + } + + // Fast path: We can specialize for trivial numbers of candidates since there can + // be no ambiguities and we don't need to run policies. + switch (candidateSet.Count) + { + case 0: + { + // Do nothing + break; + } + + case 1: + { + if (candidateSet.IsValidCandidate(0)) + { + ref var state = ref candidateSet[0]; + context.Endpoint = state.Endpoint; + context.RouteValues = state.Values; + } + + break; + } + + default: + { + // Slow path: There's more than one candidate (to say nothing of validity) so we + // have to process for ambiguities. + ProcessFinalCandidates(httpContext, context, candidateSet); + break; + } + } + + return Task.CompletedTask; + } + + private async Task SelectAsyncSlow( HttpContext httpContext, EndpointSelectorContext context, CandidateSet candidateSet) { var selectorPolicies = _selectorPolicies; - for (var i = 0; i < _selectorPolicies.Length; i++) + for (var i = 0; i < selectorPolicies.Length; i++) { await selectorPolicies[i].ApplyAsync(httpContext, context, candidateSet); if (context.Endpoint != null) From b7939328b8cce972dd461a1a42b0e19775c8e159 Mon Sep 17 00:00:00 2001 From: Ryan Nowak Date: Sat, 29 Sep 2018 18:42:38 -0700 Subject: [PATCH 194/221] feedback --- .../EndpointRoutingMiddleware.cs | 2 +- .../Matching/CandidateSet.cs | 68 +++++++++++++------ .../Matching/CandidateState.cs | 4 +- .../Matching/DefaultEndpointSelector.cs | 1 - .../Matching/CandidateSetTest.cs | 14 +++- 5 files changed, 62 insertions(+), 27 deletions(-) diff --git a/src/Microsoft.AspNetCore.Routing/EndpointRoutingMiddleware.cs b/src/Microsoft.AspNetCore.Routing/EndpointRoutingMiddleware.cs index 518d3b1202..b0d740b440 100644 --- a/src/Microsoft.AspNetCore.Routing/EndpointRoutingMiddleware.cs +++ b/src/Microsoft.AspNetCore.Routing/EndpointRoutingMiddleware.cs @@ -80,7 +80,7 @@ namespace Microsoft.AspNetCore.Routing private static void SetFeatures(HttpContext httpContext, EndpointSelectorContext context) { - // For back-compat EndpointRouteValuesFeature implements IEndpointFeature, + // For back-compat EndpointSelectorContext implements IEndpointFeature, // IRouteValuesFeature and IRoutingFeature httpContext.Features.Set(context); httpContext.Features.Set(context); diff --git a/src/Microsoft.AspNetCore.Routing/Matching/CandidateSet.cs b/src/Microsoft.AspNetCore.Routing/Matching/CandidateSet.cs index 0f38c8690d..4a004018b6 100644 --- a/src/Microsoft.AspNetCore.Routing/Matching/CandidateSet.cs +++ b/src/Microsoft.AspNetCore.Routing/Matching/CandidateSet.cs @@ -18,8 +18,9 @@ namespace Microsoft.AspNetCore.Routing.Matching { private const int BitVectorSize = 32; + // Cannot be readonly because we need to modify it in place. private BitVector32 _validity; - private BitArray _largeCapactityValidity; + private readonly BitArray _largeCapactityValidity; // We inline storage for 4 candidates here to avoid allocations in common // cases. There's no real reason why 4 is important, it just seemed like @@ -33,7 +34,8 @@ namespace Microsoft.AspNetCore.Routing.Matching /// /// - /// Initializes a new instances of the candidate set structure with the provided data. + /// Initializes a new instances of the class with the provided , + /// , and . /// /// /// The constructor is provided to enable unit tests of implementations of @@ -45,6 +47,26 @@ namespace Microsoft.AspNetCore.Routing.Matching /// The list of endpoint scores. . public CandidateSet(Endpoint[] endpoints, RouteValueDictionary[] values, int[] scores) { + if (endpoints == null) + { + throw new ArgumentNullException(nameof(endpoints)); + } + + if (values == null) + { + throw new ArgumentNullException(nameof(values)); + } + + if (scores == null) + { + throw new ArgumentNullException(nameof(scores)); + } + + if (endpoints.Length != values.Length || endpoints.Length != scores.Length) + { + throw new ArgumentException($"The provided {nameof(endpoints)}, {nameof(values)}, and {nameof(scores)} must have the same length."); + } + Count = endpoints.Length; switch (endpoints.Length) @@ -53,37 +75,37 @@ namespace Microsoft.AspNetCore.Routing.Matching return; case 1: - _state0 = new CandidateState(endpoints[0], score: scores[0]); + _state0 = new CandidateState(endpoints[0], values[0], scores[0]); break; case 2: - _state0 = new CandidateState(endpoints[0], score: scores[0]); - _state1 = new CandidateState(endpoints[1], score: scores[1]); + _state0 = new CandidateState(endpoints[0], values[0], scores[0]); + _state1 = new CandidateState(endpoints[1], values[1], scores[1]); break; case 3: - _state0 = new CandidateState(endpoints[0], score: scores[0]); - _state1 = new CandidateState(endpoints[1], score: scores[1]); - _state2 = new CandidateState(endpoints[2], score: scores[2]); + _state0 = new CandidateState(endpoints[0], values[0], scores[0]); + _state1 = new CandidateState(endpoints[1], values[1], scores[1]); + _state2 = new CandidateState(endpoints[2], values[2], scores[2]); break; case 4: - _state0 = new CandidateState(endpoints[0], score: scores[0]); - _state1 = new CandidateState(endpoints[1], score: scores[1]); - _state2 = new CandidateState(endpoints[2], score: scores[2]); - _state3 = new CandidateState(endpoints[3], score: scores[3]); + _state0 = new CandidateState(endpoints[0], values[0], scores[0]); + _state1 = new CandidateState(endpoints[1], values[1], scores[1]); + _state2 = new CandidateState(endpoints[2], values[2], scores[2]); + _state3 = new CandidateState(endpoints[3], values[3], scores[3]); break; default: - _state0 = new CandidateState(endpoints[0], score: scores[0]); - _state1 = new CandidateState(endpoints[1], score: scores[1]); - _state2 = new CandidateState(endpoints[2], score: scores[2]); - _state3 = new CandidateState(endpoints[3], score: scores[3]); + _state0 = new CandidateState(endpoints[0], values[0], scores[0]); + _state1 = new CandidateState(endpoints[1], values[1], scores[1]); + _state2 = new CandidateState(endpoints[2], values[2], scores[2]); + _state3 = new CandidateState(endpoints[3], values[3], scores[3]); _additionalCandidates = new CandidateState[endpoints.Length - 4]; for (var i = 4; i < endpoints.Length; i++) { - _additionalCandidates[i - 4] = new CandidateState(endpoints[i], score: scores[i]); + _additionalCandidates[i - 4] = new CandidateState(endpoints[i], values[i], scores[i]); } break; } @@ -161,7 +183,7 @@ namespace Microsoft.AspNetCore.Routing.Matching /// Gets the count of candidates in the set. /// public int Count { get; } - + /// /// Gets the associated with the candidate /// at . @@ -206,10 +228,14 @@ namespace Microsoft.AspNetCore.Routing.Matching } /// - /// Gets or sets a value which indicates where the is considered - /// a valid candiate for the current request. Set this value to false to exclude an - /// from consideration. + /// Gets a value which indicates where the is considered + /// a valid candiate for the current request. /// + /// The candidate index. + /// + /// true if the candidate at position is considered value + /// for the current request, otherwise false. + /// public bool IsValidCandidate(int index) { // Friendliness for inlining diff --git a/src/Microsoft.AspNetCore.Routing/Matching/CandidateState.cs b/src/Microsoft.AspNetCore.Routing/Matching/CandidateState.cs index 03bccd517b..5b198beb8e 100644 --- a/src/Microsoft.AspNetCore.Routing/Matching/CandidateState.cs +++ b/src/Microsoft.AspNetCore.Routing/Matching/CandidateState.cs @@ -6,7 +6,7 @@ using Microsoft.AspNetCore.Http; namespace Microsoft.AspNetCore.Routing.Matching { /// - /// The mutable state associated with a candidate in a . + /// The state associated with a candidate in a . /// public struct CandidateState { @@ -47,7 +47,7 @@ namespace Microsoft.AspNetCore.Routing.Matching public int Score { get; } /// - /// Gets or sets the associated with the + /// Gets associated with the /// and the current request. /// public RouteValueDictionary Values { get; internal set; } diff --git a/src/Microsoft.AspNetCore.Routing/Matching/DefaultEndpointSelector.cs b/src/Microsoft.AspNetCore.Routing/Matching/DefaultEndpointSelector.cs index cf38ffbb51..bd670d86f5 100644 --- a/src/Microsoft.AspNetCore.Routing/Matching/DefaultEndpointSelector.cs +++ b/src/Microsoft.AspNetCore.Routing/Matching/DefaultEndpointSelector.cs @@ -116,7 +116,6 @@ namespace Microsoft.AspNetCore.Routing.Matching var isValid = candidateSet.IsValidCandidate(i); if (isValid && foundScore == null) { - // This is the first match we've seen - speculatively assign it. endpoint = state.Endpoint; values = state.Values; diff --git a/test/Microsoft.AspNetCore.Routing.Tests/Matching/CandidateSetTest.cs b/test/Microsoft.AspNetCore.Routing.Tests/Matching/CandidateSetTest.cs index a80e4dd119..b94923df3c 100644 --- a/test/Microsoft.AspNetCore.Routing.Tests/Matching/CandidateSetTest.cs +++ b/test/Microsoft.AspNetCore.Routing.Tests/Matching/CandidateSetTest.cs @@ -76,8 +76,17 @@ namespace Microsoft.AspNetCore.Routing.Matching endpoints[i] = CreateEndpoint($"/{i}"); } + var values = new RouteValueDictionary[count]; + for (var i = 0; i < endpoints.Length; i++) + { + values[i] = new RouteValueDictionary() + { + { "i", i } + }; + } + // Act - var candidateSet = new CandidateSet(endpoints, new RouteValueDictionary[count], Enumerable.Range(0, count).ToArray()); + var candidateSet = new CandidateSet(endpoints, values, Enumerable.Range(0, count).ToArray()); // Assert for (var i = 0; i < candidateSet.Count; i++) @@ -86,7 +95,8 @@ namespace Microsoft.AspNetCore.Routing.Matching Assert.True(candidateSet.IsValidCandidate(i)); Assert.Same(endpoints[i], state.Endpoint); Assert.Equal(i, state.Score); - Assert.Null(state.Values); + Assert.NotNull(state.Values); + Assert.Equal(i, state.Values["i"]); candidateSet.SetValidity(i, false); Assert.False(candidateSet.IsValidCandidate(i)); From 3227de8c0bfa7f60a03bde04163ba0f155b2651a Mon Sep 17 00:00:00 2001 From: Ryan Nowak Date: Thu, 27 Sep 2018 13:26:52 -0700 Subject: [PATCH 195/221] Fix #629 - Add logging to DfaMatcther Adds logging for the most common things that can prevent an endpoint from matching. Note that we already have good logging in other parts of the system, the stuff here completes the story by providing details at the debug level. --- .../DefaultLinkGenerator.cs | 4 +- .../EndpointMiddleware.cs | 4 +- .../EndpointRoutingMiddleware.cs | 4 +- .../RouteConstraintMatcherExtensions.cs | 2 +- .../RouterMiddlewareLoggerExtensions.cs | 2 +- .../Logging/TreeRouterLoggerExtensions.cs | 2 +- .../Matching/DfaMatcher.cs | 148 ++++++++++++- .../Matching/DfaMatcherBuilder.cs | 6 +- .../ConstraintMatcherTest.cs | 2 +- .../EndpointRoutingMiddlewareTest.cs | 2 +- .../Matching/CandidateSetTest.cs | 2 + .../Matching/DfaMatcherBuilderTest.cs | 2 + .../Matching/DfaMatcherTest.cs | 194 +++++++++++++++++- .../RouterMiddlewareTest.cs | 2 +- 14 files changed, 346 insertions(+), 30 deletions(-) diff --git a/src/Microsoft.AspNetCore.Routing/DefaultLinkGenerator.cs b/src/Microsoft.AspNetCore.Routing/DefaultLinkGenerator.cs index 7bd41daeaa..c652be90be 100644 --- a/src/Microsoft.AspNetCore.Routing/DefaultLinkGenerator.cs +++ b/src/Microsoft.AspNetCore.Routing/DefaultLinkGenerator.cs @@ -421,8 +421,8 @@ namespace Microsoft.AspNetCore.Routing LogLevel.Debug, EventIds.TemplateFailedExpansion, "Failed to process the template {Template} for {Endpoint}. " + - "The failure occured while expanding the template with values {Values}. " + - "This is usually due to a missing or empty value in a complex segment."); + "The failure occured while expanding the template with values {Values} " + + "This is usually due to a missing or empty value in a complex segment"); private static readonly Action, string, Exception> _linkGenerationSucceeded = LoggerMessage.Define, string>( LogLevel.Debug, diff --git a/src/Microsoft.AspNetCore.Routing/EndpointMiddleware.cs b/src/Microsoft.AspNetCore.Routing/EndpointMiddleware.cs index a9790e6ee1..7facd61bb0 100644 --- a/src/Microsoft.AspNetCore.Routing/EndpointMiddleware.cs +++ b/src/Microsoft.AspNetCore.Routing/EndpointMiddleware.cs @@ -57,12 +57,12 @@ namespace Microsoft.AspNetCore.Routing private static readonly Action _executingEndpoint = LoggerMessage.Define( LogLevel.Information, new EventId(0, "ExecutingEndpoint"), - "Executing endpoint '{EndpointName}'."); + "Executing endpoint '{EndpointName}'"); private static readonly Action _executedEndpoint = LoggerMessage.Define( LogLevel.Information, new EventId(1, "ExecutedEndpoint"), - "Executed endpoint '{EndpointName}'."); + "Executed endpoint '{EndpointName}'"); public static void ExecutingEndpoint(ILogger logger, Endpoint endpoint) { diff --git a/src/Microsoft.AspNetCore.Routing/EndpointRoutingMiddleware.cs b/src/Microsoft.AspNetCore.Routing/EndpointRoutingMiddleware.cs index b0d740b440..0b82dc3438 100644 --- a/src/Microsoft.AspNetCore.Routing/EndpointRoutingMiddleware.cs +++ b/src/Microsoft.AspNetCore.Routing/EndpointRoutingMiddleware.cs @@ -119,12 +119,12 @@ namespace Microsoft.AspNetCore.Routing private static readonly Action _matchSuccess = LoggerMessage.Define( LogLevel.Debug, new EventId(1, "MatchSuccess"), - "Request matched endpoint '{EndpointName}'."); + "Request matched endpoint '{EndpointName}'"); private static readonly Action _matchFailure = LoggerMessage.Define( LogLevel.Debug, new EventId(2, "MatchFailure"), - "Request did not match any endpoints."); + "Request did not match any endpoints"); public static void MatchSuccess(ILogger logger, EndpointSelectorContext context) { diff --git a/src/Microsoft.AspNetCore.Routing/Logging/RouteConstraintMatcherExtensions.cs b/src/Microsoft.AspNetCore.Routing/Logging/RouteConstraintMatcherExtensions.cs index 9a19250f30..3036d2b9b9 100644 --- a/src/Microsoft.AspNetCore.Routing/Logging/RouteConstraintMatcherExtensions.cs +++ b/src/Microsoft.AspNetCore.Routing/Logging/RouteConstraintMatcherExtensions.cs @@ -16,7 +16,7 @@ namespace Microsoft.AspNetCore.Routing.Logging LogLevel.Debug, 1, "Route value '{RouteValue}' with key '{RouteKey}' did not match " + - "the constraint '{RouteConstraint}'."); + "the constraint '{RouteConstraint}'"); } public static void RouteValueDoesNotMatchConstraint( diff --git a/src/Microsoft.AspNetCore.Routing/Logging/RouterMiddlewareLoggerExtensions.cs b/src/Microsoft.AspNetCore.Routing/Logging/RouterMiddlewareLoggerExtensions.cs index 35f05272cd..77fba27317 100644 --- a/src/Microsoft.AspNetCore.Routing/Logging/RouterMiddlewareLoggerExtensions.cs +++ b/src/Microsoft.AspNetCore.Routing/Logging/RouterMiddlewareLoggerExtensions.cs @@ -15,7 +15,7 @@ namespace Microsoft.AspNetCore.Routing.Logging _requestDidNotMatchRoutes = LoggerMessage.Define( LogLevel.Debug, 1, - "Request did not match any routes."); + "Request did not match any routes"); } public static void RequestDidNotMatchRoutes(this ILogger logger) diff --git a/src/Microsoft.AspNetCore.Routing/Logging/TreeRouterLoggerExtensions.cs b/src/Microsoft.AspNetCore.Routing/Logging/TreeRouterLoggerExtensions.cs index 3f6af8e5dc..825e9ef888 100644 --- a/src/Microsoft.AspNetCore.Routing/Logging/TreeRouterLoggerExtensions.cs +++ b/src/Microsoft.AspNetCore.Routing/Logging/TreeRouterLoggerExtensions.cs @@ -15,7 +15,7 @@ namespace Microsoft.AspNetCore.Routing.Logging _matchedRoute = LoggerMessage.Define( LogLevel.Debug, 1, - "Request successfully matched the route with name '{RouteName}' and template '{RouteTemplate}'."); + "Request successfully matched the route with name '{RouteName}' and template '{RouteTemplate}'"); } public static void MatchedRoute( diff --git a/src/Microsoft.AspNetCore.Routing/Matching/DfaMatcher.cs b/src/Microsoft.AspNetCore.Routing/Matching/DfaMatcher.cs index 212acaf1b5..da0f799129 100644 --- a/src/Microsoft.AspNetCore.Routing/Matching/DfaMatcher.cs +++ b/src/Microsoft.AspNetCore.Routing/Matching/DfaMatcher.cs @@ -6,17 +6,20 @@ using System.Collections.Generic; using System.Threading.Tasks; using Microsoft.AspNetCore.Http; using Microsoft.AspNetCore.Routing.Patterns; +using Microsoft.Extensions.Logging; namespace Microsoft.AspNetCore.Routing.Matching { internal sealed class DfaMatcher : Matcher { + private readonly ILogger _logger; private readonly EndpointSelector _selector; private readonly DfaState[] _states; private readonly int _maxSegmentCount; - public DfaMatcher(EndpointSelector selector, DfaState[] states, int maxSegmentCount) + public DfaMatcher(ILogger logger, EndpointSelector selector, DfaState[] states, int maxSegmentCount) { + _logger = logger; _selector = selector; _states = states; _maxSegmentCount = maxSegmentCount; @@ -34,6 +37,9 @@ namespace Microsoft.AspNetCore.Routing.Matching throw new ArgumentNullException(nameof(context)); } + // All of the logging we do here is at level debug, so we can get away with doing a single check. + var log = _logger.IsEnabled(LogLevel.Debug); + // The sequence of actions we take is optimized to avoid doing expensive work // like creating substrings, creating route value dictionaries, and calling // into policies like versioning. @@ -49,9 +55,19 @@ namespace Microsoft.AspNetCore.Routing.Matching var candidates = FindCandidateSet(httpContext, path, segments); if (candidates.Length == 0) { + if (log) + { + Logger.CandidatesNotFound(_logger, path); + } + return Task.CompletedTask; } + if (log) + { + Logger.CandidatesFound(_logger, path, candidates); + } + // At this point we have a candidate set, defined as a list of endpoints in // priority order. // @@ -117,21 +133,34 @@ namespace Microsoft.AspNetCore.Routing.Matching // Now that we have the route values, we need to process complex segments. // Complex segments go through an old API that requires a fully-materialized // route value dictionary. + var isMatch = true; if ((flags & Candidate.CandidateFlags.HasComplexSegments) != 0) { - if (!ProcessComplexSegments(candidate.ComplexSegments, path, segments, values)) + if (!ProcessComplexSegments(candidate.Endpoint, candidate.ComplexSegments, path, segments, values)) { candidateSet.SetValidity(i, false); - continue; + isMatch = false; } } if ((flags & Candidate.CandidateFlags.HasConstraints) != 0) { - if (!ProcessConstraints(candidate.Constraints, httpContext, values)) + if (!ProcessConstraints(candidate.Endpoint, candidate.Constraints, httpContext, values)) { candidateSet.SetValidity(i, false); - continue; + isMatch = false; + } + } + + if (log) + { + if (isMatch) + { + Logger.CandidateValid(_logger, path, candidate.Endpoint); + } + else + { + Logger.CandidateNotValid(_logger, path, candidate.Endpoint); } } } @@ -202,6 +231,7 @@ namespace Microsoft.AspNetCore.Routing.Matching } private bool ProcessComplexSegments( + Endpoint endpoint, (RoutePatternPathSegment pathSegment, int segmentIndex)[] complexSegments, string path, ReadOnlySpan segments, @@ -209,10 +239,12 @@ namespace Microsoft.AspNetCore.Routing.Matching { for (var i = 0; i < complexSegments.Length; i++) { - var segment = segments[complexSegments[i].segmentIndex]; + (var complexSegment, var segmentIndex) = complexSegments[i]; + var segment = segments[segmentIndex]; var text = path.Substring(segment.Start, segment.Length); - if (!RoutePatternMatcher.MatchComplexSegment(complexSegments[i].pathSegment, text, values)) + if (!RoutePatternMatcher.MatchComplexSegment(complexSegment, text, values)) { + Logger.CandidateRejectedByComplexSegment(_logger, path, endpoint, complexSegment); return false; } } @@ -221,6 +253,7 @@ namespace Microsoft.AspNetCore.Routing.Matching } private bool ProcessConstraints( + Endpoint endpoint, KeyValuePair[] constraints, HttpContext httpContext, RouteValueDictionary values) @@ -230,11 +263,112 @@ namespace Microsoft.AspNetCore.Routing.Matching var constraint = constraints[i]; if (!constraint.Value.Match(httpContext, NullRouter.Instance, constraint.Key, values, RouteDirection.IncomingRequest)) { + Logger.CandidateRejectedByConstraint(_logger, httpContext.Request.Path, endpoint, constraint.Key, constraint.Value, values[constraint.Key]); return false; } } return true; } + + internal static class EventIds + { + public static readonly EventId CandidatesNotFound = new EventId(1000, "CandidatesNotFound"); + public static readonly EventId CandidatesFound = new EventId(1001, "CandidatesFound"); + + public static readonly EventId CandidateRejectedByComplexSegment = new EventId(1002, "CandidateRejectedByComplexSegment"); + public static readonly EventId CandidateRejectedByConstraint = new EventId(1003, "CandidateRejectedByConstraint"); + + public static readonly EventId CandidateNotValid = new EventId(1004, "CandiateNotValid"); + public static readonly EventId CandidateValid = new EventId(1005, "CandiateValid"); + } + + private static class Logger + { + private static readonly Action _candidatesNotFound = LoggerMessage.Define( + LogLevel.Debug, + EventIds.CandidatesNotFound, + "No candidates found for the request path '{Path}'"); + + private static readonly Action _candidatesFound = LoggerMessage.Define( + LogLevel.Debug, + EventIds.CandidatesFound, + "{CandidateCount} candidate(s) found for the request path '{Path}'"); + + private static readonly Action _candidateRejectedByComplexSegment = LoggerMessage.Define( + LogLevel.Debug, + EventIds.CandidateRejectedByComplexSegment, + "Endpoint '{Endpoint}' with route pattern '{RoutePattern}' was rejected by complex segment '{Segment}' for the request path '{Path}'"); + + private static readonly Action _candidateRejectedByConstraint = LoggerMessage.Define( + LogLevel.Debug, + EventIds.CandidateRejectedByConstraint, + "Endpoint '{Endpoint}' with route pattern '{RoutePattern}' was rejected by constraint '{ConstraintName}':'{Constraint}' with value '{RouteValue}' for the request path '{Path}'"); + + private static readonly Action _candidateNotValid = LoggerMessage.Define( + LogLevel.Debug, + EventIds.CandidateNotValid, + "Endpoint '{Endpoint}' with route pattern '{RoutePattern}' is not valid for the request path '{Path}'"); + + private static readonly Action _candidateValid = LoggerMessage.Define( + LogLevel.Debug, + EventIds.CandidateValid, + "Endpoint '{Endpoint}' with route pattern '{RoutePattern}' is valid for the request path '{Path}'"); + + public static void CandidatesNotFound(ILogger logger, string path) + { + _candidatesNotFound(logger, path, null); + } + + public static void CandidatesFound(ILogger logger, string path, Candidate[] candidates) + { + _candidatesFound(logger, candidates.Length, path, null); + } + + public static void CandidateRejectedByComplexSegment(ILogger logger, string path, Endpoint endpoint, RoutePatternPathSegment segment) + { + // This should return a real pattern since we're processing complex segments.... but just in case. + if (logger.IsEnabled(LogLevel.Debug)) + { + var routePattern = GetRoutePattern(endpoint); + _candidateRejectedByComplexSegment(logger, endpoint.DisplayName, routePattern, segment.DebuggerToString(), path, null); + } + } + + public static void CandidateRejectedByConstraint(ILogger logger, string path, Endpoint endpoint, string constraintName, IRouteConstraint constraint, object value) + { + // This should return a real pattern since we're processing constraints.... but just in case. + if (logger.IsEnabled(LogLevel.Debug)) + { + var routePattern = GetRoutePattern(endpoint); + _candidateRejectedByConstraint(logger, endpoint.DisplayName, routePattern, constraintName, constraint.ToString(), value, path, null); + } + } + + public static void CandidateNotValid(ILogger logger, string path, Endpoint endpoint) + { + // This can be the fallback value because it really might not be a route endpoint + if (logger.IsEnabled(LogLevel.Debug)) + { + var routePattern = GetRoutePattern(endpoint); + _candidateNotValid(logger, endpoint.DisplayName, routePattern, path, null); + } + } + + public static void CandidateValid(ILogger logger, string path, Endpoint endpoint) + { + // This can be the fallback value because it really might not be a route endpoint + if (logger.IsEnabled(LogLevel.Debug)) + { + var routePattern = GetRoutePattern(endpoint); + _candidateValid(logger, endpoint.DisplayName, routePattern, path, null); + } + } + + private static string GetRoutePattern(Endpoint endpoint) + { + return (endpoint as RouteEndpoint)?.RoutePattern?.RawText ?? "(none)"; + } + } } } diff --git a/src/Microsoft.AspNetCore.Routing/Matching/DfaMatcherBuilder.cs b/src/Microsoft.AspNetCore.Routing/Matching/DfaMatcherBuilder.cs index 28b5cdf353..bff708feea 100644 --- a/src/Microsoft.AspNetCore.Routing/Matching/DfaMatcherBuilder.cs +++ b/src/Microsoft.AspNetCore.Routing/Matching/DfaMatcherBuilder.cs @@ -6,6 +6,7 @@ using System.Collections.Generic; using System.Linq; using Microsoft.AspNetCore.Http; using Microsoft.AspNetCore.Routing.Patterns; +using Microsoft.Extensions.Logging; namespace Microsoft.AspNetCore.Routing.Matching { @@ -13,6 +14,7 @@ namespace Microsoft.AspNetCore.Routing.Matching { private readonly List _endpoints = new List(); + private readonly ILoggerFactory _loggerFactory; private readonly ParameterPolicyFactory _parameterPolicyFactory; private readonly EndpointSelector _selector; private readonly MatcherPolicy[] _policies; @@ -29,10 +31,12 @@ namespace Microsoft.AspNetCore.Routing.Matching private int _stateIndex; public DfaMatcherBuilder( + ILoggerFactory loggerFactory, ParameterPolicyFactory parameterPolicyFactory, EndpointSelector selector, IEnumerable policies) { + _loggerFactory = loggerFactory; _parameterPolicyFactory = parameterPolicyFactory; _selector = selector; _policies = policies.OrderBy(p => p.Order).ToArray(); @@ -304,7 +308,7 @@ namespace Microsoft.AspNetCore.Routing.Matching JumpTableBuilder.Build(exitDestination, exitDestination, null), null); - return new DfaMatcher(_selector, states, maxSegmentCount); + return new DfaMatcher(_loggerFactory.CreateLogger(), _selector, states, maxSegmentCount); } private int AddNode( diff --git a/test/Microsoft.AspNetCore.Routing.Tests/ConstraintMatcherTest.cs b/test/Microsoft.AspNetCore.Routing.Tests/ConstraintMatcherTest.cs index 4d9b436e81..59194e3a0b 100644 --- a/test/Microsoft.AspNetCore.Routing.Tests/ConstraintMatcherTest.cs +++ b/test/Microsoft.AspNetCore.Routing.Tests/ConstraintMatcherTest.cs @@ -56,7 +56,7 @@ namespace Microsoft.AspNetCore.Routing }; var sink = SetUpMatch(constraints, loggerEnabled: true); var expectedMessage = "Route value 'value' with key 'b' did not match the constraint " + - $"'{typeof(FailConstraint).FullName}'."; + $"'{typeof(FailConstraint).FullName}'"; // Assert Assert.Empty(sink.Scopes); diff --git a/test/Microsoft.AspNetCore.Routing.Tests/EndpointRoutingMiddlewareTest.cs b/test/Microsoft.AspNetCore.Routing.Tests/EndpointRoutingMiddlewareTest.cs index a15d94e340..dad2fdf0ff 100644 --- a/test/Microsoft.AspNetCore.Routing.Tests/EndpointRoutingMiddlewareTest.cs +++ b/test/Microsoft.AspNetCore.Routing.Tests/EndpointRoutingMiddlewareTest.cs @@ -36,7 +36,7 @@ namespace Microsoft.AspNetCore.Routing public async Task Invoke_OnCall_WritesToConfiguredLogger() { // Arrange - var expectedMessage = "Request matched endpoint 'Test endpoint'."; + var expectedMessage = "Request matched endpoint 'Test endpoint'"; var sink = new TestSink( TestSink.EnableWithTypeName, diff --git a/test/Microsoft.AspNetCore.Routing.Tests/Matching/CandidateSetTest.cs b/test/Microsoft.AspNetCore.Routing.Tests/Matching/CandidateSetTest.cs index b94923df3c..470103e283 100644 --- a/test/Microsoft.AspNetCore.Routing.Tests/Matching/CandidateSetTest.cs +++ b/test/Microsoft.AspNetCore.Routing.Tests/Matching/CandidateSetTest.cs @@ -5,6 +5,7 @@ using System; using System.Linq; using Microsoft.AspNetCore.Http; using Microsoft.AspNetCore.Routing.Patterns; +using Microsoft.Extensions.Logging.Abstractions; using Moq; using Xunit; @@ -117,6 +118,7 @@ namespace Microsoft.AspNetCore.Routing.Matching { var dataSource = new CompositeEndpointDataSource(Array.Empty()); return new DfaMatcherBuilder( + NullLoggerFactory.Instance, Mock.Of(), Mock.Of(), policies); diff --git a/test/Microsoft.AspNetCore.Routing.Tests/Matching/DfaMatcherBuilderTest.cs b/test/Microsoft.AspNetCore.Routing.Tests/Matching/DfaMatcherBuilderTest.cs index 10c0aec62e..e2eec83cb0 100644 --- a/test/Microsoft.AspNetCore.Routing.Tests/Matching/DfaMatcherBuilderTest.cs +++ b/test/Microsoft.AspNetCore.Routing.Tests/Matching/DfaMatcherBuilderTest.cs @@ -7,6 +7,7 @@ using System.Linq; using Microsoft.AspNetCore.Http; using Microsoft.AspNetCore.Routing.Constraints; using Microsoft.AspNetCore.Routing.Patterns; +using Microsoft.Extensions.Logging.Abstractions; using Microsoft.Extensions.Options; using Moq; using Xunit; @@ -972,6 +973,7 @@ namespace Microsoft.AspNetCore.Routing.Matching { var dataSource = new CompositeEndpointDataSource(Array.Empty()); return new DfaMatcherBuilder( + NullLoggerFactory.Instance, new DefaultParameterPolicyFactory(Options.Create(new RouteOptions()), Mock.Of()), Mock.Of(), policies); diff --git a/test/Microsoft.AspNetCore.Routing.Tests/Matching/DfaMatcherTest.cs b/test/Microsoft.AspNetCore.Routing.Tests/Matching/DfaMatcherTest.cs index 924a11b733..08e3b76570 100644 --- a/test/Microsoft.AspNetCore.Routing.Tests/Matching/DfaMatcherTest.cs +++ b/test/Microsoft.AspNetCore.Routing.Tests/Matching/DfaMatcherTest.cs @@ -7,6 +7,8 @@ using Microsoft.AspNetCore.Http; using Microsoft.AspNetCore.Http.Features; using Microsoft.AspNetCore.Routing.Patterns; using Microsoft.Extensions.DependencyInjection; +using Microsoft.Extensions.Logging; +using Microsoft.Extensions.Logging.Testing; using Moq; using Xunit; @@ -26,7 +28,7 @@ namespace Microsoft.AspNetCore.Routing.Matching template); } - private Matcher CreateDfaMatcher(EndpointDataSource dataSource, EndpointSelector endpointSelector = null) + private Matcher CreateDfaMatcher(EndpointDataSource dataSource, EndpointSelector endpointSelector = null, ILoggerFactory loggerFactory = null) { var serviceCollection = new ServiceCollection() .AddLogging() @@ -38,6 +40,11 @@ namespace Microsoft.AspNetCore.Routing.Matching serviceCollection.AddSingleton(endpointSelector); } + if (loggerFactory != null) + { + serviceCollection.AddSingleton(loggerFactory); + } + var services = serviceCollection.BuildServiceProvider(); var factory = services.GetRequiredService(); @@ -76,14 +83,14 @@ namespace Microsoft.AspNetCore.Routing.Matching var matcher = CreateDfaMatcher(endpointDataSource); - var (httpContext, endpointFeature) = CreateContext(); + var (httpContext, context) = CreateContext(); httpContext.Request.Path = "/One"; // Act - await matcher.MatchAsync(httpContext, endpointFeature); + await matcher.MatchAsync(httpContext, context); // Assert - Assert.Null(endpointFeature.Endpoint); + Assert.Null(context.Endpoint); } [Fact] @@ -101,14 +108,14 @@ namespace Microsoft.AspNetCore.Routing.Matching var matcher = CreateDfaMatcher(endpointDataSource); - var (httpContext, endpointFeature) = CreateContext(); + var (httpContext, context) = CreateContext(); httpContext.Request.Path = "/Teams"; // Act - await matcher.MatchAsync(httpContext, endpointFeature); + await matcher.MatchAsync(httpContext, context); // Assert - Assert.Equal(lowerOrderEndpoint, endpointFeature.Endpoint); + Assert.Equal(lowerOrderEndpoint, context.Endpoint); } [Fact] @@ -147,14 +154,181 @@ namespace Microsoft.AspNetCore.Routing.Matching var matcher = CreateDfaMatcher(endpointDataSource, endpointSelector.Object); - var (httpContext, endpointFeature) = CreateContext(); + var (httpContext, context) = CreateContext(); httpContext.Request.Path = "/Teams"; // Act - await matcher.MatchAsync(httpContext, endpointFeature); + await matcher.MatchAsync(httpContext, context); // Assert - Assert.Equal(endpoint2, endpointFeature.Endpoint); + Assert.Equal(endpoint2, context.Endpoint); + } + + [Fact] + public async Task MatchAsync_NoCandidates_Logging() + { + // Arrange + var endpointDataSource = new DefaultEndpointDataSource(new List + { + CreateEndpoint("/{p:int}", 0) + }); + + var sink = new TestSink(); + var matcher = CreateDfaMatcher(endpointDataSource, loggerFactory: new TestLoggerFactory(sink, enabled: true)); + + var (httpContext, context) = CreateContext(); + httpContext.Request.Path = "/"; + + // Act + await matcher.MatchAsync(httpContext, context); + + // Assert + Assert.Null(context.Endpoint); + + Assert.Collection( + sink.Writes, + (log) => + { + Assert.Equal(DfaMatcher.EventIds.CandidatesNotFound, log.EventId); + Assert.Equal("No candidates found for the request path '/'", log.Message); + }); + } + + [Fact] + public async Task MatchAsync_ConstraintRejectsEndpoint_Logging() + { + // Arrange + var endpointDataSource = new DefaultEndpointDataSource(new List + { + CreateEndpoint("/{p:int}", 0) + }); + + var sink = new TestSink(); + var matcher = CreateDfaMatcher(endpointDataSource, loggerFactory: new TestLoggerFactory(sink, enabled: true)); + + var (httpContext, context) = CreateContext(); + httpContext.Request.Path = "/One"; + + // Act + await matcher.MatchAsync(httpContext, context); + + // Assert + Assert.Null(context.Endpoint); + + Assert.Collection( + sink.Writes, + (log) => + { + Assert.Equal(DfaMatcher.EventIds.CandidatesFound, log.EventId); + Assert.Equal("1 candidate(s) found for the request path '/One'", log.Message); + }, + (log) => + { + Assert.Equal(DfaMatcher.EventIds.CandidateRejectedByConstraint, log.EventId); + Assert.Equal("Endpoint '/{p:int}' with route pattern '/{p:int}' was rejected by constraint 'p':'Microsoft.AspNetCore.Routing.Constraints.IntRouteConstraint' with value 'One' for the request path '/One'", log.Message); + }, + (log) => + { + Assert.Equal(DfaMatcher.EventIds.CandidateNotValid, log.EventId); + Assert.Equal("Endpoint '/{p:int}' with route pattern '/{p:int}' is not valid for the request path '/One'", log.Message); + }); + } + + [Fact] + public async Task MatchAsync_ComplexSegmentRejectsEndpoint_Logging() + { + // Arrange + var endpointDataSource = new DefaultEndpointDataSource(new List + { + CreateEndpoint("/x-{id}-y", 0) + }); + + var sink = new TestSink(); + var matcher = CreateDfaMatcher(endpointDataSource, loggerFactory: new TestLoggerFactory(sink, enabled: true)); + + var (httpContext, context) = CreateContext(); + httpContext.Request.Path = "/One"; + + // Act + await matcher.MatchAsync(httpContext, context); + + // Assert + Assert.Null(context.Endpoint); + + Assert.Collection( + sink.Writes, + (log) => + { + Assert.Equal(DfaMatcher.EventIds.CandidatesFound, log.EventId); + Assert.Equal("1 candidate(s) found for the request path '/One'", log.Message); + }, + (log) => + { + Assert.Equal(DfaMatcher.EventIds.CandidateRejectedByComplexSegment, log.EventId); + Assert.Equal("Endpoint '/x-{id}-y' with route pattern '/x-{id}-y' was rejected by complex segment 'x-{id}-y' for the request path '/One'", log.Message); + }, + (log) => + { + Assert.Equal(DfaMatcher.EventIds.CandidateNotValid, log.EventId); + Assert.Equal("Endpoint '/x-{id}-y' with route pattern '/x-{id}-y' is not valid for the request path '/One'", log.Message); + }); + } + + [Fact] + public async Task MatchAsync_MultipleCandidates_Logging() + { + // Arrange + var endpointDataSource = new DefaultEndpointDataSource(new List + { + CreateEndpoint("/One", 0), + CreateEndpoint("/{p:int}", 0), + CreateEndpoint("/x-{id}-y", 0), + }); + + var sink = new TestSink(); + var matcher = CreateDfaMatcher(endpointDataSource, loggerFactory: new TestLoggerFactory(sink, enabled: true)); + + var (httpContext, context) = CreateContext(); + httpContext.Request.Path = "/One"; + + // Act + await matcher.MatchAsync(httpContext, context); + + // Assert + Assert.Same(endpointDataSource.Endpoints[0], context.Endpoint); + + Assert.Collection( + sink.Writes, + (log) => + { + Assert.Equal(DfaMatcher.EventIds.CandidatesFound, log.EventId); + Assert.Equal("3 candidate(s) found for the request path '/One'", log.Message); + }, + (log) => + { + Assert.Equal(DfaMatcher.EventIds.CandidateValid, log.EventId); + Assert.Equal("Endpoint '/One' with route pattern '/One' is valid for the request path '/One'", log.Message); + }, + (log) => + { + Assert.Equal(DfaMatcher.EventIds.CandidateRejectedByConstraint, log.EventId); + Assert.Equal("Endpoint '/{p:int}' with route pattern '/{p:int}' was rejected by constraint 'p':'Microsoft.AspNetCore.Routing.Constraints.IntRouteConstraint' with value 'One' for the request path '/One'", log.Message); + }, + (log) => + { + Assert.Equal(DfaMatcher.EventIds.CandidateNotValid, log.EventId); + Assert.Equal("Endpoint '/{p:int}' with route pattern '/{p:int}' is not valid for the request path '/One'", log.Message); + }, + (log) => + { + Assert.Equal(DfaMatcher.EventIds.CandidateRejectedByComplexSegment, log.EventId); + Assert.Equal("Endpoint '/x-{id}-y' with route pattern '/x-{id}-y' was rejected by complex segment 'x-{id}-y' for the request path '/One'", log.Message); + }, + (log) => + { + Assert.Equal(DfaMatcher.EventIds.CandidateNotValid, log.EventId); + Assert.Equal("Endpoint '/x-{id}-y' with route pattern '/x-{id}-y' is not valid for the request path '/One'", log.Message); + }); } private (HttpContext httpContext, EndpointSelectorContext context) CreateContext() diff --git a/test/Microsoft.AspNetCore.Routing.Tests/RouterMiddlewareTest.cs b/test/Microsoft.AspNetCore.Routing.Tests/RouterMiddlewareTest.cs index 7f6bd73963..3df8f6ad48 100644 --- a/test/Microsoft.AspNetCore.Routing.Tests/RouterMiddlewareTest.cs +++ b/test/Microsoft.AspNetCore.Routing.Tests/RouterMiddlewareTest.cs @@ -16,7 +16,7 @@ namespace Microsoft.AspNetCore.Routing public async Task Invoke_LogsCorrectValues_WhenNotHandled() { // Arrange - var expectedMessage = "Request did not match any routes."; + var expectedMessage = "Request did not match any routes"; var isHandled = false; var sink = new TestSink( From af47b27f0d1ae41e11965ddd7a76b67dc78091ec Mon Sep 17 00:00:00 2001 From: Ryan Nowak Date: Thu, 4 Oct 2018 13:17:05 -0700 Subject: [PATCH 196/221] Add blurb about Host header --- .../LinkGenerationTemplate.cs | 22 ++++++++++++++++++- .../LinkGenerator.cs | 22 ++++++++++++++++++- ...kGeneratorEndpointNameAddressExtensions.cs | 22 ++++++++++++++++++- ...nkGeneratorRouteValuesAddressExtensions.cs | 22 ++++++++++++++++++- 4 files changed, 84 insertions(+), 4 deletions(-) diff --git a/src/Microsoft.AspNetCore.Routing.Abstractions/LinkGenerationTemplate.cs b/src/Microsoft.AspNetCore.Routing.Abstractions/LinkGenerationTemplate.cs index 5f99df178d..b54692bd15 100644 --- a/src/Microsoft.AspNetCore.Routing.Abstractions/LinkGenerationTemplate.cs +++ b/src/Microsoft.AspNetCore.Routing.Abstractions/LinkGenerationTemplate.cs @@ -63,6 +63,7 @@ namespace Microsoft.AspNetCore.Routing /// /// /// The URI host/authority, applied to the resulting URI. Optional. If not provided, the value will be used. + /// See the remarks section for details about the security implications of the . /// /// /// An optional URI path base. Prepended to the path in the resulting URI. If not provided, the value of will be used. @@ -73,6 +74,14 @@ namespace Microsoft.AspNetCore.Routing /// names from RouteOptions. /// /// A URI with an absolute path, or null. + /// + /// + /// The value of should be a trusted value. Relying on the value of the current request + /// can allow untrusted input to influence the resulting URI unless the Host header has been validated. + /// See the deployment documentation for instructions on how to properly validate the Host header in + /// your deployment environment. + /// + /// public abstract string GetUri( HttpContext httpContext, object values, @@ -87,7 +96,10 @@ namespace Microsoft.AspNetCore.Routing /// /// The route values. Used to expand parameters in the route template. Optional. /// The URI scheme, applied to the resulting URI. - /// The URI host/authority, applied to the resulting URI. + /// + /// The URI host/authority, applied to the resulting URI. + /// See the remarks section for details about the security implications of the . + /// /// An optional URI path base. Prepended to the path in the resulting URI. /// An optional URI fragment. Appended to the resulting URI. /// @@ -95,6 +107,14 @@ namespace Microsoft.AspNetCore.Routing /// names from RouteOptions. /// /// An absolute URI, or null. + /// + /// + /// The value of should be a trusted value. Relying on the value of the current request + /// can allow untrusted input to influence the resulting URI unless the Host header has been validated. + /// See the deployment documentation for instructions on how to properly validate the Host header in + /// your deployment environment. + /// + /// public abstract string GetUri( object values, string scheme, diff --git a/src/Microsoft.AspNetCore.Routing.Abstractions/LinkGenerator.cs b/src/Microsoft.AspNetCore.Routing.Abstractions/LinkGenerator.cs index 9f6bb0640f..1f91a4446d 100644 --- a/src/Microsoft.AspNetCore.Routing.Abstractions/LinkGenerator.cs +++ b/src/Microsoft.AspNetCore.Routing.Abstractions/LinkGenerator.cs @@ -83,6 +83,7 @@ namespace Microsoft.AspNetCore.Routing /// /// /// The URI host/authority, applied to the resulting URI. Optional. If not provided, the value will be used. + /// See the remarks section for details about the security implications of the . /// /// /// An optional URI path base. Prepended to the path in the resulting URI. If not provided, the value of will be used. @@ -93,6 +94,14 @@ namespace Microsoft.AspNetCore.Routing /// names from RouteOptions. /// /// A URI with an absolute path, or null. + /// + /// + /// The value of should be a trusted value. Relying on the value of the current request + /// can allow untrusted input to influence the resulting URI unless the Host header has been validated. + /// See the deployment documentation for instructions on how to properly validate the Host header in + /// your deployment environment. + /// + /// public abstract string GetUriByAddress( HttpContext httpContext, TAddress address, @@ -111,7 +120,10 @@ namespace Microsoft.AspNetCore.Routing /// The address value. Used to resolve endpoints. /// The route values. Used to expand parameters in the route template. Optional. /// The URI scheme, applied to the resulting URI. - /// The URI host/authority, applied to the resulting URI. + /// + /// The URI host/authority, applied to the resulting URI. + /// See the remarks section for details about the security implications of the . + /// /// An optional URI path base. Prepended to the path in the resulting URI. /// An optional URI fragment. Appended to the resulting URI. /// @@ -119,6 +131,14 @@ namespace Microsoft.AspNetCore.Routing /// names from RouteOptions. /// /// An absolute URI, or null. + /// + /// + /// The value of should be a trusted value. Relying on the value of the current request + /// can allow untrusted input to influence the resulting URI unless the Host header has been validated. + /// See the deployment documentation for instructions on how to properly validate the Host header in + /// your deployment environment. + /// + /// public abstract string GetUriByAddress( TAddress address, RouteValueDictionary values, diff --git a/src/Microsoft.AspNetCore.Routing/LinkGeneratorEndpointNameAddressExtensions.cs b/src/Microsoft.AspNetCore.Routing/LinkGeneratorEndpointNameAddressExtensions.cs index a5904d1071..d3e50328cf 100644 --- a/src/Microsoft.AspNetCore.Routing/LinkGeneratorEndpointNameAddressExtensions.cs +++ b/src/Microsoft.AspNetCore.Routing/LinkGeneratorEndpointNameAddressExtensions.cs @@ -112,6 +112,7 @@ namespace Microsoft.AspNetCore.Routing /// /// /// The URI host/authority, applied to the resulting URI. Optional. If not provided, the value will be used. + /// See the remarks section for details about the security implications of the . /// /// /// An optional URI path base. Prepended to the path in the resulting URI. If not provided, the value of will be used. @@ -122,6 +123,14 @@ namespace Microsoft.AspNetCore.Routing /// names from RouteOptions. /// /// A URI with an absolute path, or null. + /// + /// + /// The value of should be a trusted value. Relying on the value of the current request + /// can allow untrusted input to influence the resulting URI unless the Host header has been validated. + /// See the deployment documentation for instructions on how to properly validate the Host header in + /// your deployment environment. + /// + /// public static string GetUriByName( this LinkGenerator generator, HttpContext httpContext, @@ -167,7 +176,10 @@ namespace Microsoft.AspNetCore.Routing /// The endpoint name. Used to resolve endpoints. /// The route values. Used to expand parameters in the route template. Optional. /// The URI scheme, applied to the resulting URI. - /// The URI host/authority, applied to the resulting URI. + /// + /// The URI host/authority, applied to the resulting URI. + /// See the remarks section for details about the security implications of the . + /// /// An optional URI path base. Prepended to the path in the resulting URI. /// An optional URI fragment. Appended to the resulting URI. /// @@ -175,6 +187,14 @@ namespace Microsoft.AspNetCore.Routing /// names from RouteOptions. /// /// An absolute URI, or null. + /// + /// + /// The value of should be a trusted value. Relying on the value of the current request + /// can allow untrusted input to influence the resulting URI unless the Host header has been validated. + /// See the deployment documentation for instructions on how to properly validate the Host header in + /// your deployment environment. + /// + /// public static string GetUriByName( this LinkGenerator generator, string endpointName, diff --git a/src/Microsoft.AspNetCore.Routing/LinkGeneratorRouteValuesAddressExtensions.cs b/src/Microsoft.AspNetCore.Routing/LinkGeneratorRouteValuesAddressExtensions.cs index d025679e41..d41f43d644 100644 --- a/src/Microsoft.AspNetCore.Routing/LinkGeneratorRouteValuesAddressExtensions.cs +++ b/src/Microsoft.AspNetCore.Routing/LinkGeneratorRouteValuesAddressExtensions.cs @@ -104,6 +104,7 @@ namespace Microsoft.AspNetCore.Routing /// /// /// The URI host/authority, applied to the resulting URI. Optional. If not provided, the value will be used. + /// See the remarks section for details about the security implications of the . /// /// /// An optional URI path base. Prepended to the path in the resulting URI. If not provided, the value of will be used. @@ -114,6 +115,14 @@ namespace Microsoft.AspNetCore.Routing /// names from RouteOptions. /// /// A URI with an absolute path, or null. + /// + /// + /// The value of should be a trusted value. Relying on the value of the current request + /// can allow untrusted input to influence the resulting URI unless the Host header has been validated. + /// See the deployment documentation for instructions on how to properly validate the Host header in + /// your deployment environment. + /// + /// public static string GetUriByRouteValues( this LinkGenerator generator, HttpContext httpContext, @@ -155,7 +164,10 @@ namespace Microsoft.AspNetCore.Routing /// The route name. Used to resolve endpoints. Optional. /// The route values. Used to resolve endpoints and expand parameters in the route template. Optional. /// The URI scheme, applied to the resulting URI. - /// The URI host/authority, applied to the resulting URI. + /// + /// The URI host/authority, applied to the resulting URI. + /// See the remarks section for details about the security implications of the . + /// /// An optional URI path base. Prepended to the path in the resulting URI. /// An optional URI fragment. Appended to the resulting URI. /// @@ -163,6 +175,14 @@ namespace Microsoft.AspNetCore.Routing /// names from RouteOptions. /// /// An absolute URI, or null. + /// + /// + /// The value of should be a trusted value. Relying on the value of the current request + /// can allow untrusted input to influence the resulting URI unless the Host header has been validated. + /// See the deployment documentation for instructions on how to properly validate the Host header in + /// your deployment environment. + /// + /// public static string GetUriByRouteValues( this LinkGenerator generator, string routeName, From 9db2833fc207cea14e379255c865305d66441485 Mon Sep 17 00:00:00 2001 From: Ryan Nowak Date: Wed, 3 Oct 2018 22:32:06 -0700 Subject: [PATCH 197/221] Make endpoint selector policies per-candidate-set This allows us to filter `IEndpointSelectorPolicy` instance based on whether the apply to a given candidate set. This should allow us to remove some HAXXX from MVC. The idea here is the ESP becomes much more pay-for-play if you can statically eliminate many of the cases where it would usually no op. --- .../MatcherFindCandidateSetAzureBenchmark.cs | 75 - ...indCandidateSetAzureBenchmark.generated.cs | 21131 ---------------- .../MatcherFindCandidateSetGithubBenchmark.cs | 67 - ...ndCandidateSetGithubBenchmark.generated.cs | 959 - ...herFindCandidateSetSingleEntryBenchmark.cs | 66 - ...indCandidateSetSmallEntryCountBenchmark.cs | 103 - samples/RoutingSample.Web/Program.cs | 2 +- .../Matching/DefaultEndpointSelector.cs | 39 +- .../Matching/DfaMatcher.cs | 40 +- .../Matching/DfaMatcherBuilder.cs | 26 +- .../Matching/DfaState.cs | 10 +- .../Matching/HttpMethodMatcherPolicy.cs | 2 +- .../Matching/IEndpointSelectorPolicy.cs | 11 + .../Matching/INodeBuilderPolicy.cs | 2 +- .../Matching/DefaultEndpointSelectorTest.cs | 78 +- .../Matching/DfaMatcherBuilderTest.cs | 6 +- .../Matching/DfaMatcherTest.cs | 137 +- .../Matching/HttpMethodMatcherPolicyTest.cs | 6 +- .../Matching/RouteMatcherBuilder.cs | 2 +- .../Matching/TreeRouterMatcherBuilder.cs | 2 +- 20 files changed, 226 insertions(+), 22538 deletions(-) delete mode 100644 benchmarks/Microsoft.AspNetCore.Routing.Performance/Matching/MatcherFindCandidateSetAzureBenchmark.cs delete mode 100644 benchmarks/Microsoft.AspNetCore.Routing.Performance/Matching/MatcherFindCandidateSetAzureBenchmark.generated.cs delete mode 100644 benchmarks/Microsoft.AspNetCore.Routing.Performance/Matching/MatcherFindCandidateSetGithubBenchmark.cs delete mode 100644 benchmarks/Microsoft.AspNetCore.Routing.Performance/Matching/MatcherFindCandidateSetGithubBenchmark.generated.cs delete mode 100644 benchmarks/Microsoft.AspNetCore.Routing.Performance/Matching/MatcherFindCandidateSetSingleEntryBenchmark.cs delete mode 100644 benchmarks/Microsoft.AspNetCore.Routing.Performance/Matching/MatcherFindCandidateSetSmallEntryCountBenchmark.cs diff --git a/benchmarks/Microsoft.AspNetCore.Routing.Performance/Matching/MatcherFindCandidateSetAzureBenchmark.cs b/benchmarks/Microsoft.AspNetCore.Routing.Performance/Matching/MatcherFindCandidateSetAzureBenchmark.cs deleted file mode 100644 index ab1e371911..0000000000 --- a/benchmarks/Microsoft.AspNetCore.Routing.Performance/Matching/MatcherFindCandidateSetAzureBenchmark.cs +++ /dev/null @@ -1,75 +0,0 @@ -// Copyright (c) .NET Foundation. All rights reserved. -// Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information. - -using System; -using BenchmarkDotNet.Attributes; - -namespace Microsoft.AspNetCore.Routing.Matching -{ - // Generated from https://github.com/Azure/azure-rest-api-specs - public partial class MatcherFindCandidateSetAzureBenchmark : EndpointRoutingBenchmarkBase - { - // SegmentCount should be max-segments + 1, but we don't have a good way to compute - // it here, so using 32 as a safe guess. - private const int SegmentCount = 32; - - private const int SampleCount = 100; - - private BarebonesMatcher _baseline; - private DfaMatcher _dfa; - - private int[] _samples; - - [GlobalSetup] - public void Setup() - { - SetupEndpoints(); - - SetupRequests(); - - // The perf is kinda slow for these benchmarks, so we do some sampling - // of the request data. - _samples = SampleRequests(EndpointCount, SampleCount); - - _baseline = (BarebonesMatcher)SetupMatcher(new BarebonesMatcherBuilder()); - _dfa = (DfaMatcher)SetupMatcher(CreateDfaMatcherBuilder()); - } - - [Benchmark(Baseline = true, OperationsPerInvoke = SampleCount)] - public void Baseline() - { - for (var i = 0; i < SampleCount; i++) - { - var sample = _samples[i]; - var httpContext = Requests[sample]; - - var path = httpContext.Request.Path.Value; - var segments = new ReadOnlySpan(Array.Empty()); - - var candidates = _baseline.Matchers[sample].FindCandidateSet(path, segments); - - var endpoint = candidates[0].Endpoint; - Validate(httpContext, Endpoints[sample], endpoint); - } - } - - [Benchmark(OperationsPerInvoke = SampleCount)] - public void Dfa() - { - for (var i = 0; i < SampleCount; i++) - { - var sample = _samples[i]; - var httpContext = Requests[sample]; - - var path = httpContext.Request.Path.Value; - Span segments = stackalloc PathSegment[SegmentCount]; - var count = FastPathTokenizer.Tokenize(path, segments); - - var candidates = _dfa.FindCandidateSet(httpContext, path, segments.Slice(0, count)); - - var endpoint = candidates[0].Endpoint; - Validate(httpContext, Endpoints[sample], endpoint); - } - } - } -} \ No newline at end of file diff --git a/benchmarks/Microsoft.AspNetCore.Routing.Performance/Matching/MatcherFindCandidateSetAzureBenchmark.generated.cs b/benchmarks/Microsoft.AspNetCore.Routing.Performance/Matching/MatcherFindCandidateSetAzureBenchmark.generated.cs deleted file mode 100644 index 55672f7726..0000000000 --- a/benchmarks/Microsoft.AspNetCore.Routing.Performance/Matching/MatcherFindCandidateSetAzureBenchmark.generated.cs +++ /dev/null @@ -1,21131 +0,0 @@ - -// Copyright (c) .NET Foundation. All rights reserved. -// Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information. - -using Microsoft.AspNetCore.Http; - -namespace Microsoft.AspNetCore.Routing.Matching -{ - // This code was generated by the Swaggatherer - public partial class MatcherFindCandidateSetAzureBenchmark : EndpointRoutingBenchmarkBase - { - private const int EndpointCount = 3517; - - private void SetupEndpoints() - { - Endpoints = new RouteEndpoint[3517]; - Endpoints[0] = CreateEndpoint("/account"); - Endpoints[1] = CreateEndpoint("/analyze"); - Endpoints[2] = CreateEndpoint("/apis"); - Endpoints[3] = CreateEndpoint("/Applications"); - Endpoints[4] = CreateEndpoint("/ApplicationTypes"); - Endpoints[5] = CreateEndpoint("/apps/"); - Endpoints[6] = CreateEndpoint("/authorizationServers"); - Endpoints[7] = CreateEndpoint("/backends"); - Endpoints[8] = CreateEndpoint("/BuildJob"); - Endpoints[9] = CreateEndpoint("/certificates"); - Endpoints[10] = CreateEndpoint("/ComposeDeployments"); - Endpoints[11] = CreateEndpoint("/datasources"); - Endpoints[12] = CreateEndpoint("/deletedcertificates"); - Endpoints[13] = CreateEndpoint("/deletedkeys"); - Endpoints[14] = CreateEndpoint("/deletedsecrets"); - Endpoints[15] = CreateEndpoint("/deletedstorage"); - Endpoints[16] = CreateEndpoint("/describe"); - Endpoints[17] = CreateEndpoint("/detect"); - Endpoints[18] = CreateEndpoint("/domains"); - Endpoints[19] = CreateEndpoint("/entities"); - Endpoints[20] = CreateEndpoint("/facelists"); - Endpoints[21] = CreateEndpoint("/Faults/"); - Endpoints[22] = CreateEndpoint("/findsimilars"); - Endpoints[23] = CreateEndpoint("/generateThumbnail"); - Endpoints[24] = CreateEndpoint("/group"); - Endpoints[25] = CreateEndpoint("/groups"); - Endpoints[26] = CreateEndpoint("/identify"); - Endpoints[27] = CreateEndpoint("/identityProviders"); - Endpoints[28] = CreateEndpoint("/ImageStore"); - Endpoints[29] = CreateEndpoint("/indexers"); - Endpoints[30] = CreateEndpoint("/indexes"); - Endpoints[31] = CreateEndpoint("/Jobs"); - Endpoints[32] = CreateEndpoint("/jobschedules"); - Endpoints[33] = CreateEndpoint("/keys"); - Endpoints[34] = CreateEndpoint("/lifetimejobstats"); - Endpoints[35] = CreateEndpoint("/lifetimepoolstats"); - Endpoints[36] = CreateEndpoint("/loggers"); - Endpoints[37] = CreateEndpoint("/models"); - Endpoints[38] = CreateEndpoint("/news"); - Endpoints[39] = CreateEndpoint("/nodeagentskus"); - Endpoints[40] = CreateEndpoint("/nodecounts"); - Endpoints[41] = CreateEndpoint("/Nodes"); - Endpoints[42] = CreateEndpoint("/ocr"); - Endpoints[43] = CreateEndpoint("/offers"); - Endpoints[44] = CreateEndpoint("/openidConnectProviders"); - Endpoints[45] = CreateEndpoint("/persongroups"); - Endpoints[46] = CreateEndpoint("/pipelines"); - Endpoints[47] = CreateEndpoint("/policies"); - Endpoints[48] = CreateEndpoint("/policySnippets"); - Endpoints[49] = CreateEndpoint("/pools"); - Endpoints[50] = CreateEndpoint("/poolusagemetrics"); - Endpoints[51] = CreateEndpoint("/products"); - Endpoints[52] = CreateEndpoint("/projects"); - Endpoints[53] = CreateEndpoint("/properties"); - Endpoints[54] = CreateEndpoint("/recognizeText"); - Endpoints[55] = CreateEndpoint("/recurrences"); - Endpoints[56] = CreateEndpoint("/regions"); - Endpoints[57] = CreateEndpoint("/search"); - Endpoints[58] = CreateEndpoint("/secrets"); - Endpoints[59] = CreateEndpoint("/servicestats"); - Endpoints[60] = CreateEndpoint("/spellcheck"); - Endpoints[61] = CreateEndpoint("/storage"); - Endpoints[62] = CreateEndpoint("/subscriptions"); - Endpoints[63] = CreateEndpoint("/synonymmaps"); - Endpoints[64] = CreateEndpoint("/tag"); - Endpoints[65] = CreateEndpoint("/templates"); - Endpoints[66] = CreateEndpoint("/tenants"); - Endpoints[67] = CreateEndpoint("/users"); - Endpoints[68] = CreateEndpoint("/verify"); - Endpoints[69] = CreateEndpoint("/$/CancelRepairTask"); - Endpoints[70] = CreateEndpoint("/$/CreateRepairTask"); - Endpoints[71] = CreateEndpoint("/$/DeleteRepairTask"); - Endpoints[72] = CreateEndpoint("/$/ForceApproveRepairTask"); - Endpoints[73] = CreateEndpoint("/$/GetAadMetadata"); - Endpoints[74] = CreateEndpoint("/$/GetClusterConfiguration"); - Endpoints[75] = CreateEndpoint("/$/GetClusterConfigurationUpgradeStatus"); - Endpoints[76] = CreateEndpoint("/$/GetClusterHealth"); - Endpoints[77] = CreateEndpoint("/$/GetClusterHealthChunk"); - Endpoints[78] = CreateEndpoint("/$/GetClusterManifest"); - Endpoints[79] = CreateEndpoint("/$/GetLoadInformation"); - Endpoints[80] = CreateEndpoint("/$/GetProvisionedCodeVersions"); - Endpoints[81] = CreateEndpoint("/$/GetProvisionedConfigVersions"); - Endpoints[82] = CreateEndpoint("/$/GetRepairTaskList"); - Endpoints[83] = CreateEndpoint("/$/GetUpgradeOrchestrationServiceState"); - Endpoints[84] = CreateEndpoint("/$/GetUpgradeProgress"); - Endpoints[85] = CreateEndpoint("/$/InvokeInfrastructureCommand"); - Endpoints[86] = CreateEndpoint("/$/InvokeInfrastructureQuery"); - Endpoints[87] = CreateEndpoint("/$/MoveToNextUpgradeDomain"); - Endpoints[88] = CreateEndpoint("/$/Provision"); - Endpoints[89] = CreateEndpoint("/$/RecoverAllPartitions"); - Endpoints[90] = CreateEndpoint("/$/RecoverSystemPartitions"); - Endpoints[91] = CreateEndpoint("/$/ReportClusterHealth"); - Endpoints[92] = CreateEndpoint("/$/RollbackUpgrade"); - Endpoints[93] = CreateEndpoint("/$/SetUpgradeOrchestrationServiceState"); - Endpoints[94] = CreateEndpoint("/$/StartClusterConfigurationUpgrade"); - Endpoints[95] = CreateEndpoint("/$/Unprovision"); - Endpoints[96] = CreateEndpoint("/$/UpdateRepairExecutionState"); - Endpoints[97] = CreateEndpoint("/$/UpdateRepairTaskHealthPolicy"); - Endpoints[98] = CreateEndpoint("/$/UpdateUpgrade"); - Endpoints[99] = CreateEndpoint("/$/Upgrade"); - Endpoints[100] = CreateEndpoint("/api/events"); - Endpoints[101] = CreateEndpoint("/apps/assistants"); - Endpoints[102] = CreateEndpoint("/apps/cultures"); - Endpoints[103] = CreateEndpoint("/apps/customprebuiltdomains"); - Endpoints[104] = CreateEndpoint("/apps/domains"); - Endpoints[105] = CreateEndpoint("/apps/import"); - Endpoints[106] = CreateEndpoint("/apps/usagescenarios"); - Endpoints[107] = CreateEndpoint("/BackupRestore/BackupPolicies"); - Endpoints[108] = CreateEndpoint("/certificates/contacts"); - Endpoints[109] = CreateEndpoint("/certificates/issuers"); - Endpoints[110] = CreateEndpoint("/docs/$count"); - Endpoints[111] = CreateEndpoint("/docs/autocomplete"); - Endpoints[112] = CreateEndpoint("/images/details"); - Endpoints[113] = CreateEndpoint("/images/search"); - Endpoints[114] = CreateEndpoint("/images/trending"); - Endpoints[115] = CreateEndpoint("/images/visualsearch"); - Endpoints[116] = CreateEndpoint("/keys/restore"); - Endpoints[117] = CreateEndpoint("/news/search"); - Endpoints[118] = CreateEndpoint("/news/trendingtopics"); - Endpoints[119] = CreateEndpoint("/portalsettings/delegation"); - Endpoints[120] = CreateEndpoint("/portalsettings/signin"); - Endpoints[121] = CreateEndpoint("/portalsettings/signup"); - Endpoints[122] = CreateEndpoint("/reports/byApi"); - Endpoints[123] = CreateEndpoint("/reports/byGeo"); - Endpoints[124] = CreateEndpoint("/reports/byOperation"); - Endpoints[125] = CreateEndpoint("/reports/byProduct"); - Endpoints[126] = CreateEndpoint("/reports/byRequest"); - Endpoints[127] = CreateEndpoint("/reports/bySubscription"); - Endpoints[128] = CreateEndpoint("/reports/byTime"); - Endpoints[129] = CreateEndpoint("/reports/byUser"); - Endpoints[130] = CreateEndpoint("/secrets/restore"); - Endpoints[131] = CreateEndpoint("/storage/restore"); - Endpoints[132] = CreateEndpoint("/Tools/Chaos"); - Endpoints[133] = CreateEndpoint("/v2.0/entities"); - Endpoints[134] = CreateEndpoint("/v2.0/keyPhrases"); - Endpoints[135] = CreateEndpoint("/v2.0/languages"); - Endpoints[136] = CreateEndpoint("/v2.0/sentiment"); - Endpoints[137] = CreateEndpoint("/videos/details"); - Endpoints[138] = CreateEndpoint("/videos/search"); - Endpoints[139] = CreateEndpoint("/videos/trending"); - Endpoints[140] = CreateEndpoint("/Applications/$/Create"); - Endpoints[141] = CreateEndpoint("/ApplicationTypes/$/Provision"); - Endpoints[142] = CreateEndpoint("/BackupRestore/$/GetBackups"); - Endpoints[143] = CreateEndpoint("/catalog/usql/acl"); - Endpoints[144] = CreateEndpoint("/catalog/usql/databases"); - Endpoints[145] = CreateEndpoint("/ComposeDeployments/$/Create"); - Endpoints[146] = CreateEndpoint("/EventsStore/Applications/Events"); - Endpoints[147] = CreateEndpoint("/EventsStore/Cluster/Events"); - Endpoints[148] = CreateEndpoint("/EventsStore/Containers/Events"); - Endpoints[149] = CreateEndpoint("/EventsStore/Nodes/Events"); - Endpoints[150] = CreateEndpoint("/EventsStore/Partitions/Events"); - Endpoints[151] = CreateEndpoint("/EventsStore/Services/Events"); - Endpoints[152] = CreateEndpoint("/Faults/$/Cancel"); - Endpoints[153] = CreateEndpoint("/ImageStore/$/CommitUploadSession"); - Endpoints[154] = CreateEndpoint("/ImageStore/$/Copy"); - Endpoints[155] = CreateEndpoint("/ImageStore/$/DeleteUploadSession"); - Endpoints[156] = CreateEndpoint("/ImageStore/$/GetUploadSession"); - Endpoints[157] = CreateEndpoint("/Names/$/Create"); - Endpoints[158] = CreateEndpoint("/providers/Microsoft.AAD/operations"); - Endpoints[159] = CreateEndpoint("/providers/Microsoft.Addons/operations"); - Endpoints[160] = CreateEndpoint("/providers/Microsoft.ADHybridHealthService/addsservices"); - Endpoints[161] = CreateEndpoint("/providers/Microsoft.ADHybridHealthService/configuration"); - Endpoints[162] = CreateEndpoint("/providers/Microsoft.ADHybridHealthService/operations"); - Endpoints[163] = CreateEndpoint("/providers/Microsoft.ADHybridHealthService/services"); - Endpoints[164] = CreateEndpoint("/providers/Microsoft.Advisor/operations"); - Endpoints[165] = CreateEndpoint("/providers/Microsoft.AnalysisServices/operations"); - Endpoints[166] = CreateEndpoint("/providers/Microsoft.ApiManagement/operations"); - Endpoints[167] = CreateEndpoint("/providers/Microsoft.Authorization/policyDefinitions"); - Endpoints[168] = CreateEndpoint("/providers/Microsoft.Authorization/policySetDefinitions"); - Endpoints[169] = CreateEndpoint("/providers/Microsoft.Authorization/providerOperations"); - Endpoints[170] = CreateEndpoint("/providers/Microsoft.Automation/operations"); - Endpoints[171] = CreateEndpoint("/providers/Microsoft.AzureStack/operations"); - Endpoints[172] = CreateEndpoint("/providers/Microsoft.Backup.Admin/operations"); - Endpoints[173] = CreateEndpoint("/providers/Microsoft.Batch/operations"); - Endpoints[174] = CreateEndpoint("/providers/Microsoft.BatchAI/operations"); - Endpoints[175] = CreateEndpoint("/providers/Microsoft.Billing/enrollmentAccounts"); - Endpoints[176] = CreateEndpoint("/providers/Microsoft.Billing/operations"); - Endpoints[177] = CreateEndpoint("/providers/Microsoft.BotService/operations"); - Endpoints[178] = CreateEndpoint("/providers/Microsoft.Cache/operations"); - Endpoints[179] = CreateEndpoint("/providers/Microsoft.Capacity/operations"); - Endpoints[180] = CreateEndpoint("/providers/Microsoft.Capacity/reservationOrders"); - Endpoints[181] = CreateEndpoint("/providers/Microsoft.Cdn/checkNameAvailability"); - Endpoints[182] = CreateEndpoint("/providers/Microsoft.Cdn/edgenodes"); - Endpoints[183] = CreateEndpoint("/providers/Microsoft.Cdn/operations"); - Endpoints[184] = CreateEndpoint("/providers/Microsoft.CertificateRegistration/operations"); - Endpoints[185] = CreateEndpoint("/providers/Microsoft.CognitiveServices/operations"); - Endpoints[186] = CreateEndpoint("/providers/Microsoft.Commerce.Admin/operations"); - Endpoints[187] = CreateEndpoint("/providers/Microsoft.Compute.Admin/operations"); - Endpoints[188] = CreateEndpoint("/providers/Microsoft.Compute/operations"); - Endpoints[189] = CreateEndpoint("/providers/Microsoft.Consumption/operations"); - Endpoints[190] = CreateEndpoint("/providers/Microsoft.ContainerInstance/operations"); - Endpoints[191] = CreateEndpoint("/providers/Microsoft.ContainerRegistry/operations"); - Endpoints[192] = CreateEndpoint("/providers/Microsoft.ContainerService/operations"); - Endpoints[193] = CreateEndpoint("/providers/Microsoft.CustomerInsights/operations"); - Endpoints[194] = CreateEndpoint("/providers/Microsoft.DataBox/operations"); - Endpoints[195] = CreateEndpoint("/providers/Microsoft.Databricks/operations"); - Endpoints[196] = CreateEndpoint("/providers/Microsoft.DataCatalog/operations"); - Endpoints[197] = CreateEndpoint("/providers/Microsoft.DataFactory/operations"); - Endpoints[198] = CreateEndpoint("/providers/Microsoft.DataLakeAnalytics/operations"); - Endpoints[199] = CreateEndpoint("/providers/Microsoft.DataLakeStore/operations"); - Endpoints[200] = CreateEndpoint("/providers/Microsoft.DataMigration/operations"); - Endpoints[201] = CreateEndpoint("/providers/Microsoft.DBforMySQL/operations"); - Endpoints[202] = CreateEndpoint("/providers/Microsoft.DBforPostgreSQL/operations"); - Endpoints[203] = CreateEndpoint("/providers/Microsoft.Devices/operations"); - Endpoints[204] = CreateEndpoint("/providers/Microsoft.DevTestLab/operations"); - Endpoints[205] = CreateEndpoint("/providers/Microsoft.DocumentDB/operations"); - Endpoints[206] = CreateEndpoint("/providers/Microsoft.DomainRegistration/operations"); - Endpoints[207] = CreateEndpoint("/providers/Microsoft.EventGrid/operations"); - Endpoints[208] = CreateEndpoint("/providers/Microsoft.EventGrid/topicTypes"); - Endpoints[209] = CreateEndpoint("/providers/Microsoft.EventHub/operations"); - Endpoints[210] = CreateEndpoint("/providers/Microsoft.Fabric.Admin/operations"); - Endpoints[211] = CreateEndpoint("/providers/Microsoft.Gallery.Admin/operations"); - Endpoints[212] = CreateEndpoint("/providers/Microsoft.HanaOnAzure/operations"); - Endpoints[213] = CreateEndpoint("/providers/Microsoft.HDInsight/operations"); - Endpoints[214] = CreateEndpoint("/providers/Microsoft.ImportExport/locations"); - Endpoints[215] = CreateEndpoint("/providers/Microsoft.ImportExport/operations"); - Endpoints[216] = CreateEndpoint("/providers/Microsoft.InfrastructureInsights.Admin/operations"); - Endpoints[217] = CreateEndpoint("/providers/microsoft.insights/eventcategories"); - Endpoints[218] = CreateEndpoint("/providers/microsoft.insights/operations"); - Endpoints[219] = CreateEndpoint("/providers/Microsoft.Intune/locations"); - Endpoints[220] = CreateEndpoint("/providers/Microsoft.IoTCentral/operations"); - Endpoints[221] = CreateEndpoint("/providers/Microsoft.IoTSpaces/operations"); - Endpoints[222] = CreateEndpoint("/providers/Microsoft.KeyVault.Admin/operations"); - Endpoints[223] = CreateEndpoint("/providers/Microsoft.KeyVault/operations"); - Endpoints[224] = CreateEndpoint("/providers/Microsoft.Logic/operations"); - Endpoints[225] = CreateEndpoint("/providers/Microsoft.MachineLearning/operations"); - Endpoints[226] = CreateEndpoint("/providers/Microsoft.MachineLearningCompute/operations"); - Endpoints[227] = CreateEndpoint("/providers/Microsoft.MachineLearningExperimentation/operations"); - Endpoints[228] = CreateEndpoint("/providers/Microsoft.MachineLearningServices/operations"); - Endpoints[229] = CreateEndpoint("/providers/Microsoft.ManagedIdentity/operations"); - Endpoints[230] = CreateEndpoint("/providers/Microsoft.Management/checkNameAvailability"); - Endpoints[231] = CreateEndpoint("/providers/Microsoft.Management/getEntities"); - Endpoints[232] = CreateEndpoint("/providers/Microsoft.Management/managementGroups"); - Endpoints[233] = CreateEndpoint("/providers/Microsoft.Management/operations"); - Endpoints[234] = CreateEndpoint("/providers/Microsoft.Management/startTenantBackfill"); - Endpoints[235] = CreateEndpoint("/providers/Microsoft.Management/tenantBackfillStatus"); - Endpoints[236] = CreateEndpoint("/providers/Microsoft.ManagementPartner/operations"); - Endpoints[237] = CreateEndpoint("/providers/Microsoft.Maps/operations"); - Endpoints[238] = CreateEndpoint("/providers/Microsoft.MarketplaceOrdering/operations"); - Endpoints[239] = CreateEndpoint("/providers/Microsoft.Media/operations"); - Endpoints[240] = CreateEndpoint("/providers/Microsoft.Migrate/operations"); - Endpoints[241] = CreateEndpoint("/providers/Microsoft.Network/checkTrafficManagerNameAvailability"); - Endpoints[242] = CreateEndpoint("/providers/Microsoft.Network/operations"); - Endpoints[243] = CreateEndpoint("/providers/Microsoft.NotificationHubs/operations"); - Endpoints[244] = CreateEndpoint("/providers/Microsoft.OperationalInsights/operations"); - Endpoints[245] = CreateEndpoint("/providers/Microsoft.OperationsManagement/operations"); - Endpoints[246] = CreateEndpoint("/providers/Microsoft.PolicyInsights/operations"); - Endpoints[247] = CreateEndpoint("/providers/Microsoft.PowerBI/operations"); - Endpoints[248] = CreateEndpoint("/providers/Microsoft.PowerBIDedicated/operations"); - Endpoints[249] = CreateEndpoint("/providers/Microsoft.RecoveryServices/operations"); - Endpoints[250] = CreateEndpoint("/providers/Microsoft.Relay/operations"); - Endpoints[251] = CreateEndpoint("/providers/Microsoft.ResourceHealth/operations"); - Endpoints[252] = CreateEndpoint("/providers/Microsoft.Search/operations"); - Endpoints[253] = CreateEndpoint("/providers/Microsoft.Security/operations"); - Endpoints[254] = CreateEndpoint("/providers/Microsoft.ServiceBus/operations"); - Endpoints[255] = CreateEndpoint("/providers/Microsoft.ServiceFabric/operations"); - Endpoints[256] = CreateEndpoint("/providers/Microsoft.SignalRService/operations"); - Endpoints[257] = CreateEndpoint("/providers/Microsoft.Sql/operations"); - Endpoints[258] = CreateEndpoint("/providers/Microsoft.Storage.Admin/operations"); - Endpoints[259] = CreateEndpoint("/providers/Microsoft.Storage/operations"); - Endpoints[260] = CreateEndpoint("/providers/Microsoft.StorSimple/operations"); - Endpoints[261] = CreateEndpoint("/providers/Microsoft.StreamAnalytics/operations"); - Endpoints[262] = CreateEndpoint("/providers/Microsoft.Subscription/operations"); - Endpoints[263] = CreateEndpoint("/providers/Microsoft.Subscription/subscriptionDefinitions"); - Endpoints[264] = CreateEndpoint("/providers/Microsoft.Subscription/subscriptionOperations"); - Endpoints[265] = CreateEndpoint("/providers/Microsoft.Subscriptions.Admin/operations"); - Endpoints[266] = CreateEndpoint("/providers/Microsoft.Subscriptions/operations"); - Endpoints[267] = CreateEndpoint("/providers/Microsoft.TimeSeriesInsights/operations"); - Endpoints[268] = CreateEndpoint("/providers/Microsoft.Update.Admin/operations"); - Endpoints[269] = CreateEndpoint("/providers/microsoft.visualstudio/operations"); - Endpoints[270] = CreateEndpoint("/providers/Microsoft.Web/availableStacks"); - Endpoints[271] = CreateEndpoint("/providers/Microsoft.Web/operations"); - Endpoints[272] = CreateEndpoint("/providers/Microsoft.Web/sourcecontrols"); - Endpoints[273] = CreateEndpoint("/Tools/Chaos/Events"); - Endpoints[274] = CreateEndpoint("/Tools/Chaos/Schedule"); - Endpoints[275] = CreateEndpoint("/BackupRestore/BackupPolicies/$/Create"); - Endpoints[276] = CreateEndpoint("/contentmoderator/lists/v1.0/imagelists"); - Endpoints[277] = CreateEndpoint("/contentmoderator/lists/v1.0/termlists"); - Endpoints[278] = CreateEndpoint("/providers/Microsoft.ADHybridHealthService/addsservices/premiumCheck"); - Endpoints[279] = CreateEndpoint("/providers/Microsoft.ADHybridHealthService/services/premiumCheck"); - Endpoints[280] = CreateEndpoint("/providers/Microsoft.BotService/botServices/checkNameAvailability"); - Endpoints[281] = CreateEndpoint("/providers/Microsoft.Intune/locations/hostName"); - Endpoints[282] = CreateEndpoint("/providers/Microsoft.Network/trafficManagerGeographicHierarchies/default"); - Endpoints[283] = CreateEndpoint("/providers/Microsoft.Web/publishingUsers/web"); - Endpoints[284] = CreateEndpoint("/Tools/Chaos/$/Report"); - Endpoints[285] = CreateEndpoint("/Tools/Chaos/$/Start"); - Endpoints[286] = CreateEndpoint("/Tools/Chaos/$/Stop"); - Endpoints[287] = CreateEndpoint("/contentmoderator/moderate/v1.0/ProcessImage/Evaluate"); - Endpoints[288] = CreateEndpoint("/contentmoderator/moderate/v1.0/ProcessImage/FindFaces"); - Endpoints[289] = CreateEndpoint("/contentmoderator/moderate/v1.0/ProcessImage/Match"); - Endpoints[290] = CreateEndpoint("/contentmoderator/moderate/v1.0/ProcessImage/OCR"); - Endpoints[291] = CreateEndpoint("/contentmoderator/moderate/v1.0/ProcessText/DetectLanguage"); - Endpoints[292] = CreateEndpoint("/contentmoderator/moderate/v1.0/ProcessText/Screen/"); - Endpoints[293] = CreateEndpoint("/providers/microsoft.insights/eventtypes/management/values"); - Endpoints[294] = CreateEndpoint("/contentmoderator/lists/v1.0/imagelists/{listId}"); - Endpoints[295] = CreateEndpoint("/contentmoderator/lists/v1.0/termlists/{listId}"); - Endpoints[296] = CreateEndpoint("/contentmoderator/lists/v1.0/imagelists/{listId}/images"); - Endpoints[297] = CreateEndpoint("/contentmoderator/lists/v1.0/imagelists/{listId}/RefreshIndex"); - Endpoints[298] = CreateEndpoint("/contentmoderator/lists/v1.0/termlists/{listId}/RefreshIndex"); - Endpoints[299] = CreateEndpoint("/contentmoderator/lists/v1.0/termlists/{listId}/terms"); - Endpoints[300] = CreateEndpoint("/contentmoderator/review/v1.0/teams/{teamName}/jobs"); - Endpoints[301] = CreateEndpoint("/contentmoderator/review/v1.0/teams/{teamName}/reviews"); - Endpoints[302] = CreateEndpoint("/contentmoderator/lists/v1.0/imagelists/{listId}/images/{ImageId}"); - Endpoints[303] = CreateEndpoint("/contentmoderator/lists/v1.0/termlists/{listId}/terms/{term}"); - Endpoints[304] = CreateEndpoint("/contentmoderator/review/v1.0/teams/{teamName}/jobs/{JobId}"); - Endpoints[305] = CreateEndpoint("/contentmoderator/review/v1.0/teams/{teamName}/reviews/{reviewId}"); - Endpoints[306] = CreateEndpoint("/contentmoderator/review/v1.0/teams/{teamName}/reviews/{reviewId}/frames"); - Endpoints[307] = CreateEndpoint("/contentmoderator/review/v1.0/teams/{teamName}/reviews/{reviewId}/publish"); - Endpoints[308] = CreateEndpoint("/contentmoderator/review/v1.0/teams/{teamName}/reviews/{reviewId}/transcript"); - Endpoints[309] = CreateEndpoint("/contentmoderator/review/v1.0/teams/{teamName}/reviews/{reviewId}/transcriptmoderationresult"); - Endpoints[310] = CreateEndpoint("/catalog/usql/databases/{databaseName}"); - Endpoints[311] = CreateEndpoint("/providers/Microsoft.ADHybridHealthService/addsservices/{serviceName}"); - Endpoints[312] = CreateEndpoint("/providers/Microsoft.ADHybridHealthService/services/{serviceName}"); - Endpoints[313] = CreateEndpoint("/providers/Microsoft.Authorization/policyDefinitions/{policyDefinitionName}"); - Endpoints[314] = CreateEndpoint("/providers/Microsoft.Authorization/policySetDefinitions/{policySetDefinitionName}"); - Endpoints[315] = CreateEndpoint("/providers/Microsoft.Authorization/providerOperations/{resourceProviderNamespace}"); - Endpoints[316] = CreateEndpoint("/providers/Microsoft.Billing/enrollmentAccounts/{name}"); - Endpoints[317] = CreateEndpoint("/providers/Microsoft.Capacity/reservationOrders/{reservationOrderId}"); - Endpoints[318] = CreateEndpoint("/providers/Microsoft.DocumentDB/databaseAccountNames/{accountName}"); - Endpoints[319] = CreateEndpoint("/providers/Microsoft.EventGrid/topicTypes/{topicTypeName}"); - Endpoints[320] = CreateEndpoint("/providers/Microsoft.ImportExport/locations/{locationName}"); - Endpoints[321] = CreateEndpoint("/providers/Microsoft.Management/managementGroups/{groupId}"); - Endpoints[322] = CreateEndpoint("/providers/Microsoft.ManagementPartner/partners/{partnerId}"); - Endpoints[323] = CreateEndpoint("/providers/Microsoft.Subscription/subscriptionDefinitions/{subscriptionDefinitionName}"); - Endpoints[324] = CreateEndpoint("/providers/Microsoft.Subscription/subscriptionOperations/{operationId}"); - Endpoints[325] = CreateEndpoint("/providers/Microsoft.Web/sourcecontrols/{sourceControlType}"); - Endpoints[326] = CreateEndpoint("/catalog/usql/databases/{databaseName}/acl"); - Endpoints[327] = CreateEndpoint("/catalog/usql/databases/{databaseName}/assemblies"); - Endpoints[328] = CreateEndpoint("/catalog/usql/databases/{databaseName}/credentials"); - Endpoints[329] = CreateEndpoint("/catalog/usql/databases/{databaseName}/externaldatasources"); - Endpoints[330] = CreateEndpoint("/catalog/usql/databases/{databaseName}/schemas"); - Endpoints[331] = CreateEndpoint("/catalog/usql/databases/{databaseName}/secrets"); - Endpoints[332] = CreateEndpoint("/catalog/usql/databases/{databaseName}/statistics"); - Endpoints[333] = CreateEndpoint("/catalog/usql/databases/{databaseName}/tables"); - Endpoints[334] = CreateEndpoint("/catalog/usql/databases/{databaseName}/tablevaluedfunctions"); - Endpoints[335] = CreateEndpoint("/catalog/usql/databases/{databaseName}/views"); - Endpoints[336] = CreateEndpoint("/providers/Microsoft.ADHybridHealthService/addsservices/{serviceName}/addomainservicemembers"); - Endpoints[337] = CreateEndpoint("/providers/Microsoft.ADHybridHealthService/addsservices/{serviceName}/addsservicemembers"); - Endpoints[338] = CreateEndpoint("/providers/Microsoft.ADHybridHealthService/addsservices/{serviceName}/alerts"); - Endpoints[339] = CreateEndpoint("/providers/Microsoft.ADHybridHealthService/addsservices/{serviceName}/configuration"); - Endpoints[340] = CreateEndpoint("/providers/Microsoft.ADHybridHealthService/addsservices/{serviceName}/forestsummary"); - Endpoints[341] = CreateEndpoint("/providers/Microsoft.ADHybridHealthService/addsservices/{serviceName}/metricmetadata"); - Endpoints[342] = CreateEndpoint("/providers/Microsoft.ADHybridHealthService/addsservices/{serviceName}/replicationstatus"); - Endpoints[343] = CreateEndpoint("/providers/Microsoft.ADHybridHealthService/addsservices/{serviceName}/replicationsummary"); - Endpoints[344] = CreateEndpoint("/providers/Microsoft.ADHybridHealthService/services/{serviceName}/alerts"); - Endpoints[345] = CreateEndpoint("/providers/Microsoft.ADHybridHealthService/services/{serviceName}/exportstatus"); - Endpoints[346] = CreateEndpoint("/providers/Microsoft.ADHybridHealthService/services/{serviceName}/metricmetadata"); - Endpoints[347] = CreateEndpoint("/providers/Microsoft.ADHybridHealthService/services/{serviceName}/monitoringconfiguration"); - Endpoints[348] = CreateEndpoint("/providers/Microsoft.ADHybridHealthService/services/{serviceName}/monitoringconfigurations"); - Endpoints[349] = CreateEndpoint("/providers/Microsoft.ADHybridHealthService/services/{serviceName}/servicemembers"); - Endpoints[350] = CreateEndpoint("/providers/Microsoft.Capacity/reservationOrders/{reservationOrderId}/merge"); - Endpoints[351] = CreateEndpoint("/providers/Microsoft.Capacity/reservationOrders/{reservationOrderId}/reservations"); - Endpoints[352] = CreateEndpoint("/providers/Microsoft.Capacity/reservationOrders/{reservationOrderId}/split"); - Endpoints[353] = CreateEndpoint("/providers/Microsoft.EventGrid/topicTypes/{topicTypeName}/eventTypes"); - Endpoints[354] = CreateEndpoint("/providers/Microsoft.Intune/locations/{hostName}/androidPolicies"); - Endpoints[355] = CreateEndpoint("/providers/Microsoft.Intune/locations/{hostName}/apps"); - Endpoints[356] = CreateEndpoint("/providers/Microsoft.Intune/locations/{hostName}/flaggedUsers"); - Endpoints[357] = CreateEndpoint("/providers/Microsoft.Intune/locations/{hostName}/iosPolicies"); - Endpoints[358] = CreateEndpoint("/providers/Microsoft.Intune/locations/{hostName}/operationResults"); - Endpoints[359] = CreateEndpoint("/providers/Microsoft.ADHybridHealthService/services/{serviceName}/exporterrors/counts"); - Endpoints[360] = CreateEndpoint("/providers/Microsoft.ADHybridHealthService/services/{serviceName}/exporterrors/listV2"); - Endpoints[361] = CreateEndpoint("/providers/Microsoft.Intune/locations/{hostName}/statuses/default"); - Endpoints[362] = CreateEndpoint("/providers/Microsoft.ADHybridHealthService/services/{serviceName}/feedbacktype/alerts/feedback"); - Endpoints[363] = CreateEndpoint("/providers/Microsoft.Billing/billingAccounts/{billingAccountId}/providers/Microsoft.Consumption/balances"); - Endpoints[364] = CreateEndpoint("/providers/Microsoft.Billing/billingAccounts/{billingAccountId}/providers/Microsoft.Consumption/costTags"); - Endpoints[365] = CreateEndpoint("/providers/Microsoft.Billing/billingAccounts/{billingAccountId}/providers/Microsoft.Consumption/marketplaces"); - Endpoints[366] = CreateEndpoint("/providers/Microsoft.Billing/billingAccounts/{billingAccountId}/providers/Microsoft.Consumption/usageDetails"); - Endpoints[367] = CreateEndpoint("/providers/Microsoft.Billing/departments/{departmentId}/providers/Microsoft.Consumption/marketplaces"); - Endpoints[368] = CreateEndpoint("/providers/Microsoft.Billing/departments/{departmentId}/providers/Microsoft.Consumption/usageDetails"); - Endpoints[369] = CreateEndpoint("/providers/Microsoft.Billing/enrollmentAccounts/{enrollmentAccountId}/providers/Microsoft.Consumption/marketplaces"); - Endpoints[370] = CreateEndpoint("/providers/Microsoft.Billing/enrollmentAccounts/{enrollmentAccountId}/providers/Microsoft.Consumption/usageDetails"); - Endpoints[371] = CreateEndpoint("/providers/Microsoft.Billing/enrollmentAccounts/{enrollmentAccountName}/providers/Microsoft.Subscription/createSubscription"); - Endpoints[372] = CreateEndpoint("/providers/Microsoft.Capacity/reservationorders/{reservationOrderId}/providers/Microsoft.Consumption/reservationDetails"); - Endpoints[373] = CreateEndpoint("/providers/Microsoft.Capacity/reservationorders/{reservationOrderId}/providers/Microsoft.Consumption/reservationSummaries"); - Endpoints[374] = CreateEndpoint("/providers/Microsoft.CostManagement/billingAccounts/{billingAccountId}/providers/Microsoft.Consumption/tags"); - Endpoints[375] = CreateEndpoint("/providers/Microsoft.Management/managementgroups/{managementGroupId}/providers/Microsoft.Authorization/policyDefinitions"); - Endpoints[376] = CreateEndpoint("/providers/Microsoft.Management/managementgroups/{managementGroupId}/providers/Microsoft.Authorization/policySetDefinitions"); - Endpoints[377] = CreateEndpoint("/providers/Microsoft.ADHybridHealthService/services/{serviceName}/reports/badpassword/details/user"); - Endpoints[378] = CreateEndpoint("/providers/Microsoft.Management/managementgroups/{managementGroupId}/providers/Microsoft.Authorization/policyDefinitions/{policyDefinitionName}"); - Endpoints[379] = CreateEndpoint("/providers/Microsoft.Management/managementgroups/{managementGroupId}/providers/Microsoft.Authorization/policySetDefinitions/{policySetDefinitionName}"); - Endpoints[380] = CreateEndpoint("/providers/Microsoft.Billing/billingAccounts/{billingAccountId}/providers/Microsoft.Billing/billingPeriods/{billingPeriodName}/providers/Microsoft.Consumption/balances"); - Endpoints[381] = CreateEndpoint("/providers/Microsoft.Billing/billingAccounts/{billingAccountId}/providers/Microsoft.Billing/billingPeriods/{billingPeriodName}/providers/Microsoft.Consumption/marketplaces"); - Endpoints[382] = CreateEndpoint("/providers/Microsoft.Billing/billingAccounts/{billingAccountId}/providers/Microsoft.Billing/billingPeriods/{billingPeriodName}/providers/Microsoft.Consumption/usageDetails"); - Endpoints[383] = CreateEndpoint("/providers/Microsoft.Billing/departments/{departmentId}/providers/Microsoft.Billing/billingPeriods/{billingPeriodName}/providers/Microsoft.Consumption/marketplaces"); - Endpoints[384] = CreateEndpoint("/providers/Microsoft.Billing/departments/{departmentId}/providers/Microsoft.Billing/billingPeriods/{billingPeriodName}/providers/Microsoft.Consumption/usageDetails"); - Endpoints[385] = CreateEndpoint("/providers/Microsoft.Billing/enrollmentAccounts/{enrollmentAccountId}/providers/Microsoft.Billing/billingPeriods/{billingPeriodName}/providers/Microsoft.Consumption/marketplaces"); - Endpoints[386] = CreateEndpoint("/providers/Microsoft.Billing/enrollmentAccounts/{enrollmentAccountId}/providers/Microsoft.Billing/billingPeriods/{billingPeriodName}/providers/Microsoft.Consumption/usageDetails"); - Endpoints[387] = CreateEndpoint("/providers/Microsoft.ADHybridHealthService/services/{serviceName}/feedbacktype/alerts/{shortName}/alertfeedback"); - Endpoints[388] = CreateEndpoint("/catalog/usql/databases/{databaseName}/assemblies/{assemblyName}"); - Endpoints[389] = CreateEndpoint("/catalog/usql/databases/{databaseName}/credentials/{credentialName}"); - Endpoints[390] = CreateEndpoint("/catalog/usql/databases/{databaseName}/externaldatasources/{externalDataSourceName}"); - Endpoints[391] = CreateEndpoint("/catalog/usql/databases/{databaseName}/schemas/{schemaName}"); - Endpoints[392] = CreateEndpoint("/catalog/usql/databases/{databaseName}/secrets/{secretName}"); - Endpoints[393] = CreateEndpoint("/providers/Microsoft.ADHybridHealthService/addsservices/{serviceName}/dimensions/{dimension}"); - Endpoints[394] = CreateEndpoint("/providers/Microsoft.ADHybridHealthService/addsservices/{serviceName}/metricmetadata/{metricName}"); - Endpoints[395] = CreateEndpoint("/providers/Microsoft.ADHybridHealthService/services/{serviceName}/checkServiceFeatureAvailibility/{featureName}"); - Endpoints[396] = CreateEndpoint("/providers/Microsoft.ADHybridHealthService/services/{serviceName}/metricmetadata/{metricName}"); - Endpoints[397] = CreateEndpoint("/providers/Microsoft.ADHybridHealthService/services/{serviceName}/servicemembers/{serviceMemberId}"); - Endpoints[398] = CreateEndpoint("/providers/Microsoft.ADHybridHealthService/services/{serviceName}/TenantWhitelisting/{featureName}"); - Endpoints[399] = CreateEndpoint("/providers/Microsoft.Capacity/reservationOrders/{reservationOrderId}/reservations/{reservationId}"); - Endpoints[400] = CreateEndpoint("/providers/Microsoft.Intune/locations/{hostName}/androidPolicies/{policyName}"); - Endpoints[401] = CreateEndpoint("/providers/Microsoft.Intune/locations/{hostName}/flaggedUsers/{userName}"); - Endpoints[402] = CreateEndpoint("/providers/Microsoft.Intune/locations/{hostName}/iosPolicies/{policyName}"); - Endpoints[403] = CreateEndpoint("/providers/Microsoft.Management/managementGroups/{groupId}/subscriptions/{subscriptionId}"); - Endpoints[404] = CreateEndpoint("/catalog/usql/databases/{databaseName}/schemas/{schemaName}/packages"); - Endpoints[405] = CreateEndpoint("/catalog/usql/databases/{databaseName}/schemas/{schemaName}/procedures"); - Endpoints[406] = CreateEndpoint("/catalog/usql/databases/{databaseName}/schemas/{schemaName}/statistics"); - Endpoints[407] = CreateEndpoint("/catalog/usql/databases/{databaseName}/schemas/{schemaName}/tables"); - Endpoints[408] = CreateEndpoint("/catalog/usql/databases/{databaseName}/schemas/{schemaName}/tabletypes"); - Endpoints[409] = CreateEndpoint("/catalog/usql/databases/{databaseName}/schemas/{schemaName}/tablevaluedfunctions"); - Endpoints[410] = CreateEndpoint("/catalog/usql/databases/{databaseName}/schemas/{schemaName}/types"); - Endpoints[411] = CreateEndpoint("/catalog/usql/databases/{databaseName}/schemas/{schemaName}/views"); - Endpoints[412] = CreateEndpoint("/providers/Microsoft.ADHybridHealthService/addsservices/{serviceName}/servicemembers/{serviceMemberId}/alerts"); - Endpoints[413] = CreateEndpoint("/providers/Microsoft.ADHybridHealthService/service/{serviceName}/servicemembers/{serviceMemberId}/connectors"); - Endpoints[414] = CreateEndpoint("/providers/Microsoft.ADHybridHealthService/services/{serviceName}/servicemembers/{serviceMemberId}/alerts"); - Endpoints[415] = CreateEndpoint("/providers/Microsoft.ADHybridHealthService/services/{serviceName}/servicemembers/{serviceMemberId}/credentials"); - Endpoints[416] = CreateEndpoint("/providers/Microsoft.ADHybridHealthService/services/{serviceName}/servicemembers/{serviceMemberId}/data"); - Endpoints[417] = CreateEndpoint("/providers/Microsoft.ADHybridHealthService/services/{serviceName}/servicemembers/{serviceMemberId}/datafreshness"); - Endpoints[418] = CreateEndpoint("/providers/Microsoft.ADHybridHealthService/services/{serviceName}/servicemembers/{serviceMemberId}/exportstatus"); - Endpoints[419] = CreateEndpoint("/providers/Microsoft.ADHybridHealthService/services/{serviceName}/servicemembers/{serviceMemberId}/globalconfiguration"); - Endpoints[420] = CreateEndpoint("/providers/Microsoft.ADHybridHealthService/services/{serviceName}/servicemembers/{serviceMemberId}/serviceconfiguration"); - Endpoints[421] = CreateEndpoint("/providers/Microsoft.Capacity/reservationOrders/{reservationOrderId}/reservations/{reservationId}/revisions"); - Endpoints[422] = CreateEndpoint("/providers/Microsoft.Intune/locations/{hostName}/AndroidPolicies/{policyName}/apps"); - Endpoints[423] = CreateEndpoint("/providers/Microsoft.Intune/locations/{hostName}/androidPolicies/{policyName}/groups"); - Endpoints[424] = CreateEndpoint("/providers/Microsoft.Intune/locations/{hostName}/flaggedUsers/{userName}/flaggedEnrolledApps"); - Endpoints[425] = CreateEndpoint("/providers/Microsoft.Intune/locations/{hostName}/iosPolicies/{policyName}/apps"); - Endpoints[426] = CreateEndpoint("/providers/Microsoft.Intune/locations/{hostName}/iosPolicies/{policyName}/groups"); - Endpoints[427] = CreateEndpoint("/providers/Microsoft.Intune/locations/{hostName}/users/{userName}/devices"); - Endpoints[428] = CreateEndpoint("/providers/Microsoft.Capacity/reservationorders/{reservationOrderId}/reservations/{reservationId}/providers/Microsoft.Consumption/reservationDetails"); - Endpoints[429] = CreateEndpoint("/providers/Microsoft.Capacity/reservationorders/{reservationOrderId}/reservations/{reservationId}/providers/Microsoft.Consumption/reservationSummaries"); - Endpoints[430] = CreateEndpoint("/catalog/usql/databases/{databaseName}/schemas/{schemaName}/packages/{packageName}"); - Endpoints[431] = CreateEndpoint("/catalog/usql/databases/{databaseName}/schemas/{schemaName}/procedures/{procedureName}"); - Endpoints[432] = CreateEndpoint("/catalog/usql/databases/{databaseName}/schemas/{schemaName}/tables/{tableName}"); - Endpoints[433] = CreateEndpoint("/catalog/usql/databases/{databaseName}/schemas/{schemaName}/tabletypes/{tableTypeName}"); - Endpoints[434] = CreateEndpoint("/catalog/usql/databases/{databaseName}/schemas/{schemaName}/tablevaluedfunctions/{tableValuedFunctionName}"); - Endpoints[435] = CreateEndpoint("/catalog/usql/databases/{databaseName}/schemas/{schemaName}/views/{viewName}"); - Endpoints[436] = CreateEndpoint("/providers/Microsoft.ADHybridHealthService/addsservices/{serviceName}/metricmetadata/{metricName}/groups/{groupName}"); - Endpoints[437] = CreateEndpoint("/providers/Microsoft.ADHybridHealthService/services/{serviceName}/metricmetadata/{metricName}/groups/{groupName}"); - Endpoints[438] = CreateEndpoint("/providers/Microsoft.Intune/locations/{hostName}/androidPolicies/{policyName}/apps/{appName}"); - Endpoints[439] = CreateEndpoint("/providers/Microsoft.Intune/locations/{hostName}/androidPolicies/{policyName}/groups/{groupId}"); - Endpoints[440] = CreateEndpoint("/providers/Microsoft.Intune/locations/{hostName}/iosPolicies/{policyName}/apps/{appName}"); - Endpoints[441] = CreateEndpoint("/providers/Microsoft.Intune/locations/{hostName}/iosPolicies/{policyName}/groups/{groupId}"); - Endpoints[442] = CreateEndpoint("/providers/Microsoft.Intune/locations/{hostName}/users/{userName}/devices/{deviceName}"); - Endpoints[443] = CreateEndpoint("/catalog/usql/databases/{databaseName}/schemas/{schemaName}/tables/{tableName}/partitions"); - Endpoints[444] = CreateEndpoint("/catalog/usql/databases/{databaseName}/schemas/{schemaName}/tables/{tableName}/previewrows"); - Endpoints[445] = CreateEndpoint("/catalog/usql/databases/{databaseName}/schemas/{schemaName}/tables/{tableName}/statistics"); - Endpoints[446] = CreateEndpoint("/catalog/usql/databases/{databaseName}/schemas/{schemaName}/tables/{tableName}/tablefragments"); - Endpoints[447] = CreateEndpoint("/providers/Microsoft.ADHybridHealthService/addsservices/{serviceName}/metrics/{metricName}/groups/{groupName}/average"); - Endpoints[448] = CreateEndpoint("/providers/Microsoft.ADHybridHealthService/addsservices/{serviceName}/metrics/{metricName}/groups/{groupName}/sum"); - Endpoints[449] = CreateEndpoint("/providers/Microsoft.ADHybridHealthService/services/{serviceName}/metrics/{metricName}/groups/{groupName}/average"); - Endpoints[450] = CreateEndpoint("/providers/Microsoft.ADHybridHealthService/services/{serviceName}/metrics/{metricName}/groups/{groupName}/sum"); - Endpoints[451] = CreateEndpoint("/providers/Microsoft.Intune/locations/{hostName}/users/{userName}/devices/{deviceName}/wipe"); - Endpoints[452] = CreateEndpoint("/catalog/usql/databases/{databaseName}/schemas/{schemaName}/tables/{tableName}/partitions/{partitionName}"); - Endpoints[453] = CreateEndpoint("/catalog/usql/databases/{databaseName}/schemas/{schemaName}/tables/{tableName}/statistics/{statisticsName}"); - Endpoints[454] = CreateEndpoint("/providers/Microsoft.ADHybridHealthService/services/{serviceName}/servicemembers/{serviceMemberId}/metrics/{metricName}/groups/{groupName}"); - Endpoints[455] = CreateEndpoint("/catalog/usql/databases/{databaseName}/schemas/{schemaName}/tables/{tableName}/partitions/{partitionName}/previewrows"); - Endpoints[456] = CreateEndpoint("/apps/customprebuiltdomains/{culture}"); - Endpoints[457] = CreateEndpoint("/BackupRestore/BackupPolicies/{backupPolicyName}"); - Endpoints[458] = CreateEndpoint("/certificates/issuers/{issuer-name}"); - Endpoints[459] = CreateEndpoint("/webhdfs/v1/{path}"); - Endpoints[460] = CreateEndpoint("/webhdfs/va/{getContentSummaryFilePath}"); - Endpoints[461] = CreateEndpoint("/BackupRestore/BackupPolicies/{backupPolicyName}/$/Delete"); - Endpoints[462] = CreateEndpoint("/BackupRestore/BackupPolicies/{backupPolicyName}/$/GetBackupEnabledEntities"); - Endpoints[463] = CreateEndpoint("/BackupRestore/BackupPolicies/{backupPolicyName}/$/Update"); - Endpoints[464] = CreateEndpoint("/EventsStore/Applications/{applicationId}/$/Events"); - Endpoints[465] = CreateEndpoint("/EventsStore/CorrelatedEvents/{eventInstanceId}/$/Events"); - Endpoints[466] = CreateEndpoint("/EventsStore/Nodes/{nodeName}/$/Events"); - Endpoints[467] = CreateEndpoint("/EventsStore/Partitions/{partitionId}/$/Events"); - Endpoints[468] = CreateEndpoint("/EventsStore/Services/{serviceId}/$/Events"); - Endpoints[469] = CreateEndpoint("/Faults/Nodes/{nodeName}/$/GetTransitionProgress"); - Endpoints[470] = CreateEndpoint("/Faults/Nodes/{nodeName}/$/StartTransition/"); - Endpoints[471] = CreateEndpoint("/EventsStore/Partitions/{partitionId}/$/Replicas/Events"); - Endpoints[472] = CreateEndpoint("/Services/$/{serviceId}/$/GetPartitions/$/Recover"); - Endpoints[473] = CreateEndpoint("/EventsStore/Partitions/{partitionId}/$/Replicas/{replicaId}/$/Events"); - Endpoints[474] = CreateEndpoint("/Faults/Services/{serviceId}/$/GetPartitions/{partitionId}/$/GetDataLossProgress"); - Endpoints[475] = CreateEndpoint("/Faults/Services/{serviceId}/$/GetPartitions/{partitionId}/$/GetQuorumLossProgress"); - Endpoints[476] = CreateEndpoint("/Faults/Services/{serviceId}/$/GetPartitions/{partitionId}/$/GetRestartProgress"); - Endpoints[477] = CreateEndpoint("/Faults/Services/{serviceId}/$/GetPartitions/{partitionId}/$/StartDataLoss"); - Endpoints[478] = CreateEndpoint("/Faults/Services/{serviceId}/$/GetPartitions/{partitionId}/$/StartQuorumLoss"); - Endpoints[479] = CreateEndpoint("/Faults/Services/{serviceId}/$/GetPartitions/{partitionId}/$/StartRestart"); - Endpoints[480] = CreateEndpoint("/apis/{apiId}"); - Endpoints[481] = CreateEndpoint("/Applications/{applicationId}"); - Endpoints[482] = CreateEndpoint("/ApplicationTypes/{applicationTypeName}"); - Endpoints[483] = CreateEndpoint("/apps/{appId}"); - Endpoints[484] = CreateEndpoint("/authorizationServers/{authsid}"); - Endpoints[485] = CreateEndpoint("/backends/{backendid}"); - Endpoints[486] = CreateEndpoint("/certificates/{certificate-name}"); - Endpoints[487] = CreateEndpoint("/ComposeDeployments/{deploymentName}"); - Endpoints[488] = CreateEndpoint("/deletedcertificates/{certificate-name}"); - Endpoints[489] = CreateEndpoint("/deletedkeys/{key-name}"); - Endpoints[490] = CreateEndpoint("/deletedsecrets/{secret-name}"); - Endpoints[491] = CreateEndpoint("/deletedstorage/{storage-account-name}"); - Endpoints[492] = CreateEndpoint("/domains/{domainId}"); - Endpoints[493] = CreateEndpoint("/facelists/{faceListId}"); - Endpoints[494] = CreateEndpoint("/groups/{groupId}"); - Endpoints[495] = CreateEndpoint("/identityProviders/{identityProviderName}"); - Endpoints[496] = CreateEndpoint("/ImageStore/{contentPath}"); - Endpoints[497] = CreateEndpoint("/Jobs/{jobIdentity}"); - Endpoints[498] = CreateEndpoint("/jobschedules/{jobScheduleId}"); - Endpoints[499] = CreateEndpoint("/keys/{key-name}"); - Endpoints[500] = CreateEndpoint("/loggers/{loggerid}"); - Endpoints[501] = CreateEndpoint("/Names/{nameId}"); - Endpoints[502] = CreateEndpoint("/Nodes/{nodeName}"); - Endpoints[503] = CreateEndpoint("/openidConnectProviders/{opid}"); - Endpoints[504] = CreateEndpoint("/Partitions/{partitionId}"); - Endpoints[505] = CreateEndpoint("/persongroups/{personGroupId}"); - Endpoints[506] = CreateEndpoint("/pipelines/{pipelineIdentity}"); - Endpoints[507] = CreateEndpoint("/policies/{policyId}"); - Endpoints[508] = CreateEndpoint("/pools/{poolId}"); - Endpoints[509] = CreateEndpoint("/products/{productId}"); - Endpoints[510] = CreateEndpoint("/projects/{projectId}"); - Endpoints[511] = CreateEndpoint("/properties/{propId}"); - Endpoints[512] = CreateEndpoint("/quotas/{quotaCounterKey}"); - Endpoints[513] = CreateEndpoint("/recurrences/{recurrenceIdentity}"); - Endpoints[514] = CreateEndpoint("/secrets/{secret-name}"); - Endpoints[515] = CreateEndpoint("/storage/{storage-account-name}"); - Endpoints[516] = CreateEndpoint("/subscriptions/{subscriptionId}"); - Endpoints[517] = CreateEndpoint("/templates/{templateName}"); - Endpoints[518] = CreateEndpoint("/tenant/{accessName}"); - Endpoints[519] = CreateEndpoint("/textOperations/{operationId}"); - Endpoints[520] = CreateEndpoint("/users/{uid}"); - Endpoints[521] = CreateEndpoint("/WebHdfsExt/{path}"); - Endpoints[522] = CreateEndpoint("/apis/{apiId}/operations"); - Endpoints[523] = CreateEndpoint("/apis/{apiId}/policies"); - Endpoints[524] = CreateEndpoint("/apis/{apiId}/products"); - Endpoints[525] = CreateEndpoint("/apis/{apiId}/schemas"); - Endpoints[526] = CreateEndpoint("/apps/{appId}/endpoints"); - Endpoints[527] = CreateEndpoint("/apps/{appId}/metrics"); - Endpoints[528] = CreateEndpoint("/apps/{appId}/permissions"); - Endpoints[529] = CreateEndpoint("/apps/{appId}/publish"); - Endpoints[530] = CreateEndpoint("/apps/{appId}/publishsettings"); - Endpoints[531] = CreateEndpoint("/apps/{appId}/query"); - Endpoints[532] = CreateEndpoint("/apps/{appId}/querylogs"); - Endpoints[533] = CreateEndpoint("/apps/{appId}/settings"); - Endpoints[534] = CreateEndpoint("/apps/{appId}/versions"); - Endpoints[535] = CreateEndpoint("/certificates/{certificate-name}/create"); - Endpoints[536] = CreateEndpoint("/certificates/{certificate-name}/import"); - Endpoints[537] = CreateEndpoint("/certificates/{certificate-name}/pending"); - Endpoints[538] = CreateEndpoint("/certificates/{certificate-name}/policy"); - Endpoints[539] = CreateEndpoint("/certificates/{certificate-name}/versions"); - Endpoints[540] = CreateEndpoint("/delegatedProviders/{delegatedProviderId}/offers"); - Endpoints[541] = CreateEndpoint("/deletedcertificates/{certificate-name}/recover"); - Endpoints[542] = CreateEndpoint("/deletedkeys/{key-name}/recover"); - Endpoints[543] = CreateEndpoint("/deletedsecrets/{secret-name}/recover"); - Endpoints[544] = CreateEndpoint("/deletedstorage/{storage-account-name}/recover"); - Endpoints[545] = CreateEndpoint("/deletedstorage/{storage-account-name}/sas"); - Endpoints[546] = CreateEndpoint("/facelists/{faceListId}/persistedFaces"); - Endpoints[547] = CreateEndpoint("/groups/{groupId}/users"); - Endpoints[548] = CreateEndpoint("/jobs/{jobId}/addtaskcollection"); - Endpoints[549] = CreateEndpoint("/jobs/{jobId}/disable"); - Endpoints[550] = CreateEndpoint("/jobs/{jobId}/enable"); - Endpoints[551] = CreateEndpoint("/jobs/{jobId}/jobpreparationandreleasetaskstatus"); - Endpoints[552] = CreateEndpoint("/jobs/{jobId}/taskcounts"); - Endpoints[553] = CreateEndpoint("/jobs/{jobId}/tasks"); - Endpoints[554] = CreateEndpoint("/jobs/{jobId}/terminate"); - Endpoints[555] = CreateEndpoint("/Jobs/{jobIdentity}/CancelJob"); - Endpoints[556] = CreateEndpoint("/Jobs/{jobIdentity}/GetDebugDataPath"); - Endpoints[557] = CreateEndpoint("/Jobs/{jobIdentity}/GetStatistics"); - Endpoints[558] = CreateEndpoint("/jobs/{jobIdentity}/YieldJob"); - Endpoints[559] = CreateEndpoint("/jobschedules/{jobScheduleId}/disable"); - Endpoints[560] = CreateEndpoint("/jobschedules/{jobScheduleId}/enable"); - Endpoints[561] = CreateEndpoint("/jobschedules/{jobScheduleId}/jobs"); - Endpoints[562] = CreateEndpoint("/jobschedules/{jobScheduleId}/terminate"); - Endpoints[563] = CreateEndpoint("/keys/{key-name}/backup"); - Endpoints[564] = CreateEndpoint("/keys/{key-name}/create"); - Endpoints[565] = CreateEndpoint("/keys/{key-name}/versions"); - Endpoints[566] = CreateEndpoint("/models/{model}/analyze"); - Endpoints[567] = CreateEndpoint("/persongroups/{personGroupId}/persons"); - Endpoints[568] = CreateEndpoint("/persongroups/{personGroupId}/train"); - Endpoints[569] = CreateEndpoint("/persongroups/{personGroupId}/training"); - Endpoints[570] = CreateEndpoint("/pools/{poolId}/disableautoscale"); - Endpoints[571] = CreateEndpoint("/pools/{poolId}/enableautoscale"); - Endpoints[572] = CreateEndpoint("/pools/{poolId}/evaluateautoscale"); - Endpoints[573] = CreateEndpoint("/pools/{poolId}/nodes"); - Endpoints[574] = CreateEndpoint("/pools/{poolId}/removenodes"); - Endpoints[575] = CreateEndpoint("/pools/{poolId}/resize"); - Endpoints[576] = CreateEndpoint("/pools/{poolId}/stopresize"); - Endpoints[577] = CreateEndpoint("/pools/{poolId}/updateproperties"); - Endpoints[578] = CreateEndpoint("/pools/{poolId}/upgradeos"); - Endpoints[579] = CreateEndpoint("/products/{productId}/apis"); - Endpoints[580] = CreateEndpoint("/products/{productId}/groups"); - Endpoints[581] = CreateEndpoint("/products/{productId}/policies"); - Endpoints[582] = CreateEndpoint("/products/{productId}/subscriptions"); - Endpoints[583] = CreateEndpoint("/projects/{projectId}/images"); - Endpoints[584] = CreateEndpoint("/projects/{projectId}/iterations"); - Endpoints[585] = CreateEndpoint("/projects/{projectId}/predictions"); - Endpoints[586] = CreateEndpoint("/projects/{projectId}/tags"); - Endpoints[587] = CreateEndpoint("/projects/{projectId}/train"); - Endpoints[588] = CreateEndpoint("/providers/{resourceProviderNamespace}/operations"); - Endpoints[589] = CreateEndpoint("/secrets/{secret-name}/backup"); - Endpoints[590] = CreateEndpoint("/secrets/{secret-name}/versions"); - Endpoints[591] = CreateEndpoint("/storage/{storage-account-name}/backup"); - Endpoints[592] = CreateEndpoint("/storage/{storage-account-name}/regeneratekey"); - Endpoints[593] = CreateEndpoint("/storage/{storage-account-name}/sas"); - Endpoints[594] = CreateEndpoint("/subscriptions/{sid}/regeneratePrimaryKey"); - Endpoints[595] = CreateEndpoint("/subscriptions/{sid}/regenerateSecondaryKey"); - Endpoints[596] = CreateEndpoint("/subscriptions/{subscriptionId}/locations"); - Endpoints[597] = CreateEndpoint("/subscriptions/{subscriptionId}/providers"); - Endpoints[598] = CreateEndpoint("/subscriptions/{subscriptionId}/resourcegroups"); - Endpoints[599] = CreateEndpoint("/subscriptions/{subscriptionId}/resources"); - Endpoints[600] = CreateEndpoint("/subscriptions/{subscriptionId}/tagNames"); - Endpoints[601] = CreateEndpoint("/tenant/{accessName}/git"); - Endpoints[602] = CreateEndpoint("/tenant/{accessName}/regeneratePrimaryKey"); - Endpoints[603] = CreateEndpoint("/tenant/{accessName}/regenerateSecondaryKey"); - Endpoints[604] = CreateEndpoint("/tenant/{configurationName}/deploy"); - Endpoints[605] = CreateEndpoint("/tenant/{configurationName}/save"); - Endpoints[606] = CreateEndpoint("/tenant/{configurationName}/syncState"); - Endpoints[607] = CreateEndpoint("/tenant/{configurationName}/validate"); - Endpoints[608] = CreateEndpoint("/users/{uid}/generateSsoUrl"); - Endpoints[609] = CreateEndpoint("/users/{uid}/groups"); - Endpoints[610] = CreateEndpoint("/users/{uid}/identities"); - Endpoints[611] = CreateEndpoint("/users/{uid}/subscriptions"); - Endpoints[612] = CreateEndpoint("/users/{uid}/token"); - Endpoints[613] = CreateEndpoint("/workspaces/{workspaceId}/query"); - Endpoints[614] = CreateEndpoint("/Applications/{applicationId}/$/Delete"); - Endpoints[615] = CreateEndpoint("/Applications/{applicationId}/$/DisableBackup"); - Endpoints[616] = CreateEndpoint("/Applications/{applicationId}/$/EnableBackup"); - Endpoints[617] = CreateEndpoint("/Applications/{applicationId}/$/GetBackupConfigurationInfo"); - Endpoints[618] = CreateEndpoint("/Applications/{applicationId}/$/GetBackups"); - Endpoints[619] = CreateEndpoint("/Applications/{applicationId}/$/GetHealth"); - Endpoints[620] = CreateEndpoint("/Applications/{applicationId}/$/GetLoadInformation"); - Endpoints[621] = CreateEndpoint("/Applications/{applicationId}/$/GetServices"); - Endpoints[622] = CreateEndpoint("/Applications/{applicationId}/$/GetUpgradeProgress"); - Endpoints[623] = CreateEndpoint("/Applications/{applicationId}/$/MoveToNextUpgradeDomain"); - Endpoints[624] = CreateEndpoint("/Applications/{applicationId}/$/ReportHealth"); - Endpoints[625] = CreateEndpoint("/Applications/{applicationId}/$/ResumeBackup"); - Endpoints[626] = CreateEndpoint("/Applications/{applicationId}/$/RollbackUpgrade"); - Endpoints[627] = CreateEndpoint("/Applications/{applicationId}/$/SuspendBackup"); - Endpoints[628] = CreateEndpoint("/Applications/{applicationId}/$/UpdateUpgrade"); - Endpoints[629] = CreateEndpoint("/Applications/{applicationId}/$/Upgrade"); - Endpoints[630] = CreateEndpoint("/Applications/{applicationName}/$/MoveNextUpgradeDomain"); - Endpoints[631] = CreateEndpoint("/ApplicationTypes/{applicationTypeName}/$/GetApplicationManifest"); - Endpoints[632] = CreateEndpoint("/ApplicationTypes/{applicationTypeName}/$/GetServiceManifest"); - Endpoints[633] = CreateEndpoint("/ApplicationTypes/{applicationTypeName}/$/GetServiceTypes"); - Endpoints[634] = CreateEndpoint("/ApplicationTypes/{applicationTypeName}/$/Unprovision"); - Endpoints[635] = CreateEndpoint("/apps/{appId}/events/$metadata"); - Endpoints[636] = CreateEndpoint("/apps/{appId}/metrics/metadata"); - Endpoints[637] = CreateEndpoint("/apps/{appId}/query/schema"); - Endpoints[638] = CreateEndpoint("/apps/{appId}/versions/import"); - Endpoints[639] = CreateEndpoint("/certificates/{certificate-name}/pending/merge"); - Endpoints[640] = CreateEndpoint("/ComposeDeployments/{deploymentName}/$/Delete"); - Endpoints[641] = CreateEndpoint("/ComposeDeployments/{deploymentName}/$/GetUpgradeProgress"); - Endpoints[642] = CreateEndpoint("/ComposeDeployments/{deploymentName}/$/Upgrade"); - Endpoints[643] = CreateEndpoint("/ImageStore/{contentPath}/$/GetUploadSession"); - Endpoints[644] = CreateEndpoint("/ImageStore/{contentPath}/$/UploadChunk"); - Endpoints[645] = CreateEndpoint("/Names/{nameId}/$/GetProperties"); - Endpoints[646] = CreateEndpoint("/Names/{nameId}/$/GetProperty"); - Endpoints[647] = CreateEndpoint("/Names/{nameId}/$/GetSubNames"); - Endpoints[648] = CreateEndpoint("/Nodes/{nodeName}/$/Activate"); - Endpoints[649] = CreateEndpoint("/Nodes/{nodeName}/$/Deactivate"); - Endpoints[650] = CreateEndpoint("/Nodes/{nodeName}/$/DeployServicePackage"); - Endpoints[651] = CreateEndpoint("/Nodes/{nodeName}/$/GetApplications"); - Endpoints[652] = CreateEndpoint("/Nodes/{nodeName}/$/GetHealth"); - Endpoints[653] = CreateEndpoint("/Nodes/{nodeName}/$/GetLoadInformation"); - Endpoints[654] = CreateEndpoint("/Nodes/{nodeName}/$/RemoveNodeState"); - Endpoints[655] = CreateEndpoint("/Nodes/{nodeName}/$/ReportHealth"); - Endpoints[656] = CreateEndpoint("/Nodes/{nodeName}/$/Restart"); - Endpoints[657] = CreateEndpoint("/Nodes/{nodeName}/$/Start"); - Endpoints[658] = CreateEndpoint("/Nodes/{nodeName}/$/Stop"); - Endpoints[659] = CreateEndpoint("/Partitions/{partitionId}/$/Backup"); - Endpoints[660] = CreateEndpoint("/Partitions/{partitionId}/$/DisableBackup"); - Endpoints[661] = CreateEndpoint("/Partitions/{partitionId}/$/EnableBackup"); - Endpoints[662] = CreateEndpoint("/Partitions/{partitionId}/$/GetBackupConfigurationInfo"); - Endpoints[663] = CreateEndpoint("/Partitions/{partitionId}/$/GetBackupProgress"); - Endpoints[664] = CreateEndpoint("/Partitions/{partitionId}/$/GetBackups"); - Endpoints[665] = CreateEndpoint("/Partitions/{partitionId}/$/GetHealth"); - Endpoints[666] = CreateEndpoint("/Partitions/{partitionId}/$/GetLoadInformation"); - Endpoints[667] = CreateEndpoint("/Partitions/{partitionId}/$/GetReplicas"); - Endpoints[668] = CreateEndpoint("/Partitions/{partitionId}/$/GetRestoreProgress"); - Endpoints[669] = CreateEndpoint("/Partitions/{partitionId}/$/GetServiceName"); - Endpoints[670] = CreateEndpoint("/Partitions/{partitionId}/$/Recover"); - Endpoints[671] = CreateEndpoint("/Partitions/{partitionId}/$/ReportHealth"); - Endpoints[672] = CreateEndpoint("/Partitions/{partitionId}/$/ResetLoad"); - Endpoints[673] = CreateEndpoint("/Partitions/{partitionId}/$/Restore"); - Endpoints[674] = CreateEndpoint("/Partitions/{partitionId}/$/ResumeBackup"); - Endpoints[675] = CreateEndpoint("/Partitions/{partitionId}/$/SuspendBackup"); - Endpoints[676] = CreateEndpoint("/projects/{projectId}/images/files"); - Endpoints[677] = CreateEndpoint("/projects/{projectId}/images/id"); - Endpoints[678] = CreateEndpoint("/projects/{projectId}/images/predictions"); - Endpoints[679] = CreateEndpoint("/projects/{projectId}/images/regions"); - Endpoints[680] = CreateEndpoint("/projects/{projectId}/images/tagged"); - Endpoints[681] = CreateEndpoint("/projects/{projectId}/images/tags"); - Endpoints[682] = CreateEndpoint("/projects/{projectId}/images/untagged"); - Endpoints[683] = CreateEndpoint("/projects/{projectId}/images/urls"); - Endpoints[684] = CreateEndpoint("/projects/{projectId}/predictions/query"); - Endpoints[685] = CreateEndpoint("/projects/{projectId}/quicktest/image"); - Endpoints[686] = CreateEndpoint("/projects/{projectId}/quicktest/url"); - Endpoints[687] = CreateEndpoint("/Services/{serviceId}/$/Delete"); - Endpoints[688] = CreateEndpoint("/Services/{serviceId}/$/DisableBackup"); - Endpoints[689] = CreateEndpoint("/Services/{serviceId}/$/EnableBackup"); - Endpoints[690] = CreateEndpoint("/Services/{serviceId}/$/GetApplicationName"); - Endpoints[691] = CreateEndpoint("/Services/{serviceId}/$/GetBackupConfigurationInfo"); - Endpoints[692] = CreateEndpoint("/Services/{serviceId}/$/GetBackups"); - Endpoints[693] = CreateEndpoint("/Services/{serviceId}/$/GetDescription"); - Endpoints[694] = CreateEndpoint("/Services/{serviceId}/$/GetHealth"); - Endpoints[695] = CreateEndpoint("/Services/{serviceId}/$/GetPartitions"); - Endpoints[696] = CreateEndpoint("/Services/{serviceId}/$/ReportHealth"); - Endpoints[697] = CreateEndpoint("/Services/{serviceId}/$/ResolvePartition"); - Endpoints[698] = CreateEndpoint("/Services/{serviceId}/$/ResumeBackup"); - Endpoints[699] = CreateEndpoint("/Services/{serviceId}/$/SuspendBackup"); - Endpoints[700] = CreateEndpoint("/Services/{serviceId}/$/Update"); - Endpoints[701] = CreateEndpoint("/tenant/{accessName}/git/regeneratePrimaryKey"); - Endpoints[702] = CreateEndpoint("/tenant/{accessName}/git/regenerateSecondaryKey"); - Endpoints[703] = CreateEndpoint("/projects/{projectId}/images/tagged/count"); - Endpoints[704] = CreateEndpoint("/projects/{projectId}/images/untagged/count"); - Endpoints[705] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.AAD/domainServices"); - Endpoints[706] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.Advisor/configurations"); - Endpoints[707] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.Advisor/generateRecommendations"); - Endpoints[708] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.Advisor/recommendations"); - Endpoints[709] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.Advisor/suppressions"); - Endpoints[710] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.AnalysisServices/servers"); - Endpoints[711] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.AnalysisServices/skus"); - Endpoints[712] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.ApiManagement/checkNameAvailability"); - Endpoints[713] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.ApiManagement/service"); - Endpoints[714] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.Authorization/classicAdministrators"); - Endpoints[715] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.Authorization/locks"); - Endpoints[716] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.Authorization/policyAssignments"); - Endpoints[717] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.Authorization/policyDefinitions"); - Endpoints[718] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.Authorization/policySetDefinitions"); - Endpoints[719] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.Authorization/roleAssignments"); - Endpoints[720] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.Automation/automationAccounts"); - Endpoints[721] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.Batch/batchAccounts"); - Endpoints[722] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.BatchAI/clusters"); - Endpoints[723] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.BatchAI/fileServers"); - Endpoints[724] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.BatchAI/jobs"); - Endpoints[725] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.BatchAI/workspaces"); - Endpoints[726] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.Billing/billingPeriods"); - Endpoints[727] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.Billing/invoices"); - Endpoints[728] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.BotService/botServices"); - Endpoints[729] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.Cache/CheckNameAvailability"); - Endpoints[730] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.Cache/Redis"); - Endpoints[731] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.Capacity/appliedReservations"); - Endpoints[732] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.Capacity/catalogs"); - Endpoints[733] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.Cdn/checkNameAvailability"); - Endpoints[734] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.Cdn/checkResourceUsage"); - Endpoints[735] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.Cdn/profiles"); - Endpoints[736] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.Cdn/validateProbe"); - Endpoints[737] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.CertificateRegistration/certificateOrders"); - Endpoints[738] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.CertificateRegistration/validateCertificateRegistrationInformation"); - Endpoints[739] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.CognitiveServices/accounts"); - Endpoints[740] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.CognitiveServices/skus"); - Endpoints[741] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.Commerce.Admin/subscriberUsageAggregates"); - Endpoints[742] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.Commerce.Admin/updateEncryption"); - Endpoints[743] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.Commerce/RateCard"); - Endpoints[744] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.Commerce/UsageAggregates"); - Endpoints[745] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.Compute/disks"); - Endpoints[746] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.Compute/galleries"); - Endpoints[747] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.Compute/images"); - Endpoints[748] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.Compute/skus"); - Endpoints[749] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.Compute/snapshots"); - Endpoints[750] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.Compute/virtualMachines"); - Endpoints[751] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.Compute/virtualMachineScaleSets"); - Endpoints[752] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.Consumption/budgets"); - Endpoints[753] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.Consumption/forecasts"); - Endpoints[754] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.Consumption/marketplaces"); - Endpoints[755] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.Consumption/reservationRecommendations"); - Endpoints[756] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.Consumption/usageDetails"); - Endpoints[757] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.ContainerInstance/containerGroups"); - Endpoints[758] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.ContainerRegistry/checkNameAvailability"); - Endpoints[759] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.ContainerRegistry/registries"); - Endpoints[760] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.ContainerService/containerServices"); - Endpoints[761] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.ContainerService/managedClusters"); - Endpoints[762] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.CustomerInsights/hubs"); - Endpoints[763] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.DataBox/jobs"); - Endpoints[764] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.Databricks/workspaces"); - Endpoints[765] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.DataFactory/factories"); - Endpoints[766] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.DataLakeAnalytics/accounts"); - Endpoints[767] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.DataLakeStore/accounts"); - Endpoints[768] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.DataMigration/services"); - Endpoints[769] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.DataMigration/skus"); - Endpoints[770] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.DBforMySQL/checkNameAvailability"); - Endpoints[771] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.DBforMySQL/performanceTiers"); - Endpoints[772] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.DBforMySQL/servers"); - Endpoints[773] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.DBforPostgreSQL/checkNameAvailability"); - Endpoints[774] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.DBforPostgreSQL/performanceTiers"); - Endpoints[775] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.DBforPostgreSQL/servers"); - Endpoints[776] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.Devices/checkNameAvailability"); - Endpoints[777] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.Devices/checkProvisioningServiceNameAvailability"); - Endpoints[778] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.Devices/IotHubs"); - Endpoints[779] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.Devices/provisioningServices"); - Endpoints[780] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.Devices/usages"); - Endpoints[781] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.DevTestLab/labs"); - Endpoints[782] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.DevTestLab/schedules"); - Endpoints[783] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.DocumentDB/databaseAccounts"); - Endpoints[784] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.DomainRegistration/checkDomainAvailability"); - Endpoints[785] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.DomainRegistration/domains"); - Endpoints[786] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.DomainRegistration/generateSsoRequest"); - Endpoints[787] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.DomainRegistration/listDomainRecommendations"); - Endpoints[788] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.DomainRegistration/topLevelDomains"); - Endpoints[789] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.DomainRegistration/validateDomainRegistrationInformation"); - Endpoints[790] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.EventGrid/eventSubscriptions"); - Endpoints[791] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.EventGrid/topics"); - Endpoints[792] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.EventHub/CheckNameAvailability"); - Endpoints[793] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.EventHub/CheckNamespaceAvailability"); - Endpoints[794] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.EventHub/namespaces"); - Endpoints[795] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.Features/features"); - Endpoints[796] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/microsoft.gallery.admin/galleryItems"); - Endpoints[797] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.HanaOnAzure/hanaInstances"); - Endpoints[798] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.HDInsight/clusters"); - Endpoints[799] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.ImportExport/jobs"); - Endpoints[800] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/microsoft.insights/actionGroups"); - Endpoints[801] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/microsoft.insights/activityLogAlerts"); - Endpoints[802] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.Insights/components"); - Endpoints[803] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/microsoft.insights/listMigrationdate"); - Endpoints[804] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/microsoft.insights/logprofiles"); - Endpoints[805] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.Insights/metricAlerts"); - Endpoints[806] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/microsoft.insights/migrateToNewPricingModel"); - Endpoints[807] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/microsoft.insights/rollbackToLegacyPricingModel"); - Endpoints[808] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/microsoft.insights/scheduledQueryRules"); - Endpoints[809] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.Insights/webtests"); - Endpoints[810] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.IoTCentral/checkNameAvailability"); - Endpoints[811] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.IoTCentral/IoTApps"); - Endpoints[812] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.IoTSpaces/checkNameAvailability"); - Endpoints[813] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.IoTSpaces/Graph"); - Endpoints[814] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.KeyVault/checkNameAvailability"); - Endpoints[815] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.KeyVault/deletedVaults"); - Endpoints[816] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.KeyVault/vaults"); - Endpoints[817] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.Logic/integrationAccounts"); - Endpoints[818] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.Logic/workflows"); - Endpoints[819] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.MachineLearning/commitmentPlans"); - Endpoints[820] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.MachineLearning/skus"); - Endpoints[821] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.MachineLearning/webServices"); - Endpoints[822] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.MachineLearning/workspaces"); - Endpoints[823] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.MachineLearningCompute/operationalizationClusters"); - Endpoints[824] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.MachineLearningExperimentation/accounts"); - Endpoints[825] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.MachineLearningServices/workspaces"); - Endpoints[826] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.ManagedIdentity/userAssignedIdentities"); - Endpoints[827] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.Maps/accounts"); - Endpoints[828] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.Media/CheckNameAvailability"); - Endpoints[829] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.Media/mediaservices"); - Endpoints[830] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.Network.Admin/adminLoadBalancers"); - Endpoints[831] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.Network.Admin/adminOverview"); - Endpoints[832] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.Network.Admin/adminPublicIpAddresses"); - Endpoints[833] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.Network.Admin/adminVirtualNetworks"); - Endpoints[834] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.Network/applicationGatewayAvailableWafRuleSets"); - Endpoints[835] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.Network/applicationGateways"); - Endpoints[836] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.Network/applicationSecurityGroups"); - Endpoints[837] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.Network/bgpServiceCommunities"); - Endpoints[838] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.Network/ddosProtectionPlans"); - Endpoints[839] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.Network/dnszones"); - Endpoints[840] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.Network/expressRouteCircuits"); - Endpoints[841] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.Network/expressRouteCrossConnections"); - Endpoints[842] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.Network/expressRouteServiceProviders"); - Endpoints[843] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.Network/loadBalancers"); - Endpoints[844] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.Network/networkInterfaces"); - Endpoints[845] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.Network/networkSecurityGroups"); - Endpoints[846] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.Network/networkWatchers"); - Endpoints[847] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.Network/publicIPAddresses"); - Endpoints[848] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.Network/routeFilters"); - Endpoints[849] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.Network/routeTables"); - Endpoints[850] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.Network/trafficmanagerprofiles"); - Endpoints[851] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.Network/trafficManagerUserMetricsKeys"); - Endpoints[852] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.Network/virtualNetworks"); - Endpoints[853] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.NotificationHubs/checkNamespaceAvailability"); - Endpoints[854] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.NotificationHubs/namespaces"); - Endpoints[855] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.OperationalInsights/linkTargets"); - Endpoints[856] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.OperationalInsights/workspaces"); - Endpoints[857] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.OperationsManagement/ManagementAssociations"); - Endpoints[858] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.OperationsManagement/ManagementConfigurations"); - Endpoints[859] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.OperationsManagement/solutions"); - Endpoints[860] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.PowerBI/workspaceCollections"); - Endpoints[861] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.PowerBIDedicated/capacities"); - Endpoints[862] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.PowerBIDedicated/skus"); - Endpoints[863] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.RecoveryServices/vaults"); - Endpoints[864] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.Relay/checkNameAvailability"); - Endpoints[865] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.Relay/namespaces"); - Endpoints[866] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.ResourceHealth/availabilityStatuses"); - Endpoints[867] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.Resources/links"); - Endpoints[868] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.Scheduler/jobCollections"); - Endpoints[869] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.Search/checkNameAvailability"); - Endpoints[870] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.Security/alerts"); - Endpoints[871] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.Security/autoProvisioningSettings"); - Endpoints[872] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.Security/discoveredSecuritySolutions"); - Endpoints[873] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.Security/externalSecuritySolutions"); - Endpoints[874] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.Security/jitNetworkAccessPolicies"); - Endpoints[875] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.Security/locations"); - Endpoints[876] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.Security/pricings"); - Endpoints[877] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.Security/securityContacts"); - Endpoints[878] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.Security/tasks"); - Endpoints[879] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.Security/workspaceSettings"); - Endpoints[880] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.ServerManagement/gateways"); - Endpoints[881] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.ServerManagement/nodes"); - Endpoints[882] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.ServiceBus/CheckNameAvailability"); - Endpoints[883] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.ServiceBus/CheckNameSpaceAvailability"); - Endpoints[884] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.ServiceBus/namespaces"); - Endpoints[885] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.ServiceBus/premiumMessagingRegions"); - Endpoints[886] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.ServiceFabric/clusters"); - Endpoints[887] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.SignalRService/SignalR"); - Endpoints[888] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.Solutions/appliances"); - Endpoints[889] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.Solutions/applications"); - Endpoints[890] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.Sql/checkNameAvailability"); - Endpoints[891] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.Sql/managedInstances"); - Endpoints[892] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.Sql/servers"); - Endpoints[893] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.Storage/checkNameAvailability"); - Endpoints[894] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.Storage/skus"); - Endpoints[895] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.Storage/storageAccounts"); - Endpoints[896] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.Storage/usages"); - Endpoints[897] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.StorSimple/managers"); - Endpoints[898] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.StreamAnalytics/streamingjobs"); - Endpoints[899] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.Subscriptions.Admin/checkNameAvailability"); - Endpoints[900] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.Subscriptions.Admin/delegatedProviders"); - Endpoints[901] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.Subscriptions.Admin/locations"); - Endpoints[902] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.Subscriptions.Admin/moveSubscriptions"); - Endpoints[903] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.Subscriptions.Admin/offers"); - Endpoints[904] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.Subscriptions.Admin/plans"); - Endpoints[905] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.Subscriptions.Admin/restoreData"); - Endpoints[906] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.Subscriptions.Admin/subscriptions"); - Endpoints[907] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.Subscriptions.Admin/updateEncryption"); - Endpoints[908] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.Subscriptions.Admin/validateMoveSubscriptions"); - Endpoints[909] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.TimeSeriesInsights/environments"); - Endpoints[910] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/microsoft.visualstudio/checkNameAvailability"); - Endpoints[911] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.Web/availableStacks"); - Endpoints[912] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.Web/billingMeters"); - Endpoints[913] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.Web/certificates"); - Endpoints[914] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.Web/checknameavailability"); - Endpoints[915] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.Web/classicMobileServices"); - Endpoints[916] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.Web/connectionGateways"); - Endpoints[917] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.Web/customApis"); - Endpoints[918] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.Web/deletedSites"); - Endpoints[919] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.Web/deploymentLocations"); - Endpoints[920] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.Web/geoRegions"); - Endpoints[921] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.Web/hostingEnvironments"); - Endpoints[922] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.Web/ishostingenvironmentnameavailable"); - Endpoints[923] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.Web/listSitesAssignedToHostName"); - Endpoints[924] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.Web/managedHostingEnvironments"); - Endpoints[925] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.Web/premieraddonoffers"); - Endpoints[926] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.Web/publishingCredentials"); - Endpoints[927] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.Web/recommendations"); - Endpoints[928] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.Web/resourceHealthMetadata"); - Endpoints[929] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.Web/serverfarms"); - Endpoints[930] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.Web/sites"); - Endpoints[931] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.Web/skus"); - Endpoints[932] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.Web/verifyHostingEnvironmentVnet"); - Endpoints[933] = CreateEndpoint("/Applications/{applicationId}/$/GetServices/$/Create"); - Endpoints[934] = CreateEndpoint("/Applications/{applicationId}/$/GetServices/$/CreateFromTemplate"); - Endpoints[935] = CreateEndpoint("/Applications/{applicationName}/$/GetServiceGroups/$/CreateServiceGroupFromTemplate"); - Endpoints[936] = CreateEndpoint("/Applications/{applicationName}/$/GetServices/$/CreateServiceGroup"); - Endpoints[937] = CreateEndpoint("/Names/{nameId}/$/GetProperties/$/SubmitBatch"); - Endpoints[938] = CreateEndpoint("/Services/{serviceName}/$/GetPartitions/$/Recover"); - Endpoints[939] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.Billing/invoices/latest"); - Endpoints[940] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.Consumption/pricesheets/default"); - Endpoints[941] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.Network/applicationGatewayAvailableSslOptions/default"); - Endpoints[942] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.Web/recommendations/reset"); - Endpoints[943] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.Addons/supportProviders/canonical/listSupportPlanInfo"); - Endpoints[944] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/microsoft.insights/eventtypes/management/values"); - Endpoints[945] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.Network/applicationGatewayAvailableSslOptions/default/predefinedPolicies"); - Endpoints[946] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.Network/applicationGatewayAvailableSslOptions/default/predefinedPolicies/{predefinedPolicyName}"); - Endpoints[947] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.Advisor/generateRecommendations/{operationId}"); - Endpoints[948] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.Authorization/locks/{lockName}"); - Endpoints[949] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.Authorization/policydefinitions/{policyDefinitionName}"); - Endpoints[950] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.Authorization/policySetDefinitions/{policySetDefinitionName}"); - Endpoints[951] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.Billing/billingPeriods/{billingPeriodName}"); - Endpoints[952] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.Billing/invoices/{invoiceName}"); - Endpoints[953] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.Consumption/budgets/{budgetName}"); - Endpoints[954] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.DomainRegistration/topLevelDomains/{name}"); - Endpoints[955] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/microsoft.gallery.admin/galleryItems/{galleryItemName}"); - Endpoints[956] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/microsoft.insights/logprofiles/{logProfileName}"); - Endpoints[957] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.Media/mediaservices/{accountName}"); - Endpoints[958] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.Security/autoProvisioningSettings/{settingName}"); - Endpoints[959] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.Security/locations/{ascLocation}"); - Endpoints[960] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.Security/pricings/{pricingName}"); - Endpoints[961] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.Security/workspaceSettings/{workspaceSettingName}"); - Endpoints[962] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.Subscriptions.Admin/delegatedProviders/{delegatedProvider}"); - Endpoints[963] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.Subscriptions.Admin/locations/{location}"); - Endpoints[964] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.Subscriptions.Admin/subscriptions/{subscription}"); - Endpoints[965] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.Web/ishostingenvironmentnameavailable/{name}"); - Endpoints[966] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.Addons/supportProviders/{providerName}/supportPlanTypes"); - Endpoints[967] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.AnalysisServices/locations/{location}/checkNameAvailability"); - Endpoints[968] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.Batch/locations/{locationName}/checkNameAvailability"); - Endpoints[969] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.Batch/locations/{locationName}/quotas"); - Endpoints[970] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.BatchAI/locations/{location}/usages"); - Endpoints[971] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.CognitiveServices/locations/{location}/checkSkuAvailability"); - Endpoints[972] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.Compute.Admin/locations/{location}/quotas"); - Endpoints[973] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.Compute/locations/{location}/publishers"); - Endpoints[974] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.Compute/locations/{location}/runCommands"); - Endpoints[975] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.Compute/locations/{location}/usages"); - Endpoints[976] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.Compute/locations/{location}/vmSizes"); - Endpoints[977] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.ContainerInstance/locations/{location}/usages"); - Endpoints[978] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.ContainerService/locations/{location}/orchestrators"); - Endpoints[979] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.DataBox/locations/{location}/availableSkus"); - Endpoints[980] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.DataBox/locations/{location}/validateAddress"); - Endpoints[981] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.DataFactory/locations/{locationId}/configureFactoryRepo"); - Endpoints[982] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.DataLakeAnalytics/locations/{location}/capability"); - Endpoints[983] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.DataLakeAnalytics/locations/{location}/checkNameAvailability"); - Endpoints[984] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.DataLakeStore/locations/{location}/capability"); - Endpoints[985] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.DataLakeStore/locations/{location}/checkNameAvailability"); - Endpoints[986] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.DataMigration/locations/{location}/checkNameAvailability"); - Endpoints[987] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.DataMigration/locations/{location}/usages"); - Endpoints[988] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.DBforMySQL/locations/{locationName}/performanceTiers"); - Endpoints[989] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.DBforPostgreSQL/locations/{locationName}/performanceTiers"); - Endpoints[990] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.DomainRegistration/topLevelDomains/{name}/listAgreements"); - Endpoints[991] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.EventGrid/locations/{location}/eventSubscriptions"); - Endpoints[992] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.EventGrid/topicTypes/{topicTypeName}/eventSubscriptions"); - Endpoints[993] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.EventHub/sku/{sku}/regions"); - Endpoints[994] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.Features/providers/{resourceProviderNamespace}/features"); - Endpoints[995] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.HDInsight/locations/{location}/capabilities"); - Endpoints[996] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.KeyVault.Admin/locations/{location}/quotas"); - Endpoints[997] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.Media/locations/{locationName}/checkNameAvailability"); - Endpoints[998] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.Network.Admin/locations/{location}/quotas"); - Endpoints[999] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.Network/locations/{location}/CheckDnsNameAvailability"); - Endpoints[1000] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.Network/locations/{location}/usages"); - Endpoints[1001] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.Network/locations/{location}/virtualNetworkAvailableEndpointServices"); - Endpoints[1002] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.PolicyInsights/policyEvents/{policyEventsResource}/queryResults"); - Endpoints[1003] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.PolicyInsights/policyStates/{policyStatesResource}/queryResults"); - Endpoints[1004] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.PolicyInsights/policyStates/{policyStatesSummaryResource}/summarize"); - Endpoints[1005] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.PowerBI/locations/{location}/checkNameAvailability"); - Endpoints[1006] = CreateEndpoint("/Subscriptions/{subscriptionId}/providers/Microsoft.RecoveryServices/locations/{azureRegion}/backupPreValidateProtection"); - Endpoints[1007] = CreateEndpoint("/Subscriptions/{subscriptionId}/providers/Microsoft.RecoveryServices/locations/{azureRegion}/backupStatus"); - Endpoints[1008] = CreateEndpoint("/Subscriptions/{subscriptionId}/providers/Microsoft.RecoveryServices/locations/{azureRegion}/backupValidateFeatures"); - Endpoints[1009] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.Security/locations/{ascLocation}/alerts"); - Endpoints[1010] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.Security/locations/{ascLocation}/discoveredSecuritySolutions"); - Endpoints[1011] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.Security/locations/{ascLocation}/ExternalSecuritySolutions"); - Endpoints[1012] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.Security/locations/{ascLocation}/jitNetworkAccessPolicies"); - Endpoints[1013] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.Security/locations/{ascLocation}/tasks"); - Endpoints[1014] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.ServiceBus/sku/{sku}/regions"); - Endpoints[1015] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.ServiceFabric/locations/{location}/clusterVersions"); - Endpoints[1016] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.SignalRService/locations/{location}/checkNameAvailability"); - Endpoints[1017] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.Sql/locations/{locationName}/capabilities"); - Endpoints[1018] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.Sql/locations/{locationName}/longTermRetentionBackups"); - Endpoints[1019] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.Sql/locations/{locationName}/syncDatabaseIds"); - Endpoints[1020] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.Sql/locations/{locationName}/usages"); - Endpoints[1021] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.Storage.Admin/locations/{location}/quotas"); - Endpoints[1022] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.Storage/locations/{location}/usages"); - Endpoints[1023] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.StreamAnalytics/locations/{location}/quotas"); - Endpoints[1024] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.Subscriptions.Admin/delegatedProviders/{delegatedProviderSubscriptionId}/offers"); - Endpoints[1025] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.Subscriptions.Admin/locations/{location}/quotas"); - Endpoints[1026] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.Subscriptions.Admin/subscriptions/{targetSubscriptionId}/acquiredPlans"); - Endpoints[1027] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.Web/locations/{location}/connectionGatewayInstallations"); - Endpoints[1028] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.Web/locations/{location}/extractApiDefinitionFromWsdl"); - Endpoints[1029] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.Web/locations/{location}/listWsdlInterfaces"); - Endpoints[1030] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.Web/locations/{location}/managedApis"); - Endpoints[1031] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.Web/recommendations/{name}/disable"); - Endpoints[1032] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.Compute.Admin/locations/{location}/artifactTypes/platformImage"); - Endpoints[1033] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.Compute.Admin/locations/{location}/artifactTypes/VMExtension"); - Endpoints[1034] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.Billing/billingPeriods/{billingPeriodName}/providers/Microsoft.Consumption/marketplaces"); - Endpoints[1035] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.Billing/billingPeriods/{billingPeriodName}/providers/Microsoft.Consumption/usageDetails"); - Endpoints[1036] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.Compute/locations/{location}/logAnalytics/apiAccess/getRequestRateByInterval"); - Endpoints[1037] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.Compute/locations/{location}/logAnalytics/apiAccess/getThrottledRequests"); - Endpoints[1038] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.Billing/billingPeriods/{billingPeriodName}/providers/Microsoft.Consumption/pricesheets/default"); - Endpoints[1039] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.Compute.Admin/locations/{location}/artifactTypes/VMExtension/publishers/{publisher}/types/{type}/versions/{version}"); - Endpoints[1040] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.Compute.Admin/locations/{location}/artifactTypes/platformImage/publishers/{publisher}/offers/{offer}/skus/{sku}/versions/{version}"); - Endpoints[1041] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.Addons/supportProviders/{providerName}/supportPlanTypes/{planTypeName}"); - Endpoints[1042] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.AnalysisServices/locations/{location}/operationresults/{operationId}"); - Endpoints[1043] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.AnalysisServices/locations/{location}/operationstatuses/{operationId}"); - Endpoints[1044] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.Compute.Admin/locations/{location}/quotas/{quotaName}"); - Endpoints[1045] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.Compute/locations/{location}/runCommands/{commandId}"); - Endpoints[1046] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.DevTestLab/locations/{locationName}/operations/{name}"); - Endpoints[1047] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.Features/providers/{resourceProviderNamespace}/features/{featureName}"); - Endpoints[1048] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.KeyVault/locations/{location}/deletedVaults/{vaultName}"); - Endpoints[1049] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.Network.Admin/locations/{location}/quotas/{resourceName}"); - Endpoints[1050] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.Security/locations/{ascLocation}/alerts/{alertName}"); - Endpoints[1051] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.Security/locations/{ascLocation}/tasks/{taskName}"); - Endpoints[1052] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.ServiceFabric/locations/{location}/clusterVersions/{clusterVersion}"); - Endpoints[1053] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.Sql/locations/{locationName}/usages/{usageName}"); - Endpoints[1054] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.Storage.Admin/locations/{location}/quotas/{quotaName}"); - Endpoints[1055] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.Subscriptions.Admin/delegatedProviders/{delegatedProviderSubscriptionId}/offers/{offer}"); - Endpoints[1056] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.Subscriptions.Admin/locations/{location}/quotas/{quota}"); - Endpoints[1057] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.Subscriptions.Admin/subscriptions/{targetSubscriptionId}/acquiredPlans/{planAcquisitionId}"); - Endpoints[1058] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.Web/locations/{location}/connectionGatewayInstallations/{gatewayId}"); - Endpoints[1059] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.Web/locations/{location}/managedApis/{apiName}"); - Endpoints[1060] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.EventGrid/locations/{location}/topicTypes/{topicTypeName}/eventSubscriptions"); - Endpoints[1061] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.Features/providers/{resourceProviderNamespace}/features/{featureName}/register"); - Endpoints[1062] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.KeyVault/locations/{location}/deletedVaults/{vaultName}/purge"); - Endpoints[1063] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.ServiceFabric/locations/{location}/environments/{environment}/clusterVersions"); - Endpoints[1064] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.Sql/locations/{locationName}/longTermRetentionServers/{longTermRetentionServerName}/longTermRetentionBackups"); - Endpoints[1065] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.Sql/locations/{locationName}/managedDatabaseRestoreAzureAsyncOperation/{operationId}/completeRestore"); - Endpoints[1066] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.Compute/locations/{location}/publishers/{publisherName}/artifacttypes/vmextension/types"); - Endpoints[1067] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.Compute/locations/{location}/publishers/{publisherName}/artifacttypes/vmimage/offers"); - Endpoints[1068] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.Compute/locations/{location}/publishers/{publisherName}/artifacttypes/vmextension/types/{type}/versions"); - Endpoints[1069] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.Compute/locations/{location}/publishers/{publisherName}/artifacttypes/vmimage/offers/{offer}/skus"); - Endpoints[1070] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.Compute/locations/{location}/publishers/{publisherName}/artifacttypes/vmextension/types/{type}/versions/{version}"); - Endpoints[1071] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.Compute/locations/{location}/publishers/{publisherName}/artifacttypes/vmimage/offers/{offer}/skus/{skus}/versions"); - Endpoints[1072] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.Compute/locations/{location}/publishers/{publisherName}/artifacttypes/vmimage/offers/{offer}/skus/{skus}/versions/{version}"); - Endpoints[1073] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.ServiceFabric/locations/{location}/environments/{environment}/clusterVersions/{clusterVersion}"); - Endpoints[1074] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.Sql/locations/{locationName}/longTermRetentionServers/{longTermRetentionServerName}/longTermRetentionDatabases/{longTermRetentionDatabaseName}/longTermRetentionBackups"); - Endpoints[1075] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.Sql/locations/{locationName}/longTermRetentionServers/{longTermRetentionServerName}/longTermRetentionDatabases/{longTermRetentionDatabaseName}/longTermRetentionBackups/{backupName}"); - Endpoints[1076] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.MarketplaceOrdering/offerTypes/{offerType}/publishers/{publisherId}/offers/{offerId}/plans/{planId}/agreements/current"); - Endpoints[1077] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.Security/locations/{ascLocation}/alerts/{alertName}/{alertUpdateActionType}"); - Endpoints[1078] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/Microsoft.Security/locations/{ascLocation}/tasks/{taskName}/{taskUpdateActionType}"); - Endpoints[1079] = CreateEndpoint("/Applications/{applicationId}/$/GetServices/{serviceId}"); - Endpoints[1080] = CreateEndpoint("/ApplicationTypes/{applicationTypeName}/$/GetServiceTypes/{serviceTypeName}"); - Endpoints[1081] = CreateEndpoint("/Nodes/{nodeName}/$/GetApplications/{applicationId}"); - Endpoints[1082] = CreateEndpoint("/Partitions/{partitionId}/$/GetReplicas/{replicaId}"); - Endpoints[1083] = CreateEndpoint("/Services/{serviceName}/$/GetPartitions/{partitionId}"); - Endpoints[1084] = CreateEndpoint("/Applications/{applicationName}/$/GetServiceGroups/{serviceName}/$/Delete"); - Endpoints[1085] = CreateEndpoint("/Applications/{applicationName}/$/GetServices/{serviceName}/$/GetServiceGroupDescription"); - Endpoints[1086] = CreateEndpoint("/Applications/{applicationName}/$/GetServices/{serviceName}/$/GetServiceGroupMembers"); - Endpoints[1087] = CreateEndpoint("/Applications/{applicationName}/$/GetServices/{serviceName}/$/UpdateServiceGroup"); - Endpoints[1088] = CreateEndpoint("/Nodes/{nodeName}/$/GetApplications/{applicationId}/$/GetCodePackages"); - Endpoints[1089] = CreateEndpoint("/Nodes/{nodeName}/$/GetApplications/{applicationId}/$/GetHealth"); - Endpoints[1090] = CreateEndpoint("/Nodes/{nodeName}/$/GetApplications/{applicationId}/$/GetReplicas"); - Endpoints[1091] = CreateEndpoint("/Nodes/{nodeName}/$/GetApplications/{applicationId}/$/GetServicePackages"); - Endpoints[1092] = CreateEndpoint("/Nodes/{nodeName}/$/GetApplications/{applicationId}/$/GetServiceTypes"); - Endpoints[1093] = CreateEndpoint("/Nodes/{nodeName}/$/GetApplications/{applicationId}/$/ReportHealth"); - Endpoints[1094] = CreateEndpoint("/Nodes/{nodeName}/$/GetPartitions/{partitionId}/$/GetReplicas"); - Endpoints[1095] = CreateEndpoint("/Partitions/{partitionId}/$/GetReplicas/{replicaId}/$/GetHealth"); - Endpoints[1096] = CreateEndpoint("/Partitions/{partitionId}/$/GetReplicas/{replicaId}/$/GetLoadInformation"); - Endpoints[1097] = CreateEndpoint("/Partitions/{partitionId}/$/GetReplicas/{replicaId}/$/ReportHealth"); - Endpoints[1098] = CreateEndpoint("/Nodes/{nodeName}/$/GetApplications/{applicationId}/$/GetCodePackages/$/ContainerApi"); - Endpoints[1099] = CreateEndpoint("/Nodes/{nodeName}/$/GetApplications/{applicationId}/$/GetCodePackages/$/ContainerLogs"); - Endpoints[1100] = CreateEndpoint("/Nodes/{nodeName}/$/GetApplications/{applicationId}/$/GetCodePackages/$/Restart"); - Endpoints[1101] = CreateEndpoint("/Nodes/{nodeName}/$/GetApplications/{applicationId}/$/GetServicePackages/{servicePackageName}"); - Endpoints[1102] = CreateEndpoint("/Nodes/{nodeName}/$/GetApplications/{applicationId}/$/GetServiceTypes/{serviceTypeName}"); - Endpoints[1103] = CreateEndpoint("/Nodes/{nodeName}/$/GetApplications/{applicationId}/$/GetServicePackages/{servicePackageName}/$/GetHealth"); - Endpoints[1104] = CreateEndpoint("/Nodes/{nodeName}/$/GetApplications/{applicationId}/$/GetServicePackages/{servicePackageName}/$/ReportHealth"); - Endpoints[1105] = CreateEndpoint("/Nodes/{nodeName}/$/GetPartitions/{partitionId}/$/GetReplicas/{replicaId}/$/Delete"); - Endpoints[1106] = CreateEndpoint("/Nodes/{nodeName}/$/GetPartitions/{partitionId}/$/GetReplicas/{replicaId}/$/GetDetail"); - Endpoints[1107] = CreateEndpoint("/Nodes/{nodeName}/$/GetPartitions/{partitionId}/$/GetReplicas/{replicaId}/$/Restart"); - Endpoints[1108] = CreateEndpoint("/apis/{apiId}/operations/{operationId}"); - Endpoints[1109] = CreateEndpoint("/apis/{apiId}/policies/{policyId}"); - Endpoints[1110] = CreateEndpoint("/apis/{apiId}/schemas/{schemaId}"); - Endpoints[1111] = CreateEndpoint("/apps/{appId}/events/{eventType}"); - Endpoints[1112] = CreateEndpoint("/apps/{appId}/metrics/{metricId}"); - Endpoints[1113] = CreateEndpoint("/apps/{appId}/versions/{versionId}/"); - Endpoints[1114] = CreateEndpoint("/delegatedProviders/{delegatedProviderId}/offers/{offerName}"); - Endpoints[1115] = CreateEndpoint("/deletedstorage/{storage-account-name}/sas/{sas-definition-name}"); - Endpoints[1116] = CreateEndpoint("/facelists/{faceListId}/persistedFaces/{persistedFaceId}"); - Endpoints[1117] = CreateEndpoint("/groups/{groupId}/users/{uid}"); - Endpoints[1118] = CreateEndpoint("/jobs/{jobId}/tasks/{taskId}"); - Endpoints[1119] = CreateEndpoint("/persongroups/{personGroupId}/persons/{personId}"); - Endpoints[1120] = CreateEndpoint("/pools/{poolId}/nodes/{nodeId}"); - Endpoints[1121] = CreateEndpoint("/products/{productId}/apis/{apiId}"); - Endpoints[1122] = CreateEndpoint("/products/{productId}/groups/{groupId}"); - Endpoints[1123] = CreateEndpoint("/products/{productId}/policies/{policyId}"); - Endpoints[1124] = CreateEndpoint("/projects/{projectId}/iterations/{iterationId}"); - Endpoints[1125] = CreateEndpoint("/projects/{projectId}/tags/{tagId}"); - Endpoints[1126] = CreateEndpoint("/storage/{storage-account-name}/sas/{sas-definition-name}"); - Endpoints[1127] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/{resourceProviderNamespace}"); - Endpoints[1128] = CreateEndpoint("/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}"); - Endpoints[1129] = CreateEndpoint("/subscriptions/{subscriptionId}/tagNames/{tagName}"); - Endpoints[1130] = CreateEndpoint("/apis/{apiId}/operations/{operationId}/policies"); - Endpoints[1131] = CreateEndpoint("/apps/{appId}/versions/{versionId}/clone"); - Endpoints[1132] = CreateEndpoint("/apps/{appId}/versions/{versionId}/closedlists"); - Endpoints[1133] = CreateEndpoint("/apps/{appId}/versions/{versionId}/compositeentities"); - Endpoints[1134] = CreateEndpoint("/apps/{appId}/versions/{versionId}/customprebuiltdomains"); - Endpoints[1135] = CreateEndpoint("/apps/{appId}/versions/{versionId}/customprebuiltentities"); - Endpoints[1136] = CreateEndpoint("/apps/{appId}/versions/{versionId}/customprebuiltintents"); - Endpoints[1137] = CreateEndpoint("/apps/{appId}/versions/{versionId}/customprebuiltmodels"); - Endpoints[1138] = CreateEndpoint("/apps/{appId}/versions/{versionId}/entities"); - Endpoints[1139] = CreateEndpoint("/apps/{appId}/versions/{versionId}/example"); - Endpoints[1140] = CreateEndpoint("/apps/{appId}/versions/{versionId}/examples"); - Endpoints[1141] = CreateEndpoint("/apps/{appId}/versions/{versionId}/export"); - Endpoints[1142] = CreateEndpoint("/apps/{appId}/versions/{versionId}/features"); - Endpoints[1143] = CreateEndpoint("/apps/{appId}/versions/{versionId}/hierarchicalentities"); - Endpoints[1144] = CreateEndpoint("/apps/{appId}/versions/{versionId}/intents"); - Endpoints[1145] = CreateEndpoint("/apps/{appId}/versions/{versionId}/listprebuilts"); - Endpoints[1146] = CreateEndpoint("/apps/{appId}/versions/{versionId}/models"); - Endpoints[1147] = CreateEndpoint("/apps/{appId}/versions/{versionId}/patternanyentities"); - Endpoints[1148] = CreateEndpoint("/apps/{appId}/versions/{versionId}/patternrule"); - Endpoints[1149] = CreateEndpoint("/apps/{appId}/versions/{versionId}/patternrules"); - Endpoints[1150] = CreateEndpoint("/apps/{appId}/versions/{versionId}/patterns"); - Endpoints[1151] = CreateEndpoint("/apps/{appId}/versions/{versionId}/phraselists"); - Endpoints[1152] = CreateEndpoint("/apps/{appId}/versions/{versionId}/prebuilts"); - Endpoints[1153] = CreateEndpoint("/apps/{appId}/versions/{versionId}/regexentities"); - Endpoints[1154] = CreateEndpoint("/apps/{appId}/versions/{versionId}/suggest"); - Endpoints[1155] = CreateEndpoint("/apps/{appId}/versions/{versionId}/train"); - Endpoints[1156] = CreateEndpoint("/deletedstorage/{storage-account-name}/sas/{sas-definition-name}/recover"); - Endpoints[1157] = CreateEndpoint("/jobs/{jobId}/tasks/{taskId}/files"); - Endpoints[1158] = CreateEndpoint("/jobs/{jobId}/tasks/{taskId}/reactivate"); - Endpoints[1159] = CreateEndpoint("/jobs/{jobId}/tasks/{taskId}/subtasksinfo"); - Endpoints[1160] = CreateEndpoint("/jobs/{jobId}/tasks/{taskId}/terminate"); - Endpoints[1161] = CreateEndpoint("/persongroups/{personGroupId}/persons/{personId}/persistedFaces"); - Endpoints[1162] = CreateEndpoint("/pools/{poolId}/nodes/{nodeId}/disablescheduling"); - Endpoints[1163] = CreateEndpoint("/pools/{poolId}/nodes/{nodeId}/enablescheduling"); - Endpoints[1164] = CreateEndpoint("/pools/{poolId}/nodes/{nodeId}/files"); - Endpoints[1165] = CreateEndpoint("/pools/{poolId}/nodes/{nodeId}/rdp"); - Endpoints[1166] = CreateEndpoint("/pools/{poolId}/nodes/{nodeId}/reboot"); - Endpoints[1167] = CreateEndpoint("/pools/{poolId}/nodes/{nodeId}/reimage"); - Endpoints[1168] = CreateEndpoint("/pools/{poolId}/nodes/{nodeId}/remoteloginsettings"); - Endpoints[1169] = CreateEndpoint("/pools/{poolId}/nodes/{nodeId}/uploadbatchservicelogs"); - Endpoints[1170] = CreateEndpoint("/pools/{poolId}/nodes/{nodeId}/users"); - Endpoints[1171] = CreateEndpoint("/projects/{projectId}/iterations/{iterationId}/export"); - Endpoints[1172] = CreateEndpoint("/projects/{projectId}/iterations/{iterationId}/performance"); - Endpoints[1173] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/{resourceProviderNamespace}/register"); - Endpoints[1174] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/{resourceProviderNamespace}/unregister"); - Endpoints[1175] = CreateEndpoint("/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/exportTemplate"); - Endpoints[1176] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/moveResources"); - Endpoints[1177] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/resources"); - Endpoints[1178] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/validateMoveResources"); - Endpoints[1179] = CreateEndpoint("/projects/{projectId}/iterations/{iterationId}/performance/images"); - Endpoints[1180] = CreateEndpoint("/projects/{projectId}/iterations/{iterationId}/performance/images/count"); - Endpoints[1181] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroup/{resourceGroupName}/providers/microsoft.insights/workbooks"); - Endpoints[1182] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{groupName}/providers/Microsoft.DataMigration/services"); - Endpoints[1183] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroup}/providers/Microsoft.Advisor/configurations"); - Endpoints[1184] = CreateEndpoint("/subscriptions/{subscriptionId}/resourcegroups/{resourceGroup}/providers/Microsoft.AzureBridge.Admin/activations"); - Endpoints[1185] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroup}/providers/Microsoft.AzureStack/registrations"); - Endpoints[1186] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AAD/domainServices"); - Endpoints[1187] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AnalysisServices/servers"); - Endpoints[1188] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service"); - Endpoints[1189] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Authorization/locks"); - Endpoints[1190] = CreateEndpoint("/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.Authorization/permissions"); - Endpoints[1191] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Authorization/policyAssignments"); - Endpoints[1192] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Authorization/roleAssignments"); - Endpoints[1193] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Automation/automationAccounts"); - Endpoints[1194] = CreateEndpoint("/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.Backup.Admin/backupLocations"); - Endpoints[1195] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Batch/batchAccounts"); - Endpoints[1196] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.BatchAI/clusters"); - Endpoints[1197] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.BatchAI/fileServers"); - Endpoints[1198] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.BatchAI/jobs"); - Endpoints[1199] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.BatchAI/workspaces"); - Endpoints[1200] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.BotService/botServices"); - Endpoints[1201] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Cache/Redis"); - Endpoints[1202] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Cdn/profiles"); - Endpoints[1203] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.CertificateRegistration/certificateOrders"); - Endpoints[1204] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.CognitiveServices/accounts"); - Endpoints[1205] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/availabilitySets"); - Endpoints[1206] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/disks"); - Endpoints[1207] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/galleries"); - Endpoints[1208] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/images"); - Endpoints[1209] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/snapshots"); - Endpoints[1210] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/virtualMachines"); - Endpoints[1211] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/virtualMachineScaleSets"); - Endpoints[1212] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Consumption/budgets"); - Endpoints[1213] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerInstance/containerGroups"); - Endpoints[1214] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerRegistry/registries"); - Endpoints[1215] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/containerServices"); - Endpoints[1216] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters"); - Endpoints[1217] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.CustomerInsights/hubs"); - Endpoints[1218] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataBox/jobs"); - Endpoints[1219] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Databricks/workspaces"); - Endpoints[1220] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataCatalog/catalogs"); - Endpoints[1221] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataFactory/factories"); - Endpoints[1222] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataLakeAnalytics/accounts"); - Endpoints[1223] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataLakeStore/accounts"); - Endpoints[1224] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBforMySQL/servers"); - Endpoints[1225] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBforPostgreSQL/servers"); - Endpoints[1226] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Devices/IotHubs"); - Endpoints[1227] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Devices/provisioningServices"); - Endpoints[1228] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DevTestLab/labs"); - Endpoints[1229] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DevTestLab/schedules"); - Endpoints[1230] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts"); - Endpoints[1231] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DomainRegistration/domains"); - Endpoints[1232] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.EventGrid/eventSubscriptions"); - Endpoints[1233] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.EventGrid/topics"); - Endpoints[1234] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.EventHub/clusters"); - Endpoints[1235] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.EventHub/namespaces"); - Endpoints[1236] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Fabric.Admin/fabricLocations"); - Endpoints[1237] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.HanaOnAzure/hanaInstances"); - Endpoints[1238] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.HDInsight/clusters"); - Endpoints[1239] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ImportExport/jobs"); - Endpoints[1240] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.InfrastructureInsights.Admin/regionHealths"); - Endpoints[1241] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/microsoft.insights/actionGroups"); - Endpoints[1242] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/microsoft.insights/activityLogAlerts"); - Endpoints[1243] = CreateEndpoint("/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/microsoft.insights/alertrules"); - Endpoints[1244] = CreateEndpoint("/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/microsoft.insights/autoscalesettings"); - Endpoints[1245] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Insights/components"); - Endpoints[1246] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Insights/metricAlerts"); - Endpoints[1247] = CreateEndpoint("/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/microsoft.insights/scheduledQueryRules"); - Endpoints[1248] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Insights/webtests"); - Endpoints[1249] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.IoTCentral/IoTApps"); - Endpoints[1250] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.IoTSpaces/Graph"); - Endpoints[1251] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.KeyVault/vaults"); - Endpoints[1252] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Logic/integrationAccounts"); - Endpoints[1253] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Logic/workflows"); - Endpoints[1254] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.MachineLearning/commitmentPlans"); - Endpoints[1255] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.MachineLearning/webServices"); - Endpoints[1256] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.MachineLearning/workspaces"); - Endpoints[1257] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.MachineLearningCompute/operationalizationClusters"); - Endpoints[1258] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.MachineLearningExperimentation/accounts"); - Endpoints[1259] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.MachineLearningServices/workspaces"); - Endpoints[1260] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ManagedIdentity/userAssignedIdentities"); - Endpoints[1261] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Maps/accounts"); - Endpoints[1262] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Media/mediaservices"); - Endpoints[1263] = CreateEndpoint("/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.Migrate/projects"); - Endpoints[1264] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/applicationGateways"); - Endpoints[1265] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/applicationSecurityGroups"); - Endpoints[1266] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/connections"); - Endpoints[1267] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/ddosProtectionPlans"); - Endpoints[1268] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/dnsZones"); - Endpoints[1269] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/expressRouteCircuits"); - Endpoints[1270] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/expressRouteCrossConnections"); - Endpoints[1271] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/loadBalancers"); - Endpoints[1272] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/localNetworkGateways"); - Endpoints[1273] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkInterfaces"); - Endpoints[1274] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkSecurityGroups"); - Endpoints[1275] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkWatchers"); - Endpoints[1276] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/publicIPAddresses"); - Endpoints[1277] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/routeFilters"); - Endpoints[1278] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/routeTables"); - Endpoints[1279] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/trafficmanagerprofiles"); - Endpoints[1280] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworkGateways"); - Endpoints[1281] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworks"); - Endpoints[1282] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.NotificationHubs/namespaces"); - Endpoints[1283] = CreateEndpoint("/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.OperationalInsights/workspaces"); - Endpoints[1284] = CreateEndpoint("/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.OperationsManagement/solutions"); - Endpoints[1285] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.PowerBI/workspaceCollections"); - Endpoints[1286] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.PowerBIDedicated/capacities"); - Endpoints[1287] = CreateEndpoint("/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/operations"); - Endpoints[1288] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults"); - Endpoints[1289] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Relay/namespaces"); - Endpoints[1290] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ResourceHealth/availabilityStatuses"); - Endpoints[1291] = CreateEndpoint("/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.Resources/deployments/"); - Endpoints[1292] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Scheduler/jobCollections"); - Endpoints[1293] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Search/searchServices"); - Endpoints[1294] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Security/alerts"); - Endpoints[1295] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Security/jitNetworkAccessPolicies"); - Endpoints[1296] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Security/pricings"); - Endpoints[1297] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Security/securityContacts"); - Endpoints[1298] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Security/workspaceSettings"); - Endpoints[1299] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ServerManagement/gateways"); - Endpoints[1300] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ServerManagement/nodes"); - Endpoints[1301] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ServiceBus/namespaces"); - Endpoints[1302] = CreateEndpoint("/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.ServiceFabric/clusters"); - Endpoints[1303] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.SignalRService/SignalR"); - Endpoints[1304] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Solutions/applianceDefinitions"); - Endpoints[1305] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Solutions/appliances"); - Endpoints[1306] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Solutions/applicationDefinitions"); - Endpoints[1307] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Solutions/applications"); - Endpoints[1308] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/managedInstances"); - Endpoints[1309] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers"); - Endpoints[1310] = CreateEndpoint("/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.Storage.Admin/farms"); - Endpoints[1311] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Storage/storageAccounts"); - Endpoints[1312] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.StorSimple/managers"); - Endpoints[1313] = CreateEndpoint("/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.StreamAnalytics/streamingjobs"); - Endpoints[1314] = CreateEndpoint("/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.Subscriptions.Admin/directoryTenants"); - Endpoints[1315] = CreateEndpoint("/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.Subscriptions.Admin/offers"); - Endpoints[1316] = CreateEndpoint("/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.Subscriptions.Admin/plans"); - Endpoints[1317] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.TimeSeriesInsights/environments"); - Endpoints[1318] = CreateEndpoint("/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.Update.Admin/updateLocations/"); - Endpoints[1319] = CreateEndpoint("/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/microsoft.visualstudio/account"); - Endpoints[1320] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/certificates"); - Endpoints[1321] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/classicMobileServices"); - Endpoints[1322] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/connectionGateways"); - Endpoints[1323] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/connections"); - Endpoints[1324] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/csrs"); - Endpoints[1325] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/customApis"); - Endpoints[1326] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/deletedSites"); - Endpoints[1327] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/hostingEnvironments"); - Endpoints[1328] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/managedHostingEnvironments"); - Endpoints[1329] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/resourceHealthMetadata"); - Endpoints[1330] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/serverfarms"); - Endpoints[1331] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites"); - Endpoints[1332] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/validate"); - Endpoints[1333] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.BotService/BotServices/listServiceProviders"); - Endpoints[1334] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroup/{resourceGroupName}/providers/microsoft.insights/workbooks/{resourceName}"); - Endpoints[1335] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{groupName}/providers/Microsoft.DataMigration/services/{serviceName}"); - Endpoints[1336] = CreateEndpoint("/subscriptions/{subscriptionId}/resourcegroups/{resourceGroup}/providers/Microsoft.AzureBridge.Admin/activations/{activationName}"); - Endpoints[1337] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroup}/providers/Microsoft.AzureStack/registrations/{registrationName}"); - Endpoints[1338] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AAD/domainServices/{domainServiceName}"); - Endpoints[1339] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AnalysisServices/servers/{serverName}"); - Endpoints[1340] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}"); - Endpoints[1341] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Authorization/locks/{lockName}"); - Endpoints[1342] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Automation/automationAccounts/{automationAccountName}"); - Endpoints[1343] = CreateEndpoint("/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.Backup.Admin/backupLocations/{location}"); - Endpoints[1344] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Batch/batchAccounts/{accountName}"); - Endpoints[1345] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.BatchAI/clusters/{clusterName}"); - Endpoints[1346] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.BatchAI/fileServers/{fileServerName}"); - Endpoints[1347] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.BatchAI/jobs/{jobName}"); - Endpoints[1348] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.BatchAI/workspaces/{workspaceName}"); - Endpoints[1349] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.BotService/botServices/{resourceName}"); - Endpoints[1350] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Cache/Redis/{name}"); - Endpoints[1351] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Cdn/profiles/{profileName}"); - Endpoints[1352] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.CertificateRegistration/certificateOrders/{name}"); - Endpoints[1353] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.CognitiveServices/accounts/{accountName}"); - Endpoints[1354] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/availabilitySets/{availabilitySetName}"); - Endpoints[1355] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/disks/{diskName}"); - Endpoints[1356] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/galleries/{galleryName}"); - Endpoints[1357] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/images/{imageName}"); - Endpoints[1358] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/snapshots/{snapshotName}"); - Endpoints[1359] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/virtualMachines/{vmName}"); - Endpoints[1360] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/virtualMachineScaleSets/{vmScaleSetName}"); - Endpoints[1361] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Consumption/budgets/{budgetName}"); - Endpoints[1362] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerInstance/containerGroups/{containerGroupName}"); - Endpoints[1363] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerRegistry/registries/{registryName}"); - Endpoints[1364] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/containerServices/{containerServiceName}"); - Endpoints[1365] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}"); - Endpoints[1366] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.CustomerInsights/hubs/{hubName}"); - Endpoints[1367] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataBox/jobs/{jobName}"); - Endpoints[1368] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Databricks/workspaces/{workspaceName}"); - Endpoints[1369] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataCatalog/catalogs/{catalogName}"); - Endpoints[1370] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataFactory/factories/{factoryName}"); - Endpoints[1371] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataLakeAnalytics/accounts/{accountName}"); - Endpoints[1372] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataLakeStore/accounts/{accountName}"); - Endpoints[1373] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBforMySQL/servers/{serverName}"); - Endpoints[1374] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBforPostgreSQL/servers/{serverName}"); - Endpoints[1375] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Devices/IotHubs/{resourceName}"); - Endpoints[1376] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Devices/provisioningServices/{provisioningServiceName}"); - Endpoints[1377] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DevTestLab/labs/{name}"); - Endpoints[1378] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DevTestLab/schedules/{name}"); - Endpoints[1379] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}"); - Endpoints[1380] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DomainRegistration/domains/{domainName}"); - Endpoints[1381] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.EventGrid/topics/{topicName}"); - Endpoints[1382] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.EventHub/clusters/{clusterName}"); - Endpoints[1383] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.EventHub/namespaces/{namespaceName}"); - Endpoints[1384] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Fabric.Admin/fabricLocations/{fabricLocation}"); - Endpoints[1385] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.HanaOnAzure/hanaInstances/{hanaInstanceName}"); - Endpoints[1386] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.HDInsight/clusters/{clusterName}"); - Endpoints[1387] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ImportExport/jobs/{jobName}"); - Endpoints[1388] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.InfrastructureInsights.Admin/regionHealths/{location}"); - Endpoints[1389] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/microsoft.insights/actionGroups/{actionGroupName}"); - Endpoints[1390] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/microsoft.insights/activityLogAlerts/{activityLogAlertName}"); - Endpoints[1391] = CreateEndpoint("/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/microsoft.insights/alertrules/{ruleName}"); - Endpoints[1392] = CreateEndpoint("/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/microsoft.insights/autoscalesettings/{autoscaleSettingName}"); - Endpoints[1393] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Insights/components/{resourceName}"); - Endpoints[1394] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Insights/metricAlerts/{ruleName}"); - Endpoints[1395] = CreateEndpoint("/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/microsoft.insights/scheduledQueryRules/{ruleName}"); - Endpoints[1396] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Insights/webtests/{webTestName}"); - Endpoints[1397] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.IoTCentral/IoTApps/{resourceName}"); - Endpoints[1398] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.IoTSpaces/Graph/{resourceName}"); - Endpoints[1399] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.KeyVault/vaults/{vaultName}"); - Endpoints[1400] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Logic/integrationAccounts/{integrationAccountName}"); - Endpoints[1401] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Logic/workflows/{workflowName}"); - Endpoints[1402] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.MachineLearning/commitmentPlans/{commitmentPlanName}"); - Endpoints[1403] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.MachineLearning/webServices/{webServiceName}"); - Endpoints[1404] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.MachineLearning/workspaces/{workspaceName}"); - Endpoints[1405] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.MachineLearningCompute/operationalizationClusters/{clusterName}"); - Endpoints[1406] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.MachineLearningExperimentation/accounts/{accountName}"); - Endpoints[1407] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.MachineLearningServices/workspaces/{workspaceName}"); - Endpoints[1408] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ManagedIdentity/userAssignedIdentities/{resourceName}"); - Endpoints[1409] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Maps/accounts/{accountName}"); - Endpoints[1410] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Media/mediaservices/{mediaServiceName}"); - Endpoints[1411] = CreateEndpoint("/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.Migrate/projects/{projectName}"); - Endpoints[1412] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/applicationGateways/{applicationGatewayName}"); - Endpoints[1413] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/applicationSecurityGroups/{applicationSecurityGroupName}"); - Endpoints[1414] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/connections/{virtualNetworkGatewayConnectionName}"); - Endpoints[1415] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/ddosProtectionPlans/{ddosProtectionPlanName}"); - Endpoints[1416] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/dnsZones/{zoneName}"); - Endpoints[1417] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/expressRouteCircuits/{circuitName}"); - Endpoints[1418] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/expressRouteCrossConnections/{crossConnectionName}"); - Endpoints[1419] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/loadBalancers/{loadBalancerName}"); - Endpoints[1420] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/localNetworkGateways/{localNetworkGatewayName}"); - Endpoints[1421] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkInterfaces/{networkInterfaceName}"); - Endpoints[1422] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkSecurityGroups/{networkSecurityGroupName}"); - Endpoints[1423] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkWatchers/{networkWatcherName}"); - Endpoints[1424] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/publicIPAddresses/{publicIpAddressName}"); - Endpoints[1425] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/routeFilters/{routeFilterName}"); - Endpoints[1426] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/routeTables/{routeTableName}"); - Endpoints[1427] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/trafficmanagerprofiles/{profileName}"); - Endpoints[1428] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworkGateways/{virtualNetworkGatewayName}"); - Endpoints[1429] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworks/{virtualNetworkName}"); - Endpoints[1430] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.NotificationHubs/namespaces/{namespaceName}"); - Endpoints[1431] = CreateEndpoint("/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.OperationalInsights/workspaces/{workspaceName}"); - Endpoints[1432] = CreateEndpoint("/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.OperationsManagement/ManagementConfigurations/{managementConfigurationName}"); - Endpoints[1433] = CreateEndpoint("/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.OperationsManagement/solutions/{solutionName}"); - Endpoints[1434] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.PowerBI/workspaceCollections/{workspaceCollectionName}"); - Endpoints[1435] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.PowerBIDedicated/capacities/{dedicatedCapacityName}"); - Endpoints[1436] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}"); - Endpoints[1437] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Relay/namespaces/{namespaceName}"); - Endpoints[1438] = CreateEndpoint("/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.Resources/deployments/{deploymentName}"); - Endpoints[1439] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Scheduler/jobCollections/{jobCollectionName}"); - Endpoints[1440] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Search/searchServices/{searchServiceName}"); - Endpoints[1441] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Security/pricings/{pricingName}"); - Endpoints[1442] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Security/securityContacts/{securityContactName}"); - Endpoints[1443] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Security/workspaceSettings/{workspaceSettingName}"); - Endpoints[1444] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ServerManagement/gateways/{gatewayName}"); - Endpoints[1445] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ServerManagement/nodes/{nodeName}"); - Endpoints[1446] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ServiceBus/namespaces/{namespaceName}"); - Endpoints[1447] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ServiceFabric/clusters/{clusterName}"); - Endpoints[1448] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.SignalRService/SignalR/{resourceName}"); - Endpoints[1449] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Solutions/applianceDefinitions/{applianceDefinitionName}"); - Endpoints[1450] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Solutions/appliances/{applianceName}"); - Endpoints[1451] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Solutions/applicationDefinitions/{applicationDefinitionName}"); - Endpoints[1452] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Solutions/applications/{applicationName}"); - Endpoints[1453] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/managedInstances/{managedInstanceName}"); - Endpoints[1454] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}"); - Endpoints[1455] = CreateEndpoint("/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.Storage.Admin/farms/{farmId}"); - Endpoints[1456] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Storage/storageAccounts/{accountName}"); - Endpoints[1457] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.StorSimple/managers/{managerName}"); - Endpoints[1458] = CreateEndpoint("/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.StreamAnalytics/streamingjobs/{jobName}"); - Endpoints[1459] = CreateEndpoint("/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.Subscriptions.Admin/directoryTenants/{tenant}"); - Endpoints[1460] = CreateEndpoint("/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.Subscriptions.Admin/offers/{offer}"); - Endpoints[1461] = CreateEndpoint("/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.Subscriptions.Admin/plans/{plan}"); - Endpoints[1462] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.TimeSeriesInsights/environments/{environmentName}"); - Endpoints[1463] = CreateEndpoint("/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.Update.Admin/updateLocations/{updateLocation}"); - Endpoints[1464] = CreateEndpoint("/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/microsoft.visualstudio/account/{resourceName}"); - Endpoints[1465] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/certificates/{name}"); - Endpoints[1466] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/classicMobileServices/{name}"); - Endpoints[1467] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/connectionGateways/{connectionGatewayName}"); - Endpoints[1468] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/connections/{connectionName}"); - Endpoints[1469] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/csrs/{name}"); - Endpoints[1470] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/customApis/{apiName}"); - Endpoints[1471] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/hostingEnvironments/{name}"); - Endpoints[1472] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/managedHostingEnvironments/{name}"); - Endpoints[1473] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/serverfarms/{name}"); - Endpoints[1474] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}"); - Endpoints[1475] = CreateEndpoint("/providers/{managementGroupsNamespace}/managementGroups/{managementGroupName}/providers/Microsoft.PolicyInsights/policyEvents/{policyEventsResource}/queryResults"); - Endpoints[1476] = CreateEndpoint("/providers/{managementGroupsNamespace}/managementGroups/{managementGroupName}/providers/Microsoft.PolicyInsights/policyStates/{policyStatesResource}/queryResults"); - Endpoints[1477] = CreateEndpoint("/providers/{managementGroupsNamespace}/managementGroups/{managementGroupName}/providers/Microsoft.PolicyInsights/policyStates/{policyStatesSummaryResource}/summarize"); - Endpoints[1478] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroup/{resourceGroupName}/providers/Microsoft.MachineLearningServices/workspaces/{workspaceName}/computes"); - Endpoints[1479] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{groupName}/providers/Microsoft.DataMigration/services/{serviceName}/checkNameAvailability"); - Endpoints[1480] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{groupName}/providers/Microsoft.DataMigration/services/{serviceName}/checkStatus"); - Endpoints[1481] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{groupName}/providers/Microsoft.DataMigration/services/{serviceName}/projects"); - Endpoints[1482] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{groupName}/providers/Microsoft.DataMigration/services/{serviceName}/skus"); - Endpoints[1483] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{groupName}/providers/Microsoft.DataMigration/services/{serviceName}/start"); - Endpoints[1484] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{groupName}/providers/Microsoft.DataMigration/services/{serviceName}/stop"); - Endpoints[1485] = CreateEndpoint("/subscriptions/{subscriptionId}/resourcegroups/{resourceGroup}/providers/Microsoft.AzureBridge.Admin/activations/{activationName}/downloadedProducts"); - Endpoints[1486] = CreateEndpoint("/subscriptions/{subscriptionId}/resourcegroups/{resourceGroup}/providers/Microsoft.AzureBridge.Admin/activations/{activationName}/products"); - Endpoints[1487] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroup}/providers/Microsoft.AzureStack/registrations/{registrationName}/customerSubscriptions"); - Endpoints[1488] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroup}/providers/Microsoft.AzureStack/registrations/{registrationName}/getactivationkey"); - Endpoints[1489] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroup}/providers/Microsoft.AzureStack/registrations/{registrationName}/products"); - Endpoints[1490] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AnalysisServices/servers/{serverName}/dissociateGateway"); - Endpoints[1491] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AnalysisServices/servers/{serverName}/listGatewayStatus"); - Endpoints[1492] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AnalysisServices/servers/{serverName}/resume"); - Endpoints[1493] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AnalysisServices/servers/{serverName}/skus"); - Endpoints[1494] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AnalysisServices/servers/{serverName}/suspend"); - Endpoints[1495] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/apis"); - Endpoints[1496] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/apisByTags"); - Endpoints[1497] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/api-version-sets"); - Endpoints[1498] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/applynetworkconfigurationupdates"); - Endpoints[1499] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/authorizationServers"); - Endpoints[1500] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/backends"); - Endpoints[1501] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/backup"); - Endpoints[1502] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/certificates"); - Endpoints[1503] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/diagnostics"); - Endpoints[1504] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/getssotoken"); - Endpoints[1505] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/groups"); - Endpoints[1506] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/identityProviders"); - Endpoints[1507] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/issues"); - Endpoints[1508] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/loggers"); - Endpoints[1509] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/managedeployments"); - Endpoints[1510] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/networkstatus"); - Endpoints[1511] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/notifications"); - Endpoints[1512] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/openidConnectProviders"); - Endpoints[1513] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/policies"); - Endpoints[1514] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/policySnippets"); - Endpoints[1515] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/products"); - Endpoints[1516] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/properties"); - Endpoints[1517] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/regions"); - Endpoints[1518] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/restore"); - Endpoints[1519] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/subscriptions"); - Endpoints[1520] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/tagResources"); - Endpoints[1521] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/tags"); - Endpoints[1522] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/templates"); - Endpoints[1523] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/updatecertificate"); - Endpoints[1524] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/updatehostname"); - Endpoints[1525] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/uploadcertificate"); - Endpoints[1526] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/users"); - Endpoints[1527] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Automation/automationAccounts/{automationAccountName}/agentRegistrationInformation"); - Endpoints[1528] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Automation/automationAccounts/{automationAccountName}/certificates"); - Endpoints[1529] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Automation/automationAccounts/{automationAccountName}/compilationjobs"); - Endpoints[1530] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Automation/automationAccounts/{automationAccountName}/configurations"); - Endpoints[1531] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Automation/automationAccounts/{automationAccountName}/connections"); - Endpoints[1532] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Automation/automationAccounts/{automationAccountName}/connectionTypes"); - Endpoints[1533] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Automation/automationAccounts/{automationAccountName}/credentials"); - Endpoints[1534] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Automation/automationAccounts/{automationAccountName}/hybridRunbookWorkerGroups"); - Endpoints[1535] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Automation/automationAccounts/{automationAccountName}/jobs"); - Endpoints[1536] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Automation/automationAccounts/{automationAccountName}/jobSchedules"); - Endpoints[1537] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Automation/automationAccounts/{automationAccountName}/linkedWorkspace"); - Endpoints[1538] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Automation/automationAccounts/{automationAccountName}/listKeys"); - Endpoints[1539] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Automation/automationAccounts/{automationAccountName}/modules"); - Endpoints[1540] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Automation/automationAccounts/{automationAccountName}/nodeConfigurations"); - Endpoints[1541] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Automation/automationAccounts/{automationAccountName}/nodes"); - Endpoints[1542] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Automation/automationAccounts/{automationAccountName}/runbooks"); - Endpoints[1543] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Automation/automationAccounts/{automationAccountName}/schedules"); - Endpoints[1544] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Automation/automationAccounts/{automationAccountName}/softwareUpdateConfigurationMachineRuns"); - Endpoints[1545] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Automation/automationAccounts/{automationAccountName}/softwareUpdateConfigurationRuns"); - Endpoints[1546] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Automation/automationAccounts/{automationAccountName}/softwareUpdateConfigurations"); - Endpoints[1547] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Automation/automationAccounts/{automationAccountName}/sourceControls"); - Endpoints[1548] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Automation/automationAccounts/{automationAccountName}/statistics"); - Endpoints[1549] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Automation/automationAccounts/{automationAccountName}/usages"); - Endpoints[1550] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Automation/automationAccounts/{automationAccountName}/variables"); - Endpoints[1551] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Automation/automationAccounts/{automationAccountName}/watchers"); - Endpoints[1552] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Automation/automationAccounts/{automationAccountName}/webhooks"); - Endpoints[1553] = CreateEndpoint("/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.Backup.Admin/backupLocations/{location}/backups"); - Endpoints[1554] = CreateEndpoint("/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.Backup.Admin/backupLocations/{location}/createBackup"); - Endpoints[1555] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Batch/batchAccounts/{accountName}/applications"); - Endpoints[1556] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Batch/batchAccounts/{accountName}/certificates"); - Endpoints[1557] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Batch/batchAccounts/{accountName}/listKeys"); - Endpoints[1558] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Batch/batchAccounts/{accountName}/pools"); - Endpoints[1559] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Batch/batchAccounts/{accountName}/regenerateKeys"); - Endpoints[1560] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Batch/batchAccounts/{accountName}/syncAutoStorageKeys"); - Endpoints[1561] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.BatchAI/clusters/{clusterName}/listRemoteLoginInformation"); - Endpoints[1562] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.BatchAI/jobs/{jobName}/listOutputFiles"); - Endpoints[1563] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.BatchAI/jobs/{jobName}/listRemoteLoginInformation"); - Endpoints[1564] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.BatchAI/jobs/{jobName}/terminate"); - Endpoints[1565] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.BatchAI/workspaces/{workspaceName}/clusters"); - Endpoints[1566] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.BatchAI/workspaces/{workspaceName}/experiments"); - Endpoints[1567] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.BatchAI/workspaces/{workspaceName}/fileServers"); - Endpoints[1568] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.BotService/botServices/{resourceName}/channels"); - Endpoints[1569] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.BotService/botServices/{resourceName}/connections"); - Endpoints[1570] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Cache/Redis/{cacheName}/firewallRules"); - Endpoints[1571] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Cache/Redis/{cacheName}/patchSchedules"); - Endpoints[1572] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Cache/Redis/{name}/export"); - Endpoints[1573] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Cache/Redis/{name}/forceReboot"); - Endpoints[1574] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Cache/Redis/{name}/import"); - Endpoints[1575] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Cache/Redis/{name}/linkedServers"); - Endpoints[1576] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Cache/Redis/{name}/listKeys"); - Endpoints[1577] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Cache/Redis/{name}/listUpgradeNotifications"); - Endpoints[1578] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Cache/Redis/{name}/regenerateKey"); - Endpoints[1579] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Cdn/profiles/{profileName}/checkResourceUsage"); - Endpoints[1580] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Cdn/profiles/{profileName}/endpoints"); - Endpoints[1581] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Cdn/profiles/{profileName}/generateSsoUri"); - Endpoints[1582] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Cdn/profiles/{profileName}/getSupportedOptimizationTypes"); - Endpoints[1583] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.CertificateRegistration/certificateOrders/{certificateOrderName}/certificates"); - Endpoints[1584] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.CertificateRegistration/certificateOrders/{certificateOrderName}/resendRequestEmails"); - Endpoints[1585] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.CertificateRegistration/certificateOrders/{certificateOrderName}/retrieveSiteSeal"); - Endpoints[1586] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.CertificateRegistration/certificateOrders/{name}/reissue"); - Endpoints[1587] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.CertificateRegistration/certificateOrders/{name}/renew"); - Endpoints[1588] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.CertificateRegistration/certificateOrders/{name}/resendEmail"); - Endpoints[1589] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.CertificateRegistration/certificateOrders/{name}/retrieveCertificateActions"); - Endpoints[1590] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.CertificateRegistration/certificateOrders/{name}/retrieveEmailHistory"); - Endpoints[1591] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.CertificateRegistration/certificateOrders/{name}/verifyDomainOwnership"); - Endpoints[1592] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.CognitiveServices/accounts/{accountName}/listKeys"); - Endpoints[1593] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.CognitiveServices/accounts/{accountName}/regenerateKey"); - Endpoints[1594] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.CognitiveServices/accounts/{accountName}/skus"); - Endpoints[1595] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.CognitiveServices/accounts/{accountName}/usages"); - Endpoints[1596] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/availabilitySets/{availabilitySetName}/vmSizes"); - Endpoints[1597] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/disks/{diskName}/beginGetAccess"); - Endpoints[1598] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/disks/{diskName}/endGetAccess"); - Endpoints[1599] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/galleries/{galleryName}/images"); - Endpoints[1600] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/snapshots/{snapshotName}/beginGetAccess"); - Endpoints[1601] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/snapshots/{snapshotName}/endGetAccess"); - Endpoints[1602] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/virtualMachines/{vmName}/capture"); - Endpoints[1603] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/virtualMachines/{vmName}/convertToManagedDisks"); - Endpoints[1604] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/virtualMachines/{vmName}/deallocate"); - Endpoints[1605] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/virtualMachines/{vmName}/extensions"); - Endpoints[1606] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/virtualMachines/{vmName}/generalize"); - Endpoints[1607] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/virtualMachines/{vmName}/instanceView"); - Endpoints[1608] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/virtualMachines/{vmName}/performMaintenance"); - Endpoints[1609] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/virtualMachines/{vmName}/powerOff"); - Endpoints[1610] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/virtualMachines/{vmName}/redeploy"); - Endpoints[1611] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/virtualMachines/{vmName}/restart"); - Endpoints[1612] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/virtualMachines/{vmName}/runCommand"); - Endpoints[1613] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/virtualMachines/{vmName}/start"); - Endpoints[1614] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/virtualMachines/{vmName}/vmSizes"); - Endpoints[1615] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/microsoft.Compute/virtualMachineScaleSets/{virtualMachineScaleSetName}/networkInterfaces"); - Endpoints[1616] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/virtualMachineScaleSets/{virtualMachineScaleSetName}/publicipaddresses"); - Endpoints[1617] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/virtualMachineScaleSets/{virtualMachineScaleSetName}/virtualMachines"); - Endpoints[1618] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/virtualMachineScaleSets/{vmScaleSetName}/deallocate"); - Endpoints[1619] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/virtualMachineScaleSets/{vmScaleSetName}/delete"); - Endpoints[1620] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/virtualMachineScaleSets/{vmScaleSetName}/extensions"); - Endpoints[1621] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/virtualMachineScaleSets/{vmScaleSetName}/forceRecoveryServiceFabricPlatformUpdateDomainWalk"); - Endpoints[1622] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/virtualMachineScaleSets/{vmScaleSetName}/instanceView"); - Endpoints[1623] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/virtualMachineScaleSets/{vmScaleSetName}/manualupgrade"); - Endpoints[1624] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/virtualMachineScaleSets/{vmScaleSetName}/osRollingUpgrade"); - Endpoints[1625] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/virtualMachineScaleSets/{vmScaleSetName}/osUpgradeHistory"); - Endpoints[1626] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/virtualMachineScaleSets/{vmScaleSetName}/performMaintenance"); - Endpoints[1627] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/virtualMachineScaleSets/{vmScaleSetName}/poweroff"); - Endpoints[1628] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/virtualMachineScaleSets/{vmScaleSetName}/redeploy"); - Endpoints[1629] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/virtualMachineScaleSets/{vmScaleSetName}/reimage"); - Endpoints[1630] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/virtualMachineScaleSets/{vmScaleSetName}/reimageall"); - Endpoints[1631] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/virtualMachineScaleSets/{vmScaleSetName}/restart"); - Endpoints[1632] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/virtualMachineScaleSets/{vmScaleSetName}/skus"); - Endpoints[1633] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/virtualMachineScaleSets/{vmScaleSetName}/start"); - Endpoints[1634] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerRegistry/registries/{registryName}/builds"); - Endpoints[1635] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerRegistry/registries/{registryName}/buildTasks"); - Endpoints[1636] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerRegistry/registries/{registryName}/getBuildSourceUploadUrl"); - Endpoints[1637] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerRegistry/registries/{registryName}/getCredentials"); - Endpoints[1638] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerRegistry/registries/{registryName}/importImage"); - Endpoints[1639] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerRegistry/registries/{registryName}/listCredentials"); - Endpoints[1640] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerRegistry/registries/{registryName}/listUsages"); - Endpoints[1641] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerRegistry/registries/{registryName}/queueBuild"); - Endpoints[1642] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerRegistry/registries/{registryName}/regenerateCredential"); - Endpoints[1643] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerRegistry/registries/{registryName}/regenerateCredentials"); - Endpoints[1644] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerRegistry/registries/{registryName}/replications"); - Endpoints[1645] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerRegistry/registries/{registryName}/webhooks"); - Endpoints[1646] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.CustomerInsights/hubs/{hubName}/authorizationPolicies"); - Endpoints[1647] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.CustomerInsights/hubs/{hubName}/connectors"); - Endpoints[1648] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.CustomerInsights/hubs/{hubName}/interactions"); - Endpoints[1649] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.CustomerInsights/hubs/{hubName}/kpi"); - Endpoints[1650] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.CustomerInsights/hubs/{hubName}/links"); - Endpoints[1651] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.CustomerInsights/hubs/{hubName}/predictions"); - Endpoints[1652] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.CustomerInsights/hubs/{hubName}/profiles"); - Endpoints[1653] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.CustomerInsights/hubs/{hubName}/relationshipLinks"); - Endpoints[1654] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.CustomerInsights/hubs/{hubName}/relationships"); - Endpoints[1655] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.CustomerInsights/hubs/{hubName}/roleAssignments"); - Endpoints[1656] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.CustomerInsights/hubs/{hubName}/roles"); - Endpoints[1657] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.CustomerInsights/hubs/{hubName}/views"); - Endpoints[1658] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.CustomerInsights/hubs/{hubName}/widgetTypes"); - Endpoints[1659] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataBox/jobs/{jobName}/bookShipmentPickUp"); - Endpoints[1660] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataBox/jobs/{jobName}/cancel"); - Endpoints[1661] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataBox/jobs/{jobName}/copyLogsUri"); - Endpoints[1662] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataBox/jobs/{jobName}/downloadShippingLabel"); - Endpoints[1663] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataBox/jobs/{jobName}/listSecrets"); - Endpoints[1664] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataBox/jobs/{jobName}/reportIssue"); - Endpoints[1665] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataFactory/factories/{factoryName}/datasets"); - Endpoints[1666] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataFactory/factories/{factoryName}/integrationRuntimes"); - Endpoints[1667] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataFactory/factories/{factoryName}/linkedservices"); - Endpoints[1668] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataFactory/factories/{factoryName}/pipelineruns"); - Endpoints[1669] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataFactory/factories/{factoryName}/pipelines"); - Endpoints[1670] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataFactory/factories/{factoryName}/triggers"); - Endpoints[1671] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataLakeAnalytics/accounts/{accountName}/computePolicies"); - Endpoints[1672] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataLakeAnalytics/accounts/{accountName}/dataLakeStoreAccounts"); - Endpoints[1673] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataLakeAnalytics/accounts/{accountName}/firewallRules"); - Endpoints[1674] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataLakeAnalytics/accounts/{accountName}/storageAccounts"); - Endpoints[1675] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataLakeStore/accounts/{accountName}/enableKeyVault"); - Endpoints[1676] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataLakeStore/accounts/{accountName}/firewallRules"); - Endpoints[1677] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataLakeStore/accounts/{accountName}/trustedIdProviders"); - Endpoints[1678] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataLakeStore/accounts/{accountName}/virtualNetworkRules"); - Endpoints[1679] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBforMySQL/servers/{serverName}/configurations"); - Endpoints[1680] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBforMySQL/servers/{serverName}/databases"); - Endpoints[1681] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBforMySQL/servers/{serverName}/firewallRules"); - Endpoints[1682] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBforMySQL/servers/{serverName}/logFiles"); - Endpoints[1683] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBforMySQL/servers/{serverName}/virtualNetworkRules"); - Endpoints[1684] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBforPostgreSQL/servers/{serverName}/configurations"); - Endpoints[1685] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBforPostgreSQL/servers/{serverName}/databases"); - Endpoints[1686] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBforPostgreSQL/servers/{serverName}/firewallRules"); - Endpoints[1687] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBforPostgreSQL/servers/{serverName}/logFiles"); - Endpoints[1688] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBforPostgreSQL/servers/{serverName}/virtualNetworkRules"); - Endpoints[1689] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Devices/IotHubs/{iotHubName}/routingEndpointsHealth"); - Endpoints[1690] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Devices/IotHubs/{resourceName}/certificates"); - Endpoints[1691] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Devices/IotHubs/{resourceName}/exportDevices"); - Endpoints[1692] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Devices/IotHubs/{resourceName}/importDevices"); - Endpoints[1693] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Devices/IotHubs/{resourceName}/IotHubStats"); - Endpoints[1694] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Devices/IotHubs/{resourceName}/jobs"); - Endpoints[1695] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Devices/IotHubs/{resourceName}/listkeys"); - Endpoints[1696] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Devices/IotHubs/{resourceName}/quotaMetrics"); - Endpoints[1697] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Devices/IotHubs/{resourceName}/skus"); - Endpoints[1698] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Devices/provisioningServices/{provisioningServiceName}/certificates"); - Endpoints[1699] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Devices/provisioningServices/{provisioningServiceName}/listkeys"); - Endpoints[1700] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Devices/provisioningServices/{provisioningServiceName}/skus"); - Endpoints[1701] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DevTestLab/labs/{labName}/artifactsources"); - Endpoints[1702] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DevTestLab/labs/{labName}/costinsights"); - Endpoints[1703] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DevTestLab/labs/{labName}/costs"); - Endpoints[1704] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DevTestLab/labs/{labName}/customimages"); - Endpoints[1705] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DevTestLab/labs/{labName}/formulas"); - Endpoints[1706] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DevTestLab/labs/{labName}/galleryimages"); - Endpoints[1707] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DevTestLab/labs/{labName}/notificationchannels"); - Endpoints[1708] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DevTestLab/labs/{labName}/schedules"); - Endpoints[1709] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DevTestLab/labs/{labName}/servicerunners"); - Endpoints[1710] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DevTestLab/labs/{labName}/users"); - Endpoints[1711] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DevTestLab/labs/{labName}/virtualmachines"); - Endpoints[1712] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DevTestLab/labs/{labName}/virtualnetworks"); - Endpoints[1713] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DevTestLab/labs/{name}/claimAnyVm"); - Endpoints[1714] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DevTestLab/labs/{name}/createEnvironment"); - Endpoints[1715] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DevTestLab/labs/{name}/exportResourceUsage"); - Endpoints[1716] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DevTestLab/labs/{name}/generateUploadUri"); - Endpoints[1717] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DevTestLab/labs/{name}/listVhds"); - Endpoints[1718] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DevTestLab/schedules/{name}/execute"); - Endpoints[1719] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DevTestLab/schedules/{name}/retarget"); - Endpoints[1720] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/failoverPriorityChange"); - Endpoints[1721] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/listConnectionStrings"); - Endpoints[1722] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/listKeys"); - Endpoints[1723] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/metricDefinitions"); - Endpoints[1724] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/metrics"); - Endpoints[1725] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/offlineRegion"); - Endpoints[1726] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/onlineRegion"); - Endpoints[1727] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/readonlykeys"); - Endpoints[1728] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/regenerateKey"); - Endpoints[1729] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/usages"); - Endpoints[1730] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DomainRegistration/domains/{domainName}/domainOwnershipIdentifiers"); - Endpoints[1731] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DomainRegistration/domains/{domainName}/renew"); - Endpoints[1732] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.EventGrid/locations/{location}/eventSubscriptions"); - Endpoints[1733] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.EventGrid/topics/{topicName}/listKeys"); - Endpoints[1734] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.EventGrid/topics/{topicName}/regenerateKey"); - Endpoints[1735] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.EventGrid/topicTypes/{topicTypeName}/eventSubscriptions"); - Endpoints[1736] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.EventHub/namespaces/{namespaceName}/AuthorizationRules"); - Endpoints[1737] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.EventHub/namespaces/{namespaceName}/disasterRecoveryConfigs"); - Endpoints[1738] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.EventHub/namespaces/{namespaceName}/eventhubs"); - Endpoints[1739] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.EventHub/namespaces/{namespaceName}/messagingplan"); - Endpoints[1740] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Fabric.Admin/fabricLocations/{location}/edgeGatewayPools"); - Endpoints[1741] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Fabric.Admin/fabricLocations/{location}/edgeGateways"); - Endpoints[1742] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Fabric.Admin/fabricLocations/{location}/fileShares"); - Endpoints[1743] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Fabric.Admin/fabricLocations/{location}/infraRoleInstances"); - Endpoints[1744] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Fabric.Admin/fabricLocations/{location}/infraRoles"); - Endpoints[1745] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Fabric.Admin/fabricLocations/{location}/ipPools"); - Endpoints[1746] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Fabric.Admin/fabricLocations/{location}/logicalNetworks"); - Endpoints[1747] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Fabric.Admin/fabricLocations/{location}/macAddressPools"); - Endpoints[1748] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Fabric.Admin/fabricLocations/{location}/scaleUnitNodes"); - Endpoints[1749] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Fabric.Admin/fabricLocations/{location}/scaleUnits"); - Endpoints[1750] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Fabric.Admin/fabricLocations/{location}/slbMuxInstances"); - Endpoints[1751] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Fabric.Admin/fabricLocations/{location}/storageSubSystems"); - Endpoints[1752] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.HDInsight/clusters/{clusterName}/applications"); - Endpoints[1753] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.HDInsight/clusters/{clusterName}/executeScriptActions"); - Endpoints[1754] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.HDInsight/clusters/{clusterName}/scriptActions"); - Endpoints[1755] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.HDInsight/clusters/{clusterName}/scriptExecutionHistory"); - Endpoints[1756] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ImportExport/jobs/{jobName}/listBitLockerKeys"); - Endpoints[1757] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.InfrastructureInsights.Admin/regionHealths/{location}/alerts"); - Endpoints[1758] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.InfrastructureInsights.Admin/regionHealths/{location}/serviceHealths"); - Endpoints[1759] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/microsoft.insights/actionGroups/{actionGroupName}/subscribe"); - Endpoints[1760] = CreateEndpoint("/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/microsoft.insights/alertrules/{ruleName}/incidents"); - Endpoints[1761] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Insights/components/{componentName}/webtests"); - Endpoints[1762] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Insights/components/{resourceName}/Annotations"); - Endpoints[1763] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Insights/components/{resourceName}/ApiKeys"); - Endpoints[1764] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Insights/components/{resourceName}/currentbillingfeatures"); - Endpoints[1765] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Insights/components/{resourceName}/DefaultWorkItemConfig"); - Endpoints[1766] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Insights/components/{resourceName}/exportconfiguration"); - Endpoints[1767] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Insights/components/{resourceName}/favorites"); - Endpoints[1768] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Insights/components/{resourceName}/featurecapabilities"); - Endpoints[1769] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Insights/components/{resourceName}/getavailablebillingfeatures"); - Endpoints[1770] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Insights/components/{resourceName}/ProactiveDetectionConfigs"); - Endpoints[1771] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Insights/components/{resourceName}/purge"); - Endpoints[1772] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Insights/components/{resourceName}/quotastatus"); - Endpoints[1773] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Insights/components/{resourceName}/syntheticmonitorlocations"); - Endpoints[1774] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Insights/components/{resourceName}/WorkItemConfigs"); - Endpoints[1775] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Insights/metricAlerts/{ruleName}/status"); - Endpoints[1776] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.KeyVault/vaults/{vaultName}/secrets"); - Endpoints[1777] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Logic/integrationAccounts/{integrationAccountName}/agreements"); - Endpoints[1778] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Logic/integrationAccounts/{integrationAccountName}/assemblies"); - Endpoints[1779] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Logic/integrationAccounts/{integrationAccountName}/batchConfigurations"); - Endpoints[1780] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Logic/integrationAccounts/{integrationAccountName}/certificates"); - Endpoints[1781] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Logic/integrationAccounts/{integrationAccountName}/listCallbackUrl"); - Endpoints[1782] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Logic/integrationAccounts/{integrationAccountName}/listKeyVaultKeys"); - Endpoints[1783] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Logic/integrationAccounts/{integrationAccountName}/logTrackingEvents"); - Endpoints[1784] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Logic/integrationAccounts/{integrationAccountName}/maps"); - Endpoints[1785] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Logic/integrationAccounts/{integrationAccountName}/partners"); - Endpoints[1786] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Logic/integrationAccounts/{integrationAccountName}/regenerateAccessKey"); - Endpoints[1787] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Logic/integrationAccounts/{integrationAccountName}/schemas"); - Endpoints[1788] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Logic/integrationAccounts/{integrationAccountName}/sessions"); - Endpoints[1789] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Logic/workflows/{workflowName}/accessKeys"); - Endpoints[1790] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Logic/workflows/{workflowName}/disable"); - Endpoints[1791] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Logic/workflows/{workflowName}/enable"); - Endpoints[1792] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Logic/workflows/{workflowName}/generateUpgradedDefinition"); - Endpoints[1793] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Logic/workflows/{workflowName}/listCallbackUrl"); - Endpoints[1794] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Logic/workflows/{workflowName}/listSwagger"); - Endpoints[1795] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Logic/workflows/{workflowName}/move"); - Endpoints[1796] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Logic/workflows/{workflowName}/regenerateAccessKey"); - Endpoints[1797] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Logic/workflows/{workflowName}/run"); - Endpoints[1798] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Logic/workflows/{workflowName}/runs"); - Endpoints[1799] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Logic/workflows/{workflowName}/triggers/"); - Endpoints[1800] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Logic/workflows/{workflowName}/validate"); - Endpoints[1801] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Logic/workflows/{workflowName}/versions"); - Endpoints[1802] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.MachineLearning/commitmentPlans/{commitmentPlanName}/commitmentAssociations"); - Endpoints[1803] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.MachineLearning/commitmentPlans/{commitmentPlanName}/usageHistory"); - Endpoints[1804] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.MachineLearning/webServices/{webServiceName}/CreateRegionalBlob"); - Endpoints[1805] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.MachineLearning/webServices/{webServiceName}/listKeys"); - Endpoints[1806] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.MachineLearning/workspaces/{workspaceName}/listWorkspaceKeys"); - Endpoints[1807] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.MachineLearning/workspaces/{workspaceName}/resyncStorageKeys"); - Endpoints[1808] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.MachineLearningCompute/operationalizationClusters/{clusterName}/checkSystemServicesUpdatesAvailable"); - Endpoints[1809] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.MachineLearningCompute/operationalizationClusters/{clusterName}/checkUpdate"); - Endpoints[1810] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.MachineLearningCompute/operationalizationClusters/{clusterName}/listKeys"); - Endpoints[1811] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.MachineLearningCompute/operationalizationClusters/{clusterName}/updateSystem"); - Endpoints[1812] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.MachineLearningCompute/operationalizationClusters/{clusterName}/updateSystemServices"); - Endpoints[1813] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.MachineLearningExperimentation/accounts/{accountName}/workspaces"); - Endpoints[1814] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.MachineLearningServices/workspaces/{workspaceName}/listKeys"); - Endpoints[1815] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.MachineLearningServices/workspaces/{workspaceName}/resyncKeys"); - Endpoints[1816] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Maps/accounts/{accountName}/listKeys"); - Endpoints[1817] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Maps/accounts/{accountName}/regenerateKey"); - Endpoints[1818] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Media/mediaServices/{accountName}/assets"); - Endpoints[1819] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Media/mediaServices/{accountName}/contentKeyPolicies"); - Endpoints[1820] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Media/mediaservices/{accountName}/liveEvents"); - Endpoints[1821] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Media/mediaservices/{accountName}/streamingEndpoints"); - Endpoints[1822] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Media/mediaServices/{accountName}/streamingLocators"); - Endpoints[1823] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Media/mediaServices/{accountName}/streamingPolicies"); - Endpoints[1824] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Media/mediaServices/{accountName}/transforms"); - Endpoints[1825] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Media/mediaservices/{mediaServiceName}/listKeys"); - Endpoints[1826] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Media/mediaservices/{mediaServiceName}/regenerateKey"); - Endpoints[1827] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Media/mediaservices/{mediaServiceName}/syncStorageKeys"); - Endpoints[1828] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Migrate/projects/{projectName}/assessments"); - Endpoints[1829] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Migrate/projects/{projectName}/groups"); - Endpoints[1830] = CreateEndpoint("/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.Migrate/projects/{projectName}/keys"); - Endpoints[1831] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Migrate/projects/{projectName}/machines"); - Endpoints[1832] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/applicationGateways/{applicationGatewayName}/backendhealth"); - Endpoints[1833] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/applicationGateways/{applicationGatewayName}/start"); - Endpoints[1834] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/applicationGateways/{applicationGatewayName}/stop"); - Endpoints[1835] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/connections/{virtualNetworkGatewayConnectionName}/sharedkey"); - Endpoints[1836] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/connections/{virtualNetworkGatewayConnectionName}/vpndeviceconfigurationscript"); - Endpoints[1837] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/dnsZones/{zoneName}/all"); - Endpoints[1838] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/dnsZones/{zoneName}/recordsets"); - Endpoints[1839] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/expressRouteCircuits/{circuitName}/arpTable"); - Endpoints[1840] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/expressRouteCircuits/{circuitName}/authorizations"); - Endpoints[1841] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/expressRouteCircuits/{circuitName}/peerings"); - Endpoints[1842] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/expressRouteCircuits/{circuitName}/routesTable"); - Endpoints[1843] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/expressRouteCircuits/{circuitName}/stats"); - Endpoints[1844] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/expressRouteCrossConnections/{crossConnectionName}/peerings"); - Endpoints[1845] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/loadBalancers/{loadBalancerName}/backendAddressPools"); - Endpoints[1846] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/loadBalancers/{loadBalancerName}/frontendIPConfigurations"); - Endpoints[1847] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/loadBalancers/{loadBalancerName}/inboundNatRules"); - Endpoints[1848] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/loadBalancers/{loadBalancerName}/loadBalancingRules"); - Endpoints[1849] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/loadBalancers/{loadBalancerName}/networkInterfaces"); - Endpoints[1850] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/loadBalancers/{loadBalancerName}/probes"); - Endpoints[1851] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkInterfaces/{networkInterfaceName}/effectiveNetworkSecurityGroups"); - Endpoints[1852] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkInterfaces/{networkInterfaceName}/effectiveRouteTable"); - Endpoints[1853] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkInterfaces/{networkInterfaceName}/ipConfigurations"); - Endpoints[1854] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkInterfaces/{networkInterfaceName}/loadBalancers"); - Endpoints[1855] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkSecurityGroups/{networkSecurityGroupName}/defaultSecurityRules"); - Endpoints[1856] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkSecurityGroups/{networkSecurityGroupName}/securityRules"); - Endpoints[1857] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkWatchers/{networkWatcherName}/availableProvidersList"); - Endpoints[1858] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkWatchers/{networkWatcherName}/azureReachabilityReport"); - Endpoints[1859] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkWatchers/{networkWatcherName}/configureFlowLog"); - Endpoints[1860] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkWatchers/{networkWatcherName}/connectionMonitors"); - Endpoints[1861] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkWatchers/{networkWatcherName}/connectivityCheck"); - Endpoints[1862] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkWatchers/{networkWatcherName}/ipFlowVerify"); - Endpoints[1863] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkWatchers/{networkWatcherName}/nextHop"); - Endpoints[1864] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkWatchers/{networkWatcherName}/packetCaptures"); - Endpoints[1865] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkWatchers/{networkWatcherName}/queryFlowLogStatus"); - Endpoints[1866] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkWatchers/{networkWatcherName}/queryTroubleshootResult"); - Endpoints[1867] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkWatchers/{networkWatcherName}/securityGroupView"); - Endpoints[1868] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkWatchers/{networkWatcherName}/topology"); - Endpoints[1869] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkWatchers/{networkWatcherName}/troubleshoot"); - Endpoints[1870] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/routeFilters/{routeFilterName}/routeFilterRules"); - Endpoints[1871] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/routeTables/{routeTableName}/routes"); - Endpoints[1872] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworkGateways/{virtualNetworkGatewayName}/connections"); - Endpoints[1873] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworkGateways/{virtualNetworkGatewayName}/generatevpnclientpackage"); - Endpoints[1874] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworkGateways/{virtualNetworkGatewayName}/generatevpnprofile"); - Endpoints[1875] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworkGateways/{virtualNetworkGatewayName}/getAdvertisedRoutes"); - Endpoints[1876] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworkGateways/{virtualNetworkGatewayName}/getBgpPeerStatus"); - Endpoints[1877] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworkGateways/{virtualNetworkGatewayName}/getLearnedRoutes"); - Endpoints[1878] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworkGateways/{virtualNetworkGatewayName}/getvpnclientipsecparameters"); - Endpoints[1879] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworkGateways/{virtualNetworkGatewayName}/getvpnprofilepackageurl"); - Endpoints[1880] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworkGateways/{virtualNetworkGatewayName}/reset"); - Endpoints[1881] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworkGateways/{virtualNetworkGatewayName}/setvpnclientipsecparameters"); - Endpoints[1882] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworkGateways/{virtualNetworkGatewayName}/supportedvpndevices"); - Endpoints[1883] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworks/{virtualNetworkName}/CheckIPAddressAvailability"); - Endpoints[1884] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworks/{virtualNetworkName}/subnets"); - Endpoints[1885] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworks/{virtualNetworkName}/usages"); - Endpoints[1886] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworks/{virtualNetworkName}/virtualNetworkPeerings"); - Endpoints[1887] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.NotificationHubs/namespaces/{namespaceName}/AuthorizationRules"); - Endpoints[1888] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.NotificationHubs/namespaces/{namespaceName}/checkNotificationHubAvailability"); - Endpoints[1889] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.NotificationHubs/namespaces/{namespaceName}/notificationHubs"); - Endpoints[1890] = CreateEndpoint("/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.OperationalInsights/workspaces/{workspaceName}/dataSources"); - Endpoints[1891] = CreateEndpoint("/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.OperationalInsights/workspaces/{workspaceName}/intelligencePacks"); - Endpoints[1892] = CreateEndpoint("/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.OperationalInsights/workspaces/{workspaceName}/linkedServices"); - Endpoints[1893] = CreateEndpoint("/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.OperationalInsights/workspaces/{workspaceName}/managementGroups"); - Endpoints[1894] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.OperationalInsights/workspaces/{workspaceName}/purge"); - Endpoints[1895] = CreateEndpoint("/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.OperationalInsights/workspaces/{workspaceName}/savedSearches"); - Endpoints[1896] = CreateEndpoint("/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.OperationalInsights/workspaces/{workspaceName}/schema"); - Endpoints[1897] = CreateEndpoint("/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.OperationalInsights/workspaces/{workspaceName}/search"); - Endpoints[1898] = CreateEndpoint("/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.OperationalInsights/workspaces/{workspaceName}/sharedKeys"); - Endpoints[1899] = CreateEndpoint("/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.OperationalInsights/workspaces/{workspaceName}/storageInsightConfigs"); - Endpoints[1900] = CreateEndpoint("/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.OperationalInsights/workspaces/{workspaceName}/usages"); - Endpoints[1901] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.PolicyInsights/policyEvents/{policyEventsResource}/queryResults"); - Endpoints[1902] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.PolicyInsights/policyStates/{policyStatesResource}/queryResults"); - Endpoints[1903] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.PolicyInsights/policyStates/{policyStatesSummaryResource}/summarize"); - Endpoints[1904] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.PowerBI/workspaceCollections/{workspaceCollectionName}/listKeys"); - Endpoints[1905] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.PowerBI/workspaceCollections/{workspaceCollectionName}/regenerateKey"); - Endpoints[1906] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.PowerBI/workspaceCollections/{workspaceCollectionName}/workspaces"); - Endpoints[1907] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.PowerBIDedicated/capacities/{dedicatedCapacityName}/resume"); - Endpoints[1908] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.PowerBIDedicated/capacities/{dedicatedCapacityName}/skus"); - Endpoints[1909] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.PowerBIDedicated/capacities/{dedicatedCapacityName}/suspend"); - Endpoints[1910] = CreateEndpoint("/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationAlertSettings"); - Endpoints[1911] = CreateEndpoint("/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationEvents"); - Endpoints[1912] = CreateEndpoint("/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationFabrics"); - Endpoints[1913] = CreateEndpoint("/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationJobs"); - Endpoints[1914] = CreateEndpoint("/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationNetworkMappings"); - Endpoints[1915] = CreateEndpoint("/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationNetworks"); - Endpoints[1916] = CreateEndpoint("/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationPolicies"); - Endpoints[1917] = CreateEndpoint("/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationProtectedItems"); - Endpoints[1918] = CreateEndpoint("/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationProtectionContainerMappings"); - Endpoints[1919] = CreateEndpoint("/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationProtectionContainers"); - Endpoints[1920] = CreateEndpoint("/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationRecoveryPlans"); - Endpoints[1921] = CreateEndpoint("/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationRecoveryServicesProviders"); - Endpoints[1922] = CreateEndpoint("/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationStorageClassificationMappings"); - Endpoints[1923] = CreateEndpoint("/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationStorageClassifications"); - Endpoints[1924] = CreateEndpoint("/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationVaultHealth"); - Endpoints[1925] = CreateEndpoint("/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationvCenters"); - Endpoints[1926] = CreateEndpoint("/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupEngines"); - Endpoints[1927] = CreateEndpoint("/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupJobs"); - Endpoints[1928] = CreateEndpoint("/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupJobsExport"); - Endpoints[1929] = CreateEndpoint("/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupPolicies"); - Endpoints[1930] = CreateEndpoint("/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupProtectableItems"); - Endpoints[1931] = CreateEndpoint("/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupProtectedItems"); - Endpoints[1932] = CreateEndpoint("/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupProtectionContainers"); - Endpoints[1933] = CreateEndpoint("/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupSecurityPIN"); - Endpoints[1934] = CreateEndpoint("/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupUsageSummaries"); - Endpoints[1935] = CreateEndpoint("/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/replicationUsages"); - Endpoints[1936] = CreateEndpoint("/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/usages"); - Endpoints[1937] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Relay/namespaces/{namespaceName}/authorizationRules"); - Endpoints[1938] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Relay/namespaces/{namespaceName}/hybridConnections"); - Endpoints[1939] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Relay/namespaces/{namespaceName}/wcfRelays"); - Endpoints[1940] = CreateEndpoint("/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.Resources/deployments/{deploymentName}/cancel"); - Endpoints[1941] = CreateEndpoint("/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.Resources/deployments/{deploymentName}/exportTemplate"); - Endpoints[1942] = CreateEndpoint("/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.Resources/deployments/{deploymentName}/validate"); - Endpoints[1943] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Scheduler/jobCollections/{jobCollectionName}/disable"); - Endpoints[1944] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Scheduler/jobCollections/{jobCollectionName}/enable"); - Endpoints[1945] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Scheduler/jobCollections/{jobCollectionName}/jobs"); - Endpoints[1946] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Search/searchServices/{searchServiceName}/listAdminKeys"); - Endpoints[1947] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Search/searchServices/{searchServiceName}/listQueryKeys"); - Endpoints[1948] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Security/locations/{ascLocation}/alerts"); - Endpoints[1949] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Security/locations/{ascLocation}/jitNetworkAccessPolicies"); - Endpoints[1950] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Security/locations/{ascLocation}/tasks"); - Endpoints[1951] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ServerManagement/gateways/{gatewayName}/profile"); - Endpoints[1952] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ServerManagement/gateways/{gatewayName}/regenerateprofile"); - Endpoints[1953] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ServerManagement/gateways/{gatewayName}/upgradetolatest"); - Endpoints[1954] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ServiceBus/namespaces/{namespaceName}/AuthorizationRules"); - Endpoints[1955] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ServiceBus/namespaces/{namespaceName}/disasterRecoveryConfigs"); - Endpoints[1956] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ServiceBus/namespaces/{namespaceName}/eventhubs"); - Endpoints[1957] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ServiceBus/namespaces/{namespaceName}/messagingplan"); - Endpoints[1958] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ServiceBus/namespaces/{namespaceName}/migrationConfigurations"); - Endpoints[1959] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ServiceBus/namespaces/{namespaceName}/queues"); - Endpoints[1960] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ServiceBus/namespaces/{namespaceName}/topics"); - Endpoints[1961] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ServiceFabric/clusters/{clusterName}/applications"); - Endpoints[1962] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ServiceFabric/clusters/{clusterName}/applicationTypes"); - Endpoints[1963] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.SignalRService/SignalR/{resourceName}/listKeys"); - Endpoints[1964] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.SignalRService/SignalR/{resourceName}/regenerateKey"); - Endpoints[1965] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/locations/{locationName}/instanceFailoverGroups"); - Endpoints[1966] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/managedInstances/{managedInstanceName}/databases"); - Endpoints[1967] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/administrators"); - Endpoints[1968] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/advisors"); - Endpoints[1969] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/auditingPolicies"); - Endpoints[1970] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/backupLongTermRetentionVaults"); - Endpoints[1971] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/communicationLinks"); - Endpoints[1972] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/databases"); - Endpoints[1973] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/disasterRecoveryConfiguration"); - Endpoints[1974] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/dnsAliases"); - Endpoints[1975] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/elasticPools"); - Endpoints[1976] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/encryptionProtector"); - Endpoints[1977] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/failoverGroups"); - Endpoints[1978] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/firewallRules"); - Endpoints[1979] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/import"); - Endpoints[1980] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/jobAgents"); - Endpoints[1981] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/keys"); - Endpoints[1982] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/recommendedElasticPools"); - Endpoints[1983] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/recoverableDatabases"); - Endpoints[1984] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/restorableDroppedDatabases"); - Endpoints[1985] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/serviceObjectives"); - Endpoints[1986] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/syncAgents"); - Endpoints[1987] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/usages"); - Endpoints[1988] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/virtualNetworkRules"); - Endpoints[1989] = CreateEndpoint("/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.Storage.Admin/farms/{farmId}/acquisitions"); - Endpoints[1990] = CreateEndpoint("/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.Storage.Admin/farms/{farmId}/metricdefinitions"); - Endpoints[1991] = CreateEndpoint("/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.Storage.Admin/farms/{farmId}/metrics"); - Endpoints[1992] = CreateEndpoint("/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.Storage.Admin/farms/{farmId}/ondemandgc"); - Endpoints[1993] = CreateEndpoint("/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.Storage.Admin/farms/{farmId}/shares"); - Endpoints[1994] = CreateEndpoint("/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.Storage.Admin/farms/{farmId}/storageaccounts"); - Endpoints[1995] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Storage/storageAccounts/{accountName}/ListAccountSas"); - Endpoints[1996] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Storage/storageAccounts/{accountName}/listKeys"); - Endpoints[1997] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Storage/storageAccounts/{accountName}/ListServiceSas"); - Endpoints[1998] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Storage/storageAccounts/{accountName}/regenerateKey"); - Endpoints[1999] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.StorSimple/managers/{managerName}/accessControlRecords"); - Endpoints[2000] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.StorSimple/managers/{managerName}/alerts"); - Endpoints[2001] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.StorSimple/managers/{managerName}/bandwidthSettings"); - Endpoints[2002] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.StorSimple/managers/{managerName}/clearAlerts"); - Endpoints[2003] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.StorSimple/managers/{managerName}/cloudApplianceConfigurations"); - Endpoints[2004] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.StorSimple/managers/{managerName}/configureDevice"); - Endpoints[2005] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.StorSimple/managers/{managerName}/devices"); - Endpoints[2006] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.StorSimple/managers/{managerName}/features"); - Endpoints[2007] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.StorSimple/managers/{managerName}/jobs"); - Endpoints[2008] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.StorSimple/managers/{managerName}/listActivationKey"); - Endpoints[2009] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.StorSimple/managers/{managerName}/listPublicEncryptionKey"); - Endpoints[2010] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.StorSimple/managers/{managerName}/metrics"); - Endpoints[2011] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.StorSimple/managers/{managerName}/metricsDefinitions"); - Endpoints[2012] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.StorSimple/managers/{managerName}/provisionCloudAppliance"); - Endpoints[2013] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.StorSimple/managers/{managerName}/regenerateActivationKey"); - Endpoints[2014] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.StorSimple/managers/{managerName}/storageAccountCredentials"); - Endpoints[2015] = CreateEndpoint("/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.StreamAnalytics/streamingjobs/{jobName}/functions"); - Endpoints[2016] = CreateEndpoint("/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.StreamAnalytics/streamingjobs/{jobName}/inputs"); - Endpoints[2017] = CreateEndpoint("/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.StreamAnalytics/streamingjobs/{jobName}/outputs"); - Endpoints[2018] = CreateEndpoint("/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.StreamAnalytics/streamingjobs/{jobName}/start"); - Endpoints[2019] = CreateEndpoint("/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.StreamAnalytics/streamingjobs/{jobName}/stop"); - Endpoints[2020] = CreateEndpoint("/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.Subscriptions.Admin/offers/{offer}/link"); - Endpoints[2021] = CreateEndpoint("/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.Subscriptions.Admin/offers/{offer}/MetricDefinitions"); - Endpoints[2022] = CreateEndpoint("/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.Subscriptions.Admin/offers/{offer}/Metrics"); - Endpoints[2023] = CreateEndpoint("/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.Subscriptions.Admin/offers/{offer}/offerDelegations"); - Endpoints[2024] = CreateEndpoint("/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.Subscriptions.Admin/offers/{offer}/unlink"); - Endpoints[2025] = CreateEndpoint("/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.Subscriptions.Admin/plans/{plan}/MetricDefinitions"); - Endpoints[2026] = CreateEndpoint("/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.Subscriptions.Admin/plans/{plan}/Metrics"); - Endpoints[2027] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.TimeSeriesInsights/environments/{environmentName}/accessPolicies"); - Endpoints[2028] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.TimeSeriesInsights/environments/{environmentName}/eventSources"); - Endpoints[2029] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.TimeSeriesInsights/environments/{environmentName}/referenceDataSets"); - Endpoints[2030] = CreateEndpoint("/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.Update.Admin/updateLocations/{updateLocation}/updates"); - Endpoints[2031] = CreateEndpoint("/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/microsoft.visualstudio/account/{accountResourceName}/extension"); - Endpoints[2032] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/microsoft.visualstudio/account/{rootResourceName}/project"); - Endpoints[2033] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web.Admin/environments/{environmentName}/usage"); - Endpoints[2034] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/connections/{connectionName}/confirmConsentCode"); - Endpoints[2035] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/connections/{connectionName}/listConnectionKeys"); - Endpoints[2036] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/connections/{connectionName}/listConsentLinks"); - Endpoints[2037] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/customApis/{apiName}/move"); - Endpoints[2038] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/hostingEnvironments/{name}/changeVirtualNetwork"); - Endpoints[2039] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/hostingEnvironments/{name}/detectors"); - Endpoints[2040] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/hostingEnvironments/{name}/diagnostics"); - Endpoints[2041] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/hostingEnvironments/{name}/metricdefinitions"); - Endpoints[2042] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/hostingEnvironments/{name}/metrics"); - Endpoints[2043] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/hostingEnvironments/{name}/multiRolePools"); - Endpoints[2044] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/hostingEnvironments/{name}/operations"); - Endpoints[2045] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/hostingEnvironments/{name}/reboot"); - Endpoints[2046] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/hostingEnvironments/{name}/resume"); - Endpoints[2047] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/hostingEnvironments/{name}/serverfarms"); - Endpoints[2048] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/hostingEnvironments/{name}/sites"); - Endpoints[2049] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/hostingEnvironments/{name}/suspend"); - Endpoints[2050] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/hostingEnvironments/{name}/syncVirtualNetwork"); - Endpoints[2051] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/hostingEnvironments/{name}/usages"); - Endpoints[2052] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/hostingEnvironments/{name}/webhostingplans"); - Endpoints[2053] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/hostingEnvironments/{name}/workerPools"); - Endpoints[2054] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/managedHostingEnvironments/{name}/serverfarms"); - Endpoints[2055] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/managedHostingEnvironments/{name}/sites"); - Endpoints[2056] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/managedHostingEnvironments/{name}/webhostingplans"); - Endpoints[2057] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/serverfarms/{name}/capabilities"); - Endpoints[2058] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/serverfarms/{name}/hybridConnectionRelays"); - Endpoints[2059] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/serverfarms/{name}/metricdefinitions"); - Endpoints[2060] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/serverfarms/{name}/metrics"); - Endpoints[2061] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/serverfarms/{name}/restartSites"); - Endpoints[2062] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/serverfarms/{name}/sites"); - Endpoints[2063] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/serverfarms/{name}/skus"); - Endpoints[2064] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/serverfarms/{name}/usages"); - Endpoints[2065] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/serverfarms/{name}/virtualNetworkConnections"); - Endpoints[2066] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/analyzeCustomHostname"); - Endpoints[2067] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/applySlotConfig"); - Endpoints[2068] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/backup"); - Endpoints[2069] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/backups"); - Endpoints[2070] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/config"); - Endpoints[2071] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/containerlogs"); - Endpoints[2072] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/continuouswebjobs"); - Endpoints[2073] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/deployments"); - Endpoints[2074] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/domainOwnershipIdentifiers"); - Endpoints[2075] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/functions"); - Endpoints[2076] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/hostNameBindings"); - Endpoints[2077] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/hybridconnection"); - Endpoints[2078] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/hybridConnectionRelays"); - Endpoints[2079] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/instances"); - Endpoints[2080] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/iscloneable"); - Endpoints[2081] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/listsyncfunctiontriggerstatus"); - Endpoints[2082] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/metricdefinitions"); - Endpoints[2083] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/metrics"); - Endpoints[2084] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/migrate"); - Endpoints[2085] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/migratemysql"); - Endpoints[2086] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/newpassword"); - Endpoints[2087] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/perfcounters"); - Endpoints[2088] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/phplogging"); - Endpoints[2089] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/premieraddons"); - Endpoints[2090] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/processes"); - Endpoints[2091] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/publicCertificates"); - Endpoints[2092] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/publishxml"); - Endpoints[2093] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/recover"); - Endpoints[2094] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/resetSlotConfig"); - Endpoints[2095] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/resourceHealthMetadata"); - Endpoints[2096] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/restart"); - Endpoints[2097] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/restoreFromBackupBlob"); - Endpoints[2098] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/restoreFromDeletedApp"); - Endpoints[2099] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/restoreSnapshot"); - Endpoints[2100] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/siteextensions"); - Endpoints[2101] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots"); - Endpoints[2102] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slotsdiffs"); - Endpoints[2103] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slotsswap"); - Endpoints[2104] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/snapshots"); - Endpoints[2105] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/start"); - Endpoints[2106] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/stop"); - Endpoints[2107] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/sync"); - Endpoints[2108] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/syncfunctiontriggers"); - Endpoints[2109] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/triggeredwebjobs"); - Endpoints[2110] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/usages"); - Endpoints[2111] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/virtualNetworkConnections"); - Endpoints[2112] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/webjobs"); - Endpoints[2113] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{siteName}/detectors"); - Endpoints[2114] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{siteName}/diagnostics"); - Endpoints[2115] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{siteName}/recommendationHistory"); - Endpoints[2116] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{siteName}/recommendations"); - Endpoints[2117] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/portalsettings/delegation"); - Endpoints[2118] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/portalsettings/signin"); - Endpoints[2119] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/portalsettings/signup"); - Endpoints[2120] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/reports/byApi"); - Endpoints[2121] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/reports/byGeo"); - Endpoints[2122] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/reports/byOperation"); - Endpoints[2123] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/reports/byProduct"); - Endpoints[2124] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/reports/byRequest"); - Endpoints[2125] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/reports/bySubscription"); - Endpoints[2126] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/reports/byTime"); - Endpoints[2127] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/reports/byUser"); - Endpoints[2128] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/tenant/access"); - Endpoints[2129] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/tenant/policy"); - Endpoints[2130] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Automation/automationAccounts/{automationAccountName}/agentRegistrationInformation/regenerateKey"); - Endpoints[2131] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Automation/automationAccounts/{automationAccountName}/webhooks/generateUri"); - Endpoints[2132] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Cache/Redis/{name}/patchSchedules/default"); - Endpoints[2133] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/virtualMachineScaleSets/{vmScaleSetName}/rollingUpgrades/cancel"); - Endpoints[2134] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/virtualMachineScaleSets/{vmScaleSetName}/rollingUpgrades/latest"); - Endpoints[2135] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}/upgradeProfiles/default"); - Endpoints[2136] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.CustomerInsights/hubs/{hubName}/images/getDataImageUploadUrl"); - Endpoints[2137] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.CustomerInsights/hubs/{hubName}/images/getEntityTypeImageUploadUrl"); - Endpoints[2138] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/percentile/metrics"); - Endpoints[2139] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.EventHub/clusters/{clusterName}/quotaConfiguration/default"); - Endpoints[2140] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.EventHub/namespaces/{namespaceName}/disasterRecoveryConfigs/CheckNameAvailability"); - Endpoints[2141] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.HDInsight/clusters/{clusterName}/extensions/clustermonitoring"); - Endpoints[2142] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/microsoft.insights/components/{resourceName}/pricingPlans/current"); - Endpoints[2143] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/connections/{virtualNetworkGatewayConnectionName}/sharedkey/reset"); - Endpoints[2144] = CreateEndpoint("/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationJobs/export"); - Endpoints[2145] = CreateEndpoint("/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupconfig/vaultconfig"); - Endpoints[2146] = CreateEndpoint("/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupstorageconfig/vaultstorageconfig"); - Endpoints[2147] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/extendedInformation/vaultExtendedInfo"); - Endpoints[2148] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ServiceBus/namespaces/{namespaceName}/disasterRecoveryConfigs/CheckNameAvailability"); - Endpoints[2149] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/automaticTuning/current"); - Endpoints[2150] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.StorSimple/managers/{managerName}/encryptionSettings/default"); - Endpoints[2151] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.StorSimple/managers/{managerName}/extendedInformation/vaultExtendedInfo"); - Endpoints[2152] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/hostingEnvironments/{name}/capacities/compute"); - Endpoints[2153] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/hostingEnvironments/{name}/capacities/virtualip"); - Endpoints[2154] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/hostingEnvironments/{name}/multiRolePools/default"); - Endpoints[2155] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/managedHostingEnvironments/{name}/capacities/virtualip"); - Endpoints[2156] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/serverfarms/{name}/hybridConnectionPlanLimits/limit"); - Endpoints[2157] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/backups/discover"); - Endpoints[2158] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/config/appsettings"); - Endpoints[2159] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/config/authsettings"); - Endpoints[2160] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/config/backup"); - Endpoints[2161] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/config/connectionstrings"); - Endpoints[2162] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/config/logs"); - Endpoints[2163] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/config/metadata"); - Endpoints[2164] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/config/pushsettings"); - Endpoints[2165] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/config/slotConfigNames"); - Endpoints[2166] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/config/web"); - Endpoints[2167] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/extensions/MSDeploy"); - Endpoints[2168] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/migratemysql/status"); - Endpoints[2169] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/networkTrace/start"); - Endpoints[2170] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/networkTrace/stop"); - Endpoints[2171] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/privateAccess/virtualNetworks"); - Endpoints[2172] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/resourceHealthMetadata/default"); - Endpoints[2173] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/sourcecontrols/web"); - Endpoints[2174] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{siteName}/recommendations/disable"); - Endpoints[2175] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{siteName}/recommendations/reset"); - Endpoints[2176] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/tenant/access/git"); - Endpoints[2177] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/tenant/access/regeneratePrimaryKey"); - Endpoints[2178] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/tenant/access/regenerateSecondaryKey"); - Endpoints[2179] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/tenant/configuration/deploy"); - Endpoints[2180] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/tenant/configuration/save"); - Endpoints[2181] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/tenant/configuration/syncState"); - Endpoints[2182] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/tenant/configuration/validate"); - Endpoints[2183] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Devices/IotHubs/{iotHubName}/routing/routes/$testall"); - Endpoints[2184] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Devices/IotHubs/{iotHubName}/routing/routes/$testnew"); - Endpoints[2185] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.OperationalInsights/workspaces/{workspaceName}/features/serviceMap/generateMap"); - Endpoints[2186] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.OperationalInsights/workspaces/{workspaceName}/features/serviceMap/machineGroups"); - Endpoints[2187] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.OperationalInsights/workspaces/{workspaceName}/features/serviceMap/machines"); - Endpoints[2188] = CreateEndpoint("/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationVaultHealth/default/refresh"); - Endpoints[2189] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Storage/storageAccounts/{accountName}/blobServices/default/containers"); - Endpoints[2190] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/hostingEnvironments/{name}/multiRolePools/default/metricdefinitions"); - Endpoints[2191] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/hostingEnvironments/{name}/multiRolePools/default/metrics"); - Endpoints[2192] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/hostingEnvironments/{name}/multiRolePools/default/skus"); - Endpoints[2193] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/hostingEnvironments/{name}/multiRolePools/default/usages"); - Endpoints[2194] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/config/appsettings/list"); - Endpoints[2195] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/config/authsettings/list"); - Endpoints[2196] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/config/backup/list"); - Endpoints[2197] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/config/connectionstrings/list"); - Endpoints[2198] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/config/metadata/list"); - Endpoints[2199] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/config/publishingcredentials/list"); - Endpoints[2200] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/config/pushsettings/list"); - Endpoints[2201] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/config/web/snapshots"); - Endpoints[2202] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/containerlogs/zip/download"); - Endpoints[2203] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/extensions/MSDeploy/log"); - Endpoints[2204] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/functions/admin/token"); - Endpoints[2205] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/tenant/access/git/regeneratePrimaryKey"); - Endpoints[2206] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/tenant/access/git/regenerateSecondaryKey"); - Endpoints[2207] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.OperationalInsights/workspaces/{workspaceName}/features/serviceMap/summaries/machines"); - Endpoints[2208] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.OperationalInsights/workspaces/{workspaceName}/features/serviceMap/clientGroups/{clientGroupName}"); - Endpoints[2209] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.OperationalInsights/workspaces/{workspaceName}/features/serviceMap/machineGroups/{machineGroupName}"); - Endpoints[2210] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.OperationalInsights/workspaces/{workspaceName}/features/serviceMap/machines/{machineName}"); - Endpoints[2211] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Storage/storageAccounts/{accountName}/blobServices/default/containers/{containerName}"); - Endpoints[2212] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/config/web/snapshots/{snapshotId}"); - Endpoints[2213] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.OperationalInsights/workspaces/{workspaceName}/features/serviceMap/clientGroups/{clientGroupName}/members"); - Endpoints[2214] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.OperationalInsights/workspaces/{workspaceName}/features/serviceMap/clientGroups/{clientGroupName}/membersCount"); - Endpoints[2215] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.OperationalInsights/workspaces/{workspaceName}/features/serviceMap/machines/{machineName}/connections"); - Endpoints[2216] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.OperationalInsights/workspaces/{workspaceName}/features/serviceMap/machines/{machineName}/liveness"); - Endpoints[2217] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.OperationalInsights/workspaces/{workspaceName}/features/serviceMap/machines/{machineName}/machineGroups"); - Endpoints[2218] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.OperationalInsights/workspaces/{workspaceName}/features/serviceMap/machines/{machineName}/ports"); - Endpoints[2219] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.OperationalInsights/workspaces/{workspaceName}/features/serviceMap/machines/{machineName}/processes"); - Endpoints[2220] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Storage/storageAccounts/{accountName}/blobServices/default/containers/{containerName}/clearLegalHold"); - Endpoints[2221] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Storage/storageAccounts/{accountName}/blobServices/default/containers/{containerName}/setLegalHold"); - Endpoints[2222] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/hostingEnvironments/{name}/multiRolePools/default/instances/{instance}/metricdefinitions"); - Endpoints[2223] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/hostingEnvironments/{name}/multiRolePools/default/instances/{instance}/metrics"); - Endpoints[2224] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/config/web/snapshots/{snapshotId}/recover"); - Endpoints[2225] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Storage/storageAccounts/{accountName}/blobServices/default/containers/{containerName}/immutabilityPolicies/default/extend"); - Endpoints[2226] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Storage/storageAccounts/{accountName}/blobServices/default/containers/{containerName}/immutabilityPolicies/default/lock"); - Endpoints[2227] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.OperationalInsights/workspaces/{workspaceName}/features/serviceMap/machines/{machineName}/ports/{portName}"); - Endpoints[2228] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.OperationalInsights/workspaces/{workspaceName}/features/serviceMap/machines/{machineName}/processes/{processName}"); - Endpoints[2229] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Storage/storageAccounts/{accountName}/blobServices/default/containers/{containerName}/immutabilityPolicies/{immutabilityPolicyName}"); - Endpoints[2230] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.OperationalInsights/workspaces/{workspaceName}/features/serviceMap/machines/{machineName}/ports/{portName}/acceptingProcesses"); - Endpoints[2231] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.OperationalInsights/workspaces/{workspaceName}/features/serviceMap/machines/{machineName}/ports/{portName}/connections"); - Endpoints[2232] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.OperationalInsights/workspaces/{workspaceName}/features/serviceMap/machines/{machineName}/ports/{portName}/liveness"); - Endpoints[2233] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.OperationalInsights/workspaces/{workspaceName}/features/serviceMap/machines/{machineName}/processes/{processName}/acceptingPorts"); - Endpoints[2234] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.OperationalInsights/workspaces/{workspaceName}/features/serviceMap/machines/{machineName}/processes/{processName}/connections"); - Endpoints[2235] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.OperationalInsights/workspaces/{workspaceName}/features/serviceMap/machines/{machineName}/processes/{processName}/liveness"); - Endpoints[2236] = CreateEndpoint("/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupJobs/operationResults/{operationId}"); - Endpoints[2237] = CreateEndpoint("/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.Storage.Admin/farms/{farmId}/shares/operationresults/{operationId}"); - Endpoints[2238] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroup/{resourceGroupName}/providers/Microsoft.MachineLearningServices/workspaces/{workspaceName}/computes/{computeName}"); - Endpoints[2239] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{groupName}/providers/Microsoft.DataMigration/services/{serviceName}/projects/{projectName}"); - Endpoints[2240] = CreateEndpoint("/subscriptions/{subscriptionId}/resourcegroups/{resourceGroup}/providers/Microsoft.AzureBridge.Admin/activations/{activationName}/downloadedProducts/{productName}"); - Endpoints[2241] = CreateEndpoint("/subscriptions/{subscriptionId}/resourcegroups/{resourceGroup}/providers/Microsoft.AzureBridge.Admin/activations/{activationName}/products/{productName}"); - Endpoints[2242] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroup}/providers/Microsoft.AzureStack/registrations/{registrationName}/customerSubscriptions/{customerSubscriptionName}"); - Endpoints[2243] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroup}/providers/Microsoft.AzureStack/registrations/{registrationName}/products/{productName}"); - Endpoints[2244] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/apis/{apiId}"); - Endpoints[2245] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/api-version-sets/{versionSetId}"); - Endpoints[2246] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/authorizationServers/{authsid}"); - Endpoints[2247] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/backends/{backendid}"); - Endpoints[2248] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/certificates/{certificateId}"); - Endpoints[2249] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/diagnostics/{diagnosticId}"); - Endpoints[2250] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/groups/{groupId}"); - Endpoints[2251] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/identityProviders/{identityProviderName}"); - Endpoints[2252] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/loggers/{loggerid}"); - Endpoints[2253] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/notifications/{notificationName}"); - Endpoints[2254] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/openidConnectProviders/{opid}"); - Endpoints[2255] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/policies/{policyId}"); - Endpoints[2256] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/products/{productId}"); - Endpoints[2257] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/properties/{propId}"); - Endpoints[2258] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/quotas/{quotaCounterKey}"); - Endpoints[2259] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/reports/{aggregation}"); - Endpoints[2260] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/subscriptions/{sid}"); - Endpoints[2261] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/tags/{tagId}"); - Endpoints[2262] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/templates/{templateName}"); - Endpoints[2263] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/tenant/{accessName}"); - Endpoints[2264] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/users/{uid}"); - Endpoints[2265] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Automation/automationAccounts/{automationAccountName}/certificates/{certificateName}"); - Endpoints[2266] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Automation/automationAccounts/{automationAccountName}/compilationjobs/{compilationJobName}"); - Endpoints[2267] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Automation/automationAccounts/{automationAccountName}/configurations/{configurationName}"); - Endpoints[2268] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Automation/automationAccounts/{automationAccountName}/connections/{connectionName}"); - Endpoints[2269] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Automation/automationAccounts/{automationAccountName}/connectionTypes/{connectionTypeName}"); - Endpoints[2270] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Automation/automationAccounts/{automationAccountName}/credentials/{credentialName}"); - Endpoints[2271] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Automation/automationAccounts/{automationAccountName}/hybridRunbookWorkerGroups/{hybridRunbookWorkerGroupName}"); - Endpoints[2272] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Automation/automationAccounts/{automationAccountName}/jobs/{jobId}"); - Endpoints[2273] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Automation/automationAccounts/{automationAccountName}/jobSchedules/{jobScheduleId}"); - Endpoints[2274] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Automation/automationAccounts/{automationAccountName}/modules/{moduleName}"); - Endpoints[2275] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Automation/automationAccounts/{automationAccountName}/nodeConfigurations/{nodeConfigurationName}"); - Endpoints[2276] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Automation/automationAccounts/{automationAccountName}/nodecounts/{countType}"); - Endpoints[2277] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Automation/automationAccounts/{automationAccountName}/nodes/{nodeId}"); - Endpoints[2278] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Automation/automationAccounts/{automationAccountName}/runbooks/{runbookName}"); - Endpoints[2279] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Automation/automationAccounts/{automationAccountName}/schedules/{scheduleName}"); - Endpoints[2280] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Automation/automationAccounts/{automationAccountName}/softwareUpdateConfigurationMachineRuns/{softwareUpdateConfigurationMachineRunId}"); - Endpoints[2281] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Automation/automationAccounts/{automationAccountName}/softwareUpdateConfigurationRuns/{softwareUpdateConfigurationRunId}"); - Endpoints[2282] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Automation/automationAccounts/{automationAccountName}/softwareUpdateConfigurations/{softwareUpdateConfigurationName}"); - Endpoints[2283] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Automation/automationAccounts/{automationAccountName}/sourceControls/{sourceControlName}"); - Endpoints[2284] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Automation/automationAccounts/{automationAccountName}/variables/{variableName}"); - Endpoints[2285] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Automation/automationAccounts/{automationAccountName}/watchers/{watcherName}"); - Endpoints[2286] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Automation/automationAccounts/{automationAccountName}/webhooks/{webhookName}"); - Endpoints[2287] = CreateEndpoint("/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.Backup.Admin/backupLocations/{location}/backups/{backup}"); - Endpoints[2288] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Batch/batchAccounts/{accountName}/applications/{applicationId}"); - Endpoints[2289] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Batch/batchAccounts/{accountName}/certificates/{certificateName}"); - Endpoints[2290] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Batch/batchAccounts/{accountName}/pools/{poolName}"); - Endpoints[2291] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.BatchAI/workspaces/{workspaceName}/clusters/{clusterName}"); - Endpoints[2292] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.BatchAI/workspaces/{workspaceName}/experiments/{experimentName}"); - Endpoints[2293] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.BatchAI/workspaces/{workspaceName}/fileServers/{fileServerName}"); - Endpoints[2294] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.BotService/botServices/{resourceName}/channels/{channelName}"); - Endpoints[2295] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.BotService/botServices/{resourceName}/Connections/{connectionName}"); - Endpoints[2296] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Cache/Redis/{cacheName}/firewallRules/{ruleName}"); - Endpoints[2297] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Cache/Redis/{name}/linkedServers/{linkedServerName}"); - Endpoints[2298] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Cache/Redis/{name}/patchSchedules/{default}"); - Endpoints[2299] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Cdn/profiles/{profileName}/endpoints/{endpointName}"); - Endpoints[2300] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.CertificateRegistration/certificateOrders/{certificateOrderName}/certificates/{name}"); - Endpoints[2301] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/galleries/{galleryName}/images/{galleryImageName}"); - Endpoints[2302] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/virtualMachines/{vmName}/extensions/{vmExtensionName}"); - Endpoints[2303] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/virtualMachineScaleSets/{vmScaleSetName}/extensions/{vmssExtensionName}"); - Endpoints[2304] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/virtualMachineScaleSets/{vmScaleSetName}/virtualmachines/{instanceId}"); - Endpoints[2305] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerRegistry/registries/{registryName}/builds/{buildId}"); - Endpoints[2306] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerRegistry/registries/{registryName}/buildTasks/{buildTaskName}"); - Endpoints[2307] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerRegistry/registries/{registryName}/replications/{replicationName}"); - Endpoints[2308] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerRegistry/registries/{registryName}/webhooks/{webhookName}"); - Endpoints[2309] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}/accessProfiles/{roleName}"); - Endpoints[2310] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.CustomerInsights/hubs/{hubName}/authorizationPolicies/{authorizationPolicyName}"); - Endpoints[2311] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.CustomerInsights/hubs/{hubName}/connectors/{connectorName}"); - Endpoints[2312] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.CustomerInsights/hubs/{hubName}/interactions/{interactionName}"); - Endpoints[2313] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.CustomerInsights/hubs/{hubName}/kpi/{kpiName}"); - Endpoints[2314] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.CustomerInsights/hubs/{hubName}/links/{linkName}"); - Endpoints[2315] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.CustomerInsights/hubs/{hubName}/predictions/{predictionName}"); - Endpoints[2316] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.CustomerInsights/hubs/{hubName}/profiles/{profileName}"); - Endpoints[2317] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.CustomerInsights/hubs/{hubName}/relationshipLinks/{relationshipLinkName}"); - Endpoints[2318] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.CustomerInsights/hubs/{hubName}/relationships/{relationshipName}"); - Endpoints[2319] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.CustomerInsights/hubs/{hubName}/roleAssignments/{assignmentName}"); - Endpoints[2320] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.CustomerInsights/hubs/{hubName}/views/{viewName}"); - Endpoints[2321] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.CustomerInsights/hubs/{hubName}/widgetTypes/{widgetTypeName}"); - Endpoints[2322] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataFactory/factories/{factoryName}/cancelpipelinerun/{runId}"); - Endpoints[2323] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataFactory/factories/{factoryName}/datasets/{datasetName}"); - Endpoints[2324] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataFactory/factories/{factoryName}/integrationRuntimes/{integrationRuntimeName}"); - Endpoints[2325] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataFactory/factories/{factoryName}/linkedservices/{linkedServiceName}"); - Endpoints[2326] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataFactory/factories/{factoryName}/pipelineruns/{runId}"); - Endpoints[2327] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataFactory/factories/{factoryName}/pipelines/{pipelineName}"); - Endpoints[2328] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataFactory/factories/{factoryName}/triggers/{triggerName}"); - Endpoints[2329] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataLakeAnalytics/accounts/{accountName}/computePolicies/{computePolicyName}"); - Endpoints[2330] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataLakeAnalytics/accounts/{accountName}/dataLakeStoreAccounts/{dataLakeStoreAccountName}"); - Endpoints[2331] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataLakeAnalytics/accounts/{accountName}/firewallRules/{firewallRuleName}"); - Endpoints[2332] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataLakeAnalytics/accounts/{accountName}/storageAccounts/{storageAccountName}"); - Endpoints[2333] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataLakeStore/accounts/{accountName}/firewallRules/{firewallRuleName}"); - Endpoints[2334] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataLakeStore/accounts/{accountName}/trustedIdProviders/{trustedIdProviderName}"); - Endpoints[2335] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataLakeStore/accounts/{accountName}/virtualNetworkRules/{virtualNetworkRuleName}"); - Endpoints[2336] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBforMySQL/servers/{serverName}/configurations/{configurationName}"); - Endpoints[2337] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBforMySQL/servers/{serverName}/databases/{databaseName}"); - Endpoints[2338] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBforMySQL/servers/{serverName}/firewallRules/{firewallRuleName}"); - Endpoints[2339] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBforMySQL/servers/{serverName}/virtualNetworkRules/{virtualNetworkRuleName}"); - Endpoints[2340] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBforPostgreSQL/servers/{serverName}/configurations/{configurationName}"); - Endpoints[2341] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBforPostgreSQL/servers/{serverName}/databases/{databaseName}"); - Endpoints[2342] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBforPostgreSQL/servers/{serverName}/firewallRules/{firewallRuleName}"); - Endpoints[2343] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBforPostgreSQL/servers/{serverName}/securityAlertPolicies/{securityAlertPolicyName}"); - Endpoints[2344] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBforPostgreSQL/servers/{serverName}/virtualNetworkRules/{virtualNetworkRuleName}"); - Endpoints[2345] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Devices/IotHubs/{resourceName}/certificates/{certificateName}"); - Endpoints[2346] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Devices/IotHubs/{resourceName}/jobs/{jobId}"); - Endpoints[2347] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Devices/provisioningServices/{provisioningServiceName}/certificates/{certificateName}"); - Endpoints[2348] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Devices/provisioningServices/{provisioningServiceName}/operationresults/{operationId}"); - Endpoints[2349] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DevTestLab/labs/{labName}/artifactsources/{name}"); - Endpoints[2350] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DevTestLab/labs/{labName}/costinsights/{name}"); - Endpoints[2351] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DevTestLab/labs/{labName}/costs/{name}"); - Endpoints[2352] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DevTestLab/labs/{labName}/customimages/{name}"); - Endpoints[2353] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DevTestLab/labs/{labName}/formulas/{name}"); - Endpoints[2354] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DevTestLab/labs/{labName}/notificationchannels/{name}"); - Endpoints[2355] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DevTestLab/labs/{labName}/schedules/{name}"); - Endpoints[2356] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DevTestLab/labs/{labName}/servicerunners/{name}"); - Endpoints[2357] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DevTestLab/labs/{labName}/users/{name}"); - Endpoints[2358] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DevTestLab/labs/{labName}/virtualmachines/{name}"); - Endpoints[2359] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DevTestLab/labs/{labName}/virtualnetworks/{name}"); - Endpoints[2360] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DomainRegistration/domains/{domainName}/domainOwnershipIdentifiers/{name}"); - Endpoints[2361] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DomainRegistration/domains/{domainName}/operationresults/{operationId}"); - Endpoints[2362] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.EventHub/namespaces/{namespaceName}/AuthorizationRules/{authorizationRuleName}"); - Endpoints[2363] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.EventHub/namespaces/{namespaceName}/disasterRecoveryConfigs/{alias}"); - Endpoints[2364] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.EventHub/namespaces/{namespaceName}/eventhubs/{eventHubName}"); - Endpoints[2365] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Fabric.Admin/fabricLocations/{location}/edgeGatewayPools/{edgeGatewayPool}"); - Endpoints[2366] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Fabric.Admin/fabricLocations/{location}/edgeGateways/{edgeGateway}"); - Endpoints[2367] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Fabric.Admin/fabricLocations/{location}/fileShares/{fileShare}"); - Endpoints[2368] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Fabric.Admin/fabricLocations/{location}/infraRoleInstances/{infraRoleInstance}"); - Endpoints[2369] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Fabric.Admin/fabricLocations/{location}/infraRoles/{infraRole}"); - Endpoints[2370] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Fabric.Admin/fabricLocations/{location}/ipPools/{ipPool}"); - Endpoints[2371] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Fabric.Admin/fabricLocations/{location}/logicalNetworks/{logicalNetwork}"); - Endpoints[2372] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Fabric.Admin/fabricLocations/{location}/macAddressPools/{macAddressPool}"); - Endpoints[2373] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Fabric.Admin/fabricLocations/{location}/scaleUnitNodes/{scaleUnitNode}"); - Endpoints[2374] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Fabric.Admin/fabricLocations/{location}/scaleUnits/{scaleUnit}"); - Endpoints[2375] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Fabric.Admin/fabricLocations/{location}/slbMuxInstances/{slbMuxInstance}"); - Endpoints[2376] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Fabric.Admin/fabricLocations/{location}/storageSubSystems/{storageSubSystem}"); - Endpoints[2377] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.HDInsight/clusters/{clusterName}/applications/{applicationName}"); - Endpoints[2378] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.HDInsight/clusters/{clusterName}/configurations/{configurationName}"); - Endpoints[2379] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.HDInsight/clusters/{clusterName}/extensions/{extensionName}"); - Endpoints[2380] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.HDInsight/clusters/{clusterName}/scriptActions/{scriptName}"); - Endpoints[2381] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.HDInsight/clusters/{clusterName}/scriptExecutionHistory/{scriptExecutionId}"); - Endpoints[2382] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.InfrastructureInsights.Admin/regionHealths/{location}/alerts/{alertName}"); - Endpoints[2383] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.InfrastructureInsights.Admin/regionHealths/{location}/serviceHealths/{serviceHealth}"); - Endpoints[2384] = CreateEndpoint("/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/microsoft.insights/alertrules/{ruleName}/incidents/{incidentName}"); - Endpoints[2385] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Insights/components/{resourceName}/Annotations/{annotationId}"); - Endpoints[2386] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Insights/components/{resourceName}/APIKeys/{keyId}"); - Endpoints[2387] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Insights/components/{resourceName}/exportconfiguration/{exportId}"); - Endpoints[2388] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Insights/components/{resourceName}/favorites/{favoriteId}"); - Endpoints[2389] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Insights/components/{resourceName}/ProactiveDetectionConfigs/{ConfigurationId}"); - Endpoints[2390] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Insights/components/{resourceName}/WorkItemConfigs/{workItemConfigId}"); - Endpoints[2391] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Insights/metricAlerts/{ruleName}/status/{statusName}"); - Endpoints[2392] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.KeyVault/vaults/{vaultName}/accessPolicies/{operationKind}"); - Endpoints[2393] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.KeyVault/vaults/{vaultName}/secrets/{secretName}"); - Endpoints[2394] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Logic/integrationAccounts/{integrationAccountName}/agreements/{agreementName}"); - Endpoints[2395] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Logic/integrationAccounts/{integrationAccountName}/assemblies/{assemblyArtifactName}"); - Endpoints[2396] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Logic/integrationAccounts/{integrationAccountName}/batchConfigurations/{batchConfigurationName}"); - Endpoints[2397] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Logic/integrationAccounts/{integrationAccountName}/certificates/{certificateName}"); - Endpoints[2398] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Logic/integrationAccounts/{integrationAccountName}/maps/{mapName}"); - Endpoints[2399] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Logic/integrationAccounts/{integrationAccountName}/partners/{partnerName}"); - Endpoints[2400] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Logic/integrationAccounts/{integrationAccountName}/schemas/{schemaName}"); - Endpoints[2401] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Logic/integrationAccounts/{integrationAccountName}/sessions/{sessionName}"); - Endpoints[2402] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Logic/workflows/{workflowName}/accessKeys/{accessKeyName}"); - Endpoints[2403] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Logic/workflows/{workflowName}/runs/{runName}"); - Endpoints[2404] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Logic/workflows/{workflowName}/triggers/{triggerName}"); - Endpoints[2405] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Logic/workflows/{workflowName}/versions/{versionId}"); - Endpoints[2406] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.MachineLearning/commitmentPlans/{commitmentPlanName}/commitmentAssociations/{commitmentAssociationName}"); - Endpoints[2407] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.MachineLearningExperimentation/accounts/{accountName}/workspaces/{workspaceName}"); - Endpoints[2408] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Media/mediaServices/{accountName}/assets/{assetName}"); - Endpoints[2409] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Media/mediaServices/{accountName}/contentKeyPolicies/{contentKeyPolicyName}"); - Endpoints[2410] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Media/mediaservices/{accountName}/liveEvents/{liveEventName}"); - Endpoints[2411] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Media/mediaservices/{accountName}/streamingEndpoints/{streamingEndpointName}"); - Endpoints[2412] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Media/mediaServices/{accountName}/streamingLocators/{streamingLocatorName}"); - Endpoints[2413] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Media/mediaServices/{accountName}/streamingPolicies/{streamingPolicyName}"); - Endpoints[2414] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Media/mediaServices/{accountName}/transforms/{transformName}"); - Endpoints[2415] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Migrate/projects/{projectName}/groups/{groupName}"); - Endpoints[2416] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Migrate/projects/{projectName}/machines/{machineName}"); - Endpoints[2417] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/expressRouteCircuits/{circuitName}/authorizations/{authorizationName}"); - Endpoints[2418] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/expressRouteCircuits/{circuitName}/peerings/{peeringName}"); - Endpoints[2419] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/expressRouteCrossConnections/{crossConnectionName}/peerings/{peeringName}"); - Endpoints[2420] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/loadBalancers/{loadBalancerName}/backendAddressPools/{backendAddressPoolName}"); - Endpoints[2421] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/loadBalancers/{loadBalancerName}/frontendIPConfigurations/{frontendIPConfigurationName}"); - Endpoints[2422] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/loadBalancers/{loadBalancerName}/inboundNatRules/{inboundNatRuleName}"); - Endpoints[2423] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/loadBalancers/{loadBalancerName}/loadBalancingRules/{loadBalancingRuleName}"); - Endpoints[2424] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/loadBalancers/{loadBalancerName}/probes/{probeName}"); - Endpoints[2425] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkInterfaces/{networkInterfaceName}/ipConfigurations/{ipConfigurationName}"); - Endpoints[2426] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkSecurityGroups/{networkSecurityGroupName}/defaultSecurityRules/{defaultSecurityRuleName}"); - Endpoints[2427] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkSecurityGroups/{networkSecurityGroupName}/securityRules/{securityRuleName}"); - Endpoints[2428] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkWatchers/{networkWatcherName}/connectionMonitors/{connectionMonitorName}"); - Endpoints[2429] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkWatchers/{networkWatcherName}/packetCaptures/{packetCaptureName}"); - Endpoints[2430] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/routeFilters/{routeFilterName}/routeFilterRules/{ruleName}"); - Endpoints[2431] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/routeTables/{routeTableName}/routes/{routeName}"); - Endpoints[2432] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/trafficmanagerprofiles/{profileName}/heatMaps/{heatMapType}"); - Endpoints[2433] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworks/{virtualNetworkName}/subnets/{subnetName}"); - Endpoints[2434] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworks/{virtualNetworkName}/virtualNetworkPeerings/{virtualNetworkPeeringName}"); - Endpoints[2435] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.NotificationHubs/namespaces/{namespaceName}/AuthorizationRules/{authorizationRuleName}"); - Endpoints[2436] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.NotificationHubs/namespaces/{namespaceName}/notificationHubs/{notificationHubName}"); - Endpoints[2437] = CreateEndpoint("/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.OperationalInsights/workspaces/{workspaceName}/dataSources/{dataSourceName}"); - Endpoints[2438] = CreateEndpoint("/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.OperationalInsights/workspaces/{workspaceName}/linkedServices/{linkedServiceName}"); - Endpoints[2439] = CreateEndpoint("/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.OperationalInsights/workspaces/{workspaceName}/savedSearches/{savedSearchName}"); - Endpoints[2440] = CreateEndpoint("/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.OperationalInsights/workspaces/{workspaceName}/search/{id}"); - Endpoints[2441] = CreateEndpoint("/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.OperationalInsights/workspaces/{workspaceName}/storageInsightConfigs/{storageInsightName}"); - Endpoints[2442] = CreateEndpoint("/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationAlertSettings/{alertSettingName}"); - Endpoints[2443] = CreateEndpoint("/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationEvents/{eventName}"); - Endpoints[2444] = CreateEndpoint("/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationFabrics/{fabricName}"); - Endpoints[2445] = CreateEndpoint("/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationJobs/{jobName}"); - Endpoints[2446] = CreateEndpoint("/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationPolicies/{policyName}"); - Endpoints[2447] = CreateEndpoint("/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationRecoveryPlans/{recoveryPlanName}"); - Endpoints[2448] = CreateEndpoint("/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupEngines/{backupEngineName}"); - Endpoints[2449] = CreateEndpoint("/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupJobs/{jobName}"); - Endpoints[2450] = CreateEndpoint("/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupOperationResults/{operationId}"); - Endpoints[2451] = CreateEndpoint("/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupOperations/{operationId}"); - Endpoints[2452] = CreateEndpoint("/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupPolicies/{policyName}"); - Endpoints[2453] = CreateEndpoint("/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/certificates/{certificateName}"); - Endpoints[2454] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/registeredIdentities/{identityName}"); - Endpoints[2455] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Relay/namespaces/{namespaceName}/authorizationRules/{authorizationRuleName}"); - Endpoints[2456] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Relay/namespaces/{namespaceName}/hybridConnections/{hybridConnectionName}"); - Endpoints[2457] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Relay/namespaces/{namespaceName}/wcfRelays/{relayName}"); - Endpoints[2458] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Scheduler/jobCollections/{jobCollectionName}/jobs/{jobName}"); - Endpoints[2459] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Search/searchServices/{searchServiceName}/createQueryKey/{name}"); - Endpoints[2460] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Search/searchServices/{searchServiceName}/deleteQueryKey/{key}"); - Endpoints[2461] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Search/searchServices/{searchServiceName}/regenerateAdminKey/{keyKind}"); - Endpoints[2462] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Security/locations/{ascLocation}/alerts/{alertName}"); - Endpoints[2463] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Security/locations/{ascLocation}/discoveredSecuritySolutions/{discoveredSecuritySolutionName}"); - Endpoints[2464] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Security/locations/{ascLocation}/ExternalSecuritySolutions/{externalSecuritySolutionsName}"); - Endpoints[2465] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Security/locations/{ascLocation}/jitNetworkAccessPolicies/{jitNetworkAccessPolicyName}"); - Endpoints[2466] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Security/locations/{ascLocation}/tasks/{taskName}"); - Endpoints[2467] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ServerManagement/nodes/{nodeName}/sessions/{session}"); - Endpoints[2468] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ServiceBus/namespaces/{namespaceName}/AuthorizationRules/{authorizationRuleName}"); - Endpoints[2469] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ServiceBus/namespaces/{namespaceName}/disasterRecoveryConfigs/{alias}"); - Endpoints[2470] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ServiceBus/namespaces/{namespaceName}/migrationConfigurations/{configName}"); - Endpoints[2471] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ServiceBus/namespaces/{namespaceName}/queues/{queueName}"); - Endpoints[2472] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ServiceBus/namespaces/{namespaceName}/topics/{topicName}"); - Endpoints[2473] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ServiceFabric/clusters/{clusterName}/applications/{applicationName}"); - Endpoints[2474] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ServiceFabric/clusters/{clusterName}/applicationTypes/{applicationTypeName}"); - Endpoints[2475] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/locations/{locationName}/instanceFailoverGroups/{failoverGroupName}"); - Endpoints[2476] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/managedInstances/{managedInstanceName}/databases/{databaseName}"); - Endpoints[2477] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/administrators/{administratorName}"); - Endpoints[2478] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/advisors/{advisorName}"); - Endpoints[2479] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/auditingPolicies/{tableAuditingPolicyName}"); - Endpoints[2480] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/backupLongTermRetentionVaults/{backupLongTermRetentionVaultName}"); - Endpoints[2481] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/communicationLinks/{communicationLinkName}"); - Endpoints[2482] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/connectionPolicies/{connectionPolicyName}"); - Endpoints[2483] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/databases/{databaseName}"); - Endpoints[2484] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/disasterRecoveryConfiguration/{disasterRecoveryConfigurationName}"); - Endpoints[2485] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/dnsAliases/{dnsAliasName}"); - Endpoints[2486] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/elasticPools/{elasticPoolName}"); - Endpoints[2487] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/encryptionProtector/{encryptionProtectorName}"); - Endpoints[2488] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/failoverGroups/{failoverGroupName}"); - Endpoints[2489] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/firewallRules/{firewallRuleName}"); - Endpoints[2490] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/jobAgents/{jobAgentName}"); - Endpoints[2491] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/keys/{keyName}"); - Endpoints[2492] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/recommendedElasticPools/{recommendedElasticPoolName}"); - Endpoints[2493] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/recoverableDatabases/{databaseName}"); - Endpoints[2494] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/restorableDroppedDatabases/{restorableDroppededDatabaseId}"); - Endpoints[2495] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/serviceObjectives/{serviceObjectiveName}"); - Endpoints[2496] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/syncAgents/{syncAgentName}"); - Endpoints[2497] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/virtualNetworkRules/{virtualNetworkRuleName}"); - Endpoints[2498] = CreateEndpoint("/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.Storage.Admin/farms/{farmId}/blobservices/{serviceType}"); - Endpoints[2499] = CreateEndpoint("/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.Storage.Admin/farms/{farmId}/operationresults/{operationId}"); - Endpoints[2500] = CreateEndpoint("/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.Storage.Admin/farms/{farmId}/queueservices/{serviceType}"); - Endpoints[2501] = CreateEndpoint("/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.Storage.Admin/farms/{farmId}/shares/{shareName}"); - Endpoints[2502] = CreateEndpoint("/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.Storage.Admin/farms/{farmId}/storageaccounts/{accountId}"); - Endpoints[2503] = CreateEndpoint("/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.Storage.Admin/farms/{farmId}/tableservices/{serviceType}"); - Endpoints[2504] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Storage/storageAccounts/{accountName}/managementPolicies/{managementPolicyName}"); - Endpoints[2505] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.StorSimple/managers/{managerName}/accessControlRecords/{accessControlRecordName}"); - Endpoints[2506] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.StorSimple/managers/{managerName}/bandwidthSettings/{bandwidthSettingName}"); - Endpoints[2507] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.StorSimple/managers/{managerName}/devices/{deviceName}"); - Endpoints[2508] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.StorSimple/managers/{managerName}/storageAccountCredentials/{storageAccountCredentialName}"); - Endpoints[2509] = CreateEndpoint("/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.StreamAnalytics/streamingjobs/{jobName}/functions/{functionName}"); - Endpoints[2510] = CreateEndpoint("/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.StreamAnalytics/streamingjobs/{jobName}/inputs/{inputName}"); - Endpoints[2511] = CreateEndpoint("/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.StreamAnalytics/streamingjobs/{jobName}/outputs/{outputName}"); - Endpoints[2512] = CreateEndpoint("/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.StreamAnalytics/streamingjobs/{jobName}/transformations/{transformationName}"); - Endpoints[2513] = CreateEndpoint("/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.Subscriptions.Admin/offers/{offer}/offerDelegations/{offerDelegationName}"); - Endpoints[2514] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.TimeSeriesInsights/environments/{environmentName}/accessPolicies/{accessPolicyName}"); - Endpoints[2515] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.TimeSeriesInsights/environments/{environmentName}/eventSources/{eventSourceName}"); - Endpoints[2516] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.TimeSeriesInsights/environments/{environmentName}/referenceDataSets/{referenceDataSetName}"); - Endpoints[2517] = CreateEndpoint("/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.Update.Admin/updateLocations/{updateLocation}/updates/{updateName}"); - Endpoints[2518] = CreateEndpoint("/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/microsoft.visualstudio/account/{accountResourceName}/extension/{extensionResourceName}"); - Endpoints[2519] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/microsoft.visualstudio/account/{rootResourceName}/project/{resourceName}"); - Endpoints[2520] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/hostingEnvironments/{name}/detectors/{detectorName}"); - Endpoints[2521] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/hostingEnvironments/{name}/diagnostics/{diagnosticsName}"); - Endpoints[2522] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/hostingEnvironments/{name}/operations/{operationId}"); - Endpoints[2523] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/hostingEnvironments/{name}/workerPools/{workerPoolName}"); - Endpoints[2524] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/managedHostingEnvironments/{name}/operations/{operationId}"); - Endpoints[2525] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/serverfarms/{name}/operationresults/{operationId}"); - Endpoints[2526] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/serverfarms/{name}/virtualNetworkConnections/{vnetName}"); - Endpoints[2527] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/backups/{backupId}"); - Endpoints[2528] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/continuouswebjobs/{webJobName}"); - Endpoints[2529] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/deployments/{id}"); - Endpoints[2530] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/domainOwnershipIdentifiers/{domainOwnershipIdentifierName}"); - Endpoints[2531] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/functions/{functionName}"); - Endpoints[2532] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/hostNameBindings/{hostName}"); - Endpoints[2533] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/hybridconnection/{entityName}"); - Endpoints[2534] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/networkFeatures/{view}"); - Endpoints[2535] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/operationresults/{operationId}"); - Endpoints[2536] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/premieraddons/{premierAddOnName}"); - Endpoints[2537] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/processes/{processId}"); - Endpoints[2538] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/publicCertificates/{publicCertificateName}"); - Endpoints[2539] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/siteextensions/{siteExtensionId}"); - Endpoints[2540] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}"); - Endpoints[2541] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/triggeredwebjobs/{webJobName}"); - Endpoints[2542] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/virtualNetworkConnections/{vnetName}"); - Endpoints[2543] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/webjobs/{webJobName}"); - Endpoints[2544] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{siteName}/detectors/{detectorName}"); - Endpoints[2545] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{siteName}/diagnostics/{diagnosticCategory}"); - Endpoints[2546] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{siteName}/recommendations/{name}"); - Endpoints[2547] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroup/{resourceGroupName}/providers/Microsoft.MachineLearningServices/workspaces/{workspaceName}/computes/{computeName}/listKeys"); - Endpoints[2548] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{groupName}/providers/Microsoft.DataMigration/services/{serviceName}/projects/{projectName}/tasks"); - Endpoints[2549] = CreateEndpoint("/subscriptions/{subscriptionId}/resourcegroups/{resourceGroup}/providers/Microsoft.AzureBridge.Admin/activations/{activationName}/products/{productName}/download"); - Endpoints[2550] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroup}/providers/Microsoft.AzureStack/registrations/{registrationName}/products/{productName}/listDetails"); - Endpoints[2551] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/apis/{apiId}/diagnostics"); - Endpoints[2552] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/apis/{apiId}/issues"); - Endpoints[2553] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/apis/{apiId}/operations"); - Endpoints[2554] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/apis/{apiId}/operationsByTags"); - Endpoints[2555] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/apis/{apiId}/policies"); - Endpoints[2556] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/apis/{apiId}/policy"); - Endpoints[2557] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/apis/{apiId}/products"); - Endpoints[2558] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/apis/{apiId}/releases"); - Endpoints[2559] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/apis/{apiId}/revisions"); - Endpoints[2560] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/apis/{apiId}/schemas"); - Endpoints[2561] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/apis/{apiId}/tagDescriptions"); - Endpoints[2562] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/apis/{apiId}/tags"); - Endpoints[2563] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/backends/{backendid}/reconnect"); - Endpoints[2564] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/diagnostics/{diagnosticId}/loggers"); - Endpoints[2565] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/groups/{groupId}/users"); - Endpoints[2566] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/locations/{locationName}/networkstatus"); - Endpoints[2567] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/notifications/{notificationName}/recipientEmails"); - Endpoints[2568] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/notifications/{notificationName}/recipientUsers"); - Endpoints[2569] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/products/{productId}/apis"); - Endpoints[2570] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/products/{productId}/groups"); - Endpoints[2571] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/products/{productId}/policies"); - Endpoints[2572] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/products/{productId}/policy"); - Endpoints[2573] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/products/{productId}/subscriptions"); - Endpoints[2574] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/products/{productId}/tags"); - Endpoints[2575] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/subscriptions/{sid}/regeneratePrimaryKey"); - Endpoints[2576] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/subscriptions/{sid}/regenerateSecondaryKey"); - Endpoints[2577] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/tenant/{accessName}/git"); - Endpoints[2578] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/tenant/{accessName}/regeneratePrimaryKey"); - Endpoints[2579] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/tenant/{accessName}/regenerateSecondaryKey"); - Endpoints[2580] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/tenant/{configurationName}/deploy"); - Endpoints[2581] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/tenant/{configurationName}/save"); - Endpoints[2582] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/tenant/{configurationName}/syncState"); - Endpoints[2583] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/tenant/{configurationName}/validate"); - Endpoints[2584] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/users/{uid}/generateSsoUrl"); - Endpoints[2585] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/users/{uid}/groups"); - Endpoints[2586] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/users/{uid}/identities"); - Endpoints[2587] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/users/{uid}/subscriptions"); - Endpoints[2588] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/users/{uid}/token"); - Endpoints[2589] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Automation/automationAccounts/{automationAccountName}/compilationjobs/{jobId}/streams"); - Endpoints[2590] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Automation/automationAccounts/{automationAccountName}/configurations/{configurationName}/content"); - Endpoints[2591] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Automation/automationAccounts/{automationAccountName}/jobs/{jobId}/output"); - Endpoints[2592] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Automation/automationAccounts/{automationAccountName}/jobs/{jobId}/resume"); - Endpoints[2593] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Automation/automationAccounts/{automationAccountName}/jobs/{jobId}/runbookContent"); - Endpoints[2594] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Automation/automationAccounts/{automationAccountName}/jobs/{jobId}/stop"); - Endpoints[2595] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Automation/automationAccounts/{automationAccountName}/jobs/{jobId}/streams"); - Endpoints[2596] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Automation/automationAccounts/{automationAccountName}/jobs/{jobId}/suspend"); - Endpoints[2597] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Automation/automationAccounts/{automationAccountName}/modules/{moduleName}/activities"); - Endpoints[2598] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Automation/automationAccounts/{automationAccountName}/nodes/{nodeId}/reports"); - Endpoints[2599] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Automation/automationAccounts/{automationAccountName}/objectDataTypes/{typeName}/fields"); - Endpoints[2600] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Automation/automationAccounts/{automationAccountName}/runbooks/{runbookName}/content"); - Endpoints[2601] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Automation/automationAccounts/{automationAccountName}/runbooks/{runbookName}/draft"); - Endpoints[2602] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Automation/automationAccounts/{automationAccountName}/sourceControls/{sourceControlName}/sourceControlSyncJobs"); - Endpoints[2603] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Automation/automationAccounts/{automationAccountName}/watchers/{watcherName}/start"); - Endpoints[2604] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Automation/automationAccounts/{automationAccountName}/watchers/{watcherName}/stop"); - Endpoints[2605] = CreateEndpoint("/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.Backup.Admin/backupLocations/{location}/backups/{backup}/restore"); - Endpoints[2606] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Batch/batchAccounts/{accountName}/certificates/{certificateName}/cancelDelete"); - Endpoints[2607] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Batch/batchAccounts/{accountName}/pools/{poolName}/disableAutoScale"); - Endpoints[2608] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Batch/batchAccounts/{accountName}/pools/{poolName}/stopResize"); - Endpoints[2609] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.BatchAI/workspaces/{workspaceName}/clusters/{clusterName}/listRemoteLoginInformation"); - Endpoints[2610] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.BatchAI/workspaces/{workspaceName}/experiments/{experimentName}/jobs"); - Endpoints[2611] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.BotService/botServices/{resourceName}/channels/{channelName}/listChannelWithKeys"); - Endpoints[2612] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.BotService/botServices/{resourceName}/Connections/{connectionName}/listWithSecrets"); - Endpoints[2613] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Cdn/profiles/{profileName}/endpoints/{endpointName}/checkResourceUsage"); - Endpoints[2614] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Cdn/profiles/{profileName}/endpoints/{endpointName}/customDomains"); - Endpoints[2615] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Cdn/profiles/{profileName}/endpoints/{endpointName}/load"); - Endpoints[2616] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Cdn/profiles/{profileName}/endpoints/{endpointName}/origins"); - Endpoints[2617] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Cdn/profiles/{profileName}/endpoints/{endpointName}/purge"); - Endpoints[2618] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Cdn/profiles/{profileName}/endpoints/{endpointName}/start"); - Endpoints[2619] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Cdn/profiles/{profileName}/endpoints/{endpointName}/stop"); - Endpoints[2620] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Cdn/profiles/{profileName}/endpoints/{endpointName}/validateCustomDomain"); - Endpoints[2621] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/galleries/{galleryName}/images/{galleryImageName}/versions"); - Endpoints[2622] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/microsoft.Compute/virtualMachineScaleSets/{virtualMachineScaleSetName}/virtualMachines/{virtualmachineIndex}/networkInterfaces"); - Endpoints[2623] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/virtualMachineScaleSets/{vmScaleSetName}/virtualmachines/{instanceId}/deallocate"); - Endpoints[2624] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/virtualMachineScaleSets/{vmScaleSetName}/virtualmachines/{instanceId}/instanceView"); - Endpoints[2625] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/virtualMachineScaleSets/{vmScaleSetName}/virtualmachines/{instanceId}/performMaintenance"); - Endpoints[2626] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/virtualMachineScaleSets/{vmScaleSetName}/virtualmachines/{instanceId}/poweroff"); - Endpoints[2627] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/virtualMachineScaleSets/{vmScaleSetName}/virtualmachines/{instanceId}/redeploy"); - Endpoints[2628] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/virtualMachineScaleSets/{vmScaleSetName}/virtualmachines/{instanceId}/reimage"); - Endpoints[2629] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/virtualMachineScaleSets/{vmScaleSetName}/virtualmachines/{instanceId}/reimageall"); - Endpoints[2630] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/virtualMachineScaleSets/{vmScaleSetName}/virtualmachines/{instanceId}/restart"); - Endpoints[2631] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/virtualMachineScaleSets/{vmScaleSetName}/virtualmachines/{instanceId}/start"); - Endpoints[2632] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerInstance/containerGroups/{containerGroupName}/containers/{containerName}/exec"); - Endpoints[2633] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerInstance/containerGroups/{containerGroupName}/containers/{containerName}/logs"); - Endpoints[2634] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerRegistry/registries/{registryName}/builds/{buildId}/cancel"); - Endpoints[2635] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerRegistry/registries/{registryName}/builds/{buildId}/getLogLink"); - Endpoints[2636] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerRegistry/registries/{registryName}/buildTasks/{buildTaskName}/listSourceRepositoryProperties"); - Endpoints[2637] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerRegistry/registries/{registryName}/buildTasks/{buildTaskName}/steps"); - Endpoints[2638] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerRegistry/registries/{registryName}/webhooks/{webhookName}/getCallbackConfig"); - Endpoints[2639] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerRegistry/registries/{registryName}/webhooks/{webhookName}/listEvents"); - Endpoints[2640] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerRegistry/registries/{registryName}/webhooks/{webhookName}/ping"); - Endpoints[2641] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}/accessProfiles/{roleName}/listCredential"); - Endpoints[2642] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.CustomerInsights/hubs/{hubName}/authorizationPolicies/{authorizationPolicyName}/regeneratePrimaryKey"); - Endpoints[2643] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.CustomerInsights/hubs/{hubName}/authorizationPolicies/{authorizationPolicyName}/regenerateSecondaryKey"); - Endpoints[2644] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.CustomerInsights/hubs/{hubName}/connectors/{connectorName}/mappings"); - Endpoints[2645] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.CustomerInsights/hubs/{hubName}/interactions/{interactionName}/suggestRelationshipLinks"); - Endpoints[2646] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.CustomerInsights/hubs/{hubName}/kpi/{kpiName}/reprocess"); - Endpoints[2647] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.CustomerInsights/hubs/{hubName}/predictions/{predictionName}/getModelStatus"); - Endpoints[2648] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.CustomerInsights/hubs/{hubName}/predictions/{predictionName}/getTrainingResults"); - Endpoints[2649] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.CustomerInsights/hubs/{hubName}/predictions/{predictionName}/modelStatus"); - Endpoints[2650] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.CustomerInsights/hubs/{hubName}/profiles/{profileName}/getEnrichingKpis"); - Endpoints[2651] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataFactory/factories/{factoryName}/integrationRuntimes/{integrationRuntimeName}/getConnectionInfo"); - Endpoints[2652] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataFactory/factories/{factoryName}/integrationRuntimes/{integrationRuntimeName}/getStatus"); - Endpoints[2653] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataFactory/factories/{factoryName}/integrationRuntimes/{integrationRuntimeName}/listAuthKeys"); - Endpoints[2654] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataFactory/factories/{factoryName}/integrationRuntimes/{integrationRuntimeName}/monitoringData"); - Endpoints[2655] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataFactory/factories/{factoryName}/integrationRuntimes/{integrationRuntimeName}/regenerateAuthKey"); - Endpoints[2656] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataFactory/factories/{factoryName}/integrationRuntimes/{integrationRuntimeName}/removeNode"); - Endpoints[2657] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataFactory/factories/{factoryName}/integrationRuntimes/{integrationRuntimeName}/start"); - Endpoints[2658] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataFactory/factories/{factoryName}/integrationRuntimes/{integrationRuntimeName}/stop"); - Endpoints[2659] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataFactory/factories/{factoryName}/integrationRuntimes/{integrationRuntimeName}/syncCredentials"); - Endpoints[2660] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataFactory/factories/{factoryName}/integrationRuntimes/{integrationRuntimeName}/upgrade"); - Endpoints[2661] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataFactory/factories/{factoryName}/pipelineruns/{runId}/activityruns"); - Endpoints[2662] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataFactory/factories/{factoryName}/pipelines/{pipelineName}/createRun"); - Endpoints[2663] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataFactory/factories/{factoryName}/triggers/{triggerName}/start"); - Endpoints[2664] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataFactory/factories/{factoryName}/triggers/{triggerName}/stop"); - Endpoints[2665] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataFactory/factories/{factoryName}/triggers/{triggerName}/triggerruns"); - Endpoints[2666] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataLakeAnalytics/accounts/{accountName}/storageAccounts/{storageAccountName}/containers"); - Endpoints[2667] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Devices/IotHubs/{resourceName}/certificates/{certificateName}/generateVerificationCode"); - Endpoints[2668] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Devices/IotHubs/{resourceName}/certificates/{certificateName}/verify"); - Endpoints[2669] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Devices/IotHubs/{resourceName}/eventHubEndpoints/{eventHubEndpointName}/ConsumerGroups"); - Endpoints[2670] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Devices/IotHubs/{resourceName}/IotHubKeys/{keyName}/listkeys"); - Endpoints[2671] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Devices/provisioningServices/{provisioningServiceName}/certificates/{certificateName}/generateVerificationCode"); - Endpoints[2672] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Devices/provisioningServices/{provisioningServiceName}/certificates/{certificateName}/verify"); - Endpoints[2673] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Devices/provisioningServices/{provisioningServiceName}/keys/{keyName}/listkeys"); - Endpoints[2674] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DevTestLab/labs/{labName}/artifactsources/{artifactSourceName}/armtemplates"); - Endpoints[2675] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DevTestLab/labs/{labName}/artifactsources/{artifactSourceName}/artifacts"); - Endpoints[2676] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DevTestLab/labs/{labName}/costinsights/{name}/refreshData"); - Endpoints[2677] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DevTestLab/labs/{labName}/costs/{name}/refreshData"); - Endpoints[2678] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DevTestLab/labs/{labName}/notificationchannels/{name}/notify"); - Endpoints[2679] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DevTestLab/labs/{labName}/policysets/{name}/evaluatePolicies"); - Endpoints[2680] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DevTestLab/labs/{labName}/policysets/{policySetName}/policies"); - Endpoints[2681] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DevTestLab/labs/{labName}/schedules/{name}/execute"); - Endpoints[2682] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DevTestLab/labs/{labName}/schedules/{name}/listApplicable"); - Endpoints[2683] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DevTestLab/labs/{labName}/users/{userName}/disks"); - Endpoints[2684] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DevTestLab/labs/{labName}/users/{userName}/environments"); - Endpoints[2685] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DevTestLab/labs/{labName}/users/{userName}/secrets"); - Endpoints[2686] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DevTestLab/labs/{labName}/virtualmachines/{name}/addDataDisk"); - Endpoints[2687] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DevTestLab/labs/{labName}/virtualmachines/{name}/applyArtifacts"); - Endpoints[2688] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DevTestLab/labs/{labName}/virtualmachines/{name}/claim"); - Endpoints[2689] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DevTestLab/labs/{labName}/virtualmachines/{name}/detachDataDisk"); - Endpoints[2690] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DevTestLab/labs/{labName}/virtualmachines/{name}/listApplicableSchedules"); - Endpoints[2691] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DevTestLab/labs/{labName}/virtualmachines/{name}/start"); - Endpoints[2692] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DevTestLab/labs/{labName}/virtualmachines/{name}/stop"); - Endpoints[2693] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DevTestLab/labs/{labName}/virtualmachines/{virtualMachineName}/schedules"); - Endpoints[2694] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/databases/{databaseRid}/metricDefinitions"); - Endpoints[2695] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/databases/{databaseRid}/metrics"); - Endpoints[2696] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/databases/{databaseRid}/usages"); - Endpoints[2697] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/region/{region}/metrics"); - Endpoints[2698] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.EventGrid/locations/{location}/topicTypes/{topicTypeName}/eventSubscriptions"); - Endpoints[2699] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.EventHub/namespaces/{namespaceName}/AuthorizationRules/{authorizationRuleName}/listKeys"); - Endpoints[2700] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.EventHub/namespaces/{namespaceName}/AuthorizationRules/{authorizationRuleName}/regenerateKeys"); - Endpoints[2701] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.EventHub/namespaces/{namespaceName}/disasterRecoveryConfigs/{alias}/AuthorizationRules"); - Endpoints[2702] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.EventHub/namespaces/{namespaceName}/disasterRecoveryConfigs/{alias}/breakPairing"); - Endpoints[2703] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.EventHub/namespaces/{namespaceName}/disasterRecoveryConfigs/{alias}/failover"); - Endpoints[2704] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.EventHub/namespaces/{namespaceName}/eventhubs/{eventHubName}/authorizationRules"); - Endpoints[2705] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.EventHub/namespaces/{namespaceName}/eventhubs/{eventHubName}/consumergroups"); - Endpoints[2706] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Fabric.Admin/fabricLocations/{location}/infraRoleInstances/{infraRoleInstance}/PowerOff"); - Endpoints[2707] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Fabric.Admin/fabricLocations/{location}/infraRoleInstances/{infraRoleInstance}/PowerOn"); - Endpoints[2708] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Fabric.Admin/fabricLocations/{location}/infraRoleInstances/{infraRoleInstance}/Reboot"); - Endpoints[2709] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Fabric.Admin/fabricLocations/{location}/infraRoleInstances/{infraRoleInstance}/Shutdown"); - Endpoints[2710] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Fabric.Admin/fabricLocations/{location}/infraRoles/{infraRole}/Restart"); - Endpoints[2711] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Fabric.Admin/fabricLocations/{location}/logicalNetworks/{logicalNetwork}/logicalSubnets"); - Endpoints[2712] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Fabric.Admin/fabricLocations/{location}/scaleUnitNodes/{scaleUnitNode}/PowerOff"); - Endpoints[2713] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Fabric.Admin/fabricLocations/{location}/scaleUnitNodes/{scaleUnitNode}/PowerOn"); - Endpoints[2714] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Fabric.Admin/fabricLocations/{location}/scaleUnitNodes/{scaleUnitNode}/Repair"); - Endpoints[2715] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Fabric.Admin/fabricLocations/{location}/scaleUnitNodes/{scaleUnitNode}/Shutdown"); - Endpoints[2716] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Fabric.Admin/fabricLocations/{location}/scaleUnitNodes/{scaleUnitNode}/StartMaintenanceMode"); - Endpoints[2717] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Fabric.Admin/fabricLocations/{location}/scaleUnitNodes/{scaleUnitNode}/StopMaintenanceMode"); - Endpoints[2718] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Fabric.Admin/fabricLocations/{location}/scaleUnits/{scaleUnit}/ScaleOut"); - Endpoints[2719] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Fabric.Admin/fabricLocations/{location}/storageSubSystems/{storageSubSystem}/storagePools"); - Endpoints[2720] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.HDInsight/clusters/{clusterName}/roles/{roleName}/resize"); - Endpoints[2721] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.HDInsight/clusters/{clusterName}/scriptExecutionHistory/{scriptExecutionId}/promote"); - Endpoints[2722] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.InfrastructureInsights.Admin/regionHealths/{location}/serviceHealths/{serviceRegistrationId}/resourceHealths"); - Endpoints[2723] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Logic/integrationAccounts/{integrationAccountName}/agreements/{agreementName}/listContentCallbackUrl"); - Endpoints[2724] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Logic/integrationAccounts/{integrationAccountName}/assemblies/{assemblyArtifactName}/listContentCallbackUrl"); - Endpoints[2725] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Logic/integrationAccounts/{integrationAccountName}/maps/{mapName}/listContentCallbackUrl"); - Endpoints[2726] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Logic/integrationAccounts/{integrationAccountName}/partners/{partnerName}/listContentCallbackUrl"); - Endpoints[2727] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Logic/integrationAccounts/{integrationAccountName}/schemas/{schemaName}/listContentCallbackUrl"); - Endpoints[2728] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Logic/locations/{location}/workflows/{workflowName}/validate"); - Endpoints[2729] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Logic/workflows/{workflowName}/accessKeys/{accessKeyName}/list"); - Endpoints[2730] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Logic/workflows/{workflowName}/accessKeys/{accessKeyName}/regenerate"); - Endpoints[2731] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Logic/workflows/{workflowName}/runs/{runName}/actions"); - Endpoints[2732] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Logic/workflows/{workflowName}/runs/{runName}/cancel"); - Endpoints[2733] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Logic/workflows/{workflowName}/triggers/{triggerName}/histories"); - Endpoints[2734] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Logic/workflows/{workflowName}/triggers/{triggerName}/listCallbackUrl"); - Endpoints[2735] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Logic/workflows/{workflowName}/triggers/{triggerName}/reset"); - Endpoints[2736] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Logic/workflows/{workflowName}/triggers/{triggerName}/run"); - Endpoints[2737] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Logic/workflows/{workflowName}/triggers/{triggerName}/setState"); - Endpoints[2738] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.MachineLearning/commitmentPlans/{commitmentPlanName}/commitmentAssociations/{commitmentAssociationName}/move"); - Endpoints[2739] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Media/mediaServices/{accountName}/assets/{assetName}/getEncryptionKey"); - Endpoints[2740] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Media/mediaServices/{accountName}/assets/{assetName}/listContainerSas"); - Endpoints[2741] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Media/mediaServices/{accountName}/contentKeyPolicies/{contentKeyPolicyName}/getPolicyPropertiesWithSecrets"); - Endpoints[2742] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Media/mediaservices/{accountName}/liveEvents/{liveEventName}/liveOutputs"); - Endpoints[2743] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Media/mediaservices/{accountName}/liveEvents/{liveEventName}/reset"); - Endpoints[2744] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Media/mediaservices/{accountName}/liveEvents/{liveEventName}/start"); - Endpoints[2745] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Media/mediaservices/{accountName}/liveEvents/{liveEventName}/stop"); - Endpoints[2746] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Media/mediaservices/{accountName}/streamingEndpoints/{streamingEndpointName}/scale"); - Endpoints[2747] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Media/mediaservices/{accountName}/streamingEndpoints/{streamingEndpointName}/start"); - Endpoints[2748] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Media/mediaservices/{accountName}/streamingEndpoints/{streamingEndpointName}/stop"); - Endpoints[2749] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Media/mediaServices/{accountName}/streamingLocators/{streamingLocatorName}/listContentKeys"); - Endpoints[2750] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Media/mediaServices/{accountName}/streamingLocators/{streamingLocatorName}/listPaths"); - Endpoints[2751] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Media/mediaServices/{accountName}/transforms/{transformName}/jobs"); - Endpoints[2752] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Migrate/projects/{projectName}/groups/{groupName}/assessments"); - Endpoints[2753] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/expressRouteCircuits/{circuitName}/peerings/{peeringName}/stats"); - Endpoints[2754] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkWatchers/{networkWatcherName}/connectionMonitors/{connectionMonitorName}/query"); - Endpoints[2755] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkWatchers/{networkWatcherName}/connectionMonitors/{connectionMonitorName}/start"); - Endpoints[2756] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkWatchers/{networkWatcherName}/connectionMonitors/{connectionMonitorName}/stop"); - Endpoints[2757] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkWatchers/{networkWatcherName}/packetCaptures/{packetCaptureName}/queryStatus"); - Endpoints[2758] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkWatchers/{networkWatcherName}/packetCaptures/{packetCaptureName}/stop"); - Endpoints[2759] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.NotificationHubs/namespaces/{namespaceName}/AuthorizationRules/{authorizationRuleName}/listKeys"); - Endpoints[2760] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.NotificationHubs/namespaces/{namespaceName}/AuthorizationRules/{authorizationRuleName}/regenerateKeys"); - Endpoints[2761] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.NotificationHubs/namespaces/{namespaceName}/notificationHubs/{notificationHubName}/AuthorizationRules"); - Endpoints[2762] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.NotificationHubs/namespaces/{namespaceName}/notificationHubs/{notificationHubName}/pnsCredentials"); - Endpoints[2763] = CreateEndpoint("/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.OperationalInsights/workspaces/{workspaceName}/intelligencePacks/{intelligencePackName}/Disable"); - Endpoints[2764] = CreateEndpoint("/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.OperationalInsights/workspaces/{workspaceName}/intelligencePacks/{intelligencePackName}/Enable"); - Endpoints[2765] = CreateEndpoint("/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.OperationalInsights/workspaces/{workspaceName}/savedSearches/{savedSearchName}/results"); - Endpoints[2766] = CreateEndpoint("/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationFabrics/{fabricName}/checkConsistency"); - Endpoints[2767] = CreateEndpoint("/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationFabrics/{fabricName}/migratetoaad"); - Endpoints[2768] = CreateEndpoint("/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationFabrics/{fabricName}/reassociateGateway"); - Endpoints[2769] = CreateEndpoint("/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationFabrics/{fabricName}/remove"); - Endpoints[2770] = CreateEndpoint("/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationFabrics/{fabricName}/renewCertificate"); - Endpoints[2771] = CreateEndpoint("/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationFabrics/{fabricName}/replicationLogicalNetworks"); - Endpoints[2772] = CreateEndpoint("/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationFabrics/{fabricName}/replicationNetworks"); - Endpoints[2773] = CreateEndpoint("/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationFabrics/{fabricName}/replicationProtectionContainers"); - Endpoints[2774] = CreateEndpoint("/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationFabrics/{fabricName}/replicationRecoveryServicesProviders"); - Endpoints[2775] = CreateEndpoint("/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationFabrics/{fabricName}/replicationStorageClassifications"); - Endpoints[2776] = CreateEndpoint("/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationFabrics/{fabricName}/replicationvCenters"); - Endpoints[2777] = CreateEndpoint("/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationJobs/{jobName}/cancel"); - Endpoints[2778] = CreateEndpoint("/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationJobs/{jobName}/restart"); - Endpoints[2779] = CreateEndpoint("/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationJobs/{jobName}/resume"); - Endpoints[2780] = CreateEndpoint("/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationRecoveryPlans/{recoveryPlanName}/failoverCommit"); - Endpoints[2781] = CreateEndpoint("/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationRecoveryPlans/{recoveryPlanName}/plannedFailover"); - Endpoints[2782] = CreateEndpoint("/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationRecoveryPlans/{recoveryPlanName}/reProtect"); - Endpoints[2783] = CreateEndpoint("/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationRecoveryPlans/{recoveryPlanName}/testFailover"); - Endpoints[2784] = CreateEndpoint("/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationRecoveryPlans/{recoveryPlanName}/testFailoverCleanup"); - Endpoints[2785] = CreateEndpoint("/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationRecoveryPlans/{recoveryPlanName}/unplannedFailover"); - Endpoints[2786] = CreateEndpoint("/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupFabrics/{fabricName}/protectableContainers"); - Endpoints[2787] = CreateEndpoint("/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupFabrics/{fabricName}/refreshContainers"); - Endpoints[2788] = CreateEndpoint("/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupJobs/{jobName}/cancel"); - Endpoints[2789] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Relay/namespaces/{namespaceName}/authorizationRules/{authorizationRuleName}/listKeys"); - Endpoints[2790] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Relay/namespaces/{namespaceName}/authorizationRules/{authorizationRuleName}/regenerateKeys"); - Endpoints[2791] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Relay/namespaces/{namespaceName}/hybridConnections/{hybridConnectionName}/authorizationRules"); - Endpoints[2792] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Relay/namespaces/{namespaceName}/wcfRelays/{relayName}/authorizationRules"); - Endpoints[2793] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Scheduler/jobCollections/{jobCollectionName}/jobs/{jobName}/history"); - Endpoints[2794] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Scheduler/jobCollections/{jobCollectionName}/jobs/{jobName}/run"); - Endpoints[2795] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ServiceBus/namespaces/{namespaceName}/AuthorizationRules/{authorizationRuleName}/listKeys"); - Endpoints[2796] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ServiceBus/namespaces/{namespaceName}/AuthorizationRules/{authorizationRuleName}/regenerateKeys"); - Endpoints[2797] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ServiceBus/namespaces/{namespaceName}/disasterRecoveryConfigs/{alias}/AuthorizationRules"); - Endpoints[2798] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ServiceBus/namespaces/{namespaceName}/disasterRecoveryConfigs/{alias}/breakPairing"); - Endpoints[2799] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ServiceBus/namespaces/{namespaceName}/disasterRecoveryConfigs/{alias}/failover"); - Endpoints[2800] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ServiceBus/namespaces/{namespaceName}/eventhubs/{eventhubName}/authorizationRules"); - Endpoints[2801] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ServiceBus/namespaces/{namespaceName}/migrationConfigurations/{configName}/revert"); - Endpoints[2802] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ServiceBus/namespaces/{namespaceName}/migrationConfigurations/{configName}/upgrade"); - Endpoints[2803] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ServiceBus/namespaces/{namespaceName}/queues/{queueName}/authorizationRules"); - Endpoints[2804] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ServiceBus/namespaces/{namespaceName}/topics/{topicName}/authorizationRules"); - Endpoints[2805] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ServiceBus/namespaces/{namespaceName}/topics/{topicName}/subscriptions"); - Endpoints[2806] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ServiceFabric/clusters/{clusterName}/applications/{applicationName}/services"); - Endpoints[2807] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ServiceFabric/clusters/{clusterName}/applicationTypes/{applicationTypeName}/versions"); - Endpoints[2808] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/locations/{locationName}/instanceFailoverGroups/{failoverGroupName}/failover"); - Endpoints[2809] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/locations/{locationName}/instanceFailoverGroups/{failoverGroupName}/forceFailoverAllowDataLoss"); - Endpoints[2810] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/databases/{databaseName}/advisors"); - Endpoints[2811] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/databases/{databaseName}/auditingPolicies"); - Endpoints[2812] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/databases/{databaseName}/backupLongTermRetentionPolicies"); - Endpoints[2813] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/databases/{databaseName}/export"); - Endpoints[2814] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/databases/{databaseName}/extensions"); - Endpoints[2815] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/databases/{databaseName}/geoBackupPolicies"); - Endpoints[2816] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/databases/{databaseName}/metricDefinitions"); - Endpoints[2817] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/databases/{databaseName}/metrics"); - Endpoints[2818] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/databases/{databaseName}/move"); - Endpoints[2819] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/databases/{databaseName}/operations"); - Endpoints[2820] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/databases/{databaseName}/pause"); - Endpoints[2821] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/databases/{databaseName}/replicationLinks"); - Endpoints[2822] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/databases/{databaseName}/restorePoints"); - Endpoints[2823] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/databases/{databaseName}/resume"); - Endpoints[2824] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/databases/{databaseName}/serviceTierAdvisors"); - Endpoints[2825] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/databases/{databaseName}/syncGroups"); - Endpoints[2826] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/databases/{databaseName}/topQueries"); - Endpoints[2827] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/databases/{databaseName}/transparentDataEncryption"); - Endpoints[2828] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/databases/{databaseName}/upgradeDataWarehouse"); - Endpoints[2829] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/databases/{databaseName}/usages"); - Endpoints[2830] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/disasterRecoveryConfiguration/{disasterRecoveryConfigurationName}/failover"); - Endpoints[2831] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/disasterRecoveryConfiguration/{disasterRecoveryConfigurationName}/forceFailoverAllowDataLoss"); - Endpoints[2832] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/dnsAliases/{dnsAliasName}/acquire"); - Endpoints[2833] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/elasticPools/{elasticPoolName}/databases"); - Endpoints[2834] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/elasticPools/{elasticPoolName}/elasticPoolActivity"); - Endpoints[2835] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/elasticPools/{elasticPoolName}/elasticPoolDatabaseActivity"); - Endpoints[2836] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/elasticPools/{elasticPoolName}/metricDefinitions"); - Endpoints[2837] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/elasticPools/{elasticPoolName}/metrics"); - Endpoints[2838] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/elasticPools/{elasticPoolName}/operations"); - Endpoints[2839] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/failoverGroups/{failoverGroupName}/failover"); - Endpoints[2840] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/failoverGroups/{failoverGroupName}/forceFailoverAllowDataLoss"); - Endpoints[2841] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/jobAgents/{jobAgentName}/credentials"); - Endpoints[2842] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/jobAgents/{jobAgentName}/executions"); - Endpoints[2843] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/jobAgents/{jobAgentName}/jobs"); - Endpoints[2844] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/jobAgents/{jobAgentName}/targetGroups"); - Endpoints[2845] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/recommendedElasticPools/{recommendedElasticPoolName}/databases"); - Endpoints[2846] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/recommendedElasticPools/{recommendedElasticPoolName}/metrics"); - Endpoints[2847] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/syncAgents/{syncAgentName}/generateKey"); - Endpoints[2848] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/syncAgents/{syncAgentName}/linkedDatabases"); - Endpoints[2849] = CreateEndpoint("/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.Storage.Admin/farms/{farmId}/blobservices/{serviceType}/metricdefinitions"); - Endpoints[2850] = CreateEndpoint("/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.Storage.Admin/farms/{farmId}/blobservices/{serviceType}/metrics"); - Endpoints[2851] = CreateEndpoint("/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.Storage.Admin/farms/{farmId}/queueservices/{serviceType}/metricdefinitions"); - Endpoints[2852] = CreateEndpoint("/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.Storage.Admin/farms/{farmId}/queueservices/{serviceType}/metrics"); - Endpoints[2853] = CreateEndpoint("/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.Storage.Admin/farms/{farmId}/shares/{shareName}/containers"); - Endpoints[2854] = CreateEndpoint("/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.Storage.Admin/farms/{farmId}/shares/{shareName}/destinationshares"); - Endpoints[2855] = CreateEndpoint("/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.Storage.Admin/farms/{farmId}/shares/{shareName}/metricdefinitions"); - Endpoints[2856] = CreateEndpoint("/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.Storage.Admin/farms/{farmId}/shares/{shareName}/metrics"); - Endpoints[2857] = CreateEndpoint("/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.Storage.Admin/farms/{farmId}/shares/{shareName}/migrate"); - Endpoints[2858] = CreateEndpoint("/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.Storage.Admin/farms/{farmId}/tableservices/{serviceType}/metricdefinitions"); - Endpoints[2859] = CreateEndpoint("/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.Storage.Admin/farms/{farmId}/tableservices/{serviceType}/metrics"); - Endpoints[2860] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.StorSimple/managers/{managerName}/devices/{deviceName}/authorizeForServiceEncryptionKeyRollover"); - Endpoints[2861] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.StorSimple/managers/{managerName}/devices/{deviceName}/backupPolicies"); - Endpoints[2862] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.StorSimple/managers/{managerName}/devices/{deviceName}/backups"); - Endpoints[2863] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.StorSimple/managers/{managerName}/devices/{deviceName}/deactivate"); - Endpoints[2864] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.StorSimple/managers/{managerName}/devices/{deviceName}/hardwareComponentGroups"); - Endpoints[2865] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.StorSimple/managers/{managerName}/devices/{deviceName}/installUpdates"); - Endpoints[2866] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.StorSimple/managers/{managerName}/devices/{deviceName}/jobs"); - Endpoints[2867] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.StorSimple/managers/{managerName}/devices/{deviceName}/listFailoverSets"); - Endpoints[2868] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.StorSimple/managers/{managerName}/devices/{deviceName}/metrics"); - Endpoints[2869] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.StorSimple/managers/{managerName}/devices/{deviceName}/metricsDefinitions"); - Endpoints[2870] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.StorSimple/managers/{managerName}/devices/{deviceName}/publicEncryptionKey"); - Endpoints[2871] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.StorSimple/managers/{managerName}/devices/{deviceName}/scanForUpdates"); - Endpoints[2872] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.StorSimple/managers/{managerName}/devices/{deviceName}/sendTestAlertEmail"); - Endpoints[2873] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.StorSimple/managers/{managerName}/devices/{deviceName}/volumeContainers"); - Endpoints[2874] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.StorSimple/managers/{managerName}/devices/{deviceName}/volumes"); - Endpoints[2875] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.StorSimple/managers/{managerName}/devices/{sourceDeviceName}/failover"); - Endpoints[2876] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.StorSimple/managers/{managerName}/devices/{sourceDeviceName}/listFailoverTargets"); - Endpoints[2877] = CreateEndpoint("/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.StreamAnalytics/streamingjobs/{jobName}/functions/{functionName}/RetrieveDefaultDefinition"); - Endpoints[2878] = CreateEndpoint("/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.StreamAnalytics/streamingjobs/{jobName}/functions/{functionName}/test"); - Endpoints[2879] = CreateEndpoint("/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.StreamAnalytics/streamingjobs/{jobName}/inputs/{inputName}/test"); - Endpoints[2880] = CreateEndpoint("/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.StreamAnalytics/streamingjobs/{jobName}/outputs/{outputName}/test"); - Endpoints[2881] = CreateEndpoint("/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.Update.Admin/updateLocations/{updateLocation}/updates/{updateName}/Apply"); - Endpoints[2882] = CreateEndpoint("/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.Update.Admin/updateLocations/{updateLocation}/updates/{updateName}/updateRuns"); - Endpoints[2883] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/hostingEnvironments/{name}/workerPools/{workerPoolName}/metricdefinitions"); - Endpoints[2884] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/hostingEnvironments/{name}/workerPools/{workerPoolName}/metrics"); - Endpoints[2885] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/hostingEnvironments/{name}/workerPools/{workerPoolName}/skus"); - Endpoints[2886] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/hostingEnvironments/{name}/workerPools/{workerPoolName}/usages"); - Endpoints[2887] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/serverfarms/{name}/virtualNetworkConnections/{vnetName}/routes"); - Endpoints[2888] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/serverfarms/{name}/workers/{workerName}/reboot"); - Endpoints[2889] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/backups/{backupId}/list"); - Endpoints[2890] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/backups/{backupId}/restore"); - Endpoints[2891] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/continuouswebjobs/{webJobName}/start"); - Endpoints[2892] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/continuouswebjobs/{webJobName}/stop"); - Endpoints[2893] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/deployments/{id}/log"); - Endpoints[2894] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/functions/{functionName}/listsecrets"); - Endpoints[2895] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/instances/{instanceId}/deployments"); - Endpoints[2896] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/instances/{instanceId}/processes"); - Endpoints[2897] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/processes/{processId}/dump"); - Endpoints[2898] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/processes/{processId}/modules"); - Endpoints[2899] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/processes/{processId}/threads"); - Endpoints[2900] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/analyzeCustomHostname"); - Endpoints[2901] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/applySlotConfig"); - Endpoints[2902] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/backup"); - Endpoints[2903] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/backups"); - Endpoints[2904] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/config"); - Endpoints[2905] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/containerlogs"); - Endpoints[2906] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/continuouswebjobs"); - Endpoints[2907] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/deployments"); - Endpoints[2908] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/domainOwnershipIdentifiers"); - Endpoints[2909] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/functions"); - Endpoints[2910] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/hostNameBindings"); - Endpoints[2911] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/hybridconnection"); - Endpoints[2912] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/hybridConnectionRelays"); - Endpoints[2913] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/instances"); - Endpoints[2914] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/iscloneable"); - Endpoints[2915] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/listsyncfunctiontriggerstatus"); - Endpoints[2916] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/metricdefinitions"); - Endpoints[2917] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/metrics"); - Endpoints[2918] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/newpassword"); - Endpoints[2919] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/perfcounters"); - Endpoints[2920] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/phplogging"); - Endpoints[2921] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/premieraddons"); - Endpoints[2922] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/processes"); - Endpoints[2923] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/publicCertificates"); - Endpoints[2924] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/publishxml"); - Endpoints[2925] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/recover"); - Endpoints[2926] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/resetSlotConfig"); - Endpoints[2927] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/resourceHealthMetadata"); - Endpoints[2928] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/restart"); - Endpoints[2929] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/restoreFromBackupBlob"); - Endpoints[2930] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/restoreFromDeletedApp"); - Endpoints[2931] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/restoreSnapshot"); - Endpoints[2932] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/siteextensions"); - Endpoints[2933] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/slotsdiffs"); - Endpoints[2934] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/slotsswap"); - Endpoints[2935] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/snapshots"); - Endpoints[2936] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/start"); - Endpoints[2937] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/stop"); - Endpoints[2938] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/sync"); - Endpoints[2939] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/syncfunctiontriggers"); - Endpoints[2940] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/triggeredwebjobs"); - Endpoints[2941] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/usages"); - Endpoints[2942] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/virtualNetworkConnections"); - Endpoints[2943] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/webjobs"); - Endpoints[2944] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/triggeredwebjobs/{webJobName}/history"); - Endpoints[2945] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/triggeredwebjobs/{webJobName}/run"); - Endpoints[2946] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{siteName}/diagnostics/{diagnosticCategory}/analyses"); - Endpoints[2947] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{siteName}/diagnostics/{diagnosticCategory}/detectors"); - Endpoints[2948] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{siteName}/recommendations/{name}/disable"); - Endpoints[2949] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{siteName}/slots/{slot}/detectors"); - Endpoints[2950] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{siteName}/slots/{slot}/diagnostics"); - Endpoints[2951] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/tenant/{accessName}/git/regeneratePrimaryKey"); - Endpoints[2952] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/tenant/{accessName}/git/regenerateSecondaryKey"); - Endpoints[2953] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Automation/automationAccounts/{automationAccountName}/runbooks/{runbookName}/draft/content"); - Endpoints[2954] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Automation/automationAccounts/{automationAccountName}/runbooks/{runbookName}/draft/publish"); - Endpoints[2955] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Automation/automationAccounts/{automationAccountName}/runbooks/{runbookName}/draft/testJob"); - Endpoints[2956] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Automation/automationAccounts/{automationAccountName}/runbooks/{runbookName}/draft/undoEdit"); - Endpoints[2957] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/targetRegion/{targetRegion}/percentile/metrics"); - Endpoints[2958] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Logic/workflows/{workflowName}/triggers/{triggerName}/schemas/json"); - Endpoints[2959] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/databases/{databaseName}/automaticTuning/current"); - Endpoints[2960] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.StorSimple/managers/{managerName}/devices/{deviceName}/alertSettings/default"); - Endpoints[2961] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.StorSimple/managers/{managerName}/devices/{deviceName}/networkSettings/default"); - Endpoints[2962] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.StorSimple/managers/{managerName}/devices/{deviceName}/securitySettings/default"); - Endpoints[2963] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.StorSimple/managers/{managerName}/devices/{deviceName}/timeSettings/default"); - Endpoints[2964] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.StorSimple/managers/{managerName}/devices/{deviceName}/updateSummary/default"); - Endpoints[2965] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/instances/{instanceId}/extensions/MSDeploy"); - Endpoints[2966] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/backups/discover"); - Endpoints[2967] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/config/appsettings"); - Endpoints[2968] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/config/authsettings"); - Endpoints[2969] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/config/backup"); - Endpoints[2970] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/config/connectionstrings"); - Endpoints[2971] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/config/logs"); - Endpoints[2972] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/config/metadata"); - Endpoints[2973] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/config/pushsettings"); - Endpoints[2974] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/config/web"); - Endpoints[2975] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/extensions/MSDeploy"); - Endpoints[2976] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/migratemysql/status"); - Endpoints[2977] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/networkTrace/start"); - Endpoints[2978] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/networkTrace/stop"); - Endpoints[2979] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/privateAccess/virtualNetworks"); - Endpoints[2980] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/resourceHealthMetadata/default"); - Endpoints[2981] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/sourcecontrols/web"); - Endpoints[2982] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Automation/automationAccounts/{automationAccountName}/runbooks/{runbookName}/draft/testJob/resume"); - Endpoints[2983] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Automation/automationAccounts/{automationAccountName}/runbooks/{runbookName}/draft/testJob/stop"); - Endpoints[2984] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Automation/automationAccounts/{automationAccountName}/runbooks/{runbookName}/draft/testJob/streams"); - Endpoints[2985] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Automation/automationAccounts/{automationAccountName}/runbooks/{runbookName}/draft/testJob/suspend"); - Endpoints[2986] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ServerManagement/nodes/{nodeName}/sessions/{session}/features/powerShellConsole/pssessions"); - Endpoints[2987] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.StorSimple/managers/{managerName}/devices/{deviceName}/securitySettings/default/syncRemoteManagementCertificate"); - Endpoints[2988] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/instances/{instanceId}/extensions/MSDeploy/log"); - Endpoints[2989] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/config/appsettings/list"); - Endpoints[2990] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/config/authsettings/list"); - Endpoints[2991] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/config/backup/list"); - Endpoints[2992] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/config/connectionstrings/list"); - Endpoints[2993] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/config/metadata/list"); - Endpoints[2994] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/config/publishingcredentials/list"); - Endpoints[2995] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/config/pushsettings/list"); - Endpoints[2996] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/config/web/snapshots"); - Endpoints[2997] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/containerlogs/zip/download"); - Endpoints[2998] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/extensions/MSDeploy/log"); - Endpoints[2999] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/functions/admin/token"); - Endpoints[3000] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Automation/automationAccounts/{automationAccountName}/runbooks/{runbookName}/draft/testJob/streams/{jobStreamId}"); - Endpoints[3001] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ServerManagement/nodes/{nodeName}/sessions/{session}/features/powerShellConsole/pssessions/{pssession}"); - Endpoints[3002] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/config/web/snapshots/{snapshotId}"); - Endpoints[3003] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ServerManagement/nodes/{nodeName}/sessions/{session}/features/powerShellConsole/pssessions/{pssession}/cancel"); - Endpoints[3004] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ServerManagement/nodes/{nodeName}/sessions/{session}/features/powerShellConsole/pssessions/{pssession}/invokeCommand"); - Endpoints[3005] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ServerManagement/nodes/{nodeName}/sessions/{session}/features/powerShellConsole/pssessions/{pssession}/tab"); - Endpoints[3006] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/config/web/snapshots/{snapshotId}/recover"); - Endpoints[3007] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{groupName}/providers/Microsoft.DataMigration/services/{serviceName}/projects/{projectName}/tasks/{taskName}"); - Endpoints[3008] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/apis/{apiId}/diagnostics/{diagnosticId}"); - Endpoints[3009] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/apis/{apiId}/issues/{issueId}"); - Endpoints[3010] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/apis/{apiId}/operations/{operationId}"); - Endpoints[3011] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/apis/{apiId}/policies/{policyId}"); - Endpoints[3012] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/apis/{apiId}/releases/{releaseId}"); - Endpoints[3013] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/apis/{apiId}/schemas/{schemaId}"); - Endpoints[3014] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/apis/{apiId}/tagDescriptions/{tagId}"); - Endpoints[3015] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/apis/{apiId}/tags/{tagId}"); - Endpoints[3016] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/diagnostics/{diagnosticId}/loggers/{loggerid}"); - Endpoints[3017] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/groups/{groupId}/users/{uid}"); - Endpoints[3018] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/notifications/{notificationName}/recipientEmails/{email}"); - Endpoints[3019] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/notifications/{notificationName}/recipientUsers/{uid}"); - Endpoints[3020] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/products/{productId}/apis/{apiId}"); - Endpoints[3021] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/products/{productId}/groups/{groupId}"); - Endpoints[3022] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/products/{productId}/policies/{policyId}"); - Endpoints[3023] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/products/{productId}/tags/{tagId}"); - Endpoints[3024] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/quotas/{quotaCounterKey}/periods/{quotaPeriodKey}"); - Endpoints[3025] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Automation/automationAccounts/{automationAccountName}/compilationjobs/{jobId}/streams/{jobStreamId}"); - Endpoints[3026] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Automation/automationAccounts/{automationAccountName}/jobs/{jobId}/streams/{jobStreamId}"); - Endpoints[3027] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Automation/automationAccounts/{automationAccountName}/modules/{moduleName}/activities/{activityName}"); - Endpoints[3028] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Automation/automationAccounts/{automationAccountName}/nodes/{nodeId}/reports/{reportId}"); - Endpoints[3029] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Automation/automationAccounts/{automationAccountName}/sourceControls/{sourceControlName}/sourceControlSyncJobs/{sourceControlSyncJobId}"); - Endpoints[3030] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Batch/batchAccounts/{accountName}/applications/{applicationId}/versions/{version}"); - Endpoints[3031] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.BatchAI/workspaces/{workspaceName}/experiments/{experimentName}/jobs/{jobName}"); - Endpoints[3032] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Cdn/profiles/{profileName}/endpoints/{endpointName}/customDomains/{customDomainName}"); - Endpoints[3033] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Cdn/profiles/{profileName}/endpoints/{endpointName}/origins/{originName}"); - Endpoints[3034] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/galleries/{galleryName}/images/{galleryImageName}/versions/{galleryImageVersionName}"); - Endpoints[3035] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/microsoft.Compute/virtualMachineScaleSets/{virtualMachineScaleSetName}/virtualMachines/{virtualmachineIndex}/networkInterfaces/{networkInterfaceName}"); - Endpoints[3036] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerRegistry/registries/{registryName}/buildTasks/{buildTaskName}/steps/{stepName}"); - Endpoints[3037] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.CustomerInsights/hubs/{hubName}/connectors/{connectorName}/mappings/{mappingName}"); - Endpoints[3038] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataFactory/factories/{factoryName}/integrationRuntimes/{integrationRuntimeName}/nodes/{nodeName}"); - Endpoints[3039] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataLakeAnalytics/accounts/{accountName}/storageAccounts/{storageAccountName}/containers/{containerName}"); - Endpoints[3040] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Devices/IotHubs/{resourceName}/eventHubEndpoints/{eventHubEndpointName}/ConsumerGroups/{name}"); - Endpoints[3041] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DevTestLab/labs/{labName}/artifactsources/{artifactSourceName}/armtemplates/{name}"); - Endpoints[3042] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DevTestLab/labs/{labName}/artifactsources/{artifactSourceName}/artifacts/{name}"); - Endpoints[3043] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DevTestLab/labs/{labName}/policysets/{policySetName}/policies/{name}"); - Endpoints[3044] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DevTestLab/labs/{labName}/users/{userName}/disks/{name}"); - Endpoints[3045] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DevTestLab/labs/{labName}/users/{userName}/environments/{name}"); - Endpoints[3046] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DevTestLab/labs/{labName}/users/{userName}/secrets/{name}"); - Endpoints[3047] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DevTestLab/labs/{labName}/virtualmachines/{virtualMachineName}/schedules/{name}"); - Endpoints[3048] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.EventHub/namespaces/{namespaceName}/disasterRecoveryConfigs/{alias}/AuthorizationRules/{authorizationRuleName}"); - Endpoints[3049] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.EventHub/namespaces/{namespaceName}/eventhubs/{eventHubName}/authorizationRules/{authorizationRuleName}"); - Endpoints[3050] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.EventHub/namespaces/{namespaceName}/eventhubs/{eventHubName}/consumergroups/{consumerGroupName}"); - Endpoints[3051] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Fabric.Admin/fabricLocations/{location}/logicalNetworks/{logicalNetwork}/logicalSubnets/{logicalSubnet}"); - Endpoints[3052] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Fabric.Admin/fabricLocations/{location}/storageSubSystems/{storageSubSystem}/storagePools/{storagePool}"); - Endpoints[3053] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.InfrastructureInsights.Admin/regionHealths/{location}/serviceHealths/{serviceRegistrationId}/resourceHealths/{resourceRegistrationId}"); - Endpoints[3054] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Logic/workflows/{workflowName}/runs/{runName}/actions/{actionName}"); - Endpoints[3055] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Logic/workflows/{workflowName}/runs/{runName}/operations/{operationId}"); - Endpoints[3056] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Logic/workflows/{workflowName}/triggers/{triggerName}/histories/{historyName}"); - Endpoints[3057] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.MachineLearningExperimentation/accounts/{accountName}/workspaces/{workspaceName}/projects/{projectName}"); - Endpoints[3058] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Media/mediaservices/{accountName}/liveEvents/{liveEventName}/liveOutputs/{liveOutputName}"); - Endpoints[3059] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Media/mediaServices/{accountName}/transforms/{transformName}/jobs/{jobName}"); - Endpoints[3060] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Migrate/projects/{projectName}/groups/{groupName}/assessments/{assessmentName}"); - Endpoints[3061] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/expressRouteCircuits/{circuitName}/peerings/{peeringName}/arpTables/{devicePath}"); - Endpoints[3062] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/expressRouteCircuits/{circuitName}/peerings/{peeringName}/connections/{connectionName}"); - Endpoints[3063] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/expressRouteCircuits/{circuitName}/peerings/{peeringName}/routeTables/{devicePath}"); - Endpoints[3064] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/expressRouteCircuits/{circuitName}/peerings/{peeringName}/routeTablesSummary/{devicePath}"); - Endpoints[3065] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/expressRouteCrossConnections/{crossConnectionName}/peerings/{peeringName}/arpTables/{devicePath}"); - Endpoints[3066] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/expressRouteCrossConnections/{crossConnectionName}/peerings/{peeringName}/routeTables/{devicePath}"); - Endpoints[3067] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/expressRouteCrossConnections/{crossConnectionName}/peerings/{peeringName}/routeTablesSummary/{devicePath}"); - Endpoints[3068] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.NotificationHubs/namespaces/{namespaceName}/notificationHubs/{notificationHubName}/AuthorizationRules/{authorizationRuleName}"); - Endpoints[3069] = CreateEndpoint("/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationFabrics/{fabricName}/replicationLogicalNetworks/{logicalNetworkName}"); - Endpoints[3070] = CreateEndpoint("/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationFabrics/{fabricName}/replicationNetworks/{networkName}"); - Endpoints[3071] = CreateEndpoint("/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationFabrics/{fabricName}/replicationProtectionContainers/{protectionContainerName}"); - Endpoints[3072] = CreateEndpoint("/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationFabrics/{fabricName}/replicationRecoveryServicesProviders/{providerName}"); - Endpoints[3073] = CreateEndpoint("/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationFabrics/{fabricName}/replicationStorageClassifications/{storageClassificationName}"); - Endpoints[3074] = CreateEndpoint("/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationFabrics/{fabricName}/replicationvCenters/{vCenterName}"); - Endpoints[3075] = CreateEndpoint("/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupFabrics/{fabricName}/backupProtectionIntent/{intentObjectName}"); - Endpoints[3076] = CreateEndpoint("/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupFabrics/{fabricName}/operationResults/{operationId}"); - Endpoints[3077] = CreateEndpoint("/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupFabrics/{fabricName}/protectionContainers/{containerName}"); - Endpoints[3078] = CreateEndpoint("/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupJobs/{jobName}/operationResults/{operationId}"); - Endpoints[3079] = CreateEndpoint("/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupPolicies/{policyName}/operationResults/{operationId}"); - Endpoints[3080] = CreateEndpoint("/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupPolicies/{policyName}/operations/{operationId}"); - Endpoints[3081] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Relay/namespaces/{namespaceName}/hybridConnections/{hybridConnectionName}/authorizationRules/{authorizationRuleName}"); - Endpoints[3082] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Relay/namespaces/{namespaceName}/wcfRelays/{relayName}/authorizationRules/{authorizationRuleName}"); - Endpoints[3083] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ServiceBus/namespaces/{namespaceName}/disasterRecoveryConfigs/{alias}/AuthorizationRules/{authorizationRuleName}"); - Endpoints[3084] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ServiceBus/namespaces/{namespaceName}/eventhubs/{eventhubName}/authorizationRules/{authorizationRuleName}"); - Endpoints[3085] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ServiceBus/namespaces/{namespaceName}/queues/{queueName}/authorizationRules/{authorizationRuleName}"); - Endpoints[3086] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ServiceBus/namespaces/{namespaceName}/topics/{topicName}/authorizationRules/{authorizationRuleName}"); - Endpoints[3087] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ServiceBus/namespaces/{namespaceName}/topics/{topicName}/subscriptions/{subscriptionName}"); - Endpoints[3088] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ServiceFabric/clusters/{clusterName}/applications/{applicationName}/services/{serviceName}"); - Endpoints[3089] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ServiceFabric/clusters/{clusterName}/applicationTypes/{applicationTypeName}/versions/{version}"); - Endpoints[3090] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/databases/{databaseName}/advisors/{advisorName}"); - Endpoints[3091] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/databases/{databaseName}/auditingPolicies/{tableAuditingPolicyName}"); - Endpoints[3092] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/databases/{databaseName}/auditingSettings/{blobAuditingPolicyName}"); - Endpoints[3093] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/databases/{databaseName}/backupLongTermRetentionPolicies/{backupLongTermRetentionPolicyName}"); - Endpoints[3094] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/databases/{databaseName}/backupShortTermRetentionPolicies/{policyName}"); - Endpoints[3095] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/databases/{databaseName}/connectionPolicies/{connectionPolicyName}"); - Endpoints[3096] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/databases/{databaseName}/dataMaskingPolicies/{dataMaskingPolicyName}"); - Endpoints[3097] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/databases/{databaseName}/dataWarehouseUserActivities/{dataWarehouseUserActivityName}"); - Endpoints[3098] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/databases/{databaseName}/extensions/{extensionName}"); - Endpoints[3099] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/databases/{databaseName}/geoBackupPolicies/{geoBackupPolicyName}"); - Endpoints[3100] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/databases/{databaseName}/replicationLinks/{linkId}"); - Endpoints[3101] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/databases/{databaseName}/restorePoints/{restorePointName}"); - Endpoints[3102] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/databases/{databaseName}/securityAlertPolicies/{securityAlertPolicyName}"); - Endpoints[3103] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/databases/{databaseName}/serviceTierAdvisors/{serviceTierAdvisorName}"); - Endpoints[3104] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/databases/{databaseName}/syncGroups/{syncGroupName}"); - Endpoints[3105] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/databases/{databaseName}/transparentDataEncryption/{transparentDataEncryptionName}"); - Endpoints[3106] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/databases/{databaseName}/vulnerabilityAssessments/{vulnerabilityAssessmentName}"); - Endpoints[3107] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/elasticPools/{elasticPoolName}/databases/{databaseName}"); - Endpoints[3108] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/jobAgents/{jobAgentName}/credentials/{credentialName}"); - Endpoints[3109] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/jobAgents/{jobAgentName}/jobs/{jobName}"); - Endpoints[3110] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/jobAgents/{jobAgentName}/targetGroups/{targetGroupName}"); - Endpoints[3111] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/recommendedElasticPools/{recommendedElasticPoolName}/databases/{databaseName}"); - Endpoints[3112] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.StorSimple/managers/{managerName}/devices/{deviceName}/backupPolicies/{backupPolicyName}"); - Endpoints[3113] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.StorSimple/managers/{managerName}/devices/{deviceName}/backups/{backupName}"); - Endpoints[3114] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.StorSimple/managers/{managerName}/devices/{deviceName}/jobs/{jobName}"); - Endpoints[3115] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.StorSimple/managers/{managerName}/devices/{deviceName}/volumeContainers/{volumeContainerName}"); - Endpoints[3116] = CreateEndpoint("/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.Update.Admin/updateLocations/{updateLocation}/updates/{updateName}/updateRuns/{runName}"); - Endpoints[3117] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/serverfarms/{name}/hybridConnectionNamespaces/{namespaceName}/relays/{relayName}"); - Endpoints[3118] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/serverfarms/{name}/virtualNetworkConnections/{vnetName}/gateways/{gatewayName}"); - Endpoints[3119] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/serverfarms/{name}/virtualNetworkConnections/{vnetName}/routes/{routeName}"); - Endpoints[3120] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/hybridConnectionNamespaces/{namespaceName}/relays/{relayName}"); - Endpoints[3121] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/instances/{instanceId}/deployments/{id}"); - Endpoints[3122] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/instances/{instanceId}/processes/{processId}"); - Endpoints[3123] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/processes/{processId}/modules/{baseAddress}"); - Endpoints[3124] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/processes/{processId}/threads/{threadId}"); - Endpoints[3125] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/backups/{backupId}"); - Endpoints[3126] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/continuouswebjobs/{webJobName}"); - Endpoints[3127] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/deployments/{id}"); - Endpoints[3128] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/domainOwnershipIdentifiers/{domainOwnershipIdentifierName}"); - Endpoints[3129] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/functions/{functionName}"); - Endpoints[3130] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/hostNameBindings/{hostName}"); - Endpoints[3131] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/hybridconnection/{entityName}"); - Endpoints[3132] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/networkFeatures/{view}"); - Endpoints[3133] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/operationresults/{operationId}"); - Endpoints[3134] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/premieraddons/{premierAddOnName}"); - Endpoints[3135] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/processes/{processId}"); - Endpoints[3136] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/publicCertificates/{publicCertificateName}"); - Endpoints[3137] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/siteextensions/{siteExtensionId}"); - Endpoints[3138] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/triggeredwebjobs/{webJobName}"); - Endpoints[3139] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/virtualNetworkConnections/{vnetName}"); - Endpoints[3140] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/webjobs/{webJobName}"); - Endpoints[3141] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/triggeredwebjobs/{webJobName}/history/{id}"); - Endpoints[3142] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/virtualNetworkConnections/{vnetName}/gateways/{gatewayName}"); - Endpoints[3143] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{siteName}/diagnostics/{diagnosticCategory}/analyses/{analysisName}"); - Endpoints[3144] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{siteName}/diagnostics/{diagnosticCategory}/detectors/{detectorName}"); - Endpoints[3145] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{siteName}/slots/{slot}/detectors/{detectorName}"); - Endpoints[3146] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{siteName}/slots/{slot}/diagnostics/{diagnosticCategory}"); - Endpoints[3147] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{groupName}/providers/Microsoft.DataMigration/services/{serviceName}/projects/{projectName}/tasks/{taskName}/cancel"); - Endpoints[3148] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/apis/{apiId}/diagnostics/{diagnosticId}/loggers"); - Endpoints[3149] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/apis/{apiId}/issues/{issueId}/attachments"); - Endpoints[3150] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/apis/{apiId}/issues/{issueId}/comments"); - Endpoints[3151] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/apis/{apiId}/operations/{operationId}/policies"); - Endpoints[3152] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/apis/{apiId}/operations/{operationId}/policy"); - Endpoints[3153] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/apis/{apiId}/operations/{operationId}/tags"); - Endpoints[3154] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Automation/automationAccounts/{automationAccountName}/modules/{moduleName}/objectDataTypes/{typeName}/fields"); - Endpoints[3155] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Automation/automationAccounts/{automationAccountName}/modules/{moduleName}/types/{typeName}/fields"); - Endpoints[3156] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Automation/automationAccounts/{automationAccountName}/nodes/{nodeId}/reports/{reportId}/content"); - Endpoints[3157] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Automation/automationAccounts/{automationAccountName}/sourceControls/{sourceControlName}/sourceControlSyncJobs/{sourceControlSyncJobId}/streams"); - Endpoints[3158] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Batch/batchAccounts/{accountName}/applications/{applicationId}/versions/{version}/activate"); - Endpoints[3159] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.BatchAI/workspaces/{workspaceName}/experiments/{experimentName}/jobs/{jobName}/listOutputFiles"); - Endpoints[3160] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.BatchAI/workspaces/{workspaceName}/experiments/{experimentName}/jobs/{jobName}/listRemoteLoginInformation"); - Endpoints[3161] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.BatchAI/workspaces/{workspaceName}/experiments/{experimentName}/jobs/{jobName}/terminate"); - Endpoints[3162] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Cdn/profiles/{profileName}/endpoints/{endpointName}/customDomains/{customDomainName}/disableCustomHttps"); - Endpoints[3163] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Cdn/profiles/{profileName}/endpoints/{endpointName}/customDomains/{customDomainName}/enableCustomHttps"); - Endpoints[3164] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/microsoft.Compute/virtualMachineScaleSets/{virtualMachineScaleSetName}/virtualMachines/{virtualmachineIndex}/networkInterfaces/{networkInterfaceName}/ipConfigurations"); - Endpoints[3165] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerRegistry/registries/{registryName}/buildTasks/{buildTaskName}/steps/{stepName}/listBuildArguments"); - Endpoints[3166] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataFactory/factories/{factoryName}/integrationRuntimes/{integrationRuntimeName}/nodes/{nodeName}/ipAddress"); - Endpoints[3167] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataLakeAnalytics/accounts/{accountName}/storageAccounts/{storageAccountName}/containers/{containerName}/listSasTokens"); - Endpoints[3168] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DevTestLab/labs/{labName}/artifactsources/{artifactSourceName}/artifacts/{name}/generateArmTemplate"); - Endpoints[3169] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DevTestLab/labs/{labName}/users/{userName}/disks/{name}/attach"); - Endpoints[3170] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DevTestLab/labs/{labName}/users/{userName}/disks/{name}/detach"); - Endpoints[3171] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DevTestLab/labs/{labName}/virtualmachines/{virtualMachineName}/schedules/{name}/execute"); - Endpoints[3172] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/databases/{databaseRid}/collections/{collectionRid}/metricDefinitions"); - Endpoints[3173] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/databases/{databaseRid}/collections/{collectionRid}/metrics"); - Endpoints[3174] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/databases/{databaseRid}/collections/{collectionRid}/usages"); - Endpoints[3175] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.EventHub/namespaces/{namespaceName}/disasterRecoveryConfigs/{alias}/AuthorizationRules/{authorizationRuleName}/listKeys"); - Endpoints[3176] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.EventHub/namespaces/{namespaceName}/eventhubs/{eventHubName}/authorizationRules/{authorizationRuleName}/ListKeys"); - Endpoints[3177] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.EventHub/namespaces/{namespaceName}/eventhubs/{eventHubName}/authorizationRules/{authorizationRuleName}/regenerateKeys"); - Endpoints[3178] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Fabric.Admin/fabricLocations/{location}/storageSubSystems/{storageSubSystem}/storagePools/{storagePool}/volumes"); - Endpoints[3179] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Logic/workflows/{workflowName}/runs/{runName}/actions/{actionName}/listExpressionTraces"); - Endpoints[3180] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Logic/workflows/{workflowName}/runs/{runName}/actions/{actionName}/repetitions"); - Endpoints[3181] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Logic/workflows/{workflowName}/runs/{runName}/actions/{actionName}/scopeRepetitions"); - Endpoints[3182] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Logic/workflows/{workflowName}/triggers/{triggerName}/histories/{historyName}/resubmit"); - Endpoints[3183] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Logic/workflows/{workflowName}/versions/{versionId}/triggers/{triggerName}/listCallbackUrl"); - Endpoints[3184] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Media/mediaServices/{accountName}/transforms/{transformName}/jobs/{jobName}/cancelJob"); - Endpoints[3185] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Migrate/projects/{projectName}/groups/{groupName}/assessments/{assessmentName}/assessedMachines"); - Endpoints[3186] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Migrate/projects/{projectName}/groups/{groupName}/assessments/{assessmentName}/downloadUrl"); - Endpoints[3187] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.NotificationHubs/namespaces/{namespaceName}/notificationHubs/{notificationHubName}/AuthorizationRules/{authorizationRuleName}/listKeys"); - Endpoints[3188] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.NotificationHubs/namespaces/{namespaceName}/notificationHubs/{notificationHubName}/AuthorizationRules/{authorizationRuleName}/regenerateKeys"); - Endpoints[3189] = CreateEndpoint("/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationFabrics/{fabricName}/replicationNetworks/{networkName}/replicationNetworkMappings"); - Endpoints[3190] = CreateEndpoint("/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationFabrics/{fabricName}/replicationProtectionContainers/{protectionContainerName}/discoverProtectableItem"); - Endpoints[3191] = CreateEndpoint("/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationFabrics/{fabricName}/replicationProtectionContainers/{protectionContainerName}/remove"); - Endpoints[3192] = CreateEndpoint("/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationFabrics/{fabricName}/replicationProtectionContainers/{protectionContainerName}/replicationProtectableItems"); - Endpoints[3193] = CreateEndpoint("/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationFabrics/{fabricName}/replicationProtectionContainers/{protectionContainerName}/replicationProtectedItems"); - Endpoints[3194] = CreateEndpoint("/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationFabrics/{fabricName}/replicationProtectionContainers/{protectionContainerName}/replicationProtectionContainerMappings"); - Endpoints[3195] = CreateEndpoint("/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationFabrics/{fabricName}/replicationProtectionContainers/{protectionContainerName}/switchprotection"); - Endpoints[3196] = CreateEndpoint("/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationFabrics/{fabricName}/replicationRecoveryServicesProviders/{providerName}/refreshProvider"); - Endpoints[3197] = CreateEndpoint("/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationFabrics/{fabricName}/replicationRecoveryServicesProviders/{providerName}/remove"); - Endpoints[3198] = CreateEndpoint("/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationFabrics/{fabricName}/replicationStorageClassifications/{storageClassificationName}/replicationStorageClassificationMappings"); - Endpoints[3199] = CreateEndpoint("/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupFabrics/{fabricName}/protectionContainers/{containerName}/inquire"); - Endpoints[3200] = CreateEndpoint("/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupFabrics/{fabricName}/protectionContainers/{containerName}/items"); - Endpoints[3201] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Relay/namespaces/{namespaceName}/hybridConnections/{hybridConnectionName}/authorizationRules/{authorizationRuleName}/listKeys"); - Endpoints[3202] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Relay/namespaces/{namespaceName}/hybridConnections/{hybridConnectionName}/authorizationRules/{authorizationRuleName}/regenerateKeys"); - Endpoints[3203] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Relay/namespaces/{namespaceName}/wcfRelays/{relayName}/authorizationRules/{authorizationRuleName}/listKeys"); - Endpoints[3204] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Relay/namespaces/{namespaceName}/wcfRelays/{relayName}/authorizationRules/{authorizationRuleName}/regenerateKeys"); - Endpoints[3205] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ServiceBus/namespaces/{namespaceName}/disasterRecoveryConfigs/{alias}/AuthorizationRules/{authorizationRuleName}/listKeys"); - Endpoints[3206] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ServiceBus/namespaces/{namespaceName}/queues/{queueName}/authorizationRules/{authorizationRuleName}/ListKeys"); - Endpoints[3207] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ServiceBus/namespaces/{namespaceName}/queues/{queueName}/authorizationRules/{authorizationRuleName}/regenerateKeys"); - Endpoints[3208] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ServiceBus/namespaces/{namespaceName}/topics/{topicName}/authorizationRules/{authorizationRuleName}/ListKeys"); - Endpoints[3209] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ServiceBus/namespaces/{namespaceName}/topics/{topicName}/authorizationRules/{authorizationRuleName}/regenerateKeys"); - Endpoints[3210] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ServiceBus/namespaces/{namespaceName}/topics/{topicName}/subscriptions/{subscriptionName}/rules"); - Endpoints[3211] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/databases/{databaseName}/advisors/{advisorName}/recommendedActions"); - Endpoints[3212] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/databases/{databaseName}/dataMaskingPolicies/{dataMaskingPolicyName}/rules"); - Endpoints[3213] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/databases/{databaseName}/operations/{operationId}/cancel"); - Endpoints[3214] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/databases/{databaseName}/replicationLinks/{linkId}/failover"); - Endpoints[3215] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/databases/{databaseName}/replicationLinks/{linkId}/forceFailoverAllowDataLoss"); - Endpoints[3216] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/databases/{databaseName}/syncGroups/{syncGroupName}/cancelSync"); - Endpoints[3217] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/databases/{databaseName}/syncGroups/{syncGroupName}/hubSchemas"); - Endpoints[3218] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/databases/{databaseName}/syncGroups/{syncGroupName}/logs"); - Endpoints[3219] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/databases/{databaseName}/syncGroups/{syncGroupName}/refreshHubSchema"); - Endpoints[3220] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/databases/{databaseName}/syncGroups/{syncGroupName}/syncMembers"); - Endpoints[3221] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/databases/{databaseName}/syncGroups/{syncGroupName}/triggerSync"); - Endpoints[3222] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/databases/{databaseName}/topQueries/{queryId}/queryText"); - Endpoints[3223] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/databases/{databaseName}/topQueries/{queryId}/statistics"); - Endpoints[3224] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/databases/{databaseName}/transparentDataEncryption/{transparentDataEncryptionName}/operationResults"); - Endpoints[3225] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/databases/{databaseName}/vulnerabilityAssessments/{vulnerabilityAssessmentName}/scans"); - Endpoints[3226] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/elasticPools/{elasticPoolName}/operations/{operationId}/cancel"); - Endpoints[3227] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/jobAgents/{jobAgentName}/jobs/{jobName}/executions"); - Endpoints[3228] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/jobAgents/{jobAgentName}/jobs/{jobName}/start"); - Endpoints[3229] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/jobAgents/{jobAgentName}/jobs/{jobName}/steps"); - Endpoints[3230] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/jobAgents/{jobAgentName}/jobs/{jobName}/versions"); - Endpoints[3231] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.StorSimple/managers/{managerName}/devices/{deviceName}/backupPolicies/{backupPolicyName}/backup"); - Endpoints[3232] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.StorSimple/managers/{managerName}/devices/{deviceName}/backupPolicies/{backupPolicyName}/schedules"); - Endpoints[3233] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.StorSimple/managers/{managerName}/devices/{deviceName}/backups/{backupName}/restore"); - Endpoints[3234] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.StorSimple/managers/{managerName}/devices/{deviceName}/hardwareComponentGroups/{hardwareComponentGroupName}/changeControllerPowerState"); - Endpoints[3235] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.StorSimple/managers/{managerName}/devices/{deviceName}/jobs/{jobName}/cancel"); - Endpoints[3236] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.StorSimple/managers/{managerName}/devices/{deviceName}/volumeContainers/{volumeContainerName}/metrics"); - Endpoints[3237] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.StorSimple/managers/{managerName}/devices/{deviceName}/volumeContainers/{volumeContainerName}/metricsDefinitions"); - Endpoints[3238] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.StorSimple/managers/{managerName}/devices/{deviceName}/volumeContainers/{volumeContainerName}/volumes"); - Endpoints[3239] = CreateEndpoint("/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.Update.Admin/updateLocations/{updateLocation}/updates/{updateName}/updateRuns/{runName}/rerun"); - Endpoints[3240] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/microsoft.visualstudio/account/{rootResourceName}/project/{resourceName}/subContainers/{subContainerName}/status"); - Endpoints[3241] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/hostingEnvironments/{name}/workerPools/{workerPoolName}/instances/{instance}/metricdefinitions"); - Endpoints[3242] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/hostingEnvironments/{name}/workerPools/{workerPoolName}/instances/{instance}/metrics"); - Endpoints[3243] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/serverfarms/{name}/hybridConnectionNamespaces/{namespaceName}/relays/{relayName}/listKeys"); - Endpoints[3244] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/serverfarms/{name}/hybridConnectionNamespaces/{namespaceName}/relays/{relayName}/sites"); - Endpoints[3245] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/hybridConnectionNamespaces/{namespaceName}/relays/{relayName}/listKeys"); - Endpoints[3246] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/instances/{instanceId}/processes/{processId}/dump"); - Endpoints[3247] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/instances/{instanceId}/processes/{processId}/modules"); - Endpoints[3248] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/instances/{instanceId}/processes/{processId}/threads"); - Endpoints[3249] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/backups/{backupId}/list"); - Endpoints[3250] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/backups/{backupId}/restore"); - Endpoints[3251] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/continuouswebjobs/{webJobName}/start"); - Endpoints[3252] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/continuouswebjobs/{webJobName}/stop"); - Endpoints[3253] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/deployments/{id}/log"); - Endpoints[3254] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/functions/{functionName}/listsecrets"); - Endpoints[3255] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/instances/{instanceId}/deployments"); - Endpoints[3256] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/instances/{instanceId}/processes"); - Endpoints[3257] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/processes/{processId}/dump"); - Endpoints[3258] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/processes/{processId}/modules"); - Endpoints[3259] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/processes/{processId}/threads"); - Endpoints[3260] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/triggeredwebjobs/{webJobName}/history"); - Endpoints[3261] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/triggeredwebjobs/{webJobName}/run"); - Endpoints[3262] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{siteName}/diagnostics/{diagnosticCategory}/analyses/{analysisName}/execute"); - Endpoints[3263] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{siteName}/diagnostics/{diagnosticCategory}/detectors/{detectorName}/execute"); - Endpoints[3264] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{siteName}/slots/{slot}/diagnostics/{diagnosticCategory}/analyses"); - Endpoints[3265] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{siteName}/slots/{slot}/diagnostics/{diagnosticCategory}/detectors"); - Endpoints[3266] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/databases/{databaseRid}/collections/{collectionRid}/partitions/metrics"); - Endpoints[3267] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/databases/{databaseRid}/collections/{collectionRid}/partitions/usages"); - Endpoints[3268] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/sourceRegion/{sourceRegion}/targetRegion/{targetRegion}/percentile/metrics"); - Endpoints[3269] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/instances/{instanceId}/extensions/MSDeploy"); - Endpoints[3270] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/instances/{instanceId}/extensions/MSDeploy/log"); - Endpoints[3271] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/apis/{apiId}/diagnostics/{diagnosticId}/loggers/{loggerid}"); - Endpoints[3272] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/apis/{apiId}/issues/{issueId}/attachments/{attachmentId}"); - Endpoints[3273] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/apis/{apiId}/issues/{issueId}/comments/{commentId}"); - Endpoints[3274] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/apis/{apiId}/operations/{operationId}/policies/{policyId}"); - Endpoints[3275] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/apis/{apiId}/operations/{operationId}/tags/{tagId}"); - Endpoints[3276] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Automation/automationAccounts/{automationAccountName}/sourceControls/{sourceControlName}/sourceControlSyncJobs/{sourceControlSyncJobId}/streams/{streamId}"); - Endpoints[3277] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/microsoft.Compute/virtualMachineScaleSets/{virtualMachineScaleSetName}/virtualMachines/{virtualmachineIndex}/networkInterfaces/{networkInterfaceName}/ipConfigurations/{ipConfigurationName}"); - Endpoints[3278] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Fabric.Admin/fabricLocations/{location}/storageSubSystems/{storageSubSystem}/storagePools/{storagePool}/volumes/{volume}"); - Endpoints[3279] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Logic/workflows/{workflowName}/runs/{runName}/actions/{actionName}/repetitions/{repetitionName}"); - Endpoints[3280] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Logic/workflows/{workflowName}/runs/{runName}/actions/{actionName}/scopeRepetitions/{repetitionName}"); - Endpoints[3281] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Migrate/projects/{projectName}/groups/{groupName}/assessments/{assessmentName}/assessedMachines/{assessedMachineName}"); - Endpoints[3282] = CreateEndpoint("/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationFabrics/{fabricName}/replicationNetworks/{networkName}/replicationNetworkMappings/{networkMappingName}"); - Endpoints[3283] = CreateEndpoint("/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationFabrics/{fabricName}/replicationProtectionContainers/{protectionContainerName}/replicationProtectableItems/{protectableItemName}"); - Endpoints[3284] = CreateEndpoint("/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationFabrics/{fabricName}/replicationProtectionContainers/{protectionContainerName}/replicationProtectedItems/{replicatedProtectedItemName}"); - Endpoints[3285] = CreateEndpoint("/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationFabrics/{fabricName}/replicationProtectionContainers/{protectionContainerName}/replicationProtectionContainerMappings/{mappingName}"); - Endpoints[3286] = CreateEndpoint("/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationFabrics/{fabricName}/replicationStorageClassifications/{storageClassificationName}/replicationStorageClassificationMappings/{storageClassificationMappingName}"); - Endpoints[3287] = CreateEndpoint("/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupFabrics/{fabricName}/protectionContainers/{containerName}/operationResults/{operationId}"); - Endpoints[3288] = CreateEndpoint("/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupFabrics/{fabricName}/protectionContainers/{containerName}/protectedItems/{protectedItemName}"); - Endpoints[3289] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ServiceBus/namespaces/{namespaceName}/topics/{topicName}/subscriptions/{subscriptionName}/rules/{ruleName}"); - Endpoints[3290] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/databases/{databaseName}/advisors/{advisorName}/recommendedActions/{recommendedActionName}"); - Endpoints[3291] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/databases/{databaseName}/dataMaskingPolicies/{dataMaskingPolicyName}/rules/{dataMaskingRuleName}"); - Endpoints[3292] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/databases/{databaseName}/syncGroups/{syncGroupName}/syncMembers/{syncMemberName}"); - Endpoints[3293] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/databases/{databaseName}/vulnerabilityAssessments/{vulnerabilityAssessmentName}/scans/{scanId}"); - Endpoints[3294] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/jobAgents/{jobAgentName}/jobs/{jobName}/executions/{jobExecutionId}"); - Endpoints[3295] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/jobAgents/{jobAgentName}/jobs/{jobName}/steps/{stepName}"); - Endpoints[3296] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/jobAgents/{jobAgentName}/jobs/{jobName}/versions/{jobVersion}"); - Endpoints[3297] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.StorSimple/managers/{managerName}/devices/{deviceName}/backupPolicies/{backupPolicyName}/schedules/{backupScheduleName}"); - Endpoints[3298] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.StorSimple/managers/{managerName}/devices/{deviceName}/volumeContainers/{volumeContainerName}/volumes/{volumeName}"); - Endpoints[3299] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/instances/{instanceId}/processes/{processId}/modules/{baseAddress}"); - Endpoints[3300] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/instances/{instanceId}/processes/{processId}/threads/{threadId}"); - Endpoints[3301] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/hybridConnectionNamespaces/{namespaceName}/relays/{relayName}"); - Endpoints[3302] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/instances/{instanceId}/deployments/{id}"); - Endpoints[3303] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/instances/{instanceId}/processes/{processId}"); - Endpoints[3304] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/processes/{processId}/modules/{baseAddress}"); - Endpoints[3305] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/processes/{processId}/threads/{threadId}"); - Endpoints[3306] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/triggeredwebjobs/{webJobName}/history/{id}"); - Endpoints[3307] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/virtualNetworkConnections/{vnetName}/gateways/{gatewayName}"); - Endpoints[3308] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{siteName}/slots/{slot}/diagnostics/{diagnosticCategory}/analyses/{analysisName}"); - Endpoints[3309] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{siteName}/slots/{slot}/diagnostics/{diagnosticCategory}/detectors/{detectorName}"); - Endpoints[3310] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/virtualMachineScaleSets/{virtualMachineScaleSetName}/virtualMachines/{virtualmachineIndex}/networkInterfaces/{networkInterfaceName}/ipconfigurations/{ipConfigurationName}/publicipaddresses"); - Endpoints[3311] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/databases/{databaseRid}/collections/{collectionRid}/partitionKeyRangeId/{partitionKeyRangeId}/metrics"); - Endpoints[3312] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/region/{region}/databases/{databaseRid}/collections/{collectionRid}/metrics"); - Endpoints[3313] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Logic/workflows/{workflowName}/runs/{runName}/actions/{actionName}/repetitions/{repetitionName}/listExpressionTraces"); - Endpoints[3314] = CreateEndpoint("/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationFabrics/{fabricName}/replicationProtectionContainers/{protectionContainerName}/replicationProtectedItems/{replicatedProtectedItemName}/applyRecoveryPoint"); - Endpoints[3315] = CreateEndpoint("/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationFabrics/{fabricName}/replicationProtectionContainers/{protectionContainerName}/replicationProtectedItems/{replicatedProtectedItemName}/failoverCommit"); - Endpoints[3316] = CreateEndpoint("/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationFabrics/{fabricName}/replicationProtectionContainers/{protectionContainerName}/replicationProtectedItems/{replicatedProtectedItemName}/plannedFailover"); - Endpoints[3317] = CreateEndpoint("/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationFabrics/{fabricName}/replicationProtectionContainers/{protectionContainerName}/replicationProtectedItems/{replicatedProtectedItemName}/recoveryPoints"); - Endpoints[3318] = CreateEndpoint("/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationFabrics/{fabricName}/replicationProtectionContainers/{protectionContainerName}/replicationProtectedItems/{replicatedProtectedItemName}/remove"); - Endpoints[3319] = CreateEndpoint("/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationFabrics/{fabricName}/replicationProtectionContainers/{protectionContainerName}/replicationProtectedItems/{replicatedProtectedItemName}/repairReplication"); - Endpoints[3320] = CreateEndpoint("/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationFabrics/{fabricName}/replicationProtectionContainers/{protectionContainerName}/replicationProtectedItems/{replicatedProtectedItemName}/reProtect"); - Endpoints[3321] = CreateEndpoint("/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationFabrics/{fabricName}/replicationProtectionContainers/{protectionContainerName}/replicationProtectedItems/{replicatedProtectedItemName}/targetComputeSizes"); - Endpoints[3322] = CreateEndpoint("/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationFabrics/{fabricName}/replicationProtectionContainers/{protectionContainerName}/replicationProtectedItems/{replicatedProtectedItemName}/testFailover"); - Endpoints[3323] = CreateEndpoint("/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationFabrics/{fabricName}/replicationProtectionContainers/{protectionContainerName}/replicationProtectedItems/{replicatedProtectedItemName}/testFailoverCleanup"); - Endpoints[3324] = CreateEndpoint("/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationFabrics/{fabricName}/replicationProtectionContainers/{protectionContainerName}/replicationProtectedItems/{replicatedProtectedItemName}/unplannedFailover"); - Endpoints[3325] = CreateEndpoint("/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationFabrics/{fabricName}/replicationProtectionContainers/{protectionContainerName}/replicationProtectedItems/{replicationProtectedItemName}/updateMobilityService"); - Endpoints[3326] = CreateEndpoint("/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationFabrics/{fabricName}/replicationProtectionContainers/{protectionContainerName}/replicationProtectionContainerMappings/{mappingName}/remove"); - Endpoints[3327] = CreateEndpoint("/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupFabrics/{fabricName}/protectionContainers/{containerName}/protectedItems/{protectedItemName}/backup"); - Endpoints[3328] = CreateEndpoint("/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupFabrics/{fabricName}/protectionContainers/{containerName}/protectedItems/{protectedItemName}/recoveryPoints"); - Endpoints[3329] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/databases/{databaseName}/syncGroups/{syncGroupName}/syncMembers/{syncMemberName}/refreshSchema"); - Endpoints[3330] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/databases/{databaseName}/syncGroups/{syncGroupName}/syncMembers/{syncMemberName}/schemas"); - Endpoints[3331] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/databases/{databaseName}/vulnerabilityAssessments/{vulnerabilityAssessmentName}/scans/{scanId}/export"); - Endpoints[3332] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/databases/{databaseName}/vulnerabilityAssessments/{vulnerabilityAssessmentName}/scans/{scanId}/initiateScan"); - Endpoints[3333] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/jobAgents/{jobAgentName}/jobs/{jobName}/executions/{jobExecutionId}/cancel"); - Endpoints[3334] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/jobAgents/{jobAgentName}/jobs/{jobName}/executions/{jobExecutionId}/steps"); - Endpoints[3335] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/jobAgents/{jobAgentName}/jobs/{jobName}/executions/{jobExecutionId}/targets"); - Endpoints[3336] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/jobAgents/{jobAgentName}/jobs/{jobName}/versions/{jobVersion}/steps"); - Endpoints[3337] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.StorSimple/managers/{managerName}/devices/{deviceName}/backups/{backupName}/elements/{backupElementName}/clone"); - Endpoints[3338] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.StorSimple/managers/{managerName}/devices/{deviceName}/volumeContainers/{volumeContainerName}/volumes/{volumeName}/metrics"); - Endpoints[3339] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.StorSimple/managers/{managerName}/devices/{deviceName}/volumeContainers/{volumeContainerName}/volumes/{volumeName}/metricsDefinitions"); - Endpoints[3340] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/hybridConnectionNamespaces/{namespaceName}/relays/{relayName}/listKeys"); - Endpoints[3341] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/instances/{instanceId}/processes/{processId}/dump"); - Endpoints[3342] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/instances/{instanceId}/processes/{processId}/modules"); - Endpoints[3343] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/instances/{instanceId}/processes/{processId}/threads"); - Endpoints[3344] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{siteName}/slots/{slot}/diagnostics/{diagnosticCategory}/analyses/{analysisName}/execute"); - Endpoints[3345] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{siteName}/slots/{slot}/diagnostics/{diagnosticCategory}/detectors/{detectorName}/execute"); - Endpoints[3346] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/region/{region}/databases/{databaseRid}/collections/{collectionRid}/partitions/metrics"); - Endpoints[3347] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/virtualMachineScaleSets/{virtualMachineScaleSetName}/virtualMachines/{virtualmachineIndex}/networkInterfaces/{networkInterfaceName}/ipconfigurations/{ipConfigurationName}/publicipaddresses/{publicIpAddressName}"); - Endpoints[3348] = CreateEndpoint("/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationFabrics/{fabricName}/replicationProtectionContainers/{protectionContainerName}/replicationProtectedItems/{replicatedProtectedItemName}/recoveryPoints/{recoveryPointName}"); - Endpoints[3349] = CreateEndpoint("/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupFabrics/{fabricName}/protectionContainers/{containerName}/protectedItems/{protectedItemName}/operationResults/{operationId}"); - Endpoints[3350] = CreateEndpoint("/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupFabrics/{fabricName}/protectionContainers/{containerName}/protectedItems/{protectedItemName}/operationsStatus/{operationId}"); - Endpoints[3351] = CreateEndpoint("/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupFabrics/{fabricName}/protectionContainers/{containerName}/protectedItems/{protectedItemName}/recoveryPoints/{recoveryPointId}"); - Endpoints[3352] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/databases/{databaseName}/vulnerabilityAssessments/{vulnerabilityAssessmentName}/rules/{ruleId}/baselines/{baselineName}"); - Endpoints[3353] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/jobAgents/{jobAgentName}/jobs/{jobName}/executions/{jobExecutionId}/steps/{stepName}"); - Endpoints[3354] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/jobAgents/{jobAgentName}/jobs/{jobName}/versions/{jobVersion}/steps/{stepName}"); - Endpoints[3355] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/instances/{instanceId}/processes/{processId}/modules/{baseAddress}"); - Endpoints[3356] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/instances/{instanceId}/processes/{processId}/threads/{threadId}"); - Endpoints[3357] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/region/{region}/databases/{databaseRid}/collections/{collectionRid}/partitionKeyRangeId/{partitionKeyRangeId}/metrics"); - Endpoints[3358] = CreateEndpoint("/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupFabrics/{fabricName}/protectionContainers/{containerName}/protectedItems/{protectedItemName}/recoveryPoints/{recoveryPointId}/provisionInstantItemRecovery"); - Endpoints[3359] = CreateEndpoint("/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupFabrics/{fabricName}/protectionContainers/{containerName}/protectedItems/{protectedItemName}/recoveryPoints/{recoveryPointId}/restore"); - Endpoints[3360] = CreateEndpoint("/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupFabrics/{fabricName}/protectionContainers/{containerName}/protectedItems/{protectedItemName}/recoveryPoints/{recoveryPointId}/revokeInstantItemRecovery"); - Endpoints[3361] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/jobAgents/{jobAgentName}/jobs/{jobName}/executions/{jobExecutionId}/steps/{stepName}/targets"); - Endpoints[3362] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/jobAgents/{jobAgentName}/jobs/{jobName}/executions/{jobExecutionId}/steps/{stepName}/targets/{targetId}"); - Endpoints[3363] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/quotas/{quotaCounterKey}/{quotaPeriodKey}"); - Endpoints[3364] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Security/locations/{ascLocation}/alerts/{alertName}/{alertUpdateActionType}"); - Endpoints[3365] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Security/locations/{ascLocation}/jitNetworkAccessPolicies/{jitNetworkAccessPolicyName}/{jitNetworkAccessPolicyActionType}"); - Endpoints[3366] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Security/locations/{ascLocation}/tasks/{taskName}/{taskUpdateActionType}"); - Endpoints[3367] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/microsoft.insights/components/{resourceName}/{scopePath}"); - Endpoints[3368] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/dnsZones/{zoneName}/{recordType}"); - Endpoints[3369] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/microsoft.insights/components/{resourceName}/{scopePath}/item"); - Endpoints[3370] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/dnsZones/{zoneName}/{recordType}/{relativeRecordSetName}"); - Endpoints[3371] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/trafficmanagerprofiles/{profileName}/{endpointType}/{endpointName}"); - Endpoints[3372] = CreateEndpoint("/apis/{apiId}/operations/{operationId}/policies/{policyId}"); - Endpoints[3373] = CreateEndpoint("/apps/{appId}/versions/{versionId}/closedlists/{clEntityId}"); - Endpoints[3374] = CreateEndpoint("/apps/{appId}/versions/{versionId}/compositeentities/{cEntityId}"); - Endpoints[3375] = CreateEndpoint("/apps/{appId}/versions/{versionId}/customprebuiltdomains/{domainName}"); - Endpoints[3376] = CreateEndpoint("/apps/{appId}/versions/{versionId}/entities/{entityId}"); - Endpoints[3377] = CreateEndpoint("/apps/{appId}/versions/{versionId}/examples/{exampleId}"); - Endpoints[3378] = CreateEndpoint("/apps/{appId}/versions/{versionId}/hierarchicalentities/{hEntityId}"); - Endpoints[3379] = CreateEndpoint("/apps/{appId}/versions/{versionId}/intents/{intentId}"); - Endpoints[3380] = CreateEndpoint("/apps/{appId}/versions/{versionId}/patternanyentities/{entityId}"); - Endpoints[3381] = CreateEndpoint("/apps/{appId}/versions/{versionId}/patternrules/{patternId}"); - Endpoints[3382] = CreateEndpoint("/apps/{appId}/versions/{versionId}/patterns/{patternId}"); - Endpoints[3383] = CreateEndpoint("/apps/{appId}/versions/{versionId}/phraselists/{phraselistId}"); - Endpoints[3384] = CreateEndpoint("/apps/{appId}/versions/{versionId}/prebuilts/{prebuiltId}"); - Endpoints[3385] = CreateEndpoint("/apps/{appId}/versions/{versionId}/regexentities/{regexEntityId}"); - Endpoints[3386] = CreateEndpoint("/jobs/{jobId}/tasks/{taskId}/files/{filePath}"); - Endpoints[3387] = CreateEndpoint("/persongroups/{personGroupId}/persons/{personId}/persistedFaces/{persistedFaceId}"); - Endpoints[3388] = CreateEndpoint("/pools/{poolId}/nodes/{nodeId}/files/{filePath}"); - Endpoints[3389] = CreateEndpoint("/pools/{poolId}/nodes/{nodeId}/users/{userName}"); - Endpoints[3390] = CreateEndpoint("/subscriptions/{subscriptionId}/tagNames/{tagName}/tagValues/{tagValue}"); - Endpoints[3391] = CreateEndpoint("/apps/{appId}/versions/{versionId}/closedlists/{clEntityId}/sublists"); - Endpoints[3392] = CreateEndpoint("/apps/{appId}/versions/{versionId}/closedlists/{entityId}/roles"); - Endpoints[3393] = CreateEndpoint("/apps/{appId}/versions/{versionId}/compositeentities/{cEntityId}/children"); - Endpoints[3394] = CreateEndpoint("/apps/{appId}/versions/{versionId}/compositeentities/{cEntityId}/roles"); - Endpoints[3395] = CreateEndpoint("/apps/{appId}/versions/{versionId}/customprebuiltentities/{entityId}/roles"); - Endpoints[3396] = CreateEndpoint("/apps/{appId}/versions/{versionId}/entities/{entityId}/roles"); - Endpoints[3397] = CreateEndpoint("/apps/{appId}/versions/{versionId}/entities/{entityId}/suggest"); - Endpoints[3398] = CreateEndpoint("/apps/{appId}/versions/{versionId}/hierarchicalentities/{hEntityId}/children"); - Endpoints[3399] = CreateEndpoint("/apps/{appId}/versions/{versionId}/hierarchicalentities/{hEntityId}/roles"); - Endpoints[3400] = CreateEndpoint("/apps/{appId}/versions/{versionId}/intents/{intentId}/patternrules"); - Endpoints[3401] = CreateEndpoint("/apps/{appId}/versions/{versionId}/intents/{intentId}/suggest"); - Endpoints[3402] = CreateEndpoint("/apps/{appId}/versions/{versionId}/models/{modelId}/examples"); - Endpoints[3403] = CreateEndpoint("/apps/{appId}/versions/{versionId}/patternanyentities/{entityId}/explicitlist"); - Endpoints[3404] = CreateEndpoint("/apps/{appId}/versions/{versionId}/patternanyentities/{entityId}/roles"); - Endpoints[3405] = CreateEndpoint("/apps/{appId}/versions/{versionId}/prebuilts/{entityId}/roles"); - Endpoints[3406] = CreateEndpoint("/apps/{appId}/versions/{versionId}/regexentities/{entityId}/roles"); - Endpoints[3407] = CreateEndpoint("/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/deployments/{deploymentName}/operations"); - Endpoints[3408] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/{authorizationNamespace}/policyAssignments/{policyAssignmentName}/providers/Microsoft.PolicyInsights/policyEvents/{policyEventsResource}/queryResults"); - Endpoints[3409] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/{authorizationNamespace}/policyAssignments/{policyAssignmentName}/providers/Microsoft.PolicyInsights/policyStates/{policyStatesResource}/queryResults"); - Endpoints[3410] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/{authorizationNamespace}/policyAssignments/{policyAssignmentName}/providers/Microsoft.PolicyInsights/policyStates/{policyStatesSummaryResource}/summarize"); - Endpoints[3411] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/{authorizationNamespace}/policyDefinitions/{policyDefinitionName}/providers/Microsoft.PolicyInsights/policyEvents/{policyEventsResource}/queryResults"); - Endpoints[3412] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/{authorizationNamespace}/policyDefinitions/{policyDefinitionName}/providers/Microsoft.PolicyInsights/policyStates/{policyStatesResource}/queryResults"); - Endpoints[3413] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/{authorizationNamespace}/policyDefinitions/{policyDefinitionName}/providers/Microsoft.PolicyInsights/policyStates/{policyStatesSummaryResource}/summarize"); - Endpoints[3414] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/{authorizationNamespace}/policySetDefinitions/{policySetDefinitionName}/providers/Microsoft.PolicyInsights/policyEvents/{policyEventsResource}/queryResults"); - Endpoints[3415] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/{authorizationNamespace}/policySetDefinitions/{policySetDefinitionName}/providers/Microsoft.PolicyInsights/policyStates/{policyStatesResource}/queryResults"); - Endpoints[3416] = CreateEndpoint("/subscriptions/{subscriptionId}/providers/{authorizationNamespace}/policySetDefinitions/{policySetDefinitionName}/providers/Microsoft.PolicyInsights/policyStates/{policyStatesSummaryResource}/summarize"); - Endpoints[3417] = CreateEndpoint("/apps/{appId}/versions/{versionId}/closedlists/{clEntityId}/sublists/{subListId}"); - Endpoints[3418] = CreateEndpoint("/apps/{appId}/versions/{versionId}/closedlists/{entityId}/roles/{roleId}"); - Endpoints[3419] = CreateEndpoint("/apps/{appId}/versions/{versionId}/compositeentities/{cEntityId}/children/{cChildId}"); - Endpoints[3420] = CreateEndpoint("/apps/{appId}/versions/{versionId}/compositeentities/{cEntityId}/roles/{roleId}"); - Endpoints[3421] = CreateEndpoint("/apps/{appId}/versions/{versionId}/customprebuiltentities/{entityId}/roles/{roleId}"); - Endpoints[3422] = CreateEndpoint("/apps/{appId}/versions/{versionId}/entities/{entityId}/roles/{roleId}"); - Endpoints[3423] = CreateEndpoint("/apps/{appId}/versions/{versionId}/hierarchicalentities/{hEntityId}/children/{hChildId}"); - Endpoints[3424] = CreateEndpoint("/apps/{appId}/versions/{versionId}/hierarchicalentities/{hEntityId}/roles/{roleId}"); - Endpoints[3425] = CreateEndpoint("/apps/{appId}/versions/{versionId}/patternanyentities/{entityId}/explicitlist/{itemId}"); - Endpoints[3426] = CreateEndpoint("/apps/{appId}/versions/{versionId}/patternanyentities/{entityId}/roles/{roleId}"); - Endpoints[3427] = CreateEndpoint("/apps/{appId}/versions/{versionId}/prebuilts/{entityId}/roles/{roleId}"); - Endpoints[3428] = CreateEndpoint("/apps/{appId}/versions/{versionId}/regexentities/{entityId}/roles/{roleId}"); - Endpoints[3429] = CreateEndpoint("/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/deployments/{deploymentName}/operations/{operationId}"); - Endpoints[3430] = CreateEndpoint("/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/{authorizationNamespace}/policyAssignments/{policyAssignmentName}/providers/Microsoft.PolicyInsights/policyEvents/{policyEventsResource}/queryResults"); - Endpoints[3431] = CreateEndpoint("/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/{authorizationNamespace}/policyAssignments/{policyAssignmentName}/providers/Microsoft.PolicyInsights/policyStates/{policyStatesResource}/queryResults"); - Endpoints[3432] = CreateEndpoint("/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/{authorizationNamespace}/policyAssignments/{policyAssignmentName}/providers/Microsoft.PolicyInsights/policyStates/{policyStatesSummaryResource}/summarize"); - Endpoints[3433] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{providerNamespace}/{resourceTypeName}/{resourceName}/providers/Microsoft.EventGrid/eventSubscriptions"); - Endpoints[3434] = CreateEndpoint("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{providerNamespace}/{resourceTypeName}/{resourceName}/providers/Microsoft.EventGrid/eventTypes"); - Endpoints[3435] = CreateEndpoint("/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/{providerName}/{resourceType}/{resourceName}/providers/Microsoft.OperationsManagement/ManagementAssociations/{managementAssociationName}"); - Endpoints[3436] = CreateEndpoint("/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{parentResourcePath}/{resourceType}/{resourceName}"); - Endpoints[3437] = CreateEndpoint("/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{parentResourcePath}/{resourceType}/{resourceName}/providers/Microsoft.Authorization/locks"); - Endpoints[3438] = CreateEndpoint("/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{parentResourcePath}/{resourceType}/{resourceName}/providers/Microsoft.Authorization/permissions"); - Endpoints[3439] = CreateEndpoint("/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{parentResourcePath}/{resourceType}/{resourceName}/providers/Microsoft.Authorization/policyAssignments"); - Endpoints[3440] = CreateEndpoint("/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{parentResourcePath}/{resourceType}/{resourceName}/providers/Microsoft.Authorization/roleAssignments"); - Endpoints[3441] = CreateEndpoint("/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{parentResourcePath}/{resourceType}/{resourceName}/providers/Microsoft.Authorization/locks/{lockName}"); - Endpoints[3442] = CreateEndpoint("/apps/{appId}/events/{eventType}/{eventId}"); - Endpoints[3443] = CreateEndpoint("/certificates/{certificate-name}/{certificate-version}"); - Endpoints[3444] = CreateEndpoint("/keys/{key-name}/{key-version}"); - Endpoints[3445] = CreateEndpoint("/quotas/{quotaCounterKey}/{quotaPeriodKey}"); - Endpoints[3446] = CreateEndpoint("/secrets/{secret-name}/{secret-version}"); - Endpoints[3447] = CreateEndpoint("/keys/{key-name}/{key-version}/decrypt"); - Endpoints[3448] = CreateEndpoint("/keys/{key-name}/{key-version}/encrypt"); - Endpoints[3449] = CreateEndpoint("/keys/{key-name}/{key-version}/sign"); - Endpoints[3450] = CreateEndpoint("/keys/{key-name}/{key-version}/unwrapkey"); - Endpoints[3451] = CreateEndpoint("/keys/{key-name}/{key-version}/verify"); - Endpoints[3452] = CreateEndpoint("/keys/{key-name}/{key-version}/wrapkey"); - Endpoints[3453] = CreateEndpoint("/{applicationDefinitionId}"); - Endpoints[3454] = CreateEndpoint("/{projectId}/image"); - Endpoints[3455] = CreateEndpoint("/{projectId}/url"); - Endpoints[3456] = CreateEndpoint("/{tenantID}/applications"); - Endpoints[3457] = CreateEndpoint("/{tenantID}/domains"); - Endpoints[3458] = CreateEndpoint("/{tenantID}/getObjectsByObjectIds"); - Endpoints[3459] = CreateEndpoint("/{tenantID}/groups"); - Endpoints[3460] = CreateEndpoint("/{tenantID}/isMemberOf"); - Endpoints[3461] = CreateEndpoint("/{tenantID}/me"); - Endpoints[3462] = CreateEndpoint("/{tenantID}/servicePrincipals"); - Endpoints[3463] = CreateEndpoint("/{tenantID}/users"); - Endpoints[3464] = CreateEndpoint("/{projectId}/image/nostore"); - Endpoints[3465] = CreateEndpoint("/{projectId}/url/nostore"); - Endpoints[3466] = CreateEndpoint("/{resourceUri}/providers/microsoft.insights/calculatebaseline"); - Endpoints[3467] = CreateEndpoint("/{resourceUri}/providers/microsoft.insights/diagnosticSettings"); - Endpoints[3468] = CreateEndpoint("/{resourceUri}/providers/microsoft.insights/diagnosticSettingsCategories"); - Endpoints[3469] = CreateEndpoint("/{resourceUri}/providers/microsoft.insights/metricDefinitions"); - Endpoints[3470] = CreateEndpoint("/{resourceUri}/providers/microsoft.insights/metrics"); - Endpoints[3471] = CreateEndpoint("/{resourceUri}/providers/Microsoft.ResourceHealth/availabilityStatuses"); - Endpoints[3472] = CreateEndpoint("/{scope}/providers/Microsoft.Authorization/policyAssignments"); - Endpoints[3473] = CreateEndpoint("/{scope}/providers/Microsoft.Authorization/roleAssignments"); - Endpoints[3474] = CreateEndpoint("/{scope}/providers/Microsoft.Authorization/roleDefinitions"); - Endpoints[3475] = CreateEndpoint("/{scope}/providers/Microsoft.Consumption/reservationDetails"); - Endpoints[3476] = CreateEndpoint("/{scope}/providers/Microsoft.Consumption/reservationSummaries"); - Endpoints[3477] = CreateEndpoint("/{scope}/providers/Microsoft.Consumption/usageDetails"); - Endpoints[3478] = CreateEndpoint("/{scope}/providers/Microsoft.Resources/links"); - Endpoints[3479] = CreateEndpoint("/{scope}/providers/Microsoft.Security/compliances"); - Endpoints[3480] = CreateEndpoint("/{resourceUri}/providers/microsoft.insights/diagnosticSettings/service"); - Endpoints[3481] = CreateEndpoint("/{resourceUri}/providers/Microsoft.ResourceHealth/availabilityStatuses/current"); - Endpoints[3482] = CreateEndpoint("/{scope}/providers/Microsoft.PolicyInsights/policyEvents/$metadata"); - Endpoints[3483] = CreateEndpoint("/{scope}/providers/Microsoft.PolicyInsights/policyStates/$metadata"); - Endpoints[3484] = CreateEndpoint("/{resourceUri}/providers/Microsoft.Advisor/recommendations/{recommendationId}"); - Endpoints[3485] = CreateEndpoint("/{resourceUri}/providers/microsoft.insights/baseline/{metricName}"); - Endpoints[3486] = CreateEndpoint("/{resourceUri}/providers/microsoft.insights/diagnosticSettings/{name}"); - Endpoints[3487] = CreateEndpoint("/{resourceUri}/providers/microsoft.insights/diagnosticSettingsCategories/{name}"); - Endpoints[3488] = CreateEndpoint("/{scope}/providers/Microsoft.Authorization/locks/{lockName}"); - Endpoints[3489] = CreateEndpoint("/{scope}/providers/Microsoft.Authorization/policyAssignments/{policyAssignmentName}"); - Endpoints[3490] = CreateEndpoint("/{scope}/providers/Microsoft.Authorization/roleAssignments/{roleAssignmentName}"); - Endpoints[3491] = CreateEndpoint("/{scope}/providers/Microsoft.Authorization/roleDefinitions/{roleDefinitionId}"); - Endpoints[3492] = CreateEndpoint("/{scope}/providers/Microsoft.EventGrid/eventSubscriptions/{eventSubscriptionName}"); - Endpoints[3493] = CreateEndpoint("/{scope}/providers/Microsoft.Security/compliances/{complianceName}"); - Endpoints[3494] = CreateEndpoint("/{resourceId}/providers/Microsoft.PolicyInsights/policyEvents/{policyEventsResource}/queryResults"); - Endpoints[3495] = CreateEndpoint("/{resourceId}/providers/Microsoft.PolicyInsights/policyStates/{policyStatesResource}/queryResults"); - Endpoints[3496] = CreateEndpoint("/{resourceId}/providers/Microsoft.PolicyInsights/policyStates/{policyStatesSummaryResource}/summarize"); - Endpoints[3497] = CreateEndpoint("/{scope}/providers/Microsoft.EventGrid/eventSubscriptions/{eventSubscriptionName}/getFullUrl"); - Endpoints[3498] = CreateEndpoint("/{resourceUri}/providers/Microsoft.Advisor/recommendations/{recommendationId}/suppressions/{name}"); - Endpoints[3499] = CreateEndpoint("/{tenantID}/applications/{applicationObjectId}"); - Endpoints[3500] = CreateEndpoint("/{tenantID}/domains/{domainName}"); - Endpoints[3501] = CreateEndpoint("/{tenantID}/groups/{objectId}"); - Endpoints[3502] = CreateEndpoint("/{tenantID}/servicePrincipals/{objectId}"); - Endpoints[3503] = CreateEndpoint("/{tenantID}/users/{upnOrObjectId}"); - Endpoints[3504] = CreateEndpoint("/{projectId}/images/{imageId}/regionproposals"); - Endpoints[3505] = CreateEndpoint("/{tenantID}/applications/{applicationObjectId}/keyCredentials"); - Endpoints[3506] = CreateEndpoint("/{tenantID}/applications/{applicationObjectId}/owners"); - Endpoints[3507] = CreateEndpoint("/{tenantID}/applications/{applicationObjectId}/passwordCredentials"); - Endpoints[3508] = CreateEndpoint("/{tenantID}/groups/{objectId}/getMemberGroups"); - Endpoints[3509] = CreateEndpoint("/{tenantID}/groups/{objectId}/members"); - Endpoints[3510] = CreateEndpoint("/{tenantID}/servicePrincipals/{objectId}/keyCredentials"); - Endpoints[3511] = CreateEndpoint("/{tenantID}/servicePrincipals/{objectId}/owners"); - Endpoints[3512] = CreateEndpoint("/{tenantID}/servicePrincipals/{objectId}/passwordCredentials"); - Endpoints[3513] = CreateEndpoint("/{tenantID}/users/{objectId}/getMemberGroups"); - Endpoints[3514] = CreateEndpoint("/{tenantID}/applications/{applicationObjectId}/$links/owners"); - Endpoints[3515] = CreateEndpoint("/{tenantID}/groups/{groupObjectId}/$links/members"); - Endpoints[3516] = CreateEndpoint("/{tenantID}/groups/{groupObjectId}/$links/members/{memberObjectId}"); - } - - private void SetupRequests() - { - Requests = new HttpContext[3517]; - Requests[0] = new DefaultHttpContext(); - Requests[0].RequestServices = CreateServices(); - Requests[0].Request.Method = "GET"; - Requests[0].Request.Path = "/account"; - Requests[1] = new DefaultHttpContext(); - Requests[1].RequestServices = CreateServices(); - Requests[1].Request.Method = "POST"; - Requests[1].Request.Path = "/analyze"; - Requests[2] = new DefaultHttpContext(); - Requests[2].RequestServices = CreateServices(); - Requests[2].Request.Method = "GET"; - Requests[2].Request.Path = "/apis"; - Requests[3] = new DefaultHttpContext(); - Requests[3].RequestServices = CreateServices(); - Requests[3].Request.Method = "GET"; - Requests[3].Request.Path = "/Applications"; - Requests[4] = new DefaultHttpContext(); - Requests[4].RequestServices = CreateServices(); - Requests[4].Request.Method = "GET"; - Requests[4].Request.Path = "/ApplicationTypes"; - Requests[5] = new DefaultHttpContext(); - Requests[5].RequestServices = CreateServices(); - Requests[5].Request.Method = "GET"; - Requests[5].Request.Path = "/apps"; - Requests[6] = new DefaultHttpContext(); - Requests[6].RequestServices = CreateServices(); - Requests[6].Request.Method = "GET"; - Requests[6].Request.Path = "/authorizationServers"; - Requests[7] = new DefaultHttpContext(); - Requests[7].RequestServices = CreateServices(); - Requests[7].Request.Method = "GET"; - Requests[7].Request.Path = "/backends"; - Requests[8] = new DefaultHttpContext(); - Requests[8].RequestServices = CreateServices(); - Requests[8].Request.Method = "POST"; - Requests[8].Request.Path = "/BuildJob"; - Requests[9] = new DefaultHttpContext(); - Requests[9].RequestServices = CreateServices(); - Requests[9].Request.Method = "GET"; - Requests[9].Request.Path = "/certificates"; - Requests[10] = new DefaultHttpContext(); - Requests[10].RequestServices = CreateServices(); - Requests[10].Request.Method = "GET"; - Requests[10].Request.Path = "/ComposeDeployments"; - Requests[11] = new DefaultHttpContext(); - Requests[11].RequestServices = CreateServices(); - Requests[11].Request.Method = "POST"; - Requests[11].Request.Path = "/datasources"; - Requests[12] = new DefaultHttpContext(); - Requests[12].RequestServices = CreateServices(); - Requests[12].Request.Method = "GET"; - Requests[12].Request.Path = "/deletedcertificates"; - Requests[13] = new DefaultHttpContext(); - Requests[13].RequestServices = CreateServices(); - Requests[13].Request.Method = "GET"; - Requests[13].Request.Path = "/deletedkeys"; - Requests[14] = new DefaultHttpContext(); - Requests[14].RequestServices = CreateServices(); - Requests[14].Request.Method = "GET"; - Requests[14].Request.Path = "/deletedsecrets"; - Requests[15] = new DefaultHttpContext(); - Requests[15].RequestServices = CreateServices(); - Requests[15].Request.Method = "GET"; - Requests[15].Request.Path = "/deletedstorage"; - Requests[16] = new DefaultHttpContext(); - Requests[16].RequestServices = CreateServices(); - Requests[16].Request.Method = "POST"; - Requests[16].Request.Path = "/describe"; - Requests[17] = new DefaultHttpContext(); - Requests[17].RequestServices = CreateServices(); - Requests[17].Request.Method = "POST"; - Requests[17].Request.Path = "/detect"; - Requests[18] = new DefaultHttpContext(); - Requests[18].RequestServices = CreateServices(); - Requests[18].Request.Method = "GET"; - Requests[18].Request.Path = "/domains"; - Requests[19] = new DefaultHttpContext(); - Requests[19].RequestServices = CreateServices(); - Requests[19].Request.Method = "GET"; - Requests[19].Request.Path = "/entities"; - Requests[20] = new DefaultHttpContext(); - Requests[20].RequestServices = CreateServices(); - Requests[20].Request.Method = "GET"; - Requests[20].Request.Path = "/facelists"; - Requests[21] = new DefaultHttpContext(); - Requests[21].RequestServices = CreateServices(); - Requests[21].Request.Method = "GET"; - Requests[21].Request.Path = "/Faults"; - Requests[22] = new DefaultHttpContext(); - Requests[22].RequestServices = CreateServices(); - Requests[22].Request.Method = "POST"; - Requests[22].Request.Path = "/findsimilars"; - Requests[23] = new DefaultHttpContext(); - Requests[23].RequestServices = CreateServices(); - Requests[23].Request.Method = "POST"; - Requests[23].Request.Path = "/generateThumbnail"; - Requests[24] = new DefaultHttpContext(); - Requests[24].RequestServices = CreateServices(); - Requests[24].Request.Method = "POST"; - Requests[24].Request.Path = "/group"; - Requests[25] = new DefaultHttpContext(); - Requests[25].RequestServices = CreateServices(); - Requests[25].Request.Method = "GET"; - Requests[25].Request.Path = "/groups"; - Requests[26] = new DefaultHttpContext(); - Requests[26].RequestServices = CreateServices(); - Requests[26].Request.Method = "POST"; - Requests[26].Request.Path = "/identify"; - Requests[27] = new DefaultHttpContext(); - Requests[27].RequestServices = CreateServices(); - Requests[27].Request.Method = "GET"; - Requests[27].Request.Path = "/identityProviders"; - Requests[28] = new DefaultHttpContext(); - Requests[28].RequestServices = CreateServices(); - Requests[28].Request.Method = "GET"; - Requests[28].Request.Path = "/ImageStore"; - Requests[29] = new DefaultHttpContext(); - Requests[29].RequestServices = CreateServices(); - Requests[29].Request.Method = "POST"; - Requests[29].Request.Path = "/indexers"; - Requests[30] = new DefaultHttpContext(); - Requests[30].RequestServices = CreateServices(); - Requests[30].Request.Method = "GET"; - Requests[30].Request.Path = "/indexes"; - Requests[31] = new DefaultHttpContext(); - Requests[31].RequestServices = CreateServices(); - Requests[31].Request.Method = "GET"; - Requests[31].Request.Path = "/Jobs"; - Requests[32] = new DefaultHttpContext(); - Requests[32].RequestServices = CreateServices(); - Requests[32].Request.Method = "GET"; - Requests[32].Request.Path = "/jobschedules"; - Requests[33] = new DefaultHttpContext(); - Requests[33].RequestServices = CreateServices(); - Requests[33].Request.Method = "GET"; - Requests[33].Request.Path = "/keys"; - Requests[34] = new DefaultHttpContext(); - Requests[34].RequestServices = CreateServices(); - Requests[34].Request.Method = "GET"; - Requests[34].Request.Path = "/lifetimejobstats"; - Requests[35] = new DefaultHttpContext(); - Requests[35].RequestServices = CreateServices(); - Requests[35].Request.Method = "GET"; - Requests[35].Request.Path = "/lifetimepoolstats"; - Requests[36] = new DefaultHttpContext(); - Requests[36].RequestServices = CreateServices(); - Requests[36].Request.Method = "GET"; - Requests[36].Request.Path = "/loggers"; - Requests[37] = new DefaultHttpContext(); - Requests[37].RequestServices = CreateServices(); - Requests[37].Request.Method = "GET"; - Requests[37].Request.Path = "/models"; - Requests[38] = new DefaultHttpContext(); - Requests[38].RequestServices = CreateServices(); - Requests[38].Request.Method = "GET"; - Requests[38].Request.Path = "/news"; - Requests[39] = new DefaultHttpContext(); - Requests[39].RequestServices = CreateServices(); - Requests[39].Request.Method = "GET"; - Requests[39].Request.Path = "/nodeagentskus"; - Requests[40] = new DefaultHttpContext(); - Requests[40].RequestServices = CreateServices(); - Requests[40].Request.Method = "GET"; - Requests[40].Request.Path = "/nodecounts"; - Requests[41] = new DefaultHttpContext(); - Requests[41].RequestServices = CreateServices(); - Requests[41].Request.Method = "GET"; - Requests[41].Request.Path = "/Nodes"; - Requests[42] = new DefaultHttpContext(); - Requests[42].RequestServices = CreateServices(); - Requests[42].Request.Method = "POST"; - Requests[42].Request.Path = "/ocr"; - Requests[43] = new DefaultHttpContext(); - Requests[43].RequestServices = CreateServices(); - Requests[43].Request.Method = "GET"; - Requests[43].Request.Path = "/offers"; - Requests[44] = new DefaultHttpContext(); - Requests[44].RequestServices = CreateServices(); - Requests[44].Request.Method = "GET"; - Requests[44].Request.Path = "/openidConnectProviders"; - Requests[45] = new DefaultHttpContext(); - Requests[45].RequestServices = CreateServices(); - Requests[45].Request.Method = "GET"; - Requests[45].Request.Path = "/persongroups"; - Requests[46] = new DefaultHttpContext(); - Requests[46].RequestServices = CreateServices(); - Requests[46].Request.Method = "GET"; - Requests[46].Request.Path = "/pipelines"; - Requests[47] = new DefaultHttpContext(); - Requests[47].RequestServices = CreateServices(); - Requests[47].Request.Method = "GET"; - Requests[47].Request.Path = "/policies"; - Requests[48] = new DefaultHttpContext(); - Requests[48].RequestServices = CreateServices(); - Requests[48].Request.Method = "GET"; - Requests[48].Request.Path = "/policySnippets"; - Requests[49] = new DefaultHttpContext(); - Requests[49].RequestServices = CreateServices(); - Requests[49].Request.Method = "GET"; - Requests[49].Request.Path = "/pools"; - Requests[50] = new DefaultHttpContext(); - Requests[50].RequestServices = CreateServices(); - Requests[50].Request.Method = "GET"; - Requests[50].Request.Path = "/poolusagemetrics"; - Requests[51] = new DefaultHttpContext(); - Requests[51].RequestServices = CreateServices(); - Requests[51].Request.Method = "GET"; - Requests[51].Request.Path = "/products"; - Requests[52] = new DefaultHttpContext(); - Requests[52].RequestServices = CreateServices(); - Requests[52].Request.Method = "POST"; - Requests[52].Request.Path = "/projects"; - Requests[53] = new DefaultHttpContext(); - Requests[53].RequestServices = CreateServices(); - Requests[53].Request.Method = "GET"; - Requests[53].Request.Path = "/properties"; - Requests[54] = new DefaultHttpContext(); - Requests[54].RequestServices = CreateServices(); - Requests[54].Request.Method = "POST"; - Requests[54].Request.Path = "/recognizeText"; - Requests[55] = new DefaultHttpContext(); - Requests[55].RequestServices = CreateServices(); - Requests[55].Request.Method = "GET"; - Requests[55].Request.Path = "/recurrences"; - Requests[56] = new DefaultHttpContext(); - Requests[56].RequestServices = CreateServices(); - Requests[56].Request.Method = "GET"; - Requests[56].Request.Path = "/regions"; - Requests[57] = new DefaultHttpContext(); - Requests[57].RequestServices = CreateServices(); - Requests[57].Request.Method = "GET"; - Requests[57].Request.Path = "/search"; - Requests[58] = new DefaultHttpContext(); - Requests[58].RequestServices = CreateServices(); - Requests[58].Request.Method = "GET"; - Requests[58].Request.Path = "/secrets"; - Requests[59] = new DefaultHttpContext(); - Requests[59].RequestServices = CreateServices(); - Requests[59].Request.Method = "GET"; - Requests[59].Request.Path = "/servicestats"; - Requests[60] = new DefaultHttpContext(); - Requests[60].RequestServices = CreateServices(); - Requests[60].Request.Method = "POST"; - Requests[60].Request.Path = "/spellcheck"; - Requests[61] = new DefaultHttpContext(); - Requests[61].RequestServices = CreateServices(); - Requests[61].Request.Method = "GET"; - Requests[61].Request.Path = "/storage"; - Requests[62] = new DefaultHttpContext(); - Requests[62].RequestServices = CreateServices(); - Requests[62].Request.Method = "GET"; - Requests[62].Request.Path = "/subscriptions"; - Requests[63] = new DefaultHttpContext(); - Requests[63].RequestServices = CreateServices(); - Requests[63].Request.Method = "POST"; - Requests[63].Request.Path = "/synonymmaps"; - Requests[64] = new DefaultHttpContext(); - Requests[64].RequestServices = CreateServices(); - Requests[64].Request.Method = "POST"; - Requests[64].Request.Path = "/tag"; - Requests[65] = new DefaultHttpContext(); - Requests[65].RequestServices = CreateServices(); - Requests[65].Request.Method = "GET"; - Requests[65].Request.Path = "/templates"; - Requests[66] = new DefaultHttpContext(); - Requests[66].RequestServices = CreateServices(); - Requests[66].Request.Method = "GET"; - Requests[66].Request.Path = "/tenants"; - Requests[67] = new DefaultHttpContext(); - Requests[67].RequestServices = CreateServices(); - Requests[67].Request.Method = "GET"; - Requests[67].Request.Path = "/users"; - Requests[68] = new DefaultHttpContext(); - Requests[68].RequestServices = CreateServices(); - Requests[68].Request.Method = "POST"; - Requests[68].Request.Path = "/verify"; - Requests[69] = new DefaultHttpContext(); - Requests[69].RequestServices = CreateServices(); - Requests[69].Request.Method = "POST"; - Requests[69].Request.Path = "/$/CancelRepairTask"; - Requests[70] = new DefaultHttpContext(); - Requests[70].RequestServices = CreateServices(); - Requests[70].Request.Method = "POST"; - Requests[70].Request.Path = "/$/CreateRepairTask"; - Requests[71] = new DefaultHttpContext(); - Requests[71].RequestServices = CreateServices(); - Requests[71].Request.Method = "POST"; - Requests[71].Request.Path = "/$/DeleteRepairTask"; - Requests[72] = new DefaultHttpContext(); - Requests[72].RequestServices = CreateServices(); - Requests[72].Request.Method = "POST"; - Requests[72].Request.Path = "/$/ForceApproveRepairTask"; - Requests[73] = new DefaultHttpContext(); - Requests[73].RequestServices = CreateServices(); - Requests[73].Request.Method = "GET"; - Requests[73].Request.Path = "/$/GetAadMetadata"; - Requests[74] = new DefaultHttpContext(); - Requests[74].RequestServices = CreateServices(); - Requests[74].Request.Method = "GET"; - Requests[74].Request.Path = "/$/GetClusterConfiguration"; - Requests[75] = new DefaultHttpContext(); - Requests[75].RequestServices = CreateServices(); - Requests[75].Request.Method = "GET"; - Requests[75].Request.Path = "/$/GetClusterConfigurationUpgradeStatus"; - Requests[76] = new DefaultHttpContext(); - Requests[76].RequestServices = CreateServices(); - Requests[76].Request.Method = "POST"; - Requests[76].Request.Path = "/$/GetClusterHealth"; - Requests[77] = new DefaultHttpContext(); - Requests[77].RequestServices = CreateServices(); - Requests[77].Request.Method = "POST"; - Requests[77].Request.Path = "/$/GetClusterHealthChunk"; - Requests[78] = new DefaultHttpContext(); - Requests[78].RequestServices = CreateServices(); - Requests[78].Request.Method = "GET"; - Requests[78].Request.Path = "/$/GetClusterManifest"; - Requests[79] = new DefaultHttpContext(); - Requests[79].RequestServices = CreateServices(); - Requests[79].Request.Method = "GET"; - Requests[79].Request.Path = "/$/GetLoadInformation"; - Requests[80] = new DefaultHttpContext(); - Requests[80].RequestServices = CreateServices(); - Requests[80].Request.Method = "GET"; - Requests[80].Request.Path = "/$/GetProvisionedCodeVersions"; - Requests[81] = new DefaultHttpContext(); - Requests[81].RequestServices = CreateServices(); - Requests[81].Request.Method = "GET"; - Requests[81].Request.Path = "/$/GetProvisionedConfigVersions"; - Requests[82] = new DefaultHttpContext(); - Requests[82].RequestServices = CreateServices(); - Requests[82].Request.Method = "GET"; - Requests[82].Request.Path = "/$/GetRepairTaskList"; - Requests[83] = new DefaultHttpContext(); - Requests[83].RequestServices = CreateServices(); - Requests[83].Request.Method = "GET"; - Requests[83].Request.Path = "/$/GetUpgradeOrchestrationServiceState"; - Requests[84] = new DefaultHttpContext(); - Requests[84].RequestServices = CreateServices(); - Requests[84].Request.Method = "GET"; - Requests[84].Request.Path = "/$/GetUpgradeProgress"; - Requests[85] = new DefaultHttpContext(); - Requests[85].RequestServices = CreateServices(); - Requests[85].Request.Method = "POST"; - Requests[85].Request.Path = "/$/InvokeInfrastructureCommand"; - Requests[86] = new DefaultHttpContext(); - Requests[86].RequestServices = CreateServices(); - Requests[86].Request.Method = "GET"; - Requests[86].Request.Path = "/$/InvokeInfrastructureQuery"; - Requests[87] = new DefaultHttpContext(); - Requests[87].RequestServices = CreateServices(); - Requests[87].Request.Method = "POST"; - Requests[87].Request.Path = "/$/MoveToNextUpgradeDomain"; - Requests[88] = new DefaultHttpContext(); - Requests[88].RequestServices = CreateServices(); - Requests[88].Request.Method = "POST"; - Requests[88].Request.Path = "/$/Provision"; - Requests[89] = new DefaultHttpContext(); - Requests[89].RequestServices = CreateServices(); - Requests[89].Request.Method = "POST"; - Requests[89].Request.Path = "/$/RecoverAllPartitions"; - Requests[90] = new DefaultHttpContext(); - Requests[90].RequestServices = CreateServices(); - Requests[90].Request.Method = "POST"; - Requests[90].Request.Path = "/$/RecoverSystemPartitions"; - Requests[91] = new DefaultHttpContext(); - Requests[91].RequestServices = CreateServices(); - Requests[91].Request.Method = "POST"; - Requests[91].Request.Path = "/$/ReportClusterHealth"; - Requests[92] = new DefaultHttpContext(); - Requests[92].RequestServices = CreateServices(); - Requests[92].Request.Method = "POST"; - Requests[92].Request.Path = "/$/RollbackUpgrade"; - Requests[93] = new DefaultHttpContext(); - Requests[93].RequestServices = CreateServices(); - Requests[93].Request.Method = "POST"; - Requests[93].Request.Path = "/$/SetUpgradeOrchestrationServiceState"; - Requests[94] = new DefaultHttpContext(); - Requests[94].RequestServices = CreateServices(); - Requests[94].Request.Method = "POST"; - Requests[94].Request.Path = "/$/StartClusterConfigurationUpgrade"; - Requests[95] = new DefaultHttpContext(); - Requests[95].RequestServices = CreateServices(); - Requests[95].Request.Method = "POST"; - Requests[95].Request.Path = "/$/Unprovision"; - Requests[96] = new DefaultHttpContext(); - Requests[96].RequestServices = CreateServices(); - Requests[96].Request.Method = "POST"; - Requests[96].Request.Path = "/$/UpdateRepairExecutionState"; - Requests[97] = new DefaultHttpContext(); - Requests[97].RequestServices = CreateServices(); - Requests[97].Request.Method = "POST"; - Requests[97].Request.Path = "/$/UpdateRepairTaskHealthPolicy"; - Requests[98] = new DefaultHttpContext(); - Requests[98].RequestServices = CreateServices(); - Requests[98].Request.Method = "POST"; - Requests[98].Request.Path = "/$/UpdateUpgrade"; - Requests[99] = new DefaultHttpContext(); - Requests[99].RequestServices = CreateServices(); - Requests[99].Request.Method = "POST"; - Requests[99].Request.Path = "/$/Upgrade"; - Requests[100] = new DefaultHttpContext(); - Requests[100].RequestServices = CreateServices(); - Requests[100].Request.Method = "POST"; - Requests[100].Request.Path = "/api/events"; - Requests[101] = new DefaultHttpContext(); - Requests[101].RequestServices = CreateServices(); - Requests[101].Request.Method = "GET"; - Requests[101].Request.Path = "/apps/assistants"; - Requests[102] = new DefaultHttpContext(); - Requests[102].RequestServices = CreateServices(); - Requests[102].Request.Method = "GET"; - Requests[102].Request.Path = "/apps/cultures"; - Requests[103] = new DefaultHttpContext(); - Requests[103].RequestServices = CreateServices(); - Requests[103].Request.Method = "POST"; - Requests[103].Request.Path = "/apps/customprebuiltdomains"; - Requests[104] = new DefaultHttpContext(); - Requests[104].RequestServices = CreateServices(); - Requests[104].Request.Method = "GET"; - Requests[104].Request.Path = "/apps/domains"; - Requests[105] = new DefaultHttpContext(); - Requests[105].RequestServices = CreateServices(); - Requests[105].Request.Method = "POST"; - Requests[105].Request.Path = "/apps/import"; - Requests[106] = new DefaultHttpContext(); - Requests[106].RequestServices = CreateServices(); - Requests[106].Request.Method = "GET"; - Requests[106].Request.Path = "/apps/usagescenarios"; - Requests[107] = new DefaultHttpContext(); - Requests[107].RequestServices = CreateServices(); - Requests[107].Request.Method = "GET"; - Requests[107].Request.Path = "/BackupRestore/BackupPolicies"; - Requests[108] = new DefaultHttpContext(); - Requests[108].RequestServices = CreateServices(); - Requests[108].Request.Method = "DELETE"; - Requests[108].Request.Path = "/certificates/contacts"; - Requests[109] = new DefaultHttpContext(); - Requests[109].RequestServices = CreateServices(); - Requests[109].Request.Method = "GET"; - Requests[109].Request.Path = "/certificates/issuers"; - Requests[110] = new DefaultHttpContext(); - Requests[110].RequestServices = CreateServices(); - Requests[110].Request.Method = "GET"; - Requests[110].Request.Path = "/docs/$count"; - Requests[111] = new DefaultHttpContext(); - Requests[111].RequestServices = CreateServices(); - Requests[111].Request.Method = "POST"; - Requests[111].Request.Path = "/docs/autocomplete"; - Requests[112] = new DefaultHttpContext(); - Requests[112].RequestServices = CreateServices(); - Requests[112].Request.Method = "GET"; - Requests[112].Request.Path = "/images/details"; - Requests[113] = new DefaultHttpContext(); - Requests[113].RequestServices = CreateServices(); - Requests[113].Request.Method = "GET"; - Requests[113].Request.Path = "/images/search"; - Requests[114] = new DefaultHttpContext(); - Requests[114].RequestServices = CreateServices(); - Requests[114].Request.Method = "GET"; - Requests[114].Request.Path = "/images/trending"; - Requests[115] = new DefaultHttpContext(); - Requests[115].RequestServices = CreateServices(); - Requests[115].Request.Method = "POST"; - Requests[115].Request.Path = "/images/visualsearch"; - Requests[116] = new DefaultHttpContext(); - Requests[116].RequestServices = CreateServices(); - Requests[116].Request.Method = "POST"; - Requests[116].Request.Path = "/keys/restore"; - Requests[117] = new DefaultHttpContext(); - Requests[117].RequestServices = CreateServices(); - Requests[117].Request.Method = "GET"; - Requests[117].Request.Path = "/news/search"; - Requests[118] = new DefaultHttpContext(); - Requests[118].RequestServices = CreateServices(); - Requests[118].Request.Method = "GET"; - Requests[118].Request.Path = "/news/trendingtopics"; - Requests[119] = new DefaultHttpContext(); - Requests[119].RequestServices = CreateServices(); - Requests[119].Request.Method = "PUT"; - Requests[119].Request.Path = "/portalsettings/delegation"; - Requests[120] = new DefaultHttpContext(); - Requests[120].RequestServices = CreateServices(); - Requests[120].Request.Method = "PUT"; - Requests[120].Request.Path = "/portalsettings/signin"; - Requests[121] = new DefaultHttpContext(); - Requests[121].RequestServices = CreateServices(); - Requests[121].Request.Method = "PUT"; - Requests[121].Request.Path = "/portalsettings/signup"; - Requests[122] = new DefaultHttpContext(); - Requests[122].RequestServices = CreateServices(); - Requests[122].Request.Method = "GET"; - Requests[122].Request.Path = "/reports/byApi"; - Requests[123] = new DefaultHttpContext(); - Requests[123].RequestServices = CreateServices(); - Requests[123].Request.Method = "GET"; - Requests[123].Request.Path = "/reports/byGeo"; - Requests[124] = new DefaultHttpContext(); - Requests[124].RequestServices = CreateServices(); - Requests[124].Request.Method = "GET"; - Requests[124].Request.Path = "/reports/byOperation"; - Requests[125] = new DefaultHttpContext(); - Requests[125].RequestServices = CreateServices(); - Requests[125].Request.Method = "GET"; - Requests[125].Request.Path = "/reports/byProduct"; - Requests[126] = new DefaultHttpContext(); - Requests[126].RequestServices = CreateServices(); - Requests[126].Request.Method = "GET"; - Requests[126].Request.Path = "/reports/byRequest"; - Requests[127] = new DefaultHttpContext(); - Requests[127].RequestServices = CreateServices(); - Requests[127].Request.Method = "GET"; - Requests[127].Request.Path = "/reports/bySubscription"; - Requests[128] = new DefaultHttpContext(); - Requests[128].RequestServices = CreateServices(); - Requests[128].Request.Method = "GET"; - Requests[128].Request.Path = "/reports/byTime"; - Requests[129] = new DefaultHttpContext(); - Requests[129].RequestServices = CreateServices(); - Requests[129].Request.Method = "GET"; - Requests[129].Request.Path = "/reports/byUser"; - Requests[130] = new DefaultHttpContext(); - Requests[130].RequestServices = CreateServices(); - Requests[130].Request.Method = "POST"; - Requests[130].Request.Path = "/secrets/restore"; - Requests[131] = new DefaultHttpContext(); - Requests[131].RequestServices = CreateServices(); - Requests[131].Request.Method = "POST"; - Requests[131].Request.Path = "/storage/restore"; - Requests[132] = new DefaultHttpContext(); - Requests[132].RequestServices = CreateServices(); - Requests[132].Request.Method = "GET"; - Requests[132].Request.Path = "/Tools/Chaos"; - Requests[133] = new DefaultHttpContext(); - Requests[133].RequestServices = CreateServices(); - Requests[133].Request.Method = "POST"; - Requests[133].Request.Path = "/v2.0/entities"; - Requests[134] = new DefaultHttpContext(); - Requests[134].RequestServices = CreateServices(); - Requests[134].Request.Method = "POST"; - Requests[134].Request.Path = "/v2.0/keyPhrases"; - Requests[135] = new DefaultHttpContext(); - Requests[135].RequestServices = CreateServices(); - Requests[135].Request.Method = "POST"; - Requests[135].Request.Path = "/v2.0/languages"; - Requests[136] = new DefaultHttpContext(); - Requests[136].RequestServices = CreateServices(); - Requests[136].Request.Method = "POST"; - Requests[136].Request.Path = "/v2.0/sentiment"; - Requests[137] = new DefaultHttpContext(); - Requests[137].RequestServices = CreateServices(); - Requests[137].Request.Method = "GET"; - Requests[137].Request.Path = "/videos/details"; - Requests[138] = new DefaultHttpContext(); - Requests[138].RequestServices = CreateServices(); - Requests[138].Request.Method = "GET"; - Requests[138].Request.Path = "/videos/search"; - Requests[139] = new DefaultHttpContext(); - Requests[139].RequestServices = CreateServices(); - Requests[139].Request.Method = "GET"; - Requests[139].Request.Path = "/videos/trending"; - Requests[140] = new DefaultHttpContext(); - Requests[140].RequestServices = CreateServices(); - Requests[140].Request.Method = "POST"; - Requests[140].Request.Path = "/Applications/$/Create"; - Requests[141] = new DefaultHttpContext(); - Requests[141].RequestServices = CreateServices(); - Requests[141].Request.Method = "POST"; - Requests[141].Request.Path = "/ApplicationTypes/$/Provision"; - Requests[142] = new DefaultHttpContext(); - Requests[142].RequestServices = CreateServices(); - Requests[142].Request.Method = "POST"; - Requests[142].Request.Path = "/BackupRestore/$/GetBackups"; - Requests[143] = new DefaultHttpContext(); - Requests[143].RequestServices = CreateServices(); - Requests[143].Request.Method = "GET"; - Requests[143].Request.Path = "/catalog/usql/acl"; - Requests[144] = new DefaultHttpContext(); - Requests[144].RequestServices = CreateServices(); - Requests[144].Request.Method = "GET"; - Requests[144].Request.Path = "/catalog/usql/databases"; - Requests[145] = new DefaultHttpContext(); - Requests[145].RequestServices = CreateServices(); - Requests[145].Request.Method = "PUT"; - Requests[145].Request.Path = "/ComposeDeployments/$/Create"; - Requests[146] = new DefaultHttpContext(); - Requests[146].RequestServices = CreateServices(); - Requests[146].Request.Method = "GET"; - Requests[146].Request.Path = "/EventsStore/Applications/Events"; - Requests[147] = new DefaultHttpContext(); - Requests[147].RequestServices = CreateServices(); - Requests[147].Request.Method = "GET"; - Requests[147].Request.Path = "/EventsStore/Cluster/Events"; - Requests[148] = new DefaultHttpContext(); - Requests[148].RequestServices = CreateServices(); - Requests[148].Request.Method = "GET"; - Requests[148].Request.Path = "/EventsStore/Containers/Events"; - Requests[149] = new DefaultHttpContext(); - Requests[149].RequestServices = CreateServices(); - Requests[149].Request.Method = "GET"; - Requests[149].Request.Path = "/EventsStore/Nodes/Events"; - Requests[150] = new DefaultHttpContext(); - Requests[150].RequestServices = CreateServices(); - Requests[150].Request.Method = "GET"; - Requests[150].Request.Path = "/EventsStore/Partitions/Events"; - Requests[151] = new DefaultHttpContext(); - Requests[151].RequestServices = CreateServices(); - Requests[151].Request.Method = "GET"; - Requests[151].Request.Path = "/EventsStore/Services/Events"; - Requests[152] = new DefaultHttpContext(); - Requests[152].RequestServices = CreateServices(); - Requests[152].Request.Method = "POST"; - Requests[152].Request.Path = "/Faults/$/Cancel"; - Requests[153] = new DefaultHttpContext(); - Requests[153].RequestServices = CreateServices(); - Requests[153].Request.Method = "POST"; - Requests[153].Request.Path = "/ImageStore/$/CommitUploadSession"; - Requests[154] = new DefaultHttpContext(); - Requests[154].RequestServices = CreateServices(); - Requests[154].Request.Method = "POST"; - Requests[154].Request.Path = "/ImageStore/$/Copy"; - Requests[155] = new DefaultHttpContext(); - Requests[155].RequestServices = CreateServices(); - Requests[155].Request.Method = "DELETE"; - Requests[155].Request.Path = "/ImageStore/$/DeleteUploadSession"; - Requests[156] = new DefaultHttpContext(); - Requests[156].RequestServices = CreateServices(); - Requests[156].Request.Method = "GET"; - Requests[156].Request.Path = "/ImageStore/$/GetUploadSession"; - Requests[157] = new DefaultHttpContext(); - Requests[157].RequestServices = CreateServices(); - Requests[157].Request.Method = "POST"; - Requests[157].Request.Path = "/Names/$/Create"; - Requests[158] = new DefaultHttpContext(); - Requests[158].RequestServices = CreateServices(); - Requests[158].Request.Method = "GET"; - Requests[158].Request.Path = "/providers/Microsoft.AAD/operations"; - Requests[159] = new DefaultHttpContext(); - Requests[159].RequestServices = CreateServices(); - Requests[159].Request.Method = "GET"; - Requests[159].Request.Path = "/providers/Microsoft.Addons/operations"; - Requests[160] = new DefaultHttpContext(); - Requests[160].RequestServices = CreateServices(); - Requests[160].Request.Method = "POST"; - Requests[160].Request.Path = "/providers/Microsoft.ADHybridHealthService/addsservices"; - Requests[161] = new DefaultHttpContext(); - Requests[161].RequestServices = CreateServices(); - Requests[161].Request.Method = "PATCH"; - Requests[161].Request.Path = "/providers/Microsoft.ADHybridHealthService/configuration"; - Requests[162] = new DefaultHttpContext(); - Requests[162].RequestServices = CreateServices(); - Requests[162].Request.Method = "GET"; - Requests[162].Request.Path = "/providers/Microsoft.ADHybridHealthService/operations"; - Requests[163] = new DefaultHttpContext(); - Requests[163].RequestServices = CreateServices(); - Requests[163].Request.Method = "POST"; - Requests[163].Request.Path = "/providers/Microsoft.ADHybridHealthService/services"; - Requests[164] = new DefaultHttpContext(); - Requests[164].RequestServices = CreateServices(); - Requests[164].Request.Method = "GET"; - Requests[164].Request.Path = "/providers/Microsoft.Advisor/operations"; - Requests[165] = new DefaultHttpContext(); - Requests[165].RequestServices = CreateServices(); - Requests[165].Request.Method = "GET"; - Requests[165].Request.Path = "/providers/Microsoft.AnalysisServices/operations"; - Requests[166] = new DefaultHttpContext(); - Requests[166].RequestServices = CreateServices(); - Requests[166].Request.Method = "GET"; - Requests[166].Request.Path = "/providers/Microsoft.ApiManagement/operations"; - Requests[167] = new DefaultHttpContext(); - Requests[167].RequestServices = CreateServices(); - Requests[167].Request.Method = "GET"; - Requests[167].Request.Path = "/providers/Microsoft.Authorization/policyDefinitions"; - Requests[168] = new DefaultHttpContext(); - Requests[168].RequestServices = CreateServices(); - Requests[168].Request.Method = "GET"; - Requests[168].Request.Path = "/providers/Microsoft.Authorization/policySetDefinitions"; - Requests[169] = new DefaultHttpContext(); - Requests[169].RequestServices = CreateServices(); - Requests[169].Request.Method = "GET"; - Requests[169].Request.Path = "/providers/Microsoft.Authorization/providerOperations"; - Requests[170] = new DefaultHttpContext(); - Requests[170].RequestServices = CreateServices(); - Requests[170].Request.Method = "GET"; - Requests[170].Request.Path = "/providers/Microsoft.Automation/operations"; - Requests[171] = new DefaultHttpContext(); - Requests[171].RequestServices = CreateServices(); - Requests[171].Request.Method = "GET"; - Requests[171].Request.Path = "/providers/Microsoft.AzureStack/operations"; - Requests[172] = new DefaultHttpContext(); - Requests[172].RequestServices = CreateServices(); - Requests[172].Request.Method = "GET"; - Requests[172].Request.Path = "/providers/Microsoft.Backup.Admin/operations"; - Requests[173] = new DefaultHttpContext(); - Requests[173].RequestServices = CreateServices(); - Requests[173].Request.Method = "GET"; - Requests[173].Request.Path = "/providers/Microsoft.Batch/operations"; - Requests[174] = new DefaultHttpContext(); - Requests[174].RequestServices = CreateServices(); - Requests[174].Request.Method = "GET"; - Requests[174].Request.Path = "/providers/Microsoft.BatchAI/operations"; - Requests[175] = new DefaultHttpContext(); - Requests[175].RequestServices = CreateServices(); - Requests[175].Request.Method = "GET"; - Requests[175].Request.Path = "/providers/Microsoft.Billing/enrollmentAccounts"; - Requests[176] = new DefaultHttpContext(); - Requests[176].RequestServices = CreateServices(); - Requests[176].Request.Method = "GET"; - Requests[176].Request.Path = "/providers/Microsoft.Billing/operations"; - Requests[177] = new DefaultHttpContext(); - Requests[177].RequestServices = CreateServices(); - Requests[177].Request.Method = "GET"; - Requests[177].Request.Path = "/providers/Microsoft.BotService/operations"; - Requests[178] = new DefaultHttpContext(); - Requests[178].RequestServices = CreateServices(); - Requests[178].Request.Method = "GET"; - Requests[178].Request.Path = "/providers/Microsoft.Cache/operations"; - Requests[179] = new DefaultHttpContext(); - Requests[179].RequestServices = CreateServices(); - Requests[179].Request.Method = "GET"; - Requests[179].Request.Path = "/providers/Microsoft.Capacity/operations"; - Requests[180] = new DefaultHttpContext(); - Requests[180].RequestServices = CreateServices(); - Requests[180].Request.Method = "GET"; - Requests[180].Request.Path = "/providers/Microsoft.Capacity/reservationOrders"; - Requests[181] = new DefaultHttpContext(); - Requests[181].RequestServices = CreateServices(); - Requests[181].Request.Method = "POST"; - Requests[181].Request.Path = "/providers/Microsoft.Cdn/checkNameAvailability"; - Requests[182] = new DefaultHttpContext(); - Requests[182].RequestServices = CreateServices(); - Requests[182].Request.Method = "GET"; - Requests[182].Request.Path = "/providers/Microsoft.Cdn/edgenodes"; - Requests[183] = new DefaultHttpContext(); - Requests[183].RequestServices = CreateServices(); - Requests[183].Request.Method = "GET"; - Requests[183].Request.Path = "/providers/Microsoft.Cdn/operations"; - Requests[184] = new DefaultHttpContext(); - Requests[184].RequestServices = CreateServices(); - Requests[184].Request.Method = "GET"; - Requests[184].Request.Path = "/providers/Microsoft.CertificateRegistration/operations"; - Requests[185] = new DefaultHttpContext(); - Requests[185].RequestServices = CreateServices(); - Requests[185].Request.Method = "GET"; - Requests[185].Request.Path = "/providers/Microsoft.CognitiveServices/operations"; - Requests[186] = new DefaultHttpContext(); - Requests[186].RequestServices = CreateServices(); - Requests[186].Request.Method = "GET"; - Requests[186].Request.Path = "/providers/Microsoft.Commerce.Admin/operations"; - Requests[187] = new DefaultHttpContext(); - Requests[187].RequestServices = CreateServices(); - Requests[187].Request.Method = "GET"; - Requests[187].Request.Path = "/providers/Microsoft.Compute.Admin/operations"; - Requests[188] = new DefaultHttpContext(); - Requests[188].RequestServices = CreateServices(); - Requests[188].Request.Method = "GET"; - Requests[188].Request.Path = "/providers/Microsoft.Compute/operations"; - Requests[189] = new DefaultHttpContext(); - Requests[189].RequestServices = CreateServices(); - Requests[189].Request.Method = "GET"; - Requests[189].Request.Path = "/providers/Microsoft.Consumption/operations"; - Requests[190] = new DefaultHttpContext(); - Requests[190].RequestServices = CreateServices(); - Requests[190].Request.Method = "GET"; - Requests[190].Request.Path = "/providers/Microsoft.ContainerInstance/operations"; - Requests[191] = new DefaultHttpContext(); - Requests[191].RequestServices = CreateServices(); - Requests[191].Request.Method = "GET"; - Requests[191].Request.Path = "/providers/Microsoft.ContainerRegistry/operations"; - Requests[192] = new DefaultHttpContext(); - Requests[192].RequestServices = CreateServices(); - Requests[192].Request.Method = "GET"; - Requests[192].Request.Path = "/providers/Microsoft.ContainerService/operations"; - Requests[193] = new DefaultHttpContext(); - Requests[193].RequestServices = CreateServices(); - Requests[193].Request.Method = "GET"; - Requests[193].Request.Path = "/providers/Microsoft.CustomerInsights/operations"; - Requests[194] = new DefaultHttpContext(); - Requests[194].RequestServices = CreateServices(); - Requests[194].Request.Method = "GET"; - Requests[194].Request.Path = "/providers/Microsoft.DataBox/operations"; - Requests[195] = new DefaultHttpContext(); - Requests[195].RequestServices = CreateServices(); - Requests[195].Request.Method = "GET"; - Requests[195].Request.Path = "/providers/Microsoft.Databricks/operations"; - Requests[196] = new DefaultHttpContext(); - Requests[196].RequestServices = CreateServices(); - Requests[196].Request.Method = "GET"; - Requests[196].Request.Path = "/providers/Microsoft.DataCatalog/operations"; - Requests[197] = new DefaultHttpContext(); - Requests[197].RequestServices = CreateServices(); - Requests[197].Request.Method = "GET"; - Requests[197].Request.Path = "/providers/Microsoft.DataFactory/operations"; - Requests[198] = new DefaultHttpContext(); - Requests[198].RequestServices = CreateServices(); - Requests[198].Request.Method = "GET"; - Requests[198].Request.Path = "/providers/Microsoft.DataLakeAnalytics/operations"; - Requests[199] = new DefaultHttpContext(); - Requests[199].RequestServices = CreateServices(); - Requests[199].Request.Method = "GET"; - Requests[199].Request.Path = "/providers/Microsoft.DataLakeStore/operations"; - Requests[200] = new DefaultHttpContext(); - Requests[200].RequestServices = CreateServices(); - Requests[200].Request.Method = "GET"; - Requests[200].Request.Path = "/providers/Microsoft.DataMigration/operations"; - Requests[201] = new DefaultHttpContext(); - Requests[201].RequestServices = CreateServices(); - Requests[201].Request.Method = "GET"; - Requests[201].Request.Path = "/providers/Microsoft.DBforMySQL/operations"; - Requests[202] = new DefaultHttpContext(); - Requests[202].RequestServices = CreateServices(); - Requests[202].Request.Method = "GET"; - Requests[202].Request.Path = "/providers/Microsoft.DBforPostgreSQL/operations"; - Requests[203] = new DefaultHttpContext(); - Requests[203].RequestServices = CreateServices(); - Requests[203].Request.Method = "GET"; - Requests[203].Request.Path = "/providers/Microsoft.Devices/operations"; - Requests[204] = new DefaultHttpContext(); - Requests[204].RequestServices = CreateServices(); - Requests[204].Request.Method = "GET"; - Requests[204].Request.Path = "/providers/Microsoft.DevTestLab/operations"; - Requests[205] = new DefaultHttpContext(); - Requests[205].RequestServices = CreateServices(); - Requests[205].Request.Method = "GET"; - Requests[205].Request.Path = "/providers/Microsoft.DocumentDB/operations"; - Requests[206] = new DefaultHttpContext(); - Requests[206].RequestServices = CreateServices(); - Requests[206].Request.Method = "GET"; - Requests[206].Request.Path = "/providers/Microsoft.DomainRegistration/operations"; - Requests[207] = new DefaultHttpContext(); - Requests[207].RequestServices = CreateServices(); - Requests[207].Request.Method = "GET"; - Requests[207].Request.Path = "/providers/Microsoft.EventGrid/operations"; - Requests[208] = new DefaultHttpContext(); - Requests[208].RequestServices = CreateServices(); - Requests[208].Request.Method = "GET"; - Requests[208].Request.Path = "/providers/Microsoft.EventGrid/topicTypes"; - Requests[209] = new DefaultHttpContext(); - Requests[209].RequestServices = CreateServices(); - Requests[209].Request.Method = "GET"; - Requests[209].Request.Path = "/providers/Microsoft.EventHub/operations"; - Requests[210] = new DefaultHttpContext(); - Requests[210].RequestServices = CreateServices(); - Requests[210].Request.Method = "GET"; - Requests[210].Request.Path = "/providers/Microsoft.Fabric.Admin/operations"; - Requests[211] = new DefaultHttpContext(); - Requests[211].RequestServices = CreateServices(); - Requests[211].Request.Method = "GET"; - Requests[211].Request.Path = "/providers/Microsoft.Gallery.Admin/operations"; - Requests[212] = new DefaultHttpContext(); - Requests[212].RequestServices = CreateServices(); - Requests[212].Request.Method = "GET"; - Requests[212].Request.Path = "/providers/Microsoft.HanaOnAzure/operations"; - Requests[213] = new DefaultHttpContext(); - Requests[213].RequestServices = CreateServices(); - Requests[213].Request.Method = "GET"; - Requests[213].Request.Path = "/providers/Microsoft.HDInsight/operations"; - Requests[214] = new DefaultHttpContext(); - Requests[214].RequestServices = CreateServices(); - Requests[214].Request.Method = "GET"; - Requests[214].Request.Path = "/providers/Microsoft.ImportExport/locations"; - Requests[215] = new DefaultHttpContext(); - Requests[215].RequestServices = CreateServices(); - Requests[215].Request.Method = "GET"; - Requests[215].Request.Path = "/providers/Microsoft.ImportExport/operations"; - Requests[216] = new DefaultHttpContext(); - Requests[216].RequestServices = CreateServices(); - Requests[216].Request.Method = "GET"; - Requests[216].Request.Path = "/providers/Microsoft.InfrastructureInsights.Admin/operations"; - Requests[217] = new DefaultHttpContext(); - Requests[217].RequestServices = CreateServices(); - Requests[217].Request.Method = "GET"; - Requests[217].Request.Path = "/providers/microsoft.insights/eventcategories"; - Requests[218] = new DefaultHttpContext(); - Requests[218].RequestServices = CreateServices(); - Requests[218].Request.Method = "GET"; - Requests[218].Request.Path = "/providers/microsoft.insights/operations"; - Requests[219] = new DefaultHttpContext(); - Requests[219].RequestServices = CreateServices(); - Requests[219].Request.Method = "GET"; - Requests[219].Request.Path = "/providers/Microsoft.Intune/locations"; - Requests[220] = new DefaultHttpContext(); - Requests[220].RequestServices = CreateServices(); - Requests[220].Request.Method = "GET"; - Requests[220].Request.Path = "/providers/Microsoft.IoTCentral/operations"; - Requests[221] = new DefaultHttpContext(); - Requests[221].RequestServices = CreateServices(); - Requests[221].Request.Method = "GET"; - Requests[221].Request.Path = "/providers/Microsoft.IoTSpaces/operations"; - Requests[222] = new DefaultHttpContext(); - Requests[222].RequestServices = CreateServices(); - Requests[222].Request.Method = "GET"; - Requests[222].Request.Path = "/providers/Microsoft.KeyVault.Admin/operations"; - Requests[223] = new DefaultHttpContext(); - Requests[223].RequestServices = CreateServices(); - Requests[223].Request.Method = "GET"; - Requests[223].Request.Path = "/providers/Microsoft.KeyVault/operations"; - Requests[224] = new DefaultHttpContext(); - Requests[224].RequestServices = CreateServices(); - Requests[224].Request.Method = "GET"; - Requests[224].Request.Path = "/providers/Microsoft.Logic/operations"; - Requests[225] = new DefaultHttpContext(); - Requests[225].RequestServices = CreateServices(); - Requests[225].Request.Method = "GET"; - Requests[225].Request.Path = "/providers/Microsoft.MachineLearning/operations"; - Requests[226] = new DefaultHttpContext(); - Requests[226].RequestServices = CreateServices(); - Requests[226].Request.Method = "GET"; - Requests[226].Request.Path = "/providers/Microsoft.MachineLearningCompute/operations"; - Requests[227] = new DefaultHttpContext(); - Requests[227].RequestServices = CreateServices(); - Requests[227].Request.Method = "GET"; - Requests[227].Request.Path = "/providers/Microsoft.MachineLearningExperimentation/operations"; - Requests[228] = new DefaultHttpContext(); - Requests[228].RequestServices = CreateServices(); - Requests[228].Request.Method = "GET"; - Requests[228].Request.Path = "/providers/Microsoft.MachineLearningServices/operations"; - Requests[229] = new DefaultHttpContext(); - Requests[229].RequestServices = CreateServices(); - Requests[229].Request.Method = "GET"; - Requests[229].Request.Path = "/providers/Microsoft.ManagedIdentity/operations"; - Requests[230] = new DefaultHttpContext(); - Requests[230].RequestServices = CreateServices(); - Requests[230].Request.Method = "POST"; - Requests[230].Request.Path = "/providers/Microsoft.Management/checkNameAvailability"; - Requests[231] = new DefaultHttpContext(); - Requests[231].RequestServices = CreateServices(); - Requests[231].Request.Method = "POST"; - Requests[231].Request.Path = "/providers/Microsoft.Management/getEntities"; - Requests[232] = new DefaultHttpContext(); - Requests[232].RequestServices = CreateServices(); - Requests[232].Request.Method = "GET"; - Requests[232].Request.Path = "/providers/Microsoft.Management/managementGroups"; - Requests[233] = new DefaultHttpContext(); - Requests[233].RequestServices = CreateServices(); - Requests[233].Request.Method = "GET"; - Requests[233].Request.Path = "/providers/Microsoft.Management/operations"; - Requests[234] = new DefaultHttpContext(); - Requests[234].RequestServices = CreateServices(); - Requests[234].Request.Method = "POST"; - Requests[234].Request.Path = "/providers/Microsoft.Management/startTenantBackfill"; - Requests[235] = new DefaultHttpContext(); - Requests[235].RequestServices = CreateServices(); - Requests[235].Request.Method = "POST"; - Requests[235].Request.Path = "/providers/Microsoft.Management/tenantBackfillStatus"; - Requests[236] = new DefaultHttpContext(); - Requests[236].RequestServices = CreateServices(); - Requests[236].Request.Method = "GET"; - Requests[236].Request.Path = "/providers/Microsoft.ManagementPartner/operations"; - Requests[237] = new DefaultHttpContext(); - Requests[237].RequestServices = CreateServices(); - Requests[237].Request.Method = "GET"; - Requests[237].Request.Path = "/providers/Microsoft.Maps/operations"; - Requests[238] = new DefaultHttpContext(); - Requests[238].RequestServices = CreateServices(); - Requests[238].Request.Method = "GET"; - Requests[238].Request.Path = "/providers/Microsoft.MarketplaceOrdering/operations"; - Requests[239] = new DefaultHttpContext(); - Requests[239].RequestServices = CreateServices(); - Requests[239].Request.Method = "GET"; - Requests[239].Request.Path = "/providers/Microsoft.Media/operations"; - Requests[240] = new DefaultHttpContext(); - Requests[240].RequestServices = CreateServices(); - Requests[240].Request.Method = "GET"; - Requests[240].Request.Path = "/providers/Microsoft.Migrate/operations"; - Requests[241] = new DefaultHttpContext(); - Requests[241].RequestServices = CreateServices(); - Requests[241].Request.Method = "POST"; - Requests[241].Request.Path = "/providers/Microsoft.Network/checkTrafficManagerNameAvailability"; - Requests[242] = new DefaultHttpContext(); - Requests[242].RequestServices = CreateServices(); - Requests[242].Request.Method = "GET"; - Requests[242].Request.Path = "/providers/Microsoft.Network/operations"; - Requests[243] = new DefaultHttpContext(); - Requests[243].RequestServices = CreateServices(); - Requests[243].Request.Method = "GET"; - Requests[243].Request.Path = "/providers/Microsoft.NotificationHubs/operations"; - Requests[244] = new DefaultHttpContext(); - Requests[244].RequestServices = CreateServices(); - Requests[244].Request.Method = "GET"; - Requests[244].Request.Path = "/providers/Microsoft.OperationalInsights/operations"; - Requests[245] = new DefaultHttpContext(); - Requests[245].RequestServices = CreateServices(); - Requests[245].Request.Method = "GET"; - Requests[245].Request.Path = "/providers/Microsoft.OperationsManagement/operations"; - Requests[246] = new DefaultHttpContext(); - Requests[246].RequestServices = CreateServices(); - Requests[246].Request.Method = "GET"; - Requests[246].Request.Path = "/providers/Microsoft.PolicyInsights/operations"; - Requests[247] = new DefaultHttpContext(); - Requests[247].RequestServices = CreateServices(); - Requests[247].Request.Method = "GET"; - Requests[247].Request.Path = "/providers/Microsoft.PowerBI/operations"; - Requests[248] = new DefaultHttpContext(); - Requests[248].RequestServices = CreateServices(); - Requests[248].Request.Method = "GET"; - Requests[248].Request.Path = "/providers/Microsoft.PowerBIDedicated/operations"; - Requests[249] = new DefaultHttpContext(); - Requests[249].RequestServices = CreateServices(); - Requests[249].Request.Method = "GET"; - Requests[249].Request.Path = "/providers/Microsoft.RecoveryServices/operations"; - Requests[250] = new DefaultHttpContext(); - Requests[250].RequestServices = CreateServices(); - Requests[250].Request.Method = "GET"; - Requests[250].Request.Path = "/providers/Microsoft.Relay/operations"; - Requests[251] = new DefaultHttpContext(); - Requests[251].RequestServices = CreateServices(); - Requests[251].Request.Method = "GET"; - Requests[251].Request.Path = "/providers/Microsoft.ResourceHealth/operations"; - Requests[252] = new DefaultHttpContext(); - Requests[252].RequestServices = CreateServices(); - Requests[252].Request.Method = "GET"; - Requests[252].Request.Path = "/providers/Microsoft.Search/operations"; - Requests[253] = new DefaultHttpContext(); - Requests[253].RequestServices = CreateServices(); - Requests[253].Request.Method = "GET"; - Requests[253].Request.Path = "/providers/Microsoft.Security/operations"; - Requests[254] = new DefaultHttpContext(); - Requests[254].RequestServices = CreateServices(); - Requests[254].Request.Method = "GET"; - Requests[254].Request.Path = "/providers/Microsoft.ServiceBus/operations"; - Requests[255] = new DefaultHttpContext(); - Requests[255].RequestServices = CreateServices(); - Requests[255].Request.Method = "GET"; - Requests[255].Request.Path = "/providers/Microsoft.ServiceFabric/operations"; - Requests[256] = new DefaultHttpContext(); - Requests[256].RequestServices = CreateServices(); - Requests[256].Request.Method = "GET"; - Requests[256].Request.Path = "/providers/Microsoft.SignalRService/operations"; - Requests[257] = new DefaultHttpContext(); - Requests[257].RequestServices = CreateServices(); - Requests[257].Request.Method = "GET"; - Requests[257].Request.Path = "/providers/Microsoft.Sql/operations"; - Requests[258] = new DefaultHttpContext(); - Requests[258].RequestServices = CreateServices(); - Requests[258].Request.Method = "GET"; - Requests[258].Request.Path = "/providers/Microsoft.Storage.Admin/operations"; - Requests[259] = new DefaultHttpContext(); - Requests[259].RequestServices = CreateServices(); - Requests[259].Request.Method = "GET"; - Requests[259].Request.Path = "/providers/Microsoft.Storage/operations"; - Requests[260] = new DefaultHttpContext(); - Requests[260].RequestServices = CreateServices(); - Requests[260].Request.Method = "GET"; - Requests[260].Request.Path = "/providers/Microsoft.StorSimple/operations"; - Requests[261] = new DefaultHttpContext(); - Requests[261].RequestServices = CreateServices(); - Requests[261].Request.Method = "GET"; - Requests[261].Request.Path = "/providers/Microsoft.StreamAnalytics/operations"; - Requests[262] = new DefaultHttpContext(); - Requests[262].RequestServices = CreateServices(); - Requests[262].Request.Method = "GET"; - Requests[262].Request.Path = "/providers/Microsoft.Subscription/operations"; - Requests[263] = new DefaultHttpContext(); - Requests[263].RequestServices = CreateServices(); - Requests[263].Request.Method = "GET"; - Requests[263].Request.Path = "/providers/Microsoft.Subscription/subscriptionDefinitions"; - Requests[264] = new DefaultHttpContext(); - Requests[264].RequestServices = CreateServices(); - Requests[264].Request.Method = "GET"; - Requests[264].Request.Path = "/providers/Microsoft.Subscription/subscriptionOperations"; - Requests[265] = new DefaultHttpContext(); - Requests[265].RequestServices = CreateServices(); - Requests[265].Request.Method = "GET"; - Requests[265].Request.Path = "/providers/Microsoft.Subscriptions.Admin/operations"; - Requests[266] = new DefaultHttpContext(); - Requests[266].RequestServices = CreateServices(); - Requests[266].Request.Method = "GET"; - Requests[266].Request.Path = "/providers/Microsoft.Subscriptions/operations"; - Requests[267] = new DefaultHttpContext(); - Requests[267].RequestServices = CreateServices(); - Requests[267].Request.Method = "GET"; - Requests[267].Request.Path = "/providers/Microsoft.TimeSeriesInsights/operations"; - Requests[268] = new DefaultHttpContext(); - Requests[268].RequestServices = CreateServices(); - Requests[268].Request.Method = "GET"; - Requests[268].Request.Path = "/providers/Microsoft.Update.Admin/operations"; - Requests[269] = new DefaultHttpContext(); - Requests[269].RequestServices = CreateServices(); - Requests[269].Request.Method = "GET"; - Requests[269].Request.Path = "/providers/microsoft.visualstudio/operations"; - Requests[270] = new DefaultHttpContext(); - Requests[270].RequestServices = CreateServices(); - Requests[270].Request.Method = "GET"; - Requests[270].Request.Path = "/providers/Microsoft.Web/availableStacks"; - Requests[271] = new DefaultHttpContext(); - Requests[271].RequestServices = CreateServices(); - Requests[271].Request.Method = "GET"; - Requests[271].Request.Path = "/providers/Microsoft.Web/operations"; - Requests[272] = new DefaultHttpContext(); - Requests[272].RequestServices = CreateServices(); - Requests[272].Request.Method = "GET"; - Requests[272].Request.Path = "/providers/Microsoft.Web/sourcecontrols"; - Requests[273] = new DefaultHttpContext(); - Requests[273].RequestServices = CreateServices(); - Requests[273].Request.Method = "GET"; - Requests[273].Request.Path = "/Tools/Chaos/Events"; - Requests[274] = new DefaultHttpContext(); - Requests[274].RequestServices = CreateServices(); - Requests[274].Request.Method = "POST"; - Requests[274].Request.Path = "/Tools/Chaos/Schedule"; - Requests[275] = new DefaultHttpContext(); - Requests[275].RequestServices = CreateServices(); - Requests[275].Request.Method = "POST"; - Requests[275].Request.Path = "/BackupRestore/BackupPolicies/$/Create"; - Requests[276] = new DefaultHttpContext(); - Requests[276].RequestServices = CreateServices(); - Requests[276].Request.Method = "GET"; - Requests[276].Request.Path = "/contentmoderator/lists/v1.0/imagelists"; - Requests[277] = new DefaultHttpContext(); - Requests[277].RequestServices = CreateServices(); - Requests[277].Request.Method = "GET"; - Requests[277].Request.Path = "/contentmoderator/lists/v1.0/termlists"; - Requests[278] = new DefaultHttpContext(); - Requests[278].RequestServices = CreateServices(); - Requests[278].Request.Method = "GET"; - Requests[278].Request.Path = "/providers/Microsoft.ADHybridHealthService/addsservices/premiumCheck"; - Requests[279] = new DefaultHttpContext(); - Requests[279].RequestServices = CreateServices(); - Requests[279].Request.Method = "GET"; - Requests[279].Request.Path = "/providers/Microsoft.ADHybridHealthService/services/premiumCheck"; - Requests[280] = new DefaultHttpContext(); - Requests[280].RequestServices = CreateServices(); - Requests[280].Request.Method = "GET"; - Requests[280].Request.Path = "/providers/Microsoft.BotService/botServices/checkNameAvailability"; - Requests[281] = new DefaultHttpContext(); - Requests[281].RequestServices = CreateServices(); - Requests[281].Request.Method = "GET"; - Requests[281].Request.Path = "/providers/Microsoft.Intune/locations/hostName"; - Requests[282] = new DefaultHttpContext(); - Requests[282].RequestServices = CreateServices(); - Requests[282].Request.Method = "GET"; - Requests[282].Request.Path = "/providers/Microsoft.Network/trafficManagerGeographicHierarchies/default"; - Requests[283] = new DefaultHttpContext(); - Requests[283].RequestServices = CreateServices(); - Requests[283].Request.Method = "PUT"; - Requests[283].Request.Path = "/providers/Microsoft.Web/publishingUsers/web"; - Requests[284] = new DefaultHttpContext(); - Requests[284].RequestServices = CreateServices(); - Requests[284].Request.Method = "GET"; - Requests[284].Request.Path = "/Tools/Chaos/$/Report"; - Requests[285] = new DefaultHttpContext(); - Requests[285].RequestServices = CreateServices(); - Requests[285].Request.Method = "POST"; - Requests[285].Request.Path = "/Tools/Chaos/$/Start"; - Requests[286] = new DefaultHttpContext(); - Requests[286].RequestServices = CreateServices(); - Requests[286].Request.Method = "POST"; - Requests[286].Request.Path = "/Tools/Chaos/$/Stop"; - Requests[287] = new DefaultHttpContext(); - Requests[287].RequestServices = CreateServices(); - Requests[287].Request.Method = "POST"; - Requests[287].Request.Path = "/contentmoderator/moderate/v1.0/ProcessImage/Evaluate"; - Requests[288] = new DefaultHttpContext(); - Requests[288].RequestServices = CreateServices(); - Requests[288].Request.Method = "POST"; - Requests[288].Request.Path = "/contentmoderator/moderate/v1.0/ProcessImage/FindFaces"; - Requests[289] = new DefaultHttpContext(); - Requests[289].RequestServices = CreateServices(); - Requests[289].Request.Method = "POST"; - Requests[289].Request.Path = "/contentmoderator/moderate/v1.0/ProcessImage/Match"; - Requests[290] = new DefaultHttpContext(); - Requests[290].RequestServices = CreateServices(); - Requests[290].Request.Method = "POST"; - Requests[290].Request.Path = "/contentmoderator/moderate/v1.0/ProcessImage/OCR"; - Requests[291] = new DefaultHttpContext(); - Requests[291].RequestServices = CreateServices(); - Requests[291].Request.Method = "POST"; - Requests[291].Request.Path = "/contentmoderator/moderate/v1.0/ProcessText/DetectLanguage"; - Requests[292] = new DefaultHttpContext(); - Requests[292].RequestServices = CreateServices(); - Requests[292].Request.Method = "POST"; - Requests[292].Request.Path = "/contentmoderator/moderate/v1.0/ProcessText/Screen"; - Requests[293] = new DefaultHttpContext(); - Requests[293].RequestServices = CreateServices(); - Requests[293].Request.Method = "GET"; - Requests[293].Request.Path = "/providers/microsoft.insights/eventtypes/management/values"; - Requests[294] = new DefaultHttpContext(); - Requests[294].RequestServices = CreateServices(); - Requests[294].Request.Method = "PUT"; - Requests[294].Request.Path = "/contentmoderator/lists/v1.0/imagelists/172635"; - Requests[295] = new DefaultHttpContext(); - Requests[295].RequestServices = CreateServices(); - Requests[295].Request.Method = "PUT"; - Requests[295].Request.Path = "/contentmoderator/lists/v1.0/termlists/9d9dfc"; - Requests[296] = new DefaultHttpContext(); - Requests[296].RequestServices = CreateServices(); - Requests[296].Request.Method = "GET"; - Requests[296].Request.Path = "/contentmoderator/lists/v1.0/imagelists/084f88/images"; - Requests[297] = new DefaultHttpContext(); - Requests[297].RequestServices = CreateServices(); - Requests[297].Request.Method = "POST"; - Requests[297].Request.Path = "/contentmoderator/lists/v1.0/imagelists/1c04c5/RefreshIndex"; - Requests[298] = new DefaultHttpContext(); - Requests[298].RequestServices = CreateServices(); - Requests[298].Request.Method = "POST"; - Requests[298].Request.Path = "/contentmoderator/lists/v1.0/termlists/43730d/RefreshIndex"; - Requests[299] = new DefaultHttpContext(); - Requests[299].RequestServices = CreateServices(); - Requests[299].Request.Method = "DELETE"; - Requests[299].Request.Path = "/contentmoderator/lists/v1.0/termlists/d6f5ef/terms"; - Requests[300] = new DefaultHttpContext(); - Requests[300].RequestServices = CreateServices(); - Requests[300].Request.Method = "POST"; - Requests[300].Request.Path = "/contentmoderator/review/v1.0/teams/8c966d1f/jobs"; - Requests[301] = new DefaultHttpContext(); - Requests[301].RequestServices = CreateServices(); - Requests[301].Request.Method = "POST"; - Requests[301].Request.Path = "/contentmoderator/review/v1.0/teams/4c94ce93/reviews"; - Requests[302] = new DefaultHttpContext(); - Requests[302].RequestServices = CreateServices(); - Requests[302].Request.Method = "DELETE"; - Requests[302].Request.Path = "/contentmoderator/lists/v1.0/imagelists/cd4dc8/images/9460228"; - Requests[303] = new DefaultHttpContext(); - Requests[303].RequestServices = CreateServices(); - Requests[303].Request.Method = "DELETE"; - Requests[303].Request.Path = "/contentmoderator/lists/v1.0/termlists/ba5988/terms/4d510"; - Requests[304] = new DefaultHttpContext(); - Requests[304].RequestServices = CreateServices(); - Requests[304].Request.Method = "GET"; - Requests[304].Request.Path = "/contentmoderator/review/v1.0/teams/c49a45c8/jobs/b54cf"; - Requests[305] = new DefaultHttpContext(); - Requests[305].RequestServices = CreateServices(); - Requests[305].Request.Method = "GET"; - Requests[305].Request.Path = "/contentmoderator/review/v1.0/teams/8e3916fa/reviews/1bc53a13"; - Requests[306] = new DefaultHttpContext(); - Requests[306].RequestServices = CreateServices(); - Requests[306].Request.Method = "GET"; - Requests[306].Request.Path = "/contentmoderator/review/v1.0/teams/7aacdabd/reviews/dd17a58f/frames"; - Requests[307] = new DefaultHttpContext(); - Requests[307].RequestServices = CreateServices(); - Requests[307].Request.Method = "POST"; - Requests[307].Request.Path = "/contentmoderator/review/v1.0/teams/27f1b614/reviews/b2bc7494/publish"; - Requests[308] = new DefaultHttpContext(); - Requests[308].RequestServices = CreateServices(); - Requests[308].Request.Method = "PUT"; - Requests[308].Request.Path = "/contentmoderator/review/v1.0/teams/2de63c82/reviews/090a8a7e/transcript"; - Requests[309] = new DefaultHttpContext(); - Requests[309].RequestServices = CreateServices(); - Requests[309].Request.Method = "PUT"; - Requests[309].Request.Path = "/contentmoderator/review/v1.0/teams/06a9ee5d/reviews/af5fa279/transcriptmoderationresult"; - Requests[310] = new DefaultHttpContext(); - Requests[310].RequestServices = CreateServices(); - Requests[310].Request.Method = "GET"; - Requests[310].Request.Path = "/catalog/usql/databases/067402ce-404"; - Requests[311] = new DefaultHttpContext(); - Requests[311].RequestServices = CreateServices(); - Requests[311].Request.Method = "PATCH"; - Requests[311].Request.Path = "/providers/Microsoft.ADHybridHealthService/addsservices/e4053092-b5"; - Requests[312] = new DefaultHttpContext(); - Requests[312].RequestServices = CreateServices(); - Requests[312].Request.Method = "PATCH"; - Requests[312].Request.Path = "/providers/Microsoft.ADHybridHealthService/services/537db418-5a"; - Requests[313] = new DefaultHttpContext(); - Requests[313].RequestServices = CreateServices(); - Requests[313].Request.Method = "GET"; - Requests[313].Request.Path = "/providers/Microsoft.Authorization/policyDefinitions/ae041de3-8d8a-40ea-a"; - Requests[314] = new DefaultHttpContext(); - Requests[314].RequestServices = CreateServices(); - Requests[314].Request.Method = "GET"; - Requests[314].Request.Path = "/providers/Microsoft.Authorization/policySetDefinitions/d9da8a62-8975-4aed-b898"; - Requests[315] = new DefaultHttpContext(); - Requests[315].RequestServices = CreateServices(); - Requests[315].Request.Method = "GET"; - Requests[315].Request.Path = "/providers/Microsoft.Authorization/providerOperations/7502f3dc-3911-4388-a106-7"; - Requests[316] = new DefaultHttpContext(); - Requests[316].RequestServices = CreateServices(); - Requests[316].Request.Method = "GET"; - Requests[316].Request.Path = "/providers/Microsoft.Billing/enrollmentAccounts/d60f6"; - Requests[317] = new DefaultHttpContext(); - Requests[317].RequestServices = CreateServices(); - Requests[317].Request.Method = "GET"; - Requests[317].Request.Path = "/providers/Microsoft.Capacity/reservationOrders/a46ebea3-838b-4454"; - Requests[318] = new DefaultHttpContext(); - Requests[318].RequestServices = CreateServices(); - Requests[318].Request.Method = "HEAD"; - Requests[318].Request.Path = "/providers/Microsoft.DocumentDB/databaseAccountNames/ef9dd149-d3"; - Requests[319] = new DefaultHttpContext(); - Requests[319].RequestServices = CreateServices(); - Requests[319].Request.Method = "GET"; - Requests[319].Request.Path = "/providers/Microsoft.EventGrid/topicTypes/7840b780-3d8d"; - Requests[320] = new DefaultHttpContext(); - Requests[320].RequestServices = CreateServices(); - Requests[320].Request.Method = "GET"; - Requests[320].Request.Path = "/providers/Microsoft.ImportExport/locations/9dbdc85e-b95"; - Requests[321] = new DefaultHttpContext(); - Requests[321].RequestServices = CreateServices(); - Requests[321].Request.Method = "DELETE"; - Requests[321].Request.Path = "/providers/Microsoft.Management/managementGroups/8e9fcd5"; - Requests[322] = new DefaultHttpContext(); - Requests[322].RequestServices = CreateServices(); - Requests[322].Request.Method = "DELETE"; - Requests[322].Request.Path = "/providers/Microsoft.ManagementPartner/partners/a599e232-"; - Requests[323] = new DefaultHttpContext(); - Requests[323].RequestServices = CreateServices(); - Requests[323].Request.Method = "GET"; - Requests[323].Request.Path = "/providers/Microsoft.Subscription/subscriptionDefinitions/ede25e54-8877-4900-83fd-5c"; - Requests[324] = new DefaultHttpContext(); - Requests[324].RequestServices = CreateServices(); - Requests[324].Request.Method = "GET"; - Requests[324].Request.Path = "/providers/Microsoft.Subscription/subscriptionOperations/78184818-21"; - Requests[325] = new DefaultHttpContext(); - Requests[325].RequestServices = CreateServices(); - Requests[325].Request.Method = "PUT"; - Requests[325].Request.Path = "/providers/Microsoft.Web/sourcecontrols/36de2cb7-1d03-441"; - Requests[326] = new DefaultHttpContext(); - Requests[326].RequestServices = CreateServices(); - Requests[326].Request.Method = "GET"; - Requests[326].Request.Path = "/catalog/usql/databases/fab751f5-5b3/acl"; - Requests[327] = new DefaultHttpContext(); - Requests[327].RequestServices = CreateServices(); - Requests[327].Request.Method = "GET"; - Requests[327].Request.Path = "/catalog/usql/databases/8e64a79c-8e7/assemblies"; - Requests[328] = new DefaultHttpContext(); - Requests[328].RequestServices = CreateServices(); - Requests[328].Request.Method = "GET"; - Requests[328].Request.Path = "/catalog/usql/databases/ed3857d2-c04/credentials"; - Requests[329] = new DefaultHttpContext(); - Requests[329].RequestServices = CreateServices(); - Requests[329].Request.Method = "GET"; - Requests[329].Request.Path = "/catalog/usql/databases/d5d129b9-5be/externaldatasources"; - Requests[330] = new DefaultHttpContext(); - Requests[330].RequestServices = CreateServices(); - Requests[330].Request.Method = "GET"; - Requests[330].Request.Path = "/catalog/usql/databases/7ea64a28-39e/schemas"; - Requests[331] = new DefaultHttpContext(); - Requests[331].RequestServices = CreateServices(); - Requests[331].Request.Method = "DELETE"; - Requests[331].Request.Path = "/catalog/usql/databases/57ad1786-0bc/secrets"; - Requests[332] = new DefaultHttpContext(); - Requests[332].RequestServices = CreateServices(); - Requests[332].Request.Method = "GET"; - Requests[332].Request.Path = "/catalog/usql/databases/5b336b33-37a/statistics"; - Requests[333] = new DefaultHttpContext(); - Requests[333].RequestServices = CreateServices(); - Requests[333].Request.Method = "GET"; - Requests[333].Request.Path = "/catalog/usql/databases/f4bf868b-455/tables"; - Requests[334] = new DefaultHttpContext(); - Requests[334].RequestServices = CreateServices(); - Requests[334].Request.Method = "GET"; - Requests[334].Request.Path = "/catalog/usql/databases/cfebe9a3-c8a/tablevaluedfunctions"; - Requests[335] = new DefaultHttpContext(); - Requests[335].RequestServices = CreateServices(); - Requests[335].Request.Method = "GET"; - Requests[335].Request.Path = "/catalog/usql/databases/636a3238-370/views"; - Requests[336] = new DefaultHttpContext(); - Requests[336].RequestServices = CreateServices(); - Requests[336].Request.Method = "GET"; - Requests[336].Request.Path = "/providers/Microsoft.ADHybridHealthService/addsservices/8663b0d5-15/addomainservicemembers"; - Requests[337] = new DefaultHttpContext(); - Requests[337].RequestServices = CreateServices(); - Requests[337].Request.Method = "GET"; - Requests[337].Request.Path = "/providers/Microsoft.ADHybridHealthService/addsservices/9af34e2b-6d/addsservicemembers"; - Requests[338] = new DefaultHttpContext(); - Requests[338].RequestServices = CreateServices(); - Requests[338].Request.Method = "GET"; - Requests[338].Request.Path = "/providers/Microsoft.ADHybridHealthService/addsservices/d1af149f-71/alerts"; - Requests[339] = new DefaultHttpContext(); - Requests[339].RequestServices = CreateServices(); - Requests[339].Request.Method = "GET"; - Requests[339].Request.Path = "/providers/Microsoft.ADHybridHealthService/addsservices/904ef7ca-90/configuration"; - Requests[340] = new DefaultHttpContext(); - Requests[340].RequestServices = CreateServices(); - Requests[340].Request.Method = "GET"; - Requests[340].Request.Path = "/providers/Microsoft.ADHybridHealthService/addsservices/0539b471-9d/forestsummary"; - Requests[341] = new DefaultHttpContext(); - Requests[341].RequestServices = CreateServices(); - Requests[341].Request.Method = "GET"; - Requests[341].Request.Path = "/providers/Microsoft.ADHybridHealthService/addsservices/94d78827-11/metricmetadata"; - Requests[342] = new DefaultHttpContext(); - Requests[342].RequestServices = CreateServices(); - Requests[342].Request.Method = "GET"; - Requests[342].Request.Path = "/providers/Microsoft.ADHybridHealthService/addsservices/b332b07d-2b/replicationstatus"; - Requests[343] = new DefaultHttpContext(); - Requests[343].RequestServices = CreateServices(); - Requests[343].Request.Method = "GET"; - Requests[343].Request.Path = "/providers/Microsoft.ADHybridHealthService/addsservices/4e828015-2e/replicationsummary"; - Requests[344] = new DefaultHttpContext(); - Requests[344].RequestServices = CreateServices(); - Requests[344].Request.Method = "GET"; - Requests[344].Request.Path = "/providers/Microsoft.ADHybridHealthService/services/c1e0b57c-ba/alerts"; - Requests[345] = new DefaultHttpContext(); - Requests[345].RequestServices = CreateServices(); - Requests[345].Request.Method = "GET"; - Requests[345].Request.Path = "/providers/Microsoft.ADHybridHealthService/services/107acd29-a5/exportstatus"; - Requests[346] = new DefaultHttpContext(); - Requests[346].RequestServices = CreateServices(); - Requests[346].Request.Method = "GET"; - Requests[346].Request.Path = "/providers/Microsoft.ADHybridHealthService/services/df8a5a4c-d5/metricmetadata"; - Requests[347] = new DefaultHttpContext(); - Requests[347].RequestServices = CreateServices(); - Requests[347].Request.Method = "PATCH"; - Requests[347].Request.Path = "/providers/Microsoft.ADHybridHealthService/services/164a138b-7f/monitoringconfiguration"; - Requests[348] = new DefaultHttpContext(); - Requests[348].RequestServices = CreateServices(); - Requests[348].Request.Method = "GET"; - Requests[348].Request.Path = "/providers/Microsoft.ADHybridHealthService/services/68d5b01a-5f/monitoringconfigurations"; - Requests[349] = new DefaultHttpContext(); - Requests[349].RequestServices = CreateServices(); - Requests[349].Request.Method = "POST"; - Requests[349].Request.Path = "/providers/Microsoft.ADHybridHealthService/services/db455f04-72/servicemembers"; - Requests[350] = new DefaultHttpContext(); - Requests[350].RequestServices = CreateServices(); - Requests[350].Request.Method = "POST"; - Requests[350].Request.Path = "/providers/Microsoft.Capacity/reservationOrders/fb225ad6-6d05-430a/merge"; - Requests[351] = new DefaultHttpContext(); - Requests[351].RequestServices = CreateServices(); - Requests[351].Request.Method = "GET"; - Requests[351].Request.Path = "/providers/Microsoft.Capacity/reservationOrders/2b9094e5-138d-4158/reservations"; - Requests[352] = new DefaultHttpContext(); - Requests[352].RequestServices = CreateServices(); - Requests[352].Request.Method = "POST"; - Requests[352].Request.Path = "/providers/Microsoft.Capacity/reservationOrders/c1c30656-bea9-42f2/split"; - Requests[353] = new DefaultHttpContext(); - Requests[353].RequestServices = CreateServices(); - Requests[353].Request.Method = "GET"; - Requests[353].Request.Path = "/providers/Microsoft.EventGrid/topicTypes/3769d8fb-cd23/eventTypes"; - Requests[354] = new DefaultHttpContext(); - Requests[354].RequestServices = CreateServices(); - Requests[354].Request.Method = "GET"; - Requests[354].Request.Path = "/providers/Microsoft.Intune/locations/33dee284/androidPolicies"; - Requests[355] = new DefaultHttpContext(); - Requests[355].RequestServices = CreateServices(); - Requests[355].Request.Method = "GET"; - Requests[355].Request.Path = "/providers/Microsoft.Intune/locations/94731d94/apps"; - Requests[356] = new DefaultHttpContext(); - Requests[356].RequestServices = CreateServices(); - Requests[356].Request.Method = "GET"; - Requests[356].Request.Path = "/providers/Microsoft.Intune/locations/2c99d7cb/flaggedUsers"; - Requests[357] = new DefaultHttpContext(); - Requests[357].RequestServices = CreateServices(); - Requests[357].Request.Method = "GET"; - Requests[357].Request.Path = "/providers/Microsoft.Intune/locations/437ca3b8/iosPolicies"; - Requests[358] = new DefaultHttpContext(); - Requests[358].RequestServices = CreateServices(); - Requests[358].Request.Method = "GET"; - Requests[358].Request.Path = "/providers/Microsoft.Intune/locations/ff66f6db/operationResults"; - Requests[359] = new DefaultHttpContext(); - Requests[359].RequestServices = CreateServices(); - Requests[359].Request.Method = "GET"; - Requests[359].Request.Path = "/providers/Microsoft.ADHybridHealthService/services/7db9fe83-10/exporterrors/counts"; - Requests[360] = new DefaultHttpContext(); - Requests[360].RequestServices = CreateServices(); - Requests[360].Request.Method = "GET"; - Requests[360].Request.Path = "/providers/Microsoft.ADHybridHealthService/services/73301abe-83/exporterrors/listV2"; - Requests[361] = new DefaultHttpContext(); - Requests[361].RequestServices = CreateServices(); - Requests[361].Request.Method = "GET"; - Requests[361].Request.Path = "/providers/Microsoft.Intune/locations/9c672c51/statuses/default"; - Requests[362] = new DefaultHttpContext(); - Requests[362].RequestServices = CreateServices(); - Requests[362].Request.Method = "POST"; - Requests[362].Request.Path = "/providers/Microsoft.ADHybridHealthService/services/9b40a590-ce/feedbacktype/alerts/feedback"; - Requests[363] = new DefaultHttpContext(); - Requests[363].RequestServices = CreateServices(); - Requests[363].Request.Method = "GET"; - Requests[363].Request.Path = "/providers/Microsoft.Billing/billingAccounts/47f15d08-814b-42/providers/Microsoft.Consumption/balances"; - Requests[364] = new DefaultHttpContext(); - Requests[364].RequestServices = CreateServices(); - Requests[364].Request.Method = "PUT"; - Requests[364].Request.Path = "/providers/Microsoft.Billing/billingAccounts/0c4ab794-5f1f-4e/providers/Microsoft.Consumption/costTags"; - Requests[365] = new DefaultHttpContext(); - Requests[365].RequestServices = CreateServices(); - Requests[365].Request.Method = "GET"; - Requests[365].Request.Path = "/providers/Microsoft.Billing/billingAccounts/b0160589-0035-48/providers/Microsoft.Consumption/marketplaces"; - Requests[366] = new DefaultHttpContext(); - Requests[366].RequestServices = CreateServices(); - Requests[366].Request.Method = "GET"; - Requests[366].Request.Path = "/providers/Microsoft.Billing/billingAccounts/9f163d97-8044-4d/providers/Microsoft.Consumption/usageDetails"; - Requests[367] = new DefaultHttpContext(); - Requests[367].RequestServices = CreateServices(); - Requests[367].Request.Method = "GET"; - Requests[367].Request.Path = "/providers/Microsoft.Billing/departments/e6d0c6b1-7f2/providers/Microsoft.Consumption/marketplaces"; - Requests[368] = new DefaultHttpContext(); - Requests[368].RequestServices = CreateServices(); - Requests[368].Request.Method = "GET"; - Requests[368].Request.Path = "/providers/Microsoft.Billing/departments/65e44e7b-827/providers/Microsoft.Consumption/usageDetails"; - Requests[369] = new DefaultHttpContext(); - Requests[369].RequestServices = CreateServices(); - Requests[369].Request.Method = "GET"; - Requests[369].Request.Path = "/providers/Microsoft.Billing/enrollmentAccounts/15e3d840-6d8e-40a7-/providers/Microsoft.Consumption/marketplaces"; - Requests[370] = new DefaultHttpContext(); - Requests[370].RequestServices = CreateServices(); - Requests[370].Request.Method = "GET"; - Requests[370].Request.Path = "/providers/Microsoft.Billing/enrollmentAccounts/2727fb41-6b23-487e-/providers/Microsoft.Consumption/usageDetails"; - Requests[371] = new DefaultHttpContext(); - Requests[371].RequestServices = CreateServices(); - Requests[371].Request.Method = "POST"; - Requests[371].Request.Path = "/providers/Microsoft.Billing/enrollmentAccounts/5ae2bbd7-b759-4ef3-a9/providers/Microsoft.Subscription/createSubscription"; - Requests[372] = new DefaultHttpContext(); - Requests[372].RequestServices = CreateServices(); - Requests[372].Request.Method = "GET"; - Requests[372].Request.Path = "/providers/Microsoft.Capacity/reservationorders/b05f9e65-fd32-4756/providers/Microsoft.Consumption/reservationDetails"; - Requests[373] = new DefaultHttpContext(); - Requests[373].RequestServices = CreateServices(); - Requests[373].Request.Method = "GET"; - Requests[373].Request.Path = "/providers/Microsoft.Capacity/reservationorders/6a82a288-133d-41a2/providers/Microsoft.Consumption/reservationSummaries"; - Requests[374] = new DefaultHttpContext(); - Requests[374].RequestServices = CreateServices(); - Requests[374].Request.Method = "GET"; - Requests[374].Request.Path = "/providers/Microsoft.CostManagement/billingAccounts/10e3ee6c-d564-42/providers/Microsoft.Consumption/tags"; - Requests[375] = new DefaultHttpContext(); - Requests[375].RequestServices = CreateServices(); - Requests[375].Request.Method = "GET"; - Requests[375].Request.Path = "/providers/Microsoft.Management/managementgroups/1d35558d-f208-4b6/providers/Microsoft.Authorization/policyDefinitions"; - Requests[376] = new DefaultHttpContext(); - Requests[376].RequestServices = CreateServices(); - Requests[376].Request.Method = "GET"; - Requests[376].Request.Path = "/providers/Microsoft.Management/managementgroups/04e647bb-bec1-4f5/providers/Microsoft.Authorization/policySetDefinitions"; - Requests[377] = new DefaultHttpContext(); - Requests[377].RequestServices = CreateServices(); - Requests[377].Request.Method = "GET"; - Requests[377].Request.Path = "/providers/Microsoft.ADHybridHealthService/services/babc1908-48/reports/badpassword/details/user"; - Requests[378] = new DefaultHttpContext(); - Requests[378].RequestServices = CreateServices(); - Requests[378].Request.Method = "GET"; - Requests[378].Request.Path = "/providers/Microsoft.Management/managementgroups/5ef7f363-d532-45d/providers/Microsoft.Authorization/policyDefinitions/afba486a-a94a-4c14-9"; - Requests[379] = new DefaultHttpContext(); - Requests[379].RequestServices = CreateServices(); - Requests[379].Request.Method = "GET"; - Requests[379].Request.Path = "/providers/Microsoft.Management/managementgroups/5805140c-1e0a-4e5/providers/Microsoft.Authorization/policySetDefinitions/026f2beb-05ce-4761-b0b3"; - Requests[380] = new DefaultHttpContext(); - Requests[380].RequestServices = CreateServices(); - Requests[380].Request.Method = "GET"; - Requests[380].Request.Path = "/providers/Microsoft.Billing/billingAccounts/0aa79401-7f95-40/providers/Microsoft.Billing/billingPeriods/acae24b4-fa87-4c4/providers/Microsoft.Consumption/balances"; - Requests[381] = new DefaultHttpContext(); - Requests[381].RequestServices = CreateServices(); - Requests[381].Request.Method = "GET"; - Requests[381].Request.Path = "/providers/Microsoft.Billing/billingAccounts/2ce6b1ce-6fa5-44/providers/Microsoft.Billing/billingPeriods/af14f6c4-cdae-40d/providers/Microsoft.Consumption/marketplaces"; - Requests[382] = new DefaultHttpContext(); - Requests[382].RequestServices = CreateServices(); - Requests[382].Request.Method = "GET"; - Requests[382].Request.Path = "/providers/Microsoft.Billing/billingAccounts/c692be09-0656-4b/providers/Microsoft.Billing/billingPeriods/4dc3834a-85d8-40f/providers/Microsoft.Consumption/usageDetails"; - Requests[383] = new DefaultHttpContext(); - Requests[383].RequestServices = CreateServices(); - Requests[383].Request.Method = "GET"; - Requests[383].Request.Path = "/providers/Microsoft.Billing/departments/f15b4906-822/providers/Microsoft.Billing/billingPeriods/acf42839-77aa-478/providers/Microsoft.Consumption/marketplaces"; - Requests[384] = new DefaultHttpContext(); - Requests[384].RequestServices = CreateServices(); - Requests[384].Request.Method = "GET"; - Requests[384].Request.Path = "/providers/Microsoft.Billing/departments/6e06e21c-ee8/providers/Microsoft.Billing/billingPeriods/22471482-c58a-418/providers/Microsoft.Consumption/usageDetails"; - Requests[385] = new DefaultHttpContext(); - Requests[385].RequestServices = CreateServices(); - Requests[385].Request.Method = "GET"; - Requests[385].Request.Path = "/providers/Microsoft.Billing/enrollmentAccounts/3707e463-6482-4c55-/providers/Microsoft.Billing/billingPeriods/33b22cc2-67a1-49b/providers/Microsoft.Consumption/marketplaces"; - Requests[386] = new DefaultHttpContext(); - Requests[386].RequestServices = CreateServices(); - Requests[386].Request.Method = "GET"; - Requests[386].Request.Path = "/providers/Microsoft.Billing/enrollmentAccounts/4daaebb7-b44e-40a6-/providers/Microsoft.Billing/billingPeriods/5e7b6785-0408-430/providers/Microsoft.Consumption/usageDetails"; - Requests[387] = new DefaultHttpContext(); - Requests[387].RequestServices = CreateServices(); - Requests[387].Request.Method = "GET"; - Requests[387].Request.Path = "/providers/Microsoft.ADHybridHealthService/services/bdd7be34-e9/feedbacktype/alerts/55282d96-/alertfeedback"; - Requests[388] = new DefaultHttpContext(); - Requests[388].RequestServices = CreateServices(); - Requests[388].Request.Method = "GET"; - Requests[388].Request.Path = "/catalog/usql/databases/1ee3f0db-8e2/assemblies/7298b770-468"; - Requests[389] = new DefaultHttpContext(); - Requests[389].RequestServices = CreateServices(); - Requests[389].Request.Method = "POST"; - Requests[389].Request.Path = "/catalog/usql/databases/9ef0996f-dba/credentials/47be49fe-49f7-"; - Requests[390] = new DefaultHttpContext(); - Requests[390].RequestServices = CreateServices(); - Requests[390].Request.Method = "GET"; - Requests[390].Request.Path = "/catalog/usql/databases/c0a08d2e-934/externaldatasources/0a42a41a-a8f6-4ad0-b12"; - Requests[391] = new DefaultHttpContext(); - Requests[391].RequestServices = CreateServices(); - Requests[391].Request.Method = "GET"; - Requests[391].Request.Path = "/catalog/usql/databases/191a0d1b-cd7/schemas/6b9bee9e-1"; - Requests[392] = new DefaultHttpContext(); - Requests[392].RequestServices = CreateServices(); - Requests[392].Request.Method = "DELETE"; - Requests[392].Request.Path = "/catalog/usql/databases/cdbc440a-ca2/secrets/374b0aa7-4"; - Requests[393] = new DefaultHttpContext(); - Requests[393].RequestServices = CreateServices(); - Requests[393].Request.Method = "GET"; - Requests[393].Request.Path = "/providers/Microsoft.ADHybridHealthService/addsservices/3fba0274-c2/dimensions/8728a096-"; - Requests[394] = new DefaultHttpContext(); - Requests[394].RequestServices = CreateServices(); - Requests[394].Request.Method = "GET"; - Requests[394].Request.Path = "/providers/Microsoft.ADHybridHealthService/addsservices/6eebc390-75/metricmetadata/daff08fd-9"; - Requests[395] = new DefaultHttpContext(); - Requests[395].RequestServices = CreateServices(); - Requests[395].Request.Method = "GET"; - Requests[395].Request.Path = "/providers/Microsoft.ADHybridHealthService/services/5fb7eaf9-de/checkServiceFeatureAvailibility/62fba665-a1"; - Requests[396] = new DefaultHttpContext(); - Requests[396].RequestServices = CreateServices(); - Requests[396].Request.Method = "GET"; - Requests[396].Request.Path = "/providers/Microsoft.ADHybridHealthService/services/d21c9e41-b4/metricmetadata/82c9cbb8-d"; - Requests[397] = new DefaultHttpContext(); - Requests[397].RequestServices = CreateServices(); - Requests[397].Request.Method = "DELETE"; - Requests[397].Request.Path = "/providers/Microsoft.ADHybridHealthService/services/db3b1d6c-64/servicemembers/15e5fd84-71cc-4"; - Requests[398] = new DefaultHttpContext(); - Requests[398].RequestServices = CreateServices(); - Requests[398].Request.Method = "GET"; - Requests[398].Request.Path = "/providers/Microsoft.ADHybridHealthService/services/08f64e6d-7d/TenantWhitelisting/a395130d-9f"; - Requests[399] = new DefaultHttpContext(); - Requests[399].RequestServices = CreateServices(); - Requests[399].Request.Method = "PATCH"; - Requests[399].Request.Path = "/providers/Microsoft.Capacity/reservationOrders/50bf12fa-1c96-4ecf/reservations/26e1794d-165d"; - Requests[400] = new DefaultHttpContext(); - Requests[400].RequestServices = CreateServices(); - Requests[400].Request.Method = "DELETE"; - Requests[400].Request.Path = "/providers/Microsoft.Intune/locations/ce422055/androidPolicies/5da74243-2"; - Requests[401] = new DefaultHttpContext(); - Requests[401].RequestServices = CreateServices(); - Requests[401].Request.Method = "GET"; - Requests[401].Request.Path = "/providers/Microsoft.Intune/locations/ddcf871a/flaggedUsers/92436145"; - Requests[402] = new DefaultHttpContext(); - Requests[402].RequestServices = CreateServices(); - Requests[402].Request.Method = "DELETE"; - Requests[402].Request.Path = "/providers/Microsoft.Intune/locations/6bf6d937/iosPolicies/1096e807-1"; - Requests[403] = new DefaultHttpContext(); - Requests[403].RequestServices = CreateServices(); - Requests[403].Request.Method = "DELETE"; - Requests[403].Request.Path = "/providers/Microsoft.Management/managementGroups/926702c/subscriptions/a09ac2dc-3e05-"; - Requests[404] = new DefaultHttpContext(); - Requests[404].RequestServices = CreateServices(); - Requests[404].Request.Method = "GET"; - Requests[404].Request.Path = "/catalog/usql/databases/c6a1cb7d-554/schemas/3abe551b-b/packages"; - Requests[405] = new DefaultHttpContext(); - Requests[405].RequestServices = CreateServices(); - Requests[405].Request.Method = "GET"; - Requests[405].Request.Path = "/catalog/usql/databases/370e8972-15a/schemas/6a5d0b9d-0/procedures"; - Requests[406] = new DefaultHttpContext(); - Requests[406].RequestServices = CreateServices(); - Requests[406].Request.Method = "GET"; - Requests[406].Request.Path = "/catalog/usql/databases/20d42a0e-173/schemas/fbe4d1c6-b/statistics"; - Requests[407] = new DefaultHttpContext(); - Requests[407].RequestServices = CreateServices(); - Requests[407].Request.Method = "GET"; - Requests[407].Request.Path = "/catalog/usql/databases/3475cf00-2a2/schemas/c64792e1-2/tables"; - Requests[408] = new DefaultHttpContext(); - Requests[408].RequestServices = CreateServices(); - Requests[408].Request.Method = "GET"; - Requests[408].Request.Path = "/catalog/usql/databases/51f2167b-534/schemas/c3a76415-b/tabletypes"; - Requests[409] = new DefaultHttpContext(); - Requests[409].RequestServices = CreateServices(); - Requests[409].Request.Method = "GET"; - Requests[409].Request.Path = "/catalog/usql/databases/6ed6d657-ec1/schemas/21c217fb-1/tablevaluedfunctions"; - Requests[410] = new DefaultHttpContext(); - Requests[410].RequestServices = CreateServices(); - Requests[410].Request.Method = "GET"; - Requests[410].Request.Path = "/catalog/usql/databases/9698214e-ff6/schemas/fce2d2e9-8/types"; - Requests[411] = new DefaultHttpContext(); - Requests[411].RequestServices = CreateServices(); - Requests[411].Request.Method = "GET"; - Requests[411].Request.Path = "/catalog/usql/databases/4e8d1cde-bff/schemas/43cb0cd9-1/views"; - Requests[412] = new DefaultHttpContext(); - Requests[412].RequestServices = CreateServices(); - Requests[412].Request.Method = "GET"; - Requests[412].Request.Path = "/providers/Microsoft.ADHybridHealthService/addsservices/b7cc2683-ef/servicemembers/0f27120a-2c20-4/alerts"; - Requests[413] = new DefaultHttpContext(); - Requests[413].RequestServices = CreateServices(); - Requests[413].Request.Method = "GET"; - Requests[413].Request.Path = "/providers/Microsoft.ADHybridHealthService/service/e7cdb36e-1f/servicemembers/87d4ce05-c877-4/connectors"; - Requests[414] = new DefaultHttpContext(); - Requests[414].RequestServices = CreateServices(); - Requests[414].Request.Method = "GET"; - Requests[414].Request.Path = "/providers/Microsoft.ADHybridHealthService/services/5807cd3a-e1/servicemembers/53a134c2-cb20-4/alerts"; - Requests[415] = new DefaultHttpContext(); - Requests[415].RequestServices = CreateServices(); - Requests[415].Request.Method = "GET"; - Requests[415].Request.Path = "/providers/Microsoft.ADHybridHealthService/services/eac9259c-0f/servicemembers/4232c432-432d-4/credentials"; - Requests[416] = new DefaultHttpContext(); - Requests[416].RequestServices = CreateServices(); - Requests[416].Request.Method = "DELETE"; - Requests[416].Request.Path = "/providers/Microsoft.ADHybridHealthService/services/aed8d8d2-3e/servicemembers/1ce1bab0-e159-4/data"; - Requests[417] = new DefaultHttpContext(); - Requests[417].RequestServices = CreateServices(); - Requests[417].Request.Method = "GET"; - Requests[417].Request.Path = "/providers/Microsoft.ADHybridHealthService/services/9a7a1e08-78/servicemembers/e4c4ee12-676e-4/datafreshness"; - Requests[418] = new DefaultHttpContext(); - Requests[418].RequestServices = CreateServices(); - Requests[418].Request.Method = "GET"; - Requests[418].Request.Path = "/providers/Microsoft.ADHybridHealthService/services/7f1a8eb7-2c/servicemembers/e58d1b8a-67db-4/exportstatus"; - Requests[419] = new DefaultHttpContext(); - Requests[419].RequestServices = CreateServices(); - Requests[419].Request.Method = "GET"; - Requests[419].Request.Path = "/providers/Microsoft.ADHybridHealthService/services/1492e382-54/servicemembers/f334402d-44ca-4/globalconfiguration"; - Requests[420] = new DefaultHttpContext(); - Requests[420].RequestServices = CreateServices(); - Requests[420].Request.Method = "GET"; - Requests[420].Request.Path = "/providers/Microsoft.ADHybridHealthService/services/514bd75d-36/servicemembers/dfe5afb7-1c69-4/serviceconfiguration"; - Requests[421] = new DefaultHttpContext(); - Requests[421].RequestServices = CreateServices(); - Requests[421].Request.Method = "GET"; - Requests[421].Request.Path = "/providers/Microsoft.Capacity/reservationOrders/42dd424b-7eba-421c/reservations/781460b2-a4e9/revisions"; - Requests[422] = new DefaultHttpContext(); - Requests[422].RequestServices = CreateServices(); - Requests[422].Request.Method = "GET"; - Requests[422].Request.Path = "/providers/Microsoft.Intune/locations/82f1ce00/AndroidPolicies/4ff634bc-4/apps"; - Requests[423] = new DefaultHttpContext(); - Requests[423].RequestServices = CreateServices(); - Requests[423].Request.Method = "GET"; - Requests[423].Request.Path = "/providers/Microsoft.Intune/locations/7053c9a6/androidPolicies/73201c8c-c/groups"; - Requests[424] = new DefaultHttpContext(); - Requests[424].RequestServices = CreateServices(); - Requests[424].Request.Method = "GET"; - Requests[424].Request.Path = "/providers/Microsoft.Intune/locations/0ec07284/flaggedUsers/0ea259be/flaggedEnrolledApps"; - Requests[425] = new DefaultHttpContext(); - Requests[425].RequestServices = CreateServices(); - Requests[425].Request.Method = "GET"; - Requests[425].Request.Path = "/providers/Microsoft.Intune/locations/8c1b1923/iosPolicies/eb06c25a-c/apps"; - Requests[426] = new DefaultHttpContext(); - Requests[426].RequestServices = CreateServices(); - Requests[426].Request.Method = "GET"; - Requests[426].Request.Path = "/providers/Microsoft.Intune/locations/6b9d978e/iosPolicies/102cb2e0-d/groups"; - Requests[427] = new DefaultHttpContext(); - Requests[427].RequestServices = CreateServices(); - Requests[427].Request.Method = "GET"; - Requests[427].Request.Path = "/providers/Microsoft.Intune/locations/01fd39da/users/797ffb0d/devices"; - Requests[428] = new DefaultHttpContext(); - Requests[428].RequestServices = CreateServices(); - Requests[428].Request.Method = "GET"; - Requests[428].Request.Path = "/providers/Microsoft.Capacity/reservationorders/d4012ed3-8bec-4b26/reservations/7eb98072-218a/providers/Microsoft.Consumption/reservationDetails"; - Requests[429] = new DefaultHttpContext(); - Requests[429].RequestServices = CreateServices(); - Requests[429].Request.Method = "GET"; - Requests[429].Request.Path = "/providers/Microsoft.Capacity/reservationorders/6e66219f-224e-4e8a/reservations/8d6f8096-785c/providers/Microsoft.Consumption/reservationSummaries"; - Requests[430] = new DefaultHttpContext(); - Requests[430].RequestServices = CreateServices(); - Requests[430].Request.Method = "GET"; - Requests[430].Request.Path = "/catalog/usql/databases/08fd535e-274/schemas/a8b4fd14-a/packages/f572fd5c-9a"; - Requests[431] = new DefaultHttpContext(); - Requests[431].RequestServices = CreateServices(); - Requests[431].Request.Method = "GET"; - Requests[431].Request.Path = "/catalog/usql/databases/f52f7a23-44a/schemas/3fe84abb-e/procedures/e20a0932-7780"; - Requests[432] = new DefaultHttpContext(); - Requests[432].RequestServices = CreateServices(); - Requests[432].Request.Method = "GET"; - Requests[432].Request.Path = "/catalog/usql/databases/a8871e72-05a/schemas/42dab0de-c/tables/19165984-"; - Requests[433] = new DefaultHttpContext(); - Requests[433].RequestServices = CreateServices(); - Requests[433].Request.Method = "GET"; - Requests[433].Request.Path = "/catalog/usql/databases/691e92f7-a74/schemas/f8b9434d-5/tabletypes/b0cb44a2-65ef"; - Requests[434] = new DefaultHttpContext(); - Requests[434].RequestServices = CreateServices(); - Requests[434].Request.Method = "GET"; - Requests[434].Request.Path = "/catalog/usql/databases/d646e95e-b13/schemas/b919ee62-a/tablevaluedfunctions/035d1efd-967b-4c70-8a03"; - Requests[435] = new DefaultHttpContext(); - Requests[435].RequestServices = CreateServices(); - Requests[435].Request.Method = "GET"; - Requests[435].Request.Path = "/catalog/usql/databases/6a325af8-5bc/schemas/7a1a756a-c/views/6a1d0fd7"; - Requests[436] = new DefaultHttpContext(); - Requests[436].RequestServices = CreateServices(); - Requests[436].Request.Method = "GET"; - Requests[436].Request.Path = "/providers/Microsoft.ADHybridHealthService/addsservices/f45e74a3-5d/metricmetadata/717e951a-d/groups/4bc43b1f-"; - Requests[437] = new DefaultHttpContext(); - Requests[437].RequestServices = CreateServices(); - Requests[437].Request.Method = "GET"; - Requests[437].Request.Path = "/providers/Microsoft.ADHybridHealthService/services/6bb2374e-92/metricmetadata/0fe3a01f-0/groups/c1b64632-"; - Requests[438] = new DefaultHttpContext(); - Requests[438].RequestServices = CreateServices(); - Requests[438].Request.Method = "DELETE"; - Requests[438].Request.Path = "/providers/Microsoft.Intune/locations/71625769/androidPolicies/e4ffba4c-4/apps/4293883"; - Requests[439] = new DefaultHttpContext(); - Requests[439].RequestServices = CreateServices(); - Requests[439].Request.Method = "DELETE"; - Requests[439].Request.Path = "/providers/Microsoft.Intune/locations/9273bbe3/androidPolicies/3f892ebc-6/groups/d052597"; - Requests[440] = new DefaultHttpContext(); - Requests[440].RequestServices = CreateServices(); - Requests[440].Request.Method = "DELETE"; - Requests[440].Request.Path = "/providers/Microsoft.Intune/locations/b708beeb/iosPolicies/7e608bc0-c/apps/3c90f48"; - Requests[441] = new DefaultHttpContext(); - Requests[441].RequestServices = CreateServices(); - Requests[441].Request.Method = "DELETE"; - Requests[441].Request.Path = "/providers/Microsoft.Intune/locations/c4f0a13e/iosPolicies/9b9ce7c5-e/groups/5b2aa0d"; - Requests[442] = new DefaultHttpContext(); - Requests[442].RequestServices = CreateServices(); - Requests[442].Request.Method = "GET"; - Requests[442].Request.Path = "/providers/Microsoft.Intune/locations/daf6c43f/users/bc881d61/devices/61cbaddf-8"; - Requests[443] = new DefaultHttpContext(); - Requests[443].RequestServices = CreateServices(); - Requests[443].Request.Method = "GET"; - Requests[443].Request.Path = "/catalog/usql/databases/b048fa5e-d96/schemas/fd93d313-c/tables/ff69afce-/partitions"; - Requests[444] = new DefaultHttpContext(); - Requests[444].RequestServices = CreateServices(); - Requests[444].Request.Method = "GET"; - Requests[444].Request.Path = "/catalog/usql/databases/1a9de872-8f0/schemas/180fa8eb-c/tables/3e390733-/previewrows"; - Requests[445] = new DefaultHttpContext(); - Requests[445].RequestServices = CreateServices(); - Requests[445].Request.Method = "GET"; - Requests[445].Request.Path = "/catalog/usql/databases/f2a8d23d-e4d/schemas/e558836d-c/tables/18f4336a-/statistics"; - Requests[446] = new DefaultHttpContext(); - Requests[446].RequestServices = CreateServices(); - Requests[446].Request.Method = "GET"; - Requests[446].Request.Path = "/catalog/usql/databases/9cbadefd-0bf/schemas/6b801a9a-4/tables/8f92cdd2-/tablefragments"; - Requests[447] = new DefaultHttpContext(); - Requests[447].RequestServices = CreateServices(); - Requests[447].Request.Method = "GET"; - Requests[447].Request.Path = "/providers/Microsoft.ADHybridHealthService/addsservices/80c12b07-89/metrics/4c15cadd-e/groups/068b811b-/average"; - Requests[448] = new DefaultHttpContext(); - Requests[448].RequestServices = CreateServices(); - Requests[448].Request.Method = "GET"; - Requests[448].Request.Path = "/providers/Microsoft.ADHybridHealthService/addsservices/dfe89e05-a5/metrics/1c13b631-d/groups/172a0eb3-/sum"; - Requests[449] = new DefaultHttpContext(); - Requests[449].RequestServices = CreateServices(); - Requests[449].Request.Method = "GET"; - Requests[449].Request.Path = "/providers/Microsoft.ADHybridHealthService/services/5784171a-e9/metrics/eccba1df-e/groups/b779e3bf-/average"; - Requests[450] = new DefaultHttpContext(); - Requests[450].RequestServices = CreateServices(); - Requests[450].Request.Method = "GET"; - Requests[450].Request.Path = "/providers/Microsoft.ADHybridHealthService/services/7c23333f-71/metrics/5ed2854e-a/groups/fa072227-/sum"; - Requests[451] = new DefaultHttpContext(); - Requests[451].RequestServices = CreateServices(); - Requests[451].Request.Method = "POST"; - Requests[451].Request.Path = "/providers/Microsoft.Intune/locations/5417e3f9/users/365be18f/devices/7a20f36c-c/wipe"; - Requests[452] = new DefaultHttpContext(); - Requests[452].RequestServices = CreateServices(); - Requests[452].Request.Method = "GET"; - Requests[452].Request.Path = "/catalog/usql/databases/1d170225-673/schemas/77b9c96f-7/tables/474bc498-/partitions/a69c2709-2b55"; - Requests[453] = new DefaultHttpContext(); - Requests[453].RequestServices = CreateServices(); - Requests[453].Request.Method = "GET"; - Requests[453].Request.Path = "/catalog/usql/databases/63692112-ac4/schemas/dac31bb4-a/tables/7c6fa990-/statistics/dd6790d4-9b0a-"; - Requests[454] = new DefaultHttpContext(); - Requests[454].RequestServices = CreateServices(); - Requests[454].Request.Method = "GET"; - Requests[454].Request.Path = "/providers/Microsoft.ADHybridHealthService/services/b01770b6-d4/servicemembers/be95dfa1-8707-4/metrics/65c8b990-4/groups/50836f65-"; - Requests[455] = new DefaultHttpContext(); - Requests[455].RequestServices = CreateServices(); - Requests[455].Request.Method = "GET"; - Requests[455].Request.Path = "/catalog/usql/databases/e518c33f-734/schemas/783e19fe-6/tables/e94b5332-/partitions/c24c5eca-be27/previewrows"; - Requests[456] = new DefaultHttpContext(); - Requests[456].RequestServices = CreateServices(); - Requests[456].Request.Method = "GET"; - Requests[456].Request.Path = "/apps/customprebuiltdomains/4e926de"; - Requests[457] = new DefaultHttpContext(); - Requests[457].RequestServices = CreateServices(); - Requests[457].Request.Method = "GET"; - Requests[457].Request.Path = "/BackupRestore/BackupPolicies/d60f5cf6-6fb3-45"; - Requests[458] = new DefaultHttpContext(); - Requests[458].RequestServices = CreateServices(); - Requests[458].Request.Method = "DELETE"; - Requests[458].Request.Path = "/certificates/issuers/bfc8c19c-1a"; - Requests[459] = new DefaultHttpContext(); - Requests[459].RequestServices = CreateServices(); - Requests[459].Request.Method = "GET"; - Requests[459].Request.Path = "/webhdfs/v1/11dc9"; - Requests[460] = new DefaultHttpContext(); - Requests[460].RequestServices = CreateServices(); - Requests[460].Request.Method = "GET"; - Requests[460].Request.Path = "/webhdfs/va/210ab758-6446-48be-8dc2-e"; - Requests[461] = new DefaultHttpContext(); - Requests[461].RequestServices = CreateServices(); - Requests[461].Request.Method = "POST"; - Requests[461].Request.Path = "/BackupRestore/BackupPolicies/47e8aff2-4a5b-4c/$/Delete"; - Requests[462] = new DefaultHttpContext(); - Requests[462].RequestServices = CreateServices(); - Requests[462].Request.Method = "GET"; - Requests[462].Request.Path = "/BackupRestore/BackupPolicies/61e589e5-a57a-45/$/GetBackupEnabledEntities"; - Requests[463] = new DefaultHttpContext(); - Requests[463].RequestServices = CreateServices(); - Requests[463].Request.Method = "POST"; - Requests[463].Request.Path = "/BackupRestore/BackupPolicies/d4ce00a5-59ad-4d/$/Update"; - Requests[464] = new DefaultHttpContext(); - Requests[464].RequestServices = CreateServices(); - Requests[464].Request.Method = "GET"; - Requests[464].Request.Path = "/EventsStore/Applications/a6df2a1a-e4a4/$/Events"; - Requests[465] = new DefaultHttpContext(); - Requests[465].RequestServices = CreateServices(); - Requests[465].Request.Method = "GET"; - Requests[465].Request.Path = "/EventsStore/CorrelatedEvents/0b6ea255-130d-4/$/Events"; - Requests[466] = new DefaultHttpContext(); - Requests[466].RequestServices = CreateServices(); - Requests[466].Request.Method = "GET"; - Requests[466].Request.Path = "/EventsStore/Nodes/cf6b34dd/$/Events"; - Requests[467] = new DefaultHttpContext(); - Requests[467].RequestServices = CreateServices(); - Requests[467].Request.Method = "GET"; - Requests[467].Request.Path = "/EventsStore/Partitions/15418af7-ad/$/Events"; - Requests[468] = new DefaultHttpContext(); - Requests[468].RequestServices = CreateServices(); - Requests[468].Request.Method = "GET"; - Requests[468].Request.Path = "/EventsStore/Services/6067c5ec-/$/Events"; - Requests[469] = new DefaultHttpContext(); - Requests[469].RequestServices = CreateServices(); - Requests[469].Request.Method = "GET"; - Requests[469].Request.Path = "/Faults/Nodes/7cc8bc57/$/GetTransitionProgress"; - Requests[470] = new DefaultHttpContext(); - Requests[470].RequestServices = CreateServices(); - Requests[470].Request.Method = "POST"; - Requests[470].Request.Path = "/Faults/Nodes/83694d49/$/StartTransition"; - Requests[471] = new DefaultHttpContext(); - Requests[471].RequestServices = CreateServices(); - Requests[471].Request.Method = "GET"; - Requests[471].Request.Path = "/EventsStore/Partitions/cee88c66-4f/$/Replicas/Events"; - Requests[472] = new DefaultHttpContext(); - Requests[472].RequestServices = CreateServices(); - Requests[472].Request.Method = "POST"; - Requests[472].Request.Path = "/Services/$/5b61fa9e-/$/GetPartitions/$/Recover"; - Requests[473] = new DefaultHttpContext(); - Requests[473].RequestServices = CreateServices(); - Requests[473].Request.Method = "GET"; - Requests[473].Request.Path = "/EventsStore/Partitions/0478c5c5-b2/$/Replicas/38eabc47-/$/Events"; - Requests[474] = new DefaultHttpContext(); - Requests[474].RequestServices = CreateServices(); - Requests[474].Request.Method = "GET"; - Requests[474].Request.Path = "/Faults/Services/27f25bb1-/$/GetPartitions/8a6e14c3-e7/$/GetDataLossProgress"; - Requests[475] = new DefaultHttpContext(); - Requests[475].RequestServices = CreateServices(); - Requests[475].Request.Method = "GET"; - Requests[475].Request.Path = "/Faults/Services/dbb93690-/$/GetPartitions/c443b4b4-9c/$/GetQuorumLossProgress"; - Requests[476] = new DefaultHttpContext(); - Requests[476].RequestServices = CreateServices(); - Requests[476].Request.Method = "GET"; - Requests[476].Request.Path = "/Faults/Services/ec27920c-/$/GetPartitions/17a1ca55-42/$/GetRestartProgress"; - Requests[477] = new DefaultHttpContext(); - Requests[477].RequestServices = CreateServices(); - Requests[477].Request.Method = "POST"; - Requests[477].Request.Path = "/Faults/Services/703a7a03-/$/GetPartitions/5f62dedc-39/$/StartDataLoss"; - Requests[478] = new DefaultHttpContext(); - Requests[478].RequestServices = CreateServices(); - Requests[478].Request.Method = "POST"; - Requests[478].Request.Path = "/Faults/Services/51c11c63-/$/GetPartitions/fd1151c6-3f/$/StartQuorumLoss"; - Requests[479] = new DefaultHttpContext(); - Requests[479].RequestServices = CreateServices(); - Requests[479].Request.Method = "POST"; - Requests[479].Request.Path = "/Faults/Services/60a355a3-/$/GetPartitions/210feded-86/$/StartRestart"; - Requests[480] = new DefaultHttpContext(); - Requests[480].RequestServices = CreateServices(); - Requests[480].Request.Method = "DELETE"; - Requests[480].Request.Path = "/apis/850ef"; - Requests[481] = new DefaultHttpContext(); - Requests[481].RequestServices = CreateServices(); - Requests[481].Request.Method = "GET"; - Requests[481].Request.Path = "/Applications/bdaa32f6-87c8"; - Requests[482] = new DefaultHttpContext(); - Requests[482].RequestServices = CreateServices(); - Requests[482].Request.Method = "GET"; - Requests[482].Request.Path = "/ApplicationTypes/8e29cc26-3a32-47b0-"; - Requests[483] = new DefaultHttpContext(); - Requests[483].RequestServices = CreateServices(); - Requests[483].Request.Method = "DELETE"; - Requests[483].Request.Path = "/apps/13ec1"; - Requests[484] = new DefaultHttpContext(); - Requests[484].RequestServices = CreateServices(); - Requests[484].Request.Method = "DELETE"; - Requests[484].Request.Path = "/authorizationServers/de8969e"; - Requests[485] = new DefaultHttpContext(); - Requests[485].RequestServices = CreateServices(); - Requests[485].Request.Method = "DELETE"; - Requests[485].Request.Path = "/backends/9920b6f6-"; - Requests[486] = new DefaultHttpContext(); - Requests[486].RequestServices = CreateServices(); - Requests[486].Request.Method = "DELETE"; - Requests[486].Request.Path = "/certificates/5df2842c-e779-4f"; - Requests[487] = new DefaultHttpContext(); - Requests[487].RequestServices = CreateServices(); - Requests[487].Request.Method = "GET"; - Requests[487].Request.Path = "/ComposeDeployments/e46fad02-4cdb-"; - Requests[488] = new DefaultHttpContext(); - Requests[488].RequestServices = CreateServices(); - Requests[488].Request.Method = "DELETE"; - Requests[488].Request.Path = "/deletedcertificates/af4fde9e-01e7-48"; - Requests[489] = new DefaultHttpContext(); - Requests[489].RequestServices = CreateServices(); - Requests[489].Request.Method = "DELETE"; - Requests[489].Request.Path = "/deletedkeys/e974a855"; - Requests[490] = new DefaultHttpContext(); - Requests[490].RequestServices = CreateServices(); - Requests[490].Request.Method = "DELETE"; - Requests[490].Request.Path = "/deletedsecrets/1f8fd6f2-71"; - Requests[491] = new DefaultHttpContext(); - Requests[491].RequestServices = CreateServices(); - Requests[491].Request.Method = "DELETE"; - Requests[491].Request.Path = "/deletedstorage/bf7929b5-3343-4904-9"; - Requests[492] = new DefaultHttpContext(); - Requests[492].RequestServices = CreateServices(); - Requests[492].Request.Method = "GET"; - Requests[492].Request.Path = "/domains/1ab570e2"; - Requests[493] = new DefaultHttpContext(); - Requests[493].RequestServices = CreateServices(); - Requests[493].Request.Method = "DELETE"; - Requests[493].Request.Path = "/facelists/99840564-f"; - Requests[494] = new DefaultHttpContext(); - Requests[494].RequestServices = CreateServices(); - Requests[494].Request.Method = "DELETE"; - Requests[494].Request.Path = "/groups/fff438c"; - Requests[495] = new DefaultHttpContext(); - Requests[495].RequestServices = CreateServices(); - Requests[495].Request.Method = "DELETE"; - Requests[495].Request.Path = "/identityProviders/cfdc1ad7-d7ab-494a-a"; - Requests[496] = new DefaultHttpContext(); - Requests[496].RequestServices = CreateServices(); - Requests[496].Request.Method = "DELETE"; - Requests[496].Request.Path = "/ImageStore/0ef2ec99-79"; - Requests[497] = new DefaultHttpContext(); - Requests[497].RequestServices = CreateServices(); - Requests[497].Request.Method = "GET"; - Requests[497].Request.Path = "/Jobs/47bcec7d-d7"; - Requests[498] = new DefaultHttpContext(); - Requests[498].RequestServices = CreateServices(); - Requests[498].Request.Method = "PUT"; - Requests[498].Request.Path = "/jobschedules/1573c9b0-081f"; - Requests[499] = new DefaultHttpContext(); - Requests[499].RequestServices = CreateServices(); - Requests[499].Request.Method = "DELETE"; - Requests[499].Request.Path = "/keys/b196e548"; - Requests[500] = new DefaultHttpContext(); - Requests[500].RequestServices = CreateServices(); - Requests[500].Request.Method = "DELETE"; - Requests[500].Request.Path = "/loggers/c7b5f1e5"; - Requests[501] = new DefaultHttpContext(); - Requests[501].RequestServices = CreateServices(); - Requests[501].Request.Method = "DELETE"; - Requests[501].Request.Path = "/Names/bc65e2"; - Requests[502] = new DefaultHttpContext(); - Requests[502].RequestServices = CreateServices(); - Requests[502].Request.Method = "GET"; - Requests[502].Request.Path = "/Nodes/6f7ab6d3"; - Requests[503] = new DefaultHttpContext(); - Requests[503].RequestServices = CreateServices(); - Requests[503].Request.Method = "DELETE"; - Requests[503].Request.Path = "/openidConnectProviders/e307f"; - Requests[504] = new DefaultHttpContext(); - Requests[504].RequestServices = CreateServices(); - Requests[504].Request.Method = "GET"; - Requests[504].Request.Path = "/Partitions/149d4ef0-e3"; - Requests[505] = new DefaultHttpContext(); - Requests[505].RequestServices = CreateServices(); - Requests[505].Request.Method = "PATCH"; - Requests[505].Request.Path = "/persongroups/59a1d231-c20d"; - Requests[506] = new DefaultHttpContext(); - Requests[506].RequestServices = CreateServices(); - Requests[506].Request.Method = "GET"; - Requests[506].Request.Path = "/pipelines/91bf4183-c1e9-48"; - Requests[507] = new DefaultHttpContext(); - Requests[507].RequestServices = CreateServices(); - Requests[507].Request.Method = "DELETE"; - Requests[507].Request.Path = "/policies/0d0158ae"; - Requests[508] = new DefaultHttpContext(); - Requests[508].RequestServices = CreateServices(); - Requests[508].Request.Method = "PATCH"; - Requests[508].Request.Path = "/pools/10d43b"; - Requests[509] = new DefaultHttpContext(); - Requests[509].RequestServices = CreateServices(); - Requests[509].Request.Method = "DELETE"; - Requests[509].Request.Path = "/products/a2bacb4b-"; - Requests[510] = new DefaultHttpContext(); - Requests[510].RequestServices = CreateServices(); - Requests[510].Request.Method = "PATCH"; - Requests[510].Request.Path = "/projects/3954a953-"; - Requests[511] = new DefaultHttpContext(); - Requests[511].RequestServices = CreateServices(); - Requests[511].Request.Method = "DELETE"; - Requests[511].Request.Path = "/properties/a3066c"; - Requests[512] = new DefaultHttpContext(); - Requests[512].RequestServices = CreateServices(); - Requests[512].Request.Method = "PATCH"; - Requests[512].Request.Path = "/quotas/0d3aa318-d1aa-4"; - Requests[513] = new DefaultHttpContext(); - Requests[513].RequestServices = CreateServices(); - Requests[513].Request.Method = "GET"; - Requests[513].Request.Path = "/recurrences/ae68c5a6-dd24-49ab"; - Requests[514] = new DefaultHttpContext(); - Requests[514].RequestServices = CreateServices(); - Requests[514].Request.Method = "DELETE"; - Requests[514].Request.Path = "/secrets/0cfa283a-b6"; - Requests[515] = new DefaultHttpContext(); - Requests[515].RequestServices = CreateServices(); - Requests[515].Request.Method = "PATCH"; - Requests[515].Request.Path = "/storage/77b376e7-bd83-4f3c-8"; - Requests[516] = new DefaultHttpContext(); - Requests[516].RequestServices = CreateServices(); - Requests[516].Request.Method = "GET"; - Requests[516].Request.Path = "/subscriptions/d0a85eaa-6bcb-"; - Requests[517] = new DefaultHttpContext(); - Requests[517].RequestServices = CreateServices(); - Requests[517].Request.Method = "DELETE"; - Requests[517].Request.Path = "/templates/3bab255d-8df"; - Requests[518] = new DefaultHttpContext(); - Requests[518].RequestServices = CreateServices(); - Requests[518].Request.Method = "PATCH"; - Requests[518].Request.Path = "/tenant/190693c5-9"; - Requests[519] = new DefaultHttpContext(); - Requests[519].RequestServices = CreateServices(); - Requests[519].Request.Method = "GET"; - Requests[519].Request.Path = "/textOperations/0a945aae-dd"; - Requests[520] = new DefaultHttpContext(); - Requests[520].RequestServices = CreateServices(); - Requests[520].Request.Method = "DELETE"; - Requests[520].Request.Path = "/users/06fff"; - Requests[521] = new DefaultHttpContext(); - Requests[521].RequestServices = CreateServices(); - Requests[521].Request.Method = "POST"; - Requests[521].Request.Path = "/WebHdfsExt/0a64a"; - Requests[522] = new DefaultHttpContext(); - Requests[522].RequestServices = CreateServices(); - Requests[522].Request.Method = "GET"; - Requests[522].Request.Path = "/apis/e77e3/operations"; - Requests[523] = new DefaultHttpContext(); - Requests[523].RequestServices = CreateServices(); - Requests[523].Request.Method = "GET"; - Requests[523].Request.Path = "/apis/8e91a/policies"; - Requests[524] = new DefaultHttpContext(); - Requests[524].RequestServices = CreateServices(); - Requests[524].Request.Method = "GET"; - Requests[524].Request.Path = "/apis/79edd/products"; - Requests[525] = new DefaultHttpContext(); - Requests[525].RequestServices = CreateServices(); - Requests[525].Request.Method = "GET"; - Requests[525].Request.Path = "/apis/c134a/schemas"; - Requests[526] = new DefaultHttpContext(); - Requests[526].RequestServices = CreateServices(); - Requests[526].Request.Method = "GET"; - Requests[526].Request.Path = "/apps/477aa/endpoints"; - Requests[527] = new DefaultHttpContext(); - Requests[527].RequestServices = CreateServices(); - Requests[527].Request.Method = "POST"; - Requests[527].Request.Path = "/apps/6fe2a/metrics"; - Requests[528] = new DefaultHttpContext(); - Requests[528].RequestServices = CreateServices(); - Requests[528].Request.Method = "PUT"; - Requests[528].Request.Path = "/apps/18b9d/permissions"; - Requests[529] = new DefaultHttpContext(); - Requests[529].RequestServices = CreateServices(); - Requests[529].Request.Method = "POST"; - Requests[529].Request.Path = "/apps/e0d3a/publish"; - Requests[530] = new DefaultHttpContext(); - Requests[530].RequestServices = CreateServices(); - Requests[530].Request.Method = "PUT"; - Requests[530].Request.Path = "/apps/02a22/publishsettings"; - Requests[531] = new DefaultHttpContext(); - Requests[531].RequestServices = CreateServices(); - Requests[531].Request.Method = "POST"; - Requests[531].Request.Path = "/apps/3842f/query"; - Requests[532] = new DefaultHttpContext(); - Requests[532].RequestServices = CreateServices(); - Requests[532].Request.Method = "GET"; - Requests[532].Request.Path = "/apps/7ff07/querylogs"; - Requests[533] = new DefaultHttpContext(); - Requests[533].RequestServices = CreateServices(); - Requests[533].Request.Method = "PUT"; - Requests[533].Request.Path = "/apps/1302d/settings"; - Requests[534] = new DefaultHttpContext(); - Requests[534].RequestServices = CreateServices(); - Requests[534].Request.Method = "GET"; - Requests[534].Request.Path = "/apps/93d8a/versions"; - Requests[535] = new DefaultHttpContext(); - Requests[535].RequestServices = CreateServices(); - Requests[535].Request.Method = "POST"; - Requests[535].Request.Path = "/certificates/cfd227e8-4693-43/create"; - Requests[536] = new DefaultHttpContext(); - Requests[536].RequestServices = CreateServices(); - Requests[536].Request.Method = "POST"; - Requests[536].Request.Path = "/certificates/b6f5c07c-2fab-49/import"; - Requests[537] = new DefaultHttpContext(); - Requests[537].RequestServices = CreateServices(); - Requests[537].Request.Method = "DELETE"; - Requests[537].Request.Path = "/certificates/689feeb3-be4b-4f/pending"; - Requests[538] = new DefaultHttpContext(); - Requests[538].RequestServices = CreateServices(); - Requests[538].Request.Method = "PATCH"; - Requests[538].Request.Path = "/certificates/fe7083ec-5b2d-42/policy"; - Requests[539] = new DefaultHttpContext(); - Requests[539].RequestServices = CreateServices(); - Requests[539].Request.Method = "GET"; - Requests[539].Request.Path = "/certificates/324c4615-6393-4d/versions"; - Requests[540] = new DefaultHttpContext(); - Requests[540].RequestServices = CreateServices(); - Requests[540].Request.Method = "GET"; - Requests[540].Request.Path = "/delegatedProviders/2b1d711c-1a3a-4332-/offers"; - Requests[541] = new DefaultHttpContext(); - Requests[541].RequestServices = CreateServices(); - Requests[541].Request.Method = "POST"; - Requests[541].Request.Path = "/deletedcertificates/74df663d-ba39-48/recover"; - Requests[542] = new DefaultHttpContext(); - Requests[542].RequestServices = CreateServices(); - Requests[542].Request.Method = "POST"; - Requests[542].Request.Path = "/deletedkeys/044e1242/recover"; - Requests[543] = new DefaultHttpContext(); - Requests[543].RequestServices = CreateServices(); - Requests[543].Request.Method = "POST"; - Requests[543].Request.Path = "/deletedsecrets/31e54952-d3/recover"; - Requests[544] = new DefaultHttpContext(); - Requests[544].RequestServices = CreateServices(); - Requests[544].Request.Method = "POST"; - Requests[544].Request.Path = "/deletedstorage/f683219d-2950-4aa7-b/recover"; - Requests[545] = new DefaultHttpContext(); - Requests[545].RequestServices = CreateServices(); - Requests[545].Request.Method = "GET"; - Requests[545].Request.Path = "/deletedstorage/37ae37c9-b948-4a15-b/sas"; - Requests[546] = new DefaultHttpContext(); - Requests[546].RequestServices = CreateServices(); - Requests[546].Request.Method = "POST"; - Requests[546].Request.Path = "/facelists/9bbcd4fd-b/persistedFaces"; - Requests[547] = new DefaultHttpContext(); - Requests[547].RequestServices = CreateServices(); - Requests[547].Request.Method = "GET"; - Requests[547].Request.Path = "/groups/50200c8/users"; - Requests[548] = new DefaultHttpContext(); - Requests[548].RequestServices = CreateServices(); - Requests[548].Request.Method = "POST"; - Requests[548].Request.Path = "/jobs/4c92b/addtaskcollection"; - Requests[549] = new DefaultHttpContext(); - Requests[549].RequestServices = CreateServices(); - Requests[549].Request.Method = "POST"; - Requests[549].Request.Path = "/jobs/1c210/disable"; - Requests[550] = new DefaultHttpContext(); - Requests[550].RequestServices = CreateServices(); - Requests[550].Request.Method = "POST"; - Requests[550].Request.Path = "/jobs/38186/enable"; - Requests[551] = new DefaultHttpContext(); - Requests[551].RequestServices = CreateServices(); - Requests[551].Request.Method = "GET"; - Requests[551].Request.Path = "/jobs/2fbf8/jobpreparationandreleasetaskstatus"; - Requests[552] = new DefaultHttpContext(); - Requests[552].RequestServices = CreateServices(); - Requests[552].Request.Method = "GET"; - Requests[552].Request.Path = "/jobs/3f983/taskcounts"; - Requests[553] = new DefaultHttpContext(); - Requests[553].RequestServices = CreateServices(); - Requests[553].Request.Method = "GET"; - Requests[553].Request.Path = "/jobs/f07be/tasks"; - Requests[554] = new DefaultHttpContext(); - Requests[554].RequestServices = CreateServices(); - Requests[554].Request.Method = "POST"; - Requests[554].Request.Path = "/jobs/9959b/terminate"; - Requests[555] = new DefaultHttpContext(); - Requests[555].RequestServices = CreateServices(); - Requests[555].Request.Method = "POST"; - Requests[555].Request.Path = "/Jobs/ffc62a95-e9/CancelJob"; - Requests[556] = new DefaultHttpContext(); - Requests[556].RequestServices = CreateServices(); - Requests[556].Request.Method = "GET"; - Requests[556].Request.Path = "/Jobs/e1ae6fc1-b0/GetDebugDataPath"; - Requests[557] = new DefaultHttpContext(); - Requests[557].RequestServices = CreateServices(); - Requests[557].Request.Method = "GET"; - Requests[557].Request.Path = "/Jobs/3e2f5475-0b/GetStatistics"; - Requests[558] = new DefaultHttpContext(); - Requests[558].RequestServices = CreateServices(); - Requests[558].Request.Method = "POST"; - Requests[558].Request.Path = "/jobs/35ea2353-12/YieldJob"; - Requests[559] = new DefaultHttpContext(); - Requests[559].RequestServices = CreateServices(); - Requests[559].Request.Method = "POST"; - Requests[559].Request.Path = "/jobschedules/f6ab65ca-d352/disable"; - Requests[560] = new DefaultHttpContext(); - Requests[560].RequestServices = CreateServices(); - Requests[560].Request.Method = "POST"; - Requests[560].Request.Path = "/jobschedules/e0aabb4b-4110/enable"; - Requests[561] = new DefaultHttpContext(); - Requests[561].RequestServices = CreateServices(); - Requests[561].Request.Method = "GET"; - Requests[561].Request.Path = "/jobschedules/523132fd-c8dc/jobs"; - Requests[562] = new DefaultHttpContext(); - Requests[562].RequestServices = CreateServices(); - Requests[562].Request.Method = "POST"; - Requests[562].Request.Path = "/jobschedules/54eb3346-30e4/terminate"; - Requests[563] = new DefaultHttpContext(); - Requests[563].RequestServices = CreateServices(); - Requests[563].Request.Method = "POST"; - Requests[563].Request.Path = "/keys/dada2587/backup"; - Requests[564] = new DefaultHttpContext(); - Requests[564].RequestServices = CreateServices(); - Requests[564].Request.Method = "POST"; - Requests[564].Request.Path = "/keys/636e475f/create"; - Requests[565] = new DefaultHttpContext(); - Requests[565].RequestServices = CreateServices(); - Requests[565].Request.Method = "GET"; - Requests[565].Request.Path = "/keys/f7bf3842/versions"; - Requests[566] = new DefaultHttpContext(); - Requests[566].RequestServices = CreateServices(); - Requests[566].Request.Method = "POST"; - Requests[566].Request.Path = "/models/2740d/analyze"; - Requests[567] = new DefaultHttpContext(); - Requests[567].RequestServices = CreateServices(); - Requests[567].Request.Method = "GET"; - Requests[567].Request.Path = "/persongroups/c1be82e8-689a/persons"; - Requests[568] = new DefaultHttpContext(); - Requests[568].RequestServices = CreateServices(); - Requests[568].Request.Method = "POST"; - Requests[568].Request.Path = "/persongroups/b65b76c8-3d96/train"; - Requests[569] = new DefaultHttpContext(); - Requests[569].RequestServices = CreateServices(); - Requests[569].Request.Method = "GET"; - Requests[569].Request.Path = "/persongroups/335c9ca3-4495/training"; - Requests[570] = new DefaultHttpContext(); - Requests[570].RequestServices = CreateServices(); - Requests[570].Request.Method = "POST"; - Requests[570].Request.Path = "/pools/97e163/disableautoscale"; - Requests[571] = new DefaultHttpContext(); - Requests[571].RequestServices = CreateServices(); - Requests[571].Request.Method = "POST"; - Requests[571].Request.Path = "/pools/c92a0f/enableautoscale"; - Requests[572] = new DefaultHttpContext(); - Requests[572].RequestServices = CreateServices(); - Requests[572].Request.Method = "POST"; - Requests[572].Request.Path = "/pools/0592fa/evaluateautoscale"; - Requests[573] = new DefaultHttpContext(); - Requests[573].RequestServices = CreateServices(); - Requests[573].Request.Method = "GET"; - Requests[573].Request.Path = "/pools/0cd1ed/nodes"; - Requests[574] = new DefaultHttpContext(); - Requests[574].RequestServices = CreateServices(); - Requests[574].Request.Method = "POST"; - Requests[574].Request.Path = "/pools/4ea275/removenodes"; - Requests[575] = new DefaultHttpContext(); - Requests[575].RequestServices = CreateServices(); - Requests[575].Request.Method = "POST"; - Requests[575].Request.Path = "/pools/5f1ec1/resize"; - Requests[576] = new DefaultHttpContext(); - Requests[576].RequestServices = CreateServices(); - Requests[576].Request.Method = "POST"; - Requests[576].Request.Path = "/pools/ca6ce7/stopresize"; - Requests[577] = new DefaultHttpContext(); - Requests[577].RequestServices = CreateServices(); - Requests[577].Request.Method = "POST"; - Requests[577].Request.Path = "/pools/9bc8cb/updateproperties"; - Requests[578] = new DefaultHttpContext(); - Requests[578].RequestServices = CreateServices(); - Requests[578].Request.Method = "POST"; - Requests[578].Request.Path = "/pools/720965/upgradeos"; - Requests[579] = new DefaultHttpContext(); - Requests[579].RequestServices = CreateServices(); - Requests[579].Request.Method = "GET"; - Requests[579].Request.Path = "/products/c0eb0cb5-/apis"; - Requests[580] = new DefaultHttpContext(); - Requests[580].RequestServices = CreateServices(); - Requests[580].Request.Method = "GET"; - Requests[580].Request.Path = "/products/6c984fe0-/groups"; - Requests[581] = new DefaultHttpContext(); - Requests[581].RequestServices = CreateServices(); - Requests[581].Request.Method = "GET"; - Requests[581].Request.Path = "/products/a3e7b5aa-/policies"; - Requests[582] = new DefaultHttpContext(); - Requests[582].RequestServices = CreateServices(); - Requests[582].Request.Method = "GET"; - Requests[582].Request.Path = "/products/0653c953-/subscriptions"; - Requests[583] = new DefaultHttpContext(); - Requests[583].RequestServices = CreateServices(); - Requests[583].Request.Method = "DELETE"; - Requests[583].Request.Path = "/projects/55d556bc-/images"; - Requests[584] = new DefaultHttpContext(); - Requests[584].RequestServices = CreateServices(); - Requests[584].Request.Method = "GET"; - Requests[584].Request.Path = "/projects/ae3c3264-/iterations"; - Requests[585] = new DefaultHttpContext(); - Requests[585].RequestServices = CreateServices(); - Requests[585].Request.Method = "DELETE"; - Requests[585].Request.Path = "/projects/add231e4-/predictions"; - Requests[586] = new DefaultHttpContext(); - Requests[586].RequestServices = CreateServices(); - Requests[586].Request.Method = "POST"; - Requests[586].Request.Path = "/projects/299047ef-/tags"; - Requests[587] = new DefaultHttpContext(); - Requests[587].RequestServices = CreateServices(); - Requests[587].Request.Method = "POST"; - Requests[587].Request.Path = "/projects/ba68c06c-/train"; - Requests[588] = new DefaultHttpContext(); - Requests[588].RequestServices = CreateServices(); - Requests[588].Request.Method = "GET"; - Requests[588].Request.Path = "/providers/8d17ddde-fb26-4379-83de-8/operations"; - Requests[589] = new DefaultHttpContext(); - Requests[589].RequestServices = CreateServices(); - Requests[589].Request.Method = "POST"; - Requests[589].Request.Path = "/secrets/83f8e567-84/backup"; - Requests[590] = new DefaultHttpContext(); - Requests[590].RequestServices = CreateServices(); - Requests[590].Request.Method = "GET"; - Requests[590].Request.Path = "/secrets/8ecd653a-5d/versions"; - Requests[591] = new DefaultHttpContext(); - Requests[591].RequestServices = CreateServices(); - Requests[591].Request.Method = "POST"; - Requests[591].Request.Path = "/storage/52a74144-18f2-4dfd-a/backup"; - Requests[592] = new DefaultHttpContext(); - Requests[592].RequestServices = CreateServices(); - Requests[592].Request.Method = "POST"; - Requests[592].Request.Path = "/storage/2e7f4357-4e1f-4244-8/regeneratekey"; - Requests[593] = new DefaultHttpContext(); - Requests[593].RequestServices = CreateServices(); - Requests[593].Request.Method = "GET"; - Requests[593].Request.Path = "/storage/095563f5-3af3-4e76-8/sas"; - Requests[594] = new DefaultHttpContext(); - Requests[594].RequestServices = CreateServices(); - Requests[594].Request.Method = "POST"; - Requests[594].Request.Path = "/subscriptions/dcd58/regeneratePrimaryKey"; - Requests[595] = new DefaultHttpContext(); - Requests[595].RequestServices = CreateServices(); - Requests[595].Request.Method = "POST"; - Requests[595].Request.Path = "/subscriptions/60293/regenerateSecondaryKey"; - Requests[596] = new DefaultHttpContext(); - Requests[596].RequestServices = CreateServices(); - Requests[596].Request.Method = "GET"; - Requests[596].Request.Path = "/subscriptions/eaeea686-96a7-/locations"; - Requests[597] = new DefaultHttpContext(); - Requests[597].RequestServices = CreateServices(); - Requests[597].Request.Method = "GET"; - Requests[597].Request.Path = "/subscriptions/3cdd4344-b16d-/providers"; - Requests[598] = new DefaultHttpContext(); - Requests[598].RequestServices = CreateServices(); - Requests[598].Request.Method = "GET"; - Requests[598].Request.Path = "/subscriptions/f42790b4-3cff-/resourcegroups"; - Requests[599] = new DefaultHttpContext(); - Requests[599].RequestServices = CreateServices(); - Requests[599].Request.Method = "GET"; - Requests[599].Request.Path = "/subscriptions/727042a1-5bdc-/resources"; - Requests[600] = new DefaultHttpContext(); - Requests[600].RequestServices = CreateServices(); - Requests[600].Request.Method = "GET"; - Requests[600].Request.Path = "/subscriptions/26f5cc57-72ff-/tagNames"; - Requests[601] = new DefaultHttpContext(); - Requests[601].RequestServices = CreateServices(); - Requests[601].Request.Method = "GET"; - Requests[601].Request.Path = "/tenant/a57756ff-8/git"; - Requests[602] = new DefaultHttpContext(); - Requests[602].RequestServices = CreateServices(); - Requests[602].Request.Method = "POST"; - Requests[602].Request.Path = "/tenant/71f7ce95-3/regeneratePrimaryKey"; - Requests[603] = new DefaultHttpContext(); - Requests[603].RequestServices = CreateServices(); - Requests[603].Request.Method = "POST"; - Requests[603].Request.Path = "/tenant/099efc7c-0/regenerateSecondaryKey"; - Requests[604] = new DefaultHttpContext(); - Requests[604].RequestServices = CreateServices(); - Requests[604].Request.Method = "POST"; - Requests[604].Request.Path = "/tenant/49ad643a-0c08-4b0/deploy"; - Requests[605] = new DefaultHttpContext(); - Requests[605].RequestServices = CreateServices(); - Requests[605].Request.Method = "POST"; - Requests[605].Request.Path = "/tenant/83a61898-982d-417/save"; - Requests[606] = new DefaultHttpContext(); - Requests[606].RequestServices = CreateServices(); - Requests[606].Request.Method = "GET"; - Requests[606].Request.Path = "/tenant/72ae3e46-5330-4ad/syncState"; - Requests[607] = new DefaultHttpContext(); - Requests[607].RequestServices = CreateServices(); - Requests[607].Request.Method = "POST"; - Requests[607].Request.Path = "/tenant/8d42bb52-6018-408/validate"; - Requests[608] = new DefaultHttpContext(); - Requests[608].RequestServices = CreateServices(); - Requests[608].Request.Method = "POST"; - Requests[608].Request.Path = "/users/6c075/generateSsoUrl"; - Requests[609] = new DefaultHttpContext(); - Requests[609].RequestServices = CreateServices(); - Requests[609].Request.Method = "GET"; - Requests[609].Request.Path = "/users/cb332/groups"; - Requests[610] = new DefaultHttpContext(); - Requests[610].RequestServices = CreateServices(); - Requests[610].Request.Method = "GET"; - Requests[610].Request.Path = "/users/9543b/identities"; - Requests[611] = new DefaultHttpContext(); - Requests[611].RequestServices = CreateServices(); - Requests[611].Request.Method = "GET"; - Requests[611].Request.Path = "/users/70253/subscriptions"; - Requests[612] = new DefaultHttpContext(); - Requests[612].RequestServices = CreateServices(); - Requests[612].Request.Method = "POST"; - Requests[612].Request.Path = "/users/dd340/token"; - Requests[613] = new DefaultHttpContext(); - Requests[613].RequestServices = CreateServices(); - Requests[613].Request.Method = "POST"; - Requests[613].Request.Path = "/workspaces/5927e433-6e/query"; - Requests[614] = new DefaultHttpContext(); - Requests[614].RequestServices = CreateServices(); - Requests[614].Request.Method = "POST"; - Requests[614].Request.Path = "/Applications/cab3de12-435e/$/Delete"; - Requests[615] = new DefaultHttpContext(); - Requests[615].RequestServices = CreateServices(); - Requests[615].Request.Method = "POST"; - Requests[615].Request.Path = "/Applications/b68ce4fa-0a8c/$/DisableBackup"; - Requests[616] = new DefaultHttpContext(); - Requests[616].RequestServices = CreateServices(); - Requests[616].Request.Method = "POST"; - Requests[616].Request.Path = "/Applications/4c0a67dc-21e3/$/EnableBackup"; - Requests[617] = new DefaultHttpContext(); - Requests[617].RequestServices = CreateServices(); - Requests[617].Request.Method = "GET"; - Requests[617].Request.Path = "/Applications/6424037e-9ec5/$/GetBackupConfigurationInfo"; - Requests[618] = new DefaultHttpContext(); - Requests[618].RequestServices = CreateServices(); - Requests[618].Request.Method = "GET"; - Requests[618].Request.Path = "/Applications/2ce014d9-1615/$/GetBackups"; - Requests[619] = new DefaultHttpContext(); - Requests[619].RequestServices = CreateServices(); - Requests[619].Request.Method = "POST"; - Requests[619].Request.Path = "/Applications/4d0a729a-845b/$/GetHealth"; - Requests[620] = new DefaultHttpContext(); - Requests[620].RequestServices = CreateServices(); - Requests[620].Request.Method = "GET"; - Requests[620].Request.Path = "/Applications/1dc83459-5385/$/GetLoadInformation"; - Requests[621] = new DefaultHttpContext(); - Requests[621].RequestServices = CreateServices(); - Requests[621].Request.Method = "GET"; - Requests[621].Request.Path = "/Applications/84b0d3d6-1655/$/GetServices"; - Requests[622] = new DefaultHttpContext(); - Requests[622].RequestServices = CreateServices(); - Requests[622].Request.Method = "GET"; - Requests[622].Request.Path = "/Applications/60ac881f-5b7a/$/GetUpgradeProgress"; - Requests[623] = new DefaultHttpContext(); - Requests[623].RequestServices = CreateServices(); - Requests[623].Request.Method = "POST"; - Requests[623].Request.Path = "/Applications/9e66c7cd-18e2/$/MoveToNextUpgradeDomain"; - Requests[624] = new DefaultHttpContext(); - Requests[624].RequestServices = CreateServices(); - Requests[624].Request.Method = "POST"; - Requests[624].Request.Path = "/Applications/53da93e0-97dd/$/ReportHealth"; - Requests[625] = new DefaultHttpContext(); - Requests[625].RequestServices = CreateServices(); - Requests[625].Request.Method = "POST"; - Requests[625].Request.Path = "/Applications/81a0d308-4385/$/ResumeBackup"; - Requests[626] = new DefaultHttpContext(); - Requests[626].RequestServices = CreateServices(); - Requests[626].Request.Method = "POST"; - Requests[626].Request.Path = "/Applications/bdc3b37b-7f23/$/RollbackUpgrade"; - Requests[627] = new DefaultHttpContext(); - Requests[627].RequestServices = CreateServices(); - Requests[627].Request.Method = "POST"; - Requests[627].Request.Path = "/Applications/0059e7f3-3e39/$/SuspendBackup"; - Requests[628] = new DefaultHttpContext(); - Requests[628].RequestServices = CreateServices(); - Requests[628].Request.Method = "POST"; - Requests[628].Request.Path = "/Applications/ff422fda-2887/$/UpdateUpgrade"; - Requests[629] = new DefaultHttpContext(); - Requests[629].RequestServices = CreateServices(); - Requests[629].Request.Method = "POST"; - Requests[629].Request.Path = "/Applications/fe9b6661-248f/$/Upgrade"; - Requests[630] = new DefaultHttpContext(); - Requests[630].RequestServices = CreateServices(); - Requests[630].Request.Method = "POST"; - Requests[630].Request.Path = "/Applications/c4f0a8c4-6ce2-4/$/MoveNextUpgradeDomain"; - Requests[631] = new DefaultHttpContext(); - Requests[631].RequestServices = CreateServices(); - Requests[631].Request.Method = "GET"; - Requests[631].Request.Path = "/ApplicationTypes/78c5e510-713e-4c1b-/$/GetApplicationManifest"; - Requests[632] = new DefaultHttpContext(); - Requests[632].RequestServices = CreateServices(); - Requests[632].Request.Method = "GET"; - Requests[632].Request.Path = "/ApplicationTypes/0406e307-cb2c-42f6-/$/GetServiceManifest"; - Requests[633] = new DefaultHttpContext(); - Requests[633].RequestServices = CreateServices(); - Requests[633].Request.Method = "GET"; - Requests[633].Request.Path = "/ApplicationTypes/1f5c746b-0a99-45d3-/$/GetServiceTypes"; - Requests[634] = new DefaultHttpContext(); - Requests[634].RequestServices = CreateServices(); - Requests[634].Request.Method = "POST"; - Requests[634].Request.Path = "/ApplicationTypes/654998e4-4d8d-4b32-/$/Unprovision"; - Requests[635] = new DefaultHttpContext(); - Requests[635].RequestServices = CreateServices(); - Requests[635].Request.Method = "GET"; - Requests[635].Request.Path = "/apps/10f8f/events/$metadata"; - Requests[636] = new DefaultHttpContext(); - Requests[636].RequestServices = CreateServices(); - Requests[636].Request.Method = "GET"; - Requests[636].Request.Path = "/apps/afae3/metrics/metadata"; - Requests[637] = new DefaultHttpContext(); - Requests[637].RequestServices = CreateServices(); - Requests[637].Request.Method = "GET"; - Requests[637].Request.Path = "/apps/f343b/query/schema"; - Requests[638] = new DefaultHttpContext(); - Requests[638].RequestServices = CreateServices(); - Requests[638].Request.Method = "POST"; - Requests[638].Request.Path = "/apps/b2845/versions/import"; - Requests[639] = new DefaultHttpContext(); - Requests[639].RequestServices = CreateServices(); - Requests[639].Request.Method = "POST"; - Requests[639].Request.Path = "/certificates/4808d2d8-7fca-4f/pending/merge"; - Requests[640] = new DefaultHttpContext(); - Requests[640].RequestServices = CreateServices(); - Requests[640].Request.Method = "POST"; - Requests[640].Request.Path = "/ComposeDeployments/4c3b8802-4593-/$/Delete"; - Requests[641] = new DefaultHttpContext(); - Requests[641].RequestServices = CreateServices(); - Requests[641].Request.Method = "GET"; - Requests[641].Request.Path = "/ComposeDeployments/03cd380c-caf5-/$/GetUpgradeProgress"; - Requests[642] = new DefaultHttpContext(); - Requests[642].RequestServices = CreateServices(); - Requests[642].Request.Method = "POST"; - Requests[642].Request.Path = "/ComposeDeployments/feb4a661-ab53-/$/Upgrade"; - Requests[643] = new DefaultHttpContext(); - Requests[643].RequestServices = CreateServices(); - Requests[643].Request.Method = "GET"; - Requests[643].Request.Path = "/ImageStore/dfde590e-cf/$/GetUploadSession"; - Requests[644] = new DefaultHttpContext(); - Requests[644].RequestServices = CreateServices(); - Requests[644].Request.Method = "PUT"; - Requests[644].Request.Path = "/ImageStore/c4727e43-12/$/UploadChunk"; - Requests[645] = new DefaultHttpContext(); - Requests[645].RequestServices = CreateServices(); - Requests[645].Request.Method = "GET"; - Requests[645].Request.Path = "/Names/f46427/$/GetProperties"; - Requests[646] = new DefaultHttpContext(); - Requests[646].RequestServices = CreateServices(); - Requests[646].Request.Method = "DELETE"; - Requests[646].Request.Path = "/Names/105f45/$/GetProperty"; - Requests[647] = new DefaultHttpContext(); - Requests[647].RequestServices = CreateServices(); - Requests[647].Request.Method = "GET"; - Requests[647].Request.Path = "/Names/917398/$/GetSubNames"; - Requests[648] = new DefaultHttpContext(); - Requests[648].RequestServices = CreateServices(); - Requests[648].Request.Method = "POST"; - Requests[648].Request.Path = "/Nodes/0571faf5/$/Activate"; - Requests[649] = new DefaultHttpContext(); - Requests[649].RequestServices = CreateServices(); - Requests[649].Request.Method = "POST"; - Requests[649].Request.Path = "/Nodes/603c39f2/$/Deactivate"; - Requests[650] = new DefaultHttpContext(); - Requests[650].RequestServices = CreateServices(); - Requests[650].Request.Method = "POST"; - Requests[650].Request.Path = "/Nodes/209a342a/$/DeployServicePackage"; - Requests[651] = new DefaultHttpContext(); - Requests[651].RequestServices = CreateServices(); - Requests[651].Request.Method = "GET"; - Requests[651].Request.Path = "/Nodes/fc8ce00f/$/GetApplications"; - Requests[652] = new DefaultHttpContext(); - Requests[652].RequestServices = CreateServices(); - Requests[652].Request.Method = "POST"; - Requests[652].Request.Path = "/Nodes/6257d021/$/GetHealth"; - Requests[653] = new DefaultHttpContext(); - Requests[653].RequestServices = CreateServices(); - Requests[653].Request.Method = "GET"; - Requests[653].Request.Path = "/Nodes/72aa7290/$/GetLoadInformation"; - Requests[654] = new DefaultHttpContext(); - Requests[654].RequestServices = CreateServices(); - Requests[654].Request.Method = "POST"; - Requests[654].Request.Path = "/Nodes/a5285681/$/RemoveNodeState"; - Requests[655] = new DefaultHttpContext(); - Requests[655].RequestServices = CreateServices(); - Requests[655].Request.Method = "POST"; - Requests[655].Request.Path = "/Nodes/b05e53e8/$/ReportHealth"; - Requests[656] = new DefaultHttpContext(); - Requests[656].RequestServices = CreateServices(); - Requests[656].Request.Method = "POST"; - Requests[656].Request.Path = "/Nodes/aa164292/$/Restart"; - Requests[657] = new DefaultHttpContext(); - Requests[657].RequestServices = CreateServices(); - Requests[657].Request.Method = "POST"; - Requests[657].Request.Path = "/Nodes/4e65cfe3/$/Start"; - Requests[658] = new DefaultHttpContext(); - Requests[658].RequestServices = CreateServices(); - Requests[658].Request.Method = "POST"; - Requests[658].Request.Path = "/Nodes/359e70a5/$/Stop"; - Requests[659] = new DefaultHttpContext(); - Requests[659].RequestServices = CreateServices(); - Requests[659].Request.Method = "POST"; - Requests[659].Request.Path = "/Partitions/02ec5952-1a/$/Backup"; - Requests[660] = new DefaultHttpContext(); - Requests[660].RequestServices = CreateServices(); - Requests[660].Request.Method = "POST"; - Requests[660].Request.Path = "/Partitions/0a24bef6-c8/$/DisableBackup"; - Requests[661] = new DefaultHttpContext(); - Requests[661].RequestServices = CreateServices(); - Requests[661].Request.Method = "POST"; - Requests[661].Request.Path = "/Partitions/1594f7f0-d1/$/EnableBackup"; - Requests[662] = new DefaultHttpContext(); - Requests[662].RequestServices = CreateServices(); - Requests[662].Request.Method = "GET"; - Requests[662].Request.Path = "/Partitions/107a2228-12/$/GetBackupConfigurationInfo"; - Requests[663] = new DefaultHttpContext(); - Requests[663].RequestServices = CreateServices(); - Requests[663].Request.Method = "GET"; - Requests[663].Request.Path = "/Partitions/ec7ecb0c-71/$/GetBackupProgress"; - Requests[664] = new DefaultHttpContext(); - Requests[664].RequestServices = CreateServices(); - Requests[664].Request.Method = "GET"; - Requests[664].Request.Path = "/Partitions/0198e4a6-e0/$/GetBackups"; - Requests[665] = new DefaultHttpContext(); - Requests[665].RequestServices = CreateServices(); - Requests[665].Request.Method = "POST"; - Requests[665].Request.Path = "/Partitions/daed4973-d5/$/GetHealth"; - Requests[666] = new DefaultHttpContext(); - Requests[666].RequestServices = CreateServices(); - Requests[666].Request.Method = "GET"; - Requests[666].Request.Path = "/Partitions/e33cfd42-3f/$/GetLoadInformation"; - Requests[667] = new DefaultHttpContext(); - Requests[667].RequestServices = CreateServices(); - Requests[667].Request.Method = "GET"; - Requests[667].Request.Path = "/Partitions/170d6b38-5f/$/GetReplicas"; - Requests[668] = new DefaultHttpContext(); - Requests[668].RequestServices = CreateServices(); - Requests[668].Request.Method = "GET"; - Requests[668].Request.Path = "/Partitions/9077dc0f-b8/$/GetRestoreProgress"; - Requests[669] = new DefaultHttpContext(); - Requests[669].RequestServices = CreateServices(); - Requests[669].Request.Method = "GET"; - Requests[669].Request.Path = "/Partitions/82cddeac-ac/$/GetServiceName"; - Requests[670] = new DefaultHttpContext(); - Requests[670].RequestServices = CreateServices(); - Requests[670].Request.Method = "POST"; - Requests[670].Request.Path = "/Partitions/e6352ccd-a3/$/Recover"; - Requests[671] = new DefaultHttpContext(); - Requests[671].RequestServices = CreateServices(); - Requests[671].Request.Method = "POST"; - Requests[671].Request.Path = "/Partitions/14d749db-12/$/ReportHealth"; - Requests[672] = new DefaultHttpContext(); - Requests[672].RequestServices = CreateServices(); - Requests[672].Request.Method = "POST"; - Requests[672].Request.Path = "/Partitions/5fe12a6f-79/$/ResetLoad"; - Requests[673] = new DefaultHttpContext(); - Requests[673].RequestServices = CreateServices(); - Requests[673].Request.Method = "POST"; - Requests[673].Request.Path = "/Partitions/7ded09a1-ca/$/Restore"; - Requests[674] = new DefaultHttpContext(); - Requests[674].RequestServices = CreateServices(); - Requests[674].Request.Method = "POST"; - Requests[674].Request.Path = "/Partitions/5c3b605e-4f/$/ResumeBackup"; - Requests[675] = new DefaultHttpContext(); - Requests[675].RequestServices = CreateServices(); - Requests[675].Request.Method = "POST"; - Requests[675].Request.Path = "/Partitions/3e5a9a73-90/$/SuspendBackup"; - Requests[676] = new DefaultHttpContext(); - Requests[676].RequestServices = CreateServices(); - Requests[676].Request.Method = "POST"; - Requests[676].Request.Path = "/projects/172d04bb-/images/files"; - Requests[677] = new DefaultHttpContext(); - Requests[677].RequestServices = CreateServices(); - Requests[677].Request.Method = "GET"; - Requests[677].Request.Path = "/projects/02949f98-/images/id"; - Requests[678] = new DefaultHttpContext(); - Requests[678].RequestServices = CreateServices(); - Requests[678].Request.Method = "POST"; - Requests[678].Request.Path = "/projects/8cb0ed0e-/images/predictions"; - Requests[679] = new DefaultHttpContext(); - Requests[679].RequestServices = CreateServices(); - Requests[679].Request.Method = "DELETE"; - Requests[679].Request.Path = "/projects/3d1bf5c7-/images/regions"; - Requests[680] = new DefaultHttpContext(); - Requests[680].RequestServices = CreateServices(); - Requests[680].Request.Method = "GET"; - Requests[680].Request.Path = "/projects/69813896-/images/tagged"; - Requests[681] = new DefaultHttpContext(); - Requests[681].RequestServices = CreateServices(); - Requests[681].Request.Method = "DELETE"; - Requests[681].Request.Path = "/projects/6d8f1595-/images/tags"; - Requests[682] = new DefaultHttpContext(); - Requests[682].RequestServices = CreateServices(); - Requests[682].Request.Method = "GET"; - Requests[682].Request.Path = "/projects/a8e6273f-/images/untagged"; - Requests[683] = new DefaultHttpContext(); - Requests[683].RequestServices = CreateServices(); - Requests[683].Request.Method = "POST"; - Requests[683].Request.Path = "/projects/1071b4d8-/images/urls"; - Requests[684] = new DefaultHttpContext(); - Requests[684].RequestServices = CreateServices(); - Requests[684].Request.Method = "POST"; - Requests[684].Request.Path = "/projects/bc22f722-/predictions/query"; - Requests[685] = new DefaultHttpContext(); - Requests[685].RequestServices = CreateServices(); - Requests[685].Request.Method = "POST"; - Requests[685].Request.Path = "/projects/61a51da1-/quicktest/image"; - Requests[686] = new DefaultHttpContext(); - Requests[686].RequestServices = CreateServices(); - Requests[686].Request.Method = "POST"; - Requests[686].Request.Path = "/projects/24a40dc2-/quicktest/url"; - Requests[687] = new DefaultHttpContext(); - Requests[687].RequestServices = CreateServices(); - Requests[687].Request.Method = "POST"; - Requests[687].Request.Path = "/Services/4e5bf29a-/$/Delete"; - Requests[688] = new DefaultHttpContext(); - Requests[688].RequestServices = CreateServices(); - Requests[688].Request.Method = "POST"; - Requests[688].Request.Path = "/Services/abd8c772-/$/DisableBackup"; - Requests[689] = new DefaultHttpContext(); - Requests[689].RequestServices = CreateServices(); - Requests[689].Request.Method = "POST"; - Requests[689].Request.Path = "/Services/46b4b417-/$/EnableBackup"; - Requests[690] = new DefaultHttpContext(); - Requests[690].RequestServices = CreateServices(); - Requests[690].Request.Method = "GET"; - Requests[690].Request.Path = "/Services/1d8f00f9-/$/GetApplicationName"; - Requests[691] = new DefaultHttpContext(); - Requests[691].RequestServices = CreateServices(); - Requests[691].Request.Method = "GET"; - Requests[691].Request.Path = "/Services/a739bae4-/$/GetBackupConfigurationInfo"; - Requests[692] = new DefaultHttpContext(); - Requests[692].RequestServices = CreateServices(); - Requests[692].Request.Method = "GET"; - Requests[692].Request.Path = "/Services/0bebcaa0-/$/GetBackups"; - Requests[693] = new DefaultHttpContext(); - Requests[693].RequestServices = CreateServices(); - Requests[693].Request.Method = "GET"; - Requests[693].Request.Path = "/Services/2df47850-/$/GetDescription"; - Requests[694] = new DefaultHttpContext(); - Requests[694].RequestServices = CreateServices(); - Requests[694].Request.Method = "POST"; - Requests[694].Request.Path = "/Services/b47abe8a-/$/GetHealth"; - Requests[695] = new DefaultHttpContext(); - Requests[695].RequestServices = CreateServices(); - Requests[695].Request.Method = "GET"; - Requests[695].Request.Path = "/Services/6b7a2c24-/$/GetPartitions"; - Requests[696] = new DefaultHttpContext(); - Requests[696].RequestServices = CreateServices(); - Requests[696].Request.Method = "POST"; - Requests[696].Request.Path = "/Services/be1ce61f-/$/ReportHealth"; - Requests[697] = new DefaultHttpContext(); - Requests[697].RequestServices = CreateServices(); - Requests[697].Request.Method = "GET"; - Requests[697].Request.Path = "/Services/baf50bf0-/$/ResolvePartition"; - Requests[698] = new DefaultHttpContext(); - Requests[698].RequestServices = CreateServices(); - Requests[698].Request.Method = "POST"; - Requests[698].Request.Path = "/Services/68e5e366-/$/ResumeBackup"; - Requests[699] = new DefaultHttpContext(); - Requests[699].RequestServices = CreateServices(); - Requests[699].Request.Method = "POST"; - Requests[699].Request.Path = "/Services/ee1db6d3-/$/SuspendBackup"; - Requests[700] = new DefaultHttpContext(); - Requests[700].RequestServices = CreateServices(); - Requests[700].Request.Method = "POST"; - Requests[700].Request.Path = "/Services/6804a873-/$/Update"; - Requests[701] = new DefaultHttpContext(); - Requests[701].RequestServices = CreateServices(); - Requests[701].Request.Method = "POST"; - Requests[701].Request.Path = "/tenant/d32883b0-0/git/regeneratePrimaryKey"; - Requests[702] = new DefaultHttpContext(); - Requests[702].RequestServices = CreateServices(); - Requests[702].Request.Method = "POST"; - Requests[702].Request.Path = "/tenant/1a3f8c7e-f/git/regenerateSecondaryKey"; - Requests[703] = new DefaultHttpContext(); - Requests[703].RequestServices = CreateServices(); - Requests[703].Request.Method = "GET"; - Requests[703].Request.Path = "/projects/7dd68689-/images/tagged/count"; - Requests[704] = new DefaultHttpContext(); - Requests[704].RequestServices = CreateServices(); - Requests[704].Request.Method = "GET"; - Requests[704].Request.Path = "/projects/1e087cb9-/images/untagged/count"; - Requests[705] = new DefaultHttpContext(); - Requests[705].RequestServices = CreateServices(); - Requests[705].Request.Method = "GET"; - Requests[705].Request.Path = "/subscriptions/8bc7e92e-b485-/providers/Microsoft.AAD/domainServices"; - Requests[706] = new DefaultHttpContext(); - Requests[706].RequestServices = CreateServices(); - Requests[706].Request.Method = "PUT"; - Requests[706].Request.Path = "/subscriptions/9176b6b9-99ea-/providers/Microsoft.Advisor/configurations"; - Requests[707] = new DefaultHttpContext(); - Requests[707].RequestServices = CreateServices(); - Requests[707].Request.Method = "POST"; - Requests[707].Request.Path = "/subscriptions/a4a3c485-277b-/providers/Microsoft.Advisor/generateRecommendations"; - Requests[708] = new DefaultHttpContext(); - Requests[708].RequestServices = CreateServices(); - Requests[708].Request.Method = "GET"; - Requests[708].Request.Path = "/subscriptions/615eb97d-ce44-/providers/Microsoft.Advisor/recommendations"; - Requests[709] = new DefaultHttpContext(); - Requests[709].RequestServices = CreateServices(); - Requests[709].Request.Method = "GET"; - Requests[709].Request.Path = "/subscriptions/dd3878fe-26a0-/providers/Microsoft.Advisor/suppressions"; - Requests[710] = new DefaultHttpContext(); - Requests[710].RequestServices = CreateServices(); - Requests[710].Request.Method = "GET"; - Requests[710].Request.Path = "/subscriptions/5aff4d6e-8cfc-/providers/Microsoft.AnalysisServices/servers"; - Requests[711] = new DefaultHttpContext(); - Requests[711].RequestServices = CreateServices(); - Requests[711].Request.Method = "GET"; - Requests[711].Request.Path = "/subscriptions/eb87958c-d33f-/providers/Microsoft.AnalysisServices/skus"; - Requests[712] = new DefaultHttpContext(); - Requests[712].RequestServices = CreateServices(); - Requests[712].Request.Method = "POST"; - Requests[712].Request.Path = "/subscriptions/80594cd3-b762-/providers/Microsoft.ApiManagement/checkNameAvailability"; - Requests[713] = new DefaultHttpContext(); - Requests[713].RequestServices = CreateServices(); - Requests[713].Request.Method = "GET"; - Requests[713].Request.Path = "/subscriptions/48db1c63-025a-/providers/Microsoft.ApiManagement/service"; - Requests[714] = new DefaultHttpContext(); - Requests[714].RequestServices = CreateServices(); - Requests[714].Request.Method = "GET"; - Requests[714].Request.Path = "/subscriptions/5927821b-97d2-/providers/Microsoft.Authorization/classicAdministrators"; - Requests[715] = new DefaultHttpContext(); - Requests[715].RequestServices = CreateServices(); - Requests[715].Request.Method = "GET"; - Requests[715].Request.Path = "/subscriptions/870aada7-28b8-/providers/Microsoft.Authorization/locks"; - Requests[716] = new DefaultHttpContext(); - Requests[716].RequestServices = CreateServices(); - Requests[716].Request.Method = "GET"; - Requests[716].Request.Path = "/subscriptions/1037c3fa-85c0-/providers/Microsoft.Authorization/policyAssignments"; - Requests[717] = new DefaultHttpContext(); - Requests[717].RequestServices = CreateServices(); - Requests[717].Request.Method = "GET"; - Requests[717].Request.Path = "/subscriptions/ca7136c9-8f80-/providers/Microsoft.Authorization/policyDefinitions"; - Requests[718] = new DefaultHttpContext(); - Requests[718].RequestServices = CreateServices(); - Requests[718].Request.Method = "GET"; - Requests[718].Request.Path = "/subscriptions/74d3ceb3-497a-/providers/Microsoft.Authorization/policySetDefinitions"; - Requests[719] = new DefaultHttpContext(); - Requests[719].RequestServices = CreateServices(); - Requests[719].Request.Method = "GET"; - Requests[719].Request.Path = "/subscriptions/9e4d06ae-d272-/providers/Microsoft.Authorization/roleAssignments"; - Requests[720] = new DefaultHttpContext(); - Requests[720].RequestServices = CreateServices(); - Requests[720].Request.Method = "GET"; - Requests[720].Request.Path = "/subscriptions/0f7b265a-3fe2-/providers/Microsoft.Automation/automationAccounts"; - Requests[721] = new DefaultHttpContext(); - Requests[721].RequestServices = CreateServices(); - Requests[721].Request.Method = "GET"; - Requests[721].Request.Path = "/subscriptions/58885f88-6155-/providers/Microsoft.Batch/batchAccounts"; - Requests[722] = new DefaultHttpContext(); - Requests[722].RequestServices = CreateServices(); - Requests[722].Request.Method = "GET"; - Requests[722].Request.Path = "/subscriptions/7b17e548-88d8-/providers/Microsoft.BatchAI/clusters"; - Requests[723] = new DefaultHttpContext(); - Requests[723].RequestServices = CreateServices(); - Requests[723].Request.Method = "GET"; - Requests[723].Request.Path = "/subscriptions/91f60922-63bc-/providers/Microsoft.BatchAI/fileServers"; - Requests[724] = new DefaultHttpContext(); - Requests[724].RequestServices = CreateServices(); - Requests[724].Request.Method = "GET"; - Requests[724].Request.Path = "/subscriptions/b4e63745-b794-/providers/Microsoft.BatchAI/jobs"; - Requests[725] = new DefaultHttpContext(); - Requests[725].RequestServices = CreateServices(); - Requests[725].Request.Method = "GET"; - Requests[725].Request.Path = "/subscriptions/e7dbcedb-14d8-/providers/Microsoft.BatchAI/workspaces"; - Requests[726] = new DefaultHttpContext(); - Requests[726].RequestServices = CreateServices(); - Requests[726].Request.Method = "GET"; - Requests[726].Request.Path = "/subscriptions/5fe214a6-6b9d-/providers/Microsoft.Billing/billingPeriods"; - Requests[727] = new DefaultHttpContext(); - Requests[727].RequestServices = CreateServices(); - Requests[727].Request.Method = "GET"; - Requests[727].Request.Path = "/subscriptions/57d75d22-1e76-/providers/Microsoft.Billing/invoices"; - Requests[728] = new DefaultHttpContext(); - Requests[728].RequestServices = CreateServices(); - Requests[728].Request.Method = "GET"; - Requests[728].Request.Path = "/subscriptions/967ed4b3-43b2-/providers/Microsoft.BotService/botServices"; - Requests[729] = new DefaultHttpContext(); - Requests[729].RequestServices = CreateServices(); - Requests[729].Request.Method = "POST"; - Requests[729].Request.Path = "/subscriptions/e0f734c8-c212-/providers/Microsoft.Cache/CheckNameAvailability"; - Requests[730] = new DefaultHttpContext(); - Requests[730].RequestServices = CreateServices(); - Requests[730].Request.Method = "GET"; - Requests[730].Request.Path = "/subscriptions/cc92ff4a-3e3b-/providers/Microsoft.Cache/Redis"; - Requests[731] = new DefaultHttpContext(); - Requests[731].RequestServices = CreateServices(); - Requests[731].Request.Method = "GET"; - Requests[731].Request.Path = "/subscriptions/7f4b0554-7098-/providers/Microsoft.Capacity/appliedReservations"; - Requests[732] = new DefaultHttpContext(); - Requests[732].RequestServices = CreateServices(); - Requests[732].Request.Method = "GET"; - Requests[732].Request.Path = "/subscriptions/9ce44aa4-10c8-/providers/Microsoft.Capacity/catalogs"; - Requests[733] = new DefaultHttpContext(); - Requests[733].RequestServices = CreateServices(); - Requests[733].Request.Method = "POST"; - Requests[733].Request.Path = "/subscriptions/46551088-ed53-/providers/Microsoft.Cdn/checkNameAvailability"; - Requests[734] = new DefaultHttpContext(); - Requests[734].RequestServices = CreateServices(); - Requests[734].Request.Method = "POST"; - Requests[734].Request.Path = "/subscriptions/c92dba15-9bb1-/providers/Microsoft.Cdn/checkResourceUsage"; - Requests[735] = new DefaultHttpContext(); - Requests[735].RequestServices = CreateServices(); - Requests[735].Request.Method = "GET"; - Requests[735].Request.Path = "/subscriptions/aba0d95a-ef24-/providers/Microsoft.Cdn/profiles"; - Requests[736] = new DefaultHttpContext(); - Requests[736].RequestServices = CreateServices(); - Requests[736].Request.Method = "POST"; - Requests[736].Request.Path = "/subscriptions/8d4a5122-f7a8-/providers/Microsoft.Cdn/validateProbe"; - Requests[737] = new DefaultHttpContext(); - Requests[737].RequestServices = CreateServices(); - Requests[737].Request.Method = "GET"; - Requests[737].Request.Path = "/subscriptions/befa1ad0-e655-/providers/Microsoft.CertificateRegistration/certificateOrders"; - Requests[738] = new DefaultHttpContext(); - Requests[738].RequestServices = CreateServices(); - Requests[738].Request.Method = "POST"; - Requests[738].Request.Path = "/subscriptions/92b78fd7-d025-/providers/Microsoft.CertificateRegistration/validateCertificateRegistrationInformation"; - Requests[739] = new DefaultHttpContext(); - Requests[739].RequestServices = CreateServices(); - Requests[739].Request.Method = "GET"; - Requests[739].Request.Path = "/subscriptions/fa88ca87-2467-/providers/Microsoft.CognitiveServices/accounts"; - Requests[740] = new DefaultHttpContext(); - Requests[740].RequestServices = CreateServices(); - Requests[740].Request.Method = "GET"; - Requests[740].Request.Path = "/subscriptions/8083ab2e-3d98-/providers/Microsoft.CognitiveServices/skus"; - Requests[741] = new DefaultHttpContext(); - Requests[741].RequestServices = CreateServices(); - Requests[741].Request.Method = "GET"; - Requests[741].Request.Path = "/subscriptions/a8631cf2-d2d6-/providers/Microsoft.Commerce.Admin/subscriberUsageAggregates"; - Requests[742] = new DefaultHttpContext(); - Requests[742].RequestServices = CreateServices(); - Requests[742].Request.Method = "POST"; - Requests[742].Request.Path = "/subscriptions/bd65da69-c9d7-/providers/Microsoft.Commerce.Admin/updateEncryption"; - Requests[743] = new DefaultHttpContext(); - Requests[743].RequestServices = CreateServices(); - Requests[743].Request.Method = "GET"; - Requests[743].Request.Path = "/subscriptions/0b46f867-051f-/providers/Microsoft.Commerce/RateCard"; - Requests[744] = new DefaultHttpContext(); - Requests[744].RequestServices = CreateServices(); - Requests[744].Request.Method = "GET"; - Requests[744].Request.Path = "/subscriptions/f61f218c-6ac7-/providers/Microsoft.Commerce/UsageAggregates"; - Requests[745] = new DefaultHttpContext(); - Requests[745].RequestServices = CreateServices(); - Requests[745].Request.Method = "GET"; - Requests[745].Request.Path = "/subscriptions/0fb30a77-c7cb-/providers/Microsoft.Compute/disks"; - Requests[746] = new DefaultHttpContext(); - Requests[746].RequestServices = CreateServices(); - Requests[746].Request.Method = "GET"; - Requests[746].Request.Path = "/subscriptions/0dafe3ca-2af1-/providers/Microsoft.Compute/galleries"; - Requests[747] = new DefaultHttpContext(); - Requests[747].RequestServices = CreateServices(); - Requests[747].Request.Method = "GET"; - Requests[747].Request.Path = "/subscriptions/33184cd8-7a20-/providers/Microsoft.Compute/images"; - Requests[748] = new DefaultHttpContext(); - Requests[748].RequestServices = CreateServices(); - Requests[748].Request.Method = "GET"; - Requests[748].Request.Path = "/subscriptions/3d73df7b-aacd-/providers/Microsoft.Compute/skus"; - Requests[749] = new DefaultHttpContext(); - Requests[749].RequestServices = CreateServices(); - Requests[749].Request.Method = "GET"; - Requests[749].Request.Path = "/subscriptions/b8042e59-ccdc-/providers/Microsoft.Compute/snapshots"; - Requests[750] = new DefaultHttpContext(); - Requests[750].RequestServices = CreateServices(); - Requests[750].Request.Method = "GET"; - Requests[750].Request.Path = "/subscriptions/7ab91fe1-0986-/providers/Microsoft.Compute/virtualMachines"; - Requests[751] = new DefaultHttpContext(); - Requests[751].RequestServices = CreateServices(); - Requests[751].Request.Method = "GET"; - Requests[751].Request.Path = "/subscriptions/17580482-5357-/providers/Microsoft.Compute/virtualMachineScaleSets"; - Requests[752] = new DefaultHttpContext(); - Requests[752].RequestServices = CreateServices(); - Requests[752].Request.Method = "GET"; - Requests[752].Request.Path = "/subscriptions/8234ece3-d0a1-/providers/Microsoft.Consumption/budgets"; - Requests[753] = new DefaultHttpContext(); - Requests[753].RequestServices = CreateServices(); - Requests[753].Request.Method = "GET"; - Requests[753].Request.Path = "/subscriptions/ee477fa5-da9c-/providers/Microsoft.Consumption/forecasts"; - Requests[754] = new DefaultHttpContext(); - Requests[754].RequestServices = CreateServices(); - Requests[754].Request.Method = "GET"; - Requests[754].Request.Path = "/subscriptions/64170771-eea8-/providers/Microsoft.Consumption/marketplaces"; - Requests[755] = new DefaultHttpContext(); - Requests[755].RequestServices = CreateServices(); - Requests[755].Request.Method = "GET"; - Requests[755].Request.Path = "/subscriptions/e27201e5-bef7-/providers/Microsoft.Consumption/reservationRecommendations"; - Requests[756] = new DefaultHttpContext(); - Requests[756].RequestServices = CreateServices(); - Requests[756].Request.Method = "GET"; - Requests[756].Request.Path = "/subscriptions/2bb93916-2c7e-/providers/Microsoft.Consumption/usageDetails"; - Requests[757] = new DefaultHttpContext(); - Requests[757].RequestServices = CreateServices(); - Requests[757].Request.Method = "GET"; - Requests[757].Request.Path = "/subscriptions/636e627a-35e1-/providers/Microsoft.ContainerInstance/containerGroups"; - Requests[758] = new DefaultHttpContext(); - Requests[758].RequestServices = CreateServices(); - Requests[758].Request.Method = "POST"; - Requests[758].Request.Path = "/subscriptions/2bc8b3f9-24be-/providers/Microsoft.ContainerRegistry/checkNameAvailability"; - Requests[759] = new DefaultHttpContext(); - Requests[759].RequestServices = CreateServices(); - Requests[759].Request.Method = "GET"; - Requests[759].Request.Path = "/subscriptions/9802eb2e-be78-/providers/Microsoft.ContainerRegistry/registries"; - Requests[760] = new DefaultHttpContext(); - Requests[760].RequestServices = CreateServices(); - Requests[760].Request.Method = "GET"; - Requests[760].Request.Path = "/subscriptions/d2d99182-aecd-/providers/Microsoft.ContainerService/containerServices"; - Requests[761] = new DefaultHttpContext(); - Requests[761].RequestServices = CreateServices(); - Requests[761].Request.Method = "GET"; - Requests[761].Request.Path = "/subscriptions/dbc1faae-ea4a-/providers/Microsoft.ContainerService/managedClusters"; - Requests[762] = new DefaultHttpContext(); - Requests[762].RequestServices = CreateServices(); - Requests[762].Request.Method = "GET"; - Requests[762].Request.Path = "/subscriptions/a5d200f0-da4c-/providers/Microsoft.CustomerInsights/hubs"; - Requests[763] = new DefaultHttpContext(); - Requests[763].RequestServices = CreateServices(); - Requests[763].Request.Method = "GET"; - Requests[763].Request.Path = "/subscriptions/bb1750ad-e574-/providers/Microsoft.DataBox/jobs"; - Requests[764] = new DefaultHttpContext(); - Requests[764].RequestServices = CreateServices(); - Requests[764].Request.Method = "GET"; - Requests[764].Request.Path = "/subscriptions/33973c0e-0153-/providers/Microsoft.Databricks/workspaces"; - Requests[765] = new DefaultHttpContext(); - Requests[765].RequestServices = CreateServices(); - Requests[765].Request.Method = "GET"; - Requests[765].Request.Path = "/subscriptions/8faad50a-804f-/providers/Microsoft.DataFactory/factories"; - Requests[766] = new DefaultHttpContext(); - Requests[766].RequestServices = CreateServices(); - Requests[766].Request.Method = "GET"; - Requests[766].Request.Path = "/subscriptions/88260abd-f7dc-/providers/Microsoft.DataLakeAnalytics/accounts"; - Requests[767] = new DefaultHttpContext(); - Requests[767].RequestServices = CreateServices(); - Requests[767].Request.Method = "GET"; - Requests[767].Request.Path = "/subscriptions/b45bd676-236c-/providers/Microsoft.DataLakeStore/accounts"; - Requests[768] = new DefaultHttpContext(); - Requests[768].RequestServices = CreateServices(); - Requests[768].Request.Method = "GET"; - Requests[768].Request.Path = "/subscriptions/98e87df1-8df8-/providers/Microsoft.DataMigration/services"; - Requests[769] = new DefaultHttpContext(); - Requests[769].RequestServices = CreateServices(); - Requests[769].Request.Method = "GET"; - Requests[769].Request.Path = "/subscriptions/e74b9bec-e154-/providers/Microsoft.DataMigration/skus"; - Requests[770] = new DefaultHttpContext(); - Requests[770].RequestServices = CreateServices(); - Requests[770].Request.Method = "POST"; - Requests[770].Request.Path = "/subscriptions/62537978-f167-/providers/Microsoft.DBforMySQL/checkNameAvailability"; - Requests[771] = new DefaultHttpContext(); - Requests[771].RequestServices = CreateServices(); - Requests[771].Request.Method = "GET"; - Requests[771].Request.Path = "/subscriptions/1555bf9f-7420-/providers/Microsoft.DBforMySQL/performanceTiers"; - Requests[772] = new DefaultHttpContext(); - Requests[772].RequestServices = CreateServices(); - Requests[772].Request.Method = "GET"; - Requests[772].Request.Path = "/subscriptions/bec87bd8-d6c1-/providers/Microsoft.DBforMySQL/servers"; - Requests[773] = new DefaultHttpContext(); - Requests[773].RequestServices = CreateServices(); - Requests[773].Request.Method = "POST"; - Requests[773].Request.Path = "/subscriptions/c085e785-1f4d-/providers/Microsoft.DBforPostgreSQL/checkNameAvailability"; - Requests[774] = new DefaultHttpContext(); - Requests[774].RequestServices = CreateServices(); - Requests[774].Request.Method = "GET"; - Requests[774].Request.Path = "/subscriptions/6cf10bb9-9f34-/providers/Microsoft.DBforPostgreSQL/performanceTiers"; - Requests[775] = new DefaultHttpContext(); - Requests[775].RequestServices = CreateServices(); - Requests[775].Request.Method = "GET"; - Requests[775].Request.Path = "/subscriptions/5b11a5aa-ea79-/providers/Microsoft.DBforPostgreSQL/servers"; - Requests[776] = new DefaultHttpContext(); - Requests[776].RequestServices = CreateServices(); - Requests[776].Request.Method = "POST"; - Requests[776].Request.Path = "/subscriptions/c2eb98f9-3313-/providers/Microsoft.Devices/checkNameAvailability"; - Requests[777] = new DefaultHttpContext(); - Requests[777].RequestServices = CreateServices(); - Requests[777].Request.Method = "POST"; - Requests[777].Request.Path = "/subscriptions/2970fc31-9808-/providers/Microsoft.Devices/checkProvisioningServiceNameAvailability"; - Requests[778] = new DefaultHttpContext(); - Requests[778].RequestServices = CreateServices(); - Requests[778].Request.Method = "GET"; - Requests[778].Request.Path = "/subscriptions/5103cd0a-5451-/providers/Microsoft.Devices/IotHubs"; - Requests[779] = new DefaultHttpContext(); - Requests[779].RequestServices = CreateServices(); - Requests[779].Request.Method = "GET"; - Requests[779].Request.Path = "/subscriptions/d2405a78-9e89-/providers/Microsoft.Devices/provisioningServices"; - Requests[780] = new DefaultHttpContext(); - Requests[780].RequestServices = CreateServices(); - Requests[780].Request.Method = "GET"; - Requests[780].Request.Path = "/subscriptions/7f873e87-edf4-/providers/Microsoft.Devices/usages"; - Requests[781] = new DefaultHttpContext(); - Requests[781].RequestServices = CreateServices(); - Requests[781].Request.Method = "GET"; - Requests[781].Request.Path = "/subscriptions/9ff3627c-0d6c-/providers/Microsoft.DevTestLab/labs"; - Requests[782] = new DefaultHttpContext(); - Requests[782].RequestServices = CreateServices(); - Requests[782].Request.Method = "GET"; - Requests[782].Request.Path = "/subscriptions/5bf9b2cd-dac5-/providers/Microsoft.DevTestLab/schedules"; - Requests[783] = new DefaultHttpContext(); - Requests[783].RequestServices = CreateServices(); - Requests[783].Request.Method = "GET"; - Requests[783].Request.Path = "/subscriptions/8f7b240f-c831-/providers/Microsoft.DocumentDB/databaseAccounts"; - Requests[784] = new DefaultHttpContext(); - Requests[784].RequestServices = CreateServices(); - Requests[784].Request.Method = "POST"; - Requests[784].Request.Path = "/subscriptions/e1e000b4-47e1-/providers/Microsoft.DomainRegistration/checkDomainAvailability"; - Requests[785] = new DefaultHttpContext(); - Requests[785].RequestServices = CreateServices(); - Requests[785].Request.Method = "GET"; - Requests[785].Request.Path = "/subscriptions/768eeefa-c766-/providers/Microsoft.DomainRegistration/domains"; - Requests[786] = new DefaultHttpContext(); - Requests[786].RequestServices = CreateServices(); - Requests[786].Request.Method = "POST"; - Requests[786].Request.Path = "/subscriptions/fb7b3427-245c-/providers/Microsoft.DomainRegistration/generateSsoRequest"; - Requests[787] = new DefaultHttpContext(); - Requests[787].RequestServices = CreateServices(); - Requests[787].Request.Method = "POST"; - Requests[787].Request.Path = "/subscriptions/4f68f98f-9901-/providers/Microsoft.DomainRegistration/listDomainRecommendations"; - Requests[788] = new DefaultHttpContext(); - Requests[788].RequestServices = CreateServices(); - Requests[788].Request.Method = "GET"; - Requests[788].Request.Path = "/subscriptions/97b5ed5d-c5d9-/providers/Microsoft.DomainRegistration/topLevelDomains"; - Requests[789] = new DefaultHttpContext(); - Requests[789].RequestServices = CreateServices(); - Requests[789].Request.Method = "POST"; - Requests[789].Request.Path = "/subscriptions/75b623c8-4d7c-/providers/Microsoft.DomainRegistration/validateDomainRegistrationInformation"; - Requests[790] = new DefaultHttpContext(); - Requests[790].RequestServices = CreateServices(); - Requests[790].Request.Method = "GET"; - Requests[790].Request.Path = "/subscriptions/3d196972-2ba4-/providers/Microsoft.EventGrid/eventSubscriptions"; - Requests[791] = new DefaultHttpContext(); - Requests[791].RequestServices = CreateServices(); - Requests[791].Request.Method = "GET"; - Requests[791].Request.Path = "/subscriptions/609bdda8-99c0-/providers/Microsoft.EventGrid/topics"; - Requests[792] = new DefaultHttpContext(); - Requests[792].RequestServices = CreateServices(); - Requests[792].Request.Method = "POST"; - Requests[792].Request.Path = "/subscriptions/891c510f-6b4e-/providers/Microsoft.EventHub/CheckNameAvailability"; - Requests[793] = new DefaultHttpContext(); - Requests[793].RequestServices = CreateServices(); - Requests[793].Request.Method = "POST"; - Requests[793].Request.Path = "/subscriptions/8d9c0fc5-e89a-/providers/Microsoft.EventHub/CheckNamespaceAvailability"; - Requests[794] = new DefaultHttpContext(); - Requests[794].RequestServices = CreateServices(); - Requests[794].Request.Method = "GET"; - Requests[794].Request.Path = "/subscriptions/9a6f311a-7497-/providers/Microsoft.EventHub/namespaces"; - Requests[795] = new DefaultHttpContext(); - Requests[795].RequestServices = CreateServices(); - Requests[795].Request.Method = "GET"; - Requests[795].Request.Path = "/subscriptions/4a06088c-f1b2-/providers/Microsoft.Features/features"; - Requests[796] = new DefaultHttpContext(); - Requests[796].RequestServices = CreateServices(); - Requests[796].Request.Method = "POST"; - Requests[796].Request.Path = "/subscriptions/bbbf891f-7dda-/providers/microsoft.gallery.admin/galleryItems"; - Requests[797] = new DefaultHttpContext(); - Requests[797].RequestServices = CreateServices(); - Requests[797].Request.Method = "GET"; - Requests[797].Request.Path = "/subscriptions/81a6db1a-3ff7-/providers/Microsoft.HanaOnAzure/hanaInstances"; - Requests[798] = new DefaultHttpContext(); - Requests[798].RequestServices = CreateServices(); - Requests[798].Request.Method = "GET"; - Requests[798].Request.Path = "/subscriptions/7c49b216-4cb5-/providers/Microsoft.HDInsight/clusters"; - Requests[799] = new DefaultHttpContext(); - Requests[799].RequestServices = CreateServices(); - Requests[799].Request.Method = "GET"; - Requests[799].Request.Path = "/subscriptions/14d3d32c-f1b2-/providers/Microsoft.ImportExport/jobs"; - Requests[800] = new DefaultHttpContext(); - Requests[800].RequestServices = CreateServices(); - Requests[800].Request.Method = "GET"; - Requests[800].Request.Path = "/subscriptions/2121bee5-0298-/providers/microsoft.insights/actionGroups"; - Requests[801] = new DefaultHttpContext(); - Requests[801].RequestServices = CreateServices(); - Requests[801].Request.Method = "GET"; - Requests[801].Request.Path = "/subscriptions/f8cb584a-cb9c-/providers/microsoft.insights/activityLogAlerts"; - Requests[802] = new DefaultHttpContext(); - Requests[802].RequestServices = CreateServices(); - Requests[802].Request.Method = "GET"; - Requests[802].Request.Path = "/subscriptions/a5673e08-5e86-/providers/Microsoft.Insights/components"; - Requests[803] = new DefaultHttpContext(); - Requests[803].RequestServices = CreateServices(); - Requests[803].Request.Method = "POST"; - Requests[803].Request.Path = "/subscriptions/60057e41-eb4d-/providers/microsoft.insights/listMigrationdate"; - Requests[804] = new DefaultHttpContext(); - Requests[804].RequestServices = CreateServices(); - Requests[804].Request.Method = "GET"; - Requests[804].Request.Path = "/subscriptions/8a1476f5-3202-/providers/microsoft.insights/logprofiles"; - Requests[805] = new DefaultHttpContext(); - Requests[805].RequestServices = CreateServices(); - Requests[805].Request.Method = "GET"; - Requests[805].Request.Path = "/subscriptions/5fb3e070-af05-/providers/Microsoft.Insights/metricAlerts"; - Requests[806] = new DefaultHttpContext(); - Requests[806].RequestServices = CreateServices(); - Requests[806].Request.Method = "POST"; - Requests[806].Request.Path = "/subscriptions/50147e4d-450a-/providers/microsoft.insights/migrateToNewPricingModel"; - Requests[807] = new DefaultHttpContext(); - Requests[807].RequestServices = CreateServices(); - Requests[807].Request.Method = "POST"; - Requests[807].Request.Path = "/subscriptions/612ca439-18f2-/providers/microsoft.insights/rollbackToLegacyPricingModel"; - Requests[808] = new DefaultHttpContext(); - Requests[808].RequestServices = CreateServices(); - Requests[808].Request.Method = "GET"; - Requests[808].Request.Path = "/subscriptions/755a29b3-df80-/providers/microsoft.insights/scheduledQueryRules"; - Requests[809] = new DefaultHttpContext(); - Requests[809].RequestServices = CreateServices(); - Requests[809].Request.Method = "GET"; - Requests[809].Request.Path = "/subscriptions/4536ae26-09ca-/providers/Microsoft.Insights/webtests"; - Requests[810] = new DefaultHttpContext(); - Requests[810].RequestServices = CreateServices(); - Requests[810].Request.Method = "POST"; - Requests[810].Request.Path = "/subscriptions/03156760-97cc-/providers/Microsoft.IoTCentral/checkNameAvailability"; - Requests[811] = new DefaultHttpContext(); - Requests[811].RequestServices = CreateServices(); - Requests[811].Request.Method = "GET"; - Requests[811].Request.Path = "/subscriptions/26b31fed-5ec6-/providers/Microsoft.IoTCentral/IoTApps"; - Requests[812] = new DefaultHttpContext(); - Requests[812].RequestServices = CreateServices(); - Requests[812].Request.Method = "POST"; - Requests[812].Request.Path = "/subscriptions/52a492ad-99a8-/providers/Microsoft.IoTSpaces/checkNameAvailability"; - Requests[813] = new DefaultHttpContext(); - Requests[813].RequestServices = CreateServices(); - Requests[813].Request.Method = "GET"; - Requests[813].Request.Path = "/subscriptions/35643cc4-ed5d-/providers/Microsoft.IoTSpaces/Graph"; - Requests[814] = new DefaultHttpContext(); - Requests[814].RequestServices = CreateServices(); - Requests[814].Request.Method = "POST"; - Requests[814].Request.Path = "/subscriptions/71c4ff01-52f3-/providers/Microsoft.KeyVault/checkNameAvailability"; - Requests[815] = new DefaultHttpContext(); - Requests[815].RequestServices = CreateServices(); - Requests[815].Request.Method = "GET"; - Requests[815].Request.Path = "/subscriptions/1daaf85e-2044-/providers/Microsoft.KeyVault/deletedVaults"; - Requests[816] = new DefaultHttpContext(); - Requests[816].RequestServices = CreateServices(); - Requests[816].Request.Method = "GET"; - Requests[816].Request.Path = "/subscriptions/decfd92e-2d7b-/providers/Microsoft.KeyVault/vaults"; - Requests[817] = new DefaultHttpContext(); - Requests[817].RequestServices = CreateServices(); - Requests[817].Request.Method = "GET"; - Requests[817].Request.Path = "/subscriptions/35893eed-68e6-/providers/Microsoft.Logic/integrationAccounts"; - Requests[818] = new DefaultHttpContext(); - Requests[818].RequestServices = CreateServices(); - Requests[818].Request.Method = "GET"; - Requests[818].Request.Path = "/subscriptions/4534f271-a003-/providers/Microsoft.Logic/workflows"; - Requests[819] = new DefaultHttpContext(); - Requests[819].RequestServices = CreateServices(); - Requests[819].Request.Method = "GET"; - Requests[819].Request.Path = "/subscriptions/647011ae-9bb6-/providers/Microsoft.MachineLearning/commitmentPlans"; - Requests[820] = new DefaultHttpContext(); - Requests[820].RequestServices = CreateServices(); - Requests[820].Request.Method = "GET"; - Requests[820].Request.Path = "/subscriptions/2f920cc8-2af0-/providers/Microsoft.MachineLearning/skus"; - Requests[821] = new DefaultHttpContext(); - Requests[821].RequestServices = CreateServices(); - Requests[821].Request.Method = "GET"; - Requests[821].Request.Path = "/subscriptions/c703941e-ea68-/providers/Microsoft.MachineLearning/webServices"; - Requests[822] = new DefaultHttpContext(); - Requests[822].RequestServices = CreateServices(); - Requests[822].Request.Method = "GET"; - Requests[822].Request.Path = "/subscriptions/e3eebd00-72ed-/providers/Microsoft.MachineLearning/workspaces"; - Requests[823] = new DefaultHttpContext(); - Requests[823].RequestServices = CreateServices(); - Requests[823].Request.Method = "GET"; - Requests[823].Request.Path = "/subscriptions/42831f3e-5ccb-/providers/Microsoft.MachineLearningCompute/operationalizationClusters"; - Requests[824] = new DefaultHttpContext(); - Requests[824].RequestServices = CreateServices(); - Requests[824].Request.Method = "GET"; - Requests[824].Request.Path = "/subscriptions/ad50d895-4bd0-/providers/Microsoft.MachineLearningExperimentation/accounts"; - Requests[825] = new DefaultHttpContext(); - Requests[825].RequestServices = CreateServices(); - Requests[825].Request.Method = "GET"; - Requests[825].Request.Path = "/subscriptions/146075aa-1dc7-/providers/Microsoft.MachineLearningServices/workspaces"; - Requests[826] = new DefaultHttpContext(); - Requests[826].RequestServices = CreateServices(); - Requests[826].Request.Method = "GET"; - Requests[826].Request.Path = "/subscriptions/fa76eeda-6fe6-/providers/Microsoft.ManagedIdentity/userAssignedIdentities"; - Requests[827] = new DefaultHttpContext(); - Requests[827].RequestServices = CreateServices(); - Requests[827].Request.Method = "GET"; - Requests[827].Request.Path = "/subscriptions/6b76123c-9e4f-/providers/Microsoft.Maps/accounts"; - Requests[828] = new DefaultHttpContext(); - Requests[828].RequestServices = CreateServices(); - Requests[828].Request.Method = "POST"; - Requests[828].Request.Path = "/subscriptions/71fc57d4-8681-/providers/Microsoft.Media/CheckNameAvailability"; - Requests[829] = new DefaultHttpContext(); - Requests[829].RequestServices = CreateServices(); - Requests[829].Request.Method = "GET"; - Requests[829].Request.Path = "/subscriptions/709db38f-6be1-/providers/Microsoft.Media/mediaservices"; - Requests[830] = new DefaultHttpContext(); - Requests[830].RequestServices = CreateServices(); - Requests[830].Request.Method = "GET"; - Requests[830].Request.Path = "/subscriptions/994367da-75c2-/providers/Microsoft.Network.Admin/adminLoadBalancers"; - Requests[831] = new DefaultHttpContext(); - Requests[831].RequestServices = CreateServices(); - Requests[831].Request.Method = "GET"; - Requests[831].Request.Path = "/subscriptions/3df31c19-b839-/providers/Microsoft.Network.Admin/adminOverview"; - Requests[832] = new DefaultHttpContext(); - Requests[832].RequestServices = CreateServices(); - Requests[832].Request.Method = "GET"; - Requests[832].Request.Path = "/subscriptions/91fa87cf-d2a6-/providers/Microsoft.Network.Admin/adminPublicIpAddresses"; - Requests[833] = new DefaultHttpContext(); - Requests[833].RequestServices = CreateServices(); - Requests[833].Request.Method = "GET"; - Requests[833].Request.Path = "/subscriptions/fd8405a4-3d67-/providers/Microsoft.Network.Admin/adminVirtualNetworks"; - Requests[834] = new DefaultHttpContext(); - Requests[834].RequestServices = CreateServices(); - Requests[834].Request.Method = "GET"; - Requests[834].Request.Path = "/subscriptions/0ceccf92-b1bd-/providers/Microsoft.Network/applicationGatewayAvailableWafRuleSets"; - Requests[835] = new DefaultHttpContext(); - Requests[835].RequestServices = CreateServices(); - Requests[835].Request.Method = "GET"; - Requests[835].Request.Path = "/subscriptions/036cecf4-5fb9-/providers/Microsoft.Network/applicationGateways"; - Requests[836] = new DefaultHttpContext(); - Requests[836].RequestServices = CreateServices(); - Requests[836].Request.Method = "GET"; - Requests[836].Request.Path = "/subscriptions/8a90e39d-f124-/providers/Microsoft.Network/applicationSecurityGroups"; - Requests[837] = new DefaultHttpContext(); - Requests[837].RequestServices = CreateServices(); - Requests[837].Request.Method = "GET"; - Requests[837].Request.Path = "/subscriptions/c0494119-7a89-/providers/Microsoft.Network/bgpServiceCommunities"; - Requests[838] = new DefaultHttpContext(); - Requests[838].RequestServices = CreateServices(); - Requests[838].Request.Method = "GET"; - Requests[838].Request.Path = "/subscriptions/cf6fa08e-11a6-/providers/Microsoft.Network/ddosProtectionPlans"; - Requests[839] = new DefaultHttpContext(); - Requests[839].RequestServices = CreateServices(); - Requests[839].Request.Method = "GET"; - Requests[839].Request.Path = "/subscriptions/cd7c28e4-6c4f-/providers/Microsoft.Network/dnszones"; - Requests[840] = new DefaultHttpContext(); - Requests[840].RequestServices = CreateServices(); - Requests[840].Request.Method = "GET"; - Requests[840].Request.Path = "/subscriptions/2cf9a6aa-4ee8-/providers/Microsoft.Network/expressRouteCircuits"; - Requests[841] = new DefaultHttpContext(); - Requests[841].RequestServices = CreateServices(); - Requests[841].Request.Method = "GET"; - Requests[841].Request.Path = "/subscriptions/eb89805f-e486-/providers/Microsoft.Network/expressRouteCrossConnections"; - Requests[842] = new DefaultHttpContext(); - Requests[842].RequestServices = CreateServices(); - Requests[842].Request.Method = "GET"; - Requests[842].Request.Path = "/subscriptions/27550b55-ab53-/providers/Microsoft.Network/expressRouteServiceProviders"; - Requests[843] = new DefaultHttpContext(); - Requests[843].RequestServices = CreateServices(); - Requests[843].Request.Method = "GET"; - Requests[843].Request.Path = "/subscriptions/462dcccb-0b92-/providers/Microsoft.Network/loadBalancers"; - Requests[844] = new DefaultHttpContext(); - Requests[844].RequestServices = CreateServices(); - Requests[844].Request.Method = "GET"; - Requests[844].Request.Path = "/subscriptions/04c5bb01-0837-/providers/Microsoft.Network/networkInterfaces"; - Requests[845] = new DefaultHttpContext(); - Requests[845].RequestServices = CreateServices(); - Requests[845].Request.Method = "GET"; - Requests[845].Request.Path = "/subscriptions/41bd7f4c-22f1-/providers/Microsoft.Network/networkSecurityGroups"; - Requests[846] = new DefaultHttpContext(); - Requests[846].RequestServices = CreateServices(); - Requests[846].Request.Method = "GET"; - Requests[846].Request.Path = "/subscriptions/3bdfd676-5727-/providers/Microsoft.Network/networkWatchers"; - Requests[847] = new DefaultHttpContext(); - Requests[847].RequestServices = CreateServices(); - Requests[847].Request.Method = "GET"; - Requests[847].Request.Path = "/subscriptions/d62cfe1a-36d0-/providers/Microsoft.Network/publicIPAddresses"; - Requests[848] = new DefaultHttpContext(); - Requests[848].RequestServices = CreateServices(); - Requests[848].Request.Method = "GET"; - Requests[848].Request.Path = "/subscriptions/b5453a2a-357f-/providers/Microsoft.Network/routeFilters"; - Requests[849] = new DefaultHttpContext(); - Requests[849].RequestServices = CreateServices(); - Requests[849].Request.Method = "GET"; - Requests[849].Request.Path = "/subscriptions/ca5f741f-811d-/providers/Microsoft.Network/routeTables"; - Requests[850] = new DefaultHttpContext(); - Requests[850].RequestServices = CreateServices(); - Requests[850].Request.Method = "GET"; - Requests[850].Request.Path = "/subscriptions/aff3ccb1-4849-/providers/Microsoft.Network/trafficmanagerprofiles"; - Requests[851] = new DefaultHttpContext(); - Requests[851].RequestServices = CreateServices(); - Requests[851].Request.Method = "DELETE"; - Requests[851].Request.Path = "/subscriptions/af65814f-bf1d-/providers/Microsoft.Network/trafficManagerUserMetricsKeys"; - Requests[852] = new DefaultHttpContext(); - Requests[852].RequestServices = CreateServices(); - Requests[852].Request.Method = "GET"; - Requests[852].Request.Path = "/subscriptions/309226fb-6558-/providers/Microsoft.Network/virtualNetworks"; - Requests[853] = new DefaultHttpContext(); - Requests[853].RequestServices = CreateServices(); - Requests[853].Request.Method = "POST"; - Requests[853].Request.Path = "/subscriptions/77b16c80-12c4-/providers/Microsoft.NotificationHubs/checkNamespaceAvailability"; - Requests[854] = new DefaultHttpContext(); - Requests[854].RequestServices = CreateServices(); - Requests[854].Request.Method = "GET"; - Requests[854].Request.Path = "/subscriptions/fbe29c02-1937-/providers/Microsoft.NotificationHubs/namespaces"; - Requests[855] = new DefaultHttpContext(); - Requests[855].RequestServices = CreateServices(); - Requests[855].Request.Method = "GET"; - Requests[855].Request.Path = "/subscriptions/d2ee7122-264d-/providers/Microsoft.OperationalInsights/linkTargets"; - Requests[856] = new DefaultHttpContext(); - Requests[856].RequestServices = CreateServices(); - Requests[856].Request.Method = "GET"; - Requests[856].Request.Path = "/subscriptions/c400ab10-ea6a-/providers/Microsoft.OperationalInsights/workspaces"; - Requests[857] = new DefaultHttpContext(); - Requests[857].RequestServices = CreateServices(); - Requests[857].Request.Method = "GET"; - Requests[857].Request.Path = "/subscriptions/21704bdf-e867-/providers/Microsoft.OperationsManagement/ManagementAssociations"; - Requests[858] = new DefaultHttpContext(); - Requests[858].RequestServices = CreateServices(); - Requests[858].Request.Method = "GET"; - Requests[858].Request.Path = "/subscriptions/64d5cb0f-8d97-/providers/Microsoft.OperationsManagement/ManagementConfigurations"; - Requests[859] = new DefaultHttpContext(); - Requests[859].RequestServices = CreateServices(); - Requests[859].Request.Method = "GET"; - Requests[859].Request.Path = "/subscriptions/2cce7754-92ca-/providers/Microsoft.OperationsManagement/solutions"; - Requests[860] = new DefaultHttpContext(); - Requests[860].RequestServices = CreateServices(); - Requests[860].Request.Method = "GET"; - Requests[860].Request.Path = "/subscriptions/b71e3e5a-91da-/providers/Microsoft.PowerBI/workspaceCollections"; - Requests[861] = new DefaultHttpContext(); - Requests[861].RequestServices = CreateServices(); - Requests[861].Request.Method = "GET"; - Requests[861].Request.Path = "/subscriptions/74c57f5e-f392-/providers/Microsoft.PowerBIDedicated/capacities"; - Requests[862] = new DefaultHttpContext(); - Requests[862].RequestServices = CreateServices(); - Requests[862].Request.Method = "GET"; - Requests[862].Request.Path = "/subscriptions/0ec4277e-253a-/providers/Microsoft.PowerBIDedicated/skus"; - Requests[863] = new DefaultHttpContext(); - Requests[863].RequestServices = CreateServices(); - Requests[863].Request.Method = "GET"; - Requests[863].Request.Path = "/subscriptions/c75358bc-c94a-/providers/Microsoft.RecoveryServices/vaults"; - Requests[864] = new DefaultHttpContext(); - Requests[864].RequestServices = CreateServices(); - Requests[864].Request.Method = "POST"; - Requests[864].Request.Path = "/subscriptions/890c77a5-2da7-/providers/Microsoft.Relay/checkNameAvailability"; - Requests[865] = new DefaultHttpContext(); - Requests[865].RequestServices = CreateServices(); - Requests[865].Request.Method = "GET"; - Requests[865].Request.Path = "/subscriptions/ed7d237e-fc87-/providers/Microsoft.Relay/namespaces"; - Requests[866] = new DefaultHttpContext(); - Requests[866].RequestServices = CreateServices(); - Requests[866].Request.Method = "GET"; - Requests[866].Request.Path = "/subscriptions/20e4d3f3-a822-/providers/Microsoft.ResourceHealth/availabilityStatuses"; - Requests[867] = new DefaultHttpContext(); - Requests[867].RequestServices = CreateServices(); - Requests[867].Request.Method = "GET"; - Requests[867].Request.Path = "/subscriptions/e981dac3-b80e-/providers/Microsoft.Resources/links"; - Requests[868] = new DefaultHttpContext(); - Requests[868].RequestServices = CreateServices(); - Requests[868].Request.Method = "GET"; - Requests[868].Request.Path = "/subscriptions/21a6453c-7fb2-/providers/Microsoft.Scheduler/jobCollections"; - Requests[869] = new DefaultHttpContext(); - Requests[869].RequestServices = CreateServices(); - Requests[869].Request.Method = "POST"; - Requests[869].Request.Path = "/subscriptions/ca932b6c-2be6-/providers/Microsoft.Search/checkNameAvailability"; - Requests[870] = new DefaultHttpContext(); - Requests[870].RequestServices = CreateServices(); - Requests[870].Request.Method = "GET"; - Requests[870].Request.Path = "/subscriptions/6affb4f0-24ab-/providers/Microsoft.Security/alerts"; - Requests[871] = new DefaultHttpContext(); - Requests[871].RequestServices = CreateServices(); - Requests[871].Request.Method = "GET"; - Requests[871].Request.Path = "/subscriptions/8ad9b2e7-ebc1-/providers/Microsoft.Security/autoProvisioningSettings"; - Requests[872] = new DefaultHttpContext(); - Requests[872].RequestServices = CreateServices(); - Requests[872].Request.Method = "GET"; - Requests[872].Request.Path = "/subscriptions/7de5740f-4632-/providers/Microsoft.Security/discoveredSecuritySolutions"; - Requests[873] = new DefaultHttpContext(); - Requests[873].RequestServices = CreateServices(); - Requests[873].Request.Method = "GET"; - Requests[873].Request.Path = "/subscriptions/3f660e7c-257b-/providers/Microsoft.Security/externalSecuritySolutions"; - Requests[874] = new DefaultHttpContext(); - Requests[874].RequestServices = CreateServices(); - Requests[874].Request.Method = "GET"; - Requests[874].Request.Path = "/subscriptions/921e4c75-e5f3-/providers/Microsoft.Security/jitNetworkAccessPolicies"; - Requests[875] = new DefaultHttpContext(); - Requests[875].RequestServices = CreateServices(); - Requests[875].Request.Method = "GET"; - Requests[875].Request.Path = "/subscriptions/c68754ac-d230-/providers/Microsoft.Security/locations"; - Requests[876] = new DefaultHttpContext(); - Requests[876].RequestServices = CreateServices(); - Requests[876].Request.Method = "GET"; - Requests[876].Request.Path = "/subscriptions/8c163a09-b7f0-/providers/Microsoft.Security/pricings"; - Requests[877] = new DefaultHttpContext(); - Requests[877].RequestServices = CreateServices(); - Requests[877].Request.Method = "GET"; - Requests[877].Request.Path = "/subscriptions/53b03151-8680-/providers/Microsoft.Security/securityContacts"; - Requests[878] = new DefaultHttpContext(); - Requests[878].RequestServices = CreateServices(); - Requests[878].Request.Method = "GET"; - Requests[878].Request.Path = "/subscriptions/c544c1fb-f9e3-/providers/Microsoft.Security/tasks"; - Requests[879] = new DefaultHttpContext(); - Requests[879].RequestServices = CreateServices(); - Requests[879].Request.Method = "GET"; - Requests[879].Request.Path = "/subscriptions/3f1a29ec-0fc9-/providers/Microsoft.Security/workspaceSettings"; - Requests[880] = new DefaultHttpContext(); - Requests[880].RequestServices = CreateServices(); - Requests[880].Request.Method = "GET"; - Requests[880].Request.Path = "/subscriptions/fa1fa440-43e8-/providers/Microsoft.ServerManagement/gateways"; - Requests[881] = new DefaultHttpContext(); - Requests[881].RequestServices = CreateServices(); - Requests[881].Request.Method = "GET"; - Requests[881].Request.Path = "/subscriptions/f92447dd-5229-/providers/Microsoft.ServerManagement/nodes"; - Requests[882] = new DefaultHttpContext(); - Requests[882].RequestServices = CreateServices(); - Requests[882].Request.Method = "POST"; - Requests[882].Request.Path = "/subscriptions/f0de8e27-9c51-/providers/Microsoft.ServiceBus/CheckNameAvailability"; - Requests[883] = new DefaultHttpContext(); - Requests[883].RequestServices = CreateServices(); - Requests[883].Request.Method = "POST"; - Requests[883].Request.Path = "/subscriptions/9eb0b7f1-8646-/providers/Microsoft.ServiceBus/CheckNameSpaceAvailability"; - Requests[884] = new DefaultHttpContext(); - Requests[884].RequestServices = CreateServices(); - Requests[884].Request.Method = "GET"; - Requests[884].Request.Path = "/subscriptions/5b43a5d4-176d-/providers/Microsoft.ServiceBus/namespaces"; - Requests[885] = new DefaultHttpContext(); - Requests[885].RequestServices = CreateServices(); - Requests[885].Request.Method = "GET"; - Requests[885].Request.Path = "/subscriptions/487cc931-c9d5-/providers/Microsoft.ServiceBus/premiumMessagingRegions"; - Requests[886] = new DefaultHttpContext(); - Requests[886].RequestServices = CreateServices(); - Requests[886].Request.Method = "GET"; - Requests[886].Request.Path = "/subscriptions/f585bed4-08ea-/providers/Microsoft.ServiceFabric/clusters"; - Requests[887] = new DefaultHttpContext(); - Requests[887].RequestServices = CreateServices(); - Requests[887].Request.Method = "GET"; - Requests[887].Request.Path = "/subscriptions/039acba1-a6ff-/providers/Microsoft.SignalRService/SignalR"; - Requests[888] = new DefaultHttpContext(); - Requests[888].RequestServices = CreateServices(); - Requests[888].Request.Method = "GET"; - Requests[888].Request.Path = "/subscriptions/18e86dd1-0fb9-/providers/Microsoft.Solutions/appliances"; - Requests[889] = new DefaultHttpContext(); - Requests[889].RequestServices = CreateServices(); - Requests[889].Request.Method = "GET"; - Requests[889].Request.Path = "/subscriptions/5c743960-8691-/providers/Microsoft.Solutions/applications"; - Requests[890] = new DefaultHttpContext(); - Requests[890].RequestServices = CreateServices(); - Requests[890].Request.Method = "POST"; - Requests[890].Request.Path = "/subscriptions/8d92b24d-0aee-/providers/Microsoft.Sql/checkNameAvailability"; - Requests[891] = new DefaultHttpContext(); - Requests[891].RequestServices = CreateServices(); - Requests[891].Request.Method = "GET"; - Requests[891].Request.Path = "/subscriptions/e469254a-b5b4-/providers/Microsoft.Sql/managedInstances"; - Requests[892] = new DefaultHttpContext(); - Requests[892].RequestServices = CreateServices(); - Requests[892].Request.Method = "GET"; - Requests[892].Request.Path = "/subscriptions/9c901ced-5a7c-/providers/Microsoft.Sql/servers"; - Requests[893] = new DefaultHttpContext(); - Requests[893].RequestServices = CreateServices(); - Requests[893].Request.Method = "POST"; - Requests[893].Request.Path = "/subscriptions/0b10ea1a-21c7-/providers/Microsoft.Storage/checkNameAvailability"; - Requests[894] = new DefaultHttpContext(); - Requests[894].RequestServices = CreateServices(); - Requests[894].Request.Method = "GET"; - Requests[894].Request.Path = "/subscriptions/737090ba-4bbc-/providers/Microsoft.Storage/skus"; - Requests[895] = new DefaultHttpContext(); - Requests[895].RequestServices = CreateServices(); - Requests[895].Request.Method = "GET"; - Requests[895].Request.Path = "/subscriptions/5851a59e-4918-/providers/Microsoft.Storage/storageAccounts"; - Requests[896] = new DefaultHttpContext(); - Requests[896].RequestServices = CreateServices(); - Requests[896].Request.Method = "GET"; - Requests[896].Request.Path = "/subscriptions/4564af67-e5e9-/providers/Microsoft.Storage/usages"; - Requests[897] = new DefaultHttpContext(); - Requests[897].RequestServices = CreateServices(); - Requests[897].Request.Method = "GET"; - Requests[897].Request.Path = "/subscriptions/2b0b44cf-5f5d-/providers/Microsoft.StorSimple/managers"; - Requests[898] = new DefaultHttpContext(); - Requests[898].RequestServices = CreateServices(); - Requests[898].Request.Method = "GET"; - Requests[898].Request.Path = "/subscriptions/ddbd8b79-a493-/providers/Microsoft.StreamAnalytics/streamingjobs"; - Requests[899] = new DefaultHttpContext(); - Requests[899].RequestServices = CreateServices(); - Requests[899].Request.Method = "POST"; - Requests[899].Request.Path = "/subscriptions/ccec1836-6e07-/providers/Microsoft.Subscriptions.Admin/checkNameAvailability"; - Requests[900] = new DefaultHttpContext(); - Requests[900].RequestServices = CreateServices(); - Requests[900].Request.Method = "GET"; - Requests[900].Request.Path = "/subscriptions/6ad386f2-b031-/providers/Microsoft.Subscriptions.Admin/delegatedProviders"; - Requests[901] = new DefaultHttpContext(); - Requests[901].RequestServices = CreateServices(); - Requests[901].Request.Method = "GET"; - Requests[901].Request.Path = "/subscriptions/e2e8e43a-3cfa-/providers/Microsoft.Subscriptions.Admin/locations"; - Requests[902] = new DefaultHttpContext(); - Requests[902].RequestServices = CreateServices(); - Requests[902].Request.Method = "POST"; - Requests[902].Request.Path = "/subscriptions/769567c0-a3e4-/providers/Microsoft.Subscriptions.Admin/moveSubscriptions"; - Requests[903] = new DefaultHttpContext(); - Requests[903].RequestServices = CreateServices(); - Requests[903].Request.Method = "GET"; - Requests[903].Request.Path = "/subscriptions/c4a21ada-c8d5-/providers/Microsoft.Subscriptions.Admin/offers"; - Requests[904] = new DefaultHttpContext(); - Requests[904].RequestServices = CreateServices(); - Requests[904].Request.Method = "GET"; - Requests[904].Request.Path = "/subscriptions/a3196582-aba2-/providers/Microsoft.Subscriptions.Admin/plans"; - Requests[905] = new DefaultHttpContext(); - Requests[905].RequestServices = CreateServices(); - Requests[905].Request.Method = "POST"; - Requests[905].Request.Path = "/subscriptions/4ce2c307-62da-/providers/Microsoft.Subscriptions.Admin/restoreData"; - Requests[906] = new DefaultHttpContext(); - Requests[906].RequestServices = CreateServices(); - Requests[906].Request.Method = "GET"; - Requests[906].Request.Path = "/subscriptions/d2f46427-fdb8-/providers/Microsoft.Subscriptions.Admin/subscriptions"; - Requests[907] = new DefaultHttpContext(); - Requests[907].RequestServices = CreateServices(); - Requests[907].Request.Method = "POST"; - Requests[907].Request.Path = "/subscriptions/9abfa71c-6689-/providers/Microsoft.Subscriptions.Admin/updateEncryption"; - Requests[908] = new DefaultHttpContext(); - Requests[908].RequestServices = CreateServices(); - Requests[908].Request.Method = "POST"; - Requests[908].Request.Path = "/subscriptions/92fb0ff8-ab5c-/providers/Microsoft.Subscriptions.Admin/validateMoveSubscriptions"; - Requests[909] = new DefaultHttpContext(); - Requests[909].RequestServices = CreateServices(); - Requests[909].Request.Method = "GET"; - Requests[909].Request.Path = "/subscriptions/8c5d7e15-a506-/providers/Microsoft.TimeSeriesInsights/environments"; - Requests[910] = new DefaultHttpContext(); - Requests[910].RequestServices = CreateServices(); - Requests[910].Request.Method = "POST"; - Requests[910].Request.Path = "/subscriptions/2a39253f-ed6f-/providers/microsoft.visualstudio/checkNameAvailability"; - Requests[911] = new DefaultHttpContext(); - Requests[911].RequestServices = CreateServices(); - Requests[911].Request.Method = "GET"; - Requests[911].Request.Path = "/subscriptions/8cf0174f-496f-/providers/Microsoft.Web/availableStacks"; - Requests[912] = new DefaultHttpContext(); - Requests[912].RequestServices = CreateServices(); - Requests[912].Request.Method = "GET"; - Requests[912].Request.Path = "/subscriptions/0a88782f-70e9-/providers/Microsoft.Web/billingMeters"; - Requests[913] = new DefaultHttpContext(); - Requests[913].RequestServices = CreateServices(); - Requests[913].Request.Method = "GET"; - Requests[913].Request.Path = "/subscriptions/9014f46d-f72f-/providers/Microsoft.Web/certificates"; - Requests[914] = new DefaultHttpContext(); - Requests[914].RequestServices = CreateServices(); - Requests[914].Request.Method = "POST"; - Requests[914].Request.Path = "/subscriptions/effb48cb-0453-/providers/Microsoft.Web/checknameavailability"; - Requests[915] = new DefaultHttpContext(); - Requests[915].RequestServices = CreateServices(); - Requests[915].Request.Method = "GET"; - Requests[915].Request.Path = "/subscriptions/fb838064-cfc4-/providers/Microsoft.Web/classicMobileServices"; - Requests[916] = new DefaultHttpContext(); - Requests[916].RequestServices = CreateServices(); - Requests[916].Request.Method = "GET"; - Requests[916].Request.Path = "/subscriptions/38450d8e-a7aa-/providers/Microsoft.Web/connectionGateways"; - Requests[917] = new DefaultHttpContext(); - Requests[917].RequestServices = CreateServices(); - Requests[917].Request.Method = "GET"; - Requests[917].Request.Path = "/subscriptions/42dcf53a-262e-/providers/Microsoft.Web/customApis"; - Requests[918] = new DefaultHttpContext(); - Requests[918].RequestServices = CreateServices(); - Requests[918].Request.Method = "GET"; - Requests[918].Request.Path = "/subscriptions/2417dde8-283c-/providers/Microsoft.Web/deletedSites"; - Requests[919] = new DefaultHttpContext(); - Requests[919].RequestServices = CreateServices(); - Requests[919].Request.Method = "GET"; - Requests[919].Request.Path = "/subscriptions/2ccbd0fa-a4f8-/providers/Microsoft.Web/deploymentLocations"; - Requests[920] = new DefaultHttpContext(); - Requests[920].RequestServices = CreateServices(); - Requests[920].Request.Method = "GET"; - Requests[920].Request.Path = "/subscriptions/9ed74014-c346-/providers/Microsoft.Web/geoRegions"; - Requests[921] = new DefaultHttpContext(); - Requests[921].RequestServices = CreateServices(); - Requests[921].Request.Method = "GET"; - Requests[921].Request.Path = "/subscriptions/a60f81bc-4fc2-/providers/Microsoft.Web/hostingEnvironments"; - Requests[922] = new DefaultHttpContext(); - Requests[922].RequestServices = CreateServices(); - Requests[922].Request.Method = "GET"; - Requests[922].Request.Path = "/subscriptions/9f2c3f0e-8693-/providers/Microsoft.Web/ishostingenvironmentnameavailable"; - Requests[923] = new DefaultHttpContext(); - Requests[923].RequestServices = CreateServices(); - Requests[923].Request.Method = "POST"; - Requests[923].Request.Path = "/subscriptions/6ec6c940-09a7-/providers/Microsoft.Web/listSitesAssignedToHostName"; - Requests[924] = new DefaultHttpContext(); - Requests[924].RequestServices = CreateServices(); - Requests[924].Request.Method = "GET"; - Requests[924].Request.Path = "/subscriptions/0290e878-b5b8-/providers/Microsoft.Web/managedHostingEnvironments"; - Requests[925] = new DefaultHttpContext(); - Requests[925].RequestServices = CreateServices(); - Requests[925].Request.Method = "GET"; - Requests[925].Request.Path = "/subscriptions/1e7ab3f2-ac8a-/providers/Microsoft.Web/premieraddonoffers"; - Requests[926] = new DefaultHttpContext(); - Requests[926].RequestServices = CreateServices(); - Requests[926].Request.Method = "PUT"; - Requests[926].Request.Path = "/subscriptions/6774519c-4e3d-/providers/Microsoft.Web/publishingCredentials"; - Requests[927] = new DefaultHttpContext(); - Requests[927].RequestServices = CreateServices(); - Requests[927].Request.Method = "GET"; - Requests[927].Request.Path = "/subscriptions/76fe7714-58c4-/providers/Microsoft.Web/recommendations"; - Requests[928] = new DefaultHttpContext(); - Requests[928].RequestServices = CreateServices(); - Requests[928].Request.Method = "GET"; - Requests[928].Request.Path = "/subscriptions/78309ffd-3eee-/providers/Microsoft.Web/resourceHealthMetadata"; - Requests[929] = new DefaultHttpContext(); - Requests[929].RequestServices = CreateServices(); - Requests[929].Request.Method = "GET"; - Requests[929].Request.Path = "/subscriptions/fdc7d996-7b8d-/providers/Microsoft.Web/serverfarms"; - Requests[930] = new DefaultHttpContext(); - Requests[930].RequestServices = CreateServices(); - Requests[930].Request.Method = "GET"; - Requests[930].Request.Path = "/subscriptions/72a5a2dd-d2cb-/providers/Microsoft.Web/sites"; - Requests[931] = new DefaultHttpContext(); - Requests[931].RequestServices = CreateServices(); - Requests[931].Request.Method = "GET"; - Requests[931].Request.Path = "/subscriptions/0efe3621-919d-/providers/Microsoft.Web/skus"; - Requests[932] = new DefaultHttpContext(); - Requests[932].RequestServices = CreateServices(); - Requests[932].Request.Method = "POST"; - Requests[932].Request.Path = "/subscriptions/69c7c5df-0646-/providers/Microsoft.Web/verifyHostingEnvironmentVnet"; - Requests[933] = new DefaultHttpContext(); - Requests[933].RequestServices = CreateServices(); - Requests[933].Request.Method = "POST"; - Requests[933].Request.Path = "/Applications/3b7866fa-0388/$/GetServices/$/Create"; - Requests[934] = new DefaultHttpContext(); - Requests[934].RequestServices = CreateServices(); - Requests[934].Request.Method = "POST"; - Requests[934].Request.Path = "/Applications/0e883a3a-bbad/$/GetServices/$/CreateFromTemplate"; - Requests[935] = new DefaultHttpContext(); - Requests[935].RequestServices = CreateServices(); - Requests[935].Request.Method = "POST"; - Requests[935].Request.Path = "/Applications/ea0c85ad-fbfe-4/$/GetServiceGroups/$/CreateServiceGroupFromTemplate"; - Requests[936] = new DefaultHttpContext(); - Requests[936].RequestServices = CreateServices(); - Requests[936].Request.Method = "POST"; - Requests[936].Request.Path = "/Applications/24334e80-9989-4/$/GetServices/$/CreateServiceGroup"; - Requests[937] = new DefaultHttpContext(); - Requests[937].RequestServices = CreateServices(); - Requests[937].Request.Method = "POST"; - Requests[937].Request.Path = "/Names/5253ff/$/GetProperties/$/SubmitBatch"; - Requests[938] = new DefaultHttpContext(); - Requests[938].RequestServices = CreateServices(); - Requests[938].Request.Method = "POST"; - Requests[938].Request.Path = "/Services/e19c7769-6f/$/GetPartitions/$/Recover"; - Requests[939] = new DefaultHttpContext(); - Requests[939].RequestServices = CreateServices(); - Requests[939].Request.Method = "GET"; - Requests[939].Request.Path = "/subscriptions/ac951d2d-124c-/providers/Microsoft.Billing/invoices/latest"; - Requests[940] = new DefaultHttpContext(); - Requests[940].RequestServices = CreateServices(); - Requests[940].Request.Method = "GET"; - Requests[940].Request.Path = "/subscriptions/9ec1697b-b0a1-/providers/Microsoft.Consumption/pricesheets/default"; - Requests[941] = new DefaultHttpContext(); - Requests[941].RequestServices = CreateServices(); - Requests[941].Request.Method = "GET"; - Requests[941].Request.Path = "/subscriptions/25d8ec71-7176-/providers/Microsoft.Network/applicationGatewayAvailableSslOptions/default"; - Requests[942] = new DefaultHttpContext(); - Requests[942].RequestServices = CreateServices(); - Requests[942].Request.Method = "POST"; - Requests[942].Request.Path = "/subscriptions/bfc66a7a-f1f2-/providers/Microsoft.Web/recommendations/reset"; - Requests[943] = new DefaultHttpContext(); - Requests[943].RequestServices = CreateServices(); - Requests[943].Request.Method = "POST"; - Requests[943].Request.Path = "/subscriptions/a67a0e8a-9b9d-/providers/Microsoft.Addons/supportProviders/canonical/listSupportPlanInfo"; - Requests[944] = new DefaultHttpContext(); - Requests[944].RequestServices = CreateServices(); - Requests[944].Request.Method = "GET"; - Requests[944].Request.Path = "/subscriptions/0d41808d-2cb9-/providers/microsoft.insights/eventtypes/management/values"; - Requests[945] = new DefaultHttpContext(); - Requests[945].RequestServices = CreateServices(); - Requests[945].Request.Method = "GET"; - Requests[945].Request.Path = "/subscriptions/19676ac9-f5d4-/providers/Microsoft.Network/applicationGatewayAvailableSslOptions/default/predefinedPolicies"; - Requests[946] = new DefaultHttpContext(); - Requests[946].RequestServices = CreateServices(); - Requests[946].Request.Method = "GET"; - Requests[946].Request.Path = "/subscriptions/45f1c4fa-5b7c-/providers/Microsoft.Network/applicationGatewayAvailableSslOptions/default/predefinedPolicies/f060079a-e82b-4dbd-a"; - Requests[947] = new DefaultHttpContext(); - Requests[947].RequestServices = CreateServices(); - Requests[947].Request.Method = "GET"; - Requests[947].Request.Path = "/subscriptions/70412fd1-adf7-/providers/Microsoft.Advisor/generateRecommendations/51f5a916-d0"; - Requests[948] = new DefaultHttpContext(); - Requests[948].RequestServices = CreateServices(); - Requests[948].Request.Method = "GET"; - Requests[948].Request.Path = "/subscriptions/cc008cb4-0da0-/providers/Microsoft.Authorization/locks/ee7ee867"; - Requests[949] = new DefaultHttpContext(); - Requests[949].RequestServices = CreateServices(); - Requests[949].Request.Method = "DELETE"; - Requests[949].Request.Path = "/subscriptions/485a00f8-58e8-/providers/Microsoft.Authorization/policydefinitions/a3596b6a-8e40-4a2b-a"; - Requests[950] = new DefaultHttpContext(); - Requests[950].RequestServices = CreateServices(); - Requests[950].Request.Method = "GET"; - Requests[950].Request.Path = "/subscriptions/fa9956d2-7479-/providers/Microsoft.Authorization/policySetDefinitions/c357e038-5cc2-4cc8-aac6"; - Requests[951] = new DefaultHttpContext(); - Requests[951].RequestServices = CreateServices(); - Requests[951].Request.Method = "GET"; - Requests[951].Request.Path = "/subscriptions/ab782db1-c8bb-/providers/Microsoft.Billing/billingPeriods/45174cec-3a23-4bf"; - Requests[952] = new DefaultHttpContext(); - Requests[952].RequestServices = CreateServices(); - Requests[952].Request.Method = "GET"; - Requests[952].Request.Path = "/subscriptions/c48f12ce-80f0-/providers/Microsoft.Billing/invoices/8048214d-e7"; - Requests[953] = new DefaultHttpContext(); - Requests[953].RequestServices = CreateServices(); - Requests[953].Request.Method = "DELETE"; - Requests[953].Request.Path = "/subscriptions/2e14982d-955d-/providers/Microsoft.Consumption/budgets/d5f23242-b"; - Requests[954] = new DefaultHttpContext(); - Requests[954].RequestServices = CreateServices(); - Requests[954].Request.Method = "GET"; - Requests[954].Request.Path = "/subscriptions/02b57a97-15ca-/providers/Microsoft.DomainRegistration/topLevelDomains/35135"; - Requests[955] = new DefaultHttpContext(); - Requests[955].RequestServices = CreateServices(); - Requests[955].Request.Method = "DELETE"; - Requests[955].Request.Path = "/subscriptions/8ac0d74f-5fce-/providers/microsoft.gallery.admin/galleryItems/d289f52c-7cba-4"; - Requests[956] = new DefaultHttpContext(); - Requests[956].RequestServices = CreateServices(); - Requests[956].Request.Method = "PATCH"; - Requests[956].Request.Path = "/subscriptions/91d2b7dc-843f-/providers/microsoft.insights/logprofiles/e832e917-466f-"; - Requests[957] = new DefaultHttpContext(); - Requests[957].RequestServices = CreateServices(); - Requests[957].Request.Method = "GET"; - Requests[957].Request.Path = "/subscriptions/da23414d-1c73-/providers/Microsoft.Media/mediaservices/eb00a947-ac"; - Requests[958] = new DefaultHttpContext(); - Requests[958].RequestServices = CreateServices(); - Requests[958].Request.Method = "PUT"; - Requests[958].Request.Path = "/subscriptions/445a0321-25f4-/providers/Microsoft.Security/autoProvisioningSettings/9847fb5d-82"; - Requests[959] = new DefaultHttpContext(); - Requests[959].RequestServices = CreateServices(); - Requests[959].Request.Method = "GET"; - Requests[959].Request.Path = "/subscriptions/56fd6eca-2ba0-/providers/Microsoft.Security/locations/409dc3f5-21"; - Requests[960] = new DefaultHttpContext(); - Requests[960].RequestServices = CreateServices(); - Requests[960].Request.Method = "PUT"; - Requests[960].Request.Path = "/subscriptions/cf3da7d1-7e7b-/providers/Microsoft.Security/pricings/10ed36d8-e2"; - Requests[961] = new DefaultHttpContext(); - Requests[961].RequestServices = CreateServices(); - Requests[961].Request.Method = "PATCH"; - Requests[961].Request.Path = "/subscriptions/1e5a1121-8757-/providers/Microsoft.Security/workspaceSettings/8a12ca1e-410c-41a4-9"; - Requests[962] = new DefaultHttpContext(); - Requests[962].RequestServices = CreateServices(); - Requests[962].Request.Method = "GET"; - Requests[962].Request.Path = "/subscriptions/7971808e-c096-/providers/Microsoft.Subscriptions.Admin/delegatedProviders/6e35b73e-be16-472"; - Requests[963] = new DefaultHttpContext(); - Requests[963].RequestServices = CreateServices(); - Requests[963].Request.Method = "DELETE"; - Requests[963].Request.Path = "/subscriptions/0eaad5af-688b-/providers/Microsoft.Subscriptions.Admin/locations/c286eec6"; - Requests[964] = new DefaultHttpContext(); - Requests[964].RequestServices = CreateServices(); - Requests[964].Request.Method = "DELETE"; - Requests[964].Request.Path = "/subscriptions/a41c02d3-50a8-/providers/Microsoft.Subscriptions.Admin/subscriptions/8c91893f-6cd"; - Requests[965] = new DefaultHttpContext(); - Requests[965].RequestServices = CreateServices(); - Requests[965].Request.Method = "GET"; - Requests[965].Request.Path = "/subscriptions/08750a41-93ba-/providers/Microsoft.Web/ishostingenvironmentnameavailable/693e6"; - Requests[966] = new DefaultHttpContext(); - Requests[966].RequestServices = CreateServices(); - Requests[966].Request.Method = "GET"; - Requests[966].Request.Path = "/subscriptions/950a44e7-158b-/providers/Microsoft.Addons/supportProviders/b4aa3b70-c4e/supportPlanTypes"; - Requests[967] = new DefaultHttpContext(); - Requests[967].RequestServices = CreateServices(); - Requests[967].Request.Method = "POST"; - Requests[967].Request.Path = "/subscriptions/4c7de496-e6e8-/providers/Microsoft.AnalysisServices/locations/3dbd5f65/checkNameAvailability"; - Requests[968] = new DefaultHttpContext(); - Requests[968].RequestServices = CreateServices(); - Requests[968].Request.Method = "POST"; - Requests[968].Request.Path = "/subscriptions/d43b7ef8-383c-/providers/Microsoft.Batch/locations/5acbb9d3-d26/checkNameAvailability"; - Requests[969] = new DefaultHttpContext(); - Requests[969].RequestServices = CreateServices(); - Requests[969].Request.Method = "GET"; - Requests[969].Request.Path = "/subscriptions/3138c33c-2bf4-/providers/Microsoft.Batch/locations/41d1ed2a-e92/quotas"; - Requests[970] = new DefaultHttpContext(); - Requests[970].RequestServices = CreateServices(); - Requests[970].Request.Method = "GET"; - Requests[970].Request.Path = "/subscriptions/393734e1-4372-/providers/Microsoft.BatchAI/locations/18c562e5/usages"; - Requests[971] = new DefaultHttpContext(); - Requests[971].RequestServices = CreateServices(); - Requests[971].Request.Method = "POST"; - Requests[971].Request.Path = "/subscriptions/37ab8912-78ba-/providers/Microsoft.CognitiveServices/locations/0516373c/checkSkuAvailability"; - Requests[972] = new DefaultHttpContext(); - Requests[972].RequestServices = CreateServices(); - Requests[972].Request.Method = "GET"; - Requests[972].Request.Path = "/subscriptions/b55fc591-3752-/providers/Microsoft.Compute.Admin/locations/4020fc48/quotas"; - Requests[973] = new DefaultHttpContext(); - Requests[973].RequestServices = CreateServices(); - Requests[973].Request.Method = "GET"; - Requests[973].Request.Path = "/subscriptions/c65ef556-1d76-/providers/Microsoft.Compute/locations/3450a11d/publishers"; - Requests[974] = new DefaultHttpContext(); - Requests[974].RequestServices = CreateServices(); - Requests[974].Request.Method = "GET"; - Requests[974].Request.Path = "/subscriptions/5e5ef054-dd0c-/providers/Microsoft.Compute/locations/869fd981/runCommands"; - Requests[975] = new DefaultHttpContext(); - Requests[975].RequestServices = CreateServices(); - Requests[975].Request.Method = "GET"; - Requests[975].Request.Path = "/subscriptions/a08f7db2-72a0-/providers/Microsoft.Compute/locations/cabb71c3/usages"; - Requests[976] = new DefaultHttpContext(); - Requests[976].RequestServices = CreateServices(); - Requests[976].Request.Method = "GET"; - Requests[976].Request.Path = "/subscriptions/d9a12bcd-0209-/providers/Microsoft.Compute/locations/8b3551ee/vmSizes"; - Requests[977] = new DefaultHttpContext(); - Requests[977].RequestServices = CreateServices(); - Requests[977].Request.Method = "GET"; - Requests[977].Request.Path = "/subscriptions/5393940e-ed89-/providers/Microsoft.ContainerInstance/locations/e0ac5ad1/usages"; - Requests[978] = new DefaultHttpContext(); - Requests[978].RequestServices = CreateServices(); - Requests[978].Request.Method = "GET"; - Requests[978].Request.Path = "/subscriptions/62d58fd9-d699-/providers/Microsoft.ContainerService/locations/796ab946/orchestrators"; - Requests[979] = new DefaultHttpContext(); - Requests[979].RequestServices = CreateServices(); - Requests[979].Request.Method = "POST"; - Requests[979].Request.Path = "/subscriptions/c618f18a-346f-/providers/Microsoft.DataBox/locations/f2a1041f/availableSkus"; - Requests[980] = new DefaultHttpContext(); - Requests[980].RequestServices = CreateServices(); - Requests[980].Request.Method = "POST"; - Requests[980].Request.Path = "/subscriptions/355f3a19-468f-/providers/Microsoft.DataBox/locations/16e75bbf/validateAddress"; - Requests[981] = new DefaultHttpContext(); - Requests[981].RequestServices = CreateServices(); - Requests[981].Request.Method = "POST"; - Requests[981].Request.Path = "/subscriptions/3ea82b72-9577-/providers/Microsoft.DataFactory/locations/61922f97-5/configureFactoryRepo"; - Requests[982] = new DefaultHttpContext(); - Requests[982].RequestServices = CreateServices(); - Requests[982].Request.Method = "GET"; - Requests[982].Request.Path = "/subscriptions/3a2cd8e8-4b7f-/providers/Microsoft.DataLakeAnalytics/locations/5fe2050f/capability"; - Requests[983] = new DefaultHttpContext(); - Requests[983].RequestServices = CreateServices(); - Requests[983].Request.Method = "POST"; - Requests[983].Request.Path = "/subscriptions/d62876fe-7d5f-/providers/Microsoft.DataLakeAnalytics/locations/9efbe55b/checkNameAvailability"; - Requests[984] = new DefaultHttpContext(); - Requests[984].RequestServices = CreateServices(); - Requests[984].Request.Method = "GET"; - Requests[984].Request.Path = "/subscriptions/86f0feaf-a53a-/providers/Microsoft.DataLakeStore/locations/27354a2f/capability"; - Requests[985] = new DefaultHttpContext(); - Requests[985].RequestServices = CreateServices(); - Requests[985].Request.Method = "POST"; - Requests[985].Request.Path = "/subscriptions/931a015b-6c61-/providers/Microsoft.DataLakeStore/locations/2deec4c4/checkNameAvailability"; - Requests[986] = new DefaultHttpContext(); - Requests[986].RequestServices = CreateServices(); - Requests[986].Request.Method = "POST"; - Requests[986].Request.Path = "/subscriptions/2791102c-7b17-/providers/Microsoft.DataMigration/locations/dd68352b/checkNameAvailability"; - Requests[987] = new DefaultHttpContext(); - Requests[987].RequestServices = CreateServices(); - Requests[987].Request.Method = "GET"; - Requests[987].Request.Path = "/subscriptions/eb439f55-1b3c-/providers/Microsoft.DataMigration/locations/9a10e96b/usages"; - Requests[988] = new DefaultHttpContext(); - Requests[988].RequestServices = CreateServices(); - Requests[988].Request.Method = "GET"; - Requests[988].Request.Path = "/subscriptions/4597e99d-b21a-/providers/Microsoft.DBforMySQL/locations/f5c78f5d-50b/performanceTiers"; - Requests[989] = new DefaultHttpContext(); - Requests[989].RequestServices = CreateServices(); - Requests[989].Request.Method = "GET"; - Requests[989].Request.Path = "/subscriptions/8845a777-318d-/providers/Microsoft.DBforPostgreSQL/locations/42b7b661-6e1/performanceTiers"; - Requests[990] = new DefaultHttpContext(); - Requests[990].RequestServices = CreateServices(); - Requests[990].Request.Method = "POST"; - Requests[990].Request.Path = "/subscriptions/d5afe895-6a7b-/providers/Microsoft.DomainRegistration/topLevelDomains/85ad8/listAgreements"; - Requests[991] = new DefaultHttpContext(); - Requests[991].RequestServices = CreateServices(); - Requests[991].Request.Method = "GET"; - Requests[991].Request.Path = "/subscriptions/daedc125-6dc2-/providers/Microsoft.EventGrid/locations/ac436753/eventSubscriptions"; - Requests[992] = new DefaultHttpContext(); - Requests[992].RequestServices = CreateServices(); - Requests[992].Request.Method = "GET"; - Requests[992].Request.Path = "/subscriptions/744f5ab1-f57b-/providers/Microsoft.EventGrid/topicTypes/a72a71ca-88e4/eventSubscriptions"; - Requests[993] = new DefaultHttpContext(); - Requests[993].RequestServices = CreateServices(); - Requests[993].Request.Method = "GET"; - Requests[993].Request.Path = "/subscriptions/a7dfc7f3-334a-/providers/Microsoft.EventHub/sku/58612/regions"; - Requests[994] = new DefaultHttpContext(); - Requests[994].RequestServices = CreateServices(); - Requests[994].Request.Method = "GET"; - Requests[994].Request.Path = "/subscriptions/25d7d9f7-b306-/providers/Microsoft.Features/providers/90f74f00-ee3e-4929-bf82-8/features"; - Requests[995] = new DefaultHttpContext(); - Requests[995].RequestServices = CreateServices(); - Requests[995].Request.Method = "GET"; - Requests[995].Request.Path = "/subscriptions/d198b236-1cf3-/providers/Microsoft.HDInsight/locations/5383c818/capabilities"; - Requests[996] = new DefaultHttpContext(); - Requests[996].RequestServices = CreateServices(); - Requests[996].Request.Method = "GET"; - Requests[996].Request.Path = "/subscriptions/800b7b4f-f2e4-/providers/Microsoft.KeyVault.Admin/locations/06de6308/quotas"; - Requests[997] = new DefaultHttpContext(); - Requests[997].RequestServices = CreateServices(); - Requests[997].Request.Method = "POST"; - Requests[997].Request.Path = "/subscriptions/98227f0f-4cfa-/providers/Microsoft.Media/locations/1bdd8047-50d/checkNameAvailability"; - Requests[998] = new DefaultHttpContext(); - Requests[998].RequestServices = CreateServices(); - Requests[998].Request.Method = "GET"; - Requests[998].Request.Path = "/subscriptions/b60f5664-2623-/providers/Microsoft.Network.Admin/locations/67a07ac8/quotas"; - Requests[999] = new DefaultHttpContext(); - Requests[999].RequestServices = CreateServices(); - Requests[999].Request.Method = "GET"; - Requests[999].Request.Path = "/subscriptions/91a13751-253d-/providers/Microsoft.Network/locations/2c83ac13/CheckDnsNameAvailability"; - Requests[1000] = new DefaultHttpContext(); - Requests[1000].RequestServices = CreateServices(); - Requests[1000].Request.Method = "GET"; - Requests[1000].Request.Path = "/subscriptions/0403c39a-9b12-/providers/Microsoft.Network/locations/6a12060d/usages"; - Requests[1001] = new DefaultHttpContext(); - Requests[1001].RequestServices = CreateServices(); - Requests[1001].Request.Method = "GET"; - Requests[1001].Request.Path = "/subscriptions/d500d8a6-79cb-/providers/Microsoft.Network/locations/908c9475/virtualNetworkAvailableEndpointServices"; - Requests[1002] = new DefaultHttpContext(); - Requests[1002].RequestServices = CreateServices(); - Requests[1002].Request.Method = "POST"; - Requests[1002].Request.Path = "/subscriptions/49aaf657-a9f4-/providers/Microsoft.PolicyInsights/policyEvents/89b1d585-e840-44f3-9/queryResults"; - Requests[1003] = new DefaultHttpContext(); - Requests[1003].RequestServices = CreateServices(); - Requests[1003].Request.Method = "POST"; - Requests[1003].Request.Path = "/subscriptions/972e93e9-e534-/providers/Microsoft.PolicyInsights/policyStates/5506645e-6300-469e-9/queryResults"; - Requests[1004] = new DefaultHttpContext(); - Requests[1004].RequestServices = CreateServices(); - Requests[1004].Request.Method = "POST"; - Requests[1004].Request.Path = "/subscriptions/1061ea3b-ee14-/providers/Microsoft.PolicyInsights/policyStates/88f4235e-acb4-4b65-b91e-add/summarize"; - Requests[1005] = new DefaultHttpContext(); - Requests[1005].RequestServices = CreateServices(); - Requests[1005].Request.Method = "POST"; - Requests[1005].Request.Path = "/subscriptions/2a210692-bf68-/providers/Microsoft.PowerBI/locations/3af68df0/checkNameAvailability"; - Requests[1006] = new DefaultHttpContext(); - Requests[1006].RequestServices = CreateServices(); - Requests[1006].Request.Method = "POST"; - Requests[1006].Request.Path = "/Subscriptions/88ac251c-9d6d-/providers/Microsoft.RecoveryServices/locations/92150cf0-cd/backupPreValidateProtection"; - Requests[1007] = new DefaultHttpContext(); - Requests[1007].RequestServices = CreateServices(); - Requests[1007].Request.Method = "POST"; - Requests[1007].Request.Path = "/Subscriptions/48c74ac3-0637-/providers/Microsoft.RecoveryServices/locations/03fc281a-f3/backupStatus"; - Requests[1008] = new DefaultHttpContext(); - Requests[1008].RequestServices = CreateServices(); - Requests[1008].Request.Method = "POST"; - Requests[1008].Request.Path = "/Subscriptions/78b27b55-d3e6-/providers/Microsoft.RecoveryServices/locations/2b35e179-c0/backupValidateFeatures"; - Requests[1009] = new DefaultHttpContext(); - Requests[1009].RequestServices = CreateServices(); - Requests[1009].Request.Method = "GET"; - Requests[1009].Request.Path = "/subscriptions/23002a8a-55e6-/providers/Microsoft.Security/locations/a2a03d91-a4/alerts"; - Requests[1010] = new DefaultHttpContext(); - Requests[1010].RequestServices = CreateServices(); - Requests[1010].Request.Method = "GET"; - Requests[1010].Request.Path = "/subscriptions/5c76c76a-db7d-/providers/Microsoft.Security/locations/dd93e508-46/discoveredSecuritySolutions"; - Requests[1011] = new DefaultHttpContext(); - Requests[1011].RequestServices = CreateServices(); - Requests[1011].Request.Method = "GET"; - Requests[1011].Request.Path = "/subscriptions/da4b7c0f-e08d-/providers/Microsoft.Security/locations/c02ae921-e3/ExternalSecuritySolutions"; - Requests[1012] = new DefaultHttpContext(); - Requests[1012].RequestServices = CreateServices(); - Requests[1012].Request.Method = "GET"; - Requests[1012].Request.Path = "/subscriptions/b3888a03-89c0-/providers/Microsoft.Security/locations/2158dd85-16/jitNetworkAccessPolicies"; - Requests[1013] = new DefaultHttpContext(); - Requests[1013].RequestServices = CreateServices(); - Requests[1013].Request.Method = "GET"; - Requests[1013].Request.Path = "/subscriptions/6c416a01-88a5-/providers/Microsoft.Security/locations/cde57dcb-3d/tasks"; - Requests[1014] = new DefaultHttpContext(); - Requests[1014].RequestServices = CreateServices(); - Requests[1014].Request.Method = "GET"; - Requests[1014].Request.Path = "/subscriptions/a6ad91cb-6683-/providers/Microsoft.ServiceBus/sku/540be/regions"; - Requests[1015] = new DefaultHttpContext(); - Requests[1015].RequestServices = CreateServices(); - Requests[1015].Request.Method = "GET"; - Requests[1015].Request.Path = "/subscriptions/21753633-2bf3-/providers/Microsoft.ServiceFabric/locations/a1af0597/clusterVersions"; - Requests[1016] = new DefaultHttpContext(); - Requests[1016].RequestServices = CreateServices(); - Requests[1016].Request.Method = "POST"; - Requests[1016].Request.Path = "/subscriptions/25cda38f-f8da-/providers/Microsoft.SignalRService/locations/0b8e60a7/checkNameAvailability"; - Requests[1017] = new DefaultHttpContext(); - Requests[1017].RequestServices = CreateServices(); - Requests[1017].Request.Method = "GET"; - Requests[1017].Request.Path = "/subscriptions/ce1b9666-ead7-/providers/Microsoft.Sql/locations/97e5932b-499/capabilities"; - Requests[1018] = new DefaultHttpContext(); - Requests[1018].RequestServices = CreateServices(); - Requests[1018].Request.Method = "GET"; - Requests[1018].Request.Path = "/subscriptions/6447e7c1-cf20-/providers/Microsoft.Sql/locations/2f23de22-cb8/longTermRetentionBackups"; - Requests[1019] = new DefaultHttpContext(); - Requests[1019].RequestServices = CreateServices(); - Requests[1019].Request.Method = "GET"; - Requests[1019].Request.Path = "/subscriptions/eb6b12b2-797f-/providers/Microsoft.Sql/locations/59eb1cc8-75c/syncDatabaseIds"; - Requests[1020] = new DefaultHttpContext(); - Requests[1020].RequestServices = CreateServices(); - Requests[1020].Request.Method = "GET"; - Requests[1020].Request.Path = "/subscriptions/e1f23ed4-32bf-/providers/Microsoft.Sql/locations/820312c4-869/usages"; - Requests[1021] = new DefaultHttpContext(); - Requests[1021].RequestServices = CreateServices(); - Requests[1021].Request.Method = "GET"; - Requests[1021].Request.Path = "/subscriptions/1ac6cc08-c1dd-/providers/Microsoft.Storage.Admin/locations/1ad7213c/quotas"; - Requests[1022] = new DefaultHttpContext(); - Requests[1022].RequestServices = CreateServices(); - Requests[1022].Request.Method = "GET"; - Requests[1022].Request.Path = "/subscriptions/995c57b3-d868-/providers/Microsoft.Storage/locations/02a9292a/usages"; - Requests[1023] = new DefaultHttpContext(); - Requests[1023].RequestServices = CreateServices(); - Requests[1023].Request.Method = "GET"; - Requests[1023].Request.Path = "/subscriptions/71445ad4-8cdb-/providers/Microsoft.StreamAnalytics/locations/ba16c227/quotas"; - Requests[1024] = new DefaultHttpContext(); - Requests[1024].RequestServices = CreateServices(); - Requests[1024].Request.Method = "GET"; - Requests[1024].Request.Path = "/subscriptions/87767591-152d-/providers/Microsoft.Subscriptions.Admin/delegatedProviders/9b8db00b-28ee-411c-83c9-0e9ccdc/offers"; - Requests[1025] = new DefaultHttpContext(); - Requests[1025].RequestServices = CreateServices(); - Requests[1025].Request.Method = "GET"; - Requests[1025].Request.Path = "/subscriptions/61e2883d-7d4e-/providers/Microsoft.Subscriptions.Admin/locations/b7a9635b/quotas"; - Requests[1026] = new DefaultHttpContext(); - Requests[1026].RequestServices = CreateServices(); - Requests[1026].Request.Method = "GET"; - Requests[1026].Request.Path = "/subscriptions/9cbc8dfc-3066-/providers/Microsoft.Subscriptions.Admin/subscriptions/625f4be2-e9d3-4ed7-8/acquiredPlans"; - Requests[1027] = new DefaultHttpContext(); - Requests[1027].RequestServices = CreateServices(); - Requests[1027].Request.Method = "GET"; - Requests[1027].Request.Path = "/subscriptions/c98733ca-7c6a-/providers/Microsoft.Web/locations/c3dbd830/connectionGatewayInstallations"; - Requests[1028] = new DefaultHttpContext(); - Requests[1028].RequestServices = CreateServices(); - Requests[1028].Request.Method = "POST"; - Requests[1028].Request.Path = "/subscriptions/1bd90659-8300-/providers/Microsoft.Web/locations/07d79cc3/extractApiDefinitionFromWsdl"; - Requests[1029] = new DefaultHttpContext(); - Requests[1029].RequestServices = CreateServices(); - Requests[1029].Request.Method = "POST"; - Requests[1029].Request.Path = "/subscriptions/ac52a266-acc3-/providers/Microsoft.Web/locations/7ec1af5c/listWsdlInterfaces"; - Requests[1030] = new DefaultHttpContext(); - Requests[1030].RequestServices = CreateServices(); - Requests[1030].Request.Method = "GET"; - Requests[1030].Request.Path = "/subscriptions/25c160b3-82ee-/providers/Microsoft.Web/locations/a9de8f44/managedApis"; - Requests[1031] = new DefaultHttpContext(); - Requests[1031].RequestServices = CreateServices(); - Requests[1031].Request.Method = "POST"; - Requests[1031].Request.Path = "/subscriptions/e7412d09-083f-/providers/Microsoft.Web/recommendations/1888b/disable"; - Requests[1032] = new DefaultHttpContext(); - Requests[1032].RequestServices = CreateServices(); - Requests[1032].Request.Method = "GET"; - Requests[1032].Request.Path = "/subscriptions/2807769a-ae39-/providers/Microsoft.Compute.Admin/locations/6364f2bb/artifactTypes/platformImage"; - Requests[1033] = new DefaultHttpContext(); - Requests[1033].RequestServices = CreateServices(); - Requests[1033].Request.Method = "GET"; - Requests[1033].Request.Path = "/subscriptions/a75e9a08-9ffe-/providers/Microsoft.Compute.Admin/locations/3e7e7077/artifactTypes/VMExtension"; - Requests[1034] = new DefaultHttpContext(); - Requests[1034].RequestServices = CreateServices(); - Requests[1034].Request.Method = "GET"; - Requests[1034].Request.Path = "/subscriptions/b3212722-ff6e-/providers/Microsoft.Billing/billingPeriods/40442af4-e46f-4d8/providers/Microsoft.Consumption/marketplaces"; - Requests[1035] = new DefaultHttpContext(); - Requests[1035].RequestServices = CreateServices(); - Requests[1035].Request.Method = "GET"; - Requests[1035].Request.Path = "/subscriptions/9230000a-0e91-/providers/Microsoft.Billing/billingPeriods/a9957a57-979f-4c2/providers/Microsoft.Consumption/usageDetails"; - Requests[1036] = new DefaultHttpContext(); - Requests[1036].RequestServices = CreateServices(); - Requests[1036].Request.Method = "POST"; - Requests[1036].Request.Path = "/subscriptions/24a46526-7870-/providers/Microsoft.Compute/locations/87cd55e7/logAnalytics/apiAccess/getRequestRateByInterval"; - Requests[1037] = new DefaultHttpContext(); - Requests[1037].RequestServices = CreateServices(); - Requests[1037].Request.Method = "POST"; - Requests[1037].Request.Path = "/subscriptions/a8ade649-6030-/providers/Microsoft.Compute/locations/b851f467/logAnalytics/apiAccess/getThrottledRequests"; - Requests[1038] = new DefaultHttpContext(); - Requests[1038].RequestServices = CreateServices(); - Requests[1038].Request.Method = "GET"; - Requests[1038].Request.Path = "/subscriptions/7de84de2-fa6b-/providers/Microsoft.Billing/billingPeriods/12edae5f-9032-4bf/providers/Microsoft.Consumption/pricesheets/default"; - Requests[1039] = new DefaultHttpContext(); - Requests[1039].RequestServices = CreateServices(); - Requests[1039].Request.Method = "DELETE"; - Requests[1039].Request.Path = "/subscriptions/a6e9af26-ff71-/providers/Microsoft.Compute.Admin/locations/bc0655d9/artifactTypes/VMExtension/publishers/54bd0d7a-/types/db65f/versions/fd8509d"; - Requests[1040] = new DefaultHttpContext(); - Requests[1040].RequestServices = CreateServices(); - Requests[1040].Request.Method = "DELETE"; - Requests[1040].Request.Path = "/subscriptions/27a14cb3-5c23-/providers/Microsoft.Compute.Admin/locations/70fb6d72/artifactTypes/platformImage/publishers/00a74968-/offers/dcef6/skus/3b76f/versions/69f4c61"; - Requests[1041] = new DefaultHttpContext(); - Requests[1041].RequestServices = CreateServices(); - Requests[1041].Request.Method = "DELETE"; - Requests[1041].Request.Path = "/subscriptions/6a0b0cb4-8a26-/providers/Microsoft.Addons/supportProviders/c6f0a589-4c2/supportPlanTypes/6977c131-ae1"; - Requests[1042] = new DefaultHttpContext(); - Requests[1042].RequestServices = CreateServices(); - Requests[1042].Request.Method = "GET"; - Requests[1042].Request.Path = "/subscriptions/78effe94-62fd-/providers/Microsoft.AnalysisServices/locations/63fbe07e/operationresults/7dfbc4a2-97"; - Requests[1043] = new DefaultHttpContext(); - Requests[1043].RequestServices = CreateServices(); - Requests[1043].Request.Method = "GET"; - Requests[1043].Request.Path = "/subscriptions/aafc1f57-2719-/providers/Microsoft.AnalysisServices/locations/a6cd7722/operationstatuses/2b630aa5-91"; - Requests[1044] = new DefaultHttpContext(); - Requests[1044].RequestServices = CreateServices(); - Requests[1044].Request.Method = "DELETE"; - Requests[1044].Request.Path = "/subscriptions/3ffb7b60-2d72-/providers/Microsoft.Compute.Admin/locations/23cf164d/quotas/cbd4fb6b-"; - Requests[1045] = new DefaultHttpContext(); - Requests[1045].RequestServices = CreateServices(); - Requests[1045].Request.Method = "GET"; - Requests[1045].Request.Path = "/subscriptions/9d367136-65dd-/providers/Microsoft.Compute/locations/2bb1c0d6/runCommands/317f87cc-"; - Requests[1046] = new DefaultHttpContext(); - Requests[1046].RequestServices = CreateServices(); - Requests[1046].Request.Method = "GET"; - Requests[1046].Request.Path = "/subscriptions/1ad07071-90c0-/providers/Microsoft.DevTestLab/locations/e075f8ba-198/operations/7a9c0"; - Requests[1047] = new DefaultHttpContext(); - Requests[1047].RequestServices = CreateServices(); - Requests[1047].Request.Method = "GET"; - Requests[1047].Request.Path = "/subscriptions/975148b8-1adf-/providers/Microsoft.Features/providers/f9a1e3b0-9d49-48ae-afc4-e/features/6a4c1461-ef"; - Requests[1048] = new DefaultHttpContext(); - Requests[1048].RequestServices = CreateServices(); - Requests[1048].Request.Method = "GET"; - Requests[1048].Request.Path = "/subscriptions/0ab90b29-6fa6-/providers/Microsoft.KeyVault/locations/f2b7f091/deletedVaults/4a64a310-"; - Requests[1049] = new DefaultHttpContext(); - Requests[1049].RequestServices = CreateServices(); - Requests[1049].Request.Method = "DELETE"; - Requests[1049].Request.Path = "/subscriptions/1b084c4d-56a3-/providers/Microsoft.Network.Admin/locations/f1f82417/quotas/72e5a7ac-1bf"; - Requests[1050] = new DefaultHttpContext(); - Requests[1050].RequestServices = CreateServices(); - Requests[1050].Request.Method = "GET"; - Requests[1050].Request.Path = "/subscriptions/c6e907f0-146e-/providers/Microsoft.Security/locations/b9ce869b-d5/alerts/a3311cbc-"; - Requests[1051] = new DefaultHttpContext(); - Requests[1051].RequestServices = CreateServices(); - Requests[1051].Request.Method = "GET"; - Requests[1051].Request.Path = "/subscriptions/cfef26e8-0123-/providers/Microsoft.Security/locations/0fd19151-36/tasks/6f73b565"; - Requests[1052] = new DefaultHttpContext(); - Requests[1052].RequestServices = CreateServices(); - Requests[1052].Request.Method = "GET"; - Requests[1052].Request.Path = "/subscriptions/4ffeb5eb-00b7-/providers/Microsoft.ServiceFabric/locations/51caf0d2/clusterVersions/5ca43149-5d74-"; - Requests[1053] = new DefaultHttpContext(); - Requests[1053].RequestServices = CreateServices(); - Requests[1053].Request.Method = "GET"; - Requests[1053].Request.Path = "/subscriptions/53b48aad-6db7-/providers/Microsoft.Sql/locations/e7bd0111-30c/usages/edda67ee-"; - Requests[1054] = new DefaultHttpContext(); - Requests[1054].RequestServices = CreateServices(); - Requests[1054].Request.Method = "GET"; - Requests[1054].Request.Path = "/subscriptions/b9150f20-bb7e-/providers/Microsoft.Storage.Admin/locations/849447a8/quotas/be4446e6-"; - Requests[1055] = new DefaultHttpContext(); - Requests[1055].RequestServices = CreateServices(); - Requests[1055].Request.Method = "GET"; - Requests[1055].Request.Path = "/subscriptions/fc863c9e-23b7-/providers/Microsoft.Subscriptions.Admin/delegatedProviders/d9fc8e5a-12c1-49e4-a06a-1c38bc7/offers/42f62"; - Requests[1056] = new DefaultHttpContext(); - Requests[1056].RequestServices = CreateServices(); - Requests[1056].Request.Method = "GET"; - Requests[1056].Request.Path = "/subscriptions/e555ebe3-4d72-/providers/Microsoft.Subscriptions.Admin/locations/0a892509/quotas/9e204"; - Requests[1057] = new DefaultHttpContext(); - Requests[1057].RequestServices = CreateServices(); - Requests[1057].Request.Method = "PUT"; - Requests[1057].Request.Path = "/subscriptions/56a8d90a-95a7-/providers/Microsoft.Subscriptions.Admin/subscriptions/4117ae22-0f46-4172-b/acquiredPlans/3ee433d9-1127-43f"; - Requests[1058] = new DefaultHttpContext(); - Requests[1058].RequestServices = CreateServices(); - Requests[1058].Request.Method = "GET"; - Requests[1058].Request.Path = "/subscriptions/e91bab00-dd84-/providers/Microsoft.Web/locations/6de5266f/connectionGatewayInstallations/79296ec1-"; - Requests[1059] = new DefaultHttpContext(); - Requests[1059].RequestServices = CreateServices(); - Requests[1059].Request.Method = "GET"; - Requests[1059].Request.Path = "/subscriptions/43883240-8952-/providers/Microsoft.Web/locations/7601db91/managedApis/4a37ba7"; - Requests[1060] = new DefaultHttpContext(); - Requests[1060].RequestServices = CreateServices(); - Requests[1060].Request.Method = "GET"; - Requests[1060].Request.Path = "/subscriptions/58efb8dd-38ba-/providers/Microsoft.EventGrid/locations/1a17b12d/topicTypes/1cac2cdb-c79c/eventSubscriptions"; - Requests[1061] = new DefaultHttpContext(); - Requests[1061].RequestServices = CreateServices(); - Requests[1061].Request.Method = "POST"; - Requests[1061].Request.Path = "/subscriptions/ade23068-fd5a-/providers/Microsoft.Features/providers/a93d8cca-7826-4249-a4e7-a/features/27db9d98-da/register"; - Requests[1062] = new DefaultHttpContext(); - Requests[1062].RequestServices = CreateServices(); - Requests[1062].Request.Method = "POST"; - Requests[1062].Request.Path = "/subscriptions/2fa7431b-bfcf-/providers/Microsoft.KeyVault/locations/4dcbfdf5/deletedVaults/2a1e4dc1-/purge"; - Requests[1063] = new DefaultHttpContext(); - Requests[1063].RequestServices = CreateServices(); - Requests[1063].Request.Method = "GET"; - Requests[1063].Request.Path = "/subscriptions/d42c7888-51b9-/providers/Microsoft.ServiceFabric/locations/f63e924c/environments/aaf1e828-36/clusterVersions"; - Requests[1064] = new DefaultHttpContext(); - Requests[1064].RequestServices = CreateServices(); - Requests[1064].Request.Method = "GET"; - Requests[1064].Request.Path = "/subscriptions/283b5e2f-1762-/providers/Microsoft.Sql/locations/1704115a-9f3/longTermRetentionServers/55a45d01-ce71-41ba-b245-fde/longTermRetentionBackups"; - Requests[1065] = new DefaultHttpContext(); - Requests[1065].RequestServices = CreateServices(); - Requests[1065].Request.Method = "POST"; - Requests[1065].Request.Path = "/subscriptions/3a994a68-edbd-/providers/Microsoft.Sql/locations/aa24e23b-b9a/managedDatabaseRestoreAzureAsyncOperation/66d1099c-95/completeRestore"; - Requests[1066] = new DefaultHttpContext(); - Requests[1066].RequestServices = CreateServices(); - Requests[1066].Request.Method = "GET"; - Requests[1066].Request.Path = "/subscriptions/2ee937e1-9407-/providers/Microsoft.Compute/locations/3f4e76d8/publishers/bcaa5dbd-6e37/artifacttypes/vmextension/types"; - Requests[1067] = new DefaultHttpContext(); - Requests[1067].RequestServices = CreateServices(); - Requests[1067].Request.Method = "GET"; - Requests[1067].Request.Path = "/subscriptions/d6c557a8-1a23-/providers/Microsoft.Compute/locations/5b6aebea/publishers/a3342438-a516/artifacttypes/vmimage/offers"; - Requests[1068] = new DefaultHttpContext(); - Requests[1068].RequestServices = CreateServices(); - Requests[1068].Request.Method = "GET"; - Requests[1068].Request.Path = "/subscriptions/2828de71-2f8a-/providers/Microsoft.Compute/locations/0e6b8685/publishers/b96d8694-85fd/artifacttypes/vmextension/types/16e17/versions"; - Requests[1069] = new DefaultHttpContext(); - Requests[1069].RequestServices = CreateServices(); - Requests[1069].Request.Method = "GET"; - Requests[1069].Request.Path = "/subscriptions/02dfde39-1fcb-/providers/Microsoft.Compute/locations/bafe0263/publishers/b9a797d7-e816/artifacttypes/vmimage/offers/9f68d/skus"; - Requests[1070] = new DefaultHttpContext(); - Requests[1070].RequestServices = CreateServices(); - Requests[1070].Request.Method = "GET"; - Requests[1070].Request.Path = "/subscriptions/9749bc18-8199-/providers/Microsoft.Compute/locations/fff656f0/publishers/2489c6de-35e3/artifacttypes/vmextension/types/91db8/versions/333462e"; - Requests[1071] = new DefaultHttpContext(); - Requests[1071].RequestServices = CreateServices(); - Requests[1071].Request.Method = "GET"; - Requests[1071].Request.Path = "/subscriptions/2fa4ea40-50fd-/providers/Microsoft.Compute/locations/06a03a4f/publishers/beeffe03-c3b7/artifacttypes/vmimage/offers/91835/skus/58133/versions"; - Requests[1072] = new DefaultHttpContext(); - Requests[1072].RequestServices = CreateServices(); - Requests[1072].Request.Method = "GET"; - Requests[1072].Request.Path = "/subscriptions/81d2fc9e-983b-/providers/Microsoft.Compute/locations/ddb6f9c1/publishers/52bb3c15-77ff/artifacttypes/vmimage/offers/390c1/skus/8cfa8/versions/469f15f"; - Requests[1073] = new DefaultHttpContext(); - Requests[1073].RequestServices = CreateServices(); - Requests[1073].Request.Method = "GET"; - Requests[1073].Request.Path = "/subscriptions/73c10ad4-e402-/providers/Microsoft.ServiceFabric/locations/668b84c8/environments/bd5ee44f-b3/clusterVersions/a90a1054-b9d3-"; - Requests[1074] = new DefaultHttpContext(); - Requests[1074].RequestServices = CreateServices(); - Requests[1074].Request.Method = "GET"; - Requests[1074].Request.Path = "/subscriptions/175008f6-af98-/providers/Microsoft.Sql/locations/d02683b1-03c/longTermRetentionServers/6bc680ad-db2d-430f-9553-256/longTermRetentionDatabases/9500527b-9938-4a1a-b9e2-3afdb/longTermRetentionBackups"; - Requests[1075] = new DefaultHttpContext(); - Requests[1075].RequestServices = CreateServices(); - Requests[1075].Request.Method = "DELETE"; - Requests[1075].Request.Path = "/subscriptions/aa9a5523-a048-/providers/Microsoft.Sql/locations/138c5775-d08/longTermRetentionServers/0a9576d2-2bad-49b3-81ed-76e/longTermRetentionDatabases/293eea6c-8289-43fa-aa28-3f3af/longTermRetentionBackups/4113be41-1"; - Requests[1076] = new DefaultHttpContext(); - Requests[1076].RequestServices = CreateServices(); - Requests[1076].Request.Method = "PUT"; - Requests[1076].Request.Path = "/subscriptions/d00b2a62-d7d6-/providers/Microsoft.MarketplaceOrdering/offerTypes/c355fada-/publishers/19725d9c-76/offers/326080b/plans/7c3031/agreements/current"; - Requests[1077] = new DefaultHttpContext(); - Requests[1077].RequestServices = CreateServices(); - Requests[1077].Request.Method = "POST"; - Requests[1077].Request.Path = "/subscriptions/50d17f8b-20fe-/providers/Microsoft.Security/locations/48cdaeb5-23/alerts/119b3564-/db4b0516-16c8-4e75-bb"; - Requests[1078] = new DefaultHttpContext(); - Requests[1078].RequestServices = CreateServices(); - Requests[1078].Request.Method = "POST"; - Requests[1078].Request.Path = "/subscriptions/fcdf126b-c1c9-/providers/Microsoft.Security/locations/56c7dc51-47/tasks/dffef75b/fbeb59dd-ae1a-41de-b"; - Requests[1079] = new DefaultHttpContext(); - Requests[1079].RequestServices = CreateServices(); - Requests[1079].Request.Method = "GET"; - Requests[1079].Request.Path = "/Applications/0235e670-82a7/$/GetServices/dcbcfd94-"; - Requests[1080] = new DefaultHttpContext(); - Requests[1080].RequestServices = CreateServices(); - Requests[1080].Request.Method = "GET"; - Requests[1080].Request.Path = "/ApplicationTypes/fb4d158f-301a-44d0-/$/GetServiceTypes/6ef9eec5-db09-4"; - Requests[1081] = new DefaultHttpContext(); - Requests[1081].RequestServices = CreateServices(); - Requests[1081].Request.Method = "GET"; - Requests[1081].Request.Path = "/Nodes/f8b5b7ea/$/GetApplications/2e978687-7952"; - Requests[1082] = new DefaultHttpContext(); - Requests[1082].RequestServices = CreateServices(); - Requests[1082].Request.Method = "GET"; - Requests[1082].Request.Path = "/Partitions/7d5cafc1-30/$/GetReplicas/ef1fa42b-"; - Requests[1083] = new DefaultHttpContext(); - Requests[1083].RequestServices = CreateServices(); - Requests[1083].Request.Method = "GET"; - Requests[1083].Request.Path = "/Services/13128331-ca/$/GetPartitions/12d83953-80"; - Requests[1084] = new DefaultHttpContext(); - Requests[1084].RequestServices = CreateServices(); - Requests[1084].Request.Method = "POST"; - Requests[1084].Request.Path = "/Applications/ad9de2f2-eaa1-4/$/GetServiceGroups/9cc66da6-3f/$/Delete"; - Requests[1085] = new DefaultHttpContext(); - Requests[1085].RequestServices = CreateServices(); - Requests[1085].Request.Method = "GET"; - Requests[1085].Request.Path = "/Applications/4e4e27be-d78c-4/$/GetServices/398cc8bb-1c/$/GetServiceGroupDescription"; - Requests[1086] = new DefaultHttpContext(); - Requests[1086].RequestServices = CreateServices(); - Requests[1086].Request.Method = "GET"; - Requests[1086].Request.Path = "/Applications/5d12202d-b8e4-4/$/GetServices/bdbfeec9-06/$/GetServiceGroupMembers"; - Requests[1087] = new DefaultHttpContext(); - Requests[1087].RequestServices = CreateServices(); - Requests[1087].Request.Method = "POST"; - Requests[1087].Request.Path = "/Applications/fee72229-a395-4/$/GetServices/bb89fe35-20/$/UpdateServiceGroup"; - Requests[1088] = new DefaultHttpContext(); - Requests[1088].RequestServices = CreateServices(); - Requests[1088].Request.Method = "GET"; - Requests[1088].Request.Path = "/Nodes/5c3bc85b/$/GetApplications/a584dc9e-67d7/$/GetCodePackages"; - Requests[1089] = new DefaultHttpContext(); - Requests[1089].RequestServices = CreateServices(); - Requests[1089].Request.Method = "POST"; - Requests[1089].Request.Path = "/Nodes/58d3efad/$/GetApplications/a799201d-6ab9/$/GetHealth"; - Requests[1090] = new DefaultHttpContext(); - Requests[1090].RequestServices = CreateServices(); - Requests[1090].Request.Method = "GET"; - Requests[1090].Request.Path = "/Nodes/d6e61260/$/GetApplications/04f81f70-0cdd/$/GetReplicas"; - Requests[1091] = new DefaultHttpContext(); - Requests[1091].RequestServices = CreateServices(); - Requests[1091].Request.Method = "GET"; - Requests[1091].Request.Path = "/Nodes/64bd7237/$/GetApplications/31f3a9c3-6b30/$/GetServicePackages"; - Requests[1092] = new DefaultHttpContext(); - Requests[1092].RequestServices = CreateServices(); - Requests[1092].Request.Method = "GET"; - Requests[1092].Request.Path = "/Nodes/19277341/$/GetApplications/c639b559-12f4/$/GetServiceTypes"; - Requests[1093] = new DefaultHttpContext(); - Requests[1093].RequestServices = CreateServices(); - Requests[1093].Request.Method = "POST"; - Requests[1093].Request.Path = "/Nodes/0daace32/$/GetApplications/938ec2f8-77bf/$/ReportHealth"; - Requests[1094] = new DefaultHttpContext(); - Requests[1094].RequestServices = CreateServices(); - Requests[1094].Request.Method = "GET"; - Requests[1094].Request.Path = "/Nodes/308fed20/$/GetPartitions/5f3f6f2c-5c/$/GetReplicas"; - Requests[1095] = new DefaultHttpContext(); - Requests[1095].RequestServices = CreateServices(); - Requests[1095].Request.Method = "POST"; - Requests[1095].Request.Path = "/Partitions/823e91ce-42/$/GetReplicas/ffa759b2-/$/GetHealth"; - Requests[1096] = new DefaultHttpContext(); - Requests[1096].RequestServices = CreateServices(); - Requests[1096].Request.Method = "GET"; - Requests[1096].Request.Path = "/Partitions/e0531ecb-44/$/GetReplicas/f31d8bf5-/$/GetLoadInformation"; - Requests[1097] = new DefaultHttpContext(); - Requests[1097].RequestServices = CreateServices(); - Requests[1097].Request.Method = "POST"; - Requests[1097].Request.Path = "/Partitions/b2799fbf-51/$/GetReplicas/e768f5ea-/$/ReportHealth"; - Requests[1098] = new DefaultHttpContext(); - Requests[1098].RequestServices = CreateServices(); - Requests[1098].Request.Method = "POST"; - Requests[1098].Request.Path = "/Nodes/c609ec46/$/GetApplications/ebf5d2c8-7034/$/GetCodePackages/$/ContainerApi"; - Requests[1099] = new DefaultHttpContext(); - Requests[1099].RequestServices = CreateServices(); - Requests[1099].Request.Method = "GET"; - Requests[1099].Request.Path = "/Nodes/536d6daf/$/GetApplications/e3d08ef1-34f0/$/GetCodePackages/$/ContainerLogs"; - Requests[1100] = new DefaultHttpContext(); - Requests[1100].RequestServices = CreateServices(); - Requests[1100].Request.Method = "POST"; - Requests[1100].Request.Path = "/Nodes/2ce55aa4/$/GetApplications/011bca95-9ac5/$/GetCodePackages/$/Restart"; - Requests[1101] = new DefaultHttpContext(); - Requests[1101].RequestServices = CreateServices(); - Requests[1101].Request.Method = "GET"; - Requests[1101].Request.Path = "/Nodes/b39a2fdf/$/GetApplications/0a54f4e2-d24c/$/GetServicePackages/0a7791c6-7c11-4efe"; - Requests[1102] = new DefaultHttpContext(); - Requests[1102].RequestServices = CreateServices(); - Requests[1102].Request.Method = "GET"; - Requests[1102].Request.Path = "/Nodes/2197edd5/$/GetApplications/474cafcb-a3e7/$/GetServiceTypes/89599760-ba1c-4"; - Requests[1103] = new DefaultHttpContext(); - Requests[1103].RequestServices = CreateServices(); - Requests[1103].Request.Method = "POST"; - Requests[1103].Request.Path = "/Nodes/d7876101/$/GetApplications/a62f25ca-78b6/$/GetServicePackages/b430e986-a341-43d4/$/GetHealth"; - Requests[1104] = new DefaultHttpContext(); - Requests[1104].RequestServices = CreateServices(); - Requests[1104].Request.Method = "POST"; - Requests[1104].Request.Path = "/Nodes/ca558975/$/GetApplications/f92ad576-38d6/$/GetServicePackages/b0018a68-71d7-4e4f/$/ReportHealth"; - Requests[1105] = new DefaultHttpContext(); - Requests[1105].RequestServices = CreateServices(); - Requests[1105].Request.Method = "POST"; - Requests[1105].Request.Path = "/Nodes/1d8e462f/$/GetPartitions/191def83-2e/$/GetReplicas/6d8f291c-/$/Delete"; - Requests[1106] = new DefaultHttpContext(); - Requests[1106].RequestServices = CreateServices(); - Requests[1106].Request.Method = "GET"; - Requests[1106].Request.Path = "/Nodes/67c1e2ba/$/GetPartitions/0efa81cb-8f/$/GetReplicas/da15adad-/$/GetDetail"; - Requests[1107] = new DefaultHttpContext(); - Requests[1107].RequestServices = CreateServices(); - Requests[1107].Request.Method = "POST"; - Requests[1107].Request.Path = "/Nodes/963a0f23/$/GetPartitions/8f54f9ed-b2/$/GetReplicas/902d19d0-/$/Restart"; - Requests[1108] = new DefaultHttpContext(); - Requests[1108].RequestServices = CreateServices(); - Requests[1108].Request.Method = "DELETE"; - Requests[1108].Request.Path = "/apis/25296/operations/4eafac6a-a5"; - Requests[1109] = new DefaultHttpContext(); - Requests[1109].RequestServices = CreateServices(); - Requests[1109].Request.Method = "DELETE"; - Requests[1109].Request.Path = "/apis/9f2ef/policies/4ab5e1dd"; - Requests[1110] = new DefaultHttpContext(); - Requests[1110].RequestServices = CreateServices(); - Requests[1110].Request.Method = "DELETE"; - Requests[1110].Request.Path = "/apis/389a6/schemas/84c0f52b"; - Requests[1111] = new DefaultHttpContext(); - Requests[1111].RequestServices = CreateServices(); - Requests[1111].Request.Method = "GET"; - Requests[1111].Request.Path = "/apps/fd7db/events/542abd5e-"; - Requests[1112] = new DefaultHttpContext(); - Requests[1112].RequestServices = CreateServices(); - Requests[1112].Request.Method = "GET"; - Requests[1112].Request.Path = "/apps/aaf28/metrics/879965ad"; - Requests[1113] = new DefaultHttpContext(); - Requests[1113].RequestServices = CreateServices(); - Requests[1113].Request.Method = "DELETE"; - Requests[1113].Request.Path = "/apps/083f0/versions/41ec72d7-"; - Requests[1114] = new DefaultHttpContext(); - Requests[1114].RequestServices = CreateServices(); - Requests[1114].Request.Method = "GET"; - Requests[1114].Request.Path = "/delegatedProviders/3498b80c-926b-420c-/offers/fbe84b08-"; - Requests[1115] = new DefaultHttpContext(); - Requests[1115].RequestServices = CreateServices(); - Requests[1115].Request.Method = "GET"; - Requests[1115].Request.Path = "/deletedstorage/bf1dd9c3-9147-4bb9-8/sas/2d4c0136-dc39-42e0-"; - Requests[1116] = new DefaultHttpContext(); - Requests[1116].RequestServices = CreateServices(); - Requests[1116].Request.Method = "DELETE"; - Requests[1116].Request.Path = "/facelists/52cb0d95-b/persistedFaces/5ae52f7c-2bbb-4"; - Requests[1117] = new DefaultHttpContext(); - Requests[1117].RequestServices = CreateServices(); - Requests[1117].Request.Method = "DELETE"; - Requests[1117].Request.Path = "/groups/02ef9f1/users/adf61"; - Requests[1118] = new DefaultHttpContext(); - Requests[1118].RequestServices = CreateServices(); - Requests[1118].Request.Method = "PUT"; - Requests[1118].Request.Path = "/jobs/c605d/tasks/e23d38"; - Requests[1119] = new DefaultHttpContext(); - Requests[1119].RequestServices = CreateServices(); - Requests[1119].Request.Method = "PATCH"; - Requests[1119].Request.Path = "/persongroups/dfbdd24a-e7fe/persons/80d81b53"; - Requests[1120] = new DefaultHttpContext(); - Requests[1120].RequestServices = CreateServices(); - Requests[1120].Request.Method = "GET"; - Requests[1120].Request.Path = "/pools/f671c2/nodes/2aa836"; - Requests[1121] = new DefaultHttpContext(); - Requests[1121].RequestServices = CreateServices(); - Requests[1121].Request.Method = "DELETE"; - Requests[1121].Request.Path = "/products/72d90812-/apis/2ccb2"; - Requests[1122] = new DefaultHttpContext(); - Requests[1122].RequestServices = CreateServices(); - Requests[1122].Request.Method = "DELETE"; - Requests[1122].Request.Path = "/products/2e50fa11-/groups/b522812"; - Requests[1123] = new DefaultHttpContext(); - Requests[1123].RequestServices = CreateServices(); - Requests[1123].Request.Method = "DELETE"; - Requests[1123].Request.Path = "/products/ba9fb698-/policies/e35ba32c"; - Requests[1124] = new DefaultHttpContext(); - Requests[1124].RequestServices = CreateServices(); - Requests[1124].Request.Method = "PATCH"; - Requests[1124].Request.Path = "/projects/8771bd4e-/iterations/1e99061f-71"; - Requests[1125] = new DefaultHttpContext(); - Requests[1125].RequestServices = CreateServices(); - Requests[1125].Request.Method = "PATCH"; - Requests[1125].Request.Path = "/projects/26aac258-/tags/f7948"; - Requests[1126] = new DefaultHttpContext(); - Requests[1126].RequestServices = CreateServices(); - Requests[1126].Request.Method = "PATCH"; - Requests[1126].Request.Path = "/storage/75d66fb9-593d-42a4-a/sas/5efae349-5545-4718-"; - Requests[1127] = new DefaultHttpContext(); - Requests[1127].RequestServices = CreateServices(); - Requests[1127].Request.Method = "GET"; - Requests[1127].Request.Path = "/subscriptions/d9091435-1ec2-/providers/5ab30aa3-329a-4749-9837-4"; - Requests[1128] = new DefaultHttpContext(); - Requests[1128].RequestServices = CreateServices(); - Requests[1128].Request.Method = "PATCH"; - Requests[1128].Request.Path = "/subscriptions/58ceec8e-0c00-/resourcegroups/c6fe0bde-a469-44f"; - Requests[1129] = new DefaultHttpContext(); - Requests[1129].RequestServices = CreateServices(); - Requests[1129].Request.Method = "DELETE"; - Requests[1129].Request.Path = "/subscriptions/449c988f-baa5-/tagNames/f5349b5"; - Requests[1130] = new DefaultHttpContext(); - Requests[1130].RequestServices = CreateServices(); - Requests[1130].Request.Method = "GET"; - Requests[1130].Request.Path = "/apis/9741d/operations/ea9e58d7-7d/policies"; - Requests[1131] = new DefaultHttpContext(); - Requests[1131].RequestServices = CreateServices(); - Requests[1131].Request.Method = "POST"; - Requests[1131].Request.Path = "/apps/5e436/versions/3866e46c-/clone"; - Requests[1132] = new DefaultHttpContext(); - Requests[1132].RequestServices = CreateServices(); - Requests[1132].Request.Method = "POST"; - Requests[1132].Request.Path = "/apps/df141/versions/8ffe54b3-/closedlists"; - Requests[1133] = new DefaultHttpContext(); - Requests[1133].RequestServices = CreateServices(); - Requests[1133].Request.Method = "GET"; - Requests[1133].Request.Path = "/apps/4d7ea/versions/b43a8b51-/compositeentities"; - Requests[1134] = new DefaultHttpContext(); - Requests[1134].RequestServices = CreateServices(); - Requests[1134].Request.Method = "POST"; - Requests[1134].Request.Path = "/apps/175a5/versions/178cb58f-/customprebuiltdomains"; - Requests[1135] = new DefaultHttpContext(); - Requests[1135].RequestServices = CreateServices(); - Requests[1135].Request.Method = "GET"; - Requests[1135].Request.Path = "/apps/d67f9/versions/8d9e28a0-/customprebuiltentities"; - Requests[1136] = new DefaultHttpContext(); - Requests[1136].RequestServices = CreateServices(); - Requests[1136].Request.Method = "GET"; - Requests[1136].Request.Path = "/apps/065f7/versions/00df14ed-/customprebuiltintents"; - Requests[1137] = new DefaultHttpContext(); - Requests[1137].RequestServices = CreateServices(); - Requests[1137].Request.Method = "GET"; - Requests[1137].Request.Path = "/apps/532a8/versions/9e21bc16-/customprebuiltmodels"; - Requests[1138] = new DefaultHttpContext(); - Requests[1138].RequestServices = CreateServices(); - Requests[1138].Request.Method = "GET"; - Requests[1138].Request.Path = "/apps/a9318/versions/1e5d16f4-/entities"; - Requests[1139] = new DefaultHttpContext(); - Requests[1139].RequestServices = CreateServices(); - Requests[1139].Request.Method = "POST"; - Requests[1139].Request.Path = "/apps/f9038/versions/40b68af8-/example"; - Requests[1140] = new DefaultHttpContext(); - Requests[1140].RequestServices = CreateServices(); - Requests[1140].Request.Method = "GET"; - Requests[1140].Request.Path = "/apps/9106b/versions/c698b05b-/examples"; - Requests[1141] = new DefaultHttpContext(); - Requests[1141].RequestServices = CreateServices(); - Requests[1141].Request.Method = "GET"; - Requests[1141].Request.Path = "/apps/47dcd/versions/494a815f-/export"; - Requests[1142] = new DefaultHttpContext(); - Requests[1142].RequestServices = CreateServices(); - Requests[1142].Request.Method = "GET"; - Requests[1142].Request.Path = "/apps/5d0ee/versions/2b9ef7b1-/features"; - Requests[1143] = new DefaultHttpContext(); - Requests[1143].RequestServices = CreateServices(); - Requests[1143].Request.Method = "GET"; - Requests[1143].Request.Path = "/apps/4008a/versions/a86947de-/hierarchicalentities"; - Requests[1144] = new DefaultHttpContext(); - Requests[1144].RequestServices = CreateServices(); - Requests[1144].Request.Method = "GET"; - Requests[1144].Request.Path = "/apps/b445b/versions/fd647c90-/intents"; - Requests[1145] = new DefaultHttpContext(); - Requests[1145].RequestServices = CreateServices(); - Requests[1145].Request.Method = "GET"; - Requests[1145].Request.Path = "/apps/50450/versions/96a45b30-/listprebuilts"; - Requests[1146] = new DefaultHttpContext(); - Requests[1146].RequestServices = CreateServices(); - Requests[1146].Request.Method = "GET"; - Requests[1146].Request.Path = "/apps/ce1a5/versions/c2113630-/models"; - Requests[1147] = new DefaultHttpContext(); - Requests[1147].RequestServices = CreateServices(); - Requests[1147].Request.Method = "POST"; - Requests[1147].Request.Path = "/apps/63d8e/versions/eb021164-/patternanyentities"; - Requests[1148] = new DefaultHttpContext(); - Requests[1148].RequestServices = CreateServices(); - Requests[1148].Request.Method = "POST"; - Requests[1148].Request.Path = "/apps/57297/versions/57c1bcda-/patternrule"; - Requests[1149] = new DefaultHttpContext(); - Requests[1149].RequestServices = CreateServices(); - Requests[1149].Request.Method = "DELETE"; - Requests[1149].Request.Path = "/apps/521f1/versions/05d51a1e-/patternrules"; - Requests[1150] = new DefaultHttpContext(); - Requests[1150].RequestServices = CreateServices(); - Requests[1150].Request.Method = "GET"; - Requests[1150].Request.Path = "/apps/516fb/versions/0c88edff-/patterns"; - Requests[1151] = new DefaultHttpContext(); - Requests[1151].RequestServices = CreateServices(); - Requests[1151].Request.Method = "GET"; - Requests[1151].Request.Path = "/apps/857d9/versions/a306dd5a-/phraselists"; - Requests[1152] = new DefaultHttpContext(); - Requests[1152].RequestServices = CreateServices(); - Requests[1152].Request.Method = "GET"; - Requests[1152].Request.Path = "/apps/6fdba/versions/2f9d6a9c-/prebuilts"; - Requests[1153] = new DefaultHttpContext(); - Requests[1153].RequestServices = CreateServices(); - Requests[1153].Request.Method = "POST"; - Requests[1153].Request.Path = "/apps/7ffd6/versions/5bf210d7-/regexentities"; - Requests[1154] = new DefaultHttpContext(); - Requests[1154].RequestServices = CreateServices(); - Requests[1154].Request.Method = "DELETE"; - Requests[1154].Request.Path = "/apps/8c9ff/versions/831a3205-/suggest"; - Requests[1155] = new DefaultHttpContext(); - Requests[1155].RequestServices = CreateServices(); - Requests[1155].Request.Method = "GET"; - Requests[1155].Request.Path = "/apps/693c8/versions/c241067e-/train"; - Requests[1156] = new DefaultHttpContext(); - Requests[1156].RequestServices = CreateServices(); - Requests[1156].Request.Method = "POST"; - Requests[1156].Request.Path = "/deletedstorage/cb1a70db-89b2-455b-9/sas/70b3797b-4f30-4d31-/recover"; - Requests[1157] = new DefaultHttpContext(); - Requests[1157].RequestServices = CreateServices(); - Requests[1157].Request.Method = "GET"; - Requests[1157].Request.Path = "/jobs/0e108/tasks/88d58e/files"; - Requests[1158] = new DefaultHttpContext(); - Requests[1158].RequestServices = CreateServices(); - Requests[1158].Request.Method = "POST"; - Requests[1158].Request.Path = "/jobs/18466/tasks/63c04d/reactivate"; - Requests[1159] = new DefaultHttpContext(); - Requests[1159].RequestServices = CreateServices(); - Requests[1159].Request.Method = "GET"; - Requests[1159].Request.Path = "/jobs/9b951/tasks/2265ff/subtasksinfo"; - Requests[1160] = new DefaultHttpContext(); - Requests[1160].RequestServices = CreateServices(); - Requests[1160].Request.Method = "POST"; - Requests[1160].Request.Path = "/jobs/d5c44/tasks/9a9754/terminate"; - Requests[1161] = new DefaultHttpContext(); - Requests[1161].RequestServices = CreateServices(); - Requests[1161].Request.Method = "POST"; - Requests[1161].Request.Path = "/persongroups/dcf47d82-5815/persons/d5081906/persistedFaces"; - Requests[1162] = new DefaultHttpContext(); - Requests[1162].RequestServices = CreateServices(); - Requests[1162].Request.Method = "POST"; - Requests[1162].Request.Path = "/pools/2bc514/nodes/cbf9e7/disablescheduling"; - Requests[1163] = new DefaultHttpContext(); - Requests[1163].RequestServices = CreateServices(); - Requests[1163].Request.Method = "POST"; - Requests[1163].Request.Path = "/pools/2254d4/nodes/f1200b/enablescheduling"; - Requests[1164] = new DefaultHttpContext(); - Requests[1164].RequestServices = CreateServices(); - Requests[1164].Request.Method = "GET"; - Requests[1164].Request.Path = "/pools/a10321/nodes/a4bb4c/files"; - Requests[1165] = new DefaultHttpContext(); - Requests[1165].RequestServices = CreateServices(); - Requests[1165].Request.Method = "GET"; - Requests[1165].Request.Path = "/pools/ce11db/nodes/c2fe80/rdp"; - Requests[1166] = new DefaultHttpContext(); - Requests[1166].RequestServices = CreateServices(); - Requests[1166].Request.Method = "POST"; - Requests[1166].Request.Path = "/pools/6bae41/nodes/03edcf/reboot"; - Requests[1167] = new DefaultHttpContext(); - Requests[1167].RequestServices = CreateServices(); - Requests[1167].Request.Method = "POST"; - Requests[1167].Request.Path = "/pools/f544e3/nodes/1d8cbe/reimage"; - Requests[1168] = new DefaultHttpContext(); - Requests[1168].RequestServices = CreateServices(); - Requests[1168].Request.Method = "GET"; - Requests[1168].Request.Path = "/pools/3d2f64/nodes/649e75/remoteloginsettings"; - Requests[1169] = new DefaultHttpContext(); - Requests[1169].RequestServices = CreateServices(); - Requests[1169].Request.Method = "POST"; - Requests[1169].Request.Path = "/pools/38833a/nodes/75f2dd/uploadbatchservicelogs"; - Requests[1170] = new DefaultHttpContext(); - Requests[1170].RequestServices = CreateServices(); - Requests[1170].Request.Method = "POST"; - Requests[1170].Request.Path = "/pools/538578/nodes/8d1705/users"; - Requests[1171] = new DefaultHttpContext(); - Requests[1171].RequestServices = CreateServices(); - Requests[1171].Request.Method = "POST"; - Requests[1171].Request.Path = "/projects/1c956b4c-/iterations/45669eb1-65/export"; - Requests[1172] = new DefaultHttpContext(); - Requests[1172].RequestServices = CreateServices(); - Requests[1172].Request.Method = "GET"; - Requests[1172].Request.Path = "/projects/ccf181f1-/iterations/689d726b-51/performance"; - Requests[1173] = new DefaultHttpContext(); - Requests[1173].RequestServices = CreateServices(); - Requests[1173].Request.Method = "POST"; - Requests[1173].Request.Path = "/subscriptions/6d4709ff-9f06-/providers/ad930340-206f-4759-bf97-d/register"; - Requests[1174] = new DefaultHttpContext(); - Requests[1174].RequestServices = CreateServices(); - Requests[1174].Request.Method = "POST"; - Requests[1174].Request.Path = "/subscriptions/e571b869-cb98-/providers/121c5fd7-0bb0-4788-8438-9/unregister"; - Requests[1175] = new DefaultHttpContext(); - Requests[1175].RequestServices = CreateServices(); - Requests[1175].Request.Method = "POST"; - Requests[1175].Request.Path = "/subscriptions/e00d42cf-92cb-/resourcegroups/c1e7b1ba-4946-470/exportTemplate"; - Requests[1176] = new DefaultHttpContext(); - Requests[1176].RequestServices = CreateServices(); - Requests[1176].Request.Method = "POST"; - Requests[1176].Request.Path = "/subscriptions/8659c95b-be45-/resourceGroups/981f02b6-b2b2-4f1/moveResources"; - Requests[1177] = new DefaultHttpContext(); - Requests[1177].RequestServices = CreateServices(); - Requests[1177].Request.Method = "GET"; - Requests[1177].Request.Path = "/subscriptions/2f86c3ff-2755-/resourceGroups/52615dd5-49eb-40a/resources"; - Requests[1178] = new DefaultHttpContext(); - Requests[1178].RequestServices = CreateServices(); - Requests[1178].Request.Method = "POST"; - Requests[1178].Request.Path = "/subscriptions/a37b5feb-2336-/resourceGroups/36f1804b-cdd4-4aa/validateMoveResources"; - Requests[1179] = new DefaultHttpContext(); - Requests[1179].RequestServices = CreateServices(); - Requests[1179].Request.Method = "GET"; - Requests[1179].Request.Path = "/projects/62679b4f-/iterations/046acfe4-ba/performance/images"; - Requests[1180] = new DefaultHttpContext(); - Requests[1180].RequestServices = CreateServices(); - Requests[1180].Request.Method = "GET"; - Requests[1180].Request.Path = "/projects/d08c6e49-/iterations/43dca4e5-80/performance/images/count"; - Requests[1181] = new DefaultHttpContext(); - Requests[1181].RequestServices = CreateServices(); - Requests[1181].Request.Method = "GET"; - Requests[1181].Request.Path = "/subscriptions/1a87abcf-14d2-/resourceGroup/1e7e1fca-eec0-4da/providers/microsoft.insights/workbooks"; - Requests[1182] = new DefaultHttpContext(); - Requests[1182].RequestServices = CreateServices(); - Requests[1182].Request.Method = "GET"; - Requests[1182].Request.Path = "/subscriptions/16d36dbd-fef5-/resourceGroups/1cb47c8b-/providers/Microsoft.DataMigration/services"; - Requests[1183] = new DefaultHttpContext(); - Requests[1183].RequestServices = CreateServices(); - Requests[1183].Request.Method = "PUT"; - Requests[1183].Request.Path = "/subscriptions/68332ca9-7e3e-/resourceGroups/52734d14-25c0/providers/Microsoft.Advisor/configurations"; - Requests[1184] = new DefaultHttpContext(); - Requests[1184].RequestServices = CreateServices(); - Requests[1184].Request.Method = "GET"; - Requests[1184].Request.Path = "/subscriptions/d3d41ab1-5cae-/resourcegroups/aa4fb920-3866/providers/Microsoft.AzureBridge.Admin/activations"; - Requests[1185] = new DefaultHttpContext(); - Requests[1185].RequestServices = CreateServices(); - Requests[1185].Request.Method = "GET"; - Requests[1185].Request.Path = "/subscriptions/42d8fc74-6ee6-/resourceGroups/91e8811c-06fc/providers/Microsoft.AzureStack/registrations"; - Requests[1186] = new DefaultHttpContext(); - Requests[1186].RequestServices = CreateServices(); - Requests[1186].Request.Method = "GET"; - Requests[1186].Request.Path = "/subscriptions/1787cecf-c83e-/resourceGroups/577435bb-d6f9-48d/providers/Microsoft.AAD/domainServices"; - Requests[1187] = new DefaultHttpContext(); - Requests[1187].RequestServices = CreateServices(); - Requests[1187].Request.Method = "GET"; - Requests[1187].Request.Path = "/subscriptions/953056a4-8c58-/resourceGroups/cd24b46f-ca8e-4f0/providers/Microsoft.AnalysisServices/servers"; - Requests[1188] = new DefaultHttpContext(); - Requests[1188].RequestServices = CreateServices(); - Requests[1188].Request.Method = "GET"; - Requests[1188].Request.Path = "/subscriptions/25275695-5a8f-/resourceGroups/12278910-c572-497/providers/Microsoft.ApiManagement/service"; - Requests[1189] = new DefaultHttpContext(); - Requests[1189].RequestServices = CreateServices(); - Requests[1189].Request.Method = "GET"; - Requests[1189].Request.Path = "/subscriptions/18187bd6-4efc-/resourceGroups/2acad2e1-36b1-40a/providers/Microsoft.Authorization/locks"; - Requests[1190] = new DefaultHttpContext(); - Requests[1190].RequestServices = CreateServices(); - Requests[1190].Request.Method = "GET"; - Requests[1190].Request.Path = "/subscriptions/af628ae2-3fa6-/resourcegroups/a23d3377-a9f1-4b8/providers/Microsoft.Authorization/permissions"; - Requests[1191] = new DefaultHttpContext(); - Requests[1191].RequestServices = CreateServices(); - Requests[1191].Request.Method = "GET"; - Requests[1191].Request.Path = "/subscriptions/6b1db4a0-5904-/resourceGroups/5bc3723f-ceca-435/providers/Microsoft.Authorization/policyAssignments"; - Requests[1192] = new DefaultHttpContext(); - Requests[1192].RequestServices = CreateServices(); - Requests[1192].Request.Method = "GET"; - Requests[1192].Request.Path = "/subscriptions/6e0f2c31-6297-/resourceGroups/67a4d528-f06b-448/providers/Microsoft.Authorization/roleAssignments"; - Requests[1193] = new DefaultHttpContext(); - Requests[1193].RequestServices = CreateServices(); - Requests[1193].Request.Method = "GET"; - Requests[1193].Request.Path = "/subscriptions/531323ae-8757-/resourceGroups/a8740389-46f8-466/providers/Microsoft.Automation/automationAccounts"; - Requests[1194] = new DefaultHttpContext(); - Requests[1194].RequestServices = CreateServices(); - Requests[1194].Request.Method = "GET"; - Requests[1194].Request.Path = "/subscriptions/bf493720-10a6-/resourcegroups/1b954090-38fe-48d/providers/Microsoft.Backup.Admin/backupLocations"; - Requests[1195] = new DefaultHttpContext(); - Requests[1195].RequestServices = CreateServices(); - Requests[1195].Request.Method = "GET"; - Requests[1195].Request.Path = "/subscriptions/5ab346f0-a0b5-/resourceGroups/bca5bf7e-0ab6-4fe/providers/Microsoft.Batch/batchAccounts"; - Requests[1196] = new DefaultHttpContext(); - Requests[1196].RequestServices = CreateServices(); - Requests[1196].Request.Method = "GET"; - Requests[1196].Request.Path = "/subscriptions/3b809873-9882-/resourceGroups/29cc70fa-c27a-425/providers/Microsoft.BatchAI/clusters"; - Requests[1197] = new DefaultHttpContext(); - Requests[1197].RequestServices = CreateServices(); - Requests[1197].Request.Method = "GET"; - Requests[1197].Request.Path = "/subscriptions/26856e5b-dd0d-/resourceGroups/34646087-81ab-409/providers/Microsoft.BatchAI/fileServers"; - Requests[1198] = new DefaultHttpContext(); - Requests[1198].RequestServices = CreateServices(); - Requests[1198].Request.Method = "GET"; - Requests[1198].Request.Path = "/subscriptions/3433626e-9aba-/resourceGroups/2c01809f-e22e-494/providers/Microsoft.BatchAI/jobs"; - Requests[1199] = new DefaultHttpContext(); - Requests[1199].RequestServices = CreateServices(); - Requests[1199].Request.Method = "GET"; - Requests[1199].Request.Path = "/subscriptions/00d05550-8b8a-/resourceGroups/43a4debc-a57a-4dd/providers/Microsoft.BatchAI/workspaces"; - Requests[1200] = new DefaultHttpContext(); - Requests[1200].RequestServices = CreateServices(); - Requests[1200].Request.Method = "GET"; - Requests[1200].Request.Path = "/subscriptions/b7889ffe-8687-/resourceGroups/c93ec405-c008-497/providers/Microsoft.BotService/botServices"; - Requests[1201] = new DefaultHttpContext(); - Requests[1201].RequestServices = CreateServices(); - Requests[1201].Request.Method = "GET"; - Requests[1201].Request.Path = "/subscriptions/3a902c5a-2c6a-/resourceGroups/f260f9a7-b269-459/providers/Microsoft.Cache/Redis"; - Requests[1202] = new DefaultHttpContext(); - Requests[1202].RequestServices = CreateServices(); - Requests[1202].Request.Method = "GET"; - Requests[1202].Request.Path = "/subscriptions/b0269cb3-5022-/resourceGroups/acf79ffa-ef39-453/providers/Microsoft.Cdn/profiles"; - Requests[1203] = new DefaultHttpContext(); - Requests[1203].RequestServices = CreateServices(); - Requests[1203].Request.Method = "GET"; - Requests[1203].Request.Path = "/subscriptions/ece5c766-5528-/resourceGroups/21db8770-29a4-433/providers/Microsoft.CertificateRegistration/certificateOrders"; - Requests[1204] = new DefaultHttpContext(); - Requests[1204].RequestServices = CreateServices(); - Requests[1204].Request.Method = "GET"; - Requests[1204].Request.Path = "/subscriptions/f5319a41-4b71-/resourceGroups/4e59842e-5154-498/providers/Microsoft.CognitiveServices/accounts"; - Requests[1205] = new DefaultHttpContext(); - Requests[1205].RequestServices = CreateServices(); - Requests[1205].Request.Method = "GET"; - Requests[1205].Request.Path = "/subscriptions/150febfe-f149-/resourceGroups/34503c4e-5fde-469/providers/Microsoft.Compute/availabilitySets"; - Requests[1206] = new DefaultHttpContext(); - Requests[1206].RequestServices = CreateServices(); - Requests[1206].Request.Method = "GET"; - Requests[1206].Request.Path = "/subscriptions/6a8a4b2b-9385-/resourceGroups/b4b2fa73-fb6b-420/providers/Microsoft.Compute/disks"; - Requests[1207] = new DefaultHttpContext(); - Requests[1207].RequestServices = CreateServices(); - Requests[1207].Request.Method = "GET"; - Requests[1207].Request.Path = "/subscriptions/a9c785b3-10ed-/resourceGroups/bb9d826a-412e-4ca/providers/Microsoft.Compute/galleries"; - Requests[1208] = new DefaultHttpContext(); - Requests[1208].RequestServices = CreateServices(); - Requests[1208].Request.Method = "GET"; - Requests[1208].Request.Path = "/subscriptions/4a248e72-eecf-/resourceGroups/e83064d0-2c6c-487/providers/Microsoft.Compute/images"; - Requests[1209] = new DefaultHttpContext(); - Requests[1209].RequestServices = CreateServices(); - Requests[1209].Request.Method = "GET"; - Requests[1209].Request.Path = "/subscriptions/acd865a6-a06d-/resourceGroups/81000088-936b-4aa/providers/Microsoft.Compute/snapshots"; - Requests[1210] = new DefaultHttpContext(); - Requests[1210].RequestServices = CreateServices(); - Requests[1210].Request.Method = "GET"; - Requests[1210].Request.Path = "/subscriptions/042cd01b-4ee2-/resourceGroups/3df06421-b98d-4f9/providers/Microsoft.Compute/virtualMachines"; - Requests[1211] = new DefaultHttpContext(); - Requests[1211].RequestServices = CreateServices(); - Requests[1211].Request.Method = "GET"; - Requests[1211].Request.Path = "/subscriptions/b824d05f-25aa-/resourceGroups/5c97081c-b8ae-436/providers/Microsoft.Compute/virtualMachineScaleSets"; - Requests[1212] = new DefaultHttpContext(); - Requests[1212].RequestServices = CreateServices(); - Requests[1212].Request.Method = "GET"; - Requests[1212].Request.Path = "/subscriptions/f6196b02-e304-/resourceGroups/32b706ed-7449-413/providers/Microsoft.Consumption/budgets"; - Requests[1213] = new DefaultHttpContext(); - Requests[1213].RequestServices = CreateServices(); - Requests[1213].Request.Method = "GET"; - Requests[1213].Request.Path = "/subscriptions/79905abb-5336-/resourceGroups/9a874946-08e3-4c6/providers/Microsoft.ContainerInstance/containerGroups"; - Requests[1214] = new DefaultHttpContext(); - Requests[1214].RequestServices = CreateServices(); - Requests[1214].Request.Method = "GET"; - Requests[1214].Request.Path = "/subscriptions/389ad012-cc1a-/resourceGroups/3af762f9-f47e-43b/providers/Microsoft.ContainerRegistry/registries"; - Requests[1215] = new DefaultHttpContext(); - Requests[1215].RequestServices = CreateServices(); - Requests[1215].Request.Method = "GET"; - Requests[1215].Request.Path = "/subscriptions/cbdeedef-b8a4-/resourceGroups/cd81fe05-617a-415/providers/Microsoft.ContainerService/containerServices"; - Requests[1216] = new DefaultHttpContext(); - Requests[1216].RequestServices = CreateServices(); - Requests[1216].Request.Method = "GET"; - Requests[1216].Request.Path = "/subscriptions/3f5263a9-5dfe-/resourceGroups/05d484f5-cc28-4af/providers/Microsoft.ContainerService/managedClusters"; - Requests[1217] = new DefaultHttpContext(); - Requests[1217].RequestServices = CreateServices(); - Requests[1217].Request.Method = "GET"; - Requests[1217].Request.Path = "/subscriptions/f6342c6e-bfdd-/resourceGroups/ff2efcc2-61e2-42f/providers/Microsoft.CustomerInsights/hubs"; - Requests[1218] = new DefaultHttpContext(); - Requests[1218].RequestServices = CreateServices(); - Requests[1218].Request.Method = "GET"; - Requests[1218].Request.Path = "/subscriptions/46ef41ac-4401-/resourceGroups/faac4547-54ec-4ce/providers/Microsoft.DataBox/jobs"; - Requests[1219] = new DefaultHttpContext(); - Requests[1219].RequestServices = CreateServices(); - Requests[1219].Request.Method = "GET"; - Requests[1219].Request.Path = "/subscriptions/1a6c99b5-b0d7-/resourceGroups/73b547fe-318c-462/providers/Microsoft.Databricks/workspaces"; - Requests[1220] = new DefaultHttpContext(); - Requests[1220].RequestServices = CreateServices(); - Requests[1220].Request.Method = "GET"; - Requests[1220].Request.Path = "/subscriptions/14643394-f9a3-/resourceGroups/b220db38-9f95-450/providers/Microsoft.DataCatalog/catalogs"; - Requests[1221] = new DefaultHttpContext(); - Requests[1221].RequestServices = CreateServices(); - Requests[1221].Request.Method = "GET"; - Requests[1221].Request.Path = "/subscriptions/22a34586-afc3-/resourceGroups/9935f3eb-bb68-41d/providers/Microsoft.DataFactory/factories"; - Requests[1222] = new DefaultHttpContext(); - Requests[1222].RequestServices = CreateServices(); - Requests[1222].Request.Method = "GET"; - Requests[1222].Request.Path = "/subscriptions/86da8c24-af75-/resourceGroups/584a6a98-a37b-49f/providers/Microsoft.DataLakeAnalytics/accounts"; - Requests[1223] = new DefaultHttpContext(); - Requests[1223].RequestServices = CreateServices(); - Requests[1223].Request.Method = "GET"; - Requests[1223].Request.Path = "/subscriptions/52a46a7c-79c2-/resourceGroups/2eae0716-d403-4e5/providers/Microsoft.DataLakeStore/accounts"; - Requests[1224] = new DefaultHttpContext(); - Requests[1224].RequestServices = CreateServices(); - Requests[1224].Request.Method = "GET"; - Requests[1224].Request.Path = "/subscriptions/18325335-e5f3-/resourceGroups/b102d1c0-141d-4ba/providers/Microsoft.DBforMySQL/servers"; - Requests[1225] = new DefaultHttpContext(); - Requests[1225].RequestServices = CreateServices(); - Requests[1225].Request.Method = "GET"; - Requests[1225].Request.Path = "/subscriptions/2f1a561f-72d4-/resourceGroups/b405e3f1-8b9a-4f9/providers/Microsoft.DBforPostgreSQL/servers"; - Requests[1226] = new DefaultHttpContext(); - Requests[1226].RequestServices = CreateServices(); - Requests[1226].Request.Method = "GET"; - Requests[1226].Request.Path = "/subscriptions/ff672dfd-afb0-/resourceGroups/41849e9c-002f-421/providers/Microsoft.Devices/IotHubs"; - Requests[1227] = new DefaultHttpContext(); - Requests[1227].RequestServices = CreateServices(); - Requests[1227].Request.Method = "GET"; - Requests[1227].Request.Path = "/subscriptions/c5b5dbec-69bf-/resourceGroups/35f27c20-7337-434/providers/Microsoft.Devices/provisioningServices"; - Requests[1228] = new DefaultHttpContext(); - Requests[1228].RequestServices = CreateServices(); - Requests[1228].Request.Method = "GET"; - Requests[1228].Request.Path = "/subscriptions/b566fb6c-a2a7-/resourceGroups/c2a27d96-b00b-435/providers/Microsoft.DevTestLab/labs"; - Requests[1229] = new DefaultHttpContext(); - Requests[1229].RequestServices = CreateServices(); - Requests[1229].Request.Method = "GET"; - Requests[1229].Request.Path = "/subscriptions/ac2a5b27-7986-/resourceGroups/80f80cc2-b012-44d/providers/Microsoft.DevTestLab/schedules"; - Requests[1230] = new DefaultHttpContext(); - Requests[1230].RequestServices = CreateServices(); - Requests[1230].Request.Method = "GET"; - Requests[1230].Request.Path = "/subscriptions/a6f9149a-c5d9-/resourceGroups/b183fb6f-4265-4e4/providers/Microsoft.DocumentDB/databaseAccounts"; - Requests[1231] = new DefaultHttpContext(); - Requests[1231].RequestServices = CreateServices(); - Requests[1231].Request.Method = "GET"; - Requests[1231].Request.Path = "/subscriptions/d0973a18-8d34-/resourceGroups/30904cef-f333-405/providers/Microsoft.DomainRegistration/domains"; - Requests[1232] = new DefaultHttpContext(); - Requests[1232].RequestServices = CreateServices(); - Requests[1232].Request.Method = "GET"; - Requests[1232].Request.Path = "/subscriptions/c0ebe51c-0677-/resourceGroups/6e283f4c-6a39-498/providers/Microsoft.EventGrid/eventSubscriptions"; - Requests[1233] = new DefaultHttpContext(); - Requests[1233].RequestServices = CreateServices(); - Requests[1233].Request.Method = "GET"; - Requests[1233].Request.Path = "/subscriptions/a8506573-d37d-/resourceGroups/b34c71f5-fbda-4a1/providers/Microsoft.EventGrid/topics"; - Requests[1234] = new DefaultHttpContext(); - Requests[1234].RequestServices = CreateServices(); - Requests[1234].Request.Method = "GET"; - Requests[1234].Request.Path = "/subscriptions/3148c771-0ced-/resourceGroups/ce0a911c-2c34-45a/providers/Microsoft.EventHub/clusters"; - Requests[1235] = new DefaultHttpContext(); - Requests[1235].RequestServices = CreateServices(); - Requests[1235].Request.Method = "GET"; - Requests[1235].Request.Path = "/subscriptions/dd07c381-221f-/resourceGroups/4d470412-5400-433/providers/Microsoft.EventHub/namespaces"; - Requests[1236] = new DefaultHttpContext(); - Requests[1236].RequestServices = CreateServices(); - Requests[1236].Request.Method = "PUT"; - Requests[1236].Request.Path = "/subscriptions/f0618325-695f-/resourceGroups/97807d4a-91da-4fe/providers/Microsoft.Fabric.Admin/fabricLocations"; - Requests[1237] = new DefaultHttpContext(); - Requests[1237].RequestServices = CreateServices(); - Requests[1237].Request.Method = "GET"; - Requests[1237].Request.Path = "/subscriptions/e61816de-246a-/resourceGroups/065d002c-741b-42b/providers/Microsoft.HanaOnAzure/hanaInstances"; - Requests[1238] = new DefaultHttpContext(); - Requests[1238].RequestServices = CreateServices(); - Requests[1238].Request.Method = "GET"; - Requests[1238].Request.Path = "/subscriptions/1751d637-5178-/resourceGroups/f3462b87-ce46-413/providers/Microsoft.HDInsight/clusters"; - Requests[1239] = new DefaultHttpContext(); - Requests[1239].RequestServices = CreateServices(); - Requests[1239].Request.Method = "GET"; - Requests[1239].Request.Path = "/subscriptions/ecfb48f0-5896-/resourceGroups/9523f627-5667-43b/providers/Microsoft.ImportExport/jobs"; - Requests[1240] = new DefaultHttpContext(); - Requests[1240].RequestServices = CreateServices(); - Requests[1240].Request.Method = "GET"; - Requests[1240].Request.Path = "/subscriptions/0b32f3b8-68aa-/resourceGroups/a36d9239-56d8-4a0/providers/Microsoft.InfrastructureInsights.Admin/regionHealths"; - Requests[1241] = new DefaultHttpContext(); - Requests[1241].RequestServices = CreateServices(); - Requests[1241].Request.Method = "GET"; - Requests[1241].Request.Path = "/subscriptions/a9268007-a5e4-/resourceGroups/5051e2f7-26c9-460/providers/microsoft.insights/actionGroups"; - Requests[1242] = new DefaultHttpContext(); - Requests[1242].RequestServices = CreateServices(); - Requests[1242].Request.Method = "GET"; - Requests[1242].Request.Path = "/subscriptions/cfbbaff7-60a3-/resourceGroups/235b1959-37a1-4a8/providers/microsoft.insights/activityLogAlerts"; - Requests[1243] = new DefaultHttpContext(); - Requests[1243].RequestServices = CreateServices(); - Requests[1243].Request.Method = "GET"; - Requests[1243].Request.Path = "/subscriptions/9edc865f-694f-/resourcegroups/ff51624e-2a2b-45c/providers/microsoft.insights/alertrules"; - Requests[1244] = new DefaultHttpContext(); - Requests[1244].RequestServices = CreateServices(); - Requests[1244].Request.Method = "GET"; - Requests[1244].Request.Path = "/subscriptions/2c0da8e2-9127-/resourcegroups/1ba65ef9-852c-4f0/providers/microsoft.insights/autoscalesettings"; - Requests[1245] = new DefaultHttpContext(); - Requests[1245].RequestServices = CreateServices(); - Requests[1245].Request.Method = "GET"; - Requests[1245].Request.Path = "/subscriptions/9e187b9f-1995-/resourceGroups/59bf01cc-22b1-424/providers/Microsoft.Insights/components"; - Requests[1246] = new DefaultHttpContext(); - Requests[1246].RequestServices = CreateServices(); - Requests[1246].Request.Method = "GET"; - Requests[1246].Request.Path = "/subscriptions/2d037583-e87f-/resourceGroups/0a2f36c1-0680-4f8/providers/Microsoft.Insights/metricAlerts"; - Requests[1247] = new DefaultHttpContext(); - Requests[1247].RequestServices = CreateServices(); - Requests[1247].Request.Method = "GET"; - Requests[1247].Request.Path = "/subscriptions/db5a2e59-524f-/resourcegroups/b4df6724-b958-417/providers/microsoft.insights/scheduledQueryRules"; - Requests[1248] = new DefaultHttpContext(); - Requests[1248].RequestServices = CreateServices(); - Requests[1248].Request.Method = "GET"; - Requests[1248].Request.Path = "/subscriptions/89ad49ed-e83e-/resourceGroups/25a9d85c-d8b0-417/providers/Microsoft.Insights/webtests"; - Requests[1249] = new DefaultHttpContext(); - Requests[1249].RequestServices = CreateServices(); - Requests[1249].Request.Method = "GET"; - Requests[1249].Request.Path = "/subscriptions/6502c925-4334-/resourceGroups/b9e5f912-5f91-418/providers/Microsoft.IoTCentral/IoTApps"; - Requests[1250] = new DefaultHttpContext(); - Requests[1250].RequestServices = CreateServices(); - Requests[1250].Request.Method = "GET"; - Requests[1250].Request.Path = "/subscriptions/1c0cb55f-a6ae-/resourceGroups/304b9162-8f2b-408/providers/Microsoft.IoTSpaces/Graph"; - Requests[1251] = new DefaultHttpContext(); - Requests[1251].RequestServices = CreateServices(); - Requests[1251].Request.Method = "GET"; - Requests[1251].Request.Path = "/subscriptions/e46ac7e7-795b-/resourceGroups/45d2fb29-3291-498/providers/Microsoft.KeyVault/vaults"; - Requests[1252] = new DefaultHttpContext(); - Requests[1252].RequestServices = CreateServices(); - Requests[1252].Request.Method = "GET"; - Requests[1252].Request.Path = "/subscriptions/167ca4c9-3672-/resourceGroups/1441208e-c8b9-4ff/providers/Microsoft.Logic/integrationAccounts"; - Requests[1253] = new DefaultHttpContext(); - Requests[1253].RequestServices = CreateServices(); - Requests[1253].Request.Method = "GET"; - Requests[1253].Request.Path = "/subscriptions/e4178fb4-e27c-/resourceGroups/89656195-ef36-4f5/providers/Microsoft.Logic/workflows"; - Requests[1254] = new DefaultHttpContext(); - Requests[1254].RequestServices = CreateServices(); - Requests[1254].Request.Method = "GET"; - Requests[1254].Request.Path = "/subscriptions/574591eb-2596-/resourceGroups/29936e07-0722-441/providers/Microsoft.MachineLearning/commitmentPlans"; - Requests[1255] = new DefaultHttpContext(); - Requests[1255].RequestServices = CreateServices(); - Requests[1255].Request.Method = "GET"; - Requests[1255].Request.Path = "/subscriptions/a2ded099-7019-/resourceGroups/385f4561-7c09-476/providers/Microsoft.MachineLearning/webServices"; - Requests[1256] = new DefaultHttpContext(); - Requests[1256].RequestServices = CreateServices(); - Requests[1256].Request.Method = "GET"; - Requests[1256].Request.Path = "/subscriptions/7d449075-0295-/resourceGroups/d0620f6a-25e6-4d3/providers/Microsoft.MachineLearning/workspaces"; - Requests[1257] = new DefaultHttpContext(); - Requests[1257].RequestServices = CreateServices(); - Requests[1257].Request.Method = "GET"; - Requests[1257].Request.Path = "/subscriptions/76e0f487-693c-/resourceGroups/18b6b5e0-5b5f-446/providers/Microsoft.MachineLearningCompute/operationalizationClusters"; - Requests[1258] = new DefaultHttpContext(); - Requests[1258].RequestServices = CreateServices(); - Requests[1258].Request.Method = "GET"; - Requests[1258].Request.Path = "/subscriptions/37dee06d-c936-/resourceGroups/e2ff6a5a-c3d2-4a8/providers/Microsoft.MachineLearningExperimentation/accounts"; - Requests[1259] = new DefaultHttpContext(); - Requests[1259].RequestServices = CreateServices(); - Requests[1259].Request.Method = "GET"; - Requests[1259].Request.Path = "/subscriptions/637e3eca-27e3-/resourceGroups/c9c20681-a00b-4f3/providers/Microsoft.MachineLearningServices/workspaces"; - Requests[1260] = new DefaultHttpContext(); - Requests[1260].RequestServices = CreateServices(); - Requests[1260].Request.Method = "GET"; - Requests[1260].Request.Path = "/subscriptions/39e98be4-1048-/resourceGroups/3e9694f2-9201-4a5/providers/Microsoft.ManagedIdentity/userAssignedIdentities"; - Requests[1261] = new DefaultHttpContext(); - Requests[1261].RequestServices = CreateServices(); - Requests[1261].Request.Method = "GET"; - Requests[1261].Request.Path = "/subscriptions/78e39128-ec4c-/resourceGroups/1b1899e6-ef07-428/providers/Microsoft.Maps/accounts"; - Requests[1262] = new DefaultHttpContext(); - Requests[1262].RequestServices = CreateServices(); - Requests[1262].Request.Method = "GET"; - Requests[1262].Request.Path = "/subscriptions/2d3afae5-7f23-/resourceGroups/6f322b80-a914-4a9/providers/Microsoft.Media/mediaservices"; - Requests[1263] = new DefaultHttpContext(); - Requests[1263].RequestServices = CreateServices(); - Requests[1263].Request.Method = "GET"; - Requests[1263].Request.Path = "/subscriptions/3d2963ff-8480-/resourcegroups/cf6ae158-e5af-4a5/providers/Microsoft.Migrate/projects"; - Requests[1264] = new DefaultHttpContext(); - Requests[1264].RequestServices = CreateServices(); - Requests[1264].Request.Method = "GET"; - Requests[1264].Request.Path = "/subscriptions/e4c08a77-0247-/resourceGroups/37743bb1-3f9f-49b/providers/Microsoft.Network/applicationGateways"; - Requests[1265] = new DefaultHttpContext(); - Requests[1265].RequestServices = CreateServices(); - Requests[1265].Request.Method = "GET"; - Requests[1265].Request.Path = "/subscriptions/bf33695a-38d4-/resourceGroups/35fbaf39-68a4-4c0/providers/Microsoft.Network/applicationSecurityGroups"; - Requests[1266] = new DefaultHttpContext(); - Requests[1266].RequestServices = CreateServices(); - Requests[1266].Request.Method = "GET"; - Requests[1266].Request.Path = "/subscriptions/5501a4cd-ba43-/resourceGroups/c2c3ae77-7b2b-4a8/providers/Microsoft.Network/connections"; - Requests[1267] = new DefaultHttpContext(); - Requests[1267].RequestServices = CreateServices(); - Requests[1267].Request.Method = "GET"; - Requests[1267].Request.Path = "/subscriptions/f3c38994-3875-/resourceGroups/7850c9c0-cb7b-4bf/providers/Microsoft.Network/ddosProtectionPlans"; - Requests[1268] = new DefaultHttpContext(); - Requests[1268].RequestServices = CreateServices(); - Requests[1268].Request.Method = "GET"; - Requests[1268].Request.Path = "/subscriptions/9418d858-647f-/resourceGroups/18b82e96-92b2-4ea/providers/Microsoft.Network/dnsZones"; - Requests[1269] = new DefaultHttpContext(); - Requests[1269].RequestServices = CreateServices(); - Requests[1269].Request.Method = "GET"; - Requests[1269].Request.Path = "/subscriptions/23b006b0-81bb-/resourceGroups/6ecd10ac-9875-413/providers/Microsoft.Network/expressRouteCircuits"; - Requests[1270] = new DefaultHttpContext(); - Requests[1270].RequestServices = CreateServices(); - Requests[1270].Request.Method = "GET"; - Requests[1270].Request.Path = "/subscriptions/76e4bcf5-5e74-/resourceGroups/8fa2a50c-d609-4f7/providers/Microsoft.Network/expressRouteCrossConnections"; - Requests[1271] = new DefaultHttpContext(); - Requests[1271].RequestServices = CreateServices(); - Requests[1271].Request.Method = "GET"; - Requests[1271].Request.Path = "/subscriptions/e2da5504-2c5b-/resourceGroups/bedca001-d183-4a9/providers/Microsoft.Network/loadBalancers"; - Requests[1272] = new DefaultHttpContext(); - Requests[1272].RequestServices = CreateServices(); - Requests[1272].Request.Method = "GET"; - Requests[1272].Request.Path = "/subscriptions/0e946a5a-bddc-/resourceGroups/d4a03e81-929c-49f/providers/Microsoft.Network/localNetworkGateways"; - Requests[1273] = new DefaultHttpContext(); - Requests[1273].RequestServices = CreateServices(); - Requests[1273].Request.Method = "GET"; - Requests[1273].Request.Path = "/subscriptions/0a938dd9-a4b5-/resourceGroups/da2af416-93f1-478/providers/Microsoft.Network/networkInterfaces"; - Requests[1274] = new DefaultHttpContext(); - Requests[1274].RequestServices = CreateServices(); - Requests[1274].Request.Method = "GET"; - Requests[1274].Request.Path = "/subscriptions/006749ed-a012-/resourceGroups/3673aedf-2b78-49a/providers/Microsoft.Network/networkSecurityGroups"; - Requests[1275] = new DefaultHttpContext(); - Requests[1275].RequestServices = CreateServices(); - Requests[1275].Request.Method = "GET"; - Requests[1275].Request.Path = "/subscriptions/8896ef10-e4cc-/resourceGroups/58b5c66b-dc05-49a/providers/Microsoft.Network/networkWatchers"; - Requests[1276] = new DefaultHttpContext(); - Requests[1276].RequestServices = CreateServices(); - Requests[1276].Request.Method = "GET"; - Requests[1276].Request.Path = "/subscriptions/d1f03bc5-d92d-/resourceGroups/e82c5fa2-578b-48c/providers/Microsoft.Network/publicIPAddresses"; - Requests[1277] = new DefaultHttpContext(); - Requests[1277].RequestServices = CreateServices(); - Requests[1277].Request.Method = "GET"; - Requests[1277].Request.Path = "/subscriptions/c6479086-8d2b-/resourceGroups/0c200e0f-7dcb-42e/providers/Microsoft.Network/routeFilters"; - Requests[1278] = new DefaultHttpContext(); - Requests[1278].RequestServices = CreateServices(); - Requests[1278].Request.Method = "GET"; - Requests[1278].Request.Path = "/subscriptions/98cff5d0-b407-/resourceGroups/66422938-b32b-4c2/providers/Microsoft.Network/routeTables"; - Requests[1279] = new DefaultHttpContext(); - Requests[1279].RequestServices = CreateServices(); - Requests[1279].Request.Method = "GET"; - Requests[1279].Request.Path = "/subscriptions/e2f9015f-2c64-/resourceGroups/33d1d8ea-a273-46f/providers/Microsoft.Network/trafficmanagerprofiles"; - Requests[1280] = new DefaultHttpContext(); - Requests[1280].RequestServices = CreateServices(); - Requests[1280].Request.Method = "GET"; - Requests[1280].Request.Path = "/subscriptions/8afc8d57-fc63-/resourceGroups/ec0ffa3f-c8bb-48a/providers/Microsoft.Network/virtualNetworkGateways"; - Requests[1281] = new DefaultHttpContext(); - Requests[1281].RequestServices = CreateServices(); - Requests[1281].Request.Method = "GET"; - Requests[1281].Request.Path = "/subscriptions/2b4bf9b6-2a64-/resourceGroups/5f0246e3-efef-487/providers/Microsoft.Network/virtualNetworks"; - Requests[1282] = new DefaultHttpContext(); - Requests[1282].RequestServices = CreateServices(); - Requests[1282].Request.Method = "GET"; - Requests[1282].Request.Path = "/subscriptions/8525363a-914b-/resourceGroups/c8792e1d-c845-416/providers/Microsoft.NotificationHubs/namespaces"; - Requests[1283] = new DefaultHttpContext(); - Requests[1283].RequestServices = CreateServices(); - Requests[1283].Request.Method = "GET"; - Requests[1283].Request.Path = "/subscriptions/4616fc74-97c1-/resourcegroups/96ccfe5e-ec73-46f/providers/Microsoft.OperationalInsights/workspaces"; - Requests[1284] = new DefaultHttpContext(); - Requests[1284].RequestServices = CreateServices(); - Requests[1284].Request.Method = "GET"; - Requests[1284].Request.Path = "/subscriptions/58dcfb4f-f140-/resourcegroups/09ac8467-352a-4fb/providers/Microsoft.OperationsManagement/solutions"; - Requests[1285] = new DefaultHttpContext(); - Requests[1285].RequestServices = CreateServices(); - Requests[1285].Request.Method = "GET"; - Requests[1285].Request.Path = "/subscriptions/7249362d-6103-/resourceGroups/0399ea3f-f37f-497/providers/Microsoft.PowerBI/workspaceCollections"; - Requests[1286] = new DefaultHttpContext(); - Requests[1286].RequestServices = CreateServices(); - Requests[1286].Request.Method = "GET"; - Requests[1286].Request.Path = "/subscriptions/b6bd2100-af0a-/resourceGroups/eb2e32fc-e0e3-48f/providers/Microsoft.PowerBIDedicated/capacities"; - Requests[1287] = new DefaultHttpContext(); - Requests[1287].RequestServices = CreateServices(); - Requests[1287].Request.Method = "GET"; - Requests[1287].Request.Path = "/Subscriptions/f065de3b-03dd-/resourceGroups/a14115d9-ea8b-48d/providers/Microsoft.RecoveryServices/operations"; - Requests[1288] = new DefaultHttpContext(); - Requests[1288].RequestServices = CreateServices(); - Requests[1288].Request.Method = "GET"; - Requests[1288].Request.Path = "/subscriptions/b42eb485-ffd9-/resourceGroups/1446cb59-c069-4c9/providers/Microsoft.RecoveryServices/vaults"; - Requests[1289] = new DefaultHttpContext(); - Requests[1289].RequestServices = CreateServices(); - Requests[1289].Request.Method = "GET"; - Requests[1289].Request.Path = "/subscriptions/f4fc6481-71a3-/resourceGroups/6980e77f-9869-46e/providers/Microsoft.Relay/namespaces"; - Requests[1290] = new DefaultHttpContext(); - Requests[1290].RequestServices = CreateServices(); - Requests[1290].Request.Method = "GET"; - Requests[1290].Request.Path = "/subscriptions/9c794e72-b87c-/resourceGroups/bd3327ac-a2ff-4d4/providers/Microsoft.ResourceHealth/availabilityStatuses"; - Requests[1291] = new DefaultHttpContext(); - Requests[1291].RequestServices = CreateServices(); - Requests[1291].Request.Method = "GET"; - Requests[1291].Request.Path = "/subscriptions/4c8562af-ed4b-/resourcegroups/e52e19d2-aed6-4a7/providers/Microsoft.Resources/deployments"; - Requests[1292] = new DefaultHttpContext(); - Requests[1292].RequestServices = CreateServices(); - Requests[1292].Request.Method = "GET"; - Requests[1292].Request.Path = "/subscriptions/602e2b10-332f-/resourceGroups/fe868954-c4a6-4a3/providers/Microsoft.Scheduler/jobCollections"; - Requests[1293] = new DefaultHttpContext(); - Requests[1293].RequestServices = CreateServices(); - Requests[1293].Request.Method = "GET"; - Requests[1293].Request.Path = "/subscriptions/48613778-0015-/resourceGroups/b1370d9b-bd40-48c/providers/Microsoft.Search/searchServices"; - Requests[1294] = new DefaultHttpContext(); - Requests[1294].RequestServices = CreateServices(); - Requests[1294].Request.Method = "GET"; - Requests[1294].Request.Path = "/subscriptions/ac195450-c529-/resourceGroups/4f9db8ed-98fd-475/providers/Microsoft.Security/alerts"; - Requests[1295] = new DefaultHttpContext(); - Requests[1295].RequestServices = CreateServices(); - Requests[1295].Request.Method = "GET"; - Requests[1295].Request.Path = "/subscriptions/c54b1ec6-3054-/resourceGroups/381abc28-e2e4-417/providers/Microsoft.Security/jitNetworkAccessPolicies"; - Requests[1296] = new DefaultHttpContext(); - Requests[1296].RequestServices = CreateServices(); - Requests[1296].Request.Method = "GET"; - Requests[1296].Request.Path = "/subscriptions/4dbf7447-55aa-/resourceGroups/be8d3997-5dfc-438/providers/Microsoft.Security/pricings"; - Requests[1297] = new DefaultHttpContext(); - Requests[1297].RequestServices = CreateServices(); - Requests[1297].Request.Method = "GET"; - Requests[1297].Request.Path = "/subscriptions/81669e61-441f-/resourceGroups/7f0da9e6-3942-47b/providers/Microsoft.Security/securityContacts"; - Requests[1298] = new DefaultHttpContext(); - Requests[1298].RequestServices = CreateServices(); - Requests[1298].Request.Method = "GET"; - Requests[1298].Request.Path = "/subscriptions/3f62fd31-3004-/resourceGroups/66497d83-93af-4b8/providers/Microsoft.Security/workspaceSettings"; - Requests[1299] = new DefaultHttpContext(); - Requests[1299].RequestServices = CreateServices(); - Requests[1299].Request.Method = "GET"; - Requests[1299].Request.Path = "/subscriptions/dc9aa27e-04bd-/resourceGroups/c0f408c4-976c-4b8/providers/Microsoft.ServerManagement/gateways"; - Requests[1300] = new DefaultHttpContext(); - Requests[1300].RequestServices = CreateServices(); - Requests[1300].Request.Method = "GET"; - Requests[1300].Request.Path = "/subscriptions/108655ea-f84f-/resourceGroups/a998b2fc-e7d9-4f5/providers/Microsoft.ServerManagement/nodes"; - Requests[1301] = new DefaultHttpContext(); - Requests[1301].RequestServices = CreateServices(); - Requests[1301].Request.Method = "GET"; - Requests[1301].Request.Path = "/subscriptions/0bd197e4-0f70-/resourceGroups/b3a683df-34cf-427/providers/Microsoft.ServiceBus/namespaces"; - Requests[1302] = new DefaultHttpContext(); - Requests[1302].RequestServices = CreateServices(); - Requests[1302].Request.Method = "GET"; - Requests[1302].Request.Path = "/subscriptions/e0a8ee49-f819-/resourcegroups/30a5a6ce-e45e-4c0/providers/Microsoft.ServiceFabric/clusters"; - Requests[1303] = new DefaultHttpContext(); - Requests[1303].RequestServices = CreateServices(); - Requests[1303].Request.Method = "GET"; - Requests[1303].Request.Path = "/subscriptions/3859e0d2-dc4c-/resourceGroups/0888d931-8fba-437/providers/Microsoft.SignalRService/SignalR"; - Requests[1304] = new DefaultHttpContext(); - Requests[1304].RequestServices = CreateServices(); - Requests[1304].Request.Method = "GET"; - Requests[1304].Request.Path = "/subscriptions/1d95cbb9-e24a-/resourceGroups/ed25ee12-c091-47d/providers/Microsoft.Solutions/applianceDefinitions"; - Requests[1305] = new DefaultHttpContext(); - Requests[1305].RequestServices = CreateServices(); - Requests[1305].Request.Method = "GET"; - Requests[1305].Request.Path = "/subscriptions/4ef441c7-ccde-/resourceGroups/8bdc45b2-2b53-411/providers/Microsoft.Solutions/appliances"; - Requests[1306] = new DefaultHttpContext(); - Requests[1306].RequestServices = CreateServices(); - Requests[1306].Request.Method = "GET"; - Requests[1306].Request.Path = "/subscriptions/960e5c7c-3d45-/resourceGroups/6196ced3-c339-42c/providers/Microsoft.Solutions/applicationDefinitions"; - Requests[1307] = new DefaultHttpContext(); - Requests[1307].RequestServices = CreateServices(); - Requests[1307].Request.Method = "GET"; - Requests[1307].Request.Path = "/subscriptions/ee1d9e98-f02b-/resourceGroups/208941c0-377a-4e2/providers/Microsoft.Solutions/applications"; - Requests[1308] = new DefaultHttpContext(); - Requests[1308].RequestServices = CreateServices(); - Requests[1308].Request.Method = "GET"; - Requests[1308].Request.Path = "/subscriptions/fd850ce4-6f1a-/resourceGroups/54492495-f64b-47a/providers/Microsoft.Sql/managedInstances"; - Requests[1309] = new DefaultHttpContext(); - Requests[1309].RequestServices = CreateServices(); - Requests[1309].Request.Method = "GET"; - Requests[1309].Request.Path = "/subscriptions/7858eadb-4005-/resourceGroups/31d0c12f-fcfb-49a/providers/Microsoft.Sql/servers"; - Requests[1310] = new DefaultHttpContext(); - Requests[1310].RequestServices = CreateServices(); - Requests[1310].Request.Method = "GET"; - Requests[1310].Request.Path = "/subscriptions/79ef7c72-1050-/resourcegroups/3810870f-6103-455/providers/Microsoft.Storage.Admin/farms"; - Requests[1311] = new DefaultHttpContext(); - Requests[1311].RequestServices = CreateServices(); - Requests[1311].Request.Method = "GET"; - Requests[1311].Request.Path = "/subscriptions/27220928-227f-/resourceGroups/865dda6d-2523-477/providers/Microsoft.Storage/storageAccounts"; - Requests[1312] = new DefaultHttpContext(); - Requests[1312].RequestServices = CreateServices(); - Requests[1312].Request.Method = "GET"; - Requests[1312].Request.Path = "/subscriptions/59e1b819-7861-/resourceGroups/fc358a33-5955-466/providers/Microsoft.StorSimple/managers"; - Requests[1313] = new DefaultHttpContext(); - Requests[1313].RequestServices = CreateServices(); - Requests[1313].Request.Method = "GET"; - Requests[1313].Request.Path = "/subscriptions/4873365c-5102-/resourcegroups/a2b2baff-7111-407/providers/Microsoft.StreamAnalytics/streamingjobs"; - Requests[1314] = new DefaultHttpContext(); - Requests[1314].RequestServices = CreateServices(); - Requests[1314].Request.Method = "GET"; - Requests[1314].Request.Path = "/subscriptions/ee53c771-c767-/resourcegroups/61d9e16f-cf1e-400/providers/Microsoft.Subscriptions.Admin/directoryTenants"; - Requests[1315] = new DefaultHttpContext(); - Requests[1315].RequestServices = CreateServices(); - Requests[1315].Request.Method = "GET"; - Requests[1315].Request.Path = "/subscriptions/a7d7512d-1d1a-/resourcegroups/cf9c2748-284c-4d8/providers/Microsoft.Subscriptions.Admin/offers"; - Requests[1316] = new DefaultHttpContext(); - Requests[1316].RequestServices = CreateServices(); - Requests[1316].Request.Method = "GET"; - Requests[1316].Request.Path = "/subscriptions/4d21c24b-e0ad-/resourcegroups/030982b7-4052-4dd/providers/Microsoft.Subscriptions.Admin/plans"; - Requests[1317] = new DefaultHttpContext(); - Requests[1317].RequestServices = CreateServices(); - Requests[1317].Request.Method = "GET"; - Requests[1317].Request.Path = "/subscriptions/7482b29e-eece-/resourceGroups/c0ac6df9-9352-42b/providers/Microsoft.TimeSeriesInsights/environments"; - Requests[1318] = new DefaultHttpContext(); - Requests[1318].RequestServices = CreateServices(); - Requests[1318].Request.Method = "GET"; - Requests[1318].Request.Path = "/subscriptions/afd6d3cd-6443-/resourcegroups/26f0dfa0-6518-47c/providers/Microsoft.Update.Admin/updateLocations"; - Requests[1319] = new DefaultHttpContext(); - Requests[1319].RequestServices = CreateServices(); - Requests[1319].Request.Method = "GET"; - Requests[1319].Request.Path = "/subscriptions/43b6e6e2-e5f1-/resourcegroups/243aa268-da70-4d8/providers/microsoft.visualstudio/account"; - Requests[1320] = new DefaultHttpContext(); - Requests[1320].RequestServices = CreateServices(); - Requests[1320].Request.Method = "GET"; - Requests[1320].Request.Path = "/subscriptions/46edd6ff-44df-/resourceGroups/2657f165-ead9-4d0/providers/Microsoft.Web/certificates"; - Requests[1321] = new DefaultHttpContext(); - Requests[1321].RequestServices = CreateServices(); - Requests[1321].Request.Method = "GET"; - Requests[1321].Request.Path = "/subscriptions/e5ff3182-5ac0-/resourceGroups/f67b7f2f-4c31-4f1/providers/Microsoft.Web/classicMobileServices"; - Requests[1322] = new DefaultHttpContext(); - Requests[1322].RequestServices = CreateServices(); - Requests[1322].Request.Method = "GET"; - Requests[1322].Request.Path = "/subscriptions/56de45a9-cc5f-/resourceGroups/fbcf6988-f3e6-493/providers/Microsoft.Web/connectionGateways"; - Requests[1323] = new DefaultHttpContext(); - Requests[1323].RequestServices = CreateServices(); - Requests[1323].Request.Method = "GET"; - Requests[1323].Request.Path = "/subscriptions/6ff9483d-7538-/resourceGroups/d2533740-a424-493/providers/Microsoft.Web/connections"; - Requests[1324] = new DefaultHttpContext(); - Requests[1324].RequestServices = CreateServices(); - Requests[1324].Request.Method = "GET"; - Requests[1324].Request.Path = "/subscriptions/f2faab0c-4485-/resourceGroups/ff77b4ad-016a-4c2/providers/Microsoft.Web/csrs"; - Requests[1325] = new DefaultHttpContext(); - Requests[1325].RequestServices = CreateServices(); - Requests[1325].Request.Method = "GET"; - Requests[1325].Request.Path = "/subscriptions/a51b750c-99a9-/resourceGroups/792b88b7-0312-4d4/providers/Microsoft.Web/customApis"; - Requests[1326] = new DefaultHttpContext(); - Requests[1326].RequestServices = CreateServices(); - Requests[1326].Request.Method = "GET"; - Requests[1326].Request.Path = "/subscriptions/6246aa04-9b46-/resourceGroups/e82ad96d-9fe4-496/providers/Microsoft.Web/deletedSites"; - Requests[1327] = new DefaultHttpContext(); - Requests[1327].RequestServices = CreateServices(); - Requests[1327].Request.Method = "GET"; - Requests[1327].Request.Path = "/subscriptions/3e2db9cb-fbf0-/resourceGroups/b46dc0cb-4152-4b6/providers/Microsoft.Web/hostingEnvironments"; - Requests[1328] = new DefaultHttpContext(); - Requests[1328].RequestServices = CreateServices(); - Requests[1328].Request.Method = "GET"; - Requests[1328].Request.Path = "/subscriptions/7e41cf48-4ff1-/resourceGroups/6aa56f8f-5485-499/providers/Microsoft.Web/managedHostingEnvironments"; - Requests[1329] = new DefaultHttpContext(); - Requests[1329].RequestServices = CreateServices(); - Requests[1329].Request.Method = "GET"; - Requests[1329].Request.Path = "/subscriptions/50a9f1dd-889b-/resourceGroups/6a5cdaa5-fe4f-426/providers/Microsoft.Web/resourceHealthMetadata"; - Requests[1330] = new DefaultHttpContext(); - Requests[1330].RequestServices = CreateServices(); - Requests[1330].Request.Method = "GET"; - Requests[1330].Request.Path = "/subscriptions/da38d786-ab2e-/resourceGroups/4236e614-9801-43a/providers/Microsoft.Web/serverfarms"; - Requests[1331] = new DefaultHttpContext(); - Requests[1331].RequestServices = CreateServices(); - Requests[1331].Request.Method = "GET"; - Requests[1331].Request.Path = "/subscriptions/faca8af9-eadb-/resourceGroups/90480097-2a5f-4f8/providers/Microsoft.Web/sites"; - Requests[1332] = new DefaultHttpContext(); - Requests[1332].RequestServices = CreateServices(); - Requests[1332].Request.Method = "POST"; - Requests[1332].Request.Path = "/subscriptions/7a3defbe-7b0b-/resourceGroups/d674498d-fdac-42b/providers/Microsoft.Web/validate"; - Requests[1333] = new DefaultHttpContext(); - Requests[1333].RequestServices = CreateServices(); - Requests[1333].Request.Method = "POST"; - Requests[1333].Request.Path = "/subscriptions/75a9ec55-74ea-/resourceGroups/2ed0db4d-bde1-4ff/providers/Microsoft.BotService/BotServices/listServiceProviders"; - Requests[1334] = new DefaultHttpContext(); - Requests[1334].RequestServices = CreateServices(); - Requests[1334].Request.Method = "PATCH"; - Requests[1334].Request.Path = "/subscriptions/3ab88d53-e4ee-/resourceGroup/f7fad144-70cf-48b/providers/microsoft.insights/workbooks/f2930a94-e97"; - Requests[1335] = new DefaultHttpContext(); - Requests[1335].RequestServices = CreateServices(); - Requests[1335].Request.Method = "PATCH"; - Requests[1335].Request.Path = "/subscriptions/0861f6cc-1abb-/resourceGroups/b00107ee-/providers/Microsoft.DataMigration/services/29a10dd4-08"; - Requests[1336] = new DefaultHttpContext(); - Requests[1336].RequestServices = CreateServices(); - Requests[1336].Request.Method = "DELETE"; - Requests[1336].Request.Path = "/subscriptions/3a925bc0-2398-/resourcegroups/a25c1afd-9404/providers/Microsoft.AzureBridge.Admin/activations/d40f2bf2-b2d2-"; - Requests[1337] = new DefaultHttpContext(); - Requests[1337].RequestServices = CreateServices(); - Requests[1337].Request.Method = "PUT"; - Requests[1337].Request.Path = "/subscriptions/40daddee-0136-/resourceGroups/351d330c-3de5/providers/Microsoft.AzureStack/registrations/6523d045-1be3-42"; - Requests[1338] = new DefaultHttpContext(); - Requests[1338].RequestServices = CreateServices(); - Requests[1338].Request.Method = "PATCH"; - Requests[1338].Request.Path = "/subscriptions/a131f6c6-4b5b-/resourceGroups/44ebe978-086b-437/providers/Microsoft.AAD/domainServices/fa2df088-21a4-4c1"; - Requests[1339] = new DefaultHttpContext(); - Requests[1339].RequestServices = CreateServices(); - Requests[1339].Request.Method = "PATCH"; - Requests[1339].Request.Path = "/subscriptions/56536728-d0d4-/resourceGroups/64683739-bdf4-42e/providers/Microsoft.AnalysisServices/servers/13f685a8-5"; - Requests[1340] = new DefaultHttpContext(); - Requests[1340].RequestServices = CreateServices(); - Requests[1340].Request.Method = "DELETE"; - Requests[1340].Request.Path = "/subscriptions/5a1e5fc3-b11b-/resourceGroups/e2b88c21-89cd-441/providers/Microsoft.ApiManagement/service/26456f4d-ae"; - Requests[1341] = new DefaultHttpContext(); - Requests[1341].RequestServices = CreateServices(); - Requests[1341].Request.Method = "GET"; - Requests[1341].Request.Path = "/subscriptions/ba6ef263-fced-/resourceGroups/a64d4c31-e30d-49f/providers/Microsoft.Authorization/locks/242169ed"; - Requests[1342] = new DefaultHttpContext(); - Requests[1342].RequestServices = CreateServices(); - Requests[1342].Request.Method = "GET"; - Requests[1342].Request.Path = "/subscriptions/9f65b1ae-fc83-/resourceGroups/1f94a89c-6ec0-452/providers/Microsoft.Automation/automationAccounts/69c9a5d1-b70c-45b2-8f"; - Requests[1343] = new DefaultHttpContext(); - Requests[1343].RequestServices = CreateServices(); - Requests[1343].Request.Method = "PUT"; - Requests[1343].Request.Path = "/subscriptions/1e3a817d-a644-/resourcegroups/640d85fd-0c6f-489/providers/Microsoft.Backup.Admin/backupLocations/181ae94f"; - Requests[1344] = new DefaultHttpContext(); - Requests[1344].RequestServices = CreateServices(); - Requests[1344].Request.Method = "GET"; - Requests[1344].Request.Path = "/subscriptions/f167f783-c056-/resourceGroups/1b970a6e-dea8-460/providers/Microsoft.Batch/batchAccounts/6089a6d1-db"; - Requests[1345] = new DefaultHttpContext(); - Requests[1345].RequestServices = CreateServices(); - Requests[1345].Request.Method = "GET"; - Requests[1345].Request.Path = "/subscriptions/b7e16b54-b8e7-/resourceGroups/c32ba33e-5e3a-4e5/providers/Microsoft.BatchAI/clusters/f9e3024d-a5"; - Requests[1346] = new DefaultHttpContext(); - Requests[1346].RequestServices = CreateServices(); - Requests[1346].Request.Method = "GET"; - Requests[1346].Request.Path = "/subscriptions/12fb909b-5013-/resourceGroups/4ab56901-e16a-440/providers/Microsoft.BatchAI/fileServers/69bf1072-85d2-"; - Requests[1347] = new DefaultHttpContext(); - Requests[1347].RequestServices = CreateServices(); - Requests[1347].Request.Method = "GET"; - Requests[1347].Request.Path = "/subscriptions/0fa8901f-f6a0-/resourceGroups/0d1e537a-fdd6-4cd/providers/Microsoft.BatchAI/jobs/a8f4439"; - Requests[1348] = new DefaultHttpContext(); - Requests[1348].RequestServices = CreateServices(); - Requests[1348].Request.Method = "GET"; - Requests[1348].Request.Path = "/subscriptions/791e84eb-2630-/resourceGroups/68b99ebb-393f-4ba/providers/Microsoft.BatchAI/workspaces/97cf620a-d521"; - Requests[1349] = new DefaultHttpContext(); - Requests[1349].RequestServices = CreateServices(); - Requests[1349].Request.Method = "GET"; - Requests[1349].Request.Path = "/subscriptions/4deb81b7-9410-/resourceGroups/b72f1c59-990a-491/providers/Microsoft.BotService/botServices/c494bc01-a5b"; - Requests[1350] = new DefaultHttpContext(); - Requests[1350].RequestServices = CreateServices(); - Requests[1350].Request.Method = "GET"; - Requests[1350].Request.Path = "/subscriptions/838c8f90-33a4-/resourceGroups/59cb6668-45e9-4d0/providers/Microsoft.Cache/Redis/b0e49"; - Requests[1351] = new DefaultHttpContext(); - Requests[1351].RequestServices = CreateServices(); - Requests[1351].Request.Method = "DELETE"; - Requests[1351].Request.Path = "/subscriptions/41d8d0f5-1650-/resourceGroups/86dc3c2f-cd8b-435/providers/Microsoft.Cdn/profiles/07f850d8-cc"; - Requests[1352] = new DefaultHttpContext(); - Requests[1352].RequestServices = CreateServices(); - Requests[1352].Request.Method = "PATCH"; - Requests[1352].Request.Path = "/subscriptions/c2745dd2-b610-/resourceGroups/77ef005e-2239-427/providers/Microsoft.CertificateRegistration/certificateOrders/28218"; - Requests[1353] = new DefaultHttpContext(); - Requests[1353].RequestServices = CreateServices(); - Requests[1353].Request.Method = "GET"; - Requests[1353].Request.Path = "/subscriptions/c73a1046-57f0-/resourceGroups/b29283ec-b3b1-40d/providers/Microsoft.CognitiveServices/accounts/d7bd875d-bd"; - Requests[1354] = new DefaultHttpContext(); - Requests[1354].RequestServices = CreateServices(); - Requests[1354].Request.Method = "GET"; - Requests[1354].Request.Path = "/subscriptions/3fe24fb6-d76b-/resourceGroups/9e62d78d-072c-4bc/providers/Microsoft.Compute/availabilitySets/da1cdd62-4886-4105-"; - Requests[1355] = new DefaultHttpContext(); - Requests[1355].RequestServices = CreateServices(); - Requests[1355].Request.Method = "DELETE"; - Requests[1355].Request.Path = "/subscriptions/2e34ef2b-895b-/resourceGroups/4bb48601-ae53-41f/providers/Microsoft.Compute/disks/fcbac7a5"; - Requests[1356] = new DefaultHttpContext(); - Requests[1356].RequestServices = CreateServices(); - Requests[1356].Request.Method = "DELETE"; - Requests[1356].Request.Path = "/subscriptions/6627569d-0561-/resourceGroups/dd427210-771b-442/providers/Microsoft.Compute/galleries/4a058edf-da"; - Requests[1357] = new DefaultHttpContext(); - Requests[1357].RequestServices = CreateServices(); - Requests[1357].Request.Method = "GET"; - Requests[1357].Request.Path = "/subscriptions/6c7b8a40-bedb-/resourceGroups/f4e58237-fb98-49b/providers/Microsoft.Compute/images/c6d952b7-"; - Requests[1358] = new DefaultHttpContext(); - Requests[1358].RequestServices = CreateServices(); - Requests[1358].Request.Method = "DELETE"; - Requests[1358].Request.Path = "/subscriptions/05726b70-04a7-/resourceGroups/74b22219-bf43-460/providers/Microsoft.Compute/snapshots/7347a895-dec"; - Requests[1359] = new DefaultHttpContext(); - Requests[1359].RequestServices = CreateServices(); - Requests[1359].Request.Method = "GET"; - Requests[1359].Request.Path = "/subscriptions/cfb1dc9a-95d4-/resourceGroups/cfb8539d-9936-46e/providers/Microsoft.Compute/virtualMachines/a64b75"; - Requests[1360] = new DefaultHttpContext(); - Requests[1360].RequestServices = CreateServices(); - Requests[1360].Request.Method = "GET"; - Requests[1360].Request.Path = "/subscriptions/a4a8e0c0-0c54-/resourceGroups/a5bd0c15-789f-425/providers/Microsoft.Compute/virtualMachineScaleSets/535361ce-c7e7-"; - Requests[1361] = new DefaultHttpContext(); - Requests[1361].RequestServices = CreateServices(); - Requests[1361].Request.Method = "DELETE"; - Requests[1361].Request.Path = "/subscriptions/dae05721-f7fe-/resourceGroups/72b2d39c-3566-46d/providers/Microsoft.Consumption/budgets/008ee7d3-b"; - Requests[1362] = new DefaultHttpContext(); - Requests[1362].RequestServices = CreateServices(); - Requests[1362].Request.Method = "DELETE"; - Requests[1362].Request.Path = "/subscriptions/9ac014ac-a4f0-/resourceGroups/ba40bf1d-1e29-4bd/providers/Microsoft.ContainerInstance/containerGroups/ba3852af-7378-4e51"; - Requests[1363] = new DefaultHttpContext(); - Requests[1363].RequestServices = CreateServices(); - Requests[1363].Request.Method = "PATCH"; - Requests[1363].Request.Path = "/subscriptions/8c1c3efa-1b59-/resourceGroups/c5534a39-5385-4fa/providers/Microsoft.ContainerRegistry/registries/84aee8bf-068"; - Requests[1364] = new DefaultHttpContext(); - Requests[1364].RequestServices = CreateServices(); - Requests[1364].Request.Method = "DELETE"; - Requests[1364].Request.Path = "/subscriptions/602f6013-00f5-/resourceGroups/3fdfa9ec-6c07-437/providers/Microsoft.ContainerService/containerServices/67f000bd-4ff2-43de-b"; - Requests[1365] = new DefaultHttpContext(); - Requests[1365].RequestServices = CreateServices(); - Requests[1365].Request.Method = "DELETE"; - Requests[1365].Request.Path = "/subscriptions/069984d5-5501-/resourceGroups/77756d6f-1cb2-40b/providers/Microsoft.ContainerService/managedClusters/9e0aba87-8d7"; - Requests[1366] = new DefaultHttpContext(); - Requests[1366].RequestServices = CreateServices(); - Requests[1366].Request.Method = "GET"; - Requests[1366].Request.Path = "/subscriptions/7d029d0f-df7c-/resourceGroups/f109bd73-02fb-447/providers/Microsoft.CustomerInsights/hubs/64129f9"; - Requests[1367] = new DefaultHttpContext(); - Requests[1367].RequestServices = CreateServices(); - Requests[1367].Request.Method = "PATCH"; - Requests[1367].Request.Path = "/subscriptions/4e0f3c17-0dac-/resourceGroups/5571fd88-f472-408/providers/Microsoft.DataBox/jobs/e56db5e"; - Requests[1368] = new DefaultHttpContext(); - Requests[1368].RequestServices = CreateServices(); - Requests[1368].Request.Method = "PATCH"; - Requests[1368].Request.Path = "/subscriptions/bf5c2ad2-cc53-/resourceGroups/aa79b34f-f052-4b4/providers/Microsoft.Databricks/workspaces/4252970d-6c10"; - Requests[1369] = new DefaultHttpContext(); - Requests[1369].RequestServices = CreateServices(); - Requests[1369].Request.Method = "PATCH"; - Requests[1369].Request.Path = "/subscriptions/a469ed0d-e29b-/resourceGroups/bde50cd6-cd8e-4bb/providers/Microsoft.DataCatalog/catalogs/0f90c507-ab"; - Requests[1370] = new DefaultHttpContext(); - Requests[1370].RequestServices = CreateServices(); - Requests[1370].Request.Method = "DELETE"; - Requests[1370].Request.Path = "/subscriptions/0f3d6564-31ed-/resourceGroups/ef96a7cc-156b-48d/providers/Microsoft.DataFactory/factories/7bd09b59-10"; - Requests[1371] = new DefaultHttpContext(); - Requests[1371].RequestServices = CreateServices(); - Requests[1371].Request.Method = "DELETE"; - Requests[1371].Request.Path = "/subscriptions/1569254f-8d15-/resourceGroups/2c8582c6-f38a-4ae/providers/Microsoft.DataLakeAnalytics/accounts/ac82eb8f-0b"; - Requests[1372] = new DefaultHttpContext(); - Requests[1372].RequestServices = CreateServices(); - Requests[1372].Request.Method = "DELETE"; - Requests[1372].Request.Path = "/subscriptions/05fcc97d-74bc-/resourceGroups/5f1b1432-1167-476/providers/Microsoft.DataLakeStore/accounts/9c5aaf9b-92"; - Requests[1373] = new DefaultHttpContext(); - Requests[1373].RequestServices = CreateServices(); - Requests[1373].Request.Method = "GET"; - Requests[1373].Request.Path = "/subscriptions/17bc7038-1f05-/resourceGroups/8436181b-b2f1-4e5/providers/Microsoft.DBforMySQL/servers/0fb95329-1"; - Requests[1374] = new DefaultHttpContext(); - Requests[1374].RequestServices = CreateServices(); - Requests[1374].Request.Method = "GET"; - Requests[1374].Request.Path = "/subscriptions/f792b6a9-527e-/resourceGroups/6404ecf9-ae30-4e3/providers/Microsoft.DBforPostgreSQL/servers/fe47e6e0-f"; - Requests[1375] = new DefaultHttpContext(); - Requests[1375].RequestServices = CreateServices(); - Requests[1375].Request.Method = "DELETE"; - Requests[1375].Request.Path = "/subscriptions/fe6eacfd-7501-/resourceGroups/e202ff4f-fa93-40a/providers/Microsoft.Devices/IotHubs/7bab075a-745"; - Requests[1376] = new DefaultHttpContext(); - Requests[1376].RequestServices = CreateServices(); - Requests[1376].Request.Method = "DELETE"; - Requests[1376].Request.Path = "/subscriptions/bb546ef6-7ef8-/resourceGroups/dc7b4148-c1e5-46e/providers/Microsoft.Devices/provisioningServices/41f30963-0cf3-4628-aa6d"; - Requests[1377] = new DefaultHttpContext(); - Requests[1377].RequestServices = CreateServices(); - Requests[1377].Request.Method = "PATCH"; - Requests[1377].Request.Path = "/subscriptions/842332ef-615b-/resourceGroups/e86181a7-6c65-41e/providers/Microsoft.DevTestLab/labs/d3d1a"; - Requests[1378] = new DefaultHttpContext(); - Requests[1378].RequestServices = CreateServices(); - Requests[1378].Request.Method = "PATCH"; - Requests[1378].Request.Path = "/subscriptions/b37795ad-2c7f-/resourceGroups/7ab24a17-0bd3-49e/providers/Microsoft.DevTestLab/schedules/32930"; - Requests[1379] = new DefaultHttpContext(); - Requests[1379].RequestServices = CreateServices(); - Requests[1379].Request.Method = "DELETE"; - Requests[1379].Request.Path = "/subscriptions/4683dc1a-2da1-/resourceGroups/8eda5cb7-f1fc-4c9/providers/Microsoft.DocumentDB/databaseAccounts/6a7e66c3-dc"; - Requests[1380] = new DefaultHttpContext(); - Requests[1380].RequestServices = CreateServices(); - Requests[1380].Request.Method = "PATCH"; - Requests[1380].Request.Path = "/subscriptions/df74f0cd-3087-/resourceGroups/addca7c3-74c9-4e6/providers/Microsoft.DomainRegistration/domains/9d1e34e9-8"; - Requests[1381] = new DefaultHttpContext(); - Requests[1381].RequestServices = CreateServices(); - Requests[1381].Request.Method = "PATCH"; - Requests[1381].Request.Path = "/subscriptions/33b5fb54-da3a-/resourceGroups/770f7d30-ad14-41b/providers/Microsoft.EventGrid/topics/332017d7-"; - Requests[1382] = new DefaultHttpContext(); - Requests[1382].RequestServices = CreateServices(); - Requests[1382].Request.Method = "PATCH"; - Requests[1382].Request.Path = "/subscriptions/48c6b3c0-a190-/resourceGroups/a2bcc8b8-284f-488/providers/Microsoft.EventHub/clusters/5170a8cf-df"; - Requests[1383] = new DefaultHttpContext(); - Requests[1383].RequestServices = CreateServices(); - Requests[1383].Request.Method = "PATCH"; - Requests[1383].Request.Path = "/subscriptions/d2634370-0d5d-/resourceGroups/5043ef26-152d-416/providers/Microsoft.EventHub/namespaces/f1cd8d8e-6948"; - Requests[1384] = new DefaultHttpContext(); - Requests[1384].RequestServices = CreateServices(); - Requests[1384].Request.Method = "GET"; - Requests[1384].Request.Path = "/subscriptions/cb6176ef-701e-/resourceGroups/36852b24-2b2d-443/providers/Microsoft.Fabric.Admin/fabricLocations/d677484c-f156-"; - Requests[1385] = new DefaultHttpContext(); - Requests[1385].RequestServices = CreateServices(); - Requests[1385].Request.Method = "GET"; - Requests[1385].Request.Path = "/subscriptions/e409f89f-27c9-/resourceGroups/51479c73-ac07-4b2/providers/Microsoft.HanaOnAzure/hanaInstances/7b288305-2c47-45"; - Requests[1386] = new DefaultHttpContext(); - Requests[1386].RequestServices = CreateServices(); - Requests[1386].Request.Method = "GET"; - Requests[1386].Request.Path = "/subscriptions/736d278f-e862-/resourceGroups/a6207992-4806-488/providers/Microsoft.HDInsight/clusters/2ee853e6-80"; - Requests[1387] = new DefaultHttpContext(); - Requests[1387].RequestServices = CreateServices(); - Requests[1387].Request.Method = "DELETE"; - Requests[1387].Request.Path = "/subscriptions/17afb31b-2e24-/resourceGroups/f9f23159-583b-429/providers/Microsoft.ImportExport/jobs/ed3c86e"; - Requests[1388] = new DefaultHttpContext(); - Requests[1388].RequestServices = CreateServices(); - Requests[1388].Request.Method = "GET"; - Requests[1388].Request.Path = "/subscriptions/df7067e9-5aa3-/resourceGroups/9bd68aa8-87ca-4c7/providers/Microsoft.InfrastructureInsights.Admin/regionHealths/53270cd6"; - Requests[1389] = new DefaultHttpContext(); - Requests[1389].RequestServices = CreateServices(); - Requests[1389].Request.Method = "PATCH"; - Requests[1389].Request.Path = "/subscriptions/d3aadab1-b567-/resourceGroups/42e42b9e-f958-42d/providers/microsoft.insights/actionGroups/60ef8964-7770-4"; - Requests[1390] = new DefaultHttpContext(); - Requests[1390].RequestServices = CreateServices(); - Requests[1390].Request.Method = "PATCH"; - Requests[1390].Request.Path = "/subscriptions/518a2c91-6752-/resourceGroups/55c601ff-5a11-4f6/providers/microsoft.insights/activityLogAlerts/a1cc29fe-cfb9-4392-b"; - Requests[1391] = new DefaultHttpContext(); - Requests[1391].RequestServices = CreateServices(); - Requests[1391].Request.Method = "PATCH"; - Requests[1391].Request.Path = "/subscriptions/c00aeb8e-ae35-/resourcegroups/b69f52a8-5bd0-4a4/providers/microsoft.insights/alertrules/906488c8"; - Requests[1392] = new DefaultHttpContext(); - Requests[1392].RequestServices = CreateServices(); - Requests[1392].Request.Method = "PATCH"; - Requests[1392].Request.Path = "/subscriptions/17374bbd-85da-/resourcegroups/78116756-4ffc-44f/providers/microsoft.insights/autoscalesettings/b32074dc-349b-4eba-9"; - Requests[1393] = new DefaultHttpContext(); - Requests[1393].RequestServices = CreateServices(); - Requests[1393].Request.Method = "PATCH"; - Requests[1393].Request.Path = "/subscriptions/ccb9751b-c5d4-/resourceGroups/c5b843cc-8b94-4ca/providers/Microsoft.Insights/components/218f15d5-38e"; - Requests[1394] = new DefaultHttpContext(); - Requests[1394].RequestServices = CreateServices(); - Requests[1394].Request.Method = "DELETE"; - Requests[1394].Request.Path = "/subscriptions/dbf2b620-35ee-/resourceGroups/a6c73e59-03ce-4b4/providers/Microsoft.Insights/metricAlerts/b751fff3"; - Requests[1395] = new DefaultHttpContext(); - Requests[1395].RequestServices = CreateServices(); - Requests[1395].Request.Method = "DELETE"; - Requests[1395].Request.Path = "/subscriptions/0325606c-529d-/resourcegroups/02553922-507f-42d/providers/microsoft.insights/scheduledQueryRules/a66663a2"; - Requests[1396] = new DefaultHttpContext(); - Requests[1396].RequestServices = CreateServices(); - Requests[1396].Request.Method = "DELETE"; - Requests[1396].Request.Path = "/subscriptions/56ac598e-e97b-/resourceGroups/4f8cf665-48b1-4e7/providers/Microsoft.Insights/webtests/084c0356-df"; - Requests[1397] = new DefaultHttpContext(); - Requests[1397].RequestServices = CreateServices(); - Requests[1397].Request.Method = "DELETE"; - Requests[1397].Request.Path = "/subscriptions/fc05a876-517b-/resourceGroups/9a118c2b-9fc5-4c1/providers/Microsoft.IoTCentral/IoTApps/679bf88e-d3b"; - Requests[1398] = new DefaultHttpContext(); - Requests[1398].RequestServices = CreateServices(); - Requests[1398].Request.Method = "DELETE"; - Requests[1398].Request.Path = "/subscriptions/e0169818-fff6-/resourceGroups/9d6d3de8-31e4-44d/providers/Microsoft.IoTSpaces/Graph/8f268af2-420"; - Requests[1399] = new DefaultHttpContext(); - Requests[1399].RequestServices = CreateServices(); - Requests[1399].Request.Method = "GET"; - Requests[1399].Request.Path = "/subscriptions/27ac4227-fc3f-/resourceGroups/cb5fb44e-bca7-452/providers/Microsoft.KeyVault/vaults/19e679c0-"; - Requests[1400] = new DefaultHttpContext(); - Requests[1400].RequestServices = CreateServices(); - Requests[1400].Request.Method = "DELETE"; - Requests[1400].Request.Path = "/subscriptions/65f77acb-7945-/resourceGroups/d46fd3cd-5354-4fd/providers/Microsoft.Logic/integrationAccounts/5498e9a2-507e-407c-bbb"; - Requests[1401] = new DefaultHttpContext(); - Requests[1401].RequestServices = CreateServices(); - Requests[1401].Request.Method = "DELETE"; - Requests[1401].Request.Path = "/subscriptions/4e126f94-fdea-/resourceGroups/5ecb051c-b44d-485/providers/Microsoft.Logic/workflows/7abfda60-a97"; - Requests[1402] = new DefaultHttpContext(); - Requests[1402].RequestServices = CreateServices(); - Requests[1402].Request.Method = "PARAMETERS"; - Requests[1402].Request.Path = "/subscriptions/de1f1a54-1ef5-/resourceGroups/cc1e5d0d-b5e7-40b/providers/Microsoft.MachineLearning/commitmentPlans/872bda94-b817-4a69"; - Requests[1403] = new DefaultHttpContext(); - Requests[1403].RequestServices = CreateServices(); - Requests[1403].Request.Method = "DELETE"; - Requests[1403].Request.Path = "/subscriptions/ed631721-6c3a-/resourceGroups/b72625d6-c5ae-439/providers/Microsoft.MachineLearning/webServices/6e98ee4e-dfe0-"; - Requests[1404] = new DefaultHttpContext(); - Requests[1404].RequestServices = CreateServices(); - Requests[1404].Request.Method = "PATCH"; - Requests[1404].Request.Path = "/subscriptions/e1c2c4e9-8caf-/resourceGroups/dad9e064-6354-432/providers/Microsoft.MachineLearning/workspaces/1f33b208-29c0"; - Requests[1405] = new DefaultHttpContext(); - Requests[1405].RequestServices = CreateServices(); - Requests[1405].Request.Method = "DELETE"; - Requests[1405].Request.Path = "/subscriptions/f640eb28-b3a0-/resourceGroups/a5a7934f-b5a9-4e7/providers/Microsoft.MachineLearningCompute/operationalizationClusters/4b43b5f3-41"; - Requests[1406] = new DefaultHttpContext(); - Requests[1406].RequestServices = CreateServices(); - Requests[1406].Request.Method = "PATCH"; - Requests[1406].Request.Path = "/subscriptions/709323a7-26c1-/resourceGroups/51340a02-0471-46c/providers/Microsoft.MachineLearningExperimentation/accounts/83e01e96-eb"; - Requests[1407] = new DefaultHttpContext(); - Requests[1407].RequestServices = CreateServices(); - Requests[1407].Request.Method = "PATCH"; - Requests[1407].Request.Path = "/subscriptions/352262d7-875a-/resourceGroups/7ce7c05e-f5f3-407/providers/Microsoft.MachineLearningServices/workspaces/e6dad685-c929"; - Requests[1408] = new DefaultHttpContext(); - Requests[1408].RequestServices = CreateServices(); - Requests[1408].Request.Method = "DELETE"; - Requests[1408].Request.Path = "/subscriptions/da3268b9-c9a1-/resourceGroups/02f51e07-bf57-408/providers/Microsoft.ManagedIdentity/userAssignedIdentities/c674899b-822"; - Requests[1409] = new DefaultHttpContext(); - Requests[1409].RequestServices = CreateServices(); - Requests[1409].Request.Method = "GET"; - Requests[1409].Request.Path = "/subscriptions/c2ea7e68-cff1-/resourceGroups/be2af193-a1e4-452/providers/Microsoft.Maps/accounts/c55a3c77-dc"; - Requests[1410] = new DefaultHttpContext(); - Requests[1410].RequestServices = CreateServices(); - Requests[1410].Request.Method = "PATCH"; - Requests[1410].Request.Path = "/subscriptions/a0b93e34-2734-/resourceGroups/7187ba76-49c6-489/providers/Microsoft.Media/mediaservices/ff52fdc0-d8f2-47"; - Requests[1411] = new DefaultHttpContext(); - Requests[1411].RequestServices = CreateServices(); - Requests[1411].Request.Method = "DELETE"; - Requests[1411].Request.Path = "/subscriptions/8ebdb3a7-bdb2-/resourcegroups/0e93b769-4cd6-4e0/providers/Microsoft.Migrate/projects/ae630259-06"; - Requests[1412] = new DefaultHttpContext(); - Requests[1412].RequestServices = CreateServices(); - Requests[1412].Request.Method = "PATCH"; - Requests[1412].Request.Path = "/subscriptions/ecb10c61-b542-/resourceGroups/28ad036e-067e-4d6/providers/Microsoft.Network/applicationGateways/18893bfc-8472-4255-b96"; - Requests[1413] = new DefaultHttpContext(); - Requests[1413].RequestServices = CreateServices(); - Requests[1413].Request.Method = "PUT"; - Requests[1413].Request.Path = "/subscriptions/6fe6049b-b7c3-/resourceGroups/483ef43c-198e-40f/providers/Microsoft.Network/applicationSecurityGroups/d78f3620-bb14-4deb-b940-3245"; - Requests[1414] = new DefaultHttpContext(); - Requests[1414].RequestServices = CreateServices(); - Requests[1414].Request.Method = "PATCH"; - Requests[1414].Request.Path = "/subscriptions/6cb76ce4-0750-/resourceGroups/1752900e-6cdb-41d/providers/Microsoft.Network/connections/6c1c6272-a47c-449f-9f84-a577e9616f3"; - Requests[1415] = new DefaultHttpContext(); - Requests[1415].RequestServices = CreateServices(); - Requests[1415].Request.Method = "PUT"; - Requests[1415].Request.Path = "/subscriptions/20d2e215-776d-/resourceGroups/4b83ebe8-4e21-45b/providers/Microsoft.Network/ddosProtectionPlans/efc89548-e8a9-486a-91b"; - Requests[1416] = new DefaultHttpContext(); - Requests[1416].RequestServices = CreateServices(); - Requests[1416].Request.Method = "PATCH"; - Requests[1416].Request.Path = "/subscriptions/2ec8accf-349d-/resourceGroups/447d73c5-b495-4aa/providers/Microsoft.Network/dnsZones/08e072cb"; - Requests[1417] = new DefaultHttpContext(); - Requests[1417].RequestServices = CreateServices(); - Requests[1417].Request.Method = "PATCH"; - Requests[1417].Request.Path = "/subscriptions/4d074c60-f304-/resourceGroups/329c2294-1087-49a/providers/Microsoft.Network/expressRouteCircuits/f0736974-f3"; - Requests[1418] = new DefaultHttpContext(); - Requests[1418].RequestServices = CreateServices(); - Requests[1418].Request.Method = "PATCH"; - Requests[1418].Request.Path = "/subscriptions/8e0de7cb-91d1-/resourceGroups/8ee3541c-4658-415/providers/Microsoft.Network/expressRouteCrossConnections/0172603f-20d9-4aa4-"; - Requests[1419] = new DefaultHttpContext(); - Requests[1419].RequestServices = CreateServices(); - Requests[1419].Request.Method = "PATCH"; - Requests[1419].Request.Path = "/subscriptions/5ac639d8-930a-/resourceGroups/c5a2b796-db09-4de/providers/Microsoft.Network/loadBalancers/bee1828b-d43d-4a"; - Requests[1420] = new DefaultHttpContext(); - Requests[1420].RequestServices = CreateServices(); - Requests[1420].Request.Method = "PATCH"; - Requests[1420].Request.Path = "/subscriptions/a36e6661-75d8-/resourceGroups/04857458-e2ce-4e3/providers/Microsoft.Network/localNetworkGateways/c0788647-ce3c-4f53-b776"; - Requests[1421] = new DefaultHttpContext(); - Requests[1421].RequestServices = CreateServices(); - Requests[1421].Request.Method = "PATCH"; - Requests[1421].Request.Path = "/subscriptions/81153c52-7d97-/resourceGroups/aeb9b704-e472-43a/providers/Microsoft.Network/networkInterfaces/7d0815cf-adc5-414c-8"; - Requests[1422] = new DefaultHttpContext(); - Requests[1422].RequestServices = CreateServices(); - Requests[1422].Request.Method = "PATCH"; - Requests[1422].Request.Path = "/subscriptions/b02ffbeb-7771-/resourceGroups/28ea21ea-984d-4b3/providers/Microsoft.Network/networkSecurityGroups/ca3ece8f-9e29-4090-812e-"; - Requests[1423] = new DefaultHttpContext(); - Requests[1423].RequestServices = CreateServices(); - Requests[1423].Request.Method = "PATCH"; - Requests[1423].Request.Path = "/subscriptions/f5a9ffa6-9b5e-/resourceGroups/629c7ec5-417b-480/providers/Microsoft.Network/networkWatchers/54b3f696-1d73-4fbf"; - Requests[1424] = new DefaultHttpContext(); - Requests[1424].RequestServices = CreateServices(); - Requests[1424].Request.Method = "PATCH"; - Requests[1424].Request.Path = "/subscriptions/05d33c8e-4f4c-/resourceGroups/ce3710ae-43f3-47f/providers/Microsoft.Network/publicIPAddresses/72095a21-9bc0-40d0-"; - Requests[1425] = new DefaultHttpContext(); - Requests[1425].RequestServices = CreateServices(); - Requests[1425].Request.Method = "PATCH"; - Requests[1425].Request.Path = "/subscriptions/0a21f404-bf66-/resourceGroups/59ab462b-fdb1-408/providers/Microsoft.Network/routeFilters/d9acbb5c-2873-4"; - Requests[1426] = new DefaultHttpContext(); - Requests[1426].RequestServices = CreateServices(); - Requests[1426].Request.Method = "PATCH"; - Requests[1426].Request.Path = "/subscriptions/9430afe8-c60f-/resourceGroups/35322b19-34c2-4db/providers/Microsoft.Network/routeTables/72ad6684-165c-"; - Requests[1427] = new DefaultHttpContext(); - Requests[1427].RequestServices = CreateServices(); - Requests[1427].Request.Method = "PATCH"; - Requests[1427].Request.Path = "/subscriptions/a758d8d4-d26b-/resourceGroups/6a65646d-9f95-4ed/providers/Microsoft.Network/trafficmanagerprofiles/9e50c36d-9f"; - Requests[1428] = new DefaultHttpContext(); - Requests[1428].RequestServices = CreateServices(); - Requests[1428].Request.Method = "PATCH"; - Requests[1428].Request.Path = "/subscriptions/70c09d34-8bcc-/resourceGroups/e6f31a13-ec29-470/providers/Microsoft.Network/virtualNetworkGateways/4825c117-a558-43e8-8477-3"; - Requests[1429] = new DefaultHttpContext(); - Requests[1429].RequestServices = CreateServices(); - Requests[1429].Request.Method = "PATCH"; - Requests[1429].Request.Path = "/subscriptions/c850e109-8bd2-/resourceGroups/20acccd9-d7d6-448/providers/Microsoft.Network/virtualNetworks/ad4ba2f3-f9a7-4996"; - Requests[1430] = new DefaultHttpContext(); - Requests[1430].RequestServices = CreateServices(); - Requests[1430].Request.Method = "GET"; - Requests[1430].Request.Path = "/subscriptions/4d4d7367-72d7-/resourceGroups/6c89eb20-8782-438/providers/Microsoft.NotificationHubs/namespaces/10b89170-f934"; - Requests[1431] = new DefaultHttpContext(); - Requests[1431].RequestServices = CreateServices(); - Requests[1431].Request.Method = "PATCH"; - Requests[1431].Request.Path = "/subscriptions/f6dfba18-cb52-/resourcegroups/7012f0d2-fcb7-4ee/providers/Microsoft.OperationalInsights/workspaces/5550994e-0ade"; - Requests[1432] = new DefaultHttpContext(); - Requests[1432].RequestServices = CreateServices(); - Requests[1432].Request.Method = "GET"; - Requests[1432].Request.Path = "/subscriptions/c961be4f-4ca4-/resourcegroups/99b102c9-e3cf-442/providers/Microsoft.OperationsManagement/ManagementConfigurations/fefa6692-0c7e-45d9-b65e-0fc"; - Requests[1433] = new DefaultHttpContext(); - Requests[1433].RequestServices = CreateServices(); - Requests[1433].Request.Method = "GET"; - Requests[1433].Request.Path = "/subscriptions/0055c872-6f53-/resourcegroups/35d7ade1-602e-4d9/providers/Microsoft.OperationsManagement/solutions/23878b5d-e36"; - Requests[1434] = new DefaultHttpContext(); - Requests[1434].RequestServices = CreateServices(); - Requests[1434].Request.Method = "DELETE"; - Requests[1434].Request.Path = "/subscriptions/90091fab-0e1e-/resourceGroups/cd595e9b-f49b-442/providers/Microsoft.PowerBI/workspaceCollections/b8d00aa6-229e-42f9-88ed"; - Requests[1435] = new DefaultHttpContext(); - Requests[1435].RequestServices = CreateServices(); - Requests[1435].Request.Method = "PATCH"; - Requests[1435].Request.Path = "/subscriptions/58e81ca8-568f-/resourceGroups/4411c821-a9a2-45e/providers/Microsoft.PowerBIDedicated/capacities/89f2c91d-3a61-4738-ba"; - Requests[1436] = new DefaultHttpContext(); - Requests[1436].RequestServices = CreateServices(); - Requests[1436].Request.Method = "PATCH"; - Requests[1436].Request.Path = "/subscriptions/9403d47d-cb65-/resourceGroups/4c31245b-59ac-4ff/providers/Microsoft.RecoveryServices/vaults/011631c4-"; - Requests[1437] = new DefaultHttpContext(); - Requests[1437].RequestServices = CreateServices(); - Requests[1437].Request.Method = "PATCH"; - Requests[1437].Request.Path = "/subscriptions/2c165938-4a83-/resourceGroups/713bab5d-4de2-461/providers/Microsoft.Relay/namespaces/6668e4c0-abc8"; - Requests[1438] = new DefaultHttpContext(); - Requests[1438].RequestServices = CreateServices(); - Requests[1438].Request.Method = "GET"; - Requests[1438].Request.Path = "/subscriptions/135433d3-120a-/resourcegroups/df3ea1e8-c66e-45f/providers/Microsoft.Resources/deployments/a0b4e3ab-be3a-"; - Requests[1439] = new DefaultHttpContext(); - Requests[1439].RequestServices = CreateServices(); - Requests[1439].Request.Method = "DELETE"; - Requests[1439].Request.Path = "/subscriptions/18efd3d8-2341-/resourceGroups/f9445bde-e0ba-4ef/providers/Microsoft.Scheduler/jobCollections/44779061-c49b-4a0"; - Requests[1440] = new DefaultHttpContext(); - Requests[1440].RequestServices = CreateServices(); - Requests[1440].Request.Method = "DELETE"; - Requests[1440].Request.Path = "/subscriptions/dda2d11e-1352-/resourceGroups/b8147fc8-f8de-462/providers/Microsoft.Search/searchServices/1a9d81e3-2209-4ac"; - Requests[1441] = new DefaultHttpContext(); - Requests[1441].RequestServices = CreateServices(); - Requests[1441].Request.Method = "PUT"; - Requests[1441].Request.Path = "/subscriptions/868c2158-ed58-/resourceGroups/cc4feda1-fde5-480/providers/Microsoft.Security/pricings/4cf81c08-e6"; - Requests[1442] = new DefaultHttpContext(); - Requests[1442].RequestServices = CreateServices(); - Requests[1442].Request.Method = "PATCH"; - Requests[1442].Request.Path = "/subscriptions/a0148516-2e4e-/resourceGroups/14473da4-9aaf-411/providers/Microsoft.Security/securityContacts/ae44ccb9-14b3-4638-"; - Requests[1443] = new DefaultHttpContext(); - Requests[1443].RequestServices = CreateServices(); - Requests[1443].Request.Method = "PATCH"; - Requests[1443].Request.Path = "/subscriptions/def5357f-3b0d-/resourceGroups/f1c99d2d-85ec-433/providers/Microsoft.Security/workspaceSettings/5c0b5f68-7bab-47f0-a"; - Requests[1444] = new DefaultHttpContext(); - Requests[1444].RequestServices = CreateServices(); - Requests[1444].Request.Method = "GET"; - Requests[1444].Request.Path = "/subscriptions/36a66f55-126f-/resourceGroups/da0b9a70-a778-448/providers/Microsoft.ServerManagement/gateways/2dae84d3-03"; - Requests[1445] = new DefaultHttpContext(); - Requests[1445].RequestServices = CreateServices(); - Requests[1445].Request.Method = "GET"; - Requests[1445].Request.Path = "/subscriptions/6162edc3-ae5c-/resourceGroups/cdec2caa-74a0-483/providers/Microsoft.ServerManagement/nodes/4ad1ada5"; - Requests[1446] = new DefaultHttpContext(); - Requests[1446].RequestServices = CreateServices(); - Requests[1446].Request.Method = "PATCH"; - Requests[1446].Request.Path = "/subscriptions/bd052e83-2283-/resourceGroups/06d9dcc2-2850-4c3/providers/Microsoft.ServiceBus/namespaces/2f858585-c04a"; - Requests[1447] = new DefaultHttpContext(); - Requests[1447].RequestServices = CreateServices(); - Requests[1447].Request.Method = "DELETE"; - Requests[1447].Request.Path = "/subscriptions/52a466bc-6913-/resourceGroups/e0ec40e3-3945-413/providers/Microsoft.ServiceFabric/clusters/302b7ff2-85"; - Requests[1448] = new DefaultHttpContext(); - Requests[1448].RequestServices = CreateServices(); - Requests[1448].Request.Method = "PATCH"; - Requests[1448].Request.Path = "/subscriptions/c34094df-2fca-/resourceGroups/0a84b271-0764-4a3/providers/Microsoft.SignalRService/SignalR/8ba173a3-f23"; - Requests[1449] = new DefaultHttpContext(); - Requests[1449].RequestServices = CreateServices(); - Requests[1449].Request.Method = "PUT"; - Requests[1449].Request.Path = "/subscriptions/052daf06-8ba2-/resourceGroups/866427d6-a4f4-4b8/providers/Microsoft.Solutions/applianceDefinitions/e2d96271-34a1-4169-bb1c"; - Requests[1450] = new DefaultHttpContext(); - Requests[1450].RequestServices = CreateServices(); - Requests[1450].Request.Method = "PATCH"; - Requests[1450].Request.Path = "/subscriptions/cda1c24f-1044-/resourceGroups/71faa6c3-2e0e-49b/providers/Microsoft.Solutions/appliances/4907f95d-7319"; - Requests[1451] = new DefaultHttpContext(); - Requests[1451].RequestServices = CreateServices(); - Requests[1451].Request.Method = "PUT"; - Requests[1451].Request.Path = "/subscriptions/0e8d2e06-4456-/resourceGroups/bbc89f53-49ac-43f/providers/Microsoft.Solutions/applicationDefinitions/18a84463-410a-40db-aff3-8"; - Requests[1452] = new DefaultHttpContext(); - Requests[1452].RequestServices = CreateServices(); - Requests[1452].Request.Method = "PATCH"; - Requests[1452].Request.Path = "/subscriptions/83c7d0d0-204e-/resourceGroups/74d41bc9-3687-4e4/providers/Microsoft.Solutions/applications/d7a78b27-5f42-4"; - Requests[1453] = new DefaultHttpContext(); - Requests[1453].RequestServices = CreateServices(); - Requests[1453].Request.Method = "PATCH"; - Requests[1453].Request.Path = "/subscriptions/c0da4c72-fe64-/resourceGroups/b52b9a52-e613-4df/providers/Microsoft.Sql/managedInstances/5ae319a6-694d-4983-"; - Requests[1454] = new DefaultHttpContext(); - Requests[1454].RequestServices = CreateServices(); - Requests[1454].Request.Method = "GET"; - Requests[1454].Request.Path = "/subscriptions/581c6f45-acf2-/resourceGroups/6666356b-77ec-475/providers/Microsoft.Sql/servers/fbd8b12c-b"; - Requests[1455] = new DefaultHttpContext(); - Requests[1455].RequestServices = CreateServices(); - Requests[1455].Request.Method = "PATCH"; - Requests[1455].Request.Path = "/subscriptions/551214a6-3c23-/resourcegroups/ada3ceb8-f6e6-468/providers/Microsoft.Storage.Admin/farms/5058e0"; - Requests[1456] = new DefaultHttpContext(); - Requests[1456].RequestServices = CreateServices(); - Requests[1456].Request.Method = "PATCH"; - Requests[1456].Request.Path = "/subscriptions/de651d75-57ac-/resourceGroups/a06dd946-566b-4d6/providers/Microsoft.Storage/storageAccounts/592e04ab-68"; - Requests[1457] = new DefaultHttpContext(); - Requests[1457].RequestServices = CreateServices(); - Requests[1457].Request.Method = "PATCH"; - Requests[1457].Request.Path = "/subscriptions/bfa7b1f0-0e3c-/resourceGroups/efa197aa-24ed-432/providers/Microsoft.StorSimple/managers/8d7f23b5-c7"; - Requests[1458] = new DefaultHttpContext(); - Requests[1458].RequestServices = CreateServices(); - Requests[1458].Request.Method = "GET"; - Requests[1458].Request.Path = "/subscriptions/4c7f4f11-09ee-/resourcegroups/5e891334-1b4e-4e9/providers/Microsoft.StreamAnalytics/streamingjobs/0e0233c"; - Requests[1459] = new DefaultHttpContext(); - Requests[1459].RequestServices = CreateServices(); - Requests[1459].Request.Method = "PUT"; - Requests[1459].Request.Path = "/subscriptions/b5ac0202-9ea5-/resourcegroups/59b6aa0b-9b74-4d7/providers/Microsoft.Subscriptions.Admin/directoryTenants/081598"; - Requests[1460] = new DefaultHttpContext(); - Requests[1460].RequestServices = CreateServices(); - Requests[1460].Request.Method = "DELETE"; - Requests[1460].Request.Path = "/subscriptions/b448090b-a406-/resourcegroups/50f4cfae-cdd4-4a1/providers/Microsoft.Subscriptions.Admin/offers/7dcd8"; - Requests[1461] = new DefaultHttpContext(); - Requests[1461].RequestServices = CreateServices(); - Requests[1461].Request.Method = "DELETE"; - Requests[1461].Request.Path = "/subscriptions/86009bc8-bb38-/resourcegroups/126a432d-068f-453/providers/Microsoft.Subscriptions.Admin/plans/4964e"; - Requests[1462] = new DefaultHttpContext(); - Requests[1462].RequestServices = CreateServices(); - Requests[1462].Request.Method = "DELETE"; - Requests[1462].Request.Path = "/subscriptions/e2ef62f1-e665-/resourceGroups/06d8596b-734f-436/providers/Microsoft.TimeSeriesInsights/environments/722ec89b-95ed-4"; - Requests[1463] = new DefaultHttpContext(); - Requests[1463].RequestServices = CreateServices(); - Requests[1463].Request.Method = "GET"; - Requests[1463].Request.Path = "/subscriptions/bbfef2ac-c84b-/resourcegroups/72f612b2-81d0-48f/providers/Microsoft.Update.Admin/updateLocations/f08ac070-be41-"; - Requests[1464] = new DefaultHttpContext(); - Requests[1464].RequestServices = CreateServices(); - Requests[1464].Request.Method = "GET"; - Requests[1464].Request.Path = "/subscriptions/431f12c4-108e-/resourcegroups/80fb72e9-7dde-4ec/providers/microsoft.visualstudio/account/f1183f84-8fa"; - Requests[1465] = new DefaultHttpContext(); - Requests[1465].RequestServices = CreateServices(); - Requests[1465].Request.Method = "PATCH"; - Requests[1465].Request.Path = "/subscriptions/b66213c9-1d95-/resourceGroups/83ea1d76-5fc5-4e4/providers/Microsoft.Web/certificates/bd7b2"; - Requests[1466] = new DefaultHttpContext(); - Requests[1466].RequestServices = CreateServices(); - Requests[1466].Request.Method = "DELETE"; - Requests[1466].Request.Path = "/subscriptions/e9452b9e-8416-/resourceGroups/12bf5fbb-882e-427/providers/Microsoft.Web/classicMobileServices/c72b2"; - Requests[1467] = new DefaultHttpContext(); - Requests[1467].RequestServices = CreateServices(); - Requests[1467].Request.Method = "DELETE"; - Requests[1467].Request.Path = "/subscriptions/2860dbf5-5d5f-/resourceGroups/e55fa755-e4dd-434/providers/Microsoft.Web/connectionGateways/37348ca8-40b6-4f6c-88"; - Requests[1468] = new DefaultHttpContext(); - Requests[1468].RequestServices = CreateServices(); - Requests[1468].Request.Method = "DELETE"; - Requests[1468].Request.Path = "/subscriptions/ce899493-24af-/resourceGroups/62950159-e7e1-4a8/providers/Microsoft.Web/connections/34338653-6da5-"; - Requests[1469] = new DefaultHttpContext(); - Requests[1469].RequestServices = CreateServices(); - Requests[1469].Request.Method = "PATCH"; - Requests[1469].Request.Path = "/subscriptions/69ff748a-af59-/resourceGroups/5dd8c110-adb6-466/providers/Microsoft.Web/csrs/ee049"; - Requests[1470] = new DefaultHttpContext(); - Requests[1470].RequestServices = CreateServices(); - Requests[1470].Request.Method = "DELETE"; - Requests[1470].Request.Path = "/subscriptions/af986fb8-8b7d-/resourceGroups/772e22ec-7450-455/providers/Microsoft.Web/customApis/971a432"; - Requests[1471] = new DefaultHttpContext(); - Requests[1471].RequestServices = CreateServices(); - Requests[1471].Request.Method = "PATCH"; - Requests[1471].Request.Path = "/subscriptions/56082173-8c17-/resourceGroups/9f7814c5-2089-4f2/providers/Microsoft.Web/hostingEnvironments/b6802"; - Requests[1472] = new DefaultHttpContext(); - Requests[1472].RequestServices = CreateServices(); - Requests[1472].Request.Method = "DELETE"; - Requests[1472].Request.Path = "/subscriptions/9f567f2a-4ca7-/resourceGroups/c4602504-968a-4a1/providers/Microsoft.Web/managedHostingEnvironments/03023"; - Requests[1473] = new DefaultHttpContext(); - Requests[1473].RequestServices = CreateServices(); - Requests[1473].Request.Method = "PATCH"; - Requests[1473].Request.Path = "/subscriptions/e9218db3-d998-/resourceGroups/cfd042d0-17d7-4f0/providers/Microsoft.Web/serverfarms/e17c2"; - Requests[1474] = new DefaultHttpContext(); - Requests[1474].RequestServices = CreateServices(); - Requests[1474].Request.Method = "PATCH"; - Requests[1474].Request.Path = "/subscriptions/a04b32ac-02d8-/resourceGroups/ebf8f564-ea09-44c/providers/Microsoft.Web/sites/308cf"; - Requests[1475] = new DefaultHttpContext(); - Requests[1475].RequestServices = CreateServices(); - Requests[1475].Request.Method = "POST"; - Requests[1475].Request.Path = "/providers/86a83e32-b655-4b0a-a103-f/managementGroups/f849432b-573a-40f7-/providers/Microsoft.PolicyInsights/policyEvents/2e855bfb-0546-4b82-a/queryResults"; - Requests[1476] = new DefaultHttpContext(); - Requests[1476].RequestServices = CreateServices(); - Requests[1476].Request.Method = "POST"; - Requests[1476].Request.Path = "/providers/f9b2fe03-1179-4b47-b909-7/managementGroups/452e51d9-f88d-45e5-/providers/Microsoft.PolicyInsights/policyStates/39b5ae2a-011d-414e-a/queryResults"; - Requests[1477] = new DefaultHttpContext(); - Requests[1477].RequestServices = CreateServices(); - Requests[1477].Request.Method = "POST"; - Requests[1477].Request.Path = "/providers/cf437586-0435-4c43-9503-4/managementGroups/4b63af36-d573-4246-/providers/Microsoft.PolicyInsights/policyStates/a955c58c-2c58-4f9c-9719-4ee/summarize"; - Requests[1478] = new DefaultHttpContext(); - Requests[1478].RequestServices = CreateServices(); - Requests[1478].Request.Method = "GET"; - Requests[1478].Request.Path = "/subscriptions/16b7959f-355a-/resourceGroup/903d7fc0-9bac-47c/providers/Microsoft.MachineLearningServices/workspaces/c3ed20cb-996f/computes"; - Requests[1479] = new DefaultHttpContext(); - Requests[1479].RequestServices = CreateServices(); - Requests[1479].Request.Method = "POST"; - Requests[1479].Request.Path = "/subscriptions/6a1226d5-2593-/resourceGroups/f63a742e-/providers/Microsoft.DataMigration/services/be64f5cc-25/checkNameAvailability"; - Requests[1480] = new DefaultHttpContext(); - Requests[1480].RequestServices = CreateServices(); - Requests[1480].Request.Method = "POST"; - Requests[1480].Request.Path = "/subscriptions/cfe1b1f6-25a7-/resourceGroups/3274a3d9-/providers/Microsoft.DataMigration/services/b6025546-31/checkStatus"; - Requests[1481] = new DefaultHttpContext(); - Requests[1481].RequestServices = CreateServices(); - Requests[1481].Request.Method = "GET"; - Requests[1481].Request.Path = "/subscriptions/eaf4f4b8-6098-/resourceGroups/8cce9494-/providers/Microsoft.DataMigration/services/342bc8d3-0e/projects"; - Requests[1482] = new DefaultHttpContext(); - Requests[1482].RequestServices = CreateServices(); - Requests[1482].Request.Method = "GET"; - Requests[1482].Request.Path = "/subscriptions/52256091-28e8-/resourceGroups/8cdd2ac7-/providers/Microsoft.DataMigration/services/6c110ccf-07/skus"; - Requests[1483] = new DefaultHttpContext(); - Requests[1483].RequestServices = CreateServices(); - Requests[1483].Request.Method = "POST"; - Requests[1483].Request.Path = "/subscriptions/731c5b29-0284-/resourceGroups/91210aee-/providers/Microsoft.DataMigration/services/9a38319d-52/start"; - Requests[1484] = new DefaultHttpContext(); - Requests[1484].RequestServices = CreateServices(); - Requests[1484].Request.Method = "POST"; - Requests[1484].Request.Path = "/subscriptions/01afcbba-c2f6-/resourceGroups/d6d3e6d9-/providers/Microsoft.DataMigration/services/b98552e1-c6/stop"; - Requests[1485] = new DefaultHttpContext(); - Requests[1485].RequestServices = CreateServices(); - Requests[1485].Request.Method = "GET"; - Requests[1485].Request.Path = "/subscriptions/01f28308-6792-/resourcegroups/79802600-f07e/providers/Microsoft.AzureBridge.Admin/activations/6405af37-ecd2-/downloadedProducts"; - Requests[1486] = new DefaultHttpContext(); - Requests[1486].RequestServices = CreateServices(); - Requests[1486].Request.Method = "GET"; - Requests[1486].Request.Path = "/subscriptions/98bd0513-28da-/resourcegroups/c64b89ce-e6f8/providers/Microsoft.AzureBridge.Admin/activations/b0a032b0-2e5d-/products"; - Requests[1487] = new DefaultHttpContext(); - Requests[1487].RequestServices = CreateServices(); - Requests[1487].Request.Method = "GET"; - Requests[1487].Request.Path = "/subscriptions/fa887f82-195a-/resourceGroups/07567f96-fa51/providers/Microsoft.AzureStack/registrations/107a99da-3b9a-49/customerSubscriptions"; - Requests[1488] = new DefaultHttpContext(); - Requests[1488].RequestServices = CreateServices(); - Requests[1488].Request.Method = "POST"; - Requests[1488].Request.Path = "/subscriptions/92ac0c94-cad0-/resourceGroups/ceae7ad6-d7b0/providers/Microsoft.AzureStack/registrations/94240925-fb83-41/getactivationkey"; - Requests[1489] = new DefaultHttpContext(); - Requests[1489].RequestServices = CreateServices(); - Requests[1489].Request.Method = "GET"; - Requests[1489].Request.Path = "/subscriptions/a5b2e4a5-93e7-/resourceGroups/f99e05b2-7e20/providers/Microsoft.AzureStack/registrations/f0d17d8f-eff9-4a/products"; - Requests[1490] = new DefaultHttpContext(); - Requests[1490].RequestServices = CreateServices(); - Requests[1490].Request.Method = "POST"; - Requests[1490].Request.Path = "/subscriptions/7d9c6360-dbaa-/resourceGroups/0a4e5575-83e4-4c9/providers/Microsoft.AnalysisServices/servers/2db0328d-3/dissociateGateway"; - Requests[1491] = new DefaultHttpContext(); - Requests[1491].RequestServices = CreateServices(); - Requests[1491].Request.Method = "POST"; - Requests[1491].Request.Path = "/subscriptions/8709a0fb-51ee-/resourceGroups/1c871bba-5c8b-4ea/providers/Microsoft.AnalysisServices/servers/2ad56d7e-0/listGatewayStatus"; - Requests[1492] = new DefaultHttpContext(); - Requests[1492].RequestServices = CreateServices(); - Requests[1492].Request.Method = "POST"; - Requests[1492].Request.Path = "/subscriptions/852b3e79-ea87-/resourceGroups/433301eb-b2f3-49e/providers/Microsoft.AnalysisServices/servers/0f0a1c47-b/resume"; - Requests[1493] = new DefaultHttpContext(); - Requests[1493].RequestServices = CreateServices(); - Requests[1493].Request.Method = "GET"; - Requests[1493].Request.Path = "/subscriptions/6e113f71-7f6b-/resourceGroups/b7879425-4525-467/providers/Microsoft.AnalysisServices/servers/08ae77e1-9/skus"; - Requests[1494] = new DefaultHttpContext(); - Requests[1494].RequestServices = CreateServices(); - Requests[1494].Request.Method = "POST"; - Requests[1494].Request.Path = "/subscriptions/23ba3ead-c689-/resourceGroups/fd183e5f-7c9c-46b/providers/Microsoft.AnalysisServices/servers/49fd7388-1/suspend"; - Requests[1495] = new DefaultHttpContext(); - Requests[1495].RequestServices = CreateServices(); - Requests[1495].Request.Method = "GET"; - Requests[1495].Request.Path = "/subscriptions/dff82d78-cd7e-/resourceGroups/cc712e1f-d6a7-4c6/providers/Microsoft.ApiManagement/service/df91b154-5d/apis"; - Requests[1496] = new DefaultHttpContext(); - Requests[1496].RequestServices = CreateServices(); - Requests[1496].Request.Method = "GET"; - Requests[1496].Request.Path = "/subscriptions/05f14cd1-dc1c-/resourceGroups/edf65c55-78d5-46f/providers/Microsoft.ApiManagement/service/97054896-18/apisByTags"; - Requests[1497] = new DefaultHttpContext(); - Requests[1497].RequestServices = CreateServices(); - Requests[1497].Request.Method = "GET"; - Requests[1497].Request.Path = "/subscriptions/e294d5d5-e277-/resourceGroups/45df0d1e-cb31-425/providers/Microsoft.ApiManagement/service/1b9b88b7-8a/api-version-sets"; - Requests[1498] = new DefaultHttpContext(); - Requests[1498].RequestServices = CreateServices(); - Requests[1498].Request.Method = "POST"; - Requests[1498].Request.Path = "/subscriptions/fca9b1cf-d9fe-/resourceGroups/7daf8f90-0592-4af/providers/Microsoft.ApiManagement/service/6b2f38d9-e7/applynetworkconfigurationupdates"; - Requests[1499] = new DefaultHttpContext(); - Requests[1499].RequestServices = CreateServices(); - Requests[1499].Request.Method = "GET"; - Requests[1499].Request.Path = "/subscriptions/587ed8d9-a577-/resourceGroups/2699e306-f481-42b/providers/Microsoft.ApiManagement/service/e39d3fa0-3e/authorizationServers"; - Requests[1500] = new DefaultHttpContext(); - Requests[1500].RequestServices = CreateServices(); - Requests[1500].Request.Method = "GET"; - Requests[1500].Request.Path = "/subscriptions/fc3bf1f5-3263-/resourceGroups/f0b8e486-b671-463/providers/Microsoft.ApiManagement/service/6ae48338-eb/backends"; - Requests[1501] = new DefaultHttpContext(); - Requests[1501].RequestServices = CreateServices(); - Requests[1501].Request.Method = "POST"; - Requests[1501].Request.Path = "/subscriptions/e5d3b135-e16f-/resourceGroups/44d1cd17-b85e-47c/providers/Microsoft.ApiManagement/service/dfdb071b-4d/backup"; - Requests[1502] = new DefaultHttpContext(); - Requests[1502].RequestServices = CreateServices(); - Requests[1502].Request.Method = "GET"; - Requests[1502].Request.Path = "/subscriptions/ff017815-83f3-/resourceGroups/f4d78c71-beac-4b2/providers/Microsoft.ApiManagement/service/c7415e48-bc/certificates"; - Requests[1503] = new DefaultHttpContext(); - Requests[1503].RequestServices = CreateServices(); - Requests[1503].Request.Method = "GET"; - Requests[1503].Request.Path = "/subscriptions/b57d14fa-c179-/resourceGroups/e2b58c01-f3fe-4a6/providers/Microsoft.ApiManagement/service/e0f3fc53-26/diagnostics"; - Requests[1504] = new DefaultHttpContext(); - Requests[1504].RequestServices = CreateServices(); - Requests[1504].Request.Method = "POST"; - Requests[1504].Request.Path = "/subscriptions/58f2ff60-848d-/resourceGroups/52afa199-d279-417/providers/Microsoft.ApiManagement/service/eaeca541-ff/getssotoken"; - Requests[1505] = new DefaultHttpContext(); - Requests[1505].RequestServices = CreateServices(); - Requests[1505].Request.Method = "GET"; - Requests[1505].Request.Path = "/subscriptions/00ca7a85-3608-/resourceGroups/1f1f1f07-ebd0-4be/providers/Microsoft.ApiManagement/service/8e4edb82-9d/groups"; - Requests[1506] = new DefaultHttpContext(); - Requests[1506].RequestServices = CreateServices(); - Requests[1506].Request.Method = "GET"; - Requests[1506].Request.Path = "/subscriptions/6663a44b-f5d2-/resourceGroups/ddd697a6-a5b0-46c/providers/Microsoft.ApiManagement/service/cb87682e-af/identityProviders"; - Requests[1507] = new DefaultHttpContext(); - Requests[1507].RequestServices = CreateServices(); - Requests[1507].Request.Method = "GET"; - Requests[1507].Request.Path = "/subscriptions/1f3480bd-4304-/resourceGroups/4e7b7354-dcb9-48c/providers/Microsoft.ApiManagement/service/90140c83-8f/issues"; - Requests[1508] = new DefaultHttpContext(); - Requests[1508].RequestServices = CreateServices(); - Requests[1508].Request.Method = "GET"; - Requests[1508].Request.Path = "/subscriptions/21568c40-f014-/resourceGroups/c279ec12-8594-47a/providers/Microsoft.ApiManagement/service/2c66291b-fb/loggers"; - Requests[1509] = new DefaultHttpContext(); - Requests[1509].RequestServices = CreateServices(); - Requests[1509].Request.Method = "POST"; - Requests[1509].Request.Path = "/subscriptions/2b0ee9af-4441-/resourceGroups/3181a170-c467-443/providers/Microsoft.ApiManagement/service/f7178c06-4a/managedeployments"; - Requests[1510] = new DefaultHttpContext(); - Requests[1510].RequestServices = CreateServices(); - Requests[1510].Request.Method = "GET"; - Requests[1510].Request.Path = "/subscriptions/8e850fe8-3157-/resourceGroups/5a66fad7-9a5d-4b5/providers/Microsoft.ApiManagement/service/6061ef65-8b/networkstatus"; - Requests[1511] = new DefaultHttpContext(); - Requests[1511].RequestServices = CreateServices(); - Requests[1511].Request.Method = "GET"; - Requests[1511].Request.Path = "/subscriptions/3097ab30-81a5-/resourceGroups/db24069e-1e78-4df/providers/Microsoft.ApiManagement/service/b972c9ab-41/notifications"; - Requests[1512] = new DefaultHttpContext(); - Requests[1512].RequestServices = CreateServices(); - Requests[1512].Request.Method = "GET"; - Requests[1512].Request.Path = "/subscriptions/92884ce7-3c0d-/resourceGroups/a81582fa-839e-4a7/providers/Microsoft.ApiManagement/service/70fa7510-d1/openidConnectProviders"; - Requests[1513] = new DefaultHttpContext(); - Requests[1513].RequestServices = CreateServices(); - Requests[1513].Request.Method = "GET"; - Requests[1513].Request.Path = "/subscriptions/9569bb0e-b511-/resourceGroups/84cb9395-ff24-4f0/providers/Microsoft.ApiManagement/service/2ee90aaf-56/policies"; - Requests[1514] = new DefaultHttpContext(); - Requests[1514].RequestServices = CreateServices(); - Requests[1514].Request.Method = "GET"; - Requests[1514].Request.Path = "/subscriptions/e7493acd-78df-/resourceGroups/f35d7b86-48d5-452/providers/Microsoft.ApiManagement/service/cb3704b1-05/policySnippets"; - Requests[1515] = new DefaultHttpContext(); - Requests[1515].RequestServices = CreateServices(); - Requests[1515].Request.Method = "GET"; - Requests[1515].Request.Path = "/subscriptions/27773d5f-4d89-/resourceGroups/51bebab1-63c2-426/providers/Microsoft.ApiManagement/service/d3b441f9-c9/products"; - Requests[1516] = new DefaultHttpContext(); - Requests[1516].RequestServices = CreateServices(); - Requests[1516].Request.Method = "GET"; - Requests[1516].Request.Path = "/subscriptions/0dd2ab29-db25-/resourceGroups/3b4f2938-4fd4-492/providers/Microsoft.ApiManagement/service/0810be3a-74/properties"; - Requests[1517] = new DefaultHttpContext(); - Requests[1517].RequestServices = CreateServices(); - Requests[1517].Request.Method = "GET"; - Requests[1517].Request.Path = "/subscriptions/fb996776-3231-/resourceGroups/ffd4c747-2406-403/providers/Microsoft.ApiManagement/service/6877b0cf-d9/regions"; - Requests[1518] = new DefaultHttpContext(); - Requests[1518].RequestServices = CreateServices(); - Requests[1518].Request.Method = "POST"; - Requests[1518].Request.Path = "/subscriptions/b598175a-c6f9-/resourceGroups/5d207520-de32-46b/providers/Microsoft.ApiManagement/service/327bcbd9-e7/restore"; - Requests[1519] = new DefaultHttpContext(); - Requests[1519].RequestServices = CreateServices(); - Requests[1519].Request.Method = "GET"; - Requests[1519].Request.Path = "/subscriptions/c8146f52-8514-/resourceGroups/0d05679f-890f-4be/providers/Microsoft.ApiManagement/service/a8b260be-c0/subscriptions"; - Requests[1520] = new DefaultHttpContext(); - Requests[1520].RequestServices = CreateServices(); - Requests[1520].Request.Method = "GET"; - Requests[1520].Request.Path = "/subscriptions/62ad29f0-a02e-/resourceGroups/b92c7e5b-9b99-4c2/providers/Microsoft.ApiManagement/service/b5619c48-f6/tagResources"; - Requests[1521] = new DefaultHttpContext(); - Requests[1521].RequestServices = CreateServices(); - Requests[1521].Request.Method = "GET"; - Requests[1521].Request.Path = "/subscriptions/985f7a95-7d1a-/resourceGroups/a37ea568-a4d3-434/providers/Microsoft.ApiManagement/service/4eaaa35b-41/tags"; - Requests[1522] = new DefaultHttpContext(); - Requests[1522].RequestServices = CreateServices(); - Requests[1522].Request.Method = "GET"; - Requests[1522].Request.Path = "/subscriptions/72eca5a6-d1aa-/resourceGroups/a8b2e6a4-9404-4ed/providers/Microsoft.ApiManagement/service/6dbd914a-a9/templates"; - Requests[1523] = new DefaultHttpContext(); - Requests[1523].RequestServices = CreateServices(); - Requests[1523].Request.Method = "POST"; - Requests[1523].Request.Path = "/subscriptions/b626e6e2-84b2-/resourceGroups/49d22e42-d917-4d4/providers/Microsoft.ApiManagement/service/4a75835f-75/updatecertificate"; - Requests[1524] = new DefaultHttpContext(); - Requests[1524].RequestServices = CreateServices(); - Requests[1524].Request.Method = "POST"; - Requests[1524].Request.Path = "/subscriptions/715abb84-0340-/resourceGroups/4ca262b1-99bc-4f3/providers/Microsoft.ApiManagement/service/c6954a5d-5e/updatehostname"; - Requests[1525] = new DefaultHttpContext(); - Requests[1525].RequestServices = CreateServices(); - Requests[1525].Request.Method = "POST"; - Requests[1525].Request.Path = "/subscriptions/fb6e353b-f49f-/resourceGroups/ad82ee6f-699a-4c4/providers/Microsoft.ApiManagement/service/89fa14ef-1a/uploadcertificate"; - Requests[1526] = new DefaultHttpContext(); - Requests[1526].RequestServices = CreateServices(); - Requests[1526].Request.Method = "GET"; - Requests[1526].Request.Path = "/subscriptions/b67b5738-6ca5-/resourceGroups/57f3e639-b41b-4d5/providers/Microsoft.ApiManagement/service/c333433d-2b/users"; - Requests[1527] = new DefaultHttpContext(); - Requests[1527].RequestServices = CreateServices(); - Requests[1527].Request.Method = "GET"; - Requests[1527].Request.Path = "/subscriptions/9b3489a8-de02-/resourceGroups/966706ab-c6a2-4f8/providers/Microsoft.Automation/automationAccounts/e6ed495e-a248-48b0-b9/agentRegistrationInformation"; - Requests[1528] = new DefaultHttpContext(); - Requests[1528].RequestServices = CreateServices(); - Requests[1528].Request.Method = "GET"; - Requests[1528].Request.Path = "/subscriptions/e78da591-0ed3-/resourceGroups/851207dd-edde-435/providers/Microsoft.Automation/automationAccounts/2ebfe6ec-2f8a-4fd0-b1/certificates"; - Requests[1529] = new DefaultHttpContext(); - Requests[1529].RequestServices = CreateServices(); - Requests[1529].Request.Method = "GET"; - Requests[1529].Request.Path = "/subscriptions/2708f247-5a1e-/resourceGroups/8ba35d49-699f-4ba/providers/Microsoft.Automation/automationAccounts/bb400cf3-a97a-4f0c-a8/compilationjobs"; - Requests[1530] = new DefaultHttpContext(); - Requests[1530].RequestServices = CreateServices(); - Requests[1530].Request.Method = "GET"; - Requests[1530].Request.Path = "/subscriptions/63d29509-41ec-/resourceGroups/778f741e-b6c4-435/providers/Microsoft.Automation/automationAccounts/7709223d-cf7a-4654-88/configurations"; - Requests[1531] = new DefaultHttpContext(); - Requests[1531].RequestServices = CreateServices(); - Requests[1531].Request.Method = "GET"; - Requests[1531].Request.Path = "/subscriptions/c18a30a1-2aab-/resourceGroups/0a212edc-45f6-480/providers/Microsoft.Automation/automationAccounts/71da0b6b-f80a-441d-8b/connections"; - Requests[1532] = new DefaultHttpContext(); - Requests[1532].RequestServices = CreateServices(); - Requests[1532].Request.Method = "GET"; - Requests[1532].Request.Path = "/subscriptions/0001f9a9-e624-/resourceGroups/666011c8-75b4-4b0/providers/Microsoft.Automation/automationAccounts/c7f3929e-9aee-428a-b1/connectionTypes"; - Requests[1533] = new DefaultHttpContext(); - Requests[1533].RequestServices = CreateServices(); - Requests[1533].Request.Method = "GET"; - Requests[1533].Request.Path = "/subscriptions/82a5a2e8-9e8b-/resourceGroups/cd6a9ee5-7538-4e9/providers/Microsoft.Automation/automationAccounts/9cddceb4-afee-406b-af/credentials"; - Requests[1534] = new DefaultHttpContext(); - Requests[1534].RequestServices = CreateServices(); - Requests[1534].Request.Method = "GET"; - Requests[1534].Request.Path = "/subscriptions/ddc603d6-1fe5-/resourceGroups/079672da-202b-43b/providers/Microsoft.Automation/automationAccounts/ad8b0416-2012-40be-87/hybridRunbookWorkerGroups"; - Requests[1535] = new DefaultHttpContext(); - Requests[1535].RequestServices = CreateServices(); - Requests[1535].Request.Method = "GET"; - Requests[1535].Request.Path = "/subscriptions/336f5be0-5547-/resourceGroups/62eb807c-8b14-4a8/providers/Microsoft.Automation/automationAccounts/a0c916a0-bbf0-453e-b9/jobs"; - Requests[1536] = new DefaultHttpContext(); - Requests[1536].RequestServices = CreateServices(); - Requests[1536].Request.Method = "GET"; - Requests[1536].Request.Path = "/subscriptions/87a01b1b-2a04-/resourceGroups/639511ad-c548-416/providers/Microsoft.Automation/automationAccounts/4e2acc58-8b12-4b21-93/jobSchedules"; - Requests[1537] = new DefaultHttpContext(); - Requests[1537].RequestServices = CreateServices(); - Requests[1537].Request.Method = "GET"; - Requests[1537].Request.Path = "/subscriptions/557fe1f7-ae92-/resourceGroups/b3c655a8-488c-409/providers/Microsoft.Automation/automationAccounts/b5102668-208e-4ace-83/linkedWorkspace"; - Requests[1538] = new DefaultHttpContext(); - Requests[1538].RequestServices = CreateServices(); - Requests[1538].Request.Method = "POST"; - Requests[1538].Request.Path = "/subscriptions/5c0adc65-48d1-/resourceGroups/77bc693b-53bc-40a/providers/Microsoft.Automation/automationAccounts/dbb84a01-f419-4161-af/listKeys"; - Requests[1539] = new DefaultHttpContext(); - Requests[1539].RequestServices = CreateServices(); - Requests[1539].Request.Method = "GET"; - Requests[1539].Request.Path = "/subscriptions/09d465c9-4cf7-/resourceGroups/e3beee26-b45f-46f/providers/Microsoft.Automation/automationAccounts/0e14e01a-1fa4-426a-84/modules"; - Requests[1540] = new DefaultHttpContext(); - Requests[1540].RequestServices = CreateServices(); - Requests[1540].Request.Method = "GET"; - Requests[1540].Request.Path = "/subscriptions/7e100e13-4343-/resourceGroups/0ab37a54-d9b4-457/providers/Microsoft.Automation/automationAccounts/ba2f55b5-a4a0-4eba-aa/nodeConfigurations"; - Requests[1541] = new DefaultHttpContext(); - Requests[1541].RequestServices = CreateServices(); - Requests[1541].Request.Method = "GET"; - Requests[1541].Request.Path = "/subscriptions/2c2464a3-d4b6-/resourceGroups/f6a3de77-9f32-422/providers/Microsoft.Automation/automationAccounts/d62e6dd4-a155-43d6-b0/nodes"; - Requests[1542] = new DefaultHttpContext(); - Requests[1542].RequestServices = CreateServices(); - Requests[1542].Request.Method = "GET"; - Requests[1542].Request.Path = "/subscriptions/803d970a-07e8-/resourceGroups/630f24b8-3c1f-4e8/providers/Microsoft.Automation/automationAccounts/94576571-49d8-4051-84/runbooks"; - Requests[1543] = new DefaultHttpContext(); - Requests[1543].RequestServices = CreateServices(); - Requests[1543].Request.Method = "GET"; - Requests[1543].Request.Path = "/subscriptions/2f7e87d2-a953-/resourceGroups/30b21721-6df2-4ba/providers/Microsoft.Automation/automationAccounts/c803c518-59c1-4dd4-98/schedules"; - Requests[1544] = new DefaultHttpContext(); - Requests[1544].RequestServices = CreateServices(); - Requests[1544].Request.Method = "GET"; - Requests[1544].Request.Path = "/subscriptions/5e35855c-bac9-/resourceGroups/544bc510-cd9b-4f2/providers/Microsoft.Automation/automationAccounts/379d69d8-941e-4599-aa/softwareUpdateConfigurationMachineRuns"; - Requests[1545] = new DefaultHttpContext(); - Requests[1545].RequestServices = CreateServices(); - Requests[1545].Request.Method = "GET"; - Requests[1545].Request.Path = "/subscriptions/e73df8d6-6687-/resourceGroups/34bb43c6-9305-4a4/providers/Microsoft.Automation/automationAccounts/ee5633db-3a6a-4b21-aa/softwareUpdateConfigurationRuns"; - Requests[1546] = new DefaultHttpContext(); - Requests[1546].RequestServices = CreateServices(); - Requests[1546].Request.Method = "GET"; - Requests[1546].Request.Path = "/subscriptions/5f9b36bb-1985-/resourceGroups/f0a3c68f-5964-45b/providers/Microsoft.Automation/automationAccounts/750a9ca5-810b-4051-b7/softwareUpdateConfigurations"; - Requests[1547] = new DefaultHttpContext(); - Requests[1547].RequestServices = CreateServices(); - Requests[1547].Request.Method = "GET"; - Requests[1547].Request.Path = "/subscriptions/afe52ddc-7e5b-/resourceGroups/db5ab9cf-9cf7-41a/providers/Microsoft.Automation/automationAccounts/54d4f59a-5fc0-438c-aa/sourceControls"; - Requests[1548] = new DefaultHttpContext(); - Requests[1548].RequestServices = CreateServices(); - Requests[1548].Request.Method = "GET"; - Requests[1548].Request.Path = "/subscriptions/480ec8aa-18c1-/resourceGroups/a4609bc5-4161-4e6/providers/Microsoft.Automation/automationAccounts/bf4bc188-73aa-4c84-a6/statistics"; - Requests[1549] = new DefaultHttpContext(); - Requests[1549].RequestServices = CreateServices(); - Requests[1549].Request.Method = "GET"; - Requests[1549].Request.Path = "/subscriptions/f519d8d8-dd19-/resourceGroups/7e5e2bc5-8091-4a4/providers/Microsoft.Automation/automationAccounts/40729a51-9ce7-4e83-af/usages"; - Requests[1550] = new DefaultHttpContext(); - Requests[1550].RequestServices = CreateServices(); - Requests[1550].Request.Method = "GET"; - Requests[1550].Request.Path = "/subscriptions/120350ba-40c1-/resourceGroups/6bbf9092-e24d-4eb/providers/Microsoft.Automation/automationAccounts/f66ef767-bf20-4647-98/variables"; - Requests[1551] = new DefaultHttpContext(); - Requests[1551].RequestServices = CreateServices(); - Requests[1551].Request.Method = "GET"; - Requests[1551].Request.Path = "/subscriptions/1639969f-574a-/resourceGroups/a97f9fca-3eeb-469/providers/Microsoft.Automation/automationAccounts/b545267b-3163-48ff-99/watchers"; - Requests[1552] = new DefaultHttpContext(); - Requests[1552].RequestServices = CreateServices(); - Requests[1552].Request.Method = "GET"; - Requests[1552].Request.Path = "/subscriptions/effe2e5a-b8c3-/resourceGroups/b1aabfbd-3344-403/providers/Microsoft.Automation/automationAccounts/1ef1b173-1c12-4b91-b5/webhooks"; - Requests[1553] = new DefaultHttpContext(); - Requests[1553].RequestServices = CreateServices(); - Requests[1553].Request.Method = "GET"; - Requests[1553].Request.Path = "/subscriptions/e5d72d3f-7b89-/resourcegroups/0ff94d18-8603-477/providers/Microsoft.Backup.Admin/backupLocations/e73ef0a9/backups"; - Requests[1554] = new DefaultHttpContext(); - Requests[1554].RequestServices = CreateServices(); - Requests[1554].Request.Method = "POST"; - Requests[1554].Request.Path = "/subscriptions/98154fa1-06e6-/resourcegroups/723200d6-aa84-455/providers/Microsoft.Backup.Admin/backupLocations/2077eb9c/createBackup"; - Requests[1555] = new DefaultHttpContext(); - Requests[1555].RequestServices = CreateServices(); - Requests[1555].Request.Method = "GET"; - Requests[1555].Request.Path = "/subscriptions/89e01353-e76b-/resourceGroups/a78f1d51-9361-4b6/providers/Microsoft.Batch/batchAccounts/1eed5d73-3e/applications"; - Requests[1556] = new DefaultHttpContext(); - Requests[1556].RequestServices = CreateServices(); - Requests[1556].Request.Method = "GET"; - Requests[1556].Request.Path = "/subscriptions/0a1a5ce7-2925-/resourceGroups/ea1a58d0-3df8-434/providers/Microsoft.Batch/batchAccounts/ca0379c4-5f/certificates"; - Requests[1557] = new DefaultHttpContext(); - Requests[1557].RequestServices = CreateServices(); - Requests[1557].Request.Method = "POST"; - Requests[1557].Request.Path = "/subscriptions/d737a19d-2a39-/resourceGroups/1e1d08f2-7370-404/providers/Microsoft.Batch/batchAccounts/35a5dbe3-35/listKeys"; - Requests[1558] = new DefaultHttpContext(); - Requests[1558].RequestServices = CreateServices(); - Requests[1558].Request.Method = "GET"; - Requests[1558].Request.Path = "/subscriptions/f2575b65-4f2e-/resourceGroups/717ec546-bb10-440/providers/Microsoft.Batch/batchAccounts/5759338c-cb/pools"; - Requests[1559] = new DefaultHttpContext(); - Requests[1559].RequestServices = CreateServices(); - Requests[1559].Request.Method = "POST"; - Requests[1559].Request.Path = "/subscriptions/9d755c84-bc87-/resourceGroups/d9fca1c1-2a43-42e/providers/Microsoft.Batch/batchAccounts/a09e49ff-9a/regenerateKeys"; - Requests[1560] = new DefaultHttpContext(); - Requests[1560].RequestServices = CreateServices(); - Requests[1560].Request.Method = "POST"; - Requests[1560].Request.Path = "/subscriptions/959ee08b-f03c-/resourceGroups/bb8276f7-d82d-439/providers/Microsoft.Batch/batchAccounts/87df4fb0-da/syncAutoStorageKeys"; - Requests[1561] = new DefaultHttpContext(); - Requests[1561].RequestServices = CreateServices(); - Requests[1561].Request.Method = "POST"; - Requests[1561].Request.Path = "/subscriptions/8b545d23-34eb-/resourceGroups/50a1ff89-088c-45c/providers/Microsoft.BatchAI/clusters/d609c51d-52/listRemoteLoginInformation"; - Requests[1562] = new DefaultHttpContext(); - Requests[1562].RequestServices = CreateServices(); - Requests[1562].Request.Method = "POST"; - Requests[1562].Request.Path = "/subscriptions/424143b1-7362-/resourceGroups/fd6f86ba-b43a-4ef/providers/Microsoft.BatchAI/jobs/73c0da4/listOutputFiles"; - Requests[1563] = new DefaultHttpContext(); - Requests[1563].RequestServices = CreateServices(); - Requests[1563].Request.Method = "POST"; - Requests[1563].Request.Path = "/subscriptions/a0a60fa5-a5ab-/resourceGroups/63e82ee5-2831-418/providers/Microsoft.BatchAI/jobs/bfb828e/listRemoteLoginInformation"; - Requests[1564] = new DefaultHttpContext(); - Requests[1564].RequestServices = CreateServices(); - Requests[1564].Request.Method = "POST"; - Requests[1564].Request.Path = "/subscriptions/16aec6a0-74fc-/resourceGroups/fa535c19-aad4-48c/providers/Microsoft.BatchAI/jobs/01aed27/terminate"; - Requests[1565] = new DefaultHttpContext(); - Requests[1565].RequestServices = CreateServices(); - Requests[1565].Request.Method = "GET"; - Requests[1565].Request.Path = "/subscriptions/f649d314-af33-/resourceGroups/8d0b5d27-1506-406/providers/Microsoft.BatchAI/workspaces/f1dae7bc-3c5d/clusters"; - Requests[1566] = new DefaultHttpContext(); - Requests[1566].RequestServices = CreateServices(); - Requests[1566].Request.Method = "GET"; - Requests[1566].Request.Path = "/subscriptions/fd296a01-5960-/resourceGroups/f62fd50f-cf10-451/providers/Microsoft.BatchAI/workspaces/717350e8-d428/experiments"; - Requests[1567] = new DefaultHttpContext(); - Requests[1567].RequestServices = CreateServices(); - Requests[1567].Request.Method = "GET"; - Requests[1567].Request.Path = "/subscriptions/c1b331ca-7835-/resourceGroups/413f50cc-cab0-4d8/providers/Microsoft.BatchAI/workspaces/79b32c57-3ffb/fileServers"; - Requests[1568] = new DefaultHttpContext(); - Requests[1568].RequestServices = CreateServices(); - Requests[1568].Request.Method = "GET"; - Requests[1568].Request.Path = "/subscriptions/e76ebfc3-faef-/resourceGroups/47b46ad1-7c80-471/providers/Microsoft.BotService/botServices/7599fdf0-095/channels"; - Requests[1569] = new DefaultHttpContext(); - Requests[1569].RequestServices = CreateServices(); - Requests[1569].Request.Method = "GET"; - Requests[1569].Request.Path = "/subscriptions/60bab74a-333b-/resourceGroups/1b76b5b7-5377-425/providers/Microsoft.BotService/botServices/965c8565-201/connections"; - Requests[1570] = new DefaultHttpContext(); - Requests[1570].RequestServices = CreateServices(); - Requests[1570].Request.Method = "GET"; - Requests[1570].Request.Path = "/subscriptions/b81b685a-7cbc-/resourceGroups/6aa33aa2-9096-40a/providers/Microsoft.Cache/Redis/6a6be7fc-/firewallRules"; - Requests[1571] = new DefaultHttpContext(); - Requests[1571].RequestServices = CreateServices(); - Requests[1571].Request.Method = "GET"; - Requests[1571].Request.Path = "/subscriptions/af4a7fe5-d865-/resourceGroups/042b45fb-4843-475/providers/Microsoft.Cache/Redis/0baac0fc-/patchSchedules"; - Requests[1572] = new DefaultHttpContext(); - Requests[1572].RequestServices = CreateServices(); - Requests[1572].Request.Method = "POST"; - Requests[1572].Request.Path = "/subscriptions/2ffa1d4f-bc2b-/resourceGroups/4ed49301-ef4c-404/providers/Microsoft.Cache/Redis/23017/export"; - Requests[1573] = new DefaultHttpContext(); - Requests[1573].RequestServices = CreateServices(); - Requests[1573].Request.Method = "POST"; - Requests[1573].Request.Path = "/subscriptions/f02f23b2-cd11-/resourceGroups/c27b7784-b39b-411/providers/Microsoft.Cache/Redis/747ea/forceReboot"; - Requests[1574] = new DefaultHttpContext(); - Requests[1574].RequestServices = CreateServices(); - Requests[1574].Request.Method = "POST"; - Requests[1574].Request.Path = "/subscriptions/2d2a0b08-cc7d-/resourceGroups/34e60c3d-6d3a-414/providers/Microsoft.Cache/Redis/a96fe/import"; - Requests[1575] = new DefaultHttpContext(); - Requests[1575].RequestServices = CreateServices(); - Requests[1575].Request.Method = "GET"; - Requests[1575].Request.Path = "/subscriptions/e471388e-869b-/resourceGroups/a6056ecb-2805-462/providers/Microsoft.Cache/Redis/8c2ac/linkedServers"; - Requests[1576] = new DefaultHttpContext(); - Requests[1576].RequestServices = CreateServices(); - Requests[1576].Request.Method = "POST"; - Requests[1576].Request.Path = "/subscriptions/341d618f-aa04-/resourceGroups/313b0c8e-6f9d-46b/providers/Microsoft.Cache/Redis/7e5b1/listKeys"; - Requests[1577] = new DefaultHttpContext(); - Requests[1577].RequestServices = CreateServices(); - Requests[1577].Request.Method = "GET"; - Requests[1577].Request.Path = "/subscriptions/19a5a993-c26c-/resourceGroups/1883c1e0-f7d5-4a7/providers/Microsoft.Cache/Redis/7fbf5/listUpgradeNotifications"; - Requests[1578] = new DefaultHttpContext(); - Requests[1578].RequestServices = CreateServices(); - Requests[1578].Request.Method = "POST"; - Requests[1578].Request.Path = "/subscriptions/105f064a-078e-/resourceGroups/259679d8-0f07-4b6/providers/Microsoft.Cache/Redis/36cdd/regenerateKey"; - Requests[1579] = new DefaultHttpContext(); - Requests[1579].RequestServices = CreateServices(); - Requests[1579].Request.Method = "POST"; - Requests[1579].Request.Path = "/subscriptions/f5184e4c-80ba-/resourceGroups/124c9ea6-561b-458/providers/Microsoft.Cdn/profiles/4a8c57ce-55/checkResourceUsage"; - Requests[1580] = new DefaultHttpContext(); - Requests[1580].RequestServices = CreateServices(); - Requests[1580].Request.Method = "GET"; - Requests[1580].Request.Path = "/subscriptions/5cad99f8-f66d-/resourceGroups/d704e7ee-d001-4aa/providers/Microsoft.Cdn/profiles/7044cab4-89/endpoints"; - Requests[1581] = new DefaultHttpContext(); - Requests[1581].RequestServices = CreateServices(); - Requests[1581].Request.Method = "POST"; - Requests[1581].Request.Path = "/subscriptions/946b59b4-2a5f-/resourceGroups/e0c70970-a48a-489/providers/Microsoft.Cdn/profiles/29a52e43-c4/generateSsoUri"; - Requests[1582] = new DefaultHttpContext(); - Requests[1582].RequestServices = CreateServices(); - Requests[1582].Request.Method = "POST"; - Requests[1582].Request.Path = "/subscriptions/2de3d09c-5b24-/resourceGroups/ea42eb14-c62d-43c/providers/Microsoft.Cdn/profiles/c6737a67-c8/getSupportedOptimizationTypes"; - Requests[1583] = new DefaultHttpContext(); - Requests[1583].RequestServices = CreateServices(); - Requests[1583].Request.Method = "GET"; - Requests[1583].Request.Path = "/subscriptions/37ce4dc4-0fe9-/resourceGroups/fe59f042-6db1-420/providers/Microsoft.CertificateRegistration/certificateOrders/b1ee7716-3e77-41a3-b/certificates"; - Requests[1584] = new DefaultHttpContext(); - Requests[1584].RequestServices = CreateServices(); - Requests[1584].Request.Method = "POST"; - Requests[1584].Request.Path = "/subscriptions/50131bb5-d3a9-/resourceGroups/d9e2a095-3809-465/providers/Microsoft.CertificateRegistration/certificateOrders/f8f98e5c-33fa-4e5d-b/resendRequestEmails"; - Requests[1585] = new DefaultHttpContext(); - Requests[1585].RequestServices = CreateServices(); - Requests[1585].Request.Method = "POST"; - Requests[1585].Request.Path = "/subscriptions/c0d64a25-7599-/resourceGroups/ce338188-619f-4f4/providers/Microsoft.CertificateRegistration/certificateOrders/8d72e86a-c522-47d6-9/retrieveSiteSeal"; - Requests[1586] = new DefaultHttpContext(); - Requests[1586].RequestServices = CreateServices(); - Requests[1586].Request.Method = "POST"; - Requests[1586].Request.Path = "/subscriptions/cf9377d5-f69e-/resourceGroups/1121933d-aac1-467/providers/Microsoft.CertificateRegistration/certificateOrders/4357b/reissue"; - Requests[1587] = new DefaultHttpContext(); - Requests[1587].RequestServices = CreateServices(); - Requests[1587].Request.Method = "POST"; - Requests[1587].Request.Path = "/subscriptions/b8f150e6-dfc1-/resourceGroups/81843a39-c533-42f/providers/Microsoft.CertificateRegistration/certificateOrders/e2b1a/renew"; - Requests[1588] = new DefaultHttpContext(); - Requests[1588].RequestServices = CreateServices(); - Requests[1588].Request.Method = "POST"; - Requests[1588].Request.Path = "/subscriptions/9f13eb29-fd9d-/resourceGroups/e047cc8e-e568-49f/providers/Microsoft.CertificateRegistration/certificateOrders/94ad8/resendEmail"; - Requests[1589] = new DefaultHttpContext(); - Requests[1589].RequestServices = CreateServices(); - Requests[1589].Request.Method = "POST"; - Requests[1589].Request.Path = "/subscriptions/7194312a-9bf7-/resourceGroups/dae7c45c-c7aa-43d/providers/Microsoft.CertificateRegistration/certificateOrders/3bba3/retrieveCertificateActions"; - Requests[1590] = new DefaultHttpContext(); - Requests[1590].RequestServices = CreateServices(); - Requests[1590].Request.Method = "POST"; - Requests[1590].Request.Path = "/subscriptions/a7d963f4-b8f5-/resourceGroups/759230d5-43b3-414/providers/Microsoft.CertificateRegistration/certificateOrders/df888/retrieveEmailHistory"; - Requests[1591] = new DefaultHttpContext(); - Requests[1591].RequestServices = CreateServices(); - Requests[1591].Request.Method = "POST"; - Requests[1591].Request.Path = "/subscriptions/a420b4b5-05a6-/resourceGroups/c40eb74b-8a58-439/providers/Microsoft.CertificateRegistration/certificateOrders/9eb87/verifyDomainOwnership"; - Requests[1592] = new DefaultHttpContext(); - Requests[1592].RequestServices = CreateServices(); - Requests[1592].Request.Method = "POST"; - Requests[1592].Request.Path = "/subscriptions/77cc7f6d-5196-/resourceGroups/b2c15ee1-6691-41a/providers/Microsoft.CognitiveServices/accounts/b9506207-60/listKeys"; - Requests[1593] = new DefaultHttpContext(); - Requests[1593].RequestServices = CreateServices(); - Requests[1593].Request.Method = "POST"; - Requests[1593].Request.Path = "/subscriptions/5294b75d-893d-/resourceGroups/d328ed43-7191-4b2/providers/Microsoft.CognitiveServices/accounts/f27daa85-21/regenerateKey"; - Requests[1594] = new DefaultHttpContext(); - Requests[1594].RequestServices = CreateServices(); - Requests[1594].Request.Method = "GET"; - Requests[1594].Request.Path = "/subscriptions/abece642-1ced-/resourceGroups/5a50d1bc-bb98-481/providers/Microsoft.CognitiveServices/accounts/230178d5-6e/skus"; - Requests[1595] = new DefaultHttpContext(); - Requests[1595].RequestServices = CreateServices(); - Requests[1595].Request.Method = "GET"; - Requests[1595].Request.Path = "/subscriptions/5610b5aa-0b3f-/resourceGroups/a3291c8d-31b7-4c6/providers/Microsoft.CognitiveServices/accounts/7584cc72-2d/usages"; - Requests[1596] = new DefaultHttpContext(); - Requests[1596].RequestServices = CreateServices(); - Requests[1596].Request.Method = "GET"; - Requests[1596].Request.Path = "/subscriptions/79bb2731-a1ec-/resourceGroups/7ccebd13-87af-4c5/providers/Microsoft.Compute/availabilitySets/776d05d2-0cd1-4c00-/vmSizes"; - Requests[1597] = new DefaultHttpContext(); - Requests[1597].RequestServices = CreateServices(); - Requests[1597].Request.Method = "POST"; - Requests[1597].Request.Path = "/subscriptions/2e194bca-b6c8-/resourceGroups/bb50eb20-5424-40e/providers/Microsoft.Compute/disks/b9b3a0c7/beginGetAccess"; - Requests[1598] = new DefaultHttpContext(); - Requests[1598].RequestServices = CreateServices(); - Requests[1598].Request.Method = "POST"; - Requests[1598].Request.Path = "/subscriptions/25c7473d-ec94-/resourceGroups/598a3445-a894-4e1/providers/Microsoft.Compute/disks/47414db3/endGetAccess"; - Requests[1599] = new DefaultHttpContext(); - Requests[1599].RequestServices = CreateServices(); - Requests[1599].Request.Method = "GET"; - Requests[1599].Request.Path = "/subscriptions/33950299-16c1-/resourceGroups/0d8d8ff4-2584-440/providers/Microsoft.Compute/galleries/18de2366-d3/images"; - Requests[1600] = new DefaultHttpContext(); - Requests[1600].RequestServices = CreateServices(); - Requests[1600].Request.Method = "POST"; - Requests[1600].Request.Path = "/subscriptions/b307e549-f9eb-/resourceGroups/ea0c9a75-d938-499/providers/Microsoft.Compute/snapshots/cbf872f3-ace/beginGetAccess"; - Requests[1601] = new DefaultHttpContext(); - Requests[1601].RequestServices = CreateServices(); - Requests[1601].Request.Method = "POST"; - Requests[1601].Request.Path = "/subscriptions/55c13099-132a-/resourceGroups/32838655-5ce3-4d6/providers/Microsoft.Compute/snapshots/a40afda7-97e/endGetAccess"; - Requests[1602] = new DefaultHttpContext(); - Requests[1602].RequestServices = CreateServices(); - Requests[1602].Request.Method = "POST"; - Requests[1602].Request.Path = "/subscriptions/ff3cb6e8-cb82-/resourceGroups/b17b3cbc-8dc0-47b/providers/Microsoft.Compute/virtualMachines/e15c83/capture"; - Requests[1603] = new DefaultHttpContext(); - Requests[1603].RequestServices = CreateServices(); - Requests[1603].Request.Method = "POST"; - Requests[1603].Request.Path = "/subscriptions/37680225-fd4f-/resourceGroups/714bea6a-f69e-49e/providers/Microsoft.Compute/virtualMachines/61321e/convertToManagedDisks"; - Requests[1604] = new DefaultHttpContext(); - Requests[1604].RequestServices = CreateServices(); - Requests[1604].Request.Method = "POST"; - Requests[1604].Request.Path = "/subscriptions/1def0ef3-7468-/resourceGroups/80c6688f-86aa-4a0/providers/Microsoft.Compute/virtualMachines/dcf463/deallocate"; - Requests[1605] = new DefaultHttpContext(); - Requests[1605].RequestServices = CreateServices(); - Requests[1605].Request.Method = "GET"; - Requests[1605].Request.Path = "/subscriptions/c6788d90-927f-/resourceGroups/93a960f6-5eed-44c/providers/Microsoft.Compute/virtualMachines/2696c1/extensions"; - Requests[1606] = new DefaultHttpContext(); - Requests[1606].RequestServices = CreateServices(); - Requests[1606].Request.Method = "POST"; - Requests[1606].Request.Path = "/subscriptions/8267f971-41fb-/resourceGroups/70a60581-7443-4a2/providers/Microsoft.Compute/virtualMachines/db4f2f/generalize"; - Requests[1607] = new DefaultHttpContext(); - Requests[1607].RequestServices = CreateServices(); - Requests[1607].Request.Method = "GET"; - Requests[1607].Request.Path = "/subscriptions/c01b1523-9637-/resourceGroups/19fb5d0a-b823-437/providers/Microsoft.Compute/virtualMachines/7f1e96/instanceView"; - Requests[1608] = new DefaultHttpContext(); - Requests[1608].RequestServices = CreateServices(); - Requests[1608].Request.Method = "POST"; - Requests[1608].Request.Path = "/subscriptions/976a5a21-ce56-/resourceGroups/5923d67f-83fa-4a0/providers/Microsoft.Compute/virtualMachines/ea82e5/performMaintenance"; - Requests[1609] = new DefaultHttpContext(); - Requests[1609].RequestServices = CreateServices(); - Requests[1609].Request.Method = "POST"; - Requests[1609].Request.Path = "/subscriptions/77f5a19d-d77c-/resourceGroups/869e1aa1-2d46-457/providers/Microsoft.Compute/virtualMachines/527509/powerOff"; - Requests[1610] = new DefaultHttpContext(); - Requests[1610].RequestServices = CreateServices(); - Requests[1610].Request.Method = "POST"; - Requests[1610].Request.Path = "/subscriptions/2e8bcff2-48e5-/resourceGroups/ba410b1d-3e5d-4ee/providers/Microsoft.Compute/virtualMachines/9f3dbd/redeploy"; - Requests[1611] = new DefaultHttpContext(); - Requests[1611].RequestServices = CreateServices(); - Requests[1611].Request.Method = "POST"; - Requests[1611].Request.Path = "/subscriptions/143cce93-34cb-/resourceGroups/8dd82508-2986-4f3/providers/Microsoft.Compute/virtualMachines/8930cd/restart"; - Requests[1612] = new DefaultHttpContext(); - Requests[1612].RequestServices = CreateServices(); - Requests[1612].Request.Method = "POST"; - Requests[1612].Request.Path = "/subscriptions/8f449f37-48b1-/resourceGroups/fe35ac35-84ef-4a7/providers/Microsoft.Compute/virtualMachines/0037b3/runCommand"; - Requests[1613] = new DefaultHttpContext(); - Requests[1613].RequestServices = CreateServices(); - Requests[1613].Request.Method = "POST"; - Requests[1613].Request.Path = "/subscriptions/85afddef-43ab-/resourceGroups/c61a8099-7e1d-4d2/providers/Microsoft.Compute/virtualMachines/31807f/start"; - Requests[1614] = new DefaultHttpContext(); - Requests[1614].RequestServices = CreateServices(); - Requests[1614].Request.Method = "GET"; - Requests[1614].Request.Path = "/subscriptions/b7defe70-9a90-/resourceGroups/823d8043-04fb-4a6/providers/Microsoft.Compute/virtualMachines/7f6d7e/vmSizes"; - Requests[1615] = new DefaultHttpContext(); - Requests[1615].RequestServices = CreateServices(); - Requests[1615].Request.Method = "GET"; - Requests[1615].Request.Path = "/subscriptions/15ed2e5b-076b-/resourceGroups/eaa75ca8-4e08-402/providers/microsoft.Compute/virtualMachineScaleSets/40d01389-f77d-4f0b-8763-80/networkInterfaces"; - Requests[1616] = new DefaultHttpContext(); - Requests[1616].RequestServices = CreateServices(); - Requests[1616].Request.Method = "GET"; - Requests[1616].Request.Path = "/subscriptions/c3ca6b1c-2ea4-/resourceGroups/1b73d156-a704-459/providers/Microsoft.Compute/virtualMachineScaleSets/31f2a2a7-1d9c-4e7c-b15f-67/publicipaddresses"; - Requests[1617] = new DefaultHttpContext(); - Requests[1617].RequestServices = CreateServices(); - Requests[1617].Request.Method = "GET"; - Requests[1617].Request.Path = "/subscriptions/d3459809-8838-/resourceGroups/50e4974d-bf94-45a/providers/Microsoft.Compute/virtualMachineScaleSets/cf9b615c-3623-41a4-a342-33/virtualMachines"; - Requests[1618] = new DefaultHttpContext(); - Requests[1618].RequestServices = CreateServices(); - Requests[1618].Request.Method = "POST"; - Requests[1618].Request.Path = "/subscriptions/0ff90d24-ebf6-/resourceGroups/bf648259-8e90-468/providers/Microsoft.Compute/virtualMachineScaleSets/a9fd3888-9d7a-/deallocate"; - Requests[1619] = new DefaultHttpContext(); - Requests[1619].RequestServices = CreateServices(); - Requests[1619].Request.Method = "POST"; - Requests[1619].Request.Path = "/subscriptions/bf77306a-cdec-/resourceGroups/c8379a3f-d1e2-4ec/providers/Microsoft.Compute/virtualMachineScaleSets/49d24726-3d45-/delete"; - Requests[1620] = new DefaultHttpContext(); - Requests[1620].RequestServices = CreateServices(); - Requests[1620].Request.Method = "GET"; - Requests[1620].Request.Path = "/subscriptions/6945e1de-9e31-/resourceGroups/3dae8213-398c-4ac/providers/Microsoft.Compute/virtualMachineScaleSets/1ba3d29e-137b-/extensions"; - Requests[1621] = new DefaultHttpContext(); - Requests[1621].RequestServices = CreateServices(); - Requests[1621].Request.Method = "POST"; - Requests[1621].Request.Path = "/subscriptions/3450bdd3-386a-/resourceGroups/b47b69da-4481-42a/providers/Microsoft.Compute/virtualMachineScaleSets/7d7b3c3c-f6b8-/forceRecoveryServiceFabricPlatformUpdateDomainWalk"; - Requests[1622] = new DefaultHttpContext(); - Requests[1622].RequestServices = CreateServices(); - Requests[1622].Request.Method = "GET"; - Requests[1622].Request.Path = "/subscriptions/bd119471-9bee-/resourceGroups/cd39dfe6-08fb-4d4/providers/Microsoft.Compute/virtualMachineScaleSets/70f4cee4-53cf-/instanceView"; - Requests[1623] = new DefaultHttpContext(); - Requests[1623].RequestServices = CreateServices(); - Requests[1623].Request.Method = "POST"; - Requests[1623].Request.Path = "/subscriptions/938762bd-f7a5-/resourceGroups/a97b03f0-3d6a-45e/providers/Microsoft.Compute/virtualMachineScaleSets/1598090c-d875-/manualupgrade"; - Requests[1624] = new DefaultHttpContext(); - Requests[1624].RequestServices = CreateServices(); - Requests[1624].Request.Method = "POST"; - Requests[1624].Request.Path = "/subscriptions/60ce7899-ad6f-/resourceGroups/fa09b50d-f14c-4b8/providers/Microsoft.Compute/virtualMachineScaleSets/839b42f1-ad1d-/osRollingUpgrade"; - Requests[1625] = new DefaultHttpContext(); - Requests[1625].RequestServices = CreateServices(); - Requests[1625].Request.Method = "GET"; - Requests[1625].Request.Path = "/subscriptions/da30c62b-71d8-/resourceGroups/7a5d63b5-b958-47f/providers/Microsoft.Compute/virtualMachineScaleSets/e1be6862-d1dc-/osUpgradeHistory"; - Requests[1626] = new DefaultHttpContext(); - Requests[1626].RequestServices = CreateServices(); - Requests[1626].Request.Method = "POST"; - Requests[1626].Request.Path = "/subscriptions/4591f199-911b-/resourceGroups/c2e8ba1d-eef1-49b/providers/Microsoft.Compute/virtualMachineScaleSets/4e95e65d-b2e6-/performMaintenance"; - Requests[1627] = new DefaultHttpContext(); - Requests[1627].RequestServices = CreateServices(); - Requests[1627].Request.Method = "POST"; - Requests[1627].Request.Path = "/subscriptions/3033963d-6f49-/resourceGroups/01f6a945-20b1-4df/providers/Microsoft.Compute/virtualMachineScaleSets/55d7909a-a2a5-/poweroff"; - Requests[1628] = new DefaultHttpContext(); - Requests[1628].RequestServices = CreateServices(); - Requests[1628].Request.Method = "POST"; - Requests[1628].Request.Path = "/subscriptions/3d115f0c-2184-/resourceGroups/f950c8d6-15a8-427/providers/Microsoft.Compute/virtualMachineScaleSets/086abfb8-9d01-/redeploy"; - Requests[1629] = new DefaultHttpContext(); - Requests[1629].RequestServices = CreateServices(); - Requests[1629].Request.Method = "POST"; - Requests[1629].Request.Path = "/subscriptions/e5b04d6c-4123-/resourceGroups/3f87ea40-d609-4f6/providers/Microsoft.Compute/virtualMachineScaleSets/7a1f0d6b-86f9-/reimage"; - Requests[1630] = new DefaultHttpContext(); - Requests[1630].RequestServices = CreateServices(); - Requests[1630].Request.Method = "POST"; - Requests[1630].Request.Path = "/subscriptions/dcfe1263-b831-/resourceGroups/ced5e649-6e78-4ba/providers/Microsoft.Compute/virtualMachineScaleSets/bd46a0da-7d0d-/reimageall"; - Requests[1631] = new DefaultHttpContext(); - Requests[1631].RequestServices = CreateServices(); - Requests[1631].Request.Method = "POST"; - Requests[1631].Request.Path = "/subscriptions/f6fbc85c-5722-/resourceGroups/96a2ae94-65b3-484/providers/Microsoft.Compute/virtualMachineScaleSets/12fc12ad-c10b-/restart"; - Requests[1632] = new DefaultHttpContext(); - Requests[1632].RequestServices = CreateServices(); - Requests[1632].Request.Method = "GET"; - Requests[1632].Request.Path = "/subscriptions/0a673f59-ab9c-/resourceGroups/2cedd528-31b4-4ae/providers/Microsoft.Compute/virtualMachineScaleSets/20ed4bef-9d4b-/skus"; - Requests[1633] = new DefaultHttpContext(); - Requests[1633].RequestServices = CreateServices(); - Requests[1633].Request.Method = "POST"; - Requests[1633].Request.Path = "/subscriptions/9e32f12f-e89a-/resourceGroups/df583066-f021-460/providers/Microsoft.Compute/virtualMachineScaleSets/f5238599-ee77-/start"; - Requests[1634] = new DefaultHttpContext(); - Requests[1634].RequestServices = CreateServices(); - Requests[1634].Request.Method = "GET"; - Requests[1634].Request.Path = "/subscriptions/f9ed3930-2340-/resourceGroups/44baec17-e438-46b/providers/Microsoft.ContainerRegistry/registries/3b8e9165-99b/builds"; - Requests[1635] = new DefaultHttpContext(); - Requests[1635].RequestServices = CreateServices(); - Requests[1635].Request.Method = "GET"; - Requests[1635].Request.Path = "/subscriptions/5e39d9a7-678e-/resourceGroups/f07eb1ee-151c-4be/providers/Microsoft.ContainerRegistry/registries/fe3a0292-f89/buildTasks"; - Requests[1636] = new DefaultHttpContext(); - Requests[1636].RequestServices = CreateServices(); - Requests[1636].Request.Method = "POST"; - Requests[1636].Request.Path = "/subscriptions/461f51e9-ec22-/resourceGroups/712442d4-806c-4ce/providers/Microsoft.ContainerRegistry/registries/b459d982-824/getBuildSourceUploadUrl"; - Requests[1637] = new DefaultHttpContext(); - Requests[1637].RequestServices = CreateServices(); - Requests[1637].Request.Method = "POST"; - Requests[1637].Request.Path = "/subscriptions/552d3125-9239-/resourceGroups/2b3e0b3f-6e5c-449/providers/Microsoft.ContainerRegistry/registries/de969142-ee5/getCredentials"; - Requests[1638] = new DefaultHttpContext(); - Requests[1638].RequestServices = CreateServices(); - Requests[1638].Request.Method = "POST"; - Requests[1638].Request.Path = "/subscriptions/96533f92-a7b6-/resourceGroups/219c3221-9f10-442/providers/Microsoft.ContainerRegistry/registries/2875494f-9be/importImage"; - Requests[1639] = new DefaultHttpContext(); - Requests[1639].RequestServices = CreateServices(); - Requests[1639].Request.Method = "POST"; - Requests[1639].Request.Path = "/subscriptions/de2611c2-e264-/resourceGroups/9b04de0f-b651-4cb/providers/Microsoft.ContainerRegistry/registries/48d06f7b-882/listCredentials"; - Requests[1640] = new DefaultHttpContext(); - Requests[1640].RequestServices = CreateServices(); - Requests[1640].Request.Method = "GET"; - Requests[1640].Request.Path = "/subscriptions/5d8f9be6-7f6f-/resourceGroups/0d84b8b0-c471-407/providers/Microsoft.ContainerRegistry/registries/047f4c13-d84/listUsages"; - Requests[1641] = new DefaultHttpContext(); - Requests[1641].RequestServices = CreateServices(); - Requests[1641].Request.Method = "POST"; - Requests[1641].Request.Path = "/subscriptions/ea9144bc-d40d-/resourceGroups/b443e48d-e14d-4e6/providers/Microsoft.ContainerRegistry/registries/cb8f1c5b-3fe/queueBuild"; - Requests[1642] = new DefaultHttpContext(); - Requests[1642].RequestServices = CreateServices(); - Requests[1642].Request.Method = "POST"; - Requests[1642].Request.Path = "/subscriptions/5bae28e3-12b0-/resourceGroups/fceb97fd-40ef-41e/providers/Microsoft.ContainerRegistry/registries/621873d1-257/regenerateCredential"; - Requests[1643] = new DefaultHttpContext(); - Requests[1643].RequestServices = CreateServices(); - Requests[1643].Request.Method = "POST"; - Requests[1643].Request.Path = "/subscriptions/3225da48-c2ac-/resourceGroups/68dc2902-0f73-4c6/providers/Microsoft.ContainerRegistry/registries/9ba2061b-f63/regenerateCredentials"; - Requests[1644] = new DefaultHttpContext(); - Requests[1644].RequestServices = CreateServices(); - Requests[1644].Request.Method = "GET"; - Requests[1644].Request.Path = "/subscriptions/198f6134-0dc0-/resourceGroups/e10bf1f5-4629-485/providers/Microsoft.ContainerRegistry/registries/36f19306-4dc/replications"; - Requests[1645] = new DefaultHttpContext(); - Requests[1645].RequestServices = CreateServices(); - Requests[1645].Request.Method = "GET"; - Requests[1645].Request.Path = "/subscriptions/c786be8b-4fd4-/resourceGroups/9625388d-ac04-424/providers/Microsoft.ContainerRegistry/registries/9fcecec4-072/webhooks"; - Requests[1646] = new DefaultHttpContext(); - Requests[1646].RequestServices = CreateServices(); - Requests[1646].Request.Method = "GET"; - Requests[1646].Request.Path = "/subscriptions/758bf5cf-c780-/resourceGroups/da0ea8b8-8ff8-43b/providers/Microsoft.CustomerInsights/hubs/85eaf98/authorizationPolicies"; - Requests[1647] = new DefaultHttpContext(); - Requests[1647].RequestServices = CreateServices(); - Requests[1647].Request.Method = "GET"; - Requests[1647].Request.Path = "/subscriptions/4250a4ad-a89f-/resourceGroups/ce1d4498-ff39-424/providers/Microsoft.CustomerInsights/hubs/45ab975/connectors"; - Requests[1648] = new DefaultHttpContext(); - Requests[1648].RequestServices = CreateServices(); - Requests[1648].Request.Method = "GET"; - Requests[1648].Request.Path = "/subscriptions/afdefaca-8aaf-/resourceGroups/d16c2d4c-26d4-425/providers/Microsoft.CustomerInsights/hubs/2cab18f/interactions"; - Requests[1649] = new DefaultHttpContext(); - Requests[1649].RequestServices = CreateServices(); - Requests[1649].Request.Method = "GET"; - Requests[1649].Request.Path = "/subscriptions/b67b3ac6-3a88-/resourceGroups/e34502b1-bf64-462/providers/Microsoft.CustomerInsights/hubs/4500a0b/kpi"; - Requests[1650] = new DefaultHttpContext(); - Requests[1650].RequestServices = CreateServices(); - Requests[1650].Request.Method = "GET"; - Requests[1650].Request.Path = "/subscriptions/f738af59-121d-/resourceGroups/51909e2c-0191-48d/providers/Microsoft.CustomerInsights/hubs/52d7fc3/links"; - Requests[1651] = new DefaultHttpContext(); - Requests[1651].RequestServices = CreateServices(); - Requests[1651].Request.Method = "GET"; - Requests[1651].Request.Path = "/subscriptions/606f2d67-d76d-/resourceGroups/3296b0d3-afd6-413/providers/Microsoft.CustomerInsights/hubs/98e0faa/predictions"; - Requests[1652] = new DefaultHttpContext(); - Requests[1652].RequestServices = CreateServices(); - Requests[1652].Request.Method = "GET"; - Requests[1652].Request.Path = "/subscriptions/7c5a9a8a-1e01-/resourceGroups/7800e8fc-2f0f-406/providers/Microsoft.CustomerInsights/hubs/61daf76/profiles"; - Requests[1653] = new DefaultHttpContext(); - Requests[1653].RequestServices = CreateServices(); - Requests[1653].Request.Method = "GET"; - Requests[1653].Request.Path = "/subscriptions/11104193-f94e-/resourceGroups/0355e34e-152f-4e0/providers/Microsoft.CustomerInsights/hubs/2408c60/relationshipLinks"; - Requests[1654] = new DefaultHttpContext(); - Requests[1654].RequestServices = CreateServices(); - Requests[1654].Request.Method = "GET"; - Requests[1654].Request.Path = "/subscriptions/3fbb84b6-de68-/resourceGroups/bd43ebc5-8834-413/providers/Microsoft.CustomerInsights/hubs/16cd7dc/relationships"; - Requests[1655] = new DefaultHttpContext(); - Requests[1655].RequestServices = CreateServices(); - Requests[1655].Request.Method = "GET"; - Requests[1655].Request.Path = "/subscriptions/c4358cc0-d8f5-/resourceGroups/74c95ab0-d6e3-407/providers/Microsoft.CustomerInsights/hubs/a46aab5/roleAssignments"; - Requests[1656] = new DefaultHttpContext(); - Requests[1656].RequestServices = CreateServices(); - Requests[1656].Request.Method = "GET"; - Requests[1656].Request.Path = "/subscriptions/4e8b085d-f9aa-/resourceGroups/6a23670d-00eb-48c/providers/Microsoft.CustomerInsights/hubs/b5d6902/roles"; - Requests[1657] = new DefaultHttpContext(); - Requests[1657].RequestServices = CreateServices(); - Requests[1657].Request.Method = "GET"; - Requests[1657].Request.Path = "/subscriptions/79a88d69-8709-/resourceGroups/7aa84a18-179d-4a3/providers/Microsoft.CustomerInsights/hubs/e58329d/views"; - Requests[1658] = new DefaultHttpContext(); - Requests[1658].RequestServices = CreateServices(); - Requests[1658].Request.Method = "GET"; - Requests[1658].Request.Path = "/subscriptions/b4ecf599-85fc-/resourceGroups/efac23ec-0c94-4f9/providers/Microsoft.CustomerInsights/hubs/30883e6/widgetTypes"; - Requests[1659] = new DefaultHttpContext(); - Requests[1659].RequestServices = CreateServices(); - Requests[1659].Request.Method = "POST"; - Requests[1659].Request.Path = "/subscriptions/3fa5672b-1ad5-/resourceGroups/404e707e-bcc8-430/providers/Microsoft.DataBox/jobs/b6a586c/bookShipmentPickUp"; - Requests[1660] = new DefaultHttpContext(); - Requests[1660].RequestServices = CreateServices(); - Requests[1660].Request.Method = "POST"; - Requests[1660].Request.Path = "/subscriptions/952fde98-e26c-/resourceGroups/88ac30dc-7d34-4ee/providers/Microsoft.DataBox/jobs/3ce2ae6/cancel"; - Requests[1661] = new DefaultHttpContext(); - Requests[1661].RequestServices = CreateServices(); - Requests[1661].Request.Method = "POST"; - Requests[1661].Request.Path = "/subscriptions/b100b68c-0236-/resourceGroups/4b5ae0db-5ab6-493/providers/Microsoft.DataBox/jobs/b30b9e9/copyLogsUri"; - Requests[1662] = new DefaultHttpContext(); - Requests[1662].RequestServices = CreateServices(); - Requests[1662].Request.Method = "POST"; - Requests[1662].Request.Path = "/subscriptions/69f20c8f-2759-/resourceGroups/0030a34b-e89b-47d/providers/Microsoft.DataBox/jobs/777c200/downloadShippingLabel"; - Requests[1663] = new DefaultHttpContext(); - Requests[1663].RequestServices = CreateServices(); - Requests[1663].Request.Method = "POST"; - Requests[1663].Request.Path = "/subscriptions/59ed9ebc-a70e-/resourceGroups/0a7bc8cc-1314-460/providers/Microsoft.DataBox/jobs/ae9b1c5/listSecrets"; - Requests[1664] = new DefaultHttpContext(); - Requests[1664].RequestServices = CreateServices(); - Requests[1664].Request.Method = "POST"; - Requests[1664].Request.Path = "/subscriptions/bd0d8987-a3d6-/resourceGroups/c604d3e0-1b4f-414/providers/Microsoft.DataBox/jobs/901990b/reportIssue"; - Requests[1665] = new DefaultHttpContext(); - Requests[1665].RequestServices = CreateServices(); - Requests[1665].Request.Method = "GET"; - Requests[1665].Request.Path = "/subscriptions/3e2a1900-2621-/resourceGroups/cb0d0f31-d6a5-47f/providers/Microsoft.DataFactory/factories/cf0ed08f-10/datasets"; - Requests[1666] = new DefaultHttpContext(); - Requests[1666].RequestServices = CreateServices(); - Requests[1666].Request.Method = "GET"; - Requests[1666].Request.Path = "/subscriptions/cd5768ef-61e5-/resourceGroups/4f8269a5-78a3-4d1/providers/Microsoft.DataFactory/factories/9a7ae3dd-1a/integrationRuntimes"; - Requests[1667] = new DefaultHttpContext(); - Requests[1667].RequestServices = CreateServices(); - Requests[1667].Request.Method = "GET"; - Requests[1667].Request.Path = "/subscriptions/ad64aac8-513b-/resourceGroups/fe419a93-22e3-477/providers/Microsoft.DataFactory/factories/c892b9ad-b1/linkedservices"; - Requests[1668] = new DefaultHttpContext(); - Requests[1668].RequestServices = CreateServices(); - Requests[1668].Request.Method = "POST"; - Requests[1668].Request.Path = "/subscriptions/54148621-8a58-/resourceGroups/37f7adba-60cd-4e7/providers/Microsoft.DataFactory/factories/3657b9cf-c6/pipelineruns"; - Requests[1669] = new DefaultHttpContext(); - Requests[1669].RequestServices = CreateServices(); - Requests[1669].Request.Method = "GET"; - Requests[1669].Request.Path = "/subscriptions/958f094b-6c0f-/resourceGroups/42953364-c79e-4ee/providers/Microsoft.DataFactory/factories/31120246-82/pipelines"; - Requests[1670] = new DefaultHttpContext(); - Requests[1670].RequestServices = CreateServices(); - Requests[1670].Request.Method = "GET"; - Requests[1670].Request.Path = "/subscriptions/3541afd9-034e-/resourceGroups/5d62db6e-e097-420/providers/Microsoft.DataFactory/factories/e71ff6f4-8b/triggers"; - Requests[1671] = new DefaultHttpContext(); - Requests[1671].RequestServices = CreateServices(); - Requests[1671].Request.Method = "GET"; - Requests[1671].Request.Path = "/subscriptions/349b3bd1-7d29-/resourceGroups/fceca62e-e039-45f/providers/Microsoft.DataLakeAnalytics/accounts/56e265f3-76/computePolicies"; - Requests[1672] = new DefaultHttpContext(); - Requests[1672].RequestServices = CreateServices(); - Requests[1672].Request.Method = "GET"; - Requests[1672].Request.Path = "/subscriptions/d1f0af2b-e995-/resourceGroups/06a3bb37-51b1-4c0/providers/Microsoft.DataLakeAnalytics/accounts/2e749a1c-12/dataLakeStoreAccounts"; - Requests[1673] = new DefaultHttpContext(); - Requests[1673].RequestServices = CreateServices(); - Requests[1673].Request.Method = "GET"; - Requests[1673].Request.Path = "/subscriptions/c1855f9e-85be-/resourceGroups/42a0528c-9a5b-4d9/providers/Microsoft.DataLakeAnalytics/accounts/84f2479a-af/firewallRules"; - Requests[1674] = new DefaultHttpContext(); - Requests[1674].RequestServices = CreateServices(); - Requests[1674].Request.Method = "GET"; - Requests[1674].Request.Path = "/subscriptions/c9ece2ed-a985-/resourceGroups/e13b8efc-4668-438/providers/Microsoft.DataLakeAnalytics/accounts/37a3bdd1-5f/storageAccounts"; - Requests[1675] = new DefaultHttpContext(); - Requests[1675].RequestServices = CreateServices(); - Requests[1675].Request.Method = "POST"; - Requests[1675].Request.Path = "/subscriptions/ced3d6ce-a324-/resourceGroups/d9521b78-0886-4f0/providers/Microsoft.DataLakeStore/accounts/0f64d201-eb/enableKeyVault"; - Requests[1676] = new DefaultHttpContext(); - Requests[1676].RequestServices = CreateServices(); - Requests[1676].Request.Method = "GET"; - Requests[1676].Request.Path = "/subscriptions/4829cc66-a4e6-/resourceGroups/df4d6835-94c0-45a/providers/Microsoft.DataLakeStore/accounts/e14f7b6b-a6/firewallRules"; - Requests[1677] = new DefaultHttpContext(); - Requests[1677].RequestServices = CreateServices(); - Requests[1677].Request.Method = "GET"; - Requests[1677].Request.Path = "/subscriptions/bc6a5b4c-a2b1-/resourceGroups/40525f89-612a-417/providers/Microsoft.DataLakeStore/accounts/86202e17-d1/trustedIdProviders"; - Requests[1678] = new DefaultHttpContext(); - Requests[1678].RequestServices = CreateServices(); - Requests[1678].Request.Method = "GET"; - Requests[1678].Request.Path = "/subscriptions/1fe13a68-51ea-/resourceGroups/267ed658-f5a9-453/providers/Microsoft.DataLakeStore/accounts/fcec99a8-5b/virtualNetworkRules"; - Requests[1679] = new DefaultHttpContext(); - Requests[1679].RequestServices = CreateServices(); - Requests[1679].Request.Method = "GET"; - Requests[1679].Request.Path = "/subscriptions/fac7bc06-b2a2-/resourceGroups/be4a7840-ec7c-400/providers/Microsoft.DBforMySQL/servers/bbac970f-0/configurations"; - Requests[1680] = new DefaultHttpContext(); - Requests[1680].RequestServices = CreateServices(); - Requests[1680].Request.Method = "GET"; - Requests[1680].Request.Path = "/subscriptions/790d2a5a-4278-/resourceGroups/c792a9f5-c9ee-4fa/providers/Microsoft.DBforMySQL/servers/ea6f1284-5/databases"; - Requests[1681] = new DefaultHttpContext(); - Requests[1681].RequestServices = CreateServices(); - Requests[1681].Request.Method = "GET"; - Requests[1681].Request.Path = "/subscriptions/b5d54e36-3c0a-/resourceGroups/b2ebc5f2-9c07-462/providers/Microsoft.DBforMySQL/servers/6898516e-b/firewallRules"; - Requests[1682] = new DefaultHttpContext(); - Requests[1682].RequestServices = CreateServices(); - Requests[1682].Request.Method = "GET"; - Requests[1682].Request.Path = "/subscriptions/8ae4b182-d8a2-/resourceGroups/9a27f303-b888-4ed/providers/Microsoft.DBforMySQL/servers/5f3499fb-0/logFiles"; - Requests[1683] = new DefaultHttpContext(); - Requests[1683].RequestServices = CreateServices(); - Requests[1683].Request.Method = "GET"; - Requests[1683].Request.Path = "/subscriptions/b8de2536-21e2-/resourceGroups/fa2bdb93-154c-4b1/providers/Microsoft.DBforMySQL/servers/bb7d2126-8/virtualNetworkRules"; - Requests[1684] = new DefaultHttpContext(); - Requests[1684].RequestServices = CreateServices(); - Requests[1684].Request.Method = "GET"; - Requests[1684].Request.Path = "/subscriptions/98532b03-37f8-/resourceGroups/316fa149-a4c1-4de/providers/Microsoft.DBforPostgreSQL/servers/4dfe3610-e/configurations"; - Requests[1685] = new DefaultHttpContext(); - Requests[1685].RequestServices = CreateServices(); - Requests[1685].Request.Method = "GET"; - Requests[1685].Request.Path = "/subscriptions/5a5b0fbd-e9a2-/resourceGroups/0a801b41-8959-4fd/providers/Microsoft.DBforPostgreSQL/servers/582274cc-9/databases"; - Requests[1686] = new DefaultHttpContext(); - Requests[1686].RequestServices = CreateServices(); - Requests[1686].Request.Method = "GET"; - Requests[1686].Request.Path = "/subscriptions/9e01b565-aadd-/resourceGroups/7b156dcd-3990-40d/providers/Microsoft.DBforPostgreSQL/servers/fd97d1cc-4/firewallRules"; - Requests[1687] = new DefaultHttpContext(); - Requests[1687].RequestServices = CreateServices(); - Requests[1687].Request.Method = "GET"; - Requests[1687].Request.Path = "/subscriptions/1b3e5a58-89bd-/resourceGroups/ee2ada13-4767-461/providers/Microsoft.DBforPostgreSQL/servers/bdc4caef-3/logFiles"; - Requests[1688] = new DefaultHttpContext(); - Requests[1688].RequestServices = CreateServices(); - Requests[1688].Request.Method = "GET"; - Requests[1688].Request.Path = "/subscriptions/73f08883-0dc4-/resourceGroups/23510aea-79dc-471/providers/Microsoft.DBforPostgreSQL/servers/0d29eb91-3/virtualNetworkRules"; - Requests[1689] = new DefaultHttpContext(); - Requests[1689].RequestServices = CreateServices(); - Requests[1689].Request.Method = "GET"; - Requests[1689].Request.Path = "/subscriptions/cfea6607-fcc8-/resourceGroups/361fe189-3a43-4d7/providers/Microsoft.Devices/IotHubs/187999ae-c/routingEndpointsHealth"; - Requests[1690] = new DefaultHttpContext(); - Requests[1690].RequestServices = CreateServices(); - Requests[1690].Request.Method = "GET"; - Requests[1690].Request.Path = "/subscriptions/1f8071d6-ac33-/resourceGroups/67fd36d4-3971-437/providers/Microsoft.Devices/IotHubs/0be14169-db1/certificates"; - Requests[1691] = new DefaultHttpContext(); - Requests[1691].RequestServices = CreateServices(); - Requests[1691].Request.Method = "POST"; - Requests[1691].Request.Path = "/subscriptions/3c41d973-c018-/resourceGroups/45552e8f-a643-4b3/providers/Microsoft.Devices/IotHubs/c6824078-a49/exportDevices"; - Requests[1692] = new DefaultHttpContext(); - Requests[1692].RequestServices = CreateServices(); - Requests[1692].Request.Method = "POST"; - Requests[1692].Request.Path = "/subscriptions/bc924be0-457e-/resourceGroups/6e5fd657-c38d-44e/providers/Microsoft.Devices/IotHubs/34cd9dd8-33d/importDevices"; - Requests[1693] = new DefaultHttpContext(); - Requests[1693].RequestServices = CreateServices(); - Requests[1693].Request.Method = "GET"; - Requests[1693].Request.Path = "/subscriptions/4a3c9d4e-981e-/resourceGroups/fcf7bb39-627c-4a3/providers/Microsoft.Devices/IotHubs/fee45629-d16/IotHubStats"; - Requests[1694] = new DefaultHttpContext(); - Requests[1694].RequestServices = CreateServices(); - Requests[1694].Request.Method = "GET"; - Requests[1694].Request.Path = "/subscriptions/9ef63680-c4d3-/resourceGroups/e20a4649-8d4e-419/providers/Microsoft.Devices/IotHubs/3e221463-936/jobs"; - Requests[1695] = new DefaultHttpContext(); - Requests[1695].RequestServices = CreateServices(); - Requests[1695].Request.Method = "POST"; - Requests[1695].Request.Path = "/subscriptions/de7821b7-ff8e-/resourceGroups/d7a83753-c310-491/providers/Microsoft.Devices/IotHubs/045a6ba7-9b6/listkeys"; - Requests[1696] = new DefaultHttpContext(); - Requests[1696].RequestServices = CreateServices(); - Requests[1696].Request.Method = "GET"; - Requests[1696].Request.Path = "/subscriptions/144de93f-7317-/resourceGroups/8645e07d-945f-469/providers/Microsoft.Devices/IotHubs/0c4c026e-388/quotaMetrics"; - Requests[1697] = new DefaultHttpContext(); - Requests[1697].RequestServices = CreateServices(); - Requests[1697].Request.Method = "GET"; - Requests[1697].Request.Path = "/subscriptions/b46c0624-378a-/resourceGroups/37e57355-3cbb-40b/providers/Microsoft.Devices/IotHubs/c35d9447-e08/skus"; - Requests[1698] = new DefaultHttpContext(); - Requests[1698].RequestServices = CreateServices(); - Requests[1698].Request.Method = "GET"; - Requests[1698].Request.Path = "/subscriptions/a0aafb21-0f21-/resourceGroups/d176964e-8f87-412/providers/Microsoft.Devices/provisioningServices/3a1afd2d-dffc-449a-a141/certificates"; - Requests[1699] = new DefaultHttpContext(); - Requests[1699].RequestServices = CreateServices(); - Requests[1699].Request.Method = "POST"; - Requests[1699].Request.Path = "/subscriptions/7a86191f-7cfc-/resourceGroups/57a967f1-76c2-479/providers/Microsoft.Devices/provisioningServices/a1c24f45-9c8e-4e7f-ab1f/listkeys"; - Requests[1700] = new DefaultHttpContext(); - Requests[1700].RequestServices = CreateServices(); - Requests[1700].Request.Method = "GET"; - Requests[1700].Request.Path = "/subscriptions/7347c3f8-556c-/resourceGroups/b7ce6d97-2d73-493/providers/Microsoft.Devices/provisioningServices/f9e93bab-cabe-411d-8f7a/skus"; - Requests[1701] = new DefaultHttpContext(); - Requests[1701].RequestServices = CreateServices(); - Requests[1701].Request.Method = "GET"; - Requests[1701].Request.Path = "/subscriptions/e7ae99ad-6997-/resourceGroups/5faac96b-bbbd-4bf/providers/Microsoft.DevTestLab/labs/4baca89/artifactsources"; - Requests[1702] = new DefaultHttpContext(); - Requests[1702].RequestServices = CreateServices(); - Requests[1702].Request.Method = "GET"; - Requests[1702].Request.Path = "/subscriptions/84c6253e-bcd0-/resourceGroups/15c825c4-c8e1-4b8/providers/Microsoft.DevTestLab/labs/d9be4c6/costinsights"; - Requests[1703] = new DefaultHttpContext(); - Requests[1703].RequestServices = CreateServices(); - Requests[1703].Request.Method = "GET"; - Requests[1703].Request.Path = "/subscriptions/c77d5f66-d159-/resourceGroups/0a59f41d-5822-4b5/providers/Microsoft.DevTestLab/labs/de6b693/costs"; - Requests[1704] = new DefaultHttpContext(); - Requests[1704].RequestServices = CreateServices(); - Requests[1704].Request.Method = "GET"; - Requests[1704].Request.Path = "/subscriptions/fdcf2619-8ce1-/resourceGroups/3c8559ac-515e-48f/providers/Microsoft.DevTestLab/labs/bb62f1b/customimages"; - Requests[1705] = new DefaultHttpContext(); - Requests[1705].RequestServices = CreateServices(); - Requests[1705].Request.Method = "GET"; - Requests[1705].Request.Path = "/subscriptions/fa06c47a-cc01-/resourceGroups/1ec40c05-2bbe-482/providers/Microsoft.DevTestLab/labs/cc68f43/formulas"; - Requests[1706] = new DefaultHttpContext(); - Requests[1706].RequestServices = CreateServices(); - Requests[1706].Request.Method = "GET"; - Requests[1706].Request.Path = "/subscriptions/49997d56-b3f2-/resourceGroups/d6a7790e-3872-4e0/providers/Microsoft.DevTestLab/labs/9504481/galleryimages"; - Requests[1707] = new DefaultHttpContext(); - Requests[1707].RequestServices = CreateServices(); - Requests[1707].Request.Method = "GET"; - Requests[1707].Request.Path = "/subscriptions/b7103056-b5c5-/resourceGroups/a220c9ff-8a28-470/providers/Microsoft.DevTestLab/labs/489691c/notificationchannels"; - Requests[1708] = new DefaultHttpContext(); - Requests[1708].RequestServices = CreateServices(); - Requests[1708].Request.Method = "GET"; - Requests[1708].Request.Path = "/subscriptions/40312af4-64b4-/resourceGroups/bc8f85fe-9bd8-47f/providers/Microsoft.DevTestLab/labs/45f333a/schedules"; - Requests[1709] = new DefaultHttpContext(); - Requests[1709].RequestServices = CreateServices(); - Requests[1709].Request.Method = "GET"; - Requests[1709].Request.Path = "/subscriptions/fab8f2d3-58e0-/resourceGroups/98dd929a-2dd9-420/providers/Microsoft.DevTestLab/labs/c9e64a4/servicerunners"; - Requests[1710] = new DefaultHttpContext(); - Requests[1710].RequestServices = CreateServices(); - Requests[1710].Request.Method = "GET"; - Requests[1710].Request.Path = "/subscriptions/939b86d9-0509-/resourceGroups/a53b01d6-487e-4cd/providers/Microsoft.DevTestLab/labs/64556d4/users"; - Requests[1711] = new DefaultHttpContext(); - Requests[1711].RequestServices = CreateServices(); - Requests[1711].Request.Method = "GET"; - Requests[1711].Request.Path = "/subscriptions/8474b3eb-a5c5-/resourceGroups/94c243b8-9752-47a/providers/Microsoft.DevTestLab/labs/63e7623/virtualmachines"; - Requests[1712] = new DefaultHttpContext(); - Requests[1712].RequestServices = CreateServices(); - Requests[1712].Request.Method = "GET"; - Requests[1712].Request.Path = "/subscriptions/e578cd96-ba6a-/resourceGroups/da93ffce-4caa-40f/providers/Microsoft.DevTestLab/labs/cf1ae19/virtualnetworks"; - Requests[1713] = new DefaultHttpContext(); - Requests[1713].RequestServices = CreateServices(); - Requests[1713].Request.Method = "POST"; - Requests[1713].Request.Path = "/subscriptions/20fcf4c1-fbb8-/resourceGroups/76acf505-4f19-4d3/providers/Microsoft.DevTestLab/labs/1def8/claimAnyVm"; - Requests[1714] = new DefaultHttpContext(); - Requests[1714].RequestServices = CreateServices(); - Requests[1714].Request.Method = "POST"; - Requests[1714].Request.Path = "/subscriptions/1757a2fb-96e2-/resourceGroups/70317207-8151-4b5/providers/Microsoft.DevTestLab/labs/7fa0d/createEnvironment"; - Requests[1715] = new DefaultHttpContext(); - Requests[1715].RequestServices = CreateServices(); - Requests[1715].Request.Method = "POST"; - Requests[1715].Request.Path = "/subscriptions/6017ea56-0d1f-/resourceGroups/10ba5529-6e50-4c0/providers/Microsoft.DevTestLab/labs/84b9f/exportResourceUsage"; - Requests[1716] = new DefaultHttpContext(); - Requests[1716].RequestServices = CreateServices(); - Requests[1716].Request.Method = "POST"; - Requests[1716].Request.Path = "/subscriptions/d06b360c-4057-/resourceGroups/05e9a676-6575-40c/providers/Microsoft.DevTestLab/labs/91604/generateUploadUri"; - Requests[1717] = new DefaultHttpContext(); - Requests[1717].RequestServices = CreateServices(); - Requests[1717].Request.Method = "POST"; - Requests[1717].Request.Path = "/subscriptions/6cce448f-c272-/resourceGroups/d24dc18d-8d59-4f9/providers/Microsoft.DevTestLab/labs/eb396/listVhds"; - Requests[1718] = new DefaultHttpContext(); - Requests[1718].RequestServices = CreateServices(); - Requests[1718].Request.Method = "POST"; - Requests[1718].Request.Path = "/subscriptions/e484b10f-b4ee-/resourceGroups/c52fa079-6fa6-480/providers/Microsoft.DevTestLab/schedules/e8cbd/execute"; - Requests[1719] = new DefaultHttpContext(); - Requests[1719].RequestServices = CreateServices(); - Requests[1719].Request.Method = "POST"; - Requests[1719].Request.Path = "/subscriptions/357df322-33f4-/resourceGroups/087a4b1f-e0e8-42f/providers/Microsoft.DevTestLab/schedules/3aa59/retarget"; - Requests[1720] = new DefaultHttpContext(); - Requests[1720].RequestServices = CreateServices(); - Requests[1720].Request.Method = "POST"; - Requests[1720].Request.Path = "/subscriptions/9f921df1-2e62-/resourceGroups/b5bbe978-3acb-451/providers/Microsoft.DocumentDB/databaseAccounts/dc3446db-3e/failoverPriorityChange"; - Requests[1721] = new DefaultHttpContext(); - Requests[1721].RequestServices = CreateServices(); - Requests[1721].Request.Method = "POST"; - Requests[1721].Request.Path = "/subscriptions/bee6b242-2c82-/resourceGroups/0ff78aa9-a850-4a9/providers/Microsoft.DocumentDB/databaseAccounts/e8f0257a-40/listConnectionStrings"; - Requests[1722] = new DefaultHttpContext(); - Requests[1722].RequestServices = CreateServices(); - Requests[1722].Request.Method = "POST"; - Requests[1722].Request.Path = "/subscriptions/953eb631-3acc-/resourceGroups/fb05824f-43c6-492/providers/Microsoft.DocumentDB/databaseAccounts/40de3c20-57/listKeys"; - Requests[1723] = new DefaultHttpContext(); - Requests[1723].RequestServices = CreateServices(); - Requests[1723].Request.Method = "GET"; - Requests[1723].Request.Path = "/subscriptions/b6edbb18-6249-/resourceGroups/76094aad-3cb7-404/providers/Microsoft.DocumentDB/databaseAccounts/bcb17202-5d/metricDefinitions"; - Requests[1724] = new DefaultHttpContext(); - Requests[1724].RequestServices = CreateServices(); - Requests[1724].Request.Method = "GET"; - Requests[1724].Request.Path = "/subscriptions/c32e3995-4390-/resourceGroups/28fba584-68f8-437/providers/Microsoft.DocumentDB/databaseAccounts/11c19060-cf/metrics"; - Requests[1725] = new DefaultHttpContext(); - Requests[1725].RequestServices = CreateServices(); - Requests[1725].Request.Method = "POST"; - Requests[1725].Request.Path = "/subscriptions/5a4741b4-3792-/resourceGroups/d1760d1b-ce1b-40f/providers/Microsoft.DocumentDB/databaseAccounts/5d788561-9e/offlineRegion"; - Requests[1726] = new DefaultHttpContext(); - Requests[1726].RequestServices = CreateServices(); - Requests[1726].Request.Method = "POST"; - Requests[1726].Request.Path = "/subscriptions/17a5bd17-9be1-/resourceGroups/dd55d344-da99-472/providers/Microsoft.DocumentDB/databaseAccounts/d008d391-d1/onlineRegion"; - Requests[1727] = new DefaultHttpContext(); - Requests[1727].RequestServices = CreateServices(); - Requests[1727].Request.Method = "GET"; - Requests[1727].Request.Path = "/subscriptions/1decb3f7-6e4c-/resourceGroups/96c866f2-4a9f-4ea/providers/Microsoft.DocumentDB/databaseAccounts/3bbfa870-fd/readonlykeys"; - Requests[1728] = new DefaultHttpContext(); - Requests[1728].RequestServices = CreateServices(); - Requests[1728].Request.Method = "POST"; - Requests[1728].Request.Path = "/subscriptions/a273b191-ef86-/resourceGroups/8b28f256-3539-4c0/providers/Microsoft.DocumentDB/databaseAccounts/49548db8-0a/regenerateKey"; - Requests[1729] = new DefaultHttpContext(); - Requests[1729].RequestServices = CreateServices(); - Requests[1729].Request.Method = "GET"; - Requests[1729].Request.Path = "/subscriptions/eac3d184-532f-/resourceGroups/a16c9330-351d-40d/providers/Microsoft.DocumentDB/databaseAccounts/ec426f5d-10/usages"; - Requests[1730] = new DefaultHttpContext(); - Requests[1730].RequestServices = CreateServices(); - Requests[1730].Request.Method = "GET"; - Requests[1730].Request.Path = "/subscriptions/6417ad94-81ea-/resourceGroups/b5792483-8dd1-495/providers/Microsoft.DomainRegistration/domains/efd05557-e/domainOwnershipIdentifiers"; - Requests[1731] = new DefaultHttpContext(); - Requests[1731].RequestServices = CreateServices(); - Requests[1731].Request.Method = "POST"; - Requests[1731].Request.Path = "/subscriptions/ef478f19-f511-/resourceGroups/50c235ed-a2a0-42b/providers/Microsoft.DomainRegistration/domains/e88ac183-a/renew"; - Requests[1732] = new DefaultHttpContext(); - Requests[1732].RequestServices = CreateServices(); - Requests[1732].Request.Method = "GET"; - Requests[1732].Request.Path = "/subscriptions/f2f424d9-0d92-/resourceGroups/e9dc471e-e2c9-48f/providers/Microsoft.EventGrid/locations/3be5d73e/eventSubscriptions"; - Requests[1733] = new DefaultHttpContext(); - Requests[1733].RequestServices = CreateServices(); - Requests[1733].Request.Method = "POST"; - Requests[1733].Request.Path = "/subscriptions/0915a492-f3cb-/resourceGroups/50b8f6ab-0a0c-448/providers/Microsoft.EventGrid/topics/e58113f2-/listKeys"; - Requests[1734] = new DefaultHttpContext(); - Requests[1734].RequestServices = CreateServices(); - Requests[1734].Request.Method = "POST"; - Requests[1734].Request.Path = "/subscriptions/ba9109da-f57a-/resourceGroups/8c011e6b-89c9-4bd/providers/Microsoft.EventGrid/topics/1ecab9aa-/regenerateKey"; - Requests[1735] = new DefaultHttpContext(); - Requests[1735].RequestServices = CreateServices(); - Requests[1735].Request.Method = "GET"; - Requests[1735].Request.Path = "/subscriptions/415457f4-b218-/resourceGroups/3c618fc5-6828-42d/providers/Microsoft.EventGrid/topicTypes/b15e8105-9a0e/eventSubscriptions"; - Requests[1736] = new DefaultHttpContext(); - Requests[1736].RequestServices = CreateServices(); - Requests[1736].Request.Method = "GET"; - Requests[1736].Request.Path = "/subscriptions/6fd8ae55-1e44-/resourceGroups/0d96abbb-bcf8-443/providers/Microsoft.EventHub/namespaces/3f765945-6f99/AuthorizationRules"; - Requests[1737] = new DefaultHttpContext(); - Requests[1737].RequestServices = CreateServices(); - Requests[1737].Request.Method = "GET"; - Requests[1737].Request.Path = "/subscriptions/a21c6bce-ac29-/resourceGroups/89980a64-3257-4b2/providers/Microsoft.EventHub/namespaces/ef22bdd0-054c/disasterRecoveryConfigs"; - Requests[1738] = new DefaultHttpContext(); - Requests[1738].RequestServices = CreateServices(); - Requests[1738].Request.Method = "GET"; - Requests[1738].Request.Path = "/subscriptions/6e551fa4-5e77-/resourceGroups/7ea8fd3e-e317-4ac/providers/Microsoft.EventHub/namespaces/dda4d796-31e1/eventhubs"; - Requests[1739] = new DefaultHttpContext(); - Requests[1739].RequestServices = CreateServices(); - Requests[1739].Request.Method = "GET"; - Requests[1739].Request.Path = "/subscriptions/c3174576-ac92-/resourceGroups/029e09b5-f481-400/providers/Microsoft.EventHub/namespaces/2c215e4d-dc0c/messagingplan"; - Requests[1740] = new DefaultHttpContext(); - Requests[1740].RequestServices = CreateServices(); - Requests[1740].Request.Method = "GET"; - Requests[1740].Request.Path = "/subscriptions/e67944a4-9e35-/resourceGroups/bc6c369a-5d3c-457/providers/Microsoft.Fabric.Admin/fabricLocations/18a6a445/edgeGatewayPools"; - Requests[1741] = new DefaultHttpContext(); - Requests[1741].RequestServices = CreateServices(); - Requests[1741].Request.Method = "GET"; - Requests[1741].Request.Path = "/subscriptions/ba591929-e1be-/resourceGroups/db28218f-cc7e-420/providers/Microsoft.Fabric.Admin/fabricLocations/2b01ba1a/edgeGateways"; - Requests[1742] = new DefaultHttpContext(); - Requests[1742].RequestServices = CreateServices(); - Requests[1742].Request.Method = "GET"; - Requests[1742].Request.Path = "/subscriptions/9350dcfc-16e1-/resourceGroups/356ca89b-dcb2-433/providers/Microsoft.Fabric.Admin/fabricLocations/cf370e34/fileShares"; - Requests[1743] = new DefaultHttpContext(); - Requests[1743].RequestServices = CreateServices(); - Requests[1743].Request.Method = "GET"; - Requests[1743].Request.Path = "/subscriptions/7f8eb6c2-4616-/resourceGroups/86f254f6-acbb-4c5/providers/Microsoft.Fabric.Admin/fabricLocations/a6d51b7a/infraRoleInstances"; - Requests[1744] = new DefaultHttpContext(); - Requests[1744].RequestServices = CreateServices(); - Requests[1744].Request.Method = "GET"; - Requests[1744].Request.Path = "/subscriptions/2c1e1fc0-1140-/resourceGroups/70c2c02e-7da6-415/providers/Microsoft.Fabric.Admin/fabricLocations/3689672e/infraRoles"; - Requests[1745] = new DefaultHttpContext(); - Requests[1745].RequestServices = CreateServices(); - Requests[1745].Request.Method = "GET"; - Requests[1745].Request.Path = "/subscriptions/ebf4e31a-6eea-/resourceGroups/95788bbd-3607-46d/providers/Microsoft.Fabric.Admin/fabricLocations/103c2c28/ipPools"; - Requests[1746] = new DefaultHttpContext(); - Requests[1746].RequestServices = CreateServices(); - Requests[1746].Request.Method = "GET"; - Requests[1746].Request.Path = "/subscriptions/86e8ca1a-beda-/resourceGroups/9a897eb8-f28c-42c/providers/Microsoft.Fabric.Admin/fabricLocations/856001ed/logicalNetworks"; - Requests[1747] = new DefaultHttpContext(); - Requests[1747].RequestServices = CreateServices(); - Requests[1747].Request.Method = "GET"; - Requests[1747].Request.Path = "/subscriptions/fd0efc3a-473f-/resourceGroups/38a140df-1946-47b/providers/Microsoft.Fabric.Admin/fabricLocations/8ac18027/macAddressPools"; - Requests[1748] = new DefaultHttpContext(); - Requests[1748].RequestServices = CreateServices(); - Requests[1748].Request.Method = "GET"; - Requests[1748].Request.Path = "/subscriptions/2690537c-c6a0-/resourceGroups/2b61a2bc-689f-4ae/providers/Microsoft.Fabric.Admin/fabricLocations/2a85c410/scaleUnitNodes"; - Requests[1749] = new DefaultHttpContext(); - Requests[1749].RequestServices = CreateServices(); - Requests[1749].Request.Method = "GET"; - Requests[1749].Request.Path = "/subscriptions/8636b2ce-666b-/resourceGroups/72637b25-3a6b-47f/providers/Microsoft.Fabric.Admin/fabricLocations/19a492de/scaleUnits"; - Requests[1750] = new DefaultHttpContext(); - Requests[1750].RequestServices = CreateServices(); - Requests[1750].Request.Method = "GET"; - Requests[1750].Request.Path = "/subscriptions/e8311e90-b684-/resourceGroups/86041b1b-c1a0-454/providers/Microsoft.Fabric.Admin/fabricLocations/a95ff28e/slbMuxInstances"; - Requests[1751] = new DefaultHttpContext(); - Requests[1751].RequestServices = CreateServices(); - Requests[1751].Request.Method = "GET"; - Requests[1751].Request.Path = "/subscriptions/da869b96-6f80-/resourceGroups/63ae2128-02b3-478/providers/Microsoft.Fabric.Admin/fabricLocations/3e5ada7c/storageSubSystems"; - Requests[1752] = new DefaultHttpContext(); - Requests[1752].RequestServices = CreateServices(); - Requests[1752].Request.Method = "GET"; - Requests[1752].Request.Path = "/subscriptions/49233787-de1a-/resourceGroups/62c2f02c-8823-45e/providers/Microsoft.HDInsight/clusters/a885df1f-a6/applications"; - Requests[1753] = new DefaultHttpContext(); - Requests[1753].RequestServices = CreateServices(); - Requests[1753].Request.Method = "POST"; - Requests[1753].Request.Path = "/subscriptions/c02ec982-af3d-/resourceGroups/849ae9aa-9c21-41e/providers/Microsoft.HDInsight/clusters/55e35ee5-0a/executeScriptActions"; - Requests[1754] = new DefaultHttpContext(); - Requests[1754].RequestServices = CreateServices(); - Requests[1754].Request.Method = "GET"; - Requests[1754].Request.Path = "/subscriptions/a0b02b55-df8e-/resourceGroups/857c2a00-7a45-42f/providers/Microsoft.HDInsight/clusters/bc3db9ee-97/scriptActions"; - Requests[1755] = new DefaultHttpContext(); - Requests[1755].RequestServices = CreateServices(); - Requests[1755].Request.Method = "GET"; - Requests[1755].Request.Path = "/subscriptions/92a04739-752a-/resourceGroups/ae699050-005f-4a9/providers/Microsoft.HDInsight/clusters/6f0ead36-90/scriptExecutionHistory"; - Requests[1756] = new DefaultHttpContext(); - Requests[1756].RequestServices = CreateServices(); - Requests[1756].Request.Method = "POST"; - Requests[1756].Request.Path = "/subscriptions/7eab68c4-44c0-/resourceGroups/e51a929a-35ef-4ca/providers/Microsoft.ImportExport/jobs/dfbf049/listBitLockerKeys"; - Requests[1757] = new DefaultHttpContext(); - Requests[1757].RequestServices = CreateServices(); - Requests[1757].Request.Method = "GET"; - Requests[1757].Request.Path = "/subscriptions/0b5f2b35-d285-/resourceGroups/2bcae9cf-701e-482/providers/Microsoft.InfrastructureInsights.Admin/regionHealths/ca39c653/alerts"; - Requests[1758] = new DefaultHttpContext(); - Requests[1758].RequestServices = CreateServices(); - Requests[1758].Request.Method = "GET"; - Requests[1758].Request.Path = "/subscriptions/4ccc8808-f09c-/resourceGroups/f36b6be0-20e9-4dd/providers/Microsoft.InfrastructureInsights.Admin/regionHealths/eb0de761/serviceHealths"; - Requests[1759] = new DefaultHttpContext(); - Requests[1759].RequestServices = CreateServices(); - Requests[1759].Request.Method = "POST"; - Requests[1759].Request.Path = "/subscriptions/e3a55f57-b9b7-/resourceGroups/b6e87603-f353-46d/providers/microsoft.insights/actionGroups/ed0d45b9-4c6e-4/subscribe"; - Requests[1760] = new DefaultHttpContext(); - Requests[1760].RequestServices = CreateServices(); - Requests[1760].Request.Method = "GET"; - Requests[1760].Request.Path = "/subscriptions/a3898b75-779c-/resourcegroups/8cbc5b0a-6c41-447/providers/microsoft.insights/alertrules/b83e09df/incidents"; - Requests[1761] = new DefaultHttpContext(); - Requests[1761].RequestServices = CreateServices(); - Requests[1761].Request.Method = "GET"; - Requests[1761].Request.Path = "/subscriptions/cad3ab37-1091-/resourceGroups/51a3ac1d-b473-48d/providers/Microsoft.Insights/components/22cdfc00-c88a/webtests"; - Requests[1762] = new DefaultHttpContext(); - Requests[1762].RequestServices = CreateServices(); - Requests[1762].Request.Method = "PUT"; - Requests[1762].Request.Path = "/subscriptions/27d94d5d-11d6-/resourceGroups/ac1250ed-8f7c-4e1/providers/Microsoft.Insights/components/cbad7efb-a83/Annotations"; - Requests[1763] = new DefaultHttpContext(); - Requests[1763].RequestServices = CreateServices(); - Requests[1763].Request.Method = "POST"; - Requests[1763].Request.Path = "/subscriptions/5d095849-2bb8-/resourceGroups/94044847-aa09-465/providers/Microsoft.Insights/components/a5e78080-1ea/ApiKeys"; - Requests[1764] = new DefaultHttpContext(); - Requests[1764].RequestServices = CreateServices(); - Requests[1764].Request.Method = "PUT"; - Requests[1764].Request.Path = "/subscriptions/c0346606-964c-/resourceGroups/7023cd5a-f2b8-4da/providers/Microsoft.Insights/components/0554e19e-516/currentbillingfeatures"; - Requests[1765] = new DefaultHttpContext(); - Requests[1765].RequestServices = CreateServices(); - Requests[1765].Request.Method = "GET"; - Requests[1765].Request.Path = "/subscriptions/6ffbfc7d-a276-/resourceGroups/ffe6c51d-4d0b-4af/providers/Microsoft.Insights/components/b956ba27-0bc/DefaultWorkItemConfig"; - Requests[1766] = new DefaultHttpContext(); - Requests[1766].RequestServices = CreateServices(); - Requests[1766].Request.Method = "POST"; - Requests[1766].Request.Path = "/subscriptions/1ff2993a-d07c-/resourceGroups/90cb61bd-ba2a-43a/providers/Microsoft.Insights/components/a9dddb90-cff/exportconfiguration"; - Requests[1767] = new DefaultHttpContext(); - Requests[1767].RequestServices = CreateServices(); - Requests[1767].Request.Method = "GET"; - Requests[1767].Request.Path = "/subscriptions/93ba6073-d80e-/resourceGroups/10541adb-2bfe-42f/providers/Microsoft.Insights/components/f6ff551b-9a5/favorites"; - Requests[1768] = new DefaultHttpContext(); - Requests[1768].RequestServices = CreateServices(); - Requests[1768].Request.Method = "GET"; - Requests[1768].Request.Path = "/subscriptions/97cefd59-e6fa-/resourceGroups/6f77d013-4e56-479/providers/Microsoft.Insights/components/7d485de2-f50/featurecapabilities"; - Requests[1769] = new DefaultHttpContext(); - Requests[1769].RequestServices = CreateServices(); - Requests[1769].Request.Method = "GET"; - Requests[1769].Request.Path = "/subscriptions/87e7d752-29d8-/resourceGroups/69bbac32-f6e7-4e2/providers/Microsoft.Insights/components/0abd0df3-749/getavailablebillingfeatures"; - Requests[1770] = new DefaultHttpContext(); - Requests[1770].RequestServices = CreateServices(); - Requests[1770].Request.Method = "GET"; - Requests[1770].Request.Path = "/subscriptions/d7f985da-3fa7-/resourceGroups/b8addd6b-bc58-4a6/providers/Microsoft.Insights/components/b8b9057e-af7/ProactiveDetectionConfigs"; - Requests[1771] = new DefaultHttpContext(); - Requests[1771].RequestServices = CreateServices(); - Requests[1771].Request.Method = "POST"; - Requests[1771].Request.Path = "/subscriptions/fe917f52-0478-/resourceGroups/c52d1e61-b760-4b1/providers/Microsoft.Insights/components/0ec466a8-b5f/purge"; - Requests[1772] = new DefaultHttpContext(); - Requests[1772].RequestServices = CreateServices(); - Requests[1772].Request.Method = "GET"; - Requests[1772].Request.Path = "/subscriptions/aeacf970-de01-/resourceGroups/11988699-d622-476/providers/Microsoft.Insights/components/8f085c78-69c/quotastatus"; - Requests[1773] = new DefaultHttpContext(); - Requests[1773].RequestServices = CreateServices(); - Requests[1773].Request.Method = "GET"; - Requests[1773].Request.Path = "/subscriptions/e62ccef1-f408-/resourceGroups/cecd6d63-a068-423/providers/Microsoft.Insights/components/0b6d4691-2f0/syntheticmonitorlocations"; - Requests[1774] = new DefaultHttpContext(); - Requests[1774].RequestServices = CreateServices(); - Requests[1774].Request.Method = "POST"; - Requests[1774].Request.Path = "/subscriptions/5adca834-624f-/resourceGroups/95980869-d30d-4ce/providers/Microsoft.Insights/components/308c2be2-633/WorkItemConfigs"; - Requests[1775] = new DefaultHttpContext(); - Requests[1775].RequestServices = CreateServices(); - Requests[1775].Request.Method = "GET"; - Requests[1775].Request.Path = "/subscriptions/dc63cc0f-4e0a-/resourceGroups/f8b2156a-c5eb-4b2/providers/Microsoft.Insights/metricAlerts/e748dc95/status"; - Requests[1776] = new DefaultHttpContext(); - Requests[1776].RequestServices = CreateServices(); - Requests[1776].Request.Method = "GET"; - Requests[1776].Request.Path = "/subscriptions/ac7b5d7b-7f66-/resourceGroups/4c1eceff-f8fb-4cc/providers/Microsoft.KeyVault/vaults/207472ed-/secrets"; - Requests[1777] = new DefaultHttpContext(); - Requests[1777].RequestServices = CreateServices(); - Requests[1777].Request.Method = "GET"; - Requests[1777].Request.Path = "/subscriptions/d253144e-410d-/resourceGroups/d75d50aa-0c7a-466/providers/Microsoft.Logic/integrationAccounts/3b989c4b-de79-4a76-893/agreements"; - Requests[1778] = new DefaultHttpContext(); - Requests[1778].RequestServices = CreateServices(); - Requests[1778].Request.Method = "GET"; - Requests[1778].Request.Path = "/subscriptions/0c8d5dd8-aa63-/resourceGroups/d0050f6c-4205-4a7/providers/Microsoft.Logic/integrationAccounts/1b060cf6-caa2-4bce-be2/assemblies"; - Requests[1779] = new DefaultHttpContext(); - Requests[1779].RequestServices = CreateServices(); - Requests[1779].Request.Method = "GET"; - Requests[1779].Request.Path = "/subscriptions/bab4e512-c621-/resourceGroups/43b1e8ba-1f34-49b/providers/Microsoft.Logic/integrationAccounts/a44cc45e-5323-44ad-919/batchConfigurations"; - Requests[1780] = new DefaultHttpContext(); - Requests[1780].RequestServices = CreateServices(); - Requests[1780].Request.Method = "GET"; - Requests[1780].Request.Path = "/subscriptions/3d388532-52e1-/resourceGroups/f5ed92a2-f9aa-4bc/providers/Microsoft.Logic/integrationAccounts/08bc4bea-53d4-437d-8fa/certificates"; - Requests[1781] = new DefaultHttpContext(); - Requests[1781].RequestServices = CreateServices(); - Requests[1781].Request.Method = "POST"; - Requests[1781].Request.Path = "/subscriptions/b111eee8-6031-/resourceGroups/e4492d2c-5cfc-45f/providers/Microsoft.Logic/integrationAccounts/6c7a9319-2dd9-4f61-b78/listCallbackUrl"; - Requests[1782] = new DefaultHttpContext(); - Requests[1782].RequestServices = CreateServices(); - Requests[1782].Request.Method = "POST"; - Requests[1782].Request.Path = "/subscriptions/d44de62c-b100-/resourceGroups/dd40bedf-d80b-4eb/providers/Microsoft.Logic/integrationAccounts/0805040c-c748-4ea3-b21/listKeyVaultKeys"; - Requests[1783] = new DefaultHttpContext(); - Requests[1783].RequestServices = CreateServices(); - Requests[1783].Request.Method = "POST"; - Requests[1783].Request.Path = "/subscriptions/d3e4ed67-0869-/resourceGroups/1db3a43c-3fef-49a/providers/Microsoft.Logic/integrationAccounts/d76cf060-29a6-420a-ad5/logTrackingEvents"; - Requests[1784] = new DefaultHttpContext(); - Requests[1784].RequestServices = CreateServices(); - Requests[1784].Request.Method = "GET"; - Requests[1784].Request.Path = "/subscriptions/86067336-24b9-/resourceGroups/658354b1-a21a-4b9/providers/Microsoft.Logic/integrationAccounts/1bf8e8fe-c116-4efb-810/maps"; - Requests[1785] = new DefaultHttpContext(); - Requests[1785].RequestServices = CreateServices(); - Requests[1785].Request.Method = "GET"; - Requests[1785].Request.Path = "/subscriptions/ed242917-8178-/resourceGroups/264a1a5d-400c-461/providers/Microsoft.Logic/integrationAccounts/fb4c8eaf-1cf7-47c3-a99/partners"; - Requests[1786] = new DefaultHttpContext(); - Requests[1786].RequestServices = CreateServices(); - Requests[1786].Request.Method = "POST"; - Requests[1786].Request.Path = "/subscriptions/26c56061-7c90-/resourceGroups/48d9e275-f195-4b3/providers/Microsoft.Logic/integrationAccounts/a59047b2-ad45-42a5-b29/regenerateAccessKey"; - Requests[1787] = new DefaultHttpContext(); - Requests[1787].RequestServices = CreateServices(); - Requests[1787].Request.Method = "GET"; - Requests[1787].Request.Path = "/subscriptions/e3c01ea9-a31f-/resourceGroups/12e27842-c698-474/providers/Microsoft.Logic/integrationAccounts/3b9095ae-d9be-4ba6-9ad/schemas"; - Requests[1788] = new DefaultHttpContext(); - Requests[1788].RequestServices = CreateServices(); - Requests[1788].Request.Method = "GET"; - Requests[1788].Request.Path = "/subscriptions/14b2c5a4-9fc4-/resourceGroups/0508ed33-9a10-470/providers/Microsoft.Logic/integrationAccounts/2e0f6608-4527-4555-952/sessions"; - Requests[1789] = new DefaultHttpContext(); - Requests[1789].RequestServices = CreateServices(); - Requests[1789].Request.Method = "GET"; - Requests[1789].Request.Path = "/subscriptions/f38420fb-b029-/resourceGroups/e703b000-4a2b-4e2/providers/Microsoft.Logic/workflows/c2b93f2e-7b6/accessKeys"; - Requests[1790] = new DefaultHttpContext(); - Requests[1790].RequestServices = CreateServices(); - Requests[1790].Request.Method = "POST"; - Requests[1790].Request.Path = "/subscriptions/4f82dae4-f76d-/resourceGroups/9a5decae-a75d-4bc/providers/Microsoft.Logic/workflows/5fa4b019-062/disable"; - Requests[1791] = new DefaultHttpContext(); - Requests[1791].RequestServices = CreateServices(); - Requests[1791].Request.Method = "POST"; - Requests[1791].Request.Path = "/subscriptions/f05c0de7-1c88-/resourceGroups/23a41567-8f3c-40f/providers/Microsoft.Logic/workflows/0066533f-d55/enable"; - Requests[1792] = new DefaultHttpContext(); - Requests[1792].RequestServices = CreateServices(); - Requests[1792].Request.Method = "POST"; - Requests[1792].Request.Path = "/subscriptions/ae7d5dc7-51b1-/resourceGroups/5b949d33-7b19-46b/providers/Microsoft.Logic/workflows/50866315-f0e/generateUpgradedDefinition"; - Requests[1793] = new DefaultHttpContext(); - Requests[1793].RequestServices = CreateServices(); - Requests[1793].Request.Method = "POST"; - Requests[1793].Request.Path = "/subscriptions/4aec748b-9380-/resourceGroups/9d3ee8b9-0c97-447/providers/Microsoft.Logic/workflows/e5c9d3a6-db0/listCallbackUrl"; - Requests[1794] = new DefaultHttpContext(); - Requests[1794].RequestServices = CreateServices(); - Requests[1794].Request.Method = "POST"; - Requests[1794].Request.Path = "/subscriptions/c836231c-4d91-/resourceGroups/74a317da-4cad-4d1/providers/Microsoft.Logic/workflows/3fadeee1-0d5/listSwagger"; - Requests[1795] = new DefaultHttpContext(); - Requests[1795].RequestServices = CreateServices(); - Requests[1795].Request.Method = "POST"; - Requests[1795].Request.Path = "/subscriptions/290bc17a-5801-/resourceGroups/c8b2f17e-2062-42e/providers/Microsoft.Logic/workflows/04215abf-0cd/move"; - Requests[1796] = new DefaultHttpContext(); - Requests[1796].RequestServices = CreateServices(); - Requests[1796].Request.Method = "POST"; - Requests[1796].Request.Path = "/subscriptions/cb7011a1-1bbc-/resourceGroups/1030af06-ec56-4cc/providers/Microsoft.Logic/workflows/acf5674d-bf6/regenerateAccessKey"; - Requests[1797] = new DefaultHttpContext(); - Requests[1797].RequestServices = CreateServices(); - Requests[1797].Request.Method = "POST"; - Requests[1797].Request.Path = "/subscriptions/ba0e76e0-47aa-/resourceGroups/a009387f-463e-4bc/providers/Microsoft.Logic/workflows/c5671ec7-f3b/run"; - Requests[1798] = new DefaultHttpContext(); - Requests[1798].RequestServices = CreateServices(); - Requests[1798].Request.Method = "GET"; - Requests[1798].Request.Path = "/subscriptions/00d66c67-b578-/resourceGroups/8ab0e924-1e23-43f/providers/Microsoft.Logic/workflows/737f7d31-901/runs"; - Requests[1799] = new DefaultHttpContext(); - Requests[1799].RequestServices = CreateServices(); - Requests[1799].Request.Method = "GET"; - Requests[1799].Request.Path = "/subscriptions/53adae6d-cabb-/resourceGroups/bab07d33-bf74-4e6/providers/Microsoft.Logic/workflows/86f06e82-daa/triggers"; - Requests[1800] = new DefaultHttpContext(); - Requests[1800].RequestServices = CreateServices(); - Requests[1800].Request.Method = "POST"; - Requests[1800].Request.Path = "/subscriptions/aad46dcd-b1a9-/resourceGroups/822ec19b-59ad-45e/providers/Microsoft.Logic/workflows/13725662-4f4/validate"; - Requests[1801] = new DefaultHttpContext(); - Requests[1801].RequestServices = CreateServices(); - Requests[1801].Request.Method = "GET"; - Requests[1801].Request.Path = "/subscriptions/323b9280-e587-/resourceGroups/ee22570c-503f-4cd/providers/Microsoft.Logic/workflows/9593bc51-f21/versions"; - Requests[1802] = new DefaultHttpContext(); - Requests[1802].RequestServices = CreateServices(); - Requests[1802].Request.Method = "GET"; - Requests[1802].Request.Path = "/subscriptions/35ce6fb1-3cf1-/resourceGroups/e5a46043-bd0a-4b4/providers/Microsoft.MachineLearning/commitmentPlans/76af8f64-5240-427a/commitmentAssociations"; - Requests[1803] = new DefaultHttpContext(); - Requests[1803].RequestServices = CreateServices(); - Requests[1803].Request.Method = "GET"; - Requests[1803].Request.Path = "/subscriptions/6cf73511-88b4-/resourceGroups/116362dc-5a81-4e6/providers/Microsoft.MachineLearning/commitmentPlans/16161b38-4ec6-40de/usageHistory"; - Requests[1804] = new DefaultHttpContext(); - Requests[1804].RequestServices = CreateServices(); - Requests[1804].Request.Method = "POST"; - Requests[1804].Request.Path = "/subscriptions/270aa7ec-43b0-/resourceGroups/3a0e68e3-bef6-4bf/providers/Microsoft.MachineLearning/webServices/d675ad20-9e3c-/CreateRegionalBlob"; - Requests[1805] = new DefaultHttpContext(); - Requests[1805].RequestServices = CreateServices(); - Requests[1805].Request.Method = "GET"; - Requests[1805].Request.Path = "/subscriptions/56766f2d-2834-/resourceGroups/77f35025-086e-447/providers/Microsoft.MachineLearning/webServices/023a65b3-4323-/listKeys"; - Requests[1806] = new DefaultHttpContext(); - Requests[1806].RequestServices = CreateServices(); - Requests[1806].Request.Method = "POST"; - Requests[1806].Request.Path = "/subscriptions/258e5294-0fcb-/resourceGroups/3a1fd3d8-9a10-433/providers/Microsoft.MachineLearning/workspaces/6aa43e82-099b/listWorkspaceKeys"; - Requests[1807] = new DefaultHttpContext(); - Requests[1807].RequestServices = CreateServices(); - Requests[1807].Request.Method = "POST"; - Requests[1807].Request.Path = "/subscriptions/19371cf3-610f-/resourceGroups/ac332ca8-b851-473/providers/Microsoft.MachineLearning/workspaces/19585809-7d0e/resyncStorageKeys"; - Requests[1808] = new DefaultHttpContext(); - Requests[1808].RequestServices = CreateServices(); - Requests[1808].Request.Method = "POST"; - Requests[1808].Request.Path = "/subscriptions/1803f290-2af6-/resourceGroups/8c853844-b93a-465/providers/Microsoft.MachineLearningCompute/operationalizationClusters/7ad7fee6-71/checkSystemServicesUpdatesAvailable"; - Requests[1809] = new DefaultHttpContext(); - Requests[1809].RequestServices = CreateServices(); - Requests[1809].Request.Method = "POST"; - Requests[1809].Request.Path = "/subscriptions/aac5fe80-f6ed-/resourceGroups/144d19fc-eda7-45c/providers/Microsoft.MachineLearningCompute/operationalizationClusters/1999d150-0d/checkUpdate"; - Requests[1810] = new DefaultHttpContext(); - Requests[1810].RequestServices = CreateServices(); - Requests[1810].Request.Method = "POST"; - Requests[1810].Request.Path = "/subscriptions/dbddfddc-3d40-/resourceGroups/f0f8c0cd-be84-440/providers/Microsoft.MachineLearningCompute/operationalizationClusters/2aa84392-15/listKeys"; - Requests[1811] = new DefaultHttpContext(); - Requests[1811].RequestServices = CreateServices(); - Requests[1811].Request.Method = "POST"; - Requests[1811].Request.Path = "/subscriptions/73ceab92-5d20-/resourceGroups/7113c96a-cb8f-41e/providers/Microsoft.MachineLearningCompute/operationalizationClusters/1082c6cc-35/updateSystem"; - Requests[1812] = new DefaultHttpContext(); - Requests[1812].RequestServices = CreateServices(); - Requests[1812].Request.Method = "POST"; - Requests[1812].Request.Path = "/subscriptions/4e4977fd-cc30-/resourceGroups/a0beae29-4546-468/providers/Microsoft.MachineLearningCompute/operationalizationClusters/38282d1a-73/updateSystemServices"; - Requests[1813] = new DefaultHttpContext(); - Requests[1813].RequestServices = CreateServices(); - Requests[1813].Request.Method = "GET"; - Requests[1813].Request.Path = "/subscriptions/fb5e7f08-a4d7-/resourceGroups/a277e0a8-5258-4bd/providers/Microsoft.MachineLearningExperimentation/accounts/4fa46e8b-58/workspaces"; - Requests[1814] = new DefaultHttpContext(); - Requests[1814].RequestServices = CreateServices(); - Requests[1814].Request.Method = "POST"; - Requests[1814].Request.Path = "/subscriptions/a1fa1451-751b-/resourceGroups/603d8e14-08d0-4b6/providers/Microsoft.MachineLearningServices/workspaces/dddc8abd-440d/listKeys"; - Requests[1815] = new DefaultHttpContext(); - Requests[1815].RequestServices = CreateServices(); - Requests[1815].Request.Method = "POST"; - Requests[1815].Request.Path = "/subscriptions/1e8e013b-bb5b-/resourceGroups/df549bad-055c-476/providers/Microsoft.MachineLearningServices/workspaces/e804bf6a-5c87/resyncKeys"; - Requests[1816] = new DefaultHttpContext(); - Requests[1816].RequestServices = CreateServices(); - Requests[1816].Request.Method = "POST"; - Requests[1816].Request.Path = "/subscriptions/bf57d796-be6a-/resourceGroups/da6b4f37-f2ee-4d1/providers/Microsoft.Maps/accounts/3e38a14e-05/listKeys"; - Requests[1817] = new DefaultHttpContext(); - Requests[1817].RequestServices = CreateServices(); - Requests[1817].Request.Method = "POST"; - Requests[1817].Request.Path = "/subscriptions/6834048e-35b1-/resourceGroups/c367c412-76a2-483/providers/Microsoft.Maps/accounts/9fba2045-ce/regenerateKey"; - Requests[1818] = new DefaultHttpContext(); - Requests[1818].RequestServices = CreateServices(); - Requests[1818].Request.Method = "GET"; - Requests[1818].Request.Path = "/subscriptions/362b0cbd-89af-/resourceGroups/f87569eb-b628-487/providers/Microsoft.Media/mediaServices/3cfb96b5-6b/assets"; - Requests[1819] = new DefaultHttpContext(); - Requests[1819].RequestServices = CreateServices(); - Requests[1819].Request.Method = "GET"; - Requests[1819].Request.Path = "/subscriptions/7f236a15-eeb9-/resourceGroups/8aa012fb-94c3-408/providers/Microsoft.Media/mediaServices/dd00094d-cb/contentKeyPolicies"; - Requests[1820] = new DefaultHttpContext(); - Requests[1820].RequestServices = CreateServices(); - Requests[1820].Request.Method = "GET"; - Requests[1820].Request.Path = "/subscriptions/c86e1fc6-2554-/resourceGroups/18f82331-9974-406/providers/Microsoft.Media/mediaservices/709224ed-3b/liveEvents"; - Requests[1821] = new DefaultHttpContext(); - Requests[1821].RequestServices = CreateServices(); - Requests[1821].Request.Method = "GET"; - Requests[1821].Request.Path = "/subscriptions/4d851ea9-d8d2-/resourceGroups/a12cd631-1596-4a0/providers/Microsoft.Media/mediaservices/7914848d-b3/streamingEndpoints"; - Requests[1822] = new DefaultHttpContext(); - Requests[1822].RequestServices = CreateServices(); - Requests[1822].Request.Method = "GET"; - Requests[1822].Request.Path = "/subscriptions/9bef8c2c-1f2d-/resourceGroups/f95ddf40-37e1-415/providers/Microsoft.Media/mediaServices/7dc02450-fe/streamingLocators"; - Requests[1823] = new DefaultHttpContext(); - Requests[1823].RequestServices = CreateServices(); - Requests[1823].Request.Method = "GET"; - Requests[1823].Request.Path = "/subscriptions/e1dd5470-ef47-/resourceGroups/12c49441-ae45-471/providers/Microsoft.Media/mediaServices/7d9ea5ef-a1/streamingPolicies"; - Requests[1824] = new DefaultHttpContext(); - Requests[1824].RequestServices = CreateServices(); - Requests[1824].Request.Method = "GET"; - Requests[1824].Request.Path = "/subscriptions/f961b92e-9e47-/resourceGroups/210dda96-e94d-4d8/providers/Microsoft.Media/mediaServices/574fb9c4-f9/transforms"; - Requests[1825] = new DefaultHttpContext(); - Requests[1825].RequestServices = CreateServices(); - Requests[1825].Request.Method = "POST"; - Requests[1825].Request.Path = "/subscriptions/0a494043-5025-/resourceGroups/5bafee91-9f74-470/providers/Microsoft.Media/mediaservices/ba7fbe5b-c97b-40/listKeys"; - Requests[1826] = new DefaultHttpContext(); - Requests[1826].RequestServices = CreateServices(); - Requests[1826].Request.Method = "POST"; - Requests[1826].Request.Path = "/subscriptions/8e099958-aa47-/resourceGroups/b3ebe2ff-5af1-492/providers/Microsoft.Media/mediaservices/0a09e766-7129-4b/regenerateKey"; - Requests[1827] = new DefaultHttpContext(); - Requests[1827].RequestServices = CreateServices(); - Requests[1827].Request.Method = "POST"; - Requests[1827].Request.Path = "/subscriptions/23b3c209-0de6-/resourceGroups/f3538f5c-75f6-45d/providers/Microsoft.Media/mediaservices/3ab7788a-4088-4f/syncStorageKeys"; - Requests[1828] = new DefaultHttpContext(); - Requests[1828].RequestServices = CreateServices(); - Requests[1828].Request.Method = "GET"; - Requests[1828].Request.Path = "/subscriptions/15ead37f-7f00-/resourceGroups/f609d9d3-0d6f-41f/providers/Microsoft.Migrate/projects/6665cd61-46/assessments"; - Requests[1829] = new DefaultHttpContext(); - Requests[1829].RequestServices = CreateServices(); - Requests[1829].Request.Method = "GET"; - Requests[1829].Request.Path = "/subscriptions/dcc47c0a-f86a-/resourceGroups/f60dc653-805e-4cc/providers/Microsoft.Migrate/projects/2d7798dc-62/groups"; - Requests[1830] = new DefaultHttpContext(); - Requests[1830].RequestServices = CreateServices(); - Requests[1830].Request.Method = "POST"; - Requests[1830].Request.Path = "/subscriptions/588fc1f1-7906-/resourcegroups/18f0cdc2-afba-4dc/providers/Microsoft.Migrate/projects/ead36493-95/keys"; - Requests[1831] = new DefaultHttpContext(); - Requests[1831].RequestServices = CreateServices(); - Requests[1831].Request.Method = "GET"; - Requests[1831].Request.Path = "/subscriptions/5a583629-e9b7-/resourceGroups/cf2d6803-6b07-4d7/providers/Microsoft.Migrate/projects/65f06c24-87/machines"; - Requests[1832] = new DefaultHttpContext(); - Requests[1832].RequestServices = CreateServices(); - Requests[1832].Request.Method = "POST"; - Requests[1832].Request.Path = "/subscriptions/54acae32-0dcb-/resourceGroups/4bba7b95-aa2d-46e/providers/Microsoft.Network/applicationGateways/2660b75b-a863-4e77-b81/backendhealth"; - Requests[1833] = new DefaultHttpContext(); - Requests[1833].RequestServices = CreateServices(); - Requests[1833].Request.Method = "POST"; - Requests[1833].Request.Path = "/subscriptions/9de6f16f-67ab-/resourceGroups/ce32acaf-0827-430/providers/Microsoft.Network/applicationGateways/6ea71da4-f799-4667-bd5/start"; - Requests[1834] = new DefaultHttpContext(); - Requests[1834].RequestServices = CreateServices(); - Requests[1834].Request.Method = "POST"; - Requests[1834].Request.Path = "/subscriptions/fd8bb0dc-460c-/resourceGroups/061dcad4-f859-4e3/providers/Microsoft.Network/applicationGateways/d3bf9493-0f91-4aa4-836/stop"; - Requests[1835] = new DefaultHttpContext(); - Requests[1835].RequestServices = CreateServices(); - Requests[1835].Request.Method = "GET"; - Requests[1835].Request.Path = "/subscriptions/45ac01f2-eb2e-/resourceGroups/2862b226-36df-4e5/providers/Microsoft.Network/connections/619b3ee2-a03d-4d53-8169-604fbcd0555/sharedkey"; - Requests[1836] = new DefaultHttpContext(); - Requests[1836].RequestServices = CreateServices(); - Requests[1836].Request.Method = "POST"; - Requests[1836].Request.Path = "/subscriptions/e356f991-96ce-/resourceGroups/ea4a3c7a-3a32-403/providers/Microsoft.Network/connections/9a44444e-ac2b-4c1d-8c4c-c14f5645fcd/vpndeviceconfigurationscript"; - Requests[1837] = new DefaultHttpContext(); - Requests[1837].RequestServices = CreateServices(); - Requests[1837].Request.Method = "GET"; - Requests[1837].Request.Path = "/subscriptions/855128ce-62a5-/resourceGroups/2be6ae97-066c-423/providers/Microsoft.Network/dnsZones/d4be5b68/all"; - Requests[1838] = new DefaultHttpContext(); - Requests[1838].RequestServices = CreateServices(); - Requests[1838].Request.Method = "GET"; - Requests[1838].Request.Path = "/subscriptions/bda801e9-b07d-/resourceGroups/a71bf706-0976-4d4/providers/Microsoft.Network/dnsZones/f00ce391/recordsets"; - Requests[1839] = new DefaultHttpContext(); - Requests[1839].RequestServices = CreateServices(); - Requests[1839].Request.Method = "GET"; - Requests[1839].Request.Path = "/subscriptions/b8402d51-ce9d-/resourceGroups/52f8bf48-adfa-4dd/providers/Microsoft.Network/expressRouteCircuits/38c4a427-42/arpTable"; - Requests[1840] = new DefaultHttpContext(); - Requests[1840].RequestServices = CreateServices(); - Requests[1840].Request.Method = "GET"; - Requests[1840].Request.Path = "/subscriptions/30e94b59-d2ed-/resourceGroups/210df218-698c-400/providers/Microsoft.Network/expressRouteCircuits/424c2f45-1a/authorizations"; - Requests[1841] = new DefaultHttpContext(); - Requests[1841].RequestServices = CreateServices(); - Requests[1841].Request.Method = "GET"; - Requests[1841].Request.Path = "/subscriptions/e114b043-27f9-/resourceGroups/bf4e6f8e-ed2e-49e/providers/Microsoft.Network/expressRouteCircuits/e2bd5f6b-ca/peerings"; - Requests[1842] = new DefaultHttpContext(); - Requests[1842].RequestServices = CreateServices(); - Requests[1842].Request.Method = "GET"; - Requests[1842].Request.Path = "/subscriptions/9ecd55c3-0e47-/resourceGroups/97cc5a71-b390-434/providers/Microsoft.Network/expressRouteCircuits/ccfda239-22/routesTable"; - Requests[1843] = new DefaultHttpContext(); - Requests[1843].RequestServices = CreateServices(); - Requests[1843].Request.Method = "GET"; - Requests[1843].Request.Path = "/subscriptions/d18cea97-297f-/resourceGroups/1a1c2581-432f-43d/providers/Microsoft.Network/expressRouteCircuits/376722a2-40/stats"; - Requests[1844] = new DefaultHttpContext(); - Requests[1844].RequestServices = CreateServices(); - Requests[1844].Request.Method = "GET"; - Requests[1844].Request.Path = "/subscriptions/cfe5d927-403a-/resourceGroups/308de58b-29a5-42d/providers/Microsoft.Network/expressRouteCrossConnections/7051be3d-e3c3-491e-/peerings"; - Requests[1845] = new DefaultHttpContext(); - Requests[1845].RequestServices = CreateServices(); - Requests[1845].Request.Method = "GET"; - Requests[1845].Request.Path = "/subscriptions/ebdab568-fd4d-/resourceGroups/9d3e50d5-339f-471/providers/Microsoft.Network/loadBalancers/9c93e8fd-5e58-4b/backendAddressPools"; - Requests[1846] = new DefaultHttpContext(); - Requests[1846].RequestServices = CreateServices(); - Requests[1846].Request.Method = "GET"; - Requests[1846].Request.Path = "/subscriptions/93028f79-6229-/resourceGroups/44df3ee5-a678-428/providers/Microsoft.Network/loadBalancers/d98b35e6-d195-42/frontendIPConfigurations"; - Requests[1847] = new DefaultHttpContext(); - Requests[1847].RequestServices = CreateServices(); - Requests[1847].Request.Method = "GET"; - Requests[1847].Request.Path = "/subscriptions/76493f8e-f29a-/resourceGroups/bad10ddb-3d63-4c3/providers/Microsoft.Network/loadBalancers/2b9e131c-bf7d-4e/inboundNatRules"; - Requests[1848] = new DefaultHttpContext(); - Requests[1848].RequestServices = CreateServices(); - Requests[1848].Request.Method = "GET"; - Requests[1848].Request.Path = "/subscriptions/6547d965-9655-/resourceGroups/66b3afa4-a53c-48e/providers/Microsoft.Network/loadBalancers/6a0ba0ad-33ef-41/loadBalancingRules"; - Requests[1849] = new DefaultHttpContext(); - Requests[1849].RequestServices = CreateServices(); - Requests[1849].Request.Method = "GET"; - Requests[1849].Request.Path = "/subscriptions/f5d18b87-c471-/resourceGroups/ccaca29f-20c3-46e/providers/Microsoft.Network/loadBalancers/05bde30b-6b13-48/networkInterfaces"; - Requests[1850] = new DefaultHttpContext(); - Requests[1850].RequestServices = CreateServices(); - Requests[1850].Request.Method = "GET"; - Requests[1850].Request.Path = "/subscriptions/91282629-702b-/resourceGroups/dab1fdd8-f17b-476/providers/Microsoft.Network/loadBalancers/55bd0f7f-0254-45/probes"; - Requests[1851] = new DefaultHttpContext(); - Requests[1851].RequestServices = CreateServices(); - Requests[1851].Request.Method = "POST"; - Requests[1851].Request.Path = "/subscriptions/af7a5441-3ff3-/resourceGroups/812fe483-374f-4a9/providers/Microsoft.Network/networkInterfaces/d1398cbf-53ca-4d86-a/effectiveNetworkSecurityGroups"; - Requests[1852] = new DefaultHttpContext(); - Requests[1852].RequestServices = CreateServices(); - Requests[1852].Request.Method = "POST"; - Requests[1852].Request.Path = "/subscriptions/722fdde9-9d83-/resourceGroups/be354a40-6ab0-4f7/providers/Microsoft.Network/networkInterfaces/bab2ac36-e380-4174-a/effectiveRouteTable"; - Requests[1853] = new DefaultHttpContext(); - Requests[1853].RequestServices = CreateServices(); - Requests[1853].Request.Method = "GET"; - Requests[1853].Request.Path = "/subscriptions/85805d31-a4cf-/resourceGroups/54c076c3-94e9-411/providers/Microsoft.Network/networkInterfaces/513ff4fd-ca40-473d-a/ipConfigurations"; - Requests[1854] = new DefaultHttpContext(); - Requests[1854].RequestServices = CreateServices(); - Requests[1854].Request.Method = "GET"; - Requests[1854].Request.Path = "/subscriptions/2794ebc0-008d-/resourceGroups/514b0914-81f9-480/providers/Microsoft.Network/networkInterfaces/0e1b0084-8acb-453c-8/loadBalancers"; - Requests[1855] = new DefaultHttpContext(); - Requests[1855].RequestServices = CreateServices(); - Requests[1855].Request.Method = "GET"; - Requests[1855].Request.Path = "/subscriptions/700f0f4d-705b-/resourceGroups/9e66d0c4-6de0-497/providers/Microsoft.Network/networkSecurityGroups/d06f6add-652b-44e0-aa0b-/defaultSecurityRules"; - Requests[1856] = new DefaultHttpContext(); - Requests[1856].RequestServices = CreateServices(); - Requests[1856].Request.Method = "GET"; - Requests[1856].Request.Path = "/subscriptions/5437fd80-82fb-/resourceGroups/f2709126-97ec-469/providers/Microsoft.Network/networkSecurityGroups/005d76d8-eb1c-4a42-897c-/securityRules"; - Requests[1857] = new DefaultHttpContext(); - Requests[1857].RequestServices = CreateServices(); - Requests[1857].Request.Method = "POST"; - Requests[1857].Request.Path = "/subscriptions/1494a721-1686-/resourceGroups/f33be386-969e-465/providers/Microsoft.Network/networkWatchers/97a10314-a67c-4dad/availableProvidersList"; - Requests[1858] = new DefaultHttpContext(); - Requests[1858].RequestServices = CreateServices(); - Requests[1858].Request.Method = "POST"; - Requests[1858].Request.Path = "/subscriptions/f450f55a-d1b7-/resourceGroups/9d2e6ebd-c52c-4be/providers/Microsoft.Network/networkWatchers/39cd8742-e77c-4c15/azureReachabilityReport"; - Requests[1859] = new DefaultHttpContext(); - Requests[1859].RequestServices = CreateServices(); - Requests[1859].Request.Method = "POST"; - Requests[1859].Request.Path = "/subscriptions/a31e1670-d126-/resourceGroups/8d14ddcf-186b-4f1/providers/Microsoft.Network/networkWatchers/26e782d1-ae1f-4528/configureFlowLog"; - Requests[1860] = new DefaultHttpContext(); - Requests[1860].RequestServices = CreateServices(); - Requests[1860].Request.Method = "GET"; - Requests[1860].Request.Path = "/subscriptions/cf829075-e370-/resourceGroups/185f29a0-cf5c-44b/providers/Microsoft.Network/networkWatchers/8d2524d6-37c5-40b7/connectionMonitors"; - Requests[1861] = new DefaultHttpContext(); - Requests[1861].RequestServices = CreateServices(); - Requests[1861].Request.Method = "POST"; - Requests[1861].Request.Path = "/subscriptions/ea711249-b5cd-/resourceGroups/37158d70-244e-4c2/providers/Microsoft.Network/networkWatchers/18dbcb25-cad7-4669/connectivityCheck"; - Requests[1862] = new DefaultHttpContext(); - Requests[1862].RequestServices = CreateServices(); - Requests[1862].Request.Method = "POST"; - Requests[1862].Request.Path = "/subscriptions/1d688e7e-2a06-/resourceGroups/b9be48d6-286f-439/providers/Microsoft.Network/networkWatchers/98e94cde-fefd-4c36/ipFlowVerify"; - Requests[1863] = new DefaultHttpContext(); - Requests[1863].RequestServices = CreateServices(); - Requests[1863].Request.Method = "POST"; - Requests[1863].Request.Path = "/subscriptions/d4733a65-05f1-/resourceGroups/7650378a-d4aa-4e8/providers/Microsoft.Network/networkWatchers/6e24a727-3cd3-43f3/nextHop"; - Requests[1864] = new DefaultHttpContext(); - Requests[1864].RequestServices = CreateServices(); - Requests[1864].Request.Method = "GET"; - Requests[1864].Request.Path = "/subscriptions/d2c5a858-6379-/resourceGroups/ea69426c-8c21-4ce/providers/Microsoft.Network/networkWatchers/db6ffb9c-0cd3-443b/packetCaptures"; - Requests[1865] = new DefaultHttpContext(); - Requests[1865].RequestServices = CreateServices(); - Requests[1865].Request.Method = "POST"; - Requests[1865].Request.Path = "/subscriptions/02865741-7974-/resourceGroups/88573ec4-15de-49d/providers/Microsoft.Network/networkWatchers/9e82ce9a-51ce-40ee/queryFlowLogStatus"; - Requests[1866] = new DefaultHttpContext(); - Requests[1866].RequestServices = CreateServices(); - Requests[1866].Request.Method = "POST"; - Requests[1866].Request.Path = "/subscriptions/abba9219-0efe-/resourceGroups/28196c39-4528-451/providers/Microsoft.Network/networkWatchers/cefd60e9-9b9d-4d42/queryTroubleshootResult"; - Requests[1867] = new DefaultHttpContext(); - Requests[1867].RequestServices = CreateServices(); - Requests[1867].Request.Method = "POST"; - Requests[1867].Request.Path = "/subscriptions/f1cc97a0-aa62-/resourceGroups/08a7b72f-6b4c-457/providers/Microsoft.Network/networkWatchers/40f33513-f9ef-463e/securityGroupView"; - Requests[1868] = new DefaultHttpContext(); - Requests[1868].RequestServices = CreateServices(); - Requests[1868].Request.Method = "POST"; - Requests[1868].Request.Path = "/subscriptions/b726d259-2f74-/resourceGroups/2f5a7ef3-c6e2-4a5/providers/Microsoft.Network/networkWatchers/201e752f-888b-44c1/topology"; - Requests[1869] = new DefaultHttpContext(); - Requests[1869].RequestServices = CreateServices(); - Requests[1869].Request.Method = "POST"; - Requests[1869].Request.Path = "/subscriptions/2b4fd191-a43f-/resourceGroups/129c89bd-10c2-401/providers/Microsoft.Network/networkWatchers/c78b7300-d47e-4b4f/troubleshoot"; - Requests[1870] = new DefaultHttpContext(); - Requests[1870].RequestServices = CreateServices(); - Requests[1870].Request.Method = "GET"; - Requests[1870].Request.Path = "/subscriptions/771a340e-981b-/resourceGroups/bf14d1e9-118a-486/providers/Microsoft.Network/routeFilters/58ed57c9-d55f-4/routeFilterRules"; - Requests[1871] = new DefaultHttpContext(); - Requests[1871].RequestServices = CreateServices(); - Requests[1871].Request.Method = "GET"; - Requests[1871].Request.Path = "/subscriptions/d794fcd9-5e6f-/resourceGroups/882c3419-e3bf-4d1/providers/Microsoft.Network/routeTables/961040b0-3dce-/routes"; - Requests[1872] = new DefaultHttpContext(); - Requests[1872].RequestServices = CreateServices(); - Requests[1872].Request.Method = "GET"; - Requests[1872].Request.Path = "/subscriptions/9d82ce4d-2755-/resourceGroups/fc1b712a-8154-4a1/providers/Microsoft.Network/virtualNetworkGateways/087d44b6-fe62-4377-acd9-b/connections"; - Requests[1873] = new DefaultHttpContext(); - Requests[1873].RequestServices = CreateServices(); - Requests[1873].Request.Method = "POST"; - Requests[1873].Request.Path = "/subscriptions/8506902f-7f71-/resourceGroups/edf4ed63-8b49-4ed/providers/Microsoft.Network/virtualNetworkGateways/2ea7490b-0163-4500-8e08-1/generatevpnclientpackage"; - Requests[1874] = new DefaultHttpContext(); - Requests[1874].RequestServices = CreateServices(); - Requests[1874].Request.Method = "POST"; - Requests[1874].Request.Path = "/subscriptions/361a43c2-d346-/resourceGroups/ca856f14-7fc3-400/providers/Microsoft.Network/virtualNetworkGateways/301f9fa4-5189-40f0-bc83-d/generatevpnprofile"; - Requests[1875] = new DefaultHttpContext(); - Requests[1875].RequestServices = CreateServices(); - Requests[1875].Request.Method = "POST"; - Requests[1875].Request.Path = "/subscriptions/6ea23920-2ca2-/resourceGroups/149947c6-e4f9-4a2/providers/Microsoft.Network/virtualNetworkGateways/24069211-6b90-454a-9c71-2/getAdvertisedRoutes"; - Requests[1876] = new DefaultHttpContext(); - Requests[1876].RequestServices = CreateServices(); - Requests[1876].Request.Method = "POST"; - Requests[1876].Request.Path = "/subscriptions/a5da221c-9d75-/resourceGroups/b0f2d726-e21f-42e/providers/Microsoft.Network/virtualNetworkGateways/dc2b4c93-fb51-4adb-87c9-b/getBgpPeerStatus"; - Requests[1877] = new DefaultHttpContext(); - Requests[1877].RequestServices = CreateServices(); - Requests[1877].Request.Method = "POST"; - Requests[1877].Request.Path = "/subscriptions/e168f5af-9a43-/resourceGroups/edb8448a-3031-416/providers/Microsoft.Network/virtualNetworkGateways/147c5a99-6606-4119-b22b-a/getLearnedRoutes"; - Requests[1878] = new DefaultHttpContext(); - Requests[1878].RequestServices = CreateServices(); - Requests[1878].Request.Method = "POST"; - Requests[1878].Request.Path = "/subscriptions/8d649fff-7975-/resourceGroups/72ff9c77-3547-489/providers/Microsoft.Network/virtualNetworkGateways/00d42826-35fe-4107-9e7e-f/getvpnclientipsecparameters"; - Requests[1879] = new DefaultHttpContext(); - Requests[1879].RequestServices = CreateServices(); - Requests[1879].Request.Method = "POST"; - Requests[1879].Request.Path = "/subscriptions/6996f97b-04c9-/resourceGroups/3102501e-0dd3-4f8/providers/Microsoft.Network/virtualNetworkGateways/1ea340ae-9241-46d4-93dd-0/getvpnprofilepackageurl"; - Requests[1880] = new DefaultHttpContext(); - Requests[1880].RequestServices = CreateServices(); - Requests[1880].Request.Method = "POST"; - Requests[1880].Request.Path = "/subscriptions/09601fa0-7f9d-/resourceGroups/00edc92f-0f4d-4ef/providers/Microsoft.Network/virtualNetworkGateways/25c47985-f4d4-4797-b6e2-1/reset"; - Requests[1881] = new DefaultHttpContext(); - Requests[1881].RequestServices = CreateServices(); - Requests[1881].Request.Method = "POST"; - Requests[1881].Request.Path = "/subscriptions/6ea32930-c3ad-/resourceGroups/72772467-40bb-455/providers/Microsoft.Network/virtualNetworkGateways/068003cf-00c1-4a1a-a422-e/setvpnclientipsecparameters"; - Requests[1882] = new DefaultHttpContext(); - Requests[1882].RequestServices = CreateServices(); - Requests[1882].Request.Method = "POST"; - Requests[1882].Request.Path = "/subscriptions/404f6374-1679-/resourceGroups/ae58f31a-ba5b-458/providers/Microsoft.Network/virtualNetworkGateways/da71541e-bfae-4e2f-8f88-3/supportedvpndevices"; - Requests[1883] = new DefaultHttpContext(); - Requests[1883].RequestServices = CreateServices(); - Requests[1883].Request.Method = "GET"; - Requests[1883].Request.Path = "/subscriptions/1361d3f8-dd2c-/resourceGroups/141d5727-436f-4a4/providers/Microsoft.Network/virtualNetworks/138bf236-ab50-4ac0/CheckIPAddressAvailability"; - Requests[1884] = new DefaultHttpContext(); - Requests[1884].RequestServices = CreateServices(); - Requests[1884].Request.Method = "GET"; - Requests[1884].Request.Path = "/subscriptions/4cc7087a-9733-/resourceGroups/1138ca4b-9318-4ce/providers/Microsoft.Network/virtualNetworks/2351947b-7fde-4aa8/subnets"; - Requests[1885] = new DefaultHttpContext(); - Requests[1885].RequestServices = CreateServices(); - Requests[1885].Request.Method = "GET"; - Requests[1885].Request.Path = "/subscriptions/c7eb5b0e-8eb2-/resourceGroups/61cf90db-fdca-422/providers/Microsoft.Network/virtualNetworks/0c678bbe-a30b-4826/usages"; - Requests[1886] = new DefaultHttpContext(); - Requests[1886].RequestServices = CreateServices(); - Requests[1886].Request.Method = "GET"; - Requests[1886].Request.Path = "/subscriptions/cd01bcf9-af46-/resourceGroups/c53912ae-6f63-4d6/providers/Microsoft.Network/virtualNetworks/768985ad-612a-464a/virtualNetworkPeerings"; - Requests[1887] = new DefaultHttpContext(); - Requests[1887].RequestServices = CreateServices(); - Requests[1887].Request.Method = "GET"; - Requests[1887].Request.Path = "/subscriptions/cb3efaf4-7870-/resourceGroups/8b465326-4591-464/providers/Microsoft.NotificationHubs/namespaces/51a1829f-44c7/AuthorizationRules"; - Requests[1888] = new DefaultHttpContext(); - Requests[1888].RequestServices = CreateServices(); - Requests[1888].Request.Method = "POST"; - Requests[1888].Request.Path = "/subscriptions/e414a610-58fa-/resourceGroups/cc52d4f4-3e94-424/providers/Microsoft.NotificationHubs/namespaces/67189805-ff3a/checkNotificationHubAvailability"; - Requests[1889] = new DefaultHttpContext(); - Requests[1889].RequestServices = CreateServices(); - Requests[1889].Request.Method = "GET"; - Requests[1889].Request.Path = "/subscriptions/36119f1a-ba8f-/resourceGroups/325032dd-261b-481/providers/Microsoft.NotificationHubs/namespaces/fc27ea40-cb18/notificationHubs"; - Requests[1890] = new DefaultHttpContext(); - Requests[1890].RequestServices = CreateServices(); - Requests[1890].Request.Method = "GET"; - Requests[1890].Request.Path = "/subscriptions/649426d2-aa99-/resourcegroups/fdb59bbf-62ea-41f/providers/Microsoft.OperationalInsights/workspaces/bfa1f715-549c/dataSources"; - Requests[1891] = new DefaultHttpContext(); - Requests[1891].RequestServices = CreateServices(); - Requests[1891].Request.Method = "GET"; - Requests[1891].Request.Path = "/subscriptions/e37205b7-1fab-/resourcegroups/cbbb9e77-35e4-4f2/providers/Microsoft.OperationalInsights/workspaces/82c6c987-eb72/intelligencePacks"; - Requests[1892] = new DefaultHttpContext(); - Requests[1892].RequestServices = CreateServices(); - Requests[1892].Request.Method = "GET"; - Requests[1892].Request.Path = "/subscriptions/a96c2519-c65d-/resourcegroups/d80cb8dd-14a8-4f0/providers/Microsoft.OperationalInsights/workspaces/95995303-bf2e/linkedServices"; - Requests[1893] = new DefaultHttpContext(); - Requests[1893].RequestServices = CreateServices(); - Requests[1893].Request.Method = "GET"; - Requests[1893].Request.Path = "/subscriptions/08b4e49e-a6fe-/resourcegroups/53610fae-259e-460/providers/Microsoft.OperationalInsights/workspaces/69624efd-8cfc/managementGroups"; - Requests[1894] = new DefaultHttpContext(); - Requests[1894].RequestServices = CreateServices(); - Requests[1894].Request.Method = "POST"; - Requests[1894].Request.Path = "/subscriptions/837931f5-9878-/resourceGroups/2c0387c7-84ee-4c7/providers/Microsoft.OperationalInsights/workspaces/207b0293-1a56/purge"; - Requests[1895] = new DefaultHttpContext(); - Requests[1895].RequestServices = CreateServices(); - Requests[1895].Request.Method = "GET"; - Requests[1895].Request.Path = "/subscriptions/fd257c15-51d9-/resourcegroups/bfa9306f-dab3-4bd/providers/Microsoft.OperationalInsights/workspaces/2f3a97b6-9241/savedSearches"; - Requests[1896] = new DefaultHttpContext(); - Requests[1896].RequestServices = CreateServices(); - Requests[1896].Request.Method = "POST"; - Requests[1896].Request.Path = "/subscriptions/69d7404a-d6c0-/resourcegroups/776cdddb-1262-439/providers/Microsoft.OperationalInsights/workspaces/799773be-553d/schema"; - Requests[1897] = new DefaultHttpContext(); - Requests[1897].RequestServices = CreateServices(); - Requests[1897].Request.Method = "POST"; - Requests[1897].Request.Path = "/subscriptions/c71c183a-028b-/resourcegroups/a5c30854-8965-4f7/providers/Microsoft.OperationalInsights/workspaces/d938bb7b-a0cb/search"; - Requests[1898] = new DefaultHttpContext(); - Requests[1898].RequestServices = CreateServices(); - Requests[1898].Request.Method = "POST"; - Requests[1898].Request.Path = "/subscriptions/9c2958d3-eff1-/resourcegroups/0ef969cc-bd1e-474/providers/Microsoft.OperationalInsights/workspaces/b6f81d29-27e6/sharedKeys"; - Requests[1899] = new DefaultHttpContext(); - Requests[1899].RequestServices = CreateServices(); - Requests[1899].Request.Method = "GET"; - Requests[1899].Request.Path = "/subscriptions/6835ce91-b8c5-/resourcegroups/35831768-f167-4a5/providers/Microsoft.OperationalInsights/workspaces/e895bf74-3f9a/storageInsightConfigs"; - Requests[1900] = new DefaultHttpContext(); - Requests[1900].RequestServices = CreateServices(); - Requests[1900].Request.Method = "GET"; - Requests[1900].Request.Path = "/subscriptions/8ba83dde-a2e3-/resourcegroups/727f640c-dce6-448/providers/Microsoft.OperationalInsights/workspaces/c3939575-5e52/usages"; - Requests[1901] = new DefaultHttpContext(); - Requests[1901].RequestServices = CreateServices(); - Requests[1901].Request.Method = "POST"; - Requests[1901].Request.Path = "/subscriptions/fc1f10a0-17ba-/resourceGroups/a6c39364-6d5b-4ec/providers/Microsoft.PolicyInsights/policyEvents/4f2b72f1-ce53-4365-a/queryResults"; - Requests[1902] = new DefaultHttpContext(); - Requests[1902].RequestServices = CreateServices(); - Requests[1902].Request.Method = "POST"; - Requests[1902].Request.Path = "/subscriptions/3d1904b3-a4d6-/resourceGroups/b79e97c5-afc7-47c/providers/Microsoft.PolicyInsights/policyStates/e87ee7db-d520-4557-8/queryResults"; - Requests[1903] = new DefaultHttpContext(); - Requests[1903].RequestServices = CreateServices(); - Requests[1903].Request.Method = "POST"; - Requests[1903].Request.Path = "/subscriptions/deaa2672-32d5-/resourceGroups/275482c3-0598-412/providers/Microsoft.PolicyInsights/policyStates/683f6db7-cbb1-468a-8979-2bd/summarize"; - Requests[1904] = new DefaultHttpContext(); - Requests[1904].RequestServices = CreateServices(); - Requests[1904].Request.Method = "POST"; - Requests[1904].Request.Path = "/subscriptions/d3ac08cb-477b-/resourceGroups/7e559183-36d8-439/providers/Microsoft.PowerBI/workspaceCollections/257f1d85-5d91-47d0-93df/listKeys"; - Requests[1905] = new DefaultHttpContext(); - Requests[1905].RequestServices = CreateServices(); - Requests[1905].Request.Method = "POST"; - Requests[1905].Request.Path = "/subscriptions/94a17623-382b-/resourceGroups/04eb290e-6ef8-406/providers/Microsoft.PowerBI/workspaceCollections/a343a7c4-c263-450d-b22e/regenerateKey"; - Requests[1906] = new DefaultHttpContext(); - Requests[1906].RequestServices = CreateServices(); - Requests[1906].Request.Method = "GET"; - Requests[1906].Request.Path = "/subscriptions/048fd0ce-25fe-/resourceGroups/d72d674f-f9f3-4de/providers/Microsoft.PowerBI/workspaceCollections/b91fb0a0-681f-4ca7-865a/workspaces"; - Requests[1907] = new DefaultHttpContext(); - Requests[1907].RequestServices = CreateServices(); - Requests[1907].Request.Method = "POST"; - Requests[1907].Request.Path = "/subscriptions/acf1580b-26a6-/resourceGroups/e3309b5a-f8f0-46f/providers/Microsoft.PowerBIDedicated/capacities/6253bf38-5cd0-4ef2-9d/resume"; - Requests[1908] = new DefaultHttpContext(); - Requests[1908].RequestServices = CreateServices(); - Requests[1908].Request.Method = "GET"; - Requests[1908].Request.Path = "/subscriptions/fcf9802f-8688-/resourceGroups/de2c6d34-7844-462/providers/Microsoft.PowerBIDedicated/capacities/409d8cfa-2cf7-4da5-a2/skus"; - Requests[1909] = new DefaultHttpContext(); - Requests[1909].RequestServices = CreateServices(); - Requests[1909].Request.Method = "POST"; - Requests[1909].Request.Path = "/subscriptions/7c3df1da-2016-/resourceGroups/d8555441-8d98-4bc/providers/Microsoft.PowerBIDedicated/capacities/59a6ded7-537c-41fd-82/suspend"; - Requests[1910] = new DefaultHttpContext(); - Requests[1910].RequestServices = CreateServices(); - Requests[1910].Request.Method = "GET"; - Requests[1910].Request.Path = "/Subscriptions/18f781ca-c525-/resourceGroups/550d3796-bce1-41e/providers/Microsoft.RecoveryServices/vaults/66dcf507-3c5/replicationAlertSettings"; - Requests[1911] = new DefaultHttpContext(); - Requests[1911].RequestServices = CreateServices(); - Requests[1911].Request.Method = "GET"; - Requests[1911].Request.Path = "/Subscriptions/32f2e7ef-5fef-/resourceGroups/32e8e2fa-4f85-41d/providers/Microsoft.RecoveryServices/vaults/645a9958-abe/replicationEvents"; - Requests[1912] = new DefaultHttpContext(); - Requests[1912].RequestServices = CreateServices(); - Requests[1912].Request.Method = "GET"; - Requests[1912].Request.Path = "/Subscriptions/40d97085-567c-/resourceGroups/d279f0c0-1d45-421/providers/Microsoft.RecoveryServices/vaults/9b931578-859/replicationFabrics"; - Requests[1913] = new DefaultHttpContext(); - Requests[1913].RequestServices = CreateServices(); - Requests[1913].Request.Method = "GET"; - Requests[1913].Request.Path = "/Subscriptions/3a5ab734-f17e-/resourceGroups/d5c34d97-cbc2-4e4/providers/Microsoft.RecoveryServices/vaults/da7a79ce-cd1/replicationJobs"; - Requests[1914] = new DefaultHttpContext(); - Requests[1914].RequestServices = CreateServices(); - Requests[1914].Request.Method = "GET"; - Requests[1914].Request.Path = "/Subscriptions/f5558a6b-09d2-/resourceGroups/52353849-c241-40d/providers/Microsoft.RecoveryServices/vaults/a280c920-187/replicationNetworkMappings"; - Requests[1915] = new DefaultHttpContext(); - Requests[1915].RequestServices = CreateServices(); - Requests[1915].Request.Method = "GET"; - Requests[1915].Request.Path = "/Subscriptions/9fc245df-5e82-/resourceGroups/24b2b7a9-272f-415/providers/Microsoft.RecoveryServices/vaults/54c8f184-09f/replicationNetworks"; - Requests[1916] = new DefaultHttpContext(); - Requests[1916].RequestServices = CreateServices(); - Requests[1916].Request.Method = "GET"; - Requests[1916].Request.Path = "/Subscriptions/97e8d2b2-5f0f-/resourceGroups/cb77f9ce-aadb-4b7/providers/Microsoft.RecoveryServices/vaults/a9676e52-ce2/replicationPolicies"; - Requests[1917] = new DefaultHttpContext(); - Requests[1917].RequestServices = CreateServices(); - Requests[1917].Request.Method = "GET"; - Requests[1917].Request.Path = "/Subscriptions/97fcb6c2-92f1-/resourceGroups/edec178c-173c-49f/providers/Microsoft.RecoveryServices/vaults/47bbf289-256/replicationProtectedItems"; - Requests[1918] = new DefaultHttpContext(); - Requests[1918].RequestServices = CreateServices(); - Requests[1918].Request.Method = "GET"; - Requests[1918].Request.Path = "/Subscriptions/f59181d5-a09d-/resourceGroups/d1bc3ed9-379a-495/providers/Microsoft.RecoveryServices/vaults/35ff5535-6ee/replicationProtectionContainerMappings"; - Requests[1919] = new DefaultHttpContext(); - Requests[1919].RequestServices = CreateServices(); - Requests[1919].Request.Method = "GET"; - Requests[1919].Request.Path = "/Subscriptions/8189ef87-f7c6-/resourceGroups/2b7161f3-43df-42f/providers/Microsoft.RecoveryServices/vaults/cec2f3aa-c3f/replicationProtectionContainers"; - Requests[1920] = new DefaultHttpContext(); - Requests[1920].RequestServices = CreateServices(); - Requests[1920].Request.Method = "GET"; - Requests[1920].Request.Path = "/Subscriptions/462072e7-4e6a-/resourceGroups/afb883e7-4ba2-4c9/providers/Microsoft.RecoveryServices/vaults/24ba0504-e61/replicationRecoveryPlans"; - Requests[1921] = new DefaultHttpContext(); - Requests[1921].RequestServices = CreateServices(); - Requests[1921].Request.Method = "GET"; - Requests[1921].Request.Path = "/Subscriptions/569f4fe3-75a6-/resourceGroups/1a6cc3af-eeee-4c5/providers/Microsoft.RecoveryServices/vaults/62dd9705-c0e/replicationRecoveryServicesProviders"; - Requests[1922] = new DefaultHttpContext(); - Requests[1922].RequestServices = CreateServices(); - Requests[1922].Request.Method = "GET"; - Requests[1922].Request.Path = "/Subscriptions/66599e71-0119-/resourceGroups/462c31f8-f459-455/providers/Microsoft.RecoveryServices/vaults/eed8f761-5e2/replicationStorageClassificationMappings"; - Requests[1923] = new DefaultHttpContext(); - Requests[1923].RequestServices = CreateServices(); - Requests[1923].Request.Method = "GET"; - Requests[1923].Request.Path = "/Subscriptions/7d357ce4-4a18-/resourceGroups/db1d19f4-1753-42f/providers/Microsoft.RecoveryServices/vaults/35296352-813/replicationStorageClassifications"; - Requests[1924] = new DefaultHttpContext(); - Requests[1924].RequestServices = CreateServices(); - Requests[1924].Request.Method = "GET"; - Requests[1924].Request.Path = "/Subscriptions/55a99d9d-8d0c-/resourceGroups/850ed33b-06de-4cf/providers/Microsoft.RecoveryServices/vaults/ce7a22a3-42e/replicationVaultHealth"; - Requests[1925] = new DefaultHttpContext(); - Requests[1925].RequestServices = CreateServices(); - Requests[1925].Request.Method = "GET"; - Requests[1925].Request.Path = "/Subscriptions/d22d24c1-4ca4-/resourceGroups/fe35bece-ca41-43d/providers/Microsoft.RecoveryServices/vaults/fc1128c8-4b9/replicationvCenters"; - Requests[1926] = new DefaultHttpContext(); - Requests[1926].RequestServices = CreateServices(); - Requests[1926].Request.Method = "GET"; - Requests[1926].Request.Path = "/Subscriptions/b81b33c2-8cd2-/resourceGroups/04236ecb-d3fc-4ed/providers/Microsoft.RecoveryServices/vaults/2a61c0a7-/backupEngines"; - Requests[1927] = new DefaultHttpContext(); - Requests[1927].RequestServices = CreateServices(); - Requests[1927].Request.Method = "GET"; - Requests[1927].Request.Path = "/Subscriptions/74a00c97-6837-/resourceGroups/0e8895b8-25f3-488/providers/Microsoft.RecoveryServices/vaults/564e37b3-/backupJobs"; - Requests[1928] = new DefaultHttpContext(); - Requests[1928].RequestServices = CreateServices(); - Requests[1928].Request.Method = "POST"; - Requests[1928].Request.Path = "/Subscriptions/a584f54d-c8bb-/resourceGroups/cedfe797-30f0-4e3/providers/Microsoft.RecoveryServices/vaults/804b03d1-/backupJobsExport"; - Requests[1929] = new DefaultHttpContext(); - Requests[1929].RequestServices = CreateServices(); - Requests[1929].Request.Method = "GET"; - Requests[1929].Request.Path = "/Subscriptions/4709bdf4-21de-/resourceGroups/1241514b-77c5-4f1/providers/Microsoft.RecoveryServices/vaults/809a5984-/backupPolicies"; - Requests[1930] = new DefaultHttpContext(); - Requests[1930].RequestServices = CreateServices(); - Requests[1930].Request.Method = "GET"; - Requests[1930].Request.Path = "/Subscriptions/1a9f7b66-7546-/resourceGroups/4b5e7f64-044c-489/providers/Microsoft.RecoveryServices/vaults/3ce3a6db-/backupProtectableItems"; - Requests[1931] = new DefaultHttpContext(); - Requests[1931].RequestServices = CreateServices(); - Requests[1931].Request.Method = "GET"; - Requests[1931].Request.Path = "/Subscriptions/3f71e2fe-d3a8-/resourceGroups/6dbc1994-fbb2-430/providers/Microsoft.RecoveryServices/vaults/97752310-/backupProtectedItems"; - Requests[1932] = new DefaultHttpContext(); - Requests[1932].RequestServices = CreateServices(); - Requests[1932].Request.Method = "GET"; - Requests[1932].Request.Path = "/Subscriptions/9ed6819f-3b26-/resourceGroups/0d211ae2-ae92-4ec/providers/Microsoft.RecoveryServices/vaults/cc6a772d-/backupProtectionContainers"; - Requests[1933] = new DefaultHttpContext(); - Requests[1933].RequestServices = CreateServices(); - Requests[1933].Request.Method = "POST"; - Requests[1933].Request.Path = "/Subscriptions/1003540a-24a8-/resourceGroups/8607379d-6fe1-432/providers/Microsoft.RecoveryServices/vaults/134b0430-/backupSecurityPIN"; - Requests[1934] = new DefaultHttpContext(); - Requests[1934].RequestServices = CreateServices(); - Requests[1934].Request.Method = "GET"; - Requests[1934].Request.Path = "/Subscriptions/0d6585b6-c417-/resourceGroups/b57939f9-d710-4c3/providers/Microsoft.RecoveryServices/vaults/929d1b23-/backupUsageSummaries"; - Requests[1935] = new DefaultHttpContext(); - Requests[1935].RequestServices = CreateServices(); - Requests[1935].Request.Method = "GET"; - Requests[1935].Request.Path = "/Subscriptions/8629411e-ae76-/resourceGroups/f6ccffe3-57d6-425/providers/Microsoft.RecoveryServices/vaults/8ecd2dc6-/replicationUsages"; - Requests[1936] = new DefaultHttpContext(); - Requests[1936].RequestServices = CreateServices(); - Requests[1936].Request.Method = "GET"; - Requests[1936].Request.Path = "/Subscriptions/7af96ee3-d4c6-/resourceGroups/405b95b1-ecc5-496/providers/Microsoft.RecoveryServices/vaults/01f6fd7d-/usages"; - Requests[1937] = new DefaultHttpContext(); - Requests[1937].RequestServices = CreateServices(); - Requests[1937].Request.Method = "GET"; - Requests[1937].Request.Path = "/subscriptions/980cffda-5ae6-/resourceGroups/581721cf-0307-483/providers/Microsoft.Relay/namespaces/d4dba7e6-6580/authorizationRules"; - Requests[1938] = new DefaultHttpContext(); - Requests[1938].RequestServices = CreateServices(); - Requests[1938].Request.Method = "GET"; - Requests[1938].Request.Path = "/subscriptions/17459d36-76a2-/resourceGroups/ba66c2c7-9145-4d8/providers/Microsoft.Relay/namespaces/2fa38cef-6ab9/hybridConnections"; - Requests[1939] = new DefaultHttpContext(); - Requests[1939].RequestServices = CreateServices(); - Requests[1939].Request.Method = "GET"; - Requests[1939].Request.Path = "/subscriptions/93f56450-399c-/resourceGroups/1228cc43-93e0-446/providers/Microsoft.Relay/namespaces/8427cf03-9408/wcfRelays"; - Requests[1940] = new DefaultHttpContext(); - Requests[1940].RequestServices = CreateServices(); - Requests[1940].Request.Method = "POST"; - Requests[1940].Request.Path = "/subscriptions/7b43867f-85b7-/resourcegroups/1757ccba-950a-440/providers/Microsoft.Resources/deployments/c621e7ed-075d-/cancel"; - Requests[1941] = new DefaultHttpContext(); - Requests[1941].RequestServices = CreateServices(); - Requests[1941].Request.Method = "POST"; - Requests[1941].Request.Path = "/subscriptions/cea4ec20-0002-/resourcegroups/150dbe23-00c6-472/providers/Microsoft.Resources/deployments/73d10056-48b0-/exportTemplate"; - Requests[1942] = new DefaultHttpContext(); - Requests[1942].RequestServices = CreateServices(); - Requests[1942].Request.Method = "POST"; - Requests[1942].Request.Path = "/subscriptions/a1eb8b18-5db1-/resourcegroups/c241ad35-6810-4e7/providers/Microsoft.Resources/deployments/e1bc3783-432a-/validate"; - Requests[1943] = new DefaultHttpContext(); - Requests[1943].RequestServices = CreateServices(); - Requests[1943].Request.Method = "POST"; - Requests[1943].Request.Path = "/subscriptions/42a1f09b-1a89-/resourceGroups/8b05b02a-bab8-47a/providers/Microsoft.Scheduler/jobCollections/5d35fb6b-bf7a-4d3/disable"; - Requests[1944] = new DefaultHttpContext(); - Requests[1944].RequestServices = CreateServices(); - Requests[1944].Request.Method = "POST"; - Requests[1944].Request.Path = "/subscriptions/dd82e39b-8e5c-/resourceGroups/47b5e910-2d95-425/providers/Microsoft.Scheduler/jobCollections/5f3e2777-1911-41f/enable"; - Requests[1945] = new DefaultHttpContext(); - Requests[1945].RequestServices = CreateServices(); - Requests[1945].Request.Method = "GET"; - Requests[1945].Request.Path = "/subscriptions/e9421aea-0f6b-/resourceGroups/aab540dc-ac4d-474/providers/Microsoft.Scheduler/jobCollections/27ae310f-be29-494/jobs"; - Requests[1946] = new DefaultHttpContext(); - Requests[1946].RequestServices = CreateServices(); - Requests[1946].Request.Method = "POST"; - Requests[1946].Request.Path = "/subscriptions/feea945e-aacb-/resourceGroups/4abf1285-d4ec-4ff/providers/Microsoft.Search/searchServices/3c6ae2a2-f21e-4e8/listAdminKeys"; - Requests[1947] = new DefaultHttpContext(); - Requests[1947].RequestServices = CreateServices(); - Requests[1947].Request.Method = "GET"; - Requests[1947].Request.Path = "/subscriptions/0f31105d-c3dd-/resourceGroups/089df606-423f-482/providers/Microsoft.Search/searchServices/2ab31df5-0113-435/listQueryKeys"; - Requests[1948] = new DefaultHttpContext(); - Requests[1948].RequestServices = CreateServices(); - Requests[1948].Request.Method = "GET"; - Requests[1948].Request.Path = "/subscriptions/f4698aff-39ea-/resourceGroups/df2fec72-c585-466/providers/Microsoft.Security/locations/a7a59ef7-cd/alerts"; - Requests[1949] = new DefaultHttpContext(); - Requests[1949].RequestServices = CreateServices(); - Requests[1949].Request.Method = "GET"; - Requests[1949].Request.Path = "/subscriptions/fde28efb-31b0-/resourceGroups/6a05c277-6533-4be/providers/Microsoft.Security/locations/c0066ad3-4a/jitNetworkAccessPolicies"; - Requests[1950] = new DefaultHttpContext(); - Requests[1950].RequestServices = CreateServices(); - Requests[1950].Request.Method = "GET"; - Requests[1950].Request.Path = "/subscriptions/ed999245-1e4a-/resourceGroups/eaed7cb9-d28f-4c5/providers/Microsoft.Security/locations/0f41168f-a0/tasks"; - Requests[1951] = new DefaultHttpContext(); - Requests[1951].RequestServices = CreateServices(); - Requests[1951].Request.Method = "POST"; - Requests[1951].Request.Path = "/subscriptions/32af5639-7d28-/resourceGroups/664bd947-717f-456/providers/Microsoft.ServerManagement/gateways/0ae9b270-1e/profile"; - Requests[1952] = new DefaultHttpContext(); - Requests[1952].RequestServices = CreateServices(); - Requests[1952].Request.Method = "POST"; - Requests[1952].Request.Path = "/subscriptions/10c61351-aa61-/resourceGroups/3de6c8b4-7e42-46f/providers/Microsoft.ServerManagement/gateways/06a02e07-96/regenerateprofile"; - Requests[1953] = new DefaultHttpContext(); - Requests[1953].RequestServices = CreateServices(); - Requests[1953].Request.Method = "POST"; - Requests[1953].Request.Path = "/subscriptions/c0089034-45ed-/resourceGroups/bfa7de97-4cf9-402/providers/Microsoft.ServerManagement/gateways/4fb0df26-8e/upgradetolatest"; - Requests[1954] = new DefaultHttpContext(); - Requests[1954].RequestServices = CreateServices(); - Requests[1954].Request.Method = "GET"; - Requests[1954].Request.Path = "/subscriptions/b803bcce-f030-/resourceGroups/515b379d-c465-49c/providers/Microsoft.ServiceBus/namespaces/4485a612-c9b8/AuthorizationRules"; - Requests[1955] = new DefaultHttpContext(); - Requests[1955].RequestServices = CreateServices(); - Requests[1955].Request.Method = "GET"; - Requests[1955].Request.Path = "/subscriptions/72415ae0-3a00-/resourceGroups/d62699b8-c981-45d/providers/Microsoft.ServiceBus/namespaces/40cddda1-8945/disasterRecoveryConfigs"; - Requests[1956] = new DefaultHttpContext(); - Requests[1956].RequestServices = CreateServices(); - Requests[1956].Request.Method = "GET"; - Requests[1956].Request.Path = "/subscriptions/46d9261c-f273-/resourceGroups/86b86c14-3550-4b4/providers/Microsoft.ServiceBus/namespaces/b6c84343-51ff/eventhubs"; - Requests[1957] = new DefaultHttpContext(); - Requests[1957].RequestServices = CreateServices(); - Requests[1957].Request.Method = "GET"; - Requests[1957].Request.Path = "/subscriptions/32aeb101-6b4e-/resourceGroups/5316d617-1733-4f6/providers/Microsoft.ServiceBus/namespaces/e33f8a14-6045/messagingplan"; - Requests[1958] = new DefaultHttpContext(); - Requests[1958].RequestServices = CreateServices(); - Requests[1958].Request.Method = "GET"; - Requests[1958].Request.Path = "/subscriptions/c2855c22-b09a-/resourceGroups/d8689a09-1531-4b6/providers/Microsoft.ServiceBus/namespaces/caa402b6-c770/migrationConfigurations"; - Requests[1959] = new DefaultHttpContext(); - Requests[1959].RequestServices = CreateServices(); - Requests[1959].Request.Method = "GET"; - Requests[1959].Request.Path = "/subscriptions/76af5ed4-5ae3-/resourceGroups/d559d666-8c9d-47c/providers/Microsoft.ServiceBus/namespaces/c8345f41-e303/queues"; - Requests[1960] = new DefaultHttpContext(); - Requests[1960].RequestServices = CreateServices(); - Requests[1960].Request.Method = "GET"; - Requests[1960].Request.Path = "/subscriptions/b34d9952-c569-/resourceGroups/eceefcbb-59b9-421/providers/Microsoft.ServiceBus/namespaces/3d96810a-2598/topics"; - Requests[1961] = new DefaultHttpContext(); - Requests[1961].RequestServices = CreateServices(); - Requests[1961].Request.Method = "GET"; - Requests[1961].Request.Path = "/subscriptions/ddcbfae9-d247-/resourceGroups/12032e8e-b317-483/providers/Microsoft.ServiceFabric/clusters/d9fda65c-a9/applications"; - Requests[1962] = new DefaultHttpContext(); - Requests[1962].RequestServices = CreateServices(); - Requests[1962].Request.Method = "GET"; - Requests[1962].Request.Path = "/subscriptions/0b7aa011-c857-/resourceGroups/e8f40e00-f343-435/providers/Microsoft.ServiceFabric/clusters/54df23ae-3d/applicationTypes"; - Requests[1963] = new DefaultHttpContext(); - Requests[1963].RequestServices = CreateServices(); - Requests[1963].Request.Method = "POST"; - Requests[1963].Request.Path = "/subscriptions/54bfa796-40cb-/resourceGroups/c80ccb88-f9c5-4d3/providers/Microsoft.SignalRService/SignalR/8f97b7a2-c92/listKeys"; - Requests[1964] = new DefaultHttpContext(); - Requests[1964].RequestServices = CreateServices(); - Requests[1964].Request.Method = "POST"; - Requests[1964].Request.Path = "/subscriptions/26f33900-25a0-/resourceGroups/7d3d98b5-8b9a-42c/providers/Microsoft.SignalRService/SignalR/f7fe6f19-c34/regenerateKey"; - Requests[1965] = new DefaultHttpContext(); - Requests[1965].RequestServices = CreateServices(); - Requests[1965].Request.Method = "GET"; - Requests[1965].Request.Path = "/subscriptions/e40340ea-4702-/resourceGroups/1ff112c5-269a-4aa/providers/Microsoft.Sql/locations/3b4f5c0d-535/instanceFailoverGroups"; - Requests[1966] = new DefaultHttpContext(); - Requests[1966].RequestServices = CreateServices(); - Requests[1966].Request.Method = "GET"; - Requests[1966].Request.Path = "/subscriptions/53a6dccc-1bf0-/resourceGroups/f1ef1172-db63-497/providers/Microsoft.Sql/managedInstances/4a129714-e4fe-4f94-/databases"; - Requests[1967] = new DefaultHttpContext(); - Requests[1967].RequestServices = CreateServices(); - Requests[1967].Request.Method = "GET"; - Requests[1967].Request.Path = "/subscriptions/e13c3263-0c8e-/resourceGroups/23d3c938-2b51-440/providers/Microsoft.Sql/servers/078630e5-6/administrators"; - Requests[1968] = new DefaultHttpContext(); - Requests[1968].RequestServices = CreateServices(); - Requests[1968].Request.Method = "GET"; - Requests[1968].Request.Path = "/subscriptions/2ccfd1b4-9ef0-/resourceGroups/f20bd80f-32b3-4b4/providers/Microsoft.Sql/servers/eec787f7-8/advisors"; - Requests[1969] = new DefaultHttpContext(); - Requests[1969].RequestServices = CreateServices(); - Requests[1969].Request.Method = "GET"; - Requests[1969].Request.Path = "/subscriptions/8afee96b-4b08-/resourceGroups/2231e3ae-9d73-478/providers/Microsoft.Sql/servers/9962cb8e-b/auditingPolicies"; - Requests[1970] = new DefaultHttpContext(); - Requests[1970].RequestServices = CreateServices(); - Requests[1970].Request.Method = "GET"; - Requests[1970].Request.Path = "/subscriptions/af6d777b-e1fa-/resourceGroups/6e2e5814-c385-495/providers/Microsoft.Sql/servers/ecd3b0b4-1/backupLongTermRetentionVaults"; - Requests[1971] = new DefaultHttpContext(); - Requests[1971].RequestServices = CreateServices(); - Requests[1971].Request.Method = "GET"; - Requests[1971].Request.Path = "/subscriptions/4cee87f2-aab0-/resourceGroups/3253ae97-671a-47d/providers/Microsoft.Sql/servers/75d22926-2/communicationLinks"; - Requests[1972] = new DefaultHttpContext(); - Requests[1972].RequestServices = CreateServices(); - Requests[1972].Request.Method = "GET"; - Requests[1972].Request.Path = "/subscriptions/3c2d67b3-c753-/resourceGroups/b2dc3039-3b22-4a1/providers/Microsoft.Sql/servers/81c3a2d4-7/databases"; - Requests[1973] = new DefaultHttpContext(); - Requests[1973].RequestServices = CreateServices(); - Requests[1973].Request.Method = "GET"; - Requests[1973].Request.Path = "/subscriptions/9be558a9-aa89-/resourceGroups/fbe5e564-a373-482/providers/Microsoft.Sql/servers/6aa894ea-d/disasterRecoveryConfiguration"; - Requests[1974] = new DefaultHttpContext(); - Requests[1974].RequestServices = CreateServices(); - Requests[1974].Request.Method = "GET"; - Requests[1974].Request.Path = "/subscriptions/2603e94d-0b4a-/resourceGroups/d44b5e1f-2dfb-487/providers/Microsoft.Sql/servers/c629e7c0-6/dnsAliases"; - Requests[1975] = new DefaultHttpContext(); - Requests[1975].RequestServices = CreateServices(); - Requests[1975].Request.Method = "GET"; - Requests[1975].Request.Path = "/subscriptions/40baf910-023d-/resourceGroups/c54f6b1e-f02d-41a/providers/Microsoft.Sql/servers/342529b0-a/elasticPools"; - Requests[1976] = new DefaultHttpContext(); - Requests[1976].RequestServices = CreateServices(); - Requests[1976].Request.Method = "GET"; - Requests[1976].Request.Path = "/subscriptions/33fd4b9a-798c-/resourceGroups/58afd50d-630c-473/providers/Microsoft.Sql/servers/c28f894a-2/encryptionProtector"; - Requests[1977] = new DefaultHttpContext(); - Requests[1977].RequestServices = CreateServices(); - Requests[1977].Request.Method = "GET"; - Requests[1977].Request.Path = "/subscriptions/4e5694e1-e3d0-/resourceGroups/445cd04d-f39a-40f/providers/Microsoft.Sql/servers/c6b0f0a1-c/failoverGroups"; - Requests[1978] = new DefaultHttpContext(); - Requests[1978].RequestServices = CreateServices(); - Requests[1978].Request.Method = "GET"; - Requests[1978].Request.Path = "/subscriptions/c422216d-8bcd-/resourceGroups/56949c0c-b289-471/providers/Microsoft.Sql/servers/d353f503-e/firewallRules"; - Requests[1979] = new DefaultHttpContext(); - Requests[1979].RequestServices = CreateServices(); - Requests[1979].Request.Method = "POST"; - Requests[1979].Request.Path = "/subscriptions/587e58db-e15c-/resourceGroups/a56739e3-0489-411/providers/Microsoft.Sql/servers/f101e9c4-b/import"; - Requests[1980] = new DefaultHttpContext(); - Requests[1980].RequestServices = CreateServices(); - Requests[1980].Request.Method = "GET"; - Requests[1980].Request.Path = "/subscriptions/6dd839c4-c933-/resourceGroups/75423539-5570-4f0/providers/Microsoft.Sql/servers/f07191ef-1/jobAgents"; - Requests[1981] = new DefaultHttpContext(); - Requests[1981].RequestServices = CreateServices(); - Requests[1981].Request.Method = "GET"; - Requests[1981].Request.Path = "/subscriptions/bbd769a3-9d3b-/resourceGroups/09b909af-4c7a-47d/providers/Microsoft.Sql/servers/49abdf4d-a/keys"; - Requests[1982] = new DefaultHttpContext(); - Requests[1982].RequestServices = CreateServices(); - Requests[1982].Request.Method = "GET"; - Requests[1982].Request.Path = "/subscriptions/d1c4f6b9-45df-/resourceGroups/be2c5a05-4bfc-428/providers/Microsoft.Sql/servers/4eae23cb-5/recommendedElasticPools"; - Requests[1983] = new DefaultHttpContext(); - Requests[1983].RequestServices = CreateServices(); - Requests[1983].Request.Method = "GET"; - Requests[1983].Request.Path = "/subscriptions/c68e2307-336c-/resourceGroups/9bb70a49-380f-432/providers/Microsoft.Sql/servers/ad9e3951-4/recoverableDatabases"; - Requests[1984] = new DefaultHttpContext(); - Requests[1984].RequestServices = CreateServices(); - Requests[1984].Request.Method = "GET"; - Requests[1984].Request.Path = "/subscriptions/8b61f891-e7d6-/resourceGroups/5ac76720-8f20-419/providers/Microsoft.Sql/servers/9b4ab6d6-8/restorableDroppedDatabases"; - Requests[1985] = new DefaultHttpContext(); - Requests[1985].RequestServices = CreateServices(); - Requests[1985].Request.Method = "GET"; - Requests[1985].Request.Path = "/subscriptions/a636a4dd-c1ff-/resourceGroups/754d6429-8912-453/providers/Microsoft.Sql/servers/409f8710-1/serviceObjectives"; - Requests[1986] = new DefaultHttpContext(); - Requests[1986].RequestServices = CreateServices(); - Requests[1986].Request.Method = "GET"; - Requests[1986].Request.Path = "/subscriptions/bee17475-4490-/resourceGroups/df853377-bef2-479/providers/Microsoft.Sql/servers/c8628b39-b/syncAgents"; - Requests[1987] = new DefaultHttpContext(); - Requests[1987].RequestServices = CreateServices(); - Requests[1987].Request.Method = "GET"; - Requests[1987].Request.Path = "/subscriptions/2fdb39f7-a1a9-/resourceGroups/51aba79e-3c6f-44f/providers/Microsoft.Sql/servers/0adbc94f-a/usages"; - Requests[1988] = new DefaultHttpContext(); - Requests[1988].RequestServices = CreateServices(); - Requests[1988].Request.Method = "GET"; - Requests[1988].Request.Path = "/subscriptions/0beb17f7-e3bf-/resourceGroups/3bf672b3-4860-41d/providers/Microsoft.Sql/servers/d383e4b4-5/virtualNetworkRules"; - Requests[1989] = new DefaultHttpContext(); - Requests[1989].RequestServices = CreateServices(); - Requests[1989].Request.Method = "GET"; - Requests[1989].Request.Path = "/subscriptions/b766be27-70d2-/resourcegroups/8a31f1e4-4af9-422/providers/Microsoft.Storage.Admin/farms/f3b104/acquisitions"; - Requests[1990] = new DefaultHttpContext(); - Requests[1990].RequestServices = CreateServices(); - Requests[1990].Request.Method = "GET"; - Requests[1990].Request.Path = "/subscriptions/f5b3916f-cf4a-/resourcegroups/1ee7bd3a-503d-406/providers/Microsoft.Storage.Admin/farms/aefb07/metricdefinitions"; - Requests[1991] = new DefaultHttpContext(); - Requests[1991].RequestServices = CreateServices(); - Requests[1991].Request.Method = "GET"; - Requests[1991].Request.Path = "/subscriptions/0b70448b-8b60-/resourcegroups/93adb5c9-e05d-46e/providers/Microsoft.Storage.Admin/farms/765e5d/metrics"; - Requests[1992] = new DefaultHttpContext(); - Requests[1992].RequestServices = CreateServices(); - Requests[1992].Request.Method = "POST"; - Requests[1992].Request.Path = "/subscriptions/ad2b4e3d-5ed4-/resourcegroups/62d7e442-9af0-40b/providers/Microsoft.Storage.Admin/farms/01d1d2/ondemandgc"; - Requests[1993] = new DefaultHttpContext(); - Requests[1993].RequestServices = CreateServices(); - Requests[1993].Request.Method = "GET"; - Requests[1993].Request.Path = "/subscriptions/470e0d21-7ed6-/resourcegroups/b53126e8-cee0-485/providers/Microsoft.Storage.Admin/farms/1b0884/shares"; - Requests[1994] = new DefaultHttpContext(); - Requests[1994].RequestServices = CreateServices(); - Requests[1994].Request.Method = "GET"; - Requests[1994].Request.Path = "/subscriptions/8f339795-22da-/resourcegroups/d288ac4c-7fd0-4e3/providers/Microsoft.Storage.Admin/farms/f8f593/storageaccounts"; - Requests[1995] = new DefaultHttpContext(); - Requests[1995].RequestServices = CreateServices(); - Requests[1995].Request.Method = "POST"; - Requests[1995].Request.Path = "/subscriptions/8d3ca180-e5ae-/resourceGroups/d8bf8929-ad8a-440/providers/Microsoft.Storage/storageAccounts/d4d7c018-f2/ListAccountSas"; - Requests[1996] = new DefaultHttpContext(); - Requests[1996].RequestServices = CreateServices(); - Requests[1996].Request.Method = "POST"; - Requests[1996].Request.Path = "/subscriptions/f1b042e0-9f16-/resourceGroups/5ba7a2d0-4a1f-426/providers/Microsoft.Storage/storageAccounts/43c187a6-67/listKeys"; - Requests[1997] = new DefaultHttpContext(); - Requests[1997].RequestServices = CreateServices(); - Requests[1997].Request.Method = "POST"; - Requests[1997].Request.Path = "/subscriptions/6c1c146d-252a-/resourceGroups/8efeba6e-5631-46a/providers/Microsoft.Storage/storageAccounts/fd78e376-34/ListServiceSas"; - Requests[1998] = new DefaultHttpContext(); - Requests[1998].RequestServices = CreateServices(); - Requests[1998].Request.Method = "POST"; - Requests[1998].Request.Path = "/subscriptions/08feb004-84f0-/resourceGroups/6afc733b-2783-4dd/providers/Microsoft.Storage/storageAccounts/f5ab2d04-93/regenerateKey"; - Requests[1999] = new DefaultHttpContext(); - Requests[1999].RequestServices = CreateServices(); - Requests[1999].Request.Method = "GET"; - Requests[1999].Request.Path = "/subscriptions/b16d2683-7e59-/resourceGroups/f5b53673-1d87-4bf/providers/Microsoft.StorSimple/managers/656eafb0-16/accessControlRecords"; - Requests[2000] = new DefaultHttpContext(); - Requests[2000].RequestServices = CreateServices(); - Requests[2000].Request.Method = "GET"; - Requests[2000].Request.Path = "/subscriptions/ba80f4bb-4b6a-/resourceGroups/c40132ff-0615-408/providers/Microsoft.StorSimple/managers/740259a1-b4/alerts"; - Requests[2001] = new DefaultHttpContext(); - Requests[2001].RequestServices = CreateServices(); - Requests[2001].Request.Method = "GET"; - Requests[2001].Request.Path = "/subscriptions/8d98090e-fd41-/resourceGroups/90847f99-818d-4aa/providers/Microsoft.StorSimple/managers/077f3c3c-2a/bandwidthSettings"; - Requests[2002] = new DefaultHttpContext(); - Requests[2002].RequestServices = CreateServices(); - Requests[2002].Request.Method = "POST"; - Requests[2002].Request.Path = "/subscriptions/b4379429-eec7-/resourceGroups/b0edb442-80aa-413/providers/Microsoft.StorSimple/managers/94eace56-a2/clearAlerts"; - Requests[2003] = new DefaultHttpContext(); - Requests[2003].RequestServices = CreateServices(); - Requests[2003].Request.Method = "GET"; - Requests[2003].Request.Path = "/subscriptions/40add273-9ef9-/resourceGroups/ceb40004-77fb-41f/providers/Microsoft.StorSimple/managers/32127f21-05/cloudApplianceConfigurations"; - Requests[2004] = new DefaultHttpContext(); - Requests[2004].RequestServices = CreateServices(); - Requests[2004].Request.Method = "POST"; - Requests[2004].Request.Path = "/subscriptions/6ec06c3c-922b-/resourceGroups/243ba88d-681a-41f/providers/Microsoft.StorSimple/managers/fdd72f65-c0/configureDevice"; - Requests[2005] = new DefaultHttpContext(); - Requests[2005].RequestServices = CreateServices(); - Requests[2005].Request.Method = "GET"; - Requests[2005].Request.Path = "/subscriptions/c8eb00bf-ca13-/resourceGroups/720528c8-5d07-4d0/providers/Microsoft.StorSimple/managers/569a28ce-22/devices"; - Requests[2006] = new DefaultHttpContext(); - Requests[2006].RequestServices = CreateServices(); - Requests[2006].Request.Method = "GET"; - Requests[2006].Request.Path = "/subscriptions/895dcb6e-fa15-/resourceGroups/e4902b88-76da-41a/providers/Microsoft.StorSimple/managers/94ee110b-1b/features"; - Requests[2007] = new DefaultHttpContext(); - Requests[2007].RequestServices = CreateServices(); - Requests[2007].Request.Method = "GET"; - Requests[2007].Request.Path = "/subscriptions/836a8494-5b8f-/resourceGroups/4f00473f-9fa0-477/providers/Microsoft.StorSimple/managers/58439a25-70/jobs"; - Requests[2008] = new DefaultHttpContext(); - Requests[2008].RequestServices = CreateServices(); - Requests[2008].Request.Method = "POST"; - Requests[2008].Request.Path = "/subscriptions/b2bcf92b-38e2-/resourceGroups/72ab8b4d-b580-46e/providers/Microsoft.StorSimple/managers/ea25d0cd-11/listActivationKey"; - Requests[2009] = new DefaultHttpContext(); - Requests[2009].RequestServices = CreateServices(); - Requests[2009].Request.Method = "POST"; - Requests[2009].Request.Path = "/subscriptions/f1004056-44e4-/resourceGroups/245d69ab-7978-40f/providers/Microsoft.StorSimple/managers/82eacea0-4b/listPublicEncryptionKey"; - Requests[2010] = new DefaultHttpContext(); - Requests[2010].RequestServices = CreateServices(); - Requests[2010].Request.Method = "GET"; - Requests[2010].Request.Path = "/subscriptions/1adb0d7a-395a-/resourceGroups/85746ee1-1cab-489/providers/Microsoft.StorSimple/managers/669c3d05-dd/metrics"; - Requests[2011] = new DefaultHttpContext(); - Requests[2011].RequestServices = CreateServices(); - Requests[2011].Request.Method = "GET"; - Requests[2011].Request.Path = "/subscriptions/7ea3951a-3f1f-/resourceGroups/e166a9b4-2917-4ae/providers/Microsoft.StorSimple/managers/4a6e9953-87/metricsDefinitions"; - Requests[2012] = new DefaultHttpContext(); - Requests[2012].RequestServices = CreateServices(); - Requests[2012].Request.Method = "POST"; - Requests[2012].Request.Path = "/subscriptions/ad74c23b-7df3-/resourceGroups/1d4779f7-92a8-495/providers/Microsoft.StorSimple/managers/3d3a80d8-a2/provisionCloudAppliance"; - Requests[2013] = new DefaultHttpContext(); - Requests[2013].RequestServices = CreateServices(); - Requests[2013].Request.Method = "POST"; - Requests[2013].Request.Path = "/subscriptions/a0103439-4e9f-/resourceGroups/fd3a5152-322e-425/providers/Microsoft.StorSimple/managers/39500ed0-17/regenerateActivationKey"; - Requests[2014] = new DefaultHttpContext(); - Requests[2014].RequestServices = CreateServices(); - Requests[2014].Request.Method = "GET"; - Requests[2014].Request.Path = "/subscriptions/d28e87ae-44fc-/resourceGroups/ec93f77e-034d-401/providers/Microsoft.StorSimple/managers/4382aa6b-e9/storageAccountCredentials"; - Requests[2015] = new DefaultHttpContext(); - Requests[2015].RequestServices = CreateServices(); - Requests[2015].Request.Method = "GET"; - Requests[2015].Request.Path = "/subscriptions/63991be9-787e-/resourcegroups/f1fb3dca-531d-44d/providers/Microsoft.StreamAnalytics/streamingjobs/eeb2894/functions"; - Requests[2016] = new DefaultHttpContext(); - Requests[2016].RequestServices = CreateServices(); - Requests[2016].Request.Method = "GET"; - Requests[2016].Request.Path = "/subscriptions/c1d9733e-8a4a-/resourcegroups/2216c802-b5fe-40a/providers/Microsoft.StreamAnalytics/streamingjobs/ec9ed23/inputs"; - Requests[2017] = new DefaultHttpContext(); - Requests[2017].RequestServices = CreateServices(); - Requests[2017].Request.Method = "GET"; - Requests[2017].Request.Path = "/subscriptions/1f210bee-b6ee-/resourcegroups/c14aee0d-d71b-408/providers/Microsoft.StreamAnalytics/streamingjobs/2b03e15/outputs"; - Requests[2018] = new DefaultHttpContext(); - Requests[2018].RequestServices = CreateServices(); - Requests[2018].Request.Method = "POST"; - Requests[2018].Request.Path = "/subscriptions/2522a66d-27a1-/resourcegroups/32c0b93c-e67e-410/providers/Microsoft.StreamAnalytics/streamingjobs/bf226f6/start"; - Requests[2019] = new DefaultHttpContext(); - Requests[2019].RequestServices = CreateServices(); - Requests[2019].Request.Method = "POST"; - Requests[2019].Request.Path = "/subscriptions/36ccb8ca-669e-/resourcegroups/1aed7662-2b44-447/providers/Microsoft.StreamAnalytics/streamingjobs/9bc1636/stop"; - Requests[2020] = new DefaultHttpContext(); - Requests[2020].RequestServices = CreateServices(); - Requests[2020].Request.Method = "POST"; - Requests[2020].Request.Path = "/subscriptions/775846fd-96fd-/resourcegroups/54df82e6-2402-4c5/providers/Microsoft.Subscriptions.Admin/offers/b886b/link"; - Requests[2021] = new DefaultHttpContext(); - Requests[2021].RequestServices = CreateServices(); - Requests[2021].Request.Method = "GET"; - Requests[2021].Request.Path = "/subscriptions/9adc47ce-b5c8-/resourcegroups/589a4762-a8fe-411/providers/Microsoft.Subscriptions.Admin/offers/0604e/MetricDefinitions"; - Requests[2022] = new DefaultHttpContext(); - Requests[2022].RequestServices = CreateServices(); - Requests[2022].Request.Method = "GET"; - Requests[2022].Request.Path = "/subscriptions/94110ae8-43e0-/resourcegroups/0f9e41ed-18c6-4ee/providers/Microsoft.Subscriptions.Admin/offers/983f9/Metrics"; - Requests[2023] = new DefaultHttpContext(); - Requests[2023].RequestServices = CreateServices(); - Requests[2023].Request.Method = "GET"; - Requests[2023].Request.Path = "/subscriptions/575dd54c-d73e-/resourcegroups/f3825239-d8c4-47b/providers/Microsoft.Subscriptions.Admin/offers/f3fa2/offerDelegations"; - Requests[2024] = new DefaultHttpContext(); - Requests[2024].RequestServices = CreateServices(); - Requests[2024].Request.Method = "POST"; - Requests[2024].Request.Path = "/subscriptions/5c81ed9d-a44f-/resourcegroups/6e5b82f2-7c96-479/providers/Microsoft.Subscriptions.Admin/offers/f8fd4/unlink"; - Requests[2025] = new DefaultHttpContext(); - Requests[2025].RequestServices = CreateServices(); - Requests[2025].Request.Method = "GET"; - Requests[2025].Request.Path = "/subscriptions/27b4db01-8668-/resourcegroups/155fbac3-c6bc-4f5/providers/Microsoft.Subscriptions.Admin/plans/aeae7/MetricDefinitions"; - Requests[2026] = new DefaultHttpContext(); - Requests[2026].RequestServices = CreateServices(); - Requests[2026].Request.Method = "GET"; - Requests[2026].Request.Path = "/subscriptions/b84340cf-b926-/resourcegroups/0149d4be-1121-42a/providers/Microsoft.Subscriptions.Admin/plans/07d74/Metrics"; - Requests[2027] = new DefaultHttpContext(); - Requests[2027].RequestServices = CreateServices(); - Requests[2027].Request.Method = "GET"; - Requests[2027].Request.Path = "/subscriptions/11fa186b-a608-/resourceGroups/ca6977e3-ef97-400/providers/Microsoft.TimeSeriesInsights/environments/5cf0103e-97ff-4/accessPolicies"; - Requests[2028] = new DefaultHttpContext(); - Requests[2028].RequestServices = CreateServices(); - Requests[2028].Request.Method = "GET"; - Requests[2028].Request.Path = "/subscriptions/ef596a21-932c-/resourceGroups/6e4fa800-0071-4a6/providers/Microsoft.TimeSeriesInsights/environments/1cf7d694-fe9a-4/eventSources"; - Requests[2029] = new DefaultHttpContext(); - Requests[2029].RequestServices = CreateServices(); - Requests[2029].Request.Method = "GET"; - Requests[2029].Request.Path = "/subscriptions/f387ba78-f8ce-/resourceGroups/e345308d-e31f-4bd/providers/Microsoft.TimeSeriesInsights/environments/ba2c96ad-dc2f-4/referenceDataSets"; - Requests[2030] = new DefaultHttpContext(); - Requests[2030].RequestServices = CreateServices(); - Requests[2030].Request.Method = "GET"; - Requests[2030].Request.Path = "/subscriptions/a2451755-f24c-/resourcegroups/508a5123-3751-466/providers/Microsoft.Update.Admin/updateLocations/7cce9290-869e-/updates"; - Requests[2031] = new DefaultHttpContext(); - Requests[2031].RequestServices = CreateServices(); - Requests[2031].Request.Method = "GET"; - Requests[2031].Request.Path = "/subscriptions/08b80da0-7e68-/resourcegroups/84b14d4f-df93-40c/providers/microsoft.visualstudio/account/82dc50ee-8d8a-4ffd-/extension"; - Requests[2032] = new DefaultHttpContext(); - Requests[2032].RequestServices = CreateServices(); - Requests[2032].Request.Method = "GET"; - Requests[2032].Request.Path = "/subscriptions/4ae43c00-bfaa-/resourceGroups/45bf1a58-1f10-447/providers/microsoft.visualstudio/account/63786a5f-2387-47/project"; - Requests[2033] = new DefaultHttpContext(); - Requests[2033].RequestServices = CreateServices(); - Requests[2033].Request.Method = "GET"; - Requests[2033].Request.Path = "/subscriptions/eea59ed1-4231-/resourceGroups/22613641-a3ac-4b0/providers/Microsoft.Web.Admin/environments/4f436035-0d92-4/usage"; - Requests[2034] = new DefaultHttpContext(); - Requests[2034].RequestServices = CreateServices(); - Requests[2034].Request.Method = "POST"; - Requests[2034].Request.Path = "/subscriptions/7b65d2a5-9e24-/resourceGroups/5cc31034-f5d7-419/providers/Microsoft.Web/connections/0103dd8d-a0c7-/confirmConsentCode"; - Requests[2035] = new DefaultHttpContext(); - Requests[2035].RequestServices = CreateServices(); - Requests[2035].Request.Method = "POST"; - Requests[2035].Request.Path = "/subscriptions/9093eb03-c6c3-/resourceGroups/b2102cbf-e20d-4fe/providers/Microsoft.Web/connections/86eadd30-8193-/listConnectionKeys"; - Requests[2036] = new DefaultHttpContext(); - Requests[2036].RequestServices = CreateServices(); - Requests[2036].Request.Method = "POST"; - Requests[2036].Request.Path = "/subscriptions/22191b2d-6c42-/resourceGroups/b2162f61-a4da-421/providers/Microsoft.Web/connections/4b25dae4-1c48-/listConsentLinks"; - Requests[2037] = new DefaultHttpContext(); - Requests[2037].RequestServices = CreateServices(); - Requests[2037].Request.Method = "POST"; - Requests[2037].Request.Path = "/subscriptions/3b67d76a-b975-/resourceGroups/caa431be-6c7a-4de/providers/Microsoft.Web/customApis/8577579/move"; - Requests[2038] = new DefaultHttpContext(); - Requests[2038].RequestServices = CreateServices(); - Requests[2038].Request.Method = "POST"; - Requests[2038].Request.Path = "/subscriptions/7656e1be-7c5f-/resourceGroups/09e92c1b-1738-407/providers/Microsoft.Web/hostingEnvironments/ebb4d/changeVirtualNetwork"; - Requests[2039] = new DefaultHttpContext(); - Requests[2039].RequestServices = CreateServices(); - Requests[2039].Request.Method = "GET"; - Requests[2039].Request.Path = "/subscriptions/e37aa550-3557-/resourceGroups/bbc61fda-1556-4d6/providers/Microsoft.Web/hostingEnvironments/8813f/detectors"; - Requests[2040] = new DefaultHttpContext(); - Requests[2040].RequestServices = CreateServices(); - Requests[2040].Request.Method = "GET"; - Requests[2040].Request.Path = "/subscriptions/b16c4ccb-2c7b-/resourceGroups/433a4d31-7a37-409/providers/Microsoft.Web/hostingEnvironments/f5847/diagnostics"; - Requests[2041] = new DefaultHttpContext(); - Requests[2041].RequestServices = CreateServices(); - Requests[2041].Request.Method = "GET"; - Requests[2041].Request.Path = "/subscriptions/e9f98a9a-0910-/resourceGroups/785d541c-4271-44d/providers/Microsoft.Web/hostingEnvironments/4ec58/metricdefinitions"; - Requests[2042] = new DefaultHttpContext(); - Requests[2042].RequestServices = CreateServices(); - Requests[2042].Request.Method = "GET"; - Requests[2042].Request.Path = "/subscriptions/df3cc147-7db9-/resourceGroups/3b785d84-58fc-4ff/providers/Microsoft.Web/hostingEnvironments/bbede/metrics"; - Requests[2043] = new DefaultHttpContext(); - Requests[2043].RequestServices = CreateServices(); - Requests[2043].Request.Method = "GET"; - Requests[2043].Request.Path = "/subscriptions/17ae7fae-821d-/resourceGroups/78880559-6e90-4e7/providers/Microsoft.Web/hostingEnvironments/7fe16/multiRolePools"; - Requests[2044] = new DefaultHttpContext(); - Requests[2044].RequestServices = CreateServices(); - Requests[2044].Request.Method = "GET"; - Requests[2044].Request.Path = "/subscriptions/51f3be98-02f1-/resourceGroups/3c96f599-3c16-4c6/providers/Microsoft.Web/hostingEnvironments/c1c31/operations"; - Requests[2045] = new DefaultHttpContext(); - Requests[2045].RequestServices = CreateServices(); - Requests[2045].Request.Method = "POST"; - Requests[2045].Request.Path = "/subscriptions/bb9f0089-a6a3-/resourceGroups/ea8da1b0-f449-40d/providers/Microsoft.Web/hostingEnvironments/f994a/reboot"; - Requests[2046] = new DefaultHttpContext(); - Requests[2046].RequestServices = CreateServices(); - Requests[2046].Request.Method = "POST"; - Requests[2046].Request.Path = "/subscriptions/9a128200-1188-/resourceGroups/d44dbd88-39f3-4d6/providers/Microsoft.Web/hostingEnvironments/1c26a/resume"; - Requests[2047] = new DefaultHttpContext(); - Requests[2047].RequestServices = CreateServices(); - Requests[2047].Request.Method = "GET"; - Requests[2047].Request.Path = "/subscriptions/e1fa0dac-dbc0-/resourceGroups/4b753aec-afe2-484/providers/Microsoft.Web/hostingEnvironments/9e515/serverfarms"; - Requests[2048] = new DefaultHttpContext(); - Requests[2048].RequestServices = CreateServices(); - Requests[2048].Request.Method = "GET"; - Requests[2048].Request.Path = "/subscriptions/3d66a8b3-419f-/resourceGroups/8e35a537-500b-4a4/providers/Microsoft.Web/hostingEnvironments/d216d/sites"; - Requests[2049] = new DefaultHttpContext(); - Requests[2049].RequestServices = CreateServices(); - Requests[2049].Request.Method = "POST"; - Requests[2049].Request.Path = "/subscriptions/98c5d406-a9f1-/resourceGroups/c7f68736-1e48-4b0/providers/Microsoft.Web/hostingEnvironments/694d1/suspend"; - Requests[2050] = new DefaultHttpContext(); - Requests[2050].RequestServices = CreateServices(); - Requests[2050].Request.Method = "POST"; - Requests[2050].Request.Path = "/subscriptions/5a9fac64-4551-/resourceGroups/45311efc-cee8-498/providers/Microsoft.Web/hostingEnvironments/953f9/syncVirtualNetwork"; - Requests[2051] = new DefaultHttpContext(); - Requests[2051].RequestServices = CreateServices(); - Requests[2051].Request.Method = "GET"; - Requests[2051].Request.Path = "/subscriptions/588abac9-0a4e-/resourceGroups/8a748bea-e929-408/providers/Microsoft.Web/hostingEnvironments/8ddf6/usages"; - Requests[2052] = new DefaultHttpContext(); - Requests[2052].RequestServices = CreateServices(); - Requests[2052].Request.Method = "GET"; - Requests[2052].Request.Path = "/subscriptions/1c2bd481-f719-/resourceGroups/86d97dff-c73a-40b/providers/Microsoft.Web/hostingEnvironments/767f3/webhostingplans"; - Requests[2053] = new DefaultHttpContext(); - Requests[2053].RequestServices = CreateServices(); - Requests[2053].Request.Method = "GET"; - Requests[2053].Request.Path = "/subscriptions/d947bd92-ec04-/resourceGroups/6c35f742-5e1c-488/providers/Microsoft.Web/hostingEnvironments/cb5bd/workerPools"; - Requests[2054] = new DefaultHttpContext(); - Requests[2054].RequestServices = CreateServices(); - Requests[2054].Request.Method = "GET"; - Requests[2054].Request.Path = "/subscriptions/a9033262-a12f-/resourceGroups/f017d6b7-4b94-42a/providers/Microsoft.Web/managedHostingEnvironments/94903/serverfarms"; - Requests[2055] = new DefaultHttpContext(); - Requests[2055].RequestServices = CreateServices(); - Requests[2055].Request.Method = "GET"; - Requests[2055].Request.Path = "/subscriptions/d988eeb9-f6ef-/resourceGroups/574ad9bc-9298-486/providers/Microsoft.Web/managedHostingEnvironments/be55d/sites"; - Requests[2056] = new DefaultHttpContext(); - Requests[2056].RequestServices = CreateServices(); - Requests[2056].Request.Method = "GET"; - Requests[2056].Request.Path = "/subscriptions/1b5fb30e-3adc-/resourceGroups/9c8f75aa-1410-499/providers/Microsoft.Web/managedHostingEnvironments/6fb25/webhostingplans"; - Requests[2057] = new DefaultHttpContext(); - Requests[2057].RequestServices = CreateServices(); - Requests[2057].Request.Method = "GET"; - Requests[2057].Request.Path = "/subscriptions/8534725e-442e-/resourceGroups/bb85a645-3748-45b/providers/Microsoft.Web/serverfarms/a8d96/capabilities"; - Requests[2058] = new DefaultHttpContext(); - Requests[2058].RequestServices = CreateServices(); - Requests[2058].Request.Method = "GET"; - Requests[2058].Request.Path = "/subscriptions/ffd769ac-c53f-/resourceGroups/c5c32563-3fea-465/providers/Microsoft.Web/serverfarms/5d6d7/hybridConnectionRelays"; - Requests[2059] = new DefaultHttpContext(); - Requests[2059].RequestServices = CreateServices(); - Requests[2059].Request.Method = "GET"; - Requests[2059].Request.Path = "/subscriptions/ecf46896-495c-/resourceGroups/640bcfeb-76c5-4dd/providers/Microsoft.Web/serverfarms/44fea/metricdefinitions"; - Requests[2060] = new DefaultHttpContext(); - Requests[2060].RequestServices = CreateServices(); - Requests[2060].Request.Method = "GET"; - Requests[2060].Request.Path = "/subscriptions/504999c9-c6a0-/resourceGroups/bf66e2e9-9ceb-478/providers/Microsoft.Web/serverfarms/ab77f/metrics"; - Requests[2061] = new DefaultHttpContext(); - Requests[2061].RequestServices = CreateServices(); - Requests[2061].Request.Method = "POST"; - Requests[2061].Request.Path = "/subscriptions/f7afefbe-482f-/resourceGroups/177d72cf-a9a7-4ca/providers/Microsoft.Web/serverfarms/c0c27/restartSites"; - Requests[2062] = new DefaultHttpContext(); - Requests[2062].RequestServices = CreateServices(); - Requests[2062].Request.Method = "GET"; - Requests[2062].Request.Path = "/subscriptions/ac4f1fb2-8415-/resourceGroups/ea479f77-ff72-4f1/providers/Microsoft.Web/serverfarms/a4edb/sites"; - Requests[2063] = new DefaultHttpContext(); - Requests[2063].RequestServices = CreateServices(); - Requests[2063].Request.Method = "GET"; - Requests[2063].Request.Path = "/subscriptions/e0248f1b-0d25-/resourceGroups/4df76daf-436a-457/providers/Microsoft.Web/serverfarms/b4e81/skus"; - Requests[2064] = new DefaultHttpContext(); - Requests[2064].RequestServices = CreateServices(); - Requests[2064].Request.Method = "GET"; - Requests[2064].Request.Path = "/subscriptions/e0e9d255-9f1b-/resourceGroups/1c2bc62d-97ce-426/providers/Microsoft.Web/serverfarms/72ad0/usages"; - Requests[2065] = new DefaultHttpContext(); - Requests[2065].RequestServices = CreateServices(); - Requests[2065].Request.Method = "GET"; - Requests[2065].Request.Path = "/subscriptions/171e6521-fbcd-/resourceGroups/e8a14600-5948-413/providers/Microsoft.Web/serverfarms/d869c/virtualNetworkConnections"; - Requests[2066] = new DefaultHttpContext(); - Requests[2066].RequestServices = CreateServices(); - Requests[2066].Request.Method = "GET"; - Requests[2066].Request.Path = "/subscriptions/0c49de46-a668-/resourceGroups/72013f5b-f163-411/providers/Microsoft.Web/sites/5fea3/analyzeCustomHostname"; - Requests[2067] = new DefaultHttpContext(); - Requests[2067].RequestServices = CreateServices(); - Requests[2067].Request.Method = "POST"; - Requests[2067].Request.Path = "/subscriptions/111df73f-5a0c-/resourceGroups/37d87706-dc3d-4bb/providers/Microsoft.Web/sites/57ad1/applySlotConfig"; - Requests[2068] = new DefaultHttpContext(); - Requests[2068].RequestServices = CreateServices(); - Requests[2068].Request.Method = "POST"; - Requests[2068].Request.Path = "/subscriptions/9d9305e5-ed11-/resourceGroups/8ae19f9f-6dc8-473/providers/Microsoft.Web/sites/22957/backup"; - Requests[2069] = new DefaultHttpContext(); - Requests[2069].RequestServices = CreateServices(); - Requests[2069].Request.Method = "GET"; - Requests[2069].Request.Path = "/subscriptions/7eb598e0-29d3-/resourceGroups/d6318514-3450-473/providers/Microsoft.Web/sites/9efc1/backups"; - Requests[2070] = new DefaultHttpContext(); - Requests[2070].RequestServices = CreateServices(); - Requests[2070].Request.Method = "GET"; - Requests[2070].Request.Path = "/subscriptions/4a0bdf13-275e-/resourceGroups/ae443de3-3241-460/providers/Microsoft.Web/sites/668bb/config"; - Requests[2071] = new DefaultHttpContext(); - Requests[2071].RequestServices = CreateServices(); - Requests[2071].Request.Method = "POST"; - Requests[2071].Request.Path = "/subscriptions/99511279-de8e-/resourceGroups/7220fd73-81b1-4f1/providers/Microsoft.Web/sites/8a420/containerlogs"; - Requests[2072] = new DefaultHttpContext(); - Requests[2072].RequestServices = CreateServices(); - Requests[2072].Request.Method = "GET"; - Requests[2072].Request.Path = "/subscriptions/cf939c7b-39fb-/resourceGroups/7502f222-661f-4d2/providers/Microsoft.Web/sites/eb888/continuouswebjobs"; - Requests[2073] = new DefaultHttpContext(); - Requests[2073].RequestServices = CreateServices(); - Requests[2073].Request.Method = "GET"; - Requests[2073].Request.Path = "/subscriptions/a3ec9161-3920-/resourceGroups/b2130544-e71d-427/providers/Microsoft.Web/sites/020e7/deployments"; - Requests[2074] = new DefaultHttpContext(); - Requests[2074].RequestServices = CreateServices(); - Requests[2074].Request.Method = "GET"; - Requests[2074].Request.Path = "/subscriptions/44c9156b-bbdd-/resourceGroups/a187ddca-922d-48b/providers/Microsoft.Web/sites/07ab5/domainOwnershipIdentifiers"; - Requests[2075] = new DefaultHttpContext(); - Requests[2075].RequestServices = CreateServices(); - Requests[2075].Request.Method = "GET"; - Requests[2075].Request.Path = "/subscriptions/8207a56a-c3ef-/resourceGroups/4a3aa734-d8c9-467/providers/Microsoft.Web/sites/bb406/functions"; - Requests[2076] = new DefaultHttpContext(); - Requests[2076].RequestServices = CreateServices(); - Requests[2076].Request.Method = "GET"; - Requests[2076].Request.Path = "/subscriptions/bc77ee45-85c0-/resourceGroups/75a9b570-cf85-47d/providers/Microsoft.Web/sites/120c6/hostNameBindings"; - Requests[2077] = new DefaultHttpContext(); - Requests[2077].RequestServices = CreateServices(); - Requests[2077].Request.Method = "GET"; - Requests[2077].Request.Path = "/subscriptions/23f82d5c-d9e9-/resourceGroups/9472e3de-3746-4f5/providers/Microsoft.Web/sites/24909/hybridconnection"; - Requests[2078] = new DefaultHttpContext(); - Requests[2078].RequestServices = CreateServices(); - Requests[2078].Request.Method = "GET"; - Requests[2078].Request.Path = "/subscriptions/207e611d-7d5d-/resourceGroups/19a50cf8-c06b-4d3/providers/Microsoft.Web/sites/38bce/hybridConnectionRelays"; - Requests[2079] = new DefaultHttpContext(); - Requests[2079].RequestServices = CreateServices(); - Requests[2079].Request.Method = "GET"; - Requests[2079].Request.Path = "/subscriptions/a6348637-a6da-/resourceGroups/86f5e1fd-61da-404/providers/Microsoft.Web/sites/99c93/instances"; - Requests[2080] = new DefaultHttpContext(); - Requests[2080].RequestServices = CreateServices(); - Requests[2080].Request.Method = "POST"; - Requests[2080].Request.Path = "/subscriptions/89d4f9a2-f51f-/resourceGroups/a6293ea1-e375-490/providers/Microsoft.Web/sites/925c4/iscloneable"; - Requests[2081] = new DefaultHttpContext(); - Requests[2081].RequestServices = CreateServices(); - Requests[2081].Request.Method = "POST"; - Requests[2081].Request.Path = "/subscriptions/6725bb42-d67a-/resourceGroups/45d93753-c629-4f0/providers/Microsoft.Web/sites/631a0/listsyncfunctiontriggerstatus"; - Requests[2082] = new DefaultHttpContext(); - Requests[2082].RequestServices = CreateServices(); - Requests[2082].Request.Method = "GET"; - Requests[2082].Request.Path = "/subscriptions/d013d1d4-ec8a-/resourceGroups/b7faa72e-a3f5-49f/providers/Microsoft.Web/sites/c3165/metricdefinitions"; - Requests[2083] = new DefaultHttpContext(); - Requests[2083].RequestServices = CreateServices(); - Requests[2083].Request.Method = "GET"; - Requests[2083].Request.Path = "/subscriptions/67335c53-08ba-/resourceGroups/5791acf8-1aff-4cb/providers/Microsoft.Web/sites/6f16a/metrics"; - Requests[2084] = new DefaultHttpContext(); - Requests[2084].RequestServices = CreateServices(); - Requests[2084].Request.Method = "PUT"; - Requests[2084].Request.Path = "/subscriptions/85deab0f-f1cc-/resourceGroups/608c43e3-3076-44a/providers/Microsoft.Web/sites/96695/migrate"; - Requests[2085] = new DefaultHttpContext(); - Requests[2085].RequestServices = CreateServices(); - Requests[2085].Request.Method = "POST"; - Requests[2085].Request.Path = "/subscriptions/d9a673d5-836d-/resourceGroups/35162448-bb73-4c9/providers/Microsoft.Web/sites/f0cdc/migratemysql"; - Requests[2086] = new DefaultHttpContext(); - Requests[2086].RequestServices = CreateServices(); - Requests[2086].Request.Method = "POST"; - Requests[2086].Request.Path = "/subscriptions/86e45c9d-bf7b-/resourceGroups/cf0d1971-6cf3-447/providers/Microsoft.Web/sites/85f40/newpassword"; - Requests[2087] = new DefaultHttpContext(); - Requests[2087].RequestServices = CreateServices(); - Requests[2087].Request.Method = "GET"; - Requests[2087].Request.Path = "/subscriptions/2180f9af-3c5f-/resourceGroups/aa077761-ddc6-46f/providers/Microsoft.Web/sites/275f5/perfcounters"; - Requests[2088] = new DefaultHttpContext(); - Requests[2088].RequestServices = CreateServices(); - Requests[2088].Request.Method = "GET"; - Requests[2088].Request.Path = "/subscriptions/e6253672-59ed-/resourceGroups/fb934ad2-bb52-455/providers/Microsoft.Web/sites/2520a/phplogging"; - Requests[2089] = new DefaultHttpContext(); - Requests[2089].RequestServices = CreateServices(); - Requests[2089].Request.Method = "GET"; - Requests[2089].Request.Path = "/subscriptions/f3439876-afc8-/resourceGroups/c038fa3a-e59a-46c/providers/Microsoft.Web/sites/f1429/premieraddons"; - Requests[2090] = new DefaultHttpContext(); - Requests[2090].RequestServices = CreateServices(); - Requests[2090].Request.Method = "GET"; - Requests[2090].Request.Path = "/subscriptions/3768005e-28b6-/resourceGroups/470af607-6404-466/providers/Microsoft.Web/sites/55b57/processes"; - Requests[2091] = new DefaultHttpContext(); - Requests[2091].RequestServices = CreateServices(); - Requests[2091].Request.Method = "GET"; - Requests[2091].Request.Path = "/subscriptions/aa65d89b-b8b6-/resourceGroups/52241e6b-0402-49d/providers/Microsoft.Web/sites/889f4/publicCertificates"; - Requests[2092] = new DefaultHttpContext(); - Requests[2092].RequestServices = CreateServices(); - Requests[2092].Request.Method = "POST"; - Requests[2092].Request.Path = "/subscriptions/c535d011-d0b2-/resourceGroups/f027386e-8360-457/providers/Microsoft.Web/sites/f923c/publishxml"; - Requests[2093] = new DefaultHttpContext(); - Requests[2093].RequestServices = CreateServices(); - Requests[2093].Request.Method = "POST"; - Requests[2093].Request.Path = "/subscriptions/489e2b63-c6cd-/resourceGroups/85b1242e-a8f0-4ec/providers/Microsoft.Web/sites/c5ff9/recover"; - Requests[2094] = new DefaultHttpContext(); - Requests[2094].RequestServices = CreateServices(); - Requests[2094].Request.Method = "POST"; - Requests[2094].Request.Path = "/subscriptions/df8c14ab-3c2b-/resourceGroups/27e45d97-3d99-402/providers/Microsoft.Web/sites/78b29/resetSlotConfig"; - Requests[2095] = new DefaultHttpContext(); - Requests[2095].RequestServices = CreateServices(); - Requests[2095].Request.Method = "GET"; - Requests[2095].Request.Path = "/subscriptions/2eebf365-c46b-/resourceGroups/e75e454f-04af-4ca/providers/Microsoft.Web/sites/9e540/resourceHealthMetadata"; - Requests[2096] = new DefaultHttpContext(); - Requests[2096].RequestServices = CreateServices(); - Requests[2096].Request.Method = "POST"; - Requests[2096].Request.Path = "/subscriptions/55a9a895-c07b-/resourceGroups/df376796-7ce3-4be/providers/Microsoft.Web/sites/eb417/restart"; - Requests[2097] = new DefaultHttpContext(); - Requests[2097].RequestServices = CreateServices(); - Requests[2097].Request.Method = "POST"; - Requests[2097].Request.Path = "/subscriptions/373f156e-0708-/resourceGroups/2675e96c-ae35-40d/providers/Microsoft.Web/sites/ad3a9/restoreFromBackupBlob"; - Requests[2098] = new DefaultHttpContext(); - Requests[2098].RequestServices = CreateServices(); - Requests[2098].Request.Method = "POST"; - Requests[2098].Request.Path = "/subscriptions/d692c906-5cc1-/resourceGroups/0bc05c24-9834-49b/providers/Microsoft.Web/sites/876d1/restoreFromDeletedApp"; - Requests[2099] = new DefaultHttpContext(); - Requests[2099].RequestServices = CreateServices(); - Requests[2099].Request.Method = "POST"; - Requests[2099].Request.Path = "/subscriptions/14451d8e-f55a-/resourceGroups/e59c69c3-e232-4d8/providers/Microsoft.Web/sites/31975/restoreSnapshot"; - Requests[2100] = new DefaultHttpContext(); - Requests[2100].RequestServices = CreateServices(); - Requests[2100].Request.Method = "GET"; - Requests[2100].Request.Path = "/subscriptions/d324a5ab-3ac3-/resourceGroups/b7f98a8c-cc0e-4f3/providers/Microsoft.Web/sites/f62e2/siteextensions"; - Requests[2101] = new DefaultHttpContext(); - Requests[2101].RequestServices = CreateServices(); - Requests[2101].Request.Method = "GET"; - Requests[2101].Request.Path = "/subscriptions/50efa429-2643-/resourceGroups/c2a81810-8542-4b4/providers/Microsoft.Web/sites/106d3/slots"; - Requests[2102] = new DefaultHttpContext(); - Requests[2102].RequestServices = CreateServices(); - Requests[2102].Request.Method = "POST"; - Requests[2102].Request.Path = "/subscriptions/332c2d99-f26b-/resourceGroups/bd712819-a76e-43b/providers/Microsoft.Web/sites/ebdbb/slotsdiffs"; - Requests[2103] = new DefaultHttpContext(); - Requests[2103].RequestServices = CreateServices(); - Requests[2103].Request.Method = "POST"; - Requests[2103].Request.Path = "/subscriptions/62f71fd6-dbd1-/resourceGroups/c6a46c3b-4679-40e/providers/Microsoft.Web/sites/f60fb/slotsswap"; - Requests[2104] = new DefaultHttpContext(); - Requests[2104].RequestServices = CreateServices(); - Requests[2104].Request.Method = "GET"; - Requests[2104].Request.Path = "/subscriptions/2f364b64-bae3-/resourceGroups/cb1a75de-a512-458/providers/Microsoft.Web/sites/4b456/snapshots"; - Requests[2105] = new DefaultHttpContext(); - Requests[2105].RequestServices = CreateServices(); - Requests[2105].Request.Method = "POST"; - Requests[2105].Request.Path = "/subscriptions/95a34872-54d3-/resourceGroups/cb5cd6c1-684e-472/providers/Microsoft.Web/sites/6419f/start"; - Requests[2106] = new DefaultHttpContext(); - Requests[2106].RequestServices = CreateServices(); - Requests[2106].Request.Method = "POST"; - Requests[2106].Request.Path = "/subscriptions/10ea1c2e-a092-/resourceGroups/6b1eee2f-9529-4e6/providers/Microsoft.Web/sites/ec93c/stop"; - Requests[2107] = new DefaultHttpContext(); - Requests[2107].RequestServices = CreateServices(); - Requests[2107].Request.Method = "POST"; - Requests[2107].Request.Path = "/subscriptions/7d52ef61-769b-/resourceGroups/daa9d773-e679-48b/providers/Microsoft.Web/sites/f486e/sync"; - Requests[2108] = new DefaultHttpContext(); - Requests[2108].RequestServices = CreateServices(); - Requests[2108].Request.Method = "POST"; - Requests[2108].Request.Path = "/subscriptions/9c64fb34-df53-/resourceGroups/3768f8e0-2dd5-41a/providers/Microsoft.Web/sites/26ec6/syncfunctiontriggers"; - Requests[2109] = new DefaultHttpContext(); - Requests[2109].RequestServices = CreateServices(); - Requests[2109].Request.Method = "GET"; - Requests[2109].Request.Path = "/subscriptions/fb82d9c1-8006-/resourceGroups/d14f6dba-4d45-406/providers/Microsoft.Web/sites/ea3e5/triggeredwebjobs"; - Requests[2110] = new DefaultHttpContext(); - Requests[2110].RequestServices = CreateServices(); - Requests[2110].Request.Method = "GET"; - Requests[2110].Request.Path = "/subscriptions/4def67fb-696e-/resourceGroups/dd3763d2-d53f-480/providers/Microsoft.Web/sites/7395b/usages"; - Requests[2111] = new DefaultHttpContext(); - Requests[2111].RequestServices = CreateServices(); - Requests[2111].Request.Method = "GET"; - Requests[2111].Request.Path = "/subscriptions/e3dd01e5-af0d-/resourceGroups/72ba3312-57c4-49b/providers/Microsoft.Web/sites/6b035/virtualNetworkConnections"; - Requests[2112] = new DefaultHttpContext(); - Requests[2112].RequestServices = CreateServices(); - Requests[2112].Request.Method = "GET"; - Requests[2112].Request.Path = "/subscriptions/95b8bcb7-a489-/resourceGroups/0d33710a-e825-4b6/providers/Microsoft.Web/sites/85f5f/webjobs"; - Requests[2113] = new DefaultHttpContext(); - Requests[2113].RequestServices = CreateServices(); - Requests[2113].Request.Method = "GET"; - Requests[2113].Request.Path = "/subscriptions/a3ab67c2-0f0f-/resourceGroups/6577481a-054d-45f/providers/Microsoft.Web/sites/7377e575/detectors"; - Requests[2114] = new DefaultHttpContext(); - Requests[2114].RequestServices = CreateServices(); - Requests[2114].Request.Method = "GET"; - Requests[2114].Request.Path = "/subscriptions/abb65895-5323-/resourceGroups/15dd0f63-5df2-47c/providers/Microsoft.Web/sites/dd8bb1d5/diagnostics"; - Requests[2115] = new DefaultHttpContext(); - Requests[2115].RequestServices = CreateServices(); - Requests[2115].Request.Method = "GET"; - Requests[2115].Request.Path = "/subscriptions/6c34c17c-d2fb-/resourceGroups/473265e5-8b64-40b/providers/Microsoft.Web/sites/0f6b6ab0/recommendationHistory"; - Requests[2116] = new DefaultHttpContext(); - Requests[2116].RequestServices = CreateServices(); - Requests[2116].Request.Method = "GET"; - Requests[2116].Request.Path = "/subscriptions/dc3d7d78-8681-/resourceGroups/60ab8351-d02f-4ba/providers/Microsoft.Web/sites/954e87d4/recommendations"; - Requests[2117] = new DefaultHttpContext(); - Requests[2117].RequestServices = CreateServices(); - Requests[2117].Request.Method = "PUT"; - Requests[2117].Request.Path = "/subscriptions/f4109c83-f7b5-/resourceGroups/55648edc-254a-435/providers/Microsoft.ApiManagement/service/035638a4-08/portalsettings/delegation"; - Requests[2118] = new DefaultHttpContext(); - Requests[2118].RequestServices = CreateServices(); - Requests[2118].Request.Method = "PUT"; - Requests[2118].Request.Path = "/subscriptions/ac24688d-20da-/resourceGroups/1c63031c-7481-480/providers/Microsoft.ApiManagement/service/6a6bb572-3f/portalsettings/signin"; - Requests[2119] = new DefaultHttpContext(); - Requests[2119].RequestServices = CreateServices(); - Requests[2119].Request.Method = "PUT"; - Requests[2119].Request.Path = "/subscriptions/1f968418-401d-/resourceGroups/95d4807e-0970-4ca/providers/Microsoft.ApiManagement/service/b8fd85aa-23/portalsettings/signup"; - Requests[2120] = new DefaultHttpContext(); - Requests[2120].RequestServices = CreateServices(); - Requests[2120].Request.Method = "GET"; - Requests[2120].Request.Path = "/subscriptions/3ef69060-1414-/resourceGroups/2b391c27-ccd4-41c/providers/Microsoft.ApiManagement/service/5b6e721a-ba/reports/byApi"; - Requests[2121] = new DefaultHttpContext(); - Requests[2121].RequestServices = CreateServices(); - Requests[2121].Request.Method = "GET"; - Requests[2121].Request.Path = "/subscriptions/28c81bf7-a999-/resourceGroups/0991d758-8941-422/providers/Microsoft.ApiManagement/service/792f96ce-50/reports/byGeo"; - Requests[2122] = new DefaultHttpContext(); - Requests[2122].RequestServices = CreateServices(); - Requests[2122].Request.Method = "GET"; - Requests[2122].Request.Path = "/subscriptions/aab5d90a-3d2a-/resourceGroups/2216f545-15c8-40d/providers/Microsoft.ApiManagement/service/819e35c1-13/reports/byOperation"; - Requests[2123] = new DefaultHttpContext(); - Requests[2123].RequestServices = CreateServices(); - Requests[2123].Request.Method = "GET"; - Requests[2123].Request.Path = "/subscriptions/5f49c6f8-0560-/resourceGroups/7238683b-3dcb-46f/providers/Microsoft.ApiManagement/service/687e4cf8-ee/reports/byProduct"; - Requests[2124] = new DefaultHttpContext(); - Requests[2124].RequestServices = CreateServices(); - Requests[2124].Request.Method = "GET"; - Requests[2124].Request.Path = "/subscriptions/8e7853d3-7f56-/resourceGroups/ee40f5e5-c672-437/providers/Microsoft.ApiManagement/service/f2107e17-d1/reports/byRequest"; - Requests[2125] = new DefaultHttpContext(); - Requests[2125].RequestServices = CreateServices(); - Requests[2125].Request.Method = "GET"; - Requests[2125].Request.Path = "/subscriptions/4839125f-751a-/resourceGroups/d4ff5a2d-671a-4e8/providers/Microsoft.ApiManagement/service/42b2cf05-ce/reports/bySubscription"; - Requests[2126] = new DefaultHttpContext(); - Requests[2126].RequestServices = CreateServices(); - Requests[2126].Request.Method = "GET"; - Requests[2126].Request.Path = "/subscriptions/3084203f-3db3-/resourceGroups/367000b7-7948-4f2/providers/Microsoft.ApiManagement/service/3882ac37-38/reports/byTime"; - Requests[2127] = new DefaultHttpContext(); - Requests[2127].RequestServices = CreateServices(); - Requests[2127].Request.Method = "GET"; - Requests[2127].Request.Path = "/subscriptions/76bd79d3-8221-/resourceGroups/f54726c9-6541-456/providers/Microsoft.ApiManagement/service/9727a8e3-4f/reports/byUser"; - Requests[2128] = new DefaultHttpContext(); - Requests[2128].RequestServices = CreateServices(); - Requests[2128].Request.Method = "PATCH"; - Requests[2128].Request.Path = "/subscriptions/6abaddd4-a373-/resourceGroups/b2d1b5d5-bd37-4e2/providers/Microsoft.ApiManagement/service/0236f296-f7/tenant/access"; - Requests[2129] = new DefaultHttpContext(); - Requests[2129].RequestServices = CreateServices(); - Requests[2129].Request.Method = "DELETE"; - Requests[2129].Request.Path = "/subscriptions/2569936d-e5c5-/resourceGroups/05b17ff6-76f0-461/providers/Microsoft.ApiManagement/service/0bab606e-2d/tenant/policy"; - Requests[2130] = new DefaultHttpContext(); - Requests[2130].RequestServices = CreateServices(); - Requests[2130].Request.Method = "POST"; - Requests[2130].Request.Path = "/subscriptions/506e86b4-d3c6-/resourceGroups/4893545e-6d53-47b/providers/Microsoft.Automation/automationAccounts/58e393ee-c3ab-4001-95/agentRegistrationInformation/regenerateKey"; - Requests[2131] = new DefaultHttpContext(); - Requests[2131].RequestServices = CreateServices(); - Requests[2131].Request.Method = "POST"; - Requests[2131].Request.Path = "/subscriptions/1b8e65e6-5506-/resourceGroups/e7b3340d-4cd6-40e/providers/Microsoft.Automation/automationAccounts/362f933b-cf8d-4483-bb/webhooks/generateUri"; - Requests[2132] = new DefaultHttpContext(); - Requests[2132].RequestServices = CreateServices(); - Requests[2132].Request.Method = "GET"; - Requests[2132].Request.Path = "/subscriptions/ce86d20b-933a-/resourceGroups/3b2cfd91-83cc-477/providers/Microsoft.Cache/Redis/52a2b/patchSchedules/default"; - Requests[2133] = new DefaultHttpContext(); - Requests[2133].RequestServices = CreateServices(); - Requests[2133].Request.Method = "POST"; - Requests[2133].Request.Path = "/subscriptions/13c28530-ef73-/resourceGroups/b4a02115-43ad-4ac/providers/Microsoft.Compute/virtualMachineScaleSets/18947782-df97-/rollingUpgrades/cancel"; - Requests[2134] = new DefaultHttpContext(); - Requests[2134].RequestServices = CreateServices(); - Requests[2134].Request.Method = "GET"; - Requests[2134].Request.Path = "/subscriptions/3ff10ee5-e6fc-/resourceGroups/d95d8025-ee8d-4da/providers/Microsoft.Compute/virtualMachineScaleSets/95d69f98-b848-/rollingUpgrades/latest"; - Requests[2135] = new DefaultHttpContext(); - Requests[2135].RequestServices = CreateServices(); - Requests[2135].Request.Method = "GET"; - Requests[2135].Request.Path = "/subscriptions/a8c66ff9-fd87-/resourceGroups/a4e89dd8-214d-45c/providers/Microsoft.ContainerService/managedClusters/f846c03e-c98/upgradeProfiles/default"; - Requests[2136] = new DefaultHttpContext(); - Requests[2136].RequestServices = CreateServices(); - Requests[2136].Request.Method = "POST"; - Requests[2136].Request.Path = "/subscriptions/f7b9c5bb-237a-/resourceGroups/335238a2-536e-454/providers/Microsoft.CustomerInsights/hubs/9a5e6fa/images/getDataImageUploadUrl"; - Requests[2137] = new DefaultHttpContext(); - Requests[2137].RequestServices = CreateServices(); - Requests[2137].Request.Method = "POST"; - Requests[2137].Request.Path = "/subscriptions/9a155f88-b364-/resourceGroups/75143391-a127-4d6/providers/Microsoft.CustomerInsights/hubs/a4648db/images/getEntityTypeImageUploadUrl"; - Requests[2138] = new DefaultHttpContext(); - Requests[2138].RequestServices = CreateServices(); - Requests[2138].Request.Method = "GET"; - Requests[2138].Request.Path = "/subscriptions/436bef24-ea66-/resourceGroups/a8df8f08-0c6c-4ac/providers/Microsoft.DocumentDB/databaseAccounts/c94c9e7a-bb/percentile/metrics"; - Requests[2139] = new DefaultHttpContext(); - Requests[2139].RequestServices = CreateServices(); - Requests[2139].Request.Method = "GET"; - Requests[2139].Request.Path = "/subscriptions/2a8089ca-06a4-/resourceGroups/7e5973aa-0f85-4a5/providers/Microsoft.EventHub/clusters/b7fedc2a-bb/quotaConfiguration/default"; - Requests[2140] = new DefaultHttpContext(); - Requests[2140].RequestServices = CreateServices(); - Requests[2140].Request.Method = "POST"; - Requests[2140].Request.Path = "/subscriptions/0f481eef-16cb-/resourceGroups/a1dd13b1-dd0d-436/providers/Microsoft.EventHub/namespaces/21e1b18d-5ac4/disasterRecoveryConfigs/CheckNameAvailability"; - Requests[2141] = new DefaultHttpContext(); - Requests[2141].RequestServices = CreateServices(); - Requests[2141].Request.Method = "DELETE"; - Requests[2141].Request.Path = "/subscriptions/c3c24c72-9feb-/resourceGroups/badf33fc-cdcf-481/providers/Microsoft.HDInsight/clusters/11bd3ae4-f5/extensions/clustermonitoring"; - Requests[2142] = new DefaultHttpContext(); - Requests[2142].RequestServices = CreateServices(); - Requests[2142].Request.Method = "PATCH"; - Requests[2142].Request.Path = "/subscriptions/387a9fdf-22d1-/resourceGroups/a8eb2ab7-0a30-499/providers/microsoft.insights/components/3ceafe0d-558/pricingPlans/current"; - Requests[2143] = new DefaultHttpContext(); - Requests[2143].RequestServices = CreateServices(); - Requests[2143].Request.Method = "POST"; - Requests[2143].Request.Path = "/subscriptions/d558b3aa-9a57-/resourceGroups/e2540f7c-eb42-4d6/providers/Microsoft.Network/connections/fa05c5f2-6fce-47e5-bc7d-652447b1ebc/sharedkey/reset"; - Requests[2144] = new DefaultHttpContext(); - Requests[2144].RequestServices = CreateServices(); - Requests[2144].Request.Method = "POST"; - Requests[2144].Request.Path = "/Subscriptions/558e4a62-214c-/resourceGroups/11e32291-cae6-45d/providers/Microsoft.RecoveryServices/vaults/88121126-a11/replicationJobs/export"; - Requests[2145] = new DefaultHttpContext(); - Requests[2145].RequestServices = CreateServices(); - Requests[2145].Request.Method = "PATCH"; - Requests[2145].Request.Path = "/Subscriptions/ba0f56e9-7882-/resourceGroups/fe5889f5-b083-448/providers/Microsoft.RecoveryServices/vaults/8b7e8f70-/backupconfig/vaultconfig"; - Requests[2146] = new DefaultHttpContext(); - Requests[2146].RequestServices = CreateServices(); - Requests[2146].Request.Method = "PATCH"; - Requests[2146].Request.Path = "/Subscriptions/68e85649-4b10-/resourceGroups/f4ce0552-54fc-40e/providers/Microsoft.RecoveryServices/vaults/33490016-/backupstorageconfig/vaultstorageconfig"; - Requests[2147] = new DefaultHttpContext(); - Requests[2147].RequestServices = CreateServices(); - Requests[2147].Request.Method = "PATCH"; - Requests[2147].Request.Path = "/subscriptions/72ba0277-1be8-/resourceGroups/df89eb81-2964-463/providers/Microsoft.RecoveryServices/vaults/195ca639-/extendedInformation/vaultExtendedInfo"; - Requests[2148] = new DefaultHttpContext(); - Requests[2148].RequestServices = CreateServices(); - Requests[2148].Request.Method = "POST"; - Requests[2148].Request.Path = "/subscriptions/648ca8ec-4b62-/resourceGroups/051a0645-285e-4f7/providers/Microsoft.ServiceBus/namespaces/3f0eba6c-f527/disasterRecoveryConfigs/CheckNameAvailability"; - Requests[2149] = new DefaultHttpContext(); - Requests[2149].RequestServices = CreateServices(); - Requests[2149].Request.Method = "PATCH"; - Requests[2149].Request.Path = "/subscriptions/9a4976f1-131c-/resourceGroups/91160154-58bf-45d/providers/Microsoft.Sql/servers/489096f6-d/automaticTuning/current"; - Requests[2150] = new DefaultHttpContext(); - Requests[2150].RequestServices = CreateServices(); - Requests[2150].Request.Method = "GET"; - Requests[2150].Request.Path = "/subscriptions/db7fa657-1f38-/resourceGroups/a9241ca2-c91f-46b/providers/Microsoft.StorSimple/managers/d2eb8531-db/encryptionSettings/default"; - Requests[2151] = new DefaultHttpContext(); - Requests[2151].RequestServices = CreateServices(); - Requests[2151].Request.Method = "PATCH"; - Requests[2151].Request.Path = "/subscriptions/12480295-e686-/resourceGroups/089ba1a5-c9b2-469/providers/Microsoft.StorSimple/managers/ad7167d2-88/extendedInformation/vaultExtendedInfo"; - Requests[2152] = new DefaultHttpContext(); - Requests[2152].RequestServices = CreateServices(); - Requests[2152].Request.Method = "GET"; - Requests[2152].Request.Path = "/subscriptions/7dcfd231-a157-/resourceGroups/d281a555-64d0-48b/providers/Microsoft.Web/hostingEnvironments/7acb2/capacities/compute"; - Requests[2153] = new DefaultHttpContext(); - Requests[2153].RequestServices = CreateServices(); - Requests[2153].Request.Method = "GET"; - Requests[2153].Request.Path = "/subscriptions/2388b588-fbe7-/resourceGroups/ebcaf64e-77f1-4a2/providers/Microsoft.Web/hostingEnvironments/ac3dd/capacities/virtualip"; - Requests[2154] = new DefaultHttpContext(); - Requests[2154].RequestServices = CreateServices(); - Requests[2154].Request.Method = "PATCH"; - Requests[2154].Request.Path = "/subscriptions/73efed12-3998-/resourceGroups/4b303e35-788f-470/providers/Microsoft.Web/hostingEnvironments/98efb/multiRolePools/default"; - Requests[2155] = new DefaultHttpContext(); - Requests[2155].RequestServices = CreateServices(); - Requests[2155].Request.Method = "GET"; - Requests[2155].Request.Path = "/subscriptions/ed790f3b-db36-/resourceGroups/de0653e1-e7a0-4d9/providers/Microsoft.Web/managedHostingEnvironments/684fa/capacities/virtualip"; - Requests[2156] = new DefaultHttpContext(); - Requests[2156].RequestServices = CreateServices(); - Requests[2156].Request.Method = "GET"; - Requests[2156].Request.Path = "/subscriptions/6e541207-1bef-/resourceGroups/07fd559c-4c33-452/providers/Microsoft.Web/serverfarms/5a87a/hybridConnectionPlanLimits/limit"; - Requests[2157] = new DefaultHttpContext(); - Requests[2157].RequestServices = CreateServices(); - Requests[2157].Request.Method = "PUT"; - Requests[2157].Request.Path = "/subscriptions/3fe834fc-b8dc-/resourceGroups/610e7863-9420-451/providers/Microsoft.Web/sites/47187/backups/discover"; - Requests[2158] = new DefaultHttpContext(); - Requests[2158].RequestServices = CreateServices(); - Requests[2158].Request.Method = "PUT"; - Requests[2158].Request.Path = "/subscriptions/0b26f61f-8613-/resourceGroups/24854d9e-3ecc-4b7/providers/Microsoft.Web/sites/147b7/config/appsettings"; - Requests[2159] = new DefaultHttpContext(); - Requests[2159].RequestServices = CreateServices(); - Requests[2159].Request.Method = "PUT"; - Requests[2159].Request.Path = "/subscriptions/0202a7a2-4a5a-/resourceGroups/adfb399c-ab54-4ef/providers/Microsoft.Web/sites/2ba0e/config/authsettings"; - Requests[2160] = new DefaultHttpContext(); - Requests[2160].RequestServices = CreateServices(); - Requests[2160].Request.Method = "DELETE"; - Requests[2160].Request.Path = "/subscriptions/8b4468b1-b008-/resourceGroups/8857ac5a-3eb4-496/providers/Microsoft.Web/sites/636b0/config/backup"; - Requests[2161] = new DefaultHttpContext(); - Requests[2161].RequestServices = CreateServices(); - Requests[2161].Request.Method = "PUT"; - Requests[2161].Request.Path = "/subscriptions/61c0b0fc-33f2-/resourceGroups/7d750f0f-2555-494/providers/Microsoft.Web/sites/effc6/config/connectionstrings"; - Requests[2162] = new DefaultHttpContext(); - Requests[2162].RequestServices = CreateServices(); - Requests[2162].Request.Method = "PUT"; - Requests[2162].Request.Path = "/subscriptions/546ac75f-a1e6-/resourceGroups/c3bdac44-e2f9-4b5/providers/Microsoft.Web/sites/edf85/config/logs"; - Requests[2163] = new DefaultHttpContext(); - Requests[2163].RequestServices = CreateServices(); - Requests[2163].Request.Method = "PUT"; - Requests[2163].Request.Path = "/subscriptions/d9fd5d4f-1057-/resourceGroups/132f32b7-fb3c-428/providers/Microsoft.Web/sites/7a2fb/config/metadata"; - Requests[2164] = new DefaultHttpContext(); - Requests[2164].RequestServices = CreateServices(); - Requests[2164].Request.Method = "PUT"; - Requests[2164].Request.Path = "/subscriptions/2f2e123f-287d-/resourceGroups/d30ff09b-f740-460/providers/Microsoft.Web/sites/df2f0/config/pushsettings"; - Requests[2165] = new DefaultHttpContext(); - Requests[2165].RequestServices = CreateServices(); - Requests[2165].Request.Method = "PUT"; - Requests[2165].Request.Path = "/subscriptions/e19ec785-0452-/resourceGroups/a055ba94-77bf-4a4/providers/Microsoft.Web/sites/60a7a/config/slotConfigNames"; - Requests[2166] = new DefaultHttpContext(); - Requests[2166].RequestServices = CreateServices(); - Requests[2166].Request.Method = "PATCH"; - Requests[2166].Request.Path = "/subscriptions/a07b176e-42a6-/resourceGroups/005fb80e-4998-45e/providers/Microsoft.Web/sites/4ff93/config/web"; - Requests[2167] = new DefaultHttpContext(); - Requests[2167].RequestServices = CreateServices(); - Requests[2167].Request.Method = "PUT"; - Requests[2167].Request.Path = "/subscriptions/e07ccb82-40ac-/resourceGroups/829c910b-1a93-4b0/providers/Microsoft.Web/sites/6f8dd/extensions/MSDeploy"; - Requests[2168] = new DefaultHttpContext(); - Requests[2168].RequestServices = CreateServices(); - Requests[2168].Request.Method = "GET"; - Requests[2168].Request.Path = "/subscriptions/220bbe91-a678-/resourceGroups/2c299444-d419-49c/providers/Microsoft.Web/sites/618eb/migratemysql/status"; - Requests[2169] = new DefaultHttpContext(); - Requests[2169].RequestServices = CreateServices(); - Requests[2169].Request.Method = "POST"; - Requests[2169].Request.Path = "/subscriptions/e759b6ca-a265-/resourceGroups/fb6b071a-e5aa-4b3/providers/Microsoft.Web/sites/a50ab/networkTrace/start"; - Requests[2170] = new DefaultHttpContext(); - Requests[2170].RequestServices = CreateServices(); - Requests[2170].Request.Method = "POST"; - Requests[2170].Request.Path = "/subscriptions/d331b77e-53df-/resourceGroups/70500736-2e41-458/providers/Microsoft.Web/sites/85c70/networkTrace/stop"; - Requests[2171] = new DefaultHttpContext(); - Requests[2171].RequestServices = CreateServices(); - Requests[2171].Request.Method = "PUT"; - Requests[2171].Request.Path = "/subscriptions/9c3488aa-92b7-/resourceGroups/4c561fd5-f212-434/providers/Microsoft.Web/sites/1a17d/privateAccess/virtualNetworks"; - Requests[2172] = new DefaultHttpContext(); - Requests[2172].RequestServices = CreateServices(); - Requests[2172].Request.Method = "GET"; - Requests[2172].Request.Path = "/subscriptions/47daba3c-499a-/resourceGroups/c791ea15-8ce2-46e/providers/Microsoft.Web/sites/2ee44/resourceHealthMetadata/default"; - Requests[2173] = new DefaultHttpContext(); - Requests[2173].RequestServices = CreateServices(); - Requests[2173].Request.Method = "PATCH"; - Requests[2173].Request.Path = "/subscriptions/b4d547fd-95e4-/resourceGroups/ba212cdd-7cef-4ed/providers/Microsoft.Web/sites/d61d8/sourcecontrols/web"; - Requests[2174] = new DefaultHttpContext(); - Requests[2174].RequestServices = CreateServices(); - Requests[2174].Request.Method = "POST"; - Requests[2174].Request.Path = "/subscriptions/fb7f48f7-77e8-/resourceGroups/3e1ff61a-9cc3-42b/providers/Microsoft.Web/sites/d9d155ef/recommendations/disable"; - Requests[2175] = new DefaultHttpContext(); - Requests[2175].RequestServices = CreateServices(); - Requests[2175].Request.Method = "POST"; - Requests[2175].Request.Path = "/subscriptions/c5ae4649-f49e-/resourceGroups/50b766fa-19b1-4f8/providers/Microsoft.Web/sites/c709a80f/recommendations/reset"; - Requests[2176] = new DefaultHttpContext(); - Requests[2176].RequestServices = CreateServices(); - Requests[2176].Request.Method = "GET"; - Requests[2176].Request.Path = "/subscriptions/2a57afba-4eeb-/resourceGroups/52d682ac-4e3d-475/providers/Microsoft.ApiManagement/service/3f51e40a-3d/tenant/access/git"; - Requests[2177] = new DefaultHttpContext(); - Requests[2177].RequestServices = CreateServices(); - Requests[2177].Request.Method = "POST"; - Requests[2177].Request.Path = "/subscriptions/7d8e99ed-1476-/resourceGroups/321dded1-d0eb-42b/providers/Microsoft.ApiManagement/service/755a83aa-d4/tenant/access/regeneratePrimaryKey"; - Requests[2178] = new DefaultHttpContext(); - Requests[2178].RequestServices = CreateServices(); - Requests[2178].Request.Method = "POST"; - Requests[2178].Request.Path = "/subscriptions/5767696f-fabc-/resourceGroups/98f811b1-c34b-491/providers/Microsoft.ApiManagement/service/aa7577cb-25/tenant/access/regenerateSecondaryKey"; - Requests[2179] = new DefaultHttpContext(); - Requests[2179].RequestServices = CreateServices(); - Requests[2179].Request.Method = "POST"; - Requests[2179].Request.Path = "/subscriptions/23ed24ec-fea4-/resourceGroups/7eebbdcb-9778-401/providers/Microsoft.ApiManagement/service/e262fce6-1c/tenant/configuration/deploy"; - Requests[2180] = new DefaultHttpContext(); - Requests[2180].RequestServices = CreateServices(); - Requests[2180].Request.Method = "POST"; - Requests[2180].Request.Path = "/subscriptions/6cd235a8-38b5-/resourceGroups/1f8c7a63-ef10-462/providers/Microsoft.ApiManagement/service/e2b9cb61-19/tenant/configuration/save"; - Requests[2181] = new DefaultHttpContext(); - Requests[2181].RequestServices = CreateServices(); - Requests[2181].Request.Method = "GET"; - Requests[2181].Request.Path = "/subscriptions/642b7686-ee9e-/resourceGroups/6167cc59-dafa-4d4/providers/Microsoft.ApiManagement/service/630f815f-55/tenant/configuration/syncState"; - Requests[2182] = new DefaultHttpContext(); - Requests[2182].RequestServices = CreateServices(); - Requests[2182].Request.Method = "POST"; - Requests[2182].Request.Path = "/subscriptions/2f4ac671-c221-/resourceGroups/0b0a7d2f-bfe2-4bc/providers/Microsoft.ApiManagement/service/026eb4ab-b0/tenant/configuration/validate"; - Requests[2183] = new DefaultHttpContext(); - Requests[2183].RequestServices = CreateServices(); - Requests[2183].Request.Method = "POST"; - Requests[2183].Request.Path = "/subscriptions/19c026d8-3fb8-/resourceGroups/f6bd7802-752c-48d/providers/Microsoft.Devices/IotHubs/7d86ad24-f/routing/routes/$testall"; - Requests[2184] = new DefaultHttpContext(); - Requests[2184].RequestServices = CreateServices(); - Requests[2184].Request.Method = "POST"; - Requests[2184].Request.Path = "/subscriptions/27554727-5556-/resourceGroups/736f82f3-2d4a-4f2/providers/Microsoft.Devices/IotHubs/ad4ce50c-4/routing/routes/$testnew"; - Requests[2185] = new DefaultHttpContext(); - Requests[2185].RequestServices = CreateServices(); - Requests[2185].Request.Method = "POST"; - Requests[2185].Request.Path = "/subscriptions/f8a5e7a2-564f-/resourceGroups/30ff7da3-3f8d-438/providers/Microsoft.OperationalInsights/workspaces/32b759d1-fcb7/features/serviceMap/generateMap"; - Requests[2186] = new DefaultHttpContext(); - Requests[2186].RequestServices = CreateServices(); - Requests[2186].Request.Method = "POST"; - Requests[2186].Request.Path = "/subscriptions/03bf007a-c24c-/resourceGroups/b096e575-3469-447/providers/Microsoft.OperationalInsights/workspaces/6e4eaeda-7f2f/features/serviceMap/machineGroups"; - Requests[2187] = new DefaultHttpContext(); - Requests[2187].RequestServices = CreateServices(); - Requests[2187].Request.Method = "GET"; - Requests[2187].Request.Path = "/subscriptions/78da60d6-ba4f-/resourceGroups/826adf51-da59-4a1/providers/Microsoft.OperationalInsights/workspaces/d72f8133-e240/features/serviceMap/machines"; - Requests[2188] = new DefaultHttpContext(); - Requests[2188].RequestServices = CreateServices(); - Requests[2188].Request.Method = "POST"; - Requests[2188].Request.Path = "/Subscriptions/a20db1d2-ac2d-/resourceGroups/814cff4a-a7b7-41e/providers/Microsoft.RecoveryServices/vaults/714c63ea-7f7/replicationVaultHealth/default/refresh"; - Requests[2189] = new DefaultHttpContext(); - Requests[2189].RequestServices = CreateServices(); - Requests[2189].Request.Method = "GET"; - Requests[2189].Request.Path = "/subscriptions/ff8850c8-ffd9-/resourceGroups/60cbd492-74a5-4e1/providers/Microsoft.Storage/storageAccounts/dc83cd81-d0/blobServices/default/containers"; - Requests[2190] = new DefaultHttpContext(); - Requests[2190].RequestServices = CreateServices(); - Requests[2190].Request.Method = "GET"; - Requests[2190].Request.Path = "/subscriptions/27ab6350-b86e-/resourceGroups/1a30327d-44cf-48a/providers/Microsoft.Web/hostingEnvironments/434b5/multiRolePools/default/metricdefinitions"; - Requests[2191] = new DefaultHttpContext(); - Requests[2191].RequestServices = CreateServices(); - Requests[2191].Request.Method = "GET"; - Requests[2191].Request.Path = "/subscriptions/01cd854a-a174-/resourceGroups/e4ed130f-9d5c-448/providers/Microsoft.Web/hostingEnvironments/fd820/multiRolePools/default/metrics"; - Requests[2192] = new DefaultHttpContext(); - Requests[2192].RequestServices = CreateServices(); - Requests[2192].Request.Method = "GET"; - Requests[2192].Request.Path = "/subscriptions/db032805-3477-/resourceGroups/bd8b925b-ec47-487/providers/Microsoft.Web/hostingEnvironments/c1d04/multiRolePools/default/skus"; - Requests[2193] = new DefaultHttpContext(); - Requests[2193].RequestServices = CreateServices(); - Requests[2193].Request.Method = "GET"; - Requests[2193].Request.Path = "/subscriptions/c9ca54ad-5c43-/resourceGroups/7707413f-4a00-497/providers/Microsoft.Web/hostingEnvironments/bd34a/multiRolePools/default/usages"; - Requests[2194] = new DefaultHttpContext(); - Requests[2194].RequestServices = CreateServices(); - Requests[2194].Request.Method = "POST"; - Requests[2194].Request.Path = "/subscriptions/ffbbafb9-82bb-/resourceGroups/9156c30f-0dcc-437/providers/Microsoft.Web/sites/2d86f/config/appsettings/list"; - Requests[2195] = new DefaultHttpContext(); - Requests[2195].RequestServices = CreateServices(); - Requests[2195].Request.Method = "POST"; - Requests[2195].Request.Path = "/subscriptions/c5e65aa7-7941-/resourceGroups/767b7913-9e15-45e/providers/Microsoft.Web/sites/8cd95/config/authsettings/list"; - Requests[2196] = new DefaultHttpContext(); - Requests[2196].RequestServices = CreateServices(); - Requests[2196].Request.Method = "POST"; - Requests[2196].Request.Path = "/subscriptions/c3aff4c8-89c6-/resourceGroups/c5d82629-0b85-49e/providers/Microsoft.Web/sites/d5bd4/config/backup/list"; - Requests[2197] = new DefaultHttpContext(); - Requests[2197].RequestServices = CreateServices(); - Requests[2197].Request.Method = "POST"; - Requests[2197].Request.Path = "/subscriptions/ff91f1e4-4025-/resourceGroups/a335ae85-d835-4f6/providers/Microsoft.Web/sites/fd43e/config/connectionstrings/list"; - Requests[2198] = new DefaultHttpContext(); - Requests[2198].RequestServices = CreateServices(); - Requests[2198].Request.Method = "POST"; - Requests[2198].Request.Path = "/subscriptions/34f7932a-858b-/resourceGroups/27fefd82-e2ab-412/providers/Microsoft.Web/sites/f19b8/config/metadata/list"; - Requests[2199] = new DefaultHttpContext(); - Requests[2199].RequestServices = CreateServices(); - Requests[2199].Request.Method = "POST"; - Requests[2199].Request.Path = "/subscriptions/2fdeeb76-2ba1-/resourceGroups/e47ed9c1-df96-4b1/providers/Microsoft.Web/sites/44bcd/config/publishingcredentials/list"; - Requests[2200] = new DefaultHttpContext(); - Requests[2200].RequestServices = CreateServices(); - Requests[2200].Request.Method = "POST"; - Requests[2200].Request.Path = "/subscriptions/6f706c5c-b29e-/resourceGroups/a6e67c64-02d7-4f2/providers/Microsoft.Web/sites/f96cb/config/pushsettings/list"; - Requests[2201] = new DefaultHttpContext(); - Requests[2201].RequestServices = CreateServices(); - Requests[2201].Request.Method = "GET"; - Requests[2201].Request.Path = "/subscriptions/7a75a34f-e2fd-/resourceGroups/8c5bc65c-f24d-4e6/providers/Microsoft.Web/sites/51513/config/web/snapshots"; - Requests[2202] = new DefaultHttpContext(); - Requests[2202].RequestServices = CreateServices(); - Requests[2202].Request.Method = "POST"; - Requests[2202].Request.Path = "/subscriptions/42259e17-aa1c-/resourceGroups/74c445dc-f9e2-4ee/providers/Microsoft.Web/sites/04d64/containerlogs/zip/download"; - Requests[2203] = new DefaultHttpContext(); - Requests[2203].RequestServices = CreateServices(); - Requests[2203].Request.Method = "GET"; - Requests[2203].Request.Path = "/subscriptions/b710cd00-4782-/resourceGroups/1ae8d582-ebf7-4c4/providers/Microsoft.Web/sites/21051/extensions/MSDeploy/log"; - Requests[2204] = new DefaultHttpContext(); - Requests[2204].RequestServices = CreateServices(); - Requests[2204].Request.Method = "GET"; - Requests[2204].Request.Path = "/subscriptions/77f89e63-ac35-/resourceGroups/c8079511-9629-441/providers/Microsoft.Web/sites/2c534/functions/admin/token"; - Requests[2205] = new DefaultHttpContext(); - Requests[2205].RequestServices = CreateServices(); - Requests[2205].Request.Method = "POST"; - Requests[2205].Request.Path = "/subscriptions/49200238-ef1e-/resourceGroups/6bc16636-362c-458/providers/Microsoft.ApiManagement/service/00ce2bb8-6b/tenant/access/git/regeneratePrimaryKey"; - Requests[2206] = new DefaultHttpContext(); - Requests[2206].RequestServices = CreateServices(); - Requests[2206].Request.Method = "POST"; - Requests[2206].Request.Path = "/subscriptions/73af1d28-c405-/resourceGroups/8c980a4b-6a60-4cd/providers/Microsoft.ApiManagement/service/8eec06b0-86/tenant/access/git/regenerateSecondaryKey"; - Requests[2207] = new DefaultHttpContext(); - Requests[2207].RequestServices = CreateServices(); - Requests[2207].Request.Method = "GET"; - Requests[2207].Request.Path = "/subscriptions/35686525-4022-/resourceGroups/8044ba6f-eaf4-44c/providers/Microsoft.OperationalInsights/workspaces/d763e6ba-96cb/features/serviceMap/summaries/machines"; - Requests[2208] = new DefaultHttpContext(); - Requests[2208].RequestServices = CreateServices(); - Requests[2208].Request.Method = "GET"; - Requests[2208].Request.Path = "/subscriptions/fa1b5253-4dd5-/resourceGroups/b867371f-890b-430/providers/Microsoft.OperationalInsights/workspaces/8d8fb075-9262/features/serviceMap/clientGroups/26137626-3811-4"; - Requests[2209] = new DefaultHttpContext(); - Requests[2209].RequestServices = CreateServices(); - Requests[2209].Request.Method = "DELETE"; - Requests[2209].Request.Path = "/subscriptions/b63f24dd-9f3a-/resourceGroups/6129f0a0-695e-4bf/providers/Microsoft.OperationalInsights/workspaces/32c631e4-3635/features/serviceMap/machineGroups/fe1ec22c-3afd-42"; - Requests[2210] = new DefaultHttpContext(); - Requests[2210].RequestServices = CreateServices(); - Requests[2210].Request.Method = "GET"; - Requests[2210].Request.Path = "/subscriptions/ac55db6c-2390-/resourceGroups/a3c16b9c-4d3a-404/providers/Microsoft.OperationalInsights/workspaces/72e939af-80a5/features/serviceMap/machines/5c7909aa-93"; - Requests[2211] = new DefaultHttpContext(); - Requests[2211].RequestServices = CreateServices(); - Requests[2211].Request.Method = "DELETE"; - Requests[2211].Request.Path = "/subscriptions/9911e313-bc9c-/resourceGroups/a48b83d5-d45a-46f/providers/Microsoft.Storage/storageAccounts/4a6248f1-c4/blobServices/default/containers/17327fc3-0954"; - Requests[2212] = new DefaultHttpContext(); - Requests[2212].RequestServices = CreateServices(); - Requests[2212].Request.Method = "GET"; - Requests[2212].Request.Path = "/subscriptions/9ec7ab0b-8bf3-/resourceGroups/e1fc0845-8c5b-401/providers/Microsoft.Web/sites/030d2/config/web/snapshots/06ba1f9d-d"; - Requests[2213] = new DefaultHttpContext(); - Requests[2213].RequestServices = CreateServices(); - Requests[2213].Request.Method = "GET"; - Requests[2213].Request.Path = "/subscriptions/ae1964b4-1e1d-/resourceGroups/819c3cbb-ca40-4cb/providers/Microsoft.OperationalInsights/workspaces/b9b9b859-1d08/features/serviceMap/clientGroups/f24c8a85-cf3b-4/members"; - Requests[2214] = new DefaultHttpContext(); - Requests[2214].RequestServices = CreateServices(); - Requests[2214].Request.Method = "GET"; - Requests[2214].Request.Path = "/subscriptions/b6f9eb3e-82c7-/resourceGroups/5e461004-a6d3-449/providers/Microsoft.OperationalInsights/workspaces/0ea349ab-e8bf/features/serviceMap/clientGroups/11cecb6f-fab5-4/membersCount"; - Requests[2215] = new DefaultHttpContext(); - Requests[2215].RequestServices = CreateServices(); - Requests[2215].Request.Method = "GET"; - Requests[2215].Request.Path = "/subscriptions/57b27411-3eaa-/resourceGroups/2684932d-01f9-41f/providers/Microsoft.OperationalInsights/workspaces/9b237290-7475/features/serviceMap/machines/270342b5-41/connections"; - Requests[2216] = new DefaultHttpContext(); - Requests[2216].RequestServices = CreateServices(); - Requests[2216].Request.Method = "GET"; - Requests[2216].Request.Path = "/subscriptions/2fac163a-29fe-/resourceGroups/7a056ea0-e5d0-49b/providers/Microsoft.OperationalInsights/workspaces/cafa1ba6-32cd/features/serviceMap/machines/8b45d0bc-a7/liveness"; - Requests[2217] = new DefaultHttpContext(); - Requests[2217].RequestServices = CreateServices(); - Requests[2217].Request.Method = "GET"; - Requests[2217].Request.Path = "/subscriptions/21e015fa-3735-/resourceGroups/a31a5d51-c05d-455/providers/Microsoft.OperationalInsights/workspaces/ef123449-3089/features/serviceMap/machines/8c32160d-df/machineGroups"; - Requests[2218] = new DefaultHttpContext(); - Requests[2218].RequestServices = CreateServices(); - Requests[2218].Request.Method = "GET"; - Requests[2218].Request.Path = "/subscriptions/68424949-5bc2-/resourceGroups/9b623008-e2a5-45c/providers/Microsoft.OperationalInsights/workspaces/fb9ed023-b74e/features/serviceMap/machines/cdfa4b14-12/ports"; - Requests[2219] = new DefaultHttpContext(); - Requests[2219].RequestServices = CreateServices(); - Requests[2219].Request.Method = "GET"; - Requests[2219].Request.Path = "/subscriptions/fa52e9c8-693d-/resourceGroups/92a6fb54-7057-48d/providers/Microsoft.OperationalInsights/workspaces/cf5bdf86-bb70/features/serviceMap/machines/6d8ef085-11/processes"; - Requests[2220] = new DefaultHttpContext(); - Requests[2220].RequestServices = CreateServices(); - Requests[2220].Request.Method = "POST"; - Requests[2220].Request.Path = "/subscriptions/3fe3151c-45ee-/resourceGroups/bf775833-8e5e-4b0/providers/Microsoft.Storage/storageAccounts/8e4d91e9-ec/blobServices/default/containers/cf4e7522-8526/clearLegalHold"; - Requests[2221] = new DefaultHttpContext(); - Requests[2221].RequestServices = CreateServices(); - Requests[2221].Request.Method = "POST"; - Requests[2221].Request.Path = "/subscriptions/436c9c74-b899-/resourceGroups/8386c07f-468e-475/providers/Microsoft.Storage/storageAccounts/57be9860-92/blobServices/default/containers/83a52191-f014/setLegalHold"; - Requests[2222] = new DefaultHttpContext(); - Requests[2222].RequestServices = CreateServices(); - Requests[2222].Request.Method = "GET"; - Requests[2222].Request.Path = "/subscriptions/21543f70-3622-/resourceGroups/ab653975-dc32-4e3/providers/Microsoft.Web/hostingEnvironments/6d8c9/multiRolePools/default/instances/5bd2ca85/metricdefinitions"; - Requests[2223] = new DefaultHttpContext(); - Requests[2223].RequestServices = CreateServices(); - Requests[2223].Request.Method = "GET"; - Requests[2223].Request.Path = "/subscriptions/ef528602-f940-/resourceGroups/258157e9-4d15-45d/providers/Microsoft.Web/hostingEnvironments/07467/multiRolePools/default/instances/8dbf6b80/metrics"; - Requests[2224] = new DefaultHttpContext(); - Requests[2224].RequestServices = CreateServices(); - Requests[2224].Request.Method = "POST"; - Requests[2224].Request.Path = "/subscriptions/7d9a013c-7bfe-/resourceGroups/be682afe-6a11-4d5/providers/Microsoft.Web/sites/a582d/config/web/snapshots/c8e52b88-5/recover"; - Requests[2225] = new DefaultHttpContext(); - Requests[2225].RequestServices = CreateServices(); - Requests[2225].Request.Method = "POST"; - Requests[2225].Request.Path = "/subscriptions/8c08fe55-a040-/resourceGroups/84d5251a-a5c1-4f9/providers/Microsoft.Storage/storageAccounts/fe7fc620-8c/blobServices/default/containers/dfe7004f-53dd/immutabilityPolicies/default/extend"; - Requests[2226] = new DefaultHttpContext(); - Requests[2226].RequestServices = CreateServices(); - Requests[2226].Request.Method = "POST"; - Requests[2226].Request.Path = "/subscriptions/a3711790-fc7c-/resourceGroups/f065a00e-911b-4c6/providers/Microsoft.Storage/storageAccounts/2c1b1509-eb/blobServices/default/containers/e4df955f-b8a3/immutabilityPolicies/default/lock"; - Requests[2227] = new DefaultHttpContext(); - Requests[2227].RequestServices = CreateServices(); - Requests[2227].Request.Method = "GET"; - Requests[2227].Request.Path = "/subscriptions/d6b58149-4c87-/resourceGroups/a8b0affe-e2f2-431/providers/Microsoft.OperationalInsights/workspaces/87897b9e-fef8/features/serviceMap/machines/412d598e-15/ports/1bb68c2e"; - Requests[2228] = new DefaultHttpContext(); - Requests[2228].RequestServices = CreateServices(); - Requests[2228].Request.Method = "GET"; - Requests[2228].Request.Path = "/subscriptions/907f2389-2bdc-/resourceGroups/04e6ba29-3904-422/providers/Microsoft.OperationalInsights/workspaces/37bc6438-0a05/features/serviceMap/machines/8b6d3339-36/processes/070e546e-31"; - Requests[2229] = new DefaultHttpContext(); - Requests[2229].RequestServices = CreateServices(); - Requests[2229].Request.Method = "DELETE"; - Requests[2229].Request.Path = "/subscriptions/36791325-f989-/resourceGroups/d436cb1a-1c00-410/providers/Microsoft.Storage/storageAccounts/daf488ec-00/blobServices/default/containers/40419c6f-5a44/immutabilityPolicies/ef1658af-2949-4e81-ba0"; - Requests[2230] = new DefaultHttpContext(); - Requests[2230].RequestServices = CreateServices(); - Requests[2230].Request.Method = "GET"; - Requests[2230].Request.Path = "/subscriptions/0ba318dd-4bde-/resourceGroups/78de34a1-baa1-4c4/providers/Microsoft.OperationalInsights/workspaces/37b46289-7edc/features/serviceMap/machines/92ea8946-d6/ports/0f0ab4e3/acceptingProcesses"; - Requests[2231] = new DefaultHttpContext(); - Requests[2231].RequestServices = CreateServices(); - Requests[2231].Request.Method = "GET"; - Requests[2231].Request.Path = "/subscriptions/567a4aeb-ffd9-/resourceGroups/afad1f24-186b-406/providers/Microsoft.OperationalInsights/workspaces/6d5296a0-10f7/features/serviceMap/machines/00b394e2-ea/ports/6e5e57e5/connections"; - Requests[2232] = new DefaultHttpContext(); - Requests[2232].RequestServices = CreateServices(); - Requests[2232].Request.Method = "GET"; - Requests[2232].Request.Path = "/subscriptions/e3192af0-745b-/resourceGroups/4955f9af-15e8-450/providers/Microsoft.OperationalInsights/workspaces/aa31aabb-90ba/features/serviceMap/machines/8bedec71-ba/ports/c66d3ee4/liveness"; - Requests[2233] = new DefaultHttpContext(); - Requests[2233].RequestServices = CreateServices(); - Requests[2233].Request.Method = "GET"; - Requests[2233].Request.Path = "/subscriptions/6113adf3-33da-/resourceGroups/270502cb-48b4-42a/providers/Microsoft.OperationalInsights/workspaces/35e0d3b1-28cf/features/serviceMap/machines/706b5719-dd/processes/912dcc87-99/acceptingPorts"; - Requests[2234] = new DefaultHttpContext(); - Requests[2234].RequestServices = CreateServices(); - Requests[2234].Request.Method = "GET"; - Requests[2234].Request.Path = "/subscriptions/d5675f55-f411-/resourceGroups/7059ab2b-ad5b-463/providers/Microsoft.OperationalInsights/workspaces/ef58ec3c-7a71/features/serviceMap/machines/f13c6401-91/processes/eee145d1-90/connections"; - Requests[2235] = new DefaultHttpContext(); - Requests[2235].RequestServices = CreateServices(); - Requests[2235].Request.Method = "GET"; - Requests[2235].Request.Path = "/subscriptions/3e6c8eec-5bcf-/resourceGroups/36cfb436-144e-4c0/providers/Microsoft.OperationalInsights/workspaces/ccbc89ba-dce5/features/serviceMap/machines/a39119d6-cf/processes/78456fa6-e0/liveness"; - Requests[2236] = new DefaultHttpContext(); - Requests[2236].RequestServices = CreateServices(); - Requests[2236].Request.Method = "GET"; - Requests[2236].Request.Path = "/Subscriptions/36498ec7-ac22-/resourceGroups/b95a146b-0cc0-471/providers/Microsoft.RecoveryServices/vaults/1a411d57-/backupJobs/operationResults/ebaa103c-00"; - Requests[2237] = new DefaultHttpContext(); - Requests[2237].RequestServices = CreateServices(); - Requests[2237].Request.Method = "GET"; - Requests[2237].Request.Path = "/subscriptions/4ac072be-0b06-/resourcegroups/e988ebf6-e8af-4dd/providers/Microsoft.Storage.Admin/farms/fd776c/shares/operationresults/817b3e32-f3"; - Requests[2238] = new DefaultHttpContext(); - Requests[2238].RequestServices = CreateServices(); - Requests[2238].Request.Method = "DELETE"; - Requests[2238].Request.Path = "/subscriptions/7f6e1bd9-c6c9-/resourceGroup/e81e3a8d-9276-4cb/providers/Microsoft.MachineLearningServices/workspaces/2a4e3708-9b35/computes/8ce42711-7f"; - Requests[2239] = new DefaultHttpContext(); - Requests[2239].RequestServices = CreateServices(); - Requests[2239].Request.Method = "PATCH"; - Requests[2239].Request.Path = "/subscriptions/2638106b-1d78-/resourceGroups/a4af4bc5-/providers/Microsoft.DataMigration/services/d8afbb01-ba/projects/0ea37efa-7a"; - Requests[2240] = new DefaultHttpContext(); - Requests[2240].RequestServices = CreateServices(); - Requests[2240].Request.Method = "DELETE"; - Requests[2240].Request.Path = "/subscriptions/d07784f4-88bf-/resourcegroups/188ffa96-f680/providers/Microsoft.AzureBridge.Admin/activations/db3c17b8-e4eb-/downloadedProducts/b3762caa-1f"; - Requests[2241] = new DefaultHttpContext(); - Requests[2241].RequestServices = CreateServices(); - Requests[2241].Request.Method = "GET"; - Requests[2241].Request.Path = "/subscriptions/4d224bd5-6422-/resourcegroups/7c1b626e-fecb/providers/Microsoft.AzureBridge.Admin/activations/f5e83074-2922-/products/0d0b7262-d9"; - Requests[2242] = new DefaultHttpContext(); - Requests[2242].RequestServices = CreateServices(); - Requests[2242].Request.Method = "PUT"; - Requests[2242].Request.Path = "/subscriptions/c4b549a8-8dac-/resourceGroups/ce2bcd97-85fa/providers/Microsoft.AzureStack/registrations/031331a5-f8e0-41/customerSubscriptions/c352bae5-c38d-4a84-b0c8-"; - Requests[2243] = new DefaultHttpContext(); - Requests[2243].RequestServices = CreateServices(); - Requests[2243].Request.Method = "GET"; - Requests[2243].Request.Path = "/subscriptions/cd9ce674-cc77-/resourceGroups/6e202d81-277c/providers/Microsoft.AzureStack/registrations/35501ecb-a832-49/products/1a7881c1-7f"; - Requests[2244] = new DefaultHttpContext(); - Requests[2244].RequestServices = CreateServices(); - Requests[2244].Request.Method = "DELETE"; - Requests[2244].Request.Path = "/subscriptions/514495cb-e7f2-/resourceGroups/b701f6a7-42a3-436/providers/Microsoft.ApiManagement/service/d2ffd5c2-96/apis/12a78"; - Requests[2245] = new DefaultHttpContext(); - Requests[2245].RequestServices = CreateServices(); - Requests[2245].Request.Method = "DELETE"; - Requests[2245].Request.Path = "/subscriptions/6fad412a-e76d-/resourceGroups/08765695-6d12-4a0/providers/Microsoft.ApiManagement/service/37fe1d87-41/api-version-sets/c87b0f23-ff1"; - Requests[2246] = new DefaultHttpContext(); - Requests[2246].RequestServices = CreateServices(); - Requests[2246].Request.Method = "DELETE"; - Requests[2246].Request.Path = "/subscriptions/9e1078d6-e27d-/resourceGroups/139aa9a6-c60b-46b/providers/Microsoft.ApiManagement/service/666e026f-20/authorizationServers/cdfd2a3"; - Requests[2247] = new DefaultHttpContext(); - Requests[2247].RequestServices = CreateServices(); - Requests[2247].Request.Method = "DELETE"; - Requests[2247].Request.Path = "/subscriptions/ce369e17-1c10-/resourceGroups/4e39002f-0517-4f7/providers/Microsoft.ApiManagement/service/45605001-a0/backends/c920ddc3-"; - Requests[2248] = new DefaultHttpContext(); - Requests[2248].RequestServices = CreateServices(); - Requests[2248].Request.Method = "DELETE"; - Requests[2248].Request.Path = "/subscriptions/1dcce671-28d0-/resourceGroups/1df09992-51db-4ca/providers/Microsoft.ApiManagement/service/d1ef35c5-50/certificates/ba198320-b385"; - Requests[2249] = new DefaultHttpContext(); - Requests[2249].RequestServices = CreateServices(); - Requests[2249].Request.Method = "DELETE"; - Requests[2249].Request.Path = "/subscriptions/223b077c-b098-/resourceGroups/4f41bc84-f038-488/providers/Microsoft.ApiManagement/service/ed11e076-c6/diagnostics/e25a5432-503"; - Requests[2250] = new DefaultHttpContext(); - Requests[2250].RequestServices = CreateServices(); - Requests[2250].Request.Method = "DELETE"; - Requests[2250].Request.Path = "/subscriptions/49580d92-20dd-/resourceGroups/10aa6fe4-0d55-460/providers/Microsoft.ApiManagement/service/b0cfdecd-d9/groups/de853ff"; - Requests[2251] = new DefaultHttpContext(); - Requests[2251].RequestServices = CreateServices(); - Requests[2251].Request.Method = "DELETE"; - Requests[2251].Request.Path = "/subscriptions/0bf442eb-4c03-/resourceGroups/8cfd8b95-846c-4cb/providers/Microsoft.ApiManagement/service/abd8d6a1-c6/identityProviders/9e0792a4-ed18-4175-8"; - Requests[2252] = new DefaultHttpContext(); - Requests[2252].RequestServices = CreateServices(); - Requests[2252].Request.Method = "DELETE"; - Requests[2252].Request.Path = "/subscriptions/32162419-0078-/resourceGroups/1a1c6180-56ee-425/providers/Microsoft.ApiManagement/service/9ce5d1ad-9f/loggers/a0c1f4b6"; - Requests[2253] = new DefaultHttpContext(); - Requests[2253].RequestServices = CreateServices(); - Requests[2253].Request.Method = "PUT"; - Requests[2253].Request.Path = "/subscriptions/2254ae15-134f-/resourceGroups/4291b3ae-6ec4-44c/providers/Microsoft.ApiManagement/service/cdd2d301-e4/notifications/6d715272-80c3-44"; - Requests[2254] = new DefaultHttpContext(); - Requests[2254].RequestServices = CreateServices(); - Requests[2254].Request.Method = "DELETE"; - Requests[2254].Request.Path = "/subscriptions/d21d537b-3cb0-/resourceGroups/4ca2bf27-fe0f-4f4/providers/Microsoft.ApiManagement/service/02350bba-c2/openidConnectProviders/cdaf5"; - Requests[2255] = new DefaultHttpContext(); - Requests[2255].RequestServices = CreateServices(); - Requests[2255].Request.Method = "DELETE"; - Requests[2255].Request.Path = "/subscriptions/f8945052-fb77-/resourceGroups/676ef230-7585-480/providers/Microsoft.ApiManagement/service/9bbb6298-6b/policies/3a2914c2"; - Requests[2256] = new DefaultHttpContext(); - Requests[2256].RequestServices = CreateServices(); - Requests[2256].Request.Method = "DELETE"; - Requests[2256].Request.Path = "/subscriptions/4243af05-ca85-/resourceGroups/43346355-703a-4ff/providers/Microsoft.ApiManagement/service/e14f7bef-2c/products/e8594cab-"; - Requests[2257] = new DefaultHttpContext(); - Requests[2257].RequestServices = CreateServices(); - Requests[2257].Request.Method = "DELETE"; - Requests[2257].Request.Path = "/subscriptions/93eeb554-0773-/resourceGroups/28e10f14-6706-433/providers/Microsoft.ApiManagement/service/0ad89691-1d/properties/602089"; - Requests[2258] = new DefaultHttpContext(); - Requests[2258].RequestServices = CreateServices(); - Requests[2258].Request.Method = "PATCH"; - Requests[2258].Request.Path = "/subscriptions/73e44278-e4d2-/resourceGroups/00708e62-0298-4a7/providers/Microsoft.ApiManagement/service/3b413d0f-38/quotas/888ce569-941f-4"; - Requests[2259] = new DefaultHttpContext(); - Requests[2259].RequestServices = CreateServices(); - Requests[2259].Request.Method = "GET"; - Requests[2259].Request.Path = "/subscriptions/649f660f-b7f7-/resourceGroups/0b3e0993-9309-4f5/providers/Microsoft.ApiManagement/service/fe241494-b8/reports/c292fb2c-8b"; - Requests[2260] = new DefaultHttpContext(); - Requests[2260].RequestServices = CreateServices(); - Requests[2260].Request.Method = "DELETE"; - Requests[2260].Request.Path = "/subscriptions/f6f666c2-7c5d-/resourceGroups/12616e41-de6c-456/providers/Microsoft.ApiManagement/service/b8de0096-8c/subscriptions/92abd"; - Requests[2261] = new DefaultHttpContext(); - Requests[2261].RequestServices = CreateServices(); - Requests[2261].Request.Method = "DELETE"; - Requests[2261].Request.Path = "/subscriptions/f3a94596-5b6e-/resourceGroups/05a599fa-d8a2-42b/providers/Microsoft.ApiManagement/service/c1c523e2-d8/tags/72071"; - Requests[2262] = new DefaultHttpContext(); - Requests[2262].RequestServices = CreateServices(); - Requests[2262].Request.Method = "DELETE"; - Requests[2262].Request.Path = "/subscriptions/f642c54b-f61a-/resourceGroups/082bae98-54ad-4bd/providers/Microsoft.ApiManagement/service/19be2e50-9f/templates/0a19f249-a9c"; - Requests[2263] = new DefaultHttpContext(); - Requests[2263].RequestServices = CreateServices(); - Requests[2263].Request.Method = "PATCH"; - Requests[2263].Request.Path = "/subscriptions/e581e6b0-10a4-/resourceGroups/fcaa7125-95bf-481/providers/Microsoft.ApiManagement/service/49ec983a-55/tenant/8f402d99-0"; - Requests[2264] = new DefaultHttpContext(); - Requests[2264].RequestServices = CreateServices(); - Requests[2264].Request.Method = "DELETE"; - Requests[2264].Request.Path = "/subscriptions/c3c4849e-fa20-/resourceGroups/39d370b7-2368-431/providers/Microsoft.ApiManagement/service/72342ae5-84/users/702a6"; - Requests[2265] = new DefaultHttpContext(); - Requests[2265].RequestServices = CreateServices(); - Requests[2265].Request.Method = "PATCH"; - Requests[2265].Request.Path = "/subscriptions/345662f7-ef80-/resourceGroups/807c07f7-2d73-40b/providers/Microsoft.Automation/automationAccounts/7a4b7141-d700-4017-82/certificates/f6c51a0b-62c4-4"; - Requests[2266] = new DefaultHttpContext(); - Requests[2266].RequestServices = CreateServices(); - Requests[2266].Request.Method = "GET"; - Requests[2266].Request.Path = "/subscriptions/cff4aca5-7adf-/resourceGroups/7b44ecf1-24e9-48f/providers/Microsoft.Automation/automationAccounts/e6fc0e25-3ec8-4d46-a0/compilationjobs/707bb467-4b28-4e2e"; - Requests[2267] = new DefaultHttpContext(); - Requests[2267].RequestServices = CreateServices(); - Requests[2267].Request.Method = "PATCH"; - Requests[2267].Request.Path = "/subscriptions/2ff752b3-2f7b-/resourceGroups/9123f209-fe86-423/providers/Microsoft.Automation/automationAccounts/1bbd7c82-a57d-4ed3-be/configurations/79c69d9c-377c-4e3"; - Requests[2268] = new DefaultHttpContext(); - Requests[2268].RequestServices = CreateServices(); - Requests[2268].Request.Method = "PATCH"; - Requests[2268].Request.Path = "/subscriptions/f09ae139-31c2-/resourceGroups/fff4f9ee-ad9f-40b/providers/Microsoft.Automation/automationAccounts/5b9d036a-13b8-4ca1-a3/connections/7747da7d-daf8-"; - Requests[2269] = new DefaultHttpContext(); - Requests[2269].RequestServices = CreateServices(); - Requests[2269].Request.Method = "PUT"; - Requests[2269].Request.Path = "/subscriptions/f67681d3-0186-/resourceGroups/32f8ad0c-ac95-4e9/providers/Microsoft.Automation/automationAccounts/06780393-1c48-4215-ac/connectionTypes/2487e7f5-7896-42d2"; - Requests[2270] = new DefaultHttpContext(); - Requests[2270].RequestServices = CreateServices(); - Requests[2270].Request.Method = "PATCH"; - Requests[2270].Request.Path = "/subscriptions/f29a821f-0510-/resourceGroups/15ac1d3e-a969-4b9/providers/Microsoft.Automation/automationAccounts/bd4a9f4d-ee29-4fe7-80/credentials/aa92ceaa-b2a0-"; - Requests[2271] = new DefaultHttpContext(); - Requests[2271].RequestServices = CreateServices(); - Requests[2271].Request.Method = "PATCH"; - Requests[2271].Request.Path = "/subscriptions/25df9efd-513f-/resourceGroups/19e57fc0-1a57-4d7/providers/Microsoft.Automation/automationAccounts/ce9e5731-3ea9-4a6c-95/hybridRunbookWorkerGroups/7a97ff7b-d07a-4763-814f-f53c"; - Requests[2272] = new DefaultHttpContext(); - Requests[2272].RequestServices = CreateServices(); - Requests[2272].Request.Method = "PUT"; - Requests[2272].Request.Path = "/subscriptions/c0556e94-eb70-/resourceGroups/98571a72-9cde-444/providers/Microsoft.Automation/automationAccounts/0d07870b-f41d-4fad-8c/jobs/b28f4"; - Requests[2273] = new DefaultHttpContext(); - Requests[2273].RequestServices = CreateServices(); - Requests[2273].Request.Method = "PUT"; - Requests[2273].Request.Path = "/subscriptions/8a32c406-1c63-/resourceGroups/7e480bf6-98f8-4f7/providers/Microsoft.Automation/automationAccounts/79fa9ab0-5fc2-4caf-85/jobSchedules/10b99f2d-5ad4"; - Requests[2274] = new DefaultHttpContext(); - Requests[2274].RequestServices = CreateServices(); - Requests[2274].Request.Method = "PATCH"; - Requests[2274].Request.Path = "/subscriptions/d2eb0c61-b720-/resourceGroups/d893cdbc-233b-423/providers/Microsoft.Automation/automationAccounts/636a2e03-4145-4b64-94/modules/9ab14285-a"; - Requests[2275] = new DefaultHttpContext(); - Requests[2275].RequestServices = CreateServices(); - Requests[2275].Request.Method = "PUT"; - Requests[2275].Request.Path = "/subscriptions/4e365c7d-7cab-/resourceGroups/526a40af-31bc-41f/providers/Microsoft.Automation/automationAccounts/fedd2abf-dac5-4d1e-9f/nodeConfigurations/d94e31ac-e289-4fd3-82"; - Requests[2276] = new DefaultHttpContext(); - Requests[2276].RequestServices = CreateServices(); - Requests[2276].Request.Method = "GET"; - Requests[2276].Request.Path = "/subscriptions/5bd22594-5658-/resourceGroups/41e04111-9bff-4b5/providers/Microsoft.Automation/automationAccounts/164621d4-0237-48ea-a7/nodecounts/4d9361e9-"; - Requests[2277] = new DefaultHttpContext(); - Requests[2277].RequestServices = CreateServices(); - Requests[2277].Request.Method = "PATCH"; - Requests[2277].Request.Path = "/subscriptions/83c8582a-8f39-/resourceGroups/3b54c6e6-3591-4e5/providers/Microsoft.Automation/automationAccounts/55bfba79-a221-4902-b9/nodes/a3ef0d"; - Requests[2278] = new DefaultHttpContext(); - Requests[2278].RequestServices = CreateServices(); - Requests[2278].Request.Method = "DELETE"; - Requests[2278].Request.Path = "/subscriptions/e9e95b14-07f5-/resourceGroups/504e71bd-cb63-4b3/providers/Microsoft.Automation/automationAccounts/654fd95a-4c55-4f46-a5/runbooks/585789ec-be"; - Requests[2279] = new DefaultHttpContext(); - Requests[2279].RequestServices = CreateServices(); - Requests[2279].Request.Method = "DELETE"; - Requests[2279].Request.Path = "/subscriptions/3bedf388-6e33-/resourceGroups/8c407693-9ceb-4f7/providers/Microsoft.Automation/automationAccounts/0edebe2e-60d5-432a-9a/schedules/c9212659-1bf"; - Requests[2280] = new DefaultHttpContext(); - Requests[2280].RequestServices = CreateServices(); - Requests[2280].Request.Method = "GET"; - Requests[2280].Request.Path = "/subscriptions/3da069c4-2189-/resourceGroups/cd545fee-50b4-49d/providers/Microsoft.Automation/automationAccounts/f233a9ee-42c0-457c-81/softwareUpdateConfigurationMachineRuns/a3345645-5be2-4dac-b44e-8fcb9be2fa50"; - Requests[2281] = new DefaultHttpContext(); - Requests[2281].RequestServices = CreateServices(); - Requests[2281].Request.Method = "GET"; - Requests[2281].Request.Path = "/subscriptions/a6957a4b-7eb7-/resourceGroups/ef6d8ac5-2470-4e5/providers/Microsoft.Automation/automationAccounts/4827e900-c705-4959-a8/softwareUpdateConfigurationRuns/6af47c09-5b2b-4b00-a216-0a361ea3"; - Requests[2282] = new DefaultHttpContext(); - Requests[2282].RequestServices = CreateServices(); - Requests[2282].Request.Method = "DELETE"; - Requests[2282].Request.Path = "/subscriptions/de332ca0-305a-/resourceGroups/5c3d4434-9953-453/providers/Microsoft.Automation/automationAccounts/6aef4397-990f-4252-98/softwareUpdateConfigurations/48fdb3b2-767a-4eba-b77a-da7e41c"; - Requests[2283] = new DefaultHttpContext(); - Requests[2283].RequestServices = CreateServices(); - Requests[2283].Request.Method = "GET"; - Requests[2283].Request.Path = "/subscriptions/f6cbc1c5-0b1b-/resourceGroups/f37d34cc-d103-47d/providers/Microsoft.Automation/automationAccounts/613ca7d2-b9ec-42d3-88/sourceControls/61f6f3cb-5ce4-4a7"; - Requests[2284] = new DefaultHttpContext(); - Requests[2284].RequestServices = CreateServices(); - Requests[2284].Request.Method = "GET"; - Requests[2284].Request.Path = "/subscriptions/d0e6126a-d064-/resourceGroups/d6fd1afa-def0-4a2/providers/Microsoft.Automation/automationAccounts/ca33dd2d-ce3b-4ef8-88/variables/5f0ad2c2-823"; - Requests[2285] = new DefaultHttpContext(); - Requests[2285].RequestServices = CreateServices(); - Requests[2285].Request.Method = "DELETE"; - Requests[2285].Request.Path = "/subscriptions/c4f52e74-5560-/resourceGroups/8396cd66-0bdb-42b/providers/Microsoft.Automation/automationAccounts/4c262bc4-8b0d-4f2f-81/watchers/81b184a7-e6"; - Requests[2286] = new DefaultHttpContext(); - Requests[2286].RequestServices = CreateServices(); - Requests[2286].Request.Method = "PATCH"; - Requests[2286].Request.Path = "/subscriptions/7785cc61-164e-/resourceGroups/78452aa8-1501-4de/providers/Microsoft.Automation/automationAccounts/c5fcffd4-73a3-48b4-85/webhooks/0295f8f1-1c"; - Requests[2287] = new DefaultHttpContext(); - Requests[2287].RequestServices = CreateServices(); - Requests[2287].Request.Method = "GET"; - Requests[2287].Request.Path = "/subscriptions/93678f01-9a57-/resourcegroups/4435aef2-352e-463/providers/Microsoft.Backup.Admin/backupLocations/7d28aabf/backups/9d5f73"; - Requests[2288] = new DefaultHttpContext(); - Requests[2288].RequestServices = CreateServices(); - Requests[2288].Request.Method = "PATCH"; - Requests[2288].Request.Path = "/subscriptions/07e7dfbc-4c90-/resourceGroups/81289643-5a85-439/providers/Microsoft.Batch/batchAccounts/73c84e09-61/applications/eba69074-2614"; - Requests[2289] = new DefaultHttpContext(); - Requests[2289].RequestServices = CreateServices(); - Requests[2289].Request.Method = "GET"; - Requests[2289].Request.Path = "/subscriptions/863bb491-fa7e-/resourceGroups/cfa4b713-8f81-402/providers/Microsoft.Batch/batchAccounts/305f990c-70/certificates/97e9752d-bd00-4"; - Requests[2290] = new DefaultHttpContext(); - Requests[2290].RequestServices = CreateServices(); - Requests[2290].Request.Method = "GET"; - Requests[2290].Request.Path = "/subscriptions/9d9115f7-a979-/resourceGroups/858145b4-c6aa-4e6/providers/Microsoft.Batch/batchAccounts/c59db6a3-ab/pools/dd8029f4"; - Requests[2291] = new DefaultHttpContext(); - Requests[2291].RequestServices = CreateServices(); - Requests[2291].Request.Method = "GET"; - Requests[2291].Request.Path = "/subscriptions/b9980ab7-9510-/resourceGroups/02f55dc3-9f70-48c/providers/Microsoft.BatchAI/workspaces/186c0eeb-3d4d/clusters/4970898e-9f"; - Requests[2292] = new DefaultHttpContext(); - Requests[2292].RequestServices = CreateServices(); - Requests[2292].Request.Method = "GET"; - Requests[2292].Request.Path = "/subscriptions/c00f48c0-cd3f-/resourceGroups/517a8254-bb11-4b0/providers/Microsoft.BatchAI/workspaces/75f8e0f5-b3eb/experiments/b592d298-62cf-"; - Requests[2293] = new DefaultHttpContext(); - Requests[2293].RequestServices = CreateServices(); - Requests[2293].Request.Method = "GET"; - Requests[2293].Request.Path = "/subscriptions/a15bb8da-85a5-/resourceGroups/4b8759c5-176a-4d3/providers/Microsoft.BatchAI/workspaces/68504f56-5242/fileServers/f04e77d7-c8d4-"; - Requests[2294] = new DefaultHttpContext(); - Requests[2294].RequestServices = CreateServices(); - Requests[2294].Request.Method = "GET"; - Requests[2294].Request.Path = "/subscriptions/178d04fc-191b-/resourceGroups/2a1c92b7-3f83-445/providers/Microsoft.BotService/botServices/00ba84e4-508/channels/2c44f2fd-25"; - Requests[2295] = new DefaultHttpContext(); - Requests[2295].RequestServices = CreateServices(); - Requests[2295].Request.Method = "DELETE"; - Requests[2295].Request.Path = "/subscriptions/1013e59f-6472-/resourceGroups/490d07d2-cfb5-404/providers/Microsoft.BotService/botServices/66dd6d10-e34/Connections/49a0eff4-ef7f-"; - Requests[2296] = new DefaultHttpContext(); - Requests[2296].RequestServices = CreateServices(); - Requests[2296].Request.Method = "DELETE"; - Requests[2296].Request.Path = "/subscriptions/20ea7d4b-c7f3-/resourceGroups/403eeb62-8254-4fd/providers/Microsoft.Cache/Redis/00a1a2cb-/firewallRules/27e8cbee"; - Requests[2297] = new DefaultHttpContext(); - Requests[2297].RequestServices = CreateServices(); - Requests[2297].Request.Method = "GET"; - Requests[2297].Request.Path = "/subscriptions/a578bb0f-06cd-/resourceGroups/38436a0a-66f8-41e/providers/Microsoft.Cache/Redis/3ebf6/linkedServers/a9418f0b-5f2a-47"; - Requests[2298] = new DefaultHttpContext(); - Requests[2298].RequestServices = CreateServices(); - Requests[2298].Request.Method = "GET"; - Requests[2298].Request.Path = "/subscriptions/1376c163-e819-/resourceGroups/5a9b8cfd-fe79-46e/providers/Microsoft.Cache/Redis/1dc79/patchSchedules/11116d3"; - Requests[2299] = new DefaultHttpContext(); - Requests[2299].RequestServices = CreateServices(); - Requests[2299].Request.Method = "DELETE"; - Requests[2299].Request.Path = "/subscriptions/0d0f8878-aee8-/resourceGroups/7e55fc21-aa37-4b1/providers/Microsoft.Cdn/profiles/ed25291d-7d/endpoints/a770dd9f-ea3"; - Requests[2300] = new DefaultHttpContext(); - Requests[2300].RequestServices = CreateServices(); - Requests[2300].Request.Method = "PATCH"; - Requests[2300].Request.Path = "/subscriptions/49933aeb-3d3b-/resourceGroups/066e9977-e30b-47f/providers/Microsoft.CertificateRegistration/certificateOrders/688d88cc-bed1-4fb9-b/certificates/85f50"; - Requests[2301] = new DefaultHttpContext(); - Requests[2301].RequestServices = CreateServices(); - Requests[2301].Request.Method = "DELETE"; - Requests[2301].Request.Path = "/subscriptions/d6c6451e-c11f-/resourceGroups/7dd4cbe1-5716-4c6/providers/Microsoft.Compute/galleries/97384e84-88/images/640ae678-cb76-49"; - Requests[2302] = new DefaultHttpContext(); - Requests[2302].RequestServices = CreateServices(); - Requests[2302].Request.Method = "GET"; - Requests[2302].Request.Path = "/subscriptions/30a9a0ac-18f2-/resourceGroups/8da28de7-a4db-4d2/providers/Microsoft.Compute/virtualMachines/bef596/extensions/98bddfe5-14e3-4"; - Requests[2303] = new DefaultHttpContext(); - Requests[2303].RequestServices = CreateServices(); - Requests[2303].Request.Method = "GET"; - Requests[2303].Request.Path = "/subscriptions/3ecf5c55-a325-/resourceGroups/b558bfe1-53f2-4e1/providers/Microsoft.Compute/virtualMachineScaleSets/0e70994c-0bbb-/extensions/19e21dcd-e528-4cd"; - Requests[2304] = new DefaultHttpContext(); - Requests[2304].RequestServices = CreateServices(); - Requests[2304].Request.Method = "GET"; - Requests[2304].Request.Path = "/subscriptions/50a26639-1e9d-/resourceGroups/6e6334a2-ef50-4af/providers/Microsoft.Compute/virtualMachineScaleSets/0a5277ca-f34d-/virtualmachines/849aa54b-0"; - Requests[2305] = new DefaultHttpContext(); - Requests[2305].RequestServices = CreateServices(); - Requests[2305].Request.Method = "PATCH"; - Requests[2305].Request.Path = "/subscriptions/42fe8995-00a7-/resourceGroups/9924e82e-fda1-4d5/providers/Microsoft.ContainerRegistry/registries/9f1b5a81-f11/builds/523871b"; - Requests[2306] = new DefaultHttpContext(); - Requests[2306].RequestServices = CreateServices(); - Requests[2306].Request.Method = "PATCH"; - Requests[2306].Request.Path = "/subscriptions/bdd2f145-1558-/resourceGroups/bc3f2bf3-7370-440/providers/Microsoft.ContainerRegistry/registries/6493e194-6e0/buildTasks/d4225527-6669"; - Requests[2307] = new DefaultHttpContext(); - Requests[2307].RequestServices = CreateServices(); - Requests[2307].Request.Method = "PATCH"; - Requests[2307].Request.Path = "/subscriptions/8d6d13d9-6f51-/resourceGroups/23116c3a-67da-4f3/providers/Microsoft.ContainerRegistry/registries/18f7d059-849/replications/b38373b0-8b9b-4"; - Requests[2308] = new DefaultHttpContext(); - Requests[2308].RequestServices = CreateServices(); - Requests[2308].Request.Method = "PATCH"; - Requests[2308].Request.Path = "/subscriptions/e72e7f57-3206-/resourceGroups/da71c96e-922a-400/providers/Microsoft.ContainerRegistry/registries/034f7ff4-33c/webhooks/4b2a8fa5-b8"; - Requests[2309] = new DefaultHttpContext(); - Requests[2309].RequestServices = CreateServices(); - Requests[2309].Request.Method = "GET"; - Requests[2309].Request.Path = "/subscriptions/365b7957-3345-/resourceGroups/e8eaee3f-c670-4cc/providers/Microsoft.ContainerService/managedClusters/77792236-ac3/accessProfiles/b3558c36"; - Requests[2310] = new DefaultHttpContext(); - Requests[2310].RequestServices = CreateServices(); - Requests[2310].Request.Method = "GET"; - Requests[2310].Request.Path = "/subscriptions/70eca8ae-e7c4-/resourceGroups/602fa126-7c50-434/providers/Microsoft.CustomerInsights/hubs/d7ecde0/authorizationPolicies/f9d37fdd-22fc-4c63-be41"; - Requests[2311] = new DefaultHttpContext(); - Requests[2311].RequestServices = CreateServices(); - Requests[2311].Request.Method = "DELETE"; - Requests[2311].Request.Path = "/subscriptions/2570359f-5ef6-/resourceGroups/2a76ce51-8704-467/providers/Microsoft.CustomerInsights/hubs/2f43778/connectors/be9e574b-07aa"; - Requests[2312] = new DefaultHttpContext(); - Requests[2312].RequestServices = CreateServices(); - Requests[2312].Request.Method = "GET"; - Requests[2312].Request.Path = "/subscriptions/9c28af5f-6dd6-/resourceGroups/c2470aa4-8529-4e6/providers/Microsoft.CustomerInsights/hubs/1d10030/interactions/b342eb1a-972f-4"; - Requests[2313] = new DefaultHttpContext(); - Requests[2313].RequestServices = CreateServices(); - Requests[2313].Request.Method = "DELETE"; - Requests[2313].Request.Path = "/subscriptions/2f4b3f1b-a1d2-/resourceGroups/2a6858aa-5cd3-4da/providers/Microsoft.CustomerInsights/hubs/d7cefc2/kpi/21b29ce"; - Requests[2314] = new DefaultHttpContext(); - Requests[2314].RequestServices = CreateServices(); - Requests[2314].Request.Method = "DELETE"; - Requests[2314].Request.Path = "/subscriptions/2bd3fed1-32c9-/resourceGroups/970e0d2e-8a19-411/providers/Microsoft.CustomerInsights/hubs/ace26bc/links/cb9ca73d"; - Requests[2315] = new DefaultHttpContext(); - Requests[2315].RequestServices = CreateServices(); - Requests[2315].Request.Method = "DELETE"; - Requests[2315].Request.Path = "/subscriptions/18dc3306-a4de-/resourceGroups/b2d0d479-d8a3-475/providers/Microsoft.CustomerInsights/hubs/6b0ae1e/predictions/39ce3e83-78e3-"; - Requests[2316] = new DefaultHttpContext(); - Requests[2316].RequestServices = CreateServices(); - Requests[2316].Request.Method = "DELETE"; - Requests[2316].Request.Path = "/subscriptions/a11e7235-cb1c-/resourceGroups/ee943441-a113-412/providers/Microsoft.CustomerInsights/hubs/04c8dd5/profiles/6f22422d-bd"; - Requests[2317] = new DefaultHttpContext(); - Requests[2317].RequestServices = CreateServices(); - Requests[2317].Request.Method = "DELETE"; - Requests[2317].Request.Path = "/subscriptions/f319b39f-e1b3-/resourceGroups/d1f21f42-f3fe-477/providers/Microsoft.CustomerInsights/hubs/05b5d59/relationshipLinks/e6bb6198-2f7f-41dc-a"; - Requests[2318] = new DefaultHttpContext(); - Requests[2318].RequestServices = CreateServices(); - Requests[2318].Request.Method = "DELETE"; - Requests[2318].Request.Path = "/subscriptions/08311e05-e775-/resourceGroups/27d8312c-9a70-40f/providers/Microsoft.CustomerInsights/hubs/53ee8d3/relationships/0a0930e6-2e33-42"; - Requests[2319] = new DefaultHttpContext(); - Requests[2319].RequestServices = CreateServices(); - Requests[2319].Request.Method = "DELETE"; - Requests[2319].Request.Path = "/subscriptions/f5f8efdb-0776-/resourceGroups/543bea93-e616-47a/providers/Microsoft.CustomerInsights/hubs/0a72de8/roleAssignments/7e932fd0-53c4-"; - Requests[2320] = new DefaultHttpContext(); - Requests[2320].RequestServices = CreateServices(); - Requests[2320].Request.Method = "DELETE"; - Requests[2320].Request.Path = "/subscriptions/dd397b7e-782c-/resourceGroups/d3790c19-dd48-416/providers/Microsoft.CustomerInsights/hubs/4ec8a50/views/e0c9248b"; - Requests[2321] = new DefaultHttpContext(); - Requests[2321].RequestServices = CreateServices(); - Requests[2321].Request.Method = "GET"; - Requests[2321].Request.Path = "/subscriptions/4f16afe6-5d68-/resourceGroups/bdb2fddf-02b4-405/providers/Microsoft.CustomerInsights/hubs/25b8e85/widgetTypes/365ed6d0-f37b-"; - Requests[2322] = new DefaultHttpContext(); - Requests[2322].RequestServices = CreateServices(); - Requests[2322].Request.Method = "POST"; - Requests[2322].Request.Path = "/subscriptions/f3cd2c72-c728-/resourceGroups/3dff966a-542b-4e6/providers/Microsoft.DataFactory/factories/0f04d98e-6b/cancelpipelinerun/1a5b0"; - Requests[2323] = new DefaultHttpContext(); - Requests[2323].RequestServices = CreateServices(); - Requests[2323].Request.Method = "DELETE"; - Requests[2323].Request.Path = "/subscriptions/302e1c78-a8a8-/resourceGroups/7dfb9683-d4f1-440/providers/Microsoft.DataFactory/factories/36202344-8d/datasets/27e02c1b-21"; - Requests[2324] = new DefaultHttpContext(); - Requests[2324].RequestServices = CreateServices(); - Requests[2324].Request.Method = "DELETE"; - Requests[2324].Request.Path = "/subscriptions/f9d56e42-f3f2-/resourceGroups/9339213e-f71b-47f/providers/Microsoft.DataFactory/factories/a4e6c20a-06/integrationRuntimes/69fe69d4-155a-4e5c-b64"; - Requests[2325] = new DefaultHttpContext(); - Requests[2325].RequestServices = CreateServices(); - Requests[2325].Request.Method = "DELETE"; - Requests[2325].Request.Path = "/subscriptions/dfb49601-dfc1-/resourceGroups/b1d48eab-06ab-4bd/providers/Microsoft.DataFactory/factories/2202b95a-d1/linkedservices/98593dcb-15ac-408"; - Requests[2326] = new DefaultHttpContext(); - Requests[2326].RequestServices = CreateServices(); - Requests[2326].Request.Method = "GET"; - Requests[2326].Request.Path = "/subscriptions/556947ae-55f4-/resourceGroups/d408edbd-d9d2-4b9/providers/Microsoft.DataFactory/factories/429f3b54-ae/pipelineruns/44f49"; - Requests[2327] = new DefaultHttpContext(); - Requests[2327].RequestServices = CreateServices(); - Requests[2327].Request.Method = "DELETE"; - Requests[2327].Request.Path = "/subscriptions/2adf2f76-b589-/resourceGroups/def7ee37-a332-4d0/providers/Microsoft.DataFactory/factories/5353c460-e0/pipelines/60cb0e35-260"; - Requests[2328] = new DefaultHttpContext(); - Requests[2328].RequestServices = CreateServices(); - Requests[2328].Request.Method = "DELETE"; - Requests[2328].Request.Path = "/subscriptions/55f1fda5-b64c-/resourceGroups/67c3b277-c005-41a/providers/Microsoft.DataFactory/factories/d589370a-a8/triggers/912beaf8-03"; - Requests[2329] = new DefaultHttpContext(); - Requests[2329].RequestServices = CreateServices(); - Requests[2329].Request.Method = "DELETE"; - Requests[2329].Request.Path = "/subscriptions/27695180-b048-/resourceGroups/3971d700-e894-4f3/providers/Microsoft.DataLakeAnalytics/accounts/faf17395-da/computePolicies/c0626ee8-e4ec-4b0"; - Requests[2330] = new DefaultHttpContext(); - Requests[2330].RequestServices = CreateServices(); - Requests[2330].Request.Method = "DELETE"; - Requests[2330].Request.Path = "/subscriptions/600f08d7-11c2-/resourceGroups/732c1179-3579-45c/providers/Microsoft.DataLakeAnalytics/accounts/d3b54530-a8/dataLakeStoreAccounts/c25d4222-4152-434d-9092-"; - Requests[2331] = new DefaultHttpContext(); - Requests[2331].RequestServices = CreateServices(); - Requests[2331].Request.Method = "DELETE"; - Requests[2331].Request.Path = "/subscriptions/41104be3-95f7-/resourceGroups/dbc10998-9dba-420/providers/Microsoft.DataLakeAnalytics/accounts/c9de945f-4f/firewallRules/5b1e0191-2a2e-4a"; - Requests[2332] = new DefaultHttpContext(); - Requests[2332].RequestServices = CreateServices(); - Requests[2332].Request.Method = "DELETE"; - Requests[2332].Request.Path = "/subscriptions/9fc567a0-5c4e-/resourceGroups/efd54ee7-106d-482/providers/Microsoft.DataLakeAnalytics/accounts/6c6f90eb-d6/storageAccounts/fb8a0330-5600-46d6"; - Requests[2333] = new DefaultHttpContext(); - Requests[2333].RequestServices = CreateServices(); - Requests[2333].Request.Method = "DELETE"; - Requests[2333].Request.Path = "/subscriptions/80681fd1-d67c-/resourceGroups/ed71e12b-719c-4ff/providers/Microsoft.DataLakeStore/accounts/90e96c92-79/firewallRules/3625dd35-7243-4c"; - Requests[2334] = new DefaultHttpContext(); - Requests[2334].RequestServices = CreateServices(); - Requests[2334].Request.Method = "DELETE"; - Requests[2334].Request.Path = "/subscriptions/0ccee45d-7824-/resourceGroups/ff8a3bd1-5b39-454/providers/Microsoft.DataLakeStore/accounts/dcb16f43-ad/trustedIdProviders/e5694c37-469f-45b1-9d"; - Requests[2335] = new DefaultHttpContext(); - Requests[2335].RequestServices = CreateServices(); - Requests[2335].Request.Method = "DELETE"; - Requests[2335].Request.Path = "/subscriptions/41e05e5e-321d-/resourceGroups/c664f0a5-38de-4d6/providers/Microsoft.DataLakeStore/accounts/d31b04b7-27/virtualNetworkRules/eb044754-89ea-433c-920"; - Requests[2336] = new DefaultHttpContext(); - Requests[2336].RequestServices = CreateServices(); - Requests[2336].Request.Method = "GET"; - Requests[2336].Request.Path = "/subscriptions/996b338e-f27e-/resourceGroups/0293ba9e-570d-418/providers/Microsoft.DBforMySQL/servers/c4249b9f-4/configurations/bc748339-c316-468"; - Requests[2337] = new DefaultHttpContext(); - Requests[2337].RequestServices = CreateServices(); - Requests[2337].Request.Method = "GET"; - Requests[2337].Request.Path = "/subscriptions/a308a405-0ccc-/resourceGroups/faedfa64-2470-47a/providers/Microsoft.DBforMySQL/servers/bf3fe3fc-9/databases/5c4c7e32-271"; - Requests[2338] = new DefaultHttpContext(); - Requests[2338].RequestServices = CreateServices(); - Requests[2338].Request.Method = "GET"; - Requests[2338].Request.Path = "/subscriptions/3502194f-97fb-/resourceGroups/8949c640-f2b1-448/providers/Microsoft.DBforMySQL/servers/010b1fb8-5/firewallRules/523cc9c4-26fa-41"; - Requests[2339] = new DefaultHttpContext(); - Requests[2339].RequestServices = CreateServices(); - Requests[2339].Request.Method = "DELETE"; - Requests[2339].Request.Path = "/subscriptions/debef3a6-ff3a-/resourceGroups/a7ebc8bc-f1d2-4bd/providers/Microsoft.DBforMySQL/servers/6b5a465b-5/virtualNetworkRules/d47e6186-a52d-43e9-b74"; - Requests[2340] = new DefaultHttpContext(); - Requests[2340].RequestServices = CreateServices(); - Requests[2340].Request.Method = "GET"; - Requests[2340].Request.Path = "/subscriptions/eaf1324d-ab0a-/resourceGroups/179d7395-925b-4fe/providers/Microsoft.DBforPostgreSQL/servers/50246d31-3/configurations/88f80bf0-9d7a-4d0"; - Requests[2341] = new DefaultHttpContext(); - Requests[2341].RequestServices = CreateServices(); - Requests[2341].Request.Method = "GET"; - Requests[2341].Request.Path = "/subscriptions/d598c0ac-8cc8-/resourceGroups/c4c69cc2-b184-427/providers/Microsoft.DBforPostgreSQL/servers/02c91d6f-7/databases/ed881f37-74e"; - Requests[2342] = new DefaultHttpContext(); - Requests[2342].RequestServices = CreateServices(); - Requests[2342].Request.Method = "GET"; - Requests[2342].Request.Path = "/subscriptions/6d11c7a3-4673-/resourceGroups/a0223f60-8140-4da/providers/Microsoft.DBforPostgreSQL/servers/37412ca3-3/firewallRules/3816a724-8c13-4c"; - Requests[2343] = new DefaultHttpContext(); - Requests[2343].RequestServices = CreateServices(); - Requests[2343].Request.Method = "PUT"; - Requests[2343].Request.Path = "/subscriptions/b74d502f-a97d-/resourceGroups/b28ce222-7807-434/providers/Microsoft.DBforPostgreSQL/servers/a5670d28-4/securityAlertPolicies/d1b00995-2a63-40e2-a6d9"; - Requests[2344] = new DefaultHttpContext(); - Requests[2344].RequestServices = CreateServices(); - Requests[2344].Request.Method = "DELETE"; - Requests[2344].Request.Path = "/subscriptions/494f1ea3-c24e-/resourceGroups/73f25cd2-83b7-40a/providers/Microsoft.DBforPostgreSQL/servers/9c849adc-1/virtualNetworkRules/dda99a7d-e671-412b-aa8"; - Requests[2345] = new DefaultHttpContext(); - Requests[2345].RequestServices = CreateServices(); - Requests[2345].Request.Method = "DELETE"; - Requests[2345].Request.Path = "/subscriptions/b1c02d08-9def-/resourceGroups/83841cff-dee4-4ba/providers/Microsoft.Devices/IotHubs/26bdbc65-5b0/certificates/b3d498b9-6742-4"; - Requests[2346] = new DefaultHttpContext(); - Requests[2346].RequestServices = CreateServices(); - Requests[2346].Request.Method = "GET"; - Requests[2346].Request.Path = "/subscriptions/7457c15c-2b14-/resourceGroups/a6ede4f1-2b41-484/providers/Microsoft.Devices/IotHubs/530e5b9f-dae/jobs/f4cc0"; - Requests[2347] = new DefaultHttpContext(); - Requests[2347].RequestServices = CreateServices(); - Requests[2347].Request.Method = "DELETE"; - Requests[2347].Request.Path = "/subscriptions/76ae6866-7e72-/resourceGroups/f54a3785-5474-4a5/providers/Microsoft.Devices/provisioningServices/eab959b1-6efa-4019-9027/certificates/c0b7f489-eb6a-4"; - Requests[2348] = new DefaultHttpContext(); - Requests[2348].RequestServices = CreateServices(); - Requests[2348].Request.Method = "GET"; - Requests[2348].Request.Path = "/subscriptions/696a5d06-2409-/resourceGroups/485d993a-342f-44d/providers/Microsoft.Devices/provisioningServices/c5ff500a-ca0a-414c-810f/operationresults/1371ef18-d4"; - Requests[2349] = new DefaultHttpContext(); - Requests[2349].RequestServices = CreateServices(); - Requests[2349].Request.Method = "PATCH"; - Requests[2349].Request.Path = "/subscriptions/807fbcff-56fc-/resourceGroups/0871f49c-ad4b-466/providers/Microsoft.DevTestLab/labs/3d666e9/artifactsources/645fc"; - Requests[2350] = new DefaultHttpContext(); - Requests[2350].RequestServices = CreateServices(); - Requests[2350].Request.Method = "GET"; - Requests[2350].Request.Path = "/subscriptions/058c3244-38fd-/resourceGroups/7e01ad4c-c5af-48a/providers/Microsoft.DevTestLab/labs/4512648/costinsights/8eb34"; - Requests[2351] = new DefaultHttpContext(); - Requests[2351].RequestServices = CreateServices(); - Requests[2351].Request.Method = "PUT"; - Requests[2351].Request.Path = "/subscriptions/894dfac4-b69a-/resourceGroups/3caf0167-860c-486/providers/Microsoft.DevTestLab/labs/608bf5a/costs/d9a3c"; - Requests[2352] = new DefaultHttpContext(); - Requests[2352].RequestServices = CreateServices(); - Requests[2352].Request.Method = "DELETE"; - Requests[2352].Request.Path = "/subscriptions/02d2fa15-93db-/resourceGroups/bda5e6b2-133d-4f3/providers/Microsoft.DevTestLab/labs/4d1deca/customimages/753ec"; - Requests[2353] = new DefaultHttpContext(); - Requests[2353].RequestServices = CreateServices(); - Requests[2353].Request.Method = "DELETE"; - Requests[2353].Request.Path = "/subscriptions/a750b43d-643a-/resourceGroups/df6e59dc-8181-4e5/providers/Microsoft.DevTestLab/labs/2fffe53/formulas/1bf37"; - Requests[2354] = new DefaultHttpContext(); - Requests[2354].RequestServices = CreateServices(); - Requests[2354].Request.Method = "PATCH"; - Requests[2354].Request.Path = "/subscriptions/95c0fee0-92a3-/resourceGroups/8d6cfe97-75ca-4fb/providers/Microsoft.DevTestLab/labs/7258fd4/notificationchannels/fe0e0"; - Requests[2355] = new DefaultHttpContext(); - Requests[2355].RequestServices = CreateServices(); - Requests[2355].Request.Method = "PATCH"; - Requests[2355].Request.Path = "/subscriptions/723f41aa-984f-/resourceGroups/cb7afe59-bfa1-4bf/providers/Microsoft.DevTestLab/labs/87353c1/schedules/378d0"; - Requests[2356] = new DefaultHttpContext(); - Requests[2356].RequestServices = CreateServices(); - Requests[2356].Request.Method = "DELETE"; - Requests[2356].Request.Path = "/subscriptions/6b9ee367-e8b0-/resourceGroups/507f5688-393c-444/providers/Microsoft.DevTestLab/labs/d6fbada/servicerunners/6bf38"; - Requests[2357] = new DefaultHttpContext(); - Requests[2357].RequestServices = CreateServices(); - Requests[2357].Request.Method = "PATCH"; - Requests[2357].Request.Path = "/subscriptions/bb2f17af-8a24-/resourceGroups/27ff64e9-e53d-4d2/providers/Microsoft.DevTestLab/labs/dce0707/users/a9c74"; - Requests[2358] = new DefaultHttpContext(); - Requests[2358].RequestServices = CreateServices(); - Requests[2358].Request.Method = "PATCH"; - Requests[2358].Request.Path = "/subscriptions/93f9a48e-8ca1-/resourceGroups/c4347e9d-1108-4f9/providers/Microsoft.DevTestLab/labs/49fe762/virtualmachines/f664d"; - Requests[2359] = new DefaultHttpContext(); - Requests[2359].RequestServices = CreateServices(); - Requests[2359].Request.Method = "PATCH"; - Requests[2359].Request.Path = "/subscriptions/ccb72d11-ff53-/resourceGroups/e26fa2a9-8d17-4f5/providers/Microsoft.DevTestLab/labs/ef3c525/virtualnetworks/006a6"; - Requests[2360] = new DefaultHttpContext(); - Requests[2360].RequestServices = CreateServices(); - Requests[2360].Request.Method = "PATCH"; - Requests[2360].Request.Path = "/subscriptions/f3f9d5b7-5087-/resourceGroups/b61ee469-e0bd-4ae/providers/Microsoft.DomainRegistration/domains/c7751802-4/domainOwnershipIdentifiers/16098"; - Requests[2361] = new DefaultHttpContext(); - Requests[2361].RequestServices = CreateServices(); - Requests[2361].Request.Method = "GET"; - Requests[2361].Request.Path = "/subscriptions/3df2abb8-6fa8-/resourceGroups/3d9ad9c3-c6d4-44e/providers/Microsoft.DomainRegistration/domains/2050c7a8-e/operationresults/ae1ae908-8a"; - Requests[2362] = new DefaultHttpContext(); - Requests[2362].RequestServices = CreateServices(); - Requests[2362].Request.Method = "GET"; - Requests[2362].Request.Path = "/subscriptions/b6f4bb71-e069-/resourceGroups/a21a8972-bb22-45a/providers/Microsoft.EventHub/namespaces/9645d36a-02a6/AuthorizationRules/f2744b53-ae2c-4ab5-97"; - Requests[2363] = new DefaultHttpContext(); - Requests[2363].RequestServices = CreateServices(); - Requests[2363].Request.Method = "GET"; - Requests[2363].Request.Path = "/subscriptions/c0e0db28-8a61-/resourceGroups/f9b31486-b4a3-460/providers/Microsoft.EventHub/namespaces/70c7fc29-8a67/disasterRecoveryConfigs/b8eeb"; - Requests[2364] = new DefaultHttpContext(); - Requests[2364].RequestServices = CreateServices(); - Requests[2364].Request.Method = "GET"; - Requests[2364].Request.Path = "/subscriptions/62f02175-9947-/resourceGroups/e2e74e53-8a97-4c3/providers/Microsoft.EventHub/namespaces/0860ad1f-3220/eventhubs/5626a8df-8da"; - Requests[2365] = new DefaultHttpContext(); - Requests[2365].RequestServices = CreateServices(); - Requests[2365].Request.Method = "GET"; - Requests[2365].Request.Path = "/subscriptions/f6c0bd9f-0a6f-/resourceGroups/c8e6e615-a0b4-448/providers/Microsoft.Fabric.Admin/fabricLocations/1437c8bf/edgeGatewayPools/1006fe59-3dc1-4"; - Requests[2366] = new DefaultHttpContext(); - Requests[2366].RequestServices = CreateServices(); - Requests[2366].Request.Method = "GET"; - Requests[2366].Request.Path = "/subscriptions/2bb3f6fd-3bdd-/resourceGroups/389f62cf-5ca2-482/providers/Microsoft.Fabric.Admin/fabricLocations/64544a65/edgeGateways/bf9db153-de"; - Requests[2367] = new DefaultHttpContext(); - Requests[2367].RequestServices = CreateServices(); - Requests[2367].Request.Method = "GET"; - Requests[2367].Request.Path = "/subscriptions/a67703fb-5626-/resourceGroups/ec66b5c3-854d-469/providers/Microsoft.Fabric.Admin/fabricLocations/d58c000e/fileShares/3975ab81-"; - Requests[2368] = new DefaultHttpContext(); - Requests[2368].RequestServices = CreateServices(); - Requests[2368].Request.Method = "GET"; - Requests[2368].Request.Path = "/subscriptions/8c71f229-a5ce-/resourceGroups/21449182-ab2e-443/providers/Microsoft.Fabric.Admin/fabricLocations/8ab2eda3/infraRoleInstances/3f0e87d8-0418-468"; - Requests[2369] = new DefaultHttpContext(); - Requests[2369].RequestServices = CreateServices(); - Requests[2369].Request.Method = "GET"; - Requests[2369].Request.Path = "/subscriptions/0930992a-d0fd-/resourceGroups/bbc2f2d8-950f-495/providers/Microsoft.Fabric.Admin/fabricLocations/7ce28575/infraRoles/f018f649-"; - Requests[2370] = new DefaultHttpContext(); - Requests[2370].RequestServices = CreateServices(); - Requests[2370].Request.Method = "PUT"; - Requests[2370].Request.Path = "/subscriptions/251fefad-0350-/resourceGroups/c2f9c306-fff9-4b6/providers/Microsoft.Fabric.Admin/fabricLocations/86602410/ipPools/ce530c"; - Requests[2371] = new DefaultHttpContext(); - Requests[2371].RequestServices = CreateServices(); - Requests[2371].Request.Method = "GET"; - Requests[2371].Request.Path = "/subscriptions/caa0a1a0-437d-/resourceGroups/35f84b8f-e879-476/providers/Microsoft.Fabric.Admin/fabricLocations/abbcdc2f/logicalNetworks/1a531428-dd27-"; - Requests[2372] = new DefaultHttpContext(); - Requests[2372].RequestServices = CreateServices(); - Requests[2372].Request.Method = "GET"; - Requests[2372].Request.Path = "/subscriptions/9b92f784-4676-/resourceGroups/5e96e4e9-6ba3-416/providers/Microsoft.Fabric.Admin/fabricLocations/2b0841f6/macAddressPools/2adc2f42-d9dd-"; - Requests[2373] = new DefaultHttpContext(); - Requests[2373].RequestServices = CreateServices(); - Requests[2373].Request.Method = "GET"; - Requests[2373].Request.Path = "/subscriptions/58d15911-701c-/resourceGroups/88ea7c7d-cb30-4e7/providers/Microsoft.Fabric.Admin/fabricLocations/2054e7c5/scaleUnitNodes/7c78a792-e014"; - Requests[2374] = new DefaultHttpContext(); - Requests[2374].RequestServices = CreateServices(); - Requests[2374].Request.Method = "GET"; - Requests[2374].Request.Path = "/subscriptions/e4b39e80-6852-/resourceGroups/b13387e1-0676-440/providers/Microsoft.Fabric.Admin/fabricLocations/8f0724ed/scaleUnits/6eea35eb-"; - Requests[2375] = new DefaultHttpContext(); - Requests[2375].RequestServices = CreateServices(); - Requests[2375].Request.Method = "GET"; - Requests[2375].Request.Path = "/subscriptions/f386e5de-66ae-/resourceGroups/17750981-5ba2-429/providers/Microsoft.Fabric.Admin/fabricLocations/38dae645/slbMuxInstances/cc375262-0ea7-"; - Requests[2376] = new DefaultHttpContext(); - Requests[2376].RequestServices = CreateServices(); - Requests[2376].Request.Method = "GET"; - Requests[2376].Request.Path = "/subscriptions/dd4a181d-15dd-/resourceGroups/7960e2f4-aacc-431/providers/Microsoft.Fabric.Admin/fabricLocations/a71109c6/storageSubSystems/47c86e85-a089-45"; - Requests[2377] = new DefaultHttpContext(); - Requests[2377].RequestServices = CreateServices(); - Requests[2377].Request.Method = "DELETE"; - Requests[2377].Request.Path = "/subscriptions/120acf8b-81f7-/resourceGroups/0a288bfb-ef88-451/providers/Microsoft.HDInsight/clusters/9f7c3914-6e/applications/b7663aa4-9c64-4"; - Requests[2378] = new DefaultHttpContext(); - Requests[2378].RequestServices = CreateServices(); - Requests[2378].Request.Method = "GET"; - Requests[2378].Request.Path = "/subscriptions/639fbb23-b3ec-/resourceGroups/f54178c0-3472-499/providers/Microsoft.HDInsight/clusters/88a67d80-83/configurations/483a0e56-548d-4dd"; - Requests[2379] = new DefaultHttpContext(); - Requests[2379].RequestServices = CreateServices(); - Requests[2379].Request.Method = "DELETE"; - Requests[2379].Request.Path = "/subscriptions/0d8960be-a94c-/resourceGroups/8bd9db9c-cfbe-490/providers/Microsoft.HDInsight/clusters/bf01fea5-8b/extensions/4eaadbf4-3f53"; - Requests[2380] = new DefaultHttpContext(); - Requests[2380].RequestServices = CreateServices(); - Requests[2380].Request.Method = "DELETE"; - Requests[2380].Request.Path = "/subscriptions/4b922402-3f63-/resourceGroups/55224718-0ea8-47e/providers/Microsoft.HDInsight/clusters/84810593-2e/scriptActions/25198bec-5"; - Requests[2381] = new DefaultHttpContext(); - Requests[2381].RequestServices = CreateServices(); - Requests[2381].Request.Method = "GET"; - Requests[2381].Request.Path = "/subscriptions/ef80fa7b-efb5-/resourceGroups/35b3a32f-bdd3-4f8/providers/Microsoft.HDInsight/clusters/f1592e4d-dc/scriptExecutionHistory/c787afc3-b2d7-47d"; - Requests[2382] = new DefaultHttpContext(); - Requests[2382].RequestServices = CreateServices(); - Requests[2382].Request.Method = "PUT"; - Requests[2382].Request.Path = "/subscriptions/6c7253ed-a253-/resourceGroups/8a801c33-e80c-4a5/providers/Microsoft.InfrastructureInsights.Admin/regionHealths/06baf012/alerts/6d9c1f11-"; - Requests[2383] = new DefaultHttpContext(); - Requests[2383].RequestServices = CreateServices(); - Requests[2383].Request.Method = "GET"; - Requests[2383].Request.Path = "/subscriptions/1d367374-c854-/resourceGroups/ff2d8ad1-e4ec-465/providers/Microsoft.InfrastructureInsights.Admin/regionHealths/be118d73/serviceHealths/397c7c7e-8e23"; - Requests[2384] = new DefaultHttpContext(); - Requests[2384].RequestServices = CreateServices(); - Requests[2384].Request.Method = "GET"; - Requests[2384].Request.Path = "/subscriptions/55da9520-6e8d-/resourcegroups/ddc2bca6-b314-446/providers/microsoft.insights/alertrules/73b4d527/incidents/5c2a00c1-62d"; - Requests[2385] = new DefaultHttpContext(); - Requests[2385].RequestServices = CreateServices(); - Requests[2385].Request.Method = "GET"; - Requests[2385].Request.Path = "/subscriptions/1636bbfc-710c-/resourceGroups/4db2f040-081e-4d3/providers/Microsoft.Insights/components/50adede6-622/Annotations/8574cae1-1bb"; - Requests[2386] = new DefaultHttpContext(); - Requests[2386].RequestServices = CreateServices(); - Requests[2386].Request.Method = "GET"; - Requests[2386].Request.Path = "/subscriptions/7a90fe57-6701-/resourceGroups/900866df-27eb-4d2/providers/Microsoft.Insights/components/828b7837-020/APIKeys/d9201"; - Requests[2387] = new DefaultHttpContext(); - Requests[2387].RequestServices = CreateServices(); - Requests[2387].Request.Method = "PUT"; - Requests[2387].Request.Path = "/subscriptions/2732dbbf-ead3-/resourceGroups/ef5bbe1c-9987-4fc/providers/Microsoft.Insights/components/8d3541a7-ab8/exportconfiguration/b6240d45"; - Requests[2388] = new DefaultHttpContext(); - Requests[2388].RequestServices = CreateServices(); - Requests[2388].Request.Method = "DELETE"; - Requests[2388].Request.Path = "/subscriptions/c228f55c-4fbe-/resourceGroups/84e9a126-f85d-4f7/providers/Microsoft.Insights/components/603241d2-b1f/favorites/9cad034f-b"; - Requests[2389] = new DefaultHttpContext(); - Requests[2389].RequestServices = CreateServices(); - Requests[2389].Request.Method = "PUT"; - Requests[2389].Request.Path = "/subscriptions/5ec56181-6472-/resourceGroups/f710bfd2-f403-47e/providers/Microsoft.Insights/components/8a265f1d-8f5/ProactiveDetectionConfigs/8ec2d32d-160a-4"; - Requests[2390] = new DefaultHttpContext(); - Requests[2390].RequestServices = CreateServices(); - Requests[2390].Request.Method = "DELETE"; - Requests[2390].Request.Path = "/subscriptions/1d32a7ca-b2cd-/resourceGroups/853abcfd-de8e-4ff/providers/Microsoft.Insights/components/cf33bc0a-0d7/WorkItemConfigs/1ff990f7-0325-44"; - Requests[2391] = new DefaultHttpContext(); - Requests[2391].RequestServices = CreateServices(); - Requests[2391].Request.Method = "GET"; - Requests[2391].Request.Path = "/subscriptions/75e97d55-f531-/resourceGroups/4a5218e9-788c-467/providers/Microsoft.Insights/metricAlerts/e9ab9b38/status/df1940d4-4"; - Requests[2392] = new DefaultHttpContext(); - Requests[2392].RequestServices = CreateServices(); - Requests[2392].Request.Method = "PUT"; - Requests[2392].Request.Path = "/subscriptions/8acf5ef1-31e2-/resourceGroups/d8dfe619-7c92-4bd/providers/Microsoft.KeyVault/vaults/6f1ce4a0-/accessPolicies/514791c0-374c"; - Requests[2393] = new DefaultHttpContext(); - Requests[2393].RequestServices = CreateServices(); - Requests[2393].Request.Method = "GET"; - Requests[2393].Request.Path = "/subscriptions/d5965057-ec25-/resourceGroups/a41b5f98-b1ad-48d/providers/Microsoft.KeyVault/vaults/8f5bb811-/secrets/287c19c8-2"; - Requests[2394] = new DefaultHttpContext(); - Requests[2394].RequestServices = CreateServices(); - Requests[2394].Request.Method = "DELETE"; - Requests[2394].Request.Path = "/subscriptions/38941204-0408-/resourceGroups/a0350016-a579-455/providers/Microsoft.Logic/integrationAccounts/64e1d6e5-8031-430a-ac1/agreements/c4845088-60eb"; - Requests[2395] = new DefaultHttpContext(); - Requests[2395].RequestServices = CreateServices(); - Requests[2395].Request.Method = "DELETE"; - Requests[2395].Request.Path = "/subscriptions/1d9be18b-7b53-/resourceGroups/e78f2732-63fa-459/providers/Microsoft.Logic/integrationAccounts/eb39e4da-9176-4d77-89c/assemblies/61a06cbc-28cb-4a92-b"; - Requests[2396] = new DefaultHttpContext(); - Requests[2396].RequestServices = CreateServices(); - Requests[2396].Request.Method = "DELETE"; - Requests[2396].Request.Path = "/subscriptions/d80757d6-7ba8-/resourceGroups/18f70cff-3e9c-42f/providers/Microsoft.Logic/integrationAccounts/535a0795-ef33-493f-bff/batchConfigurations/5f0f722b-0aac-40e4-99a"; - Requests[2397] = new DefaultHttpContext(); - Requests[2397].RequestServices = CreateServices(); - Requests[2397].Request.Method = "DELETE"; - Requests[2397].Request.Path = "/subscriptions/51111330-eaa7-/resourceGroups/ed33b2f1-c1ca-4ec/providers/Microsoft.Logic/integrationAccounts/6bfdefc0-efc7-4f11-a6b/certificates/1c83f70b-f5c9-4"; - Requests[2398] = new DefaultHttpContext(); - Requests[2398].RequestServices = CreateServices(); - Requests[2398].Request.Method = "DELETE"; - Requests[2398].Request.Path = "/subscriptions/b3a30350-8473-/resourceGroups/e1afd431-905d-47d/providers/Microsoft.Logic/integrationAccounts/8b10236b-9af7-4790-af5/maps/43bee1f"; - Requests[2399] = new DefaultHttpContext(); - Requests[2399].RequestServices = CreateServices(); - Requests[2399].Request.Method = "DELETE"; - Requests[2399].Request.Path = "/subscriptions/1b5e085c-0b07-/resourceGroups/ed7b5a7c-1855-476/providers/Microsoft.Logic/integrationAccounts/266a93ef-a061-4c98-a53/partners/64c08541-94"; - Requests[2400] = new DefaultHttpContext(); - Requests[2400].RequestServices = CreateServices(); - Requests[2400].Request.Method = "DELETE"; - Requests[2400].Request.Path = "/subscriptions/8d606594-0a4d-/resourceGroups/b0738ce5-5f80-4a1/providers/Microsoft.Logic/integrationAccounts/19d08eb1-1dbc-4f78-829/schemas/a36bbe25-d"; - Requests[2401] = new DefaultHttpContext(); - Requests[2401].RequestServices = CreateServices(); - Requests[2401].Request.Method = "DELETE"; - Requests[2401].Request.Path = "/subscriptions/3c570952-c35f-/resourceGroups/9db66adf-44c4-4a2/providers/Microsoft.Logic/integrationAccounts/84842a10-a559-44e5-9af/sessions/9917abc1-24"; - Requests[2402] = new DefaultHttpContext(); - Requests[2402].RequestServices = CreateServices(); - Requests[2402].Request.Method = "DELETE"; - Requests[2402].Request.Path = "/subscriptions/487d3785-f42d-/resourceGroups/72841226-d225-4b4/providers/Microsoft.Logic/workflows/84009e97-90d/accessKeys/9625e88a-5e1a"; - Requests[2403] = new DefaultHttpContext(); - Requests[2403].RequestServices = CreateServices(); - Requests[2403].Request.Method = "GET"; - Requests[2403].Request.Path = "/subscriptions/e80930a0-d1c8-/resourceGroups/65dba194-6858-4e2/providers/Microsoft.Logic/workflows/b0704056-ca6/runs/5fef1f6"; - Requests[2404] = new DefaultHttpContext(); - Requests[2404].RequestServices = CreateServices(); - Requests[2404].Request.Method = "GET"; - Requests[2404].Request.Path = "/subscriptions/f63694ef-c74a-/resourceGroups/79d62b98-7797-476/providers/Microsoft.Logic/workflows/d91c98e2-fea/triggers/76e3c8d8-dc"; - Requests[2405] = new DefaultHttpContext(); - Requests[2405].RequestServices = CreateServices(); - Requests[2405].Request.Method = "GET"; - Requests[2405].Request.Path = "/subscriptions/015779f6-a103-/resourceGroups/f3e29dfe-71d9-44e/providers/Microsoft.Logic/workflows/21512f37-036/versions/94972ae5-"; - Requests[2406] = new DefaultHttpContext(); - Requests[2406].RequestServices = CreateServices(); - Requests[2406].Request.Method = "GET"; - Requests[2406].Request.Path = "/subscriptions/f329c920-1786-/resourceGroups/03d74d5c-7eaf-4ac/providers/Microsoft.MachineLearning/commitmentPlans/6bc278d2-d397-41c2/commitmentAssociations/4f1cf150-ab6e-4a82-9a19-8"; - Requests[2407] = new DefaultHttpContext(); - Requests[2407].RequestServices = CreateServices(); - Requests[2407].Request.Method = "PATCH"; - Requests[2407].Request.Path = "/subscriptions/9c7692ff-2a96-/resourceGroups/6386846a-a34c-473/providers/Microsoft.MachineLearningExperimentation/accounts/3791db73-f8/workspaces/e7c0fd88-68e1"; - Requests[2408] = new DefaultHttpContext(); - Requests[2408].RequestServices = CreateServices(); - Requests[2408].Request.Method = "PATCH"; - Requests[2408].Request.Path = "/subscriptions/57b16930-aeca-/resourceGroups/103c373d-be61-4e6/providers/Microsoft.Media/mediaServices/3b2f3dfe-7e/assets/df07d31e-"; - Requests[2409] = new DefaultHttpContext(); - Requests[2409].RequestServices = CreateServices(); - Requests[2409].Request.Method = "PATCH"; - Requests[2409].Request.Path = "/subscriptions/b4d18cef-dac9-/resourceGroups/88b91f25-0c58-45e/providers/Microsoft.Media/mediaServices/c3a84410-da/contentKeyPolicies/e816bd56-fe64-4624-8"; - Requests[2410] = new DefaultHttpContext(); - Requests[2410].RequestServices = CreateServices(); - Requests[2410].Request.Method = "DELETE"; - Requests[2410].Request.Path = "/subscriptions/f1796375-219f-/resourceGroups/d7c2d566-3786-46a/providers/Microsoft.Media/mediaservices/438e1e61-d8/liveEvents/18847797-060d"; - Requests[2411] = new DefaultHttpContext(); - Requests[2411].RequestServices = CreateServices(); - Requests[2411].Request.Method = "DELETE"; - Requests[2411].Request.Path = "/subscriptions/dd0c934a-5f49-/resourceGroups/5287c131-f6e7-4c3/providers/Microsoft.Media/mediaservices/c8a8602a-fd/streamingEndpoints/e51945a4-e6c6-481f-aa"; - Requests[2412] = new DefaultHttpContext(); - Requests[2412].RequestServices = CreateServices(); - Requests[2412].Request.Method = "DELETE"; - Requests[2412].Request.Path = "/subscriptions/a5c6b258-2c2e-/resourceGroups/1b41fa59-c1e7-409/providers/Microsoft.Media/mediaServices/5397d0c5-40/streamingLocators/bc25354a-c891-437d-b"; - Requests[2413] = new DefaultHttpContext(); - Requests[2413].RequestServices = CreateServices(); - Requests[2413].Request.Method = "DELETE"; - Requests[2413].Request.Path = "/subscriptions/e4d8f6a4-140f-/resourceGroups/2292d3f7-e7a7-44a/providers/Microsoft.Media/mediaServices/3c1b90df-f4/streamingPolicies/6dbeb69b-275d-4421-"; - Requests[2414] = new DefaultHttpContext(); - Requests[2414].RequestServices = CreateServices(); - Requests[2414].Request.Method = "PATCH"; - Requests[2414].Request.Path = "/subscriptions/c5dbf00a-dd6d-/resourceGroups/bfda12bc-7969-426/providers/Microsoft.Media/mediaServices/dc650ac2-2a/transforms/8044e67c-6ae9"; - Requests[2415] = new DefaultHttpContext(); - Requests[2415].RequestServices = CreateServices(); - Requests[2415].Request.Method = "DELETE"; - Requests[2415].Request.Path = "/subscriptions/ef47a39b-1c4b-/resourceGroups/64c370c0-0a2c-400/providers/Microsoft.Migrate/projects/1bfb03ba-b1/groups/62c43570-"; - Requests[2416] = new DefaultHttpContext(); - Requests[2416].RequestServices = CreateServices(); - Requests[2416].Request.Method = "GET"; - Requests[2416].Request.Path = "/subscriptions/774a04cf-e6e6-/resourceGroups/c75a7454-093c-4e7/providers/Microsoft.Migrate/projects/52c59666-36/machines/16a7d78b-1a"; - Requests[2417] = new DefaultHttpContext(); - Requests[2417].RequestServices = CreateServices(); - Requests[2417].Request.Method = "PUT"; - Requests[2417].Request.Path = "/subscriptions/2e20acfc-5cd5-/resourceGroups/25f75c93-706b-445/providers/Microsoft.Network/expressRouteCircuits/26f5eef2-75/authorizations/8e78000e-c3d0-4c7"; - Requests[2418] = new DefaultHttpContext(); - Requests[2418].RequestServices = CreateServices(); - Requests[2418].Request.Method = "PUT"; - Requests[2418].Request.Path = "/subscriptions/3b16f5ef-dd47-/resourceGroups/2f777f94-1728-46e/providers/Microsoft.Network/expressRouteCircuits/cdefeb93-5a/peerings/bc9ad17e-8f"; - Requests[2419] = new DefaultHttpContext(); - Requests[2419].RequestServices = CreateServices(); - Requests[2419].Request.Method = "PUT"; - Requests[2419].Request.Path = "/subscriptions/8f061b10-df89-/resourceGroups/bb17f0d4-e629-453/providers/Microsoft.Network/expressRouteCrossConnections/c5e3d82c-4263-4920-/peerings/0c5d1c91-e0"; - Requests[2420] = new DefaultHttpContext(); - Requests[2420].RequestServices = CreateServices(); - Requests[2420].Request.Method = "GET"; - Requests[2420].Request.Path = "/subscriptions/4619e9ac-1bc6-/resourceGroups/16431962-2b93-438/providers/Microsoft.Network/loadBalancers/9d14c951-836b-4b/backendAddressPools/3876deb6-5bd9-4121-812"; - Requests[2421] = new DefaultHttpContext(); - Requests[2421].RequestServices = CreateServices(); - Requests[2421].Request.Method = "GET"; - Requests[2421].Request.Path = "/subscriptions/6991fc6c-cb9c-/resourceGroups/b00fbbb6-b80a-4fb/providers/Microsoft.Network/loadBalancers/d803cbd0-6674-43/frontendIPConfigurations/5d18df29-43f4-451e-9001-b27"; - Requests[2422] = new DefaultHttpContext(); - Requests[2422].RequestServices = CreateServices(); - Requests[2422].Request.Method = "PUT"; - Requests[2422].Request.Path = "/subscriptions/e90c890b-2985-/resourceGroups/938ea0dc-651d-4d3/providers/Microsoft.Network/loadBalancers/534f812d-74d8-4e/inboundNatRules/61756ab6-0cfc-425e"; - Requests[2423] = new DefaultHttpContext(); - Requests[2423].RequestServices = CreateServices(); - Requests[2423].Request.Method = "GET"; - Requests[2423].Request.Path = "/subscriptions/f1fd6063-302d-/resourceGroups/515b82eb-ce9f-4f9/providers/Microsoft.Network/loadBalancers/6a281b7b-065b-44/loadBalancingRules/2067d23b-7674-484e-8e"; - Requests[2424] = new DefaultHttpContext(); - Requests[2424].RequestServices = CreateServices(); - Requests[2424].Request.Method = "GET"; - Requests[2424].Request.Path = "/subscriptions/665cfb71-4c28-/resourceGroups/c3256318-d1f0-478/providers/Microsoft.Network/loadBalancers/ee122adf-a4cb-4b/probes/e746b0b2-"; - Requests[2425] = new DefaultHttpContext(); - Requests[2425].RequestServices = CreateServices(); - Requests[2425].Request.Method = "GET"; - Requests[2425].Request.Path = "/subscriptions/1dbfd908-4171-/resourceGroups/a13d3ee9-8877-415/providers/Microsoft.Network/networkInterfaces/3ef4b4f1-6a66-4759-8/ipConfigurations/7f8bb67c-cce3-40a8-"; - Requests[2426] = new DefaultHttpContext(); - Requests[2426].RequestServices = CreateServices(); - Requests[2426].Request.Method = "GET"; - Requests[2426].Request.Path = "/subscriptions/350e2eea-764d-/resourceGroups/eeca171b-8418-4af/providers/Microsoft.Network/networkSecurityGroups/e0febdc5-4a14-46f0-a820-/defaultSecurityRules/d87a2180-8f77-4a1f-af38"; - Requests[2427] = new DefaultHttpContext(); - Requests[2427].RequestServices = CreateServices(); - Requests[2427].Request.Method = "PUT"; - Requests[2427].Request.Path = "/subscriptions/44e9fe8c-d566-/resourceGroups/141e96af-e088-472/providers/Microsoft.Network/networkSecurityGroups/f009ea65-af5b-4cea-be8b-/securityRules/dd29fe1b-2f46-44"; - Requests[2428] = new DefaultHttpContext(); - Requests[2428].RequestServices = CreateServices(); - Requests[2428].Request.Method = "DELETE"; - Requests[2428].Request.Path = "/subscriptions/56359f0b-a113-/resourceGroups/c49bd5ea-a45c-493/providers/Microsoft.Network/networkWatchers/efe43df9-7b65-4368/connectionMonitors/17c8edbf-3e8d-4182-a1"; - Requests[2429] = new DefaultHttpContext(); - Requests[2429].RequestServices = CreateServices(); - Requests[2429].Request.Method = "DELETE"; - Requests[2429].Request.Path = "/subscriptions/aad5e6ed-3cd4-/resourceGroups/faf9af3a-9042-408/providers/Microsoft.Network/networkWatchers/31df7f48-634b-4dd6/packetCaptures/361253df-4626-439"; - Requests[2430] = new DefaultHttpContext(); - Requests[2430].RequestServices = CreateServices(); - Requests[2430].Request.Method = "PATCH"; - Requests[2430].Request.Path = "/subscriptions/8a7042ab-720d-/resourceGroups/399b98d3-566f-404/providers/Microsoft.Network/routeFilters/607b4ae2-bfb0-4/routeFilterRules/747a8763"; - Requests[2431] = new DefaultHttpContext(); - Requests[2431].RequestServices = CreateServices(); - Requests[2431].Request.Method = "PUT"; - Requests[2431].Request.Path = "/subscriptions/a91b6a6c-f03d-/resourceGroups/7aac77d3-567b-4dc/providers/Microsoft.Network/routeTables/fa49c3d5-80df-/routes/06720a12-"; - Requests[2432] = new DefaultHttpContext(); - Requests[2432].RequestServices = CreateServices(); - Requests[2432].Request.Method = "GET"; - Requests[2432].Request.Path = "/subscriptions/91745a72-6bec-/resourceGroups/88257be2-e83e-4cc/providers/Microsoft.Network/trafficmanagerprofiles/11767a43-20/heatMaps/ff24d473-c6"; - Requests[2433] = new DefaultHttpContext(); - Requests[2433].RequestServices = CreateServices(); - Requests[2433].Request.Method = "PUT"; - Requests[2433].Request.Path = "/subscriptions/a2286fd5-887c-/resourceGroups/1f1e85d5-12f8-491/providers/Microsoft.Network/virtualNetworks/0fd5dd69-8db2-4eae/subnets/37da8a14-5"; - Requests[2434] = new DefaultHttpContext(); - Requests[2434].RequestServices = CreateServices(); - Requests[2434].Request.Method = "PUT"; - Requests[2434].Request.Path = "/subscriptions/7e185384-b72b-/resourceGroups/eade2ab7-cbc8-484/providers/Microsoft.Network/virtualNetworks/8de643e8-cefb-472e/virtualNetworkPeerings/5d679b6e-1657-45c9-b85e-5"; - Requests[2435] = new DefaultHttpContext(); - Requests[2435].RequestServices = CreateServices(); - Requests[2435].Request.Method = "GET"; - Requests[2435].Request.Path = "/subscriptions/53efdcad-8ba1-/resourceGroups/eac48ca3-e0da-477/providers/Microsoft.NotificationHubs/namespaces/5e8b48cb-d56a/AuthorizationRules/77aa2d94-c8cc-40c2-a1"; - Requests[2436] = new DefaultHttpContext(); - Requests[2436].RequestServices = CreateServices(); - Requests[2436].Request.Method = "GET"; - Requests[2436].Request.Path = "/subscriptions/9386548b-20aa-/resourceGroups/d9d60111-9bb6-4be/providers/Microsoft.NotificationHubs/namespaces/cb5a7684-ff3d/notificationHubs/127e7c94-4bad-4108-"; - Requests[2437] = new DefaultHttpContext(); - Requests[2437].RequestServices = CreateServices(); - Requests[2437].Request.Method = "GET"; - Requests[2437].Request.Path = "/subscriptions/0a09ce83-9a54-/resourcegroups/9ae2124f-e7ca-463/providers/Microsoft.OperationalInsights/workspaces/c971341d-902f/dataSources/983f939c-b3c2-"; - Requests[2438] = new DefaultHttpContext(); - Requests[2438].RequestServices = CreateServices(); - Requests[2438].Request.Method = "GET"; - Requests[2438].Request.Path = "/subscriptions/739e20b4-3a13-/resourcegroups/7accf356-1e46-45d/providers/Microsoft.OperationalInsights/workspaces/4ea2ad6a-fe66/linkedServices/690d2573-cbe1-493"; - Requests[2439] = new DefaultHttpContext(); - Requests[2439].RequestServices = CreateServices(); - Requests[2439].Request.Method = "GET"; - Requests[2439].Request.Path = "/subscriptions/96a452a9-d2c7-/resourcegroups/99c75739-0764-403/providers/Microsoft.OperationalInsights/workspaces/4c5cb484-059c/savedSearches/eb6679eb-2be0-4"; - Requests[2440] = new DefaultHttpContext(); - Requests[2440].RequestServices = CreateServices(); - Requests[2440].Request.Method = "POST"; - Requests[2440].Request.Path = "/subscriptions/2ad94015-a0be-/resourcegroups/e976b412-9342-4a2/providers/Microsoft.OperationalInsights/workspaces/debecc9f-005d/search/a299b"; - Requests[2441] = new DefaultHttpContext(); - Requests[2441].RequestServices = CreateServices(); - Requests[2441].Request.Method = "DELETE"; - Requests[2441].Request.Path = "/subscriptions/1da643d4-e99d-/resourcegroups/5d1c09bc-65b5-49e/providers/Microsoft.OperationalInsights/workspaces/c46f4506-917e/storageInsightConfigs/a87f823d-0f65-4e43"; - Requests[2442] = new DefaultHttpContext(); - Requests[2442].RequestServices = CreateServices(); - Requests[2442].Request.Method = "PUT"; - Requests[2442].Request.Path = "/Subscriptions/6f7e1fbb-6919-/resourceGroups/4e6e061a-03eb-4a2/providers/Microsoft.RecoveryServices/vaults/a584c66d-cfc/replicationAlertSettings/e25663c0-a78d-4d"; - Requests[2443] = new DefaultHttpContext(); - Requests[2443].RequestServices = CreateServices(); - Requests[2443].Request.Method = "GET"; - Requests[2443].Request.Path = "/Subscriptions/66de8c14-4e19-/resourceGroups/ceb8b99c-24a3-41a/providers/Microsoft.RecoveryServices/vaults/be019a9d-949/replicationEvents/49be487a-"; - Requests[2444] = new DefaultHttpContext(); - Requests[2444].RequestServices = CreateServices(); - Requests[2444].Request.Method = "DELETE"; - Requests[2444].Request.Path = "/Subscriptions/19971825-e100-/resourceGroups/af8b0d75-ac27-436/providers/Microsoft.RecoveryServices/vaults/42b6418a-7d1/replicationFabrics/cd00e3bf-3"; - Requests[2445] = new DefaultHttpContext(); - Requests[2445].RequestServices = CreateServices(); - Requests[2445].Request.Method = "GET"; - Requests[2445].Request.Path = "/Subscriptions/1b2ce57e-9c46-/resourceGroups/fed4fed8-9f6f-4f5/providers/Microsoft.RecoveryServices/vaults/dd7a4489-fce/replicationJobs/cc47357"; - Requests[2446] = new DefaultHttpContext(); - Requests[2446].RequestServices = CreateServices(); - Requests[2446].Request.Method = "PATCH"; - Requests[2446].Request.Path = "/Subscriptions/76b98120-f344-/resourceGroups/a147e19b-aa56-469/providers/Microsoft.RecoveryServices/vaults/349d54fb-43e/replicationPolicies/0288510b-7"; - Requests[2447] = new DefaultHttpContext(); - Requests[2447].RequestServices = CreateServices(); - Requests[2447].Request.Method = "PATCH"; - Requests[2447].Request.Path = "/Subscriptions/91f0fee1-9343-/resourceGroups/94948d61-68df-45c/providers/Microsoft.RecoveryServices/vaults/d6edceb9-edb/replicationRecoveryPlans/f00792c7-711e-40"; - Requests[2448] = new DefaultHttpContext(); - Requests[2448].RequestServices = CreateServices(); - Requests[2448].Request.Method = "GET"; - Requests[2448].Request.Path = "/Subscriptions/8da1450d-ee50-/resourceGroups/8d2eec9c-591f-42f/providers/Microsoft.RecoveryServices/vaults/bf2adf8a-/backupEngines/a0a7e821-286d-4c"; - Requests[2449] = new DefaultHttpContext(); - Requests[2449].RequestServices = CreateServices(); - Requests[2449].Request.Method = "GET"; - Requests[2449].Request.Path = "/Subscriptions/0e35bbb4-f13f-/resourceGroups/51ccdd95-3863-4d3/providers/Microsoft.RecoveryServices/vaults/50f6040f-/backupJobs/d45e0b8"; - Requests[2450] = new DefaultHttpContext(); - Requests[2450].RequestServices = CreateServices(); - Requests[2450].Request.Method = "GET"; - Requests[2450].Request.Path = "/Subscriptions/aa1c2e64-e4ef-/resourceGroups/0a363f73-eb3e-4a7/providers/Microsoft.RecoveryServices/vaults/6ffd6d8e-/backupOperationResults/4649c314-d7"; - Requests[2451] = new DefaultHttpContext(); - Requests[2451].RequestServices = CreateServices(); - Requests[2451].Request.Method = "GET"; - Requests[2451].Request.Path = "/Subscriptions/1e9e37b0-10c0-/resourceGroups/be43e211-b602-4ff/providers/Microsoft.RecoveryServices/vaults/e1d12fca-/backupOperations/6de4d5c4-74"; - Requests[2452] = new DefaultHttpContext(); - Requests[2452].RequestServices = CreateServices(); - Requests[2452].Request.Method = "DELETE"; - Requests[2452].Request.Path = "/Subscriptions/6a886af5-c60b-/resourceGroups/d074c0e3-096a-402/providers/Microsoft.RecoveryServices/vaults/9f981c9b-/backupPolicies/4b05acf8-2"; - Requests[2453] = new DefaultHttpContext(); - Requests[2453].RequestServices = CreateServices(); - Requests[2453].Request.Method = "PUT"; - Requests[2453].Request.Path = "/Subscriptions/02c223ac-901d-/resourceGroups/aacf7736-97e8-488/providers/Microsoft.RecoveryServices/vaults/b8b61806-/certificates/a950825d-f967-4"; - Requests[2454] = new DefaultHttpContext(); - Requests[2454].RequestServices = CreateServices(); - Requests[2454].Request.Method = "DELETE"; - Requests[2454].Request.Path = "/subscriptions/2c42a1a2-3502-/resourceGroups/16da4343-6b62-486/providers/Microsoft.RecoveryServices/vaults/3a2ff201-/registeredIdentities/15439a05-184"; - Requests[2455] = new DefaultHttpContext(); - Requests[2455].RequestServices = CreateServices(); - Requests[2455].Request.Method = "GET"; - Requests[2455].Request.Path = "/subscriptions/1a9873ea-7ae6-/resourceGroups/e61c8253-a076-4f0/providers/Microsoft.Relay/namespaces/49536cc6-b5e7/authorizationRules/6f41ef79-0985-42de-b6"; - Requests[2456] = new DefaultHttpContext(); - Requests[2456].RequestServices = CreateServices(); - Requests[2456].Request.Method = "GET"; - Requests[2456].Request.Path = "/subscriptions/62f3d436-b6c0-/resourceGroups/2af25ecc-c8f6-4b5/providers/Microsoft.Relay/namespaces/ef80ccb9-9ea8/hybridConnections/4a447fec-401e-4165-9"; - Requests[2457] = new DefaultHttpContext(); - Requests[2457].RequestServices = CreateServices(); - Requests[2457].Request.Method = "GET"; - Requests[2457].Request.Path = "/subscriptions/11beaeb4-f899-/resourceGroups/b4543eda-808d-4a5/providers/Microsoft.Relay/namespaces/d2953da7-feb1/wcfRelays/db671ccd-"; - Requests[2458] = new DefaultHttpContext(); - Requests[2458].RequestServices = CreateServices(); - Requests[2458].Request.Method = "DELETE"; - Requests[2458].Request.Path = "/subscriptions/74d576c8-cba6-/resourceGroups/9b28bde1-9896-49d/providers/Microsoft.Scheduler/jobCollections/2c8a53e1-aa42-49a/jobs/80cef5f"; - Requests[2459] = new DefaultHttpContext(); - Requests[2459].RequestServices = CreateServices(); - Requests[2459].Request.Method = "POST"; - Requests[2459].Request.Path = "/subscriptions/1d994ecf-6d3b-/resourceGroups/485fd85e-d4fd-47c/providers/Microsoft.Search/searchServices/9434380b-d27f-45e/createQueryKey/a22ec"; - Requests[2460] = new DefaultHttpContext(); - Requests[2460].RequestServices = CreateServices(); - Requests[2460].Request.Method = "DELETE"; - Requests[2460].Request.Path = "/subscriptions/2f136d1a-cf2b-/resourceGroups/02fb06bb-57a2-406/providers/Microsoft.Search/searchServices/bcc2c7d8-2440-4c4/deleteQueryKey/991cc"; - Requests[2461] = new DefaultHttpContext(); - Requests[2461].RequestServices = CreateServices(); - Requests[2461].Request.Method = "POST"; - Requests[2461].Request.Path = "/subscriptions/c318f934-6474-/resourceGroups/901b5d5a-509b-4ed/providers/Microsoft.Search/searchServices/96de22f1-aee2-46b/regenerateAdminKey/6a0c9e6"; - Requests[2462] = new DefaultHttpContext(); - Requests[2462].RequestServices = CreateServices(); - Requests[2462].Request.Method = "GET"; - Requests[2462].Request.Path = "/subscriptions/21107930-bc05-/resourceGroups/47d77ee2-49ee-447/providers/Microsoft.Security/locations/25c8cebb-32/alerts/b51b2e02-"; - Requests[2463] = new DefaultHttpContext(); - Requests[2463].RequestServices = CreateServices(); - Requests[2463].Request.Method = "GET"; - Requests[2463].Request.Path = "/subscriptions/458030dc-5188-/resourceGroups/d154bdd7-1cb0-4e4/providers/Microsoft.Security/locations/0b21856c-43/discoveredSecuritySolutions/5721aa2f-fdcb-4d43-bb92-1bcd04"; - Requests[2464] = new DefaultHttpContext(); - Requests[2464].RequestServices = CreateServices(); - Requests[2464].Request.Method = "GET"; - Requests[2464].Request.Path = "/subscriptions/b38fa1d2-3e86-/resourceGroups/609da5ca-1236-482/providers/Microsoft.Security/locations/9bcb9568-98/ExternalSecuritySolutions/fd1490a9-dcf4-4ea9-80a5-a894e"; - Requests[2465] = new DefaultHttpContext(); - Requests[2465].RequestServices = CreateServices(); - Requests[2465].Request.Method = "DELETE"; - Requests[2465].Request.Path = "/subscriptions/a25f28b9-58dd-/resourceGroups/54a0a4c1-2b2f-4fb/providers/Microsoft.Security/locations/62edd22c-f1/jitNetworkAccessPolicies/8b5fb967-5eea-44f0-99a5-01"; - Requests[2466] = new DefaultHttpContext(); - Requests[2466].RequestServices = CreateServices(); - Requests[2466].Request.Method = "GET"; - Requests[2466].Request.Path = "/subscriptions/112eac8e-f9cd-/resourceGroups/b9c6dc8f-6a97-4a1/providers/Microsoft.Security/locations/a5334756-56/tasks/f9cb84d4"; - Requests[2467] = new DefaultHttpContext(); - Requests[2467].RequestServices = CreateServices(); - Requests[2467].Request.Method = "GET"; - Requests[2467].Request.Path = "/subscriptions/da565a91-28b5-/resourceGroups/7afa0fce-b12f-43c/providers/Microsoft.ServerManagement/nodes/440df9d5/sessions/76ef994"; - Requests[2468] = new DefaultHttpContext(); - Requests[2468].RequestServices = CreateServices(); - Requests[2468].Request.Method = "GET"; - Requests[2468].Request.Path = "/subscriptions/494f5124-390a-/resourceGroups/145193d5-3e2b-4df/providers/Microsoft.ServiceBus/namespaces/b56b7854-2dba/AuthorizationRules/5c963160-0e64-41f0-85"; - Requests[2469] = new DefaultHttpContext(); - Requests[2469].RequestServices = CreateServices(); - Requests[2469].Request.Method = "GET"; - Requests[2469].Request.Path = "/subscriptions/3d5c5bbc-6b27-/resourceGroups/505f5933-2ba9-495/providers/Microsoft.ServiceBus/namespaces/fcc45739-04a4/disasterRecoveryConfigs/3db47"; - Requests[2470] = new DefaultHttpContext(); - Requests[2470].RequestServices = CreateServices(); - Requests[2470].Request.Method = "GET"; - Requests[2470].Request.Path = "/subscriptions/7886e188-1b35-/resourceGroups/e79ae5bd-4bf6-4b1/providers/Microsoft.ServiceBus/namespaces/8129eee8-352e/migrationConfigurations/6947c2bb-d"; - Requests[2471] = new DefaultHttpContext(); - Requests[2471].RequestServices = CreateServices(); - Requests[2471].Request.Method = "GET"; - Requests[2471].Request.Path = "/subscriptions/494fdadd-7629-/resourceGroups/303438c6-b962-4da/providers/Microsoft.ServiceBus/namespaces/2c16b361-9380/queues/d97253ae-"; - Requests[2472] = new DefaultHttpContext(); - Requests[2472].RequestServices = CreateServices(); - Requests[2472].Request.Method = "GET"; - Requests[2472].Request.Path = "/subscriptions/d17c9535-4054-/resourceGroups/55356bc6-4a02-48e/providers/Microsoft.ServiceBus/namespaces/358b4c6d-d649/topics/6a111448-"; - Requests[2473] = new DefaultHttpContext(); - Requests[2473].RequestServices = CreateServices(); - Requests[2473].Request.Method = "DELETE"; - Requests[2473].Request.Path = "/subscriptions/10241fd8-70b8-/resourceGroups/fd00cf15-5b3c-4a3/providers/Microsoft.ServiceFabric/clusters/fd39aa2e-a5/applications/9057dfad-760e-4"; - Requests[2474] = new DefaultHttpContext(); - Requests[2474].RequestServices = CreateServices(); - Requests[2474].Request.Method = "DELETE"; - Requests[2474].Request.Path = "/subscriptions/55a9deae-b574-/resourceGroups/8b622c8e-550e-419/providers/Microsoft.ServiceFabric/clusters/e4cdd9e1-4a/applicationTypes/8a3fb6d4-1f99-417d-"; - Requests[2475] = new DefaultHttpContext(); - Requests[2475].RequestServices = CreateServices(); - Requests[2475].Request.Method = "DELETE"; - Requests[2475].Request.Path = "/subscriptions/ebf9c648-3833-/resourceGroups/40e57739-346d-4fc/providers/Microsoft.Sql/locations/31353027-797/instanceFailoverGroups/1058234b-8c25-4fd"; - Requests[2476] = new DefaultHttpContext(); - Requests[2476].RequestServices = CreateServices(); - Requests[2476].Request.Method = "PATCH"; - Requests[2476].Request.Path = "/subscriptions/a2203bd5-d397-/resourceGroups/b64ca1ca-7d93-4d7/providers/Microsoft.Sql/managedInstances/ae438582-af79-4419-/databases/a4146500-87e"; - Requests[2477] = new DefaultHttpContext(); - Requests[2477].RequestServices = CreateServices(); - Requests[2477].Request.Method = "GET"; - Requests[2477].Request.Path = "/subscriptions/bfa19bc9-f33a-/resourceGroups/d266e2d0-f211-42f/providers/Microsoft.Sql/servers/474cdf5a-7/administrators/bc19f0f1-c050-47f"; - Requests[2478] = new DefaultHttpContext(); - Requests[2478].RequestServices = CreateServices(); - Requests[2478].Request.Method = "PUT"; - Requests[2478].Request.Path = "/subscriptions/c35ba94c-d360-/resourceGroups/5b172ddb-3ead-4ea/providers/Microsoft.Sql/servers/ab045caa-9/advisors/77337dac-b8"; - Requests[2479] = new DefaultHttpContext(); - Requests[2479].RequestServices = CreateServices(); - Requests[2479].Request.Method = "PUT"; - Requests[2479].Request.Path = "/subscriptions/419d4757-8395-/resourceGroups/0f70abfa-4139-476/providers/Microsoft.Sql/servers/843e97a2-5/auditingPolicies/932db353-c5bb-40ff-944e"; - Requests[2480] = new DefaultHttpContext(); - Requests[2480].RequestServices = CreateServices(); - Requests[2480].Request.Method = "PUT"; - Requests[2480].Request.Path = "/subscriptions/ae7a7964-8bac-/resourceGroups/924cca12-7b8a-44b/providers/Microsoft.Sql/servers/3282d71b-4/backupLongTermRetentionVaults/c6a51320-39e4-42cc-adb9-086a5010"; - Requests[2481] = new DefaultHttpContext(); - Requests[2481].RequestServices = CreateServices(); - Requests[2481].Request.Method = "PUT"; - Requests[2481].Request.Path = "/subscriptions/c68f8930-347d-/resourceGroups/450a47dd-7edd-4c3/providers/Microsoft.Sql/servers/d37c8d3f-3/communicationLinks/c9bd68ef-d979-44a4-ab"; - Requests[2482] = new DefaultHttpContext(); - Requests[2482].RequestServices = CreateServices(); - Requests[2482].Request.Method = "GET"; - Requests[2482].Request.Path = "/subscriptions/a8eb3e4d-3e36-/resourceGroups/8c5f20bf-d604-455/providers/Microsoft.Sql/servers/a7c5834e-5/connectionPolicies/6f725331-02ac-4daf-9"; - Requests[2483] = new DefaultHttpContext(); - Requests[2483].RequestServices = CreateServices(); - Requests[2483].Request.Method = "GET"; - Requests[2483].Request.Path = "/subscriptions/34502b1b-6954-/resourceGroups/3b5469ce-8635-4c6/providers/Microsoft.Sql/servers/e5ecbf33-4/databases/f7962f2d-f6b"; - Requests[2484] = new DefaultHttpContext(); - Requests[2484].RequestServices = CreateServices(); - Requests[2484].Request.Method = "GET"; - Requests[2484].Request.Path = "/subscriptions/0d4225ee-0c6a-/resourceGroups/08230208-da60-4dc/providers/Microsoft.Sql/servers/260ad1ec-3/disasterRecoveryConfiguration/ee8fb315-12bf-4081-bd85-09de906c4"; - Requests[2485] = new DefaultHttpContext(); - Requests[2485].RequestServices = CreateServices(); - Requests[2485].Request.Method = "DELETE"; - Requests[2485].Request.Path = "/subscriptions/231aaefe-8621-/resourceGroups/11e7212b-319d-4d3/providers/Microsoft.Sql/servers/6e8fb536-a/dnsAliases/ebae7139-51d"; - Requests[2486] = new DefaultHttpContext(); - Requests[2486].RequestServices = CreateServices(); - Requests[2486].Request.Method = "GET"; - Requests[2486].Request.Path = "/subscriptions/53a9f040-e97b-/resourceGroups/73fcd376-ee68-41a/providers/Microsoft.Sql/servers/a5d62b23-6/elasticPools/e567d2d4-4d2a-4"; - Requests[2487] = new DefaultHttpContext(); - Requests[2487].RequestServices = CreateServices(); - Requests[2487].Request.Method = "PUT"; - Requests[2487].Request.Path = "/subscriptions/d68102aa-d093-/resourceGroups/7ddb3911-0afb-49f/providers/Microsoft.Sql/servers/da2ccc94-e/encryptionProtector/9002e16a-d1f7-452f-b975"; - Requests[2488] = new DefaultHttpContext(); - Requests[2488].RequestServices = CreateServices(); - Requests[2488].Request.Method = "PATCH"; - Requests[2488].Request.Path = "/subscriptions/0a0ec3d6-e5ee-/resourceGroups/48ab2a8f-eb81-43c/providers/Microsoft.Sql/servers/d69fd1c6-5/failoverGroups/e1f3d178-f21d-457"; - Requests[2489] = new DefaultHttpContext(); - Requests[2489].RequestServices = CreateServices(); - Requests[2489].Request.Method = "GET"; - Requests[2489].Request.Path = "/subscriptions/69355a0e-9fc7-/resourceGroups/217dbfff-b72c-4c9/providers/Microsoft.Sql/servers/88943f15-9/firewallRules/1050f684-d2c3-43"; - Requests[2490] = new DefaultHttpContext(); - Requests[2490].RequestServices = CreateServices(); - Requests[2490].Request.Method = "PATCH"; - Requests[2490].Request.Path = "/subscriptions/28da6039-eb04-/resourceGroups/e56e5fca-758b-476/providers/Microsoft.Sql/servers/42e3272c-e/jobAgents/5e8709f9-5b7"; - Requests[2491] = new DefaultHttpContext(); - Requests[2491].RequestServices = CreateServices(); - Requests[2491].Request.Method = "DELETE"; - Requests[2491].Request.Path = "/subscriptions/f0fcb595-69ed-/resourceGroups/7117cf96-4746-468/providers/Microsoft.Sql/servers/4ef70aaf-e/keys/574f79a"; - Requests[2492] = new DefaultHttpContext(); - Requests[2492].RequestServices = CreateServices(); - Requests[2492].Request.Method = "GET"; - Requests[2492].Request.Path = "/subscriptions/73ecf4a0-b2f8-/resourceGroups/e00ef593-cf02-4f6/providers/Microsoft.Sql/servers/ecb13536-d/recommendedElasticPools/27149a7d-7cad-45b3-b522-21"; - Requests[2493] = new DefaultHttpContext(); - Requests[2493].RequestServices = CreateServices(); - Requests[2493].Request.Method = "GET"; - Requests[2493].Request.Path = "/subscriptions/cea63442-58dc-/resourceGroups/edaa1acf-fbda-47b/providers/Microsoft.Sql/servers/509dff17-6/recoverableDatabases/ab783884-d34"; - Requests[2494] = new DefaultHttpContext(); - Requests[2494].RequestServices = CreateServices(); - Requests[2494].Request.Method = "GET"; - Requests[2494].Request.Path = "/subscriptions/5c5a1fa1-14c4-/resourceGroups/c14c96e5-47f9-4a4/providers/Microsoft.Sql/servers/8c5c74ee-1/restorableDroppedDatabases/74757228-f55a-4554-bf4f-b6fa7"; - Requests[2495] = new DefaultHttpContext(); - Requests[2495].RequestServices = CreateServices(); - Requests[2495].Request.Method = "GET"; - Requests[2495].Request.Path = "/subscriptions/85e2ae70-99fa-/resourceGroups/5c37c370-8a3e-483/providers/Microsoft.Sql/servers/1e3f9607-3/serviceObjectives/4066fd6c-f102-42eb-9"; - Requests[2496] = new DefaultHttpContext(); - Requests[2496].RequestServices = CreateServices(); - Requests[2496].Request.Method = "DELETE"; - Requests[2496].Request.Path = "/subscriptions/50565897-f6cf-/resourceGroups/a2ee552b-fff7-4b1/providers/Microsoft.Sql/servers/692e008b-a/syncAgents/aa54c505-2314"; - Requests[2497] = new DefaultHttpContext(); - Requests[2497].RequestServices = CreateServices(); - Requests[2497].Request.Method = "DELETE"; - Requests[2497].Request.Path = "/subscriptions/0d3e8e5e-3d6b-/resourceGroups/2219353b-e19a-4a6/providers/Microsoft.Sql/servers/7803e7b1-1/virtualNetworkRules/7609d436-e52a-479b-a02"; - Requests[2498] = new DefaultHttpContext(); - Requests[2498].RequestServices = CreateServices(); - Requests[2498].Request.Method = "GET"; - Requests[2498].Request.Path = "/subscriptions/0b19bc5e-85c2-/resourcegroups/f8b18caf-1dfb-438/providers/Microsoft.Storage.Admin/farms/a47b49/blobservices/1a68c069-44"; - Requests[2499] = new DefaultHttpContext(); - Requests[2499].RequestServices = CreateServices(); - Requests[2499].Request.Method = "GET"; - Requests[2499].Request.Path = "/subscriptions/e58bf1a9-697e-/resourcegroups/bf5dcb1e-bdc1-45c/providers/Microsoft.Storage.Admin/farms/492153/operationresults/deddada9-bf"; - Requests[2500] = new DefaultHttpContext(); - Requests[2500].RequestServices = CreateServices(); - Requests[2500].Request.Method = "GET"; - Requests[2500].Request.Path = "/subscriptions/79a3dc4b-4e42-/resourcegroups/7e40ab6d-a10f-430/providers/Microsoft.Storage.Admin/farms/a76fcc/queueservices/e000da36-68"; - Requests[2501] = new DefaultHttpContext(); - Requests[2501].RequestServices = CreateServices(); - Requests[2501].Request.Method = "GET"; - Requests[2501].Request.Path = "/subscriptions/1a3d784f-73a8-/resourcegroups/52dce6ef-86e2-4ad/providers/Microsoft.Storage.Admin/farms/815d62/shares/7100d9b9-"; - Requests[2502] = new DefaultHttpContext(); - Requests[2502].RequestServices = CreateServices(); - Requests[2502].Request.Method = "POST"; - Requests[2502].Request.Path = "/subscriptions/dbb0fa00-946e-/resourcegroups/e3cfbb8d-82f0-4b8/providers/Microsoft.Storage.Admin/farms/e1b025/storageaccounts/6554235e-"; - Requests[2503] = new DefaultHttpContext(); - Requests[2503].RequestServices = CreateServices(); - Requests[2503].Request.Method = "GET"; - Requests[2503].Request.Path = "/subscriptions/eceb8126-6dca-/resourcegroups/2ab2ad4d-9a30-43e/providers/Microsoft.Storage.Admin/farms/a846de/tableservices/705f63ec-f7"; - Requests[2504] = new DefaultHttpContext(); - Requests[2504].RequestServices = CreateServices(); - Requests[2504].Request.Method = "DELETE"; - Requests[2504].Request.Path = "/subscriptions/d88ff7fe-1974-/resourceGroups/f5a827d1-b8da-4fc/providers/Microsoft.Storage/storageAccounts/cf43ba24-9a/managementPolicies/670a0e05-8f94-44ff-b"; - Requests[2505] = new DefaultHttpContext(); - Requests[2505].RequestServices = CreateServices(); - Requests[2505].Request.Method = "DELETE"; - Requests[2505].Request.Path = "/subscriptions/dc323bb1-3c18-/resourceGroups/580d494b-972c-4f3/providers/Microsoft.StorSimple/managers/e92eab8a-fb/accessControlRecords/116567bc-21eb-4761-80a0"; - Requests[2506] = new DefaultHttpContext(); - Requests[2506].RequestServices = CreateServices(); - Requests[2506].Request.Method = "DELETE"; - Requests[2506].Request.Path = "/subscriptions/4ad64c59-bdbd-/resourceGroups/8d73e21d-fba0-413/providers/Microsoft.StorSimple/managers/6cf4771d-1c/bandwidthSettings/4470b25a-5fea-488e-b"; - Requests[2507] = new DefaultHttpContext(); - Requests[2507].RequestServices = CreateServices(); - Requests[2507].Request.Method = "PATCH"; - Requests[2507].Request.Path = "/subscriptions/3eef8ced-385b-/resourceGroups/36142ad6-84ab-46e/providers/Microsoft.StorSimple/managers/65fcad84-c5/devices/fa68c747-4"; - Requests[2508] = new DefaultHttpContext(); - Requests[2508].RequestServices = CreateServices(); - Requests[2508].Request.Method = "DELETE"; - Requests[2508].Request.Path = "/subscriptions/20fd940a-e0dc-/resourceGroups/9ae80493-013f-436/providers/Microsoft.StorSimple/managers/dcd6e626-5e/storageAccountCredentials/aca388d6-0978-4c12-b560-f98a"; - Requests[2509] = new DefaultHttpContext(); - Requests[2509].RequestServices = CreateServices(); - Requests[2509].Request.Method = "GET"; - Requests[2509].Request.Path = "/subscriptions/f818319e-35f6-/resourcegroups/baced707-dd6a-415/providers/Microsoft.StreamAnalytics/streamingjobs/1bb12a9/functions/1d500add-fb9"; - Requests[2510] = new DefaultHttpContext(); - Requests[2510].RequestServices = CreateServices(); - Requests[2510].Request.Method = "GET"; - Requests[2510].Request.Path = "/subscriptions/e17dad04-4266-/resourcegroups/694261ed-8d1c-4ef/providers/Microsoft.StreamAnalytics/streamingjobs/408746e/inputs/a5c91704-"; - Requests[2511] = new DefaultHttpContext(); - Requests[2511].RequestServices = CreateServices(); - Requests[2511].Request.Method = "GET"; - Requests[2511].Request.Path = "/subscriptions/8acd7dcd-073b-/resourcegroups/f83f47a1-b571-412/providers/Microsoft.StreamAnalytics/streamingjobs/db44e92/outputs/56a31135-6"; - Requests[2512] = new DefaultHttpContext(); - Requests[2512].RequestServices = CreateServices(); - Requests[2512].Request.Method = "GET"; - Requests[2512].Request.Path = "/subscriptions/f40714e1-d510-/resourcegroups/3fdb52fd-2572-403/providers/Microsoft.StreamAnalytics/streamingjobs/fc6acdf/transformations/099a87a2-aa88-4e3a"; - Requests[2513] = new DefaultHttpContext(); - Requests[2513].RequestServices = CreateServices(); - Requests[2513].Request.Method = "DELETE"; - Requests[2513].Request.Path = "/subscriptions/d6c3a871-4c7d-/resourcegroups/24b43492-f219-4a7/providers/Microsoft.Subscriptions.Admin/offers/33d55/offerDelegations/e0f86e8b-c7a5-4b4f-"; - Requests[2514] = new DefaultHttpContext(); - Requests[2514].RequestServices = CreateServices(); - Requests[2514].Request.Method = "DELETE"; - Requests[2514].Request.Path = "/subscriptions/c95bd039-9bf4-/resourceGroups/70a3eca2-dd8d-472/providers/Microsoft.TimeSeriesInsights/environments/dc6733c6-4a69-4/accessPolicies/7c800e80-5804-46"; - Requests[2515] = new DefaultHttpContext(); - Requests[2515].RequestServices = CreateServices(); - Requests[2515].Request.Method = "DELETE"; - Requests[2515].Request.Path = "/subscriptions/53df27d8-0da3-/resourceGroups/9b0380d5-2c58-450/providers/Microsoft.TimeSeriesInsights/environments/f2b08d66-55f2-4/eventSources/89f15693-68cb-4"; - Requests[2516] = new DefaultHttpContext(); - Requests[2516].RequestServices = CreateServices(); - Requests[2516].Request.Method = "DELETE"; - Requests[2516].Request.Path = "/subscriptions/b5d5b3fe-f245-/resourceGroups/80a26728-2fb7-458/providers/Microsoft.TimeSeriesInsights/environments/9fa5d52a-f2f2-4/referenceDataSets/90d9143f-492c-49c4-8"; - Requests[2517] = new DefaultHttpContext(); - Requests[2517].RequestServices = CreateServices(); - Requests[2517].Request.Method = "GET"; - Requests[2517].Request.Path = "/subscriptions/d1442fad-3247-/resourcegroups/fc5206ba-18b3-4ec/providers/Microsoft.Update.Admin/updateLocations/d287d5a6-bcbe-/updates/c81197b1-a"; - Requests[2518] = new DefaultHttpContext(); - Requests[2518].RequestServices = CreateServices(); - Requests[2518].Request.Method = "PATCH"; - Requests[2518].Request.Path = "/subscriptions/b70bb196-5d2f-/resourcegroups/201cfc1e-ec18-47e/providers/microsoft.visualstudio/account/9eb7abc0-3816-436e-/extension/8eb2be1a-b5d5-4532-8c"; - Requests[2519] = new DefaultHttpContext(); - Requests[2519].RequestServices = CreateServices(); - Requests[2519].Request.Method = "PATCH"; - Requests[2519].Request.Path = "/subscriptions/3178ace2-6fe2-/resourceGroups/45e8328e-a40f-4ac/providers/microsoft.visualstudio/account/499df704-cd3f-43/project/3d28102d-537"; - Requests[2520] = new DefaultHttpContext(); - Requests[2520].RequestServices = CreateServices(); - Requests[2520].Request.Method = "GET"; - Requests[2520].Request.Path = "/subscriptions/84e419f1-f2f5-/resourceGroups/5cb73c3f-fafa-4f6/providers/Microsoft.Web/hostingEnvironments/d7ebd/detectors/9faa8c9d-99a"; - Requests[2521] = new DefaultHttpContext(); - Requests[2521].RequestServices = CreateServices(); - Requests[2521].Request.Method = "GET"; - Requests[2521].Request.Path = "/subscriptions/b9de9432-8e0e-/resourceGroups/859f4d2b-b3f5-41a/providers/Microsoft.Web/hostingEnvironments/d17a9/diagnostics/58f2d5f4-8a53-4"; - Requests[2522] = new DefaultHttpContext(); - Requests[2522].RequestServices = CreateServices(); - Requests[2522].Request.Method = "GET"; - Requests[2522].Request.Path = "/subscriptions/5da19b96-21c6-/resourceGroups/90072128-3255-416/providers/Microsoft.Web/hostingEnvironments/b75c6/operations/02480e83-64"; - Requests[2523] = new DefaultHttpContext(); - Requests[2523].RequestServices = CreateServices(); - Requests[2523].Request.Method = "PATCH"; - Requests[2523].Request.Path = "/subscriptions/669cd973-4868-/resourceGroups/9b8dc972-fff6-46f/providers/Microsoft.Web/hostingEnvironments/d6596/workerPools/3edad689-5bca-"; - Requests[2524] = new DefaultHttpContext(); - Requests[2524].RequestServices = CreateServices(); - Requests[2524].Request.Method = "GET"; - Requests[2524].Request.Path = "/subscriptions/c2b32deb-f3ad-/resourceGroups/9644b7b4-c190-4fb/providers/Microsoft.Web/managedHostingEnvironments/60dad/operations/3303f771-f3"; - Requests[2525] = new DefaultHttpContext(); - Requests[2525].RequestServices = CreateServices(); - Requests[2525].Request.Method = "GET"; - Requests[2525].Request.Path = "/subscriptions/d2b7fead-f512-/resourceGroups/71543445-ac22-40e/providers/Microsoft.Web/serverfarms/bf630/operationresults/a5ac36e0-5c"; - Requests[2526] = new DefaultHttpContext(); - Requests[2526].RequestServices = CreateServices(); - Requests[2526].Request.Method = "GET"; - Requests[2526].Request.Path = "/subscriptions/e9a74bdb-eb53-/resourceGroups/b7e948c6-0784-4fa/providers/Microsoft.Web/serverfarms/02caa/virtualNetworkConnections/bb7f96b1"; - Requests[2527] = new DefaultHttpContext(); - Requests[2527].RequestServices = CreateServices(); - Requests[2527].Request.Method = "DELETE"; - Requests[2527].Request.Path = "/subscriptions/4a4325f9-28ff-/resourceGroups/22134dd0-e4d4-460/providers/Microsoft.Web/sites/60002/backups/65417496"; - Requests[2528] = new DefaultHttpContext(); - Requests[2528].RequestServices = CreateServices(); - Requests[2528].Request.Method = "DELETE"; - Requests[2528].Request.Path = "/subscriptions/c6b53608-9aff-/resourceGroups/95a0e22c-9a1e-4a4/providers/Microsoft.Web/sites/461ca/continuouswebjobs/fcf42710-3"; - Requests[2529] = new DefaultHttpContext(); - Requests[2529].RequestServices = CreateServices(); - Requests[2529].Request.Method = "DELETE"; - Requests[2529].Request.Path = "/subscriptions/1a5a64dd-89c2-/resourceGroups/e7df0a66-da00-4d1/providers/Microsoft.Web/sites/f2eef/deployments/69fe3"; - Requests[2530] = new DefaultHttpContext(); - Requests[2530].RequestServices = CreateServices(); - Requests[2530].Request.Method = "PATCH"; - Requests[2530].Request.Path = "/subscriptions/15aaddc2-06f2-/resourceGroups/dd1e3123-77de-486/providers/Microsoft.Web/sites/f70eb/domainOwnershipIdentifiers/742459a5-89d5-4085-a5c3-20512"; - Requests[2531] = new DefaultHttpContext(); - Requests[2531].RequestServices = CreateServices(); - Requests[2531].Request.Method = "DELETE"; - Requests[2531].Request.Path = "/subscriptions/2258004c-1930-/resourceGroups/631837b9-93ed-4f1/providers/Microsoft.Web/sites/b5e39/functions/aeb5b917-a44"; - Requests[2532] = new DefaultHttpContext(); - Requests[2532].RequestServices = CreateServices(); - Requests[2532].Request.Method = "DELETE"; - Requests[2532].Request.Path = "/subscriptions/e45c5921-070a-/resourceGroups/c3746dc9-bcd7-4bf/providers/Microsoft.Web/sites/393ad/hostNameBindings/624485ca"; - Requests[2533] = new DefaultHttpContext(); - Requests[2533].RequestServices = CreateServices(); - Requests[2533].Request.Method = "PATCH"; - Requests[2533].Request.Path = "/subscriptions/d50073c9-9d9b-/resourceGroups/c8504e0a-5168-434/providers/Microsoft.Web/sites/ab624/hybridconnection/9c311902-c"; - Requests[2534] = new DefaultHttpContext(); - Requests[2534].RequestServices = CreateServices(); - Requests[2534].Request.Method = "GET"; - Requests[2534].Request.Path = "/subscriptions/02d1abed-ed13-/resourceGroups/30a84f5d-6d24-4b6/providers/Microsoft.Web/sites/8c94b/networkFeatures/01d1c"; - Requests[2535] = new DefaultHttpContext(); - Requests[2535].RequestServices = CreateServices(); - Requests[2535].Request.Method = "GET"; - Requests[2535].Request.Path = "/subscriptions/49c17d0a-4e23-/resourceGroups/a151467c-a9ac-430/providers/Microsoft.Web/sites/4669f/operationresults/60762f9f-2e"; - Requests[2536] = new DefaultHttpContext(); - Requests[2536].RequestServices = CreateServices(); - Requests[2536].Request.Method = "DELETE"; - Requests[2536].Request.Path = "/subscriptions/4685f686-836b-/resourceGroups/bee8442c-94c6-4f0/providers/Microsoft.Web/sites/6ca95/premieraddons/66ae8d03-b24e-44"; - Requests[2537] = new DefaultHttpContext(); - Requests[2537].RequestServices = CreateServices(); - Requests[2537].Request.Method = "DELETE"; - Requests[2537].Request.Path = "/subscriptions/856e1b43-66b4-/resourceGroups/01e3b988-7727-4f8/providers/Microsoft.Web/sites/08f4b/processes/27fe5890-"; - Requests[2538] = new DefaultHttpContext(); - Requests[2538].RequestServices = CreateServices(); - Requests[2538].Request.Method = "DELETE"; - Requests[2538].Request.Path = "/subscriptions/75fc939b-34f9-/resourceGroups/88ee691a-11cd-45e/providers/Microsoft.Web/sites/8eb80/publicCertificates/3a37fe63-199e-4d60-a7"; - Requests[2539] = new DefaultHttpContext(); - Requests[2539].RequestServices = CreateServices(); - Requests[2539].Request.Method = "DELETE"; - Requests[2539].Request.Path = "/subscriptions/24277be5-5e2c-/resourceGroups/ef179744-d855-4e8/providers/Microsoft.Web/sites/70af9/siteextensions/96f45cd3-1c03-4"; - Requests[2540] = new DefaultHttpContext(); - Requests[2540].RequestServices = CreateServices(); - Requests[2540].Request.Method = "PATCH"; - Requests[2540].Request.Path = "/subscriptions/70f1f590-7073-/resourceGroups/6baaaf8a-3367-464/providers/Microsoft.Web/sites/2ad55/slots/34b37"; - Requests[2541] = new DefaultHttpContext(); - Requests[2541].RequestServices = CreateServices(); - Requests[2541].Request.Method = "DELETE"; - Requests[2541].Request.Path = "/subscriptions/3cfd8d25-1cee-/resourceGroups/250b9e13-3a1d-4c7/providers/Microsoft.Web/sites/e882b/triggeredwebjobs/57d8185e-9"; - Requests[2542] = new DefaultHttpContext(); - Requests[2542].RequestServices = CreateServices(); - Requests[2542].Request.Method = "PATCH"; - Requests[2542].Request.Path = "/subscriptions/b6b3f1bc-202c-/resourceGroups/a9de7beb-a2cc-4fe/providers/Microsoft.Web/sites/6ce4f/virtualNetworkConnections/f354a0bc"; - Requests[2543] = new DefaultHttpContext(); - Requests[2543].RequestServices = CreateServices(); - Requests[2543].Request.Method = "GET"; - Requests[2543].Request.Path = "/subscriptions/1ad8cbf4-8145-/resourceGroups/0ceaf946-0ef0-4c8/providers/Microsoft.Web/sites/7ae5c/webjobs/7d7faab5-a"; - Requests[2544] = new DefaultHttpContext(); - Requests[2544].RequestServices = CreateServices(); - Requests[2544].Request.Method = "GET"; - Requests[2544].Request.Path = "/subscriptions/4e013fc0-3ad9-/resourceGroups/db23b0f4-6f74-424/providers/Microsoft.Web/sites/739fb4df/detectors/6467de1e-ab4"; - Requests[2545] = new DefaultHttpContext(); - Requests[2545].RequestServices = CreateServices(); - Requests[2545].Request.Method = "GET"; - Requests[2545].Request.Path = "/subscriptions/202c7903-3fec-/resourceGroups/849808b0-5176-469/providers/Microsoft.Web/sites/7eec8bb3/diagnostics/a5bb4c11-a054-481d"; - Requests[2546] = new DefaultHttpContext(); - Requests[2546].RequestServices = CreateServices(); - Requests[2546].Request.Method = "GET"; - Requests[2546].Request.Path = "/subscriptions/ea29692c-192b-/resourceGroups/02b6cf92-28a1-4c5/providers/Microsoft.Web/sites/f56a2066/recommendations/3e443"; - Requests[2547] = new DefaultHttpContext(); - Requests[2547].RequestServices = CreateServices(); - Requests[2547].Request.Method = "POST"; - Requests[2547].Request.Path = "/subscriptions/02fbfba3-2b70-/resourceGroup/04720358-2e6e-405/providers/Microsoft.MachineLearningServices/workspaces/046fccc4-5151/computes/c4fdcfb7-56/listKeys"; - Requests[2548] = new DefaultHttpContext(); - Requests[2548].RequestServices = CreateServices(); - Requests[2548].Request.Method = "GET"; - Requests[2548].Request.Path = "/subscriptions/50f6cf35-8fa3-/resourceGroups/24751947-/providers/Microsoft.DataMigration/services/b94b2431-28/projects/8ed78364-52/tasks"; - Requests[2549] = new DefaultHttpContext(); - Requests[2549].RequestServices = CreateServices(); - Requests[2549].Request.Method = "POST"; - Requests[2549].Request.Path = "/subscriptions/e91bedaa-f3e7-/resourcegroups/5a3adc05-d987/providers/Microsoft.AzureBridge.Admin/activations/19836397-384d-/products/3d3ed4fc-d3/download"; - Requests[2550] = new DefaultHttpContext(); - Requests[2550].RequestServices = CreateServices(); - Requests[2550].Request.Method = "POST"; - Requests[2550].Request.Path = "/subscriptions/e867e977-965d-/resourceGroups/8eaeff6a-bb90/providers/Microsoft.AzureStack/registrations/44868916-b2ac-42/products/24219a29-35/listDetails"; - Requests[2551] = new DefaultHttpContext(); - Requests[2551].RequestServices = CreateServices(); - Requests[2551].Request.Method = "GET"; - Requests[2551].Request.Path = "/subscriptions/472cfd27-2da6-/resourceGroups/a614e081-8746-41a/providers/Microsoft.ApiManagement/service/416be490-60/apis/77fca/diagnostics"; - Requests[2552] = new DefaultHttpContext(); - Requests[2552].RequestServices = CreateServices(); - Requests[2552].Request.Method = "GET"; - Requests[2552].Request.Path = "/subscriptions/6cbfd7cb-d2bd-/resourceGroups/eace3039-f55a-438/providers/Microsoft.ApiManagement/service/8d91517b-00/apis/28355/issues"; - Requests[2553] = new DefaultHttpContext(); - Requests[2553].RequestServices = CreateServices(); - Requests[2553].Request.Method = "GET"; - Requests[2553].Request.Path = "/subscriptions/e2e6b621-4246-/resourceGroups/8ac7ab0d-4264-470/providers/Microsoft.ApiManagement/service/14320a99-ce/apis/82eb7/operations"; - Requests[2554] = new DefaultHttpContext(); - Requests[2554].RequestServices = CreateServices(); - Requests[2554].Request.Method = "GET"; - Requests[2554].Request.Path = "/subscriptions/800c35c1-9169-/resourceGroups/5b12d1b4-a060-400/providers/Microsoft.ApiManagement/service/cedcd067-1b/apis/3a210/operationsByTags"; - Requests[2555] = new DefaultHttpContext(); - Requests[2555].RequestServices = CreateServices(); - Requests[2555].Request.Method = "GET"; - Requests[2555].Request.Path = "/subscriptions/8d0e4228-7303-/resourceGroups/6bd951c6-7914-455/providers/Microsoft.ApiManagement/service/5809d752-da/apis/0f9b4/policies"; - Requests[2556] = new DefaultHttpContext(); - Requests[2556].RequestServices = CreateServices(); - Requests[2556].Request.Method = "DELETE"; - Requests[2556].Request.Path = "/subscriptions/582cbb9b-7568-/resourceGroups/18cd5edd-d148-4ea/providers/Microsoft.ApiManagement/service/c9029afc-c8/apis/3c003/policy"; - Requests[2557] = new DefaultHttpContext(); - Requests[2557].RequestServices = CreateServices(); - Requests[2557].Request.Method = "GET"; - Requests[2557].Request.Path = "/subscriptions/c69764a3-996f-/resourceGroups/3b06c65f-d274-43d/providers/Microsoft.ApiManagement/service/fd248064-ff/apis/11690/products"; - Requests[2558] = new DefaultHttpContext(); - Requests[2558].RequestServices = CreateServices(); - Requests[2558].Request.Method = "GET"; - Requests[2558].Request.Path = "/subscriptions/96cbe5f0-0d27-/resourceGroups/f6f60a41-7a6e-474/providers/Microsoft.ApiManagement/service/5acaddf3-d5/apis/e63b2/releases"; - Requests[2559] = new DefaultHttpContext(); - Requests[2559].RequestServices = CreateServices(); - Requests[2559].Request.Method = "GET"; - Requests[2559].Request.Path = "/subscriptions/4349f1d1-0c69-/resourceGroups/b7a68ec9-1db9-489/providers/Microsoft.ApiManagement/service/c4bbdaca-24/apis/4de88/revisions"; - Requests[2560] = new DefaultHttpContext(); - Requests[2560].RequestServices = CreateServices(); - Requests[2560].Request.Method = "GET"; - Requests[2560].Request.Path = "/subscriptions/1fef62fd-7d79-/resourceGroups/3a3fe9e1-c620-44e/providers/Microsoft.ApiManagement/service/9c152290-3d/apis/6ad34/schemas"; - Requests[2561] = new DefaultHttpContext(); - Requests[2561].RequestServices = CreateServices(); - Requests[2561].Request.Method = "GET"; - Requests[2561].Request.Path = "/subscriptions/653f2643-0145-/resourceGroups/0415fc4f-335d-48c/providers/Microsoft.ApiManagement/service/ab56c5e0-8e/apis/42f53/tagDescriptions"; - Requests[2562] = new DefaultHttpContext(); - Requests[2562].RequestServices = CreateServices(); - Requests[2562].Request.Method = "GET"; - Requests[2562].Request.Path = "/subscriptions/020cd39a-bf0b-/resourceGroups/8db7caf9-b80b-4a0/providers/Microsoft.ApiManagement/service/4445d7e4-be/apis/18b08/tags"; - Requests[2563] = new DefaultHttpContext(); - Requests[2563].RequestServices = CreateServices(); - Requests[2563].Request.Method = "POST"; - Requests[2563].Request.Path = "/subscriptions/ccdbf8e6-fb82-/resourceGroups/6da6ce66-7d6a-430/providers/Microsoft.ApiManagement/service/bc9b33d3-3d/backends/844f2e80-/reconnect"; - Requests[2564] = new DefaultHttpContext(); - Requests[2564].RequestServices = CreateServices(); - Requests[2564].Request.Method = "GET"; - Requests[2564].Request.Path = "/subscriptions/caec0cfa-a9d0-/resourceGroups/554575aa-25b9-456/providers/Microsoft.ApiManagement/service/fe7dd1e0-7a/diagnostics/de288dff-78f/loggers"; - Requests[2565] = new DefaultHttpContext(); - Requests[2565].RequestServices = CreateServices(); - Requests[2565].Request.Method = "GET"; - Requests[2565].Request.Path = "/subscriptions/cb6d205f-84e8-/resourceGroups/2ebdc0f1-2544-40d/providers/Microsoft.ApiManagement/service/121d1a6f-94/groups/0287db3/users"; - Requests[2566] = new DefaultHttpContext(); - Requests[2566].RequestServices = CreateServices(); - Requests[2566].Request.Method = "GET"; - Requests[2566].Request.Path = "/subscriptions/05d9fe37-3a58-/resourceGroups/5bc7c5fc-fe34-455/providers/Microsoft.ApiManagement/service/7a6bf63f-65/locations/15052bc9-289/networkstatus"; - Requests[2567] = new DefaultHttpContext(); - Requests[2567].RequestServices = CreateServices(); - Requests[2567].Request.Method = "GET"; - Requests[2567].Request.Path = "/subscriptions/6ff9de64-a2eb-/resourceGroups/7b9e51fa-9ab9-406/providers/Microsoft.ApiManagement/service/d647b7f4-11/notifications/f989bbf2-61b9-44/recipientEmails"; - Requests[2568] = new DefaultHttpContext(); - Requests[2568].RequestServices = CreateServices(); - Requests[2568].Request.Method = "GET"; - Requests[2568].Request.Path = "/subscriptions/fb8af335-5543-/resourceGroups/04a366d7-2e01-48d/providers/Microsoft.ApiManagement/service/e2b3a31a-a1/notifications/f126410a-1f87-4d/recipientUsers"; - Requests[2569] = new DefaultHttpContext(); - Requests[2569].RequestServices = CreateServices(); - Requests[2569].Request.Method = "GET"; - Requests[2569].Request.Path = "/subscriptions/32be4987-49f9-/resourceGroups/3a2d1f48-73d1-4d0/providers/Microsoft.ApiManagement/service/bc867a92-43/products/34be31c1-/apis"; - Requests[2570] = new DefaultHttpContext(); - Requests[2570].RequestServices = CreateServices(); - Requests[2570].Request.Method = "GET"; - Requests[2570].Request.Path = "/subscriptions/50dc9c3f-ff92-/resourceGroups/51927182-f257-422/providers/Microsoft.ApiManagement/service/71896d85-5d/products/7137b4b8-/groups"; - Requests[2571] = new DefaultHttpContext(); - Requests[2571].RequestServices = CreateServices(); - Requests[2571].Request.Method = "GET"; - Requests[2571].Request.Path = "/subscriptions/27a8f069-f10c-/resourceGroups/9253de8c-300a-42d/providers/Microsoft.ApiManagement/service/b083279f-50/products/672890a6-/policies"; - Requests[2572] = new DefaultHttpContext(); - Requests[2572].RequestServices = CreateServices(); - Requests[2572].Request.Method = "DELETE"; - Requests[2572].Request.Path = "/subscriptions/cb80df61-b3d8-/resourceGroups/2417e55e-f434-42e/providers/Microsoft.ApiManagement/service/980d7f8a-30/products/b03c4ca7-/policy"; - Requests[2573] = new DefaultHttpContext(); - Requests[2573].RequestServices = CreateServices(); - Requests[2573].Request.Method = "GET"; - Requests[2573].Request.Path = "/subscriptions/2e8ab9e6-06f1-/resourceGroups/e5be5024-88cf-42f/providers/Microsoft.ApiManagement/service/ab5c588e-80/products/53ca5a3f-/subscriptions"; - Requests[2574] = new DefaultHttpContext(); - Requests[2574].RequestServices = CreateServices(); - Requests[2574].Request.Method = "GET"; - Requests[2574].Request.Path = "/subscriptions/95a21975-41af-/resourceGroups/8f0dd7d0-b575-499/providers/Microsoft.ApiManagement/service/2ff5aa66-c1/products/226a5d25-/tags"; - Requests[2575] = new DefaultHttpContext(); - Requests[2575].RequestServices = CreateServices(); - Requests[2575].Request.Method = "POST"; - Requests[2575].Request.Path = "/subscriptions/7eb07e7d-f35f-/resourceGroups/a27f5565-409b-41d/providers/Microsoft.ApiManagement/service/b8457014-be/subscriptions/1c39d/regeneratePrimaryKey"; - Requests[2576] = new DefaultHttpContext(); - Requests[2576].RequestServices = CreateServices(); - Requests[2576].Request.Method = "POST"; - Requests[2576].Request.Path = "/subscriptions/417eaa6f-b0a5-/resourceGroups/fab150eb-9509-40f/providers/Microsoft.ApiManagement/service/7d8919bc-33/subscriptions/53e13/regenerateSecondaryKey"; - Requests[2577] = new DefaultHttpContext(); - Requests[2577].RequestServices = CreateServices(); - Requests[2577].Request.Method = "GET"; - Requests[2577].Request.Path = "/subscriptions/5f9a5aa1-02bc-/resourceGroups/37be930c-7ffa-401/providers/Microsoft.ApiManagement/service/abdb0573-6a/tenant/c403e86c-5/git"; - Requests[2578] = new DefaultHttpContext(); - Requests[2578].RequestServices = CreateServices(); - Requests[2578].Request.Method = "POST"; - Requests[2578].Request.Path = "/subscriptions/515a9c85-0d38-/resourceGroups/93849134-d722-457/providers/Microsoft.ApiManagement/service/698c2e3f-d6/tenant/6093faf1-9/regeneratePrimaryKey"; - Requests[2579] = new DefaultHttpContext(); - Requests[2579].RequestServices = CreateServices(); - Requests[2579].Request.Method = "POST"; - Requests[2579].Request.Path = "/subscriptions/20102025-23f3-/resourceGroups/e4e7ee63-5b21-477/providers/Microsoft.ApiManagement/service/b1b456f5-45/tenant/1aabcf2b-8/regenerateSecondaryKey"; - Requests[2580] = new DefaultHttpContext(); - Requests[2580].RequestServices = CreateServices(); - Requests[2580].Request.Method = "POST"; - Requests[2580].Request.Path = "/subscriptions/a1628112-2bf7-/resourceGroups/35fe6351-d897-4c1/providers/Microsoft.ApiManagement/service/4900830d-9d/tenant/ce20fd5a-536f-417/deploy"; - Requests[2581] = new DefaultHttpContext(); - Requests[2581].RequestServices = CreateServices(); - Requests[2581].Request.Method = "POST"; - Requests[2581].Request.Path = "/subscriptions/7b771888-a01f-/resourceGroups/93b87f2d-1394-441/providers/Microsoft.ApiManagement/service/892794de-51/tenant/f763558f-1ac1-477/save"; - Requests[2582] = new DefaultHttpContext(); - Requests[2582].RequestServices = CreateServices(); - Requests[2582].Request.Method = "GET"; - Requests[2582].Request.Path = "/subscriptions/8a9cc09a-4cae-/resourceGroups/a2e17c1d-e3b2-472/providers/Microsoft.ApiManagement/service/85072040-66/tenant/9ad45d67-b4cb-4fd/syncState"; - Requests[2583] = new DefaultHttpContext(); - Requests[2583].RequestServices = CreateServices(); - Requests[2583].Request.Method = "POST"; - Requests[2583].Request.Path = "/subscriptions/ca6dbc29-8519-/resourceGroups/8cf6b774-3bb2-4c3/providers/Microsoft.ApiManagement/service/af24d6a0-69/tenant/0c390843-4785-41a/validate"; - Requests[2584] = new DefaultHttpContext(); - Requests[2584].RequestServices = CreateServices(); - Requests[2584].Request.Method = "POST"; - Requests[2584].Request.Path = "/subscriptions/fec8a480-9f49-/resourceGroups/1e7f811e-c3fd-4e6/providers/Microsoft.ApiManagement/service/58649660-d6/users/3ae04/generateSsoUrl"; - Requests[2585] = new DefaultHttpContext(); - Requests[2585].RequestServices = CreateServices(); - Requests[2585].Request.Method = "GET"; - Requests[2585].Request.Path = "/subscriptions/3af66f63-bf6f-/resourceGroups/2e7120cf-b24b-4ef/providers/Microsoft.ApiManagement/service/48c39255-7f/users/29b10/groups"; - Requests[2586] = new DefaultHttpContext(); - Requests[2586].RequestServices = CreateServices(); - Requests[2586].Request.Method = "GET"; - Requests[2586].Request.Path = "/subscriptions/3f871e8f-6e52-/resourceGroups/50408d8a-cfdb-46a/providers/Microsoft.ApiManagement/service/d05d2036-9c/users/7af60/identities"; - Requests[2587] = new DefaultHttpContext(); - Requests[2587].RequestServices = CreateServices(); - Requests[2587].Request.Method = "GET"; - Requests[2587].Request.Path = "/subscriptions/57f76836-5c03-/resourceGroups/6e59b11e-423f-491/providers/Microsoft.ApiManagement/service/b070a1b3-eb/users/83bf2/subscriptions"; - Requests[2588] = new DefaultHttpContext(); - Requests[2588].RequestServices = CreateServices(); - Requests[2588].Request.Method = "POST"; - Requests[2588].Request.Path = "/subscriptions/9d2b6cd3-f6fd-/resourceGroups/23e8d375-b077-46f/providers/Microsoft.ApiManagement/service/164cdba9-c9/users/3f797/token"; - Requests[2589] = new DefaultHttpContext(); - Requests[2589].RequestServices = CreateServices(); - Requests[2589].Request.Method = "GET"; - Requests[2589].Request.Path = "/subscriptions/b11fd4a1-11d7-/resourceGroups/9f809b78-a35c-41c/providers/Microsoft.Automation/automationAccounts/dc29566b-9e64-4a9b-b8/compilationjobs/84874/streams"; - Requests[2590] = new DefaultHttpContext(); - Requests[2590].RequestServices = CreateServices(); - Requests[2590].Request.Method = "GET"; - Requests[2590].Request.Path = "/subscriptions/df099880-cfd7-/resourceGroups/0e052eb8-c028-478/providers/Microsoft.Automation/automationAccounts/b76ab86c-4f77-4c8d-a5/configurations/83516823-d2af-41d/content"; - Requests[2591] = new DefaultHttpContext(); - Requests[2591].RequestServices = CreateServices(); - Requests[2591].Request.Method = "GET"; - Requests[2591].Request.Path = "/subscriptions/d00d869d-095b-/resourceGroups/43f2280a-3670-49c/providers/Microsoft.Automation/automationAccounts/6b0d366d-d8ac-4036-85/jobs/9c5d3/output"; - Requests[2592] = new DefaultHttpContext(); - Requests[2592].RequestServices = CreateServices(); - Requests[2592].Request.Method = "POST"; - Requests[2592].Request.Path = "/subscriptions/dce424d7-dcf8-/resourceGroups/c0dbebd5-3e67-495/providers/Microsoft.Automation/automationAccounts/18662910-1163-425c-b2/jobs/fdb08/resume"; - Requests[2593] = new DefaultHttpContext(); - Requests[2593].RequestServices = CreateServices(); - Requests[2593].Request.Method = "GET"; - Requests[2593].Request.Path = "/subscriptions/2276ccec-d5d0-/resourceGroups/db771516-6cfb-49c/providers/Microsoft.Automation/automationAccounts/c84f077a-8134-4495-8f/jobs/50712/runbookContent"; - Requests[2594] = new DefaultHttpContext(); - Requests[2594].RequestServices = CreateServices(); - Requests[2594].Request.Method = "POST"; - Requests[2594].Request.Path = "/subscriptions/61fbcd93-4839-/resourceGroups/26715397-68d1-41c/providers/Microsoft.Automation/automationAccounts/ac5ad4f2-6295-4a7e-a7/jobs/da4c6/stop"; - Requests[2595] = new DefaultHttpContext(); - Requests[2595].RequestServices = CreateServices(); - Requests[2595].Request.Method = "GET"; - Requests[2595].Request.Path = "/subscriptions/9b6c9b6e-1531-/resourceGroups/b5f8ffec-fb63-47f/providers/Microsoft.Automation/automationAccounts/bf7e560e-7cd2-4fcf-bb/jobs/037dd/streams"; - Requests[2596] = new DefaultHttpContext(); - Requests[2596].RequestServices = CreateServices(); - Requests[2596].Request.Method = "POST"; - Requests[2596].Request.Path = "/subscriptions/89ec4caa-1b0a-/resourceGroups/a7bf623f-faa6-41c/providers/Microsoft.Automation/automationAccounts/cb020820-c15e-4fb1-83/jobs/549e4/suspend"; - Requests[2597] = new DefaultHttpContext(); - Requests[2597].RequestServices = CreateServices(); - Requests[2597].Request.Method = "GET"; - Requests[2597].Request.Path = "/subscriptions/6909db94-f64e-/resourceGroups/522ad111-af5d-412/providers/Microsoft.Automation/automationAccounts/a7658a75-0ab5-49ea-9c/modules/9b7eba80-d/activities"; - Requests[2598] = new DefaultHttpContext(); - Requests[2598].RequestServices = CreateServices(); - Requests[2598].Request.Method = "GET"; - Requests[2598].Request.Path = "/subscriptions/316c1d8a-3c92-/resourceGroups/aeb4801f-7c29-47a/providers/Microsoft.Automation/automationAccounts/35faa5d4-8b84-4508-93/nodes/53b7e1/reports"; - Requests[2599] = new DefaultHttpContext(); - Requests[2599].RequestServices = CreateServices(); - Requests[2599].Request.Method = "GET"; - Requests[2599].Request.Path = "/subscriptions/5d83a3c6-852c-/resourceGroups/1cc86819-78f3-4d6/providers/Microsoft.Automation/automationAccounts/fe3f6326-c743-4cbe-b3/objectDataTypes/4359a5d2/fields"; - Requests[2600] = new DefaultHttpContext(); - Requests[2600].RequestServices = CreateServices(); - Requests[2600].Request.Method = "GET"; - Requests[2600].Request.Path = "/subscriptions/66cb68f0-c098-/resourceGroups/421fa6dd-9c62-49e/providers/Microsoft.Automation/automationAccounts/751d2b64-dadf-4233-a6/runbooks/cde3a39e-11/content"; - Requests[2601] = new DefaultHttpContext(); - Requests[2601].RequestServices = CreateServices(); - Requests[2601].Request.Method = "GET"; - Requests[2601].Request.Path = "/subscriptions/a3559404-da89-/resourceGroups/67d87c53-6ff5-4a5/providers/Microsoft.Automation/automationAccounts/15a3ba19-4653-425e-ba/runbooks/bb9c9972-b0/draft"; - Requests[2602] = new DefaultHttpContext(); - Requests[2602].RequestServices = CreateServices(); - Requests[2602].Request.Method = "GET"; - Requests[2602].Request.Path = "/subscriptions/743dbf6f-b3c3-/resourceGroups/43fcc4ce-cadf-47a/providers/Microsoft.Automation/automationAccounts/7609894e-cb13-4f00-8d/sourceControls/2ca4dcd7-a370-44d/sourceControlSyncJobs"; - Requests[2603] = new DefaultHttpContext(); - Requests[2603].RequestServices = CreateServices(); - Requests[2603].Request.Method = "POST"; - Requests[2603].Request.Path = "/subscriptions/97e6ce9f-8299-/resourceGroups/0e17cfa2-ad2a-4c1/providers/Microsoft.Automation/automationAccounts/cc1b438f-040f-4b43-9e/watchers/b6657b95-be/start"; - Requests[2604] = new DefaultHttpContext(); - Requests[2604].RequestServices = CreateServices(); - Requests[2604].Request.Method = "POST"; - Requests[2604].Request.Path = "/subscriptions/2d253235-ce08-/resourceGroups/6e4e6712-4815-495/providers/Microsoft.Automation/automationAccounts/0446c1a5-46b3-4d34-b7/watchers/ecb3fb45-05/stop"; - Requests[2605] = new DefaultHttpContext(); - Requests[2605].RequestServices = CreateServices(); - Requests[2605].Request.Method = "POST"; - Requests[2605].Request.Path = "/subscriptions/38136fcd-55b5-/resourcegroups/6b690f86-94e8-45c/providers/Microsoft.Backup.Admin/backupLocations/9415205d/backups/548f6a/restore"; - Requests[2606] = new DefaultHttpContext(); - Requests[2606].RequestServices = CreateServices(); - Requests[2606].Request.Method = "POST"; - Requests[2606].Request.Path = "/subscriptions/45ca795e-61da-/resourceGroups/6e6e12ab-4810-420/providers/Microsoft.Batch/batchAccounts/60f5a1ad-34/certificates/d18c727c-f736-4/cancelDelete"; - Requests[2607] = new DefaultHttpContext(); - Requests[2607].RequestServices = CreateServices(); - Requests[2607].Request.Method = "POST"; - Requests[2607].Request.Path = "/subscriptions/5345908e-6eb3-/resourceGroups/bf5b1c0f-6c9d-4e6/providers/Microsoft.Batch/batchAccounts/2269541b-47/pools/56d2b1f6/disableAutoScale"; - Requests[2608] = new DefaultHttpContext(); - Requests[2608].RequestServices = CreateServices(); - Requests[2608].Request.Method = "POST"; - Requests[2608].Request.Path = "/subscriptions/43d34b4b-975d-/resourceGroups/d7926aa1-0eb7-4e2/providers/Microsoft.Batch/batchAccounts/351becc5-b2/pools/d3a8b07d/stopResize"; - Requests[2609] = new DefaultHttpContext(); - Requests[2609].RequestServices = CreateServices(); - Requests[2609].Request.Method = "POST"; - Requests[2609].Request.Path = "/subscriptions/6cedf9bf-37ed-/resourceGroups/12c0e70f-7ef5-45d/providers/Microsoft.BatchAI/workspaces/a163e65f-0591/clusters/90790fea-ed/listRemoteLoginInformation"; - Requests[2610] = new DefaultHttpContext(); - Requests[2610].RequestServices = CreateServices(); - Requests[2610].Request.Method = "GET"; - Requests[2610].Request.Path = "/subscriptions/c113fad5-f36e-/resourceGroups/5aaa8790-ae11-4dc/providers/Microsoft.BatchAI/workspaces/ad2ba958-940d/experiments/6352ca09-1eb6-/jobs"; - Requests[2611] = new DefaultHttpContext(); - Requests[2611].RequestServices = CreateServices(); - Requests[2611].Request.Method = "POST"; - Requests[2611].Request.Path = "/subscriptions/d9896346-097e-/resourceGroups/87448240-a2e2-49c/providers/Microsoft.BotService/botServices/1599fee4-108/channels/f28e344e-33/listChannelWithKeys"; - Requests[2612] = new DefaultHttpContext(); - Requests[2612].RequestServices = CreateServices(); - Requests[2612].Request.Method = "POST"; - Requests[2612].Request.Path = "/subscriptions/7753cdb6-e894-/resourceGroups/be481f0f-979b-481/providers/Microsoft.BotService/botServices/58e10fae-6f5/Connections/7ffabc3d-ca30-/listWithSecrets"; - Requests[2613] = new DefaultHttpContext(); - Requests[2613].RequestServices = CreateServices(); - Requests[2613].Request.Method = "POST"; - Requests[2613].Request.Path = "/subscriptions/bcd69ad5-5057-/resourceGroups/0dded720-b714-464/providers/Microsoft.Cdn/profiles/335da9d7-c4/endpoints/f18a2bcd-6b6/checkResourceUsage"; - Requests[2614] = new DefaultHttpContext(); - Requests[2614].RequestServices = CreateServices(); - Requests[2614].Request.Method = "GET"; - Requests[2614].Request.Path = "/subscriptions/7cda9a78-2d5b-/resourceGroups/e098628f-849b-45e/providers/Microsoft.Cdn/profiles/72256ad6-cd/endpoints/24bd626c-5ee/customDomains"; - Requests[2615] = new DefaultHttpContext(); - Requests[2615].RequestServices = CreateServices(); - Requests[2615].Request.Method = "POST"; - Requests[2615].Request.Path = "/subscriptions/69336c70-ef91-/resourceGroups/2e221732-b4a1-441/providers/Microsoft.Cdn/profiles/2a1243ed-61/endpoints/15b2add3-958/load"; - Requests[2616] = new DefaultHttpContext(); - Requests[2616].RequestServices = CreateServices(); - Requests[2616].Request.Method = "GET"; - Requests[2616].Request.Path = "/subscriptions/16cb16d0-5755-/resourceGroups/99965994-d2fa-43f/providers/Microsoft.Cdn/profiles/5a067c9d-04/endpoints/62af92a0-db4/origins"; - Requests[2617] = new DefaultHttpContext(); - Requests[2617].RequestServices = CreateServices(); - Requests[2617].Request.Method = "POST"; - Requests[2617].Request.Path = "/subscriptions/112a3dd3-acab-/resourceGroups/3d95ed31-900f-42f/providers/Microsoft.Cdn/profiles/127d2c9e-6e/endpoints/d3c49d07-767/purge"; - Requests[2618] = new DefaultHttpContext(); - Requests[2618].RequestServices = CreateServices(); - Requests[2618].Request.Method = "POST"; - Requests[2618].Request.Path = "/subscriptions/e64ff3fd-30fa-/resourceGroups/f2d74b2a-4f83-440/providers/Microsoft.Cdn/profiles/8410fd99-b8/endpoints/9e6b9bd2-728/start"; - Requests[2619] = new DefaultHttpContext(); - Requests[2619].RequestServices = CreateServices(); - Requests[2619].Request.Method = "POST"; - Requests[2619].Request.Path = "/subscriptions/ca81c3b3-41e0-/resourceGroups/e45476c8-e779-4fe/providers/Microsoft.Cdn/profiles/1c501e83-07/endpoints/fab4b5e9-d88/stop"; - Requests[2620] = new DefaultHttpContext(); - Requests[2620].RequestServices = CreateServices(); - Requests[2620].Request.Method = "POST"; - Requests[2620].Request.Path = "/subscriptions/cb0e80ac-73ca-/resourceGroups/1833bb62-7de7-4f8/providers/Microsoft.Cdn/profiles/99f8a28a-2b/endpoints/f7b9da2d-8bb/validateCustomDomain"; - Requests[2621] = new DefaultHttpContext(); - Requests[2621].RequestServices = CreateServices(); - Requests[2621].Request.Method = "GET"; - Requests[2621].Request.Path = "/subscriptions/b3a1283e-146b-/resourceGroups/c5045141-24e6-41f/providers/Microsoft.Compute/galleries/be122350-c6/images/0046a732-c41d-4b/versions"; - Requests[2622] = new DefaultHttpContext(); - Requests[2622].RequestServices = CreateServices(); - Requests[2622].Request.Method = "GET"; - Requests[2622].Request.Path = "/subscriptions/25ba8516-4c69-/resourceGroups/9c5975d4-5804-47c/providers/microsoft.Compute/virtualMachineScaleSets/8ea7349a-e367-4416-8328-5f/virtualMachines/8968d5d3-aaad-45d2-/networkInterfaces"; - Requests[2623] = new DefaultHttpContext(); - Requests[2623].RequestServices = CreateServices(); - Requests[2623].Request.Method = "POST"; - Requests[2623].Request.Path = "/subscriptions/083f8679-bb6d-/resourceGroups/fcc5adda-b04c-4ec/providers/Microsoft.Compute/virtualMachineScaleSets/1f2fd4d9-62ad-/virtualmachines/10dfc6c2-1/deallocate"; - Requests[2624] = new DefaultHttpContext(); - Requests[2624].RequestServices = CreateServices(); - Requests[2624].Request.Method = "GET"; - Requests[2624].Request.Path = "/subscriptions/8d5b5f70-b8f7-/resourceGroups/cfc159c3-988a-4df/providers/Microsoft.Compute/virtualMachineScaleSets/bc5e2576-8458-/virtualmachines/a6e04d41-a/instanceView"; - Requests[2625] = new DefaultHttpContext(); - Requests[2625].RequestServices = CreateServices(); - Requests[2625].Request.Method = "POST"; - Requests[2625].Request.Path = "/subscriptions/bd909810-a0bb-/resourceGroups/99d17f40-6bbb-468/providers/Microsoft.Compute/virtualMachineScaleSets/9d8f2c25-cbb9-/virtualmachines/adf333fd-a/performMaintenance"; - Requests[2626] = new DefaultHttpContext(); - Requests[2626].RequestServices = CreateServices(); - Requests[2626].Request.Method = "POST"; - Requests[2626].Request.Path = "/subscriptions/b9b6c823-6ca8-/resourceGroups/42696f38-59b9-40d/providers/Microsoft.Compute/virtualMachineScaleSets/51b6f5d9-cbb2-/virtualmachines/c9973b92-4/poweroff"; - Requests[2627] = new DefaultHttpContext(); - Requests[2627].RequestServices = CreateServices(); - Requests[2627].Request.Method = "POST"; - Requests[2627].Request.Path = "/subscriptions/0047543e-5c43-/resourceGroups/02d901b7-00fd-4e5/providers/Microsoft.Compute/virtualMachineScaleSets/dc025b41-aab7-/virtualmachines/726143e6-4/redeploy"; - Requests[2628] = new DefaultHttpContext(); - Requests[2628].RequestServices = CreateServices(); - Requests[2628].Request.Method = "POST"; - Requests[2628].Request.Path = "/subscriptions/b7fa40b0-aebf-/resourceGroups/64a8f9e5-b339-46a/providers/Microsoft.Compute/virtualMachineScaleSets/6c98c66c-0cb0-/virtualmachines/806b40c4-b/reimage"; - Requests[2629] = new DefaultHttpContext(); - Requests[2629].RequestServices = CreateServices(); - Requests[2629].Request.Method = "POST"; - Requests[2629].Request.Path = "/subscriptions/358c396c-6f36-/resourceGroups/f4e5b4eb-7333-45e/providers/Microsoft.Compute/virtualMachineScaleSets/a1613271-59ca-/virtualmachines/2bb4062c-1/reimageall"; - Requests[2630] = new DefaultHttpContext(); - Requests[2630].RequestServices = CreateServices(); - Requests[2630].Request.Method = "POST"; - Requests[2630].Request.Path = "/subscriptions/e6ffb763-f504-/resourceGroups/35cff6e4-da24-460/providers/Microsoft.Compute/virtualMachineScaleSets/f5d79cea-0bb7-/virtualmachines/15c55510-2/restart"; - Requests[2631] = new DefaultHttpContext(); - Requests[2631].RequestServices = CreateServices(); - Requests[2631].Request.Method = "POST"; - Requests[2631].Request.Path = "/subscriptions/3e3684e4-3035-/resourceGroups/1d7014aa-89e1-470/providers/Microsoft.Compute/virtualMachineScaleSets/6f079ccb-27aa-/virtualmachines/429fe1a1-c/start"; - Requests[2632] = new DefaultHttpContext(); - Requests[2632].RequestServices = CreateServices(); - Requests[2632].Request.Method = "POST"; - Requests[2632].Request.Path = "/subscriptions/89736891-e66e-/resourceGroups/4ae11546-da05-46f/providers/Microsoft.ContainerInstance/containerGroups/f350645a-d329-461f/containers/e7904c60-b1ff/exec"; - Requests[2633] = new DefaultHttpContext(); - Requests[2633].RequestServices = CreateServices(); - Requests[2633].Request.Method = "GET"; - Requests[2633].Request.Path = "/subscriptions/2213b1bc-3772-/resourceGroups/9576f662-7627-490/providers/Microsoft.ContainerInstance/containerGroups/faf0f9e8-8bf5-4881/containers/c2e99d8c-c582/logs"; - Requests[2634] = new DefaultHttpContext(); - Requests[2634].RequestServices = CreateServices(); - Requests[2634].Request.Method = "POST"; - Requests[2634].Request.Path = "/subscriptions/39906f3c-1f6d-/resourceGroups/ff869968-bd5f-4c7/providers/Microsoft.ContainerRegistry/registries/ba76971d-7c5/builds/dc6853c/cancel"; - Requests[2635] = new DefaultHttpContext(); - Requests[2635].RequestServices = CreateServices(); - Requests[2635].Request.Method = "POST"; - Requests[2635].Request.Path = "/subscriptions/506c3ee2-89f8-/resourceGroups/22043120-6e2c-403/providers/Microsoft.ContainerRegistry/registries/1172de5b-c1c/builds/fdb9b5c/getLogLink"; - Requests[2636] = new DefaultHttpContext(); - Requests[2636].RequestServices = CreateServices(); - Requests[2636].Request.Method = "POST"; - Requests[2636].Request.Path = "/subscriptions/30b965cc-6632-/resourceGroups/52e4a5d8-086a-4cc/providers/Microsoft.ContainerRegistry/registries/ef950dd2-009/buildTasks/b14493bf-39a8/listSourceRepositoryProperties"; - Requests[2637] = new DefaultHttpContext(); - Requests[2637].RequestServices = CreateServices(); - Requests[2637].Request.Method = "GET"; - Requests[2637].Request.Path = "/subscriptions/1a1dc2d3-d13c-/resourceGroups/b2bbc449-e8ee-428/providers/Microsoft.ContainerRegistry/registries/2e980daa-421/buildTasks/69fed525-04c8/steps"; - Requests[2638] = new DefaultHttpContext(); - Requests[2638].RequestServices = CreateServices(); - Requests[2638].Request.Method = "POST"; - Requests[2638].Request.Path = "/subscriptions/73a6c112-01f1-/resourceGroups/8117fa06-bc1e-4a7/providers/Microsoft.ContainerRegistry/registries/fc54cabe-34d/webhooks/4d5158e6-18/getCallbackConfig"; - Requests[2639] = new DefaultHttpContext(); - Requests[2639].RequestServices = CreateServices(); - Requests[2639].Request.Method = "POST"; - Requests[2639].Request.Path = "/subscriptions/30c9f14f-431f-/resourceGroups/c2a380b2-f524-485/providers/Microsoft.ContainerRegistry/registries/d12f5bc4-42b/webhooks/a4107b28-5a/listEvents"; - Requests[2640] = new DefaultHttpContext(); - Requests[2640].RequestServices = CreateServices(); - Requests[2640].Request.Method = "POST"; - Requests[2640].Request.Path = "/subscriptions/fcda7da1-385c-/resourceGroups/1472ff8f-996d-42e/providers/Microsoft.ContainerRegistry/registries/3c68f9e8-f67/webhooks/0c154e4f-2b/ping"; - Requests[2641] = new DefaultHttpContext(); - Requests[2641].RequestServices = CreateServices(); - Requests[2641].Request.Method = "POST"; - Requests[2641].Request.Path = "/subscriptions/2d0f8be6-19a6-/resourceGroups/a18cb895-80af-4cd/providers/Microsoft.ContainerService/managedClusters/911b11d6-4aa/accessProfiles/deb2f9f4/listCredential"; - Requests[2642] = new DefaultHttpContext(); - Requests[2642].RequestServices = CreateServices(); - Requests[2642].Request.Method = "POST"; - Requests[2642].Request.Path = "/subscriptions/ba9a9604-513d-/resourceGroups/90aa6540-e1a4-449/providers/Microsoft.CustomerInsights/hubs/224a79d/authorizationPolicies/8f10fae5-eaa1-4df4-81f6/regeneratePrimaryKey"; - Requests[2643] = new DefaultHttpContext(); - Requests[2643].RequestServices = CreateServices(); - Requests[2643].Request.Method = "POST"; - Requests[2643].Request.Path = "/subscriptions/52787f1d-830b-/resourceGroups/a0de82d1-cd20-4ca/providers/Microsoft.CustomerInsights/hubs/b1605ba/authorizationPolicies/f8099d1b-2b75-4478-9f9e/regenerateSecondaryKey"; - Requests[2644] = new DefaultHttpContext(); - Requests[2644].RequestServices = CreateServices(); - Requests[2644].Request.Method = "GET"; - Requests[2644].Request.Path = "/subscriptions/d801c700-5d52-/resourceGroups/dd177550-560e-49e/providers/Microsoft.CustomerInsights/hubs/53a4a36/connectors/31ba2eac-4897/mappings"; - Requests[2645] = new DefaultHttpContext(); - Requests[2645].RequestServices = CreateServices(); - Requests[2645].Request.Method = "POST"; - Requests[2645].Request.Path = "/subscriptions/128a177d-a482-/resourceGroups/0fc8529f-4f11-453/providers/Microsoft.CustomerInsights/hubs/ace0bab/interactions/6b85d72f-cf61-4/suggestRelationshipLinks"; - Requests[2646] = new DefaultHttpContext(); - Requests[2646].RequestServices = CreateServices(); - Requests[2646].Request.Method = "POST"; - Requests[2646].Request.Path = "/subscriptions/68cd1afe-3350-/resourceGroups/68d23ff6-8ae5-463/providers/Microsoft.CustomerInsights/hubs/dcaac4c/kpi/9794822/reprocess"; - Requests[2647] = new DefaultHttpContext(); - Requests[2647].RequestServices = CreateServices(); - Requests[2647].Request.Method = "POST"; - Requests[2647].Request.Path = "/subscriptions/add249a6-eac7-/resourceGroups/43a41cef-12ea-40c/providers/Microsoft.CustomerInsights/hubs/9eb5c17/predictions/e9324b33-0d70-/getModelStatus"; - Requests[2648] = new DefaultHttpContext(); - Requests[2648].RequestServices = CreateServices(); - Requests[2648].Request.Method = "POST"; - Requests[2648].Request.Path = "/subscriptions/7c71e9f7-5ba1-/resourceGroups/3b498cdd-02df-447/providers/Microsoft.CustomerInsights/hubs/0853642/predictions/7a80723e-3cd9-/getTrainingResults"; - Requests[2649] = new DefaultHttpContext(); - Requests[2649].RequestServices = CreateServices(); - Requests[2649].Request.Method = "POST"; - Requests[2649].Request.Path = "/subscriptions/c1d02591-0303-/resourceGroups/295fec68-e578-49a/providers/Microsoft.CustomerInsights/hubs/78ae257/predictions/3f6d8e00-03d9-/modelStatus"; - Requests[2650] = new DefaultHttpContext(); - Requests[2650].RequestServices = CreateServices(); - Requests[2650].Request.Method = "POST"; - Requests[2650].Request.Path = "/subscriptions/cc6d9900-02ca-/resourceGroups/fb046a2a-45f4-4a2/providers/Microsoft.CustomerInsights/hubs/2f31513/profiles/83b81ab7-f1/getEnrichingKpis"; - Requests[2651] = new DefaultHttpContext(); - Requests[2651].RequestServices = CreateServices(); - Requests[2651].Request.Method = "POST"; - Requests[2651].Request.Path = "/subscriptions/cb54ab64-3b21-/resourceGroups/e49b74c8-b771-4a0/providers/Microsoft.DataFactory/factories/9a8d8b60-ff/integrationRuntimes/c206c0ea-398e-4877-8a0/getConnectionInfo"; - Requests[2652] = new DefaultHttpContext(); - Requests[2652].RequestServices = CreateServices(); - Requests[2652].Request.Method = "POST"; - Requests[2652].Request.Path = "/subscriptions/b8064811-2559-/resourceGroups/40fd0b40-335e-4db/providers/Microsoft.DataFactory/factories/f9cf57d5-3b/integrationRuntimes/2ec5925f-eac7-4080-b4d/getStatus"; - Requests[2653] = new DefaultHttpContext(); - Requests[2653].RequestServices = CreateServices(); - Requests[2653].Request.Method = "POST"; - Requests[2653].Request.Path = "/subscriptions/bb4a2c57-8723-/resourceGroups/9323deb7-a920-475/providers/Microsoft.DataFactory/factories/7719b720-a8/integrationRuntimes/8162d3ef-c789-4912-8b3/listAuthKeys"; - Requests[2654] = new DefaultHttpContext(); - Requests[2654].RequestServices = CreateServices(); - Requests[2654].Request.Method = "POST"; - Requests[2654].Request.Path = "/subscriptions/6f6a0933-0927-/resourceGroups/5fd5ab00-29f6-4c9/providers/Microsoft.DataFactory/factories/b5fece04-0d/integrationRuntimes/f484dfef-96a3-48e1-8f8/monitoringData"; - Requests[2655] = new DefaultHttpContext(); - Requests[2655].RequestServices = CreateServices(); - Requests[2655].Request.Method = "POST"; - Requests[2655].Request.Path = "/subscriptions/431a07eb-9e7d-/resourceGroups/5c6d7b00-2258-439/providers/Microsoft.DataFactory/factories/991d192c-19/integrationRuntimes/d250a799-6c52-40cc-84f/regenerateAuthKey"; - Requests[2656] = new DefaultHttpContext(); - Requests[2656].RequestServices = CreateServices(); - Requests[2656].Request.Method = "POST"; - Requests[2656].Request.Path = "/subscriptions/c8d43e9f-abcd-/resourceGroups/710b7e73-5f14-4de/providers/Microsoft.DataFactory/factories/c17da2ce-07/integrationRuntimes/5734b580-6452-4052-84c/removeNode"; - Requests[2657] = new DefaultHttpContext(); - Requests[2657].RequestServices = CreateServices(); - Requests[2657].Request.Method = "POST"; - Requests[2657].Request.Path = "/subscriptions/5e20ecee-0de0-/resourceGroups/53b7ebb6-3f69-4a8/providers/Microsoft.DataFactory/factories/0202f465-06/integrationRuntimes/0e2208c1-6f39-4d57-b58/start"; - Requests[2658] = new DefaultHttpContext(); - Requests[2658].RequestServices = CreateServices(); - Requests[2658].Request.Method = "POST"; - Requests[2658].Request.Path = "/subscriptions/5a0b5bb1-8bf6-/resourceGroups/422b2e62-359c-431/providers/Microsoft.DataFactory/factories/f9055b5f-94/integrationRuntimes/230c087d-9aba-4245-9f2/stop"; - Requests[2659] = new DefaultHttpContext(); - Requests[2659].RequestServices = CreateServices(); - Requests[2659].Request.Method = "POST"; - Requests[2659].Request.Path = "/subscriptions/48abf61c-3830-/resourceGroups/4cc4fa66-efd0-4d1/providers/Microsoft.DataFactory/factories/a509419e-a0/integrationRuntimes/6f38903a-c405-42c2-84f/syncCredentials"; - Requests[2660] = new DefaultHttpContext(); - Requests[2660].RequestServices = CreateServices(); - Requests[2660].Request.Method = "POST"; - Requests[2660].Request.Path = "/subscriptions/b040f6e8-597a-/resourceGroups/3257098b-c1d2-421/providers/Microsoft.DataFactory/factories/3bc560ad-08/integrationRuntimes/69e6040e-ac49-4ddb-ada/upgrade"; - Requests[2661] = new DefaultHttpContext(); - Requests[2661].RequestServices = CreateServices(); - Requests[2661].Request.Method = "GET"; - Requests[2661].Request.Path = "/subscriptions/93c0dd54-d255-/resourceGroups/2fd2bbfd-a4eb-416/providers/Microsoft.DataFactory/factories/7ef4c4a0-4f/pipelineruns/6dcd9/activityruns"; - Requests[2662] = new DefaultHttpContext(); - Requests[2662].RequestServices = CreateServices(); - Requests[2662].Request.Method = "POST"; - Requests[2662].Request.Path = "/subscriptions/c073a2f9-58b4-/resourceGroups/3c5658c8-4dd5-4f9/providers/Microsoft.DataFactory/factories/526e8962-96/pipelines/f124fbad-3bb/createRun"; - Requests[2663] = new DefaultHttpContext(); - Requests[2663].RequestServices = CreateServices(); - Requests[2663].Request.Method = "POST"; - Requests[2663].Request.Path = "/subscriptions/bfc61440-42aa-/resourceGroups/785eda26-161d-467/providers/Microsoft.DataFactory/factories/cd40b2f0-64/triggers/a787e349-61/start"; - Requests[2664] = new DefaultHttpContext(); - Requests[2664].RequestServices = CreateServices(); - Requests[2664].Request.Method = "POST"; - Requests[2664].Request.Path = "/subscriptions/85138195-078e-/resourceGroups/4c55549e-5c4b-4d9/providers/Microsoft.DataFactory/factories/4c742bbb-76/triggers/ac3fd5c7-0a/stop"; - Requests[2665] = new DefaultHttpContext(); - Requests[2665].RequestServices = CreateServices(); - Requests[2665].Request.Method = "GET"; - Requests[2665].Request.Path = "/subscriptions/aa71b827-4db5-/resourceGroups/a01e3c38-06ae-48c/providers/Microsoft.DataFactory/factories/6d502619-6c/triggers/6a3ca3bf-63/triggerruns"; - Requests[2666] = new DefaultHttpContext(); - Requests[2666].RequestServices = CreateServices(); - Requests[2666].Request.Method = "GET"; - Requests[2666].Request.Path = "/subscriptions/136c107b-f61b-/resourceGroups/5f641336-bb16-44a/providers/Microsoft.DataLakeAnalytics/accounts/9f9f6df7-f9/storageAccounts/49af8ee1-27d3-4602/containers"; - Requests[2667] = new DefaultHttpContext(); - Requests[2667].RequestServices = CreateServices(); - Requests[2667].Request.Method = "POST"; - Requests[2667].Request.Path = "/subscriptions/75fb4b9b-4241-/resourceGroups/9ef774c3-87b0-440/providers/Microsoft.Devices/IotHubs/d09c7bab-717/certificates/627af162-39f8-4/generateVerificationCode"; - Requests[2668] = new DefaultHttpContext(); - Requests[2668].RequestServices = CreateServices(); - Requests[2668].Request.Method = "POST"; - Requests[2668].Request.Path = "/subscriptions/66ae4e45-570f-/resourceGroups/05943f22-14cb-4a5/providers/Microsoft.Devices/IotHubs/ebb84b1d-90d/certificates/106d1733-9ab4-4/verify"; - Requests[2669] = new DefaultHttpContext(); - Requests[2669].RequestServices = CreateServices(); - Requests[2669].Request.Method = "GET"; - Requests[2669].Request.Path = "/subscriptions/a4ecf38d-20a6-/resourceGroups/85385937-9f1b-4e7/providers/Microsoft.Devices/IotHubs/dd71afd6-198/eventHubEndpoints/f6242815-1d0e-4a4e-9/ConsumerGroups"; - Requests[2670] = new DefaultHttpContext(); - Requests[2670].RequestServices = CreateServices(); - Requests[2670].Request.Method = "POST"; - Requests[2670].Request.Path = "/subscriptions/2b2b1eb5-bef9-/resourceGroups/093bb0cf-1985-472/providers/Microsoft.Devices/IotHubs/e96f3a5a-bf2/IotHubKeys/86be57f/listkeys"; - Requests[2671] = new DefaultHttpContext(); - Requests[2671].RequestServices = CreateServices(); - Requests[2671].Request.Method = "POST"; - Requests[2671].Request.Path = "/subscriptions/609bceb5-bda3-/resourceGroups/3c33907b-e15d-40b/providers/Microsoft.Devices/provisioningServices/e9b4ac51-3e93-4817-9b93/certificates/4e53a62e-efac-4/generateVerificationCode"; - Requests[2672] = new DefaultHttpContext(); - Requests[2672].RequestServices = CreateServices(); - Requests[2672].Request.Method = "POST"; - Requests[2672].Request.Path = "/subscriptions/c892f67a-7a05-/resourceGroups/6e29f375-1822-490/providers/Microsoft.Devices/provisioningServices/abf87799-db7d-4315-abee/certificates/1f68f0f3-54c5-4/verify"; - Requests[2673] = new DefaultHttpContext(); - Requests[2673].RequestServices = CreateServices(); - Requests[2673].Request.Method = "POST"; - Requests[2673].Request.Path = "/subscriptions/181cc535-1c26-/resourceGroups/38bfa40c-efc9-4f7/providers/Microsoft.Devices/provisioningServices/a26365ea-67d7-4f33-86ed/keys/8af0479/listkeys"; - Requests[2674] = new DefaultHttpContext(); - Requests[2674].RequestServices = CreateServices(); - Requests[2674].Request.Method = "GET"; - Requests[2674].Request.Path = "/subscriptions/43bbb7f2-6593-/resourceGroups/f005e638-e0fa-4ca/providers/Microsoft.DevTestLab/labs/e33cacf/artifactsources/671b74b4-8d9d-427d/armtemplates"; - Requests[2675] = new DefaultHttpContext(); - Requests[2675].RequestServices = CreateServices(); - Requests[2675].Request.Method = "GET"; - Requests[2675].Request.Path = "/subscriptions/27014891-471c-/resourceGroups/0f0d3750-27e8-43d/providers/Microsoft.DevTestLab/labs/c5c784d/artifactsources/abc0f694-3f9d-4acf/artifacts"; - Requests[2676] = new DefaultHttpContext(); - Requests[2676].RequestServices = CreateServices(); - Requests[2676].Request.Method = "POST"; - Requests[2676].Request.Path = "/subscriptions/2485e745-0441-/resourceGroups/58faec3c-35a1-432/providers/Microsoft.DevTestLab/labs/4ad932a/costinsights/f2107/refreshData"; - Requests[2677] = new DefaultHttpContext(); - Requests[2677].RequestServices = CreateServices(); - Requests[2677].Request.Method = "POST"; - Requests[2677].Request.Path = "/subscriptions/c6862253-8fa5-/resourceGroups/dd4e5302-2479-413/providers/Microsoft.DevTestLab/labs/fb3ebd1/costs/9cf21/refreshData"; - Requests[2678] = new DefaultHttpContext(); - Requests[2678].RequestServices = CreateServices(); - Requests[2678].Request.Method = "POST"; - Requests[2678].Request.Path = "/subscriptions/d8888773-f395-/resourceGroups/1d7f598d-1291-4aa/providers/Microsoft.DevTestLab/labs/746fc84/notificationchannels/6b3a4/notify"; - Requests[2679] = new DefaultHttpContext(); - Requests[2679].RequestServices = CreateServices(); - Requests[2679].Request.Method = "POST"; - Requests[2679].Request.Path = "/subscriptions/a554b4db-a997-/resourceGroups/44f31f37-f531-412/providers/Microsoft.DevTestLab/labs/fa8c3b2/policysets/ea358/evaluatePolicies"; - Requests[2680] = new DefaultHttpContext(); - Requests[2680].RequestServices = CreateServices(); - Requests[2680].Request.Method = "GET"; - Requests[2680].Request.Path = "/subscriptions/1d40125f-58ee-/resourceGroups/16f081b9-4eb5-4ea/providers/Microsoft.DevTestLab/labs/5407ada/policysets/b32df4f8-4930/policies"; - Requests[2681] = new DefaultHttpContext(); - Requests[2681].RequestServices = CreateServices(); - Requests[2681].Request.Method = "POST"; - Requests[2681].Request.Path = "/subscriptions/613adc65-219e-/resourceGroups/664371df-b403-453/providers/Microsoft.DevTestLab/labs/65b1796/schedules/fe34f/execute"; - Requests[2682] = new DefaultHttpContext(); - Requests[2682].RequestServices = CreateServices(); - Requests[2682].Request.Method = "POST"; - Requests[2682].Request.Path = "/subscriptions/a0c76901-4264-/resourceGroups/2e84720c-c274-4cd/providers/Microsoft.DevTestLab/labs/4577b19/schedules/6fd49/listApplicable"; - Requests[2683] = new DefaultHttpContext(); - Requests[2683].RequestServices = CreateServices(); - Requests[2683].Request.Method = "GET"; - Requests[2683].Request.Path = "/subscriptions/a6f1ff6d-a331-/resourceGroups/44efe6e0-3317-407/providers/Microsoft.DevTestLab/labs/f70eada/users/2b5959b9/disks"; - Requests[2684] = new DefaultHttpContext(); - Requests[2684].RequestServices = CreateServices(); - Requests[2684].Request.Method = "GET"; - Requests[2684].Request.Path = "/subscriptions/42ff051f-c81b-/resourceGroups/1a888ecd-888f-484/providers/Microsoft.DevTestLab/labs/47e3897/users/7cfbb7cc/environments"; - Requests[2685] = new DefaultHttpContext(); - Requests[2685].RequestServices = CreateServices(); - Requests[2685].Request.Method = "GET"; - Requests[2685].Request.Path = "/subscriptions/d329f966-906b-/resourceGroups/e5284fdd-2c10-4e0/providers/Microsoft.DevTestLab/labs/b810eef/users/808cebc1/secrets"; - Requests[2686] = new DefaultHttpContext(); - Requests[2686].RequestServices = CreateServices(); - Requests[2686].Request.Method = "POST"; - Requests[2686].Request.Path = "/subscriptions/951d4819-1442-/resourceGroups/0318096e-5425-464/providers/Microsoft.DevTestLab/labs/33e42fb/virtualmachines/c363a/addDataDisk"; - Requests[2687] = new DefaultHttpContext(); - Requests[2687].RequestServices = CreateServices(); - Requests[2687].Request.Method = "POST"; - Requests[2687].Request.Path = "/subscriptions/7f46ca96-54dc-/resourceGroups/cb90212e-f496-464/providers/Microsoft.DevTestLab/labs/ad90471/virtualmachines/69a27/applyArtifacts"; - Requests[2688] = new DefaultHttpContext(); - Requests[2688].RequestServices = CreateServices(); - Requests[2688].Request.Method = "POST"; - Requests[2688].Request.Path = "/subscriptions/00f5c52c-65fd-/resourceGroups/3dcd4e15-6bd9-455/providers/Microsoft.DevTestLab/labs/7f9f680/virtualmachines/e3596/claim"; - Requests[2689] = new DefaultHttpContext(); - Requests[2689].RequestServices = CreateServices(); - Requests[2689].Request.Method = "POST"; - Requests[2689].Request.Path = "/subscriptions/cb5303c6-1ae2-/resourceGroups/9d728c24-cb3f-46b/providers/Microsoft.DevTestLab/labs/fe40994/virtualmachines/e4fdb/detachDataDisk"; - Requests[2690] = new DefaultHttpContext(); - Requests[2690].RequestServices = CreateServices(); - Requests[2690].Request.Method = "POST"; - Requests[2690].Request.Path = "/subscriptions/3f25f3c2-158c-/resourceGroups/2f908289-1fe6-4dc/providers/Microsoft.DevTestLab/labs/c19f965/virtualmachines/a2dd2/listApplicableSchedules"; - Requests[2691] = new DefaultHttpContext(); - Requests[2691].RequestServices = CreateServices(); - Requests[2691].Request.Method = "POST"; - Requests[2691].Request.Path = "/subscriptions/392fa8bc-c101-/resourceGroups/02c21c98-0492-47e/providers/Microsoft.DevTestLab/labs/0a6783b/virtualmachines/23639/start"; - Requests[2692] = new DefaultHttpContext(); - Requests[2692].RequestServices = CreateServices(); - Requests[2692].Request.Method = "POST"; - Requests[2692].Request.Path = "/subscriptions/019c1fcb-5699-/resourceGroups/0620a703-5141-4a3/providers/Microsoft.DevTestLab/labs/c4ec65e/virtualmachines/e3512/stop"; - Requests[2693] = new DefaultHttpContext(); - Requests[2693].RequestServices = CreateServices(); - Requests[2693].Request.Method = "GET"; - Requests[2693].Request.Path = "/subscriptions/a1e45fcd-8b3f-/resourceGroups/4830d5db-bbe3-43e/providers/Microsoft.DevTestLab/labs/92a9dc8/virtualmachines/0ae5ff59-e5a6-4c10/schedules"; - Requests[2694] = new DefaultHttpContext(); - Requests[2694].RequestServices = CreateServices(); - Requests[2694].Request.Method = "GET"; - Requests[2694].Request.Path = "/subscriptions/74e7471c-02a5-/resourceGroups/37b97447-d54b-4de/providers/Microsoft.DocumentDB/databaseAccounts/84e753e7-e8/databases/bc58ad6c-a8/metricDefinitions"; - Requests[2695] = new DefaultHttpContext(); - Requests[2695].RequestServices = CreateServices(); - Requests[2695].Request.Method = "GET"; - Requests[2695].Request.Path = "/subscriptions/4331c961-b821-/resourceGroups/b09dcea5-539a-417/providers/Microsoft.DocumentDB/databaseAccounts/991e9d66-1e/databases/288b872a-63/metrics"; - Requests[2696] = new DefaultHttpContext(); - Requests[2696].RequestServices = CreateServices(); - Requests[2696].Request.Method = "GET"; - Requests[2696].Request.Path = "/subscriptions/398054a8-c6bf-/resourceGroups/08b44855-652b-47b/providers/Microsoft.DocumentDB/databaseAccounts/a6280cdc-ee/databases/1c059321-ba/usages"; - Requests[2697] = new DefaultHttpContext(); - Requests[2697].RequestServices = CreateServices(); - Requests[2697].Request.Method = "GET"; - Requests[2697].Request.Path = "/subscriptions/79206e29-02bb-/resourceGroups/7ccf5e82-d848-4b2/providers/Microsoft.DocumentDB/databaseAccounts/0e4fcdaf-81/region/6c8164/metrics"; - Requests[2698] = new DefaultHttpContext(); - Requests[2698].RequestServices = CreateServices(); - Requests[2698].Request.Method = "GET"; - Requests[2698].Request.Path = "/subscriptions/796981e9-06d0-/resourceGroups/553385ee-9099-42c/providers/Microsoft.EventGrid/locations/6070550b/topicTypes/887928a5-8960/eventSubscriptions"; - Requests[2699] = new DefaultHttpContext(); - Requests[2699].RequestServices = CreateServices(); - Requests[2699].Request.Method = "POST"; - Requests[2699].Request.Path = "/subscriptions/901a9adc-8eaa-/resourceGroups/b906b869-351b-43c/providers/Microsoft.EventHub/namespaces/740bc23c-b2e3/AuthorizationRules/1933f519-7076-4753-ae/listKeys"; - Requests[2700] = new DefaultHttpContext(); - Requests[2700].RequestServices = CreateServices(); - Requests[2700].Request.Method = "POST"; - Requests[2700].Request.Path = "/subscriptions/65da6763-9ce0-/resourceGroups/f5238436-e13c-475/providers/Microsoft.EventHub/namespaces/249b2719-e1a5/AuthorizationRules/4ca17c8c-6b03-47b6-bf/regenerateKeys"; - Requests[2701] = new DefaultHttpContext(); - Requests[2701].RequestServices = CreateServices(); - Requests[2701].Request.Method = "GET"; - Requests[2701].Request.Path = "/subscriptions/cc5f7140-9d2f-/resourceGroups/dc140554-5eb6-47a/providers/Microsoft.EventHub/namespaces/09a1c36a-1005/disasterRecoveryConfigs/c843e/AuthorizationRules"; - Requests[2702] = new DefaultHttpContext(); - Requests[2702].RequestServices = CreateServices(); - Requests[2702].Request.Method = "POST"; - Requests[2702].Request.Path = "/subscriptions/ee3288dd-8ed5-/resourceGroups/37484c0e-3ca1-42f/providers/Microsoft.EventHub/namespaces/bcfe59ff-1980/disasterRecoveryConfigs/d7377/breakPairing"; - Requests[2703] = new DefaultHttpContext(); - Requests[2703].RequestServices = CreateServices(); - Requests[2703].Request.Method = "POST"; - Requests[2703].Request.Path = "/subscriptions/a238678e-ea0b-/resourceGroups/087e531a-9f1d-4e7/providers/Microsoft.EventHub/namespaces/634b7ed6-2d35/disasterRecoveryConfigs/c2f04/failover"; - Requests[2704] = new DefaultHttpContext(); - Requests[2704].RequestServices = CreateServices(); - Requests[2704].Request.Method = "GET"; - Requests[2704].Request.Path = "/subscriptions/1ee477ab-ed4a-/resourceGroups/411ffa40-6264-4c0/providers/Microsoft.EventHub/namespaces/cc62e480-0803/eventhubs/f69552e9-c05/authorizationRules"; - Requests[2705] = new DefaultHttpContext(); - Requests[2705].RequestServices = CreateServices(); - Requests[2705].Request.Method = "GET"; - Requests[2705].Request.Path = "/subscriptions/b8b40046-6204-/resourceGroups/f6a7ca83-4f4a-449/providers/Microsoft.EventHub/namespaces/53f6892c-68ae/eventhubs/4f1ca596-bba/consumergroups"; - Requests[2706] = new DefaultHttpContext(); - Requests[2706].RequestServices = CreateServices(); - Requests[2706].Request.Method = "POST"; - Requests[2706].Request.Path = "/subscriptions/577760fa-9942-/resourceGroups/af070a4c-ae82-41b/providers/Microsoft.Fabric.Admin/fabricLocations/dbb12fa4/infraRoleInstances/952fce9a-bb76-484/PowerOff"; - Requests[2707] = new DefaultHttpContext(); - Requests[2707].RequestServices = CreateServices(); - Requests[2707].Request.Method = "POST"; - Requests[2707].Request.Path = "/subscriptions/83c2dc42-6694-/resourceGroups/062b19cb-c2ed-49b/providers/Microsoft.Fabric.Admin/fabricLocations/70e8fda4/infraRoleInstances/6c78d079-f70d-47a/PowerOn"; - Requests[2708] = new DefaultHttpContext(); - Requests[2708].RequestServices = CreateServices(); - Requests[2708].Request.Method = "POST"; - Requests[2708].Request.Path = "/subscriptions/90de848a-21c4-/resourceGroups/8f0cd137-2733-43e/providers/Microsoft.Fabric.Admin/fabricLocations/45b0aa49/infraRoleInstances/556b27dc-54b9-48c/Reboot"; - Requests[2709] = new DefaultHttpContext(); - Requests[2709].RequestServices = CreateServices(); - Requests[2709].Request.Method = "POST"; - Requests[2709].Request.Path = "/subscriptions/04da4b94-8879-/resourceGroups/d1c2de26-8db6-483/providers/Microsoft.Fabric.Admin/fabricLocations/62da5dca/infraRoleInstances/6cd47edf-9bf3-47d/Shutdown"; - Requests[2710] = new DefaultHttpContext(); - Requests[2710].RequestServices = CreateServices(); - Requests[2710].Request.Method = "POST"; - Requests[2710].Request.Path = "/subscriptions/c59376d4-53ca-/resourceGroups/aeaa1ad4-bfd3-447/providers/Microsoft.Fabric.Admin/fabricLocations/ced507a5/infraRoles/71309c61-/Restart"; - Requests[2711] = new DefaultHttpContext(); - Requests[2711].RequestServices = CreateServices(); - Requests[2711].Request.Method = "GET"; - Requests[2711].Request.Path = "/subscriptions/e8a0aa14-7c5c-/resourceGroups/dd7ca232-3e31-4df/providers/Microsoft.Fabric.Admin/fabricLocations/d40ac352/logicalNetworks/69a849e8-3afd-/logicalSubnets"; - Requests[2712] = new DefaultHttpContext(); - Requests[2712].RequestServices = CreateServices(); - Requests[2712].Request.Method = "POST"; - Requests[2712].Request.Path = "/subscriptions/77e71cab-4593-/resourceGroups/b8b2e6fa-8ac7-45d/providers/Microsoft.Fabric.Admin/fabricLocations/627d74b1/scaleUnitNodes/7c0aea70-3ed4/PowerOff"; - Requests[2713] = new DefaultHttpContext(); - Requests[2713].RequestServices = CreateServices(); - Requests[2713].Request.Method = "POST"; - Requests[2713].Request.Path = "/subscriptions/0c294c0f-be7c-/resourceGroups/468bd2bf-ea90-438/providers/Microsoft.Fabric.Admin/fabricLocations/8ee5ea25/scaleUnitNodes/20ed3e8f-c8ce/PowerOn"; - Requests[2714] = new DefaultHttpContext(); - Requests[2714].RequestServices = CreateServices(); - Requests[2714].Request.Method = "POST"; - Requests[2714].Request.Path = "/subscriptions/c19bbf18-2a56-/resourceGroups/f0d4981d-8a08-443/providers/Microsoft.Fabric.Admin/fabricLocations/a913348d/scaleUnitNodes/8d485342-3e01/Repair"; - Requests[2715] = new DefaultHttpContext(); - Requests[2715].RequestServices = CreateServices(); - Requests[2715].Request.Method = "POST"; - Requests[2715].Request.Path = "/subscriptions/6112b696-13eb-/resourceGroups/d9ba8157-1fe7-4e6/providers/Microsoft.Fabric.Admin/fabricLocations/9e63eaa4/scaleUnitNodes/4f24bcbb-520a/Shutdown"; - Requests[2716] = new DefaultHttpContext(); - Requests[2716].RequestServices = CreateServices(); - Requests[2716].Request.Method = "POST"; - Requests[2716].Request.Path = "/subscriptions/d504bd57-b203-/resourceGroups/d58f5799-4ded-4d0/providers/Microsoft.Fabric.Admin/fabricLocations/435ceca0/scaleUnitNodes/4bfe6137-a088/StartMaintenanceMode"; - Requests[2717] = new DefaultHttpContext(); - Requests[2717].RequestServices = CreateServices(); - Requests[2717].Request.Method = "POST"; - Requests[2717].Request.Path = "/subscriptions/30485d61-de85-/resourceGroups/721d07cb-feeb-41c/providers/Microsoft.Fabric.Admin/fabricLocations/f1ef9669/scaleUnitNodes/99deae6f-f083/StopMaintenanceMode"; - Requests[2718] = new DefaultHttpContext(); - Requests[2718].RequestServices = CreateServices(); - Requests[2718].Request.Method = "POST"; - Requests[2718].Request.Path = "/subscriptions/e39f1b00-06ed-/resourceGroups/7ade10fd-e59a-456/providers/Microsoft.Fabric.Admin/fabricLocations/d40ec008/scaleUnits/9d8a56a9-/ScaleOut"; - Requests[2719] = new DefaultHttpContext(); - Requests[2719].RequestServices = CreateServices(); - Requests[2719].Request.Method = "GET"; - Requests[2719].Request.Path = "/subscriptions/19c8d319-5474-/resourceGroups/24a8d33c-a784-43b/providers/Microsoft.Fabric.Admin/fabricLocations/5a9a2d25/storageSubSystems/21181ae6-bad2-44/storagePools"; - Requests[2720] = new DefaultHttpContext(); - Requests[2720].RequestServices = CreateServices(); - Requests[2720].Request.Method = "POST"; - Requests[2720].Request.Path = "/subscriptions/3eedc10f-74ac-/resourceGroups/f89b0ba0-4ab1-47b/providers/Microsoft.HDInsight/clusters/70d0732c-ce/roles/640a0443/resize"; - Requests[2721] = new DefaultHttpContext(); - Requests[2721].RequestServices = CreateServices(); - Requests[2721].Request.Method = "POST"; - Requests[2721].Request.Path = "/subscriptions/31ffebaf-7cce-/resourceGroups/af2508c6-32ee-419/providers/Microsoft.HDInsight/clusters/32533558-9b/scriptExecutionHistory/c84e974c-46cd-46b/promote"; - Requests[2722] = new DefaultHttpContext(); - Requests[2722].RequestServices = CreateServices(); - Requests[2722].Request.Method = "GET"; - Requests[2722].Request.Path = "/subscriptions/2c41f153-fc33-/resourceGroups/c2d04d81-7924-4e2/providers/Microsoft.InfrastructureInsights.Admin/regionHealths/92ad702e/serviceHealths/468db43c-90c9-457b-80/resourceHealths"; - Requests[2723] = new DefaultHttpContext(); - Requests[2723].RequestServices = CreateServices(); - Requests[2723].Request.Method = "POST"; - Requests[2723].Request.Path = "/subscriptions/4ffacbf4-5216-/resourceGroups/747d5a62-0b7d-4e1/providers/Microsoft.Logic/integrationAccounts/91017f92-485c-4dba-9ba/agreements/3ca42828-a443/listContentCallbackUrl"; - Requests[2724] = new DefaultHttpContext(); - Requests[2724].RequestServices = CreateServices(); - Requests[2724].Request.Method = "POST"; - Requests[2724].Request.Path = "/subscriptions/6a5a962c-df04-/resourceGroups/594d252b-3de7-43e/providers/Microsoft.Logic/integrationAccounts/96188607-9be0-4403-bdb/assemblies/7cd8735b-a93d-433d-8/listContentCallbackUrl"; - Requests[2725] = new DefaultHttpContext(); - Requests[2725].RequestServices = CreateServices(); - Requests[2725].Request.Method = "POST"; - Requests[2725].Request.Path = "/subscriptions/8cff1128-79d6-/resourceGroups/4c7e5916-952f-49b/providers/Microsoft.Logic/integrationAccounts/594ea183-cdaf-42a0-943/maps/2d3636e/listContentCallbackUrl"; - Requests[2726] = new DefaultHttpContext(); - Requests[2726].RequestServices = CreateServices(); - Requests[2726].Request.Method = "POST"; - Requests[2726].Request.Path = "/subscriptions/2d414ee1-eb86-/resourceGroups/155c0d9f-a1ff-4fd/providers/Microsoft.Logic/integrationAccounts/3d6abf81-d42d-45c8-987/partners/a6fa73ff-1b/listContentCallbackUrl"; - Requests[2727] = new DefaultHttpContext(); - Requests[2727].RequestServices = CreateServices(); - Requests[2727].Request.Method = "POST"; - Requests[2727].Request.Path = "/subscriptions/82b08c2c-0923-/resourceGroups/33f9a2d0-b6a8-479/providers/Microsoft.Logic/integrationAccounts/ec84d6b9-0be3-432c-a48/schemas/81633cd1-9/listContentCallbackUrl"; - Requests[2728] = new DefaultHttpContext(); - Requests[2728].RequestServices = CreateServices(); - Requests[2728].Request.Method = "POST"; - Requests[2728].Request.Path = "/subscriptions/891356b1-8236-/resourceGroups/28c59c1e-ec34-4ad/providers/Microsoft.Logic/locations/89f11b60/workflows/7be12abe-d19/validate"; - Requests[2729] = new DefaultHttpContext(); - Requests[2729].RequestServices = CreateServices(); - Requests[2729].Request.Method = "POST"; - Requests[2729].Request.Path = "/subscriptions/74a7b243-a04a-/resourceGroups/35d848cd-8ace-4bf/providers/Microsoft.Logic/workflows/bf036f4b-50b/accessKeys/ed8f9c8c-b141/list"; - Requests[2730] = new DefaultHttpContext(); - Requests[2730].RequestServices = CreateServices(); - Requests[2730].Request.Method = "POST"; - Requests[2730].Request.Path = "/subscriptions/63cdd394-a407-/resourceGroups/1bfbe78c-8861-4e7/providers/Microsoft.Logic/workflows/429e3bc2-607/accessKeys/04928fc2-d735/regenerate"; - Requests[2731] = new DefaultHttpContext(); - Requests[2731].RequestServices = CreateServices(); - Requests[2731].Request.Method = "GET"; - Requests[2731].Request.Path = "/subscriptions/4b63627d-f924-/resourceGroups/d58b1a1a-d77c-4db/providers/Microsoft.Logic/workflows/773e7d67-e88/runs/518d0f6/actions"; - Requests[2732] = new DefaultHttpContext(); - Requests[2732].RequestServices = CreateServices(); - Requests[2732].Request.Method = "POST"; - Requests[2732].Request.Path = "/subscriptions/84d94f47-24e4-/resourceGroups/ab483cbc-ee9a-460/providers/Microsoft.Logic/workflows/89c851ec-aa7/runs/c684eec/cancel"; - Requests[2733] = new DefaultHttpContext(); - Requests[2733].RequestServices = CreateServices(); - Requests[2733].Request.Method = "GET"; - Requests[2733].Request.Path = "/subscriptions/dfe5fc7e-d15e-/resourceGroups/24159632-869d-4a1/providers/Microsoft.Logic/workflows/9bc06408-fb7/triggers/6d98fba0-18/histories"; - Requests[2734] = new DefaultHttpContext(); - Requests[2734].RequestServices = CreateServices(); - Requests[2734].Request.Method = "POST"; - Requests[2734].Request.Path = "/subscriptions/408b8850-9683-/resourceGroups/8596afbe-10ca-441/providers/Microsoft.Logic/workflows/53d5cd16-430/triggers/2b9af42e-6e/listCallbackUrl"; - Requests[2735] = new DefaultHttpContext(); - Requests[2735].RequestServices = CreateServices(); - Requests[2735].Request.Method = "POST"; - Requests[2735].Request.Path = "/subscriptions/a4c147e1-fd7a-/resourceGroups/b26b7273-ca32-47b/providers/Microsoft.Logic/workflows/3b287224-36c/triggers/f8e54047-7b/reset"; - Requests[2736] = new DefaultHttpContext(); - Requests[2736].RequestServices = CreateServices(); - Requests[2736].Request.Method = "POST"; - Requests[2736].Request.Path = "/subscriptions/7ebc8d97-da9c-/resourceGroups/e10b53eb-62af-4db/providers/Microsoft.Logic/workflows/f802d940-ef2/triggers/97a7bfb0-e1/run"; - Requests[2737] = new DefaultHttpContext(); - Requests[2737].RequestServices = CreateServices(); - Requests[2737].Request.Method = "POST"; - Requests[2737].Request.Path = "/subscriptions/11d26ca8-7ca1-/resourceGroups/3a3b29d0-002f-42d/providers/Microsoft.Logic/workflows/2946b606-bf8/triggers/a03d41cf-12/setState"; - Requests[2738] = new DefaultHttpContext(); - Requests[2738].RequestServices = CreateServices(); - Requests[2738].Request.Method = "POST"; - Requests[2738].Request.Path = "/subscriptions/7e0bc692-f556-/resourceGroups/ab4ebca7-3ce9-44b/providers/Microsoft.MachineLearning/commitmentPlans/a0365b88-0a54-4720/commitmentAssociations/80f689d4-a503-4af4-915a-6/move"; - Requests[2739] = new DefaultHttpContext(); - Requests[2739].RequestServices = CreateServices(); - Requests[2739].Request.Method = "POST"; - Requests[2739].Request.Path = "/subscriptions/14311e4f-482f-/resourceGroups/16610ae9-5710-41d/providers/Microsoft.Media/mediaServices/6629a449-3b/assets/8106bc6c-/getEncryptionKey"; - Requests[2740] = new DefaultHttpContext(); - Requests[2740].RequestServices = CreateServices(); - Requests[2740].Request.Method = "POST"; - Requests[2740].Request.Path = "/subscriptions/82ff8553-1b5f-/resourceGroups/e7f2c2a8-a555-4fd/providers/Microsoft.Media/mediaServices/570853c6-66/assets/e549645c-/listContainerSas"; - Requests[2741] = new DefaultHttpContext(); - Requests[2741].RequestServices = CreateServices(); - Requests[2741].Request.Method = "POST"; - Requests[2741].Request.Path = "/subscriptions/ac723cc6-906c-/resourceGroups/dbd02bd5-9128-40b/providers/Microsoft.Media/mediaServices/9700b273-e9/contentKeyPolicies/2ffa05dc-5648-4aeb-a/getPolicyPropertiesWithSecrets"; - Requests[2742] = new DefaultHttpContext(); - Requests[2742].RequestServices = CreateServices(); - Requests[2742].Request.Method = "GET"; - Requests[2742].Request.Path = "/subscriptions/59d601dd-be32-/resourceGroups/7d8f419c-4b26-41c/providers/Microsoft.Media/mediaservices/17d51641-2e/liveEvents/f6dc9dcf-0566/liveOutputs"; - Requests[2743] = new DefaultHttpContext(); - Requests[2743].RequestServices = CreateServices(); - Requests[2743].Request.Method = "POST"; - Requests[2743].Request.Path = "/subscriptions/2f4282fd-704b-/resourceGroups/f63700c2-95ce-4fb/providers/Microsoft.Media/mediaservices/eab6601a-ee/liveEvents/a6c9a21a-40c9/reset"; - Requests[2744] = new DefaultHttpContext(); - Requests[2744].RequestServices = CreateServices(); - Requests[2744].Request.Method = "POST"; - Requests[2744].Request.Path = "/subscriptions/5ea62f18-5abf-/resourceGroups/33f147be-0116-433/providers/Microsoft.Media/mediaservices/5710789a-fe/liveEvents/64dd9553-e6df/start"; - Requests[2745] = new DefaultHttpContext(); - Requests[2745].RequestServices = CreateServices(); - Requests[2745].Request.Method = "POST"; - Requests[2745].Request.Path = "/subscriptions/2307f0b9-c4a3-/resourceGroups/f73a1fd9-073a-4ca/providers/Microsoft.Media/mediaservices/18cc2892-23/liveEvents/4cdd3def-a1c3/stop"; - Requests[2746] = new DefaultHttpContext(); - Requests[2746].RequestServices = CreateServices(); - Requests[2746].Request.Method = "POST"; - Requests[2746].Request.Path = "/subscriptions/f9eda551-4444-/resourceGroups/e02d4f50-6942-43f/providers/Microsoft.Media/mediaservices/c833a6b6-f4/streamingEndpoints/f438489f-f3c4-4299-bd/scale"; - Requests[2747] = new DefaultHttpContext(); - Requests[2747].RequestServices = CreateServices(); - Requests[2747].Request.Method = "POST"; - Requests[2747].Request.Path = "/subscriptions/5831926e-d129-/resourceGroups/9628798b-0478-44f/providers/Microsoft.Media/mediaservices/14abda4a-5b/streamingEndpoints/3989098e-8453-4d94-8e/start"; - Requests[2748] = new DefaultHttpContext(); - Requests[2748].RequestServices = CreateServices(); - Requests[2748].Request.Method = "POST"; - Requests[2748].Request.Path = "/subscriptions/2de35a02-c7c2-/resourceGroups/395a84e0-f578-421/providers/Microsoft.Media/mediaservices/01568e34-bf/streamingEndpoints/7d16d900-fc24-4e11-86/stop"; - Requests[2749] = new DefaultHttpContext(); - Requests[2749].RequestServices = CreateServices(); - Requests[2749].Request.Method = "POST"; - Requests[2749].Request.Path = "/subscriptions/399c8d4e-47ba-/resourceGroups/db9517db-b613-445/providers/Microsoft.Media/mediaServices/7fb95641-a3/streamingLocators/4d4f050d-5d83-4ee3-a/listContentKeys"; - Requests[2750] = new DefaultHttpContext(); - Requests[2750].RequestServices = CreateServices(); - Requests[2750].Request.Method = "POST"; - Requests[2750].Request.Path = "/subscriptions/f0261196-6c8b-/resourceGroups/335233c2-b9be-458/providers/Microsoft.Media/mediaServices/eef8e66f-b3/streamingLocators/9efb7d99-8506-4e25-a/listPaths"; - Requests[2751] = new DefaultHttpContext(); - Requests[2751].RequestServices = CreateServices(); - Requests[2751].Request.Method = "GET"; - Requests[2751].Request.Path = "/subscriptions/612b1af0-8891-/resourceGroups/89602fcc-bb20-47b/providers/Microsoft.Media/mediaServices/1be53670-02/transforms/18712144-d56f/jobs"; - Requests[2752] = new DefaultHttpContext(); - Requests[2752].RequestServices = CreateServices(); - Requests[2752].Request.Method = "GET"; - Requests[2752].Request.Path = "/subscriptions/420852f6-2c40-/resourceGroups/fe956d80-17c3-44f/providers/Microsoft.Migrate/projects/7fbd1b4b-31/groups/5fa700c7-/assessments"; - Requests[2753] = new DefaultHttpContext(); - Requests[2753].RequestServices = CreateServices(); - Requests[2753].Request.Method = "GET"; - Requests[2753].Request.Path = "/subscriptions/74f7ff79-7a5f-/resourceGroups/ebcb5f0a-461a-4a5/providers/Microsoft.Network/expressRouteCircuits/8f8d8396-de/peerings/683f8027-64/stats"; - Requests[2754] = new DefaultHttpContext(); - Requests[2754].RequestServices = CreateServices(); - Requests[2754].Request.Method = "POST"; - Requests[2754].Request.Path = "/subscriptions/27db1e46-8114-/resourceGroups/950f5dbe-e8c3-45a/providers/Microsoft.Network/networkWatchers/ec42533b-30fb-48e8/connectionMonitors/23e88e5a-7d4f-4442-ac/query"; - Requests[2755] = new DefaultHttpContext(); - Requests[2755].RequestServices = CreateServices(); - Requests[2755].Request.Method = "POST"; - Requests[2755].Request.Path = "/subscriptions/8de63a0d-8331-/resourceGroups/fd3be36c-ec0c-4ae/providers/Microsoft.Network/networkWatchers/14a526ea-a6e6-4898/connectionMonitors/3ab26a2e-3a3e-409b-a0/start"; - Requests[2756] = new DefaultHttpContext(); - Requests[2756].RequestServices = CreateServices(); - Requests[2756].Request.Method = "POST"; - Requests[2756].Request.Path = "/subscriptions/ea9e0994-c405-/resourceGroups/f4ee506b-2a70-4ab/providers/Microsoft.Network/networkWatchers/1251cf49-aaba-419d/connectionMonitors/9638aaf5-41ab-4b58-a2/stop"; - Requests[2757] = new DefaultHttpContext(); - Requests[2757].RequestServices = CreateServices(); - Requests[2757].Request.Method = "POST"; - Requests[2757].Request.Path = "/subscriptions/afa46c19-bba3-/resourceGroups/b15cfee9-0fc3-48a/providers/Microsoft.Network/networkWatchers/828f6e86-a29e-4a16/packetCaptures/85782d20-7476-44e/queryStatus"; - Requests[2758] = new DefaultHttpContext(); - Requests[2758].RequestServices = CreateServices(); - Requests[2758].Request.Method = "POST"; - Requests[2758].Request.Path = "/subscriptions/880f3b49-7044-/resourceGroups/f2c47489-aa06-4fd/providers/Microsoft.Network/networkWatchers/fc4038ee-debe-45bd/packetCaptures/d75c72b1-6971-402/stop"; - Requests[2759] = new DefaultHttpContext(); - Requests[2759].RequestServices = CreateServices(); - Requests[2759].Request.Method = "POST"; - Requests[2759].Request.Path = "/subscriptions/922ec167-d025-/resourceGroups/d8a856fd-7bcd-4eb/providers/Microsoft.NotificationHubs/namespaces/4c290530-08f0/AuthorizationRules/4ee0c914-16e8-44a0-ba/listKeys"; - Requests[2760] = new DefaultHttpContext(); - Requests[2760].RequestServices = CreateServices(); - Requests[2760].Request.Method = "POST"; - Requests[2760].Request.Path = "/subscriptions/ef6033c9-8475-/resourceGroups/25b49fcb-5aac-4b6/providers/Microsoft.NotificationHubs/namespaces/e8e38268-9713/AuthorizationRules/6ba4944a-df7a-4f8f-bb/regenerateKeys"; - Requests[2761] = new DefaultHttpContext(); - Requests[2761].RequestServices = CreateServices(); - Requests[2761].Request.Method = "GET"; - Requests[2761].Request.Path = "/subscriptions/29be5f0f-4a3e-/resourceGroups/cd851676-7a69-48d/providers/Microsoft.NotificationHubs/namespaces/f26c0bad-b677/notificationHubs/d60ce2de-e0aa-4cad-/AuthorizationRules"; - Requests[2762] = new DefaultHttpContext(); - Requests[2762].RequestServices = CreateServices(); - Requests[2762].Request.Method = "POST"; - Requests[2762].Request.Path = "/subscriptions/e24e8e14-47b1-/resourceGroups/ea10f96c-c74d-4ac/providers/Microsoft.NotificationHubs/namespaces/3e0f20c6-2d9d/notificationHubs/e11f2afb-06e1-430b-/pnsCredentials"; - Requests[2763] = new DefaultHttpContext(); - Requests[2763].RequestServices = CreateServices(); - Requests[2763].Request.Method = "POST"; - Requests[2763].Request.Path = "/subscriptions/37a5d3d3-b8b0-/resourcegroups/8d3e03e2-350d-4ef/providers/Microsoft.OperationalInsights/workspaces/d519f127-4963/intelligencePacks/81889a61-10ea-42a9-9/Disable"; - Requests[2764] = new DefaultHttpContext(); - Requests[2764].RequestServices = CreateServices(); - Requests[2764].Request.Method = "POST"; - Requests[2764].Request.Path = "/subscriptions/b231067c-7152-/resourcegroups/85cc2ec2-6559-4c5/providers/Microsoft.OperationalInsights/workspaces/f9831685-a432/intelligencePacks/21c3a560-7ee7-43a7-a/Enable"; - Requests[2765] = new DefaultHttpContext(); - Requests[2765].RequestServices = CreateServices(); - Requests[2765].Request.Method = "GET"; - Requests[2765].Request.Path = "/subscriptions/489d362b-4fa0-/resourcegroups/69669b52-2da8-48d/providers/Microsoft.OperationalInsights/workspaces/1d312b82-5d23/savedSearches/26a074a1-7f41-4/results"; - Requests[2766] = new DefaultHttpContext(); - Requests[2766].RequestServices = CreateServices(); - Requests[2766].Request.Method = "POST"; - Requests[2766].Request.Path = "/Subscriptions/fd7a0fa2-1234-/resourceGroups/5a74b826-2e22-438/providers/Microsoft.RecoveryServices/vaults/be60493a-6c5/replicationFabrics/74432df4-f/checkConsistency"; - Requests[2767] = new DefaultHttpContext(); - Requests[2767].RequestServices = CreateServices(); - Requests[2767].Request.Method = "POST"; - Requests[2767].Request.Path = "/Subscriptions/bdc767ac-0732-/resourceGroups/4b806354-0a71-403/providers/Microsoft.RecoveryServices/vaults/7f52f1fc-dbe/replicationFabrics/d890e5b0-9/migratetoaad"; - Requests[2768] = new DefaultHttpContext(); - Requests[2768].RequestServices = CreateServices(); - Requests[2768].Request.Method = "POST"; - Requests[2768].Request.Path = "/Subscriptions/33f54bc6-f13e-/resourceGroups/9de0641c-0a7f-4ef/providers/Microsoft.RecoveryServices/vaults/51f9e2d3-952/replicationFabrics/7e3f1070-d/reassociateGateway"; - Requests[2769] = new DefaultHttpContext(); - Requests[2769].RequestServices = CreateServices(); - Requests[2769].Request.Method = "POST"; - Requests[2769].Request.Path = "/Subscriptions/a2620054-0603-/resourceGroups/dd22a8b6-6577-49d/providers/Microsoft.RecoveryServices/vaults/c3100e56-522/replicationFabrics/96e21391-a/remove"; - Requests[2770] = new DefaultHttpContext(); - Requests[2770].RequestServices = CreateServices(); - Requests[2770].Request.Method = "POST"; - Requests[2770].Request.Path = "/Subscriptions/4555eee5-cd31-/resourceGroups/4c9c4edd-fcdf-433/providers/Microsoft.RecoveryServices/vaults/1a3f75c1-9d5/replicationFabrics/24aa6f28-d/renewCertificate"; - Requests[2771] = new DefaultHttpContext(); - Requests[2771].RequestServices = CreateServices(); - Requests[2771].Request.Method = "GET"; - Requests[2771].Request.Path = "/Subscriptions/2a94abec-aeb7-/resourceGroups/9a2be0da-63f4-479/providers/Microsoft.RecoveryServices/vaults/5d87958e-8f1/replicationFabrics/9f44c4bb-c/replicationLogicalNetworks"; - Requests[2772] = new DefaultHttpContext(); - Requests[2772].RequestServices = CreateServices(); - Requests[2772].Request.Method = "GET"; - Requests[2772].Request.Path = "/Subscriptions/65f857f7-35cc-/resourceGroups/b3d9b943-804c-49f/providers/Microsoft.RecoveryServices/vaults/c62349e6-06d/replicationFabrics/0b5a828a-6/replicationNetworks"; - Requests[2773] = new DefaultHttpContext(); - Requests[2773].RequestServices = CreateServices(); - Requests[2773].Request.Method = "GET"; - Requests[2773].Request.Path = "/Subscriptions/ec3f1bde-52cc-/resourceGroups/de68851a-072f-438/providers/Microsoft.RecoveryServices/vaults/0107babc-796/replicationFabrics/9d211766-5/replicationProtectionContainers"; - Requests[2774] = new DefaultHttpContext(); - Requests[2774].RequestServices = CreateServices(); - Requests[2774].Request.Method = "GET"; - Requests[2774].Request.Path = "/Subscriptions/5c24e1c6-8206-/resourceGroups/82ccc42f-3c19-467/providers/Microsoft.RecoveryServices/vaults/f53d126e-12f/replicationFabrics/e79cec3a-4/replicationRecoveryServicesProviders"; - Requests[2775] = new DefaultHttpContext(); - Requests[2775].RequestServices = CreateServices(); - Requests[2775].Request.Method = "GET"; - Requests[2775].Request.Path = "/Subscriptions/4d19cdef-4c15-/resourceGroups/12fb3d76-837f-4c6/providers/Microsoft.RecoveryServices/vaults/22e42100-53f/replicationFabrics/109c3d0b-9/replicationStorageClassifications"; - Requests[2776] = new DefaultHttpContext(); - Requests[2776].RequestServices = CreateServices(); - Requests[2776].Request.Method = "GET"; - Requests[2776].Request.Path = "/Subscriptions/b94698f9-1ea3-/resourceGroups/79d972db-5100-47f/providers/Microsoft.RecoveryServices/vaults/e243b246-114/replicationFabrics/4ba2a05c-1/replicationvCenters"; - Requests[2777] = new DefaultHttpContext(); - Requests[2777].RequestServices = CreateServices(); - Requests[2777].Request.Method = "POST"; - Requests[2777].Request.Path = "/Subscriptions/298537bd-6648-/resourceGroups/013c8823-5b97-448/providers/Microsoft.RecoveryServices/vaults/3170ee15-11a/replicationJobs/0ea9d94/cancel"; - Requests[2778] = new DefaultHttpContext(); - Requests[2778].RequestServices = CreateServices(); - Requests[2778].Request.Method = "POST"; - Requests[2778].Request.Path = "/Subscriptions/affbff95-4565-/resourceGroups/41290400-3bba-47a/providers/Microsoft.RecoveryServices/vaults/25950666-5ed/replicationJobs/ebedf33/restart"; - Requests[2779] = new DefaultHttpContext(); - Requests[2779].RequestServices = CreateServices(); - Requests[2779].Request.Method = "POST"; - Requests[2779].Request.Path = "/Subscriptions/e369229a-9f7d-/resourceGroups/fe6c8690-da97-449/providers/Microsoft.RecoveryServices/vaults/0930a5b0-8bb/replicationJobs/d3b9e74/resume"; - Requests[2780] = new DefaultHttpContext(); - Requests[2780].RequestServices = CreateServices(); - Requests[2780].Request.Method = "POST"; - Requests[2780].Request.Path = "/Subscriptions/9d4d6f10-3ac8-/resourceGroups/2479d05a-6a68-4da/providers/Microsoft.RecoveryServices/vaults/66644d3c-2c9/replicationRecoveryPlans/1e1b65a9-3862-4e/failoverCommit"; - Requests[2781] = new DefaultHttpContext(); - Requests[2781].RequestServices = CreateServices(); - Requests[2781].Request.Method = "POST"; - Requests[2781].Request.Path = "/Subscriptions/f6947ff8-7311-/resourceGroups/a6b2a269-f573-4b8/providers/Microsoft.RecoveryServices/vaults/2c7a8a37-afb/replicationRecoveryPlans/0e0d9dfa-9c7e-4a/plannedFailover"; - Requests[2782] = new DefaultHttpContext(); - Requests[2782].RequestServices = CreateServices(); - Requests[2782].Request.Method = "POST"; - Requests[2782].Request.Path = "/Subscriptions/003b0b80-da95-/resourceGroups/85195fbd-8662-421/providers/Microsoft.RecoveryServices/vaults/f4c31885-2a7/replicationRecoveryPlans/33033237-3078-47/reProtect"; - Requests[2783] = new DefaultHttpContext(); - Requests[2783].RequestServices = CreateServices(); - Requests[2783].Request.Method = "POST"; - Requests[2783].Request.Path = "/Subscriptions/309a44fc-7ab5-/resourceGroups/f361e2c2-676e-4e4/providers/Microsoft.RecoveryServices/vaults/ce122c52-3fc/replicationRecoveryPlans/19b75928-f2f2-43/testFailover"; - Requests[2784] = new DefaultHttpContext(); - Requests[2784].RequestServices = CreateServices(); - Requests[2784].Request.Method = "POST"; - Requests[2784].Request.Path = "/Subscriptions/3476ca88-b6c5-/resourceGroups/2749038a-f178-4dd/providers/Microsoft.RecoveryServices/vaults/72c585a8-199/replicationRecoveryPlans/0f0e6647-99f0-48/testFailoverCleanup"; - Requests[2785] = new DefaultHttpContext(); - Requests[2785].RequestServices = CreateServices(); - Requests[2785].Request.Method = "POST"; - Requests[2785].Request.Path = "/Subscriptions/578cab33-6ae6-/resourceGroups/e7dece75-ff55-434/providers/Microsoft.RecoveryServices/vaults/db975aa8-46b/replicationRecoveryPlans/1b66d1c1-e6c0-45/unplannedFailover"; - Requests[2786] = new DefaultHttpContext(); - Requests[2786].RequestServices = CreateServices(); - Requests[2786].Request.Method = "GET"; - Requests[2786].Request.Path = "/Subscriptions/0c5e5bc0-6958-/resourceGroups/03a401af-5b7c-45b/providers/Microsoft.RecoveryServices/vaults/8958b062-/backupFabrics/79ba52e9-2/protectableContainers"; - Requests[2787] = new DefaultHttpContext(); - Requests[2787].RequestServices = CreateServices(); - Requests[2787].Request.Method = "POST"; - Requests[2787].Request.Path = "/Subscriptions/6f7d6f72-7981-/resourceGroups/c1e0f96c-1131-449/providers/Microsoft.RecoveryServices/vaults/83ca663b-/backupFabrics/f3c91fee-4/refreshContainers"; - Requests[2788] = new DefaultHttpContext(); - Requests[2788].RequestServices = CreateServices(); - Requests[2788].Request.Method = "POST"; - Requests[2788].Request.Path = "/Subscriptions/72e9543e-92fa-/resourceGroups/c3d25315-f195-414/providers/Microsoft.RecoveryServices/vaults/d0505965-/backupJobs/e6a87c8/cancel"; - Requests[2789] = new DefaultHttpContext(); - Requests[2789].RequestServices = CreateServices(); - Requests[2789].Request.Method = "POST"; - Requests[2789].Request.Path = "/subscriptions/830b7f08-978b-/resourceGroups/7e6afa87-fde9-46f/providers/Microsoft.Relay/namespaces/eb7c25a3-ff7d/authorizationRules/25cc75e4-3a7c-452f-b6/listKeys"; - Requests[2790] = new DefaultHttpContext(); - Requests[2790].RequestServices = CreateServices(); - Requests[2790].Request.Method = "POST"; - Requests[2790].Request.Path = "/subscriptions/e94f293f-b976-/resourceGroups/e165685a-a825-420/providers/Microsoft.Relay/namespaces/029e9e36-50a3/authorizationRules/97d55480-77a6-4cf6-99/regenerateKeys"; - Requests[2791] = new DefaultHttpContext(); - Requests[2791].RequestServices = CreateServices(); - Requests[2791].Request.Method = "GET"; - Requests[2791].Request.Path = "/subscriptions/c12218ac-bb8e-/resourceGroups/de4ecda0-537c-4b6/providers/Microsoft.Relay/namespaces/1a2a446e-92f3/hybridConnections/38093b06-6cf6-43fc-a/authorizationRules"; - Requests[2792] = new DefaultHttpContext(); - Requests[2792].RequestServices = CreateServices(); - Requests[2792].Request.Method = "GET"; - Requests[2792].Request.Path = "/subscriptions/67f802f3-a5b7-/resourceGroups/e87adde2-4aa7-4b7/providers/Microsoft.Relay/namespaces/e54dbbba-0dd1/wcfRelays/bf7a843e-/authorizationRules"; - Requests[2793] = new DefaultHttpContext(); - Requests[2793].RequestServices = CreateServices(); - Requests[2793].Request.Method = "GET"; - Requests[2793].Request.Path = "/subscriptions/63f5760f-c1eb-/resourceGroups/2a186190-e9b3-47d/providers/Microsoft.Scheduler/jobCollections/ec322229-910b-468/jobs/3094906/history"; - Requests[2794] = new DefaultHttpContext(); - Requests[2794].RequestServices = CreateServices(); - Requests[2794].Request.Method = "POST"; - Requests[2794].Request.Path = "/subscriptions/58dcafbe-a479-/resourceGroups/f29f4c3e-8949-470/providers/Microsoft.Scheduler/jobCollections/c8124d4b-726b-478/jobs/fa50505/run"; - Requests[2795] = new DefaultHttpContext(); - Requests[2795].RequestServices = CreateServices(); - Requests[2795].Request.Method = "POST"; - Requests[2795].Request.Path = "/subscriptions/2f901bd1-df0e-/resourceGroups/3ef64836-f64a-4ce/providers/Microsoft.ServiceBus/namespaces/72e663f0-666e/AuthorizationRules/09eeb30a-d18c-41e7-9c/listKeys"; - Requests[2796] = new DefaultHttpContext(); - Requests[2796].RequestServices = CreateServices(); - Requests[2796].Request.Method = "POST"; - Requests[2796].Request.Path = "/subscriptions/c8cf1afe-bbb0-/resourceGroups/e49a5357-8dcd-4a5/providers/Microsoft.ServiceBus/namespaces/eb1d159a-1738/AuthorizationRules/c04dbc28-abda-45ab-95/regenerateKeys"; - Requests[2797] = new DefaultHttpContext(); - Requests[2797].RequestServices = CreateServices(); - Requests[2797].Request.Method = "GET"; - Requests[2797].Request.Path = "/subscriptions/b01559fc-96cd-/resourceGroups/39b55c74-fbc7-4ee/providers/Microsoft.ServiceBus/namespaces/aa959640-328a/disasterRecoveryConfigs/3652a/AuthorizationRules"; - Requests[2798] = new DefaultHttpContext(); - Requests[2798].RequestServices = CreateServices(); - Requests[2798].Request.Method = "POST"; - Requests[2798].Request.Path = "/subscriptions/b0d355fc-b80a-/resourceGroups/6577eeb7-b836-4fa/providers/Microsoft.ServiceBus/namespaces/023d9dd4-cd5c/disasterRecoveryConfigs/53d25/breakPairing"; - Requests[2799] = new DefaultHttpContext(); - Requests[2799].RequestServices = CreateServices(); - Requests[2799].Request.Method = "POST"; - Requests[2799].Request.Path = "/subscriptions/a11f86a9-b965-/resourceGroups/d0f5d463-fe9f-44b/providers/Microsoft.ServiceBus/namespaces/6cc555bd-84d3/disasterRecoveryConfigs/cd386/failover"; - Requests[2800] = new DefaultHttpContext(); - Requests[2800].RequestServices = CreateServices(); - Requests[2800].Request.Method = "GET"; - Requests[2800].Request.Path = "/subscriptions/480cc29f-1559-/resourceGroups/c2c9b06a-a25c-4cc/providers/Microsoft.ServiceBus/namespaces/e1473b18-8369/eventhubs/cc1643d3-780/authorizationRules"; - Requests[2801] = new DefaultHttpContext(); - Requests[2801].RequestServices = CreateServices(); - Requests[2801].Request.Method = "POST"; - Requests[2801].Request.Path = "/subscriptions/ad31756f-9b3b-/resourceGroups/d7df18b2-25f5-45b/providers/Microsoft.ServiceBus/namespaces/56a7ada0-b3a3/migrationConfigurations/060f51c3-d/revert"; - Requests[2802] = new DefaultHttpContext(); - Requests[2802].RequestServices = CreateServices(); - Requests[2802].Request.Method = "POST"; - Requests[2802].Request.Path = "/subscriptions/4ebb451a-cbfb-/resourceGroups/9b9959ba-dc81-47f/providers/Microsoft.ServiceBus/namespaces/c6f39d0d-78da/migrationConfigurations/7e6daaf5-e/upgrade"; - Requests[2803] = new DefaultHttpContext(); - Requests[2803].RequestServices = CreateServices(); - Requests[2803].Request.Method = "GET"; - Requests[2803].Request.Path = "/subscriptions/19df00e5-c936-/resourceGroups/412c9b32-6f59-482/providers/Microsoft.ServiceBus/namespaces/0e241ffd-6481/queues/359ffb64-/authorizationRules"; - Requests[2804] = new DefaultHttpContext(); - Requests[2804].RequestServices = CreateServices(); - Requests[2804].Request.Method = "GET"; - Requests[2804].Request.Path = "/subscriptions/ca426be8-898e-/resourceGroups/7e4cf31c-5e31-490/providers/Microsoft.ServiceBus/namespaces/cb44820f-04a6/topics/93fbf5a9-/authorizationRules"; - Requests[2805] = new DefaultHttpContext(); - Requests[2805].RequestServices = CreateServices(); - Requests[2805].Request.Method = "GET"; - Requests[2805].Request.Path = "/subscriptions/ee03e8a5-6ab7-/resourceGroups/5e2969be-8c51-438/providers/Microsoft.ServiceBus/namespaces/58ab88d2-2c69/topics/0ca89b08-/subscriptions"; - Requests[2806] = new DefaultHttpContext(); - Requests[2806].RequestServices = CreateServices(); - Requests[2806].Request.Method = "GET"; - Requests[2806].Request.Path = "/subscriptions/003863bd-4775-/resourceGroups/7ddc017b-fee7-490/providers/Microsoft.ServiceFabric/clusters/a99fdad5-44/applications/4f059889-e68d-4/services"; - Requests[2807] = new DefaultHttpContext(); - Requests[2807].RequestServices = CreateServices(); - Requests[2807].Request.Method = "GET"; - Requests[2807].Request.Path = "/subscriptions/796a4e88-d218-/resourceGroups/63351c04-363d-451/providers/Microsoft.ServiceFabric/clusters/bd48212c-38/applicationTypes/4857d800-cb15-4687-/versions"; - Requests[2808] = new DefaultHttpContext(); - Requests[2808].RequestServices = CreateServices(); - Requests[2808].Request.Method = "POST"; - Requests[2808].Request.Path = "/subscriptions/de9271b1-37b9-/resourceGroups/f0d9dd42-7cee-477/providers/Microsoft.Sql/locations/43ddd522-cb2/instanceFailoverGroups/566f85ab-0eb6-455/failover"; - Requests[2809] = new DefaultHttpContext(); - Requests[2809].RequestServices = CreateServices(); - Requests[2809].Request.Method = "POST"; - Requests[2809].Request.Path = "/subscriptions/631582ff-2293-/resourceGroups/5337ebe7-25f3-45e/providers/Microsoft.Sql/locations/383bdb8a-0df/instanceFailoverGroups/38f1dc08-a9be-4b2/forceFailoverAllowDataLoss"; - Requests[2810] = new DefaultHttpContext(); - Requests[2810].RequestServices = CreateServices(); - Requests[2810].Request.Method = "GET"; - Requests[2810].Request.Path = "/subscriptions/93a4234f-3c7d-/resourceGroups/4b7fcdc9-ad40-4c6/providers/Microsoft.Sql/servers/5aadecb5-e/databases/826d2661-ccd/advisors"; - Requests[2811] = new DefaultHttpContext(); - Requests[2811].RequestServices = CreateServices(); - Requests[2811].Request.Method = "GET"; - Requests[2811].Request.Path = "/subscriptions/403b28ce-fe02-/resourceGroups/1d02c79b-10c8-405/providers/Microsoft.Sql/servers/7788e252-8/databases/535e1f95-647/auditingPolicies"; - Requests[2812] = new DefaultHttpContext(); - Requests[2812].RequestServices = CreateServices(); - Requests[2812].Request.Method = "GET"; - Requests[2812].Request.Path = "/subscriptions/5a1a9697-cb43-/resourceGroups/8b59c47d-9cad-4ce/providers/Microsoft.Sql/servers/e1d8eaf9-2/databases/12132c90-3eb/backupLongTermRetentionPolicies"; - Requests[2813] = new DefaultHttpContext(); - Requests[2813].RequestServices = CreateServices(); - Requests[2813].Request.Method = "POST"; - Requests[2813].Request.Path = "/subscriptions/4d398902-bf48-/resourceGroups/3937bba5-ddd1-4f3/providers/Microsoft.Sql/servers/a49525ef-9/databases/499fa9ae-5e6/export"; - Requests[2814] = new DefaultHttpContext(); - Requests[2814].RequestServices = CreateServices(); - Requests[2814].Request.Method = "GET"; - Requests[2814].Request.Path = "/subscriptions/d3c2ec0d-b019-/resourceGroups/4d70695a-b413-431/providers/Microsoft.Sql/servers/458f5dfc-9/databases/fb2fe210-fb0/extensions"; - Requests[2815] = new DefaultHttpContext(); - Requests[2815].RequestServices = CreateServices(); - Requests[2815].Request.Method = "GET"; - Requests[2815].Request.Path = "/subscriptions/94b5ed0c-4ff0-/resourceGroups/6fcba039-c161-4be/providers/Microsoft.Sql/servers/687c836e-4/databases/93f59c6f-508/geoBackupPolicies"; - Requests[2816] = new DefaultHttpContext(); - Requests[2816].RequestServices = CreateServices(); - Requests[2816].Request.Method = "GET"; - Requests[2816].Request.Path = "/subscriptions/d05ca290-cf2f-/resourceGroups/86bf7a0c-e86a-4e8/providers/Microsoft.Sql/servers/63ae3c81-3/databases/05fda1c2-180/metricDefinitions"; - Requests[2817] = new DefaultHttpContext(); - Requests[2817].RequestServices = CreateServices(); - Requests[2817].Request.Method = "GET"; - Requests[2817].Request.Path = "/subscriptions/5f9ba35b-5f88-/resourceGroups/bef2f8a2-a9a4-432/providers/Microsoft.Sql/servers/35a763dc-9/databases/2e3227f7-dab/metrics"; - Requests[2818] = new DefaultHttpContext(); - Requests[2818].RequestServices = CreateServices(); - Requests[2818].Request.Method = "POST"; - Requests[2818].Request.Path = "/subscriptions/5b1e7695-1362-/resourceGroups/939d3fce-760c-478/providers/Microsoft.Sql/servers/c37bf3fc-0/databases/ca9a4c62-47e/move"; - Requests[2819] = new DefaultHttpContext(); - Requests[2819].RequestServices = CreateServices(); - Requests[2819].Request.Method = "GET"; - Requests[2819].Request.Path = "/subscriptions/978646ab-b3b6-/resourceGroups/8696c230-aa08-43c/providers/Microsoft.Sql/servers/e7c817f0-f/databases/a2dde691-ffa/operations"; - Requests[2820] = new DefaultHttpContext(); - Requests[2820].RequestServices = CreateServices(); - Requests[2820].Request.Method = "POST"; - Requests[2820].Request.Path = "/subscriptions/a492ccf4-0ed8-/resourceGroups/ba9b12a9-8d77-4f6/providers/Microsoft.Sql/servers/9967dec3-0/databases/50edbc01-abc/pause"; - Requests[2821] = new DefaultHttpContext(); - Requests[2821].RequestServices = CreateServices(); - Requests[2821].Request.Method = "GET"; - Requests[2821].Request.Path = "/subscriptions/75ec910f-53e0-/resourceGroups/7fb3cdd2-8441-4c7/providers/Microsoft.Sql/servers/ffc409da-b/databases/49f5fad9-ad4/replicationLinks"; - Requests[2822] = new DefaultHttpContext(); - Requests[2822].RequestServices = CreateServices(); - Requests[2822].Request.Method = "GET"; - Requests[2822].Request.Path = "/subscriptions/dcaf6a7c-efd0-/resourceGroups/b2bf41eb-46c2-46f/providers/Microsoft.Sql/servers/131b425b-f/databases/fb224a91-dbb/restorePoints"; - Requests[2823] = new DefaultHttpContext(); - Requests[2823].RequestServices = CreateServices(); - Requests[2823].Request.Method = "POST"; - Requests[2823].Request.Path = "/subscriptions/64f648dc-7173-/resourceGroups/8ca3de04-06fc-403/providers/Microsoft.Sql/servers/e5958dd8-f/databases/49ce97d8-cac/resume"; - Requests[2824] = new DefaultHttpContext(); - Requests[2824].RequestServices = CreateServices(); - Requests[2824].Request.Method = "GET"; - Requests[2824].Request.Path = "/subscriptions/7ea5d858-a267-/resourceGroups/6fa32c46-3e17-455/providers/Microsoft.Sql/servers/f1db7f16-4/databases/daa70e13-30e/serviceTierAdvisors"; - Requests[2825] = new DefaultHttpContext(); - Requests[2825].RequestServices = CreateServices(); - Requests[2825].Request.Method = "GET"; - Requests[2825].Request.Path = "/subscriptions/5597b4d5-6597-/resourceGroups/b0810f28-ab34-404/providers/Microsoft.Sql/servers/c0ba261b-5/databases/7fc00aaf-d12/syncGroups"; - Requests[2826] = new DefaultHttpContext(); - Requests[2826].RequestServices = CreateServices(); - Requests[2826].Request.Method = "GET"; - Requests[2826].Request.Path = "/subscriptions/a3fdadb5-6f5c-/resourceGroups/636b6c53-aa06-4c9/providers/Microsoft.Sql/servers/075c2728-f/databases/349703e2-7b0/topQueries"; - Requests[2827] = new DefaultHttpContext(); - Requests[2827].RequestServices = CreateServices(); - Requests[2827].Request.Method = "GET"; - Requests[2827].Request.Path = "/subscriptions/03e3659d-fa09-/resourceGroups/c9c4e5a1-5813-439/providers/Microsoft.Sql/servers/02fb34ac-d/databases/189ece16-dd3/transparentDataEncryption"; - Requests[2828] = new DefaultHttpContext(); - Requests[2828].RequestServices = CreateServices(); - Requests[2828].Request.Method = "POST"; - Requests[2828].Request.Path = "/subscriptions/b847552c-9d14-/resourceGroups/d8e2093d-0d6a-444/providers/Microsoft.Sql/servers/131b90c0-0/databases/7a837b98-fd3/upgradeDataWarehouse"; - Requests[2829] = new DefaultHttpContext(); - Requests[2829].RequestServices = CreateServices(); - Requests[2829].Request.Method = "GET"; - Requests[2829].Request.Path = "/subscriptions/cf593e30-c978-/resourceGroups/f49c0571-5f60-4dc/providers/Microsoft.Sql/servers/1f920c41-b/databases/5a46e0b0-31c/usages"; - Requests[2830] = new DefaultHttpContext(); - Requests[2830].RequestServices = CreateServices(); - Requests[2830].Request.Method = "POST"; - Requests[2830].Request.Path = "/subscriptions/62ac6c6c-29bf-/resourceGroups/802e3dc4-7d78-408/providers/Microsoft.Sql/servers/21752cb9-b/disasterRecoveryConfiguration/f10eb220-b7dc-4585-a8a1-e4311df2a/failover"; - Requests[2831] = new DefaultHttpContext(); - Requests[2831].RequestServices = CreateServices(); - Requests[2831].Request.Method = "POST"; - Requests[2831].Request.Path = "/subscriptions/751af0e2-1fa7-/resourceGroups/a194f7d9-c98b-431/providers/Microsoft.Sql/servers/ec985a1a-4/disasterRecoveryConfiguration/16efad4b-9baa-473d-882b-f7059f49c/forceFailoverAllowDataLoss"; - Requests[2832] = new DefaultHttpContext(); - Requests[2832].RequestServices = CreateServices(); - Requests[2832].Request.Method = "POST"; - Requests[2832].Request.Path = "/subscriptions/5c2c96cf-722b-/resourceGroups/d16de2d0-ea23-449/providers/Microsoft.Sql/servers/3f3a432a-2/dnsAliases/3677c4c7-a4b/acquire"; - Requests[2833] = new DefaultHttpContext(); - Requests[2833].RequestServices = CreateServices(); - Requests[2833].Request.Method = "GET"; - Requests[2833].Request.Path = "/subscriptions/ca408602-3ad9-/resourceGroups/ebe2725d-932e-4ad/providers/Microsoft.Sql/servers/80f1a5ab-f/elasticPools/e3742f15-9b20-4/databases"; - Requests[2834] = new DefaultHttpContext(); - Requests[2834].RequestServices = CreateServices(); - Requests[2834].Request.Method = "GET"; - Requests[2834].Request.Path = "/subscriptions/bddc6b1c-df14-/resourceGroups/a2382fc9-ff0b-4b3/providers/Microsoft.Sql/servers/b0beddf9-7/elasticPools/15f8894d-1381-4/elasticPoolActivity"; - Requests[2835] = new DefaultHttpContext(); - Requests[2835].RequestServices = CreateServices(); - Requests[2835].Request.Method = "GET"; - Requests[2835].Request.Path = "/subscriptions/14b1fdd2-e68a-/resourceGroups/c74483db-08e7-4ea/providers/Microsoft.Sql/servers/afa0fd5e-a/elasticPools/80f80fe7-b3d2-4/elasticPoolDatabaseActivity"; - Requests[2836] = new DefaultHttpContext(); - Requests[2836].RequestServices = CreateServices(); - Requests[2836].Request.Method = "GET"; - Requests[2836].Request.Path = "/subscriptions/a8cd36c6-3218-/resourceGroups/477c2f07-996e-454/providers/Microsoft.Sql/servers/7503a7ee-e/elasticPools/65bfed72-06ff-4/metricDefinitions"; - Requests[2837] = new DefaultHttpContext(); - Requests[2837].RequestServices = CreateServices(); - Requests[2837].Request.Method = "GET"; - Requests[2837].Request.Path = "/subscriptions/1cacc69a-114b-/resourceGroups/a8691f8e-bb78-427/providers/Microsoft.Sql/servers/ef6aade4-c/elasticPools/97b725f7-543a-4/metrics"; - Requests[2838] = new DefaultHttpContext(); - Requests[2838].RequestServices = CreateServices(); - Requests[2838].Request.Method = "GET"; - Requests[2838].Request.Path = "/subscriptions/3a74118e-236c-/resourceGroups/53e14ec2-0d32-4e7/providers/Microsoft.Sql/servers/4e2af26a-2/elasticPools/851dcf18-7beb-4/operations"; - Requests[2839] = new DefaultHttpContext(); - Requests[2839].RequestServices = CreateServices(); - Requests[2839].Request.Method = "POST"; - Requests[2839].Request.Path = "/subscriptions/616f2ee4-f961-/resourceGroups/9009cbd8-6449-4fd/providers/Microsoft.Sql/servers/3ac2caee-f/failoverGroups/c3a0f5bd-8ebd-4df/failover"; - Requests[2840] = new DefaultHttpContext(); - Requests[2840].RequestServices = CreateServices(); - Requests[2840].Request.Method = "POST"; - Requests[2840].Request.Path = "/subscriptions/ab702966-0a8b-/resourceGroups/13a92a60-67fa-423/providers/Microsoft.Sql/servers/49da31c9-8/failoverGroups/e1858542-0e8e-4b2/forceFailoverAllowDataLoss"; - Requests[2841] = new DefaultHttpContext(); - Requests[2841].RequestServices = CreateServices(); - Requests[2841].Request.Method = "GET"; - Requests[2841].Request.Path = "/subscriptions/f4dc674e-19b6-/resourceGroups/72557c4e-b70c-4ec/providers/Microsoft.Sql/servers/270381a0-1/jobAgents/63ef2192-b91/credentials"; - Requests[2842] = new DefaultHttpContext(); - Requests[2842].RequestServices = CreateServices(); - Requests[2842].Request.Method = "GET"; - Requests[2842].Request.Path = "/subscriptions/bb986460-983c-/resourceGroups/d60f4eda-4f8a-438/providers/Microsoft.Sql/servers/31852393-b/jobAgents/ce098994-22e/executions"; - Requests[2843] = new DefaultHttpContext(); - Requests[2843].RequestServices = CreateServices(); - Requests[2843].Request.Method = "GET"; - Requests[2843].Request.Path = "/subscriptions/8fbd3c3f-a901-/resourceGroups/8f80bfcc-50e0-496/providers/Microsoft.Sql/servers/8ae5ab06-5/jobAgents/95ac962e-204/jobs"; - Requests[2844] = new DefaultHttpContext(); - Requests[2844].RequestServices = CreateServices(); - Requests[2844].Request.Method = "GET"; - Requests[2844].Request.Path = "/subscriptions/01688718-dcc7-/resourceGroups/bdf433c6-c5ad-4b5/providers/Microsoft.Sql/servers/e33b96e8-9/jobAgents/586a0cf9-9e1/targetGroups"; - Requests[2845] = new DefaultHttpContext(); - Requests[2845].RequestServices = CreateServices(); - Requests[2845].Request.Method = "GET"; - Requests[2845].Request.Path = "/subscriptions/e7d8541e-4d82-/resourceGroups/1cabe4cc-66f5-437/providers/Microsoft.Sql/servers/5cd43403-2/recommendedElasticPools/6d4066fe-8bd4-4a25-882c-97/databases"; - Requests[2846] = new DefaultHttpContext(); - Requests[2846].RequestServices = CreateServices(); - Requests[2846].Request.Method = "GET"; - Requests[2846].Request.Path = "/subscriptions/233a7186-9f8e-/resourceGroups/0023f940-c623-49f/providers/Microsoft.Sql/servers/5585ff3a-3/recommendedElasticPools/d6ff5617-2cb4-49e7-8290-ca/metrics"; - Requests[2847] = new DefaultHttpContext(); - Requests[2847].RequestServices = CreateServices(); - Requests[2847].Request.Method = "POST"; - Requests[2847].Request.Path = "/subscriptions/3262b27d-70de-/resourceGroups/4a9f9f12-2002-4c8/providers/Microsoft.Sql/servers/c9615c3b-2/syncAgents/45c73964-db42/generateKey"; - Requests[2848] = new DefaultHttpContext(); - Requests[2848].RequestServices = CreateServices(); - Requests[2848].Request.Method = "GET"; - Requests[2848].Request.Path = "/subscriptions/d3bab9c2-2875-/resourceGroups/879dc311-0e0e-47e/providers/Microsoft.Sql/servers/fc98b67f-a/syncAgents/947e46e3-7ad2/linkedDatabases"; - Requests[2849] = new DefaultHttpContext(); - Requests[2849].RequestServices = CreateServices(); - Requests[2849].Request.Method = "GET"; - Requests[2849].Request.Path = "/subscriptions/1daa71cb-5cc5-/resourcegroups/b74f19b3-149d-45e/providers/Microsoft.Storage.Admin/farms/6bb430/blobservices/5e062a18-07/metricdefinitions"; - Requests[2850] = new DefaultHttpContext(); - Requests[2850].RequestServices = CreateServices(); - Requests[2850].Request.Method = "GET"; - Requests[2850].Request.Path = "/subscriptions/50295e14-5250-/resourcegroups/04cdf30b-a154-4d7/providers/Microsoft.Storage.Admin/farms/77aaa6/blobservices/df8f616c-ce/metrics"; - Requests[2851] = new DefaultHttpContext(); - Requests[2851].RequestServices = CreateServices(); - Requests[2851].Request.Method = "GET"; - Requests[2851].Request.Path = "/subscriptions/48038655-2df4-/resourcegroups/17b5fe33-ccd0-4ec/providers/Microsoft.Storage.Admin/farms/0985b8/queueservices/4e58076c-93/metricdefinitions"; - Requests[2852] = new DefaultHttpContext(); - Requests[2852].RequestServices = CreateServices(); - Requests[2852].Request.Method = "GET"; - Requests[2852].Request.Path = "/subscriptions/f8a70024-8cd5-/resourcegroups/27c28825-af54-4e9/providers/Microsoft.Storage.Admin/farms/43e9e1/queueservices/c8b2d9bd-00/metrics"; - Requests[2853] = new DefaultHttpContext(); - Requests[2853].RequestServices = CreateServices(); - Requests[2853].Request.Method = "GET"; - Requests[2853].Request.Path = "/subscriptions/281db66e-e6b7-/resourcegroups/ba6d35eb-d6e7-477/providers/Microsoft.Storage.Admin/farms/171906/shares/6d9595cc-/containers"; - Requests[2854] = new DefaultHttpContext(); - Requests[2854].RequestServices = CreateServices(); - Requests[2854].Request.Method = "GET"; - Requests[2854].Request.Path = "/subscriptions/b03e7162-c7a4-/resourcegroups/826b4758-0354-4df/providers/Microsoft.Storage.Admin/farms/ef2b92/shares/1db84109-/destinationshares"; - Requests[2855] = new DefaultHttpContext(); - Requests[2855].RequestServices = CreateServices(); - Requests[2855].Request.Method = "GET"; - Requests[2855].Request.Path = "/subscriptions/ab1c3314-9463-/resourcegroups/58520155-9327-4fe/providers/Microsoft.Storage.Admin/farms/431c10/shares/ecd27f05-/metricdefinitions"; - Requests[2856] = new DefaultHttpContext(); - Requests[2856].RequestServices = CreateServices(); - Requests[2856].Request.Method = "GET"; - Requests[2856].Request.Path = "/subscriptions/2f51d525-52b2-/resourcegroups/59ca9b80-d2f1-447/providers/Microsoft.Storage.Admin/farms/55cb80/shares/2dde7026-/metrics"; - Requests[2857] = new DefaultHttpContext(); - Requests[2857].RequestServices = CreateServices(); - Requests[2857].Request.Method = "POST"; - Requests[2857].Request.Path = "/subscriptions/d022e588-4964-/resourcegroups/c4a6e085-6a6a-4c8/providers/Microsoft.Storage.Admin/farms/45ac96/shares/2cd6939b-/migrate"; - Requests[2858] = new DefaultHttpContext(); - Requests[2858].RequestServices = CreateServices(); - Requests[2858].Request.Method = "GET"; - Requests[2858].Request.Path = "/subscriptions/0ea9c3e4-3a42-/resourcegroups/926db905-a0fc-484/providers/Microsoft.Storage.Admin/farms/90a14b/tableservices/5f8c780e-cb/metricdefinitions"; - Requests[2859] = new DefaultHttpContext(); - Requests[2859].RequestServices = CreateServices(); - Requests[2859].Request.Method = "GET"; - Requests[2859].Request.Path = "/subscriptions/b3fe55da-ea7e-/resourcegroups/279e9118-7129-453/providers/Microsoft.Storage.Admin/farms/d4c16e/tableservices/72ea3d4f-37/metrics"; - Requests[2860] = new DefaultHttpContext(); - Requests[2860].RequestServices = CreateServices(); - Requests[2860].Request.Method = "POST"; - Requests[2860].Request.Path = "/subscriptions/035f3de1-a83a-/resourceGroups/1dd0e306-9794-437/providers/Microsoft.StorSimple/managers/8df3fe74-8a/devices/ea79f1ba-f/authorizeForServiceEncryptionKeyRollover"; - Requests[2861] = new DefaultHttpContext(); - Requests[2861].RequestServices = CreateServices(); - Requests[2861].Request.Method = "GET"; - Requests[2861].Request.Path = "/subscriptions/22e6a05c-9e76-/resourceGroups/eaa36012-3737-40c/providers/Microsoft.StorSimple/managers/f964f0be-6f/devices/2d366138-9/backupPolicies"; - Requests[2862] = new DefaultHttpContext(); - Requests[2862].RequestServices = CreateServices(); - Requests[2862].Request.Method = "GET"; - Requests[2862].Request.Path = "/subscriptions/96ecc72e-9f3d-/resourceGroups/df6a6c88-3419-471/providers/Microsoft.StorSimple/managers/62063046-f5/devices/b4b9e331-5/backups"; - Requests[2863] = new DefaultHttpContext(); - Requests[2863].RequestServices = CreateServices(); - Requests[2863].Request.Method = "POST"; - Requests[2863].Request.Path = "/subscriptions/9be2e41b-89a5-/resourceGroups/bf6295d9-6c33-438/providers/Microsoft.StorSimple/managers/50145ef8-dd/devices/aa1a389c-3/deactivate"; - Requests[2864] = new DefaultHttpContext(); - Requests[2864].RequestServices = CreateServices(); - Requests[2864].Request.Method = "GET"; - Requests[2864].Request.Path = "/subscriptions/e3935674-fe1c-/resourceGroups/a46f4354-6150-4d3/providers/Microsoft.StorSimple/managers/20e976cb-5c/devices/2ece05cd-1/hardwareComponentGroups"; - Requests[2865] = new DefaultHttpContext(); - Requests[2865].RequestServices = CreateServices(); - Requests[2865].Request.Method = "POST"; - Requests[2865].Request.Path = "/subscriptions/13f49d11-7a6b-/resourceGroups/4b870d97-6e1a-406/providers/Microsoft.StorSimple/managers/83e0aa67-e8/devices/e3d36d4a-e/installUpdates"; - Requests[2866] = new DefaultHttpContext(); - Requests[2866].RequestServices = CreateServices(); - Requests[2866].Request.Method = "GET"; - Requests[2866].Request.Path = "/subscriptions/4c986cca-37d0-/resourceGroups/56d3e43a-a852-4d7/providers/Microsoft.StorSimple/managers/184bcded-d1/devices/78ea6bee-3/jobs"; - Requests[2867] = new DefaultHttpContext(); - Requests[2867].RequestServices = CreateServices(); - Requests[2867].Request.Method = "POST"; - Requests[2867].Request.Path = "/subscriptions/303af855-9ad8-/resourceGroups/c316a57a-3bb8-4ea/providers/Microsoft.StorSimple/managers/ac58741b-80/devices/5a76010d-a/listFailoverSets"; - Requests[2868] = new DefaultHttpContext(); - Requests[2868].RequestServices = CreateServices(); - Requests[2868].Request.Method = "GET"; - Requests[2868].Request.Path = "/subscriptions/e52dfe05-73da-/resourceGroups/642a2d3c-ef86-40d/providers/Microsoft.StorSimple/managers/27efb4e4-cd/devices/f8a5eb35-0/metrics"; - Requests[2869] = new DefaultHttpContext(); - Requests[2869].RequestServices = CreateServices(); - Requests[2869].Request.Method = "GET"; - Requests[2869].Request.Path = "/subscriptions/e5b6fb0f-7695-/resourceGroups/be8a84b0-1ce7-4ee/providers/Microsoft.StorSimple/managers/9ca455d2-ee/devices/13235126-a/metricsDefinitions"; - Requests[2870] = new DefaultHttpContext(); - Requests[2870].RequestServices = CreateServices(); - Requests[2870].Request.Method = "POST"; - Requests[2870].Request.Path = "/subscriptions/ab5de3cd-d959-/resourceGroups/11e96c0e-e7a6-455/providers/Microsoft.StorSimple/managers/99d60176-83/devices/a2285e7d-1/publicEncryptionKey"; - Requests[2871] = new DefaultHttpContext(); - Requests[2871].RequestServices = CreateServices(); - Requests[2871].Request.Method = "POST"; - Requests[2871].Request.Path = "/subscriptions/10069333-83bd-/resourceGroups/9fa0fb51-35f7-42a/providers/Microsoft.StorSimple/managers/fda8ce25-6b/devices/3a7e4a80-3/scanForUpdates"; - Requests[2872] = new DefaultHttpContext(); - Requests[2872].RequestServices = CreateServices(); - Requests[2872].Request.Method = "POST"; - Requests[2872].Request.Path = "/subscriptions/5294d077-15e1-/resourceGroups/82f3599d-3f9d-41b/providers/Microsoft.StorSimple/managers/6bb7c91f-06/devices/63a7fe70-1/sendTestAlertEmail"; - Requests[2873] = new DefaultHttpContext(); - Requests[2873].RequestServices = CreateServices(); - Requests[2873].Request.Method = "GET"; - Requests[2873].Request.Path = "/subscriptions/4fbf8c57-9a7c-/resourceGroups/c82475cf-2e87-42f/providers/Microsoft.StorSimple/managers/c1812d4e-b4/devices/9f8484a1-e/volumeContainers"; - Requests[2874] = new DefaultHttpContext(); - Requests[2874].RequestServices = CreateServices(); - Requests[2874].Request.Method = "GET"; - Requests[2874].Request.Path = "/subscriptions/bd96ebfb-dd36-/resourceGroups/00383f9a-201c-4a2/providers/Microsoft.StorSimple/managers/bb72261d-ca/devices/47ff3046-8/volumes"; - Requests[2875] = new DefaultHttpContext(); - Requests[2875].RequestServices = CreateServices(); - Requests[2875].Request.Method = "POST"; - Requests[2875].Request.Path = "/subscriptions/7a64102e-612f-/resourceGroups/52c2c18f-802b-4a7/providers/Microsoft.StorSimple/managers/1f62ad77-71/devices/eef19fc7-b31d-48/failover"; - Requests[2876] = new DefaultHttpContext(); - Requests[2876].RequestServices = CreateServices(); - Requests[2876].Request.Method = "POST"; - Requests[2876].Request.Path = "/subscriptions/ce140f3f-c460-/resourceGroups/eb5c5244-dda8-41f/providers/Microsoft.StorSimple/managers/e90b5422-7e/devices/a429364f-5e1b-4f/listFailoverTargets"; - Requests[2877] = new DefaultHttpContext(); - Requests[2877].RequestServices = CreateServices(); - Requests[2877].Request.Method = "POST"; - Requests[2877].Request.Path = "/subscriptions/79ed76bc-962a-/resourcegroups/a7db1a5c-0e46-481/providers/Microsoft.StreamAnalytics/streamingjobs/db78bd7/functions/045c64eb-222/RetrieveDefaultDefinition"; - Requests[2878] = new DefaultHttpContext(); - Requests[2878].RequestServices = CreateServices(); - Requests[2878].Request.Method = "POST"; - Requests[2878].Request.Path = "/subscriptions/e6034e4e-c305-/resourcegroups/d87f9dbc-e9cb-463/providers/Microsoft.StreamAnalytics/streamingjobs/0cdb8cb/functions/7d5257b7-226/test"; - Requests[2879] = new DefaultHttpContext(); - Requests[2879].RequestServices = CreateServices(); - Requests[2879].Request.Method = "POST"; - Requests[2879].Request.Path = "/subscriptions/2bbf4b3c-d3cb-/resourcegroups/35c618a4-a6bc-4ed/providers/Microsoft.StreamAnalytics/streamingjobs/4155bf4/inputs/4d0bf789-/test"; - Requests[2880] = new DefaultHttpContext(); - Requests[2880].RequestServices = CreateServices(); - Requests[2880].Request.Method = "POST"; - Requests[2880].Request.Path = "/subscriptions/9ada051a-60f2-/resourcegroups/b4f90a75-4082-4c8/providers/Microsoft.StreamAnalytics/streamingjobs/242c4e2/outputs/19cf70ee-a/test"; - Requests[2881] = new DefaultHttpContext(); - Requests[2881].RequestServices = CreateServices(); - Requests[2881].Request.Method = "POST"; - Requests[2881].Request.Path = "/subscriptions/42e4fc70-f92e-/resourcegroups/d6fed138-f9df-4ea/providers/Microsoft.Update.Admin/updateLocations/efce7cc5-7aa4-/updates/aed3df52-a/Apply"; - Requests[2882] = new DefaultHttpContext(); - Requests[2882].RequestServices = CreateServices(); - Requests[2882].Request.Method = "GET"; - Requests[2882].Request.Path = "/subscriptions/f6863c52-6641-/resourcegroups/efd46449-9dd6-49b/providers/Microsoft.Update.Admin/updateLocations/674d88e5-099d-/updates/3ef2722c-5/updateRuns"; - Requests[2883] = new DefaultHttpContext(); - Requests[2883].RequestServices = CreateServices(); - Requests[2883].Request.Method = "GET"; - Requests[2883].Request.Path = "/subscriptions/203dd3f9-46f6-/resourceGroups/c30275ba-47f2-496/providers/Microsoft.Web/hostingEnvironments/aab9d/workerPools/c42377c7-a039-/metricdefinitions"; - Requests[2884] = new DefaultHttpContext(); - Requests[2884].RequestServices = CreateServices(); - Requests[2884].Request.Method = "GET"; - Requests[2884].Request.Path = "/subscriptions/0e7b668b-32e9-/resourceGroups/37393f55-bb2b-44b/providers/Microsoft.Web/hostingEnvironments/aeb27/workerPools/0e11281c-379d-/metrics"; - Requests[2885] = new DefaultHttpContext(); - Requests[2885].RequestServices = CreateServices(); - Requests[2885].Request.Method = "GET"; - Requests[2885].Request.Path = "/subscriptions/7db24aef-f952-/resourceGroups/c554faf1-5105-43a/providers/Microsoft.Web/hostingEnvironments/1e884/workerPools/49cf7717-6a95-/skus"; - Requests[2886] = new DefaultHttpContext(); - Requests[2886].RequestServices = CreateServices(); - Requests[2886].Request.Method = "GET"; - Requests[2886].Request.Path = "/subscriptions/21295e59-e2b2-/resourceGroups/6a67edb7-96fa-47d/providers/Microsoft.Web/hostingEnvironments/c54f3/workerPools/5c9e0d24-d782-/usages"; - Requests[2887] = new DefaultHttpContext(); - Requests[2887].RequestServices = CreateServices(); - Requests[2887].Request.Method = "GET"; - Requests[2887].Request.Path = "/subscriptions/f6cde3af-000b-/resourceGroups/e1b09659-ff0a-4b7/providers/Microsoft.Web/serverfarms/9b87c/virtualNetworkConnections/d93f98ea/routes"; - Requests[2888] = new DefaultHttpContext(); - Requests[2888].RequestServices = CreateServices(); - Requests[2888].Request.Method = "POST"; - Requests[2888].Request.Path = "/subscriptions/65473a76-3969-/resourceGroups/2b2fc8e1-67e1-45c/providers/Microsoft.Web/serverfarms/71b31/workers/da77e25d-c/reboot"; - Requests[2889] = new DefaultHttpContext(); - Requests[2889].RequestServices = CreateServices(); - Requests[2889].Request.Method = "POST"; - Requests[2889].Request.Path = "/subscriptions/8af605c1-27a0-/resourceGroups/3e85e283-91da-403/providers/Microsoft.Web/sites/bfcb1/backups/6ebb5f05/list"; - Requests[2890] = new DefaultHttpContext(); - Requests[2890].RequestServices = CreateServices(); - Requests[2890].Request.Method = "POST"; - Requests[2890].Request.Path = "/subscriptions/9b40556f-9035-/resourceGroups/1cc0717a-bc42-466/providers/Microsoft.Web/sites/81794/backups/a55c8738/restore"; - Requests[2891] = new DefaultHttpContext(); - Requests[2891].RequestServices = CreateServices(); - Requests[2891].Request.Method = "POST"; - Requests[2891].Request.Path = "/subscriptions/84b1b9ff-0467-/resourceGroups/3665313a-2dc8-416/providers/Microsoft.Web/sites/a4a1b/continuouswebjobs/96dcd63b-5/start"; - Requests[2892] = new DefaultHttpContext(); - Requests[2892].RequestServices = CreateServices(); - Requests[2892].Request.Method = "POST"; - Requests[2892].Request.Path = "/subscriptions/d1fd12cd-7691-/resourceGroups/318e4658-5d4c-426/providers/Microsoft.Web/sites/0feb5/continuouswebjobs/68a00084-d/stop"; - Requests[2893] = new DefaultHttpContext(); - Requests[2893].RequestServices = CreateServices(); - Requests[2893].Request.Method = "GET"; - Requests[2893].Request.Path = "/subscriptions/34d04af3-0d02-/resourceGroups/fa58c7ae-cec9-45f/providers/Microsoft.Web/sites/f4a54/deployments/9ba35/log"; - Requests[2894] = new DefaultHttpContext(); - Requests[2894].RequestServices = CreateServices(); - Requests[2894].Request.Method = "POST"; - Requests[2894].Request.Path = "/subscriptions/d2090f84-d7b5-/resourceGroups/6b164d62-0959-444/providers/Microsoft.Web/sites/07f4f/functions/c5a392f2-56a/listsecrets"; - Requests[2895] = new DefaultHttpContext(); - Requests[2895].RequestServices = CreateServices(); - Requests[2895].Request.Method = "GET"; - Requests[2895].Request.Path = "/subscriptions/55fea9cb-9950-/resourceGroups/0eafbebe-4847-44c/providers/Microsoft.Web/sites/e7254/instances/8c9dd6c4-0/deployments"; - Requests[2896] = new DefaultHttpContext(); - Requests[2896].RequestServices = CreateServices(); - Requests[2896].Request.Method = "GET"; - Requests[2896].Request.Path = "/subscriptions/75b7f3cd-26d8-/resourceGroups/83631384-5103-448/providers/Microsoft.Web/sites/b33bc/instances/397bb0a9-c/processes"; - Requests[2897] = new DefaultHttpContext(); - Requests[2897].RequestServices = CreateServices(); - Requests[2897].Request.Method = "GET"; - Requests[2897].Request.Path = "/subscriptions/90162705-6949-/resourceGroups/1ecc7103-1ff6-421/providers/Microsoft.Web/sites/6d183/processes/aee070da-/dump"; - Requests[2898] = new DefaultHttpContext(); - Requests[2898].RequestServices = CreateServices(); - Requests[2898].Request.Method = "GET"; - Requests[2898].Request.Path = "/subscriptions/a6623512-d57c-/resourceGroups/ca1511e6-b95e-47b/providers/Microsoft.Web/sites/f1e10/processes/55c61dcb-/modules"; - Requests[2899] = new DefaultHttpContext(); - Requests[2899].RequestServices = CreateServices(); - Requests[2899].Request.Method = "GET"; - Requests[2899].Request.Path = "/subscriptions/b0188764-eadd-/resourceGroups/c1d6aa77-2a02-4e4/providers/Microsoft.Web/sites/d8583/processes/208588c6-/threads"; - Requests[2900] = new DefaultHttpContext(); - Requests[2900].RequestServices = CreateServices(); - Requests[2900].Request.Method = "GET"; - Requests[2900].Request.Path = "/subscriptions/88f04956-654c-/resourceGroups/dc8461b4-1739-4f9/providers/Microsoft.Web/sites/43ef6/slots/ddd96/analyzeCustomHostname"; - Requests[2901] = new DefaultHttpContext(); - Requests[2901].RequestServices = CreateServices(); - Requests[2901].Request.Method = "POST"; - Requests[2901].Request.Path = "/subscriptions/82757803-df0a-/resourceGroups/b33d3074-70ca-4d7/providers/Microsoft.Web/sites/9a077/slots/f88cb/applySlotConfig"; - Requests[2902] = new DefaultHttpContext(); - Requests[2902].RequestServices = CreateServices(); - Requests[2902].Request.Method = "POST"; - Requests[2902].Request.Path = "/subscriptions/b7e25a90-aa87-/resourceGroups/2c9f226f-aae2-434/providers/Microsoft.Web/sites/d9643/slots/73bf9/backup"; - Requests[2903] = new DefaultHttpContext(); - Requests[2903].RequestServices = CreateServices(); - Requests[2903].Request.Method = "GET"; - Requests[2903].Request.Path = "/subscriptions/d2adb2e0-9eed-/resourceGroups/1bf68b27-a556-402/providers/Microsoft.Web/sites/af8eb/slots/0b399/backups"; - Requests[2904] = new DefaultHttpContext(); - Requests[2904].RequestServices = CreateServices(); - Requests[2904].Request.Method = "GET"; - Requests[2904].Request.Path = "/subscriptions/19090c0a-a7b1-/resourceGroups/c8626a59-dd6d-4ab/providers/Microsoft.Web/sites/6ebf2/slots/35f24/config"; - Requests[2905] = new DefaultHttpContext(); - Requests[2905].RequestServices = CreateServices(); - Requests[2905].Request.Method = "POST"; - Requests[2905].Request.Path = "/subscriptions/54840c18-182f-/resourceGroups/cfd1b544-894d-4fa/providers/Microsoft.Web/sites/90d8d/slots/eb607/containerlogs"; - Requests[2906] = new DefaultHttpContext(); - Requests[2906].RequestServices = CreateServices(); - Requests[2906].Request.Method = "GET"; - Requests[2906].Request.Path = "/subscriptions/0b47b6ab-f11c-/resourceGroups/23719840-0797-460/providers/Microsoft.Web/sites/0febd/slots/bc5a8/continuouswebjobs"; - Requests[2907] = new DefaultHttpContext(); - Requests[2907].RequestServices = CreateServices(); - Requests[2907].Request.Method = "GET"; - Requests[2907].Request.Path = "/subscriptions/1969d3e1-644e-/resourceGroups/1c712067-e3ec-464/providers/Microsoft.Web/sites/33286/slots/64780/deployments"; - Requests[2908] = new DefaultHttpContext(); - Requests[2908].RequestServices = CreateServices(); - Requests[2908].Request.Method = "GET"; - Requests[2908].Request.Path = "/subscriptions/058c3aa1-c524-/resourceGroups/a0086e84-263a-4b1/providers/Microsoft.Web/sites/ab3a1/slots/48613/domainOwnershipIdentifiers"; - Requests[2909] = new DefaultHttpContext(); - Requests[2909].RequestServices = CreateServices(); - Requests[2909].Request.Method = "GET"; - Requests[2909].Request.Path = "/subscriptions/a67f89c7-1ea8-/resourceGroups/bab56720-a60f-470/providers/Microsoft.Web/sites/88380/slots/48e71/functions"; - Requests[2910] = new DefaultHttpContext(); - Requests[2910].RequestServices = CreateServices(); - Requests[2910].Request.Method = "GET"; - Requests[2910].Request.Path = "/subscriptions/021f7ffc-372b-/resourceGroups/3b76b4d0-e726-4bb/providers/Microsoft.Web/sites/11622/slots/a36ac/hostNameBindings"; - Requests[2911] = new DefaultHttpContext(); - Requests[2911].RequestServices = CreateServices(); - Requests[2911].Request.Method = "GET"; - Requests[2911].Request.Path = "/subscriptions/c53c0317-8fdc-/resourceGroups/800ea246-a4fe-411/providers/Microsoft.Web/sites/7b226/slots/c2ff2/hybridconnection"; - Requests[2912] = new DefaultHttpContext(); - Requests[2912].RequestServices = CreateServices(); - Requests[2912].Request.Method = "GET"; - Requests[2912].Request.Path = "/subscriptions/35880b7a-2570-/resourceGroups/744b543a-38e3-464/providers/Microsoft.Web/sites/8e992/slots/57962/hybridConnectionRelays"; - Requests[2913] = new DefaultHttpContext(); - Requests[2913].RequestServices = CreateServices(); - Requests[2913].Request.Method = "GET"; - Requests[2913].Request.Path = "/subscriptions/227eace7-7be5-/resourceGroups/45b61ed6-67ca-44a/providers/Microsoft.Web/sites/85b66/slots/cbc7f/instances"; - Requests[2914] = new DefaultHttpContext(); - Requests[2914].RequestServices = CreateServices(); - Requests[2914].Request.Method = "POST"; - Requests[2914].Request.Path = "/subscriptions/6cee3282-6683-/resourceGroups/0dd536a4-2455-414/providers/Microsoft.Web/sites/bcc65/slots/525a0/iscloneable"; - Requests[2915] = new DefaultHttpContext(); - Requests[2915].RequestServices = CreateServices(); - Requests[2915].Request.Method = "POST"; - Requests[2915].Request.Path = "/subscriptions/df53b19a-5c08-/resourceGroups/451b14e6-091f-4c7/providers/Microsoft.Web/sites/3d39b/slots/2c83f/listsyncfunctiontriggerstatus"; - Requests[2916] = new DefaultHttpContext(); - Requests[2916].RequestServices = CreateServices(); - Requests[2916].Request.Method = "GET"; - Requests[2916].Request.Path = "/subscriptions/1b045d54-5d4b-/resourceGroups/1c4d4fbb-78ae-42a/providers/Microsoft.Web/sites/127cd/slots/4458a/metricdefinitions"; - Requests[2917] = new DefaultHttpContext(); - Requests[2917].RequestServices = CreateServices(); - Requests[2917].Request.Method = "GET"; - Requests[2917].Request.Path = "/subscriptions/63a38feb-8042-/resourceGroups/668a5bc4-333a-497/providers/Microsoft.Web/sites/febcd/slots/4b568/metrics"; - Requests[2918] = new DefaultHttpContext(); - Requests[2918].RequestServices = CreateServices(); - Requests[2918].Request.Method = "POST"; - Requests[2918].Request.Path = "/subscriptions/4c97f308-aadd-/resourceGroups/5a03e727-5ac8-4f1/providers/Microsoft.Web/sites/90113/slots/e3141/newpassword"; - Requests[2919] = new DefaultHttpContext(); - Requests[2919].RequestServices = CreateServices(); - Requests[2919].Request.Method = "GET"; - Requests[2919].Request.Path = "/subscriptions/9a06b351-2db0-/resourceGroups/65efc537-b721-41d/providers/Microsoft.Web/sites/9ab18/slots/3f270/perfcounters"; - Requests[2920] = new DefaultHttpContext(); - Requests[2920].RequestServices = CreateServices(); - Requests[2920].Request.Method = "GET"; - Requests[2920].Request.Path = "/subscriptions/edc11cc4-60ad-/resourceGroups/2aa89909-ffa6-421/providers/Microsoft.Web/sites/5f979/slots/9e919/phplogging"; - Requests[2921] = new DefaultHttpContext(); - Requests[2921].RequestServices = CreateServices(); - Requests[2921].Request.Method = "GET"; - Requests[2921].Request.Path = "/subscriptions/f9a773f2-9329-/resourceGroups/ffb33bd4-b9aa-498/providers/Microsoft.Web/sites/2dbed/slots/7cf12/premieraddons"; - Requests[2922] = new DefaultHttpContext(); - Requests[2922].RequestServices = CreateServices(); - Requests[2922].Request.Method = "GET"; - Requests[2922].Request.Path = "/subscriptions/4d4252a7-8d19-/resourceGroups/6f06cbe7-b51a-453/providers/Microsoft.Web/sites/24207/slots/3c9d7/processes"; - Requests[2923] = new DefaultHttpContext(); - Requests[2923].RequestServices = CreateServices(); - Requests[2923].Request.Method = "GET"; - Requests[2923].Request.Path = "/subscriptions/865af1fb-4b18-/resourceGroups/fd5834fa-2f67-41d/providers/Microsoft.Web/sites/3f84b/slots/b281f/publicCertificates"; - Requests[2924] = new DefaultHttpContext(); - Requests[2924].RequestServices = CreateServices(); - Requests[2924].Request.Method = "POST"; - Requests[2924].Request.Path = "/subscriptions/dbd142a6-6c40-/resourceGroups/127e4e15-e6dd-48f/providers/Microsoft.Web/sites/14d7d/slots/fb533/publishxml"; - Requests[2925] = new DefaultHttpContext(); - Requests[2925].RequestServices = CreateServices(); - Requests[2925].Request.Method = "POST"; - Requests[2925].Request.Path = "/subscriptions/d198be7e-5abf-/resourceGroups/b90733ff-5d11-438/providers/Microsoft.Web/sites/c4468/slots/375e8/recover"; - Requests[2926] = new DefaultHttpContext(); - Requests[2926].RequestServices = CreateServices(); - Requests[2926].Request.Method = "POST"; - Requests[2926].Request.Path = "/subscriptions/71e68862-9b81-/resourceGroups/88a854ad-f99a-4d4/providers/Microsoft.Web/sites/31193/slots/a2a04/resetSlotConfig"; - Requests[2927] = new DefaultHttpContext(); - Requests[2927].RequestServices = CreateServices(); - Requests[2927].Request.Method = "GET"; - Requests[2927].Request.Path = "/subscriptions/39e701a3-4fda-/resourceGroups/ba695903-d9df-445/providers/Microsoft.Web/sites/5db7b/slots/7e22f/resourceHealthMetadata"; - Requests[2928] = new DefaultHttpContext(); - Requests[2928].RequestServices = CreateServices(); - Requests[2928].Request.Method = "POST"; - Requests[2928].Request.Path = "/subscriptions/450500fc-8e89-/resourceGroups/d48930a2-33b6-419/providers/Microsoft.Web/sites/1a816/slots/352a5/restart"; - Requests[2929] = new DefaultHttpContext(); - Requests[2929].RequestServices = CreateServices(); - Requests[2929].Request.Method = "POST"; - Requests[2929].Request.Path = "/subscriptions/780c5936-f5f0-/resourceGroups/8569bdcc-b980-4a5/providers/Microsoft.Web/sites/a0c0a/slots/bd85d/restoreFromBackupBlob"; - Requests[2930] = new DefaultHttpContext(); - Requests[2930].RequestServices = CreateServices(); - Requests[2930].Request.Method = "POST"; - Requests[2930].Request.Path = "/subscriptions/1588c4c6-cb64-/resourceGroups/ce2253ef-2046-4df/providers/Microsoft.Web/sites/a6682/slots/0e532/restoreFromDeletedApp"; - Requests[2931] = new DefaultHttpContext(); - Requests[2931].RequestServices = CreateServices(); - Requests[2931].Request.Method = "POST"; - Requests[2931].Request.Path = "/subscriptions/276b8f0c-7a0c-/resourceGroups/eb7dd802-cd6a-4cf/providers/Microsoft.Web/sites/662d3/slots/4597c/restoreSnapshot"; - Requests[2932] = new DefaultHttpContext(); - Requests[2932].RequestServices = CreateServices(); - Requests[2932].Request.Method = "GET"; - Requests[2932].Request.Path = "/subscriptions/526d6b87-3594-/resourceGroups/543764ca-e05e-4a0/providers/Microsoft.Web/sites/25433/slots/a649b/siteextensions"; - Requests[2933] = new DefaultHttpContext(); - Requests[2933].RequestServices = CreateServices(); - Requests[2933].Request.Method = "POST"; - Requests[2933].Request.Path = "/subscriptions/cf961d50-0142-/resourceGroups/31e45165-4bf4-444/providers/Microsoft.Web/sites/7200a/slots/6e497/slotsdiffs"; - Requests[2934] = new DefaultHttpContext(); - Requests[2934].RequestServices = CreateServices(); - Requests[2934].Request.Method = "POST"; - Requests[2934].Request.Path = "/subscriptions/c181eb41-58a4-/resourceGroups/61e770c2-68e2-401/providers/Microsoft.Web/sites/56f96/slots/41c00/slotsswap"; - Requests[2935] = new DefaultHttpContext(); - Requests[2935].RequestServices = CreateServices(); - Requests[2935].Request.Method = "GET"; - Requests[2935].Request.Path = "/subscriptions/c7419565-e7cc-/resourceGroups/01f0b3b5-2d4b-42a/providers/Microsoft.Web/sites/9ffe0/slots/277ca/snapshots"; - Requests[2936] = new DefaultHttpContext(); - Requests[2936].RequestServices = CreateServices(); - Requests[2936].Request.Method = "POST"; - Requests[2936].Request.Path = "/subscriptions/cb3771bd-a417-/resourceGroups/295864f1-b87f-4cc/providers/Microsoft.Web/sites/b632b/slots/5ec14/start"; - Requests[2937] = new DefaultHttpContext(); - Requests[2937].RequestServices = CreateServices(); - Requests[2937].Request.Method = "POST"; - Requests[2937].Request.Path = "/subscriptions/99aa2ead-a446-/resourceGroups/642fe8ee-168b-43c/providers/Microsoft.Web/sites/f248d/slots/30d66/stop"; - Requests[2938] = new DefaultHttpContext(); - Requests[2938].RequestServices = CreateServices(); - Requests[2938].Request.Method = "POST"; - Requests[2938].Request.Path = "/subscriptions/3aff382f-67cb-/resourceGroups/2899d9b0-62d5-452/providers/Microsoft.Web/sites/94d88/slots/46612/sync"; - Requests[2939] = new DefaultHttpContext(); - Requests[2939].RequestServices = CreateServices(); - Requests[2939].Request.Method = "POST"; - Requests[2939].Request.Path = "/subscriptions/8fd066db-6f53-/resourceGroups/05b8f82c-7ba3-4c0/providers/Microsoft.Web/sites/3317d/slots/cbfe2/syncfunctiontriggers"; - Requests[2940] = new DefaultHttpContext(); - Requests[2940].RequestServices = CreateServices(); - Requests[2940].Request.Method = "GET"; - Requests[2940].Request.Path = "/subscriptions/b4b74a1b-9867-/resourceGroups/20d57cd8-93a7-48f/providers/Microsoft.Web/sites/c2b8c/slots/575bd/triggeredwebjobs"; - Requests[2941] = new DefaultHttpContext(); - Requests[2941].RequestServices = CreateServices(); - Requests[2941].Request.Method = "GET"; - Requests[2941].Request.Path = "/subscriptions/d6a9e0a2-8c73-/resourceGroups/824bf856-c788-433/providers/Microsoft.Web/sites/b0b84/slots/11e69/usages"; - Requests[2942] = new DefaultHttpContext(); - Requests[2942].RequestServices = CreateServices(); - Requests[2942].Request.Method = "GET"; - Requests[2942].Request.Path = "/subscriptions/fe21d00b-5cdf-/resourceGroups/05f38fac-08af-465/providers/Microsoft.Web/sites/eb52e/slots/59432/virtualNetworkConnections"; - Requests[2943] = new DefaultHttpContext(); - Requests[2943].RequestServices = CreateServices(); - Requests[2943].Request.Method = "GET"; - Requests[2943].Request.Path = "/subscriptions/56773e42-3828-/resourceGroups/c8487312-28fc-458/providers/Microsoft.Web/sites/d546f/slots/9fa9c/webjobs"; - Requests[2944] = new DefaultHttpContext(); - Requests[2944].RequestServices = CreateServices(); - Requests[2944].Request.Method = "GET"; - Requests[2944].Request.Path = "/subscriptions/e1645937-3d5c-/resourceGroups/88aea403-1881-44e/providers/Microsoft.Web/sites/ba516/triggeredwebjobs/5f29834d-b/history"; - Requests[2945] = new DefaultHttpContext(); - Requests[2945].RequestServices = CreateServices(); - Requests[2945].Request.Method = "POST"; - Requests[2945].Request.Path = "/subscriptions/51a6cd61-24ce-/resourceGroups/454f7fc6-3086-4f0/providers/Microsoft.Web/sites/e290f/triggeredwebjobs/7a1e3c56-6/run"; - Requests[2946] = new DefaultHttpContext(); - Requests[2946].RequestServices = CreateServices(); - Requests[2946].Request.Method = "GET"; - Requests[2946].Request.Path = "/subscriptions/e275f4ec-6b75-/resourceGroups/1f27413b-9ac4-483/providers/Microsoft.Web/sites/22969643/diagnostics/d72678d5-af1a-44d0/analyses"; - Requests[2947] = new DefaultHttpContext(); - Requests[2947].RequestServices = CreateServices(); - Requests[2947].Request.Method = "GET"; - Requests[2947].Request.Path = "/subscriptions/9be516e3-a8f3-/resourceGroups/b790b834-9b7f-46b/providers/Microsoft.Web/sites/8be27e75/diagnostics/743815a6-8f32-45ca/detectors"; - Requests[2948] = new DefaultHttpContext(); - Requests[2948].RequestServices = CreateServices(); - Requests[2948].Request.Method = "POST"; - Requests[2948].Request.Path = "/subscriptions/a9d1d875-c50e-/resourceGroups/0b467861-0570-46c/providers/Microsoft.Web/sites/d0a26d8f/recommendations/a15ac/disable"; - Requests[2949] = new DefaultHttpContext(); - Requests[2949].RequestServices = CreateServices(); - Requests[2949].Request.Method = "GET"; - Requests[2949].Request.Path = "/subscriptions/36bd64a5-6c93-/resourceGroups/8088a29f-04f4-4c7/providers/Microsoft.Web/sites/d49f3730/slots/7ac65/detectors"; - Requests[2950] = new DefaultHttpContext(); - Requests[2950].RequestServices = CreateServices(); - Requests[2950].Request.Method = "GET"; - Requests[2950].Request.Path = "/subscriptions/ec11dc82-2e49-/resourceGroups/47cf9e14-15b7-43c/providers/Microsoft.Web/sites/550274fc/slots/ead28/diagnostics"; - Requests[2951] = new DefaultHttpContext(); - Requests[2951].RequestServices = CreateServices(); - Requests[2951].Request.Method = "POST"; - Requests[2951].Request.Path = "/subscriptions/be19ca51-7147-/resourceGroups/1924d1e7-f330-439/providers/Microsoft.ApiManagement/service/2d923c05-fa/tenant/ed4817fa-8/git/regeneratePrimaryKey"; - Requests[2952] = new DefaultHttpContext(); - Requests[2952].RequestServices = CreateServices(); - Requests[2952].Request.Method = "POST"; - Requests[2952].Request.Path = "/subscriptions/b5f0101d-e65c-/resourceGroups/e897e457-112c-426/providers/Microsoft.ApiManagement/service/2a4d9f85-2e/tenant/45ebaff6-0/git/regenerateSecondaryKey"; - Requests[2953] = new DefaultHttpContext(); - Requests[2953].RequestServices = CreateServices(); - Requests[2953].Request.Method = "PUT"; - Requests[2953].Request.Path = "/subscriptions/94065339-06e9-/resourceGroups/01df056c-2266-46e/providers/Microsoft.Automation/automationAccounts/5bb9b64c-4de8-4b8d-ae/runbooks/9ef9601d-fd/draft/content"; - Requests[2954] = new DefaultHttpContext(); - Requests[2954].RequestServices = CreateServices(); - Requests[2954].Request.Method = "POST"; - Requests[2954].Request.Path = "/subscriptions/5afab22e-779b-/resourceGroups/b02647d0-aa86-42d/providers/Microsoft.Automation/automationAccounts/d48435e8-ff02-4b4c-95/runbooks/ab873d65-91/draft/publish"; - Requests[2955] = new DefaultHttpContext(); - Requests[2955].RequestServices = CreateServices(); - Requests[2955].Request.Method = "GET"; - Requests[2955].Request.Path = "/subscriptions/b656c592-4273-/resourceGroups/5decbde2-aeec-428/providers/Microsoft.Automation/automationAccounts/8aec46d4-4e17-4746-a4/runbooks/b4c1252c-35/draft/testJob"; - Requests[2956] = new DefaultHttpContext(); - Requests[2956].RequestServices = CreateServices(); - Requests[2956].Request.Method = "POST"; - Requests[2956].Request.Path = "/subscriptions/302c6447-480d-/resourceGroups/52c06393-9994-46b/providers/Microsoft.Automation/automationAccounts/2d7b388a-fd1f-48d7-a5/runbooks/fbc5e985-2a/draft/undoEdit"; - Requests[2957] = new DefaultHttpContext(); - Requests[2957].RequestServices = CreateServices(); - Requests[2957].Request.Method = "GET"; - Requests[2957].Request.Path = "/subscriptions/132c59ef-ea9a-/resourceGroups/77bcb214-8647-4ec/providers/Microsoft.DocumentDB/databaseAccounts/6c1ce2a5-c1/targetRegion/efc9e383-a62/percentile/metrics"; - Requests[2958] = new DefaultHttpContext(); - Requests[2958].RequestServices = CreateServices(); - Requests[2958].Request.Method = "GET"; - Requests[2958].Request.Path = "/subscriptions/7be471e7-ee20-/resourceGroups/c9ca523e-5064-4ce/providers/Microsoft.Logic/workflows/b6340db1-cda/triggers/b56f9d64-7b/schemas/json"; - Requests[2959] = new DefaultHttpContext(); - Requests[2959].RequestServices = CreateServices(); - Requests[2959].Request.Method = "PATCH"; - Requests[2959].Request.Path = "/subscriptions/f35b0085-25b2-/resourceGroups/d491e609-f67c-47e/providers/Microsoft.Sql/servers/85cf7288-8/databases/f0b30448-21c/automaticTuning/current"; - Requests[2960] = new DefaultHttpContext(); - Requests[2960].RequestServices = CreateServices(); - Requests[2960].Request.Method = "PUT"; - Requests[2960].Request.Path = "/subscriptions/d365ae33-b6f5-/resourceGroups/974550f6-6662-402/providers/Microsoft.StorSimple/managers/768b1836-72/devices/0c411672-5/alertSettings/default"; - Requests[2961] = new DefaultHttpContext(); - Requests[2961].RequestServices = CreateServices(); - Requests[2961].Request.Method = "PATCH"; - Requests[2961].Request.Path = "/subscriptions/7b4d4c42-71b7-/resourceGroups/16d7325b-3681-45e/providers/Microsoft.StorSimple/managers/0de2c196-61/devices/be3c324f-2/networkSettings/default"; - Requests[2962] = new DefaultHttpContext(); - Requests[2962].RequestServices = CreateServices(); - Requests[2962].Request.Method = "PATCH"; - Requests[2962].Request.Path = "/subscriptions/56f86b63-84de-/resourceGroups/3d60ea90-b4f0-44e/providers/Microsoft.StorSimple/managers/ac6e2f0e-00/devices/9e12715c-9/securitySettings/default"; - Requests[2963] = new DefaultHttpContext(); - Requests[2963].RequestServices = CreateServices(); - Requests[2963].Request.Method = "PUT"; - Requests[2963].Request.Path = "/subscriptions/9628ce78-1a11-/resourceGroups/4982a0ea-45f6-4bd/providers/Microsoft.StorSimple/managers/d1c1a1be-b4/devices/437f610c-1/timeSettings/default"; - Requests[2964] = new DefaultHttpContext(); - Requests[2964].RequestServices = CreateServices(); - Requests[2964].Request.Method = "GET"; - Requests[2964].Request.Path = "/subscriptions/0c33b923-501b-/resourceGroups/033b2fec-e604-40e/providers/Microsoft.StorSimple/managers/09d0eae0-3a/devices/fbf84d75-6/updateSummary/default"; - Requests[2965] = new DefaultHttpContext(); - Requests[2965].RequestServices = CreateServices(); - Requests[2965].Request.Method = "PUT"; - Requests[2965].Request.Path = "/subscriptions/63a347ac-6f6d-/resourceGroups/3df3d4b5-ceb2-42a/providers/Microsoft.Web/sites/4c844/instances/feae796f-d/extensions/MSDeploy"; - Requests[2966] = new DefaultHttpContext(); - Requests[2966].RequestServices = CreateServices(); - Requests[2966].Request.Method = "PUT"; - Requests[2966].Request.Path = "/subscriptions/6aaf9ab9-68e8-/resourceGroups/34c4a12c-f8d2-4b2/providers/Microsoft.Web/sites/0c5e0/slots/98f0e/backups/discover"; - Requests[2967] = new DefaultHttpContext(); - Requests[2967].RequestServices = CreateServices(); - Requests[2967].Request.Method = "PUT"; - Requests[2967].Request.Path = "/subscriptions/1070d7e2-67f9-/resourceGroups/ad457739-d05d-419/providers/Microsoft.Web/sites/9d754/slots/0dabd/config/appsettings"; - Requests[2968] = new DefaultHttpContext(); - Requests[2968].RequestServices = CreateServices(); - Requests[2968].Request.Method = "PUT"; - Requests[2968].Request.Path = "/subscriptions/2b43b361-6304-/resourceGroups/3d595aad-3e3b-41e/providers/Microsoft.Web/sites/8a2c5/slots/6d92f/config/authsettings"; - Requests[2969] = new DefaultHttpContext(); - Requests[2969].RequestServices = CreateServices(); - Requests[2969].Request.Method = "DELETE"; - Requests[2969].Request.Path = "/subscriptions/fcd42e71-4cba-/resourceGroups/4e432e7a-0c39-47b/providers/Microsoft.Web/sites/fbb9f/slots/7b5a9/config/backup"; - Requests[2970] = new DefaultHttpContext(); - Requests[2970].RequestServices = CreateServices(); - Requests[2970].Request.Method = "PUT"; - Requests[2970].Request.Path = "/subscriptions/9d851075-8ed2-/resourceGroups/8929fda1-4e55-46c/providers/Microsoft.Web/sites/d4538/slots/07e24/config/connectionstrings"; - Requests[2971] = new DefaultHttpContext(); - Requests[2971].RequestServices = CreateServices(); - Requests[2971].Request.Method = "PUT"; - Requests[2971].Request.Path = "/subscriptions/6f41259f-51e1-/resourceGroups/4d569e52-701b-4d6/providers/Microsoft.Web/sites/33745/slots/b645d/config/logs"; - Requests[2972] = new DefaultHttpContext(); - Requests[2972].RequestServices = CreateServices(); - Requests[2972].Request.Method = "PUT"; - Requests[2972].Request.Path = "/subscriptions/e39cdaad-da66-/resourceGroups/677cd4eb-c444-457/providers/Microsoft.Web/sites/19e84/slots/f5681/config/metadata"; - Requests[2973] = new DefaultHttpContext(); - Requests[2973].RequestServices = CreateServices(); - Requests[2973].Request.Method = "PUT"; - Requests[2973].Request.Path = "/subscriptions/26dd709d-19a9-/resourceGroups/a693fc29-fd07-4d2/providers/Microsoft.Web/sites/8a481/slots/47964/config/pushsettings"; - Requests[2974] = new DefaultHttpContext(); - Requests[2974].RequestServices = CreateServices(); - Requests[2974].Request.Method = "PATCH"; - Requests[2974].Request.Path = "/subscriptions/5f16432f-b620-/resourceGroups/0a92f299-4761-48c/providers/Microsoft.Web/sites/54aa2/slots/79523/config/web"; - Requests[2975] = new DefaultHttpContext(); - Requests[2975].RequestServices = CreateServices(); - Requests[2975].Request.Method = "PUT"; - Requests[2975].Request.Path = "/subscriptions/71dc29b8-b650-/resourceGroups/190c7021-e1df-436/providers/Microsoft.Web/sites/261de/slots/a05d4/extensions/MSDeploy"; - Requests[2976] = new DefaultHttpContext(); - Requests[2976].RequestServices = CreateServices(); - Requests[2976].Request.Method = "GET"; - Requests[2976].Request.Path = "/subscriptions/ed70b1e8-506a-/resourceGroups/c4f41854-0902-403/providers/Microsoft.Web/sites/86544/slots/25ade/migratemysql/status"; - Requests[2977] = new DefaultHttpContext(); - Requests[2977].RequestServices = CreateServices(); - Requests[2977].Request.Method = "POST"; - Requests[2977].Request.Path = "/subscriptions/e2d8e62b-4a65-/resourceGroups/080dc83c-8e26-4d8/providers/Microsoft.Web/sites/c9b4e/slots/a222c/networkTrace/start"; - Requests[2978] = new DefaultHttpContext(); - Requests[2978].RequestServices = CreateServices(); - Requests[2978].Request.Method = "POST"; - Requests[2978].Request.Path = "/subscriptions/baf2bcc9-e939-/resourceGroups/c800da59-235f-473/providers/Microsoft.Web/sites/26ae8/slots/08932/networkTrace/stop"; - Requests[2979] = new DefaultHttpContext(); - Requests[2979].RequestServices = CreateServices(); - Requests[2979].Request.Method = "PUT"; - Requests[2979].Request.Path = "/subscriptions/9c8d0e79-269f-/resourceGroups/e5d8c9dc-532f-4cc/providers/Microsoft.Web/sites/e0700/slots/39b3d/privateAccess/virtualNetworks"; - Requests[2980] = new DefaultHttpContext(); - Requests[2980].RequestServices = CreateServices(); - Requests[2980].Request.Method = "GET"; - Requests[2980].Request.Path = "/subscriptions/b6ad1c62-f874-/resourceGroups/bfc158c6-6ea2-400/providers/Microsoft.Web/sites/54560/slots/61a72/resourceHealthMetadata/default"; - Requests[2981] = new DefaultHttpContext(); - Requests[2981].RequestServices = CreateServices(); - Requests[2981].Request.Method = "PATCH"; - Requests[2981].Request.Path = "/subscriptions/d15f6cd7-7a04-/resourceGroups/369f8672-386a-4cd/providers/Microsoft.Web/sites/473df/slots/31339/sourcecontrols/web"; - Requests[2982] = new DefaultHttpContext(); - Requests[2982].RequestServices = CreateServices(); - Requests[2982].Request.Method = "POST"; - Requests[2982].Request.Path = "/subscriptions/94e89d7a-7923-/resourceGroups/2a9d2ea8-41a6-482/providers/Microsoft.Automation/automationAccounts/c7e6ad97-a042-4340-8e/runbooks/7a31a3bc-06/draft/testJob/resume"; - Requests[2983] = new DefaultHttpContext(); - Requests[2983].RequestServices = CreateServices(); - Requests[2983].Request.Method = "POST"; - Requests[2983].Request.Path = "/subscriptions/c800a00c-3d35-/resourceGroups/47a2b407-c08a-495/providers/Microsoft.Automation/automationAccounts/e411ce46-c6db-4690-8f/runbooks/904175c2-dd/draft/testJob/stop"; - Requests[2984] = new DefaultHttpContext(); - Requests[2984].RequestServices = CreateServices(); - Requests[2984].Request.Method = "GET"; - Requests[2984].Request.Path = "/subscriptions/40d6c94d-40e2-/resourceGroups/a8decb45-b9ef-4d2/providers/Microsoft.Automation/automationAccounts/0dec404d-effa-4c77-b2/runbooks/c4ea323b-18/draft/testJob/streams"; - Requests[2985] = new DefaultHttpContext(); - Requests[2985].RequestServices = CreateServices(); - Requests[2985].Request.Method = "POST"; - Requests[2985].Request.Path = "/subscriptions/2c9df469-76d5-/resourceGroups/c00792ee-9090-408/providers/Microsoft.Automation/automationAccounts/be8ef34e-6b58-46bf-a1/runbooks/8a574214-ce/draft/testJob/suspend"; - Requests[2986] = new DefaultHttpContext(); - Requests[2986].RequestServices = CreateServices(); - Requests[2986].Request.Method = "GET"; - Requests[2986].Request.Path = "/subscriptions/a629b00d-f515-/resourceGroups/0f76ef70-e84b-470/providers/Microsoft.ServerManagement/nodes/313656fa/sessions/93e97be/features/powerShellConsole/pssessions"; - Requests[2987] = new DefaultHttpContext(); - Requests[2987].RequestServices = CreateServices(); - Requests[2987].Request.Method = "POST"; - Requests[2987].Request.Path = "/subscriptions/048fe860-9d69-/resourceGroups/d2f9cb33-47d7-444/providers/Microsoft.StorSimple/managers/acfae581-59/devices/1fe54673-4/securitySettings/default/syncRemoteManagementCertificate"; - Requests[2988] = new DefaultHttpContext(); - Requests[2988].RequestServices = CreateServices(); - Requests[2988].Request.Method = "GET"; - Requests[2988].Request.Path = "/subscriptions/2bdbf209-ef5d-/resourceGroups/330841b7-487e-46d/providers/Microsoft.Web/sites/c552d/instances/6e0a1150-9/extensions/MSDeploy/log"; - Requests[2989] = new DefaultHttpContext(); - Requests[2989].RequestServices = CreateServices(); - Requests[2989].Request.Method = "POST"; - Requests[2989].Request.Path = "/subscriptions/cd927a73-1084-/resourceGroups/d2cad287-b5c2-477/providers/Microsoft.Web/sites/a31a4/slots/bbcee/config/appsettings/list"; - Requests[2990] = new DefaultHttpContext(); - Requests[2990].RequestServices = CreateServices(); - Requests[2990].Request.Method = "POST"; - Requests[2990].Request.Path = "/subscriptions/5440693a-ff2f-/resourceGroups/735e5c17-5ce9-470/providers/Microsoft.Web/sites/f32bb/slots/52655/config/authsettings/list"; - Requests[2991] = new DefaultHttpContext(); - Requests[2991].RequestServices = CreateServices(); - Requests[2991].Request.Method = "POST"; - Requests[2991].Request.Path = "/subscriptions/a7e26e91-eeed-/resourceGroups/43a3ccf4-96ce-489/providers/Microsoft.Web/sites/d0870/slots/b6018/config/backup/list"; - Requests[2992] = new DefaultHttpContext(); - Requests[2992].RequestServices = CreateServices(); - Requests[2992].Request.Method = "POST"; - Requests[2992].Request.Path = "/subscriptions/b70915d0-6a9e-/resourceGroups/3cec45dd-0110-4d8/providers/Microsoft.Web/sites/8ea3b/slots/8fa2f/config/connectionstrings/list"; - Requests[2993] = new DefaultHttpContext(); - Requests[2993].RequestServices = CreateServices(); - Requests[2993].Request.Method = "POST"; - Requests[2993].Request.Path = "/subscriptions/7f690c48-6dc8-/resourceGroups/ff8aca89-2c84-445/providers/Microsoft.Web/sites/23358/slots/37816/config/metadata/list"; - Requests[2994] = new DefaultHttpContext(); - Requests[2994].RequestServices = CreateServices(); - Requests[2994].Request.Method = "POST"; - Requests[2994].Request.Path = "/subscriptions/ba3acace-b1f0-/resourceGroups/836a514a-14c6-44c/providers/Microsoft.Web/sites/45017/slots/0238f/config/publishingcredentials/list"; - Requests[2995] = new DefaultHttpContext(); - Requests[2995].RequestServices = CreateServices(); - Requests[2995].Request.Method = "POST"; - Requests[2995].Request.Path = "/subscriptions/7b17190d-2772-/resourceGroups/9afd4923-3beb-464/providers/Microsoft.Web/sites/f1a51/slots/685ec/config/pushsettings/list"; - Requests[2996] = new DefaultHttpContext(); - Requests[2996].RequestServices = CreateServices(); - Requests[2996].Request.Method = "GET"; - Requests[2996].Request.Path = "/subscriptions/e548e1cb-4eb5-/resourceGroups/560776a0-a90d-488/providers/Microsoft.Web/sites/9b604/slots/abde2/config/web/snapshots"; - Requests[2997] = new DefaultHttpContext(); - Requests[2997].RequestServices = CreateServices(); - Requests[2997].Request.Method = "POST"; - Requests[2997].Request.Path = "/subscriptions/d924f306-d64d-/resourceGroups/2dcb57ca-8da4-443/providers/Microsoft.Web/sites/a0906/slots/24a7e/containerlogs/zip/download"; - Requests[2998] = new DefaultHttpContext(); - Requests[2998].RequestServices = CreateServices(); - Requests[2998].Request.Method = "GET"; - Requests[2998].Request.Path = "/subscriptions/bc432d5f-3dfa-/resourceGroups/8e32e28c-185f-477/providers/Microsoft.Web/sites/3cd2b/slots/ee98e/extensions/MSDeploy/log"; - Requests[2999] = new DefaultHttpContext(); - Requests[2999].RequestServices = CreateServices(); - Requests[2999].Request.Method = "GET"; - Requests[2999].Request.Path = "/subscriptions/bb2a537e-84e7-/resourceGroups/3cade790-cd2e-4a9/providers/Microsoft.Web/sites/8919d/slots/d4dd6/functions/admin/token"; - Requests[3000] = new DefaultHttpContext(); - Requests[3000].RequestServices = CreateServices(); - Requests[3000].Request.Method = "GET"; - Requests[3000].Request.Path = "/subscriptions/bdbe08dc-634a-/resourceGroups/9d299d87-5e0e-4c2/providers/Microsoft.Automation/automationAccounts/74df257c-b486-49a3-a1/runbooks/f60caf93-e3/draft/testJob/streams/886235f9-3f"; - Requests[3001] = new DefaultHttpContext(); - Requests[3001].RequestServices = CreateServices(); - Requests[3001].Request.Method = "PATCH"; - Requests[3001].Request.Path = "/subscriptions/17106536-f838-/resourceGroups/ca53a477-3f8f-4a9/providers/Microsoft.ServerManagement/nodes/c6b44529/sessions/e89ffb0/features/powerShellConsole/pssessions/4305809e-"; - Requests[3002] = new DefaultHttpContext(); - Requests[3002].RequestServices = CreateServices(); - Requests[3002].Request.Method = "GET"; - Requests[3002].Request.Path = "/subscriptions/f7a85246-f53b-/resourceGroups/f07e40f1-8154-45b/providers/Microsoft.Web/sites/2f76b/slots/07ec0/config/web/snapshots/7000ee81-c"; - Requests[3003] = new DefaultHttpContext(); - Requests[3003].RequestServices = CreateServices(); - Requests[3003].Request.Method = "POST"; - Requests[3003].Request.Path = "/subscriptions/0eca0a28-2ff8-/resourceGroups/457dfe37-cc31-4ec/providers/Microsoft.ServerManagement/nodes/f38ac0db/sessions/1212c06/features/powerShellConsole/pssessions/e8347d29-/cancel"; - Requests[3004] = new DefaultHttpContext(); - Requests[3004].RequestServices = CreateServices(); - Requests[3004].Request.Method = "POST"; - Requests[3004].Request.Path = "/subscriptions/a3d7c573-99f9-/resourceGroups/0897bba2-5e84-4d2/providers/Microsoft.ServerManagement/nodes/bfe0e506/sessions/f7f6043/features/powerShellConsole/pssessions/dbab6bd7-/invokeCommand"; - Requests[3005] = new DefaultHttpContext(); - Requests[3005].RequestServices = CreateServices(); - Requests[3005].Request.Method = "POST"; - Requests[3005].Request.Path = "/subscriptions/81122d65-6a25-/resourceGroups/73234128-56fe-4a5/providers/Microsoft.ServerManagement/nodes/28a7ce35/sessions/7ecf7ab/features/powerShellConsole/pssessions/b5ad9d4c-/tab"; - Requests[3006] = new DefaultHttpContext(); - Requests[3006].RequestServices = CreateServices(); - Requests[3006].Request.Method = "POST"; - Requests[3006].Request.Path = "/subscriptions/152860e7-c844-/resourceGroups/b9d1d2a0-e3e7-41b/providers/Microsoft.Web/sites/4e8c5/slots/c4d36/config/web/snapshots/18f48d0c-a/recover"; - Requests[3007] = new DefaultHttpContext(); - Requests[3007].RequestServices = CreateServices(); - Requests[3007].Request.Method = "PATCH"; - Requests[3007].Request.Path = "/subscriptions/80fad015-63e8-/resourceGroups/7fa4cfbe-/providers/Microsoft.DataMigration/services/0b0d6307-3b/projects/ac677ddf-86/tasks/09449a75"; - Requests[3008] = new DefaultHttpContext(); - Requests[3008].RequestServices = CreateServices(); - Requests[3008].Request.Method = "DELETE"; - Requests[3008].Request.Path = "/subscriptions/5a7881d7-ef5b-/resourceGroups/7c45c324-2de4-4c0/providers/Microsoft.ApiManagement/service/1ae34605-02/apis/0e675/diagnostics/47a9cc0a-1e9"; - Requests[3009] = new DefaultHttpContext(); - Requests[3009].RequestServices = CreateServices(); - Requests[3009].Request.Method = "DELETE"; - Requests[3009].Request.Path = "/subscriptions/05628035-9d02-/resourceGroups/c68b4a0e-eee6-4e5/providers/Microsoft.ApiManagement/service/c9315ffa-27/apis/a6c12/issues/d56de24"; - Requests[3010] = new DefaultHttpContext(); - Requests[3010].RequestServices = CreateServices(); - Requests[3010].Request.Method = "DELETE"; - Requests[3010].Request.Path = "/subscriptions/d28a6b8d-4952-/resourceGroups/eba4e352-be93-430/providers/Microsoft.ApiManagement/service/d6019c62-38/apis/7549e/operations/67a373e0-0d"; - Requests[3011] = new DefaultHttpContext(); - Requests[3011].RequestServices = CreateServices(); - Requests[3011].Request.Method = "DELETE"; - Requests[3011].Request.Path = "/subscriptions/e6e65b3f-1b81-/resourceGroups/3fc2d511-7847-4cb/providers/Microsoft.ApiManagement/service/8779b527-ce/apis/cf358/policies/40f730e9"; - Requests[3012] = new DefaultHttpContext(); - Requests[3012].RequestServices = CreateServices(); - Requests[3012].Request.Method = "DELETE"; - Requests[3012].Request.Path = "/subscriptions/033a276e-ccf5-/resourceGroups/93219f9f-3f6d-446/providers/Microsoft.ApiManagement/service/ca019299-80/apis/65164/releases/d411b6dc-"; - Requests[3013] = new DefaultHttpContext(); - Requests[3013].RequestServices = CreateServices(); - Requests[3013].Request.Method = "DELETE"; - Requests[3013].Request.Path = "/subscriptions/58471891-77c6-/resourceGroups/906eed81-f6d3-46d/providers/Microsoft.ApiManagement/service/9d316d38-ec/apis/a1d4d/schemas/e9102421"; - Requests[3014] = new DefaultHttpContext(); - Requests[3014].RequestServices = CreateServices(); - Requests[3014].Request.Method = "DELETE"; - Requests[3014].Request.Path = "/subscriptions/842ae3c4-e419-/resourceGroups/a5448c78-b1cc-4e1/providers/Microsoft.ApiManagement/service/2b27bc00-9b/apis/0a0ae/tagDescriptions/e3132"; - Requests[3015] = new DefaultHttpContext(); - Requests[3015].RequestServices = CreateServices(); - Requests[3015].Request.Method = "DELETE"; - Requests[3015].Request.Path = "/subscriptions/e85e7075-6930-/resourceGroups/ae0c3deb-c09a-47c/providers/Microsoft.ApiManagement/service/b418e37c-ed/apis/57026/tags/ee7f4"; - Requests[3016] = new DefaultHttpContext(); - Requests[3016].RequestServices = CreateServices(); - Requests[3016].Request.Method = "DELETE"; - Requests[3016].Request.Path = "/subscriptions/9cad8092-c19d-/resourceGroups/f7ab6d0a-8d13-4b7/providers/Microsoft.ApiManagement/service/4aefcfd0-95/diagnostics/6ba216b9-c90/loggers/9061de3d"; - Requests[3017] = new DefaultHttpContext(); - Requests[3017].RequestServices = CreateServices(); - Requests[3017].Request.Method = "DELETE"; - Requests[3017].Request.Path = "/subscriptions/aa341cbb-64c8-/resourceGroups/1cb92e30-3bfd-415/providers/Microsoft.ApiManagement/service/b11b3b9f-2a/groups/a94a2af/users/d2d6a"; - Requests[3018] = new DefaultHttpContext(); - Requests[3018].RequestServices = CreateServices(); - Requests[3018].Request.Method = "DELETE"; - Requests[3018].Request.Path = "/subscriptions/1510738e-1d2c-/resourceGroups/ecd78f1f-5a9e-402/providers/Microsoft.ApiManagement/service/36911d06-72/notifications/536d60de-4502-4d/recipientEmails/c5477"; - Requests[3019] = new DefaultHttpContext(); - Requests[3019].RequestServices = CreateServices(); - Requests[3019].Request.Method = "DELETE"; - Requests[3019].Request.Path = "/subscriptions/6c79a8c9-11a3-/resourceGroups/dbead4d8-f2b9-468/providers/Microsoft.ApiManagement/service/8b6b2329-02/notifications/308681b9-d50c-44/recipientUsers/2c915"; - Requests[3020] = new DefaultHttpContext(); - Requests[3020].RequestServices = CreateServices(); - Requests[3020].Request.Method = "DELETE"; - Requests[3020].Request.Path = "/subscriptions/ebec682f-6a85-/resourceGroups/1bcbec20-41ab-4b8/providers/Microsoft.ApiManagement/service/2c327778-c5/products/48652b52-/apis/2415a"; - Requests[3021] = new DefaultHttpContext(); - Requests[3021].RequestServices = CreateServices(); - Requests[3021].Request.Method = "DELETE"; - Requests[3021].Request.Path = "/subscriptions/70c7d372-2990-/resourceGroups/619e3164-b254-4d2/providers/Microsoft.ApiManagement/service/4d0ca280-69/products/3125f8b8-/groups/2c961eb"; - Requests[3022] = new DefaultHttpContext(); - Requests[3022].RequestServices = CreateServices(); - Requests[3022].Request.Method = "DELETE"; - Requests[3022].Request.Path = "/subscriptions/5527a0b7-df11-/resourceGroups/ca059ada-4d41-4d3/providers/Microsoft.ApiManagement/service/3a1174cf-eb/products/eec09e8a-/policies/7420c584"; - Requests[3023] = new DefaultHttpContext(); - Requests[3023].RequestServices = CreateServices(); - Requests[3023].Request.Method = "DELETE"; - Requests[3023].Request.Path = "/subscriptions/7f5569da-13a1-/resourceGroups/6c2e1f46-17a9-4c6/providers/Microsoft.ApiManagement/service/3453b7d9-6d/products/941667c0-/tags/31a4b"; - Requests[3024] = new DefaultHttpContext(); - Requests[3024].RequestServices = CreateServices(); - Requests[3024].Request.Method = "PATCH"; - Requests[3024].Request.Path = "/subscriptions/d7c11794-ccde-/resourceGroups/ca107fde-7254-49e/providers/Microsoft.ApiManagement/service/841dad2a-1b/quotas/229fd337-46f3-4/periods/f5c9b41a-6d4f-"; - Requests[3025] = new DefaultHttpContext(); - Requests[3025].RequestServices = CreateServices(); - Requests[3025].Request.Method = "GET"; - Requests[3025].Request.Path = "/subscriptions/79a6e91f-7319-/resourceGroups/4cd2bb52-4838-437/providers/Microsoft.Automation/automationAccounts/78a192ed-b864-41f4-ad/compilationjobs/94a25/streams/5249a002-47"; - Requests[3026] = new DefaultHttpContext(); - Requests[3026].RequestServices = CreateServices(); - Requests[3026].Request.Method = "GET"; - Requests[3026].Request.Path = "/subscriptions/3b1ebe63-4ae3-/resourceGroups/4eccc3cb-ac0b-486/providers/Microsoft.Automation/automationAccounts/0892befa-e697-4e8c-ab/jobs/9cc91/streams/d320a682-f0"; - Requests[3027] = new DefaultHttpContext(); - Requests[3027].RequestServices = CreateServices(); - Requests[3027].Request.Method = "GET"; - Requests[3027].Request.Path = "/subscriptions/f37a4350-4d55-/resourceGroups/ea7f0cb5-b404-4e2/providers/Microsoft.Automation/automationAccounts/70098a37-980a-4949-a2/modules/0c2a59b7-4/activities/0eafb220-da1"; - Requests[3028] = new DefaultHttpContext(); - Requests[3028].RequestServices = CreateServices(); - Requests[3028].Request.Method = "GET"; - Requests[3028].Request.Path = "/subscriptions/677208a9-7196-/resourceGroups/b383008f-f4f4-494/providers/Microsoft.Automation/automationAccounts/c2ea301d-def4-4b1d-97/nodes/86a110/reports/5136c2f8"; - Requests[3029] = new DefaultHttpContext(); - Requests[3029].RequestServices = CreateServices(); - Requests[3029].Request.Method = "GET"; - Requests[3029].Request.Path = "/subscriptions/c200845d-78dd-/resourceGroups/10e01da1-b4b9-4b8/providers/Microsoft.Automation/automationAccounts/7104c133-30c2-437d-b7/sourceControls/1f3bef65-71e1-411/sourceControlSyncJobs/f78dd9e4-3c89-4b74-803"; - Requests[3030] = new DefaultHttpContext(); - Requests[3030].RequestServices = CreateServices(); - Requests[3030].Request.Method = "GET"; - Requests[3030].Request.Path = "/subscriptions/dc1de632-78b5-/resourceGroups/909696c1-c935-4c6/providers/Microsoft.Batch/batchAccounts/13e19c5c-a0/applications/f4acc9aa-e309/versions/eb89e1f"; - Requests[3031] = new DefaultHttpContext(); - Requests[3031].RequestServices = CreateServices(); - Requests[3031].Request.Method = "GET"; - Requests[3031].Request.Path = "/subscriptions/081f5739-02a7-/resourceGroups/c60f5003-3113-4e4/providers/Microsoft.BatchAI/workspaces/2f66e61b-9305/experiments/3c8078a6-dc3b-/jobs/2138e2f"; - Requests[3032] = new DefaultHttpContext(); - Requests[3032].RequestServices = CreateServices(); - Requests[3032].Request.Method = "DELETE"; - Requests[3032].Request.Path = "/subscriptions/83aa885b-660d-/resourceGroups/957ece21-926a-454/providers/Microsoft.Cdn/profiles/06a45908-ee/endpoints/83e2e101-f80/customDomains/9f3c3dde-82be-44"; - Requests[3033] = new DefaultHttpContext(); - Requests[3033].RequestServices = CreateServices(); - Requests[3033].Request.Method = "PATCH"; - Requests[3033].Request.Path = "/subscriptions/f1860a01-341d-/resourceGroups/3cd42b73-0e0c-460/providers/Microsoft.Cdn/profiles/0c35c594-34/endpoints/8c9ffbda-48e/origins/0d1ed660-3"; - Requests[3034] = new DefaultHttpContext(); - Requests[3034].RequestServices = CreateServices(); - Requests[3034].Request.Method = "DELETE"; - Requests[3034].Request.Path = "/subscriptions/a7f82e38-6285-/resourceGroups/bf6873df-5fff-40f/providers/Microsoft.Compute/galleries/5b361303-9c/images/e5e17571-0fdf-4b/versions/2858ec2f-418c-48f3-a1e3"; - Requests[3035] = new DefaultHttpContext(); - Requests[3035].RequestServices = CreateServices(); - Requests[3035].Request.Method = "GET"; - Requests[3035].Request.Path = "/subscriptions/56e039b1-9507-/resourceGroups/f68e5341-8901-4e6/providers/microsoft.Compute/virtualMachineScaleSets/5b3f2061-0d2c-4af4-b370-ac/virtualMachines/e7ccce82-a150-483f-/networkInterfaces/379df0c4-1fdd-459e-b"; - Requests[3036] = new DefaultHttpContext(); - Requests[3036].RequestServices = CreateServices(); - Requests[3036].Request.Method = "PATCH"; - Requests[3036].Request.Path = "/subscriptions/ab5f23ee-0fc3-/resourceGroups/f2163727-b22d-46e/providers/Microsoft.ContainerRegistry/registries/0b02b1fb-f17/buildTasks/99bcfeef-0601/steps/01c9c586"; - Requests[3037] = new DefaultHttpContext(); - Requests[3037].RequestServices = CreateServices(); - Requests[3037].Request.Method = "DELETE"; - Requests[3037].Request.Path = "/subscriptions/fa3ef0b6-ae85-/resourceGroups/b915a307-2d21-46e/providers/Microsoft.CustomerInsights/hubs/59f263a/connectors/7a38d92f-3048/mappings/c4cfa9a5-46"; - Requests[3038] = new DefaultHttpContext(); - Requests[3038].RequestServices = CreateServices(); - Requests[3038].Request.Method = "PATCH"; - Requests[3038].Request.Path = "/subscriptions/cf7ef6ab-2321-/resourceGroups/e77ef2f7-f14d-4f2/providers/Microsoft.DataFactory/factories/461fb560-01/integrationRuntimes/0ef3230b-b11b-4263-8de/nodes/ef12db8f"; - Requests[3039] = new DefaultHttpContext(); - Requests[3039].RequestServices = CreateServices(); - Requests[3039].Request.Method = "GET"; - Requests[3039].Request.Path = "/subscriptions/be36dea2-c648-/resourceGroups/e6a50469-dae6-440/providers/Microsoft.DataLakeAnalytics/accounts/20dc790a-98/storageAccounts/00783306-b7c3-45ba/containers/9526c97f-9c62"; - Requests[3040] = new DefaultHttpContext(); - Requests[3040].RequestServices = CreateServices(); - Requests[3040].Request.Method = "DELETE"; - Requests[3040].Request.Path = "/subscriptions/250c1886-e4ed-/resourceGroups/118896cb-6029-475/providers/Microsoft.Devices/IotHubs/933e5a34-022/eventHubEndpoints/5710edb4-7b74-414b-8/ConsumerGroups/cbeb6"; - Requests[3041] = new DefaultHttpContext(); - Requests[3041].RequestServices = CreateServices(); - Requests[3041].Request.Method = "GET"; - Requests[3041].Request.Path = "/subscriptions/b11583b5-7e07-/resourceGroups/23b53f39-e57b-4d5/providers/Microsoft.DevTestLab/labs/92b2f1b/artifactsources/536f6676-81b4-47d5/armtemplates/ac76d"; - Requests[3042] = new DefaultHttpContext(); - Requests[3042].RequestServices = CreateServices(); - Requests[3042].Request.Method = "GET"; - Requests[3042].Request.Path = "/subscriptions/389754a9-124f-/resourceGroups/bed957f2-6561-4a4/providers/Microsoft.DevTestLab/labs/8b1bef4/artifactsources/162048bc-86c8-4f70/artifacts/02141"; - Requests[3043] = new DefaultHttpContext(); - Requests[3043].RequestServices = CreateServices(); - Requests[3043].Request.Method = "PATCH"; - Requests[3043].Request.Path = "/subscriptions/f2043874-87da-/resourceGroups/24726e92-faa0-4a6/providers/Microsoft.DevTestLab/labs/c0db5c3/policysets/1a1d1c97-d1d6/policies/097d3"; - Requests[3044] = new DefaultHttpContext(); - Requests[3044].RequestServices = CreateServices(); - Requests[3044].Request.Method = "DELETE"; - Requests[3044].Request.Path = "/subscriptions/ac593fa0-9588-/resourceGroups/170de0d9-d3fa-41f/providers/Microsoft.DevTestLab/labs/048dce7/users/309270f2/disks/6cf68"; - Requests[3045] = new DefaultHttpContext(); - Requests[3045].RequestServices = CreateServices(); - Requests[3045].Request.Method = "DELETE"; - Requests[3045].Request.Path = "/subscriptions/bf95f472-1d9f-/resourceGroups/96b277cf-6a9a-4cf/providers/Microsoft.DevTestLab/labs/2f9b9cd/users/c3a3c555/environments/e079c"; - Requests[3046] = new DefaultHttpContext(); - Requests[3046].RequestServices = CreateServices(); - Requests[3046].Request.Method = "DELETE"; - Requests[3046].Request.Path = "/subscriptions/7a59b7ab-bc3b-/resourceGroups/6400374d-d687-425/providers/Microsoft.DevTestLab/labs/55b7231/users/70d0db08/secrets/14391"; - Requests[3047] = new DefaultHttpContext(); - Requests[3047].RequestServices = CreateServices(); - Requests[3047].Request.Method = "PATCH"; - Requests[3047].Request.Path = "/subscriptions/28f0a978-b18f-/resourceGroups/50ea527c-7d21-429/providers/Microsoft.DevTestLab/labs/c8b9980/virtualmachines/44be3fe4-deb6-4ddf/schedules/4b99d"; - Requests[3048] = new DefaultHttpContext(); - Requests[3048].RequestServices = CreateServices(); - Requests[3048].Request.Method = "GET"; - Requests[3048].Request.Path = "/subscriptions/99fca47e-9bee-/resourceGroups/922e7d9e-ffd6-48a/providers/Microsoft.EventHub/namespaces/ff09d4d8-d20b/disasterRecoveryConfigs/ce3b0/AuthorizationRules/28250148-488d-432a-90"; - Requests[3049] = new DefaultHttpContext(); - Requests[3049].RequestServices = CreateServices(); - Requests[3049].Request.Method = "DELETE"; - Requests[3049].Request.Path = "/subscriptions/7466ad2c-5427-/resourceGroups/f909a281-0118-4c5/providers/Microsoft.EventHub/namespaces/15732393-b801/eventhubs/5f0e6525-70b/authorizationRules/e10b043a-4c8d-4cb9-89"; - Requests[3050] = new DefaultHttpContext(); - Requests[3050].RequestServices = CreateServices(); - Requests[3050].Request.Method = "GET"; - Requests[3050].Request.Path = "/subscriptions/728aa120-2928-/resourceGroups/18a0a904-85cf-4e4/providers/Microsoft.EventHub/namespaces/7c33b3fd-a1b5/eventhubs/f03de963-e80/consumergroups/4c7d6df3-76bb-4a5"; - Requests[3051] = new DefaultHttpContext(); - Requests[3051].RequestServices = CreateServices(); - Requests[3051].Request.Method = "GET"; - Requests[3051].Request.Path = "/subscriptions/98e662dd-7d2f-/resourceGroups/bfc63957-752b-486/providers/Microsoft.Fabric.Admin/fabricLocations/c1da3115/logicalNetworks/d55693de-bc99-/logicalSubnets/ee8a58a1-8e58"; - Requests[3052] = new DefaultHttpContext(); - Requests[3052].RequestServices = CreateServices(); - Requests[3052].Request.Method = "GET"; - Requests[3052].Request.Path = "/subscriptions/d9396dc9-d3ff-/resourceGroups/9d26af45-64a6-4c0/providers/Microsoft.Fabric.Admin/fabricLocations/63752883/storageSubSystems/514e0bd9-4087-42/storagePools/0f0abc53-fa"; - Requests[3053] = new DefaultHttpContext(); - Requests[3053].RequestServices = CreateServices(); - Requests[3053].Request.Method = "GET"; - Requests[3053].Request.Path = "/subscriptions/d38d1742-c5dd-/resourceGroups/c942d42e-761b-44c/providers/Microsoft.InfrastructureInsights.Admin/regionHealths/d0b2ec09/serviceHealths/c5d6e154-2555-4d80-a1/resourceHealths/6032c69d-c262-444d-b69"; - Requests[3054] = new DefaultHttpContext(); - Requests[3054].RequestServices = CreateServices(); - Requests[3054].Request.Method = "GET"; - Requests[3054].Request.Path = "/subscriptions/d7c169b0-220d-/resourceGroups/3aa1fe66-5299-47b/providers/Microsoft.Logic/workflows/45c1e234-f4c/runs/5f0f15f/actions/95e6ab47-e"; - Requests[3055] = new DefaultHttpContext(); - Requests[3055].RequestServices = CreateServices(); - Requests[3055].Request.Method = "GET"; - Requests[3055].Request.Path = "/subscriptions/9d9ce14f-e03b-/resourceGroups/9be1c153-764a-42f/providers/Microsoft.Logic/workflows/85b06849-d83/runs/7022880/operations/01db8652-3c"; - Requests[3056] = new DefaultHttpContext(); - Requests[3056].RequestServices = CreateServices(); - Requests[3056].Request.Method = "GET"; - Requests[3056].Request.Path = "/subscriptions/b2000e21-aecd-/resourceGroups/e02e6f5e-5ec2-406/providers/Microsoft.Logic/workflows/7a151111-612/triggers/40939c33-2f/histories/36d58d3f-a2"; - Requests[3057] = new DefaultHttpContext(); - Requests[3057].RequestServices = CreateServices(); - Requests[3057].Request.Method = "PATCH"; - Requests[3057].Request.Path = "/subscriptions/3e2eb183-bbfb-/resourceGroups/93063827-9fec-47f/providers/Microsoft.MachineLearningExperimentation/accounts/fe69ddd8-36/workspaces/670a349e-dbd1/projects/02fd65fd-11"; - Requests[3058] = new DefaultHttpContext(); - Requests[3058].RequestServices = CreateServices(); - Requests[3058].Request.Method = "DELETE"; - Requests[3058].Request.Path = "/subscriptions/a8d97f29-7fe9-/resourceGroups/feacff41-68c2-454/providers/Microsoft.Media/mediaservices/95991c71-04/liveEvents/352b3007-e9d1/liveOutputs/0fc939d2-a52a-"; - Requests[3059] = new DefaultHttpContext(); - Requests[3059].RequestServices = CreateServices(); - Requests[3059].Request.Method = "DELETE"; - Requests[3059].Request.Path = "/subscriptions/473892a2-768f-/resourceGroups/6b281ade-029c-428/providers/Microsoft.Media/mediaServices/60d0bc04-2d/transforms/a9500539-c9cd/jobs/1cddd2f"; - Requests[3060] = new DefaultHttpContext(); - Requests[3060].RequestServices = CreateServices(); - Requests[3060].Request.Method = "DELETE"; - Requests[3060].Request.Path = "/subscriptions/9dadcf11-b18a-/resourceGroups/86da777c-a099-461/providers/Microsoft.Migrate/projects/66235d39-98/groups/640fa603-/assessments/4eabf6bb-7865-"; - Requests[3061] = new DefaultHttpContext(); - Requests[3061].RequestServices = CreateServices(); - Requests[3061].Request.Method = "POST"; - Requests[3061].Request.Path = "/subscriptions/a2798c9a-4db9-/resourceGroups/ddd0d53a-3f02-4e6/providers/Microsoft.Network/expressRouteCircuits/a73ec04b-48/peerings/1df1cf0a-de/arpTables/1b27a665-8"; - Requests[3062] = new DefaultHttpContext(); - Requests[3062].RequestServices = CreateServices(); - Requests[3062].Request.Method = "PUT"; - Requests[3062].Request.Path = "/subscriptions/c327fb37-5088-/resourceGroups/1c425013-2700-422/providers/Microsoft.Network/expressRouteCircuits/6c5b593d-44/peerings/732e5484-d6/connections/ff037404-3128-"; - Requests[3063] = new DefaultHttpContext(); - Requests[3063].RequestServices = CreateServices(); - Requests[3063].Request.Method = "POST"; - Requests[3063].Request.Path = "/subscriptions/4d404997-1985-/resourceGroups/c94cd2bb-e123-4f6/providers/Microsoft.Network/expressRouteCircuits/7173e9e5-43/peerings/b7d073e7-09/routeTables/21c5b0f7-f"; - Requests[3064] = new DefaultHttpContext(); - Requests[3064].RequestServices = CreateServices(); - Requests[3064].Request.Method = "POST"; - Requests[3064].Request.Path = "/subscriptions/ce92d675-96dd-/resourceGroups/73fca6ec-8428-4e7/providers/Microsoft.Network/expressRouteCircuits/313b112d-a5/peerings/8c126420-dd/routeTablesSummary/d8bda50b-8"; - Requests[3065] = new DefaultHttpContext(); - Requests[3065].RequestServices = CreateServices(); - Requests[3065].Request.Method = "POST"; - Requests[3065].Request.Path = "/subscriptions/a5f3b098-bf76-/resourceGroups/4cf47e48-20b2-4d8/providers/Microsoft.Network/expressRouteCrossConnections/7a862778-b593-43ff-/peerings/14636cb7-92/arpTables/2a581fd6-1"; - Requests[3066] = new DefaultHttpContext(); - Requests[3066].RequestServices = CreateServices(); - Requests[3066].Request.Method = "POST"; - Requests[3066].Request.Path = "/subscriptions/e79045b7-f8f4-/resourceGroups/6c072bf5-9b6d-42d/providers/Microsoft.Network/expressRouteCrossConnections/7b0bca1c-01c9-4ad9-/peerings/15d1aefa-5f/routeTables/edbb6351-3"; - Requests[3067] = new DefaultHttpContext(); - Requests[3067].RequestServices = CreateServices(); - Requests[3067].Request.Method = "POST"; - Requests[3067].Request.Path = "/subscriptions/4c151b17-32d1-/resourceGroups/66f565a3-846d-474/providers/Microsoft.Network/expressRouteCrossConnections/139d7e3e-af68-4b31-/peerings/51857c65-03/routeTablesSummary/7920b8dd-2"; - Requests[3068] = new DefaultHttpContext(); - Requests[3068].RequestServices = CreateServices(); - Requests[3068].Request.Method = "GET"; - Requests[3068].Request.Path = "/subscriptions/c6502712-805a-/resourceGroups/96750e90-1fd7-499/providers/Microsoft.NotificationHubs/namespaces/ec970cbb-aed8/notificationHubs/b7435461-e84a-41dc-/AuthorizationRules/ab3a2969-8357-4e2a-b2"; - Requests[3069] = new DefaultHttpContext(); - Requests[3069].RequestServices = CreateServices(); - Requests[3069].Request.Method = "GET"; - Requests[3069].Request.Path = "/Subscriptions/f286c26e-6dbb-/resourceGroups/52d3b044-5c25-470/providers/Microsoft.RecoveryServices/vaults/47a7b10c-05e/replicationFabrics/ed8a961b-7/replicationLogicalNetworks/5a57a09b-4281-4c35"; - Requests[3070] = new DefaultHttpContext(); - Requests[3070].RequestServices = CreateServices(); - Requests[3070].Request.Method = "GET"; - Requests[3070].Request.Path = "/Subscriptions/1a952906-2347-/resourceGroups/825922e3-4ec1-45b/providers/Microsoft.RecoveryServices/vaults/774ac781-7fc/replicationFabrics/d365d3a9-3/replicationNetworks/eda5bb72-d8"; - Requests[3071] = new DefaultHttpContext(); - Requests[3071].RequestServices = CreateServices(); - Requests[3071].Request.Method = "PUT"; - Requests[3071].Request.Path = "/Subscriptions/81410221-5227-/resourceGroups/45b79b0a-4aee-4bc/providers/Microsoft.RecoveryServices/vaults/29315998-252/replicationFabrics/4397a3dc-8/replicationProtectionContainers/9433c8e1-3522-40ca-b126"; - Requests[3072] = new DefaultHttpContext(); - Requests[3072].RequestServices = CreateServices(); - Requests[3072].Request.Method = "DELETE"; - Requests[3072].Request.Path = "/Subscriptions/abd2bbf8-92c9-/resourceGroups/b79d1c6f-eb36-4b3/providers/Microsoft.RecoveryServices/vaults/50de7d8c-bc2/replicationFabrics/b0d8f517-b/replicationRecoveryServicesProviders/44e11da5-108"; - Requests[3073] = new DefaultHttpContext(); - Requests[3073].RequestServices = CreateServices(); - Requests[3073].Request.Method = "GET"; - Requests[3073].Request.Path = "/Subscriptions/3b5d310d-4a8b-/resourceGroups/1fb438d5-77f4-44a/providers/Microsoft.RecoveryServices/vaults/09cc97f2-f04/replicationFabrics/383de25a-c/replicationStorageClassifications/5eddfba8-eced-4888-97ab-6"; - Requests[3074] = new DefaultHttpContext(); - Requests[3074].RequestServices = CreateServices(); - Requests[3074].Request.Method = "PATCH"; - Requests[3074].Request.Path = "/Subscriptions/8db13153-23a6-/resourceGroups/5a3a3319-c97f-41f/providers/Microsoft.RecoveryServices/vaults/f8b1d121-938/replicationFabrics/78fbc14a-c/replicationvCenters/ce0a550a-8c"; - Requests[3075] = new DefaultHttpContext(); - Requests[3075].RequestServices = CreateServices(); - Requests[3075].Request.Method = "PUT"; - Requests[3075].Request.Path = "/Subscriptions/ed5be468-fb25-/resourceGroups/b22557c0-58b4-4c7/providers/Microsoft.RecoveryServices/vaults/4a6bc0b8-/backupFabrics/ef20928a-d/backupProtectionIntent/5171cd2e-403b-42"; - Requests[3076] = new DefaultHttpContext(); - Requests[3076].RequestServices = CreateServices(); - Requests[3076].Request.Method = "GET"; - Requests[3076].Request.Path = "/Subscriptions/3028a99a-70ba-/resourceGroups/b5ffe13e-1b91-4e8/providers/Microsoft.RecoveryServices/vaults/92c3c21a-/backupFabrics/7aa38d0b-7/operationResults/dce1a78a-39"; - Requests[3077] = new DefaultHttpContext(); - Requests[3077].RequestServices = CreateServices(); - Requests[3077].Request.Method = "DELETE"; - Requests[3077].Request.Path = "/Subscriptions/951fc907-4824-/resourceGroups/ff73011b-4ab9-474/providers/Microsoft.RecoveryServices/vaults/c1c877ac-/backupFabrics/f308c224-a/protectionContainers/eb42755f-0bf1"; - Requests[3078] = new DefaultHttpContext(); - Requests[3078].RequestServices = CreateServices(); - Requests[3078].Request.Method = "GET"; - Requests[3078].Request.Path = "/Subscriptions/cfe72f80-c416-/resourceGroups/011f50eb-a64f-41c/providers/Microsoft.RecoveryServices/vaults/3495678f-/backupJobs/4ecd355/operationResults/efbe33d5-48"; - Requests[3079] = new DefaultHttpContext(); - Requests[3079].RequestServices = CreateServices(); - Requests[3079].Request.Method = "GET"; - Requests[3079].Request.Path = "/Subscriptions/41db3f3d-1afd-/resourceGroups/2cd17238-6cdf-403/providers/Microsoft.RecoveryServices/vaults/586d3330-/backupPolicies/1d753651-5/operationResults/12023253-f1"; - Requests[3080] = new DefaultHttpContext(); - Requests[3080].RequestServices = CreateServices(); - Requests[3080].Request.Method = "GET"; - Requests[3080].Request.Path = "/Subscriptions/2d0e51ca-ade4-/resourceGroups/8f277965-3534-41f/providers/Microsoft.RecoveryServices/vaults/76caa76e-/backupPolicies/1f1f58e4-5/operations/745ffb35-13"; - Requests[3081] = new DefaultHttpContext(); - Requests[3081].RequestServices = CreateServices(); - Requests[3081].Request.Method = "GET"; - Requests[3081].Request.Path = "/subscriptions/d26bfb6d-2434-/resourceGroups/b24e13f4-031a-479/providers/Microsoft.Relay/namespaces/4d859141-5b1b/hybridConnections/e69e246d-a383-4a95-b/authorizationRules/4a806c82-2f7d-486a-ab"; - Requests[3082] = new DefaultHttpContext(); - Requests[3082].RequestServices = CreateServices(); - Requests[3082].Request.Method = "GET"; - Requests[3082].Request.Path = "/subscriptions/6c7a80d5-68a0-/resourceGroups/a4b4ec8f-f0ae-4b6/providers/Microsoft.Relay/namespaces/6097ae8c-e0e9/wcfRelays/a2cd7ad4-/authorizationRules/f3ab7606-f23e-4135-a6"; - Requests[3083] = new DefaultHttpContext(); - Requests[3083].RequestServices = CreateServices(); - Requests[3083].Request.Method = "GET"; - Requests[3083].Request.Path = "/subscriptions/71bf8ab2-2205-/resourceGroups/f1b450c0-699e-480/providers/Microsoft.ServiceBus/namespaces/d862cee4-097c/disasterRecoveryConfigs/0938e/AuthorizationRules/64b14c7d-b2d2-4d32-97"; - Requests[3084] = new DefaultHttpContext(); - Requests[3084].RequestServices = CreateServices(); - Requests[3084].Request.Method = "GET"; - Requests[3084].Request.Path = "/subscriptions/7608ebb5-3db4-/resourceGroups/7662e07c-9171-4fa/providers/Microsoft.ServiceBus/namespaces/0f13fb6c-f881/eventhubs/311550ec-ea6/authorizationRules/76dae799-8bcc-41ee-b4"; - Requests[3085] = new DefaultHttpContext(); - Requests[3085].RequestServices = CreateServices(); - Requests[3085].Request.Method = "GET"; - Requests[3085].Request.Path = "/subscriptions/3d2bcde4-31ad-/resourceGroups/5226a3a7-67ab-4c0/providers/Microsoft.ServiceBus/namespaces/e9d150f3-d1ce/queues/3793898d-/authorizationRules/0e7ffb8e-a230-4727-8c"; - Requests[3086] = new DefaultHttpContext(); - Requests[3086].RequestServices = CreateServices(); - Requests[3086].Request.Method = "DELETE"; - Requests[3086].Request.Path = "/subscriptions/255a00c4-3b16-/resourceGroups/b158be90-c45b-416/providers/Microsoft.ServiceBus/namespaces/dfb4be56-21fd/topics/f6999671-/authorizationRules/b85ff215-0abf-42b3-bd"; - Requests[3087] = new DefaultHttpContext(); - Requests[3087].RequestServices = CreateServices(); - Requests[3087].Request.Method = "GET"; - Requests[3087].Request.Path = "/subscriptions/da8e28b2-6a54-/resourceGroups/f0f9151a-409f-4be/providers/Microsoft.ServiceBus/namespaces/2d0501ce-e8ff/topics/0c5c4b2a-/subscriptions/09556b3c-2371-4f"; - Requests[3088] = new DefaultHttpContext(); - Requests[3088].RequestServices = CreateServices(); - Requests[3088].Request.Method = "DELETE"; - Requests[3088].Request.Path = "/subscriptions/d8f72a79-6437-/resourceGroups/456b0de2-6442-419/providers/Microsoft.ServiceFabric/clusters/4209bdd3-ec/applications/2b2681f7-e71c-4/services/456d590b-76"; - Requests[3089] = new DefaultHttpContext(); - Requests[3089].RequestServices = CreateServices(); - Requests[3089].Request.Method = "DELETE"; - Requests[3089].Request.Path = "/subscriptions/2834f500-cca8-/resourceGroups/06818806-f832-4ee/providers/Microsoft.ServiceFabric/clusters/bdc5bd82-f3/applicationTypes/c563ffc8-cd2a-4cbf-/versions/6942a6c"; - Requests[3090] = new DefaultHttpContext(); - Requests[3090].RequestServices = CreateServices(); - Requests[3090].Request.Method = "PUT"; - Requests[3090].Request.Path = "/subscriptions/5f1cf18a-9f41-/resourceGroups/939749aa-6a11-4a1/providers/Microsoft.Sql/servers/ef7a21c9-7/databases/4605839c-df0/advisors/adee97cc-b9"; - Requests[3091] = new DefaultHttpContext(); - Requests[3091].RequestServices = CreateServices(); - Requests[3091].Request.Method = "PUT"; - Requests[3091].Request.Path = "/subscriptions/bc0df08f-7bb5-/resourceGroups/f4c30d0d-b433-49f/providers/Microsoft.Sql/servers/8c051e14-9/databases/aae15fdb-9d5/auditingPolicies/bacbf767-03cc-4cce-b524"; - Requests[3092] = new DefaultHttpContext(); - Requests[3092].RequestServices = CreateServices(); - Requests[3092].Request.Method = "PUT"; - Requests[3092].Request.Path = "/subscriptions/5acd414f-5bd6-/resourceGroups/f13e1f8c-682a-4f5/providers/Microsoft.Sql/servers/b94b36d1-d/databases/9a8e82b6-2ad/auditingSettings/c279611f-37c9-4de0-8f5"; - Requests[3093] = new DefaultHttpContext(); - Requests[3093].RequestServices = CreateServices(); - Requests[3093].Request.Method = "PUT"; - Requests[3093].Request.Path = "/subscriptions/cdbf61b8-defc-/resourceGroups/d0dbd2a3-46e3-43b/providers/Microsoft.Sql/servers/df64333b-f/databases/d875057e-c92/backupLongTermRetentionPolicies/fe18e93e-ad59-40a3-ba69-e5bd4583d"; - Requests[3094] = new DefaultHttpContext(); - Requests[3094].RequestServices = CreateServices(); - Requests[3094].Request.Method = "PATCH"; - Requests[3094].Request.Path = "/subscriptions/7f6ffe43-7239-/resourceGroups/a148ba10-4d20-42c/providers/Microsoft.Sql/servers/71899b7c-7/databases/56bb4951-d70/backupShortTermRetentionPolicies/952fa9d7-0"; - Requests[3095] = new DefaultHttpContext(); - Requests[3095].RequestServices = CreateServices(); - Requests[3095].Request.Method = "PUT"; - Requests[3095].Request.Path = "/subscriptions/0ad4fd3a-1568-/resourceGroups/7c09f213-7d0a-4c3/providers/Microsoft.Sql/servers/a108983c-d/databases/d9758df8-eec/connectionPolicies/2438e265-3459-493c-b"; - Requests[3096] = new DefaultHttpContext(); - Requests[3096].RequestServices = CreateServices(); - Requests[3096].Request.Method = "GET"; - Requests[3096].Request.Path = "/subscriptions/aeeebf56-8162-/resourceGroups/2a681613-9b6c-4f4/providers/Microsoft.Sql/servers/5dfa7eeb-d/databases/7f98df54-707/dataMaskingPolicies/01e5cacd-9d72-4055-89"; - Requests[3097] = new DefaultHttpContext(); - Requests[3097].RequestServices = CreateServices(); - Requests[3097].Request.Method = "GET"; - Requests[3097].Request.Path = "/subscriptions/6b8adff9-80f9-/resourceGroups/aae3c159-fe1b-4db/providers/Microsoft.Sql/servers/114108ad-0/databases/e6590dc2-8ae/dataWarehouseUserActivities/65804174-1d17-4501-bc4c-a3539"; - Requests[3098] = new DefaultHttpContext(); - Requests[3098].RequestServices = CreateServices(); - Requests[3098].Request.Method = "PUT"; - Requests[3098].Request.Path = "/subscriptions/c4a4d781-1829-/resourceGroups/86ffb389-1ba1-493/providers/Microsoft.Sql/servers/993a3389-e/databases/4ebc2e2f-e1e/extensions/a0c7b430-6c37"; - Requests[3099] = new DefaultHttpContext(); - Requests[3099].RequestServices = CreateServices(); - Requests[3099].Request.Method = "GET"; - Requests[3099].Request.Path = "/subscriptions/ef88b83e-6fa9-/resourceGroups/b582fc24-ea88-460/providers/Microsoft.Sql/servers/6d237372-c/databases/d4e97db6-f4a/geoBackupPolicies/bba607cb-70fd-408a-"; - Requests[3100] = new DefaultHttpContext(); - Requests[3100].RequestServices = CreateServices(); - Requests[3100].Request.Method = "GET"; - Requests[3100].Request.Path = "/subscriptions/469c6229-1e64-/resourceGroups/2f98a35d-d4b0-4b6/providers/Microsoft.Sql/servers/583797dc-8/databases/093f5475-02d/replicationLinks/fd1e4f"; - Requests[3101] = new DefaultHttpContext(); - Requests[3101].RequestServices = CreateServices(); - Requests[3101].Request.Method = "DELETE"; - Requests[3101].Request.Path = "/subscriptions/cb003028-1904-/resourceGroups/d940b84b-c387-4b7/providers/Microsoft.Sql/servers/5bad277b-8/databases/77697309-0f2/restorePoints/fd100c19-d9f2-49"; - Requests[3102] = new DefaultHttpContext(); - Requests[3102].RequestServices = CreateServices(); - Requests[3102].Request.Method = "PUT"; - Requests[3102].Request.Path = "/subscriptions/11f481fc-1b7d-/resourceGroups/8ad5cfbf-101e-47a/providers/Microsoft.Sql/servers/dd8cf9dd-7/databases/73c2a023-1a2/securityAlertPolicies/3da3fdae-01be-4152-b682"; - Requests[3103] = new DefaultHttpContext(); - Requests[3103].RequestServices = CreateServices(); - Requests[3103].Request.Method = "GET"; - Requests[3103].Request.Path = "/subscriptions/dc803419-c56f-/resourceGroups/816ec242-ed2f-489/providers/Microsoft.Sql/servers/5ab6352d-2/databases/648886fa-255/serviceTierAdvisors/3f377bac-4303-4389-a6c"; - Requests[3104] = new DefaultHttpContext(); - Requests[3104].RequestServices = CreateServices(); - Requests[3104].Request.Method = "PATCH"; - Requests[3104].Request.Path = "/subscriptions/d81c38a7-4713-/resourceGroups/6b4e3458-f944-4f1/providers/Microsoft.Sql/servers/c792f710-8/databases/a6b6f30d-a90/syncGroups/53353b3b-12e4"; - Requests[3105] = new DefaultHttpContext(); - Requests[3105].RequestServices = CreateServices(); - Requests[3105].Request.Method = "GET"; - Requests[3105].Request.Path = "/subscriptions/4edbd719-6fc1-/resourceGroups/7cf3acb0-e264-429/providers/Microsoft.Sql/servers/68edce3e-5/databases/a5b6c64f-305/transparentDataEncryption/13c70152-7c95-481c-9f91-7949e"; - Requests[3106] = new DefaultHttpContext(); - Requests[3106].RequestServices = CreateServices(); - Requests[3106].Request.Method = "DELETE"; - Requests[3106].Request.Path = "/subscriptions/f4ade4b5-7a16-/resourceGroups/81a5d11f-b57b-46d/providers/Microsoft.Sql/servers/04d48bdc-d/databases/76a494e1-cdf/vulnerabilityAssessments/026ac4cc-b46d-4cda-8301-87c"; - Requests[3107] = new DefaultHttpContext(); - Requests[3107].RequestServices = CreateServices(); - Requests[3107].Request.Method = "GET"; - Requests[3107].Request.Path = "/subscriptions/a5e5cbb1-5e48-/resourceGroups/a2b770cf-89af-42b/providers/Microsoft.Sql/servers/af2923e8-a/elasticPools/12d73ff7-621c-4/databases/717341b8-18a"; - Requests[3108] = new DefaultHttpContext(); - Requests[3108].RequestServices = CreateServices(); - Requests[3108].Request.Method = "DELETE"; - Requests[3108].Request.Path = "/subscriptions/ccce0607-8024-/resourceGroups/467ea7c1-f0db-4ad/providers/Microsoft.Sql/servers/85144eb0-2/jobAgents/29c7bc2d-a3a/credentials/e82da0ee-d3d6-"; - Requests[3109] = new DefaultHttpContext(); - Requests[3109].RequestServices = CreateServices(); - Requests[3109].Request.Method = "DELETE"; - Requests[3109].Request.Path = "/subscriptions/f276db31-6a0f-/resourceGroups/04cb3140-e58b-438/providers/Microsoft.Sql/servers/22623f05-a/jobAgents/464e18c1-6eb/jobs/aa50990"; - Requests[3110] = new DefaultHttpContext(); - Requests[3110].RequestServices = CreateServices(); - Requests[3110].Request.Method = "DELETE"; - Requests[3110].Request.Path = "/subscriptions/fb93039b-ab64-/resourceGroups/d50e2335-f9f1-4f6/providers/Microsoft.Sql/servers/21dbf2c7-e/jobAgents/884f639e-6eb/targetGroups/1084ea5d-8ce7-4"; - Requests[3111] = new DefaultHttpContext(); - Requests[3111].RequestServices = CreateServices(); - Requests[3111].Request.Method = "GET"; - Requests[3111].Request.Path = "/subscriptions/85a0eda7-091d-/resourceGroups/86b9fd14-5bb1-48b/providers/Microsoft.Sql/servers/d9c1ce4e-4/recommendedElasticPools/da1feaf4-3ae9-4cf9-b35f-32/databases/09e954a0-d5f"; - Requests[3112] = new DefaultHttpContext(); - Requests[3112].RequestServices = CreateServices(); - Requests[3112].Request.Method = "DELETE"; - Requests[3112].Request.Path = "/subscriptions/7033c945-8bfc-/resourceGroups/315cc56f-409a-490/providers/Microsoft.StorSimple/managers/b767cbe8-0e/devices/b7838434-8/backupPolicies/f496a036-b9c7-4b"; - Requests[3113] = new DefaultHttpContext(); - Requests[3113].RequestServices = CreateServices(); - Requests[3113].Request.Method = "DELETE"; - Requests[3113].Request.Path = "/subscriptions/6483328f-f30e-/resourceGroups/fc47e485-d26f-423/providers/Microsoft.StorSimple/managers/42cb17a9-a9/devices/9dba68d4-a/backups/071d6e12-b"; - Requests[3114] = new DefaultHttpContext(); - Requests[3114].RequestServices = CreateServices(); - Requests[3114].Request.Method = "GET"; - Requests[3114].Request.Path = "/subscriptions/c9a6dd60-c394-/resourceGroups/4b555f27-b46d-467/providers/Microsoft.StorSimple/managers/17c17aef-c6/devices/e1feb116-2/jobs/7a63442"; - Requests[3115] = new DefaultHttpContext(); - Requests[3115].RequestServices = CreateServices(); - Requests[3115].Request.Method = "DELETE"; - Requests[3115].Request.Path = "/subscriptions/34f4cad5-dfdd-/resourceGroups/e3b188a6-b45d-4e5/providers/Microsoft.StorSimple/managers/b9231a88-26/devices/c2dd8062-2/volumeContainers/3de471f3-586d-4f4d-"; - Requests[3116] = new DefaultHttpContext(); - Requests[3116].RequestServices = CreateServices(); - Requests[3116].Request.Method = "GET"; - Requests[3116].Request.Path = "/subscriptions/f3aef894-2b1f-/resourcegroups/3b04f91e-187b-41f/providers/Microsoft.Update.Admin/updateLocations/171421eb-aaef-/updates/0df70637-5/updateRuns/bea2fa7"; - Requests[3117] = new DefaultHttpContext(); - Requests[3117].RequestServices = CreateServices(); - Requests[3117].Request.Method = "DELETE"; - Requests[3117].Request.Path = "/subscriptions/9784f090-c524-/resourceGroups/adbb8e24-75c9-4ad/providers/Microsoft.Web/serverfarms/61ec1/hybridConnectionNamespaces/e7b96ac5-4692/relays/168c9edf-"; - Requests[3118] = new DefaultHttpContext(); - Requests[3118].RequestServices = CreateServices(); - Requests[3118].Request.Method = "PUT"; - Requests[3118].Request.Path = "/subscriptions/b80a38a0-1a2a-/resourceGroups/848f7dff-2bfb-4e7/providers/Microsoft.Web/serverfarms/3db65/virtualNetworkConnections/bfb3d55c/gateways/7465ea94-79"; - Requests[3119] = new DefaultHttpContext(); - Requests[3119].RequestServices = CreateServices(); - Requests[3119].Request.Method = "PATCH"; - Requests[3119].Request.Path = "/subscriptions/bc4a158d-d04a-/resourceGroups/a3998953-cc8f-48b/providers/Microsoft.Web/serverfarms/4758f/virtualNetworkConnections/00ebd6d1/routes/73586d66-"; - Requests[3120] = new DefaultHttpContext(); - Requests[3120].RequestServices = CreateServices(); - Requests[3120].Request.Method = "PATCH"; - Requests[3120].Request.Path = "/subscriptions/e2342c3a-d76a-/resourceGroups/1e691792-a6c9-4e8/providers/Microsoft.Web/sites/cd195/hybridConnectionNamespaces/a9f06f44-840f/relays/869a1068-"; - Requests[3121] = new DefaultHttpContext(); - Requests[3121].RequestServices = CreateServices(); - Requests[3121].Request.Method = "DELETE"; - Requests[3121].Request.Path = "/subscriptions/a2dd9267-fa2b-/resourceGroups/0f290132-49d2-411/providers/Microsoft.Web/sites/9a7d0/instances/5f725c70-7/deployments/9f936"; - Requests[3122] = new DefaultHttpContext(); - Requests[3122].RequestServices = CreateServices(); - Requests[3122].Request.Method = "DELETE"; - Requests[3122].Request.Path = "/subscriptions/e8da6bb2-bda2-/resourceGroups/6f124deb-7e8f-4b7/providers/Microsoft.Web/sites/805e2/instances/5af24eeb-2/processes/91af76b3-"; - Requests[3123] = new DefaultHttpContext(); - Requests[3123].RequestServices = CreateServices(); - Requests[3123].Request.Method = "GET"; - Requests[3123].Request.Path = "/subscriptions/15bcc39a-61a8-/resourceGroups/abcdd0a4-d7dd-47b/providers/Microsoft.Web/sites/86e66/processes/66e28303-/modules/7e56c83d-92"; - Requests[3124] = new DefaultHttpContext(); - Requests[3124].RequestServices = CreateServices(); - Requests[3124].Request.Method = "GET"; - Requests[3124].Request.Path = "/subscriptions/bba8e723-ed19-/resourceGroups/b63bc281-dd8a-408/providers/Microsoft.Web/sites/99fda/processes/59117efc-/threads/20089e1a"; - Requests[3125] = new DefaultHttpContext(); - Requests[3125].RequestServices = CreateServices(); - Requests[3125].Request.Method = "DELETE"; - Requests[3125].Request.Path = "/subscriptions/c30b5f17-8349-/resourceGroups/fbd85af2-8126-444/providers/Microsoft.Web/sites/00e8c/slots/2da79/backups/d1d09669"; - Requests[3126] = new DefaultHttpContext(); - Requests[3126].RequestServices = CreateServices(); - Requests[3126].Request.Method = "DELETE"; - Requests[3126].Request.Path = "/subscriptions/f871c3fd-3530-/resourceGroups/f809a001-f8d4-427/providers/Microsoft.Web/sites/0d70b/slots/7972c/continuouswebjobs/d7447762-9"; - Requests[3127] = new DefaultHttpContext(); - Requests[3127].RequestServices = CreateServices(); - Requests[3127].Request.Method = "DELETE"; - Requests[3127].Request.Path = "/subscriptions/87d19243-18fa-/resourceGroups/20c2333f-8257-4d9/providers/Microsoft.Web/sites/6fad4/slots/9d56e/deployments/21449"; - Requests[3128] = new DefaultHttpContext(); - Requests[3128].RequestServices = CreateServices(); - Requests[3128].Request.Method = "PATCH"; - Requests[3128].Request.Path = "/subscriptions/89218eb3-49e8-/resourceGroups/cbe2768f-d75a-43b/providers/Microsoft.Web/sites/f9052/slots/aea86/domainOwnershipIdentifiers/a8b9d896-6738-44d4-abc3-a89e1"; - Requests[3129] = new DefaultHttpContext(); - Requests[3129].RequestServices = CreateServices(); - Requests[3129].Request.Method = "DELETE"; - Requests[3129].Request.Path = "/subscriptions/01ceac2e-7ebc-/resourceGroups/e54393dc-6693-4f9/providers/Microsoft.Web/sites/c2ceb/slots/7849d/functions/b0a024cb-0ed"; - Requests[3130] = new DefaultHttpContext(); - Requests[3130].RequestServices = CreateServices(); - Requests[3130].Request.Method = "DELETE"; - Requests[3130].Request.Path = "/subscriptions/f7455ff9-1447-/resourceGroups/41f2f4ad-ccd9-417/providers/Microsoft.Web/sites/9d91c/slots/ca011/hostNameBindings/88ab5253"; - Requests[3131] = new DefaultHttpContext(); - Requests[3131].RequestServices = CreateServices(); - Requests[3131].Request.Method = "PATCH"; - Requests[3131].Request.Path = "/subscriptions/4e0b3385-96ca-/resourceGroups/d5e45750-cc10-456/providers/Microsoft.Web/sites/777de/slots/c03b9/hybridconnection/d90fec27-8"; - Requests[3132] = new DefaultHttpContext(); - Requests[3132].RequestServices = CreateServices(); - Requests[3132].Request.Method = "GET"; - Requests[3132].Request.Path = "/subscriptions/418e14f3-c313-/resourceGroups/40e2a937-f77e-4b1/providers/Microsoft.Web/sites/a6c76/slots/3a4a6/networkFeatures/9ca79"; - Requests[3133] = new DefaultHttpContext(); - Requests[3133].RequestServices = CreateServices(); - Requests[3133].Request.Method = "GET"; - Requests[3133].Request.Path = "/subscriptions/08c428c3-35c1-/resourceGroups/7b1a5a65-37a9-41e/providers/Microsoft.Web/sites/8d1e7/slots/4c2af/operationresults/1b5ee8f5-18"; - Requests[3134] = new DefaultHttpContext(); - Requests[3134].RequestServices = CreateServices(); - Requests[3134].Request.Method = "DELETE"; - Requests[3134].Request.Path = "/subscriptions/a3a4755c-9484-/resourceGroups/2db6e9a1-7072-426/providers/Microsoft.Web/sites/e3357/slots/04b1d/premieraddons/3051d09d-17a1-41"; - Requests[3135] = new DefaultHttpContext(); - Requests[3135].RequestServices = CreateServices(); - Requests[3135].Request.Method = "DELETE"; - Requests[3135].Request.Path = "/subscriptions/ca7b16a4-a469-/resourceGroups/bb9ca8e8-358a-472/providers/Microsoft.Web/sites/ce806/slots/5c563/processes/cd0eb04e-"; - Requests[3136] = new DefaultHttpContext(); - Requests[3136].RequestServices = CreateServices(); - Requests[3136].Request.Method = "DELETE"; - Requests[3136].Request.Path = "/subscriptions/08453196-7941-/resourceGroups/92409a69-f783-40f/providers/Microsoft.Web/sites/f899a/slots/eaa1c/publicCertificates/469eb6d2-4f35-4d1e-bc"; - Requests[3137] = new DefaultHttpContext(); - Requests[3137].RequestServices = CreateServices(); - Requests[3137].Request.Method = "DELETE"; - Requests[3137].Request.Path = "/subscriptions/9250f60a-9208-/resourceGroups/15d2439b-9b37-411/providers/Microsoft.Web/sites/fd159/slots/d6d1f/siteextensions/f2a9e367-48d7-4"; - Requests[3138] = new DefaultHttpContext(); - Requests[3138].RequestServices = CreateServices(); - Requests[3138].Request.Method = "DELETE"; - Requests[3138].Request.Path = "/subscriptions/ea82d60f-ee75-/resourceGroups/6137e016-1df1-498/providers/Microsoft.Web/sites/c3c50/slots/5aa8c/triggeredwebjobs/e334d80f-9"; - Requests[3139] = new DefaultHttpContext(); - Requests[3139].RequestServices = CreateServices(); - Requests[3139].Request.Method = "PATCH"; - Requests[3139].Request.Path = "/subscriptions/7b750c1f-7e11-/resourceGroups/daca79cf-f1ab-48f/providers/Microsoft.Web/sites/d40dd/slots/6fad0/virtualNetworkConnections/d151a0e1"; - Requests[3140] = new DefaultHttpContext(); - Requests[3140].RequestServices = CreateServices(); - Requests[3140].Request.Method = "GET"; - Requests[3140].Request.Path = "/subscriptions/1d0a4752-ef7d-/resourceGroups/e812ddc9-6041-49b/providers/Microsoft.Web/sites/fc7d5/slots/7d968/webjobs/ee0262cb-5"; - Requests[3141] = new DefaultHttpContext(); - Requests[3141].RequestServices = CreateServices(); - Requests[3141].Request.Method = "GET"; - Requests[3141].Request.Path = "/subscriptions/8855e7fd-9d92-/resourceGroups/422c8bc4-2ba6-485/providers/Microsoft.Web/sites/2bc07/triggeredwebjobs/cca55f6f-3/history/68322"; - Requests[3142] = new DefaultHttpContext(); - Requests[3142].RequestServices = CreateServices(); - Requests[3142].Request.Method = "PATCH"; - Requests[3142].Request.Path = "/subscriptions/ccfd940d-50ac-/resourceGroups/bf7ee06f-6806-4fd/providers/Microsoft.Web/sites/5228d/virtualNetworkConnections/fe727704/gateways/d02b62f3-a1"; - Requests[3143] = new DefaultHttpContext(); - Requests[3143].RequestServices = CreateServices(); - Requests[3143].Request.Method = "GET"; - Requests[3143].Request.Path = "/subscriptions/aa922183-0398-/resourceGroups/902ba857-386c-4c1/providers/Microsoft.Web/sites/dd4dddc5/diagnostics/f0a09141-6281-422c/analyses/a55b4396-d86"; - Requests[3144] = new DefaultHttpContext(); - Requests[3144].RequestServices = CreateServices(); - Requests[3144].Request.Method = "GET"; - Requests[3144].Request.Path = "/subscriptions/c2f38c45-6673-/resourceGroups/fc84f282-d699-477/providers/Microsoft.Web/sites/84bb995f/diagnostics/0c87a0fa-a864-45b8/detectors/5026ca36-084"; - Requests[3145] = new DefaultHttpContext(); - Requests[3145].RequestServices = CreateServices(); - Requests[3145].Request.Method = "GET"; - Requests[3145].Request.Path = "/subscriptions/0641c8d3-9d84-/resourceGroups/7da5fc24-9c99-4fe/providers/Microsoft.Web/sites/b33967fe/slots/15c4c/detectors/e91e4e3b-c91"; - Requests[3146] = new DefaultHttpContext(); - Requests[3146].RequestServices = CreateServices(); - Requests[3146].Request.Method = "GET"; - Requests[3146].Request.Path = "/subscriptions/d6a5a4df-accf-/resourceGroups/0b49d97c-5c97-433/providers/Microsoft.Web/sites/0c55c383/slots/c9493/diagnostics/7279476b-7ff3-4e3f"; - Requests[3147] = new DefaultHttpContext(); - Requests[3147].RequestServices = CreateServices(); - Requests[3147].Request.Method = "POST"; - Requests[3147].Request.Path = "/subscriptions/92a7f2d8-bdf1-/resourceGroups/176874bb-/providers/Microsoft.DataMigration/services/9762b4b5-fc/projects/d62e2770-9c/tasks/2e6847f3/cancel"; - Requests[3148] = new DefaultHttpContext(); - Requests[3148].RequestServices = CreateServices(); - Requests[3148].Request.Method = "GET"; - Requests[3148].Request.Path = "/subscriptions/8229d1cf-64f8-/resourceGroups/e3de7ec6-8656-491/providers/Microsoft.ApiManagement/service/2a2bb982-a2/apis/d5f82/diagnostics/de26ae49-6c9/loggers"; - Requests[3149] = new DefaultHttpContext(); - Requests[3149].RequestServices = CreateServices(); - Requests[3149].Request.Method = "GET"; - Requests[3149].Request.Path = "/subscriptions/3941748a-6738-/resourceGroups/503479fd-cfc3-44a/providers/Microsoft.ApiManagement/service/11b0f249-0a/apis/5f393/issues/f61d8a6/attachments"; - Requests[3150] = new DefaultHttpContext(); - Requests[3150].RequestServices = CreateServices(); - Requests[3150].Request.Method = "GET"; - Requests[3150].Request.Path = "/subscriptions/41c43424-e464-/resourceGroups/66b206fc-84d5-4e2/providers/Microsoft.ApiManagement/service/5a4804ff-a4/apis/37d11/issues/ef06f4f/comments"; - Requests[3151] = new DefaultHttpContext(); - Requests[3151].RequestServices = CreateServices(); - Requests[3151].Request.Method = "GET"; - Requests[3151].Request.Path = "/subscriptions/28328fd0-99f7-/resourceGroups/c1c9dae0-a28f-459/providers/Microsoft.ApiManagement/service/0bcfa557-ba/apis/846da/operations/550e1359-d6/policies"; - Requests[3152] = new DefaultHttpContext(); - Requests[3152].RequestServices = CreateServices(); - Requests[3152].Request.Method = "DELETE"; - Requests[3152].Request.Path = "/subscriptions/cae3f346-848e-/resourceGroups/bfce666f-0e38-403/providers/Microsoft.ApiManagement/service/f2335a2f-94/apis/afe3c/operations/68eff19c-15/policy"; - Requests[3153] = new DefaultHttpContext(); - Requests[3153].RequestServices = CreateServices(); - Requests[3153].Request.Method = "GET"; - Requests[3153].Request.Path = "/subscriptions/07e72f2c-5723-/resourceGroups/30ae0e09-d19b-437/providers/Microsoft.ApiManagement/service/ea4a5a75-3c/apis/531ca/operations/0073a9a1-8f/tags"; - Requests[3154] = new DefaultHttpContext(); - Requests[3154].RequestServices = CreateServices(); - Requests[3154].Request.Method = "GET"; - Requests[3154].Request.Path = "/subscriptions/335fda13-a9d6-/resourceGroups/7b28bda1-eeb2-4e4/providers/Microsoft.Automation/automationAccounts/e6e0e88e-ef52-4c10-91/modules/89babab9-9/objectDataTypes/42a50802/fields"; - Requests[3155] = new DefaultHttpContext(); - Requests[3155].RequestServices = CreateServices(); - Requests[3155].Request.Method = "GET"; - Requests[3155].Request.Path = "/subscriptions/3fc331b3-a27d-/resourceGroups/595db88b-8075-496/providers/Microsoft.Automation/automationAccounts/8241a8db-b1f8-43c0-99/modules/860fa7a6-0/types/efe53e55/fields"; - Requests[3156] = new DefaultHttpContext(); - Requests[3156].RequestServices = CreateServices(); - Requests[3156].Request.Method = "GET"; - Requests[3156].Request.Path = "/subscriptions/967825ff-5842-/resourceGroups/0cb8754b-eecd-4b1/providers/Microsoft.Automation/automationAccounts/99ebb61e-6996-44d7-ab/nodes/35fe9e/reports/5936e4e1/content"; - Requests[3157] = new DefaultHttpContext(); - Requests[3157].RequestServices = CreateServices(); - Requests[3157].Request.Method = "GET"; - Requests[3157].Request.Path = "/subscriptions/f849a305-283a-/resourceGroups/7c265dc2-6516-485/providers/Microsoft.Automation/automationAccounts/a3b96bac-e49e-4056-81/sourceControls/0f28dd0c-cd3f-454/sourceControlSyncJobs/a809aa2f-25e2-4763-862/streams"; - Requests[3158] = new DefaultHttpContext(); - Requests[3158].RequestServices = CreateServices(); - Requests[3158].Request.Method = "POST"; - Requests[3158].Request.Path = "/subscriptions/22ece011-497c-/resourceGroups/087653a5-2736-44a/providers/Microsoft.Batch/batchAccounts/5c384523-8b/applications/0440cb54-854b/versions/794c36f/activate"; - Requests[3159] = new DefaultHttpContext(); - Requests[3159].RequestServices = CreateServices(); - Requests[3159].Request.Method = "POST"; - Requests[3159].Request.Path = "/subscriptions/d47dd402-d779-/resourceGroups/5e548636-3c9e-49e/providers/Microsoft.BatchAI/workspaces/fd52e9fe-9c47/experiments/f2df516b-a21e-/jobs/efc87bb/listOutputFiles"; - Requests[3160] = new DefaultHttpContext(); - Requests[3160].RequestServices = CreateServices(); - Requests[3160].Request.Method = "POST"; - Requests[3160].Request.Path = "/subscriptions/355ac358-d398-/resourceGroups/3ea9e2ee-c96d-405/providers/Microsoft.BatchAI/workspaces/b016c468-808f/experiments/aac86576-0871-/jobs/9475ec8/listRemoteLoginInformation"; - Requests[3161] = new DefaultHttpContext(); - Requests[3161].RequestServices = CreateServices(); - Requests[3161].Request.Method = "POST"; - Requests[3161].Request.Path = "/subscriptions/fa4c3134-525a-/resourceGroups/ca8a9656-5e45-42d/providers/Microsoft.BatchAI/workspaces/0e495358-1c93/experiments/c7740d10-636e-/jobs/025e1f2/terminate"; - Requests[3162] = new DefaultHttpContext(); - Requests[3162].RequestServices = CreateServices(); - Requests[3162].Request.Method = "POST"; - Requests[3162].Request.Path = "/subscriptions/c577352b-7b5c-/resourceGroups/af567410-da0c-4b8/providers/Microsoft.Cdn/profiles/7ec62a0d-60/endpoints/9f6c96f7-115/customDomains/a49498c3-4bbc-4b/disableCustomHttps"; - Requests[3163] = new DefaultHttpContext(); - Requests[3163].RequestServices = CreateServices(); - Requests[3163].Request.Method = "POST"; - Requests[3163].Request.Path = "/subscriptions/906a8099-e534-/resourceGroups/b85523b4-9951-405/providers/Microsoft.Cdn/profiles/01ad1b82-07/endpoints/bdee03d8-fb8/customDomains/84a2e439-856c-43/enableCustomHttps"; - Requests[3164] = new DefaultHttpContext(); - Requests[3164].RequestServices = CreateServices(); - Requests[3164].Request.Method = "GET"; - Requests[3164].Request.Path = "/subscriptions/f9319e26-1ada-/resourceGroups/10c1062d-d820-436/providers/microsoft.Compute/virtualMachineScaleSets/03c37563-f38e-42b7-9541-e7/virtualMachines/532748e4-c288-4eda-/networkInterfaces/6f36f9d2-77d9-448d-b/ipConfigurations"; - Requests[3165] = new DefaultHttpContext(); - Requests[3165].RequestServices = CreateServices(); - Requests[3165].Request.Method = "POST"; - Requests[3165].Request.Path = "/subscriptions/d4bde3d5-2e93-/resourceGroups/d84bd5b5-3eb8-4c5/providers/Microsoft.ContainerRegistry/registries/e6fd6f02-8bc/buildTasks/7c5cde69-b8e7/steps/c90c855f/listBuildArguments"; - Requests[3166] = new DefaultHttpContext(); - Requests[3166].RequestServices = CreateServices(); - Requests[3166].Request.Method = "POST"; - Requests[3166].Request.Path = "/subscriptions/13f2753a-e61d-/resourceGroups/63c2d34b-4339-461/providers/Microsoft.DataFactory/factories/95cb25a5-cd/integrationRuntimes/37651e55-46b9-49b4-b6d/nodes/b365671f/ipAddress"; - Requests[3167] = new DefaultHttpContext(); - Requests[3167].RequestServices = CreateServices(); - Requests[3167].Request.Method = "POST"; - Requests[3167].Request.Path = "/subscriptions/1cd7bcf1-ac84-/resourceGroups/6fe51b19-672d-480/providers/Microsoft.DataLakeAnalytics/accounts/0fe35a14-05/storageAccounts/45f76c91-e775-477e/containers/ec0698f9-6d8c/listSasTokens"; - Requests[3168] = new DefaultHttpContext(); - Requests[3168].RequestServices = CreateServices(); - Requests[3168].Request.Method = "POST"; - Requests[3168].Request.Path = "/subscriptions/35785bd6-3f87-/resourceGroups/80c8c5a0-fcde-4cf/providers/Microsoft.DevTestLab/labs/204ff40/artifactsources/095d83f9-4e05-48c4/artifacts/c50b7/generateArmTemplate"; - Requests[3169] = new DefaultHttpContext(); - Requests[3169].RequestServices = CreateServices(); - Requests[3169].Request.Method = "POST"; - Requests[3169].Request.Path = "/subscriptions/ff09ebe6-1f11-/resourceGroups/ca498471-e3f6-43a/providers/Microsoft.DevTestLab/labs/e2488e3/users/57cc6d01/disks/cc74f/attach"; - Requests[3170] = new DefaultHttpContext(); - Requests[3170].RequestServices = CreateServices(); - Requests[3170].Request.Method = "POST"; - Requests[3170].Request.Path = "/subscriptions/e7eb968c-e20b-/resourceGroups/f74c2f30-f9f6-4c4/providers/Microsoft.DevTestLab/labs/4c5b782/users/d36c4404/disks/293c4/detach"; - Requests[3171] = new DefaultHttpContext(); - Requests[3171].RequestServices = CreateServices(); - Requests[3171].Request.Method = "POST"; - Requests[3171].Request.Path = "/subscriptions/da67ed92-c8dd-/resourceGroups/d20843aa-2a46-4b0/providers/Microsoft.DevTestLab/labs/c9f0184/virtualmachines/e74ab966-6467-4b19/schedules/de470/execute"; - Requests[3172] = new DefaultHttpContext(); - Requests[3172].RequestServices = CreateServices(); - Requests[3172].Request.Method = "GET"; - Requests[3172].Request.Path = "/subscriptions/a7ea2862-93f1-/resourceGroups/bee49f2b-2723-45e/providers/Microsoft.DocumentDB/databaseAccounts/31cbd97d-73/databases/be69ac7c-20/collections/6c00d25c-dfd0/metricDefinitions"; - Requests[3173] = new DefaultHttpContext(); - Requests[3173].RequestServices = CreateServices(); - Requests[3173].Request.Method = "GET"; - Requests[3173].Request.Path = "/subscriptions/3b4db71f-21b3-/resourceGroups/58d5977a-819a-471/providers/Microsoft.DocumentDB/databaseAccounts/3e7f569e-cf/databases/13fd4d75-7f/collections/860a95ed-6b23/metrics"; - Requests[3174] = new DefaultHttpContext(); - Requests[3174].RequestServices = CreateServices(); - Requests[3174].Request.Method = "GET"; - Requests[3174].Request.Path = "/subscriptions/bd9cf725-8ad3-/resourceGroups/28413a14-e5eb-496/providers/Microsoft.DocumentDB/databaseAccounts/5b9b1f71-86/databases/aaa4736e-23/collections/2c82d939-2803/usages"; - Requests[3175] = new DefaultHttpContext(); - Requests[3175].RequestServices = CreateServices(); - Requests[3175].Request.Method = "POST"; - Requests[3175].Request.Path = "/subscriptions/3644f811-7563-/resourceGroups/2e2d4558-ba7b-43a/providers/Microsoft.EventHub/namespaces/59737c7a-a218/disasterRecoveryConfigs/106b1/AuthorizationRules/d557b786-9313-4332-a8/listKeys"; - Requests[3176] = new DefaultHttpContext(); - Requests[3176].RequestServices = CreateServices(); - Requests[3176].Request.Method = "POST"; - Requests[3176].Request.Path = "/subscriptions/1353cee4-06e3-/resourceGroups/eb07c9ad-eb56-43b/providers/Microsoft.EventHub/namespaces/c3359845-84cd/eventhubs/4b32eb7d-67c/authorizationRules/06ac873c-2a8e-4320-ac/ListKeys"; - Requests[3177] = new DefaultHttpContext(); - Requests[3177].RequestServices = CreateServices(); - Requests[3177].Request.Method = "POST"; - Requests[3177].Request.Path = "/subscriptions/c10a246a-7bde-/resourceGroups/05675ac4-ebaf-492/providers/Microsoft.EventHub/namespaces/1289e445-f4d2/eventhubs/e6a565b4-698/authorizationRules/44f6d5c4-df93-425c-96/regenerateKeys"; - Requests[3178] = new DefaultHttpContext(); - Requests[3178].RequestServices = CreateServices(); - Requests[3178].Request.Method = "GET"; - Requests[3178].Request.Path = "/subscriptions/c3e638bf-2791-/resourceGroups/857cc8eb-c9b6-467/providers/Microsoft.Fabric.Admin/fabricLocations/c5d88f62/storageSubSystems/3ccb4bf4-b4a8-4d/storagePools/9444164b-7f/volumes"; - Requests[3179] = new DefaultHttpContext(); - Requests[3179].RequestServices = CreateServices(); - Requests[3179].Request.Method = "POST"; - Requests[3179].Request.Path = "/subscriptions/78815346-4099-/resourceGroups/d42863aa-de9c-49c/providers/Microsoft.Logic/workflows/a0fb2ea2-802/runs/b848195/actions/14a6c4fb-5/listExpressionTraces"; - Requests[3180] = new DefaultHttpContext(); - Requests[3180].RequestServices = CreateServices(); - Requests[3180].Request.Method = "GET"; - Requests[3180].Request.Path = "/subscriptions/e09bd6c7-8628-/resourceGroups/e818357d-d0b1-4d8/providers/Microsoft.Logic/workflows/c2333816-a0e/runs/7e22adf/actions/7582f492-e/repetitions"; - Requests[3181] = new DefaultHttpContext(); - Requests[3181].RequestServices = CreateServices(); - Requests[3181].Request.Method = "GET"; - Requests[3181].Request.Path = "/subscriptions/d10b0c6b-684b-/resourceGroups/62d85864-48e2-4dd/providers/Microsoft.Logic/workflows/793fca3f-b26/runs/f130fb0/actions/8b5ac3f4-0/scopeRepetitions"; - Requests[3182] = new DefaultHttpContext(); - Requests[3182].RequestServices = CreateServices(); - Requests[3182].Request.Method = "POST"; - Requests[3182].Request.Path = "/subscriptions/58dc5812-db37-/resourceGroups/40a647f4-d333-40b/providers/Microsoft.Logic/workflows/bffc222b-af9/triggers/d1e98d76-00/histories/b78a4b1a-5d/resubmit"; - Requests[3183] = new DefaultHttpContext(); - Requests[3183].RequestServices = CreateServices(); - Requests[3183].Request.Method = "POST"; - Requests[3183].Request.Path = "/subscriptions/88f45a90-4a8c-/resourceGroups/56323c6d-b2e3-49a/providers/Microsoft.Logic/workflows/1854ae76-cd4/versions/3a4171f3-/triggers/958534f7-fe/listCallbackUrl"; - Requests[3184] = new DefaultHttpContext(); - Requests[3184].RequestServices = CreateServices(); - Requests[3184].Request.Method = "POST"; - Requests[3184].Request.Path = "/subscriptions/6d93b3ad-1203-/resourceGroups/4e1467c5-54fd-485/providers/Microsoft.Media/mediaServices/ce5b02bf-4d/transforms/0c577d7c-9383/jobs/3d805cf/cancelJob"; - Requests[3185] = new DefaultHttpContext(); - Requests[3185].RequestServices = CreateServices(); - Requests[3185].Request.Method = "GET"; - Requests[3185].Request.Path = "/subscriptions/bd3cc624-b33a-/resourceGroups/93688598-aefc-44f/providers/Microsoft.Migrate/projects/fe145cd0-5d/groups/eedd371b-/assessments/d12e63e3-b755-/assessedMachines"; - Requests[3186] = new DefaultHttpContext(); - Requests[3186].RequestServices = CreateServices(); - Requests[3186].Request.Method = "POST"; - Requests[3186].Request.Path = "/subscriptions/9e35dcb8-2fcc-/resourceGroups/3a41c989-f5c1-40a/providers/Microsoft.Migrate/projects/3ad8a9e1-fc/groups/99c2b29a-/assessments/5bb4f3e8-da0e-/downloadUrl"; - Requests[3187] = new DefaultHttpContext(); - Requests[3187].RequestServices = CreateServices(); - Requests[3187].Request.Method = "POST"; - Requests[3187].Request.Path = "/subscriptions/7bc7a5b3-d06c-/resourceGroups/b03decfb-a00a-41f/providers/Microsoft.NotificationHubs/namespaces/08b8eab7-5602/notificationHubs/19f03389-85d0-445a-/AuthorizationRules/253f8189-2a96-466b-94/listKeys"; - Requests[3188] = new DefaultHttpContext(); - Requests[3188].RequestServices = CreateServices(); - Requests[3188].Request.Method = "POST"; - Requests[3188].Request.Path = "/subscriptions/e822b437-f1b7-/resourceGroups/575de95c-9400-407/providers/Microsoft.NotificationHubs/namespaces/c583a79a-f54d/notificationHubs/dc10c64f-21a3-40ed-/AuthorizationRules/74f534dd-2c06-4773-9a/regenerateKeys"; - Requests[3189] = new DefaultHttpContext(); - Requests[3189].RequestServices = CreateServices(); - Requests[3189].Request.Method = "GET"; - Requests[3189].Request.Path = "/Subscriptions/a2d8973c-7c1b-/resourceGroups/9a71f0e6-7b98-45c/providers/Microsoft.RecoveryServices/vaults/5de8808d-466/replicationFabrics/f154a9a5-9/replicationNetworks/68dfc8d4-05/replicationNetworkMappings"; - Requests[3190] = new DefaultHttpContext(); - Requests[3190].RequestServices = CreateServices(); - Requests[3190].Request.Method = "POST"; - Requests[3190].Request.Path = "/Subscriptions/badab4f8-1e31-/resourceGroups/7c841495-f190-404/providers/Microsoft.RecoveryServices/vaults/3c8367a8-615/replicationFabrics/f80a9871-1/replicationProtectionContainers/8c193946-40aa-472a-9d6b/discoverProtectableItem"; - Requests[3191] = new DefaultHttpContext(); - Requests[3191].RequestServices = CreateServices(); - Requests[3191].Request.Method = "POST"; - Requests[3191].Request.Path = "/Subscriptions/eaac5dc9-589a-/resourceGroups/6e064e1f-a0bf-47d/providers/Microsoft.RecoveryServices/vaults/93a7b9b1-d01/replicationFabrics/34865ca4-b/replicationProtectionContainers/29c03985-e941-4687-8916/remove"; - Requests[3192] = new DefaultHttpContext(); - Requests[3192].RequestServices = CreateServices(); - Requests[3192].Request.Method = "GET"; - Requests[3192].Request.Path = "/Subscriptions/157d11a1-7156-/resourceGroups/498e85a4-5707-4cb/providers/Microsoft.RecoveryServices/vaults/35dd3b4a-449/replicationFabrics/e6922171-5/replicationProtectionContainers/99a5def6-e2b7-49f7-8c97/replicationProtectableItems"; - Requests[3193] = new DefaultHttpContext(); - Requests[3193].RequestServices = CreateServices(); - Requests[3193].Request.Method = "GET"; - Requests[3193].Request.Path = "/Subscriptions/90d59166-8e40-/resourceGroups/ee386572-f930-413/providers/Microsoft.RecoveryServices/vaults/8fcee624-c36/replicationFabrics/8001f347-4/replicationProtectionContainers/55114eec-9133-448b-8efc/replicationProtectedItems"; - Requests[3194] = new DefaultHttpContext(); - Requests[3194].RequestServices = CreateServices(); - Requests[3194].Request.Method = "GET"; - Requests[3194].Request.Path = "/Subscriptions/6415bca8-1a38-/resourceGroups/a90ad8b8-7b4c-4ef/providers/Microsoft.RecoveryServices/vaults/454de207-052/replicationFabrics/c2af73b9-3/replicationProtectionContainers/51779d63-fa54-4106-9ae4/replicationProtectionContainerMappings"; - Requests[3195] = new DefaultHttpContext(); - Requests[3195].RequestServices = CreateServices(); - Requests[3195].Request.Method = "POST"; - Requests[3195].Request.Path = "/Subscriptions/ccf11884-05ed-/resourceGroups/bf808105-f575-460/providers/Microsoft.RecoveryServices/vaults/e09a3fe9-34a/replicationFabrics/108af255-0/replicationProtectionContainers/891feb1f-8837-4329-a734/switchprotection"; - Requests[3196] = new DefaultHttpContext(); - Requests[3196].RequestServices = CreateServices(); - Requests[3196].Request.Method = "POST"; - Requests[3196].Request.Path = "/Subscriptions/f9939ff3-ed08-/resourceGroups/7448cdef-7b35-4c4/providers/Microsoft.RecoveryServices/vaults/99e4aa34-83b/replicationFabrics/78635b81-b/replicationRecoveryServicesProviders/24e13330-827/refreshProvider"; - Requests[3197] = new DefaultHttpContext(); - Requests[3197].RequestServices = CreateServices(); - Requests[3197].Request.Method = "POST"; - Requests[3197].Request.Path = "/Subscriptions/6c0fec7f-f6f1-/resourceGroups/29d30888-8395-4dd/providers/Microsoft.RecoveryServices/vaults/049d1bd6-d59/replicationFabrics/2995f9d1-9/replicationRecoveryServicesProviders/8adb2fd8-241/remove"; - Requests[3198] = new DefaultHttpContext(); - Requests[3198].RequestServices = CreateServices(); - Requests[3198].Request.Method = "GET"; - Requests[3198].Request.Path = "/Subscriptions/3d26f02d-c38b-/resourceGroups/0b4f68c8-0077-42d/providers/Microsoft.RecoveryServices/vaults/55770fbd-2a1/replicationFabrics/f34f96b3-3/replicationStorageClassifications/249467f8-f8bc-4ead-9467-7/replicationStorageClassificationMappings"; - Requests[3199] = new DefaultHttpContext(); - Requests[3199].RequestServices = CreateServices(); - Requests[3199].Request.Method = "POST"; - Requests[3199].Request.Path = "/Subscriptions/1a24ac3a-2b55-/resourceGroups/601e3954-e091-4c8/providers/Microsoft.RecoveryServices/vaults/cbc5743a-/backupFabrics/7b10a4d7-d/protectionContainers/086308cd-a420/inquire"; - Requests[3200] = new DefaultHttpContext(); - Requests[3200].RequestServices = CreateServices(); - Requests[3200].Request.Method = "GET"; - Requests[3200].Request.Path = "/Subscriptions/65d217c9-e453-/resourceGroups/5413b300-8b09-466/providers/Microsoft.RecoveryServices/vaults/352f6ad7-/backupFabrics/250794b3-f/protectionContainers/68c8a111-a2bc/items"; - Requests[3201] = new DefaultHttpContext(); - Requests[3201].RequestServices = CreateServices(); - Requests[3201].Request.Method = "POST"; - Requests[3201].Request.Path = "/subscriptions/5f88459e-a804-/resourceGroups/1adb9fde-521a-452/providers/Microsoft.Relay/namespaces/9dc2dfb2-868d/hybridConnections/1036ccb8-02a1-42de-b/authorizationRules/53774ff3-ded3-4a20-81/listKeys"; - Requests[3202] = new DefaultHttpContext(); - Requests[3202].RequestServices = CreateServices(); - Requests[3202].Request.Method = "POST"; - Requests[3202].Request.Path = "/subscriptions/f9b66600-39de-/resourceGroups/9c5cdbd3-2ed4-4e4/providers/Microsoft.Relay/namespaces/f6bb9c7c-bf24/hybridConnections/092e7bf5-e036-4597-b/authorizationRules/83dfcca3-c5a0-4358-9b/regenerateKeys"; - Requests[3203] = new DefaultHttpContext(); - Requests[3203].RequestServices = CreateServices(); - Requests[3203].Request.Method = "POST"; - Requests[3203].Request.Path = "/subscriptions/c033e767-281f-/resourceGroups/70a5970e-525e-4c5/providers/Microsoft.Relay/namespaces/a94cc460-327e/wcfRelays/bdb972e9-/authorizationRules/1875328a-c769-4ad7-bd/listKeys"; - Requests[3204] = new DefaultHttpContext(); - Requests[3204].RequestServices = CreateServices(); - Requests[3204].Request.Method = "POST"; - Requests[3204].Request.Path = "/subscriptions/db41cc12-e9b2-/resourceGroups/42e19dd0-2b62-4b4/providers/Microsoft.Relay/namespaces/a2d4214d-07c1/wcfRelays/3a7b5a3f-/authorizationRules/b249f954-3c0e-4573-95/regenerateKeys"; - Requests[3205] = new DefaultHttpContext(); - Requests[3205].RequestServices = CreateServices(); - Requests[3205].Request.Method = "POST"; - Requests[3205].Request.Path = "/subscriptions/aaf4c64d-418c-/resourceGroups/f0d86f94-9a0e-4ca/providers/Microsoft.ServiceBus/namespaces/497e9628-76ef/disasterRecoveryConfigs/21785/AuthorizationRules/36529d6b-1300-4f03-aa/listKeys"; - Requests[3206] = new DefaultHttpContext(); - Requests[3206].RequestServices = CreateServices(); - Requests[3206].Request.Method = "POST"; - Requests[3206].Request.Path = "/subscriptions/3861bf46-5fd6-/resourceGroups/f3e73b1b-56c3-4df/providers/Microsoft.ServiceBus/namespaces/299d8e59-a2f4/queues/01d31797-/authorizationRules/be0431c8-8a4a-4786-86/ListKeys"; - Requests[3207] = new DefaultHttpContext(); - Requests[3207].RequestServices = CreateServices(); - Requests[3207].Request.Method = "POST"; - Requests[3207].Request.Path = "/subscriptions/21ec1a45-f0ec-/resourceGroups/8e09ed3e-98ee-4f2/providers/Microsoft.ServiceBus/namespaces/fe24d747-46a3/queues/837c22ed-/authorizationRules/d8805cad-f677-4851-a3/regenerateKeys"; - Requests[3208] = new DefaultHttpContext(); - Requests[3208].RequestServices = CreateServices(); - Requests[3208].Request.Method = "POST"; - Requests[3208].Request.Path = "/subscriptions/82f37d2b-0e0a-/resourceGroups/736ca858-3de4-443/providers/Microsoft.ServiceBus/namespaces/c92cdbcf-c826/topics/9e31c104-/authorizationRules/69cd4208-addd-4b23-b4/ListKeys"; - Requests[3209] = new DefaultHttpContext(); - Requests[3209].RequestServices = CreateServices(); - Requests[3209].Request.Method = "POST"; - Requests[3209].Request.Path = "/subscriptions/61736b67-5815-/resourceGroups/5933dca1-66c8-411/providers/Microsoft.ServiceBus/namespaces/3c242dde-d7af/topics/18e0f2e7-/authorizationRules/55098e8b-63a3-42e2-b5/regenerateKeys"; - Requests[3210] = new DefaultHttpContext(); - Requests[3210].RequestServices = CreateServices(); - Requests[3210].Request.Method = "GET"; - Requests[3210].Request.Path = "/subscriptions/8710ef24-ab2e-/resourceGroups/df6c49de-00c3-49d/providers/Microsoft.ServiceBus/namespaces/aab10e91-6815/topics/6ae006ac-/subscriptions/73ee1334-be2d-4c/rules"; - Requests[3211] = new DefaultHttpContext(); - Requests[3211].RequestServices = CreateServices(); - Requests[3211].Request.Method = "GET"; - Requests[3211].Request.Path = "/subscriptions/4b34abfe-7ae3-/resourceGroups/e04e30cf-5bcf-486/providers/Microsoft.Sql/servers/fe1da22b-3/databases/6ee7af6a-a02/advisors/4c9e30e9-ad/recommendedActions"; - Requests[3212] = new DefaultHttpContext(); - Requests[3212].RequestServices = CreateServices(); - Requests[3212].Request.Method = "GET"; - Requests[3212].Request.Path = "/subscriptions/e2c1a546-ce39-/resourceGroups/7e15b121-8a9b-484/providers/Microsoft.Sql/servers/ac57ee35-9/databases/5cdd4705-207/dataMaskingPolicies/bbcc0195-def3-4fbf-80/rules"; - Requests[3213] = new DefaultHttpContext(); - Requests[3213].RequestServices = CreateServices(); - Requests[3213].Request.Method = "POST"; - Requests[3213].Request.Path = "/subscriptions/3167a609-45bb-/resourceGroups/bb6f31ec-3afd-4e3/providers/Microsoft.Sql/servers/9ad65f69-8/databases/a3ca0d86-f94/operations/df73d77d-dc/cancel"; - Requests[3214] = new DefaultHttpContext(); - Requests[3214].RequestServices = CreateServices(); - Requests[3214].Request.Method = "POST"; - Requests[3214].Request.Path = "/subscriptions/7fb87148-ba02-/resourceGroups/66daf275-9602-420/providers/Microsoft.Sql/servers/7838a0f2-2/databases/4d105ff2-57b/replicationLinks/f71329/failover"; - Requests[3215] = new DefaultHttpContext(); - Requests[3215].RequestServices = CreateServices(); - Requests[3215].Request.Method = "POST"; - Requests[3215].Request.Path = "/subscriptions/a1565e34-4a6b-/resourceGroups/82245fd4-5dff-431/providers/Microsoft.Sql/servers/13649433-c/databases/eb82f8b0-787/replicationLinks/d17c83/forceFailoverAllowDataLoss"; - Requests[3216] = new DefaultHttpContext(); - Requests[3216].RequestServices = CreateServices(); - Requests[3216].Request.Method = "POST"; - Requests[3216].Request.Path = "/subscriptions/f606a548-1881-/resourceGroups/88f7f4e5-87ea-4fc/providers/Microsoft.Sql/servers/9a469627-8/databases/e68dabfe-463/syncGroups/ab2ab270-30d4/cancelSync"; - Requests[3217] = new DefaultHttpContext(); - Requests[3217].RequestServices = CreateServices(); - Requests[3217].Request.Method = "GET"; - Requests[3217].Request.Path = "/subscriptions/eb41620c-de55-/resourceGroups/66d7bb00-eefe-424/providers/Microsoft.Sql/servers/f65c2876-1/databases/ea0424ab-7dc/syncGroups/42a68f1d-d759/hubSchemas"; - Requests[3218] = new DefaultHttpContext(); - Requests[3218].RequestServices = CreateServices(); - Requests[3218].Request.Method = "GET"; - Requests[3218].Request.Path = "/subscriptions/cd615992-bfee-/resourceGroups/aabc2e10-6897-402/providers/Microsoft.Sql/servers/89e44895-2/databases/bdb9bbeb-036/syncGroups/b0f30d77-06a6/logs"; - Requests[3219] = new DefaultHttpContext(); - Requests[3219].RequestServices = CreateServices(); - Requests[3219].Request.Method = "POST"; - Requests[3219].Request.Path = "/subscriptions/5d0756bd-def9-/resourceGroups/62e3803b-9e5f-4be/providers/Microsoft.Sql/servers/a2981797-6/databases/5bae3efb-0d1/syncGroups/f35c9226-bd15/refreshHubSchema"; - Requests[3220] = new DefaultHttpContext(); - Requests[3220].RequestServices = CreateServices(); - Requests[3220].Request.Method = "GET"; - Requests[3220].Request.Path = "/subscriptions/7da97309-5bd8-/resourceGroups/96ce84e6-18f3-4da/providers/Microsoft.Sql/servers/6eae5644-f/databases/d2d814b7-154/syncGroups/4ef269d3-3a8a/syncMembers"; - Requests[3221] = new DefaultHttpContext(); - Requests[3221].RequestServices = CreateServices(); - Requests[3221].Request.Method = "POST"; - Requests[3221].Request.Path = "/subscriptions/7b1b3bf8-cbab-/resourceGroups/c6d408c1-dd5e-476/providers/Microsoft.Sql/servers/ee469617-5/databases/64de68f7-f07/syncGroups/183402c9-2ae6/triggerSync"; - Requests[3222] = new DefaultHttpContext(); - Requests[3222].RequestServices = CreateServices(); - Requests[3222].Request.Method = "GET"; - Requests[3222].Request.Path = "/subscriptions/ae5a2084-1967-/resourceGroups/e0abb65e-7f5c-4de/providers/Microsoft.Sql/servers/bdc00381-8/databases/5a30d8b7-9b3/topQueries/3a07e51/queryText"; - Requests[3223] = new DefaultHttpContext(); - Requests[3223].RequestServices = CreateServices(); - Requests[3223].Request.Method = "GET"; - Requests[3223].Request.Path = "/subscriptions/734bf2a1-15d7-/resourceGroups/7baa772a-d9d9-4ae/providers/Microsoft.Sql/servers/a8bd4519-5/databases/317d469a-8f5/topQueries/a5065ab/statistics"; - Requests[3224] = new DefaultHttpContext(); - Requests[3224].RequestServices = CreateServices(); - Requests[3224].Request.Method = "GET"; - Requests[3224].Request.Path = "/subscriptions/9c76e756-cdd6-/resourceGroups/1a1bebea-c2f7-409/providers/Microsoft.Sql/servers/a935a60f-3/databases/3010f1b2-716/transparentDataEncryption/769b6d15-acce-4be8-b39c-d1d40/operationResults"; - Requests[3225] = new DefaultHttpContext(); - Requests[3225].RequestServices = CreateServices(); - Requests[3225].Request.Method = "GET"; - Requests[3225].Request.Path = "/subscriptions/e6dc81c4-f374-/resourceGroups/c7e807b3-e183-43e/providers/Microsoft.Sql/servers/0bfa579a-6/databases/d24b7597-c0c/vulnerabilityAssessments/dfe547ce-b85a-4049-af82-234/scans"; - Requests[3226] = new DefaultHttpContext(); - Requests[3226].RequestServices = CreateServices(); - Requests[3226].Request.Method = "POST"; - Requests[3226].Request.Path = "/subscriptions/aadaf7f3-63bd-/resourceGroups/ddb12f08-4fe2-476/providers/Microsoft.Sql/servers/a9799200-9/elasticPools/78c71edd-b96c-4/operations/936b7b34-8f/cancel"; - Requests[3227] = new DefaultHttpContext(); - Requests[3227].RequestServices = CreateServices(); - Requests[3227].Request.Method = "GET"; - Requests[3227].Request.Path = "/subscriptions/52bdb3b4-3129-/resourceGroups/25b48256-4328-427/providers/Microsoft.Sql/servers/921708df-f/jobAgents/56df2c9d-d55/jobs/96404c0/executions"; - Requests[3228] = new DefaultHttpContext(); - Requests[3228].RequestServices = CreateServices(); - Requests[3228].Request.Method = "POST"; - Requests[3228].Request.Path = "/subscriptions/4e3d6451-7b94-/resourceGroups/b9a25250-5f31-432/providers/Microsoft.Sql/servers/1c91678f-0/jobAgents/5410c3fb-19a/jobs/414b1d8/start"; - Requests[3229] = new DefaultHttpContext(); - Requests[3229].RequestServices = CreateServices(); - Requests[3229].Request.Method = "GET"; - Requests[3229].Request.Path = "/subscriptions/65350674-c6a1-/resourceGroups/731ebc1a-1a43-4f9/providers/Microsoft.Sql/servers/214bf5ef-d/jobAgents/81ef5363-48f/jobs/5622c20/steps"; - Requests[3230] = new DefaultHttpContext(); - Requests[3230].RequestServices = CreateServices(); - Requests[3230].Request.Method = "GET"; - Requests[3230].Request.Path = "/subscriptions/68335768-c537-/resourceGroups/40c1d0c0-50a4-485/providers/Microsoft.Sql/servers/7425f1e0-d/jobAgents/e6eb55e6-0bf/jobs/32cb39a/versions"; - Requests[3231] = new DefaultHttpContext(); - Requests[3231].RequestServices = CreateServices(); - Requests[3231].Request.Method = "POST"; - Requests[3231].Request.Path = "/subscriptions/2d19d47f-88c2-/resourceGroups/224a8610-4a38-48c/providers/Microsoft.StorSimple/managers/682a8d5b-b2/devices/5c4b293a-6/backupPolicies/4f29a07a-e95b-43/backup"; - Requests[3232] = new DefaultHttpContext(); - Requests[3232].RequestServices = CreateServices(); - Requests[3232].Request.Method = "GET"; - Requests[3232].Request.Path = "/subscriptions/09540528-fc97-/resourceGroups/fec980c5-be89-421/providers/Microsoft.StorSimple/managers/552cd02a-c5/devices/e2717bdd-d/backupPolicies/fb32d6c2-3631-42/schedules"; - Requests[3233] = new DefaultHttpContext(); - Requests[3233].RequestServices = CreateServices(); - Requests[3233].Request.Method = "POST"; - Requests[3233].Request.Path = "/subscriptions/7aba571d-2132-/resourceGroups/8869e197-b8e0-412/providers/Microsoft.StorSimple/managers/721fa476-8f/devices/5b9d90f3-c/backups/76f131af-f/restore"; - Requests[3234] = new DefaultHttpContext(); - Requests[3234].RequestServices = CreateServices(); - Requests[3234].Request.Method = "POST"; - Requests[3234].Request.Path = "/subscriptions/f3a25184-d377-/resourceGroups/27a29243-4dff-481/providers/Microsoft.StorSimple/managers/3d792ffb-11/devices/bf25aa12-3/hardwareComponentGroups/2cff9445-8b93-4d22-9fdc-37/changeControllerPowerState"; - Requests[3235] = new DefaultHttpContext(); - Requests[3235].RequestServices = CreateServices(); - Requests[3235].Request.Method = "POST"; - Requests[3235].Request.Path = "/subscriptions/48b99687-3ca5-/resourceGroups/3212b21b-3715-45d/providers/Microsoft.StorSimple/managers/abf5aeec-3c/devices/be2dbb2a-f/jobs/16952db/cancel"; - Requests[3236] = new DefaultHttpContext(); - Requests[3236].RequestServices = CreateServices(); - Requests[3236].Request.Method = "GET"; - Requests[3236].Request.Path = "/subscriptions/78724a36-7415-/resourceGroups/471b5f9c-7fe0-4aa/providers/Microsoft.StorSimple/managers/28b8450f-c5/devices/abcef751-f/volumeContainers/57eb6a88-1d1d-4707-/metrics"; - Requests[3237] = new DefaultHttpContext(); - Requests[3237].RequestServices = CreateServices(); - Requests[3237].Request.Method = "GET"; - Requests[3237].Request.Path = "/subscriptions/e5960681-f855-/resourceGroups/85c8a4ff-8748-439/providers/Microsoft.StorSimple/managers/8eb1d73d-14/devices/7482ed86-9/volumeContainers/45486520-2ffa-4fcd-/metricsDefinitions"; - Requests[3238] = new DefaultHttpContext(); - Requests[3238].RequestServices = CreateServices(); - Requests[3238].Request.Method = "GET"; - Requests[3238].Request.Path = "/subscriptions/1895ea2b-3433-/resourceGroups/b1373a4f-fa36-4d3/providers/Microsoft.StorSimple/managers/73a8c75b-09/devices/444c34e9-b/volumeContainers/07475839-08b4-4830-/volumes"; - Requests[3239] = new DefaultHttpContext(); - Requests[3239].RequestServices = CreateServices(); - Requests[3239].Request.Method = "POST"; - Requests[3239].Request.Path = "/subscriptions/13904e73-be02-/resourcegroups/790f8797-8533-427/providers/Microsoft.Update.Admin/updateLocations/53942faa-0300-/updates/42312ea6-b/updateRuns/9019e5e/rerun"; - Requests[3240] = new DefaultHttpContext(); - Requests[3240].RequestServices = CreateServices(); - Requests[3240].Request.Method = "GET"; - Requests[3240].Request.Path = "/subscriptions/895d605c-e42b-/resourceGroups/a692cbfb-22de-49a/providers/microsoft.visualstudio/account/94d3f46d-d36e-4c/project/db8dc482-e8a/subContainers/c82ef049-2740-4d/status"; - Requests[3241] = new DefaultHttpContext(); - Requests[3241].RequestServices = CreateServices(); - Requests[3241].Request.Method = "GET"; - Requests[3241].Request.Path = "/subscriptions/9337ec0c-b023-/resourceGroups/5c80c3eb-833d-4d1/providers/Microsoft.Web/hostingEnvironments/05f69/workerPools/fe73fa06-71b8-/instances/5f599767/metricdefinitions"; - Requests[3242] = new DefaultHttpContext(); - Requests[3242].RequestServices = CreateServices(); - Requests[3242].Request.Method = "GET"; - Requests[3242].Request.Path = "/subscriptions/35268876-7679-/resourceGroups/ddbd2aa1-ce3e-49b/providers/Microsoft.Web/hostingEnvironments/a8164/workerPools/37c5e33e-f984-/instances/f60df3b3/metrics"; - Requests[3243] = new DefaultHttpContext(); - Requests[3243].RequestServices = CreateServices(); - Requests[3243].Request.Method = "POST"; - Requests[3243].Request.Path = "/subscriptions/f743a7e3-d26e-/resourceGroups/17a5888f-2014-430/providers/Microsoft.Web/serverfarms/708d3/hybridConnectionNamespaces/44a50c34-24fa/relays/a266bbd5-/listKeys"; - Requests[3244] = new DefaultHttpContext(); - Requests[3244].RequestServices = CreateServices(); - Requests[3244].Request.Method = "GET"; - Requests[3244].Request.Path = "/subscriptions/0cda6793-6c67-/resourceGroups/c4293037-4903-49b/providers/Microsoft.Web/serverfarms/389a7/hybridConnectionNamespaces/822184ef-c59c/relays/f922d311-/sites"; - Requests[3245] = new DefaultHttpContext(); - Requests[3245].RequestServices = CreateServices(); - Requests[3245].Request.Method = "POST"; - Requests[3245].Request.Path = "/subscriptions/2d5c0bba-1705-/resourceGroups/4a491a94-85af-4c1/providers/Microsoft.Web/sites/bb1b7/hybridConnectionNamespaces/0800f08c-e283/relays/0558f7fe-/listKeys"; - Requests[3246] = new DefaultHttpContext(); - Requests[3246].RequestServices = CreateServices(); - Requests[3246].Request.Method = "GET"; - Requests[3246].Request.Path = "/subscriptions/19b04acd-7cd7-/resourceGroups/9c3ced54-d794-41d/providers/Microsoft.Web/sites/95ff3/instances/4ea15e60-1/processes/4a772059-/dump"; - Requests[3247] = new DefaultHttpContext(); - Requests[3247].RequestServices = CreateServices(); - Requests[3247].Request.Method = "GET"; - Requests[3247].Request.Path = "/subscriptions/482fc90a-6a6a-/resourceGroups/289b7d9a-e975-48f/providers/Microsoft.Web/sites/77f8f/instances/9b7bb695-4/processes/52a67fae-/modules"; - Requests[3248] = new DefaultHttpContext(); - Requests[3248].RequestServices = CreateServices(); - Requests[3248].Request.Method = "GET"; - Requests[3248].Request.Path = "/subscriptions/72b1a945-e099-/resourceGroups/7520f37e-d7a0-45b/providers/Microsoft.Web/sites/e7122/instances/9cc076c5-4/processes/1516d44c-/threads"; - Requests[3249] = new DefaultHttpContext(); - Requests[3249].RequestServices = CreateServices(); - Requests[3249].Request.Method = "POST"; - Requests[3249].Request.Path = "/subscriptions/ccefe605-93da-/resourceGroups/ad6b82ab-06f1-495/providers/Microsoft.Web/sites/f68b3/slots/5d821/backups/3f281a97/list"; - Requests[3250] = new DefaultHttpContext(); - Requests[3250].RequestServices = CreateServices(); - Requests[3250].Request.Method = "POST"; - Requests[3250].Request.Path = "/subscriptions/b5d0cd11-81d7-/resourceGroups/ae300437-049e-44a/providers/Microsoft.Web/sites/408b5/slots/3aa1a/backups/aa3d191b/restore"; - Requests[3251] = new DefaultHttpContext(); - Requests[3251].RequestServices = CreateServices(); - Requests[3251].Request.Method = "POST"; - Requests[3251].Request.Path = "/subscriptions/0fe93553-1991-/resourceGroups/7077246f-41bc-42a/providers/Microsoft.Web/sites/c70df/slots/d2110/continuouswebjobs/9703aeaf-4/start"; - Requests[3252] = new DefaultHttpContext(); - Requests[3252].RequestServices = CreateServices(); - Requests[3252].Request.Method = "POST"; - Requests[3252].Request.Path = "/subscriptions/a9f64799-a019-/resourceGroups/5a64c8fb-fcf3-4ad/providers/Microsoft.Web/sites/91371/slots/b09f7/continuouswebjobs/5db4bb25-a/stop"; - Requests[3253] = new DefaultHttpContext(); - Requests[3253].RequestServices = CreateServices(); - Requests[3253].Request.Method = "GET"; - Requests[3253].Request.Path = "/subscriptions/5e8b2785-e846-/resourceGroups/27cad519-4842-4ee/providers/Microsoft.Web/sites/db27c/slots/80a4f/deployments/dd73b/log"; - Requests[3254] = new DefaultHttpContext(); - Requests[3254].RequestServices = CreateServices(); - Requests[3254].Request.Method = "POST"; - Requests[3254].Request.Path = "/subscriptions/9f180fb7-a46d-/resourceGroups/5d22366c-c201-4a0/providers/Microsoft.Web/sites/e99e8/slots/e1f7d/functions/f478bde6-890/listsecrets"; - Requests[3255] = new DefaultHttpContext(); - Requests[3255].RequestServices = CreateServices(); - Requests[3255].Request.Method = "GET"; - Requests[3255].Request.Path = "/subscriptions/5e912b4c-6db1-/resourceGroups/1637e4dc-134f-4bb/providers/Microsoft.Web/sites/9f0cd/slots/35abb/instances/b146ecf6-0/deployments"; - Requests[3256] = new DefaultHttpContext(); - Requests[3256].RequestServices = CreateServices(); - Requests[3256].Request.Method = "GET"; - Requests[3256].Request.Path = "/subscriptions/32777f6f-416c-/resourceGroups/7fc6a1c5-7cb0-4fd/providers/Microsoft.Web/sites/5c9fb/slots/59ce7/instances/2edcef8a-5/processes"; - Requests[3257] = new DefaultHttpContext(); - Requests[3257].RequestServices = CreateServices(); - Requests[3257].Request.Method = "GET"; - Requests[3257].Request.Path = "/subscriptions/9f27d826-fc69-/resourceGroups/1b2d3921-fc62-44a/providers/Microsoft.Web/sites/7c6a0/slots/f438f/processes/4bdb517d-/dump"; - Requests[3258] = new DefaultHttpContext(); - Requests[3258].RequestServices = CreateServices(); - Requests[3258].Request.Method = "GET"; - Requests[3258].Request.Path = "/subscriptions/40b5ec97-c05e-/resourceGroups/533efe38-ba69-43c/providers/Microsoft.Web/sites/bcc4a/slots/eab85/processes/9f8389a8-/modules"; - Requests[3259] = new DefaultHttpContext(); - Requests[3259].RequestServices = CreateServices(); - Requests[3259].Request.Method = "GET"; - Requests[3259].Request.Path = "/subscriptions/654c9b26-5f51-/resourceGroups/332662fa-3ed6-42a/providers/Microsoft.Web/sites/e99ea/slots/ff21b/processes/018049a8-/threads"; - Requests[3260] = new DefaultHttpContext(); - Requests[3260].RequestServices = CreateServices(); - Requests[3260].Request.Method = "GET"; - Requests[3260].Request.Path = "/subscriptions/5be6bd47-2be7-/resourceGroups/0483e947-0efb-4c3/providers/Microsoft.Web/sites/305a4/slots/42768/triggeredwebjobs/f99256db-b/history"; - Requests[3261] = new DefaultHttpContext(); - Requests[3261].RequestServices = CreateServices(); - Requests[3261].Request.Method = "POST"; - Requests[3261].Request.Path = "/subscriptions/59a57df1-8098-/resourceGroups/432050a9-3059-42e/providers/Microsoft.Web/sites/e3d86/slots/523a3/triggeredwebjobs/fea833ba-9/run"; - Requests[3262] = new DefaultHttpContext(); - Requests[3262].RequestServices = CreateServices(); - Requests[3262].Request.Method = "POST"; - Requests[3262].Request.Path = "/subscriptions/c42c19b9-38a7-/resourceGroups/c5a5913e-1b07-4e5/providers/Microsoft.Web/sites/2ecbc170/diagnostics/aac3040a-64d9-4eb3/analyses/98d56af7-e5c/execute"; - Requests[3263] = new DefaultHttpContext(); - Requests[3263].RequestServices = CreateServices(); - Requests[3263].Request.Method = "POST"; - Requests[3263].Request.Path = "/subscriptions/99b9da81-5a3d-/resourceGroups/8d73bdb3-d58e-4fc/providers/Microsoft.Web/sites/1ce620e7/diagnostics/421e668f-b62c-485f/detectors/45b9ddd0-f86/execute"; - Requests[3264] = new DefaultHttpContext(); - Requests[3264].RequestServices = CreateServices(); - Requests[3264].Request.Method = "GET"; - Requests[3264].Request.Path = "/subscriptions/cd3b05ee-6321-/resourceGroups/0c308bb8-a782-44e/providers/Microsoft.Web/sites/56d75ab7/slots/3f037/diagnostics/8d4d4bcd-e50b-4205/analyses"; - Requests[3265] = new DefaultHttpContext(); - Requests[3265].RequestServices = CreateServices(); - Requests[3265].Request.Method = "GET"; - Requests[3265].Request.Path = "/subscriptions/4ae6a113-4987-/resourceGroups/24cd8d74-9256-4ac/providers/Microsoft.Web/sites/8c882451/slots/e33f5/diagnostics/6268321b-f1a2-4855/detectors"; - Requests[3266] = new DefaultHttpContext(); - Requests[3266].RequestServices = CreateServices(); - Requests[3266].Request.Method = "GET"; - Requests[3266].Request.Path = "/subscriptions/3c1d3a2e-9b3e-/resourceGroups/ee7cceff-904f-4c6/providers/Microsoft.DocumentDB/databaseAccounts/928dd46f-3a/databases/1fd826e9-a9/collections/c9cdf95e-f9f3/partitions/metrics"; - Requests[3267] = new DefaultHttpContext(); - Requests[3267].RequestServices = CreateServices(); - Requests[3267].Request.Method = "GET"; - Requests[3267].Request.Path = "/subscriptions/b32d4eeb-a632-/resourceGroups/1a6ef57c-8fc8-415/providers/Microsoft.DocumentDB/databaseAccounts/57322eea-f8/databases/7fb0d785-33/collections/8dc0ac50-0a1d/partitions/usages"; - Requests[3268] = new DefaultHttpContext(); - Requests[3268].RequestServices = CreateServices(); - Requests[3268].Request.Method = "GET"; - Requests[3268].Request.Path = "/subscriptions/45de3e6c-0929-/resourceGroups/42fb9696-b71b-41a/providers/Microsoft.DocumentDB/databaseAccounts/f9dcc9cc-86/sourceRegion/01d1728e-b9d/targetRegion/384f2a11-2cf/percentile/metrics"; - Requests[3269] = new DefaultHttpContext(); - Requests[3269].RequestServices = CreateServices(); - Requests[3269].Request.Method = "PUT"; - Requests[3269].Request.Path = "/subscriptions/c79f0ca7-6132-/resourceGroups/e13fff10-6613-4c6/providers/Microsoft.Web/sites/af42a/slots/75fa4/instances/69dcf1d9-2/extensions/MSDeploy"; - Requests[3270] = new DefaultHttpContext(); - Requests[3270].RequestServices = CreateServices(); - Requests[3270].Request.Method = "GET"; - Requests[3270].Request.Path = "/subscriptions/345bc160-cc55-/resourceGroups/11cf83ba-69dc-454/providers/Microsoft.Web/sites/512b8/slots/e4f48/instances/a57fcf68-c/extensions/MSDeploy/log"; - Requests[3271] = new DefaultHttpContext(); - Requests[3271].RequestServices = CreateServices(); - Requests[3271].Request.Method = "DELETE"; - Requests[3271].Request.Path = "/subscriptions/82e24228-41be-/resourceGroups/840d9fba-74d8-496/providers/Microsoft.ApiManagement/service/0770ad61-78/apis/93887/diagnostics/65e652e0-3c7/loggers/9ac763ba"; - Requests[3272] = new DefaultHttpContext(); - Requests[3272].RequestServices = CreateServices(); - Requests[3272].Request.Method = "DELETE"; - Requests[3272].Request.Path = "/subscriptions/ab94d6ce-edb3-/resourceGroups/a2b0e770-b7e6-419/providers/Microsoft.ApiManagement/service/e3e7e0c2-8d/apis/0d4a8/issues/4d42fc5/attachments/f078b643-962"; - Requests[3273] = new DefaultHttpContext(); - Requests[3273].RequestServices = CreateServices(); - Requests[3273].Request.Method = "DELETE"; - Requests[3273].Request.Path = "/subscriptions/f54662cc-2644-/resourceGroups/cf4cc797-768b-442/providers/Microsoft.ApiManagement/service/b697a61d-0a/apis/9b937/issues/82aa7f2/comments/8bb9cd94-"; - Requests[3274] = new DefaultHttpContext(); - Requests[3274].RequestServices = CreateServices(); - Requests[3274].Request.Method = "DELETE"; - Requests[3274].Request.Path = "/subscriptions/7b21f798-401c-/resourceGroups/e0f22333-4b38-46c/providers/Microsoft.ApiManagement/service/3b33879e-1d/apis/f3539/operations/2e0496aa-a6/policies/6d55532f"; - Requests[3275] = new DefaultHttpContext(); - Requests[3275].RequestServices = CreateServices(); - Requests[3275].Request.Method = "DELETE"; - Requests[3275].Request.Path = "/subscriptions/d73d8056-13e5-/resourceGroups/85dade2d-952c-447/providers/Microsoft.ApiManagement/service/244b0a0a-d1/apis/998a2/operations/de042803-5b/tags/12629"; - Requests[3276] = new DefaultHttpContext(); - Requests[3276].RequestServices = CreateServices(); - Requests[3276].Request.Method = "GET"; - Requests[3276].Request.Path = "/subscriptions/34b937a8-2a52-/resourceGroups/4c1660a0-30c0-456/providers/Microsoft.Automation/automationAccounts/2291cbf4-690e-4792-81/sourceControls/a25483d1-a4a5-437/sourceControlSyncJobs/296e1a65-516e-44bf-a68/streams/1c6d7507"; - Requests[3277] = new DefaultHttpContext(); - Requests[3277].RequestServices = CreateServices(); - Requests[3277].Request.Method = "GET"; - Requests[3277].Request.Path = "/subscriptions/dfbae508-68ba-/resourceGroups/8611fddb-96c7-42d/providers/microsoft.Compute/virtualMachineScaleSets/2da159b2-48b2-4f8c-938a-4f/virtualMachines/4e85bc78-2d40-4a78-/networkInterfaces/cb0b2634-2231-4c7f-8/ipConfigurations/e537b81b-a9e2-404e-"; - Requests[3278] = new DefaultHttpContext(); - Requests[3278].RequestServices = CreateServices(); - Requests[3278].Request.Method = "GET"; - Requests[3278].Request.Path = "/subscriptions/08daef3a-7321-/resourceGroups/b6355243-074c-400/providers/Microsoft.Fabric.Admin/fabricLocations/44c7af1b/storageSubSystems/e8e89cff-6290-40/storagePools/3cd583f3-25/volumes/a25a0c"; - Requests[3279] = new DefaultHttpContext(); - Requests[3279].RequestServices = CreateServices(); - Requests[3279].Request.Method = "GET"; - Requests[3279].Request.Path = "/subscriptions/240ba9e5-afdb-/resourceGroups/4b3af8a0-6e3f-449/providers/Microsoft.Logic/workflows/0953c643-1fe/runs/08b45f7/actions/40c2edab-e/repetitions/bb1261d8-194d-"; - Requests[3280] = new DefaultHttpContext(); - Requests[3280].RequestServices = CreateServices(); - Requests[3280].Request.Method = "GET"; - Requests[3280].Request.Path = "/subscriptions/5d5ea090-1f99-/resourceGroups/e45256c6-9c37-42a/providers/Microsoft.Logic/workflows/b17fb4a4-27b/runs/5178f2d/actions/0e142afd-5/scopeRepetitions/44915f53-7c0f-"; - Requests[3281] = new DefaultHttpContext(); - Requests[3281].RequestServices = CreateServices(); - Requests[3281].Request.Method = "GET"; - Requests[3281].Request.Path = "/subscriptions/37adecac-b931-/resourceGroups/ed135a8b-7bad-4ff/providers/Microsoft.Migrate/projects/863c2681-97/groups/e6ba707c-/assessments/324b73c8-e942-/assessedMachines/82fb11b6-45ae-417c-"; - Requests[3282] = new DefaultHttpContext(); - Requests[3282].RequestServices = CreateServices(); - Requests[3282].Request.Method = "PATCH"; - Requests[3282].Request.Path = "/Subscriptions/e3677787-5ee9-/resourceGroups/8e62012c-7823-482/providers/Microsoft.RecoveryServices/vaults/2b12516d-d67/replicationFabrics/9596f4d9-7/replicationNetworks/3f5e53f0-c3/replicationNetworkMappings/261f4e38-cb80-4e4c"; - Requests[3283] = new DefaultHttpContext(); - Requests[3283].RequestServices = CreateServices(); - Requests[3283].Request.Method = "GET"; - Requests[3283].Request.Path = "/Subscriptions/429f2bc3-edd3-/resourceGroups/9ea8c7eb-d9e7-49b/providers/Microsoft.RecoveryServices/vaults/9ee8ad32-336/replicationFabrics/2da6b264-f/replicationProtectionContainers/bf6594b5-0145-430f-9e1a/replicationProtectableItems/cacdef6d-0279-4434-"; - Requests[3284] = new DefaultHttpContext(); - Requests[3284].RequestServices = CreateServices(); - Requests[3284].Request.Method = "PATCH"; - Requests[3284].Request.Path = "/Subscriptions/006a9691-7400-/resourceGroups/5da91516-5c7b-48f/providers/Microsoft.RecoveryServices/vaults/7c1f6ce0-df9/replicationFabrics/a9a80053-5/replicationProtectionContainers/5bcd8252-d4b0-4d7d-a9a0/replicationProtectedItems/e53738ff-ca70-4489-b4e8-803"; - Requests[3285] = new DefaultHttpContext(); - Requests[3285].RequestServices = CreateServices(); - Requests[3285].Request.Method = "PATCH"; - Requests[3285].Request.Path = "/Subscriptions/e196729e-a67b-/resourceGroups/772987c3-9cef-478/providers/Microsoft.RecoveryServices/vaults/2a7dca5f-a34/replicationFabrics/5ba7242d-1/replicationProtectionContainers/4229ae6f-71f3-45e6-977c/replicationProtectionContainerMappings/20851fbe-3a"; - Requests[3286] = new DefaultHttpContext(); - Requests[3286].RequestServices = CreateServices(); - Requests[3286].Request.Method = "DELETE"; - Requests[3286].Request.Path = "/Subscriptions/409eeb58-a61e-/resourceGroups/ebff00a4-5fcd-4bd/providers/Microsoft.RecoveryServices/vaults/1a5ced79-df2/replicationFabrics/6d582550-0/replicationStorageClassifications/5d9fbafd-1971-458c-839c-7/replicationStorageClassificationMappings/78d9c540-fcb7-4ad2-8ece-0382b1ad"; - Requests[3287] = new DefaultHttpContext(); - Requests[3287].RequestServices = CreateServices(); - Requests[3287].Request.Method = "GET"; - Requests[3287].Request.Path = "/Subscriptions/57736cd2-37e8-/resourceGroups/ddfdde18-c291-49b/providers/Microsoft.RecoveryServices/vaults/af63fb48-/backupFabrics/567a7463-d/protectionContainers/9c2eabea-2ea5/operationResults/7ddcbefc-c9"; - Requests[3288] = new DefaultHttpContext(); - Requests[3288].RequestServices = CreateServices(); - Requests[3288].Request.Method = "DELETE"; - Requests[3288].Request.Path = "/Subscriptions/950dd074-5023-/resourceGroups/cb00f173-a8ef-44e/providers/Microsoft.RecoveryServices/vaults/cba8805e-/backupFabrics/984a85d4-2/protectionContainers/94327993-4652/protectedItems/16d4b02b-c12f-492"; - Requests[3289] = new DefaultHttpContext(); - Requests[3289].RequestServices = CreateServices(); - Requests[3289].Request.Method = "GET"; - Requests[3289].Request.Path = "/subscriptions/b10b1c55-a7e3-/resourceGroups/dd1e8046-1727-47e/providers/Microsoft.ServiceBus/namespaces/574186c3-2f95/topics/c67ebfff-/subscriptions/a759a0b7-5746-4e/rules/2fdf0611"; - Requests[3290] = new DefaultHttpContext(); - Requests[3290].RequestServices = CreateServices(); - Requests[3290].Request.Method = "PATCH"; - Requests[3290].Request.Path = "/subscriptions/ecad8de6-2841-/resourceGroups/d76cc264-1be9-4d7/providers/Microsoft.Sql/servers/c86b8e91-6/databases/9651f331-230/advisors/6c956b5e-e3/recommendedActions/061914a6-9323-4c8f-94"; - Requests[3291] = new DefaultHttpContext(); - Requests[3291].RequestServices = CreateServices(); - Requests[3291].Request.Method = "PUT"; - Requests[3291].Request.Path = "/subscriptions/524e79ff-ab5e-/resourceGroups/95f6f9e0-2039-46e/providers/Microsoft.Sql/servers/89d04b35-9/databases/677dd0b1-ba8/dataMaskingPolicies/32885f92-530b-4eca-91/rules/4e9ccb5f-2753-4f6c-"; - Requests[3292] = new DefaultHttpContext(); - Requests[3292].RequestServices = CreateServices(); - Requests[3292].Request.Method = "PATCH"; - Requests[3292].Request.Path = "/subscriptions/d74c5cb2-2efe-/resourceGroups/bbebb15c-a959-432/providers/Microsoft.Sql/servers/8dbfb356-5/databases/262cf280-28d/syncGroups/7d240c7c-75cd/syncMembers/9f8fe93c-0083-"; - Requests[3293] = new DefaultHttpContext(); - Requests[3293].RequestServices = CreateServices(); - Requests[3293].Request.Method = "GET"; - Requests[3293].Request.Path = "/subscriptions/58cbac75-2c8e-/resourceGroups/99444cd3-d9cb-47f/providers/Microsoft.Sql/servers/742e1c76-5/databases/36e8b892-5d6/vulnerabilityAssessments/33323411-4a91-4f24-b158-400/scans/9df655"; - Requests[3294] = new DefaultHttpContext(); - Requests[3294].RequestServices = CreateServices(); - Requests[3294].Request.Method = "PUT"; - Requests[3294].Request.Path = "/subscriptions/0e0c37f7-51a4-/resourceGroups/113705e0-2ced-4ac/providers/Microsoft.Sql/servers/6c6e15d5-1/jobAgents/7a54a56f-27c/jobs/178f1bb/executions/d5744014-498c-"; - Requests[3295] = new DefaultHttpContext(); - Requests[3295].RequestServices = CreateServices(); - Requests[3295].Request.Method = "DELETE"; - Requests[3295].Request.Path = "/subscriptions/24b61a6e-a0e0-/resourceGroups/fd0506a9-23ac-4a6/providers/Microsoft.Sql/servers/dc2cc613-8/jobAgents/2a3d1308-819/jobs/f9e89a6/steps/5c52ab40"; - Requests[3296] = new DefaultHttpContext(); - Requests[3296].RequestServices = CreateServices(); - Requests[3296].Request.Method = "GET"; - Requests[3296].Request.Path = "/subscriptions/77bea82e-9a09-/resourceGroups/213f008f-3d19-4cb/providers/Microsoft.Sql/servers/60299e17-d/jobAgents/47724f77-68f/jobs/e11f415/versions/3a251be1-a"; - Requests[3297] = new DefaultHttpContext(); - Requests[3297].RequestServices = CreateServices(); - Requests[3297].Request.Method = "DELETE"; - Requests[3297].Request.Path = "/subscriptions/2614854f-b6e9-/resourceGroups/dc2a38c4-80fc-4bb/providers/Microsoft.StorSimple/managers/62ac2c3e-49/devices/977bb1d9-7/backupPolicies/75dfa573-936c-4f/schedules/8c293e10-9a93-4280"; - Requests[3298] = new DefaultHttpContext(); - Requests[3298].RequestServices = CreateServices(); - Requests[3298].Request.Method = "DELETE"; - Requests[3298].Request.Path = "/subscriptions/c7238f0e-8ba1-/resourceGroups/7d290464-d42b-46a/providers/Microsoft.StorSimple/managers/eee104ad-d5/devices/2b99fb47-5/volumeContainers/3cdbfef9-062a-4e5b-/volumes/c35d93de-e"; - Requests[3299] = new DefaultHttpContext(); - Requests[3299].RequestServices = CreateServices(); - Requests[3299].Request.Method = "GET"; - Requests[3299].Request.Path = "/subscriptions/d923d8ed-ad12-/resourceGroups/716f6f40-dd50-415/providers/Microsoft.Web/sites/29336/instances/8eb0af75-c/processes/19ef260d-/modules/af3f8078-69"; - Requests[3300] = new DefaultHttpContext(); - Requests[3300].RequestServices = CreateServices(); - Requests[3300].Request.Method = "GET"; - Requests[3300].Request.Path = "/subscriptions/bf32ee96-fa54-/resourceGroups/c65e0dca-9be6-4ef/providers/Microsoft.Web/sites/9de5f/instances/1a87e388-9/processes/13823742-/threads/7496bdac"; - Requests[3301] = new DefaultHttpContext(); - Requests[3301].RequestServices = CreateServices(); - Requests[3301].Request.Method = "PATCH"; - Requests[3301].Request.Path = "/subscriptions/6a0bdc1e-cbbf-/resourceGroups/1bb32325-0371-488/providers/Microsoft.Web/sites/08dc9/slots/3cd22/hybridConnectionNamespaces/6446c1a4-a34e/relays/653e2f6c-"; - Requests[3302] = new DefaultHttpContext(); - Requests[3302].RequestServices = CreateServices(); - Requests[3302].Request.Method = "DELETE"; - Requests[3302].Request.Path = "/subscriptions/24837b3c-b76d-/resourceGroups/463a1799-8760-40a/providers/Microsoft.Web/sites/d5398/slots/064aa/instances/8d0e4a04-b/deployments/92ac7"; - Requests[3303] = new DefaultHttpContext(); - Requests[3303].RequestServices = CreateServices(); - Requests[3303].Request.Method = "DELETE"; - Requests[3303].Request.Path = "/subscriptions/3cb0a997-c2b5-/resourceGroups/9dfc9631-5112-481/providers/Microsoft.Web/sites/13765/slots/41c42/instances/f23bcc37-3/processes/18257212-"; - Requests[3304] = new DefaultHttpContext(); - Requests[3304].RequestServices = CreateServices(); - Requests[3304].Request.Method = "GET"; - Requests[3304].Request.Path = "/subscriptions/c01aa2f5-822e-/resourceGroups/9afdaf3e-b3f0-41f/providers/Microsoft.Web/sites/ab233/slots/a6d98/processes/110f5a92-/modules/40247590-24"; - Requests[3305] = new DefaultHttpContext(); - Requests[3305].RequestServices = CreateServices(); - Requests[3305].Request.Method = "GET"; - Requests[3305].Request.Path = "/subscriptions/7737067d-b186-/resourceGroups/77c17f0d-220d-49e/providers/Microsoft.Web/sites/51dec/slots/7f74b/processes/63541419-/threads/6d98d173"; - Requests[3306] = new DefaultHttpContext(); - Requests[3306].RequestServices = CreateServices(); - Requests[3306].Request.Method = "GET"; - Requests[3306].Request.Path = "/subscriptions/3d671d37-3ea6-/resourceGroups/1aa3ec40-1f39-465/providers/Microsoft.Web/sites/27c4f/slots/2c5c6/triggeredwebjobs/1fce5928-f/history/78e04"; - Requests[3307] = new DefaultHttpContext(); - Requests[3307].RequestServices = CreateServices(); - Requests[3307].Request.Method = "PATCH"; - Requests[3307].Request.Path = "/subscriptions/fba113c8-5c02-/resourceGroups/4ce9bc60-1024-465/providers/Microsoft.Web/sites/491a2/slots/25c7b/virtualNetworkConnections/5ae26e60/gateways/134d3ae4-9d"; - Requests[3308] = new DefaultHttpContext(); - Requests[3308].RequestServices = CreateServices(); - Requests[3308].Request.Method = "GET"; - Requests[3308].Request.Path = "/subscriptions/6d2864d2-693d-/resourceGroups/863f98c2-e254-464/providers/Microsoft.Web/sites/e2934230/slots/6e7fa/diagnostics/dfa8ec17-a357-4974/analyses/43442a7a-46a"; - Requests[3309] = new DefaultHttpContext(); - Requests[3309].RequestServices = CreateServices(); - Requests[3309].Request.Method = "GET"; - Requests[3309].Request.Path = "/subscriptions/a3b7271d-49f6-/resourceGroups/2d9108d4-47b7-4ec/providers/Microsoft.Web/sites/75414acb/slots/c44e2/diagnostics/5211737b-2e81-4026/detectors/cb2a1b88-7a0"; - Requests[3310] = new DefaultHttpContext(); - Requests[3310].RequestServices = CreateServices(); - Requests[3310].Request.Method = "GET"; - Requests[3310].Request.Path = "/subscriptions/b5ae4868-9589-/resourceGroups/d2e7f64f-cd54-485/providers/Microsoft.Compute/virtualMachineScaleSets/675714cb-af6a-4728-ab7c-7a/virtualMachines/65a3cee6-d72d-4934-/networkInterfaces/39edf72a-b992-408b-9/ipconfigurations/ff2bdb08-f2dd-46f0-/publicipaddresses"; - Requests[3311] = new DefaultHttpContext(); - Requests[3311].RequestServices = CreateServices(); - Requests[3311].Request.Method = "GET"; - Requests[3311].Request.Path = "/subscriptions/740df3eb-bff3-/resourceGroups/6ff989a0-cabd-4e2/providers/Microsoft.DocumentDB/databaseAccounts/61e9d98d-86/databases/f47b6047-72/collections/a7f7701f-45d7/partitionKeyRangeId/48bb26af-fc6e-41ca-/metrics"; - Requests[3312] = new DefaultHttpContext(); - Requests[3312].RequestServices = CreateServices(); - Requests[3312].Request.Method = "GET"; - Requests[3312].Request.Path = "/subscriptions/e601dba0-8d78-/resourceGroups/58a4b8a5-11d4-4e8/providers/Microsoft.DocumentDB/databaseAccounts/e9b6c14a-06/region/7503dc/databases/d8a99531-e3/collections/4e8a809f-e913/metrics"; - Requests[3313] = new DefaultHttpContext(); - Requests[3313].RequestServices = CreateServices(); - Requests[3313].Request.Method = "POST"; - Requests[3313].Request.Path = "/subscriptions/67fbaeb4-3ae2-/resourceGroups/3dd62024-0fb9-496/providers/Microsoft.Logic/workflows/cae6df12-a33/runs/e602b73/actions/7a5f2679-1/repetitions/5b390a45-65cd-/listExpressionTraces"; - Requests[3314] = new DefaultHttpContext(); - Requests[3314].RequestServices = CreateServices(); - Requests[3314].Request.Method = "POST"; - Requests[3314].Request.Path = "/Subscriptions/f4437b9f-1af8-/resourceGroups/1e1dab76-5b98-427/providers/Microsoft.RecoveryServices/vaults/0c3a07bf-6c8/replicationFabrics/1084bb37-0/replicationProtectionContainers/0b91d102-a436-4082-8c6a/replicationProtectedItems/984ce354-abdb-4a59-a591-289/applyRecoveryPoint"; - Requests[3315] = new DefaultHttpContext(); - Requests[3315].RequestServices = CreateServices(); - Requests[3315].Request.Method = "POST"; - Requests[3315].Request.Path = "/Subscriptions/44c9d123-c1ed-/resourceGroups/299514f7-d3e3-405/providers/Microsoft.RecoveryServices/vaults/cf0ad826-b81/replicationFabrics/1607bc50-7/replicationProtectionContainers/00162745-7009-406a-b466/replicationProtectedItems/334845a4-bb8c-4dc5-a622-5e7/failoverCommit"; - Requests[3316] = new DefaultHttpContext(); - Requests[3316].RequestServices = CreateServices(); - Requests[3316].Request.Method = "POST"; - Requests[3316].Request.Path = "/Subscriptions/a2aa4e86-f045-/resourceGroups/3b06dcd1-9373-41b/providers/Microsoft.RecoveryServices/vaults/26b230aa-46f/replicationFabrics/19238e14-3/replicationProtectionContainers/b2b819f4-6feb-42f0-9241/replicationProtectedItems/b75aa069-c74d-47fd-b73e-329/plannedFailover"; - Requests[3317] = new DefaultHttpContext(); - Requests[3317].RequestServices = CreateServices(); - Requests[3317].Request.Method = "GET"; - Requests[3317].Request.Path = "/Subscriptions/f4b3a1bf-ec92-/resourceGroups/80039306-3124-41a/providers/Microsoft.RecoveryServices/vaults/17cd76b5-699/replicationFabrics/be6d9dce-a/replicationProtectionContainers/8e1b1d63-9780-47e0-a7d8/replicationProtectedItems/b19b73a1-5b2f-4421-a3fc-a72/recoveryPoints"; - Requests[3318] = new DefaultHttpContext(); - Requests[3318].RequestServices = CreateServices(); - Requests[3318].Request.Method = "POST"; - Requests[3318].Request.Path = "/Subscriptions/7d25e136-4700-/resourceGroups/f83f7ea4-ed46-481/providers/Microsoft.RecoveryServices/vaults/9a998233-368/replicationFabrics/1bb787a9-f/replicationProtectionContainers/e7d50d6f-2b7d-4c67-80a0/replicationProtectedItems/0273cca0-240c-4337-a2c9-473/remove"; - Requests[3319] = new DefaultHttpContext(); - Requests[3319].RequestServices = CreateServices(); - Requests[3319].Request.Method = "POST"; - Requests[3319].Request.Path = "/Subscriptions/1168c4f8-2883-/resourceGroups/68395a89-d223-4ef/providers/Microsoft.RecoveryServices/vaults/734dc0f1-a84/replicationFabrics/5b2ec911-2/replicationProtectionContainers/5d31d8bb-0400-431c-a520/replicationProtectedItems/d163ff99-2740-4630-8951-a63/repairReplication"; - Requests[3320] = new DefaultHttpContext(); - Requests[3320].RequestServices = CreateServices(); - Requests[3320].Request.Method = "POST"; - Requests[3320].Request.Path = "/Subscriptions/b74acef7-e719-/resourceGroups/3c17b9bc-163b-463/providers/Microsoft.RecoveryServices/vaults/fa1edc2a-cba/replicationFabrics/9b451627-0/replicationProtectionContainers/2bfb69fe-6c95-4b4a-8561/replicationProtectedItems/e32b62fe-b864-4ee7-a2a7-92d/reProtect"; - Requests[3321] = new DefaultHttpContext(); - Requests[3321].RequestServices = CreateServices(); - Requests[3321].Request.Method = "GET"; - Requests[3321].Request.Path = "/Subscriptions/09ff3c84-79f8-/resourceGroups/7909bed4-9eb0-47e/providers/Microsoft.RecoveryServices/vaults/2f6297b3-a09/replicationFabrics/b7cf502c-6/replicationProtectionContainers/0ecbc388-1555-4af7-b531/replicationProtectedItems/51eb215e-6ee3-4bc8-8d1b-f2e/targetComputeSizes"; - Requests[3322] = new DefaultHttpContext(); - Requests[3322].RequestServices = CreateServices(); - Requests[3322].Request.Method = "POST"; - Requests[3322].Request.Path = "/Subscriptions/54ccab10-4207-/resourceGroups/794fed85-9c9c-4ab/providers/Microsoft.RecoveryServices/vaults/4c3b8d81-797/replicationFabrics/7d0e01ca-5/replicationProtectionContainers/427babe8-ecf5-4932-a715/replicationProtectedItems/10ecaa92-9a4b-44f7-bfc0-7d8/testFailover"; - Requests[3323] = new DefaultHttpContext(); - Requests[3323].RequestServices = CreateServices(); - Requests[3323].Request.Method = "POST"; - Requests[3323].Request.Path = "/Subscriptions/8aefd5bc-4738-/resourceGroups/496ecc53-288b-443/providers/Microsoft.RecoveryServices/vaults/54b23c0c-ada/replicationFabrics/d4056a87-7/replicationProtectionContainers/236acd74-c035-45ec-a7ae/replicationProtectedItems/70b7265a-868c-4934-b731-48e/testFailoverCleanup"; - Requests[3324] = new DefaultHttpContext(); - Requests[3324].RequestServices = CreateServices(); - Requests[3324].Request.Method = "POST"; - Requests[3324].Request.Path = "/Subscriptions/20b73baf-4352-/resourceGroups/e917b66d-9447-466/providers/Microsoft.RecoveryServices/vaults/fbea88a2-209/replicationFabrics/bbcef4de-3/replicationProtectionContainers/4648c443-f9a1-4298-bb87/replicationProtectedItems/5f1bf33e-5cd0-474e-b052-30b/unplannedFailover"; - Requests[3325] = new DefaultHttpContext(); - Requests[3325].RequestServices = CreateServices(); - Requests[3325].Request.Method = "POST"; - Requests[3325].Request.Path = "/Subscriptions/50c7d952-98e5-/resourceGroups/fb912506-c3c2-4f8/providers/Microsoft.RecoveryServices/vaults/406260ff-300/replicationFabrics/10b2f0d3-4/replicationProtectionContainers/05e846e5-4d75-4e25-9858/replicationProtectedItems/7c454545-641f-4ee4-9912-8ab2/updateMobilityService"; - Requests[3326] = new DefaultHttpContext(); - Requests[3326].RequestServices = CreateServices(); - Requests[3326].Request.Method = "POST"; - Requests[3326].Request.Path = "/Subscriptions/ec26c501-8bfe-/resourceGroups/1ca64684-afdb-48c/providers/Microsoft.RecoveryServices/vaults/ae6c0dc7-b76/replicationFabrics/c1ad6574-8/replicationProtectionContainers/347629b8-236d-4ed5-bf9c/replicationProtectionContainerMappings/80b828e9-7f/remove"; - Requests[3327] = new DefaultHttpContext(); - Requests[3327].RequestServices = CreateServices(); - Requests[3327].Request.Method = "POST"; - Requests[3327].Request.Path = "/Subscriptions/79239821-f471-/resourceGroups/e9c8528b-5c27-464/providers/Microsoft.RecoveryServices/vaults/d9cd73f7-/backupFabrics/03f6ddda-f/protectionContainers/c7b20206-e270/protectedItems/1705ba7e-616d-405/backup"; - Requests[3328] = new DefaultHttpContext(); - Requests[3328].RequestServices = CreateServices(); - Requests[3328].Request.Method = "GET"; - Requests[3328].Request.Path = "/Subscriptions/d350ebea-c14a-/resourceGroups/1df9eb7d-6464-412/providers/Microsoft.RecoveryServices/vaults/cfecd5dc-/backupFabrics/962899ef-b/protectionContainers/2b12bd65-9a35/protectedItems/0a59032f-e8bc-4ab/recoveryPoints"; - Requests[3329] = new DefaultHttpContext(); - Requests[3329].RequestServices = CreateServices(); - Requests[3329].Request.Method = "POST"; - Requests[3329].Request.Path = "/subscriptions/0387c309-e324-/resourceGroups/a4bed76f-5747-401/providers/Microsoft.Sql/servers/20d462e1-8/databases/c4f356c9-a3e/syncGroups/4492f9e6-7643/syncMembers/ea288412-a084-/refreshSchema"; - Requests[3330] = new DefaultHttpContext(); - Requests[3330].RequestServices = CreateServices(); - Requests[3330].Request.Method = "GET"; - Requests[3330].Request.Path = "/subscriptions/c36ea357-127a-/resourceGroups/e1f0954e-4741-440/providers/Microsoft.Sql/servers/f523a608-b/databases/b6208672-2fa/syncGroups/d7940877-3904/syncMembers/5227df95-4324-/schemas"; - Requests[3331] = new DefaultHttpContext(); - Requests[3331].RequestServices = CreateServices(); - Requests[3331].Request.Method = "POST"; - Requests[3331].Request.Path = "/subscriptions/65612d78-cc72-/resourceGroups/8c84464d-27b6-4d0/providers/Microsoft.Sql/servers/ac4014ed-c/databases/9e8bb8f9-0ba/vulnerabilityAssessments/fb25dea2-6be1-4dfe-9073-b13/scans/572fff/export"; - Requests[3332] = new DefaultHttpContext(); - Requests[3332].RequestServices = CreateServices(); - Requests[3332].Request.Method = "POST"; - Requests[3332].Request.Path = "/subscriptions/21f6d6f7-bed4-/resourceGroups/6098d1e9-b78e-4f4/providers/Microsoft.Sql/servers/9b38b4ca-8/databases/ae365826-0f0/vulnerabilityAssessments/5802d0f7-71b4-470d-833c-3f1/scans/a242b1/initiateScan"; - Requests[3333] = new DefaultHttpContext(); - Requests[3333].RequestServices = CreateServices(); - Requests[3333].Request.Method = "POST"; - Requests[3333].Request.Path = "/subscriptions/fa554164-0886-/resourceGroups/180dff8e-df29-438/providers/Microsoft.Sql/servers/9f07fad8-7/jobAgents/34f36d07-229/jobs/76d3100/executions/3873a46e-ebe6-/cancel"; - Requests[3334] = new DefaultHttpContext(); - Requests[3334].RequestServices = CreateServices(); - Requests[3334].Request.Method = "GET"; - Requests[3334].Request.Path = "/subscriptions/30da1538-e8e8-/resourceGroups/849d07e7-caee-4d9/providers/Microsoft.Sql/servers/51b5ef34-2/jobAgents/ee619707-d4c/jobs/4206801/executions/d7e71646-c316-/steps"; - Requests[3335] = new DefaultHttpContext(); - Requests[3335].RequestServices = CreateServices(); - Requests[3335].Request.Method = "GET"; - Requests[3335].Request.Path = "/subscriptions/2093149a-5611-/resourceGroups/d66ec9b6-9833-4d0/providers/Microsoft.Sql/servers/d8bbfe52-1/jobAgents/8c0f7df8-856/jobs/1f56a59/executions/5a7fe312-ea49-/targets"; - Requests[3336] = new DefaultHttpContext(); - Requests[3336].RequestServices = CreateServices(); - Requests[3336].Request.Method = "GET"; - Requests[3336].Request.Path = "/subscriptions/8b7658f5-d6d6-/resourceGroups/cea9eb0f-33c7-493/providers/Microsoft.Sql/servers/dd078d3b-e/jobAgents/780dadec-a03/jobs/d288b9c/versions/e12bf2aa-f/steps"; - Requests[3337] = new DefaultHttpContext(); - Requests[3337].RequestServices = CreateServices(); - Requests[3337].Request.Method = "POST"; - Requests[3337].Request.Path = "/subscriptions/a0aff11b-71c3-/resourceGroups/a1434846-a9c9-4e0/providers/Microsoft.StorSimple/managers/7ba09545-c2/devices/7763b448-4/backups/aa949ecd-b/elements/2ffc06e1-e6e6-451/clone"; - Requests[3338] = new DefaultHttpContext(); - Requests[3338].RequestServices = CreateServices(); - Requests[3338].Request.Method = "GET"; - Requests[3338].Request.Path = "/subscriptions/2e1285b8-6205-/resourceGroups/b3c4d752-07bc-4a8/providers/Microsoft.StorSimple/managers/2d720a29-9b/devices/021aff1b-7/volumeContainers/36a6bc90-f8d6-4867-/volumes/378005bb-6/metrics"; - Requests[3339] = new DefaultHttpContext(); - Requests[3339].RequestServices = CreateServices(); - Requests[3339].Request.Method = "GET"; - Requests[3339].Request.Path = "/subscriptions/c07d2fe6-335b-/resourceGroups/cd8b4db5-8467-4e0/providers/Microsoft.StorSimple/managers/994a320c-f4/devices/75fe40c5-2/volumeContainers/76d2dec6-8d60-4a9d-/volumes/f0ada419-b/metricsDefinitions"; - Requests[3340] = new DefaultHttpContext(); - Requests[3340].RequestServices = CreateServices(); - Requests[3340].Request.Method = "POST"; - Requests[3340].Request.Path = "/subscriptions/e87fe54a-992b-/resourceGroups/d57e8546-5ce5-4e9/providers/Microsoft.Web/sites/5e5ea/slots/27fb2/hybridConnectionNamespaces/26a9420d-fe5f/relays/3394922e-/listKeys"; - Requests[3341] = new DefaultHttpContext(); - Requests[3341].RequestServices = CreateServices(); - Requests[3341].Request.Method = "GET"; - Requests[3341].Request.Path = "/subscriptions/6a2ad59a-f0f8-/resourceGroups/c0026c88-fc99-493/providers/Microsoft.Web/sites/df82b/slots/ff543/instances/592e551b-d/processes/563e8541-/dump"; - Requests[3342] = new DefaultHttpContext(); - Requests[3342].RequestServices = CreateServices(); - Requests[3342].Request.Method = "GET"; - Requests[3342].Request.Path = "/subscriptions/a475d82b-90a5-/resourceGroups/b8294c64-4196-45c/providers/Microsoft.Web/sites/4b11d/slots/c3a1a/instances/206acb99-b/processes/63578249-/modules"; - Requests[3343] = new DefaultHttpContext(); - Requests[3343].RequestServices = CreateServices(); - Requests[3343].Request.Method = "GET"; - Requests[3343].Request.Path = "/subscriptions/77b9da39-0072-/resourceGroups/0c185702-9070-407/providers/Microsoft.Web/sites/07eb1/slots/73ea7/instances/e9e3d49d-4/processes/43c50822-/threads"; - Requests[3344] = new DefaultHttpContext(); - Requests[3344].RequestServices = CreateServices(); - Requests[3344].Request.Method = "POST"; - Requests[3344].Request.Path = "/subscriptions/09610d32-5b63-/resourceGroups/51cc44cb-17b5-457/providers/Microsoft.Web/sites/03a8d13f/slots/ca034/diagnostics/0f1ed38d-88e8-49e1/analyses/49846bc0-c64/execute"; - Requests[3345] = new DefaultHttpContext(); - Requests[3345].RequestServices = CreateServices(); - Requests[3345].Request.Method = "POST"; - Requests[3345].Request.Path = "/subscriptions/a11b6724-2b53-/resourceGroups/3dac4894-4065-431/providers/Microsoft.Web/sites/73cf6653/slots/e3363/diagnostics/a146f66c-827e-456d/detectors/29a09b68-e7d/execute"; - Requests[3346] = new DefaultHttpContext(); - Requests[3346].RequestServices = CreateServices(); - Requests[3346].Request.Method = "GET"; - Requests[3346].Request.Path = "/subscriptions/83f9e57f-728f-/resourceGroups/a45a242d-3f27-4d4/providers/Microsoft.DocumentDB/databaseAccounts/58e67e8d-42/region/fe5a5e/databases/019cad52-20/collections/2d5dbc83-d869/partitions/metrics"; - Requests[3347] = new DefaultHttpContext(); - Requests[3347].RequestServices = CreateServices(); - Requests[3347].Request.Method = "GET"; - Requests[3347].Request.Path = "/subscriptions/89703c2b-9084-/resourceGroups/b1f2484b-54c6-421/providers/Microsoft.Compute/virtualMachineScaleSets/e0fb629d-95cf-4d92-b042-20/virtualMachines/3530ca09-8360-4aa9-/networkInterfaces/86879691-b70e-40ca-9/ipconfigurations/19b46d02-e404-4595-/publicipaddresses/39eab1ae-93ad-487a-"; - Requests[3348] = new DefaultHttpContext(); - Requests[3348].RequestServices = CreateServices(); - Requests[3348].Request.Method = "GET"; - Requests[3348].Request.Path = "/Subscriptions/10f4019e-0f99-/resourceGroups/2070ada2-9121-44b/providers/Microsoft.RecoveryServices/vaults/952efc2c-108/replicationFabrics/96f5fe05-8/replicationProtectionContainers/b3162673-24ea-430a-a5d0/replicationProtectedItems/50283ac7-a1ff-42c1-9891-6c4/recoveryPoints/5a815704-55d9-4d0"; - Requests[3349] = new DefaultHttpContext(); - Requests[3349].RequestServices = CreateServices(); - Requests[3349].Request.Method = "GET"; - Requests[3349].Request.Path = "/Subscriptions/fcffe3b8-8c6c-/resourceGroups/e04910c3-eb7c-424/providers/Microsoft.RecoveryServices/vaults/3c1810ef-/backupFabrics/5484b342-5/protectionContainers/58015482-26d3/protectedItems/68434c34-c3ef-49d/operationResults/bd77a203-72"; - Requests[3350] = new DefaultHttpContext(); - Requests[3350].RequestServices = CreateServices(); - Requests[3350].Request.Method = "GET"; - Requests[3350].Request.Path = "/Subscriptions/eae38ea8-8149-/resourceGroups/dab26b6a-a69c-40e/providers/Microsoft.RecoveryServices/vaults/12b839d5-/backupFabrics/95724839-3/protectionContainers/3862234f-bcd7/protectedItems/aea1f9fe-d581-49b/operationsStatus/44bddabb-37"; - Requests[3351] = new DefaultHttpContext(); - Requests[3351].RequestServices = CreateServices(); - Requests[3351].Request.Method = "GET"; - Requests[3351].Request.Path = "/Subscriptions/afb90108-93a7-/resourceGroups/d0e2f3eb-3e08-40e/providers/Microsoft.RecoveryServices/vaults/334660c9-/backupFabrics/c7e5e626-b/protectionContainers/afbaedd2-4e2d/protectedItems/4c9a32c8-82be-47d/recoveryPoints/bee86c8e-5414-4"; - Requests[3352] = new DefaultHttpContext(); - Requests[3352].RequestServices = CreateServices(); - Requests[3352].Request.Method = "DELETE"; - Requests[3352].Request.Path = "/subscriptions/3b8e08d3-954a-/resourceGroups/43eebb41-640b-4d6/providers/Microsoft.Sql/servers/e31bf5ca-b/databases/03048e25-1fe/vulnerabilityAssessments/96b20ebb-ba01-4d4b-b757-629/rules/8c0b98/baselines/d11c3d34-314"; - Requests[3353] = new DefaultHttpContext(); - Requests[3353].RequestServices = CreateServices(); - Requests[3353].Request.Method = "GET"; - Requests[3353].Request.Path = "/subscriptions/f953eb45-80e7-/resourceGroups/7c4094d6-1187-435/providers/Microsoft.Sql/servers/49fc4cca-3/jobAgents/1826dc1d-4c1/jobs/cef14da/executions/ae3312ca-8ea6-/steps/678234bc"; - Requests[3354] = new DefaultHttpContext(); - Requests[3354].RequestServices = CreateServices(); - Requests[3354].Request.Method = "GET"; - Requests[3354].Request.Path = "/subscriptions/68002e64-1172-/resourceGroups/62cd2cc6-9a8c-4ff/providers/Microsoft.Sql/servers/8c51f255-4/jobAgents/63845d8e-860/jobs/28b6c49/versions/8587c87b-0/steps/3ed07b68"; - Requests[3355] = new DefaultHttpContext(); - Requests[3355].RequestServices = CreateServices(); - Requests[3355].Request.Method = "GET"; - Requests[3355].Request.Path = "/subscriptions/ed36a7d8-0f47-/resourceGroups/391c0264-f377-46c/providers/Microsoft.Web/sites/e709b/slots/9ad03/instances/4968e96d-0/processes/e8e63d1e-/modules/d9297efe-29"; - Requests[3356] = new DefaultHttpContext(); - Requests[3356].RequestServices = CreateServices(); - Requests[3356].Request.Method = "GET"; - Requests[3356].Request.Path = "/subscriptions/a8f1a267-91c0-/resourceGroups/0e729b57-d441-488/providers/Microsoft.Web/sites/d22a7/slots/c9eb0/instances/03e9e78e-1/processes/26fd1003-/threads/06eb96c1"; - Requests[3357] = new DefaultHttpContext(); - Requests[3357].RequestServices = CreateServices(); - Requests[3357].Request.Method = "GET"; - Requests[3357].Request.Path = "/subscriptions/1ba28092-3346-/resourceGroups/ab434a79-f606-41d/providers/Microsoft.DocumentDB/databaseAccounts/e0ff4f87-2c/region/7c2510/databases/99c5c92c-5c/collections/ffa1a61c-ec55/partitionKeyRangeId/b2e7a5bd-6eaf-4665-/metrics"; - Requests[3358] = new DefaultHttpContext(); - Requests[3358].RequestServices = CreateServices(); - Requests[3358].Request.Method = "POST"; - Requests[3358].Request.Path = "/Subscriptions/3b385596-3ea8-/resourceGroups/5128b3d6-09e4-410/providers/Microsoft.RecoveryServices/vaults/eb3d6fea-/backupFabrics/26ebf1fb-1/protectionContainers/2c18d577-d37a/protectedItems/9c8d0a66-0559-4fc/recoveryPoints/bd5c2b39-963f-4/provisionInstantItemRecovery"; - Requests[3359] = new DefaultHttpContext(); - Requests[3359].RequestServices = CreateServices(); - Requests[3359].Request.Method = "POST"; - Requests[3359].Request.Path = "/Subscriptions/7500a143-b4d5-/resourceGroups/3a57b155-778e-40c/providers/Microsoft.RecoveryServices/vaults/bd604402-/backupFabrics/4b3ca6bb-0/protectionContainers/04a70e63-4548/protectedItems/c1201388-5aec-41a/recoveryPoints/25f12862-8223-4/restore"; - Requests[3360] = new DefaultHttpContext(); - Requests[3360].RequestServices = CreateServices(); - Requests[3360].Request.Method = "POST"; - Requests[3360].Request.Path = "/Subscriptions/f76a4f9c-3311-/resourceGroups/7dbfdff1-32ab-47c/providers/Microsoft.RecoveryServices/vaults/ba1ad6ed-/backupFabrics/d3b6b7a8-9/protectionContainers/53deb142-e03b/protectedItems/a2f65632-05d7-4c2/recoveryPoints/ea8a4fd8-eb78-4/revokeInstantItemRecovery"; - Requests[3361] = new DefaultHttpContext(); - Requests[3361].RequestServices = CreateServices(); - Requests[3361].Request.Method = "GET"; - Requests[3361].Request.Path = "/subscriptions/b7a101b4-106c-/resourceGroups/305cb8e8-f19a-4a0/providers/Microsoft.Sql/servers/1563e30e-4/jobAgents/86e0bd85-d75/jobs/0870c68/executions/ab7fedf4-6fe7-/steps/f3da8d7f/targets"; - Requests[3362] = new DefaultHttpContext(); - Requests[3362].RequestServices = CreateServices(); - Requests[3362].Request.Method = "GET"; - Requests[3362].Request.Path = "/subscriptions/24e8e8b4-9456-/resourceGroups/7c9dcae8-e666-400/providers/Microsoft.Sql/servers/4962edb4-f/jobAgents/350c51cb-22f/jobs/edbe163/executions/2af7c3fb-261e-/steps/cb0e0a68/targets/5711eb1d"; - Requests[3363] = new DefaultHttpContext(); - Requests[3363].RequestServices = CreateServices(); - Requests[3363].Request.Method = "PATCH"; - Requests[3363].Request.Path = "/subscriptions/21d9d400-5eb7-/resourceGroups/265adefe-3b4f-4e4/providers/Microsoft.ApiManagement/service/ff3f1a0b-ca/quotas/103a08aa-e369-4/b0efe65e-e15c-"; - Requests[3364] = new DefaultHttpContext(); - Requests[3364].RequestServices = CreateServices(); - Requests[3364].Request.Method = "POST"; - Requests[3364].Request.Path = "/subscriptions/a8cbd9fe-5d02-/resourceGroups/060083ed-d2ad-4bd/providers/Microsoft.Security/locations/f37d0189-ea/alerts/2804ac06-/766fbc46-5183-4b55-af"; - Requests[3365] = new DefaultHttpContext(); - Requests[3365].RequestServices = CreateServices(); - Requests[3365].Request.Method = "POST"; - Requests[3365].Request.Path = "/subscriptions/59833094-3fcc-/resourceGroups/15e3dfa5-a237-4e7/providers/Microsoft.Security/locations/e9ff2f85-f6/jitNetworkAccessPolicies/9a22419c-4314-477f-a92a-44/b619a0fe-0779-467c-aef0-7050c1aa"; - Requests[3366] = new DefaultHttpContext(); - Requests[3366].RequestServices = CreateServices(); - Requests[3366].Request.Method = "POST"; - Requests[3366].Request.Path = "/subscriptions/094908a0-ade8-/resourceGroups/34785a2d-ee85-420/providers/Microsoft.Security/locations/bd1e43e8-49/tasks/46d74b02/a5ab2ab3-0073-44da-9"; - Requests[3367] = new DefaultHttpContext(); - Requests[3367].RequestServices = CreateServices(); - Requests[3367].Request.Method = "GET"; - Requests[3367].Request.Path = "/subscriptions/ca78ff97-e2ad-/resourceGroups/3a697383-3f18-477/providers/microsoft.insights/components/56a0e360-4f2/63057615-"; - Requests[3368] = new DefaultHttpContext(); - Requests[3368].RequestServices = CreateServices(); - Requests[3368].Request.Method = "GET"; - Requests[3368].Request.Path = "/subscriptions/bee2385f-de5f-/resourceGroups/efe1e7b7-62ac-49c/providers/Microsoft.Network/dnsZones/10be54ef/9b025ac9-c"; - Requests[3369] = new DefaultHttpContext(); - Requests[3369].RequestServices = CreateServices(); - Requests[3369].Request.Method = "DELETE"; - Requests[3369].Request.Path = "/subscriptions/5ee97344-ef05-/resourceGroups/3a7c6b3d-1152-46e/providers/microsoft.insights/components/54b1c6c3-8b8/2af0bfea-/item"; - Requests[3370] = new DefaultHttpContext(); - Requests[3370].RequestServices = CreateServices(); - Requests[3370].Request.Method = "GET"; - Requests[3370].Request.Path = "/subscriptions/d641db12-2b56-/resourceGroups/bdbdfb60-1f98-465/providers/Microsoft.Network/dnsZones/5c5aa3f7/911b01b8-c/ac1f3b63-1c78-4e27-ac"; - Requests[3371] = new DefaultHttpContext(); - Requests[3371].RequestServices = CreateServices(); - Requests[3371].Request.Method = "DELETE"; - Requests[3371].Request.Path = "/subscriptions/5f8fdc6d-8304-/resourceGroups/89e271a9-1b99-47e/providers/Microsoft.Network/trafficmanagerprofiles/ac358470-b3/5d0ebcc3-e30/03ab7a58-e6b"; - Requests[3372] = new DefaultHttpContext(); - Requests[3372].RequestServices = CreateServices(); - Requests[3372].Request.Method = "DELETE"; - Requests[3372].Request.Path = "/apis/4d35b/operations/c2dee1f0-b9/policies/7f9604af"; - Requests[3373] = new DefaultHttpContext(); - Requests[3373].RequestServices = CreateServices(); - Requests[3373].Request.Method = "DELETE"; - Requests[3373].Request.Path = "/apps/d3693/versions/9f43faaf-/closedlists/085e2998-4"; - Requests[3374] = new DefaultHttpContext(); - Requests[3374].RequestServices = CreateServices(); - Requests[3374].Request.Method = "DELETE"; - Requests[3374].Request.Path = "/apps/bf328/versions/c0af449e-/compositeentities/ffadd711-"; - Requests[3375] = new DefaultHttpContext(); - Requests[3375].RequestServices = CreateServices(); - Requests[3375].Request.Method = "DELETE"; - Requests[3375].Request.Path = "/apps/857d2/versions/830f7471-/customprebuiltdomains/784b84a5-8"; - Requests[3376] = new DefaultHttpContext(); - Requests[3376].RequestServices = CreateServices(); - Requests[3376].Request.Method = "DELETE"; - Requests[3376].Request.Path = "/apps/c434a/versions/0d9ae1b4-/entities/e66be5c6"; - Requests[3377] = new DefaultHttpContext(); - Requests[3377].RequestServices = CreateServices(); - Requests[3377].Request.Method = "DELETE"; - Requests[3377].Request.Path = "/apps/c26b1/versions/873285d9-/examples/712813c7-"; - Requests[3378] = new DefaultHttpContext(); - Requests[3378].RequestServices = CreateServices(); - Requests[3378].Request.Method = "DELETE"; - Requests[3378].Request.Path = "/apps/586f7/versions/fd327d6f-/hierarchicalentities/fb81f323-"; - Requests[3379] = new DefaultHttpContext(); - Requests[3379].RequestServices = CreateServices(); - Requests[3379].Request.Method = "DELETE"; - Requests[3379].Request.Path = "/apps/24ac3/versions/10da2bdf-/intents/205bd0c5"; - Requests[3380] = new DefaultHttpContext(); - Requests[3380].RequestServices = CreateServices(); - Requests[3380].Request.Method = "DELETE"; - Requests[3380].Request.Path = "/apps/f2190/versions/19e08aae-/patternanyentities/5a7129ad"; - Requests[3381] = new DefaultHttpContext(); - Requests[3381].RequestServices = CreateServices(); - Requests[3381].Request.Method = "DELETE"; - Requests[3381].Request.Path = "/apps/56715/versions/fbef6bd3-/patternrules/87b483fa-"; - Requests[3382] = new DefaultHttpContext(); - Requests[3382].RequestServices = CreateServices(); - Requests[3382].Request.Method = "DELETE"; - Requests[3382].Request.Path = "/apps/c7377/versions/50afb2c7-/patterns/6ed05835-"; - Requests[3383] = new DefaultHttpContext(); - Requests[3383].RequestServices = CreateServices(); - Requests[3383].Request.Method = "DELETE"; - Requests[3383].Request.Path = "/apps/6ab5e/versions/1584397b-/phraselists/60558de4-7e6"; - Requests[3384] = new DefaultHttpContext(); - Requests[3384].RequestServices = CreateServices(); - Requests[3384].Request.Method = "DELETE"; - Requests[3384].Request.Path = "/apps/a8312/versions/f58f6a3b-/prebuilts/332a1cea-a"; - Requests[3385] = new DefaultHttpContext(); - Requests[3385].RequestServices = CreateServices(); - Requests[3385].Request.Method = "DELETE"; - Requests[3385].Request.Path = "/apps/3f2ea/versions/000b5eaf-/regexentities/9ca96f68-7b8c"; - Requests[3386] = new DefaultHttpContext(); - Requests[3386].RequestServices = CreateServices(); - Requests[3386].Request.Method = "HEAD"; - Requests[3386].Request.Path = "/jobs/0a7f6/tasks/c65388/files/6400f9b6"; - Requests[3387] = new DefaultHttpContext(); - Requests[3387].RequestServices = CreateServices(); - Requests[3387].Request.Method = "PATCH"; - Requests[3387].Request.Path = "/persongroups/1e3f30e2-f640/persons/acf60416/persistedFaces/e92698f9-c416-4"; - Requests[3388] = new DefaultHttpContext(); - Requests[3388].RequestServices = CreateServices(); - Requests[3388].Request.Method = "HEAD"; - Requests[3388].Request.Path = "/pools/fa7888/nodes/4b0b7a/files/99c0c906"; - Requests[3389] = new DefaultHttpContext(); - Requests[3389].RequestServices = CreateServices(); - Requests[3389].Request.Method = "PUT"; - Requests[3389].Request.Path = "/pools/3135bd/nodes/190a35/users/ed7133df"; - Requests[3390] = new DefaultHttpContext(); - Requests[3390].RequestServices = CreateServices(); - Requests[3390].Request.Method = "PUT"; - Requests[3390].Request.Path = "/subscriptions/afc275a5-57d7-/tagNames/622610b/tagValues/fc1537ce"; - Requests[3391] = new DefaultHttpContext(); - Requests[3391].RequestServices = CreateServices(); - Requests[3391].Request.Method = "POST"; - Requests[3391].Request.Path = "/apps/630c1/versions/4e7ca368-/closedlists/ac210979-d/sublists"; - Requests[3392] = new DefaultHttpContext(); - Requests[3392].RequestServices = CreateServices(); - Requests[3392].Request.Method = "POST"; - Requests[3392].Request.Path = "/apps/bd201/versions/510fd6e0-/closedlists/1a21d27c/roles"; - Requests[3393] = new DefaultHttpContext(); - Requests[3393].RequestServices = CreateServices(); - Requests[3393].Request.Method = "POST"; - Requests[3393].Request.Path = "/apps/88023/versions/5e2dd292-/compositeentities/b382467a-/children"; - Requests[3394] = new DefaultHttpContext(); - Requests[3394].RequestServices = CreateServices(); - Requests[3394].Request.Method = "POST"; - Requests[3394].Request.Path = "/apps/4c936/versions/4fd50486-/compositeentities/7eeeba5a-/roles"; - Requests[3395] = new DefaultHttpContext(); - Requests[3395].RequestServices = CreateServices(); - Requests[3395].Request.Method = "POST"; - Requests[3395].Request.Path = "/apps/2f260/versions/e09f3a8d-/customprebuiltentities/dc3c3082/roles"; - Requests[3396] = new DefaultHttpContext(); - Requests[3396].RequestServices = CreateServices(); - Requests[3396].Request.Method = "POST"; - Requests[3396].Request.Path = "/apps/98ea3/versions/31ace458-/entities/601633fa/roles"; - Requests[3397] = new DefaultHttpContext(); - Requests[3397].RequestServices = CreateServices(); - Requests[3397].Request.Method = "GET"; - Requests[3397].Request.Path = "/apps/d2ac5/versions/10a67109-/entities/f5a8855b/suggest"; - Requests[3398] = new DefaultHttpContext(); - Requests[3398].RequestServices = CreateServices(); - Requests[3398].Request.Method = "POST"; - Requests[3398].Request.Path = "/apps/b403c/versions/b917b4a6-/hierarchicalentities/68c6995c-/children"; - Requests[3399] = new DefaultHttpContext(); - Requests[3399].RequestServices = CreateServices(); - Requests[3399].Request.Method = "POST"; - Requests[3399].Request.Path = "/apps/6a24a/versions/6aced2a5-/hierarchicalentities/124adbbc-/roles"; - Requests[3400] = new DefaultHttpContext(); - Requests[3400].RequestServices = CreateServices(); - Requests[3400].Request.Method = "GET"; - Requests[3400].Request.Path = "/apps/bb884/versions/fbc7cda3-/intents/f1bcb1c9/patternrules"; - Requests[3401] = new DefaultHttpContext(); - Requests[3401].RequestServices = CreateServices(); - Requests[3401].Request.Method = "GET"; - Requests[3401].Request.Path = "/apps/94c77/versions/1b67dd10-/intents/7014e75c/suggest"; - Requests[3402] = new DefaultHttpContext(); - Requests[3402].RequestServices = CreateServices(); - Requests[3402].Request.Method = "GET"; - Requests[3402].Request.Path = "/apps/bdd4f/versions/d02eb849-/models/fe51bca/examples"; - Requests[3403] = new DefaultHttpContext(); - Requests[3403].RequestServices = CreateServices(); - Requests[3403].Request.Method = "POST"; - Requests[3403].Request.Path = "/apps/3767e/versions/0e05d672-/patternanyentities/80579903/explicitlist"; - Requests[3404] = new DefaultHttpContext(); - Requests[3404].RequestServices = CreateServices(); - Requests[3404].Request.Method = "POST"; - Requests[3404].Request.Path = "/apps/5ee91/versions/05df7bf8-/patternanyentities/942827fc/roles"; - Requests[3405] = new DefaultHttpContext(); - Requests[3405].RequestServices = CreateServices(); - Requests[3405].Request.Method = "POST"; - Requests[3405].Request.Path = "/apps/47ebe/versions/8673e4cf-/prebuilts/2cd4f13a/roles"; - Requests[3406] = new DefaultHttpContext(); - Requests[3406].RequestServices = CreateServices(); - Requests[3406].Request.Method = "POST"; - Requests[3406].Request.Path = "/apps/37c70/versions/ca5a8efe-/regexentities/27bdeb1e/roles"; - Requests[3407] = new DefaultHttpContext(); - Requests[3407].RequestServices = CreateServices(); - Requests[3407].Request.Method = "GET"; - Requests[3407].Request.Path = "/subscriptions/7259ebd1-3746-/resourcegroups/13430ca8-57d0-47c/deployments/421256df-1aa9-/operations"; - Requests[3408] = new DefaultHttpContext(); - Requests[3408].RequestServices = CreateServices(); - Requests[3408].Request.Method = "POST"; - Requests[3408].Request.Path = "/subscriptions/b844d95b-74dc-/providers/838157da-7333-44d3-9db/policyAssignments/ed0897a2-c020-4599-b/providers/Microsoft.PolicyInsights/policyEvents/e3051d3b-f236-418d-8/queryResults"; - Requests[3409] = new DefaultHttpContext(); - Requests[3409].RequestServices = CreateServices(); - Requests[3409].Request.Method = "POST"; - Requests[3409].Request.Path = "/subscriptions/fd0f3cc0-3c9d-/providers/5a91b97f-9efa-44d6-ac0/policyAssignments/10a3c3f3-7288-4ca0-9/providers/Microsoft.PolicyInsights/policyStates/387fdd4b-7110-4c97-a/queryResults"; - Requests[3410] = new DefaultHttpContext(); - Requests[3410].RequestServices = CreateServices(); - Requests[3410].Request.Method = "POST"; - Requests[3410].Request.Path = "/subscriptions/4e5552dd-0aee-/providers/d33cc9b3-a7c6-4258-841/policyAssignments/df317e64-239f-4636-8/providers/Microsoft.PolicyInsights/policyStates/9e6b9cea-f2db-45a7-af8d-091/summarize"; - Requests[3411] = new DefaultHttpContext(); - Requests[3411].RequestServices = CreateServices(); - Requests[3411].Request.Method = "POST"; - Requests[3411].Request.Path = "/subscriptions/84d938b6-cdc1-/providers/f9b44198-c535-411e-837/policyDefinitions/50665ad7-6440-4a26-a/providers/Microsoft.PolicyInsights/policyEvents/5533de8c-3e1c-418b-9/queryResults"; - Requests[3412] = new DefaultHttpContext(); - Requests[3412].RequestServices = CreateServices(); - Requests[3412].Request.Method = "POST"; - Requests[3412].Request.Path = "/subscriptions/fb4f0fc9-9697-/providers/dfd28320-ec7f-4c22-b8e/policyDefinitions/fcd39a7d-ed60-49e3-9/providers/Microsoft.PolicyInsights/policyStates/874f4ca5-0750-4bb0-b/queryResults"; - Requests[3413] = new DefaultHttpContext(); - Requests[3413].RequestServices = CreateServices(); - Requests[3413].Request.Method = "POST"; - Requests[3413].Request.Path = "/subscriptions/b8683f31-c620-/providers/306188e6-90c8-4ed5-839/policyDefinitions/f63d9b51-6d54-4b56-a/providers/Microsoft.PolicyInsights/policyStates/8c378b02-3cc3-4407-a7a2-db8/summarize"; - Requests[3414] = new DefaultHttpContext(); - Requests[3414].RequestServices = CreateServices(); - Requests[3414].Request.Method = "POST"; - Requests[3414].Request.Path = "/subscriptions/50456f52-d3ea-/providers/c2aba201-c693-43ca-ab6/policySetDefinitions/bcd2155f-83fc-48dc-a887/providers/Microsoft.PolicyInsights/policyEvents/43ff0f56-8fbf-4e00-9/queryResults"; - Requests[3415] = new DefaultHttpContext(); - Requests[3415].RequestServices = CreateServices(); - Requests[3415].Request.Method = "POST"; - Requests[3415].Request.Path = "/subscriptions/c734ded9-1a7d-/providers/6aa5f295-90ba-4f92-91a/policySetDefinitions/9a176a2a-c1cc-4804-bd85/providers/Microsoft.PolicyInsights/policyStates/6cd756ea-133f-4b04-b/queryResults"; - Requests[3416] = new DefaultHttpContext(); - Requests[3416].RequestServices = CreateServices(); - Requests[3416].Request.Method = "POST"; - Requests[3416].Request.Path = "/subscriptions/5619c476-3b50-/providers/c5ecfecf-6578-475c-90a/policySetDefinitions/e3ed3a4f-ddc4-4d0f-a698/providers/Microsoft.PolicyInsights/policyStates/8ee9fdd3-e8fa-4dd6-bf73-d9a/summarize"; - Requests[3417] = new DefaultHttpContext(); - Requests[3417].RequestServices = CreateServices(); - Requests[3417].Request.Method = "PUT"; - Requests[3417].Request.Path = "/apps/a3137/versions/29168240-/closedlists/0dd9e001-5/sublists/0b899be2-"; - Requests[3418] = new DefaultHttpContext(); - Requests[3418].RequestServices = CreateServices(); - Requests[3418].Request.Method = "DELETE"; - Requests[3418].Request.Path = "/apps/dd170/versions/7411785b-/closedlists/9ba38295/roles/322c67"; - Requests[3419] = new DefaultHttpContext(); - Requests[3419].RequestServices = CreateServices(); - Requests[3419].Request.Method = "DELETE"; - Requests[3419].Request.Path = "/apps/9cd96/versions/061bead6-/compositeentities/d5380e23-/children/f31677e1"; - Requests[3420] = new DefaultHttpContext(); - Requests[3420].RequestServices = CreateServices(); - Requests[3420].Request.Method = "DELETE"; - Requests[3420].Request.Path = "/apps/48a34/versions/83530774-/compositeentities/ea07ba9e-/roles/6d51cc"; - Requests[3421] = new DefaultHttpContext(); - Requests[3421].RequestServices = CreateServices(); - Requests[3421].Request.Method = "DELETE"; - Requests[3421].Request.Path = "/apps/36ec9/versions/aca7eaa9-/customprebuiltentities/6bcb32ac/roles/5de2d8"; - Requests[3422] = new DefaultHttpContext(); - Requests[3422].RequestServices = CreateServices(); - Requests[3422].Request.Method = "DELETE"; - Requests[3422].Request.Path = "/apps/d542f/versions/54d6dbc8-/entities/8c449a88/roles/af217f"; - Requests[3423] = new DefaultHttpContext(); - Requests[3423].RequestServices = CreateServices(); - Requests[3423].Request.Method = "DELETE"; - Requests[3423].Request.Path = "/apps/96253/versions/1f5399bb-/hierarchicalentities/ffa7382d-/children/6b7cff75"; - Requests[3424] = new DefaultHttpContext(); - Requests[3424].RequestServices = CreateServices(); - Requests[3424].Request.Method = "DELETE"; - Requests[3424].Request.Path = "/apps/bdb67/versions/c805b596-/hierarchicalentities/c450ed73-/roles/3c4623"; - Requests[3425] = new DefaultHttpContext(); - Requests[3425].RequestServices = CreateServices(); - Requests[3425].Request.Method = "DELETE"; - Requests[3425].Request.Path = "/apps/437a5/versions/ad44341d-/patternanyentities/258f3feb/explicitlist/d9f51b"; - Requests[3426] = new DefaultHttpContext(); - Requests[3426].RequestServices = CreateServices(); - Requests[3426].Request.Method = "DELETE"; - Requests[3426].Request.Path = "/apps/7e293/versions/a8d28ab6-/patternanyentities/838a8099/roles/95a55f"; - Requests[3427] = new DefaultHttpContext(); - Requests[3427].RequestServices = CreateServices(); - Requests[3427].Request.Method = "DELETE"; - Requests[3427].Request.Path = "/apps/1293c/versions/ae22fdf0-/prebuilts/d76f5f3c/roles/aaf517"; - Requests[3428] = new DefaultHttpContext(); - Requests[3428].RequestServices = CreateServices(); - Requests[3428].Request.Method = "DELETE"; - Requests[3428].Request.Path = "/apps/dec36/versions/86d51d48-/regexentities/3cfe5d39/roles/673cab"; - Requests[3429] = new DefaultHttpContext(); - Requests[3429].RequestServices = CreateServices(); - Requests[3429].Request.Method = "GET"; - Requests[3429].Request.Path = "/subscriptions/99f01c50-9f79-/resourcegroups/cfa62b44-b873-486/deployments/97eea82a-6f14-/operations/88059381-6f"; - Requests[3430] = new DefaultHttpContext(); - Requests[3430].RequestServices = CreateServices(); - Requests[3430].Request.Method = "POST"; - Requests[3430].Request.Path = "/subscriptions/d401124e-1459-/resourcegroups/dd8532cc-656f-498/providers/92aca556-491d-4617-8ff/policyAssignments/e5433f1a-768e-4f5d-9/providers/Microsoft.PolicyInsights/policyEvents/877d98bf-fba0-4219-8/queryResults"; - Requests[3431] = new DefaultHttpContext(); - Requests[3431].RequestServices = CreateServices(); - Requests[3431].Request.Method = "POST"; - Requests[3431].Request.Path = "/subscriptions/c8d4a51d-146b-/resourcegroups/1942d1cd-d6a4-459/providers/2ff564fc-6286-43ee-b0f/policyAssignments/a46ec1d3-aa93-47fb-8/providers/Microsoft.PolicyInsights/policyStates/2e9a906b-8ed1-4fa3-8/queryResults"; - Requests[3432] = new DefaultHttpContext(); - Requests[3432].RequestServices = CreateServices(); - Requests[3432].Request.Method = "POST"; - Requests[3432].Request.Path = "/subscriptions/3288be26-0da7-/resourcegroups/cae3a1bd-e62c-44c/providers/207fb85c-c7e8-4a97-81f/policyAssignments/7db5c558-8019-45f5-b/providers/Microsoft.PolicyInsights/policyStates/e4366bd8-67f1-4a90-ba86-7f5/summarize"; - Requests[3433] = new DefaultHttpContext(); - Requests[3433].RequestServices = CreateServices(); - Requests[3433].Request.Method = "GET"; - Requests[3433].Request.Path = "/subscriptions/06f8b472-cd93-/resourceGroups/f5ba84cc-f082-4b5/providers/85f3cc9e-b438-413/e329c23f-dee6-46/19a392d8-791/providers/Microsoft.EventGrid/eventSubscriptions"; - Requests[3434] = new DefaultHttpContext(); - Requests[3434].RequestServices = CreateServices(); - Requests[3434].Request.Method = "GET"; - Requests[3434].Request.Path = "/subscriptions/6ca5c211-2bdb-/resourceGroups/5134ad71-cbc6-42a/providers/f3858386-206a-467/1a601212-7a09-4f/e73cf087-9f5/providers/Microsoft.EventGrid/eventTypes"; - Requests[3435] = new DefaultHttpContext(); - Requests[3435].RequestServices = CreateServices(); - Requests[3435].Request.Method = "GET"; - Requests[3435].Request.Path = "/subscriptions/e4bb9c6d-e841-/resourcegroups/c7f96a4e-fd9d-405/providers/9881e69a-7fb/c2fabab6-eaa/7ccca89a-229/providers/Microsoft.OperationsManagement/ManagementAssociations/a3ed9791-20fc-43d9-af72-5"; - Requests[3436] = new DefaultHttpContext(); - Requests[3436].RequestServices = CreateServices(); - Requests[3436].Request.Method = "GET"; - Requests[3436].Request.Path = "/subscriptions/f8602411-ac77-/resourcegroups/c67a9d21-45f0-4b5/providers/5af6e4af-edcc-4975-a76c-a/56811225-1eb3-4160/66256656-354/7cba89bd-55a"; - Requests[3437] = new DefaultHttpContext(); - Requests[3437].RequestServices = CreateServices(); - Requests[3437].Request.Method = "GET"; - Requests[3437].Request.Path = "/subscriptions/e6d9450d-c442-/resourcegroups/d3173b51-5656-47b/providers/062c2b09-be89-4c9b-89a2-2/23226c2d-951c-4418/76bcacfe-b45/5a0d957d-09e/providers/Microsoft.Authorization/locks"; - Requests[3438] = new DefaultHttpContext(); - Requests[3438].RequestServices = CreateServices(); - Requests[3438].Request.Method = "GET"; - Requests[3438].Request.Path = "/subscriptions/3b187206-14e9-/resourcegroups/bdc1f1ee-4afe-441/providers/34f524ed-b3a0-4698-9dae-7/ba817d17-2d44-4316/6856c958-dd8/d752ba19-753/providers/Microsoft.Authorization/permissions"; - Requests[3439] = new DefaultHttpContext(); - Requests[3439].RequestServices = CreateServices(); - Requests[3439].Request.Method = "GET"; - Requests[3439].Request.Path = "/subscriptions/66fe2d16-5e80-/resourcegroups/c6a2cb1e-45fb-43d/providers/394befcd-a239-45d5-9d2f-0/1b50afc8-4e65-4e3e/9c5fcc06-feb/0b55eebb-763/providers/Microsoft.Authorization/policyAssignments"; - Requests[3440] = new DefaultHttpContext(); - Requests[3440].RequestServices = CreateServices(); - Requests[3440].Request.Method = "GET"; - Requests[3440].Request.Path = "/subscriptions/6e9f14ab-1faa-/resourcegroups/4b6d7b6e-81f5-45f/providers/5462f2bf-b249-48d5-9e7c-5/a04aaf71-6e68-4d55/020ef8ba-d4b/313c1370-7b9/providers/Microsoft.Authorization/roleAssignments"; - Requests[3441] = new DefaultHttpContext(); - Requests[3441].RequestServices = CreateServices(); - Requests[3441].Request.Method = "GET"; - Requests[3441].Request.Path = "/subscriptions/0e0b8f14-fad4-/resourcegroups/a67f550d-fdc8-42b/providers/e68ff4d2-10c1-4c9c-82d8-f/b1689285-0750-4eb8/2ed223b8-c67/dd2c9821-2f7/providers/Microsoft.Authorization/locks/84a9ae91"; - Requests[3442] = new DefaultHttpContext(); - Requests[3442].RequestServices = CreateServices(); - Requests[3442].Request.Method = "GET"; - Requests[3442].Request.Path = "/apps/5f68b/events/89f50ec1-/66ce49b"; - Requests[3443] = new DefaultHttpContext(); - Requests[3443].RequestServices = CreateServices(); - Requests[3443].Request.Method = "GET"; - Requests[3443].Request.Path = "/certificates/72742049-2d02-48/241ae955-db05-48a4-"; - Requests[3444] = new DefaultHttpContext(); - Requests[3444].RequestServices = CreateServices(); - Requests[3444].Request.Method = "GET"; - Requests[3444].Request.Path = "/keys/051ccaba/fdbe8776-25"; - Requests[3445] = new DefaultHttpContext(); - Requests[3445].RequestServices = CreateServices(); - Requests[3445].Request.Method = "PATCH"; - Requests[3445].Request.Path = "/quotas/8186e47c-d50c-4/130f53a6-44aa-"; - Requests[3446] = new DefaultHttpContext(); - Requests[3446].RequestServices = CreateServices(); - Requests[3446].Request.Method = "GET"; - Requests[3446].Request.Path = "/secrets/64244ad1-c2/2874dd6e-e80c-"; - Requests[3447] = new DefaultHttpContext(); - Requests[3447].RequestServices = CreateServices(); - Requests[3447].Request.Method = "POST"; - Requests[3447].Request.Path = "/keys/2ece3b8a/70e39e1f-71/decrypt"; - Requests[3448] = new DefaultHttpContext(); - Requests[3448].RequestServices = CreateServices(); - Requests[3448].Request.Method = "POST"; - Requests[3448].Request.Path = "/keys/182433da/20e2a813-0f/encrypt"; - Requests[3449] = new DefaultHttpContext(); - Requests[3449].RequestServices = CreateServices(); - Requests[3449].Request.Method = "POST"; - Requests[3449].Request.Path = "/keys/4612b2c8/2f1e7d40-a6/sign"; - Requests[3450] = new DefaultHttpContext(); - Requests[3450].RequestServices = CreateServices(); - Requests[3450].Request.Method = "POST"; - Requests[3450].Request.Path = "/keys/69b994c8/f38e4356-24/unwrapkey"; - Requests[3451] = new DefaultHttpContext(); - Requests[3451].RequestServices = CreateServices(); - Requests[3451].Request.Method = "POST"; - Requests[3451].Request.Path = "/keys/ca8e9477/40651d14-e8/verify"; - Requests[3452] = new DefaultHttpContext(); - Requests[3452].RequestServices = CreateServices(); - Requests[3452].Request.Method = "POST"; - Requests[3452].Request.Path = "/keys/f069329f/be730578-63/wrapkey"; - Requests[3453] = new DefaultHttpContext(); - Requests[3453].RequestServices = CreateServices(); - Requests[3453].Request.Method = "PUT"; - Requests[3453].Request.Path = "/45e31c03-5fc1-4665-8c53"; - Requests[3454] = new DefaultHttpContext(); - Requests[3454].RequestServices = CreateServices(); - Requests[3454].Request.Method = "POST"; - Requests[3454].Request.Path = "/d42d5b71-/image"; - Requests[3455] = new DefaultHttpContext(); - Requests[3455].RequestServices = CreateServices(); - Requests[3455].Request.Method = "POST"; - Requests[3455].Request.Path = "/897d5bb5-/url"; - Requests[3456] = new DefaultHttpContext(); - Requests[3456].RequestServices = CreateServices(); - Requests[3456].Request.Method = "GET"; - Requests[3456].Request.Path = "/8a356c94/applications"; - Requests[3457] = new DefaultHttpContext(); - Requests[3457].RequestServices = CreateServices(); - Requests[3457].Request.Method = "GET"; - Requests[3457].Request.Path = "/88e8cdbe/domains"; - Requests[3458] = new DefaultHttpContext(); - Requests[3458].RequestServices = CreateServices(); - Requests[3458].Request.Method = "POST"; - Requests[3458].Request.Path = "/dce82364/getObjectsByObjectIds"; - Requests[3459] = new DefaultHttpContext(); - Requests[3459].RequestServices = CreateServices(); - Requests[3459].Request.Method = "GET"; - Requests[3459].Request.Path = "/817188d6/groups"; - Requests[3460] = new DefaultHttpContext(); - Requests[3460].RequestServices = CreateServices(); - Requests[3460].Request.Method = "POST"; - Requests[3460].Request.Path = "/6d3a1ebf/isMemberOf"; - Requests[3461] = new DefaultHttpContext(); - Requests[3461].RequestServices = CreateServices(); - Requests[3461].Request.Method = "GET"; - Requests[3461].Request.Path = "/1b4de1d8/me"; - Requests[3462] = new DefaultHttpContext(); - Requests[3462].RequestServices = CreateServices(); - Requests[3462].Request.Method = "GET"; - Requests[3462].Request.Path = "/822bf4c0/servicePrincipals"; - Requests[3463] = new DefaultHttpContext(); - Requests[3463].RequestServices = CreateServices(); - Requests[3463].Request.Method = "GET"; - Requests[3463].Request.Path = "/5a924531/users"; - Requests[3464] = new DefaultHttpContext(); - Requests[3464].RequestServices = CreateServices(); - Requests[3464].Request.Method = "POST"; - Requests[3464].Request.Path = "/3f3b987e-/image/nostore"; - Requests[3465] = new DefaultHttpContext(); - Requests[3465].RequestServices = CreateServices(); - Requests[3465].Request.Method = "POST"; - Requests[3465].Request.Path = "/ada93636-/url/nostore"; - Requests[3466] = new DefaultHttpContext(); - Requests[3466].RequestServices = CreateServices(); - Requests[3466].Request.Method = "POST"; - Requests[3466].Request.Path = "/ebb382d8-c3/providers/microsoft.insights/calculatebaseline"; - Requests[3467] = new DefaultHttpContext(); - Requests[3467].RequestServices = CreateServices(); - Requests[3467].Request.Method = "GET"; - Requests[3467].Request.Path = "/3c6dbcb6-77/providers/microsoft.insights/diagnosticSettings"; - Requests[3468] = new DefaultHttpContext(); - Requests[3468].RequestServices = CreateServices(); - Requests[3468].Request.Method = "GET"; - Requests[3468].Request.Path = "/ab7e5025-57/providers/microsoft.insights/diagnosticSettingsCategories"; - Requests[3469] = new DefaultHttpContext(); - Requests[3469].RequestServices = CreateServices(); - Requests[3469].Request.Method = "GET"; - Requests[3469].Request.Path = "/23f87d0e-41/providers/microsoft.insights/metricDefinitions"; - Requests[3470] = new DefaultHttpContext(); - Requests[3470].RequestServices = CreateServices(); - Requests[3470].Request.Method = "GET"; - Requests[3470].Request.Path = "/0c9f420b-47/providers/microsoft.insights/metrics"; - Requests[3471] = new DefaultHttpContext(); - Requests[3471].RequestServices = CreateServices(); - Requests[3471].Request.Method = "GET"; - Requests[3471].Request.Path = "/59f13b9c-65/providers/Microsoft.ResourceHealth/availabilityStatuses"; - Requests[3472] = new DefaultHttpContext(); - Requests[3472].RequestServices = CreateServices(); - Requests[3472].Request.Method = "GET"; - Requests[3472].Request.Path = "/b2724/providers/Microsoft.Authorization/policyAssignments"; - Requests[3473] = new DefaultHttpContext(); - Requests[3473].RequestServices = CreateServices(); - Requests[3473].Request.Method = "GET"; - Requests[3473].Request.Path = "/53f0b/providers/Microsoft.Authorization/roleAssignments"; - Requests[3474] = new DefaultHttpContext(); - Requests[3474].RequestServices = CreateServices(); - Requests[3474].Request.Method = "GET"; - Requests[3474].Request.Path = "/9f6ba/providers/Microsoft.Authorization/roleDefinitions"; - Requests[3475] = new DefaultHttpContext(); - Requests[3475].RequestServices = CreateServices(); - Requests[3475].Request.Method = "GET"; - Requests[3475].Request.Path = "/f36c3/providers/Microsoft.Consumption/reservationDetails"; - Requests[3476] = new DefaultHttpContext(); - Requests[3476].RequestServices = CreateServices(); - Requests[3476].Request.Method = "GET"; - Requests[3476].Request.Path = "/74f1f/providers/Microsoft.Consumption/reservationSummaries"; - Requests[3477] = new DefaultHttpContext(); - Requests[3477].RequestServices = CreateServices(); - Requests[3477].Request.Method = "GET"; - Requests[3477].Request.Path = "/31cd7/providers/Microsoft.Consumption/usageDetails"; - Requests[3478] = new DefaultHttpContext(); - Requests[3478].RequestServices = CreateServices(); - Requests[3478].Request.Method = "GET"; - Requests[3478].Request.Path = "/216f3/providers/Microsoft.Resources/links"; - Requests[3479] = new DefaultHttpContext(); - Requests[3479].RequestServices = CreateServices(); - Requests[3479].Request.Method = "GET"; - Requests[3479].Request.Path = "/cf5d9/providers/Microsoft.Security/compliances"; - Requests[3480] = new DefaultHttpContext(); - Requests[3480].RequestServices = CreateServices(); - Requests[3480].Request.Method = "PATCH"; - Requests[3480].Request.Path = "/704d76c5-53/providers/microsoft.insights/diagnosticSettings/service"; - Requests[3481] = new DefaultHttpContext(); - Requests[3481].RequestServices = CreateServices(); - Requests[3481].Request.Method = "GET"; - Requests[3481].Request.Path = "/9fdaded0-9f/providers/Microsoft.ResourceHealth/availabilityStatuses/current"; - Requests[3482] = new DefaultHttpContext(); - Requests[3482].RequestServices = CreateServices(); - Requests[3482].Request.Method = "GET"; - Requests[3482].Request.Path = "/48737/providers/Microsoft.PolicyInsights/policyEvents/$metadata"; - Requests[3483] = new DefaultHttpContext(); - Requests[3483].RequestServices = CreateServices(); - Requests[3483].Request.Method = "GET"; - Requests[3483].Request.Path = "/24282/providers/Microsoft.PolicyInsights/policyStates/$metadata"; - Requests[3484] = new DefaultHttpContext(); - Requests[3484].RequestServices = CreateServices(); - Requests[3484].Request.Method = "GET"; - Requests[3484].Request.Path = "/adb75c31-35/providers/Microsoft.Advisor/recommendations/34d554ee-a445-4b"; - Requests[3485] = new DefaultHttpContext(); - Requests[3485].RequestServices = CreateServices(); - Requests[3485].Request.Method = "GET"; - Requests[3485].Request.Path = "/cca35c40-23/providers/microsoft.insights/baseline/8f4f4722-e"; - Requests[3486] = new DefaultHttpContext(); - Requests[3486].RequestServices = CreateServices(); - Requests[3486].Request.Method = "DELETE"; - Requests[3486].Request.Path = "/e6938032-7a/providers/microsoft.insights/diagnosticSettings/f54e3"; - Requests[3487] = new DefaultHttpContext(); - Requests[3487].RequestServices = CreateServices(); - Requests[3487].Request.Method = "GET"; - Requests[3487].Request.Path = "/c42f8c3c-98/providers/microsoft.insights/diagnosticSettingsCategories/f4711"; - Requests[3488] = new DefaultHttpContext(); - Requests[3488].RequestServices = CreateServices(); - Requests[3488].Request.Method = "GET"; - Requests[3488].Request.Path = "/1fa2a/providers/Microsoft.Authorization/locks/12802ef8"; - Requests[3489] = new DefaultHttpContext(); - Requests[3489].RequestServices = CreateServices(); - Requests[3489].Request.Method = "GET"; - Requests[3489].Request.Path = "/cdfe6/providers/Microsoft.Authorization/policyAssignments/f6729358-5ff4-4857-8"; - Requests[3490] = new DefaultHttpContext(); - Requests[3490].RequestServices = CreateServices(); - Requests[3490].Request.Method = "GET"; - Requests[3490].Request.Path = "/4f5b8/providers/Microsoft.Authorization/roleAssignments/a435df57-0449-424e"; - Requests[3491] = new DefaultHttpContext(); - Requests[3491].RequestServices = CreateServices(); - Requests[3491].Request.Method = "PUT"; - Requests[3491].Request.Path = "/2c2f1/providers/Microsoft.Authorization/roleDefinitions/9d9cd928-84db-43"; - Requests[3492] = new DefaultHttpContext(); - Requests[3492].RequestServices = CreateServices(); - Requests[3492].Request.Method = "PATCH"; - Requests[3492].Request.Path = "/6acab/providers/Microsoft.EventGrid/eventSubscriptions/e852a59a-80b3-4b68-8b"; - Requests[3493] = new DefaultHttpContext(); - Requests[3493].RequestServices = CreateServices(); - Requests[3493].Request.Method = "GET"; - Requests[3493].Request.Path = "/ab5d9/providers/Microsoft.Security/compliances/f573d92b-8ad7-"; - Requests[3494] = new DefaultHttpContext(); - Requests[3494].RequestServices = CreateServices(); - Requests[3494].Request.Method = "POST"; - Requests[3494].Request.Path = "/32bda496-b/providers/Microsoft.PolicyInsights/policyEvents/ef17c09a-fffa-44d9-8/queryResults"; - Requests[3495] = new DefaultHttpContext(); - Requests[3495].RequestServices = CreateServices(); - Requests[3495].Request.Method = "POST"; - Requests[3495].Request.Path = "/28dc0c02-d/providers/Microsoft.PolicyInsights/policyStates/d812321f-7636-4847-8/queryResults"; - Requests[3496] = new DefaultHttpContext(); - Requests[3496].RequestServices = CreateServices(); - Requests[3496].Request.Method = "POST"; - Requests[3496].Request.Path = "/2a9d83b2-c/providers/Microsoft.PolicyInsights/policyStates/09cac66b-b27f-41e4-b959-55b/summarize"; - Requests[3497] = new DefaultHttpContext(); - Requests[3497].RequestServices = CreateServices(); - Requests[3497].Request.Method = "POST"; - Requests[3497].Request.Path = "/3e0dd/providers/Microsoft.EventGrid/eventSubscriptions/12732c1a-4e88-4778-a8/getFullUrl"; - Requests[3498] = new DefaultHttpContext(); - Requests[3498].RequestServices = CreateServices(); - Requests[3498].Request.Method = "DELETE"; - Requests[3498].Request.Path = "/9c373a03-99/providers/Microsoft.Advisor/recommendations/943eb968-fb25-41/suppressions/e1c3c"; - Requests[3499] = new DefaultHttpContext(); - Requests[3499].RequestServices = CreateServices(); - Requests[3499].Request.Method = "PATCH"; - Requests[3499].Request.Path = "/e89fd75e/applications/a3ab94b7-c2c4-45c7-"; - Requests[3500] = new DefaultHttpContext(); - Requests[3500].RequestServices = CreateServices(); - Requests[3500].Request.Method = "GET"; - Requests[3500].Request.Path = "/c124b8d8/domains/5b8eb28f-8"; - Requests[3501] = new DefaultHttpContext(); - Requests[3501].RequestServices = CreateServices(); - Requests[3501].Request.Method = "DELETE"; - Requests[3501].Request.Path = "/647f6b48/groups/2740afb7"; - Requests[3502] = new DefaultHttpContext(); - Requests[3502].RequestServices = CreateServices(); - Requests[3502].Request.Method = "GET"; - Requests[3502].Request.Path = "/73f263a0/servicePrincipals/2ec4199c"; - Requests[3503] = new DefaultHttpContext(); - Requests[3503].RequestServices = CreateServices(); - Requests[3503].Request.Method = "DELETE"; - Requests[3503].Request.Path = "/b71204f8/users/c9b64f97-dfc3"; - Requests[3504] = new DefaultHttpContext(); - Requests[3504].RequestServices = CreateServices(); - Requests[3504].Request.Method = "POST"; - Requests[3504].Request.Path = "/2909b454-/images/ad0e646/regionproposals"; - Requests[3505] = new DefaultHttpContext(); - Requests[3505].RequestServices = CreateServices(); - Requests[3505].Request.Method = "PATCH"; - Requests[3505].Request.Path = "/7a98e4ea/applications/1b406dfb-df0e-41aa-/keyCredentials"; - Requests[3506] = new DefaultHttpContext(); - Requests[3506].RequestServices = CreateServices(); - Requests[3506].Request.Method = "GET"; - Requests[3506].Request.Path = "/0f49b4bb/applications/f80fc76b-76b1-4f14-/owners"; - Requests[3507] = new DefaultHttpContext(); - Requests[3507].RequestServices = CreateServices(); - Requests[3507].Request.Method = "PATCH"; - Requests[3507].Request.Path = "/cb2ede39/applications/967b4702-9475-49af-/passwordCredentials"; - Requests[3508] = new DefaultHttpContext(); - Requests[3508].RequestServices = CreateServices(); - Requests[3508].Request.Method = "POST"; - Requests[3508].Request.Path = "/2a351f2b/groups/07886aaa/getMemberGroups"; - Requests[3509] = new DefaultHttpContext(); - Requests[3509].RequestServices = CreateServices(); - Requests[3509].Request.Method = "GET"; - Requests[3509].Request.Path = "/4fe717b1/groups/3c6c5bc7/members"; - Requests[3510] = new DefaultHttpContext(); - Requests[3510].RequestServices = CreateServices(); - Requests[3510].Request.Method = "PATCH"; - Requests[3510].Request.Path = "/cbcc6477/servicePrincipals/eb16edb7/keyCredentials"; - Requests[3511] = new DefaultHttpContext(); - Requests[3511].RequestServices = CreateServices(); - Requests[3511].Request.Method = "GET"; - Requests[3511].Request.Path = "/5713409d/servicePrincipals/d3544887/owners"; - Requests[3512] = new DefaultHttpContext(); - Requests[3512].RequestServices = CreateServices(); - Requests[3512].Request.Method = "PATCH"; - Requests[3512].Request.Path = "/cef92b8b/servicePrincipals/243f61fa/passwordCredentials"; - Requests[3513] = new DefaultHttpContext(); - Requests[3513].RequestServices = CreateServices(); - Requests[3513].Request.Method = "POST"; - Requests[3513].Request.Path = "/55be107a/users/ef077f0c/getMemberGroups"; - Requests[3514] = new DefaultHttpContext(); - Requests[3514].RequestServices = CreateServices(); - Requests[3514].Request.Method = "POST"; - Requests[3514].Request.Path = "/f6ee17b3/applications/78d16559-a4b9-4b07-/$links/owners"; - Requests[3515] = new DefaultHttpContext(); - Requests[3515].RequestServices = CreateServices(); - Requests[3515].Request.Method = "POST"; - Requests[3515].Request.Path = "/394c49c2/groups/36a7a085-a426/$links/members"; - Requests[3516] = new DefaultHttpContext(); - Requests[3516].RequestServices = CreateServices(); - Requests[3516].Request.Method = "DELETE"; - Requests[3516].Request.Path = "/50150593/groups/3b69edb3-5a85/$links/members/e508b10d-3e11-"; - } - - private Matcher SetupMatcher(MatcherBuilder builder) - { - builder.AddEndpoint(Endpoints[0]); - builder.AddEndpoint(Endpoints[1]); - builder.AddEndpoint(Endpoints[2]); - builder.AddEndpoint(Endpoints[3]); - builder.AddEndpoint(Endpoints[4]); - builder.AddEndpoint(Endpoints[5]); - builder.AddEndpoint(Endpoints[6]); - builder.AddEndpoint(Endpoints[7]); - builder.AddEndpoint(Endpoints[8]); - builder.AddEndpoint(Endpoints[9]); - builder.AddEndpoint(Endpoints[10]); - builder.AddEndpoint(Endpoints[11]); - builder.AddEndpoint(Endpoints[12]); - builder.AddEndpoint(Endpoints[13]); - builder.AddEndpoint(Endpoints[14]); - builder.AddEndpoint(Endpoints[15]); - builder.AddEndpoint(Endpoints[16]); - builder.AddEndpoint(Endpoints[17]); - builder.AddEndpoint(Endpoints[18]); - builder.AddEndpoint(Endpoints[19]); - builder.AddEndpoint(Endpoints[20]); - builder.AddEndpoint(Endpoints[21]); - builder.AddEndpoint(Endpoints[22]); - builder.AddEndpoint(Endpoints[23]); - builder.AddEndpoint(Endpoints[24]); - builder.AddEndpoint(Endpoints[25]); - builder.AddEndpoint(Endpoints[26]); - builder.AddEndpoint(Endpoints[27]); - builder.AddEndpoint(Endpoints[28]); - builder.AddEndpoint(Endpoints[29]); - builder.AddEndpoint(Endpoints[30]); - builder.AddEndpoint(Endpoints[31]); - builder.AddEndpoint(Endpoints[32]); - builder.AddEndpoint(Endpoints[33]); - builder.AddEndpoint(Endpoints[34]); - builder.AddEndpoint(Endpoints[35]); - builder.AddEndpoint(Endpoints[36]); - builder.AddEndpoint(Endpoints[37]); - builder.AddEndpoint(Endpoints[38]); - builder.AddEndpoint(Endpoints[39]); - builder.AddEndpoint(Endpoints[40]); - builder.AddEndpoint(Endpoints[41]); - builder.AddEndpoint(Endpoints[42]); - builder.AddEndpoint(Endpoints[43]); - builder.AddEndpoint(Endpoints[44]); - builder.AddEndpoint(Endpoints[45]); - builder.AddEndpoint(Endpoints[46]); - builder.AddEndpoint(Endpoints[47]); - builder.AddEndpoint(Endpoints[48]); - builder.AddEndpoint(Endpoints[49]); - builder.AddEndpoint(Endpoints[50]); - builder.AddEndpoint(Endpoints[51]); - builder.AddEndpoint(Endpoints[52]); - builder.AddEndpoint(Endpoints[53]); - builder.AddEndpoint(Endpoints[54]); - builder.AddEndpoint(Endpoints[55]); - builder.AddEndpoint(Endpoints[56]); - builder.AddEndpoint(Endpoints[57]); - builder.AddEndpoint(Endpoints[58]); - builder.AddEndpoint(Endpoints[59]); - builder.AddEndpoint(Endpoints[60]); - builder.AddEndpoint(Endpoints[61]); - builder.AddEndpoint(Endpoints[62]); - builder.AddEndpoint(Endpoints[63]); - builder.AddEndpoint(Endpoints[64]); - builder.AddEndpoint(Endpoints[65]); - builder.AddEndpoint(Endpoints[66]); - builder.AddEndpoint(Endpoints[67]); - builder.AddEndpoint(Endpoints[68]); - builder.AddEndpoint(Endpoints[69]); - builder.AddEndpoint(Endpoints[70]); - builder.AddEndpoint(Endpoints[71]); - builder.AddEndpoint(Endpoints[72]); - builder.AddEndpoint(Endpoints[73]); - builder.AddEndpoint(Endpoints[74]); - builder.AddEndpoint(Endpoints[75]); - builder.AddEndpoint(Endpoints[76]); - builder.AddEndpoint(Endpoints[77]); - builder.AddEndpoint(Endpoints[78]); - builder.AddEndpoint(Endpoints[79]); - builder.AddEndpoint(Endpoints[80]); - builder.AddEndpoint(Endpoints[81]); - builder.AddEndpoint(Endpoints[82]); - builder.AddEndpoint(Endpoints[83]); - builder.AddEndpoint(Endpoints[84]); - builder.AddEndpoint(Endpoints[85]); - builder.AddEndpoint(Endpoints[86]); - builder.AddEndpoint(Endpoints[87]); - builder.AddEndpoint(Endpoints[88]); - builder.AddEndpoint(Endpoints[89]); - builder.AddEndpoint(Endpoints[90]); - builder.AddEndpoint(Endpoints[91]); - builder.AddEndpoint(Endpoints[92]); - builder.AddEndpoint(Endpoints[93]); - builder.AddEndpoint(Endpoints[94]); - builder.AddEndpoint(Endpoints[95]); - builder.AddEndpoint(Endpoints[96]); - builder.AddEndpoint(Endpoints[97]); - builder.AddEndpoint(Endpoints[98]); - builder.AddEndpoint(Endpoints[99]); - builder.AddEndpoint(Endpoints[100]); - builder.AddEndpoint(Endpoints[101]); - builder.AddEndpoint(Endpoints[102]); - builder.AddEndpoint(Endpoints[103]); - builder.AddEndpoint(Endpoints[104]); - builder.AddEndpoint(Endpoints[105]); - builder.AddEndpoint(Endpoints[106]); - builder.AddEndpoint(Endpoints[107]); - builder.AddEndpoint(Endpoints[108]); - builder.AddEndpoint(Endpoints[109]); - builder.AddEndpoint(Endpoints[110]); - builder.AddEndpoint(Endpoints[111]); - builder.AddEndpoint(Endpoints[112]); - builder.AddEndpoint(Endpoints[113]); - builder.AddEndpoint(Endpoints[114]); - builder.AddEndpoint(Endpoints[115]); - builder.AddEndpoint(Endpoints[116]); - builder.AddEndpoint(Endpoints[117]); - builder.AddEndpoint(Endpoints[118]); - builder.AddEndpoint(Endpoints[119]); - builder.AddEndpoint(Endpoints[120]); - builder.AddEndpoint(Endpoints[121]); - builder.AddEndpoint(Endpoints[122]); - builder.AddEndpoint(Endpoints[123]); - builder.AddEndpoint(Endpoints[124]); - builder.AddEndpoint(Endpoints[125]); - builder.AddEndpoint(Endpoints[126]); - builder.AddEndpoint(Endpoints[127]); - builder.AddEndpoint(Endpoints[128]); - builder.AddEndpoint(Endpoints[129]); - builder.AddEndpoint(Endpoints[130]); - builder.AddEndpoint(Endpoints[131]); - builder.AddEndpoint(Endpoints[132]); - builder.AddEndpoint(Endpoints[133]); - builder.AddEndpoint(Endpoints[134]); - builder.AddEndpoint(Endpoints[135]); - builder.AddEndpoint(Endpoints[136]); - builder.AddEndpoint(Endpoints[137]); - builder.AddEndpoint(Endpoints[138]); - builder.AddEndpoint(Endpoints[139]); - builder.AddEndpoint(Endpoints[140]); - builder.AddEndpoint(Endpoints[141]); - builder.AddEndpoint(Endpoints[142]); - builder.AddEndpoint(Endpoints[143]); - builder.AddEndpoint(Endpoints[144]); - builder.AddEndpoint(Endpoints[145]); - builder.AddEndpoint(Endpoints[146]); - builder.AddEndpoint(Endpoints[147]); - builder.AddEndpoint(Endpoints[148]); - builder.AddEndpoint(Endpoints[149]); - builder.AddEndpoint(Endpoints[150]); - builder.AddEndpoint(Endpoints[151]); - builder.AddEndpoint(Endpoints[152]); - builder.AddEndpoint(Endpoints[153]); - builder.AddEndpoint(Endpoints[154]); - builder.AddEndpoint(Endpoints[155]); - builder.AddEndpoint(Endpoints[156]); - builder.AddEndpoint(Endpoints[157]); - builder.AddEndpoint(Endpoints[158]); - builder.AddEndpoint(Endpoints[159]); - builder.AddEndpoint(Endpoints[160]); - builder.AddEndpoint(Endpoints[161]); - builder.AddEndpoint(Endpoints[162]); - builder.AddEndpoint(Endpoints[163]); - builder.AddEndpoint(Endpoints[164]); - builder.AddEndpoint(Endpoints[165]); - builder.AddEndpoint(Endpoints[166]); - builder.AddEndpoint(Endpoints[167]); - builder.AddEndpoint(Endpoints[168]); - builder.AddEndpoint(Endpoints[169]); - builder.AddEndpoint(Endpoints[170]); - builder.AddEndpoint(Endpoints[171]); - builder.AddEndpoint(Endpoints[172]); - builder.AddEndpoint(Endpoints[173]); - builder.AddEndpoint(Endpoints[174]); - builder.AddEndpoint(Endpoints[175]); - builder.AddEndpoint(Endpoints[176]); - builder.AddEndpoint(Endpoints[177]); - builder.AddEndpoint(Endpoints[178]); - builder.AddEndpoint(Endpoints[179]); - builder.AddEndpoint(Endpoints[180]); - builder.AddEndpoint(Endpoints[181]); - builder.AddEndpoint(Endpoints[182]); - builder.AddEndpoint(Endpoints[183]); - builder.AddEndpoint(Endpoints[184]); - builder.AddEndpoint(Endpoints[185]); - builder.AddEndpoint(Endpoints[186]); - builder.AddEndpoint(Endpoints[187]); - builder.AddEndpoint(Endpoints[188]); - builder.AddEndpoint(Endpoints[189]); - builder.AddEndpoint(Endpoints[190]); - builder.AddEndpoint(Endpoints[191]); - builder.AddEndpoint(Endpoints[192]); - builder.AddEndpoint(Endpoints[193]); - builder.AddEndpoint(Endpoints[194]); - builder.AddEndpoint(Endpoints[195]); - builder.AddEndpoint(Endpoints[196]); - builder.AddEndpoint(Endpoints[197]); - builder.AddEndpoint(Endpoints[198]); - builder.AddEndpoint(Endpoints[199]); - builder.AddEndpoint(Endpoints[200]); - builder.AddEndpoint(Endpoints[201]); - builder.AddEndpoint(Endpoints[202]); - builder.AddEndpoint(Endpoints[203]); - builder.AddEndpoint(Endpoints[204]); - builder.AddEndpoint(Endpoints[205]); - builder.AddEndpoint(Endpoints[206]); - builder.AddEndpoint(Endpoints[207]); - builder.AddEndpoint(Endpoints[208]); - builder.AddEndpoint(Endpoints[209]); - builder.AddEndpoint(Endpoints[210]); - builder.AddEndpoint(Endpoints[211]); - builder.AddEndpoint(Endpoints[212]); - builder.AddEndpoint(Endpoints[213]); - builder.AddEndpoint(Endpoints[214]); - builder.AddEndpoint(Endpoints[215]); - builder.AddEndpoint(Endpoints[216]); - builder.AddEndpoint(Endpoints[217]); - builder.AddEndpoint(Endpoints[218]); - builder.AddEndpoint(Endpoints[219]); - builder.AddEndpoint(Endpoints[220]); - builder.AddEndpoint(Endpoints[221]); - builder.AddEndpoint(Endpoints[222]); - builder.AddEndpoint(Endpoints[223]); - builder.AddEndpoint(Endpoints[224]); - builder.AddEndpoint(Endpoints[225]); - builder.AddEndpoint(Endpoints[226]); - builder.AddEndpoint(Endpoints[227]); - builder.AddEndpoint(Endpoints[228]); - builder.AddEndpoint(Endpoints[229]); - builder.AddEndpoint(Endpoints[230]); - builder.AddEndpoint(Endpoints[231]); - builder.AddEndpoint(Endpoints[232]); - builder.AddEndpoint(Endpoints[233]); - builder.AddEndpoint(Endpoints[234]); - builder.AddEndpoint(Endpoints[235]); - builder.AddEndpoint(Endpoints[236]); - builder.AddEndpoint(Endpoints[237]); - builder.AddEndpoint(Endpoints[238]); - builder.AddEndpoint(Endpoints[239]); - builder.AddEndpoint(Endpoints[240]); - builder.AddEndpoint(Endpoints[241]); - builder.AddEndpoint(Endpoints[242]); - builder.AddEndpoint(Endpoints[243]); - builder.AddEndpoint(Endpoints[244]); - builder.AddEndpoint(Endpoints[245]); - builder.AddEndpoint(Endpoints[246]); - builder.AddEndpoint(Endpoints[247]); - builder.AddEndpoint(Endpoints[248]); - builder.AddEndpoint(Endpoints[249]); - builder.AddEndpoint(Endpoints[250]); - builder.AddEndpoint(Endpoints[251]); - builder.AddEndpoint(Endpoints[252]); - builder.AddEndpoint(Endpoints[253]); - builder.AddEndpoint(Endpoints[254]); - builder.AddEndpoint(Endpoints[255]); - builder.AddEndpoint(Endpoints[256]); - builder.AddEndpoint(Endpoints[257]); - builder.AddEndpoint(Endpoints[258]); - builder.AddEndpoint(Endpoints[259]); - builder.AddEndpoint(Endpoints[260]); - builder.AddEndpoint(Endpoints[261]); - builder.AddEndpoint(Endpoints[262]); - builder.AddEndpoint(Endpoints[263]); - builder.AddEndpoint(Endpoints[264]); - builder.AddEndpoint(Endpoints[265]); - builder.AddEndpoint(Endpoints[266]); - builder.AddEndpoint(Endpoints[267]); - builder.AddEndpoint(Endpoints[268]); - builder.AddEndpoint(Endpoints[269]); - builder.AddEndpoint(Endpoints[270]); - builder.AddEndpoint(Endpoints[271]); - builder.AddEndpoint(Endpoints[272]); - builder.AddEndpoint(Endpoints[273]); - builder.AddEndpoint(Endpoints[274]); - builder.AddEndpoint(Endpoints[275]); - builder.AddEndpoint(Endpoints[276]); - builder.AddEndpoint(Endpoints[277]); - builder.AddEndpoint(Endpoints[278]); - builder.AddEndpoint(Endpoints[279]); - builder.AddEndpoint(Endpoints[280]); - builder.AddEndpoint(Endpoints[281]); - builder.AddEndpoint(Endpoints[282]); - builder.AddEndpoint(Endpoints[283]); - builder.AddEndpoint(Endpoints[284]); - builder.AddEndpoint(Endpoints[285]); - builder.AddEndpoint(Endpoints[286]); - builder.AddEndpoint(Endpoints[287]); - builder.AddEndpoint(Endpoints[288]); - builder.AddEndpoint(Endpoints[289]); - builder.AddEndpoint(Endpoints[290]); - builder.AddEndpoint(Endpoints[291]); - builder.AddEndpoint(Endpoints[292]); - builder.AddEndpoint(Endpoints[293]); - builder.AddEndpoint(Endpoints[294]); - builder.AddEndpoint(Endpoints[295]); - builder.AddEndpoint(Endpoints[296]); - builder.AddEndpoint(Endpoints[297]); - builder.AddEndpoint(Endpoints[298]); - builder.AddEndpoint(Endpoints[299]); - builder.AddEndpoint(Endpoints[300]); - builder.AddEndpoint(Endpoints[301]); - builder.AddEndpoint(Endpoints[302]); - builder.AddEndpoint(Endpoints[303]); - builder.AddEndpoint(Endpoints[304]); - builder.AddEndpoint(Endpoints[305]); - builder.AddEndpoint(Endpoints[306]); - builder.AddEndpoint(Endpoints[307]); - builder.AddEndpoint(Endpoints[308]); - builder.AddEndpoint(Endpoints[309]); - builder.AddEndpoint(Endpoints[310]); - builder.AddEndpoint(Endpoints[311]); - builder.AddEndpoint(Endpoints[312]); - builder.AddEndpoint(Endpoints[313]); - builder.AddEndpoint(Endpoints[314]); - builder.AddEndpoint(Endpoints[315]); - builder.AddEndpoint(Endpoints[316]); - builder.AddEndpoint(Endpoints[317]); - builder.AddEndpoint(Endpoints[318]); - builder.AddEndpoint(Endpoints[319]); - builder.AddEndpoint(Endpoints[320]); - builder.AddEndpoint(Endpoints[321]); - builder.AddEndpoint(Endpoints[322]); - builder.AddEndpoint(Endpoints[323]); - builder.AddEndpoint(Endpoints[324]); - builder.AddEndpoint(Endpoints[325]); - builder.AddEndpoint(Endpoints[326]); - builder.AddEndpoint(Endpoints[327]); - builder.AddEndpoint(Endpoints[328]); - builder.AddEndpoint(Endpoints[329]); - builder.AddEndpoint(Endpoints[330]); - builder.AddEndpoint(Endpoints[331]); - builder.AddEndpoint(Endpoints[332]); - builder.AddEndpoint(Endpoints[333]); - builder.AddEndpoint(Endpoints[334]); - builder.AddEndpoint(Endpoints[335]); - builder.AddEndpoint(Endpoints[336]); - builder.AddEndpoint(Endpoints[337]); - builder.AddEndpoint(Endpoints[338]); - builder.AddEndpoint(Endpoints[339]); - builder.AddEndpoint(Endpoints[340]); - builder.AddEndpoint(Endpoints[341]); - builder.AddEndpoint(Endpoints[342]); - builder.AddEndpoint(Endpoints[343]); - builder.AddEndpoint(Endpoints[344]); - builder.AddEndpoint(Endpoints[345]); - builder.AddEndpoint(Endpoints[346]); - builder.AddEndpoint(Endpoints[347]); - builder.AddEndpoint(Endpoints[348]); - builder.AddEndpoint(Endpoints[349]); - builder.AddEndpoint(Endpoints[350]); - builder.AddEndpoint(Endpoints[351]); - builder.AddEndpoint(Endpoints[352]); - builder.AddEndpoint(Endpoints[353]); - builder.AddEndpoint(Endpoints[354]); - builder.AddEndpoint(Endpoints[355]); - builder.AddEndpoint(Endpoints[356]); - builder.AddEndpoint(Endpoints[357]); - builder.AddEndpoint(Endpoints[358]); - builder.AddEndpoint(Endpoints[359]); - builder.AddEndpoint(Endpoints[360]); - builder.AddEndpoint(Endpoints[361]); - builder.AddEndpoint(Endpoints[362]); - builder.AddEndpoint(Endpoints[363]); - builder.AddEndpoint(Endpoints[364]); - builder.AddEndpoint(Endpoints[365]); - builder.AddEndpoint(Endpoints[366]); - builder.AddEndpoint(Endpoints[367]); - builder.AddEndpoint(Endpoints[368]); - builder.AddEndpoint(Endpoints[369]); - builder.AddEndpoint(Endpoints[370]); - builder.AddEndpoint(Endpoints[371]); - builder.AddEndpoint(Endpoints[372]); - builder.AddEndpoint(Endpoints[373]); - builder.AddEndpoint(Endpoints[374]); - builder.AddEndpoint(Endpoints[375]); - builder.AddEndpoint(Endpoints[376]); - builder.AddEndpoint(Endpoints[377]); - builder.AddEndpoint(Endpoints[378]); - builder.AddEndpoint(Endpoints[379]); - builder.AddEndpoint(Endpoints[380]); - builder.AddEndpoint(Endpoints[381]); - builder.AddEndpoint(Endpoints[382]); - builder.AddEndpoint(Endpoints[383]); - builder.AddEndpoint(Endpoints[384]); - builder.AddEndpoint(Endpoints[385]); - builder.AddEndpoint(Endpoints[386]); - builder.AddEndpoint(Endpoints[387]); - builder.AddEndpoint(Endpoints[388]); - builder.AddEndpoint(Endpoints[389]); - builder.AddEndpoint(Endpoints[390]); - builder.AddEndpoint(Endpoints[391]); - builder.AddEndpoint(Endpoints[392]); - builder.AddEndpoint(Endpoints[393]); - builder.AddEndpoint(Endpoints[394]); - builder.AddEndpoint(Endpoints[395]); - builder.AddEndpoint(Endpoints[396]); - builder.AddEndpoint(Endpoints[397]); - builder.AddEndpoint(Endpoints[398]); - builder.AddEndpoint(Endpoints[399]); - builder.AddEndpoint(Endpoints[400]); - builder.AddEndpoint(Endpoints[401]); - builder.AddEndpoint(Endpoints[402]); - builder.AddEndpoint(Endpoints[403]); - builder.AddEndpoint(Endpoints[404]); - builder.AddEndpoint(Endpoints[405]); - builder.AddEndpoint(Endpoints[406]); - builder.AddEndpoint(Endpoints[407]); - builder.AddEndpoint(Endpoints[408]); - builder.AddEndpoint(Endpoints[409]); - builder.AddEndpoint(Endpoints[410]); - builder.AddEndpoint(Endpoints[411]); - builder.AddEndpoint(Endpoints[412]); - builder.AddEndpoint(Endpoints[413]); - builder.AddEndpoint(Endpoints[414]); - builder.AddEndpoint(Endpoints[415]); - builder.AddEndpoint(Endpoints[416]); - builder.AddEndpoint(Endpoints[417]); - builder.AddEndpoint(Endpoints[418]); - builder.AddEndpoint(Endpoints[419]); - builder.AddEndpoint(Endpoints[420]); - builder.AddEndpoint(Endpoints[421]); - builder.AddEndpoint(Endpoints[422]); - builder.AddEndpoint(Endpoints[423]); - builder.AddEndpoint(Endpoints[424]); - builder.AddEndpoint(Endpoints[425]); - builder.AddEndpoint(Endpoints[426]); - builder.AddEndpoint(Endpoints[427]); - builder.AddEndpoint(Endpoints[428]); - builder.AddEndpoint(Endpoints[429]); - builder.AddEndpoint(Endpoints[430]); - builder.AddEndpoint(Endpoints[431]); - builder.AddEndpoint(Endpoints[432]); - builder.AddEndpoint(Endpoints[433]); - builder.AddEndpoint(Endpoints[434]); - builder.AddEndpoint(Endpoints[435]); - builder.AddEndpoint(Endpoints[436]); - builder.AddEndpoint(Endpoints[437]); - builder.AddEndpoint(Endpoints[438]); - builder.AddEndpoint(Endpoints[439]); - builder.AddEndpoint(Endpoints[440]); - builder.AddEndpoint(Endpoints[441]); - builder.AddEndpoint(Endpoints[442]); - builder.AddEndpoint(Endpoints[443]); - builder.AddEndpoint(Endpoints[444]); - builder.AddEndpoint(Endpoints[445]); - builder.AddEndpoint(Endpoints[446]); - builder.AddEndpoint(Endpoints[447]); - builder.AddEndpoint(Endpoints[448]); - builder.AddEndpoint(Endpoints[449]); - builder.AddEndpoint(Endpoints[450]); - builder.AddEndpoint(Endpoints[451]); - builder.AddEndpoint(Endpoints[452]); - builder.AddEndpoint(Endpoints[453]); - builder.AddEndpoint(Endpoints[454]); - builder.AddEndpoint(Endpoints[455]); - builder.AddEndpoint(Endpoints[456]); - builder.AddEndpoint(Endpoints[457]); - builder.AddEndpoint(Endpoints[458]); - builder.AddEndpoint(Endpoints[459]); - builder.AddEndpoint(Endpoints[460]); - builder.AddEndpoint(Endpoints[461]); - builder.AddEndpoint(Endpoints[462]); - builder.AddEndpoint(Endpoints[463]); - builder.AddEndpoint(Endpoints[464]); - builder.AddEndpoint(Endpoints[465]); - builder.AddEndpoint(Endpoints[466]); - builder.AddEndpoint(Endpoints[467]); - builder.AddEndpoint(Endpoints[468]); - builder.AddEndpoint(Endpoints[469]); - builder.AddEndpoint(Endpoints[470]); - builder.AddEndpoint(Endpoints[471]); - builder.AddEndpoint(Endpoints[472]); - builder.AddEndpoint(Endpoints[473]); - builder.AddEndpoint(Endpoints[474]); - builder.AddEndpoint(Endpoints[475]); - builder.AddEndpoint(Endpoints[476]); - builder.AddEndpoint(Endpoints[477]); - builder.AddEndpoint(Endpoints[478]); - builder.AddEndpoint(Endpoints[479]); - builder.AddEndpoint(Endpoints[480]); - builder.AddEndpoint(Endpoints[481]); - builder.AddEndpoint(Endpoints[482]); - builder.AddEndpoint(Endpoints[483]); - builder.AddEndpoint(Endpoints[484]); - builder.AddEndpoint(Endpoints[485]); - builder.AddEndpoint(Endpoints[486]); - builder.AddEndpoint(Endpoints[487]); - builder.AddEndpoint(Endpoints[488]); - builder.AddEndpoint(Endpoints[489]); - builder.AddEndpoint(Endpoints[490]); - builder.AddEndpoint(Endpoints[491]); - builder.AddEndpoint(Endpoints[492]); - builder.AddEndpoint(Endpoints[493]); - builder.AddEndpoint(Endpoints[494]); - builder.AddEndpoint(Endpoints[495]); - builder.AddEndpoint(Endpoints[496]); - builder.AddEndpoint(Endpoints[497]); - builder.AddEndpoint(Endpoints[498]); - builder.AddEndpoint(Endpoints[499]); - builder.AddEndpoint(Endpoints[500]); - builder.AddEndpoint(Endpoints[501]); - builder.AddEndpoint(Endpoints[502]); - builder.AddEndpoint(Endpoints[503]); - builder.AddEndpoint(Endpoints[504]); - builder.AddEndpoint(Endpoints[505]); - builder.AddEndpoint(Endpoints[506]); - builder.AddEndpoint(Endpoints[507]); - builder.AddEndpoint(Endpoints[508]); - builder.AddEndpoint(Endpoints[509]); - builder.AddEndpoint(Endpoints[510]); - builder.AddEndpoint(Endpoints[511]); - builder.AddEndpoint(Endpoints[512]); - builder.AddEndpoint(Endpoints[513]); - builder.AddEndpoint(Endpoints[514]); - builder.AddEndpoint(Endpoints[515]); - builder.AddEndpoint(Endpoints[516]); - builder.AddEndpoint(Endpoints[517]); - builder.AddEndpoint(Endpoints[518]); - builder.AddEndpoint(Endpoints[519]); - builder.AddEndpoint(Endpoints[520]); - builder.AddEndpoint(Endpoints[521]); - builder.AddEndpoint(Endpoints[522]); - builder.AddEndpoint(Endpoints[523]); - builder.AddEndpoint(Endpoints[524]); - builder.AddEndpoint(Endpoints[525]); - builder.AddEndpoint(Endpoints[526]); - builder.AddEndpoint(Endpoints[527]); - builder.AddEndpoint(Endpoints[528]); - builder.AddEndpoint(Endpoints[529]); - builder.AddEndpoint(Endpoints[530]); - builder.AddEndpoint(Endpoints[531]); - builder.AddEndpoint(Endpoints[532]); - builder.AddEndpoint(Endpoints[533]); - builder.AddEndpoint(Endpoints[534]); - builder.AddEndpoint(Endpoints[535]); - builder.AddEndpoint(Endpoints[536]); - builder.AddEndpoint(Endpoints[537]); - builder.AddEndpoint(Endpoints[538]); - builder.AddEndpoint(Endpoints[539]); - builder.AddEndpoint(Endpoints[540]); - builder.AddEndpoint(Endpoints[541]); - builder.AddEndpoint(Endpoints[542]); - builder.AddEndpoint(Endpoints[543]); - builder.AddEndpoint(Endpoints[544]); - builder.AddEndpoint(Endpoints[545]); - builder.AddEndpoint(Endpoints[546]); - builder.AddEndpoint(Endpoints[547]); - builder.AddEndpoint(Endpoints[548]); - builder.AddEndpoint(Endpoints[549]); - builder.AddEndpoint(Endpoints[550]); - builder.AddEndpoint(Endpoints[551]); - builder.AddEndpoint(Endpoints[552]); - builder.AddEndpoint(Endpoints[553]); - builder.AddEndpoint(Endpoints[554]); - builder.AddEndpoint(Endpoints[555]); - builder.AddEndpoint(Endpoints[556]); - builder.AddEndpoint(Endpoints[557]); - builder.AddEndpoint(Endpoints[558]); - builder.AddEndpoint(Endpoints[559]); - builder.AddEndpoint(Endpoints[560]); - builder.AddEndpoint(Endpoints[561]); - builder.AddEndpoint(Endpoints[562]); - builder.AddEndpoint(Endpoints[563]); - builder.AddEndpoint(Endpoints[564]); - builder.AddEndpoint(Endpoints[565]); - builder.AddEndpoint(Endpoints[566]); - builder.AddEndpoint(Endpoints[567]); - builder.AddEndpoint(Endpoints[568]); - builder.AddEndpoint(Endpoints[569]); - builder.AddEndpoint(Endpoints[570]); - builder.AddEndpoint(Endpoints[571]); - builder.AddEndpoint(Endpoints[572]); - builder.AddEndpoint(Endpoints[573]); - builder.AddEndpoint(Endpoints[574]); - builder.AddEndpoint(Endpoints[575]); - builder.AddEndpoint(Endpoints[576]); - builder.AddEndpoint(Endpoints[577]); - builder.AddEndpoint(Endpoints[578]); - builder.AddEndpoint(Endpoints[579]); - builder.AddEndpoint(Endpoints[580]); - builder.AddEndpoint(Endpoints[581]); - builder.AddEndpoint(Endpoints[582]); - builder.AddEndpoint(Endpoints[583]); - builder.AddEndpoint(Endpoints[584]); - builder.AddEndpoint(Endpoints[585]); - builder.AddEndpoint(Endpoints[586]); - builder.AddEndpoint(Endpoints[587]); - builder.AddEndpoint(Endpoints[588]); - builder.AddEndpoint(Endpoints[589]); - builder.AddEndpoint(Endpoints[590]); - builder.AddEndpoint(Endpoints[591]); - builder.AddEndpoint(Endpoints[592]); - builder.AddEndpoint(Endpoints[593]); - builder.AddEndpoint(Endpoints[594]); - builder.AddEndpoint(Endpoints[595]); - builder.AddEndpoint(Endpoints[596]); - builder.AddEndpoint(Endpoints[597]); - builder.AddEndpoint(Endpoints[598]); - builder.AddEndpoint(Endpoints[599]); - builder.AddEndpoint(Endpoints[600]); - builder.AddEndpoint(Endpoints[601]); - builder.AddEndpoint(Endpoints[602]); - builder.AddEndpoint(Endpoints[603]); - builder.AddEndpoint(Endpoints[604]); - builder.AddEndpoint(Endpoints[605]); - builder.AddEndpoint(Endpoints[606]); - builder.AddEndpoint(Endpoints[607]); - builder.AddEndpoint(Endpoints[608]); - builder.AddEndpoint(Endpoints[609]); - builder.AddEndpoint(Endpoints[610]); - builder.AddEndpoint(Endpoints[611]); - builder.AddEndpoint(Endpoints[612]); - builder.AddEndpoint(Endpoints[613]); - builder.AddEndpoint(Endpoints[614]); - builder.AddEndpoint(Endpoints[615]); - builder.AddEndpoint(Endpoints[616]); - builder.AddEndpoint(Endpoints[617]); - builder.AddEndpoint(Endpoints[618]); - builder.AddEndpoint(Endpoints[619]); - builder.AddEndpoint(Endpoints[620]); - builder.AddEndpoint(Endpoints[621]); - builder.AddEndpoint(Endpoints[622]); - builder.AddEndpoint(Endpoints[623]); - builder.AddEndpoint(Endpoints[624]); - builder.AddEndpoint(Endpoints[625]); - builder.AddEndpoint(Endpoints[626]); - builder.AddEndpoint(Endpoints[627]); - builder.AddEndpoint(Endpoints[628]); - builder.AddEndpoint(Endpoints[629]); - builder.AddEndpoint(Endpoints[630]); - builder.AddEndpoint(Endpoints[631]); - builder.AddEndpoint(Endpoints[632]); - builder.AddEndpoint(Endpoints[633]); - builder.AddEndpoint(Endpoints[634]); - builder.AddEndpoint(Endpoints[635]); - builder.AddEndpoint(Endpoints[636]); - builder.AddEndpoint(Endpoints[637]); - builder.AddEndpoint(Endpoints[638]); - builder.AddEndpoint(Endpoints[639]); - builder.AddEndpoint(Endpoints[640]); - builder.AddEndpoint(Endpoints[641]); - builder.AddEndpoint(Endpoints[642]); - builder.AddEndpoint(Endpoints[643]); - builder.AddEndpoint(Endpoints[644]); - builder.AddEndpoint(Endpoints[645]); - builder.AddEndpoint(Endpoints[646]); - builder.AddEndpoint(Endpoints[647]); - builder.AddEndpoint(Endpoints[648]); - builder.AddEndpoint(Endpoints[649]); - builder.AddEndpoint(Endpoints[650]); - builder.AddEndpoint(Endpoints[651]); - builder.AddEndpoint(Endpoints[652]); - builder.AddEndpoint(Endpoints[653]); - builder.AddEndpoint(Endpoints[654]); - builder.AddEndpoint(Endpoints[655]); - builder.AddEndpoint(Endpoints[656]); - builder.AddEndpoint(Endpoints[657]); - builder.AddEndpoint(Endpoints[658]); - builder.AddEndpoint(Endpoints[659]); - builder.AddEndpoint(Endpoints[660]); - builder.AddEndpoint(Endpoints[661]); - builder.AddEndpoint(Endpoints[662]); - builder.AddEndpoint(Endpoints[663]); - builder.AddEndpoint(Endpoints[664]); - builder.AddEndpoint(Endpoints[665]); - builder.AddEndpoint(Endpoints[666]); - builder.AddEndpoint(Endpoints[667]); - builder.AddEndpoint(Endpoints[668]); - builder.AddEndpoint(Endpoints[669]); - builder.AddEndpoint(Endpoints[670]); - builder.AddEndpoint(Endpoints[671]); - builder.AddEndpoint(Endpoints[672]); - builder.AddEndpoint(Endpoints[673]); - builder.AddEndpoint(Endpoints[674]); - builder.AddEndpoint(Endpoints[675]); - builder.AddEndpoint(Endpoints[676]); - builder.AddEndpoint(Endpoints[677]); - builder.AddEndpoint(Endpoints[678]); - builder.AddEndpoint(Endpoints[679]); - builder.AddEndpoint(Endpoints[680]); - builder.AddEndpoint(Endpoints[681]); - builder.AddEndpoint(Endpoints[682]); - builder.AddEndpoint(Endpoints[683]); - builder.AddEndpoint(Endpoints[684]); - builder.AddEndpoint(Endpoints[685]); - builder.AddEndpoint(Endpoints[686]); - builder.AddEndpoint(Endpoints[687]); - builder.AddEndpoint(Endpoints[688]); - builder.AddEndpoint(Endpoints[689]); - builder.AddEndpoint(Endpoints[690]); - builder.AddEndpoint(Endpoints[691]); - builder.AddEndpoint(Endpoints[692]); - builder.AddEndpoint(Endpoints[693]); - builder.AddEndpoint(Endpoints[694]); - builder.AddEndpoint(Endpoints[695]); - builder.AddEndpoint(Endpoints[696]); - builder.AddEndpoint(Endpoints[697]); - builder.AddEndpoint(Endpoints[698]); - builder.AddEndpoint(Endpoints[699]); - builder.AddEndpoint(Endpoints[700]); - builder.AddEndpoint(Endpoints[701]); - builder.AddEndpoint(Endpoints[702]); - builder.AddEndpoint(Endpoints[703]); - builder.AddEndpoint(Endpoints[704]); - builder.AddEndpoint(Endpoints[705]); - builder.AddEndpoint(Endpoints[706]); - builder.AddEndpoint(Endpoints[707]); - builder.AddEndpoint(Endpoints[708]); - builder.AddEndpoint(Endpoints[709]); - builder.AddEndpoint(Endpoints[710]); - builder.AddEndpoint(Endpoints[711]); - builder.AddEndpoint(Endpoints[712]); - builder.AddEndpoint(Endpoints[713]); - builder.AddEndpoint(Endpoints[714]); - builder.AddEndpoint(Endpoints[715]); - builder.AddEndpoint(Endpoints[716]); - builder.AddEndpoint(Endpoints[717]); - builder.AddEndpoint(Endpoints[718]); - builder.AddEndpoint(Endpoints[719]); - builder.AddEndpoint(Endpoints[720]); - builder.AddEndpoint(Endpoints[721]); - builder.AddEndpoint(Endpoints[722]); - builder.AddEndpoint(Endpoints[723]); - builder.AddEndpoint(Endpoints[724]); - builder.AddEndpoint(Endpoints[725]); - builder.AddEndpoint(Endpoints[726]); - builder.AddEndpoint(Endpoints[727]); - builder.AddEndpoint(Endpoints[728]); - builder.AddEndpoint(Endpoints[729]); - builder.AddEndpoint(Endpoints[730]); - builder.AddEndpoint(Endpoints[731]); - builder.AddEndpoint(Endpoints[732]); - builder.AddEndpoint(Endpoints[733]); - builder.AddEndpoint(Endpoints[734]); - builder.AddEndpoint(Endpoints[735]); - builder.AddEndpoint(Endpoints[736]); - builder.AddEndpoint(Endpoints[737]); - builder.AddEndpoint(Endpoints[738]); - builder.AddEndpoint(Endpoints[739]); - builder.AddEndpoint(Endpoints[740]); - builder.AddEndpoint(Endpoints[741]); - builder.AddEndpoint(Endpoints[742]); - builder.AddEndpoint(Endpoints[743]); - builder.AddEndpoint(Endpoints[744]); - builder.AddEndpoint(Endpoints[745]); - builder.AddEndpoint(Endpoints[746]); - builder.AddEndpoint(Endpoints[747]); - builder.AddEndpoint(Endpoints[748]); - builder.AddEndpoint(Endpoints[749]); - builder.AddEndpoint(Endpoints[750]); - builder.AddEndpoint(Endpoints[751]); - builder.AddEndpoint(Endpoints[752]); - builder.AddEndpoint(Endpoints[753]); - builder.AddEndpoint(Endpoints[754]); - builder.AddEndpoint(Endpoints[755]); - builder.AddEndpoint(Endpoints[756]); - builder.AddEndpoint(Endpoints[757]); - builder.AddEndpoint(Endpoints[758]); - builder.AddEndpoint(Endpoints[759]); - builder.AddEndpoint(Endpoints[760]); - builder.AddEndpoint(Endpoints[761]); - builder.AddEndpoint(Endpoints[762]); - builder.AddEndpoint(Endpoints[763]); - builder.AddEndpoint(Endpoints[764]); - builder.AddEndpoint(Endpoints[765]); - builder.AddEndpoint(Endpoints[766]); - builder.AddEndpoint(Endpoints[767]); - builder.AddEndpoint(Endpoints[768]); - builder.AddEndpoint(Endpoints[769]); - builder.AddEndpoint(Endpoints[770]); - builder.AddEndpoint(Endpoints[771]); - builder.AddEndpoint(Endpoints[772]); - builder.AddEndpoint(Endpoints[773]); - builder.AddEndpoint(Endpoints[774]); - builder.AddEndpoint(Endpoints[775]); - builder.AddEndpoint(Endpoints[776]); - builder.AddEndpoint(Endpoints[777]); - builder.AddEndpoint(Endpoints[778]); - builder.AddEndpoint(Endpoints[779]); - builder.AddEndpoint(Endpoints[780]); - builder.AddEndpoint(Endpoints[781]); - builder.AddEndpoint(Endpoints[782]); - builder.AddEndpoint(Endpoints[783]); - builder.AddEndpoint(Endpoints[784]); - builder.AddEndpoint(Endpoints[785]); - builder.AddEndpoint(Endpoints[786]); - builder.AddEndpoint(Endpoints[787]); - builder.AddEndpoint(Endpoints[788]); - builder.AddEndpoint(Endpoints[789]); - builder.AddEndpoint(Endpoints[790]); - builder.AddEndpoint(Endpoints[791]); - builder.AddEndpoint(Endpoints[792]); - builder.AddEndpoint(Endpoints[793]); - builder.AddEndpoint(Endpoints[794]); - builder.AddEndpoint(Endpoints[795]); - builder.AddEndpoint(Endpoints[796]); - builder.AddEndpoint(Endpoints[797]); - builder.AddEndpoint(Endpoints[798]); - builder.AddEndpoint(Endpoints[799]); - builder.AddEndpoint(Endpoints[800]); - builder.AddEndpoint(Endpoints[801]); - builder.AddEndpoint(Endpoints[802]); - builder.AddEndpoint(Endpoints[803]); - builder.AddEndpoint(Endpoints[804]); - builder.AddEndpoint(Endpoints[805]); - builder.AddEndpoint(Endpoints[806]); - builder.AddEndpoint(Endpoints[807]); - builder.AddEndpoint(Endpoints[808]); - builder.AddEndpoint(Endpoints[809]); - builder.AddEndpoint(Endpoints[810]); - builder.AddEndpoint(Endpoints[811]); - builder.AddEndpoint(Endpoints[812]); - builder.AddEndpoint(Endpoints[813]); - builder.AddEndpoint(Endpoints[814]); - builder.AddEndpoint(Endpoints[815]); - builder.AddEndpoint(Endpoints[816]); - builder.AddEndpoint(Endpoints[817]); - builder.AddEndpoint(Endpoints[818]); - builder.AddEndpoint(Endpoints[819]); - builder.AddEndpoint(Endpoints[820]); - builder.AddEndpoint(Endpoints[821]); - builder.AddEndpoint(Endpoints[822]); - builder.AddEndpoint(Endpoints[823]); - builder.AddEndpoint(Endpoints[824]); - builder.AddEndpoint(Endpoints[825]); - builder.AddEndpoint(Endpoints[826]); - builder.AddEndpoint(Endpoints[827]); - builder.AddEndpoint(Endpoints[828]); - builder.AddEndpoint(Endpoints[829]); - builder.AddEndpoint(Endpoints[830]); - builder.AddEndpoint(Endpoints[831]); - builder.AddEndpoint(Endpoints[832]); - builder.AddEndpoint(Endpoints[833]); - builder.AddEndpoint(Endpoints[834]); - builder.AddEndpoint(Endpoints[835]); - builder.AddEndpoint(Endpoints[836]); - builder.AddEndpoint(Endpoints[837]); - builder.AddEndpoint(Endpoints[838]); - builder.AddEndpoint(Endpoints[839]); - builder.AddEndpoint(Endpoints[840]); - builder.AddEndpoint(Endpoints[841]); - builder.AddEndpoint(Endpoints[842]); - builder.AddEndpoint(Endpoints[843]); - builder.AddEndpoint(Endpoints[844]); - builder.AddEndpoint(Endpoints[845]); - builder.AddEndpoint(Endpoints[846]); - builder.AddEndpoint(Endpoints[847]); - builder.AddEndpoint(Endpoints[848]); - builder.AddEndpoint(Endpoints[849]); - builder.AddEndpoint(Endpoints[850]); - builder.AddEndpoint(Endpoints[851]); - builder.AddEndpoint(Endpoints[852]); - builder.AddEndpoint(Endpoints[853]); - builder.AddEndpoint(Endpoints[854]); - builder.AddEndpoint(Endpoints[855]); - builder.AddEndpoint(Endpoints[856]); - builder.AddEndpoint(Endpoints[857]); - builder.AddEndpoint(Endpoints[858]); - builder.AddEndpoint(Endpoints[859]); - builder.AddEndpoint(Endpoints[860]); - builder.AddEndpoint(Endpoints[861]); - builder.AddEndpoint(Endpoints[862]); - builder.AddEndpoint(Endpoints[863]); - builder.AddEndpoint(Endpoints[864]); - builder.AddEndpoint(Endpoints[865]); - builder.AddEndpoint(Endpoints[866]); - builder.AddEndpoint(Endpoints[867]); - builder.AddEndpoint(Endpoints[868]); - builder.AddEndpoint(Endpoints[869]); - builder.AddEndpoint(Endpoints[870]); - builder.AddEndpoint(Endpoints[871]); - builder.AddEndpoint(Endpoints[872]); - builder.AddEndpoint(Endpoints[873]); - builder.AddEndpoint(Endpoints[874]); - builder.AddEndpoint(Endpoints[875]); - builder.AddEndpoint(Endpoints[876]); - builder.AddEndpoint(Endpoints[877]); - builder.AddEndpoint(Endpoints[878]); - builder.AddEndpoint(Endpoints[879]); - builder.AddEndpoint(Endpoints[880]); - builder.AddEndpoint(Endpoints[881]); - builder.AddEndpoint(Endpoints[882]); - builder.AddEndpoint(Endpoints[883]); - builder.AddEndpoint(Endpoints[884]); - builder.AddEndpoint(Endpoints[885]); - builder.AddEndpoint(Endpoints[886]); - builder.AddEndpoint(Endpoints[887]); - builder.AddEndpoint(Endpoints[888]); - builder.AddEndpoint(Endpoints[889]); - builder.AddEndpoint(Endpoints[890]); - builder.AddEndpoint(Endpoints[891]); - builder.AddEndpoint(Endpoints[892]); - builder.AddEndpoint(Endpoints[893]); - builder.AddEndpoint(Endpoints[894]); - builder.AddEndpoint(Endpoints[895]); - builder.AddEndpoint(Endpoints[896]); - builder.AddEndpoint(Endpoints[897]); - builder.AddEndpoint(Endpoints[898]); - builder.AddEndpoint(Endpoints[899]); - builder.AddEndpoint(Endpoints[900]); - builder.AddEndpoint(Endpoints[901]); - builder.AddEndpoint(Endpoints[902]); - builder.AddEndpoint(Endpoints[903]); - builder.AddEndpoint(Endpoints[904]); - builder.AddEndpoint(Endpoints[905]); - builder.AddEndpoint(Endpoints[906]); - builder.AddEndpoint(Endpoints[907]); - builder.AddEndpoint(Endpoints[908]); - builder.AddEndpoint(Endpoints[909]); - builder.AddEndpoint(Endpoints[910]); - builder.AddEndpoint(Endpoints[911]); - builder.AddEndpoint(Endpoints[912]); - builder.AddEndpoint(Endpoints[913]); - builder.AddEndpoint(Endpoints[914]); - builder.AddEndpoint(Endpoints[915]); - builder.AddEndpoint(Endpoints[916]); - builder.AddEndpoint(Endpoints[917]); - builder.AddEndpoint(Endpoints[918]); - builder.AddEndpoint(Endpoints[919]); - builder.AddEndpoint(Endpoints[920]); - builder.AddEndpoint(Endpoints[921]); - builder.AddEndpoint(Endpoints[922]); - builder.AddEndpoint(Endpoints[923]); - builder.AddEndpoint(Endpoints[924]); - builder.AddEndpoint(Endpoints[925]); - builder.AddEndpoint(Endpoints[926]); - builder.AddEndpoint(Endpoints[927]); - builder.AddEndpoint(Endpoints[928]); - builder.AddEndpoint(Endpoints[929]); - builder.AddEndpoint(Endpoints[930]); - builder.AddEndpoint(Endpoints[931]); - builder.AddEndpoint(Endpoints[932]); - builder.AddEndpoint(Endpoints[933]); - builder.AddEndpoint(Endpoints[934]); - builder.AddEndpoint(Endpoints[935]); - builder.AddEndpoint(Endpoints[936]); - builder.AddEndpoint(Endpoints[937]); - builder.AddEndpoint(Endpoints[938]); - builder.AddEndpoint(Endpoints[939]); - builder.AddEndpoint(Endpoints[940]); - builder.AddEndpoint(Endpoints[941]); - builder.AddEndpoint(Endpoints[942]); - builder.AddEndpoint(Endpoints[943]); - builder.AddEndpoint(Endpoints[944]); - builder.AddEndpoint(Endpoints[945]); - builder.AddEndpoint(Endpoints[946]); - builder.AddEndpoint(Endpoints[947]); - builder.AddEndpoint(Endpoints[948]); - builder.AddEndpoint(Endpoints[949]); - builder.AddEndpoint(Endpoints[950]); - builder.AddEndpoint(Endpoints[951]); - builder.AddEndpoint(Endpoints[952]); - builder.AddEndpoint(Endpoints[953]); - builder.AddEndpoint(Endpoints[954]); - builder.AddEndpoint(Endpoints[955]); - builder.AddEndpoint(Endpoints[956]); - builder.AddEndpoint(Endpoints[957]); - builder.AddEndpoint(Endpoints[958]); - builder.AddEndpoint(Endpoints[959]); - builder.AddEndpoint(Endpoints[960]); - builder.AddEndpoint(Endpoints[961]); - builder.AddEndpoint(Endpoints[962]); - builder.AddEndpoint(Endpoints[963]); - builder.AddEndpoint(Endpoints[964]); - builder.AddEndpoint(Endpoints[965]); - builder.AddEndpoint(Endpoints[966]); - builder.AddEndpoint(Endpoints[967]); - builder.AddEndpoint(Endpoints[968]); - builder.AddEndpoint(Endpoints[969]); - builder.AddEndpoint(Endpoints[970]); - builder.AddEndpoint(Endpoints[971]); - builder.AddEndpoint(Endpoints[972]); - builder.AddEndpoint(Endpoints[973]); - builder.AddEndpoint(Endpoints[974]); - builder.AddEndpoint(Endpoints[975]); - builder.AddEndpoint(Endpoints[976]); - builder.AddEndpoint(Endpoints[977]); - builder.AddEndpoint(Endpoints[978]); - builder.AddEndpoint(Endpoints[979]); - builder.AddEndpoint(Endpoints[980]); - builder.AddEndpoint(Endpoints[981]); - builder.AddEndpoint(Endpoints[982]); - builder.AddEndpoint(Endpoints[983]); - builder.AddEndpoint(Endpoints[984]); - builder.AddEndpoint(Endpoints[985]); - builder.AddEndpoint(Endpoints[986]); - builder.AddEndpoint(Endpoints[987]); - builder.AddEndpoint(Endpoints[988]); - builder.AddEndpoint(Endpoints[989]); - builder.AddEndpoint(Endpoints[990]); - builder.AddEndpoint(Endpoints[991]); - builder.AddEndpoint(Endpoints[992]); - builder.AddEndpoint(Endpoints[993]); - builder.AddEndpoint(Endpoints[994]); - builder.AddEndpoint(Endpoints[995]); - builder.AddEndpoint(Endpoints[996]); - builder.AddEndpoint(Endpoints[997]); - builder.AddEndpoint(Endpoints[998]); - builder.AddEndpoint(Endpoints[999]); - builder.AddEndpoint(Endpoints[1000]); - builder.AddEndpoint(Endpoints[1001]); - builder.AddEndpoint(Endpoints[1002]); - builder.AddEndpoint(Endpoints[1003]); - builder.AddEndpoint(Endpoints[1004]); - builder.AddEndpoint(Endpoints[1005]); - builder.AddEndpoint(Endpoints[1006]); - builder.AddEndpoint(Endpoints[1007]); - builder.AddEndpoint(Endpoints[1008]); - builder.AddEndpoint(Endpoints[1009]); - builder.AddEndpoint(Endpoints[1010]); - builder.AddEndpoint(Endpoints[1011]); - builder.AddEndpoint(Endpoints[1012]); - builder.AddEndpoint(Endpoints[1013]); - builder.AddEndpoint(Endpoints[1014]); - builder.AddEndpoint(Endpoints[1015]); - builder.AddEndpoint(Endpoints[1016]); - builder.AddEndpoint(Endpoints[1017]); - builder.AddEndpoint(Endpoints[1018]); - builder.AddEndpoint(Endpoints[1019]); - builder.AddEndpoint(Endpoints[1020]); - builder.AddEndpoint(Endpoints[1021]); - builder.AddEndpoint(Endpoints[1022]); - builder.AddEndpoint(Endpoints[1023]); - builder.AddEndpoint(Endpoints[1024]); - builder.AddEndpoint(Endpoints[1025]); - builder.AddEndpoint(Endpoints[1026]); - builder.AddEndpoint(Endpoints[1027]); - builder.AddEndpoint(Endpoints[1028]); - builder.AddEndpoint(Endpoints[1029]); - builder.AddEndpoint(Endpoints[1030]); - builder.AddEndpoint(Endpoints[1031]); - builder.AddEndpoint(Endpoints[1032]); - builder.AddEndpoint(Endpoints[1033]); - builder.AddEndpoint(Endpoints[1034]); - builder.AddEndpoint(Endpoints[1035]); - builder.AddEndpoint(Endpoints[1036]); - builder.AddEndpoint(Endpoints[1037]); - builder.AddEndpoint(Endpoints[1038]); - builder.AddEndpoint(Endpoints[1039]); - builder.AddEndpoint(Endpoints[1040]); - builder.AddEndpoint(Endpoints[1041]); - builder.AddEndpoint(Endpoints[1042]); - builder.AddEndpoint(Endpoints[1043]); - builder.AddEndpoint(Endpoints[1044]); - builder.AddEndpoint(Endpoints[1045]); - builder.AddEndpoint(Endpoints[1046]); - builder.AddEndpoint(Endpoints[1047]); - builder.AddEndpoint(Endpoints[1048]); - builder.AddEndpoint(Endpoints[1049]); - builder.AddEndpoint(Endpoints[1050]); - builder.AddEndpoint(Endpoints[1051]); - builder.AddEndpoint(Endpoints[1052]); - builder.AddEndpoint(Endpoints[1053]); - builder.AddEndpoint(Endpoints[1054]); - builder.AddEndpoint(Endpoints[1055]); - builder.AddEndpoint(Endpoints[1056]); - builder.AddEndpoint(Endpoints[1057]); - builder.AddEndpoint(Endpoints[1058]); - builder.AddEndpoint(Endpoints[1059]); - builder.AddEndpoint(Endpoints[1060]); - builder.AddEndpoint(Endpoints[1061]); - builder.AddEndpoint(Endpoints[1062]); - builder.AddEndpoint(Endpoints[1063]); - builder.AddEndpoint(Endpoints[1064]); - builder.AddEndpoint(Endpoints[1065]); - builder.AddEndpoint(Endpoints[1066]); - builder.AddEndpoint(Endpoints[1067]); - builder.AddEndpoint(Endpoints[1068]); - builder.AddEndpoint(Endpoints[1069]); - builder.AddEndpoint(Endpoints[1070]); - builder.AddEndpoint(Endpoints[1071]); - builder.AddEndpoint(Endpoints[1072]); - builder.AddEndpoint(Endpoints[1073]); - builder.AddEndpoint(Endpoints[1074]); - builder.AddEndpoint(Endpoints[1075]); - builder.AddEndpoint(Endpoints[1076]); - builder.AddEndpoint(Endpoints[1077]); - builder.AddEndpoint(Endpoints[1078]); - builder.AddEndpoint(Endpoints[1079]); - builder.AddEndpoint(Endpoints[1080]); - builder.AddEndpoint(Endpoints[1081]); - builder.AddEndpoint(Endpoints[1082]); - builder.AddEndpoint(Endpoints[1083]); - builder.AddEndpoint(Endpoints[1084]); - builder.AddEndpoint(Endpoints[1085]); - builder.AddEndpoint(Endpoints[1086]); - builder.AddEndpoint(Endpoints[1087]); - builder.AddEndpoint(Endpoints[1088]); - builder.AddEndpoint(Endpoints[1089]); - builder.AddEndpoint(Endpoints[1090]); - builder.AddEndpoint(Endpoints[1091]); - builder.AddEndpoint(Endpoints[1092]); - builder.AddEndpoint(Endpoints[1093]); - builder.AddEndpoint(Endpoints[1094]); - builder.AddEndpoint(Endpoints[1095]); - builder.AddEndpoint(Endpoints[1096]); - builder.AddEndpoint(Endpoints[1097]); - builder.AddEndpoint(Endpoints[1098]); - builder.AddEndpoint(Endpoints[1099]); - builder.AddEndpoint(Endpoints[1100]); - builder.AddEndpoint(Endpoints[1101]); - builder.AddEndpoint(Endpoints[1102]); - builder.AddEndpoint(Endpoints[1103]); - builder.AddEndpoint(Endpoints[1104]); - builder.AddEndpoint(Endpoints[1105]); - builder.AddEndpoint(Endpoints[1106]); - builder.AddEndpoint(Endpoints[1107]); - builder.AddEndpoint(Endpoints[1108]); - builder.AddEndpoint(Endpoints[1109]); - builder.AddEndpoint(Endpoints[1110]); - builder.AddEndpoint(Endpoints[1111]); - builder.AddEndpoint(Endpoints[1112]); - builder.AddEndpoint(Endpoints[1113]); - builder.AddEndpoint(Endpoints[1114]); - builder.AddEndpoint(Endpoints[1115]); - builder.AddEndpoint(Endpoints[1116]); - builder.AddEndpoint(Endpoints[1117]); - builder.AddEndpoint(Endpoints[1118]); - builder.AddEndpoint(Endpoints[1119]); - builder.AddEndpoint(Endpoints[1120]); - builder.AddEndpoint(Endpoints[1121]); - builder.AddEndpoint(Endpoints[1122]); - builder.AddEndpoint(Endpoints[1123]); - builder.AddEndpoint(Endpoints[1124]); - builder.AddEndpoint(Endpoints[1125]); - builder.AddEndpoint(Endpoints[1126]); - builder.AddEndpoint(Endpoints[1127]); - builder.AddEndpoint(Endpoints[1128]); - builder.AddEndpoint(Endpoints[1129]); - builder.AddEndpoint(Endpoints[1130]); - builder.AddEndpoint(Endpoints[1131]); - builder.AddEndpoint(Endpoints[1132]); - builder.AddEndpoint(Endpoints[1133]); - builder.AddEndpoint(Endpoints[1134]); - builder.AddEndpoint(Endpoints[1135]); - builder.AddEndpoint(Endpoints[1136]); - builder.AddEndpoint(Endpoints[1137]); - builder.AddEndpoint(Endpoints[1138]); - builder.AddEndpoint(Endpoints[1139]); - builder.AddEndpoint(Endpoints[1140]); - builder.AddEndpoint(Endpoints[1141]); - builder.AddEndpoint(Endpoints[1142]); - builder.AddEndpoint(Endpoints[1143]); - builder.AddEndpoint(Endpoints[1144]); - builder.AddEndpoint(Endpoints[1145]); - builder.AddEndpoint(Endpoints[1146]); - builder.AddEndpoint(Endpoints[1147]); - builder.AddEndpoint(Endpoints[1148]); - builder.AddEndpoint(Endpoints[1149]); - builder.AddEndpoint(Endpoints[1150]); - builder.AddEndpoint(Endpoints[1151]); - builder.AddEndpoint(Endpoints[1152]); - builder.AddEndpoint(Endpoints[1153]); - builder.AddEndpoint(Endpoints[1154]); - builder.AddEndpoint(Endpoints[1155]); - builder.AddEndpoint(Endpoints[1156]); - builder.AddEndpoint(Endpoints[1157]); - builder.AddEndpoint(Endpoints[1158]); - builder.AddEndpoint(Endpoints[1159]); - builder.AddEndpoint(Endpoints[1160]); - builder.AddEndpoint(Endpoints[1161]); - builder.AddEndpoint(Endpoints[1162]); - builder.AddEndpoint(Endpoints[1163]); - builder.AddEndpoint(Endpoints[1164]); - builder.AddEndpoint(Endpoints[1165]); - builder.AddEndpoint(Endpoints[1166]); - builder.AddEndpoint(Endpoints[1167]); - builder.AddEndpoint(Endpoints[1168]); - builder.AddEndpoint(Endpoints[1169]); - builder.AddEndpoint(Endpoints[1170]); - builder.AddEndpoint(Endpoints[1171]); - builder.AddEndpoint(Endpoints[1172]); - builder.AddEndpoint(Endpoints[1173]); - builder.AddEndpoint(Endpoints[1174]); - builder.AddEndpoint(Endpoints[1175]); - builder.AddEndpoint(Endpoints[1176]); - builder.AddEndpoint(Endpoints[1177]); - builder.AddEndpoint(Endpoints[1178]); - builder.AddEndpoint(Endpoints[1179]); - builder.AddEndpoint(Endpoints[1180]); - builder.AddEndpoint(Endpoints[1181]); - builder.AddEndpoint(Endpoints[1182]); - builder.AddEndpoint(Endpoints[1183]); - builder.AddEndpoint(Endpoints[1184]); - builder.AddEndpoint(Endpoints[1185]); - builder.AddEndpoint(Endpoints[1186]); - builder.AddEndpoint(Endpoints[1187]); - builder.AddEndpoint(Endpoints[1188]); - builder.AddEndpoint(Endpoints[1189]); - builder.AddEndpoint(Endpoints[1190]); - builder.AddEndpoint(Endpoints[1191]); - builder.AddEndpoint(Endpoints[1192]); - builder.AddEndpoint(Endpoints[1193]); - builder.AddEndpoint(Endpoints[1194]); - builder.AddEndpoint(Endpoints[1195]); - builder.AddEndpoint(Endpoints[1196]); - builder.AddEndpoint(Endpoints[1197]); - builder.AddEndpoint(Endpoints[1198]); - builder.AddEndpoint(Endpoints[1199]); - builder.AddEndpoint(Endpoints[1200]); - builder.AddEndpoint(Endpoints[1201]); - builder.AddEndpoint(Endpoints[1202]); - builder.AddEndpoint(Endpoints[1203]); - builder.AddEndpoint(Endpoints[1204]); - builder.AddEndpoint(Endpoints[1205]); - builder.AddEndpoint(Endpoints[1206]); - builder.AddEndpoint(Endpoints[1207]); - builder.AddEndpoint(Endpoints[1208]); - builder.AddEndpoint(Endpoints[1209]); - builder.AddEndpoint(Endpoints[1210]); - builder.AddEndpoint(Endpoints[1211]); - builder.AddEndpoint(Endpoints[1212]); - builder.AddEndpoint(Endpoints[1213]); - builder.AddEndpoint(Endpoints[1214]); - builder.AddEndpoint(Endpoints[1215]); - builder.AddEndpoint(Endpoints[1216]); - builder.AddEndpoint(Endpoints[1217]); - builder.AddEndpoint(Endpoints[1218]); - builder.AddEndpoint(Endpoints[1219]); - builder.AddEndpoint(Endpoints[1220]); - builder.AddEndpoint(Endpoints[1221]); - builder.AddEndpoint(Endpoints[1222]); - builder.AddEndpoint(Endpoints[1223]); - builder.AddEndpoint(Endpoints[1224]); - builder.AddEndpoint(Endpoints[1225]); - builder.AddEndpoint(Endpoints[1226]); - builder.AddEndpoint(Endpoints[1227]); - builder.AddEndpoint(Endpoints[1228]); - builder.AddEndpoint(Endpoints[1229]); - builder.AddEndpoint(Endpoints[1230]); - builder.AddEndpoint(Endpoints[1231]); - builder.AddEndpoint(Endpoints[1232]); - builder.AddEndpoint(Endpoints[1233]); - builder.AddEndpoint(Endpoints[1234]); - builder.AddEndpoint(Endpoints[1235]); - builder.AddEndpoint(Endpoints[1236]); - builder.AddEndpoint(Endpoints[1237]); - builder.AddEndpoint(Endpoints[1238]); - builder.AddEndpoint(Endpoints[1239]); - builder.AddEndpoint(Endpoints[1240]); - builder.AddEndpoint(Endpoints[1241]); - builder.AddEndpoint(Endpoints[1242]); - builder.AddEndpoint(Endpoints[1243]); - builder.AddEndpoint(Endpoints[1244]); - builder.AddEndpoint(Endpoints[1245]); - builder.AddEndpoint(Endpoints[1246]); - builder.AddEndpoint(Endpoints[1247]); - builder.AddEndpoint(Endpoints[1248]); - builder.AddEndpoint(Endpoints[1249]); - builder.AddEndpoint(Endpoints[1250]); - builder.AddEndpoint(Endpoints[1251]); - builder.AddEndpoint(Endpoints[1252]); - builder.AddEndpoint(Endpoints[1253]); - builder.AddEndpoint(Endpoints[1254]); - builder.AddEndpoint(Endpoints[1255]); - builder.AddEndpoint(Endpoints[1256]); - builder.AddEndpoint(Endpoints[1257]); - builder.AddEndpoint(Endpoints[1258]); - builder.AddEndpoint(Endpoints[1259]); - builder.AddEndpoint(Endpoints[1260]); - builder.AddEndpoint(Endpoints[1261]); - builder.AddEndpoint(Endpoints[1262]); - builder.AddEndpoint(Endpoints[1263]); - builder.AddEndpoint(Endpoints[1264]); - builder.AddEndpoint(Endpoints[1265]); - builder.AddEndpoint(Endpoints[1266]); - builder.AddEndpoint(Endpoints[1267]); - builder.AddEndpoint(Endpoints[1268]); - builder.AddEndpoint(Endpoints[1269]); - builder.AddEndpoint(Endpoints[1270]); - builder.AddEndpoint(Endpoints[1271]); - builder.AddEndpoint(Endpoints[1272]); - builder.AddEndpoint(Endpoints[1273]); - builder.AddEndpoint(Endpoints[1274]); - builder.AddEndpoint(Endpoints[1275]); - builder.AddEndpoint(Endpoints[1276]); - builder.AddEndpoint(Endpoints[1277]); - builder.AddEndpoint(Endpoints[1278]); - builder.AddEndpoint(Endpoints[1279]); - builder.AddEndpoint(Endpoints[1280]); - builder.AddEndpoint(Endpoints[1281]); - builder.AddEndpoint(Endpoints[1282]); - builder.AddEndpoint(Endpoints[1283]); - builder.AddEndpoint(Endpoints[1284]); - builder.AddEndpoint(Endpoints[1285]); - builder.AddEndpoint(Endpoints[1286]); - builder.AddEndpoint(Endpoints[1287]); - builder.AddEndpoint(Endpoints[1288]); - builder.AddEndpoint(Endpoints[1289]); - builder.AddEndpoint(Endpoints[1290]); - builder.AddEndpoint(Endpoints[1291]); - builder.AddEndpoint(Endpoints[1292]); - builder.AddEndpoint(Endpoints[1293]); - builder.AddEndpoint(Endpoints[1294]); - builder.AddEndpoint(Endpoints[1295]); - builder.AddEndpoint(Endpoints[1296]); - builder.AddEndpoint(Endpoints[1297]); - builder.AddEndpoint(Endpoints[1298]); - builder.AddEndpoint(Endpoints[1299]); - builder.AddEndpoint(Endpoints[1300]); - builder.AddEndpoint(Endpoints[1301]); - builder.AddEndpoint(Endpoints[1302]); - builder.AddEndpoint(Endpoints[1303]); - builder.AddEndpoint(Endpoints[1304]); - builder.AddEndpoint(Endpoints[1305]); - builder.AddEndpoint(Endpoints[1306]); - builder.AddEndpoint(Endpoints[1307]); - builder.AddEndpoint(Endpoints[1308]); - builder.AddEndpoint(Endpoints[1309]); - builder.AddEndpoint(Endpoints[1310]); - builder.AddEndpoint(Endpoints[1311]); - builder.AddEndpoint(Endpoints[1312]); - builder.AddEndpoint(Endpoints[1313]); - builder.AddEndpoint(Endpoints[1314]); - builder.AddEndpoint(Endpoints[1315]); - builder.AddEndpoint(Endpoints[1316]); - builder.AddEndpoint(Endpoints[1317]); - builder.AddEndpoint(Endpoints[1318]); - builder.AddEndpoint(Endpoints[1319]); - builder.AddEndpoint(Endpoints[1320]); - builder.AddEndpoint(Endpoints[1321]); - builder.AddEndpoint(Endpoints[1322]); - builder.AddEndpoint(Endpoints[1323]); - builder.AddEndpoint(Endpoints[1324]); - builder.AddEndpoint(Endpoints[1325]); - builder.AddEndpoint(Endpoints[1326]); - builder.AddEndpoint(Endpoints[1327]); - builder.AddEndpoint(Endpoints[1328]); - builder.AddEndpoint(Endpoints[1329]); - builder.AddEndpoint(Endpoints[1330]); - builder.AddEndpoint(Endpoints[1331]); - builder.AddEndpoint(Endpoints[1332]); - builder.AddEndpoint(Endpoints[1333]); - builder.AddEndpoint(Endpoints[1334]); - builder.AddEndpoint(Endpoints[1335]); - builder.AddEndpoint(Endpoints[1336]); - builder.AddEndpoint(Endpoints[1337]); - builder.AddEndpoint(Endpoints[1338]); - builder.AddEndpoint(Endpoints[1339]); - builder.AddEndpoint(Endpoints[1340]); - builder.AddEndpoint(Endpoints[1341]); - builder.AddEndpoint(Endpoints[1342]); - builder.AddEndpoint(Endpoints[1343]); - builder.AddEndpoint(Endpoints[1344]); - builder.AddEndpoint(Endpoints[1345]); - builder.AddEndpoint(Endpoints[1346]); - builder.AddEndpoint(Endpoints[1347]); - builder.AddEndpoint(Endpoints[1348]); - builder.AddEndpoint(Endpoints[1349]); - builder.AddEndpoint(Endpoints[1350]); - builder.AddEndpoint(Endpoints[1351]); - builder.AddEndpoint(Endpoints[1352]); - builder.AddEndpoint(Endpoints[1353]); - builder.AddEndpoint(Endpoints[1354]); - builder.AddEndpoint(Endpoints[1355]); - builder.AddEndpoint(Endpoints[1356]); - builder.AddEndpoint(Endpoints[1357]); - builder.AddEndpoint(Endpoints[1358]); - builder.AddEndpoint(Endpoints[1359]); - builder.AddEndpoint(Endpoints[1360]); - builder.AddEndpoint(Endpoints[1361]); - builder.AddEndpoint(Endpoints[1362]); - builder.AddEndpoint(Endpoints[1363]); - builder.AddEndpoint(Endpoints[1364]); - builder.AddEndpoint(Endpoints[1365]); - builder.AddEndpoint(Endpoints[1366]); - builder.AddEndpoint(Endpoints[1367]); - builder.AddEndpoint(Endpoints[1368]); - builder.AddEndpoint(Endpoints[1369]); - builder.AddEndpoint(Endpoints[1370]); - builder.AddEndpoint(Endpoints[1371]); - builder.AddEndpoint(Endpoints[1372]); - builder.AddEndpoint(Endpoints[1373]); - builder.AddEndpoint(Endpoints[1374]); - builder.AddEndpoint(Endpoints[1375]); - builder.AddEndpoint(Endpoints[1376]); - builder.AddEndpoint(Endpoints[1377]); - builder.AddEndpoint(Endpoints[1378]); - builder.AddEndpoint(Endpoints[1379]); - builder.AddEndpoint(Endpoints[1380]); - builder.AddEndpoint(Endpoints[1381]); - builder.AddEndpoint(Endpoints[1382]); - builder.AddEndpoint(Endpoints[1383]); - builder.AddEndpoint(Endpoints[1384]); - builder.AddEndpoint(Endpoints[1385]); - builder.AddEndpoint(Endpoints[1386]); - builder.AddEndpoint(Endpoints[1387]); - builder.AddEndpoint(Endpoints[1388]); - builder.AddEndpoint(Endpoints[1389]); - builder.AddEndpoint(Endpoints[1390]); - builder.AddEndpoint(Endpoints[1391]); - builder.AddEndpoint(Endpoints[1392]); - builder.AddEndpoint(Endpoints[1393]); - builder.AddEndpoint(Endpoints[1394]); - builder.AddEndpoint(Endpoints[1395]); - builder.AddEndpoint(Endpoints[1396]); - builder.AddEndpoint(Endpoints[1397]); - builder.AddEndpoint(Endpoints[1398]); - builder.AddEndpoint(Endpoints[1399]); - builder.AddEndpoint(Endpoints[1400]); - builder.AddEndpoint(Endpoints[1401]); - builder.AddEndpoint(Endpoints[1402]); - builder.AddEndpoint(Endpoints[1403]); - builder.AddEndpoint(Endpoints[1404]); - builder.AddEndpoint(Endpoints[1405]); - builder.AddEndpoint(Endpoints[1406]); - builder.AddEndpoint(Endpoints[1407]); - builder.AddEndpoint(Endpoints[1408]); - builder.AddEndpoint(Endpoints[1409]); - builder.AddEndpoint(Endpoints[1410]); - builder.AddEndpoint(Endpoints[1411]); - builder.AddEndpoint(Endpoints[1412]); - builder.AddEndpoint(Endpoints[1413]); - builder.AddEndpoint(Endpoints[1414]); - builder.AddEndpoint(Endpoints[1415]); - builder.AddEndpoint(Endpoints[1416]); - builder.AddEndpoint(Endpoints[1417]); - builder.AddEndpoint(Endpoints[1418]); - builder.AddEndpoint(Endpoints[1419]); - builder.AddEndpoint(Endpoints[1420]); - builder.AddEndpoint(Endpoints[1421]); - builder.AddEndpoint(Endpoints[1422]); - builder.AddEndpoint(Endpoints[1423]); - builder.AddEndpoint(Endpoints[1424]); - builder.AddEndpoint(Endpoints[1425]); - builder.AddEndpoint(Endpoints[1426]); - builder.AddEndpoint(Endpoints[1427]); - builder.AddEndpoint(Endpoints[1428]); - builder.AddEndpoint(Endpoints[1429]); - builder.AddEndpoint(Endpoints[1430]); - builder.AddEndpoint(Endpoints[1431]); - builder.AddEndpoint(Endpoints[1432]); - builder.AddEndpoint(Endpoints[1433]); - builder.AddEndpoint(Endpoints[1434]); - builder.AddEndpoint(Endpoints[1435]); - builder.AddEndpoint(Endpoints[1436]); - builder.AddEndpoint(Endpoints[1437]); - builder.AddEndpoint(Endpoints[1438]); - builder.AddEndpoint(Endpoints[1439]); - builder.AddEndpoint(Endpoints[1440]); - builder.AddEndpoint(Endpoints[1441]); - builder.AddEndpoint(Endpoints[1442]); - builder.AddEndpoint(Endpoints[1443]); - builder.AddEndpoint(Endpoints[1444]); - builder.AddEndpoint(Endpoints[1445]); - builder.AddEndpoint(Endpoints[1446]); - builder.AddEndpoint(Endpoints[1447]); - builder.AddEndpoint(Endpoints[1448]); - builder.AddEndpoint(Endpoints[1449]); - builder.AddEndpoint(Endpoints[1450]); - builder.AddEndpoint(Endpoints[1451]); - builder.AddEndpoint(Endpoints[1452]); - builder.AddEndpoint(Endpoints[1453]); - builder.AddEndpoint(Endpoints[1454]); - builder.AddEndpoint(Endpoints[1455]); - builder.AddEndpoint(Endpoints[1456]); - builder.AddEndpoint(Endpoints[1457]); - builder.AddEndpoint(Endpoints[1458]); - builder.AddEndpoint(Endpoints[1459]); - builder.AddEndpoint(Endpoints[1460]); - builder.AddEndpoint(Endpoints[1461]); - builder.AddEndpoint(Endpoints[1462]); - builder.AddEndpoint(Endpoints[1463]); - builder.AddEndpoint(Endpoints[1464]); - builder.AddEndpoint(Endpoints[1465]); - builder.AddEndpoint(Endpoints[1466]); - builder.AddEndpoint(Endpoints[1467]); - builder.AddEndpoint(Endpoints[1468]); - builder.AddEndpoint(Endpoints[1469]); - builder.AddEndpoint(Endpoints[1470]); - builder.AddEndpoint(Endpoints[1471]); - builder.AddEndpoint(Endpoints[1472]); - builder.AddEndpoint(Endpoints[1473]); - builder.AddEndpoint(Endpoints[1474]); - builder.AddEndpoint(Endpoints[1475]); - builder.AddEndpoint(Endpoints[1476]); - builder.AddEndpoint(Endpoints[1477]); - builder.AddEndpoint(Endpoints[1478]); - builder.AddEndpoint(Endpoints[1479]); - builder.AddEndpoint(Endpoints[1480]); - builder.AddEndpoint(Endpoints[1481]); - builder.AddEndpoint(Endpoints[1482]); - builder.AddEndpoint(Endpoints[1483]); - builder.AddEndpoint(Endpoints[1484]); - builder.AddEndpoint(Endpoints[1485]); - builder.AddEndpoint(Endpoints[1486]); - builder.AddEndpoint(Endpoints[1487]); - builder.AddEndpoint(Endpoints[1488]); - builder.AddEndpoint(Endpoints[1489]); - builder.AddEndpoint(Endpoints[1490]); - builder.AddEndpoint(Endpoints[1491]); - builder.AddEndpoint(Endpoints[1492]); - builder.AddEndpoint(Endpoints[1493]); - builder.AddEndpoint(Endpoints[1494]); - builder.AddEndpoint(Endpoints[1495]); - builder.AddEndpoint(Endpoints[1496]); - builder.AddEndpoint(Endpoints[1497]); - builder.AddEndpoint(Endpoints[1498]); - builder.AddEndpoint(Endpoints[1499]); - builder.AddEndpoint(Endpoints[1500]); - builder.AddEndpoint(Endpoints[1501]); - builder.AddEndpoint(Endpoints[1502]); - builder.AddEndpoint(Endpoints[1503]); - builder.AddEndpoint(Endpoints[1504]); - builder.AddEndpoint(Endpoints[1505]); - builder.AddEndpoint(Endpoints[1506]); - builder.AddEndpoint(Endpoints[1507]); - builder.AddEndpoint(Endpoints[1508]); - builder.AddEndpoint(Endpoints[1509]); - builder.AddEndpoint(Endpoints[1510]); - builder.AddEndpoint(Endpoints[1511]); - builder.AddEndpoint(Endpoints[1512]); - builder.AddEndpoint(Endpoints[1513]); - builder.AddEndpoint(Endpoints[1514]); - builder.AddEndpoint(Endpoints[1515]); - builder.AddEndpoint(Endpoints[1516]); - builder.AddEndpoint(Endpoints[1517]); - builder.AddEndpoint(Endpoints[1518]); - builder.AddEndpoint(Endpoints[1519]); - builder.AddEndpoint(Endpoints[1520]); - builder.AddEndpoint(Endpoints[1521]); - builder.AddEndpoint(Endpoints[1522]); - builder.AddEndpoint(Endpoints[1523]); - builder.AddEndpoint(Endpoints[1524]); - builder.AddEndpoint(Endpoints[1525]); - builder.AddEndpoint(Endpoints[1526]); - builder.AddEndpoint(Endpoints[1527]); - builder.AddEndpoint(Endpoints[1528]); - builder.AddEndpoint(Endpoints[1529]); - builder.AddEndpoint(Endpoints[1530]); - builder.AddEndpoint(Endpoints[1531]); - builder.AddEndpoint(Endpoints[1532]); - builder.AddEndpoint(Endpoints[1533]); - builder.AddEndpoint(Endpoints[1534]); - builder.AddEndpoint(Endpoints[1535]); - builder.AddEndpoint(Endpoints[1536]); - builder.AddEndpoint(Endpoints[1537]); - builder.AddEndpoint(Endpoints[1538]); - builder.AddEndpoint(Endpoints[1539]); - builder.AddEndpoint(Endpoints[1540]); - builder.AddEndpoint(Endpoints[1541]); - builder.AddEndpoint(Endpoints[1542]); - builder.AddEndpoint(Endpoints[1543]); - builder.AddEndpoint(Endpoints[1544]); - builder.AddEndpoint(Endpoints[1545]); - builder.AddEndpoint(Endpoints[1546]); - builder.AddEndpoint(Endpoints[1547]); - builder.AddEndpoint(Endpoints[1548]); - builder.AddEndpoint(Endpoints[1549]); - builder.AddEndpoint(Endpoints[1550]); - builder.AddEndpoint(Endpoints[1551]); - builder.AddEndpoint(Endpoints[1552]); - builder.AddEndpoint(Endpoints[1553]); - builder.AddEndpoint(Endpoints[1554]); - builder.AddEndpoint(Endpoints[1555]); - builder.AddEndpoint(Endpoints[1556]); - builder.AddEndpoint(Endpoints[1557]); - builder.AddEndpoint(Endpoints[1558]); - builder.AddEndpoint(Endpoints[1559]); - builder.AddEndpoint(Endpoints[1560]); - builder.AddEndpoint(Endpoints[1561]); - builder.AddEndpoint(Endpoints[1562]); - builder.AddEndpoint(Endpoints[1563]); - builder.AddEndpoint(Endpoints[1564]); - builder.AddEndpoint(Endpoints[1565]); - builder.AddEndpoint(Endpoints[1566]); - builder.AddEndpoint(Endpoints[1567]); - builder.AddEndpoint(Endpoints[1568]); - builder.AddEndpoint(Endpoints[1569]); - builder.AddEndpoint(Endpoints[1570]); - builder.AddEndpoint(Endpoints[1571]); - builder.AddEndpoint(Endpoints[1572]); - builder.AddEndpoint(Endpoints[1573]); - builder.AddEndpoint(Endpoints[1574]); - builder.AddEndpoint(Endpoints[1575]); - builder.AddEndpoint(Endpoints[1576]); - builder.AddEndpoint(Endpoints[1577]); - builder.AddEndpoint(Endpoints[1578]); - builder.AddEndpoint(Endpoints[1579]); - builder.AddEndpoint(Endpoints[1580]); - builder.AddEndpoint(Endpoints[1581]); - builder.AddEndpoint(Endpoints[1582]); - builder.AddEndpoint(Endpoints[1583]); - builder.AddEndpoint(Endpoints[1584]); - builder.AddEndpoint(Endpoints[1585]); - builder.AddEndpoint(Endpoints[1586]); - builder.AddEndpoint(Endpoints[1587]); - builder.AddEndpoint(Endpoints[1588]); - builder.AddEndpoint(Endpoints[1589]); - builder.AddEndpoint(Endpoints[1590]); - builder.AddEndpoint(Endpoints[1591]); - builder.AddEndpoint(Endpoints[1592]); - builder.AddEndpoint(Endpoints[1593]); - builder.AddEndpoint(Endpoints[1594]); - builder.AddEndpoint(Endpoints[1595]); - builder.AddEndpoint(Endpoints[1596]); - builder.AddEndpoint(Endpoints[1597]); - builder.AddEndpoint(Endpoints[1598]); - builder.AddEndpoint(Endpoints[1599]); - builder.AddEndpoint(Endpoints[1600]); - builder.AddEndpoint(Endpoints[1601]); - builder.AddEndpoint(Endpoints[1602]); - builder.AddEndpoint(Endpoints[1603]); - builder.AddEndpoint(Endpoints[1604]); - builder.AddEndpoint(Endpoints[1605]); - builder.AddEndpoint(Endpoints[1606]); - builder.AddEndpoint(Endpoints[1607]); - builder.AddEndpoint(Endpoints[1608]); - builder.AddEndpoint(Endpoints[1609]); - builder.AddEndpoint(Endpoints[1610]); - builder.AddEndpoint(Endpoints[1611]); - builder.AddEndpoint(Endpoints[1612]); - builder.AddEndpoint(Endpoints[1613]); - builder.AddEndpoint(Endpoints[1614]); - builder.AddEndpoint(Endpoints[1615]); - builder.AddEndpoint(Endpoints[1616]); - builder.AddEndpoint(Endpoints[1617]); - builder.AddEndpoint(Endpoints[1618]); - builder.AddEndpoint(Endpoints[1619]); - builder.AddEndpoint(Endpoints[1620]); - builder.AddEndpoint(Endpoints[1621]); - builder.AddEndpoint(Endpoints[1622]); - builder.AddEndpoint(Endpoints[1623]); - builder.AddEndpoint(Endpoints[1624]); - builder.AddEndpoint(Endpoints[1625]); - builder.AddEndpoint(Endpoints[1626]); - builder.AddEndpoint(Endpoints[1627]); - builder.AddEndpoint(Endpoints[1628]); - builder.AddEndpoint(Endpoints[1629]); - builder.AddEndpoint(Endpoints[1630]); - builder.AddEndpoint(Endpoints[1631]); - builder.AddEndpoint(Endpoints[1632]); - builder.AddEndpoint(Endpoints[1633]); - builder.AddEndpoint(Endpoints[1634]); - builder.AddEndpoint(Endpoints[1635]); - builder.AddEndpoint(Endpoints[1636]); - builder.AddEndpoint(Endpoints[1637]); - builder.AddEndpoint(Endpoints[1638]); - builder.AddEndpoint(Endpoints[1639]); - builder.AddEndpoint(Endpoints[1640]); - builder.AddEndpoint(Endpoints[1641]); - builder.AddEndpoint(Endpoints[1642]); - builder.AddEndpoint(Endpoints[1643]); - builder.AddEndpoint(Endpoints[1644]); - builder.AddEndpoint(Endpoints[1645]); - builder.AddEndpoint(Endpoints[1646]); - builder.AddEndpoint(Endpoints[1647]); - builder.AddEndpoint(Endpoints[1648]); - builder.AddEndpoint(Endpoints[1649]); - builder.AddEndpoint(Endpoints[1650]); - builder.AddEndpoint(Endpoints[1651]); - builder.AddEndpoint(Endpoints[1652]); - builder.AddEndpoint(Endpoints[1653]); - builder.AddEndpoint(Endpoints[1654]); - builder.AddEndpoint(Endpoints[1655]); - builder.AddEndpoint(Endpoints[1656]); - builder.AddEndpoint(Endpoints[1657]); - builder.AddEndpoint(Endpoints[1658]); - builder.AddEndpoint(Endpoints[1659]); - builder.AddEndpoint(Endpoints[1660]); - builder.AddEndpoint(Endpoints[1661]); - builder.AddEndpoint(Endpoints[1662]); - builder.AddEndpoint(Endpoints[1663]); - builder.AddEndpoint(Endpoints[1664]); - builder.AddEndpoint(Endpoints[1665]); - builder.AddEndpoint(Endpoints[1666]); - builder.AddEndpoint(Endpoints[1667]); - builder.AddEndpoint(Endpoints[1668]); - builder.AddEndpoint(Endpoints[1669]); - builder.AddEndpoint(Endpoints[1670]); - builder.AddEndpoint(Endpoints[1671]); - builder.AddEndpoint(Endpoints[1672]); - builder.AddEndpoint(Endpoints[1673]); - builder.AddEndpoint(Endpoints[1674]); - builder.AddEndpoint(Endpoints[1675]); - builder.AddEndpoint(Endpoints[1676]); - builder.AddEndpoint(Endpoints[1677]); - builder.AddEndpoint(Endpoints[1678]); - builder.AddEndpoint(Endpoints[1679]); - builder.AddEndpoint(Endpoints[1680]); - builder.AddEndpoint(Endpoints[1681]); - builder.AddEndpoint(Endpoints[1682]); - builder.AddEndpoint(Endpoints[1683]); - builder.AddEndpoint(Endpoints[1684]); - builder.AddEndpoint(Endpoints[1685]); - builder.AddEndpoint(Endpoints[1686]); - builder.AddEndpoint(Endpoints[1687]); - builder.AddEndpoint(Endpoints[1688]); - builder.AddEndpoint(Endpoints[1689]); - builder.AddEndpoint(Endpoints[1690]); - builder.AddEndpoint(Endpoints[1691]); - builder.AddEndpoint(Endpoints[1692]); - builder.AddEndpoint(Endpoints[1693]); - builder.AddEndpoint(Endpoints[1694]); - builder.AddEndpoint(Endpoints[1695]); - builder.AddEndpoint(Endpoints[1696]); - builder.AddEndpoint(Endpoints[1697]); - builder.AddEndpoint(Endpoints[1698]); - builder.AddEndpoint(Endpoints[1699]); - builder.AddEndpoint(Endpoints[1700]); - builder.AddEndpoint(Endpoints[1701]); - builder.AddEndpoint(Endpoints[1702]); - builder.AddEndpoint(Endpoints[1703]); - builder.AddEndpoint(Endpoints[1704]); - builder.AddEndpoint(Endpoints[1705]); - builder.AddEndpoint(Endpoints[1706]); - builder.AddEndpoint(Endpoints[1707]); - builder.AddEndpoint(Endpoints[1708]); - builder.AddEndpoint(Endpoints[1709]); - builder.AddEndpoint(Endpoints[1710]); - builder.AddEndpoint(Endpoints[1711]); - builder.AddEndpoint(Endpoints[1712]); - builder.AddEndpoint(Endpoints[1713]); - builder.AddEndpoint(Endpoints[1714]); - builder.AddEndpoint(Endpoints[1715]); - builder.AddEndpoint(Endpoints[1716]); - builder.AddEndpoint(Endpoints[1717]); - builder.AddEndpoint(Endpoints[1718]); - builder.AddEndpoint(Endpoints[1719]); - builder.AddEndpoint(Endpoints[1720]); - builder.AddEndpoint(Endpoints[1721]); - builder.AddEndpoint(Endpoints[1722]); - builder.AddEndpoint(Endpoints[1723]); - builder.AddEndpoint(Endpoints[1724]); - builder.AddEndpoint(Endpoints[1725]); - builder.AddEndpoint(Endpoints[1726]); - builder.AddEndpoint(Endpoints[1727]); - builder.AddEndpoint(Endpoints[1728]); - builder.AddEndpoint(Endpoints[1729]); - builder.AddEndpoint(Endpoints[1730]); - builder.AddEndpoint(Endpoints[1731]); - builder.AddEndpoint(Endpoints[1732]); - builder.AddEndpoint(Endpoints[1733]); - builder.AddEndpoint(Endpoints[1734]); - builder.AddEndpoint(Endpoints[1735]); - builder.AddEndpoint(Endpoints[1736]); - builder.AddEndpoint(Endpoints[1737]); - builder.AddEndpoint(Endpoints[1738]); - builder.AddEndpoint(Endpoints[1739]); - builder.AddEndpoint(Endpoints[1740]); - builder.AddEndpoint(Endpoints[1741]); - builder.AddEndpoint(Endpoints[1742]); - builder.AddEndpoint(Endpoints[1743]); - builder.AddEndpoint(Endpoints[1744]); - builder.AddEndpoint(Endpoints[1745]); - builder.AddEndpoint(Endpoints[1746]); - builder.AddEndpoint(Endpoints[1747]); - builder.AddEndpoint(Endpoints[1748]); - builder.AddEndpoint(Endpoints[1749]); - builder.AddEndpoint(Endpoints[1750]); - builder.AddEndpoint(Endpoints[1751]); - builder.AddEndpoint(Endpoints[1752]); - builder.AddEndpoint(Endpoints[1753]); - builder.AddEndpoint(Endpoints[1754]); - builder.AddEndpoint(Endpoints[1755]); - builder.AddEndpoint(Endpoints[1756]); - builder.AddEndpoint(Endpoints[1757]); - builder.AddEndpoint(Endpoints[1758]); - builder.AddEndpoint(Endpoints[1759]); - builder.AddEndpoint(Endpoints[1760]); - builder.AddEndpoint(Endpoints[1761]); - builder.AddEndpoint(Endpoints[1762]); - builder.AddEndpoint(Endpoints[1763]); - builder.AddEndpoint(Endpoints[1764]); - builder.AddEndpoint(Endpoints[1765]); - builder.AddEndpoint(Endpoints[1766]); - builder.AddEndpoint(Endpoints[1767]); - builder.AddEndpoint(Endpoints[1768]); - builder.AddEndpoint(Endpoints[1769]); - builder.AddEndpoint(Endpoints[1770]); - builder.AddEndpoint(Endpoints[1771]); - builder.AddEndpoint(Endpoints[1772]); - builder.AddEndpoint(Endpoints[1773]); - builder.AddEndpoint(Endpoints[1774]); - builder.AddEndpoint(Endpoints[1775]); - builder.AddEndpoint(Endpoints[1776]); - builder.AddEndpoint(Endpoints[1777]); - builder.AddEndpoint(Endpoints[1778]); - builder.AddEndpoint(Endpoints[1779]); - builder.AddEndpoint(Endpoints[1780]); - builder.AddEndpoint(Endpoints[1781]); - builder.AddEndpoint(Endpoints[1782]); - builder.AddEndpoint(Endpoints[1783]); - builder.AddEndpoint(Endpoints[1784]); - builder.AddEndpoint(Endpoints[1785]); - builder.AddEndpoint(Endpoints[1786]); - builder.AddEndpoint(Endpoints[1787]); - builder.AddEndpoint(Endpoints[1788]); - builder.AddEndpoint(Endpoints[1789]); - builder.AddEndpoint(Endpoints[1790]); - builder.AddEndpoint(Endpoints[1791]); - builder.AddEndpoint(Endpoints[1792]); - builder.AddEndpoint(Endpoints[1793]); - builder.AddEndpoint(Endpoints[1794]); - builder.AddEndpoint(Endpoints[1795]); - builder.AddEndpoint(Endpoints[1796]); - builder.AddEndpoint(Endpoints[1797]); - builder.AddEndpoint(Endpoints[1798]); - builder.AddEndpoint(Endpoints[1799]); - builder.AddEndpoint(Endpoints[1800]); - builder.AddEndpoint(Endpoints[1801]); - builder.AddEndpoint(Endpoints[1802]); - builder.AddEndpoint(Endpoints[1803]); - builder.AddEndpoint(Endpoints[1804]); - builder.AddEndpoint(Endpoints[1805]); - builder.AddEndpoint(Endpoints[1806]); - builder.AddEndpoint(Endpoints[1807]); - builder.AddEndpoint(Endpoints[1808]); - builder.AddEndpoint(Endpoints[1809]); - builder.AddEndpoint(Endpoints[1810]); - builder.AddEndpoint(Endpoints[1811]); - builder.AddEndpoint(Endpoints[1812]); - builder.AddEndpoint(Endpoints[1813]); - builder.AddEndpoint(Endpoints[1814]); - builder.AddEndpoint(Endpoints[1815]); - builder.AddEndpoint(Endpoints[1816]); - builder.AddEndpoint(Endpoints[1817]); - builder.AddEndpoint(Endpoints[1818]); - builder.AddEndpoint(Endpoints[1819]); - builder.AddEndpoint(Endpoints[1820]); - builder.AddEndpoint(Endpoints[1821]); - builder.AddEndpoint(Endpoints[1822]); - builder.AddEndpoint(Endpoints[1823]); - builder.AddEndpoint(Endpoints[1824]); - builder.AddEndpoint(Endpoints[1825]); - builder.AddEndpoint(Endpoints[1826]); - builder.AddEndpoint(Endpoints[1827]); - builder.AddEndpoint(Endpoints[1828]); - builder.AddEndpoint(Endpoints[1829]); - builder.AddEndpoint(Endpoints[1830]); - builder.AddEndpoint(Endpoints[1831]); - builder.AddEndpoint(Endpoints[1832]); - builder.AddEndpoint(Endpoints[1833]); - builder.AddEndpoint(Endpoints[1834]); - builder.AddEndpoint(Endpoints[1835]); - builder.AddEndpoint(Endpoints[1836]); - builder.AddEndpoint(Endpoints[1837]); - builder.AddEndpoint(Endpoints[1838]); - builder.AddEndpoint(Endpoints[1839]); - builder.AddEndpoint(Endpoints[1840]); - builder.AddEndpoint(Endpoints[1841]); - builder.AddEndpoint(Endpoints[1842]); - builder.AddEndpoint(Endpoints[1843]); - builder.AddEndpoint(Endpoints[1844]); - builder.AddEndpoint(Endpoints[1845]); - builder.AddEndpoint(Endpoints[1846]); - builder.AddEndpoint(Endpoints[1847]); - builder.AddEndpoint(Endpoints[1848]); - builder.AddEndpoint(Endpoints[1849]); - builder.AddEndpoint(Endpoints[1850]); - builder.AddEndpoint(Endpoints[1851]); - builder.AddEndpoint(Endpoints[1852]); - builder.AddEndpoint(Endpoints[1853]); - builder.AddEndpoint(Endpoints[1854]); - builder.AddEndpoint(Endpoints[1855]); - builder.AddEndpoint(Endpoints[1856]); - builder.AddEndpoint(Endpoints[1857]); - builder.AddEndpoint(Endpoints[1858]); - builder.AddEndpoint(Endpoints[1859]); - builder.AddEndpoint(Endpoints[1860]); - builder.AddEndpoint(Endpoints[1861]); - builder.AddEndpoint(Endpoints[1862]); - builder.AddEndpoint(Endpoints[1863]); - builder.AddEndpoint(Endpoints[1864]); - builder.AddEndpoint(Endpoints[1865]); - builder.AddEndpoint(Endpoints[1866]); - builder.AddEndpoint(Endpoints[1867]); - builder.AddEndpoint(Endpoints[1868]); - builder.AddEndpoint(Endpoints[1869]); - builder.AddEndpoint(Endpoints[1870]); - builder.AddEndpoint(Endpoints[1871]); - builder.AddEndpoint(Endpoints[1872]); - builder.AddEndpoint(Endpoints[1873]); - builder.AddEndpoint(Endpoints[1874]); - builder.AddEndpoint(Endpoints[1875]); - builder.AddEndpoint(Endpoints[1876]); - builder.AddEndpoint(Endpoints[1877]); - builder.AddEndpoint(Endpoints[1878]); - builder.AddEndpoint(Endpoints[1879]); - builder.AddEndpoint(Endpoints[1880]); - builder.AddEndpoint(Endpoints[1881]); - builder.AddEndpoint(Endpoints[1882]); - builder.AddEndpoint(Endpoints[1883]); - builder.AddEndpoint(Endpoints[1884]); - builder.AddEndpoint(Endpoints[1885]); - builder.AddEndpoint(Endpoints[1886]); - builder.AddEndpoint(Endpoints[1887]); - builder.AddEndpoint(Endpoints[1888]); - builder.AddEndpoint(Endpoints[1889]); - builder.AddEndpoint(Endpoints[1890]); - builder.AddEndpoint(Endpoints[1891]); - builder.AddEndpoint(Endpoints[1892]); - builder.AddEndpoint(Endpoints[1893]); - builder.AddEndpoint(Endpoints[1894]); - builder.AddEndpoint(Endpoints[1895]); - builder.AddEndpoint(Endpoints[1896]); - builder.AddEndpoint(Endpoints[1897]); - builder.AddEndpoint(Endpoints[1898]); - builder.AddEndpoint(Endpoints[1899]); - builder.AddEndpoint(Endpoints[1900]); - builder.AddEndpoint(Endpoints[1901]); - builder.AddEndpoint(Endpoints[1902]); - builder.AddEndpoint(Endpoints[1903]); - builder.AddEndpoint(Endpoints[1904]); - builder.AddEndpoint(Endpoints[1905]); - builder.AddEndpoint(Endpoints[1906]); - builder.AddEndpoint(Endpoints[1907]); - builder.AddEndpoint(Endpoints[1908]); - builder.AddEndpoint(Endpoints[1909]); - builder.AddEndpoint(Endpoints[1910]); - builder.AddEndpoint(Endpoints[1911]); - builder.AddEndpoint(Endpoints[1912]); - builder.AddEndpoint(Endpoints[1913]); - builder.AddEndpoint(Endpoints[1914]); - builder.AddEndpoint(Endpoints[1915]); - builder.AddEndpoint(Endpoints[1916]); - builder.AddEndpoint(Endpoints[1917]); - builder.AddEndpoint(Endpoints[1918]); - builder.AddEndpoint(Endpoints[1919]); - builder.AddEndpoint(Endpoints[1920]); - builder.AddEndpoint(Endpoints[1921]); - builder.AddEndpoint(Endpoints[1922]); - builder.AddEndpoint(Endpoints[1923]); - builder.AddEndpoint(Endpoints[1924]); - builder.AddEndpoint(Endpoints[1925]); - builder.AddEndpoint(Endpoints[1926]); - builder.AddEndpoint(Endpoints[1927]); - builder.AddEndpoint(Endpoints[1928]); - builder.AddEndpoint(Endpoints[1929]); - builder.AddEndpoint(Endpoints[1930]); - builder.AddEndpoint(Endpoints[1931]); - builder.AddEndpoint(Endpoints[1932]); - builder.AddEndpoint(Endpoints[1933]); - builder.AddEndpoint(Endpoints[1934]); - builder.AddEndpoint(Endpoints[1935]); - builder.AddEndpoint(Endpoints[1936]); - builder.AddEndpoint(Endpoints[1937]); - builder.AddEndpoint(Endpoints[1938]); - builder.AddEndpoint(Endpoints[1939]); - builder.AddEndpoint(Endpoints[1940]); - builder.AddEndpoint(Endpoints[1941]); - builder.AddEndpoint(Endpoints[1942]); - builder.AddEndpoint(Endpoints[1943]); - builder.AddEndpoint(Endpoints[1944]); - builder.AddEndpoint(Endpoints[1945]); - builder.AddEndpoint(Endpoints[1946]); - builder.AddEndpoint(Endpoints[1947]); - builder.AddEndpoint(Endpoints[1948]); - builder.AddEndpoint(Endpoints[1949]); - builder.AddEndpoint(Endpoints[1950]); - builder.AddEndpoint(Endpoints[1951]); - builder.AddEndpoint(Endpoints[1952]); - builder.AddEndpoint(Endpoints[1953]); - builder.AddEndpoint(Endpoints[1954]); - builder.AddEndpoint(Endpoints[1955]); - builder.AddEndpoint(Endpoints[1956]); - builder.AddEndpoint(Endpoints[1957]); - builder.AddEndpoint(Endpoints[1958]); - builder.AddEndpoint(Endpoints[1959]); - builder.AddEndpoint(Endpoints[1960]); - builder.AddEndpoint(Endpoints[1961]); - builder.AddEndpoint(Endpoints[1962]); - builder.AddEndpoint(Endpoints[1963]); - builder.AddEndpoint(Endpoints[1964]); - builder.AddEndpoint(Endpoints[1965]); - builder.AddEndpoint(Endpoints[1966]); - builder.AddEndpoint(Endpoints[1967]); - builder.AddEndpoint(Endpoints[1968]); - builder.AddEndpoint(Endpoints[1969]); - builder.AddEndpoint(Endpoints[1970]); - builder.AddEndpoint(Endpoints[1971]); - builder.AddEndpoint(Endpoints[1972]); - builder.AddEndpoint(Endpoints[1973]); - builder.AddEndpoint(Endpoints[1974]); - builder.AddEndpoint(Endpoints[1975]); - builder.AddEndpoint(Endpoints[1976]); - builder.AddEndpoint(Endpoints[1977]); - builder.AddEndpoint(Endpoints[1978]); - builder.AddEndpoint(Endpoints[1979]); - builder.AddEndpoint(Endpoints[1980]); - builder.AddEndpoint(Endpoints[1981]); - builder.AddEndpoint(Endpoints[1982]); - builder.AddEndpoint(Endpoints[1983]); - builder.AddEndpoint(Endpoints[1984]); - builder.AddEndpoint(Endpoints[1985]); - builder.AddEndpoint(Endpoints[1986]); - builder.AddEndpoint(Endpoints[1987]); - builder.AddEndpoint(Endpoints[1988]); - builder.AddEndpoint(Endpoints[1989]); - builder.AddEndpoint(Endpoints[1990]); - builder.AddEndpoint(Endpoints[1991]); - builder.AddEndpoint(Endpoints[1992]); - builder.AddEndpoint(Endpoints[1993]); - builder.AddEndpoint(Endpoints[1994]); - builder.AddEndpoint(Endpoints[1995]); - builder.AddEndpoint(Endpoints[1996]); - builder.AddEndpoint(Endpoints[1997]); - builder.AddEndpoint(Endpoints[1998]); - builder.AddEndpoint(Endpoints[1999]); - builder.AddEndpoint(Endpoints[2000]); - builder.AddEndpoint(Endpoints[2001]); - builder.AddEndpoint(Endpoints[2002]); - builder.AddEndpoint(Endpoints[2003]); - builder.AddEndpoint(Endpoints[2004]); - builder.AddEndpoint(Endpoints[2005]); - builder.AddEndpoint(Endpoints[2006]); - builder.AddEndpoint(Endpoints[2007]); - builder.AddEndpoint(Endpoints[2008]); - builder.AddEndpoint(Endpoints[2009]); - builder.AddEndpoint(Endpoints[2010]); - builder.AddEndpoint(Endpoints[2011]); - builder.AddEndpoint(Endpoints[2012]); - builder.AddEndpoint(Endpoints[2013]); - builder.AddEndpoint(Endpoints[2014]); - builder.AddEndpoint(Endpoints[2015]); - builder.AddEndpoint(Endpoints[2016]); - builder.AddEndpoint(Endpoints[2017]); - builder.AddEndpoint(Endpoints[2018]); - builder.AddEndpoint(Endpoints[2019]); - builder.AddEndpoint(Endpoints[2020]); - builder.AddEndpoint(Endpoints[2021]); - builder.AddEndpoint(Endpoints[2022]); - builder.AddEndpoint(Endpoints[2023]); - builder.AddEndpoint(Endpoints[2024]); - builder.AddEndpoint(Endpoints[2025]); - builder.AddEndpoint(Endpoints[2026]); - builder.AddEndpoint(Endpoints[2027]); - builder.AddEndpoint(Endpoints[2028]); - builder.AddEndpoint(Endpoints[2029]); - builder.AddEndpoint(Endpoints[2030]); - builder.AddEndpoint(Endpoints[2031]); - builder.AddEndpoint(Endpoints[2032]); - builder.AddEndpoint(Endpoints[2033]); - builder.AddEndpoint(Endpoints[2034]); - builder.AddEndpoint(Endpoints[2035]); - builder.AddEndpoint(Endpoints[2036]); - builder.AddEndpoint(Endpoints[2037]); - builder.AddEndpoint(Endpoints[2038]); - builder.AddEndpoint(Endpoints[2039]); - builder.AddEndpoint(Endpoints[2040]); - builder.AddEndpoint(Endpoints[2041]); - builder.AddEndpoint(Endpoints[2042]); - builder.AddEndpoint(Endpoints[2043]); - builder.AddEndpoint(Endpoints[2044]); - builder.AddEndpoint(Endpoints[2045]); - builder.AddEndpoint(Endpoints[2046]); - builder.AddEndpoint(Endpoints[2047]); - builder.AddEndpoint(Endpoints[2048]); - builder.AddEndpoint(Endpoints[2049]); - builder.AddEndpoint(Endpoints[2050]); - builder.AddEndpoint(Endpoints[2051]); - builder.AddEndpoint(Endpoints[2052]); - builder.AddEndpoint(Endpoints[2053]); - builder.AddEndpoint(Endpoints[2054]); - builder.AddEndpoint(Endpoints[2055]); - builder.AddEndpoint(Endpoints[2056]); - builder.AddEndpoint(Endpoints[2057]); - builder.AddEndpoint(Endpoints[2058]); - builder.AddEndpoint(Endpoints[2059]); - builder.AddEndpoint(Endpoints[2060]); - builder.AddEndpoint(Endpoints[2061]); - builder.AddEndpoint(Endpoints[2062]); - builder.AddEndpoint(Endpoints[2063]); - builder.AddEndpoint(Endpoints[2064]); - builder.AddEndpoint(Endpoints[2065]); - builder.AddEndpoint(Endpoints[2066]); - builder.AddEndpoint(Endpoints[2067]); - builder.AddEndpoint(Endpoints[2068]); - builder.AddEndpoint(Endpoints[2069]); - builder.AddEndpoint(Endpoints[2070]); - builder.AddEndpoint(Endpoints[2071]); - builder.AddEndpoint(Endpoints[2072]); - builder.AddEndpoint(Endpoints[2073]); - builder.AddEndpoint(Endpoints[2074]); - builder.AddEndpoint(Endpoints[2075]); - builder.AddEndpoint(Endpoints[2076]); - builder.AddEndpoint(Endpoints[2077]); - builder.AddEndpoint(Endpoints[2078]); - builder.AddEndpoint(Endpoints[2079]); - builder.AddEndpoint(Endpoints[2080]); - builder.AddEndpoint(Endpoints[2081]); - builder.AddEndpoint(Endpoints[2082]); - builder.AddEndpoint(Endpoints[2083]); - builder.AddEndpoint(Endpoints[2084]); - builder.AddEndpoint(Endpoints[2085]); - builder.AddEndpoint(Endpoints[2086]); - builder.AddEndpoint(Endpoints[2087]); - builder.AddEndpoint(Endpoints[2088]); - builder.AddEndpoint(Endpoints[2089]); - builder.AddEndpoint(Endpoints[2090]); - builder.AddEndpoint(Endpoints[2091]); - builder.AddEndpoint(Endpoints[2092]); - builder.AddEndpoint(Endpoints[2093]); - builder.AddEndpoint(Endpoints[2094]); - builder.AddEndpoint(Endpoints[2095]); - builder.AddEndpoint(Endpoints[2096]); - builder.AddEndpoint(Endpoints[2097]); - builder.AddEndpoint(Endpoints[2098]); - builder.AddEndpoint(Endpoints[2099]); - builder.AddEndpoint(Endpoints[2100]); - builder.AddEndpoint(Endpoints[2101]); - builder.AddEndpoint(Endpoints[2102]); - builder.AddEndpoint(Endpoints[2103]); - builder.AddEndpoint(Endpoints[2104]); - builder.AddEndpoint(Endpoints[2105]); - builder.AddEndpoint(Endpoints[2106]); - builder.AddEndpoint(Endpoints[2107]); - builder.AddEndpoint(Endpoints[2108]); - builder.AddEndpoint(Endpoints[2109]); - builder.AddEndpoint(Endpoints[2110]); - builder.AddEndpoint(Endpoints[2111]); - builder.AddEndpoint(Endpoints[2112]); - builder.AddEndpoint(Endpoints[2113]); - builder.AddEndpoint(Endpoints[2114]); - builder.AddEndpoint(Endpoints[2115]); - builder.AddEndpoint(Endpoints[2116]); - builder.AddEndpoint(Endpoints[2117]); - builder.AddEndpoint(Endpoints[2118]); - builder.AddEndpoint(Endpoints[2119]); - builder.AddEndpoint(Endpoints[2120]); - builder.AddEndpoint(Endpoints[2121]); - builder.AddEndpoint(Endpoints[2122]); - builder.AddEndpoint(Endpoints[2123]); - builder.AddEndpoint(Endpoints[2124]); - builder.AddEndpoint(Endpoints[2125]); - builder.AddEndpoint(Endpoints[2126]); - builder.AddEndpoint(Endpoints[2127]); - builder.AddEndpoint(Endpoints[2128]); - builder.AddEndpoint(Endpoints[2129]); - builder.AddEndpoint(Endpoints[2130]); - builder.AddEndpoint(Endpoints[2131]); - builder.AddEndpoint(Endpoints[2132]); - builder.AddEndpoint(Endpoints[2133]); - builder.AddEndpoint(Endpoints[2134]); - builder.AddEndpoint(Endpoints[2135]); - builder.AddEndpoint(Endpoints[2136]); - builder.AddEndpoint(Endpoints[2137]); - builder.AddEndpoint(Endpoints[2138]); - builder.AddEndpoint(Endpoints[2139]); - builder.AddEndpoint(Endpoints[2140]); - builder.AddEndpoint(Endpoints[2141]); - builder.AddEndpoint(Endpoints[2142]); - builder.AddEndpoint(Endpoints[2143]); - builder.AddEndpoint(Endpoints[2144]); - builder.AddEndpoint(Endpoints[2145]); - builder.AddEndpoint(Endpoints[2146]); - builder.AddEndpoint(Endpoints[2147]); - builder.AddEndpoint(Endpoints[2148]); - builder.AddEndpoint(Endpoints[2149]); - builder.AddEndpoint(Endpoints[2150]); - builder.AddEndpoint(Endpoints[2151]); - builder.AddEndpoint(Endpoints[2152]); - builder.AddEndpoint(Endpoints[2153]); - builder.AddEndpoint(Endpoints[2154]); - builder.AddEndpoint(Endpoints[2155]); - builder.AddEndpoint(Endpoints[2156]); - builder.AddEndpoint(Endpoints[2157]); - builder.AddEndpoint(Endpoints[2158]); - builder.AddEndpoint(Endpoints[2159]); - builder.AddEndpoint(Endpoints[2160]); - builder.AddEndpoint(Endpoints[2161]); - builder.AddEndpoint(Endpoints[2162]); - builder.AddEndpoint(Endpoints[2163]); - builder.AddEndpoint(Endpoints[2164]); - builder.AddEndpoint(Endpoints[2165]); - builder.AddEndpoint(Endpoints[2166]); - builder.AddEndpoint(Endpoints[2167]); - builder.AddEndpoint(Endpoints[2168]); - builder.AddEndpoint(Endpoints[2169]); - builder.AddEndpoint(Endpoints[2170]); - builder.AddEndpoint(Endpoints[2171]); - builder.AddEndpoint(Endpoints[2172]); - builder.AddEndpoint(Endpoints[2173]); - builder.AddEndpoint(Endpoints[2174]); - builder.AddEndpoint(Endpoints[2175]); - builder.AddEndpoint(Endpoints[2176]); - builder.AddEndpoint(Endpoints[2177]); - builder.AddEndpoint(Endpoints[2178]); - builder.AddEndpoint(Endpoints[2179]); - builder.AddEndpoint(Endpoints[2180]); - builder.AddEndpoint(Endpoints[2181]); - builder.AddEndpoint(Endpoints[2182]); - builder.AddEndpoint(Endpoints[2183]); - builder.AddEndpoint(Endpoints[2184]); - builder.AddEndpoint(Endpoints[2185]); - builder.AddEndpoint(Endpoints[2186]); - builder.AddEndpoint(Endpoints[2187]); - builder.AddEndpoint(Endpoints[2188]); - builder.AddEndpoint(Endpoints[2189]); - builder.AddEndpoint(Endpoints[2190]); - builder.AddEndpoint(Endpoints[2191]); - builder.AddEndpoint(Endpoints[2192]); - builder.AddEndpoint(Endpoints[2193]); - builder.AddEndpoint(Endpoints[2194]); - builder.AddEndpoint(Endpoints[2195]); - builder.AddEndpoint(Endpoints[2196]); - builder.AddEndpoint(Endpoints[2197]); - builder.AddEndpoint(Endpoints[2198]); - builder.AddEndpoint(Endpoints[2199]); - builder.AddEndpoint(Endpoints[2200]); - builder.AddEndpoint(Endpoints[2201]); - builder.AddEndpoint(Endpoints[2202]); - builder.AddEndpoint(Endpoints[2203]); - builder.AddEndpoint(Endpoints[2204]); - builder.AddEndpoint(Endpoints[2205]); - builder.AddEndpoint(Endpoints[2206]); - builder.AddEndpoint(Endpoints[2207]); - builder.AddEndpoint(Endpoints[2208]); - builder.AddEndpoint(Endpoints[2209]); - builder.AddEndpoint(Endpoints[2210]); - builder.AddEndpoint(Endpoints[2211]); - builder.AddEndpoint(Endpoints[2212]); - builder.AddEndpoint(Endpoints[2213]); - builder.AddEndpoint(Endpoints[2214]); - builder.AddEndpoint(Endpoints[2215]); - builder.AddEndpoint(Endpoints[2216]); - builder.AddEndpoint(Endpoints[2217]); - builder.AddEndpoint(Endpoints[2218]); - builder.AddEndpoint(Endpoints[2219]); - builder.AddEndpoint(Endpoints[2220]); - builder.AddEndpoint(Endpoints[2221]); - builder.AddEndpoint(Endpoints[2222]); - builder.AddEndpoint(Endpoints[2223]); - builder.AddEndpoint(Endpoints[2224]); - builder.AddEndpoint(Endpoints[2225]); - builder.AddEndpoint(Endpoints[2226]); - builder.AddEndpoint(Endpoints[2227]); - builder.AddEndpoint(Endpoints[2228]); - builder.AddEndpoint(Endpoints[2229]); - builder.AddEndpoint(Endpoints[2230]); - builder.AddEndpoint(Endpoints[2231]); - builder.AddEndpoint(Endpoints[2232]); - builder.AddEndpoint(Endpoints[2233]); - builder.AddEndpoint(Endpoints[2234]); - builder.AddEndpoint(Endpoints[2235]); - builder.AddEndpoint(Endpoints[2236]); - builder.AddEndpoint(Endpoints[2237]); - builder.AddEndpoint(Endpoints[2238]); - builder.AddEndpoint(Endpoints[2239]); - builder.AddEndpoint(Endpoints[2240]); - builder.AddEndpoint(Endpoints[2241]); - builder.AddEndpoint(Endpoints[2242]); - builder.AddEndpoint(Endpoints[2243]); - builder.AddEndpoint(Endpoints[2244]); - builder.AddEndpoint(Endpoints[2245]); - builder.AddEndpoint(Endpoints[2246]); - builder.AddEndpoint(Endpoints[2247]); - builder.AddEndpoint(Endpoints[2248]); - builder.AddEndpoint(Endpoints[2249]); - builder.AddEndpoint(Endpoints[2250]); - builder.AddEndpoint(Endpoints[2251]); - builder.AddEndpoint(Endpoints[2252]); - builder.AddEndpoint(Endpoints[2253]); - builder.AddEndpoint(Endpoints[2254]); - builder.AddEndpoint(Endpoints[2255]); - builder.AddEndpoint(Endpoints[2256]); - builder.AddEndpoint(Endpoints[2257]); - builder.AddEndpoint(Endpoints[2258]); - builder.AddEndpoint(Endpoints[2259]); - builder.AddEndpoint(Endpoints[2260]); - builder.AddEndpoint(Endpoints[2261]); - builder.AddEndpoint(Endpoints[2262]); - builder.AddEndpoint(Endpoints[2263]); - builder.AddEndpoint(Endpoints[2264]); - builder.AddEndpoint(Endpoints[2265]); - builder.AddEndpoint(Endpoints[2266]); - builder.AddEndpoint(Endpoints[2267]); - builder.AddEndpoint(Endpoints[2268]); - builder.AddEndpoint(Endpoints[2269]); - builder.AddEndpoint(Endpoints[2270]); - builder.AddEndpoint(Endpoints[2271]); - builder.AddEndpoint(Endpoints[2272]); - builder.AddEndpoint(Endpoints[2273]); - builder.AddEndpoint(Endpoints[2274]); - builder.AddEndpoint(Endpoints[2275]); - builder.AddEndpoint(Endpoints[2276]); - builder.AddEndpoint(Endpoints[2277]); - builder.AddEndpoint(Endpoints[2278]); - builder.AddEndpoint(Endpoints[2279]); - builder.AddEndpoint(Endpoints[2280]); - builder.AddEndpoint(Endpoints[2281]); - builder.AddEndpoint(Endpoints[2282]); - builder.AddEndpoint(Endpoints[2283]); - builder.AddEndpoint(Endpoints[2284]); - builder.AddEndpoint(Endpoints[2285]); - builder.AddEndpoint(Endpoints[2286]); - builder.AddEndpoint(Endpoints[2287]); - builder.AddEndpoint(Endpoints[2288]); - builder.AddEndpoint(Endpoints[2289]); - builder.AddEndpoint(Endpoints[2290]); - builder.AddEndpoint(Endpoints[2291]); - builder.AddEndpoint(Endpoints[2292]); - builder.AddEndpoint(Endpoints[2293]); - builder.AddEndpoint(Endpoints[2294]); - builder.AddEndpoint(Endpoints[2295]); - builder.AddEndpoint(Endpoints[2296]); - builder.AddEndpoint(Endpoints[2297]); - builder.AddEndpoint(Endpoints[2298]); - builder.AddEndpoint(Endpoints[2299]); - builder.AddEndpoint(Endpoints[2300]); - builder.AddEndpoint(Endpoints[2301]); - builder.AddEndpoint(Endpoints[2302]); - builder.AddEndpoint(Endpoints[2303]); - builder.AddEndpoint(Endpoints[2304]); - builder.AddEndpoint(Endpoints[2305]); - builder.AddEndpoint(Endpoints[2306]); - builder.AddEndpoint(Endpoints[2307]); - builder.AddEndpoint(Endpoints[2308]); - builder.AddEndpoint(Endpoints[2309]); - builder.AddEndpoint(Endpoints[2310]); - builder.AddEndpoint(Endpoints[2311]); - builder.AddEndpoint(Endpoints[2312]); - builder.AddEndpoint(Endpoints[2313]); - builder.AddEndpoint(Endpoints[2314]); - builder.AddEndpoint(Endpoints[2315]); - builder.AddEndpoint(Endpoints[2316]); - builder.AddEndpoint(Endpoints[2317]); - builder.AddEndpoint(Endpoints[2318]); - builder.AddEndpoint(Endpoints[2319]); - builder.AddEndpoint(Endpoints[2320]); - builder.AddEndpoint(Endpoints[2321]); - builder.AddEndpoint(Endpoints[2322]); - builder.AddEndpoint(Endpoints[2323]); - builder.AddEndpoint(Endpoints[2324]); - builder.AddEndpoint(Endpoints[2325]); - builder.AddEndpoint(Endpoints[2326]); - builder.AddEndpoint(Endpoints[2327]); - builder.AddEndpoint(Endpoints[2328]); - builder.AddEndpoint(Endpoints[2329]); - builder.AddEndpoint(Endpoints[2330]); - builder.AddEndpoint(Endpoints[2331]); - builder.AddEndpoint(Endpoints[2332]); - builder.AddEndpoint(Endpoints[2333]); - builder.AddEndpoint(Endpoints[2334]); - builder.AddEndpoint(Endpoints[2335]); - builder.AddEndpoint(Endpoints[2336]); - builder.AddEndpoint(Endpoints[2337]); - builder.AddEndpoint(Endpoints[2338]); - builder.AddEndpoint(Endpoints[2339]); - builder.AddEndpoint(Endpoints[2340]); - builder.AddEndpoint(Endpoints[2341]); - builder.AddEndpoint(Endpoints[2342]); - builder.AddEndpoint(Endpoints[2343]); - builder.AddEndpoint(Endpoints[2344]); - builder.AddEndpoint(Endpoints[2345]); - builder.AddEndpoint(Endpoints[2346]); - builder.AddEndpoint(Endpoints[2347]); - builder.AddEndpoint(Endpoints[2348]); - builder.AddEndpoint(Endpoints[2349]); - builder.AddEndpoint(Endpoints[2350]); - builder.AddEndpoint(Endpoints[2351]); - builder.AddEndpoint(Endpoints[2352]); - builder.AddEndpoint(Endpoints[2353]); - builder.AddEndpoint(Endpoints[2354]); - builder.AddEndpoint(Endpoints[2355]); - builder.AddEndpoint(Endpoints[2356]); - builder.AddEndpoint(Endpoints[2357]); - builder.AddEndpoint(Endpoints[2358]); - builder.AddEndpoint(Endpoints[2359]); - builder.AddEndpoint(Endpoints[2360]); - builder.AddEndpoint(Endpoints[2361]); - builder.AddEndpoint(Endpoints[2362]); - builder.AddEndpoint(Endpoints[2363]); - builder.AddEndpoint(Endpoints[2364]); - builder.AddEndpoint(Endpoints[2365]); - builder.AddEndpoint(Endpoints[2366]); - builder.AddEndpoint(Endpoints[2367]); - builder.AddEndpoint(Endpoints[2368]); - builder.AddEndpoint(Endpoints[2369]); - builder.AddEndpoint(Endpoints[2370]); - builder.AddEndpoint(Endpoints[2371]); - builder.AddEndpoint(Endpoints[2372]); - builder.AddEndpoint(Endpoints[2373]); - builder.AddEndpoint(Endpoints[2374]); - builder.AddEndpoint(Endpoints[2375]); - builder.AddEndpoint(Endpoints[2376]); - builder.AddEndpoint(Endpoints[2377]); - builder.AddEndpoint(Endpoints[2378]); - builder.AddEndpoint(Endpoints[2379]); - builder.AddEndpoint(Endpoints[2380]); - builder.AddEndpoint(Endpoints[2381]); - builder.AddEndpoint(Endpoints[2382]); - builder.AddEndpoint(Endpoints[2383]); - builder.AddEndpoint(Endpoints[2384]); - builder.AddEndpoint(Endpoints[2385]); - builder.AddEndpoint(Endpoints[2386]); - builder.AddEndpoint(Endpoints[2387]); - builder.AddEndpoint(Endpoints[2388]); - builder.AddEndpoint(Endpoints[2389]); - builder.AddEndpoint(Endpoints[2390]); - builder.AddEndpoint(Endpoints[2391]); - builder.AddEndpoint(Endpoints[2392]); - builder.AddEndpoint(Endpoints[2393]); - builder.AddEndpoint(Endpoints[2394]); - builder.AddEndpoint(Endpoints[2395]); - builder.AddEndpoint(Endpoints[2396]); - builder.AddEndpoint(Endpoints[2397]); - builder.AddEndpoint(Endpoints[2398]); - builder.AddEndpoint(Endpoints[2399]); - builder.AddEndpoint(Endpoints[2400]); - builder.AddEndpoint(Endpoints[2401]); - builder.AddEndpoint(Endpoints[2402]); - builder.AddEndpoint(Endpoints[2403]); - builder.AddEndpoint(Endpoints[2404]); - builder.AddEndpoint(Endpoints[2405]); - builder.AddEndpoint(Endpoints[2406]); - builder.AddEndpoint(Endpoints[2407]); - builder.AddEndpoint(Endpoints[2408]); - builder.AddEndpoint(Endpoints[2409]); - builder.AddEndpoint(Endpoints[2410]); - builder.AddEndpoint(Endpoints[2411]); - builder.AddEndpoint(Endpoints[2412]); - builder.AddEndpoint(Endpoints[2413]); - builder.AddEndpoint(Endpoints[2414]); - builder.AddEndpoint(Endpoints[2415]); - builder.AddEndpoint(Endpoints[2416]); - builder.AddEndpoint(Endpoints[2417]); - builder.AddEndpoint(Endpoints[2418]); - builder.AddEndpoint(Endpoints[2419]); - builder.AddEndpoint(Endpoints[2420]); - builder.AddEndpoint(Endpoints[2421]); - builder.AddEndpoint(Endpoints[2422]); - builder.AddEndpoint(Endpoints[2423]); - builder.AddEndpoint(Endpoints[2424]); - builder.AddEndpoint(Endpoints[2425]); - builder.AddEndpoint(Endpoints[2426]); - builder.AddEndpoint(Endpoints[2427]); - builder.AddEndpoint(Endpoints[2428]); - builder.AddEndpoint(Endpoints[2429]); - builder.AddEndpoint(Endpoints[2430]); - builder.AddEndpoint(Endpoints[2431]); - builder.AddEndpoint(Endpoints[2432]); - builder.AddEndpoint(Endpoints[2433]); - builder.AddEndpoint(Endpoints[2434]); - builder.AddEndpoint(Endpoints[2435]); - builder.AddEndpoint(Endpoints[2436]); - builder.AddEndpoint(Endpoints[2437]); - builder.AddEndpoint(Endpoints[2438]); - builder.AddEndpoint(Endpoints[2439]); - builder.AddEndpoint(Endpoints[2440]); - builder.AddEndpoint(Endpoints[2441]); - builder.AddEndpoint(Endpoints[2442]); - builder.AddEndpoint(Endpoints[2443]); - builder.AddEndpoint(Endpoints[2444]); - builder.AddEndpoint(Endpoints[2445]); - builder.AddEndpoint(Endpoints[2446]); - builder.AddEndpoint(Endpoints[2447]); - builder.AddEndpoint(Endpoints[2448]); - builder.AddEndpoint(Endpoints[2449]); - builder.AddEndpoint(Endpoints[2450]); - builder.AddEndpoint(Endpoints[2451]); - builder.AddEndpoint(Endpoints[2452]); - builder.AddEndpoint(Endpoints[2453]); - builder.AddEndpoint(Endpoints[2454]); - builder.AddEndpoint(Endpoints[2455]); - builder.AddEndpoint(Endpoints[2456]); - builder.AddEndpoint(Endpoints[2457]); - builder.AddEndpoint(Endpoints[2458]); - builder.AddEndpoint(Endpoints[2459]); - builder.AddEndpoint(Endpoints[2460]); - builder.AddEndpoint(Endpoints[2461]); - builder.AddEndpoint(Endpoints[2462]); - builder.AddEndpoint(Endpoints[2463]); - builder.AddEndpoint(Endpoints[2464]); - builder.AddEndpoint(Endpoints[2465]); - builder.AddEndpoint(Endpoints[2466]); - builder.AddEndpoint(Endpoints[2467]); - builder.AddEndpoint(Endpoints[2468]); - builder.AddEndpoint(Endpoints[2469]); - builder.AddEndpoint(Endpoints[2470]); - builder.AddEndpoint(Endpoints[2471]); - builder.AddEndpoint(Endpoints[2472]); - builder.AddEndpoint(Endpoints[2473]); - builder.AddEndpoint(Endpoints[2474]); - builder.AddEndpoint(Endpoints[2475]); - builder.AddEndpoint(Endpoints[2476]); - builder.AddEndpoint(Endpoints[2477]); - builder.AddEndpoint(Endpoints[2478]); - builder.AddEndpoint(Endpoints[2479]); - builder.AddEndpoint(Endpoints[2480]); - builder.AddEndpoint(Endpoints[2481]); - builder.AddEndpoint(Endpoints[2482]); - builder.AddEndpoint(Endpoints[2483]); - builder.AddEndpoint(Endpoints[2484]); - builder.AddEndpoint(Endpoints[2485]); - builder.AddEndpoint(Endpoints[2486]); - builder.AddEndpoint(Endpoints[2487]); - builder.AddEndpoint(Endpoints[2488]); - builder.AddEndpoint(Endpoints[2489]); - builder.AddEndpoint(Endpoints[2490]); - builder.AddEndpoint(Endpoints[2491]); - builder.AddEndpoint(Endpoints[2492]); - builder.AddEndpoint(Endpoints[2493]); - builder.AddEndpoint(Endpoints[2494]); - builder.AddEndpoint(Endpoints[2495]); - builder.AddEndpoint(Endpoints[2496]); - builder.AddEndpoint(Endpoints[2497]); - builder.AddEndpoint(Endpoints[2498]); - builder.AddEndpoint(Endpoints[2499]); - builder.AddEndpoint(Endpoints[2500]); - builder.AddEndpoint(Endpoints[2501]); - builder.AddEndpoint(Endpoints[2502]); - builder.AddEndpoint(Endpoints[2503]); - builder.AddEndpoint(Endpoints[2504]); - builder.AddEndpoint(Endpoints[2505]); - builder.AddEndpoint(Endpoints[2506]); - builder.AddEndpoint(Endpoints[2507]); - builder.AddEndpoint(Endpoints[2508]); - builder.AddEndpoint(Endpoints[2509]); - builder.AddEndpoint(Endpoints[2510]); - builder.AddEndpoint(Endpoints[2511]); - builder.AddEndpoint(Endpoints[2512]); - builder.AddEndpoint(Endpoints[2513]); - builder.AddEndpoint(Endpoints[2514]); - builder.AddEndpoint(Endpoints[2515]); - builder.AddEndpoint(Endpoints[2516]); - builder.AddEndpoint(Endpoints[2517]); - builder.AddEndpoint(Endpoints[2518]); - builder.AddEndpoint(Endpoints[2519]); - builder.AddEndpoint(Endpoints[2520]); - builder.AddEndpoint(Endpoints[2521]); - builder.AddEndpoint(Endpoints[2522]); - builder.AddEndpoint(Endpoints[2523]); - builder.AddEndpoint(Endpoints[2524]); - builder.AddEndpoint(Endpoints[2525]); - builder.AddEndpoint(Endpoints[2526]); - builder.AddEndpoint(Endpoints[2527]); - builder.AddEndpoint(Endpoints[2528]); - builder.AddEndpoint(Endpoints[2529]); - builder.AddEndpoint(Endpoints[2530]); - builder.AddEndpoint(Endpoints[2531]); - builder.AddEndpoint(Endpoints[2532]); - builder.AddEndpoint(Endpoints[2533]); - builder.AddEndpoint(Endpoints[2534]); - builder.AddEndpoint(Endpoints[2535]); - builder.AddEndpoint(Endpoints[2536]); - builder.AddEndpoint(Endpoints[2537]); - builder.AddEndpoint(Endpoints[2538]); - builder.AddEndpoint(Endpoints[2539]); - builder.AddEndpoint(Endpoints[2540]); - builder.AddEndpoint(Endpoints[2541]); - builder.AddEndpoint(Endpoints[2542]); - builder.AddEndpoint(Endpoints[2543]); - builder.AddEndpoint(Endpoints[2544]); - builder.AddEndpoint(Endpoints[2545]); - builder.AddEndpoint(Endpoints[2546]); - builder.AddEndpoint(Endpoints[2547]); - builder.AddEndpoint(Endpoints[2548]); - builder.AddEndpoint(Endpoints[2549]); - builder.AddEndpoint(Endpoints[2550]); - builder.AddEndpoint(Endpoints[2551]); - builder.AddEndpoint(Endpoints[2552]); - builder.AddEndpoint(Endpoints[2553]); - builder.AddEndpoint(Endpoints[2554]); - builder.AddEndpoint(Endpoints[2555]); - builder.AddEndpoint(Endpoints[2556]); - builder.AddEndpoint(Endpoints[2557]); - builder.AddEndpoint(Endpoints[2558]); - builder.AddEndpoint(Endpoints[2559]); - builder.AddEndpoint(Endpoints[2560]); - builder.AddEndpoint(Endpoints[2561]); - builder.AddEndpoint(Endpoints[2562]); - builder.AddEndpoint(Endpoints[2563]); - builder.AddEndpoint(Endpoints[2564]); - builder.AddEndpoint(Endpoints[2565]); - builder.AddEndpoint(Endpoints[2566]); - builder.AddEndpoint(Endpoints[2567]); - builder.AddEndpoint(Endpoints[2568]); - builder.AddEndpoint(Endpoints[2569]); - builder.AddEndpoint(Endpoints[2570]); - builder.AddEndpoint(Endpoints[2571]); - builder.AddEndpoint(Endpoints[2572]); - builder.AddEndpoint(Endpoints[2573]); - builder.AddEndpoint(Endpoints[2574]); - builder.AddEndpoint(Endpoints[2575]); - builder.AddEndpoint(Endpoints[2576]); - builder.AddEndpoint(Endpoints[2577]); - builder.AddEndpoint(Endpoints[2578]); - builder.AddEndpoint(Endpoints[2579]); - builder.AddEndpoint(Endpoints[2580]); - builder.AddEndpoint(Endpoints[2581]); - builder.AddEndpoint(Endpoints[2582]); - builder.AddEndpoint(Endpoints[2583]); - builder.AddEndpoint(Endpoints[2584]); - builder.AddEndpoint(Endpoints[2585]); - builder.AddEndpoint(Endpoints[2586]); - builder.AddEndpoint(Endpoints[2587]); - builder.AddEndpoint(Endpoints[2588]); - builder.AddEndpoint(Endpoints[2589]); - builder.AddEndpoint(Endpoints[2590]); - builder.AddEndpoint(Endpoints[2591]); - builder.AddEndpoint(Endpoints[2592]); - builder.AddEndpoint(Endpoints[2593]); - builder.AddEndpoint(Endpoints[2594]); - builder.AddEndpoint(Endpoints[2595]); - builder.AddEndpoint(Endpoints[2596]); - builder.AddEndpoint(Endpoints[2597]); - builder.AddEndpoint(Endpoints[2598]); - builder.AddEndpoint(Endpoints[2599]); - builder.AddEndpoint(Endpoints[2600]); - builder.AddEndpoint(Endpoints[2601]); - builder.AddEndpoint(Endpoints[2602]); - builder.AddEndpoint(Endpoints[2603]); - builder.AddEndpoint(Endpoints[2604]); - builder.AddEndpoint(Endpoints[2605]); - builder.AddEndpoint(Endpoints[2606]); - builder.AddEndpoint(Endpoints[2607]); - builder.AddEndpoint(Endpoints[2608]); - builder.AddEndpoint(Endpoints[2609]); - builder.AddEndpoint(Endpoints[2610]); - builder.AddEndpoint(Endpoints[2611]); - builder.AddEndpoint(Endpoints[2612]); - builder.AddEndpoint(Endpoints[2613]); - builder.AddEndpoint(Endpoints[2614]); - builder.AddEndpoint(Endpoints[2615]); - builder.AddEndpoint(Endpoints[2616]); - builder.AddEndpoint(Endpoints[2617]); - builder.AddEndpoint(Endpoints[2618]); - builder.AddEndpoint(Endpoints[2619]); - builder.AddEndpoint(Endpoints[2620]); - builder.AddEndpoint(Endpoints[2621]); - builder.AddEndpoint(Endpoints[2622]); - builder.AddEndpoint(Endpoints[2623]); - builder.AddEndpoint(Endpoints[2624]); - builder.AddEndpoint(Endpoints[2625]); - builder.AddEndpoint(Endpoints[2626]); - builder.AddEndpoint(Endpoints[2627]); - builder.AddEndpoint(Endpoints[2628]); - builder.AddEndpoint(Endpoints[2629]); - builder.AddEndpoint(Endpoints[2630]); - builder.AddEndpoint(Endpoints[2631]); - builder.AddEndpoint(Endpoints[2632]); - builder.AddEndpoint(Endpoints[2633]); - builder.AddEndpoint(Endpoints[2634]); - builder.AddEndpoint(Endpoints[2635]); - builder.AddEndpoint(Endpoints[2636]); - builder.AddEndpoint(Endpoints[2637]); - builder.AddEndpoint(Endpoints[2638]); - builder.AddEndpoint(Endpoints[2639]); - builder.AddEndpoint(Endpoints[2640]); - builder.AddEndpoint(Endpoints[2641]); - builder.AddEndpoint(Endpoints[2642]); - builder.AddEndpoint(Endpoints[2643]); - builder.AddEndpoint(Endpoints[2644]); - builder.AddEndpoint(Endpoints[2645]); - builder.AddEndpoint(Endpoints[2646]); - builder.AddEndpoint(Endpoints[2647]); - builder.AddEndpoint(Endpoints[2648]); - builder.AddEndpoint(Endpoints[2649]); - builder.AddEndpoint(Endpoints[2650]); - builder.AddEndpoint(Endpoints[2651]); - builder.AddEndpoint(Endpoints[2652]); - builder.AddEndpoint(Endpoints[2653]); - builder.AddEndpoint(Endpoints[2654]); - builder.AddEndpoint(Endpoints[2655]); - builder.AddEndpoint(Endpoints[2656]); - builder.AddEndpoint(Endpoints[2657]); - builder.AddEndpoint(Endpoints[2658]); - builder.AddEndpoint(Endpoints[2659]); - builder.AddEndpoint(Endpoints[2660]); - builder.AddEndpoint(Endpoints[2661]); - builder.AddEndpoint(Endpoints[2662]); - builder.AddEndpoint(Endpoints[2663]); - builder.AddEndpoint(Endpoints[2664]); - builder.AddEndpoint(Endpoints[2665]); - builder.AddEndpoint(Endpoints[2666]); - builder.AddEndpoint(Endpoints[2667]); - builder.AddEndpoint(Endpoints[2668]); - builder.AddEndpoint(Endpoints[2669]); - builder.AddEndpoint(Endpoints[2670]); - builder.AddEndpoint(Endpoints[2671]); - builder.AddEndpoint(Endpoints[2672]); - builder.AddEndpoint(Endpoints[2673]); - builder.AddEndpoint(Endpoints[2674]); - builder.AddEndpoint(Endpoints[2675]); - builder.AddEndpoint(Endpoints[2676]); - builder.AddEndpoint(Endpoints[2677]); - builder.AddEndpoint(Endpoints[2678]); - builder.AddEndpoint(Endpoints[2679]); - builder.AddEndpoint(Endpoints[2680]); - builder.AddEndpoint(Endpoints[2681]); - builder.AddEndpoint(Endpoints[2682]); - builder.AddEndpoint(Endpoints[2683]); - builder.AddEndpoint(Endpoints[2684]); - builder.AddEndpoint(Endpoints[2685]); - builder.AddEndpoint(Endpoints[2686]); - builder.AddEndpoint(Endpoints[2687]); - builder.AddEndpoint(Endpoints[2688]); - builder.AddEndpoint(Endpoints[2689]); - builder.AddEndpoint(Endpoints[2690]); - builder.AddEndpoint(Endpoints[2691]); - builder.AddEndpoint(Endpoints[2692]); - builder.AddEndpoint(Endpoints[2693]); - builder.AddEndpoint(Endpoints[2694]); - builder.AddEndpoint(Endpoints[2695]); - builder.AddEndpoint(Endpoints[2696]); - builder.AddEndpoint(Endpoints[2697]); - builder.AddEndpoint(Endpoints[2698]); - builder.AddEndpoint(Endpoints[2699]); - builder.AddEndpoint(Endpoints[2700]); - builder.AddEndpoint(Endpoints[2701]); - builder.AddEndpoint(Endpoints[2702]); - builder.AddEndpoint(Endpoints[2703]); - builder.AddEndpoint(Endpoints[2704]); - builder.AddEndpoint(Endpoints[2705]); - builder.AddEndpoint(Endpoints[2706]); - builder.AddEndpoint(Endpoints[2707]); - builder.AddEndpoint(Endpoints[2708]); - builder.AddEndpoint(Endpoints[2709]); - builder.AddEndpoint(Endpoints[2710]); - builder.AddEndpoint(Endpoints[2711]); - builder.AddEndpoint(Endpoints[2712]); - builder.AddEndpoint(Endpoints[2713]); - builder.AddEndpoint(Endpoints[2714]); - builder.AddEndpoint(Endpoints[2715]); - builder.AddEndpoint(Endpoints[2716]); - builder.AddEndpoint(Endpoints[2717]); - builder.AddEndpoint(Endpoints[2718]); - builder.AddEndpoint(Endpoints[2719]); - builder.AddEndpoint(Endpoints[2720]); - builder.AddEndpoint(Endpoints[2721]); - builder.AddEndpoint(Endpoints[2722]); - builder.AddEndpoint(Endpoints[2723]); - builder.AddEndpoint(Endpoints[2724]); - builder.AddEndpoint(Endpoints[2725]); - builder.AddEndpoint(Endpoints[2726]); - builder.AddEndpoint(Endpoints[2727]); - builder.AddEndpoint(Endpoints[2728]); - builder.AddEndpoint(Endpoints[2729]); - builder.AddEndpoint(Endpoints[2730]); - builder.AddEndpoint(Endpoints[2731]); - builder.AddEndpoint(Endpoints[2732]); - builder.AddEndpoint(Endpoints[2733]); - builder.AddEndpoint(Endpoints[2734]); - builder.AddEndpoint(Endpoints[2735]); - builder.AddEndpoint(Endpoints[2736]); - builder.AddEndpoint(Endpoints[2737]); - builder.AddEndpoint(Endpoints[2738]); - builder.AddEndpoint(Endpoints[2739]); - builder.AddEndpoint(Endpoints[2740]); - builder.AddEndpoint(Endpoints[2741]); - builder.AddEndpoint(Endpoints[2742]); - builder.AddEndpoint(Endpoints[2743]); - builder.AddEndpoint(Endpoints[2744]); - builder.AddEndpoint(Endpoints[2745]); - builder.AddEndpoint(Endpoints[2746]); - builder.AddEndpoint(Endpoints[2747]); - builder.AddEndpoint(Endpoints[2748]); - builder.AddEndpoint(Endpoints[2749]); - builder.AddEndpoint(Endpoints[2750]); - builder.AddEndpoint(Endpoints[2751]); - builder.AddEndpoint(Endpoints[2752]); - builder.AddEndpoint(Endpoints[2753]); - builder.AddEndpoint(Endpoints[2754]); - builder.AddEndpoint(Endpoints[2755]); - builder.AddEndpoint(Endpoints[2756]); - builder.AddEndpoint(Endpoints[2757]); - builder.AddEndpoint(Endpoints[2758]); - builder.AddEndpoint(Endpoints[2759]); - builder.AddEndpoint(Endpoints[2760]); - builder.AddEndpoint(Endpoints[2761]); - builder.AddEndpoint(Endpoints[2762]); - builder.AddEndpoint(Endpoints[2763]); - builder.AddEndpoint(Endpoints[2764]); - builder.AddEndpoint(Endpoints[2765]); - builder.AddEndpoint(Endpoints[2766]); - builder.AddEndpoint(Endpoints[2767]); - builder.AddEndpoint(Endpoints[2768]); - builder.AddEndpoint(Endpoints[2769]); - builder.AddEndpoint(Endpoints[2770]); - builder.AddEndpoint(Endpoints[2771]); - builder.AddEndpoint(Endpoints[2772]); - builder.AddEndpoint(Endpoints[2773]); - builder.AddEndpoint(Endpoints[2774]); - builder.AddEndpoint(Endpoints[2775]); - builder.AddEndpoint(Endpoints[2776]); - builder.AddEndpoint(Endpoints[2777]); - builder.AddEndpoint(Endpoints[2778]); - builder.AddEndpoint(Endpoints[2779]); - builder.AddEndpoint(Endpoints[2780]); - builder.AddEndpoint(Endpoints[2781]); - builder.AddEndpoint(Endpoints[2782]); - builder.AddEndpoint(Endpoints[2783]); - builder.AddEndpoint(Endpoints[2784]); - builder.AddEndpoint(Endpoints[2785]); - builder.AddEndpoint(Endpoints[2786]); - builder.AddEndpoint(Endpoints[2787]); - builder.AddEndpoint(Endpoints[2788]); - builder.AddEndpoint(Endpoints[2789]); - builder.AddEndpoint(Endpoints[2790]); - builder.AddEndpoint(Endpoints[2791]); - builder.AddEndpoint(Endpoints[2792]); - builder.AddEndpoint(Endpoints[2793]); - builder.AddEndpoint(Endpoints[2794]); - builder.AddEndpoint(Endpoints[2795]); - builder.AddEndpoint(Endpoints[2796]); - builder.AddEndpoint(Endpoints[2797]); - builder.AddEndpoint(Endpoints[2798]); - builder.AddEndpoint(Endpoints[2799]); - builder.AddEndpoint(Endpoints[2800]); - builder.AddEndpoint(Endpoints[2801]); - builder.AddEndpoint(Endpoints[2802]); - builder.AddEndpoint(Endpoints[2803]); - builder.AddEndpoint(Endpoints[2804]); - builder.AddEndpoint(Endpoints[2805]); - builder.AddEndpoint(Endpoints[2806]); - builder.AddEndpoint(Endpoints[2807]); - builder.AddEndpoint(Endpoints[2808]); - builder.AddEndpoint(Endpoints[2809]); - builder.AddEndpoint(Endpoints[2810]); - builder.AddEndpoint(Endpoints[2811]); - builder.AddEndpoint(Endpoints[2812]); - builder.AddEndpoint(Endpoints[2813]); - builder.AddEndpoint(Endpoints[2814]); - builder.AddEndpoint(Endpoints[2815]); - builder.AddEndpoint(Endpoints[2816]); - builder.AddEndpoint(Endpoints[2817]); - builder.AddEndpoint(Endpoints[2818]); - builder.AddEndpoint(Endpoints[2819]); - builder.AddEndpoint(Endpoints[2820]); - builder.AddEndpoint(Endpoints[2821]); - builder.AddEndpoint(Endpoints[2822]); - builder.AddEndpoint(Endpoints[2823]); - builder.AddEndpoint(Endpoints[2824]); - builder.AddEndpoint(Endpoints[2825]); - builder.AddEndpoint(Endpoints[2826]); - builder.AddEndpoint(Endpoints[2827]); - builder.AddEndpoint(Endpoints[2828]); - builder.AddEndpoint(Endpoints[2829]); - builder.AddEndpoint(Endpoints[2830]); - builder.AddEndpoint(Endpoints[2831]); - builder.AddEndpoint(Endpoints[2832]); - builder.AddEndpoint(Endpoints[2833]); - builder.AddEndpoint(Endpoints[2834]); - builder.AddEndpoint(Endpoints[2835]); - builder.AddEndpoint(Endpoints[2836]); - builder.AddEndpoint(Endpoints[2837]); - builder.AddEndpoint(Endpoints[2838]); - builder.AddEndpoint(Endpoints[2839]); - builder.AddEndpoint(Endpoints[2840]); - builder.AddEndpoint(Endpoints[2841]); - builder.AddEndpoint(Endpoints[2842]); - builder.AddEndpoint(Endpoints[2843]); - builder.AddEndpoint(Endpoints[2844]); - builder.AddEndpoint(Endpoints[2845]); - builder.AddEndpoint(Endpoints[2846]); - builder.AddEndpoint(Endpoints[2847]); - builder.AddEndpoint(Endpoints[2848]); - builder.AddEndpoint(Endpoints[2849]); - builder.AddEndpoint(Endpoints[2850]); - builder.AddEndpoint(Endpoints[2851]); - builder.AddEndpoint(Endpoints[2852]); - builder.AddEndpoint(Endpoints[2853]); - builder.AddEndpoint(Endpoints[2854]); - builder.AddEndpoint(Endpoints[2855]); - builder.AddEndpoint(Endpoints[2856]); - builder.AddEndpoint(Endpoints[2857]); - builder.AddEndpoint(Endpoints[2858]); - builder.AddEndpoint(Endpoints[2859]); - builder.AddEndpoint(Endpoints[2860]); - builder.AddEndpoint(Endpoints[2861]); - builder.AddEndpoint(Endpoints[2862]); - builder.AddEndpoint(Endpoints[2863]); - builder.AddEndpoint(Endpoints[2864]); - builder.AddEndpoint(Endpoints[2865]); - builder.AddEndpoint(Endpoints[2866]); - builder.AddEndpoint(Endpoints[2867]); - builder.AddEndpoint(Endpoints[2868]); - builder.AddEndpoint(Endpoints[2869]); - builder.AddEndpoint(Endpoints[2870]); - builder.AddEndpoint(Endpoints[2871]); - builder.AddEndpoint(Endpoints[2872]); - builder.AddEndpoint(Endpoints[2873]); - builder.AddEndpoint(Endpoints[2874]); - builder.AddEndpoint(Endpoints[2875]); - builder.AddEndpoint(Endpoints[2876]); - builder.AddEndpoint(Endpoints[2877]); - builder.AddEndpoint(Endpoints[2878]); - builder.AddEndpoint(Endpoints[2879]); - builder.AddEndpoint(Endpoints[2880]); - builder.AddEndpoint(Endpoints[2881]); - builder.AddEndpoint(Endpoints[2882]); - builder.AddEndpoint(Endpoints[2883]); - builder.AddEndpoint(Endpoints[2884]); - builder.AddEndpoint(Endpoints[2885]); - builder.AddEndpoint(Endpoints[2886]); - builder.AddEndpoint(Endpoints[2887]); - builder.AddEndpoint(Endpoints[2888]); - builder.AddEndpoint(Endpoints[2889]); - builder.AddEndpoint(Endpoints[2890]); - builder.AddEndpoint(Endpoints[2891]); - builder.AddEndpoint(Endpoints[2892]); - builder.AddEndpoint(Endpoints[2893]); - builder.AddEndpoint(Endpoints[2894]); - builder.AddEndpoint(Endpoints[2895]); - builder.AddEndpoint(Endpoints[2896]); - builder.AddEndpoint(Endpoints[2897]); - builder.AddEndpoint(Endpoints[2898]); - builder.AddEndpoint(Endpoints[2899]); - builder.AddEndpoint(Endpoints[2900]); - builder.AddEndpoint(Endpoints[2901]); - builder.AddEndpoint(Endpoints[2902]); - builder.AddEndpoint(Endpoints[2903]); - builder.AddEndpoint(Endpoints[2904]); - builder.AddEndpoint(Endpoints[2905]); - builder.AddEndpoint(Endpoints[2906]); - builder.AddEndpoint(Endpoints[2907]); - builder.AddEndpoint(Endpoints[2908]); - builder.AddEndpoint(Endpoints[2909]); - builder.AddEndpoint(Endpoints[2910]); - builder.AddEndpoint(Endpoints[2911]); - builder.AddEndpoint(Endpoints[2912]); - builder.AddEndpoint(Endpoints[2913]); - builder.AddEndpoint(Endpoints[2914]); - builder.AddEndpoint(Endpoints[2915]); - builder.AddEndpoint(Endpoints[2916]); - builder.AddEndpoint(Endpoints[2917]); - builder.AddEndpoint(Endpoints[2918]); - builder.AddEndpoint(Endpoints[2919]); - builder.AddEndpoint(Endpoints[2920]); - builder.AddEndpoint(Endpoints[2921]); - builder.AddEndpoint(Endpoints[2922]); - builder.AddEndpoint(Endpoints[2923]); - builder.AddEndpoint(Endpoints[2924]); - builder.AddEndpoint(Endpoints[2925]); - builder.AddEndpoint(Endpoints[2926]); - builder.AddEndpoint(Endpoints[2927]); - builder.AddEndpoint(Endpoints[2928]); - builder.AddEndpoint(Endpoints[2929]); - builder.AddEndpoint(Endpoints[2930]); - builder.AddEndpoint(Endpoints[2931]); - builder.AddEndpoint(Endpoints[2932]); - builder.AddEndpoint(Endpoints[2933]); - builder.AddEndpoint(Endpoints[2934]); - builder.AddEndpoint(Endpoints[2935]); - builder.AddEndpoint(Endpoints[2936]); - builder.AddEndpoint(Endpoints[2937]); - builder.AddEndpoint(Endpoints[2938]); - builder.AddEndpoint(Endpoints[2939]); - builder.AddEndpoint(Endpoints[2940]); - builder.AddEndpoint(Endpoints[2941]); - builder.AddEndpoint(Endpoints[2942]); - builder.AddEndpoint(Endpoints[2943]); - builder.AddEndpoint(Endpoints[2944]); - builder.AddEndpoint(Endpoints[2945]); - builder.AddEndpoint(Endpoints[2946]); - builder.AddEndpoint(Endpoints[2947]); - builder.AddEndpoint(Endpoints[2948]); - builder.AddEndpoint(Endpoints[2949]); - builder.AddEndpoint(Endpoints[2950]); - builder.AddEndpoint(Endpoints[2951]); - builder.AddEndpoint(Endpoints[2952]); - builder.AddEndpoint(Endpoints[2953]); - builder.AddEndpoint(Endpoints[2954]); - builder.AddEndpoint(Endpoints[2955]); - builder.AddEndpoint(Endpoints[2956]); - builder.AddEndpoint(Endpoints[2957]); - builder.AddEndpoint(Endpoints[2958]); - builder.AddEndpoint(Endpoints[2959]); - builder.AddEndpoint(Endpoints[2960]); - builder.AddEndpoint(Endpoints[2961]); - builder.AddEndpoint(Endpoints[2962]); - builder.AddEndpoint(Endpoints[2963]); - builder.AddEndpoint(Endpoints[2964]); - builder.AddEndpoint(Endpoints[2965]); - builder.AddEndpoint(Endpoints[2966]); - builder.AddEndpoint(Endpoints[2967]); - builder.AddEndpoint(Endpoints[2968]); - builder.AddEndpoint(Endpoints[2969]); - builder.AddEndpoint(Endpoints[2970]); - builder.AddEndpoint(Endpoints[2971]); - builder.AddEndpoint(Endpoints[2972]); - builder.AddEndpoint(Endpoints[2973]); - builder.AddEndpoint(Endpoints[2974]); - builder.AddEndpoint(Endpoints[2975]); - builder.AddEndpoint(Endpoints[2976]); - builder.AddEndpoint(Endpoints[2977]); - builder.AddEndpoint(Endpoints[2978]); - builder.AddEndpoint(Endpoints[2979]); - builder.AddEndpoint(Endpoints[2980]); - builder.AddEndpoint(Endpoints[2981]); - builder.AddEndpoint(Endpoints[2982]); - builder.AddEndpoint(Endpoints[2983]); - builder.AddEndpoint(Endpoints[2984]); - builder.AddEndpoint(Endpoints[2985]); - builder.AddEndpoint(Endpoints[2986]); - builder.AddEndpoint(Endpoints[2987]); - builder.AddEndpoint(Endpoints[2988]); - builder.AddEndpoint(Endpoints[2989]); - builder.AddEndpoint(Endpoints[2990]); - builder.AddEndpoint(Endpoints[2991]); - builder.AddEndpoint(Endpoints[2992]); - builder.AddEndpoint(Endpoints[2993]); - builder.AddEndpoint(Endpoints[2994]); - builder.AddEndpoint(Endpoints[2995]); - builder.AddEndpoint(Endpoints[2996]); - builder.AddEndpoint(Endpoints[2997]); - builder.AddEndpoint(Endpoints[2998]); - builder.AddEndpoint(Endpoints[2999]); - builder.AddEndpoint(Endpoints[3000]); - builder.AddEndpoint(Endpoints[3001]); - builder.AddEndpoint(Endpoints[3002]); - builder.AddEndpoint(Endpoints[3003]); - builder.AddEndpoint(Endpoints[3004]); - builder.AddEndpoint(Endpoints[3005]); - builder.AddEndpoint(Endpoints[3006]); - builder.AddEndpoint(Endpoints[3007]); - builder.AddEndpoint(Endpoints[3008]); - builder.AddEndpoint(Endpoints[3009]); - builder.AddEndpoint(Endpoints[3010]); - builder.AddEndpoint(Endpoints[3011]); - builder.AddEndpoint(Endpoints[3012]); - builder.AddEndpoint(Endpoints[3013]); - builder.AddEndpoint(Endpoints[3014]); - builder.AddEndpoint(Endpoints[3015]); - builder.AddEndpoint(Endpoints[3016]); - builder.AddEndpoint(Endpoints[3017]); - builder.AddEndpoint(Endpoints[3018]); - builder.AddEndpoint(Endpoints[3019]); - builder.AddEndpoint(Endpoints[3020]); - builder.AddEndpoint(Endpoints[3021]); - builder.AddEndpoint(Endpoints[3022]); - builder.AddEndpoint(Endpoints[3023]); - builder.AddEndpoint(Endpoints[3024]); - builder.AddEndpoint(Endpoints[3025]); - builder.AddEndpoint(Endpoints[3026]); - builder.AddEndpoint(Endpoints[3027]); - builder.AddEndpoint(Endpoints[3028]); - builder.AddEndpoint(Endpoints[3029]); - builder.AddEndpoint(Endpoints[3030]); - builder.AddEndpoint(Endpoints[3031]); - builder.AddEndpoint(Endpoints[3032]); - builder.AddEndpoint(Endpoints[3033]); - builder.AddEndpoint(Endpoints[3034]); - builder.AddEndpoint(Endpoints[3035]); - builder.AddEndpoint(Endpoints[3036]); - builder.AddEndpoint(Endpoints[3037]); - builder.AddEndpoint(Endpoints[3038]); - builder.AddEndpoint(Endpoints[3039]); - builder.AddEndpoint(Endpoints[3040]); - builder.AddEndpoint(Endpoints[3041]); - builder.AddEndpoint(Endpoints[3042]); - builder.AddEndpoint(Endpoints[3043]); - builder.AddEndpoint(Endpoints[3044]); - builder.AddEndpoint(Endpoints[3045]); - builder.AddEndpoint(Endpoints[3046]); - builder.AddEndpoint(Endpoints[3047]); - builder.AddEndpoint(Endpoints[3048]); - builder.AddEndpoint(Endpoints[3049]); - builder.AddEndpoint(Endpoints[3050]); - builder.AddEndpoint(Endpoints[3051]); - builder.AddEndpoint(Endpoints[3052]); - builder.AddEndpoint(Endpoints[3053]); - builder.AddEndpoint(Endpoints[3054]); - builder.AddEndpoint(Endpoints[3055]); - builder.AddEndpoint(Endpoints[3056]); - builder.AddEndpoint(Endpoints[3057]); - builder.AddEndpoint(Endpoints[3058]); - builder.AddEndpoint(Endpoints[3059]); - builder.AddEndpoint(Endpoints[3060]); - builder.AddEndpoint(Endpoints[3061]); - builder.AddEndpoint(Endpoints[3062]); - builder.AddEndpoint(Endpoints[3063]); - builder.AddEndpoint(Endpoints[3064]); - builder.AddEndpoint(Endpoints[3065]); - builder.AddEndpoint(Endpoints[3066]); - builder.AddEndpoint(Endpoints[3067]); - builder.AddEndpoint(Endpoints[3068]); - builder.AddEndpoint(Endpoints[3069]); - builder.AddEndpoint(Endpoints[3070]); - builder.AddEndpoint(Endpoints[3071]); - builder.AddEndpoint(Endpoints[3072]); - builder.AddEndpoint(Endpoints[3073]); - builder.AddEndpoint(Endpoints[3074]); - builder.AddEndpoint(Endpoints[3075]); - builder.AddEndpoint(Endpoints[3076]); - builder.AddEndpoint(Endpoints[3077]); - builder.AddEndpoint(Endpoints[3078]); - builder.AddEndpoint(Endpoints[3079]); - builder.AddEndpoint(Endpoints[3080]); - builder.AddEndpoint(Endpoints[3081]); - builder.AddEndpoint(Endpoints[3082]); - builder.AddEndpoint(Endpoints[3083]); - builder.AddEndpoint(Endpoints[3084]); - builder.AddEndpoint(Endpoints[3085]); - builder.AddEndpoint(Endpoints[3086]); - builder.AddEndpoint(Endpoints[3087]); - builder.AddEndpoint(Endpoints[3088]); - builder.AddEndpoint(Endpoints[3089]); - builder.AddEndpoint(Endpoints[3090]); - builder.AddEndpoint(Endpoints[3091]); - builder.AddEndpoint(Endpoints[3092]); - builder.AddEndpoint(Endpoints[3093]); - builder.AddEndpoint(Endpoints[3094]); - builder.AddEndpoint(Endpoints[3095]); - builder.AddEndpoint(Endpoints[3096]); - builder.AddEndpoint(Endpoints[3097]); - builder.AddEndpoint(Endpoints[3098]); - builder.AddEndpoint(Endpoints[3099]); - builder.AddEndpoint(Endpoints[3100]); - builder.AddEndpoint(Endpoints[3101]); - builder.AddEndpoint(Endpoints[3102]); - builder.AddEndpoint(Endpoints[3103]); - builder.AddEndpoint(Endpoints[3104]); - builder.AddEndpoint(Endpoints[3105]); - builder.AddEndpoint(Endpoints[3106]); - builder.AddEndpoint(Endpoints[3107]); - builder.AddEndpoint(Endpoints[3108]); - builder.AddEndpoint(Endpoints[3109]); - builder.AddEndpoint(Endpoints[3110]); - builder.AddEndpoint(Endpoints[3111]); - builder.AddEndpoint(Endpoints[3112]); - builder.AddEndpoint(Endpoints[3113]); - builder.AddEndpoint(Endpoints[3114]); - builder.AddEndpoint(Endpoints[3115]); - builder.AddEndpoint(Endpoints[3116]); - builder.AddEndpoint(Endpoints[3117]); - builder.AddEndpoint(Endpoints[3118]); - builder.AddEndpoint(Endpoints[3119]); - builder.AddEndpoint(Endpoints[3120]); - builder.AddEndpoint(Endpoints[3121]); - builder.AddEndpoint(Endpoints[3122]); - builder.AddEndpoint(Endpoints[3123]); - builder.AddEndpoint(Endpoints[3124]); - builder.AddEndpoint(Endpoints[3125]); - builder.AddEndpoint(Endpoints[3126]); - builder.AddEndpoint(Endpoints[3127]); - builder.AddEndpoint(Endpoints[3128]); - builder.AddEndpoint(Endpoints[3129]); - builder.AddEndpoint(Endpoints[3130]); - builder.AddEndpoint(Endpoints[3131]); - builder.AddEndpoint(Endpoints[3132]); - builder.AddEndpoint(Endpoints[3133]); - builder.AddEndpoint(Endpoints[3134]); - builder.AddEndpoint(Endpoints[3135]); - builder.AddEndpoint(Endpoints[3136]); - builder.AddEndpoint(Endpoints[3137]); - builder.AddEndpoint(Endpoints[3138]); - builder.AddEndpoint(Endpoints[3139]); - builder.AddEndpoint(Endpoints[3140]); - builder.AddEndpoint(Endpoints[3141]); - builder.AddEndpoint(Endpoints[3142]); - builder.AddEndpoint(Endpoints[3143]); - builder.AddEndpoint(Endpoints[3144]); - builder.AddEndpoint(Endpoints[3145]); - builder.AddEndpoint(Endpoints[3146]); - builder.AddEndpoint(Endpoints[3147]); - builder.AddEndpoint(Endpoints[3148]); - builder.AddEndpoint(Endpoints[3149]); - builder.AddEndpoint(Endpoints[3150]); - builder.AddEndpoint(Endpoints[3151]); - builder.AddEndpoint(Endpoints[3152]); - builder.AddEndpoint(Endpoints[3153]); - builder.AddEndpoint(Endpoints[3154]); - builder.AddEndpoint(Endpoints[3155]); - builder.AddEndpoint(Endpoints[3156]); - builder.AddEndpoint(Endpoints[3157]); - builder.AddEndpoint(Endpoints[3158]); - builder.AddEndpoint(Endpoints[3159]); - builder.AddEndpoint(Endpoints[3160]); - builder.AddEndpoint(Endpoints[3161]); - builder.AddEndpoint(Endpoints[3162]); - builder.AddEndpoint(Endpoints[3163]); - builder.AddEndpoint(Endpoints[3164]); - builder.AddEndpoint(Endpoints[3165]); - builder.AddEndpoint(Endpoints[3166]); - builder.AddEndpoint(Endpoints[3167]); - builder.AddEndpoint(Endpoints[3168]); - builder.AddEndpoint(Endpoints[3169]); - builder.AddEndpoint(Endpoints[3170]); - builder.AddEndpoint(Endpoints[3171]); - builder.AddEndpoint(Endpoints[3172]); - builder.AddEndpoint(Endpoints[3173]); - builder.AddEndpoint(Endpoints[3174]); - builder.AddEndpoint(Endpoints[3175]); - builder.AddEndpoint(Endpoints[3176]); - builder.AddEndpoint(Endpoints[3177]); - builder.AddEndpoint(Endpoints[3178]); - builder.AddEndpoint(Endpoints[3179]); - builder.AddEndpoint(Endpoints[3180]); - builder.AddEndpoint(Endpoints[3181]); - builder.AddEndpoint(Endpoints[3182]); - builder.AddEndpoint(Endpoints[3183]); - builder.AddEndpoint(Endpoints[3184]); - builder.AddEndpoint(Endpoints[3185]); - builder.AddEndpoint(Endpoints[3186]); - builder.AddEndpoint(Endpoints[3187]); - builder.AddEndpoint(Endpoints[3188]); - builder.AddEndpoint(Endpoints[3189]); - builder.AddEndpoint(Endpoints[3190]); - builder.AddEndpoint(Endpoints[3191]); - builder.AddEndpoint(Endpoints[3192]); - builder.AddEndpoint(Endpoints[3193]); - builder.AddEndpoint(Endpoints[3194]); - builder.AddEndpoint(Endpoints[3195]); - builder.AddEndpoint(Endpoints[3196]); - builder.AddEndpoint(Endpoints[3197]); - builder.AddEndpoint(Endpoints[3198]); - builder.AddEndpoint(Endpoints[3199]); - builder.AddEndpoint(Endpoints[3200]); - builder.AddEndpoint(Endpoints[3201]); - builder.AddEndpoint(Endpoints[3202]); - builder.AddEndpoint(Endpoints[3203]); - builder.AddEndpoint(Endpoints[3204]); - builder.AddEndpoint(Endpoints[3205]); - builder.AddEndpoint(Endpoints[3206]); - builder.AddEndpoint(Endpoints[3207]); - builder.AddEndpoint(Endpoints[3208]); - builder.AddEndpoint(Endpoints[3209]); - builder.AddEndpoint(Endpoints[3210]); - builder.AddEndpoint(Endpoints[3211]); - builder.AddEndpoint(Endpoints[3212]); - builder.AddEndpoint(Endpoints[3213]); - builder.AddEndpoint(Endpoints[3214]); - builder.AddEndpoint(Endpoints[3215]); - builder.AddEndpoint(Endpoints[3216]); - builder.AddEndpoint(Endpoints[3217]); - builder.AddEndpoint(Endpoints[3218]); - builder.AddEndpoint(Endpoints[3219]); - builder.AddEndpoint(Endpoints[3220]); - builder.AddEndpoint(Endpoints[3221]); - builder.AddEndpoint(Endpoints[3222]); - builder.AddEndpoint(Endpoints[3223]); - builder.AddEndpoint(Endpoints[3224]); - builder.AddEndpoint(Endpoints[3225]); - builder.AddEndpoint(Endpoints[3226]); - builder.AddEndpoint(Endpoints[3227]); - builder.AddEndpoint(Endpoints[3228]); - builder.AddEndpoint(Endpoints[3229]); - builder.AddEndpoint(Endpoints[3230]); - builder.AddEndpoint(Endpoints[3231]); - builder.AddEndpoint(Endpoints[3232]); - builder.AddEndpoint(Endpoints[3233]); - builder.AddEndpoint(Endpoints[3234]); - builder.AddEndpoint(Endpoints[3235]); - builder.AddEndpoint(Endpoints[3236]); - builder.AddEndpoint(Endpoints[3237]); - builder.AddEndpoint(Endpoints[3238]); - builder.AddEndpoint(Endpoints[3239]); - builder.AddEndpoint(Endpoints[3240]); - builder.AddEndpoint(Endpoints[3241]); - builder.AddEndpoint(Endpoints[3242]); - builder.AddEndpoint(Endpoints[3243]); - builder.AddEndpoint(Endpoints[3244]); - builder.AddEndpoint(Endpoints[3245]); - builder.AddEndpoint(Endpoints[3246]); - builder.AddEndpoint(Endpoints[3247]); - builder.AddEndpoint(Endpoints[3248]); - builder.AddEndpoint(Endpoints[3249]); - builder.AddEndpoint(Endpoints[3250]); - builder.AddEndpoint(Endpoints[3251]); - builder.AddEndpoint(Endpoints[3252]); - builder.AddEndpoint(Endpoints[3253]); - builder.AddEndpoint(Endpoints[3254]); - builder.AddEndpoint(Endpoints[3255]); - builder.AddEndpoint(Endpoints[3256]); - builder.AddEndpoint(Endpoints[3257]); - builder.AddEndpoint(Endpoints[3258]); - builder.AddEndpoint(Endpoints[3259]); - builder.AddEndpoint(Endpoints[3260]); - builder.AddEndpoint(Endpoints[3261]); - builder.AddEndpoint(Endpoints[3262]); - builder.AddEndpoint(Endpoints[3263]); - builder.AddEndpoint(Endpoints[3264]); - builder.AddEndpoint(Endpoints[3265]); - builder.AddEndpoint(Endpoints[3266]); - builder.AddEndpoint(Endpoints[3267]); - builder.AddEndpoint(Endpoints[3268]); - builder.AddEndpoint(Endpoints[3269]); - builder.AddEndpoint(Endpoints[3270]); - builder.AddEndpoint(Endpoints[3271]); - builder.AddEndpoint(Endpoints[3272]); - builder.AddEndpoint(Endpoints[3273]); - builder.AddEndpoint(Endpoints[3274]); - builder.AddEndpoint(Endpoints[3275]); - builder.AddEndpoint(Endpoints[3276]); - builder.AddEndpoint(Endpoints[3277]); - builder.AddEndpoint(Endpoints[3278]); - builder.AddEndpoint(Endpoints[3279]); - builder.AddEndpoint(Endpoints[3280]); - builder.AddEndpoint(Endpoints[3281]); - builder.AddEndpoint(Endpoints[3282]); - builder.AddEndpoint(Endpoints[3283]); - builder.AddEndpoint(Endpoints[3284]); - builder.AddEndpoint(Endpoints[3285]); - builder.AddEndpoint(Endpoints[3286]); - builder.AddEndpoint(Endpoints[3287]); - builder.AddEndpoint(Endpoints[3288]); - builder.AddEndpoint(Endpoints[3289]); - builder.AddEndpoint(Endpoints[3290]); - builder.AddEndpoint(Endpoints[3291]); - builder.AddEndpoint(Endpoints[3292]); - builder.AddEndpoint(Endpoints[3293]); - builder.AddEndpoint(Endpoints[3294]); - builder.AddEndpoint(Endpoints[3295]); - builder.AddEndpoint(Endpoints[3296]); - builder.AddEndpoint(Endpoints[3297]); - builder.AddEndpoint(Endpoints[3298]); - builder.AddEndpoint(Endpoints[3299]); - builder.AddEndpoint(Endpoints[3300]); - builder.AddEndpoint(Endpoints[3301]); - builder.AddEndpoint(Endpoints[3302]); - builder.AddEndpoint(Endpoints[3303]); - builder.AddEndpoint(Endpoints[3304]); - builder.AddEndpoint(Endpoints[3305]); - builder.AddEndpoint(Endpoints[3306]); - builder.AddEndpoint(Endpoints[3307]); - builder.AddEndpoint(Endpoints[3308]); - builder.AddEndpoint(Endpoints[3309]); - builder.AddEndpoint(Endpoints[3310]); - builder.AddEndpoint(Endpoints[3311]); - builder.AddEndpoint(Endpoints[3312]); - builder.AddEndpoint(Endpoints[3313]); - builder.AddEndpoint(Endpoints[3314]); - builder.AddEndpoint(Endpoints[3315]); - builder.AddEndpoint(Endpoints[3316]); - builder.AddEndpoint(Endpoints[3317]); - builder.AddEndpoint(Endpoints[3318]); - builder.AddEndpoint(Endpoints[3319]); - builder.AddEndpoint(Endpoints[3320]); - builder.AddEndpoint(Endpoints[3321]); - builder.AddEndpoint(Endpoints[3322]); - builder.AddEndpoint(Endpoints[3323]); - builder.AddEndpoint(Endpoints[3324]); - builder.AddEndpoint(Endpoints[3325]); - builder.AddEndpoint(Endpoints[3326]); - builder.AddEndpoint(Endpoints[3327]); - builder.AddEndpoint(Endpoints[3328]); - builder.AddEndpoint(Endpoints[3329]); - builder.AddEndpoint(Endpoints[3330]); - builder.AddEndpoint(Endpoints[3331]); - builder.AddEndpoint(Endpoints[3332]); - builder.AddEndpoint(Endpoints[3333]); - builder.AddEndpoint(Endpoints[3334]); - builder.AddEndpoint(Endpoints[3335]); - builder.AddEndpoint(Endpoints[3336]); - builder.AddEndpoint(Endpoints[3337]); - builder.AddEndpoint(Endpoints[3338]); - builder.AddEndpoint(Endpoints[3339]); - builder.AddEndpoint(Endpoints[3340]); - builder.AddEndpoint(Endpoints[3341]); - builder.AddEndpoint(Endpoints[3342]); - builder.AddEndpoint(Endpoints[3343]); - builder.AddEndpoint(Endpoints[3344]); - builder.AddEndpoint(Endpoints[3345]); - builder.AddEndpoint(Endpoints[3346]); - builder.AddEndpoint(Endpoints[3347]); - builder.AddEndpoint(Endpoints[3348]); - builder.AddEndpoint(Endpoints[3349]); - builder.AddEndpoint(Endpoints[3350]); - builder.AddEndpoint(Endpoints[3351]); - builder.AddEndpoint(Endpoints[3352]); - builder.AddEndpoint(Endpoints[3353]); - builder.AddEndpoint(Endpoints[3354]); - builder.AddEndpoint(Endpoints[3355]); - builder.AddEndpoint(Endpoints[3356]); - builder.AddEndpoint(Endpoints[3357]); - builder.AddEndpoint(Endpoints[3358]); - builder.AddEndpoint(Endpoints[3359]); - builder.AddEndpoint(Endpoints[3360]); - builder.AddEndpoint(Endpoints[3361]); - builder.AddEndpoint(Endpoints[3362]); - builder.AddEndpoint(Endpoints[3363]); - builder.AddEndpoint(Endpoints[3364]); - builder.AddEndpoint(Endpoints[3365]); - builder.AddEndpoint(Endpoints[3366]); - builder.AddEndpoint(Endpoints[3367]); - builder.AddEndpoint(Endpoints[3368]); - builder.AddEndpoint(Endpoints[3369]); - builder.AddEndpoint(Endpoints[3370]); - builder.AddEndpoint(Endpoints[3371]); - builder.AddEndpoint(Endpoints[3372]); - builder.AddEndpoint(Endpoints[3373]); - builder.AddEndpoint(Endpoints[3374]); - builder.AddEndpoint(Endpoints[3375]); - builder.AddEndpoint(Endpoints[3376]); - builder.AddEndpoint(Endpoints[3377]); - builder.AddEndpoint(Endpoints[3378]); - builder.AddEndpoint(Endpoints[3379]); - builder.AddEndpoint(Endpoints[3380]); - builder.AddEndpoint(Endpoints[3381]); - builder.AddEndpoint(Endpoints[3382]); - builder.AddEndpoint(Endpoints[3383]); - builder.AddEndpoint(Endpoints[3384]); - builder.AddEndpoint(Endpoints[3385]); - builder.AddEndpoint(Endpoints[3386]); - builder.AddEndpoint(Endpoints[3387]); - builder.AddEndpoint(Endpoints[3388]); - builder.AddEndpoint(Endpoints[3389]); - builder.AddEndpoint(Endpoints[3390]); - builder.AddEndpoint(Endpoints[3391]); - builder.AddEndpoint(Endpoints[3392]); - builder.AddEndpoint(Endpoints[3393]); - builder.AddEndpoint(Endpoints[3394]); - builder.AddEndpoint(Endpoints[3395]); - builder.AddEndpoint(Endpoints[3396]); - builder.AddEndpoint(Endpoints[3397]); - builder.AddEndpoint(Endpoints[3398]); - builder.AddEndpoint(Endpoints[3399]); - builder.AddEndpoint(Endpoints[3400]); - builder.AddEndpoint(Endpoints[3401]); - builder.AddEndpoint(Endpoints[3402]); - builder.AddEndpoint(Endpoints[3403]); - builder.AddEndpoint(Endpoints[3404]); - builder.AddEndpoint(Endpoints[3405]); - builder.AddEndpoint(Endpoints[3406]); - builder.AddEndpoint(Endpoints[3407]); - builder.AddEndpoint(Endpoints[3408]); - builder.AddEndpoint(Endpoints[3409]); - builder.AddEndpoint(Endpoints[3410]); - builder.AddEndpoint(Endpoints[3411]); - builder.AddEndpoint(Endpoints[3412]); - builder.AddEndpoint(Endpoints[3413]); - builder.AddEndpoint(Endpoints[3414]); - builder.AddEndpoint(Endpoints[3415]); - builder.AddEndpoint(Endpoints[3416]); - builder.AddEndpoint(Endpoints[3417]); - builder.AddEndpoint(Endpoints[3418]); - builder.AddEndpoint(Endpoints[3419]); - builder.AddEndpoint(Endpoints[3420]); - builder.AddEndpoint(Endpoints[3421]); - builder.AddEndpoint(Endpoints[3422]); - builder.AddEndpoint(Endpoints[3423]); - builder.AddEndpoint(Endpoints[3424]); - builder.AddEndpoint(Endpoints[3425]); - builder.AddEndpoint(Endpoints[3426]); - builder.AddEndpoint(Endpoints[3427]); - builder.AddEndpoint(Endpoints[3428]); - builder.AddEndpoint(Endpoints[3429]); - builder.AddEndpoint(Endpoints[3430]); - builder.AddEndpoint(Endpoints[3431]); - builder.AddEndpoint(Endpoints[3432]); - builder.AddEndpoint(Endpoints[3433]); - builder.AddEndpoint(Endpoints[3434]); - builder.AddEndpoint(Endpoints[3435]); - builder.AddEndpoint(Endpoints[3436]); - builder.AddEndpoint(Endpoints[3437]); - builder.AddEndpoint(Endpoints[3438]); - builder.AddEndpoint(Endpoints[3439]); - builder.AddEndpoint(Endpoints[3440]); - builder.AddEndpoint(Endpoints[3441]); - builder.AddEndpoint(Endpoints[3442]); - builder.AddEndpoint(Endpoints[3443]); - builder.AddEndpoint(Endpoints[3444]); - builder.AddEndpoint(Endpoints[3445]); - builder.AddEndpoint(Endpoints[3446]); - builder.AddEndpoint(Endpoints[3447]); - builder.AddEndpoint(Endpoints[3448]); - builder.AddEndpoint(Endpoints[3449]); - builder.AddEndpoint(Endpoints[3450]); - builder.AddEndpoint(Endpoints[3451]); - builder.AddEndpoint(Endpoints[3452]); - builder.AddEndpoint(Endpoints[3453]); - builder.AddEndpoint(Endpoints[3454]); - builder.AddEndpoint(Endpoints[3455]); - builder.AddEndpoint(Endpoints[3456]); - builder.AddEndpoint(Endpoints[3457]); - builder.AddEndpoint(Endpoints[3458]); - builder.AddEndpoint(Endpoints[3459]); - builder.AddEndpoint(Endpoints[3460]); - builder.AddEndpoint(Endpoints[3461]); - builder.AddEndpoint(Endpoints[3462]); - builder.AddEndpoint(Endpoints[3463]); - builder.AddEndpoint(Endpoints[3464]); - builder.AddEndpoint(Endpoints[3465]); - builder.AddEndpoint(Endpoints[3466]); - builder.AddEndpoint(Endpoints[3467]); - builder.AddEndpoint(Endpoints[3468]); - builder.AddEndpoint(Endpoints[3469]); - builder.AddEndpoint(Endpoints[3470]); - builder.AddEndpoint(Endpoints[3471]); - builder.AddEndpoint(Endpoints[3472]); - builder.AddEndpoint(Endpoints[3473]); - builder.AddEndpoint(Endpoints[3474]); - builder.AddEndpoint(Endpoints[3475]); - builder.AddEndpoint(Endpoints[3476]); - builder.AddEndpoint(Endpoints[3477]); - builder.AddEndpoint(Endpoints[3478]); - builder.AddEndpoint(Endpoints[3479]); - builder.AddEndpoint(Endpoints[3480]); - builder.AddEndpoint(Endpoints[3481]); - builder.AddEndpoint(Endpoints[3482]); - builder.AddEndpoint(Endpoints[3483]); - builder.AddEndpoint(Endpoints[3484]); - builder.AddEndpoint(Endpoints[3485]); - builder.AddEndpoint(Endpoints[3486]); - builder.AddEndpoint(Endpoints[3487]); - builder.AddEndpoint(Endpoints[3488]); - builder.AddEndpoint(Endpoints[3489]); - builder.AddEndpoint(Endpoints[3490]); - builder.AddEndpoint(Endpoints[3491]); - builder.AddEndpoint(Endpoints[3492]); - builder.AddEndpoint(Endpoints[3493]); - builder.AddEndpoint(Endpoints[3494]); - builder.AddEndpoint(Endpoints[3495]); - builder.AddEndpoint(Endpoints[3496]); - builder.AddEndpoint(Endpoints[3497]); - builder.AddEndpoint(Endpoints[3498]); - builder.AddEndpoint(Endpoints[3499]); - builder.AddEndpoint(Endpoints[3500]); - builder.AddEndpoint(Endpoints[3501]); - builder.AddEndpoint(Endpoints[3502]); - builder.AddEndpoint(Endpoints[3503]); - builder.AddEndpoint(Endpoints[3504]); - builder.AddEndpoint(Endpoints[3505]); - builder.AddEndpoint(Endpoints[3506]); - builder.AddEndpoint(Endpoints[3507]); - builder.AddEndpoint(Endpoints[3508]); - builder.AddEndpoint(Endpoints[3509]); - builder.AddEndpoint(Endpoints[3510]); - builder.AddEndpoint(Endpoints[3511]); - builder.AddEndpoint(Endpoints[3512]); - builder.AddEndpoint(Endpoints[3513]); - builder.AddEndpoint(Endpoints[3514]); - builder.AddEndpoint(Endpoints[3515]); - builder.AddEndpoint(Endpoints[3516]); - return builder.Build(); - } - } -} \ No newline at end of file diff --git a/benchmarks/Microsoft.AspNetCore.Routing.Performance/Matching/MatcherFindCandidateSetGithubBenchmark.cs b/benchmarks/Microsoft.AspNetCore.Routing.Performance/Matching/MatcherFindCandidateSetGithubBenchmark.cs deleted file mode 100644 index acbfdd0cf6..0000000000 --- a/benchmarks/Microsoft.AspNetCore.Routing.Performance/Matching/MatcherFindCandidateSetGithubBenchmark.cs +++ /dev/null @@ -1,67 +0,0 @@ -// Copyright (c) .NET Foundation. All rights reserved. -// Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information. - -using System; -using System.Threading.Tasks; -using BenchmarkDotNet.Attributes; - -namespace Microsoft.AspNetCore.Routing.Matching -{ - // Generated from https://github.com/APIs-guru/openapi-directory - // Use https://editor2.swagger.io/ to convert from yaml to json- - public partial class MatcherFindCandidateSetGithubBenchmark : EndpointRoutingBenchmarkBase - { - // SegmentCount should be max-segments + 1, but we don't have a good way to compute - // it here, so using 32 as a safe guess. - private const int SegmentCount = 32; - - private BarebonesMatcher _baseline; - private DfaMatcher _dfa; - - [GlobalSetup] - public void Setup() - { - SetupEndpoints(); - - SetupRequests(); - - _baseline = (BarebonesMatcher)SetupMatcher(new BarebonesMatcherBuilder()); - _dfa = (DfaMatcher)SetupMatcher(CreateDfaMatcherBuilder()); - } - - [Benchmark(Baseline = true, OperationsPerInvoke = EndpointCount)] - public void Baseline() - { - for (var i = 0; i < EndpointCount; i++) - { - var httpContext = Requests[i]; - - var path = httpContext.Request.Path.Value; - var segments = new ReadOnlySpan(Array.Empty()); - - var candidates = _baseline.Matchers[i].FindCandidateSet(path, segments); - - var endpoint = candidates[0].Endpoint; - Validate(httpContext, Endpoints[i], endpoint); - } - } - - [Benchmark( OperationsPerInvoke = EndpointCount)] - public void Dfa() - { - for (var i = 0; i < EndpointCount; i++) - { - var httpContext = Requests[i]; - - var path = httpContext.Request.Path.Value; - Span segments = stackalloc PathSegment[SegmentCount]; - var count = FastPathTokenizer.Tokenize(path, segments); - - var candidates = _dfa.FindCandidateSet(httpContext, path, segments.Slice(0, count)); - - var endpoint = candidates[0].Endpoint; - Validate(httpContext, Endpoints[i], endpoint); - } - } - } -} \ No newline at end of file diff --git a/benchmarks/Microsoft.AspNetCore.Routing.Performance/Matching/MatcherFindCandidateSetGithubBenchmark.generated.cs b/benchmarks/Microsoft.AspNetCore.Routing.Performance/Matching/MatcherFindCandidateSetGithubBenchmark.generated.cs deleted file mode 100644 index 01fca2ee00..0000000000 --- a/benchmarks/Microsoft.AspNetCore.Routing.Performance/Matching/MatcherFindCandidateSetGithubBenchmark.generated.cs +++ /dev/null @@ -1,959 +0,0 @@ - -// Copyright (c) .NET Foundation. All rights reserved. -// Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information. - -using Microsoft.AspNetCore.Http; - -namespace Microsoft.AspNetCore.Routing.Matching -{ - // This code was generated by the Swaggatherer - public partial class MatcherFindCandidateSetGithubBenchmark : EndpointRoutingBenchmarkBase - { - private const int EndpointCount = 155; - - private void SetupEndpoints() - { - Endpoints = new RouteEndpoint[155]; - Endpoints[0] = CreateEndpoint("/emojis"); - Endpoints[1] = CreateEndpoint("/events"); - Endpoints[2] = CreateEndpoint("/feeds"); - Endpoints[3] = CreateEndpoint("/gists"); - Endpoints[4] = CreateEndpoint("/issues"); - Endpoints[5] = CreateEndpoint("/markdown"); - Endpoints[6] = CreateEndpoint("/meta"); - Endpoints[7] = CreateEndpoint("/notifications"); - Endpoints[8] = CreateEndpoint("/rate_limit"); - Endpoints[9] = CreateEndpoint("/repositories"); - Endpoints[10] = CreateEndpoint("/user"); - Endpoints[11] = CreateEndpoint("/users"); - Endpoints[12] = CreateEndpoint("/gists/public"); - Endpoints[13] = CreateEndpoint("/gists/starred"); - Endpoints[14] = CreateEndpoint("/gitignore/templates"); - Endpoints[15] = CreateEndpoint("/markdown/raw"); - Endpoints[16] = CreateEndpoint("/search/code"); - Endpoints[17] = CreateEndpoint("/search/issues"); - Endpoints[18] = CreateEndpoint("/search/repositories"); - Endpoints[19] = CreateEndpoint("/search/users"); - Endpoints[20] = CreateEndpoint("/user/emails"); - Endpoints[21] = CreateEndpoint("/user/followers"); - Endpoints[22] = CreateEndpoint("/user/following"); - Endpoints[23] = CreateEndpoint("/user/issues"); - Endpoints[24] = CreateEndpoint("/user/keys"); - Endpoints[25] = CreateEndpoint("/user/orgs"); - Endpoints[26] = CreateEndpoint("/user/repos"); - Endpoints[27] = CreateEndpoint("/user/starred"); - Endpoints[28] = CreateEndpoint("/user/subscriptions"); - Endpoints[29] = CreateEndpoint("/user/teams"); - Endpoints[30] = CreateEndpoint("/legacy/repos/search/{keyword}"); - Endpoints[31] = CreateEndpoint("/legacy/user/email/{email}"); - Endpoints[32] = CreateEndpoint("/legacy/user/search/{keyword}"); - Endpoints[33] = CreateEndpoint("/legacy/issues/search/{owner}/{repository}/{state}/{keyword}"); - Endpoints[34] = CreateEndpoint("/gitignore/templates/{language}"); - Endpoints[35] = CreateEndpoint("/notifications/threads/{id}"); - Endpoints[36] = CreateEndpoint("/user/following/{username}"); - Endpoints[37] = CreateEndpoint("/user/keys/{keyId}"); - Endpoints[38] = CreateEndpoint("/notifications/threads/{id}/subscription"); - Endpoints[39] = CreateEndpoint("/user/starred/{owner}/{repo}"); - Endpoints[40] = CreateEndpoint("/user/subscriptions/{owner}/{repo}"); - Endpoints[41] = CreateEndpoint("/gists/{id}"); - Endpoints[42] = CreateEndpoint("/orgs/{org}"); - Endpoints[43] = CreateEndpoint("/teams/{teamId}"); - Endpoints[44] = CreateEndpoint("/users/{username}"); - Endpoints[45] = CreateEndpoint("/gists/{id}/comments"); - Endpoints[46] = CreateEndpoint("/gists/{id}/forks"); - Endpoints[47] = CreateEndpoint("/gists/{id}/star"); - Endpoints[48] = CreateEndpoint("/orgs/{org}/events"); - Endpoints[49] = CreateEndpoint("/orgs/{org}/issues"); - Endpoints[50] = CreateEndpoint("/orgs/{org}/members"); - Endpoints[51] = CreateEndpoint("/orgs/{org}/public_members"); - Endpoints[52] = CreateEndpoint("/orgs/{org}/repos"); - Endpoints[53] = CreateEndpoint("/orgs/{org}/teams"); - Endpoints[54] = CreateEndpoint("/teams/{teamId}/members"); - Endpoints[55] = CreateEndpoint("/teams/{teamId}/repos"); - Endpoints[56] = CreateEndpoint("/users/{username}/events"); - Endpoints[57] = CreateEndpoint("/users/{username}/followers"); - Endpoints[58] = CreateEndpoint("/users/{username}/gists"); - Endpoints[59] = CreateEndpoint("/users/{username}/keys"); - Endpoints[60] = CreateEndpoint("/users/{username}/orgs"); - Endpoints[61] = CreateEndpoint("/users/{username}/received_events"); - Endpoints[62] = CreateEndpoint("/users/{username}/repos"); - Endpoints[63] = CreateEndpoint("/users/{username}/starred"); - Endpoints[64] = CreateEndpoint("/users/{username}/subscriptions"); - Endpoints[65] = CreateEndpoint("/users/{username}/received_events/public"); - Endpoints[66] = CreateEndpoint("/users/{username}/events/orgs/{org}"); - Endpoints[67] = CreateEndpoint("/gists/{id}/comments/{commentId}"); - Endpoints[68] = CreateEndpoint("/orgs/{org}/members/{username}"); - Endpoints[69] = CreateEndpoint("/orgs/{org}/public_members/{username}"); - Endpoints[70] = CreateEndpoint("/teams/{teamId}/members/{username}"); - Endpoints[71] = CreateEndpoint("/teams/{teamId}/memberships/{username}"); - Endpoints[72] = CreateEndpoint("/users/{username}/following/{targetUser}"); - Endpoints[73] = CreateEndpoint("/teams/{teamId}/repos/{owner}/{repo}"); - Endpoints[74] = CreateEndpoint("/repos/{owner}/{repo}"); - Endpoints[75] = CreateEndpoint("/networks/{owner}/{repo}/events"); - Endpoints[76] = CreateEndpoint("/repos/{owner}/{repo}/assignees"); - Endpoints[77] = CreateEndpoint("/repos/{owner}/{repo}/branches"); - Endpoints[78] = CreateEndpoint("/repos/{owner}/{repo}/collaborators"); - Endpoints[79] = CreateEndpoint("/repos/{owner}/{repo}/comments"); - Endpoints[80] = CreateEndpoint("/repos/{owner}/{repo}/commits"); - Endpoints[81] = CreateEndpoint("/repos/{owner}/{repo}/contributors"); - Endpoints[82] = CreateEndpoint("/repos/{owner}/{repo}/deployments"); - Endpoints[83] = CreateEndpoint("/repos/{owner}/{repo}/downloads"); - Endpoints[84] = CreateEndpoint("/repos/{owner}/{repo}/events"); - Endpoints[85] = CreateEndpoint("/repos/{owner}/{repo}/forks"); - Endpoints[86] = CreateEndpoint("/repos/{owner}/{repo}/hooks"); - Endpoints[87] = CreateEndpoint("/repos/{owner}/{repo}/issues"); - Endpoints[88] = CreateEndpoint("/repos/{owner}/{repo}/keys"); - Endpoints[89] = CreateEndpoint("/repos/{owner}/{repo}/labels"); - Endpoints[90] = CreateEndpoint("/repos/{owner}/{repo}/languages"); - Endpoints[91] = CreateEndpoint("/repos/{owner}/{repo}/merges"); - Endpoints[92] = CreateEndpoint("/repos/{owner}/{repo}/milestones"); - Endpoints[93] = CreateEndpoint("/repos/{owner}/{repo}/notifications"); - Endpoints[94] = CreateEndpoint("/repos/{owner}/{repo}/pulls"); - Endpoints[95] = CreateEndpoint("/repos/{owner}/{repo}/readme"); - Endpoints[96] = CreateEndpoint("/repos/{owner}/{repo}/releases"); - Endpoints[97] = CreateEndpoint("/repos/{owner}/{repo}/stargazers"); - Endpoints[98] = CreateEndpoint("/repos/{owner}/{repo}/subscribers"); - Endpoints[99] = CreateEndpoint("/repos/{owner}/{repo}/subscription"); - Endpoints[100] = CreateEndpoint("/repos/{owner}/{repo}/tags"); - Endpoints[101] = CreateEndpoint("/repos/{owner}/{repo}/teams"); - Endpoints[102] = CreateEndpoint("/repos/{owner}/{repo}/watchers"); - Endpoints[103] = CreateEndpoint("/repos/{owner}/{repo}/git/blobs"); - Endpoints[104] = CreateEndpoint("/repos/{owner}/{repo}/git/commits"); - Endpoints[105] = CreateEndpoint("/repos/{owner}/{repo}/git/refs"); - Endpoints[106] = CreateEndpoint("/repos/{owner}/{repo}/git/tags"); - Endpoints[107] = CreateEndpoint("/repos/{owner}/{repo}/git/trees"); - Endpoints[108] = CreateEndpoint("/repos/{owner}/{repo}/issues/comments"); - Endpoints[109] = CreateEndpoint("/repos/{owner}/{repo}/issues/events"); - Endpoints[110] = CreateEndpoint("/repos/{owner}/{repo}/pulls/comments"); - Endpoints[111] = CreateEndpoint("/repos/{owner}/{repo}/stats/code_frequency"); - Endpoints[112] = CreateEndpoint("/repos/{owner}/{repo}/stats/commit_activity"); - Endpoints[113] = CreateEndpoint("/repos/{owner}/{repo}/stats/contributors"); - Endpoints[114] = CreateEndpoint("/repos/{owner}/{repo}/stats/participation"); - Endpoints[115] = CreateEndpoint("/repos/{owner}/{repo}/stats/punch_card"); - Endpoints[116] = CreateEndpoint("/repos/{owner}/{repo}/git/blobs/{shaCode}"); - Endpoints[117] = CreateEndpoint("/repos/{owner}/{repo}/git/commits/{shaCode}"); - Endpoints[118] = CreateEndpoint("/repos/{owner}/{repo}/git/refs/{ref}"); - Endpoints[119] = CreateEndpoint("/repos/{owner}/{repo}/git/tags/{shaCode}"); - Endpoints[120] = CreateEndpoint("/repos/{owner}/{repo}/git/trees/{shaCode}"); - Endpoints[121] = CreateEndpoint("/repos/{owner}/{repo}/issues/comments/{commentId}"); - Endpoints[122] = CreateEndpoint("/repos/{owner}/{repo}/issues/events/{eventId}"); - Endpoints[123] = CreateEndpoint("/repos/{owner}/{repo}/pulls/comments/{commentId}"); - Endpoints[124] = CreateEndpoint("/repos/{owner}/{repo}/releases/assets/{id}"); - Endpoints[125] = CreateEndpoint("/repos/{owner}/{repo}/assignees/{assignee}"); - Endpoints[126] = CreateEndpoint("/repos/{owner}/{repo}/branches/{branch}"); - Endpoints[127] = CreateEndpoint("/repos/{owner}/{repo}/collaborators/{user}"); - Endpoints[128] = CreateEndpoint("/repos/{owner}/{repo}/comments/{commentId}"); - Endpoints[129] = CreateEndpoint("/repos/{owner}/{repo}/commits/{shaCode}"); - Endpoints[130] = CreateEndpoint("/repos/{owner}/{repo}/contents/{path}"); - Endpoints[131] = CreateEndpoint("/repos/{owner}/{repo}/downloads/{downloadId}"); - Endpoints[132] = CreateEndpoint("/repos/{owner}/{repo}/hooks/{hookId}"); - Endpoints[133] = CreateEndpoint("/repos/{owner}/{repo}/issues/{number}"); - Endpoints[134] = CreateEndpoint("/repos/{owner}/{repo}/keys/{keyId}"); - Endpoints[135] = CreateEndpoint("/repos/{owner}/{repo}/labels/{name}"); - Endpoints[136] = CreateEndpoint("/repos/{owner}/{repo}/milestones/{number}"); - Endpoints[137] = CreateEndpoint("/repos/{owner}/{repo}/pulls/{number}"); - Endpoints[138] = CreateEndpoint("/repos/{owner}/{repo}/releases/{id}"); - Endpoints[139] = CreateEndpoint("/repos/{owner}/{repo}/statuses/{ref}"); - Endpoints[140] = CreateEndpoint("/repos/{owner}/{repo}/commits/{ref}/status"); - Endpoints[141] = CreateEndpoint("/repos/{owner}/{repo}/commits/{shaCode}/comments"); - Endpoints[142] = CreateEndpoint("/repos/{owner}/{repo}/deployments/{id}/statuses"); - Endpoints[143] = CreateEndpoint("/repos/{owner}/{repo}/hooks/{hookId}/tests"); - Endpoints[144] = CreateEndpoint("/repos/{owner}/{repo}/issues/{number}/comments"); - Endpoints[145] = CreateEndpoint("/repos/{owner}/{repo}/issues/{number}/events"); - Endpoints[146] = CreateEndpoint("/repos/{owner}/{repo}/issues/{number}/labels"); - Endpoints[147] = CreateEndpoint("/repos/{owner}/{repo}/milestones/{number}/labels"); - Endpoints[148] = CreateEndpoint("/repos/{owner}/{repo}/pulls/{number}/comments"); - Endpoints[149] = CreateEndpoint("/repos/{owner}/{repo}/pulls/{number}/commits"); - Endpoints[150] = CreateEndpoint("/repos/{owner}/{repo}/pulls/{number}/files"); - Endpoints[151] = CreateEndpoint("/repos/{owner}/{repo}/pulls/{number}/merge"); - Endpoints[152] = CreateEndpoint("/repos/{owner}/{repo}/releases/{id}/assets"); - Endpoints[153] = CreateEndpoint("/repos/{owner}/{repo}/issues/{number}/labels/{name}"); - Endpoints[154] = CreateEndpoint("/repos/{owner}/{repo}/{archive_format}/{path}"); - } - - private void SetupRequests() - { - Requests = new HttpContext[155]; - Requests[0] = new DefaultHttpContext(); - Requests[0].RequestServices = CreateServices(); - Requests[0].Request.Method = "GET"; - Requests[0].Request.Path = "/emojis"; - Requests[1] = new DefaultHttpContext(); - Requests[1].RequestServices = CreateServices(); - Requests[1].Request.Method = "GET"; - Requests[1].Request.Path = "/events"; - Requests[2] = new DefaultHttpContext(); - Requests[2].RequestServices = CreateServices(); - Requests[2].Request.Method = "GET"; - Requests[2].Request.Path = "/feeds"; - Requests[3] = new DefaultHttpContext(); - Requests[3].RequestServices = CreateServices(); - Requests[3].Request.Method = "POST"; - Requests[3].Request.Path = "/gists"; - Requests[4] = new DefaultHttpContext(); - Requests[4].RequestServices = CreateServices(); - Requests[4].Request.Method = "GET"; - Requests[4].Request.Path = "/issues"; - Requests[5] = new DefaultHttpContext(); - Requests[5].RequestServices = CreateServices(); - Requests[5].Request.Method = "POST"; - Requests[5].Request.Path = "/markdown"; - Requests[6] = new DefaultHttpContext(); - Requests[6].RequestServices = CreateServices(); - Requests[6].Request.Method = "GET"; - Requests[6].Request.Path = "/meta"; - Requests[7] = new DefaultHttpContext(); - Requests[7].RequestServices = CreateServices(); - Requests[7].Request.Method = "PUT"; - Requests[7].Request.Path = "/notifications"; - Requests[8] = new DefaultHttpContext(); - Requests[8].RequestServices = CreateServices(); - Requests[8].Request.Method = "GET"; - Requests[8].Request.Path = "/rate_limit"; - Requests[9] = new DefaultHttpContext(); - Requests[9].RequestServices = CreateServices(); - Requests[9].Request.Method = "GET"; - Requests[9].Request.Path = "/repositories"; - Requests[10] = new DefaultHttpContext(); - Requests[10].RequestServices = CreateServices(); - Requests[10].Request.Method = "PATCH"; - Requests[10].Request.Path = "/user"; - Requests[11] = new DefaultHttpContext(); - Requests[11].RequestServices = CreateServices(); - Requests[11].Request.Method = "GET"; - Requests[11].Request.Path = "/users"; - Requests[12] = new DefaultHttpContext(); - Requests[12].RequestServices = CreateServices(); - Requests[12].Request.Method = "GET"; - Requests[12].Request.Path = "/gists/public"; - Requests[13] = new DefaultHttpContext(); - Requests[13].RequestServices = CreateServices(); - Requests[13].Request.Method = "GET"; - Requests[13].Request.Path = "/gists/starred"; - Requests[14] = new DefaultHttpContext(); - Requests[14].RequestServices = CreateServices(); - Requests[14].Request.Method = "GET"; - Requests[14].Request.Path = "/gitignore/templates"; - Requests[15] = new DefaultHttpContext(); - Requests[15].RequestServices = CreateServices(); - Requests[15].Request.Method = "POST"; - Requests[15].Request.Path = "/markdown/raw"; - Requests[16] = new DefaultHttpContext(); - Requests[16].RequestServices = CreateServices(); - Requests[16].Request.Method = "GET"; - Requests[16].Request.Path = "/search/code"; - Requests[17] = new DefaultHttpContext(); - Requests[17].RequestServices = CreateServices(); - Requests[17].Request.Method = "GET"; - Requests[17].Request.Path = "/search/issues"; - Requests[18] = new DefaultHttpContext(); - Requests[18].RequestServices = CreateServices(); - Requests[18].Request.Method = "GET"; - Requests[18].Request.Path = "/search/repositories"; - Requests[19] = new DefaultHttpContext(); - Requests[19].RequestServices = CreateServices(); - Requests[19].Request.Method = "GET"; - Requests[19].Request.Path = "/search/users"; - Requests[20] = new DefaultHttpContext(); - Requests[20].RequestServices = CreateServices(); - Requests[20].Request.Method = "POST"; - Requests[20].Request.Path = "/user/emails"; - Requests[21] = new DefaultHttpContext(); - Requests[21].RequestServices = CreateServices(); - Requests[21].Request.Method = "GET"; - Requests[21].Request.Path = "/user/followers"; - Requests[22] = new DefaultHttpContext(); - Requests[22].RequestServices = CreateServices(); - Requests[22].Request.Method = "GET"; - Requests[22].Request.Path = "/user/following"; - Requests[23] = new DefaultHttpContext(); - Requests[23].RequestServices = CreateServices(); - Requests[23].Request.Method = "GET"; - Requests[23].Request.Path = "/user/issues"; - Requests[24] = new DefaultHttpContext(); - Requests[24].RequestServices = CreateServices(); - Requests[24].Request.Method = "POST"; - Requests[24].Request.Path = "/user/keys"; - Requests[25] = new DefaultHttpContext(); - Requests[25].RequestServices = CreateServices(); - Requests[25].Request.Method = "GET"; - Requests[25].Request.Path = "/user/orgs"; - Requests[26] = new DefaultHttpContext(); - Requests[26].RequestServices = CreateServices(); - Requests[26].Request.Method = "POST"; - Requests[26].Request.Path = "/user/repos"; - Requests[27] = new DefaultHttpContext(); - Requests[27].RequestServices = CreateServices(); - Requests[27].Request.Method = "GET"; - Requests[27].Request.Path = "/user/starred"; - Requests[28] = new DefaultHttpContext(); - Requests[28].RequestServices = CreateServices(); - Requests[28].Request.Method = "GET"; - Requests[28].Request.Path = "/user/subscriptions"; - Requests[29] = new DefaultHttpContext(); - Requests[29].RequestServices = CreateServices(); - Requests[29].Request.Method = "GET"; - Requests[29].Request.Path = "/user/teams"; - Requests[30] = new DefaultHttpContext(); - Requests[30].RequestServices = CreateServices(); - Requests[30].Request.Method = "GET"; - Requests[30].Request.Path = "/legacy/repos/search/98f2805"; - Requests[31] = new DefaultHttpContext(); - Requests[31].RequestServices = CreateServices(); - Requests[31].Request.Method = "GET"; - Requests[31].Request.Path = "/legacy/user/email/d65b3"; - Requests[32] = new DefaultHttpContext(); - Requests[32].RequestServices = CreateServices(); - Requests[32].Request.Method = "GET"; - Requests[32].Request.Path = "/legacy/user/search/edc2298"; - Requests[33] = new DefaultHttpContext(); - Requests[33].RequestServices = CreateServices(); - Requests[33].Request.Method = "GET"; - Requests[33].Request.Path = "/legacy/issues/search/7f959/b12ea0da-b/49a3b/b371d06"; - Requests[34] = new DefaultHttpContext(); - Requests[34].RequestServices = CreateServices(); - Requests[34].Request.Method = "GET"; - Requests[34].Request.Path = "/gitignore/templates/0cb5dc32"; - Requests[35] = new DefaultHttpContext(); - Requests[35].RequestServices = CreateServices(); - Requests[35].Request.Method = "PATCH"; - Requests[35].Request.Path = "/notifications/threads/4bd8e"; - Requests[36] = new DefaultHttpContext(); - Requests[36].RequestServices = CreateServices(); - Requests[36].Request.Method = "PUT"; - Requests[36].Request.Path = "/user/following/e2c3a018"; - Requests[37] = new DefaultHttpContext(); - Requests[37].RequestServices = CreateServices(); - Requests[37].Request.Method = "GET"; - Requests[37].Request.Path = "/user/keys/7d82b"; - Requests[38] = new DefaultHttpContext(); - Requests[38].RequestServices = CreateServices(); - Requests[38].Request.Method = "PUT"; - Requests[38].Request.Path = "/notifications/threads/dd67d/subscription"; - Requests[39] = new DefaultHttpContext(); - Requests[39].RequestServices = CreateServices(); - Requests[39].Request.Method = "PUT"; - Requests[39].Request.Path = "/user/starred/0b99c/8783e"; - Requests[40] = new DefaultHttpContext(); - Requests[40].RequestServices = CreateServices(); - Requests[40].Request.Method = "PUT"; - Requests[40].Request.Path = "/user/subscriptions/384c7/2c13f"; - Requests[41] = new DefaultHttpContext(); - Requests[41].RequestServices = CreateServices(); - Requests[41].Request.Method = "PATCH"; - Requests[41].Request.Path = "/gists/e6d49"; - Requests[42] = new DefaultHttpContext(); - Requests[42].RequestServices = CreateServices(); - Requests[42].Request.Method = "PATCH"; - Requests[42].Request.Path = "/orgs/8ae9c"; - Requests[43] = new DefaultHttpContext(); - Requests[43].RequestServices = CreateServices(); - Requests[43].Request.Method = "PATCH"; - Requests[43].Request.Path = "/teams/4a7cc7"; - Requests[44] = new DefaultHttpContext(); - Requests[44].RequestServices = CreateServices(); - Requests[44].Request.Method = "GET"; - Requests[44].Request.Path = "/users/0a04d291"; - Requests[45] = new DefaultHttpContext(); - Requests[45].RequestServices = CreateServices(); - Requests[45].Request.Method = "POST"; - Requests[45].Request.Path = "/gists/08da6/comments"; - Requests[46] = new DefaultHttpContext(); - Requests[46].RequestServices = CreateServices(); - Requests[46].Request.Method = "POST"; - Requests[46].Request.Path = "/gists/fca54/forks"; - Requests[47] = new DefaultHttpContext(); - Requests[47].RequestServices = CreateServices(); - Requests[47].Request.Method = "PUT"; - Requests[47].Request.Path = "/gists/31f75/star"; - Requests[48] = new DefaultHttpContext(); - Requests[48].RequestServices = CreateServices(); - Requests[48].Request.Method = "GET"; - Requests[48].Request.Path = "/orgs/2b352/events"; - Requests[49] = new DefaultHttpContext(); - Requests[49].RequestServices = CreateServices(); - Requests[49].Request.Method = "GET"; - Requests[49].Request.Path = "/orgs/e08a9/issues"; - Requests[50] = new DefaultHttpContext(); - Requests[50].RequestServices = CreateServices(); - Requests[50].Request.Method = "GET"; - Requests[50].Request.Path = "/orgs/fddd5/members"; - Requests[51] = new DefaultHttpContext(); - Requests[51].RequestServices = CreateServices(); - Requests[51].Request.Method = "GET"; - Requests[51].Request.Path = "/orgs/a0018/public_members"; - Requests[52] = new DefaultHttpContext(); - Requests[52].RequestServices = CreateServices(); - Requests[52].Request.Method = "POST"; - Requests[52].Request.Path = "/orgs/459e6/repos"; - Requests[53] = new DefaultHttpContext(); - Requests[53].RequestServices = CreateServices(); - Requests[53].Request.Method = "POST"; - Requests[53].Request.Path = "/orgs/c50a3/teams"; - Requests[54] = new DefaultHttpContext(); - Requests[54].RequestServices = CreateServices(); - Requests[54].Request.Method = "GET"; - Requests[54].Request.Path = "/teams/6d7c70/members"; - Requests[55] = new DefaultHttpContext(); - Requests[55].RequestServices = CreateServices(); - Requests[55].Request.Method = "GET"; - Requests[55].Request.Path = "/teams/2c72a5/repos"; - Requests[56] = new DefaultHttpContext(); - Requests[56].RequestServices = CreateServices(); - Requests[56].Request.Method = "GET"; - Requests[56].Request.Path = "/users/0d7c82bc/events"; - Requests[57] = new DefaultHttpContext(); - Requests[57].RequestServices = CreateServices(); - Requests[57].Request.Method = "GET"; - Requests[57].Request.Path = "/users/dad59333/followers"; - Requests[58] = new DefaultHttpContext(); - Requests[58].RequestServices = CreateServices(); - Requests[58].Request.Method = "GET"; - Requests[58].Request.Path = "/users/d3cfc2f7/gists"; - Requests[59] = new DefaultHttpContext(); - Requests[59].RequestServices = CreateServices(); - Requests[59].Request.Method = "GET"; - Requests[59].Request.Path = "/users/74de59eb/keys"; - Requests[60] = new DefaultHttpContext(); - Requests[60].RequestServices = CreateServices(); - Requests[60].Request.Method = "GET"; - Requests[60].Request.Path = "/users/c8078ace/orgs"; - Requests[61] = new DefaultHttpContext(); - Requests[61].RequestServices = CreateServices(); - Requests[61].Request.Method = "GET"; - Requests[61].Request.Path = "/users/7bb096ec/received_events"; - Requests[62] = new DefaultHttpContext(); - Requests[62].RequestServices = CreateServices(); - Requests[62].Request.Method = "GET"; - Requests[62].Request.Path = "/users/8208dce8/repos"; - Requests[63] = new DefaultHttpContext(); - Requests[63].RequestServices = CreateServices(); - Requests[63].Request.Method = "GET"; - Requests[63].Request.Path = "/users/8da3e05c/starred"; - Requests[64] = new DefaultHttpContext(); - Requests[64].RequestServices = CreateServices(); - Requests[64].Request.Method = "GET"; - Requests[64].Request.Path = "/users/ddcd1749/subscriptions"; - Requests[65] = new DefaultHttpContext(); - Requests[65].RequestServices = CreateServices(); - Requests[65].Request.Method = "GET"; - Requests[65].Request.Path = "/users/528d35ef/received_events/public"; - Requests[66] = new DefaultHttpContext(); - Requests[66].RequestServices = CreateServices(); - Requests[66].Request.Method = "GET"; - Requests[66].Request.Path = "/users/9a36a9de/events/orgs/3864a"; - Requests[67] = new DefaultHttpContext(); - Requests[67].RequestServices = CreateServices(); - Requests[67].Request.Method = "PATCH"; - Requests[67].Request.Path = "/gists/29a38/comments/f955540b-"; - Requests[68] = new DefaultHttpContext(); - Requests[68].RequestServices = CreateServices(); - Requests[68].Request.Method = "GET"; - Requests[68].Request.Path = "/orgs/7b33c/members/fa7c6147"; - Requests[69] = new DefaultHttpContext(); - Requests[69].RequestServices = CreateServices(); - Requests[69].Request.Method = "PUT"; - Requests[69].Request.Path = "/orgs/97a4b/public_members/35fecf7f"; - Requests[70] = new DefaultHttpContext(); - Requests[70].RequestServices = CreateServices(); - Requests[70].Request.Method = "PUT"; - Requests[70].Request.Path = "/teams/969145/members/194d27ad"; - Requests[71] = new DefaultHttpContext(); - Requests[71].RequestServices = CreateServices(); - Requests[71].Request.Method = "PUT"; - Requests[71].Request.Path = "/teams/90a622/memberships/88477f8b"; - Requests[72] = new DefaultHttpContext(); - Requests[72].RequestServices = CreateServices(); - Requests[72].Request.Method = "GET"; - Requests[72].Request.Path = "/users/efc0aad4/following/bc58bd8c-7"; - Requests[73] = new DefaultHttpContext(); - Requests[73].RequestServices = CreateServices(); - Requests[73].Request.Method = "GET"; - Requests[73].Request.Path = "/teams/98d389/repos/74b04/05c77"; - Requests[74] = new DefaultHttpContext(); - Requests[74].RequestServices = CreateServices(); - Requests[74].Request.Method = "PATCH"; - Requests[74].Request.Path = "/repos/fbc82/446db"; - Requests[75] = new DefaultHttpContext(); - Requests[75].RequestServices = CreateServices(); - Requests[75].Request.Method = "GET"; - Requests[75].Request.Path = "/networks/d914d/57c64/events"; - Requests[76] = new DefaultHttpContext(); - Requests[76].RequestServices = CreateServices(); - Requests[76].Request.Method = "GET"; - Requests[76].Request.Path = "/repos/67afd/b1bc5/assignees"; - Requests[77] = new DefaultHttpContext(); - Requests[77].RequestServices = CreateServices(); - Requests[77].Request.Method = "GET"; - Requests[77].Request.Path = "/repos/b2f87/ced1b/branches"; - Requests[78] = new DefaultHttpContext(); - Requests[78].RequestServices = CreateServices(); - Requests[78].Request.Method = "GET"; - Requests[78].Request.Path = "/repos/4c0cd/a3d94/collaborators"; - Requests[79] = new DefaultHttpContext(); - Requests[79].RequestServices = CreateServices(); - Requests[79].Request.Method = "GET"; - Requests[79].Request.Path = "/repos/1eab2/4cbac/comments"; - Requests[80] = new DefaultHttpContext(); - Requests[80].RequestServices = CreateServices(); - Requests[80].Request.Method = "GET"; - Requests[80].Request.Path = "/repos/5981b/de5a8/commits"; - Requests[81] = new DefaultHttpContext(); - Requests[81].RequestServices = CreateServices(); - Requests[81].Request.Method = "GET"; - Requests[81].Request.Path = "/repos/7ad40/db6ee/contributors"; - Requests[82] = new DefaultHttpContext(); - Requests[82].RequestServices = CreateServices(); - Requests[82].Request.Method = "POST"; - Requests[82].Request.Path = "/repos/8972a/86bb7/deployments"; - Requests[83] = new DefaultHttpContext(); - Requests[83].RequestServices = CreateServices(); - Requests[83].Request.Method = "GET"; - Requests[83].Request.Path = "/repos/c619b/d8f5a/downloads"; - Requests[84] = new DefaultHttpContext(); - Requests[84].RequestServices = CreateServices(); - Requests[84].Request.Method = "GET"; - Requests[84].Request.Path = "/repos/91509/bb53c/events"; - Requests[85] = new DefaultHttpContext(); - Requests[85].RequestServices = CreateServices(); - Requests[85].Request.Method = "POST"; - Requests[85].Request.Path = "/repos/9da59/f78cd/forks"; - Requests[86] = new DefaultHttpContext(); - Requests[86].RequestServices = CreateServices(); - Requests[86].Request.Method = "POST"; - Requests[86].Request.Path = "/repos/1484a/4e077/hooks"; - Requests[87] = new DefaultHttpContext(); - Requests[87].RequestServices = CreateServices(); - Requests[87].Request.Method = "POST"; - Requests[87].Request.Path = "/repos/c5793/4f77e/issues"; - Requests[88] = new DefaultHttpContext(); - Requests[88].RequestServices = CreateServices(); - Requests[88].Request.Method = "POST"; - Requests[88].Request.Path = "/repos/d4e39/2dd22/keys"; - Requests[89] = new DefaultHttpContext(); - Requests[89].RequestServices = CreateServices(); - Requests[89].Request.Method = "POST"; - Requests[89].Request.Path = "/repos/bd4f0/9cc66/labels"; - Requests[90] = new DefaultHttpContext(); - Requests[90].RequestServices = CreateServices(); - Requests[90].Request.Method = "GET"; - Requests[90].Request.Path = "/repos/6b934/aa4bd/languages"; - Requests[91] = new DefaultHttpContext(); - Requests[91].RequestServices = CreateServices(); - Requests[91].Request.Method = "POST"; - Requests[91].Request.Path = "/repos/8830a/88a98/merges"; - Requests[92] = new DefaultHttpContext(); - Requests[92].RequestServices = CreateServices(); - Requests[92].Request.Method = "POST"; - Requests[92].Request.Path = "/repos/9ce99/29222/milestones"; - Requests[93] = new DefaultHttpContext(); - Requests[93].RequestServices = CreateServices(); - Requests[93].Request.Method = "PUT"; - Requests[93].Request.Path = "/repos/a106c/ac6a4/notifications"; - Requests[94] = new DefaultHttpContext(); - Requests[94].RequestServices = CreateServices(); - Requests[94].Request.Method = "POST"; - Requests[94].Request.Path = "/repos/0e52f/ca9e5/pulls"; - Requests[95] = new DefaultHttpContext(); - Requests[95].RequestServices = CreateServices(); - Requests[95].Request.Method = "GET"; - Requests[95].Request.Path = "/repos/37e7a/7aa03/readme"; - Requests[96] = new DefaultHttpContext(); - Requests[96].RequestServices = CreateServices(); - Requests[96].Request.Method = "POST"; - Requests[96].Request.Path = "/repos/cf543/a26e5/releases"; - Requests[97] = new DefaultHttpContext(); - Requests[97].RequestServices = CreateServices(); - Requests[97].Request.Method = "GET"; - Requests[97].Request.Path = "/repos/26330/2998f/stargazers"; - Requests[98] = new DefaultHttpContext(); - Requests[98].RequestServices = CreateServices(); - Requests[98].Request.Method = "GET"; - Requests[98].Request.Path = "/repos/4192a/8d012/subscribers"; - Requests[99] = new DefaultHttpContext(); - Requests[99].RequestServices = CreateServices(); - Requests[99].Request.Method = "PUT"; - Requests[99].Request.Path = "/repos/7bf2f/ec3e8/subscription"; - Requests[100] = new DefaultHttpContext(); - Requests[100].RequestServices = CreateServices(); - Requests[100].Request.Method = "GET"; - Requests[100].Request.Path = "/repos/9285d/2386a/tags"; - Requests[101] = new DefaultHttpContext(); - Requests[101].RequestServices = CreateServices(); - Requests[101].Request.Method = "GET"; - Requests[101].Request.Path = "/repos/ba9c2/c995c/teams"; - Requests[102] = new DefaultHttpContext(); - Requests[102].RequestServices = CreateServices(); - Requests[102].Request.Method = "GET"; - Requests[102].Request.Path = "/repos/15c8d/35395/watchers"; - Requests[103] = new DefaultHttpContext(); - Requests[103].RequestServices = CreateServices(); - Requests[103].Request.Method = "POST"; - Requests[103].Request.Path = "/repos/3e849/531ef/git/blobs"; - Requests[104] = new DefaultHttpContext(); - Requests[104].RequestServices = CreateServices(); - Requests[104].Request.Method = "POST"; - Requests[104].Request.Path = "/repos/3bcbc/5d8bc/git/commits"; - Requests[105] = new DefaultHttpContext(); - Requests[105].RequestServices = CreateServices(); - Requests[105].Request.Method = "POST"; - Requests[105].Request.Path = "/repos/65917/4297b/git/refs"; - Requests[106] = new DefaultHttpContext(); - Requests[106].RequestServices = CreateServices(); - Requests[106].Request.Method = "POST"; - Requests[106].Request.Path = "/repos/5aadb/450d4/git/tags"; - Requests[107] = new DefaultHttpContext(); - Requests[107].RequestServices = CreateServices(); - Requests[107].Request.Method = "POST"; - Requests[107].Request.Path = "/repos/4c306/f056f/git/trees"; - Requests[108] = new DefaultHttpContext(); - Requests[108].RequestServices = CreateServices(); - Requests[108].Request.Method = "GET"; - Requests[108].Request.Path = "/repos/9da82/d041c/issues/comments"; - Requests[109] = new DefaultHttpContext(); - Requests[109].RequestServices = CreateServices(); - Requests[109].Request.Method = "GET"; - Requests[109].Request.Path = "/repos/06bb5/1352f/issues/events"; - Requests[110] = new DefaultHttpContext(); - Requests[110].RequestServices = CreateServices(); - Requests[110].Request.Method = "GET"; - Requests[110].Request.Path = "/repos/f87fb/e0543/pulls/comments"; - Requests[111] = new DefaultHttpContext(); - Requests[111].RequestServices = CreateServices(); - Requests[111].Request.Method = "GET"; - Requests[111].Request.Path = "/repos/b6d34/d0b39/stats/code_frequency"; - Requests[112] = new DefaultHttpContext(); - Requests[112].RequestServices = CreateServices(); - Requests[112].Request.Method = "GET"; - Requests[112].Request.Path = "/repos/e8d05/4707e/stats/commit_activity"; - Requests[113] = new DefaultHttpContext(); - Requests[113].RequestServices = CreateServices(); - Requests[113].Request.Method = "GET"; - Requests[113].Request.Path = "/repos/48d7e/0ecd3/stats/contributors"; - Requests[114] = new DefaultHttpContext(); - Requests[114].RequestServices = CreateServices(); - Requests[114].Request.Method = "GET"; - Requests[114].Request.Path = "/repos/8964b/6e8f5/stats/participation"; - Requests[115] = new DefaultHttpContext(); - Requests[115].RequestServices = CreateServices(); - Requests[115].Request.Method = "GET"; - Requests[115].Request.Path = "/repos/37374/f039d/stats/punch_card"; - Requests[116] = new DefaultHttpContext(); - Requests[116].RequestServices = CreateServices(); - Requests[116].Request.Method = "GET"; - Requests[116].Request.Path = "/repos/14566/a474b/git/blobs/04b85a8"; - Requests[117] = new DefaultHttpContext(); - Requests[117].RequestServices = CreateServices(); - Requests[117].Request.Method = "GET"; - Requests[117].Request.Path = "/repos/31a30/3ea34/git/commits/27948b9"; - Requests[118] = new DefaultHttpContext(); - Requests[118].RequestServices = CreateServices(); - Requests[118].Request.Method = "PATCH"; - Requests[118].Request.Path = "/repos/2c8ad/e2765/git/refs/67cc5"; - Requests[119] = new DefaultHttpContext(); - Requests[119].RequestServices = CreateServices(); - Requests[119].Request.Method = "GET"; - Requests[119].Request.Path = "/repos/739be/3acb7/git/tags/6c6430c"; - Requests[120] = new DefaultHttpContext(); - Requests[120].RequestServices = CreateServices(); - Requests[120].Request.Method = "GET"; - Requests[120].Request.Path = "/repos/5a112/21ae4/git/trees/fe88304"; - Requests[121] = new DefaultHttpContext(); - Requests[121].RequestServices = CreateServices(); - Requests[121].Request.Method = "PATCH"; - Requests[121].Request.Path = "/repos/76ed1/51c63/issues/comments/c9208b29-"; - Requests[122] = new DefaultHttpContext(); - Requests[122].RequestServices = CreateServices(); - Requests[122].Request.Method = "GET"; - Requests[122].Request.Path = "/repos/8230d/17f20/issues/events/5e4ea0f"; - Requests[123] = new DefaultHttpContext(); - Requests[123].RequestServices = CreateServices(); - Requests[123].Request.Method = "PATCH"; - Requests[123].Request.Path = "/repos/fa5f3/b4ecf/pulls/comments/1e93db69-"; - Requests[124] = new DefaultHttpContext(); - Requests[124].RequestServices = CreateServices(); - Requests[124].Request.Method = "PATCH"; - Requests[124].Request.Path = "/repos/f3b86/5793e/releases/assets/b21e5"; - Requests[125] = new DefaultHttpContext(); - Requests[125].RequestServices = CreateServices(); - Requests[125].Request.Method = "GET"; - Requests[125].Request.Path = "/repos/0df2f/f1d8e/assignees/87a41d15"; - Requests[126] = new DefaultHttpContext(); - Requests[126].RequestServices = CreateServices(); - Requests[126].Request.Method = "GET"; - Requests[126].Request.Path = "/repos/f0062/df752/branches/d18f91"; - Requests[127] = new DefaultHttpContext(); - Requests[127].RequestServices = CreateServices(); - Requests[127].Request.Method = "PUT"; - Requests[127].Request.Path = "/repos/022eb/1696a/collaborators/59494"; - Requests[128] = new DefaultHttpContext(); - Requests[128].RequestServices = CreateServices(); - Requests[128].Request.Method = "PATCH"; - Requests[128].Request.Path = "/repos/0f74c/4f864/comments/5a8b1f18-"; - Requests[129] = new DefaultHttpContext(); - Requests[129].RequestServices = CreateServices(); - Requests[129].Request.Method = "GET"; - Requests[129].Request.Path = "/repos/08262/d4859/commits/0459132"; - Requests[130] = new DefaultHttpContext(); - Requests[130].RequestServices = CreateServices(); - Requests[130].Request.Method = "PUT"; - Requests[130].Request.Path = "/repos/9e587/5da72/contents/3b37c"; - Requests[131] = new DefaultHttpContext(); - Requests[131].RequestServices = CreateServices(); - Requests[131].Request.Method = "GET"; - Requests[131].Request.Path = "/repos/aeabf/fb931/downloads/928b7eef-a"; - Requests[132] = new DefaultHttpContext(); - Requests[132].RequestServices = CreateServices(); - Requests[132].Request.Method = "PATCH"; - Requests[132].Request.Path = "/repos/cb76c/71512/hooks/e0a971"; - Requests[133] = new DefaultHttpContext(); - Requests[133].RequestServices = CreateServices(); - Requests[133].Request.Method = "PATCH"; - Requests[133].Request.Path = "/repos/a44e1/81a70/issues/fedabf"; - Requests[134] = new DefaultHttpContext(); - Requests[134].RequestServices = CreateServices(); - Requests[134].Request.Method = "GET"; - Requests[134].Request.Path = "/repos/d776f/19a02/keys/9e5b3"; - Requests[135] = new DefaultHttpContext(); - Requests[135].RequestServices = CreateServices(); - Requests[135].Request.Method = "PATCH"; - Requests[135].Request.Path = "/repos/b8532/04123/labels/d3c1d"; - Requests[136] = new DefaultHttpContext(); - Requests[136].RequestServices = CreateServices(); - Requests[136].Request.Method = "PATCH"; - Requests[136].Request.Path = "/repos/1d10a/9efd4/milestones/f673c2"; - Requests[137] = new DefaultHttpContext(); - Requests[137].RequestServices = CreateServices(); - Requests[137].Request.Method = "PATCH"; - Requests[137].Request.Path = "/repos/3aa16/84330/pulls/6dcd1f"; - Requests[138] = new DefaultHttpContext(); - Requests[138].RequestServices = CreateServices(); - Requests[138].Request.Method = "PATCH"; - Requests[138].Request.Path = "/repos/eb98f/fd492/releases/a070f"; - Requests[139] = new DefaultHttpContext(); - Requests[139].RequestServices = CreateServices(); - Requests[139].Request.Method = "POST"; - Requests[139].Request.Path = "/repos/f1040/ca625/statuses/a1554"; - Requests[140] = new DefaultHttpContext(); - Requests[140].RequestServices = CreateServices(); - Requests[140].Request.Method = "GET"; - Requests[140].Request.Path = "/repos/5e573/09410/commits/740ca/status"; - Requests[141] = new DefaultHttpContext(); - Requests[141].RequestServices = CreateServices(); - Requests[141].Request.Method = "POST"; - Requests[141].Request.Path = "/repos/25dd0/256a3/commits/088d12d/comments"; - Requests[142] = new DefaultHttpContext(); - Requests[142].RequestServices = CreateServices(); - Requests[142].Request.Method = "POST"; - Requests[142].Request.Path = "/repos/50b76/80795/deployments/faedd/statuses"; - Requests[143] = new DefaultHttpContext(); - Requests[143].RequestServices = CreateServices(); - Requests[143].Request.Method = "POST"; - Requests[143].Request.Path = "/repos/0c54e/6485c/hooks/82463a/tests"; - Requests[144] = new DefaultHttpContext(); - Requests[144].RequestServices = CreateServices(); - Requests[144].Request.Method = "POST"; - Requests[144].Request.Path = "/repos/07cf6/23b13/issues/f0dd8f/comments"; - Requests[145] = new DefaultHttpContext(); - Requests[145].RequestServices = CreateServices(); - Requests[145].Request.Method = "GET"; - Requests[145].Request.Path = "/repos/23f9b/f2fd8/issues/3fe64f/events"; - Requests[146] = new DefaultHttpContext(); - Requests[146].RequestServices = CreateServices(); - Requests[146].Request.Method = "PUT"; - Requests[146].Request.Path = "/repos/5b3d7/ca96e/issues/936334/labels"; - Requests[147] = new DefaultHttpContext(); - Requests[147].RequestServices = CreateServices(); - Requests[147].Request.Method = "GET"; - Requests[147].Request.Path = "/repos/cd644/3304a/milestones/166fae/labels"; - Requests[148] = new DefaultHttpContext(); - Requests[148].RequestServices = CreateServices(); - Requests[148].Request.Method = "POST"; - Requests[148].Request.Path = "/repos/33da8/9f808/pulls/f1e922/comments"; - Requests[149] = new DefaultHttpContext(); - Requests[149].RequestServices = CreateServices(); - Requests[149].Request.Method = "GET"; - Requests[149].Request.Path = "/repos/be208/fc905/pulls/7e240f/commits"; - Requests[150] = new DefaultHttpContext(); - Requests[150].RequestServices = CreateServices(); - Requests[150].Request.Method = "GET"; - Requests[150].Request.Path = "/repos/3c706/a56bc/pulls/651d9a/files"; - Requests[151] = new DefaultHttpContext(); - Requests[151].RequestServices = CreateServices(); - Requests[151].Request.Method = "PUT"; - Requests[151].Request.Path = "/repos/ea5a0/36e73/pulls/760f68/merge"; - Requests[152] = new DefaultHttpContext(); - Requests[152].RequestServices = CreateServices(); - Requests[152].Request.Method = "GET"; - Requests[152].Request.Path = "/repos/9362e/2a504/releases/4105d/assets"; - Requests[153] = new DefaultHttpContext(); - Requests[153].RequestServices = CreateServices(); - Requests[153].Request.Method = "DELETE"; - Requests[153].Request.Path = "/repos/39dc3/47180/issues/5b5277/labels/fc82a"; - Requests[154] = new DefaultHttpContext(); - Requests[154].RequestServices = CreateServices(); - Requests[154].Request.Method = "GET"; - Requests[154].Request.Path = "/repos/91437/d62a4/5582f507-3991-/3e89b"; - } - - private Matcher SetupMatcher(MatcherBuilder builder) - { - builder.AddEndpoint(Endpoints[0]); - builder.AddEndpoint(Endpoints[1]); - builder.AddEndpoint(Endpoints[2]); - builder.AddEndpoint(Endpoints[3]); - builder.AddEndpoint(Endpoints[4]); - builder.AddEndpoint(Endpoints[5]); - builder.AddEndpoint(Endpoints[6]); - builder.AddEndpoint(Endpoints[7]); - builder.AddEndpoint(Endpoints[8]); - builder.AddEndpoint(Endpoints[9]); - builder.AddEndpoint(Endpoints[10]); - builder.AddEndpoint(Endpoints[11]); - builder.AddEndpoint(Endpoints[12]); - builder.AddEndpoint(Endpoints[13]); - builder.AddEndpoint(Endpoints[14]); - builder.AddEndpoint(Endpoints[15]); - builder.AddEndpoint(Endpoints[16]); - builder.AddEndpoint(Endpoints[17]); - builder.AddEndpoint(Endpoints[18]); - builder.AddEndpoint(Endpoints[19]); - builder.AddEndpoint(Endpoints[20]); - builder.AddEndpoint(Endpoints[21]); - builder.AddEndpoint(Endpoints[22]); - builder.AddEndpoint(Endpoints[23]); - builder.AddEndpoint(Endpoints[24]); - builder.AddEndpoint(Endpoints[25]); - builder.AddEndpoint(Endpoints[26]); - builder.AddEndpoint(Endpoints[27]); - builder.AddEndpoint(Endpoints[28]); - builder.AddEndpoint(Endpoints[29]); - builder.AddEndpoint(Endpoints[30]); - builder.AddEndpoint(Endpoints[31]); - builder.AddEndpoint(Endpoints[32]); - builder.AddEndpoint(Endpoints[33]); - builder.AddEndpoint(Endpoints[34]); - builder.AddEndpoint(Endpoints[35]); - builder.AddEndpoint(Endpoints[36]); - builder.AddEndpoint(Endpoints[37]); - builder.AddEndpoint(Endpoints[38]); - builder.AddEndpoint(Endpoints[39]); - builder.AddEndpoint(Endpoints[40]); - builder.AddEndpoint(Endpoints[41]); - builder.AddEndpoint(Endpoints[42]); - builder.AddEndpoint(Endpoints[43]); - builder.AddEndpoint(Endpoints[44]); - builder.AddEndpoint(Endpoints[45]); - builder.AddEndpoint(Endpoints[46]); - builder.AddEndpoint(Endpoints[47]); - builder.AddEndpoint(Endpoints[48]); - builder.AddEndpoint(Endpoints[49]); - builder.AddEndpoint(Endpoints[50]); - builder.AddEndpoint(Endpoints[51]); - builder.AddEndpoint(Endpoints[52]); - builder.AddEndpoint(Endpoints[53]); - builder.AddEndpoint(Endpoints[54]); - builder.AddEndpoint(Endpoints[55]); - builder.AddEndpoint(Endpoints[56]); - builder.AddEndpoint(Endpoints[57]); - builder.AddEndpoint(Endpoints[58]); - builder.AddEndpoint(Endpoints[59]); - builder.AddEndpoint(Endpoints[60]); - builder.AddEndpoint(Endpoints[61]); - builder.AddEndpoint(Endpoints[62]); - builder.AddEndpoint(Endpoints[63]); - builder.AddEndpoint(Endpoints[64]); - builder.AddEndpoint(Endpoints[65]); - builder.AddEndpoint(Endpoints[66]); - builder.AddEndpoint(Endpoints[67]); - builder.AddEndpoint(Endpoints[68]); - builder.AddEndpoint(Endpoints[69]); - builder.AddEndpoint(Endpoints[70]); - builder.AddEndpoint(Endpoints[71]); - builder.AddEndpoint(Endpoints[72]); - builder.AddEndpoint(Endpoints[73]); - builder.AddEndpoint(Endpoints[74]); - builder.AddEndpoint(Endpoints[75]); - builder.AddEndpoint(Endpoints[76]); - builder.AddEndpoint(Endpoints[77]); - builder.AddEndpoint(Endpoints[78]); - builder.AddEndpoint(Endpoints[79]); - builder.AddEndpoint(Endpoints[80]); - builder.AddEndpoint(Endpoints[81]); - builder.AddEndpoint(Endpoints[82]); - builder.AddEndpoint(Endpoints[83]); - builder.AddEndpoint(Endpoints[84]); - builder.AddEndpoint(Endpoints[85]); - builder.AddEndpoint(Endpoints[86]); - builder.AddEndpoint(Endpoints[87]); - builder.AddEndpoint(Endpoints[88]); - builder.AddEndpoint(Endpoints[89]); - builder.AddEndpoint(Endpoints[90]); - builder.AddEndpoint(Endpoints[91]); - builder.AddEndpoint(Endpoints[92]); - builder.AddEndpoint(Endpoints[93]); - builder.AddEndpoint(Endpoints[94]); - builder.AddEndpoint(Endpoints[95]); - builder.AddEndpoint(Endpoints[96]); - builder.AddEndpoint(Endpoints[97]); - builder.AddEndpoint(Endpoints[98]); - builder.AddEndpoint(Endpoints[99]); - builder.AddEndpoint(Endpoints[100]); - builder.AddEndpoint(Endpoints[101]); - builder.AddEndpoint(Endpoints[102]); - builder.AddEndpoint(Endpoints[103]); - builder.AddEndpoint(Endpoints[104]); - builder.AddEndpoint(Endpoints[105]); - builder.AddEndpoint(Endpoints[106]); - builder.AddEndpoint(Endpoints[107]); - builder.AddEndpoint(Endpoints[108]); - builder.AddEndpoint(Endpoints[109]); - builder.AddEndpoint(Endpoints[110]); - builder.AddEndpoint(Endpoints[111]); - builder.AddEndpoint(Endpoints[112]); - builder.AddEndpoint(Endpoints[113]); - builder.AddEndpoint(Endpoints[114]); - builder.AddEndpoint(Endpoints[115]); - builder.AddEndpoint(Endpoints[116]); - builder.AddEndpoint(Endpoints[117]); - builder.AddEndpoint(Endpoints[118]); - builder.AddEndpoint(Endpoints[119]); - builder.AddEndpoint(Endpoints[120]); - builder.AddEndpoint(Endpoints[121]); - builder.AddEndpoint(Endpoints[122]); - builder.AddEndpoint(Endpoints[123]); - builder.AddEndpoint(Endpoints[124]); - builder.AddEndpoint(Endpoints[125]); - builder.AddEndpoint(Endpoints[126]); - builder.AddEndpoint(Endpoints[127]); - builder.AddEndpoint(Endpoints[128]); - builder.AddEndpoint(Endpoints[129]); - builder.AddEndpoint(Endpoints[130]); - builder.AddEndpoint(Endpoints[131]); - builder.AddEndpoint(Endpoints[132]); - builder.AddEndpoint(Endpoints[133]); - builder.AddEndpoint(Endpoints[134]); - builder.AddEndpoint(Endpoints[135]); - builder.AddEndpoint(Endpoints[136]); - builder.AddEndpoint(Endpoints[137]); - builder.AddEndpoint(Endpoints[138]); - builder.AddEndpoint(Endpoints[139]); - builder.AddEndpoint(Endpoints[140]); - builder.AddEndpoint(Endpoints[141]); - builder.AddEndpoint(Endpoints[142]); - builder.AddEndpoint(Endpoints[143]); - builder.AddEndpoint(Endpoints[144]); - builder.AddEndpoint(Endpoints[145]); - builder.AddEndpoint(Endpoints[146]); - builder.AddEndpoint(Endpoints[147]); - builder.AddEndpoint(Endpoints[148]); - builder.AddEndpoint(Endpoints[149]); - builder.AddEndpoint(Endpoints[150]); - builder.AddEndpoint(Endpoints[151]); - builder.AddEndpoint(Endpoints[152]); - builder.AddEndpoint(Endpoints[153]); - builder.AddEndpoint(Endpoints[154]); - return builder.Build(); - } - } -} \ No newline at end of file diff --git a/benchmarks/Microsoft.AspNetCore.Routing.Performance/Matching/MatcherFindCandidateSetSingleEntryBenchmark.cs b/benchmarks/Microsoft.AspNetCore.Routing.Performance/Matching/MatcherFindCandidateSetSingleEntryBenchmark.cs deleted file mode 100644 index b0d3b2bcd2..0000000000 --- a/benchmarks/Microsoft.AspNetCore.Routing.Performance/Matching/MatcherFindCandidateSetSingleEntryBenchmark.cs +++ /dev/null @@ -1,66 +0,0 @@ -// Copyright (c) .NET Foundation. All rights reserved. -// Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information. - -using System; -using BenchmarkDotNet.Attributes; -using Microsoft.AspNetCore.Http; - -namespace Microsoft.AspNetCore.Routing.Matching -{ - public class MatcherFindCandidateSetSingleEntryBenchmark : EndpointRoutingBenchmarkBase - { - // SegmentCount should be max-segments + 1 - private const int SegmentCount = 2; - - private TrivialMatcher _baseline; - private DfaMatcher _dfa; - - [GlobalSetup] - public void Setup() - { - Endpoints = new RouteEndpoint[1]; - Endpoints[0] = CreateEndpoint("/plaintext"); - - Requests = new HttpContext[1]; - Requests[0] = new DefaultHttpContext(); - Requests[0].RequestServices = CreateServices(); - Requests[0].Request.Path = "/plaintext"; - - _baseline = (TrivialMatcher)SetupMatcher(new TrivialMatcherBuilder()); - _dfa = (DfaMatcher)SetupMatcher(CreateDfaMatcherBuilder()); - } - - private Matcher SetupMatcher(MatcherBuilder builder) - { - builder.AddEndpoint(Endpoints[0]); - return builder.Build(); - } - - [Benchmark(Baseline = true)] - public void Baseline() - { - var httpContext = Requests[0]; - var path = httpContext.Request.Path.Value; - var segments = new ReadOnlySpan(Array.Empty()); - - var candidates = _baseline.FindCandidateSet(path, segments); - - var endpoint = candidates[0].Endpoint; - Validate(Requests[0], Endpoints[0], endpoint); - } - - [Benchmark] - public void Dfa() - { - var httpContext = Requests[0]; - var path = httpContext.Request.Path.Value; - Span segments = stackalloc PathSegment[SegmentCount]; - var count = FastPathTokenizer.Tokenize(path, segments); - - var candidates = _dfa.FindCandidateSet(httpContext, path, segments.Slice(0, count)); - - var endpoint = candidates[0].Endpoint; - Validate(Requests[0], Endpoints[0], endpoint); - } - } -} diff --git a/benchmarks/Microsoft.AspNetCore.Routing.Performance/Matching/MatcherFindCandidateSetSmallEntryCountBenchmark.cs b/benchmarks/Microsoft.AspNetCore.Routing.Performance/Matching/MatcherFindCandidateSetSmallEntryCountBenchmark.cs deleted file mode 100644 index b5fecec31e..0000000000 --- a/benchmarks/Microsoft.AspNetCore.Routing.Performance/Matching/MatcherFindCandidateSetSmallEntryCountBenchmark.cs +++ /dev/null @@ -1,103 +0,0 @@ -// Copyright (c) .NET Foundation. All rights reserved. -// Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information. - -using System; -using BenchmarkDotNet.Attributes; -using Microsoft.AspNetCore.Http; -using Microsoft.AspNetCore.Http.Features; - -namespace Microsoft.AspNetCore.Routing.Matching -{ - public class MatcherFindCandidateSetSmallEntryCountBenchmark : EndpointRoutingBenchmarkBase - { - // SegmentCount should be max-segments + 1 - private const int SegmentCount = 6; - - private TrivialMatcher _baseline; - private DfaMatcher _dfa; - - private EndpointSelectorContext _feature; - - [GlobalSetup] - public void Setup() - { - SetupEndpoints(); - - SetupRequests(); - - _baseline = (TrivialMatcher)SetupMatcher(new TrivialMatcherBuilder()); - _dfa = (DfaMatcher)SetupMatcher(CreateDfaMatcherBuilder()); - - _feature = new EndpointSelectorContext(); - } - - private void SetupEndpoints() - { - Endpoints = new RouteEndpoint[10]; - Endpoints[0] = CreateEndpoint("/another-really-cool-entry"); - Endpoints[1] = CreateEndpoint("/Some-Entry"); - Endpoints[2] = CreateEndpoint("/a/path/with/more/segments"); - Endpoints[3] = CreateEndpoint("/random/name"); - Endpoints[4] = CreateEndpoint("/random/name2"); - Endpoints[5] = CreateEndpoint("/random/name3"); - Endpoints[6] = CreateEndpoint("/random/name4"); - Endpoints[7] = CreateEndpoint("/plaintext1"); - Endpoints[8] = CreateEndpoint("/plaintext2"); - Endpoints[9] = CreateEndpoint("/plaintext"); - } - - private void SetupRequests() - { - Requests = new HttpContext[1]; - Requests[0] = new DefaultHttpContext(); - Requests[0].RequestServices = CreateServices(); - Requests[0].Request.Path = "/plaintext"; - } - - // For this case we're specifically targeting the last entry to hit 'worst case' - // performance for the matchers that scale linearly. - private Matcher SetupMatcher(MatcherBuilder builder) - { - builder.AddEndpoint(Endpoints[0]); - builder.AddEndpoint(Endpoints[1]); - builder.AddEndpoint(Endpoints[2]); - builder.AddEndpoint(Endpoints[3]); - builder.AddEndpoint(Endpoints[4]); - builder.AddEndpoint(Endpoints[5]); - builder.AddEndpoint(Endpoints[6]); - builder.AddEndpoint(Endpoints[7]); - builder.AddEndpoint(Endpoints[8]); - builder.AddEndpoint(Endpoints[9]); - return builder.Build(); - } - - [Benchmark(Baseline = true)] - public void Baseline() - { - var httpContext = Requests[0]; - var path = httpContext.Request.Path.Value; - - var segments = new ReadOnlySpan(Array.Empty()); - - var candidates = _baseline.FindCandidateSet(path, segments); - - var endpoint = candidates[0].Endpoint; - Validate(Requests[0], Endpoints[9], endpoint); - } - - [Benchmark] - public void Dfa() - { - var httpContext = Requests[0]; - var path = httpContext.Request.Path.Value; - - Span segments = stackalloc PathSegment[SegmentCount]; - var count = FastPathTokenizer.Tokenize(path, segments); - - var candidates = _dfa.FindCandidateSet(httpContext, path, segments.Slice(0, count)); - - var endpoint = candidates[0].Endpoint; - Validate(Requests[0], Endpoints[9], endpoint); - } - } -} diff --git a/samples/RoutingSample.Web/Program.cs b/samples/RoutingSample.Web/Program.cs index 4090242329..406e0d591a 100644 --- a/samples/RoutingSample.Web/Program.cs +++ b/samples/RoutingSample.Web/Program.cs @@ -63,7 +63,7 @@ namespace RoutingSample.Web .ConfigureLogging(b => { b.AddConsole(); - b.SetMinimumLevel(LogLevel.Debug); + b.SetMinimumLevel(LogLevel.Critical); }) .UseContentRoot(Environment.CurrentDirectory) .UseStartup(startupType); diff --git a/src/Microsoft.AspNetCore.Routing/Matching/DefaultEndpointSelector.cs b/src/Microsoft.AspNetCore.Routing/Matching/DefaultEndpointSelector.cs index bd670d86f5..f354e507a3 100644 --- a/src/Microsoft.AspNetCore.Routing/Matching/DefaultEndpointSelector.cs +++ b/src/Microsoft.AspNetCore.Routing/Matching/DefaultEndpointSelector.cs @@ -11,18 +11,6 @@ namespace Microsoft.AspNetCore.Routing.Matching { internal class DefaultEndpointSelector : EndpointSelector { - private readonly IEndpointSelectorPolicy[] _selectorPolicies; - - public DefaultEndpointSelector(IEnumerable matcherPolicies) - { - if (matcherPolicies == null) - { - throw new ArgumentNullException(nameof(matcherPolicies)); - } - - _selectorPolicies = matcherPolicies.OrderBy(p => p.Order).OfType().ToArray(); - } - public override Task SelectAsync( HttpContext httpContext, EndpointSelectorContext context, @@ -43,14 +31,8 @@ namespace Microsoft.AspNetCore.Routing.Matching throw new ArgumentNullException(nameof(candidateSet)); } - if (_selectorPolicies.Length > 0) - { - // Slow path: we need async to run policies - return SelectAsyncSlow(httpContext, context, candidateSet); - } - // Fast path: We can specialize for trivial numbers of candidates since there can - // be no ambiguities and we don't need to run policies. + // be no ambiguities switch (candidateSet.Count) { case 0: @@ -83,25 +65,6 @@ namespace Microsoft.AspNetCore.Routing.Matching return Task.CompletedTask; } - private async Task SelectAsyncSlow( - HttpContext httpContext, - EndpointSelectorContext context, - CandidateSet candidateSet) - { - var selectorPolicies = _selectorPolicies; - for (var i = 0; i < selectorPolicies.Length; i++) - { - await selectorPolicies[i].ApplyAsync(httpContext, context, candidateSet); - if (context.Endpoint != null) - { - // This is a short circuit, the selector chose an endpoint. - return; - } - } - - ProcessFinalCandidates(httpContext, context, candidateSet); - } - private static void ProcessFinalCandidates( HttpContext httpContext, EndpointSelectorContext context, diff --git a/src/Microsoft.AspNetCore.Routing/Matching/DfaMatcher.cs b/src/Microsoft.AspNetCore.Routing/Matching/DfaMatcher.cs index da0f799129..b1dfcb36dc 100644 --- a/src/Microsoft.AspNetCore.Routing/Matching/DfaMatcher.cs +++ b/src/Microsoft.AspNetCore.Routing/Matching/DfaMatcher.cs @@ -16,7 +16,7 @@ namespace Microsoft.AspNetCore.Routing.Matching private readonly EndpointSelector _selector; private readonly DfaState[] _states; private readonly int _maxSegmentCount; - + public DfaMatcher(ILogger logger, EndpointSelector selector, DfaState[] states, int maxSegmentCount) { _logger = logger; @@ -52,7 +52,7 @@ namespace Microsoft.AspNetCore.Routing.Matching // FindCandidateSet will process the DFA and return a candidate set. This does // some preliminary matching of the URL (mostly the literal segments). - var candidates = FindCandidateSet(httpContext, path, segments); + var (candidates, policies) = FindCandidateSet(httpContext, path, segments); if (candidates.Length == 0) { if (log) @@ -165,10 +165,16 @@ namespace Microsoft.AspNetCore.Routing.Matching } } - return _selector.SelectAsync(httpContext, context, candidateSet); + if (policies.Length == 0) + { + // Perf: avoid a state machine if there are no polices + return _selector.SelectAsync(httpContext, context, candidateSet); + } + + return SelectEndpointWithPoliciesAsync(httpContext, context, policies, candidateSet); } - internal Candidate[] FindCandidateSet( + internal (Candidate[] candidates, IEndpointSelectorPolicy[] policies) FindCandidateSet( HttpContext httpContext, string path, ReadOnlySpan segments) @@ -190,7 +196,7 @@ namespace Microsoft.AspNetCore.Routing.Matching policyTransitions = states[destination].PolicyTransitions; } - return states[destination].Candidates; + return (states[destination].Candidates, states[destination].Policies); } private void ProcessCaptures( @@ -239,7 +245,7 @@ namespace Microsoft.AspNetCore.Routing.Matching { for (var i = 0; i < complexSegments.Length; i++) { - (var complexSegment, var segmentIndex) = complexSegments[i]; + (var complexSegment, var segmentIndex) = complexSegments[i]; var segment = segments[segmentIndex]; var text = path.Substring(segment.Start, segment.Length); if (!RoutePatternMatcher.MatchComplexSegment(complexSegment, text, values)) @@ -263,7 +269,7 @@ namespace Microsoft.AspNetCore.Routing.Matching var constraint = constraints[i]; if (!constraint.Value.Match(httpContext, NullRouter.Instance, constraint.Key, values, RouteDirection.IncomingRequest)) { - Logger.CandidateRejectedByConstraint(_logger, httpContext.Request.Path, endpoint, constraint.Key, constraint.Value, values[constraint.Key]); + Logger.CandidateRejectedByConstraint(_logger, httpContext.Request.Path, endpoint, constraint.Key, constraint.Value, values[constraint.Key]); return false; } } @@ -271,6 +277,26 @@ namespace Microsoft.AspNetCore.Routing.Matching return true; } + private async Task SelectEndpointWithPoliciesAsync( + HttpContext httpContext, + EndpointSelectorContext context, + IEndpointSelectorPolicy[] policies, + CandidateSet candidateSet) + { + for (var i = 0; i < policies.Length; i++) + { + var policy = policies[i]; + await policy.ApplyAsync(httpContext, context, candidateSet); + if (context.Endpoint != null) + { + // This is a short circuit, the selector chose an endpoint. + return; + } + } + + await _selector.SelectAsync(httpContext, context, candidateSet); + } + internal static class EventIds { public static readonly EventId CandidatesNotFound = new EventId(1000, "CandidatesNotFound"); diff --git a/src/Microsoft.AspNetCore.Routing/Matching/DfaMatcherBuilder.cs b/src/Microsoft.AspNetCore.Routing/Matching/DfaMatcherBuilder.cs index bff708feea..b4e9ff538d 100644 --- a/src/Microsoft.AspNetCore.Routing/Matching/DfaMatcherBuilder.cs +++ b/src/Microsoft.AspNetCore.Routing/Matching/DfaMatcherBuilder.cs @@ -303,8 +303,10 @@ namespace Microsoft.AspNetCore.Routing.Matching var exitDestination = stateCount - 1; AddNode(root, states, exitDestination); + // The root state only has a jump table. states[exitDestination] = new DfaState( Array.Empty(), + Array.Empty(), JumpTableBuilder.Build(exitDestination, exitDestination, null), null); @@ -375,8 +377,30 @@ namespace Microsoft.AspNetCore.Routing.Matching } var candidates = CreateCandidates(node.Matches); + + // Perf: most of the time there aren't any endpoint selector policies, create + // this lazily. + List endpointSelectorPolicies = null; + if (node.Matches?.Count > 0) + { + for (var i = 0; i < _policies.Length; i++) + { + if (_policies[i] is IEndpointSelectorPolicy endpointSelectorPolicy && + endpointSelectorPolicy.AppliesToEndpoints(node.Matches)) + { + if (endpointSelectorPolicies == null) + { + endpointSelectorPolicies = new List(); + } + + endpointSelectorPolicies.Add(endpointSelectorPolicy); + } + } + } + states[currentStateIndex] = new DfaState( candidates, + endpointSelectorPolicies?.ToArray() ?? Array.Empty(), JumpTableBuilder.Build(currentDefaultDestination, currentExitDestination, pathEntries), BuildPolicy(currentExitDestination, node.NodeBuilder, policyEntries)); @@ -617,7 +641,7 @@ namespace Microsoft.AspNetCore.Routing.Matching for (var j = 0; j < work.Count; j++) { var parent = work[j]; - if (!nodeBuilder.AppliesToNode(parent.Matches ?? (IReadOnlyList)Array.Empty())) + if (!nodeBuilder.AppliesToEndpoints(parent.Matches ?? (IReadOnlyList)Array.Empty())) { // This node-builder doesn't care about this node, so add it to the list // to be processed by the next node-builder. diff --git a/src/Microsoft.AspNetCore.Routing/Matching/DfaState.cs b/src/Microsoft.AspNetCore.Routing/Matching/DfaState.cs index 1e7b9a16bf..191177e54d 100644 --- a/src/Microsoft.AspNetCore.Routing/Matching/DfaState.cs +++ b/src/Microsoft.AspNetCore.Routing/Matching/DfaState.cs @@ -9,19 +9,25 @@ namespace Microsoft.AspNetCore.Routing.Matching internal readonly struct DfaState { public readonly Candidate[] Candidates; + public readonly IEndpointSelectorPolicy[] Policies; public readonly JumpTable PathTransitions; public readonly PolicyJumpTable PolicyTransitions; - public DfaState(Candidate[] candidates, JumpTable pathTransitions, PolicyJumpTable policyTransitions) + public DfaState( + Candidate[] candidates, + IEndpointSelectorPolicy[] policies, + JumpTable pathTransitions, + PolicyJumpTable policyTransitions) { Candidates = candidates; + Policies = policies; PathTransitions = pathTransitions; PolicyTransitions = policyTransitions; } public string DebuggerToString() { - return + return $"matches: {Candidates?.Length ?? 0}, " + $"path: ({PathTransitions?.DebuggerToString()}), " + $"policy: ({PolicyTransitions?.DebuggerToString()})"; diff --git a/src/Microsoft.AspNetCore.Routing/Matching/HttpMethodMatcherPolicy.cs b/src/Microsoft.AspNetCore.Routing/Matching/HttpMethodMatcherPolicy.cs index 8a5beb5bd9..b03c307a21 100644 --- a/src/Microsoft.AspNetCore.Routing/Matching/HttpMethodMatcherPolicy.cs +++ b/src/Microsoft.AspNetCore.Routing/Matching/HttpMethodMatcherPolicy.cs @@ -47,7 +47,7 @@ namespace Microsoft.AspNetCore.Routing.Matching /// /// /// - public bool AppliesToNode(IReadOnlyList endpoints) + public bool AppliesToEndpoints(IReadOnlyList endpoints) { if (endpoints == null) { diff --git a/src/Microsoft.AspNetCore.Routing/Matching/IEndpointSelectorPolicy.cs b/src/Microsoft.AspNetCore.Routing/Matching/IEndpointSelectorPolicy.cs index f1488bc98d..cae20e085b 100644 --- a/src/Microsoft.AspNetCore.Routing/Matching/IEndpointSelectorPolicy.cs +++ b/src/Microsoft.AspNetCore.Routing/Matching/IEndpointSelectorPolicy.cs @@ -2,6 +2,7 @@ // Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information. using Microsoft.AspNetCore.Http; +using System.Collections.Generic; using System.Threading.Tasks; namespace Microsoft.AspNetCore.Routing.Matching @@ -14,6 +15,16 @@ namespace Microsoft.AspNetCore.Routing.Matching /// public interface IEndpointSelectorPolicy { + /// + /// Returns a value that indicates whether the applies + /// to any endpoint in . + /// + /// The set of candidate values. + /// + /// true if the policy applies to any endpoint in , otherwise false. + /// + bool AppliesToEndpoints(IReadOnlyList endpoints); + /// /// Applies the policy to the . /// diff --git a/src/Microsoft.AspNetCore.Routing/Matching/INodeBuilderPolicy.cs b/src/Microsoft.AspNetCore.Routing/Matching/INodeBuilderPolicy.cs index 8be6cb75c9..0790c5f295 100644 --- a/src/Microsoft.AspNetCore.Routing/Matching/INodeBuilderPolicy.cs +++ b/src/Microsoft.AspNetCore.Routing/Matching/INodeBuilderPolicy.cs @@ -8,7 +8,7 @@ namespace Microsoft.AspNetCore.Routing.Matching { public interface INodeBuilderPolicy { - bool AppliesToNode(IReadOnlyList endpoints); + bool AppliesToEndpoints(IReadOnlyList endpoints); IReadOnlyList GetEdges(IReadOnlyList endpoints); diff --git a/test/Microsoft.AspNetCore.Routing.Tests/Matching/DefaultEndpointSelectorTest.cs b/test/Microsoft.AspNetCore.Routing.Tests/Matching/DefaultEndpointSelectorTest.cs index ae67bf53fb..7c5bdbdd95 100644 --- a/test/Microsoft.AspNetCore.Routing.Tests/Matching/DefaultEndpointSelectorTest.cs +++ b/test/Microsoft.AspNetCore.Routing.Tests/Matching/DefaultEndpointSelectorTest.cs @@ -174,80 +174,6 @@ test: /test3", ex.Message); Assert.Null(context.Endpoint); } - [Fact] - public async Task SelectAsync_RunsEndpointSelectorPolicies() - { - // Arrange - var endpoints = new RouteEndpoint[] { CreateEndpoint("/test1"), CreateEndpoint("/test2"), CreateEndpoint("/test3"), }; - var scores = new int[] { 0, 0, 1 }; - var candidateSet = CreateCandidateSet(endpoints, scores); - - var policy = new Mock(); - policy - .As() - .Setup(p => p.ApplyAsync(It.IsAny(), It.IsAny(), It.IsAny())) - .Returns((c, f, cs) => - { - cs.SetValidity(1, false); - return Task.CompletedTask; - }); - - candidateSet.SetValidity(0, false); - candidateSet.SetValidity(1, true); - candidateSet.SetValidity(2, true); - - var (httpContext, context) = CreateContext(); - var selector = CreateSelector(policy.Object); - - // Act - await selector.SelectAsync(httpContext, context, candidateSet); - - // Assert - Assert.Same(endpoints[2], context.Endpoint); - } - - [Fact] - public async Task SelectAsync_RunsEndpointSelectorPolicies_CanShortCircuit() - { - // Arrange - var endpoints = new RouteEndpoint[] { CreateEndpoint("/test1"), CreateEndpoint("/test2"), CreateEndpoint("/test3"), }; - var scores = new int[] { 0, 0, 1 }; - var candidateSet = CreateCandidateSet(endpoints, scores); - - var policy1 = new Mock(); - policy1 - .As() - .Setup(p => p.ApplyAsync(It.IsAny(), It.IsAny(), It.IsAny())) - .Returns((c, f, cs) => - { - f.Endpoint = cs[0].Endpoint; - return Task.CompletedTask; - }); - - // This should never run, it's after policy1 which short circuits - var policy2 = new Mock(); - policy2 - .SetupGet(p => p.Order) - .Returns(1000); - policy2 - .As() - .Setup(p => p.ApplyAsync(It.IsAny(), It.IsAny(), It.IsAny())) - .Throws(new InvalidOperationException()); - - candidateSet.SetValidity(0, false); - candidateSet.SetValidity(1, true); - candidateSet.SetValidity(2, true); - - var (httpContext, context) = CreateContext(); - var selector = CreateSelector(policy1.Object, policy2.Object); - - // Act - await selector.SelectAsync(httpContext, context, candidateSet); - - // Assert - Assert.Same(endpoints[0], context.Endpoint); - } - private static (HttpContext httpContext, EndpointSelectorContext context) CreateContext() { var context = new EndpointSelectorContext(); @@ -273,9 +199,9 @@ test: /test3", ex.Message); return new CandidateSet(endpoints, new RouteValueDictionary[endpoints.Length], scores); } - private static DefaultEndpointSelector CreateSelector(params MatcherPolicy[] policies) + private static DefaultEndpointSelector CreateSelector() { - return new DefaultEndpointSelector(policies); + return new DefaultEndpointSelector(); } } } \ No newline at end of file diff --git a/test/Microsoft.AspNetCore.Routing.Tests/Matching/DfaMatcherBuilderTest.cs b/test/Microsoft.AspNetCore.Routing.Tests/Matching/DfaMatcherBuilderTest.cs index e2eec83cb0..2eff433602 100644 --- a/test/Microsoft.AspNetCore.Routing.Tests/Matching/DfaMatcherBuilderTest.cs +++ b/test/Microsoft.AspNetCore.Routing.Tests/Matching/DfaMatcherBuilderTest.cs @@ -1013,7 +1013,7 @@ namespace Microsoft.AspNetCore.Routing.Matching public IComparer Comparer => EndpointMetadataComparer.Default; - public bool AppliesToNode(IReadOnlyList endpoints) + public bool AppliesToEndpoints(IReadOnlyList endpoints) { return endpoints.Any(e => e.Metadata.GetMetadata() != null); } @@ -1052,7 +1052,7 @@ namespace Microsoft.AspNetCore.Routing.Matching public IComparer Comparer => EndpointMetadataComparer.Default; - public bool AppliesToNode(IReadOnlyList endpoints) + public bool AppliesToEndpoints(IReadOnlyList endpoints) { return endpoints.Any(e => e.Metadata.GetMetadata() != null); } @@ -1077,7 +1077,7 @@ namespace Microsoft.AspNetCore.Routing.Matching public IComparer Comparer => EndpointMetadataComparer.Default; - public bool AppliesToNode(IReadOnlyList endpoints) + public bool AppliesToEndpoints(IReadOnlyList endpoints) { return endpoints.Any(e => e.Metadata.GetMetadata() != null); } diff --git a/test/Microsoft.AspNetCore.Routing.Tests/Matching/DfaMatcherTest.cs b/test/Microsoft.AspNetCore.Routing.Tests/Matching/DfaMatcherTest.cs index 08e3b76570..6227bda5b1 100644 --- a/test/Microsoft.AspNetCore.Routing.Tests/Matching/DfaMatcherTest.cs +++ b/test/Microsoft.AspNetCore.Routing.Tests/Matching/DfaMatcherTest.cs @@ -1,6 +1,7 @@ // Copyright (c) .NET Foundation. All rights reserved. // Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information. +using System; using System.Collections.Generic; using System.Threading.Tasks; using Microsoft.AspNetCore.Http; @@ -28,13 +29,25 @@ namespace Microsoft.AspNetCore.Routing.Matching template); } - private Matcher CreateDfaMatcher(EndpointDataSource dataSource, EndpointSelector endpointSelector = null, ILoggerFactory loggerFactory = null) + private Matcher CreateDfaMatcher( + EndpointDataSource dataSource, + MatcherPolicy[] policies = null, + EndpointSelector endpointSelector = null, + ILoggerFactory loggerFactory = null) { var serviceCollection = new ServiceCollection() .AddLogging() .AddOptions() .AddRouting(); + if (policies != null) + { + for (var i = 0; i < policies.Length; i++) + { + serviceCollection.AddSingleton(policies[i]); + } + } + if (endpointSelector != null) { serviceCollection.AddSingleton(endpointSelector); @@ -152,7 +165,7 @@ namespace Microsoft.AspNetCore.Routing.Matching endpoint2 }); - var matcher = CreateDfaMatcher(endpointDataSource, endpointSelector.Object); + var matcher = CreateDfaMatcher(endpointDataSource, endpointSelector: endpointSelector.Object); var (httpContext, context) = CreateContext(); httpContext.Request.Path = "/Teams"; @@ -331,6 +344,126 @@ namespace Microsoft.AspNetCore.Routing.Matching }); } + [Fact] + public async Task MatchAsync_RunsApplicableEndpointSelectorPolicies() + { + // Arrange + var dataSource = new DefaultEndpointDataSource(new List + { + CreateEndpoint("/test/{id:alpha}", 0), + CreateEndpoint("/test/{id:int}", 0), + CreateEndpoint("/test/{id}", 0), + }); + + var policy = new Mock(); + policy + .As() + .Setup(p => p.AppliesToEndpoints(It.IsAny>())).Returns(true); + policy + .As() + .Setup(p => p.ApplyAsync(It.IsAny(), It.IsAny(), It.IsAny())) + .Returns((c, f, cs) => + { + cs.SetValidity(1, false); + return Task.CompletedTask; + }); + + var matcher = CreateDfaMatcher(dataSource, policies: new[] { policy.Object, }); + + var (httpContext, context) = CreateContext(); + httpContext.Request.Path = "/test/17"; + + // Act + await matcher.MatchAsync(httpContext, context); + + // Assert + Assert.Same(dataSource.Endpoints[2], context.Endpoint); + } + + [Fact] + public async Task MatchAsync_SkipsNonApplicableEndpointSelectorPolicies() + { + // Arrange + var dataSource = new DefaultEndpointDataSource(new List + { + CreateEndpoint("/test/{id:alpha}", 0), + CreateEndpoint("/test/{id:int}", 0), + CreateEndpoint("/test/{id}", 0), + }); + + var policy = new Mock(); + policy + .As() + .Setup(p => p.AppliesToEndpoints(It.IsAny>())).Returns(false); + policy + .As() + .Setup(p => p.ApplyAsync(It.IsAny(), It.IsAny(), It.IsAny())) + .Returns((c, f, cs) => + { + throw null; // Won't be called. + }); + + var matcher = CreateDfaMatcher(dataSource, policies: new[] { policy.Object, }); + + var (httpContext, context) = CreateContext(); + httpContext.Request.Path = "/test/17"; + + // Act + await matcher.MatchAsync(httpContext, context); + + // Assert + Assert.Same(dataSource.Endpoints[1], context.Endpoint); + } + + [Fact] + public async Task MatchAsync_RunsEndpointSelectorPolicies_CanShortCircuit() + { + // Arrange + var dataSource = new DefaultEndpointDataSource(new List + { + CreateEndpoint("/test/{id:alpha}", 0), + CreateEndpoint("/test/{id:int}", 0), + CreateEndpoint("/test/{id}", 0), + }); + + var policy1 = new Mock(); + policy1 + .As() + .Setup(p => p.AppliesToEndpoints(It.IsAny>())).Returns(true); + policy1 + .As() + .Setup(p => p.ApplyAsync(It.IsAny(), It.IsAny(), It.IsAny())) + .Returns((c, f, cs) => + { + f.Endpoint = cs[0].Endpoint; + return Task.CompletedTask; + }); + + // This should never run, it's after policy1 which short circuits + var policy2 = new Mock(); + policy2 + .SetupGet(p => p.Order) + .Returns(1000); + policy2 + .As() + .Setup(p => p.AppliesToEndpoints(It.IsAny>())).Returns(true); + policy2 + .As() + .Setup(p => p.ApplyAsync(It.IsAny(), It.IsAny(), It.IsAny())) + .Throws(new InvalidOperationException()); + + var matcher = CreateDfaMatcher(dataSource, policies: new[] { policy1.Object, policy2.Object, }); + + var (httpContext, context) = CreateContext(); + httpContext.Request.Path = "/test/17"; + + // Act + await matcher.MatchAsync(httpContext, context); + + // Assert + Assert.Same(dataSource.Endpoints[0], context.Endpoint); + } + private (HttpContext httpContext, EndpointSelectorContext context) CreateContext() { var context = new EndpointSelectorContext(); diff --git a/test/Microsoft.AspNetCore.Routing.Tests/Matching/HttpMethodMatcherPolicyTest.cs b/test/Microsoft.AspNetCore.Routing.Tests/Matching/HttpMethodMatcherPolicyTest.cs index 070147fee1..37353903d0 100644 --- a/test/Microsoft.AspNetCore.Routing.Tests/Matching/HttpMethodMatcherPolicyTest.cs +++ b/test/Microsoft.AspNetCore.Routing.Tests/Matching/HttpMethodMatcherPolicyTest.cs @@ -22,7 +22,7 @@ namespace Microsoft.AspNetCore.Routing.Matching var policy = CreatePolicy(); // Act - var result = policy.AppliesToNode(endpoints); + var result = policy.AppliesToEndpoints(endpoints); // Assert Assert.False(result); @@ -40,7 +40,7 @@ namespace Microsoft.AspNetCore.Routing.Matching var policy = CreatePolicy(); // Act - var result = policy.AppliesToNode(endpoints); + var result = policy.AppliesToEndpoints(endpoints); // Assert Assert.False(result); @@ -59,7 +59,7 @@ namespace Microsoft.AspNetCore.Routing.Matching var policy = CreatePolicy(); // Act - var result = policy.AppliesToNode(endpoints); + var result = policy.AppliesToEndpoints(endpoints); // Assert Assert.True(result); diff --git a/test/Microsoft.AspNetCore.Routing.Tests/Matching/RouteMatcherBuilder.cs b/test/Microsoft.AspNetCore.Routing.Tests/Matching/RouteMatcherBuilder.cs index a47aafac5b..da068f5198 100644 --- a/test/Microsoft.AspNetCore.Routing.Tests/Matching/RouteMatcherBuilder.cs +++ b/test/Microsoft.AspNetCore.Routing.Tests/Matching/RouteMatcherBuilder.cs @@ -30,7 +30,7 @@ namespace Microsoft.AspNetCore.Routing.Matching public override Matcher Build() { - var selector = new DefaultEndpointSelector(Array.Empty()); + var selector = new DefaultEndpointSelector(); var groups = _endpoints .GroupBy(e => (e.Order, e.RoutePattern.InboundPrecedence, e.RoutePattern.RawText)) diff --git a/test/Microsoft.AspNetCore.Routing.Tests/Matching/TreeRouterMatcherBuilder.cs b/test/Microsoft.AspNetCore.Routing.Tests/Matching/TreeRouterMatcherBuilder.cs index 0924e3bfd8..b6346b0f14 100644 --- a/test/Microsoft.AspNetCore.Routing.Tests/Matching/TreeRouterMatcherBuilder.cs +++ b/test/Microsoft.AspNetCore.Routing.Tests/Matching/TreeRouterMatcherBuilder.cs @@ -37,7 +37,7 @@ namespace Microsoft.AspNetCore.Routing.Matching new DefaultObjectPool(new UriBuilderContextPooledObjectPolicy()), new DefaultInlineConstraintResolver(Options.Create(new RouteOptions()), new TestServiceProvider())); - var selector = new DefaultEndpointSelector(Array.Empty()); + var selector = new DefaultEndpointSelector(); var groups = _endpoints .GroupBy(e => (e.Order, e.RoutePattern.InboundPrecedence, e.RoutePattern.RawText)) From 81fb93a896f482fa1f46bcfe6cb32cfb040c15b1 Mon Sep 17 00:00:00 2001 From: Ryan Nowak Date: Fri, 5 Oct 2018 21:23:00 -0700 Subject: [PATCH 198/221] Fix Routing#837 Fixes a few issues with how we initialize the middleare. - Always completes the intitialization task - Avoids capturing the ExecutionContext - Allows initialization to occur repeatedly when it fails --- .../EndpointRoutingMiddleware.cs | 50 +++++++++++++++---- .../EndpointRoutingMiddlewareTest.cs | 32 +++++++++++- 2 files changed, 69 insertions(+), 13 deletions(-) diff --git a/src/Microsoft.AspNetCore.Routing/EndpointRoutingMiddleware.cs b/src/Microsoft.AspNetCore.Routing/EndpointRoutingMiddleware.cs index 0b82dc3438..60efa46586 100644 --- a/src/Microsoft.AspNetCore.Routing/EndpointRoutingMiddleware.cs +++ b/src/Microsoft.AspNetCore.Routing/EndpointRoutingMiddleware.cs @@ -95,23 +95,51 @@ namespace Microsoft.AspNetCore.Routing // blocking operation if you have a low core count and enough work to do. private Task InitializeAsync() { - if (_initializationTask != null) + var initializationTask = _initializationTask; + if (initializationTask != null) { - return _initializationTask; + return initializationTask; } - var initializationTask = new TaskCompletionSource(); - if (Interlocked.CompareExchange>( - ref _initializationTask, - initializationTask.Task, - null) == null) + return InitializeCoreAsync(); + } + + private Task InitializeCoreAsync() + { + var initialization = new TaskCompletionSource(TaskCreationOptions.RunContinuationsAsynchronously); + var initializationTask = Interlocked.CompareExchange(ref _initializationTask, initialization.Task, null); + if (initializationTask != null) + { + // This thread lost the race, join the existing task. + return initializationTask; + } + + // This thread won the race, do the initialization. + try { - // This thread won the race, do the initialization. var matcher = _matcherFactory.CreateMatcher(_endpointDataSource); - initializationTask.SetResult(matcher); - } - return _initializationTask; + // Now replace the initialization task with one created with the default execution context. + // This is important because capturing the execution context will leak memory in ASP.NET Core. + using (ExecutionContext.SuppressFlow()) + { + _initializationTask = Task.FromResult(matcher); + } + + // Complete the task, this will unblock any requests that came in while initializing. + initialization.SetResult(matcher); + return initialization.Task; + } + catch (Exception ex) + { + // Allow initialization to occur again. Since DataSources can change, it's possible + // for the developer to correct the data causing the failure. + _initializationTask = null; + + // Complete the task, this will throw for any requests that came in while initializing. + initialization.SetException(ex); + return initialization.Task; + } } private static class Log diff --git a/test/Microsoft.AspNetCore.Routing.Tests/EndpointRoutingMiddlewareTest.cs b/test/Microsoft.AspNetCore.Routing.Tests/EndpointRoutingMiddlewareTest.cs index dad2fdf0ff..48861da09b 100644 --- a/test/Microsoft.AspNetCore.Routing.Tests/EndpointRoutingMiddlewareTest.cs +++ b/test/Microsoft.AspNetCore.Routing.Tests/EndpointRoutingMiddlewareTest.cs @@ -2,14 +2,17 @@ // Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information. using System; +using System.Threading; using System.Threading.Tasks; using Microsoft.AspNetCore.Http; using Microsoft.AspNetCore.Http.Features; +using Microsoft.AspNetCore.Routing.Matching; using Microsoft.AspNetCore.Routing.TestObjects; using Microsoft.Extensions.Logging; using Microsoft.Extensions.Logging.Abstractions; using Microsoft.Extensions.Logging.Testing; using Microsoft.Extensions.Options; +using Moq; using Xunit; namespace Microsoft.AspNetCore.Routing @@ -103,6 +106,29 @@ namespace Microsoft.AspNetCore.Routing Assert.Equal("testValue", routeValuesFeature.RouteValues["testKey"]); } + [Fact] + public async Task Invoke_InitializationFailure_AllowsReinitialization() + { + // Arrange + var httpContext = CreateHttpContext(); + + var matcherFactory = new Mock(); + matcherFactory + .Setup(f => f.CreateMatcher(It.IsAny())) + .Throws(new InvalidTimeZoneException()) + .Verifiable(); + + var middleware = CreateMiddleware(matcherFactory: matcherFactory.Object); + + // Act + await Assert.ThrowsAsync(async () => await middleware.Invoke(httpContext)); + await Assert.ThrowsAsync(async () => await middleware.Invoke(httpContext)); + + // Assert + matcherFactory + .Verify(f => f.CreateMatcher(It.IsAny()), Times.Exactly(2)); + } + private HttpContext CreateHttpContext() { var context = new EndpointSelectorContext(); @@ -116,14 +142,16 @@ namespace Microsoft.AspNetCore.Routing return httpContext; } - private EndpointRoutingMiddleware CreateMiddleware(Logger logger = null) + private EndpointRoutingMiddleware CreateMiddleware( + Logger logger = null, + MatcherFactory matcherFactory = null) { RequestDelegate next = (c) => Task.FromResult(null); logger = logger ?? new Logger(NullLoggerFactory.Instance); + matcherFactory = matcherFactory ?? new TestMatcherFactory(true); var options = Options.Create(new EndpointOptions()); - var matcherFactory = new TestMatcherFactory(true); var middleware = new EndpointRoutingMiddleware( matcherFactory, new CompositeEndpointDataSource(Array.Empty()), From 7b16053f27ac982eb71317fa8072b55c443aa158 Mon Sep 17 00:00:00 2001 From: Ryan Nowak Date: Sat, 6 Oct 2018 17:00:24 -0700 Subject: [PATCH 199/221] Misc polishing Rename `IEndpointFinder<>` -> `IAddressScheme<>` Address the two 'marker' metadata types that I'm aware of. --- ...RouteRouteValuesAddressSchemeBenchmark.cs} | 20 ++--- .../DefaultLinkGenerator.cs | 2 +- .../RoutingServiceCollectionExtensions.cs | 4 +- ...Finder.cs => EndpointNameAddressScheme.cs} | 6 +- ...FinderOfT.cs => IEndpointAddressScheme.cs} | 6 +- .../ISuppressLinkGenerationMetadata.cs | 8 +- .../ISuppressMatchingMetadata.cs | 8 +- .../Internal/DfaGraphWriter.cs | 2 +- .../Matching/DataSourceDependentMatcher.cs | 2 +- ...tFinder.cs => RouteValuesAddressScheme.cs} | 8 +- .../SuppressLinkGenerationMetadata.cs | 8 +- .../SuppressMatchingMetadata.cs | 8 +- .../DefaultLinkGeneratorTest.cs | 6 +- ...st.cs => EndpointNameAddressSchemeTest.cs} | 74 ++++++++++------ ...LinkGeneratorEndpointNameExtensionsTest.cs | 2 +- ...neratorRouteValuesAddressExtensionsTest.cs | 2 +- .../DataSourceDependentMatcherTest.cs | 27 +++++- ...est.cs => RouteValuesAddressSchemeTest.cs} | 88 ++++++++++++------- 18 files changed, 180 insertions(+), 101 deletions(-) rename benchmarks/Microsoft.AspNetCore.Routing.Performance/LinkGeneration/{SingleRouteRouteValuesBasedEndpointFinderBenchmark.cs => SingleRouteRouteValuesAddressSchemeBenchmark.cs} (72%) rename src/Microsoft.AspNetCore.Routing/{EndpointNameEndpointFinder.cs => EndpointNameAddressScheme.cs} (94%) rename src/Microsoft.AspNetCore.Routing/{IEndpointFinderOfT.cs => IEndpointAddressScheme.cs} (76%) rename src/Microsoft.AspNetCore.Routing/{RouteValuesBasedEndpointFinder.cs => RouteValuesAddressScheme.cs} (93%) rename test/Microsoft.AspNetCore.Routing.Tests/{EndpointNameEndpointFinderTest.cs => EndpointNameAddressSchemeTest.cs} (63%) rename test/Microsoft.AspNetCore.Routing.Tests/{RouteValueBasedEndpointFinderTest.cs => RouteValuesAddressSchemeTest.cs} (71%) diff --git a/benchmarks/Microsoft.AspNetCore.Routing.Performance/LinkGeneration/SingleRouteRouteValuesBasedEndpointFinderBenchmark.cs b/benchmarks/Microsoft.AspNetCore.Routing.Performance/LinkGeneration/SingleRouteRouteValuesAddressSchemeBenchmark.cs similarity index 72% rename from benchmarks/Microsoft.AspNetCore.Routing.Performance/LinkGeneration/SingleRouteRouteValuesBasedEndpointFinderBenchmark.cs rename to benchmarks/Microsoft.AspNetCore.Routing.Performance/LinkGeneration/SingleRouteRouteValuesAddressSchemeBenchmark.cs index 46241462ac..d6295f890e 100644 --- a/benchmarks/Microsoft.AspNetCore.Routing.Performance/LinkGeneration/SingleRouteRouteValuesBasedEndpointFinderBenchmark.cs +++ b/benchmarks/Microsoft.AspNetCore.Routing.Performance/LinkGeneration/SingleRouteRouteValuesAddressSchemeBenchmark.cs @@ -8,10 +8,10 @@ using Microsoft.Extensions.DependencyInjection; namespace Microsoft.AspNetCore.Routing.LinkGeneration { - public class SingleRouteRouteValuesBasedEndpointFinderBenchmark : EndpointRoutingBenchmarkBase + public class SingleRouteRouteValuesAddressSchemeBenchmark : EndpointRoutingBenchmarkBase { - private IEndpointFinder _finder; - private TestEndpointFinder _baseFinder; + private IEndpointAddressScheme _implementation; + private TestAddressScheme _baseline; private (HttpContext HttpContext, RouteValueDictionary AmbientValues) _requestContext; [GlobalSetup] @@ -23,8 +23,8 @@ namespace Microsoft.AspNetCore.Routing.LinkGeneration SetupEndpoints(CreateEndpoint(template, defaults, requiredValues: requiredValues, routeName: "ProductDetails")); var services = CreateServices(); - _finder = services.GetRequiredService>(); - _baseFinder = new TestEndpointFinder(Endpoints[0]); + _implementation = services.GetRequiredService>(); + _baseline = new TestAddressScheme(Endpoints[0]); _requestContext = CreateCurrentRequestContext(); } @@ -32,13 +32,13 @@ namespace Microsoft.AspNetCore.Routing.LinkGeneration [Benchmark(Baseline = true)] public void Baseline() { - var actual = _baseFinder.FindEndpoints(address: 0); + var actual = _baseline.FindEndpoints(address: 0); } [Benchmark] public void RouteValues() { - var actual = _finder.FindEndpoints(new RouteValuesAddress + var actual = _implementation.FindEndpoints(new RouteValuesAddress { AmbientValues = _requestContext.AmbientValues, ExplicitValues = new RouteValueDictionary(new { controller = "Products", action = "Details" }), @@ -49,18 +49,18 @@ namespace Microsoft.AspNetCore.Routing.LinkGeneration [Benchmark] public void RouteName() { - var actual = _finder.FindEndpoints(new RouteValuesAddress + var actual = _implementation.FindEndpoints(new RouteValuesAddress { AmbientValues = _requestContext.AmbientValues, RouteName = "ProductDetails" }); } - private class TestEndpointFinder : IEndpointFinder + private class TestAddressScheme : IEndpointAddressScheme { private readonly Endpoint _endpoint; - public TestEndpointFinder(Endpoint endpoint) + public TestAddressScheme(Endpoint endpoint) { _endpoint = endpoint; } diff --git a/src/Microsoft.AspNetCore.Routing/DefaultLinkGenerator.cs b/src/Microsoft.AspNetCore.Routing/DefaultLinkGenerator.cs index c652be90be..bc4b3f85b5 100644 --- a/src/Microsoft.AspNetCore.Routing/DefaultLinkGenerator.cs +++ b/src/Microsoft.AspNetCore.Routing/DefaultLinkGenerator.cs @@ -202,7 +202,7 @@ namespace Microsoft.AspNetCore.Routing private List GetEndpoints(TAddress address) { - var addressingScheme = _serviceProvider.GetRequiredService>(); + var addressingScheme = _serviceProvider.GetRequiredService>(); var endpoints = addressingScheme.FindEndpoints(address).OfType().ToList(); if (endpoints.Count == 0) diff --git a/src/Microsoft.AspNetCore.Routing/DependencyInjection/RoutingServiceCollectionExtensions.cs b/src/Microsoft.AspNetCore.Routing/DependencyInjection/RoutingServiceCollectionExtensions.cs index 6037f8fa45..1fa562966c 100644 --- a/src/Microsoft.AspNetCore.Routing/DependencyInjection/RoutingServiceCollectionExtensions.cs +++ b/src/Microsoft.AspNetCore.Routing/DependencyInjection/RoutingServiceCollectionExtensions.cs @@ -69,8 +69,8 @@ namespace Microsoft.Extensions.DependencyInjection // Link generation related services services.TryAddSingleton(); - services.TryAddSingleton, EndpointNameEndpointFinder>(); - services.TryAddSingleton, RouteValuesBasedEndpointFinder>(); + services.TryAddSingleton, EndpointNameAddressScheme>(); + services.TryAddSingleton, RouteValuesAddressScheme>(); // // Endpoint Selection diff --git a/src/Microsoft.AspNetCore.Routing/EndpointNameEndpointFinder.cs b/src/Microsoft.AspNetCore.Routing/EndpointNameAddressScheme.cs similarity index 94% rename from src/Microsoft.AspNetCore.Routing/EndpointNameEndpointFinder.cs rename to src/Microsoft.AspNetCore.Routing/EndpointNameAddressScheme.cs index 404ffde04b..2716de36e8 100644 --- a/src/Microsoft.AspNetCore.Routing/EndpointNameEndpointFinder.cs +++ b/src/Microsoft.AspNetCore.Routing/EndpointNameAddressScheme.cs @@ -9,11 +9,11 @@ using Microsoft.AspNetCore.Http; namespace Microsoft.AspNetCore.Routing { - internal class EndpointNameEndpointFinder : IEndpointFinder + internal class EndpointNameAddressScheme : IEndpointAddressScheme { private readonly DataSourceDependentCache> _cache; - public EndpointNameEndpointFinder(CompositeEndpointDataSource dataSource) + public EndpointNameAddressScheme(CompositeEndpointDataSource dataSource) { _cache = new DataSourceDependentCache>(dataSource, Initialize); } @@ -94,7 +94,7 @@ namespace Microsoft.AspNetCore.Routing string GetEndpointName(Endpoint endpoint) { - if (endpoint.Metadata.GetMetadata() != null) + if (endpoint.Metadata.GetMetadata()?.SuppressLinkGeneration == true) { // Skip anything that's suppressed for linking. return null; diff --git a/src/Microsoft.AspNetCore.Routing/IEndpointFinderOfT.cs b/src/Microsoft.AspNetCore.Routing/IEndpointAddressScheme.cs similarity index 76% rename from src/Microsoft.AspNetCore.Routing/IEndpointFinderOfT.cs rename to src/Microsoft.AspNetCore.Routing/IEndpointAddressScheme.cs index b40453d678..e6b6a435bc 100644 --- a/src/Microsoft.AspNetCore.Routing/IEndpointFinderOfT.cs +++ b/src/Microsoft.AspNetCore.Routing/IEndpointAddressScheme.cs @@ -7,13 +7,13 @@ using Microsoft.AspNetCore.Http; namespace Microsoft.AspNetCore.Routing { /// - /// Defines a contract to find endpoints based on the supplied lookup information. + /// Defines a contract to find endpoints based on the provided address. /// /// The address type to look up endpoints. - public interface IEndpointFinder + public interface IEndpointAddressScheme { /// - /// Finds endpoints based on the supplied lookup information. + /// Finds endpoints based on the provided . /// /// The information used to look up endpoints. /// A collection of . diff --git a/src/Microsoft.AspNetCore.Routing/ISuppressLinkGenerationMetadata.cs b/src/Microsoft.AspNetCore.Routing/ISuppressLinkGenerationMetadata.cs index 4725b1a8c2..3541bad830 100644 --- a/src/Microsoft.AspNetCore.Routing/ISuppressLinkGenerationMetadata.cs +++ b/src/Microsoft.AspNetCore.Routing/ISuppressLinkGenerationMetadata.cs @@ -4,10 +4,14 @@ namespace Microsoft.AspNetCore.Routing { /// - /// Represents metadata used during link generation. - /// The associated endpoint will not be considered for link generation. + /// Represents metadata used during link generation. If is true + /// the associated endpoint will not be used for link generation. /// public interface ISuppressLinkGenerationMetadata { + /// + /// Gets a value indicating whether the assocated endpoint should be used for link generation. + /// + bool SuppressLinkGeneration { get; } } } \ No newline at end of file diff --git a/src/Microsoft.AspNetCore.Routing/ISuppressMatchingMetadata.cs b/src/Microsoft.AspNetCore.Routing/ISuppressMatchingMetadata.cs index 8baa0e0a77..d5acffb744 100644 --- a/src/Microsoft.AspNetCore.Routing/ISuppressMatchingMetadata.cs +++ b/src/Microsoft.AspNetCore.Routing/ISuppressMatchingMetadata.cs @@ -4,10 +4,14 @@ namespace Microsoft.AspNetCore.Routing { /// - /// Metadata used to prevent URL matching. The associated endpoint will not be - /// considered URL matching for incoming requests. + /// Metadata used to prevent URL matching. If is true the + /// associated endpoint will not be considered for URL matching. /// public interface ISuppressMatchingMetadata { + /// + /// Gets a value indicating whether the assocated endpoint should be used for URL matching. + /// + bool SuppressMatching { get; } } } \ No newline at end of file diff --git a/src/Microsoft.AspNetCore.Routing/Internal/DfaGraphWriter.cs b/src/Microsoft.AspNetCore.Routing/Internal/DfaGraphWriter.cs index ed1c3f2d9f..033a56c7ee 100644 --- a/src/Microsoft.AspNetCore.Routing/Internal/DfaGraphWriter.cs +++ b/src/Microsoft.AspNetCore.Routing/Internal/DfaGraphWriter.cs @@ -38,7 +38,7 @@ namespace Microsoft.AspNetCore.Routing.Internal var endpoints = dataSource.Endpoints; for (var i = 0; i < endpoints.Count; i++) { - if (endpoints[i] is RouteEndpoint endpoint && endpoint.Metadata.GetMetadata() == null) + if (endpoints[i] is RouteEndpoint endpoint && endpoint.Metadata.GetMetadata()?.SuppressMatching == true) { builder.AddEndpoint(endpoint); } diff --git a/src/Microsoft.AspNetCore.Routing/Matching/DataSourceDependentMatcher.cs b/src/Microsoft.AspNetCore.Routing/Matching/DataSourceDependentMatcher.cs index fec90b0d64..89c11090ba 100644 --- a/src/Microsoft.AspNetCore.Routing/Matching/DataSourceDependentMatcher.cs +++ b/src/Microsoft.AspNetCore.Routing/Matching/DataSourceDependentMatcher.cs @@ -40,7 +40,7 @@ namespace Microsoft.AspNetCore.Routing.Matching // By design we only look at RouteEndpoint here. It's possible to // register other endpoint types, which are non-routable, and it's // ok that we won't route to them. - if (endpoints[i] is RouteEndpoint endpoint && endpoint.Metadata.GetMetadata() == null) + if (endpoints[i] is RouteEndpoint endpoint && endpoint.Metadata.GetMetadata()?.SuppressMatching != true) { builder.AddEndpoint(endpoint); } diff --git a/src/Microsoft.AspNetCore.Routing/RouteValuesBasedEndpointFinder.cs b/src/Microsoft.AspNetCore.Routing/RouteValuesAddressScheme.cs similarity index 93% rename from src/Microsoft.AspNetCore.Routing/RouteValuesBasedEndpointFinder.cs rename to src/Microsoft.AspNetCore.Routing/RouteValuesAddressScheme.cs index 042cda60a6..dc103128d1 100644 --- a/src/Microsoft.AspNetCore.Routing/RouteValuesBasedEndpointFinder.cs +++ b/src/Microsoft.AspNetCore.Routing/RouteValuesAddressScheme.cs @@ -12,13 +12,13 @@ using Microsoft.Extensions.Primitives; namespace Microsoft.AspNetCore.Routing { - internal class RouteValuesBasedEndpointFinder : IEndpointFinder + internal class RouteValuesAddressScheme : IEndpointAddressScheme { private readonly CompositeEndpointDataSource _dataSource; private LinkGenerationDecisionTree _allMatchesLinkGenerationTree; private IDictionary> _namedMatchResults; - public RouteValuesBasedEndpointFinder(CompositeEndpointDataSource dataSource) + public RouteValuesAddressScheme(CompositeEndpointDataSource dataSource) { _dataSource = dataSource; @@ -102,9 +102,7 @@ namespace Microsoft.AspNetCore.Routing var endpoints = _dataSource.Endpoints.OfType(); foreach (var endpoint in endpoints) { - // Do not consider an endpoint for link generation if the following marker metadata is on it - var suppressLinkGeneration = endpoint.Metadata.GetMetadata(); - if (suppressLinkGeneration != null) + if (endpoint.Metadata.GetMetadata()?.SuppressLinkGeneration == true) { continue; } diff --git a/src/Microsoft.AspNetCore.Routing/SuppressLinkGenerationMetadata.cs b/src/Microsoft.AspNetCore.Routing/SuppressLinkGenerationMetadata.cs index 88efd9077f..4ff3e86a9f 100644 --- a/src/Microsoft.AspNetCore.Routing/SuppressLinkGenerationMetadata.cs +++ b/src/Microsoft.AspNetCore.Routing/SuppressLinkGenerationMetadata.cs @@ -4,10 +4,14 @@ namespace Microsoft.AspNetCore.Routing { /// - /// Represents metadata used during link generation. - /// The associated endpoint will not be considered for link generation. + /// Represents metadata used during link generation. If is true + /// the associated endpoint will not be used for link generation. /// public sealed class SuppressLinkGenerationMetadata : ISuppressLinkGenerationMetadata { + /// + /// Gets a value indicating whether the assocated endpoint should be used for link generation. + /// + public bool SuppressLinkGeneration => true; } } \ No newline at end of file diff --git a/src/Microsoft.AspNetCore.Routing/SuppressMatchingMetadata.cs b/src/Microsoft.AspNetCore.Routing/SuppressMatchingMetadata.cs index da7a3bce1d..b7edd60f16 100644 --- a/src/Microsoft.AspNetCore.Routing/SuppressMatchingMetadata.cs +++ b/src/Microsoft.AspNetCore.Routing/SuppressMatchingMetadata.cs @@ -4,10 +4,14 @@ namespace Microsoft.AspNetCore.Routing { /// - /// Metadata used to prevent URL matching. The associated endpoint will not be - /// considered URL matching for incoming requests. + /// Metadata used to prevent URL matching. If is true the + /// associated endpoint will not be considered for URL matching. /// public sealed class SuppressMatchingMetadata : ISuppressMatchingMetadata { + /// + /// Gets a value indicating whether the assocated endpoint should be used for URL matching. + /// + public bool SuppressMatching => true; } } diff --git a/test/Microsoft.AspNetCore.Routing.Tests/DefaultLinkGeneratorTest.cs b/test/Microsoft.AspNetCore.Routing.Tests/DefaultLinkGeneratorTest.cs index 9f0bda2a18..831576c41c 100644 --- a/test/Microsoft.AspNetCore.Routing.Tests/DefaultLinkGeneratorTest.cs +++ b/test/Microsoft.AspNetCore.Routing.Tests/DefaultLinkGeneratorTest.cs @@ -599,14 +599,14 @@ namespace Microsoft.AspNetCore.Routing protected override void AddAdditionalServices(IServiceCollection services) { - services.AddSingleton, IntEndpointFinder>(); + services.AddSingleton, IntAddressScheme>(); } - private class IntEndpointFinder : IEndpointFinder + private class IntAddressScheme : IEndpointAddressScheme { private readonly CompositeEndpointDataSource _dataSource; - public IntEndpointFinder(CompositeEndpointDataSource dataSource) + public IntAddressScheme(CompositeEndpointDataSource dataSource) { _dataSource = dataSource; } diff --git a/test/Microsoft.AspNetCore.Routing.Tests/EndpointNameEndpointFinderTest.cs b/test/Microsoft.AspNetCore.Routing.Tests/EndpointNameAddressSchemeTest.cs similarity index 63% rename from test/Microsoft.AspNetCore.Routing.Tests/EndpointNameEndpointFinderTest.cs rename to test/Microsoft.AspNetCore.Routing.Tests/EndpointNameAddressSchemeTest.cs index 9165dce257..d643372063 100644 --- a/test/Microsoft.AspNetCore.Routing.Tests/EndpointNameEndpointFinderTest.cs +++ b/test/Microsoft.AspNetCore.Routing.Tests/EndpointNameAddressSchemeTest.cs @@ -9,10 +9,10 @@ using Xunit; namespace Microsoft.AspNetCore.Routing { - public class EndpointNameEndpointFinderTest + public class EndpointNameAddressSchemeTest { [Fact] - public void EndpointFinder_Match_ReturnsMatchingEndpoint() + public void AddressScheme_Match_ReturnsMatchingEndpoint() { // Arrange var endpoint1 = EndpointFactory.CreateRouteEndpoint( @@ -23,10 +23,10 @@ namespace Microsoft.AspNetCore.Routing "/b", metadata: new object[] { new EndpointNameMetadata("name2"), }); - var finder = CreateEndpointFinder(endpoint1, endpoint2); + var addressScheme = CreateAddressScheme(endpoint1, endpoint2); // Act - var endpoints = finder.FindEndpoints("name2"); + var endpoints = addressScheme.FindEndpoints("name2"); // Assert Assert.Collection( @@ -35,41 +35,41 @@ namespace Microsoft.AspNetCore.Routing } [Fact] - public void EndpointFinder_NoMatch_ReturnsEmptyCollection() + public void AddressScheme_NoMatch_ReturnsEmptyCollection() { // Arrange var endpoint = EndpointFactory.CreateRouteEndpoint( "/a", metadata: new object[] { new EndpointNameMetadata("name1"), new SuppressLinkGenerationMetadata(), }); - var finder = CreateEndpointFinder(endpoint); + var addressScheme = CreateAddressScheme(endpoint); // Act - var endpoints = finder.FindEndpoints("name2"); + var endpoints = addressScheme.FindEndpoints("name2"); // Assert Assert.Empty(endpoints); } [Fact] - public void EndpointFinder_NoMatch_CaseSensitive() + public void AddressScheme_NoMatch_CaseSensitive() { // Arrange var endpoint = EndpointFactory.CreateRouteEndpoint( "/a", metadata: new object[] { new EndpointNameMetadata("name1"), new SuppressLinkGenerationMetadata(), }); - var finder = CreateEndpointFinder(endpoint); + var addressScheme = CreateAddressScheme(endpoint); // Act - var endpoints = finder.FindEndpoints("NAME1"); + var endpoints = addressScheme.FindEndpoints("NAME1"); // Assert Assert.Empty(endpoints); } [Fact] - public void EndpointFinder_UpdatesWhenDataSourceChanges() + public void AddressScheme_UpdatesWhenDataSourceChanges() { var endpoint1 = EndpointFactory.CreateRouteEndpoint( "/a", @@ -77,10 +77,10 @@ namespace Microsoft.AspNetCore.Routing var dynamicDataSource = new DynamicEndpointDataSource(new[] { endpoint1 }); // Act 1 - var finder = CreateEndpointFinder(dynamicDataSource); + var addressScheme = CreateAddressScheme(dynamicDataSource); // Assert 1 - var match = Assert.Single(finder.Entries); + var match = Assert.Single(addressScheme.Entries); Assert.Same(endpoint1, match.Value.Single()); // Arrange 2 @@ -94,7 +94,7 @@ namespace Microsoft.AspNetCore.Routing // Assert 2 Assert.Collection( - finder.Entries.OrderBy(kvp => kvp.Key), + addressScheme.Entries.OrderBy(kvp => kvp.Key), (m) => { Assert.Same(endpoint1, m.Value.Single()); @@ -106,7 +106,7 @@ namespace Microsoft.AspNetCore.Routing } [Fact] - public void EndpointFinder_IgnoresEndpointsWithSuppressLinkGeneration() + public void AddressScheme_IgnoresEndpointsWithSuppressLinkGeneration() { // Arrange var endpoint = EndpointFactory.CreateRouteEndpoint( @@ -114,14 +114,29 @@ namespace Microsoft.AspNetCore.Routing metadata: new object[] { new EndpointNameMetadata("name1"), new SuppressLinkGenerationMetadata(), }); // Act - var finder = CreateEndpointFinder(endpoint); + var addressScheme = CreateAddressScheme(endpoint); // Assert - Assert.Empty(finder.Entries); + Assert.Empty(addressScheme.Entries); } [Fact] - public void EndpointFinder_IgnoresEndpointsWithoutEndpointName() + public void AddressScheme_UnsuppressedEndpoint_IsUsed() + { + // Arrange + var endpoint = EndpointFactory.CreateRouteEndpoint( + "/a", + metadata: new object[] { new EndpointNameMetadata("name1"), new SuppressLinkGenerationMetadata(), new EncourageLinkGenerationMetadata(), }); + + // Act + var addressScheme = CreateAddressScheme(endpoint); + + // Assert + Assert.Same(endpoint, Assert.Single(Assert.Single(addressScheme.Entries).Value)); + } + + [Fact] + public void AddressScheme_IgnoresEndpointsWithoutEndpointName() { // Arrange var endpoint = EndpointFactory.CreateRouteEndpoint( @@ -129,14 +144,14 @@ namespace Microsoft.AspNetCore.Routing metadata: new object[] { }); // Act - var finder = CreateEndpointFinder(endpoint); + var addressScheme = CreateAddressScheme(endpoint); // Assert - Assert.Empty(finder.Entries); + Assert.Empty(addressScheme.Entries); } [Fact] - public void EndpointFinder_ThrowsExceptionForDuplicateEndpoints() + public void AddressScheme_ThrowsExceptionForDuplicateEndpoints() { // Arrange var endpoints = new Endpoint[] @@ -152,10 +167,10 @@ namespace Microsoft.AspNetCore.Routing EndpointFactory.CreateRouteEndpoint("/f", displayName: "f", metadata: new object[] { new EndpointNameMetadata("name2"), }), }; - var finder = CreateEndpointFinder(endpoints); + var addressScheme = CreateAddressScheme(endpoints); // Act - var ex = Assert.Throws(() => finder.FindEndpoints("any name")); + var ex = Assert.Throws(() => addressScheme.FindEndpoints("any name")); // Assert Assert.Equal(@"The following endpoints with a duplicate endpoint name were found. @@ -171,14 +186,19 @@ f ", ex.Message); } - private EndpointNameEndpointFinder CreateEndpointFinder(params Endpoint[] endpoints) + private EndpointNameAddressScheme CreateAddressScheme(params Endpoint[] endpoints) { - return CreateEndpointFinder(new DefaultEndpointDataSource(endpoints)); + return CreateAddressScheme(new DefaultEndpointDataSource(endpoints)); } - private EndpointNameEndpointFinder CreateEndpointFinder(params EndpointDataSource[] dataSources) + private EndpointNameAddressScheme CreateAddressScheme(params EndpointDataSource[] dataSources) { - return new EndpointNameEndpointFinder(new CompositeEndpointDataSource(dataSources)); + return new EndpointNameAddressScheme(new CompositeEndpointDataSource(dataSources)); + } + + private class EncourageLinkGenerationMetadata : ISuppressLinkGenerationMetadata + { + public bool SuppressLinkGeneration => false; } } } diff --git a/test/Microsoft.AspNetCore.Routing.Tests/LinkGeneratorEndpointNameExtensionsTest.cs b/test/Microsoft.AspNetCore.Routing.Tests/LinkGeneratorEndpointNameExtensionsTest.cs index 85462d314d..c81d134ce6 100644 --- a/test/Microsoft.AspNetCore.Routing.Tests/LinkGeneratorEndpointNameExtensionsTest.cs +++ b/test/Microsoft.AspNetCore.Routing.Tests/LinkGeneratorEndpointNameExtensionsTest.cs @@ -14,7 +14,7 @@ namespace Microsoft.AspNetCore.Routing // Does not cover template processing in detail, those scenarios are validated by TemplateBinderTests // and DefaultLinkGeneratorProcessTemplateTest // - // Does not cover the EndpointNameEndpointFinder in detail. see EndpointNameEndpointFinderTest + // Does not cover the EndpointNameAddressScheme in detail. see EndpointNameAddressSchemeTest public class LinkGeneratorEndpointNameExtensionsTest : LinkGeneratorTestBase { [Fact] diff --git a/test/Microsoft.AspNetCore.Routing.Tests/LinkGeneratorRouteValuesAddressExtensionsTest.cs b/test/Microsoft.AspNetCore.Routing.Tests/LinkGeneratorRouteValuesAddressExtensionsTest.cs index de046fb2b1..548cdadcad 100644 --- a/test/Microsoft.AspNetCore.Routing.Tests/LinkGeneratorRouteValuesAddressExtensionsTest.cs +++ b/test/Microsoft.AspNetCore.Routing.Tests/LinkGeneratorRouteValuesAddressExtensionsTest.cs @@ -14,7 +14,7 @@ namespace Microsoft.AspNetCore.Routing // Does not cover template processing in detail, those scenarios are validated by TemplateBinderTests // and DefaultLinkGeneratorProcessTemplateTest // - // Does not cover the RouteValueBasedEndpointFinder in detail. see RouteValueBasedEndpointFinderTest + // Does not cover the RouteValuesAddressScheme in detail. see RouteValuesAddressSchemeTest public class LinkGeneratorRouteValuesAddressExtensionsTest : LinkGeneratorTestBase { [Fact] diff --git a/test/Microsoft.AspNetCore.Routing.Tests/Matching/DataSourceDependentMatcherTest.cs b/test/Microsoft.AspNetCore.Routing.Tests/Matching/DataSourceDependentMatcherTest.cs index eb41ea1890..3559dd529b 100644 --- a/test/Microsoft.AspNetCore.Routing.Tests/Matching/DataSourceDependentMatcherTest.cs +++ b/test/Microsoft.AspNetCore.Routing.Tests/Matching/DataSourceDependentMatcherTest.cs @@ -5,7 +5,6 @@ using System; using System.Collections.Generic; using System.Threading.Tasks; using Microsoft.AspNetCore.Http; -using Microsoft.AspNetCore.Http.Features; using Microsoft.AspNetCore.Routing.Patterns; using Microsoft.AspNetCore.Routing.TestObjects; using Xunit; @@ -89,6 +88,27 @@ namespace Microsoft.AspNetCore.Routing.Matching Assert.Empty(inner.Endpoints); } + [Fact] + public void Matcher_UnsuppressedEndpoint_IsUsed() + { + // Arrange + var dataSource = new DynamicEndpointDataSource(); + var endpoint = new RouteEndpoint( + TestConstants.EmptyRequestDelegate, + RoutePatternFactory.Parse("/"), + 0, + new EndpointMetadataCollection(new SuppressMatchingMetadata(), new EncourageMatchingMetadata()), + "test"); + dataSource.AddEndpoint(endpoint); + + // Act + var matcher = new DataSourceDependentMatcher(dataSource, TestMatcherBuilder.Create); + + // Assert + var inner = Assert.IsType(matcher.CurrentMatcher); + Assert.Same(endpoint, Assert.Single(inner.Endpoints)); + } + [Fact] public void Cache_Reinitializes_WhenDataSourceChanges() { @@ -139,5 +159,10 @@ namespace Microsoft.AspNetCore.Routing.Matching throw new NotImplementedException(); } } + + private class EncourageMatchingMetadata : ISuppressMatchingMetadata + { + public bool SuppressMatching => false; + } } } diff --git a/test/Microsoft.AspNetCore.Routing.Tests/RouteValueBasedEndpointFinderTest.cs b/test/Microsoft.AspNetCore.Routing.Tests/RouteValuesAddressSchemeTest.cs similarity index 71% rename from test/Microsoft.AspNetCore.Routing.Tests/RouteValueBasedEndpointFinderTest.cs rename to test/Microsoft.AspNetCore.Routing.Tests/RouteValuesAddressSchemeTest.cs index 70c66b052e..9020939218 100644 --- a/test/Microsoft.AspNetCore.Routing.Tests/RouteValueBasedEndpointFinderTest.cs +++ b/test/Microsoft.AspNetCore.Routing.Tests/RouteValuesAddressSchemeTest.cs @@ -12,7 +12,7 @@ using Xunit; namespace Microsoft.AspNetCore.Routing { - public class RouteValueBasedEndpointFinderTest + public class RouteValuesAddressSchemeTest { [Fact] public void GetOutboundMatches_GetsNamedMatchesFor_EndpointsHaving_IRouteNameMetadata() @@ -22,13 +22,13 @@ namespace Microsoft.AspNetCore.Routing var endpoint2 = CreateEndpoint("/a", routeName: "named"); // Act - var finder = CreateEndpointFinder(endpoint1, endpoint2); + var addressScheme = CreateAddressScheme(endpoint1, endpoint2); // Assert - Assert.NotNull(finder.AllMatches); - Assert.Equal(2, finder.AllMatches.Count()); - Assert.NotNull(finder.NamedMatches); - Assert.True(finder.NamedMatches.TryGetValue("named", out var namedMatches)); + Assert.NotNull(addressScheme.AllMatches); + Assert.Equal(2, addressScheme.AllMatches.Count()); + Assert.NotNull(addressScheme.NamedMatches); + Assert.True(addressScheme.NamedMatches.TryGetValue("named", out var namedMatches)); var namedMatch = Assert.Single(namedMatches); var actual = Assert.IsType(namedMatch.Match.Entry.Data); Assert.Same(endpoint2, actual); @@ -43,13 +43,13 @@ namespace Microsoft.AspNetCore.Routing var endpoint3 = CreateEndpoint("/b", routeName: "named"); // Act - var finder = CreateEndpointFinder(endpoint1, endpoint2, endpoint3); + var addressScheme = CreateAddressScheme(endpoint1, endpoint2, endpoint3); // Assert - Assert.NotNull(finder.AllMatches); - Assert.Equal(3, finder.AllMatches.Count()); - Assert.NotNull(finder.NamedMatches); - Assert.True(finder.NamedMatches.TryGetValue("named", out var namedMatches)); + Assert.NotNull(addressScheme.AllMatches); + Assert.Equal(3, addressScheme.AllMatches.Count()); + Assert.NotNull(addressScheme.NamedMatches); + Assert.True(addressScheme.NamedMatches.TryGetValue("named", out var namedMatches)); Assert.Equal(2, namedMatches.Count); Assert.Same(endpoint2, Assert.IsType(namedMatches[0].Match.Entry.Data)); Assert.Same(endpoint3, Assert.IsType(namedMatches[1].Match.Entry.Data)); @@ -64,13 +64,13 @@ namespace Microsoft.AspNetCore.Routing var endpoint3 = CreateEndpoint("/b", routeName: "NaMed"); // Act - var finder = CreateEndpointFinder(endpoint1, endpoint2, endpoint3); + var addressScheme = CreateAddressScheme(endpoint1, endpoint2, endpoint3); // Assert - Assert.NotNull(finder.AllMatches); - Assert.Equal(3, finder.AllMatches.Count()); - Assert.NotNull(finder.NamedMatches); - Assert.True(finder.NamedMatches.TryGetValue("named", out var namedMatches)); + Assert.NotNull(addressScheme.AllMatches); + Assert.Equal(3, addressScheme.AllMatches.Count()); + Assert.NotNull(addressScheme.NamedMatches); + Assert.True(addressScheme.NamedMatches.TryGetValue("named", out var namedMatches)); Assert.Equal(2, namedMatches.Count); Assert.Same(endpoint2, Assert.IsType(namedMatches[0].Match.Entry.Data)); Assert.Same(endpoint3, Assert.IsType(namedMatches[1].Match.Entry.Data)); @@ -84,11 +84,11 @@ namespace Microsoft.AspNetCore.Routing var dynamicDataSource = new DynamicEndpointDataSource(new[] { endpoint1 }); // Act 1 - var finder = new CustomRouteValuesBasedEndpointFinder(new CompositeEndpointDataSource(new[] { dynamicDataSource })); + var addressScheme = new CustomRouteValuesBasedAddressScheme(new CompositeEndpointDataSource(new[] { dynamicDataSource })); // Assert 1 - Assert.NotNull(finder.AllMatches); - var match = Assert.Single(finder.AllMatches); + Assert.NotNull(addressScheme.AllMatches); + var match = Assert.Single(addressScheme.AllMatches); var actual = Assert.IsType(match.Entry.Data); Assert.Same(endpoint1, actual); @@ -114,9 +114,9 @@ namespace Microsoft.AspNetCore.Routing dynamicDataSource.AddEndpoint(endpoint4); // Assert 3 - Assert.NotNull(finder.AllMatches); + Assert.NotNull(addressScheme.AllMatches); Assert.Collection( - finder.AllMatches, + addressScheme.AllMatches, (m) => { actual = Assert.IsType(m.Entry.Data); @@ -148,10 +148,10 @@ namespace Microsoft.AspNetCore.Routing defaults: new { controller = "Orders", action = "GetById" }, requiredValues: new { controller = "Orders", action = "GetById" }, routeName: "OrdersApi"); - var finder = CreateEndpointFinder(expected); + var addressScheme = CreateAddressScheme(expected); // Act - var foundEndpoints = finder.FindEndpoints( + var foundEndpoints = addressScheme.FindEndpoints( new RouteValuesAddress { ExplicitValues = new RouteValueDictionary(new { id = 10 }), @@ -167,7 +167,7 @@ namespace Microsoft.AspNetCore.Routing [Fact] public void FindEndpoints_AlwaysReturnsEndpointsByRouteName_IgnoringMissingRequiredParameterValues() { - // Here 'id' is the required value. The endpoint finder would always return an endpoint by looking up + // Here 'id' is the required value. The endpoint addressScheme would always return an endpoint by looking up // name only. Its the link generator which uses these endpoints finally to generate a link or not // based on the required parameter values being present or not. @@ -177,10 +177,10 @@ namespace Microsoft.AspNetCore.Routing defaults: new { controller = "Orders", action = "GetById" }, requiredValues: new { controller = "Orders", action = "GetById" }, routeName: "OrdersApi"); - var finder = CreateEndpointFinder(expected); + var addressScheme = CreateAddressScheme(expected); // Act - var foundEndpoints = finder.FindEndpoints( + var foundEndpoints = addressScheme.FindEndpoints( new RouteValuesAddress { ExplicitValues = new RouteValueDictionary(), @@ -202,20 +202,35 @@ namespace Microsoft.AspNetCore.Routing metadataCollection: new EndpointMetadataCollection(new[] { new SuppressLinkGenerationMetadata() })); // Act - var finder = CreateEndpointFinder(endpoint); + var addressScheme = CreateAddressScheme(endpoint); // Assert - Assert.Empty(finder.AllMatches); + Assert.Empty(addressScheme.AllMatches); } - private CustomRouteValuesBasedEndpointFinder CreateEndpointFinder(params Endpoint[] endpoints) + [Fact] + public void AddressScheme_UnsuppressedEndpoint_IsUsed() { - return CreateEndpointFinder(new DefaultEndpointDataSource(endpoints)); + // Arrange + var endpoint = EndpointFactory.CreateRouteEndpoint( + "/a", + metadata: new object[] { new SuppressLinkGenerationMetadata(), new EncourageLinkGenerationMetadata(), }); + + // Act + var addressScheme = CreateAddressScheme(endpoint); + + // Assert + Assert.Same(endpoint, Assert.Single(addressScheme.AllMatches).Entry.Data); } - private CustomRouteValuesBasedEndpointFinder CreateEndpointFinder(params EndpointDataSource[] dataSources) + private CustomRouteValuesBasedAddressScheme CreateAddressScheme(params Endpoint[] endpoints) { - return new CustomRouteValuesBasedEndpointFinder(new CompositeEndpointDataSource(dataSources)); + return CreateAddressScheme(new DefaultEndpointDataSource(endpoints)); + } + + private CustomRouteValuesBasedAddressScheme CreateAddressScheme(params EndpointDataSource[] dataSources) + { + return new CustomRouteValuesBasedAddressScheme(new CompositeEndpointDataSource(dataSources)); } private RouteEndpoint CreateEndpoint( @@ -244,9 +259,9 @@ namespace Microsoft.AspNetCore.Routing null); } - private class CustomRouteValuesBasedEndpointFinder : RouteValuesBasedEndpointFinder + private class CustomRouteValuesBasedAddressScheme : RouteValuesAddressScheme { - public CustomRouteValuesBasedEndpointFinder(CompositeEndpointDataSource dataSource) + public CustomRouteValuesBasedAddressScheme(CompositeEndpointDataSource dataSource) : base(dataSource) { } @@ -263,5 +278,10 @@ namespace Microsoft.AspNetCore.Routing return matches; } } + + private class EncourageLinkGenerationMetadata : ISuppressLinkGenerationMetadata + { + public bool SuppressLinkGeneration => false; + } } } From 1081b40245ecb471bf8b07073409bc572d10afc3 Mon Sep 17 00:00:00 2001 From: "ASP.NET CI" Date: Thu, 11 Oct 2018 19:31:49 +0000 Subject: [PATCH 200/221] Update dependencies.props [auto-updated: dependencies] --- build/dependencies.props | 60 ++++++++++++++++++++-------------------- korebuild-lock.txt | 4 +-- 2 files changed, 32 insertions(+), 32 deletions(-) diff --git a/build/dependencies.props b/build/dependencies.props index 5151047a4d..5ea63d4e8f 100644 --- a/build/dependencies.props +++ b/build/dependencies.props @@ -4,39 +4,39 @@ 0.10.13 - 2.2.0-preview1-20180928.5 - 2.2.0-preview3-35359 - 2.2.0-preview3-35359 - 2.2.0-preview3-35359 - 2.2.0-preview3-35359 - 2.2.0-preview3-35359 - 2.2.0-preview3-35359 - 2.2.0-preview3-35359 - 2.2.0-preview3-35359 - 2.2.0-preview3-35359 - 2.2.0-preview3-35359 - 2.2.0-preview3-35359 - 2.2.0-preview3-35359 - 2.2.0-preview3-35359 - 2.2.0-preview3-35359 - 2.2.0-preview3-35359 - 2.2.0-preview3-35359 - 2.2.0-preview3-35359 - 2.2.0-preview3-35359 - 2.2.0-preview3-35359 - 2.2.0-preview3-35359 - 2.2.0-preview3-35359 - 2.2.0-preview3-35359 - 2.2.0-preview3-35359 - 2.2.0-preview3-35359 - 2.2.0-preview3-35359 - 2.2.0-preview3-35359 - 2.2.0-preview3-35359 + 2.2.0-preview2-20181011.2 + 2.2.0-preview3-35457 + 2.2.0-preview3-35457 + 2.2.0-preview3-35457 + 2.2.0-preview3-35457 + 2.2.0-preview3-35457 + 2.2.0-preview3-35457 + 2.2.0-preview3-35457 + 2.2.0-preview3-35457 + 2.2.0-preview3-35457 + 2.2.0-preview3-35457 + 2.2.0-preview3-35457 + 2.2.0-preview3-35457 + 2.2.0-preview3-35457 + 2.2.0-preview3-35457 + 2.2.0-preview3-35457 + 2.2.0-preview3-35457 + 2.2.0-preview3-35457 + 2.2.0-preview3-35457 + 2.2.0-preview3-35457 + 2.2.0-preview3-35457 + 2.2.0-preview3-35457 + 2.2.0-preview3-35457 + 2.2.0-preview3-35457 + 2.2.0-preview3-35457 + 2.2.0-preview3-35457 + 2.2.0-preview3-35457 + 2.2.0-preview3-35457 2.0.9 2.1.3 - 2.2.0-preview3-26927-02 + 2.2.0-preview3-27008-03 15.6.1 - 4.7.49 + 4.10.0 2.0.3 11.0.2 4.3.0 diff --git a/korebuild-lock.txt b/korebuild-lock.txt index 26697a21fa..860121b752 100644 --- a/korebuild-lock.txt +++ b/korebuild-lock.txt @@ -1,2 +1,2 @@ -version:2.2.0-preview1-20180928.5 -commithash:43faa29f679f47b88689d645b39e6be5e0055d70 +version:2.2.0-preview2-20181011.2 +commithash:09cd1592eb0fbbfa6ef5124120c173bc1d4e353a From fbf0708f199056ea3a999a8de736e24280fe50b3 Mon Sep 17 00:00:00 2001 From: James Newton-King Date: Fri, 12 Oct 2018 16:08:50 +1300 Subject: [PATCH 201/221] Fix DfaGraphWriter ISuppressMatchingMetadata check (#850) --- .../Internal/DfaGraphWriter.cs | 2 +- .../Internal/DfaGraphWriterTest.cs | 95 +++++++++++++++++++ 2 files changed, 96 insertions(+), 1 deletion(-) create mode 100644 test/Microsoft.AspNetCore.Routing.Tests/Internal/DfaGraphWriterTest.cs diff --git a/src/Microsoft.AspNetCore.Routing/Internal/DfaGraphWriter.cs b/src/Microsoft.AspNetCore.Routing/Internal/DfaGraphWriter.cs index 033a56c7ee..32f1a314f8 100644 --- a/src/Microsoft.AspNetCore.Routing/Internal/DfaGraphWriter.cs +++ b/src/Microsoft.AspNetCore.Routing/Internal/DfaGraphWriter.cs @@ -38,7 +38,7 @@ namespace Microsoft.AspNetCore.Routing.Internal var endpoints = dataSource.Endpoints; for (var i = 0; i < endpoints.Count; i++) { - if (endpoints[i] is RouteEndpoint endpoint && endpoint.Metadata.GetMetadata()?.SuppressMatching == true) + if (endpoints[i] is RouteEndpoint endpoint && (endpoint.Metadata.GetMetadata()?.SuppressMatching ?? false) == false) { builder.AddEndpoint(endpoint); } diff --git a/test/Microsoft.AspNetCore.Routing.Tests/Internal/DfaGraphWriterTest.cs b/test/Microsoft.AspNetCore.Routing.Tests/Internal/DfaGraphWriterTest.cs new file mode 100644 index 0000000000..bcabc39d37 --- /dev/null +++ b/test/Microsoft.AspNetCore.Routing.Tests/Internal/DfaGraphWriterTest.cs @@ -0,0 +1,95 @@ +// Copyright (c) .NET Foundation. All rights reserved. +// Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information. + +using System.IO; +using Microsoft.AspNetCore.Http; +using Microsoft.AspNetCore.Routing.Patterns; +using Microsoft.Extensions.DependencyInjection; +using Microsoft.Extensions.Primitives; +using Xunit; + +namespace Microsoft.AspNetCore.Routing.Internal +{ + public class DfaGraphWriterTest + { + private DfaGraphWriter CreateGraphWriter() + { + ServiceCollection services = new ServiceCollection(); + services.AddLogging(); + services.AddRouting(); + + return new DfaGraphWriter(services.BuildServiceProvider()); + } + + [Fact] + public void Write_ExcludeNonRouteEndpoint() + { + // Arrange + var graphWriter = CreateGraphWriter(); + var writer = new StringWriter(); + var endpointsDataSource = new DefaultEndpointDataSource(new Endpoint((context) => null, EndpointMetadataCollection.Empty, string.Empty)); + + // Act + graphWriter.Write(endpointsDataSource, writer); + + // Assert + Assert.Equal(@"digraph DFA { +0 [label=""/""] +} +", writer.ToString()); + } + + [Fact] + public void Write_ExcludeRouteEndpointWithSuppressMatchingMetadata() + { + // Arrange + var graphWriter = CreateGraphWriter(); + var writer = new StringWriter(); + var endpointsDataSource = new DefaultEndpointDataSource( + new RouteEndpoint( + (context) => null, + RoutePatternFactory.Parse("/"), + 0, + new EndpointMetadataCollection(new SuppressMatchingMetadata()), + string.Empty)); + + // Act + graphWriter.Write(endpointsDataSource, writer); + + // Assert + Assert.Equal(@"digraph DFA { +0 [label=""/""] +} +", writer.ToString()); + } + + [Fact] + public void Write_IncludeRouteEndpointWithPolicy() + { + // Arrange + var graphWriter = CreateGraphWriter(); + var writer = new StringWriter(); + var endpointsDataSource = new DefaultEndpointDataSource( + new RouteEndpoint( + (context) => null, + RoutePatternFactory.Parse("/"), + 0, + new EndpointMetadataCollection(new HttpMethodMetadata(new[] { "GET" })), + string.Empty)); + + // Act + graphWriter.Write(endpointsDataSource, writer); + + // Assert + var sdf = writer.ToString(); + Assert.Equal(@"digraph DFA { +0 [label=""/ HTTP: GET""] +1 [label=""/ HTTP: *""] +2 -> 0 [label=""HTTP: GET""] +2 -> 1 [label=""HTTP: *""] +2 [label=""/""] +} +", sdf); + } + } +} From 2ad1aebcefec35951b1f1c966dd670c139ce5dd0 Mon Sep 17 00:00:00 2001 From: "ASP.NET CI" Date: Sun, 14 Oct 2018 19:25:56 +0000 Subject: [PATCH 202/221] Update dependencies.props [auto-updated: dependencies] --- build/dependencies.props | 56 ++++++++++++++++++++-------------------- korebuild-lock.txt | 4 +-- 2 files changed, 30 insertions(+), 30 deletions(-) diff --git a/build/dependencies.props b/build/dependencies.props index 5ea63d4e8f..3c93a7647d 100644 --- a/build/dependencies.props +++ b/build/dependencies.props @@ -4,34 +4,34 @@ 0.10.13 - 2.2.0-preview2-20181011.2 - 2.2.0-preview3-35457 - 2.2.0-preview3-35457 - 2.2.0-preview3-35457 - 2.2.0-preview3-35457 - 2.2.0-preview3-35457 - 2.2.0-preview3-35457 - 2.2.0-preview3-35457 - 2.2.0-preview3-35457 - 2.2.0-preview3-35457 - 2.2.0-preview3-35457 - 2.2.0-preview3-35457 - 2.2.0-preview3-35457 - 2.2.0-preview3-35457 - 2.2.0-preview3-35457 - 2.2.0-preview3-35457 - 2.2.0-preview3-35457 - 2.2.0-preview3-35457 - 2.2.0-preview3-35457 - 2.2.0-preview3-35457 - 2.2.0-preview3-35457 - 2.2.0-preview3-35457 - 2.2.0-preview3-35457 - 2.2.0-preview3-35457 - 2.2.0-preview3-35457 - 2.2.0-preview3-35457 - 2.2.0-preview3-35457 - 2.2.0-preview3-35457 + 2.2.0-preview2-20181011.10 + 2.2.0-preview3-35496 + 2.2.0-preview3-35496 + 2.2.0-preview3-35496 + 2.2.0-preview3-35496 + 2.2.0-preview3-35496 + 2.2.0-preview3-35496 + 2.2.0-preview3-35496 + 2.2.0-preview3-35496 + 2.2.0-preview3-35496 + 2.2.0-preview3-35496 + 2.2.0-preview3-35496 + 2.2.0-preview3-35496 + 2.2.0-preview3-35496 + 2.2.0-preview3-35496 + 2.2.0-preview3-35496 + 2.2.0-preview3-35496 + 2.2.0-preview3-35496 + 2.2.0-preview3-35496 + 2.2.0-preview3-35496 + 2.2.0-preview3-35496 + 2.2.0-preview3-35496 + 2.2.0-preview3-35496 + 2.2.0-preview3-35496 + 2.2.0-preview3-35496 + 2.2.0-preview3-35496 + 2.2.0-preview3-35496 + 2.2.0-preview3-35496 2.0.9 2.1.3 2.2.0-preview3-27008-03 diff --git a/korebuild-lock.txt b/korebuild-lock.txt index 860121b752..86b4302b5d 100644 --- a/korebuild-lock.txt +++ b/korebuild-lock.txt @@ -1,2 +1,2 @@ -version:2.2.0-preview2-20181011.2 -commithash:09cd1592eb0fbbfa6ef5124120c173bc1d4e353a +version:2.2.0-preview2-20181011.10 +commithash:224e1163a1145b60f324e0b432419ef4ba4880cc From e8b2c9337e6a7768c9af849052719c2d35c7062c Mon Sep 17 00:00:00 2001 From: "ASP.NET CI" Date: Tue, 16 Oct 2018 12:48:19 -0700 Subject: [PATCH 203/221] Update package branding for 2.2 RTM --- version.props | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/version.props b/version.props index 704cac087b..4889a26987 100644 --- a/version.props +++ b/version.props @@ -1,7 +1,7 @@ 2.2.0 - preview3 + rtm $(VersionPrefix) $(VersionPrefix)-$(VersionSuffix)-final t000 From 5c31f1f455ba1e7a0978dad397c8ea504e0534c1 Mon Sep 17 00:00:00 2001 From: Gert Driesen Date: Wed, 17 Oct 2018 22:24:07 +0200 Subject: [PATCH 204/221] Add Remove(string key, out object value) overload to RouteValueDictionary (#858) * Add Remove(string key, out object value) overload to RouteValueDictionary. * Consistently use _count field instead of Count property in Remove overloads. Added comment on EnsureCapacity call. Added test for removing first/middle/last entry. --- .../RouteValueDictionary.cs | 46 +++- .../Template/TemplateBinder.cs | 6 +- .../RouteValueDictionaryTests.cs | 229 ++++++++++++++++++ 3 files changed, 275 insertions(+), 6 deletions(-) diff --git a/src/Microsoft.AspNetCore.Routing.Abstractions/RouteValueDictionary.cs b/src/Microsoft.AspNetCore.Routing.Abstractions/RouteValueDictionary.cs index ca132a7889..55b2438e9e 100644 --- a/src/Microsoft.AspNetCore.Routing.Abstractions/RouteValueDictionary.cs +++ b/src/Microsoft.AspNetCore.Routing.Abstractions/RouteValueDictionary.cs @@ -388,7 +388,9 @@ namespace Microsoft.AspNetCore.Routing return false; } - EnsureCapacity(Count); + // Ensure property storage is converted to array storage as we'll be + // applying the lookup and removal on the array + EnsureCapacity(_count); var index = FindIndex(key); if (index >= 0) @@ -404,6 +406,48 @@ namespace Microsoft.AspNetCore.Routing return false; } + /// + /// Attempts to remove and return the value that has the specified key from the . + /// + /// The key of the element to remove and return. + /// When this method returns, contains the object removed from the , or null if key does not exist. + /// + /// true if the object was removed successfully; otherwise, false. + /// + public bool Remove(string key, out object value) + { + if (key == null) + { + ThrowArgumentNullExceptionForKey(); + } + + if (_count == 0) + { + value = default; + return false; + } + + // Ensure property storage is converted to array storage as we'll be + // applying the lookup and removal on the array + EnsureCapacity(_count); + + var index = FindIndex(key); + if (index >= 0) + { + _count--; + var array = _arrayStorage; + value = array[index].Value; + Array.Copy(array, index + 1, array, index, _count - index); + array[_count] = default; + + return true; + } + + value = default; + return false; + } + + /// /// Attempts to the add the provided and to the dictionary. /// diff --git a/src/Microsoft.AspNetCore.Routing/Template/TemplateBinder.cs b/src/Microsoft.AspNetCore.Routing/Template/TemplateBinder.cs index 40755676fc..4236c3c012 100644 --- a/src/Microsoft.AspNetCore.Routing/Template/TemplateBinder.cs +++ b/src/Microsoft.AspNetCore.Routing/Template/TemplateBinder.cs @@ -471,11 +471,7 @@ namespace Microsoft.AspNetCore.Routing.Template else if (part is RoutePatternParameterPart parameterPart) { // If it's a parameter, get its value - var hasValue = acceptedValues.TryGetValue(parameterPart.Name, out var value); - if (hasValue) - { - acceptedValues.Remove(parameterPart.Name); - } + acceptedValues.Remove(parameterPart.Name, out var value); var isSameAsDefault = false; if (_defaults != null && diff --git a/test/Microsoft.AspNetCore.Mvc.Routing.Abstractions.Tests/RouteValueDictionaryTests.cs b/test/Microsoft.AspNetCore.Mvc.Routing.Abstractions.Tests/RouteValueDictionaryTests.cs index 1d4ec848af..35b8031fe8 100644 --- a/test/Microsoft.AspNetCore.Mvc.Routing.Abstractions.Tests/RouteValueDictionaryTests.cs +++ b/test/Microsoft.AspNetCore.Mvc.Routing.Abstractions.Tests/RouteValueDictionaryTests.cs @@ -1393,6 +1393,235 @@ namespace Microsoft.AspNetCore.Routing.Tests Assert.IsType[]>(dict._arrayStorage); } + + [Fact] + public void Remove_KeyAndOutValue_EmptyStorage() + { + // Arrange + var dict = new RouteValueDictionary(); + + // Act + var result = dict.Remove("key", out var removedValue); + + // Assert + Assert.False(result); + Assert.Null(removedValue); + } + + [Fact] + public void Remove_KeyAndOutValue_EmptyStringIsAllowed() + { + // Arrange + var dict = new RouteValueDictionary(); + + // Act + var result = dict.Remove("", out var removedValue); + + // Assert + Assert.False(result); + Assert.Null(removedValue); + } + + [Fact] + public void Remove_KeyAndOutValue_PropertyStorage_Empty() + { + // Arrange + var dict = new RouteValueDictionary(new { }); + + // Act + var result = dict.Remove("other", out var removedValue); + + // Assert + Assert.False(result); + Assert.Null(removedValue); + Assert.Empty(dict); + Assert.NotNull(dict._propertyStorage); + } + + [Fact] + public void Remove_KeyAndOutValue_PropertyStorage_False() + { + // Arrange + var dict = new RouteValueDictionary(new { key = "value" }); + + // Act + var result = dict.Remove("other", out var removedValue); + + // Assert + Assert.False(result); + Assert.Null(removedValue); + Assert.Collection(dict, kvp => { Assert.Equal("key", kvp.Key); Assert.Equal("value", kvp.Value); }); + Assert.IsType[]>(dict._arrayStorage); + } + + [Fact] + public void Remove_KeyAndOutValue_PropertyStorage_True() + { + // Arrange + object value = "value"; + var dict = new RouteValueDictionary(new { key = value }); + + // Act + var result = dict.Remove("key", out var removedValue); + + // Assert + Assert.True(result); + Assert.Same(value, removedValue); + Assert.Empty(dict); + Assert.IsType[]>(dict._arrayStorage); + } + + [Fact] + public void Remove_KeyAndOutValue_PropertyStorage_True_CaseInsensitive() + { + // Arrange + object value = "value"; + var dict = new RouteValueDictionary(new { key = value }); + + // Act + var result = dict.Remove("kEy", out var removedValue); + + // Assert + Assert.True(result); + Assert.Same(value, removedValue); + Assert.Empty(dict); + Assert.IsType[]>(dict._arrayStorage); + } + + [Fact] + public void Remove_KeyAndOutValue_ListStorage_False() + { + // Arrange + var dict = new RouteValueDictionary() + { + { "key", "value" }, + }; + + // Act + var result = dict.Remove("other", out var removedValue); + + // Assert + Assert.False(result); + Assert.Null(removedValue); + Assert.Collection(dict, kvp => { Assert.Equal("key", kvp.Key); Assert.Equal("value", kvp.Value); }); + Assert.IsType[]>(dict._arrayStorage); + } + + [Fact] + public void Remove_KeyAndOutValue_ListStorage_True() + { + // Arrange + object value = "value"; + var dict = new RouteValueDictionary() + { + { "key", value } + }; + + // Act + var result = dict.Remove("key", out var removedValue); + + // Assert + Assert.True(result); + Assert.Same(value, removedValue); + Assert.Empty(dict); + Assert.IsType[]>(dict._arrayStorage); + } + + [Fact] + public void Remove_KeyAndOutValue_ListStorage_True_CaseInsensitive() + { + // Arrange + object value = "value"; + var dict = new RouteValueDictionary() + { + { "key", value } + }; + + // Act + var result = dict.Remove("kEy", out var removedValue); + + // Assert + Assert.True(result); + Assert.Same(value, removedValue); + Assert.Empty(dict); + Assert.IsType[]>(dict._arrayStorage); + } + + [Fact] + public void Remove_KeyAndOutValue_ListStorage_KeyExists_First() + { + // Arrange + object value = "value"; + var dict = new RouteValueDictionary() + { + { "key", value }, + { "other", 5 }, + { "dotnet", "rocks" } + }; + + // Act + var result = dict.Remove("key", out var removedValue); + + // Assert + Assert.True(result); + Assert.Same(value, removedValue); + Assert.Equal(2, dict.Count); + Assert.False(dict.ContainsKey("key")); + Assert.True(dict.ContainsKey("other")); + Assert.True(dict.ContainsKey("dotnet")); + Assert.IsType[]>(dict._arrayStorage); + } + + [Fact] + public void Remove_KeyAndOutValue_ListStorage_KeyExists_Middle() + { + // Arrange + object value = "value"; + var dict = new RouteValueDictionary() + { + { "other", 5 }, + { "key", value }, + { "dotnet", "rocks" } + }; + + // Act + var result = dict.Remove("key", out var removedValue); + + // Assert + Assert.True(result); + Assert.Same(value, removedValue); + Assert.Equal(2, dict.Count); + Assert.False(dict.ContainsKey("key")); + Assert.True(dict.ContainsKey("other")); + Assert.True(dict.ContainsKey("dotnet")); + Assert.IsType[]>(dict._arrayStorage); + } + + [Fact] + public void Remove_KeyAndOutValue_ListStorage_KeyExists_Last() + { + // Arrange + object value = "value"; + var dict = new RouteValueDictionary() + { + { "other", 5 }, + { "dotnet", "rocks" }, + { "key", value } + }; + + // Act + var result = dict.Remove("key", out var removedValue); + + // Assert + Assert.True(result); + Assert.Same(value, removedValue); + Assert.Equal(2, dict.Count); + Assert.False(dict.ContainsKey("key")); + Assert.True(dict.ContainsKey("other")); + Assert.True(dict.ContainsKey("dotnet")); + Assert.IsType[]>(dict._arrayStorage); + } + [Fact] public void TryAdd_EmptyStringIsAllowed() { From e51da32e9d8f2744d9dacd0946b64a851881b3e8 Mon Sep 17 00:00:00 2001 From: James Newton-King Date: Thu, 18 Oct 2018 11:55:33 +1300 Subject: [PATCH 205/221] Prefer StringComparison over StringComparer when not using comparers (#870) --- .../Internal/LinkGenerationDecisionTree.cs | 5 +++-- .../Matching/HttpMethodMatcherPolicy.cs | 2 +- 2 files changed, 4 insertions(+), 3 deletions(-) diff --git a/src/Microsoft.AspNetCore.Routing/Internal/LinkGenerationDecisionTree.cs b/src/Microsoft.AspNetCore.Routing/Internal/LinkGenerationDecisionTree.cs index 6242198a46..f276bf0658 100644 --- a/src/Microsoft.AspNetCore.Routing/Internal/LinkGenerationDecisionTree.cs +++ b/src/Microsoft.AspNetCore.Routing/Internal/LinkGenerationDecisionTree.cs @@ -164,9 +164,10 @@ namespace Microsoft.AspNetCore.Routing.Internal return x.IsFallbackMatch.CompareTo(y.IsFallbackMatch); } - return StringComparer.Ordinal.Compare( + return string.Compare( x.Match.Entry.RouteTemplate.TemplateText, - y.Match.Entry.RouteTemplate.TemplateText); + y.Match.Entry.RouteTemplate.TemplateText, + StringComparison.Ordinal); } } diff --git a/src/Microsoft.AspNetCore.Routing/Matching/HttpMethodMatcherPolicy.cs b/src/Microsoft.AspNetCore.Routing/Matching/HttpMethodMatcherPolicy.cs index b03c307a21..f1ec26d67d 100644 --- a/src/Microsoft.AspNetCore.Routing/Matching/HttpMethodMatcherPolicy.cs +++ b/src/Microsoft.AspNetCore.Routing/Matching/HttpMethodMatcherPolicy.cs @@ -285,7 +285,7 @@ namespace Microsoft.AspNetCore.Routing.Matching { for (var i = 0; i < httpMethods.Count; i++) { - if (StringComparer.OrdinalIgnoreCase.Equals(httpMethods[i], httpMethod)) + if (string.Equals(httpMethods[i], httpMethod, StringComparison.OrdinalIgnoreCase)) { return true; } From 29b50c7b64593557214e915b67dd67ae50388dd5 Mon Sep 17 00:00:00 2001 From: James Newton-King Date: Thu, 18 Oct 2018 19:54:49 +1300 Subject: [PATCH 206/221] Add test for link generation with high priority required parameter (#869) --- .../DefaultLinkGeneratorTest.cs | 59 +++++++++++++++++++ 1 file changed, 59 insertions(+) diff --git a/test/Microsoft.AspNetCore.Routing.Tests/DefaultLinkGeneratorTest.cs b/test/Microsoft.AspNetCore.Routing.Tests/DefaultLinkGeneratorTest.cs index 831576c41c..1f76ef3045 100644 --- a/test/Microsoft.AspNetCore.Routing.Tests/DefaultLinkGeneratorTest.cs +++ b/test/Microsoft.AspNetCore.Routing.Tests/DefaultLinkGeneratorTest.cs @@ -5,6 +5,7 @@ using System; using System.Collections.Generic; using System.Linq; using Microsoft.AspNetCore.Http; +using Microsoft.AspNetCore.Http.Features; using Microsoft.AspNetCore.Routing.TestObjects; using Microsoft.Extensions.DependencyInjection; using Xunit; @@ -597,6 +598,64 @@ namespace Microsoft.AspNetCore.Routing Assert.NotSame(original, actual); } + [Fact] + public void GetPathByRouteValues_UsesFirstTemplateThatSucceeds() + { + // Arrange + var endpointControllerAction = EndpointFactory.CreateRouteEndpoint( + "Home/Index", + order: 3, + defaults: new { controller = "Home", action = "Index", }, + metadata: new[] { new RouteValuesAddressMetadata(new RouteValueDictionary(new { controller = "Home", action = "Index", })) }); + var endpointController = EndpointFactory.CreateRouteEndpoint( + "Home", + order: 2, + defaults: new { controller = "Home", action = "Index", }, + metadata: new[] { new RouteValuesAddressMetadata(new RouteValueDictionary(new { controller = "Home", action = "Index", })) }); + var endpointEmpty = EndpointFactory.CreateRouteEndpoint( + "", + order: 1, + defaults: new { controller = "Home", action = "Index", }, + metadata: new[] { new RouteValuesAddressMetadata(new RouteValueDictionary(new { controller = "Home", action = "Index", })) }); + + // This endpoint should be used to generate the link when an id is present + var endpointControllerActionParameter = EndpointFactory.CreateRouteEndpoint( + "Home/Index/{id}", + order: 0, + defaults: new { controller = "Home", action = "Index", }, + metadata: new[] { new RouteValuesAddressMetadata(new RouteValueDictionary(new { controller = "Home", action = "Index", })) }); + + var linkGenerator = CreateLinkGenerator(endpointControllerAction, endpointController, endpointEmpty, endpointControllerActionParameter); + + var context = new EndpointSelectorContext() + { + RouteValues = new RouteValueDictionary(new { controller = "Home", action = "Index", }) + }; + var httpContext = CreateHttpContext(); + httpContext.Features.Set(context); + + // Act + var pathWithoutId = linkGenerator.GetPathByRouteValues( + httpContext, + routeName: null, + values: new RouteValueDictionary()); + + var pathWithId = linkGenerator.GetPathByRouteValues( + httpContext, + routeName: null, + values: new RouteValueDictionary(new { id = "3" })); + + var pathWithCustom = linkGenerator.GetPathByRouteValues( + httpContext, + routeName: null, + values: new RouteValueDictionary(new { custom = "Custom" })); + + // Assert + Assert.Equal("/", pathWithoutId); + Assert.Equal("/Home/Index/3", pathWithId); + Assert.Equal("/?custom=Custom", pathWithCustom); + } + protected override void AddAdditionalServices(IServiceCollection services) { services.AddSingleton, IntAddressScheme>(); From 3c9086e3d02acb34c21c1193f080be70e4f1cd6f Mon Sep 17 00:00:00 2001 From: Gert Driesen Date: Sat, 20 Oct 2018 12:12:08 +0200 Subject: [PATCH 207/221] Improve performance and reduce allocations in DecisionTreeBuilder. --- .../DecisionTreeBuilder.cs | 21 +++++++++++-------- 1 file changed, 12 insertions(+), 9 deletions(-) diff --git a/shared/Microsoft.AspNetCore.Routing.DecisionTree.Sources/DecisionTreeBuilder.cs b/shared/Microsoft.AspNetCore.Routing.DecisionTree.Sources/DecisionTreeBuilder.cs index 76792f6793..c4a48f5cce 100644 --- a/shared/Microsoft.AspNetCore.Routing.DecisionTree.Sources/DecisionTreeBuilder.cs +++ b/shared/Microsoft.AspNetCore.Routing.DecisionTree.Sources/DecisionTreeBuilder.cs @@ -74,14 +74,16 @@ namespace Microsoft.AspNetCore.Routing.DecisionTree { public static DecisionTreeNode GenerateTree(IReadOnlyList items, IClassifier classifier) { - var itemDescriptors = new List>(); - for (var i = 0; i < items.Count; i++) + var itemCount = items.Count; + var itemDescriptors = new List>(itemCount); + for (var i = 0; i < itemCount; i++) { + var item = items[i]; itemDescriptors.Add(new ItemDescriptor() { - Criteria = classifier.GetCriteria(items[i]), + Criteria = classifier.GetCriteria(item), Index = i, - Item = items[i], + Item = item, }); } @@ -95,7 +97,7 @@ namespace Microsoft.AspNetCore.Routing.DecisionTree private static DecisionTreeNode GenerateNode( TreeBuilderContext context, DecisionCriterionValueEqualityComparer comparer, - IList> items) + List> items) { // The extreme use of generics here is intended to reduce the number of intermediate // allocations of wrapper classes. Performance testing found that building these trees allocates @@ -156,16 +158,17 @@ namespace Microsoft.AspNetCore.Routing.DecisionTree foreach (var branch in criterion.Value) { - var reducedItems = new List>(); + bool hasReducedItems = false; + foreach (var item in branch.Value) { if (context.MatchedItems.Add(item)) { - reducedItems.Add(item); + hasReducedItems = true; } } - if (reducedItems.Count > 0) + if (hasReducedItems) { var childContext = new TreeBuilderContext(context); childContext.CurrentCriteria.Add(criterion.Key); @@ -189,7 +192,7 @@ namespace Microsoft.AspNetCore.Routing.DecisionTree return new DecisionTreeNode() { - Criteria = reducedCriteria.ToList(), + Criteria = reducedCriteria, Matches = matches, }; } From 42914d93ca8375ba089ee4ae5f1e48967f3b63f1 Mon Sep 17 00:00:00 2001 From: Gert Driesen Date: Sun, 21 Oct 2018 03:05:05 +0200 Subject: [PATCH 208/221] Declare out variables inline, and use discards (#873) --- .../DecisionTreeBuilder.cs | 6 ++---- .../Constraints/BoolRouteConstraint.cs | 6 ++---- .../Constraints/DateTimeRouteConstraint.cs | 6 ++---- .../Constraints/DecimalRouteConstraint.cs | 6 ++---- .../Constraints/DoubleRouteConstraint.cs | 6 ++---- .../Constraints/FloatRouteConstraint.cs | 6 ++---- .../Constraints/GuidRouteConstraint.cs | 6 ++---- .../Constraints/HttpMethodRouteConstraint.cs | 3 +-- .../Constraints/IntRouteConstraint.cs | 6 ++---- .../Constraints/LengthRouteConstraint.cs | 3 +-- .../Constraints/LongRouteConstraint.cs | 6 ++---- .../Constraints/MaxLengthRouteConstraint.cs | 3 +-- .../Constraints/MaxRouteConstraint.cs | 6 ++---- .../Constraints/MinLengthRouteConstraint.cs | 3 +-- .../Constraints/MinRouteConstraint.cs | 6 ++---- .../Constraints/OptionalRouteConstraint.cs | 3 +-- .../Constraints/RangeRouteConstraint.cs | 6 ++---- .../Constraints/RegexRouteConstraint.cs | 4 +--- .../Constraints/RequiredRouteConstraint.cs | 3 +-- .../Constraints/StringRouteConstraint.cs | 4 +--- .../Internal/LinkGenerationDecisionTree.cs | 6 ++---- src/Microsoft.AspNetCore.Routing/RouteCollection.cs | 4 ++-- src/Microsoft.AspNetCore.Routing/RouteConstraintBuilder.cs | 3 +-- src/Microsoft.AspNetCore.Routing/RouteConstraintMatcher.cs | 3 +-- .../Template/TemplateMatcher.cs | 3 +-- src/Microsoft.AspNetCore.Routing/Tree/TreeEnumerator.cs | 3 +-- src/Microsoft.AspNetCore.Routing/Tree/TreeRouteBuilder.cs | 3 +-- src/Microsoft.AspNetCore.Routing/Tree/TreeRouter.cs | 6 ++---- src/Microsoft.AspNetCore.Routing/Tree/UrlMatchingTree.cs | 3 +-- 29 files changed, 44 insertions(+), 88 deletions(-) diff --git a/shared/Microsoft.AspNetCore.Routing.DecisionTree.Sources/DecisionTreeBuilder.cs b/shared/Microsoft.AspNetCore.Routing.DecisionTree.Sources/DecisionTreeBuilder.cs index c4a48f5cce..293ce4aa46 100644 --- a/shared/Microsoft.AspNetCore.Routing.DecisionTree.Sources/DecisionTreeBuilder.cs +++ b/shared/Microsoft.AspNetCore.Routing.DecisionTree.Sources/DecisionTreeBuilder.cs @@ -125,15 +125,13 @@ namespace Microsoft.AspNetCore.Routing.DecisionTree unsatisfiedCriteria++; - Criterion criterion; - if (!criteria.TryGetValue(kvp.Key, out criterion)) + if (!criteria.TryGetValue(kvp.Key, out var criterion)) { criterion = new Criterion(comparer); criteria.Add(kvp.Key, criterion); } - List> branch; - if (!criterion.TryGetValue(kvp.Value, out branch)) + if (!criterion.TryGetValue(kvp.Value, out var branch)) { branch = new List>(); criterion.Add(kvp.Value, branch); diff --git a/src/Microsoft.AspNetCore.Routing/Constraints/BoolRouteConstraint.cs b/src/Microsoft.AspNetCore.Routing/Constraints/BoolRouteConstraint.cs index c91f7305a4..d19000f9de 100644 --- a/src/Microsoft.AspNetCore.Routing/Constraints/BoolRouteConstraint.cs +++ b/src/Microsoft.AspNetCore.Routing/Constraints/BoolRouteConstraint.cs @@ -30,17 +30,15 @@ namespace Microsoft.AspNetCore.Routing.Constraints throw new ArgumentNullException(nameof(values)); } - object value; - if (values.TryGetValue(routeKey, out value) && value != null) + if (values.TryGetValue(routeKey, out var value) && value != null) { if (value is bool) { return true; } - bool result; var valueString = Convert.ToString(value, CultureInfo.InvariantCulture); - return bool.TryParse(valueString, out result); + return bool.TryParse(valueString, out _); } return false; diff --git a/src/Microsoft.AspNetCore.Routing/Constraints/DateTimeRouteConstraint.cs b/src/Microsoft.AspNetCore.Routing/Constraints/DateTimeRouteConstraint.cs index 9105108d00..a912a84f52 100644 --- a/src/Microsoft.AspNetCore.Routing/Constraints/DateTimeRouteConstraint.cs +++ b/src/Microsoft.AspNetCore.Routing/Constraints/DateTimeRouteConstraint.cs @@ -36,17 +36,15 @@ namespace Microsoft.AspNetCore.Routing.Constraints throw new ArgumentNullException(nameof(values)); } - object value; - if (values.TryGetValue(routeKey, out value) && value != null) + if (values.TryGetValue(routeKey, out var value) && value != null) { if (value is DateTime) { return true; } - DateTime result; var valueString = Convert.ToString(value, CultureInfo.InvariantCulture); - return DateTime.TryParse(valueString, CultureInfo.InvariantCulture, DateTimeStyles.None, out result); + return DateTime.TryParse(valueString, CultureInfo.InvariantCulture, DateTimeStyles.None, out _); } return false; diff --git a/src/Microsoft.AspNetCore.Routing/Constraints/DecimalRouteConstraint.cs b/src/Microsoft.AspNetCore.Routing/Constraints/DecimalRouteConstraint.cs index 808d448706..9fcc80a9f1 100644 --- a/src/Microsoft.AspNetCore.Routing/Constraints/DecimalRouteConstraint.cs +++ b/src/Microsoft.AspNetCore.Routing/Constraints/DecimalRouteConstraint.cs @@ -30,17 +30,15 @@ namespace Microsoft.AspNetCore.Routing.Constraints throw new ArgumentNullException(nameof(values)); } - object value; - if (values.TryGetValue(routeKey, out value) && value != null) + if (values.TryGetValue(routeKey, out var value) && value != null) { if (value is decimal) { return true; } - decimal result; var valueString = Convert.ToString(value, CultureInfo.InvariantCulture); - return decimal.TryParse(valueString, NumberStyles.Number, CultureInfo.InvariantCulture, out result); + return decimal.TryParse(valueString, NumberStyles.Number, CultureInfo.InvariantCulture, out _); } return false; diff --git a/src/Microsoft.AspNetCore.Routing/Constraints/DoubleRouteConstraint.cs b/src/Microsoft.AspNetCore.Routing/Constraints/DoubleRouteConstraint.cs index 0a8064f468..405e46cb0d 100644 --- a/src/Microsoft.AspNetCore.Routing/Constraints/DoubleRouteConstraint.cs +++ b/src/Microsoft.AspNetCore.Routing/Constraints/DoubleRouteConstraint.cs @@ -30,21 +30,19 @@ namespace Microsoft.AspNetCore.Routing.Constraints throw new ArgumentNullException(nameof(values)); } - object value; - if (values.TryGetValue(routeKey, out value) && value != null) + if (values.TryGetValue(routeKey, out var value) && value != null) { if (value is double) { return true; } - double result; var valueString = Convert.ToString(value, CultureInfo.InvariantCulture); return double.TryParse( valueString, NumberStyles.Float | NumberStyles.AllowThousands, CultureInfo.InvariantCulture, - out result); + out _); } return false; diff --git a/src/Microsoft.AspNetCore.Routing/Constraints/FloatRouteConstraint.cs b/src/Microsoft.AspNetCore.Routing/Constraints/FloatRouteConstraint.cs index eff69c8ad1..fbdd3c87d6 100644 --- a/src/Microsoft.AspNetCore.Routing/Constraints/FloatRouteConstraint.cs +++ b/src/Microsoft.AspNetCore.Routing/Constraints/FloatRouteConstraint.cs @@ -30,21 +30,19 @@ namespace Microsoft.AspNetCore.Routing.Constraints throw new ArgumentNullException(nameof(values)); } - object value; - if (values.TryGetValue(routeKey, out value) && value != null) + if (values.TryGetValue(routeKey, out var value) && value != null) { if (value is float) { return true; } - float result; var valueString = Convert.ToString(value, CultureInfo.InvariantCulture); return float.TryParse( valueString, NumberStyles.Float | NumberStyles.AllowThousands, CultureInfo.InvariantCulture, - out result); + out _); } return false; diff --git a/src/Microsoft.AspNetCore.Routing/Constraints/GuidRouteConstraint.cs b/src/Microsoft.AspNetCore.Routing/Constraints/GuidRouteConstraint.cs index aa1c74ec07..b87069df98 100644 --- a/src/Microsoft.AspNetCore.Routing/Constraints/GuidRouteConstraint.cs +++ b/src/Microsoft.AspNetCore.Routing/Constraints/GuidRouteConstraint.cs @@ -32,17 +32,15 @@ namespace Microsoft.AspNetCore.Routing.Constraints throw new ArgumentNullException(nameof(values)); } - object value; - if (values.TryGetValue(routeKey, out value) && value != null) + if (values.TryGetValue(routeKey, out var value) && value != null) { if (value is Guid) { return true; } - Guid result; var valueString = Convert.ToString(value, CultureInfo.InvariantCulture); - return Guid.TryParse(valueString, out result); + return Guid.TryParse(valueString, out _); } return false; diff --git a/src/Microsoft.AspNetCore.Routing/Constraints/HttpMethodRouteConstraint.cs b/src/Microsoft.AspNetCore.Routing/Constraints/HttpMethodRouteConstraint.cs index f5a4d81830..18fbec0c19 100644 --- a/src/Microsoft.AspNetCore.Routing/Constraints/HttpMethodRouteConstraint.cs +++ b/src/Microsoft.AspNetCore.Routing/Constraints/HttpMethodRouteConstraint.cs @@ -76,8 +76,7 @@ namespace Microsoft.AspNetCore.Routing.Constraints // signal that he is generating a URI that will be used for an HTTP POST, so he wants the URI // generation to be performed by the (b) route instead of the (a) route, consistent with what would // happen on incoming requests. - object obj; - if (!values.TryGetValue(routeKey, out obj)) + if (!values.TryGetValue(routeKey, out var obj)) { return true; } diff --git a/src/Microsoft.AspNetCore.Routing/Constraints/IntRouteConstraint.cs b/src/Microsoft.AspNetCore.Routing/Constraints/IntRouteConstraint.cs index 82f32052ee..34ff02331e 100644 --- a/src/Microsoft.AspNetCore.Routing/Constraints/IntRouteConstraint.cs +++ b/src/Microsoft.AspNetCore.Routing/Constraints/IntRouteConstraint.cs @@ -30,17 +30,15 @@ namespace Microsoft.AspNetCore.Routing.Constraints throw new ArgumentNullException(nameof(values)); } - object value; - if (values.TryGetValue(routeKey, out value) && value != null) + if (values.TryGetValue(routeKey, out var value) && value != null) { if (value is int) { return true; } - int result; var valueString = Convert.ToString(value, CultureInfo.InvariantCulture); - return int.TryParse(valueString, NumberStyles.Integer, CultureInfo.InvariantCulture, out result); + return int.TryParse(valueString, NumberStyles.Integer, CultureInfo.InvariantCulture, out _); } return false; diff --git a/src/Microsoft.AspNetCore.Routing/Constraints/LengthRouteConstraint.cs b/src/Microsoft.AspNetCore.Routing/Constraints/LengthRouteConstraint.cs index f102af6ec4..8964f2549e 100644 --- a/src/Microsoft.AspNetCore.Routing/Constraints/LengthRouteConstraint.cs +++ b/src/Microsoft.AspNetCore.Routing/Constraints/LengthRouteConstraint.cs @@ -87,8 +87,7 @@ namespace Microsoft.AspNetCore.Routing.Constraints throw new ArgumentNullException(nameof(values)); } - object value; - if (values.TryGetValue(routeKey, out value) && value != null) + if (values.TryGetValue(routeKey, out var value) && value != null) { var valueString = Convert.ToString(value, CultureInfo.InvariantCulture); var length = valueString.Length; diff --git a/src/Microsoft.AspNetCore.Routing/Constraints/LongRouteConstraint.cs b/src/Microsoft.AspNetCore.Routing/Constraints/LongRouteConstraint.cs index 6d12c74d79..8ed5cccc46 100644 --- a/src/Microsoft.AspNetCore.Routing/Constraints/LongRouteConstraint.cs +++ b/src/Microsoft.AspNetCore.Routing/Constraints/LongRouteConstraint.cs @@ -30,17 +30,15 @@ namespace Microsoft.AspNetCore.Routing.Constraints throw new ArgumentNullException(nameof(values)); } - object value; - if (values.TryGetValue(routeKey, out value) && value != null) + if (values.TryGetValue(routeKey, out var value) && value != null) { if (value is long) { return true; } - long result; var valueString = Convert.ToString(value, CultureInfo.InvariantCulture); - return long.TryParse(valueString, NumberStyles.Integer, CultureInfo.InvariantCulture, out result); + return long.TryParse(valueString, NumberStyles.Integer, CultureInfo.InvariantCulture, out _); } return false; diff --git a/src/Microsoft.AspNetCore.Routing/Constraints/MaxLengthRouteConstraint.cs b/src/Microsoft.AspNetCore.Routing/Constraints/MaxLengthRouteConstraint.cs index a7858477da..4005a041aa 100644 --- a/src/Microsoft.AspNetCore.Routing/Constraints/MaxLengthRouteConstraint.cs +++ b/src/Microsoft.AspNetCore.Routing/Constraints/MaxLengthRouteConstraint.cs @@ -50,8 +50,7 @@ namespace Microsoft.AspNetCore.Routing.Constraints throw new ArgumentNullException(nameof(values)); } - object value; - if (values.TryGetValue(routeKey, out value) && value != null) + if (values.TryGetValue(routeKey, out var value) && value != null) { var valueString = Convert.ToString(value, CultureInfo.InvariantCulture); return valueString.Length <= MaxLength; diff --git a/src/Microsoft.AspNetCore.Routing/Constraints/MaxRouteConstraint.cs b/src/Microsoft.AspNetCore.Routing/Constraints/MaxRouteConstraint.cs index f20cce6c6c..dab22f5075 100644 --- a/src/Microsoft.AspNetCore.Routing/Constraints/MaxRouteConstraint.cs +++ b/src/Microsoft.AspNetCore.Routing/Constraints/MaxRouteConstraint.cs @@ -44,12 +44,10 @@ namespace Microsoft.AspNetCore.Routing.Constraints throw new ArgumentNullException(nameof(values)); } - object value; - if (values.TryGetValue(routeKey, out value) && value != null) + if (values.TryGetValue(routeKey, out var value) && value != null) { - long longValue; var valueString = Convert.ToString(value, CultureInfo.InvariantCulture); - if (long.TryParse(valueString, NumberStyles.Integer, CultureInfo.InvariantCulture, out longValue)) + if (long.TryParse(valueString, NumberStyles.Integer, CultureInfo.InvariantCulture, out var longValue)) { return longValue <= Max; } diff --git a/src/Microsoft.AspNetCore.Routing/Constraints/MinLengthRouteConstraint.cs b/src/Microsoft.AspNetCore.Routing/Constraints/MinLengthRouteConstraint.cs index 7a51bf7412..c58bd0b30d 100644 --- a/src/Microsoft.AspNetCore.Routing/Constraints/MinLengthRouteConstraint.cs +++ b/src/Microsoft.AspNetCore.Routing/Constraints/MinLengthRouteConstraint.cs @@ -50,8 +50,7 @@ namespace Microsoft.AspNetCore.Routing.Constraints throw new ArgumentNullException(nameof(values)); } - object value; - if (values.TryGetValue(routeKey, out value) && value != null) + if (values.TryGetValue(routeKey, out var value) && value != null) { var valueString = Convert.ToString(value, CultureInfo.InvariantCulture); return valueString.Length >= MinLength; diff --git a/src/Microsoft.AspNetCore.Routing/Constraints/MinRouteConstraint.cs b/src/Microsoft.AspNetCore.Routing/Constraints/MinRouteConstraint.cs index 701d5c68e8..450ed46fbf 100644 --- a/src/Microsoft.AspNetCore.Routing/Constraints/MinRouteConstraint.cs +++ b/src/Microsoft.AspNetCore.Routing/Constraints/MinRouteConstraint.cs @@ -44,12 +44,10 @@ namespace Microsoft.AspNetCore.Routing.Constraints throw new ArgumentNullException(nameof(values)); } - object value; - if (values.TryGetValue(routeKey, out value) && value != null) + if (values.TryGetValue(routeKey, out var value) && value != null) { - long longValue; var valueString = Convert.ToString(value, CultureInfo.InvariantCulture); - if (long.TryParse(valueString, NumberStyles.Integer, CultureInfo.InvariantCulture, out longValue)) + if (long.TryParse(valueString, NumberStyles.Integer, CultureInfo.InvariantCulture, out var longValue)) { return longValue >= Min; } diff --git a/src/Microsoft.AspNetCore.Routing/Constraints/OptionalRouteConstraint.cs b/src/Microsoft.AspNetCore.Routing/Constraints/OptionalRouteConstraint.cs index 9a9cca8e42..6b7cf8a1a5 100644 --- a/src/Microsoft.AspNetCore.Routing/Constraints/OptionalRouteConstraint.cs +++ b/src/Microsoft.AspNetCore.Routing/Constraints/OptionalRouteConstraint.cs @@ -40,8 +40,7 @@ namespace Microsoft.AspNetCore.Routing.Constraints throw new ArgumentNullException(nameof(values)); } - object value; - if (values.TryGetValue(routeKey, out value)) + if (values.TryGetValue(routeKey, out var value)) { return InnerConstraint.Match(httpContext, route, diff --git a/src/Microsoft.AspNetCore.Routing/Constraints/RangeRouteConstraint.cs b/src/Microsoft.AspNetCore.Routing/Constraints/RangeRouteConstraint.cs index cc2487cfcb..34c946fa66 100644 --- a/src/Microsoft.AspNetCore.Routing/Constraints/RangeRouteConstraint.cs +++ b/src/Microsoft.AspNetCore.Routing/Constraints/RangeRouteConstraint.cs @@ -58,12 +58,10 @@ namespace Microsoft.AspNetCore.Routing.Constraints throw new ArgumentNullException(nameof(values)); } - object value; - if (values.TryGetValue(routeKey, out value) && value != null) + if (values.TryGetValue(routeKey, out var value) && value != null) { - long longValue; var valueString = Convert.ToString(value, CultureInfo.InvariantCulture); - if (Int64.TryParse(valueString, NumberStyles.Integer, CultureInfo.InvariantCulture, out longValue)) + if (long.TryParse(valueString, NumberStyles.Integer, CultureInfo.InvariantCulture, out var longValue)) { return longValue >= Min && longValue <= Max; } diff --git a/src/Microsoft.AspNetCore.Routing/Constraints/RegexRouteConstraint.cs b/src/Microsoft.AspNetCore.Routing/Constraints/RegexRouteConstraint.cs index c4e83f40e3..9269de51a3 100644 --- a/src/Microsoft.AspNetCore.Routing/Constraints/RegexRouteConstraint.cs +++ b/src/Microsoft.AspNetCore.Routing/Constraints/RegexRouteConstraint.cs @@ -54,9 +54,7 @@ namespace Microsoft.AspNetCore.Routing.Constraints throw new ArgumentNullException(nameof(values)); } - object routeValue; - - if (values.TryGetValue(routeKey, out routeValue) + if (values.TryGetValue(routeKey, out var routeValue) && routeValue != null) { var parameterValueString = Convert.ToString(routeValue, CultureInfo.InvariantCulture); diff --git a/src/Microsoft.AspNetCore.Routing/Constraints/RequiredRouteConstraint.cs b/src/Microsoft.AspNetCore.Routing/Constraints/RequiredRouteConstraint.cs index 827f85ea39..e33e1e23a6 100644 --- a/src/Microsoft.AspNetCore.Routing/Constraints/RequiredRouteConstraint.cs +++ b/src/Microsoft.AspNetCore.Routing/Constraints/RequiredRouteConstraint.cs @@ -34,8 +34,7 @@ namespace Microsoft.AspNetCore.Routing.Constraints throw new ArgumentNullException(nameof(values)); } - object value; - if (values.TryGetValue(routeKey, out value) && value != null) + if (values.TryGetValue(routeKey, out var value) && value != null) { // In routing the empty string is equivalent to null, which is equivalent to an unset value. var valueString = Convert.ToString(value, CultureInfo.InvariantCulture); diff --git a/src/Microsoft.AspNetCore.Routing/Constraints/StringRouteConstraint.cs b/src/Microsoft.AspNetCore.Routing/Constraints/StringRouteConstraint.cs index 20103058a7..fb6a3568c3 100644 --- a/src/Microsoft.AspNetCore.Routing/Constraints/StringRouteConstraint.cs +++ b/src/Microsoft.AspNetCore.Routing/Constraints/StringRouteConstraint.cs @@ -41,9 +41,7 @@ namespace Microsoft.AspNetCore.Routing.Constraints throw new ArgumentNullException(nameof(values)); } - object routeValue; - - if (values.TryGetValue(routeKey, out routeValue) + if (values.TryGetValue(routeKey, out var routeValue) && routeValue != null) { var parameterValueString = Convert.ToString(routeValue, CultureInfo.InvariantCulture); diff --git a/src/Microsoft.AspNetCore.Routing/Internal/LinkGenerationDecisionTree.cs b/src/Microsoft.AspNetCore.Routing/Internal/LinkGenerationDecisionTree.cs index f276bf0658..61a4cd1960 100644 --- a/src/Microsoft.AspNetCore.Routing/Internal/LinkGenerationDecisionTree.cs +++ b/src/Microsoft.AspNetCore.Routing/Internal/LinkGenerationDecisionTree.cs @@ -87,11 +87,9 @@ namespace Microsoft.AspNetCore.Routing.Internal var criterion = node.Criteria[i]; var key = criterion.Key; - object value; - if (values.TryGetValue(key, out value)) + if (values.TryGetValue(key, out var value)) { - DecisionTreeNode branch; - if (criterion.Branches.TryGetValue(value ?? string.Empty, out branch)) + if (criterion.Branches.TryGetValue(value ?? string.Empty, out var branch)) { Walk(results, values, ambientValues, branch, isFallbackPath); } diff --git a/src/Microsoft.AspNetCore.Routing/RouteCollection.cs b/src/Microsoft.AspNetCore.Routing/RouteCollection.cs index 512107274e..555fdd63ae 100644 --- a/src/Microsoft.AspNetCore.Routing/RouteCollection.cs +++ b/src/Microsoft.AspNetCore.Routing/RouteCollection.cs @@ -91,8 +91,8 @@ namespace Microsoft.AspNetCore.Routing if (!string.IsNullOrEmpty(context.RouteName)) { VirtualPathData namedRoutePathData = null; - INamedRouter matchedNamedRoute; - if (_namedRoutes.TryGetValue(context.RouteName, out matchedNamedRoute)) + + if (_namedRoutes.TryGetValue(context.RouteName, out var matchedNamedRoute)) { namedRoutePathData = matchedNamedRoute.GetVirtualPath(context); } diff --git a/src/Microsoft.AspNetCore.Routing/RouteConstraintBuilder.cs b/src/Microsoft.AspNetCore.Routing/RouteConstraintBuilder.cs index 0c444236a5..5bb40282a6 100644 --- a/src/Microsoft.AspNetCore.Routing/RouteConstraintBuilder.cs +++ b/src/Microsoft.AspNetCore.Routing/RouteConstraintBuilder.cs @@ -184,8 +184,7 @@ namespace Microsoft.AspNetCore.Routing private void Add(string key, IRouteConstraint constraint) { - List list; - if (!_constraints.TryGetValue(key, out list)) + if (!_constraints.TryGetValue(key, out var list)) { list = new List(); _constraints.Add(key, list); diff --git a/src/Microsoft.AspNetCore.Routing/RouteConstraintMatcher.cs b/src/Microsoft.AspNetCore.Routing/RouteConstraintMatcher.cs index 8601d85581..d19a743fad 100644 --- a/src/Microsoft.AspNetCore.Routing/RouteConstraintMatcher.cs +++ b/src/Microsoft.AspNetCore.Routing/RouteConstraintMatcher.cs @@ -51,8 +51,7 @@ namespace Microsoft.AspNetCore.Routing { if (routeDirection.Equals(RouteDirection.IncomingRequest)) { - object routeValue; - routeValues.TryGetValue(kvp.Key, out routeValue); + routeValues.TryGetValue(kvp.Key, out var routeValue); logger.RouteValueDoesNotMatchConstraint(routeValue, kvp.Key, kvp.Value); } diff --git a/src/Microsoft.AspNetCore.Routing/Template/TemplateMatcher.cs b/src/Microsoft.AspNetCore.Routing/Template/TemplateMatcher.cs index ebb0a0d779..31bb97d394 100644 --- a/src/Microsoft.AspNetCore.Routing/Template/TemplateMatcher.cs +++ b/src/Microsoft.AspNetCore.Routing/Template/TemplateMatcher.cs @@ -49,8 +49,7 @@ namespace Microsoft.AspNetCore.Routing.Template continue; } - object value; - if (Defaults.TryGetValue(part.Name, out value)) + if (Defaults.TryGetValue(part.Name, out var value)) { _hasDefaultValue[i] = true; _defaultValues[i] = value; diff --git a/src/Microsoft.AspNetCore.Routing/Tree/TreeEnumerator.cs b/src/Microsoft.AspNetCore.Routing/Tree/TreeEnumerator.cs index db59b0a396..cdd7ec6f81 100644 --- a/src/Microsoft.AspNetCore.Routing/Tree/TreeEnumerator.cs +++ b/src/Microsoft.AspNetCore.Routing/Tree/TreeEnumerator.cs @@ -91,9 +91,8 @@ namespace Microsoft.AspNetCore.Routing.Tree if (next.Literals.Count > 0) { - UrlMatchingNode node; Debug.Assert(next.Depth < _tokenizer.Count); - if (next.Literals.TryGetValue(_tokenizer[next.Depth].Value, out node)) + if (next.Literals.TryGetValue(_tokenizer[next.Depth].Value, out var node)) { _stack.Push(node); } diff --git a/src/Microsoft.AspNetCore.Routing/Tree/TreeRouteBuilder.cs b/src/Microsoft.AspNetCore.Routing/Tree/TreeRouteBuilder.cs index 400424f4c1..f796328a82 100644 --- a/src/Microsoft.AspNetCore.Routing/Tree/TreeRouteBuilder.cs +++ b/src/Microsoft.AspNetCore.Routing/Tree/TreeRouteBuilder.cs @@ -259,8 +259,7 @@ namespace Microsoft.AspNetCore.Routing.Tree foreach (var entry in InboundEntries) { - UrlMatchingTree tree; - if (!trees.TryGetValue(entry.Order, out tree)) + if (!trees.TryGetValue(entry.Order, out var tree)) { tree = new UrlMatchingTree(entry.Order); trees.Add(entry.Order, tree); diff --git a/src/Microsoft.AspNetCore.Routing/Tree/TreeRouter.cs b/src/Microsoft.AspNetCore.Routing/Tree/TreeRouter.cs index 8670b6cdff..3f98325641 100644 --- a/src/Microsoft.AspNetCore.Routing/Tree/TreeRouter.cs +++ b/src/Microsoft.AspNetCore.Routing/Tree/TreeRouter.cs @@ -103,8 +103,7 @@ namespace Microsoft.AspNetCore.Routing.Tree // We only need to keep one OutboundMatch per route template // so in case two entries have the same name and the same template we only keep // the first entry. - OutboundMatch namedMatch; - if (_namedEntries.TryGetValue(entry.RouteName, out namedMatch) && + if (_namedEntries.TryGetValue(entry.RouteName, out var namedMatch) && !string.Equals( namedMatch.Entry.RouteTemplate.TemplateText, entry.RouteTemplate.TemplateText, @@ -233,8 +232,7 @@ namespace Microsoft.AspNetCore.Routing.Tree private VirtualPathData GetVirtualPathForNamedRoute(VirtualPathContext context) { - OutboundMatch match; - if (_namedEntries.TryGetValue(context.RouteName, out match)) + if (_namedEntries.TryGetValue(context.RouteName, out var match)) { var path = GenerateVirtualPath(context, match.Entry, match.TemplateBinder); if (path != null) diff --git a/src/Microsoft.AspNetCore.Routing/Tree/UrlMatchingTree.cs b/src/Microsoft.AspNetCore.Routing/Tree/UrlMatchingTree.cs index 96e6940653..570dce1b3a 100644 --- a/src/Microsoft.AspNetCore.Routing/Tree/UrlMatchingTree.cs +++ b/src/Microsoft.AspNetCore.Routing/Tree/UrlMatchingTree.cs @@ -86,8 +86,7 @@ namespace Microsoft.AspNetCore.Routing.Tree var part = segment.Parts[0]; if (part.IsLiteral) { - UrlMatchingNode next; - if (!current.Literals.TryGetValue(part.Text, out next)) + if (!current.Literals.TryGetValue(part.Text, out var next)) { next = new UrlMatchingNode(length: i + 1); current.Literals.Add(part.Text, next); From 0f90a15cf1982fbe968f12e30750e3a6d5a5fe95 Mon Sep 17 00:00:00 2001 From: Gert Driesen Date: Sun, 21 Oct 2018 21:34:11 +0200 Subject: [PATCH 209/221] Use Array.Clone() to copy arrays, and avoid copy where applicable (#855) --- .../Patterns/RoutePatternFactory.cs | 22 +- .../Patterns/RoutePatternFactoryTest.cs | 235 +++++++++++++++++- 2 files changed, 244 insertions(+), 13 deletions(-) diff --git a/src/Microsoft.AspNetCore.Routing/Patterns/RoutePatternFactory.cs b/src/Microsoft.AspNetCore.Routing/Patterns/RoutePatternFactory.cs index 71941ffde6..2f755a08e9 100644 --- a/src/Microsoft.AspNetCore.Routing/Patterns/RoutePatternFactory.cs +++ b/src/Microsoft.AspNetCore.Routing/Patterns/RoutePatternFactory.cs @@ -2,12 +2,10 @@ // Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information. using System; -using System.Collections; using System.Collections.Generic; using System.Collections.ObjectModel; using System.Linq; using Microsoft.AspNetCore.Routing.Constraints; -using Microsoft.AspNetCore.Routing.Matching; namespace Microsoft.AspNetCore.Routing.Patterns { @@ -417,7 +415,7 @@ namespace Microsoft.AspNetCore.Routing.Patterns parameter.Name, @default, parameter.ParameterKind, - (IEnumerable)parameterConstraints ?? Array.Empty(), + parameterConstraints?.ToArray() ?? Array.Empty(), parameter.EncodeSlashes); } } @@ -435,7 +433,7 @@ namespace Microsoft.AspNetCore.Routing.Patterns throw new ArgumentNullException(nameof(parts)); } - return SegmentCore(parts); + return SegmentCore(parts.ToArray()); } /// @@ -451,12 +449,12 @@ namespace Microsoft.AspNetCore.Routing.Patterns throw new ArgumentNullException(nameof(parts)); } - return SegmentCore(parts); + return SegmentCore((RoutePatternPart[]) parts.Clone()); } - private static RoutePatternPathSegment SegmentCore(IEnumerable parts) + private static RoutePatternPathSegment SegmentCore(RoutePatternPart[] parts) { - return new RoutePatternPathSegment(parts.ToArray()); + return new RoutePatternPathSegment(parts); } /// @@ -630,7 +628,7 @@ namespace Microsoft.AspNetCore.Routing.Patterns parameterName: parameterName, @default: @default, parameterKind: parameterKind, - parameterPolicies: parameterPolicies); + parameterPolicies: parameterPolicies.ToArray()); } /// @@ -672,14 +670,14 @@ namespace Microsoft.AspNetCore.Routing.Patterns parameterName: parameterName, @default: @default, parameterKind: parameterKind, - parameterPolicies: parameterPolicies); + parameterPolicies: (RoutePatternParameterPolicyReference[]) parameterPolicies.Clone()); } private static RoutePatternParameterPart ParameterPartCore( string parameterName, object @default, RoutePatternParameterKind parameterKind, - IEnumerable parameterPolicies) + RoutePatternParameterPolicyReference[] parameterPolicies) { return ParameterPartCore(parameterName, @default, parameterKind, parameterPolicies, encodeSlashes: true); } @@ -688,14 +686,14 @@ namespace Microsoft.AspNetCore.Routing.Patterns string parameterName, object @default, RoutePatternParameterKind parameterKind, - IEnumerable parameterPolicies, + RoutePatternParameterPolicyReference[] parameterPolicies, bool encodeSlashes) { return new RoutePatternParameterPart( parameterName, @default, parameterKind, - parameterPolicies.ToArray(), + parameterPolicies, encodeSlashes); } diff --git a/test/Microsoft.AspNetCore.Routing.Tests/Patterns/RoutePatternFactoryTest.cs b/test/Microsoft.AspNetCore.Routing.Tests/Patterns/RoutePatternFactoryTest.cs index 50d22c6a22..b56465dd7a 100644 --- a/test/Microsoft.AspNetCore.Routing.Tests/Patterns/RoutePatternFactoryTest.cs +++ b/test/Microsoft.AspNetCore.Routing.Tests/Patterns/RoutePatternFactoryTest.cs @@ -2,9 +2,10 @@ // Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information. using System; +using System.Collections.Generic; using System.Linq; using Microsoft.AspNetCore.Routing.Constraints; -using Microsoft.AspNetCore.Routing.Matching; +using Microsoft.AspNetCore.Routing.Template; using Moq; using Xunit; @@ -303,5 +304,237 @@ namespace Microsoft.AspNetCore.Routing.Patterns $"Invalid constraint '17'. A constraint must be of type 'string' or '{typeof(IRouteConstraint)}'.", ex.Message); } + + [Fact] + public void Pattern_ArrayOfSegments_ShouldMakeCopyOfArrayOfSegments() + { + // Arrange + var literalPartA = RoutePatternFactory.LiteralPart("A"); + var paramPartB = RoutePatternFactory.ParameterPart("B"); + var paramPartC = RoutePatternFactory.ParameterPart("C"); + var paramPartD = RoutePatternFactory.ParameterPart("D"); + var segments = new[] + { + RoutePatternFactory.Segment(literalPartA, paramPartB), + RoutePatternFactory.Segment(paramPartC, literalPartA), + RoutePatternFactory.Segment(paramPartD), + RoutePatternFactory.Segment(literalPartA) + }; + + // Act + var actual = RoutePatternFactory.Pattern(segments); + segments[1] = RoutePatternFactory.Segment(RoutePatternFactory.ParameterPart("E")); + Array.Resize(ref segments, 2); + + // Assert + Assert.Equal(3, actual.Parameters.Count); + Assert.Same(paramPartB, actual.Parameters[0]); + Assert.Same(paramPartC, actual.Parameters[1]); + Assert.Same(paramPartD, actual.Parameters[2]); + } + + [Fact] + public void Pattern_RawTextAndArrayOfSegments_ShouldMakeCopyOfArrayOfSegments() + { + // Arrange + var rawText = "raw"; + var literalPartA = RoutePatternFactory.LiteralPart("A"); + var paramPartB = RoutePatternFactory.ParameterPart("B"); + var paramPartC = RoutePatternFactory.ParameterPart("C"); + var paramPartD = RoutePatternFactory.ParameterPart("D"); + var segments = new[] + { + RoutePatternFactory.Segment(literalPartA, paramPartB), + RoutePatternFactory.Segment(paramPartC, literalPartA), + RoutePatternFactory.Segment(paramPartD), + RoutePatternFactory.Segment(literalPartA) + }; + + // Act + var actual = RoutePatternFactory.Pattern(rawText, segments); + segments[1] = RoutePatternFactory.Segment(RoutePatternFactory.ParameterPart("E")); + Array.Resize(ref segments, 2); + + // Assert + Assert.Equal(3, actual.Parameters.Count); + Assert.Same(paramPartB, actual.Parameters[0]); + Assert.Same(paramPartC, actual.Parameters[1]); + Assert.Same(paramPartD, actual.Parameters[2]); + } + + [Fact] + public void Pattern_DefaultsAndParameterPoliciesAndArrayOfSegments_ShouldMakeCopyOfArrayOfSegments() + { + // Arrange + object defaults = new { B = 12, C = 4 }; + object parameterPolicies = null; + var literalPartA = RoutePatternFactory.LiteralPart("A"); + var paramPartB = RoutePatternFactory.ParameterPart("B"); + var paramPartC = RoutePatternFactory.ParameterPart("C"); + var paramPartD = RoutePatternFactory.ParameterPart("D"); + var segments = new[] + { + RoutePatternFactory.Segment(literalPartA, paramPartB), + RoutePatternFactory.Segment(paramPartC, literalPartA), + RoutePatternFactory.Segment(paramPartD), + RoutePatternFactory.Segment(literalPartA) + }; + + // Act + var actual = RoutePatternFactory.Pattern(defaults, parameterPolicies, segments); + segments[1] = RoutePatternFactory.Segment(RoutePatternFactory.ParameterPart("E")); + Array.Resize(ref segments, 2); + + // Assert + Assert.Equal(3, actual.Parameters.Count); + Assert.Equal(paramPartB.Name, actual.Parameters[0].Name); + Assert.Equal(12, actual.Parameters[0].Default); + Assert.Null(paramPartB.Default); + Assert.NotSame(paramPartB, actual.Parameters[0]); + Assert.Equal(paramPartC.Name, actual.Parameters[1].Name); + Assert.Equal(4, actual.Parameters[1].Default); + Assert.NotSame(paramPartC, actual.Parameters[1]); + Assert.Null(paramPartC.Default); + Assert.Equal(paramPartD.Name, actual.Parameters[2].Name); + Assert.Null(actual.Parameters[2].Default); + Assert.Same(paramPartD, actual.Parameters[2]); + Assert.Null(paramPartD.Default); + } + + [Fact] + public void Pattern_RawTextAndDefaultsAndParameterPoliciesAndArrayOfSegments_ShouldMakeCopyOfArrayOfSegments() + { + // Arrange + var rawText = "raw"; + object defaults = new { B = 12, C = 4 }; + object parameterPolicies = null; + var literalPartA = RoutePatternFactory.LiteralPart("A"); + var paramPartB = RoutePatternFactory.ParameterPart("B"); + var paramPartC = RoutePatternFactory.ParameterPart("C"); + var paramPartD = RoutePatternFactory.ParameterPart("D"); + var segments = new[] + { + RoutePatternFactory.Segment(literalPartA, paramPartB), + RoutePatternFactory.Segment(paramPartC, literalPartA), + RoutePatternFactory.Segment(paramPartD), + RoutePatternFactory.Segment(literalPartA) + }; + + // Act + var actual = RoutePatternFactory.Pattern(rawText, defaults, parameterPolicies, segments); + segments[1] = RoutePatternFactory.Segment(RoutePatternFactory.ParameterPart("E")); + Array.Resize(ref segments, 2); + + // Assert + Assert.Equal(3, actual.Parameters.Count); + Assert.Equal(paramPartB.Name, actual.Parameters[0].Name); + Assert.Equal(12, actual.Parameters[0].Default); + Assert.Null(paramPartB.Default); + Assert.NotSame(paramPartB, actual.Parameters[0]); + Assert.Equal(paramPartC.Name, actual.Parameters[1].Name); + Assert.Equal(4, actual.Parameters[1].Default); + Assert.NotSame(paramPartC, actual.Parameters[1]); + Assert.Null(paramPartC.Default); + Assert.Equal(paramPartD.Name, actual.Parameters[2].Name); + Assert.Null(actual.Parameters[2].Default); + Assert.Same(paramPartD, actual.Parameters[2]); + Assert.Null(paramPartD.Default); + } + + [Fact] + public void ParameterPart_ParameterNameAndDefaultAndParameterKindAndArrayOfParameterPolicies_ShouldMakeCopyOfParameterPolicies() + { + // Arrange (going through hoops to get an array of RoutePatternParameterPolicyReference) + const string name = "Id"; + var defaults = new { a = "13", }; + var x = new InlineConstraint("x"); + var y = new InlineConstraint("y"); + var z = new InlineConstraint("z"); + var constraints = new[] { x, y, z }; + var templatePart = TemplatePart.CreateParameter("t", false, false, null, constraints); + var routePatternParameterPart = (RoutePatternParameterPart) templatePart.ToRoutePatternPart(); + var policies = routePatternParameterPart.ParameterPolicies.ToArray(); + + // Act + var parameterPart = RoutePatternFactory.ParameterPart(name, defaults, RoutePatternParameterKind.Standard, policies); + policies[0] = null; + Array.Resize(ref policies, 2); + + // Assert + Assert.NotNull(parameterPart.ParameterPolicies); + Assert.Equal(3, parameterPart.ParameterPolicies.Count); + Assert.NotNull(parameterPart.ParameterPolicies[0]); + Assert.NotNull(parameterPart.ParameterPolicies[1]); + Assert.NotNull(parameterPart.ParameterPolicies[2]); + } + + [Fact] + public void ParameterPart_ParameterNameAndDefaultAndParameterKindAndEnumerableOfParameterPolicies_ShouldMakeCopyOfParameterPolicies() + { + // Arrange (going through hoops to get an enumerable of RoutePatternParameterPolicyReference) + const string name = "Id"; + var defaults = new { a = "13", }; + var x = new InlineConstraint("x"); + var y = new InlineConstraint("y"); + var z = new InlineConstraint("z"); + var constraints = new[] { x, y, z }; + var templatePart = TemplatePart.CreateParameter("t", false, false, null, constraints); + var routePatternParameterPart = (RoutePatternParameterPart)templatePart.ToRoutePatternPart(); + var policies = routePatternParameterPart.ParameterPolicies.ToList(); + + // Act + var parameterPart = RoutePatternFactory.ParameterPart(name, defaults, RoutePatternParameterKind.Standard, policies); + policies[0] = null; + policies.RemoveAt(1); + + // Assert + Assert.NotNull(parameterPart.ParameterPolicies); + Assert.Equal(3, parameterPart.ParameterPolicies.Count); + Assert.NotNull(parameterPart.ParameterPolicies[0]); + Assert.NotNull(parameterPart.ParameterPolicies[1]); + Assert.NotNull(parameterPart.ParameterPolicies[2]); + } + + [Fact] + public void Segment_EnumerableOfParts() + { + // Arrange + var paramPartB = RoutePatternFactory.ParameterPart("B"); + var paramPartC = RoutePatternFactory.ParameterPart("C"); + var paramPartD = RoutePatternFactory.ParameterPart("D"); + var parts = new[] { paramPartB, paramPartC, paramPartD }; + + // Act + var actual = RoutePatternFactory.Segment((IEnumerable) parts); + parts[1] = RoutePatternFactory.ParameterPart("E"); + Array.Resize(ref parts, 2); + + // Assert + Assert.Equal(3, actual.Parts.Count); + Assert.Same(paramPartB, actual.Parts[0]); + Assert.Same(paramPartC, actual.Parts[1]); + Assert.Same(paramPartD, actual.Parts[2]); + } + + [Fact] + public void Segment_ArrayOfParts() + { + // Arrange + var paramPartB = RoutePatternFactory.ParameterPart("B"); + var paramPartC = RoutePatternFactory.ParameterPart("C"); + var paramPartD = RoutePatternFactory.ParameterPart("D"); + var parts = new[] { paramPartB, paramPartC, paramPartD }; + + // Act + var actual = RoutePatternFactory.Segment(parts); + parts[1] = RoutePatternFactory.ParameterPart("E"); + Array.Resize(ref parts, 2); + + // Assert + Assert.Equal(3, actual.Parts.Count); + Assert.Same(paramPartB, actual.Parts[0]); + Assert.Same(paramPartC, actual.Parts[1]); + Assert.Same(paramPartD, actual.Parts[2]); + } } } From 2081160678e787eb9312a1ed15789f393f2058e6 Mon Sep 17 00:00:00 2001 From: Gert Driesen Date: Sun, 21 Oct 2018 21:35:35 +0200 Subject: [PATCH 210/221] Improve performance and reduce allocations of TemplateSegment (#856) --- .../Template/TemplateSegment.cs | 13 ++++- .../Template/TemplateSegmentTest.cs | 49 +++++++++++++++++++ 2 files changed, 61 insertions(+), 1 deletion(-) create mode 100644 test/Microsoft.AspNetCore.Routing.Tests/Template/TemplateSegmentTest.cs diff --git a/src/Microsoft.AspNetCore.Routing/Template/TemplateSegment.cs b/src/Microsoft.AspNetCore.Routing/Template/TemplateSegment.cs index a3aec42686..304472653e 100644 --- a/src/Microsoft.AspNetCore.Routing/Template/TemplateSegment.cs +++ b/src/Microsoft.AspNetCore.Routing/Template/TemplateSegment.cs @@ -1,6 +1,7 @@ // Copyright (c) .NET Foundation. All rights reserved. // Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information. +using System; using System.Collections.Generic; using System.Diagnostics; using System.Linq; @@ -18,7 +19,17 @@ namespace Microsoft.AspNetCore.Routing.Template public TemplateSegment(RoutePatternPathSegment other) { - Parts = new List(other.Parts.Select(s => new TemplatePart(s))); + if (other == null) + { + throw new ArgumentNullException(nameof(other)); + } + + var partCount = other.Parts.Count; + Parts = new List(partCount); + for (var i = 0; i < partCount; i++) + { + Parts.Add(new TemplatePart(other.Parts[i])); + } } public bool IsSimple => Parts.Count == 1; diff --git a/test/Microsoft.AspNetCore.Routing.Tests/Template/TemplateSegmentTest.cs b/test/Microsoft.AspNetCore.Routing.Tests/Template/TemplateSegmentTest.cs new file mode 100644 index 0000000000..62f56f20b7 --- /dev/null +++ b/test/Microsoft.AspNetCore.Routing.Tests/Template/TemplateSegmentTest.cs @@ -0,0 +1,49 @@ +// Copyright (c) .NET Foundation. All rights reserved. +// Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information. + +using System; +using Microsoft.AspNetCore.Routing.Patterns; +using Xunit; + +namespace Microsoft.AspNetCore.Routing.Template +{ + public class TemplateSegmentTest + { + [Fact] + public void Ctor_RoutePatternPathSegment_ShouldThrowArgumentNullExceptionWhenOtherIsNull() + { + const RoutePatternPathSegment other = null; + + var actual = Assert.ThrowsAny(() => new TemplateSegment(other)); + Assert.Equal(nameof(other), actual.ParamName); + } + + [Fact] + public void ToRoutePatternPathSegment() + { + // Arrange + var literalPartA = RoutePatternFactory.LiteralPart("A"); + var paramPartB = RoutePatternFactory.ParameterPart("B"); + var paramPartC = RoutePatternFactory.ParameterPart("C"); + var paramPartD = RoutePatternFactory.ParameterPart("D"); + var separatorPartE = RoutePatternFactory.SeparatorPart("E"); + var templateSegment = new TemplateSegment(RoutePatternFactory.Segment(paramPartC, literalPartA, separatorPartE, paramPartB)); + + // Act + var routePatternPathSegment = templateSegment.ToRoutePatternPathSegment(); + templateSegment.Parts[1] = new TemplatePart(RoutePatternFactory.ParameterPart("D")); + templateSegment.Parts.RemoveAt(0); + + // Assert + Assert.Equal(4, routePatternPathSegment.Parts.Count); + Assert.IsType(routePatternPathSegment.Parts[0]); + Assert.Equal(paramPartC.Name, ((RoutePatternParameterPart) routePatternPathSegment.Parts[0]).Name); + Assert.IsType(routePatternPathSegment.Parts[1]); + Assert.Equal(literalPartA.Content, ((RoutePatternLiteralPart) routePatternPathSegment.Parts[1]).Content); + Assert.IsType(routePatternPathSegment.Parts[2]); + Assert.Equal(separatorPartE.Content, ((RoutePatternSeparatorPart) routePatternPathSegment.Parts[2]).Content); + Assert.IsType(routePatternPathSegment.Parts[3]); + Assert.Equal(paramPartB.Name, ((RoutePatternParameterPart) routePatternPathSegment.Parts[3]).Name); + } + } +} From 1d05592cd73feb37d96169cfbf816c2a1e6f2dd8 Mon Sep 17 00:00:00 2001 From: James Newton-King Date: Mon, 22 Oct 2018 11:29:41 +1300 Subject: [PATCH 211/221] Allow parameter names to match required keys in templates (#872) --- .../Patterns/RoutePatternParameterPart.cs | 4 + .../Template/TemplateBinder.cs | 11 -- .../DefaultLinkGeneratorTest.cs | 126 ++++++++++++++---- 3 files changed, 107 insertions(+), 34 deletions(-) diff --git a/src/Microsoft.AspNetCore.Routing/Patterns/RoutePatternParameterPart.cs b/src/Microsoft.AspNetCore.Routing/Patterns/RoutePatternParameterPart.cs index dd6b275fa3..2b5f408268 100644 --- a/src/Microsoft.AspNetCore.Routing/Patterns/RoutePatternParameterPart.cs +++ b/src/Microsoft.AspNetCore.Routing/Patterns/RoutePatternParameterPart.cs @@ -85,6 +85,10 @@ namespace Microsoft.AspNetCore.Routing.Patterns if (IsCatchAll) { builder.Append("*"); + if (!EncodeSlashes) + { + builder.Append("*"); + } } builder.Append(Name); diff --git a/src/Microsoft.AspNetCore.Routing/Template/TemplateBinder.cs b/src/Microsoft.AspNetCore.Routing/Template/TemplateBinder.cs index 4236c3c012..7bba419d12 100644 --- a/src/Microsoft.AspNetCore.Routing/Template/TemplateBinder.cs +++ b/src/Microsoft.AspNetCore.Routing/Template/TemplateBinder.cs @@ -89,17 +89,6 @@ namespace Microsoft.AspNetCore.Routing.Template _defaults = defaults; _requiredKeys = requiredKeys?.ToArray() ?? Array.Empty(); - for (var i = 0; i < _requiredKeys.Length; i++) - { - var requiredKey = _requiredKeys[i]; - if (_pattern.GetParameter(requiredKey) != null) - { - throw new InvalidOperationException( - $"The parameter {requiredKey} can not be used as a required key since it appears as " + - $"a parameter in the route pattern."); - } - } - // Any default that doesn't have a corresponding parameter is a 'filter' and if a value // is provided for that 'filter' it must match the value in defaults. var filters = new RouteValueDictionary(_defaults); diff --git a/test/Microsoft.AspNetCore.Routing.Tests/DefaultLinkGeneratorTest.cs b/test/Microsoft.AspNetCore.Routing.Tests/DefaultLinkGeneratorTest.cs index 1f76ef3045..5a2d8d465c 100644 --- a/test/Microsoft.AspNetCore.Routing.Tests/DefaultLinkGeneratorTest.cs +++ b/test/Microsoft.AspNetCore.Routing.Tests/DefaultLinkGeneratorTest.cs @@ -441,9 +441,9 @@ namespace Microsoft.AspNetCore.Routing // Act var uri = linkGenerator.GetPathByAddress( - httpContext, - 1, - values: new RouteValueDictionary(new { action = "Index", }), + httpContext, + 1, + values: new RouteValueDictionary(new { action = "Index", }), ambientValues: new RouteValueDictionary(new { controller = "Home", })); // Assert @@ -465,8 +465,8 @@ namespace Microsoft.AspNetCore.Routing // Act var uri = linkGenerator.GetUriByAddress( - httpContext, - 1, + httpContext, + 1, values: new RouteValueDictionary(new { action = "Index", }), ambientValues: new RouteValueDictionary(new { controller = "Home", })); @@ -490,7 +490,7 @@ namespace Microsoft.AspNetCore.Routing var uri = linkGenerator.GetPathByAddress( httpContext, 1, - values: new RouteValueDictionary(new { action = "Index", controller= "Home", }), + values: new RouteValueDictionary(new { action = "Index", controller = "Home", }), pathBase: "/"); // Assert @@ -598,8 +598,11 @@ namespace Microsoft.AspNetCore.Routing Assert.NotSame(original, actual); } - [Fact] - public void GetPathByRouteValues_UsesFirstTemplateThatSucceeds() + [Theory] + [InlineData(new string[] { }, new string[] { }, "/")] + [InlineData(new string[] { "id" }, new string[] { "3" }, "/Home/Index/3")] + [InlineData(new string[] { "custom" }, new string[] { "Custom" }, "/?custom=Custom")] + public void GetPathByRouteValues_UsesFirstTemplateThatSucceeds(string[] routeNames, string[] routeValues, string expectedPath) { // Arrange var endpointControllerAction = EndpointFactory.CreateRouteEndpoint( @@ -634,26 +637,103 @@ namespace Microsoft.AspNetCore.Routing var httpContext = CreateHttpContext(); httpContext.Features.Set(context); + var values = new RouteValueDictionary(); + for (int i = 0; i < routeNames.Length; i++) + { + values[routeNames[i]] = routeValues[i]; + } + // Act - var pathWithoutId = linkGenerator.GetPathByRouteValues( + var generatedPath = linkGenerator.GetPathByRouteValues( httpContext, routeName: null, - values: new RouteValueDictionary()); - - var pathWithId = linkGenerator.GetPathByRouteValues( - httpContext, - routeName: null, - values: new RouteValueDictionary(new { id = "3" })); - - var pathWithCustom = linkGenerator.GetPathByRouteValues( - httpContext, - routeName: null, - values: new RouteValueDictionary(new { custom = "Custom" })); + values: values); // Assert - Assert.Equal("/", pathWithoutId); - Assert.Equal("/Home/Index/3", pathWithId); - Assert.Equal("/?custom=Custom", pathWithCustom); + Assert.Equal(expectedPath, generatedPath); + } + + [Theory] + [InlineData(new string[] { }, new string[] { }, "/")] + [InlineData(new string[] { "id" }, new string[] { "3" }, "/Home/Index/3")] + [InlineData(new string[] { "custom" }, new string[] { "Custom" }, "/?custom=Custom")] + [InlineData(new string[] { "controller", "action", "id" }, new string[] { "Home", "Login", "3" }, "/Home/Login/3")] + [InlineData(new string[] { "controller", "action", "id" }, new string[] { "Home", "Fake", "3" }, null)] + public void GetPathByRouteValues_ParameterMatchesRequireValues_HasAmbientValues(string[] routeNames, string[] routeValues, string expectedPath) + { + // Arrange + var homeIndex = EndpointFactory.CreateRouteEndpoint( + "{controller}/{action}/{id?}", + defaults: new { controller = "Home", action = "Index", }, + metadata: new[] { new RouteValuesAddressMetadata(new RouteValueDictionary(new { controller = "Home", action = "Index", })) }); + var homeLogin = EndpointFactory.CreateRouteEndpoint( + "{controller}/{action}/{id?}", + defaults: new { controller = "Home", action = "Index", }, + metadata: new[] { new RouteValuesAddressMetadata(new RouteValueDictionary(new { controller = "Home", action = "Login", })) }); + + var linkGenerator = CreateLinkGenerator(homeIndex, homeLogin); + + var context = new EndpointSelectorContext() + { + RouteValues = new RouteValueDictionary(new { controller = "Home", action = "Index", }) + }; + var httpContext = CreateHttpContext(); + httpContext.Features.Set(context); + + var values = new RouteValueDictionary(); + for (int i = 0; i < routeNames.Length; i++) + { + values[routeNames[i]] = routeValues[i]; + } + + // Act + var generatedPath = linkGenerator.GetPathByRouteValues( + httpContext, + routeName: null, + values: values); + + // Assert + Assert.Equal(expectedPath, generatedPath); + } + + [Theory] + [InlineData(new string[] { }, new string[] { }, null)] + [InlineData(new string[] { "id" }, new string[] { "3" }, null)] + [InlineData(new string[] { "custom" }, new string[] { "Custom" }, null)] + [InlineData(new string[] { "controller", "action", "id" }, new string[] { "Home", "Login", "3" }, "/Home/Login/3")] + [InlineData(new string[] { "controller", "action", "id" }, new string[] { "Home", "Fake", "3" }, null)] + public void GetPathByRouteValues_ParameterMatchesRequireValues_NoAmbientValues(string[] routeNames, string[] routeValues, string expectedPath) + { + // Arrange + var homeIndex = EndpointFactory.CreateRouteEndpoint( + "{controller}/{action}/{id?}", + defaults: new { controller = "Home", action = "Index", }, + metadata: new[] { new RouteValuesAddressMetadata(new RouteValueDictionary(new { controller = "Home", action = "Index", })) }); + var homeLogin = EndpointFactory.CreateRouteEndpoint( + "{controller}/{action}/{id?}", + defaults: new { controller = "Home", action = "Index", }, + metadata: new[] { new RouteValuesAddressMetadata(new RouteValueDictionary(new { controller = "Home", action = "Login", })) }); + + var linkGenerator = CreateLinkGenerator(homeIndex, homeLogin); + + var context = new EndpointSelectorContext(); + var httpContext = CreateHttpContext(); + httpContext.Features.Set(context); + + var values = new RouteValueDictionary(); + for (int i = 0; i < routeNames.Length; i++) + { + values[routeNames[i]] = routeValues[i]; + } + + // Act + var generatedPath = linkGenerator.GetPathByRouteValues( + httpContext, + routeName: null, + values: values); + + // Assert + Assert.Equal(expectedPath, generatedPath); } protected override void AddAdditionalServices(IServiceCollection services) From 4943bc489604927ac88c297b8b145bbdc6c69a2e Mon Sep 17 00:00:00 2001 From: Ryan Nowak Date: Fri, 19 Oct 2018 17:31:54 -0700 Subject: [PATCH 212/221] Remove LinkGenerationTemplate This doesn't really accomplish our goals for 2.2 - I don't have a clear scenario where I would tell a developer to use this VS something else. Will reevaluate in 3.0 --- .../LinkGenerationTemplate.cs | 126 ----------- .../LinkGenerationTemplateOptions.cs | 17 -- .../LinkGenerator.cs | 11 - .../DefaultLinkGenerationTemplate.cs | 120 ---------- .../DefaultLinkGenerator.cs | 12 - ...kGeneratorEndpointNameAddressExtensions.cs | 28 --- ...nkGeneratorRouteValuesAddressExtensions.cs | 28 --- .../DefaultLinkGenerationTemplateTest.cs | 207 ------------------ .../DefaultLinkGeneratorTest.cs | 36 --- ...LinkGeneratorEndpointNameExtensionsTest.cs | 19 -- ...neratorRouteValuesAddressExtensionsTest.cs | 26 --- 11 files changed, 630 deletions(-) delete mode 100644 src/Microsoft.AspNetCore.Routing.Abstractions/LinkGenerationTemplate.cs delete mode 100644 src/Microsoft.AspNetCore.Routing.Abstractions/LinkGenerationTemplateOptions.cs delete mode 100644 src/Microsoft.AspNetCore.Routing/DefaultLinkGenerationTemplate.cs delete mode 100644 test/Microsoft.AspNetCore.Routing.Tests/DefaultLinkGenerationTemplateTest.cs diff --git a/src/Microsoft.AspNetCore.Routing.Abstractions/LinkGenerationTemplate.cs b/src/Microsoft.AspNetCore.Routing.Abstractions/LinkGenerationTemplate.cs deleted file mode 100644 index b54692bd15..0000000000 --- a/src/Microsoft.AspNetCore.Routing.Abstractions/LinkGenerationTemplate.cs +++ /dev/null @@ -1,126 +0,0 @@ -// Copyright (c) .NET Foundation. All rights reserved. -// Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information. - -using Microsoft.AspNetCore.Http; - -namespace Microsoft.AspNetCore.Routing -{ - /// - /// Defines a contract to generate a URL from a template. - /// - /// - /// A can be created from - /// by supplying an address value which has matching endpoints. The returned - /// will be bound to the endpoints matching the address that was originally provided. - /// - public abstract class LinkGenerationTemplate - { - /// - /// Generates a URI with an absolute path based on the provided values. - /// - /// The associated with the current request. - /// The route values. Used to expand parameters in the route template. Optional. - /// - /// An optional URI path base. Prepended to the path in the resulting URI. If not provided, the value of will be used. - /// - /// An optional URI fragment. Appended to the resulting URI. - /// - /// An optional . Settings on provided object override the settings with matching - /// names from RouteOptions. - /// - /// A URI with an absolute path, or null. - public abstract string GetPath( - HttpContext httpContext, - object values, - PathString? pathBase = default, - FragmentString fragment = default, - LinkOptions options = default); - - /// - /// Generates a URI with an absolute path based on the provided values. - /// - /// The route values. Used to expand parameters in the route template. Optional. - /// An optional URI path base. Prepended to the path in the resulting URI. - /// An optional URI fragment. Appended to the resulting URI. - /// - /// An optional . Settings on provided object override the settings with matching - /// names from RouteOptions. - /// - /// A URI with an absolute path, or null. - public abstract string GetPath( - object values, - PathString pathBase = default, - FragmentString fragment = default, - LinkOptions options = default); - - /// - /// Generates an absolute URI based on the provided values. - /// - /// The associated with the current request. - /// The route values. Used to expand parameters in the route template. Optional. - /// - /// The URI scheme, applied to the resulting URI. Optional. If not provided, the value of will be used. - /// - /// - /// The URI host/authority, applied to the resulting URI. Optional. If not provided, the value will be used. - /// See the remarks section for details about the security implications of the . - /// - /// - /// An optional URI path base. Prepended to the path in the resulting URI. If not provided, the value of will be used. - /// - /// An optional URI fragment. Appended to the resulting URI. - /// - /// An optional . Settings on provided object override the settings with matching - /// names from RouteOptions. - /// - /// A URI with an absolute path, or null. - /// - /// - /// The value of should be a trusted value. Relying on the value of the current request - /// can allow untrusted input to influence the resulting URI unless the Host header has been validated. - /// See the deployment documentation for instructions on how to properly validate the Host header in - /// your deployment environment. - /// - /// - public abstract string GetUri( - HttpContext httpContext, - object values, - string scheme = default, - HostString? host = default, - PathString? pathBase = default, - FragmentString fragment = default, - LinkOptions options = default); - - /// - /// Generates an absolute URI based on the provided values. - /// - /// The route values. Used to expand parameters in the route template. Optional. - /// The URI scheme, applied to the resulting URI. - /// - /// The URI host/authority, applied to the resulting URI. - /// See the remarks section for details about the security implications of the . - /// - /// An optional URI path base. Prepended to the path in the resulting URI. - /// An optional URI fragment. Appended to the resulting URI. - /// - /// An optional . Settings on provided object override the settings with matching - /// names from RouteOptions. - /// - /// An absolute URI, or null. - /// - /// - /// The value of should be a trusted value. Relying on the value of the current request - /// can allow untrusted input to influence the resulting URI unless the Host header has been validated. - /// See the deployment documentation for instructions on how to properly validate the Host header in - /// your deployment environment. - /// - /// - public abstract string GetUri( - object values, - string scheme, - HostString host, - PathString pathBase = default, - FragmentString fragment = default, - LinkOptions options = default); - } -} \ No newline at end of file diff --git a/src/Microsoft.AspNetCore.Routing.Abstractions/LinkGenerationTemplateOptions.cs b/src/Microsoft.AspNetCore.Routing.Abstractions/LinkGenerationTemplateOptions.cs deleted file mode 100644 index 18eb0f8c7c..0000000000 --- a/src/Microsoft.AspNetCore.Routing.Abstractions/LinkGenerationTemplateOptions.cs +++ /dev/null @@ -1,17 +0,0 @@ -// Copyright (c) .NET Foundation. All rights reserved. -// Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information. - -namespace Microsoft.AspNetCore.Routing -{ - /// - /// Contains options for creating a . - /// - public class LinkGenerationTemplateOptions - { - /// - /// Gets or sets a value indicating whether the template will use route values from the current request - /// when generating a URI. - /// - public bool UseAmbientValues { get; set; } - } -} diff --git a/src/Microsoft.AspNetCore.Routing.Abstractions/LinkGenerator.cs b/src/Microsoft.AspNetCore.Routing.Abstractions/LinkGenerator.cs index 1f91a4446d..add5eaf119 100644 --- a/src/Microsoft.AspNetCore.Routing.Abstractions/LinkGenerator.cs +++ b/src/Microsoft.AspNetCore.Routing.Abstractions/LinkGenerator.cs @@ -147,16 +147,5 @@ namespace Microsoft.AspNetCore.Routing PathString pathBase = default, FragmentString fragment = default, LinkOptions options = default); - - /// - /// Gets a based on the provided . - /// - /// The address type. - /// The address value. Used to resolve endpoints. - /// Options for the created . - /// - /// A if one or more endpoints matching the address can be found, otherwise null. - /// - public abstract LinkGenerationTemplate GetTemplateByAddress(TAddress address, LinkGenerationTemplateOptions options = null); } } diff --git a/src/Microsoft.AspNetCore.Routing/DefaultLinkGenerationTemplate.cs b/src/Microsoft.AspNetCore.Routing/DefaultLinkGenerationTemplate.cs deleted file mode 100644 index d1f83ca6e0..0000000000 --- a/src/Microsoft.AspNetCore.Routing/DefaultLinkGenerationTemplate.cs +++ /dev/null @@ -1,120 +0,0 @@ -// Copyright (c) .NET Foundation. All rights reserved. -// Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information. - -using Microsoft.AspNetCore.Http; -using System; -using System.Collections.Generic; - -namespace Microsoft.AspNetCore.Routing -{ - internal sealed class DefaultLinkGenerationTemplate : LinkGenerationTemplate - { - public DefaultLinkGenerationTemplate(DefaultLinkGenerator linkGenerator, List endpoints, LinkGenerationTemplateOptions options) - { - LinkGenerator = linkGenerator; - Endpoints = endpoints; - Options = options; - } - - public DefaultLinkGenerator LinkGenerator { get; } - - public List Endpoints { get; } - - public LinkGenerationTemplateOptions Options { get; } - - public override string GetPath( - HttpContext httpContext, - object values, - PathString? pathBase = default, - FragmentString fragment = default, - LinkOptions options = default) - { - if (httpContext == null) - { - throw new ArgumentNullException(nameof(httpContext)); - } - - return LinkGenerator.GetPathByEndpoints( - Endpoints, - new RouteValueDictionary(values), - GetAmbientValues(httpContext), - pathBase ?? httpContext.Request.PathBase, - fragment, - options); - } - - public override string GetPath( - object values, - PathString pathBase = default, - FragmentString fragment = default, - LinkOptions options = default) - { - return LinkGenerator.GetPathByEndpoints( - Endpoints, - new RouteValueDictionary(values), - ambientValues: null, - pathBase: pathBase, - fragment: fragment, - options: options); - } - - public override string GetUri( - HttpContext httpContext, - object values, - string scheme = default, - HostString? host = default, - PathString? pathBase = default, - FragmentString fragment = default, - LinkOptions options = default) - { - if (httpContext == null) - { - throw new ArgumentNullException(nameof(httpContext)); - } - - return LinkGenerator.GetUriByEndpoints( - Endpoints, - new RouteValueDictionary(values), - GetAmbientValues(httpContext), - scheme ?? httpContext.Request.Scheme, - host ?? httpContext.Request.Host, - pathBase ?? httpContext.Request.PathBase, - fragment, - options); - } - - public override string GetUri( - object values, - string scheme, - HostString host, - PathString pathBase = default, - FragmentString fragment = default, - LinkOptions options = default) - { - if (string.IsNullOrEmpty(scheme)) - { - throw new ArgumentException("A scheme must be provided.", nameof(scheme)); - } - - if (!host.HasValue) - { - throw new ArgumentException("A host must be provided.", nameof(host)); - } - - return LinkGenerator.GetUriByEndpoints( - Endpoints, - new RouteValueDictionary(values), - ambientValues: null, - scheme: scheme, - host: host, - pathBase: pathBase, - fragment: fragment, - options: options); - } - - private RouteValueDictionary GetAmbientValues(HttpContext httpContext) - { - return (Options?.UseAmbientValues ?? false) ? DefaultLinkGenerator.GetAmbientValues(httpContext) : null; - } - } -} diff --git a/src/Microsoft.AspNetCore.Routing/DefaultLinkGenerator.cs b/src/Microsoft.AspNetCore.Routing/DefaultLinkGenerator.cs index bc4b3f85b5..086d9bf026 100644 --- a/src/Microsoft.AspNetCore.Routing/DefaultLinkGenerator.cs +++ b/src/Microsoft.AspNetCore.Routing/DefaultLinkGenerator.cs @@ -189,17 +189,6 @@ namespace Microsoft.AspNetCore.Routing options: options); } - public override LinkGenerationTemplate GetTemplateByAddress(TAddress address, LinkGenerationTemplateOptions options = default) - { - var endpoints = GetEndpoints(address); - if (endpoints.Count == 0) - { - return null; - } - - return new DefaultLinkGenerationTemplate(this, endpoints, options); - } - private List GetEndpoints(TAddress address) { var addressingScheme = _serviceProvider.GetRequiredService>(); @@ -217,7 +206,6 @@ namespace Microsoft.AspNetCore.Routing return endpoints; } - // Also called from DefaultLinkGenerationTemplate public string GetPathByEndpoints( List endpoints, RouteValueDictionary values, diff --git a/src/Microsoft.AspNetCore.Routing/LinkGeneratorEndpointNameAddressExtensions.cs b/src/Microsoft.AspNetCore.Routing/LinkGeneratorEndpointNameAddressExtensions.cs index d3e50328cf..dd0e462c20 100644 --- a/src/Microsoft.AspNetCore.Routing/LinkGeneratorEndpointNameAddressExtensions.cs +++ b/src/Microsoft.AspNetCore.Routing/LinkGeneratorEndpointNameAddressExtensions.cs @@ -11,11 +11,6 @@ namespace Microsoft.AspNetCore.Routing /// public static class LinkGeneratorEndpointNameAddressExtensions { - private static readonly LinkGenerationTemplateOptions _templateOptions = new LinkGenerationTemplateOptions() - { - UseAmbientValues = false, - }; - /// /// Generates a URI with an absolute path based on the provided values. /// @@ -227,28 +222,5 @@ namespace Microsoft.AspNetCore.Routing return generator.GetUriByAddress(endpointName, new RouteValueDictionary(values), scheme, host, pathBase, fragment, options); } - - /// - /// Gets a based on the provided . - /// - /// The . - /// The endpoint name. Used to resolve endpoints. Optional. - /// - /// A if one or more endpoints matching the address can be found, otherwise null. - /// - public static LinkGenerationTemplate GetTemplateByName(this LinkGenerator generator, string endpointName) - { - if (generator == null) - { - throw new ArgumentNullException(nameof(generator)); - } - - if (endpointName == null) - { - throw new ArgumentNullException(nameof(endpointName)); - } - - return generator.GetTemplateByAddress(endpointName, _templateOptions); - } } } diff --git a/src/Microsoft.AspNetCore.Routing/LinkGeneratorRouteValuesAddressExtensions.cs b/src/Microsoft.AspNetCore.Routing/LinkGeneratorRouteValuesAddressExtensions.cs index d41f43d644..f683b4d3ca 100644 --- a/src/Microsoft.AspNetCore.Routing/LinkGeneratorRouteValuesAddressExtensions.cs +++ b/src/Microsoft.AspNetCore.Routing/LinkGeneratorRouteValuesAddressExtensions.cs @@ -11,11 +11,6 @@ namespace Microsoft.AspNetCore.Routing /// public static class LinkGeneratorRouteValuesAddressExtensions { - private static readonly LinkGenerationTemplateOptions _templateOptions = new LinkGenerationTemplateOptions() - { - UseAmbientValues = true, - }; - /// /// Generates a URI with an absolute path based on the provided values. /// @@ -202,29 +197,6 @@ namespace Microsoft.AspNetCore.Routing return generator.GetUriByAddress(address, address.ExplicitValues, scheme, host, pathBase, fragment, options); } - /// - /// Gets a based on the provided and . - /// - /// The . - /// The route name. Used to resolve endpoints. Optional. - /// The route values. Used to resolve endpoints and expand parameters in the route template. Optional. - /// - /// A if one or more endpoints matching the address can be found, otherwise null. - /// - public static LinkGenerationTemplate GetTemplateByRouteValues( - this LinkGenerator generator, - string routeName, - object values) - { - if (generator == null) - { - throw new ArgumentNullException(nameof(generator)); - } - - var address = CreateAddress(httpContext: null, routeName, values); - return generator.GetTemplateByAddress(address, _templateOptions); - } - private static RouteValuesAddress CreateAddress(HttpContext httpContext, string routeName, object values) { return new RouteValuesAddress() diff --git a/test/Microsoft.AspNetCore.Routing.Tests/DefaultLinkGenerationTemplateTest.cs b/test/Microsoft.AspNetCore.Routing.Tests/DefaultLinkGenerationTemplateTest.cs deleted file mode 100644 index 12f797fdea..0000000000 --- a/test/Microsoft.AspNetCore.Routing.Tests/DefaultLinkGenerationTemplateTest.cs +++ /dev/null @@ -1,207 +0,0 @@ -// Copyright (c) .NET Foundation. All rights reserved. -// Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information. - -using System.Collections.Generic; -using Microsoft.AspNetCore.Http; -using Xunit; - -namespace Microsoft.AspNetCore.Routing -{ - // Tests DefaultLinkGenerationTemplate functionality - these are pretty light since most of the functionality - // is a direct subset of DefaultLinkGenerator - // - // Does not cover template processing in detail, those scenarios are validated by TemplateBinderTests - // and DefaultLinkGeneratorProcessTemplateTest - public class DefaultLinkGenerationTemplateTest : LinkGeneratorTestBase - { - [Fact] - public void GetPath_WithoutHttpContext_WithPathBaseAndFragment() - { - // Arrange - var endpoint1 = EndpointFactory.CreateRouteEndpoint("{controller}/{action}/{id}"); - var endpoint2 = EndpointFactory.CreateRouteEndpoint("{controller}/{action}/{id?}"); - - var linkGenerator = CreateLinkGenerator(); - var template = new DefaultLinkGenerationTemplate(linkGenerator, new List() { endpoint1, endpoint2, }, options: null); - - // Act - var path = template.GetPath( - values: new RouteValueDictionary(new { controller = "Home", action = "In?dex", query = "some?query" }), - new PathString("/Foo/Bar?encodeme?"), - new FragmentString("#Fragment?"), - new LinkOptions() { AppendTrailingSlash = true, }); - - // Assert - Assert.Equal("/Foo/Bar%3Fencodeme%3F/Home/In%3Fdex/?query=some%3Fquery#Fragment?", path); - } - - [Fact] - public void GetPath_WithHttpContext_WithPathBaseAndFragment() - { - // Arrange - var endpoint1 = EndpointFactory.CreateRouteEndpoint("{controller}/{action}/{id}"); - var endpoint2 = EndpointFactory.CreateRouteEndpoint("{controller}/{action}/{id?}"); - - var linkGenerator = CreateLinkGenerator(); - var template = new DefaultLinkGenerationTemplate(linkGenerator, new List() { endpoint1, endpoint2, }, options: null); - - var httpContext = CreateHttpContext(); - httpContext.Request.PathBase = new PathString("/Foo/Bar?encodeme?"); - - // Act - var path = template.GetPath( - httpContext, - values: new RouteValueDictionary(new { controller = "Home", action = "In?dex", query = "some?query" }), - fragment: new FragmentString("#Fragment?"), - options: new LinkOptions() { AppendTrailingSlash = true, }); - - // Assert - Assert.Equal("/Foo/Bar%3Fencodeme%3F/Home/In%3Fdex/?query=some%3Fquery#Fragment?", path); - } - - [Fact] - public void GetUri_WithoutHttpContext_WithPathBaseAndFragment() - { - // Arrange - var endpoint1 = EndpointFactory.CreateRouteEndpoint("{controller}/{action}/{id}"); - var endpoint2 = EndpointFactory.CreateRouteEndpoint("{controller}/{action}/{id?}"); - - var linkGenerator = CreateLinkGenerator(); - var template = new DefaultLinkGenerationTemplate(linkGenerator, new List() { endpoint1, endpoint2, }, options: null); - - // Act - var path = template.GetUri( - values: new RouteValueDictionary(new { controller = "Home", action = "In?dex", query = "some?query" }), - "http", - new HostString("example.com"), - new PathString("/Foo/Bar?encodeme?"), - new FragmentString("#Fragment?"), - new LinkOptions() { AppendTrailingSlash = true, }); - - // Assert - Assert.Equal("http://example.com/Foo/Bar%3Fencodeme%3F/Home/In%3Fdex/?query=some%3Fquery#Fragment?", path); - } - - [Fact] - public void GetUri_WithHttpContext_WithPathBaseAndFragment() - { - // Arrange - var endpoint1 = EndpointFactory.CreateRouteEndpoint("{controller}/{action}/{id}"); - var endpoint2 = EndpointFactory.CreateRouteEndpoint("{controller}/{action}/{id?}"); - - var linkGenerator = CreateLinkGenerator(); - var template = new DefaultLinkGenerationTemplate(linkGenerator, new List() { endpoint1, endpoint2, }, options: null); - - var httpContext = CreateHttpContext(); - httpContext.Request.Scheme = "http"; - httpContext.Request.Host = new HostString("example.com"); - httpContext.Request.PathBase = new PathString("/Foo/Bar?encodeme?"); - - // Act - var uri = template.GetUri( - httpContext, - values: new RouteValueDictionary(new { controller = "Home", action = "In?dex", query = "some?query" }), - fragment: new FragmentString("#Fragment?"), - options: new LinkOptions() { AppendTrailingSlash = true, }); - - // Assert - Assert.Equal("http://example.com/Foo/Bar%3Fencodeme%3F/Home/In%3Fdex/?query=some%3Fquery#Fragment?", uri); - } - - [Fact] - public void GetPath_WithHttpContext_IncludesAmbientValues_WhenUseAmbientValuesIsTrue() - { - // Arrange - var endpoint1 = EndpointFactory.CreateRouteEndpoint("{controller}/{action}/{id}"); - var endpoint2 = EndpointFactory.CreateRouteEndpoint("{controller}/{action}/{id?}"); - - var linkGenerator = CreateLinkGenerator(); - var template = new DefaultLinkGenerationTemplate(linkGenerator, new List() { endpoint1, endpoint2, }, options: new LinkGenerationTemplateOptions() - { - UseAmbientValues = true, - }); - - var httpContext = CreateHttpContext(new { controller = "Home", }); - httpContext.Request.Scheme = "http"; - httpContext.Request.Host = new HostString("example.com"); - - // Act - var uri = template.GetPath(httpContext, values: new RouteValueDictionary(new { action = "Index", })); - - // Assert - Assert.Equal("/Home/Index", uri); - } - - [Fact] - public void GetPath_WithHttpContext_ExcludesAmbientValues_WhenUseAmbientValuesIsFalse() - { - // Arrange - var endpoint1 = EndpointFactory.CreateRouteEndpoint("{controller}/{action}/{id}"); - var endpoint2 = EndpointFactory.CreateRouteEndpoint("{controller}/{action}/{id?}"); - - var linkGenerator = CreateLinkGenerator(); - var template = new DefaultLinkGenerationTemplate(linkGenerator, new List() { endpoint1, endpoint2, }, options: new LinkGenerationTemplateOptions() - { - UseAmbientValues = false, - }); - - var httpContext = CreateHttpContext(new { controller = "Home", }); - httpContext.Request.Scheme = "http"; - httpContext.Request.Host = new HostString("example.com"); - - // Act - var uri = template.GetPath(httpContext, values: new RouteValueDictionary(new { action = "Index", })); - - // Assert - Assert.Null(uri); - } - - [Fact] - public void GetUri_WithHttpContext_IncludesAmbientValues_WhenUseAmbientValuesIsTrue() - { - // Arrange - var endpoint1 = EndpointFactory.CreateRouteEndpoint("{controller}/{action}/{id}"); - var endpoint2 = EndpointFactory.CreateRouteEndpoint("{controller}/{action}/{id?}"); - - var linkGenerator = CreateLinkGenerator(); - var template = new DefaultLinkGenerationTemplate(linkGenerator, new List() { endpoint1, endpoint2, }, options: new LinkGenerationTemplateOptions() - { - UseAmbientValues = true, - }); - - var httpContext = CreateHttpContext(new { controller = "Home", }); - httpContext.Request.Scheme = "http"; - httpContext.Request.Host = new HostString("example.com"); - - // Act - var uri = template.GetUri(httpContext, values: new { action = "Index", }); - - // Assert - Assert.Equal("http://example.com/Home/Index", uri); - } - - [Fact] - public void GetUri_WithHttpContext_ExcludesAmbientValues_WhenUseAmbientValuesIsFalse() - { - // Arrange - var endpoint1 = EndpointFactory.CreateRouteEndpoint("{controller}/{action}/{id}"); - var endpoint2 = EndpointFactory.CreateRouteEndpoint("{controller}/{action}/{id?}"); - - var linkGenerator = CreateLinkGenerator(); - var template = new DefaultLinkGenerationTemplate(linkGenerator, new List() { endpoint1, endpoint2, }, options: new LinkGenerationTemplateOptions() - { - UseAmbientValues = false, - }); - - var httpContext = CreateHttpContext(new { controller = "Home", }); - httpContext.Request.Scheme = "http"; - httpContext.Request.Host = new HostString("example.com"); - - // Act - var uri = template.GetUri(httpContext, values: new { action = "Index", }); - - // Assert - Assert.Null(uri); - } - } -} diff --git a/test/Microsoft.AspNetCore.Routing.Tests/DefaultLinkGeneratorTest.cs b/test/Microsoft.AspNetCore.Routing.Tests/DefaultLinkGeneratorTest.cs index 5a2d8d465c..3c20c704a0 100644 --- a/test/Microsoft.AspNetCore.Routing.Tests/DefaultLinkGeneratorTest.cs +++ b/test/Microsoft.AspNetCore.Routing.Tests/DefaultLinkGeneratorTest.cs @@ -524,42 +524,6 @@ namespace Microsoft.AspNetCore.Routing Assert.Equal("ftp://example.com:5000/Home/Index", uri); } - [Fact] - public void GetTemplateByAddress_WithNoMatch_ReturnsNull() - { - // Arrange - var endpoint1 = EndpointFactory.CreateRouteEndpoint("{controller}/{action}/{id}", metadata: new object[] { new IntMetadata(1), }); - var endpoint2 = EndpointFactory.CreateRouteEndpoint("{controller}/{action}/{id?}", metadata: new object[] { new IntMetadata(1), }); - - var linkGenerator = CreateLinkGenerator(endpoint1, endpoint2); - - // Act - var template = linkGenerator.GetTemplateByAddress(address: 0); - - // Assert - Assert.Null(template); - } - - [Fact] - public void GetTemplateByAddress_WithMatch_ReturnsTemplate() - { - // Arrange - var endpoint1 = EndpointFactory.CreateRouteEndpoint("{controller}/{action}/{id}", metadata: new object[] { new IntMetadata(1), }); - var endpoint2 = EndpointFactory.CreateRouteEndpoint("{controller}/{action}/{id?}", metadata: new object[] { new IntMetadata(1), }); - - var linkGenerator = CreateLinkGenerator(endpoint1, endpoint2); - - // Act - var template = linkGenerator.GetTemplateByAddress(address: 1); - - // Assert - Assert.NotNull(template); - Assert.Collection( - Assert.IsType(template).Endpoints, - e => Assert.Same(endpoint1, e), - e => Assert.Same(endpoint2, e)); - } - [Fact] public void GetTemplateBinder_CanCache() { diff --git a/test/Microsoft.AspNetCore.Routing.Tests/LinkGeneratorEndpointNameExtensionsTest.cs b/test/Microsoft.AspNetCore.Routing.Tests/LinkGeneratorEndpointNameExtensionsTest.cs index c81d134ce6..e2a9382281 100644 --- a/test/Microsoft.AspNetCore.Routing.Tests/LinkGeneratorEndpointNameExtensionsTest.cs +++ b/test/Microsoft.AspNetCore.Routing.Tests/LinkGeneratorEndpointNameExtensionsTest.cs @@ -149,24 +149,5 @@ namespace Microsoft.AspNetCore.Routing // Assert Assert.Equal("http://example.com/Foo/Bar%3Fencodeme%3F/some%23-other-endpoint/In%3Fdex/?query=some%3Fquery#Fragment?", uri); } - - [Fact] - public void GetTemplateByName_CreatesTemplate() - { - // Arrange - var endpoint1 = EndpointFactory.CreateRouteEndpoint("some-endpoint/{p}", metadata: new[] { new EndpointNameMetadata("name1"), }); - var endpoint2 = EndpointFactory.CreateRouteEndpoint("some#-other-endpoint/{p}", metadata: new[] { new EndpointNameMetadata("name2"), }); - - var linkGenerator = CreateLinkGenerator(endpoint1, endpoint2); - - // Act - var template = linkGenerator.GetTemplateByName(endpointName: "name2"); - - // Assert - Assert.NotNull(template); - Assert.Collection( - Assert.IsType(template).Endpoints.Cast().OrderBy(e => e.RoutePattern.RawText), - e => Assert.Same(endpoint2, e)); - } } } diff --git a/test/Microsoft.AspNetCore.Routing.Tests/LinkGeneratorRouteValuesAddressExtensionsTest.cs b/test/Microsoft.AspNetCore.Routing.Tests/LinkGeneratorRouteValuesAddressExtensionsTest.cs index 548cdadcad..b317929355 100644 --- a/test/Microsoft.AspNetCore.Routing.Tests/LinkGeneratorRouteValuesAddressExtensionsTest.cs +++ b/test/Microsoft.AspNetCore.Routing.Tests/LinkGeneratorRouteValuesAddressExtensionsTest.cs @@ -201,31 +201,5 @@ namespace Microsoft.AspNetCore.Routing // Assert Assert.Equal("http://example.com/Foo/Bar%3Fencodeme%3F/Home/Index/?query=some%3Fquery#Fragment?", uri); } - - [Fact] - public void GetTemplateByRouteValues_CreatesTemplate() - { - // Arrange - var endpoint1 = EndpointFactory.CreateRouteEndpoint( - "{controller}/{action}/{id}", - metadata: new[] { new RouteValuesAddressMetadata(new RouteValueDictionary(new { controller = "Home", action = "In?dex", })) }); - var endpoint2 = EndpointFactory.CreateRouteEndpoint( - "{controller}/{action}/{id?}", - metadata: new[] { new RouteValuesAddressMetadata(new RouteValueDictionary(new { controller = "Home", action = "In?dex", })) }); - - var linkGenerator = CreateLinkGenerator(endpoint1, endpoint2); - - // Act - var template = linkGenerator.GetTemplateByRouteValues( - routeName: null, - values: new RouteValueDictionary(new { controller = "Home", action = "In?dex", query = "some?query" })); - - // Assert - Assert.NotNull(template); - Assert.Collection( - Assert.IsType(template).Endpoints.Cast().OrderBy(e => e.RoutePattern.RawText), - e => Assert.Same(endpoint2, e), - e => Assert.Same(endpoint1, e)); - } } } From 26e5ea32741f1782037ce06d90aa5c63a1f54996 Mon Sep 17 00:00:00 2001 From: Gert Driesen Date: Mon, 22 Oct 2018 23:20:15 +0200 Subject: [PATCH 213/221] Improves performance and reduce allocations in DefaultEndpointDataSource (#882) --- .../DefaultEndpointDataSource.cs | 12 ++-- .../DefaultEndpointDataSourceTests.cs | 57 ++++++++++++++++++- 2 files changed, 64 insertions(+), 5 deletions(-) diff --git a/src/Microsoft.AspNetCore.Routing/DefaultEndpointDataSource.cs b/src/Microsoft.AspNetCore.Routing/DefaultEndpointDataSource.cs index 94728feb8c..7586ee4a2e 100644 --- a/src/Microsoft.AspNetCore.Routing/DefaultEndpointDataSource.cs +++ b/src/Microsoft.AspNetCore.Routing/DefaultEndpointDataSource.cs @@ -14,15 +14,20 @@ namespace Microsoft.AspNetCore.Routing /// public sealed class DefaultEndpointDataSource : EndpointDataSource { - private readonly List _endpoints; + private readonly IReadOnlyList _endpoints; /// /// Initializes a new instance of the class. /// /// The instances that the data source will return. public DefaultEndpointDataSource(params Endpoint[] endpoints) - : this((IEnumerable) endpoints) { + if (endpoints == null) + { + throw new ArgumentNullException(nameof(endpoints)); + } + + _endpoints = (Endpoint[])endpoints.Clone(); } /// @@ -36,8 +41,7 @@ namespace Microsoft.AspNetCore.Routing throw new ArgumentNullException(nameof(endpoints)); } - _endpoints = new List(); - _endpoints.AddRange(endpoints); + _endpoints = new List(endpoints); } /// diff --git a/test/Microsoft.AspNetCore.Routing.Tests/DefaultEndpointDataSourceTests.cs b/test/Microsoft.AspNetCore.Routing.Tests/DefaultEndpointDataSourceTests.cs index 09278332df..033f32ab55 100644 --- a/test/Microsoft.AspNetCore.Routing.Tests/DefaultEndpointDataSourceTests.cs +++ b/test/Microsoft.AspNetCore.Routing.Tests/DefaultEndpointDataSourceTests.cs @@ -3,7 +3,6 @@ using System; using System.Collections.Generic; -using System.Text; using Microsoft.AspNetCore.Http; using Xunit; @@ -26,6 +25,34 @@ namespace Microsoft.AspNetCore.Routing endpoint => Assert.Equal("2", endpoint.DisplayName)); } + [Fact] + public void Constructor_Params_ShouldMakeCopyOfEndpoints() + { + // Arrange + var endpoint1 = new Endpoint(TestConstants.EmptyRequestDelegate, EndpointMetadataCollection.Empty, "1"); + var endpoint2 = new Endpoint(TestConstants.EmptyRequestDelegate, EndpointMetadataCollection.Empty, "2"); + var endpoints = new[] { endpoint1, endpoint2 }; + + // Act + var dataSource = new DefaultEndpointDataSource(endpoints); + Array.Resize(ref endpoints, 1); + endpoints[0] = null; + + // Assert + Assert.Equal(2, dataSource.Endpoints.Count); + Assert.Contains(endpoint1, dataSource.Endpoints); + Assert.Contains(endpoint2, dataSource.Endpoints); + } + + [Fact] + public void Constructor_Params_ShouldThrowArgumentNullExceptionWhenEndpointsIsNull() + { + Endpoint[] endpoints = null; + + var actual = Assert.Throws(() => new DefaultEndpointDataSource(endpoints)); + Assert.Equal("endpoints", actual.ParamName); + } + [Fact] public void Constructor_Enumerable_EndpointsInitialized() { @@ -41,5 +68,33 @@ namespace Microsoft.AspNetCore.Routing endpoint => Assert.Equal("1", endpoint.DisplayName), endpoint => Assert.Equal("2", endpoint.DisplayName)); } + + [Fact] + public void Constructor_Enumerable_ShouldMakeCopyOfEndpoints() + { + // Arrange + var endpoint1 = new Endpoint(TestConstants.EmptyRequestDelegate, EndpointMetadataCollection.Empty, "1"); + var endpoint2 = new Endpoint(TestConstants.EmptyRequestDelegate, EndpointMetadataCollection.Empty, "2"); + var endpoints = new List { endpoint1, endpoint2 }; + + // Act + var dataSource = new DefaultEndpointDataSource((IEnumerable)endpoints); + endpoints.RemoveAt(0); + endpoints[0] = null; + + // Assert + Assert.Equal(2, dataSource.Endpoints.Count); + Assert.Contains(endpoint1, dataSource.Endpoints); + Assert.Contains(endpoint2, dataSource.Endpoints); + } + + [Fact] + public void Constructor_Enumerable_ShouldThrowArgumentNullExceptionWhenEndpointsIsNull() + { + IEnumerable endpoints = null; + + var actual = Assert.Throws(() => new DefaultEndpointDataSource(endpoints)); + Assert.Equal("endpoints", actual.ParamName); + } } } \ No newline at end of file From c93e3a76ff1529c24c1691d1ff82e605a6f95ecc Mon Sep 17 00:00:00 2001 From: Gert Driesen Date: Mon, 22 Oct 2018 23:20:30 +0200 Subject: [PATCH 214/221] Eliminate redundant isValid check from DefaultEndpointSelector.ProcessFinalCandidates(...). (#881) --- .../Matching/DefaultEndpointSelector.cs | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) diff --git a/src/Microsoft.AspNetCore.Routing/Matching/DefaultEndpointSelector.cs b/src/Microsoft.AspNetCore.Routing/Matching/DefaultEndpointSelector.cs index f354e507a3..30882cc5f2 100644 --- a/src/Microsoft.AspNetCore.Routing/Matching/DefaultEndpointSelector.cs +++ b/src/Microsoft.AspNetCore.Routing/Matching/DefaultEndpointSelector.cs @@ -75,16 +75,20 @@ namespace Microsoft.AspNetCore.Routing.Matching int? foundScore = null; for (var i = 0; i < candidateSet.Count; i++) { + if (!candidateSet.IsValidCandidate(i)) + { + continue; + } + ref var state = ref candidateSet[i]; - var isValid = candidateSet.IsValidCandidate(i); - if (isValid && foundScore == null) + if (foundScore == null) { // This is the first match we've seen - speculatively assign it. endpoint = state.Endpoint; values = state.Values; foundScore = state.Score; } - else if (isValid && foundScore < state.Score) + else if (foundScore < state.Score) { // This candidate is lower priority than the one we've seen // so far, we can stop. @@ -92,7 +96,7 @@ namespace Microsoft.AspNetCore.Routing.Matching // Don't worry about the 'null < state.Score' case, it returns false. break; } - else if (isValid && foundScore == state.Score) + else if (foundScore == state.Score) { // This is the second match we've found of the same score, so there // must be an ambiguity. From bcbf2a1a688faef6c0b8b72ff78c4902d5d5c69e Mon Sep 17 00:00:00 2001 From: Gert Driesen Date: Mon, 22 Oct 2018 23:20:52 +0200 Subject: [PATCH 215/221] Minor performance improvement for UriBuildingContext.ToPathString() with zero-length path. (#880) --- .../Internal/UriBuildingContext.cs | 29 +++++++++++------ .../Internal/UriBuildingContextTest.cs | 31 +++++++++++++++++++ 2 files changed, 51 insertions(+), 9 deletions(-) diff --git a/src/Microsoft.AspNetCore.Routing/Internal/UriBuildingContext.cs b/src/Microsoft.AspNetCore.Routing/Internal/UriBuildingContext.cs index 1f61db30b2..82e0b4137b 100644 --- a/src/Microsoft.AspNetCore.Routing/Internal/UriBuildingContext.cs +++ b/src/Microsoft.AspNetCore.Routing/Internal/UriBuildingContext.cs @@ -242,18 +242,29 @@ namespace Microsoft.AspNetCore.Routing.Internal // Used by TemplateBinder.TryBindValues - the new code path of LinkGenerator public PathString ToPathString() { - if (_path.Length > 0 && _path[0] != '/') + PathString pathString; + + if (_path.Length > 0) { - // Normalize generated paths so that they always contain a leading slash. - _path.Insert(0, '/'); + if (_path[0] != '/') + { + // Normalize generated paths so that they always contain a leading slash. + _path.Insert(0, '/'); + } + + if (AppendTrailingSlash && _path[_path.Length - 1] != '/') + { + _path.Append('/'); + } + + pathString = new PathString(_path.ToString()); + } + else + { + pathString = PathString.Empty; } - if (AppendTrailingSlash && _path.Length > 0 && _path[_path.Length - 1] != '/') - { - _path.Append('/'); - } - - return new PathString(_path.ToString()); + return pathString; } // Used by TemplateBinder.TryBindValues - the new code path of LinkGenerator diff --git a/test/Microsoft.AspNetCore.Routing.Tests/Internal/UriBuildingContextTest.cs b/test/Microsoft.AspNetCore.Routing.Tests/Internal/UriBuildingContextTest.cs index 137520051c..cfd1531a5d 100644 --- a/test/Microsoft.AspNetCore.Routing.Tests/Internal/UriBuildingContextTest.cs +++ b/test/Microsoft.AspNetCore.Routing.Tests/Internal/UriBuildingContextTest.cs @@ -65,5 +65,36 @@ namespace Microsoft.AspNetCore.Routing.Internal // Assert Assert.Equal(expected, uriBuilldingContext.ToString()); } + + [Theory] + [InlineData("/Author", false, false, "/UrlEncode[[Author]]")] + [InlineData("/Author", false, true, "/UrlEncode[[Author]]")] + [InlineData("/Author", true, false, "/UrlEncode[[Author]]/")] + [InlineData("/Author", true, true, "/UrlEncode[[Author]]/")] + [InlineData("/Author/", false, false, "/UrlEncode[[Author]]/")] + [InlineData("/Author/", false, true, "/UrlEncode[[Author/]]")] + [InlineData("/Author/", true, false, "/UrlEncode[[Author]]/")] + [InlineData("/Author/", true, true, "/UrlEncode[[Author/]]/")] + [InlineData("Author", false, false, "/UrlEncode[[Author]]")] + [InlineData("Author", false, true, "/UrlEncode[[Author]]")] + [InlineData("Author", true, false, "/UrlEncode[[Author]]/")] + [InlineData("Author", true, true, "/UrlEncode[[Author]]/")] + [InlineData("", false, false, "")] + [InlineData("", false, true, "")] + [InlineData("", true, false, "")] + [InlineData("", true, true, "")] + public void ToPathString(string url, bool appendTrailingSlash, bool encodeSlashes, string expected) + { + // Arrange + var urlTestEncoder = new UrlTestEncoder(); + var uriBuilldingContext = new UriBuildingContext(urlTestEncoder); + uriBuilldingContext.AppendTrailingSlash = appendTrailingSlash; + + // Act + uriBuilldingContext.Accept(url, encodeSlashes); + + // Assert + Assert.Equal(expected, uriBuilldingContext.ToPathString().Value); + } } } From bc482cd2b093e417e65f9baa86882024976d9c33 Mon Sep 17 00:00:00 2001 From: Gert Driesen Date: Tue, 23 Oct 2018 02:25:08 +0200 Subject: [PATCH 216/221] Minor performance improvement for DfaMatcherBuilder (#854) --- .../MatcherBuilderMultipleEntryBenchmark.cs | 158 ++++++++++++++++++ .../Matching/DfaMatcherBuilder.cs | 84 +++++++--- 2 files changed, 219 insertions(+), 23 deletions(-) diff --git a/benchmarks/Microsoft.AspNetCore.Routing.Performance/Matching/MatcherBuilderMultipleEntryBenchmark.cs b/benchmarks/Microsoft.AspNetCore.Routing.Performance/Matching/MatcherBuilderMultipleEntryBenchmark.cs index 002118caca..23f1bf0729 100644 --- a/benchmarks/Microsoft.AspNetCore.Routing.Performance/Matching/MatcherBuilderMultipleEntryBenchmark.cs +++ b/benchmarks/Microsoft.AspNetCore.Routing.Performance/Matching/MatcherBuilderMultipleEntryBenchmark.cs @@ -2,14 +2,25 @@ // Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information. using System; +using System.Collections.Generic; +using System.Threading.Tasks; using BenchmarkDotNet.Attributes; +using Microsoft.AspNetCore.Http; +using Microsoft.AspNetCore.Routing.TestObjects; using Microsoft.Extensions.DependencyInjection; +using Microsoft.Extensions.Logging; +using Microsoft.Extensions.Logging.Abstractions; +using Microsoft.Extensions.Options; namespace Microsoft.AspNetCore.Routing.Matching { public partial class MatcherBuilderMultipleEntryBenchmark : EndpointRoutingBenchmarkBase { private IServiceProvider _services; + private List _policies; + private ILoggerFactory _loggerFactory; + private DefaultEndpointSelector _selector; + private DefaultParameterPolicyFactory _parameterPolicyFactory; [GlobalSetup] public void Setup() @@ -28,6 +39,26 @@ namespace Microsoft.AspNetCore.Routing.Matching Endpoints[8] = CreateEndpoint("/v2/account/{id}", "POST"); Endpoints[9] = CreateEndpoint("/v2/account/{id}", "UPDATE"); + // Define an unordered mixture of policies that implement INodeBuilderPolicy, + // IEndpointComparerPolicy and/or IEndpointSelectorPolicy + _policies = new List() + { + CreateNodeBuilderPolicy(4), + CreateUberPolicy(2), + CreateNodeBuilderPolicy(3), + CreateEndpointComparerPolicy(5), + CreateNodeBuilderPolicy(1), + CreateEndpointSelectorPolicy(9), + CreateEndpointComparerPolicy(7), + CreateNodeBuilderPolicy(6), + CreateEndpointSelectorPolicy(10), + CreateUberPolicy(12), + CreateEndpointComparerPolicy(11) + }; + _loggerFactory = NullLoggerFactory.Instance; + _selector = new DefaultEndpointSelector(); + _parameterPolicyFactory = new DefaultParameterPolicyFactory(Options.Create(new RouteOptions()), new TestServiceProvider()); + _services = CreateServices(); } @@ -46,5 +77,132 @@ namespace Microsoft.AspNetCore.Routing.Matching var builder = _services.GetRequiredService(); SetupMatcher(builder); } + + [Benchmark] + public void Constructor_Policies() + { + new DfaMatcherBuilder(_loggerFactory, _parameterPolicyFactory, _selector, _policies); + } + + private static MatcherPolicy CreateNodeBuilderPolicy(int order) + { + return new TestNodeBuilderPolicy(order); + } + private static MatcherPolicy CreateEndpointComparerPolicy(int order) + { + return new TestEndpointComparerPolicy(order); + } + + private static MatcherPolicy CreateEndpointSelectorPolicy(int order) + { + return new TestEndpointSelectorPolicy(order); + } + + private static MatcherPolicy CreateUberPolicy(int order) + { + return new TestUberPolicy(order); + } + + private class TestUberPolicy : TestMatcherPolicyBase, INodeBuilderPolicy, IEndpointComparerPolicy + { + public TestUberPolicy(int order) : base(order) + { + } + + public IComparer Comparer => new TestEndpointComparer(); + + public bool AppliesToEndpoints(IReadOnlyList endpoints) + { + return false; + } + + public PolicyJumpTable BuildJumpTable(int exitDestination, IReadOnlyList edges) + { + throw new NotImplementedException(); + } + + public IReadOnlyList GetEdges(IReadOnlyList endpoints) + { + throw new NotImplementedException(); + } + } + + private class TestNodeBuilderPolicy : TestMatcherPolicyBase, INodeBuilderPolicy + { + public TestNodeBuilderPolicy(int order) : base(order) + { + } + + public bool AppliesToEndpoints(IReadOnlyList endpoints) + { + return false; + } + + public PolicyJumpTable BuildJumpTable(int exitDestination, IReadOnlyList edges) + { + throw new NotImplementedException(); + } + + public IReadOnlyList GetEdges(IReadOnlyList endpoints) + { + throw new NotImplementedException(); + } + } + + private class TestEndpointComparerPolicy : TestMatcherPolicyBase, IEndpointComparerPolicy + { + public TestEndpointComparerPolicy(int order) : base(order) + { + } + + public IComparer Comparer => new TestEndpointComparer(); + + public bool AppliesToEndpoints(IReadOnlyList endpoints) + { + return false; + } + + public Task ApplyAsync(HttpContext httpContext, EndpointSelectorContext context, CandidateSet candidates) + { + throw new NotImplementedException(); + } + } + + private class TestEndpointSelectorPolicy : TestMatcherPolicyBase, IEndpointSelectorPolicy + { + public TestEndpointSelectorPolicy(int order) : base(order) + { + } + + public bool AppliesToEndpoints(IReadOnlyList endpoints) + { + return false; + } + + public Task ApplyAsync(HttpContext httpContext, EndpointSelectorContext context, CandidateSet candidates) + { + throw new NotImplementedException(); + } + } + + private abstract class TestMatcherPolicyBase : MatcherPolicy + { + private int _order; + + protected TestMatcherPolicyBase(int order) + { + _order = order; + } + + public override int Order { get { return _order; } } + } + + private class TestEndpointComparer : IComparer + { + public int Compare(Endpoint x, Endpoint y) + { + return 0; + } + } } } \ No newline at end of file diff --git a/src/Microsoft.AspNetCore.Routing/Matching/DfaMatcherBuilder.cs b/src/Microsoft.AspNetCore.Routing/Matching/DfaMatcherBuilder.cs index b4e9ff538d..1b2172db53 100644 --- a/src/Microsoft.AspNetCore.Routing/Matching/DfaMatcherBuilder.cs +++ b/src/Microsoft.AspNetCore.Routing/Matching/DfaMatcherBuilder.cs @@ -17,7 +17,7 @@ namespace Microsoft.AspNetCore.Routing.Matching private readonly ILoggerFactory _loggerFactory; private readonly ParameterPolicyFactory _parameterPolicyFactory; private readonly EndpointSelector _selector; - private readonly MatcherPolicy[] _policies; + private readonly IEndpointSelectorPolicy[] _endpointSelectorPolicies; private readonly INodeBuilderPolicy[] _nodeBuilders; private readonly EndpointComparer _comparer; @@ -39,11 +39,11 @@ namespace Microsoft.AspNetCore.Routing.Matching _loggerFactory = loggerFactory; _parameterPolicyFactory = parameterPolicyFactory; _selector = selector; - _policies = policies.OrderBy(p => p.Order).ToArray(); - // Taking care to use _policies, which has been sorted. - _nodeBuilders = _policies.OfType().ToArray(); - _comparer = new EndpointComparer(_policies.OfType().ToArray()); + var (nodeBuilderPolicies, endpointComparerPolicies, endpointSelectorPolicies) = ExtractPolicies(policies.OrderBy(p => p.Order)); + _endpointSelectorPolicies = endpointSelectorPolicies; + _nodeBuilders = nodeBuilderPolicies; + _comparer = new EndpointComparer(endpointComparerPolicies); _assignments = new Dictionary(StringComparer.OrdinalIgnoreCase); _slots = new List>(); @@ -383,10 +383,10 @@ namespace Microsoft.AspNetCore.Routing.Matching List endpointSelectorPolicies = null; if (node.Matches?.Count > 0) { - for (var i = 0; i < _policies.Length; i++) + for (var i = 0; i < _endpointSelectorPolicies.Length; i++) { - if (_policies[i] is IEndpointSelectorPolicy endpointSelectorPolicy && - endpointSelectorPolicy.AppliesToEndpoints(node.Matches)) + var endpointSelectorPolicy = _endpointSelectorPolicies[i]; + if (endpointSelectorPolicy.AppliesToEndpoints(node.Matches)) { if (endpointSelectorPolicies == null) { @@ -465,16 +465,16 @@ namespace Microsoft.AspNetCore.Routing.Matching // internal for tests internal Candidate CreateCandidate(Endpoint endpoint, int score) { - _assignments.Clear(); - _slots.Clear(); - _captures.Clear(); - _complexSegments.Clear(); - _constraints.Clear(); - (string parameterName, int segmentIndex, int slotIndex) catchAll = default; if (endpoint is RouteEndpoint routeEndpoint) { + _assignments.Clear(); + _slots.Clear(); + _captures.Clear(); + _complexSegments.Clear(); + _constraints.Clear(); + foreach (var kvp in routeEndpoint.RoutePattern.Defaults) { _assignments.Add(kvp.Key, _assignments.Count); @@ -539,16 +539,27 @@ namespace Microsoft.AspNetCore.Routing.Matching } } } - } - return new Candidate( - endpoint, - score, - _slots.ToArray(), - _captures.ToArray(), - catchAll, - _complexSegments.ToArray(), - _constraints.ToArray()); + return new Candidate( + endpoint, + score, + _slots.ToArray(), + _captures.ToArray(), + catchAll, + _complexSegments.ToArray(), + _constraints.ToArray()); + } + else + { + return new Candidate( + endpoint, + score, + Array.Empty>(), + Array.Empty<(string parameterName, int segmentIndex, int slotIndex)>(), + catchAll, + Array.Empty<(RoutePatternPathSegment pathSegment, int segmentIndex)>(), + Array.Empty>()); + } } private int[] GetGroupLengths(DfaNode node) @@ -682,5 +693,32 @@ namespace Microsoft.AspNetCore.Routing.Matching work = nextWork; } } + + private static (INodeBuilderPolicy[] nodeBuilderPolicies, IEndpointComparerPolicy[] endpointComparerPolicies, IEndpointSelectorPolicy[] endpointSelectorPolicies) ExtractPolicies(IEnumerable policies) + { + var nodeBuilderPolicies = new List(); + var endpointComparerPolicies = new List(); + var endpointSelectorPolicies = new List(); + + foreach (var policy in policies) + { + if (policy is INodeBuilderPolicy nodeBuilderPolicy) + { + nodeBuilderPolicies.Add(nodeBuilderPolicy); + } + + if (policy is IEndpointComparerPolicy endpointComparerPolicy) + { + endpointComparerPolicies.Add(endpointComparerPolicy); + } + + if (policy is IEndpointSelectorPolicy endpointSelectorPolicy) + { + endpointSelectorPolicies.Add(endpointSelectorPolicy); + } + } + + return (nodeBuilderPolicies.ToArray(), endpointComparerPolicies.ToArray(), endpointSelectorPolicies.ToArray()); + } } } From 25b5ab2c3980569907d7c467dff185d00b9fbd64 Mon Sep 17 00:00:00 2001 From: Gert Driesen Date: Tue, 23 Oct 2018 02:25:43 +0200 Subject: [PATCH 217/221] Improve performance and reduce allocations in RouteValuesAddressScheme. (#879) --- .../RouteValuesAddressScheme.cs | 50 ++++++++--- .../RouteValuesAddressSchemeTest.cs | 90 ++++++++++++++++++- 2 files changed, 125 insertions(+), 15 deletions(-) diff --git a/src/Microsoft.AspNetCore.Routing/RouteValuesAddressScheme.cs b/src/Microsoft.AspNetCore.Routing/RouteValuesAddressScheme.cs index dc103128d1..ae7bd66705 100644 --- a/src/Microsoft.AspNetCore.Routing/RouteValuesAddressScheme.cs +++ b/src/Microsoft.AspNetCore.Routing/RouteValuesAddressScheme.cs @@ -16,7 +16,7 @@ namespace Microsoft.AspNetCore.Routing { private readonly CompositeEndpointDataSource _dataSource; private LinkGenerationDecisionTree _allMatchesLinkGenerationTree; - private IDictionary> _namedMatchResults; + private Dictionary> _namedMatchResults; public RouteValuesAddressScheme(CompositeEndpointDataSource dataSource) { @@ -33,7 +33,7 @@ namespace Microsoft.AspNetCore.Routing public IEnumerable FindEndpoints(RouteValuesAddress address) { - IEnumerable matchResults = null; + IList matchResults = null; if (string.IsNullOrEmpty(address.RouteName)) { matchResults = _allMatchesLinkGenerationTree.GetMatches( @@ -45,14 +45,33 @@ namespace Microsoft.AspNetCore.Routing matchResults = namedMatchResults; } - if (matchResults == null || !matchResults.Any()) + if (matchResults != null) { - return Array.Empty(); + var matchCount = matchResults.Count; + if (matchCount > 0) + { + if (matchResults.Count == 1) + { + // Special case having a single result to avoid creating iterator state machine + return new[] { (RouteEndpoint)matchResults[0].Match.Entry.Data }; + } + else + { + // Use separate method since one cannot have regular returns in an iterator method + return GetEndpoints(matchResults, matchCount); + } + } } - return matchResults - .Select(matchResult => matchResult.Match) - .Select(match => (RouteEndpoint)match.Entry.Data); + return Array.Empty(); + } + + private static IEnumerable GetEndpoints(IList matchResults, int matchCount) + { + for (var i = 0; i < matchCount; i++) + { + yield return (RouteEndpoint)matchResults[i].Match.Entry.Data; + } } private void HandleChange() @@ -73,7 +92,7 @@ namespace Microsoft.AspNetCore.Routing // as refresh of new endpoints happens within a lock and also these fields are not publicly accessible. var (allMatches, namedMatchResults) = GetOutboundMatches(); _namedMatchResults = namedMatchResults; - _allMatchesLinkGenerationTree = new LinkGenerationDecisionTree(allMatches.ToArray()); + _allMatchesLinkGenerationTree = new LinkGenerationDecisionTree(allMatches); } /// Decision tree is built using the 'required values' of actions. @@ -93,21 +112,25 @@ namespace Microsoft.AspNetCore.Routing /// requiredValues: new { controller = "Orders", action = "GetById" }, /// A call to GetLink("OrdersApi", new { id = "10" }) cannot generate url as neither the supplied values or /// current ambient values do not satisfy the decision tree that is built based on the required values. - protected virtual (IEnumerable, IDictionary>) GetOutboundMatches() + protected virtual (List, Dictionary>) GetOutboundMatches() { var allOutboundMatches = new List(); var namedOutboundMatchResults = new Dictionary>( StringComparer.OrdinalIgnoreCase); - var endpoints = _dataSource.Endpoints.OfType(); - foreach (var endpoint in endpoints) + foreach (var endpoint in _dataSource.Endpoints) { + if (!(endpoint is RouteEndpoint routeEndpoint)) + { + continue; + } + if (endpoint.Metadata.GetMetadata()?.SuppressLinkGeneration == true) { continue; } - var entry = CreateOutboundRouteEntry(endpoint); + var entry = CreateOutboundRouteEntry(routeEndpoint); var outboundMatch = new OutboundMatch() { Entry = entry }; allOutboundMatches.Add(outboundMatch); @@ -117,8 +140,7 @@ namespace Microsoft.AspNetCore.Routing continue; } - List matchResults; - if (!namedOutboundMatchResults.TryGetValue(entry.RouteName, out matchResults)) + if (!namedOutboundMatchResults.TryGetValue(entry.RouteName, out var matchResults)) { matchResults = new List(); namedOutboundMatchResults.Add(entry.RouteName, matchResults); diff --git a/test/Microsoft.AspNetCore.Routing.Tests/RouteValuesAddressSchemeTest.cs b/test/Microsoft.AspNetCore.Routing.Tests/RouteValuesAddressSchemeTest.cs index 9020939218..fc92eeab27 100644 --- a/test/Microsoft.AspNetCore.Routing.Tests/RouteValuesAddressSchemeTest.cs +++ b/test/Microsoft.AspNetCore.Routing.Tests/RouteValuesAddressSchemeTest.cs @@ -139,6 +139,94 @@ namespace Microsoft.AspNetCore.Routing }); } + [Fact] + public void FindEndpoints_LookedUpByCriteria_NoMatch() + { + // Arrange + var endpoint1 = CreateEndpoint( + "api/orders/{id}/{name?}/{urgent=true}/{zipCode}", + defaults: new { zipCode = 3510 }, + requiredValues: new { id = 7 }, + routeName: "OrdersApi"); + var endpoint2 = CreateEndpoint( + "api/orders/{id}/{name?}/{urgent=true}/{zipCode}", + defaults: new { id = 12 }, + requiredValues: new { zipCode = 3510 }, + routeName: "OrdersApi"); + var addressScheme = CreateAddressScheme(endpoint1, endpoint2); + + // Act + var foundEndpoints = addressScheme.FindEndpoints( + new RouteValuesAddress + { + ExplicitValues = new RouteValueDictionary(new { id = 8 }), + AmbientValues = new RouteValueDictionary(new { urgent = false }), + }); + + // Assert + Assert.Empty(foundEndpoints); + } + + [Fact] + public void FindEndpoints_LookedUpByCriteria_OneMatch() + { + // Arrange + var endpoint1 = CreateEndpoint( + "api/orders/{id}/{name?}/{urgent=true}/{zipCode}", + defaults: new { zipCode = 3510 }, + requiredValues: new { id = 7 }, + routeName: "OrdersApi"); + var endpoint2 = CreateEndpoint( + "api/orders/{id}/{name?}/{urgent=true}/{zipCode}", + defaults: new { id = 12 }, + routeName: "OrdersApi"); + var addressScheme = CreateAddressScheme(endpoint1, endpoint2); + + // Act + var foundEndpoints = addressScheme.FindEndpoints( + new RouteValuesAddress + { + ExplicitValues = new RouteValueDictionary(new { id = 13 }), + AmbientValues = new RouteValueDictionary(new { zipCode = 3500 }), + }); + + // Assert + var actual = Assert.Single(foundEndpoints); + Assert.Same(endpoint2, actual); + } + + [Fact] + public void FindEndpoints_LookedUpByCriteria_MultipleMatches() + { + // Arrange + var endpoint1 = CreateEndpoint( + "api/orders/{id}/{name?}/{urgent=true}/{zipCode}", + defaults: new { zipCode = 3510 }, + requiredValues: new { id = 7 }, + routeName: "OrdersApi"); + var endpoint2 = CreateEndpoint( + "api/orders/{id}/{name?}/{urgent}/{zipCode}", + defaults: new { id = 12 }, + routeName: "OrdersApi"); + var endpoint3 = CreateEndpoint( + "api/orders/{id}/{name?}/{urgent=true}/{zipCode}", + defaults: new { id = 12 }, + routeName: "OrdersApi"); + var addressScheme = CreateAddressScheme(endpoint1, endpoint2, endpoint3); + + // Act + var foundEndpoints = addressScheme.FindEndpoints( + new RouteValuesAddress + { + ExplicitValues = new RouteValueDictionary(new { id = 7 }), + AmbientValues = new RouteValueDictionary(new { zipCode = 3500 }), + }); + + // Assert + Assert.Contains(endpoint1, foundEndpoints); + Assert.Contains(endpoint1, foundEndpoints); + } + [Fact] public void FindEndpoints_ReturnsEndpoint_WhenLookedUpByRouteName() { @@ -270,7 +358,7 @@ namespace Microsoft.AspNetCore.Routing public IDictionary> NamedMatches { get; private set; } - protected override (IEnumerable, IDictionary>) GetOutboundMatches() + protected override (List, Dictionary>) GetOutboundMatches() { var matches = base.GetOutboundMatches(); AllMatches = matches.Item1; From bd32ec38375263f6b1a77a1a0757c032d8f0f2b3 Mon Sep 17 00:00:00 2001 From: Gert Driesen Date: Tue, 23 Oct 2018 02:26:17 +0200 Subject: [PATCH 218/221] Add basic test for RouteValueEqualityComparer.Equals(...). (#883) --- .../RouteValueEqualityComparerTest.cs | 41 +++++++++++++++++++ 1 file changed, 41 insertions(+) create mode 100644 test/Microsoft.AspNetCore.Routing.Tests/RouteValueEqualityComparerTest.cs diff --git a/test/Microsoft.AspNetCore.Routing.Tests/RouteValueEqualityComparerTest.cs b/test/Microsoft.AspNetCore.Routing.Tests/RouteValueEqualityComparerTest.cs new file mode 100644 index 0000000000..4f6dc0a87d --- /dev/null +++ b/test/Microsoft.AspNetCore.Routing.Tests/RouteValueEqualityComparerTest.cs @@ -0,0 +1,41 @@ +// Copyright (c) .NET Foundation. All rights reserved. +// Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information. + +using Xunit; + +namespace Microsoft.AspNetCore.Routing +{ + public class RouteValueEqualityComparerTest + { + private readonly RouteValueEqualityComparer _comparer; + + public RouteValueEqualityComparerTest() + { + _comparer = new RouteValueEqualityComparer(); + } + + [Theory] + [InlineData(5, 7, false)] + [InlineData("foo", "foo", true)] + [InlineData("foo", "FoO", true)] + [InlineData("foo", "boo", false)] + [InlineData("7", 7, true)] + [InlineData(7, "7", true)] + [InlineData(5.7d, 5.7d, true)] + [InlineData(null, null, true)] + [InlineData(null, "foo", false)] + [InlineData("foo", null, false)] + [InlineData(null, "", true)] + [InlineData("", null, true)] + [InlineData("", "", true)] + [InlineData("", "foo", false)] + [InlineData("foo", "", false)] + [InlineData(true, true, true)] + [InlineData(true, false, false)] + public void EqualsTest(object x, object y, bool expected) + { + var actual = _comparer.Equals(x, y); + Assert.Equal(expected, actual); + } + } +} From 577be72faa07367669842d09147f3f14bb528d31 Mon Sep 17 00:00:00 2001 From: James Newton-King Date: Wed, 24 Oct 2018 13:54:50 +1300 Subject: [PATCH 219/221] Split sandbox and functional tests websites (#890) --- Routing.sln | 23 ++- samples/RoutingSample.Web/PrefixRoute.cs | 62 -------- samples/RoutingSample.Web/Program.cs | 2 +- .../RouteBuilderExtensions.cs | 43 ----- ...ample.Web.csproj => RoutingSandbox.csproj} | 0 .../UseEndpointRoutingStartup.cs | 65 +------- samples/RoutingSample.Web/UseRouterStartup.cs | 2 +- test/Directory.Build.props | 6 +- ...Core.Mvc.Routing.Abstractions.Tests.csproj | 6 +- ....Routing.DecisionTree.Sources.Tests.csproj | 2 +- .../EndpointRoutingSampleTest.cs | 2 +- ....AspNetCore.Routing.FunctionalTests.csproj | 4 +- .../RouterSampleTest.cs | 2 +- test/WebSites/Directory.Build.props | 11 ++ .../EndsWithStringRouteConstraint.cs | 2 +- test/WebSites/RoutingWebSite/Program.cs | 72 +++++++++ .../RoutingWebSite/RoutingWebSite.csproj | 19 +++ .../UseEndpointRoutingStartup.cs | 148 ++++++++++++++++++ .../RoutingWebSite/UseRouterStartup.cs | 43 +++++ 19 files changed, 333 insertions(+), 181 deletions(-) delete mode 100644 samples/RoutingSample.Web/PrefixRoute.cs delete mode 100644 samples/RoutingSample.Web/RouteBuilderExtensions.cs rename samples/RoutingSample.Web/{RoutingSample.Web.csproj => RoutingSandbox.csproj} (100%) create mode 100644 test/WebSites/Directory.Build.props rename {samples/RoutingSample.Web => test/WebSites/RoutingWebSite}/EndsWithStringRouteConstraint.cs (97%) create mode 100644 test/WebSites/RoutingWebSite/Program.cs create mode 100644 test/WebSites/RoutingWebSite/RoutingWebSite.csproj create mode 100644 test/WebSites/RoutingWebSite/UseEndpointRoutingStartup.cs create mode 100644 test/WebSites/RoutingWebSite/UseRouterStartup.cs diff --git a/Routing.sln b/Routing.sln index 632e7fe0c3..c6de0a91d5 100644 --- a/Routing.sln +++ b/Routing.sln @@ -19,7 +19,7 @@ Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Microsoft.AspNetCore.Routin EndProject Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Microsoft.AspNetCore.Routing.Tests", "test\Microsoft.AspNetCore.Routing.Tests\Microsoft.AspNetCore.Routing.Tests.csproj", "{636D79ED-7B32-487C-BDA5-D2A1AAA97371}" EndProject -Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "RoutingSample.Web", "samples\RoutingSample.Web\RoutingSample.Web.csproj", "{DB94E647-C73A-4F52-A126-AA7544CCF33B}" +Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "RoutingSandbox", "samples\RoutingSample.Web\RoutingSandbox.csproj", "{DB94E647-C73A-4F52-A126-AA7544CCF33B}" EndProject Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Solution Items", "Solution Items", "{C430C499-382D-47BD-B351-CF8F89C08CD2}" ProjectSection(SolutionItems) = preProject @@ -55,6 +55,13 @@ Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "tools", "tools", "{6824486A EndProject Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Swaggatherer", "tools\Swaggatherer\Swaggatherer.csproj", "{B8516771-E850-4724-BEC3-63FC00C2AE57}" EndProject +Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "WebSites", "WebSites", "{8E5E51D4-6B03-4FC6-9F34-6E9FA24702BD}" + ProjectSection(SolutionItems) = preProject + test\WebSites\Directory.Build.props = test\WebSites\Directory.Build.props + EndProjectSection +EndProject +Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "RoutingWebSite", "test\WebSites\RoutingWebSite\RoutingWebSite.csproj", "{E91EC5EC-30A8-45EC-9B2F-67E2D6C39D74}" +EndProject Global GlobalSection(SolutionConfigurationPlatforms) = preSolution Debug|Any CPU = Debug|Any CPU @@ -179,6 +186,18 @@ Global {B8516771-E850-4724-BEC3-63FC00C2AE57}.Release|Mixed Platforms.Build.0 = Release|Any CPU {B8516771-E850-4724-BEC3-63FC00C2AE57}.Release|x86.ActiveCfg = Release|Any CPU {B8516771-E850-4724-BEC3-63FC00C2AE57}.Release|x86.Build.0 = Release|Any CPU + {E91EC5EC-30A8-45EC-9B2F-67E2D6C39D74}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {E91EC5EC-30A8-45EC-9B2F-67E2D6C39D74}.Debug|Any CPU.Build.0 = Debug|Any CPU + {E91EC5EC-30A8-45EC-9B2F-67E2D6C39D74}.Debug|Mixed Platforms.ActiveCfg = Debug|Any CPU + {E91EC5EC-30A8-45EC-9B2F-67E2D6C39D74}.Debug|Mixed Platforms.Build.0 = Debug|Any CPU + {E91EC5EC-30A8-45EC-9B2F-67E2D6C39D74}.Debug|x86.ActiveCfg = Debug|Any CPU + {E91EC5EC-30A8-45EC-9B2F-67E2D6C39D74}.Debug|x86.Build.0 = Debug|Any CPU + {E91EC5EC-30A8-45EC-9B2F-67E2D6C39D74}.Release|Any CPU.ActiveCfg = Release|Any CPU + {E91EC5EC-30A8-45EC-9B2F-67E2D6C39D74}.Release|Any CPU.Build.0 = Release|Any CPU + {E91EC5EC-30A8-45EC-9B2F-67E2D6C39D74}.Release|Mixed Platforms.ActiveCfg = Release|Any CPU + {E91EC5EC-30A8-45EC-9B2F-67E2D6C39D74}.Release|Mixed Platforms.Build.0 = Release|Any CPU + {E91EC5EC-30A8-45EC-9B2F-67E2D6C39D74}.Release|x86.ActiveCfg = Release|Any CPU + {E91EC5EC-30A8-45EC-9B2F-67E2D6C39D74}.Release|x86.Build.0 = Release|Any CPU EndGlobalSection GlobalSection(SolutionProperties) = preSolution HideSolutionNode = FALSE @@ -194,6 +213,8 @@ Global {F3D86714-4E64-41A6-9B36-A47B3683CF5D} = {D5F39F59-5725-4127-82E7-67028D006185} {91F47A60-9A78-4968-B10D-157D9BFAC37F} = {7F5914E2-C63F-4759-898E-462804357C90} {B8516771-E850-4724-BEC3-63FC00C2AE57} = {6824486A-3EFF-45D1-BEE8-8B137639C890} + {8E5E51D4-6B03-4FC6-9F34-6E9FA24702BD} = {95359B4B-4C85-4B44-A75B-0621905C4CF6} + {E91EC5EC-30A8-45EC-9B2F-67E2D6C39D74} = {8E5E51D4-6B03-4FC6-9F34-6E9FA24702BD} EndGlobalSection GlobalSection(ExtensibilityGlobals) = postSolution SolutionGuid = {36C8D815-B7F1-479D-894B-E606FB8DECDA} diff --git a/samples/RoutingSample.Web/PrefixRoute.cs b/samples/RoutingSample.Web/PrefixRoute.cs deleted file mode 100644 index 2a68abb183..0000000000 --- a/samples/RoutingSample.Web/PrefixRoute.cs +++ /dev/null @@ -1,62 +0,0 @@ -// Copyright (c) .NET Foundation. All rights reserved. -// Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information. - -using System; -using System.Threading.Tasks; -using Microsoft.AspNetCore.Routing; - -namespace RoutingSample.Web -{ - public class PrefixRoute : IRouter - { - private readonly IRouteHandler _target; - private readonly string _prefix; - - public PrefixRoute(IRouteHandler target, string prefix) - { - _target = target; - - if (prefix == null) - { - prefix = "/"; - } - else if (prefix.Length > 0 && prefix[0] != '/') - { - // owin.RequestPath starts with a / - prefix = "/" + prefix; - } - - if (prefix.Length > 1 && prefix[prefix.Length - 1] == '/') - { - prefix = prefix.Substring(0, prefix.Length - 1); - } - - _prefix = prefix; - } - - public Task RouteAsync(RouteContext context) - { - var requestPath = context.HttpContext.Request.Path.Value ?? string.Empty; - if (requestPath.StartsWith(_prefix, StringComparison.OrdinalIgnoreCase)) - { - if (requestPath.Length > _prefix.Length) - { - var lastCharacter = requestPath[_prefix.Length]; - if (lastCharacter != '/' && lastCharacter != '#' && lastCharacter != '?') - { - return Task.CompletedTask; - } - } - - context.Handler = _target.GetRequestHandler(context.HttpContext, context.RouteData); - } - - return Task.CompletedTask; - } - - public VirtualPathData GetVirtualPath(VirtualPathContext context) - { - return null; - } - } -} \ No newline at end of file diff --git a/samples/RoutingSample.Web/Program.cs b/samples/RoutingSample.Web/Program.cs index 406e0d591a..35e4e44c01 100644 --- a/samples/RoutingSample.Web/Program.cs +++ b/samples/RoutingSample.Web/Program.cs @@ -6,7 +6,7 @@ using Microsoft.AspNetCore.Builder; using Microsoft.AspNetCore.Hosting; using Microsoft.Extensions.Logging; -namespace RoutingSample.Web +namespace RoutingSandbox { public class Program { diff --git a/samples/RoutingSample.Web/RouteBuilderExtensions.cs b/samples/RoutingSample.Web/RouteBuilderExtensions.cs deleted file mode 100644 index d81735bbc2..0000000000 --- a/samples/RoutingSample.Web/RouteBuilderExtensions.cs +++ /dev/null @@ -1,43 +0,0 @@ -// Copyright (c) .NET Foundation. All rights reserved. -// Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information. - -using Microsoft.AspNetCore.Routing; -using Microsoft.Extensions.DependencyInjection; - -namespace RoutingSample.Web -{ - public static class RouteBuilderExtensions - { - public static IRouteBuilder AddPrefixRoute( - this IRouteBuilder routeBuilder, - string prefix, - IRouteHandler handler) - { - routeBuilder.Routes.Add(new PrefixRoute(handler, prefix)); - return routeBuilder; - } - - public static IRouteBuilder MapLocaleRoute( - this IRouteBuilder routeBuilder, - string locale, - string routeTemplate, - object defaults) - { - var defaultsDictionary = new RouteValueDictionary(defaults); - defaultsDictionary.Add("locale", locale); - - var constraintResolver = routeBuilder.ServiceProvider.GetService(); - - var route = new Route( - target: routeBuilder.DefaultHandler, - routeTemplate: routeTemplate, - defaults: defaultsDictionary, - constraints: null, - dataTokens: null, - inlineConstraintResolver: constraintResolver); - routeBuilder.Routes.Add(route); - - return routeBuilder; - } - } -} \ No newline at end of file diff --git a/samples/RoutingSample.Web/RoutingSample.Web.csproj b/samples/RoutingSample.Web/RoutingSandbox.csproj similarity index 100% rename from samples/RoutingSample.Web/RoutingSample.Web.csproj rename to samples/RoutingSample.Web/RoutingSandbox.csproj diff --git a/samples/RoutingSample.Web/UseEndpointRoutingStartup.cs b/samples/RoutingSample.Web/UseEndpointRoutingStartup.cs index 9a7f058d0f..bfb345cba9 100644 --- a/samples/RoutingSample.Web/UseEndpointRoutingStartup.cs +++ b/samples/RoutingSample.Web/UseEndpointRoutingStartup.cs @@ -14,7 +14,7 @@ using Microsoft.AspNetCore.Routing.Patterns; using Microsoft.Extensions.DependencyInjection; using Microsoft.Extensions.DependencyInjection.Extensions; -namespace RoutingSample.Web +namespace RoutingSandbox { public class UseEndpointRoutingStartup { @@ -23,13 +23,6 @@ namespace RoutingSample.Web public void ConfigureServices(IServiceCollection services) { - services.AddTransient(); - - services.AddRouting(options => - { - options.ConstraintMap.Add("endsWith", typeof(EndsWithStringRouteConstraint)); - }); - var endpointDataSource = new DefaultEndpointDataSource(new[] { new RouteEndpoint((httpContext) => @@ -58,28 +51,6 @@ namespace RoutingSample.Web 0, EndpointMetadataCollection.Empty, "Plaintext"), - new RouteEndpoint((httpContext) => - { - var response = httpContext.Response; - response.StatusCode = 200; - response.ContentType = "text/plain"; - return response.WriteAsync("WithConstraints"); - }, - RoutePatternFactory.Parse("/withconstraints/{id:endsWith(_001)}"), - 0, - EndpointMetadataCollection.Empty, - "withconstraints"), - new RouteEndpoint((httpContext) => - { - var response = httpContext.Response; - response.StatusCode = 200; - response.ContentType = "text/plain"; - return response.WriteAsync("withoptionalconstraints"); - }, - RoutePatternFactory.Parse("/withoptionalconstraints/{id:endsWith(_001)?}"), - 0, - EndpointMetadataCollection.Empty, - "withoptionalconstraints"), new RouteEndpoint((httpContext) => { using (var writer = new StreamWriter(httpContext.Response.Body, Encoding.UTF8, 1024, leaveOpen: true)) @@ -95,40 +66,6 @@ namespace RoutingSample.Web 0, new EndpointMetadataCollection(new HttpMethodMetadata(new[]{ "GET", })), "DFA Graph"), - new RouteEndpoint((httpContext) => - { - var linkGenerator = httpContext.RequestServices.GetRequiredService(); - - var response = httpContext.Response; - response.StatusCode = 200; - response.ContentType = "text/plain"; - return response.WriteAsync( - "Link: " + linkGenerator.GetPathByRouteValues(httpContext, "WithSingleAsteriskCatchAll", new { })); - }, - RoutePatternFactory.Parse("/WithSingleAsteriskCatchAll/{*path}"), - 0, - new EndpointMetadataCollection( - new RouteValuesAddressMetadata( - routeName: "WithSingleAsteriskCatchAll", - requiredValues: new RouteValueDictionary())), - "WithSingleAsteriskCatchAll"), - new RouteEndpoint((httpContext) => - { - var linkGenerator = httpContext.RequestServices.GetRequiredService(); - - var response = httpContext.Response; - response.StatusCode = 200; - response.ContentType = "text/plain"; - return response.WriteAsync( - "Link: " + linkGenerator.GetPathByRouteValues(httpContext, "WithDoubleAsteriskCatchAll", new { })); - }, - RoutePatternFactory.Parse("/WithDoubleAsteriskCatchAll/{**path}"), - 0, - new EndpointMetadataCollection( - new RouteValuesAddressMetadata( - routeName: "WithDoubleAsteriskCatchAll", - requiredValues: new RouteValueDictionary())), - "WithDoubleAsteriskCatchAll"), }); services.TryAddEnumerable(ServiceDescriptor.Singleton(endpointDataSource)); diff --git a/samples/RoutingSample.Web/UseRouterStartup.cs b/samples/RoutingSample.Web/UseRouterStartup.cs index 2d267ef18f..d7ae470989 100644 --- a/samples/RoutingSample.Web/UseRouterStartup.cs +++ b/samples/RoutingSample.Web/UseRouterStartup.cs @@ -9,7 +9,7 @@ using Microsoft.AspNetCore.Routing; using Microsoft.AspNetCore.Routing.Constraints; using Microsoft.Extensions.DependencyInjection; -namespace RoutingSample.Web +namespace RoutingSandbox { public class UseRouterStartup { diff --git a/test/Directory.Build.props b/test/Directory.Build.props index 3501751182..c126684d3f 100644 --- a/test/Directory.Build.props +++ b/test/Directory.Build.props @@ -8,9 +8,11 @@ $(StandardTestTfms);net461 + + false + + - - diff --git a/test/Microsoft.AspNetCore.Mvc.Routing.Abstractions.Tests/Microsoft.AspNetCore.Mvc.Routing.Abstractions.Tests.csproj b/test/Microsoft.AspNetCore.Mvc.Routing.Abstractions.Tests/Microsoft.AspNetCore.Mvc.Routing.Abstractions.Tests.csproj index fce9e366fc..c5fa909119 100644 --- a/test/Microsoft.AspNetCore.Mvc.Routing.Abstractions.Tests/Microsoft.AspNetCore.Mvc.Routing.Abstractions.Tests.csproj +++ b/test/Microsoft.AspNetCore.Mvc.Routing.Abstractions.Tests/Microsoft.AspNetCore.Mvc.Routing.Abstractions.Tests.csproj @@ -1,4 +1,4 @@ - + $(StandardTestTfms) @@ -8,4 +8,8 @@ + + + + diff --git a/test/Microsoft.AspNetCore.Routing.DecisionTree.Sources.Tests/Microsoft.AspNetCore.Routing.DecisionTree.Sources.Tests.csproj b/test/Microsoft.AspNetCore.Routing.DecisionTree.Sources.Tests/Microsoft.AspNetCore.Routing.DecisionTree.Sources.Tests.csproj index 3d127f0370..286e462426 100644 --- a/test/Microsoft.AspNetCore.Routing.DecisionTree.Sources.Tests/Microsoft.AspNetCore.Routing.DecisionTree.Sources.Tests.csproj +++ b/test/Microsoft.AspNetCore.Routing.DecisionTree.Sources.Tests/Microsoft.AspNetCore.Routing.DecisionTree.Sources.Tests.csproj @@ -1,4 +1,4 @@ - + $(StandardTestTfms) diff --git a/test/Microsoft.AspNetCore.Routing.FunctionalTests/EndpointRoutingSampleTest.cs b/test/Microsoft.AspNetCore.Routing.FunctionalTests/EndpointRoutingSampleTest.cs index 6dd2373efe..6f5a978c5f 100644 --- a/test/Microsoft.AspNetCore.Routing.FunctionalTests/EndpointRoutingSampleTest.cs +++ b/test/Microsoft.AspNetCore.Routing.FunctionalTests/EndpointRoutingSampleTest.cs @@ -6,7 +6,7 @@ using System.Net; using System.Net.Http; using System.Threading.Tasks; using Microsoft.AspNetCore.TestHost; -using RoutingSample.Web; +using RoutingWebSite; using Xunit; namespace Microsoft.AspNetCore.Routing.FunctionalTests diff --git a/test/Microsoft.AspNetCore.Routing.FunctionalTests/Microsoft.AspNetCore.Routing.FunctionalTests.csproj b/test/Microsoft.AspNetCore.Routing.FunctionalTests/Microsoft.AspNetCore.Routing.FunctionalTests.csproj index 9520c32ff5..0fecc56388 100644 --- a/test/Microsoft.AspNetCore.Routing.FunctionalTests/Microsoft.AspNetCore.Routing.FunctionalTests.csproj +++ b/test/Microsoft.AspNetCore.Routing.FunctionalTests/Microsoft.AspNetCore.Routing.FunctionalTests.csproj @@ -6,7 +6,7 @@ - + @@ -17,4 +17,4 @@ - + \ No newline at end of file diff --git a/test/Microsoft.AspNetCore.Routing.FunctionalTests/RouterSampleTest.cs b/test/Microsoft.AspNetCore.Routing.FunctionalTests/RouterSampleTest.cs index a925035bc4..315dcc1b68 100644 --- a/test/Microsoft.AspNetCore.Routing.FunctionalTests/RouterSampleTest.cs +++ b/test/Microsoft.AspNetCore.Routing.FunctionalTests/RouterSampleTest.cs @@ -6,7 +6,7 @@ using System.Net; using System.Net.Http; using System.Threading.Tasks; using Microsoft.AspNetCore.TestHost; -using RoutingSample.Web; +using RoutingWebSite; using Xunit; namespace Microsoft.AspNetCore.Routing.FunctionalTests diff --git a/test/WebSites/Directory.Build.props b/test/WebSites/Directory.Build.props new file mode 100644 index 0000000000..2ff6b1fb54 --- /dev/null +++ b/test/WebSites/Directory.Build.props @@ -0,0 +1,11 @@ + + + + + + netcoreapp2.2 + $(DeveloperBuildTestWebsiteTfms) + netcoreapp2.2 + $(StandardTestWebsiteTfms);net461 + + diff --git a/samples/RoutingSample.Web/EndsWithStringRouteConstraint.cs b/test/WebSites/RoutingWebSite/EndsWithStringRouteConstraint.cs similarity index 97% rename from samples/RoutingSample.Web/EndsWithStringRouteConstraint.cs rename to test/WebSites/RoutingWebSite/EndsWithStringRouteConstraint.cs index 2d1ebecb64..efb8431e2a 100644 --- a/samples/RoutingSample.Web/EndsWithStringRouteConstraint.cs +++ b/test/WebSites/RoutingWebSite/EndsWithStringRouteConstraint.cs @@ -6,7 +6,7 @@ using System.Globalization; using Microsoft.AspNetCore.Http; using Microsoft.AspNetCore.Routing; -namespace RoutingSample.Web +namespace RoutingWebSite { internal class EndsWithStringRouteConstraint : IRouteConstraint { diff --git a/test/WebSites/RoutingWebSite/Program.cs b/test/WebSites/RoutingWebSite/Program.cs new file mode 100644 index 0000000000..d96af1814f --- /dev/null +++ b/test/WebSites/RoutingWebSite/Program.cs @@ -0,0 +1,72 @@ +// Copyright (c) .NET Foundation. All rights reserved. +// Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information. + +using System; +using Microsoft.AspNetCore.Builder; +using Microsoft.AspNetCore.Hosting; +using Microsoft.Extensions.Logging; + +namespace RoutingWebSite +{ + public class Program + { + public const string EndpointRoutingScenario = "endpointrouting"; + public const string RouterScenario = "router"; + + public static void Main(string[] args) + { + var webHost = GetWebHostBuilder(args).Build(); + webHost.Run(); + } + + // For unit testing + public static IWebHostBuilder GetWebHostBuilder(string[] args) + { + string scenario; + if (args.Length == 0) + { + Console.WriteLine("Choose a sample to run:"); + Console.WriteLine($"1. {EndpointRoutingScenario}"); + Console.WriteLine($"2. {RouterScenario}"); + Console.WriteLine(); + + scenario = Console.ReadLine(); + } + else + { + scenario = args[0]; + } + + Type startupType; + switch (scenario) + { + case "1": + case EndpointRoutingScenario: + startupType = typeof(UseEndpointRoutingStartup); + break; + + case "2": + case RouterScenario: + startupType = typeof(UseRouterStartup); + break; + + default: + Console.WriteLine($"unknown scenario {scenario}"); + Console.WriteLine($"usage: dotnet run -- ({EndpointRoutingScenario}|{RouterScenario})"); + throw new InvalidOperationException(); + + } + + return new WebHostBuilder() + .UseKestrel() + .UseIISIntegration() + .ConfigureLogging(b => + { + b.AddConsole(); + b.SetMinimumLevel(LogLevel.Critical); + }) + .UseContentRoot(Environment.CurrentDirectory) + .UseStartup(startupType); + } + } +} diff --git a/test/WebSites/RoutingWebSite/RoutingWebSite.csproj b/test/WebSites/RoutingWebSite/RoutingWebSite.csproj new file mode 100644 index 0000000000..d462c5fbbc --- /dev/null +++ b/test/WebSites/RoutingWebSite/RoutingWebSite.csproj @@ -0,0 +1,19 @@ + + + + netcoreapp2.2 + $(TargetFrameworks);net461 + + + + + + + + + + + + + + diff --git a/test/WebSites/RoutingWebSite/UseEndpointRoutingStartup.cs b/test/WebSites/RoutingWebSite/UseEndpointRoutingStartup.cs new file mode 100644 index 0000000000..57bc673573 --- /dev/null +++ b/test/WebSites/RoutingWebSite/UseEndpointRoutingStartup.cs @@ -0,0 +1,148 @@ +// Copyright (c) .NET Foundation. All rights reserved. +// Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information. + +using System; +using System.IO; +using System.Text; +using System.Threading.Tasks; +using Microsoft.AspNetCore.Builder; +using Microsoft.AspNetCore.Http; +using Microsoft.AspNetCore.Internal; +using Microsoft.AspNetCore.Routing; +using Microsoft.AspNetCore.Routing.Internal; +using Microsoft.AspNetCore.Routing.Patterns; +using Microsoft.Extensions.DependencyInjection; +using Microsoft.Extensions.DependencyInjection.Extensions; + +namespace RoutingWebSite +{ + public class UseEndpointRoutingStartup + { + private static readonly byte[] _homePayload = Encoding.UTF8.GetBytes("Endpoint Routing sample endpoints:" + Environment.NewLine + "/plaintext"); + private static readonly byte[] _helloWorldPayload = Encoding.UTF8.GetBytes("Hello, World!"); + + public void ConfigureServices(IServiceCollection services) + { + services.AddTransient(); + + services.AddRouting(options => + { + options.ConstraintMap.Add("endsWith", typeof(EndsWithStringRouteConstraint)); + }); + + var endpointDataSource = new DefaultEndpointDataSource(new[] + { + new RouteEndpoint((httpContext) => + { + var response = httpContext.Response; + var payloadLength = _homePayload.Length; + response.StatusCode = 200; + response.ContentType = "text/plain"; + response.ContentLength = payloadLength; + return response.Body.WriteAsync(_homePayload, 0, payloadLength); + }, + RoutePatternFactory.Parse("/"), + 0, + EndpointMetadataCollection.Empty, + "Home"), + new RouteEndpoint((httpContext) => + { + var response = httpContext.Response; + var payloadLength = _helloWorldPayload.Length; + response.StatusCode = 200; + response.ContentType = "text/plain"; + response.ContentLength = payloadLength; + return response.Body.WriteAsync(_helloWorldPayload, 0, payloadLength); + }, + RoutePatternFactory.Parse("/plaintext"), + 0, + EndpointMetadataCollection.Empty, + "Plaintext"), + new RouteEndpoint((httpContext) => + { + var response = httpContext.Response; + response.StatusCode = 200; + response.ContentType = "text/plain"; + return response.WriteAsync("WithConstraints"); + }, + RoutePatternFactory.Parse("/withconstraints/{id:endsWith(_001)}"), + 0, + EndpointMetadataCollection.Empty, + "withconstraints"), + new RouteEndpoint((httpContext) => + { + var response = httpContext.Response; + response.StatusCode = 200; + response.ContentType = "text/plain"; + return response.WriteAsync("withoptionalconstraints"); + }, + RoutePatternFactory.Parse("/withoptionalconstraints/{id:endsWith(_001)?}"), + 0, + EndpointMetadataCollection.Empty, + "withoptionalconstraints"), + new RouteEndpoint((httpContext) => + { + using (var writer = new StreamWriter(httpContext.Response.Body, Encoding.UTF8, 1024, leaveOpen: true)) + { + var graphWriter = httpContext.RequestServices.GetRequiredService(); + var dataSource = httpContext.RequestServices.GetRequiredService(); + graphWriter.Write(dataSource, writer); + } + + return Task.CompletedTask; + }, + RoutePatternFactory.Parse("/graph"), + 0, + new EndpointMetadataCollection(new HttpMethodMetadata(new[]{ "GET", })), + "DFA Graph"), + new RouteEndpoint((httpContext) => + { + var linkGenerator = httpContext.RequestServices.GetRequiredService(); + + var response = httpContext.Response; + response.StatusCode = 200; + response.ContentType = "text/plain"; + return response.WriteAsync( + "Link: " + linkGenerator.GetPathByRouteValues(httpContext, "WithSingleAsteriskCatchAll", new { })); + }, + RoutePatternFactory.Parse("/WithSingleAsteriskCatchAll/{*path}"), + 0, + new EndpointMetadataCollection( + new RouteValuesAddressMetadata( + routeName: "WithSingleAsteriskCatchAll", + requiredValues: new RouteValueDictionary())), + "WithSingleAsteriskCatchAll"), + new RouteEndpoint((httpContext) => + { + var linkGenerator = httpContext.RequestServices.GetRequiredService(); + + var response = httpContext.Response; + response.StatusCode = 200; + response.ContentType = "text/plain"; + return response.WriteAsync( + "Link: " + linkGenerator.GetPathByRouteValues(httpContext, "WithDoubleAsteriskCatchAll", new { })); + }, + RoutePatternFactory.Parse("/WithDoubleAsteriskCatchAll/{**path}"), + 0, + new EndpointMetadataCollection( + new RouteValuesAddressMetadata( + routeName: "WithDoubleAsteriskCatchAll", + requiredValues: new RouteValueDictionary())), + "WithDoubleAsteriskCatchAll"), + }); + + services.TryAddEnumerable(ServiceDescriptor.Singleton(endpointDataSource)); + } + + public void Configure(IApplicationBuilder app) + { + app.UseEndpointRouting(); + + app.UseStaticFiles(); + + // Imagine some more stuff here... + + app.UseEndpoint(); + } + } +} diff --git a/test/WebSites/RoutingWebSite/UseRouterStartup.cs b/test/WebSites/RoutingWebSite/UseRouterStartup.cs new file mode 100644 index 0000000000..fb27ce550f --- /dev/null +++ b/test/WebSites/RoutingWebSite/UseRouterStartup.cs @@ -0,0 +1,43 @@ +// Copyright (c) .NET Foundation. All rights reserved. +// Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information. + +using System; +using System.Text.RegularExpressions; +using Microsoft.AspNetCore.Builder; +using Microsoft.AspNetCore.Http; +using Microsoft.AspNetCore.Routing; +using Microsoft.AspNetCore.Routing.Constraints; +using Microsoft.Extensions.DependencyInjection; + +namespace RoutingWebSite +{ + public class UseRouterStartup + { + private static readonly TimeSpan RegexMatchTimeout = TimeSpan.FromSeconds(10); + + public void ConfigureServices(IServiceCollection services) + { + services.AddRouting(); + } + + public void Configure(IApplicationBuilder app) + { + app.UseRouter(routes => + { + routes.DefaultHandler = new RouteHandler((httpContext) => + { + var request = httpContext.Request; + return httpContext.Response.WriteAsync($"Verb = {request.Method.ToUpperInvariant()} - Path = {request.Path} - Route values - {string.Join(", ", httpContext.GetRouteData().Values)}"); + }); + + routes.MapGet("api/get/{id}", (request, response, routeData) => response.WriteAsync($"API Get {routeData.Values["id"]}")) + .MapMiddlewareRoute("api/middleware", (appBuilder) => appBuilder.Use((httpContext, next) => httpContext.Response.WriteAsync("Middleware!"))) + .MapRoute( + name: "AllVerbs", + template: "api/all/{name}/{lastName?}", + defaults: new { lastName = "Doe" }, + constraints: new { lastName = new RegexRouteConstraint(new Regex("[a-zA-Z]{3}", RegexOptions.CultureInvariant, RegexMatchTimeout)) }); + }); + } + } +} From 3d828221a19d91907c52c2f40928b019bee1ef92 Mon Sep 17 00:00:00 2001 From: James Newton-King Date: Thu, 25 Oct 2018 09:22:31 +1300 Subject: [PATCH 220/221] Rename sandbox website directory (#892) --- Routing.sln | 28 ++++++++++--------- .../Program.cs | 0 .../RoutingSandbox.csproj | 0 .../UseEndpointRoutingStartup.cs | 0 .../UseRouterStartup.cs | 0 .../wwwroot/full.render.js | 0 .../wwwroot/graph-ui.html | 0 .../wwwroot/viz.js | 0 8 files changed, 15 insertions(+), 13 deletions(-) rename samples/{RoutingSample.Web => RoutingSandbox}/Program.cs (100%) rename samples/{RoutingSample.Web => RoutingSandbox}/RoutingSandbox.csproj (100%) rename samples/{RoutingSample.Web => RoutingSandbox}/UseEndpointRoutingStartup.cs (100%) rename samples/{RoutingSample.Web => RoutingSandbox}/UseRouterStartup.cs (100%) rename samples/{RoutingSample.Web => RoutingSandbox}/wwwroot/full.render.js (100%) rename samples/{RoutingSample.Web => RoutingSandbox}/wwwroot/graph-ui.html (100%) rename samples/{RoutingSample.Web => RoutingSandbox}/wwwroot/viz.js (100%) diff --git a/Routing.sln b/Routing.sln index c6de0a91d5..e66b8e858f 100644 --- a/Routing.sln +++ b/Routing.sln @@ -19,8 +19,6 @@ Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Microsoft.AspNetCore.Routin EndProject Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Microsoft.AspNetCore.Routing.Tests", "test\Microsoft.AspNetCore.Routing.Tests\Microsoft.AspNetCore.Routing.Tests.csproj", "{636D79ED-7B32-487C-BDA5-D2A1AAA97371}" EndProject -Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "RoutingSandbox", "samples\RoutingSample.Web\RoutingSandbox.csproj", "{DB94E647-C73A-4F52-A126-AA7544CCF33B}" -EndProject Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Solution Items", "Solution Items", "{C430C499-382D-47BD-B351-CF8F89C08CD2}" ProjectSection(SolutionItems) = preProject build\dependencies.props = build\dependencies.props @@ -62,6 +60,8 @@ Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "WebSites", "WebSites", "{8E EndProject Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "RoutingWebSite", "test\WebSites\RoutingWebSite\RoutingWebSite.csproj", "{E91EC5EC-30A8-45EC-9B2F-67E2D6C39D74}" EndProject +Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "RoutingSandbox", "samples\RoutingSandbox\RoutingSandbox.csproj", "{89317AF8-1893-4F40-BCE2-7FB52E5A5033}" +EndProject Global GlobalSection(SolutionConfigurationPlatforms) = preSolution Debug|Any CPU = Debug|Any CPU @@ -92,16 +92,6 @@ Global {636D79ED-7B32-487C-BDA5-D2A1AAA97371}.Release|Mixed Platforms.ActiveCfg = Release|Any CPU {636D79ED-7B32-487C-BDA5-D2A1AAA97371}.Release|Mixed Platforms.Build.0 = Release|Any CPU {636D79ED-7B32-487C-BDA5-D2A1AAA97371}.Release|x86.ActiveCfg = Release|Any CPU - {DB94E647-C73A-4F52-A126-AA7544CCF33B}.Debug|Any CPU.ActiveCfg = Debug|Any CPU - {DB94E647-C73A-4F52-A126-AA7544CCF33B}.Debug|Any CPU.Build.0 = Debug|Any CPU - {DB94E647-C73A-4F52-A126-AA7544CCF33B}.Debug|Mixed Platforms.ActiveCfg = Debug|Any CPU - {DB94E647-C73A-4F52-A126-AA7544CCF33B}.Debug|Mixed Platforms.Build.0 = Debug|Any CPU - {DB94E647-C73A-4F52-A126-AA7544CCF33B}.Debug|x86.ActiveCfg = Debug|Any CPU - {DB94E647-C73A-4F52-A126-AA7544CCF33B}.Release|Any CPU.ActiveCfg = Release|Any CPU - {DB94E647-C73A-4F52-A126-AA7544CCF33B}.Release|Any CPU.Build.0 = Release|Any CPU - {DB94E647-C73A-4F52-A126-AA7544CCF33B}.Release|Mixed Platforms.ActiveCfg = Release|Any CPU - {DB94E647-C73A-4F52-A126-AA7544CCF33B}.Release|Mixed Platforms.Build.0 = Release|Any CPU - {DB94E647-C73A-4F52-A126-AA7544CCF33B}.Release|x86.ActiveCfg = Release|Any CPU {09C2933C-23AC-41B7-994D-E8A5184A629C}.Debug|Any CPU.ActiveCfg = Debug|Any CPU {09C2933C-23AC-41B7-994D-E8A5184A629C}.Debug|Any CPU.Build.0 = Debug|Any CPU {09C2933C-23AC-41B7-994D-E8A5184A629C}.Debug|Mixed Platforms.ActiveCfg = Debug|Any CPU @@ -198,6 +188,18 @@ Global {E91EC5EC-30A8-45EC-9B2F-67E2D6C39D74}.Release|Mixed Platforms.Build.0 = Release|Any CPU {E91EC5EC-30A8-45EC-9B2F-67E2D6C39D74}.Release|x86.ActiveCfg = Release|Any CPU {E91EC5EC-30A8-45EC-9B2F-67E2D6C39D74}.Release|x86.Build.0 = Release|Any CPU + {89317AF8-1893-4F40-BCE2-7FB52E5A5033}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {89317AF8-1893-4F40-BCE2-7FB52E5A5033}.Debug|Any CPU.Build.0 = Debug|Any CPU + {89317AF8-1893-4F40-BCE2-7FB52E5A5033}.Debug|Mixed Platforms.ActiveCfg = Debug|Any CPU + {89317AF8-1893-4F40-BCE2-7FB52E5A5033}.Debug|Mixed Platforms.Build.0 = Debug|Any CPU + {89317AF8-1893-4F40-BCE2-7FB52E5A5033}.Debug|x86.ActiveCfg = Debug|Any CPU + {89317AF8-1893-4F40-BCE2-7FB52E5A5033}.Debug|x86.Build.0 = Debug|Any CPU + {89317AF8-1893-4F40-BCE2-7FB52E5A5033}.Release|Any CPU.ActiveCfg = Release|Any CPU + {89317AF8-1893-4F40-BCE2-7FB52E5A5033}.Release|Any CPU.Build.0 = Release|Any CPU + {89317AF8-1893-4F40-BCE2-7FB52E5A5033}.Release|Mixed Platforms.ActiveCfg = Release|Any CPU + {89317AF8-1893-4F40-BCE2-7FB52E5A5033}.Release|Mixed Platforms.Build.0 = Release|Any CPU + {89317AF8-1893-4F40-BCE2-7FB52E5A5033}.Release|x86.ActiveCfg = Release|Any CPU + {89317AF8-1893-4F40-BCE2-7FB52E5A5033}.Release|x86.Build.0 = Release|Any CPU EndGlobalSection GlobalSection(SolutionProperties) = preSolution HideSolutionNode = FALSE @@ -205,7 +207,6 @@ Global GlobalSection(NestedProjects) = preSolution {1EE54D32-6CED-4206-ACF5-3DC1DD39D228} = {0E966C37-7334-4D96-AAF6-9F49FBD166E3} {636D79ED-7B32-487C-BDA5-D2A1AAA97371} = {95359B4B-4C85-4B44-A75B-0621905C4CF6} - {DB94E647-C73A-4F52-A126-AA7544CCF33B} = {C3ADD55B-B9C7-4061-8AD4-6A70D1AE3B2E} {09C2933C-23AC-41B7-994D-E8A5184A629C} = {95359B4B-4C85-4B44-A75B-0621905C4CF6} {ED253B01-24F1-43D1-AA0B-079391E105A9} = {0E966C37-7334-4D96-AAF6-9F49FBD166E3} {741B0B05-CE96-473B-B962-6B0A347DF79A} = {95359B4B-4C85-4B44-A75B-0621905C4CF6} @@ -215,6 +216,7 @@ Global {B8516771-E850-4724-BEC3-63FC00C2AE57} = {6824486A-3EFF-45D1-BEE8-8B137639C890} {8E5E51D4-6B03-4FC6-9F34-6E9FA24702BD} = {95359B4B-4C85-4B44-A75B-0621905C4CF6} {E91EC5EC-30A8-45EC-9B2F-67E2D6C39D74} = {8E5E51D4-6B03-4FC6-9F34-6E9FA24702BD} + {89317AF8-1893-4F40-BCE2-7FB52E5A5033} = {C3ADD55B-B9C7-4061-8AD4-6A70D1AE3B2E} EndGlobalSection GlobalSection(ExtensibilityGlobals) = postSolution SolutionGuid = {36C8D815-B7F1-479D-894B-E606FB8DECDA} diff --git a/samples/RoutingSample.Web/Program.cs b/samples/RoutingSandbox/Program.cs similarity index 100% rename from samples/RoutingSample.Web/Program.cs rename to samples/RoutingSandbox/Program.cs diff --git a/samples/RoutingSample.Web/RoutingSandbox.csproj b/samples/RoutingSandbox/RoutingSandbox.csproj similarity index 100% rename from samples/RoutingSample.Web/RoutingSandbox.csproj rename to samples/RoutingSandbox/RoutingSandbox.csproj diff --git a/samples/RoutingSample.Web/UseEndpointRoutingStartup.cs b/samples/RoutingSandbox/UseEndpointRoutingStartup.cs similarity index 100% rename from samples/RoutingSample.Web/UseEndpointRoutingStartup.cs rename to samples/RoutingSandbox/UseEndpointRoutingStartup.cs diff --git a/samples/RoutingSample.Web/UseRouterStartup.cs b/samples/RoutingSandbox/UseRouterStartup.cs similarity index 100% rename from samples/RoutingSample.Web/UseRouterStartup.cs rename to samples/RoutingSandbox/UseRouterStartup.cs diff --git a/samples/RoutingSample.Web/wwwroot/full.render.js b/samples/RoutingSandbox/wwwroot/full.render.js similarity index 100% rename from samples/RoutingSample.Web/wwwroot/full.render.js rename to samples/RoutingSandbox/wwwroot/full.render.js diff --git a/samples/RoutingSample.Web/wwwroot/graph-ui.html b/samples/RoutingSandbox/wwwroot/graph-ui.html similarity index 100% rename from samples/RoutingSample.Web/wwwroot/graph-ui.html rename to samples/RoutingSandbox/wwwroot/graph-ui.html diff --git a/samples/RoutingSample.Web/wwwroot/viz.js b/samples/RoutingSandbox/wwwroot/viz.js similarity index 100% rename from samples/RoutingSample.Web/wwwroot/viz.js rename to samples/RoutingSandbox/wwwroot/viz.js From d18558c3abd10327793eaeeab761ca4e3c577e90 Mon Sep 17 00:00:00 2001 From: Ryan Brandenburg Date: Wed, 21 Nov 2018 16:10:55 -0800 Subject: [PATCH 221/221] Reorganize source code in preparation to move into aspnet/AspNetCore Prior to reorganization, this source code was found in https://github.com/aspnet/Routing/tree/3d828221a19d91907c52c2f40928b019bee1ef92 --- .appveyor.yml | 17 -- .gitattributes | 52 ---- .travis.yml | 27 -- .vsts-pipelines/builds/ci-internal.yml | 13 - .vsts-pipelines/builds/ci-public.yml | 15 - CONTRIBUTING.md | 4 - LICENSE.txt | 201 -------------- NuGet.config | 7 - build.cmd | 2 - build.sh | 8 - korebuild-lock.txt | 2 - korebuild.json | 4 - run.cmd | 2 - run.ps1 | 209 -------------- run.sh | 256 ------------------ .gitignore => src/Routing/.gitignore | 0 .../Routing/Directory.Build.props | 0 .../Routing/Directory.Build.targets | 0 .../Routing/NuGetPackageVerifier.json | 0 README.md => src/Routing/README.md | 0 Routing.sln => src/Routing/Routing.sln | 0 .../Routing/Settings.StyleCop | 0 .../Routing/THIRD-PARTY-NOTICES | 0 .../Benchmarks/Benchmarks.csproj | 0 .../benchmarkapps}/Benchmarks/Program.cs | 0 .../Benchmarks/StartupUsingEndpointRouting.cs | 0 .../Benchmarks/StartupUsingRouter.cs | 0 .../benchmarkapps}/Benchmarks/benchmarks.json | 0 .../EndpointMetadataCollectionBenchmark.cs | 0 .../EndpointRoutingBenchmarkBase.cs | 0 .../LinkGenerationGithubBenchmark.cs | 0 ...LinkGenerationGithubBenchmark.generated.cs | 0 ...eRouteRouteValuesAddressSchemeBenchmark.cs | 0 .../SingleRouteWithConstraintsBenchmark.cs | 0 .../SingleRouteWithNoParametersBenchmark.cs | 0 .../SingleRouteWithParametersBenchmark.cs | 0 .../FastPathTokenizerBenchmarkBase.cs | 0 .../FastPathTokenizerEmptyBenchmark.cs | 0 .../FastPathTokenizerLargeBenchmark.cs | 0 .../FastPathTokenizerPlaintextBenchmark.cs | 0 .../FastPathTokenizerSmallBenchmark.cs | 0 .../JumpTableMultipleEntryBenchmark.cs | 0 .../Matching/JumpTableSingleEntryBenchmark.cs | 0 .../Matching/JumpTableZeroEntryBenchmark.cs | 0 .../Matching/MatcherAzureBenchmark.cs | 0 .../MatcherAzureBenchmarkBase.generated.cs | 0 .../Matching/MatcherBuilderAzureBenchmark.cs | 0 .../Matching/MatcherBuilderGithubBenchmark.cs | 0 .../MatcherBuilderMultipleEntryBenchmark.cs | 0 .../Matching/MatcherGithubBenchmark.cs | 0 .../MatcherGithubBenchmarkBase.generated.cs | 0 .../Matching/MatcherSingleEntryBenchmark.cs | 0 .../Matching/RouteEndpointAzureBenchmark.cs | 0 .../Matching/TrivialMatcher.cs | 0 .../Matching/TrivialMatcherBuilder.cs | 0 ...soft.AspNetCore.Routing.Performance.csproj | 0 .../Properties/AssemblyInfo.cs | 0 .../RouteValueDictionaryBenchmark.cs | 0 .../readme.md | 0 {build => src/Routing/build}/Key.snk | Bin .../Routing/build}/dependencies.props | 0 {build => src/Routing/build}/repo.props | 0 {build => src/Routing/build}/sources.props | 0 .../samples}/RoutingSandbox/Program.cs | 0 .../RoutingSandbox/RoutingSandbox.csproj | 0 .../UseEndpointRoutingStartup.cs | 0 .../RoutingSandbox/UseRouterStartup.cs | 0 .../RoutingSandbox/wwwroot/full.render.js | 0 .../RoutingSandbox/wwwroot/graph-ui.html | 0 .../samples}/RoutingSandbox/wwwroot/viz.js | 0 .../DecisionCriterion.cs | 0 .../DecisionCriterionValue.cs | 0 .../DecisionCriterionValueEqualityComparer.cs | 0 .../DecisionTreeBuilder.cs | 0 .../DecisionTreeNode.cs | 0 .../IClassifier.cs | 0 .../ItemDescriptor.cs | 0 src/{ => Routing/src}/Directory.Build.props | 0 .../Endpoint.cs | 0 .../EndpointMetadataCollection.cs | 0 .../IEndpointFeature.cs | 0 .../IOutboundParameterTransformer.cs | 0 .../IParameterPolicy.cs | 0 .../IRouteConstraint.cs | 0 .../IRouteHandler.cs | 0 .../IRouteValuesFeature.cs | 0 .../IRouter.cs | 0 .../IRoutingFeature.cs | 0 .../LinkGenerator.cs | 0 .../LinkOptions.cs | 0 ...oft.AspNetCore.Routing.Abstractions.csproj | 0 .../Properties/AssemblyInfo.cs | 0 .../Properties/Resources.Designer.cs | 0 .../Resources.resx | 0 .../RouteContext.cs | 0 .../RouteData.cs | 0 .../RouteDirection.cs | 0 .../RouteValueDictionary.cs | 0 .../RoutingHttpContextExtensions.cs | 0 .../VirtualPathContext.cs | 0 .../VirtualPathData.cs | 0 .../baseline.netcore.json | 0 .../Builder/RoutingBuilderExtensions.cs | 0 .../CompositeEndpointDataSource.cs | 0 .../Constraints/AlphaRouteConstraint.cs | 0 .../Constraints/BoolRouteConstraint.cs | 0 .../Constraints/CompositeRouteConstraint.cs | 0 .../Constraints/DateTimeRouteConstraint.cs | 0 .../Constraints/DecimalRouteConstraint.cs | 0 .../Constraints/DoubleRouteConstraint.cs | 0 .../Constraints/FloatRouteConstraint.cs | 0 .../Constraints/GuidRouteConstraint.cs | 0 .../Constraints/HttpMethodRouteConstraint.cs | 0 .../Constraints/IntRouteConstraint.cs | 0 .../Constraints/LengthRouteConstraint.cs | 0 .../Constraints/LongRouteConstraint.cs | 0 .../Constraints/MaxLengthRouteConstraint.cs | 0 .../Constraints/MaxRouteConstraint.cs | 0 .../Constraints/MinLengthRouteConstraint.cs | 0 .../Constraints/MinRouteConstraint.cs | 0 .../Constraints/NullRouteConstraint.cs | 0 .../Constraints/OptionalRouteConstraint.cs | 0 .../Constraints/RangeRouteConstraint.cs | 0 .../Constraints/RegexInlineRouteConstraint.cs | 0 .../Constraints/RegexRouteConstraint.cs | 0 .../Constraints/RequiredRouteConstraint.cs | 0 .../Constraints/StringRouteConstraint.cs | 0 .../DataSourceDependentCache.cs | 0 .../DataTokensMetadata.cs | 0 .../DefaultEndpointDataSource.cs | 0 .../DefaultInlineConstraintResolver.cs | 0 .../DefaultLinkGenerator.cs | 0 .../DefaultParameterPolicyFactory.cs | 0 .../ConfigureEndpointOptions.cs | 0 .../RoutingServiceCollectionExtensions.cs | 0 .../EndpointDataSource.cs | 0 .../EndpointMiddleware.cs | 0 .../EndpointNameAddressScheme.cs | 0 .../EndpointNameMetadata.cs | 0 .../EndpointOptions.cs | 0 .../EndpointRoutingMiddleware.cs | 0 .../EndpointSelectorContext.cs | 0 .../HttpMethodMetadata.cs | 0 .../IDataTokenMetadata.cs | 0 .../IEndpointAddressScheme.cs | 0 .../IEndpointNameMetadata.cs | 0 .../IHttpMethodMetadata.cs | 0 .../IInlineConstraintResolver.cs | 0 .../INamedRouter.cs | 0 .../IRouteBuilder.cs | 0 .../IRouteCollection.cs | 0 .../IRouteValuesAddressMetadata.cs | 0 .../ISuppressLinkGenerationMetadata.cs | 0 .../ISuppressMatchingMetadata.cs | 0 .../InlineRouteParameterParser.cs | 0 .../Internal/BufferValue.cs | 0 .../Internal/DfaGraphWriter.cs | 0 ...ointRoutingApplicationBuilderExtensions.cs | 0 .../Internal/LinkGenerationDecisionTree.cs | 0 .../Internal/NullRouter.cs | 0 .../Internal/OutboundMatchResult.cs | 0 .../Internal/ParameterPolicyActivator.cs | 0 .../Internal/PathTokenizer.cs | 0 .../Internal/RoutingMarkerService.cs | 0 .../Internal/SegmentState.cs | 0 .../UriBuilderContextPooledObjectPolicy.cs | 0 .../Internal/UriBuildingContext.cs | 0 ...kGeneratorEndpointNameAddressExtensions.cs | 0 ...nkGeneratorRouteValuesAddressExtensions.cs | 0 .../RouteConstraintMatcherExtensions.cs | 0 .../RouterMiddlewareLoggerExtensions.cs | 0 .../Logging/TreeRouterLoggerExtensions.cs | 0 .../MapRouteRouteBuilderExtensions.cs | 0 .../Matching/AmbiguousMatchException.cs | 0 .../Matching/Ascii.cs | 0 .../Matching/Candidate.cs | 0 .../Matching/CandidateSet.cs | 0 .../Matching/CandidateState.cs | 0 .../Matching/DataSourceDependentMatcher.cs | 0 .../Matching/DefaultEndpointSelector.cs | 0 .../Matching/DfaMatcher.cs | 0 .../Matching/DfaMatcherBuilder.cs | 0 .../Matching/DfaMatcherFactory.cs | 0 .../Matching/DfaNode.cs | 0 .../Matching/DfaState.cs | 0 .../Matching/DictionaryJumpTable.cs | 0 .../Matching/EndpointComparer.cs | 0 .../Matching/EndpointMetadataComparer.cs | 0 .../Matching/EndpointSelector.cs | 0 .../Matching/FastPathTokenizer.cs | 0 .../Matching/HttpMethodMatcherPolicy.cs | 0 .../Matching/IEndpointComparerPolicy.cs | 0 .../Matching/IEndpointSelectorPolicy.cs | 0 .../Matching/ILEmitTrieFactory.cs | 0 .../Matching/ILEmitTrieJumpTable.cs | 0 .../Matching/INodeBuilderPolicy.cs | 0 .../Matching/JumpTable.cs | 0 .../Matching/JumpTableBuilder.cs | 0 .../Matching/LinearSearchJumpTable.cs | 0 .../Matching/Matcher.cs | 0 .../Matching/MatcherBuilder.cs | 0 .../Matching/MatcherFactory.cs | 0 .../Matching/MatcherPolicy.cs | 0 .../Matching/PathSegment.cs | 0 .../Matching/PolicyJumpTable.cs | 0 .../Matching/PolicyJumpTableEdge.cs | 0 .../Matching/PolicyNodeEdge.cs | 0 .../Matching/SingleEntryAsciiJumpTable.cs | 0 .../Matching/SingleEntryJumpTable.cs | 0 .../Matching/ZeroEntryJumpTable.cs | 0 .../Microsoft.AspNetCore.Routing.csproj | 0 .../ParameterPolicyFactory.cs | 0 .../Patterns/RouteParameterParser.cs | 0 .../Patterns/RoutePattern.cs | 0 .../Patterns/RoutePatternException.cs | 0 .../Patterns/RoutePatternFactory.cs | 0 .../Patterns/RoutePatternLiteralPart.cs | 0 .../Patterns/RoutePatternMatcher.cs | 0 .../Patterns/RoutePatternParameterKind.cs | 0 .../Patterns/RoutePatternParameterPart.cs | 0 .../RoutePatternParameterPolicyReference.cs | 0 .../Patterns/RoutePatternParser.cs | 0 .../Patterns/RoutePatternPart.cs | 0 .../Patterns/RoutePatternPartKind.cs | 0 .../Patterns/RoutePatternPathSegment.cs | 0 .../Patterns/RoutePatternSeparatorPart.cs | 0 .../Properties/AssemblyInfo.cs | 0 .../Properties/Resources.Designer.cs | 0 .../RequestDelegateRouteBuilderExtensions.cs | 0 .../Resources.resx | 0 .../Microsoft.AspNetCore.Routing/Route.cs | 0 .../Microsoft.AspNetCore.Routing/RouteBase.cs | 0 .../RouteBuilder.cs | 0 .../RouteCollection.cs | 0 .../RouteConstraintBuilder.cs | 0 .../RouteConstraintMatcher.cs | 0 .../RouteCreationException.cs | 0 .../RouteEndpoint.cs | 0 .../RouteHandler.cs | 0 .../RouteOptions.cs | 0 .../RouteValueEqualityComparer.cs | 0 .../RouteValuesAddress.cs | 0 .../RouteValuesAddressMetadata.cs | 0 .../RouteValuesAddressScheme.cs | 0 .../RouterMiddleware.cs | 0 .../RoutingFeature.cs | 0 .../SuppressLinkGenerationMetadata.cs | 0 .../SuppressMatchingMetadata.cs | 0 .../Template/InlineConstraint.cs | 0 .../Template/RoutePrecedence.cs | 0 .../Template/RouteTemplate.cs | 0 .../Template/TemplateBinder.cs | 0 .../Template/TemplateMatcher.cs | 0 .../Template/TemplateParser.cs | 0 .../Template/TemplatePart.cs | 0 .../Template/TemplateSegment.cs | 0 .../Template/TemplateValuesResult.cs | 0 .../Tree/InboundMatch.cs | 0 .../Tree/InboundRouteEntry.cs | 0 .../Tree/OutboundMatch.cs | 0 .../Tree/OutboundRouteEntry.cs | 0 .../Tree/TreeEnumerator.cs | 0 .../Tree/TreeRouteBuilder.cs | 0 .../Tree/TreeRouter.cs | 0 .../Tree/UrlMatchingNode.cs | 0 .../Tree/UrlMatchingTree.cs | 0 .../baseline.netcore.json | 0 .../Routing/test}/Directory.Build.props | 0 .../EndpointMetadataCollectionTests.cs | 0 ...Core.Mvc.Routing.Abstractions.Tests.csproj | 0 .../RouteDataTest.cs | 0 .../RouteValueDictionaryTests.cs | 0 .../VirtualPathDataTests.cs | 0 .../DecisionTreeBuilderTest.cs | 0 ....Routing.DecisionTree.Sources.Tests.csproj | 0 .../EndpointRoutingBenchmarkTest.cs | 0 .../Benchmarks/RouterBenchmarkTest.cs | 0 .../EndpointRoutingSampleTest.cs | 0 ....AspNetCore.Routing.FunctionalTests.csproj | 0 .../RouterSampleTest.cs | 0 .../RoutingTestFixture.cs | 0 .../WebHostBuilderExtensionsTest.cs | 0 .../EndpointRoutingBuilderExtensionsTest.cs | 0 .../Builder/RoutingBuilderExtensionsTest.cs | 0 .../CompositeEndpointDataSourceTest.cs | 0 .../ConstraintMatcherTest.cs | 0 .../Constraints/AlphaRouteConstraintTests.cs | 0 .../Constraints/BoolRouteConstraintTests.cs | 0 .../CompositeRouteConstraintTests.cs | 0 .../Constraints/ConstraintsTestHelper.cs | 0 .../DateTimeRouteConstraintTests.cs | 0 .../DecimalRouteConstraintTests.cs | 0 .../Constraints/DoubleRouteConstraintTests.cs | 0 .../Constraints/FloatRouteConstraintTests.cs | 0 .../Constraints/GuidRouteConstraintTests.cs | 0 .../HttpMethodRouteConstraintTests.cs | 0 .../Constraints/IntRouteConstraintsTests.cs | 0 .../Constraints/LengthRouteConstraintTests.cs | 0 .../Constraints/LongRouteConstraintTests.cs | 0 .../MaxLengthRouteConstraintTests.cs | 0 .../Constraints/MaxRouteConstraintTests.cs | 0 .../MinLengthRouteConstraintTests.cs | 0 .../Constraints/MinRouteConstraintTests.cs | 0 .../Constraints/RangeRouteConstraintTests.cs | 0 .../RegexInlineRouteConstraintTests.cs | 0 .../Constraints/RegexRouteConstraintTests.cs | 0 .../RequiredRouteConstraintTests.cs | 0 .../Constraints/StringRouteConstraintTest.cs | 0 .../DataSourceDependentCacheTest.cs | 0 .../DefaultEndpointDataSourceTests.cs | 0 .../DefaultInlineConstraintResolverTest.cs | 0 ...DefaultLinkGeneratorProcessTemplateTest.cs | 0 .../DefaultLinkGeneratorTest.cs | 0 .../DefaultParameterPolicyFactoryTest.cs | 0 .../EndpointFactory.cs | 0 .../EndpointMiddlewareTest.cs | 0 .../EndpointNameAddressSchemeTest.cs | 0 .../EndpointRoutingMiddlewareTest.cs | 0 .../EndpointSelectorContextTest.cs | 0 .../InlineRouteParameterParserTests.cs | 0 .../Internal/DfaGraphWriterTest.cs | 0 .../LinkGenerationDecisionTreeTest.cs | 0 .../Internal/PathTokenizerTest.cs | 0 .../Internal/UriBuildingContextTest.cs | 0 ...LinkGeneratorEndpointNameExtensionsTest.cs | 0 ...neratorRouteValuesAddressExtensionsTest.cs | 0 .../LinkGeneratorTestBase.cs | 0 .../Logging/WriteContext.cs | 0 .../Matching/AsciiTest.cs | 0 .../Matching/BarebonesMatcher.cs | 0 .../Matching/BarebonesMatcherBuilder.cs | 0 .../BarebonesMatcherConformanceTest.cs | 0 .../Matching/CandidateSetTest.cs | 0 .../DataSourceDependentMatcherTest.cs | 0 .../Matching/DefaultEndpointSelectorTest.cs | 0 .../Matching/DfaMatcherBuilderTest.cs | 0 .../Matching/DfaMatcherConformanceTest.cs | 0 .../Matching/DfaMatcherTest.cs | 0 .../Matching/DictionaryJumpTableTest.cs | 0 .../Matching/EndpointMetadataComparerTest.cs | 0 .../Matching/FastPathTokenizerTest.cs | 0 .../FullFeaturedMatcherConformanceTest.cs | 0 .../HttpMethodMatcherPolicyIntegrationTest.cs | 0 .../Matching/HttpMethodMatcherPolicyTest.cs | 0 .../Matching/ILEmitTrieFactoryTest.cs | 0 .../Matching/ILEmitTrieJumpTableTest.cs | 0 .../Matching/LinearSearchJumpTableTest.cs | 0 .../Matching/MatcherAssert.cs | 0 ...MatcherConformanceTest.MultipleEndpoint.cs | 0 .../MatcherConformanceTest.SingleEndpoint.cs | 0 .../Matching/MatcherConformanceTest.cs | 0 .../Matching/MultipleEntryJumpTableTest.cs | 0 .../NonVectorizedILEmitTrieJumpTableTest.cs | 0 .../Matching/RouteEndpointComparerTest.cs | 0 .../Matching/RouteMatcher.cs | 0 .../Matching/RouteMatcherBuilder.cs | 0 .../Matching/RouteMatcherConformanceTest.cs | 0 .../Matching/SingleEntryAsciiJumpTableTest.cs | 0 .../Matching/SingleEntryJumpTableTest.cs | 0 .../Matching/SingleEntryJumpTableTestBase.cs | 0 .../Matching/TreeRouterMatcher.cs | 0 .../Matching/TreeRouterMatcherBuilder.cs | 0 .../TreeRouterMatcherConformanceTest.cs | 0 .../VectorizedILEmitTrieJumpTableTest.cs | 0 .../Matching/ZeroEntryJumpTableTest.cs | 0 .../Microsoft.AspNetCore.Routing.Tests.csproj | 0 .../InlineRouteParameterParserTest.cs | 0 .../Patterns/RoutePatternFactoryTest.cs | 0 .../Patterns/RoutePatternMatcherTest.cs | 0 .../Patterns/RoutePatternParserTest.cs | 0 ...questDelegateRouteBuilderExtensionsTest.cs | 0 .../RouteBuilderTest.cs | 0 .../RouteCollectionTest.cs | 0 .../RouteConstraintBuilderTest.cs | 0 .../RouteOptionsTests.cs | 0 .../RouteTest.cs | 0 .../RouteValueEqualityComparerTest.cs | 0 .../RouteValuesAddressMetadataTests.cs | 0 .../RouteValuesAddressSchemeTest.cs | 0 .../RouterMiddlewareTest.cs | 0 .../Template/RoutePrecedenceTests.cs | 0 .../Template/TemplateBinderTests.cs | 0 .../Template/TemplateMatcherTests.cs | 0 .../Template/TemplateParserTests.cs | 0 .../Template/TemplateSegmentTest.cs | 0 .../TemplateParserDefaultValuesTests.cs | 0 .../TestConstants.cs | 0 .../TestObjects/CapturingConstraint.cs | 0 .../TestObjects/DynamicEndpointDataSource.cs | 0 .../SlugifyParameterTransformer.cs | 0 .../TestObjects/TestMatcher.cs | 0 .../TestObjects/TestMatcherFactory.cs | 0 .../TestObjects/TestServiceProvider.cs | 0 .../Tree/TreeRouteBuilderTest.cs | 0 .../Tree/TreeRouterTest.cs | 0 .../test}/WebSites/Directory.Build.props | 0 .../EndsWithStringRouteConstraint.cs | 0 .../test}/WebSites/RoutingWebSite/Program.cs | 0 .../RoutingWebSite/RoutingWebSite.csproj | 0 .../UseEndpointRoutingStartup.cs | 0 .../RoutingWebSite/UseRouterStartup.cs | 0 .../Routing/tools}/Swaggatherer/Program.cs | 0 .../Routing/tools}/Swaggatherer/README.md | 0 .../Routing/tools}/Swaggatherer/RouteEntry.cs | 0 .../tools}/Swaggatherer/Swaggatherer.csproj | 0 .../Swaggatherer/SwaggathererApplication.cs | 0 .../Routing/tools}/Swaggatherer/Template.cs | 0 version.props => src/Routing/version.props | 0 408 files changed, 819 deletions(-) delete mode 100644 .appveyor.yml delete mode 100644 .gitattributes delete mode 100644 .travis.yml delete mode 100644 .vsts-pipelines/builds/ci-internal.yml delete mode 100644 .vsts-pipelines/builds/ci-public.yml delete mode 100644 CONTRIBUTING.md delete mode 100644 LICENSE.txt delete mode 100644 NuGet.config delete mode 100644 build.cmd delete mode 100755 build.sh delete mode 100644 korebuild-lock.txt delete mode 100644 korebuild.json delete mode 100644 run.cmd delete mode 100644 run.ps1 delete mode 100755 run.sh rename .gitignore => src/Routing/.gitignore (100%) rename Directory.Build.props => src/Routing/Directory.Build.props (100%) rename Directory.Build.targets => src/Routing/Directory.Build.targets (100%) rename NuGetPackageVerifier.json => src/Routing/NuGetPackageVerifier.json (100%) rename README.md => src/Routing/README.md (100%) rename Routing.sln => src/Routing/Routing.sln (100%) rename Settings.StyleCop => src/Routing/Settings.StyleCop (100%) rename THIRD-PARTY-NOTICES => src/Routing/THIRD-PARTY-NOTICES (100%) rename {benchmarkapps => src/Routing/benchmarkapps}/Benchmarks/Benchmarks.csproj (100%) rename {benchmarkapps => src/Routing/benchmarkapps}/Benchmarks/Program.cs (100%) rename {benchmarkapps => src/Routing/benchmarkapps}/Benchmarks/StartupUsingEndpointRouting.cs (100%) rename {benchmarkapps => src/Routing/benchmarkapps}/Benchmarks/StartupUsingRouter.cs (100%) rename {benchmarkapps => src/Routing/benchmarkapps}/Benchmarks/benchmarks.json (100%) rename {benchmarks => src/Routing/benchmarks}/Microsoft.AspNetCore.Routing.Performance/EndpointMetadataCollectionBenchmark.cs (100%) rename {benchmarks => src/Routing/benchmarks}/Microsoft.AspNetCore.Routing.Performance/EndpointRoutingBenchmarkBase.cs (100%) rename {benchmarks => src/Routing/benchmarks}/Microsoft.AspNetCore.Routing.Performance/LinkGeneration/LinkGenerationGithubBenchmark.cs (100%) rename {benchmarks => src/Routing/benchmarks}/Microsoft.AspNetCore.Routing.Performance/LinkGeneration/LinkGenerationGithubBenchmark.generated.cs (100%) rename {benchmarks => src/Routing/benchmarks}/Microsoft.AspNetCore.Routing.Performance/LinkGeneration/SingleRouteRouteValuesAddressSchemeBenchmark.cs (100%) rename {benchmarks => src/Routing/benchmarks}/Microsoft.AspNetCore.Routing.Performance/LinkGeneration/SingleRouteWithConstraintsBenchmark.cs (100%) rename {benchmarks => src/Routing/benchmarks}/Microsoft.AspNetCore.Routing.Performance/LinkGeneration/SingleRouteWithNoParametersBenchmark.cs (100%) rename {benchmarks => src/Routing/benchmarks}/Microsoft.AspNetCore.Routing.Performance/LinkGeneration/SingleRouteWithParametersBenchmark.cs (100%) rename {benchmarks => src/Routing/benchmarks}/Microsoft.AspNetCore.Routing.Performance/Matching/FastPathTokenizerBenchmarkBase.cs (100%) rename {benchmarks => src/Routing/benchmarks}/Microsoft.AspNetCore.Routing.Performance/Matching/FastPathTokenizerEmptyBenchmark.cs (100%) rename {benchmarks => src/Routing/benchmarks}/Microsoft.AspNetCore.Routing.Performance/Matching/FastPathTokenizerLargeBenchmark.cs (100%) rename {benchmarks => src/Routing/benchmarks}/Microsoft.AspNetCore.Routing.Performance/Matching/FastPathTokenizerPlaintextBenchmark.cs (100%) rename {benchmarks => src/Routing/benchmarks}/Microsoft.AspNetCore.Routing.Performance/Matching/FastPathTokenizerSmallBenchmark.cs (100%) rename {benchmarks => src/Routing/benchmarks}/Microsoft.AspNetCore.Routing.Performance/Matching/JumpTableMultipleEntryBenchmark.cs (100%) rename {benchmarks => src/Routing/benchmarks}/Microsoft.AspNetCore.Routing.Performance/Matching/JumpTableSingleEntryBenchmark.cs (100%) rename {benchmarks => src/Routing/benchmarks}/Microsoft.AspNetCore.Routing.Performance/Matching/JumpTableZeroEntryBenchmark.cs (100%) rename {benchmarks => src/Routing/benchmarks}/Microsoft.AspNetCore.Routing.Performance/Matching/MatcherAzureBenchmark.cs (100%) rename {benchmarks => src/Routing/benchmarks}/Microsoft.AspNetCore.Routing.Performance/Matching/MatcherAzureBenchmarkBase.generated.cs (100%) rename {benchmarks => src/Routing/benchmarks}/Microsoft.AspNetCore.Routing.Performance/Matching/MatcherBuilderAzureBenchmark.cs (100%) rename {benchmarks => src/Routing/benchmarks}/Microsoft.AspNetCore.Routing.Performance/Matching/MatcherBuilderGithubBenchmark.cs (100%) rename {benchmarks => src/Routing/benchmarks}/Microsoft.AspNetCore.Routing.Performance/Matching/MatcherBuilderMultipleEntryBenchmark.cs (100%) rename {benchmarks => src/Routing/benchmarks}/Microsoft.AspNetCore.Routing.Performance/Matching/MatcherGithubBenchmark.cs (100%) rename {benchmarks => src/Routing/benchmarks}/Microsoft.AspNetCore.Routing.Performance/Matching/MatcherGithubBenchmarkBase.generated.cs (100%) rename {benchmarks => src/Routing/benchmarks}/Microsoft.AspNetCore.Routing.Performance/Matching/MatcherSingleEntryBenchmark.cs (100%) rename {benchmarks => src/Routing/benchmarks}/Microsoft.AspNetCore.Routing.Performance/Matching/RouteEndpointAzureBenchmark.cs (100%) rename {benchmarks => src/Routing/benchmarks}/Microsoft.AspNetCore.Routing.Performance/Matching/TrivialMatcher.cs (100%) rename {benchmarks => src/Routing/benchmarks}/Microsoft.AspNetCore.Routing.Performance/Matching/TrivialMatcherBuilder.cs (100%) rename {benchmarks => src/Routing/benchmarks}/Microsoft.AspNetCore.Routing.Performance/Microsoft.AspNetCore.Routing.Performance.csproj (100%) rename {benchmarks => src/Routing/benchmarks}/Microsoft.AspNetCore.Routing.Performance/Properties/AssemblyInfo.cs (100%) rename {benchmarks => src/Routing/benchmarks}/Microsoft.AspNetCore.Routing.Performance/RouteValueDictionaryBenchmark.cs (100%) rename {benchmarks => src/Routing/benchmarks}/Microsoft.AspNetCore.Routing.Performance/readme.md (100%) rename {build => src/Routing/build}/Key.snk (100%) rename {build => src/Routing/build}/dependencies.props (100%) rename {build => src/Routing/build}/repo.props (100%) rename {build => src/Routing/build}/sources.props (100%) rename {samples => src/Routing/samples}/RoutingSandbox/Program.cs (100%) rename {samples => src/Routing/samples}/RoutingSandbox/RoutingSandbox.csproj (100%) rename {samples => src/Routing/samples}/RoutingSandbox/UseEndpointRoutingStartup.cs (100%) rename {samples => src/Routing/samples}/RoutingSandbox/UseRouterStartup.cs (100%) rename {samples => src/Routing/samples}/RoutingSandbox/wwwroot/full.render.js (100%) rename {samples => src/Routing/samples}/RoutingSandbox/wwwroot/graph-ui.html (100%) rename {samples => src/Routing/samples}/RoutingSandbox/wwwroot/viz.js (100%) rename {shared => src/Routing/shared}/Microsoft.AspNetCore.Routing.DecisionTree.Sources/DecisionCriterion.cs (100%) rename {shared => src/Routing/shared}/Microsoft.AspNetCore.Routing.DecisionTree.Sources/DecisionCriterionValue.cs (100%) rename {shared => src/Routing/shared}/Microsoft.AspNetCore.Routing.DecisionTree.Sources/DecisionCriterionValueEqualityComparer.cs (100%) rename {shared => src/Routing/shared}/Microsoft.AspNetCore.Routing.DecisionTree.Sources/DecisionTreeBuilder.cs (100%) rename {shared => src/Routing/shared}/Microsoft.AspNetCore.Routing.DecisionTree.Sources/DecisionTreeNode.cs (100%) rename {shared => src/Routing/shared}/Microsoft.AspNetCore.Routing.DecisionTree.Sources/IClassifier.cs (100%) rename {shared => src/Routing/shared}/Microsoft.AspNetCore.Routing.DecisionTree.Sources/ItemDescriptor.cs (100%) rename src/{ => Routing/src}/Directory.Build.props (100%) rename src/{ => Routing/src}/Microsoft.AspNetCore.Routing.Abstractions/Endpoint.cs (100%) rename src/{ => Routing/src}/Microsoft.AspNetCore.Routing.Abstractions/EndpointMetadataCollection.cs (100%) rename src/{ => Routing/src}/Microsoft.AspNetCore.Routing.Abstractions/IEndpointFeature.cs (100%) rename src/{ => Routing/src}/Microsoft.AspNetCore.Routing.Abstractions/IOutboundParameterTransformer.cs (100%) rename src/{ => Routing/src}/Microsoft.AspNetCore.Routing.Abstractions/IParameterPolicy.cs (100%) rename src/{ => Routing/src}/Microsoft.AspNetCore.Routing.Abstractions/IRouteConstraint.cs (100%) rename src/{ => Routing/src}/Microsoft.AspNetCore.Routing.Abstractions/IRouteHandler.cs (100%) rename src/{ => Routing/src}/Microsoft.AspNetCore.Routing.Abstractions/IRouteValuesFeature.cs (100%) rename src/{ => Routing/src}/Microsoft.AspNetCore.Routing.Abstractions/IRouter.cs (100%) rename src/{ => Routing/src}/Microsoft.AspNetCore.Routing.Abstractions/IRoutingFeature.cs (100%) rename src/{ => Routing/src}/Microsoft.AspNetCore.Routing.Abstractions/LinkGenerator.cs (100%) rename src/{ => Routing/src}/Microsoft.AspNetCore.Routing.Abstractions/LinkOptions.cs (100%) rename src/{ => Routing/src}/Microsoft.AspNetCore.Routing.Abstractions/Microsoft.AspNetCore.Routing.Abstractions.csproj (100%) rename src/{ => Routing/src}/Microsoft.AspNetCore.Routing.Abstractions/Properties/AssemblyInfo.cs (100%) rename src/{ => Routing/src}/Microsoft.AspNetCore.Routing.Abstractions/Properties/Resources.Designer.cs (100%) rename src/{ => Routing/src}/Microsoft.AspNetCore.Routing.Abstractions/Resources.resx (100%) rename src/{ => Routing/src}/Microsoft.AspNetCore.Routing.Abstractions/RouteContext.cs (100%) rename src/{ => Routing/src}/Microsoft.AspNetCore.Routing.Abstractions/RouteData.cs (100%) rename src/{ => Routing/src}/Microsoft.AspNetCore.Routing.Abstractions/RouteDirection.cs (100%) rename src/{ => Routing/src}/Microsoft.AspNetCore.Routing.Abstractions/RouteValueDictionary.cs (100%) rename src/{ => Routing/src}/Microsoft.AspNetCore.Routing.Abstractions/RoutingHttpContextExtensions.cs (100%) rename src/{ => Routing/src}/Microsoft.AspNetCore.Routing.Abstractions/VirtualPathContext.cs (100%) rename src/{ => Routing/src}/Microsoft.AspNetCore.Routing.Abstractions/VirtualPathData.cs (100%) rename src/{ => Routing/src}/Microsoft.AspNetCore.Routing.Abstractions/baseline.netcore.json (100%) rename src/{ => Routing/src}/Microsoft.AspNetCore.Routing/Builder/RoutingBuilderExtensions.cs (100%) rename src/{ => Routing/src}/Microsoft.AspNetCore.Routing/CompositeEndpointDataSource.cs (100%) rename src/{ => Routing/src}/Microsoft.AspNetCore.Routing/Constraints/AlphaRouteConstraint.cs (100%) rename src/{ => Routing/src}/Microsoft.AspNetCore.Routing/Constraints/BoolRouteConstraint.cs (100%) rename src/{ => Routing/src}/Microsoft.AspNetCore.Routing/Constraints/CompositeRouteConstraint.cs (100%) rename src/{ => Routing/src}/Microsoft.AspNetCore.Routing/Constraints/DateTimeRouteConstraint.cs (100%) rename src/{ => Routing/src}/Microsoft.AspNetCore.Routing/Constraints/DecimalRouteConstraint.cs (100%) rename src/{ => Routing/src}/Microsoft.AspNetCore.Routing/Constraints/DoubleRouteConstraint.cs (100%) rename src/{ => Routing/src}/Microsoft.AspNetCore.Routing/Constraints/FloatRouteConstraint.cs (100%) rename src/{ => Routing/src}/Microsoft.AspNetCore.Routing/Constraints/GuidRouteConstraint.cs (100%) rename src/{ => Routing/src}/Microsoft.AspNetCore.Routing/Constraints/HttpMethodRouteConstraint.cs (100%) rename src/{ => Routing/src}/Microsoft.AspNetCore.Routing/Constraints/IntRouteConstraint.cs (100%) rename src/{ => Routing/src}/Microsoft.AspNetCore.Routing/Constraints/LengthRouteConstraint.cs (100%) rename src/{ => Routing/src}/Microsoft.AspNetCore.Routing/Constraints/LongRouteConstraint.cs (100%) rename src/{ => Routing/src}/Microsoft.AspNetCore.Routing/Constraints/MaxLengthRouteConstraint.cs (100%) rename src/{ => Routing/src}/Microsoft.AspNetCore.Routing/Constraints/MaxRouteConstraint.cs (100%) rename src/{ => Routing/src}/Microsoft.AspNetCore.Routing/Constraints/MinLengthRouteConstraint.cs (100%) rename src/{ => Routing/src}/Microsoft.AspNetCore.Routing/Constraints/MinRouteConstraint.cs (100%) rename src/{ => Routing/src}/Microsoft.AspNetCore.Routing/Constraints/NullRouteConstraint.cs (100%) rename src/{ => Routing/src}/Microsoft.AspNetCore.Routing/Constraints/OptionalRouteConstraint.cs (100%) rename src/{ => Routing/src}/Microsoft.AspNetCore.Routing/Constraints/RangeRouteConstraint.cs (100%) rename src/{ => Routing/src}/Microsoft.AspNetCore.Routing/Constraints/RegexInlineRouteConstraint.cs (100%) rename src/{ => Routing/src}/Microsoft.AspNetCore.Routing/Constraints/RegexRouteConstraint.cs (100%) rename src/{ => Routing/src}/Microsoft.AspNetCore.Routing/Constraints/RequiredRouteConstraint.cs (100%) rename src/{ => Routing/src}/Microsoft.AspNetCore.Routing/Constraints/StringRouteConstraint.cs (100%) rename src/{ => Routing/src}/Microsoft.AspNetCore.Routing/DataSourceDependentCache.cs (100%) rename src/{ => Routing/src}/Microsoft.AspNetCore.Routing/DataTokensMetadata.cs (100%) rename src/{ => Routing/src}/Microsoft.AspNetCore.Routing/DefaultEndpointDataSource.cs (100%) rename src/{ => Routing/src}/Microsoft.AspNetCore.Routing/DefaultInlineConstraintResolver.cs (100%) rename src/{ => Routing/src}/Microsoft.AspNetCore.Routing/DefaultLinkGenerator.cs (100%) rename src/{ => Routing/src}/Microsoft.AspNetCore.Routing/DefaultParameterPolicyFactory.cs (100%) rename src/{ => Routing/src}/Microsoft.AspNetCore.Routing/DependencyInjection/ConfigureEndpointOptions.cs (100%) rename src/{ => Routing/src}/Microsoft.AspNetCore.Routing/DependencyInjection/RoutingServiceCollectionExtensions.cs (100%) rename src/{ => Routing/src}/Microsoft.AspNetCore.Routing/EndpointDataSource.cs (100%) rename src/{ => Routing/src}/Microsoft.AspNetCore.Routing/EndpointMiddleware.cs (100%) rename src/{ => Routing/src}/Microsoft.AspNetCore.Routing/EndpointNameAddressScheme.cs (100%) rename src/{ => Routing/src}/Microsoft.AspNetCore.Routing/EndpointNameMetadata.cs (100%) rename src/{ => Routing/src}/Microsoft.AspNetCore.Routing/EndpointOptions.cs (100%) rename src/{ => Routing/src}/Microsoft.AspNetCore.Routing/EndpointRoutingMiddleware.cs (100%) rename src/{ => Routing/src}/Microsoft.AspNetCore.Routing/EndpointSelectorContext.cs (100%) rename src/{ => Routing/src}/Microsoft.AspNetCore.Routing/HttpMethodMetadata.cs (100%) rename src/{ => Routing/src}/Microsoft.AspNetCore.Routing/IDataTokenMetadata.cs (100%) rename src/{ => Routing/src}/Microsoft.AspNetCore.Routing/IEndpointAddressScheme.cs (100%) rename src/{ => Routing/src}/Microsoft.AspNetCore.Routing/IEndpointNameMetadata.cs (100%) rename src/{ => Routing/src}/Microsoft.AspNetCore.Routing/IHttpMethodMetadata.cs (100%) rename src/{ => Routing/src}/Microsoft.AspNetCore.Routing/IInlineConstraintResolver.cs (100%) rename src/{ => Routing/src}/Microsoft.AspNetCore.Routing/INamedRouter.cs (100%) rename src/{ => Routing/src}/Microsoft.AspNetCore.Routing/IRouteBuilder.cs (100%) rename src/{ => Routing/src}/Microsoft.AspNetCore.Routing/IRouteCollection.cs (100%) rename src/{ => Routing/src}/Microsoft.AspNetCore.Routing/IRouteValuesAddressMetadata.cs (100%) rename src/{ => Routing/src}/Microsoft.AspNetCore.Routing/ISuppressLinkGenerationMetadata.cs (100%) rename src/{ => Routing/src}/Microsoft.AspNetCore.Routing/ISuppressMatchingMetadata.cs (100%) rename src/{ => Routing/src}/Microsoft.AspNetCore.Routing/InlineRouteParameterParser.cs (100%) rename src/{ => Routing/src}/Microsoft.AspNetCore.Routing/Internal/BufferValue.cs (100%) rename src/{ => Routing/src}/Microsoft.AspNetCore.Routing/Internal/DfaGraphWriter.cs (100%) rename src/{ => Routing/src}/Microsoft.AspNetCore.Routing/Internal/EndpointRoutingApplicationBuilderExtensions.cs (100%) rename src/{ => Routing/src}/Microsoft.AspNetCore.Routing/Internal/LinkGenerationDecisionTree.cs (100%) rename src/{ => Routing/src}/Microsoft.AspNetCore.Routing/Internal/NullRouter.cs (100%) rename src/{ => Routing/src}/Microsoft.AspNetCore.Routing/Internal/OutboundMatchResult.cs (100%) rename src/{ => Routing/src}/Microsoft.AspNetCore.Routing/Internal/ParameterPolicyActivator.cs (100%) rename src/{ => Routing/src}/Microsoft.AspNetCore.Routing/Internal/PathTokenizer.cs (100%) rename src/{ => Routing/src}/Microsoft.AspNetCore.Routing/Internal/RoutingMarkerService.cs (100%) rename src/{ => Routing/src}/Microsoft.AspNetCore.Routing/Internal/SegmentState.cs (100%) rename src/{ => Routing/src}/Microsoft.AspNetCore.Routing/Internal/UriBuilderContextPooledObjectPolicy.cs (100%) rename src/{ => Routing/src}/Microsoft.AspNetCore.Routing/Internal/UriBuildingContext.cs (100%) rename src/{ => Routing/src}/Microsoft.AspNetCore.Routing/LinkGeneratorEndpointNameAddressExtensions.cs (100%) rename src/{ => Routing/src}/Microsoft.AspNetCore.Routing/LinkGeneratorRouteValuesAddressExtensions.cs (100%) rename src/{ => Routing/src}/Microsoft.AspNetCore.Routing/Logging/RouteConstraintMatcherExtensions.cs (100%) rename src/{ => Routing/src}/Microsoft.AspNetCore.Routing/Logging/RouterMiddlewareLoggerExtensions.cs (100%) rename src/{ => Routing/src}/Microsoft.AspNetCore.Routing/Logging/TreeRouterLoggerExtensions.cs (100%) rename src/{ => Routing/src}/Microsoft.AspNetCore.Routing/MapRouteRouteBuilderExtensions.cs (100%) rename src/{ => Routing/src}/Microsoft.AspNetCore.Routing/Matching/AmbiguousMatchException.cs (100%) rename src/{ => Routing/src}/Microsoft.AspNetCore.Routing/Matching/Ascii.cs (100%) rename src/{ => Routing/src}/Microsoft.AspNetCore.Routing/Matching/Candidate.cs (100%) rename src/{ => Routing/src}/Microsoft.AspNetCore.Routing/Matching/CandidateSet.cs (100%) rename src/{ => Routing/src}/Microsoft.AspNetCore.Routing/Matching/CandidateState.cs (100%) rename src/{ => Routing/src}/Microsoft.AspNetCore.Routing/Matching/DataSourceDependentMatcher.cs (100%) rename src/{ => Routing/src}/Microsoft.AspNetCore.Routing/Matching/DefaultEndpointSelector.cs (100%) rename src/{ => Routing/src}/Microsoft.AspNetCore.Routing/Matching/DfaMatcher.cs (100%) rename src/{ => Routing/src}/Microsoft.AspNetCore.Routing/Matching/DfaMatcherBuilder.cs (100%) rename src/{ => Routing/src}/Microsoft.AspNetCore.Routing/Matching/DfaMatcherFactory.cs (100%) rename src/{ => Routing/src}/Microsoft.AspNetCore.Routing/Matching/DfaNode.cs (100%) rename src/{ => Routing/src}/Microsoft.AspNetCore.Routing/Matching/DfaState.cs (100%) rename src/{ => Routing/src}/Microsoft.AspNetCore.Routing/Matching/DictionaryJumpTable.cs (100%) rename src/{ => Routing/src}/Microsoft.AspNetCore.Routing/Matching/EndpointComparer.cs (100%) rename src/{ => Routing/src}/Microsoft.AspNetCore.Routing/Matching/EndpointMetadataComparer.cs (100%) rename src/{ => Routing/src}/Microsoft.AspNetCore.Routing/Matching/EndpointSelector.cs (100%) rename src/{ => Routing/src}/Microsoft.AspNetCore.Routing/Matching/FastPathTokenizer.cs (100%) rename src/{ => Routing/src}/Microsoft.AspNetCore.Routing/Matching/HttpMethodMatcherPolicy.cs (100%) rename src/{ => Routing/src}/Microsoft.AspNetCore.Routing/Matching/IEndpointComparerPolicy.cs (100%) rename src/{ => Routing/src}/Microsoft.AspNetCore.Routing/Matching/IEndpointSelectorPolicy.cs (100%) rename src/{ => Routing/src}/Microsoft.AspNetCore.Routing/Matching/ILEmitTrieFactory.cs (100%) rename src/{ => Routing/src}/Microsoft.AspNetCore.Routing/Matching/ILEmitTrieJumpTable.cs (100%) rename src/{ => Routing/src}/Microsoft.AspNetCore.Routing/Matching/INodeBuilderPolicy.cs (100%) rename src/{ => Routing/src}/Microsoft.AspNetCore.Routing/Matching/JumpTable.cs (100%) rename src/{ => Routing/src}/Microsoft.AspNetCore.Routing/Matching/JumpTableBuilder.cs (100%) rename src/{ => Routing/src}/Microsoft.AspNetCore.Routing/Matching/LinearSearchJumpTable.cs (100%) rename src/{ => Routing/src}/Microsoft.AspNetCore.Routing/Matching/Matcher.cs (100%) rename src/{ => Routing/src}/Microsoft.AspNetCore.Routing/Matching/MatcherBuilder.cs (100%) rename src/{ => Routing/src}/Microsoft.AspNetCore.Routing/Matching/MatcherFactory.cs (100%) rename src/{ => Routing/src}/Microsoft.AspNetCore.Routing/Matching/MatcherPolicy.cs (100%) rename src/{ => Routing/src}/Microsoft.AspNetCore.Routing/Matching/PathSegment.cs (100%) rename src/{ => Routing/src}/Microsoft.AspNetCore.Routing/Matching/PolicyJumpTable.cs (100%) rename src/{ => Routing/src}/Microsoft.AspNetCore.Routing/Matching/PolicyJumpTableEdge.cs (100%) rename src/{ => Routing/src}/Microsoft.AspNetCore.Routing/Matching/PolicyNodeEdge.cs (100%) rename src/{ => Routing/src}/Microsoft.AspNetCore.Routing/Matching/SingleEntryAsciiJumpTable.cs (100%) rename src/{ => Routing/src}/Microsoft.AspNetCore.Routing/Matching/SingleEntryJumpTable.cs (100%) rename src/{ => Routing/src}/Microsoft.AspNetCore.Routing/Matching/ZeroEntryJumpTable.cs (100%) rename src/{ => Routing/src}/Microsoft.AspNetCore.Routing/Microsoft.AspNetCore.Routing.csproj (100%) rename src/{ => Routing/src}/Microsoft.AspNetCore.Routing/ParameterPolicyFactory.cs (100%) rename src/{ => Routing/src}/Microsoft.AspNetCore.Routing/Patterns/RouteParameterParser.cs (100%) rename src/{ => Routing/src}/Microsoft.AspNetCore.Routing/Patterns/RoutePattern.cs (100%) rename src/{ => Routing/src}/Microsoft.AspNetCore.Routing/Patterns/RoutePatternException.cs (100%) rename src/{ => Routing/src}/Microsoft.AspNetCore.Routing/Patterns/RoutePatternFactory.cs (100%) rename src/{ => Routing/src}/Microsoft.AspNetCore.Routing/Patterns/RoutePatternLiteralPart.cs (100%) rename src/{ => Routing/src}/Microsoft.AspNetCore.Routing/Patterns/RoutePatternMatcher.cs (100%) rename src/{ => Routing/src}/Microsoft.AspNetCore.Routing/Patterns/RoutePatternParameterKind.cs (100%) rename src/{ => Routing/src}/Microsoft.AspNetCore.Routing/Patterns/RoutePatternParameterPart.cs (100%) rename src/{ => Routing/src}/Microsoft.AspNetCore.Routing/Patterns/RoutePatternParameterPolicyReference.cs (100%) rename src/{ => Routing/src}/Microsoft.AspNetCore.Routing/Patterns/RoutePatternParser.cs (100%) rename src/{ => Routing/src}/Microsoft.AspNetCore.Routing/Patterns/RoutePatternPart.cs (100%) rename src/{ => Routing/src}/Microsoft.AspNetCore.Routing/Patterns/RoutePatternPartKind.cs (100%) rename src/{ => Routing/src}/Microsoft.AspNetCore.Routing/Patterns/RoutePatternPathSegment.cs (100%) rename src/{ => Routing/src}/Microsoft.AspNetCore.Routing/Patterns/RoutePatternSeparatorPart.cs (100%) rename src/{ => Routing/src}/Microsoft.AspNetCore.Routing/Properties/AssemblyInfo.cs (100%) rename src/{ => Routing/src}/Microsoft.AspNetCore.Routing/Properties/Resources.Designer.cs (100%) rename src/{ => Routing/src}/Microsoft.AspNetCore.Routing/RequestDelegateRouteBuilderExtensions.cs (100%) rename src/{ => Routing/src}/Microsoft.AspNetCore.Routing/Resources.resx (100%) rename src/{ => Routing/src}/Microsoft.AspNetCore.Routing/Route.cs (100%) rename src/{ => Routing/src}/Microsoft.AspNetCore.Routing/RouteBase.cs (100%) rename src/{ => Routing/src}/Microsoft.AspNetCore.Routing/RouteBuilder.cs (100%) rename src/{ => Routing/src}/Microsoft.AspNetCore.Routing/RouteCollection.cs (100%) rename src/{ => Routing/src}/Microsoft.AspNetCore.Routing/RouteConstraintBuilder.cs (100%) rename src/{ => Routing/src}/Microsoft.AspNetCore.Routing/RouteConstraintMatcher.cs (100%) rename src/{ => Routing/src}/Microsoft.AspNetCore.Routing/RouteCreationException.cs (100%) rename src/{ => Routing/src}/Microsoft.AspNetCore.Routing/RouteEndpoint.cs (100%) rename src/{ => Routing/src}/Microsoft.AspNetCore.Routing/RouteHandler.cs (100%) rename src/{ => Routing/src}/Microsoft.AspNetCore.Routing/RouteOptions.cs (100%) rename src/{ => Routing/src}/Microsoft.AspNetCore.Routing/RouteValueEqualityComparer.cs (100%) rename src/{ => Routing/src}/Microsoft.AspNetCore.Routing/RouteValuesAddress.cs (100%) rename src/{ => Routing/src}/Microsoft.AspNetCore.Routing/RouteValuesAddressMetadata.cs (100%) rename src/{ => Routing/src}/Microsoft.AspNetCore.Routing/RouteValuesAddressScheme.cs (100%) rename src/{ => Routing/src}/Microsoft.AspNetCore.Routing/RouterMiddleware.cs (100%) rename src/{ => Routing/src}/Microsoft.AspNetCore.Routing/RoutingFeature.cs (100%) rename src/{ => Routing/src}/Microsoft.AspNetCore.Routing/SuppressLinkGenerationMetadata.cs (100%) rename src/{ => Routing/src}/Microsoft.AspNetCore.Routing/SuppressMatchingMetadata.cs (100%) rename src/{ => Routing/src}/Microsoft.AspNetCore.Routing/Template/InlineConstraint.cs (100%) rename src/{ => Routing/src}/Microsoft.AspNetCore.Routing/Template/RoutePrecedence.cs (100%) rename src/{ => Routing/src}/Microsoft.AspNetCore.Routing/Template/RouteTemplate.cs (100%) rename src/{ => Routing/src}/Microsoft.AspNetCore.Routing/Template/TemplateBinder.cs (100%) rename src/{ => Routing/src}/Microsoft.AspNetCore.Routing/Template/TemplateMatcher.cs (100%) rename src/{ => Routing/src}/Microsoft.AspNetCore.Routing/Template/TemplateParser.cs (100%) rename src/{ => Routing/src}/Microsoft.AspNetCore.Routing/Template/TemplatePart.cs (100%) rename src/{ => Routing/src}/Microsoft.AspNetCore.Routing/Template/TemplateSegment.cs (100%) rename src/{ => Routing/src}/Microsoft.AspNetCore.Routing/Template/TemplateValuesResult.cs (100%) rename src/{ => Routing/src}/Microsoft.AspNetCore.Routing/Tree/InboundMatch.cs (100%) rename src/{ => Routing/src}/Microsoft.AspNetCore.Routing/Tree/InboundRouteEntry.cs (100%) rename src/{ => Routing/src}/Microsoft.AspNetCore.Routing/Tree/OutboundMatch.cs (100%) rename src/{ => Routing/src}/Microsoft.AspNetCore.Routing/Tree/OutboundRouteEntry.cs (100%) rename src/{ => Routing/src}/Microsoft.AspNetCore.Routing/Tree/TreeEnumerator.cs (100%) rename src/{ => Routing/src}/Microsoft.AspNetCore.Routing/Tree/TreeRouteBuilder.cs (100%) rename src/{ => Routing/src}/Microsoft.AspNetCore.Routing/Tree/TreeRouter.cs (100%) rename src/{ => Routing/src}/Microsoft.AspNetCore.Routing/Tree/UrlMatchingNode.cs (100%) rename src/{ => Routing/src}/Microsoft.AspNetCore.Routing/Tree/UrlMatchingTree.cs (100%) rename src/{ => Routing/src}/Microsoft.AspNetCore.Routing/baseline.netcore.json (100%) rename {test => src/Routing/test}/Directory.Build.props (100%) rename {test => src/Routing/test}/Microsoft.AspNetCore.Mvc.Routing.Abstractions.Tests/EndpointMetadataCollectionTests.cs (100%) rename {test => src/Routing/test}/Microsoft.AspNetCore.Mvc.Routing.Abstractions.Tests/Microsoft.AspNetCore.Mvc.Routing.Abstractions.Tests.csproj (100%) rename {test => src/Routing/test}/Microsoft.AspNetCore.Mvc.Routing.Abstractions.Tests/RouteDataTest.cs (100%) rename {test => src/Routing/test}/Microsoft.AspNetCore.Mvc.Routing.Abstractions.Tests/RouteValueDictionaryTests.cs (100%) rename {test => src/Routing/test}/Microsoft.AspNetCore.Mvc.Routing.Abstractions.Tests/VirtualPathDataTests.cs (100%) rename {test => src/Routing/test}/Microsoft.AspNetCore.Routing.DecisionTree.Sources.Tests/DecisionTreeBuilderTest.cs (100%) rename {test => src/Routing/test}/Microsoft.AspNetCore.Routing.DecisionTree.Sources.Tests/Microsoft.AspNetCore.Routing.DecisionTree.Sources.Tests.csproj (100%) rename {test => src/Routing/test}/Microsoft.AspNetCore.Routing.FunctionalTests/Benchmarks/EndpointRoutingBenchmarkTest.cs (100%) rename {test => src/Routing/test}/Microsoft.AspNetCore.Routing.FunctionalTests/Benchmarks/RouterBenchmarkTest.cs (100%) rename {test => src/Routing/test}/Microsoft.AspNetCore.Routing.FunctionalTests/EndpointRoutingSampleTest.cs (100%) rename {test => src/Routing/test}/Microsoft.AspNetCore.Routing.FunctionalTests/Microsoft.AspNetCore.Routing.FunctionalTests.csproj (100%) rename {test => src/Routing/test}/Microsoft.AspNetCore.Routing.FunctionalTests/RouterSampleTest.cs (100%) rename {test => src/Routing/test}/Microsoft.AspNetCore.Routing.FunctionalTests/RoutingTestFixture.cs (100%) rename {test => src/Routing/test}/Microsoft.AspNetCore.Routing.FunctionalTests/WebHostBuilderExtensionsTest.cs (100%) rename {test => src/Routing/test}/Microsoft.AspNetCore.Routing.Tests/Builder/EndpointRoutingBuilderExtensionsTest.cs (100%) rename {test => src/Routing/test}/Microsoft.AspNetCore.Routing.Tests/Builder/RoutingBuilderExtensionsTest.cs (100%) rename {test => src/Routing/test}/Microsoft.AspNetCore.Routing.Tests/CompositeEndpointDataSourceTest.cs (100%) rename {test => src/Routing/test}/Microsoft.AspNetCore.Routing.Tests/ConstraintMatcherTest.cs (100%) rename {test => src/Routing/test}/Microsoft.AspNetCore.Routing.Tests/Constraints/AlphaRouteConstraintTests.cs (100%) rename {test => src/Routing/test}/Microsoft.AspNetCore.Routing.Tests/Constraints/BoolRouteConstraintTests.cs (100%) rename {test => src/Routing/test}/Microsoft.AspNetCore.Routing.Tests/Constraints/CompositeRouteConstraintTests.cs (100%) rename {test => src/Routing/test}/Microsoft.AspNetCore.Routing.Tests/Constraints/ConstraintsTestHelper.cs (100%) rename {test => src/Routing/test}/Microsoft.AspNetCore.Routing.Tests/Constraints/DateTimeRouteConstraintTests.cs (100%) rename {test => src/Routing/test}/Microsoft.AspNetCore.Routing.Tests/Constraints/DecimalRouteConstraintTests.cs (100%) rename {test => src/Routing/test}/Microsoft.AspNetCore.Routing.Tests/Constraints/DoubleRouteConstraintTests.cs (100%) rename {test => src/Routing/test}/Microsoft.AspNetCore.Routing.Tests/Constraints/FloatRouteConstraintTests.cs (100%) rename {test => src/Routing/test}/Microsoft.AspNetCore.Routing.Tests/Constraints/GuidRouteConstraintTests.cs (100%) rename {test => src/Routing/test}/Microsoft.AspNetCore.Routing.Tests/Constraints/HttpMethodRouteConstraintTests.cs (100%) rename {test => src/Routing/test}/Microsoft.AspNetCore.Routing.Tests/Constraints/IntRouteConstraintsTests.cs (100%) rename {test => src/Routing/test}/Microsoft.AspNetCore.Routing.Tests/Constraints/LengthRouteConstraintTests.cs (100%) rename {test => src/Routing/test}/Microsoft.AspNetCore.Routing.Tests/Constraints/LongRouteConstraintTests.cs (100%) rename {test => src/Routing/test}/Microsoft.AspNetCore.Routing.Tests/Constraints/MaxLengthRouteConstraintTests.cs (100%) rename {test => src/Routing/test}/Microsoft.AspNetCore.Routing.Tests/Constraints/MaxRouteConstraintTests.cs (100%) rename {test => src/Routing/test}/Microsoft.AspNetCore.Routing.Tests/Constraints/MinLengthRouteConstraintTests.cs (100%) rename {test => src/Routing/test}/Microsoft.AspNetCore.Routing.Tests/Constraints/MinRouteConstraintTests.cs (100%) rename {test => src/Routing/test}/Microsoft.AspNetCore.Routing.Tests/Constraints/RangeRouteConstraintTests.cs (100%) rename {test => src/Routing/test}/Microsoft.AspNetCore.Routing.Tests/Constraints/RegexInlineRouteConstraintTests.cs (100%) rename {test => src/Routing/test}/Microsoft.AspNetCore.Routing.Tests/Constraints/RegexRouteConstraintTests.cs (100%) rename {test => src/Routing/test}/Microsoft.AspNetCore.Routing.Tests/Constraints/RequiredRouteConstraintTests.cs (100%) rename {test => src/Routing/test}/Microsoft.AspNetCore.Routing.Tests/Constraints/StringRouteConstraintTest.cs (100%) rename {test => src/Routing/test}/Microsoft.AspNetCore.Routing.Tests/DataSourceDependentCacheTest.cs (100%) rename {test => src/Routing/test}/Microsoft.AspNetCore.Routing.Tests/DefaultEndpointDataSourceTests.cs (100%) rename {test => src/Routing/test}/Microsoft.AspNetCore.Routing.Tests/DefaultInlineConstraintResolverTest.cs (100%) rename {test => src/Routing/test}/Microsoft.AspNetCore.Routing.Tests/DefaultLinkGeneratorProcessTemplateTest.cs (100%) rename {test => src/Routing/test}/Microsoft.AspNetCore.Routing.Tests/DefaultLinkGeneratorTest.cs (100%) rename {test => src/Routing/test}/Microsoft.AspNetCore.Routing.Tests/DefaultParameterPolicyFactoryTest.cs (100%) rename {test => src/Routing/test}/Microsoft.AspNetCore.Routing.Tests/EndpointFactory.cs (100%) rename {test => src/Routing/test}/Microsoft.AspNetCore.Routing.Tests/EndpointMiddlewareTest.cs (100%) rename {test => src/Routing/test}/Microsoft.AspNetCore.Routing.Tests/EndpointNameAddressSchemeTest.cs (100%) rename {test => src/Routing/test}/Microsoft.AspNetCore.Routing.Tests/EndpointRoutingMiddlewareTest.cs (100%) rename {test => src/Routing/test}/Microsoft.AspNetCore.Routing.Tests/EndpointSelectorContextTest.cs (100%) rename {test => src/Routing/test}/Microsoft.AspNetCore.Routing.Tests/InlineRouteParameterParserTests.cs (100%) rename {test => src/Routing/test}/Microsoft.AspNetCore.Routing.Tests/Internal/DfaGraphWriterTest.cs (100%) rename {test => src/Routing/test}/Microsoft.AspNetCore.Routing.Tests/Internal/LinkGenerationDecisionTreeTest.cs (100%) rename {test => src/Routing/test}/Microsoft.AspNetCore.Routing.Tests/Internal/PathTokenizerTest.cs (100%) rename {test => src/Routing/test}/Microsoft.AspNetCore.Routing.Tests/Internal/UriBuildingContextTest.cs (100%) rename {test => src/Routing/test}/Microsoft.AspNetCore.Routing.Tests/LinkGeneratorEndpointNameExtensionsTest.cs (100%) rename {test => src/Routing/test}/Microsoft.AspNetCore.Routing.Tests/LinkGeneratorRouteValuesAddressExtensionsTest.cs (100%) rename {test => src/Routing/test}/Microsoft.AspNetCore.Routing.Tests/LinkGeneratorTestBase.cs (100%) rename {test => src/Routing/test}/Microsoft.AspNetCore.Routing.Tests/Logging/WriteContext.cs (100%) rename {test => src/Routing/test}/Microsoft.AspNetCore.Routing.Tests/Matching/AsciiTest.cs (100%) rename {test => src/Routing/test}/Microsoft.AspNetCore.Routing.Tests/Matching/BarebonesMatcher.cs (100%) rename {test => src/Routing/test}/Microsoft.AspNetCore.Routing.Tests/Matching/BarebonesMatcherBuilder.cs (100%) rename {test => src/Routing/test}/Microsoft.AspNetCore.Routing.Tests/Matching/BarebonesMatcherConformanceTest.cs (100%) rename {test => src/Routing/test}/Microsoft.AspNetCore.Routing.Tests/Matching/CandidateSetTest.cs (100%) rename {test => src/Routing/test}/Microsoft.AspNetCore.Routing.Tests/Matching/DataSourceDependentMatcherTest.cs (100%) rename {test => src/Routing/test}/Microsoft.AspNetCore.Routing.Tests/Matching/DefaultEndpointSelectorTest.cs (100%) rename {test => src/Routing/test}/Microsoft.AspNetCore.Routing.Tests/Matching/DfaMatcherBuilderTest.cs (100%) rename {test => src/Routing/test}/Microsoft.AspNetCore.Routing.Tests/Matching/DfaMatcherConformanceTest.cs (100%) rename {test => src/Routing/test}/Microsoft.AspNetCore.Routing.Tests/Matching/DfaMatcherTest.cs (100%) rename {test => src/Routing/test}/Microsoft.AspNetCore.Routing.Tests/Matching/DictionaryJumpTableTest.cs (100%) rename {test => src/Routing/test}/Microsoft.AspNetCore.Routing.Tests/Matching/EndpointMetadataComparerTest.cs (100%) rename {test => src/Routing/test}/Microsoft.AspNetCore.Routing.Tests/Matching/FastPathTokenizerTest.cs (100%) rename {test => src/Routing/test}/Microsoft.AspNetCore.Routing.Tests/Matching/FullFeaturedMatcherConformanceTest.cs (100%) rename {test => src/Routing/test}/Microsoft.AspNetCore.Routing.Tests/Matching/HttpMethodMatcherPolicyIntegrationTest.cs (100%) rename {test => src/Routing/test}/Microsoft.AspNetCore.Routing.Tests/Matching/HttpMethodMatcherPolicyTest.cs (100%) rename {test => src/Routing/test}/Microsoft.AspNetCore.Routing.Tests/Matching/ILEmitTrieFactoryTest.cs (100%) rename {test => src/Routing/test}/Microsoft.AspNetCore.Routing.Tests/Matching/ILEmitTrieJumpTableTest.cs (100%) rename {test => src/Routing/test}/Microsoft.AspNetCore.Routing.Tests/Matching/LinearSearchJumpTableTest.cs (100%) rename {test => src/Routing/test}/Microsoft.AspNetCore.Routing.Tests/Matching/MatcherAssert.cs (100%) rename {test => src/Routing/test}/Microsoft.AspNetCore.Routing.Tests/Matching/MatcherConformanceTest.MultipleEndpoint.cs (100%) rename {test => src/Routing/test}/Microsoft.AspNetCore.Routing.Tests/Matching/MatcherConformanceTest.SingleEndpoint.cs (100%) rename {test => src/Routing/test}/Microsoft.AspNetCore.Routing.Tests/Matching/MatcherConformanceTest.cs (100%) rename {test => src/Routing/test}/Microsoft.AspNetCore.Routing.Tests/Matching/MultipleEntryJumpTableTest.cs (100%) rename {test => src/Routing/test}/Microsoft.AspNetCore.Routing.Tests/Matching/NonVectorizedILEmitTrieJumpTableTest.cs (100%) rename {test => src/Routing/test}/Microsoft.AspNetCore.Routing.Tests/Matching/RouteEndpointComparerTest.cs (100%) rename {test => src/Routing/test}/Microsoft.AspNetCore.Routing.Tests/Matching/RouteMatcher.cs (100%) rename {test => src/Routing/test}/Microsoft.AspNetCore.Routing.Tests/Matching/RouteMatcherBuilder.cs (100%) rename {test => src/Routing/test}/Microsoft.AspNetCore.Routing.Tests/Matching/RouteMatcherConformanceTest.cs (100%) rename {test => src/Routing/test}/Microsoft.AspNetCore.Routing.Tests/Matching/SingleEntryAsciiJumpTableTest.cs (100%) rename {test => src/Routing/test}/Microsoft.AspNetCore.Routing.Tests/Matching/SingleEntryJumpTableTest.cs (100%) rename {test => src/Routing/test}/Microsoft.AspNetCore.Routing.Tests/Matching/SingleEntryJumpTableTestBase.cs (100%) rename {test => src/Routing/test}/Microsoft.AspNetCore.Routing.Tests/Matching/TreeRouterMatcher.cs (100%) rename {test => src/Routing/test}/Microsoft.AspNetCore.Routing.Tests/Matching/TreeRouterMatcherBuilder.cs (100%) rename {test => src/Routing/test}/Microsoft.AspNetCore.Routing.Tests/Matching/TreeRouterMatcherConformanceTest.cs (100%) rename {test => src/Routing/test}/Microsoft.AspNetCore.Routing.Tests/Matching/VectorizedILEmitTrieJumpTableTest.cs (100%) rename {test => src/Routing/test}/Microsoft.AspNetCore.Routing.Tests/Matching/ZeroEntryJumpTableTest.cs (100%) rename {test => src/Routing/test}/Microsoft.AspNetCore.Routing.Tests/Microsoft.AspNetCore.Routing.Tests.csproj (100%) rename {test => src/Routing/test}/Microsoft.AspNetCore.Routing.Tests/Patterns/InlineRouteParameterParserTest.cs (100%) rename {test => src/Routing/test}/Microsoft.AspNetCore.Routing.Tests/Patterns/RoutePatternFactoryTest.cs (100%) rename {test => src/Routing/test}/Microsoft.AspNetCore.Routing.Tests/Patterns/RoutePatternMatcherTest.cs (100%) rename {test => src/Routing/test}/Microsoft.AspNetCore.Routing.Tests/Patterns/RoutePatternParserTest.cs (100%) rename {test => src/Routing/test}/Microsoft.AspNetCore.Routing.Tests/RequestDelegateRouteBuilderExtensionsTest.cs (100%) rename {test => src/Routing/test}/Microsoft.AspNetCore.Routing.Tests/RouteBuilderTest.cs (100%) rename {test => src/Routing/test}/Microsoft.AspNetCore.Routing.Tests/RouteCollectionTest.cs (100%) rename {test => src/Routing/test}/Microsoft.AspNetCore.Routing.Tests/RouteConstraintBuilderTest.cs (100%) rename {test => src/Routing/test}/Microsoft.AspNetCore.Routing.Tests/RouteOptionsTests.cs (100%) rename {test => src/Routing/test}/Microsoft.AspNetCore.Routing.Tests/RouteTest.cs (100%) rename {test => src/Routing/test}/Microsoft.AspNetCore.Routing.Tests/RouteValueEqualityComparerTest.cs (100%) rename {test => src/Routing/test}/Microsoft.AspNetCore.Routing.Tests/RouteValuesAddressMetadataTests.cs (100%) rename {test => src/Routing/test}/Microsoft.AspNetCore.Routing.Tests/RouteValuesAddressSchemeTest.cs (100%) rename {test => src/Routing/test}/Microsoft.AspNetCore.Routing.Tests/RouterMiddlewareTest.cs (100%) rename {test => src/Routing/test}/Microsoft.AspNetCore.Routing.Tests/Template/RoutePrecedenceTests.cs (100%) rename {test => src/Routing/test}/Microsoft.AspNetCore.Routing.Tests/Template/TemplateBinderTests.cs (100%) rename {test => src/Routing/test}/Microsoft.AspNetCore.Routing.Tests/Template/TemplateMatcherTests.cs (100%) rename {test => src/Routing/test}/Microsoft.AspNetCore.Routing.Tests/Template/TemplateParserTests.cs (100%) rename {test => src/Routing/test}/Microsoft.AspNetCore.Routing.Tests/Template/TemplateSegmentTest.cs (100%) rename {test => src/Routing/test}/Microsoft.AspNetCore.Routing.Tests/TemplateParserDefaultValuesTests.cs (100%) rename {test => src/Routing/test}/Microsoft.AspNetCore.Routing.Tests/TestConstants.cs (100%) rename {test => src/Routing/test}/Microsoft.AspNetCore.Routing.Tests/TestObjects/CapturingConstraint.cs (100%) rename {test => src/Routing/test}/Microsoft.AspNetCore.Routing.Tests/TestObjects/DynamicEndpointDataSource.cs (100%) rename {test => src/Routing/test}/Microsoft.AspNetCore.Routing.Tests/TestObjects/SlugifyParameterTransformer.cs (100%) rename {test => src/Routing/test}/Microsoft.AspNetCore.Routing.Tests/TestObjects/TestMatcher.cs (100%) rename {test => src/Routing/test}/Microsoft.AspNetCore.Routing.Tests/TestObjects/TestMatcherFactory.cs (100%) rename {test => src/Routing/test}/Microsoft.AspNetCore.Routing.Tests/TestObjects/TestServiceProvider.cs (100%) rename {test => src/Routing/test}/Microsoft.AspNetCore.Routing.Tests/Tree/TreeRouteBuilderTest.cs (100%) rename {test => src/Routing/test}/Microsoft.AspNetCore.Routing.Tests/Tree/TreeRouterTest.cs (100%) rename {test => src/Routing/test}/WebSites/Directory.Build.props (100%) rename {test => src/Routing/test}/WebSites/RoutingWebSite/EndsWithStringRouteConstraint.cs (100%) rename {test => src/Routing/test}/WebSites/RoutingWebSite/Program.cs (100%) rename {test => src/Routing/test}/WebSites/RoutingWebSite/RoutingWebSite.csproj (100%) rename {test => src/Routing/test}/WebSites/RoutingWebSite/UseEndpointRoutingStartup.cs (100%) rename {test => src/Routing/test}/WebSites/RoutingWebSite/UseRouterStartup.cs (100%) rename {tools => src/Routing/tools}/Swaggatherer/Program.cs (100%) rename {tools => src/Routing/tools}/Swaggatherer/README.md (100%) rename {tools => src/Routing/tools}/Swaggatherer/RouteEntry.cs (100%) rename {tools => src/Routing/tools}/Swaggatherer/Swaggatherer.csproj (100%) rename {tools => src/Routing/tools}/Swaggatherer/SwaggathererApplication.cs (100%) rename {tools => src/Routing/tools}/Swaggatherer/Template.cs (100%) rename version.props => src/Routing/version.props (100%) diff --git a/.appveyor.yml b/.appveyor.yml deleted file mode 100644 index 2262756c19..0000000000 --- a/.appveyor.yml +++ /dev/null @@ -1,17 +0,0 @@ -init: -- git config --global core.autocrlf true -branches: - only: - - master - - /^release\/.*$/ - - /^(.*\/)?ci-.*$/ -build_script: -- ps: .\run.ps1 default-build -clone_depth: 1 -environment: - global: - DOTNET_SKIP_FIRST_TIME_EXPERIENCE: true - DOTNET_CLI_TELEMETRY_OPTOUT: 1 -test: 'off' -deploy: 'off' -image: Visual Studio 2017 diff --git a/.gitattributes b/.gitattributes deleted file mode 100644 index d4ee1cb7f3..0000000000 --- a/.gitattributes +++ /dev/null @@ -1,52 +0,0 @@ -*.doc diff=astextplain -*.DOC diff=astextplain -*.docx diff=astextplain -*.DOCX diff=astextplain -*.dot diff=astextplain -*.DOT diff=astextplain -*.pdf diff=astextplain -*.PDF diff=astextplain -*.rtf diff=astextplain -*.RTF diff=astextplain - -*.jpg binary -*.png binary -*.gif binary - -*.cs text=auto diff=csharp -*.vb text=auto -*.resx text=auto -*.c text=auto -*.cpp text=auto -*.cxx text=auto -*.h text=auto -*.hxx text=auto -*.py text=auto -*.rb text=auto -*.java text=auto -*.html text=auto -*.htm text=auto -*.css text=auto -*.scss text=auto -*.sass text=auto -*.less text=auto -*.js text=auto -*.lisp text=auto -*.clj text=auto -*.sql text=auto -*.php text=auto -*.lua text=auto -*.m text=auto -*.asm text=auto -*.erl text=auto -*.fs text=auto -*.fsx text=auto -*.hs text=auto - -*.csproj text=auto -*.vbproj text=auto -*.fsproj text=auto -*.dbproj text=auto -*.sln text=auto eol=crlf - -*.sh eol=lf diff --git a/.travis.yml b/.travis.yml deleted file mode 100644 index ab3980055c..0000000000 --- a/.travis.yml +++ /dev/null @@ -1,27 +0,0 @@ -language: csharp -sudo: false -dist: trusty -env: - global: - - DOTNET_SKIP_FIRST_TIME_EXPERIENCE: true - - DOTNET_CLI_TELEMETRY_OPTOUT: 1 -mono: none -os: -- linux -- osx -osx_image: xcode8.2 -addons: - apt: - packages: - - libunwind8 -branches: - only: - - master - - /^release\/.*$/ - - /^(.*\/)?ci-.*$/ -before_install: -- if test "$TRAVIS_OS_NAME" == "osx"; then brew update; brew install openssl; ln -s - /usr/local/opt/openssl/lib/libcrypto.1.0.0.dylib /usr/local/lib/; ln -s /usr/local/opt/openssl/lib/libssl.1.0.0.dylib - /usr/local/lib/; fi -script: -- ./build.sh diff --git a/.vsts-pipelines/builds/ci-internal.yml b/.vsts-pipelines/builds/ci-internal.yml deleted file mode 100644 index dc7b8a3cb9..0000000000 --- a/.vsts-pipelines/builds/ci-internal.yml +++ /dev/null @@ -1,13 +0,0 @@ -trigger: -- master -- release/* - -resources: - repositories: - - repository: buildtools - type: git - name: aspnet-BuildTools - ref: refs/heads/release/2.2 - -phases: -- template: .vsts-pipelines/templates/project-ci.yml@buildtools diff --git a/.vsts-pipelines/builds/ci-public.yml b/.vsts-pipelines/builds/ci-public.yml deleted file mode 100644 index f5087d9c30..0000000000 --- a/.vsts-pipelines/builds/ci-public.yml +++ /dev/null @@ -1,15 +0,0 @@ -trigger: -- master -- release/* - -# See https://github.com/aspnet/BuildTools -resources: - repositories: - - repository: buildtools - type: github - endpoint: DotNet-Bot GitHub Connection - name: aspnet/BuildTools - ref: refs/heads/release/2.2 - -phases: -- template: .vsts-pipelines/templates/project-ci.yml@buildtools diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md deleted file mode 100644 index eac4268e4c..0000000000 --- a/CONTRIBUTING.md +++ /dev/null @@ -1,4 +0,0 @@ -Contributing -====== - -Information on contributing to this repo is in the [Contributing Guide](https://github.com/aspnet/Home/blob/master/CONTRIBUTING.md) in the Home repo. diff --git a/LICENSE.txt b/LICENSE.txt deleted file mode 100644 index b3b180cd51..0000000000 --- a/LICENSE.txt +++ /dev/null @@ -1,201 +0,0 @@ - Apache License - Version 2.0, January 2004 - http://www.apache.org/licenses/ - - TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION - - 1. Definitions. - - "License" shall mean the terms and conditions for use, reproduction, - and distribution as defined by Sections 1 through 9 of this document. - - "Licensor" shall mean the copyright owner or entity authorized by - the copyright owner that is granting the License. - - "Legal Entity" shall mean the union of the acting entity and all - other entities that control, are controlled by, or are under common - control with that entity. For the purposes of this definition, - "control" means (i) the power, direct or indirect, to cause the - direction or management of such entity, whether by contract or - otherwise, or (ii) ownership of fifty percent (50%) or more of the - outstanding shares, or (iii) beneficial ownership of such entity. - - "You" (or "Your") shall mean an individual or Legal Entity - exercising permissions granted by this License. - - "Source" form shall mean the preferred form for making modifications, - including but not limited to software source code, documentation - source, and configuration files. - - "Object" form shall mean any form resulting from mechanical - transformation or translation of a Source form, including but - not limited to compiled object code, generated documentation, - and conversions to other media types. - - "Work" shall mean the work of authorship, whether in Source or - Object form, made available under the License, as indicated by a - copyright notice that is included in or attached to the work - (an example is provided in the Appendix below). - - "Derivative Works" shall mean any work, whether in Source or Object - form, that is based on (or derived from) the Work and for which the - editorial revisions, annotations, elaborations, or other modifications - represent, as a whole, an original work of authorship. For the purposes - of this License, Derivative Works shall not include works that remain - separable from, or merely link (or bind by name) to the interfaces of, - the Work and Derivative Works thereof. - - "Contribution" shall mean any work of authorship, including - the original version of the Work and any modifications or additions - to that Work or Derivative Works thereof, that is intentionally - submitted to Licensor for inclusion in the Work by the copyright owner - or by an individual or Legal Entity authorized to submit on behalf of - the copyright owner. For the purposes of this definition, "submitted" - means any form of electronic, verbal, or written communication sent - to the Licensor or its representatives, including but not limited to - communication on electronic mailing lists, source code control systems, - and issue tracking systems that are managed by, or on behalf of, the - Licensor for the purpose of discussing and improving the Work, but - excluding communication that is conspicuously marked or otherwise - designated in writing by the copyright owner as "Not a Contribution." - - "Contributor" shall mean Licensor and any individual or Legal Entity - on behalf of whom a Contribution has been received by Licensor and - subsequently incorporated within the Work. - - 2. Grant of Copyright License. Subject to the terms and conditions of - this License, each Contributor hereby grants to You a perpetual, - worldwide, non-exclusive, no-charge, royalty-free, irrevocable - copyright license to reproduce, prepare Derivative Works of, - publicly display, publicly perform, sublicense, and distribute the - Work and such Derivative Works in Source or Object form. - - 3. Grant of Patent License. Subject to the terms and conditions of - this License, each Contributor hereby grants to You a perpetual, - worldwide, non-exclusive, no-charge, royalty-free, irrevocable - (except as stated in this section) patent license to make, have made, - use, offer to sell, sell, import, and otherwise transfer the Work, - where such license applies only to those patent claims licensable - by such Contributor that are necessarily infringed by their - Contribution(s) alone or by combination of their Contribution(s) - with the Work to which such Contribution(s) was submitted. If You - institute patent litigation against any entity (including a - cross-claim or counterclaim in a lawsuit) alleging that the Work - or a Contribution incorporated within the Work constitutes direct - or contributory patent infringement, then any patent licenses - granted to You under this License for that Work shall terminate - as of the date such litigation is filed. - - 4. Redistribution. You may reproduce and distribute copies of the - Work or Derivative Works thereof in any medium, with or without - modifications, and in Source or Object form, provided that You - meet the following conditions: - - (a) You must give any other recipients of the Work or - Derivative Works a copy of this License; and - - (b) You must cause any modified files to carry prominent notices - stating that You changed the files; and - - (c) You must retain, in the Source form of any Derivative Works - that You distribute, all copyright, patent, trademark, and - attribution notices from the Source form of the Work, - excluding those notices that do not pertain to any part of - the Derivative Works; and - - (d) If the Work includes a "NOTICE" text file as part of its - distribution, then any Derivative Works that You distribute must - include a readable copy of the attribution notices contained - within such NOTICE file, excluding those notices that do not - pertain to any part of the Derivative Works, in at least one - of the following places: within a NOTICE text file distributed - as part of the Derivative Works; within the Source form or - documentation, if provided along with the Derivative Works; or, - within a display generated by the Derivative Works, if and - wherever such third-party notices normally appear. The contents - of the NOTICE file are for informational purposes only and - do not modify the License. You may add Your own attribution - notices within Derivative Works that You distribute, alongside - or as an addendum to the NOTICE text from the Work, provided - that such additional attribution notices cannot be construed - as modifying the License. - - You may add Your own copyright statement to Your modifications and - may provide additional or different license terms and conditions - for use, reproduction, or distribution of Your modifications, or - for any such Derivative Works as a whole, provided Your use, - reproduction, and distribution of the Work otherwise complies with - the conditions stated in this License. - - 5. Submission of Contributions. Unless You explicitly state otherwise, - any Contribution intentionally submitted for inclusion in the Work - by You to the Licensor shall be under the terms and conditions of - this License, without any additional terms or conditions. - Notwithstanding the above, nothing herein shall supersede or modify - the terms of any separate license agreement you may have executed - with Licensor regarding such Contributions. - - 6. Trademarks. This License does not grant permission to use the trade - names, trademarks, service marks, or product names of the Licensor, - except as required for reasonable and customary use in describing the - origin of the Work and reproducing the content of the NOTICE file. - - 7. Disclaimer of Warranty. Unless required by applicable law or - agreed to in writing, Licensor provides the Work (and each - Contributor provides its Contributions) on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or - implied, including, without limitation, any warranties or conditions - of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A - PARTICULAR PURPOSE. You are solely responsible for determining the - appropriateness of using or redistributing the Work and assume any - risks associated with Your exercise of permissions under this License. - - 8. Limitation of Liability. In no event and under no legal theory, - whether in tort (including negligence), contract, or otherwise, - unless required by applicable law (such as deliberate and grossly - negligent acts) or agreed to in writing, shall any Contributor be - liable to You for damages, including any direct, indirect, special, - incidental, or consequential damages of any character arising as a - result of this License or out of the use or inability to use the - Work (including but not limited to damages for loss of goodwill, - work stoppage, computer failure or malfunction, or any and all - other commercial damages or losses), even if such Contributor - has been advised of the possibility of such damages. - - 9. Accepting Warranty or Additional Liability. While redistributing - the Work or Derivative Works thereof, You may choose to offer, - and charge a fee for, acceptance of support, warranty, indemnity, - or other liability obligations and/or rights consistent with this - License. However, in accepting such obligations, You may act only - on Your own behalf and on Your sole responsibility, not on behalf - of any other Contributor, and only if You agree to indemnify, - defend, and hold each Contributor harmless for any liability - incurred by, or claims asserted against, such Contributor by reason - of your accepting any such warranty or additional liability. - - END OF TERMS AND CONDITIONS - - APPENDIX: How to apply the Apache License to your work. - - To apply the Apache License to your work, attach the following - boilerplate notice, with the fields enclosed by brackets "[]" - replaced with your own identifying information. (Don't include - the brackets!) The text should be enclosed in the appropriate - comment syntax for the file format. We also recommend that a - file or class name and description of purpose be included on the - same "printed page" as the copyright notice for easier - identification within third-party archives. - - Copyright (c) .NET Foundation and Contributors - - Licensed under the Apache License, Version 2.0 (the "License"); - you may not use this file except in compliance with the License. - You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - - Unless required by applicable law or agreed to in writing, software - distributed under the License is distributed on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - See the License for the specific language governing permissions and - limitations under the License. diff --git a/NuGet.config b/NuGet.config deleted file mode 100644 index e32bddfd51..0000000000 --- a/NuGet.config +++ /dev/null @@ -1,7 +0,0 @@ - - - - - - - diff --git a/build.cmd b/build.cmd deleted file mode 100644 index c0050bda12..0000000000 --- a/build.cmd +++ /dev/null @@ -1,2 +0,0 @@ -@ECHO OFF -PowerShell -NoProfile -NoLogo -ExecutionPolicy unrestricted -Command "[System.Threading.Thread]::CurrentThread.CurrentCulture = ''; [System.Threading.Thread]::CurrentThread.CurrentUICulture = '';& '%~dp0run.ps1' default-build %*; exit $LASTEXITCODE" diff --git a/build.sh b/build.sh deleted file mode 100755 index 98a4b22765..0000000000 --- a/build.sh +++ /dev/null @@ -1,8 +0,0 @@ -#!/usr/bin/env bash - -set -euo pipefail -DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )" - -# Call "sync" between "chmod" and execution to prevent "text file busy" error in Docker (aufs) -chmod +x "$DIR/run.sh"; sync -"$DIR/run.sh" default-build "$@" diff --git a/korebuild-lock.txt b/korebuild-lock.txt deleted file mode 100644 index 86b4302b5d..0000000000 --- a/korebuild-lock.txt +++ /dev/null @@ -1,2 +0,0 @@ -version:2.2.0-preview2-20181011.10 -commithash:224e1163a1145b60f324e0b432419ef4ba4880cc diff --git a/korebuild.json b/korebuild.json deleted file mode 100644 index d217d06e3e..0000000000 --- a/korebuild.json +++ /dev/null @@ -1,4 +0,0 @@ -{ - "$schema": "https://raw.githubusercontent.com/aspnet/BuildTools/release/2.2/tools/korebuild.schema.json", - "channel": "release/2.2" -} diff --git a/run.cmd b/run.cmd deleted file mode 100644 index d52d5c7e68..0000000000 --- a/run.cmd +++ /dev/null @@ -1,2 +0,0 @@ -@ECHO OFF -PowerShell -NoProfile -NoLogo -ExecutionPolicy unrestricted -Command "[System.Threading.Thread]::CurrentThread.CurrentCulture = ''; [System.Threading.Thread]::CurrentThread.CurrentUICulture = '';& '%~dp0run.ps1' %*; exit $LASTEXITCODE" diff --git a/run.ps1 b/run.ps1 deleted file mode 100644 index 34604c7175..0000000000 --- a/run.ps1 +++ /dev/null @@ -1,209 +0,0 @@ -#!/usr/bin/env powershell -#requires -version 4 - -<# -.SYNOPSIS -Executes KoreBuild commands. - -.DESCRIPTION -Downloads korebuild if required. Then executes the KoreBuild command. To see available commands, execute with `-Command help`. - -.PARAMETER Command -The KoreBuild command to run. - -.PARAMETER Path -The folder to build. Defaults to the folder containing this script. - -.PARAMETER Channel -The channel of KoreBuild to download. Overrides the value from the config file. - -.PARAMETER DotNetHome -The directory where .NET Core tools will be stored. - -.PARAMETER ToolsSource -The base url where build tools can be downloaded. Overrides the value from the config file. - -.PARAMETER Update -Updates KoreBuild to the latest version even if a lock file is present. - -.PARAMETER Reinstall -Re-installs KoreBuild - -.PARAMETER ConfigFile -The path to the configuration file that stores values. Defaults to korebuild.json. - -.PARAMETER ToolsSourceSuffix -The Suffix to append to the end of the ToolsSource. Useful for query strings in blob stores. - -.PARAMETER CI -Sets up CI specific settings and variables. - -.PARAMETER Arguments -Arguments to be passed to the command - -.NOTES -This function will create a file $PSScriptRoot/korebuild-lock.txt. This lock file can be committed to source, but does not have to be. -When the lockfile is not present, KoreBuild will create one using latest available version from $Channel. - -The $ConfigFile is expected to be an JSON file. It is optional, and the configuration values in it are optional as well. Any options set -in the file are overridden by command line parameters. - -.EXAMPLE -Example config file: -```json -{ - "$schema": "https://raw.githubusercontent.com/aspnet/BuildTools/master/tools/korebuild.schema.json", - "channel": "master", - "toolsSource": "https://aspnetcore.blob.core.windows.net/buildtools" -} -``` -#> -[CmdletBinding(PositionalBinding = $false)] -param( - [Parameter(Mandatory = $true, Position = 0)] - [string]$Command, - [string]$Path = $PSScriptRoot, - [Alias('c')] - [string]$Channel, - [Alias('d')] - [string]$DotNetHome, - [Alias('s')] - [string]$ToolsSource, - [Alias('u')] - [switch]$Update, - [switch]$Reinstall, - [string]$ToolsSourceSuffix, - [string]$ConfigFile = $null, - [switch]$CI, - [Parameter(ValueFromRemainingArguments = $true)] - [string[]]$Arguments -) - -Set-StrictMode -Version 2 -$ErrorActionPreference = 'Stop' - -# -# Functions -# - -function Get-KoreBuild { - - $lockFile = Join-Path $Path 'korebuild-lock.txt' - - if (!(Test-Path $lockFile) -or $Update) { - Get-RemoteFile "$ToolsSource/korebuild/channels/$Channel/latest.txt" $lockFile $ToolsSourceSuffix - } - - $version = Get-Content $lockFile | Where-Object { $_ -like 'version:*' } | Select-Object -first 1 - if (!$version) { - Write-Error "Failed to parse version from $lockFile. Expected a line that begins with 'version:'" - } - $version = $version.TrimStart('version:').Trim() - $korebuildPath = Join-Paths $DotNetHome ('buildtools', 'korebuild', $version) - - if ($Reinstall -and (Test-Path $korebuildPath)) { - Remove-Item -Force -Recurse $korebuildPath - } - - if (!(Test-Path $korebuildPath)) { - Write-Host -ForegroundColor Magenta "Downloading KoreBuild $version" - New-Item -ItemType Directory -Path $korebuildPath | Out-Null - $remotePath = "$ToolsSource/korebuild/artifacts/$version/korebuild.$version.zip" - - try { - $tmpfile = Join-Path ([IO.Path]::GetTempPath()) "KoreBuild-$([guid]::NewGuid()).zip" - Get-RemoteFile $remotePath $tmpfile $ToolsSourceSuffix - if (Get-Command -Name 'Microsoft.PowerShell.Archive\Expand-Archive' -ErrorAction Ignore) { - # Use built-in commands where possible as they are cross-plat compatible - Microsoft.PowerShell.Archive\Expand-Archive -Path $tmpfile -DestinationPath $korebuildPath - } - else { - # Fallback to old approach for old installations of PowerShell - Add-Type -AssemblyName System.IO.Compression.FileSystem - [System.IO.Compression.ZipFile]::ExtractToDirectory($tmpfile, $korebuildPath) - } - } - catch { - Remove-Item -Recurse -Force $korebuildPath -ErrorAction Ignore - throw - } - finally { - Remove-Item $tmpfile -ErrorAction Ignore - } - } - - return $korebuildPath -} - -function Join-Paths([string]$path, [string[]]$childPaths) { - $childPaths | ForEach-Object { $path = Join-Path $path $_ } - return $path -} - -function Get-RemoteFile([string]$RemotePath, [string]$LocalPath, [string]$RemoteSuffix) { - if ($RemotePath -notlike 'http*') { - Copy-Item $RemotePath $LocalPath - return - } - - $retries = 10 - while ($retries -gt 0) { - $retries -= 1 - try { - Invoke-WebRequest -UseBasicParsing -Uri $($RemotePath + $RemoteSuffix) -OutFile $LocalPath - return - } - catch { - Write-Verbose "Request failed. $retries retries remaining" - } - } - - Write-Error "Download failed: '$RemotePath'." -} - -# -# Main -# - -# Load configuration or set defaults - -$Path = Resolve-Path $Path -if (!$ConfigFile) { $ConfigFile = Join-Path $Path 'korebuild.json' } - -if (Test-Path $ConfigFile) { - try { - $config = Get-Content -Raw -Encoding UTF8 -Path $ConfigFile | ConvertFrom-Json - if ($config) { - if (!($Channel) -and (Get-Member -Name 'channel' -InputObject $config)) { [string] $Channel = $config.channel } - if (!($ToolsSource) -and (Get-Member -Name 'toolsSource' -InputObject $config)) { [string] $ToolsSource = $config.toolsSource} - } - } - catch { - Write-Host -ForegroundColor Red $Error[0] - Write-Error "$ConfigFile contains invalid JSON." - exit 1 - } -} - -if (!$DotNetHome) { - $DotNetHome = if ($env:DOTNET_HOME) { $env:DOTNET_HOME } ` - elseif ($env:USERPROFILE) { Join-Path $env:USERPROFILE '.dotnet'} ` - elseif ($env:HOME) {Join-Path $env:HOME '.dotnet'}` - else { Join-Path $PSScriptRoot '.dotnet'} -} - -if (!$Channel) { $Channel = 'master' } -if (!$ToolsSource) { $ToolsSource = 'https://aspnetcore.blob.core.windows.net/buildtools' } - -# Execute - -$korebuildPath = Get-KoreBuild -Import-Module -Force -Scope Local (Join-Path $korebuildPath 'KoreBuild.psd1') - -try { - Set-KoreBuildSettings -ToolsSource $ToolsSource -DotNetHome $DotNetHome -RepoPath $Path -ConfigFile $ConfigFile -CI:$CI - Invoke-KoreBuildCommand $Command @Arguments -} -finally { - Remove-Module 'KoreBuild' -ErrorAction Ignore -} diff --git a/run.sh b/run.sh deleted file mode 100755 index 4c1fed5646..0000000000 --- a/run.sh +++ /dev/null @@ -1,256 +0,0 @@ -#!/usr/bin/env bash - -set -euo pipefail - -# -# variables -# - -RESET="\033[0m" -RED="\033[0;31m" -YELLOW="\033[0;33m" -MAGENTA="\033[0;95m" -DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )" -[ -z "${DOTNET_HOME:-}" ] && DOTNET_HOME="$HOME/.dotnet" -verbose=false -update=false -reinstall=false -repo_path="$DIR" -channel='' -tools_source='' -tools_source_suffix='' -ci=false - -# -# Functions -# -__usage() { - echo "Usage: $(basename "${BASH_SOURCE[0]}") command [options] [[--] ...]" - echo "" - echo "Arguments:" - echo " command The command to be run." - echo " ... Arguments passed to the command. Variable number of arguments allowed." - echo "" - echo "Options:" - echo " --verbose Show verbose output." - echo " -c|--channel The channel of KoreBuild to download. Overrides the value from the config file.." - echo " --config-file The path to the configuration file that stores values. Defaults to korebuild.json." - echo " -d|--dotnet-home The directory where .NET Core tools will be stored. Defaults to '\$DOTNET_HOME' or '\$HOME/.dotnet." - echo " --path The directory to build. Defaults to the directory containing the script." - echo " -s|--tools-source|-ToolsSource The base url where build tools can be downloaded. Overrides the value from the config file." - echo " --tools-source-suffix|-ToolsSourceSuffix The suffix to append to tools-source. Useful for query strings." - echo " -u|--update Update to the latest KoreBuild even if the lock file is present." - echo " --reinstall Reinstall KoreBuild." - echo " --ci Apply CI specific settings and environment variables." - echo "" - echo "Description:" - echo " This function will create a file \$DIR/korebuild-lock.txt. This lock file can be committed to source, but does not have to be." - echo " When the lockfile is not present, KoreBuild will create one using latest available version from \$channel." - - if [[ "${1:-}" != '--no-exit' ]]; then - exit 2 - fi -} - -get_korebuild() { - local version - local lock_file="$repo_path/korebuild-lock.txt" - if [ ! -f "$lock_file" ] || [ "$update" = true ]; then - __get_remote_file "$tools_source/korebuild/channels/$channel/latest.txt" "$lock_file" "$tools_source_suffix" - fi - version="$(grep 'version:*' -m 1 "$lock_file")" - if [[ "$version" == '' ]]; then - __error "Failed to parse version from $lock_file. Expected a line that begins with 'version:'" - return 1 - fi - version="$(echo "${version#version:}" | sed -e 's/^[[:space:]]*//' -e 's/[[:space:]]*$//')" - local korebuild_path="$DOTNET_HOME/buildtools/korebuild/$version" - - if [ "$reinstall" = true ] && [ -d "$korebuild_path" ]; then - rm -rf "$korebuild_path" - fi - - { - if [ ! -d "$korebuild_path" ]; then - mkdir -p "$korebuild_path" - local remote_path="$tools_source/korebuild/artifacts/$version/korebuild.$version.zip" - tmpfile="$(mktemp)" - echo -e "${MAGENTA}Downloading KoreBuild ${version}${RESET}" - if __get_remote_file "$remote_path" "$tmpfile" "$tools_source_suffix"; then - unzip -q -d "$korebuild_path" "$tmpfile" - fi - rm "$tmpfile" || true - fi - - source "$korebuild_path/KoreBuild.sh" - } || { - if [ -d "$korebuild_path" ]; then - echo "Cleaning up after failed installation" - rm -rf "$korebuild_path" || true - fi - return 1 - } -} - -__error() { - echo -e "${RED}error: $*${RESET}" 1>&2 -} - -__warn() { - echo -e "${YELLOW}warning: $*${RESET}" -} - -__machine_has() { - hash "$1" > /dev/null 2>&1 - return $? -} - -__get_remote_file() { - local remote_path=$1 - local local_path=$2 - local remote_path_suffix=$3 - - if [[ "$remote_path" != 'http'* ]]; then - cp "$remote_path" "$local_path" - return 0 - fi - - local failed=false - if __machine_has wget; then - wget --tries 10 --quiet -O "$local_path" "${remote_path}${remote_path_suffix}" || failed=true - else - failed=true - fi - - if [ "$failed" = true ] && __machine_has curl; then - failed=false - curl --retry 10 -sSL -f --create-dirs -o "$local_path" "${remote_path}${remote_path_suffix}" || failed=true - fi - - if [ "$failed" = true ]; then - __error "Download failed: $remote_path" 1>&2 - return 1 - fi -} - -# -# main -# - -command="${1:-}" -shift - -while [[ $# -gt 0 ]]; do - case $1 in - -\?|-h|--help) - __usage --no-exit - exit 0 - ;; - -c|--channel|-Channel) - shift - channel="${1:-}" - [ -z "$channel" ] && __usage - ;; - --config-file|-ConfigFile) - shift - config_file="${1:-}" - [ -z "$config_file" ] && __usage - if [ ! -f "$config_file" ]; then - __error "Invalid value for --config-file. $config_file does not exist." - exit 1 - fi - ;; - -d|--dotnet-home|-DotNetHome) - shift - DOTNET_HOME="${1:-}" - [ -z "$DOTNET_HOME" ] && __usage - ;; - --path|-Path) - shift - repo_path="${1:-}" - [ -z "$repo_path" ] && __usage - ;; - -s|--tools-source|-ToolsSource) - shift - tools_source="${1:-}" - [ -z "$tools_source" ] && __usage - ;; - --tools-source-suffix|-ToolsSourceSuffix) - shift - tools_source_suffix="${1:-}" - [ -z "$tools_source_suffix" ] && __usage - ;; - -u|--update|-Update) - update=true - ;; - --reinstall|-[Rr]einstall) - reinstall=true - ;; - --ci|-[Cc][Ii]) - ci=true - ;; - --verbose|-Verbose) - verbose=true - ;; - --) - shift - break - ;; - *) - break - ;; - esac - shift -done - -if ! __machine_has unzip; then - __error 'Missing required command: unzip' - exit 1 -fi - -if ! __machine_has curl && ! __machine_has wget; then - __error 'Missing required command. Either wget or curl is required.' - exit 1 -fi - -[ -z "${config_file:-}" ] && config_file="$repo_path/korebuild.json" -if [ -f "$config_file" ]; then - if __machine_has jq ; then - if jq '.' "$config_file" >/dev/null ; then - config_channel="$(jq -r 'select(.channel!=null) | .channel' "$config_file")" - config_tools_source="$(jq -r 'select(.toolsSource!=null) | .toolsSource' "$config_file")" - else - __error "$config_file contains invalid JSON." - exit 1 - fi - elif __machine_has python ; then - if python -c "import json,codecs;obj=json.load(codecs.open('$config_file', 'r', 'utf-8-sig'))" >/dev/null ; then - config_channel="$(python -c "import json,codecs;obj=json.load(codecs.open('$config_file', 'r', 'utf-8-sig'));print(obj['channel'] if 'channel' in obj else '')")" - config_tools_source="$(python -c "import json,codecs;obj=json.load(codecs.open('$config_file', 'r', 'utf-8-sig'));print(obj['toolsSource'] if 'toolsSource' in obj else '')")" - else - __error "$config_file contains invalid JSON." - exit 1 - fi - elif __machine_has python3 ; then - if python3 -c "import json,codecs;obj=json.load(codecs.open('$config_file', 'r', 'utf-8-sig'))" >/dev/null ; then - config_channel="$(python3 -c "import json,codecs;obj=json.load(codecs.open('$config_file', 'r', 'utf-8-sig'));print(obj['channel'] if 'channel' in obj else '')")" - config_tools_source="$(python3 -c "import json,codecs;obj=json.load(codecs.open('$config_file', 'r', 'utf-8-sig'));print(obj['toolsSource'] if 'toolsSource' in obj else '')")" - else - __error "$config_file contains invalid JSON." - exit 1 - fi - else - __error 'Missing required command: jq or python. Could not parse the JSON file.' - exit 1 - fi - - [ ! -z "${config_channel:-}" ] && channel="$config_channel" - [ ! -z "${config_tools_source:-}" ] && tools_source="$config_tools_source" -fi - -[ -z "$channel" ] && channel='master' -[ -z "$tools_source" ] && tools_source='https://aspnetcore.blob.core.windows.net/buildtools' - -get_korebuild -set_korebuildsettings "$tools_source" "$DOTNET_HOME" "$repo_path" "$config_file" "$ci" -invoke_korebuild_command "$command" "$@" diff --git a/.gitignore b/src/Routing/.gitignore similarity index 100% rename from .gitignore rename to src/Routing/.gitignore diff --git a/Directory.Build.props b/src/Routing/Directory.Build.props similarity index 100% rename from Directory.Build.props rename to src/Routing/Directory.Build.props diff --git a/Directory.Build.targets b/src/Routing/Directory.Build.targets similarity index 100% rename from Directory.Build.targets rename to src/Routing/Directory.Build.targets diff --git a/NuGetPackageVerifier.json b/src/Routing/NuGetPackageVerifier.json similarity index 100% rename from NuGetPackageVerifier.json rename to src/Routing/NuGetPackageVerifier.json diff --git a/README.md b/src/Routing/README.md similarity index 100% rename from README.md rename to src/Routing/README.md diff --git a/Routing.sln b/src/Routing/Routing.sln similarity index 100% rename from Routing.sln rename to src/Routing/Routing.sln diff --git a/Settings.StyleCop b/src/Routing/Settings.StyleCop similarity index 100% rename from Settings.StyleCop rename to src/Routing/Settings.StyleCop diff --git a/THIRD-PARTY-NOTICES b/src/Routing/THIRD-PARTY-NOTICES similarity index 100% rename from THIRD-PARTY-NOTICES rename to src/Routing/THIRD-PARTY-NOTICES diff --git a/benchmarkapps/Benchmarks/Benchmarks.csproj b/src/Routing/benchmarkapps/Benchmarks/Benchmarks.csproj similarity index 100% rename from benchmarkapps/Benchmarks/Benchmarks.csproj rename to src/Routing/benchmarkapps/Benchmarks/Benchmarks.csproj diff --git a/benchmarkapps/Benchmarks/Program.cs b/src/Routing/benchmarkapps/Benchmarks/Program.cs similarity index 100% rename from benchmarkapps/Benchmarks/Program.cs rename to src/Routing/benchmarkapps/Benchmarks/Program.cs diff --git a/benchmarkapps/Benchmarks/StartupUsingEndpointRouting.cs b/src/Routing/benchmarkapps/Benchmarks/StartupUsingEndpointRouting.cs similarity index 100% rename from benchmarkapps/Benchmarks/StartupUsingEndpointRouting.cs rename to src/Routing/benchmarkapps/Benchmarks/StartupUsingEndpointRouting.cs diff --git a/benchmarkapps/Benchmarks/StartupUsingRouter.cs b/src/Routing/benchmarkapps/Benchmarks/StartupUsingRouter.cs similarity index 100% rename from benchmarkapps/Benchmarks/StartupUsingRouter.cs rename to src/Routing/benchmarkapps/Benchmarks/StartupUsingRouter.cs diff --git a/benchmarkapps/Benchmarks/benchmarks.json b/src/Routing/benchmarkapps/Benchmarks/benchmarks.json similarity index 100% rename from benchmarkapps/Benchmarks/benchmarks.json rename to src/Routing/benchmarkapps/Benchmarks/benchmarks.json diff --git a/benchmarks/Microsoft.AspNetCore.Routing.Performance/EndpointMetadataCollectionBenchmark.cs b/src/Routing/benchmarks/Microsoft.AspNetCore.Routing.Performance/EndpointMetadataCollectionBenchmark.cs similarity index 100% rename from benchmarks/Microsoft.AspNetCore.Routing.Performance/EndpointMetadataCollectionBenchmark.cs rename to src/Routing/benchmarks/Microsoft.AspNetCore.Routing.Performance/EndpointMetadataCollectionBenchmark.cs diff --git a/benchmarks/Microsoft.AspNetCore.Routing.Performance/EndpointRoutingBenchmarkBase.cs b/src/Routing/benchmarks/Microsoft.AspNetCore.Routing.Performance/EndpointRoutingBenchmarkBase.cs similarity index 100% rename from benchmarks/Microsoft.AspNetCore.Routing.Performance/EndpointRoutingBenchmarkBase.cs rename to src/Routing/benchmarks/Microsoft.AspNetCore.Routing.Performance/EndpointRoutingBenchmarkBase.cs diff --git a/benchmarks/Microsoft.AspNetCore.Routing.Performance/LinkGeneration/LinkGenerationGithubBenchmark.cs b/src/Routing/benchmarks/Microsoft.AspNetCore.Routing.Performance/LinkGeneration/LinkGenerationGithubBenchmark.cs similarity index 100% rename from benchmarks/Microsoft.AspNetCore.Routing.Performance/LinkGeneration/LinkGenerationGithubBenchmark.cs rename to src/Routing/benchmarks/Microsoft.AspNetCore.Routing.Performance/LinkGeneration/LinkGenerationGithubBenchmark.cs diff --git a/benchmarks/Microsoft.AspNetCore.Routing.Performance/LinkGeneration/LinkGenerationGithubBenchmark.generated.cs b/src/Routing/benchmarks/Microsoft.AspNetCore.Routing.Performance/LinkGeneration/LinkGenerationGithubBenchmark.generated.cs similarity index 100% rename from benchmarks/Microsoft.AspNetCore.Routing.Performance/LinkGeneration/LinkGenerationGithubBenchmark.generated.cs rename to src/Routing/benchmarks/Microsoft.AspNetCore.Routing.Performance/LinkGeneration/LinkGenerationGithubBenchmark.generated.cs diff --git a/benchmarks/Microsoft.AspNetCore.Routing.Performance/LinkGeneration/SingleRouteRouteValuesAddressSchemeBenchmark.cs b/src/Routing/benchmarks/Microsoft.AspNetCore.Routing.Performance/LinkGeneration/SingleRouteRouteValuesAddressSchemeBenchmark.cs similarity index 100% rename from benchmarks/Microsoft.AspNetCore.Routing.Performance/LinkGeneration/SingleRouteRouteValuesAddressSchemeBenchmark.cs rename to src/Routing/benchmarks/Microsoft.AspNetCore.Routing.Performance/LinkGeneration/SingleRouteRouteValuesAddressSchemeBenchmark.cs diff --git a/benchmarks/Microsoft.AspNetCore.Routing.Performance/LinkGeneration/SingleRouteWithConstraintsBenchmark.cs b/src/Routing/benchmarks/Microsoft.AspNetCore.Routing.Performance/LinkGeneration/SingleRouteWithConstraintsBenchmark.cs similarity index 100% rename from benchmarks/Microsoft.AspNetCore.Routing.Performance/LinkGeneration/SingleRouteWithConstraintsBenchmark.cs rename to src/Routing/benchmarks/Microsoft.AspNetCore.Routing.Performance/LinkGeneration/SingleRouteWithConstraintsBenchmark.cs diff --git a/benchmarks/Microsoft.AspNetCore.Routing.Performance/LinkGeneration/SingleRouteWithNoParametersBenchmark.cs b/src/Routing/benchmarks/Microsoft.AspNetCore.Routing.Performance/LinkGeneration/SingleRouteWithNoParametersBenchmark.cs similarity index 100% rename from benchmarks/Microsoft.AspNetCore.Routing.Performance/LinkGeneration/SingleRouteWithNoParametersBenchmark.cs rename to src/Routing/benchmarks/Microsoft.AspNetCore.Routing.Performance/LinkGeneration/SingleRouteWithNoParametersBenchmark.cs diff --git a/benchmarks/Microsoft.AspNetCore.Routing.Performance/LinkGeneration/SingleRouteWithParametersBenchmark.cs b/src/Routing/benchmarks/Microsoft.AspNetCore.Routing.Performance/LinkGeneration/SingleRouteWithParametersBenchmark.cs similarity index 100% rename from benchmarks/Microsoft.AspNetCore.Routing.Performance/LinkGeneration/SingleRouteWithParametersBenchmark.cs rename to src/Routing/benchmarks/Microsoft.AspNetCore.Routing.Performance/LinkGeneration/SingleRouteWithParametersBenchmark.cs diff --git a/benchmarks/Microsoft.AspNetCore.Routing.Performance/Matching/FastPathTokenizerBenchmarkBase.cs b/src/Routing/benchmarks/Microsoft.AspNetCore.Routing.Performance/Matching/FastPathTokenizerBenchmarkBase.cs similarity index 100% rename from benchmarks/Microsoft.AspNetCore.Routing.Performance/Matching/FastPathTokenizerBenchmarkBase.cs rename to src/Routing/benchmarks/Microsoft.AspNetCore.Routing.Performance/Matching/FastPathTokenizerBenchmarkBase.cs diff --git a/benchmarks/Microsoft.AspNetCore.Routing.Performance/Matching/FastPathTokenizerEmptyBenchmark.cs b/src/Routing/benchmarks/Microsoft.AspNetCore.Routing.Performance/Matching/FastPathTokenizerEmptyBenchmark.cs similarity index 100% rename from benchmarks/Microsoft.AspNetCore.Routing.Performance/Matching/FastPathTokenizerEmptyBenchmark.cs rename to src/Routing/benchmarks/Microsoft.AspNetCore.Routing.Performance/Matching/FastPathTokenizerEmptyBenchmark.cs diff --git a/benchmarks/Microsoft.AspNetCore.Routing.Performance/Matching/FastPathTokenizerLargeBenchmark.cs b/src/Routing/benchmarks/Microsoft.AspNetCore.Routing.Performance/Matching/FastPathTokenizerLargeBenchmark.cs similarity index 100% rename from benchmarks/Microsoft.AspNetCore.Routing.Performance/Matching/FastPathTokenizerLargeBenchmark.cs rename to src/Routing/benchmarks/Microsoft.AspNetCore.Routing.Performance/Matching/FastPathTokenizerLargeBenchmark.cs diff --git a/benchmarks/Microsoft.AspNetCore.Routing.Performance/Matching/FastPathTokenizerPlaintextBenchmark.cs b/src/Routing/benchmarks/Microsoft.AspNetCore.Routing.Performance/Matching/FastPathTokenizerPlaintextBenchmark.cs similarity index 100% rename from benchmarks/Microsoft.AspNetCore.Routing.Performance/Matching/FastPathTokenizerPlaintextBenchmark.cs rename to src/Routing/benchmarks/Microsoft.AspNetCore.Routing.Performance/Matching/FastPathTokenizerPlaintextBenchmark.cs diff --git a/benchmarks/Microsoft.AspNetCore.Routing.Performance/Matching/FastPathTokenizerSmallBenchmark.cs b/src/Routing/benchmarks/Microsoft.AspNetCore.Routing.Performance/Matching/FastPathTokenizerSmallBenchmark.cs similarity index 100% rename from benchmarks/Microsoft.AspNetCore.Routing.Performance/Matching/FastPathTokenizerSmallBenchmark.cs rename to src/Routing/benchmarks/Microsoft.AspNetCore.Routing.Performance/Matching/FastPathTokenizerSmallBenchmark.cs diff --git a/benchmarks/Microsoft.AspNetCore.Routing.Performance/Matching/JumpTableMultipleEntryBenchmark.cs b/src/Routing/benchmarks/Microsoft.AspNetCore.Routing.Performance/Matching/JumpTableMultipleEntryBenchmark.cs similarity index 100% rename from benchmarks/Microsoft.AspNetCore.Routing.Performance/Matching/JumpTableMultipleEntryBenchmark.cs rename to src/Routing/benchmarks/Microsoft.AspNetCore.Routing.Performance/Matching/JumpTableMultipleEntryBenchmark.cs diff --git a/benchmarks/Microsoft.AspNetCore.Routing.Performance/Matching/JumpTableSingleEntryBenchmark.cs b/src/Routing/benchmarks/Microsoft.AspNetCore.Routing.Performance/Matching/JumpTableSingleEntryBenchmark.cs similarity index 100% rename from benchmarks/Microsoft.AspNetCore.Routing.Performance/Matching/JumpTableSingleEntryBenchmark.cs rename to src/Routing/benchmarks/Microsoft.AspNetCore.Routing.Performance/Matching/JumpTableSingleEntryBenchmark.cs diff --git a/benchmarks/Microsoft.AspNetCore.Routing.Performance/Matching/JumpTableZeroEntryBenchmark.cs b/src/Routing/benchmarks/Microsoft.AspNetCore.Routing.Performance/Matching/JumpTableZeroEntryBenchmark.cs similarity index 100% rename from benchmarks/Microsoft.AspNetCore.Routing.Performance/Matching/JumpTableZeroEntryBenchmark.cs rename to src/Routing/benchmarks/Microsoft.AspNetCore.Routing.Performance/Matching/JumpTableZeroEntryBenchmark.cs diff --git a/benchmarks/Microsoft.AspNetCore.Routing.Performance/Matching/MatcherAzureBenchmark.cs b/src/Routing/benchmarks/Microsoft.AspNetCore.Routing.Performance/Matching/MatcherAzureBenchmark.cs similarity index 100% rename from benchmarks/Microsoft.AspNetCore.Routing.Performance/Matching/MatcherAzureBenchmark.cs rename to src/Routing/benchmarks/Microsoft.AspNetCore.Routing.Performance/Matching/MatcherAzureBenchmark.cs diff --git a/benchmarks/Microsoft.AspNetCore.Routing.Performance/Matching/MatcherAzureBenchmarkBase.generated.cs b/src/Routing/benchmarks/Microsoft.AspNetCore.Routing.Performance/Matching/MatcherAzureBenchmarkBase.generated.cs similarity index 100% rename from benchmarks/Microsoft.AspNetCore.Routing.Performance/Matching/MatcherAzureBenchmarkBase.generated.cs rename to src/Routing/benchmarks/Microsoft.AspNetCore.Routing.Performance/Matching/MatcherAzureBenchmarkBase.generated.cs diff --git a/benchmarks/Microsoft.AspNetCore.Routing.Performance/Matching/MatcherBuilderAzureBenchmark.cs b/src/Routing/benchmarks/Microsoft.AspNetCore.Routing.Performance/Matching/MatcherBuilderAzureBenchmark.cs similarity index 100% rename from benchmarks/Microsoft.AspNetCore.Routing.Performance/Matching/MatcherBuilderAzureBenchmark.cs rename to src/Routing/benchmarks/Microsoft.AspNetCore.Routing.Performance/Matching/MatcherBuilderAzureBenchmark.cs diff --git a/benchmarks/Microsoft.AspNetCore.Routing.Performance/Matching/MatcherBuilderGithubBenchmark.cs b/src/Routing/benchmarks/Microsoft.AspNetCore.Routing.Performance/Matching/MatcherBuilderGithubBenchmark.cs similarity index 100% rename from benchmarks/Microsoft.AspNetCore.Routing.Performance/Matching/MatcherBuilderGithubBenchmark.cs rename to src/Routing/benchmarks/Microsoft.AspNetCore.Routing.Performance/Matching/MatcherBuilderGithubBenchmark.cs diff --git a/benchmarks/Microsoft.AspNetCore.Routing.Performance/Matching/MatcherBuilderMultipleEntryBenchmark.cs b/src/Routing/benchmarks/Microsoft.AspNetCore.Routing.Performance/Matching/MatcherBuilderMultipleEntryBenchmark.cs similarity index 100% rename from benchmarks/Microsoft.AspNetCore.Routing.Performance/Matching/MatcherBuilderMultipleEntryBenchmark.cs rename to src/Routing/benchmarks/Microsoft.AspNetCore.Routing.Performance/Matching/MatcherBuilderMultipleEntryBenchmark.cs diff --git a/benchmarks/Microsoft.AspNetCore.Routing.Performance/Matching/MatcherGithubBenchmark.cs b/src/Routing/benchmarks/Microsoft.AspNetCore.Routing.Performance/Matching/MatcherGithubBenchmark.cs similarity index 100% rename from benchmarks/Microsoft.AspNetCore.Routing.Performance/Matching/MatcherGithubBenchmark.cs rename to src/Routing/benchmarks/Microsoft.AspNetCore.Routing.Performance/Matching/MatcherGithubBenchmark.cs diff --git a/benchmarks/Microsoft.AspNetCore.Routing.Performance/Matching/MatcherGithubBenchmarkBase.generated.cs b/src/Routing/benchmarks/Microsoft.AspNetCore.Routing.Performance/Matching/MatcherGithubBenchmarkBase.generated.cs similarity index 100% rename from benchmarks/Microsoft.AspNetCore.Routing.Performance/Matching/MatcherGithubBenchmarkBase.generated.cs rename to src/Routing/benchmarks/Microsoft.AspNetCore.Routing.Performance/Matching/MatcherGithubBenchmarkBase.generated.cs diff --git a/benchmarks/Microsoft.AspNetCore.Routing.Performance/Matching/MatcherSingleEntryBenchmark.cs b/src/Routing/benchmarks/Microsoft.AspNetCore.Routing.Performance/Matching/MatcherSingleEntryBenchmark.cs similarity index 100% rename from benchmarks/Microsoft.AspNetCore.Routing.Performance/Matching/MatcherSingleEntryBenchmark.cs rename to src/Routing/benchmarks/Microsoft.AspNetCore.Routing.Performance/Matching/MatcherSingleEntryBenchmark.cs diff --git a/benchmarks/Microsoft.AspNetCore.Routing.Performance/Matching/RouteEndpointAzureBenchmark.cs b/src/Routing/benchmarks/Microsoft.AspNetCore.Routing.Performance/Matching/RouteEndpointAzureBenchmark.cs similarity index 100% rename from benchmarks/Microsoft.AspNetCore.Routing.Performance/Matching/RouteEndpointAzureBenchmark.cs rename to src/Routing/benchmarks/Microsoft.AspNetCore.Routing.Performance/Matching/RouteEndpointAzureBenchmark.cs diff --git a/benchmarks/Microsoft.AspNetCore.Routing.Performance/Matching/TrivialMatcher.cs b/src/Routing/benchmarks/Microsoft.AspNetCore.Routing.Performance/Matching/TrivialMatcher.cs similarity index 100% rename from benchmarks/Microsoft.AspNetCore.Routing.Performance/Matching/TrivialMatcher.cs rename to src/Routing/benchmarks/Microsoft.AspNetCore.Routing.Performance/Matching/TrivialMatcher.cs diff --git a/benchmarks/Microsoft.AspNetCore.Routing.Performance/Matching/TrivialMatcherBuilder.cs b/src/Routing/benchmarks/Microsoft.AspNetCore.Routing.Performance/Matching/TrivialMatcherBuilder.cs similarity index 100% rename from benchmarks/Microsoft.AspNetCore.Routing.Performance/Matching/TrivialMatcherBuilder.cs rename to src/Routing/benchmarks/Microsoft.AspNetCore.Routing.Performance/Matching/TrivialMatcherBuilder.cs diff --git a/benchmarks/Microsoft.AspNetCore.Routing.Performance/Microsoft.AspNetCore.Routing.Performance.csproj b/src/Routing/benchmarks/Microsoft.AspNetCore.Routing.Performance/Microsoft.AspNetCore.Routing.Performance.csproj similarity index 100% rename from benchmarks/Microsoft.AspNetCore.Routing.Performance/Microsoft.AspNetCore.Routing.Performance.csproj rename to src/Routing/benchmarks/Microsoft.AspNetCore.Routing.Performance/Microsoft.AspNetCore.Routing.Performance.csproj diff --git a/benchmarks/Microsoft.AspNetCore.Routing.Performance/Properties/AssemblyInfo.cs b/src/Routing/benchmarks/Microsoft.AspNetCore.Routing.Performance/Properties/AssemblyInfo.cs similarity index 100% rename from benchmarks/Microsoft.AspNetCore.Routing.Performance/Properties/AssemblyInfo.cs rename to src/Routing/benchmarks/Microsoft.AspNetCore.Routing.Performance/Properties/AssemblyInfo.cs diff --git a/benchmarks/Microsoft.AspNetCore.Routing.Performance/RouteValueDictionaryBenchmark.cs b/src/Routing/benchmarks/Microsoft.AspNetCore.Routing.Performance/RouteValueDictionaryBenchmark.cs similarity index 100% rename from benchmarks/Microsoft.AspNetCore.Routing.Performance/RouteValueDictionaryBenchmark.cs rename to src/Routing/benchmarks/Microsoft.AspNetCore.Routing.Performance/RouteValueDictionaryBenchmark.cs diff --git a/benchmarks/Microsoft.AspNetCore.Routing.Performance/readme.md b/src/Routing/benchmarks/Microsoft.AspNetCore.Routing.Performance/readme.md similarity index 100% rename from benchmarks/Microsoft.AspNetCore.Routing.Performance/readme.md rename to src/Routing/benchmarks/Microsoft.AspNetCore.Routing.Performance/readme.md diff --git a/build/Key.snk b/src/Routing/build/Key.snk similarity index 100% rename from build/Key.snk rename to src/Routing/build/Key.snk diff --git a/build/dependencies.props b/src/Routing/build/dependencies.props similarity index 100% rename from build/dependencies.props rename to src/Routing/build/dependencies.props diff --git a/build/repo.props b/src/Routing/build/repo.props similarity index 100% rename from build/repo.props rename to src/Routing/build/repo.props diff --git a/build/sources.props b/src/Routing/build/sources.props similarity index 100% rename from build/sources.props rename to src/Routing/build/sources.props diff --git a/samples/RoutingSandbox/Program.cs b/src/Routing/samples/RoutingSandbox/Program.cs similarity index 100% rename from samples/RoutingSandbox/Program.cs rename to src/Routing/samples/RoutingSandbox/Program.cs diff --git a/samples/RoutingSandbox/RoutingSandbox.csproj b/src/Routing/samples/RoutingSandbox/RoutingSandbox.csproj similarity index 100% rename from samples/RoutingSandbox/RoutingSandbox.csproj rename to src/Routing/samples/RoutingSandbox/RoutingSandbox.csproj diff --git a/samples/RoutingSandbox/UseEndpointRoutingStartup.cs b/src/Routing/samples/RoutingSandbox/UseEndpointRoutingStartup.cs similarity index 100% rename from samples/RoutingSandbox/UseEndpointRoutingStartup.cs rename to src/Routing/samples/RoutingSandbox/UseEndpointRoutingStartup.cs diff --git a/samples/RoutingSandbox/UseRouterStartup.cs b/src/Routing/samples/RoutingSandbox/UseRouterStartup.cs similarity index 100% rename from samples/RoutingSandbox/UseRouterStartup.cs rename to src/Routing/samples/RoutingSandbox/UseRouterStartup.cs diff --git a/samples/RoutingSandbox/wwwroot/full.render.js b/src/Routing/samples/RoutingSandbox/wwwroot/full.render.js similarity index 100% rename from samples/RoutingSandbox/wwwroot/full.render.js rename to src/Routing/samples/RoutingSandbox/wwwroot/full.render.js diff --git a/samples/RoutingSandbox/wwwroot/graph-ui.html b/src/Routing/samples/RoutingSandbox/wwwroot/graph-ui.html similarity index 100% rename from samples/RoutingSandbox/wwwroot/graph-ui.html rename to src/Routing/samples/RoutingSandbox/wwwroot/graph-ui.html diff --git a/samples/RoutingSandbox/wwwroot/viz.js b/src/Routing/samples/RoutingSandbox/wwwroot/viz.js similarity index 100% rename from samples/RoutingSandbox/wwwroot/viz.js rename to src/Routing/samples/RoutingSandbox/wwwroot/viz.js diff --git a/shared/Microsoft.AspNetCore.Routing.DecisionTree.Sources/DecisionCriterion.cs b/src/Routing/shared/Microsoft.AspNetCore.Routing.DecisionTree.Sources/DecisionCriterion.cs similarity index 100% rename from shared/Microsoft.AspNetCore.Routing.DecisionTree.Sources/DecisionCriterion.cs rename to src/Routing/shared/Microsoft.AspNetCore.Routing.DecisionTree.Sources/DecisionCriterion.cs diff --git a/shared/Microsoft.AspNetCore.Routing.DecisionTree.Sources/DecisionCriterionValue.cs b/src/Routing/shared/Microsoft.AspNetCore.Routing.DecisionTree.Sources/DecisionCriterionValue.cs similarity index 100% rename from shared/Microsoft.AspNetCore.Routing.DecisionTree.Sources/DecisionCriterionValue.cs rename to src/Routing/shared/Microsoft.AspNetCore.Routing.DecisionTree.Sources/DecisionCriterionValue.cs diff --git a/shared/Microsoft.AspNetCore.Routing.DecisionTree.Sources/DecisionCriterionValueEqualityComparer.cs b/src/Routing/shared/Microsoft.AspNetCore.Routing.DecisionTree.Sources/DecisionCriterionValueEqualityComparer.cs similarity index 100% rename from shared/Microsoft.AspNetCore.Routing.DecisionTree.Sources/DecisionCriterionValueEqualityComparer.cs rename to src/Routing/shared/Microsoft.AspNetCore.Routing.DecisionTree.Sources/DecisionCriterionValueEqualityComparer.cs diff --git a/shared/Microsoft.AspNetCore.Routing.DecisionTree.Sources/DecisionTreeBuilder.cs b/src/Routing/shared/Microsoft.AspNetCore.Routing.DecisionTree.Sources/DecisionTreeBuilder.cs similarity index 100% rename from shared/Microsoft.AspNetCore.Routing.DecisionTree.Sources/DecisionTreeBuilder.cs rename to src/Routing/shared/Microsoft.AspNetCore.Routing.DecisionTree.Sources/DecisionTreeBuilder.cs diff --git a/shared/Microsoft.AspNetCore.Routing.DecisionTree.Sources/DecisionTreeNode.cs b/src/Routing/shared/Microsoft.AspNetCore.Routing.DecisionTree.Sources/DecisionTreeNode.cs similarity index 100% rename from shared/Microsoft.AspNetCore.Routing.DecisionTree.Sources/DecisionTreeNode.cs rename to src/Routing/shared/Microsoft.AspNetCore.Routing.DecisionTree.Sources/DecisionTreeNode.cs diff --git a/shared/Microsoft.AspNetCore.Routing.DecisionTree.Sources/IClassifier.cs b/src/Routing/shared/Microsoft.AspNetCore.Routing.DecisionTree.Sources/IClassifier.cs similarity index 100% rename from shared/Microsoft.AspNetCore.Routing.DecisionTree.Sources/IClassifier.cs rename to src/Routing/shared/Microsoft.AspNetCore.Routing.DecisionTree.Sources/IClassifier.cs diff --git a/shared/Microsoft.AspNetCore.Routing.DecisionTree.Sources/ItemDescriptor.cs b/src/Routing/shared/Microsoft.AspNetCore.Routing.DecisionTree.Sources/ItemDescriptor.cs similarity index 100% rename from shared/Microsoft.AspNetCore.Routing.DecisionTree.Sources/ItemDescriptor.cs rename to src/Routing/shared/Microsoft.AspNetCore.Routing.DecisionTree.Sources/ItemDescriptor.cs diff --git a/src/Directory.Build.props b/src/Routing/src/Directory.Build.props similarity index 100% rename from src/Directory.Build.props rename to src/Routing/src/Directory.Build.props diff --git a/src/Microsoft.AspNetCore.Routing.Abstractions/Endpoint.cs b/src/Routing/src/Microsoft.AspNetCore.Routing.Abstractions/Endpoint.cs similarity index 100% rename from src/Microsoft.AspNetCore.Routing.Abstractions/Endpoint.cs rename to src/Routing/src/Microsoft.AspNetCore.Routing.Abstractions/Endpoint.cs diff --git a/src/Microsoft.AspNetCore.Routing.Abstractions/EndpointMetadataCollection.cs b/src/Routing/src/Microsoft.AspNetCore.Routing.Abstractions/EndpointMetadataCollection.cs similarity index 100% rename from src/Microsoft.AspNetCore.Routing.Abstractions/EndpointMetadataCollection.cs rename to src/Routing/src/Microsoft.AspNetCore.Routing.Abstractions/EndpointMetadataCollection.cs diff --git a/src/Microsoft.AspNetCore.Routing.Abstractions/IEndpointFeature.cs b/src/Routing/src/Microsoft.AspNetCore.Routing.Abstractions/IEndpointFeature.cs similarity index 100% rename from src/Microsoft.AspNetCore.Routing.Abstractions/IEndpointFeature.cs rename to src/Routing/src/Microsoft.AspNetCore.Routing.Abstractions/IEndpointFeature.cs diff --git a/src/Microsoft.AspNetCore.Routing.Abstractions/IOutboundParameterTransformer.cs b/src/Routing/src/Microsoft.AspNetCore.Routing.Abstractions/IOutboundParameterTransformer.cs similarity index 100% rename from src/Microsoft.AspNetCore.Routing.Abstractions/IOutboundParameterTransformer.cs rename to src/Routing/src/Microsoft.AspNetCore.Routing.Abstractions/IOutboundParameterTransformer.cs diff --git a/src/Microsoft.AspNetCore.Routing.Abstractions/IParameterPolicy.cs b/src/Routing/src/Microsoft.AspNetCore.Routing.Abstractions/IParameterPolicy.cs similarity index 100% rename from src/Microsoft.AspNetCore.Routing.Abstractions/IParameterPolicy.cs rename to src/Routing/src/Microsoft.AspNetCore.Routing.Abstractions/IParameterPolicy.cs diff --git a/src/Microsoft.AspNetCore.Routing.Abstractions/IRouteConstraint.cs b/src/Routing/src/Microsoft.AspNetCore.Routing.Abstractions/IRouteConstraint.cs similarity index 100% rename from src/Microsoft.AspNetCore.Routing.Abstractions/IRouteConstraint.cs rename to src/Routing/src/Microsoft.AspNetCore.Routing.Abstractions/IRouteConstraint.cs diff --git a/src/Microsoft.AspNetCore.Routing.Abstractions/IRouteHandler.cs b/src/Routing/src/Microsoft.AspNetCore.Routing.Abstractions/IRouteHandler.cs similarity index 100% rename from src/Microsoft.AspNetCore.Routing.Abstractions/IRouteHandler.cs rename to src/Routing/src/Microsoft.AspNetCore.Routing.Abstractions/IRouteHandler.cs diff --git a/src/Microsoft.AspNetCore.Routing.Abstractions/IRouteValuesFeature.cs b/src/Routing/src/Microsoft.AspNetCore.Routing.Abstractions/IRouteValuesFeature.cs similarity index 100% rename from src/Microsoft.AspNetCore.Routing.Abstractions/IRouteValuesFeature.cs rename to src/Routing/src/Microsoft.AspNetCore.Routing.Abstractions/IRouteValuesFeature.cs diff --git a/src/Microsoft.AspNetCore.Routing.Abstractions/IRouter.cs b/src/Routing/src/Microsoft.AspNetCore.Routing.Abstractions/IRouter.cs similarity index 100% rename from src/Microsoft.AspNetCore.Routing.Abstractions/IRouter.cs rename to src/Routing/src/Microsoft.AspNetCore.Routing.Abstractions/IRouter.cs diff --git a/src/Microsoft.AspNetCore.Routing.Abstractions/IRoutingFeature.cs b/src/Routing/src/Microsoft.AspNetCore.Routing.Abstractions/IRoutingFeature.cs similarity index 100% rename from src/Microsoft.AspNetCore.Routing.Abstractions/IRoutingFeature.cs rename to src/Routing/src/Microsoft.AspNetCore.Routing.Abstractions/IRoutingFeature.cs diff --git a/src/Microsoft.AspNetCore.Routing.Abstractions/LinkGenerator.cs b/src/Routing/src/Microsoft.AspNetCore.Routing.Abstractions/LinkGenerator.cs similarity index 100% rename from src/Microsoft.AspNetCore.Routing.Abstractions/LinkGenerator.cs rename to src/Routing/src/Microsoft.AspNetCore.Routing.Abstractions/LinkGenerator.cs diff --git a/src/Microsoft.AspNetCore.Routing.Abstractions/LinkOptions.cs b/src/Routing/src/Microsoft.AspNetCore.Routing.Abstractions/LinkOptions.cs similarity index 100% rename from src/Microsoft.AspNetCore.Routing.Abstractions/LinkOptions.cs rename to src/Routing/src/Microsoft.AspNetCore.Routing.Abstractions/LinkOptions.cs diff --git a/src/Microsoft.AspNetCore.Routing.Abstractions/Microsoft.AspNetCore.Routing.Abstractions.csproj b/src/Routing/src/Microsoft.AspNetCore.Routing.Abstractions/Microsoft.AspNetCore.Routing.Abstractions.csproj similarity index 100% rename from src/Microsoft.AspNetCore.Routing.Abstractions/Microsoft.AspNetCore.Routing.Abstractions.csproj rename to src/Routing/src/Microsoft.AspNetCore.Routing.Abstractions/Microsoft.AspNetCore.Routing.Abstractions.csproj diff --git a/src/Microsoft.AspNetCore.Routing.Abstractions/Properties/AssemblyInfo.cs b/src/Routing/src/Microsoft.AspNetCore.Routing.Abstractions/Properties/AssemblyInfo.cs similarity index 100% rename from src/Microsoft.AspNetCore.Routing.Abstractions/Properties/AssemblyInfo.cs rename to src/Routing/src/Microsoft.AspNetCore.Routing.Abstractions/Properties/AssemblyInfo.cs diff --git a/src/Microsoft.AspNetCore.Routing.Abstractions/Properties/Resources.Designer.cs b/src/Routing/src/Microsoft.AspNetCore.Routing.Abstractions/Properties/Resources.Designer.cs similarity index 100% rename from src/Microsoft.AspNetCore.Routing.Abstractions/Properties/Resources.Designer.cs rename to src/Routing/src/Microsoft.AspNetCore.Routing.Abstractions/Properties/Resources.Designer.cs diff --git a/src/Microsoft.AspNetCore.Routing.Abstractions/Resources.resx b/src/Routing/src/Microsoft.AspNetCore.Routing.Abstractions/Resources.resx similarity index 100% rename from src/Microsoft.AspNetCore.Routing.Abstractions/Resources.resx rename to src/Routing/src/Microsoft.AspNetCore.Routing.Abstractions/Resources.resx diff --git a/src/Microsoft.AspNetCore.Routing.Abstractions/RouteContext.cs b/src/Routing/src/Microsoft.AspNetCore.Routing.Abstractions/RouteContext.cs similarity index 100% rename from src/Microsoft.AspNetCore.Routing.Abstractions/RouteContext.cs rename to src/Routing/src/Microsoft.AspNetCore.Routing.Abstractions/RouteContext.cs diff --git a/src/Microsoft.AspNetCore.Routing.Abstractions/RouteData.cs b/src/Routing/src/Microsoft.AspNetCore.Routing.Abstractions/RouteData.cs similarity index 100% rename from src/Microsoft.AspNetCore.Routing.Abstractions/RouteData.cs rename to src/Routing/src/Microsoft.AspNetCore.Routing.Abstractions/RouteData.cs diff --git a/src/Microsoft.AspNetCore.Routing.Abstractions/RouteDirection.cs b/src/Routing/src/Microsoft.AspNetCore.Routing.Abstractions/RouteDirection.cs similarity index 100% rename from src/Microsoft.AspNetCore.Routing.Abstractions/RouteDirection.cs rename to src/Routing/src/Microsoft.AspNetCore.Routing.Abstractions/RouteDirection.cs diff --git a/src/Microsoft.AspNetCore.Routing.Abstractions/RouteValueDictionary.cs b/src/Routing/src/Microsoft.AspNetCore.Routing.Abstractions/RouteValueDictionary.cs similarity index 100% rename from src/Microsoft.AspNetCore.Routing.Abstractions/RouteValueDictionary.cs rename to src/Routing/src/Microsoft.AspNetCore.Routing.Abstractions/RouteValueDictionary.cs diff --git a/src/Microsoft.AspNetCore.Routing.Abstractions/RoutingHttpContextExtensions.cs b/src/Routing/src/Microsoft.AspNetCore.Routing.Abstractions/RoutingHttpContextExtensions.cs similarity index 100% rename from src/Microsoft.AspNetCore.Routing.Abstractions/RoutingHttpContextExtensions.cs rename to src/Routing/src/Microsoft.AspNetCore.Routing.Abstractions/RoutingHttpContextExtensions.cs diff --git a/src/Microsoft.AspNetCore.Routing.Abstractions/VirtualPathContext.cs b/src/Routing/src/Microsoft.AspNetCore.Routing.Abstractions/VirtualPathContext.cs similarity index 100% rename from src/Microsoft.AspNetCore.Routing.Abstractions/VirtualPathContext.cs rename to src/Routing/src/Microsoft.AspNetCore.Routing.Abstractions/VirtualPathContext.cs diff --git a/src/Microsoft.AspNetCore.Routing.Abstractions/VirtualPathData.cs b/src/Routing/src/Microsoft.AspNetCore.Routing.Abstractions/VirtualPathData.cs similarity index 100% rename from src/Microsoft.AspNetCore.Routing.Abstractions/VirtualPathData.cs rename to src/Routing/src/Microsoft.AspNetCore.Routing.Abstractions/VirtualPathData.cs diff --git a/src/Microsoft.AspNetCore.Routing.Abstractions/baseline.netcore.json b/src/Routing/src/Microsoft.AspNetCore.Routing.Abstractions/baseline.netcore.json similarity index 100% rename from src/Microsoft.AspNetCore.Routing.Abstractions/baseline.netcore.json rename to src/Routing/src/Microsoft.AspNetCore.Routing.Abstractions/baseline.netcore.json diff --git a/src/Microsoft.AspNetCore.Routing/Builder/RoutingBuilderExtensions.cs b/src/Routing/src/Microsoft.AspNetCore.Routing/Builder/RoutingBuilderExtensions.cs similarity index 100% rename from src/Microsoft.AspNetCore.Routing/Builder/RoutingBuilderExtensions.cs rename to src/Routing/src/Microsoft.AspNetCore.Routing/Builder/RoutingBuilderExtensions.cs diff --git a/src/Microsoft.AspNetCore.Routing/CompositeEndpointDataSource.cs b/src/Routing/src/Microsoft.AspNetCore.Routing/CompositeEndpointDataSource.cs similarity index 100% rename from src/Microsoft.AspNetCore.Routing/CompositeEndpointDataSource.cs rename to src/Routing/src/Microsoft.AspNetCore.Routing/CompositeEndpointDataSource.cs diff --git a/src/Microsoft.AspNetCore.Routing/Constraints/AlphaRouteConstraint.cs b/src/Routing/src/Microsoft.AspNetCore.Routing/Constraints/AlphaRouteConstraint.cs similarity index 100% rename from src/Microsoft.AspNetCore.Routing/Constraints/AlphaRouteConstraint.cs rename to src/Routing/src/Microsoft.AspNetCore.Routing/Constraints/AlphaRouteConstraint.cs diff --git a/src/Microsoft.AspNetCore.Routing/Constraints/BoolRouteConstraint.cs b/src/Routing/src/Microsoft.AspNetCore.Routing/Constraints/BoolRouteConstraint.cs similarity index 100% rename from src/Microsoft.AspNetCore.Routing/Constraints/BoolRouteConstraint.cs rename to src/Routing/src/Microsoft.AspNetCore.Routing/Constraints/BoolRouteConstraint.cs diff --git a/src/Microsoft.AspNetCore.Routing/Constraints/CompositeRouteConstraint.cs b/src/Routing/src/Microsoft.AspNetCore.Routing/Constraints/CompositeRouteConstraint.cs similarity index 100% rename from src/Microsoft.AspNetCore.Routing/Constraints/CompositeRouteConstraint.cs rename to src/Routing/src/Microsoft.AspNetCore.Routing/Constraints/CompositeRouteConstraint.cs diff --git a/src/Microsoft.AspNetCore.Routing/Constraints/DateTimeRouteConstraint.cs b/src/Routing/src/Microsoft.AspNetCore.Routing/Constraints/DateTimeRouteConstraint.cs similarity index 100% rename from src/Microsoft.AspNetCore.Routing/Constraints/DateTimeRouteConstraint.cs rename to src/Routing/src/Microsoft.AspNetCore.Routing/Constraints/DateTimeRouteConstraint.cs diff --git a/src/Microsoft.AspNetCore.Routing/Constraints/DecimalRouteConstraint.cs b/src/Routing/src/Microsoft.AspNetCore.Routing/Constraints/DecimalRouteConstraint.cs similarity index 100% rename from src/Microsoft.AspNetCore.Routing/Constraints/DecimalRouteConstraint.cs rename to src/Routing/src/Microsoft.AspNetCore.Routing/Constraints/DecimalRouteConstraint.cs diff --git a/src/Microsoft.AspNetCore.Routing/Constraints/DoubleRouteConstraint.cs b/src/Routing/src/Microsoft.AspNetCore.Routing/Constraints/DoubleRouteConstraint.cs similarity index 100% rename from src/Microsoft.AspNetCore.Routing/Constraints/DoubleRouteConstraint.cs rename to src/Routing/src/Microsoft.AspNetCore.Routing/Constraints/DoubleRouteConstraint.cs diff --git a/src/Microsoft.AspNetCore.Routing/Constraints/FloatRouteConstraint.cs b/src/Routing/src/Microsoft.AspNetCore.Routing/Constraints/FloatRouteConstraint.cs similarity index 100% rename from src/Microsoft.AspNetCore.Routing/Constraints/FloatRouteConstraint.cs rename to src/Routing/src/Microsoft.AspNetCore.Routing/Constraints/FloatRouteConstraint.cs diff --git a/src/Microsoft.AspNetCore.Routing/Constraints/GuidRouteConstraint.cs b/src/Routing/src/Microsoft.AspNetCore.Routing/Constraints/GuidRouteConstraint.cs similarity index 100% rename from src/Microsoft.AspNetCore.Routing/Constraints/GuidRouteConstraint.cs rename to src/Routing/src/Microsoft.AspNetCore.Routing/Constraints/GuidRouteConstraint.cs diff --git a/src/Microsoft.AspNetCore.Routing/Constraints/HttpMethodRouteConstraint.cs b/src/Routing/src/Microsoft.AspNetCore.Routing/Constraints/HttpMethodRouteConstraint.cs similarity index 100% rename from src/Microsoft.AspNetCore.Routing/Constraints/HttpMethodRouteConstraint.cs rename to src/Routing/src/Microsoft.AspNetCore.Routing/Constraints/HttpMethodRouteConstraint.cs diff --git a/src/Microsoft.AspNetCore.Routing/Constraints/IntRouteConstraint.cs b/src/Routing/src/Microsoft.AspNetCore.Routing/Constraints/IntRouteConstraint.cs similarity index 100% rename from src/Microsoft.AspNetCore.Routing/Constraints/IntRouteConstraint.cs rename to src/Routing/src/Microsoft.AspNetCore.Routing/Constraints/IntRouteConstraint.cs diff --git a/src/Microsoft.AspNetCore.Routing/Constraints/LengthRouteConstraint.cs b/src/Routing/src/Microsoft.AspNetCore.Routing/Constraints/LengthRouteConstraint.cs similarity index 100% rename from src/Microsoft.AspNetCore.Routing/Constraints/LengthRouteConstraint.cs rename to src/Routing/src/Microsoft.AspNetCore.Routing/Constraints/LengthRouteConstraint.cs diff --git a/src/Microsoft.AspNetCore.Routing/Constraints/LongRouteConstraint.cs b/src/Routing/src/Microsoft.AspNetCore.Routing/Constraints/LongRouteConstraint.cs similarity index 100% rename from src/Microsoft.AspNetCore.Routing/Constraints/LongRouteConstraint.cs rename to src/Routing/src/Microsoft.AspNetCore.Routing/Constraints/LongRouteConstraint.cs diff --git a/src/Microsoft.AspNetCore.Routing/Constraints/MaxLengthRouteConstraint.cs b/src/Routing/src/Microsoft.AspNetCore.Routing/Constraints/MaxLengthRouteConstraint.cs similarity index 100% rename from src/Microsoft.AspNetCore.Routing/Constraints/MaxLengthRouteConstraint.cs rename to src/Routing/src/Microsoft.AspNetCore.Routing/Constraints/MaxLengthRouteConstraint.cs diff --git a/src/Microsoft.AspNetCore.Routing/Constraints/MaxRouteConstraint.cs b/src/Routing/src/Microsoft.AspNetCore.Routing/Constraints/MaxRouteConstraint.cs similarity index 100% rename from src/Microsoft.AspNetCore.Routing/Constraints/MaxRouteConstraint.cs rename to src/Routing/src/Microsoft.AspNetCore.Routing/Constraints/MaxRouteConstraint.cs diff --git a/src/Microsoft.AspNetCore.Routing/Constraints/MinLengthRouteConstraint.cs b/src/Routing/src/Microsoft.AspNetCore.Routing/Constraints/MinLengthRouteConstraint.cs similarity index 100% rename from src/Microsoft.AspNetCore.Routing/Constraints/MinLengthRouteConstraint.cs rename to src/Routing/src/Microsoft.AspNetCore.Routing/Constraints/MinLengthRouteConstraint.cs diff --git a/src/Microsoft.AspNetCore.Routing/Constraints/MinRouteConstraint.cs b/src/Routing/src/Microsoft.AspNetCore.Routing/Constraints/MinRouteConstraint.cs similarity index 100% rename from src/Microsoft.AspNetCore.Routing/Constraints/MinRouteConstraint.cs rename to src/Routing/src/Microsoft.AspNetCore.Routing/Constraints/MinRouteConstraint.cs diff --git a/src/Microsoft.AspNetCore.Routing/Constraints/NullRouteConstraint.cs b/src/Routing/src/Microsoft.AspNetCore.Routing/Constraints/NullRouteConstraint.cs similarity index 100% rename from src/Microsoft.AspNetCore.Routing/Constraints/NullRouteConstraint.cs rename to src/Routing/src/Microsoft.AspNetCore.Routing/Constraints/NullRouteConstraint.cs diff --git a/src/Microsoft.AspNetCore.Routing/Constraints/OptionalRouteConstraint.cs b/src/Routing/src/Microsoft.AspNetCore.Routing/Constraints/OptionalRouteConstraint.cs similarity index 100% rename from src/Microsoft.AspNetCore.Routing/Constraints/OptionalRouteConstraint.cs rename to src/Routing/src/Microsoft.AspNetCore.Routing/Constraints/OptionalRouteConstraint.cs diff --git a/src/Microsoft.AspNetCore.Routing/Constraints/RangeRouteConstraint.cs b/src/Routing/src/Microsoft.AspNetCore.Routing/Constraints/RangeRouteConstraint.cs similarity index 100% rename from src/Microsoft.AspNetCore.Routing/Constraints/RangeRouteConstraint.cs rename to src/Routing/src/Microsoft.AspNetCore.Routing/Constraints/RangeRouteConstraint.cs diff --git a/src/Microsoft.AspNetCore.Routing/Constraints/RegexInlineRouteConstraint.cs b/src/Routing/src/Microsoft.AspNetCore.Routing/Constraints/RegexInlineRouteConstraint.cs similarity index 100% rename from src/Microsoft.AspNetCore.Routing/Constraints/RegexInlineRouteConstraint.cs rename to src/Routing/src/Microsoft.AspNetCore.Routing/Constraints/RegexInlineRouteConstraint.cs diff --git a/src/Microsoft.AspNetCore.Routing/Constraints/RegexRouteConstraint.cs b/src/Routing/src/Microsoft.AspNetCore.Routing/Constraints/RegexRouteConstraint.cs similarity index 100% rename from src/Microsoft.AspNetCore.Routing/Constraints/RegexRouteConstraint.cs rename to src/Routing/src/Microsoft.AspNetCore.Routing/Constraints/RegexRouteConstraint.cs diff --git a/src/Microsoft.AspNetCore.Routing/Constraints/RequiredRouteConstraint.cs b/src/Routing/src/Microsoft.AspNetCore.Routing/Constraints/RequiredRouteConstraint.cs similarity index 100% rename from src/Microsoft.AspNetCore.Routing/Constraints/RequiredRouteConstraint.cs rename to src/Routing/src/Microsoft.AspNetCore.Routing/Constraints/RequiredRouteConstraint.cs diff --git a/src/Microsoft.AspNetCore.Routing/Constraints/StringRouteConstraint.cs b/src/Routing/src/Microsoft.AspNetCore.Routing/Constraints/StringRouteConstraint.cs similarity index 100% rename from src/Microsoft.AspNetCore.Routing/Constraints/StringRouteConstraint.cs rename to src/Routing/src/Microsoft.AspNetCore.Routing/Constraints/StringRouteConstraint.cs diff --git a/src/Microsoft.AspNetCore.Routing/DataSourceDependentCache.cs b/src/Routing/src/Microsoft.AspNetCore.Routing/DataSourceDependentCache.cs similarity index 100% rename from src/Microsoft.AspNetCore.Routing/DataSourceDependentCache.cs rename to src/Routing/src/Microsoft.AspNetCore.Routing/DataSourceDependentCache.cs diff --git a/src/Microsoft.AspNetCore.Routing/DataTokensMetadata.cs b/src/Routing/src/Microsoft.AspNetCore.Routing/DataTokensMetadata.cs similarity index 100% rename from src/Microsoft.AspNetCore.Routing/DataTokensMetadata.cs rename to src/Routing/src/Microsoft.AspNetCore.Routing/DataTokensMetadata.cs diff --git a/src/Microsoft.AspNetCore.Routing/DefaultEndpointDataSource.cs b/src/Routing/src/Microsoft.AspNetCore.Routing/DefaultEndpointDataSource.cs similarity index 100% rename from src/Microsoft.AspNetCore.Routing/DefaultEndpointDataSource.cs rename to src/Routing/src/Microsoft.AspNetCore.Routing/DefaultEndpointDataSource.cs diff --git a/src/Microsoft.AspNetCore.Routing/DefaultInlineConstraintResolver.cs b/src/Routing/src/Microsoft.AspNetCore.Routing/DefaultInlineConstraintResolver.cs similarity index 100% rename from src/Microsoft.AspNetCore.Routing/DefaultInlineConstraintResolver.cs rename to src/Routing/src/Microsoft.AspNetCore.Routing/DefaultInlineConstraintResolver.cs diff --git a/src/Microsoft.AspNetCore.Routing/DefaultLinkGenerator.cs b/src/Routing/src/Microsoft.AspNetCore.Routing/DefaultLinkGenerator.cs similarity index 100% rename from src/Microsoft.AspNetCore.Routing/DefaultLinkGenerator.cs rename to src/Routing/src/Microsoft.AspNetCore.Routing/DefaultLinkGenerator.cs diff --git a/src/Microsoft.AspNetCore.Routing/DefaultParameterPolicyFactory.cs b/src/Routing/src/Microsoft.AspNetCore.Routing/DefaultParameterPolicyFactory.cs similarity index 100% rename from src/Microsoft.AspNetCore.Routing/DefaultParameterPolicyFactory.cs rename to src/Routing/src/Microsoft.AspNetCore.Routing/DefaultParameterPolicyFactory.cs diff --git a/src/Microsoft.AspNetCore.Routing/DependencyInjection/ConfigureEndpointOptions.cs b/src/Routing/src/Microsoft.AspNetCore.Routing/DependencyInjection/ConfigureEndpointOptions.cs similarity index 100% rename from src/Microsoft.AspNetCore.Routing/DependencyInjection/ConfigureEndpointOptions.cs rename to src/Routing/src/Microsoft.AspNetCore.Routing/DependencyInjection/ConfigureEndpointOptions.cs diff --git a/src/Microsoft.AspNetCore.Routing/DependencyInjection/RoutingServiceCollectionExtensions.cs b/src/Routing/src/Microsoft.AspNetCore.Routing/DependencyInjection/RoutingServiceCollectionExtensions.cs similarity index 100% rename from src/Microsoft.AspNetCore.Routing/DependencyInjection/RoutingServiceCollectionExtensions.cs rename to src/Routing/src/Microsoft.AspNetCore.Routing/DependencyInjection/RoutingServiceCollectionExtensions.cs diff --git a/src/Microsoft.AspNetCore.Routing/EndpointDataSource.cs b/src/Routing/src/Microsoft.AspNetCore.Routing/EndpointDataSource.cs similarity index 100% rename from src/Microsoft.AspNetCore.Routing/EndpointDataSource.cs rename to src/Routing/src/Microsoft.AspNetCore.Routing/EndpointDataSource.cs diff --git a/src/Microsoft.AspNetCore.Routing/EndpointMiddleware.cs b/src/Routing/src/Microsoft.AspNetCore.Routing/EndpointMiddleware.cs similarity index 100% rename from src/Microsoft.AspNetCore.Routing/EndpointMiddleware.cs rename to src/Routing/src/Microsoft.AspNetCore.Routing/EndpointMiddleware.cs diff --git a/src/Microsoft.AspNetCore.Routing/EndpointNameAddressScheme.cs b/src/Routing/src/Microsoft.AspNetCore.Routing/EndpointNameAddressScheme.cs similarity index 100% rename from src/Microsoft.AspNetCore.Routing/EndpointNameAddressScheme.cs rename to src/Routing/src/Microsoft.AspNetCore.Routing/EndpointNameAddressScheme.cs diff --git a/src/Microsoft.AspNetCore.Routing/EndpointNameMetadata.cs b/src/Routing/src/Microsoft.AspNetCore.Routing/EndpointNameMetadata.cs similarity index 100% rename from src/Microsoft.AspNetCore.Routing/EndpointNameMetadata.cs rename to src/Routing/src/Microsoft.AspNetCore.Routing/EndpointNameMetadata.cs diff --git a/src/Microsoft.AspNetCore.Routing/EndpointOptions.cs b/src/Routing/src/Microsoft.AspNetCore.Routing/EndpointOptions.cs similarity index 100% rename from src/Microsoft.AspNetCore.Routing/EndpointOptions.cs rename to src/Routing/src/Microsoft.AspNetCore.Routing/EndpointOptions.cs diff --git a/src/Microsoft.AspNetCore.Routing/EndpointRoutingMiddleware.cs b/src/Routing/src/Microsoft.AspNetCore.Routing/EndpointRoutingMiddleware.cs similarity index 100% rename from src/Microsoft.AspNetCore.Routing/EndpointRoutingMiddleware.cs rename to src/Routing/src/Microsoft.AspNetCore.Routing/EndpointRoutingMiddleware.cs diff --git a/src/Microsoft.AspNetCore.Routing/EndpointSelectorContext.cs b/src/Routing/src/Microsoft.AspNetCore.Routing/EndpointSelectorContext.cs similarity index 100% rename from src/Microsoft.AspNetCore.Routing/EndpointSelectorContext.cs rename to src/Routing/src/Microsoft.AspNetCore.Routing/EndpointSelectorContext.cs diff --git a/src/Microsoft.AspNetCore.Routing/HttpMethodMetadata.cs b/src/Routing/src/Microsoft.AspNetCore.Routing/HttpMethodMetadata.cs similarity index 100% rename from src/Microsoft.AspNetCore.Routing/HttpMethodMetadata.cs rename to src/Routing/src/Microsoft.AspNetCore.Routing/HttpMethodMetadata.cs diff --git a/src/Microsoft.AspNetCore.Routing/IDataTokenMetadata.cs b/src/Routing/src/Microsoft.AspNetCore.Routing/IDataTokenMetadata.cs similarity index 100% rename from src/Microsoft.AspNetCore.Routing/IDataTokenMetadata.cs rename to src/Routing/src/Microsoft.AspNetCore.Routing/IDataTokenMetadata.cs diff --git a/src/Microsoft.AspNetCore.Routing/IEndpointAddressScheme.cs b/src/Routing/src/Microsoft.AspNetCore.Routing/IEndpointAddressScheme.cs similarity index 100% rename from src/Microsoft.AspNetCore.Routing/IEndpointAddressScheme.cs rename to src/Routing/src/Microsoft.AspNetCore.Routing/IEndpointAddressScheme.cs diff --git a/src/Microsoft.AspNetCore.Routing/IEndpointNameMetadata.cs b/src/Routing/src/Microsoft.AspNetCore.Routing/IEndpointNameMetadata.cs similarity index 100% rename from src/Microsoft.AspNetCore.Routing/IEndpointNameMetadata.cs rename to src/Routing/src/Microsoft.AspNetCore.Routing/IEndpointNameMetadata.cs diff --git a/src/Microsoft.AspNetCore.Routing/IHttpMethodMetadata.cs b/src/Routing/src/Microsoft.AspNetCore.Routing/IHttpMethodMetadata.cs similarity index 100% rename from src/Microsoft.AspNetCore.Routing/IHttpMethodMetadata.cs rename to src/Routing/src/Microsoft.AspNetCore.Routing/IHttpMethodMetadata.cs diff --git a/src/Microsoft.AspNetCore.Routing/IInlineConstraintResolver.cs b/src/Routing/src/Microsoft.AspNetCore.Routing/IInlineConstraintResolver.cs similarity index 100% rename from src/Microsoft.AspNetCore.Routing/IInlineConstraintResolver.cs rename to src/Routing/src/Microsoft.AspNetCore.Routing/IInlineConstraintResolver.cs diff --git a/src/Microsoft.AspNetCore.Routing/INamedRouter.cs b/src/Routing/src/Microsoft.AspNetCore.Routing/INamedRouter.cs similarity index 100% rename from src/Microsoft.AspNetCore.Routing/INamedRouter.cs rename to src/Routing/src/Microsoft.AspNetCore.Routing/INamedRouter.cs diff --git a/src/Microsoft.AspNetCore.Routing/IRouteBuilder.cs b/src/Routing/src/Microsoft.AspNetCore.Routing/IRouteBuilder.cs similarity index 100% rename from src/Microsoft.AspNetCore.Routing/IRouteBuilder.cs rename to src/Routing/src/Microsoft.AspNetCore.Routing/IRouteBuilder.cs diff --git a/src/Microsoft.AspNetCore.Routing/IRouteCollection.cs b/src/Routing/src/Microsoft.AspNetCore.Routing/IRouteCollection.cs similarity index 100% rename from src/Microsoft.AspNetCore.Routing/IRouteCollection.cs rename to src/Routing/src/Microsoft.AspNetCore.Routing/IRouteCollection.cs diff --git a/src/Microsoft.AspNetCore.Routing/IRouteValuesAddressMetadata.cs b/src/Routing/src/Microsoft.AspNetCore.Routing/IRouteValuesAddressMetadata.cs similarity index 100% rename from src/Microsoft.AspNetCore.Routing/IRouteValuesAddressMetadata.cs rename to src/Routing/src/Microsoft.AspNetCore.Routing/IRouteValuesAddressMetadata.cs diff --git a/src/Microsoft.AspNetCore.Routing/ISuppressLinkGenerationMetadata.cs b/src/Routing/src/Microsoft.AspNetCore.Routing/ISuppressLinkGenerationMetadata.cs similarity index 100% rename from src/Microsoft.AspNetCore.Routing/ISuppressLinkGenerationMetadata.cs rename to src/Routing/src/Microsoft.AspNetCore.Routing/ISuppressLinkGenerationMetadata.cs diff --git a/src/Microsoft.AspNetCore.Routing/ISuppressMatchingMetadata.cs b/src/Routing/src/Microsoft.AspNetCore.Routing/ISuppressMatchingMetadata.cs similarity index 100% rename from src/Microsoft.AspNetCore.Routing/ISuppressMatchingMetadata.cs rename to src/Routing/src/Microsoft.AspNetCore.Routing/ISuppressMatchingMetadata.cs diff --git a/src/Microsoft.AspNetCore.Routing/InlineRouteParameterParser.cs b/src/Routing/src/Microsoft.AspNetCore.Routing/InlineRouteParameterParser.cs similarity index 100% rename from src/Microsoft.AspNetCore.Routing/InlineRouteParameterParser.cs rename to src/Routing/src/Microsoft.AspNetCore.Routing/InlineRouteParameterParser.cs diff --git a/src/Microsoft.AspNetCore.Routing/Internal/BufferValue.cs b/src/Routing/src/Microsoft.AspNetCore.Routing/Internal/BufferValue.cs similarity index 100% rename from src/Microsoft.AspNetCore.Routing/Internal/BufferValue.cs rename to src/Routing/src/Microsoft.AspNetCore.Routing/Internal/BufferValue.cs diff --git a/src/Microsoft.AspNetCore.Routing/Internal/DfaGraphWriter.cs b/src/Routing/src/Microsoft.AspNetCore.Routing/Internal/DfaGraphWriter.cs similarity index 100% rename from src/Microsoft.AspNetCore.Routing/Internal/DfaGraphWriter.cs rename to src/Routing/src/Microsoft.AspNetCore.Routing/Internal/DfaGraphWriter.cs diff --git a/src/Microsoft.AspNetCore.Routing/Internal/EndpointRoutingApplicationBuilderExtensions.cs b/src/Routing/src/Microsoft.AspNetCore.Routing/Internal/EndpointRoutingApplicationBuilderExtensions.cs similarity index 100% rename from src/Microsoft.AspNetCore.Routing/Internal/EndpointRoutingApplicationBuilderExtensions.cs rename to src/Routing/src/Microsoft.AspNetCore.Routing/Internal/EndpointRoutingApplicationBuilderExtensions.cs diff --git a/src/Microsoft.AspNetCore.Routing/Internal/LinkGenerationDecisionTree.cs b/src/Routing/src/Microsoft.AspNetCore.Routing/Internal/LinkGenerationDecisionTree.cs similarity index 100% rename from src/Microsoft.AspNetCore.Routing/Internal/LinkGenerationDecisionTree.cs rename to src/Routing/src/Microsoft.AspNetCore.Routing/Internal/LinkGenerationDecisionTree.cs diff --git a/src/Microsoft.AspNetCore.Routing/Internal/NullRouter.cs b/src/Routing/src/Microsoft.AspNetCore.Routing/Internal/NullRouter.cs similarity index 100% rename from src/Microsoft.AspNetCore.Routing/Internal/NullRouter.cs rename to src/Routing/src/Microsoft.AspNetCore.Routing/Internal/NullRouter.cs diff --git a/src/Microsoft.AspNetCore.Routing/Internal/OutboundMatchResult.cs b/src/Routing/src/Microsoft.AspNetCore.Routing/Internal/OutboundMatchResult.cs similarity index 100% rename from src/Microsoft.AspNetCore.Routing/Internal/OutboundMatchResult.cs rename to src/Routing/src/Microsoft.AspNetCore.Routing/Internal/OutboundMatchResult.cs diff --git a/src/Microsoft.AspNetCore.Routing/Internal/ParameterPolicyActivator.cs b/src/Routing/src/Microsoft.AspNetCore.Routing/Internal/ParameterPolicyActivator.cs similarity index 100% rename from src/Microsoft.AspNetCore.Routing/Internal/ParameterPolicyActivator.cs rename to src/Routing/src/Microsoft.AspNetCore.Routing/Internal/ParameterPolicyActivator.cs diff --git a/src/Microsoft.AspNetCore.Routing/Internal/PathTokenizer.cs b/src/Routing/src/Microsoft.AspNetCore.Routing/Internal/PathTokenizer.cs similarity index 100% rename from src/Microsoft.AspNetCore.Routing/Internal/PathTokenizer.cs rename to src/Routing/src/Microsoft.AspNetCore.Routing/Internal/PathTokenizer.cs diff --git a/src/Microsoft.AspNetCore.Routing/Internal/RoutingMarkerService.cs b/src/Routing/src/Microsoft.AspNetCore.Routing/Internal/RoutingMarkerService.cs similarity index 100% rename from src/Microsoft.AspNetCore.Routing/Internal/RoutingMarkerService.cs rename to src/Routing/src/Microsoft.AspNetCore.Routing/Internal/RoutingMarkerService.cs diff --git a/src/Microsoft.AspNetCore.Routing/Internal/SegmentState.cs b/src/Routing/src/Microsoft.AspNetCore.Routing/Internal/SegmentState.cs similarity index 100% rename from src/Microsoft.AspNetCore.Routing/Internal/SegmentState.cs rename to src/Routing/src/Microsoft.AspNetCore.Routing/Internal/SegmentState.cs diff --git a/src/Microsoft.AspNetCore.Routing/Internal/UriBuilderContextPooledObjectPolicy.cs b/src/Routing/src/Microsoft.AspNetCore.Routing/Internal/UriBuilderContextPooledObjectPolicy.cs similarity index 100% rename from src/Microsoft.AspNetCore.Routing/Internal/UriBuilderContextPooledObjectPolicy.cs rename to src/Routing/src/Microsoft.AspNetCore.Routing/Internal/UriBuilderContextPooledObjectPolicy.cs diff --git a/src/Microsoft.AspNetCore.Routing/Internal/UriBuildingContext.cs b/src/Routing/src/Microsoft.AspNetCore.Routing/Internal/UriBuildingContext.cs similarity index 100% rename from src/Microsoft.AspNetCore.Routing/Internal/UriBuildingContext.cs rename to src/Routing/src/Microsoft.AspNetCore.Routing/Internal/UriBuildingContext.cs diff --git a/src/Microsoft.AspNetCore.Routing/LinkGeneratorEndpointNameAddressExtensions.cs b/src/Routing/src/Microsoft.AspNetCore.Routing/LinkGeneratorEndpointNameAddressExtensions.cs similarity index 100% rename from src/Microsoft.AspNetCore.Routing/LinkGeneratorEndpointNameAddressExtensions.cs rename to src/Routing/src/Microsoft.AspNetCore.Routing/LinkGeneratorEndpointNameAddressExtensions.cs diff --git a/src/Microsoft.AspNetCore.Routing/LinkGeneratorRouteValuesAddressExtensions.cs b/src/Routing/src/Microsoft.AspNetCore.Routing/LinkGeneratorRouteValuesAddressExtensions.cs similarity index 100% rename from src/Microsoft.AspNetCore.Routing/LinkGeneratorRouteValuesAddressExtensions.cs rename to src/Routing/src/Microsoft.AspNetCore.Routing/LinkGeneratorRouteValuesAddressExtensions.cs diff --git a/src/Microsoft.AspNetCore.Routing/Logging/RouteConstraintMatcherExtensions.cs b/src/Routing/src/Microsoft.AspNetCore.Routing/Logging/RouteConstraintMatcherExtensions.cs similarity index 100% rename from src/Microsoft.AspNetCore.Routing/Logging/RouteConstraintMatcherExtensions.cs rename to src/Routing/src/Microsoft.AspNetCore.Routing/Logging/RouteConstraintMatcherExtensions.cs diff --git a/src/Microsoft.AspNetCore.Routing/Logging/RouterMiddlewareLoggerExtensions.cs b/src/Routing/src/Microsoft.AspNetCore.Routing/Logging/RouterMiddlewareLoggerExtensions.cs similarity index 100% rename from src/Microsoft.AspNetCore.Routing/Logging/RouterMiddlewareLoggerExtensions.cs rename to src/Routing/src/Microsoft.AspNetCore.Routing/Logging/RouterMiddlewareLoggerExtensions.cs diff --git a/src/Microsoft.AspNetCore.Routing/Logging/TreeRouterLoggerExtensions.cs b/src/Routing/src/Microsoft.AspNetCore.Routing/Logging/TreeRouterLoggerExtensions.cs similarity index 100% rename from src/Microsoft.AspNetCore.Routing/Logging/TreeRouterLoggerExtensions.cs rename to src/Routing/src/Microsoft.AspNetCore.Routing/Logging/TreeRouterLoggerExtensions.cs diff --git a/src/Microsoft.AspNetCore.Routing/MapRouteRouteBuilderExtensions.cs b/src/Routing/src/Microsoft.AspNetCore.Routing/MapRouteRouteBuilderExtensions.cs similarity index 100% rename from src/Microsoft.AspNetCore.Routing/MapRouteRouteBuilderExtensions.cs rename to src/Routing/src/Microsoft.AspNetCore.Routing/MapRouteRouteBuilderExtensions.cs diff --git a/src/Microsoft.AspNetCore.Routing/Matching/AmbiguousMatchException.cs b/src/Routing/src/Microsoft.AspNetCore.Routing/Matching/AmbiguousMatchException.cs similarity index 100% rename from src/Microsoft.AspNetCore.Routing/Matching/AmbiguousMatchException.cs rename to src/Routing/src/Microsoft.AspNetCore.Routing/Matching/AmbiguousMatchException.cs diff --git a/src/Microsoft.AspNetCore.Routing/Matching/Ascii.cs b/src/Routing/src/Microsoft.AspNetCore.Routing/Matching/Ascii.cs similarity index 100% rename from src/Microsoft.AspNetCore.Routing/Matching/Ascii.cs rename to src/Routing/src/Microsoft.AspNetCore.Routing/Matching/Ascii.cs diff --git a/src/Microsoft.AspNetCore.Routing/Matching/Candidate.cs b/src/Routing/src/Microsoft.AspNetCore.Routing/Matching/Candidate.cs similarity index 100% rename from src/Microsoft.AspNetCore.Routing/Matching/Candidate.cs rename to src/Routing/src/Microsoft.AspNetCore.Routing/Matching/Candidate.cs diff --git a/src/Microsoft.AspNetCore.Routing/Matching/CandidateSet.cs b/src/Routing/src/Microsoft.AspNetCore.Routing/Matching/CandidateSet.cs similarity index 100% rename from src/Microsoft.AspNetCore.Routing/Matching/CandidateSet.cs rename to src/Routing/src/Microsoft.AspNetCore.Routing/Matching/CandidateSet.cs diff --git a/src/Microsoft.AspNetCore.Routing/Matching/CandidateState.cs b/src/Routing/src/Microsoft.AspNetCore.Routing/Matching/CandidateState.cs similarity index 100% rename from src/Microsoft.AspNetCore.Routing/Matching/CandidateState.cs rename to src/Routing/src/Microsoft.AspNetCore.Routing/Matching/CandidateState.cs diff --git a/src/Microsoft.AspNetCore.Routing/Matching/DataSourceDependentMatcher.cs b/src/Routing/src/Microsoft.AspNetCore.Routing/Matching/DataSourceDependentMatcher.cs similarity index 100% rename from src/Microsoft.AspNetCore.Routing/Matching/DataSourceDependentMatcher.cs rename to src/Routing/src/Microsoft.AspNetCore.Routing/Matching/DataSourceDependentMatcher.cs diff --git a/src/Microsoft.AspNetCore.Routing/Matching/DefaultEndpointSelector.cs b/src/Routing/src/Microsoft.AspNetCore.Routing/Matching/DefaultEndpointSelector.cs similarity index 100% rename from src/Microsoft.AspNetCore.Routing/Matching/DefaultEndpointSelector.cs rename to src/Routing/src/Microsoft.AspNetCore.Routing/Matching/DefaultEndpointSelector.cs diff --git a/src/Microsoft.AspNetCore.Routing/Matching/DfaMatcher.cs b/src/Routing/src/Microsoft.AspNetCore.Routing/Matching/DfaMatcher.cs similarity index 100% rename from src/Microsoft.AspNetCore.Routing/Matching/DfaMatcher.cs rename to src/Routing/src/Microsoft.AspNetCore.Routing/Matching/DfaMatcher.cs diff --git a/src/Microsoft.AspNetCore.Routing/Matching/DfaMatcherBuilder.cs b/src/Routing/src/Microsoft.AspNetCore.Routing/Matching/DfaMatcherBuilder.cs similarity index 100% rename from src/Microsoft.AspNetCore.Routing/Matching/DfaMatcherBuilder.cs rename to src/Routing/src/Microsoft.AspNetCore.Routing/Matching/DfaMatcherBuilder.cs diff --git a/src/Microsoft.AspNetCore.Routing/Matching/DfaMatcherFactory.cs b/src/Routing/src/Microsoft.AspNetCore.Routing/Matching/DfaMatcherFactory.cs similarity index 100% rename from src/Microsoft.AspNetCore.Routing/Matching/DfaMatcherFactory.cs rename to src/Routing/src/Microsoft.AspNetCore.Routing/Matching/DfaMatcherFactory.cs diff --git a/src/Microsoft.AspNetCore.Routing/Matching/DfaNode.cs b/src/Routing/src/Microsoft.AspNetCore.Routing/Matching/DfaNode.cs similarity index 100% rename from src/Microsoft.AspNetCore.Routing/Matching/DfaNode.cs rename to src/Routing/src/Microsoft.AspNetCore.Routing/Matching/DfaNode.cs diff --git a/src/Microsoft.AspNetCore.Routing/Matching/DfaState.cs b/src/Routing/src/Microsoft.AspNetCore.Routing/Matching/DfaState.cs similarity index 100% rename from src/Microsoft.AspNetCore.Routing/Matching/DfaState.cs rename to src/Routing/src/Microsoft.AspNetCore.Routing/Matching/DfaState.cs diff --git a/src/Microsoft.AspNetCore.Routing/Matching/DictionaryJumpTable.cs b/src/Routing/src/Microsoft.AspNetCore.Routing/Matching/DictionaryJumpTable.cs similarity index 100% rename from src/Microsoft.AspNetCore.Routing/Matching/DictionaryJumpTable.cs rename to src/Routing/src/Microsoft.AspNetCore.Routing/Matching/DictionaryJumpTable.cs diff --git a/src/Microsoft.AspNetCore.Routing/Matching/EndpointComparer.cs b/src/Routing/src/Microsoft.AspNetCore.Routing/Matching/EndpointComparer.cs similarity index 100% rename from src/Microsoft.AspNetCore.Routing/Matching/EndpointComparer.cs rename to src/Routing/src/Microsoft.AspNetCore.Routing/Matching/EndpointComparer.cs diff --git a/src/Microsoft.AspNetCore.Routing/Matching/EndpointMetadataComparer.cs b/src/Routing/src/Microsoft.AspNetCore.Routing/Matching/EndpointMetadataComparer.cs similarity index 100% rename from src/Microsoft.AspNetCore.Routing/Matching/EndpointMetadataComparer.cs rename to src/Routing/src/Microsoft.AspNetCore.Routing/Matching/EndpointMetadataComparer.cs diff --git a/src/Microsoft.AspNetCore.Routing/Matching/EndpointSelector.cs b/src/Routing/src/Microsoft.AspNetCore.Routing/Matching/EndpointSelector.cs similarity index 100% rename from src/Microsoft.AspNetCore.Routing/Matching/EndpointSelector.cs rename to src/Routing/src/Microsoft.AspNetCore.Routing/Matching/EndpointSelector.cs diff --git a/src/Microsoft.AspNetCore.Routing/Matching/FastPathTokenizer.cs b/src/Routing/src/Microsoft.AspNetCore.Routing/Matching/FastPathTokenizer.cs similarity index 100% rename from src/Microsoft.AspNetCore.Routing/Matching/FastPathTokenizer.cs rename to src/Routing/src/Microsoft.AspNetCore.Routing/Matching/FastPathTokenizer.cs diff --git a/src/Microsoft.AspNetCore.Routing/Matching/HttpMethodMatcherPolicy.cs b/src/Routing/src/Microsoft.AspNetCore.Routing/Matching/HttpMethodMatcherPolicy.cs similarity index 100% rename from src/Microsoft.AspNetCore.Routing/Matching/HttpMethodMatcherPolicy.cs rename to src/Routing/src/Microsoft.AspNetCore.Routing/Matching/HttpMethodMatcherPolicy.cs diff --git a/src/Microsoft.AspNetCore.Routing/Matching/IEndpointComparerPolicy.cs b/src/Routing/src/Microsoft.AspNetCore.Routing/Matching/IEndpointComparerPolicy.cs similarity index 100% rename from src/Microsoft.AspNetCore.Routing/Matching/IEndpointComparerPolicy.cs rename to src/Routing/src/Microsoft.AspNetCore.Routing/Matching/IEndpointComparerPolicy.cs diff --git a/src/Microsoft.AspNetCore.Routing/Matching/IEndpointSelectorPolicy.cs b/src/Routing/src/Microsoft.AspNetCore.Routing/Matching/IEndpointSelectorPolicy.cs similarity index 100% rename from src/Microsoft.AspNetCore.Routing/Matching/IEndpointSelectorPolicy.cs rename to src/Routing/src/Microsoft.AspNetCore.Routing/Matching/IEndpointSelectorPolicy.cs diff --git a/src/Microsoft.AspNetCore.Routing/Matching/ILEmitTrieFactory.cs b/src/Routing/src/Microsoft.AspNetCore.Routing/Matching/ILEmitTrieFactory.cs similarity index 100% rename from src/Microsoft.AspNetCore.Routing/Matching/ILEmitTrieFactory.cs rename to src/Routing/src/Microsoft.AspNetCore.Routing/Matching/ILEmitTrieFactory.cs diff --git a/src/Microsoft.AspNetCore.Routing/Matching/ILEmitTrieJumpTable.cs b/src/Routing/src/Microsoft.AspNetCore.Routing/Matching/ILEmitTrieJumpTable.cs similarity index 100% rename from src/Microsoft.AspNetCore.Routing/Matching/ILEmitTrieJumpTable.cs rename to src/Routing/src/Microsoft.AspNetCore.Routing/Matching/ILEmitTrieJumpTable.cs diff --git a/src/Microsoft.AspNetCore.Routing/Matching/INodeBuilderPolicy.cs b/src/Routing/src/Microsoft.AspNetCore.Routing/Matching/INodeBuilderPolicy.cs similarity index 100% rename from src/Microsoft.AspNetCore.Routing/Matching/INodeBuilderPolicy.cs rename to src/Routing/src/Microsoft.AspNetCore.Routing/Matching/INodeBuilderPolicy.cs diff --git a/src/Microsoft.AspNetCore.Routing/Matching/JumpTable.cs b/src/Routing/src/Microsoft.AspNetCore.Routing/Matching/JumpTable.cs similarity index 100% rename from src/Microsoft.AspNetCore.Routing/Matching/JumpTable.cs rename to src/Routing/src/Microsoft.AspNetCore.Routing/Matching/JumpTable.cs diff --git a/src/Microsoft.AspNetCore.Routing/Matching/JumpTableBuilder.cs b/src/Routing/src/Microsoft.AspNetCore.Routing/Matching/JumpTableBuilder.cs similarity index 100% rename from src/Microsoft.AspNetCore.Routing/Matching/JumpTableBuilder.cs rename to src/Routing/src/Microsoft.AspNetCore.Routing/Matching/JumpTableBuilder.cs diff --git a/src/Microsoft.AspNetCore.Routing/Matching/LinearSearchJumpTable.cs b/src/Routing/src/Microsoft.AspNetCore.Routing/Matching/LinearSearchJumpTable.cs similarity index 100% rename from src/Microsoft.AspNetCore.Routing/Matching/LinearSearchJumpTable.cs rename to src/Routing/src/Microsoft.AspNetCore.Routing/Matching/LinearSearchJumpTable.cs diff --git a/src/Microsoft.AspNetCore.Routing/Matching/Matcher.cs b/src/Routing/src/Microsoft.AspNetCore.Routing/Matching/Matcher.cs similarity index 100% rename from src/Microsoft.AspNetCore.Routing/Matching/Matcher.cs rename to src/Routing/src/Microsoft.AspNetCore.Routing/Matching/Matcher.cs diff --git a/src/Microsoft.AspNetCore.Routing/Matching/MatcherBuilder.cs b/src/Routing/src/Microsoft.AspNetCore.Routing/Matching/MatcherBuilder.cs similarity index 100% rename from src/Microsoft.AspNetCore.Routing/Matching/MatcherBuilder.cs rename to src/Routing/src/Microsoft.AspNetCore.Routing/Matching/MatcherBuilder.cs diff --git a/src/Microsoft.AspNetCore.Routing/Matching/MatcherFactory.cs b/src/Routing/src/Microsoft.AspNetCore.Routing/Matching/MatcherFactory.cs similarity index 100% rename from src/Microsoft.AspNetCore.Routing/Matching/MatcherFactory.cs rename to src/Routing/src/Microsoft.AspNetCore.Routing/Matching/MatcherFactory.cs diff --git a/src/Microsoft.AspNetCore.Routing/Matching/MatcherPolicy.cs b/src/Routing/src/Microsoft.AspNetCore.Routing/Matching/MatcherPolicy.cs similarity index 100% rename from src/Microsoft.AspNetCore.Routing/Matching/MatcherPolicy.cs rename to src/Routing/src/Microsoft.AspNetCore.Routing/Matching/MatcherPolicy.cs diff --git a/src/Microsoft.AspNetCore.Routing/Matching/PathSegment.cs b/src/Routing/src/Microsoft.AspNetCore.Routing/Matching/PathSegment.cs similarity index 100% rename from src/Microsoft.AspNetCore.Routing/Matching/PathSegment.cs rename to src/Routing/src/Microsoft.AspNetCore.Routing/Matching/PathSegment.cs diff --git a/src/Microsoft.AspNetCore.Routing/Matching/PolicyJumpTable.cs b/src/Routing/src/Microsoft.AspNetCore.Routing/Matching/PolicyJumpTable.cs similarity index 100% rename from src/Microsoft.AspNetCore.Routing/Matching/PolicyJumpTable.cs rename to src/Routing/src/Microsoft.AspNetCore.Routing/Matching/PolicyJumpTable.cs diff --git a/src/Microsoft.AspNetCore.Routing/Matching/PolicyJumpTableEdge.cs b/src/Routing/src/Microsoft.AspNetCore.Routing/Matching/PolicyJumpTableEdge.cs similarity index 100% rename from src/Microsoft.AspNetCore.Routing/Matching/PolicyJumpTableEdge.cs rename to src/Routing/src/Microsoft.AspNetCore.Routing/Matching/PolicyJumpTableEdge.cs diff --git a/src/Microsoft.AspNetCore.Routing/Matching/PolicyNodeEdge.cs b/src/Routing/src/Microsoft.AspNetCore.Routing/Matching/PolicyNodeEdge.cs similarity index 100% rename from src/Microsoft.AspNetCore.Routing/Matching/PolicyNodeEdge.cs rename to src/Routing/src/Microsoft.AspNetCore.Routing/Matching/PolicyNodeEdge.cs diff --git a/src/Microsoft.AspNetCore.Routing/Matching/SingleEntryAsciiJumpTable.cs b/src/Routing/src/Microsoft.AspNetCore.Routing/Matching/SingleEntryAsciiJumpTable.cs similarity index 100% rename from src/Microsoft.AspNetCore.Routing/Matching/SingleEntryAsciiJumpTable.cs rename to src/Routing/src/Microsoft.AspNetCore.Routing/Matching/SingleEntryAsciiJumpTable.cs diff --git a/src/Microsoft.AspNetCore.Routing/Matching/SingleEntryJumpTable.cs b/src/Routing/src/Microsoft.AspNetCore.Routing/Matching/SingleEntryJumpTable.cs similarity index 100% rename from src/Microsoft.AspNetCore.Routing/Matching/SingleEntryJumpTable.cs rename to src/Routing/src/Microsoft.AspNetCore.Routing/Matching/SingleEntryJumpTable.cs diff --git a/src/Microsoft.AspNetCore.Routing/Matching/ZeroEntryJumpTable.cs b/src/Routing/src/Microsoft.AspNetCore.Routing/Matching/ZeroEntryJumpTable.cs similarity index 100% rename from src/Microsoft.AspNetCore.Routing/Matching/ZeroEntryJumpTable.cs rename to src/Routing/src/Microsoft.AspNetCore.Routing/Matching/ZeroEntryJumpTable.cs diff --git a/src/Microsoft.AspNetCore.Routing/Microsoft.AspNetCore.Routing.csproj b/src/Routing/src/Microsoft.AspNetCore.Routing/Microsoft.AspNetCore.Routing.csproj similarity index 100% rename from src/Microsoft.AspNetCore.Routing/Microsoft.AspNetCore.Routing.csproj rename to src/Routing/src/Microsoft.AspNetCore.Routing/Microsoft.AspNetCore.Routing.csproj diff --git a/src/Microsoft.AspNetCore.Routing/ParameterPolicyFactory.cs b/src/Routing/src/Microsoft.AspNetCore.Routing/ParameterPolicyFactory.cs similarity index 100% rename from src/Microsoft.AspNetCore.Routing/ParameterPolicyFactory.cs rename to src/Routing/src/Microsoft.AspNetCore.Routing/ParameterPolicyFactory.cs diff --git a/src/Microsoft.AspNetCore.Routing/Patterns/RouteParameterParser.cs b/src/Routing/src/Microsoft.AspNetCore.Routing/Patterns/RouteParameterParser.cs similarity index 100% rename from src/Microsoft.AspNetCore.Routing/Patterns/RouteParameterParser.cs rename to src/Routing/src/Microsoft.AspNetCore.Routing/Patterns/RouteParameterParser.cs diff --git a/src/Microsoft.AspNetCore.Routing/Patterns/RoutePattern.cs b/src/Routing/src/Microsoft.AspNetCore.Routing/Patterns/RoutePattern.cs similarity index 100% rename from src/Microsoft.AspNetCore.Routing/Patterns/RoutePattern.cs rename to src/Routing/src/Microsoft.AspNetCore.Routing/Patterns/RoutePattern.cs diff --git a/src/Microsoft.AspNetCore.Routing/Patterns/RoutePatternException.cs b/src/Routing/src/Microsoft.AspNetCore.Routing/Patterns/RoutePatternException.cs similarity index 100% rename from src/Microsoft.AspNetCore.Routing/Patterns/RoutePatternException.cs rename to src/Routing/src/Microsoft.AspNetCore.Routing/Patterns/RoutePatternException.cs diff --git a/src/Microsoft.AspNetCore.Routing/Patterns/RoutePatternFactory.cs b/src/Routing/src/Microsoft.AspNetCore.Routing/Patterns/RoutePatternFactory.cs similarity index 100% rename from src/Microsoft.AspNetCore.Routing/Patterns/RoutePatternFactory.cs rename to src/Routing/src/Microsoft.AspNetCore.Routing/Patterns/RoutePatternFactory.cs diff --git a/src/Microsoft.AspNetCore.Routing/Patterns/RoutePatternLiteralPart.cs b/src/Routing/src/Microsoft.AspNetCore.Routing/Patterns/RoutePatternLiteralPart.cs similarity index 100% rename from src/Microsoft.AspNetCore.Routing/Patterns/RoutePatternLiteralPart.cs rename to src/Routing/src/Microsoft.AspNetCore.Routing/Patterns/RoutePatternLiteralPart.cs diff --git a/src/Microsoft.AspNetCore.Routing/Patterns/RoutePatternMatcher.cs b/src/Routing/src/Microsoft.AspNetCore.Routing/Patterns/RoutePatternMatcher.cs similarity index 100% rename from src/Microsoft.AspNetCore.Routing/Patterns/RoutePatternMatcher.cs rename to src/Routing/src/Microsoft.AspNetCore.Routing/Patterns/RoutePatternMatcher.cs diff --git a/src/Microsoft.AspNetCore.Routing/Patterns/RoutePatternParameterKind.cs b/src/Routing/src/Microsoft.AspNetCore.Routing/Patterns/RoutePatternParameterKind.cs similarity index 100% rename from src/Microsoft.AspNetCore.Routing/Patterns/RoutePatternParameterKind.cs rename to src/Routing/src/Microsoft.AspNetCore.Routing/Patterns/RoutePatternParameterKind.cs diff --git a/src/Microsoft.AspNetCore.Routing/Patterns/RoutePatternParameterPart.cs b/src/Routing/src/Microsoft.AspNetCore.Routing/Patterns/RoutePatternParameterPart.cs similarity index 100% rename from src/Microsoft.AspNetCore.Routing/Patterns/RoutePatternParameterPart.cs rename to src/Routing/src/Microsoft.AspNetCore.Routing/Patterns/RoutePatternParameterPart.cs diff --git a/src/Microsoft.AspNetCore.Routing/Patterns/RoutePatternParameterPolicyReference.cs b/src/Routing/src/Microsoft.AspNetCore.Routing/Patterns/RoutePatternParameterPolicyReference.cs similarity index 100% rename from src/Microsoft.AspNetCore.Routing/Patterns/RoutePatternParameterPolicyReference.cs rename to src/Routing/src/Microsoft.AspNetCore.Routing/Patterns/RoutePatternParameterPolicyReference.cs diff --git a/src/Microsoft.AspNetCore.Routing/Patterns/RoutePatternParser.cs b/src/Routing/src/Microsoft.AspNetCore.Routing/Patterns/RoutePatternParser.cs similarity index 100% rename from src/Microsoft.AspNetCore.Routing/Patterns/RoutePatternParser.cs rename to src/Routing/src/Microsoft.AspNetCore.Routing/Patterns/RoutePatternParser.cs diff --git a/src/Microsoft.AspNetCore.Routing/Patterns/RoutePatternPart.cs b/src/Routing/src/Microsoft.AspNetCore.Routing/Patterns/RoutePatternPart.cs similarity index 100% rename from src/Microsoft.AspNetCore.Routing/Patterns/RoutePatternPart.cs rename to src/Routing/src/Microsoft.AspNetCore.Routing/Patterns/RoutePatternPart.cs diff --git a/src/Microsoft.AspNetCore.Routing/Patterns/RoutePatternPartKind.cs b/src/Routing/src/Microsoft.AspNetCore.Routing/Patterns/RoutePatternPartKind.cs similarity index 100% rename from src/Microsoft.AspNetCore.Routing/Patterns/RoutePatternPartKind.cs rename to src/Routing/src/Microsoft.AspNetCore.Routing/Patterns/RoutePatternPartKind.cs diff --git a/src/Microsoft.AspNetCore.Routing/Patterns/RoutePatternPathSegment.cs b/src/Routing/src/Microsoft.AspNetCore.Routing/Patterns/RoutePatternPathSegment.cs similarity index 100% rename from src/Microsoft.AspNetCore.Routing/Patterns/RoutePatternPathSegment.cs rename to src/Routing/src/Microsoft.AspNetCore.Routing/Patterns/RoutePatternPathSegment.cs diff --git a/src/Microsoft.AspNetCore.Routing/Patterns/RoutePatternSeparatorPart.cs b/src/Routing/src/Microsoft.AspNetCore.Routing/Patterns/RoutePatternSeparatorPart.cs similarity index 100% rename from src/Microsoft.AspNetCore.Routing/Patterns/RoutePatternSeparatorPart.cs rename to src/Routing/src/Microsoft.AspNetCore.Routing/Patterns/RoutePatternSeparatorPart.cs diff --git a/src/Microsoft.AspNetCore.Routing/Properties/AssemblyInfo.cs b/src/Routing/src/Microsoft.AspNetCore.Routing/Properties/AssemblyInfo.cs similarity index 100% rename from src/Microsoft.AspNetCore.Routing/Properties/AssemblyInfo.cs rename to src/Routing/src/Microsoft.AspNetCore.Routing/Properties/AssemblyInfo.cs diff --git a/src/Microsoft.AspNetCore.Routing/Properties/Resources.Designer.cs b/src/Routing/src/Microsoft.AspNetCore.Routing/Properties/Resources.Designer.cs similarity index 100% rename from src/Microsoft.AspNetCore.Routing/Properties/Resources.Designer.cs rename to src/Routing/src/Microsoft.AspNetCore.Routing/Properties/Resources.Designer.cs diff --git a/src/Microsoft.AspNetCore.Routing/RequestDelegateRouteBuilderExtensions.cs b/src/Routing/src/Microsoft.AspNetCore.Routing/RequestDelegateRouteBuilderExtensions.cs similarity index 100% rename from src/Microsoft.AspNetCore.Routing/RequestDelegateRouteBuilderExtensions.cs rename to src/Routing/src/Microsoft.AspNetCore.Routing/RequestDelegateRouteBuilderExtensions.cs diff --git a/src/Microsoft.AspNetCore.Routing/Resources.resx b/src/Routing/src/Microsoft.AspNetCore.Routing/Resources.resx similarity index 100% rename from src/Microsoft.AspNetCore.Routing/Resources.resx rename to src/Routing/src/Microsoft.AspNetCore.Routing/Resources.resx diff --git a/src/Microsoft.AspNetCore.Routing/Route.cs b/src/Routing/src/Microsoft.AspNetCore.Routing/Route.cs similarity index 100% rename from src/Microsoft.AspNetCore.Routing/Route.cs rename to src/Routing/src/Microsoft.AspNetCore.Routing/Route.cs diff --git a/src/Microsoft.AspNetCore.Routing/RouteBase.cs b/src/Routing/src/Microsoft.AspNetCore.Routing/RouteBase.cs similarity index 100% rename from src/Microsoft.AspNetCore.Routing/RouteBase.cs rename to src/Routing/src/Microsoft.AspNetCore.Routing/RouteBase.cs diff --git a/src/Microsoft.AspNetCore.Routing/RouteBuilder.cs b/src/Routing/src/Microsoft.AspNetCore.Routing/RouteBuilder.cs similarity index 100% rename from src/Microsoft.AspNetCore.Routing/RouteBuilder.cs rename to src/Routing/src/Microsoft.AspNetCore.Routing/RouteBuilder.cs diff --git a/src/Microsoft.AspNetCore.Routing/RouteCollection.cs b/src/Routing/src/Microsoft.AspNetCore.Routing/RouteCollection.cs similarity index 100% rename from src/Microsoft.AspNetCore.Routing/RouteCollection.cs rename to src/Routing/src/Microsoft.AspNetCore.Routing/RouteCollection.cs diff --git a/src/Microsoft.AspNetCore.Routing/RouteConstraintBuilder.cs b/src/Routing/src/Microsoft.AspNetCore.Routing/RouteConstraintBuilder.cs similarity index 100% rename from src/Microsoft.AspNetCore.Routing/RouteConstraintBuilder.cs rename to src/Routing/src/Microsoft.AspNetCore.Routing/RouteConstraintBuilder.cs diff --git a/src/Microsoft.AspNetCore.Routing/RouteConstraintMatcher.cs b/src/Routing/src/Microsoft.AspNetCore.Routing/RouteConstraintMatcher.cs similarity index 100% rename from src/Microsoft.AspNetCore.Routing/RouteConstraintMatcher.cs rename to src/Routing/src/Microsoft.AspNetCore.Routing/RouteConstraintMatcher.cs diff --git a/src/Microsoft.AspNetCore.Routing/RouteCreationException.cs b/src/Routing/src/Microsoft.AspNetCore.Routing/RouteCreationException.cs similarity index 100% rename from src/Microsoft.AspNetCore.Routing/RouteCreationException.cs rename to src/Routing/src/Microsoft.AspNetCore.Routing/RouteCreationException.cs diff --git a/src/Microsoft.AspNetCore.Routing/RouteEndpoint.cs b/src/Routing/src/Microsoft.AspNetCore.Routing/RouteEndpoint.cs similarity index 100% rename from src/Microsoft.AspNetCore.Routing/RouteEndpoint.cs rename to src/Routing/src/Microsoft.AspNetCore.Routing/RouteEndpoint.cs diff --git a/src/Microsoft.AspNetCore.Routing/RouteHandler.cs b/src/Routing/src/Microsoft.AspNetCore.Routing/RouteHandler.cs similarity index 100% rename from src/Microsoft.AspNetCore.Routing/RouteHandler.cs rename to src/Routing/src/Microsoft.AspNetCore.Routing/RouteHandler.cs diff --git a/src/Microsoft.AspNetCore.Routing/RouteOptions.cs b/src/Routing/src/Microsoft.AspNetCore.Routing/RouteOptions.cs similarity index 100% rename from src/Microsoft.AspNetCore.Routing/RouteOptions.cs rename to src/Routing/src/Microsoft.AspNetCore.Routing/RouteOptions.cs diff --git a/src/Microsoft.AspNetCore.Routing/RouteValueEqualityComparer.cs b/src/Routing/src/Microsoft.AspNetCore.Routing/RouteValueEqualityComparer.cs similarity index 100% rename from src/Microsoft.AspNetCore.Routing/RouteValueEqualityComparer.cs rename to src/Routing/src/Microsoft.AspNetCore.Routing/RouteValueEqualityComparer.cs diff --git a/src/Microsoft.AspNetCore.Routing/RouteValuesAddress.cs b/src/Routing/src/Microsoft.AspNetCore.Routing/RouteValuesAddress.cs similarity index 100% rename from src/Microsoft.AspNetCore.Routing/RouteValuesAddress.cs rename to src/Routing/src/Microsoft.AspNetCore.Routing/RouteValuesAddress.cs diff --git a/src/Microsoft.AspNetCore.Routing/RouteValuesAddressMetadata.cs b/src/Routing/src/Microsoft.AspNetCore.Routing/RouteValuesAddressMetadata.cs similarity index 100% rename from src/Microsoft.AspNetCore.Routing/RouteValuesAddressMetadata.cs rename to src/Routing/src/Microsoft.AspNetCore.Routing/RouteValuesAddressMetadata.cs diff --git a/src/Microsoft.AspNetCore.Routing/RouteValuesAddressScheme.cs b/src/Routing/src/Microsoft.AspNetCore.Routing/RouteValuesAddressScheme.cs similarity index 100% rename from src/Microsoft.AspNetCore.Routing/RouteValuesAddressScheme.cs rename to src/Routing/src/Microsoft.AspNetCore.Routing/RouteValuesAddressScheme.cs diff --git a/src/Microsoft.AspNetCore.Routing/RouterMiddleware.cs b/src/Routing/src/Microsoft.AspNetCore.Routing/RouterMiddleware.cs similarity index 100% rename from src/Microsoft.AspNetCore.Routing/RouterMiddleware.cs rename to src/Routing/src/Microsoft.AspNetCore.Routing/RouterMiddleware.cs diff --git a/src/Microsoft.AspNetCore.Routing/RoutingFeature.cs b/src/Routing/src/Microsoft.AspNetCore.Routing/RoutingFeature.cs similarity index 100% rename from src/Microsoft.AspNetCore.Routing/RoutingFeature.cs rename to src/Routing/src/Microsoft.AspNetCore.Routing/RoutingFeature.cs diff --git a/src/Microsoft.AspNetCore.Routing/SuppressLinkGenerationMetadata.cs b/src/Routing/src/Microsoft.AspNetCore.Routing/SuppressLinkGenerationMetadata.cs similarity index 100% rename from src/Microsoft.AspNetCore.Routing/SuppressLinkGenerationMetadata.cs rename to src/Routing/src/Microsoft.AspNetCore.Routing/SuppressLinkGenerationMetadata.cs diff --git a/src/Microsoft.AspNetCore.Routing/SuppressMatchingMetadata.cs b/src/Routing/src/Microsoft.AspNetCore.Routing/SuppressMatchingMetadata.cs similarity index 100% rename from src/Microsoft.AspNetCore.Routing/SuppressMatchingMetadata.cs rename to src/Routing/src/Microsoft.AspNetCore.Routing/SuppressMatchingMetadata.cs diff --git a/src/Microsoft.AspNetCore.Routing/Template/InlineConstraint.cs b/src/Routing/src/Microsoft.AspNetCore.Routing/Template/InlineConstraint.cs similarity index 100% rename from src/Microsoft.AspNetCore.Routing/Template/InlineConstraint.cs rename to src/Routing/src/Microsoft.AspNetCore.Routing/Template/InlineConstraint.cs diff --git a/src/Microsoft.AspNetCore.Routing/Template/RoutePrecedence.cs b/src/Routing/src/Microsoft.AspNetCore.Routing/Template/RoutePrecedence.cs similarity index 100% rename from src/Microsoft.AspNetCore.Routing/Template/RoutePrecedence.cs rename to src/Routing/src/Microsoft.AspNetCore.Routing/Template/RoutePrecedence.cs diff --git a/src/Microsoft.AspNetCore.Routing/Template/RouteTemplate.cs b/src/Routing/src/Microsoft.AspNetCore.Routing/Template/RouteTemplate.cs similarity index 100% rename from src/Microsoft.AspNetCore.Routing/Template/RouteTemplate.cs rename to src/Routing/src/Microsoft.AspNetCore.Routing/Template/RouteTemplate.cs diff --git a/src/Microsoft.AspNetCore.Routing/Template/TemplateBinder.cs b/src/Routing/src/Microsoft.AspNetCore.Routing/Template/TemplateBinder.cs similarity index 100% rename from src/Microsoft.AspNetCore.Routing/Template/TemplateBinder.cs rename to src/Routing/src/Microsoft.AspNetCore.Routing/Template/TemplateBinder.cs diff --git a/src/Microsoft.AspNetCore.Routing/Template/TemplateMatcher.cs b/src/Routing/src/Microsoft.AspNetCore.Routing/Template/TemplateMatcher.cs similarity index 100% rename from src/Microsoft.AspNetCore.Routing/Template/TemplateMatcher.cs rename to src/Routing/src/Microsoft.AspNetCore.Routing/Template/TemplateMatcher.cs diff --git a/src/Microsoft.AspNetCore.Routing/Template/TemplateParser.cs b/src/Routing/src/Microsoft.AspNetCore.Routing/Template/TemplateParser.cs similarity index 100% rename from src/Microsoft.AspNetCore.Routing/Template/TemplateParser.cs rename to src/Routing/src/Microsoft.AspNetCore.Routing/Template/TemplateParser.cs diff --git a/src/Microsoft.AspNetCore.Routing/Template/TemplatePart.cs b/src/Routing/src/Microsoft.AspNetCore.Routing/Template/TemplatePart.cs similarity index 100% rename from src/Microsoft.AspNetCore.Routing/Template/TemplatePart.cs rename to src/Routing/src/Microsoft.AspNetCore.Routing/Template/TemplatePart.cs diff --git a/src/Microsoft.AspNetCore.Routing/Template/TemplateSegment.cs b/src/Routing/src/Microsoft.AspNetCore.Routing/Template/TemplateSegment.cs similarity index 100% rename from src/Microsoft.AspNetCore.Routing/Template/TemplateSegment.cs rename to src/Routing/src/Microsoft.AspNetCore.Routing/Template/TemplateSegment.cs diff --git a/src/Microsoft.AspNetCore.Routing/Template/TemplateValuesResult.cs b/src/Routing/src/Microsoft.AspNetCore.Routing/Template/TemplateValuesResult.cs similarity index 100% rename from src/Microsoft.AspNetCore.Routing/Template/TemplateValuesResult.cs rename to src/Routing/src/Microsoft.AspNetCore.Routing/Template/TemplateValuesResult.cs diff --git a/src/Microsoft.AspNetCore.Routing/Tree/InboundMatch.cs b/src/Routing/src/Microsoft.AspNetCore.Routing/Tree/InboundMatch.cs similarity index 100% rename from src/Microsoft.AspNetCore.Routing/Tree/InboundMatch.cs rename to src/Routing/src/Microsoft.AspNetCore.Routing/Tree/InboundMatch.cs diff --git a/src/Microsoft.AspNetCore.Routing/Tree/InboundRouteEntry.cs b/src/Routing/src/Microsoft.AspNetCore.Routing/Tree/InboundRouteEntry.cs similarity index 100% rename from src/Microsoft.AspNetCore.Routing/Tree/InboundRouteEntry.cs rename to src/Routing/src/Microsoft.AspNetCore.Routing/Tree/InboundRouteEntry.cs diff --git a/src/Microsoft.AspNetCore.Routing/Tree/OutboundMatch.cs b/src/Routing/src/Microsoft.AspNetCore.Routing/Tree/OutboundMatch.cs similarity index 100% rename from src/Microsoft.AspNetCore.Routing/Tree/OutboundMatch.cs rename to src/Routing/src/Microsoft.AspNetCore.Routing/Tree/OutboundMatch.cs diff --git a/src/Microsoft.AspNetCore.Routing/Tree/OutboundRouteEntry.cs b/src/Routing/src/Microsoft.AspNetCore.Routing/Tree/OutboundRouteEntry.cs similarity index 100% rename from src/Microsoft.AspNetCore.Routing/Tree/OutboundRouteEntry.cs rename to src/Routing/src/Microsoft.AspNetCore.Routing/Tree/OutboundRouteEntry.cs diff --git a/src/Microsoft.AspNetCore.Routing/Tree/TreeEnumerator.cs b/src/Routing/src/Microsoft.AspNetCore.Routing/Tree/TreeEnumerator.cs similarity index 100% rename from src/Microsoft.AspNetCore.Routing/Tree/TreeEnumerator.cs rename to src/Routing/src/Microsoft.AspNetCore.Routing/Tree/TreeEnumerator.cs diff --git a/src/Microsoft.AspNetCore.Routing/Tree/TreeRouteBuilder.cs b/src/Routing/src/Microsoft.AspNetCore.Routing/Tree/TreeRouteBuilder.cs similarity index 100% rename from src/Microsoft.AspNetCore.Routing/Tree/TreeRouteBuilder.cs rename to src/Routing/src/Microsoft.AspNetCore.Routing/Tree/TreeRouteBuilder.cs diff --git a/src/Microsoft.AspNetCore.Routing/Tree/TreeRouter.cs b/src/Routing/src/Microsoft.AspNetCore.Routing/Tree/TreeRouter.cs similarity index 100% rename from src/Microsoft.AspNetCore.Routing/Tree/TreeRouter.cs rename to src/Routing/src/Microsoft.AspNetCore.Routing/Tree/TreeRouter.cs diff --git a/src/Microsoft.AspNetCore.Routing/Tree/UrlMatchingNode.cs b/src/Routing/src/Microsoft.AspNetCore.Routing/Tree/UrlMatchingNode.cs similarity index 100% rename from src/Microsoft.AspNetCore.Routing/Tree/UrlMatchingNode.cs rename to src/Routing/src/Microsoft.AspNetCore.Routing/Tree/UrlMatchingNode.cs diff --git a/src/Microsoft.AspNetCore.Routing/Tree/UrlMatchingTree.cs b/src/Routing/src/Microsoft.AspNetCore.Routing/Tree/UrlMatchingTree.cs similarity index 100% rename from src/Microsoft.AspNetCore.Routing/Tree/UrlMatchingTree.cs rename to src/Routing/src/Microsoft.AspNetCore.Routing/Tree/UrlMatchingTree.cs diff --git a/src/Microsoft.AspNetCore.Routing/baseline.netcore.json b/src/Routing/src/Microsoft.AspNetCore.Routing/baseline.netcore.json similarity index 100% rename from src/Microsoft.AspNetCore.Routing/baseline.netcore.json rename to src/Routing/src/Microsoft.AspNetCore.Routing/baseline.netcore.json diff --git a/test/Directory.Build.props b/src/Routing/test/Directory.Build.props similarity index 100% rename from test/Directory.Build.props rename to src/Routing/test/Directory.Build.props diff --git a/test/Microsoft.AspNetCore.Mvc.Routing.Abstractions.Tests/EndpointMetadataCollectionTests.cs b/src/Routing/test/Microsoft.AspNetCore.Mvc.Routing.Abstractions.Tests/EndpointMetadataCollectionTests.cs similarity index 100% rename from test/Microsoft.AspNetCore.Mvc.Routing.Abstractions.Tests/EndpointMetadataCollectionTests.cs rename to src/Routing/test/Microsoft.AspNetCore.Mvc.Routing.Abstractions.Tests/EndpointMetadataCollectionTests.cs diff --git a/test/Microsoft.AspNetCore.Mvc.Routing.Abstractions.Tests/Microsoft.AspNetCore.Mvc.Routing.Abstractions.Tests.csproj b/src/Routing/test/Microsoft.AspNetCore.Mvc.Routing.Abstractions.Tests/Microsoft.AspNetCore.Mvc.Routing.Abstractions.Tests.csproj similarity index 100% rename from test/Microsoft.AspNetCore.Mvc.Routing.Abstractions.Tests/Microsoft.AspNetCore.Mvc.Routing.Abstractions.Tests.csproj rename to src/Routing/test/Microsoft.AspNetCore.Mvc.Routing.Abstractions.Tests/Microsoft.AspNetCore.Mvc.Routing.Abstractions.Tests.csproj diff --git a/test/Microsoft.AspNetCore.Mvc.Routing.Abstractions.Tests/RouteDataTest.cs b/src/Routing/test/Microsoft.AspNetCore.Mvc.Routing.Abstractions.Tests/RouteDataTest.cs similarity index 100% rename from test/Microsoft.AspNetCore.Mvc.Routing.Abstractions.Tests/RouteDataTest.cs rename to src/Routing/test/Microsoft.AspNetCore.Mvc.Routing.Abstractions.Tests/RouteDataTest.cs diff --git a/test/Microsoft.AspNetCore.Mvc.Routing.Abstractions.Tests/RouteValueDictionaryTests.cs b/src/Routing/test/Microsoft.AspNetCore.Mvc.Routing.Abstractions.Tests/RouteValueDictionaryTests.cs similarity index 100% rename from test/Microsoft.AspNetCore.Mvc.Routing.Abstractions.Tests/RouteValueDictionaryTests.cs rename to src/Routing/test/Microsoft.AspNetCore.Mvc.Routing.Abstractions.Tests/RouteValueDictionaryTests.cs diff --git a/test/Microsoft.AspNetCore.Mvc.Routing.Abstractions.Tests/VirtualPathDataTests.cs b/src/Routing/test/Microsoft.AspNetCore.Mvc.Routing.Abstractions.Tests/VirtualPathDataTests.cs similarity index 100% rename from test/Microsoft.AspNetCore.Mvc.Routing.Abstractions.Tests/VirtualPathDataTests.cs rename to src/Routing/test/Microsoft.AspNetCore.Mvc.Routing.Abstractions.Tests/VirtualPathDataTests.cs diff --git a/test/Microsoft.AspNetCore.Routing.DecisionTree.Sources.Tests/DecisionTreeBuilderTest.cs b/src/Routing/test/Microsoft.AspNetCore.Routing.DecisionTree.Sources.Tests/DecisionTreeBuilderTest.cs similarity index 100% rename from test/Microsoft.AspNetCore.Routing.DecisionTree.Sources.Tests/DecisionTreeBuilderTest.cs rename to src/Routing/test/Microsoft.AspNetCore.Routing.DecisionTree.Sources.Tests/DecisionTreeBuilderTest.cs diff --git a/test/Microsoft.AspNetCore.Routing.DecisionTree.Sources.Tests/Microsoft.AspNetCore.Routing.DecisionTree.Sources.Tests.csproj b/src/Routing/test/Microsoft.AspNetCore.Routing.DecisionTree.Sources.Tests/Microsoft.AspNetCore.Routing.DecisionTree.Sources.Tests.csproj similarity index 100% rename from test/Microsoft.AspNetCore.Routing.DecisionTree.Sources.Tests/Microsoft.AspNetCore.Routing.DecisionTree.Sources.Tests.csproj rename to src/Routing/test/Microsoft.AspNetCore.Routing.DecisionTree.Sources.Tests/Microsoft.AspNetCore.Routing.DecisionTree.Sources.Tests.csproj diff --git a/test/Microsoft.AspNetCore.Routing.FunctionalTests/Benchmarks/EndpointRoutingBenchmarkTest.cs b/src/Routing/test/Microsoft.AspNetCore.Routing.FunctionalTests/Benchmarks/EndpointRoutingBenchmarkTest.cs similarity index 100% rename from test/Microsoft.AspNetCore.Routing.FunctionalTests/Benchmarks/EndpointRoutingBenchmarkTest.cs rename to src/Routing/test/Microsoft.AspNetCore.Routing.FunctionalTests/Benchmarks/EndpointRoutingBenchmarkTest.cs diff --git a/test/Microsoft.AspNetCore.Routing.FunctionalTests/Benchmarks/RouterBenchmarkTest.cs b/src/Routing/test/Microsoft.AspNetCore.Routing.FunctionalTests/Benchmarks/RouterBenchmarkTest.cs similarity index 100% rename from test/Microsoft.AspNetCore.Routing.FunctionalTests/Benchmarks/RouterBenchmarkTest.cs rename to src/Routing/test/Microsoft.AspNetCore.Routing.FunctionalTests/Benchmarks/RouterBenchmarkTest.cs diff --git a/test/Microsoft.AspNetCore.Routing.FunctionalTests/EndpointRoutingSampleTest.cs b/src/Routing/test/Microsoft.AspNetCore.Routing.FunctionalTests/EndpointRoutingSampleTest.cs similarity index 100% rename from test/Microsoft.AspNetCore.Routing.FunctionalTests/EndpointRoutingSampleTest.cs rename to src/Routing/test/Microsoft.AspNetCore.Routing.FunctionalTests/EndpointRoutingSampleTest.cs diff --git a/test/Microsoft.AspNetCore.Routing.FunctionalTests/Microsoft.AspNetCore.Routing.FunctionalTests.csproj b/src/Routing/test/Microsoft.AspNetCore.Routing.FunctionalTests/Microsoft.AspNetCore.Routing.FunctionalTests.csproj similarity index 100% rename from test/Microsoft.AspNetCore.Routing.FunctionalTests/Microsoft.AspNetCore.Routing.FunctionalTests.csproj rename to src/Routing/test/Microsoft.AspNetCore.Routing.FunctionalTests/Microsoft.AspNetCore.Routing.FunctionalTests.csproj diff --git a/test/Microsoft.AspNetCore.Routing.FunctionalTests/RouterSampleTest.cs b/src/Routing/test/Microsoft.AspNetCore.Routing.FunctionalTests/RouterSampleTest.cs similarity index 100% rename from test/Microsoft.AspNetCore.Routing.FunctionalTests/RouterSampleTest.cs rename to src/Routing/test/Microsoft.AspNetCore.Routing.FunctionalTests/RouterSampleTest.cs diff --git a/test/Microsoft.AspNetCore.Routing.FunctionalTests/RoutingTestFixture.cs b/src/Routing/test/Microsoft.AspNetCore.Routing.FunctionalTests/RoutingTestFixture.cs similarity index 100% rename from test/Microsoft.AspNetCore.Routing.FunctionalTests/RoutingTestFixture.cs rename to src/Routing/test/Microsoft.AspNetCore.Routing.FunctionalTests/RoutingTestFixture.cs diff --git a/test/Microsoft.AspNetCore.Routing.FunctionalTests/WebHostBuilderExtensionsTest.cs b/src/Routing/test/Microsoft.AspNetCore.Routing.FunctionalTests/WebHostBuilderExtensionsTest.cs similarity index 100% rename from test/Microsoft.AspNetCore.Routing.FunctionalTests/WebHostBuilderExtensionsTest.cs rename to src/Routing/test/Microsoft.AspNetCore.Routing.FunctionalTests/WebHostBuilderExtensionsTest.cs diff --git a/test/Microsoft.AspNetCore.Routing.Tests/Builder/EndpointRoutingBuilderExtensionsTest.cs b/src/Routing/test/Microsoft.AspNetCore.Routing.Tests/Builder/EndpointRoutingBuilderExtensionsTest.cs similarity index 100% rename from test/Microsoft.AspNetCore.Routing.Tests/Builder/EndpointRoutingBuilderExtensionsTest.cs rename to src/Routing/test/Microsoft.AspNetCore.Routing.Tests/Builder/EndpointRoutingBuilderExtensionsTest.cs diff --git a/test/Microsoft.AspNetCore.Routing.Tests/Builder/RoutingBuilderExtensionsTest.cs b/src/Routing/test/Microsoft.AspNetCore.Routing.Tests/Builder/RoutingBuilderExtensionsTest.cs similarity index 100% rename from test/Microsoft.AspNetCore.Routing.Tests/Builder/RoutingBuilderExtensionsTest.cs rename to src/Routing/test/Microsoft.AspNetCore.Routing.Tests/Builder/RoutingBuilderExtensionsTest.cs diff --git a/test/Microsoft.AspNetCore.Routing.Tests/CompositeEndpointDataSourceTest.cs b/src/Routing/test/Microsoft.AspNetCore.Routing.Tests/CompositeEndpointDataSourceTest.cs similarity index 100% rename from test/Microsoft.AspNetCore.Routing.Tests/CompositeEndpointDataSourceTest.cs rename to src/Routing/test/Microsoft.AspNetCore.Routing.Tests/CompositeEndpointDataSourceTest.cs diff --git a/test/Microsoft.AspNetCore.Routing.Tests/ConstraintMatcherTest.cs b/src/Routing/test/Microsoft.AspNetCore.Routing.Tests/ConstraintMatcherTest.cs similarity index 100% rename from test/Microsoft.AspNetCore.Routing.Tests/ConstraintMatcherTest.cs rename to src/Routing/test/Microsoft.AspNetCore.Routing.Tests/ConstraintMatcherTest.cs diff --git a/test/Microsoft.AspNetCore.Routing.Tests/Constraints/AlphaRouteConstraintTests.cs b/src/Routing/test/Microsoft.AspNetCore.Routing.Tests/Constraints/AlphaRouteConstraintTests.cs similarity index 100% rename from test/Microsoft.AspNetCore.Routing.Tests/Constraints/AlphaRouteConstraintTests.cs rename to src/Routing/test/Microsoft.AspNetCore.Routing.Tests/Constraints/AlphaRouteConstraintTests.cs diff --git a/test/Microsoft.AspNetCore.Routing.Tests/Constraints/BoolRouteConstraintTests.cs b/src/Routing/test/Microsoft.AspNetCore.Routing.Tests/Constraints/BoolRouteConstraintTests.cs similarity index 100% rename from test/Microsoft.AspNetCore.Routing.Tests/Constraints/BoolRouteConstraintTests.cs rename to src/Routing/test/Microsoft.AspNetCore.Routing.Tests/Constraints/BoolRouteConstraintTests.cs diff --git a/test/Microsoft.AspNetCore.Routing.Tests/Constraints/CompositeRouteConstraintTests.cs b/src/Routing/test/Microsoft.AspNetCore.Routing.Tests/Constraints/CompositeRouteConstraintTests.cs similarity index 100% rename from test/Microsoft.AspNetCore.Routing.Tests/Constraints/CompositeRouteConstraintTests.cs rename to src/Routing/test/Microsoft.AspNetCore.Routing.Tests/Constraints/CompositeRouteConstraintTests.cs diff --git a/test/Microsoft.AspNetCore.Routing.Tests/Constraints/ConstraintsTestHelper.cs b/src/Routing/test/Microsoft.AspNetCore.Routing.Tests/Constraints/ConstraintsTestHelper.cs similarity index 100% rename from test/Microsoft.AspNetCore.Routing.Tests/Constraints/ConstraintsTestHelper.cs rename to src/Routing/test/Microsoft.AspNetCore.Routing.Tests/Constraints/ConstraintsTestHelper.cs diff --git a/test/Microsoft.AspNetCore.Routing.Tests/Constraints/DateTimeRouteConstraintTests.cs b/src/Routing/test/Microsoft.AspNetCore.Routing.Tests/Constraints/DateTimeRouteConstraintTests.cs similarity index 100% rename from test/Microsoft.AspNetCore.Routing.Tests/Constraints/DateTimeRouteConstraintTests.cs rename to src/Routing/test/Microsoft.AspNetCore.Routing.Tests/Constraints/DateTimeRouteConstraintTests.cs diff --git a/test/Microsoft.AspNetCore.Routing.Tests/Constraints/DecimalRouteConstraintTests.cs b/src/Routing/test/Microsoft.AspNetCore.Routing.Tests/Constraints/DecimalRouteConstraintTests.cs similarity index 100% rename from test/Microsoft.AspNetCore.Routing.Tests/Constraints/DecimalRouteConstraintTests.cs rename to src/Routing/test/Microsoft.AspNetCore.Routing.Tests/Constraints/DecimalRouteConstraintTests.cs diff --git a/test/Microsoft.AspNetCore.Routing.Tests/Constraints/DoubleRouteConstraintTests.cs b/src/Routing/test/Microsoft.AspNetCore.Routing.Tests/Constraints/DoubleRouteConstraintTests.cs similarity index 100% rename from test/Microsoft.AspNetCore.Routing.Tests/Constraints/DoubleRouteConstraintTests.cs rename to src/Routing/test/Microsoft.AspNetCore.Routing.Tests/Constraints/DoubleRouteConstraintTests.cs diff --git a/test/Microsoft.AspNetCore.Routing.Tests/Constraints/FloatRouteConstraintTests.cs b/src/Routing/test/Microsoft.AspNetCore.Routing.Tests/Constraints/FloatRouteConstraintTests.cs similarity index 100% rename from test/Microsoft.AspNetCore.Routing.Tests/Constraints/FloatRouteConstraintTests.cs rename to src/Routing/test/Microsoft.AspNetCore.Routing.Tests/Constraints/FloatRouteConstraintTests.cs diff --git a/test/Microsoft.AspNetCore.Routing.Tests/Constraints/GuidRouteConstraintTests.cs b/src/Routing/test/Microsoft.AspNetCore.Routing.Tests/Constraints/GuidRouteConstraintTests.cs similarity index 100% rename from test/Microsoft.AspNetCore.Routing.Tests/Constraints/GuidRouteConstraintTests.cs rename to src/Routing/test/Microsoft.AspNetCore.Routing.Tests/Constraints/GuidRouteConstraintTests.cs diff --git a/test/Microsoft.AspNetCore.Routing.Tests/Constraints/HttpMethodRouteConstraintTests.cs b/src/Routing/test/Microsoft.AspNetCore.Routing.Tests/Constraints/HttpMethodRouteConstraintTests.cs similarity index 100% rename from test/Microsoft.AspNetCore.Routing.Tests/Constraints/HttpMethodRouteConstraintTests.cs rename to src/Routing/test/Microsoft.AspNetCore.Routing.Tests/Constraints/HttpMethodRouteConstraintTests.cs diff --git a/test/Microsoft.AspNetCore.Routing.Tests/Constraints/IntRouteConstraintsTests.cs b/src/Routing/test/Microsoft.AspNetCore.Routing.Tests/Constraints/IntRouteConstraintsTests.cs similarity index 100% rename from test/Microsoft.AspNetCore.Routing.Tests/Constraints/IntRouteConstraintsTests.cs rename to src/Routing/test/Microsoft.AspNetCore.Routing.Tests/Constraints/IntRouteConstraintsTests.cs diff --git a/test/Microsoft.AspNetCore.Routing.Tests/Constraints/LengthRouteConstraintTests.cs b/src/Routing/test/Microsoft.AspNetCore.Routing.Tests/Constraints/LengthRouteConstraintTests.cs similarity index 100% rename from test/Microsoft.AspNetCore.Routing.Tests/Constraints/LengthRouteConstraintTests.cs rename to src/Routing/test/Microsoft.AspNetCore.Routing.Tests/Constraints/LengthRouteConstraintTests.cs diff --git a/test/Microsoft.AspNetCore.Routing.Tests/Constraints/LongRouteConstraintTests.cs b/src/Routing/test/Microsoft.AspNetCore.Routing.Tests/Constraints/LongRouteConstraintTests.cs similarity index 100% rename from test/Microsoft.AspNetCore.Routing.Tests/Constraints/LongRouteConstraintTests.cs rename to src/Routing/test/Microsoft.AspNetCore.Routing.Tests/Constraints/LongRouteConstraintTests.cs diff --git a/test/Microsoft.AspNetCore.Routing.Tests/Constraints/MaxLengthRouteConstraintTests.cs b/src/Routing/test/Microsoft.AspNetCore.Routing.Tests/Constraints/MaxLengthRouteConstraintTests.cs similarity index 100% rename from test/Microsoft.AspNetCore.Routing.Tests/Constraints/MaxLengthRouteConstraintTests.cs rename to src/Routing/test/Microsoft.AspNetCore.Routing.Tests/Constraints/MaxLengthRouteConstraintTests.cs diff --git a/test/Microsoft.AspNetCore.Routing.Tests/Constraints/MaxRouteConstraintTests.cs b/src/Routing/test/Microsoft.AspNetCore.Routing.Tests/Constraints/MaxRouteConstraintTests.cs similarity index 100% rename from test/Microsoft.AspNetCore.Routing.Tests/Constraints/MaxRouteConstraintTests.cs rename to src/Routing/test/Microsoft.AspNetCore.Routing.Tests/Constraints/MaxRouteConstraintTests.cs diff --git a/test/Microsoft.AspNetCore.Routing.Tests/Constraints/MinLengthRouteConstraintTests.cs b/src/Routing/test/Microsoft.AspNetCore.Routing.Tests/Constraints/MinLengthRouteConstraintTests.cs similarity index 100% rename from test/Microsoft.AspNetCore.Routing.Tests/Constraints/MinLengthRouteConstraintTests.cs rename to src/Routing/test/Microsoft.AspNetCore.Routing.Tests/Constraints/MinLengthRouteConstraintTests.cs diff --git a/test/Microsoft.AspNetCore.Routing.Tests/Constraints/MinRouteConstraintTests.cs b/src/Routing/test/Microsoft.AspNetCore.Routing.Tests/Constraints/MinRouteConstraintTests.cs similarity index 100% rename from test/Microsoft.AspNetCore.Routing.Tests/Constraints/MinRouteConstraintTests.cs rename to src/Routing/test/Microsoft.AspNetCore.Routing.Tests/Constraints/MinRouteConstraintTests.cs diff --git a/test/Microsoft.AspNetCore.Routing.Tests/Constraints/RangeRouteConstraintTests.cs b/src/Routing/test/Microsoft.AspNetCore.Routing.Tests/Constraints/RangeRouteConstraintTests.cs similarity index 100% rename from test/Microsoft.AspNetCore.Routing.Tests/Constraints/RangeRouteConstraintTests.cs rename to src/Routing/test/Microsoft.AspNetCore.Routing.Tests/Constraints/RangeRouteConstraintTests.cs diff --git a/test/Microsoft.AspNetCore.Routing.Tests/Constraints/RegexInlineRouteConstraintTests.cs b/src/Routing/test/Microsoft.AspNetCore.Routing.Tests/Constraints/RegexInlineRouteConstraintTests.cs similarity index 100% rename from test/Microsoft.AspNetCore.Routing.Tests/Constraints/RegexInlineRouteConstraintTests.cs rename to src/Routing/test/Microsoft.AspNetCore.Routing.Tests/Constraints/RegexInlineRouteConstraintTests.cs diff --git a/test/Microsoft.AspNetCore.Routing.Tests/Constraints/RegexRouteConstraintTests.cs b/src/Routing/test/Microsoft.AspNetCore.Routing.Tests/Constraints/RegexRouteConstraintTests.cs similarity index 100% rename from test/Microsoft.AspNetCore.Routing.Tests/Constraints/RegexRouteConstraintTests.cs rename to src/Routing/test/Microsoft.AspNetCore.Routing.Tests/Constraints/RegexRouteConstraintTests.cs diff --git a/test/Microsoft.AspNetCore.Routing.Tests/Constraints/RequiredRouteConstraintTests.cs b/src/Routing/test/Microsoft.AspNetCore.Routing.Tests/Constraints/RequiredRouteConstraintTests.cs similarity index 100% rename from test/Microsoft.AspNetCore.Routing.Tests/Constraints/RequiredRouteConstraintTests.cs rename to src/Routing/test/Microsoft.AspNetCore.Routing.Tests/Constraints/RequiredRouteConstraintTests.cs diff --git a/test/Microsoft.AspNetCore.Routing.Tests/Constraints/StringRouteConstraintTest.cs b/src/Routing/test/Microsoft.AspNetCore.Routing.Tests/Constraints/StringRouteConstraintTest.cs similarity index 100% rename from test/Microsoft.AspNetCore.Routing.Tests/Constraints/StringRouteConstraintTest.cs rename to src/Routing/test/Microsoft.AspNetCore.Routing.Tests/Constraints/StringRouteConstraintTest.cs diff --git a/test/Microsoft.AspNetCore.Routing.Tests/DataSourceDependentCacheTest.cs b/src/Routing/test/Microsoft.AspNetCore.Routing.Tests/DataSourceDependentCacheTest.cs similarity index 100% rename from test/Microsoft.AspNetCore.Routing.Tests/DataSourceDependentCacheTest.cs rename to src/Routing/test/Microsoft.AspNetCore.Routing.Tests/DataSourceDependentCacheTest.cs diff --git a/test/Microsoft.AspNetCore.Routing.Tests/DefaultEndpointDataSourceTests.cs b/src/Routing/test/Microsoft.AspNetCore.Routing.Tests/DefaultEndpointDataSourceTests.cs similarity index 100% rename from test/Microsoft.AspNetCore.Routing.Tests/DefaultEndpointDataSourceTests.cs rename to src/Routing/test/Microsoft.AspNetCore.Routing.Tests/DefaultEndpointDataSourceTests.cs diff --git a/test/Microsoft.AspNetCore.Routing.Tests/DefaultInlineConstraintResolverTest.cs b/src/Routing/test/Microsoft.AspNetCore.Routing.Tests/DefaultInlineConstraintResolverTest.cs similarity index 100% rename from test/Microsoft.AspNetCore.Routing.Tests/DefaultInlineConstraintResolverTest.cs rename to src/Routing/test/Microsoft.AspNetCore.Routing.Tests/DefaultInlineConstraintResolverTest.cs diff --git a/test/Microsoft.AspNetCore.Routing.Tests/DefaultLinkGeneratorProcessTemplateTest.cs b/src/Routing/test/Microsoft.AspNetCore.Routing.Tests/DefaultLinkGeneratorProcessTemplateTest.cs similarity index 100% rename from test/Microsoft.AspNetCore.Routing.Tests/DefaultLinkGeneratorProcessTemplateTest.cs rename to src/Routing/test/Microsoft.AspNetCore.Routing.Tests/DefaultLinkGeneratorProcessTemplateTest.cs diff --git a/test/Microsoft.AspNetCore.Routing.Tests/DefaultLinkGeneratorTest.cs b/src/Routing/test/Microsoft.AspNetCore.Routing.Tests/DefaultLinkGeneratorTest.cs similarity index 100% rename from test/Microsoft.AspNetCore.Routing.Tests/DefaultLinkGeneratorTest.cs rename to src/Routing/test/Microsoft.AspNetCore.Routing.Tests/DefaultLinkGeneratorTest.cs diff --git a/test/Microsoft.AspNetCore.Routing.Tests/DefaultParameterPolicyFactoryTest.cs b/src/Routing/test/Microsoft.AspNetCore.Routing.Tests/DefaultParameterPolicyFactoryTest.cs similarity index 100% rename from test/Microsoft.AspNetCore.Routing.Tests/DefaultParameterPolicyFactoryTest.cs rename to src/Routing/test/Microsoft.AspNetCore.Routing.Tests/DefaultParameterPolicyFactoryTest.cs diff --git a/test/Microsoft.AspNetCore.Routing.Tests/EndpointFactory.cs b/src/Routing/test/Microsoft.AspNetCore.Routing.Tests/EndpointFactory.cs similarity index 100% rename from test/Microsoft.AspNetCore.Routing.Tests/EndpointFactory.cs rename to src/Routing/test/Microsoft.AspNetCore.Routing.Tests/EndpointFactory.cs diff --git a/test/Microsoft.AspNetCore.Routing.Tests/EndpointMiddlewareTest.cs b/src/Routing/test/Microsoft.AspNetCore.Routing.Tests/EndpointMiddlewareTest.cs similarity index 100% rename from test/Microsoft.AspNetCore.Routing.Tests/EndpointMiddlewareTest.cs rename to src/Routing/test/Microsoft.AspNetCore.Routing.Tests/EndpointMiddlewareTest.cs diff --git a/test/Microsoft.AspNetCore.Routing.Tests/EndpointNameAddressSchemeTest.cs b/src/Routing/test/Microsoft.AspNetCore.Routing.Tests/EndpointNameAddressSchemeTest.cs similarity index 100% rename from test/Microsoft.AspNetCore.Routing.Tests/EndpointNameAddressSchemeTest.cs rename to src/Routing/test/Microsoft.AspNetCore.Routing.Tests/EndpointNameAddressSchemeTest.cs diff --git a/test/Microsoft.AspNetCore.Routing.Tests/EndpointRoutingMiddlewareTest.cs b/src/Routing/test/Microsoft.AspNetCore.Routing.Tests/EndpointRoutingMiddlewareTest.cs similarity index 100% rename from test/Microsoft.AspNetCore.Routing.Tests/EndpointRoutingMiddlewareTest.cs rename to src/Routing/test/Microsoft.AspNetCore.Routing.Tests/EndpointRoutingMiddlewareTest.cs diff --git a/test/Microsoft.AspNetCore.Routing.Tests/EndpointSelectorContextTest.cs b/src/Routing/test/Microsoft.AspNetCore.Routing.Tests/EndpointSelectorContextTest.cs similarity index 100% rename from test/Microsoft.AspNetCore.Routing.Tests/EndpointSelectorContextTest.cs rename to src/Routing/test/Microsoft.AspNetCore.Routing.Tests/EndpointSelectorContextTest.cs diff --git a/test/Microsoft.AspNetCore.Routing.Tests/InlineRouteParameterParserTests.cs b/src/Routing/test/Microsoft.AspNetCore.Routing.Tests/InlineRouteParameterParserTests.cs similarity index 100% rename from test/Microsoft.AspNetCore.Routing.Tests/InlineRouteParameterParserTests.cs rename to src/Routing/test/Microsoft.AspNetCore.Routing.Tests/InlineRouteParameterParserTests.cs diff --git a/test/Microsoft.AspNetCore.Routing.Tests/Internal/DfaGraphWriterTest.cs b/src/Routing/test/Microsoft.AspNetCore.Routing.Tests/Internal/DfaGraphWriterTest.cs similarity index 100% rename from test/Microsoft.AspNetCore.Routing.Tests/Internal/DfaGraphWriterTest.cs rename to src/Routing/test/Microsoft.AspNetCore.Routing.Tests/Internal/DfaGraphWriterTest.cs diff --git a/test/Microsoft.AspNetCore.Routing.Tests/Internal/LinkGenerationDecisionTreeTest.cs b/src/Routing/test/Microsoft.AspNetCore.Routing.Tests/Internal/LinkGenerationDecisionTreeTest.cs similarity index 100% rename from test/Microsoft.AspNetCore.Routing.Tests/Internal/LinkGenerationDecisionTreeTest.cs rename to src/Routing/test/Microsoft.AspNetCore.Routing.Tests/Internal/LinkGenerationDecisionTreeTest.cs diff --git a/test/Microsoft.AspNetCore.Routing.Tests/Internal/PathTokenizerTest.cs b/src/Routing/test/Microsoft.AspNetCore.Routing.Tests/Internal/PathTokenizerTest.cs similarity index 100% rename from test/Microsoft.AspNetCore.Routing.Tests/Internal/PathTokenizerTest.cs rename to src/Routing/test/Microsoft.AspNetCore.Routing.Tests/Internal/PathTokenizerTest.cs diff --git a/test/Microsoft.AspNetCore.Routing.Tests/Internal/UriBuildingContextTest.cs b/src/Routing/test/Microsoft.AspNetCore.Routing.Tests/Internal/UriBuildingContextTest.cs similarity index 100% rename from test/Microsoft.AspNetCore.Routing.Tests/Internal/UriBuildingContextTest.cs rename to src/Routing/test/Microsoft.AspNetCore.Routing.Tests/Internal/UriBuildingContextTest.cs diff --git a/test/Microsoft.AspNetCore.Routing.Tests/LinkGeneratorEndpointNameExtensionsTest.cs b/src/Routing/test/Microsoft.AspNetCore.Routing.Tests/LinkGeneratorEndpointNameExtensionsTest.cs similarity index 100% rename from test/Microsoft.AspNetCore.Routing.Tests/LinkGeneratorEndpointNameExtensionsTest.cs rename to src/Routing/test/Microsoft.AspNetCore.Routing.Tests/LinkGeneratorEndpointNameExtensionsTest.cs diff --git a/test/Microsoft.AspNetCore.Routing.Tests/LinkGeneratorRouteValuesAddressExtensionsTest.cs b/src/Routing/test/Microsoft.AspNetCore.Routing.Tests/LinkGeneratorRouteValuesAddressExtensionsTest.cs similarity index 100% rename from test/Microsoft.AspNetCore.Routing.Tests/LinkGeneratorRouteValuesAddressExtensionsTest.cs rename to src/Routing/test/Microsoft.AspNetCore.Routing.Tests/LinkGeneratorRouteValuesAddressExtensionsTest.cs diff --git a/test/Microsoft.AspNetCore.Routing.Tests/LinkGeneratorTestBase.cs b/src/Routing/test/Microsoft.AspNetCore.Routing.Tests/LinkGeneratorTestBase.cs similarity index 100% rename from test/Microsoft.AspNetCore.Routing.Tests/LinkGeneratorTestBase.cs rename to src/Routing/test/Microsoft.AspNetCore.Routing.Tests/LinkGeneratorTestBase.cs diff --git a/test/Microsoft.AspNetCore.Routing.Tests/Logging/WriteContext.cs b/src/Routing/test/Microsoft.AspNetCore.Routing.Tests/Logging/WriteContext.cs similarity index 100% rename from test/Microsoft.AspNetCore.Routing.Tests/Logging/WriteContext.cs rename to src/Routing/test/Microsoft.AspNetCore.Routing.Tests/Logging/WriteContext.cs diff --git a/test/Microsoft.AspNetCore.Routing.Tests/Matching/AsciiTest.cs b/src/Routing/test/Microsoft.AspNetCore.Routing.Tests/Matching/AsciiTest.cs similarity index 100% rename from test/Microsoft.AspNetCore.Routing.Tests/Matching/AsciiTest.cs rename to src/Routing/test/Microsoft.AspNetCore.Routing.Tests/Matching/AsciiTest.cs diff --git a/test/Microsoft.AspNetCore.Routing.Tests/Matching/BarebonesMatcher.cs b/src/Routing/test/Microsoft.AspNetCore.Routing.Tests/Matching/BarebonesMatcher.cs similarity index 100% rename from test/Microsoft.AspNetCore.Routing.Tests/Matching/BarebonesMatcher.cs rename to src/Routing/test/Microsoft.AspNetCore.Routing.Tests/Matching/BarebonesMatcher.cs diff --git a/test/Microsoft.AspNetCore.Routing.Tests/Matching/BarebonesMatcherBuilder.cs b/src/Routing/test/Microsoft.AspNetCore.Routing.Tests/Matching/BarebonesMatcherBuilder.cs similarity index 100% rename from test/Microsoft.AspNetCore.Routing.Tests/Matching/BarebonesMatcherBuilder.cs rename to src/Routing/test/Microsoft.AspNetCore.Routing.Tests/Matching/BarebonesMatcherBuilder.cs diff --git a/test/Microsoft.AspNetCore.Routing.Tests/Matching/BarebonesMatcherConformanceTest.cs b/src/Routing/test/Microsoft.AspNetCore.Routing.Tests/Matching/BarebonesMatcherConformanceTest.cs similarity index 100% rename from test/Microsoft.AspNetCore.Routing.Tests/Matching/BarebonesMatcherConformanceTest.cs rename to src/Routing/test/Microsoft.AspNetCore.Routing.Tests/Matching/BarebonesMatcherConformanceTest.cs diff --git a/test/Microsoft.AspNetCore.Routing.Tests/Matching/CandidateSetTest.cs b/src/Routing/test/Microsoft.AspNetCore.Routing.Tests/Matching/CandidateSetTest.cs similarity index 100% rename from test/Microsoft.AspNetCore.Routing.Tests/Matching/CandidateSetTest.cs rename to src/Routing/test/Microsoft.AspNetCore.Routing.Tests/Matching/CandidateSetTest.cs diff --git a/test/Microsoft.AspNetCore.Routing.Tests/Matching/DataSourceDependentMatcherTest.cs b/src/Routing/test/Microsoft.AspNetCore.Routing.Tests/Matching/DataSourceDependentMatcherTest.cs similarity index 100% rename from test/Microsoft.AspNetCore.Routing.Tests/Matching/DataSourceDependentMatcherTest.cs rename to src/Routing/test/Microsoft.AspNetCore.Routing.Tests/Matching/DataSourceDependentMatcherTest.cs diff --git a/test/Microsoft.AspNetCore.Routing.Tests/Matching/DefaultEndpointSelectorTest.cs b/src/Routing/test/Microsoft.AspNetCore.Routing.Tests/Matching/DefaultEndpointSelectorTest.cs similarity index 100% rename from test/Microsoft.AspNetCore.Routing.Tests/Matching/DefaultEndpointSelectorTest.cs rename to src/Routing/test/Microsoft.AspNetCore.Routing.Tests/Matching/DefaultEndpointSelectorTest.cs diff --git a/test/Microsoft.AspNetCore.Routing.Tests/Matching/DfaMatcherBuilderTest.cs b/src/Routing/test/Microsoft.AspNetCore.Routing.Tests/Matching/DfaMatcherBuilderTest.cs similarity index 100% rename from test/Microsoft.AspNetCore.Routing.Tests/Matching/DfaMatcherBuilderTest.cs rename to src/Routing/test/Microsoft.AspNetCore.Routing.Tests/Matching/DfaMatcherBuilderTest.cs diff --git a/test/Microsoft.AspNetCore.Routing.Tests/Matching/DfaMatcherConformanceTest.cs b/src/Routing/test/Microsoft.AspNetCore.Routing.Tests/Matching/DfaMatcherConformanceTest.cs similarity index 100% rename from test/Microsoft.AspNetCore.Routing.Tests/Matching/DfaMatcherConformanceTest.cs rename to src/Routing/test/Microsoft.AspNetCore.Routing.Tests/Matching/DfaMatcherConformanceTest.cs diff --git a/test/Microsoft.AspNetCore.Routing.Tests/Matching/DfaMatcherTest.cs b/src/Routing/test/Microsoft.AspNetCore.Routing.Tests/Matching/DfaMatcherTest.cs similarity index 100% rename from test/Microsoft.AspNetCore.Routing.Tests/Matching/DfaMatcherTest.cs rename to src/Routing/test/Microsoft.AspNetCore.Routing.Tests/Matching/DfaMatcherTest.cs diff --git a/test/Microsoft.AspNetCore.Routing.Tests/Matching/DictionaryJumpTableTest.cs b/src/Routing/test/Microsoft.AspNetCore.Routing.Tests/Matching/DictionaryJumpTableTest.cs similarity index 100% rename from test/Microsoft.AspNetCore.Routing.Tests/Matching/DictionaryJumpTableTest.cs rename to src/Routing/test/Microsoft.AspNetCore.Routing.Tests/Matching/DictionaryJumpTableTest.cs diff --git a/test/Microsoft.AspNetCore.Routing.Tests/Matching/EndpointMetadataComparerTest.cs b/src/Routing/test/Microsoft.AspNetCore.Routing.Tests/Matching/EndpointMetadataComparerTest.cs similarity index 100% rename from test/Microsoft.AspNetCore.Routing.Tests/Matching/EndpointMetadataComparerTest.cs rename to src/Routing/test/Microsoft.AspNetCore.Routing.Tests/Matching/EndpointMetadataComparerTest.cs diff --git a/test/Microsoft.AspNetCore.Routing.Tests/Matching/FastPathTokenizerTest.cs b/src/Routing/test/Microsoft.AspNetCore.Routing.Tests/Matching/FastPathTokenizerTest.cs similarity index 100% rename from test/Microsoft.AspNetCore.Routing.Tests/Matching/FastPathTokenizerTest.cs rename to src/Routing/test/Microsoft.AspNetCore.Routing.Tests/Matching/FastPathTokenizerTest.cs diff --git a/test/Microsoft.AspNetCore.Routing.Tests/Matching/FullFeaturedMatcherConformanceTest.cs b/src/Routing/test/Microsoft.AspNetCore.Routing.Tests/Matching/FullFeaturedMatcherConformanceTest.cs similarity index 100% rename from test/Microsoft.AspNetCore.Routing.Tests/Matching/FullFeaturedMatcherConformanceTest.cs rename to src/Routing/test/Microsoft.AspNetCore.Routing.Tests/Matching/FullFeaturedMatcherConformanceTest.cs diff --git a/test/Microsoft.AspNetCore.Routing.Tests/Matching/HttpMethodMatcherPolicyIntegrationTest.cs b/src/Routing/test/Microsoft.AspNetCore.Routing.Tests/Matching/HttpMethodMatcherPolicyIntegrationTest.cs similarity index 100% rename from test/Microsoft.AspNetCore.Routing.Tests/Matching/HttpMethodMatcherPolicyIntegrationTest.cs rename to src/Routing/test/Microsoft.AspNetCore.Routing.Tests/Matching/HttpMethodMatcherPolicyIntegrationTest.cs diff --git a/test/Microsoft.AspNetCore.Routing.Tests/Matching/HttpMethodMatcherPolicyTest.cs b/src/Routing/test/Microsoft.AspNetCore.Routing.Tests/Matching/HttpMethodMatcherPolicyTest.cs similarity index 100% rename from test/Microsoft.AspNetCore.Routing.Tests/Matching/HttpMethodMatcherPolicyTest.cs rename to src/Routing/test/Microsoft.AspNetCore.Routing.Tests/Matching/HttpMethodMatcherPolicyTest.cs diff --git a/test/Microsoft.AspNetCore.Routing.Tests/Matching/ILEmitTrieFactoryTest.cs b/src/Routing/test/Microsoft.AspNetCore.Routing.Tests/Matching/ILEmitTrieFactoryTest.cs similarity index 100% rename from test/Microsoft.AspNetCore.Routing.Tests/Matching/ILEmitTrieFactoryTest.cs rename to src/Routing/test/Microsoft.AspNetCore.Routing.Tests/Matching/ILEmitTrieFactoryTest.cs diff --git a/test/Microsoft.AspNetCore.Routing.Tests/Matching/ILEmitTrieJumpTableTest.cs b/src/Routing/test/Microsoft.AspNetCore.Routing.Tests/Matching/ILEmitTrieJumpTableTest.cs similarity index 100% rename from test/Microsoft.AspNetCore.Routing.Tests/Matching/ILEmitTrieJumpTableTest.cs rename to src/Routing/test/Microsoft.AspNetCore.Routing.Tests/Matching/ILEmitTrieJumpTableTest.cs diff --git a/test/Microsoft.AspNetCore.Routing.Tests/Matching/LinearSearchJumpTableTest.cs b/src/Routing/test/Microsoft.AspNetCore.Routing.Tests/Matching/LinearSearchJumpTableTest.cs similarity index 100% rename from test/Microsoft.AspNetCore.Routing.Tests/Matching/LinearSearchJumpTableTest.cs rename to src/Routing/test/Microsoft.AspNetCore.Routing.Tests/Matching/LinearSearchJumpTableTest.cs diff --git a/test/Microsoft.AspNetCore.Routing.Tests/Matching/MatcherAssert.cs b/src/Routing/test/Microsoft.AspNetCore.Routing.Tests/Matching/MatcherAssert.cs similarity index 100% rename from test/Microsoft.AspNetCore.Routing.Tests/Matching/MatcherAssert.cs rename to src/Routing/test/Microsoft.AspNetCore.Routing.Tests/Matching/MatcherAssert.cs diff --git a/test/Microsoft.AspNetCore.Routing.Tests/Matching/MatcherConformanceTest.MultipleEndpoint.cs b/src/Routing/test/Microsoft.AspNetCore.Routing.Tests/Matching/MatcherConformanceTest.MultipleEndpoint.cs similarity index 100% rename from test/Microsoft.AspNetCore.Routing.Tests/Matching/MatcherConformanceTest.MultipleEndpoint.cs rename to src/Routing/test/Microsoft.AspNetCore.Routing.Tests/Matching/MatcherConformanceTest.MultipleEndpoint.cs diff --git a/test/Microsoft.AspNetCore.Routing.Tests/Matching/MatcherConformanceTest.SingleEndpoint.cs b/src/Routing/test/Microsoft.AspNetCore.Routing.Tests/Matching/MatcherConformanceTest.SingleEndpoint.cs similarity index 100% rename from test/Microsoft.AspNetCore.Routing.Tests/Matching/MatcherConformanceTest.SingleEndpoint.cs rename to src/Routing/test/Microsoft.AspNetCore.Routing.Tests/Matching/MatcherConformanceTest.SingleEndpoint.cs diff --git a/test/Microsoft.AspNetCore.Routing.Tests/Matching/MatcherConformanceTest.cs b/src/Routing/test/Microsoft.AspNetCore.Routing.Tests/Matching/MatcherConformanceTest.cs similarity index 100% rename from test/Microsoft.AspNetCore.Routing.Tests/Matching/MatcherConformanceTest.cs rename to src/Routing/test/Microsoft.AspNetCore.Routing.Tests/Matching/MatcherConformanceTest.cs diff --git a/test/Microsoft.AspNetCore.Routing.Tests/Matching/MultipleEntryJumpTableTest.cs b/src/Routing/test/Microsoft.AspNetCore.Routing.Tests/Matching/MultipleEntryJumpTableTest.cs similarity index 100% rename from test/Microsoft.AspNetCore.Routing.Tests/Matching/MultipleEntryJumpTableTest.cs rename to src/Routing/test/Microsoft.AspNetCore.Routing.Tests/Matching/MultipleEntryJumpTableTest.cs diff --git a/test/Microsoft.AspNetCore.Routing.Tests/Matching/NonVectorizedILEmitTrieJumpTableTest.cs b/src/Routing/test/Microsoft.AspNetCore.Routing.Tests/Matching/NonVectorizedILEmitTrieJumpTableTest.cs similarity index 100% rename from test/Microsoft.AspNetCore.Routing.Tests/Matching/NonVectorizedILEmitTrieJumpTableTest.cs rename to src/Routing/test/Microsoft.AspNetCore.Routing.Tests/Matching/NonVectorizedILEmitTrieJumpTableTest.cs diff --git a/test/Microsoft.AspNetCore.Routing.Tests/Matching/RouteEndpointComparerTest.cs b/src/Routing/test/Microsoft.AspNetCore.Routing.Tests/Matching/RouteEndpointComparerTest.cs similarity index 100% rename from test/Microsoft.AspNetCore.Routing.Tests/Matching/RouteEndpointComparerTest.cs rename to src/Routing/test/Microsoft.AspNetCore.Routing.Tests/Matching/RouteEndpointComparerTest.cs diff --git a/test/Microsoft.AspNetCore.Routing.Tests/Matching/RouteMatcher.cs b/src/Routing/test/Microsoft.AspNetCore.Routing.Tests/Matching/RouteMatcher.cs similarity index 100% rename from test/Microsoft.AspNetCore.Routing.Tests/Matching/RouteMatcher.cs rename to src/Routing/test/Microsoft.AspNetCore.Routing.Tests/Matching/RouteMatcher.cs diff --git a/test/Microsoft.AspNetCore.Routing.Tests/Matching/RouteMatcherBuilder.cs b/src/Routing/test/Microsoft.AspNetCore.Routing.Tests/Matching/RouteMatcherBuilder.cs similarity index 100% rename from test/Microsoft.AspNetCore.Routing.Tests/Matching/RouteMatcherBuilder.cs rename to src/Routing/test/Microsoft.AspNetCore.Routing.Tests/Matching/RouteMatcherBuilder.cs diff --git a/test/Microsoft.AspNetCore.Routing.Tests/Matching/RouteMatcherConformanceTest.cs b/src/Routing/test/Microsoft.AspNetCore.Routing.Tests/Matching/RouteMatcherConformanceTest.cs similarity index 100% rename from test/Microsoft.AspNetCore.Routing.Tests/Matching/RouteMatcherConformanceTest.cs rename to src/Routing/test/Microsoft.AspNetCore.Routing.Tests/Matching/RouteMatcherConformanceTest.cs diff --git a/test/Microsoft.AspNetCore.Routing.Tests/Matching/SingleEntryAsciiJumpTableTest.cs b/src/Routing/test/Microsoft.AspNetCore.Routing.Tests/Matching/SingleEntryAsciiJumpTableTest.cs similarity index 100% rename from test/Microsoft.AspNetCore.Routing.Tests/Matching/SingleEntryAsciiJumpTableTest.cs rename to src/Routing/test/Microsoft.AspNetCore.Routing.Tests/Matching/SingleEntryAsciiJumpTableTest.cs diff --git a/test/Microsoft.AspNetCore.Routing.Tests/Matching/SingleEntryJumpTableTest.cs b/src/Routing/test/Microsoft.AspNetCore.Routing.Tests/Matching/SingleEntryJumpTableTest.cs similarity index 100% rename from test/Microsoft.AspNetCore.Routing.Tests/Matching/SingleEntryJumpTableTest.cs rename to src/Routing/test/Microsoft.AspNetCore.Routing.Tests/Matching/SingleEntryJumpTableTest.cs diff --git a/test/Microsoft.AspNetCore.Routing.Tests/Matching/SingleEntryJumpTableTestBase.cs b/src/Routing/test/Microsoft.AspNetCore.Routing.Tests/Matching/SingleEntryJumpTableTestBase.cs similarity index 100% rename from test/Microsoft.AspNetCore.Routing.Tests/Matching/SingleEntryJumpTableTestBase.cs rename to src/Routing/test/Microsoft.AspNetCore.Routing.Tests/Matching/SingleEntryJumpTableTestBase.cs diff --git a/test/Microsoft.AspNetCore.Routing.Tests/Matching/TreeRouterMatcher.cs b/src/Routing/test/Microsoft.AspNetCore.Routing.Tests/Matching/TreeRouterMatcher.cs similarity index 100% rename from test/Microsoft.AspNetCore.Routing.Tests/Matching/TreeRouterMatcher.cs rename to src/Routing/test/Microsoft.AspNetCore.Routing.Tests/Matching/TreeRouterMatcher.cs diff --git a/test/Microsoft.AspNetCore.Routing.Tests/Matching/TreeRouterMatcherBuilder.cs b/src/Routing/test/Microsoft.AspNetCore.Routing.Tests/Matching/TreeRouterMatcherBuilder.cs similarity index 100% rename from test/Microsoft.AspNetCore.Routing.Tests/Matching/TreeRouterMatcherBuilder.cs rename to src/Routing/test/Microsoft.AspNetCore.Routing.Tests/Matching/TreeRouterMatcherBuilder.cs diff --git a/test/Microsoft.AspNetCore.Routing.Tests/Matching/TreeRouterMatcherConformanceTest.cs b/src/Routing/test/Microsoft.AspNetCore.Routing.Tests/Matching/TreeRouterMatcherConformanceTest.cs similarity index 100% rename from test/Microsoft.AspNetCore.Routing.Tests/Matching/TreeRouterMatcherConformanceTest.cs rename to src/Routing/test/Microsoft.AspNetCore.Routing.Tests/Matching/TreeRouterMatcherConformanceTest.cs diff --git a/test/Microsoft.AspNetCore.Routing.Tests/Matching/VectorizedILEmitTrieJumpTableTest.cs b/src/Routing/test/Microsoft.AspNetCore.Routing.Tests/Matching/VectorizedILEmitTrieJumpTableTest.cs similarity index 100% rename from test/Microsoft.AspNetCore.Routing.Tests/Matching/VectorizedILEmitTrieJumpTableTest.cs rename to src/Routing/test/Microsoft.AspNetCore.Routing.Tests/Matching/VectorizedILEmitTrieJumpTableTest.cs diff --git a/test/Microsoft.AspNetCore.Routing.Tests/Matching/ZeroEntryJumpTableTest.cs b/src/Routing/test/Microsoft.AspNetCore.Routing.Tests/Matching/ZeroEntryJumpTableTest.cs similarity index 100% rename from test/Microsoft.AspNetCore.Routing.Tests/Matching/ZeroEntryJumpTableTest.cs rename to src/Routing/test/Microsoft.AspNetCore.Routing.Tests/Matching/ZeroEntryJumpTableTest.cs diff --git a/test/Microsoft.AspNetCore.Routing.Tests/Microsoft.AspNetCore.Routing.Tests.csproj b/src/Routing/test/Microsoft.AspNetCore.Routing.Tests/Microsoft.AspNetCore.Routing.Tests.csproj similarity index 100% rename from test/Microsoft.AspNetCore.Routing.Tests/Microsoft.AspNetCore.Routing.Tests.csproj rename to src/Routing/test/Microsoft.AspNetCore.Routing.Tests/Microsoft.AspNetCore.Routing.Tests.csproj diff --git a/test/Microsoft.AspNetCore.Routing.Tests/Patterns/InlineRouteParameterParserTest.cs b/src/Routing/test/Microsoft.AspNetCore.Routing.Tests/Patterns/InlineRouteParameterParserTest.cs similarity index 100% rename from test/Microsoft.AspNetCore.Routing.Tests/Patterns/InlineRouteParameterParserTest.cs rename to src/Routing/test/Microsoft.AspNetCore.Routing.Tests/Patterns/InlineRouteParameterParserTest.cs diff --git a/test/Microsoft.AspNetCore.Routing.Tests/Patterns/RoutePatternFactoryTest.cs b/src/Routing/test/Microsoft.AspNetCore.Routing.Tests/Patterns/RoutePatternFactoryTest.cs similarity index 100% rename from test/Microsoft.AspNetCore.Routing.Tests/Patterns/RoutePatternFactoryTest.cs rename to src/Routing/test/Microsoft.AspNetCore.Routing.Tests/Patterns/RoutePatternFactoryTest.cs diff --git a/test/Microsoft.AspNetCore.Routing.Tests/Patterns/RoutePatternMatcherTest.cs b/src/Routing/test/Microsoft.AspNetCore.Routing.Tests/Patterns/RoutePatternMatcherTest.cs similarity index 100% rename from test/Microsoft.AspNetCore.Routing.Tests/Patterns/RoutePatternMatcherTest.cs rename to src/Routing/test/Microsoft.AspNetCore.Routing.Tests/Patterns/RoutePatternMatcherTest.cs diff --git a/test/Microsoft.AspNetCore.Routing.Tests/Patterns/RoutePatternParserTest.cs b/src/Routing/test/Microsoft.AspNetCore.Routing.Tests/Patterns/RoutePatternParserTest.cs similarity index 100% rename from test/Microsoft.AspNetCore.Routing.Tests/Patterns/RoutePatternParserTest.cs rename to src/Routing/test/Microsoft.AspNetCore.Routing.Tests/Patterns/RoutePatternParserTest.cs diff --git a/test/Microsoft.AspNetCore.Routing.Tests/RequestDelegateRouteBuilderExtensionsTest.cs b/src/Routing/test/Microsoft.AspNetCore.Routing.Tests/RequestDelegateRouteBuilderExtensionsTest.cs similarity index 100% rename from test/Microsoft.AspNetCore.Routing.Tests/RequestDelegateRouteBuilderExtensionsTest.cs rename to src/Routing/test/Microsoft.AspNetCore.Routing.Tests/RequestDelegateRouteBuilderExtensionsTest.cs diff --git a/test/Microsoft.AspNetCore.Routing.Tests/RouteBuilderTest.cs b/src/Routing/test/Microsoft.AspNetCore.Routing.Tests/RouteBuilderTest.cs similarity index 100% rename from test/Microsoft.AspNetCore.Routing.Tests/RouteBuilderTest.cs rename to src/Routing/test/Microsoft.AspNetCore.Routing.Tests/RouteBuilderTest.cs diff --git a/test/Microsoft.AspNetCore.Routing.Tests/RouteCollectionTest.cs b/src/Routing/test/Microsoft.AspNetCore.Routing.Tests/RouteCollectionTest.cs similarity index 100% rename from test/Microsoft.AspNetCore.Routing.Tests/RouteCollectionTest.cs rename to src/Routing/test/Microsoft.AspNetCore.Routing.Tests/RouteCollectionTest.cs diff --git a/test/Microsoft.AspNetCore.Routing.Tests/RouteConstraintBuilderTest.cs b/src/Routing/test/Microsoft.AspNetCore.Routing.Tests/RouteConstraintBuilderTest.cs similarity index 100% rename from test/Microsoft.AspNetCore.Routing.Tests/RouteConstraintBuilderTest.cs rename to src/Routing/test/Microsoft.AspNetCore.Routing.Tests/RouteConstraintBuilderTest.cs diff --git a/test/Microsoft.AspNetCore.Routing.Tests/RouteOptionsTests.cs b/src/Routing/test/Microsoft.AspNetCore.Routing.Tests/RouteOptionsTests.cs similarity index 100% rename from test/Microsoft.AspNetCore.Routing.Tests/RouteOptionsTests.cs rename to src/Routing/test/Microsoft.AspNetCore.Routing.Tests/RouteOptionsTests.cs diff --git a/test/Microsoft.AspNetCore.Routing.Tests/RouteTest.cs b/src/Routing/test/Microsoft.AspNetCore.Routing.Tests/RouteTest.cs similarity index 100% rename from test/Microsoft.AspNetCore.Routing.Tests/RouteTest.cs rename to src/Routing/test/Microsoft.AspNetCore.Routing.Tests/RouteTest.cs diff --git a/test/Microsoft.AspNetCore.Routing.Tests/RouteValueEqualityComparerTest.cs b/src/Routing/test/Microsoft.AspNetCore.Routing.Tests/RouteValueEqualityComparerTest.cs similarity index 100% rename from test/Microsoft.AspNetCore.Routing.Tests/RouteValueEqualityComparerTest.cs rename to src/Routing/test/Microsoft.AspNetCore.Routing.Tests/RouteValueEqualityComparerTest.cs diff --git a/test/Microsoft.AspNetCore.Routing.Tests/RouteValuesAddressMetadataTests.cs b/src/Routing/test/Microsoft.AspNetCore.Routing.Tests/RouteValuesAddressMetadataTests.cs similarity index 100% rename from test/Microsoft.AspNetCore.Routing.Tests/RouteValuesAddressMetadataTests.cs rename to src/Routing/test/Microsoft.AspNetCore.Routing.Tests/RouteValuesAddressMetadataTests.cs diff --git a/test/Microsoft.AspNetCore.Routing.Tests/RouteValuesAddressSchemeTest.cs b/src/Routing/test/Microsoft.AspNetCore.Routing.Tests/RouteValuesAddressSchemeTest.cs similarity index 100% rename from test/Microsoft.AspNetCore.Routing.Tests/RouteValuesAddressSchemeTest.cs rename to src/Routing/test/Microsoft.AspNetCore.Routing.Tests/RouteValuesAddressSchemeTest.cs diff --git a/test/Microsoft.AspNetCore.Routing.Tests/RouterMiddlewareTest.cs b/src/Routing/test/Microsoft.AspNetCore.Routing.Tests/RouterMiddlewareTest.cs similarity index 100% rename from test/Microsoft.AspNetCore.Routing.Tests/RouterMiddlewareTest.cs rename to src/Routing/test/Microsoft.AspNetCore.Routing.Tests/RouterMiddlewareTest.cs diff --git a/test/Microsoft.AspNetCore.Routing.Tests/Template/RoutePrecedenceTests.cs b/src/Routing/test/Microsoft.AspNetCore.Routing.Tests/Template/RoutePrecedenceTests.cs similarity index 100% rename from test/Microsoft.AspNetCore.Routing.Tests/Template/RoutePrecedenceTests.cs rename to src/Routing/test/Microsoft.AspNetCore.Routing.Tests/Template/RoutePrecedenceTests.cs diff --git a/test/Microsoft.AspNetCore.Routing.Tests/Template/TemplateBinderTests.cs b/src/Routing/test/Microsoft.AspNetCore.Routing.Tests/Template/TemplateBinderTests.cs similarity index 100% rename from test/Microsoft.AspNetCore.Routing.Tests/Template/TemplateBinderTests.cs rename to src/Routing/test/Microsoft.AspNetCore.Routing.Tests/Template/TemplateBinderTests.cs diff --git a/test/Microsoft.AspNetCore.Routing.Tests/Template/TemplateMatcherTests.cs b/src/Routing/test/Microsoft.AspNetCore.Routing.Tests/Template/TemplateMatcherTests.cs similarity index 100% rename from test/Microsoft.AspNetCore.Routing.Tests/Template/TemplateMatcherTests.cs rename to src/Routing/test/Microsoft.AspNetCore.Routing.Tests/Template/TemplateMatcherTests.cs diff --git a/test/Microsoft.AspNetCore.Routing.Tests/Template/TemplateParserTests.cs b/src/Routing/test/Microsoft.AspNetCore.Routing.Tests/Template/TemplateParserTests.cs similarity index 100% rename from test/Microsoft.AspNetCore.Routing.Tests/Template/TemplateParserTests.cs rename to src/Routing/test/Microsoft.AspNetCore.Routing.Tests/Template/TemplateParserTests.cs diff --git a/test/Microsoft.AspNetCore.Routing.Tests/Template/TemplateSegmentTest.cs b/src/Routing/test/Microsoft.AspNetCore.Routing.Tests/Template/TemplateSegmentTest.cs similarity index 100% rename from test/Microsoft.AspNetCore.Routing.Tests/Template/TemplateSegmentTest.cs rename to src/Routing/test/Microsoft.AspNetCore.Routing.Tests/Template/TemplateSegmentTest.cs diff --git a/test/Microsoft.AspNetCore.Routing.Tests/TemplateParserDefaultValuesTests.cs b/src/Routing/test/Microsoft.AspNetCore.Routing.Tests/TemplateParserDefaultValuesTests.cs similarity index 100% rename from test/Microsoft.AspNetCore.Routing.Tests/TemplateParserDefaultValuesTests.cs rename to src/Routing/test/Microsoft.AspNetCore.Routing.Tests/TemplateParserDefaultValuesTests.cs diff --git a/test/Microsoft.AspNetCore.Routing.Tests/TestConstants.cs b/src/Routing/test/Microsoft.AspNetCore.Routing.Tests/TestConstants.cs similarity index 100% rename from test/Microsoft.AspNetCore.Routing.Tests/TestConstants.cs rename to src/Routing/test/Microsoft.AspNetCore.Routing.Tests/TestConstants.cs diff --git a/test/Microsoft.AspNetCore.Routing.Tests/TestObjects/CapturingConstraint.cs b/src/Routing/test/Microsoft.AspNetCore.Routing.Tests/TestObjects/CapturingConstraint.cs similarity index 100% rename from test/Microsoft.AspNetCore.Routing.Tests/TestObjects/CapturingConstraint.cs rename to src/Routing/test/Microsoft.AspNetCore.Routing.Tests/TestObjects/CapturingConstraint.cs diff --git a/test/Microsoft.AspNetCore.Routing.Tests/TestObjects/DynamicEndpointDataSource.cs b/src/Routing/test/Microsoft.AspNetCore.Routing.Tests/TestObjects/DynamicEndpointDataSource.cs similarity index 100% rename from test/Microsoft.AspNetCore.Routing.Tests/TestObjects/DynamicEndpointDataSource.cs rename to src/Routing/test/Microsoft.AspNetCore.Routing.Tests/TestObjects/DynamicEndpointDataSource.cs diff --git a/test/Microsoft.AspNetCore.Routing.Tests/TestObjects/SlugifyParameterTransformer.cs b/src/Routing/test/Microsoft.AspNetCore.Routing.Tests/TestObjects/SlugifyParameterTransformer.cs similarity index 100% rename from test/Microsoft.AspNetCore.Routing.Tests/TestObjects/SlugifyParameterTransformer.cs rename to src/Routing/test/Microsoft.AspNetCore.Routing.Tests/TestObjects/SlugifyParameterTransformer.cs diff --git a/test/Microsoft.AspNetCore.Routing.Tests/TestObjects/TestMatcher.cs b/src/Routing/test/Microsoft.AspNetCore.Routing.Tests/TestObjects/TestMatcher.cs similarity index 100% rename from test/Microsoft.AspNetCore.Routing.Tests/TestObjects/TestMatcher.cs rename to src/Routing/test/Microsoft.AspNetCore.Routing.Tests/TestObjects/TestMatcher.cs diff --git a/test/Microsoft.AspNetCore.Routing.Tests/TestObjects/TestMatcherFactory.cs b/src/Routing/test/Microsoft.AspNetCore.Routing.Tests/TestObjects/TestMatcherFactory.cs similarity index 100% rename from test/Microsoft.AspNetCore.Routing.Tests/TestObjects/TestMatcherFactory.cs rename to src/Routing/test/Microsoft.AspNetCore.Routing.Tests/TestObjects/TestMatcherFactory.cs diff --git a/test/Microsoft.AspNetCore.Routing.Tests/TestObjects/TestServiceProvider.cs b/src/Routing/test/Microsoft.AspNetCore.Routing.Tests/TestObjects/TestServiceProvider.cs similarity index 100% rename from test/Microsoft.AspNetCore.Routing.Tests/TestObjects/TestServiceProvider.cs rename to src/Routing/test/Microsoft.AspNetCore.Routing.Tests/TestObjects/TestServiceProvider.cs diff --git a/test/Microsoft.AspNetCore.Routing.Tests/Tree/TreeRouteBuilderTest.cs b/src/Routing/test/Microsoft.AspNetCore.Routing.Tests/Tree/TreeRouteBuilderTest.cs similarity index 100% rename from test/Microsoft.AspNetCore.Routing.Tests/Tree/TreeRouteBuilderTest.cs rename to src/Routing/test/Microsoft.AspNetCore.Routing.Tests/Tree/TreeRouteBuilderTest.cs diff --git a/test/Microsoft.AspNetCore.Routing.Tests/Tree/TreeRouterTest.cs b/src/Routing/test/Microsoft.AspNetCore.Routing.Tests/Tree/TreeRouterTest.cs similarity index 100% rename from test/Microsoft.AspNetCore.Routing.Tests/Tree/TreeRouterTest.cs rename to src/Routing/test/Microsoft.AspNetCore.Routing.Tests/Tree/TreeRouterTest.cs diff --git a/test/WebSites/Directory.Build.props b/src/Routing/test/WebSites/Directory.Build.props similarity index 100% rename from test/WebSites/Directory.Build.props rename to src/Routing/test/WebSites/Directory.Build.props diff --git a/test/WebSites/RoutingWebSite/EndsWithStringRouteConstraint.cs b/src/Routing/test/WebSites/RoutingWebSite/EndsWithStringRouteConstraint.cs similarity index 100% rename from test/WebSites/RoutingWebSite/EndsWithStringRouteConstraint.cs rename to src/Routing/test/WebSites/RoutingWebSite/EndsWithStringRouteConstraint.cs diff --git a/test/WebSites/RoutingWebSite/Program.cs b/src/Routing/test/WebSites/RoutingWebSite/Program.cs similarity index 100% rename from test/WebSites/RoutingWebSite/Program.cs rename to src/Routing/test/WebSites/RoutingWebSite/Program.cs diff --git a/test/WebSites/RoutingWebSite/RoutingWebSite.csproj b/src/Routing/test/WebSites/RoutingWebSite/RoutingWebSite.csproj similarity index 100% rename from test/WebSites/RoutingWebSite/RoutingWebSite.csproj rename to src/Routing/test/WebSites/RoutingWebSite/RoutingWebSite.csproj diff --git a/test/WebSites/RoutingWebSite/UseEndpointRoutingStartup.cs b/src/Routing/test/WebSites/RoutingWebSite/UseEndpointRoutingStartup.cs similarity index 100% rename from test/WebSites/RoutingWebSite/UseEndpointRoutingStartup.cs rename to src/Routing/test/WebSites/RoutingWebSite/UseEndpointRoutingStartup.cs diff --git a/test/WebSites/RoutingWebSite/UseRouterStartup.cs b/src/Routing/test/WebSites/RoutingWebSite/UseRouterStartup.cs similarity index 100% rename from test/WebSites/RoutingWebSite/UseRouterStartup.cs rename to src/Routing/test/WebSites/RoutingWebSite/UseRouterStartup.cs diff --git a/tools/Swaggatherer/Program.cs b/src/Routing/tools/Swaggatherer/Program.cs similarity index 100% rename from tools/Swaggatherer/Program.cs rename to src/Routing/tools/Swaggatherer/Program.cs diff --git a/tools/Swaggatherer/README.md b/src/Routing/tools/Swaggatherer/README.md similarity index 100% rename from tools/Swaggatherer/README.md rename to src/Routing/tools/Swaggatherer/README.md diff --git a/tools/Swaggatherer/RouteEntry.cs b/src/Routing/tools/Swaggatherer/RouteEntry.cs similarity index 100% rename from tools/Swaggatherer/RouteEntry.cs rename to src/Routing/tools/Swaggatherer/RouteEntry.cs diff --git a/tools/Swaggatherer/Swaggatherer.csproj b/src/Routing/tools/Swaggatherer/Swaggatherer.csproj similarity index 100% rename from tools/Swaggatherer/Swaggatherer.csproj rename to src/Routing/tools/Swaggatherer/Swaggatherer.csproj diff --git a/tools/Swaggatherer/SwaggathererApplication.cs b/src/Routing/tools/Swaggatherer/SwaggathererApplication.cs similarity index 100% rename from tools/Swaggatherer/SwaggathererApplication.cs rename to src/Routing/tools/Swaggatherer/SwaggathererApplication.cs diff --git a/tools/Swaggatherer/Template.cs b/src/Routing/tools/Swaggatherer/Template.cs similarity index 100% rename from tools/Swaggatherer/Template.cs rename to src/Routing/tools/Swaggatherer/Template.cs diff --git a/version.props b/src/Routing/version.props similarity index 100% rename from version.props rename to src/Routing/version.props